kernel-debug-devel-4.18.0-485.el8 E>Eʸ  AOEȄEȈEȌEʤEʴd13TU]cM_xIXܭ${Dʃ8-`ZejjeK o9ĤaM݌ha0sH?=?Yc`Ͻ6tue]ጇF^=™O&n⢃ r0ÝaaO E5Mo+8|N[pIbք_7TG&[R0hUQ^3ZWR.?WKy2VdbH: n3^6|,Q=/Jp*ѡ/cjhmmMD^G;"؆W[䐝<1cp0#ctz/K0$g5r+=~g҃!%{Z4T2Kն.,fi)~ @zkZI1gЊM;1Ȃnz ~,$7RHn ^ڭكZxBN 8f0 SzF[jU5871fc30174d06c958f498a132f82435480e5b3c5cae530dc732ea420405377f6d623e6bf17858db4be6d1f9c47e2970732fb1580302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e643441132901c8ed58fde850b9c7f4b8b2138814fdf0a7e8b3005ea5bae45bc5f3661e78337d19fa42f90720a14e77a023100d7855c27dddc51aeac827f97796bd88d66e589e7f15eb406c41dd193c3651da275cd12eae718a3e8bd2260b1ba4a9c320302047c435bb50067306502301f286b1f4a0135fc695a8434d5b0ad7265639f4b683ff99ab25ec1b9a1fdec9ebc1900dc5213cf24b38e9c80819567b50231009f375710476a7443e8b7a37b5336e99d5275d8595c69eafb363ea9343bea6e21daa73eb3876d4c8e6a3d646271a8f7ed0302047c435bb50066306402302c77f0e0d2e393c92e586b731e25622d47f4a9aed62045874598cc13977cae2dfa3e0946170cd621be981593828c655b02305364654fc74e03db61d9897887539bcbdfa4641b8d660bebdb8485982a4a9963de87fe57ce5938b959ce029d7d3135980302047c435bb5006630640230155ac36756bc708362723a5ce5c79af622e04ba492140a8add6f13613439c50abeb3455d2facfd63dd73d50ca8b023b802305ea2c903541c095eea95792d7bf462bb9ce3804b70018b87391eb652074179835ba2674365574bfdc4ee2b49a6789d130302047c435bb500683066023100de8cb2129fc98da30859b45599d46b68f933060aaee66fa1003ef1fcd18a4723aa9da831db3410a4c37b7b3de2204521023100f17579e07343c7f53055cb1884ed1ae09148b93bfd7a3bbacad59e30a0b8f99529826a5e18efa53f4f1970e73e214f3e0302047c435bb50066306402300b28888f650081894925b1965bc8edc0636794833dfeb5775804be3db3fdec14f5fcf6e5f11f2c14e3f0c343783bc7c602304454b51804e063c1b47b64efc671acfe6476304c89d5638ca2ceab413a993afcae3d7e6c8dfa842d64ee493baab54fb20302047c435bb50066306402304328ee4d17779cb89d1f84f7abca668cebd33451a6877032291c0b58f63c169d6a33a6a505e1249c97fe7b3e7c284bc302304ec6c5b096024d161363c906488ffe8545a85e9f1f177b51a86d00529f7c6b51bf58b61bbb6a3c0b3a08cd226b51da7e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305c11fc1e224d3b60f1e025804bbea4f1c64540664c40024d5f6269bce9e5b7ff9206e4d45525ffe1c4910408b9ef198a02310095d98daba4cb07d1209bee89c066d4e619f66a73d814a279aa43e9bba55676b005fa6111c7a6e6442d8eb9bbb073a8060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ac147dd7ea5b53b33a7dff6ab170b16ef0a3172bc7cb20d315f07ba9529561f7f4f799cece1bb823bf86bf953a32c39102304a1d9fcf07048e4ec9ff97fc2c330d2cf6bf857db4bd469467acca81d75edd584c2eadac333b84c45f5c643007d16f3b0302047c435bb5006730650231009d8e1604219d41df1c91e7f1c98ef3aaa67f287f9f6a8bef3638d046b7b4c3c51fe61586fe08c06bf480b2d683ecb1a3023021856e3d4d6d71acabc8ca92b19f84acbf3718b18863e25f202be633503ec23111a544fbc6dfa8d9f01766ed8d7816240302047c435bb500683066023100aa8979aa95d264a101a1b03b64347b87245a83dc03cb6ef2a35bc98b388f60a1d3d4f85cd31d3a01101eddb488b10336023100f910e14fb38615fe16e5f86eb700b41ff762fdfa1cc935b964ee5ccafa1309cbbf30d9f21cea75d681b3a62cf318dd800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230448fe67e83ca70403a3ea9aaaed5e563a572ad5bcbae9075a62755eb455619a6a641e1ff2fe8a05c705afbd1d79933b9023014e3ea26ce171e4a3456d3d5148b7e85be648397979878dba9f85f5295c5599ba8eadb2563179d0c5ebfb35ef7a5ce310302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023079f1f120644f1b812a205a308e53e52224e4120810cc313ad46d51abf439ff0f39f3ac57ef198d765db882241b823aa9023100cfc417911af52425a810ae09ed32709a2a10f9f58fe5c7ce9768b1f28f71801ae4ca4106b8ee357718dcb0ce72e57b4b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310093c8d90dc09bab99d3556f2032920e53e7beb4ba6a818360685e6bc34b54cce93ac08dc3ae4e2eb3699d8c2874547056023100b5f8151a27fabedf54e6b03aaac89895e47ed474697c3b87efd39733f5de54e80bf3bfe02973ea81fceaa1625f12970c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310098757ce4f08f8fb87dffeec8474de2a6c3c719985869ec097daadf30b3111248a6b262abecdc0d7dc7b2287b7323f2d0023100b1711db7c316f8034b6979a8d2f7528131a64244a3a22c0d7c56d576050e0a853df68d90124ce9ed6afe17232c04a9c40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023043d34f5d71206f1df35d616e755d93891ead536ca1b6f66cd984a2661ee27cbda6f7bf53c1202a4f9e0f43e9da54c3a802307a94c925c69b04c1aa741ac94efb3790674e1ff1172cc251db68b7de05cd55ede9b6e73b0f1435270d7756c35296bb6a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008087912d6919134b28edc5f47c604abec2337c81c6caab8ced42a4862be44a7e415804856a133d34638f7dd900e15783023100c8961fa6abe97ece9420d245ece76b933446a1f1a8620d2426e0093fc8a3361dfe4e9e19d8ce1ec1d49a7e0a2e007fea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023077bf9a6ddc04ef377de939c66e090b2af27177c2b792b82e0a6a3b45114cd13fa689affd5a1c7484bc40b0e3c78f6f86023100828922d1cb03d8d02e9a13c985409191c63815e627c9029694740d00759699fa7e28007072470260de1a2ae89df95e6a0302047c435bb500673065023100dd4be78b8c53da89afb0e0a1cb0cb34cbe43a2e1160a51ee9a1821db8980353ec417f6027b82f9cc0cf933c5fadb62eb023011e895d1383a0a78b2951f40ba88b5e4c138069730076fddad1b41ed97aeb78b0b799db0dfb199b6564757152131071a0302047c435bb50066306402301290780aaae1fcdcc1450df235b32b35bd042577f7a2a83694be34ce0046c274f5a934fecebdc5cd334c4f5993bb046302307acd6413c2b50cd0682e0f7fbb6f8fd51cba1b3b717c51e4e52074c45248d3fa7ce3a66d0d3dd7ff31c57d5b541aa3700302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303161a2cf74493fa2d1d09832b1b74f36d34667cf289290477362346e9c39d7ee81e7dc215fd548d032b755676253618c023053d1ec7876df29b57a2d8e1de4f767c711f007464f5ce600fbec8c85cd89ac089135d948d2d69df8814dfb72cb2cac140302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ed24269a3ee74c28076915bf87910829b973b583845fb05f3dd1b500345073fa676a5beeb936cbcaec6e2e3e93eea79b023100bd197dd2d1e7f7f3570bfdfdd369537e4c53633df972f5085451732bd1408157ce21c6efcc365c6a21f382d796c6fee60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ab2109d590820a53a6e2ec77527ca640adae9891b726acca88f2c409212ab35b4decda7016e3c18d7222284e22cdb4c70231009d35c498d709b49bcad5d0ffad0e1916dd6fe6f924b1a2fea58b3a83155f0d79ded136afc957acb63670d7f19a4bb3ca0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc1cfa0fb45a4f661ac6173f78a7a88c2b02a9f4ecc4706f813486378642f67bc819ac7c76586625a4e47a67bde248fc02301bb5df5ae163091765d8286b550941612bdb6bd50109844be36eeb037e32e9df9471604148223cac692e6d3470d7ab700302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305015e8b8c7f2a3202c8862e166cd1bf53c43f0f417d8e24e0cb9d7c5b374f3b629a174ed7580fea411969413bfe7b3d3023079dfe20f046ddadb6970512a2dbaf26bfb5ab586c1c183fd77332923ebbb1948e43219c80b2d7be37f36bf694e45b1df0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dcd9172d02d8af7ce68143e9316f15f314b13cbcc6181c150301274fce6d3239c2375bf13897b190f6384b0c0e23939b02303ca1d47a3d7a8e81ba60e6ceaff637beef248b751903f5bf692555aa8b9664be5b0b297bce82f4540665bae6c04e6d750302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c2c9510c3afe4bec3dbbe1dd63ed593112321c3c82bd5b7ee6b64049921d11d2835a7533d2969182545b9860c59ed5890231008233b3e3f4189d83e45c37114d7f8e9c9cc59c4a215fbcb68125b81d47a042299eca12e473c2cbfaa5e9d1bb9ff812160302047c435bb50067306502310097b81d4b3ba5c0eaac84bd49d1d7706012b39c3f7383cd00fab764f00dab38571bab4959c578ad118eba75260a1cae8a023001c867523ce39b2f0b31967da1fbdff2cbe70263acb46190b7fe3187ba5732a2d9e03d2a8daafdf1bfb6067a1437a6be0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f22616ca811ce19dc72f8da55ad25f9a53568100a924544cc74c6ae13916e8a616774595d2f1dbf1f3e8deb1b87c0a52023100840be811200e961556abeec80d40b77d2987ccd95a11444e053da037fe15f4a369c02c0c71bba1e9ac0f7982342c72e90302047c435bb500683066023100cc5f70e1a07f64794831c679038b5ea72a18a19ee173ccf3360b9fe7d0a4eac6248d24974393e48084515dd6fe5004f0023100a62aa1646bad168137cb44236b13a27074736ef091d834aa28bc0875a042ba1e209dc36cda0ef2c950618e5b4c59754b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306cd46bf8e868fb5330496d152d8669ce70e67d673c34a87c68244465edd70f8950e7fcfcd35b34bcc76116692310d618023100c99d1d5394b130ffb02b511a431909d55bc1f6b53a112e6fbd5ac135898ab0e687803287b2decf23a7b59205a4d258140302047c435bb50067306502306acad3c50bb6c55d18ca9994261d7475b0524a136cbdb4415306d532c15ab3c94dcfdd40fb36b3042643747ecbdc0a5d023100d48ea2d9ba4c06b867c7e39eeae2629ca568d0f66e6221554ae38cb2cb115a6e6948db89e486bf92ed4165491da685270302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303a4d7cec53911feb5ab781d9e87370ed2d4bd854c9631bf38febecd7488d62c044952c374158a9e1767f882fde81b287023100981093f185f215bf94a5cafb8cf86f5289c0027da9399e58078c203e21c492c32d6db76079a66b0a18d15d81d8bb3ea60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310090a6096efd4454e228e07109704cfe18c86eb9b7f5869b53683aed516926a015ff74ae786ae6c86c94fa1e64f2b87a6f0231008611795421474028c7c866d45e43554cb4086c4a6bc0938bef2f071c316d5d5938615ac26c5aab9395ae0fa2594e565d0302047c435bb500673065023100bdcc769fabc36acd3c46bef0029a8d9a0978efa4f7a3fa2c6584080f33f33ee6e8a377387231d73f66047f7f6e07a7cd02307b8cc7745d0b335d9a6d9c24d827e2d18fa4e3876b85365e5f8e4866ded6f3d380afb6f22765fe57a79d90a6be1829410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023055f55382cd2dc7b0dbb75c9e7a745c25324e7087fc05372d802b874a7ff94f8e3b0e319326d08b8e1819808b9d09705402306bab89897e56848489578108eb95dd773b6df76146533f1b2b9c9430bfbde5f6c5801d051c1d56d776fc3ed9ba6502d20302047c435bb50068306602310098005cbca40e722af1f142a1a455cd97dd088aca72346b5a983f608a018dbbba611910b23d44c390ef68358deaf77bee023100fa3d2cb09e271e3b3d43ae4b6a08a890e44f542f30c489954cd51a096da5307fb675089c2f5dbd30fc2c71843dffa9290302047c435bb500673065023100dda15662946f17f323d6ad3d8927b4f7f52d20988d633a5aa109ae07b57ea6dcc9530086eba677bf66df1a2b11bc1239023007c211ff335d57f0ef14832003cd33d799b2e4c4073cf98e8e3193a49e42dd52683236988108255b20b575725a307e130302047c435bb500673065023100b4a4bc1b8b3cf81b601e0729aaebcb98bd72e4c3f24dc06350185c9d75786acc0970fc6e6df677d2ad90213eb6d163d302303bb16644ada9a67b74305ce564f41b6d64955a1d7848a777e53cfcff1f1aab677f7298e983be043c28eb35d26fead3350302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023032306a8213e7c260550be0e583ed5e861e3f4682b7f5993116f6b26f9304e4b1d4edbcb7a9a5d616881f02f0d9a3e94302305e506b451b55984533d7ecac1a704f90cdca78b17b6e0f3484ee6dc2ccd245b37833e11d393b2f250762cfeb8b00f2c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100abc479900a12c0628da6e0eead62a12577eee493a20ec7cef09eccf74e0bdd0fd88735db1062692301c94709b570fdeb02307966c20566065c34ccf6712f8289e76190bd9e1255d8304cf7bfad699f681469e2085ff57c71416631ca93322fa628440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c6f789b03afd86d9df624bd9239c638158155b9237c7eb5d39166262a6842a4c56646a9d8e03679f92fdce609347f2530230105bf187041f93c9b123d70147daf4edd26de67ef1fc30cfe3f9df59c5a61a992b08250879edc1e4e0bcdd68a82c6a7c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d099ccaaa30f1b8b861c1d809ac15b60c42c27ac07bb59a51e8f5e5b836f86eac05e8341b236f5406398474b086709a8023100fdb61bec2c53f96c446448dd5d242f60ea17335ecc9a772222f7bbb6d5b44f2f12b50de6ec6dff3bc30dbfedc256b9f70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a4ae7671a9fe4b14cab5b67e611bb8cf720b314465e446b19ed99db116b77f529b3cef2c30eb5049811106c0f7c42aec02310092b7dbd0e16376f93347a2b0222534305ece321c69c432802f091b8e96247acc525977f446eef178ce90cee7d608de990302047c435bb5006630640230295b60bfd0263e850eb788fa064bdeb85d4c7127b9d3043b33a6f23263778503a9f819252eb0bf0d93ac17449bfc1998023008239ec6fa929c57350d539942c2bce9a4a08e35e48676bf385b2dedd111f49237c13fd6fed02ad141dcd970f62c7c440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301941faef30538ff908e47d3f17a2415bb30e3b7242df8586eb1c99ff3f64513bbfb9a18408bb1bada3cd716162d7f4ab023100c4737b0affe0f2a5f9979693ec3421c6ae28a04b52909c3a1ed263edba6f02c10b2f6866fe12ecb705687a9c436ee0130302047c435bb500673065023051e06d09a9beaa2c32f3075aa8f21358acd50293126c8d10e72a8f6bd2f2ded4f78090529cb2418fd48c5420c8b4d585023100b38c11a92d26d5636d007d91b5baf48ff43201e47078ec9bc621cd8dc0442b393e3e1a22cd6c69499383caedf2f34f870302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c483fd444b78ee28576ef4c0bc2d9308b7d422f0572ad6deef62fbc8d00ae17870ff9761684a51e9d8b87f1fce250b49023100a3c093ae52d351ef3301c16e7674fa868d5fc75314020e7c7134a7de2bd03677799b79ffa8e2d6faf2b641444ed5d8dc0302047c435bb500683066023100c40619e2a8a63e04514f15461635bf669f913793b26b27ba713f4317c2052ebda49eb57e63f4aa004ee027190c8c33cc023100bab09511fe5f99d1d5cc7ae5441461bbda2ff9d00f6681dfd76e71260e6fc4f41d8f5b5da429d3b67c58b9e9df86ab1b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ab1a6f0d204946922808b8f7cbaec1c460e2bf8bdaefe7ff3b02df0d40c1d88ed72799e94147e022a256d859583b21ba023100de8dfa4e1212ca94235769f0874b85fd09784ba2d767bd0aa438c38aaad108c9539989ec0e12021802ef58d54717c35c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b7e6f415fc96ad4440d6f8ed7220288c2d448c3e9a8c2e8685db0ad49b033c31267fde46a709dab264df856fbcd7f4a9023100a8b2e2522c438a281556062f583982f08b13127e3282bfdc85171f5f7368e0536511019fe1579389cd5979571a9aa1620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100894036c700a0cb61f7690e677b25b8f0d3d539e0cae645b67fa0d4d67018516c4bd2f0b98134e23240a085139f683a25023100cad16605a8c13de6030c2dede066e6958f5e5674747d8248875fdea1aa8cf10f560f9434022f5693ab30d983b2626db10302047c435bb50066306402300919da061ae635d0ec77c71c5f79d97f6541386cbe9bc091ab11092294d985d9cf74badb094d5dba9bad136a5cd14d7a023018384f431f181249874183c2b27cbc6823b818e758701f55b5602b8db967d68c757c2e106468dfa4ba3049fb6b1469200302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304351cc25fc147dccfeadc454b7dd50162eb86f0caf3afe8003f6da7926a1218b68bea2af7596ea6bfdc30a13fda6453e023019d934507d26535ffeda6f269cd2669973e5e121b0ca933dd2afe48a7fbc2a115984889547b6a07f635423e6f208a57b0302047c435bb500673065023100a358e31e92ba7f5f85a936d95ddd73fdd0a2e0f8e3e6b8aa58e616296e3abd9a102576bf3c8581d168f64c41e47e1e1f02307aee23e56d510b607497fc0b230391dca75f6ecd52939eceea955eb6d2fbb9dd368771c70ab3a23d834676da80a793c80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eb582a4361a134effd6a1ed315034c4db634caf17104a8cc2f26c1ae40e22556c70434be491ebd5334a1dc1ad0598c8a02307917781cf6ed04842615aa919d6585c1f88037901c4bf1331cbf0768f81930103cfda9fa3e97284022b275d79b8292fb0302047c435bb5006830660231009cb9269b40f993cfba69d0be77eb7cd157493a7b17a5e4788d82902d6f3cec32b047420cc3861653ae9aa454f19b2416023100bb693ccbdef9cd7457006c358597885495ba96610a262687edc7e05ae3d32dfa1abc7e94563404f438dbc6bd79f6d3520302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302ddbbe13f57ed562a5fd22b26860e58fd894db314ae1f7ee752f2c09e7dfe8f5ae2756c82f5437d37a7aa42f8897faa7023016d8265341e6707f4cfa2b6e170f07f53d7a3b4ba3aca0600dae52cc0e4982839f5afde72de4664aa2a94d568207c2840302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303d419db9613ed473f07888c423acc5c20b5f7fb7a09e8b97f4924bed2cb40d1734855e80c97676d8822a0d98a58d50c5023100c2cdbeddd2fd47dd8a81356680e1e999ccd69c4d2bc882d0d78d4ca3fe07889ddba762e1a53c8d6ee9c3d341b11846300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303c43f153e218d50685c28972b73febaa265a0209e980e09673dfa37ae0f16484423551282bb9b17e733d7dc9b61e015302301e9169b950754175c2eff7caff828ec538b8370fcfa58af96fd207ed43d512ba1f42575300e4502f94d8e0d58414483b0302047c435bb500663064023000e07ecad5534dd7da4b40942b14ded3a4a3465a8dc951bcf3941c8599996bb53148f31efac3125abdaab993f49999e4023034d8491267e9525a8a7facf638bd1b96d708249f01b68e3b345835ede585cdf2e48996dd2e9c793536940889585897ad0302047c435bb500673065023100a2ebdb507f6d9e76072b0871f5168330a793f7e93a37c8c7c1b4b1ca4adedf43c921edb4feada6279603df096e2e3ab302303fa47cbe50b6d03b50bee6d44a93eaf1c3f6181016c72a63815f352918a64e2ec2e4af604dd8f15b19c30468281ee48e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e693c87b082ce6029c65e1de2b0095fcd9e8e8a5bb9f6da7acd382b7150c77e32b58636c10c82a00078e1277b1b9b26c02303738d5fbbe4dfaa6893b0340a09c60bd87758cf9f96c781e61fc752fccc09a1f19242ddbe7e224e9776b0a50554287090302047c435bb50067306502303489af2f2a86df4526f4a57987edf36263e031a6a1f179d3f279e485346182c7f897daf6897da76f57b29ec8f335a322023100896aa6e0b9733f07ba0733f3fd8b9b177f6d1c2b4eaab11b8b51063892ffe50605f972f21ad51a8e1eebe10cd7b2af780302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ab1b6aa6278b83dee84fd22148dc80e77d8b4f87cbd452df25e10ac57358a2e7408673507dd6b102dc5899f83cfc68f2023100a264950794b428e94fe35a0f0fe09cf38610a3188166327ad60a0d810c25e6bad073d8036ff4d1b482e41bbb31a01b940302047c435bb500673065023100eba89a85abf42892d2c30b2f6300c747d7b061bc54914075832a6231262edbcc6a2aeab1aaa03743d1c1d426a2c89d2802306fa69912205f27667377f582f7758395bfb5a568da994ccfa4829d1b14b7085c614836411e6450bff708c494118128890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eb7fa7b513f24c80d338892c83e57c98868815925726e10c05939c3b8068ab08edbef5130a92447439f2ef0a23d052a302307a454df916d8b218de4b8cff593410fcde0ef3479b1e214f5d1418f68ede2a30c1edebd5b83ae031c092af31423ef90c0302047c435bb500683066023100969f1f5a20cc910bf6694b07362032599da2a83995e4a6ffe90202f12bdb367499584c3c2e4297591adca8b984579c55023100ecde565eb3d4e1e1a54a44ecba9a12f9b95b2b17a1b8cb08f1cd6a0b35582756a93f1bbf8f959a66ee6524a5cd9600f00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100acd30711e2baec47aaee63e0d57f508f9e838b88f624f17f84bf3777f7caad79d3f22a31b280fcd3a33bf3cea10a6c750230713eefc337ad2e34063571f88f3ec775e116d6ca2a31b43006ee7a27c51cff4bcb4a1de31a6b562701a5936a875acd880302047c435bb50067306502307d82b98a8fed37f38b042f44764437d3e252c6b39638515c47ed652556d8dbe5f57d2c4ae42808f1468ee5a445e5a49a0231008d6697096131f08b5c4a62a0049cbefea45791c4c4354d8312ba3e68e69d671717e525141623215cf0feee1b63ac8f850302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b10bb117a5c754679dab9cd9f42bafb1a0e61a8b0ae63396b3b6636cb075b69dd40ead5d0302ef15e0fb9e3d280e19dd023100c4c1c0fc5cde10a1ace4de3a61006afc877f065ec90cbc7afe51b0fb1e44a118bf01600aca7404578cb808189b00f24a0302047c435bb500673065023100f14db8b233d575b0b67e962e3fd8bd032d88ff9b49b9f012a6d3731cc918a3300172b41578c1fc7192b6fbfc4c13729a02300c3c727b4ce3f3f2ff803d3e8837f796cc2932b17baf3ada3e893a0a19e159110b7f6ad34a40b31590f692557c1c6d2b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023012e46f6512854709d8aeb4588922bec67d0a179c4c9af43ccdf2c0b2502ab4b9a4c6b76d1128a9e22c3ea7afca3193970230348c089661120838ea80ec634f0b7356dcfe0cd80fa29d968cbad9363f8bed40ac43130684ce1cba3e5c95209696c4780302047c435bb50067306502304de50cb4accce6938dcc19b6111ba2daf4c498fc24959d593fbacc5d31cfb42533ab49e3044f272095dcf5a31a4eca00023100a5e7e9e7daa7746430b450a8d9101db9557ecafb3fc681c56d7655e3449407c9cb605a4d8a068babdbd21b019ba4a1190302047c435bb5006630640230767007c208e8307dc920e0a3154ff00d5be0c91ab4e8e225443607c7f77c0e5610bcbb05730d7d823b599ef13019dbfe02306d40f1cd8535d08843442b777058cb937b18967eef1afa3fe4f793088346b806f6b285e720c37ae93735d53cf512e2280302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230564cf0f70681884ce86f6047e6f999daaf5905e9895042a3186978a1c4c69a0eb10e426b1ff83728d8038f9143fa976e023100b698eb170602beb29b73b02d4f7edf6a90d9364bc57216db33d134275b27112cfe662802f5c6475896de84aa937430c30302047c435bb500673065023039cb8f1b8975baff3424a008ebfb2d89a0cbaddd423dd24d9363113409c96a20cf5fba6fb9c843a478c48ce842c02aaa023100f2c84c7655031c466ed0b4c2cfe126a4cb462b986be5667b2aaa1c0026859a4f1bf49ec5d3280a4c7d24a4c05d094ffb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023068329cbf6a4933c340c3e67c27da1ba99228b64c640e8108820cd5023c9901c3773a4deae6bae8607edfe751c6829042023100e3a5020a59faf5ed0873a5a040bab233e49997a467e598b043f7091b3aff3de5039cdb4825f2c3dd17505c4ae3eb20240302047c435bb5006730650230482f18d6960710c07b6df28d8d4f298aad3b9fc8e9bbcd094c8abcd396b5f653bfa3cd442398f6b7ebf597b4bfb8b8e0023100bd2a2b73a702f04e8459cb8b4fec276e8defcfcd97edb7b34f545c76c7d85ff34660a97ca631a3a1c9dbb57d5bd0b38b0302047c435bb500673065023100c19290f85cb4dcc003563827dbf5126fc9349f6ee78ed6212cf774e67a9f0ba5aaeb1c8d0831ce37300e63abb71ccbfe02306142cee2f7126e0bea9ca5475a4627c234ad9f6db1d3e36d6d60daa666c1e376398af9a1c50e6d93eb4b7b4dfdff6f7d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a6a45603dfab918a7f4904f1954e564f691d370b4834607c620f02441c051a137d51af234e8ed358b26fe74e88c81aee023100ac29b690dd43a57c6278e22f44c6fd24698607450d3d12e4b382c37995135418870e9dd20fcdae147521b346de9476490302047c435bb50067306502310095f8a365a2a2d16e97f8075c9c20e57ee3ad9b5c748c1df0d2001b6dc888af06866a59ab75ef1cc6af5bf3ebe14e669e02303e216af369564a0664a65a241f7885c7e5bd1342516a8955302c11f9e3edf6a1f92e9a67a322540a2d03700efa8cf1f00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d4d7779094e5a2421b5548ba271a0467dbd0b01b4d4753970b2bdf46699743128353e5b9b66f0b4fdf052847a72d1ee70230406021e5adc0d24d9d9b6d177bb8faaede812c5b5a982d4399639d5bde070e1efc612b88c71133d6bc1954d8294903fb0302047c435bb500673065023100a2ebdb507f6d9e76072b0871f5168330a793f7e93a37c8c7c1b4b1ca4adedf43c921edb4feada6279603df096e2e3ab302303fa47cbe50b6d03b50bee6d44a93eaf1c3f6181016c72a63815f352918a64e2ec2e4af604dd8f15b19c30468281ee48e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230576b2226b4dc2eab71bf5f3769802eda9d9ddc7ecc93acbcc6093e6acc6ae78aea2af2499db5b3568f5533a608763d0e023100a7e25b70ff1e991e7903ed0f58a48eb0d061721d3bb7e3e19822b0441f02308d0c3c03063fe17c658e2b32ba986dc3e40302047c435bb5006630640230077792ee647bbea92cf3ba54c6e5a5a9721f897b927dced4d98933053b342509a22681fbaa0ef5db6d96f20eae19bfb3023072ff46138b38baf2976e7dd6a5977e2167291cfc251155edb61f9db18c76b186ac0f9ebf880869077e8d0d71335312ce0302047c435bb5006830660231009aba842d9eea44de0c68466f7753f9c49b10767aebe9f49fd515645339697dabcb4992ebdd3f22374fd76f0b6e87f8ab0231008da589cb01ecf603e7b14ea4bba26ec7d0c4cc95abde0df6220082cc41dd2870e5d77a12650b5b5c5286b4d9f1e5fc2c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a30457d0fefb224710cdba69e4a8302954b78e3456072f6decc3b6190fb0a116068636accdde13180de7b5fc481000e7023100dfd09d94937bc1fb196671d85be7f3af20f8bfa183c7cf5ad2fe1541d71a8c6755e1b2a32847b4496d11001bb6133d950302047c435bb500673065023100e5726475150165586966e867b564abb7836af8f881ab6e4189aa9643ce7fc371a6c4ba10924bae8a232777624a84415002300e84de0453fb1cb068cfd7b9fbd873fe7e462b52f835e6f646a1513feb227deaa11bc110fd97bb28b5329ec9db3abd170302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c613a61205437f71438c27810c9c78c5ea7375aeb83d416b77bfa1c3adb482960f4d21ff0efc8ec77b3bb446999a71fa0231009ed22954fa15e64ba85a1f6e6aa9aeb77155cc681dd248b42f3909c21ee70208ea4698c30172926f1150be6d737ff3f60302047c435bb5006630640230300174cc8267d84275fef2a33900cdb73ca8269ade7dd0340d95af009cf37f1c42d07620980e35b366261040d8e6356a0230018a56fe083f44f68a1fd8a33c95e95294e6e3c36a5ec4ea72f40fc74624865bd4925713583efac1d5849f3f8ab7861b0302047c435bb5006830660231008f4a0b7bf2d4eeaa4b78a2db8616f803ccadfe513081587c69e5559039a9220dece0faef3c36211a44d8a070ed30c4ce023100b8aef02643ba48082a69971a504ae5a3919809495152d1ee00b9b6f8a25a684ae6f0fa1e4d888c3eec4cbcdf79281e0d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230509463b50e230ec5420ec22d3803157b75110c7535865672d7e0d22ecb7cbea928eae0560d4a916badb6b8df08275b31023019440fb52310fd9b36a8d8ce8084db0ddcd6ca446b888fac0e307872370a6d2a85b674bcfedec7bd54a39f8d3d5ddb3d0302047c435bb5006730650231009d0663ae4c59a4b801c234fc84e74a9cbd0c04b6102709bba1aeacc3192560825d1f98810ee5171583f9e6ab99d17310023045da77edeba289a51acc223c08af231b0d8958469cc3c4cdb74607cd214bf17638a4b1ae7c8e3db6f8b651ef62bbf8d10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023053faf631d4c331ca73b9668653785811d5225e9b4df2cd06af7ae0c0c4e033132fadad2149d282ca9fea856dcdb8d57802306108a3cda6f1c392543638352178afe8e375d05d8b884c204c702ea1342e0eef51a8cd54ca54011799e78011bcc303280302047c435bb50066306402304bae2805ca95570a8e2dc3ac5d92e8d871fc0002fa48e088f36959de67f6254a5ef778155fd2f857fed9f80e0643be8702306a08e5f6dadb60eb7a4afa20d495c0138bc0d501ef706c563c4047bbfefb323d3d2125d435e8e74f4124c064292167950302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304ed5068e7081895d07bd090d2f32445f0ab7b33197a04d8a002be8fea48d590888e29fd3db554ae28e4a52fc22172886023100c4e015c6ee5c45b1e990a3fa6b9c22168e0ee5aa2afd5b35de4d1d657b2865ab840cc198180458fbc991e8d2fcb318de0302047c435bb50066306402301e71d0c3c3c3dbce1269aab1665a1365fbadfca109a80c9fe3c5abb7c19ee0b97ad10c8ed1a029e211b0c2b609b73e25023036c91d6d4a96edededf49e670178809875903e80aa2039c6945bfc5093f9a04d7572e92c47dae96ee89bac113023fac20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b8a9e037d76710bea85f1dd485b43ffeb0854068e40cdd33ebb16e1f5517ca67d85ec3cf6b8577593711531bcd27bb71023100e85d08f2ed1f0c369dea91f389211766d2ff1c752a14efd19b607063b39def6b246d16ab2a7369cd84d88fb2a37bf5900302047c435bb500683066023100a1f666384ae9189e98a8ed471e576f975c1ad478203e3686bdd5625e409497d653460fa96ec38b8eb849fb9c5135d3a7023100ab9b06bcff10f4bca790742e2087aff0e385c482306592641df7d4584d627c909597fb969f18f37d3e536a44c80c0a9e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c2d5a2c6f426aae4d7d99232bd014079e91b7090f5a17e4d4ac1cbe6b5b8105fb6956ca75b0b2c845f48eaa041bd06c3023043c4c8ad9df2a82c243c20a8cdd0585d5d2330e2b3a1950a858388857f15602b50db72f11d7d6cfcca5b72c4fa7c4b9b0302047c435bb500663064023055f8a1a4ac9bb01fd7dcfac0db240ad54cc3d6c39eeae5ff3b15de35ac0c40cf90e3b017830cef3f927aa80cabc96eaf02302020bd752bebec12e8ab8173bc7adcd0b84340b0faded09137d2a0ad19dfc96efd325b72537c07f014bbb28f518cd7080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100939abfcf53c944cbb7e18434c46937db287a11277c86e1e2fe8b4bc5f2e06073ba5a28d064df3500e5989e572d06fb550231009c5267c3a030421b4dba469b1ac1d572d8d361f20466e8db67aacb2f75808df7e02abbc66d3b14d13ee95b4168cd007f0302047c435bb500683066023100d7c19352c41a10d06f7244dc9b2201144ae5af1f94c28d9db3414cd2f30422a4d50d201790d7d22f5554a6bbf497c752023100fd626fe50ce4fe5a311a32c5b032b50e1a2558adf54630c4d87f1bc87c9c8c82bafbc54f74484c43d6eb80f0f658d8b20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302b974ad4df2aa1c3cf2c10d11e06570ae4a4a7e6e57c4e94d313e7a0ff773000ceed98bf667658594e30cbb61ba1cf54023063668982edcb9315de1c651849136a6e05f134a52d2a5ee376578520669da144eda06d547982c779929d23e0f4bc4e820302047c435bb50067306502301d7d0ccb7b919ce47859d60eee0484ddba7295544f3c06db243828481fe8fc0cb49cf0fa0ad29891041812fbf0ba44f4023100b906abef25081de49d9add5ff8c5dcf810e4c3d356e35d8176a51467c016a4c5322cad93eb0729cf76bc2404b21fe1860302047c435bb50066306402303b471c9ad11f371f0d3ce0756987ec926e4122bf7c51775d7e2f356c675fa6db3f1e21c0468ddc7140b6a5349c4c472002307ce471a8fc032684e6e8ea29486b689f570aef23dab07f615912e4f6c36f21fe42fb2baedf3357c1d9f5e306133f3d040302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009290ac7d7f8835d933380cc6f9af44bdb0e2b6fcb1b1e21818f254b8a5b27461d7026fb538ddbf2028cac142ac433078023100a1d7ec1d67465d2c26eaa5e18a4c32c020f24d0d842054e3203341f0af17b4f55d5e5415c45c3e77c7f52986aeae2fdc0302047c435bb500673065023100fbf71f60021a59309206bedf820a94d52ff926f527ec901f5b5981352d0bdd68bb5e91b02783357724c1771ceaf492e7023070405708ff55d115affcfaf6628287b637339ca9596f9a71f6a3e06c3df80d4fd495b15d80f6edf4512fba788d5175660302047c435bb500673065023035de941fa2b3ec232ac4afcbf6bf05cc1dc626be1bcc6a707b5f9b0498c506f727fc702000909190efa8f3d8265ddb6c0231008d19c625174c5b09f6acaf204cc3a59f358f4cf57688be1d11c34dd6f0594d109203aa18e9f7bc82d9c8c02921ae963e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023008627e3d4223928c0b5d5ad9957edc0ae49e5ba0f5d87119509cdeb97c349a33f039e6a450e4b8d85a69badfa2b5641b023100ac5091d8e572747e4f2cdbbd5b0ddc8e2c9a46a7e4067bf33c4a531c984980af82731ef75869d5e92e554079b911f1c10302047c435bb50066306402300de7d23112f690d5728d58daf2a8325e4cc4c45d81d8de85632a521fb2169eda3fb5240844e775ad53edef33a250487b0230045fb0a33bab6a4d8ca8d57d5e60a76bde1d328c464a944948a67e95385c057112b887b25fa10b49eb98fc4eb88aeb110302047c435bb500673065023100c19290f85cb4dcc003563827dbf5126fc9349f6ee78ed6212cf774e67a9f0ba5aaeb1c8d0831ce37300e63abb71ccbfe02306142cee2f7126e0bea9ca5475a4627c234ad9f6db1d3e36d6d60daa666c1e376398af9a1c50e6d93eb4b7b4dfdff6f7d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230235f6b178bff76bb2f4859f9ea63d7ed0405323a021766867ce004043a0587e317ee2d48da86736769da826669c8ffde023100d5aa22a50c89d4fed437c56d4383e788eead9d62ab5e58692ca924749b0726085643f4e6eff1261e930aad65d082da6b0302047c435bb500683066023100af9b5afae39d2e53947b6253db054e27a3c80c00de54faaf6d518a64fc00f653dbc6908907f3a22a04887e6bbf34706a02310085ddc6de8af2d0980e52037a46c5aff839279c42c2928ea1642feaf7bd7cdf81c8128e17acc7a83759b2003589a608db0302047c435bb500673065023100d1fda6fd49ff337b71e0119040870ecf6dfce2fedbcc92a54a1217f80f71f77c3cbea4823441bff58b4898d9eb0f463c02302a6dba65d37c9d6a2b3abff9554f5bb7fd1843b2871a11b5a34143f19a2d62c93ea0c93fa7f5245de078672453ac16d50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303b0af45d4fbfce45e926eeef70929d2c03306420dea9de592b8c59619d5a530d279dbeb1510edd1015d00fdb6671b0c102301f2f3974cd4c8ebe2665853a58e43837b208726e699e4aaeca06419d53719e01c531b7242fbc353e47c050a1ec33d34f0302047c435bb50067306502310087cad2e6f7e26015d4d97a02236ee346d95164b396237246854068d4ee44004cfa3b0e2b0e40f28c0a62c81e4bcbd20f02307feb25c5ea953b78baedfcd2f8ccf374e232240b98bddf318868ad50f7cec47bd2ac0ef783c59eb9c992a0dd81850f0e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008e700de92c16f33bb4dbde60b86e5f98d32156d733af92a665ca934f476466af9b08bec23594185b3fd1cd8ae8605f6702306f5758174b76bed46cf0b6590738af87604198934e0111cb789a943597bd1bba590730b420b7c73b93ce2d1ea9cbafcd0302047c435bb500673065023100870ed71d9504a2a7ec18598369ac957c4ee20a0f2ad2d27985f0e30c6faa1975363b076eedafb08a31592bfed125fb8102300500a94e23a1c6a7962bb907d02d295e4fa068293ffdb63af7943da586f53b6d480fe2b375eb9142c422f6dfd822fdec0302047c435bb5006730650230509054f4ebe604aeed7405d30783fe55a5452814c78dd1b4e5baa5f60666649413e20e4a8e99650d23f9cfe4e30244010231008cfe115077728f256015e2d43bf7cbfbc8e4bf5f99c7795e2159632f400a7667631488b385b7de96530ffda4cb26d5970302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023026e7892984f3cf7e0644165b280b724f6e27fc6e1813330b552a4cb9829b9c369071bcfef5aa070b7343068cd6d9334e023100fbc420f2c334e798bf4a0d2ebf4a9d50e78869e17129cfb9abdfabcedeffa631780f60433dec4a3e6c41ec06d78bed4b0302047c435bb500673065023100a2ebdb507f6d9e76072b0871f5168330a793f7e93a37c8c7c1b4b1ca4adedf43c921edb4feada6279603df096e2e3ab302303fa47cbe50b6d03b50bee6d44a93eaf1c3f6181016c72a63815f352918a64e2ec2e4af604dd8f15b19c30468281ee48e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301540a5e40933aef2c5177ac902bafa487a7a2420e4bde0b0721876dc2fcf3d6d17fd46f74490b2b1deedfea458bf8a57023100cddd006a350fbf72ba386bd05851e70256e5da131b87a717738ff064d33229e9670c1e19eda7539a1203879cbcfa6b9f0302047c435bb500673065023100dc867de82ddc28ec140ee80fa93c84740db9fcb23650dbab531f58ae25ef1b3d0d5e6a7574ec6997b4f4ed41758d1ddd02307f0dfd62678832855816b6618de5160c9e19c4e8c985076122351b4fb992bb9808c40ae2b8cba30fc63c5357cfed97720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c59bd72eb5a45729d1b6716bcd2e68ecbd9db0270a0691faec2059100ee1f82f92ec28f466e48ff28be299b6207589b602302737521072b03bfc423c5832aa98188451034d37fcd215e4d19df5996de79ce45f3ad34c798528439b8f348f3d3e3ae60302047c435bb50066306402300088ff43dbfb45f8fee5e6c192aef8beef12361c4cb117b7412f3d0d57bea089e4ddb847189340527323a64d5d83c3c3023047030c51a19c435c44c901bbb44e6a1a6c03342ba12040652683ffdcc094a6c278b5c4b9be47cd88ce3b023e3fce1ef90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230656370bbaaf85b6e669fc5ceb9165447eca67ff08fc49232dc944eecef190b9a588bc415b05362250c068dc372bb8bd0023100c5e9bed771b2df1a0bd6bdff23bca3cc8248ffea56dc1cc940fc6a29eb9d17a19e25a91517204b1232554ab04c1eefe50302047c435bb50066306402301d9e4768572762c59c699fdcc04f698e9d08b33158e7366ee5d5c4ba130d6588c7ebb39c1498084ed7106cdf52e5235602307e1c31f2f2d36022bfed8b3392489bf9eaf3a7e9e4c2e7a5784b80161e9e4f887be36dbb001a8b87c6995f9c11a3ce7b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eee08c84cd5db310acbcf7f3ba7ea69a941a35b8acd8c490978a85f6d3ae4e978310e3018d74d6ce105ccc27df816d6b02304006ebb6d433d3cce94e2447493dd116d1009e54e68bb693e686f47ac2d90eadf8e22fd5ad38223ccb1b11979efdadfb0302047c435bb50066306402307b1aa6d5ceca833194d079f47c3b16be84b178d9b63122069b447c8c58b9d71d8f047a29327a1df6983fa323fb0543d302306ba892d1a6eb1a008316c2674e32078aa3993160ef07089395f26885818619ca4766b5b943974467a1940b25b89bb7970302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310097121241d289c94d9a68d9065022611f91d081904938014e66d03bc55ac512a959ce4d336834806c062b13d00e72c178023100a355bac88905e3fb4be6adfac02c784b377aac8bd6f4be0ccd8ed9a9a671f952e0d81621331605bf659d539928494be90302047c435bb500673065023100bf15bd81a17fe16b297d8213b656e66e20a938eeff0d777f284ab32e8e6977a8534ecb7e824cd3fb3cc2292211f1a31d0230360355a4e4ec32d5658595ae548f3affa0f4c7aed72921f092164981490a73afde88aec22499a5bfbca6066d7b2920310302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230215f7fe706fae67579fceebaeaee785539d9fa07c5d10f6afbe23f31cb21ae862f69b3834a47efa6a50701c0ebccfeca02305100d44fbe4cfa53cdbb29dc130dc8ee549887ab2893a622978ce1d91e62c0303e3bd2b9e463e0d5cb369af198c6f6540302047c435bb5006730650230187b8500a2635b45a2efc578b91be22684814f4973658a33d424bc74e2589c080d7045f50942be16cb153752dc9f39df023100f3c7e5eedd7c41c4720ed2821255afa0413581f056ab7d19cd274b6d9748b86ab80090cbc3dd91bfedd8067be3c41f190302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e6d83f952952a5daee8bdfe7c27107bb75a39838db3d1e23fbe23336e60ee9d93a503d99c99e6abd6a75575ee3fa1b1f023069d35d166b562756c8f8f6e643d6dc8e3b4fb554699c9835972c79b9b66316faaed4d42f004cc3bbd0fc41a4725fb49e0302047c435bb500683066023100c78a9e9d8fe9506dd9698dcb9c4772b1dc73d6cc370b739d445239f46c62a165de605a58af4e9d52210a5b85745fafd9023100f3d702a98295b8f5615adcb06130cd517646a01f0b3fd8c2875c7e0d1b48a682e7567e267d22c4f3dc537387eaa5f3530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304062c515af08414dd07fcbfe8a43050183ad0026bf1d7b91eebf3057fd361f73eca470bdbb5b9e127f3304b7d91816eb02300c623d86141d6d92761ee9f991c16d9f8ea30a78657f817e5115bd909950e6abb80e74c75cdc60939ab5c1ae325ca8e20302047c435bb500673065023100aa09cd53225df92155d257acd2f73319ad07c98a04da29f0e096d79d3e2aab3d6bea81bd506308d6e58576cc37a166dc02305752e5e20138262bb0c0e6cf61f0a30e0241ee71caa1bd5ac5b8d83e896ee540651c8a3445eeea7df66515a59aa94c1d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301774cabc7acc6de559b9ab3beb949404bb539cf8636cad65a89c44c46c3c3e9053279ab03707d615e8c357a32d438b7202305d7cd0f6e7edba3ba256c2cb9019906e2db4c1eee0235ca0f394c4b9253b15e0ce977b5ba62153c832fe3486319628c90302047c435bb500673065023100bda1aadacc2393780fa0ee6a1ecc4b47cc9455906d4357b48a65ebb20395a7cad03a98fba6e0d34b175e77c9f4242a4802304ff2b58a894afe0472b12d2b4dd4492369899e6a46d7dc61451cb957539710ebe956865344265579882558884c82763e0302047c435bb500673065023049f622d74a11b160921ff3dbfb06f190d1e575db331d978c05cd23f7a872fed7d69406e264b0de3986b511fd9f034b1d023100b848dea2299a7f9b1c027be373682cdb9b906384f2653ff786ac3496d18fff80504bd97ef3e9af485c2c1f837232d4cc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dfc2980a2a912f6768e37472718de35992e23c650c9390ba448863136f335493674f01c6479e2e4c1191b8030424c5ed0230726aad68ead011b3222bb6be0fd31bd842b42c10b3dbca79a32529fb2b912480f03844c773001f6cf13ee54c446d4e3d0302047c435bb500673065023100b9847e228ed6885e05c17a183e7fa639f65abcada5702c5e7ef78f07248388f38caf3f3d9ebb1ca94c30ad753885114a02304a8289f472570e8bcf6bda1be4df046be2a93990be08ab5186fb15027f211fa1527ab51c7165f6c551c264388cff10410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023010f38fa2f97a9265c4b4caf99c2c9eb3684a9f358c22a45cc76520b8c7e75de2a51f5588f6a6e2bd379483d42011c5cc02304112b59367c72ed232f218efd7caca973dffd04fd29309fd623b8eb09a9dc7a47e1915d08b3d2d948f5edb205b7c9a970302047c435bb500683066023100942375a5a56d9c9c3abb3c257a31bab0507b08ec395cfa7603ab11b1828f163f01cf57693355ae323074ef71cedfe1d90231009ca9455acf2413ce885966b5037527ad4182a09c92a72e92cd49f40916d3bd1156c2eabdbc1411fb0100dca30a0890a20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023005979e27351f93d751873e732066aab8f7ebe3230d5c61979b2c613b47480d6b45b6a1f2ba30e8cf554f4fed4d7501a8023100e35a2cdf372b4f483bd73e45660900bd510e755e00ef8af43790ab2731b3f27b1c1104db99f1c912adaabfd18888aceb0302047c435bb500673065023100c788516232df7281dff8babaf9ed3fae1e6a434628208b374dfd3edb83ba120d32fb21f84d6351e9dbd3daeda89c5e690230263f26912e1420b7e8fed2d02ab760000db636cb020c52c33b0a5a19c122feab4b2a361d55cbc8f0768c6adbb208d8f70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023025d7e32ba1b36fd421b87f505a6fbaf3f5c82a9703a12b6c76fbd46253f61eb724bf9cb809737d043c11c905303b0f840230561974e2a5f9fb190f54363b4a97616b239f0b5908ac4cc83b64a02277f49186fa372cfdb681b8402ef8f179f31438320302047c435bb50067306502302747ac719968baa671865c796c3b7b7807e1fb05d7a9257ac6a92abd7550421392e5d39b167fbe26221d12c166ce1c42023100d9aedac36f519b1949ce39c5635e841d36a3e578eebb1a21e8689da1ad0aedc5fc7a7ec18264a524b51a4dc3ad6e7db90302047c435bb5006830660231009bcfa8aca023a69bab08d0038b811bfb2c0c6022daedfdd43fc8d888e6ca7ee696759095368501741fcce4948ea97325023100fa16ee93115aaaa3e5732ebf50e7eeabafe1f763786b7b89deb58e8867d1984d650fdffcbd23faa140d1a03075ae41800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230793ebf528816e43f77b936f60660ea406c39c597b3f97d7b3ac9ee25c41451b2eaacbfa642b00706232335b7a5a6a0c202306ef86872545ee338028705b7c9fa128b48e758c913ee486db2ec712ab1e0721272927d5a2db32e3d38aaedbe7c6c4ebf0302047c435bb500673065023017a1c5353bd97e21bc15c412548792cfa2fade92308b52a7d663126fcbac7572f9051f33d3bf3fa615938fd1335680d6023100b631f90ead19035d5ef0de3a667d4c17917dee0197cb8195f6df8f40eaa69f73b0827baf22fdd12dc874b82f7acc69c40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306feadb763c11d02114ec2ba53e29bcea0f70ea176019b5cd10c2c54834390f5e5c9448e85947ae1fb11604fe17e33b91023100cdb412c43281c33a27bbbd2ea22e762c44b293c2784c69ee531b3215837b0e59b32e59f9a8d450b4696c1a9c32a8731f0302047c435bb500673065023100b44be585b72d7c84a7da2243c3a4a1227d5a390ad03a268dcb34662a5b42b41e215a06009a8acfc3d82b9fc1a9576c8e0230196bd6429aff8fa23deccab04b754a71877657f2f7747296091e6ab9bbc35866d3309a16a400cd2b3589d6ef69f33a6f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b994525f9cf32812dffe40f602bf78657e27888faae543dabca96ec48dbb20d2b924f3bc2b27371dfef7340182f6d6a20230269bd36fdb01cabb8bb025bfa582367547ebc770a97a4a32493fcc3220e30e6d495bdbce9927eaed77e7c5c0c80378140302047c435bb50067306502307572b370d0c5cdafc03f642abd7786c3397b4b7d6d4c8e1cb8ee792acfa6c257fc90b4f364402e648e451a0e1279348d023100c9472189a6563ed32277bcdc4c37612b8305b13dd533b0a23538ecb59baf213e5cc01dd9331a7e2f654bbf0245be900b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f5a6baf0f35d00d94504c89c455d86ca59528207b790e68f277447b225c952d02cabf7ac17df98d13523e02fc09c10da023100d0db9c90391c2df15d4ecdc4fafaf6bcc07ca0dfa39172ffc8bc87404ed397c0c61819fb08ab4de2bdb790a840e1d6460302047c435bb500673065023100f2dbbcb97fa37364c67559a0e2613e6e6a1eab3ad4bbeb0ffc5540bf5c340b59b185d26187be005b33375c8140035b0202307753665af0f38b5bed47d8800e197c5ca402e19b821670e692346c5744e8aab1891bc44c282e406f19e0239b73ba53740302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304732ec6e89df07d3970a0e644c5b11e720b5bebe5f5af9fcf3c54e62ebc3bcdd969776acf436f69af52bf29a049298e1023100b02d95b1cc4023bec2cd78b015766b51904ab970a29715fbc90cdceb35f0c46ff67df6b1be17bebae26687df4cfc522e0302047c435bb5006730650230523ad5023d935925f54e68e58251e79a47f0b9534b80f9e65581a80243237ba62bf2a6c4ff82a04acf95f81e5c27fb1a02310090a3823fd96bb08a4f348f000925cf7691870db453b1dc773ade746b9d35eb36b8e3331bbf72c1e2d28d66d54a8eea7c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304c14dcf412d8a390e692f64a554c93ce33c614ff43e1a16b0191deba10bf18099dba2d63c30359d5eca435565cd5d83c023100d435a0224404e54dda9f76a539c04979e6373b402cae880e9bb0c6f80f82840a651306321bbc33f616697bb4f184b20f0302047c435bb500673065023040dd1f977f902f453cbfe167577e7cad6e1c39fd7d6e0e2e0f33bb6bba945bf48ec7802143157138f0b865fd5ed1d658023100d71c5e7674c7cb34c920535bd54fc31843f6b6492ea5a04f37ae07974c81412cbc4c724df823cc8853d72f07c794da0c0302047c435bb50067306502307ee8ac009a1b229776a48901fb468efa8b6524a7d5d868a9a3f7a35ade70bd242d3b36236ac5cf3e14eed21485db2566023100ad00367b2cf9f229085152457fbfcb28ba14b636c6dbbeaea1053c1a9903445f1ae7eb6b7c219b0bb78eea9824d4ab150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023011c919e926f99ac3030a656fb92e2265b1d03830d2a566a40af8f808d469012d8283930de3d9bb9033a611afc93183fd02310096edf464d7e7cc35e6e6157080a51780231be5bf04b228fcd9e0e672dc8ee69d3aa842e86857b8a36a8782f502a163350302047c435bb50067306502302d192b154de31391049bc8807442dc7501c4428727f243303725f7a4a1e4e9aa0293b69b635a955cb8731740d9117691023100e50deb8f0fb26bc1a40f5e4f62103735c48581d924c55d8a1fb54b2ad3c13338f771ec8a004a829dc0bb502657aa51500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304a9fc97a55012d0f6baf2c0e0986b172f31c5761dfa2eba3ddc46fcde3d5611d45082eb72bbc20ccf584bd7bb5b010330230275affeaa84fd1c78a53020c796c0b3e52f6587366950c568c7a99f5e4a6f5a58b34b39036ad9e9195c48c15ac8605330302047c435bb500673065023100d7e8c0215425475340aed21063e1087469d5a089956d36170c24163226f62cbd954db02e75db676f9c3c5d0f8bb94d1902300a51e4530beccdce08de3356980ef746ac04e38c1e9fefa67f31512454fc030c246a261b707d5dc88f1717d4f5fee2910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d27d3bf9284543dcff2146e587fabf13010f7916563b989aa0c2761d79b729954beb422c71c0c0aff8362f7efc5165cb02303d0efa3acb9a884621fa80473dfabf71b3cae7523152cb8643f2f78a6484e95f0ccc9062107df4d35256c6a16b1f54270302047c435bb500673065023070f92d2d91e0b28c6d8aaca9464fa6973e00dfb6e47a31ee15c02483405b745833029840f0e82095190f145587445f8f023100e34fb37905101b404122cf2a8377ce74138c906be8a8c406dfdcd919536a574fcb9363b2c58889178a2278af8a57069d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dc099e67320b8f440c739424a5cc25fc8e0610a65e3852f3885f069641e0acacd661cb0d331c5dc5c9f5faea0410e6e002302ad198eae39eb25d038fd2a4bd29bffe61f983855bef965605486fd3791f1affecc62de0fb783055d6a00117c230bd680302047c435bb500673065023100ed79d51a837ade1d01570979e74b00c1c2fd58604819aa373e02a32d634e776b4a33d10d94b03c9d3fc0809c3a232b0602304f0447413657a9df1bf1a157ce3d534a9d8f7b4af8290eafa3a670214d41184f872b0a26e95155ca632af1e93512101f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ee8fae8f3a1c4b19a56ac020f6e8b7eb057f666a30d856f6f47bb8968042f58b45a2a8a91c8b1cd8d7fc07ea631b03e5023100b523e870ab2d5f6f33cbe2fc9439e89010dcceeef192d30f0d7eb09725b0ad89748ad0715e00089c151a53db943fe0700302047c435bb500673065023100b16c46373f50fea27d5d97e1a4bea8daa5e9edb7072793c2f655805b29cee95ac007ba946580f6c7a39fc44cf8347c4a02306cec62b7b337689dd09f6a9abbebf135c7dd03f77291cc5a5d613a202b37510a332e0e13f76d3ba2a1e3d935cd0b8c970302047c435bb500683066023100fdfd74ced25c7fd07bbd4545758df641a01820e6b16573b8fdb91a8bb6e598d17598f7cbca1cd3697b942a258643be7d023100dbbb797c380c6332ccbe24abf622ff6b66cb8620dc5c881e0dba5e39116c452431d3fc4cf0d46fc2d5ea63e8b5ed1d490302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cb651a58576514280882ed94b050868ac7ada0556d9f7d37985deb66c3329319a4ef37a2c8518fedd7dbb6209a12745b02301e81c0cdf5d8ac71d1d513716b19ed3be4dcd74e1c5cecee0a48b46faa52d1077ebbaa45c037bf488ed5a2ce51f8424c0302047c435bb500673065023100fe8782c577ae8f3848a516b0021182f08b0d74c4b921a331d03a4ee1220b36f6e55a6099adbf0523e2cafd9f0df37b31023073afea377b01b62e373624929d8f9372eddd38c0c74da2e4a0dda16304c46962fd008a42b08ab5d31151c2f60e6396920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008a009e77194245c75a2c571ab0eec662d620cf2befefe4f07c271934421cea35dbcb941f0b0c84846d3b97baf6f220f70231008dc9572b74e91bbe9810a977fdf40c74417f0e7a254172eca2aed90e3dc41e567f40154b15f0cc47a0a64a974c9682740302047c435bb50068306602310088df45b9693a0934ca9a3eef5ac590597241c8dd621b6204b98a5f24fa334d0303c9157bfc70cd8b41916e9efc641acc023100d4ac1d7a44ef6a66bc0df9d972fd00629e7c5f9916a9d75ffc86c5c9d703918339a62927e624eaf89b1590037eebc6010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e7cafe1bcd144fe01406fecc4c96b3c2fbb50e8f20380d48314bac5c2ecbec1bca76d9bc306dd7da1467c7de2f2f859702303db250fd0dbbc866a024806e3e8f09a69b73fc698371f22fb4cb8ebd3125dcbe6a0ea30deecf5cbb2244b5572830d9070302047c435bb500683066023100a3b8b19b0af432ceae4efc7140655a45e85f48a208626d5354048721b168dfbe8ba2f2bce8967a9c108ff3112ece61d502310099e0baf81f4d24042ab5f4da9a7ba5e2af5cf43a2241d055a673b69f9bd6c3e8be9698a2352fbdf00362e744401430670302047c435bb500683066023100e7f8a376b3b0ffcb337429dbbaad1e4f80011b38676376abebd088690ef4a4e9ff1d7c818fd16bca4000876c354435fb023100a8295d74578b58f6471b5aa72a61f9198be8d71e99c4756e813c3b84fa0899b7efdc334020091b272236938e5549a1850302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023013e47df486a76a8af4d38f8e492937ccd633b1234a6253c060ce013b3ea61ba79677d1f1c1177bd06518bac9be321414023023ef336884387a0e8c94455ac343e666064f71a7e485f427fb140866d3fcdf81b5fad28a78bf25ac6272a81b157e35800302047c435bb500683066023100f9b10145909850cc41470a29cc8ab7e58e0df557262a0a7d585248a62f791b53e2a403e2bd323fa4f2795e40bf197a43023100ea99f3d5224416ff1089f8666e7161f504243f0f9f58fb6931800c1e34ccb6e37de2defd8885744f87216c6a3a8d2ae90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023059b046826a2947d73d7bd29292466fee204beba8eb5bd299760f3a43f8c0edc06a3b136e5d7312d6d706b0d6b8e44b48023100efea4534a826a9e8bd9411506b907378ffd63cdf66082fa8d1084b4f900b993bac6c3afedcf691127db8f23551004c010302047c435bb500663064023054ed8539b515bfe1db5f8c22cdaca223001415cad8918b2bd33d4626a7fb0f03ee9fb05e2fd1157e096e9954a9ba97f30230602ca97007def72fd54a31f2f3f1f5df1cccbe25b4f025799ab804cb6bfa13bd1864d6db66a0008cb8c8f06e679146c50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bd824e4da63ca98c0d4b2deeddbd848d54437967c04326b4d3ea393c92608be54ab82fa6200b1e9c55db95ad305d1e44023100c7374ba9751792dfc5cc1fd5a952c2dafdcb91ac8e78e88feaeb0ffb55497a034dad50b94c72d9b2a4c8f52d2f2caac40302047c435bb50067306502310088da8d761ea79b1a8e812574c93c6c7eed46d451701816d7479d51ae7d4438d43c75fc9f0d318222a67927aea777568902305e020915bcf1ed8fcbae3f08874020c7197a8ed1d961c0d08c4efcfb78162f2f5d62dc0bd25ab2717fa6b8f6928194610302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bfeb287a1d90ba164638554261d4f93295e1f3e98d67a8f475630f71427f75b6582b37aed47e13d67a373b2736b4f6790230202eed8d8fea2b1224530ec2b10dce78cfb107d4411f1a4d56afe21f60463a602e7f2b102b2f62e52ad82966557b1b5c0302047c435bb500683066023100ca2a7617a0d424ea7b6b9240fbee93a64a306d76bd1042dab1397c38e85aade1ecdbbf9deb142b2535266382ae59778c023100ba35e07f09b57f2eb8b161eaa3b860bb8d9587f178e7815c7d61318ae283d97638a2c7b7f5d7980e24c6554fe0ce7ed80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d53c71d7f71574b7ad0752a397dee1eee80123efc838be80857b9aa4c89f43db46d422f577fd9b1140f4d57ea9cdc721023065a6d5aa150c03112c8b30a2a8415b21e727f2ba49f3f654099c3f35a00903704f93ea67d218ccdfeb9d5af10c2fe1c40302047c435bb500673065023026e7892984f3cf7e0644165b280b724f6e27fc6e1813330b552a4cb9829b9c369071bcfef5aa070b7343068cd6d9334e023100fbc420f2c334e798bf4a0d2ebf4a9d50e78869e17129cfb9abdfabcedeffa631780f60433dec4a3e6c41ec06d78bed4b0302047c435bb500673065023100a2ebdb507f6d9e76072b0871f5168330a793f7e93a37c8c7c1b4b1ca4adedf43c921edb4feada6279603df096e2e3ab302303fa47cbe50b6d03b50bee6d44a93eaf1c3f6181016c72a63815f352918a64e2ec2e4af604dd8f15b19c30468281ee48e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023049a8451be03c1bc49bfebd11c535b3dc72e2e1542fb85c85da4a01de85e55ab29762c0298483356303436ab123fa54fd023100941a1ef69671b4355d848abc7a14e2e3d1868a686725486e45a33a6054a9f848cfb718157a0015dba478a8c741434e5b0302047c435bb500683066023100ec70bfaa168af5bb47af0b322460b46e53820ebaef99f28f46fbec9c7304b21f36b3367ba621db5f3a044fee322ad6d9023100827794b673945ca976a9534bb45cf1fb6f366fbcb9bc4344982fd4fd44a87cc26e11ff3b8351b701d3848697e919f2f30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230054d71ad0fa4021fe53f275293eb21f467e4719b4cb307a9fbab496add1265c8b76d7dffa31a51d392c48ed0ac3174da023029e86567d83b70b9501add5c4f3a136f60348b9e4ee9a2e0f23a75721aaa875d176dc63ebf29dff6ee149f246e813e680302047c435bb500673065023100c409b2b643c5399e35bea82559fba61f4f7b24599fe33ee36d3002093422966c25aa90545f610ba42ef574d56466c71e0230132ffd693552be9badfa42aaf737f5e0e22ab556c4550d749a7439450c4a603d8fbc93b6b54e529e54a4d9e654f384830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dd1ff817f58e683ebcd25fce2d05ad6b4d824e5132ae9f14459423175f5ee25e3099090e2b150a1d7679ad485989f4f60231008b16a6bb28a874df490ad0a293ce0faeba7cd20dd9aba4a6b2b22bccca4bb5daafc79ac0831eb096c55dd04dec1dfa760302047c435bb50067306502301d7d4021ae5c0c90fbaeb6effa5da53f9cd5cb1bc13dbaf5c3ef465dbcb253015f63c4eb996faee0f8398dd8d62b70de02310090881f7d02eca3eef165edadeba5c0907d08bccdd5a4974e2181e67ce65c014115ca9bb94ff6e565a9346b43ef791d9a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023066f049a1f993a10acf0cd5a22b6d6e2a3131e85d92e51dea9ac9d60642613f6f2e7b0c6ac9a374c8e15c16cfdc7ff2f402305ec31e49bb2641d1b958fadfeef0852913a5da27f490e76966ce1a2e1084a2173e993c9659a740fa69a3692199fb02c30302047c435bb500673065023100e8fa3e6bc4b5d52f78d5b89bc6eabf3cb8a0ef7015d359f910e73fae8f4221ffdca6c0f2c897c77d5b14cec1566d76ba02302d90ff81c0b66a59a01a206ba3a135a16243f700fe104a3fb719d4d28b31db89a8313e334004632a91dbfff5e3eb2ebb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ec7289a2a0d83d4c51b7f7b343cfb6dd6ba98a4595e23c43e95171f7f66b753a8696d7e26d8a2948dc39965ad3fceed902304e009cf5d310ee3f9b4337f6be67da459200f6b100fa24212c16d2760881f32a623c9cba1f539e7f216a3794925c24310302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008215029776e04e0245ec32157b4a90adfc69fd616d199937757d65f320852e1249ca49050301d6d35803dc68379eed7002307289bc9d3496016365bad0f4906cad7cd1849eaf18809ff7f9782a095b0f5a414bae8ae9dd982914602b38a5021c210b0302047c435bb50066306402307144e6ac8bc984f7d1be46648824606292edbdbda13dd5060679fa3054acb3de71475d9a873cfeb22775bbf5eab20d18023000ffa39aaf6fe24f95be4cf71bc91e4fc863672cc705a4365b9f51943ddd9c51b4e51a411884cf10770d0fa6b7eb95220302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023061c9f57e8bb3855a1a95883715f4d94ce11a74ba9eebe7e75aed11c19550c55cb23a8d3675203df88d944860d1d6dc650231008669091d702db0cf36b511a00740d6747dea1686d96ca88102acd93533a6ee91fff8d942f9c33e3add9581c75c559f9a0302047c435bb500673065023100c9ba0a097bbd1e32471ec7ea60023889d931773086d6b635a6f16b5b82d04d4e19dabfe3c063e3e59dd1af06bb1e0635023048f408c128f755ba2cde58c10d21d9eb8760926fa0bbe806c4266dac4ecb6b086043bcd66e3447a3da7e9017d1191f880302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023100978b678cfc183a9e830d1d8438ce9438e08250284a10739f86b1244380d3b7df77d0ceb4870ecc544e439baf7a94fcba022f50dad1708949bbe9c799a45f0429825eae8b9eddb9fbb7f50bceec9a23cb5bd303c277b85217b4d751a36f691575b70302047c435bb5006730650230499b790929fe81dce1166f6e696e4181fcd1a78daa34848d63b11b5d90cefa324acc08f27d52efda0922931c9ddeb02a023100ebe9515469462e89c6029c8de0fef34786616b63ff2bbce44b8a017b9304deeefc9338ca32cb472a8ceec7e6093429cd0302047c435bb500673065023100a2ebdb507f6d9e76072b0871f5168330a793f7e93a37c8c7c1b4b1ca4adedf43c921edb4feada6279603df096e2e3ab302303fa47cbe50b6d03b50bee6d44a93eaf1c3f6181016c72a63815f352918a64e2ec2e4af604dd8f15b19c30468281ee48e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301b740aaca9bf78cce40bd11c0acd51462b3fee03bec046969a01ab145f7c8449924d73ca10da5f37c4489decf79d3d59023100e406197291459e3b7436e55e39254a8ca4c08c4865948ab963c0f7060a656910e05d72e5b404766416f5f14bc11220340302047c435bb50067306502305e82b006eb105fcbbc06a2844c6986da0f92703324b0a28e31a68a57abf4c4ae87a9ed9a74c5d77be84b1375374567f1023100c6263f330aa7978237df39a59000cdf155b3915611163fb81771bea1e46a92a1c145e46bec8151f4e92d758787fa72f00302047c435bb500683066023100b439aae16ab3adeff13511f279ee8f495cd59682967ca7401fb6fd806512097a7f91b86b21c0a053f5a7bb344b85e5ff023100c4ddafb7f653809d139741df15e0aa185a65a1482d2377cd508990e3786c008971962b6196282b99fb829c8c680847070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009c6c4e365784a5a60df24a206bfde99e3326b45220ab02ed4079abbdb4d09f424219ebe99d8a7cfee3b99744a3438b5b02310097b669764ff68e9f66f89a67ee2778188eb7c8032098c7c59936ab7125709cae7efa1cdd0cb45d59673b4fccf12c8f5b0302047c435bb500663064023012d265265a9798a1350011404dabe99c39047724e2e9f0416a4e7695c9e4637c4d1c034512197653e2111e301a3911ff02301b1eb5f10dd161f77baa7a7dcc306b7c1e3f3a6113b445e77258dff117c3b55469aa64b0c3090163aad8d80be062ec2a0302047c435bb500683066023100bf3256cd050df7ee703d20bedd8a7bbba88d2af2da7b916858bcbe69a117c87e56d8a5f50506576b8efe8f71ac63dcf7023100cc9e25c34d1918672665d674c35d00d0ace03315cd2ff892a531044ff825d24bfde1b3fa35c626556d5acf49c6658bfa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230497339d61dbda813ee616a29ffd7492ec021ccc516118051cf3628e3b0cd597f860807d2a5df28b5ee18c22308de9051023035ca44ab5c94f925e21267bb3557a595b99681783fa6bd9265ca48b9453fa61c217f11390b7139820c868e74edd4bbfb0302047c435bb500683066023100c6b9888403ff90bf68f6e20651381e4947eedb6c5f018eb6f42969e97687dd53119c2fe7d676f1777720f12f77cead88023100d1f54b3ef9084133ff8cbafefda2218790b2003c2eb60b611c6b824bd798796d614681d865e8e65c1bac39dedd174a7a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d3b99e9736c62c8159c3a365d74b24346860b0c4283f6e9bda50d4ebfae7a1d6a320d46482633ee8865ac37cf6ee345a023100fdad4598411aa940f504026bd2d57f0e1d753d84d860ea9d6235f26f70cac1d1552168b06f3855ff9d98e28b8e1b4b750302047c435bb50066306402301ba51fbf84f90ba37d1f201f3128a797d67bb2e0b7f36afa46af248ffce0a5482b348debd5efca8fcdfd969f384c94910230474a50fab5744cc1750d853b8744803541567bfbc0eebce40e0c2e47dee6e826857fa5b8abdd9281a1ebad014a4e32080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307b345b6cc747c8e96ffe0bea5b3fbaea1d05e1da7e22feca1b90518daa73209d224a4192ba438b585930541964d72081023100de1e2e477017ee544e12c796650aad8a2db9bc062a629bf742ea222654203c0569505f724c8585d20b9aec8c12e4e49f0302047c435bb50067306502302b4fb9423bce86db031142a22e5d3c18545c3b9e3a9e3d40d00a27efbdb109fe9547ac95be95344ed28331c5ee6f2cfd023100d6805a18ad755ed637e6c5e0ca413aafd1877075385324ed8b68647429d10179a30f3642ed7451b6b46f51a4118fe7850302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023031496ff52ead5bd52720237264a6c2a31481f051e3c53194a3d2dcb3a0b6be74db3aaff368e2fa0e1e75dc80790707b30230308222a78c85b7d4a0e1296c6e87ab777020634d54c2d7c84ad79a6090b393886b184714e6bfb4bfc29934bd5155b2650302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ff074312a1588678545b62435b7dd13960e033a5bbac02a3fd6837c3c723db28aa1188ef66a3ddcece38b002e879c09c02310085ccf3c1bc4200a4f57b1c0d2fde3468c697e11f86dd2cee43683876747bf80c81e214cbc57a0909ea7701872993249d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023040cfa218a5a4f3862b10a7c55930e37eb781ad59b864449fd45dc9928e95ddc3401fc76bf20bc8988f33ff1f87cd260902307866e8388e7d72941d55470dfac9e273e8e280cb791305b18ca457054a42828ba37ad6b716c33633fe9c25adcb6aa6a10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230294754d954b798ca765f49646e9498e3709259a2649cebfae24158f0af5ba195f17d5c7310af2a748c5df37202f918bc02306bc9b1f6fc90a228f268b9f6f622d4eb7eb024ecf8f907a7b920082bfccc47bb6d6dc6dd0d6713eb30eea8a5218a1d480302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dd6942b4706f2e9300f8d0ccc69c9a78f815b3326728f897275feeeb20ffb43254c2dd83227a499a11a64144746b0837023100d856338d292819498a81c907ac8b2d0712ad70df7cd0eb870c201d67f9331dbabba970d4ab7cf7123939edd143390ea90302047c435bb500683066023100c6b0ac50d587d26a2e905d7ef4ab559b018ad951ec2a3ac751ec32f2253b74a863051023fdb3cfbf2946822f80078f25023100e8bd23e56ff5c93cfca28b9a4434f7ade031d2e16bf1ba016c86a4194b51735296d864334e0bf5baa77e4ae09fd7c9120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e17bea9d554cd09e2ea1690dcdec76f8e738b4cc5e544d51b3a424c21e66c9b868fb75152f2ab9d359341c107b63902d02304cc613456d8a66d1e5d670f548b5db396d3c9e319dfc0c6719aca6272005d8d04d9e0ec2a149973c751861b1a02f56bf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304b952357da8603298c95aa9cebb14be5c27f81fc63152e18e448036cadc85662d5567e7a37ee576b777ae1e3f9b24c86023100e1e36e09d67e0fb5a1a7371d77fb6ee6e4a6f491ac6d8246e9593ace48f8bf360f726f05d56e81e0b33988fccfef03bb0302047c435bb500683066023100baa7f7ddf08977133995a1cb30d88ab93f04675a289bab97fcfa9f71a2b81bf138745554421a5940a5e133d19bf1fefe023100f2dc6292523dfe8bc0ab878d70bc54d1a47d3ed6a5d246d40aa90c81dea02e5530a9c629eb72ac215bac702033a477060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306175de30b8b3463aed07d4badeb70c05b1f4beb8d6303a16b5a9b166c86f3b5112b706c924556abb9e1c7b50a250169802303523918cd85bfde71c5104824c9decbcecfdd28d86df00d672aa46cf667741e927f0fb555c8615e9c01d36b4456af0980302047c435bb50067306502305366f053e37436044d9ddb568b902a3f2dc3138fd793d253ca3d9ca857af6dd0d6ce7785633c495c6782c526aa66d3ca023100f3b39543ce427107b5fd674807e9284ad7e3403508c37438424754d22d57c6bd929b94b89a9312a31087637f0757ff7d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fed56f90700be9a9128ca3d4313a9b8d21c6f54093c0566dc8277a81bd7d65d4e03a13116655233455231a067dd3417a023037544e49d780df3493133060dac154db47fb0c16ac021ca9b190739c7ba69e95b5beff2eb603395f9a420ce2888b13b20302047c435bb50067306502300e4b0f4c561ccb6f6b614232f190475edb07fe6f9ac660ee8ff7c347eb393e6b0d8a7c8edf7ab003e3c94f5a09293295023100fb904850a79e204bf612f2f9f384a8f75980fe48fcbff5a5f4c088bae768f42a84da242f81b4fafdc521688bf59711170302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305dc5fc9dd16e646966424f11da9aa39c3e7e023ddfd80883c2b500d48f48c9b551c627c404ba75677e5450e28e4565390231009b2241dc4d93134d9d4310957a10601dd9a4049f9f6160f174fb51258819d5c751b63df0a12cfdf8d81c69ef347357610302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023031215914a9b6c4f74fb89f7d1763223beaf028b92c985001ec2e5ec1bdf2a1039afcd4082bbbc62a53ac6bb36c2c3eea02305d8dc84d5fa801bd0c8bbd1c5a24284f691414787f5ca122bf2d63c5b60e294c5dfdd277da6aeb1c00746d51f7b8f8800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a4b9e9e0dafa9842549e60041b28d8179e55f07c12b8c7a0df14ec91610cdfdee0bb20d328b4978e8447ae8a4f98e7ff023030358647d5ff5f4a8949a4bbe51cda4a3ff94ad8825322ff4610793a8155367a3b5a424057675c56b86de870693e1bc40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023071dd546613a34f417be71ecaf71b51559f7abdc39ac079cdfd8e525ed9c776348b67ed216935faf816f38c505254057c023100f85a6286b8be0592a5ad6fb1e89021b44e550898a6bcc6ff70dc59e4ca17cef46285103d0bad808b16131ca7734f8db60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008870221c7bf4309ac0c03e37eea27580664634e7ef0e036905890a06cfa40cf761174aabd963e68e8a975ef37de2c62b02301645f5ceb2be232f20614d6442ae2acb3d253b0698cfae894b5c091803b1b31d41fc28a26349d4bed8f4cd0ba4d5f18b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307cf1c653c4451c97df51f626e3980e3af3f98d60d41fa6f5bdd28c5beafd3b48b1691a05aa2d9ac48eb657e7559192ed02301452f5481b6149a3ca7ba3a73f2efa158dd72d430ede4edbb7888cb234324d96e8906db3ee2245ca9bea736eb11340cf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b821e310dfd661fb7409261de8233e105bb243491aa84c4d52536d589d51840e57e815a07d473c64aa2c863ef9f123830231009ae50cf505f1d482ee2ae0818e14df599f59c230a0bdc784b112a05913ddbc5f3d1fa6933b3eb65776a03f43d60a59f90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c3911acd312ba7ff138b5b940287d14994e8f0c4531366c1cfedc549b845d83452e299f5f20ae1ee1e5b46b443e847da02310094fd879a18726b65bddcfe20cea8d25b13c1f34f19d8759b0ce19edbbd8eb11d9b8df55063aa8d4658a9bc998bce036c0302047c435bb500673065023100c15f5d6af76190fec0a450451e1c0eb8c076cf8cb434c45070e9f9c566ff23424ecc6294a6eebbdfae608ae24ad9d87302302901d123c7ebd2d10382e2eacda73c9e18885dad97add6c101654d427845a60461f43b78853745331718e597d81100a30302047c435bb50066306402303b50d1010a0ef4bbd60efa7542175747b713d77dd66ce67ec01ce9db73e3e3773ca6657d1a03e17020cc524ca4f5a4ef023036aa865af95777b781f89ff8f84ead6809513f09bd0ad6d62fcc374ce421e462563e61ca6d4a39054293239c17679be30302047c435bb500683066023100ce42965b9b2431abbc2f0907797c365ba8e7b7b1790917d471608dab2d4efcf1aed63a82d91b99527bd40abda1ec0b960231008121271e78eb55a4bbe88a74839d15006ba8a1a32865b30afbfc22667f64adb210a920cd49cf9ce96bfa15bda40fb8510302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023027637f0a4ca0383270e82f4de67630d1e62edd4553de39534673bbb4d4172a6b3c3a739f9f44cb7f8ee01891f6a812ba023100cad761bfb002c88c9b276733af60b32c67385e161b6a7ea6559f9dde417945b3afff601b6f0147c12c47654cb35e1aec0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008b88e82d199e160c953b7d30f7f0ca814c71bd33d69aaff62304ac1725c9ebccac330088a53cb9b7a755f41e4a6ffb71023044eb869160d760cd90fcd7b84c9023a0c199efc29a0eba8faa4e980a02c56f640bf6ae175482049384cdf85befcbedba0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009a543b06c364f59e81d635543cf7a6e385feb56cad3220460bae55ad7cd8538581e98270088ffdefc1fa10b8bb3cb557023048544b5d47febe86c7c39024d123594cf2f892a6088e0e7f3ca8c3de665dfe94afa98bb5b7b36026dd44c04c15b94ff80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d995cb66f3e526b07bcf0d9f2a824142289026e4148c588b9fec0d16c48b38dbc80b84061ccf3cd749c0c787e0ca37c50231008eeddaf8082c6a6deb0c7e323fe6e0ae1f307571f2fe437deb726d71e42b94ee45cb60b38e692fa353b0fadcc3a679850302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023076da12b1adbaa69cf1655109e7d49cc4e9139a3005dac8d7a4623eaf2e6f6d3cabb143a3252996815b12cc877fc8ad4002301625a73570f05cfcd08d01bfd0bd5096247b47c63bc3564cef65e356dfe5d9b9f70b8be1ccbeb78f6db3ca0498aef97c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b6baa976ecd65c4c5e256caa6ef08edc0385eb9df7525c48618c274b21723bb4a66d6e36fce1d80bea175ed36cd2008702307e3139555a9cb9def5e7992ded159114e87d5ed8e95816181e9ca8b6fba133d41af6fa52bc5630061abe8adbaa3e27ed0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b0050fb70a49f75b0f23c4f84d73680d0ffbca0f57310eaf2a2767ccf32b3103f434f16f15322793a88b6740ebfb090702300b3d8d80ce523c0f293e4534cc6999d3200e630d9fecd31ad3f3c833d32cdc07d57ddda252b28db12b84bc61e5ae2f5e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fda93f2cb88d934cfabab1e3a1703c2c6426c2f4347f30091f1dd4bef9cf75e24ce92593bfa62fb2a4b589d0053ecde5023058ac31233ab6d0a34e60b138e06f9e52adf3bbd8670d40839e37f371ee5a7cf431cc5c826437e4322d6cb19bb56650a80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100db129289cdc79505db165b04065371497de3a1a11fa21e8d50bcdab5c399eee618e96b3b201b86de5f57d6cb2683770e02301adaa735d6da2a409c1a3fba5b60bd6074cbb4b77eeff21f9c88e1eaba5db1fcffa990dc8ad62481e66166089cf8c5840302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023002c9303c324b636d60ceef1563f9a7dd4ff84bb9942cd9ceffd8f61fa5ffb65ee61193db7bc42776246bcffb90a47a8d02306bfac9f63acabb7b777d55d714474d5bfaeb0d83ff0f71404e0d19b4788ee4a37894e891d57aff92ac630346bf3568f90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300847a30bc79ba0341d4b94bdcf8117d02d9f9015a951ecdd839b54f9481d10aaacb9c8b087bb942a2643463b2632043502310081461c062a2fc2321c1673029630ab13835a44f0100feec7e18d35065c1e1dd13dd8bbf03ed5d968641376a0c6df16e40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d845139c6b85c98b8d3bb9a7dd6756c69dc2dc41c8b22399fb6823260b677417dc86b12efa08ae675b6694a2114ae65c02303307198f7f883a1dfa6c8cfcc88eb0ab87115500aa00e0071a81d9416560b91d24a2b74fdbf447da1925b240646edd350302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300ba74a072d7e73ab0d283f17ff6b61e0e726077351ee4532c2635550ca7c6b0b8a7e028c6f0427ab4c6b8b8b61fe3f86023100fb3182b8160b8c6403a48fc40aca508ae2f9a743f0fc1e68866caa130754a72ca51669854b3ea879bbf09314457bbe8d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100da24f88ea865e8a7c72b22b6bb2f252f47891334db8e2cf8068f99724f150ff6d8213570a96c701240dd1a2593f0dc7002307d940c6e1c0be12dde9cce919c8ae1ee3fa568159144ed6cfbdfbc81062e832a3afd5b852eaf1d8e9df82f99832b69640302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ade9810c201e18bc3bfd384c9c3dfc640838bd5e953a054385ac586537624bd79955bfa4b0b9c50a79be7006fe6c8d9102306f47e9c09e2ed22878c1ac4d28abc06663148de198770cbaf8c932a0ac347fbf6d1468fc7a141170068de31e829bfd450302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100804ea5d378c473fe66ab0fcffb341ad8b8137daa5d4524c841c5049d86be6ed93daaf6ccb728887eb51fe245638ae9ae023100beec9041f3d691f0c4a31e508cc2efd1390f628eb63271fa957e6315fcd24a5b27b3b1b8a38a0db376bdaba23a1ad6d40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a25d2527fd07c8e90245362a9e26a965aa4001c03c384467b2c1250986d97d4045f0fb74e124be52d4a14aace1129d8a02300f40e6ea69916d5c7e284de1df8f81292751c9a4bdf9ac1b3e6ed235de685de73d463b16f8e2e798d102ff6690f2a9f20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e6dc98a4a8a746d3bdc5c2e9deb28d75a8dd633971db54a02e4cad88237812b822a6d7c9e856b4377f0e43e41347448402307782dd8e9d4aa224c2568de13990e6f7d3304e79820565d7c5fd5e329ade238a82b570939fc22a72c6186fd24adcb4a00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100baa6a52fa7e3a953edfaeea221a011d91e34ff92165772d4f03489d759bce62063a07acb482c46e0d42805f81dfc0eee023100b8d3e2ce1aa2ef0b94c78b701e3a6b25b4df0e29428b6f83e8f21ef56381e6663dbd633eed064bc9e0e318c51caffcd60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100daa0bbf50ce75cee479284441331d38fc894e2a4c1d68c2df60c100dfe463314a9c5534b56f5ebb34fc7828f8067615d0231008fb19cf82c26df56a01123068eeeae22e7def2da092b7b056ed075d6d13e1476d3c47ccca0c781b841ea7d44e76ec6310302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230447e567d25fe333ae6466ba5273b97bde466aa26d8b5c967c3e3b456beadc70048921b78ab37bceb24414efdc821fba3023100b1d0f1b2c35a83abd6940b9d19babf4bc84557f84531035b43fe50fa801ba49fa23c2a4060f05edbaf46b3bfa505cdc20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008250421e10be61c1048cd9aab1b664b07ae29a51dda017e81a774ed4f288e5b346e161dcd4c8c0d605f15b13ee0780ee02301e43ce3b2cb63a2507c7e222bf2a043dec9d4c8009fcbefd590320638ecee86aa453e30cedb3f3efee20c7f9a4c6313e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a79a370c9348f93434a9a93c0cf2649cabf37e6cd6801733635b84cc619146a048efffb008880fda26a3a2b883fc2dd302310085f3fe2fa35464f222a2854cc94400b62d16f2f4b1e97897134ef68a2cea8126d09020f23d187a68fe9a16d4d30c764a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230399f48b0c7ecbba82039d61b418ee96de3c70b38e52147fd9abf20a924a1d52ccfc88d9fc32165f1a454ce2f0508a70b023100a60fa752cfa157c1861e84f504bc57167808714a42e353b14f5383ac03323c99013d4cbfde843ae32a16838a5f735fe50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230228ebe3abe697cab9d140a9623f280194125c0f289b3bfb95d568acebcfad804f0e87584aa5c14a3db7d8c464e602e4a0230513881dc0a4031936f90bbe4df2b078d5f92b14290939f89a1edd45b8701e416228d4cc60ff7ba3429c74236ace8c95d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bb791e675fe87927f67540560daa77825db217b5a3d92fa900ea79f37ef1393088ddea5d964318437e11b53a1129074d02305869f851667d79e6281283b7f5b37ae632c7cdc6b1ac6351d093f9e9ab9ab09dc95baa606fff51349ffbf697405f57cf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300591f90905dc7688beb42492b5f90a76b9ceab31e4923b40bf5838df058785b68c1ce6e534a2ef3e5c6813d293f79dce02305ebb069d672000b6713cf4c9db0c861e69e8a5e62f1e934a61cadd06bbd35a12a80639b31e36abe7cc95429f0e774d050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302a3f6036d3efdb9da5434611943990d0bb114a4223a5c9b1e7e913866066f6ca1eae678bf704cbf910f48ce9bf553f1b023100bf7553c226aec0b14499cdb9b31364763c54847548025b70ccdf1d4f9c5fb7421596a92613ae60cc77b7b87426b049190302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fa7a3b0ef02489e2a3b734d5a521acb2af9cd41e3e0512206b2816066a5beefa9e80649977c1dd7b1163d9a0c5880bf3023100cb45a69cf506c0ece6f3b67814577d54bd1bcd2c29514b70369285256408b5192849f6d8b44fe55679b16d76a97339920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023074b0d2ef59a5715f453b9d4609247f2b58782b1ba22c9f59799e2d7d4b924453a558316eeab5ffede7e54e6d2d7e800902310091a154d339acfb9722b9262b814f9485150771d62d9c7e39b6616ba54c6ebfde47d93f2f420e6adb6cd7d66e9a44419c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fda2720354bcc813257114a929df47860c057ad4b3d7a68453e35009e98db6d72999ddae1846854159700f2ea11f3d1102307bcecbc88324662ae3070c2068c2aa15de00345971f96111004b241543c19d695f1e933948eb85e6c8177c835bd9dfbe0302047c435bb5006730650230572318ba9bdf3b4e6bbcac1e2705fb4a48a3451b377e7db30329d810637f1991927b553cf04a6503da16d857aed7791d02310084ff8be4ee27e202d780d4b3099e7bf67bd4bcca91917745835bd66f1d54fa9a3b5db33e2691e6e8ec61d80840704f910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302cf607c5a7bcae2965233f7aeb08169be8dce58f46b1927d63946ef0345f83b90198136e40519b3c1f0587821a490df80231008a76cbd897bbfcca42c5810947fed62ae4cace91b2e6e84ab008fbd5b76b38f8b276aa7252810bdf0dc4b9dfcc2b65df0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bb052287a460e6d4f6b45b59ed88981f417522a3c30d4cf1b16319bb95f6c4eccb5cd80bb15f3b4c89b5bbad3d0a2277023100a8b68fabd162c514a22ace0b09abc5dcfe5002693efbb1377cdd9a51b6fb03bab03a264e70946e4caaff4280cddb2f800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230349bce4246c87ca869accbbe3928276e7f38a2614936358182da9eca0e841e9cf323b47a3d283365ce633b919d8ec7de02303c1c7a5962dea2d0f75e0d8cb0b5630378028d709ecc5f372bc6ee3d68f6424dae06d6f556734d7545df1efe365767560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301e205e7dc6e69f676de2e3104f96a75f7ba6b5b3c7a6db61eb4563e5a0cbb6c00cb61e5777ad6c41ae3b157631100522023100cecff3779e57c8c97f659d7f5793c024461a7571cf10604a1bc1375de5020347dddd009f16572f21f0aa9901f737d7810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310085671aa228dc88420d5f4b41d86e964641f1dc5052655fea6da78cdbb402397499115f1a17f7da50b83c84b8d729c8960231009e627ea02d9c48187fd0272c11655878efb125d2fd24c285b80f4b5c62eb250ba27e7f234c1da0c4c89411f857b477c50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009f8cdb19aa095cd21996e53ad49d39c35a69575b73248b8862dc5feab86a6a7fe7d69fd86cf8be3b9141a67a1230f4dd023073af7870700a96a85bdca7102a60bf37f5d695cf615c14725e54010e755fcf0f4510a543934bfda3ecce947e553157d50302047c435bb5006730650230718a910830d201341502d06cb43021acf373e5a35418a010505271b30fdaf3629b91bdeb6964e384307448408d0cf815023100e0f7bccccb88c858b22d28ebfa8feb673c001d0e7bdc8dae2d1e397393c6fa3b70d7e7ced32773edb54a53f51fe1eac50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d3cb9254a3989f24a2509b71bdc9b0b9d11f85fb8f75186b54094a58b500aec983c69259bd863d862affc96a929f4904023100f6b7508c8d2a55c456295e3d4bda38577aa010172d1de7a3351b96bd7edc86dba3c04618651783a88fe46e7a1fa8e4260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230183074732e883e9efa6c38a9fc43b2fe2fb13e9e5408c50adcdd563a3f8b5e7af94feef91e14decdd55738d000cbfef0023002e5d4260c1c6761840c33b821edd98f03ca8348400c1683a39062dbf68cc1b29e5ed124eb5737cdf1292126090e52540302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230424464e2916b88e50f84d771c05a89745b84cf395ec0677162ef87f5fd02edb317c6a326c06d286726f7d73f1066cab70231008db15c01aadc3f51063427ed154a81094ef116ae713b1d771659247e4aeeb99fd0621d268b62f8e439802a918326bb5d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f6449ade9fc7355206cae670f1414c383c4047b75d835ccbd986bda100d434f96efe85cf5f4798312d9270a420c84c66023100853d496ea9b2f128d8792044f962be384d13468b65f63722eed15798b0807178c794e6d08802a800bdff14f1c756a8fe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009ec8b64865c8db3118de35188e1de5f06acac058371bd69baf5864c3a80edb5aeae3929b181c6d238ed6c80c15ffea43023100f744f0d20ac5741a0c78b524cf881394d913f150edb86c42c9920ea4109aeb1bed0cd363089037d88d2888a77d5f50e30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303aa0ea1699c58c14defd3bace6cf1eb8b45e59b565a5d97562ebb924441dbee45d47b2d4973266139e6be52790baf1eb023042a952b8875bf3294a9f5d3ef0336d3e0c23544b68aaa3f022f997989826aa4bc2e17ed57a2400bed6605674e687e4000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023076524b2b2faaa3dea38fa3a03d3a426769ccdc23b79d02a6750548914578842a0e34f7e91a082f80a6a46bb5be92ced1023100b29fb9e48f0070763a1ee68bcef8550298f93ba0497f4db56a62b38b57e1d7f886d6003410d0323800242bd17ea5d1280302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fc343dcff832d31c210d0824e984fa7507afc60e927ed2570be6e7213d584225caedc823037eba92c6d7ab4f072f80b102301e6fa251c051c160ea8b9bb3bdf3861073409d2f60e678ce3951c008e6efc398c56342c9c1a62c8f3d06e07860e6edf80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023061737f75c6efe2957b8580b99faa9c5dfc7b6beb1b81ec3762dddf41461c864846135047f71a06c3b2beade7fceb077b023100ecd566bb01b27e1b9109af60fd393f10cc504d26d63d287898858f26a6bbd670c22e2bd10cc4842f671b530fa8783df50302047c435bb500673065023100c38ebcb8f6c2b5febfd09773da2aca075762eaf88a2e02863680a30938193855c50645a8246b8f6ef8cc07521204b5a902302b442b2095e2c23b2b86c4706bbcc5e03d60aac4a485bdc99649eb3fd70f9e113d865691d4576d251089138dc9b5db160302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f28d52d7a8e14f9e1ee54bc045b7b5ea320c117c1b2a3bd21edf7101ac5d55133982295ac4a8de8b50779c74913b7129023100c80c8b36617f7ca047e57c748345e1fd8cb791bb88c93ea64c9f28611a518f17e1c54d5c9dfb1f4efe3c137778be91620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300ff5b571351909c65c497fee6bbfd3ca8e4630cbf082495d4fdfe1ca4d288cfb3613ddcdb86386819e13e300498e2d17023100dc814b8b75d355bb97e8426f34e4a1017546791aa7c9335cbe66df30a77366e43492fd896a4b165038cddcf7a982b9150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dcad5fd5b1ea02ddd2e880f30e66be11ecef128282cddab3dd68db86089ce848a3708bee16607d12922a2fd856d356f40230756a2adaa510cc33f92f5c191d52c4b9400485bb7f43badac8f7839441aefc0724585f0c10349bdfc584febb21f0208d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f57b18760dd1ff58cced15b4944595cceaee44a74afd461f87095eb995845fb33a95b1aea0736963b0802d44f4e5d8d4023032f93faf9fd097b6a829c4d55ac6c5d290019a9d4b90b75cb4f90bab886942e635be3be5a88c306697a35ae7c87508dc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f7772b94aae74d3cd34e112f2fd568738ee25d075623933ad8aa5dff644c922969c00dd443f0b4dfbbae564106630d0d023100f98911e15ec5d8bb57214758c6fa74d7c6c97abbb4f1475a03bd7471097f0a8db9e07419b880072885ba40e618394d940302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ac63fd0830353942bffd51fe8a9febcc6267811ad9b9c586f12934684f634db59dd061d552c4754c5f648374d2da4a240230348c958a339a968eecdd2f6617eb8d57e9a57bf2286e2eb9a6bd584be71c29eb8bef76af2c013e84f1d5ddb63b9c47a40302047c435bb500663064022f51b63bed048b341625f8467cf04d7ce0f4c4ccf419681ac81d44e9914b724c25ea73e604d3f04233b04bc449c7e17602310087c94f71cdc709ac14b0b3845ff269e390bb473a97c2739b5dd7f8d605828df94427e6321647272b40d39d7f6ec0b2270302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307490ba449b53c8dddfbe03750d45e6267732b7e54102dbef64b5b6806ff1d9d4c5dcd18b026be15da1d69974e318f6e4023100bf736e6e9e88f483cfdebbecfecbe7efee5631cb6b6b33d3b220a7a6473f38447467e3bf09a475b95a8e3aa2f735427b0302047c435bb500663064023064703e1bee1913cb5efbb589c677f37296a3df0c7aab4240fa52e923e6914ea818cd1836e6c5ad097a923ad8f28088470230764fe46c66a15a2366e7f5830ba4ec8234a9c1bfe8fbd913e2ff207e8ffb110a91fa9bd360776ba03e7c277a967d8c510302047c435bb500673065023100c68c3fc2d416c8c3c93fe832556356138ae9c50e9b7ead54a813eac4a2a31fede7abd2430a356c4337286f2954b840a802306d1f8e95fa208e143f8bf53df7eb564933743a39ba87505283d3330e086fd82bf9925065fb7dc15b00bbc9f33761fd5b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009c23b781086762aa756b9e40b5e54251e8ab8baafa17af15f76c71d7c00a8a0cc28050222a4cd77a5c3b52e1ced7679802306afc74f5f84a6a0026041e175e94d076349aa5c0831fbebf3cdda6e1d75f3dccfd4a574831d4832e34323bb7f48a905b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009e64500c1741bdc33be1a33d295d1abaedcb6f257e853fed52fcc19859e03050246dfef9fcbd2c91bb4c9c17d1b54431023100c75b337fd567b7db22a936c48c206ea57cad9619728e710517a5c1824de8663da0cf05ea287f2cc1ac37aff93b9769520302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cdb4bd93f10ed4975a6e62a330db2cb07db0f30e8e8e93d03927e1654e0618513b84d204c0212683faa0f3b517d4d6d102302b3bd42e57929938eba5b1ccfc775f2bf39692744f588c42e51be9c49a0eb5b8059b0f38267f62a6599dcfeb63023c410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310096426d9ce484f550be46e86586ed9877aa55b8dc52eb1507677ccfe78d447df63ae05f3af1fe4c00ac70772cfa925f95023100b2f0eed6365862c8613444654582e3147812f3ec693483beb940ac83f75a72805d3fd9e765ec31786abcc869c0b6532f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304707c641066030b319b41ac8f61e46ea61b989f2097fea44339f8ac38060dbac9b5e07146624c8dae557458448bc8b210231008c2e111b310a4f70341838ffdecf0c5822f4ce9e902e9ab3f59f6781b902b9b5196872dc9e3e90390b34f0fce9a203a50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100991f5bd527d007bf44e97a14f5c28e5ff1d85e7659505c083b910f0f203bae95310bbf5d90254793600d47489404cda802306052c7e127269917d304e9b3dc54d16fb369c5052ae213dbf25702a55cfa2076d68cea2e6da2e4db8183d7be09aa1d200302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d37ad1f7dfac52a133ddb41a71cfc82d741d34c1371f407d98332db66984b5c6330af5be980d961d45871d07e2f662080230367b1ce6303dfed211c095cbeefdbe5ae67a699584a1eec87894276bd5fc60e4ad1f31b9469f02f21a9989b5d0acaeeb0302047c435bb500673065023100f20de9954a99244538e9bf3a1e230921c24c115a9a26c8e20786d71d6420542546291ae4c1470bbfc2129193823c0bcd02301711947dfa5ab81dd9452f10c97a04a18c8d0e8217da9ca3e133b568b87efa6c9105c7fbf51ac5247e47df2ea28b84ee0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023076e1e0bf2e2dad380501a4806bd546f80ed153dc049e3f94f70e7203512074e37caedf35f7fa32f0413c41aec6602e04023100c454340b3f8253bbb8e38bcefe6a862c05276ac728a170c4bc13ff061e2b98bba9049486998a491ac13d5d555faa89f00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305c1c2b508408e615d2af1011fc629835bd36d70c5a51f67142599cc3670f75e14b7a2d5ed08e7e2c8cc0f50ff3ccd2dd023100c7263f1f52c63eacfbcfe0af45bdbdf2f383f671052a4f16842931269cba1a9ff227ba0b46aab02d3d78b943a818e7ab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009353c2ae0560db7e864234cd5e78ade4f8542709792561f7efc83a01a5d2bc7afa5244bf40b464c3d15d501cb73e5d80023010a91c2348ed43de35a756945dd97727123842db7016c51dbd44f18bf5dd1e3aaba515911a1e82ed5c0903d4da702a380302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023003a4252248a9ca31c3a6fd54238719f3a61d54e1e1a6ea9b7353a4350172edf2526a1647027794f2c461f37425fe7fbd02305795420a0ebc822e6d2a6a2536d914464f0c3e5f7f89dde172b75d7f0a8fe4aecf727ce38b738e603cef1d2e1e1e77de0302047c435bb5006830660231009fb37392cbf19961b0f0bf5448eed554f9e81f243910b1c43434b644025f15134ce3895105cf48d22d0fe7d0e45bef4e023100ad1c2b147da63991999db231d0a6a601c742788cd42968f4f278d598da6bbce9af299c4eaf34d5318d01968c828d55ad0302047c435bb500683066023100ccef38986353c6265606bbd8c5deb936b00d49129ed4888f88dc83f623f4f2081fca06f34dfd3b37d970bdc9b0da01d2023100eaa6deb5889174a62f409ac2094a48e12fc2a57055086ad2c80906fb492381a16634e989cecfbf9793c8f130459b78680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f8dab4a8b133f388cee322a7fb2594dd0d576980ccca08c701ef959733042ff340c108ab2d91348b3b3b0a2169fed4560230760eae02ad354d260ab5dd7a5508a8ef6a0e3f05f9c10ee3462b920bdbd92eee8ef76964d9e48bb748c49c507a03f8090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023056649e2f857091152d3ff4182ca50bab05de93cbfa6d3ed9f41e82e876c98f7c3d08e334ca6b5095fea709fb718c0d4b023033c3829c76befa4c9ddbd6a760b8fb0b51e13ac59517f1e1e3cbf16971c287c0e04a03622cc654906f1fc4e4e74905a90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304dd70b884d64049dd4271e9ad46fe0a487d467f4dacf648ab4d7925487a7a505a1bb6eefa6d870ecd45f1c3d2cfd48b302301693e83283adcd848c8f8dcd6edc4d60f6aed2cd65054e90394b07336cb7fcea6880e5874b21d83d01d7a391424166ef0302047c435bb50067306502301848a7c6d2b004c6c5f391bcb6a6c37db9ec12a4681441ec4f7b0c06f098982c6fc3b2e95faa734ae1aec12ca86f9d0c023100971961aff212feb8484ad1bcdabe598fe76663dd399ab455b839e847df146a5484bf8e32d9f0ee50a933a2eb30eabfec0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305a60459898e64620963c4fdd316cbbde35034b8c061800094939b456dcc3922570194ba8511d4cb142842c669f0f2c45023100e729c7377ffcde7af746fc218f8e71921e11f4e034384bfe7d0f27fd9573e43fb1e4ef6163fda01c987fc1c61053a5a00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b3b05566fc5b20bed180bd3f66c27e7a8b42eb65c41e23f2e353b137637900b1a7d8f2c6adb8d45cc0e576d2f8e9e6bc023100eaa51d555aa888a0c52bcaf67e61c4ffbc6f3aad0a99533e4d9fbd98f80f1f21d798d328a4e26825b05014cd214fd9820302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230060a9671a71401ff0934f5db8f93813c55d6883c35a200ce2640b4375060e33f7098b95f5b405456d5b01f8cd7cd57680230267f2303dac6369d888970f5e2ff7daa93ffe6c7eb77584c1ea4ddb5ed1fa34434a53e72e4356ce06af967116dea650e0302047c435bb50066306402305cf6781b297d908ce7b2cc86acee3bd050e49cb0198e04d127534eb7ae403b3372b6282711a579d3e2c95fed42f702270230449e986417c93aa4c95ed24601dd87e49231bd91059a5d48b48260be14eaf6cd0cc74513467dfc9f3f79ed48a2ead46d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305efe1b08beb5378be504a30b25b87286a028f0e6d0dbb65e5364ac955d4952c629dbac6d6328637d90ba0005ce0c8a0b0230589931e46be0dc9878871a72a5aa6c73c7ca4e8a0944bd00b13e7c3530453a2ad44168ac7f1a89fdf1f60d2e61a30a0b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cfa79015fa02cc5aff0b1c3b8b6d43ec9d53b4a008c80705fd635270b8785ac1ded4a08968ddc4dc9effc280ed6e685f023100e639061c9e6e03689941e1eab4948393224ff8f0044449ff4e28919c92e84545b308daf3560aa0aa8c3012062723f1d90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303c51aaf6e7e5ce374fe7c95e07ac30c68f14abca58a1640136b2a81221856b89d41cf1b17a11494b37276e24c1aa7d9b0230761e435ed762d6e091095686d22121fb769608bdbd68300d9b912158fcdf1607c7d1d61ee745fb31d5b9443a544124b50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100823fdf55cfe0ae12df4fa6767a8c89197e7953630a53b3aaaf2b08a91f478444987229f421e761e40c4206174aec6c5d0230670610743ec38dd227a7ea1e7f0d66c053afc18e2428e8c4221e5387b5ce85daec0c140c917e30af9e6c394903e217450302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023016bfbff7d89d25e270921d8d37477dcc7d3a8698ea67714e865daad1312653d3d425615a56cc47d13c672fc116a38fee02307c5a8ff35d378e1959a4bd85a9d1a0f4030f6f9ddfe856cb2aa6ba19763c953207c970bc9d37c2b31c76aa8b216a5d9e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305e4fe27506388831fba06caa014fac152c0c1c77fd423ce92fd3eff6f53e6febc95af63955b59798517acaec2c53be3402305ced0eb45c9b98296e3c260dc9985e02b70c525c569d79491343a25d2533d9d69612acda35d92534108bcd699b9d4d5b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ab4d0d4626e36e334eb54d3a3d5ddca1f8753776dc3eaf50a06a877843ccbb74ccf05f53a231a87478071c5697a9664e023100d822172aa1070bbf1c83842a485a53a67ef75fbfbf32153c902f246167adac7c017fbb0ceb7d09d6c96833d4a73785db0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100981498e8a2cf45ea5a2bab1a0bd07e95225cec331d912d2f0322fadfd95301a3be08a6a758d58739b1bbd7298146965c02302353cb3014b27db56392197b3afbae78551e29c810d719089e733eb1cd6c699bde8d4443b587e313bed0d671f3e8b7b50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bb79b04a4d120efdd9c61d4921ffd25824bfc0a43b03fa723c632d0eb44683503065aa2ba04be1bc0ae23fbc50a62227023100fcfaedb4849220279ef54b47b23bba351ee15bc2844866e73bbbfff1b6b216803a9dd7712c3ec257413afc9799527a430302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230240b746c0addc62dce9f635088db404a9c90c898887f4555a4ef903a8432eaaf684aedcf2260ffd3b6bafb534a175bcb023021ad1404953997b45f23567aeea8d20fd744b70cebdaf1d3ec47c80ea22b5e2d712456ce99af8acc3fab32199ad413840302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302ba180ab104c04adbe16386f48015d1d486b4312806b590b099da2e6a8bd14e976ae296fd5b688e68d3e47c42da71fdd023025bd1273caf460ada88be632ac6ab68e519851aa17a3b594dda8083a8056e65a37b4f86620c9053ad55722264a7f5c490302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ce7d42a45b29ee9d4ced6b3cf7943b9ddcd13317250b79319d955c7f892160ffc48fc3e349eec67570d1c7384db0cad10231009b88e05f2a1300ef40d8734202d839a2edfb1049e72b8d385c431d25dead7c5e06786dc11837bc6a053259c1a524306b0302047c435bb5006730650230360ec636a6d09dd4f49e353354924b93aa5bc82fb577fe02497c437ae3a25c03384830c8aaac67d10bb850b1285cddc502310097b605628eb07dfb67472258c122e36e2c4f728e10a2cc5fd7f317f2b2c9c31950868904b5c0c6ddeee3a2aad7d8bc7c0302047c435bb50066306402306f21f529ae00e7da7396b9773cb8295df1120780be7ec897e83fbcc9e050502f7e90f867cbd5e9f175ffca072e0ca8130230541ac0052d718267f40ac8e8bcda6dbcb9b48e423a6cbb9ba2e86e2635cc7f411794242d95853655b3c14e3b48d110890302047c435bb500683066023100cf821cc1974f24c975a6e7f40408f4b7f24be4bc0117d7533afad640cf2cc719d7cf6084aba40d95ec599279fc2b6242023100f2a8a42340e85661ac9393ff75ae60edf5e1849c4701405a2fbc3cb7aa3e5cf405975844940095d1fd99db4d79bbff6e0302047c435bb500673065023100e0e8c7841d2337ab6d3b804baa8dbaec02ec24804f9500303914e9b9a8065740d5018aecd790fd82eaa7292b0ae051f702306a8dfac0b694179dfbd060f192e722f8f076a92e58e326e209a130f082fb6e4b499adf95548b55e3f5ad5ecec77490290302047c435bb500683066023100a9518502aea4aefcf788b4d6c1b4004d4911e8585ec600444c41efb13944f4679b9cc9eacc1d294f9b04a70a7dd24dfc023100f7f73d08e2f6f9d460577b29b9d23c9522a47b6af420a58b3ab4b90660cdb4ffe13d699d3eb7f6210f3ded5db2bc67c80302047c435bb5006730650230613c7802089aa09a19c2d9296c7605683eb03e7434c91ec734c1005631a9dbe70651a086cf2d850ad2a8183432c0563d023100bb80ed54ddac1577792f67845481888e4010d962770c029981335033bacd5f2a7c1b013e73654c2410fb7d20dd95a3b20302047c435bb5006730650231008ad4132544d349fb672e7acdbe01efb141c536a45682636204b579770a27c9da18833c7e0674980623b578b0a35476e4023046823be5c9e08b9a5ed7fb3ec2d828af1f8ad38bfea0340a785de3c8fc7ea8bd292195bc1782ea45f652c453764530e10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305fe7ecfff844bd94cc48ab1196e072affac1f32f2b559505844c5110021200cc9b28c19753f54df3c446533b3415db46023031ed55e1b34178de7dae61be7288ae96ece7c9e982331ddf4d5845762a70146ad1b1575348e2cd110965ffd9d7c810770302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008420f98ffa343fa055b48fb64bac9a667e0d9655812cc35cea80e48d6e7e7254a9b7f79256f4f78d16167cdbfe0f338d02304e58548d61273246bc30bfe6dd6ccaeed8419f47d242d2ac131987857430852d822d4bb6e34d4fa64e2f719b431519eb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008694888c4cdbba8096854e84892011ab4b71b3fe0cc6d6b81f4097833b0b55602a878b50468b555e9edd23ba60339cfb02305fecda3f66865bb505539433ee2ae5ee5399257dfcc64bb9298582012582bf352081ebf881cc6ae4fb1f1fce6180603e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ba99754cc337ae9972ab70dbb4a7dabeabc23c800ebea96179cf5240c12b31f6c0ef4328dc4edc450ae8096282c4ecec023000b9af3a645e407d76ca3d21faec09f54871220c6f9a0b782d3ac3ce49b45d9bc12effe32502bb1d073312b24a5222810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230530750c8256d8108c9d9b10c39945971fea7303847b2d24b1080c8dc793d3af22b83bbe5ba4198b20821938f7ef7e746023100a2d6eca188a18841629c487d36fc50834aa7a2a4f9b4d1f60ddfa178d257550c797d496310fa905f8bed5cc98f7249c40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307335d8012d8e8efb3c472d7a880f96841ca46fbc171c3a9a6b4833e30f4edaa64a50a3939b734e55c07fee6900ea157f02304011a185a492cabf848f7c460b64635b1b258769dd8fabf58883efd53bc43a13490f186eb403df841aa98b047233dd670302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023046e24579d02b7ff65fdda8485b99bfcd5232e362c3d9faef9de47347b148ba3a56c16ee34e9e3800b4c7a4e1bd321fad0231008d25c50d9c13fb85fb8139a77f8374149a2a02e2ab57f232b26fd491fa81b2335d7d51c2d86b80ab8c34d0fd02b7b9770302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e02bdb636a657cbbfc901133b5e93af867cce20f91a1d98d5c6bfbea120e0c79b43ca019319c53222ccd3003d4003c40023100dc5392f7a00a5829d4b8850c19964992389ae7c1731b454504fa2da16499b2179502a0ea0e5490ce1da17f42faebd2070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100abf94dd6eac19df0e148e9b8439043c4ceccaea31e43eadcad462c6dd81c5b1485ccf4e4c1a45d41b28c545c5ce0c01f023100c935d8c40dec652865a7bd7d219eb76e4a46b64e79c0a1e3ca252713b5a8035d5922c4e10f30a290502e17d707a4c4820302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230392a1169a287a7c5ff63d571516c6344b8f4dfa7bec40fca097f8ad6e9c4c82460bbca2be112d7e46ae3d9fe0c2e72e9023058887f8af5a2084d1a3565b9d80673767ba23a1118a3f6465f7fdd91660a18613625a98c53a3def98ea39f7afe3879100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a381d16396229b3b88ea5a6804e413b209f068797398b4340ce64946221524afcd62239df4e22ebc080a9fa9079f710e02304ba44e37fd0521cc5f5be772cf2cdf412e990c7051edc695b9c4c2acfae32e0dc679fa4369bed61dee8a4863f50489c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023027e0a4b1a1f191f34d833ab657b1f437475575c65e446de437ed1e9ffe82cf62357e90d370211a569ece8715edfb072f023100e17ccd14c8bc38c12f2e74d8e0e62a21b9bd4f6e86055fdedb41bf41ae8cba64c2191dbbbbcbe0efa53b0323a44600ae0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230431acb1b8fc482f8643dcb036b35ec5546d0c0e285a24d1c2d399dcd31732c94e3a2a2d936106b15c3a42db9992c18820230719fc7bd5824fdd415d8de0c926fb52a400a8272158b2bb6c03d4520ebc9db2672d83a5856db1c8741ab591c098059e40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023052a9f6a76a30685c498e549848419fc3f13a2817f7c50cd1cbe87ef36f78fa237ae75999f1cf91cf5f28b88857a606e5023060ecf3f3e5ef100ab958738b697a2c338f2d444ad065ef3ab6c9c41173f625d6dc9d2dbde74a910e284c3c53645943ae0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230249bab3491ba6ae5af5da420e70425cf5946a524e7fa887fdb6da20bc2f334a6401ca72e785aeeccdc914f0a8d51e39602304288f6a80fdad6dd32e359ca4f7831571df6ea6e264b30f63b5ada1168fc84c563ded21424401cac9c9e8ea1cae50a010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310083053e4f1274c5548da3f06cfbe03bda6f602f240328e66483d9e558ccb9b3545f3e921de0b46d94731ecc5d798e409f023031e968518740c2574f029eb60691638d3f9f7ca22b97264e8fbb6564faa74903a38561628470f1d72875175ddc4c2c950302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305ee37919bc247d4dc8a8b85f9358176ce42411cbe5e46863d14695962c0747e12291469d31b857af2dad48be7c337155023100a9124cc4241bc47602a2f34d1c19b4038a262eb7921cf6359c1056b5887dd8ea28837aa7eba56092e3a36d836bb59ab50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023026bbd439ce1b5e2656cdb2d49bf7c736409be6ece7a9d780b7e1bd2a47dcf904f48371c95107f76153722f3d3d8ebcfb023100d13d23c9300c8cf35518553f88992823700921582806b7363b7a2aa68bfaf9c0a6d4ce9859c2be3bc3b2604fbfe3557d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300aec0b490fa7b5f02fea43ad474b059a7d918f7eee0742497a390d2fcdae38c60748f10e8ab77fe7b3dd75a4f2c75320023100954e59449beb786884add0293b10035e3fff89d144aef754aa43018ec9fd7f450105c50d3845859188d18019156c64300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d3bda4e2396349041dd0691fca7c2764c2ff5c0eea125e5356659b7858eb3d61eab18023d592031fe0581725950c33bb023056d8592f73f8a42a5380b94d852536b550324df4953ec8a0b7459bd4d5bbf344043bad647cf4d484a1359104a2ae3d6d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230082ecf34d5317e7a5a959aa0244cdca61c0712547bc8a331f12fb20f76f3fd89f21adc221fb0f995be7103ddfdfa66e8023100dd60879fa642ef0e500d6a40874b4b12c97ab4af385664f57deba89b0aea2d81b38e20921973b375177e157136b719fd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023067cccca1a3293f1707c1db8acd323c10016185109f9f54a8641eda98dab7f5a7eac1d0729263c1280bbe92dbef837c77023069bcd97f35cc5c7155f527fd577dcf396e2318e0b5a1fc52a40e002a52cd1dad42967518be977bf984b00670f18caa600302047c435bb500683066023100f7b2d2e0ed3e56ab95edb0d454a82d5b0194e8edda60a85d88173dda966364d4d156e394fb960f2f6ffef63b7958a4f6023100b3b36785688e4fe062b188ff52a200b7ff74449c6ed6a673c3cd558bced56ed593b03865f11bc38a4390039a8e684b720302047c435bb50067306502302bc8934ddaea47699aa7627a81dcfefeadccbc5fdb0b8943c229a31fc54943fc2f40174550488d5daaf7c557ab8e31b00231008fb073d31da329d01fdce3642267d1c9b07153f3e25c3899a631b9f0cc4e6b0bf8208469953653214325708b43dab42c0302047c435bb50067306502307391b56e1a79880f604bcc8a7207f1dcb3416e5b885ac66ab5ea3af1c488ed65e9161511c9ac9267ba0178f7cd354324023100e19b1ee937a54782e64bb219126791e55a9ffcf7ed0c9ad98b08a1eef0f77d6032c9788995092ad41e56d5cc1dac4a280302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c5f0f56812a35ea26f025a76b6d35676edb9cf869d420c477503e42b2525fd1374c2354a1d518f7a0411eddc71802905023076ae28d4ca9e72f5095a590fe068e8686a2edb45e3d9149b2bf9db61e5f5c59916503e26e7df4d90712e022e6b98fce20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50065306302306691e4201383180ec9140048b30bf1489b5748759c149d5020e5668f806a25839531b2e6f71c2949ee4acaa77f3c27ab022f6cdcd7a8f99f43ce7cc6d1bb563d0e2e950c1adbb8da8af6490ce5e1e16e5a069df0af4419fd39516e615c17cd72590302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e6ddda01cae3dbf7bdbe4863f4b50bfdbc37574d2e31276a531e8613774b62527b2ebf9e79efddee0c605fd6183e2ea3023100876c9d94e961dd6ad4c5a4f74867b36db4512b83343d13e2c1c431e1aa3f85b5f0b1d5c39be92124fe1492c6e6c82d090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e8a650631a9ce1e4b59e2d12480988010fea83d8461f6bc2dacd8b98ee48e1dd1a70b49acf2052dd740050f9c1cbe4cf02303bd8864ad63dd6332af2746b7a66eba815eaace37d8ce1da7351416d508c68b02a52000b345edeb9a65a4f38c030d58d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a5098639acc9a88b76422eaedd825204e774000e78df3544b2e41cff4c7a5a4a1c122e23749d1fd9a6ab11d7ed780c25023100e0fe47d66f2ac68b4faa2efdf54de8befd497c237630e5311c8e8e568906c71a982b54d433b1f325be976601a135dbc30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023009d06e77a09ae19d5e756f21d4c2d11a72499f49505ad855414568d1da7aaacb6bf9e551ac630614f26863092bd0625402303ebf4842c8ec21e7416ad90cb39fd1c2415754524c14f7d49ed8ee37732a5830d93cd1f14c4b7e22b58977e7d09f81030302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023026e5a1bbe4be973223e4d2fe3344c23d201694e9b9cdd17e566e3a4b0db19f62596bfbe5cfbdf553713d1250992c83f0023067b615bdcad7f743254abe0feb92dbe6199b7ee5f2dd5ef91408f1d74e3f5b60806853341946a4a540ebd43b4b55054c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310089847968735ba365c8a5ea49690e028c33254bd3be3c70eaeabe4716ae1c9ac5eb587019108f44b11456795bea25c191023100c81114633b10cdc419349789b8d3e7b1b35d2b571c8fa32e78303c8417c57684267a6b98d80cfa45ad9d0d089eb68a5c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100956fd2cd8ce49c72631a2af72c41d943959de123e96cafd5cb8883d7064ac27a479a411e231ba90bf93fa7efbcf993f00230018c4613154e1989474b9276c963bd899c0977511506b3fd972e0a9b249bd3804c37436afc5a8e056cc8272764f1f6990302047c435bb5006630640230345aba8b021480f84857b7d5c1e84ea1a66e001e581c985faee6d5876ad4104e65b1fe0e57b045ffe820b0cd09cb79a4023068eca2f28a8fd730440dc9901c3cf1224af5709e78338bb3086abd0f18c4cf35dc999a54951660592e25b0b15044a6c50302047c435bb500673065023000a63965ba6b3cc62e40f0f6bc57965b55003328d95357cf33853a21794ea84bb57944731543ca2ea5587b2aa102ceeb023100a53ba7efce95f21f37f7b22b586fea34202b9f37af4c5ac68599f7a517cda20069b1b16a30a57d0b5228387370a10fe30302047c435bb50066306402305092c8a771b8201b961177629ba44f7b9eac55bb743ed5db01942db17722d86000a8f6f59a02d2cae321859aabb8b924023028a224120bee641c4a247c340428f4476915cb46c7b1cfd9bfabfde6f03137d9cfbb7be0621bb449ac8fba483583272c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310097dd82392550a87bcac6839b7189b7a67d80e57c56a562469108554c2c30528910ee6a795c7f2a4967bebad37c7bed8a023100cc844fb6a61ec727abdd4f6d9f9a0491fd041380a4e027b2a3522e3edba87211d2cdc88899b5d1aa1e697831ac44b3130302047c435bb500673065023075689aaf280de033ebd6b5d1b730cc62e8863a27b38258fa9881410365292b08ee89fb28ef42c82792f8a1c877f3c5b20231009be8ccd3d77a3c91f1dfa506590e5ac31182a46f2847ad83f365d460aa6f5a58410e11efb541e8f05979a91813d19b880302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fad57dba3269caaee814bf452576dd110a92ca92b5613e026ed24dae78ace3013f789fe70fdf4fddcaf3a4873273d10c0231008c6181cb4aa7589c3dba91fe5a937e6b681a9a261035144454f6fb706640fad9177370df6275bd813b218c9c290dc3810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023028051939a96550340d7f6881db29b85fbab4b4dfc6f19ecd615608bcc970abd62a79ce34586ad68f84b5a7e88846554902310090a3434b17d3476b5035d04b51f77a076cd175bb9f4eb1952c4a5797ae3601c2b0ee2425a25af75596b753a6a94c0f220302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fa40c4845f14c031fd2f3daf3f8f6904ad3eee755c689afc48a7fb7cbb4dee3dc83b588c20854528f7cadfe1e9b09f4b023100ab5b784382466d2f30f8814852cf67425412b524334091aac7b2207217796d476a2553ef876d5dc27a465b65337ad1ec0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cfb0d11e15cd9aaf36b53ba87e84e559bbdc2ae441ffe55647073541a581e8fa72a5cb2160067ae8c984cebaa15f9f0f02307dba8c569b0b7091c36216fbec1bd9a7660e39b3c354d34062bcbe41e433b44c61fba088a3776511231c92ef1784cf9f0302047c435bb500683066023100ee937311ed4f6596fbeb9881c6ae5e23d31b32c01e893eb1de7a21cd15bdcc54897564c5cc83276a9a5a49b74068b1dd0231009d8f872b6144f179c8d3141580746c82cb6134fe0fab60b05178d417e18a9549b7a77d200ce82e4a6356671ef986fd640302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230425c9439eb741655f18321870164cc2f9b11e28b54da30779a89fc9f5c7d487f43aea35d5bedc0b163f5debfc20909d00230758a153154dd6eccd5ad4a88e1bec63be475ce1bac0b25b95dd391c0c5899f32e57fa17b78461fa92fd054b6414ebe4b0302047c435bb50066306402305e5213fdc6002ea5e821f0f7900f2154f60afd0ab513bb558559d51f193b4bf00a9228b2b914aea3db10af00920ff86a023022eee1b53cd9c16632b2f393e19edaad964a1baa52bc54ac65694b7eac42ca90f2a6a1f6f3e777c5a00cf62b35541b010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b8a7b959eb67b44ce83aa17a7deffd57c76cd148c7ba944bc468b53f7cf541526956407cdf60952f8d9643d2a23cc603023033eab37e161d7aa0204c119cbc292fa4a73232e96be38934599350841c5268f80a98c65e38f5fc75127ece6d85e0ae040302047c435bb500673065023016d1779f7b9e1f0f1dc3686acb6063f83d101f8b5fe08d4c90f3ec98df117bec07e55647e9e719196ccca83f0cd09781023100a524c12ad88ed441268684ddb605ddb95762a7a30d7381b996f2f4da7ac201974e900f639120d2db3085b52ec7c5b0460302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cd47477c13d6ac062d06a6c10a0d63684ee2900e6d51206f938ec155e5f88c3d2924d3a9716f74be6c84bacbf2cca46c02307895a6bff5b823f4fa7bd20ad9b97e6af459ec14a9b003aa6eb0e49a34548f862ee1e9526183f3be2928e819d69b56070302047c435bb50066306402302fc6f0243b2c03ba5e6c23720a0fb7ddd781eab0b09347db0a8d9e7a5855e6172223a8bc880a9fb6604253f436579ed70230346b685577e7c0d91a7aa57291186ae4e2f2cfc45d1908ec9c50c0110fcc3462c552845f3a3a707279f1cd7ed8be5ca90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023079ad2cc9d21a23dc8e6ebb4471fea067c2eed0be93ddff6b436b898afbf12f0d07e5511b31e942bb6d4008fed74e23ee023100c52019fc990282106327de50ebb3cf9981d9c4fe25d686c5761b636dec8920db4cfed66739b19a8dd7582f74a1b947e60302047c435bb5006830660231009d3d07b5dc74a0cb3e2a40c4be469cf04544feb13a095b47357db01a7133e1c259cb67e77b254997063ad5ea4ea01b7602310099e0f0004fa9665c97b5da19f8380801ff0a68ecdf0c595fae5ddc94027654a425bc1deca13b693099b222152d05fd5d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d920668e782514c521acde732070377babe1a1a806e86922796d539b5d7079f2adaa7b4ddc0cf5613dd48a51565a3433023100ebf592981402bc5ff7d21c84853b3137772783a0204e56599ff971a03864b5fa64bd8fd20d288cfedff7d63815759f610302047c435bb500673065023100c622585c2cdec85133def473354dc330eaab1152d0096d2bf36c8d9e9c545b85e18385044caabd269e1df089367964eb02303214d8106189cbb26239c3c897cf57f5bee5b9fbc9bb9431e74588d26b88379b56414cfad5ae14c2cecea356adf8ef1b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305641924acb3449fc5383fb8b5ec7468bf175893de29a3573e9ee98aca183cdfebddc05259f976540cefbaca9a9a753a7023100d72bb0da47e589718de2930dcdcf0d1ca85e431cc5f4f7daf9920d0f26464776571007b306b8469930d3c19114e0112c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bf2b0402eb4547dbfba42e1d06b9e86e6c8d4fc751c2a401b2856c24e7bbcc799f5ebf6ecb55a5f426e3a25f791bb5a4023062c7fa2c31ac7b7397aca18f88b15a01adb7e2563f7a69ed4e57ae74f9c46cb848892088031e3e3b6d647036bfafbb920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ff9e70affcba803e24fd0cf5eca0b669d406d60be37b169718c6538618557466ee7f3ecc835aa1867007876e87e95681023021159dcf59f6c01f8451c3fd6a17293348c6cc858242d1411df93d66c3a357f6f86ef2e3c85339ae2c1f741e16bfdf4e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230009b3d25fad3f010ad8106ab1b7eecd55ac2b0d3866928b8eaa81a216537ba01ee4021472fc6b4907e559ccfdffdad4002307760e7f420e1bf7d4c5e13c7fe9c41927471823d34a90acbbf44a5a360046da6852211f57002bd786da9bfb8996aabc90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023030121685575a77a0cbd2fdce53cd976762328c65acb710373ea291a8d93da9d3e5e9fa36357b848f8fdbe33cdac44f6c02303affa8c76e20cd160fd4d1800f16180f0dcf1248558cc3540607cc6994cb6232ffada338d2b687aa23b8af842f1a97e10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023001ad259787919b6c498aaf2ef5bc052349a64c33fefb01faaf00fe7243e82a24ebf6935d8a44186745dc28891683142802302922ddb1ab6fb8b1263ad89efa0def8a2826e5ca341d735393f0df66f8e1f3bf461913b1570b3355cefaa7c1aba2b3d80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fb3733311d019185d8c0dff7263649b49a28a6c16c74f307544f4bb17c82237c3d81c8374651ab3123fc132f24c7ceb4023100d13f0d5c34b42a2344d0da54751362c8b6503a6c789c6de51d4d9f71cbedd8cf891d4667c66aa9f7cffd699d583960f40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ff5b8c7fcc69bf139e9d635893fa3a6530cad674e9cd91b7ce4c1ba58d0272decbb70466e541dcfa38253131dc1e7efc023100f752de26dec969654d5e44719031f0a4502af5693e8dbe848d0314c403dab642cde44a078ed77596816cf0c6b7bbbd260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307b2515e5ecb178433d5611eaa41e6a5afa28585dd04ebd3d597348b89cf299a8052f41dae4612e13ccdd4f2546824bb7023100af0e11b4109a5153fa353c313e80a5a40013a9bac46c5569a6bd884d7c34c7f7059851d987638f76fb92d5ea6799d5a40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a4260c4e0da0c33b3a0f7fb52680a0a87e094d8f33d255c5b8bcc1e8742599e99ee73f4d9a81157a580d5bee7310dc3a02307512d4fc3a188db7b4c24a917dfcf2f342db723b312288436e1b7958389780d79621440120d206d87a165918fdf22acb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c0c15bc11e12f7b3c8ce25236b80bcbfc6c9627eaab03e3137a8ce371fd8954a407da4eca2b6c4f19fa3d74b57ea1cea02305eed4126e76f80c7d0b7b59f2ab2b97f12e3cd6791dfcc0ec83003c222434fc1e764fdbe9ddf02b43307033732db5be50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008a6ad1f8b023dddc016e7be686682d6dc7b3ece88e9a05214d606bee19e8956958767b80a86dec2703226a5072dd7585023100ef39d823a8e7ae1448537277e30c0574358fc988c4273e56d86cfc37628541513f55b83d9bcb951936ec0682ea3ac1a70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230687dd694183ec81d17395195130ff4914943f40133567cb1095ab7786a7d18adf43d44560d976ede44593c60332ec10502302dee16fb3ead5008d27722823a2e59499a75bfaf2ad3de9da78bef8f60147ad5056228332a65232ed535992fb03032f00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023032907078ad5106cb70952586ffd1628cffe219a5450abdf04f058c3011f0fcbf9cf0508ab65b300afb70c8a84a285a4902301329b53daaecd3a7c2b4140cd7f5e05d353f7e11a947693e34f966b3747489bee1b821996d0048d4318af4ac4d4c2b380302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100954725b6ce13cd8cce4a1cf5fd1c0b1faa976b11bdcc1e2ed350f14bdcd6f7ae64e044b0d98eb007f5438ad3f3f966fd02310099d9ce8fa1b3d6f44d71e86d6ade333a22f8b29d643d17e135838db61f46e6c220d2d685c543e8e89db8ae16930efa8f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023049444fc54730ffc04e6cf730e90be90625a0652a96f6cb4eac59c0191d4cdd4d1ab64041c54cd3a7ea4851843c91b319023100c95cdb0eae453c09a4e28357a1f764480cd790b6a100b76f923fdee25bac676ea3201b1fd6def7dc3d634eefb5aad0c50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305d025bef5f59eecab59fe04a54443856f665466d9c1f5be6dd765481b6550c8b313b3205e01fb882bc2674c8b4f7bfe802304b45b73ac25cda8b885b1aa887551684d8c5c051c61bb31df3a0689a770c7db40598d897a5a03497750ac52fd3eaaebd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023031f5f94c65b325ab2cffe8e756d41564cfe364851fbdcd8de3c44e56bf75cfc17e21eca6cd8d628bb4cb8f9beb98029d0230336f9d80b2c4263d8ad020af0bf7f75f7af04cab73b649cc343491fcfe519a5ab1ef5c163ec1a40fc865e553afc051500302047c435bb500683066023100d814d9a37151c7387630155cfcd9a1db3eaf2f1f2fd8d39dea838304ced19e9dea27e1177b5969e36125e89e5fc36cf2023100df681474d23cde0d8c5c55804d6d27c02de8790e130d1d76df5456974e7818a61c330ebcdd353d4eb2b1a26378c5f0c70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f4df2a82088acd9bbb5406a70beafa73ca2ca34d5fba41a604205e5ad938e502768af2da7ab01f594eaceaa7e518e9a502300fa8f58eaa5f13196fb0a235f808a00dab8824434d8f6fd06f5e66ee10af72ef5fb7c39cfda69992e09e2f050fb6741e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303506851953e494a36701e9b488d5e6fbb3e447ca31a091bcc1db34281f0c2e1ddfba796ce086c43eda76eaec6ade5ef3023100b70edb42cac8c2881d37c185d4d7dc405800ee92318bd4e4133c17faf602704166e4067aac8452fd9192fc8bff688e9c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300173b5a92df3a0e59bdf9ca8a320c91409d164f2daf06a1b835ac2e3a868debf7509764c0769c3f301529683e62826b3023070c86c2567ec2253b5282e4aeb3b447060dfe81514c48fcd0cf044d5d3223f95d2cca3bf9343a5b10032137d67b39dce0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310081c0cb44b7c7b845a3b0a84202bfd0cffede295ec8321e7987a65c7fda20d564759bbf39fef95b13f891e9852ebdd104023014831c4c623a79f762c6d31137cbb3dbdb50c475e81464ef273b51651c022c72dc67f1dc49df13f07552b9445ee8c61b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023050903641ad19400fa611f3926f053e7ee22640a2d6327f04d3703e39d891000cc992d96f7ae8aac7f9e823b50c17856702302b4a34ce7b9952dbadc19f267e12c6d0590b94fcca514983c7c083e8c48c0b0614d98fdc213cfff17c9e5007e9dd50050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cccb8b204f11df083d06717a9b044fe41c095db7a35a8382188cbdcd95334a4033840440df0758b7079b36d203737074023100d83699e6071433fa28197d73bc2efb596f1cc105cdace117acd3c07141c4326d837f671b7d37145bac6f163d8b0683c40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301f437afc8cdd80d67b94f09033f9b346c8767310376d3110e48dbd3c124c0b5333a7e7699c543af97d1598f7ea26e37d023100902e4e66d1395f998a54026fb995e69199e4e0c0a911992db215f3aa4b977e6b9884ae6c1ba0cb95696f876482261b520302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023041a003d9f78d3b252c020b08a57c91426d678970f93bcd33ab20c37c765f06fee331f976bf85513bd07ba4a64dea73c9023100e142b61a8d5e48cf6e4c018a24a7fd230bf79c582671a88bfd016e580f5f9e866c906b89618c041f805b91e4ac0df4e70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023072a0f55076a8cbabd0b35f9532fd5b39511065e11fcda9913281a85fa9dd7a11eb3bff1636c38ed5f93091e2f074a467023072eac4f80817d0b5007f40776234da8d1367b9e5164713caee83341317143b07f6f8aeae7ecc0882f2c553315a4475030302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009ea238fc19291bb4a25c8d9b76efbec758bef7905469f23a897d7dd7289522cacd52ad46eecb61d3059b168f86d50f4b023100f30996f4ddb0cf392c489d6edb5f0f86d097e2eabaa5604caefdbfd8b720ec54e0382d7a10bf6be41b9e86a55887fea90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300516c05b550569108022945f9abcfdd421cc8fd677e526b43df26f977cab015c4fd5ca67196a2b8fe107cf7b6eef619a023100f2dbd7250019ef0edd3e72284e522fe67b9c953d47e7fd335fabf9b2b1b40c2b691d6d7059c626ce427bc92310c5979d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230663451d49a964839d54edda3d4e5606f2bfaa7af2cc3f0fd9216b641d6414563af247e0418813afe4c956f729c0c48b50231009e707c7775d39db3160a8d88bb06c9cf55d9db6153c4bd591b6747ba9c29c8427f30a9652a3cb9581e0a505e3c5cb65b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cbc52e47025fe7df144a75fb217b22f26a05788607d57151b481053bf020787e7d67dcadb7450f74b65c945633373269023100c14df1780a4deb4f7d8ff74ef3007ad43cffe11b22edc5f10dacbfd0243084c5031741ffb57d14b255acc2bb90348ccb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ce65e28977d47cac597a05cf52165cf65e5b37f2e6593fcec4b890249382cd9c9827a4864a2ccc593315b8f67278b6600230342ab9f225e2d444d79354535452c8d9c251902f2d023112fc8e6df48cbc9e6405e3702b561ce33f3e371a32ea8bffcd0302047c435bb50066306402300963640670da0e17e7af7dc4eb894caa9933471d97dfefabf11a4e086cbb3633c94db49e1bea9e5ab5e7f6b7cec2d48002300c3d229b8b440bf8b0ed55e5f825879b35f375df5a89370ca50e965a0e4d9dd06eb4db61f3a7f6ab7941ea3dc44446880302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023055b58ee53f35fe4388248a2521b8fdea2ae84c6a1cb62708709b6a46fee5ff760b8de3dec92e6fd0ecfe092f1e944bad02310081d726a8ea75ebbfd2ef7b78cf2c9607c49764353ac90ee6713f940644ff795b823d56d071b9bc8fd74de4c678bb662e0302047c435bb50067306502306d9150a9361f3ec9e1aea5e331fa50a070e6c16768311dc5fd0015fa66fa57da35af097396379797aa848f59bc3dc2d1023100f50aaa6aff2552887d05adc6bae9b1bc19da2d809ed43cb01f060ab5a9b9d9132072363f4321078d132e44a62dad08130302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023055b0f8d63fa9e736181a7fca66ed9f51fe46510edd140bc6dad0502c5886647982368105179432904c1792e2f9a93e9602302df0ced2bf5ace2a29bd56940bba0f9b04cf17db136fbf8aed6774c3beaf29426d84b5ef3b35592326cb86f04da82a650302047c435bb500683066023100e47fe8fbcc2e7218bacfd756f69d43b168c5627b203c02bb026d37018254c0e56bf81a4cbfd5761c753c8cf306c3f52a023100a903a3e15211c7bfc6d1b2c5136cbd0c0cd9a79cf6e00078475040fa98b9c1ba984fd15666dd9cb05d2a221c90c4dde30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d370e821477dadae9634f8fc144f100fcb8badff6e8dac3f0ae6354cbad15fde9d951b96a0718fb463697c556ee83744023100da7b23f29df0dd59bb7fd371500475b3724b5438d6b05b921dbe618f5f1b6766b0f7ea1354cba33a3be4287bb3829d9a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100de9b378de66ab8892d30fc48b218f0a165c47aee8ec28bec88fc80b69776a0392247da48df803b9980e6d1e166c5c63802310087c48af050ff44b57168b3e97b3e63c5f96f0a46617682fde591638572b48483323bc96491c6dd0dd66d87ed389a829c0302047c435bb50066306402306cb781725687f6dbf908f5d58b4bfa15a687ddd22ffd7d96e4252cb433653d663d4916d8d9099be30c1eff4ca8cb19480230767184c928d08ef7ce844ecf47fc0edbab3207b11990c07c1985887d3fed2608d19e0225b3ee7574a844210f6aca61ab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b3ec5eb89c087afc72446bfedb9ed5e0466b100ba243b4991eaffb1dc3a5dff263c010cd5363f4968e56385cee03c66b023012566bc64b4f0d8c109179af8263da4b80a87d2e2bd1ba5a756dee98909da59a2ef323346ebaabbc010f855a0b01aa3e0302047c435bb500673065023029753010bbe24f39ee94f3fcc478c0f59f6cdcbd7ac5979ede61cbadb4e681dfd24be125b5b5b6bd9b8785b415ef0f23023100dadd603b3c0501c30ee0b50b93f44f3ba67223725e4568e112c415e290805f4e1f2268e1f533da39963a67edfad59b110302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310096f0f34adf2786bb6ef78f87491ddb2b012173c593f831cf014cfdace58e063a3e3fa9f76f4d0abe1d08df9f72eb36db0230750cebf8745f5815217f4c0d2b47501096c2a7362d2de90518fafef1d4558cf31a2403a3b9032c4adfeefb5156ab85680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100876652b0d6e5e8622fb4361eaf54aff17dfae3087c404ba9a57f995d0bc80331135501dc23d526b71ac23b1dd555987502304ff295f555950455fe9faf5d3d63522aafb2fc7f3aa8a7e659eeade657f2d46a8d323ca5a2820815107c4d4b26fd22710302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c21a47bca1cf8b963293032dceb472710b126272e09f6839bcb9c24ebfb83ac53f03d30095c70a2096ee6b77acf561f7023100bbf4808d2a08e7d4181b0b674aa2cecc8ce74328c91494fa4df1fec4bff7506944a61349ffe079f4587f3d65e7d42d830302047c435bb50067306502304fd21cd9afa5c972275700daf6817a5506d988ede679e23925922705b26f56dfe2e8a35b97ae1054dacb644c6f2e88910231008b547959a82d110484899fd8c98ed895be0391ed1ca5f0d939c7cd66b994986b1ebd0a27676f43967376e3bcb9b9750e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b39a5d936ad8c0fe7c18d66dbb0a87bab6728dc1150de8b08d7fb6a05f3350a95430ef64793b8f8ccf5100f74084ea8402310090826ceb076e52a2f9cd996bb5fec627556c3a36b39d8d2dc398c7832fe34fba64c8fee106971a9c5372a8d91dfefe400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023078fdc5199294549b3c105ebc9da0cfcef6a6544d399b1676c5b07f7b9e621cf31e096f38d36e5a72dca99cfdf2bd943e02306bde904d0f2ceb09b5ae0deeb8d12d3cd1286bb43fd0dcddbbec262f81619806d04aea5d302c20709e687b1046ed579d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023005d1ac0214d696f64ddf3105e0d30afbdaf67ef7133364127018b44d296d2d80ecf0430cc187502f71e01fc79ece61d7023013f382a540520aa6068c6dbc962ca170d7321449548751969608ccd4f528ae17f489159344ddd09e5b0af9e61418bade0302047c435bb500683066023100e4c20fadc9d6fcc6fca0275cd9c7ac66f93b96c9949ddef647d2cf0f0b9c8f4aab6ed9d760afd0da5a6aff2e69be6ec1023100e206fd04e2c27b6289c066cb6ede3e4793f6b5308ec4e4f10afc48672362c0544b6ab2cb8984c8eadf96a877d119336f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e0b83eeed902c301d9b245964cf6f85a2cec0d83915dd01361b29100e5fadfd2355ab12504e4f1ddc8add47d0d55c58c02302dd2678a8f68b3007f987fb5bc5a4e93b69575297eabde31f714ce231857f746a13d0c611d80adca874a8050dd9a37980302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310098493a161c21f2ffd644901b8b1bca1fb66006c44dc499613fb3a221d7f875d655393e37425a041cd0e80dc330a50c2702301175e58f406e4f9263c17de56b002e188ac491743066bf974a5adbae736f99a28358afebb9b482b54f19d49059f3cb6e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310080abdb125239d633b7b915cb28f122710d8e2845397baf82a5e917ce07291d70a01fae53075db8fa89fbf3ce5d23d01d02304b0e7cc569c01e5f042f4c84d830ae3669949efe8c8f19f73452f2436f10621b38499b0f2103f7fed44f328f83fc25410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307887f77f0b2273adcb00703267ec16f2298087449866f48c21f8a70e60b982ff4280a395fbc229d3d4490ba42ac1f4ac023063d3872567b9efdfcc48a1f4132b6b712eb8995be2aaced93f7f13bf8f35ec93a27f874d15671e9c54d6ae165875bf0d0302047c435bb50066306402300d1c8f5ba83419b309a7f529edc604d115d0b78482525a557a95230336f5db09e6ff9bab5228c5c1682ebd1e8cf077d002304a4ca908842e70e51fb2f21b57d0788b3280eda153eab2ab644750f3ce72286c803dc36e8df360f6b534bf4e871b63f30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bbf5708cd44eaff991e44ce2c66e5994e2071823c4229c5a3ab2079f3b92bcddd660a860828b88a1bd1f1f86a250321c02307738f4f4a2911725ad46a01a6dbeb6741dd8eae0f4548d8cf805ee6b5fb051c46e77626cfd4d2cbc249995472cacdbb90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023042e085800384d5c821fca2ccda8924a46f9780d5439dce639a47034dc29ed8d36c44fac20877eaa8b2ffc3167be888f40230386da7cb5d6022b6417333aee2e63510fa428f3b44c44bc298b9afb8b68b78469f64f4cb93364f5fe8c95aeb3a4a01100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023027db4f309fdcff80e45cd870a3fc4d00d793abcf6ecd8bf547cbeb77dc5da3be1995a34ebc0c97b8c069c4ee64fea339023021c51ddf6f44d9ba0651fcd04bf0ab52dfb13f8e152a6372a271c8e201ade0062ad2d4f3df9c021fcddcac7f970a869d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b4b85ce1b6ae7503a67ef32ba1acdc1150a96cc5c116f27d36e16b358c43e6e9bf7f5f512a49a74cbe310b621b13dc1b0231009b56fba777823ccce1ea74bdd1c1e30c069167162c528ce467e03db798427ee53b2409e4c95fe0d3a4da91c1613bdfac0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008f167c7e8933ad56f995a34470023ea02a2afe2b9eed46771dce4d97cbbef932cd60024413a79a87a6adc1062acced3202300c7dc3e1f9593e32b201fcce2751a444b3efcad4d3d3ca0c7ee5eeed2a28944b1b18ed6d82c75cac499b7a923929f2d50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008447bf7613b2232832b41ced1b0cb764afb0abe7e71bb9c6816138f7e181b2ff57b59cb15e9e8082ce4d915da362dd620230250ac896fc05d295124a008e4e85bd9e8bbc940fb1d2f0645e927c3b1b00fd619d0332b368975d50df841f68903e619f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023038fc0e99a76432fc74939237efb4d7d7b4024f14104ec32087f1646e73037b9ac7cee7df0d7226f72d65c9d39861490702304b55f7f8ca6f95de4849cf00f31f62be8dcea3c568cf53f9a15f1be7324db8282eabfe94a29d0230ae615d3c6e61229c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f696d563b2f2e482c8b917693ac65adf8705564d210e1a8648c26525ffa971d06da4c4240f634af274bbdaa5ed794c53023100f0ddde8ee37621fbf41832ea0ca5cdf9cf7ae0203b354fcb3fa1aef91d88c0ddefc8d5566ba7f37fc2513ba530b530cd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023032f81f18d8f5efc8af2ac08d7a1b9f1f5e28f3b29a11481e8365587a52f667046d44c3ff2412ce32e5022c4a776c1134023043a1f2a3076ffe262130e7a846209b744b852b5e4c427f0f0a76246cb70aacd1b3f5f07b2b37869fdb19628a799b001e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023029835ca80033b8c78488aa503c74f044a8b59169044587a6d2681499316b540f91a0de85d77b0634d1402ec860d4489c02300f1807d8ebc39d0f7e6a3d3e8734b51c5f04e9f2520a9d8ab5888958cd475cf3b120dda52d6409d38f246858ebfaec540302047c435bb5006730650230127caf390e200adc665efd40559eb53aa34ea9e98f748c5efca74aadb3022fc8827cfa43409913705aa8403b4daf69ee023100949a40cdc41b734762b351ff535b1ea922c8cc9ee7ac8b0fb13b5e5f6a242ea2ec7e1e7f40d23f46836324a8aa78562e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023026e3c84bba765cd7bfe39b47d316d2536f18eb138c96154eac2a65aa547530ddb203a77d04b61599c3dc2be46b2ac52302306330e86776df16422d1823074dbfbe4a714fe83d90ee4d0be724a8b8ad4ba3aa862c890510bbb7cc7262d19d529669170302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023052989934025e507bfeebc465725193fbf2764b7a46a636c3aa82042205d3913cfd72d3540a01ba3493cd5b181a9be3d9023100fae5b3b8fb723df2a9d2921ba661147eff67b3b056e751b997b35d56f3455316d978805d26fe0ae84c6ca75e6abcd1e20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ae275da4ed5e39ec639582508bd0cb711aa2d7da3dccd2b4c0031286201cbb8f5190eb91bafe69ebb714361716a578d3023058932d2798d600c09988c6a9b74c7b557dbce1856e6130705c5c959ee9ddba454d191d90e2b8f4d2f363812ef7733c660302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303fda668c5662ac2a0d0267e21ded77c65e33c9611bf579ebb0d5c937d2aa749528709f88558c6a0a1e72813a99e69da60230762bf6c7f08ab9f99223b386e29697d3b043cf62c676a60ce3d98fdffe3bd0b37db92a3e6b0d6cc0a748a08e9bb274e30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100db50d654a2c755038c5d5d4057f399f7c06a724656ea76dce66d53945abe39031d9cad731547df2a0556dde2d807873c023100c73bd694412fc92ca7db671369ae3cc067dae28d70ba8bc6a1a0e69cfa567a907644bb3ffd1df0f447fa514e356b616d0302047c435bb50066306402305e3217cc9d9bcb04be42dc2cd76c5de009df40fa399f8787191e2e4421849814dda10426041a4baea2ef4f2dced9b99d023047b37b9b32f5172c9e501aa2a5a8de6d3129e59cda01440b07edc5e6dcb7232d1e2d4fc9b7fdbcdb09e011501c2c93920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023069a91c1a6addb9e6c0ce6f3eef51a1c0e665347898c4636612f5c79baef3110c30f623044b108286959b75cd02b2de87023032ec386c12c9e45b3ed86cf4ad3437304d501e0e8cdd7f1ff50dad34f461607059a3f77037671ef9adf04757064b101b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301605ac6a0fde045cc7f7cc0e305ff9b676fe8f47774083735276733c4070903cb3e7057c2e54428c30cbe42352359ed4023100fc9f321dce211b0ffbff7e9fdc2a271358b81fb5467b59e4b426fd729b3a757d79c40f089779d74e292d897b306e2d700302047c435bb500673065023073b361f7c724d6357d34436452a8caedd34e127ba221dc1eff752b36d80a925329f1ae9cea08b9e31a96d8fade9ee4c6023100f68b0545452e410799d9380b8eafc0b826a583cf8fe9fbefe868ab8013ffee17edd3a8897e9c57e0b5f39b3ad8b79b890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230581c6b1af30dd52a6834f82b118c156be2bac7c596a396c1d592fc509722bc7c29764f83230b8b822678439e644e14660230391493974b4265de649c61c021fdd34ce8ce03b4f2b9ee34003b426415006a4954a313561d794f0171b932a76c3ffbcb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302c37bfe33b4a223b854baf7fa571f17c8b8426b91028b47589c69912695c138844d1c85b7686c5eb2fd669df11f1caf8023027c76f014f340078cb153c1b9e1e8335f5b0d35af5eb1ad0b2e219f1c54f0a9b3b26f57378df113829d794870263c9610302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023064c8fea91806ecb3e195012a8f060a12ed86793bfa135d1500a1b8c96e7f03b4d34d7361daa9c49468e1aabd53a9699e02300786578f216b85a8bca1be2f9a9509fd8334dbd0b08cad3aa667c23d1fbeaceb9eba6bc2cebc763498e08c8b78d1caba0302047c435bb50066306402301f5bd77c73b9f9632c68ff435a4d07d33094e34b5a1f43298c4a4c6e560115dae7ac8917096b00c9b23cdb1d515972ef023020e7f30f9fd21918c35e0269a22c3500fcfe48dbc05a2f0445817c8200d62542fae3e2d74809c62b3d37deb1019aff6a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230577052e05d73a55858e233cbc47c2598583547192fbdd76c2514e7e426075d5224155946217afd90b9e6b3552a5c68370230697bb900cb1bd2e994b0a138331f52a6a2d4af579a4b04de971eb7bdc38e3098712455c12fe5c151f4a26e748c5e30080302047c435bb500673065023100c3abf086c0ea2eff84d3f64df548b4dd67be29d28850c12b315f279c8d83c807fc7d97f5621c07c6a8ba0f5e3649a3ce02306b48a80da96c6a3d1b29634521c219657d80782d74c1de57489714016c8c3680a022c04be216bd4d4813ca7976d420630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023039e244ea85201adc63ecfb8eb79856a929dd376e50dc2791652fb9c6e906270f1cbbe93c2d5a0019964c693414c36635023100b01c9d1616091aab28a6ba8ce31e638f848c875907c4be5728fbb5c8e12e3073ad601011da761ef549b79c510603678d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300d9c3ff267653cbe411440e2033ce4d153ec1b528cc1d56b457195b53503d03059fdf1bc1fc4279d9ae63a6d7035234e023066618230bacedeeb4ad994f6ecb2f5db482c3bfeb9a62b8b0778322f7d4ed0d20031d3cb42058709a56a3714a543d9620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c637a375dd94045827a0c93b2b81c81e81d2fc475cafb6727c81a6fe44e462b5a920978c482f9582f3691a8a0cdc7b35023044053c0eea61adfd6c2e3f8dab51087b030bd007a3d886cbc0d2124bc89167b83255b022fbf74779acca0db1fe6791550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d9a1a23845551b360bcd5f21f9a3a458d149d4258eeba9833c42419f66fc3accf5aa321d37779d1b7925e8cf44d504cc023100cff99fb18eae49f5080163f514b9beb551e6862681bcc51ad0ab55f271861206246764a79a39cc5b97f0bcc972b8015b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008611656be5792053f5aa42d8117b9e6a012a445ddbfd7dbb5d1fa88bcc43901400cab868799fdd53b196f22a9f3aa13c023100feecc8b705f5c98d58d513f476225b115ad6f4653cfef22b001232bbc33ec8df5be5b7b33e5571291aed445e01c339330302047c435bb500673065023100841040bf225b9d8f0f73cd605a3d5ff9723c465a5c0ba2183be868a2e1e0d969be8e1c13390decb17afbeb001196c5940230495144d07fd8b137788c28652b60a062bbe5e64759c98fc9c4a4d98dc91b41bf2fd7a6a5496a9bf2668d46902fc871720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b5e7756e2ed547e7f368332a3802cee37697d2ed0db2f1f673266164edc28a80b17c1587e327af93ab1d4f03be56d06e023040f90e240b8be2d0ef55ff5fdb46347343f05f608662bdf92763902edfc3b6e985f40894ae3014572bf629cab0f0a0f00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304d52525605bc231c78801110bf11180f2702d708cae3a4ed02658933ce44ff5c47217b4bd772f28be26aa65b2120c4450231009ff710c9e1caf199629a8a2f12376de34482580441a1eaa0b2a969df45913b7ea38513ea0ef807232d4dec53fb973ff40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310080a657ffae3dd6fe808fd2208769cdd6c004a66c2dbd51c19c3e1eb5ae3daf9f451861af0f8821637e64c63ddeead153023100eb56645c35df89766f90397d451a48a4017a91556b436b8c8aaf226ff8331aa15d1f2e71b882a93d2a7a43c27b8c03ec0302047c435bb50068306602310092861e939655296f549c0a223ba9cb7f7b17574f8f112b0e17aa56388c97f4b6d47aad7b20d8db6d17bada2772aaf13f023100910d4d656096672dd16fd378439ab364c27677460b90c0c7c9ec8ce81f94232705cad7e8a5769b7e6b2396f49850b3770302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c3d4e2b794d716834d6e71c0e03e7b99167b83aaffb6ffb3b2e5145bc89a5c26798e4462def9eab09b2719ef8385fe2d02300b722efc6b68b7512b8d5fd7dd9b10d2611160f62b8829fe4e50fbfc609e29242fc03e5695c452dd10d645dd033d1def0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023019473194625c71c7cb3b0cd0417dc965377c632d027f0723cdbf1ad9c81c31960a05df90b4b963b652a654d275cd320f023100981a0a20a1a1a90f39768156110a77eb275965dd3356d029828d0e49eda9df23cf9b7bfed9166b75b85f8f0e762254a40302047c435bb5006730650230303986002d87491ceea022d1408a5f89c9c13d55bbb01f228ae08eb75755fc8d45cdfaae7986c6fe95f14fba287cb123023100e283e6739489af77d55c90cf64b008486e0b854373bc3be5e8a71e5d4f8dbe89ecc7ac3db96389e1bb926b294dbdaea70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009b8c29c5c8047d419c78f49cdcd69a60280dc3758cc86f8c15bd0db51d2c8c231a423361094358c7f22fa46ced199e0602307d6fc2db211313d4e2e41ad4e3de0f9e8e1a8d16b3f9e9b6caac8bc4e5de7549e47b4ab63adf166de2d216dfe1df8dda0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303de4459f7baaa61deb54232945b6ebe006c3a6ee8eca7b0b464eb5e1021a1be18047b4c95c960bc92dafedd6c6d1ef2c02307cbdb96ab2cee08072206c1f664f95caf4531a8ff162e05e76f3d8273bbfed138cd6865d4f12eb61ad79fc43656324cb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009b8c29c5c8047d419c78f49cdcd69a60280dc3758cc86f8c15bd0db51d2c8c231a423361094358c7f22fa46ced199e0602307d6fc2db211313d4e2e41ad4e3de0f9e8e1a8d16b3f9e9b6caac8bc4e5de7549e47b4ab63adf166de2d216dfe1df8dda0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302d0eba884f65624b3db2bf33e05e153edfcfa898925172173a83f486cd5ccdaefc1c27895091486bda8783ed81d6d2650231008346d72f4bf55a349e232201e3c27c5fe725b07f57147427b9de29091b76881b0d240d853891df0ea39ec67c194bc0b90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023073ab08627d895d6905946bfc7cbd382f9bcf68c598519a71ee331077289647149acd5cf0fe729b232fb3a12c9703f1eb023100c94a691326ea63dce47a0d0319de9ea5052a5d849c9b0b76346eba4beb4057f4a7db76b36f7c9d05035bd94a7d8f7c7c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303a6cc5e8ad3575306fa256d7cea029f03f49e28065c94b8f184dbde98f71b2a5814ef5d12c6386ba2a3994ced78de1e4023100b7adff6b882690c29e900c15cb45c1c25bf3eefdf6ec9695ee9eef64b077a10f182397a57c9b440b2561c9c499c4e6f90302047c435bb500673065023100be3f11131bac041cc8f5c198cd9f45034c83eb49e7c71d9e6eb2c3070f2024e25fed645f8dd54ba5fd368da9649e78090230566e93b6f98fbefdc5a3e759eac27ce1ac4a63b0cdb933542de0f9223e41ef7db6d011709fa0d7aab9a1688212a836560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306531e56871a1dd173936f3fb3eac09b5ce4234c11df46e7d171d1ab6a3704c0b04bb32fdd16ab06ddf28e60fb08bdf74023100ae8ea7fe3d261bbe654f3cab754f902bf205811415b86f44b6eabd747725b05470e51d9ec2ccaac276e3d4745ec2ab140302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302eccc3ba5d7caeac1a69e11710680204f3c1c51c31494795f1922a7269f1801feffcb395a8b30ddb0c1f46a5e0df925602307f3b65481222c57083c07c893c7834a72e72c241d3b1606f34d39f7126565570a9bb75e348d8ebc93dc1ec6253160b4f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eb0c3511052a67ba462093b4c8089b24df52f74564da311d2dba3a0b631e4780a7b8b0f21c107d5dcde648540f07a5750230515452eb7f69a4efc8dcb22b3f99e2b6df1aef1a2a0ff2b5cc7862b3db7aa2b0776ce09c68fc6c457ddafe87782df4410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eb0c3511052a67ba462093b4c8089b24df52f74564da311d2dba3a0b631e4780a7b8b0f21c107d5dcde648540f07a5750230515452eb7f69a4efc8dcb22b3f99e2b6df1aef1a2a0ff2b5cc7862b3db7aa2b0776ce09c68fc6c457ddafe87782df4410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023009fcbad3658d5a74f1aac4f75bf57a7d3d619260a5e6b1e0d38ef412b8b26b8faabe397d452bc89a2ccfc1d161a9d19102300e7478c2157c88cd544f881579db9086bc32e55f4edf89a8f53c72a6150c5d9ae6068102479e468153162f1bb0150f230302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023028de3898023933008dea7fb1d2af2912343bc7e1dafd32a02ba68ab4f39eec4c507136d2c7c151a4e5134c5c92451b4602310088d717b74703baecb47d75c40ce5004755e3b9b3bb8056bd604c88395b01c7e71b97a4275754cd3b0130335c2f3dd5c70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009fe8cbe468a15d6ae27d12133e8c414c179f877455e1d6ae02f6e2b9689a3920ba0b3289edb03866d583ffda4e1ce8a8023100878920c2bf0168f08f7f86f122f95dabf25ad84c96a36babcc7e8a97ca275ba48fd7ccdd4c1058063657385bcd4676e80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300e82ddcf8798fa33a090ae9a9f3452968b4e04899387b4bc2b30ee9639533f60efb431518a312dc0d5442b3df15208ab02301539f9580a62fd49ff594075224cddd86eb1dc8f67ec2a6ba2016e6154bc799428bfce676e4a714d51e55025e5b3d7230302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100eade67d5df2187abcddaffa8a716850d0a19ee268f4ccfcaa2d30e5d4c4d546a6577a7f155ca79bda5ef2035dcd494e2023100bfabcd176c31ec2de682189e3ebcd01621052e6f025aa05937150e4c2e57fa60330c48c664966b52a4e9c45f45429dfc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e386b1dd524091789765d52e7e8cbb9ccdd11f946c96257f2c0b0faabb04fc7d28afdb928179abbe37ef14476dfc72d202301af86b371e2543edf379aa64fa9c895e685a2b488b536c60bdbd1c5d2d07ee6024b5b64847318acaad233fae6a1070720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023048d32508c492113218e12404ceeb5fa80f33aba34962c6c0c3ca90865f5af76537c03c49c590391ba04cf36f757d23a9023072def0c596052c90e9e1cc506f4e0cb26d247fb2756e1b162e2ede8813718e4541c5a18c53f0eef769b7443f203ab6470302047c435bb50067306502306d43b4f5d0780cdfacf4ac628148a57274bc210a7c1682c0db1b720bf0ea0a0cec1631a753928df65866d8b279c778bd023100e0b57c199eee78a49f7d09155ea0319a0556626fa8683412b02f31f5a320ff903a94da1d7371458ec01ed13a1e63aca50302047c435bb500673065023005155f3911d8d4e539d2fa4b489758f691fabd74cf2be36a3465d1693740b6cdaa9a3b5e7b3af7fd83936562c650cc8302310081f1568b3cdf86433d4418c71e56b999dde30a78570502595f85975ee38dd0be58e3445db134321e810d73c3b13f1fce0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023009bf0d050726107a5339719998281ac8ea03ef632032c4683e0af35eff496895cf11b88f02f01238a2bd28db7778803802300af1b75a19ebeb99f77e780c5c81459c29be0398ac59aa9b400c98d1d6892aefdcc0ac53f3ca663609409cf5a04f00f30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303ceabd416d0ee89f1a27f9278cd118000ed96388438f0ba74591aaeaed81fd070c3613a5a2109598b215a4a0b860bffc023100ff8608319094a08e749018342825f24754bd21c1bbaa39c9f541e028d52be1d39fd1ea410c26c45c641f0da5aa2b19e70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300d9e88241ec0d8eec3d2182097bbf56f24ac5be56041c588cc9234a89f2e42daf9c7dc357e750166a27c631b0317a7e2023100d3b909781caf87d3bb11a418aa953c3ed2b452125d823efc5421ccabf67741c14fe69b5b36f1d8f55345b083937d62260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230688b4a430ad847298b44f959af570abe80463c8fff00a9c084928a00c025a0611c69142957f5ebf69a50a8254f778e8e0230576b5f0f5a0d84ba18cd9d72d7dc5bfc0bc35c80b3a6745ed94950fb42c4edc405033a0f63feaabef7bd0788852be9020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302c737b4556f36d6943697b094c279c4fbb96fbaa5ab0e5f2a8cda0915a2e6cd961c1c4f6ba357c73470f847e97e7e1e2023100db80f302a731513b6196583bde052cf74f694936bea1f6e4f2b25101d39c5eca942071d14f482b91fce566b7dd7fabd10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303eb5b38fd38541e79e20b2409bb9d60678a40fadceb1eaeec1c244c4b42e473f3992313293d2582730860d29b2e9e3810230423d669c38524a1c4239eb287969fb6e53d55826e4647168d61e1900da35b74e3cd521d6bd8243cd02c384654fb2a2bf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023051cc01882fafe84cf876128484cbfe1bf523fba63d8138774bf3bc1bb1020dbbb5f3101171024a34da46b469987b5369023100a9e507f8bcdbadb7520f09f36880e08fa6d44e6069c28010d706829223260ed7cb69b21bf8afaec9378918af1c67f64f0302047c435bb50068306602310085546302ad8f91851dabd674cfd6eae149178b50bbdb2dd049208d3df6fe04a8c8f5e13ec3f01f9316479fb8456e8d90023100c943a31b0b098b42b9d70cb435818a5b958f4b645b53ec35e922c8722d064ada8571d4cf6cfaf376f9106883812f113f0302047c435bb5006730650230745af6cbcd362201fd08bde6746d969eff3b4dfd1d189a04a20ef5afad3dae7fbfa47da3ac1cfb412dede05f41d1a2a9023100d4a54f4efde38d64f0840c9057618793a131784ff3b358395f477f74eb1a0e76c3477c0b9535e33fe3f81917b44b812f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310085edbc147eb48733e841ca881d7b1edb3ffae672c28ab4138d90d118ca13b3b5e4f6e18d4ee0e98530f209fffe0e272b02301d9ec6482ea753dd5638f5cd99582ad00ad349bfb97a6fe71053f16fed49389a4c7e6e4d5bf7745c50a8bfed6f1a01cb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e1704ef84533f117c4abf382069e9f65ee357c9ca4addbd3bfe9302c8180edf2afefc5056355cab6e63a03b1862fbf19023100c8af17497ac68f1419f7f9628fc9f49b3c18c7162fb4a7f9e065c25541894654081890f29c382e0a7f3d7162ee69b0370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304f219556317a543f3dce1cc1c94e3d72adc5c3544a2c83e11bba006794c29e361a8d016ef065b6b163a8b4c2a27ecf17023100eeca7b8e512eb9f7fd92342f37f9e33a1dfab509ab85c306301190a524dcc465dd2e4d0c7383991c4baeb832b4ebc0300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305c45709663c15336de52895c0937ef275984c1c2652359c6350b23f719d6abdda21974fff8563304adf5e8d1737f96e202310087d867809d269d75782f4e07461a38ec41774bb4ae7a6030c315dd916e5a8b673042bfbb830b979d44b598efb90e05010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305e0de668e6ee0ecb86575ea54c75ced7fb489dcadcf6d5379b401ceae32e2c517cf13f40a0a4dcedc505fa4ffc3bae56023100dabbb84cd7078f6daa84782b6ad785f071859d462844a7d98cf525a43b7dfcb1c7fbc97b06161223d0cb16d912edb0480302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230777d45e2670137e73a9134b2c0cc1797092bd8f834982838dc96954a2390e4f46bf4212764cbf9d9e00da3208772236a023100d176e362f0f2e32c10b5283fc0fbc76d19e93187cc231d247690525de80996357ca8077a30c2f740e1ff98807cbe82d40302047c435bb500673065023029f219224ea0eab110f353e339e046643203dfc1f5240d65394e9d1c0239270aec5424c1ee94231f70bf54c503bcca3e023100cc7356f59b134f8cd89808830da8007b5554239345812424e43043ae986b4417dae38182d010ad82dd960974d8a2dd580302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023076072810d52a88b4a49efef25305cec86a8225e24d03c696714e1322678c0d1fa5c9e16009ffb6da152ebf4fa310b99a023100c498c0683c2adb90bc94f532fc4950527c82be8cd080b27e6d93469502bcea53d9967b168bcddd1460e47dc273ec463e0302047c435bb500683066023100ad1716d8dc97bb4413d8f76afb5593bd5f0d36ad22eaf5f6ff844ce722676bc2bc0bacc39795c1624a1f87c89b44b917023100b98094ce540a06c5740ac011f908228da955c1ed52fe888a4e6a695f1748013c9ce770fdb1f68571ba589040ac2415a70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305740b6cea3a379345b506a8fe15e1cb0855c13144b24b36530cfe564ddd91fe3ff88df2b918a5766537aadea286b3af00230241dfb2bf9dbf68a641c9ec473ec3dae81ec9c89f5c1fa8960aad77f89fb06382f0c7ad83d6ac620208ce4ae507795370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301b463a4a9e1d6063c47a61442549b5b5e17b0db870f8418faa2dc10d26769d2747f38798ede5600476879439d88990ec023100e6a467891b42f7bc945a3c5ecd1d5e272f79d79a5771fb96f86d4326bc04b4db36ee2f4aef6cd5f1b8a5d0d7216c989b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023029d50669a7f6bcacb25ec73dafec60379fca5d73d2810f6c6e66500304c140b9b8c92ff8f342c995f25e08f06c28ddf7023100855ee96af06280e47b05e4f984f53d3a5a668b8ebc0d80a3624bd4c1d3879818798c15bd0befe88b0160ed1238a956a90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300d49cd1cab41ff8f20381401a70d8700864a9ba46e413525e6f9d28d294f481a9d07930f15c872fb447eb012fcf3959d023100f30ed3dd8dd8fc964a8a90a808086633feca4b87d27dc3a8bd52fa15cf5def570eb087d4fba372221e1844da0cd62a870302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306d7179102b3a2a797aa29582a33918f839135ac328417792698769915922ef3c510e0501d3c14e75717f601bd769591d023100b713a4a28ef1a519f4ccd8080d7519948d463beae0ae4f75493b227f36ade72b3157e968444b651973078133b4f42dca0302047c435bb50067306502304292bd31d230feb36a7ea031357976941225ba9ba1fc3a33df807f27299939d62d702b555c60a53b010f0433e81e6bb9023100b2bcfc9d43b1cbb876ec48b494926f2f47c8a5ec153749a09a77eeb582dad411de43190f8922648a73d414736c39f0b00302047c435bb500683066023100f3f7417f119890fa5c317ed2ba4c50424a7386e35e714c1840e3a857435a47676692b95d53acc30c95d68bcaed575277023100d87a5aec817ae1d4cea1e874804434e8a308920acfcfb1d6b6cbcf41eceafdb71120314950e56e42220209e463212bb50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e286a83129bd983106ebd8f2023c66de3bae5e13ec123476fa18fe5337b28b73c42f0673fa390918597bcc6936875544023100cf18d2b711a461b4cc7b19254fd84e9460ec23c6e0dcb3f49031688af5f0cd095b5e668d98fe92e79e4ad4b3ee00df150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d56bb104e9b66628b3a1c688dc9e1bd3e4d4ef3be50a5ca593b226820f95331505322b31ad387ea1fc41fac23793e4af023100b124d77e6eab6d7519062bf33b0f464fa895d82a95b93f0a8896df5b9054f4fa52c6c9b429a1b068e372dc5354ad28070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c03011a5dd55e366703e3a5465588d58303a4198faf26607fd46052b6cc48240330414ec8f810fa7940a135714ccd667023100b10003a856707d4a6fc37fadfa925462be3805a98844635d49772689b4ed09328e31bfe6c68b9e27eb5ffe5d0bbd03510302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303fd7dd8f3c20b32aabcbde876e35872b778c0c45e8e912c9b5bb4a72105e7313cadbea273f2209310a9f586b47fb0e4c023100bd1c4a921da49f4f2b117a019ba5ce199f57aa29b5d8c2df4071cd2594c72d0d78ee37e144c07a52bc9bc96f29837c7f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ee8e08476e256b127c07f04269b9af586ebcccd60e92d06f86dc7e3612deb86ca4456861f43f4a32cc0ed6fb240f12e0023100cd6b1527c92fe81a142e5228aa10f7039d53942f35f3b9ab8f5d6b21fc21501297b6b1bec2fba641937cd0ef9b4db69a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008802fab8f773000c8b772adb179b2991d2c833661b83242b8dd3d708b0f7274e45f031afe0d5c6027bba9026e3db462e023100ecd00d756ba4f757568b4d960e5aaf0fcd6121a4293f7148b4bff1c4066e68be8b0b6319061cca371238dbc5a4bd48070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230340c6ee55d80f52bfc4a883051191e47fe6be842624a7df63705c418194d8640c9013418ef1e8ee38d1bcf8e2573afc202307be832df7482c51f7c649f989cd2bce70302a9c33717711ad55e08293576ec8dca8d276c4155e76daff0ba86eeb0c9cc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230600d3f052c71ac114bb58e0310b1379980d9ec85314431f0024836bf9a94c747d091ed143fca81005e5395baaf3cfb1102304ac07408715f4d209dad0dcfbd25fc41ae80b4645089206ed1150b35e073b3b290b57d528ea2537cb30a8f1ab3ceaa730302047c435bb500683066023100890a3c9ec97f3a5329080f75b37f7ae35ec76d2ef4b075b667e6d3f1327bc7f482f766c8704f086a56f1adc8fb4773a4023100cfc98288ff31f4220738a355a18bdfd3b3c74eb54643185a20f8ae3860b7b28bd8bb379582b44ee8366334847723561b0302047c435bb50067306502305cbfbd4820c56cc8146903f42a82ea6ac90a199812a6404d47405f011c90e945177483c18f61f1024e31aec86d3b98c0023100a239d9c21cdd6e88dc793cdf7b43791233b19a6cf2d2209405d75e0cbeca75a583097a05c2ab71ec794fba6a127920550302047c435bb500663064023046c916b76d8e5c0bb3e12a1744d5c35cacf3c092b1f1d3ded7345ffdc0a2ed3dbb6aa285df3b19d4303583fb05191483023058110edfdd0a88fa178621eef2a4059ac648c8fff641f705a01911428815c7c7ea4d4d0c5531eb47dc16531905ee98f10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c93e8bb840e6ad62cfaadd170f5dd5b45643c140b59098e59fa9ba8b85ad214c6b1299c2f60dd513d62e8624068496ac0230118f26a76f667cade9418a22eab733fd49e7e42bf6a443b1f31d722c179b950005fedc922466c24385efdc613c8dd8630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023057f0e01c7e2459edb3128e5808e1b8bdae1f1e31079a46f1ef98834455da105727d4c988f726389d78798ca6186f5f570230284b61d75416c0f1273b0ea21e2e3d06dc6889ee4947098bdfde4f245d294d24b6b4b7bf50fc592a24dd368996eb58c90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023050660f01b82588f52acc7ea8b6b6e41e8f8377e55b0ac79419b2be0c342992a27ee67c399ec38e3ca103ea32505f5d59023100b9059409a66cd82d86d71e915a4e22a9b59cf8e755b0d0c62109e7da2be9b083145c49f6edc1146da5160ee0b2861d7e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ea4f0a8c4dfcca547212d84bf3b93bbdf9bd23d5163046420ec1c7f45112be500aa724f642c9250d4a1928891c5becc302302e687638a282bd38b4827797241bceb20b29470dc21086774fad82f2317244cee8c55a5a90cbaaf482d1cfd7465983f70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307e6b43e43b95f0ee457e6ce2d7cfd836daab8429f9bfe0cd9afeae36844379b2da3304d5c3948dfdb5c97024e99dad8b0230016cbc30f5bb3f54f61fd056dff74121e5c4fc4ad5811b1f1279fd8f5c9c764b65a162e29b1f40354290118f8aa522760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b411267b0faf9a7114b945686edfd8d8cf12b47b9f75b4a7a4c284c8b2942e3e4e13bfea089d76086d82932dd84e057c023100e10a5e75ce0765e2e804a110a521c03f067702b63188c9a741911105162859cec8aa96ceb9af5f57d95d0a1e4a2afa740302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310083388a9cf972193fa264fbb2904aac1a9e9c9ce803242479deb00d01aae7e3a237f1e1285880b940eb92c64144d679220230229e7584d0a930fa6e5666c3f9ae2bfd8e1b7cc599b029f380cb6040db5c90d5e86d2d7ce1d7d7ab7c026668a4beb6b90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a4ef7b4d508d5f85112f4afafb37070f48e64554b0def11b4ff10336c300c70e2c8ed4a154e60b41a7a0446dd653bb3f02303f706bdd5c8bd5dc08a33fc3f2df823daa07064cd20eec28eae163f2dadbceeecca256139d191743ebf8d7f77f1db3080302047c435bb5006730650231008a0af2d6ceb39b2ea05e7504d2f101f8b932db533a915d443849bc115d64661ca0eb7264ffafe6378ceadd8b084133ae02303991e4c1bca35bd659946253f0167f7b0fef79dd53d67ec5e5e003bc4dbec068bd42d3c18df81bd10fe01c0bd00c9f760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023039e3675a2a42d942651680e86118e24b9e42a3800af5ab7f590254916751c07cd16b42c37c5ae4c8d39d6117495758de02306890c18e8bee8b253d38265bbf60b42403abf7e1306d8ec2704003a7c3ac28d405c6b0dcc80e0a273b4645916f344d260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100895f256fe9d6beb9a7542cb2658a1b1e9a5ac906f13391aa092ebd12182721d371c28c5b04b03eb0bada37813a2d7e8202304291383baa5b73ccdf3912bd59c29fd30bcfd1300f47698734b0b5d31e03a1eef6f8cb5a4748be59ee2148a6013d85530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303a57fc42ad1cee2b084fee8c2c447748bc36eaebe16732e50f95c0f7f87f8c69a952001889f39c1f91f893db67a8ccfd0231008d5908cc05639e6399f6b587523f15292af4e1a28f4415ea9e40a1bc90b33b87efd26619d5ed651d1e0ff3d4c85b5e2c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230493df5c5420538d87801d92f450f98532549efa0e10e99cf4c3cc6df488796d648566f014636383062cc8c72e57106a90230756cc1338b91330e490418a3663382c92ed60f1fa648cc441e9d9d61ded9802561020464e140ff8f427c569f0eb03fa00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230022a84f7463f6345e5476b6456c1b8840533e2e7f4e43347257deddca060f10a85a63c7751f5ca59f847f6a55640ca9d023100ea26ff987e4d99be543b7015b0a3c39ae3a4a95e44a780dd3c6c4a6da03f6c71c609ec93a1868c32fbe399bb0f7153460302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310091a9e3256a166e4ba50d09d6a32c6550893986be5416157f316a7e926bea5f2f05f4279028e306794b5054cc9aff3e6e023100bb4ac861167b6f48ea66dab762b036ba7ff33dc1cac5a72df34874afda0eb0e06cdbde63cd065e87daf5d29f5d9d56120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230594b5d748aca1fb2afe0b4e0d401311ad98115ad91c3a819dfe584960e0efa982608b120e3401c00a4b8a872d95d5e3a02307f01d85fa7a2181b51c322726d373e49ab74bba0c7fc01cd7e3996f41d5230430d385a9c5ae0e66a9cea8f6db1ce22f30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023042d87dd590aacbf12d488caa8f23335573e949348cfa55caec2337a4b785f96ddb568d0091bb9e7d4d26eac19aa97a94023100932daa2a1344a3e45590925b380b5e31517f23f5907bec0bcef0abe47f66735904582d4d9ea9477cdb9b0b4703955e3b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304e363213a1819707afc42ec5321fa83ed8da44c1ef327016fb2036e1e2bcc584a7f7623bbfb6da407be5606c77dcb289023100a4e647ab7a0971c22d55f2df041f40657a474ea72b5b85c21e247ddd08d0471357a552f9171db24501ba8b84232ee51d0302047c435bb500683066023100f1eb654164fedf4e551af9766173d2a3b8224059cacafa9fe1dc249c7f94f2c99d749e9b52ebf538507a7d9b7783b3ac023100d00c3f230a87c0f9bd2d9fda551aa8ddf6f68e55b798af219972a20b1ab946e5152d8d8f740cf568919a0b7d95d690370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230295ed9c3236d260d64514f97987fb53a3eae8b7d7a63daf4962aa6acd2dc08a45b0fcf0a0ec9603c80d1e7e0c725160e0231008e8dbf8c2463efb01315e9e80534648255a9d33c00f5688280d5db414a627b28c237307e2c2634589be8058e56c7d95b0302047c435bb500683066023100fa3403cef6c4d34288f86af3bbf7e4b4d8369b8c1dccdaac504c8f7f8e339a30380929d7f1863e714f72543a9eecaf59023100f3aaa9ff01233a708b78a1acd07f5419a0ad52c0eb0f0743a4662559bed34f97773333d863caa0d7ee70887f1cda8cd20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023079167b9a177a7d0a1fc0525cf153b2d06e0db727fadc1ff06a5252a64945e297ce98922f64dffc029e06116355ed0db5023100e08ed5d7b5b25e567d77d8d6a8cf9c24a5da21e9384d9b627f0f04ac690bd8535e61f792b27e68ecc65b82b05118a61c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b4ef5924e15ed0b1c30cfc4b9cd138a455264a2395e83f9becc8eb6486c6801019682cf3414a6343c4055bbf37020a620230020aab1af2a5f89b3433705e74462efd58ddd778a10b135581d920a09de0302d43f0ed7f15d95718057509f5421c2e510302047c435bb500673065023100f373867764eab56ae9802f3c7c845d4b964477aa7b848b6fa5fd26aa3dff75ac2f5449ef241b3f31f19f0968b581633d023074877d80328ac26811d59ba547010ed0102bade9c052a98f0df63cc8354def5ad9c5837924d5ecf4403ad71eaed340350302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a166a9d0301782b68d7a048657a8aafbc79e7b5240f2d4f02e8a76b97a81509c67888c260f63ddd78040a7dce1743c8b0231009524e75d8bcc177e5cee1cd8fb82dc4e6ba35144c5375c9c66864253a0dc8cbd9700e974a124bee20a071f4e45311d910302047c435bb500683066023100987f2f2adfc71b0a8fa044525a5c892ae6b699ae7e0d3950c969ef600f30db027704ca23e3b929ee68bb176f905c02ed02310093266386bddda7ec2046a1a14e04c1d802b4b856f1c2aaa6564f70e62a73ab7f382e3322c942688d391670cb6c2f951e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f960d0fac1a613879857fa1324ab7ceb742f3240da6856f9c02db36ceaae18edbeece49ddaa73a076d38ebdbbb62f35c023100a6f9784d2fd5d8f93f4a8801c555f99b34fb80de37bebe8e67501b774e8087bbd8d3ce2ca43397987c36182a6eecbbb50302047c435bb500683066023100a52f55dd395451a48e9afda137e6e1cceb0c4c4dec68a6c393ea61189d7016bfebeda96911f36ba5d88fec927ec71c3e023100cc5b3b7aac448d29ebe8e2955a86fb5ea123ee4188777b7fa4f1e28a683f71ce28dba39894ee9197146a6a938137e5280302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230245ff8271c72ab704f7ea09b68a2bba8808933d52cc24211f6ddfd40003fba886bfcf8545bd8916ef126f52580e6d92f023036231fe18571f6a7c6636132873089b64f57e722ea830db16387add4599cba27f27dead6dd8f7142978377913c9ef27b0302047c435bb50067306502307f2a65224ea5008bab1d22da338e9a1b672de30789f958fa16de84f0d5e024a546470fd5b5c33dfe74a1692cda098230023100e1a14c4c99f5b03021b1dac419c48a331f1a722fefeed033f0a4844a2c25ff08fea57b0af5403c5d3aa6f3610a2154670302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023005074f560f21d85de95a603a0345d5d4c12067dc7a98d01b7b5c4fab9cfad4c034dba419d69c60c052cc767e29520137023044df9ec289184931d36f9d5fecb7eb3067902e7006de80f97729319f3c11c2ecd0dbb3e18fc4160b0ef66ec046c9178c0302047c435bb500673065023100a905b758abfee05bfb3bf2a511e6da72144274d2dec64cfc620b0e497bebf7a2846fa7801e61a98fef1d015c1613b27902307411ec2093f9b3676f1a9b0f9fbfde5d6fde39f7cfe742ad54a15f0646958779fc4fc9cbeb7b7a4102c2097d72a13c050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300fe190418991238e7e3b179846e9df9d2da19e35563a8cf06ee5fb6d42b094a0c1ad6b62fe95b53fc6f73cf5dff7678b0230535a10e778ea03b9d24858b3839e418cfd0bfea7990a78fd6e1fd6c463d94245a9c5782b3d26b6637984376d67231ab80302047c435bb500673065023100cf6a32c9ea01b983672583d8f8a5c2ab389daf3c43d85fd2e517adf60f407c8885f0432a122b73dc255a02d34e4439bd0230145f0e56506b38b085fefc82e20dd92c947e7a3da415a1c4beff5b0a6f388c29848de7e9bce9cee41c64f66c73cb73a70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eaa2c095d11bacf67ebc2ad2b3e25a1958bdda243bec7e2ee66b9944087be3a4e89e75563f90aadd7e32bdc2f2d0366b02306da0180ac9e18926d573a00259d3612b493b7998b5538ccdbf22ed14a81296d785ef5ffd22b1b90a29c5460fb98e9bb80302047c435bb50066306402302829c657eb40bb133644351204d905a846a2214aae3efdef0091b246a3726230005484adb4e92c53d45b0241426c24310230264886bc51fb39fe2b5b29d08dc20b091a54014254ea156c3af0787198998ae8b868c7dabcb93520b13033ef77e4e6730302047c435bb50067306502303c07ceb173c3e61d846a813011d5c10bc8a27512a1254247e2b38dc01c6062f2993427e92a83cf09a1e61c67c7b39b34023100ab2181ae05cfa56588f3a194407464e8c8a9414e5cf065db4b318bcb56f80d8732e9ad4bb8d94a58d5a74dec72075a7a0302047c435bb500683066023100fb222e16d1b09234647ebaa7605a8f62d4449c77c0c3270590cacde665c0f8f8ebc36e80bfb4b9cb929f237a9b5f826f023100bf11f1737d63572e822b8d386d43c8ce44c54f5cc7491ea0b24229c666bc5066c495d9d030a667846e9e7e89a315a5e80302047c435bb50067306502305df916d38d8aa9d360a563301b33b9a44e85b623603ef61a40eca8d8406a79667ec098c7f2709a08c7e6f75ffb5ad6c7023100f694ad6ecb7859843664d500306d5f92648becf482d833de15eb13edfa0b98a3407f2d20e9ed0904f7e1a47993c9b8d70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ba9caa4ab4298ee24c4c15d5f4749bb949cc87b924f8ace09dbffe0013835578ba3f8860136f68291fc0135d55a0777202301989ac0cf6e6967684e562c970f187a6d03380598fbacab2ed0cf540a70ad371a49ca7a5c604551a7fe4e515601e90960302047c435bb500683066023100886a5fa75668f01d4088a9fcbfd7fef399569e5eb2e9df717644d3a62184c978647f4de20d8f477276fa7474bf1d27e5023100c336fd4f7b15abbd1fbebf5889b2b9696e0b3e0bf5c79bba044da8f7b6dcc85c2e4f053546ee232ed2c303e16e1f02800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307d36b9766c6dc3f26cd13d5be4f62b4738f90b47dac448e46a2e454184d8adda54b74f6ce0e7612a8f80d6389619f738023100abe97b78de7139e8595c34ca52fd08cbdd66a379b5d3508c4fa26a139cc07f4db9ab4e3bfaabb2a772f68de70de7fb2d0302047c435bb5006730650230708bd18c81e8d734ccf109d7fd63131523d7db52eb8f9fae3415617038c0ca3409c6cd3fb247f0198de185175dc22273023100c42135d4892be6a32cb3fcd191f1e6debb06158a55156cc2c23f4c08215db8a374e060b9f71a8075d4201a17ef0f7e340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230461353bd2137e8747554e76860a858d35e5e58b600ab4fc92f004dc4a2cfabe5a3f2ddf5415e39cddda417723d4079c2023063e114fee5aec8b19b43103b10c45091b998f3e3e1ea2803402cd2cdd2dfc4b44532ab1a74727b9a39baf620d30819100302047c435bb500673065023020cc36e4497bc64e5c696d5b1ed5ee0910df0561d5908f28628f17aa24f0ece021149df67ae6d3c0566f7481bec717bc023100bf4f79c558589082c3d57591d7a0aaad6ea062e1a4b0d6063265a45dbfc62ffab9277c1353f403733ff4611da376b4430302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ae07b7afa93ee71bc4d60f3e965473d12b97d60cd9ee7e0dc0eeace93f22ca781556984e20c1bce6899291a939a5839b023000d4d8f1850e2937e3d7cbb4931fc1cabdaed258d6a7f7010dd0fcaf5f696a9e4081f8f68d1dd21489baea2285758bbd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023020e46d8c2ea9df36a98b9743f2862e6a690057b9bcf40e77632d5757900aeb8dff5d17ac762b26040a99368ad5139ba902304bb36a19f466c08459897457a3d2be1f418bbc727cd70f501d1e8259ded83ee8d58cdcc17dd3ffe7511631ce6f2ab9ef0302047c435bb500663064023015be5a1b86433e0b35e5c3c742272f4c654959b13ce9f7dd0a2d6e4728c985287bf9edc5bc15f49e5b9422603af329b20230185f1b9be53297e05db0aa27d67b6b9fc65af8bcbf1feedf60be9dd9af18ac9805146c182bad1fa70da25982da38bd980302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ed456d5009f380a3dbc68d6f151722ccc5baea2c52dc0c396b959019d99939246e9b854dd46eafb4ea567c1b7ae78326023073510b31bb531718707277a02f4ca6fadacdda0a68adccc837cca85f1d5af469b7d18f475e9d49dcd619b9eba625a0fd0302047c435bb500673065023100c33a4051e59e399f0760bac456a4b787658f244b10eadd29d1c07289dcdadd403657d1bf6b527af2c4afaa6b19e0100402304cfff836318038bf0e363a8816d7775ebc2742e337c9a00d09c5a337ccfb3c7357f59ed2776cc30d3642bf51729c98570302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ebae66f783672b68d83600b3a6e029385172b789e9dd381259cf178f896aae64a0be6e25d48c19a7fca6d74aa0e01a37023100d3c3855e7cc838612eeac452bdc8bdb5e564c4874c1e3a92c5ee2a539e5c5f191cbb355cd9c1fd12800a1b5c6641b2250302047c435bb5006730650230781063122ce53d4e0396cfb027257858681ec121de17706489b9842eb708ca61f830ea12a90fead0e01f560bd433a3b1023100cf32d3319b15989e6c53ad5c79fcded31d95b0358b0c9dacc0162a2dc966cfd56d0f3297ccf5c7dd6bbb4ac026ffc21d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023045fa2dc79de801b8aafa105bc12491dd7554a27b3a99284ac7ed441b9ca2854a15b66309a62052f50ff92754043d0a4c0230710a47bdea94a7882706d36f914066fe4707a1ca71a8091156fda96ab5c508f1a0ba4237f7233411a2e737bfb66c03be0302047c435bb500673065023100d4947911650dc310e186497428d0ede29c86e304e9b5bcee5210fe4345e6c2aa3152790afc36d9ee5aab6581a90b43f002306357d2bbd2da974205d4a1a18e0ad66988a18e4979b0fb3b96edbd67c92c7004a83b5bd3ed475e716af315493232ca8e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f5879c88a0f3b596ee72cc1f65843d42c7809e2476e9ca18fd023ef60b350e990c7ab55e8d99ef928075e3783a02ef0f02305d252e8f0772cf8571e01bc7f0ad1777ac50303fd658db8d0984aa4f0d186134e43cadbb6303471256f0da80984466120302047c435bb500673065023100b99ebdcfe88935319c962cd7d026c88ad9e0f223c362c967777143e874267a2acd66f8aa8cf092a49aa95830ec757f0d02301596288e24ddaef8c6508c81c436f4fd30a8763841869ffbadda76d0e84947b5766722bbe2356d5bbe11333d9df74a380302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f87bc01c3ce1a7d9593e00b83189c8a428128c95ad3fc31747d65f6f5eb1ebbe78228ac9b45c3c93e392b06550d8252e023066a0e299f8e0823775fc55835899a96091b14129ae0f95b0a93c752572e4cdd58c345e3ecdb7005b582c8cd9077689a90302047c435bb5006830660231009f9d81c9c19c5a41954ce504d9d987ba6ff3ca2e8f29023e9ac09befbddb531a2867d40c079ac7d453e6e9845daa97a5023100917ad411c40493e53e6551096f3b7d04a92f7603b5b8cdbeb65ccf40ea7966fe30be124db92e0e7b4c55c791f84ff2210302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023031b260ee7fd64a11a8e9cff9db22c10f9ec334a634019b8c45cb87d673f694b9f41b29647ea07a5791d80ccfbf217f76023100d48edc62457da06698e3cf9e05fe7720c66cc3fde4516807eba948a2de741d12507c81f5278a86490bba0ba4857fb46b0302047c435bb500673065023100dae27fc5b55c91a515ed32e89c0ddfffca2df133482c764f6b28ae5b447cb73e1532a9fdd38b4992133939854a7110800230707485fe23c9b8f21c1f0c6d9b49b70fd035babdd007e1452a7fcdc090e06d7d17d922005eafaa34aa29c345266c591b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100de5e0d3c8e54b92d3af2253332f65fd89db0ca1346adab996ffc0d033f8f533e6b5b389ee7801774ec363ac6c07fbc25023100d2e75fc801d8c04a1099ac868ae792544101e1048d471bec7f07e8c748919b0df261b266c0373922307ffcd2df55431b0302047c435bb500683066023100fc0c52a91266a2f7c0c27c3918c576e7d8a75acdc51dee7191a1737bab6e377b3d0da419ecfa19c7d68da5cb8e5cf59c023100fba488a61badcf075c67d74e72dd1a6809d885133d71fc83487ca931a077e04d1f92c9822be5af33166c0db65de9bc680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230372ee553bfde2d7a49c859b19955f276d727a27482634f473872391695961592172f856b76242abf887053ecebe9b722023012967d39534c96091c68abb6ea62649407d2db45e7460a51e15983726862de62b8ec124e598eb0cf3264823aad124a960302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cedc83b2c467de910d5e08c875980554124ad3413815bcc777485284d60347bc496bcc0d75bbbecd2b5062f32acdee98023100f7493705daab7b560097fbf97db45bfe13a85c4e6b74f0f923482cd4f49ef180523494ffea27541c95df1e2a869dea480302047c435bb500683066023100fa26e966108090bcf7ac724f09a070a892ebcf960ab4c5ea7ef6a3673220356014737f575956190285ce6e7e2c21a7d90231008cc17536fbab4253bd4312ff96aa113b6b5240cd703933a413600463e05c4cee11f6bd2d8c837ab3f96dc9168a0284640302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023003ad674f87331765f9b3d74fc3d9b19764f5c0beaf132d83e2c8e1ae214ae6213c224a92e0213c189ac2052a93656b340231008592c42aa28f01e0b7a220c0bd91166c12006b234b2aca548e30c873d3ba32a1af40fb254ecf00753b091c30ff11b3600302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301c8d5e6ac59aad136bf102387c3e531fbcfc29196d8e2dc27df720029c3c2d4256eaf743e043c25e28194333d0c1a181023100a03f29efb15c73d36ee5be84f0ed24c04a1b064eebd16ba47ec852ddd83687628e7cdc9a63a1606a9300a6bb442545b50302047c435bb50066306402305adbabd0bd14f463c6a472b01dd185e903a1a71160eeff4ef1c0862002c169aea692b43cfcdc670f448c35b27f428584023016ea945342765603160d33ec2ea0a57e9d21af37e2b2ecd779520369ada351ca1b705025c9a863dca50c89f9a69290ce0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009b22a16c1133b7358d99562ec7bd579c16dace1b269fdb87fe2a4b7dd6c5917617534baf0e1131fed7e328730f46d688023015f431646930e5aa43eb6cc9a2444a20066b3745582f6951513578dd8ad1ddf282376fc033b1d36623440f343b54cedd0302047c435bb500673065023100e1b235f7b244d0c5518295be9d455b08da16002ee6981f623b2aca307dba6e1e7d3471352e5b5d3f60bf1cfb1398c0c10230648eec28d8cbc33810260b0d161d0c0f426302447bf6be54e21418daabe97375b5ea94c1fd7d8669f008698bde6786720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100917a99077b769d84072437985b00ec00d5dccc8617dd1c0e4d6fddae679f9c49c0116fc487c4b4bfe752380f51e76b0b023054545c25237b32ecb4c345fab761f15c9e0907fe288268e04b290b1b8261e29df142afa208c90fd62b941004006e90820302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023076582272784709e09036a568c00f628e31c57a9f9d373828a802cd9b39efa460400de8602704ce3cd96444b62e89745b023047c113a01b4cbca2c0a7812d06b63da2e06f5d61f48aff6a0a7862f71a5aea63092f89546ca4c7844ff57b69620dd4c70302047c435bb50067306502302e45d1b5ba2a7347549641e8e745f5b280051ad6f20d4bcc0a5bba555613e57d3b64fc7dd9a398aba791e58dbb557905023100cbf15a02de167c7d0325cec7958bad8d73b4fb063dcb1d731eabcdcca6ec3b7aa6e041df281e46ef05d8bb7d99fbb5ad0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304b07c9aa3bede68128ba9b282a3d50e909cd2f9df654303bbcd9df0251005014f64c4de809eb33fbe140acb1c103f483023100e4e099e069952c84407c14cbe35da1642beaacb0db09563ef779dcb7ea56dda99ddf19eb917d0f23f522ede8a1000dc40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301b68142979aa043d89e5ad1ed2b74673776bdec1b205ca3ac01a5ae5b6f9fbf5a213d3e15ba18ab7c0bc4bd91ba1b6eb02301ee334856109c9608dbedfd1fceeac45cd0cfbd867cda49eecdfde566ad00a05e2df42593d5a4010b342e1f162ad6d0c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303ca7e475b74eb586873724d5245dd7624ff9e1ffab5d9ee6146577002ee7deec85db7d329daffe661b0220b52be8549a02302dea138c9b59a9f391444f01e38c054bf9567c4edff41b8b350a27f1ba504371250d9c25a50d77df872eaf573f5f45310302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300d811f2a68d4d7268c17070f4c2784e339029ffbff01310e2eb150aa4566223a7a0895a8ccf85d9a0766bb5e1abab760023044469871882839f3c273b11cdf2733f32eb4fa8adb069c667a7450a7908dc3dcd8fb0238d8fc7e5f661a43bf0a7af3590302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009f53798bb0c7421c4380bb254c70dd8b9a9799560c3c8e0f0168d4f49a87c79caea48b5da7c3b86a38df63e0f297d4f60230763eeaa4aeb4606a972f45fe8a9dbf92c2153991d746776a616871671fd046fd02f2db92d08468bf769438a3780f8fd70302047c435bb500673065023072fb1c591269bc54486e26dafbfe112ecf2754b489bb416aac1307f1e369bf881d8585562e6eb0236efac0ba6865e815023100eea99da6b55459b522ffe3560efdc19de0f3b10aa4cd69c5308742ca61ac6ee672a7c0e2f4f371ff3dd3f2db9e521ea80302047c435bb500673065023037d4b849a73cd90b7ed0a91823409425062255108a6a3a6095c7655e9fba89c89a31ad8c457f8230d08792cb64ac98e3023100c9395185a4c7376b59863377ab5498434221d7ffa13a39cca7df464596f00158c77035759de69de16b836f9769662dc10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d46e532c4ae82242707c1d1a93fbb221a26af7015eb96f5c5d08cabce1cc1ed66de92592c4b26112e0f503ac9cb3a19102307e27c4cee186f3537271c959da2cc1d5d01cb43f0797749a47456b9919722b93e70a05816e541210a26738e009cbe7d30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100da365fe10d91ee9100502dd6f8781f840226184dcf598a449f35084f3adff39c00220275972856636b75294dd16c0320023100f5e1f13f80b3f01ab82d83fcd09438629677a40be8aed5251ea8a9fb6a01b6c26c71cf7d0f23ee306c25e690db4bfd760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303b8a8fc23dab06c35851993df87bac439b42104b4c4afa5dea44f21d0bec69bf1d86f4e6b0eb3956efbb5c3536d674ce023100a1833f44e1a7d87f7a6396fbeebdb90f05f04603e358475efcc22bbf196ab060999fdfcc173bc4bb1bdf81de94bf64c80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009b6c284dc53c80e7466f2ae8328c8bdad4f6caf76ad366c4f96209a17376878d6815f23eae58ea9176d1fee766598ed902304ab34a30291641546e02b8e2570968ff7888382e8d7ac27b1537136ff4fbda46788cd9784eb269cf546e255455fd96180302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c2c6923481c1a72979f900e97d9b03968a61ff935fb92ef3f5aeb01e51f2c587dc83df6cedbaacbcd5477a9da525f9ec02302d7be54473494f77689ea96d0ce1894e6f74f3c6d7f1bc97e335ca73e688d289f71dd05581e114c041c697cb54f9ccf00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fb57c02dce92d78c6e6da93e2b1ea1adbfb08ba3c9f90dbda914e47cb0d1c5a9548898b32406d46e1570f3cc119c6e4e023100df14aa6e22d59b1f889a32407bea0db65c5220a54b4515c82522f5f9d5419adf021a066e4c088901c2987a15544af9990302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c071d16516ba59bfdd20a3fd12085cdbd28a2d005c28cb0f00e2aef42e042e4f39bde01dbcf58111c12f6b3ca62ce4bb023100cf60c94b2178c1287ae30632130c3031f83bfa80cd2f8ffc1f5155ac219e46efcbc58929230d8bbe105c3fda4828b9f60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306fbb8334a6f8c9a1dd86dcf40f5b9a60781ee991c0c79459f237cdcf15a634b914e3f3d4773bf066c949d2cb0438760a02306ca3540495d4216f4ba0442cc24869a4b7bd35962ccd6c7e528f32479119dba56bda0023388e37a5a3bdc99fc0d23fa00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e565b23ae69565d5792ac335a9d7131f31a86260b337e10b28659e83f37bb16ea81a8dd5db44ab665b606fa1ab2747cb023100a9216e80ce017938b890020c18efd7ff085a33b94d3f59d52ea182692f54b90253d6acd975343351bcf4cbca4ea562cf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100daa4a320404346cc2aa3b8b39ca169fcaf686d5119a62e03a76c82027df42b7be2329142fce2785ae2adb424cb94a20402307ff70d38ff9a1e72b848749b194ffea3ef16ccf186cbed61c4a0a701861044b9a9b658e62b5c198c049204b8f56e40500302047c435bb5006830660231009a387636cbdae546c610876706b6465914caf4712ddb843d34dd449d4596e5a414c00d8eaa23341b6079eb773fca56aa023100f15b8d08d53dbf16a0533f80b741625f239af23371637f7f5546e3f4927ff9989f38ecc4b38c2f21b0949a0d13f693880302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ca0823b33bed3852b18212f0b3e0df4f5176d8931958c37f8986d4e9168c539e18e5b3e7cf158b6e28b2c7dadacfe20c023011b71934aa564d0d44e57689c3eaabf22a43619e63152d58fd18f07fbaa808ba1f20d9c7bb4e9ebde2010abafaf4b9020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230771f1ad402b47499bd61c37e34aa92f28b7987681acd6328d8b3b666e11f9370038d88dc1ba3ce266ca7052add83a75702300e2c9bf53b3a874afcbc41f1f74c50ec8a784f33e434cd856607c0f8f1721f1bb38157ab4f9d1299bb4d814e0f18d12b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307511bb3ad83f9d6c241a17a7517d7df561ea370fc85af92d5301c26df4d1163947ab7d640f536a8b42a8d9444c3d8a670230695b22e537093a973fd770ff38241fb306c868b385e235aa0a0688481433c4461fc4739e52831bcfe7c7e9d7384f54320302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023036e0812f6ffca780cde49ce3d6e3cdbd6fb7e9f6c07b34ade9d2ca08fdd5f62c9e532b604a48bde36022b1796576213902301ad2192753c29fde0995732ec36d034faacd964728971b20dcfdc64584dd24eb83cb978dc7077b187503f1302a8b7a520302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302a44d6dccc2b4b9a2af0f2eb91604cb27b778392d86cdbe55e1ccbfedbd4438fa70893aa8e86bf91ac0ea434f79fd62d02310085e661f843840e39cc78c47eac030a5f29b64fecf6a953b07cbe1bc20a7ab47f7d1c7540484d54898de864b695c4eaca0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230421eace95732e5c1a4e987c113929bf8f9c0464c871dc860f85cc3f5e88f3cd2e7a1e8dc68c6138f270b4d51d8586df902306d6f7a6030d57d6bcbd17759c51a6ca561d3f8b1f80783a7fadd66e65698dcf2e1d4cb0ca156fcb909a8d8a2a50ec3be0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100814513d4b4368f840734896df9fba76b36e496373e40c018d6855062f6a0ec37a0421be01c4ec0ffa2b96aa89e352221023055f3b9d22aca4555a027ecb5042abbf226cd98a34122f87969f31399d44b6c26840f4d4b7547ae78bf391586a4de2d200302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230174780c4246bbca9c94dec107f30a27f288a3befcf07f19acd48e46584939524c86d59cde8eb19e9ea06a16190669a87023100af03308084e033cbb0af662eb51381eb4b592c8e19ada0adc33c13a596aa9847dad0c60549390988831942424160301d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230015900cf342d96cabac36508fe454e5d225e29e13e64fd1e3ec9a2baac314baa5175192797471e4ff2f7c4559e1514c4023100cb7f4e442e18733af2126c26f1c6098bf58978edbf82c9a961c88a526957ac83bbbda88ace0788d0887813fdef64627b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306b5cb40f319e31a5899f657ca3ac5c7d50c2979a8c6310005d49c19910e7cc9ed11e1c7cc3533071af031a5cb1f67d3a0230601b44fbf2e3046d1d0589abbc692ff1bebef316ab2debe505283f581e6170d70f962a8b8d50a35f5967c859b88fa7b30302047c435bb500673065023100fb2e92fa79cb7ae5c2fd7e54fb701f0ff61fbb8a7901c539bf71af722a678836bb02649ba1f25137ef4eda90d3ef08a50230139b90ea285f29c20f75abcca556cf88694a7da1d784d4c81d7d5580971178bcd55ecb637632e19e23bf6097224062910302047c435bb500683066023100b1f708713bc748e119108b87d2ee4417066eb5709796db3d105706a2cf6bf169ee9eb405931d4c56aa67dc2b0333d063023100a427a7e77da291def10d89d97989ae352b3e5841af5ba697ad51568c5d1683185b8163fb67c39b669b04e371ce2f76760302047c435bb500673065023038ba8b12af94258ba8a8228a1ce8f0c6d9cbf57ad6d2f4b68e6f4adf5288d088d51867c987162fd5d474ca55a59d494f023100b9aabad1a66650c106f1d2de444817903b5977490d3747adab5f28ee0dfda033370833bbab1fbe64190db9892f46934b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009781c7e824797528108cf2f9072f4a59194b81d744a78cf96b72368d334fe834dadb847b34d78eb0290f85f85b20aee6023100ce291ca044d373f07058f16e754ea94dbc75725653c1b43e1cd3bfec73fd6fc41f42d5b3e928c7952a5f9dbdecf554d20302047c435bb500673065023100a04dcce248081b5d4d1defe56d86f8fb66594bbd26badabc62f82f8ef13d63349636164f174b1e7db72b6926351bf3a40230080e8e359e8c060035da8372ab7111f8bde7a4b2bf1c893ad55cfa15b4d926c5cfb29391f79bbe343f1f0639d79c804f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c4996d66cec22307ed05c63bf11a0505d729300bce97c8e43b0a88e82901388056a55bbbe78b7f012ad67ed2d9f16ccf02304419abea84f83c86671ad59d56787426e4eee97ee6d1bf62e337987662e5b847d889183254973008d2a0ee6ab65d26eb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100eb10e6901213eb05eea4499cdb217c7a05f66e13a15c8375ae349c2d78f4c9db8c72e3a613672d024bb353b376d249c2023100fd19ef85a105f9a0db4e153d2e00aff8f80d7b9235bdd464438b26125f655826b223d62a587f0a4b722a3b503f289ede0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023048e35095f405107a725b538a70f89963b6a710cb127b47ca451785218054742c879b82b198b3ad224691d97cf19ff26402300c124c8addd457e10bd75bd4f430ca9ec6ee1c77a943a96e71acbe7c495fb2775f29bd4073934426b4f4bc6340558a8e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310095ee9451a2954c6a6fe852e902307e3f847370c999cb45932497e3d51b3e3108f5b725836bef74897714dacfc5a47c6c023100b9327dd9a69efcded336e7b33dd55b8f4b5362d1a69001d1385e7f631a19473d8f2326e60e26fe6fb7110fe758bf60620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302211eaebf4e2f704118f2ca30ea77644b125b762e94f18ce027100265da400df1645ad858877356169d0a809d368e172023100c952d1518c56ecdd2e3a2e34fa3e1983a5af5ffdce48026735634a05dc15be28a55da853541c38a9e5eee548f292c1d80302047c435bb500673065023100e2ebac29db928166fbcf1cc5cefb6bccdb5171cf8a739ead12f2ab550b8e98e8a21f9e2172cceb00b5354370442a361d02304c33aaed93deb95e048d1f21f4ddee4ae9398a06dc06786709f230e1d73c951734048c2c57e83c37ac1bb5f2cd1b25310302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306d6049d1e7932b7320108e45be2e2fde6b71bdef6b64bd4fad5e8976980cb1d671e60a873080aed28492a4d97b5973bf02310098ab4f0ee8ddf38067250fb3ea9995d17515268e56546155af0550720c5187eab15640204722485c1ad852b822870ca90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023063d8b5c0e757746b3c92f2abd4be9f66f7b95f265526055f899d7acd00d9f456489d1c7241bc2f2c3dd0fac3954d5e4b023100de76177ec2f7f02b7e1a0635e798f117c0d14562211db250070003ae5512e410c0ac43276afd12830717b421c62d97090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303cb5b82aa12f4786e3bf602d7ce6a3537217abb307be3246a9abbee8d940ad7ecfd26864d14f45821c46a28aebf86e58023100bc223cf1d3bc05c657a8256cad4e88764cbdd91cf326fa520388ed3eb0f4483af0f173a8aefb0819aee1e40cfbe3bc160302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310085522843a6bf08f1fbe7dcc2e26bc8045a0a12d6e32f4405f7bc292c1f01590743f656ca45bdbb6c133859ab639aeb3e023074e527d0f45354f34ccf67bcf1982b96c8c3c3bb57bc2ad4ba0eab7c73e7c18ec876638937b13d766cccfa62a7efd0c50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310089de66f283a606d69d2a71fc287c5026dc655076c4d290a0c1146b05467d27a3a5642e6913609499727e737a1f1643db023019f7732266f6392b8ed8480171bc974db7beb52432fdbc50f8d206de11f05a23d5a990ed30b753e39f034e7a9fe7cf3b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305c76d6169d355b474f553e0ee7a932695928053bd9003274a336204715ab914ba916bc7b5ecb19058f3cd9a13864a5da02310080aae3e7648f81d7d25e1aa9b56ec523cd1f1135b53f973205c5c587e8d9a39dbdfd6379dc97341e40f7a818847ec5600302047c435bb500683066023100a6c9cd5b5551c21b615f2b84533093818a1c448ec9313dc3439a219b5bbc20266028a1890c479f49940009a802dffe42023100e1195fbb5e365c2052b264bfea45ce0d455072ab1363764f67e6f8d052188aa484af76b2ef172510ed4e31aa381d4c4e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e1f1b270538eb2b393b86f7402224e07f9a1ecf66644647310e83f1185194e81d19f143a7fb4b6ab9c57cf088341f80602306030cbf326e35891c1cbc6fb27d92041076b65bb34b43e4034019f46d0746f61890ab85ba28e961b2358b47d0bf4e4d80302047c435bb500673065023100b56e10077450d1c8b5dae7493f0fc44c314780ed05eee63649a3754f3baee9a78904e7d8a95f9b0b0b854d3f99de8ff902303056e3716af369c357df61f00b3553137f767c4c560594f4e3e41817a4d64535efa6ca1eb5dd908a42a134cb0f9f3b0a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305f6e5cab53290a60c4506a21693544f08e01474738e1a70468f3502a0a2543a05c2f241cab05599bd3deec3908b471fd02300c602c9817300e31180e05e28340bca7d1eec50154d5c5982cc2ac82a8f578539dcb6627a9336ff6ae637398fb5607b60302047c435bb500673065023100daf63cd77d6b13ac8d97a4243aa314dd80a11629a730e7186375e5a59230c11d546f5e54dece6741bde5390f362c5572023019ac798cc9d04efe38ba8be1882f876c2fd807d551ee90baf88d8c704bdaca76d150a0beb2d22b4baac9ec71795ab38e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307270214f68a3f3777db3efcf28578808a4ba27b0d284722eda0a243745e2ddae48383545c9e1285076be043873bc1e34023100f4d754be029b362e25907840fd94b1b6b9722811bc33405bf50cc1d65ee43a7c69e34c5051aa15e4bc5f339f6974f4fb0302047c435bb500663064023074f7f8d68495eaa09773702ab3af27deac274e84017e49117e7e9beca14c08b7536998ff75f0f7ae57c687efeb15fdb80230349a98fadfdeacd9ed933c1c1b6662fca3d5f2407e4783f957f820aa45e3a75da14370bc5077193a25c37e548680ccc00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230116b02bd3614fe8ae9600c1911521f995734a58671af612927039bc9bf1c718d94acaa40614637b3bfe0545ea0099154023100e322525e0bdde17dec230279f2ecb8931c8a50fbf2d8e108970472a3933d845482b2784e4d088c714fba8c687653d02a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303165a859387d2361d3c89f8d6bb984127b33cec3bcff3ae5fd8266a142cb955035587c4d3bd3948155b482d8d6e9f1ab02304ea75876f35b0f03bb9497d8b5cfbb2d3bf88e14a77767f9bd485b65ac3db1e31536f8c90369501d9dfb4845ac4dfe3c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300b270376cbe187c8d4eec699d67aeaf56d3164b3a6b53cebe4d3a06021bd0753b80b55ea7e0abd6b50483135a329bfaf023045adf14ab5e82ce119d93b0089fb23808f84aab8f58bc4e37d2ead5d7c775f3978c4e3d65d4086e5a52a496caa1b71380302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230142c3b9d74788f1c0b6474616af0d17225266e893244a2c28d8f50b81857601cebee20ca03bc191600ef28df7016e19c02305eacc0ddf37fe05c6f70d0f9c42ebe70f2dfab2929d3072faf1d99a71fe9202bbbe55d576e5eb72077b6d22d9f88ed5f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310093f52e26453aa85d92d8a1e6d0f88a793cd39118927cf4643c332d393ead5c63d760ea5c99057628440ff65730efcbcc0230506d520f7de8c895750ccf4e2a4d854c8ac748aff94a56db924dcd959ec9c31f7b9f251364c2b718f3850101d6b3db510302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bc970fb950a8be0b1b4fff1d4d0f891f3cf85f5d4663e73a0e59cfa3b0019e78582fee3f302e8301c3fe335dbf29909d023002541ae87beac0ea151eeec8c75d69ca1880d417b5aa2fef2836ad5d6dfabf8518720e4c8519a8ba6fb71d97fe6004a00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306350f85aca8e7c478ca4220e2b6fad8a118db0caff17e616eb8d9e7aca46590547147a06865366115ab166414a5b86ad023100d5c5af92839d7028bfcdca195e8e45eb08c9ad1fb08dc33c8d22ee1fc569953db124cd34de3a49f2690be5ce0f481e990302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301b16a546876a817d215efa1f18a24cd985b3903e7cc6fb2a27469777ab9acac80a20d16a50ca591612f1f4099b6133d5023100898cd46db3c89411a7422e59e62b0361b6fdacd78bb5cec18f2c155762a8f4b4c8be50e3cdc1b7196f6bc68c50d1e2b50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009459e97080d12827d92db50b209cdf771ee415f011d8e3ccfe5e746783b114b13d588727409aedf1e8d5bd2867f41aa302310083416d4ddaf8277bd5955b06b05c8dbc9c3e17f4935721499f857b02ee7623cc327b5165a72bd74600d508972ce331e50302047c435bb50066306402307e0b14afa4dc7e4c68a78414d98a8de4b5f0fef81350ddc121960c9edbb95028cb0e537512fe408fa9877906ef9d730c0230549351daea25450e530b62b64a7c22e288f64f385032dafd6f832ec7dbccd6194fb41af5159a4048c8d6cee699ef801e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ffb7240d5bcad196966b507673d5becd62a6f3057b15a44f6a12e16a4582c2d085187ff0a8f876050ca5d25b99d990c802302b9dd06cdf8722a7e3f85328d1a3b6bb21ed46bf41183121c4c87e17d0714c297f9f3acc4a44ea7f7992f8ae53d3746d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304702280fdff0c6ce921e4c56d9b2db2ba13f07d83ef60dc5e2a690feb08c6ec864d0a9444764fa9bced08572bf61852d02301695c43a129a72982724a4f0464ee9987f561baf07e8621bd98a9d1e151d22cb85e72f071663d22aa63aca6007e0ddf40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230445ce2697d554fab2be2a8190a9a75dd21da3e0897b5435e96e3557809bc8f1eb9666063138844231cea6e55b145e3a2023100c805343a5172ee95423daf5ddb50d45443e83c405b28976172ed57527e64f4344c2e24fd31662e9c63308f2b96b42b7d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008c398881de4d270eb06fe6bfe08d27de1caf8cc70019023c6b0441e5390ab19e35fb6f658e7768cee1d920e17b366f740231009f8535d914e4744e2ac3f43157d3f5c6847a1341f27c1b6442a89ce162bdc87610063cd1ba0d0601d3cd6a7aed958afe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230746280d02c59252cf0d332337373e9a48fc4ace463adba37554c89a778236825ea16dd8fb1024d45061688febf7d9b0d02303df927dead84ed48e5da7e3e874b39fd5dbded51f1b8f7c0f40c1edcad2eb0e5b0a9489220302439fa1a774177183a960302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023070ce626ee44247ae0dfbc938c0fac578dc2d7f64b6cebc6e6854405688f3ff51dc2577604c4e24a2e9e8ddfeb8e73a1e02304060e9e2797d662798168f6a3b3344b47370879dd31d9ffc52d5b85ceb7f073cddc3536da6d0a501499057cdaf867d0f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d2e5d15bcd2a8a861317ae8b3e66c1a4ae11bb05d1228c3c8b9f33aa1edfd6b0889e052bd6a29a5a3c7ea866522b2956023100f7b33883916f2c925987d0992dcbfae133055efcf49a2f8e149e0d14cc24737f0123a38a3ab7088078ba1178895125cd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eb8d93bf682b874967c5576585be09b1645c41c2a18fe2f5f3f9163c2c4995539975abe5a603a039d856d6c45172b68002305e895262f2639bfef87c005a46e41809c43bf29e09784075feaa3fbe62d02c610e53e0641de5d0f1cded6b40655a0a770302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100976bef8e0ac966a752092fc4ed287f701f96216e7b3519bd63b197909edc17bfd983773e50e1ed87b2262402a3a99d67023100af403630f4df1e8b699d9bc7ac83de33a6d4716187e12195d40ef7b34d2132b9fca1aadc37642c2b68bae96c9d01d52f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100eb0927afaff956eabf97367edd20014802452f19fc23b073f324d57515de87f008ae9f01b425786a1d2e2521aed74cd6023100958749350c1d22c56a809fc5019c47efd7979cd92dec0408e97c97c1fb9cc202bc2a1dbc9a4f890cdb39811938a9cd190302047c435bb500683066023100e09fa26f2d65db4f568f7a84ad33e3e88194b1f69adef3b581e768939077dfa09386ea39d6282ff8cb3130b419d9dd14023100d9513b4e75900148c939690a5c1265948b2ec7aa7a79f17f6330cc57a22e048e5a158c2cbd122df3a25c355c1649b5730302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d89bb988a2b02cbb4c9ae0d65fab3f5172195a05c80655f9b19733e96c4d2a9c1c227d2e7c661301c302b900e6a09ad9023100f403026be0e14a85cf6b123a12ddcf7fe5348bc29b0912d6022c6e53770a67b2004a659c50837036a692eb449a5342580302047c435bb500673065023047da579743c8d83222d3891a7122242c3209a7f4f46d7cae92e58a8235d7ed5971c221185659b86e1a385b1716a36db20231009393fe307df1af483be749a839374c6942d623a9f800c83aa2b56c999dae813b25ee2a833efe6c4db6b2e00d5a8b15560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230309010f0e3deafed724f98ef416219e7a8e928661d4b89f93962b54d98488e69bb1077d22830c141ce3cd1eb189c4f2f02306315ee09b18f15b04604bcde3686f1dcc87eafb48992b6f583497b5a5c3153164d1b001ae8cbf00154e2022c6dc2cfc10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230751a3221d77f1f6450ddafee824b08efec98d3712df01c1c17d9e36605d0c089436e04cfb1f07aeb4d2b96397408d476023100cd0009afddf6bcb1c0005f835c83bd98bc43abc492bcdcb586cdfde781882d191c1dae9801a985c5d6521024fa405c0a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230314aaa17d08bb5e5fa1584c68be3291a924f91b55990975528509869e18fe6300cca2bcc883db586fca7bcee0b4e388f0230675edd0459e26bae0b0ec1a72a2f1749c2571fcee173ce5d9d8c13b2e9e27f6b37dec52eb54e1bb4ccfd5261116c399c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310092e48f543d80ee10ccd1100474a0a9e5149c5de9e96338c48758eeaa65d2a1335f899d56e91e2f884083ac670a30a8df0231009df1d89f8484a02c18494da0c3e7201c808bc5eadf404769677410e555dd7d95e18ea98047574e9b0fd16786a28bb5810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306bd83ebe4aa2d4cf2757e15dffeeb4b7fde863e303744e418e7936f93b2e41ed44803d630aefedda1a99ab0cfc63be55023100826763e03d1241a25598a8c1bde95e7ddbf91c43643bfacda02ff98647d6a58f8e8f08ac8f24eb5d2302e24dcef248f30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302aa254408773efc0606e4edc8e2e2b5b7e36ea2fe898dfff7c2f864167d5e471871931ded6699a07c2bbafda5ceee478023100ac1aa23081bfd2e66ea6e0f43f303bcf703707f4a24c8beb32bd7c9bb45c2d7345f5902e2c4da262326f8d8ec2d097370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023013bcda7134e7f83d3a9d288fdd6fc32b8c008ceb9d14c155e82dde8e15b4b0e6f16344195a4f786e12f18a96e0ce6c47023100f12fae2c9a3b3a61256e1aa4950447757a6c1b222d8fd9fde24391385130181a4c072b006a4693838914a3bf3ba409a00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301835d291a2e743a56c144840c3de30fc59add233be2f8205419f0f0ff1fc123be3dfd3b22f8921b9e759788d93e11b30023100bf1897568ecd7060f065c3fd0742db275dba5fb82c2cfbb0ce3e7844c7d3151c600faa5cfa372977d0653eb2d7e1421f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a85fb6e0d11f02ac81ab75d32526dc372cc1ca2c6399893c74448eb95093d217497153567ea85686f19e673678a846e8023025436767ec108fb8107b73c5569b85c92e528a5bb73a5086c1f31384642b45ecd42efd23e33f1ac4acbbebcdef0ea0240302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009fd1cd4bd36ea1c6a03a36aa4fb601ea5453498447c4eea7253f0dd360f7b2ecbdbcdbd636f60305981e828dcbfa0ad802307490167599d5bf2233caeed86a72aa972c0c6722f6065182bba9e914bfa8cfdaecb1fd1bd37b37549d00ef2e9b57f5870302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310083c7c4d85617a70a1fcaaa1de1f31b52b7eeda4a8c99f32363c516759041ded6b328a533b102ff1161c870efe2d1ed26023050ae2b13756022c26a251c6c3a37418150707042f8a071eeae07482b1746b743e9da59bad006437a580ed635dc477b260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a5645658da68dececf9ea542acbb5bdfab070bcca744260046cf078c8f6595cd3c74c255b3b6c24685cf1c091509f296023029d7cbc1b0b99e960420225d5636abf289bab784434c52581b0e7f36a3884d3b2c99c8d44f25543349a34e13369328570302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009cdb97458546f125771d18980e5f5677812b313d8d577184a4d9d0fdaeb6fbdb42fe546e3f4660f16ba7b8ffa3362334023100a395957a565d554fd3c10c28db5b405454074502c509b747fcd2bd78f976c48b63bf6aa6746fae9df2c6784bef0953b20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009ffcbe6cee1fdfc23050358466a903c4e0200b70d5c427e54e48f08cdb48c82617ae6e5b83b009cb7695fda1a55f8f3402307d3b86c3c08b98f8d3420eeee8a0aca822d7071b5a7549ec2537c1151508daba8d184092ed59c62d16dcd90a49d623080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230131d0d77ce792fe8823ac58d22e89dfbfc0291a297bd9cbd85e74bdb644d35c14f2687ea886c094851edb710a1ac521a023100e7d060e2936dd0fcf73540f8d2c92d8d253b8fa2c94ffcfba7c6da71749b49bde4a845b18e54753b9e43952140e86ac70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a016b5879ca9d5b22b0d8c64ca4b2758ec1fd3358cd076c65c576b6a71bd6a98f099ebf3251e3972bcab09c9104279af023100b8d6b631387597f4f7c3dd92ec322ed41b4e7a60e045c2f722eecdd627e872dff999fca51ea74d48b5e8b632193d13500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008fd70761e187d637302a01f09f21af812c805ca1f812894b9d800d4ac96eb2a0edbf4dab1a399b2376806c037e15dd17023100a959bd3a03a1995579ae801b9e763b8153b1869bc99faf091e41b68d4361b13796804cbe7e77a88a73d2c5a422f8b2b10302047c435bb500683066023100f8cbea0ddca1707d87637cf5614ac7209c077a342e550897f78ba5d56a48d2a9e860766a50d19648348e144d7cc19cdc023100e976d0da1a56346bb1ce8642bc85027fbf134df26a89914a5c8aeed0ac4e02c36e7a07b998aecf10957df088c40817800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023053e7be27e8d3cabc0d7ed8f14f7796b98b2ec8b175a932ac06ca595edef4485ba38052657fb65ca96188a4efc803054c023100bbb653fddd081eb4f5473e3f472a42c782fc11121378b58e8b7f89db1075079ab8dcbbfadd805eeaf40c9599accd0dbb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300e7284522d804311eecee936e634818ad1587b63166ef187ccc4c2717f9a54b8202a7a9b7ee1ccc60a52a9f5b6748f3c02304ca063f4c62131b067344026ffbff8f84477449614b1b3bc322ff2f602f8b5993c061bc650e918ef998af3938a2997050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301efe91ac7c4e3bd7465652f4951e4032391e66404310944a20146ff90a9d4f3d58812dce722a8bd04666ac3eb732e5e5023100c12e79e11028c3dad1008be8a0da4618f7650d78298cc02f3c505ee8fe1b7b39c0c7254d12fc158458b20c7fb139d06d0302047c435bb5006630640230664f96dce9f260415ccbb0af1f366728f85bceae7c8ef012b3d2d8876cea09edc05dd79ab4f87621cd52fc9e96ed834502300cca25bc3ebc94a5a0d768c2b1ad1433eedef37ba544b3cabcbb169f30a291a80829fceefd076ee614403ce1aa5995fa0302047c435bb500673065023100e263326c8bd13a9011fcfd3028bed968cd9cf317d5eebc3f4bb8886762a0d60616e0ca82c04e9ab55a06c4e77351ed920230501b75edc2248cd74b55f24b3ec912eff9a7cb4fc22f5e4f462095d2934b1f792de98318dd9307f86c7cf772d24822a70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e4b8ad6e29c40f5a3c0940df215fe0b74bc16213196715ac78d24c54f265733cb6e8e0d52d22f91b161cf676575c4825023100ecb704d6c7e1e894f8ac11f4511b0f4858badc90df373a0b75125fd08677a50a9801b3498a3cdbe289f88b747a67e5ea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d61b9ff9ba220aba69154993566d6b2499e3eb6e7eea8e77968b524b589f79dc6146b93c4f1765b705ca6097b67f423b023100e0dac744899d298bcb464ecb9324f6656a085ea2c74d599257ad1260c19d0b5ba4182c73340230b911d795e64b8b47890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303c51c4b208af0b02e3a0395b648a45a15aab3c80b473508cfa9eb8193c6aa6e1bef1ddc4ccc538bdb88a75812285c646023100d663f36a244a7f1c6d0d31bd3471f9585cf69f6671c343cb3d16b4e850e18836bf63cd9d7c25f89891da47a2ccf284470302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230719875e5a33f31c65a06655f898e6824c465338e39523cff8f3fc68befb04e4f2ba38351d1fee6ee6d639b494e487c8202304fe480d5e63a8dcfcfcf5511e107fe386f763510f4da1972e0463fb9e62448312f8e4d311b66699a5d83165be61b22770302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c6967596da279f4a318c6ba21c3080a6701731c404b7d00298c8fc56582e2b01f9ee515e3702cc7913d115d94eb0b498023100fef41bae26599c39c0e9d3332ceecd48cf98a649790a3aa2b31440cec313a0ccb4c292b1e6b6221152936d0d76d1d5a70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023034f2e95ec4314358cc73a0ee4b2481993eb8f3b4d3517e50d6ddec79b5fb19efc8f559bd0f015fe8523cf707a0e5adf602307680cda67d9e9ea8c62385c5a28c38c1c339c6af076408bb2b46ebdd7bae576d28abb6efde763a2511b2e7b4b84f974f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305a8d0fb531b52c3a4413e857eec4056f2e1f051161182978cc99fb7a2bc914d25a6ee86d80075cfae718e4cea58fdacc0230033e86fbc5f00dd42732894f16fdb379f860f96176d67636918ff696143879792407c7137773af7493df125db85c20780302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100892f662219dedaa9ef4c4036b6865fbfdebaa604169d991a023f7c7002c7092191f4fe8d8be3f635386a63084ee96e3b02306e23e376588a9e15d03fa38ed8780894a5f1c36eb9522832513c5bd64de1983498f467511fcbfffa4c773bfb919233760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f02c2189ccb19e9a4e43457692c1848e6e0a12541d8241823f7cc9c5ac56bbd546995e314d872ed6829a0653ab3a81a002306be5ee39555dba54798e5fad90845066b26b309c9dbcc0d463b5b92d1c626adefc96c73b0b3ec50aa927892f3d4ff5020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d7c88c53feb6012e892ebd5b114ab67d772e01559295ecb73ac5b5573ca645169269f0144ff85d7d01c770a35aa661f3023100ce577d26f5aa1e7069f9f116fa7202e1d6a14216f43411713c03ad3e788db5f620ac93ccf67d8d6b3b2af1ac737fd6f60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303f8735af0a76af61861d737053078710778ca4e9008bd7f25ee94cc9104475a443eed1be5c16cdd4b7249c5e82530eba023100f0c92dcf7a2d06b2b01a523bb8be7622de41ae2805cfa8aeb7b2bfefe9d5bbd495337c1dd5e2997ee3cd9ce15b0a05cd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fbf6e51bd8ec369d74ac402085732acfb8d07d93ae34ef5af78213567c478685233d779c663e3da444c2b08d2110f06a023100e6c3cf9c96843d217e1103531e3ce572f2b730b61cef518843da22b67a09f1d63fc781673c85b3af3b23b9ba1bc97b880302047c435bb50066306402303320baa1407a10f0e80c651c814c5a72f88ad8a6c21b6c0d115268c79373010affefc96072961b2982cc7ca5aeab6e790230292a81a92cad0591724c4b88bd98b92ae72fe58b415573412f8902a06d38e07371a7362adca6c7b7ede16bd24775b0b00302047c435bb50067306502301fad041c337838b49255019750dd28c12f555dc9a9f1bf98241ba471037943e9f59c7a8cb05f21cee78575007ced352e023100fbf3bc0680f6a9db8f0a9525a983a21e6929a45478385a3109de89960ae604e4703a317efcb2d27a1745813d2a1602280302047c435bb500673065023073adfb72d80ed259d5eb54e3becf6226b13818529bc438a7d930b329b0b77b0bcd277effacfa08cf0ce1537423b10ed0023100d4a808ed68a8ec89f8da1e3de05adc3be4aa848411b495710a392f4209165ea0cbf119f33ed82181a2d9c0ecccc582cb0302047c435bb50067306502301d1bb70bafb36e82776b319b6ebe287b6a5ad1fb7e53b71279c54fea7c200f3e55d8217e328381096acf8539c563538c02310095fd3941b973b485705412f7d2806b5e1d7a97719063faa282685c1f3fd48a403ab2fde5695f76cd4efc8ae1ab79c8a30302047c435bb5006830660231008802a9b3e59f5b9b0e0484798d21feb06084d6d60b6e8c8193754304cc55e0f9385dac27b1149b6636148e8366d014ad023100cefc41786e8c7d9eb4fbf3dc7b682c077e3080cf85b6c34f5b69e94bb1f8d9e677e0b60ad7ddeda2d59f87d1536e749d0302047c435bb50066306402306252335fbb9087c9098aaceb852fb9d48b3f5298bc9f85d306b13f6115ed5bedf9d2fd106c4eb8075b95842b420681000230547b62abea8631c38d36a23006f56d10b59cbb9d96ee5b384d5510df6557a713e6a356726bfc38b8d02ec613b5eb6b870302047c435bb500673065023100be4ede719168c0f39f31f620b6e06256ff2b657e1693a923b6adc5c1d02c50baf399257f668b7b8b615d132a1b89e59a0230384ead56a8bb2a0b47a0317225b09f457a7429c0e90114473230e2ee60e96b38524c478f7297f019a2f6e8a4cb62bd930302047c435bb5006730650231008f9727a322e71342254545afcb19f14a8d1420775df06ff54e727dd3385888344a517420345fc23610f07212e52e9028023078b48b6d64142f2b6dbe7db69140c4f113fc04ece663d917ddaf86cb5e9f2aed0a0542a81b751a3d0b4f910104c346430302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009ab52f325697dfba83ca6f18f23060bfd1ab906fee609ec62966a5f5d6a3752e0432a974ee162ac188ca68e40e6c174502305d71bc6ec793e8a717ce2997623066ca8cf4aafbd197ee04b279a9f6ab0bbe6c56fd9d097097fa7eb5ff8d63f3e46c3e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e9e4bc9e4800dfd7510d3ad03bb80fe5d2b5701e80e5cfeb2c5f2668c70bac7b4e5c19af879298f32c988a441e75479c023100f97838e0749145e07260f7784431812f30f71ac26be849efe1be68ad1af2ca63d56784c1fb5ef75edb96063c9c2730920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bb59f5a9285da48db8f5866231b52f84a22e251c08c078c495f59fd5ed38a30b054a15083e8af90c4fc03244cbd06340023100a67cef8ea719ffa3c7e519e1559546b169dfdda0a157f6d5d197c5a18ccc572af540ae98a16202a4dcab637096ef5b580302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b9c04f1a027ddd4fab1c49d5b18749913c2c6e918a285d9895ba6b25c0a9463ba303781928e1830eb544b6b603ce4819023017aa21367e5e4e32d459f763907b244a2a48630e4c32d0b0e2dfe0850c8e40561155eaae11982627cb5773802790a77b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cf0f0b73ce3014cd14419c1ae9bc6ccfc49d1baec22c3bd4216be6139af3cbf8ce93c15b29cb322d2feb0ba8076b9f690231009b6130e933b869aea131099c91ba2a3ba6d5ce8d5f1977049544ff3b5b8058e2d0bcac972ad52b71efbbeac86def7bf40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f45eedefcd58513adc2eff773164c7ebf5cf7c528ffa3d9467a788475bf38c35232418353cc61df2e2287ca39cf2d9c5023100d49d99fc364104199133e6c221c1551b8384a7c85ff0302d03810561727db997c47fa84c8e4044807e32f826184eba690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e1ec840f42036bf885ff77acfc19176b007313dc0c34a981eb9d7a351528947eca433840c6fbc73335c6eff6ad665961023100d84db8604a628a857c65e8e41ba09ed07eac2f098030978d40edf5e1a85e48887c63531540fa890dcd907f48d46279460302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230752306febea0e0933c3c6816872a3c88fb210016079b8b7bea8010e436123ff8c774e593f085e270dc9cddf8ee6ae589023100cf62f914a6bd2d86013bc7cce2828b870000234e2030d4ce376190f0da6aa38f81dce6c53f8645a443df6e68f751648f0302047c435bb500663064023016c00af82b4c0152753b9a2e5c5bce5b663bff36c0140af98ccb0ffc577bc643bb3c0ccd97dc3e9cba3dad0a8db9a5f702305b4eeccf8e87fb870efb1db2a31e91710f9f6786d2693a5273e57eb2badbf281f735329454b689261cffa70295f966870302047c435bb50066306402305b47f5d1b1de97081e4e588d3629cb17157c43251bf6594f255caba99431af9295e56280210d656f9c5fa93a02e79d6202300941b63af8648401d9e449ad9b0bd8f888fec2e4f4b80c3a06a73ff4183bfcbf9ecc83a71a3b54d709db7b0047e68abb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303bb2ed6e0e03817c153da46afa8af5655ba3797c9352242a6e26f25d17e4cccd9755ce69c600de3d1239f731b923e69a02305c2fa16590698949e567e70abdc7980f8f74e94a15cf4fd6ab1eea1e605a2f79ccf1554c43fc910a380cbb81431877240302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b4776f22368a45248e88cbfb9fd94ee94026f1aeba0d8253bb400b0abf0aa0114c6485fd819c3c6a0784f45b6449cd56023100bd1b253b59fceadc22cacf80f304e313b670b83cd8ad7785329aa2894e2774b640e7e623f5bfb9172a2dcf098d5337e80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307aa998fdf761c8d291e30ddec714c13c4ff34b28fb6cb05515fb55a091109cb39148bd926d29a496d0e34e7854c5f902023100c10b91ed5d4d44ea8f5a9f2160ad3e88f8dd0dabd39c1e342a76ce60a487903fe1a51a7103b32d81939694dfbdc511490302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307e6182f69e77b2b2c763f9b46ec9c08a7108f6db9f611305f47ad3fbea32f4796c5d8e0065a0efce322540dbd3f7f883023056b8f83861434f0c904ff97615e122eb09fb004674b53d40160babb19e973561e1a428f24ef298dd5c5dd81d2603438d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bf345070e6254c5fa428b8e4e5c0ed332659b01ba47da5973506eef262ec71f5d24fc395c71fdcee324f2a08bfd13df8023048291019ee0ab5fae601dbc3e70d69d9956f560d50f957cf3f5cc8d4cd624d4f8056ba8189d4fd267e92ec46347cdff90302047c435bb500663064023025495eb2ba2f543d196b927eb9b5436cd51a5f339c2f84c907eee7d7a2dab2b3d82387ffd871042934ffe9e733acf34302307409d457527872c40c5b36ae715c2dde04bb49257617a1722741388992b6de6dd5560dd531a4e12950c3e1fc54f2bcc20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023066abfaaaa737bc90c739998c0885ea078cf79478f99547f52a26ea68812fb3a807591fdc7a89404fd6bc4d916b8283ab023100f21a4ee6c5cf156937ea082919f49200e75816b3ea2af89ef00b2c1403833815cf24e6fd92b9efd0f52280363133f4970302047c435bb500673065023100c6b627d5569cb02d264f42ab7f070b40cd9b37d015fd296a9ecb13a6ce0b10a7bc0ff1327acaa69e57d1ee45e7d0a16102307182330ab67cb2558653b9ffe9dfa5425762928307a096be7c042f5a60e16d83f7fdfb7bb2d7c13ecdb50e9a35c89c970302047c435bb50066306402300bc0ad6f2a7f4d7dc28a9c3a887709867a2a174c179b2cde92c8c345ace4d46d6e4554696e74dbd105499ab86c14d7c902300be6f07f73c5296763694e0b03fa72d9cf77079f92d0a7469f24a259e3f21f08887e75790d55c9afb82da292685f2dba0302047c435bb5006830660231008b91c06692f37eb4eccdcf4cd4349844a7f4f417d368239556a7a53772e7cfb22804457c4f5743b9554f0dfe737167b8023100b063a9ac3a45c1190b8832c86153bb84984caac7fca3655f9f1efe6ca202dab3bdfc869d1e7f20c46a52251afcf763ff0302047c435bb500673065023048c33fcef4a2bbdb6c8b15d810f547bc8260cf8b087e432e62b750bfb8fa1afe92a86f1632c86a6d1a52138a4a0dc8a4023100e1cdedce981211ca719893e1103e8201d1c066dbb9574ed72cce136e1de2a9b488b61bebabdc8d5a05517e77c7f71f380302047c435bb500673065023058fd1603bd756cd8d9a606ab416147d56a9ae324e848c384fd827029a1171f53b8a94bc3a3e231e606c4cf02abe3a489023100ed0a556002d61c40e3275453e54f86ff02063a7156369b287ec9bdddfaf9e86bb3fae31ad1575c49cc120d2b692f50c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307ad36f4c2ecd9cce5b1a2cab7555ce198ac021162437551f530d42a0af89b922353eadbe90774d9325b90b2411288e970230431b18b4dc4dc5c0716419f7dd67f455a0d807d77150df9be23150d47ea51a9cc0600eb2367fa613cc102c58f8d38ed80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304f03a5f4712ea8b6d74ad382dc32123d804a820eff1dec2c9077ea2e4d2bd7da1d6c50c145d9b44dd98823ff7d7e324f0230365252b17a5f494fecd0a6a2debcd7ad718f3ec7cc6b5c3262e1e4bb3ff39836cfd24892ccf60bbfed472bf72ece13210302047c435bb500673065023040a5d37b4453c6bc13b341de3c67e2b27655596e81c08864b98e503f00dcc9e8819bd6e7895a1896a4c64a1ead1f462402310087e109dcdf67b47b878f0ee8e8ee37a4368125c076fb994a90575bca330a5d9453aab695c29161fe563f232cf20a65440302047c435bb500673065023100b96ee2fb26d3fe7f9353314bcc341a3ddeda2f00cbf4570892dd7a41c3be086eb788de712d97698e669c06cfe1233d6c023052b04bff3b0517fb4b6ddccb85246982d015ed054a37211f22dcce897cf870fa0561b39f3f8d8f88fdce480ed355b5840302047c435bb500673065023100960c17d73d2d4584056b654e023767aaadaf4b493ef04ab94f2c2f47ee49cb64a068a3dd9aee5aa8738373fd715e00c202300131d389872d2fff274fb4219f67309488620ce489833402ddaa0821d12cbd124beb2091e8ec3bfbf62861ff30bc17410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023046b198dd0476e42b3229c2a30c54af32abf63f0e56ac4798af372cf1fd6db542936c1634993f0eee5a6145689d174b9e02306c878517799f11b07080298447662bdd42898fc6279c0c68f85aca5dec07aae5bdb257738e282040a4bf87d5058784b50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301daa0f777365a9c98f15ac8a75d11eca44abb58db06f13d568e0b3ae099a3e0fbb2e01ee307f55afdf68f074b7b9fe4c02304bdd2e50942dea9949fb318b6f9744097a5625c8153715870b3798f30bee4bb3c7f88c99a107668dab14d7ca9c3468e00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023003fc6c259019f64eee1c291bc037ece3cbc547013ac5d71b50689c639714261a610a050ad0bd1cb61798e47e9228efc202306498d434c3784aa5351d82f3f7ffb42d0ab2b937dfb30d6e7c0fc4ec85d5554d74449e74fd0a8d5fcd71c79f875ef1400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301530abc8af79e862501d7846e0e0ecc3a0fe2e6dc840f027c03887e3014fa7d63fec6a8d372cbf4ff4f7b372ddb409a602307b3f21e2ee29e5193a2ca8a36f26e9d98d499a1d251a1403da3310ba1445ac08d28ee8fa9f2f8665f44f00389c686c960302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302caae7f2511c98cdf5b334a9e09e778069c360f745d87b22cc10c6d64de32c64fa159b7db836ca062f679a54f2a649e3023100ca6ca9cfbf786fc198b6d585f1f4b36fe1db45ba36f1a06f873b75572eb9a059163391c776ee8ceb256bf51b4545665c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310086f064d60ddd11f4c5d2f0fa5b34385e6b8fa3103f81eebb131a015e8c61439aca490eb666ae17983f1ca324af453042023100cb2c975374f5f4696737bbc7d7f38d22968961037b8ae89e8694a12b5afbcff74ea614f9f80cb6596685d12ea64ab5b60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302d12406a95ab4a779ce1ef324d8ce2086d35b47554ab0a6813fe5dd9ea29388996240afd5397223ca2ac8eb916ba03e30230258fa2d0cd6e14c54b8a00b7324a510a08a4bc47fb2dbcd7522d01064df8e8790e210a4d04774580f807138a10bbbf610302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a230cc6678b1417ee55e6847268cfe5266ba74aaac9caed688cf15e7873e0d90afa1421b9fbf3af2c097545e7df60dff023100a29f1ae9ff2f57f46b7c92a37da8b1ec87960ea6b241b1bf18560e69043cf58d45edaba68855b9383202e97e1bab6f6b0302047c435bb500673065023100cca30c1fe5ce193ee1610ab5709b03d77f3017e9c1855df1da8557fb8b5a72cfd92f7989cfb7b31f41c7385e3c1ac34d02307aaa6f1a94ebd2aa903abcf6a145d87a6be9ef4e631a5b4f299a477b7c2a9baa836291747e002dda5c1ef8f632d1e3050302047c435bb500673065023100f4e0b596113e73fc82303bea0e23f719aa317cd31b6402b32acc96fcc5b7d57fe6b24ae587076eb32eaf19c53c5093fc023025ac5b88c5d6c6fd30ab895597ad3c269008a2633bb18133cadcb75a40b7b023c51a10962d24b3d2df4edbd48295efca0302047c435bb50066306402300254989405dcee29b9e0f1e7cf9503364f01b89bcf3becb57b444279e37e43517bd11e682558faf67dd3e067e4658a5c02300538175c5246ab2fa16f1564e97134a4aa8373e7149bf1fbfd5cf2bbbc175d56df0144316e8d3a74725ef0ddec745af30302047c435bb500663064023074b583e93f6d744ba3ab644b4421a4f4c30e5bf6012ce6e38b733070e77b29b1969871f2bf5a1c3507af86866a6744f80230699fcf29a89e232d495798f067cbb9dd460bfd999dfde78eec7b98c17de57ee5d462c2afb5e2beebf31b1c4665918f7f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f63e2701913fdc07e2ddbf3c5e0e2918b47b8d449e511b33759b83491e5a63c4339f0f3bfe9a619ccdb55a2686bc42cd023100c49ceca23879e92dc6fd103c035a4e981c4bc8876b3975769ef194486fb7e1c6b09b1843b3d191d08255fecca8a997610302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d776f65db934973617314e3915deecf5bca91d0a36a2957be13f32c545b66531b0d4a4770f4e2aefc9aca6259ff6a7bd0230658f577149d9c6754005b498945952a2b6f55623ed21e6d183728f77448e1084ed5c436eef3dc9db50b53cde45c076cc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310081d6f52bad965c0770eab466edf7b1f0579e7b18036a90a80e4d845b282eea696bf903912c51b58467cd7bcc37840f18023031f12414eecfd3867ba38494744ba39a8d36baa1455c3cfe56ebace89c038bc0f7195ca2f9621611ca819e5ca774fd6a0302047c435bb500683066023100d6a71b80bce33870e9289a7237a695bbcd339faf0a33e262f82e86f8e75a43c12f8831e2b926edbdbf3a37e69c61021a023100e419105abefefd3c3ccfba4c913ba5237ec7aa9924b09557423fc5a1e5b2c740b0eafe988eeb2533bad2861d81d80a070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230665b71ad81b6d9e5bb7edc3fc24c4fe359ac2ddb275615f5667f55198fbcbdc76d276511da4667262118122d6d260d2a0230636c6489de3c07fffc4aa540ec7d2929daf73c184d87286006df2feaf57da48e6420857788ac010f3b0f81b7d055d7080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306dbf6ee64d578615df1f579ba9dba7d5cf827772bbb6e799a4be59c76171f545f969842526f181f4f7c6fb8ca9eaf67402302805cbccade7cce2c41454b19c43b62c8956d531fabddd1ec585605fcd991def12b2b47284de607a475b30bf1fb6d3650302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cb045844adde481b3580ce9e656da256c46e88124879f1887111e9c3868f33865f242e0648a371a1946a1c4d99510c9d02306cd6c7a6d81749a34b1c99af2b5f812efac76163a9cd88bdbe68816c956f2e006724cae894a154336d31624188796edf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303f105b25ec30cc93b329bcdfd19aa538c47b031b3b59a09c1c8b5b59441efc8968065b2f7feb2d3d936bfd93f084de730230560c593cedc5986f5070bc1cd17f2abab15883290cd2f5ee9e5cf6f78c108006bdfe6f6bd623197f882d9d6134c400500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cf3446016e798c3809eaa02579c1846b1e8f3444b3d10ffb7bfbe889518392a14e25104051bc33bba4014c6aedea7be80231009be363c706a31b09cfcc188462136be639322bb77324d1ba493a213da6b532def8b05c97e82152fe766fdb75a4ad51b80302047c435bb500683066023100a0e8e1daa6c05c6de84a56077a37a95b83f4dbdd78fe639e038fcaf8228237c8d90df0eeeaea2b0507d879bcddf8e2a8023100fd1a3c440e4c6acd0e48c278dcef5085b7f1405db13ceddb935a6a2ee2413b8b69d19bea3c2608912de54763c7937a730302047c435bb5006730650230422e3b24a0ee07b99dd537000f4d6cc30282e622a8a2be2b329312141ceb2a0ce9427155a2fc68cf2fc19642456c40c0023100dd003489cde08d283ed3f612882711dee2a987e023a06c092a254c338097ca055b4295260ebeff3c59bdf86f3ba533130302047c435bb500683066023100b4a092f428c060201216996cec59667c4ff93605af287e7be1621fa15de1723b6dab87b00d4cb338d304a6f2d3d8df20023100fad60889f08bd2b5c2e04dda809a14a1e307e476f0d0d3d2b886b22496ab78ddddc99fa3df133c13399b8139a58f1d2b0302047c435bb50067306502307398af7709d99e11f0db14063b6f10e9ad92d18e9a6a8d41758bfbe5c120438ccfa258d67a030aecfc15635a64853ee5023100edb8eb4c10fd20851a70ff50f2fd34aea88c7458b586fca47bdd335601b8a276d6cdbf1ee6aba4e3fb06e9b3883022d00302047c435bb5006830660231008171119a92151f5905372627f3918665d5ec3f7a6c5fbcf6b8faa3c1071a563d5b5de4d85d31f3c92e067fee82319a35023100b3f62c0c1901c0637f854b48f7b95a503832c2d6ee3e3a89f751aef279ca65a06485e6015491f39115dd14fef22031f00302047c435bb5006730650231008ad7a417fb04d11ced51ca34a9765cb98be67fc090521a993672a4fb7a3d7ff30728143f5adf7cb3e15d039863cdac030230238cb1d34d13dc13e4fcfe43da5d35f7384ed6ac5c555edeab8870b08f33e5e33e78ed55d1af0ff662adf8a86e31fedf0302047c435bb500683066023100cf02aa54b3ca2df5f216b0a2cc7de48e505b700a95f1c501cd1d89c92eddac95fd32bcf11ef6c9bbea12d70d750b0aaf023100d7e31efd24f55d61c335844b4bd86626eb37d9b268d7d4d1f3d619769d4ff2836fd5a5b0398bd3cb09426deabe260f710302047c435bb500673065023069d692d913820a238f2d12bda2338295f23bd968b8bf6929e5c86e7766c35fe6468591acf6cc8ea5c67bd03b6b51919c023100899eb060ce7079bacb90398c58f645a0b28b0fc4c38520bd82561a8cc00dc7e2a00bb2174e17f0a06fe7d5c15475c4270302047c435bb500673065023070a167b1133d5b0fdcd05f6e9a35ed41993675ef157f10e161534af044c72fdd0983c5c93d24c814a327e24f14323b1f023100db12a88e87d9a29410946cfb992413df3b353c461842ae43a0adb2babb391969ebbbbdf740a007c4c1834daa9f46caca0302047c435bb50066306402305ef8a918cc3103660653f9afc49580f80fe743ecaf00d29647b7543d2577c2d418e0159210b873582f7c4e2fa31d07210230067b535c35010c6637a5caf0b4e08641a750c1ead6699e3705b4c5df6091b87a850a6899162455f5e133ab2e7d8372300302047c435bb50066306402303cc93c0d030768560908bc41c6fde2fca9306eb9d8c453eb8cfdc77f412c6f579e667153ff3d0632452a8b7e70d0deb402305bd6072f529a8f5e310a6dcb14c5a82928173d360ed9269460e993876eefed016e6c7e496be968c805b687ab73edc35c0302047c435bb500683066023100e7d28d8f14e578393333d8144f314099790e8a881c1ab6f6bdb22c9a82f5be2529526117f43a2142e82bbdd2072790eb023100e87e041421246893986f88577dce85f7dad6f5a8f9111172154585c19c021cd3c73160fbeeab0ad45e9654b321389fda0302047c435bb50067306502300b0cc85685ba914f1e423df6058e0407f88b5c135a853f97be78cca76299be20a6666819cdb3940e20d5cb87db17e3a1023100d90820fd79b7a91295b534f6354001a426a0f8d2c97ee0580b2ab840db3a9349318e4407e4f0c61aafbb685a868f5d200302047c435bb500683066023100ccb75a04c6127b3469fa9cc8ddb3d65619fc9eba7819a42ad0788392a6dd22b5490a1cdb4046e6c437eed03ff822388c023100a2e873a838a187de69c437a76be0b0dfd022b9596d2e41e7d4af80abb9c67e32e3adb59de68303fb30cd22c6d8738f8a0302047c435bb500683066023100cfc8ccc50227ec922d88c2b95bd13fa26211e337506d5106d6d62d1e2d9dc4bbdd83269fd64b569f725e4aaf4a4f286e023100f6f058aae7c2da8fe21de3e66ac8282ebc3c0fe56721fe17c3cb6275d44f90959d80c1bd1468dd9f722e34f8592dc2f40302047c435bb50066306402302b1f2883a166a5e2d61c459bf0287bc4e434e62d0e202df445417a9793e988b8214079665d901334788254c77c9084f102303ea322faa7b1278c2ba98004b28d2d26478c8683a264a04cf258e1e9d2419ea96b353b1a835f07d9a410d6d701910fb10302047c435bb500683066023100f752c1fb8793daf608bb4dc20d34a4ed2dede648f07ee641809eb35cdf689bd894acd3af9ee4a0e5a8825b193443a521023100dae80759c9ab0cab8900c5ad279b6a022db0b517c61e55d77932672bddc567b2955f5d4afd850825ee8a69cd7b35537b0302047c435bb5006630640230410184db6bfebf595d939bf0261d3785dc3334616cbaf1ec87ff1d2e208a104c835823253d384683e45e897f725b6f1e0230774b2c62785eb96c3562abe397fd20a3ddcff48d848a9f150ec8fe135283e2acc7cae1966bd273853da893e01e5668a70302047c435bb5006630640230518838ab11a708d9228b8cc88fcedd11811013222528846d22665cba3461880c647d4da2cc48ec0d3e17d1986a1c002f02304bc8d30f8d5f3dee632c808da4495872d94b9b22e52be6e11b94bb9f82e88cb9a8cb68b80afc3f9908cbe91360090d600302047c435bb500673065023100bcbc52eeab3cc42d98a8590b6cf7196f9ad411c25904b8c620add51cd81e96715538f70510122a5827f04cb727cdba4f0230060aa15b8b4ea0125f667947897cf39cb2ce869671e9abc0780af85d266817a802f2cb1082628109b9bcef91968b35900302047c435bb500683066023100ea84ef292a2edb502eb3f32913e6333d24c18aa96c271e7f394626e2c4f78075a1088dff772f87cc86a61ee1a449482f023100d2f5aba7e873a3cc2f101c78ef8b1b4bef8bf84bec9f733e2353187bbc8848f3923133d424ef48a1dc2ee8be7084b70c0302047c435bb500683066023100a52082deb3e34775e1d2caf6d7ac67f5cd507943e058600ad3d35a6afd764f4b11705c2a3c50b23b7ccfc5d44d631b11023100a0315a63ecce0671d7c0ee0643d415aabfff249d7133d532fb6e5f00297b3093be0cd65e56b460ecc81513eaa98d422b0302047c435bb500673065023100c68e7354abd73fd330ed0e148062e48cf9e4210182200eb57dd55def5b4a18ecc575ef1c467ec0f165470cf158c70bec02302ac6c31a345a35ef6d84e422eeb3498f8c42e2500e18daada9a0634afd2822ecbef94ca98fafdbfd9d1d76bf128e35c60302047c435bb500673065023100afec6e511f4ce6ed46c284e1eb06f39ea5e821aa5799f51727bb36be53c331484314d387888976395316f4fb6cd0ec9a02307950131624c641f2f7a128175595fae85683794a2ffd6e968701a029c80eb84f0128b12f963835ccf1e476cbb64034270302047c435bb500673065023021d2d341ec7436af3514bebb12dccc11481c22c76c567d39c38b6e17e60011d8aaa9c9213f474a89e405d0f6017a484602310085c4ba4490e46e485532d2f6bbf39f94b22144989a1be7acb1cd7cefc2e55367cc44dc8c46e235d26f3eabf83b26d5280302047c435bb500663064023003b694a3a03f715676022ac744ce51b88ad1199727b4523b84aff1675c2798f8af3ba688a9b63f49876798c7baefd3fe02300e7964824362989b525f09b0f5cda78d5a6fb53d74e60d63a615bf1873cb768461cc2ba86be0d3662b36b68d823631650302047c435bb500673065023017be7350db414c51537c3f2c437e4aeab8b3419e6b1a9737e74e522c2759d5d17e7594b1c4fbc2a2bd599550c251c50802310093f9c66860b80eed8ef6e9e333e354838f1ba28a4da5909ac12c660cb8fe263070bc4e7d5899ceaa9c5e3f87a1322b5d0302047c435bb500673065023056cbc7835a2ff974bbf85a1c54a87c3112a9350b4f158934e5522e097caf9be1388632225bec9cc51bc5653a794b788e023100afa043f6c23cdb4598c5cc289d7bbbbf031e8d1bbca679939e315e4d761ee350a8a0626413d9d446d201ecf8b43c1f940302047c435bb500673065023100bb7cbed1ab30f2a8aad15dbbc4dc17e0e06fef051dc2c6db671846d353594fa63b0ec9cd1c3be64423bb4ae2dd88e60d0230205d21ea95490dd1b027c549357d5a13d9210c7265a9e1b0f5a0f58f86b7f68baf85b5f49f834bec0291cc9d584f56400302047c435bb5006630640230155274a77bca7c6d4144e3370a81d841e8236fd2f76a58b942fb5fc7bd4f4cbbd6e42fee376b43a762f8c79516517de2023064e443cda7c87abe7bc158db463a23f91402997f82f1c57ca2a5bc3cadeb1488ec8a6dc3a15fcfe7415dc3ee10c42e670302047c435bb50066306402304848400640803be39575b83c7b47731637468b5911810a10b369f028212c9c3b416c3eb391c01d2bc58f99799ba9ef3d02306e63a8a5c3b437fd01280b1ef371418ac48c744abf38d4b2488e75d98b54e437dd9dcc17879f3b65aa16a65e4b4e0acf0302047c435bb50067306502302890cfa0c37cdcea6ffee4753e8d9ba5283170ec4e8ac30848937378a4c1c382c811edb8ac051df5afb9eebd4795b3c7023100ca830607c27fc92ea7d6f103160b2f2fa32b7ffe20f5ddd766f9d128ff5d08aec6a580d17f98f429284eda10907f3bec0302047c435bb5006630640230598ac5d5701aa6984281f17ecac0b6ed6f1a2d541324c69389d8387b82da8dae1332731d415968c73970f2b741c077a80230164acdb85792676310926b54669f433ce15fdd4eea1523f5034da4b31e21f4f868ea4de098fa19c32537eee236cd8daf0302047c435bb50067306502306518a09d8f83b5e80c95badfca7ba9a23463102e61ef3a2860c792ffaeacb900fc8ffc16b03490111dc2c0613b2258ec023100e82fe1f830630cbb4a7921ea7076d9a1f4265d2b9bba3dc10da756e95e9ca5d13cbafe6518b1756313ad2f90208261530302047c435bb500673065023100d43324340d939da1eaf7bf870d612721baf045b528ecee4420e2c612eb258fa065c40adbe1d6af95bea7b4558086ac890230722f19fe127e6253f381d2413a2142eca462c7a85db10cf59eee7f99793a0b4ae54961c2b8e26e9ca4cd980dc9f711380302047c435bb50067306502307e85766fb89eafd8eab20ebdf81dff1a06597ca66a72a9cb82176a8600b862f33275854051e6e7f283dbb387a4a4be7e023100a23097423db2271e99ad2221ab668d5cde78c81d9c5353c3ef7169e257a04699aa9c6f2d5f511185bf2390ea87e6417c0302047c435bb5006830660231009f2872f331ce2d9a1bc2fe9a0304c02867d1779242cabb5f328e31c5fa4a9e86ece2f3ff8d1e1a491088470275f4bf7f023100ff528acce81c30d5e0e051275f829881538c6405d52b6cb6d8c74410a6257d9f114e42dc51f3004021607477d44d7cb60302047c435bb500683066023100f328521881f7a5a9bc8cd2ffb8d18c2932c25903fdca163e15e1a21606a39e8f313d697afdbd5790871641ae175001c302310080786a9800484557dab2cd8a515c6a3b608ec815cf6353bc6aac4e04ba1fc51b9b33508054c5d4372033706cdf8f4a200302047c435bb500673065023100bc3746957eb4ab65804477ff82f31a10504be566716cc5818b19e7ba024797107ec39e50821d193a9ea33ce3c474df150230769d9447ce495ac8744e1d9a057247db24b880a03d4bc96cc0c2a13b8354975a7f605a150e086c8690ed2198ed73c66d0302047c435bb500673065023100cf7bccf5a50901b9636cfd9df2649ac13388251cc7e556f969451de75bf9423d15b3959bf26940ed2225fb66236e23ce02300372dd11450377fc662a68f5d05b447c580b3f48f5a1a1b3ea85c12d52f58e0198c61e4057047e4725fca19593d945ba0302047c435bb500683066023100bace89e8ce2477dfc2ab114b2d9b7502ae9c1a0cb11fc563e8f7b37b71dadb72cff1bba6327a8e0f7972c721c39628a70231008223fba270e2083eaeae429af748d311b891fbd8525d1dee0ae69a67617d020ce79ec3c16c7a2e8a153531570b69e5910302047c435bb50066306402300d6e0df5b8d3831cf584188a4feb0cc8c638b82087f6b8f31a683f7c9860732b8b68a171212f67c9cb784a82d716ef64023071bf4e4c349944c55cf0a55dbdea9165d436e16f7e1683d46ae5d386e36f1e854eb7b5e36c70af33bf6fe0e432bc17400302047c435bb5006730650230242fe9302064eb654ddea80e2e51068db5b81aa6ea3d5e4c66f737dbec56e48f01c9f45af76af04b3da24399a802156d023100da0a94f091fed3370961e63ea0e223f430182bbdcecbe91ad1e773d0742507b50114db477d060e9bd315d8000412350a0302047c435bb500683066023100832fe38bdd9c2234322d8afe25448ee1d2919306131a8d108d8054e67d313aeb82a911283f2e6ab2627db4bedef27c63023100a53d32f963eeafb0506b425864bfb526d278855b9745db74bf4c8b3f48843d8743aad04c72776df3b92655d6bea04eb00302047c435bb50067306502303a7771dfc228c1519afdc140b9267f3726860acf83895fd089ad4a9496df177d8aef9b5ba99ac8e8bcef2afd4acb8ea6023100e39a4bec6f8718e2da6e6cfdea056095c826b307a58038557fa1d74c84f416a512d62fe8620d70e5ad686d19b980b8150302047c435bb500673065023100bb1dd959111b9d1260778fbba58912fc84b158f694151a0ea002608d081d1bbd0a3cb4702c5e9cfc521dd8e2048f97c90230467c292d5038b717b5982ec252e4ba8d3a084c79b6b2e3cf9b11891f6e08f997813244e339787052a134753a75fcc1f30302047c435bb500673065023100d7a6697831accfa370bec15b4331031817a09f3ce9165a68b8a88ed2ceac56aeab4747922a36d74f6232980566d479c8023044fbd4176ddeeb62bf7d38361594071ca91bc9945658e3156a1e1addfbe69a8d9e170a684eb9570a37b1acf03f3467b70302047c435bb50067306502303904aeb8fb065d637dc104dd423ecddd1809af0d29cc17d2c029e5fedfa9569eb772a0b9b8bde6ac044afca4c0d39136023100a14c57bf9caeace34ac282b9252a5df2cb2818ba8cae091a53e70a0ed606e5f51c1297d46e543801f1e50f5b467833e20302047c435bb500673065023061d522e3af62db39b4fe606d31ff873f8bd1012313e60a3c64f37cc48c1fa88bd4057a0ed732d0a200d9eff3282a045602310087677a585a9271132f27a778edacd2be26fec3ed6d073a6256887412c4740eb62840e7dfcc012f06dc8742fda3d19aba0302047c435bb50066306402304662e2bc10d9de36373add0abf57f6ed8b7181fb21dbb054cae3b72b1791c5ff1938b6e8abe8aea3e9cf698dbb91806502305fae90bec64926b6ed04f5be8b0240370c8d8dcdd9f717b83b9d3245362cb392ead4eaecccab32b173fe459c96e57fbd0302047c435bb500683066023100cd8ccc8221821f44ed57d836bb35980614b823c4e2d5a638d57e45a98eef3f27fa4b590947ada21239181f6c5eb980c3023100afb7d899e5a3d21727a2b25a6e997e6f86e8db012b524541c9e62183aea76bef4bf981b2ec1f982083d5fb4543ca32f50302047c435bb500663064023015c6e88185381cbfaf9909841f298ac4d6b31173fb693a3a5dd25a0465c1b5c213cc84222010a8f96626978c61675fe50230412d88187fb82096b9906a62430d56a63a0034b202c4158838997939b2cff7fc64113ce439392c694c49f14c7c86cdce0302047c435bb500673065023054c31845253ae67f4b40e37cc90bb89d371d2ec4e4c44088756b6c6e32c1cc6fb88112c31cf74e6ad06ce612361341be023100a6ff2d913ec07cee6d501c6e44b77209a335a4c3214843032127106ab876877e522aacb38e679f4765449d0c6aeaa8ab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023049fc25203e6461d077b0cdb54617657952df986ae2804247933e929e6ec3b1a6800120ab7ead0475d330a57dff2e2c8f023025508616769db66fdef5d6bd7d518da3298eebe86472633b3f5b85186671f1425c2f15c9af34704e0ccabd4eef4ca4bf0302047c435bb500663064023002509cc136cad9ffa45e2cbaf605d4c97bf514c216181cf5efb8d801af7435f123c8be2344868e80155817958a10bebe023025e1e23ddcfe9990c0caf732431c033cce4d7d4be384fa58f4bcfbbcb99cabba05b7c32ce7ccb11cd3a73cd58b0b711b0302047c435bb500673065023100984e247216507027b2e2a9250b6708eb0acd50bc6dbc099150a7f5ba7fafafca5f99b8d0557f4032e0a175c36ddbb14b02302cca20af65138dda9ede08235feb273abcd3c6dd9eb9fc6e1b8a5b313b6a33e5e0c5b7bd4eca07350c4daaa2d81b0a5a0302047c435bb500673065023100b5332e1d37a7b0e549bff1a43cea4dfb974073b34af2daedc6292f38499083e7ce3b96eb55c7472a7c64436ff1aff33f02307321553db321407e156485cc2e6843ab9b808bb54696e6c55313c225a316656003b99767dd88ee2cb8b6790d31e127790302047c435bb500663064023029f5a06863b0b59d4451963c18fb07120beb40e84d7826d01b3b52766095a5f600a73903aceabd88974057125063105d023026ee0684dcddb13d76861f7ef103834d579df46c81ff9003eab033ed1d62900e7aa64590ed4de6ebdf1e3750637625250302047c435bb50066306402303a0d48e6c20d9201ccd98a783d61e797ca953e9d51d111e98ed83390505f6880de3d743ad7ddbdb87fcf92dde7940fc102302364f334a5e0885aec2bb494670d348bfd174c0f31493c8d7b3b3136c0464a153e194bd2579e042fa1359e3cd2d4d4f70302047c435bb500673065023100d996964d06175000b9991cd9439ecb092563c39517669a8e2ce482849283b81ad9f7bac244dd79a2270abd1cc4a6f1d7023013a0fce9817eb7858bb2faeff33f89f36a74aed1537065ee4cda4654e0526f479984809982b834a2071fe33bbb6f936d0302047c435bb5006730650231009766843cce93fdb9f408fbe6737c672c8aa4efafa7c4948f51647a990062cf1ca3b1b234fda76a4b2dd9a2443ef7d70f02306753875dc7d118a821014b91a554f5c3aec71a20ec1436cf87ca8b19c05f9d22a1f0d005f2ce6f2be87df32d1be670900302047c435bb500673065023100a9499a4c2700f95ab5bd1880c870d571937495b6fde1631092d128c1eae2e0a77677df712241292f89d42b054c63784e02307843db31c673bf90e785f89e06e1795e3f4a8e5372eef3df3a571ed35de583a10699431e4c3b25bd0e176705564edc010302047c435bb50066306402305ba7a55ad696849bafc8eec17d3c39ee134d71cd1f4d333a89b2d5385763796f857af186079410de5522a49a13e32b1b0230421bca9f18513c480c2e387a55984897f0714c2d4b890ba01943099da738433964af50faa7e7770538b10b7bddbd4a190302047c435bb500673065023100cc3935a7d29810f916d8360af5f930a4293dd8a2948f5d7c6ea8c62ed77e81adbc8a03ca95f3e50f1410274a303128b3023016a9acb2ba0f1f474b49e67a2afca3d3a2e6d0f55f0975998812cab61a6f5317e1cd7a94e4642db8a3d71a8e6477966c0302047c435bb50068306602310080a3547c19a3d9c722b9cba16520204afe438a419f8f58968b084d145abaf7009f666da81a2785013018dc3bd91e25fd023100d91352118185bdc039e622184ee55789fe23d7f1a4a0f24eb31b86693e7768dfff46c3ccbeaf0f7f3ffa5d505ecc0cda0302047c435bb5006630640230217bfcc4b2f221334f06c3039c7bcb68df93a83e35c0b95f8484530f57a2cf66889b410eee8ee61d525d33428e4b60f00230318af8d38638af859ea8564a2877268e835ebbb1792442d25331022919aeddeb1f4649b7870523f3b5a7421d612153e00302047c435bb500683066023100c6158160358a4f40dc664296d0c3e1d80cd2ddd58b72a3b9aa693d147db6080e81620762d31be21a22f674e3a24cd61c023100d7a8486be8c4cfacd9e6f03bede549b91abecd0d586f3fd7024b21f25dc8d6dea5c90861cb90be46ab2c16ff34e69c850302047c435bb500683066023100db09a81ba744553a6a92e79d585eabc96b8c004b83f098663f4a42098c4008cc7a6726b1a3b31f7d54cb726f7f0e24b3023100cb6f2cd330e68c2f2eadfc9cd0acb5b2216e98b3adce5bf8a3db22d411fc69fdfa9c0185b88948ebff6420474f4b75280302047c435bb50066306402303c1a7aac5da2fadaaf87b0892a41d6991e2a5d7e6ec7e8e05aa9a4b635f7554d82658f9c042281d0cde1705a1c60aa48023063bf5125fff51491c6dcf8fd27cbac3f7458321715885666ba03c8d591c8ca15b8ee3daddff6b00e542c4ab5f3698fd70302047c435bb500673065023100e016aa246b48e7db79e73edaf003495db6fc24deb581b358b723e01a41549f5f4e1813b6a158494b280cde8ab2d8d1ab023037a640620465fcdcc42cd33539061da4cd9ac6583ce561d013a06cc3ba057d986a31d8bc1a5f36a391b5e215517eff7f0302047c435bb500673065023100dad647ab406b3154d2f2e0800fd91fb0f5adf2bdfae3653101b3bf0376658e3d90c2640f0f53274563ac37549f32b7fe02307aa0f9d12d5ef44200b6bbc418552a5e845989f4e842f062c337c987c81d40fc6a667c18c33ce3104a67f75dca0b08260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e9ad6a456a0a864343e53bece2ca85b3ad0972808434f4b4fe1863264b52cb6e975a9a1247887666b664af7eb799db2d023100b38a5b0bc63c4ac6258234fdecf86e130a9616ef94988ac663b462437af190b6de00fb8adc22258ee96643fbef5b2c740302047c435bb500673065023100f8fd93ad3bdfc17d2c72daed683025c5587e70cd6a28e3f37e5bbec584f46eb91106437d93647683a15292a7ed594c55023048c0b2576a98b03ee25b577b5c4cd510272d67050c426120205a1b41b8e81e31f2ce1b0632538f3a346cb91d9eca557e0302047c435bb500663064023005b77c82df4842aece6caa93067290564154c17bccd84233570c7a28fec4d33bafbf9e15f74383e1510c42e87b1b6aef02301ac4c570573d73d688d102f994512b42dff31eb6ca954a7cedd08f55e9bab51d2f362ce66d2c7291f96d8192997f91f70302047c435bb50067306502300c9b0f2f17efef6c1c5b9c283929a3304ee143216f0832f06d002a3edd018dfa6b572ff640064d3628d24c492b6c915d023100aa048a20a84d5a64ee6a1e3ee5051851d0bbb1799e4289a8b28b654a6e00a9d57321a39c09d1192c976e804bb34b89f60302047c435bb50067306502300894074cd9505e56ee1ce51589ce25961483c45625ad36eae8776d49f6308a393702d83d9d41f33a7baaecb25c7f73b1023100901c4f40e049f156bd2002aa5c0a81016acb2db1045a2918460e1ef066d700940e6ee0aa1187a30e0cae40e6a1053b500302047c435bb50066306402306f3bc45f375accfdf692176cf1752d11545acc4208c34d55257a36f367a566ca711402d30bca61ed68373875c9a8ea5a02302bf2ae0700f1797e877dd9ce7b77c28dcd10f1d42d3588c69416b87a7b3ab781361b69ff8be0b5999f04896a9ab3871b0302047c435bb50067306502300f73d84bcd85e2bc1a48781e23acaec3b232e612bb2579f01a0d33289c39d4198e66b0dc7243394b4af28307c283d7c5023100fd38aab4f769abeb2158ae87e3a43ec8711743980f022b20376af18e5c6692029c2f99b6ed3b155c8cc61cae332c10160302047c435bb500663064023049548329751b3edc0b23f9c6568e9c16dfd75df4dfb919dee6e54f15bf039c92c0e45d93a726f9e0b68346f7c44d0dea023060fd6d5393a0ada36e2be20009a8da6e11d5553c4c7cc67143799b2f64fe14af3d036efcca3af94d303c3a6f2612d1e10302047c435bb50067306502302313daef6e876ac8b996cbe4063a37670a939e1897a0d19083afd9e56dabf0f60425c34afbdfdd0207721d2ffbdd1940023100d68245908ed004841f580e3be3f878b3518f6f398dc8b63dee66954de856a72a066ea9ab052a0044742b69058ee52f3c0302047c435bb500673065023100c44358acce24e990e1a4617c29f21921c49df5adfead636583058fc84817d9d39d7ae608f0ec341f308e7408e2a891ec02305feceab27597c640f0c9af538cc7c9824db413760be5362b91e0144217837d8c8e03127dda7870f941910b6ace9cef5d0302047c435bb500683066023100905d2b5093cec2c0048faaddc72b37cf0cc481de2072e2dccbaebd1284f69cfd0786d2dceb1b626c1d719964e9620cc6023100b8863de823334f4afd59556112e0356117f92194fcb7d26266a2f1ccad621ddb86e1ab83808edb61a1b14fa3e4b3a5a40302047c435bb500663064023020ede718da2fdb90a103725eb5ea862bbf17b15b36f6f329e20e439440a252064a4b55649d9ac6cb6078df0e1abd7abb023020ece40977db6b94045b18987bcba7f1c128e48be18e5784cdcbea753313e77742843d1a2cbbafffa3a0e7644819064f0302047c435bb500683066023100ec10692c87fb33bc63b1a813fa92bfcd37ee0adadbdfe9cc0e74266e2989aa2daf74b1367c38aca7cea328e8053cc53f023100dfb04c213b4d856e4624d38ead2624588a25fb682c91115b8074aeb559f0827871dfa8d19a4d2e290efea586a0034e600302047c435bb500683066023100ce3e138c2b75df76b4ff7e96bb12a99e31a4aeb74c40d32b9344db43a8df67cf3813d6fc1c5b2770a5b10679fce4d2be023100cfefde00124093ad2aaefdc0e2183867f8bd88b186d220772fdc65133a8a6b7c2c2c07552528860e28e28a59ca647ee50302047c435bb500683066023100e1e577048110106ad72daf994012a7ff245058d3e43e5ab72dcacdf8b44c8a9d767d1f27637458b5bfab45a6af35ce760231009a6bec659205af03d066a80df34ca3b7243ddec2989ade5d8a5f8d298fec9df98091fbbf450408cf6302a95d69c22d340302047c435bb5006630640230733a2f45879e3c0f0ed192f4dbc832bfeae15277ae6bf65931a4a7abe717122d59792f0b1b9ad0667ab7da4cd20ae9090230494bae6f9010c4ac57d369a652917d1a4be2d65c7943f9b55129dda9d66028be241e5a9b9f402c8215cf72665070376c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023013538a7559f35d74a4b0867632f3b503b14c65ea8ac70d574e263fa30ad082ae846520f82fd7074229a1ce8dd4783abd023100d5797b6c0a44a95b5f2c40c6ad2919e0d1ace0926459b236cb4375ee78356c081ee4213a07626064446345213effeceb0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb5006630640230337813aadac179ec97ed136e74dd5917a9ac9a2e43272780c678103af8ec3a4cc98e82263a5b4e289e00f8c6059ef88a02300f5602d0cb858d71be93867719242ba0804a926f1d07c9ba5204d626e4b073d2a7aa299b25807453687ea31259d12a570302047c435bb500673065023100cac35070a1d8032e2c1cdaa7135d833c4ee4d98a6e9d85f86352eb1e5d06879f2c1fb02ee703fc49f910bbf7e19cdad9023062520d1ab68469421d2251a743611623046cb8e3c7e522c1546ebd7ed841f822143958dc9ea4b448e57199f893d143170302047c435bb500683066023100adac67ff19889439cb01e1f0a0de469aeaf06361ff6fab600b2f8a6989934fcf303c299fbb9544464da862318897037502310084a6eed719a2da0a2361910597e4bd0aa047893f0efc4212594e8b979decda2f77a19ca60e21e018cfdb55ac29befc4b0302047c435bb500673065023069aaf39d5c583ee7e155013da0a6e2994a66f8ff695c8c6c9e3429763e1e98b04376025e95d2b2df3dc8ae18333fca04023100ed643558e6beb867adb4dfb2d01d9be4545b4085b709d0adb7a4ff9a4ba6a509235a5a40c2ce8ae7235dbd8f01f72fb20302047c435bb500683066023100bc1e680f606224206c4728d67a31bfff7927f1de0032baa3ac614a6f612ce51d4e1040d410ab043098b1d2ea845b6d63023100b4b28067116e0d2ec16e959aa6b842e2b51ebc2b61407e2cf24445a7c36fcc985f010712540b02c9bc63357b702770ed0302047c435bb500683066023100b798a0458fd66f74efee11a7245e6688fd70e626f0825a7e10435c0e0e2ddc5b44b839eea9df3b6d3d7e8b4fff71ea69023100897511f4ad56337ef36c3e895f913c68f424f40dcfcbede0b310d33d32bd85401445553b50e4a795ff0a7626b1aff22f0302047c435bb500673065023051ed99d0a421bb835ffbd31cbc52e103dccc136d40cb6c45f20e8ec17d232fe85f3caf65055526f80c9afb34a3b1834a023100fb935140721c1af77cb9277f952ec9a0351fe9e95b6733d41254a6ccb745b5d656485219ae8308a6fd5573ba89ea845e0302047c435bb5006730650230283120ef7f58ffe86a6baba61b53045248b058d138153c80c338b277882385b04975204f6759c0a72d3c0c5ec4b0ec4e023100fd9bfb0c0795ed8849fb7261f99141552aa16b8d73c15d8322a1a54e5183e531b085d4296b63270b37c9169a234196ca0302047c435bb50066306402305e4d5b61d3019616b738b2149008649be0edbbc3eed081b02724637024802e5deb5e7401b3b23f0d378061953ee2720202300afd68a5b267f528f7e73705ae78203a7cd551b7ef90bcd5859cd6fe8bde469ad14d319f2abc57c22b2a5663f70ded690302047c435bb500683066023100e07fc921e70725df2d8086cad3d7c8a7f5d3f692c4206ae932782787b86d3e69480ab8d54aad976b8a364655b7fcf0f9023100abf4a0ab5d031f52bff9172b5c2493de01142c292f3f56e95554d362b7d5e2e670dbd36ac49bdf85687112cf8327fad70302047c435bb50068306602310088cfcc1341025604095216db0b0e59e2405b0c8bac43ee06de0b0a0fe65655c396ae8c44b794e988b6756c68901f6e49023100950da6216f9106c37c93ddd0cb76f70c6c284d8a19b3193746b4d5004cdbcf348ac48bf96fb76accb47ca347d088b0cf0302047c435bb500673065023100edf9246ae7b28915d26b7ac82ad9104508e589ab62ea5472814d39123be269482cbaae15fee805f9be05b4528c63e272023052dccf28092d8016c5e709847c0619c6fc52ffb0799692c9af8498c94143a259ba1b889cf6dd0298cf95e7e15a01f18d0302047c435bb5006830660231008786be219af8c54a5bd7889db2a86886132fef1c59292c9c1823d978efaecdb09357d06473956cdc1d810482cf53a3520231008943beed3130918b9f0430b18a1293fbaf1a878cd798ecd929d7a1c4b0b3a6ec6d6fc7b9dc6bbb99180895ceb418a2280302047c435bb500663064023002cc2af45ea4f5616e449ad0ec86d6d1258cbb00c0c3e291dd78bb3c425476e728791ca76d617ffa0fec1d8bcf12059f02307a5bb0eaefd0aa44a2b854d46f3e5cd04cdb26d663fffbe25564a2e89b69e09b76f751c337e29821ff37c8788fb35ac10302047c435bb5006730650230463e03efc2f92680428943d66bfa4ce4ef874bb2f24428d6ffb4a16f57719919bd3141186b1ac8f8c37f292c400e1f84023100a9ef2507d6f96f77b5112a8f5d5979c906faeb01a1cad031e7d536a1fea57c92fd943e731b1d51987cf58985d4c8c0120302047c435bb50068306602310080a6a646547000a7bc500db906410d10fee8e6d0852c756c351d2c5da54c30fd86b33b3c51ab78366f0c841cb3edcfa8023100b5ff45eee37a59f03a411935d895bd35bc6fc813bfa7a2e3e76b65128aa47d2fca85985ef3d61fda2ff20118145440a30302047c435bb500683066023100cea3553d3354bf8bf331fb67df71f438c2bdd95dcb3746fcc7094bf273673e4026a6f7f31779d1ae2fc3b3c69764f50d023100d67b65b0ee42d514a7b59ca2ca5472469f223d58162c3e1945176e52bb18fd31130aa647c2a818d104a76f9104f3dff50302047c435bb50066306402306d4662ff2ab24a5354de2e2286094ced5798cc02dade44b7f1f16b43a42f2a1e1554d0f19cff70cb11ea529fe6a15de4023007903181706f91eaa6ecd204f76cf981963718da8d6efe68eb39654287210fd17bcac6096d1fe71f29f42e8c7b1490f80302047c435bb500673065023100b359fb9fb992824b9c3082ffcda8373e8e7727def01836d31a23b6acfa09692f030fadf9c6bc59a40ee4f13b6f163c7102307837b5e4c625b84e81c4a751e9b44a353a43711e76ce05795afedff7abbee256cc8426a743d37648196575f2de10c0650302047c435bb50067306502305627b8cac9bdc080ba97bf15f30f1c860c7457f9a3f32fbadb3e8ffa86fe8abd8f58444039cf90352ad61f744eda322a023100a688a2ab58049acbf9316b4d3527fb9670fb05a5a5c5db31e91b8301ed5ab5cfcc999c814b214e24487e6ae91f99235a0302047c435bb50068306602310089757f657f3c1fa79407bbb738b29c0972b5165807bbe7852e4aa1bdbdafa7039ccba0150e0995563ef7208d71f94d30023100e5c77d4a29f847e6f33405adfdfd16c245ff859fed926fc5d268e86159859fa341b353836b8b2608b4a13c328c9be8750302047c435bb500683066023100c6da509b6a9345f15e9792a323d24c68c35eaea531318b339150b2d783698e465d8c1f26523ed8cb8baba131d650177a023100c9a76d420a6cf21e6526313718cc37cb00ebb4685d736d1d417d83bf088d23a6d2adeac01a820a9a5801383625add3e50302047c435bb500673065023100eda3993d537756e759a2e4dd5a86d8a4bedae10d413e6e3c0575ba77bf5935a073835995ed72492d0ac3cd912826c3d102304eb58f8aec2f852836887bee26840d30527d345cd1ae0d274ccd77507243e55268e4d0c6bc8ddbfcb8026df0672f9d6e0302047c435bb500683066023100b2f1776213219039427b102f54de990c7dec309be9281cafb948323ca4f318d72475ab00bb4602fc699b4e4d39de32fa023100b216dca685dd21ed118f7d3bb569aaeb861c8e3f9e0f0270dc1d42e1db1dd7cb8d14e2f70a7a1626a924410f3a31b6050302047c435bb500663064023053e1e21798964ecc0240b8130d91a119fa5c0c73e23d55c2e53c8569d3580614792400798c0958df08c98abf5ac1d3ee023074a1357440b25459ae457db64ec022a770c3217b3e4a3147db25543b1d3a12ab1872e9b05d6ece796530339cb95a98970302047c435bb500673065023100a23a84f805ca2edabb72b89a986bdc27530bf00ac2657516461ff24b4a3870d1eae1ed5dca51806b6d9038ba6fad442c02301ecb183802dc3f6c3681ead2f6c1b0f90d5ca380031584d8288df376fb252fac8600bd39e4fe8e48c30823d7c7fb4be40302047c435bb500683066023100f6d7971e9e44efff42a1ebcc3f70baa50f8302126191cd076f325c6b9e07e9bc4864a1dbb47d825b84322dd29111a9d1023100cd90d69726727f8fa4a9e62d58d0d2dabfff30d0f7dddaad1b7f8a64569a9a03e0f873f2b2618f7063c960adeb15a6060302047c435bb50066306402304aca747c38b6a0cd6acf0062faaa39b4b79c21b9cdd092e5ac5c731e77c79e5b0a0bda4f0ec99884ebc6710fa130c56c023053422f5e30926d7a46999077d0b308abe3b1e738863bebae664e002928472c74e039259df34cc8f49ed52deaee3353810302047c435bb50066306402302b27e81c15f54def41f06d92ecb14425c4444a28d359468011f61e149dadbfbca33c984458ff0478a891c5f4465fce790230371b96886a6d0f0df8a98533cdaf4db509fcbf9c7a542d340b470aec75e778ec376b0d6a1bf40fd30315c46b68b4dc6b0302047c435bb500683066023100c5a1e2bce1d946b2e1c4c8f9a9ecd4d57abd618e470ce8fdbe30a5117667fab38862a3a3a658dcc95f23e90ab1052d60023100816e2ff902aa85f906bda5032978b50daaf6b178d7494c478768b1f3b4ef2226ee09fe11f7a3a74331dcf0f8b87224d30302047c435bb50066306402301c357736346ff0eb1dc906dd2f2263cd6b96ab9c8d80fc86de47c3c0eec308d43174a4d92e2fb2b73031e8ed161379970230256104b3c7f7e794a0553dcee9587c743557825265a85f68520be87922488dcb751412a1f992844d5e275d9cdf4253670302047c435bb5006630640230644773dd3d64d1fd533f638a334be3e41d5a49a5fb585310b9c3d581812cf732762a1da1dd7cb0529314818a70f82eac02300ea0180f1f0aba488cc0e3a8865bf78f41df95bfaed3990398dcfea6fab98faad0eb61319e648ee111aedda3eff2ed4d0302047c435bb500673065023100c2d9c0c32e48330038e68337f6e12bddc9517cb98fdadbb38d74ca009a9f9c14e786c05bfbc8420a193aedd02e35328d0230744350571b7f35cba5ff6e59cf75fa23a31e8dc666e4e03ab4362ea11af2d35d26e4b7f7682bfe4e64ea49eddb25270b0302047c435bb500663064023063aa114a57d7b7395f497553eae419c99280d939146c206105996b148f4e884ec3870c565c5cdde83e7ef5d0ecccc42c023065f960aade12726ecfbcd785ff84878463788915c5d93ec3baa137c9f2804f35032480815a4da63a34a4784e170418e00302047c435bb500683066023100fd0b91d4cbf25b85604651c47d924a8a5b64723386f91c798a16b80325f137e0ef4b669dbe869abe03e360ab14e463e6023100930e7c5bcbeeb6e1522a5a75fd619c197436755db01ff906b522b73647fa226e19b0ab561cb783e1816bde5f50c77f7c0302047c435bb500683066023100e320708a3b228876481ace97250ffaf276d2ddc1769ccb904838bc33e01d874683c2c2e2f3a2d1039889b53db277a6b00231009a55ac74deba4d6eb873f4feca4722abf194127680d73fe6c6e2201aa80e20c260d607f7f963c528594e687e6bbe35730302047c435bb5006630640230418c90eb2475c0a5b065cf1c9ad6cd94c7731759e86ee896dd76fb7b32a77a02bb94f3d6727358deb2549be1cac86a9902302fc5b089b140c2ca56613d0eed8843d3862d83e1303c56bc91a5f3830ae5e381557b76104f97127b522fb99f2dc3a9cb0302047c435bb500673065023100cd2f6e0879a9d94be94e09f1cf934637b549b69348b8eb9f6cd36a85b9288c1eed736d8fced3575472ccff7507ce780c02300eae70757bb8bb7467688e299df909a7ac73f14912d014bc225cab8bba5e6234c25e50380a600a2eee65cb69a2d7894b0302047c435bb500673065023100c31170365fd5d1458972929a48ec3a2476785899ad0e1dc9a678ff49fb52405e630249b4a339f9de60affbf9269ab23402300d1a2bd19e4f0ca3bae8942e7120a921991f1d52ace9298636b8d884bed303448ed10f2954d138e56f362d9a48f55cce0302047c435bb500673065023100a9d731e139e7f649ef45cee4f9e1266b3a8ef26bc2cdfbe7005c14b0d28de0d7611220318328ec8986d4453da6241e8402300cde5d918515ad3333e7de305f427d99671bcced564ef2a4e58182b95a8301cdab1f976138743cad3c6b023ec228f1010302047c435bb50066306402301fbb583069c343bf494c2f08b4225b3cab33e6f08dbf6efe08f25bee791f384e5bf101784301f82557df9fb5b6226dbf02302ccfc74577e1df4e516e4b291c3198e008fa059509b10b22ec160a89e85b1f957d335f8e57a9624200a6a61f5a9573740302047c435bb500683066023100a6dc35a2b52da82960638b7f7079cacacbb2bda6467a7d810b086bf88c6556d6c6bf6fc315312df9cd553550413e050d02310085ffc7a2f1228736956e3acd99290fd36d463f52458cc9dce9e7e41cf2c31388a032781c47cd33a58b881a1a5a6435000302047c435bb50066306402300229e9602873235496ab47d458c96c8196a1deb448fd6b7c8f68b2ae4c6bad9efdb632ee426a4c176062bd4112fe2efc02301e65ba521d734621a2423d810f071a81b32b8c644da54ba12c2850af79ddd0557c79a9351cc24198debdd4b678d589050302047c435bb500673065023100a9e6dc53fbeb0bec3dd66a99423a96927739da7c4c4255ab54f224c5f7313acd61f13f273d8bebc64201b49db773d43d02306695e430c8d05e45d668dd6a4b35604d73b816d0f910f6deec3016d6f4204d4c442252459de3747967a1536aad3c9a390302047c435bb500683066023100e9bca1a39c6c1bdb28517d1375461f680562dc8d7887e9c2a30e9d1eb1a73bddafe82f39ed65e5845d8951ea0fcf41280231008a8519b0b317a2f4a7040652929bd81e3d76a891bfab4d20c3e0308dee3dc02f694bbde67318dd02e024fa4cfe28d35c0302047c435bb500673065023100f0d5250d2a0846efe19b3c117422bb64db2f582c56ea5f89e94121e1ec6e7cfba7e590d98bc0bfd91091f701d2523da8023005a858ca3ebed47c9a7f0942601d1db394c4920a1eb41002c16e0b863df78b9978ee325585e9bff0418f5841c246553d0302047c435bb500683066023100df935bf91f282e362be39bb9616cee408c5e8b4267c205a8179211b91a142ff832a0672ea3ec57b0a20320dd1a2bee67023100c37438776e8ed2413ccc9ffb3a5cb487801c0633838c2cda592263cf39d7a6dc5f1b7e3f4e11211c6902dfdf2c902e720302047c435bb500673065023100b3848c5eb1951f2d7139b17f5e877f8504bdf517befd94e5bacef99924c66760ba214aeab06950e5a967302249e964440230464c8c03489d89ec2a736855316372bbb1b661caa3e98ee5af15d4e090bd373ad2db2cf678a2417f2fabe2f7bb6f24900302047c435bb50067306502302cdb9b7619087587e9ea72f225aa39f3881e5842d144257f6e3c85c0751a8d5268717de5e354d06e8f86f5b016e79ab2023100aa03e41d6b3ca0212f50efc4e018513a027610df613d753997bedb475b705d36536be08e856fe019da7ce01a260d63ff0302047c435bb500673065023100fec1eb480ebf44b819c32a7e4978e85f5cc21202f1e72aab7dc246ca1dce5b3f6dfa21cb123e420985a745267857d5bf0230634043e19bc30e367e973ff973aadcebcbb5e206358dcb4e7ac4214e8f498f37a71eb45d0d223b0e5130b55b9794afa00302047c435bb500683066023100f1627b9e0c13f4907a2f4306efc2e832f94a836420ad9a750dea29cb870120a8f7b43ff84026417225fabbe91e5b9ed3023100e3bee73e920800be1bd4f4117bd89c9ec3fcb1a47156ca9270558eb4789606f40c8282b5ed05bd5cb61b5b353630334f0302047c435bb500673065023100957e2c2f799f61f8598b6e43312811844e384bda2cfa5bbb60add562c9ef76ad72eac235858c59e618d1a1641768a0d5023022a4840fffe70eeb434b760cf311f84bd0a645abfb237111b4f2db51d1d6c8fd3531bc9b3d9e7e574354a8423b5c1edc0302047c435bb50068306602310094d1ba5f5ba93d7c2295433672395534ec44cc8ef315d59d652e48270a637834c1dc470ca2077c831e236d683d920c01023100ebf62a4510bc3f7936950bd36c2c4254c185ddac8217f1df4a97fa84c3d24956a938522d955ca07f43f70553e01f4c9c0302047c435bb500663064023077ef72e9733ef57d280e792f7834b883df19989a5efd3a31d51911c662c64aad06bd0c766dfa49809041aaf9e884fe42023030ddb0fc0c13e3c3624d1050c3000a110cb8bd87ce654e1e1e49bf40a063292ecd0d41a2da046250d9d5ece2e69721880302047c435bb500663064023014eea2d27140267dc2a3654079f45e7987961653e282a0b579d880dad9bf8eb3f695a81a200518f380b3237b2aa8068302301d8d58b854edb5cd3d3d01be4fbee588b649b2081928d010ce5d159c500dc00bd6bd5fe0dd2e0d0a8f49d6789a0b43720302047c435bb500663064023070063ca04d5ec1af60c1c019e915d029b56d58db0de75aa632e9813c7ed3ea24c7b7919245106479e61e6337262046610230340eed0dcb8f1374c8970357b09cd2a381ad5573d3f3b7ec97b100a0c4edcaad0ec3702cdd164e4fdaa12cf8a5f15edd0302047c435bb50068306602310096edd071d46ea10bea8e181b085f55db918ce2e479eb0adfa26ff76b7a8988b3658c23a1d7f5e304702f9f9bda9988f7023100f310ac7f5efb30d8ccef9ae34ef87b65e9f64c700e7ebcd364027e7889d1a03abf9ced7bc29abd3879f5161b8ad53a410302047c435bb500683066023100a4b89c028dcbb651a46a4f4cd71ef36bdf59ec9117ac6016b57abe206ed915ec2f211045125f699e899b761d79b04525023100f1f349baa3c033dd903dc4ea4343ca14d440add3bb3c337440483224275878d98c1d1c56380eb6ab331fafa0570c198f0302047c435bb50066306402302f7bc03ed98825991a9ee5ce7b607c68c831db7587a08d04fe5a7fe8a49ac937ba2b7fbfb2333f60486315119aba4f5c02300935048d62f950a8c7f8db2cb44e3370bed67659136fdcd4178d301fa8cd22fc138c2ae3e2af7fe3f2d05fa294f92e270302047c435bb500683066023100b024457fccdd491e80fa311e941c2bc8687b92a583f50d3db09b500be2051365eb600b9fa744fda9f123f993ba22d8cd023100881fdde7bd9be290e06092cdb2a31acb062a394c631f1a3d9b09236baa91c413d1333c2c35738304f8b62ab32ee33ad80302047c435bb50067306502302cfc86ee4d7ce408f4544a04ff710fc291443890b738b718058c857630727df971e8e748b8efea30fccce3f6b6eb907d023100a1bee0e9ef7f0f3e689d94831f9fb1499222878a1474dd10ad220e3bfb6437023cbc3b6de7931c692c1cb83cb6725d350302047c435bb50067306502302dc0a0b5a6cc31b6a2ecae4bb9c47fedb9652c11b858437d4879f169d6192536b26f98d4bccea58d5c9b87dc45ac784f023100caf68b5078d7a627c711ddd8e526e07a8f817186332d0d4f87cea9c270b416c6ab8abd4dd364cbdb6a24a37a0a1c44d00302047c435bb50067306502304919a82367002a2945a8f3fe41e4f1c286acdc6bdb98c1c27f9451cac5922fed39ee44d1ac93d2cd579ed0eb1694610d023100f511126305dea4d7ab0dab96738a33b0650f17b3f3c08c89e3f17033d877f7655baff5ff03f5c5b0bccfb772c7d439f00302047c435bb5006630640230751abd377421580feb21d510f5aa0ae1e84f6f53e3551007de1da92d3cccf68276be83258e9ec02850e10b6a0735d87502301753ddf60cf4cd4c3668b28054a39fdec7a67e7986fb705ce40bd57b95e9450b0ac7ea480939ab04c7601dc47fd97d6b0302047c435bb5006730650230217de0e3535ee130abc1dbdc12e4fde0b3b15861ee46aea2f462e2d1b10492ace49074afed3535facc45c4245b07647302310091bb9ef038c15ca778c3afbd1dc8df4c8f355709c5194b53a04a022f959ffd9efc6a096e58bdab47d580f478b739ff5f0302047c435bb500683066023100e2a9c7ab87f534ebf212949ebd8b5074a2a83d3289267af4eb6ea9afe7340eed46d006ee71d193190a96d614159205d602310082b3256aaf113a806ab5e28ffde088f40d484bed803a28e81e655236fa75c69e82f2031aefb2b8343aeb57efd2a827180302047c435bb500673065023029577dedb1ce0f756956d57d9d1360acb420d855f92dcae7067147adef6406cb10df494914c4ca4d0437e101de684def023100841c094c9ad45c9254d2e2d811fcd7ecf551c9ae6be1c8d8d1d8a9b4178a5be31df7f54d363d3185a072b499fce5201b0302047c435bb500683066023100d6d3a7b9aa8ecbd36375ffd9715b10d49fd0327ae9e6ca522c02416c25f47b349894ab69555d3aa546a25031d6a0e472023100d9ee18769e56d7f165c94efdcbe7537022aefe0667a20a37fd719df3b71a89e726a952e718436dfc07e1cdaca4c5cd890302047c435bb5006730650231009695a5db4fb0a1462d6ec390835e59b23faa05397e5e6e322b1507571771b2784e162fddea5836e53ce57b9dc781fa6f02300ad6f6c76e9b43eacf9a86ba10423a663a4772c611290081cc1c4b1322951b09d508e45f03fd3b5bbc1f04fce7a01f690302047c435bb500673065023100be4c15432915b0af7e8aa536d07a8a14dea0d0fa267de78b7efff9fa4d75b6e4e9a7ffe40fa4c1195461806a458c890202304e7199b9d9c2cd2be668f374dcd346b48d9c75947efb171fdd820134db002f11fe86690b3b8ed04535cf9b294d509cce0302047c435bb500683066023100e3d7433f275ea31c60ab2bca9b5a833406c72c8424cc8e9119b15e70128152412b3b93eef26256bfde110324060af736023100e987ff66f64264f0230dc0700c2b214c46573647a72f0eb7e84abda2771063697481a8e3c3124c011bb1746cb4f867550302047c435bb5006630640230767d2dc5c1dc3e3b7fc5960f1ac81793120659265926a7b599fcaaafe5932224e2bcea171618113a4ee613eb48ab162702307a5aff70e66ca8d16ad4db50079916ce12cc916e017ab203c16f0a7a65e0377020bb6973b1d53127318bdc9b5c5ebe010302047c435bb500673065023100f86a3a3e38823f92a47601a52d770933740fd6c91197fc0855f2da8297d24867e17eddb9f85643bb02b46ef802e3241402303466c4b570a72df7d45fc82f81ffd1b1341e82e6166c0c4ed2c6fa7aaf622ac2cd6047b6a6d14d893a9c086fdc4ba3220302047c435bb50068306602310081e2c38e6833752519a16c8adddcdb3a9f413158c609a377a78a010f48061991780febd20b9a944248c337b61bcb23140231008a5e1b600d7422e7f5dfd71ffb5171d033614df4e1b80bd2853efbb8d2f0f2733bd49b0db82657e1c5c5ca0577c30d420302047c435bb500663064023002627932640a32c8f18a3c274b70db0df8d36a6d367cc1e0ab1ce7187432a965c6e7bb670344f626049bfae4db8c5351023024b06a68d3195739762ef799f429fe65076a89c11770710d314861f572a8285319b5358083ad6ee6d9d07d256793ff0a0302047c435bb50067306502306f0f1c7795fd50165e052821816578109c42d972a4e78cf4bbed58851243e29a3f83a156da381dec111499cbfe3139030231008dcb8e8bf29251c56f5c4cf814097aab758afc671a7c27faed63586b1c4d7944add77a24f5b3912e594430bc7c60a31b0302047c435bb500673065023100feb665a168d63dbcea01df7a5f1a4555225dfc221d1918d98be7920994fe29166356feabe825926737636560f60e3fe4023054a67eb87e42d14b3d57cf7da5439961f34a22637dd8ed92adf515f802146489483abd5b07447b530984dbf5123043aa0302047c435bb500673065023100b73da5d22d16942489df9d273bc58704f58c001ae8483ddf44eb81cf0b0924c3cde3d8c8efd1eda235fe8b5dbde4fc810230152ecdd89d7bad2f73bf330646d9dbae7431096a25c10ceba47e79425b2bc48fe1be12aa5e52b7747a4ddbc85db6b6340302047c435bb500683066023100f4c9ef67dcf782837778f746f6e897ad756061c96f7ada03910175a3f4a54df01a69b18f474476053d77b4581f0617b5023100dcce35a3dfd4f14d04b264784021c97798e7caea4775e5f1393027a41d1ffe9990b189fc024a18349e8062a0a70196f20302047c435bb50066306402302173f6dbd4ba365a622aa090304b0cc5676bf109b3ee3c51b8accb9e0224bdcc4600b0561bdbfbe8b566ef6920555cdf023065c2ac6623394f581f6e820d1f7604e4ab94cda48473bb368437816952184f391b754c95e418cae17a6088c3aa79568a0302047c435bb50067306502310088f5313ec9ad70938baa27bab10be72f39aeb97920216e0630b5b4d641aa5df2860f80ef80cdab84830c36a4008dee4c0230278f1645b4deeed851def7be2ba1e86efb51d762e4a99621bee3ca52781e68a92514cddb5bcd1ddc172599a14ecd5d160302047c435bb500673065023069d9e8cec67e9b33ab7db1b6bbbc0ddadeb4e79f83dc388baab47a24e1643e39bd3ae8c2fc5d5786cd9070ff02e9349a02310099dbc461336edb9ab6dfcaac3b8da87e17e153d2ed5244a7765433de03909bf9a5f7c7fedc386ff467bce76fa42f71e40302047c435bb500673065023100db8072aca9acfd82e8a54c70d3b03ca3635272df0f2041a0b463b4ff11b078b8b936456a3a4c310cc0ee42bbdf6a60cf023001afdcf2c2f2d2be3c8232a0374f5043da20ffbd2d94fa2c702cb4ca2fffa565de82c0a69092e01ea07591a93819285c0302047c435bb50067306502306d1dd3a92aa2c570463da248817c7680dad365f4636607a4ca4475756346d324d5bb402d3fdccd6f8a72ec0898324771023100dea948d3199a9a1c3cfd3fcbdf5a3e0f0984c9832fb2f1d318d28e4d898357973b04777046fce4860c8d846c12dc00470302047c435bb500683066023100e16ba652a940f3e8d7d1e4a627dccf135ff6adeb320d240fa487f6bb160648fad9a4d75d74ed3058bf0e2c99fc387ce3023100a9a7abe2e9ab6cb3002184d372a3bee29e327f1733a85748c171b24bcd06782533fa98e1c9319498103933e07fe8da9a0302047c435bb500683066023100ceeeb9d67374a2f6498005e6446c1be2cad35b27338b62be15cfa063c78c44d086605286ff468ef2c6cb03fac0d81255023100c357cd0d4357c256eb3d93584677a8dc79612361fc283c1dfb2b91d81a71589122caa7d89e27d9296124ca4ed1e936780302047c435bb50066306402300c0dca96b42815b8e465d703c5b44739edebc34f6567dc0cc483e78f308a88dcdd800dc239541aee1033704ed4e239ec02302157b1d561775caa9371533aa66448524cf51e6172dc79a8a3c8f18e54730267706bb806b15d1ca7a3c986f6a34e72470302047c435bb500683066023100f50c7d3c3175c0aca27310daebe3118e69fb27e340d64d5d94572aa3dbd6216f8948853a802266743d495686a36ecfac023100a46107db6c2da341781026ebb3f5340e92ac684557c530b4f2d24a3e2d5deb78c69ac4aea4edabbb9a94905f83f5dc840302047c435bb500663064023066d90a24ccfb35b4538dcd904fd09c325695674a089044a459c50aa74a754fd0562488be143ee9f4369f60d5f9e22d8b02302b4403b87309260f7872bfa91d93978745bcde45404d96ae1078b403ae76a23933f0dce29250bc67a7a49c028b1eefd40302047c435bb50068306602310096b7ef0d3391edd323b4625edbacb21a2ba597d46953a921c28d84a569276a2a21d0c2c9c4840b23c11b03cf5cda508e0231008915e509754b344cf397cc71207725afb0fa8227def4b8c5af4e99717647ee122cd8bb8d5d1f9f621db99a9420a4ab400302047c435bb500683066023100c8c301e8109b38066f1675be9be05fd477082ee9480b38d2b4e5451d37bd01c3feeaac387aec28bfb9de0928867ad543023100ecfa613efc37b7ae5bd752bad8f40e8b774605240e7f86d396acaa1c747e8e417aeed51994842f5966d35a59781cc3700302047c435bb500673065023100f24c4a0148346484dc9a2c36f21f8ecc5367b5d20a580c50e39798df0fa0c0a85f47f32dcc1244d9ee962b17bee65945023015f6c988f404f347824bafaae022c6cd34b43bb90cab2f2b7b578bd62b892ff4c5bf5712fbcf45901944cb806d1643800302047c435bb500683066023100af3e6157f0af9c1688e07226d1478727aa07376ea1a7efc13880f4122195b8040fe4325f5648f0448f482d0a9fd0a022023100a33a555e6978ea12a905f7afabf03ab989a50fbf31b9679696e08778c0290a77e70edcb5431295fa900c6af5077800c20302047c435bb500673065023100b65bd87d5cb50cb050c58937f7cfd7d6445f740d08a0a6c30b86d422ed7925d6c611f9c4d4d902ff6ef98bf46d8c34e1023034ce71b14914413ebc846f2d2dc02b2a776c0cc2584dbc93e64034f2a0295bb3371445642402ca4b00af26bdeb0d9c590302047c435bb5006730650231008c222d57e0ca79d2df8b8185a6084d33bd14b9914518724a843fd9481a1eb302b271c8dbac84c247bf89aa881303c53302307886afaf8cfe74aaac9869c6e47a38e9b7129dc262f664e059bbff392aca8d5b8645d7b4b2d6803c5cdc65d3514082180302047c435bb500683066023100d93650674d8c29ef689ed87cbab767d8a4ca36f0a3f9788d40db1c1246c5298bfeff1b08382b43635acdce21aeafbdd60231009a11f04a364e6a65c11b5402291a6637ee66722ae9b8af73d5a643aa7a67f8e1f2e3fff3dfdb5d4a566fad08eb6a3daf0302047c435bb50066306402307ba5a157e3e9bfe4b23f21d115bb724b97749e2235e203f9182578e1abab5b0178c1c5f9bde6a04082174fa6f8cea63b0230109d6ef62fec905bebb88713cdf500a2045b4d77211d6f36f375debc74b0e8a1f6bdd827e5b3e24bb80eb9eba78f95610302047c435bb500683066023100a6fedbd7a5eef00fa8f263dc2efff217376d9c34a467297b894970135dc5520dd05d5326aa216e42202e5453f087d34d02310093e3d97470196ca713848e2c0262dbae1d2f6d4057c494f16126cb0c1918acb25ece1fb3d1a5ad3114ea147e177de0f60302047c435bb50066306402301b793d0e2883bf234f7b39e4fb95f7a9ee6fa7178499e0970f361c820381c4fe57a5e5b8962c5853e13f69b60650c8740230399faf62c415ea5bf12cd26d821a39cfa4c6da7a76a6ad508db4555079c7d7bd7e31377f5c682e1bba5b5f35ab13a49c0302047c435bb50066306402303b087238f755480c45e07d96a921a1ba71d4222d8fefecee0130bfe436b4a0a9f6e4e616c5eaeae8fcb44520a2b0aebc02305e3d77a1d574a89539bf73b8f70a8e8c5b5e816b8e179ed31f626667260d6196de46bcebaf0e325eb924bbd759a1de570302047c435bb50067306502305881dffb5999f36ee925880ad7ee707b729ff7ec5339e291a2f4ca7009876416783985f022cef17e22f4a8f997c975b80231008318b5cf244a327ebb49ad7981e0af7949ed62e8a998db47d680cfffbbad0048a7bda230171694678a20fb2f33c22c040302047c435bb500683066023100b120597edc127d5d7e2bcb5c261ce565151382d509a0e399b71678c8bdf94e2fe65249ef490e419c5dd0e4a927974dca023100889eefd133bddf6bce29301c120197219368c90d4ffe249bc8f343bc49bda5d9bb06ff925009cd826ece0f33842713250302047c435bb500673065023100c62d871b7c545510c94279bbf5b01f9d021547e0608fe0ea970a5cc0c29d752c344647d5621d80b5720fb2e4318a6a5302301036117316bcf52357dd13c15146b5a27ae263890223ec2a22d496c8cab37e5305c6055e1212afae5ab8bc04a9f590a00302047c435bb50067306502301bce6561de54c39d0d000e9284f75ceb8ae850e75cab67c42fbef53d72b6c6f667ce9d1d270aae62c2d74a18bb3a7659023100e104ed3d42aa51500eebbf5cb37cbb5451f0b6eb5ff24246f02c5abf17cbfdf7db668a6cc6920a27a947cb4b83a77bb50302047c435bb500673065023100e8a9810d0ec78723b7b96f7c9fa2fcac7c2ed743e5b91662d4760d0fbada38ceb2c44621d718b736a589f764122dd7600230047891a243366a9461b2375f6e0397d74032173673c657a3645f6ec3ba36371aa39516f4f4464ab0a334d3d42078cba10302047c435bb5006830660231009506b948d15d74ef15a67ee872f5d8b702a86a9762ca74468d1fce58efe7ffb7ad61d778c0bbaf31a714bcea3c7c0091023100c69586bd794cae4445a5eab3bee29a3342f4e96967a4a54ffd3bc0df0f87ea51f86866d29f0bf4eedc9315ca7efcd8bd0302047c435bb50068306602310083e5f3ed684c1981cabd9902a068a9ff2e440a54ecf33a689ae471242927550ceafa7f626db26f8565ef3af234bdee62023100aba7e52a1485875d86af6a1779ca489a6a9d836006f20f5ff4cb0e423286273c3a5052f51aa5de6083109d20aa39b2ae0302047c435bb50066306402301abc61b62eabc79b888a034c11eefa48c925cab1862af4b438e3a43a35476a9bdf3195c09391f08c8a77d73820f6bcf50230317d4b1c537933546edd80f33964f4fb3b58fd0ddbb357210671fcdd1f9f10bb19df26e1cc47d9c9e441e719ea7d771b0302047c435bb500673065023100d580096c52cbf006a8b6098a5783c664b2704d179b162118003f3399d8c108452db4a6f5257bfd70a613abfc69ee31e502301b01a9b75c89db8a396617058ccd923c9d3eb1fed600051adba2889651f3a36879fe442190264c4fbebe5418b13b997c0302047c435bb500663064023020720c85d411d9edb4059840fd83a7ab2fd7156d2f330d2f1b4d6830bf6750c7870becb24bc6739d61dd5b67a70e0be9023078410c65c44288932dae43eb35df9338bc85c73d4eeb0298f21d83c8d526f6eaabe350189e33bf6b3489406b2ac940870302047c435bb5006630640230665123d1d5632bc9f7659ff3f3e55811b6d81dee919949e223dae0033930cdccb46558eabe085972c36763ebb0dec68902304ce255eebf1c34f2692a8041737bdc751635c1eda01dfc4ef347e4fbe5a1bb110ad0bf0659246fb54a55d38a91fe9a3f0302047c435bb50066306402306302323aa87b9c9aaa02bdf2deaeefb593cd4acc7c888d83bbecebf69a03b448d3122548b0f7b10beece92cc83c9a95802300d2b87426501131be6cb4443845a26e0041321b635d6140fe0dc5fdfb097c656f594ff27a914b5bbae6a32fcf4743a450302047c435bb500663064023020693d3195940c1f199eed4f85060343b5bbd0fe68aa556cded225a26d8d0fd1d5b7c83c67387efac1b7e4fdd00b6cdb02307929ca0f0f8f1ebdb60bd2143002958c2f51d5d7cfb5608c61e4d556ea4a031db63a1d9890bdb28b3afb61b853d93ecf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100feb7518b4361827b0082569aac233bbbf2556c6538c46399ff51db3fad2c75ed4bf7ebaf5e9ffadb4951a39defae8986023100dec9f20b1e13bfcc55ef90e9f0af41c231854008502aaef3aa4c60de598023a82cb6064b8d4667c63bba6e45faff52d30302047c435bb50067306502307bd6f71208e91d724fee0e0145ad00e4c21f9d023b38e9ec4d555635157f55851caa7190b510de65e339b6ba9ee8e618023100f9daa4c3f47e575f1cc4627f14b253608650bb10221e481122ec5066191f25796c0196285100fec77e15b3bf06807bea0302047c435bb50067306502303796d42bc37c9f6e824eab50ca0dd2160f01f5091686373e8cf3b93f196a8909d86766a77a618139e7a2e475c4420daf023100b8360137c295e6c0d04c746f7b3f454a5815b15e29b464a78e036e1dde6cc00a943d756f48c47509ecad66909f9ec45d0302047c435bb500673065023047d77dae49c0862c2180a51e76f135c0ffb29cbb78faa39e069a03240c3a3bd6774f278f7d7a9acc302d6d825c10d687023100e5fabe869664a23fa91c40c44370434efaa9e89d7d2e2f415a6c77ce6b42f016f4dc21ae598208b76744d3ff3e6a7b2e0302047c435bb500663064023033b6bc11199d070b7afce89deca8a5652066667aa32234b4379fa0e7dd3b41d24dd9b974a5a2141303b78d13365da48d023078cefd53efaa8bded65f0fe355f3822666ad0894193a9c05a69c1103fc229c490f54a8bd098a7d6c9fe95299ab31e0170302047c435bb500673065023100d4a995abee7ba505913206faa5d9cd9654dad50d145f82dfd37d0c5385ac1d4f7514aeb6589d0014b6b484d4bb6a877702307b57980d3858702a1dba535ccd8ef3698ae1c9aa68ffc2fa719b1c6b4be9d8ee74956e0930a2f9953da171b2135b80fe0302047c435bb500673065023100bf0fe54d886d4c3cddd626eb9c74510c3af7e9d6d5c90621c2549dba2d7a5961ca7767f6d6721218478d27140cacec7002305402ad596960cc8114f6228ddcd94b64da4b581ca90aa16a9563756376c79904c3c92e13916b7f0e7809f9061459e3fb0302047c435bb500683066023100a7f5dda60a081e1f3c4107dd1b11c16d9778804d137016c384ba6c2f25ed845fb499324786f80283ac484b785f2a86f9023100ce7d1444793fb44c6f4860766c1ca4f14608c45973a9f3587f8cf12d75338e6726cb8e09d224d1124a18a760620026400302047c435bb500663064023057fd4b2b7408530da1974f91c4e996032a5ee854e064a025b6b124f0d2069416339c9eab68c2b42c8b6546d68131128f0230398dbd9ce0e599dd764a0f97401491dd7b8f615e01fdae29cba1a66b6211d2b1b3cf14c69b0277946ed30921255df4490302047c435bb500673065023100c8d9b6d4b5c3c82ed098d6a5f5145c7be4a9e279597d3c9f421d3f6f3aabb5c60f5f52843e972ed0b98484f36adcbfd8023035c0b014fd24226e45ada3eda1e98a9d7551902eefc464ec8d08b715be7aa488a3fc3ed1f285f92db94372468687b86b0302047c435bb50067306502307e0d998593b01d5daae8dec0af216deaf40cec0c4cc93b38a0769a05413c3e286966c98c21a0a40a35d6ed96d4a7bfb3023100ee2ab63d8610e16eff34101a5e3f51c4868071a9380a07fc89610a66ede0db777d23442317b45823023913c5da97a14f0302047c435bb5006730650230390a6e0ba5fe8066c355e45701f8a0ddc6dfe721dd527897cec80fe7ab65f957246b52146aed1ad1488cdb2e753b3da8023100f4a1e988917fba2b445014bd740ba1aca9c6fa51ce0cbf26a3ec38cc6458fab4cd7dbb4724d69a9327b08401427486090302047c435bb500683066023100837261c3bb8bbdbe96796afbf209d5045c773ca01291818ec39a9d427884f47e5ea2970657ea8c509baffe25218ca1d0023100aa7a5958fea999983d9f3aeb5d91779cdb242bbd97bc9c2448981c8bb201afbee840ffba9c0fd351f0c3d656670631bc0302047c435bb500683066023100cdd7952789edd79aef0eb3acf199ef4abbca15ffc42857a80d0059728a778cd3748575663f6b70957f975e3411a8083f02310081271be2041836a9041f31c8bd83a989700be0b6e9e9ec8b99512f4709dd1d3a716031ee3d29dc946d993ec2b27fd33a0302047c435bb5006630640230545dca115de336749f265a4b34dd16d2b27349837a2136f8254ceada1f413cdf8c34460963d03c9e56afe48820f066e0023049bc5bfffcc2c05611fb5a6e64b78a223f6eda103a23e16667226d47d980ed0931d2e774068a2a066e624761cf0120910302047c435bb50066306402303f72577ac6d6633826ce09cbcaeb54cf31b4155df3b883fd97317fd97d8701b66d75d4742db08b7d2903f9c039ad192a02302dbdb4b15297b99238ecf37abc5ad4e389faa40e278b91f2beb0142a9f0016543c9a90f4fbdcc655c9ef76cb0dcc4bdd0302047c435bb500673065023100fdf9a914ae2bf8dc00544add2f514951ba7e7adcf89149361c0c9a210ad459e8884e9801577d144eacc748878138ef530230029773421e33f5b4ccc5c2ed9aa19edf274c1cd311667253289b7e5b1a512133ef115528c45574237d5d2668a71ac6160302047c435bb500683066023100df4d2fe3d229b46967bad4e8609de56e62e5afeabda7c0da51703d0c5577bba9f7ca247b90aa8ea8648b6ba8c240f3d0023100d13305046325897cd43cdb893f15e6daa5e4514cbc5333a5085079942fc1faa1ed38afa304f54cb9ddb4e1c485b4c2230302047c435bb5006730650230008abf6ee7c1beea8c07f57909ea7f6a8ace5609a88c196b90db2e2775fc62c38466866dc76f52a984b0bc2002752cf4023100cc7b1b5e5c653bd3aad8753be59c889b955c796e6ea407518b6440d25d5c083b2b2cfd2ee3aaee3a6bfe9274779aa4310302047c435bb5006730650230493fb6b79fbb8b3ce5a0b774c2f61c3967809e6f0eadb545946522bb045e2d18666fb8ef6795a18e41bad6374bb19679023100f05a89309560d081562e3bfb07ff8456d625ee701f3714cd38e0374c0f02cba3226de23e2b2f6245cc819df1ac297b7c0302047c435bb500683066023100ec3282fd4851eabef2c4d3ec9de7618527f9d93c07230f2efdfad9426acdba168c21d5dbb2ccd0df1bc5f53f39697d19023100ac5854c3508c3b2336f5c4eee8a9ec853f43b22762fe53fd414414bca1ad181e5124df1b562cee2f653db2b32b016d180302047c435bb500663064023010ca7eb4f437495edc4e46122c025304ea0cca6cc995b562c0ce56e2da84f62c087174fb0b6d828d74279acf8a58c5dd0230660c491ddc9e0c907a785f6a1a622182aa0684db92d65194d6275d80e4a12fd4da5e6842854125e8f117999b32ef2a060302047c435bb50067306502307f5921c0852fbd9f4b392007bc40239fd3e5798c2f282d0ad2b0b527eae8a8687b48c2473cf85fe063156ab191c6baac023100bd3d227440e065745d5ff2a47b6b0353c5bfb7d7ce2bc60ea43db485ac58cb1dd4a7768a8ab2525d4088815340c84fa90302047c435bb500673065023100fcd8656f24e197890cc00c0d29170ea298d94b768872a8b581930ae350f2f12a775dc211483b81a624404e77f48bfb4d02303cabae51dd78b2b0d68be19d6061c0d53571318b841b2a1ab82174ff76ea3dd2eac0d945f311f7d02e4d07eacb1e926b0302047c435bb500673065023100d36235efdcbf40e306358db6980c07460a4878e43bc1db8d0d342ed186788fd802b965640eff117ed1a7d561277a4276023067bef19c8424516149296c066a6bb657b88dd0bb9c123817a1b26c79dd06dce6502325124ef0e3da012c990219164d230302047c435bb50066306402304ec5f2f7133f628693721c01900aeeba157abd0a972714ad06e5ad7a83e64df1384420d552f710fa1837546b13e9ca6302301354209c27df30872ce3e4351be0c898c48a907117789221f7031005fd9adbf1da5e126ceb6a9305fde435dc16d11a360302047c435bb500683066023100ae8e70bba8f61fc88b212eefbfa1d03c56ecee82138f847cf24866bd661c2dabb39ca2aba9e9d3bf4e9bc0d5c6f09d7c0231008fd253c22f0a03b6664056a99c2677d4783880ff0759a2934cffc822fd6658f2a89ab5b2647f0b4ca87465f2f051a5870302047c435bb500673065023026a94cf5a4908e677c391b58d6def84b3563bc288e1e63099a1d635a83485f4bdecf4247f647e01d0215757fca3f3443023100ec9e17e4bedf414348b5848184778fa29f0b71ce4eb602ee31da245cebf3415bcd2b129f8c82b55e04e2aad90597a3450302047c435bb500653063022f5e09a712b24d367dea4a2eae694df191551b94062df72fb046e189a7e26ed42a13c0e82675f9da8dded32c42324a18023036dc9831cb46048c2b8d3790bea4fe48b09331119e39b2ccb0924b85264be24faac24023d8f9ddd1447b2bd62bf168900302047c435bb500673065023066af56afe2416d9295b018ac577e7256f0327ceba89933dac83d6a5080c4db02501976bdc86a56f018c05a8b7609b5c5023100bb42c0ebc455c215d2d82196208ff05d2e2c39246a07f13f32b3bb0350d176cd7db0003fe55ae25948addbbbac32ac410302047c435bb500683066023100f0dcb2662d0782d60dfaca099cbc430ef201fb536692993c57814bc1fc99569757fa97c560e7e04fbccdc2795990b6d1023100c3e72a4a4e2871423db54730b2054224fbf822b6787b6c8251f7b8fc71dcb016613a5915a9c3e50a2d935917e9763d8b0302047c435bb500673065023004ddf420c8934c3f8aed8314c725806d7ac8223d68530f2414fa963faa22210534bf902d0a31ebc7fd52cd7d2127303c023100c142bd2e4b68cf4825b43d11a5b2667a82df6c136b3d7a3abd679bfc9893b7ebdc832f0818b23e8087e97474c50a37a40302047c435bb500683066023100a762e1dd456565ffe81b605dfb2fa7e84473b298000a313ddc42501c8de935d238ec14197c429d0f933b9848ae85e350023100996ee373ab801960708fe770b9e1d63ac123309d84a12ae8772f02a67fa58306f0c811acd19de71c0d3013404b35d32c0302047c435bb500683066023100b4384af1a0b65b1ba5861b19bbe6929696f957272b626a7e32239aa1a1a2af09e2dba5c601b50d09baf5b5ec6589068f023100f71333415e8766b26a8126bd3ee0be00be89dc9f3876aafa185643fdd7903db28ec9bbc470180e7ee153e3de436cd9a50302047c435bb50066306402305d03027abfb22a35cb3855bcbc0b275fb151bb914209dc06cd2db27a3392419368fcfabcfe240f6785ce10dbdd6aab0c023011771e656e7f28f70d564d4886cfbab32fa3da54e257c7ae06c3266ea0b836d5e92a1d6a9bfaa7618047bfb729d9ee4d0302047c435bb500673065023100b7cd8209aedc3af8ebd4740d59d4aa80e28fb495ff6cbed3e15ada7e6398f2e91a0f3ee272d2b554ef74b938900c95ff02303dbd15fd8b552e30c01626de14e58a61abe4f801714dc9d18222fa433dea3613df71fd37480102bf8e118f0d5c0510340302047c435bb500663064023000c0fc931b12dad2b77f586a141fb2d088e3d68353afeab2a89618fc6ed3b509f9f1c699e860b72b823683f5875b01c8023027d155990aa58f2af746cb908ae01d265cd2c391b3ad39cbe4838d96c183f2f9a766bd4481f95b84f07d5509a374507c0302047c435bb50067306502307207d3204970e0880fd8564851ead238b08eb4a0d020f6fecc81ad19043f077677f85b3fef3017b84bfc558140204694023100819cbe433768303bd0f68b8b63206b663bd5a96d14fd62751d1a19077bc901820042fb5ecaf8d224db44df0c91c474630302047c435bb500683066023100e1caeeb61f9f2dc2dd8a0b2c210f1a2ff03318f328cce26bcf6633aaf592774fe36e34dc737608fed10555d7e9a6cce9023100ef7c3ece0ff52d2e627b52225f49d994e1ca5a796f16d010cb475b0a68b1ad459b0bb5b5c8b5b5d188964125f07d8c2e0302047c435bb50066306402307694a59288d71cefdc98e7e929c6cfcd5aad59aa06028671f0777502559bcf92e5e99a3fdab4d78644aa46e3329ef4d302300f16766331bf0801ef815078ac6d211a786a6f51c022456c2cd2732c99d9b12698a03f7ae5faf9c01b309547934ee1d20302047c435bb500683066023100857107913162bd29314be1b1f3b8dbd0647b0b3c65958d71976a90555c28591d36b8c5c66984fe16fb4eb10c4cba192d023100bcfff16eddabb6951a6dab4ddd9c00344ff938f4d8ff89bbdb9931fb83922aa5a73fecb67c1a791e07af87a7ad0d0d230302047c435bb50067306502305074ecbdfe22bc1c4b82c4f2cbb242780312f187a04228f0c659466a45e15432bcf4bb0fbf04164b5400a9a361c0743a023100f43a82386a9b4fcf81f41cd678985e9779ab4fc7807d5b3d8abc6e6a93079819cc082c34838f84b99f1d80288b2379330302047c435bb50066306402307c4ef3f6ac96523cc8917020e1a48ae21e8e2c02917a04b6491dd281d0dd16a7f56c8fd74bfd56f51a6975da6317c39f02300603fadcdf09faa1a79582c6c96d507642f445db481df72553173821e6b4be1c90bc99614fc2b39a0173d08164f4576f0302047c435bb50066306402300b87c3e6023ba62c6bb4871cc1a69ca1a5e7411907dde0eaf4ea8475b7318ed948885a0b4dffea7314e60b844e6b2f8a0230773042c072bd0a9b35e1aeb1c5fdf6a8d92dcff006754946a7a3c719652ad1980d3e0a478d18deea40177f4477956cdc0302047c435bb5006830660231008ffd2c2f30790c5829ae99a9774df04f56950cac69e4fd6b3e7a24f843b7ccdf384a6f063f9b45edd63a68cfb49eab46023100ef6e494f64eee0667b61e0973f3cc5c4761d9c177bd9696cd77b9df65071573e0cf7033ea366b44978393fd2ec52c9880302047c435bb50067306502300f556a86281588ca662b439f10d47c8c6aa861dbae0053744faf7d8d556fb3298423541b45157a93b018f29e078e90a9023100cf29306038e10080327d9425ad44de99336c6d6be9a1920f4c67a28661fd95ed838abad813e9f04039070204fb5b49880302047c435bb500673065023100c37b3839064389a686b62c029ea3190b3025e6255bba3a4dcae03ec51ef5b7409fd73527bfd43e6dbf8dcc1f344a18aa023070813b7f71a9688195c2f73d91528038e4cdbdecc25a9d5eaea97673d2fa30981e0533eeca5a254734f99a881dd951670302047c435bb500673065023028301a37abf3a3dd7aa10257a1ed5cdc550c6299222ea36ea72e71326c61af58c2b0dfd383f00735e6ed6c08e55f235f023100f2acd1b3e41277c6bc1f71397e6af12e3a0b57f65ee5e7cafb87a76964f06b02f245bc45600588e9f9a4f8ef2fd664b70302047c435bb5006830660231009c90a8413fc07db228b320d41629f998efc85dfcbb4beb62aa9d88332f7e83a9d9d699fd8ead548103d4efbec150ee52023100a34f28eb4458b4fe59fa1ba862ad075466017699b23e272b6b7109f06001fb5ec07ea49732995d0e4d27a73a0a3c18760302047c435bb500673065023100aca5cdbb5f01ba7b039c2ab3dbcaa5c838e152e89148f94dac4a7d6ff32a2dbd92043cde0777481f660f6087b34572f5023014956531bd2b8e6d04ab69940f30cc03e18fceda83124c2631238353ad7b29ea780fee3c996485b5d11510164c31f1a90302047c435bb500663064023076d5f716f65540c3e1ac91a08a55ad7ef1261407eb9401d7e556aca9e2ffb3150dafbb91cca600ca8b60440efb990db50230433ce9a710d89bc7ad378442ff29cd16467b41c819d1b772177aaa63f1bb23e337d927e5eaa44b8309cd102674de88350302047c435bb500673065023100873edc06efce6e28c4d35b80fe1413357e47848edcf8d15fe50eeeaa678a6821edf41016eeadfe7cc100ec90f064ae7602306f54c0516efccd4fb5da28717658da5cb2470b5c2acc75c572cc4e777fadc80771ca6fc12544a6e8a9f831f85b52334d0302047c435bb500663064023056dc3fb390c56fc59370875c74eab49642484ed28ce2742772b4fb5bcd0bf27cd2cbacc59d9437f670bc400213ba6ff302301c6cfe07d0a38f1620910212187d4cb834659fdbfa481ef4479e47ecb5bb763a9415f8d7d068b22e9c2efe52402884840302047c435bb500683066023100bcca0bf4df74f856df868d5593693011c3702fad6bf8a3d2e8a59d372d4c64b5c8449a140ad3e4b1e2916bcd46ceb0e90231008f921a80c357a26681b8f3bd97d2b1d1533e913b1e53a6a2fb6832ae2cc7b31440323e7e772fc512c7d5d9cdc809fc900302047c435bb500673065023100d9182e92101793258311b4180bbf00b7866a0208a071d61426b9ad80a65978b6f63bba2766ad866f804dd531bec6c56702302b730f36daaa69471b41a8e406e37b23da7b1c10135f5bf9f0d64094a497482e300a38c244614d4b34d92b21fa9781e30302047c435bb50067306502306f4f391163d916704a172912e9a3dbf622846a49a13bb57e2024e081c4e2265447d12cbce7719ed1b4a11221fb4459da023100aac42e7a22bf4aa55e1865551fc3c28c61da5bcc83cd40530233192d258dfa75d1c80a9d2b9fbb95d0cf47a2a7ed065f0302047c435bb500683066023100f861272c8381e278a934acb0eec102eddc208c0712deba3752d9172b66bc56ed91352f579b9362009679f64b1ad550080231009dfec1c99d92bd5811699c768eef66f12323f872cf906d8097739d2a2cd95d87f11e6ed6a2dc7d6e3feac3909ed7523e0302047c435bb500673065023100ef1141244730b846427821afbaf264089322dbc330c0a1d2b42fe8598d9c06b09424748ba78a46679e5e3c4f9f2a483802300eecd134b4b408d4b946f3c75b9808179a9ce7e798052bcf5f753e722a0ec77eaef6f2e733950b6115efd3e35ca63c810302047c435bb500673065023100e04b1ec16c424a213d9eecb1054c88c8e4f2896744d94b2a0c4b088bf74844ec7f129ca7138cb239154072f97fa4a7fb023060448af3f0eb8e6a74207ad8541ca0bb090cf255544649e76ef4f4f7bdfdeacae32538a5e82e965f9d60254249b0aedd0302047c435bb5006830660231008f22a2f045555976bd9a44bc4f99f5c16d4b1d48ed2b8433be8278ea5c17c565498bde6b675c96bfaaddc8ff90e2c8a0023100d605f1bf572524ed996c5a4da30883eab783fe35e0943d8cacb4a2c0e03b6c214090153aeab2a4a2c5bd6ab2d4b5b7e00302047c435bb500683066023100a4847dfebf516af4667e83fdd5dcf1516e994f64be931e43c9fbfc0497702d83bfeda462ccc0edfbc584a85f51c1dcf10231008ffa9999a38b1770e44a3bbbf021e21ae52e6b96b79fe21a28674901bea94ed0dad2995da9ddedd3badf656105892e980302047c435bb50066306402302cc8e8c68598904ca43cbf5fe807a64af6c5d6823bf2d570b84368dc892ded979926b27455923b1c3a4eaad65048ebef02301f5630900541b58b1fd83546465031ee5a5199a7527607335a57ba44637ebfdb659a0c1d41b906538515efa787e4082f0302047c435bb500683066023100cbf1f1a3535dd2dfa212c201b1ae3b5d3c6969d857ed8bc80e6a99d3b57ad4714d445f6e5f47b96981dff797e1adb392023100c62c5e56abbaef2d7e77a99854fb06aacc54ddcaa044ac88e3c0cf23772d9f0c25b2488a8f50b786a238fdd0f1b3e6f40302047c435bb500673065023100cf6d92d30e972f852f8de53d96c7dc2caf6c8c976f0e2cf9aace1528e3255637bfc9a9e8baed6d6f44c8e77419461e39023055092abaaf3ebe890f743a62af4f4fe70c2dd5fb736a4fc3d3ab51cffce3bfa1d43612e901fe7866bd233e5467484d180302047c435bb500673065023076332a889f5403138ce0262030f6092ab4c5b7ca2d5086db664393df19ee2a7b53ff1f57b4e0099bbf3bc5fed9b65e6b023100e28cbe237945221ccf324916d744ea11686ac5c3e6047ae012e526afa48bb6aaf1801082a1e8f0977327709bfdf000510302047c435bb500683066023100a202c905cc8da9e5befd04926ad1405b7d203bcbd249c9116590d9aab698c2ca8ec6c217e398566304d991ab8ca204ba023100d276d4d9fd562994109f3f423afe5da5dd018376c8122d27f60d3c77ff5616a177b22721c134536b545e17d289ed9fe00302047c435bb50067306502310089d8133cfdf39b2d4c79e28cb8d3c94a577641ea1eb9134b67a8c78626f1f42cd408ec702fb35b4e831b9210901cea8c023007d1d5e863dee72463a7cbf6d63817a32d5039628136f94b9dc3747b533e96f71048632aa7635b52b7abf10cc2e7b98e0302047c435bb500663064023013e102930933d23b0215730a5a146239ccbe21d794fd0ee963fa6e5ccb78e22fbaacbd303eae785d1c9e967976983aab0230152367288e125b7729c01e63c63b5abcb06fb9bf2d667d0a6de2432ec0ab566782aa8fa0614c296c779f816526758c580302047c435bb50066306402307683f3653ad02d254929e89d77e79ced998a76fe9edf94190a041ee8e7447356c3e68a41c4ae15826f683a4614b1ffee0230088dd9c4810c19b8685748d21a3db32af8129e83bc87fd556fe3b5ea4d57dc23e103b05521b40b0b591275d62050f2c30302047c435bb50066306402301bdb0a7996d08502bd9e76f6a954c0db7878da864861a63e3d476c2194ec2d1feb6da3620b97bf3645f3e89dfa238a88023022f12165436ed3294226abea158093b0cc11a284da8a4249efe778bcf1cc12a8d1e0bc136ad7a0dd83ef4cac9c7d36450302047c435bb50067306502302a97e47c6a2a1ae81a4677caa564834f7c634ddbe4625845cabb5c2d06aad399cf2a957dd9f5c241e0cdc9411f48a36c023100cf17cf9b31f979f77ad20e2137242ca48ad26973cb13c10e8fb54368ea04d1508e6635a38ace93257937dbde4d631d660302047c435bb50066306402300b7d6cee96ee8203a2a60c1b9179fdc74f6ef12178f7cd12cb187a29fe44cd1b21e14f2f62aa407935603c37c021fe1202304cd7927f79835227bed0ad05f5492927398b809c3711eebeedb0fc98681fb1404ff964b715a4544c1b82000484ee55830302047c435bb500683066023100dab211d2fa1c3e373be28206b1566527f0d3d0f7b29fd153b8c3082e6bacd5ee44a65fcab15be90166cfc9f0f3af6c7f023100f715a4ef7bd805d6adfc0d4d3609f55846aa86ce463533125e2a9ab78f577c0f78574884775a539e0eeda0add3556fa90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301a58df8d3010dbab0019918b071f59f6236bec71ba803bea95efe1a7149b1e3c57186dc96b3be9fe7384f882a13746a6023100cd0d0aeea2d608e35353cd48b37f3220eddd7e80c82158d4f1bee8eb613a60929fdf01fa2af8e9d3cc058654c4a1860c0302047c435bb500683066023100c4d82fc4a62586c331e8e007cac02c65f1007f0326f775af5867c5d5da28814c45ef1095f32c3849d37d2b3c4b0d8b4b023100818b7e51537b66302712107e188aed0006d725d4e93d3e81df2c5b4684ec5cbd29527496962acc71efa55e97f2593af90302047c435bb500683066023100c92e2eaf194fcb257fa38d99c36f9799aa7eed805f10dbc7c4165bf551a4779547bf01e37920ab3051e5dc6996a8817e023100c2d9610d686c07a348e560837f8b330e3a7723a51d0d954ae638ed21714b091ee3feb170dc25441f7b0f8701fabebee30302047c435bb500683066023100cad071dc0c4b0bf3b91cb6e8e9a9afbd299c285f5c2e4736614c04f8a267870c205c9a7465cafa51753792037a756718023100d7c8f56f4bc834678cd50fc5c27e608a1fc21a89c9749115a0c9353e7bc37b6033f100e524f10624f6d0cff786bb8fa60302047c435bb50066306402300e5681345ec41cb355edc90bcdfc6e1353e7cf17d56c6d2bdfbae1e0391f31c15671bfd10d519ab2f93b62baf58d339102304aed82c0545884ccf64e0c05229a9b81ecef3d6b614db902ade23313684baa97f8ee2ac603b6242286830829199c032d0302047c435bb500663064023055ae4600f1c6949b679059cf65081ca4002a31605db721ca1b9446f30edb8f0fd8e93c3916868ca34404a9dd06906f560230641decac850d914d065a2057d8601783b766f8a3668a01ed6abeb504dc86b654d068498c3eb790bd3d4b31b35cf23d970302047c435bb500663064023033f9e0aba71d53fb36c4b630ab57db56e3ac951cb6db0c2ce37865bee69e357b1eb83431d059cca932f597dabf2e8df80230604b528f43259412d4a8a8b2071bd481db707f2cc41dfa49cea20509535eb9300956bf9fc670fe37dc7cb8bc843f988f0302047c435bb500683066023100f4f81930f6acc44a64551233c8f58ca2a50279005f7cfd85a200fb2f005381c74ec90bae5c5d2d90517bbf37d9d8f7fa023100ec1a890de714c0b6471b3e289ebea08d490a34e0c774520f1282e1b9828ceecb766ba8455bbfa0d5b071633cb856ff480302047c435bb500673065023100e912da89818a715d725738b02e0d12df0dc4cacb39948c960240d48c75c19b8df88e88c82e3d97acbbed72292089d33a023029b49e154f8174a222968d1e258ac1d92f1631bbb2f793bed8ffb1cfcf89aaf8f1c83127f277c2e4f17027827a6e45b30302047c435bb50067306502305e2ccb1e47e01a31b5706a47c27aad3170153b490c19e0f5dd31e8eda04fa9b9fb3e48257cac59e2e28badf34c60b40f0231008656736f098370d7503a51b18ad820be52b09c1aa61bb740401f2ce26391a591b8b338aea2f83d939d2d3413aedf835c0302047c435bb500683066023100e83f825ad96eb486e2f719e8216eafe6dad0a5c7eb904a71540348a30a3edbfe94c176358cd6dd1aeaacc2ef2e299757023100bdf28a44c949b8528a73c4b38342a172d102c1b28a02fa0c71d4a4e8817d3580055b6df23cbcd286c2288ebfa167ca460302047c435bb500673065023100a91a3caee548a2d906a2cb6cc5e18b911350b92191bf5fbd72fe94ed79f00376f7cdb2f5c3195958eca4686e50ac627b023053a7f09d137cc8503913c4269f237f0ef9e9d480f58853cb53eac1274b6da426e97766ec866d783474b41ef3b4a3f0fa0302047c435bb50066306402303f9684fae89f940d478653249a6360199bc613c262f6fde7e5f84d7df7f826145b54103c28f08a0e838f02bb1d29a89d0230513c48e2b97bf664faab6f4e0ca685516277b43bdf71aada13def36d857e51144ceb979777ee399508b733802cd152930302047c435bb500663064023000a7727cb138ea69542f417e75d16c8969b2431617b359db035c60902508ef6ae123cb2c000a6adcd89d62137810a5e20230174d2264c725f55d1b87af8c72b8b018df7bb836b3385c0efa0017a6b5b4b7b956002cb92ca4920ddc54816a96963a9b0302047c435bb500683066023100e309c7cc413adede8b25b30827185559933ffbc55bea349f6e504549724530079e13357a242e77ec75e58ca48131db43023100b80c61580f45cbf66c0d05e71c60ec91f0f6b2c7bdbd9400babf8e59e9f12d0c7319627d907750418bc4ca4769165d3a0302047c435bb50067306502304404e67bbb647ae45615cb4d1fd4c41df6d12f6820056fd952bd224a08cadc7680238f532ec858b6713f589790afd0cf023100c26a68cbbd145589df01b08cee4d1e722a4041151093ac648f927af548ea304d162f613ef806225a0eabd6e38030795e0302047c435bb500663064023004f6d38ffd93fbb838de86205b33dbff98e100d0ad3b560c32f81108c88a92e525cc4741164d20cb72b745f00693851b023053822e153a1b5477217ba090162fd30f0465ca1dbbaec0920a190fa97fb1ad1ee0aa735316a0a22b7b83aba4bfceebef0302047c435bb50066306402306f2ea51e024e0e6c553a221e28903c9c0e346c03aa92e775aecf93d9dd71b4d731182ffc1cc9fb15f5a96c6c91ceab50023056e994fe3b600d490aaa51559e8ad5812fef00afd803bfa76704368490b404ce2c62a4fad97c9ccd69fc70b20c9be6b20302047c435bb5006630640230266ee256955cb45867afc47df48e64c8f7ec8db1dcd8001ac7d9dbb927dfe7afd9f9648500a7ab7e12159d7dbd910e0b02304dc97192bb15956471b250ca4fdaff228d3ae5357d8171156ab1adedc0b9f5d3f6286d29c9da9fc3d07f0d5d69a766ab0302047c435bb500683066023100b8b7546a11d6f23fec376a0940f778ce0473550116f5539c13adc8a635ca0801057b94cdf8bf46748c6dc4a29fe53a07023100e17c703532af917b1b9f14135647b784b9deccfd060293cc3bfc512d189c98253808b1f391a44fa65969421c8601870a0302047c435bb500673065023100fc71772160e9cd60d04c13e7205e80cf6b832dfce2b6d2615f6a1ab0304bf2a2c18deafcfe19f8c62137f8be81810ab2023022101cbbbe47faddaaf94985318c209b7a9c34d8a85e1a01f10452db07ef7fe0e879fe70d1a19ce7766fdcec87b7c6a90302047c435bb50067306502310095d246eb72c47b63a23946d68c57b98c847b64f462d1eafc108be036713e0578f3a4818933b8c58fb9cec89518dee4fa0230270b86be10b1d38dd84f27772a85ad345c8c44a0a3eca175b3ff516c99e6a19eb081f6ffbb872f91d5616ba29421c87e0302047c435bb500683066023100fbadea3160a91ed08cdd01c2b48cc74433adddf73ef41d3823a1b511c1e0b987fdef0684d1e233c4301065e3800425990231008477b714af8e5a4f5125441578b15c9b0b4664a7420918ba9a3b7d154f3c6777246dc8dbd7b7fadca9e71ba114a4b2f30302047c435bb500673065023100bda7e23592b5a7f083db593321f7dd24828faf343d700d4929c787e0d93494b0288884fe4314f6c496c891452215badf02304aeb1c2e8dc6ad1a787b85c7542a4ca6ce320126111df81d5b5013f2bd62686ef89eac1a2145497623860fa4d9805fd10302047c435bb5006730650230127e70d7461862526f002e1d03369f05b2e7682222e74ea26534f5d3214c9787bbdc9a99a96f5ab8c8686d34729d0152023100f7486a538c72c51ad1b666a5a25ef77be5c969693a8a1d063889835aaf52c3d38502b03db897664b06d9d336bd5ae3680302047c435bb5006630640230188ea27f238beccc0afef11d0490fc92b91dd0593ce4c8cc9e39526ae7bee55dc342d8db1bad665feb77cc4a79c54a58023065646fd429a4bf71a8cda730b7991c00176d26350e7a289f3fd1410599e4daff9b8b885fc53c36db080b07f4df8e8d390302047c435bb500683066023100c03630690bdd7c9fedc8123354a6d18695b37a55ab4c3bdec7e6bd28c16e22ea9a163c21eda13bffda32e95fe1e4a4f0023100b314700522f13f83d776db27ac77e84bd13a81745a2b9ef6867d62c23924a09ccb1b7500e90a6a72c2d0b06fe17a2b5c0302047c435bb500683066023100da6efe05f42383ee1cb0e56f82cb3b1ab22dde418377b65159b0c53048132211d5f96e5a07848c5ea1be273b87755899023100b6f190114d9c55152181da4a31c9732aae1b2ab87f4de00d1baa7ee9298e2dcb2356e197a4602db26794b9faeac86e770302047c435bb500683066023100f2e6a1c2b18eddeb479d73eee6cb930c706fa16e986c72c574db5a02c80e0e0c0deb9de29a044764dfc3bbcd4cfed4ab023100d15ae338aa3d4ee9d92c473b908deae3ae87a9a91c01e2a18400603f4e46a52ab18c9481e16a47a3172af8063e2470830302047c435bb500683066023100bf76ce7c3b522e2959fd267fc1582773b364b00a9bc789f32313afb6b940fb818f64f43dfff5e87da424b828c319b672023100c69abcaf7681dc21adf8f5ae10ecf404c79ba077808f62d2ad61a10a01604b4768116c801b2a9dcb50d4c415fdac9df30302047c435bb50066306402300a70fdfe69f01e3c5c1f6738837cf13d708c2ea0c42c2346c7977f8743821dd7f2068e17a14dbcdf1aa30d878245335e02305860f5ea21e58492e6e306f35616d440bf227e36979933cf2c15269bbf9025aaaabb6c2fedfaf3ca7b1675a076943ec40302047c435bb500673065023100d2a8825a7ffbd222654594c2ee5debd585c93f4b8c3b4d444ab0135f8b48a745935a6152c460ca6a0d9492bc9bb87d210230591a35667d7d125e23a03c75f813d340a6e7260cea49450aa3ec2ca9ed156ec03ece9b1bcf7c0d5d54123f46c7ee90a00302047c435bb50067306502307ede4414c400a5ff2369e4e40ba2d37503eb64d80acdc7b64dcb98d42a2c0485e137b49bad866f9ce2eddfb53c777a5e023100f775ec5a7d13205c72bae424389c6d5b6eca4c1695fbbffacdccac1650a113e52bc2108f0346cf3a5b5144bee263396e0302047c435bb5006730650230175a99f3649441049fa2931a952cd1b136cd62a5c576758d8466d921df8015d369b2ff2ca07ff0cce01aa88e9c42e66402310096e61a5a62f1ef80eddae5a0377e5f0f267e100c6cc51ab8838eab902d7dcd1da6b72d57979e51b9e962700c8a5088570302047c435bb500683066023100f6e89e917a6748c6db0e67bf53ec62551ede89e0dd34fa023697c183f0129cede6dab7299be2c35cbcc60e0c4eaf64ea023100b9cd971afe241572a95fff1a0d7005dfb848d3f54d371624b3743b91e10b03717427d5cc26ffd27887015da567396d200302047c435bb500673065023100ff6d24f2a91a6701059fa1235410e7b5d70566ed86d136c20e86b0ebca1f71c17a189b12f26d153fdd56aa47cb5409f302303ac8f23b517ee4ef5c6ee3683f1367e09b326a6e6611a27de2ae4ab2496b60e9687e6fa99e93e10ee5cadbc4d732da160302047c435bb500673065023100abff380b1a2400f9eb8b356852e331dea08567ca5b52c5e0c3e3240184a2405af157cd6874d42251cf8d69570caa38e202301a6a5e9a82fd5172a4fceeff220b7284ecaa915fdc78b2fa4b1ed1179572178a7c04fb9e63ed46471420e1e069312ad90302047c435bb5006730650230595bbcc7c1f1c2e889b2b28f991d443172fd7c02309231b945b076d24dc8631867927fe03c71e44ffc378b7b0c0892b2023100e9b44a4f22772f2ded9975f7058e1905a865cbd24e59c570882a67ce35d2a130e7510e0634a0c429865cc7559ba1016b0302047c435bb5006630640230426f9c01220ef075031809de69aa1b657b92716911ddb6c6e84b11c0e24103cf3c0fd40736ac3063d63f3ff1db516f760230627040f158789c42eb8aeafefce424fcd8fc4e97c05646f29fd51f412945aba59af2da28496fa643113b77f8cf8590d40302047c435bb5006730650231009ca197d084e9d9bd2f164cb2b93bb5434a8a6aa2c93cc987efd0099089f16627b6fa062e7be1d9fc5748355b4c306c080230395127792a4e0b197046ed23ddf003c9a98fe00ebe9de72937bdef603c8b1d949ecdcb87468fcac45a5eaf8402c859580302047c435bb5006730650231008d3fff90f758c464115a955cbc862e4a097a7262461762a99ea4732bc1243dd2b4832b76fa50491ab2fa06f303d7ba2602300bd2de443110aea82c735fb86cb07374a0357ba7e7e097da4b91f5dd6fa8d12b75898b59accd424d892c1e494d7bb8fd0302047c435bb500673065023100929adf621b0052d435fcce17daa568d3fb07ec54b714716444d65e6fffe42b8d6a6d08b149c3e83cb382f0b8c2e75449023009c7aa5b18c18890075eb0e6599389d168119d3548118e53b4bb01c84255d928ee29fedeeaf0c59cab375aa21e5582ef0302047c435bb50066306402300c49122951b75edf72b80d771232b92109368d0d59b5ffa28f16ada190283603a502a0e762639942227446fa97f8be4302302ee0700d72192d3707fb71ae36df6901a249987bde925a4e4b8cc2d194832d1739c47cee11add6ec8ef9f35cc514590d0302047c435bb500673065023100f989acda305ca9ef545fff5346684423f7d01e4c0cd81db919713325373bd0baa10ae981a3f13978093ac9e8d340f37d0230349ba08a73388ef80c2c046d17c16974713530ef066a4d9887915929aaa1639ab706ee517b6683637f40a4b3737b4a8a0302047c435bb50068306602310092491a9ff15adb80e53f3e4ee3e7611cddc57aa0d7a0011ab2e094d87c2f31d830558caa1e404757e68404c5c9ec0f2f02310091cbc844a560a20f3dd404ab64ab17fe21808099bfdc551cdb7e22be0c91c901106d7a60d9cdaaaaa542df01b1195bb20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a0b8fade95c9cae4f0380bfc29a479c0b4570e79d33acdc56334616a52fa719540d48f72e78f0e3009d52a6e6712bfa602304e87ea9cb5438da70ffcfa6100c5159433cbf9f027c1cbdf4c71b546a311ef75a91a5829b53e4554c7fd074df917cb640302047c435bb500673065023100da763dfe05bfa8d27a92c84345c92e3bf5181c6421070ccaae5b3f598dbebec01a2e92fcfa2ace1cdff0d4c30fd88dcd023068389e8ea1eeb74c918e6d2b283559c43cd9374c90e566e0450ccf9a256c8d4e00273d126eeb57ca058a96bba4ac28fe0302047c435bb50066306402300672d500da28191b237054e7ab78f0e943b0968bd5f901be73cdc86ee68a8f8af93779e823e0f93169edd4a7ddb297bf0230379b5b5afe9a69f29c53aa3cbf2378ce3c12b2e14bec90f97338ca3500f984666be410c40a086922949a959014d850b00302047c435bb5006730650230779a7399fab0ab65c8847d2aa881e2c79aef438d9182e5d2c090343ab9a11aac7bbc7cd8d946e79cd4e155d9685f46e9023100dc55cedacc4cf938807500456039c15e4edb7c1c7975df62a535a3118cbb70823effd3f1668c8f2c0686df025844e5100302047c435bb500683066023100cd2c9d13cc330a73a5776dc14e7a3d70c2e246da9792db6307884b5596e4d28335b25d6ac1cbfc0761b07aaf37119a60023100cea552f0c261bab7f29d5550bf7dcc619930291c75251af530a3771a8d16ed27f9dd9e38e4b184ad877476bc57d429930302047c435bb500673065023042ae16ff7fc939a0d2ff6c944e0ddfb75146b49eb80e88bc4f10939d72302931f3f57ac3d9a37f1957d5357b28fffa2b023100943a4855fae847c7886fa3e9e522b0507b2656c1abc315b38228d077aeb5d38d7dc81d59730067cf1db1f65c931462d10302047c435bb500683066023100915e0d49d592fb31f976b0484b4a1fc306afafe0ae2fc2eef3f96637f0fffbb63c955ef04d0af8cc4103e7feca7f1029023100e2e940bda00c20d3b1d26ca020ad729c01693a6075b3f6b6ed9b971f85e83fb565ed8a309985e838bac1391c5a12cf4d0302047c435bb50067306502301d9d700e433fe8fca91699c86e1e5961e7381c7153dcddc50c6a61447433d4ea637c76aa3a1a92bbaa1e68309485d6340231008ace26f6b9fabbb46605d0133e1cc20c7e134c8edebceb7629eef9a35284db2c69c638b24009c2ed88c9cdf9515ffd9d0302047c435bb500673065023100ecab0c1a9ebc219e4604944859510ad6a8131238fbbce549d6a0107a8fea559e047d9dd8dd5295f34a7505dd332caab902305050c46caaa2a4c062426a7c0108cfade83e785866eeaed87ba0a2669458062b1c300266a6c905a86b86055f6ad785050302047c435bb500673065023021cf5292fdc305966d554c7a29de60c3c5060291f5a04e8622aba88e8862e112f62e626da9605c5ae17c475c5b059326023100c2cb2b141c27dbbcbfa7820fed5221a4080a07643aa6d3a3ef02be142350638ae9b45f283e9d61e2c46cba89597a381f0302047c435bb500663064023034dde69145530951361aa12918beda95c5de8e5a9dfcdefdccd24248c6bbb172a05af814df73e03593cd478a30778b39023005dd544dfd2b0e6efdba3d15a10e8227a15275d0c8ad10f76fa2861a1d310f890cf87c58f921dbdbb9f80cddd9c16ca30302047c435bb500663064023007cc9a5cef24138558e2a0041c12078d12a9c4acb87e465a87b4cefe6ffca11baa2504c01c16911158383b7806d45aea02301a0373cdd98711469bb1772367d7cba702ce7a888258d47c1b9f8f92dd6da2a31168de0319e8062a7481f8e7be4c0a750302047c435bb500683066023100968115529127beecceabf0bb9f03f22a603131cba0f2259a199d2a9693d2ae6832199a78abc516d17b91f6091469d8ee023100d2fe3fb3efd56b08916efc84f29978c3ce7d366312c8cfc845037bf6a5d1a9a2e09b3922cb6423ffc2d6999c101cf3f70302047c435bb50066306402302d48690c9f5135664041f56a13470c424e882f4465d3a298ddd6252e09dd18653db3ce55e694dc53fb690dd422025db302307a50c4c6b6dbb983856e0b685808caa98cae766fe8c6a3e17cf87575adea30cf0653f0f11dc23c113a0517fc973483cc0302047c435bb500673065023100b1d7ad504f856bf7070cf1b26395b3eede11faf5c37b52e52150b25759d76f4fba39e348ad13e251c94f6d23048b272102305feb1d0c290d276d293fb2bd9474450f5cddb2091bfd556d40a17c260afd6acdb5168dfee651c6b75baa8e245a57bb100302047c435bb500683066023100b8507ade16a8971acf13b149dcb762727cb556efac7a5338e202877326693bf847ae651edc96893c6ed041697d49bcf40231009872662026716af7007f2036a3a0981a563a20441522fd1e53797af6603aff29c56a3769843e99fc08227ab18607ce9d0302047c435bb500683066023100e9b9f3b9725ee3cf4033ffa386f4cd039d895aaf1df851a09d2ef4aa5ade4827d1046ad8605b0fc58ecd90acccdfe4c90231008097ccd58a0d71cf77706b2dccc3669fa4fc4e14c848d87bef511087b2853d5eba2273ffe3b39f372135937c14d66a9f0302047c435bb500683066023100a4dcceafd19419d28555f5e51acc980a8fbd69b78790b8a53ffed5d66d88557f63e9011488b433a2f5ad60fdca604293023100d31b6cf64ce8648fa3d8307ada3dbff0485a0ec4398fe04755201586a0e15959577dbb40555755e88a47fc3b080496020302047c435bb5006730650230013a083c1d35fb4e1dd0957985c501ce0150150dbdae881faa0cb9eadc8ff01dadcf2381397d1fe19a5a95848d44e4f90231009fee927b1a70cee4022f31d6cb3ae39f55e787e056059e3ec591d5a91e8659122f5d0645a63f992663fba85ac982a4810302047c435bb500683066023100eff9a17c0718c1c451c3fc85450214b8da802b2ff02806b72ca3db30a9cda612d62db08aa26e7f2a59317f437914355b02310082ef4eaca8029ccd11afb2057542eadfbd7416f501e36fb873275d4e2bb06a7b152049841fbdac8de3a6c9c9c510a5860302047c435bb500663064023000c636c32a654f01546cdcb4eaa2a001df45c4ec4cfa1e8be25cbc569093e5afa2c53e27f4d2f21af97aca47d3716c810230112afe91d17b62933c8f142b70356b2df3059542a5d9a68309b4525297e4adf10101d2c488b5c6d57b161f94b900fbce0302047c435bb500683066023100be7c140ed77e35631e8505497d2e63f5272e56dd2722db10888670bfd7fc60ab5cd4c2169fd1e45c40d84b5b0d187285023100aa06f15ec3724ba7832fa791b0442328177ac98b0d837717fbdab01e84b1d77eeebca787f19c3a549dca871795e9fd650302047c435bb500673065023100a8a2f143f01d60e0b188a0d296132ff35a7b7668fd2a9b5b2d3dccacb0f79866c40eba6e2ea65af46abf4d126482f68b02304b70e443e2f2c0ae216c155b09d81d80f3356f218a5abed15792cf4c5df95b1355dd6cb079bb09a2e8c311e1378c94460302047c435bb50066306402301dac574f15094be42b26492395ab2f0c86713624e94db65d045418dc993b06599a40d48988d494bc041b84aa6e53eb6b023064c1889271cd7f58d21985dcfb20ec87896b690789f4a45e7e2ac3094fbbd825f7d15f953bd70e9adc15907d901527b20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100caa29bc0ffc5a4f424b441177ae363a6134694f6127d3bc03cf1caf2ccaa9cfd37c7f2982824a3bfc8a802355409369502303ac16c0eba98d48f4e7b39f46a22fe7d156f2e35f4e813d4f7fcd120339edf28d88bc843a2007106b52c654bf4e2c7920302047c435bb500683066023100dc41b75530be4ac667232d9fb2f145a8d79ea46b9f936e76dd9180732ae091f2ec2bd06f55231a80ed67e0d6b36558c1023100a065b6f46355be8680e8667399cd4d4854f8cdc2ca3cf70b98292da06166731c654642c8ed2ab76d32830118aebceb6c0302047c435bb500673065023100a7104a708d7586e967931f01e9615487342e9a5e742cf337a7cf408636f011629fbd1061730ca03c1b41396e3f25ab2e0230401dd30a9768bdf2db43236628ff6c073d4104381af8d59ebf7f1cc699a5d6dd71a99ea95bc3df19a8525364013dc1210302047c435bb5006630640230649590d632d044a279eb00362851a46452da860345922cfd4aa78917af3ba89bb340fadcd93d94897df93b9abc0d8de0023037383fb3f1b8218390cb992d788fa0f53aa88d13da3aa0b0f3fc353f95e1cc8e4d110f8a6c94baf6cd5a102ed6710d6b0302047c435bb5006830660231008629b5318fc6dbdcca6f017594588789addba656a3a72914d666a0bc61570c7e00d05da0074f48ed1c70993937632605023100ee2d31a88287d5a8a45c5697ef4ed4ac84eadaf7086ca0126acbbaac93f9c225d757f0de6c129d4682709def59391f1b0302047c435bb50066306402305858189effc02b05a2a896fb4b4d1e32ff24e05f52bae2c132c248201dfc6d993d4265126aff1ae75344bf45fe12ec090230782b570e83557275e7e5830f78f78e1bcd4cde98e82ff1cc75f3419bdc4584ec67ceec7991a5f96ab32f5a8fafe504e80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230788d9b8fd32729b20d3e08b7dfa300a290d2d4ac555342e3871723d958018566cd29211d6009a16747ee79aa8d5eacd402300bfadb70c8f9b110f1410e6fa4a2021bf9fdb9cab53869b77fe5f641897584d3f2645bf8e095b33f85b0012465d1c62e0302047c435bb500673065023100cede3b9ddecf6b43a1d9c22ee00ec6adfaecd587f4c99481eea4fd7a34a7e8d20b69bb3c51f80d3a824db5ebaed8914c0230422a50266d5b0c3037caa120d394e8f0de5e809b04ee7fb37ae0c07052c00d7c96d8759d9768fe7bf89568e47504d53b0302047c435bb50067306502306acd6fb7042ba8a6d9e855f1565adfb040c23d15f1c6b4e90ed3683296c5bb2fc03072e3859d23b8b51a829cdac812a0023100b5150f5a0dff3d6ec60b8cba7ba03ebe3f6484133a03bf7cd5c9f4090a93f98e0f74349f8b35da4b36a8fd2dbb1460220302047c435bb500673065023061f34a5701ae57665a9a7c31491068c1ffa4c5a945f1036747d5d9eb9aa1c94c276af42797393e5c33e0627801b49586023100abf0ce410549b2a5b77dbc3330628fb9fd55a99a83e89764181c2955c5a8ba7fe203c2521731009a6e737b4ed5eedcb10302047c435bb500673065023100e9fc289e55edf77bd932da4a49619cb7ce11bccabfa2f69e6bda299c032c946bb41d73b125845ce1a9b78617f8fac03402302dc45f694534aa48bc8e79b28a782976be068705a330ba760c25cb8afdda6eb281d14fd24cc4fc7b67c3513f4030d6cc0302047c435bb500673065023100b4dbd6284fff8495ed79b2ab107b5df61ac8dabc37e9eb3bcd62d19e7613f2854e994de043527b7325640695400e419802304746c8c1d1b53db45f0d3702655c1c0c54a748f980c8e2a320d50fce5955dd095cbe114ad852a6dfc00c6bcb75af64610302047c435bb50068306602310097b8b620970242dede77cec9eed5730bed2b37320d8de68e0631c05ba586c419333e0bfb2f19379c3b0136b36860352c023100d612298a1b31b514648e7502da421f15f8660e352c245130931e84e7e7693489e8257023b0ee2e3dd1492102a68c9ff40302047c435bb50067306502304763356536bdda8389dbb9ab0b5c3c7c5f8fcfa1c49fa78c9fc31a87fbec097bedcc9054c089bd3a7fe5a7420ed30c390231008db9c9fd60308f108212b4b86d53b9df8127c4b1a31f4b1069ec79fc101491d46e0c1d0e31f86dee954c0298992f371a0302047c435bb500673065023100c17d56956006ff9a0b3ecbdcefb4e7d1b7e7b8c4ed815bcdb3493a89e03ecf36d60134062e5b6a074b589facb57e2a0c02300448532cc0a3d31904e13fbea9c30c0c227bdb5b67087ccc6233837dd0f9c8e501f8f530eb80ad3cc464b7b71652b0c30302047c435bb500673065023100eda0a24b77f43e926b1188cf1a3cc89f619d27763cbfd8e8e190a597de7122b362798ff432d9cc6ad54c334c49b5a591023027844863655cc6eec439f70a5856768489173fa244f6197e96e923dd2a60c76b7ebe29f1b080ba4909719400ada048b20302047c435bb500683066023100971f0fadf061de25fbd26e85b383a8038672ba120c11969c2bfa58884f0b59487e04f641e19c87031adf1aafed2df2170231008a0371a0d9720e8b60e4e25ef7541468885bae06b726db75b025f268602072a5c1b25bc04e440fc9f409aa5902da1bbd0302047c435bb50067306502300ff5032cb978fcde6a01c2b5b70f6ef6cbde13c8345999e7cb59347232feab6cb1003d84c73e4b8f780dab33afe5da4a023100e1e9257d279a87f6df4a756c2388f89b2a73a7528fc30729e2fb38146187bad41888a25711aad4de1eb9d53ab8da1a080302047c435bb50066306402306270c34b8126399f2a2de00491096dbe74d2c9749846f9fa83c602228affb293760b3de78278d6e109322ca5846222ad02307c0b17ce5cb5a8b632f54e40acc90b6f5f7063e33eca3b1149723ea7cbf51f517fb4b22fc71d0c1a136e0785e82494730302047c435bb50066306402304567f4fde610eb40076f0527427d4f6b071e0052952dffca3e8634d71ca5ec59b6945288d1b7ebf24f3731551664f5dc023056beade6c056808ef0db6f63f7542d40e072341c1384cf48b25805695279ef8a7f59a80b5d7f89a2e0202a1402ae4c2b0302047c435bb50066306402300d86ee8d2a32100456476ee98a024342a0a951c215712499afb2b9ba41003d610f8f998ec2125de5e5ada32b09073dff0230482235874f5e4c54ddfa43ebbdb6e968850238afbedeec7eaf3567aabc13bdd5132d5d95cc4d94d92d11e0a9b89eadfd0302047c435bb500683066023100e4c149dd22132518316fdd9c1d5c476a74e9449f22e6ec6883932223df6a0901482c812207a9a54eb36f9f5a991541c5023100f480897afcca39cb24fad9d5eb579795e0948d478217005e95bdc691d40a989dcace0f02a9502f56047023bfd838c31a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023000a8a468077e88ce6f5a5cd210e643958d70de403e5d6df823f2579351e2816f8dfe30e86c65af800d11e1bcea0e39270231008ee895d3170e0a42356756f718fc5d27ca0b72945bed377c92ddf45815627e98017308f2867b973e499b7a16434716a50302047c435bb500673065023040b374571447215ea07747392efe8d18e17d0d66014085e08b5793e610a91b4816ca4f1d73da378e3ba6b78dbf0af7e4023100f898aa2f45d5adeb341c3f6d4b81f81420f958018786ffde44b9b7abafec0f077ac45f90e7ff43a0a5ca0dcee28ae8710302047c435bb500673065023100a985b978ef4a6cb4277a02153d2a61b8d64a1908be34e0ad07d5e32883ec12f6e5ef3d85339e39175691460028a8961002300689d5f4272fdbf546e03360f7a3193cbc97f559a01e436a78d4ec92cd11ce3e9dd56150a25070cf063fbf0a47d9df0f0302047c435bb5006730650230292fa46f37a1e51e31c48c40c1f5289a398152b1bef5a7fd2d74d8b202179a6336150de318227ad75f8475da9c05b6b0023100803b86abfee6f6586fcf995642f80445e718f961429d8b05de31445797ccdc1c2bf08a973036149f485009eb02d399950302047c435bb5006830660231008d34ef33b9d9cea33395c98c07215e69a5c96013337e86733c96018452e4a3b5f81a66dcf55dce2281720455e0d6f20c023100cdffa3192f6ef40b97e4e019af1c215fedc4b2c3b2c2a6a78a28778e5aa18f61322e8bf32c980914c61d081b04a05f5a0302047c435bb500673065023100fbf539b917ceb3507a989c1c52f7f862d85148e98aa2c63e0afcf6e74210e5d76f32d274254e8c19d3587b2322421b60023061ac8c80da8d2532794205f158fb87b193653ea722e4430ddeabbcd053319b335752cbe45f43ea8d05729257f798c8700302047c435bb500673065023100c55bba74b635d1a9f8285145ab653459f0b6764864cf5dd20c1b0dc34daa3fdd046bcb6d497e84fd5fb235a5968cb75802304c3edffc38a88ed3f0e49814191c757a1f68bbda79c7781861f9a779be21adc93140b3213a897b8238098c2f342c29210302047c435bb5006830660231008e60d5135852760bcec935696afcc47af144e92816d0fe10251a77ff3b186f59135775f4379b50172f3f53c273e90e64023100cd11b64a1ad5848c5cbb7978eda8e775a8038507259e31eab435e1997e56eace7f0d274a3369d84029a071be6b2016160302047c435bb500683066023100bc5103b8b9aa7950d4d6199bf0e74c3815130ef529b7d8b257805e97d6f64fe264ee7efcc77d2386feca6dec49ff5da1023100d57c1f22fac7fb2c5964f40aba1185a0872d6bb5eff59684e465d25498dbfa4fc59db2b71802521011867b657aa18c920302047c435bb5006630640230472a3a7705339e5126ed045c5eea5ca66d2e6959c39dcc98847d8a0a34bee9602eb4f21a36cfe49e07ea787c89d860fc02302177e83c999196e1a41b689fc8b8d121c03f8d7a97f5faf006d40a35f7c43f1256269806090a506c2cf3bce2806c26410302047c435bb500673065023014c292331e8b5399e712bceb259dd1a9027a337629218aa93b29f0599976b3cb25de354bcdf1760ccd837fbd9d70c860023100899ff8466efee670fe6345a4866c8e40de64e409a786348eba819258183feb24eb3f27f6080713a166e6a7b2055075550302047c435bb500673065023100b96d8c6e6306ce9dc2b54a316e5d02b4f3b813cd5b9b00d26b940da7e2a63e17e16001e8da2e8ee93a144ab3d9d8cc660230048f2fb82ca0d257e196e84a4728bb47b1e86953f84a0c7b315011c9c42c90d19766f105678bba7cc6431c89d3f4d3c20302047c435bb500683066023100adff212e8553ed0fb5ae6bc1854c1f6685f1c52894a45b56c0d2bcff5c67af8d5252b3479fb78ec43a974c4e0115b6ca023100a7c3059b0ce8d45fb84b5271d179a927c89eff9f6df556af4a404faa1171f2f1c91d78fd621842b26ad245fc041ec6810302047c435bb500673065023063d89ee5d9fb437ee68aecdb87239a337de7888fafa31b7386d1785f0d2863ef801cd8b113c5fcdd67bfe654ffda4352023100fa454a2115c97af1e4ccd2c746c2613928e14657c44c51c9feffd7e3cf56bdea29a703b4162837e5adf71e445a6be5170302047c435bb500673065023100fa07af3b81a2ffe8a073b2d8768765b987cb72a3b2f34209abf77f6912c4469421898f250f1f4a47a52eb2ea90d3830202302cc5b868442b3ad1778983363fa0bf00b85367a28449243db33fb4c32f5c34e85112eff29ec054fc9138e97e65744bb90302047c435bb500673065023100d317d405e5f1637d94aadfba40c9736d8c963961b20c3812c209ccaebb956a6f02e2a0c408576e13e4a89b0597ffac41023008f6ed6ff2ad61deea7038214362d233104dc795bc9dcf639ec92986ec81d868a34c29955f33e88be8a2ee1d94b057100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023073551cabd1a60be6f4601fdc82e545b267b5a62ad23492956cf00d75d9a52c873bcdd0cc213bbd25e413a575c3302b67023014beb9a26957515f5605c6f873b4071abf17642d61d0fb71dd4fff5777979c96528ef773c1b07ffee7e9902e6f6de9810302047c435bb5006730650230704273560aed75c80360b6b2528ea5ab6a7f1c46d5bc89071e13166e6844697b8d7a00aba107f588a2f01be11d503c32023100fa3af0630207ddaca92e85b5acb657999fdb7c4209cfd218556c5cf7069270c08f5ad657df4aea7d55d83c0fa754c7390302047c435bb500673065023100c4996f7e09c1b279ee27ab43238d5c3ee9c5cfe60536da80cb5726bb8ca4dbbc02189e6548f3cb138a2afc8f45f177fc02303aa176078f05855dfd88177e2a06dcfdedbe26863fc30566beb17cda7dbabc1da8bb2f500a6a6754221be4aec7d6551e0302047c435bb500683066023100f762b66015a98ef2dca2aec01c4c55a5436bbddb419a16c09455183100bd1ef1db39db0648d5a700da4d72a2a4da9974023100b9f96e7a980cf36fef878ea6c40c57063d09f09acb0e84d360e14ca19d6c3bd61e88b81ef8a01df9de6f3f85364e3d910302047c435bb500673065023100991e0299a4ce25261350155b249337389fbf51aa5eb9628b0192c0d2b8e8f07cf3d440a5775736dc8ecf8d2acd25430802301771bd4231c7c07d68789ed8d44ace5fec95149b31d466063a343a213cff96fe78efc1900cdcb18bd1868fd81b1ab0200302047c435bb50067306502306a47139103600c825a5bfe13aab3224e7e65b9f3d5aa2390dddf30bd9052d45107051ac545f34f72611e245fa80e35bb023100cc5b04589f9c88c56b69559f8fdb72da40d308f0b5534f03abf31cde126b6800d2bd3066636b4104a9561dace23a9e750302047c435bb5006630640230602a2a02905ccbb76843bec8420e7707d677b83f847add8168dc1def997d4ffd4d410096c8c4dc12f9df869071c192b502306418739b0098d1cca9dac8b75e04b8b4c9127c9ce7ae0f6ea8a4162efafd306c32a110e457b9ea15efa249a336f253d70302047c435bb50066306402304a143cd6daa0eb42b7d50776ada365a0dfcad3fd5d47daff5f24005c4faee842904e77d5c4a58908c75a0ce1c03ca72702307f75b0ac9f82adcfba12aceb5dcf3a2692f891ae5fd8fe4adc00593f8ee46485cbbe7d9794935aab86b58ef327c35bef0302047c435bb500673065023100ffaa15e3fa78ee44e0746391a98c6b53845166d658be34b2b83b2b162d0e3c80de7c8ab6d28b829cb215c2e45a30e4fc02307014c303019b95101891423c82e6301c30bc3ae44b6e7bf581d7ea4455e813d7d80ff69fdfbb5e4b0b5c81f0631125440302047c435bb50067306502304adc59e719fe6bd48e2d389047676f5b1777c9d5f7e88369d611668250c58bef8fd72dcac9c482f26acfbb63da6523c2023100d7147d4c91a28986fb03a06db97dcd6c9b08f09550da35e47ae9dc5079603d69f0e693630d6d8da1896060533acd66450302047c435bb5006630640230052acd1cc3a4cd93697202f043d5c2d8c77d307ba4d933a4580b8fb63b703f9e52c8b7b5df06bcda50998a5cfb1cdef2023024549ad43216781a4c4a48201a20f241f694c378ca7f0670cdd341f89fa14bfee18f285200c30700e0808d7363dccc140302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fa645d287bec17bb44a8e69fb626ab5cf74eb9972b829ddfe8b8385c82431c7a1c0c29aaa2c59908952357246c6487920231009c8441ded05b7fa2f56efe1daa1b88c291af13c7bb2d71f61b22fb88d6089b061378f6bb42917b4e66d036c7659ec91e0302047c435bb500673065023100952eb0a78c726c3a6473feab61a8b252ff3da83e018a93042d6a501c6cb3fec4634f8348a959f3015b5c35f126738c590230785b3777436016315ff85f6db0eb35ea5462e95b779a90fe26c750fafeff775adc299bb4702e647f08ecaa7cebd0e4760302047c435bb500673065023067608da9a6e782828089fc4c47f414f5df5cc0435d47e28e89dda57eec98c84d12b027f283928c9b7f6421b715e2ec5c023100d65ba15591ab3892d0b22870f097a29246b7c9b9149ecfdb2cd0a6e5d5fa3366ada77d1d13ffc56a7c124e5a78b7df840302047c435bb50066306402300841de82b58cb8529249863695f696fbdc223c3018efbd1ca9a0f287baaf5cda1cf887e4c37e1ce03572cb1061a7363602303650297caefd6efdaf89119e56bcaf30cddffd01cc9f9761d58d2d40ab627d7777e8e1ea2cdd81005bfdc083ef89fd970302047c435bb500673065023071b85c950da47bb04a0de68d79cff92f4df60e4ca27ba980a4b079f57ad1e0371c9a601ecf116c1140b9bbb9916fd79d023100855154428b9db22f9258bcb9d82fca2272c5986518729d9b8e773c4ff105352811aeff8dd18cf47c2ab3a025d6f1830b0302047c435bb5006730650231008c4f2bb937e29b1316d9f7d039271dc1646be7a76d9545fd9601bfe57d12e6503dc1e738e86aabdc450500d6a8ca95930230029046f935f52a1491d5eaa1b990a1dc7d9d4d5eba5eda573b453e1cf92e7f5e8c796bb92b03f8b1cc6c23c38319d59e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bc34cfa229225a290293a0f190e5cb741701a50c3b4255558bb4cd6a45a66a4cfda2c8c6981088814bd28e51c3b3d6ea02303ffe5e0f51a92d8f4752567c33f194159e5510d6f587dce7422276858d630ad69422dd38d9bf7146330f6e4c76310bde0302047c435bb5006730650231008193f42d9f0da1d24cdf861ff006340e4658d783d08a2b7fb54924885a78407794dc284e845cc276b7d3b13afe1b3579023017a94db71ffebbf4ba204e4e2927f3cc48510d4f280ce7748de924fad22d8fbf5928d9503838404a4031bacedfc53dfa0302047c435bb50067306502304f9bc722e10d4c7056f0dfcfba156572e16aa70564da8b75295e21ce7ece98485f05e746338e901d57f9a8f2cd65e089023100f48c761d058f102bef66376a30dfced3110bfc0ffdfcbe36189a13199bc27bbf02ac025b3e26c118aa9f8150352f67f80302047c435bb500683066023100ed75030267ac8c9d052c0fbc686b236ba09f36021edea2b0ab6f38ab56d10dbc6ea398c1acec82f1c117a8658bce7374023100d46ae5c22bd2f6df22d4402a45df0c9e9e3e3669e4b7155e0a57a6e33806c410f61d1c5d974ba5f3f91c76378a4e04f20302047c435bb500683066023100dca60409b06905f3557bd8d13bf717a5067d1e3efd5d89cf8ca9ab34942e2c601601ba9960693858726d47d8f742139e023100ac94800931c0ee60d28e4c0b0f44da5cca597f94587b5f0546c3397da779f88cf377f5023cb2d5e2db389f0fee860dea0302047c435bb50066306402306c7617013dca9321d987eba504146a557d69e4a9d6c665596501107831729352620d649ac99480db3c52e5f6734bdcb602303ab9033bdb423370ca703567c99b1c61af5b9c61eb14ca69c4d4ebe9a3f0a801d0388aa58fa59bece7dfa844185dee4b0302047c435bb500683066023100c5e17a8dc5eae2736a3f33ac2c6a3c35bb57d800e4551f1a159275b65f62557627707a3b290d23725aab3ceff2979045023100df51bb8c1748cd3c07970b4985800f2127ba7ebfadc3dccd0f014d6ddbcdaac51fadafad1d91f908de6e8b869ce59d670302047c435bb500683066023100baf013d4e8db4ef9f5f2eec9f83a3e0bbfc1e520b8e0028d56dfa4dc15594ce21d4918f61d9fdd6c1c1b3fadd30865c1023100a3d0082d921ed60a9370f5f7c7340934d7177e6bde004b9a32da1718d39cae22c0e0ab3ad8cb1976f025eb9acd7dc28e0302047c435bb500673065023100d075149fe500347ff8e848ea7663662a426b6686a794bca2fae1ce6f92048a63a4058716d413a1bafb5bf261494c7c50023032a17b611131ee4bbb2be7ccf59413574defef837bc00fc73c182dd5462457ac66eb003a59ed6c64efb3f7a07e68ab9e0302047c435bb500663064023026e6ded3ea5e6c377c449aaf14a80da6630546504514c8f770b02d196fc73a88bc75cd02088fe7c46f381f171b5e29c102305c11fbd767bab07055c1e4c4d5e4f46ea908a261863061438b522d63ab69ba8de66e32b87f92552210e41a198f4a8ee00302047c435bb50066306402303d647e4c0c05a89140137b62a2d9b0598fe7b7ef39f12efbe3cf98caf28ee4df71d34a26688e57ebea689f60588c35ae0230657fd3c951c33218cda45a49ec0d6c2a37255f164df6124efbdd6242d13f384ab0031cfcd8e6e550cad45db43e4cd74d0302047c435bb500683066023100851a11e88e078dbed7dd9a4f0560de2abc992b91aef1a3d54ff8269418b261263dcf10bbeb91e77271736870f7957880023100e55edc65a7448939ed4db9c05af13efb0e5f523381d6d1921f7bb8b3aeab5a2fb9d72475736a4089646717840ccbdd210302047c435bb50068306602310087cc6a8f9d77dc38c8dae970b2d6ef460b2d6c3b2477d3d1ebe47bba16cd85f2f65bf578a1d4451a48a2b00eac47e326023100b13c4e6c186e01c636b1929d70fbc18fd913ec6037a98421a039a490b773c6ce80f2d3864d0531e44e7e9598d3a9d8df0302047c435bb500683066023100db0b1236ec8beee826297ba8dba5525f3dc49651850f699d82f11af165655b97273dc756ec726f6906714ad859a77bd3023100d36db29f5091093c89f3e811db4f00458afb7764e5ecd0deb5cc79c3e5eb82f07492f29f75e5afc96f2f2be0109257a60302047c435bb5006730650230716c164c647c26f854dd0c3185427e1763dc23f40c7be49ff835bd066d98df86208de4056fa8fe2eb67e01794e0f81d0023100bd2ccd3410722e9be237fa2ebb18d4eb4cb0b389489d62165e911b863302cd90e55b1dcc5f93a84fee68f94df7ae231b0302047c435bb5006730650231009e97ffb3342995ecd75346ed6f8efa99d3cf120dd0408bd82cbb1f7a112c363e7fa00cc5807552fa05b4506e55abf7ea0230212347a146b5ea5bfcd6f2a8e4f60cf9c860ee8a210c6a24a3381c4dcf06f279844889687a3b640f62e7fcc1fbd4cc020302047c435bb50067306502310088992fd27e0e9e75b88d8d8b7f5476b5a8bc4b8622d31b03111d3ae2f039be9f06a129540f94c9cda62412dfed8e7c4b02300b9adac0985caeea6d27384ce8e6b019bcc18abe070a30c55f0b2135f3ea18fddf5f11e6dbafbc3eaa1c9b749cd00fe20302047c435bb500673065023100b5383f878feeba4b31246054689114e3c36bed9aa4da33883bc7cb4940ee0acffbcf5944ab3526e1f12e777cedc80efb02305e6d9c7cc391b71304fcf80fcd1f6e476a26ff7be54b8014b8be6a7c5621eba6ff26c9c571e32032fd688531a0f0cb510302047c435bb50067306502307956714491a4d6dd99730df0df3a49665598fdf56f0cb4ab43d8793099b476a840b919eba78c38f2c7ec8357e82970140231009eb0ff5d9d051c60f74fabc635ab36105d78530aecdca819b89cbf3e5b46ee7d95e69765a8c5335adf7c983f6b4103670302047c435bb500673065023100a144fd11d760b24f92988df7b3149eac91f20abd7a2e295b1cda7a06b1e0eb84106707c52fdd75ed8837b013d06e0da902307347e66464020f68be9215a0fa74f53467f8b4c49106ea7818b31ec1b4c504fe6da79d424a95868f26ac9cf9630cf6a00302047c435bb500673065023100f786a24971c745ea7f4f6cf7240382cbd3c20ccc8c49fca0b2823843eff92c9cacd4f97d1f284115b252d0d0ad1924fd0230636a10cf67870e5ab3d72698b3f0370e2e8c29ecd71de18ed7095b69434896856a77d7502cac9a57057bcec54509d6c40302047c435bb5006830660231009fba6314e83d8068e929a5acca288d7f2233e32c1cfb9b1dc8c2337459a4a9918ea2038b91eac2398565a33b7f6f74f3023100d57e4e3f9d02758bf8e7d819311ac563faad719bc140d81e79af29f2eac0b75941df5b88eaf7ee1f67f1c78c7323f8b50302047c435bb500663064023007a25090890bcf9a82a55c2cd7a01e45c55211f6d6a54156ea466838247229511e93a7fe4f2084fd50f9141cb5b3dc5902301d802008b43e720f6e5fb9b7a202d18fbad8e3c5f0bfa559186ce51369290e5c80585a08f9391461f5a4198792e030580302047c435bb50067306502307cea3e60fe9dbdd8e5840010a48815aec031f001c1f2ab574aa04bd1601ca68855386e975acab6710eb5feb805c3ac10023100b491965a5ab3a48ec97ba1449e031f8191c9901855f0174a08a829e4f2eb55b64239922779290dd89744d04de52849630302047c435bb500673065023100bb501df9f60736bde48afaedec5e304cd3b25cfd87cda3f91d870f2ec2c5217dc5e36c74b0bfba71b7fb2e433bd531d0023060bd462bf351d75ff41ec1eda19e2ff050b5f498767fae468e4d9457d6dcc30c1ba3bd827d8fcfd854c6abe20d8f8d450302047c435bb500663064023061fd84e774b9d9326a699c5f481ad00e5afc149766bb3d60a58c836e3cfe34087e00713810ea143794dbf7a4a16e6c2602302ea9644b9c34fce9e32b56897dcfdfa3878d881b0277f7579b8219144dd1e868e81530a19b37f96450809b853b2865850302047c435bb50066306402306b6c64e5768f236ff706b4aca903eb1fc54bbd5f23a0c53abc0a07e2d23f80671bc522d7d72eaec0ae20946ca9dc41a30230052b8d5bf6265c9b96f848707839a6171f22e78cc1c2698f8aa5f812f5cac4accdf9e565ed50e0e7427bdc727704c63f0302047c435bb50067306502305e46a9a7147722354d4ff4aeae772ca3ac79481f4965d849ff0efd2747c062e865d89be3d1efbaabe5d99c06c1792217023100d6961f9a869398b333a8c1d40a505fd85305289cb4f3f81977aab20b1f95633d9790aebf9442bb8b7a3b5327da132b830302047c435bb50067306502304778f0fc56fc6ab7b5e096d61aaf6319ade63e6e7dc032b333e49c13ba0ed9206816c99103f763ad493e83fb763a1ae4023100a29714ddf8522e29c7688b4a5622c9b52de890a542d0380df711111a684065fbf2629d8dcaced4138ece80cdc6b77b7a0302047c435bb500683066023100fb9106c3a7f3b3587743c2e1f5527dab8fd4d3f9d8aa9ac4f81625ecde438634d745a932dbe3005bfe2eb720b5fe6a27023100d76150690f84ed479bb4cfc269c7ff7d08017e2a59bd9c8f0ef938be1fb92bb50c2a1209de9bb3265be4502f38ff4db10302047c435bb5006830660231009f91971280d1b42ca26135fcf0dc27891273b5bf7f1ffccf7c2c627880e6fe56e3251312048cfab3476ddc7e21cf03cd023100d4a2bf84cdd2e5479d002253bd70e7e74bfa4d017462258ffb5b947261c0fc0613d47489803f6299f1dbf42d05b812350302047c435bb500673065023100efbf0e76fbcac74c6d58da2605cf4ba79abeaf25c83ab188bc8910845e83f3b574ed9bef0df6cdf92cf7bf8a80fc6e1e02303771da8adc1fc0fd0fe700ec1c2d899033b0a665829755f4f9b3e51241e19daad3871c5c13760a9c14211c5266be825c0302047c435bb50067306502302b4a37b0f0d887d252b805c44a28cdc99eb79c835e1718ab39c1ec8831c2f2de294f86493816aa1d795263b8f09bed1f023100ea287acfeffd7186439eb242d5722c75acd518b3bb8ed4d197093e65a4d437a542e5a66f177728633ac8081e408f05a00302047c435bb50067306502301c68b939733db2ade2942236acb3b283caf710ba07929d4f94b119ba87c04cf8ef118bdb50d765aed829771c2987e751023100995e3673a144b82c61ff2e7c0b49336e26bc1b4a8ab8a61d0af7c9d845363571b3deac79a72f65310ba6d2b17b90cbc60302047c435bb5006830660231009ee13e459faf6ebaca453ae8728dfd9593345ba50224007946f8f4f2b20c5f08b95a2340d153b84be76167cac7f0a10a023100a0ddcdedae1f2224e95dd6e14f7299acf529f1ccd16881314608750955b88cb6aa84c23dfe9fbe742cefb7455f6120880302047c435bb50067306502303ed5d415a35aaf3cc178d2e1ff1a2f0427b0b3c5ed82d591b2d2bf907d59d4a1be18164dfe2588966ad8dc7df14e3c3a023100ffc2bddbde27159d4739553ca4962c81ab1f46822ffa1bd0690aa9b60392fc0f3bb342131feda3bd980b941540a667d50302047c435bb500683066023100961519e6a29f95b29132e31d2cdcb128f0683867ad76e2387f969cceb63785bcfa1b3c2591617789e41e8520f0962553023100c30cd265ed7aea8890f6f87ebb1b253bcea9c6729d30653a998924bc1a2a15a6ab0f41254ae6323241a617ac6d5806190302047c435bb500663064023042a89ce07c47f20a936e77505ed9f32b4546ecf3902ccb15eeb02e478694d4c650c7ba960595a630e546b2546f178d4f02306a374d29d295d9956f8d3c79ce749b9d5cf8bc6052873d9503708beb429dfcc6377e0745c22a50c9c463c4baed2adcbc0302047c435bb50067306502303d5d1f56302a8c506faf48b29b1358b651f7db31bd3de0c31f404795a72b45f55ed21850319a4c269c5958db5d8e0168023100f58a70427c19c168f6bfd360803a15da5c9957f2e4143a60604bf332a3913b803eab69f334cb81e0df236963bd62f92b0302047c435bb500663064023045506e4946909324a48a2ecd67670352ae8bae5aa70940ea05757f5c038468f08d255c848d1b4a3674f1c635013e375002304d0011efee9e27bad8507549c8baabbbe67e4d28bd4cc2da7afc37df16c4b93d9047ce98a644c81d29f1557bd6e8ef760302047c435bb5006830660231009b3946a659fd69d57df7a2368f22d62e5713638399e94b1b8fa99c20f8fe420a5bbe138a1410ec244244a37ea5f4519f023100c2f3d3300d853c53e3c3bf7f2d0b4387bc698f6dcde591a1c5db871fd1e51ead75346771c7b7f16a5b938543baeba0c90302047c435bb500673065023077542e82150c668dea1eda4d3ebac9983b855c9a54a1c7274df83b3a29c31a2a9ad9e8fc357aae9afcadaeffda3f7b57023100ea98b1870ec5acccb43ebc34c7df21d84a5aedfb71c57df40874ff83e114adde58efc68b78a178c20272626ac3978b220302047c435bb50067306502307f7b73cfe850f9757cfa93efc36072546f0a7237d118df7c4c87dc4296b3449f5eba5ff94b4cba245df4f8fa1c4a9c2d023100ca3b93f74e89e96e9aa8e0bf98ea46d9dd876c9c30e8a297abef1b854a44472c584431d1f7230179bc285f72e727fd670302047c435bb5006730650230308f61f1bc4b63e2a7b520cd6362efede643fffb94988aa970b831759f0d27b5f16b3ac54097cee9961068a6af9848c0023100a27bbaed59c0707d1adac85ad29dffc7b19aea3a423a5b64fc08cb57aff9eb6bcdb9fe1bd18c540562fa8b533a9e20430302047c435bb50066306402302cfb166c985b65e03b84454a9ada02ab2c5f241dda6741b8613a07d54d0dd467f48cd8ce8b8d2ca5c9bd24551572eb88023077b7196090f0b41a68ec7ddd208267a8df81ea5b1217317ed12f4545caa066050e23748f0447ea2c7769b6ce71ff41c80302047c435bb500683066023100f8129e2b0430d6109438a722b55c8674101ac7d0b138c97776152c88674bbf25e7bff379813471e74bdbe29e1edc020c023100ba46015b71c179441405acc0c1a12aa7126257c00bb88a14ddb0c2ef841c617fe279f34487d401fa136b5ab9fb786b7b0302047c435bb500673065023100c4884e339b906be8acc6edb48cf6b9daa615a3125b942deec5242fe73b1e5db9f25c61a7ab1f63fc1fbce7ac5ad170bd02304bab4d797395b3ba3eecfb2d4da8725a15f1f12b4dc21d2d4d6fc176f8b58f2a11fefd7173a470f0c7bffab3bfa25ed90302047c435bb500673065023100d2257ebf3393b319842ae3904cd4ef4c030a1754b25ba23f4a40c6c5551cb467950f3195773c9081d4ebd12b2dbe0f33023027bd720d88bb3b242f9157bbe6b0ee467980892ed63cdf3056259326075d100996d30a4860ba83a193ab2058040f99bb0302047c435bb500673065023100ee34321f5f0bcc82af9c48f824f3de52c3f3915eef86c8349d4d372854fe44a21660fb3ac76942ff65b9517194dfb638023076a4fc839bd4ef78e0dae6e853d611226a6e4531372486fe32092600bc635b752101adbaa332e328ca1fc987e92822790302047c435bb500683066023100a3d18e203e70409c0d062c1f6a987e83897fecc46b93447c3bd28be92ddcc619f92128dd20e654bdcc84584e9ffa789b023100a33114497a001f187cdcdd52f17f8f8a928da79864602a282292358aec679dc128c398bccde3303500416095a233cca70302047c435bb50066306402301d8fdba9c471d410194209ec5abdd2773583772765fee39e092b6b1d62d804d52ac71feda396668a01b6172a5a57a57a023033f6d1ac12e52950ba173914c7407dd54bd3d42868fd086404a4406688a95149d0f0c9c24c08ada82dbc0e0135c542f40302047c435bb500663064023072403f55e3f6ffeaf037951fd415040c71ac1b7974aa800de5d2953143aadb5609511ca1b973a5dd0a8cacf7fa64962602303c6039812c32c72537d9c949caf1d102ed5df0489d61a5c6a9ca1b2aeae39281864e253a6a83fabc49fdf35e64557fe70302047c435bb5006630640230463bf361e62d12237dc980b61a9f2654a984b317fb87c54930343e9f6550fe9c1327602f3446cb576883d10c9befe922023077e113d65cceb2d1e16266c9e527868821579201d460414d2f542efa27880956e0b152afe67d1062783d18f7327a95a70302047c435bb50066306402300b860d00eec3bc16ed87fef18f4fd104d597f9ddac6dbd152229ebf2a7d109b9d700cbf9d1c7742db8abd5f72db152a50230200d57381e13ebeb7f2954a872011bfa853c13578d1677ee935d14fc95a91c6f445254e4220e822f921bee2e290e3e8c0302047c435bb5006730650230530d5f83ac06f0748b210948a34c5e24896d98fcc851edbab5bfdba420c712b05815abc8c7acbca9f9440949e571206102310094b97c5792e9889bca332dabc1f43f8cf28cd90d0bc2b2795875926b65fba4e5b29ea0e4894c5208bcc7944821a2e7130302047c435bb500673065023100e5fe7b458fc7b407342e547446c22db83070efdf2bbf20640aecda1da446464c6e64c90e8e51ba880f9b2e8b62fd1411023041b128f7625db76767fa55bb57f363c1cef58984e5b5dd163eb6ff72901f074f8e570a20a9550a907d11aa61552eed710302047c435bb50066306402303bec50dfa79a5f93af4206a748a32b920b8ced2af594d8fcafd9dd4f657065e81ec1d04c629fa4e8b21c0faaddac2302023049b96bc01b59825c82e08e331f6b42e037138a197e53db8645df143fb20ee97c647541bd04c2284f61755150da76db160302047c435bb5006830660231009700414fafd816bf18230eca6a16fb9565950857f7c8b82c32e508e13643d6bfec4cc99b1912badbba3c75cf3d8f258f023100cbe88f18b892c7838e2721288fa9949029681401b868bb8fa72806b3846be6b81791722e841069729ce754153af8dca30302047c435bb500683066023100b3afd7dfc486b59780692ded76fb17b8fe82cc06ac81c64fbdd9bfcd4e37953e67904a13a29b8fdbb70bb806f0a0a4c8023100babaf8ce8aedd59903dc2c917602f50e21432acb4ed88a6793cc2254b933e339d5754c107824f415ed8b075dec2c433a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d64930ffc34e31c196b5e757e4538fdc9aec725e8c4c6768ca623697c0d0e21f6752c0e9b92e13ebfe4b97b36f27c80f023041b81239ae340001b3bab1dee97f1a6f6b5af6805dddb0ec6c8b36088839c22c6f987fe4d954661e48bc087794c273d30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023063441dee82bb2eeb62db24fd57e683a19205ba7a44ca7ccc965dc9fd33f939f2233ce7da9851e5a49af61c5dc50b2b4b02307767541ce5abb1412b383d3e533b992b0894e2919344b171c20dbca3188fab75f96e319d7faaabefe52954809c9f99080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008e3f95442d53190c8e53c5fef62163084a3e0c51455e245dbe07100727cb5243c4962a1f85205ca7760af0cc6cd94bf702307bf81a0472a9c77442457d55d287b2b2941c38c07c06c49c2dff88ac8fa5e57a36536d1a83559bad6b8a063a2e3fa9950302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c147f50c2081a315ab459dce7f6c62caeaca936ef73819bf6ed65d349c9e6ec5d4ac8dd2bbdcb91b0adda73ab9eda8660231008217291d6db5b912a7da89406f6d1741548a4755004730a07de5ebda83fa302fcdf029fbfd990a74520787e3945d02550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bf2e85afce70d85db0c285a3cccd671d162a4864f1b3d9ab7e6de0de066db65117eaa4aa499dbc105f04cb51f85f4828023100c78e9652c60f12a6d5f0cb77159590fda63fb1fc430ac663ee92763dc561f1eb707a289e9f85bbd872d92d08db713feb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230437072cef74b6db8aad1353d08e5b01f0d2302e2ed5602ce51d8cd13a27841fde28cd83c8460c0cd08a34a2ce918dd43023100c66937f24c20b68cbfe8b65dbf3d02fb02d2ea596b8fce0ab5df8bd96ddf3e0bcc9e7fe191e4623ba4d892d45c38dc970302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023045a6aed6864761bc6145511dc37f3172f59a563994e09b8a2fd8f3a1207490d5ba7e62d2cc68c6478f2a8704a74d06830230138665e40297d6328767f41b176f8b61023dfa65984c7f4b7c1c5063c9ef25fb0e3d650ff8a3a8bad1cc59440d6a09500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bfa968d47fb68a157610bc76743d03460f0a2e50d4a767236fc459c2112fe5e3427e3206ce78be4fb6b4615399bb037e02302447ee333939b935e4b6d49766df5f8afcea5a6a8bd6a055292904274ba5ba59e65ed35907ebf3ce4b69fa2629cda7c70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230681d4ce212b2085da96207a4cf18d01e16e74a1f571e64aba9431798aac920e470b527633f57da19dd17d97977154e0d023100c1d99d53ab171036043b6a202d3f059776cef3add9cc767321f12c2f0e1a8577b3583fd75c8926a3e82b4803f975acdd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dd6ecf6a76981b0b525c55e5c1e59d586e46173ab5c4c663546121bd7637772cb1d141d056bb4580a73ced79c8cbb04c023100ec2f87e273cf1406f7fd0c19dc29447377d0e4263dff4293fb652fc277cdb6dfeaab077055288149a47b5699f87169010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023027f963b99e51a5cb38a06b1baf63bf7b4ea261c7d04a18c44f88508c7babc9f2bea06e300129297b92ad5d000fa00adb023037d5bfa411bb64bf94df9a137d13ea5d5ce6312e8ca4bcaac9a43e16b22f1f43fc4ae5f5de276b7d519e3d29303d35fc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100937c6da027064a6bcf85987177dd5399e8846a97cb89bef7c874d9eab08c9e915b831ac10aa897db32441f93b3c5b28a023100893d86f9d1bddf1b900f8dccb9bfa7461f2ee8fac9765091b391e87b6de4ee0d65336046e9e584f4f5e5dcd498c8a7300302047c435bb500673065023028851b93c28413f6695432364046dba52c8a602410d8f37687fb5ef322bb4d570fb4c8fe3af1d403dd10966c1f30c552023100809f49ffd3d04367ef4be52f0ce8996c481896d3fb4f1ab970b3afa66465c94e84fcc3c0026d7b93681931ecbf89217c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e19d7a74b39b58d9b6408202d9f154c63c57f59bea4569c61421a0ee95e3ec5af5c730b5ebd23a2a373ad64330b20814023100cbbb10dab1c7d0ef1e60d482c4a665bb682a1043a8358969af26bd1f3f9f39a7449706621e82fae05b95968daf0ffbe10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303f9aa1f8846cde43eda0bc9301ec75f6068fb46da8c3423ab93777c3f45aed7b36d5b061368b0d4fe4a20d4daa3eb4d802305704ab3a241c112d944955bcad2a7a30dab73e6d9528c86e3e37e81316689a4002a48c2dd08e2dcd8bee528551e2d67d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a0fc24ac3024ab8f082c1da9d62db1661c61afd10de58e83ef16c16f65c24db155b28534615b0d5668733ab441f5eca00230758187d3bff6556cc1881f85fdecd5aee4481660cccf0bb9cc4a04adae3be4213babcd9955e5c60efa023980c6b7bbe00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100baf9e9147f5579aae71ae669ea1bed6eb98a232dd3d9a9968903892ceadc087d5e5d8a2577a88e23e00caf13ac3431f4023100c95b66db1505f7617f513243b35d40c1ffb6433177699b938c6598fd28a6025e558d55036c42702481cf6effa8a91f9c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fed81cf327d95628cc08e1a4e2bce7f3f2f25ea5c21dba0f95969b4f88c2589d6e1c4a62a614381ba76c4ae1781f4e1402310084458642d3dc3f7a03643bd560e94effbf40e02b4dff22da9117e6263485aef2ae3be5c363eaa968dd17cf18370a80760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023032edbbf8caf25675d80b024566db591bc161fbb9c7203abbe6776f44588d09f8c2bb9d290190ac3d2938d89342da469e02306fe79befb1c7168650d18398344af6b9153dad31899cc2ebe9fc6478bf01b5d2c8f2756c4ffba5e0f8f32b4bbf0ff1e90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e9878b591684f4fa986cfbc46967f875ecec08bd74b2f426f528c4cbb585c252776533f7c19ee580f114430ae046a680023100dacb31c8df405eedba75a4afb478181e71d25c8054a1aad0869479b6183b2479eb355d2eb4a43a3a0d0d59c38c4a47fb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ff6be125308df1ff23c49455baf84302655acd175c27184576aa7ba1a83c75f584d1abc32dc38faf6aad24672e15f5d902300a94c59d451ffb56f0461a69464e91761c137af92db85e9e8945402ea20e7a182f5d2964c86934dee9e87f0db705bafd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fd339ed988510bcdb978e61133ce66bd2446245abc533052e5b78985db9ca00fc994203416f3bf0af9928b24977b7f4002306aff2157edbbd86028e762265dec7f56ad6447d4b59bdd4a24953a64f3117c5881fce79eb6cc2e732eac5dd527d23d800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310087006d6a3fa8c571d20e78fb445fa469ca94c1e1fad7b32c75f463bd936faa1d62ec0df1f50bf5242084fd6e67c87ea7023063175dc4a3a791d25c4378a39d82691d60efe8b3cbe40d602190f67cf40dde725abbc0ad3f2420c9da720da72ad9a17b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d1af38b4e374136c00127591c43371c6518b4f46cc56eb19771bb623413c3a9b9eeed5ea11cbea7ca63a12553cff180f023100c77716ede24a6eaacffb44ba9f9aa7f1a280bb19271c2b58ac3d17939a435b51388dd171d0acbaa9f27e4668ec096a440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230433b2a483997806a097b131874c2232d9be73e8160f3c2e1e2e05247ee32a798c879472e6daae257360f92add8c8c63502306849b914f2b509bd98b8d2e2bb6f7aeecf834931c7cc3fb822fc57e16190082eb181db3d22ceb8ce88a4676e69555a9b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ca3b8d6268cd4031b42d4e68b0913394c7f9cc3cf940b38f70a2b31afcfba0ace12b61306c72468b39cdf6641273998e02306ae0a33f67d9abc59fff6e96818952cdd48a75183c72dc4c23d97b0a45f9e317af402569d5b0232b6f903e8f698c1e500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d728f47de416583753efbe7985942d406e4d8b5301c054d8bc4a428ceaf682e9ab8ba1c1422c8cc8623c0fb5c8d56686023100b0e3955a51e01ff7c78f91acee7f8fd2bdf52b15d46f5be8281940e3751e5ee37bc0d6bcdf174bc43b345707c74279930302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cb1ab6cd733d95896fa302e03c5c2ec1db9ec8cf2104709033da208cb24b3547672f79e5f8469d01f73444fcabb3a0d7023100e99a07b37db652dc5b289dc5752e775fe487c6cdabda4c97ca1f90cd3f059fd7b49f25ddefd8ada36175b9f7bb34372a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304bcf80495bf7b9af9fc994ed6195a6183ba726dfe4a7792dd12f7af58b565e2514699cc50d5cf00849e6bc5b5216050802302ee83a67803806b352f28e1f9468c0c5b5193718dda1c340b7ea19565f7393611a0002d1e9703605fb42e90a8c3589250302047c435bb500683066023100cf4dcf6dd9e26ff01298519ec6e4743ec02377ca44efbaf18c35092ec625aad5caa462410a778b08b94e75ac56354c5d02310087974334a8d7fe2c964711eb56c778bca6d1fe417adbd7b3089885623951b6d0925abd378ae88e495139e04a9a07bc880302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bf26e343f98b2822365183836b18880ce65a29f806c720bc494592b2d915650ebb7666e0e9f93c5e7d7d09fc76e225a1023100e01131a4e86a05330561c7f20d8db39fff51434b2cb6228afb1672d20cc2dfcccea9bbdab46264773a13b7755a8476450302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230147231cf2656904e37b29bd27fed5cc538103cc4631938af2149ee89570266b6a781067dac7957d2474ef2c66e4d23520231008fe2de2bb972e5ab3760ebc9038391f69b3004d437fa30e055bb8c6ed2a1fc83a06144d0fc29a18568a2bc19bb3b08ca0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230452f36b3ac9a2e21c0e65643a613ceaa9ca5d866fcf4e2e3f4c25ae309cb685582711ab8c9a8df60dbc82bf443b3ea18023100ed549aead4dc8bfbea0bbaab10738c7ed8baef2e96a1b566abc9efa7879a516f276b9114514982f655a334f75312dc0d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100abfaed6cbc86bf0c7dec3ad39f39b641ed19165f9f1ff9b3d057845020d7c86f8b0242b86166df853c7cab348403846f02302d64f8a52557743d9ab6a058e678561ad69f7adcf2f16ecca276dbd77511e89edd65ecf6e809647c8858e6992daadb160302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302c4d64b01849b34bca49bc40d9c3fbd4de8adcb738786d5d11e41299c7f12e3941f2d4f76748743800132d7751b9363e02303ac8a4319d3846a7740832defae051b91140d4ce0283de12d1cb832271689e0130ab6162b9159de679861d14c6a2a8600302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c0d1c7ca51d8b2d0d9b010b7b9afbae17942943279ef3611c0ffa1833f5829a57c803832334efaaa1d259938da9d0b35023100eea55e9fffde46c99829af34091c7cf1c0d5cb7aca4192418998986facce5f33046847094a0e9d8c82716472a9b6e0e70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e73bb1df328c83f9c733311959e1bdbb0318e8f418f2bfd26ebc699a04aa460152a295d564126e035347804fb588f7d1023100b9273f9d824032189dd213585f736d8b0a7fec02aa9ca98150ee09beb2cf853fa819a299078971f31a9f3683e4e763ae0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ea624e519d4a8170dd3b370b5298ab22138838ffd39fb1af08d73acaf0ceb12e47aee6581fe487c9deb4b61e1e1886ec023100b440643e5d62df86cf94e7e8caecfa18675a71b6997def4cad9de1fa2a6565ab697b64e7841771e39f4524f9d7c639ec0302047c435bb500673065023100ac60cd26eedb12fc080a6ad1b35d44c7efdaaf72f623b800f711ef46223e46b1405450b61979f37e974324ad80e45cfd0230240ad032de31a7c8fb7c12170bc28d34798a8b704927a7073be35fcc936c67e07df4f8ae27e395861022ebe6f19665090302047c435bb5006630640230292666163f62f99ce80583e50e405ed61818758fb4314f55f666882d08dd7604377dc832f1cee0a430c89eaa4cc4206c0230721b01940e5f64fef6b10d46f592e5745026178a25fb71dfdb05fe4cdc812a69b34cfb0ed7f603591126a8c075b9572b0302047c435bb50066306402301ddb036544176aa2596670f6d8590c2ca10c2a16e32b6ac55d5648fc0472998f58875af93867acfbe3f23193571272d202304a6ffd4b32843bf14c19143e12a2480b17321a111866877be2a6801058c68c2c50715b4a216ee89c0a4d25d0a5dd12930302047c435bb500673065023100ab1f06f1e64321c6d6f507efdb0e8b61bca7bf148e3d112fa5cd2c6d33bf9698a5311f517c691bcc989f169bf5476221023037ebe111ea53a25046e5b9f0df31985aabe28c0509f152ef8caf19f5330525915b4224fa406111634ba7f95214c31e020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300852b071238cbbaaea8ef6c568fdc9d5301424e2bdc074162a806795f4827ce967a65ab3ad06f87fd948855500d283f2023043f813c24264d5d0d1eab6a642c63c26b190ec546fef3f603cbbe671f813ac10d5a565a3f63ce0f58b7b0d8147c3504a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310087a02f3ac52574957301502178267649cb8e7a16dba98a7ff22a614e1f10f08d6893ca5d141b03c1dab604898bdfdb06023100b4a3aedd01d1d819ac67d70ed203bfe26c2f1e416469e3e6f6026f5c875fa4cc2b0c2b48a145843a06a1451245b19f310302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ab968d7fdae1e0f8c76e7429c09727a776f2e7058e1d47b69eb3a5aec1a59f03dee22fadc2851f445561c556fa2e957c02303aeac3ad16a4356503fcc31f9cb878eccd5f57444a943b1e5e601f6fa24c1f869bfc2074231f12ead2baaff4eff02f150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230254ae45e9b102a1543aebb3e5689ff969b52c7a796172eb4b8f72e6cfcc56b77947a66e8bc844107a532b3897efab5f8023052d6adc1465aa2f929fcd328e630bd59f1e8fad21f4ce314d87786820fc9bdae5c0c88d353f117e84b884cb24e9d0aed0302047c435bb5006630640230288dfbf3bd9a953f4145a59c9cf5c5d05cf435bcd3c88d40b8e5eb3ce874bb88ec9578c9ef322eaa76747685d72444d002305ca3f74755c55e099bf79797456a9ce68f0c954c385e8fe41d70c908e87d5591bf2baf939846b669982b5497cd8e32e50302047c435bb500673065023100dafda0274d285a0332327f4200c0efc5a26732172b2208431447f66362ddf2160934d8c3a81c39e83b0484a90653376e02305ad6d80715f0efa630d5341fe897a08e3de61f24c27a96e9299aefa3b20030dcef5081f6f3360bc4dc21e7d09aaa4aed0302047c435bb5006830660231008f64d06631d1ff21eda9583c293f1dd5ad2ccf81e72c103aa6481d43ba764bd977451be3a02b8b01513f93e5c1c78de10231009788c44683475ae0d105f12dc26155b5046c5bdc5831f6b1fea0590dd45ed7f0043c3bd0a74c234b663bda947779dae40302047c435bb500673065023100d98a16e3df8f4d271c7ef4b62c94b6a82dc4d1a43d900e3562ae678b9cf80df72c616fdc2760271a5665e36974f93d210230036b1246392d6f56e1fcc79d4ba18c6d268d707217fc18c271439fa78da3a430bd98c7356016739886368b038d7104e50302047c435bb500673065023100e6c1f5664246480a9e36a1865d99b1d352a03b5a14836e29ddca59e1ed0b264435e5f8d8269a418cdd060314d36f431902305b214ae9363ad287f1418e8eb809c60902056ce0e540633b5596f0de29fd4af22d53d6106d2c421f52d83d6c8a14f9c80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023078b48e20da9e077d379d284651714c71c5243f13e2829916fef0d468f2613618f1909daea745d0b9d803ce765d46d888023100d9bce7414608762a21661d50f2dbb0301032bff696728365775ad996d1d65cd78dfcb4b87dea9d9c25118410e08094a20302047c435bb5006730650231008a4f718574d42177e987f7b79eb71ec226d305239f81a2778d742512994817f571960f90becac1d5c7e0dbade1188109023052a0124a2d49370abbb932da94e047f51200a90a4179901b2e1834bab1a4cc1c0f1af42aab11a3b6581e2da1de87b5e00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009ee26d8b2f2dd1d9e39c17f968c84b0b9f138a258e01f60d347d74273d5b4806ccb9ae841712fe0e54cfb16a69a587c7023053f1b40eccd78bc6c962ddab1dbd26fb25a56c41905ca8dcea75600827f145303b1a82de025d7b225710107c348198dc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e91f1a136ef95e44d34086b529790524235c8b206dfb898f9be21623592b4a713a157d3e65c134987b7586d40ce37a1f023100dc3d643089eb48e0f33be2f7f67236b76c4daac35eccbb2ae6f8043af74b4fe84ac2222fc79b1c38497dfc475aa109b90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230247d7e6b6954c0629cc9a5ec8f690db6ad37f21d156a784162f1980b1e2ef651d4834031500d3cf015d0221dd624c08302301b82fac2e0184a7f97bf6cd9feb8e4254d31c834c035d69267a7406805344e0dfc9e9141bde080d3b3eb9338c1e2cb4e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023000c15bdafb9547aaa00092f3e45dc8e91fa7accc25213bd5aefe8a08ce4a203030fec521d97a7e8ff0c9453dd171385002310081ff20109dd10152ff83661cb7c14f63a3bd56c748eaa9e41d12346cec60885f79311b6003213286ff7eac678f1fa4a70302047c435bb500673065023024bd8497059f89a9f8e18bc3f5f7ab7da19f98251f68cab8ef68733fcb1226dfa1d90de74310ddeeeb73470bca6d45a0023100b0cbc76859814993ec1742368b51b8291ee2c81c91c25795b749c5d8a871020c72db61eab30c2d7e3c4b1962bfb321da0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f6e071fa6b25120d507862f54a0d83240322eff5054fcb819ab8561cf309b24c02eac76d02abf8d7eb2e1eaa3dd63bce023100d602f9cd5dda09b4f010d1fadfb9c09753e159385f0986307bbbcd305664b814799f0b7107d7ddc2d73097ea2d2694c00302047c435bb50066306402301babdd47d0266a223770f392493037ac4fe504145dcc7b21e6979a89e7632bd42797fb0e80d72395f0308b16c4b1a41d02305c73e1ef764df392250b4f21f3a8803999a83cca7b75699f939460b031019ede56daa37ef0dc0b859b008384c2e806ff0302047c435bb50066306402303ea046f9c217b95a1d2cebdc93cb6bbe35b80012ef7563e743a3a504897ce27a13bb8f6648d4c1c75c719fad868fe20002300b56e29c1ba24abafb992cdc77abd5691b5bb27747871b0a596c46d4acff991418e2dd381fd1363dabca080106f5baf10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a25182defa4a3111f2a9701b60bce3a2aa11dd4ce81183567c48d9a0cdf19d0c215bf47ae6d5817318933e9d6097a6e802303debbf5b366f67159c8ec3e03961954917a447ba2c4addd7dc96195ead40a878ea57afd53dfa3984351ae8d0ee6a83630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300682fc755ba12d598eb63fd1aac2fbcb5b15326cd206ac44d9197199d26a4b528037a790c4e85ba37199b0bd7ed751f6023100ecf2f99dad1f51cf447c523ceb10ddfc7ff7b8a9f4c332ea6ddf40fbdd6b65c96db8a3b689d248743c975985b29b3aa00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305b30d22840d2285c19d90f5f6c5e14beec615031fd4fda29b8cf10871826f8e2f92289b54d9135ca15684ae854eae4af023033c7f7cd492ff56cd61bd8a88ab3c00cf991ff5ce751ee74dfc760c625582a3a36ecbf61dace3b504c16e6e731e6e5820302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a50c210d7b05e8398a33542213e4bc33c61da7e52c63f6c2ff49908cf7c4a3e77e3bbfb446a3bb3651d072d102448ea702310096f7834192aa0bca128e6315e421f9377d89a8b165eba0071614c51d67726787611ed5c97d78e285cd7a901de99ddda10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ec495b18f9478656aa34eaaa3a3f71ba29c716ecd06d871f4b30cd473b9327a4682a75d2bffc3cca5563046b1718ba14023066f538df7d1744dde342163555ce7bc8296f8d674a92847863836c26de48373a7b18ec4c3663d3deccb7a4a0429089170302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305a1a93f6583372cac15e9d77aa92cb61677557e766b849c2ec7819ac4e889f8d10f063eb6993e4ece33a98c3ac63e8eb023100a4ae230dd8b01216344c2a882487e3c0b29315c64dc31748113927f4ff0dffafb40f25b6f99520b2f1e3a1e69901953b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f17a0f85f1edd9b0db0f18be3c4134d3f3639143761546d5fca92db343015f99640d8b5dcd86dc206d6ebd0f04992b2a023100a1eee2e2a466db915a4b03f30cbc50f531b3efb982d263bd4fae6afce8baf3502457e5aa98c063bab462cffe8e9fc2410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f9378022f0fc4d1226246602bf92f334b8612b812d6926bc383b572c1578da215f87fafb65df540c7677cff7ebb05693023100bad4e1ee2c94dbd2f0457f11a926544e0945972281be67e5d4cb024090361caf772fde0971a14ca57d875c7dcfdd3b920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023024fe83366131d46f5f5e5ee10efaeb1c0f52908a13d135e850ac9fce2cc8e92db74e646790de125a0680e615043708d402305f1d59d5bff5bc9d131d5495f0ca1c13598d3da98552977584b22dfc66fe27558bb6b3ecbd348298307b82f4314cdccf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fd116fb4a402933a093fd3a70e3a46ca885c803204283f0c0e5a14cd4a46ed8cda748c6e1f5d111ccc9471ebd198671e023100a107c7046b96298db9acc14bf7cbcfdc085328790600656ca3c8e3815858b05e9cf570c65d00c005ab514237268c89030302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300c3d2aa7f79d0f29e061bd4f97dc1c390ee1b3e2a59fe0b92a946e12c7256fe3a51a38c31852c3923fb1655e1c24c54b02302eb25c4cbdffa979554452af71585badb149680bdfaf8a1e26164ec4bc1a810c14a64872fa586243f8f7758e2b4ec83b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307733236834535db456f29ec093aa3d29419ca0c3655ba75acf5c2506ef1abcd3971cb9813d6e39e65d7a6026e83d714902300b19f0cee39168593240f3ea66aee4c9baad2f281ae267f526efab38a610bc77d2be6252d2fac0c9b28dae8ed4bbda680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300897cabf59b3933bb7ca2001c2035af001ed15a013584b09a3ccaca563295520a879a9fbeef2848005a8b7e106a9407c023100b13a9aef0ae4a82865c9e82d5c96af051885c04ace79f2a2ee2a07ec8c2565489a98d11cbcc256405ed25109d604f9070302047c435bb500683066023100801ee5b50fe170c69d97aab37ae41c2fdc3ba26d4502d531a3e66444a8fbc640bc2932db87e53e350ca2b4d50741c8210231009814f8e335fd0f1e2a097516fd55d0a06bc34cd4fe93011001fa3954533d43cddc9e09a925c5366efe88b631ccb3d1030302047c435bb5006830660231008f82a7519cfd10d9ff8497309e281b4baa5afb7d75bb1774ced77638467a93fe8af34dcbd468da15c5ee2197602ea5e7023100f95683dad37b752c40fd647575ceabc00d6b5b6cc487b4db0a985d7075b6314d99d4b1f1762eca4d4c426385a448fac90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307eb7cafd231e2148b048852dbef984b0e96f4fecc32c68ba0fc5b12c84ddaaf247153aaad5685ac2e81d1254df2499b202310084318b843479fe54823ebfb1529af53622105a807acfda934a5c730a559b30853a5afb81e0f72e635de1612c51e645e00302047c435bb50067306502304a8e35b29d7f8b0a23382f7ac0e428f47f325af9ef91a2934b6819faa63584ce171b41820397c4d0f233223885f15b730231008bf724fdb8082b435c62c6f8d4fbf22322b5a39de86a2c027afe38fe4ac484f105ddd1c7fbbee83d8a6667784e6dabb30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230433e8aa0a3bc9f97cd429b03d4a8ef2c5f06954e33c07c641c13776c5caa9a6ab98caba30d6ebc5009f996f17df550fb0231008eaa7476132f65b374f407abdb22328849d8b1d17b93ad680490ec71d3e766c16d3b3816c4661151efe94846e25dde610302047c435bb500673065023043d0e48f10e466f730b7342db6b8039c87befdfed7d6ecacaf9c23050b151c94ae56088adc740fd566f45b47284f8b91023100900351ddc03956939a302ff580dc4724d63a465593ea9f961cb9e3ac2f5618bc68bdf7302f1796b2f98e116e7aa848530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e24df258fee54cb324d0bccbae310edfe2de1f54473d81a0d7684ee7818b2ad9688bf1cc10a5c0d3f09bd8757134aa0a0231009c812540763ceaa378a7de7230627c47e479dc7c005423a1cbeaac8f26b91636c5dfb8977e4c94a4a1ba3f18e5c313660302047c435bb50066306402304ddf59acefbaf8daa9b93d901330314b765aed3c2c5bed25e84b331a40d5e8abec075c03709a1a511a5a8808b3206820023027337438be40fecb53aa0607c3bb11c1a214f1a36336b29327f0324777189ccade21acdf028abfd18375e1e8c0f387fd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023066bc59ed44f4431a960b60574c6ef42b7a0a8582feb65353b9c0cabc47d93404fe6a9880592d06736b8772f15da6fdf602304293f8807ff7f55b6f350351c726a3cfb1f679fc44498f7e38cd282fe244347e4193fd5b983d2273c779f560e55ff3eb0302047c435bb500683066023100d7a32e8b4e743edacb59798e47eb50993e809ec95c4eea99db9d27e08d2ab32487ef4cdd201ac2d55d8013a4251c4957023100c340dcafe6635bfc33c37cc73bbe110d88a94f9d8872ceeaaae5286e0ea3ae14efab9b85bd1030fb22fb6eba63d1f2fa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310096fa8acf04c7e68e3779ea8bedeb5d9d71193e3d9326861e2a60230a956effc3b3f0e088a18b0cd18963ece19a868bda023071f7664668c4017a8654eafa4c4839e130f64a2bff8370dd936be609bf591873ba1165efe3d0461fc5a89b77efcea48d0302047c435bb50066306402304ffdb1478fe8a587dd24d9b2228864dc2051faeeb2757c167562d107ecc81779ad3d173efef5cebc42e02b8a183d4a9602303bb5c4ed3973847b8a64e15a8cd4b395ec5f51d1eec5eed3bbfcf8c532df3af252a76e31c8b1e95a8dfd3835d4d712140302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ac64b9c3b422413a0c377ae478a22de45cfe55170441b955e635bebacbd5bfe054e6da506e4e894202e1c94919724e0d023018de444b3c067c3c4f918dbee9e207a69b5c8a6b6326386183f72d20483986a32282b216b82c4b126572787c1789db780302047c435bb500673065023028b898cdef63f21d0ce0ce9d78bfe28be5d2d89af9cecc8518c04961dec6c9182c4571c1ee931eb6d5e98664e84d01b3023100e02a09aca0b4522957aca345c6ea116c9b0c445012fb37cb6d8364c04c4c9c02f5ef005af0fcdf758406e351c7a8a26a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bd49dc0b2b67c0f0a0c86d008ce88377cd806064f9991422167cf8bc51dd8307ce3171e3c73495ec0b194afd6d3d7a000231009bcc5441fc7d7ee5df812a294e9c87327dfc21cde2d96e805ba47860080ca98050ca703f3cd15440a16d38b7b34fbe530302047c435bb50067306502310083bf6ad556a69e4c137d2594051af032fa9d75439dd028b42ad17273db087e39e8415db6f9374eb23b25284d15e75c8b02300edfac1af8934fc110435fe599589285b28e2ae7b45107d79f3fe3947440900da71e6eeceecb3fc213849881923a57800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e03253e39500646c5cbf9bfbf195fbd5ba9316f852debb8414f6f1e82494798b66486d032087184731ab88ddb97c600e023100ea5faa6cae6f3a11cec103bad1dce5fb408e5c6254824770f899f412cd0410bd426be6c50b18c8c8a6075b892c6711320302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303c925f1d6c774f799c81947c3d84509a96dac692bf62d1c8d42471bed84b5119ae62bc3678ffe313e848353df41a4849023100cb825984f3bda68cf68bc750e9c8850c8497fda2d160b16c2ef6c49cf8cace28b4a759afda2d2eb4c8e0f4bbf102524e0302047c435bb500683066023100ce4adc35f3fb3097080d2d1fcbd7bb4bde9e84ea0f976acc3435131cf135448d6a90a87750ea95a3fe377176da89f11c023100fe9ad0b7a2d907fcbcdced21917ebc4d97bc57429a3d57f8b0ebf8d67f5bf04b6b678ef662fdadad71076c82d1f9ab3c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304eb20f17bd0ccb47098fbbc5f944b96f0015205b360acb59eb522bb1ed19bbedadc953910d36851c4ecdf4d6086c98b302310090a25d870fdda9d26ee70651843645a56e4baa76bda86c23aaba2f3a15aaec0bd66ffbca9ddf34f6e545753f779625e10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ef3152a83adf0a9c562dc09a3684dd95341e2512b9c1eb6efe7dfda2ab3ae19f971606031ccefa6f41a7538039d9b4ad02301d60e324d524890dd3d113efc6c5824c40e77d9aefd82fdbccba06b0cda1f95bd22409d979dc450fc9215972ed7f2c3c0302047c435bb500673065023100cf6fec362259ea90876a13865bc1ea52f062e0de46cf2c87d83f89f0190ed86b0c60d47c2f0c1d106c9a7f13241e31e7023018f76efb0692978b11a8136e62100c5d3fb7f2e0fb717a4d24afcba7bc06d7f01c2145a064f7c1efcc3a51e694728f730302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300269d90a08b0a76c73ae50980cd2be9dd6bbc76028083c8d30d152e4f809f39d238fec8587460469fb2ec283aeb926ee023100bae7ca96c37fb1774f1c1f3da5844173e2d7a4ee0e0dedd960eb7c63a557a74c53e7ee19bb87a35c61f5ed1fdca9cd620302047c435bb500673065023003b9c5f34f44c841e4b6b0eb73ae15bc6f0756603174e4a423fc986b07c31de95a2b67b72c828ae897606a64cb9a7225023100dca916730764ed681147d963e58ee91660684472bf90b52b0073707b43fda45cb65454ada8484b7f45b0809de98d02410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023027aca8dfc69478778b4c05e179f3568031efdcf3440d3f0df552349a66d1d446785cd0e8950a160a376b68d7b627b27202300a679a91107114e8f21299d62bfd083e682aa833e0d40af8ea76e696d01f949e0d3f323173e2a86b81f5eb821afbb0f30302047c435bb50067306502301b721aa247d5c84f65445235e14d5c69dfcba7bb5dd3c67c5ae9c6a2ca0124aeac065ded59fdecb0e998651eb8dcac1d023100b07ac5ee84eeadc99b308d188e5a5c77082979f4857781de3fd57aad5c02a9b06a8cfd3ad7a355a485e3c7953d1e95780302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f3c6136f3e157299dd781e71ad00f05cb1eb392f1a07caf91f63ae427d82d4ff13e8ac6de13c8773e80c2fde8fce8e910231008d6e8f4b469ee2ebe5f4da0831912f246cb76d5654b699d2b92d735f5cb7bcf1846a80a332a5a4539be64a96eb4e453d0302047c435bb50066306402305defb2134c44bcffe732337a2ba7bdb77700e22533eb6b6b959b970b77662756df7dde8ad18045b6bfca77a4dcb3d5a002304047784969e6219c1fc9a4bc5010bce16213cbb15c32e6afc5e9f5057a397ba49ff8399a92a71536a964c232b736a0530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023072ce96ce5f923eb1cfe2aa40fe51b8796b3d7208384b93ed87a2e53e85801f37e0153424d527750b2b4607eace86db70023100da26f073e574b0f1ba0bda4286e937edccf2da59fe34a883dee88178b45af47962eef095fd2c11d9dfc451bf19ea34450302047c435bb5006730650230070304378d10dfc6a631bd43eb388c9d0d74dc1f1a1d155da48702becb202bba65a8956265c3f38ce199c1f82b88c29c0231009a17c7304f1e14556b7498e955be82f928f4a34f82d4616d6b2474de39461a94757f3a0f81f3d880cfdf703527f1790f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310084acb14af46ee3c9a7e57b21a8fe8ce78d5af8382439015939d7c0053c851ba14d1623b0cd243dc6478cd05e4282790f02310085ae5b52f3bb94f2f714428f4101b1f5ccc407d3142e646e5c678076e227b6f234820be4343917da21ab8ad8160491a80302047c435bb500663064023005217b8ea024a8061b4b99b3243c136da937462506c2cbd453547891adb760c0d4fd59337166889fb68f2fc8f69ba1170230450e563cac8ec3f809bfd5d2b3884aa11b250df015e46c4e7ce1b87918c94edeacad57f5d97d847de1a9b83b64b931460302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307163630cc2664deac9a81555b08a22dfe78149a02398ffe0131e04bf15359629420fe34486fce171c02f7793c8660d6f02302f265f0b8043cfd0273f4653d6669a6a71cdaec365d0c0ab4c6864c23126fc118ee40aafb0a2374bd48e84bd5ef313550302047c435bb500683066023100f0a41bb877fae3a68611ef59de4b105088fdc9e457b3629027a74fa0fbeb8f757ded56a62649986ab6210fb91b3ea05f023100eb9ab6496c9fe965a7916d978cc3809b1ac59d2cbb9a9761d3c1909d631c79db27c5fbec81d65f6c3939b8bf3d4d83e10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300e0c14bd9d8cbb0a6562461c3eb5445c6639aad0b1de0fd23c4e44fb239fd3f858902cf41705418051366d07786158bf023023f2bf13c7ea091932a356f348ecc5e9bb8c9ea6e2aacd25c402be12e6117e9b9b0021d5b24bc6649b7b7fdf8abde3a50302047c435bb50067306502310087c21d8edde807a21b847fbfd448ea4c360f196a491fbda232504156e606a4456bd589cdc21ef6c3e91c57791ec8021f02304afe3536200d13390c94216eeecd75e2b8865d12854c75896d44522f9732d2c56fc4e75fc340a739a81fa0c858777c690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310096ef1bf0dc5f331b0af63ba299abfe91b3a2eaee6539a57633912bcd88d10c5d43a4a3b626fa2dbef7cc11c1ef7215de023100842ade82a8dc88fd21c665e41793b4abd806b5fbd677cd490df82167a4abae2510f5c533fcdf273c92fce18e6c7d06a30302047c435bb500673065023100bb218d837e2d353e30cbdf71b8b51733272d673259e626ae2a2574137b163743ad92a28d7cc0b18cf6601de713efcd98023032ca9a7c51aadf89ddd948f905e3eecb1c2764aebee34f31b20d16cf9cf4aa5cf540dd21253acc4f6e091a0cd5fd32750302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023050f54346415311bcc3d33c9cc2dc44ffd60f8ddd4e2b9e265e235a921945c8e12a149f3584ddc3c49e922ebd6c5beb64023007fb13f31c84aee02e8ccfbf3869e6c3ef38ee2fdd97cb5270406e721ca76417bad265613d124771fe11cec3634c54c80302047c435bb500683066023100cfcbff7acd4b9e66c47c609125cd476364acff98767528939ad88ef158165fbf02b7afb0541b0f7b581d15240d34de08023100f09e902be4750bd2df2521b13a374c6511e44de79012bf08193a2e303e1799c6bf671244e86ec727dfa9b5776ed5482b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023067dc955ac67bd2ebb77f6c216bc664441d027fd61c515dbcef989a8dfc25b1c33a74db4dd495d60b8128ff3e49de64e102302910fd00711aec08d68eefa7c4977ccf98dc2a5ec58156a18f6719ff762d598ecda4786749a6164f0a4de347d1b0b5870302047c435bb5006830660231008cb9f2b2584dc9e932ea048e6c307ace14e77075b62359c17d91be5a0d840bc333d563fd7f848ba0110f868a76e4714d023100dba49b18137b7f89fb7ba81e5d7b4acf4387cc654f5f6ff33c7ad107677f62d315cad50053997bd615fe76d2684e37710302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023000a398b80414f4e2439786214c0873487be391f04359987e4add17cd6f08662bf71c5a032012cb0d3d5258e23554358c02310091d12a7b580dffe1514500471c33087965b930a00add159c97d54cf951f8a403dfdddaf6e121b74fe3cda52c25c5e5820302047c435bb5006630640230221cff09e60a70816de2f6fc473449930f31ff4a9fb36517e300fec3c572e49113752a344a6143f1744b3d0c4bd2998f023065b4eef2b3b2a177b948e0027df8c69986a803c414d1e6c838e02459a14d72cef194096275d78add87a13860cc72a0ad0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023026062c61a56b2bb9552b1af23c36989c63c4a41dddaeb6a568bd28f668dcd0999aa49155405f312f13e0823a27aae67a02303701b7c297ed37f34889804e27294464bad03a9cae0425db7a9f9c9580e216b90550a1a5c1157eb91469b98b25797fd50302047c435bb5006630640230362330c8eef9c88b69ea5e2d1525a41f69ba498361f59ed8fa74b56e26365e0228e44f83d9bf138074c20f92223328e20230351ac8dba71c3ea1dc66371c44261be70fac2a4b8e2b6f7a99572dc6b08ca420835802ed78a1e495ea3b1061818d553e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023061c301531f90c6ce85efdca0c3eaf2eeb539efcdbb74cf8f0ad4d7dbb065b6c3b31525801c7e33e0269d7212b89b6467023054f7b0b419a184e8c0734bb00fe3bafe9679671713e70d259d8ac4d568da90e3227896c17331c7e66f4f056c995fabf20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100db05050e38ac244fe3dafc310b15ef92e239413d3ad8745dbc2b0bc0008902aa4c5a44e19eb8ecc40eeb2952fb5819f5023100fc2683ab4006aa9a6b2ebd6d03081622a3486a4941380d89a01020c28715749eb663b7db53c02ec2a65fdb507ae0b7eb0302047c435bb500683066023100e69db926b328f49f84ec870af4ee85fc5a2e9e7ed1c9a8af587a5fcc4dd7ff1cb60ac1ad63c61169b17791d144dcaad7023100d945a062a59cafc1753081d9e7b7b8f3c6fa609a537aa3222e1b9fd46b36b6ce7a73ef96c0a1889ed72b5a7a7e40164f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301f92dcf1f184dc84d3ea01b8cf1ee07c1703527ca9bd4e69e37b2acc2cee00374e8de9429e73418a149c4a599ede9da202301a2def29500b2e0e3c13a5d1459a3c461173391b02a2c1a4ab45e89c2da0f8ad00124e387ea93ff610de3fa831605a7d0302047c435bb5006830660231009ff61e0903b30bb915fc2a1134c3284d61bf0eee6075a04faf6e598d81f3193e85fd2eee6a0f3aad3533d5d443711fdb023100dfb2038c7c06b98e64eaa234e2da0f7abb6200a265cbe9a5c52b6b0723cb3c7bda46bc08d2cac5d79961510203efef010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ba7c061bc427937eacd0b90eabccb922d4051613fd7f6ed662d974fe85c18ccf6ba0d006bd856517fc9c5e08f5d8a18d023030a367c1c8590df1915d5ac657bd2159446671272c05a5f7d387b20659f8064d75a3a838c8dafb60d70a950d4ced83580302047c435bb500673065023100df30fdde761ddd1e1c903af1e8d32fbb8769dbf6cd8e092da5b8fef28adfe2b5d14ac9d314d766b4ae675952794c3df802306809fd2578a1b86be375fc15288c41a10fa90a36929bf4ec4cc947ac6080e4514a0c5b51050fb27a4031adf57737eb160302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f456fd7a81dfcc75c23cd293ce4e854c9c4a3914678edc1228492210a543ed2dd294ef216cad9cd2bfc34fc13e9adb97023100c97fe64185e8530d928eccbc2d57b13e23ef02a314636a6f14d30045f3333a1140f8fe7b96c30bd8f5cbd475058787930302047c435bb500663064023010f7ef40a2d8b4c5639291dde2b96c7a79891918c0cffefad99955f5fc32efdd8cf0d760e57c1f90193072cdc96e5601023076e56b0e9871062017a64062cb86da644a85bbad747b43f1a5543343b3d1ea3b51adf10f430ad8965750114c10ae59730302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023030db7e355c19b19fd040e4bc540b0ca4cea29150297036344bb73038744a7195ffcfa708aa2db8d86714f04b596b9890023100955b7f9ef2e53b8b2c9fee138c84f443db983805c94c0309689145361feb335ac290caabb5cad1db9d3009ce90cf71430302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023076f4cb1bf09a59659bdcccab80cbe854da42d547ff28aedf305789d18f5cd3295e1ef7a88667a3ff6811c35e150b3e2502305c36edb5c6c34d2d646edcdd5c4f038ae8c4bc2af88a54cdabfd08e5912bfb07d436c863b9db6c372483791e0ecf4f800302047c435bb50066306402303b27107b846734051651fa67fa9265109ab3d1b387a85d02eb337003fa4907f07c36b4dee22edec78c0ca2811410ff77023073475db7ebe2e2abfdea7ef150901c5ebd515cdfaa547f25507505f72c9a5ed13c622167d0757dd7406c293b456d1be60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a9a2ada21f31cd3bcfa57a07e8c167644627c7adb87f8c7d30062228b709cd32d9b9e49d5a5d4e1a05ed1097720fa21d023100ccbc45f0c9098a6c885b58c23466f2a7f8d9046f18d7069e5217fcfd4750eba973c8ceb75897423095af028b5308183d0302047c435bb5006730650230145426b63795ef1afa683f94090326ca0694bab3484b3af631df82d2215744e9ae94059e904ea2b8d38897360f4079b7023100fe6df669627c443428c882fc7250fde6cfd991cb5cacda5fb00acfb011348256bdd14875366b3a0dbef1c50f0e59ad360302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c37a6d628fa20bd4932ecb3d29d9ef8ef9b599c0b95e079d454ddd67d2753b312b51e2cac5c566c23c40ad483a6d66f5023100f9ce1a38a4fadc6e3957a50becdf6d039a188689847b20e538a8d1b26e393fb5aea3a2f4019db3e398befd7a14bcb24d0302047c435bb500683066023100debd9a635b7392effaaba91cea79d36228b7a2fa1e771b8379bff85a37013f94346c048b311a78fe8ed310b231c98e5c023100f7c594eacbe9e54673362eb043fe01f4c5ce353fcce5fd41b172f8bf01454a364203c22f16938a1fe258ce287ebd1c620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230514876347b13698ae10982c1749350a39b1f37d3f3e1c95eecc5777278e9ff1140e6fb60bd17de59c4a59f3010fc227e023100c632cb3eff95a7c9b5242bf9dd20df0276abf3bd195ae039841d05bcd02f7d943e09b923bdb6a1ddacad1befdb2cdd210302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023067bc570ebb69f185557102460b2bca82587b99f244904a0f484c1e658e59695aa36d9ec7bc3eebead2975c149aee0ea9023100819ec1b4ed479023c87663eb54c10c2bae7b03eec1576f4f63212efd960a065f42ca134dbb47692b8d973ce1100ce0750302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f2bc01cb27733f65349b141d6788d3df4e3bf094a4b4abffb924cc2af572760c9ef24c77cb684f163a70b1cb747a662d02303f91608ff8d76ba25d4ae82c0cec7d0fde43123009b10823947f75c157a7d35589ff10056524bd2e2cfb42928614c85a0302047c435bb500673065023001a397f3a495e7511ac7f6bf47fb2dbe8503830e60ffa65849707237b70b7e2743140ecbe5d2d5f9759b52043ac9aa380231008258a7fceda817d3d8de39644012676673cc152a49f595f7eef4fc686fd32a6713cd9c18f003262a8f8ed41e9041caa00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302ec6b0da6b007560b00c13c1affb53003468eccf28df4e3c812b9ab3f529acbe7ca4e63ea1777428adc9b98d44581d900231009d14c6161fabac686fcdf91f421f8003fea6ebd93925ebe5e40e1b87e89891368cf877e988dd646783527fc14004c6520302047c435bb5006630640230736d1ab7c956372ea1e1b9b5c000751142d404281dbfeaf707f3d80f9e1375aa1bc426f9bf29c6499dfbd86a8ba32f88023013d728a65cf27b33a2998f11a84c4b7b2d855740597bbc63c6142583e2cca7d417fdfdb311aa02c40d6c5a2d073aa7320302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300f4cc5e2bc90552720aa3c208ebc9b6d075c6f6444784bf693209b0f2d754114e5a8c1f80a8294b3b90192e7e4b44dc70230238b71c40c9c6171c7718bb4c68238a04ae409cce36b4ca095c3c7474cbdf296ab6985181c883ff013f1542cbfd393020302047c435bb5006830660231009e3258c04c1df0a4c1b431edc0406777397edda00f331ace23173f0f5decc26488d6c8924f4d4942cd14240de3d781eb023100ad324f14b0a2f71d76765d92cb58b85b91a4381d2f8f7f596fa945f703c3983dddd4b79772e1284c0c20b5932f20a7bc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307f5e8d751b9dc1b143decbc075a5860d584035281309be9274e41b7964989fc98e8ca25ed647cf54d339d74ed913495402307b3ac0e37642fd0d3eb309972d9127329333789c778e810ea08f147b8b22b813b42013106d1ab7a247579a73acda07c80302047c435bb50066306402303c1642dbdd5635cb8179fa8bb3e28d519bd90f475916f189dfe7f458c8957757d7d748e4e61bcb8aa3fa828159fd4296023005414601589a4f00303947d0b4003dbc61fd4152ef6a028878d2069b9d9064463318d583c55c818c3404f2cac9e5af0e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023050e20a8222cb9585885c772e9f7658cfb84988b61dfa64dde1d6342d439c62c5e7ce767e9c2ae7a09b84507de1c86626023047f1155c35c0ac4fb080ae8fc3bdffad391fedd849e9d7a3d23dc9af4030f4892adf8e639e1a0c77550064b7d723a4680302047c435bb5006630640230160c0cebd9f813ad595281be48c59ee91e999e6a20b0c0217e348b7861f5d3d534ea12000382133c05236c3702f44e080230466d1b72f31e4952bfc6736029a32a1db6710f2d993c2026fab92acc70ac66068dabb6a4d4a517322a25696cb87d43110302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fe8f640f3fd32a9ee570ba1c7ce2be2f84c9ed0fb0ed52a224c3e94533390df3ce6d47d13db09bd35d20f4cad7949526023028f8da2f0849fad711750b4a065c6827a9b82d6dc260978733c4d1841313adc754bfda03d0ebca23125fa4eeded000ea0302047c435bb500673065023100a360ceabef5237de7f3835e8d3d029b81e6abed7248f7986a8cf1ad6976903a07bd0a93212ed04b6c4af0cbbbf080351023034351db1a6e0548155a17b893b3cd13fbb5e85f078763b600ed968ce3d03e28fa6502ff5d48dd3c185af7c9573e8f8bf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303171004adaf8b276406fce9a714af9148b39310a0921c517e624443ebbaf8b67af8eb8058d911c54c57893b22c4f27e1023100f7e521076cfef6b522d94471d8a82979f4789718d883b9f283b44cfddfa52059821f0d25ceef2b91a4d2d8af21930e050302047c435bb50066306402304332c01a2a75622657bdf3493e0682bae2e0019267b598c86b903e008b200050a5715c2a9ad79edc78916c5e3481966b02305b794af1403e7dfcc4b1145d84bb0601d103c4fdf88dcdf545a710db38276ff352a5cc01e9cdf4f23b9e67cf4007e4440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100df7d00f91b88b1362c5fdec0eab91b3a97963ce6f46a90046b4a48619043ea0469c5e72c5ae3d10701491d5787f89f47023100951a6f19dc64a41b53ab85ebbcba55227be40ae26c6731b459492cc8c3a34493bece6bd503234c1fef79a5f4f4d7f3970302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d5af4f16bce143c0069d2d7e7bd518c2160947b7e504a23d3cdef25e542e53a6360bb6b2e1483d64c2dc1247de6fc1ac023100906a3b1eb258466f3e16ef58e07c25254837e759ca4c66c320ea9ab82e76296ad294d986569ba05f10fdb2869e00b1e70302047c435bb500673065023024f891241964f2304269cd99ad4b315f0ecc67d57b988b753ab22859a8f343bdfcd1ad69da92d1e159faba12828db882023100fe80bdfc17e346ad27e8f5f78aa7b453d8ce0c432b2c546f3c82a9a1a57ded88e6edc714b8359a643810bc42332dd1120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307411246676fede44878ea76d8d81e8f4eb34b1f7ee94d75b19ef105823e9fc000b3324b4884bb00ee9e7134f286d829d02310085d1fa74cf475afd5bf6457639deacf310be34f4b6c317dfcdcb57e98c47bc3469ca5a70b86cc26c533c7d433d2a2a640302047c435bb5006730650230508dd11d05cd966dfcdeec3bfdadabfed61e801ed1d1d48e46f54c7f4c0f7e5552dd7ba867b02ad571d44e786aa599d4023100dc0229809dc950723694223cd0b7592c670eacafc6609d89acb29d9727fdf433540e16b8316d4c284aec95490235ab710302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301e44ea4716dc952dcddec6e494b5e26d2788c494e0d9058344e42b978327bb97475eeea0d7697a2ee4433769c0a1752102304cc3b4ee349ab25a1fb2d3056f0cf2891ffe08d0108ed6f42fbb82ee6a1da415ac6293736e8bcacddadd7fa1d08def630302047c435bb50067306502301e5205e646cfb7b36695a39f055026ae8c0114db4aca855617ab05d6b40ddf994dd991350429a4019f0961f8490296ea0231008ecc1b5a849aba6d5ea4f0fe64d1c2d44a24babb727dc7ed2bd3e13841ede301f6ad333518e30fbf31bd726f48f3be390302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305432c74cc9668d0c7593bf8f1d910af86201b901549101468844f39ab7a78bd9cf16d5e2fcb99bdaaa54e2c3ab5fbc9102300522e3c58e276aaf89143011cb3e80874cb161ebfb5e1d75f3832b2a7b3d4ce633d639506fef7737e90d7e22bcc9f4aa0302047c435bb50067306502310081f2d58e37f40fab37b7d5d83f2960c797f6d99e006029312753198e01c58dc096b86d2d40e568c1bede057cf1b9ec6002301e4660a3705fb43187569a547ce75758233de84443dffc799d43ed1f30f2676bbc86b85e0162ee777a99b7143545d1d20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a6e1bee79c1fa8a2e6dcc45e22dd576f4e747f553624ee3a0bcba009a089ac2c43e811e3ab81a398307f191ed400bcac02305e1fcf6f69ea94d2488c1e11fece0764e88890865bbe6621b51d5ef6f257f5741927bdafe793dac34462abe683812c590302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e6f36d5ab5541d6cdbc4f6cc4376e2282e3c17de92c07d2f5305b05cd3996d616ccb61bfe8da3ccb0c6712236cda35ec023100f23711e68bd9477625f7a1d4a0ed73da64f7ece48732e84520983e42339daf582806c9cdff2ec0d0796bc1d0da4af5800302047c435bb50066306402306c13014866c8ebfa5540ffe22e2ed8695fb1fded360c05c35cabdaf2964612a52e4fb7a46579af5848dfbfb673a5f9ad023057a730247d35d627bdd5aeec0bf29c78e73b36fbed101d9b89f3f3b8bdad1d3ab679b623e9d246116df96b63561499d20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300db08198306c2952180b411bad8f8b9b6138efd13b717f41700ce20d904b4abf9b031786f24199b9ebcc547396d2f02d023057afb238d30cc4ed0dd52a97f020630f0d7afbb0b5c1102e5b010902fa68545070303f7504780b0437d988f8c2b2ea060302047c435bb50067306502306c9a9f35d153ff74be404b49046ad8fc659d8a34af7a4bd15dc44a9405f740fb322fd5791c5b538651701ac1749d074b023100e7b4e34539850acfa3419ad5acde101c41a3548b0ca7164c341ff773c44c5f08bba2b9c1f7fec79390986878fa68b50f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100979b4aaaf7cf9fe4369c7228b3f650ff0a24a7cd06a5d4180d7c3397b9b92a30a2997c91ed3f07ab15f18cb9de127144023009db06e4270d70bd0d1f75dc9a7d5b5e900268abab2e3ba042cecfc4020596677beae1f59fdc76a16f98d7c542c913140302047c435bb50067306502305a2f563ea3d43faf8245fb6edc01cba35cde9412a6c3c121fec7feda1d45f6795bff9306bf4f88e5558ad33e0c8a7c56023100c60c9e987b6a2dc32a1829e2e4f279952757797b63d94e8ba2264faec8e33c5208f10df7f111473cc324165ab3f516500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a643ec9b794344054c49a68548d4ae853ef16440c8fedecb0ef7d52a6869a258dc69af1df21b8d43609c9b6af7f3c4fe023023047c3a442ef7974731ad70ecce66396376bcce1c0cf8025cc5f73eddfaf57f7f1ff2db715c7fd564bbd3c48b27aa2d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009a251777074c9738b1aca07d538b512d693a9aad208afc9ab1b47cc3df712c8d7d6c1d0c30937e321f4a1391cf7619bf02305eb80f742ed117b5dbfcbd2c9373e015bdfbf1e763836128d3b3e6dba716d1b7745385de38a8f977776098f2e6b21f920302047c435bb500673065023044fed91508f9ca5c9610261c66620a57fb340452edd25f8ddda6a6e83450d3251f7c71189263700e90f3a8433c5e653d0231009817f9e71885ae1b9cf49f8082e22e198fa15a357119cb5d49dc7089e65f3614e8230a9893cb3b7f55bc7f274cfdc9630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dd24c005e77b3ca269c2f51befca514d19ad47531e15027519e407ce240d84fae2a4ebfdc866b179add60a7cced9bf92023100ac78f7f3d4c067ac41fd7294e7603b47f7257217b8713c57f6277fa9411fe21153c1fe55c59c577e3a6313da3639fda70302047c435bb500673065023100a978f5e34dded17cdfe9ca2c339a07b332c092b42d17b29a095d8be7856df4dbb6916304f857bb284f7cd9b06f61207702300647938cee684652221c6b10189850b199f12516e7330dcbe56e565dd76fcb47d0d26e15511ced6eadd6cba60ae5f2be0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304330b96c841e98b1c236c3b535b0a16783fe93499e216251cd825bbe5fd4d73f42f7b837dbd11a93e35f076ef4eaac310231009f58751634af7e444745fb5b85cd2e2fe380700e220fa2562fc1f485bf890bfebd5adfdf362d30f1670af859229a321c0302047c435bb50067306502307a026f7f7a6aa573c6316c58f8891900ed318f84a31c153d4ba92c71ca647b9f49dbf9052846637e855a28bbf51c4798023100bfd790502c82bd3eb0f1e20bdf9b5f10dd4a4bd9c80026d0a24db1381a9df27b2d863ffcce09fbdbef62129c09bf6eab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100844efd9251a783954b1f30033eea212f0243422bd62d66ea4123f28e53e37819eb97db1ddb741ae120081f966ddd754202301502317778f841a934a3c6f32a5ff778f584ee864cac7e63f73afb624fd5c6e96cd189e810d07765e3826ed3650ba0630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230198055c347004350c6c15320fdad10500047dec0ca8c5abdaad5830a445a57b92ae0a01e9e52ca4c14583b82dd6064a70231009d884d0712ec4bcb4a19a920716f4e62f67e6eb40b6aa0bc7b8c5144a8aa6623f6790568fb12abd1f16a1113109b5a380302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230172c683b360305222e1c08afd50b69fd5983ee8cdb6ccdd0dab15a4f274fc48a1e5f856bbba4ec46b92509017b81dd2202306a0d900881e9da5e9f6a7a9a63cdefdb75e5461f3f2fb5c068156e0d7bca32de58108e0c2213e0b5dec978d23327ebce0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023024850a5f8e56b6c4358aca78dc0e4766b6aec295c79f16a3c085a9c395e29aff0036874a6c9fc0967e18640fe1dac9e1023100ff0137075e861b6d476b1385fb326a09d008f7af6507bb73d3d31dcbbe84fcd835475e240e977aa9af6934ce17f8bab80302047c435bb500683066023100d5e076aa5f737a983b932e812594feccd0c8f99aa110dcfffae26bda5bd0728c8bd7f797e5428ef7fc6297822bb54e7d023100dac2068b3bd5018c8679f775a5ff9a076c75e014895feed19cc7276f9d3254c07bba10464096f21785d7098b5e8d2d5c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023071c4979f02326e67196505be94b0debc5a94b9cfab2d4b6a072938c4a7c42b1748e6ded96c83981d142e40747e937261023100dc96b58550934099eb77287086547657ba61238569b3f39e41f091334a5816354204454b91cd486482cab09323ec3b9c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e08ba8447dc1eeb1f044802915ecfc563b42048cd907d9e7bc019bd135360b06810a6d2ccf7f16d2d0fdc9eaae184f18023100fc41ba589e9cfb6737d40caf806174ff39fb21e665b1fbf2a1874657a1e572e231574a3cfa45a0e9d99b0e8bde17a4fd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e8d0a015980a4180cd1e41dcaef774f721cb0d4f6a0d9b878c686d5829bc68b7bf9fc1923777f39e2802a222154d995c023100d1840ce974572236d2d2069f67a62f33178ac6566a44a64093ac68509d3cb1a0c6f733fa8deb78397aded1d59cfcd41b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f94978838ca07eb710ed0d430a744d8b68e5a9f80110b69e6d755e3073bf90e39feffe76fb18cc2160a604f94b29bbc70231009982970a0aaec1f605d76e68552e4e6df59f2e908759cc06bb337138ec2e67201019d50436d505d105bdb74e2761c1a80302047c435bb5006730650231008cf92ca4862ef4a842c2684cca79022d0104747e1cd8b3492de49771bf81f2f6b6e0374785ad1241f8a62cba124d9e16023030b5bb8396c50145c3c75ca8475f7bf048c04f6341c5e0f45fbe2bd2b9b2d8f5c66b47fc181edbd0fcc429868a20c4920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230238af3437b4600282d7e57bd0b500ddc2d7d67459c923579a901c1bd7c36006edb14948ab8cb04038f21d57a59744dd8023015a189cc78e8cecfed865ede9dfc02331dcc865f4b10c93ad75d5c1aae65425db9169bf500a87132da021be516cadf310302047c435bb500683066023100ed072f4cf77fe511d493da62fbe909f1db170081b141ebd2bd7ff7e79dfde0e992317f28786c3b41a1bd28034d091ae6023100fd7caa618c494bc958a68898a169634dd3619e0a671e0027b0531464d022dd39981eac10ebcd4557000fe2d771c8878e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023019e4f7f3630fb5c735d1ed9e6fba85d87164564da034a5a30b7cba4e38632957bc5963dd9437ed71fbd04ba4818910e8023100e627e7a63992d623f30cd1f76e4b682200eff2443345de8c7998d2b97409ffe15d4710fdb169350c6cb23a087ceadebd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064022f7b3c46a7b03c873781a5e61cd4c05a4e4b8c6535f32301da7aaba0db066759dfee8b3091c387588d869a7311255c90023100ace44ba595b794b7210be01ef51c263ace9f3678af9fd1bcb7643a336c62afa57bd2a8ef25c8209e7ef2b6feaae7c6c10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a489418251d876c6524f3fbc8ebe822ca7902dee7d854cb9411f5b47dd808772d47b5e3b5d648842b0b5a723de130f61023100a455a33e9499694377a8ea96b2d4906a61607ecff5d9db5dc8887befeddd5b8e04a39580cd504806bce492d3a5f25ee20302047c435bb50067306502307c386f4decb87fa2c0fd616b5a45d6661446e8ccca3c77c7b36fcd2fc93f066185da2da380dfa4e4e5f2d9e4af4caa82023100dfc7693fcd887b2b612aebfcc5e9a6ce9b372c20ffbcc8cdddf3898daae98e6aa0d5897e413c961500b2686d9711dea90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009eef663861e84cca58e9489f731678787c067c85daf41deda78fb8250318b4a0ee117b5c225cc5440e233ee409488ebd0230204ed73ced83c1105f968395835c9ff53588966f210974724a8bcae886a414305fd70880f6e1cbaed8e809c32a7d19370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301cef89aed8119e032793d4fcc27621cbdc7b7530c5012179d6acf673cfba9694f4d2f0709f2e79e04708e3e951834370023100b5894f131a325639de8ee8cab8d4816fb16bfbc940e35ab244527971bc96d8ed43798325b217fde3f8e7ef184e67e4e30302047c435bb500673065023100f25e787efc5d86ffddff574b95942706b0002b5e698092c41189a46b39dbd10b1580a2cecdedaaff5bea824f714e083502301fc2e58c05de22d8733425898ef690275873ee453d98f88fccd1ced1fd59c6c182438241f25c068447ce69e4c30a8ea30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f381e1a39365bcff6865ff0de44ce20dd05cf3031644716f2ecddfd7b8ad91a8bbf46f64893e15c5e6c9bc6d1da6a41c02306a8cccb6cc58b9cd5430d92623a8cb6ad353224eb85093214f401b34d6accc1a6bd5bbd2c216a9a4dcd2549912041a940302047c435bb500683066023100a63f16c27f54bf5863a7b30376de63c117d9634567ac9dc2cd135ff145bf56531f321d47e052c3416f3791ff1bf50701023100a217d49b84d9cfd09162af0e419d3ea9247489065321987c749f18fbd2de584718d6ea630f35d87c31d13e2b7d985f5d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023057f0fd32345eb19c0f10abed4aeea39867b38197c70289a482cbdfd5a217de21ead20ad3bf18619e86ead6744b9099460230344ba0684fdce1dc8fcb680cb6c15fa76d6ab0be2aed37e76c8de54a9940cd4466a4d032f006746364d71dad7ccec9e30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cbb8bf1a66dd0aa8329ecc9b6b86932c020b7ffbc466401b8a7a648d76d6fee92173381d47057513a0d4e4364aedefb202302b8b139b65846e5571f016719af0655ac63dac0bc7688593ef213da41c2485cbbfac700d8391eab68ca986ce578dc3420302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306ea60d9a5557774a70f45e33497127cbee631a6933408479035bc6d9f8a35cc2094826bf89d35403fb965d8973a0e9350230564bf73596f8a4ecf3df737ad86178831759e3177dd9a3a08c1490b06e326009d2c5fe4d133a0fd99d03bfdcfa8a31790302047c435bb500663064023016418bf092ee947e54e22d78654c322d20038e58b50a95bf88b93d3dec75f55f2d4167a46ea9a90bb960aa7886f8af29023068ebea2d80cd1f4595b02cd3e6770408d8a3077b170b8ea0eb89c14bc2b3f341f67a0da604e51da8d5c8019aec1855260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023006ee527da837e042d7cea58f8253100f2b56a4917451766ec7cdc1af14df71bcf5391b17a4bba796edaa9a9d0b601f7302305720f2f2eee7f6bdeb6818b38d2f0890303e73325411bc2f97513f7ff324de6840bcb84dc925cbe2f3060390ac0924e70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300d42e47f60544564111e0e9c5af0137e8f5433cb7a3b05e28a2a19dcea498db94bad8e455b4b8fc5d4cbee39f2ab01b902310087893417616389e664825a95b21b66a4ced76ea79dfffd95e2697fcbaa6c3d4e7be134ed98511b019fdf42272fbace300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230567e1254703bfefa99efb9de50c9cb8499f532a8f47f67657d148659c3a75a98816172bd1bd3b71a68be4cd763f4291e02301f8245666348b48b14583a77b81ffafc947fd46b50a4eb3b5e8d331adc089e93fc6fdd5063b7cd97c565b71300acb5f10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009794ddf3a470a85f64562cadad3a350f2fcf3bfb669b36aaa7f3a2a78bca3229a1586f29243e7e44fc13148d04d79714023100b2f446be29295353eaa1b0f7fc7cd0e80673dc311722f75d9ee76825256c3d013bfd95aae5377ae6d4b1713d86034e830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023058b0f92cb6ef080d7d038ff926d29732ccf794ee47a6f9ccddafb0cc462b489d905ea4b1d0da36bfa351ac4ddfe07b3d0230739c84412f9216c51c714f6b3e5370d81521e4f31e8228b8b12fdc1b360f7887c9810794887c8f110c8a1bfd867140200302047c435bb50066306402302cb621c741b5c8922318ce8544b110bf0b7ee4b68b12e82f37b8aad1bbf1a6e8645d4152beaa4ca5b98babd0660b5299023043b78049237433ddef39cc569aa5270135d7f1d1d2ac91a10bec64ef981234bc77b196923025de6b3e3987f71f4d36ad0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fa63bdfafcfa15950f7ff9e22ca953acfd3bc1059756770daad8355b80c6a5464dc51375d35144a2a945be4f4f18e11e023100b91b4139914fcbfbc86e64953c5860cfc0dd88cba28dd3d06e2200e6e81f18a78edca4c3faf0529728f023bee4e8ddc70302047c435bb500683066023100948d41b96660d36a9c3b8f6d70e96adcf7396835732865088ab23a19a2cc36e67193de6d64d66772298ff005ffb9772d0231008d1a504d48d965a04d90f6ab82c9da55c5b06cfb37f1d2ed88bca184d0515fdbe0b4347b44e083311cb888eff2d39b9a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302b05837023223a68e6bb9012077bbd895580806f783a64d7be3191aab4a6d8fd7d00bc6bd317bc866a09412698e60a06023036e2d0efcf62a0cb3b7ac6acb401a0d3257896a7e53915bd56c9b553e49b7e3e0800d19b1bc289006b2299498feb1d480302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305b2279caf1061b5271ddb2fa7d63f0e100ad8f76d208440e5d83ace66e1de1fbfe5e343c8ef416530a74f0129fb9086c023100bb93b3a291062c2f6eb5266b52b3e5ddb776ef4b51eadb5e8e07c897b06f6b8461c8275952b42fc9c3db7c26fbbd58780302047c435bb500683066023100b6997b5c57b8b9fd425f2029116de8c81efa06363a49a273491faf93c0deb56452ea4c347c8db576faddae91f8b09502023100aa464fa0316cc6dabfc8fa9395ce86dccce55c380c31e9c290df50e1bcbb15ffc89e24f5255be3d36364b7e2c00cf3070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023050b82d39142568eafe8af77da724a460a985d63e33c7c6498c02fec86ed5f8c2962fe4aa56956f6ba60204a75aca882f023021835857398a8dfd8af14cf3338fa1df5978c6857c63229f061ddcf09f08b638a84e5f5c5feace64addfe3407fe013e30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304fde626f253a224d7a53c83842e2ed826a07f763e4bcbb5b354d84ee930a9cb211eda0977680ea202dda2d9e82478933023100efb8d0f3fd5b6c73bedfcd32cd92178b4d722c068c6b1ec809d3716569325a1fa9527271221cc7fbbfbecd1a778aed590302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023053a5b8d21b90f5dc640dc2d8439949e668b7dbbd2183aad8176ba497f12650c43815cb1884cf67f444ab090a283fb24702300e62e500f971238e0aa40974a6f449300c55b0415504562b6851e9e9eec67d743c03d6d5ea8d79c9ac5dcb0e94219c950302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304a373d3d25482b6d4a848e633f1f16cd58c4ec7f4ba133efc6eb59d7e92e59d0df37dd61a10017318327c48735faa389023100e1527202383ecb53bd738cc4add3432e09a6fe7a42b6ef7f8a6a5e09e565ea102352ff6b432cbec00f6011db3aba08cf0302047c435bb500673065023100b3a1c0364951a6e31a7e3e37fc8d9dc0d14c0792ab9e0a37d99267ebd31517b32a67ffb15433ecccdf4e68e796133c78023078753abc7d98f1634eb8175d7cf93750f3c368e97da0e12384c556ca754959df6c8d022ba0525798dba21df19ef6dc400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a445da2829b92d850c2e930daa6f8506ae502a6165de44b559d7c180ac17abed82e84d59295d3ff534ea73727f41ec790230654647afa85161a13d9916b1e74accf92a7b5fd68583be9fad7e4b69239a08abe09089e9a7e6a74e1dd7abf562d5a9890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c29b2f8c61e256eababb4d7628c693c168fd8b476413f25a2bcf31673f6d957b3ae7e914b958177fbdd318191b0aef7b023072860a2e2c1c41e77428fa787cf29a33689e7d4a2c32b3c4c556a57aeb171140ec6816e67d69974e847cafda288dd9c10302047c435bb50066306402300a0e55ccf98f3c144a4c0b808ce56c7fc8e255713a6ab16b1d073dbb4e30ddc241e38d3403efa857a378025081b5461802306b8e8fc32cd70401ccd0051c12449dfdba0f911de990849bf7de43a5e17914c5cec9545f630574c946ce85b55dbadebd0302047c435bb500683066023100b363d13c46315060bc576fe3f729c6671fce9e387f4b8e6051020ae5e54d0ab89ec2fae78759a2b83b4580b427d117e5023100aa2816c0b973c2b3c8adba78f3d3cb78df105defbc60b8158d9162ec64c1a3f70a6b838e01d43cc08400953407849f040302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023028cc2da69559694e3d974c22b9e70b520c94a76ff4b4fdf60f4846be2c449584858f221e4a83ebf2d06958dc65d27d4d023004b733fe3b53d26a8036fcaa5c5508db76d199cbcd52681eaca9afadf98dafa1adcf1cd2f2b4c4d1db693196a0db15560302047c435bb50067306502303d585d94c128ed0e3e93a8c21e8bddc14b69afdf3a1318295e1a5dc7437d0b0dff8bbf0a9675fa2a3af52c1fc1a1c1ad02310094359712ea101e6ce151ba86c44e838bab6023768522e764ff0fbc88ed12f79e7f552a40251d58faa572bbcde5473fa50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100aec286799f6b6c257a3c732180daa7f6d57543dfdeae91dace6ca76ce90bcd4bc8cf777244b3a2097d2e900e52679d9b023078f11759ee121f59977e57066c1caa2488740fa70e5ce1a16655a0f502fc1412150cd5a5144392b20481ae34423d296a0302047c435bb50066306402307dcef9aa4006a0e222cade3bea815ca8546b3018635265df286576d289c75607e9c75db5a311609bd74972065947bf9f023066c40ebee8db540ee684bfca65f7d0306dbd1d83efb36365c034f9c93baaec69ba062c7dd0bfc0dae3f1b5f6c33ebace0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023067f617ca80d0dca029bdeb27add2df56337b080ee87b73490acaa2270f9954e26b3e7bdb158175d770bfbf5a445cd03202304ee6f8068c46f4c06363dd8dea991fb493b0fff5f9f9ff30c49480298275de6456996b4def0bfd37739d579954e880f90302047c435bb500673065023100f7d1c6a92f8e13d1353d48ad24b96672bdc4e5cc00da6b071abbeee6c9e67809f04d97d64bcc203ee20ff7413bba8ea9023042c2c489d53ca15c40485a70be73705cdb3fefcca2fcc0b1fab6fc5c4d0d91edb21342298ab220ef994e534add2111f00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023073a898d3ee3715554aad850e6c175476a30b2420e43f333c8757d05066d3b89702689fc32d84bfcb7e06cdec0375ebc60230654c25118a8297250702d973e9983826c0baf6e8d40abc7c20027f1f267c4d8cd7f281a5534d778ad6cf9d09b2c2d38c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302f5510eaca88e160c35f5d10f08c4ba9f21b5246fbd0d85147de91b7bc3556d87e897d2cb6bf08f0fb39dfd4fba4a4e8023100bf047a1c5e06d976c2b3f4b58aad7566a28a91cc054fefbbaae6e6b95d9eebdd680242b9c301573452e7748439b6af890302047c435bb500673065023100b222136a1453c8245bb3fc1910598fbad2cd1ee653b9ac9cbe7486d687a8ab77f4a60fdd75c81a4cc35a94878926b9c5023030a3633f46048b01e799c395a17cd48205b8c5526604eab3f589567815531d97c8dc2dd4d91f1547ff46f14588e788690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b0b708ac113bbc0b675c75e4008953e2baf9b6c7523aaed216b677ef404174878d0b0069c7bf07ef5bb8a0e67884602102303e3ad547f6890b58432d50f0213ab5cf1827146ac263aa9084be21543539057c3f4c35ad7add07a22dd22a16da0909090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310086baf98ec5d56224e2b2e4bf45e3d529e9cfd1456b1c35415c8842d4ef86b7eb8688ca730cb89773bd492ef95ab993b2023100f1b51d4500197b7f942c9fb5b36371d674e2a51161bfd0a3f122d1a06a34b6b6c8ce98d730a34c0d5a3c95e018022f0c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500653063022f684763c24004fa1bd13d347851c26cba502eda391393068b6a3b850ae3049faf22ff52c8b2ad22f8ee76391470586a0230309ef033dad3c527e333b5b35cdc8348020eb3d106ec6a6456365d7dd77951f4367c61d92185d49f7e1a0bf2a23cef0d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023027d7ad8ffaed0f8b14f4ea4c7d09a1603999085d7cf6e81fe17c3cb1f83d4351f73c675b95d8f7fa0e02c8ae3be95d760230137235672e16e86248cabbbc4419497e659f4213da4011281cf73a6e42a2d21c0a837954ecd33b0df50eeb33949c1cad0302047c435bb500683066023100f61172cf843f8cd5fd01847e28d182d37c1e52542ab4f99cffbf86046654c9cc536eba2a7bdbe9cccc994e7be79e473b023100ad8c9e135f00b9446b8a5f412aa1995bdd3e5091bc921105476ea596c5e49363a1dfc0726f190b454bf1ae84cc37cdf40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230776232327e66a5ca52f79a1686a14dbe04aa6772cf79aa6ef124c34fe3a4f19fe61478207970b79d63844437b1a50410023059544fbf63dcfb90c15df53afc1f5618fa0652c6b6da0efe5502d977f5e76bc59e01bad77b641a54c80376559513c7c10302047c435bb500673065023100b3e2446372f9bdd4370e0a5ab1c19fba1d22aafc1c63ad66508686b1a0820358751e20c0bdb3a3588b6133080e20482c0230725e634341e65d65f40803b6c5ddba770fe44d56afa347d66aec85ad51de1dc25fb908f88d1ec98e44cecebaf4a7e8000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230145335e73b3605d63a7ccbcba41aad50572fa10f9851dc26866721e05db9ec7db5683cd828f2338b7233307ea8530e0a023028fc8f0536b4326f5f3618cc0355ad34e1525d9bc42e186b931fd1c1fb49b7e2d37445537d22a1dccf8141bfeeac0a9d0302047c435bb500683066023100caaec3cd068a5188118ff0286bc796508666cbc88668e857c1a22182a2e92196667ab56d89bce298b4d801cdb9ebb3d402310093f759a70c3ac1deb4c682a0f5a57a2756d42d00f81514032ec8daac3ce2d906a1f265d20927a9a86bd8c68e19bff1740302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fbbb8a37aee4db8ce4afbdaefa30d85897cdb3fc928a42ec89602fdd63795ab239a0005af1114652a1dbb1868796933e023100bba96d184183237f68b41834feab1f30dc2d771bfc26ae14b67917350ee238d4e4365d63722c8dc6270e57c2f998d4e40302047c435bb50066306402300b80e2bfb4e27f9e00a1f7c16ffb0c0e5fa2aede5a6664bb27fcd49f8c834f2aea068b50d0ecc718c4f62c65cd2b75de02302d1d1fba5614f04af55c6a69dcac26be6d502d73997c2244117391614180ad542bdb30ea0c1b21c235bfc7675edfad000302047c435bb500673065023100b546f18e5a200b423044c54328260666f794172b78d385ce1159ed7cc4a277fe4e3dc958dfaeb55ddb6320b65391196602301a0835fb95786965191bd747633d2f8ed02ef719f9a0f808d04b75376891eb832a7f7837f83f6d9a77ef99c9a328ccc10302047c435bb500683066023100c424a591f20cdc52d423e0a5439ee966bb70acc862f6894c05659a05deec1660fa6f21f8357099a7a5db2d73b7e76660023100edb365859be0eed223552390e8f2b7b9b0565ebd57a55c970246cc1bf386b9d36eefa85552146e59728dd953d2ab0d070302047c435bb50067306502301410a094060e1ac1c1bb49b599b100c70d2ef4367edfa39d2e22acf553c90ba865ea9464f6c2277ee20924b00e2a4f42023100d6b3d9cb2a79580af20633ee4989eb584d1d1c6b143adbe8763fd600c37b4ae6737cca6cdf96ab77e3079b82a5badb4e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300cb998519a3cffa323974e15e0ea05168fde3549f29781180ae20b2d6f0dee142c05f90ac8b216fafbce441204c809b7023100c717bd6328c8f1c2fbb2978535829c6e2aa25805fab6ed30103bc6669f47c2e087b3a3687f976adbabc0559eab4e98180302047c435bb50067306502303839e758fb3d80a406d63da3f075bd88e22dba73e44176598e9eb76126e90bd965a1878ecd743921182e2b2f93760169023100a64e0fa689c0410c6a618ab4e71d3fab1e84304b977abd163012412af400c9c2599e8008bd1d4b9a2c7959c2c24d57d30302047c435bb5006730650231008c3864ee3949ce0998c67c8234507615cbae1177b3b88ab1903c2b72834865608aba2b7bfe5cfd31fd85534e02cf2fef023012cbbfec7ecc729f03cbbacb33055fb47bdbc40f3fad13fbf5651fbebccd051e7d366463d7a0106756d9f078dfb1c0940302047c435bb500673065023100b9047614a2b96967636378601c6ca5f28bba96b07e1cb807d8b046e8c7b44e9473b56a1f4cfba2ae86dfb886d117f93102301934a64bad4ba731726891d3fd8a4b520d56d5ce2120416be4025d8b16e02045240d3ef5bb6aa0f317581bd45694c5fc0302047c435bb5006630640230012d62c5a29b054e3a344265b67e49460393cf8e89cb4a88193e971b2a419ae005fb3fee5fb7b34c0a04a21ae6b22929023069e3a6a090b500438bf840110fb32ea642a0f5493eff50b43dd529bf4c5e7f901c2df9479df744692fb61a0fe7a584fc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a0e585657849f3d4d17422d281a84e91492ed751ef3bc3a4f7429776e7ba13ac9b472e41cbd912bb1796159922da63002301842fb75f7c08d1bb21aa3c717e9f38c385242d98e4961f2a6388a5cac65054c99616a25332fa3b659c6ea5afdb81a060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303716d739505b7354c25e95f96ec517d2bbd5f6c369e1e2a3a6aeacff4392eda5ef3698f94962bd90cd5bb1c1ae601570023079a8974bc74feabfe99299382e1daed053d41f50daadb08e381e2dac99d2662d05f966683a671e908c51b5bc2ea7e46a0302047c435bb500673065023000c2c3916a2bdbf49df40c2a6b97b1e87f3b80d35bce3a71b75c8a638b2b42fa4139e1d6c2b6a9cd60f440eae5c2bc7a023100a7471acb51e061328a0718e114d039c8f782932d68c95ffb846d3d5c29560ed7d00794cfd25a8940beadf5957c6742d30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023056eb6eb40a6b01beca20de1fe761e2a469ca7b1b21ed7cc3ea7019498547a21a8be07e5fa9723b56e4cdaf28e00109e2023032c28a49ddcd74ef4dcd27c374fc2ec714e81d85f0b8b3952da7a29e8f1c1b05f4ab1c7945a9ccc8974377a647d408910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cfb755fd041dcb6ad8996b411a6c025432421db239ca157b81913cb68a21ec116f959c7fba38bc5680b7c08f37d6dae1023100f07e7c6c871b86abd6b92fe98626fced66cef43356314cd68979fbe7384d6eeacf976d405638dd64d26ff65b1caacacc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304a1b7aae035731238fe2b48c99e25ef265b4805c0459c55a8e7d87302219c62a89dc3388a17dcbda7f305479f5e7ec67023100da6954b51a64e67d323c6714650fb160ed66053a020a2d8a51f80d8e3ccacedbcaa43af366aae914452e82954fc9db7a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301fd4d94885b82b46129767a4fe7b02cca24525b6d7d4aaa5d488825a131d3f2304b65761288944a37affedf2dafd983602306f14ea5b626363081b4f7453f9b89dc499eb4785e977516481da6073038f25e71d620d1764142ea29fdbfc7a85d774ea0302047c435bb500683066023100a3053fee592bc14cd7531e0e4c17f61871199f649a12e225393122e8895fea54e472214c67fa616ac816d471bef6e9b3023100bea048093c184f4a54a44891092a8a2b6ff311a03881460cfe14a03ad1b034e846ca7f1bfffd81d5123931fa8fc563630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023032d442d55c50f9d3ce51dfd231fb16c2806ae7dfce7b8a0e9b78180667f6ba47db2237fdcaf83f5a17e943b6098672a3023100cc53b6ad74e7fc07a325fb0ce2ae406deee8f55278c66ce270a7f25b7540267de3eb8f75042ea4453ea4198f41f75e940302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302d33f6d9b4702b731d30c2df01950b2278dcbccb76a4ef8e9ddc2cc572300f88b770b0bcd6c6d480adf2a4059a76f3240231008bb0edba026658b9fa9b1574099f184f09d73e275da2cc420b2b3de8a3ff0db24113bb17d71dfcad9307ec6037b9bf7c0302047c435bb50066306402305de3c3f34710d4c3d2ae97111ee0cb8c6ba0f3ca6cc228359908dcc20f98cbde641ecaddfffcd643fb94b337db011f71023022c75c726b80f36d1ab8aea9121f8cc91968dd59b39d8586fb7af33635a0ac0bbfc550d424397705744ad348449f8b3a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306e849b1f1f4ec4c2420ba394ac1ddf7a24e03e057f518123ec56ef9f0645dc28cb4920466d6308c3e888e149acbddc9e023100c02b777d6ba4070000c2ea6c372d3031619198fc224d8858882b58f55f1f732b18c72fb4793782bb75412b793e4b2c590302047c435bb5006730650231008c4fe87aaeff472027d9dffc0fb6775bf23139b1e9106288faaee9ce217037cf9509bef9c1a6246a6365f9aeea34acbd023030ade279b7358dcdc1701e799aecb1fadc27ab45bf8e3dba48f7c3672c9d07cee11464593f3875ceef3dcea95b1a2a5a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e5f9323abc51f06525befec1eef5d0ecb3af4e4f78227f86ca74495c80268c49afe998665af815b14ccd693d9544269b023051dd14dcc184ebae9d009b50321c6c3cd70f32796d37c94932a52c7fca8a9fe7b548d3095d427addac44f31432aa7b460302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100965900ddc319bea7e3c2dbe9bcbd3db89b3d7bfd0649def9860832d70ca2084848dc179b3647360316e349d61ab292280231008a7679ac1e85c035bde4ef8bd1d7f0e032d0f652561542021f8c8bf95c2f207d5c997a85719a2416ee4a59328ae2bd8c0302047c435bb500683066023100ac22029cf933b7b106b969ec67c76ce235f8556f57cddfaac6451301f6e83ade5848a4bc3c2c04373228368022dd6f27023100a2b7e101599eefbbf07c2cda9565711d735e8a2a735f99a352c87d9c3ae04f0b2da91da2f47855fb5b82a36b9e97ad080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303df00a8fff82b315fdc91beb280163572790de3bbd6e3a0b67a4c00d5b1622ab37963623217c1f01bb92516dd2e9ad3202310099312dd1eec261cedc494ef2074d8fabf74d2ce39f6aa0581aca6754418bcc65b842d28f0fcf6ac76663c931b51456b00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ba117f52511a7dd9311a4ef6f83fe86b474375d836b1ca48f9c0cd114c985ccfbd692781a8e181d07e1cabeda0f4c0a4023100b19975c859996c799f989dbafced6c723e36fd16e5b733aaaac6b04bad855a512b3ef7fdad84ed15ae58d975a48b11030302047c435bb500673065023014ecf1425dd7c909480ab798c25856280bd5b0d8e33d66549962d134f7bc4f635a6fa83a6ea7b029483e494587879a7f023100cd8edd77fe576dc91fc1630467346653c0b3c164fb0941d036ee756854d88714ae526bea05972a7ea123a532c4075f3b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008a3d843aff10120f93eb4c7399352033a05fe098c1954ade4b3f73c4f6375db30f290f27e042c217b914529a2b93420902305b4f83b50b44dac24e1f9737e72441155cb1debd867ae5ca803f87185ad9f9f092393321488c45cfc2f5e19138bf22720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302a159111b73a8595c8fc9b6f930fdd7aaf1bf9acd92851455c279e156fc12ff7d0cc8d4ba475f6910b5e288ce04a0750023100e8cf2925e3778dbe2d280d06dca422b3b2d1e712254cbdef7533233a5bbf6b150be089e1b58aff0896a669ffe4c0040b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023078d5980d09bb50c0a18e4b83991dedb49eecf32b8cfd4e56e072d8e2c2ed83c609d7b041540d3d96af6f8f5954f46851023020592cbafff5c580446a001568938ab1b9d09c0c9e3ab3722e9741083951b5e22d103cff838f940c08eeb5c0bf28c1630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302e9a3e551d9b07987f6bee9640a0c4dd851002acc08fb80d3e160711606a702c7cb535ad807861db2acdb48322c6228502302663eacaf8bef03d75cda7549ec7d12bb05da68854d1fea4fe19d94d9eb7820d3b988a4679d754f8a4c97356ed4d107d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d2ed416d35b82927c79aa0ee150c28b796e81bda954570d04fb2544aa2a49aaa2d31b6392ee2d2e578c0a17cd7aa9488023100caadb0b62d760da364c824c3d2e84e08a40ea8d000b2bdbe16627a1ad52bd42d6891756944348c9e8c0f2da89095d0d10302047c435bb500663064023016b341128086d6443f7bc2c32490c3d04f1490aef1c5498856f80716f1e4d8e6650e9c0cf58697960283e24458a7612e023037ef3dd90d75254195ac74b0219cc3587950ec076a89435e3223a65c9fb2495bfad39b26ed031e20a2d97d50ccbabb900302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303ba96542478d59683a64cffc3bf60f5f46c9be79c98748d34e9e56b67f14fa2df74e50284dbdd0db436cb841e3de108d0231009a1ffcbd0968f5a083e73b2a63744e8579e3b45061e9b16f4af54fee71f575cf97201446be8e8355692ae4e1839dcf070302047c435bb50066306402307866696b62abe474c182f503fe5c5b01283d221f6cf8d6fc2f46e689c0773514d6e6f48784407a4503a41690ef7fe2ca023040b7c9180d8690ef7476e98ec9bd58603c7070e908d300b0b252094657b7352d252cf315820e720b83a63ef12ca2d5b50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230556dba260c7e220c43f4c33463cd89f89030d93e2b27b6512beae7259c871f2fa9f67abf9dbad1ccbdf125509495d341023056e83e8f4085bd68eaed30fed3fa05944d419cbc8aebb9cb05f4a43480c79c841cfa1acf0e15664dde08712d355b69a10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230635daf5f9bb353f10c683bb00a0d615ee09ae5cf960da10f175550d1953cdc839a0b975942d49af68e85cb4f70f3638002301fb29f8eae607682e47222d1db9b756182f4e91fc649721aa7bd9975af63a697fb02164eeb710ed0f1f9b587854fa5290302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023045663a20cedd92ad1ec49b37e5b0a3436c28659c319b6074aa751ae307fde29bde39b7b06386678c4bdc5d708c661fd7023053640df6b9188bc081b40f1f3097c14f760e48c8db865f7881693a381af0c648d8bf78336f5673e92844b7aa0a31667f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f4c5f839843978f21450a3ce79a4f1a94313721f49663afe112ab2d8c1b29e922bb2bb66e82dd7cbe85bab0da43e9d9402310082c98270aee625afa2e4a002c2b3dda3cceb5d6d1fd4f2c922b49425f5c20079a688146ac2d30e29630817ef8641f6690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306f8537896ab540736c563b9b7fae86473092a93f24347b9b782bcfe301d8a792f60cd321b9adf4d3953198142ec9e7c502305a8ab4df4384446ab22f6a06e71f79c6691ba862ea6600f619c2769b2c17cc72500000617ddc20f7eeb91b671a6eca760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310091a8fdf77370e77498c65bb2b4d3ba8f56c96895ed19f4def0f6db4f4a01f9aaf52131ead6d360a53943956b5d2be13402301e25b0a3d043c5c53148a2f797b807e3373c1ebe63053b6611d8b33ac0ddbcc351dcfd12b4ac69e7fce5cea4b3a159de0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303addee7ce65d9a698f65153e70454a61d274a2385dd6ee14156ea2b0a08e7b6900e6d9791c5c3c34dff673e70eaf4d66023068ceec97cb8476b303c294c0cc2b904adda5b15ffd9aedb2cc26a67f26701a64b9fb717e67495d97bf04e56ac51af5e70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a5cdd8eb1e0d37adfdc857e380c51c94e59e04da6ed1375811d8f89c73b46db35de7b2670e587997bf72391d11fed628023100d1a7530dd9b5ecdd28fcbb1a71311b85218d5daeaef4478dddffc0c4a652b764f8cba4a71324c0217e194113c38851890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023041dc24872deea38b9341ef8936b1e22fd9688e6211fdfba3ec8302cc6a5e4df3ced431b359cf3d08e72a8e47c7a6e08c02306a374f6a6ac96de3209afd02f96c4e1648669a7b4a8ade2beba78bf759fc93ff70d24c5a94b9028bb81c6a488d37ccf50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bdb958322eb5ce1847b9d13f0d71ef95b1d48c5a77f3266a0696418c0c601a8f046ded3882d6dc0da319e2f67616383f023032f57319de79443bc778c4e2ed9bb446630b4a0e897ec5e5e0bc9018bc343cbf00a2e9fd7cfda6fa5161ec25cd7e0f570302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100efc6f7cf951001a6945cd3c505bc4b0adbaf18000fdb0032b016e740a515f8628eaa39f850648e5ad6ba8fd71584e1ed02304d7e81c0ad0d2d3e5c5bec4672a11500be108098ca650d1c0c453ec4c3a52e5aac4887d9407cd6244ed7af1b5ef38a3c0302047c435bb50067306502305647982ffee5d0e10dbdfd3a48e834964f74a4fdfb223e642b6519096d8577e7a3057edf5c39e35b339280b80def9476023100beb86a0f5ee4a2e724655140dd1bd5590d1d717648262292216ad2aee1af4e2ec4182d5322b1174b16e324cb52d47bbd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310099cdbe215bd962a7160b0c5d885d94c35bd9aa8d4fbe2343eaf92cc5bbb22d45b050050cda56a21f4fbec64c695ae64502307b38abe4ef6c76733323fb9f79789f934f4dd76a3ae230fb195e8a87542bc163303c0e51cf8e7910160449bf6d5a1de70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303c74c20ab052206c37c5cc4805d14ebd7080c3701e48ffd6ba4efc8c9e93b44488697b287ba6025d0c5162435764e6a6023100d0fb11d1c433c169c4b0052b3918907566275f3ce1aa88f0491c81e0f2769f44b4dd0f94666609e6ac195e2c7919ff230302047c435bb50067306502302120aadc17226a86123c6849c536402c430c25f7823823d1a235772fb40ee059e3b8e98e4c93d25a825a45907bb0fa0d023100a1c7e6223d1f1d45c51cf40fe8980a8138af7c3cc8bbffaf8b887bbc132c5b9a978ec8067f4d390b8b405729249233910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009b077d73fa57b302eb967843f2a064119e28eebb95cad0faa6b3d748239320657ebde9c15d49fd04803cf7b9f48bb117023100c94fd2976571915d694226bbbbf91ba891db521838c96d31324aa9a883cddb31ce2c5f00ffaa373f18e2fee1cb04643b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a9c37b71de127281fd4769cb981df5bcf35ed9427519b8ef105350c4247b8669a407a0f912c45d07621f32505a921413023100c97214bc18aad473f44be0b1794f9c3ddf14a3c6d5d4dfaad7582d35912f0636f7c3455ca73c13fbf10126c23f5baa840302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e16dd8c4024f5eac26cbe0b496edda6b6ea17c50cd53957d3e488d96b1c4b0348d788d1cfa64310f51579480d8c51bc20231009ace54ed6c7f0507a0d1b0a03efc59d1ded43c2a99bba84a8207d1d56c621184d1fa3b07bc8fde1d7fe08d03ebefd6c40302047c435bb50067306502301f9202b6491aebc4f24a7314c41cf73aa57dbdbbc03a3e147ca11b193a349774244cfa2989cd0c6b4c54d971b17d5f18023100a24a9497fcbaede4c0d7f6ab8dd1f4fa70df9634651bc3b430e52ac791a8b5a9cf2f2cfcef7f2068454d39f9dd1854690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310089f6f995c5523742e13b15a29c1284bb76eb23bbad68c15b3447b06c1c725976fc7466906cdbf8cdfa50f86d9cea994f02304178b5dee5b447cc5e3e682d1fc4b3f3fc457f3605984df99599aa0868ad2c46eb1dda7decfd3cb0732e49016d89b1c20302047c435bb500673065023063fbc4c731fed03b4939c1d21d3ddd1ff4e78f067b62b9f0b9bc20e0b2efb167f913f43b27c7afe69c335e83ec9ce4a2023100d9c541ad755f591fb44ea3a76637f9b846ee4424933773ca17c8c28dc2347f1c40901c45c8c09a989cffbf1268971c090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306d1b2276cc6c9779a2d4bc8b93e256602028b93e45553eecf01a92a094f65eccab1318e9368955f8d21a3b7ac3a652bc023100ac640eb301c46500275d3fe0b3ecca4eb3f38b328f0eb3d9f6c5d164499ce87361114a54c2e5eb3bbca5fcb49852497e0302047c435bb500663064023003ccc1f9d9e979fd426dc910be249be821e76301ba64a15d992e94aaebf5811b4e6887b826b882d1755eefb6d5124ac602303c3dfab1d1839ff8a9900b68195ce7b80de962856c8857595fda74fb5fc0de4f5bc83a747a4530bd76b0286c8dfe90950302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ae6a2807d50fa113b5fb8d661efc842212a86eb793c55edf592e49b75bfdb55583466b21d67a9cecb46e853e97eb31a6023100cf5ff593eb4ee304fc57354212accd1a8b3071f09eef2f60218c868a18660c44e1940117637466311b13598bc586cb830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023071f16f839e6670d5085271dc50e9a2911c197cddb57ac0063a2abfbcbe57bd854899867fdb6f83702b717894f2a35f4c023100b2891cf8eb0a29530d0797a383796ec061bd04387626ed527e60fa31c77a1e848d29db3252df533c31736a89852e06be0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300cf225e62515faff6c89d09186cdf1fc0de0704694f9c35e8f2b0263a425a960d65ed4232f226332d0cf68bdeca575a3023100a7b12d4106a290905df81b3d764f621eaeb63700f263328e204a5a74c7ded3760ce4bac4477bf28b387ba1026a7d7b190302047c435bb50067306502310083b48fae5fd48c1cc579ba8e50bad2c0172714cf47f77b7f2c35be99d75de40660eb0e9f0243a86b326df78a5a7ca9c20230032f4c0273e96df707d179a3fad21aef1357ae4348ad48c0b8c044529b46555b2526f7e7a4b97bf5a585ede4e0ea1ebc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b62c62538649ae8e2a6391ad1513da9d3b5b0ed68f6054c8a1b10e3cfa8b31856cd8c7aa65ef58603e94dd6a6e298b2202307aab2b26438f894f2f6bb98810b19ee10fbcb7122056d5e747d069b2182b4e63ef3ba7717e80bf06fa3f6d2cdfc3419f0302047c435bb500673065023023f4c4ddbabfda11500751e187b333696b4880d16f9cf128ac1228e5f53512f6870cea1deaf8550ce4ea32328c4fdb1c02310099048400e6af3b472f6605c123901fa081c003bec55a146493be4ff64ee518fcadc38637d9c4884522fc9f75e4fc311f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100af8414bf087eb27ed8429fe0649aebd2e4698f3c477bb7dc965f49d0cba074fe83860adb9ebb31dd94991c8a9c11649a023100f2a4f4e6ba79396ae1d068b836456c9759ab216b274a4278901cf31b2e147af1abbc19c3d07349ef022a045aa3a7f09a0302047c435bb500683066023100f4af248e868184ae537795749a3239229353dd5662e10a2e4f6b1c33d46852fdc3afd35c0cbaffa7dcacfa3fa50f420f023100a4b5a2a9d4d174ba7d0c605c290a3c838e8b8f1c849e02f8f92a850888de4852e121f86a6219d9c674be119be6f04f6a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c2f372a08e57ae69b296fb2531b5ab77c35024101e3cb6b324e52945a94d7f00dfe27fba49d678ab44ca13787135d24602310089f5a4df8469660e8b7052f69e36c41f34686681618f03f2c16c7ae65d01a95086a8cba08f5ff15dc67362bd08df61760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307e3a125160d5436bb92204167c93ec962a716ab73e640fdf7f0ab487fa5e8d46dda7bd849ba428b5fea58f4b1c181a60023100a29d29f31050efcaf9c98b863090ad2ff66c13f776c0629ffd2f4cae4824a6245a24c84d19bbd59b451b73abffdd0e500302047c435bb5006730650230308704d3ec1d78805cbb27b49507a0e4dbee2459887fba9439d1058f26ac84224012410c7c97917a7e8b9ddea6765d7e023100e34c0c7e968b9f2c261c6560ac16a3ea962f4264acb51c3f2433241a9f90785e584ff3b5ca4d9cdd6fad68363c5838910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100945f31d145fed5dbe1dabccfa365cd21bb7e0cbafa922f3f08f57be3020410188fb0f45b9afae4838567fa5656a37228023100d58af84ec518be5a3ec09857c301176ac0a8b31abb2b94dbcba4343f6c7d8e494a734fa12d02ab5a20d836e601111b980302047c435bb5006730650231008a245eeaad1debd80b01380b6b0b7533cf1e6d951858f70f133c573234729561a0909a13aef34d2a6b8041f81428e95c023005e67171bad2ad0c9a7911b31598d3f98a15cc47e1a0e9737c010fc9fdf3866d513a1255e59acc944328c60817d0862c0302047c435bb500673065023100a23ea834b1790c87a58b808a0e47edafa2c353c1478fe69195dfe9db0ceec25f4c067126299e9896e0c61f6a178d0b1c023078c1d098b315d8e4d01fc8b1d1c3d45d94f593423553796cf4c21c500abc714d3a1989f5a921f28e14020776caaa29b10302047c435bb50067306502310098e2af12185bfcd8a22677be85367638fbb4d75228abde278270f761c26e2485a2503515d45a14b1ed2c261cb368a74e02306703d4a0234a0469281351dfd6c315fd86a42df4d19b0d780f42a741af1bf4cece13c288d0e27946ec1e4d5ea981cc960302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230035c5ecfd3ca22d7e8a58596faa176eca61732901326474c4645d1a7a0de5b6e5efe8dc83a33931a374904e6798462a00230536ea0f1a78ceaa2a55ba1dca873f8889a21ff3606f231fb5be1c00838bae3a54b335a3b9b2dd9741f4dc58bfe3415af0302047c435bb50067306502304e6afc78551c1841e9b7d2b2694ac3642066ee0d935a19ae8a6b522401e4ea91dbc8970a784dd6f68536d8504c3289b002310084faaf15f704f929e2a30d35a1d647e12f9a2fe9ccf4812f93381c947853e873e322a2e5b67d83e76a63511606597c5c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b6ac985771c01e8a8e417ebd34ebac189a7cf93ff2f5ae8b6c36499fee1adf314073ce8d7ea9db7c9137026cfa37f70d023100d9addeb54d8dce5477879abc3c248346fa3fc1625b3e73cb08fd5fdca10f2fed8b51bfe138bc8096891156b3e6253da30302047c435bb500673065023100a35cc48e1ecbc7bcedb7fea218d68f523785900bb893fd2f69d86da77aa6a1b318af51973a6db46c821df114e381d526023063c792df2dd65599fb8fadbf4abe717def50e2213768c7604ef4e63ffe81eca6cae849bc269baa44bdfd6f84ad9c06000302047c435bb500663064023058979849d5326c1e2b2f55063cdca515c3a8efe0f4c5af52547f9fb64bdcef379cd7f4ff057f558e318446004d55d2c6023009625332a1713954bb10f453afba4c538b880070a4d425a9a73c945d823667db02f3fef12fa8d1281bef021c00575d9b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a4edde8b38b1a4a2f7cba410ea12f7d8903d80411dd6b58783a9fe4bd8d89b0ff429cd4a0eae4fdb33fc65a36f589a23023100fea31294a10af8ce5b885cbb72c7ee9cfc6802daae6bf96d0a3f827492b371955e1fe3fafdf5d2dd705d6db326d0d59d0302047c435bb500673065023100dfb381875a3a0c8c6a084606802c7b28751d34323a7f5828d5d38b95055367caac4857b784cad3c0931c72b4dcaafea602300306583a86fd04da4510232e28c79d4500c7b100e1959c64d6a5696b65713c202cf71c89a39cf414e3808fcc60cbf5b90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023069236ba12e8416ef2398a6cd4e1aad36059cf81d4025d546f34adfe5f28e639a0e98522be566a768a5d9a4d1b911a1ce023100f2f0631a47e92b12d5e1b4d55c92eba30036dfb483bc9472aef1a816f0f63f6d878f63da570cd02dcbacc0fc72312e500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b964aec9b8dad85e0d1de2ddb6cc8a8a63af70c015ea1dd2171d4e4cd4e4928b03953f80af2bf11d82805be5e37feb3c023100c0ddf8dab196c1f0e03735fd03662bc44c71f4bbfdb4810d56736292540da2765de551e208c49dc3819c1d89ac6169a40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e349a3b5cb894049ef353c7f9dac2717b082346808b49ff8e6cd00bdc439c0913cb7e63732040e206961c5dc79139e7a023046555f7bc82260147693feb60e7c0f9144cd019b1a7d0e90e90e31005d2b211a1143466539445f5ca3c8904cfb48cac30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307eee11843920573b8df5e0d1d0bcbef9bfa5f761657fc5c76bd023a57f70bd2071962872c103eef9db6d9e74c2473c7302302e44bcbd38fbaf296e9dd3d132ede1b5a88f4bfcb4d67a15882b577d99cdf0edf6b25a41d29834c9ece3b802655b8f080302047c435bb50067306502310095054d9e34211b4669b945a32495b08b7fec012476ae6bea0b9ea9d0b352d7c5450d4b925505bc657581eb640496d9b10230096c6b2391378f2d16eb39c6cabb6db524512c107c6109bc9c926b8fef96c2e914e6d2124639adf87bb3e412ab2c0fa10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b179a2100929eb91c7f38b86418605920a378850468d648579e9f949424e33313ab64ed62f4c17a5923feff56219505402310099a68cfa94c7ebcab924e2d47dc1fedb35cbfcce210da9cd891241449521847d7d0709b611b2422b1bbc9f2c6f4ef8470302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307038a535403f51000c863b883a05ab2be70e807c946034544d92ff37a8fa3f222bca72be21055c1abf0135685673d1e4023100db7e0b25050c5dec9a6c48dbda8ff96b3428ca1a3c228b9a4b154cb6958ceb1084d9cec1342ac497ef03983225289be70302047c435bb50067306502305db7b59980ea8712b44a71e00d121359d80709209fc7af9ede25405b9ee2af773ddc3b702bd845d99920a9514f75325e023100d199196fafb9e9788a6cec79ab7308b3f8afd7530c8cd103efaf09134467d39dd96a49f7ea7deec3233a4a84873372b70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023067f2d6ea38a3e0f4ce6fceec3460514e094eb3feab6499f1b313479c83e97ef3c5fc116ef56eb2bdc344cf447c8a7d0802303fd9a326af5af1b36bd73d00128e372fe8d9dd8aaafae740fe77fe9b90e33110d2b1712bdb7d2c3aa13ee86ccfd9e4a20302047c435bb500683066023100f93127065efad44c0931760c8524e4b2e1d538be06ba48d12bd1c1616027c17a0d04167bdd6b985ecf5d18cb73f46dc602310084d4fa9191148780cbc7c2f41962e791851fa303b46115c77bdfb765ee4ae3f0031495eed7ff79d3d8400287eda7f4ea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100936f95c8cf9beabde9aaf597afc4c52be7e78607a317a2c821a371e983e879bc01b26a96acfb82101b2fde472361adde023045d4e1277a18a8b8e4d81c0b788dc60c5ecd2077ae501c7ca950344d28af3616484627075f9e95c12f66164b5d3ef9250302047c435bb50068306602310092e95b60ac8f3f8687aee04d7054b258a86dc239d6020c03aaad3687ffda5bf6ba469cda9495f7fe477bd305cc33af5b023100cd117dc4100b57d14de7e926abd03334bdf105162c73921f939dae843fb17badffa87ee17ed962ca36a6d579afec27900302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d736e918a35e0347411519864c2dee72131d6fbb85223ffb948ce8c9652a7c0ec2d601a3f8e369b81a8e5127da2193a1023100eb055d83edf630673e1adedbdd7af2d0057775646ef9ba2e7bfacc17d8b6a6cc315ef43f06764091b8bd964ae5e344580302047c435bb50067306502300bfbf628792df2cf04510f9b2e397ae9f3d6440556d073ea334493b52c63a6cf984406e3fc86186748097ef5b5f536ca023100eb8125941648ec91ae78d46b87f0531e076fd17fd7814781648bb507d49eadfe6ee30cc6ca844cc622c6c0cf274461fe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300908c64fb8acc76709a187e9b0da78803c241a1b0b8c5dc7fd58931ceee5c5d29405b9e44eb948d69b3ba4bc32b690d102306c5c6d304f940bd52b9148c6713b0fa4d6844a5de13c0371c72fb1931aa535363791093c3b2663c735df5d248b3513560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023032b87c845c1bce62cf53cdde5cf4cf68d4ec2369d8f77d1dda002de20a9b67c7bc1985f88cfdd470b42202fc52575773023100fd0aa5014f433cff8ecc8d70a4612b9e51ee1f250a4b172b9a77b2e2f82e7a1491876c23ddd45c3edad8dff0c1f14f970302047c435bb50067306502310082a55837f91a632b918118cc98877e7a668e44ba3897e63df703dbd3eab2ac2260636d4a6502a49ca57b7f19436e0d000230619c3cc274019ddb9287fda3ca97b79dcdc812f7c04b4b265d6c91e3b36d2f487960073ef410a2acbc912ecb4b2f1a010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f3e913f9e104c74680ab4e2a07d26578f96b5be19e76bb909b5e61b2131fddb56163bb00b45da924ca8b18ce15222414023100a5f90113d14b242d140e7206b82761ded1967e1ac276e4fac2f2c3000bf396b4dadce6966b942ea6328141368c8cfa640302047c435bb500673065023066c2c66a95bd60d00a869bcdd93140269cbb837a55861242e6bec8c4c2640b38657f371abe52ffa0473cec63ee2107ee02310095bc000ca8b9e694be5daf8e2964d760d2f567d6c9a524b4f9bbebfcaea93e701e9de1de565bccc4362a7527913fa3b30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008c3f3598f27e362bd1f0de017231a98eabb527e876061e495a549b16d11f4ed6f4970dc948f2cae203280686dece46e9023100a511c3fb87e9356b064c3160dbf94e7eeb15c9d2ec4be4aaca462b7c667c9c1a5de3bf9ce3f8aaac303a28e5c80a99120302047c435bb50067306502310099163996d6d9b73e828d7433d531115b1ef0c938641b918031e82876f4c088797212399c0af9e8c4e529f810288096df02305d51c5863db969c9a293d4f5a3cad66a371046ce964ea321e798fecac172fe818a14b44a2de7f02ab6fd851f1118d0e10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230417750267b8a5762e540b9b344be9b0a89708582739999b4054e32bd49b5aad86c73e32ede4d5ef8839477ed45d50a2102303b336f8a7dc89c87b3335ab46950d13847842b4b4943efc4d6de3c32701e21ccd74fa326b8b46b8dc415d3ea464e23450302047c435bb500683066023100f261805046ca582719d949869268d226ff13af7acb00e3a1a4472b6952591930aa336e32db35e24538b867bd00729ae9023100b0cee9eacee86176a7444d9e2e0362f71a586c7dd1d91d0f3f013b1edfbb4c1aa517edc15192874f1025c561aa6c97b10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100df3495425b983db0af2a3c98c8ee1d098aaa5d7cf9fe35eff88c77faec14f047498568c1753077e3d58bf705c1367142023100bd67a125e74e8b55c96f6472394c666e9013a2f5e26586fa08264154950d84d3f842809041b51bd878068308427c0d3e0302047c435bb5006630640230137a0cd26d370a08b85e975138e44f32169a59e89cf13cdcf3d15bc2a635bc9d540b6bc6eb6369c96085bd5b1d08a394023078a1a4b431d568fed17063813093f31fcac53d039e0cbe6e61e56e141a2e2c9e73ff9ba992310bb7341569702c0397120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023040d235c2e83d52c0728f5f779e528314e3ed11d4c65e25c1705dd685bc9183edd74a1c1e551e7007bda6237e5e8311f0023012d6b3717d2d5732faa8dbb9d97eba1893f221551fd97733a8316ebca2c2ff2f769279c859a474e20c46fbbae81a9bdd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023046c6238e0bb06d96d8774dbb2ae24a4128879d60e2c6dc79c39aa3156ca6155dade94b6b2f211c4397fbae795e15540002305cf370a03b31586067592bde48d9794582b2ff83cc8af0fdb6a2f11884ef03bd683da245925687dc7a457d0485b4103e0302047c435bb500673065023100a169baacd585c0553cc1668366670e1f74cc17520a2cf64a4e3690af6b368f36d6c4c0e08640bbc683d230ea3a58293a0230662a96d76f26646f6f56f476b149cafbab83000c93b3b71d010c74dbe5aacdd88e74c986d5d22f8d4fc4d9ee5408dd110302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023072ab3f0bc84ad49fcd9563d93d30632adc8973b04e91acac50b8885494eba7b2ce663c0d9537864bad606f298688fb9d02301c5b9ad16c3e8fb5d49fe8f38dbac87904c2f2de07f112036e3605c88ca7568e378adb4cbf221ca744cb39333f1319970302047c435bb500683066023100931fac60e0f354d995c0a1fec579cb65a3ea1a1b1160a2d7fa68871c5372f33122ef17f42afa17281dfaa06e8a1bac2d023100ddaef5d932ee2a62f3a490f9acda91dd0aa9351a571f6a6b3aeac7ce0562b10ee6fb3cac4872a1da1a5d94afafd42a5c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230679c3945fd7e84b248bd6a3d1077c32d361ebc7d2624045effc386a97d083b4124e3e46f41f4274e6295c52d9b2a064f023100b13b403e6486037ecea8cd1548121178f2c707f6761c5514a7eebcddd336b04902bbd16f2c2bdd3bf2d6f5851c88a34c0302047c435bb500673065023100d970bd51a29cf8ed19f773d8b03ddb7cc5022503ff0187314c9224f7f22a43bc998ae745bb95441868d587a809a2bfab02303d377d8ea7b67362104eae99f8046cb3c13155ec99fd19ac84ab949bafd593e11e50b7ba9bb5a2582df575d46b89434c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a65e85b23be7b723d2a9e5fc0a4c198bca01f05e2eaf87e9a2cf6819cf92d9cdd52a78a71910fd67862b83c126a907910231008308f968a6568217f28a184ad275cd539e11a3a33fb7a3111a2695421a0aeff5d55ce1b28f893aa4192b6ca63519d19d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023077932cde0875d80e3340f469b33416087a93e28957163316dc79a33aef8eaec9cb5965a132d29e30a04ca4af129e3c5d023029dd4671fe16e403f1287fb217a58a715893f0612129732194e9434e22c32e97646a847c118258863ba202eda04fc5c30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304fe20efc6a2c4303a309599dc643ded76aae67d25ebeb2d508f3d264dec2088cc046446427aeed8f51ca86c154d6cd4002306efc37a37f5897a04e7a265fe25765b35fadd186a9450f62cd87a23339f4d48e6c4c761c12a6d9bc32f48f77ec75a1960302047c435bb50066306402302ae6b7136389e2e28c4425f0e42e9ed981142be21628de905e2ce297d85cd945cc1ee30d1a7b4af98351f95091643c0902300e35b9e9ba56e5047f1f2b410622f6145ece3f6e3a96180d73160863ad25f9b61c13d72f461a901db16b53736d142f0d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305c163b1af408a5be58f800582110f16206d39df32a3e04be31757f115324a03974534f73f533500329fdb2aea34dbd7d023100d1cf07717c9dd819bcb485b8dd1df6b35ead2ac4000297fc214d95f733def4e027304ea69f19f1c7bb1c4493fc4addb60302047c435bb5006730650231008151d734d20c9cadd5cad1443b47bf9a53af8ac8c78655ae1bbd0b3a3e621c35bb58fd32955207c4def3ad81bbb268a5023027bc6d7dac82db207d2e9943a4810bb32bf23dfd7bb12f9d96d7cf5da0be91cf18e670b49abf12c02ecc5c05321bd3da0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b0720f10f91d4f671d72341f403113834972d84e9bade6c1ff834462ea51c21ddf01d3ba11dff657721294f881df3b50023100b78c5465b81782d7966390246a52ef20e1c73c96db4d28d5d478898c59f6fe67372feca27aecbedb71d37667d1b921ca0302047c435bb50067306502305f241c00609e38f01bba1e63076e30201309aa3bf1f6695a87fd5d989dda14db319329779b9d1d01ba08c689a6159970023100c10119886f0599b06f447bde8e50b0f7627b7c733a8d7a8d1528052010f814dd6d8cd012c37307b64d051d7bb00bb9e30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310098c0f2e8f75d609826917837e3aff2bf8613b04b8422966d072aacfa452801a7e49b630dfd7eabf678efed6c191c92f5023064906fb2a2f7405196c63b34034d5b71d207fdaa4e0f5e87fa6af5ca05054de09e766483d9329da0739e2485a45f32b70302047c435bb50066306402300650d1ed371e927b7c3d12e526b8c4d9873e0384bdadf5d73e7ffae9384608a7dbf9d5fa77af09c9d550fff6a82a74a5023029a03b038d8b0a88262db0a2cc55b9963ec64f82cbebfe4586feebe6f3d32fbc783d91bd5e3bb9d817e5144090e489650302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306740196b0185afa8f2619230d0364b439065ecae50d71c56c2c50f984ae0bf9ba18958402c26e640c7e7888211a2f28c023100da80ac51b4dd326ee97ca8dd04a632191638d5618f55f69400a33a7c9ad60ab235619ceb579ad33c23061c602f75a2520302047c435bb500683066023100f77298bb61c3f6b3130a65630d12dcada3e131d31957443dfd2a16bb51f6b5fd69edbf120f6b3ecb0ef829545f90c827023100f503eb8334fec46c6adb570fad7a95255988bc261258549a2894344d33a1a95245e27bbe11d41028bb13faf97172cf680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301f785e18890b4f7a4c41bb0df98f2308aaab14fbc29d039f89a7703608b0287d0f36907f82217705bb73debba9c0913302303e5316d794f5f848df88293e64823f64b4d1fe3515f9c89d131b25cfe77bc294a6b6e7ade89c81ce0611d6dca19b43780302047c435bb500683066023100a6154d99995c59fc131518a68ed9f308eee7bfd9d694697a8f3d2af74566a35ca8f06e1c4d223aafad70606b6e92a034023100de1c3a4b91542c3c22e5aaed511d3b79e1133203990e4bae8e3283cb7f3fe7b20df0d44b98609df4294ee6fd884a43e40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008e1dc2885c1aa530eda7bbefcd1e65edceedca4fb30200ce783683cdf334cc315dfc0ff1f01b7ebe6b0d3e2e2930a1f402307c26b1b20327f0d6eca03e8d30d601ba73f7778484f7112df7485235f2dda258cadbf30de0440041d49e1d5c85bf43410302047c435bb500663064023004ee3363831769ea52f82b868bdc3b86f5e9c646b82bad4b7b45aec74553ac864542cc737f55d6e6bde971fa435e30f202302274a6cd123b7e9c5e4cf66f287ed039c610cf50e813a802eae9f4e955dbd3a15296437cb6e7b72b34834c557f75c3910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305f70b657a6995e57a0d807400e5b86a5888b3fcb480e14c12c9b7a2a773f691227f13032403e7f241c3e8172f7ce34170231008802b940023983dc542671e759a64d23b44e6b38420212b9fcf7c98f0a4445a23e3b68a0b6aa217b0927b335fde199110302047c435bb5006630640230196d30dca6910f7d518e90aa4476db8cfed65e5d54b329f5c30ca5b5ea795f94a02b3115f5199b10cb618a0c80caa12f02306c870d3861ba4442681dee1aa6da38b47b68d498ea6ab631d1164c2e72264687a075ea1ca4b731c861612a2f51d62a550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230659a1d8f05944886f3b6b1885e5ffe33f57ed85a4303153b311c2f1858deb3b16193dd6ccce38e3a1d484a4dbeba5a5002310097076ed1b51d42514c33ecc530327a3caf015e33256ab2502499700ecec1fed3b7a5bb7506b195c05bc18ab5a66bf6390302047c435bb500673065023100a2695092637c7d6c6ee3c2f6bfb4621d9bedd2234dc2171868886015872fa0cc8d721009341c8fbdaee940ac6785abf702300b888a8881f71728df73b0b3c9cf2ddb916a74390d89f81c85c446f2ba1f93cc6299f004ba9a94ae5d87bef17b59ad6a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a5da68ae866ebdddd5ee2839a946cd5e97fa111795918b7b702933b85c86b93f7a2034f0d49165a6df64f6dad6aaf9b80231008553f58211020d4b917cddf2a25ed1ce4bafeee5ce55c762e5310f8a64f1b7a0eded380a9987836cab00eb80f388369a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023068a3bd60ad63db335627a1fe3f37112fe0df742c7146597fbe597ee5abae5bd3f5abd01c3b0184984267b67f81ae668c0230224ff27c0f1b41619273e5b2d7fe0f6a4192971da928ec3807c05de953a63a75248e0cc17a9e8bcaa6db9d6ef85752eb0302047c435bb50067306502304fe97c8acee240404019cb5cfa8e4496b6c88164ccdbf8f6965789b2bde4f148c464c9dc47c2791ff62cd673100ad315023100c61be23d166d7674a880995bdd3d6682bc52a67d14cd0658f7e37ff2125bbd3157433c17cd028095b0af7ba8a4df52a30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305bf55b98d1fc57cfb7f3439cc5808753218f393b4900126065e9440cebaafd59c31afd95ad56baa7a42db1e658fe03f202305b283254d252f686560abe21ca505d9ea1e7903476894af2b5d79e899e77805a23aabde5e4ce27b08a6ba6bce78b8c410302047c435bb5006630640230184dc40894ff24299e60c66cc4c632fe1d79a5d82b0bbd359adef64e366d28f4c2dd0445ab9254c6c93b634df5457e900230799a2fd0a3b29c056d3cee400f23fcda386e7d3bbf440220fe99311bb0804293f55d901ac0e5dd4a3acc8e6a512d5a810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f3fefd6b01bc47f133ca89bce9aba1c2c52c58fca553b9f8b907bd6ff48328f041688b745cca40e6ebbf6de4aa9f36f8023100d4aeaa43cdf1ae528da20da5cbf9cd3eebd037e0adf159abee381b88fe12559474e74c3d531452cad8f4b129d6b5ce3e0302047c435bb5006630640230013aa5f19a94f6cf3e844ecd823760d99ee6d7dd41465fa72ffb03cecc5f1c81c8aa9a9ea63602a1cac579eaf5cb785202304cc6e0409c87a2bc7d49bf81fe91efa80e814d1426c77d85da8253d3822cdf7750969b331a6ec48882b46e892caa81120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023052469f5c668ef7cb384d6c6ab426a1c4c74f11404a5503b2ca752173cca9c60610a4942dfb5550924ea843e4f9d6ef3002300d8d3dbdf4a90dafcd9f8bb3260cb69151ea570f31eae95ffac99288336c63c57fd95476eca5d2aa83dfc83c3459988d0302047c435bb500673065023050c77421987ab647c893a90175432a5c458c0eeb0a20e5b18a8693e80dd2d73758ccc364aa625e22a49e997a11cd7465023100bdb6dadcf60e18a3cf5ae7ac48742287302fb26911c694038198f36083449cb79786e67d05aca0b057688965e775ad620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008b577c1ef75dac91ad8a80acc877281cb92bab0c79b899cc13b65615118a735d128f8c4f3cb39835ec28b5ded1b967dc023029bac5c3483bac50ac9c6aae889f21765f18bfb0e344f78bb0ce8b32faee708141a2a681a3e6a6a5a68eb35e2d76892b0302047c435bb500673065023100ed2ceaf2a7a75313e192ad06fb8fa43f4069c7c57b36b49f49d82bc6075e6c43943b04300ec38a231fd12e02ae086a4702306e873943e44ef69c8bfd092844abcff5872d1c4d6eed950fd1bafb2fd1a04a8e7b937dc20f4c3a1966916e4f44c421600302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023060db0213416098f50bdaa8be01fa02918a4628c512e4a19b8a93b69cc8b2bf534052e7451f20d917d315b83ed552069b023026a34e9d66ef46cbfe8a7ab4a083c12c77915267c48bb78c7f99298d789f89db818a0f22e7df1389b1474b986e163f3f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305d36a6eeffff8adb62253c46228ca1b1b308d4ef59277152ad1490f0d7a5ea18ce1f3a267f8b9e96c9d5d0377166dd80023100f9b727daaea377e8b196c3ea43de1368df381f99aabdbf54ba85a51fae9a4a8df69a99bc698879de042a0817c24c92250302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304efb799dcf1370bf9b852ceb4789dcfd1838b45c9ae9eb4cd4ac52a0b917f8019bc5c09525ea70894c174d05d5a5a59d023100d34956b51d17317df77963854880808a666c797afee95ac95f39e9757379721f9c8fe1fe04bcb9f4a4204607c1fab1400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023023ecb0da350654aeb159a66d1e99ba367452daaec49e2440ed9d738e643faee6af9241904271fddcc0ad29a762e27f12023100f026e08eec5ce481899cabb37f032e2690e6d4f7410d346ee174558643ff6f25877b32a40ea057f5ff1e71e77a8e28100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ab0d4c36cb8dfff90f6e165bfd8589a51468e5a6d7e37accbfb3bcd9d9d4c75719014e6801d52fc79fb7208adbab9f2d023100bc1ae244d5fb0fa0eec5fbdc822e4f28a5bcb520408f791af11341486bf60c95223be77a1ba50bdba7c66e2a406f68430302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306dfde3cb881df5a5d001f0440edb0715159e2542aed74de086ec67f8701fbaf7a1235d54c8c5a04dee43c8560b69776a02302a083f38f27f2651c1d70a870744b6b8fbaccc97059efdd04c78ef05bd04e615da00d785725ad40fea5f3efeccb42be50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023056fdc35060c63df5335755389d4dbf51780e3f20b64f465384fbe9ffd51fa09e528a35541a7c2a160518b980b87e421b023100999af59e0dc0fc46c18a966d98a84aac1d7c903fe77ee4736de7b0ce51fff37aedc63e59829b50b0965937d2f3eb7ff90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303c245e3a0bee4e0b59821349553db49f3c0d90516c7282cf4802b27dc506750134ebe066b6172e0d36281d425acf7bb0023055fa0f130ec2462ab435a1cc8ff3e3b0d042938838f7e31589301e63df5e98226ea455d967bda08be684dadc4156a1a90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c87504de1a70b75bcf5d9abfeee2f564361780e616731e5154a6aa87a69d7d790feb8dc8a27af391bb98c95600a455b502306b4816695c8a221532abd95cc59425f7a6d796d24201a9c85598855c9455b7d5fea8d552a3a7c19088d30f08ad43478f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307b58a4a966e5df3e357ae795369432a5b1450999598088d9e46058da348f9547afbfb9e372dd75478d64c4f5b9279ccf023100e8661ec3d1310a55f7255ec237fd62f3b9215885524eb06ccda0ce2359ed626cc9808e3d86084888d7004fdf01e8af8f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230402b77152209d33f5fec0c5737ccc75147e433d795d6028411df0830aa300ae9d5160fe18990fa2a4a3c8129f57c6634023004b30e8b4d51492abf12e29b5c582165d5d57e490daeaf9231b37b15244917a536a223edf562e05590d4bf16430aed150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310086e883d14894c362e8d0fb9894140c0c103b1d56d82ed3b5c24095bb2ca581ed01c7c165643121b036374f96967a4e2f0231008f8c03d7ee9e202339d5bbc3d28d667585b3b91896659504e1fc6c2110277b631796146a1ca746b2f7d8141c69de0d120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023054cb8b9ad9c5c3a9eec6ab26746a126aa3c44cb3aaf9802fa641a67b3ebd85d5a80b4c13b2a3304fc194c0ec628aa385023016dfe56d5f623ce93cf10bc9b4db2071358f04ede1f050910af505cde76d4c21848b94a77647347e5f9df00e12011c690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230031e01d541d87d446a8a36399e96a187979eb22a45939be96102c2d6bc52869e7f8ddf86308c6c1c0823548c636d4763023042fd7e1b43dabaa2281055e275a28ab9a3dbd662c7e4dd42591cf537bba5e2a506f937ef7c8afda484d2b203e0da66dd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b0697e6a92d321d79274c2fe46e972d8d65928b4899208890a6e4d7c092f3a191a9a26c80a7708b0bb98363b1cbcc4d6023100e88093cf2969ba14d5f5604ee3e0a46de8209cfc255bc4f1e5fcb3e92aeabe0fc1b9eb4db49b1b480e55eaea9dd2aaca0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230139ee3ef110b89bd21a3183b72af0d4e9f522004b1f6c4e9c3fdaadd1b979b04796cba81693fa7812921c6196ce53743023100f4dda1b7f52f3aaf48da5ad941b3f6dce3eb90c77349e661c0d9324ca75c5980472e9d2cacad1f266ff09470e7bcf8cb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a14ee7bbd077ea56abadac99bccec4ef81756f82c64dcdee0a89d92f0e81ba66955730051f029d685c6caf21621040c3023100dc6d89935154c7ca34ee275bdd30cd68d7ac4155d899e42850889cf0bc217b9e792223b7955dc04badb8582107f2c0f70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310098081e062e391aefc02c04ef3454c309dfd5f0f4567fc5222f19ff1ca6ded3a5a3794fb1af381ccb14530568377bfe7e02306211878357ce1535068313709575a2ffa0fbbc75653519dc9b12f7715f68e46c574963da9de8712b9950bd423cd7a4d40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023076691cd1107fb5fadad03a40a4e7586c7e6a9fd7e3dd3600de101aa238a3ee306d2ac7dc68865a4b588109898a4b7a5c023100f502b6f9644bb43a903c2b5c7a42b82fc6a77013efd951514a5f925bae9c2b8c2ff6bb9c3e14d37083b1739b4253dedf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302d5bff91c71d3826cd153ed4b043f48020a48f215c204e073832d73833aeff4ef7d0b4b71712e32fa48c1bedc8a45e5202307c52030daa2ce27bff3657e50417f7a5e4ec61ed64e1ba33741adaadbc8da52d93f0d7de1c44385f17cb0691958f1aad0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023065c085dae5f3af829747b570952f426bdd73e6d241f0d8ecf8bbfd9bdd18c6ec063e1078afe80524a4ae896f35a05ece02310092eb615990d28f29f72520cd0fe69c80fc78d6d0dd4ccdf3b481450d28df3af9c3c2b77a953b24e3c2739f99484dabe20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500653063022f62794ad09df084e4b5fe28987537e1019850f75ef542a9b8190d48d4de2e4050a21aa31c3fc06ad231eeeef241e9a7023070d93d5c73a96ff1e6cd1a1249598ce228de4271e156cb1ca81b4ca1c064a12aaa8c5c3d09a8b2ce6a9ad034fd31be310302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230458eed291d854dbee71e0ed4b71514be617e262085044b54f984373efa3295a20e53eda51e37771eac979bf42a4cf7ca02303d2fd1141f7194e25891793adbc24bff210db6eb1a1b6106e7b3131a9b60138a17731b911b44ee18604a8937a89048f50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306cb2451f7e5a79efb093d10069db1561d6c1f916d3d698ecdb23c7904f7e746f1a5a1d93beb53425eb27ff590214e78b023100eb0dbbf25adf94189946d5bd1d048e9782b6fe4d0e0985a545531a1cf79800587f42aece5822cdfa9e227c02d887378c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304d17256f78d46d9443343ca35026177312b44ab65d2be5728625f7b0abb070cc4ab1153f2d87be9c04a031e33fb8d9cc0231008ffc1b81cda8c562628f520e585e4760c8f621e0adb6cdaf8117c8dc5bb8942aee2b79e939d5b933c49846d660b98aca0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230233b806de852415a535c7030a3b47eab42518ee03100843fb73fe0feb8610c4a0b6ce24fa5e37ee14e88da6cbd8605340230747829c7c27ea92af6c28535bab499f682d927c1fcb24b24e88e0b46105a460d4327a7271e3ce6188d25a0b6146222a00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230333ccdd351f01df064407c0972f91b6a3c60e325049c661b938aed6e94293c59116e8102ae7a0847345bd07a2c6b597c023100934270588325de40935419f494c4e8e226344365f4b18b1ed11123f1ec071a5304261d9c72a3fa0f8c81d1cb205156520302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ac6c89b4d8f894982d5a7e1dc2a60473ba9cd85cc73a68891dd0cf9bd40be50a90320740276fed311143acc02fc8ffce02304eb6f6d9873061df41dd1a867a82a429b85f4148d77b652781c06d89704eb3ad13d0767ae34ffd4071cdca0d8729c0ec0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d9aa6e924fcef8d49d1b2eff4eff228989d16204deb9b2c47fae0774e805c7da1c3ef5dd4acafe57107347c9f8f74da9023100e7208f4967200b65917d53a39102290d0f57fb7f98c3e528d5753d483d8f4f545931fd39a7649d64461ea0b4ced051810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ab9a91b41c875eea6a72e14c12ae21875026ef144fbe50fd5a5cf2fdc3ee398574c03b749db1aaafaa190630d645a08d023018a35a537087cdbe7661552a76d9302db7615bb1ac5f697f5a5a04f864daa7867ad3112242b13ecc3316ddeabb9cf4270302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306243e5e59d4919a6858fbc4f2c1961ec6b769fa959652dc0941e5037f0d3ac9d2dd687010d61223d34d71d102f3ba26c0230121e2f5c5ebda2ca5b7a8b2fd17daabe4dc7a77c7cfee0261d46d9cbedeeb8d81fbefa6285c2dde57cce0bb7bdae44570302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305cb2012f82c5328484d6ef9791b514ac04281a93092bc09ada958dd74f700c7f9f5facd12e1669c894083094e76629ff0230211379c0403fcd0693a1f3b1b4f997e20b6c263a2449c32921c8b369948daa1ef35c5ac77455e0b21b202f780823a21c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230534e74a8e5dc618ce3ca29149e232258c6ac01b6d666c47bfcb33cce63d6f3d97875d91adb39f7af060f9132cb17a12c023022ecc6748dabac5829e36b80921d47a598d73c7d6fa2ab126d8bab3f75ade661e916fde860844bb58a21998b6024b25e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310091271fb9f13f0240df640832c1669fe14ebfe9e0d9a6a37ed2e2afecebd4b1abebf812638747eb392f40b9424fc4ad6902310083dcdb7881c6a44e5fd4f34c4ebc6b489f05e8391b15b637e14ce4eb5eaf5efca9b960bb62bd58c42a0eb5aab8cb64d30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bbd6c219bde9ca2734d4f90e379b941f3462f8d665834f8258828ede5b65c781f7a1177f071586e99d15c50f952b2667023100ee0d47d4c88ea757cb7089e49f5191fbd84cdaec15f6383823d7bd887a12480a97f179a60776b7d0862e21263bd9260d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c86719ab8f7c08cc3988ee307c119cc74c3b4a638fc7e4a45093dfcadb97314848010707a4640611c816df6cb19693bb023009711eeb0026688036fe4e28168b89775bef69bebcae49af1f770257be3760cfd9150c36b9dea343f44977e6e7d36e7f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cae714e96b67007d233d2534cb5bbab09e0cc82a3b4ac903c849f8431370b7d12d37ba1c9099a28fb476d8072da3ebed023100f31716bc3e2d64285d439787255c241d3f3cce4abaadcc0c59b35d36594711c8a27b7f36eab2a92e916e388321cb09e10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307d0dd5e9773ad5728080899b48f135c050d00eba9f6136217e3a087b6bb5a8fd93528ff47be2e84826b801928417f675023100ae78c698497eb8a45d17dc65f925c730b5830cb268b461d65707753f6e7241e5b40557f06d3cbb439fcea5b83e515c340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f41221c21b7c9c5ad7801201c2990b393e2f0009fad7224f886910e7c93b537f7ebea15ea0fae0f6ebd4f581113f175302302cc19de7a28a23fb1102714fd9440f9b1a20120b36c0f10ee28d06937cc95b28b6a46c9c666ee0f7b44ecc218451e97e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bd22f2a9e54a4f178e1cbcb16a77c086539ff47e76078f4e11af7d9c7a47d882f0e9df1cbd2995da7b9ae6fb97de872302310084a443de33da4c60f4f9e8ac8cf181c54649abe27f7638b71af3e28c78d72dd72a287142eac3f85ab3ef5da5d5258e680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303d5d8295e219acfc8c30eac3973e18cad5dfbb3c0a92115befff1489127a845286ff6c53a102fdbfca66d453921153d702300f63ce59dec07c7d47cc0f091c8e9b2952875fd8ae5f09c6b839845e5c5fc13bbcdf2dc15ddc9c21d233e9dcc51b43190302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023017cb86b134a2b816d837b438dfa9de98ffca867228451f04a7ce82c19f9e9cb9c29b1c14abc9192d8949682eb40033940231008eb92bf2d04053b02d940ed1c7e58992dcb851057d1f6383304cd3d1b77f7a7d83c844dcfe40636e716793fc2693ef4e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fdff520a8a599dfe47be8f642afea984c4e3defaceb17ee3a6551f4dfa50ea6b14e32b0de0883aa2542212b4f3e779360230155c69025b2b78f34bed835245109c861ae247ba739db9233c0c7963f6dfe945a779f62b8434ca72ef70c48777477eb10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230787df52caaa5b5477ad7b31f65a6259203b830e8adb999f44096b0a62bdc19a718be7d29ecf68888cfe6ab8fd2e7de70023100c7460efa645ec765af9b9e3405ad814db0cc91333a0433009e982f83bafbf1749e856b491f0ea4498402465d012cc3690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302d7bc2d80d9faa42196c99cfeb0a0b4e6da751a83b3bb7de607e98ed081839d785fce3eedf84b7718cbd437aa890bccf023100b98bd31fc8e83c2d9b7b6289c5d9cedeb0a2a78367e539b032bae3ecd9e85a521a1182170c9a0d5138d5f9074deac45a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310083f7286e3466d05a39fdc9d6396375da89a211e3244f46c7cce0cc3bfc8f4eb0036929b51758b0aba01dd1066f9a6fb0023061c42f9020535c7ad7b9c1a7f4ddea30a3019e8a780979278744e2b9631a790e4701427ce4411d2f1c6021627e2bfc690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b7cb96e80669618696818ebc9c630497654e4ae8ca16fb98dc0724784dda03b1d7d23a093e44e57d75f2183fe9c079c40231008aad2ddea8ee8b4d3afc2f900972c298b2833a4c0877e46d0e6f57597ade88b5af3c320a2360081e289f61c1c80035120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b1355dc66db1f6a5977925c303cd97704b70ef47439d3d07ce7447951ca98c218b10de1379498d80aa1e1f6d15838d360230174fd3b61975350e15594853fbf2ca89a362f2f1a63846e545c4e628e04ace1a86061d0e48a60a27e1c57e51ee6ec8d20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023054c7069550f33566d042ed65e123d9ba47a6b5785fac4541cab0aa581cb35e405a2dc8bc4b5b6ee2f808d392cc9e226a023100e24dfab285e2102293d9ba64a76d537bd4ea23c63182f5dea268f67c893e572564525bf53af2c3d2c41186e2884602bd0302047c435bb500673065023100fd93f194c5dc6412695895240d06a2743c5c2ae7a71d1a04971054f2d78b6b7c0adb0b612b3153d9fed1b0200ecce04702307b0febbfafbd56acda07d2fc0905c33fffe6a7e71aa1aa41693429d34ec416cb7e50a598472193c30f8607e1085f6bbc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300cbf879d9681d81ac18a1c8f4d4ac998b8c57cf40e2eec5376676fe673cb6c2b244865d962311f32c3d3d2af271271e5023100a59a0b6e01e4abf5608fec6f96d384eecd9acd66b63b93e3a88373cd9e3675942f703f6591183cc62eb4f08571fa83c80302047c435bb500683066023100d2bb861404c31042cd67c8829c79ac9eee37e600c645c7825b5ba2b1b2d1cd21f5e3fcce06ca6660a3467b0404533295023100ae51d6ddfb882e1514f977c57e2623224711bf31b8b298f0ed824e628f81f29d416232d10261512cd29fd490c3ff98400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230306fe9d6a206635ee93b317c370c6e65030a17e46089a19357824547297b9a7f55a5714a452326c010df0943c991b1ec02306b8fc2fe684739973a0d173b74fe15862cc00dc42a7007199884bc1c75ac7bbfb791e1ee50ca53a7cb98573b8d0f616c0302047c435bb5006830660231009751255e966988187bc8f6e9fc4da5d1e7063e383863308bf1e2439c012b026267e921608d35436a37bbef622efb7c480231009d671b6f552c1a3808849eb86a90140fd36d89356864e741c92f24c62a1325ec6307249474518f5e510102b4bb0c6f830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023036c49bb1aafc06f113f23cfd895bd601fcfca52ea091e1fd5b8662829a260ae780825db4bfe858abcab667d6bf3fac500230102de38d6b97f1c2c6076d78c5c0f740c0c547f710bd2dec682667ebfedd80db815570af7632180437c46be43e52f0ca0302047c435bb500683066023100d26dacd5fba3c2f441c12bd62417df2ccb14d54937f39230984f4f5af1615eed0a3eea3f771efe5c2f097448fd26bf27023100b3b37b188acc5cee419c16bd93edfef45f87846e015b42584de5dcf770a40e1e1eadbd13aef2a2d9443da982d498ca720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310082afb97da74e5324962b42c4ae13035cb43db58c859e56f6afdd03d9458596b8ad54713688c91ca291290d0af4429d8802307636b3a5540874b6bd08ac2847acf5d652919e3630a07148bcd6c829b680273db8e7de0ece19e2fdf2415875c4ab6a980302047c435bb500683066023100c5e537f6c03b8ec8ef41e1dc198a043142ac615e689ac6102c26467b07389fc4795698400da6d16a2570be83fcc621ae023100eb7071fc478283cede9e1a0cd9ba62c7f1542b6b526b04d69c79de80870db46e777f57a4fa7ef14eaf6712566ade2e290302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dd91ef19a6957f1617aa9a10a91982e1da649663e27915196860c4f1a9ecd0f1fac4c5eeb21a3d1d3f1d8c3e110714810231009a20447941a80d6f581bfc5971c381c6f847f2384b7beafe0496e589f32628f70f7fb1647135720df39f530a576a52dd0302047c435bb500673065023100bda4f41557e54697c90385179980ffdbaef8085ca8c213a5f8a7ffb5c597254b41db81560a1e83736e0daac6fce5a4c902301e58941a6882f5826b83057396caec0d575530b9dde7f26c2e63a906cc2f52912fb3df929106fe7840080bc295b54f810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023052f884c6631add77eb669c7618db541049467790f623cb572d24c37e51300481ab1d3d2d317fe0ed0c2a76e4075ee581023100f1ae0adf937d5e261d0bafbb532c0f520efa6186185c938aeba76ddccaadcb352455dae22ff2d3f2e7c7ac9c2827fd620302047c435bb50067306502304530260dc9da8d418a5620e2cb2e09b44ccd8b43ae5894acc06cf7f141034b5ba5fdd3e23b813c1c33423ce0db3bf3bf023100b56995dc8bec45a1684c9e519bda49791fdd5cac75399e51b66ca1f4612e14edc80372e4ca03ab8e8b70475b0f2cb41c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302629d5e5a0a26b14977dfba1b113699f39ed5984e8e9ec9a49e05e056e33c387e732b288a2a7a7a879c2d5a3166f117502301283a5a5b5cc47b72d96a3991c52b6f83368070e2f37d7f6c414774b3b21d7acdf23dbdafe533bea56a08c070afabe6f0302047c435bb500663064023061df39711e06b42e50c0971e8465f074bc02497dd75c0cad4c9c5a34a7dfd675c597a8f3d05bb24677f9af383a19ab8c02300fb19bc2feecd7981a8c5543d469fd18a45295c158e01af325a31a26d719082acc6862f85bd463b6d66562ec1dac23b80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ff74b3b3d6d405bcebf2480477d1128a394d3103161736ee7c2c8347b09643abcff63e7340689c0e4ba273cd5fb95338023100aeb3010b86027cecc94a7e0447eb23c7301f46cef9e302c05239bbd1c24f63369cf9ff649098d58e197ff9b6dd7b3a0f0302047c435bb500673065023100eda530989926d21bfb795dddbc522c6b3c5a04a64721c3068e7d4c741490cac1d30d62a0c44e8e2a4dd6d633e9dac19a0230646e83d7daa25b45c97b9aed3184bfbcacc071ec05483ffeb17528c34f85f53cee08c77a348870f9672fbcead19304590302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023045cc9b4401d7f9dacdbe5ce2847e012d7c3227421419e9dc07c222c5b6f0eef90cc36795efe9c02f2bb0fa3e1b97f5c4023100d5ecf65cf134ca749bc1a476d1a5e68a461366dc21cafc8024248c66510858b66d0994b121d90aeeb691b334a5773b290302047c435bb50067306502307361f84e950ca0b8c17f1bd3e316c134a1ce9bc6fd8490b07fead21510d5f4c93ebc9d46027af70a990c18a2bfb9d9a9023100b758dad68d343801cf816eabd95c5ac6861c4e6bff72f35f6f7788159ae8b0cff334e6384f7ea5948127f2224318779f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cc60ac4fd8633e18f6473e9f5a51945392f269acfde338af653ad05677b8a5ecd7fad6efedae37357e78d8a74251c0e9023100a8825a6643109f8d92c7a2ed24d9a15deee9c6eba075ebb945d1f15fde4a9c1c7e500cebfa675f33c3653392485d48ee0302047c435bb500673065023100dba8455d2bb7dd36cee0cba3a0dc4f0552f1383645f5f90f8f204b1f8eb9a40b3f9515ab82894a8c7ba99d25ad1c6579023046efe342155299ce00d74989d5b3cd004c40b682a66740d0519b9ca1b9ba42d1696e96e645d002a7b574830507d6560f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301697e83e22eaf428b0c7f05b14159d8d5ffdee79cb7d13e7ca9bd66ba06e2387559d19501c49bd275d3404ab0726b0a30231009c076278afde3e993ed3d420e38b8f1a36f298555238b2b16ba4b45fb5495f5f88430a9b9df5e9d998a3a7f6194347fe0302047c435bb500663064023062ac136012442a034060bba3335ca6c4fd5992d1491261ebcfa9c73bf66895267484c24294fa0cab235724b55f47ff29023076874feecd631964480659e20397b25918f6813e4a7295417bb582c41b3fa445fa36e00d46d5da4fd0208d76f222ea1d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009357dd3cb1bf716d37f276c03efbd6293ca14220c5d46e3e2d2db6d9ea5a62d4371e515b74ce9fa147a3b102d9249f10023100c37861c976921b11792b26087ba7128a2e21be175abbc1c21b53cffe0ebc1ba60213fc09d338f73d508f8e35c3a35bbb0302047c435bb500683066023100c1e108154cb76cc34656d36958474196d2df7e88aefdd20e5a2036dabdd6aa86c5735e9660210fc98a1b85c3135240bd023100c458749c80774870b6a5421832312f44c1ea7c099a7888f6a5fa68fd74e994087b47ddb398e668642c49a00e727eeb790302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eb02dd6941411a978537fa20fecd72b8f03b442f9b03e6c6565d2611ba4ad8eebe1950e6a3b6e7690e517c4b7e64768802306110a1f5dc7b2eccd5346aabe36264f5757c42a63a6d7cf74453c47764a71f4d195b12575d46e5774dec2ea6f70134b70302047c435bb500683066023100a6f5b876a8e497cb362c313e7d19fc26b6be97243498cd46db2477b740a567b9b6fce722194dd71af5a9eccbe5778e59023100d0849f589c556e523b5847bc5740065fb7812d0bfa85efec1207bf032d192c8806007b278ed1be5c79fed1ada4a1bf280302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023000eb68b5eb9f6865c11f029396b249fda9667172c961b957622c3f28bfc641267df80cdd5cdab35c9ae5d0d423bc833602303bd6d2d5bbbaccc6e2185b48dba0679638543ea91d48f1f859e50314d37b59f75a3e0a5d9df90551e17855bcc961f1520302047c435bb5006730650230440b398b45063dd2f4161787edb6f1e7e1286086a8810f48a71f4789373bb0a6a8fedc8bc5a3fd5f4ed80a7e7af2f0c0023100f745f961b5e3a58b31d1b7d663959193f5565b8ee6b6ecf0161e8124fb3c5131c75e76d233d94fcbdb90ef674188ac0c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230033ced86fe29708d5559f6a14ce17f560c9b2b10e06227ae58959cc545c332d8554ccb73a696cbc04e34e1bcaa8bcaae0231008f20275a92517380b01d8c7d4d396d8f00e2b1d6bfc9d0876beb475713f2d6a64678083db31b6acc0ef9171ca0b8d5f50302047c435bb50066306402300ebed7be776030044b51aa61e5c88908b7a748036d217b1dcb86d23b2ce85a11b6e4126cf7dcc3bf0b99f8947f8330f002302bc83dd8013bbb1b803104cd985f5046a78c84f35dc1735fcbc5d18228f784e1b0f588976082fb962c1cdb0e456a10ce0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023007e4479409cf72aa4cf810acd146a91a595c79eda7e14c6604df388b1d70d9101c96332852bf5326d6d1e4db1732f4dd023055cc38d60aa79d8c9d0621985f22e1ca221fb249bbe1de82affa8753e02b33e88c5f52b86f43d3101f241a230bf4071f0302047c435bb500673065023100dcb3bb515635548675e92dbbe779aa4118dc399c7aba9116eaf5c8870df5df776326e389f00bf7e5ed9013a87d7f40e902306aabd23eb2e967452e622c75aec60e456929990c7a6983a3c29a4d07e75830d69101caa15163f9ff7a57145e9b78c6800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303d215f304f62b3128e2c79b411ab3715e76d7a5cda351d0e9029348e41e8ee937930ad7e8707f3521c8a35eacc9f986602306890afd5fe3882142d682b5b54d7d2d6de67c3d64f4db81f60a572e54629e00d630feac13a98b56ea9810dab9d397a550302047c435bb5006730650230141b65e8e04d854e7bf05fbef1d1b3828898d45c8148c41c461d59badc008836c52f7e9abd23cd8869ffd2e104edf91202310097033b472d32317fbab6f9b2485e8b4a3342f8362fe6a72db6d13c01695dc941f6c33e6cb704dd308cb50f54c95857b30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064022f208153edfbdc3feacd9115f7decd4136a4899f069c6a931af395efe7fc8d4d405d1b16e96c9aee14c311b7cbc1b46b02310089cc61fe2b88bf086991569d30ecd7f9158a584f381651e54e0e4d9d492c984d81836318f98586b3106b67c84c4e1d660302047c435bb500673065023077afbff7c34efbf8ef40dc40af1ba06d17db35171d08b2733dfb0025e75a29bcc70c5a4d4847ed94a3eb490d7f7880ff023100bd7bebc75730cc30e207999308faece263aa3b10e0a29abcc562e102ea66e6a1b9e0b405ff2676d4a9bccadf079107aa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230301dbda22a89067fbc04f73e72784befaacf6406fb6efc046ed0687f10c0d56d56bebc71fc19506aedc95e4fd9b8ae080231009cae9491895c64ae2512176cd884508acd226fd20387853e4c5da13f605cd4cb19e2c4b59d47a85033cafb00e58260920302047c435bb500663064023069f85b8785ce9fe9df17785a9750ea40ea31272c7973467b227145eee8fd4591f2879e44faea0c7c0e158d86bf6c8b2202300c65fde103ebc61e197887fcbb9cc1f3f3b3335fc7a8d3befab4c77256baacdfb6cd0298fbddd0069a95ced6b1d08f0c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f0a001f1a9735d5de338ea7433daf7f84e17460f9538a3a03c3eaf795966a574f9cf1f80342bbd59d14207e751e33c1c02301502c9f2094f6f3f9a37a41298db4f20a0e89b28cd8a1c2cca36888de23fcf1a8c8397582b5810f038b144409f9dde5a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023073e2aef2a2d3de4cee11b07b89aca357ca6929124b831c6f782003829ade8d95612edc9dbd371001df1b8d1e680adef0023100c719b96cbd743921e0797f654c94ce54de34d0ef2293cee395a12fd3506a965e95367d484bcc64807bde14abd62fa9610302047c435bb50066306402306f41360f85143642509eaad7bb880b5535bbec62d919ded2d2b659d243a8be694234a780aa5c609bfe0e478a430f74a902303455b177e242d5513c23e21b26ef7042d64b5d36a1f08c4835d684ba907707e5f0fcf14fe47a713f82534553764a6b710302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230145b893928636084e8f58a1aced15fcf44abb42beca61e49ad9be5a5c10ff7a146ba675a2d8c51d9dccc6817c64d6cd6023100a3526187d8cba318650cff86eb99d8370d7ca8af49b924e3aa674dd5c4b8ff1b737edbec78fd53e2935b0f792c541fbe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a4206f2989337c01618a881eb2d1332b370b37e697f19e697138e9697785a16a2bfa082ba7a6e0a0defc6c2bfda0ec30023014d82ab0d9bff699e16eff5c5aeff1dbfa451612020a4c85ef800bbd5892fb68978cb15068f96156fc0ddced785c519f0302047c435bb50066306402300cfe6db9d35f8f9da62ac696031c8b796bc47bf2d2b5a76854b63dd34901df057a7a8d8a3f3d9ab86eaab3935c6c701402300b7adcbf59bf6245e77da4e2ec0f905e635d03a7e645a36e8fa6dda1722b11677820d91180b739b0b4deca17459c20e00302047c435bb50067306502302a004238d68ac2e7f1bc3bab2253a1a34119641d848efa486cc13f37e05b0da97cba311320a95078cf8661dbcaf3204c023100fc393c5bd18e383a8de4b0d8cb223ae193729f2caf0b6c2823c2f9e66f5008d2bb3da4509b210f1eb6c91f7bc236b1570302047c435bb5006630640230123d2075739f95a453e0fdc59470836c046e91c22eadf0673132b2d84f6fa14fcead882ea064087f1d586bea9a21f08e02306c079dfe267f4edaf076964962246bec7f33e3ba2e6ca0f3f832d646e9d051febeb4e8beb0db861a5afdcea5a1904c520302047c435bb500673065023100ec8ffca9d450e2a0cecb91806afdc5e3e3087dd198065a121d4bc55028a45aabdf1d3ef69cb362ef54e7d7101c77a627023063ca167cd755431873c1a30491739ac1faf7caa10ea334de05d82b2e1d2866792a98439ce120fd9efa270c1241f594640302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b7eeabf464d1032fc58476c12e06eb4c0e49e9fdfd4105dbe2dcf734200e4e2275731f135940e557231d6e694c02d684023100d1192db4ea9a7ec1fa0a63ed22975d9ff2131d68ca08ea29850ceb61ca290e5df9a6d4717c1d7ce51c98deb44a484f990302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ab3b83068a703f7e313591bf6a4a9ff2c73c2d340a3b11120ee8ff0514c6435a0e1c9664fe0d80de4a934014e953eead0231009cc2d849736684cce8d9fa7e8ef846205a6de71f623bd1cf50c8b892d4c33b73a5ac2e4fab90e787f7c08cd9915340720302047c435bb500673065023100bcfb6987be9e1817e43f022bb3f4e056fc04146a6ecd97ecb9d5086cb88ad092bed357e8546be4fb3baf71104deabb5c0230536061b7062a0ba8ba099e012b059cabbca3461046b6418c157c99d2ea310ed1af76d783b60ff216fa242eae4ff05bc40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023062fb2372fb1651c52022853f52bf116ea8e95a93df3f400344a72d989b5664689e04d0637af2ab27c238d0e29ee72a7c023100e73a526312df836da72aa1815b43bc5553ddfceddd11a9d22bacfc0d51cb9a31c13e7f5c9145864c35bb876a5ce48c0c0302047c435bb50067306502302ab14dba710ef9cad59d1351ef07e18a99096f7f800b55652cb75b4fd755f01a27c0feedc933f645fb54ca0c3132b36c023100e097f42b159ae5f32e256e7cb8415d6e8bae512199282889bda3ee4c5aa773de9c05091e36b598e32fa697c9b02f4c1f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023004f74126da01db0d4d54857ca7287e13c5420582c887a198b9f0a19d9a0c2aab06d5a4a68958cde2c18ca1bd743c268902303642719d21f27f393b1ea102698ec647d1f42922092fb7b960f47dae08524395847e4b0416514dd88dfc8b2a2fb2b9a00302047c435bb50067306502304ba33867c315b519f9d9ceff9ee5e31a72e620ceea89be9d7d85219bee9e9f05061924899eea866e4d983141f9e1eea2023100aaf3ffd25456e9099ea1f467be36efcdf1b1ae12a3bbe85a980f44cfa6bf8ea87219ad29f50311c2a89b25bf10de80a90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304b3420d1c874ca5994fe4e9d2eac13ba76fff6fe3707b28fd59eedd827716db3abae5f860cab119e699188e40004997f0230427636fede9652f7ca09137efc594af788ad7a427bc4945a33cc9ad554458a590464fa74c6e05751f92367b661c77cf50302047c435bb500673065023016348aee4eea46b55804eddb172e25958c9c03fda17b6bf78ddef56190657503ab9ca4a1d553b1db725c49bea85107b9023100998d68611b764075de0baeed303df91207bc5cd9c44abac062e7f1cb26e642f405cb2b6d8ac0cc881c6202910b1794630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d14f426592d5c2445c1b7cc39614219a423957f0518bbb6036eaa76ff4d8fc09fca89a7068cc8caa8bfa8bb89968aa9002301be98ebe4a14ef439908a59258f94b0b2cc6a458d04cd0d757fbb6f23fe5ff5c1a7cb9d7b3b0c183fce38c95512d656c0302047c435bb500683066023100b0e027eb5f2fa6642cebf45f46cf9f60e8b66d73efd7ed573f85b053dfe52af886670a9479e8e37d40972daaeecfdacd023100d6bb86437272c33a764469d4a50551a195dd0f34e0bef21e88debbb00250fb18ae64e3f5b970507e80c24737cd32abc50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306d64f623c0b0e1e37c2858d81cbdc2fa4a1d395fcf839f44c1365e58a6fad452f5110b04f0d43198582ce737fea7de0e02310098357345e6504fb1beaa407d620fed00f3e771435608dcffaf7b559d591d5f7479a001e247e46e98686b2d2a7318f2f30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009ee303a0933270a521ee1f4c38c9ce421dd8d90748eb2d89151f7dd869b34da680f769168d45b67a6ef47322842b2c10023077a7e05ca8969c1808b75c2bdea688125ce2c6eedfe77c2bcca8a0d3d27a54753630cbe50428b0c7429c62b20084898f0302047c435bb500683066023100b349e2b6df1601d7af5454f8cdf346b66b507d2fba39d894630aa5809d0252f709a1759e3b2ba898dc94d1ca8e4fdce3023100850674fba8356d7a4bcd4fd634308f830241c0567f72ea2649c8c9d9090c80bc0d5e2220129e761815b6c953ce19520c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008f31c779c46941fca4c248436fd16f4ff2a51a9e964075bbd524cf9f6cb283ee5e17a612bffc6ba987ff9a234020b08602306343df7fe6f037d89c04b0cc778df3cf32cca4f600d5323fd64bb618fd672774dce979541f2b1ce292bfb7a7790182b40302047c435bb50068306602310099189a032f5aa774b240be76889a949d003ea1211f0ac04f0030d01e58498b4b179cb397246a8b795f0290941d54a16e023100d7665febf408a65b60e0c9eac3a6759b3cb27d294e428e0c5f473cab4337b235099b3337092cc73ac7ae34eae35f75270302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100819a3f503877a5027d91f61f79b98b093521e43d2b9f81f0e13e9b2a2cb4e629a21748d883cb3162231639805c58a343023018022a4cbdfda53b56109e83d962330e0df9eaa2ff1d7e3ebd2b723824fd78b66f62f6affc61a7d7b4a90272ed16dbb20302047c435bb500673065023100fd5c9cabf0089b3fcf12a3136a1fe1eb1ffe0457d7152009f6ded43f034b5f23072e9a5c22678728955814096a8c4ddd02304c69aad84d5589d49e46e43d144cfdc02332f2a049475bf424eaa9bdeeb0086dabca097ea338ccc994fa9ca1c70e58290302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100834257c7e260165fd39cf71d74abe3f9a5aac7af3898be0c38f8ff831392085d9dd1075aa055b1e7425ea21868d6f40b0231008cbb64b5317fc0650677a766092673b8aedf78a6e7848fac5e96e9956cfa0f86ca0c163d12f5b6c988f2f862d58f3cf40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303d4cd7ce196c22a80f13b107aa19f457ae713b65c39af5395ef472bb185574cedf3f96f63ed6063f3111fea50f0517a802303d402e510a237679a70eae291d855881aef3f8a4cf5a54e9ce46b3a79f402a825385f664ef2aa78bd9b8720fdb5415a90302047c435bb50067306502301926a01f0a64ea916846e5f13f5a78fd871f08efaa75d2258902e9893f525e2998bbe0ea999c2211bebe290375fdd961023100e1fe591ef32b74a3ebecfdb82b958b801331b0db998d4a5d6777d4f02e738b515b33a55b023b183573f520498c64865c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023001951fec63e04c60d57ccc7c55eaed58e0a74383335491cf70f770b2d269b783cf5b1bd3b03a88f166e429f43c87169e0231008da808bdbe82fc2babec0dff5c766486771420540d32bfdf3ffd2f4c357d08c4ebd0d1d045e3b369a8c814e0869e4a2d0302047c435bb500683066023100c1f779d2493ea6e089ec26abc1d43c6197b3e2fe3b0d22595a7ae89b3352de26f466105d26ca22e3fb0fd03f0f48f5dd023100d02f1f7ffb575b467bae0fb1c6c4c9cb6e8883ce502b4c9ac9edf5e8d1491dc220a14cdf37442da968a177ffcaf760810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310099f759e64a885eab90e371d87a493af2fa6a38280bce70c83d9998c44b98c3a7089dcef0ff92b96fb9caaa142b816f6b023100fb8a611bf8550ab8491a48db0efa61b594a0274471a3d47d92311e82aa4d4ed8f668162bbf4bd3e973e7ee66f9be9e8a0302047c435bb500663064023064e4ba2365170689ec755aeb9aa6bebfaf7e79444fc7985ffe0ec4ca8e8c09d7f286d25f02f5f1e27cd936ae1538cca402302129cb473c925283cf0f819c9ce2818198e32ea9dcbee3be1deb66a51b7f64a2a4148a149670c1d8adbb110d4aeeae530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023011de702d24a3d0c9f1f7295372bbd6599a09b5526e0905114a00218c46ed58e5d692a76825804d5aaf071039d60a124102310087f45293ffaa47e6d7c97c400cf0bfa066cacc56368a855f7aa129fb7f14729b13a2b3850289f14759702ad1760f3fa90302047c435bb50067306502304a4f1fe7bf97f4043cfe33d99df65f6130b9550470db9d2f282136758f5dba8c82617b7c9a00dc72e8467da6fa02dec9023100be8f532e7381d9782bfdd18ac0792ad991b2afe7ed63aa751bcbf8e1ae40cd5006ac364c2df8d73c837010bf4b94e3130302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310097df322b5c1dfb217caf14c06e4453debfd0ea4843f8511efe7ed3f1f9e48b1fc631129e4a8b3130b0566a9b6100f320023100dbaaba93a031bbbdbf3a4afc5c1264ac368043eb0fac866df7d917666570b84f23c2c138946e2db000549d3b7102c1c00302047c435bb50068306602310082793466fce756f70355c586fe2d06ab56a24758eb553c4b9576f3a72a5e47ef9cc57caa66f5d052c31e97961bbc242c023100a3e3c6cafeee64c0b6ccdb6819df10c1c7555283e91c805102d046ef04e754be220fe4f833640a1ab167faca1ee173bc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ea68dedd6c913346aec86ff6494b31dbdf4d7c673a955ed5f422b17829c01df04ed487d2f4e742c471957d0e2ad3782b023100f9db71e7a8007ccb32e6d7b70b8ad4bf0710e6cddedb8582933d635c520f8145fb36ed7268f3e9f0f0a0ee423c04dcdc0302047c435bb500673065023100e220eb089137d2ef29ecc9c0dcf12c1d3b4c8130b7ae76f26d450295639b8c792e3f38d48f8af1de0155d9cbb3883e4502303ecc9a0768a342bc4c399b7203da84f1738b1a15b70faf3caa4a79f1608f54c3fdab8929969580e6dafc58c6e38b4bb40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c1ac7a2f4d20af573e75ea665adfc32ac50f177dc4202df531fc52bd0aa4ad95fc33f7b0ff0e6dd4dc96f27a9a71e36402303befbd7b6ad52ab9561e334131b5fbc633465fc58d488133a6cb658af3dcae88f15ab77ab1984073363a21af43e037f20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230172e00175ccf877df716d328c5b40de6cd8d6909946680d054275386312d703854508160705751dc492c40399f7449940231008b47ab5ac2666a1973f7c92c56a4ecb73562276cb5bdfcdcc167e03e906fdfb89cbd430e0769209a0774db71f8e69cd00302047c435bb500663064023020134c672c71a42f2335aa3b18096edbb1f42287386cc50b36fb6f7b5cefd51357c371754f50eaf715d44e40620e8c7702304c046a6f215aa35ec5a9ca54b0f1498e0304cd69eaba2155102b4cbaa0c163d88c3ddcc39ea0a45842a27c4cb4dbeec90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310085540b52bfc3e807f72af3a5dd0371fab69b3d48847fe3345eb4bcba1a237afcb0dd15ed8d4c5ddccc68b0d60baeca5702301063fd331bd43b715837891756255a9db97781ebd57ccca6d21ed5aba05adc39db113700a9e3de9e1e4c3f2a0fa269250302047c435bb500673065023060dcc9ea21b7f55562f4f826afff488b214e510d9e71f0f1bdfa595fa005bdf41238a80cad83d1863156dc0d9c77ddd7023100a8c9cf11d52dcafa842f90c944aa8edfef58dc898ba76f4fa7068e13ee834d74b175eb02ea607be3c92e286c9d07d8d30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301bbd543331a71c59cbc2dac6b10e5efedc8d30ce50fad0fa945b6f7c2c7be2baac7ae5de78c86fdc8db5647ba2b23a28023100dd4347b4db6e714afe5a68a05837572ed6707eaea6e0a4a5a11fcff1b3120b7df20c370a3f1b01acf54daa07fe7235670302047c435bb5006730650230693587dab10e16fd55fd95d3264850f4dae8217be47e05c9403a49366ae7d7da35b3d76b6937f7cdd8320d5e91e34203023100fb1934acbcc4227c680c5296f6f8739d24c63a76fe04063fdbcb2609850ca02e54c32f411825c1419870c010217723e70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dba6020adf72a3ca6b54fc32103327b65597edcee30aa4b6ad55ef13a0a504d967ba8cfecdc94b82e1047bed797074e202307a68cf48683cc3c18bcd9c3efadc18e28d676ac7156d00b86dc21b4bbcec041f528732a022941d9502201434a85cde1a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306c43db9b0043fe78d9730695e29ba448cb1c5564188ca2e89b845bb8ca01b1fc06ed500c53055dd2bfcdbf54d37bbb97023100f4fa0bee578f63eb6d2b93c8ce8c7e7e659b324e8e1f858e4063f85d98fd9415fcab60d4a8bda981ec64ca7f2e0ef7a30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303b2a2599de38784962bb26a6759a0cea45507ac377ea77c05b813c44a30fe56167e6a8b1a3b43142e1c4d20da57ec9b702300a4ad7191f957d07c637f6892bc04e800ef10981c0edcb7c60ddd80416b57f4b4f86bb1ab24743b1d07f8a1b9a33e5f10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310082232aaa29023242ba72a86e73e9ed5def4d48104ca6ce025f7d9ef8d0dda97817e0709504fa354104902f572b8932ba02304b77b8c2eaa46b10a728f442abd6b9ca8c0c181eb38b2c223585c8d11c7691da39799036670f0630c9b15acfab6b627a0302047c435bb50067306502305f12c1a8acae0164ee746e1defc67fd2d021ab3528b1780beae56ea32e0f396c9e68834fb8bf10e9d4316c9539ed7947023100ee69c2219634af5e88bf57e40d4ce3d49b68f34ee1a18d86734a68d5eb50133db14be8d865c42ad00fd3cea58a8348530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100da16145860b502e022b517e75dc08938a16bfafbb379627cbb6a5e7b1e6c451f98a2998b70d3083f4b905a06bcefb1af02300bad6cfa4f1c8bc92fe7e2cf09dd73b0826fc61e81460e4149a5d3335ee38bfe3d282b730b42b386ea974baec47c454d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b20a522079b501f6cc3bbf5cbfaf545bf998301bdeed5306d3449f94b9ef348f7bfab4f293fc2f6f9283d5dc85c48dce023100adba53af6fe65ac950b579822d3f36ffd154698caf4e3adc791c1699261ef01d8a69f6bd911f24414356496945d0c6700302047c435bb500673065023040a000e083b97961694cb6c99b30a4f996cf8579fcbb7461e667dfc10b6818b0faa3ff592b7f95c79ee2c375d178e29e023100f36b64e0c5686423b6d03401f997d23da9be6b025073dd6017870b886f51eedfdac91c2584080487acb00a4ce97014830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023014db02f1fe963ca8bc4ccf2324cfd51e9419d745cf87615c4002d8591edb51430f376c8415da95a7234b03edefa61b9502307f98481399048f9afc057ef39869cbbf5345ce6b5210e5f1990d01608b1290c4da39f4a74dc9de1a73c4690d12ba49850302047c435bb500683066023100c804febdd2115f1923b64e4d3c0ceeadba55f5a6a63ea07b640621897560a6adb217d2141957661fb718a70a47cdccd4023100f2763bdd7e5fe6b9c3c072fecdb7ab8eb42c4fd9f52e3d080ec3f2b31081dc0d6b76d627a66b6c5a95c52fb57801ede00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dc081aa52fedb39ab64be618eb9bbd921bbfd1173f1253c025a016c160cfb6304b4c5d11d4c9cff663ca138b880572bc023100b03b1afa5ebe0b9e844ef0446d0ee3bb311f390f6c8e6cfbbea13f7c63cde5bc187f8c480761f782f79f5c4b1b9e9ef50302047c435bb500683066023100b549b0a8d2047a92da14296fa189bb3b89e0d64e742cb19b2609682f4bb8f11dd7c92fe82fd2d6b1690b896633c1e8d3023100ce4d8fd81ad5b37c24e892b82e9b9bfe6c31afcdebf455eae2be2395606042d490cf3a5e51f666f764020591253c424b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023024ab8192080738a585528b4447a3363eed8083a47558c7d40176e928c7c2c8f1213922e9c7155024818fdd30775c65c20230232fc20659a52cc83d0b9f236a661fe96b7011c24126fb0e5215280c3c8f9a1df1c0fee0f906e77ea94507d34dd8fd9d0302047c435bb50066306402301d21c1521d7def42b840188a3ec5d9dfe0aed98648b2cf553db4229f081f9acdc68945627e7bc6ddfea997c15399b88c02301f76e0c7509d86f88ea96ce2b33bb9b63250e1c363c81dec878825da71eeea9c20216c65031ee55aaf675568e9c6b8d10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023025802791615b201ae934f3bf478a0399a919cbf9c0d0526d1b5409f59e7985906f929ed4aa8f87659e50c6212182e83302307e53914b0d0b13b735e83a474991af2d4019da875d1ac53625dd0c4c99d387cae0656e2fca6a1fbb46c2b83c8b895a0a0302047c435bb500673065023100f838955670d3a98109fe895ddfeacc70b757f0bcafe85ba95fa784f7ad42e0d69a2d0f085fcbc39129f467ea1d645bab023060e0a9ecf881c1d8ce42d0db6cf8990b4c059442c09d1c5b7d7fb498ccd8523dc70fa543d4f7137178c90a20f346afd70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230179d140cafbafd7ad027becba18746cc132f5365713987014edde6c88bf9e8a35b9ec3426572f7fb191acf0abc38e3d302305b3aedfbf68e3570cccb740aa339d978d9a564ebc84af36a0acd61ce6456c9c455f20ed7987b8fcccdfe8c866a1f16e80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c742e4e33f2599edc0373dba7dc0a94b4be61f92e5cd15cf971afd35ad0d91d6aeaa1717a71f2fa415117d7990335c71023100e18f970bac9fe029e200017391f4c2c936e9ab4c3102d09a8a4424199fc5fa35d02379db36c718f207f5381f6854f1020302047c435bb50066306402305a2b0ec332895f402fb3db06a07a458369d8e4cd7cb5056afd83e782e213562c785c8c250036d93fc2406d1fb30bfa120230620ce08db916eba71291e3fee79eaa97807636d75ec5a77d834e2950aa8f683baf5d47a13ed2e17ceee03ae0dad16ce70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230547cfb4f0970a365f8ca8c144e1639c794926f1c432d0735468f26e0d55b67e703b1009f714fd79b8e9ebd6e9e9a7fa302304048301034ee2d9956b27eb0822116785aceebb5cf7e85ea00cfa65f834854e83c4f0f79bc20fe433693faac7a1c0c760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fdbff922fd6972fbebec6735744b48b97a679dbbf6d8f4407113006365ca3ac045a0b7d4f54cd4687011c419d578dbe6023100b8f46c1a4018ed9e4a5f5302d2aa40faed03a1c8568d062699499ee38287ed8cc1abf01340a8abb29de96b908e9f60e30302047c435bb500673065023100e9c16e8ec07cd439d4864714a7621b2b1fa39f836956f884da5896f213180145690636f4e9290e24c3d5ac4ba5f6dd1c02303543a84e5eb75a1edf496563fc0106fdbd36ed3f18f22dda4ee132269195415941f2b6f7f3192c99c3f0e2a36043b75f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023018796a5dfd7975990586cabcc9e59fa8344781181e8567481dbb489f347277c93dd86944703d1bac667e0094f65788540230191103415a01a3e3b003491abeaf040e7b8890a0ec907af4ee6049b609af80e469134179966cb4996ed005ffa34bb9be0302047c435bb500683066023100b8bbc77ede9708cf8ac001c282ea44780b1ae406aa283d3d97a7a3126888a4290dcc4ae2b186805070e000623017e68c02310091a1d7e9a1d223ffa8afedef72c411d2860e3b618c1da8297630f3a001d2b8dce4d88f0a9fbf899de59461fbf15f2e4d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a70fe7c91cbfc73bd53a5bc5e531a6f4dde77d595d7e973a51f26a94720b7e357ae881921619c16b0d32392d77610927023048720514dcebc7971adf562d36b44112be423c073f35a433c340593e1d9c3d83b526683c4e7a6f34a279f7b8d23979570302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302108aa6d761744249af488dbb553d11a45e6f30eb567341697f55ce128d70853c3040d871afe9b498cffe832adcf2b6c02302a44836a3ada6f821f3d6b829b430e58760e0888a6aef0f297114e8ca708665c8b49ddc1651a7fa379a93ff2a59fa6fd0302047c435bb500683066023100a7b01b0c74b50807eb92d325666405070d28c072b4e8685a8a26a3befb4790bacfbf9818d53b44c265aef7cf49a9069f023100fdad6baf1f825254f66c5c74454b1b1dfd73ee17077287a8ca51105b21e4143bd7c392cf8a33be43796471406dc2f2060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d61efa36c55fa617ebfa63775b1fee9445f2b6595cc343b6d051bdedd0e697ce5c05e1bc9ca0c097b4dffa946a37c39e023048e88e6803203873f585cbe410370dfdd8c1ceb602580016e7abbdf40bba39b1020a25ffee10b9d9d95df967e3401ab40302047c435bb500673065023100e68d6a6daa9727fd468e7a54965522f0e5615c45375a26cb2a8525623dc693a9eb550c0d7d5718bf630b5aaf382cfd7102300c3d5d4ef8443563c77704beed58308d5b3eea497604e7d2958df3e9b6ee3ab1965c09f601816b89319824610bc484ea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230014918a356f8a4bb60993b7fc3ad4a70281b9b8071d5f3c9e8b9325c8dfbda531626eb54903eca8e553e716e41a64ab9023100c780c385a82ca2c3e93fb5a361b68e6775851862366b5ea8bcb96a75b7f3571fa8d81fcbb144032a870be9573a0d46320302047c435bb500673065023100bd0d20b593fbddda214dad70f7f603a4c6e5d4489f1a50524d8167bba32804824b4a385b5de8edc7549f92558dbac03d0230222c31d640bc9ce1b5913d384f64688ac907d00fd55b964ff4136b0c1d84048f80342f10a7dd361494c0090a4040619a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230682186dfe77bf85aa4960f27c4e941c633fdb5ef55600c34631612c7f651664614ca401ad85a782683506c744264aa6b023100f3abf13e92827b7c2ddfec65fafe33ec667a360a036a346e10aab536375c54eaf63709f178396e1f3d2184041cbe15aa0302047c435bb500673065023023557c843608d807020428607d9bed71ecb18229c812c4a9ed624ae0e7dedb2a2c55a7ca6c2bd433d98abed50385e6a4023100ab6a8b8870df44042d39d81e0f339440c91e2944b96d4fb121d18ef3615fe27078ccd1cef5930f410307136e573f84ea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023039a441274df73509446a872fcbdaabf896d156efd46fdace711e96cee8b72dcd5f5ab75c312550ea11f25a087e663818023100a849da741b03b178f4d425fb57dfd7df019dfca185639b89739873f610c7732f231bb6eaef6aa2b9a91f2130573d68260302047c435bb500673065023100f4f31ecf4aa6db0834a961b17abca2d473ab6510d756043c236c14d7cd40fcd74afc43f505a30014c00b621b165fc1aa02302b0b157b75f6aa22dde86418eef9c03565696897bb5b397ff331b9c9fadaf36224a9eb48059b3b917a83050e86ea46be0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100aa350ec617980ad28523d577623cfaff4bdff92764a1769bc0449f0607e3320375d728ed5114b5c7a05c2b013ae96299023055df1808faf0af1f53b8b9e7e046f9498d77b10f22d8ba6f9a1511b0f5f53b7d5375cf23001542a7ad7bce2f3a5454180302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bf04cde2625539cd1909f458d1f43097ced986d44d27bfa517a05459ba03fb248060a9490288357a3ac27796de763d85023100cc5a0bf43648235cb587451f9baf75559154b5dde4c9f143b39572caa155ced2666d63e0cca7126014f999353a8fef7d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304d415dc78fc1dcda73942714f54a6b2da45a310b6f04fbf31d5abb556612c0b57a3ab33d83ec998c96545e55ecac09b702302439f86d425e2328babbb6b00f4da05275dc2f6e8666ad93f4f3d3e086748e69acc3cda2b04b1b664e278a92f82369ee0302047c435bb500673065023043d6a10ef8e911596f22abf85b8689115e725e2bb35fa30aea27ddbecc31c7efb40afc85a5fd6185ccef2a6eda5e1a99023100f76e2f115b8704855a35a0f92f29d5aa3dcaccc24cb9f8736ff85f2562741eb9f2b4279abf5bde8f189618aa938029ec0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303e58876dd4ffafe4cd29fc1a8f6777dbc07827c0541a1304a89da4a6794a2ca19da11d969a5dde43ebd3935f0fd3b98802303c84835c86755ee171f393abbe8980a6b4dea3047213305780927f6a1da1faa96fbf9491d162d5e51cc56315b0a9d9250302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230128781dbd131c2bc8ce09f9109d0c7d873496bc343d105c5eb44337d7170a42eb88786021d46e2e2f227667cb9210683023100e3583e4156461dea5630a12ce5464cb3d4e5d93ae6ec8b6f1c22c329295229618743191cce982f30c23aa8c1de2633430302047c435bb500683066023100da654b839eaa1e90060e0635df8aaef4c6fb09727afd1f7fd8cb6f9685491000ce9aa77aebc4161789ef747d7dabd32802310091ff420e947184dcb62f0cd1e3fa134cbfa1fae2fa979d3d51907e2708cd5561095ecee1fc5e4c2bde56019897e7c7e00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302aad608c612352d38eb568f9771a63d7595db1a8ae1691130b3e75e0318ae62f2171f332df40f74c50670664ecd1d65b02307361e668c2a7da63ca7a9431f18d2a2a2163ce1e8e4f1f10e2ab6035b6bd5871cb391a83e967cb4e445b24d7d37b70fd0302047c435bb50067306502310096df406a7e2b05daf008db413433f60c9301e27f5aa730f157d10535b3eeb316c3e1dbca0f4ed48bb3cbf6602c5f20d30230336c4c99d43c0490dc80620783b3d483f7202695918cf5cdd5d0efc6c1f3be0ddfd8357256e6dc561668bc57602c875c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302f782676e3b146a8a84070015707b79813bbbd5590daf15bc04f3dbb7f8412d9d06f4e07eaeba3feec5eb480ca67e981023100d4af644641c933ad1d133685b2f6ee9d95c3f363da150441bcc0c7f8b3215f43315a09e824fd3492f330121e6f46303f0302047c435bb500673065023100bc3b7c65ec71a5cc4bd1cf966e819d5610684eb4bc4e7b849d36557456103762b604b32eeeeca0b8c37800a9796dfe2402300a4839148901c3b7e8a1ae44a5713a7cd406d20c2daa61530d3645c7d160fe4efbb5f1d43b9146cce17b40f545ea17c40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b049f4bc60ff19899dc7a0b4c26a43c9f8cf6eac857f573415f37ba7a30dfc6070c9d479f40d68cf3b9d38193532859202302e54c409b8ce67e3e85a106c3f2fead9456e392f0c9d546d30800b10e9386ee676096420807522c6db04d0bad598c6710302047c435bb50067306502302e276b3b67400483721d68b601ec4e8a8280ad082ccdf3caa2af9cc35efda3f4bdd6b9c6655872a6fa6658bd11c35abd023100bf9f7615612b56ef74a9f51584d5fe3186d6d84839f7550f734c12e72b91ac3c7819ec7099542e224cb81757fdfb2ecd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e578a1085cf72fc5fd9196bb10d6686d5f483ad96fa77c593cc6b349bd50dee12a053811dc6da437ddec883e5bc9a73b023100b5a7f8fd7772150319a68e0273b537643584c14e4ff95db56df3662e2101d107dde5cbc752a4b44587798e6390e10f230302047c435bb5006630640230635a2178c4881ca83e0dc7c636e236bc04f23fa28662b86a98eb67aa5ecabc905b89df96f97c78b66574e61d5511705902303fb609e0e62fb29df690e51f05f9d8531ff9d81b6570c605b0013657e7c87ea3185f7f3de11cf6c1c65b87b1d0c419800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d3671a3025c516a775a58b7962b0a27b94968af4d544ac723ddb2c098701cb31b0484f5389e83a47f65f1eaca4f5d319023100a16b8e82936d8ea6036e4407e727f22120bc96f682d05a904a2844099a59da7002f559a7401d11712aed135aeb480a9e0302047c435bb50066306402304a247970025b2166ffcd6c46dc94d6a6d0bc4636e285811c2424011d47f25fb448cd170e9b0233235742c660e633cde1023021bd5c294728be500ba4a0a09e9537747b2e3ebceac517857da207b6a6f616140b05f44aa10084f37000ec1928f489a30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023041c0dd2355f25f5d7a33ceb94755f9ec3f1f859de1c2539a3a41277ca44d40949cc11d0b7d3d358cd086a0fb3b35817b02305de78eef53e44f4c3e283d369523698cc39baaf808dfb63db97a6a9c7c448d12b311ed2370ca938aa876ae12a356efdd0302047c435bb500673065023100b16bc858dff44a7e0731485c5d0c875a34f4d2327476d1610436452dd4636c7424365f362a95ac3346c71766ee722943023010e125e9314c97a48038965afb4131674a960ac306a60090de129ef5a9f4fc89def1fb9a781e20c79e2381ce2f7b17650302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008db3c4fa87a77f737fa50e9ac198a8f8d6cfd05ab5ec4135d838739f205860c63ca8904955fed0649617a70774cc1a1302303c647c5f715f98f226c983c4b03fd47a1edd6e37d00c1b070197d9646aa2be8e2d87f60ab3454c5e3fb882c45ed7bb540302047c435bb500683066023100c1f2f8a49f381383cc193c89eb195abd32b566889033d7955c5878c888540cf8aac8fb41150470e9449a3ec7f0a244a7023100f3766d76402d710bc0956f9e59b3c5650f8dea487174a5da7985e6e5feb94e6f9359a971672d83b161589a71281e7c140302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023052c117a20258554837f804c0ed276e7effc8c96cdb1d4818724ca56e8b431cf6b60b3a132a6ca424784c54498a537a44023100f092c584b67a92859a2cd003e6af48d71bc0a5be1379e3261c84e9f3b9d3619959f65f3a7d7968f0e31e16df8ea3a5220302047c435bb50067306502306980818de6fe2adb54641d0d6783036e41693add6af61836b907daaf3f930e5d8e5d8ff518b8493fde517758b8f4a04f023100959b00f0bb6640a12fe5bd5961a304934bae23f81394379aee7fea2f9c66b3743f5cc22d15c007b2fcd336b455b9bcb90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023069c33a63d889e176bca5adf9e54c69d397c205961a3ad568757da64c0a3c7ed5e369fc8389a0eed3207aa3e76490f60102302677151d1f97b03e45cf5bfa23acf773909033f801ed1486e229a63f804a804855de624cd3f22c8e4181642943bbd8fc0302047c435bb50067306502306d1891d3292e267380147159332fe5c0a7f17787330c43f0e8adfd8b48810db8b04b183f2de221284f8065ab3332baad023100a352ea7c8582c05e7241099a3f47c3b04973464378f866a0838cdeebfcade50f9c73baafe8b3558ce500ee75d5357be60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310096a391733f731cc1b7ab181dbbc99bf176ecad949fb240c1e2ea85086c7a4b12becaccaedf201fb9bf7d337f6b9cf90d02310089dc0b95b1ecc369f8817fc246ad7414c4996fd560ae5977e3c9374bd254e529f5cd3d9fddfd3f4b361b05620af034770302047c435bb500673065023100970281471bc0891f5cc59a522d06d00ac12737f89366dcced92c07affca51177c127de616030f3817cab771ca09e28ca0230659fb1f40462e9cbe85128b99a3f96702ea4358aa9be51a94f90e06e8c49ae7220f0eb8b5130885138253662ca0d60ef0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c04c6ce0a2df5bf6116caf867046e203391608d5e69df9981ccd789573d0c75f1b8e1a446036a7062113906e08ba7da90230037f74d157352962f81b7259148b16f2fb7b1ef8a33c88827e7b6318709a420cfbf87939a6dd07944ddb6b49e5df3fd00302047c435bb500673065023100c99087c42e55af5ae8086813476a017ed5328f3a7357bbe26951d6de86c421d29b2bed143bebddc268ddbc42a06a1452023078832ed58200d87b70a14abcb2004034808232d63073c42f78fd6764db7aa68931b3467ce1b6e997955f7d3152740cf90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307b7036a554ab8f0dae7ea3dbc4c418f56dd1bf38bb11d33ba8e9905273ceaba76d685da4c6faff4e1c764e10073b46050231009c4964d75e0e9763ef8254eb74486d6de2cb15804dc2770eb79a7a85d4741dc942d5f68775aec64720a8b7adb5f810190302047c435bb500683066023100a6a99ad94ac78ee5aeebecffbc667fbbdb4903bd1354b3f4717410b9c537d4376d220d1e76a0cd47538060c0921d9e0b023100877e6dddd4dc655a6a55ecc5422260c747d5fb2f0ae8515580efd99ae683fe197074fb57d07db4b6ae88b0ee4d7fc2d10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e8b3cf90ededbd49eeba6681e6d684c3cfc4137c285c9165089d8bff4e175ed52f107f20e536afd7ab3e9eb646aabd8502303d563a452e4736868ee2a71728dab856e2f19c2586b25716260113e68968f8d029f8bf4dea892c8e84652b5e2503a0ce0302047c435bb500683066023100b459dcfd83f23dbb8e37c0a634e5d3e5852066e50ab2ab140e02764c4187ac8d36b14a368ec0fa75d3b4c988f20bf6f602310082e2534dd541cdf7dd3e65d690d9cbed1c8c3aa30ad74ee04a923b72cfb6bcfcdeaabdea3dbc891f63f1ec19ff1a51bd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310099c59c453f1860de0826640c2071ec1331a932f2c0e9fa1aeceee0c87dd83254f4e6c47903c0104c0cc619ab9fb7c539023100f5f51f4c31f07395d29357defa00a4cdb351da8481811c0809bc7186eefa98b1da78c4d7c73e44960e3effad8928be140302047c435bb50066306402307784cf10c3f0e4bebbec897cf98854cc758d5e9ec332a1bcf6a120a3004dd89e1a25452b734a92da71a656f752ccfac002306c9fbdf79ba82e60eba6afe202449012f42b75068b51b7c3499fecc1dc6f73c9d10d6decaf608155176c457e45b425e90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023037e630de177729055319d04f5ff1d54a2807ace65cda72d0232074c86b3091589861b8eb584a1d67e4660baee18bf7f90231008d621e2e5730a1d4489bad257d01df8144d7031de8069c058d68f86e5c68b0e27a9e63791e59e0f0029666afee4049e60302047c435bb50066306402302e0e9e8da70a58a396fd34085298e64420bd4fb55e0e64efc8adaf0027c28ebc2a9ffb130775613fd2f5bdf012fbc88f02307e99298dbb8ce9d46c32e97a92b41469bc650185ead1771f1f7d258a02416f33ad5f4edf526cb4fb208b357dc5a2301e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c9235b2aad4e96f2ae13bed64d8104cadedc25bc299309ba05ae01b1c76b645d22c235903a50523f3ae7db6b579f932b023100a04a3b42c0e89a731661f0ea10d5e0a76bc46d732235caa07c2ca0f8b6d9880581cfa8958b8bf7583a5ddcb130a6b7f10302047c435bb50066306402300830d8556129395158f4a8a7970ecaf4ab5761647ee0537f66929ece9b5acf431656d7bec85231f33b9b18ea5d2ca2d2023061233c5e3c33f12b79d2cbff157157b2167264875fc7dab72ef4515f978410ba354c928842c283b28e8a569828b251d30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307c1a75280af0a40aed1ea3dc30228cdfed073d836bf9da9d8eb6049d72d9e9d37cec0169ead2d3272e8ab6560ba45ee3023032c2632f0372d2480e99aefa16ce2ac69982f07bf5d4b53bf668ef720d225a6eab475ccaa38f6a3a7c9e7e95a03998040302047c435bb500683066023100f5c9820e303e92e03756e03ec3e023a80152accf9f70747ec3005cf82e16db92a75e203d1fb3935c9faaba1fb76e17e502310088b1a53abece51fb685db6b41e1c16b743ebb60a39d4797f78a393150f6a46f806aaae853c4a0adf33d270685d2a15030302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100beb4b06d225d348e578df36823290e9dbc18f5e2f03c3b9d94bb2a7aae5eee0fa5efd27d803eeb27e33aee039f8e34ea023100c52ecd2eb43228fa5cbcabd62b195782bee51f8cdf936ec3d129fa183ba1230c2f4dc2123c40722a6e2f6bf54eb7e2060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023041fc18675e0b0f8e50abb28d7222dc241dd795a9dc9cfc78657f00f022c3a5bb987ba9607923717dc53decaba54e0d02023100e15f0ff49bf2a37e0de2e1f581f87b37d80f0deb1f42aaa69a190fa317889e8b00ec934bc86964d83646acfb57383bd70302047c435bb5006730650230112561551ba87ebedf36e580b0fcdd304047c1b31b3fe36cec3fea7cf6c95dd873944be8a4db647bae4b66245ebed74002310097bd36dcba1236a486282048b56a1765d7e6e44420791e7704d824a3bc242c9bbefd66a301cbd7fd57b028af03a499be0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100adec2a3bee713c27232bed834e73ddd8fe8c69e568a2b2c523e905469c1865374677cc94bebc4b5fbb51d563c12ef12902304763a773baa8f2357220521376c0d8128690df4ab06813c04ed73c947076646d6ca6aa70c80dd8d87b9554f7c8ae63610302047c435bb50066306402304698d9a98cc3b30cf2771d92c60b70ad5195f45fccb1a93a552960a16ae885ab61e0bd02e70e7fa259f8d8d0f8581ba8023072e6cdaf83314b2e27b1983f33d249ce46a1e88f89b8b71996a41c16e6d232034c01d334e33e863e35f7321f0079d7e20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301f65b2a5dff21a7fdac94697fa7fc6c7a2e5160ca36d305423cc9f2c5dedc1e7724eff9b7b4818fa596dad8e4c9dfa53023100888f5dbe4378ae16801d73b220db5783bd7e854024738f38cc0e45ee50f1e23e2e02031da52e76d030b9db8abf3cc3800302047c435bb500683066023100cb0e8cc48893d0fa42ee048ad9b45418c38ce35ddd14c1ec323a9b3b3f1d1ed2c372c5bf135f7ccc6ed73c9b5a7e07280231009c03ced2f3e69043ecc4e116073c80c2fc70061251682136082697a0e17c2ad297f0f52933d280c78ccd525033fb7d3c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dab48dadcf9a0883277525d76d00c86d981dd124b621158d9d008f28d9c51448bb25e0787454ee108d1f9fbaead12d4f023018ae44c5bde614641c8baf3d79fbf3eefceb3a456dbd702d0ea584cbf3516e77c0f4e50e128983ae34a1bf62ae3dd6220302047c435bb500683066023100b92fa74b02511a79a6fbf822d07c261c612b9e7d3733cd0b56fe39ffb19075bb4cde4901826864c54d20e8a998148514023100d374fc12fdd105196a65de98571ed8aeef715a66699904b601d6b6e4e51aef87073bde3e06424b67110a4998befcc77d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023077d4e15fd98370b6fc237539621a855908490d739efa916b93d9d48571808f3114e4b5465c3f57fd2748c8e38d9ed78b0230493788805e67fadfb3e93a2f6227ac1df03ea25346a6dd8c8b910aeb3ffda0435e3cb8358dc8b39109398f1bba6f71c00302047c435bb500673065023060a24bb166287f6411110f291e00075110c5ed2534ed8e08d70eb1b11e935df35bc137614c23ce66a4275a6811baa545023100feafc0bf36b13d7e7c41173cd80d0e0f6b350858dcf2b37e7b4a83dcd951ec4ff3102bf6698d29b2206c17b2568bb5db0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a758ddcd40dd0b55daa77ffb21366b4c652a8062a04b5edf4f8e2cdfd2fada57d0a83e324a3fe42e4b36ca8c9597afb002307a4aa73260c948c85b8b3cbed6d096b78ee3e1b1d3649bd5b866b8abc842a9179636e6ee26da5a389c5f29d369a092500302047c435bb50066306402301ce91539292f1fecf213b2023f7302b0be46822add3f87edea9625a64f29e6671f5759323b9e285584a4a52fc084866002303cd3d25471f7c614147b0041f76d60358ddceced6ca08e3d1aebfbe34b147215290779d7cc4fb02948f68517d541bca60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a9504493a944ea62f35e262bd3d8c69bbdddf3e25bd9344b36beb6457794757923437da385084d598208e0afc0f9d08e023100fa92f8a657fc47b92a0f46dc4074770a2974d6e36a05ee075c0a77f567b0531a71033181e36b389732d7ec3c25d9dd0a0302047c435bb50066306402304be543c7b2759cd932afad8f67ff4add7acf4279e70b417cc50bf9445b15d8f24d0b1bb59f2503a4ad77d5462bdb9cfb02307106c37d77cdb7fe12147b6d509d57aeed9a282bb9fb6534261460f29c58c812c768ac2dd97696288c24b209bb4a8f1d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023002fe33eb212188eeaa2b9ae3ec28e771f836af9a2b555671c6d12c6bd5364e1f29cd3c7111f7e21db4f408d86ee236f4023052b398b631b83135d2641f6c1a4e873f861c29ddb195f577e5f4eccd4804e5caed9c891f9235527edafd150171eedd150302047c435bb5006730650231008182ffce238ec70b2589d3b6c04ae67f4519125db8f15be1e6a7b02175a469ca2d8fca7de79d8753e9c833361a387a16023008acdd59bad95f5bb2932388e29ced5326a2451753f2aaad003bae836b7151a1c531213785e636cb51bcf414b36be4ad0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310085343c0d0cdda13eab8f131dcce7612a3f868d18f12131f7c561b63494935353ace28d5881803d3d60a82b00eb109a38023100bcb07b16e3c67248f5331ca7e9b6a0071866cdfc1517ac7022b69793ec00436ef84b154058672817d634d08f04dc75700302047c435bb500683066023100fff1ba52ae6899d66718949330e5b2293a64624c81dbc85eba21d298fd710d70b0eb2739ceddccb7eda30ae1c3645cd3023100fd7096fb71d8df9e4b13cf9ca028f31c7191a10ae1cda3032471a79d0d6ffe4b3ce692d4b0434863a85d2e956836c55c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023056339c0e0fc0b5a6c576477776879552d19b195aa2ba05b389fb9d14aec227534c104c65950068bbf14bb57db8e3763a023100b438664d94c9bad1030a840a8bcd41fc91d9265c99dd54ddffaf924b995d16cc9ac210ab2385d32e8e05912ca5cb43de0302047c435bb5006730650230269b16a7eb0c6bd93637e46d8fdf1af9a91e7253a53fda59f33dafbad50299ef951bca4b988e4bd7ec487e98e0cfaabd0231008f2de15d197ee291fef0c27f2ebbb40eb52c48edd42386550da19f88a96a2995a9687ee8fcd5cc72e21086062ce51a190302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a26d4b7bf3bca28db32be32a37a291fc282f839072bf418fea7e1d78b880f6e770b52409e8d5b1bae87c8a4762763be2023100bdd7e07f3eefb3600bbb0b6717809b81d597d8e5323cfea70063bdd3d26e91aaee221aa034cc6c7e1de21c4106021fa30302047c435bb50067306502303bdd29f7071ab61e44c78abc052475101d798a62008118de1210284919e403a221fb7b595a10cc7a54998ce78911639a023100856d6e76654374148aaea9a64b3088c9ea286e82eeaf767616f5c144729883324f85f5b3f6ea763c5e9ca25e462d0d630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f71a0f091620ebaaaf1a4793c30e765c804ad98e7491a19c47617d8ec2145a45454373794a467ded4946df5c1be5a60d02307fc57001d8f829f0c2ae9f0c8bc9692f76026ba467b83e59ff5230fee32e363477f10f62e55d09252cd9c252175390570302047c435bb500673065023100ebf21b8a34bff55585ac36fc6632b2b12b5957812a600e2a49e4973d6072193802a94401c0121ae1219c5ecf5cb5634a023036e64e7b0f1853ac3b99ac6a800fc756f45b3b981839f42d4a793da23b10d7deaa4acad956e4b42ca04a6d57358694890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310089ebf5b373120e9b0824881a80a6fc8263f044ff3c78f119f3616cbd88781c60c04e11882a3987ab6758f214f90c81f5023025fcc68920ceeab7e0f56f2db4d383e6488e75d094214a8d10f04d72ac43a2542fa68bd7f160ccb6d302a699894b45050302047c435bb500683066023100b34c45b9907d3ce587293d609a42b0e2a401e75998fb31381a723a17ea899da57eabf418441ce402cca8f9c9782007ad023100a3480f5fc72e2799f46520778e2715c2228d6f704396063e52cac7880ba031dd63e176222e0491cc1d35fac80628ad3c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023028ca30047100e3993f0127e8debaa41e20414525748674f75c93d4b2d5f776539f813d80c768d5a23600bb08442ccc08023100986e9d3e4899affdac2fab79144e32d83a8d82320db66a8320a37b811c6a60b4ff86c10416e0577ffbca28a42e5a89690302047c435bb500673065023005d1902661561cfdfa35a33ae9f743530cd9502f88db281ab7529fb8425ec45a95f3dcc8d86960b0046fe5127ce5d00802310097b95e24534af01e263533b94bb12e6bfc9081c3e0b6e5e935419392bab4a03197405ae04c4fb37d282742d6e59e59ac0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305ad4c00bb232f6dd0c4e5600663461c282fa3d4d5c147d05260252e7ef4523f60a4078283977083005d4abc90260a3e4023100db7994441cce31d156aa51833b9f467bd5565f47b582cc224ab150dce9e7a616534473283d2bff499bb4067f15cf81ef0302047c435bb50067306502305527ea804b40e62eb9afe92decfb041c5519e2a4f2a1cc774451a364970e17c18dedbc918095dfdfa5e3745e318fd141023100dbd6ae5f4618ecdb91c7cec2db20df89df9ca1815f30d77d2a477799961ff06566c5e50d3e6344cc333bcd375682091f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230600569b6b24aaef9196719d5528639d93089e52d3620102f914c78b9fd3b738d00251521b195a530b23d3058220ab259023100b7128087d659472fadd52494199a98335e4539840836f2b55eb4c5bd282bf9d640b9f3368ac59f57fb4559efb58b50b10302047c435bb500673065023100f1cc1a8e6580374311dbc6e8a399b449a50859544865b23ed39ba8e659ed4fa8a20a67ebdec81df81b4ac5b1e539e81a023063bf0038cb05e618dbba41bf579df945f7a9cfa79ab732a124f83d7aa0b45d013d8b88822f999ebf01a800223001b00a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cba18d5d219ef492a4eaa43d626497bdb2aa49d2b69b8fe54bb049dc3bdfbf049a3bc0d5755c1249822fe59a35ecaaca02304c4e76c0a5e39022de864f5d69d7ea4f8b5e6e9f33eeb5f285c9bb0fdbfe763f814241461e34471eb49a86e35542eac10302047c435bb500683066023100f51907aeee4c4476517290c738edbc488b723db5c627b2e51b08b0e8f5e64e42a954852757e7a98ece6c5de9ce997c83023100dde6137d9f9d8108e743ca2bb9e7deff1e143e4994a724877585890d089c93aefc2edf43b543fb2f7e9c1bc2e60329820302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304f8ed35a12f00eb9734709751880768d08a23299c89d7266db86f70e375851c25260546ccb5256aafed1c5024747e4ee02302a4bbeda39b6af2047070bcdfdd015dce353627c53922b0411a35865d34a19a3644a2d571d94481925ae8f3c1d565cae0302047c435bb500673065023100ab9423d5ee246bcf39ed63c7e89cf52a175b23113d1fec151a3f9c2c2e2f9fdecb93b68c488069ac3d88d645154fc7790230096a856158e1f7a35789167a9627791c11c6bc40d2e4288c1902180727a37a3916565361850fb145a0749eabb5cfdce50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230252c3fabafffa59bd4814e73b5638d52849fff1241208edd6bdf6b5bd7dc0aacf2a1c4847736d7ed08af1614ef3e9cda023100df069c7f1729df2e8ec4508e68facdaab76ac08610c872c6f1ed98b9189e24dd9682359b9366f63c3f19128f1151263b0302047c435bb5006630640230525cbf23059679e3ed5ce78b8e868ab47cc4d603138c5ec3c6982dc1f79c34feefd9908b316bd1bf727ed583c5ee152202304ec645f4492a910ddaa9b86b18d9085b034cae63c45b83915af08d6442e9d5b4a408a355be2574505cf47580aa91257a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e74158d55634fa57f4580a1e0d6094ec384900cf6d088a1a923da71e8e51fa9fad628cc2c13e17c87902351a4d75b54f023100bfe11f252b00ca71e760ccc453cd9431926960f5083668d3d000e47727a806162637fc228b030c7804110ee2daff4f460302047c435bb50067306502302b474c48bfa9548d2bfae1a3112805d850b86b3b2070bcd0d54dd75cfad0977b6fb76ad74635a7ba244334ef59e8758c023100d21e98068ee55eed2752f1950a2552d4c44acfcc09e6a6fd4bf776ab17577616b96b101fd6b2695467514d5222de40c30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302373cdb8d69f16e8bdb1dac3b6f1412c6bbf335f6662c1ddd861e3a715b57a1eeeb2d59d1b4a35b29cdebee5e266f38002305d2bf53e82c725806acd412e4d21ff1d3a3e02fed1a7617a611c6567fc07cdb29e8a43818f91b6cbf58d30fc12a950d90302047c435bb50066306402307368293b6c694d120c2826eaa77d89aaad8933ba00f812bc49df29a1f6f503856f22f28be2ffb378d1fe5f35cef3641502307d0baf305aa1d071dd12580b88846093a96cced17b7e20305e912d3c0524b34706025c2cb90fdb74746e1540014dbd9e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310099b0ee6b814278ddc8e7d2c16b5cdaf712e084bd82e5e8c2ca60f646bc7366f581bd512db5629deff99f5763fdf84a4002303dde276f46dd8239aefb1583f23cf6d1a477bc9629b14be6b8790d9c026a128104999cbe9618fa404ea7a02be8b345b10302047c435bb50067306502300462f7370521ba195761086b09c7e55c2d160ff81b112531c71c43d6ee6f2090aa100876d946e6086b4d1d069dcf6704023100d3b3995cee6640c95369adfab0dea5998ae58381bdfbb75f8e371d8e043433a3bedb0ad434d54517e40ce01a6b7937140302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230691be1d1d44df34bd94dfad3d0c23884ca178336a038d742a733bb5fe575616bdd3b889e9899ca422d073c0d66f21ba40230027f960ce012925b1682d6cedfa37833932edb719741b06acdd4f18fb3d1f4a39e93e64037551bf165849e4c94c1c4c90302047c435bb50067306502300e22c8837c99462a1b68daf158f85caaa1b447787e023edb362c0df9107f9751bd24ac58a127f43d1150505ffd76a2a902310091f48e7b9a4c09a8e0aec3b81a4af05fdd43e106e5dd07d1126239aee9e831a8b9a059cd590bab17fd36534cf5408fe30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230050a8d1ad7f2f23edfe3f0afe1a5dbe0363501ba283256a97655ccae75b009871b06ffdfcf6f5615d7b400dcc1e3c32e023058d8c5c8a4171fdb8e3cb0685e7181db96a34561c4f54b384935097a0a2aca4381d6e7c2e5f09df964fd4047ce9c52b30302047c435bb500673065023100ca40f9456823a20ee7bb83e51bd613f50eeab961a25150159262cfb454cb179d59a54999aced2d6ed3129b8713a0eb4b02304c956e2bf000e48110d6c22c3e7c0d583ec1e2632c00b5d5c16b6fd36f40cca32c77a09e5618e8dde120730139cf72dd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a79b60f87daed452710deca37c2f220ee791a608e7f8a452573ab879f9e179c71e5ac7a88a002a77dd43c84a4d19b59a0231009c9b61a69bca50f62051067ab053c30d8a4cd33c3d75ffff30bb90939599cd9d18317eafe7288e006e93842cb6d9a0610302047c435bb500683066023100e31c0710c102b3d8e6f14983add6c419bed9e5e6f92f3cec6095e7e29943bc5b417a2c775a9e8c412b8f83ce76602c31023100a477c87c289391d92d084b314ef85ebc244dca46b8bac931271eb2548cc969cedbc1e5b91e6979a3b434b07f1d5b52850302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023019cac34eaaeb3263c1dfabad61cbeb6a79278ccdc066463553308416afbf7bf9d2c91da847fd88aa3f63bb766d788b2b023031a5bfa29bd7ad44b53bfb068c08608c0fa59a5397c941a4cbb6d14c8ade8f8e4e7cadd881a0f58944471699e5f93e0a0302047c435bb500673065023100fa3e8a5077c0db92433feb0589d4646bd78d3980b7fd44c44345b19fb982289bec99dac7bb26199983ade1bad6fc06ae023027cbb38888e892ed209064913202f88a504cc37cf2d7b241eff417002a24222c21d47c723c893000395ae23d41005e370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230020c8a8e0cab39c62f0dea61797958c8708f94ed6b0a6e9e1d224914d7f31beaeb52afdb29539a414016db0068d56493023100f5af790974a86df7e21039aea1c3380c8640fe132434a3a8e373b33fac289c78e0aea2524f2ca7194ba1318dea59d5670302047c435bb500673065023067a93005ba53cd28f93b9918dafb4b26bde0f7e031f92a31a9b35aa878290eb6c1cd15701dc3223ec644b4e988607ead023100bc1a97cb3189efbbe6af56eda4325b343a70128a887e3d6743704802124fa54d4239b4920480d6d692094bcef3c0e59d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230697451d67adf62b73b1bc0a3446afe55ef1ccd26860f80210529bd0520e1f2be8b02fe3874a9265436b3b8839f7209e9023100e40366392f7c62ae9a34a29f83b7defd5a139c95deb457c39b2be8eba7a48f852050ab3f4f00fbab182a1d9d8f47ac170302047c435bb50068306602310098e65238b6a29c65d0b61c7e61368a548ca9af8143f493b30650a97496fa72b0c1b1191a2799ac30edfea3b3a7a70a1b023100bc5321d5012ba99f8e6aebfab7965aac9854be67fade672aa630bbfd7fcf1528fccd388ae9771364dee4d0e1a641c2120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023074b948337fd903d95ffa56173e3524f12eb79e5d7326cdcfefe50c2dfa0eac7b432af700d0ddbb3d85ea11f1d2bd4c81023100dd34d63bb62e13cce7fac93387f21d416b6fdd4785be70919fa63e7290b014b846f9b0c19f391258742cc1c897cc10860302047c435bb5006830660231009bd135f00bb95094718d0ab0f5a3aa8aad0d1a953ce9dfde45f732157174a0ab3883898dfd1984fd76070bee3d56d438023100ddf6ede298e77194b55c3968819cd3884368dc512e733cf1d698d9a7e4b9adde1a48c9df0aca23359ca73d61331cede70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b11b879690980629840ed87ab7be0b23f3b0c1638c98690eeaeaa712633b3cd7d8443d8cebbd3314673f29a6a9add9c40230185ad80a5e135ed5164eb76a818d435c91ae1d4d049aff1cde8ca19bf739170ae9573edeb1e87de8f3a02742dc2023720302047c435bb500683066023100c3f8e47104e8cccf2a2efdfaca90e8ba861303100c717356adb8cd3d512b3bb9ef1edbc0bb9e353542f87a3c817e0ef9023100fb1954bf0496455c1f7ed7981c4a63ea305a3e6056de3868b2848c03c14d1e4026775e8068496d58b55f8dd567316c730302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100df35a59f15a479d99ccb43df0587c471ec953ccc27e4dc2dc2af22c6bc076584324e65be4e83e8e44cbe9faa08e232720231008a4b679625f61c32400ef74812128714e32456c6b9dc6386edf99641ad38d203fd11673cab2b07ee6cbc842ac1293b440302047c435bb500673065023100c02312a808d969326c32c18cf6dad19848942c650606624d4ddf902cc657644da510a484004848316b4c17f80fa97cf0023042d85f3e224f01ec9b77d5a209e611bf0f8c363586829169d0e1660b0966633e233d519d4022eeeabce08c709250f8bf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a3ae7408895caff66e49e67fbc972a720a8c00c59181d59d47090c5d8939fbcd6e8e7ff5a7d3130df752b80b1c17b3c7023052cf6d7258ebc00f5a2a1581ad1a481e8be46fe032df62380f055ed1ec4cf4fcf0211f547922b0a45ca5738a6bbea0070302047c435bb500673065023100b41c2aa6f1c1cbb2447b838cae42f333e81e3b6880270093e24d58ea3b187afad4d71290bd43e7737a8f4e3009a3252e023051f98e4cc27a90cf52257031c31007df26faf89011db7238a389f5df46b26a0daec5853cd51ab226a203fa3ba6ef1ea10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fb69b27d81b5be3e40faeec86b54a14dc416d7b4c780dbe6f95ee61da1e3639c88ba68cb02a251f2d2fbab8ba522031f023100e9255c49fad756eebfb373f1c070d6f96f02d455394c8c38b428a4293bb3bd135e77723c48ec0b594eb17f448e8945e30302047c435bb500683066023100ce9617468c9464226ed8df22d51a451a51af47634d8f225db55c7483e6d2f2b353d3590f8b6f9fbd6b35beb55a1f1b01023100b77a770202baa015d4b824f5676d2ce6faa65217e477c13ebdf92d1701d133a89d6d53fc9a143a843d48cb23dda5f11b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230657fb377a31a1635a0445c850633f0d88f213ae0cb7cd975a7b4ee9834350142945317ca4ea99e51accfd75a47c7c06b023006fd6b6be1bbcab4bbd1fe23cb752da439d9491b9715042f74cb77c543e7ca6fd50d80caf6ab6afe9c6b2faa83f1d04a0302047c435bb50066306402307196d96fd337389d6720d93d081fdae23581badaa2afb06410eb65777ef605a35337e0931f8291c86d2934e8d63d491202304f92ba82f01741bbbabfbf5acbb5befc06fcffbb82c8a4cb872d468b95af09ac14c713c6776766bfe97c3d4d726cb1ea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c9e428c40e98ce05ced0d05f39556ace0d9c2e90906e7127e7d5bc3217a02082f963dd2326b64190606ea463f4b129e8023100c31ef2d3ebbb272eadd9888296ff0f2ae4ed2dcf0dbfa7dbaa8f136601dd4b55bd2a60ffb6d9c5d576de1b8572817dd90302047c435bb5006630640230590d04752e6bdd71991ca65ee11aafdc1c1a4f64e18fbefec9e31720ff1674ffd1b635f04ec31149e5d7faa354be50a302305a0dbcacf03855244a9a00fc9c4fa8a6afb20090cbe6133d42e51be7dc2da780fb9502fbc1f6c6c40ece3cb95e708ebe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f4fd176de8b9b2bf9224d9d9eda4667b570c191bb612a1216b291a034bc23797fb6d2028791cf2d4a1abbc3cd429f595023100c1aad4463f9db1f9d0049cbe16376188899c1ca512901de5a078f62fa80f2f3e9a5087c7c9f3c3ecdadd6aaca4d9ea560302047c435bb5006730650230684eba2aeb0b9ace8d9835bee186be1c489e8e58555ba8e7840ad821f09433b03afc5a77d838394063778a5e336fbd30023100eefa27c354ddd7d851529c4b2627ee3f1e140d3db47c18738e470dd41d7c124d8414d0672bffbabb1e962578fffac7ba0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023035447c4206ab6dc55a9eb7b0ffdb13826059c4466c0e7f5083c4a48c84219248eddf90b44869efcdf73c64010d936c04023100f8dfe792e385cef7b0705baab8d1cf670c04805fded6dcd31a60b9b79cef8af42b309b4092586d16cef51d1434c0e5380302047c435bb500683066023100e04a75b6140ad5f0798c2513489b851934ba801577243f0a32f223cf2fa6d8ee35016ef4049cbf4d4e155ac55e846480023100b19dc9f3b270478a3a636681b4d029199d49fd368506acab0b998ec52edd5df41baa2bcda76a35017b5553fe0e0057800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a852d57f335029f384f8cf0e670436c453d81dc06f30e9deb945b5dd5cdd680fcdff847f79689d163b1a6162dfa4f90b0230769a328bbe80e48cbb57dbcf109d3e775f1a88e68aa4ef3b8a6021c29e71210347c95db4ad20154f53dd14004c32d27d0302047c435bb500673065023100c79b3c79bc47d189ae97df0974c0824ba350a59a8ebbaa6f3abea4063b806cfd333b64aa04dc72464e80835a1c54db9c0230236f3f9db5efd535003fff48464aa2e7b52f33c1ca7254308b8570a24b4a6269315f96b5654e85259db4632f29da7bba0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e701b9e12aa5abea600f567721a3e4621c1842cd943e620b844169ae5c0ea6aee97dfe3e3f6b689ce95f77210110a884023046b7a075f6f406e76e1ee6519ee7330d00e1b2bce606241af566440f3c101e8f1762e0a61550e3daa2ef21d37d61ed9b0302047c435bb50067306502305242764d00c01ffc99fae9d2524308fcf19a939e46b38889699c8e22208667d5f7f42fbe3434d76a0a2b8e9841cf54cf023100d4c67985f7556351fadbc1beb9218b78f1ae2a34c704b06157709a8267908f823e59c7e5af2329483cf6ccc2abbf00db0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023040c890ae76084b666ec15b58162e77861b483255158a4faf25bf58f33a17fda672edb9e38249919200f95584d83373eb02301f5e429636c9ac02fd0fd26a75a30123db44a2be63523a26a446f270926c159e538c747c0188fd05d34b37f934b6bed70302047c435bb500683066023100a63fb82cc38057160400e5f82bdd24e8604ae2be273dc67afd98feee7437dc64fc2595f5e4621aaa7611bee46cdc51fe023100a709ebc15dc99a42b6b978566c9e3bfeef8d20cc2026d8a97ad72b039ebb172d5c12392e72611fe3cbf3fff5132bd65b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230741edcf8e3e1fd09000cd4b5cb8c47f923ee698561a9640193e84708a6b472f66da5e0e16f4a7cde5e8b6cd2203a1b7a023100ae8336330ec5926db7cc6f1e8dbe6dc06b63b404043c7e82aff38e36f050fd020439e6a4c79947769ffea5f4b54d6d460302047c435bb50066306402305ab20bc29488e7b4b25feb96281b7bacf56881fa466ab17c2527b98a181d1282e1d8bd417b63cb228ca7318c38cb39be023017c5221024f4531605347c31fcea0935861ce7d6b37b63ce96b98063163464ab02496cfde1bd5fabf5a52cbb7494268a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f4c6240bc07b244b64978dcaf846203d8624b53630c3c70f33df9e9427cf129ce2c47cb987e37da03f7dd12628ecf177023100cd084ef5925071b5e63c59c601c6acf2ea64361096ba97980a23191c1f1a8a4ddfdd70635ae70235f5efa0914819682c0302047c435bb5006730650230497cc53f595a0d31d75a841cb165a6beaa2b3f4827b879148ba58d2467abb9e17b4c15b423c2fdc7f4dba30aef44a6ff023100a214f87b30965a38418a9e61486701283ccd59b022862930343c71dc7a3cf0e0e7e1b35d6f230b4de8264f185d93a1aa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306f1eb1b1b4e2330174f331b0777f2611ca010d1cf3936d51663ff60bc16ca8749b7ba1becc943c2fb40863fb5e9acef2023100a9884b73439381ad9811d8944ce85e6b0b83377739f2b00cd8061e25dcb20a2491de8ab2f8ca3b9f312f697228151b190302047c435bb500683066023100a322e3f9502d6c698762a515555e5a9f9adbb7416ce622b887942135c03492e695f411d6d8c3b33fcd477f2f9f0b075b023100a3db3a3dd6e052e6fd22899e3f9c4326f53d43980a3074bdcd21305ffccd91e0e7a9aeed2c487dc960d5c3a851fbeba20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023005220949bab7c497dac525e7842d28a5b3ae1c9d0f8ae33311863be0f65d0c7b6ee567e397109a825422bdc47e839cd50230072816338377d280b56737602efe1de4db087d58b37a51a7da5adc14859ccbce0e15b3c356707014de63f5713f7417e90302047c435bb500673065023100f6b1144fb9d4f252162af54226213f563111786acaac37ae35758c29c9c256eaae85ac674461851a8d31b075d0bc5ceb02303f3e57c4e431a632ae9b5ee41f3ac24e6952fa58da8cb713a3a31c6b48e9c76518a2330045f8e287037b65a6774ddbc70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023011e3c0ad38764e3faf0dee81b7bf56fae135981dd52c3e1558812e81c4288a3f4aafc54d909a6d87df5071259640c34a02302080f0230539c089d822b7c0fc9819a55afc20df2553019f22032ba48265834139f381f29c5dbaafcad585dbc170eb820302047c435bb500683066023100f7da2d6849ee46766b9f13d8ac66fb8b14e33c90d3f3001e81d7eae37709b0ddaf0c08610390177127530ce5831565e7023100c78a8b76abe973436e5de981e2659e0ffbba00d4f052db833b342c3919051f8142440eedf75c41abb3a6382390fdb4880302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230732a3d1f19c0abcad427bf4ac4899bf92a226ea72122b3a1358fa9d316572fdcdbc18b5d73d655f2674cd9fb5287d99e02307e9278adca7c84ca202d2ba682d86ab58183f4a6ccc60697e95c02abd934ef1d2ce2b1e2a812d2a5207e2fdfcfaed3990302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023079f0752169077018cb0622ea4be2de4aa08b1a0793a0b0cbde09e73b49f2c55a8ab9ff9e3f45dead2ac7929269f86f2e023100ae4f285645d2b482e992ef5308bcfdb8a587bc5b39d045176c97ff6b3d23d2ea67e9df5e1f25230a4f78d5ee2655f1db0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305b99d07ba4a50b08237fc3ce750170ced1085c97b6fd459db6398c9fa1c0740fd142b41f954baa4eb46656664ced4e4e02302018d0600fb9e7b843fef783b3f486dda229728716abbd7e4a68f97edc01ef9bb30a788371d860db4c9be46803a5f9810302047c435bb500683066023100914b12d13a482da5818a64752a51059b9c7b6043cd72dbff230dabb97cd81692b5ebdd188a0a4c3753b949d583346bdf023100cb0627c398738f357adc4fdca062da9a86a2797f652732de5df6ac50de2fd7a1746785e5b8a133e9db350060291c8a5e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302ed4269255d0fc72addd03cf3da725276417d6e62ad9e7b081ef92e7f60085d43504de92a88926265de6df313829b985023100a499f87bdcbea19a7dcffdd166d56f7b6042bff9fe49a03c6a4e6b84fb3aa19b95721320281abcdb85e5c8d851554f3a0302047c435bb50067306502310084df65307dc68974192073df7356e65b4ef4a5839549d8200fd98489af959cfbdcb529537cc903101a0fa6aad683931602302eb38f0181580248181e5dd8c5121359b27b25093a2cf1f98d486169be2791ab017537a93f9c98aac5410a4f1e23c4dd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100df3e3f1f51565f74776b083d420d850a42350aebe4198d6aa52269b4debffa295fd8d0accb4e49a520f13264f89e0432023046662ce4b5eb3df0f6975fce4decaa75547a0ff2cc5b1dbd75f1e0e5713f82b40f331e456c2979096902158125a6833d0302047c435bb500663064023006ee276743a02d6bd6e5d3f11055c2ca007351a7374f4eae0cfdc0a87574bbe3dff44c81044af7fa83eaf24dc99549b702301edbca279828df5a1649584e01dad4d512a5c9646fb48134112d9df2d9a17f8cf31b54b6eac5c4ef13488b3f7d41425d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306ab4edc6436ea0c4f26c84683bbe31b423c43cd7657d9375a29f7f86098ede10774deb9c0f78c91f4433e0f497dba2a3023007fd86e67f4b7a375e24c3c5546be1bfce21ad0f5d2e8660f7f11711672af4b2a81a93ae650c7b7a9f805d6f992973b70302047c435bb5006730650230267e47b6877af18fa63c8efab8d24ce08067ca2b2b3e4fc7173057d20ba04a732ab1b884768d38003d45a36bd0166cb0023100d40ce8e9fda405d59c0f70cc6caa01ddab3177b6fbc3e398ab57991ac4e6e2e163e77258eb4a97bce4db07303dbe994d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301bc86cf5e92716b0e6860a4626e1e15c131f954f0f1f33ac0bff779636aa19d427a0482388f01e29542846f14c7b897c023100fd159a2a179b376dd0eacbd0345d01135b2765857a913b4567be5d111f13f9dc0234b0b5f47cc997a24e5ee9aef958ea0302047c435bb50066306402307ab7db87f98b630b198c7d085712fbceadda4d594e632443359a0ccd55bf752df9b4fb7b4f99b9e9ac01a3af1b6a4b0702303b75569ce1cd50e794d00d016a83baba83af7fc65668e2e0db268384ffcce6374f086af055cd569d674a27544643adea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100caa33f8548f754cae4395fca191c295599d0ec29977f232e1652b06c72717bf76a20ce9658417afce39d50728971130902304866c9830c69cfd367ef9bad9e3b9fad418337a81fdbd026a7fc31b4d467bf5c5ab24a607be03825ff0f4e1b9ea595940302047c435bb50066306402305824db7c867f41f6b101e896623a392a7d2e2c93748ee9f7e0a1070b630a6ec1d5143e22e20c899d37d2f38f2358ba72023073bb90c56df540e86d7c227e1b60302d1f3c47af55f3548bee6b16c8a210f7b47d4b7a44ea2a424a0c3072e42f5d42f80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306c346e34333e1bf68ac5fb2b0e1fccc7355e7608d949c8c202dcff2e8d296f91b63a7d3c2d5cc505403ebd26d7090ef5023100c2892bd3c2ad8c8ef10ac2323583e221a3b1e4997d181cf27540ce9d8050c897cfeaca7636d6399a39420e4d0ef649510302047c435bb5006630640230434c16efb0bb4f79ebedfc7853fdc33c2fef2ac6154e3fb3a5438536ae6fc57c0c31f03860885475c2b4402854634ce40230094c2e74ce29f83fa2b5b9dc853ce363e974d2f6f38a9bf54e5fe72a987b094e0873f6ed8cf50bbeb6e4298a660bf88a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023060a83a0eb8cd4bd25d81fded306794190ac12a12f6ad2e12c82f380595f333f52172d4868e00784814aa27b4f193d3ae023041a53f03f5b0f6cc3b42d1ae16a3ce0c6eb3195841d61fbc55340f751154d2ee58c6c80d1ceb60af981a8781e9d3b7fa0302047c435bb500683066023100d5bdf5c67342d01524bfcef0b5280bae937527d5ccce5dc5e54313750f4a9472d8ef55ac051e91bc13421adb3b39ed09023100ae97aaace1f8ffee3d1cff9d2fc5eb267f8b8a851b2bf7500ffac63100b544627d8d6bde9289257ef0f8df7281f0126f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100eae9c1f33c4b541e3276029850eeb4211dceed8cacd60e2137701538bc411564a76d661f723da53c47cdfb8d559fa3f1023100915d5dd2ea7f2f790b1e71e7c60c7b23efa591e7bbde2f537737858719488e2647ac3c3301a5e2c054f14bda74a4a3fe0302047c435bb5006630640230610558977f3e73d66913629e1f0d20fc8fff1ce5eb8d572d944bae5aa82cf4006549d0553a1b7c45869ec061ee2bb09f02304cde4a9caa605e9f16b872879de7745faee12bc61e37954bc09772670789c2b6a3f7291db54a578845ae64ab3613bebb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301ec82dff87e121a7360e0bed03240d6174b445c78ccbb721ac2b8ea89793b5e3b25f6db3a578a64677e987f060c27816023100e03645880ff99f74d3289ea188e70c4d098f01ccd1582189fff673e882cda07a3c84044896ddfb9cc100b9fd2f1493280302047c435bb500673065023100b9f339005fe1bf50483eafdf8c2bbab625f02db712918a03ea4f232655522c52b77502693ae45d9cf0a0fb6c5b47380a023010e429e18a9894df884bcc8fa452768cbba0bc52fbbc54fd08bd264c398f27d18d5e1eabae33b4cb200a56b68a1191770302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300ecfbfb8374513844b279b6f98559bc3fd8e947854a3308e9bd46d7b61c2e494d117b75d52ffedc2a1c913206883e6be02310090dc5906fbbca0fe1c2c5cde2a9744fbf85d83b5b27380ab840f18bacb7ec1c8f0efc9bcc58c0f3889ee63ad9209d2e30302047c435bb50067306502303b581548f15337cfb942bde356d1c9638055aa0b888913d8bc521feadcbad776786d083de50dd9211e04360404c87942023100feec679a605e9dfc700d75a0db28e2d3c631763f701cc84154dbf4cf456ff3b18a165412127f6f9ff14612110533ccac0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023023f696ca1221d9ad3b07d0facd636e28de355f0bdb6f8dfd8860a1ed84b4d48660ff171b49b059b9f6fc728c8e2e8f6a02306973b878b2c9ed9a9270f62274b4ca7446abc3b44ebe8ea51f93a1c1fb5d671b85eb4c67c36e375ec7e5130b758ae8ad0302047c435bb50066306402304fa86e7fb95dca37bf13dd9959e416181903acd7621c9dcdb0162360449817d83c87db111cb6b4d55118bc546e613d460230268172abd0b7e305962e4198671b9e7d495a3f79b84bb4892b221014731d24bb0cc713aa764d200e323737bb562d88620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008b7967ea8441abfbdb5fceb31bbefd6406cec07e0c44ffcdc23ca76b19c396ebaa230a388405aba0d981896d69d3c15a023069a7cc900748d59da5265142de174b3dca0aa006cfec5cf445900c44aa690516df3bb9a2e613fe1ed284a0b88efe075d0302047c435bb500673065023100e0307883077c9e98b6015b39cdcd81b31d09e87fff159e4cd522ff28aac788130ac0236beedf1b546cc352bdf473b37902303faae2248c3e0e363ab1f8ddffb7604033686d5636bdb6d6071b81cb4799e932009363ac5903ea498ffa14ba464e04fd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023053f7b3dcd5ca88ea920cc98799a924aef7b45503a0a43811f298d709efd307b70ecc5faa4bcf6910d3c2522a49e46757023100a17b2702820d306c7e855fc219300c39014a7f4c58c284a1b81356e84806bd49d4fb839171e73f191afc4b85a419a1fb0302047c435bb50066306402304f0114e8f09112aac51ed412b591735bbb21a9adf2c3c6ec8289c4880a0144721174e144219aae5d10df179b326cddad02300a604eff1a93cbbd8a36dab4c85df52252cc7430c4f21d7749c49b0b7131a13963dd8f8f2c9fdb5f17934dccce362db40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cf919e584309a25200bb41b52e99e620806a84c217b78358732252e21f4e4df075521a69ab10e32a2c03ce8ad2c36ae702306c941ffed9c3eb3da59ee2fd85161045b34acc8848d15a998ed3b3c13e237bc025afc9972a2e110442ab0edf4300e3750302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023031a4e412278fee48fa2456cb20f6760fd1cd49c09d8dab42e1ef918444710558a0e3c9ee29e0bfe080892f6ce756c09f0230153c440a4276c60a988f4a9bd3e663f6370f495d124959d76876eb6e53b0df549becf68ac7b0544bde28ad44542be1210302047c435bb5006630640230347b34f31ee529e09708f8b77957452089c62583408c1cf991b8832258067e48ef3372d31c15e07fd1b002bedb84a5eb02306f764d7e5b83652a06b4669ee64248fdcaeb74117e57fe2e48af6e31bb936a66a3f9e4c9756e5c73ffb30038c624de420302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009910f8367cb5690b0cdbac02f82942713cd5efca64dad3f40e5150938bee7c2f836669e5f116105b5372caa2f8b258b40230317ec793112660862ec867413d37f6ef844a9ad7850c3d3820aebbecbcbb1905fca2b32e63e864535ca40a6b9dd547ee0302047c435bb50066306402305c25a06f6d74107dbf46605041a656368fccc743629756a5d18a0c1f936868dc85756c458945ffdd637b4b870302fb7302302eea71a317d6259b78e747faa0b98c3b36f76d7e3e7d6f0149d90bdf7aa9f65f8232962ee48550e1cee4b93a12cebd580302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b7d38cf8739062a2fdbd057fb8888b4a8ef4c5b45858f213efc55b2f46fb1b7396ee1988f93c3a77c24f16ba0592b936023100fa7521ce866191a34426f525aa539ede316a3bdccd0d29ceace97ad41c28bbee3fbef9adbd3b6c885d1ddc964a540d490302047c435bb500683066023100953c30ac845ecc9eae911eefee2b1a6666a34b2baea0a0fb7e0f3d372fa3c1c29ce8543b6c5225f27b3f7f04b0d4c6e0023100eb06929668be59d8b496db0fd4a22c7cf89fe4e7e204d72ce7d1fb85f3a54e778d46704536fc546d0175567665513a0b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305f3e8b8637615662152960a5e088da32b6428a4899db4998286441759278f054094394f2cf566030d9d80472d369f84d023100ec98e77cb52d9449b0d5863ba87bb17c73079a9250563a28017d26153d03bbc0707d2d08ed1fd9cba42abe06dff1290a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d99280a011d0297da026f28c0a00b02601323d04fec281652a83031d80f8344ed09189f4938f651b111549ebb10cff740230537cfe64a6d6f4a307e0cf449e3c6fc29f344a881f2ce42659b69a0066e8caaa1c5fae2c61e07227010c724efc39acfd0302047c435bb500673065023100e0c6d6843fc44b960be3f079b88ce7da22b5d9e1b1a832493596fb704163a012d33e9ae199eadfd59fd345d340c084ad023046357fea70ca9ff8992e54d4cbceb036cacd811958b302b9a417f203d1a5f02c8c3a314152c6b2cb3c68d569af4e2d000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023048d2557695061b18966df88069d09022d2ed495aef26ba1f16e1f62ed891108b8fcd4a61fbe11138faf567e1b7733cec02301989ce6500ebaa2c0ac48397b9ebe19a8356f2af3af13021222347f59e062e11033fd7148229f222d6a58e767733c8930302047c435bb50066306402304eb64b4046b054b38737ff5095bd60cecff716172ac7f8f380b8e4b3230320c611469944ee4794945055fcb5fbb2be1802305c2010517e54c5a4802af4f4eb6c6c45f1f77142b147dc01d0ff7895454ba92801e57d4edb144bef0a990b6c0f2743760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023061b026bc634effa24b866915f3c7652770706086745784fdc56db3a6ad68171428044a1a8ed2518a5b5fffefa90c89f8023100ae961f7bff2f939e349c97d5b95ce9342a8f5c8d04bb5371a30b9e728bffe175097f218c07f2542d17a7fcf4bbf46a230302047c435bb500673065023100a9047f5d1767510ea17f768adf3554dee7d128d5041af12276a645d878972afa31db2dacfb00f46544cc5cab415e35e40230539515b967994e8863cc8b14876a205ecfc3a378186bb50b3e32540ed849bb0ea222d96efd45d9fe59ccfce7ee189ea70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100baa2a83c1d97cbb37cfed9a68c95ef44c977e8fae54660421b3130f8f39e9ece1f718cd8fbab2df591ed6b4d1cb7c5b102307d0b985b19bac8260d6d55b1712a3b31a54786277a7edfea7c4d1e90877fe3d5bf95bcd35d6f5e9080d15efda38c083a0302047c435bb500663064023029a93c4c3f61daf6af9f93ed1d3deed124f407c133e66f8e059e037d5abaee12132298f644b36699633bd75981585bf6023019bd859fd0dc3cbda7b636210a29c821ac5729900eade57aaf86281bbadb1f2b72d35eb4aaae9fff9a914d47ba472d600302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ccda090b03c99a879e8bc06f78fabeb287b78c49760c3387ed4c0d4b71c4bfda6c936b2ab53dda84424272311b5ebdec0230477e9a62aa3d7168ca241768c073c7f6610f293d2c06d794cedc7e2e3fba68af439045772dfc03ad82e8990f6d0e894f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008c82633858bfaae97bb56d31fd3d48519e490bea6e0d6732ec40f0d145cb09c8b5346dfe25d5444eff914850287121d7023100f731fbbc89436ed7d371a48baaadbd526970871c470f23ac2704aa0407ded8aef92c90b535e383e7ed74d5723e4d268d0302047c435bb500683066023100ff068edce6c746e693a0f826e5b186f92c1567971123b39b295b60926b6f3a3708befa643edd0636ba50c10aa2dfa72e023100f72d1e83dba72b10f2785414130b41d94bd3c760ee345dfa3d5bec0e99f8530888faa292eb5c534f7a840e1ceb7b7ad70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300a4840c4bbdcc62cb943e7232f323d8629cd171a6f7c60572f8517a1fb3bf79f0319db7b2587d7b8b81045cc66534293023100c6cfb7073841f915a4608aab2e4045ef5253d1f1e3bcfcd599442574036184d2552d351c9b63b3cfde6c8b6aed4a88d50302047c435bb500663064023068c63e66ae36dea9e4774febab22a0305ecf17b7ae17dfecd83d76a7777b07cef422f4f77f01f27bfa1cb27449c6a37f023028519ed1ee09e6f0c24b4dbe20c1c443a497afa31d21470da7537aadfd2aa21058cdf17f6db627c9b2567165645302e90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cb24a32cd1e231ef79dbe80a73859a26decb92c01040bf68a38506402a9e15e20061c20a77e7cc23388904b13d172e85023100d5626d923cbb990415c3b15c02ab79144bb22c114e338c5208d289ddeb39434e86cb9c1f64155bc29a4ebf1be0a47c4a0302047c435bb500683066023100fe3072d3fb1d03b08ed0d74a43dbc205e61d1d12ee290d83454b4868b8e07d7f000cc7370ca3638317ff0f9ffae4b37f02310099bb117d070e4843f0440fb95847b71bebb05244301452fdd395838de088f0613df9e3e5f5055c8e4131dc732b163ac90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d797526cd6ed0ab9209d67bda701a5cfeccfd07c1038e74ea5ca257da3afa9f511a9d43539d46e1f1070e811913012610230670e2e2f0a2fea7eebfdbdead7a6197341dc98a644ed847976584fd2a65785738d4b994c29467adf3ec29ab7b284247c0302047c435bb500673065023100bdade11be99ee393cb619a6f869a6c82d730fad8a3400e478060266533481b41b2208c5666c7f8eeba6724bac5e4960302305dee07d7020a2271faae39fa02849dc17d8d2f7538ede5420b1a8ba7916af0aa0fa1af327eae14c9250184d186af6f460302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023060f858b6966a9d5e7a9047b41dc2ebec1c5ed03bb638de919d77a1dca24f5f4fc8ad5fa479b3598cfa637fa0e1cf4b850230040172971b5f91b4d9a9a44b6746d432e409319d66751391819d2a6ae38cff5be6b8da0cfa1b2cb973b4000e43be98080302047c435bb500683066023100cffe0254cf2277d3030c9614ccaa78856feb61b6975c298314fc8cbf88cf9bf701438b4723b102d5fb1bab173ba84bb50231008061d52cdd0894b79a38b357177fb5f84b0f9363ac66c680de1c5005e260aa7a9df329088976bc221fd1b509753170b90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307c6befbbc56597514212fcadf4c6962075d83c88ef645cc30dd1d9d0f3f3b69af417843070e07d88506e8c88dd293c6b023100a61c3c67402232829ff2cdf6bbba784657551c0c9c0dfb49a819bfbd48780981b58cb20fb2a56b1d4842efae1c257f070302047c435bb5006630640230496506d28fd7d799107986b6fce28be01438cf04326f23b3cdce881dc0a9accf6b2c5f7aeaf58c1aed4bc9a6b0ece6c102305f4c4975ef3317c9cbfe8eb0fc9d2e7829ac769e687fcbccebbafd267072a1e84c1901f79771f74dc3dcd96e71469b4c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d67557bd519805fe284d6d9d6badcc8db2ba6ee346128b7b31f1835b416d11f2debb040ce7e316f66790cbd8fcc84a2d023100aff46b25335eba2990609a510840a0f4c00bc9514490fce7351de2eb8ff3d8ed33c87706660a8ce7c457b2056edb12300302047c435bb500683066023100b1de12d7171aff1df075d72db8b49a4df51fc0d68e7f278bcd7c98c491fd60c299488439a007d9fdc09919100738feab023100de863d2d1e247905cad053ba86503fc209910f78c82ff7a56b4dd952650d7b422b1b4b9e26bcd3b28a12d5d166ca15ef0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a237b166666161999cb1588a0bf4a94ac1a96cca916dc57dad9efc798f500d2630ac67d1006406dbca692e2631b8cb4c02303ded473cb00732a60d58e99ed124e780fa56af9da4110b825d72ef3df27777fba88219df90b0b2fe8bad04b4d38c8b660302047c435bb50067306502307f1fca4253d15a65d20c3c76c7b2ed2548af3c19736fe1bc2379788ed374f083f5afd3d0fff6e2faea94b00feac811680231008f687ff31a5a5c61302cba4e85ee5dce288dccbc50fad475ec1d23c9eb877289c0b867dd9362cf692642515f71bb3c740302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023024b3af6cd201c79325ade8cc0d972241cf240e8b3fcda03e7d6231f512f183aad6c8c6c268d67c4b92eb4ef1b4b452e8023100da5ea2ab8ef8be0816a1b11e39129666763a54cbdbd6fca252e109d338da84c311859bbbb58777df2249d9b7abf91b6f0302047c435bb500673065023100ce8df7c77ea0c36de30e0ef93ec9baf49fc3d5a8e7b526fdbc235b986ce94e4cf96a8a2576c0e8ba77d264fd0170d22b0230396ba1daa18f883d7685bdbda4b32fd21b3cdd3690b43166f2a02c72432111c5d61a8d5ead1e7d042013a05490dddc910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ba02d6432c95db5c49916941cea29a5c3b2afe1a178338cfcbb46a5b2fbf6cd42dacc247d3d19c2100d40b9e672ef86002302fc3b4d03e1ede16c5810a9d53113a7677738c4d83c2e06957bdda339c006658c918519ce9e1bcede9512e50ca95bd2c0302047c435bb500683066023100fe86f830e834a5d48bf09ba129f7dc586bdea9eb97e15a4fd55a10d2b9c4c7b16660b0e85ce1d7321dde9786575e2635023100d91650f446ab23ad1e2fe1f3d624b7d86ead86c0fd523d78edee5cbc98a7744c7735696b0e5b1bd9feff0e3c28a6ee890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ceecd8dc4e7e1085497cb50dd81c70cf7dfb325edfd0832ced43fb231f3595e6fb0d114cc27a2d8d012968d995188fde023045840f7b742a67350e68c3b00c1cb5b1a64fcc04964ff64fa2779516e8107ece48a0022f5c381603bc66c9a4082699a40302047c435bb500673065023100c3789eb0c6930f8b4c58eacf119843b2eb5e3b29a1099a6ad48793dc4f41cc420ff766a485cee9c0f4b222b1a2bdc1c002304881662d77068af7b27348ce49bf27d56bfabb94d5fd2ade7053ab8fd9ff94fdba65a4b16a8671982122229fa8f907fc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b54b38a8b5b662c5c2ecc975807f39ce0f5c1ec61a1a971ceb37bc45a1d5194a2c2839154ee919cd24e37863de978fe602306efc275adbf006074ef366245f9772254734ca56488879cbfed9f45b0a3c799755b644ca114901442fb7c1ead82309000302047c435bb500673065023100bbf1bec30dd4ec296dd9371d986e58d1ae5f95e405cb6eb5a270ffb2f36028a17b726d42dbb5846990cbf7bf4cb84019023009d8f335807af6357ac8b2318ce17c69a1139344cdb312267dfd8ac490afc4672e648653dc240a67d958953d3bd9ca5a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301ba6e8ac9b4421acf4dfc295eb492e7a72dec11aeea48ff68e0df45d1bdee490ab02ba70a7f8a8b453cb073b063de0d9023100bc5a855c7c477f122a853756ec830de416585c93ecc6208355dc6b5194600b1ddc0be8101811505e23cddbb4f82fd60b0302047c435bb5006730650231009f94bd23a93b6d0a30699ac0751e69c1f89217e054713c835f993f35acf03c433127ad4dda53e5a1d7702f854009c84c02301f92aee9da124c92ac2bcc9571cfd33293c942d48d0f453736b8ffd310f18a1874703ee4d3aadb06633632047153d2740302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230735249bf6deb6df008ec60d1b9afda2dfd5b19e90043728a8f48cf4255f2c172df1b037da8451e4111f2a9e88bafed9e023042d470bbe2f0b753ae334b28025bc9f87306ffffddcec8f14cfc27639a21bb23ae5ec5426e791afd43e2a27956a895390302047c435bb5006630640230287c54b15100233202edf6ea5369da164c7321ebbddf17b5fffeaff7d6067453fa334b0513217ad24c74e62b3cc260be02304d9a2745f1c1de405f64482d189d50c18145cc92086183acd409aa7406166006ed4e34693138c0a5acf8c159dcd9f7a00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310090584a8d91bc322295a25611fc15f1d47f8bd8fa7b29bde031f46ce1fc9e6420e67b18d83621fd053c555aeb46df2d7d023100d6648ed81c02b34d7aba37c91d1055c8a89652d06a20468fb1d3859c09ad73ea5b1fb5d8a8abb0aee69a39c4a9018d640302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023021ddf1e379b049abeaca1d30001dd76b383fb1caf3055e96ac3e70b96ce886b70ef10946e8dddb7037d6855f307aea87023049bf8b2f8bd8824699b02c8d809a1b4029ec7bc4c32f80bb8b7a8c528a9633170d29d33a9944e90a029f4856e85462130302047c435bb500663064023028ea0c7ab99f28d3b9a76c91278f81cab0fdc4cdd5c7e1685b01059e895693864463b2aeb2b294542d4c6da85e43dd24023018f8a78e4e71f4f06a4f4b9442d778e21c1b4e8e13c0568ee020ffdbe1e453921c7532596250d81c96bd4d821595a2d60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306f747ef9daddd912bf1ca17e02efcdde0c0e58b716c33fa8ea4665f28d21da21b5090edf3482f13aa0c785bfc9fa6dd2023068afa24eb7ad2928b450e1a86b1de5899890bf939648046372365b8c8ef796f2a918733b7c393b19b41f3b2dc4c88f9f0302047c435bb500683066023100aabbacdfa1b97182e88e373328bf5f674d69b699ba6bb5c34d691309e2b31d9dda07a81e697030615b5cfdb7255d08f5023100cf47c5e18cda5c620d52d6578b3fec3498d0045a2e9d91c28baf67c044735dd073a02d7fcd322e585f560adf07a28cdb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230674006cbc67811c0f70f45b11818480005ade66f8c4ae580c18b9b430095527d05e6994372e1a945973adb847ffcf2fe02301530a3102af5b763f7baf31473137f12b1c8c8bd9cf91a8c545422aa00bf7daf6f303379c73a9b2586a944588b03d44d0302047c435bb500673065023100d57d6d6939dedd8e03736e720a9f72dac97ec682984ad0c00fa3a774c491eb816acab758dfa484084559075ad2a92803023052fbd3aef88b7a665ea122080374436f33a581c785a00a3339b33a09eb6cd8c83f4058929af7200777daa4c6e2c1cdfe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023100fa90101e4916d22c4850f9fa0b0b43ba7dbb3bf70d73064600ed665ddd6559ad72621a5282a826bd63b044bbd298a688022f066eb78b989f2975de0e606cfbb853b19c6b92ef899db07222c172f00f80ffba0ea96f813cb7bf7dc8626d272c8bf70302047c435bb500673065023100abdc9abd790fa024707cfdf7eda449fc59f9f88b3f9db0196c466646e6aa6cb5bb61adaac1c2ca66f34529ad0a86f35f023022c9592df16ce6a9b859accda078f8d4367a25089a88c0452aa3e7fbf106b023941b9e12444641bbfa90741d22d3baa60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b734588e37807b9dcf85dc1f8131931464144d152c7128071b7cb19b9af3b956b0424d93275931f3b15db188fe19221a023079217eb4e7470b8d3d60268bd947452d234301fcefa43ec2205bb95778f66d1977af8be35685ac25bf9be80b64f08e1b0302047c435bb50067306502301d01d0d295f64a779c7eb7f6f98c809ca95928b8773faa06112d962060e265c00f76ef7c820abc6d9042d678f5271da0023100e6cd62962395800e7e1265a710d7b927efe53a7d4d3380da4087a073d611e085d182ca28041c9de471720e892bc082fb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023027aee6b36462e344858535b7d96c2a28569584b78be0597a10fc92e680936e39ce093daa4692f2634a3b45bdf27789f1023100a1cb54a29042f309eaa2675c0a9b2aabc9cea4a7e3820a1f229d70199174fbd83a9f8f587c217d244f1b64d1ff896d0c0302047c435bb500663064023036a8bed053c91272315432afa575e45949374c6c01d8bccac8023b35de9c9a5aecbd3bceb3bd763b0a35b8fc541a308d023022558de220a46991c6bf64c7ab4cab1f5ddeac79cbd83a63f5a6cde68f99ebd0827d335ad8e117ae2171d99e5fb3bc120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023067dfc86e1eb2da1f4463eae5b1c7394ce05f1f4ea90de715ded959aecfdfafbd4a5c2d88ff465c192872ea5ec424bd00023100826ae16cb29f391839590d58daf9bd24d577519bce7ef07f4476caed79c01d395d789c28de7775fe08333445b29520380302047c435bb50067306502304bda29e0d2c85023896fd3f2f249ff84e124c68ddf838936f5a5604039ed40a143fe073fcb09e07a69b87e7ed963cc1f023100aa913e7666c434840746c0fef25a90ae51c1ec1ea5314557a34d68ff249ea17fe6710a97791c2911a99d5fdc5cc07abe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305d5a6d17204aac0993ec30e9f77a2aca29843cc828c254fb99fce019cd040b0ef5b377bf073ba63280f860ad487096ad023100854a1c51f17eebe8811eb5b1e498d85c3c342441df4b9b2c9135466e7bc298960b748a79a04033f819a057329a1769720302047c435bb500673065023023aa4226bd8e8704721a6b4800378ed8ddbb2af5c0042d2244c05aacf121fd2922178eb5ad04204586a2e8c2e9b35de3023100b22b64127472dea934c27cfc00d3203cfc3c1bd1ef3a2addd71df8726d43953a09225035d243f07a42b34abcd6b6644a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e7d43484115adbfc5d95e14022374bc50c1bb8c8271eefb50900283a70e9d16c7718013db87ecb99eba680d87372e40d023100da656040ad02407ba49917e60dacac804d5942e3d6216c94c81bcb49f5a35203080015676d56d4e2b099dff967ee8e220302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fe9fdfbada85580a9d4530285fb2e1c3070fe04b1010d008d518ff8125c6f436528c4baeb8b939f5f17ae23fd2a4278002305e845ba096b31fad14fa05c82d37bb7d3e71fa2e1cc3a322a5287e986ac3fd72006e78550f9bc3a87e829d167b1b96f10302047c435bb5006730650230145184aa494dd3a5bea4f1ce899afef87b438923127c65ff0af16bb4ecd40a8b74895a3a674d7368b21e476215b13b500231009b98a53dc4c8f9a0997999dd3259f536552578425569f92398dce1ab855e7159e3981c40fb96b880d8791109d8668fae0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300fab93788a0b561a28128f67668995e7716ede411c98e5617d09e49efe8d0a36735aa1e0dc0b60bb01622acfaa1fd64a023100cde0ac2e82b1446814e9aaa3d76fbb6446a62d6579e2e405b1afd47f866a449c8debea3692b47794f300ff24f13a03010302047c435bb500683066023100aa42f6093a49565606dcd0cb4300113da46974ed3f0df6224417e2c9f988f466b007b68e5ac2b23d37f5c3ccf6007c300231008a31734d443c47ecfc14cde8e29e7a6756a034dee1adefed51ec94152ba237e36309f2fdaec291f90f1faf53a62d0db30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300f74026feb364fd62b3c7f014a95a02cbf4b78286b16523e90aa9591a57547ec13c1fa121d040d455159df1d3d4d5742023100c7956fd3ef8d519bd079ba853643eb05db68a3784c4c148a68078ade42ba285b4e6309395bc0fd72edc9da0bb25200240302047c435bb5006730650230226639c22ed25c6ad04c3fa9dd42ba0528622c3988ab0b18543be28e7d6e717bcba0a8742756c405fa8dab052524c33d023100cdc0a6abd5d9096dc6244f9b67e09dc218c411f961decc091a7b8c4827226d7aa180e879e4827c03817de050808805c60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dbd92680c458ab3279ab43d558625773418446a08a7574e2204f0b1ca4e62463e8a1d7c6c1ef933fdc7700a483b889b9023018e10432d0da72613f887d4caf6a9192d240b1dbf2398953feed8ee623a115b26356e391bc95c69c317847f7ed4f78850302047c435bb50067306502302615f324352c0eb3e5e981db21d715f1af63d53119a4a18041dc32079185897f5f377432ded42383221c7017fe4dff3a023100fe17b791587c0a29076ecf729dfe33c513382c9d9047ed71c117251a5dafdd49860988fa5344b14ed58adfcfcf0ba8870302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e2b4548e9e46603d1d725a9340dee27f14fdd19a7ca077299b397e6c53b5a0db8f1e8a19cc734165e0537a276a0a8370023100bbb91aa37d0d80f75427bcb96ee25a592fb7a3af34638f4a6495f2b3904fd44ca21f94eefe8c6b9da08520ebd8e4e2b80302047c435bb500673065023100cb1e8bba89c5604487811e67f7a546fea2fdae5408cd95a1afefa374271a3946b3d74883ca74c7e24d6fa44d17d3d88202301f480f376aa48edc1266005283b3efeaeb8d82bf00586e6149a3f40092c8281d061b5644ffd85cfed11af041d95073570302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e4fb7627649aa4d3e6d9eb7ee5bc092cde21c79d35c4fe738f4d47fae212f71721bde9e6f4588f9c6e83f3c6395182bd02304037c2c927a740bb20f3a5a841f74b9b2b5a0fddea327897f2442b8d2974cd04f546a0e5e36fabbd80d8e39fe8b0e4d20302047c435bb500683066023100dfe2d8441ddd83267edbde5d3e0454eb9c27c2d5fdd78512b11cc102b6044d05427b84c71fd2add03d0df1fd9cc7bd20023100ad39d0759197b5bdc618cfe7fbbdb50ebd8925a1a8f22eab262bcf6c6e430423f760ebd29de740a9f1fe774a64b9a31e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305a6d0549f1b38473d853de4310a8c3354043412815242c780f21b3c9c0474d1c37d45568fd007a7c98f903db1b5f6507023100b8b8fe149f8d7ac6572c73b9b7d5d5ce651e6eb3b948880fa338ae1bd09b36b9598d041f5ce013c337a25b784a44c0dc0302047c435bb50067306502303b3e6eb7d48be5c12ff9185c857406381b546c45134a7235674fa29d517b4583eda5b9efbadbe897198727011e1a801d023100bd5342fafc0939a1901d65b669ac26e6149ec5d55c4be355f4d8981353a82a35acd31bef69352e65a7e44b52103421c80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307f3e9796a98c6f437189e2a0e22b5ae6381d0af846e58f0b55e20a3bb156149d3ecc024ebe583586473b18f4f601f5e7023100b60405409c3cdbfe0b70368e4a1ed4a88d8ee9407636ce002529e78900f805aef4146930059fb4206ffb4bc472a416540302047c435bb50066306402302ecf6f895fb419ddd2e843d8d7eeea0edf5fb454b11b1964f14428b9573807d31cb89f3b27f8c1c1c1e55d8f09ce8ca6023042c89424ac4ebff941f15409f9a519b8d5d39cfa6341656433e82d6c11e77edaed5c9af5ca9be948d6d3d26c4ad765380302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ca9ceb1b6fe373acf13c1cb5edb7b6ecff2de239a4b7ad2451f2f1395506224fb4b6ae9ef4609b381ac1da4141f52c58023100c9c9261d6642a2ee37053a5c9c7bcedab90ee7a619b3d03e61794f0393b737ef12d4d4f5c596e9562e9e7e3404a24d7e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c21dd7cc1d3de0b5b1d1d1837f6006596c9d8a5fcdb8ab7b739bdf952a5b61a0d88c52fe4067bc745b5132316831c04c02303c127e3f61c26c8769dacba9e6d3411ad027c420156622f82f9fbb525e5a67381e4efdbdc43756ab49f84c6a47a5c6fe0302047c435bb50067306502310096f88420c5ecdebb9ead3fe67b10de6228e628d4afbf1d748ce5705186d0c43340a0377ea5a375545d804b31fca19baf023036f064540648f83ebc9dfe358d06cddcc2215d362a8722a088b60db4844d2a6a90319d496e6508488cea61c071b4e04b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f92814e81d86e9fb9863d5c042503718e8e3eef96bf44b21bcc1d67e1c19b24ce0cbc337dca65aa7bc803c294684ca1702307d9f2a81ecd9c4750c4f7422de0ea49623c138af63ec1767674985a1596ca4768529a4a62afc5409983d4bbf67863cd20302047c435bb500683066023100a2262808719522e2bbe6418609ec3bb0225962aaad33f9ebfe937477bf216a07713610a0714b8d0d19368144c43026340231008413618e68a725572ceb74736e84107385d682427e6a736d085d03f4ef495df9c8c6d68d3105618b5a49080f4807c2d80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b3678f7ee271d39d74a8429de7eca62aa348a91db113af86b2d827b35b13bc077927522f51bfebf851b1dba8b1fd4ae602306bc5529c7b31e6d01cd0682087bdadcdf0b7b4effe8c5dddb75f3db272cc8f1f00ee16620a73eb2c20e8a7127be173f90302047c435bb5006730650230670b50283556d2a8c529e73376351a8b17980aa4162d3e6e2f5c3f6bae39f7a22a26b89f0c89516aaa7603208ed49245023100e1441fd6a57a344be132a03551104b3af0e2ec1365b4198f6d369555798f01fa662d43f8b53547d7f42e748689029bca0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230705f65fae7f489054bafe01661726ac5e7f0422a3b5904b8b84591ff5356f400c37da6245b3d860355d00106a60161a7023100ff0057970c97c904c803b7cf84d54e0aa4cf3bd2ecf986d9ff788f61fd052daf3e92361c2ec3b16be996fbbd76b537650302047c435bb500683066023100c4d086d6f27f1df516f6f1afb010581796187d92ca57b8ff583b36f3d9c37c489130f171e085cc7edc043e5a1372db830231009e2f1a06bc2dfc13ac2dad479cb3bb79c49348f52dd4038bf8e54532c6bb59b47e25fdeadd29d3ca0e044a5ea4d35e670302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100847ed2faccfa35436d321d0d0bf93bb27751bf82500ea92b617ba1493610d38afafc667c3807988d71584bad31c1e0e302302bf751a01a58c51e46e4d942c200fb10419a4eeffa989e438cd2978afa6824769381cdf1796fb06e1665b1779a810b290302047c435bb500683066023100e3eb13b215b51a68212989554695ec3855a56dcac0a52935b65bc653cb19ede5dc7e573b1eceadce9ea02d430be2ef5e02310080729aa534cc8cc15c55b0fc7bf3578e4f665e3a36f84bffe879b76891627caf533a6d9de709bab544533c8c7449d2c60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023015abb755ec9b224f79277405cf189609f34ee4d88979c88929a68e9a39fe5bcc550d046276cb751e306371e48e41b25b02303f80e70c4d95cd52d80184e1b77571473f78277d7f4eeea9ee6fbafda6b9631da529e08bc297a3652689ee98d2c54b5c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023026d0f259475a4b841f37aa819333d7f28b97aaa4654244ffe76c3d687f858acd2385c4d870cacc0aa46b704380b48ea2023100888742ea60dd8c26d18c6f0992b4f71fce2a2d5781865d7a9718c70e6ada939693068277b61ce590c32f872ded6bbb020302047c435bb500683066023100ac923883f2b9b1ccf75ddf18048129dfde1f383e7a4f30329c0a6fe850e9793c027ae13bf0e7c09130c4f846cf20f6d80231008deaea56531fd15e1f5fb601495ad7c3f770004cd42fd3ecc0770ede2c2d75ea3815bf02109e0f023472483911b1ca2a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230100672a05aeb8d0c90a8044461d03579b1d696acde8bdcb2b89ef27cbc8a5141d8e8b0b2df4bf14a74b3ff9b7f44285e023100da312063d20c04398672709f45c9f7a1160a71e5559f4f630c3281431c5453cbb1387d1f9ca87d65d95307d67dc189670302047c435bb50068306602310094789e12298fddd8ec2a346194ed1e0a93ad868962d5c754b128de03427796120f1e8fc291e02781dfc8f50c50a31d1e023100b2a1d38797a24b0db928405e7c3fedf66fe793ac324e5b6ab11956ae5318e18d28c45353f4cb8526e2b88f7857e532bd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023070d465c5c13411dc7afb805a638ecf093dcd659af8d60eae323a9fd8426b2e72f6cc3f2edddef9ff79f1922cb4155e2302304697ce102896775cc3bc9bf23e382fb0e2b15f2edb187c1eb3d0fbe805cdb87a697a205c308b31f50456ee2e75ee77f80302047c435bb500673065023100c35259edf20d449a4cbef22c710818576b010cff9be4e09295a0a72d0964907aeffa9aa024e7a39cb8b27ae8e57a0089023029db180c6572cd6e94182757ea644c28bbf7c54fab9dbbb74d2fdb2f10bbd25bc19a3a44a175918787add13de92307ab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a78ced187d19b2230efa94d37aedf580296597052982999afd3d1da6aa625de853fb88c5c8f8449c36ff46f7ac06d8802300639967b986d8c2996192a6f9bb9411f9d1f13720887907555d4157746e42bd8e787f0136441d3f2a63f0dec640824860302047c435bb500683066023100d3b71d013ec3304dd64796ad581e68be38804d39927c0815ab405581e97879ca8d2242d9a650ddfcfde6f063d4a9a0a0023100d64fef8e2d2277cdd60e4630efe0e0bd2f5fe3294a4a467f91d6eda9115c35c083519a144d8637089dc21dc0521bde0e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230380ad5593132d906ad1ed5be6551f5780d31de5da21d42443aae6f4248e706b518c54c323c46b920e497efffade8748c023100c30922419f26ba168ff6ab13405c431912ee63719d4810486de2f91a5074e88634efe17e48b01109f28df2e6a3519b2d0302047c435bb5006630640230088b7ddade76a9f3d1a417666c4d7ef4e40fc90da69e5d1ec60b68740ce184b3b087f5b895e38ec03bf7972eb37ab7ba02307a87e3f4d6dcb3c334dcf0b8ef727251b10afe18bfc2f7111312d0bf622b7b3471850222d92bc3686c97809adfcd72760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f58fde12723a0e17f52ac3586cb22856ea58d69b718e68da1ff72c0549dc3b3931f45ad07decd89d0f6f7cae6b91baf0023100d753cf00bb6efb6b5be739d5a3d94780ee06213417eea5f37069ce1015dca350a73e03a191a385c8e9685ddf163489840302047c435bb50066306402301fbbae5004a44646787312689af498b6257f7ead1a081d1b555d3c6d22cb6c5be5f8491755907aa4b97c887b00a42e99023053080f4b58e009f938cd957f47a3f88830b46115399285f12b2d1616be58c4beb8842af55aae47a7642c4df5cedf75050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306083a0ba37e0a743a189d3a2929cbe1cc0d75ff9bfff4e870e6657fa484415dd0bb7e31a7506e34b41e8ab658e02e124023100d0adede481e25451f267cde2bfc01f4337e45ac645cf8ef588549bee6905bba620746b60d2f54bc33330ac28562a80730302047c435bb500673065023015ddd92812d32db01c07200de4aaa5ef1226f597c6850062619fe64e46722d9838096210618ad1ca41333104d3afc218023100da4d390bdb171bb191c634a4693e0e1ceff9ce38d2aec09d5a8077bdcedf64e4f9fd8225391bae92ddbd27b2eac48d580302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d311cfb0cb4e8a1eb6bc5ce32abb43d25d2f9dab325bd7fa2dd4ca9edf4a98ac046bf0050bbe5b8672aedc5527f2c527023049ba9020b257a503c33260eabae4d5fd540da50f2bd973fdfdb86a61df8137d94cf915a18598cf4ff262d17be6fb3f660302047c435bb500673065023016b9beec7675629a7bf962250d9ac7436744141a7027f023c14e736d73f62c5dcb0d35897d3f38ff38719b1753f2130e023100a5ac46d74499cd786861cf698ab9d67da3bc0b610b93dec925c88d86986434588fec8cb5c3e1ef57956fe1dbee86c4e60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230246f49687d9ed4378de57a909af8f068e8a9f0798f9c042ae4cd82b25cbca1586a7f2944445950cd9c02af14b6ad040f023100d5a773b93bb2f9e6bff2427351597d513f81f0a7960201fcc349323a3441bbd9496ee254187b38c2c0649595084f56d00302047c435bb500673065023100d6864a634e49b423d45b04557df53e7cf62d8ae497a74602b000ad999fb146710e79c025fea3d074d587badc279f8d7f023070c095eaef907e178b9642f09ba32c5bee0ed4ad2af3b391b2f102cc05ff971cbc6d9b438e7ba33a7850988c46e67a2d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023068b85ed2ddcce478763255769f137f00f29db28c4312131055acd57bac9ab8fb6f3c7d6d18412d73d2c69c99efdc5e2d023100de7f912e381ac56bc780e44791958c5a2ac85bc2938ba13af9c8bf02c8ec9f33aaeff81d6c14c50994e3d0959cdfd6c90302047c435bb50067306502305c5b04e526da34be61c78fdb5e970de95afcd5d1852793bc566181c644652915f6548e2b6d1aa10bb06464adb9d0d18b023100c74cab808db05aad5c56d517ec17e8386248201a8884a5de2c411ea120388d67bdb1d7b449260f572b6275590b66fa820302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307ecb464465b9df6e8ffdfbfeafa1b0682731934ededd933e70e14b47f6eb2d16c9cccb9f5c97a867940aece356622a4e02306db68925494d4b87080f4d60e78392840a67130db185c2ba1e6bf651676632ad6feb81c15b957ef4c783ee79b86110240302047c435bb500683066023100f423c494e8b685e6ff0bc80c446bac5fd3f5ea1ae0b7449ed903c6d983d08c28d582abd5242396de9f32c2f87e5b53fa023100f9b14be0fb8ec852561a015ac77b48f448c96a2e3d4a7922cbfe2ca86ce7e90c585ab9b53c6348f7f1edac69449edc7b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b031ca85744f33364ddfe13e738bcbdee46c22e346435f5d583556ecff135ea0b6074c7b7dec4f065f912a2d19cd3aaf02302423735dff8f08afa497f5bb3c3018bf7b31100ed9e2291123522caa5bcf4bf21fe9261061573bff9a5b8118769775190302047c435bb500683066023100a12aebc72850510bdbf9f2f31f336824f689d90ecb7269d01b195bfcff9daa05ef1cbfb8195e1183ca506cc410441e02023100c8b6d241499af4ab73f27d3e16ea4ce6e2570f271ac475b19cda1fad10ae61952b9d6c160158afc22f733cc401f267e20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230587ccd840fa5c3a07a61adc2cf139179bc4398e23a4ba4638cd2f05bbb7ebad5ffd206238b1f26a73c9b92b8e92b02480230589cb5dcfbf1bd299a2eab1c361dc24fa396d8a3fec163b40343234eb9dfc3daf5acd21e7154cf6f6ec593fabc8cc0270302047c435bb50067306502310093bf23fd72351f44d07cbdc66bfe90318197e6a30c38433bd95e8b40ba7d6b912c5e5286a3c41041cf61c05c83cc4f060230758773a0a19ae51402091d01f7691558801c90e9cf1f0bdd2960cc1bf90b5cf810ef91e3e951360043339615d626121b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d7d964e15ce56754e75c275fc84da077bcc8ff1b587c16a7d4e1ace843eeab27cfaee3b0424875eaa6fb91db0f8a140502304bea7f314924e1b6b64010057eda6f53351a97f3509d0ae2c428a364d6ce153b059a9990776d68d860b6ced67458ee2e0302047c435bb500663064023002b09f6736e519a0b478e21df29e33607cf98e12ae504cb84e000968b5a39180ff990f640a9a68be72dc0afa217103260230386aa14ed9905e132781978dae7bbcc2ff6fe751984426285ff8f6a7447ac17b617b67650c6e27fde3598ace780435b30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230116a6dbcad69711a6d35d7d515efafa33982666833ac27e9ad3650f600248fe7111276cb161d584c5798002cec4317c9023100eaef8a484fabae0430fef89f4a0bed4ffe16c3534cac0c7e2bfb07386e8007ad790e22715dcff91ca86e7e69c1dcc8750302047c435bb50067306502300c5ec1346fa98128733e6cb77f14d790d51efeb485368b8b57223b2b8e6b0ee69d82611e319a7bd438e2aa384f814801023100e1a4088368e96da650b83667dcd66fd2f86667adf1f96e99676d14b7fe9cd36fdb07d217b50f09c6644782ce553576b60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ca409d67ab114d0e5e8dfb810c9bc485e564e37a462be64f21960ad178a7e0a548078c4b38d6413fd41d3041566905ed023100be53257faf44f3e39edf9437586d019f163597674d35ddde5681984705970c6ec0db077163773f7f42ecc071a9289ce00302047c435bb500673065023100981e5b7f25ee64fe65ee0183bf745ff50c6ac8762637d415da74c6a272d3f20fcab17fe964205024a95cfd5eb49469da023024c8d2503231fb4d1dad5f43a16985ddf9aa61145dddea75de70eaa6e731515acfd8d93602c651ce3ac092f7522c63530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009388c2f2b46902aeaf68f50e54979101fe59888d18c0dc8ef78b3d5066dffded0ab80881712a2a346139f487caedf245023100ea5886d16246f259e7e108300841266bcf16fa421d5e58d4582e2a61ca496e4f2433f863614f0801405eabac6b7efde30302047c435bb500673065023100bbf670ad6a34cf6894605b80d7add895d861bada647e860309985bef12ff1f1907b45ed227bcb8eda9c79b45af61a99f023065b13d69998a3b7a501628aba58036bd994e0814494e3e4d0c876f22bebf2445fa5921cf8ed02549d11e93aefe07a8af0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100941c3314aad94ecd23735ea400f50d587b6991c67ce381c502ef30c27f3c296ba2de6a2ea5ffc8a0b29ad0a9b56d2247023100b239eaa74a6accfa2f817412d7540c731661ad27eaaeeab2928cc2b42c11044dc19259b4d09c8c1fd9320c23c951d3ae0302047c435bb500683066023100ecd5bde53e8e2eb4380e63fccf4aa43ba02c537f1e7175476daf70c8a1434fbdaddfa9d0cdc8f43e70462cdd447667f0023100cee1e4a325769cff4ebf28cdfd77c27b3fd88bf02f6370f2e7f34760837e3a59f3787b8fc0879b92bac3c1f029c5420c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023062d7815851ab6f9243433b1a6701e5be53e3181f770d39cd7c3e8319d948bf8cada19d32ba4f445b5b0c00b46cf288a00230075f6baae3ff8f95fd1666bed19792a2eecff6e4830925ebcd0bac36279dc35cd5fb1508e2c6fbc6a76aa39f9ab7599c0302047c435bb50066306402303977df4e28686298b8ff8aaf877da302d17b1d30c35f1e8f8093cd94b7cd95a971bc36d0d7be099f446b508d396f2d8402303807c7761493a19c98fc1d50e9b444415cf9c3a3014163d6ce6992dd7b317f6d4f4de10869a721a97dff12b4f6ba14ce0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008cf57eb8f254579d6fe3c67ad0af53699d700d696f8bde50bde7c35b23bcb68f22f0ecc7457dcd48016510a855442e02023077c68523c9ec2f52dd7034a19cc43f8c91ab01aa4dc734538e4dc7652529c37d3409cd0c4ed513d103ceca94d963ac3b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cc9af6dbd492e02110941ed03f7c87ec07c288928f38ebc3b52d406721075c2b1be7edce8b347fa1fa4101d3a54c0dc6023100caee531ec2db5bb894e736630909535a9a1efedc54ad51b0f32e29730114af465b27dcd064008235e797549ccb628e930302047c435bb500673065023100d590d2fbb8a14a486efe1a1a79c939cd12a76644f4a8d35cd8be87b25864b0a4efad603ba443927a47e036ac78216b7e0230611e3cc671195708a21a9e6f51f6d0c41844465e8f786847d6b2e61faa19785038f685b40730c15bd8537bebf5bb13650302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023018744cbf13555cb4fcb0490bb27136be8e6425cfbd99138b325b7f7fe8d2c4b934903cb5d689f0d9c153d1488ad3acde023001391aee26ffdd6612d587bfd6c754ca7db7e034bd205573a18c617de501ba8e1ecb74b6e5d92c0f8f115a8820ad5b8a0302047c435bb500683066023100fc60709791d988f4aa36c800ea2e6463a714c66f54ce6370a003682945c1d0c5fcf345dd08c1eed86837ad76441a5b6a0231009b393b124c977daa0a493551a1aaeb081eba164b3f2952d94f6b72e325dace38ce6581906d8f3687ffe8bb553c905f4f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f0284a9bfe6e15977270089e5e851eba6afb90c7824f8849d0308177591bd2c038313eab5fe3644b769a2cc1df355f1d0230592105ea3ab4a74b03e80bf443bc1c3342496e0bb1a8a71a687ef60f7080e373dfbc53b9e798465ae025d5295826bc0c0302047c435bb500673065023100e48a423a0256b9dde719eb862baf4429bee3918515ca7a0f9820709f90839f5b80df741938509e481d1f37656a8fb5e502302f8440f60a3c734683811de0ac534329a0293a9fcc56aaf7c623b0109b7e883f86269fada22ea93ec2e2916ac3713a580302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e1708bdfa4f6956c6b94e4df17c12182e61a8598e220481cf8cbde0cbfd03dd44f6a58ccd5b37c31bbac83822c4d209d023012900c356849627dcace349f818ba62feef7e8935b8918f056ac18ce0a4920cc3de5560f953b55fa3a85ca45e83040d80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009d87e904ffe838268791e0a4077ff55d545883642b315c1e8e78162854fe901a5112a8abbb28786a829d56aec1742b6e023100eecc56dfbc01ed30df1da8f9dd4c1f48ee44a33ae33d6c142f4afe7d231bf842d1804f4fc143d1c45c73e2faa6d97b7c0302047c435bb5006630640230517f2a353bad9f1573e78d03d8140a0272db8cdfeca0319eba6b1786049fcdb93e368dce9876b2672810b88102369d180230255094feafff00156da1d9a99b2b6df42de480e849f24f8687d5e0ed09d88a385080093c7dc8b9d64456e27afa62d4d80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304a8ed3451cac94389a8a54eef8ae421f5ee94328db83e3214d4560aa4403676795a5bd7c2a1613ad5f8d1d2f8028f4bf023100a6102450a85f37dd42a82b267c14213d335e7f00e806e3288093d64cfd92c30724962654a0309b49c6a9ea4e1a01c4580302047c435bb500683066023100813050ae5f679baa507c0eadda40a60b7a7e1242b3190e95621f40818ad8a7dc5645ebd8d637ba289a418e581b5ee351023100e919f9d63abc72d2c1e8a8fc7caa6fd72b48fdc80e19a6817a82ff87f0703b1bf12eceda49aa1d80da91bef44d20ddf50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305cc42c78051868a751818b4bfd226fe32d64a83ac31e087ef958974ac2b49611e70626278ee5422c537ae6696ea3b64402310084685b1d823f8585a4ff1ecc7f5bcfd53e4bab61c71ccc34d0ab28b0d30a6dbb6858a88f0a25fe854c0c7a0bcd09f61b0302047c435bb500673065023100da4f991a2cbc4a7e0c5cbe1875f38d452705a571b92f1c8f14d691b7adfc5adaf378c0e6a84efc4b073e802ad478b86d02306adb6b6755709b9f55ba4b375ce02f13239a08f911184b9531afa6ddea36af9ffa797ca41f65e7d419cb571a928c27e60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023023b129fa86d7324a9b5b69623f6a368ee1dffb18aa3c3c1dc072dd00812b8970be70f6cf5594670f9e11510cb363caa50231009faaea03491ec9b51167d21585d471962905b5fdd0a4bd0c0347beac6ff7e4da04f491f0050d004e06e16cf691d65ba30302047c435bb500673065023040dd432ffabcac4f01e2289da40304e85652f61084422e5057f58a0fe3091469b5423e25b0b137180f75faddcec05ebb0231009be9680c4b8e2d3687a4e9c9568797e5652193a0f3e50fb29eb22a7b02dc574ca72d8071299da76cacd99fd452ad45e20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023037eb06d557a5cb1c19d226c998b2ef5e5161aea67ef834964e29902bfed53fc5e2c463d3c076eaad2a6859add4b19aa40230432c2fcc8210391b631b8356f8552ed6c2174f8b96ca4c3cc28c381841663d74cea083f72410e31bc2a38af271f5cdb80302047c435bb5006730650230248b183cdd8b44dcf60a81a9f95429834e7b4f0f370679b914965bdbd53a94800d9b6eacb6bb9bdccec4ae1454b53d85023100dfe9a8c67e5c36834847c07a0d8ea0f53351022e0f3a0a779fe77e67549f512a502aa4d8ffb7dd0bf8e5f7b5740a22b60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d2980542ca5f2f273bd278e216b32eb437f349b711822571827e486da6d0feb78dafb97bc399285be997312b2cac9255023100b9aa6206efb79382739e8b49dbe510db7cd051f6f70b3a1fa49961b6a10cf289a7d554ac400247c36de679f2f1751deb0302047c435bb50067306502303bef6bc037f279d8e999231fb470511306c74b8eeab17f820504b1e3dc712d993208e9988137756541d678483721f2fd02310086c7f2151fb4796008c772832347656b9b3a38fd79989ca1f29e3af1d65fa264c758703564d3521ebc47c755ff003b8d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a426c03e9e7e3b749772f9c156307299ca5659b704c905dd62439ba7546460a0c564afc2b1de6e563be0134e8697f32e023078a55cbd93794ac74bca7e4b53b5667db0095c03125f851ba096dea5101113b75f0e2af8c9e6e9879a4944853e3e262e0302047c435bb500673065023100825838c5a17c346e8469ad46d07dbf7e190ca3e97b6cf7c545cdcea0c0227ca97412da74d7d843271a55a9d08fe02a9302300dcbdc1d777ad242998f97fbeed9bc44b0e902119c7af0900be8ad3fe73cfc85702c643aa2d468f5bfde46bb12efa96a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302b68ab17db114f91e360a7fcf13198aa2c016d325ded8089a08182798311d7eb8ed278e824869dfad7679677a7022d3502301ebf622a70978c81cc35f599d5dcc2e68b80695a9d0fc6e55f5b58bfd3235ade7aa8190383f23de205bc6c203563e0980302047c435bb5006830660231009ada4e6555bd1e08501ecf95268911f45c8617c09eb76f0e649d6a2266be1ba0569efb96c8bc94d8911a973dfbe84d36023100a61eb00f0ac947b3b7f052a68fa521fc4836c15341798f0b4088482c443e95c2e323406fd01ec62bbadb31f2a309a4450302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b4de6f9a76b8e415af186005849ae5d121ea7c2f785d031760b758fb8ec6886b64a164f82c884ad79c1c1d4c7b79841b023100b7235118c3e225260f97a4ab59f750489d10ceb1896c8a449e206b13c8a3bfd4ea1ad3158374b02eb31077d7b3ce20cc0302047c435bb500683066023100c2d69b36349b452bcfdc8a3801c45c8bb39114e2a4c3993438003eb53ebab30c7c784ed8f973ff66e0cebc12fd15c546023100e16412b927ef326fd21514e521b54c17c9b63b1201e2ba6a2257ea4fcb4729a9553d8e722a94bb1476e10bc1bf71bd550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a50381e36a7e84cc9ef6dcbd734626fca6b92adbac8875602e74aed08bf8100ec54467fe678a7527d3954c109b157db902301c51f31dbc05a95a50014ddb47308afcd79167707816ed5c3288f12442cffad3b70162db9d797b6be6c6ba935f54f2d70302047c435bb50067306502306e2b21b3798ccba0c4fe19a7944dd43e9870f57a2a51fc9c543a1a21955c63e58d9c56fdab69bbbe6c33b81e54d6c0e1023100ca95c9b19c732d98db8cccd2275bacce82e96a0232af1ece9aae27599a28df558b4874761e192c68e0a61d1e93eb62a30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230261be9eb714ecaa40169013906f22cfa0fe4a0a1a1b9999d921f98662b3bf93b81c44f1ee8143c0205112d2838ed3dc102304b17242ee421b02201c2732f668dbf3d21769efa07a32c114e23f9b23c3a086fbd10c33e56886260b5b83ed86e1b93ba0302047c435bb5006630640230202fe40060983ccdf322af77cd629e05d635eed50bd0218665a38d75fcf10d99966b69b2189edd5f65910f2fce6276d3023053d1552358fc9db20291a64d433ceca61a12ae2bb1bd335db0864ece95cc812d7be840e09eb3393e03d17a8e0b20fead0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ba6c8e83a401aee20c27915b0987749c96c2ef1fccb26f274ecdc212de0e09a8fa3910c75f61ea4133a42116dfdbe9a1023100c67bbe465bb74b500b65f8aadc24df4d3b041d6af01c40bf75073751f4153d6b0f7db8045aeca2eb9bb316be427341d80302047c435bb5006730650231008b3a34e44a145388d0206904432d7645e43bec7f151b4353335454e17e94314f31f9f756f9b7d8d3f4ec6eab095b5d8102307499868192131d5663a25f97d4ad38196f611fa04cc135b854f752f7d96e50bbdedcf46fb7b11ea340a034f8b14c9a520302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008e65534fd86b50454e92e3488608982f5aa57ed7fd1f1147f25975b86d6e6e04e1ef0b696d367068458aa0273e16d9e802302f047970a4cb739c14ef01098393011a46b16fc6c7d7f4f8328964d84b39ba8efd39bc391a9dd5314e7d0fb2b89220fc0302047c435bb500683066023100b18a373d980aba27b77f1cf8707bb2a3bbd80212da9201c689958ba22c401dc0f72130fa54130c6425b73767141947d5023100b8c30f7a95736e3bae27d8b98d46072af371a216fb2830c391bf45689dc2bb3cf24b04a7f7cd9b3634f6761165a96d160302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303d3f87440e5906f00df740d27e7e2142d13747005cdaf3e2dd0f997b20a81b3ab0e2d9150ebfa935c908613f84bf2dcb02306a2a7b04476de5304b61f8effd5eba25f8a534ea10fccd28840a0ed36a208976db891b8c191b11055c2234313d24e6190302047c435bb5006630640230609077c62a02183199a5ca52bec3689a70f36acafff0063c7a10b7844c6ec8e29a754a291b52638c99dd57fad8a38dbb023035c31fe1810c7ece60c0d8f5f0839474f92092e379134cabca171bace9415919cf6048ca5530fbcb592f170788a66ed50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303e45c52ba7a280e40459a4b80ad60524f440d98a6786efed7f2d9e29e0de9631c05242639c48a32d727b62f71214baf40230663b7c56955c4035ba5c15e8f326daddb6dc631e4911435855df686001f056f0e0cad3c212cd81a88fac433efa1d28d50302047c435bb50066306402301c30b73bf6e0495dbe3e40b2cddb0e79a81fa1ab3f6fe40e06fb75d4bf7015b144641bc8fa9f0a8e3f38141a0a38a0080230754832e6fdc43e326cc7f0a87efbdb0e2a9919d0ac5d9a43712193378631d2a8246628932530b0b8bd09d7802fe20fa40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100879ccc095581d188a7a0750ec748fc3b67b2e05d3829c06c8f32181c4fb2e84d3ca6173e559972517c84cfdd238870d5023100c57ae4d1f944a19836c74432375a5afe6b0f95457f3fd67171f9facdecfdc0187586a5a10ab6e9488907db655800fe3a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306430edef6f76e2497464f35e2c5ffd9e29503eb2b405bdbaf221001ae0978a341fca66d84f75995c5f06b024874eb58202303bf6a2e94b2b74d270d5c94cd193c3c9926adf119989fc03803b2ddbfa20a9396cfbe8ccf40a7ca0868ed7888392e6760302047c435bb500683066023100ed0f4ac90185638299c6b81a64372806288d2cbbf82886c88c78cc107ffbfd7a6d2a771f5ed42c07b9a8988fbccbc1ac023100e51fb62a078d9e57f218d75b9ee4771a31fabc0ad54f460033fa873161ed0b042d0861b99942a6a640505580e60d6c170302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d267a7cf717a6e9fe335907cd16b29be64baf628dde9566344275918362a1897321fc1c3bd030a4f19ff641aa5e2af9e02304b702672ab05708fec4dad845aef02de1fcca44bde2746a73410dea8142c6fc93380d69f4d0430fd4c9a16bc6bfdf9620302047c435bb50067306502301fcdfe2fd73127f8a42d3f0aa9a372fa96324ffc7359796214d8ac27e3467e866d17f8591b71b3d58f95198792e5ae4b023100b0579cc707a6fa47394810f218ea691a2435bfa623fbeea20418a2b464a43e4b322fe4db07aa96d94b9a200aa18c993a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301fcbeb2dbe5952b8d1656e036738518b2975a3ed279d7372be0340b3ca2ea4fe8772cd1a5cd6e49e65914dc60f97a38e02305ac92fb49ee21fec5de53f13a9a67d35bc23608aca04ef581ff03a6681f66d259fae48a198c291f904d65389ae5be55a0302047c435bb5006830660231009ccbb0be9db05a35acf88caface1ec4c4936b116c438fdc19a6fa57645e72749a36c2b4c58f58894a0895a905bc4b6c2023100cc695570f43091e6537361309f38f66bb5afe70cb85656eeecd428e7c7a380719a03e55c671cfa3f40fc82a7ba184bac0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023023f74b882640c1911ef363bd063c0a291fd8c57abead22c0a0bf27a9ffdf706f67fab52c97c3b38bb9365a5b405bfad2023008093c41fc374ada1b83bde6fed223c0389ddbebc66cdc927faf8aaa2c08fda07426aa46b35ddbeb7b0e5df9128fd8be0302047c435bb50067306502307b9ff95f162b3578edc7f641189a3f62b979641de6e5e95e8e61700106c19857bbfdf4bf3cddc87a677eded609b2f2ed023100a048ca15173e8e6b7ef4cc137f9eacab8a35258180c8ab2d39b97760ffede942372c236495c21c30cd50c7fba31990c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eb817be5f51bd432b0adb3237d037d80c775bed7aab43dc4b88b3708d802ec9fb278db15a0b1f029c298a7153db6c89b02306bd17a2e99a071dd4b1d986bddf99bbc65afa34b84b4dd209e885c548a7bda62894bb59d44e4b8056c55443956f923330302047c435bb500673065023100d0425042dd6d59c84a534175c699cf41920b9d4c623ed1e54d3d41ea4aecddbf3099fd050c9f159669206ad9271385a6023064d0a3add3aca7ef59c78f9bcf34e5b72c7020f65620c1db8e623bc2c10de1ede51bfa00269bb7a15f2b4d69d88733b20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230520b230547dd77ab0ff791845f7d0aef3996e2eaf6d7d20b5c13c48585f3fe112612b118e63cc202458bfbb04cde1a370230112a8b872959bc9df9d03e954fc4d872566f19341ef5a4ef683e738207f2897fce947d8f581c2bfb324e197db27efb000302047c435bb500663064023051e72365f44748f15c3b5f1ba80b360600a44bc20bc13a7fef8cd650ae5818570d52eb3ded601d0d424d48855b1afc8e0230232f72874b76565f3efcb557764b5ef902a35f1be1900039c7592b4df4bbf8a304b1c71307a1b1016ccb237ddc68f4dc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bf8d0ce90d396b79a2d90dd5cef50f4651e7930d249fddd79c52fdf2983ea4e30b60dcad09830c6845ba738cc6cc88bf02304028a634b4f06713c008cf3f1164f19026237b0b8a79448f6f1daedd7c510914f1aab0951c2eebee004c274c65438f530302047c435bb500663064023077f0fd6b0f7cd7168537ada5b30fd4bce91c51275eab664bc770ff490802cc7457846cddeccbc23a03094720b32438830230333258924b9e26c0e68a018034c5222d8171efd84ab349a8d184864373310773cf0b3d608ebc7c1710f50afade6611b90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023040f12408e34808422110268d1ab5bc8c176b55a17256224e134c297c48e3b67e95dffc7b8c181e2f3febe687c727778b02301c01d2ad6d1cd3971acc5a87d36014950fdf183964e266165eef3416e037cb7aec6cec68b69f9aee7466448c34e8e0640302047c435bb5006730650230763976bd24f7b4ec8d7a7c7434b27e077ab82daa2c6d69c638d332bc3c2dda6f2ce402feaf22874d8dca1c22def2c826023100f6a9f0e9f353117a88251b073d67b777febaf5f4fe3ac7aeacf909be74f558e245e1f371199f5eafd7e65483514ca1e10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e75b3879d1b9db706b93217be933c9cc6a309f52464092c81bad27f4e158a56ea718bd09d32b9df8f32af05ab554914c02306e2c72c477f61cb2f9ef2540d00abfad4543996ae9f880f0ecdae6fb45c041f8934d533997eb3f213ef1aaf3edec53a30302047c435bb5006730650231008fa476fd4c9ccee07a7207ccc3d4a2c4858226822ed7aba8380e0dc98f6431d45548b74b5985aba0c8db1dce0e66cf8002301b202971ad82f7b202168fa5de0ecf240b2c59f69eb2750be441372e6d0ba6d964fb1f7896a49085bf8a0daafb17bff60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f2b1ffc3046b6cb5eea2a47c6993f6613bf961db71258ef1d2a31093668263a4b015cdc77d3ac73bcdc26c5792428ea5023100d793c954d508394871ebbae1243e2de765f97abdcbab301c0680212a17845d2bbf318ff76bb4cc9fd53ce769e196b4920302047c435bb50066306402300130413a0820ffa899fd0a58ca030cc063bbe04911d350c254c5b2df6a5e9c98d963617f2bb338cc1a4f9ccd689fc41002305a5ad7ec96cd0bcb435c00e206882d04f7f3b362c7b30b3f38e40c27b1b8d90d02a3ec32302ac410a0f5aaa14e8edb4b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bfed0aa8b337fbf16e171585d3472ce9afe61c091ac140c64f37594618721180c9308a6cdd9533c5756c436a01425d7c023013c33469430f235db0d12b8abad42bad618b9acc57cdb78154c9230a6a4d35b67b3b428c30b2dba26a871018c6b81d2e0302047c435bb500683066023100bf83ebc80509095a0867734f6b9422908536b3ee615ff6db30d8c60cb23112e9172dd541e3afec4b66cce03ac06ebfe8023100b7f96fae3229d7a830807fdf273c084ed09aaa0b6f8444123b489f279884e9e3afdabffbf527fe968246af338c459d7c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230179d0e599c64476886343f4b1f9032acd124827af4593180ed12a38cbfead8f647bdea823540a123bf713821889857dd0230184d5a932a115dd3e6a03cfb20ffcc29147464630d875974f6e457cb5e586509556ba7427a3bcc15edf34375f740917a0302047c435bb5006730650231009e29f85ff165630b8794168d4fe4bf26b393b8bb1e3f45a65327025c1884ddc7ef05e9f65075e4b4026d18d8add2860202300f8bd7cff7a1e46b81800d88aadaf6e720af535f29c499136ec7d899cea240cb21e2b326c0865de78e4c089287909d9a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100802fbfa802e9deb397a29ee1d096121ab1dea3964e676d8c040197cc4b686887bcde8a872cb40d76b3d1575547de5b88023100d6b58d8858f4e6f5837ecb00382f681a21e7416b8b9b718b454f000f1fc49daed3cedf3876f221e0fbb0a0c467a3802c0302047c435bb500683066023100ed8ba88efe025aa2999611f9ff09dcc50d59d4894c2fad628d470ac12be351af9b544b6b544d811f9265519c8c3b8f94023100d474dc1e3f5529092a221b5ad3301befc8f0ac733a07d11e0ebf9434a49230b19e2dd29d3fe99c4a209a9593c04a65900302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b827a3e6435542f25ed8b538f7f91c512863aa951a91e45c7702ef96b5dcdad5e63974e4e78e7f2dc6821cfdec206f580230234f83f837fc2f7e9d57746b223a51fc6799399a21dc58478154eaae6260950b080ce3d17cfb3655596b428f78eb63ab0302047c435bb5006630640230297820e54840f2cd816165c77577d4670d4e21dec4fd975980dbc365fd31223920b87e3e33f882bbdab9cc7b730b4fc402307f01c90c3a4a6878959c83e1fd1f656df1f046e30e733d43800cbf6df4f45598f81656f5dac70075259bdb88e642c4100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c0a3d79940d900933338571bc3a0d5da8d1d408d76cfb7735c661ab3311ad688138e47c5c47c2d9608b2c64bc8c8f22c023100fbd99162ea114f651bfb83229018e556c0176ede64f7a8be00651a43ac191e89fa624165a2f24a98b0a8ff37af350cd70302047c435bb500663064023050c95990ff52c3a79cdb90d5ac0d0b2fa2dea4ba2bf7225bb481a3fc8c605627c0ce577a0a838e5653a495dc0f8e24a902302207fc3b1a3945ee1fb9001e62260637bd520a974ec6b235259aa2df96e5ded48530c3605d040a9a5c0945e13c4c026b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009c14e501fb8081d270452ed7fed7c5791be921f2334d7018d8d9af6734eed7cac545be972fa14e0a47e01dea7efc9dfe0230779d30318b25533debcff483bf9da0083fa10f384350c7d74202c90b0fe5ac52426655f0adc64ee361fe6e6cf0820b200302047c435bb50067306502301d3b5161eb7336cb183ca9a01df0d49f9d8bf5d2b3de9f23b349f8ade876871a47e50dbc1b34625da5c62c38cfa033a2023100aa37763536493864d9f491cbec06d8c915b229692c12221f643c41c3a1b84f3b3d3d48c3c03b4d76cb46fac03d33d35e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100df0d637f2c3f7f70510e6bc7f3ec95b9c19c60038e42f975511e2b2702f0646fb01b2f3e0ce09c191419ad2ce267db8102307e63f83bf0f5edd20b88f5c91b6ccbf014c76f29293d849048017139ac260da7925f962043a326c0c0efc59f77d3ff740302047c435bb50066306402304da5ae9b5799840c4f0a9221e209370480e59a38039d8c06ad97f1d227901b2c33fabefd588803c4e54b8c6c77ac245202303cc33ddd26c9c422743113bd31dcbad6a129e91e8621c82403257fbc311e1d6331f771726c4abf5802eaf6b38f5c0e4a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305471f496c7eb1e315a9bf65ee5e4b898fd65e6b2a24cff932367b19929a4bca8bacbb27c230e5d375d3ddbbe32a44a59023100c5fa92981d075bf7978a014b3c24066e32146dc06c8b968c7b0ab0f45783bb3c38e7da9e9f536420cc1f36823a5d81e20302047c435bb500683066023100dd87715b9a3204aad3b037585f031774db17bf391f7bd10bff1dd730262dec243d9c0708ceb3a16929c11dc4a8903f63023100ee28d76d9ed408bc80414e9a83670d8eebe5438259c990a425868603902568666458d36ad153687085e465d3d011e4520302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008a4d3383edd09d1952ed5c0718d21bdc2c9a1e399a362034eb6866acd6b8e0db9200de79f9d050e71c75236fa5e5620402310093961c49e7c9c977efd6325056f57842fb2c305add836477535e7840745086df8d5cac6c0ba74ae02f36d7d03be095970302047c435bb50066306402301fb1beb17780eebb7a221a31944f9fee91239cf3b1fe7a81f211ce7bebc6505007eeb29ef8504242ca794b13c3bc371602307afc3dcab5aba84d331199629bf1a145aa797a76c95344fc99c8f30af2f84813a54aaac2b7bdb10244b5cb114b98ee370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a5d19004307812579b5d1db681e73070fa22760953e5670dd8a1ed634ca375a5d28d3a40b913a579637ae25dcee233dc0231008e75573c897ea17c35179de9f8f9b07daf686d0612bd4d1fb82e970c14154cf1a150f67b0bad23fc9060a39bedbce00f0302047c435bb5006730650231009a9a7b0ccb2d3d75d753df791100b4240e452039668cd09262661d84746cee68737f69d5ac1eac24dbbfc46b2c1cff0d0230195c3d81f5a7409e72dfab487702ba9a718da3fd4bd413325f922a3d10e9b69f0ebb5ef56ef6d47f869e9b383caa6f160302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a53db1c747c36ff63cd3268c05eb9528b9c51829e4b6772c6b2d0242b3abceedb12a2d545e6889353c0843ad91cb61e90230210209c1b3ca380e4d8f5cbe995e97670282eb7b61aed15aeeacf9b1d43e1bd74e6b0d02e8cb9bada0825a3b266328930302047c435bb50067306502310089d5b481a0f22842d8f8703b25c436ae77c364c4510aae2160a9c6459467bfcb707256d9f86ce04d9add594e3b6342d10230538104af73bb84a1b6d07f63616b8f40be68a4de1c027ebc4bca448ab23fa09f89d271b62785881888c0d34d80c4bfc10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310093cb3440d05d9530e2f48f8051065ffb1900c1b356b18a82da463b4d0b74d3fe5efc0614b8287f2dd3df011bca0ad9b1023100a26714d2864d747b8f27d1ecab0a8491d9c65d0561e74ce6c5f7fec55b315b4f4800bb2f6c96f82b9fce50379e40d34c0302047c435bb500673065023037231cfcb466d6d18c41478af49b139162137f0be244053af885cc94417026610f5f2aabea10b1f91f23f59008bed348023100cf5286669787594bc0407ea3324ee759e4197b046487e20f9c117260d973c1c05ce2c74642f78e3008844914352edbc60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307c26e1c869bdcdf7dda3a28cddfacb8ddaae2eac00dd39118c5ac0e7901ced6ba95b19b6bd2971d566fdc692f5b5b953023100893cac429e858bd11b5415a52adcd54f6eedd905c4135049c54eade2aced2d9fd6555b3f710f0a9ff1621996470c2aff0302047c435bb5006630640230253b361a148929c963aa0f9be6d7f9f52fdbc8e726c066efc64fd15ca84a77c0edd6d62733d187804e6eeef24948534a023061f0eb9e733f5549fc03f978a7edf9492c03c9c2ee591f68b730f7655782bca9834695bb7ada661526084f9c01f30f440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e4d1386bbd2840944195054a3f934f18313fc1317bdb1b59a5e437ea7b17faf5ba71d21775518c8b5b9e47bfc68839dc0231009c299f215244828f07fc41fabbbc4bea1aa35ee67cb78aa4ee30f5d938c3d30cab790a4922810a3e9b4810833364f9370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100997b9a17dcbcc8d5773d04d31ffaf1f5a49c3cbfd5619ff1bf6ab6188bbe5a2ac41d993ddc88755e111b5d7be8886daf023100890644c1c7369e9cd34474afb73227c42231226322a216906c058e33e7cfb9adea8057c9a7fb9423ab9e75e5b817ceb40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300e1405b46102ab311d2e8fd416e3d43b9d101f2f5a6dfe93576defb2da94a480ea62bbe3bba51e3b689bda3e0b2d8fe5023028d5d49eb8a5bd18c721c500ddb2cf5c9c100b89b1c1d537ea3e0fbeb99826833aeb27e88bf8e57441b679558f9bb2160302047c435bb500683066023100a4b1ad40544b9fbd18d67cd037a8302abe2142fdf97c526277343486ae3e7b552d9c72fbe84a1f2f976c81eb72214d45023100d23a9c5096f2f72b841b4ccb5bd1291610cf41007dedc7d705d5f96a35333c5f95064601daafd098dc5c8ecbcb53a1830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e70ed6bf967089974e2de4bf6fe2785f5deed01c4fc123e58c330f3e89b8bfb4a3c023517bded3b8ee4e01ae4ee4505c02302b2951c63f04bc3ae95d7d463972b6a3e1cbaf6cc402fc3cf1adf16927708c3991a105c4d7e10df9ee7572eac5badd4b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023037ec02d3f4dec6bda15a9dab02d320703e9dfd4282d07f7fc4362af538a1f2bc83e3517e388d58c50dc9f36d905544e402304f7ff4689d969a5c7ef8777edd19ab63a025a0293bdfbec91a69910b539b9c6bc2e33a21a9317793b8819b37c95e602d0302047c435bb5006830660231008e916b839188d2337b5e98c4f6fefe0799aa0f3c3b8b2b3a651d5b4d34f829d4a7d9e4910bfff86f62d5d8726450f3cc0231009112e917d52006c954f3964ee6be6b501fdbb11528664e9da9cb68df9d3d6e92f2bcf264652578b033c6a44e2e4c76fe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305b91b93332b7f5188b14ef9fd121bdd81c01768ac8bb8ae955367a07e468bcc71f91d794ead77933fcaeb4c77bee467802310097ce8874b76b3b4981efe4ef39abee2530b9c26466c7514215d318f9df1348c654504f88f0bfde2a5e257a7b17d453800302047c435bb500683066023100e8832b8727e7a8d09a9c849543bb4338ae83b0c66bead8e64d02b001878cf320534ae69fa717803498c3a232a93a2f440231008b10b6ab40ba3f7a7df11e2ee7d5f9a4830eb50bdcd49745bde9c8e7c1a9d7247ea19d2e2d976e4bd621c9a131171efd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230608a053d4a5614ea271b5d3231f7477d275732804d62df4e8b789a78bbf1b63983863b2e98a006c5f391e3b4da201572023100c5c998f66fdf1f99a0d32c440cadd4d5a541265830e11b58288f349d5004f78490ae644a1fc10a59c9b225635fe5fa9d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f87ad0096758cd7388a2f8cdb1b31b9d7774c8b63d3524de5cf398a824df3bb1a7822327638d6a6bf1dd3e8efa07b7e9023100f05c9a6ed5e17299162414ab6fdf6f4b9b32a58d20bbcb6d023838856b62c0c8a9f20f74695505ddce9bc675ddfccb920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230597b51893820bcf68328bf068adb5057098ebe49d1c12464c28e8f162daae0c2777181bce60998f8ce729f9b9412753d023100fbb22201bfe4d062cb0a8a1c087a3fae223ef6b3afc5694aaa6eeb253610aa89db1eaf79b2b08ddd0e9bffac409844760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306515444bbf2a636df059745f4c0c558cb73273b82f2d14d6080e0be3e61b3d6b3ffcd8546c79f1edde98495be9c44b2002305ae03a4b82667c7594be5acf1fdf8e129460593f7c7d8f52cb4e134276b73ddbe9a4b47a08c26f865fafc51e6f0a1ee20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302caa9e0950f62d479dc81a02fc6d3518743c08ed463eadcfbc6cc36cc020ea04b9673bae05c2920d157020d5542dbcee023013d00c4aa6751a33137ee04b6aefa92c8b835c1e1dee58a7c0a18085462adaad7095565ad93321c045a56e1cf64f1eb70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c3944d87f9669e61c70853f1f9e604c1f6ee96480a2f661fb4daf9e3747a64c223d6081d95cf6fded1e5c501a9440c6a023011bdecbe3d3c6ac6cc7af5e2230e843ea593207649bdbf3d781f2829000861c554b0638e09f6694a7cc78892fb079a0d0302047c435bb500683066023100837bc6dc5d7f39474c4ef30059ae66b9fe5d8588e87861578dfd09c652c1fd47725ec9cb63d2fc4d76f2c408b26a3ccb023100f7ba056fe04d87add68b327e2f51cf9335b21c3d01ea9de3db5a1b3ee4ba692a500766a75beb3b1efcb2abf8ae2c8ffe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310082eb4fb281e0c0919c09c4fda2c7480efc9821a9a0a8abb4e3cf4d28686aafa24a22a46a1334c743a8d52d94f2ddb041023100e6607dd96bb03953189ee4a339f7c81a4607233fe4620f9b5eea7fccd7f5a507258d921210cca2dfde8cefa5217cfe900302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e7964531dfac9bb914deea0504b68aa10727f254e860f17122aa6edc187112340a06db3e8eacbcb2cdee099525a885f6023100a625a1ff54a7599b4ab527c716a9b31c9a67db4b23f818f70bf66d3ff68f444cca05c034a5842b869b5908ce9b6c9d790302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a9069f00a5465294ed0d9732fe6f5ab98d2fffc601056a5aa89806ad4328528393018c4d4e766a75044d70bceb7db09d02301bb280df80cd2a1313d714212d2448d77a2252496df1be0dc669425f9d3106a52a24d1954b2bbfbc7fdac9d73c7de6c50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cab5dfbdb70d79d842e5afeb42cc91646e7e1a36d28d763535ff24152716468f2c49efef429a049c83b6e2f7a3a6e7d702301cd31873803a434bc4bfaa99585fc232b9387c2a5085c70f57354b648314ad4e957804da355690a809c794236a018aac0302047c435bb500683066023100d6f3dbfd90d0a0d735139eaa138c71a80e7405123d54b54ec9f14be400c72a59db402aafa33e7fafab26f79b22a1cb77023100ee07ac05d7fdacd74c451ed577128986284faa2ae5f41174f17abcb79bb20c98446ac33b15dea5376088c46dbf3e6dea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023073130cec17cadf1f1c0ff9a4dee9a22c78bbc4447ec4c94a449161262ef74cd11f172f535e962f72eb7cc88eca4ecef8023064fece17f762fced5daa538661263796c5b22b846750d1d878dd83a30d14582cf29eb732cadf8f188d552daa72d515f00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ed5a2d07dc154fa7e1878d93e6e7af6231326171ab093e9f405e8122b71a3ad71d5f0c375093f217a941e0124d613f5b023100d437ff728c96c4ff470aa23c8d64a4e33d69186e951efaa2eb70e163ec00d32a32820e1c3cabc09a41db35088c06eca20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f34c82eaa09839da274f43109cc816a82e5c0b76faf06b6435f4cca1f7116a8ce50563939056336b0707343168d3d04a023041cdd19a469c4c7d9ec3bda31b96a2296213ccfce21b681c223d15cb31303d3049b2d202418f9c25a980a8ad553a8e400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e8f0e4b3c4ef9662140546f5d80c1431ff5b48c7f8f1d27eeea9e59fa0ba9a743f2855d4808d660bb42d9dc119eb7faa023071abb69cc8877b5d77f76739f9a77377e273b2360a740c2d5f5793805ab9747a12449f2d48ab3b76596ebdca50111a910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c6d7239b46a6741efc61c36f5adc949ec554dfeb6ff0126191eff1212e4ee979078930474ccfc64e7cc9a972e03bd2c0023100be4ee9c0596c758695c4819f2fc9bd3c39587dc4eb16fd7d6865e8e8ca82201d064e4898a62889c025d9b4dfbfa4e11f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305a6fada01a55acaeecdafcf347ff6b221fba26b55401f9433bbcc880b0b10095d8cbc32191e3cd46e75eb99bda4dc9b702300ada88ae7e8fcfd007ab8d2f8a23848ca642fa684dae26f747ecced93a64894a69a125743ebebbe1b835ab22e879074d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300b321764111e1b4c339f256ca81e1b4926d8f83f246c02e4de6b4a72e6b9eb38e95a0a84f22fa5e0d7bd6a0a85f0e7cd023100cbd966b1e366eb641360aab4ffa096b8b5b2f47d98676285509f412ad7900c543367c3c53f401f9eceecac2636cb978e0302047c435bb500663064023018fbb9acde81305b974e569a6758533f1d5f46e42d30e4690d8d4b0aa5d48191334de67603cb619f967edbfe110aedc20230285230235917475b47137f0473a152255a9e85d85623ef5898bc35d10c55ab1148953a6b052ca159a499646e764c1a480302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023030784d0cabf224035d15ad406b4d33977f84b103e6ece9f228ea37670a175a23c2d7c21627fb6fa0832c03014e6a8eb0023049acefda70cbf6f06f6e32ef8da93eac7791d8714de1579c273a3f372dc78867d99794dd85b54e93a33fcb2d54ec5e2c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310087a6b23be9a16186cd2e454cbe44fd8b9d0595ec408884f5d05a8275deff90affb795a5d89f99c557a3acb7832698bc9023077767e8aaec5f28516e7f8c6a1100ff01fa36b8997f9ba194013aa0ee442d3b6b390acb0dc921e50bd0517b473cf26b10302047c435bb500663064023044f5f4e32342ab755d17fe01abae2b467e76e46980e0dd218c9f312be5770c4a903ee3bf7ef3f5d14921bf1274c27207023005dfbca4743bdd36089c77bd111016ddf45c444cdc5b314d9e10b0977473ecd6c728044906d6242af196387abf910b0f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302fd074f6b776a9aa09f692fb5880db124aa8a4679b92e46b7ad3e1698b9f0d30aa55046c49f1634873be05b2dacf71ea023100897a4f812586869b279cb4240eda6073d97dbacb2cb6131473c9686726bb7621e8b6a61d74b94f1256e250adea6320af0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310098d488a4a7a366886a00f013a5e10c7e42de058fd6804914eb34da53ca89fc28aacaba1143713103211b2a0f9b307f1c023100f30aac09453a2d56413f3490b0644522a7dcd5a72311197de3eebbfb546bdf3af4b461af453c78e9161cc3c7ad8b9a810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100857e0a954f3321cf0eea8fcca998d4e2bda25a435ea907a691e74c30f1820249ee96d93c2a9f563282a844c2de3d7f43023100832c4b4de28d5beefcabc85f3d9532f1cdc9c5409f546fd369c82c3f1b11c86b3663eed895ebc3362864c09ddde837340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100aadb5962d2197394cec52b8e7c82cc04283eea119b2ed683c71761df996137b5d0dd8ed6d4e4553d07b11e10aea627ee023100edc7c9dba3b44d449f03e2c69d0d965309215fbba3fcd8ddfaa7058c86196919cf95e013a486f74d03e9c295502afdfe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300de1b89632ea78355fd67a16098a7ab56e617edc151afb6b3fcd0dcfd29807284e28ef2793b1e2af94a4f09c4d7ba9f402301b116aa26d3c1ef3f48a9ee7123d30a2256b72fd4a909ffd50c97d178b6123e8621f455a387251c1cbe4906710d795c60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009741432d15e17a0f5e8c02b225326eb160c4ecff33c0fa61282390e47186fc80fc105824dfddc79024c0d69664fddd390230327f3be69fe238b6d530a215c20bf28f38753ac0d747e4398563ebd7100b0dd0f4a491afd4f7e67755bf946d2f2be6340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306ad11fc6b0990ab4d55658e3b7560ff8113fc57eef5aac4155cc11f6c532aec542906eb4a0bd536cc2ef1779738d6a2b023100b56868f3fd02b45cc45c328e21a7e4d573810d965670c000ff4572fdd5d57a755009aae7477f80e8ac260a6cf5f33c9b0302047c435bb50067306502303791f3b75494af09beb3f4522b672ec93cc472e7690d1bc8f6e5a43b955c296aa303f2dd120d7dd08f019c255c20a6e4023100c91b09063c0c8ba86bb01a37357bb41cc3f6c09e03103a11b10e9915d13fdfc382e7adad02fe189c38527fc93dce3eed0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008864b5b193f62ee9842fdcb927030ab38db08058491110ff968b41ce8d09f4d7043927d131e777129f1000c46a29c7da023043c04312033a92905da1c9fcbc43332a8582d8ac090de191b2905254a5f3e812ebf912891a09e66845a5035f54139f110302047c435bb500683066023100985d75a40c9e0f240585fb218bb4ab624cd2dfd2ec04993fa3d828eea395121b1072e41adaf95ecd7a50a8ae61bb3f0b023100dfb2129bf30a2778df6a81e0e48fd8d4772dad62c7b0dcf4c56c9ae26af33c4cb214937415725dbb1762cad69d4689fa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009f7e6245c6fe507639d0921e8ff7671159fb60203566d06a7b5ab5c88b55f11ba5527468ebb9b85537a0c80d1b3e3872023100d602b8ffb8f2c1449e6af7c6e692537f9b43e47a33e3aaa22872c724c16e3989c1dd83e976ecd1512c41fe974678bd3b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301491f4753c6b02edbce5c3a1e3e0271b2da17fc9368f179c1244d0b07bf33d4285c147d5f16aac257ed631f878c583b8023100de97e20a9a878acf499f3804d74c72dfa19a107679b9e4999dae349036913271b40ae7a30f2279cb8e95d645645db83a0302047c435bb500673065023100d0cf4063cd1e981134a9aa1304bd053898dd58ddc276a2b075d1556b6d3733dc04ee4da036c662c52df5163ab1c563f102301a32bbde79c49e8aeb3688528bdc05d5bfe4a4efece0cad7d14c69695b28ef83b8e1f40d7884b5c438a13ac354ff40190302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023076bdad89d6402414675bbb2c702e32f5eede87b6542dd39a572f0e6ad56e5f5ab8a71a9fbc1d34d39225848ad1f0b66a0231009b3ddec60ce4dd6f5963a48452f5589ae8c4784e1e89fc477e1dae3f5495449c71bb1442b978999a3cf2e2b612c9ce5c0302047c435bb500683066023100ae486533f2fe6f74bca96d65753c1826ae0c1f63d374f7cc4bd40275774048b3c0f5cf3600941df6c9318749bd4277d6023100f09cd20b180560078c052274abce04a3aa08bf5728954f4c52ee631c1c84f12dee9f613972d808461f34b79a111b0ecd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310093d84189c1a6d8b0d1c8f9cb7fe17011df9d83a64820c122106828716e5a4bfc93ae80d3a5664aaed5250b3e61d755dc023100e2e2fbb410be8b47c0a8dd5cd6d049f22cbc19367c7bc2b943593ac77ee81f680eb6f8257b50200058c4436dae3408670302047c435bb500663064023001ef05839fc2756d9937f875714ebd61aceb5738de0efc0a03a378a4f9c807ab42b2b7614e37ab26adff8282486e77e902305747ed6f093d06d317e490069691e4d179d40ca8cf769fb0767425b034bdf20490ed430a590e3d3ef56bdb36ffc66c620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310089531edc1409fbd1e31a35c7fb2445fed9ccb5c759c3df13c83fc34636d71e30fb8a3505c8c19401cf7f13e9a6f4bdd8023100f0013270614461977755abda3cc3b61279b262cf889ef4e29be0b46930b7cef6534cc3a125b4d751225c9a7170dedd7e0302047c435bb500673065023100e87a5caabf7abfe8dca16092ccff65fcfea8cf619ee5b60b4b2e40974569dccd08eeb515770b697c1ef36816ab1c93760230710f6673899b371a2c0a3fe3c7417d026d0e40b6b21d0080ffbe307423865a0613300820d17f3e6577d0a98e6cadcc000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023065a0d9979ab787bfbf694e85fe535f9a303d9386cdc3c4939ef83064ac374e6e0464d2878f776c8c40fe9a12e4f5d506023100d93738bfce26c405623dce81c04c63d30130c51f2e70386c87fc44614e400f23c43f1f580490bf29f5193b2453b70a500302047c435bb500683066023100c7bc8d9c4f41f417af176bc4da3b05ab4150f5b39914041ea175df90fcda9638e61da8f4ede0064c814142195733f27b023100ab083047c78d473f8ed3e4414437cad5d6468871f30bfee1db8d9037d0cdbd4294caf33b7a60f11b9c00253abff554100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c656a4782f14ce5c4392a55ed9a91a88f7841f18d0765791f477d4153e2ed1c2e0778c7cbc676cb796993443b3446814023100fb2142a8f40ba7aebe81dd06423a0ef6f4ee63c67c6973e509e0058c5a18fd144b3c8a39171a4884e98d93d94beb51870302047c435bb500683066023100928761e5bba7c824fd715aba9d4a4c6801c40d3aa0f16c91e5fcce0feb532c8add93c51142e5662b4a17976685b66bcc023100bcddd5bc8d995bdfaf5708b5750731f08341f42222eb48f6d78e04f34d7abcf68e6120245cc61c92c7b951e2ddf308e60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023058207589dc813570237c160130176755d2f78e8d27aea7efc89bde189525e91b21f88c8b3da277f45bcde666241c6811023049488be29d7c9ea151502d0914834bada6a62dec7e52e65f48226f8d45d0e7910e6d0f00da287c5af19a65a07f583dc90302047c435bb5006630640230017e3bca3f948266bf59f654d1a388af46c5fccff0154c5904d4a84346bd5328568b466eac20b39ab4950842c190be6602302decba3e7b7c31fa5bcbaf0daae1ad9e563a97a0c8469477af7335db4554d558768f793b9fcad8e0f50fa29426e012f80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230349ce243f7fb1e1e5a52faa132f7dca0acf82ac35a36e5d3e5834aa6bdb4adaa4cf71a7afb4c10d31e049768a96f59400230697ae69949bb88bf6a654692310160c422426821f2b09f44d356ac6d25d6424b052c4dbc7826dd2f6ece208a4bbee9200302047c435bb50067306502302371749a70ae9d9ad3a59a76bc7e0faac60cf9057d560be5afe3993358b88ec21aff3781ff92e7897443cd403887a1c60231008938ced802e55f99ef9a1383c0cc379d556386a7ee0f88b993784bd856642c6a61ab5589a596270dc7ab44abf41b56a00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ece6b22160185e41d80e11de91814cf665a1f8890feb44dce5ff38edb1cb09576621e7a605e7c58d45a7e9be71955d0e023100d61dcb5ee4f80086e9a8161121b4ecedb94789e9c400013fed0e9321056fcabc1328d11c4827f83c098ad483d0da2d410302047c435bb500673065023100b8146c631a050a795e03330d643d30859cdacfe8bc9edf18328c38a5e7325fbe6cf6387166a95baffc7c14b3b63eaf2302304e8fccd37f0e302df41a37a2d6b9dd8a7cb38eea6cd7121508480812a1e97b065bb83ca214d030b68fd86099861920c20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023004c4fe75488c75b369f6dc795c9a8bb1eba30165d247682c047235606e935467d2d294c2fa05c93ce81ce4049beb5df902310087d93257ca6df4cda6d3b740133fe9240a198d0ab32057dd5a332a3587fa9ccc3719295ef9de7e938d2b8b5d56569f880302047c435bb500683066023100c48b44bf2d002b357b39df67c79f3330b6aa4b7a0892146ddd8b748ae0dfb31be70d8a815a494f9b019401ea3e7f4005023100be070cc37294e412bfdf361c9ba8860d2f886f3990593a99413cd1b220fd4e1499ffa59d66cc3a228d355d2101edb4e10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023026bca47d01093e685ee3874c787b108c2e1c9bd96aaba00fb27c423da7d8f5d942c09fb206682298021de2a367f4a9ec0230331c2d06b34079635a67c7144df5214be93b63293bfb8052251307b6d7a8ad547de691e4b402b246a6d1ee63844f86540302047c435bb500683066023100e54074c7808c1adc333ef666c384425dd0b87e87ae312535d43f3398b0c8424807cc90ca372b8acc432c38fb9c7861c3023100e70f1460c3e9dacb7fd6bf91dee315eac86df27dfff8dbd49d3f5425725012bdd4348360471605b45df5d66e4271f6550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303ee588e80726e63968dc1b71b698ba877a127012b8d993175bf40dd83d284bc9691416fac298e0c509acdd6dfa4beba6023100e056603bceea5711250d6379564e32f806ea40868abfe87dccd8da98443fe6f06fb198d4c4e88e779fd29b75c6e7f9420302047c435bb50066306402303ee159a35551574e59d603f74fa11714c9e6a0ff845321e61aecbfab3816617a5475b619ce8b16f11e6d810e7d6d7a1402300cbbe2ac4db6e0baf792067ce3576877d8c366c34b9567434895db06aee9d43f49f3c19bd95cbe73792d6d7094caebbc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008817ca7e81642e33d605a36994ae5448e70b77bf55b66d9be961c6ee0d764dbe232b646e442a7eb1aec8350ad7bafecb023100bd5808a80443f3c63c68c97202f8e2405b7d361ad709d404ba77960b4f439ff26e14d5c6d5606d1ad9ea6a19f39fe9020302047c435bb500683066023100b3cf0a89d0ad3a41161c10f43aa50bcd628a7084c7f9946ec8d40c90aa8f10fc5b1137a43fe66c0165454834cdbfefac023100b9403a49966ce896acfa087d0cb025ed14eea8ab0a83fddeeaa639d0774ac474f5c01c8794edd8072b08914b120acaff0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100997f0b984636e8de6793d24df17c4fedac6c54946114195d66236f70b2f3a723c7a01c58cf337b408679358a90192b3d02306e262c613313a39c51134c5b9a3196398a956c54176aa8e9b115911e8cd9709fa0e4d4fe301c4cb8ee764237650594330302047c435bb500683066023100dfd95e32e6f8f6ca3a2f86b167dd9a01c70595df5b40d70ce7751d140fa3f2866eea2677409693993623e7d043d13e3b02310093c9cb9f99e45ee1e61b91a2baf514989f21b7f7a4519740e976b3a5fd4822c4b3e48ba4fe5b288338f134cff57a3cb60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e1e7625e26993091591998b8c0469b955899fc1fdc84efe1307ac159f5fe9fc164ededfa8a729ac1e651d89258e76368023100f6b6e1af2fa51a1241834557391615d5d08947d69706520564d01a46d4ff14823d56cbf88e0619ea0c4437af5751d0eb0302047c435bb500673065023100efd37752241150598024596f2197fc407d03352c7c8bf33a5e338cbf3ce6df1a3b1adfcd77a1a762483e40e72b40403e02301af9538eaa95912dc0627d1e9acb90848f54e9a9310de7f4b48e2670a2b2d6296cf2ffb25c77dba4aac0294f1765fade0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023065a5a1d168ac48850b643d45700b18318d25f2e849abf4a650b1f52c21936ca6f9853f2018506dac52502328ed2adfe00230258ae08b4723fd45aae313fe5f6ac662b9b483e28dff2140dc82a65e3b69fcc970416f804df1b5ca78f57613a2d28b240302047c435bb50067306502303548836aa7e588ecdf8da08fa1747b756908fc4652f2a40461e0ef3807d2d71494cbcadd15699ec585f41e1fb8455146023100c8b50e9cf7be9c64de888c03395d79a0b28261d22f5b351bfc7198700fb144d7b811eea8ee26d60a46d37a3e1c0b56af0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b07c426668dc310d8f3acb856bb9a1073fbff284907f59678e68de12f6b46caf09ae90707d524dad20e9407591cc71f202305014f72dec374c20dfefb05eea6a1666494955c4cd5f9ce28c1644d94952a1cbae51c235d806f88f66c3e89d10389bf00302047c435bb50067306502306c59739bbaf526a88dc6d9fa6d970a06846d1ad34abfe47af391dbb26d0a77bb862c022a2dabd05f5a8c26f2023124ea023100d1555fa583af12ec293037e886d65d6b2349198d0df1cc3786b8f58e65b9819b0d1bfef51af4598af0bdbc2f16acf50b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023076cb9ae5eaa9a9bc82a8d2b94d9c3e9b8dc8b46524b393c0bff6df40b1e497b8eb967dde7123ef1109899e02a4c39699023100bf9bdecd2a555b97db1c82a3b66c1dd1e3ffb9bdff529ce2ea04743c84b25d8d8d55bef2ba11781f4501ce95d79a743b0302047c435bb500673065023071dac4a8959cbe70bc831332e1410c31f1d4490946158cfe0a5bcac511cb2e24e4601227bfdb12f9582d5d50598a8dbb0231009f5bda34bb5bd78701f3f7ad6155dd2c397c62a7e8a4347e0a2e914a462b8530b1e8756f3e7a97187f06a7dbadf52d810302047c435bb5006730650230713c5bbda1e2e387edbbaa52421a03c84da0e38a7b0d334ee808555134acd223df2c937bb676961e11ee43e300c38fb5023100e6b75b264be6143976aebd753eb9c5917c170f9ac07efa92273a308bf26c165d99bccb9ff04202aefaaafbd9a1c6a20e0302047c435bb500683066023100b85269764d392876bacd7e2053add4b801dc99761983ac6c5a3fcc42c5c781db6dc5869cf791695658e0afb12073bc69023100ba6926ea3b22d8d3787b4443a60f442b2711806c98c9c7a1f3cfd7561e3b0af294a3bb16a2229a99a0272aac5062b93d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023046b7bad3397dac6cad5d12c1ea117a5b2d457a001d5b14616818778de05f36e9a738067e46b65b2a2226b495b8e5ef4e02310095d9e5a01c81e46593dd9cb4f6f719d5ab36a9df3a88a15cf0da2cc02cdc38a46a4326ecad866e07c73254fc99962e4f0302047c435bb50067306502303af4ca0b498ee2d5202ab7cdad4bb04ccb0c0adfde7bb9b1d80f09c876c03733e9084ad3e3da3b3b93265b71d6c5cce202310090feceb0e8249f5f8cb62ca9e4cbb2ec67ffc36fe634a01229ca25917da5d50ecfe5c1c7511b0ccf3ee89444215611140302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023003dfa338bca7b00a885fc68cab4abc5bd94c4e504637c75d2f48285d80ce60bf81db9cdc6fb3cebe6e19e181f65f8d8d023100c3f44ff8bb670020995e2b0cf2e4dc88e12c8f8d92097545f1336f7c3031bfdfd09a34fab2b0a6e83fb05c75916d40350302047c435bb5006630640230649e4009754bd438f0c848584a981a1d55217dc23eead3b36305f60f4e273b3c139378a3d9a18de47d79e2441048f6000230376890135de653822c04362f1dae949cda824c215a8dbd05fd7b16cffad148feafc9dd6f2e67d8b488c75cae9c31deff0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023041194f38922813ae4123a5c5a6fa493d8cd8c022b1c0e559f2d82f7e80e5a0f6b33a31e841fc572364d7f66d09b8b11602301d50a7fa2b9e254417022a6e5612c9e5e3808a6c69a5259dc8c60168f61f978e90a0bcdce8bcebb792f0c13bba24e2810302047c435bb500663064023037523ac1bd5b86588cf501a54131c7e6151f96f3042a96bd769817735833caed8f904b67ea078a30513c056a4c611fbd02305107c2a28f877e055d0a4bc15ed381282273accc85e83648c1e212d5c5dd76735065fd3f959afa3299b683017ee2dbd50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302b7ec218995e046c0e29b77be74348eeaaa3a74d82b231e93d92eb8e565c5c7b23e5dfa62870fa5e10f5ba8b5852da4f02304794f286c40421173aef0014cb1d3660a66d0b3ee2402da9eaad6e0eda6fc6c1578e4344c7f3846e157bd90ffb5c851e0302047c435bb5006730650231008882ea2fe63c60d42c390e35be16bd029f24587461c5b771e562dcd242322d1fdab5229f1737878a9ea6f7cd678cd0940230632b686e6193e88c6be2fef75b63c99e34d846b9cd21f7d7c55f863e70df5a789e73d0d8fca4baa1339a83190e875b4c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230302d80b319dbf91321b5d6e63ced93785161ca8c318633c8399788e8eef608593630704b6e98acdff70dd89be4d2d50d02307302e0f92ef5bc215e01e7a71d0fa2d1185d3304b7e8b57fb0c805e0bf94b4de387bb35c9a3b2571a41b8b51ae4b3dd30302047c435bb500663064023012c42ceb23297126f7fe8d2e40b0bd0d578cecb21a4fa80f89da0d6e425451c180fe578ffcf8cda8e6dd35afcf6e4a750230567a2e65ca7ef14ec35f5791e604903e8e931844e0c652daafad7f9cfe2d2d9af57b08309a7fe36b9e4740a42ad501a60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e6b1e0d631591b09eb247e4f7af5c531aac66c8de1fd6f6807652327ed6856d29a0396ba1f212b796ca7ea9f17415119023072775e13d76948b0402b3d9dada4a483932cd19459f370f5fe27583346d99917d8fdd217e4684096436b99198551fb8a0302047c435bb500663064023012203878f8d995bbc5164dbfcbe5f473000f0a7325dd949684644dbd8f4ea63ed92e301267d7b20e61fc159bde16685e02307e8157a3232cefd74a8b2c7321c0c23bf43edddad2bab8edbce4cb7ea2b6141514ac58aa190b892e4ede742c92741c920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230384885c7ec675f298466df1d212569abf866992bebff625dd8435ad43e9c0799e1e7fe6cdb3aca9326e045f78c196846023100a477cc93c8e4058f00f2bb73a3a51cac7051f6a564bce12d092d81383ee0aae97ae236977d22f523923217fe1a42aa5b0302047c435bb500683066023100e5a1729501428d9603ecb2d3902cc8c71333367c7550de2dd17958e8c8e69deb83a00250ed0801d8d9fdf0e0cd1794be023100cbe940670afeb15a040a9c77ad7ac1de02ecdd4d1aa439e8c445f3b56b0ef26c3cd7fe79a1c4f5334545ff52b383d9700302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302e85c88b0230ecd3dcecb4c3eacc56af1ddc9f79f5939354110b6ec228d11e89e2780a7e63159cc649508702e1e9f1a702301784b1cec99a1ecc9889cf30ee8c8348ddf7fea2edcedcdc315cc90b86b3d6e17390ccd462e715cddc9dbefcee6fba840302047c435bb500663064023016558cdb972de05e2ff7fd9ec2b05d18a83405592f28954fe773e0142a6afc59ac3a0028a434f4e7b51e1fbf77a4b8e5023053e44358728a39ae914de477d2539498dc9adcd99748bc187fd22e6db16311aa2df2d6b2698683f905b35b35a5ea373e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023078f6f9e87039460b37e9c77ba4bb5d109e5e33a445a22160b0cb367f82a774d39bdbc6d42e94cdc2e2a4cda36ee7709c023062c623f0235176804b436e59340d63c19cc26d7254a1e640de8aec2403d786c41151cfe9aba1c2ab196e9f66ddad06240302047c435bb500673065023100e2d39f45a337be2a7c5bef1c47232662ed257fc5a212e9977fe65c27218ff4ba4159d3a221a719b8d236be16e6950751023019d94dc0ddd4abcc0147794adf71ed69c0799a26a2921b98a41a10b4ed8815c0ee77f8b075863e2c2d51d9dbe4450b800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009af4bb2ba4f549522f517d314d36d5f85ebb427c888bdff5bfc59d8113dccfc3e12ec32ba8170401793c59435ac12b1e02310096a56b1bf47c537411b79b4c455db5f06ff52d8fc27e2247624bfc4c18ae35233992b977e1dc16d9f4d3bbc6623e56830302047c435bb50067306502310091f7405141921f0952c53f49412cde2bcebcc36a4501eee1c6d34d99d216c268a496845134db5e1ddcdeb3adca1ee363023041a7af803c9f6a860ad7ac334d32056807866ca004d69175fc246a2e00ba7d3dc03519fbbe0fe3d167faee74e92184360302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230037ff03137a5533566f77c5aefed880b5173582aa9d6421c000a10d75de033cb8ad77e9b8ae9ec61f7681e8624b86aff02310085aa076928bfe726b17198be539d5689f0125b000cebd6a73f5c238528410052f58555dad771945807207ebfd705b7260302047c435bb500683066023100cf40f4e4f475e5b58b7ee415f5126c0a3cda20badc0412a592c9fe48fc95ea9225bca0439263359beb0c906c7a77a0f1023100c78ffa825265352ae4d72fea13896e7a2ba053df5d4e8ba59f0afac2e06e5db1b5c078132cf42943becbd6500bbe7b2f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310098c4bc309f8ff3326df15bfdc43cffee3c072c87c711195724ede25413b47cd25810985edcececa42eb72c2eb97782570231008a0dd864d6e7285a3a9cb04c2f926fc0b41bc05238e8d0d414a8ca068aa6586862665dcde4189559436ba5939cbfa3c20302047c435bb5006730650231008d739b0161662f235abb5f29ce2f4c9451a6a05c7d37c4b7d96d2cf62d4f0e75d26c21dd92efe44f228e4a85d419ef6f023044f28cdab471bcdf427f473cc92dd74c0d08856e12ba70e042f77b5919fa5b9d4236935810f5c248e68c70f7203ec3230302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310093ce86f92cb404f57140456ac893f063885abf034a0991636210cbaa8ff7b815e27ece3bc481c1b5ab0c60c3aed4b4e30230131527309fe3d73f02244429ae462d3846df2d9d357510c928e8861584734c153e37a1a4b44ede830d3be88d9d94e6d80302047c435bb5006830660231008cf557d5c407812385ec5ab8026feb706833ab1311ed93d69a2c636a8fc11cc98be05712f4bbf830917b406b827c0d5102310096a4677a5ae67d993f183b4a92d46f133f1c5e7b3a67d7c2110306d71dff33144379d848701498c190f6c219f17c6bf80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230407fce68eb0e34f929272e2c4ad3b879348b0b4a2f8296779f37c44169da25ca8756fcae9a9a3c0eaf7640381f997af60230178cbf4181cbd25cf6f4bf9c713ffa7f41629131e1da9b54d50bf67dbd6ec185ad77eb06535dd68b61bcf6afa43f4a050302047c435bb5006630640230199aefaf9ee8fee8f1fc2bbd40537f90e9de143064c5eb78d29b79092811993c029cd2d974fea1d31b93ff0704319da9023066fc18f882cf8fdad2f9d0dd1cf015a70c91179620f2247977214e5d1ab0c8b3cd83ac2489eb602610de1679cd3f09960302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b7a0d72e3dd06d413ce0348db67ed2c5b77a42702ed980f4c97d49fe5125f09b3536d8fefd48cf23c274cb8679d521d40230657a8b50a3803768d26deb31abbed149f8d1448d7a2902b516b224ea00b7fc1d2e8aa396b77ae884171ea5807b8aca260302047c435bb500673065023100c6a2160752fb4c98430b83266286d51f5376484175cc3697660dee7f561e2983030bf9e859a1ab6f5412018d668b2b8802304fec17f0c337fcef70266f0fdf8a737bf3360fd17f18fa1f757578acd66c232d702ae458f558ef77024c9488d45316fb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f8f60705b315bd4b945698da975d65278d3d8443f4392613004264f5cc3277cb20675bf0f703916358802b5c3a725887023100e364ecea64ac2bc074a0482e1530965f5381f0f3965945d78f68cc57bc2d1371a2378d3386b38aa663ff57d8faa0e2900302047c435bb500683066023100a917b1705120ffb3123b71eb95b24c27aa55b70fcb01ba37445b71c3aa8135db8978ab689edc3d8d51c252c36af6aee7023100a9f447697f471ac2913b821b61c901ab7b00c68a9e1046c326585a09915e43af961f561f96aafe8280f3f52f287270c60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305279a0f569784f5829a77e841ac6c3031d0aec79eba6920d6e0f17b0eadafaec101937cfe9d9b20fce1174c0be9f4506023100b200a044bf53910bc6b6ca38421bc31a0c876091d5f2c67447d35377a9a152eccda514b5a6d82a56d6483839e73cbf320302047c435bb50067306502307e99c7c974d29f67b205b1fac9ead8381693e2eec1830123963384927a9fa0f82d4ab1fcecc8f120219f0da43268843e023100ab7b8a73f8c22d141fd000af7c783b5ed29cfea70eee0a308fdbdee7dc85a7b68de30b835f4396f268ef42c022f6d5970302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d1e80e6021c6c9383c579b6dbe0cb54cbb7626a54f1b3fbe4ad1c5b7647424a59c3b44b7920e7187936f48451c1b45a80231008da2d08db72c9db918e6c6d22d0840153a6f526813eeea1e08cd02339fd56549a7a6febaf8e043cc8df44ce51ab9067c0302047c435bb500673065023100dd83cf12d13d2f6e074d7d1e80d4ab1c402fee9ca8300e243062002f0a13fe9ec08730230c65165e8f72e7dafb16169b02300a2c31d8db776cdb22e07dbaf6acc7f884ed2d3a968c64c39f198ea36bdfada97745f7cc36d639f19af6c9101a23ee220302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bbfcc0daedcb9a21380d710b63931ae3ad4bc35374fd8b72157f983e6d460df28e4a15a4b2b0e6e07a21099e515b69d2023100d6e93db7b7269c68a9b6013d978d4655356daa4af58606ef97d861dc72b99ea0476f2f8c8d759f328233d560efb271ff0302047c435bb500673065023100e675a5208b4d106eab9ed6ad530e94a3e600a09c587a2546620fee7bb9a56bad5c89f7278ceac1cf5ef3e43f37e8eb4a023056b6e78594f0b8c2ef1d7fa246c22c715a8595b228130855746ba48f53629be08c70c3b6bc2da3397c829ff5e2373f4d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302af6536ef751b61754a9260514957bed7199d9ede75612e33419334a69d579008d1414ad9fb16cb3692bc777dec4729502307d078258cafad96473e5b8359006f8f7f0a4f05a00bb17c811fd7fcc78bf3e01f74f58649063c5d1d99b315f5794af890302047c435bb500673065023100d972eb6cfd237fc9a62c71ee1478bd28c58f1b4cba997352d4c14ce389d1891f0d68e92d8b1772e4f0baa5472296410902300baf915fbef6efaba08b98219b9fbba296364688bcaccc78381f7e7f6036d3316328d9bbbc75173d79c07eb2618b1b430302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008723f068193d3762f3f89580cbd375cce5c8e9405d2ecd2b564fd99e8dae09ba9db22bb4602edc7ff601f9b0115733240231009dce7b15a9a674420c37c41838b7e8674c980a0452233c6d6073aa64fce329d306d4ae5b5befaf20b4675a8c988edacc0302047c435bb5006730650231008d3578dd55f13cfbab215759287f5ecb7d29e16c14e2672594183523e668402b12b74e357f75ecec5def20746ba5603c0230476a51112409c91820410eac369f749351cb0b8574bdb31d24458cc4124d8eaf667303d740b8e220407f766c375ceacb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ab0015c2427c709faac126c1665c26d190b4367a45c597d0b027ef4984b34fb9b6cbcc00608288182da1dae334266fb2023100dcb858f5bf34eb05c51a74c7eef34cddb5b790088f783d600dfa5d26d3f61c7787562d2a2f4364bd0fd233b0f8c3b4b80302047c435bb500683066023100cf4b652d8979ceae4d046426ed4cd357fd38705bc269fe24c117cc61a1f1b691f25463baf280475648e25957c86e241c0231008c3e788157820ba54f47cbef98a3360ea5073364af019ada639e01452acce7e3835fc489e43bc39930f72b8a9f2d3c440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307f798627488fac3a040c8523755df3895be8ce6e7085f7a2ab4865cc5f54b4d968f089cc355e51e39d7e07dd6e4a700902302e2a8ede82314c789f9561acc2bdb0f149ef546c4d4054b93cc0579fba3f7a329da5b21e643799a308ec7e5deaa32ac50302047c435bb500683066023100c47868bd70b92175283350698571073447c146de353391cfbe558f4ec3b6a36b463f9fe5e2d1784004a676eb4e776e73023100b5f672e8c9ca5c40c9922a40a7f7a9d42ca22b429415e377349784bdbf488ec9cdddf2f859e745f519cb9e425f22e93b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a970d4b39bbda22f6029e885fdc4b67c99221d2b8b5e24cf0a1f75c52465f85156f939fbd9b2ee03aa9c12db199e6cce02303ae3f3ac95f9393fe62145cf88204b6e5e1ec93c61763ed03f7cc4945ac86113723b6180f23c69ee01c467ef27945cd90302047c435bb50066306402302651a8d98664723407280aa2a3898579d3f863249e3927407af01773220c28d4270170f2ea631e81f97f051fd9c6d3c802306c2450a20d1778391cb94683664c7d18dc27a6c4d437f94f8b7beb69680dfd86d2e2468549019c3fc3bd7b4b91b0505f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301ef68e7e82ecd08c12ee584f4bc8facad9a28029ea316bfd592d6ce6590357575ac001ee034a99f2008761c928f2bc120230427c295229c482c0bcbc358025c982cc42b80f393b0fb00dcdb2daa0ca3f8a0117596b92b12d64e79b157e5cbcda304d0302047c435bb500683066023100978cb29d6e9d04b406e74cfa9013467683c0c00ef94c2845a972c9392024d19e5e5ff1d8db36a55bd93c7fbbe7f929b1023100e2d7edb70f31245f3d77c550b1c46334a5e227dc096e3638730bf906f0a5a75bf9874d9db2c2c1d5a30cf10a3cfbc2660302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023041334401bf82c849d27a7bfe63fc8939b3195a8b588c9540d42b2b245c601ebcb3744aa1101e86546c329ca97c16b0e8023100d22e403437567114820332b055eecf7e73f91a7bf61464590a208e7340062a33e9d6f8925356b733facac4919787c7500302047c435bb500683066023100c4c85394e11278e73299e671074995461722e362e31f5c5c36078d796db2aca9a8c7e0b38a2cb35b2d28716a56af0a8a023100f3a694c43936b50bf3c148fc7d1934358f09098d33dd50563c8448e9d46da98b19a12d9b8da58d38a70303a5fcbc156d0302047c435bb500673065023100c2107d22acf58eac764d84d85e8023be915e3e8f1e58471e0886bcb70f03976364fdbfc5f70ee4432c70fed5c563249402305a8f1ee2dee0b8b445a89d1175e9216ba2743275fc4e704787164f60ccb9169558fcb4a4c795f3a6ab71fe899072aeea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023009ba9bcd1d626d43f49c595eeece3990a0ca28dea047f94dea8479d2cbbdc3977a4884109df742699d21ebfde5474d0b023100ac66c67ec8588ac4b7d5e0a150c33e5bfa38abbcdf210d8618b22f5be2a2e90dba2006a934530c080f3c4b346c68a7820302047c435bb500673065023042ecfe25a9c7aca8b603d48a7189349ee4bae6addc2802fb14e84b5d0e9b0b42441e5fedd23aa6e470c4a26f81a1af4b023100f49e01048b66bed1eb1028060a92871642ecd25b78ced16e94d3c72d6870d8dfd99837ef512f55c891ede9a69d4c4ac20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a6a2cc9dedff6a1c2ea437167353c076cd47a42bd4403c5ec65abd5ec6f7bd45c03b4f4cbe82616c900b4b0527e85f7b023100d5089708ced146679688106fb00dd53600fd72934c05f07683b776506e1b7f0284cea9cc15ecaef79a2f2bdd5a67d9dd0302047c435bb500683066023100b77e05ddf4b6d4fe41ab4cb7df6579aa4b11e11b38db1474b58948e33603cac8763919b834dffdc527be3f1925ce04ca023100ddc46bf752c7cf58673f09b630fd59f7ea3196085b00c47ab49b8df3b8cd5cc4c2eb18f11a24e55c2a3a52f9ec3e193e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023079f98fc3c49740e45501ac4212df911e067202327594773cb4f6f468db26a8fd62355589fe5e17e6cd79aaa51d3a3e03023100f331d41e84071be5711508422ec6c0c23d248c9a44ed496bf52cf9ffd6fce358bbf2ffd6e8e77c6f1ceec9b9d007ea1c0302047c435bb50067306502310083ede32159a8b53ef3bf89da55460177e8b116c96ef65e4b011579cc19583eddbc972617601b8e51b834bbbacf59d1da02306cbc1e2ab123c91dd78de88b15b37d60f7e30b3e957b3dd449a256cfc4c4f0c8ee437eb666ba995e63bef65b5ac9b37c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100848084f2a4e49f864f6aef41f7aa3f71803e9fdc1e66f68bf9eba53e202631d26169cf3a398f93bca3dde5b9b52fcd540231009e0093fb0874459e25b9e10b54215eecc78483e9b1ccd845a99dae99d9acfb361b54dbb55201a9c99421b6304ea705f30302047c435bb500673065023100d7fccccb1748e46496ed9c2853231340298ce76e9778d7b340300d350f4bcf0af0e08c2081648d39dd5bc1bdc4583487023021ec9c6976830c5fab742db9fcb1ee32ea6a96e56ef0826bb10f1ebf42656ee8745f6ef849d1fe6cc11c1f28fb886fc20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230269cc87a88a355a5aaa399439e1279bd59ca423a09dc14657247068b3611c73710b0edc54e6a51f7e9eea6dd4d59810c0230555efb6323793c2fbc5f5c3cb4128422140b1f3731f1e8bca245688b9443f913a9b62b1f3483ccd5606ebfef31de77bd0302047c435bb50068306602310098bed364feee25e2d150829de06db21016aa2866b1f025732b0565b03a8cba7a0c21656e14707827f9301144c4e4212a023100b6427b3219365117cb1ee868952c6577fa56341e789d2930e9151411893a3cd2e7cf06cd693dad56df1cd8699ee606e00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301e6ffdd915216dbd0796e40a8a46009c436d6ebf0dbf135f64ec340d1e23571acdb6cb9717f03021aa1d939b74a01c73023100afe10d4ca55624d64622e19ad7d4e75e466478192eebf34fcd160bbd26c597f85d2d0cb4f47c2f95a7116899e79d05e90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100febe3f21c54e1a520c548fe718cc8f407d1b2f9b7eb14389078c054e892d5e4ed4250341f4ecf0cada7abebc5e68c35e023100bc36733ce7ddf3da0c1547abd166afd1da67a11c7f50638aeeb8e8ccb2c1b31f3e029be8d097efac0f79d245379d76060302047c435bb50067306502303dfd95e24dcfa1aa4ebb52f47582333d96c4be9e298cd7d3e4941c7da2940800c989cdfd3bd77991984c44320c512765023100b05fd7a655f5cc83d0baaf580c8db5f2a16a35310968ea76a8779edb60cf2986df09cebbba5332f9bb785509184405e80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100df7606267fbf41ba72b8c716ec64cdda7b039eacf404ebe1989c461d64bd85fe130786308181d27d009453eaa4b44f4d0230219f6f0aa62cf8dbb8fe29d4a1542f730d72c73195d4839589e9ac25a0c66ff79e3197c62efd613f30023c57988ddf800302047c435bb500673065023100d087853b3d8d8b4bb0b4e283c575aa325b62adc3f9337cd417354f49d8b67545f287b2e3f12c22867353368d2c44841b02304652b7a6f4c2a3bb7f7099efc929fc9079e8cd9473b4ca12bce9fd895372106a58600bcd6dc26e5ec17e719beb87ee660302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e51523350e2103e83b9dd3e553a533e45350707d8500ae14768bc834fda0304be48c020830cda3a2fd3296dc7f6032b7023036660f50e253f9536fcc4a879cf0e5b25384031aeb637e552671e7792089b90b7c60901263d95744007d0bdd04981c9f0302047c435bb5006730650230652b3f57f989bbe3e606fc00e6922ca8312093b37bd18c3102fb910ab01a545d75ef5de56b534ee2f9702de68819317b023100cbe5a07e3fadcd4404dc31147bb498484953e7b9b4d396135187477e4fb6a7fa65fca6a813cec22896c801f048dd084c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023001eddd16920c93de3417a75a018dc24f2338ab53d99a2b49ce07d0aad6e22cb55f785e4b1e4abea356ed3c86c2a8f6b50230292b376b4565126a6e79d3fced8b2441402a70ad71782837296fd837c91740f49fc342f99e8c77f6cc30e946ad450dba0302047c435bb500673065023038c057338ffc9fadc1020ecd70376250cb20f292b080b21ed1676e1bedf6b2412c252996b2421f12401e7840e4c7de2c023100db8b389a9499ef01badd5d93cd4be751db97dc2eefed2170b915bb500e59a2603c82387ac17164a8e34c3361aaac2dce0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100815bd151ea03603de3f53a7faf9ba438944a91d3aeed648e85d2068f6e9f623b68fc2bca7fccf79c4177ec0467b08b3f0230497a3fcd38e5ef7179a373fa43b3edff7691aac7b6585d422c533ecfedc1a9124046b0b951628fea56fe03d958397da70302047c435bb500673065023016626a118fe6ecc95ab13b956946385738e8081caab311c3bfb7cd010133dfe72b0c4c881d06470520fab05171a7f3e2023100f6bac8f1dbe6e3bc22303b519f1f41daf771ba1cc3a36dde64f8d991ad0413818879a0500df3fccc761abaded6b36b910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304a0e19584c241a5931e6d017d5b40cac32dc56fb210d3ee7c59093b08b8e71d652186fe2067c10c8be3824e61a15be6602304b7ecd230e0ef830cba11abf384b6fb683e55aaff2b252efd2e6e0e1bcbde664e48b37e1074d7a15643f685c7c71a8fc0302047c435bb5006630640230410b8ad46dce5e12ae294db88eb1a4cf776df655eaf857bc9300a5b977ca01bba0193205429939f62a46ca104e101ca902301316703b821c654f8ca869b71986db743b5cea579a23ad125a87306ccf5185598b92be5209cc9aee244bf743029a0bf50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230403da1199584093e3407d2fbc2c18680285b1875c3931f468d7d5ada8efc8159c224548c1d2332a292f5756b4180857f0230778dad2b957b3cc6ef8c496c64df3fa7f21e77990b959b1cd2753c2c25e394d68a81edcba5c753749f8df917af1d94100302047c435bb500673065023100d8ded19fcf4c7e20578f6ab8ebf92036a22b58e18f9e6e7518d33d3aedcccf9f2426ed974f2ea7588d9e9aba0c1763ee023073f36dfc1446de550e2b809e773d9b2db7955be4dd9c51adf085007c6c503f557fecf82cbd3e707aaeeeb5982621661c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009cc2ddf7f7e3386b507f545a85b1354b8b01e4e99a31cf1d5e5d024154055328b8d231b921c15012b85a1156c91f44ee023100e47623e8a0af9efb75aae294c01aa51f0fa36c6ece096dd292bc4b34e6237f7b550d42f6d2475a67a8ef11eae41b96df0302047c435bb50066306402306745d6b01472146204c006f2ce59ed29dc0d45d528865a2df4f6805eca67afa89650c0f82b4e0d05410b1f0382f1f15a023021ab78a726950e69212dbd02dea4d9630f664080669d8c393e1aceecc80b9927a9faac9fe43ac422db86b8b9a4ac58250302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bdc6b2cbf2cfdfd2866cdf2242e72073a1879520eb1a9fb05ba46f79fc1e156e93a4860eeaae5cad2194cc856255ed4f023009d4b7b80c2a73e2ad359eeb4fe2eaeb031bd242658633e6a10e1ace15f2180decc0b027d3ac43a35e4b84e971e9fd5b0302047c435bb50067306502310087930f64877d90a58b5c85f24da4e352bda979be4d641ac812ba719ea9a7b7a7581a51174121ea5c61c3a49f2f8631a302304511db674862897f0dcddac1b3d94071b1e36de0327acbac0863920f1963981a9f3599cbcc6e6e557345fc1e82cd5d970302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008f0ff6dd985a1d994caeb59eb630340aa0bb3d20edb039cac9396e0d97461134c1f37866e9b271c75783af9e64a2d20802300f52e7bb1815327b709a45eb6346cb9ff5e3713672c567e63cc8caed25fbbb6a796b4ae47da27a00d664e4fc1166a4880302047c435bb5006630640230099b3692221ed06ca2970caf69182942b3363dfc8e231cce9afbabe8d336d854aa37aa8189163f362f58bc536adb36b802307c4832265a7638c6108b5132905f32145c5036ea2a6ba841844eab6a6519cafc6d97859edbf06adc7e828f5b522d41aa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009e7f3e398bea6c544094cc5125d6aa0155d73933af8267441d4364669fd94ff8eccc187b366fc4ba26dc9a4fe423f73a023100c13f798cf8b7b01745b422d53ccb500adfda0fc4e05408ec244c7bb5a81fcdac90e8a3c19e68706b9a9c550ccbecc5a90302047c435bb500663064023016110d2a6c75b45b61b2e6734240eac8cec0ced6161d35ec153cb87cc369c08f24cbe7d9885581f1b8777ed2aa0abab60230351b7b98bb9a9adcad5b048eeaca31f0f6a5eecd7de97b3149e6cf8d78b7c808f0f56f465a62f9ce362d7b4961dd2a3e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301b0d78143adcadd1c7f0be1d5424dd101f2472ad01276b0908cbe976df6c8437f2cadea9204aa2a29ded18fe230866c3023100f22f5a570b95a8df994be393674fea904f14166f3d0226894d0c702a495df985945afc15ab729a7df2ec788a8151afa50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230659735ebcab095abc43a64e3cb90241eb99d5edbfccb264b7520d75c0ad6f11459d3817c62c9b210fbc82acbaf0624d402302397a85cc05c13ba693436c188b7abe715c2da12a36451b2216c3908b4217b143e3a53943f5fbba97331b008a111201f0302047c435bb500683066023100af30ad1b49220b27740fcb174809c6366c466826b48aaf1c80a9d59d15c0acd9a268786f40cb79bf9c7d88c0893e6058023100c2633bfdaf6674d6f78eef620ce01af2c71ab026873498b5b0f2628b28685fc4aa67a157837ee6a63725d19d17bffb050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300c2457c0f2c307164e87e6ac2f7a6e97dccc4b0cf7db1cb8c01f905b6b9d1868c8f5f961276437ad7af5c79fa4001e710230577a1a4a43e33d0306128e1a97bf19b7fec3f4e50c12b471491a914eb621319937a2dc597550920f9c6a5e623aeb864d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305d3b5c3a6b6b1cdfc6be31c0267a11596efd87af2e1d5ce81837cd5ce8f79323141faf0a6be8ae2e20e078bd36e0e7450230182b3c015237972bfba8eac8947082242e7e89f8ea2b67773c44251e3b1c8418338effcd859ce6302f4161204fac10230302047c435bb500663064023038e60086ebbcb9697f3a883fb4f608f2fc4bdf4af2ee0e74453ccb85bee1a9c8a365457f6bb6bf2cc2d1ff9dd26c07b702305f4393594235c102d19b62298208f56f5a8d5d34d85566e62324d43063416eb73f0888f082a9357995b71152abce598b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300979ddec90110a1eb83b60102ba26fbce622fbbe4581202361d88787a2238db8873106df6cd933039c09ad0b5a89f918023100ef7d75110589f7b1b3fd3056d2c7686dfc9612f27c5f60a08f74bb61a2edb1a1df4b1c2d947b177d548de83c5bf7114a0302047c435bb500673065023100c3dcdaed2364ee4bd466688b051199a5ebe352a2a47f7fd8083993e61ac27804c7ae2671a906f67384fcb29149fbc2a302300662f07a1ed5af6225281158171cfc808891b9c9fe3fd6bf723e11aab9c0bded03c8d6767561de1331622a69b334cc310302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e93a7a7d50a4bda5e83807ef8835d7f2ea0809ea06edd563f25cee273c9ef272d4ff7d4ca4ca19a8adaa56b04548d086023100900a161edbc32309d32738b61221b3c1d410fc58354830a9201cd32ac540fe07f193b5a5fa35bb67e31b963dd8cdd16b0302047c435bb500673065023100f9766d686fcbf9e40d639c2718c547058d6c922410eb9a002a380f58ee1824cbde6bcd076e37b2eae5e0f794c745283b02304d4023c99e436000badb6f4bf83987a33975b42cb1e641ad297eef86cb28b216dbbdd2b5fda6dcaa14c51102954d2b5a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e9992a0b94796e69ae1a9ec7834079f2c1b6ce17d6cf0155a07837d60a74df958d26946363b3980e48432249536bd9140230575ece717a107fe1e17b15f10b2412140214c741fb946896822088e6a3f7e9a4b99adcf3a46b5bbce91842d3d9e5d6e60302047c435bb500683066023100a88ac884967b9debb3f861f3568795507cb07d684a55ba530ccbe4e78adf966a3d055fca527207153ea4777f14d63d66023100c9f5a28341956fa022d7be77d807a705a2bc62d97e94c6c63ef1afacf195901044405124524b4eeceaf59db3fa65425e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305f1e31415fdad63795e719fe3f49d541be46da1c144b97292c4e1fa905888c82b1c3078aa395af9f4f61c293238014ff02310095cd9805b3d4e58f5db32d48aee8bd073a5f9df36a910ddee1ec6c60231b62eb555e66433bfc0ac3fe17e43e8081df360302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023032e8d7aa7f350182e7abf0b4d514881feb53eb0e2abb2282c245fa014a3d8aad86e4c6b50385e62b851276080c7eafcc02302eb0473e49715513ee53f909e75b3d865537df045737ca441fad3bbfdb37e67a1ef3ba7247e084fa21200ec5c4bbdadb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230082fdbe64da92651c532182538248ff37b882889d14f5e5ee24dbbc5bd986beeaeef5ab729334f8f7f889ecdf87b63a0023100d4c5dc452f96563fa129fc8991ce3510ff1cee4c0930a7a7bd852aff1c4046d847e1c39da1d198f3c07b2f2fa9241e830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009fb97cb19c0ed8365fddeef7d4b5103b22af762b921d1fa755773b91b2ad62ecc8953356c40aaec797a4dc2cf68832cf02310083353285b5d014ac41247f658105d2d047ef33048e98d47b9ef523668e910d8e99d7aa2c7c7ea427bd91d00be041a10a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230750f838e0f9fe50980ebb161a2f4bf3ab2fece413a58bc6f1fdc0563fef6041cd867224cf880b21bc4f74c35b1d0235c023100f3481200667d9065c859d4670a395e9e4d6046cd1d86b7b03d6cce6b3b528a59ec30f014c2b8589a9900a7d4b16833dd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100edae39e2e760973b50e1ba357ca35897503ec024b3c10caafec56794b594933a04104f7048fc2c60669aae03225d256f023100d8a041aa6cc6a965a0ec6fb131454ab3cdb779f135df999707dcf034ac132781bcc5163bad9dc9ecda90e68d56e270f90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230075102b93adc21b40f63a6e952a42aab4bcb11679f345a9b4a2e3be11813116c064df11c4a292798b28a526d9bb83ecb023100be680781c27cf3d4e51f07381e23fe7ad2be7b302d89150470ff2c686612b5850fb71fe620160ab56c3d90a12777033d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100acdf9bbb8847dd96f10d0d6fe32a1fd2a8d29543d8ea459fe625d88340ef1321e613da7cdaa438f1fdd9ecf59036f798023100dec0cc00ce0c64e18a6bcefc0b0a95363908673abd81dce8e93ddabc8e59cf5e348be0d45bd7020904618af7ab9dd42e0302047c435bb50067306502305abab8e098c9a282d2b39a9c3b61063a97668db8f324e793cdde20dd34d8c72715e80599141e43296cdc0245467fedf5023100eb4f2f82722a43aca7d0336bbaf8be7e275f714bd15392d099267eb545ea58be09c1487e65f69fbd8145bcfbec0b07970302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d884549c2d6c563e4f0f2eebaa0698b7c1246c294a99b76a8ba8b77fc24578fb571d84a693e726b2810de3b5108d5a78023100f6cd3963a13e4c25a9f766030eb2e7c9aea72d379853116683012b29f730192845a32731423b536f9a6f192c8cf09f2d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301197d4d29c71ab86a6bf76305765afa9492c19005074afbd02874cfc855af2cf42122ac7d4622c476058b033cf3a7ebf023100b0a20df4573161dde425ffa931a1c6af9ad8d685013defe24cc88dca01a023a1ff28803e77ed4535e188b8882096d7ee0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f45012ea8c2c31217510ae368b981899883f47919b1db18f6885b62e53ef8460c4825f7cb246dc7c2ca41704a9a8f81f023054c3911c40c85415b100808ae011d186a56f361d3ca51abd21a9c0cb74cf4c557241264465197095111af22eaf7543e10302047c435bb5006730650230787b26907df4c54826db6e0361b1fffb6dde987070b4430d7a677d9c8f2cacff59eea8e5db181efe1fa4c336d08ada11023100db1d08ec69b32c86817581f6778dd14be1824e215cf9972a3588179666620d3707b223693b22398e3b052074b7888d0d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c8dcc3d6b39d816cbed8cf06a67b37aabbc8169f8a27ba4c834996af203e4befd89d5b4a2e18938ee7cb2449a376b96802302e6311926a6c85dfb8c05848a36a7a10f8c60ff6c9e2de824499cf65db991c294933bdca7cfd1dc7a29605a2ac67e1ea0302047c435bb5006630640230339c44c5ffd9577edf073eb7b10c5aad92a1fa0ada06ae0ae430f53f5a1c17207874e3e8e5444d59210ee0a979c44a7202302772867a28f1cb3d0a7f5a596e4f3155fb42d12e3522a1ff56a8530147eba98aea5523f0dc9a2fd83015c5539c3f0ae60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301e198fd3582373778d09055481d2a3e8cef79bf3bc8e382187249f2f665baafdd126b9763a0759a660aed573d08723a6023100cf3f9b40cbef2d8eadef4a93344b1fb5c6ecf16c78d043972fa2737aa1d04501865fc0b80587ae3a4d7efb7cc175af0a0302047c435bb500673065023100ca2829771a9a4bd841fd9d4cc77f2410e273c0fe00c85fa97e7a678144c3ae7a431fddd27627370275b324a652aaea2202301786ba304027bee22aea24c86412fd5cb62a46f89d346fd9a9a13266bd7fb340f7fd2d831bcf74b442574fa1fb81b99b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305c0f4fac3c9061f5d6d5b431b1f86d95803f9af3bdab937f8313a63148ce3a728a229e32ab554aa8de0b1f6227f4aa41023100da484d9445b1e65a257fd149355a61f1f100f644307d3816e454ef860c63e0fddaae6750cb30b5da8fe5cfd404fb793a0302047c435bb500673065023100d541e2f6e38ce9bc6186978080a56b8f7da34651dcfc2f91f0f0f797a8d8ed1c2ed95892cde2787ce5ee1c1be9c391460230534612d9e15d0de0003007243db6a378f31957fb7efa8a8449e711dc265e2116254cbf58cca14bf59c7bba76479aa3890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dab791961a14cf46cc00e85a3033dcee00871df4ee1b9cd9fc1cd2d6328477bfbad485b1f60e58e347e9ff82687b9df60230583bc7b533403e49f2f9605bbf3871ba64da0261846a15bb322c047869c362783f39d859a4c13b814f67e9ab86b5db9a0302047c435bb5006630640230666895d2492f793de66a387d887e58695e8352283d07e6e95cc8c7f637506508b5d1c756a937e4b7d06c6b4bd9d97585023055ddc218c76823800ea8634752a556779f8e82ab2ca3e2dd7b12d00eb4154e0b535d7b3f9f52e8e0499aafd583a0cf530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100af778d8888bd8e63a112619f4c096e437abd8518770449a23b8e2fe498b68d0c9b8089c27897d7f062aef5889419dcdc023100b63c2dd080fe337bb7d74987e5da2cc2ff0dc0f75d0ebf7f629df42581829b44a50748d3e342bb724737d2e50d3a04b20302047c435bb5006730650231009d149b1e1a706a31f7aa2d661eab25cc916b8b12856de0549a6494a26217a7b472d806697e33013858c29d370902197702305c359814b7c351a49ec4421169a0c1b072f75c9300651631ef4ff3e77f0b31ad2b7974861bad40aedac5ef6ab70151870302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303e2a3a6d69f988ebd7f690f1be588b9f026c0afd86c1eb8fdb930edf13b0d23b296d2542eaf9bb0a6eda08bc016ec18a023100cac7d66a19b60b5293bb484c22227bfdd8186a25532d5b549644e0dc88c2b0f94f9887d3f72f6a03bd692c3fdd69370e0302047c435bb50067306502310083d0b72be07d38f73e3b77a823219e78160d8082d382ea41ffe381fa4358edce95b49e1722b990137a19bd7c274c823f0230241a2be048dee70ad27678201746321f9e29bef3ea449d4aa06d96ca3e2c5c6cf7069dd484f4a3afe8a69dfd01b570280302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023056390a1bc368367babae980b0a8a82fce996d6a1a7df4ed54ab6d69cc8a1101e66251ab9a8a86411dbdeac5804f6d2550231009942d3f9359ac5cb33868ac22318358464ba93845d89aee322ee195de9f014e149ce51c3f92094acbdf08e1c8742497b0302047c435bb50067306502306fb3183b18a9a0d6f9073274377df4b10a723bcd355e38d83a1d9323903b109a884f23ad3377388051702b5728fae97b023100ee73703a318c8288a649b8ae19895e5ade63f6a4bad63113857785f704d8d8d5a88b2e0dfdadb7bbba506f702085a2380302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306a016c1d4eaae2124a82abc14a55190f41a67841ee2088a7ebc0170a20dcedf8b7c206daeca5e6e1654787ebe47b5df502303fd5ea6cd84646e392094545c5912320ca06acec111393463f1510afe38d481aece57d5789c20ca4f16323f05ef519300302047c435bb5006730650231009f349b2a05a3e7c3d6bdfce4cf0cca83f25f0d58c87a9a2e292668cb83d4c0dc463d8d25062c58a74250ac6aef24bb6902305d33c7ca40bd23ddccc2276aa3d46ce5007c6b20846d04477af6a585e79710c9b0ef2389c9155baab64c7d2c5468774d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bbe53ca290c62b492556912c25105e1fbafc8962a9aae5890bd91535a7c5d788596f04386f20393d772d5233186f59b6023100e5794b5ede1c551f489b719e330bc8a9cfdad71c7a7e1ed7f30bed25a85febac5300cc46ed9ff0fa8d7461d9ad0bed3c0302047c435bb5006630640230420566b2f662834efb6c4e830add0039b18f1d6e80e6d2b135a5bce5b816892fdf9c45406ba2f036dcb7311f29c3fe8f02306aa9fbf6293c9426ded49bb06f76c5f30a33332038a2d95d83e87005dcc794c5c2a4b95991d90eb29796fa00683688c60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009507624d0eea782f63561dd7b6daff1887467e0e799bdc03e39559c84b79ce3dc6ef7bfd948344f922c47e97de471599023016348f73d40efddaffdc3795467230441fc0b01c6d0df1a8bdf29f8f450d36013bef76057dfdebdfaeee2bccef30679c0302047c435bb50068306602310099ea0f253a16c5d889b43d0ea15309a86266b83065416490885340ff1624e15bf4455619d58ca2c679affa83bafdb1710231008b424ad1d0d26483f5bb355c46eef718993f0ebc0711000e433fb717cf5fc3b8961f9bd6760a781ff80991290ee67b1f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304708e4e86df53adccc57f68b28038b740e7369d21c346aaeb16435f866400e1e513ed68e0459939f419bd9207e05f3da023100c699f9832fba6ee033857ba5d30f6743250166a108ab90d54831e0fd69e9c83e267fffb0cd67b12a4aa5f853d6e2f7440302047c435bb500673065023100bdf97fe7e14a31de38beeb711c4254e29d775a3ce3cd629da7be3898b0a8d8689f7b7eb07501fe82f2a69a591e53621502304128865262c609bb8534068dc548c5ac3175561a9d30ef24495f634c92d3fab7da93115dbf6f10cf816a7a13457899e10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306e28a43d062ad749930fba85c9ecb89b5b1d0ad38a08fe0cae790f5f62edcb283a5947dae77f5a9eed5f11bd6f16c34f02310099acc6f244f17155de7c06be51b0cd8cfe7e3bcc10e3ceafb0e61b8a3b2222bbfce0e0b0fe8e32fd2a3a381c88773f700302047c435bb50067306502300382032ecc9e1ac9693a070590bfb578938b388ecb39aee40551f4e94174748cde77f386653ed6d070975878b941946202310086b4e6dab26e12d16177a6172f8c01c84c06f2d85fb248bf6eaf43eda925f81cc389291539d9686e1eb8d19e684eba690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023002cc737167631ad11a7a445e8deaff6655127c05aedb9fac16335d92e94450503b1a724322621572fb85c5a3c025102602302cd1ab3fa9828c6a4baea3703307e7662e7140d1ef89a02296bf1d6157825eccbc7b85cb8010a38d547e6417d3be03020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dcbad05d8519577ec6376fe98aa08a41d3307d5cf575af6ec01c399a1bf814362d7455b926f7e51649524c5b22a118e2023100d3a743f20cd16913ca901bec22ccab1fbbcc827a2be60c66fa243a91d763f32d63eb2385c5852264d612e42526d95b260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301e3011e1f3cdc7988ca905ba7f87a4bc96fc609fa3100613358d80bab3dd1dda4e76942f1e06dc8992918b201030b992023100fe7a0654304e125cf1eb944fa3142cbe8817175920f481bf62b9444eac64a9a572f46208c21c5a8f5041875cbee2da770302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301f5088b5b2fedebd339bcf197bed8886c208b8a052ad0177064d5b4c80058ef18df57aaf0be6797d807c30378e8a11a5023100e1f31024f94f97f8519aef47937032aeb347df53ba74024c6fa654ea4bb84c5e1948f3cd1f1bb07fbc54ba6e293652320302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023039ab8dce3ee6cd827d0bb50f976725f4d1dcf1d08b4d9343689eed47d842abdaba34eb3e3d6bc5af993b2c82de8eb5050230448798520bd6356856efdc6a3f48def4cc993d365a2f40266dc5d52b411faa123df0b32544d2418be6d9a3ad638a72220302047c435bb500683066023100e3ab8cf3411483f71ed2cd4068bbf53fb40c2ec0a89ddb60fd2b49d88411c3c416d104841af6b66719f1bce2c846e40e023100c3457fda55f054345708fcf7b3bc28c9a4b6db61c7ec9f4e32615c87d4d35416227f169c40aead92332876b6cd0686300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ecb375cf67a02788de67004077dd57ec94499bce877d55dbe3cff1f0cfb3b199b94a232730c3f0e726d6e3bb9d05a0d8023100a4a4ed0c3af9d22db003ffafc7b1637032c109c00858b45ed8d912c5668b116461a562f02caa6ca1341d4beb003e1a600302047c435bb500673065023100d7e4475e3f6cadbfd4b0a5889d355f56068c77646dfdebd809e04b7659ba6c262fbe4de2e009f921656407add73e3ac302301d3846c520a48763d3b868c3418377627ef85935d921e3ac168da552aed1c9fcaa1f34f961811dedc078a0cc518bba540302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023046c180aacdf2b2337c2ee35920014a4a7326d926a5c9fe1e5320b771249243874f9e0b526d8fb87d0b500c11f7ebfc9f023100a55e95f7fd4cad97bab386beaf6c7a1a023beb485601c0a258b02cf2c3604725b97d1194fefca422c1862061ec81c9a20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d5b8a12c4c7dd50d85363dea8c24feb899e142690f5b1510872796a3e0f3b03aecdef18106d52373676a101b821ed61002300bdd6d6380be33db8d58f7e19d6a117bc57cb786799c6ee699ceefd06f959d0bb4cb5cb41be06b4612682b64893efaa60302047c435bb500683066023100ae33b05bac35c4fae7751d5bef46ff9c58a1d234ad3e414b88f9e652c10d1490e7575164ecf7a0b800fce81446d34254023100e601dd6241d45dbb9b1d487d454cea8f05c507c9ed72b2cc166cc0eae35e1c5eb695c98836b10bada4354105f399359a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d8ba7f7810b43db3536f468206ed61ea294b199c1c19b30eaacfab9371233a6fa0be97291316348243e8421ff632c4b402307220511712c518e530227af8dc0b2d276a1725ee36428b70c94f950d6da15a03989bd37b3c6cfa923843944a17a455950302047c435bb50067306502301a20bf95b522536cf449cad932fc91e91531929ec62e17bb320f3f3625cb6d6a6fd48f13b0c79cc48d953135c9b427680231009dbe391a3259f7ea9f95c6dcba9ef508d2a57facc1c3f474ee938d0a47fff99df482804b0c0906c09b4062b0622b08bf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d40a1a9deafaa4f6bac5d6becc78f96d851031d1df3a58217a58764915e6829c8f98b389c0772138f186d79a62458b25023100d28461590da000c82e3285c4d0a44eaec1f5ad8396965c4e9cad86e78b853f48e15df1d6aa414a16b4edd3105373cc180302047c435bb500683066023100e59c58ff4e504a03ad8ae19e4c2dde0e90c42fd9dfdaf0f94f1d41a58e37e76273587e4fbcbb85c4f27b9a20c1d72907023100ea61e1c3443a6ea117c7caba233ae315f4abef14982ade38cd532c72b9e78f48ef9f2ec3a947078501590352eeb7c9990302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ff9c1209a56da9392f77c29d7278fcf95f319579750bade30b56fd0d3e71f54e29cbe4e73e20971fbfe3d6bc654410910230138e74554aff62728afbb66a54097c452d033cf3f5ad2edaa62355b38623ebdd6f237fcbe8ea4a3174b68251b8779e480302047c435bb500673065023100f0abce9cf8136a31c503472c0d3e951b1132736c4e9bf35682ddb8457e8b42cf0f22bbb86f114e1b1bee86a81f1e8561023057a914b886721a971f18526f719ea36889c8f420ff778cb67ebb051a2af2a16fb169a1171faddb573e1bfbdc84a2c5810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e300c7cdf1fc3d06cce5dc9b8caff5c22537bdd3d1b4f6656f73192ea04c817f8ad66bd00a44c3ad24bb1aa80e9a542102304a43550195fc58e8ba65424ce224294b8129bfb6a32d7e776c4d51a8f7b6f0fa77cb248b16744b1698e0dff1cd46237d0302047c435bb500683066023100da8a5fbf279f036d04286262d4cff7bc434c53c9676517b5c619b4ab11fcf1df55c99a4b0fb851ca233c7569abca987a023100b4bba21c7753e31da9beef6b45896540e1dc76e392b19e3ffcb8a99aaf1001fe4b3035288bd05f3630465736f1be2d7a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100def500378e9cd09d2e76350568b2e62bc4ef9b9c3715550ac531dfef183cff4662d9a50a9dbc1016a9144145509822fe023037040ef9ce35f2214b41ba7f7833f18447704f703671577ca079246e9a92254bcf9b3d2fa1b2c31acb842499cec9cbcf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303cbc106bb7310b75609c87f1892b2db5211d3e3063699603ee22c45aed40967a356151d6c8cf90d91af78f27deedc3a7023100f5745b5c69afc68fdb7d1742ebcee3bcc2148d4777f833870c59d42f6549875e1b7eed777ecb3b35c12f2674684f81320302047c435bb500683066023100d59575272b6797e30e36c5adec7f906d1e7e8efc22066aadbb86eae25d8017cabe5103bb27b0444fef93144f178107460231009cc064128ed4dbee18eb48c9873bd037e6f11201412c43e0fc3bf6843b6160079e44c587bcca0c1d640cb0e34e8f76a10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e14b8f19eedef7930feb4c240b2a366e72826726774b22b3f1ad57da9181db35cd68e730d1506c00917765a59e2a5c2a02305294385bc5d20461e59acb86be0fecb90cdc7ba25d36810567b8e862ef646cd1e1fd79471e9f35186c4e4e2576d3276f0302047c435bb50066306402307233f1bd0340214fdffa61558c0e12b108a649fb15f6bd0580b3e1f54fc5f69464e2440725459365f2d19c8be81041ff02303af130c58ae7a95e673ac117beeb42a11350e2e87f71c68dfab63399bc7e8abc74d2aadee23266acdb509aa184f258950302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bd65b1a77032655f073231a2ebb5354fc3c59c4665081aa61423c154bf77a3c45357f46f42e70db106b0f5541db2dd05023100985cb933260348158d7d5e44fb1eb6b0b1ea7e4744e9db86e27865aeee14b9ea69754c051eb108466bc722d55f2dd40d0302047c435bb500683066023100b3be6cc46358a4ba59d12a1c475cf4379ea35268b7e026ac4aeccfac2e8249830ae9b10c8a4263b6799c16bfbdd3cf0a0231008f105405ad1f7244c55c34d1f161fccbe04db3225bcd904f4d68e393a1f351bb1ee0b091303361c133108f19802732be0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e40083f9d3419a2e505ecef5881d116de5606d485d445838887cc7f2c447ebb746c04580b9c9bb85be7c428ef124d03c023100f9ad1adb41532a6353879f835c2eb5ed4ddbd2bc807e81c415544c42e896f2acce12ffe07e726d33e3d462e973d557860302047c435bb500673065023040247e09c7bffb997051aecfcde4ce7f10b2e3b875fec5d32c898cd7601d1f43bfe3b8bca94f596783aa59db5711cb72023100bd88cf276603fa2225114b0a5c681c36a2ae8e71edc0247ffa88a4a9d868a53b7ecfa94329a0d6119364bc927634f93f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023072f42cb73bb0e61571cea04fa5f3ccb1a9a0e53a224c1c27874e3c83743cf9d940854e09940667ad0603ff14f92b4d12023100c447e28f0bc684352b695811796e14cf9b3fd2ea6cbc18029341670001971bd557900b8765b4e8fddfbb328ddf09ab840302047c435bb500673065023100ef0eeb137dca872698233993054a8a01d1175d065fadf95c7f08c6768cc86a85094978898fe34ad0b40f002f5b30faba023054cbcd298cf7545728046039266f1b3ea1176e1059789f97f9e47b65ecd8402e590387eca877aed894b3d00889b557f80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023006579d8ee22b3ce428076704a67358e1b2ad59285d22a0b078ff38a10cdf887449ebf8da5eb7145559301806b4ad86ac023100fab0975a3da5922fc34ab7d3807ff9d3c11a942997eb396eea60e4c448f56f8fb24e131bd82334f8c219263781418d880302047c435bb500673065023031542e74e529cdd3972aee4e7b8bdfae787cb750f0bbd3f7deeab09659556b422eefa85030152e29d51907c13287f178023100aba32457d379abb0780e44e88c5e2ef0e05f5a44ab0d99ce2bf928298358c967a300261140bdac9294428fe1c14a58e20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023030584cc13adbf9f96b2d2dbb786365db04906da6176d774ee5224585974056d451669702f6ef7c3e8a2b6608742dd319023100dd5cc14f4ca607ad40da01d8c299cdabf808a54a4e2a597a0b9d290d113b46331b708bdc0e165f62a49faf4ec9e683380302047c435bb50067306502301f922ad0f9db030844e9bd09473549b1d58e5c9e0abbe175b7e7b9240adc5f134b22f059cdb9d0da6441099b929ae560023100bdebcd503518fe1f4634ec157d45fb79865cac543abf88031432739a23fbe036dd0e150bd5e4b87c029f9e058965f03e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303761e5920e869b74a65fd4fa88fe22263d89b83cdcfaebce5e816b4e18ab60fd762a932a223123da89fbc04546e67a0b023100dc5371dbc02e22fba76f36031ace9a19c360a65c79270ab44e3e6c03d6a85fc028a7e7f086705950fb658e6b39b14f160302047c435bb5006730650230729fe4dc948e0e913da2072c862dc853d37ae81b705c25d81f743a0e9fd46c234dc2f508c45806ad117ffe7fa7ffde7a023100c013afefaefab788c8a4bd2d97f6fd7b8b34b8b996ac6f4b76ecf6ae70c0fdfa385828d3291838ea1c2afef41f4939840302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c42b80fa8f859552793eebe35f2c17342a3de853f1e14b5bb86e1f8ece336c16a21a63dde88dce2d7cc011ecebff93a6023069ece22bf1fd5d3b90768e13d01683aaf39c9c98bc78d0b4387a4d9b95fdb347f2ebc346c701423fb3b4a41ed808a8f80302047c435bb500673065023100934a4c0936714023a294d3165429bb981337641d0a4b05ae47e5efebcea2b6a8fc7aa2241e5c1b0b20b3aa6f2494a6af0230549b23db7af0ecbf8c9d8299ccc6d4dce58ee9876b78c83c4b0b091ea11172df59dd102c1863e3b3c282c3c200a1e3cc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100945c4ad308b96a3a27857d4f588dac55c681f57fcc3766b3323ffd63d5930b144325e8de463a49569a241d25764c55cd023100dd8510a67cb789900516bfd88766f218f476f7d4a218dc010e4372a96f75658ba8764dc4832784dcc9b7a694aec188f90302047c435bb50066306402306580fb0d834b865f710094ce2021d2e2ecb0202310a738cfc7b8837d5ab7d9c57eb2fd4e39889adfac315fcef9d5313c0230256344f1d6c38dae8b7d6488229740df401dac2a985ea5bc7ce132b6c9422836b5fc196618eb9dad5498e1b46faeda210302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009361effee23710ccee90d7222ae7ec8af03bc5c0ad85cd76007938372e8710b5907910439a996351edb6708559a7dc550230620781dfa067479b976c160b40f2cdb5b1a5ed8365088b9e7a2337c5013e734d6a52d795a27e3bc5fd4fb259c290490f0302047c435bb500683066023100bedc20e19367c6a3932c94022a4529f7c1524264f3151e247d04388d5d4f1b92719cee6dd6425eea68238d341e3a5ea6023100c33d33e683474ca653b312b72820213a26218d0284098c440d2c29d4597cf210a62338eedd12835b5b16136924a476990302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cb72dde1633e46fae1e818277001215e9c199360e191bd2507651248da93ea17ff200ffe21cfbfe68d5e6dc3fb85dc34023100f7411658bc5ff3cab58fc699b7bc803cda897621162e1574dc8ebf021b3925d09a4275830973eaa9573ab6e0a4444d390302047c435bb500683066023100acb4995b6443ff9171175e5a9deded25dd189a7d6c9a303896c0f4e4dd8a01bcec8a2d813001dc0426745bb9cc30cd3d023100f63a2cbc934b7f339a672208cac30e2b2d654aee213c3064ae948a8d6b1a21115f679180ea2471ed43773f232aa0fa500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230396b94d2b9b3b08e5107f238544597d074f9c8dbb8ea5137ec65c6d468b3a582d4a12c63546ab7df55f1999231400b56023100983bb986e5a965169b26aef66a20ee139dd4ef20f73dbdda2a27e7306606fa89173fdf17eaca9242c0ae2730db9177ec0302047c435bb500683066023100ddeb3702ee17faf99b3aed797bb84f1e13bea7ab7c061f4da62bd7738e7e5c146582a80be2d96186e89dcd0643c08b6e023100bdbb955d3d4184def166e3a6a49d47e37727f017d77edc814e18ccaf1ebaa041f3c854a602ada16b64a611241b4adcbd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cda0e5942124ca8e31cf15ebbcee2d171c456a94a3ee34f465279b6ee457e5b20fc833c0a6538fa135d42b8747d95ded0231008b46e283d83924f0fe6350bc3d8d11f09bb91c025390564321bb7ee40c9d0f8dcab4d950790e037cce2a0d78d3ceff290302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306da298ef141baf65499c36f44fe65ef319bf03a3b77fb68227753f58ddd81b328b87558c8b0c1efbe7d371c0fd94d41f02304c0449745056c6fbf91872576f039f69ab33294b93bacfd2ad8610f37160dad5635a200f9421ed46ef22563f223c0a8f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ddf0b5f9fb4202039e2b7a69af7ac85916051cdf58dae4e61c56010e54fbac922710caaad0f3d04163234f8df65b829f02307d339f181c53c9fd7e82e91c4d1b424c2893be79a770dc0df972b5da2ced21fd2afcf86bba7c095b451ea79b07e77da00302047c435bb50066306402306b0a77de277fc0792be8802ddff70984d44eb0703c3fbc1a4f55c7e335c04987170ce2895efc8971f9fc0c4fa8d44b85023058d7f8cf0c5720487d44dae99b9a50aefef1dcf25aa6f80cc14436f505d79a5b6bead1dd14af4e197c47ba91d427f7f80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303798be93b5bb7c8808c2d11bf313e32012a45a4ff21a0cd78b4de26668e5959bc8ffd1385caa9b92761bd0585019cf89023100a3d04a4c2086f7692dcf8ab405c237f45b733f29cc66dd94f598e0087818f2720375dd4001c271d8db75e1d9f860bb970302047c435bb500683066023100ac3fb01769ccb92babf994d1d54e154d2210148f7a360197517e854e79bf613c28ef72f08f135bdf300c05323718c36c023100d7dc9d85b85683b41a26ba317183efa0afb44e2d66a1a9f3b7ebf8a4e7af3eb30ada09c019ef58da27f21847e2efb6c70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e17d95cd0e806c5a40ddf849ae39525758be9a22805f280001fec2b66a5431bd0653cb2808be1ef971de41a0368966a5023100c3342b280ba8b6b0c22d00ae2a8c70350ee5fd5b34dc7953f771d4a5ed55f4af83ef5bbb2f3512c67c9b00ceae5b4c330302047c435bb50066306402300187b622af1867e2a39ac00e7ab882e8725d29f5be6d4d55476093aa6eeddb2b9cfa74733b8b58b09166fa2ece5207a702300ab22ce764c6ff8d52bf0390b6d720eac8ce94dd82fc70be84c1d8ebf9677c7c3f0212c6a027fd052770e303b27e40ab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023002a77ff24fde03a9448b838e32d1a2718dafdd68ef2250dce72600fbd9b7a02ee6c2cdfc5b874318f81ea47c0b180ad702301b08ea1bacd3943df26f72a1a61cb9dbd94199cb234b0e08b0e4f38cb287273ddc5b16f89e1a3a9aab5bd42bc82414d40302047c435bb50066306402305dcc61c6a6d455b2b32948140b5a360f7b55494d59dc0b52475cc69c706c133bc2110b107b5aa5e8361959ffffd43ea5023040e0acf810e32feb444c20bfafb9be33807cebc03269c2800bf824c31eb8775303040f11621daccfa95597871e173d070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306d319cb6bf226bd57251d110e6f5b5d85a759acc3d3d7eaf97e256c19ae8464b5cbb1e9a304fcd96bc4368a4bee6b8e6023100ff6aa5dbcb0f6030342109ddba3b2b4cb1e2868b4a04830b8a8148b9c480fba91b76d87827f12e0b6fbb47b0eb2ab7c00302047c435bb50066306402306a0251f692a427ce99823c815d63145b851492f35f5fcd5c2223125fa5c2a99e0dcbdfc95ee6a592a3ab2d2d8c5e70020230632bcea821abf49fd3d49e2cca21523517331b4d6c4c89bfc5bb65eb4e907bdff967d6b26d33caa93bb55c875596bf590302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100be6d86c4bf90eb6ca84961ea4f6f10a2c2ca8aad47aa833833abbc412f4b71bab2ca6e96ee377e49213bd9a3a2e37e180231008d2c47c8acff94845bf2d8dfd28b311fa762e378d16f51e1fb2837e87ea26017c147c5a333fb193868a6c4fcd67e5ff30302047c435bb500683066023100c7a94d4cfc9da7ae6b4e8d73bd945b0e44aaf0c51f7c4beaf7942ce9ac6335ae7dc9639c43567f1a2632d6da2ce86f2f023100f3947d342f5a34352f5217cce75a2339b5b9c397f363c154414b013472d6d957b942445ebc5c8c09d0459ac89cf0c6d90302047c435bb5006830660231009aabf3820fda3319b9b5e4635c7b31e2de6b3f18329f85277e9ee7fd51968bea51f89aad6465e537160e539c4c6316a9023100a5b6a60f1a0ccc1c990c58411fe103516ab1456eaf4c9462f8e22cdae51a9997cf59c1d88a93a13222db46e437f4f4920302047c435bb500673065023100e1b136cd6622c4716f744d23e8ed17e1d46bb30e1ceef8461c0e32a32d630573ebddf3110e14993db7b2c76a8fcc8a3d023022f8204e32a776d698b8227d3d70ddc2553522f803da248ec7ed565d1c99e356fe0d8954f252810d3114e7aa77df98aa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d1fffd66e718a35a57a857bb05d230db8ff14181439a09576ff14be079755f447a5a7c86e350d793144a637d4a251cb9023032d9b88a5c1b974030bf034ef45de22885a21915da8be9eadbc31a87bfae06fc73841cbc84e990337f309088e1c06bfb0302047c435bb500683066023100cd27921829093a887cbc27097b49b5441412f66be5deae8574e184bcdb8e4fa018ed7e00f5e3cfe529cd258915e809a0023100e307360482a3c6fa9b73c2f63d327754856fe6487688ebe7ad739b220db8ce7d08d6f6bc8399f09e7d910b3097ea0d240302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e898fd95132a7829976f6d2b1be427faa40164988f9aa3eb9164f3a9e12935d0bab8628d77cab815e2b3aa23ac663405023100cbdcd52e7359741400c6e7ac3452faffcdd3a722126c38ae77ce4225c47955d7317180178d20d190a196d8309a7691b60302047c435bb5006630640230596f6d53013a4e77b4b41431e5042e23a11037f25fe21199de74bceb85116d237e17812e933d1f170657a5b70e97083502303d8c80f93648733b91a167f7bdff04e61dc95a75d470404bdbbedc24aee5fdfb5a700dde8686e553971ef340825b2eee0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303a83b283ca22c4a82aa4f487c79824f4d4cb9c200b5b5fd4de2df1030e6025bd99fd26dc613d4d283576c2abeaec3b7c02304f2080f87c5145cb1912070e4a88d6b191f8acd34857c2bb4eb770b4ff2dd00e41ce4ad52fd48426f75464ad914e7b5b0302047c435bb500673065023100fdaea5009c83d7b2876cf2b3834c815e8766267917bbfffb4c56560117b40174cadfd30b63d2ccf8e656141f104b1933023051e598385a3fe67d6f0f10304e63377a52e06352c6d536bd7467f1da5f87607680075a2d04a6a043eb5c6eff68d2b6700302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b8c98e3c6f658ef71a875629bf7ef08cbae9a322c26d67afad5ccf9c59986dd67994db1a3b60e1caccf65a078b63b54e02304b1b72aa614e2f579b4b1c2ae5c938d418d8561cecbde1cdb71b6f5ad9b1f2d1ce372eb3ae31dd14e6154f731f3768aa0302047c435bb50067306502310081457df7a6526c27a0a9a3dad72e81d6cac36b2bf51c28156cb33e51d13403d2bb774a89d35b10fad373a2bfb8246467023074469fc341fe31a7ad7a6cd97f5752378e56f95a018d4b6d0d52d91ff17265d3ca5f1953dd7f5397bc68be885e110aca0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e285bd4ffab5d609e803839a04458d662c8abbde924b966c73fcfa23f1b77bb2000589fba9299e32eebb8c87d260b361023021714cfa3b5295cf11bf57e24be0d0cf6aec7648ca4d3a7598576842b43085fb0321cffe5d661eb1b040ac5bd292a5210302047c435bb500683066023100b319b6d36966b15354f9e64ee5be080fc9c760a2e38cad1884f3a7d523746c1763d8d5d37385ddf6616d8add3297403c023100be4b3875c47d6f7968890cce0b31fcf51f56d0740e44d0992d20d67c99cd3023173212591c3d7a8dcbacf800602427360302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009008c33580b8ceae528e63f0da7978855b54b872826c5a05b2942bd58f3bb4670423b8f88985c68b750b53bfed7efafc023100f92caccf431f0b6346aef2853d9f3c2a06fc68ea568b39f2eee65ee40c00dcaa2171ab7a8c2ed306b1b8e7eae494c22e0302047c435bb500663064023008b4ac8d590efff85687b195f388f6b62da245bec6594a47663684e1bcb47b6ffa213cef91e743c203dc72300d9054f402305a38d4838e2b32a966d8190aecff1c47893c42e8d04cf97b6317218808be52ad2d09e48b0e1d14c7475411d47a0b99b50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100849506ca421d69aa2a2bb5bffba83fe8cfa56cc9820f96076e02d6bd8f9d4cab301cd4ea7fc724b1c58a8618932627a302303b3065b1aa95b8f60a663c26a19914bbaf55c4364fe48dd7fdc82a34d99b9646e02a086ad95637d67f19eb2625f49a330302047c435bb50067306502302f2678d7c8d89b70e0a1c53b83b0ce909329bba3985272069949808b504fb5358357b2afd96791df565fbbc0d1873e2e023100874d5fa948795b5f45cc72d769f5e78054e0b466658447f737affe9a1574292b2afc8bdc54d303d13e527dbd1942cb490302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310097950c9b51079a7c460cc0cf595b3c8cd785798f4890e3879eae5a8caeb5e3f44f4cadb58e548ee294c5708187f885fa023100b2234b905de5c20d3bb2066d53a26a7d19acb4ed4bbc2363d3c1ee494c56b7f28aa70b2c2e0e4da8272e30be8afa8ec20302047c435bb500673065023100f672e7e2e95ee7ffb2246ebc52ce2d879910d7b1175f43937085e2a3ee911905fa3449a71f93df5d7fba1cf3e9cc856e02300ba9db77cdfe17295ab08f6daef49a3680935af51e6b2c846fe355242ea1e98149ce5df5770cf4d780cb49c6e1d7ae7f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305c17f29c3207f8d4a97bcf998a18ca0a91d5f5d8a1c05542a3d0f15d123020562525bbb50aa70c811fed5a517d19a3f2023100eaf2b74f3b1e6bc5afbff777afd6cc96455197edaaeedfd761f129e2cd748421d0df3291a36897c43247e64177ac73bc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a20d894d76cd554d48ba5c7d4ce15cb12f3ce6a0d605b730c6ec744125e3f9f441607988210073cffd79b6f070da2579023100ca1df8c182fb05419808aadb8e6f6f220572550fe0203cd62ce51f79af002f5ca4896a46f004f300c6e44f53486402030302047c435bb5006730650230679c4861487aec80e42aff096a59bb44d785b1cb95e5295a480b9f985062bf8ba34c383a52186fc4a889189b9056ce37023100eda5701ecea6ae94b3e507306832df958c1df0caaf653f5c1394a46e5ab8e22c6d828565003fc234cb9e601b424a1ab30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306b1a1c265ba32e70200437ded9fa11bb17f35e5b9d4c86c24b0b72b703668e4bb7971048be71d3ac444d0ef9bc28aa1702306ab811c738d14ea93490ddb8ba8164bb7e6be7d0b50f44e0272311d863a6dc6c21a24e5e1de23d75345a0d4b5ff57b2b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fb27130ca5d09dc83e555995b1c284edd57df481a983c5827e83fe9cefb1b593790e22d9db05c5d2b50452ced179248b023057aa0e3e340948f7727b721943039c2c15b809bbad773b18100c038f91bf96e0fd50a34c1f97503665fea8537ebb17610302047c435bb500663064023048d442cdd4fd511c0634a6da4c496bd83db011a6fd3b973e297402283a9a7f7be26ed9517afd154b27a1af080a82421e02300161c1f5ea0cdce8ace3cbc2e793401e5250c9c7e702ac32c93151fa4ab15823725e7246ac29b481636d1e1651b370860302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f753f3e35d74f94c61b3f8ecbe1c28c8adc7eef4fe332be4aabee8a9d319fef90355ff72664f2f8248aa1733f0905bff023100ce83ef851be1ca59c726dc7944947c8a82f7bc6495aa12b086b6a700b074fafe006fd74adff89c3489d4916af0892a780302047c435bb50067306502304b5dea884fa455a03df8cb489d1b088ab50b43236e1ae801e95256496b9e017c97a19f7f0032114142a22a7f6cb90df8023100e3a6d7244c571926a31c5d798b3c06a5f2a6deb89f042e5d191ab82ac42e4b32f674350967c14fe453bafbd2486511b30302047c435bb5006530630230658e484c2ce87de44791ecc9b479cb7d3708bc21aa471d02af4f9f8b671c1d94ae4f5be0bef5c10736d14a6f2960e9be022f2df8f7e5209aa3c46fb8e09135b6017bb98c40f34a920fb1472e15126321a5f0e8d3820c7e02511a092ad4071c85b10302047c435bb500683066023100c90f780911f7ecf2dadb13692ea7e64d93df8bee3fbc8a6c4b0e350ad25eaee979cd5525b24d8fc9c13f8ac570a455fe023100be82ba19cb757bea112453baff59029e20d2c1afbbaa6ab3a514db27018301c309ffa842750ab99113eed1e83f3b612c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305fb6feca3d41c1a8a4e3dcfe7d13f22e51eedb39dfc9f97f79dbbf58142a7178d3ffcb04a0db78c0081cdc0b9bd86a4c023046aa3e51f16f2a8cd273bad3dc7f4b461557cbd683af5ec41d9fdb3b512da9aec7515702dfbfd89cad7e5690e72d56f10302047c435bb500683066023100ed40541c2febdc959df9e5febc4fbf55853a26eb3c98a891cc7a1cd6cd90a2e63f8489f4e344f85abd081ffc5335c55f0231008fbe298fa698ebf39f9edac9c518d2574708d19fd85bb063da043249deb65ab455e2850c5dfc7f1c383247f25b5a36c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e5f65257ae09173b04e73104a91d907c4b0877b6e0314df28bb835a9afc98fc24eb9cdb5028434b6332f5d893b0b6dba02301f4f566e9a0de4fbe0edf814aa7c0b6fa6ba9f9a6917ed2d6afe714fed1667a5c54e6ee005b8742f1dbdebf4965895410302047c435bb500683066023100ba5719ce8c2a7eafdd7908bc4f652e1da115c7cddf454065b6b0f826c664a2f4204a3b446ecf601f5c2a9bc89282d033023100eb37437a1d8038b59da5aca96dc847ce5bb7588d46f914f55c3d50d4a01e3ea43e291181993c84c0708cf2ae4c7c742d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e9d5cd118064bd9f3370a9f296435b84b439550b10e8f87ece6e702be2a8429e4d4f8d2199f50e7bf29fa6a346591cdc023005cc2f3c89466efe9ce06bd9c0bf0396277715a535a35720d0ac0659f73b5e86cd5944786234a88d6e61e243b66da68c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300fad0e85dbe008a4c54a60e61ef7f38feba1e7d43ac3e794e218b58ea31f546c32ffc45ba0b6a8ab76ccf6e107e9d6d502304ac1af2fa7b9869b6a1f729ca724ee137842401cdb368db2c9861006ef556b8cd4e49469ad75fb97f290be61d6dcadd20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b6b3ac499ba7a3490111265185da088200b4794b8b3714f5a2b9d0cb80f86859bc914b36c0565f55871c5f826aac8cd1023002cd12c846da2b22504b5f911d76548be86cfa06a9f0405ed5ee033c23b317d46557d9b4191859445b4d04445e2ddc770302047c435bb500683066023100b321e0fcf13219576939510236fd7603acf5fcca2ebeef6aa9649cfa898c12ddaf328614913ea3ddd65a45a6fdee10b1023100d5d067e0326c72e6589d941b5f79a0c1af44b33e965eb510bc1786de70a9347e5a038761a54e595affb2e815d12cfed40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cbdb9188795610754bbdffc25f60e4e9bb79645d7d15c4ae0b8177edc624315d77aa56277efc645d58f9391da9acc1c0023100ec26eb8561b75f6d5c0f62bb0b52d1779d4589ac42796a2efe34587c31908f632042dd68529d8b0264f44134b767518e0302047c435bb500673065023100a3f1e8341375b889d01472e742bcccc395222e1a254dff22a1b1db651108650fb7cdc4874336556a93a9418ef41ab59102306029a30deef4df0d65d7fffa6181be38d7c7284efd6c3b8c73dbc5ee0e60fc2d0fc2e8af543f23690d847bd53a576e2c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100956374d3175f5829c0e2bd81c2b5f63a7351a5b7808adeae6849dbb83f08cc4c6778ce59aaac9ec3d13cc02d3434fa86023067508c59168e48c597e779a930d943955531f28bfcef5b519226aa17f7f71282647d70c324d5b6718d437e35d0636b230302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310091819782257dcf54da1cdd5b678e19b93220ad071a486710649ae2f4dcec7081aeef379240e7c2e51679d6f5865bda820230027adc14ab7694ad1827f4cbe2e9ea48809281e7fbec0b224489a9cd61c4490edd1dce911e6b640a4d468dfb8f91f6260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306bdd60f5264baf0542ca3045d7f4c3617131d75a1214f7131a6f714ea4853f20d11cad44076aea052c6e503e4e61907a023034fcd700a1969c389610ea3ad6fb2bb17f73ae200b27d19d21e13a003149b27e39fa271825e9182d3ad00be22a70adb40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023002f61eb066461b28bfde14db62202b0b9d9ce0bfe859251926483ed79540615babcdbe9dd2eddf38c57a2930f46918830230728af3b0061ce570e65ec50ad78a0e623dfd00aacbfd6b193f02e03e22efb6d8c433092496ef9e984a7da4a288917d9b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d093726fda91ff9ff0b9b054ac98dfcd92e549f4a12f58a4e6ef3407d486531651b456dc0e69f3b13c3a36c39372fba102306f09e7f0465ce905fe5577c7385f6324c3c66da62943db355e726add68485e660450d57100442c6ec0dcc0953d6dee060302047c435bb50067306502310099a511efade583eb2b730245ecc052e305eac6a3cef9a086dc4ed7704f55d27d07c5d13be61784295bf7ac3535f9e7a902306e229b88dc71793e616e6fbd5c77f24bdfb123afbd5b317c043bbaccb66d55c7e01d4e5c495e44fd2408adc815397d840302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023068809eba94ce4af4843edb25ee0c3800ce70b9e67515ba355b2056563eabff8c60ef01990c45f6ccb0e14d61890d1517023100b22f765aa2110cdff94285828baf983c29db914d421c234e63daf2b8d2683b4a729726e55fb1cbb3b53bbf9606512feb0302047c435bb500673065023044b97eba8b305e06e7fe5d8e94d71c62d5787751a7ed9d5798e8667e37625c5679f70967148b6cd4b14c8f53056c7a8b023100b5af6c4f7c990d1ae6e739abc57ff9b90ace6070ab0d797410d36c185f29fd605a1b32e2f05a3a3f5e78b9ea956ef4a90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008251bd73971be2f19963661cd7e9aabc9fd7faa5ca62ac49bfc84ed190f44414d11b0f571dc4628cb7a689f925302d99023100e059b135e77be0647a5e8afe79b60673420c3fa8cae7d78f8607db4540f5c5243b785f714df774e866f073d9aa742f300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100faa23844de6e11524b7b18bb473f84264410cbd3f120781431c4f42659d6ca8995d958868d4bd6d19e46498e30e5f36d023100c0ff391d61623105365c39cf739d1b736d457b269b38ee04de2b1b813a26d93b1013e96ae13b27b267675eefb9966f5a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305bf942d5afd79298d23b54bcf8327b65f5edd06983afbe94994d975c3a042043e0ca313b7dede7772ed2a575db0126290231009d30ccca968037a5ac4680aea7112b7633500537b611a49efc1a034183183434673f827c875f525f4b96e9d880fd9f470302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ccb3e862d6e78684b57baeae8984b664998aaf0981750f984967c3ffbac8e6fbacba44275863d848d1772a36fcc8378e0231008b2aa877ee5214da9b0169776feac7b6143ccffd046fc1471482f82c7218bb0d28f1a14359646dc061115bd28a9ff26f0302047c435bb500663064023041f6fcee7e2ea07e0adcc24d4cb154a3335777d20603cfb512a3caf81142e9fa0b917e52e40862c853c76248a30a1f0002301f7cb3c825b167ec04d9309475db0accffb75a3135ece8108b50895918be70365e63333b2ca204f3705c16008a62a0c70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305066107e9131b02b4e59b396163bfdf427f48cd28eb8c1b520863ca2ae3d40e00e44604669b6df85ef6b11748863de48023100c0f5f66ea0e2d14b96173d6a206088fd859b4c4be4f5acbb5adb9c66612a95826723bccf2ad7b6ef6345c1bf9213b28d0302047c435bb5006630640230233ca5721c9d7d8bc5c9645f5e9192d2b537a4943db3205ab3801d082ce5e0f14136bf7859eae390a4951d20b8b605e902303dd8ad1ac19ae636760f114b48f106c966708ee046a6b5a1fb9887bd6a607c99757bb72227af49416ca3e9984f32b5730302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301232d1661829e7df09912d51a8b13dbd0e68af3aac617b083dbb92964841b9ee78f42cffd33132df600c58bb629863f2023015a21aa87a17c1348975342cdb3a178c4bedb99523316f96b595c18d0857d748acc4148f10a7e143a6ba069073053d190302047c435bb5006830660231008dbd8e392637692787cca32279d37bbad1826af4f8982dad6c4fb8ee286eb53c9ba06b993ff7d2d7cc01ee928d26560b023100d266ef0fabaad7b159a4476401fade54640f9448cba651a46ec8addb8f2336197133c5c6206d845cd90b9c13b97befdf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307548c7598cd7b44cb0ed2c200f64917049c6f002ba7f3dc36d1f6ecca64a049ebbd422f4829572151849518c7beec657023016bf8a47c904092b476a1af478537b9eb596fc400bdea52f7389cc85c40eef62d58666faa487ba4f0c773ce3e7695a470302047c435bb50066306402300ed64afc68933a1241b2a3d2788fb4fca317f836421ee53fc9f112d0f4ad32562b2e5d6158af36bf1c3152cccf97e72a023056516350f5c9d66fad2589e7df43422e1ffa00c3d41e55575ca0223b24edf8e5cd261f0f6b91f9c021b8ec9e3579e6710302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023016ab0376ee657a30b9f39b063cf6c0861d7afe8e87da30696c0d5d6ef02bdb259774d90b8666cb4d65f4dbf1be27d7c202310096dc9a9291749488f61384d4a0c6345201059c3b8bd7d1c00bc8685291476a9b34b963cca21dd06adf9406e7589f9d840302047c435bb50067306502301f979fb439e8da4f171eecf41c45469d321d741f80206050d1045dc9be439b3aa4265b55bd7cd391ec2e2d3ea0ba9c82023100fee627fadae8ea2755540ce3f296e33785576b017b758ca06e8375c635c143436c649f12d5004f20953d7947b06de3640302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310083dd69d992373a1c477036c1b06580041051a91a145b44b672a01012ef3ced667659b786bd324f4ad72447bc3833e932023056339f216dabbce5e713437c0e84b33a1de0344ee119e0a742483c5be9e862d65a1751b1bf8fdc92123fc45300f6f0a50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301b972e2dedb11af105acfa75d46f6ec4d213716cca8ef75ced3343faa7d6f822e04259feb3f199feeec1b2d67cd76e47023100e3bffab62a475813a41c69b22fa1f5d0fbdbb767aa551bb9f03e9447b853d571619a0768be589e5888cdbdca24c2e2a00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100da9563d15e8c9bf979d38f83a6feb3702fbc6e8633e3a3c05bf44209c95a7bed14bd29b91e2099e2e7587a918de438ca023022b2e99440ed846beabb0bbe87e492de7dabb7cd75fac70091241912e44915d938c9d26d4ca9b6c3da19a2d8c0a785c80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306472ed196f93a41afec1c90ab7bf00ad442230c88d923ab5e039fd3c37c01ab3e4e8adfc6406a658803997b2bdabfa82023037299cf7ceb24767cb39c9386056b6337cd1c7a7f342625387c50e0bd98f6b846a882a55b2c63d2e0e0f618a0eb628740302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008675f05830e1eaf725812610aa3c9c6d0449d717941eb1a168104dd869171638c0b8e429d506af97f43517512d80703f023100b6b1abe686ab565fb0974621c3a61c91c2a8d8de2c6f24bbd57e4ff08eb34eeb483ba13c0a69a2c525fd3e33f35037b60302047c435bb500673065023100ba1d25adeac905aaaba8e2766634e89bbae4eed499500a3c1e6964c39dda9bbc281c93dd186e3d69549068fa4f2987a70230507e92b79eabbec8880769003c7a6de55bfa9d346b86f269e19563c1f441969c82d72d0902ab79bc5ec87b9c2e4637650302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023028152925c1bb3fd9c716df5f007edf0acf0b4f60dedab5bebd24aa566560959f110a6267b7c90277429205f547defe79023100e27fbfde1a5e42953e1b5c605c802b5eb6747160dc786964c7147468826a1b699c9506707e8ee16144e2f9657fcf2e480302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310097f935539c14cc1060714430cf9ff0de964d8252bc898468461bc9239265110c3ccb07cd0a46fa4a2b79ff253a80ae1d023100a0f106045dbf1c9df2ba3ad2b999b385c5a226cc3abbebbe9b003c7fb058f0ac4e853c63a2d44cc043ac502e420a28450302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bb5e212921df3c3b6e23419f5559e56b0122eeefb9e54b34cfd6ebdef5ce2955638a1bda61ae47653844619dd78d196c023100bd70bfa15278ff652e0241df6a6f4123aed46fc7dd6fcba6ac286105b7112c371ccdf1638da1d6e18eaf4b1bc0678e1a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009930f05be4a31ac9498fc055e1efa1d3fa03e9fc5e6226ae3ad0e2901848eb4dd409457c4480f0651c7c154fc2316895023100ce42cfeb516bcd945c4f9abe7b9af2356232b9355c95a55cbefe2d6e42477e5aa9feb03ec08ccb674cfebf963ffa10be0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023037294e795eb19c1b8ac16ca9b2e82c8d134fcc9767946710425709dd69830b4d1d2133408b44f6db2cfc950d7f9f0eb602302399f63d1d38752fb9c72386b8283bbd1fec4a70972b15fa5e5de75e25c92e6ccf43da409f37b58bad8c231e93970bcc0302047c435bb500683066023100824b250c94eadf8f7c11f42bf670009d7b94a5067e0070866a6220fd6f65c1ff66a643e7e7d42420389792b878ce77dd023100969d6724cecb4b0b5b121a52d5a6f21b1d37f342e580818d2f71c03008ff1d214152a0339eb399ef2030a1d0aacff85c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100adccb727be5e63734c6c5781adb1aa2c8251155dedb463a7a9f0e5055f275f17e780e32bac4667642e1d9f1be65451750230053b7dbf12938bd1379cec131a68a7262a3d2191725b0d8f51ffd04642fc8d86877dbfbd725042d5f5653a200934b8680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a46a91c61e7f1994f37ee5b7d29e43f4adf789f3ff5e5b582af90150812d4ab65357342e0931487b6bef835e57b79195023100a865f1313f2b8d334fdb908d0ecdf11607f37cabddd5d5b975123786272d6a4d231a40d3a19e899f4127fb13cef3f58d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ce0989b3f3929e822bdc371de4c35fea72d27f3a6ef7d504816671d5029cf422c9257445bde41d736303f5f5423d6f6c02310097f4006784d7820346fb3b25447af83a69fa3121cdbb19bcc9af3015f249dd28ded62e2d1af27766540d7f5444b656b40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f51b34e22578e01329592a211bb811566787b84cd97daefc555558ef33ec33d896b7dfa3da51d8f20a39a7540d3fedd60230108df6f6b35083eed851f0e82fdb49c60cf2901d8bbf40d29204a85f84ca2ad54716139b5887ff860a14a88839084aaa0302047c435bb5006830660231008d68b2011c4973da300ddbe898d04f679c2dd83b9719ee9c2a55540eb9bf6fa88f499c0ee0bc58d9a8d3e5613ee5c4d70231009be99c171afd865ad7d32517f99280017e3a39dc9a2adfa2e849ea3b2fbbb1b0d2fb53026420f99a4ffa71efd07c7fcc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023016cf05ae5062599e09503e69fbe4483a494b5634129391ecb8f4cc0ded51cc76d362fce412f87c5870e43ec46a20062a02302fb4a419e1b1c645eaeeb1550519ab6e2351dc4876ad4f6a991abec26c80d91e3d55e825e1f5a6c1704d0db09b67e75a0302047c435bb5006730650230476809e25ec712c0d15ffe1606d92edd969b24453c8bdccb8b741018ab302e70f61f5ee808b2756e25f75c4ae7ba7313023100c80c79444f9fd0a138478264e5b5b121c69e4b96a17d24de29c87cbc6facc408a2f3717d1caa161d9f9494c1c28fd8220302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c8a6641eedaf4c7808887a709c5b3348b13d937e4680daa0411e6c55040c3a579e0ac5a8b58d90cde50d4059fa5082f9023100c04ee355200a838718f64a9e4a851a1b1564463b5da5d57803f504f84b809a836e6431a47b022fe6e131bffaf1807e8c0302047c435bb500673065023008f6f6c43da1dcebd5ce9d56ff3f8425ddee781f6c9a7779a14d875199f341b9b2bfc5ccebf5384c6d2ab639cf06946e023100f7eec967f43e1ff3b9980df6d2ef5b26a3b82b7f0ec92aade2497eb0046afafe5709a4a3ddf6f750879406942a1f1d0b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cf8c9d314e2e278ac4212cd703723f40d3d76fc06a61fbd1719895f2f8f898909dafba5ce455389ba1ddcd3d840c1379023100f484708653fcde2e91b430bb72e05b8b0a3c7fb3819f336d4795983c6da74d1aea2eb4a5b7ac48a73e6f3d35b4f263790302047c435bb500663064023028b997eebf4abaa856fb6b9ad8c1b27ffa8538ea18e30d484a43e6e3c2f1d908312784c7c562129cb839dd68138b1ed9023004e693c92c0fefe019d6f15c9f820b016aca3b9c0f276a48689da6ae53db28ea417e2ba475e8b39a0e8d86f6ecdb14b90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b463a182cb020e05c81d776afb732b8267cf49444d366204a4f8ed2f45e74f9ac63e1d93c3dad67c0708977d72af6135023100cc0fb389f120a05ecefe1cfd6222a3fb95ff1951ca0a74d6dfda52dea9bd1afd928af3b75c67f579b589ed1a5590ff470302047c435bb500683066023100db5bb56fa3acdaa3e81a6339955450c107d3f432d6154df39486b9845891c14cbd904cde05f99eb53661a57a6fb199e4023100fb243518b9321f584a4b36f938a6ec413cad66d3e7aab356c82dfb7f6d989e47b391ebaa52d704657899f42428ca751e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e76a4b7de0c1827207b6fadc958f0315c7ea042f4294fbecb764526909cb3eb207e0ad6bd7a8324943b78d605a5a51e5023038ffd500a4b99feec13af4a3986a17ed790c3534ec5d3a37295fa6d23dc7683c986b87fa219f0b0b5a2c8455e35a31fa0302047c435bb500683066023100ae6605462f4b8179353acbec86b66f81a84dbd8ac69e688ea21324997b6c5dc7844c58401a62d3e86f0b5159d5f7ce6e023100e02bd05fe231cea1709212725fd1ecc488bbd4835b1dc2e767eb58468616a001c198a3d28d96bed91db38cac4bd171a40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230507b09f383e91acf2ac3c8d2517689bae50be354eee53ccfc39f2f61e9ea172665e8ebe1084781f6ead68e29c115dbd3023100810c825c0f2b1d307eb905281a1a70a5d84c5a69656d9644d34c4013e828ab690f98c2c3b5b1bca877ad1124c0c98ccf0302047c435bb500673065023100ab1cda38fa957b4a82c2d12a7f847f7ea88d51e0e7387aff8270b9507ed183e0589a3cde4183031819caaecbdfbf3904023054102419aeac74c532ae6ecdad989148e4018cb08eb5822ec7c28656d10236f1f2ee006dca48cb6cb049a8b904df51030302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230533e04c687b6b937dfd728d92fa4d7532e8897440094d19730e20c83426161ad049b05e40e08826729f492286ea2b2e30230113ca349b614de7dfd0c771296923dc48f106a19ec2a2e64dbfbad75addfeb87db7f9b0b0072619fc945edf95d8e0aa10302047c435bb500673065023100907e2c297ace652b5616759aaee30b0c8e3860db9be2945e56f152c16f8769e295d3d6c704c26a410a40fe382a5f6461023020ab726c3244f84386cb0c34c8962ff2e4e344f3d9a91aa3dbf7d68eb42907e766eed2157840b99c8cda1d59038e0ac60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e6d96267681b4d3cea186e777c0e3ccdbdde911eaaca9a0ddd5e00a919ad31cebd790293f31f30871601307bcb4f2e36023023efd7c685cd8ae496b62407b55aca191b527e7ce741571dc9433473f7bffefbdeb46938214018aa7b10fb17efd8bc840302047c435bb50066306402303f76edb9de3a66d935fd2d994c7e8e0f47d474e2b09b601d445d32f14b8b878de093f6812a843f2cc02481f75c7a1eda0230541e793393ad535b79ca465bd7570c343b3e7048b9b9c5a0c277a2dde853928662cb3b63bc21ed6877803b32cf73e3490302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301aeb6311a75adfd9963457dc16a48668388349ff056d42b7a13a62073ebd393d19303b6cba35eb0028c8823c12d58fa0023100f16a6f98c69693a648ce5383d5811c8522bd5806ea2922c6b53d0a40e231145817b1f0c3ce97cb0ab2273643cc40be150302047c435bb5006830660231009d60f33592f3bb9ee51bedd0566cdeffca728908a1bdfb128433f49bb5b699c4f587860e4eb1855ddd5a3fa00f1bcc14023100deb955fc411bdb6d41869c31d874b43d1637924c07234c76675f096612aaac3917a861175a1766dd9c698e2d7bd54fae0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307717e9a4e2c0e384796d2f36897281120e81aa2773c0884d0a9a38917e6b3ac329c1eccb876e972db93810c4232cb8b0023100ada3e84e4ba6bca2fe527883f2a7f29b3ce51dc138b3423831ad1b8ec8ceeb379862ce35b0bb7bf4b56d3d149c2026090302047c435bb500673065023100d4dd8f99d1a5233967a5b6c067ba91decba7a046f3844770a683c8dc883f5ffad43970474cdd6495606fbf8a8d08532302300e774bb10bbc64561d1635786bd0059d8ff2027adbb1e25cfce2459f435cd6a0530afc6166d0b69e23d9d5de35b709e50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e4ce85a59db928e56ec61d4735ba801afd1713dbbec4f159fc7d89c3ddf40c29006c35fb44c634deff4db2e0a96986ca0230330699279f9ef3835af4349deb05856a67745e1671fdf9ba3ce56aaffe0a6e1c266e00ef1213c4021b5d7abb6dc57bb00302047c435bb500673065023100b37bcfba82a1a20226b8153f271e81add5b9c01109ba862432f09fadcedfc9aa813ddab48552207ff26ca16c2a678d07023039981346127ef4aa762fd69a45f1ff6cfc89239077fe5cb563528004270975864c30516b2f612abe9f856fcb31a1edf80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302ed328fbafbf581c1b78c966fe7db49b0f5e634dbf4f37a55842f5c1526f24143cb967fa2456dc6301500e4dd6b4733d02310098e0c831b0312c490398aab6064827f2ec21e4aa9d2b901e5993e0056399c1233417b09b846635f6f0ac8632f5e922650302047c435bb50066306402306ed1e3931cdb0048abe92e5ce0588d11145e53a6c90518633f5cdaf7302238134c2573cf5f24c194d4b5e3df132fd16d023076f9eb22cb622208eed8d11d8ab29ae32708ca0f12b475e0e42d7c8fa7539342667a7301205a54596ce98bd749a72c040302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bc866423e4e7eb4649bfce962f3bdf01ae5775c8e7e1985fc0e09fbcd3578f8a0dedf5e22d3e4ca1ffe26fc08f8696ed02305f6698689e7a3275bad5f94a5d71610f6bad87da95f643e03a897432644868363bc2fa700506351551b46954aeb45c7c0302047c435bb500683066023100ba4cb5ddb5d50ddde56cd160d6fc96ebc02a685433008970709d9fbd3e0abf4c7c6268a3b86ba42b160e7bad7e9301e1023100f0710cb79e423ca175cc3b0bf642a8c0fe881720661f93ec02fded840cf7d7f2d75e04706b3602f28f9a92c7d92959800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023066fc55588d0a8da5b993b071e3f349cafa85c2319125128325d5858cbcb00289b3c982a77e15763fbc27c72d0707d2fa0231008e78ad03f79ca961cda4be9fe6e2f7640c1c0109645043db486463a3912eed1c64ac34632077657e07094f2673ef12720302047c435bb500683066023100ec88a971d3fa2fba0094510825b351760b808c4b9a1584d6c31ba119608afec84285f210bae597d8b45b8fa880e9d883023100bd821af03134257e8f62fade5742bd58eb182393a220361f0d829e730656569aed4852de8746fcf5fb3bd40b152811560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c2d207155c22554571b756fbd8517604becaee746a0f0e42e74499eae4e3c8289d075534c5dc435af35e65c5b6aa4fd2023100f15a4bd1633782c96a85dfccd7bcb1b38ba094a8952514403697e053787993d9aec9f0a8a540fa20a0ea737b08af06100302047c435bb500673065023100ebaa10680c3dfbcec4d5942faae945ed3c074bf28ab4f7e8471d2bf27109bb803c1e117111c458bb548edbca4da52ea402306ed4dea813fd31731ec379412ba08641116d7983c3f34435508a82aadfc57cfd7e7ca9749fefea05e441f061b86994e40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023054ef9a69e6a3db3a3eb1bf47cf40e3237cae6d28f1506ced023cae4c79ab1a004bf060e79855ad9ce9f5b608f3ee5dca023011b1b4249d2d2f89d7d81938fa71662c6ba5b8d423b383677f005bd4c8bf51a7b91a09c294af6decaec6d5964ce9e8a70302047c435bb500673065023100a0ca3575bf6fa1f4efbcd59bef467734c27f60bc39e53349862c5baa89d0e52707d8105e22260d5825f4fdd0aa7b54cd023011b79a0a81b196e3f1723bb8ba9aef1a30fb0267e54329d8904092081b6b6f230400a85e45553e880a09b7eae4d842810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc09f8192ccd23f46ee9064963b3eed7764549a3bd2f9475424fb408e2aff53d85380ed15b7a511d51c2f6ef1d00b53602304bd6ec371f415b60c9e9bea4e87061481b6f9f1800abfff09ebaaf89b708450ad0847410cb3c8e848e298ebf06efe1180302047c435bb500673065023100f04380d04985f10d868c8e282a83f14cf77ade43d638ee61e63c1f5525538781169e79b7543aad9533701890cc35a0e902303796c23bbe4054673e3f5d51d145f5cf1120816322a74c8e6c3911542b6bc4a7700b82f89a4ae2cf8579d8eb32d1e1110302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310081a6cb5591b320a8bea60ae2559b8275441b183f67436c6310d76f46cd4f017ca551fb8aa5a4c30f85c96c168988dcbc0231008c07294d0e910ba2333f0cac6b1825eb12dca80c9a72df46877c0061c902620d5aa4f422c0643f1c1f73d0db50dbc8500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009e7152e6394b890a823399d717cafbca847e6b3263919b450d69b98bf8ce207ac355d975fc2d9c15686e83d4730bcbb5023076cba1d02ca41c1079d34cd38ad6af6a560f613749970cc15b21b9c47793e4d0dc8babb2281fe24ea42f6df70f7dc7370302047c435bb500673065023058bb0f841dbe83177788c17c94d30a08c47717bf40889174836db1511793d7b54516f6a2e369d8b0cdc322282d338b8c0231009d7d65a37a0c9e1f0f91eec2462b07c635c37e118b79dcdc40add72ccb148d02538d02a4a1468b4128b76d4115fb45b00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009ce7861892fca5fd8f025037548b12c3156fa8edd30c05ca0a5824bd0b5d14aba5050408b143a440f7b5466741146f92023100feeafd8a6d72259b2d11827e8a8ba272cf79b1443fd91a13653fd9c21fa22e01fd7cefd64ce558a8b4c8f95511d4d95b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d6e160d9ba0d55ad57bab20ba84dafd3378559c0331ec161570fa00f3c1f704ebc91d106834d0eb40f485a60d1c1070502304143225ff42f42f3e6327d4e7a662ab059ff7d3c55c0ac603b16696faa9a32c58598503cedccf7bf39d953f01629c6560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f587e0e93e384ace1cec29f15254ac8f3147555b215e7db1d877cfb179112c4818185b7f73298b7791c9d474f75bfb5a023100a3a5a0823c8d2956921fba050cb7eadce008b4d3e30ae92a9d00bd9a7802b7c57ca2ab4bf238c68d0bc3cea12b89807f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e30137f7c3ac50987b4f072f680b4dc3c12e6fede73c55f860aee5a801ce201cce0da8ed75b36abf3b1773474237e185023100d2d80ebbeee0b5f2d03eb7c5686e1c67f96b630a7c7b8c4557f793ec6ed44e60a175ec6dbffc8dea663688d38c2be7fa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230520366e49fb5227adc96b793e2172a825c1fa42270ee20150ea02b3e3df06099b6b84b7f0b11a065a54c2d42e6530027023100e576aa5a68f41a13bc00529e75a4f482932814a35488c0e61d0f6e3bfc0a33d2e650a1f905596b1dfdcfac6e3e7b79600302047c435bb500663064023009a1134ecc2d487202621211fed4e8429b7c071aebd87f3c74ab8c2855bc8048d484d102a5dec96f503576418197a0f2023041ee98c3d976d97c3911c02ce151aa621ebd35a6734d1cd38a2e5a19c75bc98d35e9e9b077eedd8837893e18f8968e350302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b0641bfacdb81b4a58d5f325154b5eb3b0e0aeb796318495b39b1e7082a07a95d63c988c5ce79a44b7170f38fd0a1c24023100dc06b0860a80f9fad37d7627be6779875051f2ba27e3401f2627ec31ec97b7b993a93a7fb29ddf7ecea8e1f8098e65620302047c435bb500663064023035b307491bfea82053ab95b53800b2b738d5ce969d80562847c7c31ea9fbb21fa3e0d2b6c21ba90f1e7ac0d75e92bf4602305ea32c5bea29385d7ee489e261644de864dae6087d8ad9683c1ad1013fd6ecc9cf79307b34c1f1ae013df8878e48170e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230222be748bb68ead68299423e21b8d2973dd4ef75122a9bc6f6b82a1aaa7413e11dc7a1593967898f2eb2429be2bbfed702304c0598134ce8a093a8df4351f06684aca53b863db89fed11587278b501291875615c4dfc37af4c2e089572e7886a37190302047c435bb500673065023003f614ae443b009acbecb75c289490608163cc3c72d568c74de37d1b678b69b9ec8589db8ff2f05bcc4841deff191ff3023100899d7ea68e39828ef23ecea20d3ced16bba9b15b4e18e162e1a584463b658c0ba7bc009699061d58574d0d46ffee02180302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009aa701e566fdda8f8c81e0dadefbbf0eeb817989182a49c81e047efe646e55cbf302866a50309cd8cfd570341ce7a401023100aac7bab04ff832de2c47135404790735360b6b14e47c27181ebf3fcd25bc44e4d450a59ef451f6b610b31284c75e04f60302047c435bb500683066023100bf8e61f1a074448372b42f6782c0e02782a2fccf8b7e10ee8e4e7ba1f0e2ce6857bcd55f5c171e937253ec6af281eb3b02310089d3794eb10d63782649b85e4933313f41c6b3d4a144625088496b7eb430449e83980d256eced32fac65b0a5423a5ae40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dc600b18e31fb79cb8b78e04b6d56165c28e0616dc2e02c4daa8a2d3a691c9191765ccbb011d596e3d011b2449230c8c023030a9ef0afa5fa678110e1b6b5fc677fbd8972cce1e2531cda849b56052bc543e86b70f301b8da916aa8648a6fc371cff0302047c435bb50067306502304f7675de70402739f815e5821460ba8525704ad9ee7ba18e51cd9140f286b7e09b5d42b910c22a22006b01b21420311c023100f5bb22dfdb470e4a059700e87d6d6f3acae3afa4b293a80cd5cdbae0eba4acbcedd98ddcb790655a7962aa203bfb1f250302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fb69f5c39510a8061cf5833bdba7140419975c471d131f80ed0b3e318accc2cb2a0e8ef50406d7eb891549e3f01372da023100e9ef41d52b9459e67bcdc2e40104c71b73b6848fb9c2301f8ce2e7e35d3d9190a1ad46556e0f1bb7c04f6c69656dffb40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009ac87cf43320de8bba8a1ec1538c94ea2d8d6fbebf5e5e10b603dcbf136bc9841a5c9a458925204e6b70dcc89d7e0736023100a37bcfb4b4bce06f4f37154b55c5fdf3e727bde34b833ae09cd43a13e254035e6ee42dd064c6b08d51438b7944f430830302047c435bb5006830660231009c73a6e2588a0e9b8652167d8b5df18cef9f75f2fa4ad44e4dfe10d60e39b1a51928925db84b3fb3aeb71da97019387c023100bfcbfd301c4e9cf03d313ec25b2fa6ce010a79084fccc4758e88e08692ec13d929dbfd52736648c61cb9020228350a5a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f0249df3665baae586cf212c90919b3c249412c73ea793683691f846105d79db9ccac0dc6fc799b8125de5d2d40be078023100acf6113c90cd0ebd5fb228ceabea45388add983819c8a8d2425189aca8335a6e7f84fb9b22f3d2b1f3c80dc86a2ee1170302047c435bb50066306402304cdff78a7f0b3c7c6b8c9772c77f5c2187f41f4b16a191d629db24d182814fdea2019f262363d1dc9bd9f7db64536e6a02305f5a4f759799644c9918399b8e721273a085e3d9c8166d2215cdce0fc2591830ce2f6346a53ab8092ef7eda22ee192190302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302f18f582f8a755641f7afad5344d5804bca44853e2f123913d0b8d5ab4929ad2de07bd5cec1f3f43bd381f97c340efc802301e4a14a560f4d08e41435d639948980161811df7e78cb380a7ef2963f0285c013d3924281a78e9e79f589af50500290c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ee69826450aee102b02175185af31c0fadd82b9c3e6b15ad3ed604e3def159bf195e15c4c5a794a375828d01297d5b60023038d83b46657e16af52681755bfba4659b730ae309510aac99572cd3cd1c04da322d218e141e90db8e27b32dc2c92c4540302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100841e6020bcde11231c9aa80206d76c0ef600e834bfa6fe0a1e45253af1c716e9a2424b85f46319808430f54153f8816d023100f4533a60d2e6ae5c6671d60d08a5e7d4bbb616ab8f95c562d2a645b2e3ed23aff52d6e53bea93c6d6f4db36906937a040302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dd3ee0ba5cc38cd5842a82db3ae6cb414fabbc68d3451bd9fb9a21559c38d46edb1ae281ceb274d146f47af37466408602310095393712bb6e853de4d24b40dce4e5aac4a42cecd3b1848ccc60d150ee5ee3a665b9fdcb274f67a2178edb0d466537850302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f8c2a4d85af6dd40b4828255809e1989708a00d17d21962ec66f62c2782e0e75836c8099ee27f09d13fc239f2049fc1d0230467afb268479e1a314ef4c2395adfb7d61dc8a28fc78e5006576b6b70bce69a3291414305aa92cf5109df38e128839880302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023056c05ee613d58850a7e4cec03856ca57574b55dd502da47e33a9f12a42e0ba052e6fd05a6de9b1355fae0b41566d53110230156817863a6cd66712d33d1f691dfbfe4eed7fea6b3b19a8bb36bd1060a1a9a7eeb75fdad2f4044996a2869b5b7f91940302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cee25e7cd3ef5e0830a8cefdd82cc80d60b39bd7d122d2983059f961805680fa05d6473d18ee419b09a746416e3bc6e9023100c12374914950d7972047fea7c5e7e04775dead6c55eb28a09677630f7d3efd003bd0a8993e663b4605f885138e714af20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100afedb2c916990b694ac80eaacb996f402e9f1571f89fe3a65b3922e364bd9b74f65eec511e8911ee3eb63aab5295c50c02302535d695e89bbbfa73f87a7d34430d931ffabff6fe6ccb06a15e05390a4fd3c88198e7451a328275538b4ba090f46fdc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100afe27ab89a2342dab52d2cdeddab91b56182b0e3747fada4ac50991f01de251dfc0871f9762487fd673f06c3d9e099ab02310082ff46b61fe6a0d68f4a86d9910573bdd99f0c03ec720d0552caca53137306321ac04f4de86a9b5ee609b9ca2320a3670302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cb205454bb4eb16c251562d464db33f13412cd9930a6a9ba5e222ec784301caffb25e49ee93e35e43d1e2ef05af91944023100e9131f8d71979551961e15c337e316968d293e2965c54314edc90a9a2520f761e5eb4c11ff39ad715de3730cd2c1118b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023058fd2baf8ed7c31e31d8267e1298e3bf296a996ae411a649c492e3e2eadf2cf59992704c0b94341d0cfc99b78fa1f548023100f298f7f17a074f445378d2e35230af91cfd1ae6145bc0c0e4ddb2e842471e269cef9692e4bcfa1f57384c25dcf4eb3b90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c8fad9742fc71b2b97efe3255c99a1e3d37132ce261f2edc9a693c6372b600701a4e1c8ec2577205663867c2b090ab8502305ff77e96e06de99c254b15cd279ba4d4943ed76b5e4feccd492b1f024db1a30c46acd5ed2ab2f489a6ab1f830a1638ed0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ae188585663f6f6f0ca0e27cc96ce5d7d0bca3d5b2df5d62af59de216da3cc10fc701ec50edf259fc8641ad178b650b1023100b9861132a2dbeabb60530d9038b0f44dae29051936ff4fe1ac020555803826b78b046126e15811708bdf605e6a3a7d820302047c435bb50067306502303d97089a95749a42b59c54eb4b2150731aef87d6ca6d7f18ef817d048bb7dd37fd29880c066cef692237c7b427f0d8720231009d95823f269b6b2d44654c76eb2b4306c1db7ff07d246070d34fbc175fe5e294a7e0d8345a7d29bf99a28b3f32078e600302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dfa1fe16c34233cc5a1c6f71f0bd8fd9a292ac4950a7e8bf0f59cb8ad50acc8ca05785bf38b831d7c7af10ab4afe4e45023100a67bb635c0ea5f2872a40c9444fd319bc96454c7ae9635fc1471f811f7ae11ee69d32104c45946b8ea7cd331d2e326d20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cba6a00cd2e873ad3708a47f31f7c1bdc48ae8b6fbf4d1ab2aa4782876eeb2a723b58ce95aa7131f6da47809f3f5e72102305cf4ddea8b49b7072cd85c18aaba062830b2c49c3bd700b9dfb9fd4bf1807767ebbc51bd0fb6fd593e17d62683ed69a30302047c435bb5006830660231008822b32bfad71bf2c4dc6fb43cf4fd04c9b2d9d3ff1fe083b948a89d289b054212bff704a72f39b61921dda8dd62c8a5023100c129c8af0161c94ac0713ead2f7aad574c5a7233d6776b0cfab28111a27ea616c3b09bc997ba62e732eda274136f59220302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305d09d610b44c01de5c31cfd6ec5544cb070db33a6d4ff537ed36ad5159bb41fe15b09034b19d1f1b343018db33c1c278023100bdf2601bfd9002cca78ce5ad6292c99ddb3a182688750ec3ecf8fed93313915bb2cc6a022719bbf8864e3751e78f29630302047c435bb50067306502304ac01674edef0d8d59a3ffec10ae7540afc3af2358618b20a015dbaf4fd3e5ed3f7118cc646fa91fa2e5287f2526efa8023100dddd8e9309534447ec6e293dde3ff528be9b9041fd86993e46b8badea7fc4f72fc3d2a7e2dc206b453d9dfcaef8c4c1e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f3856933aed30c35fc458aad35731e852dfc1038dbd9ec53f76493816f80c315f3022be5affc982538b802e5a7aae51902301f18972e2c7de9ccff055ea3e266083520a9f2f1d49a1c12350e854bbaac6380c09ee69b8e58aaefff6f860dcddc130f0302047c435bb50067306502302d67560886007a15c4c746bff505cedd59bd426da102752812611b1264ac2a5976aec8c780fb9424fc48e78c8ee068dc023100ff74283e3e7a2fe3aff1bfaf838b4e25e654c0b463aa22dcc0039443cb7103f60f7bc52992debd70ba79a8dd82e9c94f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303e544d8d85dea97ce51e46e645cea9b8f4d7a443388d264219aa79cfc5a753611291ab1e43359a436b9355ec701a36f3023100dbd259e08354372a69fadbe56b840f09398ecd6a17b91f091166af8fa332f4a81d0925868a0daef34f0810a4792f9eda0302047c435bb500663064023026cacb4f8a94d681bb82d1bae2fc995b07295a29d72da8373305e96eb5105e5a7b0e7bd0d5134b4830bd0b736d466654023025ed8a50dd07d9a97deffe19172177e60f8c7bb236417b939d55472af5a0eacc03b971e3c6d8ebc7453acfcb4a7b4ad30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023075a295804e0d018446768b7708fcf3e49f2617459f902c95b9bc20c8e95698677420f00b1f0a252f33112fcfd9ebb9430230067a79ba5cc2e96d59ebab4dbe2576890146fd6ad1ca719d2f62a0949dd381efd66fa03feccc23fe7c3f28166b9c88e40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023075a295804e0d018446768b7708fcf3e49f2617459f902c95b9bc20c8e95698677420f00b1f0a252f33112fcfd9ebb9430230067a79ba5cc2e96d59ebab4dbe2576890146fd6ad1ca719d2f62a0949dd381efd66fa03feccc23fe7c3f28166b9c88e40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023075a295804e0d018446768b7708fcf3e49f2617459f902c95b9bc20c8e95698677420f00b1f0a252f33112fcfd9ebb9430230067a79ba5cc2e96d59ebab4dbe2576890146fd6ad1ca719d2f62a0949dd381efd66fa03feccc23fe7c3f28166b9c88e40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230547668102645f162376d8f73b26be1f5931461b30a5ed5a46ecba26fe37dd057960085e191fc5c1b2fe7ae4308493a0e02300687fc341270007a058784cb97f7e1e0f2d6f4fb0bfe2f8d55f8a25dd9f3c3475c1a58baa148d24d38c3e6f2469ec5000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023075a295804e0d018446768b7708fcf3e49f2617459f902c95b9bc20c8e95698677420f00b1f0a252f33112fcfd9ebb9430230067a79ba5cc2e96d59ebab4dbe2576890146fd6ad1ca719d2f62a0949dd381efd66fa03feccc23fe7c3f28166b9c88e40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023049aae6bc88dbdd7b3964ce50581102e6083215532f788abf4b638b764119561ba46a4cf6245fa2b08054c8f3a02ffcb10231008c847beaab949c9b5e7995faed8484a96d3b012fb979617896e914d14c56534cbaa2646404143611cd082fe6d92e1f350302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023075a295804e0d018446768b7708fcf3e49f2617459f902c95b9bc20c8e95698677420f00b1f0a252f33112fcfd9ebb9430230067a79ba5cc2e96d59ebab4dbe2576890146fd6ad1ca719d2f62a0949dd381efd66fa03feccc23fe7c3f28166b9c88e40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023075a295804e0d018446768b7708fcf3e49f2617459f902c95b9bc20c8e95698677420f00b1f0a252f33112fcfd9ebb9430230067a79ba5cc2e96d59ebab4dbe2576890146fd6ad1ca719d2f62a0949dd381efd66fa03feccc23fe7c3f28166b9c88e40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023075a295804e0d018446768b7708fcf3e49f2617459f902c95b9bc20c8e95698677420f00b1f0a252f33112fcfd9ebb9430230067a79ba5cc2e96d59ebab4dbe2576890146fd6ad1ca719d2f62a0949dd381efd66fa03feccc23fe7c3f28166b9c88e40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023049aae6bc88dbdd7b3964ce50581102e6083215532f788abf4b638b764119561ba46a4cf6245fa2b08054c8f3a02ffcb10231008c847beaab949c9b5e7995faed8484a96d3b012fb979617896e914d14c56534cbaa2646404143611cd082fe6d92e1f350302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eb3b1ea37dd04b92c604f9959e2a9b23948b039689734dacfdaf8fc996b7dc1aa8c8aed5e66cc6a2f7103c582bb6e3b102302f8a420d505b2fd7aae717cb06559882bf08c63dc56f5bae55fb072b38c98036e29059dddb93dcbbddf339639f6589c50302047c435bb500673065023015031715c246267d4ec0c5c333dca3937817267fc55cef548d8dad703a6af8657032dae123412da62eab3c2df2322e65023100a4aa5e73fbf64c614ec2b7926db66a37185211ce6f19de1441642ff8894180540fe97060582ac39580b338ac69bd4bc80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ff53ea2b831ba0af82997fc5c75320e6f01d7abe98b7283311ba01fd3a4b8776cf11488351be7f20f6b8818b17ce71a0023100abf0edde02fab179200ef24619ed797cda8637689da045859e898d762649d2c10862b3df2d0f479e94add1094f4f106e0302047c435bb500683066023100b1e60861e54644baf92fb5ca362a053b984d45c102ada078470a7ee5026c6360c3372fc1a8a994647e9132a57a34e1d5023100986ebd4bce388e95f73cff28431928926f77cd673353b90e6e803a37e9a78056bd1fafa6506a13b7fc4fe864f8bad0780302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100928133ac9e14fbbfb469dfb36ae34486ec5b9597bcdd5ee692bb7d2ac5b9bd555aa9dfd052aec3e9ab53dbb68543d867023020f362d32f9552ff083cf96efe791b3ce0fa07adaa1331268ee3df2f2a2ce274e38ff06e8466e05e1aa5eaedd84a3b5e0302047c435bb500673065023100aa2f3fee40633f188418a6e24a507fe25e64e136d952aacb89e84abb31af571b501c0ae8aca1e8cedddbc1667c23f2f002305f6fd57d36f33a52f8257506b6be7f96c81cabf2ac608d0100df8c31944eec98d6ba2cb6ca731ce9aa647c17622a5f690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ac355bd551846b60cfc51f728b7264d67c6050ed1c2e5a4ced27c0d112da99e3a7e2390dff320ec7d00e9b8093722560023049feb3010ea0639aca44838f0b74ebb05b56dab800295b940d75e0df2c1ea069f0100cd19cffb6f6bbb094deb9a549130302047c435bb5006630640230221688c5cd0123258b357b31c81ba277b9e0e63dee2f260f2db51d7925776b1f68c6ea495d087be34571a53bb6b4b28802302a48bafe9fae7ae89e62e4730077003f77fa30a9219312b7164bd36926a7d86896f03e082bbfb0d6fe837e095e4e13e10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023005233bf48099721abf85ad21ad5cade7d2aa9e52966adf4dcd7e076b17334aec3232e97229fc444f9dd384a18f648fc7023100c2ca5211fee1586163dd76a10079715f15c7f2fe923f3a562a51ff7cdf3b307fc1791c3d1ed8912a6bb5c400552c0da10302047c435bb500683066023100987bcce0d981f46bb8de85aaf7b93381b801b95fb599abbe41b66a0d6efcec30ba50661e29b530bd8fe51844cc24ba61023100ed9b37ca3bf5b7d67eeb00a213a3c4e9f1a0581ea22a23b47013cbd257575b52c2b7e6008a80c5601d133eb793c4a7b20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008985d1764a3ebfad50ecf1dc5b0e15525cde2b84f57b72a2079dae9e4a7658527daf46118fbd9158043361dc40b3550a0231008d28a48b62b226675aa14692ae6cb1ec389987e05f835b476f6d75ee71f222babd3486b32c66faca23aa7b84c6e2d3130302047c435bb50066306402301588cad0207d4fe9459298a5cb574a9b7ee915e24a0a1261af1604fda2f7103f98396a3752b8dd43eb81c1fe5044ae6a023042d47fb5091f64936b29cca81ca5de2fd590afd8b2f8272c328a1ff5a4c24ef2e7cd0d27ef376ea1c2c221eba50dbe120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a0a1659dadf15c990a8a6838cf1937e67b35818972ba51adaae62fe6a3ee0efc5222146d79729bdbf01dfab9d36708de023049d937e18e86484ce460f7fd9896f63524ca04c82121d99efa23f2a4a1b4e991ae0ffe99acd8ffb54da8e10b0d99113d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023017c293c540404f7c4c4e8c316550bfef00a6d5e1528f099e4b98a02afa525a48f2079090bef0c18e296df878baca5e99023018afb7d58bb265e570dd26cb026faccd8a8f7695bc155727e9ddef47512ed4ee2794b6bfa2acf9664b6fc8fdcbb299860302047c435bb500673065023070120d765db3166bd449ddc142a681fb43d2adf0aa5f4e7afb83e635a06d8ebb527ab5c8d9fdb4087436d57a1a9ae52902310097f520f59384e1841f4359e63b08fc26c48ec70498fb6c2b2040a0e9a803111e932581a011061a92393cc37050ab0c920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009a4bf1dd3a24538d35d244f9d9a7ec7fbd40da07b68dbe90cee607548da135bd5a7f8b294bb5e2111e645046f58ef2850230213debb664cda435a54ee2c06d12f75698ccc718d488615af3c9de1454003b246fd4968cf38130c1b1466641b1c195720302047c435bb500673065023100850f5b6dcd73aa9202b3014605e77cdc23fff30fba1ca57bab82f280639e1467a682fb911a8e19c9e142d250fc35fa3c02306b368c0d72db6cc1bf7e98140d95f0b88c61376ba696d6dc4fdad983877ab75f1d1e3bb71090e4ae94dcfb322d925a500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d8fab44b4ed603249d441b8a16e7d947e6eeb4dcfa859d437976c34c8d33a1f2e843ec7d6e59f90f5abb54d414d5b388023100b6ed91eeb2b50275071b4a9ffff33ec9224302023c6bcc6b1061f12ca6865ce8bb65371843e59004781d3163a5e3bd540302047c435bb500683066023100951e709952cedd2df4edddacf15bf6cac7d8b6dcccc341ba682a97a320828d063835d017a0351594bbbb243a5f6d2610023100bbe89a705b83a94558fdc79bd766c7cbaf206b764d77dc8472b7ef86d330e195e12a505a2ef172f59cfb4b7b9012edae0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230596835f1525c796f830a6904f6a745ba5d6b2c1de6bcff30fcb1622026edb949d561740a84588c5f95ea23220bfa6a3d0231009df39f6f24beda439fc81778b0f4a253c90d7df7ae630b5e44c591ae58dac729f8a0b0ecbaa7cf17dfcd3b21e4a459e80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e074b3279b5a6f5430a23dfb903b716c23cd4aa2cebd5279d43f4cadd47ec71b102b76b37362662252ee2dc7457cf258023100db74249355dde82ce5810e79914a29515a202b125271aff5b43b972499fc6637f0369b522d257be9a59d6d5fbce092200302047c435bb50066306402304ae98e7a1c35753ec1c0dce38d574a264a44f695318ae410a9a9957be80be0c096bf97294e8dddce3940eb2e762e002d02303715f62cbd8982e3ad40bf50d2a12c1a335e1cd5104b74f7bee63440ce5b1921b6cc8242b40b72a32a0bc29851e5ccea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230478703084b3567b23ed56bad5214310b8f3ddd0b095f31a6834ca1c5127d09ee5892729f69391973393cdb1e316bfcdf02303089afa1acf9b5c05e0f0868b4295131621ccc0d7827ace22a730da2837808d707a167dab2fff52927ee9d6b098e30400302047c435bb500683066023100b6c7343270473fd752ce5453da56601ea1c52382381b58dbad6796a18ebbbea4be6cbfe951ec21860edd86e5bcf9e19f02310095052c09c241f6ea527932048f81354fcdf10446605cf185adf328be7ec7334f9a77e4b1f98dc90561c6722012e81ca20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100905044f9a3d59207e007a8b7992248f48d1734d353be14b88193aa2073350cbfe38b49de888c4b7ea4eb428c89bc6ea2023050976212245cd7124aa6cafa11181da0399d3ecfd4bc65c16e61e52fbc82667ab070325248d385f6ae7fabe71ba1f2c10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009d4de410d043568da79320c3899b887270e18cffe7b287efe65a4662277cecc97feadbede530dd3a1069b6597e49503d02307504485215495443d8c82a54b8c0cacb1ff3d8344b8a02f31a7ce251eefe1cdb33725c9d637428aa382b6736c59967c70302047c435bb500673065023100e34453dce73a75440306cc2494ee0baee6fac84bb461d9cfecc809510e7d98dec38e71e79349fa64e15ae5f4420a3050023042dc1b4f840c0b357e222d260e71b9f9f8594a91a5a904ee456438813aef0b68d6860191be9c8ef1c666cf859c1d81bb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023052f3de8ac729dea89a859f47ec42156caad9f00a326da3db6aa7be049d845f5392ffeaa36e42afd86df4491174dd0554023100e851e2e94476f2a5cb2753479141bd77e3fcec79896d36cea0480759c7a6fba4314b8abed05c16c6ca2dbc46eea4813c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300fad0e85dbe008a4c54a60e61ef7f38feba1e7d43ac3e794e218b58ea31f546c32ffc45ba0b6a8ab76ccf6e107e9d6d502304ac1af2fa7b9869b6a1f729ca724ee137842401cdb368db2c9861006ef556b8cd4e49469ad75fb97f290be61d6dcadd20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300fad0e85dbe008a4c54a60e61ef7f38feba1e7d43ac3e794e218b58ea31f546c32ffc45ba0b6a8ab76ccf6e107e9d6d502304ac1af2fa7b9869b6a1f729ca724ee137842401cdb368db2c9861006ef556b8cd4e49469ad75fb97f290be61d6dcadd20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300fad0e85dbe008a4c54a60e61ef7f38feba1e7d43ac3e794e218b58ea31f546c32ffc45ba0b6a8ab76ccf6e107e9d6d502304ac1af2fa7b9869b6a1f729ca724ee137842401cdb368db2c9861006ef556b8cd4e49469ad75fb97f290be61d6dcadd20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300fad0e85dbe008a4c54a60e61ef7f38feba1e7d43ac3e794e218b58ea31f546c32ffc45ba0b6a8ab76ccf6e107e9d6d502304ac1af2fa7b9869b6a1f729ca724ee137842401cdb368db2c9861006ef556b8cd4e49469ad75fb97f290be61d6dcadd20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300fad0e85dbe008a4c54a60e61ef7f38feba1e7d43ac3e794e218b58ea31f546c32ffc45ba0b6a8ab76ccf6e107e9d6d502304ac1af2fa7b9869b6a1f729ca724ee137842401cdb368db2c9861006ef556b8cd4e49469ad75fb97f290be61d6dcadd20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306eed33c3cb92969b4a20da4f045a445c1a19377119db5da60aad3dd6399846f58ff9d6522042f5f1151c8a3589a318bb02301876ea2159313acd1ad500fdc140266c184f7313c52d9b2f4d2522d190cb4a6267ac7fa56b564f6e5e02884a5e7a4dfb0302047c435bb5006830660231009d28ce43367b04eafddad90236c0d50a17d4feb6d4e43132bbf090d460e7d707210cb21118fee737fc30487bd4b3edcc02310087d108122ca1d5c989413a965cf82cd2be5c7cc13468524aaad84fe7dc4edbdde0f02da0a7c107c02bb43c7a568853300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301e181266973bb86bc246a3f92d04e517d8d8cf0f0b925cb8e29d52a043a3a8727bb21091c3c305200195e25615deeaf9023038f530941ef67deb8df07a5b16336918d0fcf866df2fe187c898a9f595e37c046744d0511fefc900ec26642e15a332a70302047c435bb50067306502300d1312525a2b2ff4328e8502862395d99f272c2e23956aa9b5825264f37efda665406d2ed0bf7358de6a97f16b25691f0231008c0644096dda86fde0d5cda53f04122e8fd9f3ceb1fc67fb820c38816cf56c28882da434165c38fa522b41f68172e8560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310091ba5c71f435227e74d7f7682f66bbac8ff1f7ed4baef5941bc24c233053890f9cf43ac35ada852a04a6e1990982a75902300939fd1875a0a5bcb8577009036792c02fa474f182ca596d2f58766b510d5086498855ecaa7385b1827275c0920dad5e0302047c435bb500673065023100dec685d024abb098727455125dcacad850583b6cad784205ed08b34b46f1efc05364ce91a99909f7a78fd25404f80f7b02302d0dc49a23c3ce1b0346bc1dd28d13c3856af40244be4c345b9deb255fb9c4a397ab3f94fa8f318f896fc6a4b90324ea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dcdc6e95984577527a30c51bee043ff3f3dae814abd8ac645b468322fb7c05e636b4a30b282b0ee226714b5de729d5630230103615854a3f70edca886289d7dcd07dee97177574088e740204492cd9f4d358b72058ba62324b658970a856227a5b7d0302047c435bb500683066023100951e0a2a09ff79d81ba0aa711d9a0c93995f285c7315c8f3ce485297aa3dfcdab63f62f7f4feceec1cedee733dccdb42023100edf5924711a9b3c092c83c5b9ccd6d5923b71cd8748047cff12e47ebbc83ecb1be9b83842b598983d15cb6529c08f0990302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a72e43e3e6ebc9912823930ed367cd4b67a36b9a8733c13a5d517ec9b581ac783bce1d61c304399e54102364d767e11802310094834dc7d99ef81d0794ed7209efae65d4295ed8c70f2d7aa9906f878ed512ba40af212f4a4c03c4caff2f06806b86470302047c435bb500673065023100fbeb116b337c31516843e7ebb3fe470ec413fc09a2d0340b20a31f652accb7faaa8cb4ce8c4d1d6dfe56c116e666dc2402304e7bd6cbcb4878f24d0fec52bb5af65e3ab8ab205e43fcb5af20c6bc318baaee027ebfaaaed53ba69a4dd10260b8281a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008cdb984713aad8219b53dba949adce01147020c0775bdac384a87a3c4b7e3482e2b6c2abacd40b1c0488f38f4b96ecda023005ea1c16bc9a3d2566c45fdece0ee6c6a10afa934b18bd420991a4850bba71b2ec57dcef1895b2718c66a11dde4359250302047c435bb50067306502303d784971053ba4d1c9fe225f87309b7ca76cc141f4f15b7e272446b5ee8ea3b706bd14a5a004c6880b16ed3fb54c1300023100cddce9ee99b1c8954d7d499bb03d051c4847d9a93805eee5f4915bb6048b538caffc7604cd6f6169ec27ba0c3d1bc4a10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ad9da15cd01e1f8079d3f6e3b761042e818460952b23540832f5282140e3f5eccc04c700676a5125d404264a1fcb49380230159f664351352295c5093313709924b3fc16b7944ea15cf891b7af2239a3be6cd4bea1a8f4fe9be5f308003b9e67ea920302047c435bb500673065023100d20c463367c1fdf24e59fec2418b9bea5b71ad173ad6d9fde7911474cf1fe9acd49819fc43956d7187337d0aef8feaed02304765eeb341406673953327f4292665a4858516cd74a3440ff848ab752235d3849f7ea983aab01312240c2fb77d37a6010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300b9f27a0dc140d049222c049363b59193a3a13468c902e1b19bf63631e629643b88291733a7ce50d23629b821c7200b0023100e595545d1df7dc0480316375b8a46b064062b68ba6b30d207492598f9290e06d5bf033bf5515efcf72160a00c3f1a28e0302047c435bb500673065023100dce80a2e5aaf2ca9dabf37ac08d4c133297640901d08eb6c54ab37b03d46b445ea4d2a387aaca74133da4cb99431b6af02307f9acd706b9ff7ce21ddcde33d78c910ec5f4a364de59e3b757160cb38a5ac22fe5acc13b450ed7a7c04891d7abeed9c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307b36def53b8a9f8153f74a22794e87688ad7c27ea7a95992f1a573d4db311a095fe131bce79bd9627094fc253a4dcb2a0231008fe7e75896c6e1cddfb56d2303a993a4148ef49154102f0160272b16ca09f9b5ba65181089f7acd54b9bd96166bd73e10302047c435bb50068306602310081c3531647abf22b78860105aa2ee85b9ed5046a2f5352b7c780f7e88b95e42b29e834b1c460c2766ff7633c50823d2e0231008c5061a2f45151b2561825557989ceea916136c2a40b944949a9d4f7d2f1e910aa62d0be0383ef113947847172a174340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cb2a8970df082e954c03c3f5f02e9d3d899614bb56d051a4c15a1b396c26c42d63e9c4b4aaf70887a9e38829fb89d82f023059c20d1db1ea13ace01c138909eec9334b795b992f49e57690e1358acb56d2f2501332103a2d18ab81038273504e99160302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b8a213035be4350b3363f42c106c5026d6a013a403052fd30dd7db615b68b23f9351f0f6e187f3cdfe2a6157a0a52e2c02310088917d1fe1430f8168db6651d93e418ce198c0cb3292eee63aafde6cb5db7617f1ffa82f2590a9480d5533334e9956360302047c435bb500683066023100fef2db17399ff8d7b486d5bdfa75c22635383d8273807b86fbd72ef002001fe28e69277159de0074f60fe34334c6069b0231009fdc43e1ba801b7be4b46e8eaed13151f9e67595f96360931bba2ea4781f55cb48945e33e8522638c0b43769eba12bbc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230191994c10219b08d1998cdc52d6d169232ce42d8fcf11f7693a0479bcfd05d5c3713da8ca590eb3e249e4916e25df5d5023100aa63f5f170c44964a808113853f09aad060fc29e6b1ec3d2531e74520dc80cc73a648a79390b8318686d91589f52d1ea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305b936a5db403fcf51da41a4e1a516fceb132f68e6ee6db6e29fc29ee34f283716bf97d9ffed755eda05228a3d59bdbc7023052d44467214159cf4cfc6948f72691e484edb92fae9619448d925802de7e0935743126929e85f220b022e03c6b4a91e70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eca6e246ef0385d579c107cbed8fe57217909b0d3a1d69e0c03e6d871f658ac44477b1061ede3bfe2438a194de9acb8f0230507fb16653e48ed4c4c97a0d0778715d979704eabcc21bc83fcdaa698cc0385d72d880bc3982a64a7f3f4eb7de19df080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302d405561b6e13c26786fdd69f13d3439523ca1fbe6c38ad919e3c87808c604586486a22ad305c4f397e70c4f8b0a3b9502301b68eac31c2a587f39f3ba08dc46803b43d63554e5ccff50264cc93a8f013e6e71914d9900ef4a87019bbe927b3230ff0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230755c773cda71c18c0ef72bbaa8ea52dcf4a608f8624d23c5c4b3afdee75f74e63f789f9d4b13d8aa87733f89cb8ed36f023100e3b2e833f528dd4c2d4371241649c52074845196a095afe915ff630c632fd14e0e68f49679d3468d9e6ad90b0a7fb3420302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300eebb040c9da1aca275152ca190c0de91e8ddbffcc8b124b018d45fd11c89f094dca2484a23ff84e4e8afcc176abbedd0230476ea33423277610a7d0042673280d030138c93b36dc201f5c636757787cd7d3c3c5ce51149d282e881ce9f7a6f408ec0302047c435bb50067306502300b393124c3593f10d7ea6c1d9904eaec47c3569a56ae6f4b529f34593cdaa2a2ccf7a2d42fdee92879d58c15c1544625023100b00115f0aab40149f33ae3033bb4603cceb2cb7c9c9d71d9ef8597e87f1e4f4c3840263f0832f7800233b5abf4e434ab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023029a5b38ac70e2983dc9e419684a4dc5f448ec5f36d33934b4fa505ec1946caa292c294b2dd3120deafc617df44b1a6eb023031cd07680c72c1fa534b95db4220ca24c888759b55c03bd45eaf6ece8caebb75f204e442df6334a481e1d2810d5575cb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fcc7ff282d841e093f2eae03e133f4ce543a67a09f0d205f4073952bc2bbb8b2ab8b3c051492b601acec53d5d5ea4cb502306350ed73602f3f8b4aa64f28f8b48acc68ca8a887439c94ecf218e2d913d99d30984eda884527d398c39257672164dce0302047c435bb500683066023100c4fd8f262a649c48a5100c52677723968667492b9c95af921744c47076b636a1defd2434780a9716e94aeadca68424e0023100c0eed164b68c0e8967a39288d5fca6fc1b16ff1333480b6ebe21b38a14cfb0385a43ef69cfb4073599f666bd8ddebf1c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306d07b18e8cfba1961a0a91c25bc461105b3f97a2f5f57936a4cc6d8f08b0c65ccd59e6d61f96b899ae9c94e5d5d3654c02300e5b5a656d60fa4e6b007ad331773d793b8727791ac34754017d4d4d5d15b55712b16c036205d96694867fab333d0c5a0302047c435bb50066306402302c8c6d05b3125ffa9f52292405d63605e142d9ed3d2f01de7e222ec15e14266b068ed766eac731c063dfa9fe8c9a634b02304e51b5dc6357c58c2fab216bf662b38b66ac183f7e33bb99501e7c906b3a34d62a50202df8e1a85daa485d2658ef97760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302cc205d2bf582e3ff13174f090ba9c8780adad50d4a325ace401b16f055fb08d58cc8b3950f2be3c271d161e566af8ba023100ad712fb4826ff74e3881e126e5cc1a3905fb33db34f7fcb40e7455c63aefaddf70a96ea131d68d8fc128f528a997b6550302047c435bb500673065023054bd07ef3dc1dbe73eb6b5d5dbef09d7de20a1ea1fe894de87843053cbbf4420e3fa6cc232a56d6769576e642b3a31fb023100ced3494509a79e97761501b33e6a30998f872b81bc9f78c0b185adafef75c69ca6fec6bc10635d76c44007aacfe5f7100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009d6a593ceccbd96111bebe47e0ebc23e13759bb1f7e8253aa76ab7902c2285806d46efe8d5ee72c91fcfe8ffea337778023100eb94d675f3c952e89891952dd769b795891b52e98d79977676887486db70a367bf88db57f61d0be4152147995918f41d0302047c435bb50067306502307b769a5414785f06f87de680a369c66b49714bf50ec277166cb7e53899c4f9a4643faec00a94665e6aa53601b421c49402310099721456eba727c2d4642179192a671e6ce687f3e0cfb34e5ba20d451dff6c49694c7249cf97ce68e31f34cfd35952ca0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ec92fb92a05e80f1d1742e8c753563a7671d8104498652f36c816ced85b93a4d208a00ec19d7162b338c856aed050c22023100f95113c0e03205278cf3ba995040bdc6d0410deef83e32f44db0ac9dd5aeaf363eca95051f68fc83cec474f01ab793bb0302047c435bb50066306402302a9fad86874a3e260df4e7d3416d6fe672e129cdf9e5b873b7ef5f259fadc62e8e9cb34a9a06ebc623a64c0e5b62393f023068e51636adfb82ea23933891edc4e95eac4c08d546cbbe261a9d57fab2d9b4b74ce6da940e30b2cf22dbac247c62fa150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c71765dde683a938365b3c75cafa4946e472faf2ab77c1b6bdf11c1661fe7d214b8dba4df108921fffa127da8098b8eb023100ef6d4868b0a29c949a47d4d147b23ae55f2583f0fe01b78da49ec2493c0c7ba2f7aba5124ef8585500cf25eae2a0ddf40302047c435bb5006630640230407d2f0d6ca5c21fcf920fccb13d774d34a980b827b06178e5f280bcb4df943a578dfa546e17cbb253e1c26d1e2e7fb90230377c75647e2ea6be9c8259b0b28801a6d781237e523b9674f2ef67c74e872cf99fab3cd5b9e985a6afe52e4604347cd50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023066651d2196c2becb15851a6c8dfb91c906902d1ce0d8f051e6b7a4589cc500c0bbb9d009e65beee919db14b34b1b467b02306b5a125fe3245686c2159c8737545fe22892628ad4f4f734ba07b96a818ded1905c99d72e35123aded68354e7ebd591a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305667be8dcb81976247e5d939318df2f2c64675f8db651ed6cea058ea9d1c475bfe37d1728715425c8e3fbe9fb9c840df023100c0d03baebfb237cf7970374198439fdc3eb51a6a0376da683268a10b5c957f81f8f974324644a51d5a518d95adf75c750302047c435bb50066306402300e29acb95d12a91928b2166eb5e9dd87bc1bf1ea681d6bd74e040692c1d522a3ad4a97b96706bc8504acd71f6f85fe600230351ea659b8c038094da0c8b2f28b5d4d4ac3e00a50b0a956d1845c63112c7d33a84a4ae10215fcf894f240b48f3001110302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009336aab10d7fdbacd21964df1060cc18e58ee484e225ed4f2f74c87093ae1a3ab53b404585d491b8316e180edde34af3023005853faf49bbd29033b57fd009a67f72332801bc22791f23b7a114a2f9551745795028ca70443decf1f00bdbe461f9c30302047c435bb500683066023100a5db8d375868ea871d13a82fe013ad9f50cf9c87f9a243bf401c6dc1b8c795fb9ab78e226b38113ac8baaab2b880c15c023100f2345c1ca9a93d80b8bd042c3cb13c51d58286bbcd1e45efc2ba5f566034ccea89c902fb7387ffafe0375dc2545e759a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307611bc4fc0f0b79104fd1cabf35d7f13114dde36b766cf4e2675e4c2668616734b2d12f6f7b5553ce810e86a2d66c83702303e44270b14eae283738a536d5f2972a0429486fc6697e9082b503629d0d8712cb4c09c64ce2032ec4e5877315dbe6d840302047c435bb5006730650230549c759c9804bd3201ef71fe7eaf57e00498b367163d46ffd4193a74c8890f01c005836af2ab4909cbb6cda81975c22d023100e8c0bf9cea4db1ae8bd3efaf2eff62fd350b673ff9769bffcf66243b5e0bcd71dabd91c8f19ac6b822f5c0a36f3c6e8f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ac90c73be4f9c7c4a817872c0512473b753a6abc8c80bed1793c52b5d595f3d9c6dbabd076b533a9be379fe8cc9a771f023100b929ced01d031b7de906191c783fea5d85b2f99431ae34729cfb9ec808298ccbc5ba9eeaea861ac747b766e7a0d835b50302047c435bb500673065023100f4b8d2b1f110af4ca44e8089957b359c1a475a9a82b29b895633b3d7e327d78630c74e9c188987c98e55020283faab7402302b493c33b3b92c70e741d84edb0f58fc70bb65c63b9e35a2de37b3212bf25eda3bae7a6cbb38aa1b23e1626b67a211e90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100aaf9755d4bbe8c110ff6792f919e8bae36907718581ac02c65ee5ad461b52b5a6103c867560d354dc5f4d9ac3c575b94023100c1f35f228751ae8a7f6a919e458bea36834009f9af8c577a373e77df04f3893b0377f78f8a35ccd9df03a3fba25d39450302047c435bb5006730650230508481c3154c94c0719a89db25408d390f9321743fdbc1c537c4b85c9d81897828c12793d9b8fca392752ef44c84d589023100cf0dff7fc1d38dbe4276677632244d689bcdf88c78838793bd5d5953f764e19b27d2d486ff1f32e59f52c53ceddf72d10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310094e47a89946a4f74aec95085321b8f9d12846a3b5dca8129de6aee3a28e867b4a1d9b3cd05fbb02b627e723d79c323050231009b4e86edb8f342113b45890d3f259cfe0a8f8a41f6a84f5632fdc00860592b38580fa06cc9c6cdb168b9db9dbc0a0bc50302047c435bb50066306402302e528db2d48d01f8be7eaaa6ac0923f5e276046c739196e9f73636781e1462862fe74558b61734a2c3a0d97469e820fa023058ba4feab545883d950d505b1982e5af32f1844c168da1c81231274ad937c4454fd4846e48bf42ca1ee4a51505143abb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023055fc7fa9db9521bf4f43dbdcf8cd8b5c28bc2c271598e1744d3c064eed103d1ca03cb19f2a53ac52af2831843d2a9e53023100e4c17ee4a61c1e5d2dbd395f9f7dde9a2e669a3bbbdb9a9e7463b27f715adb3fd8bffe80ae31d1d9d7d7013ad44c4b700302047c435bb5006830660231009ace7544710d27ee8c75b4b4e24b3f64f650bda04ba258d0a85e95407591b6fa5befad4f3ea1f88f1c8259e5496d0b96023100a01290d580f162f7e5b17fb463f1b2714978732726217fab95c92ad9a9a0e62614b8e3ff871699d49bbffca6fb9a1e610302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306c9759bec4bf020aa608b85e55e1c5a459d63df7e310e68d924388f06fda4da1b64056169cd83f3a5e17a5f7d08d212c0230517944edfac4dbe8f7cc3848add00417b87df36cee3b8b76df2657cc03f7fc37432ed73a08d2ee9b0257cbb5995b0c720302047c435bb50067306502302e571f911d5ed844bcf9ffb3f82e54605451023003d6dc2cf35f88bba193ba2a1d9784e3bd9a48778f3638aa29635d79023100de01cba8cc05c1f9f2f8e4b2fc0fd74e86fdf95f32014e9ea502347954b4c842d4b735ebaca2a563e3d2828057ac5b2b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ad186e6f49fa8def5543d243e636a0dd6e66f8741654d48dcf66a1a14f5c158fdc97eda1a20c62f3c77398f93cb7fefe023021348e4d5afe55190d604dc50549a9e78be88e8baafd3bacc2d92708e8c59b3392b76f1ebc3d0aae9b7e868be469b92a0302047c435bb50066306402300371d1434558b805954c0e9c923bcf3912fe09a27c8c7be59069c098b652974300787d6dd0a5cc2849a243bd6257863802300cba3a5e64c31b2545b0468137602dee83f8065a5564a2aae3da543edd6d40a4cd7085d23212595e0505012d1ac8a5340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023049c0c92f60d6f1f3d9875809eb9993d559903d60e7dfe57bdc1892d276f0f593791f07a44b561862f585815894f29c66023100b546c6413ca95c68060f99569acf6874a610cface9862a74108282144b9d5d3e0edd38739935a4ec3d91d612f86045650302047c435bb500683066023100e04a96ac37b6a00be8eadcfb4e9b8e649ce50703f75f410823efabc2aa86026539ecabd794179eb54e7165955869aaa4023100e18bfcdc0b10cbb6d5abdcf871bdc8c1c8da7c305e24e31b16e797e0f1fb51715235cb5cd7a39cb5a1b77a68ddb004e10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306936e32edf087c88dc837a776b3a96742a5c7e99d95ea35fc53e8a14de713e84e7fd0e6d1bb6578bc682456f13e6b551023021f232d3a5cea7ce746b0345b1044cd6dd58515b8a734741811d6c713d9cb1d544bafa9a4020819beca7b4a668bea0770302047c435bb50067306502310085ce1fa0ec2a5d911881fed6caec15ab543cc7463913498a1722279198036a6b8518b5059bd3fb0fbe11d62da5115a4202307f439e548042afc722ed4cf72098d1445e2203248948980fcf29822aeb4f8d21d722c51ec9b0db153b3e79a61cd8b65e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ef7185baea8aeb2d6586d232c319ae8c5f0ba1f3bc10f04715d332e2ce775f0f94849f1f825df97e1bc87446e90e49bc023100997e4eb9601c99d96e578311207087c18cb915e92dc8b9b462331df8e9072f4e1729112a6bee570aa67709b8932bd1c50302047c435bb500663064023042e345a057255e9393a5ca5886fff5aeeaf4e5f63ce981d129ad0195a6590beb75387a44f80d3659d1244eef6fa437bc023031c3d191af897c401d8b17e4a433ad3b63b23068c889c50d9bd8588be66f3d3abe6ab86a172e01a66177b5ca3c8f35ba0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c4cd8741ff5eb8592ae5ed643736dcc36b63874d4c03ba220f523b0fb331c1a710a0a699b1c1e97111a4a7699def4a2a02310080dd122004b5e266eaafa22ea6b9fe25721110ec38384208a65a9768d0a5051b20e672367b30f9d2f98dfd50eee0cdac0302047c435bb5006630640230135c139ef07e0db300d7d39694f540a833fd8d75f9dc54497cbc017efab0b722b449c2a2a3d9171d3d87016ee22fac1302304e74010576b6a45c9270ec0c542a177636d3cfdebcad753d3c5adf65c4a6332a86b9fe30f96a862dc135bd779e2561720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023062281c4388989e456065b16a417841b3dbf7213db1e618870609e1590d7dd2404a0e517ad8c96161088ae34d1696854702302ac795bcd5c0aa7d599cceda51549b0cc569c46ad0c46810acc3028560d36e0216e551f55a719922fadf93845dcda0110302047c435bb500673065023100a007a856f1b5eccf3dff9c1d5ebe6fdadf783ff8b711634f6f76d4eae85d7ea7f34fd5f413a88ddf774a07ba1854c29802305b7b80e0c7699eeae133e03b2781c00f025f455d87fc8f6c85f8b2d9871d1abf628434b4fbe1b5d09d843a1b6e107b180302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023049cc5f20dd03e923ab0adb97d9f1fd15ab5f192d571e4767b77dbd76758d1c7533793af133d24f4b776322ee99ea9662023100aa32553ee72b1e8fb951aa7c44675e1e92b6da01e466b3d06804ed55805b1ce902e8059a8d3234ca0663b687c2cb1de70302047c435bb500663064023078341711570c5f981a8073bfce4d05e04a1c85037dbd5b385da89bbb39e9b465d9f0d010f052965a020357be77657622023018fd6522758a39414a54300351bd603a6cce6746679db6de2d629877cd601d8e7a2683ece554bd7b2be4ac26c62b203b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023065dea691d217fc07d9d2e5eff7a1e05027f3b28705522e40573b3ea85d3d99e7786a115dcbc6b5eca164e991a38668d5023066c20e6224f14d801344b27ea704c8d6b0561c5bce43799c3e2c988e71434d8788e06a9686ff9b9e7fabb30c5a9591220302047c435bb500683066023100e4573d9593b4f3bd526dd3d2c9495ab7b7c24eea2f711c22ffbfa1a87e19a26eac2532a821f6e74764def8e1646dd4e4023100f85500b428d0c9628556572f181baa59c0ae1d42fd670e134b526c2f5b836c4605c13f5503e4404612865419cc4359380302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100feef075722e8d81c5e9331dfda16742f4b95d8e3c1aeb67d7c2a456eb17532595f277b26e9ab902006b20b082b1dc2f10231009c0d83f44fd4e4ee46f45491373185461a8e365c2b5e808ee7a7252749000c3d9fbd1771b36392878dea7209fed9c8c80302047c435bb500673065023100a62269807a9508628888522593e9f23833e3ebaa3fb0e54cbb1369655edd0d121694d1da138ae5a906de367332e88d0e02304220ac165ce0dd355580db7bfa61c1a4d6a4ab62ac51c3182b32ae1a85599fda345e12460b03d6f907bd2f9b08b880cd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fd2651ff000d6c52d1c300d07f9759893659e16a9ecde3c2bc4fd165e9b3a9f22e6d0262e0d699f43edb56103361879a023100b786c157645fb051d5635841363ea6f8f2be0a84a1026ee1e6bed475f7d7f85608839a75ee6a7646dda09fdb62e4df7a0302047c435bb50067306502310097a2601a39d486a7d7a48b7d729808a947e882cb997902c60c17d826343d1f05088d9add3edb44112b16f0cd3dcaa9570230020d84c83422aca0fc8bd1abef6c8870ab2ad1e3ad2fcce8dce6b040ec4fb7c339af2052a6f81ae3e82a5c31735a63cc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301cf80f0f9a7733c07edd8e68cc7a7094b92696f5252a53bee943c08f87f50c72463a8505d4d33b0a99c9cc35d96fe9b802310098cf7ca13a1f7cf71cf720456f11adde96e4e6c93fefa55aeb2cef754c764e9a475a951ddedcf61ecc5f80db6b37daed0302047c435bb500673065023100aefff17dc786fbd74291320ee0af5af5f3d6fa446d04fbc526227df40d78842a4cbb22b519fa192c85c40c8ed95d1402023065bb47e892877c30fffe360f420197e1e79ca9134f91d405bf978eba0503975770a54b7cd99d4aef4777c21761739e680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230334f4d3d50825f086a2362d22056f78d016afdff4afb758ffc37cf8faff1627cb1fb03a288d37ce6c57bd3c448614c9c023100c11f9d02dee34ff114050ecdf3647441e77f5a53ae80c791a0b03c72c1fcd67085c606c46d49e4d98979c778edbe89b60302047c435bb5006630640230733d81bde22b09e68ca36d8c21b483bd48cb726e441d78a36cf9a9571df216d7302bd030133d639f9b4ecc906582db3c023067986657aa3a3747984b93a6b2d7d9e48a01ebfffdc9f4508bbf3ea4bb749615d781d9c39f8a4a6424d1b97fd19858720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e0b2911099bcc0571e8076e7a2b6e092de0d4bbaff7f93cbbc1191014d8aba5db87da1c0b9a198f37ba73aa2cd4591e80230125dc6555f1b3de9fc29d33d651236d592db86c79e898de37f72a03811c3263b53c86ef6ca992e6a49a70f0b702c95280302047c435bb500683066023100bbb2a94c34fd31afb7add4a4122a4493feabb12f548f489d583a5680d677ca78c781ccda083976e3717c24ccb6e16b63023100a741e9545d5796fb0b3f15e7741a14534f1781b4b028612b4cdaf61038fbe198dd246510fdfadb7dcdb792c4850d735e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023024f31b16fa9ad757393fc5dfd946d346f2cd14db03d3dc19b6ce835bf3e367eff8b9a491553bf3e090f791cd39db7fe6023100e487ea3efeea6cdcf7d280d143c5f7df0fdd0672fed5fd4e6a2ee6c6e0f89b4083c6a1cbef180ef1107b262eb1f0d6c10302047c435bb50066306402307f23bab59f6652c24156d252728137519820f23af5e7d2a9b6f05499ec26efaafbe19de2c4602938fcdfe3f197bb5753023024217325cc282d0a5d58b5499d326d249675290e11f76747812d3c8270e99fa94f194370af163c9187badce29b7ed3200302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009fd0413ce72756a977f6b6647de59b023053d3c0ee5a9f28308bc913a93ec0d20ab93aae95c71655d8dc9a4ce3332b910230138042918ea476228b9f49f5a3b8ab0287dddf607c9ca73df31aeb06fb202f2d07cd6d76b3496fed13cfee52a9249af60302047c435bb5006730650231009328a0a5b8155223efb07544ed35d34ac70013af898346a92176c5943b483672c050ab5f415b48745fdefabedb24a9900230519def5c44e7e317dcc8b3c92c060a1c587b146fca11339e8457852d8161f84d11c6f3a0e71f342ee733243a12cc23d30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300cc90626530a82e6f127b1018dd625520560e87e3a40e00d11dfb18bd084d03bed301e24f5bcb86a4fb8f1e6274e23d3023100f89492952787c461ffe3207d11b0ba99e148f846d82c97b8ac1afbffb5a904905765ed31cc081078d0d256bb6b54f1470302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b6ee3f57c4a0419d78c000b2a6e46d37dce9cb841ef3ac70568ecf41150c78e7635f9b0859fcb57dedc29c5ea2f0f58d023100e3876db7f4a4331c7ba088cb4cfb1c9ca096c88f1036bae0c5da15bd6ffea601f6684968a87b3bbcd9b5e15d77e20e540302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d4d45ee444d54d186f1adcc895f3c6aa9a1339e3b7e42b574f1b6e12355f369483cfad28aa732812da7f4392c19903e4023100b92ad1aba1738bb968a36902616dbcb24ff70968600fa7f52aa9df13bc824756a942997276e74abfac29d82e7f5ff0960302047c435bb500673065023100e0ba4e1cfc5605c4075e53c735296804fa6575eea510ddcc94f38797b27b1204003b9b7c445d68f55e7c3ce72dd4c79802305c9d95cdf273519369d4d79bf9427a67ef869ebeb8c7e731ae3c4fbdc548f7dfc9c77811768c0cda8a82bca05f13147c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023040430c9ecc59b1f15c2d849a3e4939dec74acc1977b66b9a64a9e893954c6e6b17a6a14d3adc4351fd787e12acf295d4023100c21202b76ffbfc1ddc4d9a011f321aa0decf0bd1708944fa0e84e7623d040af8fec8aa6e91dbc73e07f056423e43cd980302047c435bb500673065023100b6515f3fc6255a7bc2a9baa776b2576d700bdcc5a7b0b3cdd70104b1209ef7a8ca2c6e5e8e56f58b14269c7a4d1f383c023045ec6536f070a120ed28a0cbb2606c17ac51455464cd1b12ee4e00ddc58113557b55af7ca89a2da5135d46728b1582810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305229c1a8eab00df6ced2f7ca5b45ba972d06c1a5a5c3e7d03d3f225e686d4001b03ec81cecac2022e9b06628206d1feb023066b274a0311de8a3e4490aabe1cd69fe397aa8079cbcaa21218a9d4d3061158c9af3c8adeda01e07fae94bd136210e310302047c435bb500673065023100f5f5b3b8816adb189119b8ed266524531431f82ce198275fb46a4bbbece133f5c3f4ee7bd595b3b6af9aa5e204fcff1a023003ca62cded576adcc7ff42f54e6ed379fbef02c904b80f65a56bdb319815b5fce6d1b508227123359f8bb1f635308bcf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e6c488f8519ed4d83ea26ed798930f360628bee1822b357d78e1cf9412301b20198228ade7d65d93458d060a2f0608b9023100de2e88fd2541bbb0090d485a8210bb7844577572c23112e24fb2cb0118ce60cad69f676ab471e2a934096968687324dc0302047c435bb50066306402301e69dcfa1c3b166d9f88545b62505d5d00de880511569fa7f206ebb6ab44ef4bd15b5095665732a382d368784f0c595502304a6535a843ae8bc802f4db4589ba9491f0da1b4196b3dccc8da521fc2796fdf7f08a3ee57e52e3fee190644742cdd17f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100896dc2f4855115f33fc1b70bffbbc76ed30c106f068dbe7aac1092f80d52b8e6ff52074cbdb5925cca3728afa388a6c302305aea979248b402f66b96507816eeea0117fbce6b27b2e31ee328f68c3355413799de292b0b28a31edf11953266ef0a470302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023025ecd5bd9ffbd9b15e52e645c65e3f517cc41963867b38ba5ccea5264847921a55d164b3a125d2de9d816ccb4ab29a730230245d52eb315ad247dce6b6c0a7d6e67975737ca3d764f8f98bb6825954ee85bbf89ec9ba693ede3ebe9f9be1d0aa75790302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305532b2e353103e20cc9efbdcb3120ecb914f043f9a17eaa00d5bb471b24a2ea824e9bafe6de2b3593c4a2e5011a68b36023009709d7840d8818f51ce1809243816e4adcf713e2405a83bc09afc26ec828cd343873d115fe77427c2da3cc851d9eee10302047c435bb500683066023100ece676dbda6055cec8933e42320211a10091e8a55efda9609e19a87a1fd4d30e0ae08777cba2bed1100a0f636a16d3b7023100d39b23798fdc67719fc8dad9046de5b1fd428a75aada6ac62ca1b6c03a08905719e81b31598304a51c8a5213e2ee56cf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230299563b4f0c18161b629a7b1ddf402766b08514d0ffb972fe7ace9691bf8d47db89996e1f0c421b9f37712451219c9c102301cc1af96bd0ce4331956c3fc186ab38f35c9fc2e89006ffecd07a1c89d4629b76cfdf5dba5d98b0110651ec9758110710302047c435bb500683066023100975cca4e4f27e5127d973ad475fc268962c9a3f2a6d03a6e36ea901f519ede2791686888460bcc0ee8d0e80e74929c77023100f6d678a9b859071f7bae74f65e0d7c804135bc694d2714f079e475cdbc1b15e4f874c819c41783091a15969a3c571df70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303f3bf14c73b0735e9f6ef0f6098c70e45e8598ebfb6f7d83e239c19f5977cbaa2de4916da081e7abdd82e6fed42df6eb02305aeabc3a4e2a0035ae2d32f5016c59cf8fa827e2b5417c52135952470eeadfa374342bb82d4c590eebb3b97222afeae10302047c435bb500673065023100fc22fe872a5955f5cbcbe438afe20dc72b012171e255f6d07fb19511d502ddd22a26c45b94e8502e6e0391c456b6c924023008f9f2c40aeeaf326cd797986c03fa6f2863605791e2f163b1cc699514ebb09466273b612b86ecb6b02623f3ab91e74e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f1f425e25e5fa9b7f7fc12fe6de51c3b68c8b0b6e6ef1c279b597811d63d35979d08b013515b187582f832ca88d6e90b02301020c882c49ec3034fb661d0abdee83624c43c11cf234446b472c9b41b609a30be11e9bb052ffe4307b567978cfc02ac0302047c435bb500683066023100cdb3c78a5d64f69c465598cc52e8a0fd849193a574fa99fc47fae46a3fd5ecb7a927ac897dd165a4ef9009874c7b7d2f023100a54e9b378c5df0408ecfe41f5d92ffd400a61b3222c329f94d4fe837a88b26b79e5087c23e8e83b262afc31426ac40440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023068694bc3c61829197533fbed87844518dd05ea14df94ba163a8faa866c2f85c7345da0cda4bc5de5b6e95f5c1d24256d02306feebbe9a82e14d1efb9ff3c22ba884f5057cc25374ec9d4d9062c3e2d1cff22b898617a50e4f1af70e97b814258e7690302047c435bb500673065023100f65c58b9d773f5b2d1a6604f1c5a3bd69f6b3760cfe87011fc514ffc3d8db6c7194298bc1a8e77ef58deb9277718264e02305cefaad9bd830fbf87ea52f713e03cae673a1cb7d4d8281c59a350db90f0d9075d2d4d6f419d2eb8603570780a4e9c2a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310082870ad538b8fe53814ac83f0ee0880cc24e0d39fc91e733df53e71fc3500377749d21d6116c4bddc34225f2ac2d85a1023033c880721b8deba6a4e7012e0828e4d1bd4545c764b1db0e25e4e8220ba774713b5f1d6c3a78c4a302f1019979f573720302047c435bb500683066023100f535414a093d8f93ceaba3929c8388ad639913a86f3a0c5d8314e0377085872892d0758a8ffe9c656f2dc3cce82b0edd023100a3a94376d41714733b262e406b3c31fb8dd87ef06adfb3e8ad4a6cbca82c5decd5c0053c5757dbfd195ca08a3b3271e90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300cd7ea29f0be759a3563f36f74b63ab523c04e32ed5e1e662da3231f038d572e49f9d9e761501d9aeb9370176ebe1aa8023100f69ac1754ec5744ab7d2e1ddbfe2dd842e0296d7dd314c211ef80359ad3d19ef8ad154f50f034a3548a6f4adc0e6eea30302047c435bb50067306502303f139a09bbc4cb2fdc97ec5ffef4656cfb468cd36c08415f95594f59865e771988f97a5d53615514d5fa65251928f6ee023100aa6581adcad5239a6be37814ca7faab6e180e15a31d69d12572fdfd83d81909384d0e9bbbbaa9c388e1f35b45c1108730302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d4a998a9a23892febb6639580e86a3e8793f33513ccfcd756fa2aee8e0bf49cb7eafd95218c83d91bd19ad07c1c9aefa0230042dfa9f38711d4995e175d39a6f135ce1f3521afea9644f324e5c06205c3c4645d22225cd95d78b1e014c33ba2528130302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306c737c9daf573c0a10e0164f76ea739d865fe466cdb5d7e37ca5989d7477fdd4663cd77085014148a21f1aaad188414f02304d131eefb27f190fa31fb035c8ea5f99d2412c04eef4b95606820543a29914db822710583ccccd709708fc9dc5895bdc0302047c435bb500683066023100ce7f6590474940289b762c39803d985234cc3b446b622cee2bf175aa95e7efe60ab65ed606993652be10736c4525518c0231008fee8c43ad1d815c7da5450f93c91675f50d6472715100fc29b3f6d97d4cae66f2ceecfb6a62fa16eb7a45bcf54c19f10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eb45a8b11cb652ac6afd902f81e7b5f7ea4629cdbc1e31498b12783c200a6d0905c1d7966cd3748f732a6d87a063255b02303179bc3820ef8af1b4055512b112c856c592fb9ce2c1614bf5ea115d08146488dac6d1006aae139a8ec8ccb7f5ff37750302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100df6c7de50ed991cb04ecfa84987edeea0c94e49402bc39546b80e3f01d35a5cdd1ee5566776c827a9f468c21537bb62a02310087ffd6bff3b959d514db8e8df7249089aeb7a2dd1b8895784814669a093a11e3ce18dcd4e3e8325444ba9919a94c5e260302047c435bb50066306402302d6e1626349bad054e99312d09f6decc4a62896c2f7096ae56871294f3715bc1e76058cf308c7e929c9d731e7d39035f02306d67fcc9f5c6854bbdedd8e3799fd8aede683652e515e31651073c80ce49484ce8369c0e346bdabacff4c99970e828810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100da92a70ad581e86989bfb240f8d9de330c8445ee08e41ac56a8794c20c41068a51c54ea80c723cff0938ecc7068665a502301e994ab6b74652ce6427a7793ea82e5ff9ad91d6b7daebdef31954f455383e4d9cbebf0fb3978ebc9809a52e408407d30302047c435bb500673065023100e25fab422919b98ee83013d3ca578768f1f9b94527b2e7fa0529bb41fbf441ec6f8ebbdbe94a2c6d2672ba8746e6ef1602302ed309fa54f873dc47c48e24b7875dc8bcb16e173809e279ec891ac0ff959ecfa23202600b5ea417223ce455fc542a060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008e164de3f311f27206ac873bf0af1b0b5c2742503ef466272e7d95e20b10bda71119d214308a75222931cf265eef287c023100dddfc71fdebe238fc360ba0c5d2889cf5aa24c6fca689ee7224d3bcc577c108decaa6c14688a0bac699e8ea2ac922f3e0302047c435bb50067306502310085a1943989567b134a95b102b2cb9720d54282aaaefd313e129ee1832b06c462fc6ead383c4a3b77570427e3b6420cc40230529a577111802f1cf2c5ef8fd7e71343946ccb44eb2a104b7781fd66b06d48adc8fda92b0031bca10065d2f3d1c1057a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230153119f6dae73619f2fe8663c56231e23059c84d85f47f47fd2a04161e6d5ed4b0f7523207e232fde4c720414aabebc5023100dbdcfb39182c6435381511430ecb8325383ff6847bcf2d33ddf26d83a0ea895a3131959c6689012d52b27877b5b8193a0302047c435bb500683066023100ff137a8cfe44a87a1b7397b9a853ead5e0c5ab6eff19630166a6c98235c1e9dd8cbaa837c76244781098a10533a1fb7e0231008fa32f9200441561f8e33edd80d27f8a2025c26f7b3226e34e6f80a7c01e892046fe72d46822810847b68da0b345baf90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310086ce6d630c7b03a41ff78a25c8d5a1d311b0d262081a3bee9003486943393f90a54cab4579ace82bef04b0aae8ba6fcf02310097e07e8dd9205c57bf899b676e072b829f3488aea3bc718a9db6072673c874fb455e2fc5b68eae107e7b06cf4be65a960302047c435bb500683066023100d5a23fab28fe7a2d0c7d5e33cd90d2fc0748472a8d14b5f44ad26b343053780291472f68bd94a4b912a1901373232fcc023100d098fd3ef15d7ca9b4de2772f07060104e5a23e87d85e6fa0e8b277edec35479344179d48f38ae9d7ed604f637d88e310302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b63d3c291555d290d19c4ee6f929a99c8b20522105669aabd42be6e4314d5b459f6c8c35d2b3752d27afbe02dcb558d7023100f4f7d3818e6ff2389ca1608f4d610c22ea2054cb04ac076efba74fb1663eff9ed382352742339ee7c79ffcf2a4619d3b0302047c435bb50067306502303481c3ddcaa0f316c4205bf469cb57a01476c59d54a864514391dbe3aefec46bcd6012f63357d4bc80734489a13ef9a7023100ee07e2bd3b5c55c8e151575b3d87fa4dd434272af9de627e381fc756deefcf0f89dc7932720fe41bf0815adebe3686680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230760ad727923673062694734f5d6fa9b9c21437d80561085308ae510eac08c52bf4f8acf267bfd761ae938f82a84cf99c023022ee8001f5075b69b8a19458dbce8ae4bf49857550d8ba194e034ad72cf4bc5f0936f975d4d64f591c54296b5ab659f80302047c435bb500663064023024b7c05450458d0118f6781bb3318ed3f71964bf94c5b7792d941be0db432b921e890b2d845a59db6aae047f5b57d71a0230168b896ce6678f43370adc23d7fb2859b639454d825d9ab2b9b91a42d2c765e7d10cc088f6083a283554a3d1f0fa617c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306a8929ce6294b7eda8e0c1093c6987780ac4255f8f9ec6807a134ca2a5ff8fd1a9331ca4eaa69c152d9e81c5f01c1c9402305cbbfa34addb2339a23bde5ca95318bb3ac51b636210fbf129ac1d656e7d60c854a05fd82d4bba9dd2d2987589c021270302047c435bb500663064023014968d536c353bae72bdeb69a45b0320e024f8bc2703914ec1303782b7256a6ae6626b04476604137bfc7b7b5bbf6ce802306077ba1a90757be479cc3dc4e5b178c96e34f9011b41e64e2fe3468361a2e58ec4897fc1e7d466d4040b607807e1131c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307a2eec9736bf302bc358d6e5c384303d83d3fbc85f6e0c36e1bf4da7b1b966033ab2747cc5c164329471c5f80ed2ed900231008087038cf6da14976e1bd20dfae9f0f206f3a5ef6c898638bd9611838bea45010b6bead011a9bc9f0b793afceb975f2b0302047c435bb50066306402303eec9c2d259b37a716c04b3a0ef72d75db5dbbb9d98c830c4f71e279178c4cf95049e786ad423cfe170d7266115f0c1b02307cf79747ad2475ba4ec72d54febb6ee9007fea0d6f988758ac22ef2d1b98b8ca90355508c50defeed21fde6648a2c8880302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305eabda8ea3c460ae6b3dc95a873f0d5e3d99296657ca003f2e8cde35d0a03d41c8b328ea95e52c17866741ed1fa0e236023021c2c04492e7b13b82b5b9e36e1f7c6e71fa8dccbd9f95476add844d00982ec2526bd6d2ea259db8887b8a675221fbc40302047c435bb5006830660231008670dd9c502886f5db79b90f2a2549230bf91cc815ad8f734325fe43340888cb65ff6df8998b3483d287f3080f50c026023100f8999f6b801c3b877f8ce10e398b2e5f912904c62fd0b409e4ca0c2c904096b0a0d0a9d96e5b448a4f4c74fb688ac8100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008a15457a660f44feafdd5d1b4582b32eadaf94e562ae5d15c19056910fc8921e5d415c34c4535ded47020196abb8957202306e492616871a832f3d100327754da9700e066cebdc766c50f014594ec023de9e583c65c12e28d7de83edee3fec8b94110302047c435bb500683066023100febd216d3c29fd444ff67aff942074d3b000bed7672023d0ee85dfd8074eaf42fa5cfa8598c3301f9861da0de7e677580231008193a307346b3af94eb5646968e4b44b1c69a704c2f9d10d04e30faba4ec55b83f14da289b50e64075c03c8461c7ed090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023067e4852c80aab4d978fae5f12cbad4658346101788cfd5f5977b7e291b2bac7a550aa653b49c8cf536689268e6dc0e4802302ea1d5f670f8c0fe531da4c7a4fb9a8d2ca56855f15426cbb04c9e5885c0f2c0cafb4d7f3110f47dca17c779b03767980302047c435bb500673065023100d1b4722f0b079b45fb7220bc4dac41de450fc1c1a78c6b11fd8020bc3997e9c4b7c7b74ea2d46a37b005b5ccfb7bb51b02306f6c17f6fa69386eeb488cfb600fef9f9c8610ece39173264de99a0e8ffecb4af3f6c13e51e0ac8671a7d24a36394f400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302fc6d2b6bee242b05e479ca81842594efd451a8c7a1cffe57c9503f88b12b3c466f2a35459810876121dcbc94923714102304483d79e9db47123eab750128edec311abd0e3267f74211b13ebd2d779db5d5abed2e8ce65e655a4923eafecf8e169420302047c435bb500683066023100c4a6694c6071014d09a944cf98fd7d101f77976d4424e10c36e232e33666c0e631fa902bf90b7b1695d8dfea3837885a0231008af85b9f3eab63b0ca95e1393982a80b01bf5007af2b21a60d15e64133b2b47aad4411e67cfeb7938fb7fa150c2aa2e70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302fd14af6cda4f0d4fee0df2f751c77e2ea884464ba92e9982ef546ce0d54b8ba0300fc74b05ce36f6c3c6bff424a8bcf0231008fa11025b4fc9c7e7109122bc3b33a722412050589e9b96338b760c074651ba7df1424ed7691b8a9d0953f1fb56eb8530302047c435bb5006730650230050792b748b94a79431416d3ec0718d0400f95979f3f238677d8762f3f95182369d57953c7a9cb9276e47fd7be2926480231008e6930b265a763e7064e75ae3ad9251f30ea334c3ec05676589a175db1f614bf549cd5d754833777289c9936b64ec0800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023025a12cd536800bae775ae8cbc045183bbefeb49af4e2ef433fd174d94fd39beb878fa3e03b61aa7006fe8fccb3febd050230080460ef098ff1fcb57b7c0d525ba2864b294888f749d1b8cd004b98ff43401c7b0ee25aba9dbac8df4009c6779f75430302047c435bb500663064023025e2e5befc7b13de1b3abceadcd797a8c34e4c6bc5228e09b90f553f48800162a3638ec083486a9d53744ed79b1a1d5c0230505396d2e1ed99da4746d7ecc2c01c936edba7d0cfd7da5468b1e8359a9d1ba529daff0e92f152bdc38ba6728bb8510f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100934c01cf5fb9b265fb8fbc14438648d04cc7f2978838be2688d5f21cdf2d9ba28817dd43b43387f634a816924023d71b02300dd075e744bba014b7e1ab75ef2dcc5048c77ac0437c26507df17d76265bdb7c956966698ecf0b16d4984101429baac60302047c435bb500663064023003735baceaea68313a354ccdc78d887d8f72993aabfc8b4c5374b762829daf162ae8b0e9c4ef3df8eaba3c75c2f3439802307b4f6b3b07be179370e3542e8b73f38856bfe84ddb9633882f47e96bb95fe35d9a1050620b50e194c2e3b0fff6d1cbb50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d9090b3ab3fad61dbfaa9698bd12cd3bba265d960a737544b306803ff17d6e7375987bcb6057078f8a6d58ee63ca1e95023100c83be614e19948ce7b047166ed49b841d96cba5de97f5aec6165015f9639be053ff80fbfc2eeeba780dbc016964ae3b90302047c435bb500673065023100b5bc523b2f35a96cb813fda588caf1ce34d9ff8ab2513d0f61fdff544e46cfe4b6adc15ad01c0bb97643a8d6de4182bd023048d6dedad733528553db7476c94c0a583125c08457d51d0f51d9c672cfaaf65f07b48dfd83f81cc2120eaeb0a24367200302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023046afb736837d4fec475bf01ab73c4a25e5752e9190ccbc30bbee5faddecdd2d9f6f09bde80e2c5cc77e80da43fcc0f1f0230380bf84dda777bcba4e852010527a8dda2f660214db734c246ed961872ea276867f9cb13bfbede8146646c0269782de70302047c435bb500683066023100abea293dc2910a34b9b918d91e0ba940a78c2eaf2f5fca1e504d7bb448407d948cf82a9e9f7198dc41de3a4112fd426d023100cf10fabcaf7c352ed7673bb66b2b23f278c32f58c0ef470db1c13a338ea588f11b7dc4914ddfd5bbcd1197f9713918860302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e90d5109f3dcbd4912061853c6df9d02777c9b951ee650ca52f6d05c9d6deae7bec0687cebf9ba01b22d2899f4e4f77f023100fa942c15befe1f1386f297ac741aaa5c223017f32102fb80c18e4a453ec4305b1cb4d3c8e3a626873cca6bc47d9b241a0302047c435bb500683066023100d5cf329e593ba291c5a139e631f50369d0b5296bfa2562717531bc444dd0db0d80c4f35618fea5ea07f843cb78b563fc023100cfe3c7accfc1fa439e0042ad4400c1b55a6bfe33fffe54372d885adb4b558d384cc416cb735dd2738303546c653c62010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307f685fb33cb310754d72871815356b2143b93a0785a71509704915441dc50ade8f9b68365fc6a4d083f906a0cd1feb23023100b1d119c84e88ab5d7741943845ee790e27dd8733ce0d01ec8676a29128614e628367e655e248e74846a1cb1327bed7590302047c435bb50066306402303e491339cbc652a2a5163c2475c5b867f3ba2a89684fe11ba3ebd2a294df70ef8f7fea840acead4545e13269b39f57cc0230034f6831460dee146413f1754411a4b0281ae1b1f243b970223bf8a850dfbc313bb1ff272b504ff629e93384f2e86ed70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a72769c83cddd17eb7b8ddabcba97f6d974088ec33493590862da22542204ff1fadddc5aa6a60a0032f67e646f9fbb62023100e085d3d3d4f2fe61d16cd6ec334fb1c5c6cf152a5a211886cb26ddc2283d6dc3bde5d47b9c8f018e171a2b731b49582b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023029f94852d14dd3421fb76ed205aa24630bd2b214b3bf05531226f6cdcb23dc10af3925b1e008b025e94417f82a73a78c023100ac7498b6e53a11296630ecc9cc140ca95791376f54eb085ae43a326090ddb08c1f46b2ca601e7db5cd3c34074cd813970302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023019aaf20cf25ee740e0f6ab820accf4fdaf49b0a378b782abb083c39cea73810acace9e02627c112a4e30c9d7d754fff6023100b0563487a89570773d2bd5fd171ef14da49f6ad4d2681b4b144b2fd913b932b1822331c45e32c8774cb168e2ab8f2b4d0302047c435bb500663064023030aaa31779b9ea044d36feb37d3e78b4dda03690fcc5f4fbba05863485c471c70b5b61b63a367cda61b04fc2299b201f02302ccbf7b365197428407c7a42e990a29bc52e2d0409dbc2e3fa33b29c01e47ac68a47a28b8585f547922d69414c0bdb300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303e25db81e431a59ab60188610d63d08274a1fba35d2c312280aad20832f93814f6cd8f533731508a5b0e01d86f1331ef02302a4abeae4fa6dd9458067a5c8245f9d2d45f00f6d3c195934bd636daf584a15cda328a86246da82bf9db193e65b0ead30302047c435bb500663064023020a2a6ad89e7ee746892e4c45acfc3adf436584487db083208909b350a559d14bc0cc52ed27e88b02bf71c760070d81302301874c49bbd056a41b49683dc797dd6d36183d736b23417951c546ca91e36b40c2f9aa2f2d9186e9452840be02b8795110302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b619f4d0e8dd98dc4e5d4098efd6960de657e1556db8dc97d0dd940b59d327a46f51e1781c6e50c17a0806f8bee79ecf02300b1f0b0477c6dd7744017e298caabd2e821bdf4e9ee60428e87c0217b9338489efa5d31dae722d18125ba7b81c0aa6d00302047c435bb50067306502302b91971b8cbf578d3733ec1cab5eb072c1aff03b8cf40646a675cee7e9fed734eac5f4b5fecc75ab7245ec24db6fc5b8023100e3116e5676752568a8e928048d07e880a91272e6f2ce6c549fe69aa69a00369b4e2d6bc57ecf9af98b456ef4158b8dfd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230184e43d13e19423381a278f6906989f5164abbf35ffefaa0a0e0268e1df6fa10e26566c4faccfdac9053035308d4599602303a3835811e6381bd4393bd14900cf5db0ddc085960828dabdb3aa1437ecc8b88ab782eb5e0566ea5b6b57a62753f67220302047c435bb500673065023067de0e826220a0a0e2f20da78d2f4caec91f7bce9337ca1e80579d575910a7766d8a9e098507ce4189994f0e8017bf12023100f14ba9fa2824f273460a051382c3eae21827357368f0e5ca29d303c79dd952ac0847dd77aab934d5e4467b5191848d480302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e3eb4a433de3274786843fac0a59a1a3fcbd4d50b119b27e7ec21fbc19a782b0b4bf1ac0013860a851f52d292655fe2f0230275d1abb008905bd737ed908ab5a97bc7e38a3c0b2876b043025e72305a1b3c68c1c855c5e0f7fc951bb29dcef1145c10302047c435bb50066306402300bb5dc9bd694ba362f40ee0a4e6615d82b2b2962c2ad57a888794a27171f3bdc86d287efbc7828716689d5ac181fb051023021600add674898c690f063798e2557407efe58ce8f09f0defb5e8134aff3ccd0f4a26984938ea58e58f57b0f04e09f640302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230334899433dbd842c430d7375605a6976f52190f25813261bcb103c0a859962ec5585a409539d8d7b8d93516ba31497c70230786731b4de6d7b30b57d7d48e064fbf6abbd19abe305749bcbb09c09f47687a636dd8efcdb8ee404048512a4bb8903070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dafb94748cb8605e93e7d0d357f0b711d77dfd902fdf7f14d4d75989d99b600ece67ec8ccf207b171313e90d9e9d08ab02304b2149753fb7f922a2dca17bf4279caa2a18ad120acaf4840dbc7aa843afcc7799cf047b67d79172c60ae50393f0ec280302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bf52fcb36cda4d8aca68e06f2aa5dfcd3c796c56b4747ced0c1cacd1ec82407e3dd69da5f29c6644ed2bcca2797d6b2b02301a2c44821b2cf2001844938b587e3ea2c017f95ed73cb936df7c60bb14161ad745e416e6af255ea8c6bddd000840d67e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302435861878e00911b928500ce2f6c9c359cc401e105ce8f75a288e45b8e7656740fb9bb1e018800d8fd8e1891b6680f602310082d9ac65d1456186593f9e6449ba4742b625d8f3cf5170d034c2dff9fa105a19901cd546e67cc7ac73f593267d68ce5a0302047c435bb50067306502310087ea14e9af7f0cc25a4818cfb98d70868d24c3cdcd5402af9faed8255e11364d8d9f63f2b143d200501f812e3ea4a8660230718388cda9f2779ded24315c63d49f74b0a39b75806ad674983206cc7314fdd8a1a501ee9aeb65a991088703e279c3070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ec47224c5d9070419411e216984753af4ebb53c58f214a4c357768c10241869b0fef33a204577604229f8c783116901e02300f39c6e5d5898c8bc9318aa53caccd639f364b5a0bec6b79beddedb39d96574ab00f304e25eeaaad313cc71e3bdde0370302047c435bb500673065023100fe3038465d34b12316216b27c268deaac79e862e70450a80581329198ed1d867103778bb0256037d09e6a5a8dc204cc70230488aac8665399a851f27d16704d54e7f317f3920ef4853d5ab1f08fa395738c62b9a883ef6dff1f01bdb66edc033f6d40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c62e5cb155c82003301e05bc6901bf7cf699f317593f9307b90883cc76ed19ac1216bc18cb88a612e007c5e4b1b770cc02305d100da94ab107799842db15fdc4f1e7208d2bb5b760a4a030a458dfffda54e9bf1dfd2a68512fe0929ffa9ff12f41620302047c435bb500673065023073827fcc7cd35cba73939af33bef8f5075ebaf7621fc2db31a3cc8d0335ddd5d9ba21034ff10cdb299c1b634cfe876a6023100ce2dfaf3db1186e25cf99321acc013f2291f6f287387ca098057d3923b74e43c2954da50421a52806c0a94ff950f60bf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230501f94c00d4529f2a8d0e076a6b41485c7a7936a64e78bd21a9b180c02330abfb8263c0727fca014c61885b5c4f631ce0230411f5d50f2e3431b2e6e6f75833012e1ebb17d7df47672eef6f8cebb355cea48972a94eb34ad7ce8cc3747f574794ba80302047c435bb5006730650230511c9f8a9761af422a2c3d82ffcb6d3206e19e8d6630ba3feebc83dccacfee509e5c0cb35180c1f8b3c7b79755f39d1e023100c4e87d23dd97776815d626658485205b7831494ed527e0ce9d1fa4ab58cce515c645a5dc5b556e0ae8b099c09c069f240302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c1218c8dad721ae70100032cf9d75a6b9ead5e31e3bd4d6d0f7381ae544b2cfd8e288eb18354f9043c6e8360233190f2023043590838714eb5350a8f3f0dc72702c376cf0a1d1cc879e14942ddfb785d47934ec2adab331c7a58919e9727cac71ba20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f1ed36625c0b7ec31757b3c40661c70e362635450129332d6f1cdb5d6b3d1f31a499341704570265a7b3e9361f348e20023100eb40a35b63838318cc5d88bd049e08f6bf43fdddabefff705c41040b699a6032e967a61f7db8e33a725c597a4a5fdf920302047c435bb50066306402304860530056403e84876bca520de2bbb3e69207664155b52f94cc3a72f77e264e9645de0ac6b930b8791a706df026cc0302304ed8dd2424802f3b38c71c04a8668f5ec44ef7afffa5ff10daaedcefbf56d74a6dbff76ad7f3dc06e2d5b7f5343af5740302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e24d0831c7d1190a2fc52c347ce1924880568a2d4d10e93d8af8edcbf534627c4c132c9f8e974d655e005d873d62a1b802301b722c8e30cc9f02adb7d7766b5caacbad910902cbf2987d5f44092fe07c9bb0d9c71eec81a3b1a756759c4bc3fb5b190302047c435bb500673065023049cc3cbf07ddc219ac0b34d226377780e8229eea7bb40814f83ea398fc2679186fd482b80371c7b4c0a2b2c31196b78a023100895bd2914712f796e3b8d346da035ec9197a60b6c2fbace1038ba43c3bba9506353ab387a74b6e2526b80b030ffa18f90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306d2e66a3444d3128141073fb35c6087970960d291be16c9f26c390f1f389e5613cdefd70f82a9f959d210d00ec639f2b023100ce100d85e4b6cb3f72d1bbc25772fb8477f8392ebe135c5eba83120e221d58f5442cfd2892fb182029e29da8c1ea66620302047c435bb500683066023100b602d1ab79866749bba6f2a8e636274db6b21c91ded06cf34a9de61202fb5bef52e764248daaab553072b4d18680a21a0231008ec7c1020e847ceb95f0a7f0fa66acefedb4d069642aca89ef5db09067fa1791810e5bf83878378ed9dd788721792a920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dd6e8f089932950564c08b854623ec1fbd92cd9d2bfb4d77930ab47c05f177da2061b470269de49ae2bcd886b2be12f4023100e3701ef00d13f67ce022b9ea623fe8b2856ae56dd7f4a74a421d2629754120218c79f155fa285bc5fdc9704774aa77a10302047c435bb5006630640230731537928718a2c9232757c5ff4ab11d5bfe53fab6e28d9f6e492343f0f50b6772502cfe5cef66cde1024748d01c53e7023017d6916540a9298b8dea16006839da2d9bc0c6af00481d9950debf86bbcb593fa0143baf7f495f328c9d46f80737a9d80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ba7e512195a3419b1d588d019162a2f9fb1e69da97f8afb938a22de8c1702b7b2a45a927df6737219db15d641eee7c5f023100fb57c795ad78a92f2441eb7f92d28983e32eda27dded2c9cbda88b9dc8df76f63aab8def8cba67799b3e5cc0df37bdb10302047c435bb500683066023100ceb37decf5043c13c40943efe515e2f5bc230fd9e7d9118ccd1de79b63f9e0e985cae3b37f0e4f61bb0c830236edd9850231009f481e7ecb49550b13b2147a4898852164303d9a0b57f610813b1a6f36770b0a009b72d1ff3e88c8c9d261760d15bcb60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b2697dcaae9ade2c2b180f8f36f99847123fbbb1b68a6badb405f44d23c20281c403228563f4d75fa7042fa092646a5c023100e0610f7a91cc76bad25e1c659dd9b3ccedadf7c008d48a989e923da5b0a59ebddbfa5850b9af7fdd309cf7a9c0fc19750302047c435bb500673065023100fe688844214ef6862dd91d2faf0afae19e0719cc382a63e6209f43ac7d6be84e0cf720e19b1dd1a4d9860ab020e23b05023012eb7ac33b7eb78eacdca43b6d63fa2a971d6098b5e87909e9664b886228cf018342f99d7435be3fc986d74da5dd50490302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307280884af19a7692d68fbfafce8da7b1b897bf240d823c3c3e8a86a36937510a941dfe555dbcb3ceeeb1658ff06a166a023100ba22e5a4b22132cd43ec12c01a09de00d33a68435dc7b9635575fe580966e2e79463f7484c95c8486437704bc83e9fe30302047c435bb500663064023044b11ab9d6eeff3963ce7f738f8be74c587928b7e4339be1cbfc03514f657b903892d2d9bdeeabf4d178fbedb77af776023008edc4f627f27df944464b452a50f66ad81cb10caf5277c806f4cf0a863f7b4e4524103dce3b1a3bcdb614a264a74dd70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023067b03ff1679a8098cf204e41f0fdaa0723cceaaf48d62ee417cb590a9535ecf2099657c30a9f58f8807bf73c8bdf6d74023049e627f9c812cbe6fe4dca765cbb1539582c56304581ae841ed25794c620ef4d2645f2f7bf7590a4139e6008f04e34180302047c435bb500673065023100d6f2db209ae5a08ce52e931119538e41075930576be95fc7da70c80c25b3632f7b2c258ba2a0f1582254138b172dbf9f0230520435b0b9c3265189549c43036d3e7976d9fb3cae03c2b93cc0b54ce361450957a087a08a2dc07e9d831a59dfd6d5a20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b4b1151178dc0eb3adbe0766ec4c50f0c72102a53a06225613313e22a7f8266b5bb6a21c7fd368217dd7461384ca21e002306c03035ec1f4fc286ded0fb630521e3e454ebc46f5828163fe3f35e860879c7d35a041ff0f6a4ffe3c3c484faf7034e10302047c435bb500673065023100b4bf2ad289893a53753e098827da3e1ab79cd6b9958070c4e6a2557b589e879b2afc94fbd7618bff99b2e7ac0973f4ae023071320d7355e94419bbd8f00cd5ac40e1d6b6a35b7495e20428f017292be7212b592343f7b63648e35ff98dd912ed53be0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023044f4da7533396ce26d9115f918f5423f428a65fc349e004bdd3c44bb8fc2f4d3492e0fe268bf8bd45f72612b2bdd78e6023100f81881ea90f382c1f32091d6482201aae8bae5027c39a26900553e92ea07f2c862cd530c15710a0f87bd4c3a1d9a09e20302047c435bb500683066023100fdbabfbbebf7bf152e08a84e92561d8e0a0c1e443c7fe9173d48c87031f2a6d8f29988e7969022e481f5bf0d5b9b16330231009b9c12b59af4a6d01c90151db3a24e05f0e86cc43bfbee457fc8390c7ef81a97f690a89590539fd423360215d393c4870302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230673cb561ea0157ba89905a15483c8f50170f6d163ff53ad21dde6abda386b0b215e83afd8b980fe3691de9b045d550d5023100a8d4973f35ee0980723162bae00c5c39819f406839e0da24f83eb806ae88cadb5d9642b5e5bef7fe41529831b9e569d40302047c435bb500683066023100df0a7562e3d89dc8d5578fa2763f4bc72fa788f5e3a49d938d6e79254ed5d639c97fde88f80edcb56592a36f238bec5c0231009548d312f5fe1f15cf8681d9e5d58b1262d0494ffba97db49f2a266fa71dbed33d47bd77a0f41d4f0f96df79061c73d80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008b24b41eb16593aa75b2b0ff1b516274a0529f6ad46a368e3d2ac357c81c3552b153e2bd3a3ad27efd7a7907877bed30023100d0432d00f8c29280703823a351c4aa32927e2e52ffff73afbf9bf821e72f302e1ed2d2456532da84123cd450f345a58f0302047c435bb500663064023021326f5a2b808f387cabf8d4bd348df8f131268df701257850fe12c1be1ec701b35d5eec1aa9f6a6714fb5b98801404102304b81e14d21e22b4856532a0f969460a2c573c5ed4d7b5f7789bc0175537e58ce54616e1ee268935671768ef6925c65a50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301956b5c43332512e929cd2dd9ad95b637ca1e26792e3f45bc3234c7851ea33586f8c301c0b09b41162cf8c7f696da9740231008bd53e91789082721cfdd1510680f399c2604c1d527cbf960e1594ead514f7c38063619b2fdac08f24efd40e7669bef30302047c435bb50067306502310095baf810b818b50747325bcb35a27dd1e7bb0f989485e49f2602c974afc9165ce901337de98c72fa06d6df389a100fb6023018076ae6db1fbd5a3031cb1712b3ad02316e4b3e574a4bc0835d40acfb561de19020ff3aa5169893f4a70c85c1c950480302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300b27ced2ee6d2843ca675b7bd23cea3ea630aec83f90d4f9916940df4b4cf066c1041c2922c829ffe99cccdd84eac922023065396f3f49e09840351840078260450accaa1772d90fb651f75dcf2d0d7adbc88367e09b5a68907cfa89175ca58f1afa0302047c435bb50067306502303473cd90fd65b3c1e1f4baec1b37bfdfe35ba9eb3b5f1150afee7f8cd10c8f404a7d4253bd1b3d7af222ed283e58f336023100d74d183ce762157e9c78641a1489fb86b02b7b39c777696bfe72b51dd78a396cb56074371314124f9c91d90a94bd3a530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305d02493c0ea811ec6456c17f0d80bfd2d7e9cc0abe26a88d17f0ae78751ab930a0660cfc9943917c6c19b80e04b95e9d023100fe957cebcd8448a3bbe66b3267ba22e1487d2c8a9ddb4280ce8c88e76baeaf9ee1adb76057c405d2c23a51ab3f62916f0302047c435bb50067306502304527892e377e703ec76c90621e87a7afebae0691e672ee9ecee5095778d18ad35a3d2a8c59b5a2dd956b038771c24885023100cc44afba1ca1c19262da57e34fc838527be9e8f4905f5c253abd8782a6e41140dd98b6c9827795fb0a2d4ebbf1ac94e10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a19d21f8d82ff858eb6ca78ea20deb8c373dde4f8df83c532f9b0e5069579842047bbcbd37485d1fa232959d55a764260231008623a297ccdb8f588aec595f40fb61cf60f8e9dc9e7579e29bf53bf1544bbae018644fbd2ed5323a0bec225930f48ea80302047c435bb500683066023100c0c7af0283861299223939caa5e560b66ea56ce7da64f9a2e24a8146448e9ad998ab1197f8e57cf530ec4632b158775c023100b2761714d892b9b5c5f71b66a4d5b0816e1b95e924a953057677f56d4f41dc0ea2dd59e46bf5fd9b7dbf161df9d78d3d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230215893dfc92229e996b4fed3499c71015147ae82b38ceacb92c9858ca014ea980f1c7d81f0d7d10f0dbac94955ef7f97023100da2d8d02a7be6fcae2a6d9954a31aa7256111f0b19c746c18b29cc70935c0162bbbb16c796b8912dfc391032033db8be0302047c435bb500683066023100aa476214c78f5b3ac8431e40333ca2efdb8525409cebd2e31f4a3684e57ae4471e52c60381ddce0008275c15c026cb8a023100d4d008482fbd85172003072b05119dec7508bbb7412ce300de86ec1b8afc85c9873c5e01ba2c17f904639afe813bff3a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302a751d0de4d9902089cad08d00ff3643e1746e7afc060f728adb316c17de4e65dabb9d6f411c3a4e8bb8840ccce741460230222aeeb6f8896449c48c7d72a1628869c39bcafac90c00cee899a5b868aafd56c0e0435299ccc41324929e1ddd7e2d040302047c435bb5006630640230280ae1d3950f313212742c5b02bda0fb9154136234096ef40f21d04fa7ccf3a3ae5be944fb46a8e83eca9cfaef66ca91023038a7e65e6bf7fd844d0881e6b4325edde5f6a9795657c37d533d09590ecc03c22364ad3ec818130833249291727154be0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023076bb6d634a934fcc67556853c438ce2f1e2a55211435388b68c75307d4f81cc74c6fe061982d8e0053d7d68506d2dd1a0230029a46baa67a34935fd71153889bd71b983f4afdade2aafb9f489ec776848193b001b1ce2c6ad0ca715da458a13f88cf0302047c435bb50066306402302a14e927755b0b1478f6d8612a8be5f33ec84956a461c17c4d190c26c4661d9979f7c2a806a2f75173f09f93bbde9fe202301eb2dca66b345e0c92c628408a05a338ab29b1293ff5aa35afefc1eb27d6ce293fb2bb3b80546d954cdcf9c9fa7b52530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dbb218255c80fc898ae702cc6e9dac58547eb484117121f4bdc9f26132c6afb820f46124348321b06a0540139e84340002300dc2dedf0b478de5920682909a24c8ebd364f6d85e491b8078096c0683fd513e639a1f7e6f8ec3faccfac75675bf75b50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307ab92f79496ec9b15108b29a69f01433e39b72619defba4fb916162cc8a1bc100079d15f410d1aaca2ba49350fbf1b8e02303e22f29cc5fe52a668b39a3a62f97c2d5d50548b212e83e22cfd34ce8fbbfd2567529e65839dec8d53629673cda816e50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230601c6e55001fe0e88a95f47e0c82a1f04a6c213581616c4b81c360e2505f96052ac8bb3e643b6a70e9d5f4d2b992b656023057f10792ed5a05532e616dbc637a0fd5fc28f5bf72d26f208c5df1d006ffaefcd2231112e3c9224d23f60bd50b4384110302047c435bb500673065023100d7c47e11b9806dac2be4ff063d3dcb4713bcc80c7802b1aec46969e9179e126bb72699c6d3f7b28942468d314761d47802304c0bbd862e4517aa8bb116f0b5dc51bd1e865d5d02db3bfd265ffb11f497a45bbcc9a8968f71ed31375c9b5c1727a21e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230297ec887026a14f180d571026babd0185e950922550e6dada7156d195f5499f52325431ef4281f2dea4103d9126b6fcb02301a7c471615b485253198c679ee8b5c5a847166074e19aaf775d542ecdc2e8f285434f7f2efc3da0ec873a37a5aa9ab8c0302047c435bb500673065023100b753186eec162f89516ad80f101836368e28d93740f5bf66de7c4c8810625b076f8201158774f0510b4e3f29444601c702300b38d7b3a11f557112d32edb778de4f7e5fff45b5de99fa79128cfe84455b407b2b84e72d8f3d69b987b794982b785d50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301176c9ea9035dd1ed73f6aaf956a6d6849cdeaff5894b89614e70e8180744e5efa4c37ba30a93b8e0380ebd53d4d2cb1023029b8b3a8510845715a4f7054c74ebb780381f6741bc9e5e5917c101e3846d79cf64855d7cb4a18b9d2fb09f5e836a93f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304d505322607097b0e8ce77d0fc548ab306b9b0845c2ce8ceebb47c890246f16fb991d9333fe825d28262b8211bcb0e20023100cb83e95c5daf10e945dec426fc92c10efdda0a7032a77aa760686015ba2e7bdde676f01b937225a3f867e76abbf485480302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307b48e02fe4fc7a693e3cfcdf9beeb7da5665dfa90f05733964b0715b430ae7f5da7f3d3ed9cf0264048e4afb06104795023100b84141f03f047efc67dadda9cd2894aead444b3a6bc989d8b7f21dd926bc97e038399bd6d02ea850e8deb07fcae6c73b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100985d83558366bddbc587ec6cf40da5f69adfe754a72e1bfb83972504d367d98d8fd3f2a2196743d9f885ae04bc65824b023100fc1daba5d25fa55cccf2fce853f55367de16f3173d91e97b069b7fd9aabd6d96383b1478db2a920feb53abde011a0aa00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ab94ff8602ae1f65bd8c3e8c3c28072a2abe0eedea57ec5941081f13b53f547dae54a6d8a5f3fe1334de404c0504943802303611c001bec10e492de50a4b83fb183285da03483d3db41a6c3e8d9bd4ab8e4c0cf626094c8c721fbdc640bc2bbb57fa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310084187da048f33da2be38985aa345afeab2142dca7b819c28cdbdf15c883c0140a976300efe811a0766dcd9f3d73ebb910230305cd6903a78ff2bbba884dbe44803ca9c66d4b2282f0a66ed4b551653376377ae9f5c59edf4843d7ed5999132feb6680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eb55566750e0403802e0137717f90c6b21b6295b6eb525de3fdd5d09ecd4b3d633a4741457336a0f00ec00a6d0dc751c0230248eabd2b3c7a3f39afbf2dc740116016d2340c9d8a260a66f75a5b4c8877990ff6cc9f953d83d9fbd743042a82555320302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a6e719a2c70cdba2e0b46b13ad196d82619547b1d1a9b6365cfc6f0e84e506e964cee99541ca5d69ec0dc66e2057001b023100ec36354a1c6dc06a231902beabff0e8484051f4461f794922ef607b5e162d9889518892e0f1e0af3c15e2848ce1d0e6f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023025775e538f07d54c9acaa2c93f18beee969635c7c42d010835afdd749857fb9e33b4ac51ce355e581223bef4770e65350231008045091152f1796560d0c285b9a74f8458bb00a8fc790554c190ecda405292e05f0ccb6f0a1aa0ec8a45b4b0c80ea5370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302ead5b08440ccdffc04f5c06cc0d15486ec394883b00df3a39920ffca50f84574c5b160df4fd8f91e881d131ff7568db0230770b563563b4b59d482d5593dbd53776f093d4dcdaf6a4c85189230dadf5896efaa5236aa2482c9d2d000551629d1f060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100940c46036832bafcb01b4d04492eaf2be7766982602cf62fa2ca29bed5095224518de05bd2ac8359d2576b7f1293fcfa0230219a1523a64452e2436d201eacf92cc9d5caca3b79f97bd6ee9680a5b1a3b9002cbeac09b0896739e5cf1a7bd55a7d170302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a64216a0764e3c867c05f1309f6e15efa65a4b43563f094380ffd4e9fad5048aea19c692646e5abd9164b59fb22b3d58023100e77929cb99cd1a9ad09f04bb1055f6b91b8f79f64b12de0c9843effaf8cb86244d181c7473ed383c3e61877491f6e0800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230261a36c3322648d1768a1c866263b3896d2376146496f6f126acb90aac1b26890078630639a7173454507efa63a1570e023100ea82eca5eb63f65fa8e0a703cd013248d7d117414daf57fe669b85789f9e44bd227a14caed25aa557dcdebb7d9172fa50302047c435bb50067306502306581b2a798d08c4b7763e44b255104a6318cb0a9e77a53b7010a76160202fc9137b6eb3b97add2d95a9264782a926a69023100b30c6b9f1c5846ce2373d63c58a796bb0cfa4cc29c43644e3e017639c6105839e53b1433c4f2f8e36136a8e6a17fde790302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bac2ee56c08e7d9583dd0833bef7271f993d5558d5ea3bc73aa4ba540346c7ada90d72632afc4ff9e7e2da5833046e510231009d7962242347e27c2dc8012518f34999640b9c3e96e320af8c0f3b4c0a54b2aeb16069455ff8636018bfd86a54911f5a0302047c435bb50067306502301f79cd14345eb6bdfda543c332bc95d1a16759b38d92334559814936278733119de9b792f4c05525402f1aac7aa51382023100ca9dad2a81613533bbada12da501821f7da5e7d1cb9bf320dd7bd3949378b52c6d8ae1f515875c0a5dc383180a0100f70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bd25c2255426bb80602f5929d23538487125dc10624b8604d7bdc8cd1604e95c249b9aae56fd7934811fa8adbf95b982023046b7fd226f8e7ce3e20509b721af7c50207db102b3185e5655e0f8e093008d5d8d1ac853ac43fe998c2b25c3e158f3c40302047c435bb5006730650230220075923468bc86038c4221212be6de324fdaab8238013776c8c88784bcee6ea8bc104ece0f1c40dbc04766586471b4023100ee9313cc25f5364cef302fa5258dd219c0f599f5c10186b992d9d89399f1a57e84fe16bfccd7e7175d21de82cadb86fd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c30b61a986ece843fcd5bd0991d3256a112caf70b5321fd20c7789f674694ff55cb5208b6d26a9942dc41a25aa6c7e0b023021a0df51f5bdbd3511601880426270ec1a70337635f6a5edebf91e6d8258a8da0d30ae250c1574b24d87c0915017f8d10302047c435bb500673065023100b992f405bc314133792a4c91ecea9488e9b76d7f26c55919993bb5ab7870ff464867fb21629999052b89cc1e4b9812a602306344f16553a548d48b0a4367b4aca96e734804f62baf840ab0d44ff14d154ec29b5c59e8ccd174fb2f49d490bcd57e850302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e63f00e359a08594de43a977e711838f09ea41d60de1eaca68247ca13233feedd9da292c93b52ff1199a76eeec0fbced023100fdabe4d3dd9ed37ea19366aa4e10798fc19ad4bc20528f6cd4450e950f8ea59e85190fe5877713da57d2031079dfe9e80302047c435bb500673065023100d2c2e3b94ca56dcf1bda5957196494fcfa4adbabb1faf8bec3c4d1938d9af339619371b99d3b9a61392b198fb85cbab7023011461f0d948b9a954dfe157903c164f3d8754a351911ce8076f96831f2a702db6cfd461d632d47021caf4004e314d5110302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f7b9ba6cc9e495ddf7f01425e32ae9a87486a246e61f4beb066d1a2e043996a702e9149258a4cbe45e420dbc1f85ab8c0230368b3c88d72a8446952a8aa90846ed1db4459d9c8063f412f7be5f32559ae752d1839ef7157e6ca86edb34898247e5dc0302047c435bb50066306402304d853810d42c9c6c6d813f540f6123f29d6500984a147f997ddd5bcdb633edc7673617bc952812409af93f6bff6cf8850230310f91017129b630b6267a406b4f99c3d110cbf7997fb09ad0ed1a2dd9a9f171239df847a657a3ef97f6947aa74630980302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306ccd39fd70539c54c2d4f03f18fa35d6189a52906319c9476eb0eb6c6bb86a2b896bdc13fd9ce85edee0c0a85fa88779023100a0cd9ea3df339349c88feba77a492112ee8ba5c57bbe0b080f4519ffa5ecf141c470c8bf5a70ae4f7e7b47ed86bbd6340302047c435bb5006730650230030d290091be22be43eeac3a3299e962d43989be4746870147ca89d9f8d73a35bc4a03dcd4927427ed4faf33332ef918023100b55a86c40547c0772e9a13ee1dd9d0c785de0b96248d90d214eca5a5b08eef13594628e5d686a4754d9bb827a612c97b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009660c43a0ab4298189b8cf4238db79652f2df984d83fc37cf1ce2baa70ef35f09306e1b3914832a69d79c86aeeb21f7102306aca0321658d8efed01e7498df359c5c5d076261bc684bdcb9279d8b85f210c1f020497ac61562f9bc5082de2fb8882c0302047c435bb50068306602310091008f4cd4c69a92c37615ce25d6811f3efa338ee099e9c395157c510650b31f54f15ea811a913d34eecfd3e7991f888023100cf4ee6ec266dd1634d19730a6c094fc94c6b4d6e7fe87d09a09758a284afb3bd73eed1dff3f161d075bbf1487f70e1470302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230189beec76e6a688062cf649452e2d4f80689246c4c3f4f5a6b272f9a7c7287aa68c96e312607527df2341f4993a968bc02303c2e4d7cb6b7cf660e34d7d0115db317a1169b4ebc44f579a74afba8414c690780561e5ca76bb44fc772380b82268ca10302047c435bb500683066023100d2467dbe69624fb116b810a322958961ca4e546d6caf6fbee53b9a6ae75b74c5bc810e8309b0265cf177ad28c150b2f5023100ee9459e625247683d09b79d0ac3f076c1047b4e2e643735ac3c5bfcaecbf369e3deb53aa0fb5a328f60f5995c4e667ed0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f9bba8c245421ba98c282646c976d6df101fb68ef34025e3d4af077dbb06fa8ae3c05ccb3983ed552bb10696de7ea2cd0230649f573492e5537e570bedea11f32cc0dd5de3738798f95283aa7f2dd3c8e9e4cec8dd288a23d8029dcd6800aa76c79e0302047c435bb50067306502306ff021f719896b20a6cf0e177cbc9c381449cdbe57e1e0cf6f9a8e19801bc770eaee0ac7d7d8e312674eab50a10b134f023100c9975efb41c95393d62ff2c160f8b59f478e90d79be91dc4c39023b5129f243e69fdf049cb41196fcaa30786824101030302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bc29f445f35f5f9f3f3b053c7a9517fd7d4ad07c1f4d965e159f0d29d85a1c613e71f7e33cedae94377b90dd0561e53a02307c9a3a2b873bdab20e76dc977a91ac67b5b754cd61ffe2ad37e189216c34a7fc5696a48b06da08e2eb9aca38f4d522a00302047c435bb500673065023100d1e6d77b8d526f3e323ec8999cdbe0c603377a673aeb9473ebb3e3d965718ade1d85f5ddb1c4eb3fcd3285e22e0ffd170230026446ba988bca08b3a424928851050fab77b36833340874b0544d3a32662e13850d48c5e3422f274b0ad3b21bb7114a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302f68ae471232e93c74a36b42100270a5d2dd00974e1217ca15bf865ab1e2a737ec7f4cec52e02a0580f183c05b4b0e6d0230433c3d10b8b9d2bab0a60c8a4de90500e64e735885e55cb6ca8fb3a747312478b26452d3e7bf5c2d096f3945d7b64d120302047c435bb500683066023100c6dd726c10554431a629a513029548d77a8daa83550d14869993e8682d962e8be7c8d415193b4cd3679c3d4d6450c50d023100be06a8894920699cc9df70113e4723540e7e1dc590b519f900dea8525339288f872ed8b0ea5395a00f04e64ffee2bb4f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b0ab7a56dde078c2ccf7830f8f660213a2dd243df0ae5794ada858737b8198324a65dd7c0f19977d1bdb375b4ebd639f023057b47a7305da667eed753f9afb8b99a34635c82d256bc16ef237ddbfb6695506238098538429383e5daf29651e30a8d50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302a3a23f6f73b149c29373e0fb068154cf6e11e959e29afd9f942622fedb494e35e3aa98a678587b7f2df927f2a90670a023021c867e7dce89806e0e4aeb36a4131cb7a82354540f36489664333c3cb61606889f8dc80dc2cb96573a7c03db49012c90302047c435bb500663064023049ac90799431377e2d30984d5cf3ab4fe5e7c0f0a8cebbeae91b21b016bc8073401893dd088cefc226d0b0f553001138023012a1c8e8e8e5821b05e58ed19e2765c61846789c42c0bd0a69b71e35f5a4a62b9cac5b4ef3edbc3f03c3ffc34ef0e3a50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301ee6c3356a12b11a809589f41d157e42cb699a01055d995bda6e5d39c2d3ada5534898fb26cb8c961f69ffa4a2443480023100bec0a1f1054f7ebdcb245df215551a1a8abde7f8f7d8c7ef3e0bd63ffebf06f281e0f885fd42f63c1a1bef685965cbbd0302047c435bb50066306402306c69bc2a6ea984f2dfa0a2977b088a53fc2c3852364075d765975a8086b32a6078060f80ae920749ad2b10b842d0a0e602303882ac1aecdbb380cea50a9c6297af9ccffab41c988ce9d3677cb8fbe4a45d7c0ada1db9532ca42f42635a9a9644e2660302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304c79f0925409a304fd81790c2f0f079eb00d2481f29f133a006582bcb6fda2730fee29a604589ac935e6634e687074370230012911274064c08756c9fccb1172e8a1255dec7f45812e9ef1cf2e599378c68d158d53537a62e8b34ac99818ce2ac3900302047c435bb50067306502303ee41b71d8eea4acf270d38ff5906923c60c5265fdef3e6064f896f5d0d4e5017cda7f1f830a5c5dd2c6799e6caf2bbe023100c6d229562d4e757a9ca3455025422f2de915a1f7a4c02de053d7515a42198c115c5aa212b5c3cdf513b3ef0f80e01acf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303b37ba1eeca557644229b6dd8f988adb8e744f49144265d71a12ce136465a616aef9c59c94607d43797db2d8c41a997202310097af85647dfb8c4bb1a4016ed8d0a1dda7fef7c573b3c89063df7573b4fc596072217004e7f494cdecbc978cdf2742270302047c435bb50066306402300a2afd644d3af5fb8b8d4bc0ead9d0dbf380993d366905b5ada73107cf9f2a2d2fc9bd7ca690d2ae95ed784ea107109f02305951c905814590e44afba8e9621fdccd2a005567403bd2a9a839311269c011375ab505859e4c06b63ebdaa531684cb920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dbd307a9a4657d087be50802c81a30a30b11b34a059c6280ece3e358225f86726aafded24ac40bf46969613ec720c782023100de71a6211540364569eece3b967a43a82318e88147bc334f4f07b734c3dc15494eb3f0b5b528b045a0952bf42ebcd31b0302047c435bb50066306402306e24204b63d9957b77e91337e5f9a863b4cd9143ce88499730060b096b8d1edf46b0e791f2cc1b4522dcbd09be31106a0230649226a6b46e5bb84ce8fcb9401d050780752ebe83f562a3b179f34b36345580555700d9d02a225abf3a66452731625d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cb1b3989cf5ca730997ddb73636c6acd946c67160b80b50c26cfe1734dd33eb68530e04da0f8ba54f11b21f27fc5fee7023067b4987e3b3dfb9f17dc725350c0cea1247f2dccc537e1e0c2c0e839a14da6f368481d86352eb31fc16f83fc5795c46b0302047c435bb5006630640230160badf99f35376a79aa2d834f39cdcb95193c125eb3b94da1413bb0d829cc28d64968dbcbc674d0d8fb5f76dfb892810230799e99eef23a9fab3c12b432d9432071998000eafea249d12de9c7d3c86a7b0a1e9fbb44da61e0cec3d102899993b27c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303340a8ac22a4070c51f4d4dcaa5165cf0ce3939f4eb5f6fc15694d4b66379636b657dc55a057a7506fb47c254840a0e1023008d6c528a00cdcee79cfa1df20947902e5941e756ebe40d1f73e3770d3328a24430956c94ee9633774afb7e1bbcc14e90302047c435bb5006730650230427d15cb2b12320cd2a59dff3888bdd707ca0533c8eeeaa8c720fdee508a0d67fb7ec07f1f24d2dfd81649122ff18ed7023100aac8f5be0a640f335d108c17fb39f038c3b9d851af6f0b17da250a789a8dc2fc1e1e9795c28445914510b2eaa76583f80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100955c3ff0b0b14ef16b4c052e576eb66c5800219158ad79039bab184401ffdae644f3880cc910082c9808eac5dac8270c023100ab22f9fe6c34936c3147f204f47e33d0d9fd8680b3d66ec5eeb23a2725410757f8dbe1bb7b78ec61c51a501fe219d42e0302047c435bb500683066023100b0c1b090bfdc84f281a8e19e3a900c712a68a0edb4a353b463e5f52c5e076269dd4e4ad110faaa8c303d55b255d698d7023100be6446b57b974ee0dacab44bd9d06d50881d7e1d4b1bda81781d9ccb18ff684c3e03fca4595c8553c3a0950e1c394e8f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305d1397613b4481be711d029fe9ee3d12df51321711dd2a241e505fd5c35f9da67f9dead1113d7d5749169019a5e0fe4e023100f80658055cc7626cd8cd7cf160a739003010270f3e4b390f62c15dfb423a031fdf5f402dc6bcd7e342bdf822973fe7e40302047c435bb500663064023022e0885ee67ea6fd3cb055b6239a26c09fd582576903bb42fd9a311f7f661fcc6cda4687f12a4e1191b4316753759b2d02302c614195c9802873d8989853c86a851a6025724307b068a0765a3d1ba833e4887b47d53c1b6054cc4b82ad19300847c70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023027e30afb121e87286e83d00173672bd2172eb0f850f24872452e824b6766ae2db7e4634397d696310dfc74214a0845320230735e16309de320a754aa9a34e72e90072f365cdee5f5af5d17a0a513e20c9a6f9adf9c27375d95df528e15e2d61819ea0302047c435bb5006730650230489b587273405d9818fb60add5817275caab4bfe478f3ab920975bb76a7b9ae915ff1665e430b9577dbb8087b70e86ce023100f5ce906274d43643161969014e78a18fa64c7b2d33c23fd8bd46874b7a3814e13db47e0e09f25786231e33093a6136cb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230723b98c1642d3c17c09cfdbdab7d096e8f9ddf32d6ee7e059b6cf1e74236c2195bac7ec24d2001d206430b3e06ac45590231009d150d9d245a159cbebea04836d42191bdb17a3eeec6df01313b1a17812d3aa308af2fb52ee3a7516e57c2e0742ef05d0302047c435bb5006730650230761084724f2cc4eb1be309ee35b6536de05da8ac7434f54a8f70ec54e2952a449c816435ba7c03a7ea6f3bca03e34ee6023100df3a9df6fb14c6cdb269f7ddf121d51da875f10058969356174895b8baa94106f44f0f8b8170f7d702b437e679e525b40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dee1369fd5b479d160131e5ce94d2a5af1e5b68f6220f78fbee73b6405d6ba25fd1db21a89edc1fdc8523f6f0c6f7d01023100e9cdf237c9d9e000c85390757620325796eccab397227611cda2cf956084ef5393233552db558078d4ab7c5c70bc2cbf0302047c435bb50066306402303240a1ade05cee5da8eb1c901d85e723630ecfaeee18ed40ff682ec887052f04e4af80e862c5822807d57aaadb702aac0230311b61071c5d41f51b8c22e586ff938547779e83b0a732fcea30f3ec7e0da362c57bd4d84cdb70abdafcbbbf9d878bb90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008793541ce39b4eae048542c456dba627fae31f1762fbd4a928cbe8f6a18598dd20eeb6d8b9afe177f0c7a17519e6a0420231008dacfa11c06f6defb7dcf22b8e5a8727cacc64d11ab6bc54597c251d0746f614aa87580af81369a35e2ec5ae54ba3b400302047c435bb50067306502301a6146e5f6698af173413527a22297a99f9b4a17b71476b2a1dbc2980bd1192f14b78a601dce891ef81dbb2037961621023100d2a058b65218e184e518b917ec80441cd0e703032b23c65182ccade6617681de228176074ec2a097d2992e69fe237be30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023009c2761962d3017b8c8ae44e9a52a16889385d268a216c8680232c429e4718b12aac6a2ceb7ebb7aa287667e319957a9023052c666af1406e9e8661268eb597059742b7f0a0489ce58032641388d5042a146e6b15369006408ea05e0bebfa8e356020302047c435bb50066306402303e2d971c9b42f1ed370ae7ded223d7fd48db1872b2928f9b5a342bbd2b3b6987cb0cbe279ca517163a9568c86250686302301d2d890c678ec95d9cd9185fa460bd4dfcb0a557b03da99c8bf33c607623c44f35e93686dfec007e1826b85621df7b4d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a3737b9ab385b0dc875ac6cede9b8ef1003a307e2d5ec6855d17ffc06d5d8ac23f3b6869dc9903227bc40fb67f0d68890231008dd4b73f72ecab9839f86209d6da53c29abcc01576985dae455dbd7fa079191d71689b0b86b2dbcd0c69ac82dbf4a97e0302047c435bb5006730650231009e821cd14c832908305551e81c18b3d8d936ddbc816aee9aa4cc08df9bdd38ccdb6814815988f259eabea625e9271d1202303c7a48fd6e988191fb573b70c588bc410b6a682338a2cedf047544d6f796c814652c3d0112ffa11ea705e0b1b36e6eab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306a128d6519e6c1143b98b977bd58599e5ae2e430809421844506b0e1cff7ea323e3cd232df2ccb422d1d7709725109b1023100abb731f6da7db16deedcd3436cbefb4dfe9ad43ef9c3268292f3b18a11f6c47bc37a3da7fe29d00627f23dab08841b0b0302047c435bb5006730650230797ba65b52576b4e20a2163682692900c1dff678d9b7486161aea18893857843654e03526517d554b2403c9763a5971a023100af8df84d61c1d3cce8ae4809045444a0642f518bb2de1f72366de3a55ea6f6ec9367405036c161d2534f5856a25144fd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230686a28e310b769f6ee1fc004725e95b15da15c698c6a0a4b1bba0642113ceaa695409e9b416e2152b5879524736d0926023100b025bc4d123e57bab6fcca76544c119bfd072b6e07c71400d796b3fc788bb12173d70bd191c5709f0900021de552d6d80302047c435bb500673065023100f9df2eec9fe65b4372029aac7534c003539cb64cadd0add7ae0d5ea11d5ccbed6e533bb5a006820249468a1bcf66a79d02307a2182577d166acc4a5e18c4deac51b93137232a163fc30704298a0ffd157f4f43e9266928788ecdb74c8d64a254fbb00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023045440251e12b3d7d9ea4d96038d4c11b9b13defb2f427ac5157e0af21e0de651d35818547bc319947e488bac88803b3b02300afd7135c66d4ec092c189be9ae801e1e8491e7f2f3bfc3822bfcc7ea22bd0fb70e73027d2fa7a31690423120e6311270302047c435bb50067306502310090c6addd1907b0f4b5238eda5648c0f3ce435aade70c4d1b885a654532806752b5546de67be0d8aebd89c6f2c90f5ee802304780cd1d64af502ee7cb58822fb3fd13dba5727c484a61b83880fad79a5e3c903b5034a2c0db1e60066b25af667669d00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009547394d8ff74a199fcfdffb284c2ad93cb555da660a1ff5532971916aec809695e9ffc046d9949d776c36bafc2404bd023100d8f9a4320bf62356c265148f90ac0571db91eea46983f7bec118946aad3d465ad80898220ee31eb1f8d4e9a1e417c8560302047c435bb500663064023050b860643ccc4a23999a33360a667809c164b963dfdfd5554e14277103c8efba48e0ce9bf33b2fec2969a5abdf34ac5b02303d9e58022cbb900645ca5f2a67f70144882f06b826f62d6fb0c441a6f4b94e7e5ef36dfb5a6c0247849e5103cf22f2e30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023050be2030beeb367cc15126331f65f2eddcbb527327b1e74204bec56189e16a7917b83cfbee8a6a51a603aeb64bfaa8d002302862d8ef73ead265fc6c20333a87a5aba8ba89c16aca57d726de099127958125581ff7dd81379520b77026d98769d2870302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008fbdf6896f0b5a192c33d6aa19629a0075a579e723b269a5c0358d427d3592d5fb1fa7eff52ca41e9502bf3008947c34023100a3f1912923abc8880047af445c88e1cc81d16d275ebfff48eccdc3984c589f9097f7b2ab148d98dbfebdacbe4a9bddd90302047c435bb500683066023100bbc88d67da714671fb880c986d83e7025c7769fdbb726ce351c4eefcda1d29c317a23278456ee301ea4e09d4c0953445023100a78ab1e8b1ea425c49ca6fcf99e6371f695afd95c3d1fba536129fe2eae17105c9401ba30ddcbf2aaa6d8b64d31c6e5a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b0e6c80ee0140718372a6d54fb116fe360187d4255fca4dec0fd2cb69acc2ffc189e79e0b37537fc3179b340d85e3f3f023020de67d8e8c3a181866660d3882718130befa8ec2b838339a9a2860d8548ec5358ec851f7474d7a29b3399e97e6937710302047c435bb50067306502304e8ff22a541a94e22e3f79a0d3fdcf3076c22a10d2e80c5953e3e2b219c5be97f3d206e959bac77fb9eb91f6a9247b77023100d1b991d140183694386c9f11b68cd9698d22b4ff0448af0340cae1335e7256952050c37f4ba8048b38d890274d263cd30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dea09d798e4a71a6337869f6e5a55f3dfd65e1eaf5f0543d9137e3f9eb7f375cfa5822a0a50169077a1f0098212c844b023100ccc78757d26d15fedde26ed7a7f35c9b1a1de84b8ae5e853feb4aba0523bff03775d8d0d026bbe63eea1302fd14c2d310302047c435bb500673065023027f07e0613db19dbfc94524932aab1f96e1a4b2549c9a362bb4d367d14c00a7a2d922983b258f24907e8b006e1de0654023100ada686c2abab26fefa90980ed5bed5b8522745c5b18cda854f6948ba0aeb4e4f2b7311c9297b104e0407efdc741eb07f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023023563243953b8709239a2b06531ae10dcf189db2d1f629ee6ed181eca01727af09e3853ca407e232e2c7e83b54bd6fe502301f294c033e836dea1313c0b5dd12277262f53539947cdc13e0f37a1b482baa89ac1b75fa824fe7ac6f4d0a1ff64febc50302047c435bb50066306402307420349f42ce917d08cb2cd9f06dad328766cae27ce911c9961b16120b912aae567d804e970a815a05f96e14fbd8bf77023022c2e1dec425becdbaf4e82498c9651bf3f91cb7480d14c067182728e38419dfde995e04650011e3a8f575a7695d09e50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100acb244d1d44dbbdf3453d6c8bc52b17fc28636530a83dbe7a629b8b081b6a0f96c8b11c333b6f14daed0bfb7404a06a8023043b0320b6fab51e7bf6ccd7f9fdaa03126b1e92d1f73f4e893369246a93b9e378389fc93d9764bb78197d199b44a151a0302047c435bb500673065023051ca4827cbffceee6d95e3f841b045222c9362d2146e563b6f66260a9a79c30b3587fab016a76707e5655c4420dcd76b023100ea970a309c48b30e8b68bb0fe13cf3771cbeebf8ea8018951ddbf43fc2c2f0ff785e4f3a5433d9e6d03bbe7ff01ef2540302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303ff0d63bbffc30f7e505547f1a631365afdc6a57a00ed923308a21233875639b44f63a99aa6334e96da11708a3c473b502310082179877006ef521d2a1f1dbddd8a0bcffeaa5228db91d8bee4fcfd8c64535e7f9060d5eea1ca4368fb6bdc488e719000302047c435bb50066306402302b49f94ce4f443a7ad0117ef87aa9b2938e9e7e558665fe3ad0fe9f65a4732935be61b6efe5ae6edeed47f03bff285ce02306414a6fb7dc16fb0cace3e2b066a7fa7d3f61401745734d033d4a78c7e5f39bcdf69a01bbdc682661c3edf232c39e24c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023020f5301bcc5f4062484641ea63e0c62f2284ba8968143280cc08c2d5c46e3b793e975b8758ec502d162c391cf2baf18c0230586663c7790c216f110d70185094e918838a4bc037924413418744cb9072199d69b2409dbc78b756346f3d9c289ae8d70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023063f288f773ee78f1ae95155dc4801d5d916f6e11304337e9f579f31e16f51c009e06ac523930fceb90c64d8fb012cdf3023100a55ebe7cf459f4afa3662f5477d802d066151fe391af3009e1380fb06b781dff71a05c063519cc821a4a581cb889c4fc0302047c435bb5006730650231008be7feb08f62b89ac459b36716c374619db29c1609fcd22fc2fe22a291a6749e56b8ef81d55680ef14f4e34f2b2400fe02303eb03fe277cd750de0bf619013ec6f260e0f3d5de9b1bd937943abe598adac8234f08ebc6aa275486a72d52c67c5bcb50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306bfff5fdc80715b4c5ebacfaaa906070ba45d56d5a8130099fa9cb84d60542669fd1ccc920e3d5dcbfd2c7ad9a3fe4c902310094f1b464c622d7c8e223a329beb78d0574e5ef6d591229887c8bf3f0db1e3b624764003a99a6f0c32d233bd908e917c60302047c435bb50067306502304e62cffb52ba86efd26d51d8bb157269cf215e15c7a39d43f77ac5873265f41224a67ed6417cfa95b12c024a761f9dfd023100f1cfea97bb3429f858ed28d9fdb94085523221ee855529445080d35b35347355f63b8706a77579ed02cace338d4c56560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a05ba26bedaf151024a7cd3ac7e4dd99fc2db9355f9c7ce2e0ebdc15ae46aedd49572d87d31c5733dd190fbb3252391d023023a4f73f42313c5d8ebabb745875603446c45787a6f583aaf260dc01833af02efab3e58f4fcfd1938e6af01720c243450302047c435bb5006730650230316e8696fcc054d52cb5358ef5b76c16a2a4690bafe0af43e781ebd0de1ee3921e66e54319b21db3aaf25ec25d279d540231009d38480fedcf673eee3f0d2655880c7a5d61f1e1e28b78b10b55236ea6d785ba3f1e2135ab548656263ab93452961b7a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307b8667b8204ffb81c8edaca39fbfb257c568338ddd27060965ababbc98bb0ed75fa9945153828f0ccfc9369e732b979a023100af7e447b68847cf8c84bdfa6d4f9bb1e74774b21f00ec404b71a0dd1130f68d9c380ed148cc6bd402980b243dd49b3a60302047c435bb500683066023100f00aa05f53747f96179cbdccdfdc6a4522566d5bcf623e59ddad1747f0d503e4dd07427d58baa32fcb6a9cf93c0572ab023100eb738497ff6e69d525dac5cf51a06e008e1e106b1cdd2a7426071d2d10ee77611464e6deb7abc1f9e2531be67eb4451d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310081570818913bd1f824bc0c6baebb2af21e91188bf5e6a1df1444c9abdc3d0ca669c04070e18f1fd69c1af0d5daf056a1023079052b9bc29e48057217ea24a5ec84a2b2c9c014abefa19c535f314d176b845791d970d476a9129d50281f614ba21c6b0302047c435bb500673065023100c90b3a3ddc1beabf1f3b64faea5069bcee824a3687a32fad5354407f7f07c9c54dbb8b6347d86d3d2eb70acbf5ef9549023024b8479bade5342909736c79e206fe150843f7e5442a53b59ca7b9bb50921c4edf045854bd0948c073fc7242f8a15b700302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023062d7491b35db20955750172cc629f9baead70d092af0c74bedb110a8c6aca883de27cab13b3723f37cce7e8e0e9830840230526349a04e8f0fcc5b2f3456f3f78d7898fbc8224473cb3b015b1dcff15f30edb19854726a811c4c618889ca8bdf95b40302047c435bb500673065023100f9fc88e7ef727097e04268b06bb3c2f9aa310b5ea6d269072decef69711de181e75c452a37b57c7a5c5beb6e664f7913023001d50a6ed157d164c28eebe160835095feeaf14d2e7d961912a4c8f1cf8cb24d2e079e0a3512731b1ec68e7b603b29090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e8b8522cdae6e70c28906a0138ead5f206cfdbfabea79691d6dfb7da1683e987a1aeea1c06440d3cc8c8f6545b95f8bf023034b2fbf037991f3373c9555497c129583321b0b814e38de6269ae71ab3f0c949ba33830435952954870fa3ee30d0648a0302047c435bb50066306402303281139e9f6a2e00397823fc049e4192bd583cdc6dca998ede81e79dc182355956c3504533201f4fd1ff63f08f12cb3802305c7b8aba126bee9acb51e6f91fe38ef9f24e491bbb0dad6ae21cb45a858808acd95f17782ed2704aeb38000831191bc50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230079eb58a1cbc8ba8ad9f6df56c15b20c542791f7102b76fdebf3bfea590cb4c2fab5000abe626cc2133f6608f0de7519023100ee0411211abe6859512c006435217b285d6a0bb8ed7fff100c7aefd8e1a65befc846bb336999abce28af004f5cd2e5220302047c435bb50066306402300eae420399ecfc6bb0d71e53535843632d4f3fbe4b9ce1a40502819da87760fc7ec282e2b5304969c05c7261700af7b4023049889d425610c28874f1c2e575af1f2c53756ae094d89e0e6253ceb9a06724c5d5e5b25ed4183593f10d7ebcd16d846d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230413879b2e0a211d904310ab2a81a1ea97026dde0d9ed3ee4c5669db7dd226b97b5076f67b6ca567a268de0363380d59302302761115dd33ab5978405ae1dbd03abdc8aeedb7c534d6ff9796b6b6b9b91970185b25fe5194ca676b1f595bc74180f190302047c435bb500673065023100f6494385be76c8e862d26009bcecc4cb59296053a9629b1cba456a0258c7fe0b32c2440f592499c89e3f650211be0a8202306362c09048419a826fd3a14f7d029202ad46db0792c04bdcd15bea80d5a388a33ec4b30fad4fc4f4fd14b5d89caba97b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230780f74182abdf34e4df08e99ffefc461749a3c46a0164f6639d5b94a2668bf8ab5bfacd25da6a900d8185f8a8d616155023079ea4079a3c1d217792065c1db77eccaaaca4626e2c539bf7a39f95bbbf0a89c49417aeb94d5a057a60127be5f7ad9db0302047c435bb500673065023100dd4844d2945232d82c841979992fe0f6cdd67ca45a2d57c2952e1578dd1f639c43b9789fc2f592239be5b4887802485702302cf35cae283eb79329823ee61671cac7a4fcaff0016dc4bfb14d131b122be0b61aee63c1ce2d1bd213097d2b1951b8840302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100deedbd194a908373006bd151925f2b74ea2e439871d93163d521bec5d8955d2a668e9adeadda81c74be7125cb8bd46f7023100b67bc00bdb5c0e28a031cd9b23267995c16b7984f92a18cdd2f3b5116007874c235cae712493aa040ab3972fc5f6ce940302047c435bb500683066023100b510dac87610cbe4af144d3b03f29a63b045e2a0b39f40156778e178aaa35cca828961b4b4d58748452476525c6454b3023100f0c6829cb3223e8d666f7d7f39d115d477fe9ecc08a0ef2fb081b7fcfc12163bc0f8673dc2432dd0f12202acfb6a36d60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230490014c882fe41acf725eeb69cd56264f84a443bd0b22893aa75fe948decd3c0b0f0ad7e84d1bab73092f709f8f9df24023100898469d7f07194caf18cd0f39f2b861e5937901e72e57f890bcf11635801b7a00a30598e0e73aa067e9affc91ed8c4720302047c435bb500683066023100de44972e8518ed7f0de3842d6c11913972fd74a32c1b197b550ced12a0e0d1072e949bea1ff140ea33d9ade451c34cf2023100b47669c198c8040b1c6ae99084806bfceb8160054fed295fd0a4ca78a4f0c9c7bff5364da70d30b1f60b3d6055a60e3d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ae0d8627b89e1e6c50623feb4c8109d6a81d911c095fea283ced3b69ca9947ec16f0da98d70c68660ada115e9a1735a7023100cc31d76267fd3232776f3999b92e35f7b4d6fbb0c3f57bf39daf5166f76cc4c69a963dcb0bcf5305c92a93419cd0396b0302047c435bb500673065023030625c00970760532cad0352a8205d5c9f777ecf2c5875483bc0673394e03bf8ff235d4fe7330225338541e37cd801ba023100df4d0d5d8d2136b4f7f07972520ced920cb3f00b5c4878a9b812ad5b677c1990f0200aeffae2f811fbfd9fcb17124d670302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023065596dd5cebca6491d4825a1ad85ff0be05f33a56428c0e9b2e54a18a3b4dcc384e913b92584c562d73f8e1b2b26722b02301c4a1bf79d2f5b870b8bfa770d9af2247fc777c12c173953235535e990cccb81b2715b0e28fb1a1d05f0ea696c0dd2ff0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230074de711f14f57cbbee99c61f7970e802fe07d06ec7b753f35c8b070b83913a8ab3140184a97c0eac155bfc49411ccec023047a64117bddb6b1d1913e6e646903dc65275ddcd0e7d8e516525f369b9c84d3123c5c892e34c6d8b8eab937336cecabc0302047c435bb500673065023012f93e7df5f1de2a7b370f9d415be92732d5fcc18b4bab4a21647a3dbb70ebae2a745c0a8a6cd22aeafaac24a7411a57023100fd6b1c7ebdc6dad87f5baf51d5705e3fce63b9aa68836c5d7f47a3344d196fe70b9441a143fd77f017fa562a580bfb9b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310089794f78121961a37c584df745affd190b4e61477e816eae67ee0738fe56e0d130817abe61752da960b9dde5a1ab9d8c023100c36c206b5869d877b9f904d07c4d2a411078f9c4ef3600b3c4bda9c3f86e3c558309983fd61bfb38bce6e4ea69c75c2c0302047c435bb500673065023058167d4ba5e3183da83800c1450416de2c6102ffb25e3dd302e9309b3e5dd38416a3a8b7004d14f630431f61e84fb97c023100e852f4c632e773852d30c75da47e78c0eb4b753b4c28ca71c63a0c9be9b093c012fd575a2e8332179351d568f81f056c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023079ecf13486f7dc3434eafd767fe83b9a99bbfdba35ea23e4ef49d4dc759a21caa46203c491ac3c3d1b77a2b471e6edeb02303de101f225881655ddda301bbb17d2a248186462e409903926632e44add4dfac247d7092d940a25a788d01db6d4f37700302047c435bb50067306502307c48adabdada850d75b6530a2723726626f65d18c2ec3c0f0a26c6e8c52507e4a784f2d8af2ba97a0fc8c3778b056f98023100c49a0968fcccc9661da53e42c84b91244d48f8eebea5b346e595b937d69b47a5021581ed79c83c8d8870121fb838cc9d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302a465d9132a27abfbd09fb7a3ea9e1636a85a3179e61003c968de65cb8f8f0beece10d7fddd6d82a59ffda0d90e4125f023100c9ad66e12b47ba584cb06cdeade0f319bb80d662e2158daf2ce0365854e6fd43fb07c13389f9086289bca30f565496e30302047c435bb50066306402307ad37b51d16d8de4e70a16a227ce620f0b876e0084673fd1bc0d43ca11fad7765cb2f33ea238c505538746c411bb9b9c023015e5c24798bff2987d04d27cba8f2b4367054a8eb93fa03c55936fe458cfc17f9519969a7918fd0636418442cd41b4400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023007e8bc071c982b221e9962908d939bd88a6e073314232640bc812801dd8244fa12a1c090db381cd02a473870e1edbbcb0230557263bb91021690de89272b1ca5cd0bb0c526251910a719a532519e04fc6d0a42d46287368b52e3d4be5ff5f0e8fb140302047c435bb500663064023008337488f2ce135f81039452b6753cad87e740f0617c6c261e7ba121ef7757e8555c03307e4708e5d20ca26cd7bd015602306f698477c0310f41bfbd6d426a79ab633a81f1dbcf8b4d50a0d1767d2d456d0b46e381b6785421f93d2249cebcb6779a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306e06e652001d167bfce8526488c96fce085f3e5111a27f525f6b015f121703fe544bf4d3431d23be90921fad001bd4ca023100ad77cbdb6483292292ac6a7b32fead1e9e147d217e2526832433d72ca3a5567420105ce8f67301cd3f169cf94aab84750302047c435bb5006630640230669188ad73b5d1a9923210656082f5eb362ea3b920beb602ccb42c6857f543d09637d8cd3e9b519019818929094be15e02303510bc9e50a54f05c1af957eda43162a149e30e51d5266333dc8ff6cced61908c1369ddf034e291211834979d8c1c83a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023023371d6959a241de3cae807ba295fbd4c5e2e5a0503ea76a619b39fe5abd03a98b485342c1f583d9b2f9ce91d531dcd4023100d3866b56090d8b784c96f1ba1c27c091082fefd0365ec207e972cc48e3631657eaa860d00050dd98b8111464629f11d80302047c435bb50066306402303c7004b417007bb809128fcc8c6c8505e39bee97cc56452e7c63cb095ca48f14df741d3f50c3821ca0f5864ba6157f9a023004161881b460a3f89486c9de3a56cd93159e192a23f9e9f85ba7aed4b71c1378844ff3ec4d1659dcb43e71cf07008eae0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230385c844d937332ce9742ce87ae5f2288074663a3587ce8b66c003d98283d73cc4ee0d94bc2d91bf9938bd72b27d49b4d02302efe90376a6bfa206678b81af8daa0ee12b3a8bea0cf49b0440a9f8f848fb5a3cb9beeac75b25ae3f6d4316679afd27e0302047c435bb500683066023100b987c60bfb1c7ffe8fa3919fac986a5a5fc19fda6b0000010d77a6edc06f1fde0f541206a59190bdfeaa8ab5a8a2fb02023100dd25e05594e6e1e901de04efd60f134b72ebe87f748eabd702a0431267b9c620abf43fa9f5aa991d82fc8fffed2773930302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500653063022f635f77c16c2c977a79b4d119e8dc3ee0be4bf3a12bc4053939e833d62b7048505655d40c1607667ad33730abe27df90230029b30d3a20604bb748b66b13a5618ac88980782831e611e5f44ca61d4284a78360142afa42540b797a3b3bee3e5fb080302047c435bb5006730650230560a56b432baf524a0d29d8140a5ed1dda51255d843fbd43c8916a95163e6be0cb59d6e1cf26f923f13702be3db98022023100d548c14151f8050541be8873984130f26a6cc29ea5250e37bc572adb4ac660b9667bd08588f7b3e06a2389d9c7249e2a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dfb12414849a5e65ae1feddb06128bac8574ed003ca714895497c9b661b53e5331f22b49f9f4ad2b37480b4f614095f2023005bb557ad839af4680186e30857bb8f6e08b002f8c852148ff91e7d0be678e71b7b7c34313cdb4245c729151ac6fbaa40302047c435bb5006630640230730fb5a33d03eec73ae6eebf4457e0a1c59e3ea32320be4507967d9e72219777349513bce22c5a0b36646a4a9f5b1a3302304e08d0f10ec1c38dc1971f25194a078d6387a34b565b0d8b6918f0aff3258ac8c252071045b6e115e67a9e3336670b590302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b1e8d9e89305eb0de5517ed5c174d53e12713ab228ce609abfcb8b81e0de3bd49cacc3c13fbeab2cdb7989bf1284a305023100803b4b7a4998736b5305241552ff8c820359e30c26e3fa8d04cf20f8aef50baea32c12e538e5789db3ea7c3ff126c51a0302047c435bb50066306402306a7070a6565045341587aa7a36d84672530e1059347746c857e5db518c175baf905dd91840510784e5f496ad7ee5f1490230270a91d32f8ed9f9e56a666eee0bd92e2d3f8255ce48d958309c820601e57501da14b99bafc951d8dd29dc658aa76f220302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d2b7d87cb6c90d05e6d52bc8e2c167c42d456cf2a628b4c6ce6096d71e36fdc2e0cf1663e51b067bae1ea41c33baba29023100bb658169ddf0656ba56f3e090a22cad71036df0345868a0731c8c15645fbc24d86ab585403c9695f1d9dc9d60e0a6cf30302047c435bb50066306402302b0f9a5866500c3f5ed6947248617993c25e2f51740e96aefd340b73049f5073c5b5dfdd809269953061107526fbb2c20230089d8e8aaf1e86819d31233393ffbf390dc018d9a7da18e5bb4516c9b4b2b2cc1b55837932ec64e59b6d471718344aba0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023011431dd00bc2c266208ba7d562a7a47703c518052cff03e5a8cc948f47238fa94d6b1931eed83b9d126bd48d7a41408e023100f520392f6680741eb678c87f557dda61b4d3c5b2c276cde6a437ec98d462fc1ce02ef3c3e018bd563165035830d5591b0302047c435bb5006730650230165b0f71403569747f759967ac335682faa826fbee78b6ee5be5f19a375c71a1dbd3202bf871b9a82ebac8a20d3e829e023100d9ad11e685c8ef820a87c718db19e75783d929e1c9ef0ceeb3cedd95568d9d7ca1086f49f1554f2635e45559e84661ca0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b83913c09761d92996ef9808b262ad48a0a4e0f8441c4ee7b60633ec84a7812cee27dac338233974370169b2b9da84a70230215f998181846c1a67f5b856c54f7837ba901a1e79f7e280408b6691b55d6a9ad0d77ab2fdc39be0aeaa143a134392bc0302047c435bb500683066023100c5e55052b8973c98eca6be12f52f2436922ebbf136704f32054145ca9c60d05f0000775ba5e961ceb0bc7262071a3330023100e8f52e339bc807e37954caf88dd19924da02c2094624bf33da5ea98028819c9d1b96d7a2f7029b930ab775c48ee695060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307313eb00ba1f4d1b72167bd8d5aad7d70165bc7057d49523a943fed7bfdbe348d6e1b43a06d74fe032468b07c952cc820231008092d17bcd9f6aeb1b4410c5d9064a3773bd0a900790c0310c157aa32619a05457b21494923aa7832266c16fd4aaa0080302047c435bb50067306502307ae6d85ad9e0753f69833c3a371ab252ac4b98dd4a2d7a7b5a3435217e6f053a8647d36f624d53b958b5f774dbbd708d023100976685e717d244103c22cf14ef3ee8ef61e40918594271d9ed90078fed1136f395d14474742d49f541ea838bf8b7622d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023029c9b39e372c2decf837a1d9f4954b40b6131276842f9c59105a08ee11ecb7921615042d88dbe1b268e65c131b4b62e80230150bd10d45e20689a92a6a6c6707bc940998ea41cbc49ca227e351d5d09e3e9838a29433e49277fe6bb4fe57860183f20302047c435bb500683066023100991569b618777a59981935edef81d55249297af83ff91f82fd891558f92c235df8f8bfad5bddd9ac5d7321da246d19d2023100eb9ca4b964fac96aa079755d528fe8001394f2318734a14e17d161b129b467c9d8b75e38e55ca46ab8657ccc8e28bf870302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a53c8065e529e9c723986be2348752af50db65d46d8b0f181ea1a508d8782e89c446875e5e6fb6d08f4f7fa69b4423370230191ce7b3397cb929582079582e089a899457fecc64c765818e71ffed858f5d4e80825d4e0492931083666f1bc849fa720302047c435bb500683066023100c045219fec5caa938118e34322be7fc2936d94ff0e988fa1d4734e88a06cbc61cc5843a2b6c0ed5b9b8dfa059e416ed9023100d29ea7a4f5868c89c73d444d81865bdd652e751ace2182f5f04ab8a7b2cdcbe56f1e87db572f56beee465dffd20a95040302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fc9f8656be6e9c102b8525d3eb41eaa97707433f1ee341a84e481853722add4dc419139d51d0bbc18f3ad45c2f0afd78023100d016de68e686e59eadd9a2dccaea9206bc76cf2feb84c579785133a987ea3a9bedc9786d461e8f631f2dc79d14f6cda00302047c435bb500683066023100a93c03120826a6a51d0f4cdf28b9a8b1b16d44199c9c726c15d9fdee7af6a5df209f7fe9fdf2837d74e33505b27b7d3b023100f8cff7f369ba1d1601682d08331d241987743621132e5d4c19fbdcdf8d9c43fcdbdf2c7da0a597255289623b7a4bbf1f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a21fe34f2f5c1aa60e5851d183352c6418445407ce456be1febad844cc9dab30be664a6ceb550a87996bdea49cd771d1023049486f9c8573fc3fd67b99f0d84ea9985fe52d7e4c33c95aac43188b65db15e2f6bf6499f04475ac36509ed8c1269c510302047c435bb500673065023100ee06c55baa0e63ee546bde6db5e258f05d20e080e65d26d3edf44502bce0c9c63bf9eae3f988fed219e171740b3b9e7402307d6101886f3f61fe8bc193a29d10088261ec6ef200be8474eee2bc80d1e48ff57535534000665e1eb1be5fb799f3d91f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dabaa11d581fb15685308b298ac77cb8b55960d25702bbacde9bc80eaa082894cf7714ee5f7b106c5237b4caf919bbfb023020bc66eac49008d66c0c800d8b09644d1e396d4d58a15c800bc5f0f7b920055eca9dc91a074e45ec966d200e1a82549a0302047c435bb500673065023100ee04f04cbba769be66a66b362469046c4d8a31df133168708ea922e579bcd8d56a36abadb026a9e33be7488ac7ec467d02303478b1a1a755a3742d9e26348b9cbf4170951810b7967194fa0fb7d854613c04c53c3c77b293cbca207e6f391b2564e80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c31da2c9fd399c83c6104c5cb4dad67163edaedc1d9f80f649803751901c1bcf546f6657a541dee1b036bb230853a793023067ee7c929289b238b5fa98ed66dca5daab2120d1b1326244766c517bf0bf3c25382fbaa311ba392cf082e255345d21180302047c435bb50067306502305c782015f6a17662c2ceb475b6d586c938d5c21d29fd22bb3e98153b255235cc2d5f2c0147e696f275d71fb6c84628ac023100ddfbcd1926b1a7da010ea14500629f12f4bc5c6bbc4acad32949e099f695dd9d6daa0d3fe5b3ec81838e66713278d7930302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305146452e67e945d612b8c13f67724be0a4388f38eb1b7443b157b9f15d2295c74e9f071a5f62edc1bef9241ca467843602302679c9cf60a90a9438af2f7f42cb8245f7e5d83bdb8afefed64247a39b19d6bfe1fa31850033bed1a13e6376456b475d0302047c435bb500673065023100b18a82b66fcce07bfbc25f9c50bebbe0fba3e89ce52284d8ba4376590538b745a6f7fe8301795fe08036eb22180e41e0023078373a5ad6a7d9fdee4c1f514e9826e3395ace807ade7c48f80a4e1319e7dea48c940fa002e9fa5943420830bf86b4fb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ed35867b5e021d33d13fa8c0818d4c86e28f4e2bfde75bc334e0aeb763f140234adf5bd8e9296ecf262d10441edfe9ef023100e7b79aa8503de663048d8a4e91298e9829f22982822124f88ecc70cd0990726a8d3679554c07e7555a42a5eb1c57367b0302047c435bb500683066023100c6eca30248982517237d96ca55759095a2d9ef822d6eed3c9dc67690ec4aa5a4dcc7d82a868e6ff198237eded33fbaba02310093f66a2a24cd1881ab258b849c21dda2537974431a3264517df5aacbf568845d8823d7ee103975a0afcf801993c3d6160302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307769db513dde292b4c4d4262f77e3f479d9f16d4ffe5f181868d324e92984d42608a56301ed51b3f1b4d9007ae61e740023100dc85b4a75d871ddf26a2ddb1199a6255e8c727627422cc076d0ea53003bc3f86496d5cbbca229b570e60bb727e4949440302047c435bb50066306402301e6d65ac3a271bd9a4e16bacb58ee156d629fe8d99c948cd1c58d286ba9f50843cad4a08896b903ab89bab76482118df02303fd1d56555dcbc60e5da08d296e457645239176ba49b2409e913c7fed585d23ac6a6019da984dfe338747fc659c83c630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ca92ca2f973c558cebd24a4adbdfeb2acc9f89c970341a99e18e3cc56ea18f2850121eb2ac4c989d303413d6c679ea8e0230459223a11132916bb35c2a4b11bb51d4787a1666906071f320bbeaa406f2e636eaabe16eef8a40429d2e7301c491a44f0302047c435bb50067306502303f47496cf60c8a87ca93524716df40578a3061e1d1316d4e69b9274a023fc93ff8ea16ea081a36d5ad899306be9ed555023100be523a1a5d5849b037eb50b5ae39aba193bd47ab97db37ae8c01cd2419289b711321ed921ec9753813b41cd0f4fc9d3d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304996271c6ed0684f5a2f3090dacf4ba0ea7bae2329ce024a317cc89ca164989aa5af55692b5c7fb12e253f4c553ac580023040f6c1abdb6f1181a03f8ecac8df38509ef3daf0ccf92d2db1d0a993165b526e04e72190ce3e4a715f952674414841480302047c435bb500673065023100a689b1625b7f2f2c7079dc54021952f96fc5380512a85c1480a5270b6a67e7ebb589caffbe8f8dbecfb1953745300495023057753e30b3375fd7edf4138a6dfe31105a752de79312f186639b36e7faa79602a4d79009ff3ad2556aaf18da60c1f3fe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023064075790b43e83f1c74d670d779edf82cb4db3ba0fda0422b1506f2cf96f63000fa1a61952838e4ccd9903a7726dbf9d023100bc736911cfb9a7477ffcf06bab675d201befa15c84eb2b6facdb71634f958e2766c3d3af697b63c6879b248ecb73a9a60302047c435bb500683066023100e6d0b9e45fbdbe243ac0518afb4d95cc01946d80601cc3a67262935e2c120da70310d1c3695d421e7176f851b2ab7fc2023100ff7e947990d0aef7bbac52f82f36efa3f36d4bcbdfbc72802859ce848a27ae4ebd13f1885718beebdb5260661fda37830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c1d31c61a3e08bc1c1a202b8143f413a146b6856a5420a8449703d83597cd43ebac5f9a58137d8087e342884a6fa3fe40230453f1216bdae8d29e40067fcce2568e673d38111a84224bc0b76afbab09a61030484374c3e7a23ba412e7722fc837e7e0302047c435bb50066306402300cc3f150e07bcad79c41754e3edea050e2888d46052b4a149056d30ace69d9cb8d07842ab0ca7ed301c612f9cb0792ac02306c300cf715c6a2c5b0d07f5ac2ef4803f3d7c281c1ccc9e37c5f012dd688c72a9aa185d8b7f1e43ddd2332a360ffa59c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fa6234b3fb34a6041ef365e4704ba69c22a718f14b5b5cfd352838b1458a555820f546c7411ebef1ce9d32dde9e7de9a023016bdb476d54026d77720cbca945b0e61f644d1da87ecc212418a551dc51a9d2c30299904fbb3da6ced0a5c0e3457d6820302047c435bb500673065023100d29c63fdc1603621932ae2213809a8b23592505a5bce621b4c62576cd2cca042a68db3d1bb6e17362a0232839cbdbb680230035de6ae094ddb566b2b338cd74861c27568f8448a0f728c5f001e07fbe4dc82dcf83167823ec4c65b9d81f43f0190de0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023016dc7449b85e4649e524a0a9b8f348615e8d2d0c32e561cc2254f718ae04d39a0d465b00135225ec66c6c7197f7d6d5d0231008b56ff5632d520eacde5b2d04c50bf7de18367b3dc876ed105876a31c51c1468935da1b061fce5ae0c9cc1368412ba6d0302047c435bb50068306602310080385c55a174f64419401b9f76ac0c4ef00595e520915fc492e23c67dce116cd8be5b9f633bc79647341db7c37319bf3023100a0437c125d86fcc3066b3fef0cf173270d178f0e551fb8327191e2907f4b56fc74e72aa1234ea6847e19da20f23990060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304d51ecf14d56f68f94fc36c78fb143ecd290ab972b470f88c73633ceab19fd2387040705fcdb209b50bb948cfe06df5d0230560761b7a372e1ecced1b6a9cc81ce9094a4e955a57abc6d8cc80a8abd14f46b9d74825938ea0fdad4b4316c3dcabebc0302047c435bb500683066023100e249fb8b07f88c84456169d1fad2cc97b543997a6f22baeb8f4dda25c70cec0bc0baa6094396e740473bf15a86449e630231009cfdb0dd20d2383ec63b03f97bfc37043f5d50af036cca85cc04ae0e03945cab5a47b4a78c3ba275af02cc78772d642b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100acf9c70ec807ae7c92951a3a89dc096563e43c241517babcbbecafb4d6129515f6e37ef89e21c740b76959cd5a8c220d0230547017e720fde59c38a5c303ae2db567ba9bcb5a42d48e2dcaca45b6fec3d69899a65d13a188a158169ab245a32d966a0302047c435bb500683066023100c64667e88c22013e64227afbff7d588302977294c36868da97d0d4f5c23a7ccc087969d8c4c7ffb485ba309936eea30d023100a0d32f15cdd20cc9cabfc2bf0f6c15df4af90f371b1276cc94e88e5a568a039a5a67e0719e0860d80b21d1d09d84b7160302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a0ea411f7e12ea2ef45ff2bd16d7f90648a6cc368433e6b078ac883aef01f8949c60ae810b91f408b49c05af78d7fa18023100fbd3e7d7f6a630815c2be44aa10b16410a6b5599463515171d58955b68a040c9569fabe3b54efc14e298d4e5003275180302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023069232643423b8ae5a4bbd3828b74c896b858e2d624595f5b45e6e990883b915abd45c2a68f764011eb142c21eeea7177023100cadd9076bf93e6a9cecbb0f3e62a08b1c45e746d3371f623ce48b2ca9ba7e14bc17e6a119dc6447b78164c4a891ed8110302047c435bb5006830660231008124af47e7220a116b0718b25ceaf319abc34e8ec1f70953ab2a6ef4266b48cbcd9268d54080b136201a7430519072880231009090ddd43c28e4a794a926530a3eafc9aebc68bcae2e24935ee453d4def04954e226649749cf43aa89d2d6287eec559a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008d08de4d9fa3844048ea6af8050d702fcca8336868c84b04f7e9a1b29c247f523efdf020e998fb57d0dbafe33c779744023100820d4157725ef2dfb256d08f0d7818bc2e486f48b3648169e658541b1117e3da22bec4e57f4bd919dcbc960728e5b2b60302047c435bb500673065023023648426513d787fd5f338966a9674f96a444b197d03316c99367e8fe4fb9169be6d085a227674d78a4d4f973393bb6b023100fbf80e6b5d9783442f71e82776b3774e2ea9dbf7139f2571a01c041f91cf754c88451e6fb7f80ef4cb482164be2cbd0a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302de5268268c62189db4308f57315671bb1fcff5e6536c6f85d83fa6095bbb1a9019c4d0d2097984690960dda5cf707640230029a8c212f01dd28373cbeeeb0b09ec0b4157bc493918f9e1c2230e529162e0a0082dd79e5a4855793d4799b4b5e3e790302047c435bb50067306502300531509ec1ce233b09b0178bdb8f1ac8d2ae6103beaa1e6d1db79a8dbce068b024ea369b282967acb6d279d5f404bbf6023100c8ca210fee80b814c9d4a256e5faad61738c33982ba68230a6ecc7b02c1a677b952bddaea309d5b96151326d07fe74140302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d8da86278484bc3e400fbca2e6155be518f71e957b7b4657223586687fa1052f79ace678cbe3601f5b24126825b72973023100e7ff2d818a645cb382d3a1c709683b80e1acbd466a2d4f5d13165fb87b140771262127fc886d55d7ac69eaf71e45d0280302047c435bb50067306502306c8f28a36813696dd9c14c81eb26bca719b9328a6b3991bae2e12b1190d64bb19dcd5980d60da2cee8ccf66bce50de9f023100e0d200cb97d4257654026248198cf01bb303b8aa13811bf32801e2553619cd7c93d8bd8f60f78f0e0f4067eb0b9b48980302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100df9b884034a286616cf8e6c0dce61965d0565e76aa4b4631f0fc3bd48cf1f024dfa583f51017744b883590b2d032c5ee02301fd9f3d72f910a80dfb1661b5006c62743d31c609ba98548b71da5dd12dc4168ddabb71624f03be232962e431c2259750302047c435bb50066306402307ebfbcb006c038d850ce3470ad2589a213df6d014e52deb06bb82eb645340c82ad61eaa34a89351f68c7b4285ed7df0302302ac86cf963d49c38d0f35bf5799f1773944523d765ed29972224848b448fa8e088f328b2b8396a1db1bd8d68b093cbdf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302503c3e683789cd6f1cbecefaf21677cb3948d97f2dd2c5849a10a64f2c229bc1c479f4dba9297bb09de37e1056179ff023036283c139f73f2ea318940deca33a99833aeed2a762a123c42c06bfb7fc79f65e1bd70d311a223344c7827f4878892910302047c435bb500663064023013dfdb9edc61b41befdfaa94a1e14ab12665f1eca23a8dfad5eb634d14f68057250c8ce13259ca790c51a68c3a432e4a023037d1ef81b3b1f6f168666aece6a705d5ea45443f8caee96c0484598388200de154b07193a3dff22fb92eab8fadbd4c980302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307e62c6fb93817921ef8db87e77bab08b1a3fd95c193e2d52c011fd5c37789dc332e0de64c8021f46368c99e095c8f234023100f34d19ae7c8f5d543a8349d74bc2cb6c1a647ccc58381c0825e0835ffbf7b518e29cd781193b4ecf67c22f83a8f9c3370302047c435bb500673065023100ef495a0b39a8fe8bba0ff5ad791e5d26d1bc773c08f193288add666c95ad34edd98eb1f74e9f4785e81cc9bf34c41ac9023033e0d4b8daa32abb785e944b1b65abf305e28ebbf9fa446f9f61f64767d0ec69f5911ca99ec456edbc1fd6c8a1f626670302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230099ad00dd078f93e93fdb2ed20516508a1940b343e3ab9940347be1361ad001aad70ed853c2a3191ecc7787c4130ec23023100a9bc8035a24184726c4e5992e06ac2be089eb357c1475d3b5e8ab6c78cd76460232fc7774cbfa969848e64e8562475a30302047c435bb500683066023100efcc72a2fd9013fd6c7d89fbdfff92ade59e70f523ea8e70e1da79b8c2e7e7f5d1098989a0bda1ce82385e517443f089023100aa7f59221c1127d75673cfe3d579d8f7b7d8544d9e8ab5c58156e91ec8fba6f116b7cf1ae53a86fd9941501437f3e2730302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023002a3d0984af809021939295662fea85db2f79269881c3d8801b9cfdc667740116fae220e39a2e0d0c1b2fe1afa2bc2260231008eb3cab804e63931b152b427cf593250af15019c1543650103ab16a22b1cacf467f539ec3b01d1db8e7e06aa713549bf0302047c435bb50067306502302b22b669e26bd1c0b956e706f5086ff62cd0dbfcbb9fed4d10b6788bcffb3c314b25e148f0f9c60d3ec72f162d47f2f6023100e122a17974faa99fd1bba043dd3e68fadc66fb7c250395286e8a952cc74a9c5ecf4d9ea963ed225542430255d25a298b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bff355fd20b36fb147c80fabcbf03d706ed05cc9d990b94b49fa75a3ffcaba11965c04ce9fc4c2fc2516267de9bb4dd1023100b8725e1497cd50e5d2553d8d7a92b9fadc82464febb92af412672908fa866cd9a64d63dc8469e518fb4ac8dcb6ae04b10302047c435bb50067306502300f9fe3512859c0bc660588f064ee5b1d4bfeaa3ab416668241ec3439d6a22d896f6ebfa450d9816a1ba1c8c305b06a30023100cca75c5c855037caea26aaa3beca298faaec9cbcd0b888a39eebaf7f3572b792faa441b925ffead8d8782d2f039e43f10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e14d59f90bc55fac565f8537f1eaaa00e4d8ef35cc60989ce7d1704b85e22b4a439c2972eb3d1fca67c6983e6f6c22b40230282a7e0ade78835f203832f56a3171a1592a4539a7601a4ee3508426a9dd612b85b76d177702af94b4146b5fc7cd6ba90302047c435bb500663064023073e14f29da785bceae4279644c34f5dd898813e03704bf2564c5e9f8eef8d2bad604d903bb8bbb0744beb92be0f5c96d023019a54f831c67039ff3065d3eb4c6fec1d31a36a13d3ff4f960e3c7f711ea9ed0e0a77f3f98bb645ccea8fa9f0f3a7d120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cb510b880b82d606d85ef3093014ca75268711a9d089f764a6b0224b5b1228ed01084d1ee91dc4bdd84801ab9a4027f9023009923142398e253ca23aa0fad92949857bd38ba7605f82f9046091e78f2724d53ec08d034231f7d4db4847af0a093dc90302047c435bb50067306502304272b50befd583d646562a73b9482986b8b5c52ff2947df28024aba8b2e494fbb0a6410ec8c47c06c6a004eb34daccb2023100eb4a3d195d63a582b6f2abd07ba4932afeba53f4a57bebc6b8472f70c98c02b21db29652599a0bfedb54b1eae2cc29750302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009739931afacdf7527fc7fbba5e78989c6b5d40d6d27d2967496b38d5fc373f5a0d16bb4601e59bcc3e0496ddaabbc448023100fa390397b4b19717a8558d64a91956a8b4211bb439fa7f4ce239a0434b55b597b49618f99332b162915a69bb6a0f152d0302047c435bb5006730650230670b575b2bf22bcc2ef1fdf33fc2d79109706745d01c7000397fea84c47021bd39dc992e8ddbbf7ecb6b37ea3b5beabd023100b915bd46c87dbe5276b2755143169cf4805a5975199d2c0b635a3497c9c64f368b094cb635b4e377830f2425b50902f20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300119b53106ff7e41c51b976cbc3b6d57e28e3aed39aa1e8885cbc1b643d5428a2946b03112427c2604236209763dbd2b023100c6ed8c88faaceb0b038f42d7b3515411bb644aac302f362ff0d8b0e1cf71454dd63db700c5944389201bf50d1952df5b0302047c435bb500673065023100bf07d4e8ad85b1ecf0e96aae3b7a2d98b79de8c8754f0dea0c303b00dd83db728ddd83beaf0effb1ede1de3bad5b86f20230195cf605aa84e596e7576e77d9b13e13faa6d19eb70ccf5e067149ffc8062b9c3c2f99fa81a675935a02c1be0abf9d050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c3f787595c90bd1779176e26b5bc4724e1a877c4418bed15fed348afdded7724ae893377e7fbe812e59a8cbff8863acf023100e49386941225a4579def3e1a5a04aab12b29b028a760e5aed5ac0fa7642fc0dd1bdd4d6068a28d692937cf7e5ec1aa500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023043b3c7acbf1fd10301ea87977dac5e87a49a793275374afa9c8e7a87e8de3c8727f680d6c0823cf4d88ae4cd74295e0f0231009254e2c8274badd29fd885754f6fafbcba7ead97a9cda7583df74e1aa9c322a338f2af0efb283d33839b1f8650be8b6b0302047c435bb500663064023018254627c4ba48e69531db576377efa44cef28a999243b9ce7041b369d7c365b710dfe2ac42a09741cab881769c2b1b9023006f2417666bf7ae0138345826bfb2a56db971278d6dec5adec54cd2e0cf78ea2cca02cca910e7f15954bab64bb8dfa5d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a17b0fe03442018b86f6f6f27627f84b0bf845678edae98b68de2d30503f34b99aa02809df0066f1cc27b8290c339c1b023100dc34a3d57d27f0e88a9908a4e0496bd6f5186dc384da652dea6d2178042997ae3fd048e70e932bd084b36d1c323300fe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023014c12645ab8a4f308ec313c8a4acfcd86da7efff7b025650f2e1f338f50a3cc7c6c71c3f92f4e4e3d1445f7ec21058f9023100dc8788a819e52319c80779f1d6a8b1a5bf591b75ecbc951a53b4b7813ed23f1fe6e54a2d5f60da87b5dcfa627c079a080302047c435bb500673065023100a1d089bc8760602e3d8b5336a25177225e628f26cd64c88a0741995028d10ffe52838acbd1ccdea0043e2d451618446702304239f529d22e460c13a68db902dedbcb2ba7d3830476ea6b4a4d0fca57b6150ff978236ca11999ef178fc3af6ed204a40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023057c44f4416b3e73563c6d48abb0a8c332092f90dfcde72a397e3cb93c6ec0cc84d949f3b06958407eaed5098655be3550230268dc1c1b5e517e1b4be4892df727ae9ef1ef6163194859a0adce86c0ef46d1f1d0561ed5589e936bb0d736617d903340302047c435bb500673065023073e0dc349baedc6dfc4562c581bb99503a54f3bf9d816504ea7e2f13e67d1c03a824d5ee46ba1c59614e6e285419cc7e023100d586577c34d8950acc1f5373fa21c980640f12f836998fd88ac53622771ce9ded9eafcf02da2aaa60f05ee5e283684410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302a3de651d3d0363459f48a970eb2138db6ab3dbbefa4136f5f8f9f8f05a59c477cec0449f47a0675cd9156daa2f113b5023100e91b5f58b25c590675fba8510b5c8a09be68a89a998bef27b53ed612488eb8e75de543efb841ed37b20c0cc8f93f999e0302047c435bb500673065023028b45d5e6cd58ac41980dca61a358c42265355bc1fbba8aad25c6efa6fc3a894663040854e2e6601ce39a1f0a5136299023100d6cdf49529505be63c82fa482e0e59603723d2c7fe777e22023ce6c6cb5ee4a07bc01124c5a810665e27d3755bf501ab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008b9dcbf98f9c749097123b447991ca1c8e2b18b7eb1cf408817bb1243df7675bf137aa58df6524cce3e7c88d196aea51023100c32f4044b56c3e05f0d2885c1fd488c7d8a6d3547c055939b3a34375f6c4b10d2a415a0d82fdc0da0814970fb903c5420302047c435bb500673065023059bef6908c5fd634d9288a7ffc6b0cad84778cc179cba8547f5e72dc004861c6e7ec293d74903aeb54ea3fb868bde877023100904775c88cf49ba730af077de7fb3c34c952dd771d5a74556e9cdeaefc74fc26e3c8043d3c9be94e0ac2724325cfec6f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f2898b89c76ba29dc37b7ce478888483d1fc3df8ae86cdb2ad0863dcdf115eb378d020e2ec515e2032a2c11a9e6e6fa602307145f7b5640cf1350839696629ba02aee08c5f827b887d564e04fb678ebda452d5b5d15dd0b224257427023ab5f02a8c0302047c435bb50068306602310084f7b8955494309720fa3075edb993f9c52f4d040c9bc2407aac681e514f6aeb11d82c782e78fe38a6736ce02f23ca1c023100cb7cf144fd7565ad3771c9981857cb54e4e704cdc94c36059c9f9618c618f3457d8540970d6d3d8dfecfd2916453f20f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100962eb440a6fcf8d6fcaa713ba3c6ffa5f1482ac68007cb152e51f50b85ff2853dccf430e4b02e75f033605ac2672ae9102304bcffd63b3e76df8cdbf5d1536d2daa65e0f3721bd94708fe48e3e87edf21def58ae806b0406161a74eaeae3481d0a580302047c435bb500673065023100c060f2e2b8a3e26bcceed59166a3238d101ee42aaa001138526ac1c5017b3232c3bdcf044603070d1b7368942f26296302302280886be299bce480ecef3fcbe7cf92454e9b409ac81a32c41105b1065eb8ac318a5a1550bba256e18f35c5448291fb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ab35bcbbb8281ca33afef61b085f97016b716a54f01f8f93ffea30d7bc5c26fac38347363087e88e6a2e2705f8731430023100ada7bde3cc3ef0c0d12df959ffa038701149ac5a97f79609081113be4ac1916c571af3195dd9a8855f8b6f969383e9d30302047c435bb50066306402305f1f5e0451451fbda3adc1e760171aea25ca28c5243478222f5f5db85c2004905b3579cdd2cc6e74547493e787fb767b023050e009180aaccf7ee7958fec869266d59909b6df8c3fd660e213ed5fc29539be1cdace37fd730563eb7b2c492f0ddd920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023008ca66d607ed3ee9d52ba44653af5ef44f0f425c7afd2d87a9b737bcbf4c24480b09acc1405c24d04476882a249a4d5a02310097ad039edcfa98889160d3e9a95bda20c529160ee91c7e2bccd4ecca2a7e7381054cce2fe927c9ae0bc7c6c3ddefb7740302047c435bb500673065023100f46bcc41bb5f3b56bf94d06d60403405dd314dd1b092a915ee110c2eb6fb2978ad8e57bb6b0900251e8ad45d160a19fe023057d92b5198bbba4446f9932875c1655da94a8be129ed9844ae835282853590cde3d4602d76c13f6d915c784510cce9780302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304ced164abf9d2c69348a327f61255c917b4b8e71dbd85b1c75ba4a3623da42b7ce9654112717af89d238b70ae3660a2f02301b0372df3e30dd808245241592482a4628c07a76528abe62cdacc026815ae110acc162047ba4305060ac41dac4decb2f0302047c435bb500683066023100c2ed2c0ea839e8a3aeb3555c7df9d3c563efd95813e2dea2491ad87c8bfaec34d9355e48f860d33e5cf1c86612570d00023100ff0d4275939765f091a74c7008fe52bd3b180384053d750edfa76c3c192b62b0b38e4247da89d7acdef4780df82eae530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a54090c5993db8d43defbb9a0feffb0d1dd2d239a85cff50f5ff3ad7ea149868a4ab8d07e010c39c49e702d46f4d9c4a023100a0338d8709959588a1cf92685990c4000e10c0afd12368c88ce00035118246c0da51f7222b87a3a43dfcce30884dadd00302047c435bb500673065023100aedcfccd30dda13159904bcefe02b2d6b2e4d3267b1692f56c6c573a8dc20cd6e8c228753d541e90822a6f24a503874802307d02d22a38f14334f6ba69f856402d0e54a2cc103325649bac9b38b421c226e1ed5ae040c6cef6fd0544fbbddd586be30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e54ed636c0e413529a7e428875066f0d8a8884b38786f36253fda47352193eb23da9e25b3cef2681e9eefaff3d0902810231009d3c69c2e381f5d5f019d6bcbcac0a2f11c596e799830addae223c9008cdf84e9af0d1fe0454dd73e18777fe64e297690302047c435bb500683066023100abe4e835b537f097a17a9192814e6e29c457d5561e35a7075d1c21501ffdd3d661481017cef211bd1095d92e4b817252023100f08034025b0901d7da042b54e81dfb76b31d0fe41a04ba67f0f40f568b8a73e88a863cb82dad1d37ea2baf1a6d045dad0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eef0e747bd9cd5b7baf2122c699fe124bf4ae63b839952644709f6d156f86d43f106970421fe7942be697a517169053c0230296093f269252c41b95ce2a34f8f39c0b0962a562c6523c5cb754d1fd331de1faea3affefeea79c2cc2156dfc63659860302047c435bb50066306402304c6b4da2eba4135ba9d3517f3bf5c454d33980aa75858cc3fde715c858b696dc2aa8d970db603c7de143b4af7502c16102303fb379cdca2778431afe1738fd314dec3051f4fbcdc18c6bceb4263a5fdcf860c8531f808e58227d02a40c9840ec48810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c09d36be4c872c03f9d98ba5b5b1371f4be1a2ff28d362d3c084a23d33b34cfd09f0ea0b5cfb1dc22a56cac79600bca902307dc9b547ea9da0ea257e19f112ffb48a08216a13aa57a86df4a186b60a6a3e979ec1603f00d451748d6581efdaf82c950302047c435bb500673065023032c4e7e458d214bf344796f588373c8fcfcc54beb66750f3ca7e6cd80453a89dd9c7dbbf87fbf1c39fd480e6c41d3939023100d599d9b6f233540d932b0526da155940eb1cc1dc195f54d7ebb93b3318f13841add0c5a3b17f672250dd4df7e4c54f420302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023071f73ce3436141e73069394cada5cdd9ec02d8459595da5c73f5785add23bfafeeca96bd7f8f67b1108314c8c1cdf62e02305736898478d91d8beff036c96550efbf18ba9fccc9074a473246ba1c42814d0f609d2d6605f3775daf823e84ba7a0a7d0302047c435bb5006830660231008b5c281825586bb5353a05e0599fc72dbf3de34a238b483a26e5a1f1956dea01c69e01b84b4aff6153dbe83660ef4afc023100e861b6f414904b4aa2c86ce516bb828690e537d97d0c47eea00e0e4c4c5deecc8a0227491809352c06f43a692c9fb7610302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305ac7ee5010493abf54f0f752d3f9d0b73bbee9c4a35b301f9b6089633a75b778f89fd826fdae67336a7187c0c6b1f78c023038bbed4329dad2f609099058af8d522c786ac54f487e871fd1a328b4ddf5dd35c4cadf859ee48bfbdb753a969d61175a0302047c435bb50066306402301612accb34a4e99257f0a9e0cbdf2b43436e97d59ea2cffa10b8dd262a5216b18498f33450f3a53ebf49ddd34453989f02303a8666a05d3b6e50e2b3f77bb21d45c0649d812dcb61701f2867d1f2ec6e54733ce4177e89dd42e042021e9153e545410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023040e34997d38b6656b6392b29b5a3a85ce842c7bc121572d287a4b5cdda38c5fbe972fd67be66fc01c590516bf98c488402300bf2b1f90656bd2fc79e7c691c3d63ab895744d5447dae173cacabdbc6ddfc0fab45b423f27691fb1df0af7a387e157e0302047c435bb5006830660231008da4d4d17437727395915b2d3e26496a3bb68851a309db20305a50b96f8b6c049610eb5a71b47fc625b2cd0d66474e87023100bff64c78f957b3551eb73ce26109107f241e873f8b19637d3b2d92b3f641903204d062f60e0188bfb0b4528733b32bfe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303ed637f9f16801e1960df1b8dba047ce1bd8854512a2f9c4947acaf542380a28ebbd10865f286cb03aefb620f961286f0231009665db7b52fac4a9554583efc649e1f7ae96add8e35c7962a531410f4836d606a4e7cbd7e04a383df2660e8b7bb7ff4e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230323d6f69afefd4b48a1948c41d13978909c3359208a9918d920cc61cb43f36977c55b43747bd8e826f09b61d26366d9302307d89e0f239085fce929bd28eb83aea05d560f10f129d3188eb848b3a268846c14462ab657f74694cde251d47159f3f580302047c435bb500673065023033d033028e96ead93b6cc8054a2dc15ce122b5033973faa7c0129b56d5302db1d03646ff30e05812cbc6ca2e2b06cdcf023100a4cf781c1034b22883260ebf2786b0d3d840e94c7bdc50c0a6fe6071ade86360fa995c23c1986135aaca19711fac66e80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009606739e311d61bad64e3b735d736cc812636c474bda706cea52f4c497b21aa54d477f88eeb100eac9790fbc47cba5220230126842932cd76626a61802a6899abfb20bd3d939c09fd7ff14a4f92f3c915195bb934254905302cf86f8c5f7032e510f0302047c435bb50067306502304412d47eb2e35f58b728643941626e085f8c28bc885849ed71b933ba2de72792f92d4c9654ae422eb98058fabaa5a7fc02310099644634bca676e48a466c534d69355153dc49801c72ade7e61b8a9ea6e7869a6a14688592c51657a4453af1a0a8f02c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f2f4cd0d0fae71ac2217ddc6a238d35950216438799044d614344a726dc5120aacf0f25021277c924e07ebf3a9c788d1023100be113568ee998d87268cd7df08b53167b7050c8f361f890b9be2b2a192b8c452e9b36fdf4a4dad38a0dd876a2ab732fd0302047c435bb500663064023078eaf74c6efa8397c89cf7ad89cb3b72db29cb2d37db112303dcd31612e2d295fd66fc742321ef480e2549269a58323a02304d3632d28cd203536908b020fe36265daed987f46fe74eabf38ad6918892b6abdd547de6e61aeb0be573c0347064e6180302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310097a9b590d681ee7f3bd59609c8a26a5d7f7d0249287b1c95a62283120f2abf17184df5f031b9bea42542b1f3ca4d3e2002303bc4a2a6afebee4985589084f4ab4a5479492d556d5295b66bad0401fc7407807918d9c158b5ce8a2456487ea7da6dc30302047c435bb50067306502306373cc36154baf8f0fd4ae622ba7bf537cd2a35f01ec1b31aec05d18990eae6f4d449f46b64562f2b1170cd1a453cb79023100c6b61b5db60f9b43b05aab8f0f8dfc4bbe432ec46f9931acd0be1035aa30705ff87c7cc4cc2dd3cd1c3ac26e087f6c400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f177eb393dcfcd36d2787ca906999753d16810a1f5ce08dda4cccab8c47e68c65af91a18835428b501e06cdb378ed72f023012d45aa186ef17bf2e90b3257a2e23ad17c9c04b4af98bf955f1bf8397f6c5572f1d3822d1dbceee89d1b1c9af42378a0302047c435bb50066306402304968cce0d2be6d18c35dbed6affe675ccbdaa785d3d847c49caf133a5f0e8253318e596e801b8faacdaf95cbb68dc8d002307fc0ca5be639a211bdef9b149f759a894db6cb4bcb3284ad48d040c2dd391e9cf3e07cf3a731b9f1ba850afc58ba72910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009ad168dd3be9f2e5816fa2663159083ad1b0a6fc1b0fc93957036abbb0de67e12f46ca2db1f3cb4d14a869d8f107bfac023048d9fd4f2cc520fc807d68d3c3198962bb4202130f40c1931cd7ceea3bb7beeaa7b0e3b2dca7df72ecc7f1f302097e460302047c435bb500673065023001e9bbee2d272d551d923dd49d146b12fff8e1f3971e5892f16f86ce4c34b705d7765771f6e79facff6035cbc968d15702310088a10f41be01d9f17dcfae94a0b795c3d4b74b1809f8b79043252c6217b2899c9aaeb9a39b61cdfa55a0dea621e1261c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008d103c9c6eadce1449129fa8de41b738446cd62a2686e15a0d27f6924ecadf6bf0d2f3ec9b7306710031c5003801affb023100fb8a04912eff61dce7a6c85a7aed88f2f8a8cad0ec6c13d18abbdeabdca02b12edb7cffcb635d921c04c4aa52b81aceb0302047c435bb50067306502302a7a0121bb53f633e6f633b1e21214856ee3e114190b2b0b316b56dfe3bdfe2eb527c3a6733cd9c8d07e3f32b10f673e023100c096a15208273a558ec9c613e595d495964e887c9bf3257bbb59a727ee2dc39e98dcb809672bc8e937e2c8935e2ee2a00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023057b4364b44b88773daf343579c4503430976722651f83b0dee0809f476de7772fc84e1b0595dd857e06c2c9b3b841ed3023062a7c25ed411dfc5412ebca6cc64c78a34cb4f485d37cf06d925df245fdfa1b60e347227e7d5e20541b6938814629e8f0302047c435bb500663064023043d29f79c2783a554ca222bb63d342553e58b6b32ee2899daf1863b991225b101e56cf458b9b28af93d3eaf1002777990230254fd1d288884eaedac7816298f3164aebec32d0054ead558f4ba98847dec76134ad3660ed81b17d96d9d7d52de172fb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ec68afd322779f2a3266a5a232dda0170f23935933bfd4252e895b053f006849a1c4cd18f316b8c77f0ddc9b654ae98f0231008f6d16da3476483c66165ec58c7ea8ef2ee2ef9b2efb534154b51d79118e5b1333a53fea769013a5baea2bb8ba99bc010302047c435bb500673065023100eb969635efebb234998f37877fc330ed0255e9503336a235f18f40be3630a70721db59943f3c5e2af753a3190e58bc5702306d8f2c4c8dd8b556e8798ad4c74390c7d3b951974956484f74b20741ea39b171452de9b2688657e64bacf1500fdfd54c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a008e1ab1902da41ed5d665affeb051df5f6783a80c0bf8d3b25c23ed331a35f5ceb858eb37062fc87c056de92aa1e010230539db84fe05a7d971dd38d941b79ef8c1597642f6c95fee31fc865ccb50605cf0e6852b41b709cdf92b8accad0fa11340302047c435bb50066306402306b2321f412ee573ddcb6b07e2207ad5c404e1ca0ed0844d418c806700761716c2abec6b654d089cd9baed9b521b02adb023054c3b84d390b793203816c7bfb14eb56df0254f0be4883972c8ea445d26526b327cb241e1afd29c9249febac36fbc5540302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100937b838aa4edfb5579e62471138861641d884631bd5750a976817fb9d59a20aa0af0e939d24952f623edd0a5a176e60b02310097fa88abca528a67e938f09400de39ee1ccb9151089566dbdec61e97088c1ac1e776a76a18cf52a3c819cd6aa75faa290302047c435bb5006630640230289615e8cce90968fe1707400fc65d6638a9425eab4b48a7ea32c0abea0d3499c7d2ef5045bcd676720638f19f6ae99f02303118b7526cc666108a1bdb27e85e0a511ce552907786a90be87f6a946be7914c17ed82c34e557434f0bfc63baf7d11d40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230515da99bea60870437d58e51e2dc902491998a962f5cc6203d255b1d3d899d5c7e8b05e51672acb66e2f7a6be1f32aad023006c69d348da7c2be383444cd8029368818120d1b561f65b67a8d2cff3a277c2d0884bca0235d49cb07d807e0bb9b7f8f0302047c435bb50067306502300ab05e8e39836dec19559d6947e0d22876c2880d9ace057adbaba7270ba81308d1c7beaebf1e5cb86d933bcae485fc360231009d031a8857be1463fc09f7c6d4d174437aca5abca41c5c1831f239c1a425063e34aca547af129139e4019379020bd9790302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230747c99b5ff8cb2543931e81d4d1e490a55fae82988a504f80329399f42e396477168124a3ff27d6ef7076d47cd8238fd02304d12fb3eee623a46b2890be70ff125b122367ed996773408d9ae93081523b160653583d7e7c986aec9f9f32a3ff4c1e20302047c435bb50066306402304e9290f4e3bc56d8965e43531a6ea3f2013291af56af473682d52bed7bba801ed2d53390d19b0e78a82400bf9cfa9e6802302081b8a6b5e0b500e90a0e2a93a93829a4ef65c5797b74625d12fe483122984b989ad72bf0ee7658a71f6b3824962aaa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230081e1f8a255409c2fbd005eecf04a7c79a7cab55a36e9da9626204b291b0f3649c34fb3949466c6f08153cd46be8940f023100c33ef3be254b44d16ae15b7985279173f2c317c4aeefbe94a764c7ab2fb9beb56baf7a40bb9e46e0479a2870101ef5060302047c435bb500683066023100edd6816c649063de96d0533fe7b8c25d42b878b7310ba7a22be62ad57bece0b4244cd77ed0293e97d7436c372860eea5023100f295a12da578f1aa3f2c820b06c3a20dedfa46ae17c3d97ca6be0983f3150c670869e0008796469e390f6477f4f69d730302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305c1085baad99731a4b61e0ffa9c0a58288277a6c4bad26f60e3f4b257075e53d7ec58358de8698532a81a50999559399023100f681c861e5f6ec8419ab30dfc3321369a1a12df38a749e3bfe039934f5da6b2ca0bbd7dca9d34024eb817c6e664ac6050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304041ddb5cdd920f05308e6c485ff90c42f740f6836a3274a6b8614e4f1435ec92deabefdfebcb6e9e2e98f721f23377d02307287166bf8fb90b6b58df699298bacb9e7543aa0801507ff3bb8275e7d4d8566102a273d8696cb4c5f1abe020485de390302047c435bb500673065023100a7006f3b053da467598ddb641af4eaa0e19527ac9080e9fc0764c482cc1cad1a4f2f656b09a36ed68f392e39ad2adc8c02302def4261689c1e7caf58c75a4a29a2f45944b31efc8ce6cda625e31e09d298e5d974ff03b5d348ea610d3662eba5835e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230513f0067aa20b5b1bd0cb228f3e03299c6310e19556eef192e59db43b5cc577a5fb45d421a4c60e7c7643f923ebc43f8023100c708b06af35a8237bd1e661529a70e5938cf287740d1efe48ff499465e8e8b63caa64e33e78547f2db079d80201a50f70302047c435bb500663064023051e21be26b3871b45951130547a38aaa18c765f60cf1e2f27b6d55dc0054d68fda01cbb422c90041080cdaeb2edf33e002307b679b80b28dc4b6c7269ac983f6dedd7add973b280c471c22bbbd29deae2ec2add29fa734de5428c50504a146ffd8fd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023051b34f5c4a19b08302fdc80e68f4b4784de2d0653200a6f76d9ae2f9b0fa5f2b2ccbda44604ddc5da2f54573cf2f547d023100c2a19875c9055e9577f2083542c48523488df4dd9f321cda6d332e9a0b0ce81e3ab37ecdc95018527b19b6405749b3650302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304671dfbc1edc73e90a7e1bd83d4d2ce154ddbb001f03c1b4e9a78ef3c9ee23840beb8d01a3ea56d9d910c53448d2ade9023100ce146aebd1c3ce41bb8a921b3f05c7df9baef043e6934833e60b23bd609c41fc981f76650dc94d48a1535501a18c5e330302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c4095f55c5e125cce6b0fefd27c2dc4f745d127e25c91d0a1fb97744171ad853467772ee0ce5ef20b97728bc18a21ff50230242b980d630ea7b979e09e9eefe429162d9c3930cd6f3224c004873e90e9f1797c899f7ba4ac320d93d6a0f03b8e24cc0302047c435bb500663064023065d8bc8cf78d9762b039c5a6ae50754452e9f547b586a145734aa95af0eff43ffe8cca61f1bf80a0847583df8be2c55802302e43293d333fd4ba86d829589e0380e0f6827ed0b76cb0096a0f59de22b7cf9900bd6e21c7d47548cd45a63ec2ef60440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304382603d8f945acb11f0cc8b815f127c2b3a791daeab81b4a072e3eef22a96ceb7fb40177707f6bf269dc638fe82cb1a02302322b7a7c38648b7fc2f463d073e28f055c2d6f4cf0e8f924b4f4badba3677220ae734e2ff970cc1f87d6a3112a8e29a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e798d5db0e5500a76ad9f79b59618260527dcaee3c8c4b72a0851430ceb1ffc6f02c65020eb7c6b5ce4908347583ca20023008e6f28e62b51ba7092dfd95a161203fb94a506bbb9eeac5a20d64bc7443576157c0c668b679dd5373deec1d98472e8a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e5c790aa93f926b0e61a8f3cbaa4042c5481e34edd5d11a827695e806d8c541e475ac2208b084daa3674f5a97713b4d90230732290b10627384bebc554b498525228f25b30d703777f338f599d555382e418ff5e816984c969b852bce6b9738b194d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100815708d09f50277175b3a8fb486027aad7137dd02394fedbc8fccc666f7d1a58064e17efce9c9da17414931837410d8e02310093331fd069754b68b50439a872c464fadc872888dde42ece2289655a3b75e250d924d261e55b0adf183cbd0f2ce3f0740302047c435bb500673065023100eeccb38ee0d096c4a3fdd3e8b39e7f7e7c4853c1f4985def70ea490fa200febef5764272ae98de7bd264ae266f366c5202303e49050f072a6f32b81135fcd77b4a795b077e50861f1fbd7c8aa050c848a627cfd6e29c3a4c958a5b1c98faf00dacf40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310097ee677945410a699b32d4f190cadc4f24afd8559b42d11b65ced7ba503dc3cf0695433a1f3006ef7558ae2642efcf79023100ecd5abf0483d3548520a4cd48f55a33c1e381b92b4303bda4cb70be82a5ad364495d017fd553e27f056e1f78621189900302047c435bb500683066023100b4bdc5072984842bbbaa2dc5ba4b57027286c22fd9aaa1591ccf5fdd8cdd8887d9b999f422ecdb75b71ef96ad9f37f4d023100f0f479450113dd5853bf4e4374fdbd3551fc3fce74751c6009feabcbc8b8116fcd8621830f8724ed8f861e94f1a432dc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301b49a846afef98193fc52437190821b1e4574fdeb6bc8b70b6174dd5ce62a46a579b4b232f8cbfd1a0b310a1c3054ead023100c52a88975127a25b989b268b305f29decb14e1b1c635c3b490921d062908e481b16885f3573e050e5b84fe6d36063eba0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301842afe9063fc7411ff21fc4e326a305e182f08978b2fdcd7b9cab0d28a6cfe3fa17bbe80eb124c28d33660037914fcd0230406ce7b6997ff9fa383770969e9d3323f3cedd89c4387d4e4f0113064ada9e0295004fc83a78b74c99fc1aec25193f420302047c435bb500673065023100dbcb62d549bbc519e690b9d8738053ae695374706daa7ecbb977517536c8b7edc0c2a2000ccc900e881d9856f9734ff9023053026ea3e2d244a2159df80615ee7c1979ab44211246f40f42609f7392d899e83cb79f91e3e0c26dc81044a1f5c5f7980302047c435bb500683066023100d433b124d843618b1066d72f966b6512a3b5d88968beb8d8d6baa5c355fe0861d89e1faa4f2e7513b87398d6b3f7651e023100f486388ecc92cbfbbabeb0ec430b32ec44b316bb321b141b8684c910e7970203c67914957e09e529c854861ca0f624ff0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300d11d24e4dc57ae8158bf5c4ac7c0c2341f37e798f61961eb4e8d85ab89cb4c2d2e5e6490202400fc586d33b7fd1c44e02302f670195a52722bdf6c7e4e4a7c52e5153be6b5d6b1f1dfadfac25d9085da7941c9d389aa90742edc2515f4c9805dbcb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fb898111057ab2c4fa69a7e837c8c362050c6b0673e2220c1fa80771818f6507c7f89b1c552c3e277a8c4ecece3de6840230278179958642a9d1c1aba86ee9cd0684ef0eda992e389101fbd7b7a32a75d138ecd31ad67a93057a1c79c19fd02756f00302047c435bb5006830660231008cbde01bff23dab4c26a0c8f877b60c2278bf127483201b971b3a07ebccecbc922a00ee4e9420b09eb5d8137dfdb8a86023100a93719e76a55500a52faa52a0e89d96ac0d099ff22a0b087d4900d087367fcaa62aec483b8ce891f4a27a562c84dd7a10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e88126947765efe0b8e00768305cbd601b1b1840c84b7b5b6d021357f7f42b887ff8c07b8c85643a88c7f0aefffc1c8c023025ea9fc3acab4cf2048b7511223ebde153fb83bc3b2593eb8844cd726a85ed83abe0b0f5d41f2d181496312a83723e530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b38e7479977f5fb30f52a41a2f4cdcbfb35d06c8c6b340b09f3a451d0cbc88f6c562765444cd89401b9828073d07a66b023100edceb0c1b696fe3d87b9f579971699b2a1ffbdc95b05990bfe07096253b5475df3eb96ae6fc96318e79eab005d19716b0302047c435bb500673065023063c73dc42739a7ffbbd18db22b84278f334ae9c664b205cf561a7fd2f948b9a6e996fd1229a7577d8544acdea2907a91023100a509a372100068ddfbe24876f31eff25cafb8137e1bd798f5c10907e5a39ea0b6ddc5eeebb8bbe2cee1eedee72f2aefb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023050f7ad175d2950f364aac68dd411cf609b9c5bc662be2b80443794fc35207a4e4aa0c0c709035df4ee625c802ee2368302310082478c3e7af189cbe7d29d782d1d07961d0374310116cd6474ef52011f8b92e0c9862addf1ab95259079ac29140924130302047c435bb50067306502307a434cfdf8d2c5e0f8e694f6b289b726610f6fbe7b7bf023356f9439a8dbf30cbbbaa19a0d0709f3a7b787649763ab6e023100cb5fde8fb9ceef9ba19a048dcf7fca30c411f382d87e43bca33b92cc96e14d93d53da1a54d68fccda59443e2047f813c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fe706a020c512d4da6d1850f2197a640c9b557ea2c29117bd6ce12c70977ea0eab954921fa1e0266602671f653807c910231008cf612e2f033bf806e37a2c471a933dbc6102377618474fa353923e055b44a5560677b19a3c0ef02c905f78ef12e946b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305faa3c741cb6cad73c85d9830d54a9fe49413eee117b6cdc61304ef2352eb69b6318b20bd34c4df4602c20783613e6a602306d858ee5f17cf18989a56c5c1fc7e8de16d5bd983d06befe018dcc962e01af56700d8217c9b5593baf87baec32ee851f0302047c435bb5006830660231008ea06e0405d300a6a5e697c0a799ae07c99e93008a750d0945a6ca1c16abad8beadbf55a1e3e11cd0164b46858de670c02310091a2fbbc059215ca2032e332b2e78d80d16a640107d69e31aca093da18a7d267f0b0a06b8704fc3d591857c64151fc910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303ff3916dd684e4763e30fab8f182160115c16e88ca1484905d82d276faa7600739d8c12fa528143c29d5e82d28af2ba002303d8bb0048450780252f4ecd072f1aa62e06676428f68aaa54b2684c3402df54c1daae53f6cea6a43a4c9a2034bf67c930302047c435bb50067306502307f1fdc98ce0c45c5c7692362d732cfa7dff68aded8c2e5c004b658a66eb3c549590353649dd4f5561086a2ae818ce9a5023100d95f2daa370475573766b88e1715cffdfb8125e7e4a51486021c86ab7dcaa384ea1d09a1d03b2d012e10dc57635d2c080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009164a6608df003d98c01dab6bd3f8a49abe78769e301a0876b589cd307f4b9269c023543cf6ea28021eba36577afd1720230652c8d78c10274ca0df35798ed12133b1d0af674b555090ca8b3d9e0dfd65fcb541f4e04cfaf9565277bd31aa66e56cf0302047c435bb500673065023075ce0e7b772d3c499ca78650e66e6a800bfc76a64f299700782f00605f78448c78b40324a63f259d7b353a9e63d604b3023100a3c74faf7e7ad66602737548be8c01036d6873c3f0b86b41d7ec9f09e90cfb0872d75cef19f4a46eb03be4084b23635d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303833835de24658c21fc7b1c1981b2c838a4e7e64d75923dc9d0ceb38653bfe19d1d471d160c70841ce4af11736a32ecf02303c4a5daf73d11dee10f721f51db3ee312d6e553fd5ba0a34a84cd526768a8edd265b6d8c75485949206b166ccaa538950302047c435bb50067306502305ee618599d1c94333c59c40f654eee29e531240dc35b0a66e90aa24c91cee881784457748d0afbb7d2325db250f26f76023100e4fbb33d1ca05568b33400905b39790911f553ce4ebc4bb2b66fe494c1b263fdd89e2ea0c26362ba30b2c09b425c91460302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023029edc9146702ae6d615810440ec8189659c8649d0d75083ccc062977fc6d46f6d184c121fd8b06a1731195f54677b63102301694c68e1b315c1311cdbcd7f74651f9682981259148fe68c04fd4bb14fba5ee23305ab391fa6d1271ba02842f2373180302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023013e89b660d390cb99e6a7085d3100a81fbf1ce336ffdb3fcff016f26480e5248c064c2ba041d303d110e720eb4e5864b02304c25d6723b863d5bca1d5d55938ed8eb51d1ae916e3f86d77e56f4f1d15b51d3b624def8d837447f5310274953c2f09b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023022e75aff2d25f2733510a2a3b6ec77d1e46824f4c391546e995547109a98f83280b963eccde910a068fb9ad11217a3bc02304d0989afe5e176583c90b4b56dc9deb6dad48968a69a7546695a340e435e304f74218eba130ddc3a9b63623281db69b80302047c435bb500673065023100f77a154b7b0019eed2119af4f43d8c8d436d839fd9daca70305f50fc4b101406fad2b5be7660502ef1665da7d0d3eea002303bee5a65efda27e800160a3b1437b9a451a25c9219eeba69325da55e1105898125416eb7b3710172e117760098ae2a3f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230186d9cbbab438ff8d65a8d1d3ab569133a9fb41411c27a66424eed81cd085674d5996c65391d5e94536ad97893fa74d3023100ccf423eb53b91f465d1f3c3df2c86dee9104edf7662fc266d690458c6b4c7cdec159d640238818b325fc528fd612c94a0302047c435bb500683066023100d2ebeae138a359327c5875a1085a042a3da028491757c84a3ff0269f66c008c9c7dabb649b6754978a72be234cfaeb3d02310083c4aa5c0e762829bb964f11cbd0a549a7f3f1e918022202e426d4fe09c3f60230a60d30952ed0975ca1f60932aba7810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c34fbba2abaf02eee6b6dbc96fd96cd88ecbd5e4971cb5350461f6e6de74602e00090b7ce03233f2447b9545d3014d7a023100cf5f3b73cb77f4a1cbba64cd41a1e19a8a5acac767df9709f64b31c658d81a5dfd7b18228a68d1259157594152dbb19d0302047c435bb50066306402300715d6b725ed3e5544c38a086379296d84ada26492971251abdf3ef5c365467861e2df755271961097d87a8e732032ff023037c974dca49199049eb34d87579d3d99c901909a47706f5086c59bf76a0d5039e24fbbfde321e7dbcf2406a2238e88f90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100afcff5b0b16b1fcde6a80d1c6f7947fe89a50c5b4db1a0c0033b1ae0612acb2ce4750b5fa06715cf1458a8a475ab03f802300ad4b95fd1ec876d56f1298303faf08e4a87fb154c7a5ed9a826c832acdc24155831ecbbd36e02cb99dd4ed62fb56ad20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023075ed304bf44e0c33cfb015b0548d390b4a4116ebee038e336f20c739a6d9ad9ecccb46ed67ac855745879c73fad3dd5c0231009a303e49d1e91edc9df792eb700cf892e9bbeac71e5f1bff36375d842940fb00bd910da7101344d76939ded8f51db8f20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023051734a92b5ee899f2c571e2b9fcd21a94a1a584a98e156e3d20c2a591c13d012cbfdd22f8e89bdf5db9b9d256ba1f64602301f5e17e81f6e2a81fb67f411229f1fc5d86fc6ecd43d1ed925db621dfbe615e0bd1319f61fade930d3d4ae5573d375f90302047c435bb50066306402300d72ee0734dbecc3e83cd7a60158a321e3d9fa3f3ba0444cf5d8ded678b280c47b2ce90e22b978f73d498c756c94553502303dd348b15d606f83da4d16f8e5f5fd3477ee24d5706fe8c123ae8400158472bed9f91124ccb16a03fecc82cf3bf0c1bb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009dca6c9d1a266b958b9f8991cfb4663890edc8c8a278353a8397af0c7370419bdf4c09896b1de6801ef3c8c6bbdec32302302641a8bd26b1749b60ddfde0627eaa419eb234da98c38c7d61a0f77500f7d394389758bbf068a827e66bbdb9c2d698ca0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301125447d0c007447832a5991b715460c3341006792f89e643318847315a3295445eaa4b5685c2918b1cb1c472737fabf02306d3a357090d468c34b8dc1f94935b7ad735da247225bd71b5f6c2a7d7301c05bcecfcf524531f8617b6d40c6cc9672f70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d1cd2eb79973379d6bad2913c8dbcaa949a6976ce4768b9bc3a8f375bc07e3f30b3aed8cb8e77cc43c2de1f65aeea4350231009978c96c87a2f9689e1dbbfe457ec864e873c0b65e7ddf699108e7d346925d6ff107db5ac2230069b5c0c4c6b7665f970302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023016dc59e1cd015a9a133b64a79c5742b44ced2fa25e6d48676821f98ba6438a8b72152f853b54a87452b2c469addcbcb6023100a62c725cd865016a6232dbda5653de253228938440adab156a260443322c5dc507fd9f95889fa3957e2b8d6e0447aa390302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009cea03734222e25cb6c77cbd7305b8623ea62fc45b9047664305e513203820cd0cf31f60a88203fed05900040bd213110230090d0934753bf3e729e69ef53151e8ae988d2f24ebba97976529a442b3e87892da004be59c07cd93e289a4752c9890670302047c435bb500683066023100964a540658ead9376f6f201600e58c38d0e54a1559dc5c9fe68ab71dcc3c0f6d6fbca7034f42eeb1c0de440edf1203a1023100c9e18fd918b3ce22ee57066d10eee8a39b912f240be3eecf117255ea4d31d6fc854a2bb283acf52deb93d100b49fecb30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230716766259ccf0c89b522b4cd4bc032fe4d29f0342b189e3af911df5e9eebf55d83e60c29bb35d0a63933d9829799e61c023012a86562e874e40baeab4d28c6d2a754b02c607ca9f81054e6a4b719f36ef979da8890aa431c247ce31f2ce36dc554720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ccf048cb71f879588531a01529d4e393a2857bc999c94c6a2ff5df4f7dbc0c592ec7173e86ebdd7d78d427be27300b61023100daca8f600048561a9ed74545e53612994bbf82b10f54cb36a4c90ecc54c2f7af4c7900cdb5507800dd737a937e2255ef0302047c435bb500683066023100fb3cefb554374d8e759bb5f773a1edf747eae4d26fa909880eb7f2ea1052e8e7fe87eea99c1772f4f90504c10c308ea8023100e360233f7532331a50959cf85c1d96bb6143fe41e258257a96f626bb0580d2e37c744f6cc861424e3e0d36a0ca136b950302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300fc546148d0151c8119dad98c6732f527211bc6ae58bfed9251e221afe5deaa0fc24784ea1d73687ca6e5001c646b603023100f586f002919983353de4a44d786edd370f2d1ef961a0418c858fb8d9e17c8b4cf78319bead63d4aba0650f5847c531090302047c435bb5006730650230242fd2e06d917bbbc6eb090fd258e31c1b31bda31ccbfdf62a091a10cb7d32c85a5b9d42b5ea081dac416c9c870da239023100eba5a1dadb5f26cd4f5723e8ab4351932214be19653a50410afe9b09ae6fee48f63f359cb5e114a4472de1e3d79593650302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ac59ed7e8e47d7e9da36f84ee8cebf13bc067676b82f2b95c060dc77feb29466ac680dd4e0cee7b6a5a370d576a4e1ae023100cb9b8eeb407b2d84a310e696d77b1c00a1b4106d7c6080adee46f047760b441c8c87c0f1e938782de33b0fa7572deab60302047c435bb5006730650230110171e3dfe592809705b75b3fc10f9158803d00f8c3ae4dc107e0f9408f6eba614d3829c89e84f9f1e2f22da5b283b90231009f7fcd1364d65a7b307322a16e5ee951c8235fc8a19658f8f9a14592d394c3b72af6982ddffaa6c2d630c387b31a3ff60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ad8a61576970cf768cbb48ea652f320d7d29c18296d7b70031b85a5f53cf73f5f5beb3e9fc9d41d091f445b50862cea8023100bbf86dfacb9ce21f690ee614342bbed578e864ccb280b87788273fd280a721c13da2d01477886c388f37813167d7f79a0302047c435bb50068306602310095a89a022e00ac1f5be8ac7d749649f87a365d3caebb3f988d6366c01db40cb496097d4e90b03f6236358b879b96414b023100d6a66d274e31492f9c68c04220d88d207aef3f2ffc7d6afcd83567e5bc89760b2f7a9bdfb2b712e3813f7baa9d07eb740302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023054bb200f202829282a3fa10984887b95afcc76d0b0453de728a7d5962f9b4305d476d3e1baf6a44427a7dcb50d58d08002301c11b8839e7f9ffbdcdd88a1f8782e903c74b9e1b96c4fc8c88be5c784085a204934b847e892af4ee5d87dadd8f1e08d0302047c435bb500683066023100d469011491f26a795c06d88c16bda6acf802bcbe00de9611b192fff90c3cfb6a26ea52f31720e59e6dc881fb650977e3023100b280723441b410bcac832853bc013c80fd741cb76bb8736fa451560a9eeb8e621bd3610263d1691ad4baeee53b8fc4060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310093b576805b517a58b4c9abf03c1a5a18e178d5d2f55a57f23d630cfeb1e3045c40782f25e757136e9a90bab073e00f07023100ed1da2f74ef15450f1ed475373ee3e7c91fa439e3d242c636474bd000932c4bc28ae7e4d9dd65a86997db8908967899a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e741276276ff1914540337aa5783d9f33797aee21bb923206060c8e20e7eddf755c0483e4541fc2d8667dad9dc9f1883023100d9cb686d4bb06d3788a795cc10fc3298d679b829dd42cdd4e91a5ab1ac94bc7f1947cf62d227b5730152a1f67bd9872a0302047c435bb500683066023100e1b94922602ce3a997432b476b29af796d15efe8277639f0b04f25ec93ed6469f9a17b8653e2826251968752e6b1e2df023100b4af833ed37710a4ac03d0e51cc275b39a463744eaeac024dc8cf363ff1b1c4e8f5f3b1f4f0ae3b938b9296926b26dbc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c24afde89de5bf69189956e9685e1eb01dd1f8b89cd8111ec4f7064040c686983bbbb9cf38350792ea26c1330838c20302303fe1454f814a413c079c4c1a68f8b433da951db5e087d26685fc58d475e8ce0d01811c937485122458dcb91d3a77ff660302047c435bb500683066023100a69b9dd58455e2230ed4e4833ecc9bb5c5c42c566013a50fb2e17b15db9ee4e87be15b35df71edbcca164dbe3b938610023100a223f048fd73c4ea564117b4ace69a92529d918b47874277ca38b7d9d4cae2034ffad2ed28bb22669afc2e08d876aba70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300de8b508d5893bcc4e27954203a99a165176179acc9936edfbb5c8bb71d0c2ae2136c6ad544a3ebe71600389c0946428023077929385e8076afbefe471bea82a97d9661e6735aa812a41b4243f5671eb81073eaf39168f82ef7dd6d99e6780a26a650302047c435bb500683066023100a8e71957b1553a67aeb296618bb354ddf3ef50844b0c665ec541ee9cecf5aa20a121fa79246402d87133c89ce60ba9ee023100c40c966cc67b6ba16ef57aa9a8023cc52d98e8bc57f872ff732cb627be7e284b7be5d5428e05d351ddddc0bde489319c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230785c4eeb3776dbc2345e31ad69a5cfb5e8d6d9055c7a431c7c18ce296f49c8b18175216922a41cda77d147dd35046241023009912e3749e15f4bca3d910554cdb8ccfd150347c7cb143d84e79b2cd351d5d535f0e788aaad07f003cab4a709a8003f0302047c435bb50066306402302d49f51498c5877d5501cda76ad361eecddcca1a7fecc9ec87be05ed707efd58c019c14746e0bdccb96162e940ef01ed023032bc2f30daedeca6755aa3f54c240f3739afd8035c0294d2567b9ef5e65dd4474e95fd28f78542a692d4dd18ba4c059e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b07160745172718cf3559c3d15aeb685d44a35f9564edb90054be5968763a8330db0750155e8e687ff7a20cbf6f099c9023100f467316ec2012153ca61b6e5bbf79048b6c36fde3bf265caa162013f97c505657078ee265efe43ef5fd1695938ee79e50302047c435bb500673065023060f6a398625e833fc535547288716392ed22b1820e95b9912c3004db43c433dc4ff195e113925e21896267fec5735cb6023100b72af2a6e22d5e02691870d45fc09b63c263705a9f76096fe8575795a16612b1915afdd2350c36ae42de038b38f5e35b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305252521a72f7011e674bbd98e23f4e96ae48af4602439ec180f1dcfb633eb45eef2ec62d26858921bd55c93c74cbb987023100e81171bc6ada9c3f4d1c75af9b143e66e1cfb5e9db54469565c8b19d360ef714a310984e421cfaad9d4b2a23b85728ff0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100952c73e275211df7d60896e4aea4a1bb7aebaefa2827157c0d2edbb6eaa2f33a7440aca99cdec18d97726f01c6ce8a1a023100ecbc861d29a1aa480c0d9e5c7a7acfece75adaf6a858b4fdca45af18a2047d53e642ac1a1c2138a50e5c41e7db0ef1b20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009df6fb5307bed1871c387bdccab2c1bb4a1b5da1e9ba95dcfd1612371c4b5590da00cf90373e5f6a3f051add81e060b7023100f0fdb430dcdd093f410f2b62afdda300bf02c8ee198dd57ba98c401802c03da91d26bf31d4eeb25b60a7e02bfd342e4e0302047c435bb5006830660231009405778c2c8aec1e344e14f33d0a46859e32155482a1795b2336fb8afe1b6e8ffd39f5047f9e4d1ca7941588071993c8023100b306743461ff521645702edffe829d47128e4ef3d110131022d1bcab1499add59a3eed2c240a8535f3e7f14796d093a70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306bf5af52fdfc775c848ab628bea1aace9928db83bee10ddeb1072e7a10cf584d55ca088d7d84ce0b345c856fca57695002305703761048c2c0134812e08cefd6a93e98edaeec5582a05345b9cc22836c477b02557f7eef6474b18d71f7e341128f540302047c435bb500673065023100d6332ee17f118bdd1880d3c30840eb7e2e62d655ea8fbbbc686ec3aabb4d4dba9ef55bc85b3efc97a03fcbaec7a037b102305e3f4e49aad1ad1088cd79a0a6a7e6c6ea331d7bcd0f5b53a3285948f5314d5cd0267aef0097a2edf249949784ada2560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ae1ad781142f748b9899e2d40c1fb1935ac26af3a28969ed687665adf0a03d52682decaab5be88ad8d81f5184000ec83023100af7641338b34ffb10e3194b982c24d1cbf43842d18a8822ec2e7091771bcc186afebdb7c6e4ca70bc73081ed80c694120302047c435bb50066306402300e8d6de71e6c5bb6b6b786bc1daa5a257212f8c8ac9f25c8f852f1bbe8ce58d2e1a7ad3c5be00279640fd48ad2bf7bc1023048850107a14dc40d3cb10544a47f04fbf735470a2ae1e9135b7bb3a176402c3021ffbdf3d8fe972a6de91cb243a3afdd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302f2693c7f873ca04c36e457e591e45dd4e1a4fe3029b55f3f0d87309782346b131a38dd96ea7f589c0763415753a318d023100cde6a8fdfa1972e98538d7b20471169025274974d3e9eb010948858985d6b5e9d1760c97e5871263f3414ff04ce019f60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300781fe05b1b87e227ae3bee7e2b585c36c1fef2c105ea0f9cbc7357766126a8d13d0e6b99502ba3f1f76d8fe97c5b8db02310088e7b60eaf1c846a2639364163ff806356ee0d1546980ceec184e8c68132767fa1e3fedaf1b7e503fb1bbbf583c4c6a00302047c435bb500663064023056cc130c7095cbb2fb64c256d51addde9abf449dbbe63d2166d15dc8b0358f52c05481cdbedfb441400fd8acb6833915023063ff7e4c668d2d948cfa67a3545208653998bde58f53d7b1f314f536481317dde3452c0db2cb0a8738bc81ec8caa07fd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300130a7fb44df3c4cdcd7f2a5456cb7ae3b9008fe166f313095f6b839d22ad76d01ea6c6823cf21ba1b6111274787d4b502302479e16a883d632fe3e830452ac2365e314dbe0de80e530516889ec085b2e443a4e5aecfee974cc23d0696cddbaabdf30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306169bc5de029216fc17be338eee67f91a3151590dbd254c8c14a0c2df66cecbc6742909b117ab4433ed9c9e823da13e80230118d528adba948f4dc840300e3cdd8503682669c0ee104a0ed544f32d2f73a2e87fe65dd3259754d788ef489aa72752e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303957e6f6cb4f20857942617082e59eefd74bec75ed8469678846b05067632cf7ec0cee519ca5c6f538f16700a139c7d1023100b4003eb764cec13087f2e96ee52f3945aaf8d7c504d291e7714a048c1c248fa49cab255522e12c039c8dc9e405864bd50302047c435bb500683066023100adcefcc11601e2d96dcaab275e0e2e25bbad9a4235280aa3a25cbca1c984ddcf1d3f0f7a3d18409b1d9326321c28e151023100ab7fe32b169ad38465ab2b07151cc711902e12f9d6d217491b20cb6079220cc1b9dde01e289064c9e52b7f428e4b9de70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d365938bbd5bc643f87070ace713a8b2e8239127ea4b775bba3a746bb258fe6fc256968357334a1aeb5838a7d727bb75023100fa6384f9beb258742aee8a39bc5fc75fd791463827820c2b08218499172f2687323fd1ff987af4422ed3cb2efcaabf0c0302047c435bb5006630640230400c1f05facbe2d6a0c447adbdd9ef616f11e9749f0a24863bec38d0cebae287d0d1758f0ddb199087586b08ac18485702306d74beb028899c52c6b8e40b8e2111e23fe7d4183393b3ee2889b72a5ba400a506d25c208aafcc5292e43ea30c526ba60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100eb02cca7e746d74928d1222789c6f1a3a4968d929f185abb535449e0de9429e5c610759c84cd67b24a7fc1f31e0c066a023100e544d83e55ae8f0853aaf6916dd32daa34d9414617bca6d3332f3d8eb017d713fa5d7604d963a81d0f6f2be391a391790302047c435bb500683066023100c67a48a5623045aa3a600cbb48e4e5ce8e17691daba550df55b78c8cedea0df96b3744112ef7d3e66cfaa39f933b0919023100da2b5306397368b87c89bceff02fda5d3627dbf331d94139cd5ab470bc833cca5db8a4afa4636a747a4740663ebfce060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023011a6f85e8535286baf841fc2a711d1ebc124a397a16e5fb6477cc90cf4c3fd51a96ae6b46d8a18f291d79e152847eb0d023100cdad079c4459ab378370eebd8c12ecd41dda62af73ee382b5b8013896c511510c5a61da4252405a36b0c1c8e4fa9fa7d0302047c435bb50067306502310091030f82084667bd047826cf6831a0453a25aaae9183b323edf33d2e3b4b37cb0a92765c52f1c8b6cd1470019673357a023052a6b8d4cbfe6539bd2c3ba7277602cb91a05a3115f2e1b8dac894ee9fc41b040c5dad55332841b307e087916393e5420302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230791fc7210b9957d95e74bf42049099b4493df75abaa819b5b8306c3c0145abc0d5e57622071b98126d40f90cb8a36ad302307cb23debd1e82ff3605a72f654ddd518275b32ff8e314f56de92ed7b9cfe94d26c3c877f6adba76e78962bbbafb382b80302047c435bb50067306502301ec85a573d14c29617b618835f83493e3374481134f4a04aa7e478630bfc7016e0ab1b04a7971775f926d4ba60536ead02310089b1554b784e2f738a2f01fb164582fa70ed305d1e09bdc92dd8ee4ddf76cf91ca4c5b6ba40264acc8c9c31a98fb17050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303d4eab135c83b58111f4d020be71f473fabe36c99f19de55df301119ba21327b2898bfafd681b1ec52dff711bc175f78023100e99ad9b0856c988136cbd0edb249e77ec8a7b4c9b16a2d31d5cd9045a2e1696fb809d7045a24c7557e638b1a5b7fa6e50302047c435bb5006730650231008c4fdbd1460942beef401be1f17312f2079a81831cca95bddc3e85c9ed7d0dca40e256f9399eb840d0d8f309559beae50230488d516ff67d6c91670bf643feccba817404e15adb092f1204c0e6f655f7bea15b67650c8cad07d84322065ab263c12e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023067d3ff1c01a4f1c06b6ba7862780ff39ea435739bdf4acb11e54edb461da3fc4082e1ebe4e57afa8536a9edb2bd62d7b023100bb7d7ded7407d45597520b362af53f797958e379382020e6983a582f85e03c5c9ce4b37d384daaa47b571d0844bcad4d0302047c435bb50067306502307a1894eb2f3589c34258c9b245a907d67c6944c7bddffad2e67ae4835a95e62078bde7f9005f78f7e779db8c5567dceb023100a4d851141f7a9c91f163ebb4d58eeb84cd4c3dbe0176c57171957a7ce1232de7d1002e49e4cae875ca5708c1b50db1510302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100befce872f32fc3b928436cad85337e915cf1570bc1796d6333fb0f4b1aaa6f11b376606552484057fde060800a5b759d0230068b096d7680f63aac574ebb0f72480d99717912cbe2dcb4c017f65c19e91e5d7e3400f692177e39627f1dc458ec1d410302047c435bb500673065023100c3addf45dc11a241cfd1090f38e0d4d977a5bc78b32d19c242c9e23a62474a16bc285d7b5bf3f559fc4e6b5580974321023041c55b798c5d0c3d0dfcba60a96bacfb0374be0bb4e16b7ddf0b2b96d0fa54cc8c156eb64358354a67696eb5b1bd37320302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306b7ac0345781ebd82e4a5168fa1046ad05d355e638abd3f331a4c240178a45267b9f391e35ed918212530797480b5319023100e17a440b37efa88f575958c57166c24f3e55f339ce0659ab26104a0bc89b8dea2390036b891be4b3694cb40162ef97d40302047c435bb500673065023025d37dcf8bfb5a7dc2701e38f0c582c9ba53c3b5db9f424ee1cf5e3e57cb00006f52f86083355e2214e9aa5f7208e6b90231008f06c11f151ca1a7f36dd40771579ab58c9efcee27f05d471edfcee9980d119a2270a0ba02a3cf2bb6d9d1ee9a743a8f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303f7fdb760a2af338656953f42fd50e1cddc71b5773fd4c7bcf9487ac635ceb1abadd8a54b00337628272369df261568402300525f3da1c7c9089c10bcee80cf3e78fc15c51a7bbda541c1b9265f09eadbbf0642b9f8444ee663374ea2319865304880302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023008b10f2798a05d8e6d8830e7641a8eea55acec19348717533435c06fea221d0acd0812722ffa92191279a0c227768897023100b9d139253468cbf9f1acb69e9664d5de4b3dbdc183979506fba412f42ea9b0dc960fd9ee54d85637f9ce539efb593acc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f2fe4b0cda49a70ab432b6e349f9d4c549c0540fe78e02eb05fa518a6691ed0866b3e737dd08b67971264b1eb0bed0e9023001e6b663954883de582f642ef77f98df9b81eaa31c99fc48ed045a629884ea5dd9d78aec0301ffdc87f3aa05be4cd9b50302047c435bb500673065023100d89130999eb2309f7f00211c9b32c15f2c7a5fd9673658dd7d4f648b794393e84227def4eefd96061d04cffe8d2f06f6023023356c3169feb518ed6ca68671c8da8a6e266e9274b421bc4ab9c7d71a5ae575c877c9e2b6d9844c104460c1e0f6bf420302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009ce00e5ea8d19cdfb64a1142aba22306261f173c82fa4518172067f97a383c49080f5b98c25d1790ff94779b5e4abece023100b9557aa3dd8d75ebede83380e83e136c2b167b2bebe2ffe96b726a72d959ae657d2bec4e5071f72a066b178171acea180302047c435bb50066306402306e174b6b25295f1f863eda44a73b6327a1bf7d1e7e306d8ee9e48cf2d42df93f88371e90b4533c0adde5d1dd27af5d47023044e2166a28eca3245ac31664a64b24f6fe77a014c3e71fc7445830f50425c73e93dfa8159583c4afadb7ec8852868c480302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ebe06cf6cf3bf0c6607d27bbccb93c3e927a068126f4da3cf2163cfe06069c720db0d08107e50defef8a85dc038c0f99023100df81a7ac3f5cd3975da387814d7fd6855a4256fdfb770f5f9d8197956793751dfd4c0d8764a95c436a2bfbf0f28970980302047c435bb50067306502302dad3e9cecfa7e4320afa3c56ac0bd406711abeb9008919ee3e4778526a51bc6d2af3b1c914503cdd867b1e6f7a413d902310095696810d33610cad244a73ec6be00129cd8064f359cece0cb6f902f57e1b5ecf9badb3688c810b10c714035ca2466020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fab188cfa5e924034cff3f71449bf4e5ecccc43a044ef03f8a131110964d16409e890c5473ef38fb92136db6699e6bed023100ba10055e4dc99470a831d68e3b25086b71d539b6b858e089f54e64a3519998b1ee061159d59aa59bef73a09df9c9a29b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301a1e6a724ccf592c654f9d4808164ca1daef574a1f6086ac18de4cd7e330b8e0a8d90b30fa7911a3ab99c5fb36314eb1023100bfae9830fc7bdb130d4caefc80a24708a65e70f6425dc2cdd23220f51009e750a62c63e13744601ea59a04d83d743b480302047c435bb50067306502305a0fe7b9cb795ce16df00d2ef0d512ac8b560adf3120be5b0f2b8d24a722e03d7efb37579c646c74200c1d384395aa81023100c6daf4cb2cdf203f91ada7f8698a606225915a3612b01703ce1223eb8271848644d9d3e503fe32e2e66f0681cdd7105e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100916a50e6f0d183175ed99d985017c2862c2bb5341e1b89a9d77bf4ed2461e1678ebbb5a927fd1d45879ec2a184cd7d610230258a12f7e6e25813a4e4cf67e14df2c82dd741cf1fb6ccfd01f8715482a53fa254a23373e776b35317006e9c6f50d5210302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307c395bac01d5252ee1c8c8f91b5156673248514342f6253cada69e080824c6fe98472f57e366bd99082252b403fc361b0231008fdc1ae8dc87ef847b4690d047356d4811619931b7b6f70378192863c2b90dbe6ea63216ab5e36654a49fea0ce1f6c740302047c435bb5006630640230545d7f5fa4b25b0d66a537db2353cece8d889d4360f640e878a95e960a77f72078ca0c70b5b3f19091409e686f8849d402307d13a2301bf1bdef2228584afab85009541bc2d597da604b79b8732342fd4f3a51ccf937b0e5345d6c5d82f2318281130302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305008e84c8552ddcb08e63bfaf3c8ce114a8ae6544e6f1fb91763ba2a3735b6b07982b61ea66d7eb53440b1b3e55650aa023051467c4749ef07d564b99fee2156971aad2b22237bdd597393010d0e4dc2bd04d606582ca3c8971b19d8bbc113da6d3f0302047c435bb500673065023100f3655a423de6243b4ae31c66c0018e663d841aa74d404d6770d19493e9a9e916b36d6ceff017ffb9bf69750fb79086f2023066ebab73d9d5e3646e6a5caa050638e1940546b2c1bc89b734375eb040c7108d3be10fd3213e13239ac645830d34eea40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d12f270622e8227098522f358b16dac778d68a9b41e5c90fb6bcfbec1f6cfa74105e49e838fc2ad5ee71434c88f40669023100efeb1ed3ee9da4fdd3f3dbe029dbca38a1b9d03b9f33bd58f24983c6a751b85cba2eef4b8c35d53bc7e56d3122bd94f50302047c435bb50066306402302c6b06b76ab57d773f6950bc437b9933ebbe07ec0cc211059bd95eaefea50d750cb4e27a93b54fcc409ca47910d013a2023014d2f7ef4534ed8d09b5246739395cbf112c7923f3249117b7b2753d87c2a32e113a5e16de247f674e412a4c871f1f660302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023070a5b3fcab863b0cd77afde03fe9912c76c868deb14e3467135e871f3dc7f82c007ea648f1bf33c77219267287dc3add02304cf079e4d2e08758dabe7f224ac13a0d2563c7acc46023c2d0d50033f38bf0712614948e4f3babaa685c6ea41f70fd840302047c435bb5006630640230054dd883375e73afaec610143cc828df829ae818960fe4764eb0bfbdd4224ba9b66742c4a750763e40c7ee9b55702b030230268316002dfb2452910475eab0cbd2656602854c263a431f33d07300c50481300ecb6761e9db3c27a20b397ed8586a550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023073d41ffe550032ffc1695f2d655a520b931c6fec59c6212aaa2b3a2df321f4d499a6c8ecad496cec94dfe9078907c138023100b6ab411fac7c3bf7bf2eb2ca63032f7cbf829f718ed355ddb1e7f1671736ef511be914c4ecb4f8a87d49776b4b3edbc80302047c435bb500673065023100c8f33112037b56ec638e41d1b7451a2a1ccb03e47da2a3836da0a0a448154716abfd8e643b5005a317c00b5f04d04c7302300ea09271e167b6452d6717f0d199582349557fe2942a6235870a7fc9efa4e0ed71ba86408ef5a833a10ce8f974ad5ebd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230638bf5d6edf33254c71d3b13b2f229d202cf4edb04dff7295aa7075431f73e566d55fa8657973cd08f7da1923801c36a023100f2ff90bac8b451bb8372fd816a154adad13a929a45824a66027456b309151f20ae3ddb074fe1db1edf81077436a145590302047c435bb5006630640230325fd552b3cbd725d0a1d42ed19bc345df976adaa22a9d01b952094068cc96375371b987ddf13abe3573f15a3dba2ff20230130ebd11a50677156c2bf796602682b20d44e0d6ec61fa4accb014e7e25956f9e0e63d6606e0a7925509d81205d2132e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230612c4fab3471752c8d76a5d7e0dad854f93f7ff7adcf0985b952f1276c57be26d6e7795ad8e0dade89ca59b92a8cf29b023100bc2d354fe555d4b0b24c5e17b5964d0f7080d8a1e959bda713e96201c435969ae5f906ed2a6e42a99c476b45dd583cfc0302047c435bb50066306402301aec0eb8c81b33b31bd4118abdf75e017c69793a59144447e63ed4a7c06b87aad54a8494e6f3773815092691c278638902303788eb5f7015a4c32f521c90fd89ac3531da9aed67676042c2a2388433957f702fe55698757a93c8ec9b5c2328603cec0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e04668d00d55068db885666ce8e3afd852848a0b824d7aa8fe556b27a7ea9c9a9878abc0246900345f7d0edcf13b7b4302310085252f1e76e12530012d96c12591e3f45668a48ec77f63ccdf0b2faa3515fda8afe4a2f4c1c463d08b08566d136b66050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a47ecd6fa1a353d523aa11bc5bdc583b9d868e09df252ea7792785c810c0f491891b6c9541a960ef738de6d1d6832aa3023013bd73e6f1545f59a392cba771ec54d7e5ec6e3aded18a2de647eb803cfb2165148fb22e3b1e0df16d8fc08cf38f77d20302047c435bb500663064023072d34d1e5dde47073debcf2d28f940d05838b096d5431e16c2d413054345fb28d4ffd6a1f9b44f76df97e9d2fc84b2f602303774b56f81fad6b8060707e5ee12a88d34e732fdebca42f847280092b49fc0cab301fb6a3b22c4a95beee41b9fd3d68c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304c67b4c4f9c1f7f0f2f496ae13cd45a9e27c3e3ebd1c26f90907473ac3685e2ddfc2da4c42c4f411bb52de5515c7bad7023100f7a7c6696d7769a2bb39fa1e0cc83a1739a17ec695edc0d678be82e2a8c665755edaabf1623f56946c085a4bf3d8b77d0302047c435bb50066306402305faf7911626c1bee7af9fef129950097e684bc15c7fe7749422dcd56576723bc75f79999ff1e39b8b3407e9f982da1da02300fb359b407c9830da6de898a5172c6b13d4a34c2da2eede46c27edd94f6f4bb12f5ebe101557a51be8fc0379e9d5f0f80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310081fc978d44f3972a05045d7d19e2010ce8bbf26e4b06d05e76c2de93dea6856c523810c0e3e28d725e22046395f94282023100f492be5608f08dea2382d8287e29e65103c0d0917d0f9101777020bd69d20ce7eba4321aa572b8327b67d3468b3b9ad70302047c435bb50066306402300b03bfe10b19d2a11badb3e87779af3d12dd663e8d9e7d9a24528657cbfd72653f1dfe8db19e51e2ee27fc9880a681bc02305bb04d56da7c57b861a037dfde1d9d4989048e45c560e7fefcee022db434da1784d1c068621ffc7beffb7862f21d05d70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f1660d8e4c61b053bde86e8285832588cfba89a15d4afa8ee4f8e00efea7a45bef7b394764b1b932de36c46126b3d666023015b327b3b4d3c938dce08d9036d2ec00bfe20efb7d1213c85f6665dd1985d9b8b6be60573da471fbd804362d6871a6110302047c435bb500683066023100ad082c60a1f9a802880ec6375721c682dfb4150d9b38d4439f97092a3038cc35da0acf3783ef4597d4b2964098887510023100a4e18f0a81b4a32434f021286f4f69e6e407000bd8b9b9ef8c3489bd28be5a7c1848ef9b5e48f53daddf7c38f826b57e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023011cd1306368fd9493e852d41c406f224e84c08617762b73d1eec78ca61425fd89f2010f2a31513fc26cb307b72a5c3e50231009bdb357d9ff10a3b37002bd4898799d41de1cbd1b862fd6cd3750164f5de2b853ea958c0ed28d429c0f3a10fcef8f81e0302047c435bb50065306302303f23bb4c05cdd42ae908224c2ac410f85464bbd00c70ab0f3da3cb215d2978285d0a043511a950121f677c88c928fca4022f3137e958c49f2ac40acc386ff09b16f7cd43b1645ffcc9e36f051b8058fb087fa0c44590e5091dee62ff504bd29a910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b3c832db786ee68f233238be2a064032d51b7647eada34a78e8006f9ab61de8fc7e96d2dfef63692f162cef21c8d4980023100ffac310840e8cd8bb4babbb04c939d11f5da1737f1c9131c1a0397bf7ea15ab953d83dcdd096bb971ae8052c188a9e670302047c435bb50066306402304e92e53c7e09e28686e7c4db8de45e1f593469bea310bf5b04c7dc2a2ecf0d72256e4cbbf3d7ed373b0bf0401c862f2102306f44cdf5f12a8117ecb618e74c6e09cd85e4fd177ab3e307a1653dbb9a721cd35816d1734c9477110345f4ab3ea45c660302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b5c2d5bbf811b2abc2f03dd65f27227c71aa2351d0cc16ddb16019b836d42cfa9e5658d78f82a79aed7737b84c31d506023048037ff80a5c4eb34a4e3b0319ab70c87b9f1a8f5a123f505943f265f3ac510724a565628d3b5fd8da74281934c869230302047c435bb500663064023053a4633be6cc436ccbcfc6bce11ca60f30b23d775a67781b07a949f8790ec79e041602fd1220500c8acde7483c490d23023035bbaa1d3bf63ef9f4a132f0789fbad326af3b2a94d13edc6b0983982cf5c0d360919caae7b190969eff2f8eb2ea18b60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023003376f02bf597503b05ba1e637554890dc56dc02793797bddf48fdf4eca3bba3f73b9422ace753e404d69bce306c36b502310097fe5040a8cc13910f208ac71bf5d296acdd7137dd0a00b4471e5ff167cece0ab0b3452251b887ce1c49bd5df3ef7efc0302047c435bb50067306502307e62cad7b2ff773459f7ea2f4dde0ce402b0df9f068b6c48127be0e6c5ebbda11260cf7d6469f5258aab8bb3291cb08f023100a924349a900ac27dc12e784018d265e1b4149d3b7bc7c9062e348d1d5dd91f66fed9bc94bf27988600c651aca6bcd1890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dd7aad09205a3e39f5cc9f56276297ef3b36061166054ba0a0f0d71bce8201ede1948afafb4c9de1191f979da1f083b9023033675ac82990e3d67b0342e709029de53d192642ff3d3c1456b875be5da484cf184faf91eb8b4f0a094006a4902b52080302047c435bb5006830660231009be48fda215f893ca5e621ed43a16702dee62dcec0c125da0bc8d13c89c5673ca556f13315a12173440120914e4e4c29023100aa83c2020886f043eeb5de29c41f94ba120ca6f66c335de0dd672a2d996c5bf730496cd7451581a58ed74357e2dd123e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023019e7a6a2cd523b039aacb3abed5f399f57bff10796c4eb8cf3c0efbf2e57f80961cc5c0fc9aec89176f3edfcfb81933002306857b478184c36401c29262bcad51f2cb4fe8e314c29089c586c2adf8f70dc0e82175a8e5a0a2ace22a3d8194c261ba10302047c435bb500673065023100b3234b97c2cd4b264521349afbbbac0104ace91f4f4c2c1f5baf33571b520383defefca9963706ff33ed21f302f3c845023070a33224533bb41180e837fdbfb6e63f6704e1177ac161207364a1cb8a83636600410cbb28d252ae25be9bfdd20740640302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023065195efa5c861bd511e6f9368a8d70dde0b14f37291e908b5e4cd42670b5bc659555834986cbf7f1a119709c5b56f64902310085c5acabe69958d3c885adaf5c9e0d082d5977d5e40bcdc0acc77441a8b7bb5cdc0ab2db052d1d9e5f9d01dd4018a2bc0302047c435bb50066306402301c74b9dd16e10185d139197a25e0ad5f7d58aab9040b2c0cb6da40074f4c0ab09813d2aa11ca3edc43e9d7717c022e9b02305c47137e5881de35466736643e0cce78fdc96c2902b3b4efe31257aabbda77e8f984caf3eccc8101b8d5ddfa686224140302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100faac2e622b5a33044b87ea5e3b252b7f372a5d35b653b895bf30e65d54c609146f3ef07385537a7c04dd14d3f0650bdf023100bd159e7e0f525ae1b888c68adf66fd7e6134eb0127fbdd048f397bb159eb05486c120399bcaf6254c429c299ec00a8b20302047c435bb50066306402304661fa67ac4d4c621dcdaf056f23e5aca7add9e81476382c1781511a19aa84d622d41576e726193b0e56b942bcebf8b3023005ddb52000c22e9e1dbcd977dd061550f1e673b38caeabc2097b789027296d8656c55bf3932d5c80b677b521a43d31ef0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d5bf743d304d9557be1039e780373ab4925e9a6e78b902fa8437b7872f809a3ef5cbe50880db768e6607d38a22d5807c02304de976c08fc97a07eff00b2295a8a1112f1424fa1ebfe9408434dc673780ae8ed5dcd6c5c0ab6f7d939436de4285bb6c0302047c435bb50066306402300800b9d8de4c8ded1f5630bd0f2156c1691e545dbe98c09030139f88bdbdd5e4a04374183d38bbc81ed75ccdada99c5002303268a4ddbcba0f7d9e33bfb64d0d476b723111640e64ff0cf804003506df48520ed64bb78f96d87d9fe6417dc440121f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230449cde71bf9aa0c958c243bbf2ddf46a1895df827e667d7279b931cdbea931cbc18c620d01d9956d3dbadc915bd1a3c9023100ea53c44884df8fbaf1ab16549fb4bfed318d1cb49e4c5f7b951d8785f68a4ccab150178471d5a2de8eaffd72a4b5624a0302047c435bb50068306602310089d6e52c987419b73a9e38af7d5e4f5fe9f9243110a2901197e1b4aa1fa822246800875ed4cb919b1d4088bb47e96c54023100c472d2068faa0876382abb51e3d7cb8ed89cf0d0667b4994a3c60e2e42e0f4e549c76c9e5e7e8902c23d42d71b0fb70a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023062198062b546f22dfc42b12fd42287f777dca6358cb48054be3502c0f76025e31e3754e2f8c75eb9ffe4b27a444cd923023100ea992ed91c094718793538c3123487cd6fe21fcdbea8a0217b51e6aa4edaadb12970ec2b081004b61e8e635c7b99672b0302047c435bb50067306502310087aab8b29156703bc3713e1cd8c9ab7b3b8d2d23edfd227a26ca3fea5b5ed26359ff54f13b53857599968eec610c335d0230035ab4557e117d979962b5c54ba24631319178fc861cec017b62065c251e331740bad3030b1ef4d16f2b216a6f8bcf830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f4774758cde09eaccc346abef5153cbd44c71a56d092902fea5991c8d8b15b9027a7f6c205a919208c522318a4e30db1023028a8dd7af99a4715837a089d2d56987ad432d2c5d4564c875f4ca17dcbbdc57910bb772526c9a448c687b0df740e419e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306305b6da19601163745f8487d050567ac5faf30e136b7f90083d17b3f7118bc8aa678a960acfd0cebbcf5915bd4a038d023100840da25454ad52be5c55885d360804e9ab4ed87f1786e10cb8e90646969da18127e31246a2b2222ec20b1e5cb8b4cb060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300120abd385d8e76d4e357e81b5ed4c0c51af1b47bce9da2de6fb563632b0c4120dbfe13c5c465fae140a2506acb9ba41023100a9240d5d31546aadc5244d52710df0358e5784a0823dff9fc026c7bdf33e62a8fe394fbc610a90cdc81e7b6aefdded090302047c435bb500673065023100cc71eccc628651eb9473215d265edf9a379b82f44b9e5bca53fb6063370db65d735b397639c61cb13030d9a10abf7d8e023063cb9149461988b2e189891c785e02eb5c18d2e153c94a4973f1520c943a1d96f2c3fc5ca17d905ebae158700ca73a840302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304bd7fc150fc7fbc5ba40e4ecc1f6a1bb95cf1212c48da1cb5132494364b7e4d25bad20e4ff9e13c5592b8bf286cfc1b7023030df7f0bc2e279d901cbf741d5d6285b53a2b2d451ecae0920097059d6e7a8122ccef89030ba51487dc6221b4d3630880302047c435bb500673065023006ac3db1bfc72638e34691a77a0e0a0c6886949e657a015fcedc8f234d6a84436fe797a16a3a7673fe2c4a97dc02a6a2023100d852de6830fcbde606f6b64d07ad13f2cb174feb781f6e7648c92a8c7fab4f4cbf5a177fb323d4156a4dad4c06bae2fe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ae24da66fe33d1e3dc387b2fc1b0ae2ddb823528a88dcd3b227b0460336488ad4f82732a9b129892da38e3118f70cf8a02305a1229ec6865e533660fa7d790de3242f0dda93d89836cdd2e35eb212b4d25e18ddda4d0db069d47afb3996452d2cada0302047c435bb50067306502307dba6b391b3b7c69ee81aa87cc3431c284bca0880de6ccaeaba4c65f227e0938e289d0020d54e396af063f4024e6bcf5023100f0f08f44f71e1fcc9f0ef73f6feee593347d4cec772abb2961c2b0d13f4c06dc1a7d29171809acb9a179a72306e3b3c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305288982543e4a908de701c1fe210497e8521a6d03a897af66eabdb488ef050f25c05e66a56d5b3da242a6fe6175add7a02305388b9338ff949b0c1fabb100c55db41d96be5442489645c5834fb0f8815cea6d02d62f3bd3053d57e8e0f85492a95700302047c435bb50067306502305efb9a69beaa0187ee0850c62f0451eaf1fb249fef614e070e1960f8f679b4c367b31bbabfc1d80733e6898992b6bbe2023100e7fe2d2e884fd75574b1e743eb1571633527b82989aa1cb02735c0c14045ed999628d49760cc27420b012ee012f5e3220302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c461e2bfc49c465635b9ec7043f16af40b6f14f8141cf69ceec9104127865a0ac59d84ed76711efe69f327fee2c3f088023100be4c763ba2302b9f8b66b762d35dbe769be75ed43e084567bdefd9e1a6f2b38e9f196a0255cc03d5cc61074452050c720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009bbf9f7b8b33d90618a5386b2bd35fe8766166165bf232cd28a55435c8aa9265546af6d11763aeebafc968c5720d79690231009de24563cb45408295cead3ae7945c6a6f6d6219a88a6ddac7310729b269bd7ce3e7a3d54bd419acdf8d90943c37d9530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307be902a69462028d74e2319bbc4d5d27b515f57933d05130b9101460d2d8c71b50c109670bea4104adeafe2cdfaa1e230231008f0dcb4f57dbc0f7535417318193509c70b660a353b55bfab40cbb8a99ef56745aaa5941ed4f8d920cf726871ff9cbbd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d01c13ca550034736708a29d1e3f1c8d9c7750f92572e78600769e88787b915e006797ed53fc1ae5ef5432b115f46f4a023100ce57e487a9dcb74bda72057e55ccb335bec5b88e97eb545b9d832d6bd481ee1fa0611a9dd74b84cec4b5904363d4e4650302047c435bb500673065023100cf4cd8c9df1d365eab99a6059f37059b34d9a6d028d3bd81744d8ce9be676ebae6ee8e4b4caf3f9005eb8a0108068c570230452156f29253e2ffe47fe32d3bf8618b6f3354f704b47d6493b76138128f8a9d13ea241cca110abbf347d43ff5c0a68b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230521b69b01290b2310a7b18d6559033a3a0ffd69b18d3ab3aefa18b80daff7a8936e3f8d291216d313043de1c11b0b1320230258c94967f6f7cde68fcbcb9fd7c61e8e671e95d7371b941153c359fbfb8ac7a4d41747a167491f8eb23a2c384ae11100302047c435bb500673065023100a4572c54fbdc6a915396f52006dba87b43020d5309978e472f924e25293849e2256007a81e0ee72a767c181e4dc7692a023039d33342b385900bc620cad2aa553d01bad1df7e5339be9f1339d3e5e3bdf8ca0757eb20e3bba5bcc26fdda2cfe003ad0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307f7c33647eb459a0947fab8c162c52f3f135e8f6a02eb3ea2d7abfefc2b08acea806e1bd13d7e2bd5ae697726c0b5d1d023000d84e67e04d4bc48a2aedd4d0e0840054173e47ebbf0c27a1776c451f2bf4607e914d872744e91dccb65cc808fa414c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230526dc9d2be04380f337c2b314405d74b19a1d514393ead5a11770088ad530835e903f5768646656b4e903079d1f989770231008e0b4474fe10e3c9419e7053e93ccbbc8a3aa1f57fef239e2a61323d441c763be51f0fc52376b391cb41990d05a2823a0302047c435bb5006630640230423889fb6f83fd578a3e1700bb3222932a0232facb98d2c521d753191968747614782c3fd1f08100840088a987c8125d02303a17387639d185e46cf37dabf83e4d449b8bb1d910766a7236968111a810a272decedf497db506826bbe32a37bcc75bf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306a093960a21ed2956a269393875652843c23e392a128aaaac601711a0ad6a5d00b7d32c7df2f3cf3dbd599bfca418309023100d37aba8bde433fdb2325a457fa2743254b2487afa1b2a1a83b43f68c2daea8eb8125cd4f7d9643adc7d16f5a1f49ef7c0302047c435bb500673065023100c1d9def1cd95211b3aa77a58c8f0d9317860a3238d9d13d1acf8ca759a340ef5a77da6b18149385dad35292ec8d3907c0230549e095f324f6d8104fea61e5fd38e3367e2a59c5aee2644eba8028c5af0b3cdb4f557ef9e32594221be6501301461290302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310099e05b282089c42ef1e2dfa14c851c83d6362690c2337673040557deb026a388e0071da1191eb48359153352c72ee220023100901df91a9ba45498590b320ebb39414762db0498c3fa85f56b5e58c07b857104202099bddc6e5891debcb7455cd0b5b20302047c435bb500683066023100a805510714b42e65d3dcecceff5f854bf963219d2f1e6cd2c6d398efcfad7ffa83fcf7ad822f187b8953a50440e0a9aa023100d6584fc8ba1251819b066e5d2ee6f030f7bdaf172febbfe898036f56d08d16de2a94bda7700565c8ca902a08c12f0c230302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a25df7ec9b13a4b2e70cf173a986d742b44fc6c516d675445e2f7dbda8db5655064f5cfc851e3693b7530c7c470e1c9f02306dbdb467a6f826f81a72017dacb2aa6b4023870b1f601ae489c4fe6018b3d3ae13588be6653f6eca4e1bd6c2fb99c1b50302047c435bb500673065023100ebebf04a5da10ca5e2f7a182773b3db45e300a03a23d2273111eacf63681184f37085a49cae01bd3e4a11de54f1dcade0230338b8188eedf1dac99f23b3a6cedc0df6faf5a3c6d4a6a5a6f13acb11c606bc8b365e10af77260b50c4c8aed6c5d64440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bab32680a93090b9a75f0a20bd902592a74f9eb14e7c171b63a3b4abf019d1db3acac6efaf17d1781ea4a7d8c2c8b89c023100e033ae20239c825c2d08c3fa31e60d7d40b13d513812497592265d295ea69a5381a3c1017730308c8253aca656abf8b00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bc5ee35392c46e119d8e29f0b3bbe80809374fa7f281dbd9b11f462cee77e7589b1eeff59e01c1167c4796d6ea74cbe7023059e44506ff740e9233a5545b8b48db87dbfdd962c1eceea60790946bfb0e5d383407bbe1d8c1cdf860a99ba686be32a90302047c435bb50067306502310085950e649eee37a84cd337bde468ea59d3cdc3412111a61e792f1a975adc286f34093ea0a17ebc6e3a24a7ad1505cd8e023051af373a02058f8c2c7e82e81ea341dfd9bbffe7f76ddc0866c2fd88b4d2d9ecaa3ccb58013aef758be03e7cb74ace150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d53c2a030761714db25851018674164caf250b9e874a8ab8f12b044ca1903114a395d04964a379f1968cf5a6bd9c51e0023004fb4f52add1cf9c1848221e950c7b999ba43793873d315590837d4e7a5ab3a572bbee070057bf6f9f535842e230beff0302047c435bb500683066023100fdef0e5de712a7bda75fe9f73caa419e1eba123722b4009f3f9ec7c858da1cefc70d32d425a377415ce417175f29b3f3023100d8c3275389b269e8812ca1f357e567553c9f0f108c46161c88c7d6e777b450fe1efb712ffc79fc51e1056a61597c2e090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023058b7b2b1d7105138f22ed40e28129b746696b7d7179a3d3bc2cdb8855af20c940ce8704997ac434cc67278bd718c48a1023100eb05f1687ed6cfd7aaf6d41ea7e198891d3be0c47023b0395037f0b9a403f080f1bf07190b37a97ae7ad90a1262c73a70302047c435bb500673065023071cbeb61b19bc6278ac5788853711e5431d781736157bd87d25a6596adcff4fea66814b7667e9a768ad2729af5b3669b023100f118015c0b5f95a786461350c4fccf166df30fc12ef9239b51eaf5667755a26ba0a8de4aadeb173547a869491680b80b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023015349bdaba99d4a37f1acac326559f3a7012117f5748547448e189e5d774cd786bb22b1675901eae9c27359fd36806ac0231008bc33935c2a7f9f76e4953da938c7eb4da1c303dd5c6a77d434cce4abfba22c625ffcbf722e6bbe614bd30af4c096db00302047c435bb500673065023100f3a16f5225371d8035d365d0c9dd48c2165c5f08fb3a157960955540b0770b209ba80d66b0dc8dbc89aec024f7b4a41102304bb99be843784c4dbe309ee1e93905c4874e9059a969a25d6fe0d62336244c5f8b1780652db22a2d96a7874700eed3410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230177325d186dcdc9ef60c001f8441c1f3dcddad2a5ec19817967c2dd46d191c16f022c06d1101a4464e1ab296d569c2ba02304721e58594bb5708966d732b2bda8af698360944fafdbc972862db55a7c95f97832298a1c570fec5301186037947fe4d0302047c435bb500673065023100f5e2945a73613ec8718d5d0be5af9afefbeebd6dad01885fa69aaf9af3c5b81ed3a92610851dbe99cabc428f76b96c3b02306e33114f0ddce6ace6b34e0a9a638969741c0327d5aa66a68b77481a08d1a7fde5a5dd79cec6a0a0b4ebd414c066872e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310097aba3c78dfa73428a20e4ead3123839f35603dca0743af108e65d9a7f4b72c1b8d918ddf38a220f3acf16d4331a0079023100842c228544bd300fb3523e4f6c481dcf0357d7e7b38665728db6248beee3d6cac42f44cb2b3836967e82dfa37e40a02b0302047c435bb500673065023100b9a2d2f02eb800914b1831714efbcc000f1b6761fbe377627fda603b47a96e0060492d98a0b819b99b3f6398f5d0f52602302994955f430fdebb2d6d260c78012e125ce178431a013866cd63047214ed052b14f6f394624bd02d343469303a405c660302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c2630399add51b825335727249c24564bba28f88a85acaadd731c7f5cc146521eda9c7ea5da548b800de38b521e80c22023100e70cfb84f0a67a29570e37960b315fe720ddd2dec97ebba0b97cb7b24d6db2755bac32e2889840b8839fda92eb1b6bb50302047c435bb500673065023100c86e919d9bcfd4cd2e4f0c76d17cb44333fcdb18e78749aa6bfdb6d106cba744de543e4520edb6bb2d4b3354b99878b102307d747bbc350ead69a406ad352ed226d7aa2806d38830951fafc710a87ce61efa682ea43868999f83f12bf7937e027ccb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b9ff6c2da80f0715b7550b790b747ed4976f1ed1609f990007695cc04c824f57429ebfe5e71d1ccd55c92430e59ab0da0230322100512eec4ae5d7a8a1d2e5bbb074dfa39d9b632a1580ff6e46f1264b75bf1c84f215a005e6db1044e7c49e4d68c20302047c435bb50066306402307df5b1b803482715f3e0a593779448fc9ed67f8a938f16f978b48cd80a90324733ce0162b5f34f3b7b9ceb744f80aa8202304eb741ede14a97697129f19febf4534b787f0f1aba337cc87bd8b030e626355c870aef36ed9dfec6d14aa21140aa096e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023022ad9bce1af81be62295bb6acdc44957ff92147f0c630e1272be0181de81e68695c42a20b0e1243f14b3999a8e14601c023100ea5c548d60254a4ae3821ec9d559f9d4c6b6bedf1f17481ad1492dfbef2202650c7992c14352e51644ede2826165bf780302047c435bb50067306502301975bd630876d5ddfb68611659abc380d91ab2ec8e8dc1a82eaf19548ebd31d66462afc1bf6de8892f5740af7847246a023100add468b79425035e494dd8833dcc51b2f72e08441214376edf9e58e99f80f86d56b0d300cf04e03d675d49a44bdbc1e20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e82a3616d74d1991ccea155d88fe9049afba85818544ed03df604be3bd8cada385b63e9f9951248b0fcec9c5144d07d0023100d3477ba667353ed76775d926d16aa657dd81b80e11ebe2126d82a23078775d30d96efedebd9519a042178454c2544e2c0302047c435bb5006730650231008818f74d6619961d392e2f83ba1c1db6f4def707ec67b2a0173e9d74c1e7b5705808768930e8946513a3364113a3501c02306c1b80e12a22527f795d7b62f40afebe61c95cbc4aacfd8e038c878bd06b5129da0e987608cb2c5547ee2508cec940030302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008338e6d2cad6053270be2e13409e9e1e54f086fe430c7f7978ebcc96e96abc95236d5446daf919f9a1bf6deb3a81c4a9023100c7dbd7d0453f0a62f46f67dadc53214c191303b49732148753c69bb5fd23e7ba3d6d9ba6f51070e10a160449a6af0dab0302047c435bb500663064023048be704462956da80d51ed82a5cbccb60957e301d4f8fb7fcd094592e65c553662ad4d88b1e41d22bbc9a83fb274d14a02301b14fe3f6cbadb0b98e2fab1cae802f84614752b6efa9ce506f29a7c545848e5c3c493dadcab800e26d994c44d0328ea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310096bf7006a957e5802e6dfe48650cb29cd4e03038847c0431830a69f3be0f4f27bd665d8d6b2d4526f2ce8b2bc269107a02306cb8be187281b7a02d3bef7996b831c6dd80adc095b9dc2919d8fb9d25649d6baf6db82f77b44e9c2b17b81c2e5bf8d70302047c435bb500683066023100d7784b0290e0c35b1ad632bc1289ddd3c4e5e8b443b0292ff0901d55767548c91f139892ce399455b6d572b44f6ff844023100a54a174d346e749f34fe638f598e89cc9a3a92bff7cdbf0279c6d043d0cd42c13c3ea195be4e09b98e83592520064dfb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ee2bad21c23ad3de732a4a8897a4bd182dba18d8a85bf1e5db2cffaf92266a20f39eb672dc9de2455d5df32df30a8b9302307c0ec5a076d2ca77442d9116abee58a6915de838ea9d8aaef37c1c3726b0c169deeae7ed7b0467bcdd396ffe25e9b9270302047c435bb500663064023032c3a7771d8e58bd4930237e90b6878134287a917f4940e4c826e563e58568c85818d24bfa127d3f44df5c7810eb6fca02306000e13c88b3ecfa7fbf523cb99204c5c0c71b1b376c90e38168f8c548f32fa958eeeca2838124c2703b67b4b19c71d70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023051357a7fbe7879312a0a02df31c368e1e7e94127916b0fb642706c4d671fb62e0515b52a3a7b2246a0894ce0267a7889023100862cf2c027c5f51674f1f514dd17b6ec36a4649d22dcebdd1099e74501cc2ae8e08ddb37f869fae2734c8dd53d2e1e970302047c435bb50068306602310085c957e2146b98da4569891d84a5e3a1ae1c36a363fa8cafaedfdb27ad9d8ec3ced31328578e574435ca7f2f08ecabc1023100dcbdf93ac3f044610bf69bee225d36227282d3f258553edc70c115f896be2501d067b0ef3c8efa0335612dd5e909cb950302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cd85279fcc0eafd9e8864799f6727668ef3f0542d8a3f06fc046335e1fdd25df424a4633959a7cd2b9d085b33e7d401f023100fdeff5d766d94b822a7d8cf72844c2692ed968605aed5dd88fefc656fd460c4f9f930d4a63b5e1b5c4145726d0c023980302047c435bb50067306502302ec3f4f692f32c3be7cc3d60e881a80afd33a076f1cd2cd2291ca2e92bde244f360bc94f39d7936dade02a7678717127023100b150d05f15234b4fc9f3f65855342e477e7d0d3444150a8ff967a0891e13c27829b3ab5d188045aa86564648d72568a40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300a565516a944b98af2baff0764eae8db4ad9b8b6a0de1497c2a8c946234e50ccb7dc7a68e77f173d56aa804cbe3c60a4023100dfb98dc7579232be241d19a6f495f2402fb19fdc45f3ca28656e5129034854904fc3858e803b892fffb3486982f1be580302047c435bb50066306402303e5b66b269f00a0bc9ad7b9ccb591e1113bb2a3a4089f9c8475c31ea65c49d5442b892ce9056c7a08101f46065987a5d02304d1dcc3ee2ee1d8d650a8a83a1c1b5820b1d2b690c6537e7032ba6aa8a82f624257cb3133e3d49cdae54f0bb35db958e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ac35e7574a8f489f4569305c78f9d6ebba3b213823dc7c485b80aeda13335ed7a65dabedc7dfbfd0e6bc603a226749fe023100ebdcfb1eeac61f43eeead973041ed31c50608fcbe6ef0535e16193175e402afac94bbad5b020fcd74b5716da0e80d1440302047c435bb500663064023025a4c8697a1509c5e24520ba7fcbd0d802ea7d53298355ad20b9da1dc4cb23bc58496305100ecaf6479b22af352fe7a702307fa1eb9a17bd6ff585224663995e85d5babd731c2cace20624df4f533363eea3eb1e5d2af6386d9070647f65cd4c23680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023062cc185da9ab7d67fc4f9dd1ca092d41481105ce2fe3706d77f044104e049fff06e1f1be02e3482f083f541c33bf31b20230655d3ce88071d3dd744d28220fcc25af9b6db6c1067e4dec9ece84c04bafd10afbe213b649aa193f0b61b483b44609c80302047c435bb500683066023100cdd8e1452521f35906ff4d6a6cf0c454c2915f7e34e2a46fd8b626328f1d16d979169e603a08fb35664356b8b346b09d023100bddc12cbf2eb97ce08453fac7338c4ee3d4536afffbc52a893e0be693423f10de18564e4c47b0499f4203687d95ed5630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ae23cc8a4415edaff0a627e2ffc47768a856de66503696b48508627d48013ea542a067961d5f63627a2debe85abeb65602303c6d90e427b7eb6279f3d4e8c339567dc0517342309d707849baca394f38da5af8fb872e7a55c526ce59a6236e418f580302047c435bb500683066023100e15397dedcc9cf6ec05c929206675c5170fe5b23a5bfe84dcc41cf0f1227ed0bc48a94b7124c123d0eaf36ecd23d34db023100dde1e8ef1c9e4d311994210d2ce2181198039cadc1bd695252eb3c5fb00c49a099a986a0c5c88673bfad7651a57ff7890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009f48437f38224cbc563a427632cb06620904bca18b53ce472e4cf5def970936f87180fd281895f7dd59e21c1f82ccdf2023100bf7c58a0ac457d7e7d1fc49b7f0347938557b4967d2290a566d89b5cf3ad89bf8834984535d399f2f56e22f03cb0e9160302047c435bb500673065023060a67cd7cb349b84e0f9cceafd7ba3e32610bb2de5d2d612df6d20e73f870464d52bf9f9a08837194f5717ed97973205023100d4f39a3fc01c0e80765229aa14d00d8d52ec0e215455724aad7496f8198f5b388552fb6bc21f6c7f60389f3b0f11533e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310095ade932f37ce659a42763df4ea501f4645622ce67ad25be575864320b86da2a0434d0d49aed0c8a91b63684cb246373023100f129e424eb65380a25d74b2da2cd0698c2eca3c88e86c12f353942b68a8ddbf27f9d1b806eadf644f267c02334b52c220302047c435bb500673065023100f9396b6f520356fa0f3e39e26b93b5dfb4a9541791bbbf160d30418aa927a8d644231676fe19181cfb23f1fa5298c02302306e4899701599c518afc8f9d4b581b45d46b2d896500b07e2c364ccb0e6f1e038a31c119065d00571f41079ee37a012b50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302b01637d07a9e531b01d6da5a926f35899117c4b106387d7e9bb4efd36dc4e871bb6981c1b888d3ffdab055cdf55333d023020ae5b2a985f5a675f718e9ab0aa08484ceeb2525b83ef8a4050f3c281e0ada100d0306b9531cade75f4280f1d69138d0302047c435bb500663064023056b8f2618e2da77421f9901affe61d948d17578fcb6c5e9b5b11900d892053a838b6e52dd09b73bb78c1bcef348ca512023069ceb7161c3ca24461037fa88f4271677afc43876594d2852b8fd9df9de5a8a6c42b9c182f6c4ef16b446e3ca681bd5b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fc3793a2dc656064cc77273ae99a3574c776e270705fff6c719daa1cd6c750dc3640321ed854d2b1cf46abb0f2a4402902307f53abe785bbdbfd514ebe0d1aec78e6a591927dbfe2c7af31893f32e57c4619f4897dd400fe312a0d0050982223cfb50302047c435bb500683066023100a2c1455b730ecbadd4e85a5626442ee63e2cadcc083534eee72d1fec08d6d8eadde871eabd44592802cc8595d4f74c09023100f030e21d8cdb18e1490ae3683f70fcab5771e1ede43f5717484727612d405a923377525fde9c3a664b4ba1695ec82a650302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310082e8c62ef13d8990fdb0aa8a5218843585a534c04aa1b28ff248c1a4890a2824fbd69f7a61ab21a6bbaa502d3882a35202301fb512c137769ed03e938bee1261723a30db5d31647b985a17f3c88bf55b52538376ceedf88f255be043b9ee8148911b0302047c435bb50067306502306d5009d1ab511b3890c98ed926a92f365495e615a31ae8d1ab26a5d128b0411ab1a9988c746d0a421ce13500c615d6ed023100e7151674f4695d37eec035226db127cd7ecd8d6bb16df0f0fc1129b5cf2b8c5b50a30c2714f219045e473167d56fbf790302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fd02236312ee0a4823fc9fe135254ad002586eea09d11e8e0e2c752d833b446a72cc198da2841c90faee86d16d76cf21023035a7652515213e92465472edc8d9e3b80dcea02f259c0667559c20a1f1ad29e740384eb3d45e10e276126932d9ffbdb70302047c435bb50067306502310082453505414bdf4b1f924874a3be23202f485c21d927f8cfeffc0012ff2ed48dd0eee15792da68dee96568e959c3877f02303e40eee80d70e1127a1e59b556e5bd97e66bf683f445f1b5b4d18ddf00ee77dca8b3526423636c82f68d0e334093ce7e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303fd3b852633317e9e06f3f029e1ace33b3b7c90711af8249776e3c4866c1a062535dda47f97d8516397d426eeac7f53e023100923b9521e2078302fa30ca32ae59670271a2adb0a9627a001b0f3d56fbbb0f8bef52e1b3a4def2e464df9c61218a91c90302047c435bb500673065023100b165b19b8966795f88bf05e1b69c45545a20e4d9ab25d908533e6ba45c3ed789e2b152ef64d0c7be0ddc0ff04c10dbb6023035afdffc9a44238d406cdfe39cf4f431c166838a39b385e692695215ca22984bc50ab4070e27bc4eb33261614598d1950302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230435d4722650cc09e7e83b65b6170ad87b80abdf6e07d40a0ffd2f1cdec0152ecd5b23b5585ee917fc9e334e3ef330741023100a4bec9c860b0ee5b455b78a581fb585df34e77be79c666dda93d838a90bb093a6165e265dfefb6d8eb0f3e7e9ae1abb60302047c435bb500683066023100c7de24fcf45c1f3681878192d1e714a6f3d1a6e837f04480ffd679e2c671130c5ba6d51fa1e9094ffc4dd67ebdb1e8b102310097d4e63f8b49641009dd61ce3874258c4a0cefa36945da72cff9102c2e4dc5e8e6c7c912db2f81ab2fa2187308e129300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302e4cf9e07de0f0863863e44d4d46aa4b0a7ab5643a36dcd5c64eeee39a89edecdc1425a488e0f94ba4a8ba8a99031d69023100f0fbfabab9a218731a8c581704fb82b900da1caefd376b3038b586b2f11ee86109ec7966337949cc02f738d6edbdf8760302047c435bb500663064022f46a48d30b5726536dd2fa993363b565db48cd4bea7221cdb6c180810c32e0b0b15b602073e653ce475ba4144226581023100b9eaaff387623bf26dc9cb8dc15af246145483ea6c34b7edf8084f578304983bbd01e91190ac91a2da497f9dd3d2d4ee0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303a3830e93253b665efc60308b2d200937ea80d85ed782437f457ef76827b90aca16835b3f843d4722bdd058640128dda0231008c1491a7d8a21154d6cec172ce07e5b644ecbc8dbc8c472c44f3bfeb89b84d3d58f1b0b8d801392fc513584d92cd29800302047c435bb500683066023100afe52fd4f55234e1716787385224de089740a986519d08b7d80208969618e27f88fd98d3df56f37d92494cc7dc2208a0023100baaf2e9b8d4b88b6f888a31ce6694cf2b06d482ca10cd66a17478c994f2e3da5893d23a587958366107abbfb8146ac5a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302c0d5f23618e7ea25ff65f780edc80005d118c5da4626f37fab690645f876fa4c6a0058d9e1a80c77f5ee062aa1c84b702307ffabb69cde01b974012eb269f1d7411d1ed698c7204ebd0915bd569e91a6f0c537ca7898f2e90dbc039bcacd4ffa8fd0302047c435bb50066306402302cfbd9786c7c5f138cfd79c3a746e37387c404ae51bdd0396dd2d3c590de1e429caa9fb694a237422b66a5ae5420d7f9023075314458862f682c5bcd299cf790d0c6c268000b4603bc1499d276b0d61084447d1ab07fb1650d006d5031e5a1c234f20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d4323f159a18936e69bea628c6b804054037e969e4dd4996092d34bf69d4912d5900bff24b51f392f1cd212748da7dd1023100997c714fb1a6147f1aa7dd93d0cc6e840cc8cfc8f5636f40ce8eec1f660d5dbbb3d7e14a0553487bea7ef3b5178414240302047c435bb500673065023100fd18e2306f40e79586a237215efa76a631c4e908507fe441231763956c3f69d90d6b5c42fba0ed7320736d7b5a3f9a3b02307ef513d2868dba6a0cecff998e079380111d402ef5f5c0b6049f1368070c3bf995ca1c3138f77ee6920b210db63ac9360302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ad2259ec0db3de1eb441085e8634bb4a31d92271ae909c5b47bb87cec46f599a8a7cff102228eb93c5bd8995854861c602304aef3821e595dff949f101eafcd178340dbe16a7add162a1f87086934a39f4efc3d2a744b424bc61370d531a2095ad400302047c435bb500683066023100fd456737cf4f50789ad394b25c4b95b386a5e210461f782a5181cb16b83f9a4c8856c4715302bcb93e9ede8bc31c2825023100d6f1362ceb52557642b5bab4d5e402af7145a4e54bd8e9b0f0821cecf65cb80895917e8f53763202dd00889212a801620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023066d0a5597021427a0fbbfed6e3eeb0dd3c2e7b25b935f6d8f8d209ab3a7e0b349cdcb6cd69520e44df2579414b2f493d023100c083b4639455360c34d1370c5129cab55b8e08bc89e75470cda46ca6f74e9efac81b1fc1d7fd1a265f258ed49af45d460302047c435bb5006830660231009efe9d83a5635dc26606517b742b330f73940f814e99ebee04e9f109a9c7eb04c28fa3aa876acf9f0390c48ea39b5e6c023100bd27d360567a91bc04278f966082c0881e4b8a62abdb86c639d56be5dd22a4c6b18791f0e16b6be7a9094f445e2d6f340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a3585f0381aba56c77da75729ba930385a35314b97918b88431bcfe62fa0644527709898120b472aeecb3eb44b0d59e6023100c4bd726d03570beaeb80c7945e9dbd48e6b1db9ca5cf271cc3cb35c74f9cb3f112bd7dd096cbd86867c325c03c340a8f0302047c435bb500673065023100b0b7774ffcef918fc4a2d271a07ee4646c3aa4ea5c4857e2122678fa503f97b497e2c9b1969fc2568dd51cd7c459867002304e4282ccab79aa55749ad1c9a0ffb4360a1b3d37b84987ed30b44111b2b1e706247b77da60afbd278fa6302bd97a2bc10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e7c00cb12f98654acb1341b8db6f6ec888278a5bce9fc5b5cbc4ae7ef2a6bf43b7d5acb78a673edcb2dafda22c697dc4023036fb21f0bfc00a464fe76d3cceac54ce51db64f5b7593e00e587a1a8a5afc5b81818fdddb95fb6e3a3b30abec63a96000302047c435bb500673065023100919bd7223d325dd87bb537128af1998274278fb9d0b9c45a635a6cf888a855ece47cd1c8b7d09d442656fa86c3ca289f0230018646eb5f59c48b0e920e611c8c3590a84aeb9654ed5dd76416adb7262243d953ae80f8e51d778021d1aff7df52930d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023039fcccd28a28b3258a1647eefbc32fa111215e0619f5f07f036dc5cc4ad7a70edaeb7b2a1141b43b086fe2215390c66302310082e4bf1268ca7efc8aa6737364f63dcf44b2357b886820128fb2273c28811c5cf674eec529a592b3d5efcf59c54a79db0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302c026ff44154b8a8a621de2024223eb8a5af0c84f730c8a20585a515651dfb32cf63aa5afb982835135ebb0d02e77071023100c3c183a1ae2881ed58ebb931d5ed873fa3c1b8875ee69bbcf36fc1b75b5307dca4da0fa954dcb52275e1cbc1b7cb27230302047c435bb5006730650231009a465a21944bb14cf0e6eb141a50a1364c05b45e31a104cfa10e1270ab946dafa9cc5d85dc618067a76e3f7854d64cf702304cc83aab658851119e43c957f1919a5cdeef051851cd0f033e782c59b3e6e48e339e5290b40ba6869bc0be168752c2620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a931b2cfbf582f415e9afc7235a608f4b3c95e5bd72409a0c3e3a5f577fde4e24374d1b3b606e9c52341d35d17f1e9ca0230618ca14a79e5ac032870b0aa7183961346febb621f54aa5be23f5521645f7fdf6ad11e65b759cc379dca2dd2a7ec28360302047c435bb500673065023100e4db981f77f7d9c683fc152ef07017bc4cf4b4786e6e92f824558b40d5bfd13c820b2bf8e6aaeec3ec5b780b3b59bfa602306d986d30a8bd6c2941deacfe096d5522555a9f99b9cf0b79d814e0f128f1d13b274fd7c1a8f3bbc07a209b9d4c7e528e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dca25e3159c7f06e4025175578981e75cae1b87ec50b07219a4b2bc60ef0361be6d059c0d1bb32a8e4570df9e1fa659d02302ef7fc439ba0456473af93a943bf07d1920622bc399794c920f9fa76bcbe1c498345a955091d339619133f771119ec820302047c435bb500673065023100ece002de921e7a29c901557ea8a2ed5aa8c32e5e08ae8a4802999216938154d64ed5faa5502ae2a7039ac68ff9796dfc02305aafc429493ed27b17d99534a9582011b3741ea303fe590376b37f5d62b350eeaaff6fc51f4f16910ac59dd9c33dae540302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303a4bbde2e4564ca21102cacc4508ed5810dbcafb3e5a1efcaae25c7d79404551948b496efd2e44fba96ba9676b1365670230493b70e0f2ab758cdd4986f0b5d48fdf7eb0ea21704e33b2359a25efd3bed4ec0c2825421a8f06089756a483dae575c90302047c435bb500663064023035c6b6cb518c47414215891154a1041f246f848957877c74293cea0123214e2e16b73929b64c6485ccdeea27d2efe35902303b1fb5fc0ee08b9781bd39b2cd0a4c87a20b483a2edee1537ddb50e311cb76f6396303dddfec3291fedb356e9201a8d10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e84b67c4dd08c2091b7c12583060af2c689d2197130514d7f6710f844467f78c120327ac52b59ee04d7436e351e46e14023100df71e170d32849fbd217b36c82343a1ec22e45033d898f2776976ff2146766399e95626594f883a55143d9c51607dd2a0302047c435bb500683066023100eac3f9ee2a5e4d4a827a208d3942b74c0c9e2d9a563d7ec4561ddaa20d83322c52e0b39811d4eaf3dbf1066097fbf996023100ca671058ba44800664ca21e4753ffd1c2f6ce064b497b4207cc00e5a4435b75723876bba485df5e0a9ccb1af812b06fd0302047c435bb500673065023100f827f291c078731e4a179ea7a54e2d3a452f6ba4a95cbbc544e7cf01452453ebc4f40eb143572e0c324b6053165a2dc70230515979bf0c91d64437ad5eda4a4703d041ba151647d08e99e43f297429b9380abfca589ba6aa95a150e8459fe37504490302047c435bb500673065023100b7dd00c108a2882da034eae33bac9d5970eee8b2e9c6188b4b4a486ad9400b03868046c7c1a29ce2dfeee9b1084eee5002306515ddf5cb79af68409db572072459a2bdbc4b70f1f6c58e1f26bd6d4342d2fa3a037369843ff42c5a3a905040d220770302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230359486f278807a8f9928a279ce69b2edc9087dde2f6e957076102beb8cbef27cd5de1c0a6c2cf77b9c935cb360e4c98a0230671e1dd10e4584964ca8916db6cd71dc8d426632668e275e1686f4dac404f7221b9dcbab62cd81f285e95b897a43a8920302047c435bb500673065023023dea0804df1a42fe9cad7f9f87cccdc61702f7869071b9c7ac1c1e6f6dc57a13959d8023a3555d351af394fb340b8b00231009ded8ad5a07852237af2970079e0d32f21b70998fe2c1fcc54204e1cceb217f4672c5a56da86e7c8de61651e9a99bad30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c9fcb66be37046d9024962aa2ebdf4b155ba2efd637a1d77a72d355453b5adf917d81011647212f4f2e1dc82edd4176102307a6860fe624c9f7e2f89899ca508ead806b6b23c6d4d844caf5cec8f82f87eb1f602f3fabd65a79282baa769bbcc7fff0302047c435bb5006730650231009c4d9845e080a293cfa0cf3b4693c8f29362b07f5054259c50b59011570fd12e8d321d510f841a008a2b21083df6c16802304e6c39a5b68f96f1906d072045970085e7d671cde1a9c1cc930513daf6d6e6c4038d8ba5b71148bed6334e8bf3f831f90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023030534af6a1a085d27f9fa3d7d7a810684c30b194b8a6b9076be8a1cf5ea7a2b7e2145fac1e881183ba865d306ea9a8b2023069d9ad1465e2c43522089f7308d9b7d6e19537923b6ed16c5759ddeccf0e2cd8b34e2f20058a15216d1ce953b296c5680302047c435bb500673065023100d4da45166970b892b616913b2f114aa17fc2a3de61d8c134f2c19efd58589a96749bab9f7218b034acad2790f2236765023049a3dbca8b400c64e03fb3105998a092169d730116330c301024ffc10757172de4dec4fd83455b8bddd9a92f636011020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230650c2eb46bd7c086c458f16a166b2db096edb10060e7d57937aa424cf5b29c151fcdb118a88aebddbb154af3692933ba0231009fa1eb2e4cafbf4fa5e28f2b95f0b690d98bd810a3387c8c7c8f5f58fbea64fba4ff2356159391b14340ac054fceb0f30302047c435bb500683066023100f826921c12cbf3d7c4e0b733247e1cb0fd75f5807e6853f0b88d0a4701a14a701e3df24578d22441b4d3fd1b2e995f87023100b4ed352c48c8e3fc5dc1a7299aedf81a0d2f13876858e19189377c989c8ee5f4ca744108cc80068fbb1f00c671f075690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c6d081cc709cb4c4e32a5dbc6c0145f197a879ae34863d7384d5074ff2276e484bfdb69b7dda24ac1ec9c27ba7888de302305ef2439871319f44ff1d067a322ae3dd6d558dc60fff682b2920c99f7bf1ae7b4f9a4961034ffb0e602b796a3a8daffb0302047c435bb500663064023031b2ea86277f6e1bbafbd0596e46f883bac14977e434b1302604cb4dc27818cb20b106b395e43a214ac36ff2fc537b2c023075215865fa2f7df52ebfeacc2796f07eb4767d6b370b36bf1f8ccd99720f8fc0439cc702969d4a5e0c42d0266ffbd7df0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310085809ee186d41a5c291f9490825da98e6d23b506744bb82256aba485de51d65a3201e67cf1c8f7c035030bb056eb94ad023100b9a124f739cbc49fdf81a3542b201487e3d03761f327b95c3e8e899a80f970eb35148a74a54a7beb637e049d164af6980302047c435bb500683066023100fb5ac6f644c542bc5868dbfe3f43aa7bd662689361e7081b8a6352638f5e7dc9d28307a1f0669c36512a84bd4c32a498023100b4acb9365fc6d010a832951c176b776cb8c2320bfe42e8162f4f9f842f3853428b83f6760a35c81a320efd4bc34a04100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304436400671db8c434d886576281f346cc4486cb3ce14db73d2931b400fc88e3fd836ca8a8cccb6b85e54297c941649120231009ca981f2071a13bca88eadb1c0d1b0a5cdc116c4ccae726802c6dd6099726d59f92981a86657903970bf53bebcb0a5a60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d976184672cb973f44708a145ba5a482037da28851ea0064de95f4951a436ec6fba7d2b8987d4421e4333e85238b09570231009856c24e631b358f2916b0b370e048eeb72e9dc019c17a8c0f7939db0d14a86b9398a1a39b3ef0998d92d239d18045680302047c435bb500683066023100e79f1b94b1e9aaa3484b0d818b9ff42926a1eda9403b27f780d01b335260c8b77fd6c520d71ca1fbb8962d1d39db3e98023100debd16535239579f57729c04f67849def52793a768dbb9ccaf65bb3dfa4b59daff10ab62efd0d7264b0612c972f4c4010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303e4850534a45ef395ca1a2ea093b38c01331e7f35e5fd4ec11886fbbfdecdb888ac5d3bcbca9d01333cdddfda71b39900230799c7855f1f2369d5d1d569007ffec28fac35f648a4fcd964790258103ff151420d8beda1904fa1142d5fca6f81b07750302047c435bb500673065023100d64794be8cd409fd5a426ebe25a5957b3316cc410e2f3795a1ff7b2dde8feb30d71d4a1dfa7de670149c5e9477d8382c02303df113200bedf36e7789a2ce26e17d54392d6aedf382c5e4c1ddc3bb94245a4963279df7e11e39a45528ff6a74aa3da30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303bf231f05885223030464dd5d386e843c25d27eb155edefbd9688dedb79afc02540543886b2017520a903a54f3bad91f023035471c166220a6cfdb2948f3241a75bd484db8c2366e5c0ac02a47273c760a25302166acdfa1915919ee74978dfb35dd0302047c435bb500663064022f21b8786383d90d89a5308e9871c355ba57c274f99f59e2af99ff0ee8e301dff29ede61a12f1ac073d812ea2feba3240231008ee0b89c20da5ab5636a8316d9f98b16fd60271cb2331d8ae34f89c70cb7d9a51714df880dc9b2592ef766843503e28d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023038e94bce70e13bf89747f9c070ca2b3440797e06bb1097e0ec91a6dee6334c018d09b14a0a55ef1e27756fea7074486402304a9214bf1a886165b25c079ec669bf296bc9c96be83c02c17d597a562ee12b9759a4697c6de9e4d691659b3ddc17942c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008df0ecda66266ab9e205041684cc413889a114399cf6487a2d8ece6be31c73172502cd8a308ccd994f6560861698e39a023100ed2306c868ecc02f2cbac86cf693c58284e3ec908bc361c088453563daa38e793f3e2ea7edb086bb6f29c20e161f3d550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100953e9177dbd1cdb9a061081f12d8be96756b4bf22deba35e9205c5cfb943d477656f15eda5ecbabe1d2004342ce97e530230719d46c2c4c528cd415dd07014c00fa7ac72266e661ffca82f65d49759cc1b5d6488736e0cad12f353d4e6e03b2a39d20302047c435bb500663064023045aebf196976e8a3507ff11baa49c7deed370ef631addd5054342a1bba50cb0b5bdc94a04c5d468f7f3b1a6aa4cd012102302a0c8371d61be3ab4ad92c19b5531f9c98cbe84e85f2550c9487f6038f12cb93e67d7ea7962341d980fe8ecd93ea7f800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307799cb96c80e830f55fa9604566fbe99f0106b19de3a6df3b63c2fe18a351134696c744622fcb432ca05d163a1520f62023055200082c3738a7ef759d5e4623d4cc5a3a1f8feccd62476729c140b64375b66e90f795aa684d3edee1de7024007c0e60302047c435bb500683066023100ad7255f8905717b7b3d4bc6dd6e5dd1dae225e45cf89e802122f06ff4658e4ac087e759efbd35f7ac2598e4c1a5e06d20231008e1e15d5b145877ce52e8c47e55ba345ef9946a3559e282b38eaad9ff7725ff4459bc95b173bb1b1ac163516cfe99d6e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023022a8f31b56b8eae6685bfbf869ecde4c8a874d2964b5a026ec5beac2e4a7abb9f5e3d017224689ad3580a2c08ef5f3af023100b2a17216320bae93e8c4f990c2577f359a70e0d67940acbcb641399f50c8b065bff1f2c72e111f2f21240dbedc050e5d0302047c435bb50067306502305eb2cd21e041fd6ced99ace731f3520642f31a0ec00a78d2ad53d84cc25eb789e9e725b26b4cd7b961cc98b71176d0e3023100f6a9def624603deeef4cfe3db98cbe57234a723ea6a4f6cc8a905f2f2521207c8222100bd6df1c0471c71ace8a22f20d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305c6b1b83330c9cb98e7406812d04c5bd27d63ac90680c87ce2ff80ba946eb5059ab3f18a5290c82383d01ae14ebb27e102306192c3a81c4ea0f8470b5057928329ba7f91ef899e27dcd19b30ae236d01c1d2a9bd7bc51d6b74d133da7eef7efa3c010302047c435bb500673065023100c3fc955110ad8090cdc99ea23a23bc1fc3a76845d75940e6a4ec2db6dec1c52d4a24e57020f1a87718aa98cbaa3847c9023039f782afebf8ce2142cbc7a53b17de711d545589293525daff6213591aac32938d815f5d9e8863c0a67afd311cbe6de60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008768700e13e6dd1761c4573f308945ddc8a8d90156c01c9a859d97b4402273d0b946932aa8043b5a2bb4d59346e4d9d1023100a33c1b25853d4a89477f7078ec42e6893c1de6958f799dd8e7d325ae008867913102fa86f04f88b508eef7589c19eaf50302047c435bb50067306502310092ebc1ffea94246d6059c2b69bdb77cf888cfe93bc1bdcc578cda457c3dd307c651a3804f201be6907019ba8145cd68502302f9643146869d4d5eec53d6e8831de88639caee751e96c763c0d337de3890e54254813a1774f87a3773afcb91df9045b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bae2596721470249ab94feb2e52427334492cff6075b48d2dca476bb8910fc3649f863619c40247c5e2eb50f40bf193f0230639464045db55d51122bead17c9c83a6ff85e409dac894cf16b204fdb35a8f86f35d38c3993750c6d36acda329d6adc10302047c435bb500673065023072dd3724b35d936656daca0e9b8fe8e2b9cc981b1addc5318a709538771eca77a4add7a0068332ffc4504700c3621a04023100fcad19e101075335dd05b1712baf28cef23db304f8aaf7383d68368ee172c05f7bb10e95b25ccc5736e428d266eab4d70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ae53b3ad3da2e190e5652a4c70234648d8dac210a375f8d9ab62711b505861b822264e691cc01c0a93f39b3e60e98b72023100f081d2f9d589aaa9f40b62c98d4bc35c47c417b288be66b873bca7e45430a2e9d0a00a062adfa8e4ce9e9ef50c06e8df0302047c435bb500673065023100e43ef7decd810abf41915186d97289ce4a8fb4954b8486757eb19b90c78beb98d39a4ccb36fbd595a2dd0aa515ad654e02303ddce91fe4a948c745ee2f81faa83854e74836ed60a9af793cde8f54e1933bef75b3bc4b714d932c1ab4f23e2ad3d12f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306b406d4e18364e63f34bac01a9e3ed5aa73afd071e08bfc17991674f495a40ebe287aba540a216dca2ebfb0c69815df102310084c99c9f6d916fdcb7aa7ea50e72c3aa3c0559bb5085114f1cfea720731e9dd0f7e9747c8e7b72d9da84b7144f39001c0302047c435bb50067306502306c89f114c7f9548f63c4019a8513d41b6abc1c2cde5e3454e6833cd6949367e372707430e54d8119d4d894ddfcb4fa21023100c2017522e946df86dfd6167f21234360f20c43e99c80f9b93aeee73f7a653aa135e6a7d590baa0636cf3943539a53e390302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100873b0f5ed680a1f19ff84700a6b4fbc1784a994c965bd8944caa069cce40cdca308bc652f9d6134678204a87c8fab6ff02304e6e29bf4bc2a7fa91fdfdaba23ec485652c27093b0db2742fb492bcbf20e7df19d8c9212200a03297b6894a6151bd160302047c435bb500673065023100fdd9597bdfbb6ded4a75a9e12027c5c0bcb241f337a7e8a3e8576a0df6e245d07726bd1e98e3b78253739a20788a974e0230776ba2480dd1f729e68d86a1a1ec7abc30b451172263213e902d7a72b500fc2059400bf4fdc67ed829ada9d4720cb9b90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f32f0b79847b112aa1df9dc10dd01f176dbfc00afb3c306bce551910869a4912e036a04db2fa3ff3fefefe8ecf605a690230316af393b05cc294ba638a3b1a426fc9250d1fcc16c69488fe229bb9e0407fba8ba064a7c66fa7dbfc644319e20f910d0302047c435bb500673065023100c90b5f29fdbfb3375ca9353003a3f70291b95cee02eff14b57b943918c6cf50799461202e5a88e9f631a20d60c9b26500230725624862f9f7f1e4f51979f6cb5ae567c0f9fa4066d9c5dbbf8a2c14a7f66d1c099987c9ab939cfcf8fa66f7b6ee7830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e5f107e76ada470b49e3cf899efebf076dadec75af730de68a13bfd2e9aef9f2bdf555de6896af28c084e9c0e0c5f89802310083dc11455f9b91aeee34d3c9be0a1f5de51e5f73ca6803095675bb46d15265db8651401a861052f6304295724a6af0820302047c435bb5006730650230081bcd6f64a48bc2102b170f53893a3497fe75dc6a5b0cf6b510347f1bd67175186b3c72ca61f2edfc2a1357c5b6eca7023100cb0454585652beea17453f86fec4b1f9a44e4d0dc16d652a3cf705bb374a8e5014163c6a02c73ed5ff2f0cadcda957d70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eee1e4e3b707771a7ef666520bd19e5366af1928265a1cb1f2bc4b875958c2e6998e519e04ce153d533ee33311bbfe0d023043b14051a943fab338b1a040d9d0b73d7171a0d5c6a3ff49138f944e8bf0e5385b22ceda11a765a75b4cc9bc32f9df870302047c435bb500673065023100a5fb8adc135013b19145467f365b6bfaddd4c90e5532a0e53ae5ad3bd6a49fab77c4e0345ff7c2cf1c569be04c9c85e70230249f1a42bb82955e8f1ac15b00a0fe6ba7b7173456b909f352443a142559d272647e28d98afc4abfaefcb914f2a810cd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e6d3164e0846c79bf18b2ae3e85288f8874ec39cc30184ed96d9d0c57870b7106f1b544edf08c966d6ef11b25621b77f023039a49e53d131d90097457181f7e8ee2d42c130da241e9b1447416104cc363c87cc64b302943b44eb73186d85395fc1f50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008f004985e5bd25785f84dec14c61687c9a16405e8ca5f4e71d7e0933d73709d0d4d219d25a0f7838fe07ba61342d480c023100c2aa6f06371da01bdab7f8e5c34ec049bb5c81a233c8ae3f108c3847a561d898799abd2151f3b695fac666dcfc26353a0302047c435bb50066306402304eea0f56c1072af91861b7ea35bd4c04e9571de48421daff1b6daca2bd5e09184a7ef6b1dcb94a7a1841a244e7bc663b0230358cb209487d7d8bcefcc7a49066185821c3c94e89fda33c61e6e292462ebaa3fdf797a9efdc0fcb6a8a043bb6495f690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230355a84b9b91d475edd3974300f23d3d286c57a5bb8a4be46a3db2919a66eb155bf45ea936b348d6dce7e95ab75f8a6fc02301af739871eff420391a80bac3e0151d5177cb0a5e6d1fca21244af6b79a8794739c8f31cbfadbbe98770f1fc0af2b9380302047c435bb500683066023100c91239db935876dd40b93167bee92d57760ee7eb63b9dae95ccd1b63c2c1421118cdfb8fc44c769dd7c1f5f4bc56386a023100f0006835c2d90e7e09c226ce9b8d8c67cfb03a112a3bdd9ce8614aca2606c1549da9e82c46b3ceab6b305994edbbae0b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304e6e4f6d11591b849d61b1e70faf84e41764b71fbbc390963278acd991649446ecd2d13602c72dbd840d31c00de0e1650231008d0dc826d99efce123d5002d9d1d010ff3b0ae0c4937d80b3fdc2403b08084d67b5af184030709028c049082317967350302047c435bb500673065023100a4ad5051eef5be1eae4b496f5ebb1d820decb8ebb52a2e770f9d1078ca06aad1d76fd5298e262f88766c78d802aa3760023013efdcf1f1613f6d6aa85e99b0ef6ec5d95d331d66b08de03c5134357de777f23ac18ebe5d3008138ac5d17e34e25d9a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a7797e1b0978eb8b9fc35854d2482c4dadafc6c3185b4719f6b99ee64bdbdafd75a61ffd9a09f0fdae5281194fb2971602303ef9395936df50fa08f25bcd7dd9d49d4ed554c781f18a1a42229cc1a7d9a5907e13aea8a7f28a86cc25ce919ebebffc0302047c435bb5006730650230167beeebd1a2146027a73a16cd10557f869cbeb0eb6737d9867edd24a3ed035c5845a7a97c1f77d9fd677a8d4740605b023100fdfbc5f005bde7ef161b26b67f63f5f38984a905b5b45ba8c636b19a761ed9b50e7a0e404666aa2217672da238557e710302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301498204a1acad4b56f2ca8df2c523f49019ce0a7301e03e5f83541ab65a0c90273c505c7d86fa7b2129529804994b24b02307c71dca3ada826dad02afe6d3caf557c60ff991cafd92c96d7aed9511fead0bc9a6a9314cc4a3a19606a82da7a51231a0302047c435bb500673065023100e13f1800acfdbec6b0d5dbbcfc2c78c5a76f3c55736c7622457531057a14edab6d35d477527398bfcfa4f9b3d0b6fb3e02302b36ab60d322c8cb84eaf98a14c28fecbdc0fd0d25a70fff23cdf267935f6710711b89baf35c59903daa44e0e62ec6d40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ed41bb9a177cac80462eb1127a5c156b678653f90b7d7a84cd49cbc7bd68efb9c106447eb64896427cb54eb95c0164f60231008f47f087d12799157965a8482e30f7e14b48d039266cad65a1c15bd822a9fb5e5f8d5317c0d47b3bc55df6f44e60669d0302047c435bb50066306402306647cb6f188e164d61c9b3d2fb593f8ef308e323b3fd92369e2fc21a8e899b14ff86603f9facd32d839ce655ac4a2267023072c8fdfa0b57a76d679e65b5c63fee8b8de9aa9c9ad28d4203a517d5be18f39960d84a5591bf63d156bc79fa53d1c5380302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fc00cea9b765a4e0fecd1a1846b6be7ee96b6675a63b12200f07d50223dd4e504fb0ca6b77100f27dcb47926393f6745023100b4ef958db6298f4b51c015d6ac557f627544f93ccfaef50c8c566d7fd762c03ceeab63b3f10739acb8c73d192d2ab6a90302047c435bb500673065023100910ece8a5eefeaa18c45090077116d644a55e3b8ff1f95cd969a2e70fd1e3c5ac791c81a05e6a6025691a3186c550c03023000b5a03fa99f1cf2f4702b07fe2a1f393e2ec4aaf6fde3df09057b022fafcecd17a5e191bef38190e50ef123c10a447b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304bca80ea6af70123b511b4a391cb284c5a325fb801679dc6ea1691837fe910ce1eab8be2f987c5eb8006086f24734eff023100f63fd63225a4a84c72b7d792db224dce9131fac489a05df2bcb7c448483764cc1f8fe23e8dc74eac73babefdb9a4e6600302047c435bb50067306502301c672a9ab5355159d80a2ce8ffa837f111336575f6911084d7cd0501bdcd2254759319bcf3566353a0d8e288f9435d40023100e34c7dd144abdc9f0145a6b8aede48f60de3cd0aa8c32f3c86686eb9b3c5ff64049fc49b301b0c49257684897d870b6e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023069cc444e116a2fc289d5cf5698d471155ab4b0e53db86139802ec2556998fc439545a0e288e0a5d3b15777ea2b77374b0230611d38ab294bb08e4349db12baf4c5a0be75762cca2e8620069e3d73da133f65116f22ee5caaa6c6ee70cc8fce5906b70302047c435bb500673065023100e3042af3ed7369738553edba090d2b0315dde2f670b181dff7598c08116a7807ba148aa4b8da54b7d2f0b1d19a66b22d02307906c5bf1f86e93cb173d4983162a0ac647c62fce5b7372d5f1112ca391ecb699c5368cd9f47d95a8e171ed8575a08be0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306d1e7aea203095a35bbace4752e9905117273b54ed8c370e8b3e3709f0a0bb3dbbbba74d0d1a4e3fbd3d9e95d81a2ec602305ccf98ea3317fa44cf100873efd05ddf62607358678f28f1e6b3a8ea8f07fbf2700733603d472eec4bd649e5aaa966de0302047c435bb500683066023100bdbff04309c5094deb3336558d7023787b5e54d16a1a589b51d6d52057d64f02d63e1928394a70d85152a8ad6b5a708d02310090ad5780eb99aa746d856b1b5a02768e257d9df87d9ce9b48a39ff5c548a7ae0b1326e4b517d84dcea80ee62ae6cdd5d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b696853cde17de266bf1984c7ffa332f60c5654ae745e0b015845ffc9bed2ff7ba9965fb1f766d8c46893b75bebe8162023045d6a5875713071b8842c34dc9d9e4c789ccbd1659241a130179d950d651b4088e7e3c8e1cf5e3a11f6bd6a3fd773d540302047c435bb50067306502310087a66bd85ce5631465f234c907a141ba086fe724e4a99d7e12f9281c95854437680ef72cd15363d8afb567857ebd5b15023067a30b27c366aee6f16c6f9a0b68f5788f212a19e5de6c26a558e57b455d48bcece505596b6f717afa1ca5b1183e96070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023000e9c84f399b23e3c504073b073c95f858f61593d85a49979524ef63b558ef27970e596527a5019da9a27e780c03437f023067eeb8e2b035adb4987e8f6ecdd24974e850d2c463255b1cebc6f17bb0ae307df8c5fc76155b95b4ddacc37ecef97a870302047c435bb500663064023009f4744107664d0c6bc8272b4802102becb8dd6d752cd92baf0f04e8480fee29afedb03dc6eca21d8173267cdda4129b02301bb8132aac561433d6d44b504f325b3d6e4db3f749c1b4c6d0606e546da0cf677c77c76440310c38dbaaede00dd968f20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023075c322e901a9bf1eeeb5d6c2e1668ffe28f4bcec68be509ccc532ff18000638d2172076914a3ae970ee888ebd88b0628023100e0dba5c35838a116e3cbadc1b1fb828042276decc52308f47a3ed6212fe96eafd7998f6b4816f20f1e371c951ad4c8c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a0c03f7dd21233ebbdb6afecfeb4291c2ec15d32392012bdf5fd5d3ff9f5d2ea78865953cdb3e02dca21fc7ca8db8cfa023100b3442bc4e680086cf33603e4ba56df3d6bad12dc245355dd19fdd338cb9994ed8afba12a88a5f4475629412c276a34e20302047c435bb500683066023100d4f7c1cd917fa7d29819f7254d77c1806168e46d13c31ff1f79c9e7bcb7b595722922aa189307758a26de04f12b0ecae023100a7e4ef07d6a166c7b5a4ff6094c631a799a9ffc321a367dab576d20b9a4d22495778ba0f9a1e99613cdf62f99c6108590302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b3f3471aa93ccb00f6a77b60bd9aeec491dc3390325f24e04a59b44711d8dc49294d4338c411fc05317871e7f365f6800230779c2a89e79e5a4b6661bf4fd98abd037682985b59d2fd0823371a569e0cf9816a0a8894178ebf378ef3251a6be0a3d20302047c435bb500673065023100c03a9f4ff89a9019c13d73462b6041444327b3ae12ac68c9e7890589d0cb975e8be42eef01f18edf3a682b225052514a023071ff4ca9636666f1c13e11f4b3456aa43a8c55e27c2158e679bdc1d2c1b84f9cd72b381d60bbe4754f6023e1e841e4dc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100de8127b7f814fee190c2fd01fe423e34701b91fec287f71d6a9e09bcfeadc810d77936d37269e7cd1ea4553d78f837d7023100cae73ded7e649a450c4dc9e442c0ec67543f76cb9fbf91479cd580b5d3e0e40d4d08999de410afdf53211222fcd98a0d0302047c435bb5006630640230549aa08417d3dd9ffc9fca49af94cecb02b8a11a9148a08891a9be7fdc7ebbf144abba3c45505cc131b37d04a8bd3a2e02307c5418f3d698257fbfe3992dd314944baa8999c1c86436ffd1667d1f5dd27b5021ba481c8c71146f2a3b0f2a1283e26b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f2ab89a15dd494a25a56c2346843eea468336de0448fd58ada505a3096e4afed452e4ba8a703b5d305472dda4e13a7c3023100c7eae79f5955773a722b05d31938c6fbb52e0c988e7b2346084b8c1740a7a345eca3c8a39872010819dd8e68673b3f780302047c435bb500673065023100e22f6a6849388fb3a80542a280e99dd378be9550fdc7d477a74dfb57d35ca4b41d9fc74a9f6aec0ed41721a791c32c2c023012b0ca492adc5abcc3cfaa47d3a2ad0b7ddddc629e9279e4089d21d66518c077bdc55a66c08f1f8b2e514225921a0d890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023015fc67a1a8c2919f53281d82390c3d59cdf755a85981fcd2d51463174d0304e35c3132834b9b31e87257fddcc5373618023100c117011e76ca111d38b93e0369bc9a0016b1eae5fa08e106e62e535d142965b77c3e62d27bd3a226121886bcd021ac550302047c435bb500683066023100f461f8439b0631982f9d02ca2488a9af786435f53e6141aedcd5fe518b81530d068ba6e7773e1e6f4333929d91304889023100bbd4f6e5cb707c08a206990effaf1f45d6f8f65145837fb85373eb1fcb3fc5809aed68ad04115d85725859fdad078d8d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b1a83da7b551be3e350205e899e2427e7daf690d4758b078a23fe94daeee97c90725c98709ba86d7cbd5c4f724e2e7a7023100c571f7f8f7bab063e99cbdcf7cdce3eb8c4e6e684d19b8979547e613645bd321b5c64157a9eacd17c7e35631637b4f650302047c435bb50066306402304ff184c44f6d5028b9ddd5b313281a10f556960af815ca3b37ccef28d5d35bfcf53d9e81fed15b8f13d358023b7084a70230523c63361df4b8c2f19b7abb5325558d7c1e25eba63aea6e614eeabce0501a52658237a3d3d729b69518e9d100d5e78b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023047c9617c5d5ef63fb502c06b35365364b6de1dd0aca7c9cadc323eb227b5c14bb1714f920f3500d735f8511b27ebda7c023100b61be0b31f9c61c26684965a9b3ff87abf11540a93fec8569ed8499cce82b7c83469c4207cfdacb798d87f038b193b320302047c435bb50067306502310086efd74e0d7789ec468aa5b8036525f84bb11c1d335106815cfaf0e0d0c66d8cdcc1e65ac58811f0bed06e39f355b51702302704809cef5b732f2a8ff87d1da131fdbb235fb87b48eab14b1280a936efb6a27fc00024f114250320f4256484cb55680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230119db6b7ba1df2bdbd165a1bc7ad050ebea4b21ea5395e52267af98b6a4f54b8740d41561c03ed69517e160e05b712c10230468dc01ae392b4988e7e7b618a1d45b4e6cbaa0ffaab4982ad8a93dc962a92638a9d6fa2f297a990e8db6dafb22734ed0302047c435bb50066306402300de1c065db28afc38e7b64bec2773d9074f06c64d9879a96ac20ef9783e6ced02b4255934666f1c51fa5a94a6d0ef165023055d951504ac213f3193a50f90cee7f4e38f6f1b4f439edfbaf7518ad2eca6e58348747a6a32188a96e124c4f999d8fd70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310098dec64f4ae0b5336507e23a565f13fd02242d355c54e50d3153ea551d13ddb0711d404c1339bb830232b81cc47a3911023100ece56a0bd336e2038a4d712a3fa47d251fbd2471a1e975b39c74f8065938522b2ee52f70d3d9403c34ecdda0bee420130302047c435bb500663064023026ba246d19a02f410a087f93bd6a02e6a97d5202d90fab31e64c5c9ea70d9d4bb6574626b33e5f35ce7d2df22c5963dd0230352c6630217d4440a308c9d7368363d61ea84b893a65a1ab58ab3bee7a72a955fc64bf4d5acc7bf12d3104b553c9f8790302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307339c8c011fa1a0dcacbac10b0abbba9c19021f877386c8bc67c18cf16bcea19b4ddf11bb4f55fd01ac296f465f4b44d023031869af0084eb5f8e5d5af3faab72554b5f7a1606a745dcb72c678abe7833d5e95e0e7c4467e6fb0c4878ebe99f3e1600302047c435bb5006730650230473ef54c44e69e8819620f6bfe91df5f6be324f4095aa556488cc1499d7e9439c018018c0355e3ad2dcc0102913c00bc023100ac8e2f6835b8590fdeee6e804d4333a630033cf1eda2ef55e627bcbf008d50d269e5342320c7e2a593f38a83fd429e470302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306b209955ba3f7cab92c37edb3438a77f286dd2c159cb68ddf8e736a36dc0b46dcf8f06eef887d3cec86a88d58e79e4de023100c92629b423423cf6c5a61832a05f5529814067b2c2e8386a011db9a3610b6926bd989a91fce1fba797b49e3ed58a26b30302047c435bb500683066023100b59bec17fcdbdcd5c41f67f09db5cbfd88d38e1139970793e406004a707a5524275d6c16aafd5b8e2aca7b4a43f4ac2c0231009b13363100e9eb61f936d4bf55a2f8b69f21c6e443307c3111e1ec0e18e362618c0b1726ae1a2a45d12b41b5b79e2f8b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023001325ab401a44fb826a514d6385344e1925c4cd65ec8fd4703bca38d7bf465fda23c3fd620b49b11f1bbb91b81c00d430230529625248dd6b9624ebea9c81726a3bd5e97f8f3b4638860f9800acc846295e2b0ad0f0f5685e449a01c18807abc0a610302047c435bb50067306502306ff02c8984da9e14a5435617531fa856ac706ff3fd7e15709f500cc9fb8480eea7943de469e9c8b23ad3f80b238e46b6023100c6357945334d93e7cc4fa6acaf77106a89b5486e9d975da6dd3e766cec3f103b518cf12951787cd873c1fe1ab13e19d10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305877be4fc635e6d4b6065ab4fe4f59271757941cdf325fcda4d0993ee18dcd5c2694af84b1b861e42a4fa901ffd151da023100e53735240c9edc6cd69b6919e446fbc6a0b5c753ee3e253039447bd2051d606d5b15e696a723bec8d68c4d2acf6bb48e0302047c435bb5006630640230798d0435003eae32fcce8397be6a33244efad9f2e2c9398a252ad99c813283fb69609f717d99bde35988f939f1fb78c3023039a4e84949b9c1e84e3b4c7da463d884166189ccc0ab69b27c7eb8f7b1429bb8bc008b2554d68e15cf28d7e9df5d20330302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023032cb5fc5ea4385d34d93559f28bf5adc102d395927583fb2dc48bf577bc278ad9514b45fc65d20541371c846c9645412023100a0c056fc56661a27801a6e2fe354b14f390347c642550116bb8514e425e497afd953e00bfc13b40d3fea9e242b68472f0302047c435bb50066306402304a8667d573d7402fc9993bc960dfb159951b9520b0e048795bbc9464d6e5f1050ca2abab57b77acd595ed015af87504c023074032ce9c9d6f98abbdd2c4e3b815b404cb76cbbc0532ae34597c6186ee9912419cb76fcc1d1f7118efaab4f82cc79b60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230639f47c5142e3444c2cf893f254f496a6a22fbfd6a7189d8a25860c6501f83c9e92e077ffae30fb310fbd7306078d55b02300cf760511ed7b3ff3a2cd8ea84bfcfa36a636984670b5cc9859f1034fa662c8d93d56391a85c7f4f377e41f3314d53030302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307fcebc21b054bf6deca8ae8c02d2a7f14be1ac9a70de78a4ff074c33b2d33f151a08237fab9ef3c6e2a019c0e8606b21023100f50b7058622fa4175816d8b5cc16852858394899e15509ab80c0561b8a216b33089806afb267185e933014eab22d13f70302047c435bb500673065023100cdef343f97552cb972f819ef55072d820fdaef306776d520951b8e91a203b737ae5d3082594cc465921a4c783ed9d5a402301a21509811df429e1f09061dd7615c13d1cddaa9ed692f13d7bef250f88c5fda7b5a588d72d0e044cc04ece18ef909520302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023039e34dc5b9d722315d132dae10c881e1697f76770a4d8c90572b3627379073cf7d95197b38114a87f44f4b96e2ed541e02307114b5e143a9563dd59e52953826f7632103ee469199f7e854e766eecc7fb934d641efd778dcbaf4258bc4f8a181ff2a0302047c435bb500673065023100a984fa1be690e98fe188187b860b90fac5c2b91182d9cad5917caf911a099fc3917ec69c3ef28d572f54e289d3c0027402307a37c46530c9ffc7948fce21876bb29d0038c69f7ef9b016cafa4ea6c4b4af5216378715b1994c28eb648b174b472a590302047c435bb500673065023100d54822169816681cdf55807c27ea202905c3f66a2d00b7e8507d2ec9429952b68a924df7a738c0d068c9fc31af4f22d3023035a1a3a44e840ae549177e3010011896c3f56912ec377cc56069186b8d57bc1ef6d9891ca2becf62184dfb292b34fa860302047c435bb500683066023100b96e732da597b8c5ea6b143d6b9ac721aaa2a4157ec1ba5e203a069178005fce5cc6aac985411a007a26ece36da3c77e023100b13432eb1973e58810f9f866c33b8f23a899f6ed6de688c5bad0f283407e43dafb8a2a17d57c5fccf24df3ee5f3daa020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306d8c1ff094806261754932ce47e5fcd40a43812f3cff5428c6dfc0a0558706cbce59a75040f9bae85b9cab64f1d584dc02304c9849d80182429227a44cd35fe11384232aeec275ed8e36b00474cd92165d5d7ef622d34738d0a9070914f6710fb52d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230204bd7c3f29050cffd22359183bf88cf950d23d2c501628d5f14a487a705bf86c266adc5875d06c93c4b1e37d033317f023100957f0b066deee65af0c4ebef1261f25a817ff4dea0430a650629d2106e3cf961ecc1ac7ab6a559e944db609bc7a6220e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ee62991eeb5530f5ad9cdbc737d08c5d10284c547a8ef3c436804ee62f153e7047417fe96a10cf9dd4a93a802b38386c02306a329b6b96b66b6de6ebb210cf3820cdf9c425c349e9af96c0472d2d08ef83d9be0d0de73c96cdee03b5a3928063ea620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023013bc862dcf8de6975b337301f72cb3795c0f2f8cdaa1e24d427e37b6a207167d4ddf8b0463a37d293fae43855f1d3bd70231009cfa71a4afd9044e0a11f2bc731460b22f20ceadc058647213ffa97872914cd3af4b19f7215a45868dbd7f6456f7ac4a0302047c435bb500683066023100bb4bdaf74e5a77c3d6e446894abe78f66067dd2227e97259f4be6f70a52f647ac011e48593a5d518c9242b06d67a6b1a02310093d5fc40b5b7c5d949e8669709d0f5610c29b8e07130f1e3c91a77dbcd752892e03fb0e464c9387de58f50c89b7c8a3d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a5e8ed3e6c943b92ebe2c0c193ae7643de55834d68206b31f3b8fe4f15ba8691ff79436bc60f797c098e831863f75dd80230170ee41fc5285405681adc75ec65f67e8a955e76729c3dda07c7993a26983ab637278029e24ab0717ad9bf100cf3bb8e0302047c435bb500673065023007d27dde4ba78d17e602c972f1f4103f29e9fd06ec97bc215e28fe3ace46f95e1ff935c88107e7b18c98359de13068c7023100e90ef6d9faa524f16b9684736e5cf3ab28cfdd610b6997f6e8fd11f49aa5ea834a4b9b1b2a54d25c64dfe122711395440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305775ba5d45841893344aa8ee80f3388acb041cc84c05e433ebb7002275ee55d2b43f526e0acf15073f995f2251eab033023073e42ae5a8ec319aca5da16385631a394ad132ea4d2b7b4ed264d360c7c0bd171648519a35df772e993f47c4b23e8cab0302047c435bb500673065023032075a3e1426e88bdebf87c33bc2d75094ea38a3819e1d8708fa103e16dd59abb790d74da07b9e4ea6b71b3bda0475c5023100fe0dbcf8724e3337e56270c1d1fd448668f1996f5bb947ea23f334bb08fd177dd1759e9e7a2dff58b970cd51725c893a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b571e4b6a13c81e1e9479b63439c7cd937af45c3489d53e79eade4f8639f5a758810b20d402ea5db34e2e8052b384bf5023100e8b152c8422118b57cbb96c516f0751ea6ac76804510c99f41fbfb9afe93b08acc3a903bfec55535a54b9ff388e0c11d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a101cec06756445251bcef8d71e8c006a5de6dd9ed988f916cd0f4b7ddf723121acfbd13193cf72bc2d9ec580ed9b3e402301a707afe1583866d746c4443be57f2c8e0486e8274b25283b16baacd5563087bd22881f1ff968985ddf9f31e49c360150302047c435bb500673065023100afe8760e0907d7ac97bdaff6d693442e97ed2cd71a1ba4865ceb3fabb466f364993583d52c21fb66daed02b1e45a8470023055107721db49c3b9444c1b4d00cbd080a172a83236a21e62612321887c73a2e7f67ec34978fc8ffe94783cc9470a7d330302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302cfc56ad152ba32040d169340237afed2e5f4d925c513fca765b6cdce65bdd64e9f6f8f3bc4654d2b3c506561c121184023100cf4ad174909e82fafd5481519f7408756004349ad77ae02cbf512e076ebaea2f5799ea5d3eab7975f2fceade284f118d0302047c435bb500663064023015bb0e0ba4239a019f7dbf0d009a07d70863f744a40c3e382feab133e98899af9f5eb8029b38efcc0da9d28f54f1b12702304f1f90298acd29ab7543928a3697757e60ce6d15927b2093fed052a725f4e932ebe69512c605b80a1c507836a6997c1f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c98adc1ecad451287ee640632724dc7a8c39667a437c270fb1ca71be273996354a103547947d31024d96a17caa38fe0f023100c9850c3b92af73e4cd6ece2ca2284138927f89d86004ed19b1df8b26d5ebf9287b82f35b3b199cbcce73c38e37b56d060302047c435bb500663064023036470176cf91663faa206929cc8cbc5b9218e9f933836184955b1783681a4ad812a891a3c481414627b974efb119461c02300e26e9a04ca3ea6834b3a90f981663dd20cec8c1c4b10bee64c1e2a137656a54783865c3decd1f0666722182a779e9300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023030229fff9b1b5b1b964fff501e59600967f459f7fba43ff8e743bdc7ce1307df71cf4754f5ecd480778aba3c047cad0902310083cd81042b4c8dcd9ad6148dde4283066b9030d5a5e907f029991ad994f0a29808492f12800f8a22ebdc90ae5e6806bd0302047c435bb500673065023100c41f069a07b69603467ef299d4048c553dd2f922ae036c61140183b1748b234a730f9f42fee7c8fea7da279d3607691d0230329cbc946c3029f003397193140b532d7e4d038e2f108f2f42bc2c97775f9149ac703ffa8bab1f52cd494f82121852400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304dbb031dea1f91257879782bff92a268c5d265ca74e604cc715be62774beed692d600b976fb45209d73dd2b6d134d1ee0230671a80503c155ca4485bc74981cc3aaebc43b11381f124e297a6d4e293b1b1bca4b7e5651aa753890f648bd215d9cf930302047c435bb500673065023100d240e32db07f8155fd47d0ddbff14fa55527261782b4b47e21f355ec0302106cdb93ce016e2367aea6f9123c78350b76023076e52484410380f6cf64aa9b8fae636c19eaad83a77f7f951e3d2a0510ecb85d1d10ba587229fa6bdc86f16b3ae32b190302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d3bb440cf04218fd2782021008f424f2f5aee07348b64221bb7dc34207aca091a654db3864565f8befbe34fcfd29c749023006e0bd3b50ff826f2f63d72533a7a990479f23a9b4157d8550a498a770fb728a69a45a05e6ecbebec4b88232d1b45daf0302047c435bb500673065023100838f49ecf6f800ea3f516b80aa80ec1f14f925f09ea47715a1635f259a11951953603a04a5ef1f45136fec36ccc4f8c402300f8404ed121d2366d26f47fa1a053ce198184c8aa6265926d5b91b4aa27bdfb1fd6c96bea7b0caef82fca1881353eb030302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302f2b8e6fff1be08a71e1e9a853ba16ee12e2c5893b59f21edbd1f925a283631ec28bea3eb201bfdc98081592288e8a1c02303bac8632056327da404f9abfab46d8623add00a90d5b18fb420cda812f38182b825750fdccd2d6602f37fb833895d09a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009e3c76470c3119c520373e445e9a21b81c358730b518063e01fbfef36175076cc1c95b328a21d5f5b9c7e9a2410c7c68023071a621276e82bcfcd0417bd95e23d14d316669faa6cd41d2bb61ca4d46974fb0b0e65b4cba0ba2e1549d087af331f6b60302047c435bb50066306402303e2e17da7966dd70524a4b7fd12c0cdd597777eabb6eb745f5d0a757bf69719ad872754e9f386d0986b82474d4b7cde202306ffcfcd3754b10e2673988adaa8755e25006d9a8ae1316b1d88827366dfc2600ce4eaf75d8f2ddf0583f9f58f260b5800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023013c88c91dc2b3bdf416f114236ec9354da8ec34b7e5b1315ad741a4fc292c2b434467e77c05d1c2823d9b7f297ea50cf0230222209c867b7fa34328911765bc1a35814838b3aa6edb3701d3b1f75848094996efd8b58c42187a2470bff26d29d80700302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302af6b309a51b15dbbbc7f54a057b7eceef74103f31d6d51767549c84302d04b0b5ad41128f8b8efd2b1807f927cd397f02302837b840378fcb83d1deeee56409ac5f08e326b1a1562f21476527cc77dbba5fc7c82e83b15853d0142366c52ea6bda10302047c435bb500683066023100cd697b89dfe57c12a113c3128d187e0452a2a6c729ddfbeaffb682ba9a4b9182cbf2cabb3b1d3851e74de0205353bbe4023100a25b714ba4c2f6abb2af0825bc100ac968f416ead2febd1829ff69238f1c71f9ac258d54c991cef1a1c437b5f08e14340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100861b36f645d4d9d1ec901c1a5cee6a0a8f10db3dd68f5bc092fde83c0275e0f95c98905f626f100e0692b825cc0e7c5b0230392101beb038b7e7cdfea37b41b52d408e5e2d71b4f329e0d95791c503a3b8f2535c43089886e9537999350ca938738d0302047c435bb50067306502304f7f09ff5750f10e822ebf65cc152dcb95c193a1058baa8df793e6c48db45c30b285c0ed8e85e041c9e53f6f0a41ce3e02310087b7d5a131765c3f1ddefc78a7bed371c68f1c37602af517be65c4e16b9513275569afcef83d759204b99cb8a9a8516c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bb37667ac392e44587d391eceba777a7c4fdbbb8473799d260871199c31869f47df1981ebcd891fcfaf359f143337b7402306ae24e3c1f004609649c766d34d48836e27375b553eb9b7c8986cf2c5fe9c44a2c9167569371b2ceb8971285f848d9e80302047c435bb500673065023100f23e3d7236d7b3e00dc7a81eefc231ba5b307ca98f5ec693b2d65e3f32a026922c1929da86d6954e839ee59176eedb96023039709c63cbb191ea5d0cd4c5b45a47764ac987cb1c35bdb2574ddd0a27074aa8335737ad575fad109da06f0b71d1e51f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307b4a67b4818313c39de1c89e70eb5a0d42ba5bd6cd311e19363819a17307f1935cd19de97341f7c90c160b3e365dbeb0023029418808cfc081b6b9afdb2d4af1bc0fde11efc2274dc23b4674922b74aad6b4bd08322e9dc6ed3eeadf0b03c79991fb0302047c435bb50066306402307fff09cb2004c0d89f25d0e67349b370279c0240537647bcbb7aa2ce768d7afef73f9a19141383d36c239df3903a158402305d86335eda55b1c4385e743e4f3238cf4cc373f117c7d91724db183961398e1f4e2e646cbe182a65819bb20ecc673e6b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304a0d66843b1a34717e4c22ad6eff84a1b5352d694535290b4cc7c2e830a78a067dbd9a7d44c805a197c96d2dd05f34b7023100f2c7cec990624f34f4fd0e5174e31b00a3f23b21c0654aea4519f04721edb2aec07608bf37b2ebfd2929f5afac15043e0302047c435bb500663064023037e900eaa3f9fd8111235d58db09dbeb67d9ae845e3006e24c3a68c801abb71733285944b2a45f6cdd50f960ff9773b702305373a7e6019d44b9d7b16a58ed4b408324b01f5ef520929a082854157325276303947e26f0e2a1e80c8d412a0b0b51910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c0adbe1a949d2aec4042ba24ccda39d4d08b21962716f36153c08cbe6d6d6f2dd357667afd680bc012367d12f488e427023100b61732825ad0ebb2abaf21c760f69303cdc73218951f5fdab865e6b3d535f14e830ff791af32767ff5607b31fb02ca3d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d3a81a48762d6a46a7731fc7f1f799a35f83ac8a54ab10b3c28f8961d2e90ac5245f2cc8df347b45fe4c48d5b09c754a02304f235b102802d4d6d6dc40e4a9d2ff94f194a1c6fd1ea1d10d0ab2fd8e97a2e2bdd5564818edc41f4cb103d48d90ca230302047c435bb5006830660231008fee5bfcadcc38ddce7f23a904bd4c5018979ab1567ff72f5ecacc32d59e542375b406cb7f4e49754314193f2ab239e3023100a79de00d05f81165e746fc8eade1e3d781348441493161ce0095daf955735cfdad54d47145ec1c74ba71e7669e29deb90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f3e967dce1a3c953c8bcfce22c68b06d9024fded4f3585dd64b36342ae22dee33808c99e82f6b12d4808e6dfe62f79b9023100cbc3b4a315cb93ede712523772861a83a9b345f24887296889a172e7472440c2060af06b6264c6c5a7d53f44b85de1960302047c435bb500683066023100cb49083cae0ae8b1581725f5ca5cc3b1a25c58379ef1eb8d521a3063f266138cd947e4d5676a42c839846ce26b20b62a023100ea6e4f1297c9be37be52e44013319cdeafcbbf5a447027832c04646707d7a11edba1e9d00b437652f12f8809793199100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ea0c05b07a924ca9485ecc8a298b7ca031312e1d24e432d7cc7b172381553a9a55e74b374fc6f60a2214e25df1796b5e0230136cea45483510c158943f17e6e41d5d378efd33b98fa1b8743fe8613a909feb9a2c32dc032270898d11c29ee9784b3b0302047c435bb500673065023063c6b6f7a42bd2bb894a232c56a4cc99b23d092b379930db7e138fc2b9bfd2d623614374b50a2e51253bc099d686023f023100b1877eacfcf165af17cb0f6103a2e97413c437e590b8142c5c5b6c6d4e2fce2e3e75c695b1586e27de571207248bf9d10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310085867ba7ae47aac0d0159511ac14538a787410d97f3ebf36a444ab3fdd4774088562a3b50372d35f19c3e3adc60cfa07023100b3e82f2ecaed1324c6c5d323d6b6662e99ff22435f22fff0d4a4cc04fa3d0c76ad383fc5419963ea3065caf1477aad450302047c435bb500683066023100be59e7629ce9c2d9e31c4775571d7def41c4f75928d1aefc9467c5b6423096c6efe7907ad9726b84145d7bdd0186d58a023100d17ab2cdc0429782cb2fd99d27f636915eebabd61665272e343f63d8102f468429b96fb8904d1b866fad732b798a5c910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230266347956edb051974b0b8f8356f9b78a2ecf0780805bcb944846fbcdcc0f8dceb13f49163298c75d1d04b5e96dd6c82023036bebf78b1ea0125bf5dab0ff73f2615af2298dcea5ad6add783a3f65314ebfc9cf706a8c438d3395bd09206533ff4140302047c435bb500673065023100ad96b4ad646ea6d764d8566827eb8a62f2a8fcaee4729fc1d9b214f2a0380913ebabdbec984c1117f76acc9e650e6d00023033498f348c07f55dd627477af76aab2e7033fee02aa8348391585139a9aa225a0040b0b2f5f787ef5f1752271927ae6b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305590a002acd6224089d02f1a1c37093139efb17f8068907fe8fc98240afcee143c010c514d26754739a04d5c78a1fa0402302461296e1afef79355eae1c0ca521a95f6ad18e1828cfb4cae69cb7cefd3b2ae791c649574d03eacf8dd20e0d3107fe50302047c435bb500673065023100c0e17c8832ea50afb1367c62cb1af206226b82831dfaf5c87936966c74f39f4ed8937c84737c2dfe2cda3a22e67abc3f0230689a30b820f9f318a99d47ffecdddd091544d56bafbce653cada0b30339e585e6403bcd30b7a5e77fdb604e1ec4206890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306d7472f3c2cbe5d024371eabc411c2c0d5013594f50a515a6e48bb1c2b09ee383043ec4fbc82b657e341ce8a6f2ac6220230205ac393ababa70a40b5fc9cfb23cfd85e098e93dd01932afed30a6a04b80ddeb9ebc59dd5e07e37d40786b16e220e700302047c435bb500673065023013bf42c6c1eb55ea5cf694c2c086362e77e9c034c9450c40f9cf9d61a6bf7514cfa32d97b71e8119a63c043b87480466023100851d51a014616821288cd760eaf572a232de0657025dd12762220eeadbdb1d0fa93be5a763d453e00633a60373d7e75e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023061e44f983f0cf40ddff01218cd573f521eaf5fd9e523e16c0455c09fffb0282d630c32162cb27dae9e6bfc5946a6b93e02307de138d0ddc1f79ad16a93dcc5b2ed9f387f68970740b7cbcf65fe36ed28cc07777b7865b30baaa7c36ea1e76b1516070302047c435bb500663064023051d70ff99f25d59241629dc9a0fa722d172828372b444042aeb0237f289b5bdfcb6800ed4abb5b536cc7c800322696aa02300f16113c3be7832d3f316f450119a0f30025c6e7ea8ba2e3b2c74d1d3fe72ddb2054d79e2442e975396fbbb8a1804e7d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bdec66702af5e9b1e8142bd3cbacc6cf58197879dbf015aae4563f6c295097e63085a9db39265fd10eabfe018a26019502303f5cddc0cf307bb0efa0b02955a8775dec4de079808f4262d0c83ea173addc61029aeac3cd4510d91aea8daf88dbbe150302047c435bb500683066023100e528b9ce12ab74e968c026fdc26450f418f1ada484e196ae08278f53a9bc42045aa8ca74c87aaea287bd989699c970ff023100b0135235fe315c1832054a3f88d326ffc9671922b86ffcd3ba8c5ad03f9d3ab08abcb7bf375aa6839feb9afd7e87335c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230138b8a6baeba5a4dbad5914071bd7a2c95ce36a7f1d4894cbdab97b7ca43b2df83e04c746c796ce2b51784052a85caa8023008139c81353e07dbe5c71637be1f4555b5f2221fe6711ecb7267cef3dff7b11a2d06e376741875c9764c5fb8e526c8190302047c435bb500673065023018d29fd7353cb6ff60cea12ee1f0a63153816f89cd4f1c103dc1d61b4aefe92c00e80410b66cb084717ed5f805acd3d7023100ff69750a906dbee4c3cc0ae4860720578415069be811b307faaeb8489f6de556963e25d2a1eec3be981df78d9bfbde450302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c5b80ce0d3c223dcb1faacd5ecd0b82048e6872a6add2058636374dafc6734a59b13b8000a8ed533d81c63702b1946d20230270271d8443382c69e05849f0a00746aaf1b34363f48567f455a66836047b5abd849a32cc3750771e4425982593d1a170302047c435bb5006630640230649b9eab04d91d174475f77ce99a153ce9f2474255528506283ce97d1cba08c81e538c209883de00dadd48a0c57ee6ca02305f4d78601043d9d0a953735c9c6bd6571e28c3bb34d19f34fe282d2336c4166ba84c101e07075432cbbd6918f32ef3780302047c435bb50067306502303d26a4b4458ef1c06dc4c4ab41a03e4daa2310a3944097057c42a7314ffce94c7e9db0b3dda784a25261a92b23e797c70231008bda07f9330002556c466fe76b68c1f7478e5fd005536a2f3ef5b5c1de7b103a1069a915523983ed402e36b95693f5150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300754b488a87f1f769d1beaff644aee1cb046a59b2999f47e25b40a29aeba166f9e14979e2c9e89fcb65628f7d404a94f023100da7292c7584afa4b60913fa4c26e450ea78dff97e32439f35856bce03ab5b2c5fe28715a7313abe4d2fdbed3fc1704d80302047c435bb50066306402300c3ecb73715f069d54389c75ffb435016024f8f03ff43dc239c6e9b81bef8383d0c624c1af5491b3c10af87a3f5151420230711bff58d09a0b0bb008e6bec24ba6bf81bba76add5db7377b7b93bd5493ae51c20be84e5bd7394818b5e25f861a3e850302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302ce18cb2ccf681ea3a1744c880e8bf96c8e30db0a91206616d3cce0e2eeb51dcc52463c40b444765f832a661d7ff9ac8023100be8241dfeafe7bad55c36bf4afab7764cab3a3f931d0c10ad9b00908a0a36893210498c21a8e75036ac23876ff5ceb590302047c435bb50068306602310087c01d49fe03ad1342e66ef91babe1a89407db7cf1992a95ddac52c48299190fae31ca149e9a8f6afc9ed58ca91d470e023100aa3d3555f7c1e842829ecbaf90dcc812205adbb7296392964cb21f18e7867e867dfe768bb2b6a6558609d9c26dc2f1e20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c9cdf2f9954ac69d2e4a8bb65007321eb3a17eacb4f2139ba387446d76eedda88fe61d6ef2dddf28535fda8d1971d4ae0230435c38585c6fea2400c2004bf5534b1ba784e11ca4e102a702774639ddb0def6311104f9e1507f5af174d7b58d623a3a0302047c435bb500673065023100f62688f3f10c6d59903f1486ca2b6534631e17629a46725bf8768615586ec4fcd861d3ddd9acaf47593255668f2a199802305aedf123397a930ebe071018d4551de5e8967b2e0d2de7e6358a59882f6ce0246f586860098501546805382ee6b033370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301948d17cb700afa17d1351fa56dcff87443f0d7901901ea3155a980b2fc70093ccaaa1d11c61e21c52d4bb81814f8655023100f144ab8f304cdeb04a568968d84403fc0cff62a1bf164ee2bbed7f259b4a00de2da836094e3e6460e207fc34aeaf26ec0302047c435bb5006730650231009fd076ab4ca7347180b8976a86091a969068610b583697f0c3aa52456c742b6ce3a1e97401d2e699b3f474de2cc457480230582f0ae1260077bc6e98a2e6c49c45c3dc26ed21259611fbeca5140a0425bff62cc91d09a3c6f853fbddf8cc2b53fc1e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100912eead3e3d28aa21b606b27e79c2ee6d5ae35445133142295cc4adc815b7fccaad989894da811419731bedb2a31ce7a02307ad2cc6e003a7e802c39374d7773ca0c5263ed5c092263f6eae81b40eab2cd79fe8e70c960009ce04be23287379f2c8c0302047c435bb500683066023100b80b62592135bffdcaeb4c992bf8f7dadab94dc4ff80768fa92f3eaba6f6c0b0afca2f2d230ae4c5d0405a063de263060231009b9d2c8b3ff9cac0da3b182ee669c06adf3281cc6ea98f7a379c9db7a9310a4c10c0c5d6be00a86a6633f9fb185e10230302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023065a941324dd62fa22c410a4045ea5fac7fc0e9b142fd8b9dc2560cf9674e3a532da1dbf616da2aae003741c96013dec102305559d68fe0ced9081ad45487187ec626023d71949e19a957c941cad38c2d62f4e0994b9148b4448cf0e2d19ea93c2e7d0302047c435bb500683066023100dd37d3ca04506c861083b99f7d8840f85f8615ab7ced238a26e929a3adce91df9b523a059dbd3843e6806aecea55f89f02310089401c7a7fb6dddc075a54918598edcf1b0b59444c9015f72e8d58c5a144eb4398a283ac6a7f55ddfe38033e9697374f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302423bc8c9eefe3fe54056578724c9042af7cb23770093e32077a9b9b5f08d0a54150864b7aa816d7a3efe9c2efe30657023100b2458f87b9d9bc871b6a119a501f02e2b2644062d1e429a3c0f47d60cdd4b414a0d48da7f5fcd90891b704bdffa6b9b40302047c435bb50066306402301578afcce47d4023391e2add719ac3ac72d2c064a1efe83e1a17f0b19c7a12cf92816fec7c9a477a6b91aecc09a674bf02306b151e22240166f565eb5fcf6ed90ed89069dcacc180af123b403381cb353304ae8a579b91c0f89134d16dd303f3bea70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f43e1b067f6a395cc700f690dc884a1738d5cead8115a53556abaea3e1ad78418b658749dcae6c92937872424cb7ce01023100a05274a535d45e05c89da6e02b5d25911941eb65c87f7ada1fec7124ff7f8c97e48599b330de9470d093b4e640450a5d0302047c435bb5006630640230678bb0c3c95b3b836cc27454671c22271c0f9b015a0ffe73bb8e53c9ce9e2de195ff00dea12321d2ab5f66d98546fafe023024ff337ee46a79eac0b09b9c4ae273506803db40bd63f99539e2a699b6f659f89061300f620e63d21b4f2c13ef0c7a240302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c3884c905ad7392e4498bc0ba40da811506386a7ee912a0475795e0bed2ef30dfee8278b64e7e85ed04e5ce1ada16c8d02303e0c03dbadd77e848c6a08b471a4d8c10db384593401062e894f7800a4c880c29391a44cc7a4c2b20c4a646c5f1f31100302047c435bb500683066023100b3578ad78a51c580677136c2e52681a59e9566f88235ae1140657c21336d6ce2f9b50f0fd2bf4b3bbfdafd98f565d166023100e967607c73100f885d1739be5457ee6262087c46a9b539b098d25c405c20362464becd0dc93bda908695048c9aabe96f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303c0f43722ecf07003283957dfbfb304dd0ef595dfa9487d8b1205a392f7c776b8696caaf498439b02cd2da2da8ebaa49023100d78ba6c8c8bdbc19663ccfa1328ff8293588651dd1a2b336c952c187b7c9a987ef396dd2d6be83542d7bc6e40f08c92d0302047c435bb500663064023053cda78a5b88f444f89738db9aea7ac678817b006af8c07674ba0d6c17f699eab59e33fd9d4c2d46a2d5a3509c080a0002306c5518d070800d5960e0c80ae9ad1464fcebfe3c686e8d10660e6140b060d248a8d48596d1ba78e2bf8fe536ce1ec6990302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ec9b025d9f13bb2e560bbe46b3200acab13245faed97426fc6ce8ac7926e3b8e966f9e432e4c2a5d96d22961d397e84702310085aaade12945e8967e9e45c1e5f6110d300722921d9af65d45baec56c4f615aeca6aed0d19cf4ee85dd9191d5703c85b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100be015a424021c407c935046ee2d1c42b6991df30a1c8515de93f816fe7d998d46085f36d1e4ce88075d18ad8cdd4f6e4023012428e65adfbb23a20c253b62a2285ade61ef57bbcdf648369ccfdc86f02787097acbc3b1ca31513bada8c3d3d9f8d8b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023064a38c1cfa14088a821ca1daa912bea360cb0bf9b2a08bfefc41cbc5113fa9f9e8cabaa86349990e9ea0633d2e27b42302304dea9357446cfc516747cf4857239663438f3080562f7886fef4831df98f9b34a653dbbd429994b24819b381055daae80302047c435bb50067306502303b562875a91916febe838abf59459f1f1db728accb0c88e8d35adfdc3c0d7d1f4141f9c17bc7e17fe51441c22774fa4f023100bd36e10117921d1716dc53c392672f34e6fd6df2871ec51f899378687573ac49586e00a3866f9392463b6109889eb9e70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306a26c7b3d1f3e69bac09acf5f1996c43e9cca7d66b7efe9cf146282a42a49e7d223822ab384795b529514a51b94259e6023100e283adbac36c9ea75b6d2818dc37809f64ba49780cf0acc5452a2a775ea47a6f0343c921bbfb26f9bd3912430301409d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306e2b65f72397f2a76b6d7d9b7cb3887b9ae471929860dcbeb1756927ed7ea291505d5a6b2210abf37107021a07f6e1b802303df8293fe12465499a701e38d4619e31ec07d2c17ddc583328c9a794ff96d143b68d42cccb610b3181a29438657284450302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300ca95f5b110f18792698db1fea494ed30b2baec1781467f2fd01408abb53fbc86cc528fb1119d3e64f4fdd089c6ee4c3023100b604a4fdd23e391cc5119647934d434bc5eafaff292e8b8791d52205bcb0f8a7dbefb0d36d873bc27c4698428dd51cf60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310086c5ac5bca73bb3bb603d5c7df9177ceaf6c0003745e5e7484afec3c1914632e24a9dd87e8054071734bd1fcb7beeccc023070cdf5245bd3ba5c1a1bc9dd18b960f184f442b3df5a805a23b23799049bdbf337f2067a5e1c7d67c713a0b71c3369f50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023073bb491ac1f44fd710d64603931e9861090cdc530d5259966dacbeb90d644c6d61ec1d22fd5cf1f12664d10c6bb5e9f10230105e8a528a1e5918361fa8326bf4dfcdfa8e154fa19512b09f90a354d3e605046c8d1eb165f0c0f20d06ee700ae1d7450302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009c7f52ad688d0c924dd729e283b1fe8bf0e8eafe7be4b0740c00ab237031defb910f2e663c16b1ceb0d45fe74048ce6a02300a6b1c99132a1800ce9dd0153dbb83c25a89dcd9e743275553e97b459881a351375423b640d9a4462db6df82f397b3d40302047c435bb500683066023100d333278de2a357580b2bae90ea87a678ddb392cde6329bd0ea9a31b928acaa65e269d4db1f033cc8bbffdf2235a09aa60231008ced82d591bf51bdabe14c150e59beee5f1f0afd018e9855ddd17fe1b153fa49ec3716f772d8872fc78f563f7681ed950302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e4536ee579537ca56de07476724b5403020e7860a8d946a52e69763bc5291b979719d6b61308c428ba750090339b6dc702303ad72ad8f3a3aae9389fd4cafcdfcdddaf556d367e3f66e1d9f8cc07c222c6bbe7a38eae134ec5eb97e22404355456ab0302047c435bb500683066023100cf5941caaffb8503a7bf03187318e22f9300cdfcfcdbf0e91c9aae6a5573fe5e4cc4ff99517805383b67f70fbe2ce38c02310083e883223f07017ebdbfaaf539e54eab69259854ab3b4ba4ac09090fb79caa42930de0907bc47e474b84958472a959c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230224b2c1c07ddfb2f91fbb072790a7463eb35b19121ee50f5760f4e4610e3ece5979737878b84f834e071cc5dd27ace900230587ca2c850d355610f4e23950ac5f99c17a1147c1da1e4ba27c849f06b7cfb057e8cb30c313df323e07d945e5c13ef490302047c435bb50067306502301cc76994c946a48eda0ae23e1fba2348ead5a27584892bfba5278a58cd13d70ec402ad1a50b0a628c933a777960f3d4f0231008f9f28386c614d1a7339eae90e335b1a8f2bda7c6d325be1a2f6bfe857c016c462387de6c41f7f68c6bb4b8d4247accb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023022d4f2b58b4fdd4bc48145bd1cdde4995b2dfd67b1245d2cdf72612b2ee45430d22578d76ccee0bfacebe2b83decf07b02300cb229d69a7a96b2f1f77e38f9913bd72905a838afca5e9c124151ccdd25092d132a111018949400f1b98daa862fc2480302047c435bb5006630640230448f2fc15c4addd49ee73e5cd80a531fd12824684779842cf6fa5b62a9f5430e7a1544d75b8a1149afa36f8393da744702303566a91da5b843027f70081abc88948d4002e03c54bd8c1e418449cf9bba1a60ecd9317f879993d346c1b66013d7059c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307a49a6b76636102ba9eaa4c1079e654074f34ff834127e085059e6e4f7edcf86c29c418aa48e4dc9083eb068c0952832023100f1c9e86548cc138d0e4bd128222492d8902db1bb5d08374138b78a35236e5380f8c9e29c29c2f3d0991b875f2c528c220302047c435bb5006730650230650b227b4819babb1edbe913536d26b5fd5a002e82e23d18ab7b20842c092149f3ee0c86eaca7601659f8f9f349a4c3c023100d8beef0d8c7762b42b221f9c74ff513e62c686f5247b832047c23d02a892a1abf8ce29fb0a031f406eae83fa1518bfec0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305cf643029fc1e94406ed1a990dd7c66035c63c2bc779a8a77924412b9f16d88b31c3cdae4a5046a4d464859d5435a026023049430d2db4c3c1f3b8a5b9deb90cc5baa9d36dd84948f427dd9cb4d3e39cc7ee0400aebbd29c23b6c3ff4e4a4d17302c0302047c435bb50067306502305fc54d559e76a5ec6980f125b549bcad70ac40a3e9906926af898a0b2a23266ecb62c920031bcb6ec873015059556ec8023100dc0eafe7e0fd54e871c242e7bdc6b66d7f5a0d388a043b34be4cf154a18b47cfb0637db9f80126ebf5da0bb5a0be55ee0302047c435bb5006630640230260da5ea4c07c383b01f871ce5be9698335848307f1c77f5e9817d274db82716d364f2e548927707050cca47449fcfc102302e0e5ce6bfe3ad7ef210637dd9f8e17efb1d21f0c3078d94b7881652d70c0a01733bf768a4d259f6070c935ee24674db0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023047481ddc5e57a8636a36345a48b24b01a8de27a46d858780b3f280ecd7b3618aeedc53f3c009e337b1fc872b19e816cb023100b50017b534b13a80ac7dc1f8e8304fb8af5fcc60eef2514955b1286fab012a06d8bb074df9c5c84cb10ecbeab605ca0f0302047c435bb50066306402304ad8678f2506ff0d0a37399310fdc2eb999e75bf08c4128defa2fad61413b2fdf0cb3bed02d753e78f1e8f70d1194fa3023016a6b26c964fc3319c1cde6a766fd83923dd5f26327cc8213d47409e26c329c24a6b6162b2f4d428c30b0428348224880302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f3a39f84da0930d965482c1052b6a636d7a03b90e39805e55e19965135470a74daa0f1d2b90f71cfc45a0c506a022944023043e4a43012ef40efd92037efea6bf0564519c1432cdcbff17026fe1e1e9d4d1bb6c33ae96ec6450845e9c4f33697929d0302047c435bb50066306402306b938d0b46b81aa456be9ed2450072597869dd4f90cf2e6eeb35fdde5b8a9c4014e7b86085bc739c01f5426b9e7dd7d30230708ba4aa3febc9660ba32af64d35261f3ea03ddceb58a8f810b3856d52b4f79b7591af2f6f84a13c80e8b1c9e97e538c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ee1670b4efeffb71154f02cd40160a13b81b57bb57d691c685d78ad73141f3c28a81b4fc7a41086c31933cf84c56c858023021fe6d024f832a143f542ce7fa6362cf38325ad6e3f59560c7595330d520dc8fd3f190b9f89d0a1beb64669b903693db0302047c435bb500683066023100b08e368209b9ef60dc902bd28820c8535ebb7c06b1d24fbed618b3ece5ad66d793f0d1d0e9e4a4e0ea799eb73ed745bb023100d14d2e0a089a55ad7311f90ec17cddfe60c7bade3bd167dc734b898339de8b5f64d78d53eef3336559b1f46d55349b560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300b7632e40046f1b15b4fa17adb97ba305878ecfbd0130656073582d8a3ca08a3ef61a5fc3e5b32f3a66a924ecb30430402310099bb3c95aaf25a8c49353c57197d71a421d936b5b616e6d1464a400f223f952ad647321533963d8e48b989c5031310650302047c435bb500683066023100f8b13d4816cca233d174bbf8fb0c1141efd1cfe59aac322445b02f01ea5089127c4d6b94a340add41f6642cd761b88ef023100bc6215a47ba14e211b6f30d89c95372eb856ba0447df6d0865ce115c30c53227f6ee9bc68c6c9c95458139740e153c6f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dd561b896b26d041421e0077fa107d365fdea93d06507b252eae27e5fa2760e77505a1301d81bf82e166148165e64b5c0231008763ec6de22773d571403ca1ac81c296ed7d5c377e51e76eac640467459ceb3da462508bc8a324511fee8c5aa6e05b890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307c054a0d65f6bed918828e72d566dfe3e8c3d58b36e9f0e6f063da484c0b12760410b6ce62b201a23116d47b1cc948f0023100d953950516ef9f7f1c3732ddb1be78ad786eadd699ecedb8f27bab28f432d6cc4905810e62871424d87a3be05fc557a70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009ef043b33f2c8b717ea717d53ea907eb1533c4682b21a3517e4b9d3068ff066ef35f33d1438fd74424c007c4186439d602300d487267a4b52d29a9e8db43a4f757f44626c6ebb74f12c1ca682347136d7fccb0507cbe7ca2c402652988169d6c458b0302047c435bb500673065023100f31fb3d84078af0024e519211e52d65f817c12a77a6a3c0bdcf324f32d98d91a66be37d4a10609a7a2c9a0b2ff2d2fae02306b794126e7d298e1543c0571d951dcb2586e2dbbb5bdbdfb21fca8e731cedcb4632814f94925088d49c62015e29abfaa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e97be3ef7d5bdc18c0cc7870f3f7378b5bd938940927c8bcae5087eb1fb419b4f8abf395494cdb9f9db83cdbe31c4eb7023100c287d629fbac5e928f3abcf7ebb3b593e523f058e564f6080ad818857e6bd079a1f52910d837f53cc19c9ce2334832fe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300b36a11b1357339dd604b7e5225de2e2fcf4f7aae32a47d3f35b81039ee826aa0b5e672b44eed9ddaf8be06ce992982e0230763edafdb1e7d551141bd531e2c8a1a0a8de3929d16c87601714cff97b05306941fe89729c814d0769c255f785e096020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100deb9aad519c875b9964dd4e6646cd3c49047ba2293135ac52cbef15df79672a778524119bbab77a12b70cbc56356f96d023025ad14b5d102a90a6c08eb9288490ca901f1a0b0f300529b43155dd3f1818048227381d44714285d37684ececd0f02d30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d9f40ed9cead12f6540e74b2a1854a8b148d0455128951ca05625d071b8dca11e1f63a7b31dfb3aebdf5008244fdd4b202304193954461ee6d81926a68bbe0b1dbd3c8bfd0ecfe13cb83c0b970f4abce92dda102601470c84958702dc042383dd9b60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100870eeffaec567ba53a809017d0c00ed81830e7fb86ffb5274d8ebc8f168a198dc09acdec19a9aae94a539851a3255be0023037b95aaa4a4404a9e3c750660e536f8687d44fe067c279c0a7ebd37d9a9689968e09c844ccd7fcf0e16ef5027cae92230302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fd6088a09208108b42621c14823412b99c187c1cd2dba38e41bf2183910e27af750168501ee198e99e32bebdb27ae54d0230696f57195bde5f08a421a2caf9c359151bce29f038b0f81c0eea533c88130ac0514dc4afdb879339acc967d3454ec4f50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023056cc68c67140b86e6ec96a1ff05b236660277af9d5ed3620880c662652d86badf97e7dfce1858588580b9f5bee15d1de02304b2681ffd655b6c9cfdfa7e1d19f0a0ef1a94044511c222aad0908069b445a28fd2f16ea394e5741e901f7f34ff61bec0302047c435bb5006730650230178eb2a472c746a0ffb6fd5049a577c6aae3e638d961ed7e2c6c967817463972e9c0fa9d193908cdd829b55175c7ac75023100b24e9d0a400ed0c4fc1853cf7e69d0bae45ac398f1613de22c0bb32f5f3cff43ba4d8faa344a4cb882ab6b1a9ac069470302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302587e368b181e392c49415a41f2cc3dc7bb8681621fb859018ca59b4fd1b1530e339a6321c5359ac00317d84a2416874023100b59d78a33ca5f889cbfcf1684524d3fefa6310e9568d1ecbee4c9871393212f15fefe94d2b6b35a325cda1230a82173a0302047c435bb500683066023100b27a3c9e0de83b622ad13ec1d99328ac7ccdf6311b76a99fd3ef7022211f20e1ad33e56c8d9329d7b446d756648c1542023100bcc87fe722c518376b1b00d895a76b32e464cdb276d8d00a7839314e35ac8e31c4685a65dd39b6f6cbaf60f444f672ee0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100918e7f1a72a597ab05d58b8108958aab9fbd59a0c1f226d2a83e4243613ca27046c7fb5b8fbfba632de1e125db2f54c902305ff293e4f6f057575163a855962113fb7c14ba6cae157cf56567501780bdb62e7b7b84993b507c1ad10fd15d9e288ac30302047c435bb50066306402302ff3454c5f473c0d06ec293cad962dbbb56f2e4611cf2e384885c9890918b6fd833693277c79e21ac6b2ac3867cba950023037413c4954ddcb64528dc3dea04b113e1d2b4ff308d7a991f98af7c5cf6685afa9d60cba069a979923a36d2f75cfb3650302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306d2edd796dc5125cb4ef7c84b03d9e0fff58ab187da65ffb195a9f0ffe5ad9a15caf595bd7b7a3a67d022aec6096943e023100f9234c71dd1f69bfad9f9cbc65763541e0408bf0abfd48d3eccfa14aace33ce14ec534885152e93632eb62e9d5ac5e6b0302047c435bb500683066023100bdcf4a59c02ef6b997d501472ca8253f7ac34430560df0e8ab8c74f0a5c007923210b41d18e48c984359a3243869ead8023100b7c7b0d8b81ae68af46ed5f58ca9d50e6c77e5d583964e9ab57d8b51b7d9c6be221db16d2f07d18a71bd7d57d2dedb050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302a7d735649f37165a3c9581b1c158a55e30b421af54da63862913d425b2d8a9643d4b982ad408695afa4cdca7640854f02303dc6d982bc1bc6d2b76ac9a08182a77685b2f951bfd322b4776594c78067cf71106e28b773ba7a12e3ba00c81bb00f000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e1a53e07321af7270d8438a2496506f6f60988a49c1a042e36cbbc87db1a3a458aedf33afc9e524a1051e34b488160f30230685241fb8e837acd2ad3b29ccdb225df03f9db15f9f8183a90cdf8192d9188976204ae2e4badb7c741680ba7223040860302047c435bb500673065023070ffc8afae7fcda6dd463bc14ab4a0837fe888ba4f846569c5040806c16c6d91ead84436f73b555fb40f53c96b21f8ee023100d412c3d68f9a16290bdd31891949683c37408c4432e2b89effd639316869eb96979de7ca901dc090d299e89e76790ea80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230468a4000bab114c0ec26fd0f9b444446985faf0104801a1b4017dde6c5547884089204a22848b625fdafb3e99f41104f023100c20e9413231c3fb75dec9d16258cc1fafc948ce04d0a77c52efbad724fa6e3f6984b6e5bf36aec9a2b991d176c5a76b80302047c435bb500683066023100c441344e8a83b01f38eb244db12c126fee5b4cb0ddd6bc1516665624b2323e57b34925d55c40f01e808b44d89afa0610023100c2ae7596b3dd6c6912693a39cd37796ff45ccda3f0a1c965ae647958241da57d26c5d82fc6522a900aac3437dafc0e9d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008b3a39b965736e761e9718b8ebd9cea1ce5429782ee6eb5bc6235459413250a8e2b6ca80507f5200145eb464121b8f9b023100ebf4d0f2afae6c5a9472cf8ff44deedb96839938d4f4fc5e03d3a401b9bb488f308ef58a375b1502ca3f096bd264d5420302047c435bb5006730650230188741e5da7ff5ae16847f8adaad81ff293afd584dd10bde6be0ea2fdb4d643b3dc5dbb75a359aca66a465e0dfe5c0b80231009d165e048f90b29402dfad160b136c8c6019b7cf74efa65193f4707806e52b6334af2676217d9331c141fff63285c07a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c1f872e2bdd9e3ae3182667d2a4916fb3a5fbab03c9d2d712453be646ae19b941df1e813bec2bf9e6ccb12b56126aee2023079a3353dd785b2e3268975c623b66000782ecd083567e7befae9d3aab60d9ad7c2d1c2162bb9901b3749fe0198d6e4cf0302047c435bb500683066023100a3d6a2a436a10547ca72cef8f3445c6aee7888b56c863c468902a35ea5c1131426b22b323ec9c582ddba819b8224f517023100ccd183508c77e59f24c3fe21a5e61e6e41445b04d97c82061342772bd59c98b9cadb549eaa9c0b0ec8e70cfbe2c149320302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a891a2e546f95fd3e466ff73308bd3270509c80da903d4a9379cf73290805d45ccf21cc9cc6757cba787f3f4f0f605202303b878f9011b12865d184ac80a11d683de83ecee5a134353388c19353ff082cf7b626d087985fe04427ab86f1620f0ec70302047c435bb500663064023063e9478097cb2dda8fe789c7415a3801f00d555bcc628c287912898f2c732ed849ba0ed614baeef50471ed02de6d3c3e02307f02008871944649b2194648696e378fc8a095665651a0ab56e80fceaf34fa0e9ea4fd35c25ba104254525a3c4770d190302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009d083369da8b02b5543f95e2ba02995ed2088b8b9963d4535e826df01ce71e1a2c80b734cf2100c1758bd566a070d30b023100a9522280c462f06ae4cdeae3eb45285d6a2f20d3466d7eed52d69811c7d801d3655cedbb6b97ce86211b16b6304b83ec0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230696adcc9b8927b88abc1cdcc8e88067e2414a5d34e65f6daca1636bff91bc5f5c359e9260a0d1b49be27293b452ef1a8023100a62a6534bab0b45d57f0567ed3b9ef56ad27094459d855cfb729d13800e953c6c4e01cebfd237739e29e93ef5b99fe5f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008cb77bacbf100cebb6df9510cfde4d1627dacc9cf165eb743f574e70b6d6a6500560b781ffd9a391c920b60a3294ae520230795b2931526b1aced3a66a9a634c54771c2fad2e941009004b1cf96bdea7bb7c0c63d98b76df84188eaf98c9bc5098fc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300db15666ae06e3d97954b4aa9eaa6a250da7dff30afee78eab808c97369c0846f1331ecf267449270aa8f34f148e02b6023100db721b3f55f2f7f30578a7f3ce2a48c61de7c27702c5d84ace3da3562c48a4452c40f4c3bb22be2038c79404d0f3e4f00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306e5ce250c148072621d9842834eed389373b090e4f0ca0e0b6dba05f133d9ac641cf7829eb83cb9f4a61569e5137a031023038041e180d904e8bbda6429a8ce6c561ce6c4b1a3664b75b5e123bb9807cdc6f74f62f26bc56c92b50e010a131a38df00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301bd2d444fa16c254a35eb1b95a883a80e39b770d2dec62d7a41a998779ddca2659850da4400e597f47bbfa4f4ba8dfe002305c4c6931827ebfd33936838ba960ccc5b4d798a269efa7c9a53a1b0d515fc7e405432642d853d5651852f9b420794d880302047c435bb5006730650230517b1a2c14c40bedf3fb0bb84f72505cc3f07c5bae9c8ba44a40de7950b386891d9451c54b0af082ecbfcca9277401b5023100ba2676b3a48451333e3dbb482ffb52ecda5f72be66110d71b6190ba6626a54fb0ab069eddd27549846651fffab9f076d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302dc0e4e403888d93e25591b52842723b8211cfe011d0a6e517af2a917c61707d16600cf15326f110134f7b15a8965e0a02302ea57bc75ada384e4bbbd45c2b3ed03c0a49ecf1e655732d82ff90215291b870add808241a14c22036267c2cef9d83400302047c435bb50067306502302157cef5cf09b4d6b069e9926d60b24c4ad37169868a0570ac0245f31d6876adfa2078e964e20205e6f88daed8d554b7023100d4d641f4a2c6403fc48a8e965ee2eaf15d2cdf3f0523cdc85d62a56db46639afe53310d37a86e5da21b1cffd51965c990302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fd9b3e74fd19a139e2ef8b5454f84c478b4b9301b0cffd0b35310a2f995de53a19991de925e6553e23cc484ef8969be4023017c9a60f313cc8b0e0cfd791617e3c79d9eb595ff4f9c421f63a2e5774b78f0e9699fe181e1c4f434c8e6485225741760302047c435bb500673065023100a41c2250f6a63c6c319283ad6d30bc896faa5a744436e15cccfb9b079aa1a2482cbfeea3640692a5ad0b1f442d0bde670230392dc2253f3e4f202861b5f8f484d6f054f999427aa87c1f5996a5dcb9251939b908932a5a57821955b7395e4b2330c20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b6ccec609adf713fdabefc7c33838d0472a334d3a42037843c1219c7010119a602c3165229b991b33ccf346ca6bad9180230549a2d562f68e3babe0a4151f492aecce85634995e28048b30c396cd54cb0ac872424f5733de193a7596de08eff36e100302047c435bb50067306502300569fa896467e7646b1738b532bc04e816492f5c7ab7d4151429c767b3e5fde8d9a7035eafe33cdfb9878cf1c6fa97cd0231008122aeb41e067284e2067349c6baf2f81e02f9dc7c6e03087fe1d30fae0d97c51d09863ecf5157b553530cdde8accfab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008be863b2fe4eb805f540a28abe225612f4e7b4d3b38bc88c799381592e89beee9b0f7409baeef7045259f2c1318d4552023100ecebff389a0a49a1153d3064ac8bee019dd08408993155cacfcb0c6c4464bc912c4b041c9285561b328164bbc97d9a520302047c435bb500683066023100f842049a236e91b2736828d80ada8572f01e3d2061efc4820e274c51b091e03257811332e7479b8e3de41950cda669d5023100dc5cd6fd4f9a9ea49289b396a92a2659d3af3120e1cc0c7dc9d6fedaf8d7a4674136c0e7541c361b7b9cbb1a7ac2c5bc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c5ed97d38bc3e7e9c0b6662c5da54bfee0e86e05b307fceb02ec7e4c5cb598b87d904fa7dd3e20eeaab39c51b3b230c302300e4138860cbcba2463e41c59cec99825b472e089b3530b594587c685c6cad0f5a54b0156f868bd382ffd113e86072f620302047c435bb500673065023100ed8970e6a78743869ddf21d0aa1c40628bf37d542211b9fb3c8607cf52e6dbeb2acde45f100e9a059c821d4bb755a29902304dfec0b520fe9de005d884ce150046affddf5e5828eed6b8f8705c972502cc3ea70bdea24f3a33a2df1bbb7e97184dac0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008584cd6cbbab761198f37538829836a85622688247deb6ddadc2f98e422743f45c4295a43de0bc301358dc6c39b2378702310083878168148353aa48de9a8b552b1c7cefe6a83c29b6b6ef0b59609706c01f04df9ebcf9110c3e59f9cef44457e481720302047c435bb500673065023100bde10805a8d1f39e51eeca0fd80439a45f8fab223c96f3b3a7e0c58fed567f5882b84923803560394222947265c05d5c023015a04f36c69fb88119ee869b226a5efb118e08481cfaade75c7af9fa4650e5d2423e964cd1cae0b1990f571fc31da5cc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023056742c605228e92b350715c874a7c827533552e685e89e5d64f67fd1a5106c483d4841aebd7f5532c2a1ee798791efa002302dddc1c293e651c6daf71275fec656ce0d01ca24344f8092dc445f9cd45a96111fb641bf92ed1a28c88113d6eca29d340302047c435bb50067306502300fce888c37afaf2f6df3b6ef6fd3635fcb718a29daa2283a286c31fecd59aff3351cfd8243caf32db1d928d314859a2a023100982e34689065f2a2d7b98e2d85cc90bfa6361dd27d406a1bb3d9847e39fdf0f87fe8c5a83577cc163a5cd1d137e834090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306da50719d3628da87dfb32a368b57d084bda0899795b93ae9831132052272819b3f5dcf6ac5bc590efa991a4350c67370231009fcf39be053e3ce8a35ec5f6f54f4f2be5f933a11acd9a9b8de69d99cb5e71aadf15df98f2e80987262a6234698c0d3f0302047c435bb500673065023100de5969f812b66e84a18c03f2b032f5724ae45b83f2c80f4e50ac1bf6145b0fd5e6e36b117346b3065a1825a3b357bd8402302a180d8aa007b8eb87a49a574fa1570b8f7947252eb058da2a7efce60693f292c16b6cb3507b698f558b9f18f38b83740302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305bd04721f8d4b074bb223d92d3ace7141468fcc1d8bf0136e564af85b22cac3fa40587419499e7f8157dbb99371948b9023006308085c102c913ca369dd234e7beb744cd6b732ca146cb5c81b48f1f2695302483f374be50b20adac2a1b88d3d0c570302047c435bb50067306502301b4d73ed3080c4032317248ed371e0e617596069e4d913377b60b3a84206d5c51b74a6a2e3923db7425123671bfde52b023100ffbcb7f7c5200c3ee79eddb1bfb255fc8bd6e5e26ff7e7c4af852ccd61f8624a2132c0cb69f6c10ab27cb75cc817d7530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306e9a1db6f22b331ba5d00b4cd696effd288c4fabee3fcdfef9f882d3b249d1b341e93276f24716857112ee6d81cc787f023100e3aa807a7f6a12d1a01991d670d0226cb62658376c6219ce66dd1c5ef5bd869afdc31408a5739e61f317b1f32608f1760302047c435bb50067306502304550eb026912a7610f7069e3b7656c5a85aa45b86388435328cd4b971ba63b013dbbb7070d95cc97e0f77ef856ffd169023100b64c1b2762726e450e8b2535a86107564ed466e28dd4a617c39a414f220b19cca75a491f5312898597a5de48ab5bbb0c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f0af058ef0189987ba64519d636826ca50fe2e9e679327f4bcc7e3e1a575507cf48620de5a41ab1a688d9f18e2129898023100c663f2331239f45ae162ec76f35bbaabd74bc82b01ad1af86d3d0d26f7d4343ae58abac53cd86cb672b8aea03f676d0f0302047c435bb500673065023100e8622a16e803591aea610d44c03736c9fa23949a24cc8e88a122ad0f5ad10d73e0023dcc95bfa9fd6c2b0a50835e101902305e9bd151ada0707a88b0b572f22b0c18a9c6fb32a5cf49443f9998842934469789edc22e50dcfeea58f26f4b09d8e02d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230345070f950235401219de980a0de55356e6d44325331820c0e64498df1061db158e83f11613f545bf3eef88f42e64f8502303c6cf826b301c048a1ae4101a1d16be7d9ae7e6b0788401c011d1e59ef40ae94b211f3117127bb63f396b22974e557cb0302047c435bb500653063022f283a9d228a5d3c11aef996c9e39b6b7488317ff9608aca48e7151e75729e871038e6f9072ee25577141d1ea440668a02306a3eeb34f35d16a4b670b71ede14e33b5d5c92d5671b7bd54c4c8b22d7fa41bd25f4eec8d0c0f66b477ad287855fa4000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100de2700c04d2e71f30f016fe3f5cd8263fce602cfa20d2914b02197ce8d7a8ff251e465496ec058a47f5c016f6a17ddb002305024d3e19e2c51bb37fc2a1a503dbdd37bfee704ac3dd40ef6a92cfeb1ac2337ae2743959aac3380195b618d79b5f2140302047c435bb500673065023100f347e6746045e41438338293c7a5c44757aa26788231586a09f605fcd3782283e0fa2f2b2465eb0b1d960eb49c3e0bbc023030e3d44ce76070e80013fbfafca502ec85c140db759264dc9ed52a5e9ef081232a584a0d9f864f7ecf64886183ed51330302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ef4898563cff445769f1cdbb483e5c24075c4e11072c54a6f0a33fc2b7b31f8705f35d41e53c6c62425613b7155a15a90231008452fda4e20dbba6775b451a20673c0010aeba52c495811cd9ab9cfe0252d2ff03d20226b3989fb3fea5befc0baa813d0302047c435bb5006830660231009e8233831b5ac3b3162315fb7b2ca07ce84141dddb0af3c00afb24d41a5835ba755bbfb0b56c3a4900acdd7dff28e11b023100f1b24b771ba24bbedd939d97f8a36a94176181dc57c8e6198d2a217452ea9aec4f924b1a78fb29a89b56de6906e3f02e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fadd2d2d53466c747043b8c8a7a97025c50ccd00fb30af58acf4493373e682baf22069ca1d193e42937e5690d59d6ba7023100800ea6b3d5ca8227f7cfecb6555d052bc8901ddfc9ff29d5dc282b9ed99b7b58044f91d78888b039d3c2a315806e577f0302047c435bb50066306402302849881020ab976260315912a2fa2e3ccc990281525365aaa309734976ae25ab802b21fdb86f94410a6ea0b24248068c02304b12af3d31c30516e019d69cd98c90bc69ae8117e319232cf119fdf0159cabeb66b352fbc8f6d2a31598db0b498732d60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230654b5e4a5b2f82f0f40732aab30b45cca103322f0504ba8bab1e6cc445c0ed4b0dd809b8947d7c5491ec6283ef84d1c0023027d0e654bbc065ad8ab85f23504dccedb5c6a5c3c5582653e2e893a1f191da3e411e16198bdd4f5bb9bf5024455bcf6f0302047c435bb5006830660231009296a52febc9e53a8ff382a377f84f6fadf0dc38e0f80aea78799ac89f6ad1bc21a49f4f9b6948d27f8fa91f4ed6ca7a023100c933356ced1ad92d94ae4bc2b7ff6cf95947b4363353f599b6556f4225e09ae889a10b8dde6d7a1b4aba67d742a029740302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230027b8ebe390584a3bfefd0cb78ed8d9dbee198b6ed190962cb98c203529efd8f536ebffa8355829be92392c6909da7e6023100b9c930f2f69cb1b6196c7a2b2455e937e39e68f091631eb2e602530a6acb0e525c0c4a544223fbe34421e1878e6a1ef70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304fefdae9491b904624b87db63f389a6bf8ee20dfb85177940ffbc6563d9e0b0fbd2672caea9ab31042e3e5e292c22dce02307b8968c965b92d668fc5b77dbb0897b3fc51b64fe557ed514a5d5e3f6d9bb0595558317d4ce747328f7280aca1f7f9b30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100864a5f4a1fe58280243c213fe96ac6a2fbe4798f90890b79e1c1b5faf654f02e478f63bede980ff679fe0786e44d2a0102302473713fde4500e7680f8ca260eaad3b8cc884713eb70ccbbbef375d980b40e75f6de7f1fa4fa710afb1fc6a2007eee80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302ddb1ab63bcc9e75b330b30fb39f8aacdcc91aa109f3c458fe24233b88b90bc71ad4f379de968537fe7d3487382a510102303862d55ded62c411af150252a9be7f0770e15836a7595949764d2f41ae2dccd12491d572da06012df5a746df57f609d40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023001ded846521e2379577b67bf05dcee3400b83aacf46dea1a2d6b00dd6a7c3544b515b20e0aace6f9e465d0ae9676f272023100bb0d86bb6e51b20a268084250bb24315ceea8733bda66edac0a10ab72200998e7b1f2dc174b9a32d6d3b445bec6ba5130302047c435bb5006730650230372671812c8c622176c580b8ee159ab0bc186a1d3de1ab75b16545d5c2af4301e2d47787ac74f092da035fd2bc69f9e3023100f6f15783bf4f12938c67eba46090b600384aca28fdfd4202ebb3abc859eb0d9cc1ddc3caf7bc006cbe82fffde41349bd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023076fcdb60c8edba7ad1a70d931e211a25a0ace7aa11fd93d038666d8cb786443fe69622c99878b0a5db1bd306e42867a802304a2da9a7079f8ab389437cc1a15b47ed4654ce75ca3990217ecf11c74ee172e88fe0ba8d3edfef69dfb6da3a5a3c3c7a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303abc742ef2fcd6a300343f35916892c713db2b01b67d8966ce75cc53fba6a92a8bb721173a0ec96e14a0633f7938c392023076d2709f6a1eb50fcdeb409b866046c44cfa5e1fa70a5074b480978c069cda07693a8d82d1eb7cf09249002d1724aebf0302047c435bb50067306502301f4956926aece95d0c209ae8432ea404fdc710a176d87c2208cfb9c0f719d4a95c1120e789c4b1043f29074f523f8b19023100ae105aea1d38791cafe4dd779fe4c2c0bc38a59bad659aaf25f8a8b993118b6ccda68f40d7092bfc66a7d335f33343580302047c435bb500673065023100c1b4b886b40a06a532a294bd03fba354461a99cc342f369b8f3d0e368136d5cd6964e9bcc9325a8461061d987b0bc947023041ecd27e71453547b85a351f3b867e897192be6cbc0c32e599ce0cb13b0a50fb72859b018ee76fc7129ebb05776b102e0302047c435bb500673065023100d53661fe81ac9bdd3e84dd25664fb288d46b538decc7debd280665bc965b8423adee61d92eaa042b16a9378664d9f5150230047c4ee70c224cf4b179e59233a953dec5e50bee47463c79928fab9cd5aa4f248c3cb47d422dfba291eff3b3a453cf1b0302047c435bb500673065023100cfe8e32fcc5d4f5315fdb10f4daa9b708af0de5cd0a288fe4c1f7ff5a6131427d64ca71ff37a4d5f0053c9b422b82a56023000fc8472b8c0fe089bd55e24b0e810ff4c2a8995762d594ce9cbe664da0567a61377751980f57532d63fbee3e962db210302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008b59d8f009511c8bc34ab432f0ec8d757fa1b6128e24a58a402a3965451d962fc8b8aab9f98b12288b52a1a6fe028edd023059ffd4d496a19ab64b81fb3cf9c2515af55d27dbb64a6bc7ba455e8d2ad0a2efc73d6b81b877da2be06c5fc79d5ac6a40302047c435bb50066306402307691999cf10930ae793a633aab6db4a4c608c171d44d277ab54e669403c9d23108015337598d70eddd4f60d69cd69593023040b03e83ab2d82cba45c6f9721c32bb1dcee7e88ad622954bdd3f9ce6ae2a46a34b2a350e3e406f9e5219c5f455387020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023004e4cec1deed699f5907c3e5bcb726ca061708bb3e0d37d6b42f9578d39673a12dd76f44fe579f1003cc895dab669a5b0230491ff3b33a7ecaf37d5e7a5322141862f3d28f9b1122474d99fbc9d888d60236d1bc276956aac987df2c9f2e56adf9510302047c435bb50066306402303d6f7459b40f9fadf4e8b5800e0028dd5b476426a0578a8cb299f8f1b690d0828778264bd396a31fc5aae7a344b60c50023023a538d9c289993e3f75fb2f0a60fe35956bc724d6b83b252b35f5c3a98a54ac3a2593d332ca4042d53c5b3d8f700bc40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023031439724e51ad7ae85a8e15fe0f98cbe34fe40cfafa90fbacf6af925f46cc0b9bf76c97ff8edfe7c7c735e2a0455dbc5023100e8b932b2e708841806f5c8e2b78a9e011b0fa65d6fefec0fb38ddc169ce6b2c0837b8740511ff3ad5943d3e50fbdd84b0302047c435bb500673065023032ca626f3722c82bf3e45dc4123fab88c46af9779a44d2579ba73e85da4d5f37c22d4e2742afe7f169e93f7aa68cf4e90231009f71d501910b1364afc4892b24f66f0ef7a8e169c4dd6d4572d4e879db6d30be1b88fc811ce7ae5e298708675b5b1f470302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e0dd8e499cac0fe2df6757393fc9a2a4e1e76a51973e1f431d9567bbbfe13251b3c404a9a4ffc2531f9f425a8fb69ba8023100b9b74dffbc999f6ac24acee24dcc24d303c3774dacf8c7065689211d0ab42a6775c60721c03e29ee11afd90da5e181830302047c435bb500663064023032e90149463eff807d18d3f6fce9d6dc2569a9a457803328a17954684c284c3bcdc25d049763f58edf102444a2fbb4ce02301287b7cef38b4e1053adb1e7acdf2d3a2619c8c49c96ccf7124a5b523e363b46e8184d6eba56ed98fb0f6d08b79ab3ad0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023039a7cc6cb91717575f9bc5523bad65194f7a4edd612e2af6e4bcaa10e4ad0016385d4ba7a45336385b4e44902c54b4e80231009c0c9f80f43bbaab0255f6e45a0099cb20aebe5a8ead71ba61e6062267682e6defad5bb05ae30ae9ec1d6df4a394b7b70302047c435bb500673065023100e764461bb488bc5b57eb0427b7c7c9ee307236095594cc7fcd4a3be4f425b904d9c8677ce066bbe41ede1d4c8d6f76a6023031a93e81ec8d49d5d524c64c851faac1966b9e5f65a4b311c280194e46895c6a2d6614750c2c9d43c95eb301b3aa3e040302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303f1bf82d45e4f7e202f7da9f807385accb9ea911513942010497f800043057dda6b2b2cf376f50bcccae61e4b27228ce02306c7e61fef5d70c9cf8ca31d0dde9ceb3e676ce2e90ffb692118f8d5d7dbc8a3548578a04fec9ef527db1d172d058c59f0302047c435bb5006630640230536aba879cc14839512a624c2eb10614e3d364a737b1d986f992e71285691b342ff18002e198847b10e13a612fb3f960023048f50cb80f34fbd2cc5dce42079fcc3c33514f9412f8456a5338778f9f322fd379fb83782fa3b07d52a47f317f2e25e40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306a19698bf5fcbfcb2ba55491bc087cda34caef21653e24f891f20279c61cbac7d121604dd6ac99e0c5e6da26ea85f0490230452f061f9f6b07f7082992d935c8ea36f3bc024acdbbf4b32b91a33548c84906564ad855fd40c35543cfa4a73f956c370302047c435bb500683066023100b075f66eb8026851dddf010bf52fbf98c82040e3867913e850b7e1a35ef517c35b77c33565210e522d9a0b03118740e1023100ee133e6391c82adf6569a35a02493b532b74091fda41f7f936ff2c7ca3eda05329f7af3e81c2dc63909d701b5fd27e6a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d6b0d8f51f8b8723b8b1a94aec721d91442eb3e043248d1ec6f823f625e213747c939c23485b5aaf7b4a3543238771d0023046368c5aeac7f3b44ec9c25de472ca3bbf287ea556a9d6348aa20add7b046a2828042cddd23d4ff7798c84a198cabcca0302047c435bb500673065023050ed4602476aeece6cfaae1c4424660d4d278d7590eaf18edec200a2c8ef78ca2f732723d092b89f63a4148372d302790231008364c474c660b1a857d8b2579f4c32111d825f762c96e069b3670be0daa2ae353d9cf1ffc5f5929f6d5e555ef05643120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ca9ee5a463ed0f2603f7b8b74f29fb2e4e6badbcbd985df1d44f496dbdbdeb2e3c5773831fabad0382d9efc5fe501a77023100ecee80dfa27422f835811d70156082d951c6a0180be70735e97aeeb0b90c9b24ce0a37a52b9c6ef5950a10a04d27c8990302047c435bb50067306502305e4ce1c9b37c109ae62bee1b7e4d30123698a9fda02bd90d8a29bd3f66b750a68f887643436089a6b77624db4f08b0fd023100fa4b831d8f9df32084ea2b2658be7362329ae9d9a1210057afc778a8a56528dcce744ba4d060d4cdb5864cb1f71526900302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a6f3f4e7a2eaca806a5f60ab7b85030c29112bd0810efb85dbeacf131b854b04141bdfdf164548c7d230be35620187902301651b9e0d07234fad23dc5d22a889ab3da3b7def025091f5e0eb352c011481a40cf04b6e5668c322585019c85e66b5600302047c435bb50067306502301b29de36a0612a6d18a8642c8f5802b87e0b5315b067cd83d779bd51b0315e1f365354fa3973e43582733e498210d983023100b4ea5ac739802f5fe274a977f484f90aeb62e2fdd110fe157c7d575315bc200aff817484f20629a172bea26543a981200302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306d0b72e3dd1749b65f1d1818950421754bf4825e9a9c94b2c6b9bb2a8ad5c69dc7187e8902919e295700531296461a2d02304fd08c2d1874202f1cffa1673326c1026edfdb1b11f0dc9fd531515907bde49b7a182ec76b4c4cb6c72ddb9afb3fe5a00302047c435bb500683066023100bfc9762638cb99690f8523a738434bb1d203c016a907a03a8750b05120969998715dd2f1caab2f840c31a036cbb1808f023100e77e5de8a1604376d1553cbf0d394db0d5b9a2bc980b0c987887a9df7535e398ed57261eebb73258d457aef651ee73510302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305a4bf137e3cad3bcfc246c18ff333402031f4a935f3581b99eed1786732e869ca774f667d9f5149a05356a70b268ef99023100ad92c1daadfa5fb5a8f1db0cc75a25942113699e33a8aab8e256c92032cdb59369a783375b2870ea231c6d87621be18b0302047c435bb500683066023100a1738dfe68283347240229b5709a53b5c16424f00c3b68f4664f2f386ab5064143cddacc6cbeea2e71b8b949ac33129f023100983984ee1cd8f9bcb6c0f38d1aa1bd4b089fdeac8a8be6906291151e3df6644fbd596206bc463cef86ecd3e4b163574f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bc139ebca1d59570c2f995f3438ec87fc0c97d43877c541f9269aac5b9f817450369cf2f33d160eff1b1cdde479a9a7e02305e2c10efe42dc0639d92a7b1c2b62983c9e373bd311b051a8bc43869feddf05583f6dbc70e00056caf016e39c409d2c10302047c435bb5006630640230677b9c3ae727a00f46402a27d24888e263a5b818c8cfc36dde8d22635f724012e28fe10aa480bd33ecb280e6d2afd7c402306c7e51ed0f6ec58804de7e28cf2d425a3e1f4de65106cc6a2c0cf59febb5829cc8659906f3836be0103be659cca370280302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304301e24ee328143d5d52c0c802f3d1bc992b3aa5653e216bcf394ca159131772ff756d7aad6152afd43fdf61f5ddb1dc023100df079aeacadf9a957e6681dffa6566a335055e0d1d87e486f95634d30eec73a0f7cdff60bd3abe8e702c4c10c048b0160302047c435bb50067306502305fc6655b0d1f35abbc0b8020b40e49aa2aada9cd687701cecaade4d2364ab784ddb268932f4648b01c13fda884ac7143023100c646c417269e9c274741bd277b5f1484e14131273e0492ff1d2b796b730266e680b69d3ce07d22d189a50084e1cd53f00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d1f1a86f5b4b0dd2337ef0201600159447d0133769781a9eaa3ecfcedba0a7102ee278d01c04dd9671ef04d6819b948c02302246b13587eb01cce2cd2d5ade7808f80cd75a59985d1fa4f98c4fb2c29c57a8c8d540e15ecaf1458a3285ddcff51afe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310083e31b5c813d91e161d1627ab0f44842eef23048cedf4ebb4565a9dd7b4e17ccb650b1d6901d814273dc616d3c9c253b023100b75dea3cf1a28df59f1ef1708e18bef3cd7aa8755ba23c0a15079e1540f874be893f9329f95a3ae38d11ecaf335999f20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230060194090cf7f8d7b4c343df7fa7e33ba0c46edfd8c787b66f69614e7d66a0b294aae39070cda7a635f16a72409d35cd0230516fbb822368ebd07107e412d2793f357933d4f81507c4b65a430850cf1247792a84a465affa72050d7967d970ea9cdc0302047c435bb500663064023019612380ce31666cd24c6312acbd21d4527a1836fc93be650d0f12184a87d733377b2ddf6dd9dda3e380dbfface58a2702304744aab513bf6c67f69559ac51c5e377eff1afe4398afc8e1363590be6a123f5ad3042eb35996fa50a5767a4768a9ff10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301103ce065f038edc00662f787cb7c5f7359feb31f4e3f43e4bd24d21195a044d468c65c94afacfd800d8d9256a89b831023100e6beb2fee1c6461a0dbba5fe09d260663dba374426ae53b08feac555c57b814a8ce2a3b403408eece3f4331b95d2a9c80302047c435bb50066306402300e5f958262c3a910c68b9ad69ab7563a9ba924247e10ea07fb756c1110eedb084438375f17d118efe1d9dd79576daef1023033fd81b3360ba32dd9db7958640651b80acc3cc9bea3bf5fcf7e750d806cc92607f69f10dcede67ef1edff663ba0464b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c452bcb4ffe46445673cf9b1240582ea40592b3ddfa320a85955ad0ee745ea5199ab3ad96455cebb45ddd5b8b725dcfb023061689491a95add7b363871e9a19db4d2b6700a45cb165b8160d0f07fb3958fc1588c46e820e41529c3989c9500a548d00302047c435bb50067306502305d5274ea0a72aa5ea8e210edffb354dedea68c5eb62b21510e7686f00d7c73218a06768172502e1304286913fca45ce5023100bef3072de2eaa7f5d5820cde498fa7a5cbe61edefe70643b63d6eba10cdb18493267709a0656cf9c22c24ab9efbfd1840302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e1d7a1f5bc1268ad53fdaa3483fe432aeff74c08fcfdd7e32bfaca11c65e965abe13aea7e0b05e3a405c7d1f71779dbe02307408e2cfff2aa2a5f020465338d0b65233e3851067fca5e504aa10c0bbc044ea068fc8c359fd786bc67e1b5367fa289d0302047c435bb500683066023100ec93bea80484c806731f767efd51c8056840c53a7e20200ff2e543850eab1e5bb1be2daf4f7fe0b339107863c74fa6ae0231008b0f0ce615c460392c12ecbdf6d49ad566929d861ee0a5df1152ee6c3ddc59928915c16ff2345dbe0813e30cafdc2e150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100de168a3c73b82e82b70ec0e645a29e9a53b2e2ac75f69e55b144c8e4cf7baf95398f156f6a5909bca58d37c63a99c475023100e398ae351a01458520df12ac689bced23f7fc4714e91583968d40131b5b31c3ceb73f917746719da6775c64b2e7c35af0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230749e2473480d27f455f4825bed665bb6b2e08b19a2255d6530e2aadc5f40f65800436cee670792369203f801fc3be48d02301577a548b14ce8aa80b9d88e41f1eabda7e64dac148eb43084c950282d15fa1465cd7e1337f0943b46678953033639a20302047c435bb5006730650231008fd1fedd949b96a62f2aaa19b9f045694909b953a4b3ba2ea83aaa2c3cbb06373b70ece1dea503dd71c5367e21d9ee5a02302a68608ffe00a02c0491e1673dee62ecf30e48fecc31fd01e2dcce40e4a74c43acb9bacda32fd7a64a0335ece228289e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023057a600a220b91eabdd63c607ca5fcff1926f8183dc02f72369e319f94b28ae7764b9944bdb6df9ed0a5736a023f9b5e8023100ca29c53dd9f6148b97051ceee68cc6c36e54dedfcdefd988e2c3be7ab1b38281df695bcfadc63fd5d9c989aa38e66b430302047c435bb500673065023100eb5d289a6018d606ce884c94cba4d25efbd1d60e7aae5a5a7fcd61de8b58dc5533f053e6d981861830a9b9b5cc4268d902303294862f2246567abc48f723dcc7773c8e66607b9b2673c59c333300e4634adf765de37baf8b4369b4f1753b74f7e3890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009acec817f1f5c9d5f895b5e2e2966bde3526d90f6f43f92a4486d19f769879e2098c8bfeb297fa0d88e8283d912461be02305d58dd0d4a85e40151c5614277f411afb95f6f09855ba97c7d6d8b7a4e1ab0a2bbfa0dc4c079da1380ca387fffdda2b60302047c435bb5006630640230712a53cc4c454927ae13c49f990ed3941d23fce9808f004d3fb7715871e8d62dcf7c0c9775762a4bbd84964acec61c2b023005c9f2373e8548f03d4b4d658f8624a882af4beb15b083dc0d0601a172f41da733bd305d441c524568dfbe258bab95f00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304517cd0d4123f9e3a68825d5c03caea2f4051f9a1aaec63ab820549cd9a2033125510fcb64219befdda906e49ed9c372023100f7c5c30bd2188cf3ee6a6f081713b41803aab09eea8054ae64bb88c905b0aa1ac90bc289a645c5680ba97dda74d3b0ee0302047c435bb50066306402302beb0be15d4f50c65f77d7a2df037aa8d7c10a6764a68ab501e45d4f8cbf1c701be6933fb45ce54e451346c623c2e11d02300bd67d95bf898a654e08f3e9d4703fa6b15389c151900fb6d95a1e1e8c77db6bb4fd7af74e6d31a43ff4ef9e23dd44fe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bae1fb85a494f3accaaead46035161c2c50b8dff17d33927871e2c04a39ea721c636da7ef3da02fcd3c7c40e62f7b2a3023100b79f05970a2416dacec215f4eb960a14a74e939069d68f16cff401aa11ec289fe35fbe9cb3c337620aa2d6f5f16adf8c0302047c435bb50068306602310094b6b375331b317a0f7bc5ecc93c96311f4424ca9b5a44eb531756b2f451d143b2f2b96c905986a2682700a10230db55023100af34285e62db93c13aa8e567ca2be46b21fc43fca5cab615dd6efb57e9e06290094f6494a89770615e1c51e1cc810f880302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e37662eebc40e47634a0422795bc2b9888a0be9186003d77d4286b4d3ac8820d898401e9640073d3df6fa0ff259bce9c023100d1705a8ae1e7c96b32a9dcdd05f0df62fbabf703696385962acfdcefb7098aeab12533b5897cad81745a30bdba48639c0302047c435bb500673065023100be2b0ffaf1e5d07e1f3beb7d542e9796a36cc7ac6158434895ba7c7d3bfbbd43e1dcd5f0ff8bf7680d8b2f20e2cb57ad02300aa5c8eca4f299baa41a0cbb8b6bd6596eeddba9644fe9ee9fc54539776523911f14a2cae6cefb63f5da88d55337ed230302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cdbe498ee3c9678373afa7a9f9611b0ffed124225272f75580ef6f31b59636d1d6c48846dec107360ff2f65ae1fecfa8023100a226c599fceabf6899362d4e597f3ee1e6adcdce22bc23cf7c95d1b5f54a8616b1651d9b833cf02bc5a6b9fcbac34eb90302047c435bb5006730650231009fdaed9a606b63a67e4e1b169f62fd5195efcd15c72b9f92aa488ffd8294c8062260ee5a5ad592e0c7ac01f601b71efa023024a1bb54be8a3b23e692a27854c6415a6194169c78fd16153a067be9965eb2e77731f317560ddb7d266eb68e77754b4d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230507bf72f9ba6421eb1eaf25589e526ad7d2568eb4097bd95f8e5545ed334d38b8d25957010fc6ea1b2fa37de0b81ce5e023100e7c1468ad7df07941be54c78986b82b9fe60b8604e654188a9adb3ea5167037f39628bfc3e55016cbadf4f73ccc1e66e0302047c435bb500663064023058b67317e5d583c2404c3b0d59483fcfc622d98a5db33e9e348f6354f2baeb7325c8cd811aefd031138553823db39f43023067d6326c822118d3458c925ab85ad679b53d94c85fdd4b81903bd09a24d4b7401b0ff40cd09835641a62d3e2498d07680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b456f1692153dfd910dd43b7c88cd5c1533d92ed7f783bce401a4e30c53f9df1db0a74c4e21652472addbaa941d20fd6023100bb2ce47f29b5d861a7f4ae1be8f19fb7614ec5c12d8b679926e34175be9b92ad8ba1838d2fb1e25527872ebf9a8f60170302047c435bb500683066023100f84eb3dfd292d9d271b5e09ef85c70d46b1f13aff99f627817da7e3a242ac2a61317443b4ea5657e1cd772db0db2190d023100c88339bb623fe7adfea63a38301d7e59cf0cd62ae40ef97c9042b4b37cf9d46793c9f06c25149f9e6b25bafe7e9250cf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304e10098516b3a2d47d842d0b5dde061c11a1cd2e3c746f516cb73c48d1c65d6ff9bf8e42b4d3a035817bd7e6ad330220023037f3cbf378e8bff920b1737ebe00c3b9e81fdcf234d871f8296b4fd8f6593e1f4c60b26a9f6b89f606be0820872e35ed0302047c435bb500673065023100fecff961d59f424a672d18b95281ceb77ea26c65f11ff3ce4b985d9c358e23ec9b4bf749ca6b6bb9c2af0df94e6a207a0230550705b73edf0beb6a262b8504c887bc5e84381454ce6ef12a1c92519e065e0e98fee8b2fb9fb865dec266a011f5a9180302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023005fa6bafa058cf1b729e56f1ee50332a1f7a713723a0a197318b3839b354f18051f420d5fb3d4c077acebf63832fb70c023058ff950651e6b1bddcb401168325ddfd9ded5c9874b528ebedc6fe5abaf35e43b260af24f5ddda82fe19b93080381dcc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100820274b0ca9334a273e18fc5f678a4a1de0ab507562444bc34aa1345571cb25d3866b966ac5063d1be244667e7dff46b0231009076db92f72d5e15afc2679397c89fa585da3cdd084f0566d2780f8f016140b223396944b4088b32f4dda16966052e740302047c435bb50067306502304b89ae1d52e4cab2305cc595a1006aa31155572a9747b11d94d4d1951a4cdc550f06ed7086213a18f5a6e484536fdc1802310094bba394a4c24bc55259472132fba0f5bf36b56615dc047974e7d2be71b439ee7e8c16b566d6e89eb18061993d17154a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dd05561a4bea6542d01d1ae3d35062d265c2ccada186182c450be785001b7cb7679d5ce80af3cdca8d45f7f3eef2ba3b023100e9aed7623450bdebadfa525f8a31daa8c76e438ad36114ab1eea1a5379b7558b1e8793b89111ac6e03cdb46e9b5bbd120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300af2fadb22c0a12abbdb381795ea1580c96725229bc33f0facedea4cce1fb6217041fd88a0f6bbabee552c3f1050894302306d2241b105cd85ae2197782295e37e0e558982deb9ec066fe5ffb464e99f96c3d5cd7d171a59c52e3388958ba3a29cd90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e338daa63c22a46372f0e4460ad15ed8035972cb5bae92b522b7c79ff05cd4f188352a6c6779e99183222e0e553bcca302305d9ecde70b1c8e1dbf43843552182690f58e78e4ff9bf4840d2fcf9e4a14b03732996fc0727812fcbae78420fab9594d0302047c435bb500673065023100be60304a440f675f8146744b815cf5c6d555fbdd033ab375453111f2269d7f03003fd8a6ec4752fa95128ffcd367ac76023039c4e7774920c783b28b262644bd4d76c78a01246566ef93d18a8e30467f3504f3e930bcf72250357bd5c3c3b1cdefab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230314cad267f9447700610c23c0b38fee8d916adfb94d5b27998124d9ac20cc0793d9bc8b81fa8099404f50c00dfe85123023100cd501b10f35e5b6fd0cc8be1e595586417728063cf9aa8907bb5b122cb4219130193c964bd11f2062f00e3c2d1ccc18d0302047c435bb50066306402301443a8e2e0ad562bd8d166e7ff34da3e8dfdcc9b10cee99e8acd57d8fdaef9099664de91565289ac8628c966c0937eb502302b4e96fd8a4b99ad3a1dc7c86cbfab545291ad1ba2fcfae2d94919d0d293e246c0bf9a4edb4e277eda2542d9b6cac4d20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023003257bd49634f7ea198361e1b754b8f562180745788e8328a79ef080c231297e8af16dcbf5646b57c780c36d2737344d02301f23d769d21e9c0d58b18dfdacfd521fc6528f1b858eb570afe95306e749303f609049ad5c03dec2e0594e67838ff7c10302047c435bb500673065023052036b3fe2c7e5f1b81005d0ba0d79bd812761d68ca7274e3ea1299a841a643dbcbf265ad1c3da44081caaa4711d19ef023100b0d5e35b6659c4cc285c15ac6466afec0acfd2eb84e12bd8fe4656829069cb57881a7129ad5759be4ecd20e82ace19190302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230013c862c41e3443586d762214120471b1b2ec9e151e47507226eec2782a69b90c11fa989fb917c40b0b4168480089251023011150cb910433e8ca9e465f1c7091d5df2ba103ff26a94754218f5c706ca121c1b34c45b8d265c9d940bcbc0c935bece0302047c435bb5006630640230024af817b20e77340bc8b8626eb9f28859efeab0a5b21949127359697ff620f1c0ff79ca3667cd8e457e15fe45d974e7023070015590387a633938c3731d1c8978c79e54146f7eeb36ffb2eb017cd4da7b221bae65918b6e97b12336188b21fe39fb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b28d8da9476fdba9ca5e89a5439596953a919b07bd9bb93d473c8d7e10b9ca731c6b03832c918a9c1ba44a7793f13ed0023050302315ed7ef38cf3b80ddc74d33e6241e27add9d66d39ad70f09969eecde1f404fe93214f6d4a059767e411ac145370302047c435bb50067306502310099716a11f20379c9c2f96c555120d57b0293449873b37c6047dff10f89b3be896dfe32d62628b0e9c3a5f9ae29c79c7702304f33629089d6613bb90dd4b684d3fa846d1411db1019c423ade685f47cf6b4ecc0ff813a5b522bc8608dcf9796abce2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023046159933f1c5bfa8a586dab55abe98fc4a684e847d650f0d3ccb296d59910e57cbf897120a4b802339cfe73c7804488002304e423e4ee522e20e7c3f12d685e3366ecac8228b5196a57ef9749be80d371cdc977763d0fb04232e29164797adc3ecf30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e30ea8a0b2ce16f8e380b1be075c2af1ab7cef01851c5787390c6a44a5befc5aa721352bcbab86afd874edf5ee5c8cc002300eb35038cf0c02de05ef880b24ac196ffec759513a2e292c2a83cc78c3c230f1b6eb6adb971dc39462c840bff75e69ea0302047c435bb5006630640230027e3cb0f37749983819bf3a12d1fb37297254302f9039f82010537c35f703edef175fc345d635816c8043af7abb30f30230737f57b395d17c109b46ffbe96955bc23531c8e1606da66875bef6e8f017b7ccba1297d45852ee36f8e3f2f5168f66cc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306fd610d2ac37a669f8186d1fb58606318f4320239fd5f63a929e7309d065531249078020cc3c374b1c8537822f2f66bc023021a5075f6277fccd4008cc085bbf3826e3ae6b9b3c9aa50819b831fd323bb86f10c7f45a5030edafefe94119b5e994840302047c435bb500683066023100cc55a26c4f496e98a7cfe8da2ba48aa0e47c625c037231f54616c560fb919587e7818dab7ead9c1bf746ba1ec5c830be023100f3dad8bf7240a10d9ebd2b17c6f28b746f3c1b06bb2b82c222d63a5f9ac4090c644ccc2a3249bc110d780b6d6a6775670302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310085a701b1f0d7633fbfb4b71eef3b36eee568f85d186f2c82752fbd224a13a5bdd172318911b6e3ad0327b993f925f98002303080f09294e222b07ea7334625d3e4c2b104005a8ffaeb3a60cfcd8e511db40b0eb305d26f1773c107a85b38f932fef60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ed7fffa6ea46be223113e4d49e55bf2b59e2475a820cb04aedf9b0ab94d01c29ed0900d997c3bdb8bb5026c5c10bebf202302e4f696a4d7ab934c184f2deab8397091c3a58b5ce0428bcc17bafb8126a98f46f16e223e0a4d82f9b86a965350088320302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303f86f45fb16d7cbc8b0055efced38c728300f1a367ea16a52fe3b8006a5f52408f0327ae858ddc4536ad4a11c7a9d9a2023100905b5528b09083a3ec759833c2e8382db3ad8831f6a2913a35b3a4078136477e8add30e6fd71dc88d8527ae3a5064cdc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f3a5361b37f2d41c6797214b03706e0359cae1dfc81846d2a2e785debe7aac74730611bb760068b3fb397fbab6e35fed023033f51834ba019bc6efb7abe3a246618102a24b58cbd3449cb4a1bef17a9dab4d0c14c175a65bda7c7406c1c0a11da34f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023009ddec8676a542d2741dde6328b3d684d85c2b4e8a45ff8a74a794b792f8805f6a6493aba37c7aa521e973ddca8c2adc023100a2fefe07a4f8ff0b139627ee0db28b4e7ad6e2a459a4a84188ba3f2a0bccdc093418fd5b6c5e11e3ab286dad0eebd6320302047c435bb5006830660231009354d03fc50e1406972bf742d485b8ff935dc2d599e07e5d5b62a77f42a8f9d3683f3b4344f38c651789bc0431b3ea86023100a216df0b85f3f492ba15a9887cbf49fac587c06f31cd8c8929192e75764a3ce252baefcf90c5085b0286eb577ffe877e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023022e79e81410d8b2f5daae5014fcc0a6f3963f74461c0765a00db4878ca44602f23507dec7ce71683a61ba7d5b5b0f581023100f31a77b6ece2d8d8862cd8bf832052411e8bccd6f11a35b32c814644ee0cef55aba7b03950d6ca133746235c0a4c557b0302047c435bb5006730650231009fe0afe2935b3b47b6586aaae3d6a6ad3db16f8c38a78364e21d64937f1c29de67310eb973265560630f94c2a25d35a90230189967bba46fcf2954579f4be42690d4783dea1fa8d1c35a2f927e4af35023920832e54f1d0e25e0eb3cf793f1326f380302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023013df0cedb5058245b84e35b897f914d3ee50668cba290b7f8c5ab6321ae2d598b92e171eed76a9f562232a243c58848c023049579f2398f9bd2da561acedba34fead8bec42d5ff73e3bb4ffb33c3ec861c4fb2d8391e6e737f4e4d3c1c5dc778f00e0302047c435bb50068306602310094775ee9494703dfd50769ea6f2c9479b484d02cf008702c052a67a44256d9e250483f2590eaa0391f3da34e434445e1023100c449de2e8d7c5db085a5f79e3be54a826ca3e4cf94337f7081f022ecab51ed049843e076091c157093170848edaca5020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009467a91143c02e8544c1b3ab30b2ebba721a0bfcb690d4cd2e7e2c781f184fa925efd5fcfae2e5f6f88de87e4a26878a023100a911fa909a2dd9635302f7acae4f54a681d5d33a02c74bc0ba3696b143818e866a7ee3e76092bcdde9b3853c6457444f0302047c435bb500683066023100f34ed8be4462294f053271fe8f4bba75469df3e1cec82e4d3dc571d67467c3f038a125df1eb3157f9f9804243ba5f340023100c18b4e9bdf848a402a24e8f498a1f4c64fb27ade855788f0f27cc835b7ab02c45381ddc7c3fdd25d204e1eec835e4cea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100edee3e7499f8dd147d9775fcea6f62f24381f5cdd9ff769a95f82f93c3bb7849a504c5e6c0bef8c81f8e81eddd843d070231009b59fce9d6fef94534207f3fa9f0e691388be1ef72219e990e6dab79ebda78a9b8d6b42508fc4cce5edbed9e5a1f8a170302047c435bb500683066023100bbdc96fb893ceda25d3f1761a17ae74e546d54cdf9d0c33d5bc453f614c3675b543dac4d1ab9837fa73ce0464c42b306023100932ba5077d29dd8744bb47ad3fb86738ead3d5f90ee57ee0dce16ed01f5f99b08cb9d6edba692cbd2e4fee503bc3f2340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ab8700e21239b8341930cae3e239501c201511fcb5ecd425bc392f5baf6879f7ea2faea9537c253ae30b9ec030fbe6b502302c4d635ffe70266d064209c700a6725850f381ebccc9db4783d62a4ec9846fa989550045cf269de681f47ef5b9324d770302047c435bb50066306402306dc9bbbd3b45973e54765e1c0530a3428b3bb20f90c5519c8e83edee0a222d7f2e284b119174a32e5d1dc14a685a2ae00230728077bc8dbd3739a48f698285a80a9f36f0b9695ad23d8ad26971df6a1ec9f260c5cff340283d8a94d351d8b95f565c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230514a20bf956594fe6b93017f0174bef1bf5acb984445620fcb28629894bc84a942aa081cbd77366942c31b5d962fbad102305c49b8f06368538b17e48b9bcdaa7a09ec4e71484a263e0f49ab24459ee122e95af5b321ab2e8abd8fe6eb0ab234db890302047c435bb500673065023100c6d9202513128eb955be035c99cb5512c8e275d2f3c3e2161d88ac7b71a6483998718e8c71dc6aa882c94eaa81c82fff02307d8efa1cddc2da65547b726d2472826a23f8e2b6b55c00fde9ee7ee3b5df10355719267f436dafbd124aff5140b49e120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008b9f055fc08d1d5992e80fc2c6b664e025b749af29aa8d22f314f348784092fbb584a87cae725c0ea8df43eb63a5bf24023100df0758f5e4ff3a1fe0a6e612a4f66dab9a9d16800a12816f9ff570351ae646c114b6211cab04b9677ffcc0179b3bc4500302047c435bb50066306402302003ef8674f75499aaf017371a821b87e0c883567d90b583c55fd5e8b097e2657a1ceef1de8c1c053412a0c5006fbe73023038c2a3e6e77f13198d3b62117e6372cbd877c95985c4876f11158350a99003923ce871314927b5207188ce03c036acca0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008d550023d0733ebf9e2fb17e568f07c7d3e82fdaff3226189455c01f9cf12e558db01838b69a68d4b12777a208c08b7d023100950d3a996abbc44e023f7a6955d137c87f7550d9e593b860cd9ed3fa7f623573a70e417009aa74d603c8affa9ca1cdd80302047c435bb500673065023100b2adf17c3070734fb39e9803d539d9f70afa9f4309604f0bfcc38b08b805d38c4c268af152108fe75a17491f6c281eb602302511c48d323858d3b146cc8a9cca1964e45011645c426bfbcdbddb534421227f8e378de200b0c5bda31ea7296b1ab61e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230444788302101d9948cd8d88259c1a405f7c6558b77d634ce2a39b634085ea82714f0aa2199dddc79f2bf4cef97baae4302302df2a4db80ee8f46aa917e5f71433b3a8b593f293aed7fb2a92ba8f6ac84b4c100f98bf212e2dc7cf9f216f45befda070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023006b189e34f6bb2610894d229d3280e85d5478e471a47eb9af05b502ee8fb7401285636ba9952c7da174b1cc523257aea023100ac038b846cc72bfde5dbbcd8f1af578ff4145eb33db69fad3bd055ef1a556b79be36fccb6c9219447fbb12b56eee4c080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008596edc00219e51334cea8f5f3246e246ac2910d5a6d3465b63e2cbedcd407bae0ab3b6cbb122601dfb9bba56416cb7b0231008f6155d8cd9aa804fda89fd70402a7117d57a690c0f24ca67dbdace179e512d2071f537b5c263d0a0ac4580b5c3bc6300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305871f1e371fe2beead453940ab194ec9bf82eeb0b3172562173d5fc4c00633ec18bc07f672f6cd3992b222d5375cad6802310092ac9d518fa238a9f524d377a2f346faa297e059d85a762235f615040a0c8132cf2b604eaf69d35bdbcb3dd4256cd8f00302047c435bb500673065023100964b732b5b41ac6a7a3d932b1ba790351f9cf3092577f79e766cf7c412f768cbd98e1778bdaf450be584f687963a9f2e02304a6438b06cbea1d82cbe9f4f5f39f530ce62a1e2be11a1e8780fff700c3d8953d1b8d6709bdd77649e6115fd41363be40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023049ba3079ec3e71466c2e39960c07342f23ace85ed2e1d1d24156b1f05ad32b63e03f3bc7f59f83f422ac8b4e135582ff02306395fbbb531c1ab8242ee9dc5d87039bb50ba204b198807d1986702c0c1b83017d844e46ae9039d04c3c12ae7c418bec0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300559296ec3bf02f9a43f230d16d4749f86c35298b448c84cba73c89429cf537d6943d36581b597635b347f0bdc945e32023100ef3a218ffdba990c47c374f3e046550544ba21bac77957f52f4b76a69801a9c90310bac5889384086c2442bcb0ebace80302047c435bb50067306502300ba230ce2efaa9719c48ad35d415186bbdbc786cd6000f1f4beb492848ffe8203e11aad35fc29f6ae75178cad972505402310098b4a342911e235ef07f9878fb352dcffe478dce2cf9c8d9887e005fa7ac3f1e9eee01096a267c7c9a221440a49161340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305f51f938605f5b94ef9c2b538c7ccfa41c38777098d4479e1b396f6b032612454baadc8407e98b033b15d8719b74f01b02310086ab00089b46a1ce81de5607c2f0476d51b01a9ef58eabd33b6b0b664a2a44c8942cef6fa8830c20f9abfe4bd5aa1bd00302047c435bb50067306502303c4b99891ddedd5a16e7660b0f0d58d87b18860666e7dc2adc807aace31e94043aa09ff8df5b8bae82a91a5f9f8616b9023100a32ba40f99e923c2ae9d2be94b77eea571b8d5cf7eec0d7766afe59d37561c80062b0c8005cfb14f2299857396d7ee620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305a801073d21ab937e6d155b79e3d2d36a8aa654ebce797c355b298e1ef252e2afbf75b676d6895bc4170b5e120ed0078023022594ca9ee1fe914406af580aad699e0fa45ad38f7815d48810abe52afb39168ee4811958558d97f00b6ac1ae2af3f630302047c435bb500663064023042d40bacab42cdd05db377fd521b63a1bb3871e8cb74a5f4fcd638cfc2f832ed4cca925fba524372069b2b4e542da9ce02305c583dd27497e8e619a8b6e78bd2b25e95ef790cab0ddac78cbc9529cfe0490afaede8f7dceb8a48e2bcf883daa170630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100922dee06cab5bc48edab98d1a9e7f9f1f07701d175ba4a2f75d98c7a0c8ea8845c3d433f59dea797aa9bf4b0fe37a562023100e0fd51375f96c4bc0fecdf81f6892df03c1ad05ddc61bed4c9f2bc74ef51a2a524ef29e9dd48193f77efdb5259e7c61f0302047c435bb500663064022f1f40911648424177840c81c808c08d4549d03f3e6eaf27b95a91a854e533f1eb43a232d92d3febb5a0a93303a765bf023100f59c9c3be1d6979b9e58051809a9123aca7d1ae3bfeffd1897171bbe8f2f6e0ec09c5caccc9b99102403fe2fb398676f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fae2cb39be24cc38ff4b0af55a35054a4c6dabe5a9b8a6e612dd26c9c8e9e1cf94248216699a9cbd7ccdd9f675e414ce02306371df854515a78f545335401579322d762d3144d2e3889cbee1de4774552a1be503cad6b8bc7688bae4e8519b8d30300302047c435bb500683066023100c3ed1efdb0a73a4daabe761310ca294e2f719aea54c887c87af57ac0cbe75aa5b35696a9ca55575835daa91a2ba85993023100f8f73c5915a2ec7af330b7ac4614f2ed0349cd5273a0b32519ed6e6155e689a8e0cf7cc63700cac31f310d7044aea0030302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230650e87ff3a61d5f80a290a08ecb75eecb377dc841efd597977699d601f95f6b66c68640ab5e24ee83cf08d13950be5d50231009ee650232a9e37ad03c3e86f8215421ef7fc9741b1ad7462af3f215838263b620c51aff28db1f681a9a22f9c9047d4a50302047c435bb500683066023100b4adf1671823b2d74b639f138bbdedd5128a69e1942ed667344dbc8bc7830494560ff285fe80b350331e65a33399099a023100934f6f462fb28a9ad95ecfa81e1394ab77cc2fc58103d788dc7c87d8943b15e5d555732fa85063090c309553bb2f57fd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ab5bae65e64a1c7e87ee70c51121b33aa89028c778a31c42b71c32b4cf4161b1bd01aa0299e067f1730f72b3a06bad3e0230262eb84832cce0c45f6bdf4b763e3e2c4cd1039e3a67495266d5772045ad143a32a5c2ac2a0d9fd76f8fd3af9a3305df0302047c435bb5006630640230188c1408e07904c8beb13496dd932ffb313fd688312bff447be8a20442cfee7cf5ffae722a1455505b915feda2c3701602306ef2ad32890daf70d9a2dd8d1668136f852419e17e2f91f3445bf0acd0e80984bada6cd38424a62a0072e6cf2fe43ca70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230536301037bf94966209b3fcc9a4d548335c5180850941d5f9a62e7a509827dd68aaf650238b77912a032184eb743f45e0231008d1b8399110696bfcf103911d76e8f46df27dd256d45764f0514f2ccf2d3e2a1a6aa4619b86107be8df0fad0a38ce9420302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307b241c3a609ba536751e8403d7819516893f88a85039584cc27ae6ad439c36f5937f00c7ee247a4dc09a78b7bb79a738023100a166a807c9fb2aa474b29a04f85906f9e35e7f27cb10e2b6f309f5ef0092ef23e2fc7bdab489a85142bf03f9f27c89200302047c435bb500683066023100968f276c558a8f50a61a0615a4c61d088777f4a972db4fae669e6217bff18230eae3c226cfdd6968a772decfe6aa4226023100e5a25e3bc542b40a2e4dc9e7e374937d0f99e2c382028b8bac51aeacf9ce57b26128e73965ea672565c4aa6eeabfb8cb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100de733115af9f708efe3fe06e2d9a1377f0f885a56ef614aab2b06be1fe4241790505adf4d887add428f023b6521c628b0231009f36617e049ca119b8dc341387c03d876f349659abf76fd790d9e4991c872ebef9d6e7d8b7daaf1b424750f02a1d19fc0302047c435bb500673065023072f9d34e052d473ca288aca58ce251d63b6af956b7e529173df2c6a96bc09858754c37535f22da1375932f76a2f73faa023100cc4ade6fa639f1f8a5636e9b907a124c657e304e5c30fde9f11daa0be7edd97de92f5cdd965d804c436888ad5196da580302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b4bbde491f790b31b91ac0154a488d0c66943ac746832757860c6feee5cb1df2a72c05407e4635a3f28512050074a23702305b53baabb7f411ae5423b50b5ed29efdd7c761e74a84cdff7404bfed6ca2f7c0922ee8e76b3c04969f62bb842bd87cfb0302047c435bb50066306402300af71e37746f4d384e166ba867c3cfdd75b8d0d9149b80d8be0e7e384ed126fb1ad3a23bd2cb2d0f76b74d5e0beb2d6e0230555404fe870c057291cdc92e29923de4dff8902296e82111f977c7d860217f47fd6dea45f1d802adf8f29c7f3db4ca070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023074ee56e8425cd9828df92a985c7cb9d932273ee3fb7f75cda641d70d22aee3c569f6dfa41ad6974099bc701a29af7120023100b0a89f61d4493abef0eb09c68ce97527d6afdd40a500159c4ab49d3a9e9a18a94fb19b1dac8612e17fc72b4c58ca1b330302047c435bb500663064023040ad3f14991116b2c6bf1c8db92d11f62ae013ac19742bcdbaf3f79bf6500ce62a4a2e84148f4594a1331b33b57c00eb02303fa6238a57f37bc209a371b3058fd9dbffaeedc942ab4cf88032cf623991199faa343149e0cd39e5b2ef137e6a3a47d90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305514bc3e10ab321e931a1b31509946fd2bddae2ac3180e96f1a955050447d9c9e8821f47873a9798934fb108e51525fb023011a8a01bfea174eb8356a48aaf7422c41fbe01c9fda8ac2786261be7681669ac8cd044b9a3ccd12d6d13ab2307c9f13a0302047c435bb500673065023100df026a51d9e8f15219fe481eae42a4b215292568396f47f09574a1171fe4e694c4c83750800a419b6686b8020455d71a02305b9d5e097f20dc0913b9be4d8ed5c5f08213b2ff86bf374427bef941711819d0432508c00e5846c147a72a480f10ac3a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304ba7b883a08f9ea5a573afc2bf0d66031f249f17ad2fc0380b9189f05a685b84d7c152fd51aa792f4ba46974e97c58e4023052afada730f5f9693a3f6f26ec6b3d1ba720b1a31a6f8afdb911627c392086eaef52077da86908edec08b7354f21a4aa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305e5beab4201755f309ba420ff509c02d2976eaea4d61cb06b891ddcefab832f539f631348f47a91c01e37296ab2d4afc0231008c212b081de3db934d532b1a17aff34b8b81f4b78e463d22f2835031c8b004f12dd4f4e05e8449a408118cd0da90b65b0302047c435bb50066306402302a01bd968091d857b59b9e666ee667ba42157e71f4631460c0382c84280bd2baeab7f90a8be367564997d7104a5561d20230475f6377470fe74e1e6f713cccd289f454d12e855b092e203a55e5536a2093cc18a2ddc0a679aa081cf337ab26ebc7600302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023065307e12653281c1718b4094de5d303b375253e1b2a7c69f3531489816749c0d3162274aa2edddf0b87671c81b8f6912023100804786fc9e5d46f0bc1427264955c3c3b56b14a189b50c8d8cca19fc0ff1d61b669edf1f813ad60b5b188a822188f5310302047c435bb500673065023100c6172fbc3658e15b288721c9474f5cc0a1524eb1e791a671ed69db506d456400905c1c4f057ed9af07cefaf43186ccda0230311b1ac5fe07e089e300be060dcea42b1900e00bed385f5367769741b8574bb49a10145b2b8aaff7a64f916957ff738f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ac88b62d62f298d23d8edbadf625f87e0d264432090aac889108cad43361039ea19325498a98ae5d9f19e194e68c99aa023100d159720c0b1c14ab9dbc04c2f994338c326460bfa5d679da01e1f67f8eb794f481874acb7043b6f65a39e3673addfa230302047c435bb5006830660231008a413e73cb236f17dd45888ac134229cba681b5fc9ba3e3101fa5bb1df9b127772e0bb3accb8ea1ab196f796ec57e2cf023100e78843bcfbb0078a37da2413f0e1939746a0d106ea89a9410103162b0c9137263839599728d8f302a0ac15c192120fd90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301c44da0d63841ba8d1b3f0c6bebdff0c3289270736a94845f1c1a03db103bc5e917b7ad434b128df7cbdda0d6ebc395c02301a0bc981bf93658f5fa434f4dfcebceb790db6a64dc7a56ed5f56f5b465771c8418c4ad5e2a0fc3b2a90139eb8c796500302047c435bb500673065023100da1807dc11e1fdc9b40f0247042ca71396ea95c4c9d3e57c49fb4218bcbb8f2d3665f581abeb74cc1702729b93f883fe023056242db812456735e6dd0aed39a513c5cc9e4897cd9f0224ac658b6f319de2d38dc309dd39ef55a669f484eb7ccc4a9b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303b6bd7586fa3dfa801322e4f5eeba03ba30068cda67bb93116cc9361901c0253c94086b937b832673a90ee889a4ba06f02307e7defd3d3870e48347bf4d2b34882ba206bbcf86d83a1136c32453d8919f920f79c6db9178838c6b76b2e588e7c12e40302047c435bb500673065023100b0effca893696dcc5990a078f229e95467f455e0ca5229221502ca0f441502e5813654928a6cc6f2ce591c94a4f8facf02301751c581c9916890e0976150d2bd6f9be2f9208f9dc779a8d6511b9a281de9316c7730a23356e0d2bf5b50961276d23f0302047c435bb50066306402301d85cf0cb423081eb06d868b993430d22c89dc60c290bd0765e5d8eeb773c6433b910ff0e1c1385ce4b869144cc1df2f0230658e2f1854f50996e98e0c8a1f7b5a725f796fe0541738496acb45eab66ab919c5944af5694a84ddc6963ead2e1a93d10302047c435bb50066306402307c9e11d3795d4529acc9e655a2c68349b6a478763b3e3208b3d3dabd150c82703b94ca4d1b6b8c431361950400fbc8dc0230177b40bfeef07171643f1580659add096f4a44864abfe5f7e3c970f7864ee9a849cbda842391a20cc386dcef198155bc0302047c435bb50067306502307f2ad5efcfb2a6d22dc1e09f704bf641ddf908f913b9696b462fad74c9e23390081a0912e8b34ebafd362893e360bc75023100af9d15a1c52daa4a36b8e3934786577bb7228ebc0c97a56519f0fc413fca9b735a984e2929db0272157d8fe9037a5bce0302047c435bb500663064023027f88d1b9440090fe37f3c59c690657061caa5b0661783bf65afdbeb384ddd77952bebaee47fe26316319ca3a36960920230177e6dae1e4d54bff2baf0abe8575d2132b672e4d69461f46a0df6f62716c4217ff4daef58c62dcf16aa1407a0e238930302047c435bb500683066023100ddc157d3c0fc549ba8c995c2b153c18038f23fa2c64e0525a7405ea5bd2c1dec3bb8aea61a4f284dcdd24bc69384741f023100bdc421c178a774695a5c6a11b7b7128118c1818574128106fd1006772a618b82a57e34101558c20a2c9fec6af4f883f80302047c435bb5006630640230789fa7a56ad358d89b4b68080f94f3e4baf3b154bda641c38b943168b0b7127cefd4417abf1cf1e5c7a318a2143b205c023070ef7ae5526678737cee1ec103281082e5cbc0173199596d871d0b87c3582bdca9c780a7eac262da2a493dc1902341cf0302047c435bb50067306502307d055c15f2dcce52070d1aa6cc286d04d979748819e91d440d84026098c9c4a4a22002f8c005a4d62aaf455a4c38d39e023100cb10343d977642635c48478e636afac3f5186d81224e99285733090e870bded2ff43cbb4818c073679b500a6c449071c0302047c435bb50067306502300450d147c6019ee1119d2a3f18d52a6f1845b1c7d380bc05f93c537eea576ecc1dfc4d8099c91d07c55c332a14ec4d0d02310084265416d15ff808155d3b672f57d1c075a31dc3eec27c5f1aa47da9439bf0ac1ac00386e25846f2ebd6a0114dd07bbc0302047c435bb50067306502301e49a2b2b8d428af5b77c3470d7cfe0e1d3ebdcc57cbadaede67ab0c3bcc8252656f9ea46ab3f3e22ef02b88ff0c82990231008722c169eee7f2340ef988bcd6af2ec401022db749f07114895cbd3f0d9359b4b594ed3732924f5f0bd44a506b3c9a090302047c435bb50066306402301e0be3e9685f7989de7ab3f38da07787f158f7ad0b7cf8fdb1908e827dc7b920ee17322a5f78c2e335f6437906de809d02305ca57d82734eb5f479dafd1ded03201e2e8747f426344227ef703a2e4021d6cf701bad8213e3b41f11454f3687dde3350302047c435bb50066306402307efe7b6f6de5bddf40e3c08d453f9ac94f5677a43fa7196b3f42ad803302ff3e74e10e4f703d150bc5219a8f9d8e4a1d023069ad9145ad63baad14e943c58f7ce98b9c83117e5621bd544fcf3e8ec5ffef31640c168fc16ebb524c7373d261d29e600302047c435bb500673065023100946f752d8676ecd4fe11914fbcdb99d581eff09911533fde85ade69a534e88190a9dd2786b2d11f8cce108bb338bf6d50230563385ad7d51a337da6a6a2d326a6a8ade5249ea89fc0e26cf48c696228d993a24ef33f1551f41fb67b65a5769f741dd0302047c435bb50066306402305d74e3b94f4d4f7b97fb4e3f667b027596d2f9aa968f7106a523c2ed99f2def4ac492fcc75485eb5c74783154ff9cc4c02306d2ae149dbb809bec26727e77f883c92beb8d969668f19861154de0309a96c8da9cb660b241cc47fbac39bc7fe0fbf610302047c435bb500683066023100d3917e9f0d71e9bc64cff3c4b7f0370c743427c0d671e40849a38b84478c854d9425b110f85dca8375789890678d029402310096bb129205a5c72acbc86574f7f3832c34409a6d45fe7d351ad1b17eaae2d3b021525284c79126d52fb132ff402d9fd70302047c435bb50067306502304086887e73e9290f4bed9b4b71b3f0a564f3ac69f84400bb6f439e1435c328389d03a2d011a6347ab6617d6cd0255e27023100cea0e1eb450c9c33137bce958e70570200e844cc9b1deee0e20d2796f1c8ce01687a8586407ecc21e8c5eeb64d1df1900302047c435bb500673065023100ed9b9e735f7ae8c38b5975c1151f481dd5643e756fd46dfb4d1c8ca1c10239abf834733e2021e147ed7116b56c75df8602304779470682055bcf02844a3052967461c997c7da4160608ce30d3fd62be81d539ec75cb3cc27017acb319920a49f87a00302047c435bb500683066023100a12430eb39731bff79cf2985a8a1222a3c08c7a7fdc6c0e3cee233108622a6973c0d1bb7abffe6c30a9aebf6f4bd2800023100ff04af0537a64f5e2db8ea8064a64a0372f714c18c5c98da6da474781fdbac5554990f19164c76d4a0c22b27a1f5d61e0302047c435bb500673065023022e749ba22ab5de7b88000208cf93acb551ddbf6188fad0f1b5a2dfdee5c84d96742ccde9d4c89f0d1c937cadaf84648023100c4e41b4f837bb78350a408fa84f917fb1297b06bd4cf97f8e0a5a13227b89855643a578375bee861ab7955a9b75477a10302047c435bb5006830660231008467cdcb0324cf76cd49059448011e57ccbe5507772b32ed9458afb705a7f1bcb3d56a19a9c614bb4c2aa8511144bb940231009f4348f527e7476767ade7d4df56e1b8a365e78333761837a5e15c80c6f56d8727fb6c58255f9c066f75e972104063d80302047c435bb50066306402306ac6e8f6b4e0a96057cf3e1f24dc4749236d39dcc4d3ae51148dbb189a0dac3176ee706637f3bdab86a555bda73c9dc9023041c6c5d40337ffc7dd7c74d910f22191accf6427b9334490a2e5f159618fbac86b5b1bca023b7b9cd159f534e9aa1cdb0302047c435bb500673065023054daed537f9675adbba8a997dc3137444b91b260385ae0b33f46456d705a095e51f8c90c5e42e1a7644ce6631512ef29023100b6d9431e224308b1449493e4f7608dcc027a1269e5bfc4ba5775e76be3f1f2436a4c14b762456a59912c3cd4504e4b160302047c435bb500673065023100efa5b670fa88db970baa6cfa6595f1ec05fa35dae0100126024b7b1e439fb1a979e1ad2deb47a3a79f1144be2273e84e02301d88e63cc9faf4f53ad45145a55774b3dab36b79404e3faf5a449e09e99cffb461798558179c1477e2c5a9f58d60ee590302047c435bb50066306402300d26cb49dafefed93aa08612c21ba03f238533bd51ad7563f4ccfd124553bfa5da69ac6e44e46d4005fa9df28b9b133602306401d92da2ccdc4248f19d14ba79628b32e90e780ec91194448503cc2b45ed7db934a944a415c33ca11773e4af8e16b40302047c435bb500663064023009801ca27ac903d1544c2570c9fcc9159abaa80ffbb810407657a643a5fa89abc09d088558560adfd3794476cc25ab0b0230089f36ce945e7e2e8b99f6a8eec5d3a21ebca30787f8705d7bcec347f5979af3d208056656fb6e59e6842d066c16b70d0302047c435bb5006730650230420d004a2705db61354b22e484d75bab06d49461b868aa88b7ab3b70a21729da47875b70d21671ca1e830f433e1dd3db023100c54a14b263e403de880ce842c1b47ec68aaa4c3f0d01b29631ef602aa3eab3dd5b5670a8278f2bf86bb17d67cdcf24fd0302047c435bb50068306602310096b64bcdf3a5a102fa1766f64afa81d17ae4a624482819ae1b75bb72fa7205525edf40d420e88c959846435118615f46023100f8458d56a88d75dd24a1b6ead0a10203e159abf72cf392183ab83e2ba0bf6f22ee2fa2eaa4b77134bed376cc00183d420302047c435bb5006730650231008b6388844ca5d9f75a2a2dadfdf0bdffac6b1b547e6a3b538ad07076bd2fca71d0b25dd60871f6354bc8858c1e9125d2023020a4c840c61756988b56aa79b84cb5b549fd9c55c4a5fe3cc12c66f3977eded2a4d5b3821c4d2d28a46b7a79107f9e1a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a742cd1038058057e9feaf696a4808f1869753d2cf6162e1ee685263ef6d6a0889095022bd8ca53cc1d49c21851372ab0230263f54d45af313397de9ed7cc219d007c75dc1e0349e6cc6f0c0338984d1fc03783318e81c0eebfd542cc0772065ca340302047c435bb500673065023100b473f14482839ce0167abc63fb98e8edefe8ee6320e1f27552d9f985f0026e81c2f514ef3fd9fd9c764b158aff249a1002305310fbb48846ee3d1a19f0c8a6cf8856c15698cf233df4d53fd5882198067c47b4ba78eb07048b4f0467e53f36579bb80302047c435bb500683066023100b6d704925bafed3605d0d3f769cddec7ff067f578072b1d0948930d646b6cfbac8d917e4fb4da5a31dd31c586b79d6e90231008c4c745fe09b036d13d38d698eaecead5c02855a15c6a073ff49de97990af9912693509154201f0ffce821df2c29af410302047c435bb5006630640230229385f1d56c2467e30452892f7eceb3b871568d1bbd8150457ea211fad2cc812aed0c4bf83798f77ba1a5aec2791f8402300e755790fe517349ac009e3014a3a5262b5e9c398711d5bf446ede99da680e2c9e5ec630e73b84637412cc6d5afdf5fd0302047c435bb50067306502305f332267964e4123e8e2438fda074efd7b4251f777a22c8ba4d9af0e3d81ac4c5229eb3c72e192d121057b0dc1702770023100d2d7dd8f2e4de7c6ee6793b817e54cb8eed09bee7203caf46c9bbacb7184a55f2ff5044f27dd76191eb458baae04c56f0302047c435bb500683066023100a4f71651c264423c90f8f49dc543ae243308ebb3f9ea20b167d0a3ec29fbc3dc7b5bb101d560feedafc32ab769b45b02023100dd3b64ef1173fa41b4a28af742a6371b5f824d902aa4418036a90802cef1c84005988211e4fa31803693f273b591ce4c0302047c435bb500673065023038cf07fb91038b2d66ba9da98bf05c38dabe6ebbe92ae31dd299e0ea674092054694e521363d5c3a903e923d1ddd3b10023100e0beb6f240512d9906d4b9850e4ac2f3b2db967ae43601f8a73ef77797b390a1e0f4ff707cb96b0548a56037f44ffbf60302047c435bb500673065023008524fa36bbf7bea9e7b9597114a74c91dd39fe03e1afc74185719f00a8bd61d3771121093f74347d55271990000d93b023100f5853b6c121fc5349f1c5e8300a94fa1ee60f69b0f8a15e62b31ee580580698d4420b0aff5524cc33de230ff69c2581a0302047c435bb500683066023100d95a312a980d525def78558bb7cc54cd747ce0685b364688ce4ab63554e79e6912927b9b3b3c46882ee44a04e3f33474023100c201965f3000047d12cba1c35f968d961de5f3c8d94125441e59e56256cf2df1a7600f6bca489f82c10a5282437b16fe0302047c435bb500673065023100aebe3d81581e174f5693431525fa7a339816834c1b0f68ee88bc260cead5177c73f66de9c05e9634769c5a6133eab302023071077d6123b39ad7e63a3967549410ba1cff86af05e97931d605c2ea17bd7ca101685083f6234a198e5ec5d29e089fdd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230296269e2725d567ea53462444ab59933689c3eb1b20b9ea82b5336c143f7daf3963ea7f8040179a112dbfaff1df0dd11023100ced71195a7ab96876854d3c1494d6f56e0daea6b8b740542e8c511d114138ed25f28e782f5d6574c6489f4b2f886da030302047c435bb50067306502304edba6a2eae5bedea1827abbc4cfcae6f852452f1c8246c50093dc98e7873b150bcf7352345f9b1924b2f20959cd35d5023100db08731427a46fa4b582c7e1e5ec10299c922c67ebd5ac58d8a14273659b9e2776ae8020f28c8c648759f22fec111d940302047c435bb50066306402302b1f2883a166a5e2d61c459bf0287bc4e434e62d0e202df445417a9793e988b8214079665d901334788254c77c9084f102303ea322faa7b1278c2ba98004b28d2d26478c8683a264a04cf258e1e9d2419ea96b353b1a835f07d9a410d6d701910fb10302047c435bb500673065023100abc5de5828f9b0ef7c5f38824816a00ea71c10925ff804aa15ebd40104daa82a0535a8a08d1f602d1c1b8a2ff93535d202307f672633860aa5a761fc200c1a2345f064e889739147bed80b153efd4fc79b95674c43e45246df8c0d661167097be0710302047c435bb5006630640230037c25034c4ebf33358c214b8879bdf26a1030d48bc71c0c5fcfad774594bddbe350f04294e5ecc105181dd152b6139502300ce99fa1da2dec69fe58bcfe96d29977e6cee6e0f9b9bf6bfe371f19bf759b9a26ae6482e0197a83f65e7d045cb6252d0302047c435bb500673065023064b38a20153b3e28a3442d6418f994d0222b76158ad75b9f08cfafef16fcfa7987c82691c4b56ccb6822bff50f128363023100b8161504466b4a07f6123a2e5243a2b6813b9c5032bfbb91c2e43049ac4522268a7b4c08273c3019be5148b1844606510302047c435bb50066306402306b92000439fd0fb456297fd64f085d29f7c1bab5015a10749454bc89efbf6367b6b7a93c0616eb7efcc532c6d379243b02300407635f9f77583339d0c0a88fb2da12507db7985c8feb79797cb96be478ce4368e4db2dab31f8c0c55a408d065a35420302047c435bb5006730650230680ab2df8ff28cef6dcbf3c97d8b4bcd330696404c03641b21d2fe8adf97ec32cf2490095db79df796a5758aad044d9402310096ba8f0210af326892e6ea65cd7eb8c4f4cad4002fed7d2da899513e82ac9cbe491ce9434c6ac7082e4c11a1440c2f750302047c435bb500673065023100f5c2497b266fab8e07654cdc76ff8785b4b12b06cd650b36c01348a5cdb4cfe6cae53f76e6075f6d235254c8b9d2b8fa02306c60027f40c51986b49c2594383705be4d5f11995e4c4263df7ebc2d952681837f70509bf140b770530dd973fdadc56d0302047c435bb50067306502300e31747c6216577a27bfd6f8e760621cf07c1a49666526697075dc27f1fcf35a1a24ffe8362adc3528643c669705a1ff023100b3de91a7445545c331caf06d718b0f059e4a46820d4b6a323c51a0dad77a91db5bce92177d5a8dc858bfc324bc132bd10302047c435bb500673065023100952c93c6379cf9e081f6c7de56008fd2c4366fb055a31b26db7a39a27eda6ea1ce100e34d1e93727e6df027860420afa02303135a0da4e0a504a7160220296b8eea8d76c6ee677cea898535be0ec3b5636038f488784a3e0d42eaf0189a67c38459e0302047c435bb50067306502303d650de09466cd169d507846c06d0b5d77e6ca5ce2167cda15fe3dae590355f504440118998e4d6653740aab49f119df023100b73f6f08d59e494558b4c5571684fe74a8fc1724f0201602905b6898830c1853442e18d01c3aa41dcd5e7d1c04d7ee8f0302047c435bb50066306402301d0b7f13cd1b2d6be6b93130976e005935443c8e30afd7768a61fd77dc64bd309851668fdf81883557072153fbe6937c02305d938ef1d7afe2d7f3f781ae957b9b756c34301fb3bca59c0a4ff0e75935da843a282726978d747ad5b13fee199da4020302047c435bb50067306502307e38f1a89cce75191fc68943c0665f80f9cb7545b4230513ec3845128e1d0e71576eb9ed71cd0ac5b9e324ec5689a15d023100cda898d3d4c9dd432184f9a1d95a1985a71314a728c83abd6a295998e6c79f9697285ba87966a786e24b156f115f93e30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301bfebc47bdf1f7c34089afa14821cc3cfea09652eea4b9c5d92e518ee4d1d41af15a493badcdafc3c86c11069afa09f50230098b9f702ebbc715029ec865468844a82ad97193e43085779c9c989c918ecbd36879f831675085c7af9fd2f5a77d76e80302047c435bb50068306602310087581012900d027d0f800f8cc9e3bfb5b8c0ede22c05395847364dced8df96324e981b9dc199fe285e2ecd5f9ca9f3a0023100e5f96067a3c342b3f60e433f1689584f3a22fae20a1d72e4aad668a133a705d38ddf3c072c352cac2e1b86a55217ff570302047c435bb50066306402300bb0a3c81a47e1ff645b1378663c794c83d817ab71735d060fea190d19ef9bebec285ed761b989b22f980c7de3a8fd9702307e9757bd4c2754afe0132ffa489834743969ea9f6e7ffa2b0c1fd5ee9d7bf3ed37ac25bcda1df1360f3ce2154038ee380302047c435bb500673065023100cb98d5d5e5408159e0ad21053b6f912386e03704ab5595c4303a1d6d2de187daba9584c0e3965e93d75a7aea72a3d56f0230794ef3ccf3f50a30a4132e071f29cf9f8ccbf93027c26e7f9d30647701f0b1db15d07fe809a691a0e1affb18158788dd0302047c435bb5006630640230638dfc457f8f3f4aabce334ec60e37ad681eb83477c111862a2fca5992cf7af41e7028e1f2c09938027e5ba779550ba70230588218828f223a80a354577dad6a4f75199654b4b56866eef6da17ca561441fca80911ac7e14e25796bff12c5ccbb9d50302047c435bb500673065023100c4ca4bbc89f564b8f69c79459a5ee3e4f6b234beb9b3f57d371004299f2ab4ac5bdbdc0e4565189b7435447c3865170d02303ce6363ab6bcc2bc261940fcee3699a61abfcdc1fd4c5e35a51440167019a649f909c7652caee30d889f76df676511790302047c435bb500673065023100a9d7fc55844c9c5068830ff7ad687e1572f3d98670d10a23053f6b2309e1510f055deb4b3c6f990ba871d827a766a8be02302c1a66bc94fefb2f131314ca0dd32f2f68f6ea8357a6002dcc1291edf38e6d7c4264d4ba16d2991c91a8e27f3f7b33440302047c435bb500663064023020a36bcdc1161038f1a8e883c20df31e80777956b18cbbf5d589782365b2fb3c50a0c4d11ef2fd07b7190f66b723a8e40230140643bbdf043f97f8c0e1b2cbac07af8e449113a3052f4fcc5c6a52f255f67d8562ee300141577ce1211004e394dee40302047c435bb500683066023100be3a896d1b58bee9f9c5535c87c0ffbc4623f4c6d6c9a1720e6a9c1c09e47b067abf4a08f4b3fecc7ce867347355a375023100a216d85401894c3aadbd9b0f3ba8a02bece7fab3420840f66593ab6125a3a504c73f4786462935d1550f9e93c9cf294d0302047c435bb500683066023100ae7ed3e3e516100da092263e50d0c84b3e4ce35c6179d30955a8f176440ebebb0c895ed48913f7f172b559f1e5b6ae0802310096fbf64705bf4fac274976c7e197692b7e86a9868519c49500e2bfcf6474c43d24aa9f2af840026776e09e19a13e94fb0302047c435bb5006730650231009e068fa7dd90ac780c2d1cd54d91e91897c3d6b39d42e95a25ff36f53622fc6012858841b85e5746f5b303e12df9ecd2023018227b9400d45ec5f8caf7702e3d9909091ab9859e36060ad2078d25984d35acdce5d671e2958c8edd333c13cb522b060302047c435bb5006730650230357e78d1355ce5d12bf2e75f497605c45b678c5306659fd107b42fb6d514d6571b0a7f888503bba6d0acb92fde3fa1d202310081fab7b228ce238eed30833e17d714512e260d3d46b461da4c26e0690c8ae7d77b7ba455f645917c20191deac40a7f130302047c435bb50067306502304068166c947fa344561559f30126b1888255306f0f8524155905f9daa31f79cb4be498d4916aa3ee58c39d76b0a86398023100c7185ba05ff6a8d90501e4c658255830b07defd986510aa0fd4e11d0083ed82d1da196cd1f17d199489450c9fa2bb4dd0302047c435bb500673065023100f28ee2319fa599352f1e59c3aec3de7c6f226e04a1481d3873875ccca0db1da2b008cf58c32d56d463a2778d836ff0ff023017a362af2dc2e926130b8a63becbf15281295b3d30196a45fd310bceb3e24409061f045792ab177ea91abe8899c33c430302047c435bb50066306402303889c26e836ebd8296b80de42c32a77eeaa9e81145da962d7d3af4971d77ed00c67f810ec4dc328902e3cd2dbc76bc9602307d273452a5f18dd3c7a5b8379ca7a22b78428ced9e15f7241034cdc743e2a491afb1a49cf7b74227956600b3a4ec26dd0302047c435bb500673065023100bd6184050037377b0cb7232d08e21de7e1f06ccb6a9c0baff8e044dba5b6435d95d6cacd878eb7d93c3942c737928ec502302e4eca97f2e66b1f210a88d4730d9e8318f8ad52f3799d7c9637aebf376d911ba88a1ef532deb51783e5fbede0c1a3690302047c435bb500673065023075ffa7d8f5452a7b8166a457fe845999f64c7b8a65a58cc259780ed093be3beadab177602b8eb031c1fb9dc04abd01be023100fc21b2be2efb89e98a52ba5ef8044c2d11656368fc0748a10d1f881cf60fd45f06a4cd0869801fa98b510acae43312160302047c435bb5006630640230145f3a1739f33acb75f7e741778fb57b51efd404addd3950d9534d7ba2ec600412bfe83d47662ed0b6db789378dcf9450230203ae51b550f31f72b18ed772ac33d7ff03d30293e8ba36e1110655246f9b211eff0c697737843c6fd813f2e162a47910302047c435bb5006730650231009025754fe589a6112428a3e19864df77b2ad6d316646b0670c9665598c7ac7e630217919a58f26ebb7b506928d1988e1023036afed96e964d5bfddff485fe339f80dc4c271c80f1a6db4e416290ff62382d2639499fbb5db3712b14f680f95890a370302047c435bb50066306402306259e3b654c161d37a1a82326174e491ab7e1045b2acb1329572c481e58ae147ac02d23de0db1de91291f459c1555616023031acc89519fb67cec9c409ec9879f5e829272fb7077074f4c34d0812991fb9a19fe8333a232c008075ffcc9ed57ffa4d0302047c435bb500663064023075376edbb41769cbe5f7031074ca18c796d5a870a5242b177f677d84722745d613fdd924e6a657d1a0dab2365b962e0c02306d7f115a6d3a65a223652b0e158034bb12238692d422fa1f1d0a47e7d38632296e541dd623a001e2ec12d634f5f53c740302047c435bb500673065023100bd6fbf41156fa68bd2037aba2af6fa65f3a1d76a7d0dac49cb9c1b33abef15c2d8d718a953028405d4cf542a94fc49f702302e27dc48c93db8ee2e5447ae26470fc1ea75faca08cb7ddb0ed55eb1164e6352cfe8eb0ca086eba6db464dec301b1e320302047c435bb500673065023001870c331d4f9cb95a63222e98670a8d8d5a6731792b5e32bfb7c08926a545108e71f50cc5ba7a16abd82f04d74a5067023100906437f21497bfb2b711a07f0d79ee50c8bb83976debf7729e96a64811b700b25c473350f8977afa887999a4a1fe87060302047c435bb5006630640230650cd75bd77a9749a3a8eba2c2644b7771f4d62628c9cefeb9f4d2c6c07ecd11852c4845e3c329e90e531dd381b4e4590230130629c7dc28c146e1970a57ce6a5203e87f1e64730ffeb233e755d71ea4c563dab61979fc0276ea02627f4bddc376440302047c435bb500673065023100865de0ccc58e084edaaa60e07c35b04987784022b77eaa20cfe734363ca9536ca066750effeeb1cb6de3dfa2cae6974d023047666ddde6a310c4c9d96796e372894961b1451ec2cdb099091f619e8220736cfb7020058cc8cd1b8876850110bd19dc0302047c435bb5006730650230208d594323f53f09ade8311b776c980ccc0a1c1d5b775b0e8175916edac9afd4927ca882f30e3d7f6fc161533d3db18d023100bf7a2ce1fb925fd9a597a7e40f771d821765501c26eed806c8965740a3a06b03483219a0a40ca4484b09962d3b04bde20302047c435bb5006730650231008bb8922dcd775a9d73a4f46c58c518486f4b8319596a20a924c2b5fd57102087acaab22722d3d9e415b92696404757f30230410d54a7b14f7b21bd29d5cdc9690a77c54c785c706cc9c7fcc24695bfee2539ffb270e92a44a44488f83b2fb68c3b830302047c435bb5006730650230257123513f96f669aecca3840b2d344eed39384a999fa39ea74eb86741fc521148ece04b46c235f8209866ddb3b4986b023100d0b57d052a60df340052db9b97a10f16b2f47a03ac06f73ee4ee2a57e57aeeffabcf0d75c481e90250a4a561d9290b160302047c435bb500673065023100e228f1a1d47efa3baf50439213ba06705298a7aeac8b52e0c1fd8f19392c3b702e6b4f2c79d8ba65a8ae1aa9d53d5bfd023077007cefb1c27aed63a6bef806990efd87b3d7d0e1e67dd7b052903c1447a05ee04efa2eb1b90f2ad32861797b38116a0302047c435bb500673065023100a8055a947e3896a5138d462d31a3d213d471ac49d7783438e2826e1b75d639fedc7b4d8260401dec7b9e25e1631700c4023021e1f6e61af52eaa8f2378338bcb607e0c684393019a14a5512d10e86b628a69a75cd97e07434c4a6eadcc3f0c302b070302047c435bb50067306502301358b8735109125dc4220f81dcf21e15786ce165a973629feff0545d5923523a69c5379c26d477e0b9948c735e5a4877023100b095b3c5909bd11a632f51cfd6ebbec98251609a85db22d055e87cc066e3bf60a1a168e6accfdb67e90d3580a1bdd9730302047c435bb500673065023100e70e99871dde9160fb516e46273be29d2537277fcb03452121ba9253c461d1de5669164183741c47004b9e76ce65c2240230068e1a6f59c4bda51e187b4fd3307782e4b6c2e2859654764cd43b590de9ef3fd0c90018b03279c7b8831599083ba7130302047c435bb500663064023015e373ec4a295265ade0c4a0bdb4bea5d908983c9191191579d761de89848cf7f69b4263a010209a23819cf46c1aba300230654efc0ddf8ed3d3a6da3c9b2763123c9ad068073c6ed97f824393f51dcc0dd74f8a781a43f01f8a49952b20d13730240302047c435bb500673065023100f527b5d5b33438ead7e829216840bfff6ecc7791e3f25e152e92f27bd4f0a269c1bfa95e9469902896dea764e4d4be1f02304054142e8f20e12f4efff917f07db539e5be0b4838a5cd691b9386911550a8dd8396bf8024f06e14599f59d0a4add70b0302047c435bb50067306502300eaab953418c3c9e63e50007191c1cd07d968213274ba84155b90c92398a26ee528ab3031568e327c9da4f5c4b7e6463023100c02892c7ed0c57cf5f185e15d1ebe92ce597f4f0e530283eac3474c8d8ca8b511aa4a63730e05e1342fb9e0b64ca40710302047c435bb500683066023100aa18d176eafd3595a48d13e84ccc1481c21403ff935b0b12b8a0e95f2caccd9183c4dffb3945cbf192f82a57b247b106023100d8cd245c3816d01e879b58cb4fb3847ce52b3648ac9d95ca4b801d4dd3b357fc6a48b2eef4c4b4829ff787bb07592dab0302047c435bb50066306402300d908ba36818751851feda9d6f193c52332faebf462d52e8a33091275704b6486db1af5bbe569722870aa3301ebd4f8502301e9ea4ababd07367b1c39afca1d85e518c1c0ba9767029bc442923703d26c45ebf2db10269ee8e00c51dabce34c39f390302047c435bb5006730650231008f08980a84662ecdd8c2a6d5715c1d3f105ee15dd147f020994f7b3012cc100d77d196445501b1a5f27b02a4f335a99e02304ad229c338d166a3bc880ab710083e83d332c3f330595d56f75a221f2df6f50a73db4a85ec2ff8b6fc74fd55ab4bd5ea0302047c435bb500683066023100acfb35ec4440d99355c8bb05b55204c6df41d54bab8243f366ffbaa69456c7bec53163d3a200dc504d7877044ceb6adf023100937b36590df1821a7c26ce857913a35861fb09194486f96bcb2f72ddca2b9cdfb6f5ef33c81643a92fb2fc62ffca94490302047c435bb500683066023100d3f242e18363edcf8e0d1a59fd09289c0b0641bb182790c1569976da7a628c3bc1d002881075bf70ebf68c39cb01d3db023100b864b1316d999461055d74fbeb4fabb16f0793056ee2fae56601475fe687f1de330428e447379ec5d701ab1b756e7e710302047c435bb50067306502310086610d4cbf928241d4af9356cf3f3b518c9459eec6fc583888330332dc32984bf8f7a8ce9bdf49f392313fb3ac469542023063dd2a4ae71907026a91d626b5178ecab99ff12c06e9627876cbd535912e73cc8ced07604317b0de9292800fe9581af50302047c435bb5006730650230637e9938152a7a30c30b2cd182115e6420024055368470292ed8423f5148c8bf3dd878b987a58b43254902cdd9a4a688023100b29749f6c0f46fab514b44fd70a374479ff61fa4204c3c43aa7f86721277a3d1355d75647b0f78a196d6be0c916439720302047c435bb50067306502307826069151045d8e1fe60534f8c468564188b23c4d2b740c0d35b7ff74e5deb26ced53380316f17fc497a3601a2039f2023100c17a62da72840ac314727471caf4acd2b5bce368f2dcb2e9fad7b00f2a90400d1613205fe7a55782c8f9b6088946c10b0302047c435bb500673065023067db068f004de3e3d76f2634a9f281b961002ed6ce456ac5b92c34e8fc88a2c78c06774269545c82ee6828c9769c61f4023100dcc0875ea525b4d05df3c4a2267228ebf7bec7773bf1e400c496852e92a4d86f82621fbb7fee6b63e73a949033d87e780302047c435bb500683066023100fc00a66a0d84c8a723a1944757cf4034355888a4dd98fb90492550879aed0d9252fa1d3749284867acc5f048bb148d4d023100b1aa146dedd656fb91b1e5629a457f88605848c24ea3246750d5dbfc53c1bc68116dc115304220edc05c8b117395cab30302047c435bb500683066023100f435031211f122a4a19741fa4802d95c3040c11b71bf1872cf900d9c2e794a43205b0a9fd3c6df3076ee8f2ad396c142023100dd6e4321adb0634647360285cc1da344d586640bf6814b20c7d87c73bb45ed61af65713cefceaf644ca65fd0b11b3a8a0302047c435bb50067306502307d44b12fdb127e6895f4fff9ae41d8ce13e8ff30ae6745e002a152f58499ba760d3c6bbf7eba65a5791263310a0fc465023100b621c6fcd89b361aeaa87c48a35fb8c75f3ccee2af527d285f9029aba2fb232a490db1268482f490fc1ea8c4ea60c1fc0302047c435bb5006730650231008c457d3db4b6dba7fe85602f6b8e492866a2768dfb5fbfa0fda1921d5aaa2873b55ea42cbb6470dda8582ac79fc70ec40230206f685d98a3398a4e2dd917bcdc562eb1f63a581646e30cebbb0a3217d733a35a2261326a570f903b9d0202e5ce94fb0302047c435bb50067306502301ad113dd7521be76c7b14ff3224198b516ab32cfb01b10cc09f9902f48e0d84ad7c849cdcf8f7e8f5eb7e1c63d72eb8f023100abbddefb824efe7e9ed622a08b9424880e83257fb657c2c8aa25113f521b5966040c3585f9f8e415c020ac4fbc4b83030302047c435bb500663064023017689c7bc11efb6fe0cb8e448ba6938efce2c663744b7672a88dd3c32e5d9cdfd12e72570ab71aba62bddb00a4a3ca8b0230601576dec5e2fb00af873cda185861e28b3e0d4be5f1c4bf988dcc11d6d9ecfcce68ddf6be8f908f1e6620027303747d0302047c435bb50067306502300f9e86e0afec448a02a423afbb7dba2108c111c60801145f89825291cd8ad7dcc38bdd622fbdbd4730960e211f9b19a4023100a8c22499f3146ef4026992eae0fbd538acbdb056e0bc7cd30b58d58130594ff747dc4ab62fa20a942e0d428a6cbcd8980302047c435bb500683066023100b9734cf0c22de2f3c99f802b6752d4e6f3ddc14f8e55b4742ec3e345a067969f408441c0913be3092c7289285e9a578c0231009a014fe66db1147efd77e59adac33be7e27f5e7cb858de03babc012b83940ad08d60b528801ec6d8560d23a50c5589350302047c435bb50067306502301c94b2a6d4e3240172b17b02a54146b1bcb398f498068c7805373f02321c90aaba9c58ae7e8fb79595b60d9803034394023100b045df469d0462f11366f2dc2951d8b4eef4208e4546cf0f7212cb7cc9fab061e755744b15f4a930f74e055f149a3b030302047c435bb500673065023100b4b13e585b8bbf6793f6e99816216c3b924c382b9f25c2a6c14250acaeca9a998f7fb8759e083f25b7f8464e2b0f8cba02301036c5c78a3636167584dc5120bf1b600ff7ac8e4f4cddb81ba619339de84c9a37f904089efe708967f7ead17a98e0670302047c435bb50067306502305910e7022eca7bbebbe3b6fe5375cd3328080208664092a3f94174b73a1af9630c3fc889549113bd4981afdc16887fa0023100b766c537bba71abb6df5684357e1b91c15f0d1f0c5556b87bcfd248b753e61a2e6fe287517c58cbdde10f4cd1d8c2fe50302047c435bb50067306502304e93d106d0fcdcee6863a92966c7596d8848738adff6d7417d918987475773a5e2bc54f0da982543a200ce8edee0e192023100e8edccee4eb3b93431215ca3a8bd4a8fce1a948d5acc730aafdba0ee1e74b5200c1f7c23332a54c3d7c087dd3ccccd9c0302047c435bb500683066023100b493ff32bb90809befecfedd81248ed1a9f5a6acb0447a63c15c4b6a88283bf7f3cd56ebaac40d01d091df27777c3733023100940292a0242da2c26323666c864ab7542d099005204b38a944623b426f2bdb5b71ccfc2cd60afcebd834d037c447af470302047c435bb500673065023100f95ea64fcd96a7cf980b1febd9375a7c1664ca586c5941cc88c73a9e9c96e436c32391c4959f7c286b5252cb2847fd83023001685671472fe2f204407aae22d67c5ce6a082905e151ffa461c86ba35c7a6f968eefd003c5fea573787cf449a4e8c980302047c435bb50066306402303e904a7576cdf57cd0dfc69c33877984bddb8a9aea54e27b1c4fe1fdff4e0e4acb423a8dd12a03b16acc51d7917cdcfa0230238b118eed48c76252a65babe5d8761aa6327ff84284a30ddf43c2c8258f1e42efe48151a2682d0ff4138a609dabe4ec0302047c435bb50067306502302eb1852fc1094280b80de03e30217e286109419cb8d49ecfcb1e4ab2b32077353624ac3e7007394bbd7d07b91bf3d7b0023100dbc8baa1a7b7752e9cbe26068302a8f707c15161425289e72ac1249bad4d40bdcd1c0cd74fb8a443d3c52983b9ac6bcc0302047c435bb500673065023057cc4fbcd2ae9dc6891aa126b405dabdd3e6ba823e51ccf8140a1058d44d221b1651046c2759450de8d6177a1761ed4202310088e9d0b451068b7585a494f54fa65a05ae6d8246aad9e099c6c729b97f05359494233f241fc45af3d2a7c742c827c8510302047c435bb500663064022f2ffc25224b16f7c6ec2cac1d82f9eb070af64d7f4100658128539a78dc656d216f2080a2ef6ddf34bcb7b1caab106b023100e18ac7a5cdd4dacab5b40569883c7ddef3318145508458b6ed3652fc5ca77b6beb6c93701149f880643b364d1a46da5d0302047c435bb5006730650231008919f9d8bfb1c71c990f3d525e2e7bdb6d5f1a25cb85f2c2d47e7145ea5ea1e0798a205695dac922fb103ad9a1bfa41602302e547b8e0dd2e43583ccb0d6f7f00ee030f3ee5d143c819a6ee09c591d89266659522620b07029dbed1fe92817b8b1700302047c435bb500663064023005daf0e9b43a00a3b2d9afafa4157362a02e0bd415e33fed167131ceb4b4c1f998a3dcb6390634b2cd5e2103bddee707023033b6fce88215afeaebcaa2a2c092732bdbca7b9095d76b1d6978a204ab2e15930ef7736d9e00258dd703b5ee45f216990302047c435bb500683066023100ed4c04db2d6f54ae1a524838d9dc312176c064e98b5ba0c2a4cd3a25c274997a8724ab78d2d376820caa6b26dc9e455c023100dc7a09e5db7d0dc3b7476ba518659b6885b531b0585928c5ed8c2219b2ea428bcc27e96f27f986653784807e720309b00302047c435bb5006730650230744369dbd0aab736fa1427583876407a4a1106d85a57f2657857cb009c34baebac2dada0c8566e3e7726a8e84a94b073023100f2d2c9a52916ed5988852357672d20cd21d546976afd0a963e1adba97ec4ddc2bba926356a59290a4c73689975d9c8510302047c435bb500673065023100e484045712f1cf731abc7b754cd4c189d3dff7fba6f7ae1bc1de20d59ff00d394e01eb91cdd57c63a6588ae1054d8144023078def87954bd3679e6a1acd66e7dbddcac395bf61782d77827b93a194be0b77af79788f253721f6d75443a0fccfdb8e20302047c435bb50067306502301ef96f9094d0d8194f9929dc021da9ee3acc18d14af4d02e7a2e171a2c4555b564aa06a3523b77d6d201562c70eeca16023100870ded8a52ef8246e4fbe887ebbc816e7e38beec5f5ed0c7c2c7c6181db7d69ec5b11b3d73c5c838f874b45dc5f8c7740302047c435bb500683066023100d79d5e706f7cf0f88c3bbcadae17321c997f65233e44dfeafe6f02c59e01da096871d9f0d5f958e813aa5de13fa92afc0231008c46746169c7eddb9edd4c711c0145fe23e63dfe047be346bca5d79a7397d40d205a4136a7e7aa265723ca90c84fea7b0302047c435bb500683066023100f5160722de4165fbc293ad3aa7f84084f4b7a89d87e3741aaa9010628f16d4f12ae5e3c2d9b97593b7efda0a1e3856420231009ca9cdf7169c2c1b8c3704637a4f5e4f1722a2b310e061c223d392fcf9a79469b28c33c403d57f8608a9e5ab3a63bfa40302047c435bb500673065023033b953d09acdf907cd6856e6421536d7afd1b73b6c106490198385d8cf71c0ae53487d2560267700e08ae015daa38110023100ed403cc030591c9d3977c5df2d1b96253e70161049ff1da2eac6f0ca4f410f6c0519bf210ae76ed6358673830d4c8bd40302047c435bb50066306402303ca1c645bb6a00515ae16c5a4387c40edc035ca93c23db6f5b2ab925869af747a1428058edb036b2fb3a0c478bb41e2f02303208ad2a6d352ec4363ec27c2bf26238aba2e8e9d48dc231849f3182792ee42228bae6efa26f0dc978ef3e268d66c58b0302047c435bb5006630640230587c29a2c07ac3d1e11f4bce9f22181032d5375ac1ac9702ad342c37016646083e83daa7f2f1540980cd0e2b41d5a80e02304c77471a5ea076c94d90c70d218efbd1e180a2141b21998bf51989ee89c4a1a6c88fcb0d9ec593b3a0b3379abf7cf2a90302047c435bb500683066023100ecd0c55e0631606c994122e17b1b71a3f0dcd1a7e369d8eee59b8f4414336460c20f42345144b88c00d75c81aa5d1071023100f60014e72af7268c9869d89406be8a387cd8011607fd8fe1bf2be75ace2d3ff345d5293b9eeee596d382be21835124760302047c435bb5006730650231009ba1af9ff0eb2df1af4537c9b1fd1faf9417e27d9f581c8d7559ddaff4ba4f8012dc3550262c3b23e13f28f4d6e0dd32023073cc3bf52063e580b4b2757db3d3a905b476b3306f48a0679382d4ea4d883ece97cd262bafede2d579d7356167af42690302047c435bb500663064022f7f922cce39712263e945f8d292eabf1097f3bcb7d14d3774ffc7f65360c1bcbce3312c2c5af30daeabd48b5af4f7df02310090ffb2fb96ff3d42a944664d23397b7de0298c11ae78e29f539adc9f70343b7f5c5a3f4c98b6cbd8cab8e859387c9d490302047c435bb500663064023019c2ac406ff4fb576b2cdb30a0eaf006e197e7aa6f5ab73ea5c4cad37437e7394f56f75f8035dc6ad4d95135d71ad53602305ca513de9c53b013f7d799a6056c7dc242b682d9daca2daac1f6c47d74943ac6a3a2389ee90d2f2a724f589975b237510302047c435bb5006730650230384ab3ddc5fb02b7b88271a5985888c35a2df1b1243a39179cdecb28d5cb4e460d1a5814f7075ee2dd2cfa5c385fe996023100da1844032b18b90efecea79e0f49e0f98da33d66b4617627fdb591de62061a6868466b00293317150272d510a01889670302047c435bb500683066023100d833168e2d0e87b14ff3d5e06e8fa55ac2f8d06b8136377fe7b109b7256ee25da94db7f94da96c2dd940a30f10f2bc78023100f135132992d243e4ba39292f27fff7339cddb7a3eafb0aa89a8d401645b891f6071547ca5673c80516da6063eabb94ab0302047c435bb500683066023100ebcf8c2ea11d7b60c3fc5ddee0c4e69eeaf1dc952215d2c3b982b372a3fd5a08b353edfdc5a4074580c0a3ab2fca483b023100eb0d987e3fd1a0d2dc722d3b58f749ef789812f4112b1092baa75e5d0c58fa751e79dc183e662aa0598a8f206814bc8c0302047c435bb500683066023100d2735ef61124dc53ac3f5393eed392b9731fb76a86f15ed64df593de3ca49671efece9a776c0a1858607e336f2cc63f4023100d9b90bd721a41bab061911755816845af0fd53a4955066268aa431730489fb5a952e577771117f5a0e6aa51919e3f41d0302047c435bb500683066023100fa9aaccdc952613a03eac0bee6f56e64815d79b5617ca58803886e95fa27b6eaf463e97ab44ce88603c6a3f15e382293023100f8a2b79106872b4179e675dcd29f52b77973974de7af5bac0467430aec113c3c9d9a1739bc92a3797d58ca83b63b6bb00302047c435bb500673065023039a698a4f6e7df37b7231fb9175b931343215b09e77d523d80571ea3093e1302276f23c2e39a9beafe7bb4b66b2cdf0a023100ecee92e98700d7532e94653e23385df9b37e7cce7505f8c5d91460bcb16b28cdaa787fe2e20c0bf86b7e20d0b3fd05220302047c435bb50066306402301fe773ea2976fc1931a0b93d8cdbe1143cf86c7aa1067057f7d048c17661df9a6011f4f116c61b1073145ab9d34f107e0230399c2b4902b17b28dbc34d4ed31b44decd82401e0aa855491e64699ae00aa3ebf12b3a08c5d4202290be4996be9d34e40302047c435bb500683066023100b6760718ad8a3d45e6d74857f35b48559bfaff6e7fec10d95a46644c3a664610f78dbe408e03dd575494e8a6ac0ee9d1023100bc0db39b69c57630cd14aecece936ae9dc73858d8cc59baeab4f7ad719ad56c8a67c514ef6f2139d173e083a4b42c3390302047c435bb500683066023100e072284099e5984f00a9cab69080e369befa433373a625d18534773d26730c363a2bb2a66288ecdda85442faeb5aee67023100f83756317a33111a92685fbb02628d3a6cee70f901c6f7421ecfbcb1dc47e2bb8cee9adec446fff0776ef086285cab0b0302047c435bb500663064023005eea857495ad61e3eb0703d9edc2d6463bfbe66c0fea7be55cd93e4075bdd498d87ec42828e565fa771a881df90546a02301b4812a6bcc6c722ecb27bb176ab8899ae199dd93b629af8276b0210aaeb461feb2c1c162909b8795c666899849e0daa0302047c435bb500673065023100b2d2104ad411d5e0c6e8329c3b8bf2d575693c174da016e94773300825dae5cf7d4eccc00ff5cbf59b5d18cf481b1fe802301aecf15f49b5de5d9780cc63b7b44db011a4899d2bdc92acd58667286111c3bc13c49aee5c9ba99d3854aad1a800a5760302047c435bb50067306502307dc6336f43aa7a09a8942180a5b2b209a9cf74a6bffd4a8507ea8ebc1c2811519b1fa782139c3925f132895d46602200023100df7c64e42ef103cb1b9e19264efa58319e65b87a2677aba02986c680c1e94922e274dfa854cea938147dbdb9835688540302047c435bb500673065023100acf423fa40d7a41da053e1813bca15d9ec6461df501478b63f30c45496348b615a8791fda6b6e240183a693806ad7b1f02303b94d3f5996704eb884caa1134455420089fd5e5ca9faaaade8bafa09885c62744c2554f26cb0e3968e64d5de6609e5c0302047c435bb50066306402305d9b5fd3eab06a6bc5ab028b975b3b2c3350fccf2b698d3e27fb169beb21d02d0f35cbbb22256fa85c3f30ce97210bb1023027d3e6b052444cd99dc65d5f737d571d4b9a1c7faac0088126a48d9c4a77557ccb15a01e04e28f03ca5c635281e92b380302047c435bb500673065023005c8a4d49d7848da4b107a5db9102fa4053e0a9d58067dbfd6904ed40d7970e502cba281fe386feb3619dd72593b2f0e023100a7823bd0c3a7ea59271a7595d9b135a9fee7568aaf62aba4c1301607e5491b8629f0c6a849997c7eb978d08c013a0f560302047c435bb500673065023066ddb9d8140d7be1d039c2a7c01875c303b06d483f0ce5c535da8991e3932bf1acbfa17f78c9806a9d1ce14772d9240e023100a523c3197a32d979aee5507364d981d2fc64ca66874f2f658cc9c9cfecb4bf75c13c996e94ea775bf9a70036b2fd55a50302047c435bb5006630640230707a3a23f377002697e4be51c713f2fb5ca4e304453575c11f380fc0af3576a30084627484779072b71ec2a7a7ce088a02305c037306be0bab9295f34f6e0c107f24a995e7fe647f2be6892a0fcc74e1db2b9ecb1cd95b1b2e68ee08fc67bff9a0980302047c435bb5006730650231008fdf92eb98929fadf1a3f6b94140a1f9c1ad728176d96ed9283d7144c0615b4a5b26fb772ce2b0fba901778ee33a840b023023a1502ff35c21d96d5f3e32af7116994434590433f22c177ef98ee3433465c2e75a9ecf9b4687aba3244b19b61d2af20302047c435bb500673065023100f6063ebbe648ab671fb9e9cf8065babd75f5ab44132043f985c8a27144a73e70f26c164572a6ddf305d16ff3ee76630102304516b7f14236e917e3854eb646d89cd76b9e60cb9f2791252199211abf2f533a4d0161d6e24e30116a2eae1707a9bdee0302047c435bb50066306402305710a3e4b67a584c0d9b4fba1cd106892095ba73d78ca2ee86a075aa31b6a4405f1c12011b582adb0d762446a546410f023012885fa43d3c5bc2044e437192743f32ede1e2766f12a3c96e69d91b309398e2f4445276717bf9943d2bc3074cd645880302047c435bb50066306402306ac49853802b6538f961deea2b99d41767c8b2c12bfda9003cf7a4abfce583776ab817df6d2f29889cceb8afa48472ba0230449c0f5a255e98dcf0db6c80e19bf04229a56148f9804bfce348794367f07fd1e36849050399d49a687ca1f809a069740302047c435bb500673065023100b714c68484346c0b34a1258c98ab6ceb92864dfee6137dd0f4ebdaa4668918c9fce8b0bc9d9682e7894e8ab50ffffadb0230557deef8453d8f6f43d4d5e6da79b076c4f840e39e9a8107ecb3e4dcf87fc03c0addcbe776d923ede9edd1d3ce542a530302047c435bb50067306502305f6991158b10728e3de4f4fa77a490aa75764dc0bbd2089ec01242ba5560b297787507008495a2aa2fa6a6c3e8517f7e023100a02122b5573699a99064c154268d7ac35ed597118bccdc5f39d3f36f4c8a78accb6564ebcecd08c7261fd8c87a6fcbf10302047c435bb50066306402304ffe06d4269bdbe9ce823d352214a5528def25863e9a6f6eaed783b3916aae7000e13de229be4a4034a9249e2a8b718e02302cde6cbed383252250307a2a1185dc3e595e8096bfa522192b8deb5c90ea4e6439669a295e362b16558ef4a35bc5fc4e0302047c435bb50067306502303f307420669bf4bad330161e915cde65bbf1687a7cf5a6ceffdfc44f72189c87ada12a713201a94f05d1462671afb123023100fe28f32c548d4e0a6d5267775f8f3cdf64198c70ed2b303589a61b99706bdb55d5c0d70e28182ef0915b7da066c14acc0302047c435bb50067306502307c79befa7dca1d6a926cc52636a0c0c1b34b2017cdc969ce88bcd26a7dd389c62c587dba277b6380187f9806a215815a023100bda0b8386e2fca3450f93ed1b9563e5814aa83eab5b059508fdf825c98a64042a52eb5e7da88832b21cc7012b6b730d80302047c435bb50066306402302466f410cc9cae39ac02458b21851dca6d8e7bf1835e82cf6b1349d47691dd039937041270ac3d8afa5b3429cf34a8d602303c22dd5638d8fd96ca34e92d9127fd0e0396e188eefce3d17372b1cef36b73a1d3480905d5c17a5cd8675ff6e563bfff0302047c435bb5006730650230331376877b74257aff612d99d7a7c0f1ac9c9fc6fc539c36b1a8a7a794cc13be7ead42d37b50dc48ea14323c0188f672023100a259f9b0f7de0c95755e06f41eaa10318dbf33f9f738992d8d1368c164ff4b29882ab01460c038d20ae6c5a956c847650302047c435bb50067306502305ed73629b066c375db7064f343475cafdd3ab5749c6fd7085c77c2cae794ea819a29997615aa13f503aac5d23268f13a023100b6c80c7b7dd5c8bb2b17fe941b9c444ee1e7a1fe8e4586e695d43d972c28a1e24895a400866bc0655cca1031df5b81a60302047c435bb500673065023060be7b24d4dffb422782e6ecc00b0105c0346e96a31fcbf417ad40a4a6f0945cea7c3658b7464856dde2c6f6e2c09005023100c455e13c5c1da829103309aef08549d121c90b5c4927b878e4d145ca92f2e2044f6e9e123632f0f089d171dbf4c5d5660302047c435bb5006730650231009742a7c4a709c7f63d823bdfada9c8617c499118d3771014ed1d7005ae94509f6d909c8c930d4e689bafc41347723d0702305de8a0047fcf45407f0e8c65870ad944faec14aa36a57acd7e69d94749369228095c10b3b8c7494d83d3718b92b9363a0302047c435bb500683066023100c4c15358f1484e635bda37b61ff10124ce98b3bb6f8eacad2e67923aac417cbbc44c80ae0d62b315b32e8b1fccff3e5f0231009ee284b102e84be72360dcad0ea3e818d1008b1ecde6816dda4755f3ef39bbdc792570565b75c256594e13df378750ea0302047c435bb500683066023100e4aedfb42721fce89e62e0c1afe29b61d71f801c394bf3be7547eb28ee4761e2ddd7ddf2ee749963f0d2433dc79640cf02310087d0643372711437501ca497bf25a364496e5bc043925ffe7493a4a62317efc37bb1412e7ae71a6c088afb236db535340302047c435bb50068306602310086d13b661a273c055b5e6ccaf72e10c368cadf9d75402bc24fd467c9eff683acd8d4e71f6b2693c82eaec8c11369133f023100a464fd19497eec9a45f62f14ac07d578675beca9bc6fc0a1f3d4a0303ee39cfee09e9567b721548cf1577b095c8ce58d0302047c435bb5006730650231008c5b413e91fa15c819a0d5900808d8f50d15a1658ac47e8bc5a9b71b646f3c8bc21d0f1ebf4b05b470f478fa2f47c11802306f8dd2658ed09f9ab14cfc95e5db02c1fc6be31671e04e232ae2bff0e0563da9fed0c30f1a93e50fd981a2cdae112e1d0302047c435bb500673065023100c20400232fb960bdb9df50e8bad3c565a4b45fa2eb436cfe73c20796fa9cb04f57cfbdcb5b9ad67a7611451b3e6cd2e702300912078bbad06559ba570636a2b3d16410d37b297da6e903d3556b745780c01fad01c40b480446a4fd3f6ec2541a11f60302047c435bb500683066023100de2ee46419e160fab03de5500930a89dc6ba5f4e8b6cb5d0e9c75d7d4b3357a7f10f2aa08e7b167b9ae23184a3f22a6a0231008f0944802add86009e4e3268f8f7364c90f48f7fde520c83810bbaefdf6f5c0508a6b22f0cd404af627c77cfb064822f0302047c435bb500683066023100dc7564649c463e2ca01689063acc53346c0ee5f2bcfb53165a3c3ec6bd4b653ffc0f31b68f6d0945f7f146b7637531c90231008af33ff0d73f180e4a577a8365db7005d4ac356e090bb46cf93658437e714bd48253d09cc15f0e76d36076e8f661e1ef0302047c435bb50067306502301705dba6a31e49fb5747fde8b8f092c319c6654ee549d4b718d369dd4acb013576c95ee47082c8ef9b92a4ba0b59866d023100b8e8e00b23939d68f03a5434e77beaa0dd2304a0f38cf4847c14553911ddee990fab6cc78fe1e37bfdc010a71564bced0302047c435bb50066306402304c86274d8c700e6a96c07e37456067ff2d307c57601b9d96af8bde1b2c33174e0b910a306fd732f2cd2c8e3c23d845a2023050816658cec8e55d7bfbcea708ca884da926fd20a79956de23b7c57c6755a9cacf3379eadff95502572ec5aaa18bac200302047c435bb5006730650230664ca26d0192d1dbe391409ccf1420f58be9d35024553949d7c1a205819132081c58dbe91d5aa7f9b13564af3d823c85023100889baaf9dc647d4071a3288837969ea14a0191fa31f7e9b86571dad8fc1fcf792f8a39b4de5127d1ccc45084070fbb070302047c435bb50066306402305d7650cc8d1324dac44e0617e161fbf05ceeeb5c5de47da9be6f071ec7d01a8c4cd68cd41012add7e8710d70fab1d66102305cb2e2d9b93e3251f279f9e41049f790539524d31b50da47dafd997f2f62c7de03c12f95fbc5dbde46ce7ea2e481f4cc0302047c435bb500683066023100d04ad6064a195c86099942d092842eac3350a807294c1ed8dbd43e76df3c0a351c16bbca7e53a435adc138ed288fba00023100aab792b237471c1eae4980692c4881ea8b8154cd8ba44d52972392781df1320cf380f28d331d1dc18782376b03e208240302047c435bb500653063022f73453cce50c6941cb4ec70fea05bca606e5d85cba201ad3be93d04250f8f342b053162d97ea80c3df18997cc85d423023056b5c8ee9ac10b926bc107c7cc51078587fc20b75637da234e0312f338ea23655d19455307ff46153580d0c86949d4de0302047c435bb500663064023034803c61f42026c9921dbf0daedbc18d31a2364fc9b4d62a81b935c03b32eadc1c2fa233b768a85f36d3e27534e892ce02302ce19e096e37e21792777b6dc1fb407b7cd73c434cc7fd4f4d03eb8c72c71973377909b499b6da44a2806140d4fa1e870302047c435bb50067306502301e2686095c69167f77291b6ddaedfdfcfadc44130f6b4887aafaddbdb9f0ed13a84c823f6593f9244d735a359369816a023100e2519d27a3fa03dad96aa6441fa7fffbde603a4acb4bc4be5d86c43851236793a0c678bb35bf8bf29123720f236c82b30302047c435bb50066306402303c43a1345e1fbeb30bfcea287a324df1eb5a935f6a1a6e95df0f6996c55f539fb108579299b2772f0f9b193f5651abab023047b60ab7a0842ac33c2f5cc86354c4838e98968d109925e2e4a4778e5dc73f1a6f920a0b9230a9b679e70011e10ba7f80302047c435bb500673065023040012935e69a78b5a2e0151f3f5fc07fdf3753cb9626cae8a981cabec38950fcc79625704fb9380d0555a6a986d3385b023100d884c14e9da7cf29985befb9ae4b6d5a88d2775618f58e8323143d2364edcb0dad492cb57c8bd4f84562b47785ba993e0302047c435bb500673065023075596ea609ae607a8e78a198db78b5843e148e1dc47c442bfce0c8abfe0399061cff0d4fdf891a0626f58aecdb6c50e7023100ea649347aa78cc9fe180e6cf8a16a1de3ad0ac8c39e305777e1aa35582f7a68eed2b8edb22424a4c804e11b2aa99379c0302047c435bb500653063022f2e2453ef06dd9f7eab36aca09509da47f520bc034427f5e9545b6795e30d8a85158b7a7ac4506de7b2ffd3b57949fe02305b6294392cba73c53b284bc5853a9ad71a62525d08874ecafd8cffd62f3295e7af1a8f1e15d9a8d663e13a8a40d2040b0302047c435bb500683066023100d7aed4b3ed354b946b8514b5dccf9694f4be73f75d82538ba03a455309eab3782c494fc931e82d0fde79bdded453e0460231008ea1ab68b732232da552d4794fa6b34c32c808db8d1da2503af256e7211bfb0b4dbba674065a2ccfd81b7fc300fc98750302047c435bb500663064023063403f4828429a82ca15f1e2cd7ea6bbfbadb19e9d027333df4026e09457486162502487be788c106b0b69ebb61476e0023075a596e9995bb6eb9eb228718dc524124d4e4120fe9c7353d773891e09a1ec1efd8d1e094525440f88d344f97b61f4b80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b6f45b2328f6cc2c800e7d83275e21d87e4c792e093e7cee5c063d2de8a43939201b7f16c08ad4099fabaf1cee1ab831023029d88628a35441339da7495793bd4bf061628cf2b020091e11b4bb831d83bce8afdfdcf43c11aa612cda6bcd6b5d12ff0302047c435bb500683066023100c4afe821fafa94e3d68c71f55d6980593989f1f4354873cca548e619b06d99795b928e4e8b553f77e6a5dc46bec95b44023100c94a11da433038da0645c6aef40f35927d205c5050f1478362ecd813fc003f98f498e84e1d4d83e6ed2f64987fac050e0302047c435bb5006730650230642be9262ee079b2b6be3ffc4c075da1fabac2bd2c50cf30fa0c8c31a3587da1bd0438d9d3442bedd24ee48c29ad3e85023100d1baa1581d8ddabfc4a250d9aef4b26019c61e534ceef93da7a0b1445601d65b8166416fc9baac3a4fe028f10520982f0302047c435bb5006630640230070aa2222360e910298c4ecc96dc440ad400a2e527d6aa6802995f922b1eef841398c34c1ecf85e3f71fc48ea15f4a3d023075fb1ab181807f62291486989b15a9b8a85b80ac1c3de4c639b35a527b922a049391d399e6362ce46dd1c0e07ce300490302047c435bb500683066023100cca169c9302de8c8bbb6d62a169b7d60c7bf791053a02cc005a06f2c1a161de2192e409b77f6c515e49458c2bb9c23b7023100b84073e1efab68f83507a2a22a9674359dbd53146779872ba915eb379d78762b76c91e9b10a1df4a4f5d1b9362ae5f0e0302047c435bb500683066023100b91c278d103fdf0f96ee0fa8e588010133e3c69e75878ec3840e296a7dec826a03c91bf715feba7cf7d55003bf5f64d2023100a266c458d7c09aa0507c4b9310081206e024cee25e57a31a87f26fdc7599c355fda85ef295da53bb6992345a3cec5d820302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100aca514b585134b3b49408b09a75eb49562d3e85ab65b366fef4af32c8839845f44ad804930938592c8adeb4b6ce3ceaa023100d195cf988736a07da3a3d6b87f92facf28953867b35ba0faa2f0240c07d435caaf86742816cc55e5364a48e8c53ac7060302047c435bb500683066023100b8214471fa733fbd0468e82f040fd4270c30a19d590d861ca35b8db5fecfce9d45ca981f180adc5d5c791a9aac253b90023100c98ec61824060ce30f332d3b9077261c92b422371ffe313e9f7b661b9b3d0cf0845c3f24ac0e8bdb1bd81f3dc022a4fa0302047c435bb500663064023014ddc112c1323b6b81c443104f71970ff884716a8c36cbe76d8bc9f7d109dae2e4510723088f62188c96c12f896b842602304b41be1cc2059b3da242919fc31829db070083bcebbf137ca3a6875def3a6392eddbdc3f7ea4c9c703371a47fbf0d7da0302047c435bb500673065023100d7e035c1b9a80d597536018085b364d2aad4214d3ac587536c5dfb33484bfac00de8b6543c4f619ea8431e9d281e6e2e02306d50ca3a8f995564e174932fc362f75bd3f58b31e3d351955e0df443d4486a24c6cc08badfd43b24f8ab050833a1c3320302047c435bb500683066023100ec94012b73d498f698cd11c9a7c80273e2c57fa2271cb1f91a1c8f6c0baca8ae87b56ac0542b181ef4fd1da2ff13a07d023100c8db2153fdbb27b4c5e342b42afc52eb055185698839a7e5c80e561ffe6ada8b5a6bcbffc5b8142b9915dd31932e885d0302047c435bb5006830660231008184d3819d6ae7ae4c182b4b49fbeb35156cb9080faaad6c9f6a25135a0d2276a9061fae2e61d200fb6cf0c05b010c86023100a640d009d3fc9d05099fc59b214a80ea09b6479b17f1fe9f7b3e69b56249f5e32a1bbe945846573d8778aa05742514460302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500683066023100e643441132901c8ed58fde850b9c7f4b8b2138814fdf0a7e8b3005ea5bae45bc5f3661e78337d19fa42f90720a14e77a023100d7855c27dddc51aeac827f97796bd88d66e589e7f15eb406c41dd193c3651da275cd12eae718a3e8bd2260b1ba4a9c320302047c435bb500673065023030090347d37eedb290933f2d668fb00c6c97f7e4fd58fc1e384c01f42386bdc230bf72fa612f15570f28278ce1456b8e023100e83491593bfa91c02ae561dd318ee0011828084a528976329d69bd24c7818c48e6a7bfd03ad7d4129afec9410bc1c73a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023017e7ff78624f517413232918cbbb3da865c6cb389badf12f7b664955e30d682e7f6cc1ae8117ca2129073bca1421967f023033d5d8603ba1843005167a2fdb54428de6d5a2678524a961d8a0497fb4b07314c037167733b04ec7153bcb8ec7cf06310302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb5006630640230685ee1fdfb795e53d0d61725efbfad1f6f7b26151fe7f03c244cb5b14c522c32ee7f8b52a29f4aab3f970a9012c536b002305cba345e35af4bfb85cadd4097db576b026c8c1de9b0d05725d31f999d580c9518ac8992ea787244d2b2bc405759c5c10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e799f23237027071f0b19917dfedead523af4af43c15dbac81270f94ff48d73053d1e4937ebb2c0c303775884a61a64c023100b4038b64216d2deb2705f4f430020e4f08f3d0728e3e5eee1d9d08dcc03d254a4ecacf1b7459f3bf5f845265a5b8b0970302047c435bb500663064023011a6236e786ce1192aa726dd7164e06273004365151412788da5a2f2a3980ad9722a8f054a9184cb72ced04683fd52b002305a79f48da7f50ee6656f3aa46e2df479d7add8717d7a76481b403748e936eced9a440e64877e3630976e048169a674180302047c435bb500663064023021aede14d6bcd8cff3e742d60c905e6a5b32733f637a300b02423ac106ef214dfa626242f557c77f0bba670adbbb7ac202304a3ca7061f914ca3b2171aaf957149f9272b7016e16b1508850475d9ce04275ae5ed8f7819e287e28233d8913b53505c0302047c435bb500673065023100e9ab5661d3588a7fd7eb3ed38f5745d6d2b8f150a58406ae8a05f1338b9010d80e0142b0d360edde102e18d0530dfadc023053bc91a4416dbae4fe1b9a5a83b701c742877a8767f1c6c2dd675725406f33e5e2b46599250a0790c3fd8495a033c24e0302047c435bb50067306502302b21e4e27dd1ae4917359dd5af909127a3bd2c17c5e584b4cc3842575f29403d5a3f94744ca130595a88334824fdca7b023100e2b6ec034cd1ce604e22a31e25013e544ebe4d433223c12bdfa8bdd6b776bc635c0aa4ee5820904407c3c6d1b21cc0a30302047c435bb50066306402306ff5358698ef91daefd13c244b5057505425d4d7396bd6ca07be86c4c0dcac3d31992ab162c8b676732af72e080f1aa80230388f9e1d44a7df8c700e6ba97703acb128fbbb30f374a0e3ebe71ee91a7ee2df5f39e676ebd12ba94cc22c08f817c3570302047c435bb5006730650230579d6a48433a4e0ef655182394b77fa8ffaeebd3e41f621b8bab29053035b3a28066520bc8399a53769ba714792bc09f023100c122f3755e1c26dcf5540a030bc6fc75fc80e4b22f86736a09250a41464584b2b7b5c876ab543cca2441b0848272031c0302047c435bb500683066023100bfa5ceb2c1ecef3342f00f552686662eaed34b5d62cc49ff89357d07a9dce8e817af7d4f199cc72ddbda4a2ca2411b64023100f563201c553c30b47d5567d45696564c5d66fc06a16705e52da10ba41cd15f4762bdbcb0ce9dd5c40387f72746db64240302047c435bb500673065023100f2c0723a50343f9e595e2a8f0aa8198c51c9dc644e7037a652f602139305ba9ce55701612b8c030fdffc3e57b25b9fb1023079fe3a96e3798d7dd8570fc13d95fb6ccbfea40566d543227bcdcee5b0275107174ed5a89ed46bc92d5e5abe550800ca0302047c435bb500683066023100bf8186638fc4e46c89143fb83f51fa391a316d9362e6692896a8137654a5c8b9bcd4ca5d0d84dcf53a762fdd2482d8ba023100fe7839673590fcf5b9a16f7ace1b2fad473a2a0b86a762d7246dcc5425b4bba247d6a41677efb3bf212c5364c19494360302047c435bb5006630640230259637d55e0449e5dd037f484b124a70ee35065be5e0fe0973faee33ae934157ceacce6d942e739abd2a45aac4ab8fcc023078f3cb1bac13813fc1ca2fede3d3ab1b5bb48cba8cffd804844b37b6c5a3365a4699f530e3354691d10c15f369148d040302047c435bb5006630640230562849897291b2df515e5629e147f4b53760a37a5f2241e9552eb08c3f55b775d4ce36bf8f9b692d4f4c49f89854e11402306e7b092b5944cc9aee3a141c329c36dd105560766e75478186eaa7bb489f2b2c84c00fa551e6b4daa999706cbf02e0230302047c435bb50066306402306d919838ba2023b7a39ed8e478dd7f46ebb094fbab9670582229d46793912126068c87c791f0982b2ab9d0451c09963202300112eebf4020daa4507a0ee96f12e9a0c8b694d0a3402ab878c6aada3b14e03811db0868dc0ab58d5a57509d05d51d3d0302047c435bb500673065023021032efeaca66ab5fcab9f8b1694977292dbe45a9bfb6202a7237d33e1a6cd1679b2611ff569dea82cffe9acc4df7407023100dd84190ae17f6c3e99a43343c91ae40191aba711c1445d62fbe32fb7d910fd49fe8bbbbeabe1e3cb3b27693499d4ec840302047c435bb5006830660231008d3b67a7e18c54cf6920bbfa59f62787538cb2c3762ef163bcc3905a4db0da57c2eb1af014309d93d293d4bf21ba7174023100efad95b685482633f6d820aa4fde0a0b035599d6266350ac029bb393c943ccb020cbf1901ae59fd85862c879dd6138c30302047c435bb5006730650230672e61af9c4c043f0f4a9878d3c2102521a6e1d6305f26cce66e0191553466e3cfaf4645fcef099615a18a4a0ae1f711023100def3dc4e78d5f034c2c0070efec01ad0579a7b23dd4a1eb6913438bbd25075dc522abb8b82f53ebc933a1b7d013c219c0302047c435bb500683066023100f11b5228221a2fc33839ca18bd5613c9f91a9b0070c4e0160eaddc1c2a1ba1f43d70a5de54477469f5eb742bed93b21d023100a7e0680af6c145ba30445b7276f21edebb177da7120d441ff4da1a80d19ee6d59d7b26f15bac0067513e2f95e4dc7bde0302047c435bb500683066023100becf99c49aa83f6488693c99e9546bdb627788dbdc5c04c7bd0bb76cf2e856a0894d1f8b85e1048e543dd219c113b4ae023100fde7c0150177ddc68c4b9e801f4a54921208f512e8f05f5537bcea97340319f7f8bac7d3cacb5cd3e860bd2a641723ed0302047c435bb500673065023100f6032c00ce4684c2682c5da06e2ee0f35fcccff0bc96d80c1ce697c3bb4220c95d555dae542291a4c5623f936cbb2ccc02303ab72f722f28fb90fe0b1e4ad50cffd55c2c087b3ba2f2d8bd60db5a18613f89dffe4bb62010c9c47a98f499a516f62b0302047c435bb5006730650230121c9b24019193b793a3b6d50b20f2e7042b753c7b89a2ab3ab7ac33b810b925c6cc4c93931a7dcf09a92ea4d3485a64023100d3d1da12a0fb397fc29d72ff36917399b07a36f3625bb1726f1acb795701488cd9218e0c688f9b0364c85557fe9318210302047c435bb500673065023100d505af502d6f7c546404dfc7c808f56b904b507073fa556a6db5439dddb79e07a79a898f9427ac536f0fced62b17e21902301a6aacca5fbae9bb4131758d73823264d8e9afc7910d15a1f486d6b8dc87d31b6e0f8ec8ab05f18c97c52b5c8dbaf8ad0302047c435bb50066306402302933a019e6188cd9dcff2a4380685efd185a51ec8820e9fb2e8cb986fe823fe88d4b961d85cb8f6d12f28a66bccb9884023055640aae2f084999872cd2355649df7a610cde8909723a88eea3512b493e486636276bf69fb96a0e05bfbba2b561000b0302047c435bb500673065023100f37860849b14d90483baf0efed5747fdd77d44234485a6a65fff4a2d2cc26e92f66212614da54d4183679041f1d3890c02303416219a267bca4f4771fc53b8bf4b92082621a0d8e522738c696965277bfd39c4406e4051d7c3828c1bf4a28dfe547b0302047c435bb50066306402306973b43411b6ddcfbcc87ed04c1678203a1c0d1f916e180209aaa245b0fcd9ad954a3fb03e51c33f74312b37c2b471bc02302300b07a9bab1eaebdabbae7d671258b2d9d8158c6114d4744eef8d971f9671e719c1e5c0638aea4e700e67b4653e23d0302047c435bb500673065023033c2386a584e750614c1506b9a95cebc5e8812c684e441a41bc6269b2a92facfd92a3a824bdf4f98274f7bffd5ff9d8b02310093a6245c2a5b451b123b2166e06509f9d4c8d995f7d553bef44ab79a1662d01d8625737ca68f41731c19b17f220cbf7d0302047c435bb5006630640230436d45ca0d9ffa3a4916ef322c4fd2d6de2e8533e89b02c062d093d33a5af862d5ed695deab8c223c9e3ee9549175b6e02305b63b8df3fd1bd4ecdea8409c7179c509e81706ca5acdb03fb46bb180953f527d916360c13b83e220813a73cd181c1c00302047c435bb5006730650230305da2a17d605b300ad56ee00d1532516ca937152b5b5e9f5d303085d8a53ac628742e2f9a72bcc26180360b60774f1a023100a29ff2acc30e51ac61826345731425f57b207c8b7388119bf818a077c7e267cff37aa2e84bbdcddff04dd88bcdb9eb550302047c435bb500683066023100abee87e713e5c325f6713722c70617ecfc3b3ee4de979c67bcfe2b042828d13afdb665bad11a106496ce03654ce8fc84023100ce944ed9f783dcbd4c8bbfdd960813a3c890ca87ad5984c868c3a1ca409fa774310103fed96288a075bf86add52bf8290302047c435bb500683066023100bbde266a87a4277e2255bf0256479faf87677e2e41f2c23e026f75997086e9de9406604c5607ce6171e9415df35eaef90231009fab038e92a26e5e15e8320fdc9228dd4f6753a8b7f69829fec78b31f08836904ce33e8ddb38dcc7211f1e3d4b7cba000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d85e6ab63679cc4d61a8365d589c36224750d036a118ca66824aad3d7c7ff6472f236e4d46119ab70bf1a86fab93233b02300dec4adbd5dd7bf7031bec35f4a60bb93da101bd67ce767e5afed795045775fcfc9934096d9bbe93b1f3b6daf2c0d3b30302047c435bb5006830660231008082f60c9d157f11ec5d0cdf1708ba87f6a055548e875da79971fd4213a1f2a5b8f85b8cf12884e206612d4b7ccca07c0231009f590d801fb1d77ff6a8a411ed714d913dc38f2f60cb8e24be437e34754f467840b7b15b45df8116def90977f1cdff120302047c435bb50066306402303eb6cc68721d4c7851f6979409c763e5882e036ec973fa39d2afd343156bb05f6ec0dc739cc2a54f5a9afd7bbfdf26aa02306eb5399fa2930ea6f825fe020d4a94a1cbe740b3c0b0b695d1e9e496e47e0cfb5a1b0c09ba76ea5c90dcbe411bb8137b0302047c435bb500663064023054a29de6aba3fe83f317690d4773dc25b219c9a5c2b6135f6245d545ab9f0d9f69e254aac3735af7af76d5e29769fbd6023067ee5ed4914151c2da0333cbc2a33e45e405f346c09450792263eb3f2663675ab5ee8eec1eb0770cbe0cd79f35ae6fb50302047c435bb500673065023100c20da979d3cabf9e4032dfff53a35b92f0964ac642e6e7f2d53d59b28e3517b5dc655b55ea3caab2d252b1231c71081802300180cd72ec3b72a633837db84f01c8000bd8b34a46da3ba81b93876db1d2bdf81df4bc36a6196b7cda6d6f29502ebe070302047c435bb500673065023002c5889be81ce2e07a0327ac17913a6fb921579a562795724d87f35c6f216e04b5cd4c766acebd84c095ce3e0a302100023100b5642e29f10176444c49ec97715a244c1a3b655298304d4b5a0ebac4e9d67215089e5c669a27e7dae00c862db5156cec0302047c435bb500683066023100bc67562a5b18dc7b3be4ba99ee1e0ee705de5f32d7552edbdac0352030c7ef02a4a38e5a1c60bec44fbf87fc9df826a5023100ed3391e3cdf573ab92cefa041435aea12ff2b439b97a435d1477257d1cb94f5ebb21f5f4d19a6e80fef4ab69280db7bc0302047c435bb500673065023100b871d5541cdc44e71e88105640c7c2b663c61f279f2c71de0d49fcd92149765640cf4cac6f1e31257985d654571563a902300e41c25637bc825c90e7aafaa46e60c788ee767ce931a075491c18aa332be1e298a8a570259e5c6d3a3a10f1e803e7620302047c435bb50067306502305bd654de2222b4ec316642042f5903602297ad0eb643c0d491419813988b79c4e349c19096d32cb735fcede03f1bf30b023100cbe89e6b5a8b6378508aa675167d7ff0f1a80a08d08b380a6b09b906ec272fed6a6b633b8ec3a8cd4fffc4a03b88c9b50302047c435bb50067306502300ad0a2d08e50b5623d7852d01efc479e77223c3f9db297cc90132032a11cc70d237da77d13019a8862ffc7bdcde031c00231008553c39e2e7e19a49ec7a1dd1c376d250bcb0bf9a9bac93a2f0e0bb2472c283df0d5c7d79261f798e5a087752ac963b90302047c435bb5006730650230269249a879e5fc039918a7e3982d4ce9b2dc6599b313cf37aac6487f79fbfe727cb4b206c1593741c504aeb5fc565733023100c33b1d2f532465aad3a6515678654f9815b2146e928861295cd614ebd8cfb52463323fef3da44ad6b59c7098188ee22e0302047c435bb500683066023100c9f102317e05051e6b05cf30fca20038592069f11b51d3a2cfeb1d328138896591ee3e355dde7460ebdda0002fb509a1023100ef2c0e420827f10bafb8d6a85d026da81df677a758ac778658e62b84f9b9a5722a022514b16c5f3af3983cdb574315390302047c435bb50067306502306a6431654e356417f1e2fc25e326f3fc6c3bba51231e834dcb5679939ff6d570bee3a7a2141649047bebcb65198e9320023100db826401c482e302e7eaaa20960f3817801b19d842a4ab0989f0ee05bc30ad166ac3cc9fca50f13961d6935d2a510d090302047c435bb500663064023049c58fd71f8ca28cbd7bb6aec73b392706e538b2d3c9175407a8cf39091eeaeeddcf32d545fc6684b61ef053dca5f15d02300c9cad451741e454c64c062656aaf793085c1c670916fc732aefcff67a8f733addb946c6a190672224ea488dc5e556cc0302047c435bb50067306502306677531012b7b5b7bb06b6041bf820c2f47a48172636834b60ca0532a6e20740d3b06d8ceab4e00dceaa80438ff95daf023100d7423d063f7bdc4611ca592189e4302f4f87c0315e21aa1a2fdf918fb6c7fb4f693a481b58dce2bf683bd5723ba06b7c0302047c435bb50066306402307c5a895a95b849f614c22838d60c7addf5333bb9652ab24a66e9f184917a05f00087ac2180b094d7f40c7e06dee2be91023056d165d5de8344bed16b417b397c8e39bc83307717c20a39e6dd96c761ac20c0d44b356a288b4e733672acce646013790302047c435bb5006630640230416066288394a1d6f1d7d26bdf38916fb5540372b4c62ea466be15931625c1883df7f8396c63fb33b2040f7cfb470b3d0230710661fc41e407d73b9c52103602a52737a4fc989e55f7f859810da5b86733f1a07ac0f0228fe73f39223793d5f6cb9c0302047c435bb500683066023100c1486038b99b4312438e3088bf88e6dbb88b8dbe475bdb3f6929c1e4b85598df1a3c42b09cd26cb60df9f0ac12de775b023100e0342879a9d0b75033c31df42ca4dae40608e9f9020d71b69de61bc0a95c24e50103d244be10e2e7ca59dedb47d8278a0302047c435bb500663064023044adfc13222870acf537171ab413f200a5049f2ab4c526eb1e961eb33a7fc65ed60756586759904d9a6517a8b9a6affb023045cc150ac6e72cba16a0294fff1ea53377d6580bb83ccb08b4a6389efb11b8641afb4cd06905ffb774759c87dd3c388b0302047c435bb500663064023049788a6147bb62128f641bf24c37e41f3d7bb963e368f1d4b644eb280ad241fddbe63d454075d98b7d6cefc846ee8f410230389b344922adda4f442eb6e0a5f990abb79d9e06028ccfe45b2d6e3aa2a728c994cbc96c780e7cf18dad9d943f7334890302047c435bb50067306502304ab182df502f0978d5fbe530379c5399019ce20f1e93602a2dcb12d1e4eff80e870a57c6d3c80124753f42b0610ed96f023100930985db3e28902c6b167892db86e9b67b3f3b86c63718392271cd049ceb5a0cf2e6cbb93e7f383dcdac0f62a33ba9be0302047c435bb500683066023100a15c75dbb8f9581276ddd07134059f880dee2d21de6e6266fb45266c3d695e6bc0fdf805dc42732ccecf507eab433b0e023100c5c1c97291eea37b33661c2444277df938d9f3ad446291c6f0fda905868052f2d6e8abeef2ac4fd8e1e7ea220849e7f60302047c435bb500663064023047771c7f25612f934585eba38d43b96f07aa38ff2bcd4e153177dfef7f2a9916843e0935e9b99c4dc2a3d431d7a45d5b02307f49807d665592bc51ecfcc91af4acc47ac3900e1f802f0eea828b8c27f472de74dd85f4f2cd694d1922d43cfdb5122a0302047c435bb50066306402305b0dd1f299c5109eb97e5ce23242d965e5b62b575b689663ad2ce1102f5214ba4ad48f0979ea05bf0e5bd92426049d8a0230147a90bbc538fdab19f3264502b035dbc08044609faafe48115f5ba2c0a00912632cbfa96cb5bfef7a18a482cba3f2850302047c435bb500673065023019586bafd2fed9288d60a770626dbbda5debe1a914048e9572c9ffe1df7f9d72780a922c0af57c676b482bd6053750e7023100daad2c202fc4a61f69aa6a0e5e6c970e344071561c28b0644bcd2de7182f4ea77b90d495d0cd3f6edfba4b50d67daae60302047c435bb500683066023100bdb09966bcc4be2ed3b24c855b7138bbc9842e2e21bde1051e9bb51e099cdef1216f34720ee1582dcbb8fde402d93742023100c65cfed1f23e22329dcc2f9609780278018e6c0eb5e13159e667401dcdcd0081bdf347453e9ca4e06fd2be1ca2f872bd0302047c435bb500683066023100e6432c4add297b16625a870f3b19b0e95cac86306de450ebe602bd8432ed6c70311a56605278ff57827810751f53a3ed023100f2f285e253b8a95fd1b455a5021d00c697564f3bea78a0fdbee8d2246219b80a5041fd51438366c7b99fbd9cb1ae5a010302047c435bb5006630640230533f3f50c7a9ef9412ec592eb686996217a1961a0401a32ffaa569e382b1e2483c7a4bad5e7366edf50488689e03d4b002306dde2a03d475b134d4aacc28cdbe9ea78e9d0cdffbf77e92bbc01f2719dbd5bea97ace6097abb464423665af70be56850302047c435bb500683066023100c099e3a72f9a3aad253cc560edc72099a06e4ee9fedfd0b0e6498a15ed84430f711214c1986ed7ff020436c405947e3f023100dbcfa2f75ec12dbfa2e0865968a92cb76a2e63ddcb3cfeb6a35257d52830e9663ef54e7bfdb851d3c2b20e03cfa4ad110302047c435bb500673065023100e7e5e6a016f396d3589280cba0b060a8a5ac50eb7a8470da5ed72f7539e5b5b66590c81a488b10c263829742bce1e2920230129cfec3668a95c0480b679617d010f31bf707b31ccf46776b6908b85640c357281264cc8de8a63ad8c9ab1f9f6ce0a00302047c435bb5006630640230141f5e4428f8271d658c59a1015638c31cf744b7e04255e59c3a718b8585929bc98ba3131b6ad427569901b08e5b4a62023008b9a62b0ffd1c3b38aa88a1969bd8b02feef24e79ae6fbb460931b8e06445f4b5dfbdc90bbb679b6fc5efd5044de8790302047c435bb5006630640230332274d5a3d3cf7ce7fd7bd57b22902b8e994541f0c07440de028352f07319a5c8c4810e6104c4e24a88e92d18c32766023079703386ab669ddd8796cd184ff1f63a35c8fea4fa8ea373f9262a6b63f4e3483a6b6d17bfdb19f141ca25b7d9167bff0302047c435bb5006730650230428915b6841f09c7036e55aad3140b9500a4ad9db7576d55abe43cd6aaeab5f7ba9e82a8632733913d6b00bd83ab37e3023100d06e52b560eedd1c5b201010acc2b9f6349e3df3b44c0bdd226f6dd75899ed8a1972efd51b51da475793c424e5a2628c0302047c435bb500673065023039d3fcd9a4a1c1f9746f956c975ccdc7082baf1a4742759022c8c7937ac22135142baea5a29eae768ec3cc5afa265b43023100d58e73cc835e98d7fb07738fca3f4b40f4e3cca2677ff2ce505edee21956bcdd50142bd33b7c7248003f83a7dbd3ee890302047c435bb500673065023066413ed26a8ddaea9bb695689d6cdb40ed1a1fe2e9aec6e49a07eee9345a4413953553b9698bd0f870e30b6af342025f023100fd6911d565559c98b386b2e17860bf064bce2a43cf57ac8522ead2de4bc4b39049fec74bd48a5ecad16c8e6377f2498e0302047c435bb500683066023100c6092f298a31f22d1e3178066be4fc6fc7771ca386c1ea335c9a5f9369065eaa55085bea2cf400a754715078a8cd1ebd0231008d3dbe9d5bd60efe9dc5bf06a1eea0652b9585bd3ecf2ab8b419a1f833ea19713929eb7b3b33af624f0e7215485b8de20302047c435bb500673065023100d72105ecd6a3d10eac962d03b0cb4aea6821f29944adb6a1bfdee38939a2060cae1d02d9195e74c0bce10962cb324ca00230417e8c83e693f1a3e0fbdc60c2d293f3c31664a8849cfa05f48d6f05b460ee2ef2d9710c1eebf430c4df4ca2b5a692790302047c435bb5006730650230493448c992318d6deb1238874f0eec0509aa21818e4f9307bfcb4ae09b358e8ce913e2758d704dad5c21703ed1d938d4023100e63911225f7c50fff3dec1596fb3d7d3d019684af480e7d5fcf5c00cfb2dfba9b78e96f88f85ef6398c967167b93164d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023020da6551be0ef31d3894e4728002ce0b80552c6646c50e2d9caca56b9c1bda8625bb69a04fcfa47b404d113aa0c7c909023100c4c0c5c2f9dda0b4aef1c5cd45223b9c238cee86933685c38425993f83c033ffbe03ef5a4511c2047eb48a3302acad510302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307f5488b091b09a5be9580aa24e76851a9ce689d89a642f713f79c89c7217e00c6eea6a922d8f399d83a8864bf03359c5023057724b930e3b100569ce84a74a5b082897f24b4bd7a301962c2e66b07755378f6bafc21c616603d5de87fb2d27a2d0e40302047c435bb500673065023100f7ab3597c8c3a84f142496b5c9f0ee15b500e69b99eaa852c87a49b7bd8b1155a5c4b6f75c16e28194f0fd49d610802802302a4e98678bd9bf31861b134d6b48c470a29023b51dfb57ef3c97e37bafd25d72cc1da0d2b594b70f96723f913dc456170302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023078a8416158533e0772c0a162605896d3d1fa65462bcfe682547802e730c79c00c934f41172cd2cec1fba3e4d8a48837402302ba2fc4b12e30d531209da0befb5d4c09119b43de433175a0d8f16d78bed51d7fe79edfe9db21335973bc68bc200ede00302047c435bb500683066023100efb805a09192adbf68cfb2789e4e252e0ad9ea36d31ae693c097cb80f631a3775ab7afe9fcaa07c5700d02526d099960023100ce02b018450848f4fe9c88054dca643cdfa11b4e4b7cf109a41f812f227f7585079cdee658ab28100aad46dee1ed25940302047c435bb50067306502301e55f08e21f73e4c77a76fc0c4dcdaffa60badfe93242a2f17edfaa55671560ee7dae7f73ef4e5b8d40ea21666d9fec0023100c7ac16dba6f238493b3ee5c65b226a5dc6038a6a325a44eb35bc49bbfbd2b5434b74c32011b32af6e9348a6a1b6b68380302047c435bb5006830660231008130452d5429b108e31a9179f3f5dd6cef3cf53de3f7a52b205ee272401fa4659fbdb7fd81e0bea9a9b9f2db38d6672a023100e7a32e17e0d63081185137b31e425dd1dbf1af0d55e8dba3c5a72c303b750748528f0152bc55bfb1cd6934810dabc1500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310087325999403b3ad8bf644159581e437aa84bf677e79de9b7bf0a1afdd0d07a60d35a56a6c0d26621dd87314f5f2a9bd60231008255beafc7d710fb807cef885a2596687a6b19ce8a1eec060beb1a89ed4510c20f42847ad482b3816eb4624c5aea21380302047c435bb500673065023100c3829027a9af1769e3eebc7402de29a8ff53a9a5b966dc8b62750ea87a7e260750125fad26eb950f4c0ad8fa1e22ab7a0230100ca9a0f609b1af6604a67833efd5b17f469c0e07bcafb6f30dbabd1e6061420bc7ea3c72641bdfcae3831bd3649ece0302047c435bb50067306502310093d3cb51d8d2eb13e392ce5bc790d8452a1999c432a8b50b96295736c7a957c0c1e7eb12260b24f4fd6684312abad51c02303891a52b47014768bbaa6a7f56d49cf442b63cef7ccacec8d287a6616632081f57c31e4d15f0d0d960f46622a07930eb0302047c435bb50067306502302993eb74922e597ae7feac5e4269e1ce9045b6aba4d14053cce8f29049bae9fcf8b67c8126c08f591f5726e2a932655a023100aa10d58e5c24202774c4ec82575d06ba87cf309dc2091270eb647f125c9295f5ffb9fb30a90c52e5fd194dc3ff6cea470302047c435bb500683066023100a61963c2ed3cdbf9cf4b2d6c94a5b2c3290f211ec51e7c2f580680b327f0cefde777794c89e9d2eef053643a0b2c4a25023100c5e267340b3197f1fd5ada61a695bcf8d9f8727ae663f55ab35460288b37151c58bd8d13dc4cd5bc89a0b7b2b5e2aa280302047c435bb500683066023100a4c8d12c0fbc776842d3bf808c8d9bd7dd828748869ca0bc06eddabf2cb9326e755c9e3ca29bea824ff0976f790bd1c4023100a02b00e0afe3724ed16826e3a400f5ec7f0474b387e39415dd98eb9f4380a08e9cc9ef1b6d01438414f7747a5418327a0302047c435bb500673065023100a8b6e55f9504da5970a8ae66f65fe9b725488ebe05d2966487c098980ab166a923b80e234f6804f7adfebbcfada4c51502305d0dcaed297fc99e86a3d5fbdca5a599d6c0818195c5d19842ed917756d1d25b2c737ad564cd13a9072447e0577d086b0302047c435bb5006730650230677802e188db246baf600e36ca84f8082bdf529c359a03d0b4987de8567e88421904a7ec232dec7a767069b4c7057521023100bcd8655ed2749de42cd37ba9fda7c359a8d127000600c59fdd17a17d4250216dce7eb5de12c656b619d421c5bd8ec1840302047c435bb50066306402301a5a9d00e76862c4bf66e1904d38617334a6ab2cc389273501c036cf0410a61a4258eef04ebf2422dc033a552283d1530230058e4d98e145076050e1a673bf2a4aba10eb0d6d6ded8796f04466e3c1e533e339e878b93b07a8ce054c1a68251c0d710302047c435bb50067306502303ed84f594b2cff00b8ee663ab5ab792c339d450081feea1da7cafc423769fcd3edcf4586c1dd20e9e530872150adb09c023100be53c991edd27cd6c861630030ce20b86e95294bca24864428a7e5977de4a3e5d0b639cf451b70a23b474b3f5ebdb3d90302047c435bb500673065023077bfd61f2eb8508e79a5adff81b4be52037c84331e472193a41beddf886a4348ca71876a844dc4e77f7e8b399bc4c09b0231009908f68b63e02468d2098608ba1395aa93f25d90847f2bf640442fa78b07d925464d969318f5dcc355abe33dc2d70a9b0302047c435bb500683066023100ca1d7bb2d17b3597d4f4f24652f63aa6bd06e29d58a1e04ab05598b4f719960566a602307ec2fee18c764669678cb323023100deecc9c7e08dce6838df7781f1ded44e6bc0b1e563aaf22dbbae4cdafdbd869f93bab4dec4a7781cf1c86e1ab63ef9a20302047c435bb500673065023100a46ad68f8b6779f7de86ac6a8194b0ba1fd04d70c407e406eaaeabeb66ba94c9c18dd5d55532d511318898220d8a199402307ceb426e86e7e9bd091be0cb3257a3be0eebb6c12248425a153f08dfc260f43e73ba2f29a1fb352d4b2c273255574abd0302047c435bb50067306502304e99380f6d4d859148baef448ea41f645998bc0be70df61f12098da9c14501f8612901eda107a7935bc4d6789e3edac002310090e2ef8ef6dcb3e0c13f973a6dd0e36d61d512ed4b882becb9786943171a0b10875cadabf9700eb4a49d575c536d912f0302047c435bb500673065023061ff2e07591b74832a049f3409b4b68985f7384d85f5de2df9db6ebfa441b9d45ca776a74355a4b722ccc9a611cf867b023100f8fa2e48394c6490f37282f9c8fe7b194f16247b700d33ddf973ecdeec876d3ee5972c379ee733036dfd719c4f94bb590302047c435bb500683066023100ca3646508d1e4727b8b17c2af564f72b5f3bedc99703d9a0a31abf92f61bb90ed48b26f8e1402058b40904838dbb080d023100cdf8033a45652fd832f1210771f13249b3f571519f2fc8ecbadb41d1dba6a011287ed6a43ea820855080ebe347b59f100302047c435bb500683066023100be69e5d7d1fa92095b25ea590f50b7a3404dcc5627722887c04f66e5cc15693ff40e1bf8c8c08de0d2acbf2ebcc9d2d2023100f4829d6ccbdaf6fd3e2422f97bdbc5d9cc95152642a1f31c489ded40c95feecd275059f903c144b17a3c7a7c200f0e980302047c435bb500663064023077612e178e61f4d2b5a99fa9fda6f72695682b2d0d5f93b6ba97aadd347ed4366f5b10d1914941ac7ac41ac0072cc7df023054424dd7263f16ab3451304b791e67b9fc78b8149b304874a40fd4ca115017b4e370fdb7eae2573b5532197b316640680302047c435bb500673065023034623ee7ce901265a5fba78db504c83de81879640843e95fcf96283981af147bb046892c09c0730059c182d8a5f211f8023100f81fa6801ded8352a5764089cc6ca2c99469e04cc8709a4785b1072616d83e126750cfc5f07e14e6b37bad1aad653d890302047c435bb5006730650231008ee38d5149f74eae665463b5c2b7371de0033a4051d8e2b96705294dfa004e7ef3ffb6bc88a03186a759ba48deac1a020230710099bfc7bc91a0eb828ce25e6034079dbf191f8243d7f39202be2d205ada5080f722298cdc1aba3856d5e538a6092f0302047c435bb50066306402304e8e4e66194bb012be3a86193c58ce987de0acaf8b7a79a1c66a838464d8fbff2afeebf932808e1492ff8f134beb024002305599c51bed38631fbb59e176792b0fe3928834b70eaed7e4dbf5d3b446735b5d8a97b836637353ce276d1c61e27542120302047c435bb500683066023100dfe77c5292c71fd1544e4d41ffa7257c3792f10e92b0aa5be220b8d4565dc8fc0a67985a8fff39d1e6556a38a1ed90ca023100c9cfedb607df607c3ce392e57012d61ac09279fc3ab1493bc6c8bc43ff884404de8162a15dc76f33fe4e93ad3ddba3d10302047c435bb500673065023100daba1ba584dec6196e95d00c26d29ff1daca14df734a70c9ab8a4648c7b89cc18144dd9a186d6839c6894b6b398856ff02301a32be63a74daf34ac157895c5e3b6d380efb45b5b40cce6f2740d527c4cbd448dc0d0041ee90cb273271e3fb366e6100302047c435bb500663064023070687cb7820332d9534313f20ae401362cea850a5bb49591364aeeb618e6552eab09bf4572ff62ffc89f15fd2b9e504302300b72e227cb4eb839b3a220ad2383b088425ea6319a719cd7442e4a89564343018ea8453fcefc427bb268ae5358d2081f0302047c435bb500683066023100da08174c4b3018b07195d4c0860b34e304cea6ae9fd47cb65cf2702af9cead9de0962c32140a6992bd24a219aa7c98d302310089087f1a1ebd60aeae72553217f6aede4a0f0e35d03c5f71bca6314ecb5ed29d91f3c65efe1f9758101b59e7da8b135e0302047c435bb50067306502303317ae55515ea0a88f6f070b89e34bec4a4adad7fed62d7c176ed619901fb916464d8072e6755405b8f787819b1a3917023100832ffee93beca2b80999a278c44e68a76a2be673b42112d1a5d42f83558f7ceacc2112947a1fb8b078a135312312a0e70302047c435bb500673065023044cf8f2562b2fdabb506b833516a959df358da41816f92da9912d9fdd6a3ecd59e05e1a1ec90c468cfeca2982ba2bc0c023100b882504645c3a78d126eb7ed977800d589cc35589636073b875752eaefef4116a5a3b90d29f37d420b87c1b347a569940302047c435bb500663064023069b24bbf53955709555dfca55a92842347343c8764e33a86c0953a33b96dd9faef89959c4ccb86dce36f49dc4fd6e014023020c39b597a0b2616e43ca14388c0c864b9e45720ffd5ad91fafa520b1b95939eb3f0b3bd219623b2a4892208d6dbd5360302047c435bb5006730650230427253e64eae25d9019cb6e71a0f9aea279faa68cabe3bfcf6dc10415b937a03fd1091254d583402a09e7665b42477e1023100b89c6ecd417ecac35d031507d5a69aad4d982c539c17f00dd94d72f3a76d9e549fe24b181977ecc510c75385c7e03ac00302047c435bb5006730650230544120be46cd20fb668a6eb3c1f5e362bb853b6ad138b82311137a9274618c8ba5de90f703021c3b4354d540f7fa6683023100e2f0c856629eb373902a2d2b6bf5fd7c0d52adb12d085da8fc3cc8386660ac3ff19624a206a6a0156010c9b6c973d8e10302047c435bb50067306502307be25fad7a9c893d9cf7c17fb14849d7368a7f58f86d50c643483cc00a1f18e109c472837e3216799ff519964b2545f0023100debd532749c44e7ab3dbc44acd8b544a6bdb826bbc8352293c4eff5613f33edb0cb23c81b92fb01d9341f6703aac2b410302047c435bb50067306502304a47a52acc4d70889b1dfdf1dd2d4096aebb8df1fb1bfe6cb6cd086270f2de69ac1f3552aa86f76852574ab71aeeceb5023100a73889f8cdd271cb544473a3fcfa4245cca5153dbf81f3a6d2ade89f7b64c52affd765af7f4aba4f7869b8b83cb208d80302047c435bb500683066023100c4208bb02bec47f633be150504887bebd58af426c70f97b30025aa3a4ade0da0097cdf7e953aff1bebd265ac37933f25023100ed343090a9b119a4959613a9dc97a0a2f17217fdead76bc2534b875d460160f4b5a5b6a997b762d0b81383ed8bbaaba90302047c435bb500673065023100a23afeec3314d334c93ee19d78b93b04d113c50c782d290e233b31e3c99e8b034e458f1070d5dd7c31ff488bcd56b2f70230323504bd0197827ff36dc9c14556af8de7c3ca0456ccd9829a67d8b938f05ab9072fc3fd78d9010ab7d328ade606755d0302047c435bb50066306402300b725209d1221ae2c08e2afd3fa89127a7e4777d7a06356d902ab2389cb845fedea6b9c863b3402a14d3b22c3a6d12bf02306a8d41b0ae812178e1a9756626e8f261ea081033c823fe986d231e5741bd8102376f9946bf284f344e399469086774f60302047c435bb50066306402306b4231a06e4bac17bbe10bfc62a6cdf4054a218758dc93f508e7d9dcb71d2f4da837b38ead310a48882477b9a8b34cee023009aec2fe6366da95eea37178381b5879cf1b00779cc61f4f798b826e634c52462717fb1b2e983063a16ded278c26e1800302047c435bb50066306402306f4e69918f2ca8e7d20901e01a8e31f5e65a0891861cad55ecb9bda9eaafe54d979c44c406193b8bc7001523104c6c9e02300e12bbe243bfbe505b7e107e67299c08bd03346f8f71c3b87c558f8c728e8d766046c6d2b4838c22a783a315f87e9b910302047c435bb50067306502303cb69ed63edc67f55979916152c4eeff5ee1c4a50e5dfd5ec243e5667cf72c0fae6cbeb91d295642273fa0f796083307023100a38e6b9af82abe1b3655185441063f5f98d94eb8e2ccc6d9240343e5aed8035929cf721eaaf7c9de4e94ee0d5b7602710302047c435bb500683066023100b15180bde9d34b102ed854bb5a7e5352879dc8febfe478109d1658102e3a413b9051a501ea0f00e4b96a4299c96b547f023100f9eaee70c30295a559dc2678284c34a0aa34712a4441f8ce4b9e0dc05a0addda349c25ede57df791ea5668b8d8bb0ba40302047c435bb50066306402300bb4c3833716c93961d8736d096e92590a40dde6c85e625e19780e79234f19b62920f98284860dae77c495913606aaa102302e429f09106d4774af6e327a2dd00d07c4c8a393887d0e001cffb239cb1e692f9c5f9839252952dcaed12f4c81b7e1ab0302047c435bb5006630640230297f000e9c6700cee78128ac044014253d2f4332551f142250965bdbe9a59f59e145ab10b48fb3f07cf7871ae74d091502300c31099ae2179e2f868a835bf4a344aa8ab2eb7201f9240dd076e1cb09b36a4005815e7dee4d336ef95f1f799c76b5b90302047c435bb50067306502304dca462c578e69e00721a2faf5b8c65563207c33184c539a3751fbbc60477d02a50100f614c16b56de5a3fc3ac7ef610023100d0705aa5fdee2834abcef589236547b144dd4711af95ae97b970c1e275ec8058b4061ee600042ffa2719465fc66ee3890302047c435bb500673065023100d19ae366f8636209ffcb1428d15fdbfa47cdb9d38c37e33b912c8cb0e6fca49d619891139db5343bc2c9e8b6992730a5023055b4804e83cb57f4767d078bfef10227f145add172ad321e1157ece02c0a2f94a79a7775952508d74a844bd8ce706b1b0302047c435bb5006730650231008a3ddcffcb84a41988ee415a049abf6fb3fcec8fd140b8dcc16d3611c2985b86edeb806f2ee3f794717cddc0e812b5df0230326cb718f3d731d272cbdf5fd19c1eec37ec9880a0ca6aefaf7daf27dedad02dc0c7b2a3afa6bd3e6474c4d87b3ec5a60302047c435bb5006730650231008888c48dd641034d3e0b7fb61fac48a44944215181acbb081d455a7931d9e89c6ebb1d3042797bcd40fa5444eff78b9c023079b30586cd40f2cc4b08d18c2a1e4b0e839b15de5707e82d8dbae895111c383907876d97d361f6ced31c7b0d622b3b0f0302047c435bb500673065023100b8734ff05fa3a2421a9e637f7cfb97316c021763178239a065a7d50bd799dc24e42cd15e830f1626d0172bfd29e00a1e02303aff5e5766392105137fd57223cd1025777df1642beee6bec28c708533a0d67b5cac39ad51fe030120cacbbfe089e14f0302047c435bb500673065023100d45379a34fb506b5d6e327e5b7c9217428c37b0a1b516b59435253b8169e850984b36dbeee679a94b7b8a6c63ec8d4e60230542297012a39398c3cfeca61e9e857a459791211694f35ff904e3409a4227a6d0ad28f1806f0b8019eaf3588b11296850302047c435bb500683066023100a25e24dc5bc30dddcf96828084d36f1299298abe5aa6ab2a43e4c8abbd946cea0ae4849416f1cc9197d9158876cfa34b023100802b70ecd26f236349afe455e89889e078c586865c8f8372e566d701da395f09bdf9471aafaa1a0fc31fe130e2d357d00302047c435bb500683066023100bc40b73ca0f8ae8f06f17e09d138a46fdfe33d4be9227223df45fa6f97d9049b1833b47c4e239c3194c98797ee3190dc023100eb4931b693ca02758aa7ba55ee5f76439518e8b49824242fa055c41188b6f10750dbf64933a5528fdb64e81ef2c28c110302047c435bb500663064023047e43896333a01b80a17ef3ae99484b6fceb74c17217ee37177c5a11c94791db1fd5413f096c8ad18717beb512eae8630230780101c7826be2d853fae59ac9cec57c51f0f92d069318826ccda973a4a2af5055f7305eebf8d47f6c7fa30d9013c5140302047c435bb500673065023100d2dd1b77eded39ecfd8d8e37cc83573ee9337089ff86deb37f626ba5474fdb58ae968e84e56dbd7d2805cd5c73b3ccb102302c38328e8f9afa42f5765aa84b63d78e7cdf0e44be963d6a68710c7c34aca16558fe70f379b57655189056d2b0ae18be0302047c435bb50066306402306c6d1949858e8ec07420d4a581cbc572b66e64b30bf86565bb383f940fc0ce8b92d06db9a28f5dcd84680345eaed9f4c023005c25ce720283d1c1f3f6def925518ad560dde32fe4accb5026578cd1d30645f50489bb26dd3c85333cc30a30b8bc4e60302047c435bb500673065023100b49ff6380aeff4ed60f1f1ba3426ce71b12e8bb4cfd98b098e0becf32dcbbb985b9e1aad4b4319c9c0ece0a597c5054802302259cab33085176a21e3343f65ed79e7a4398f98ec1d4a6b59604effba691978cdfe8d2dceb103435c18c8d6d4aefdac0302047c435bb50066306402304d557058d38e7677ba33dc8b9af37f4d1d6fb5631be1143bb43926b1ce1ee9f9252e6c014f12c55cc87f46d851ee13c202303a72d7b19c73aa1b1add6a2e9bdf35b8beb279aaae12d5aaab81f51c5ac22be6e3330432f635e6a8d054c44841ea60b40302047c435bb50066306402307beb688ce7ada4a6101bbb07d562375dcd8d0b24c949b12f607d847aeae96c9dffb232a3ce812d06eb6e18615745b9bd023029c1f8a8b87541646592d2c2512318745cd4cd827f2d35cfea626911f8452f7f5e5f4299d80e8531ee3cdf71b1feb12d0302047c435bb500663064023025874ae72ec253642aa525a8275f70dfeb1411563ed634c6049e1b4699a0d0ac61fe48fb9c7b782cffed6472b79d2c050230799ef4c569fbaaa4319ce655204872d24beafa55ce6ba383346b6596edd91123d14bc96033be15593046990fbc74fdec0302047c435bb500663064023021e8048bc8e951eac154c8a59f0a49de2011130e584cda2fc7d08769a5af0db6c6a75cfb46afd02f6d45a7fb9114fe3602305db8cf744bdb63b22c1ba1d3d2ad0fe967ce1f437b2bdf5e89dd7b81f7b8a34f4dd81c8110d1cb3991f00431b59e8b820302047c435bb50066306402302a1a54f1c86e2d4e94637d7fefd52ba8b3e87425edb4a5d831139db72c8326cf1f0daba93842b730e6f793fa060f95d70230282c8fb71da622f6e904818f749be6a718c2c7950c3f40aa81f783bc760a9c9afb4902df6ea28412d857145c0b71aa960302047c435bb500673065023047799e2a1d48c24dd74182484e3093e73405c9bd4b15a5f9c2b6ef6e6c82cd7ec5356e56044b5e6ecbe1db9379ccc657023100c03068a222b442a664d2dc7767a2f7b42bb842ac34b6dec44d64bcda5f3ec8496ea130b1325840291c2306ff66a5b2920302047c435bb50067306502304acd61962ee7e8bc232f4bb9f5dda16bd916395f57e5d4f582996ff9951f45928b0fd3c6cb0a47f542bc6587683f073d023100a4b4b4e0c88864f3d6e1159bc8135f7924b0156b6166ccce9d741d4c53d949d2fcf918b66950411978e3d5b5a719f4ab0302047c435bb50066306402305d0ccbe78fb63a63c83fc712299230791bb596172c346e969e250041ce3a85e15dce7e04580a6db2b39e52025e92997002304b38b625a248ea4a3880dcc840d15dd1726d8568d20a320f575d0f53da7341a91b06235a64dd1851ac7560b0363a8a220302047c435bb5006730650231009c74d61410ca9270bb09e9e79aa22213f8dbbb543fc4f61573c65d26b51f9d0e38a1b67b6edf673c8428ddc1842f0282023055b650ed4f3426153c69e2436f5f61a4ea65b0d01ff9b503035bac29a74bb000f3cc3632bf7e4a495a1f308cfafc081c0302047c435bb50066306402307a0d97d1ddd6ae3011a3af61b1db12f09696bd3e56e0f2360f045f4fc11d112bd47543d36b20ffbd6d8c9c58e4cc97ba02306845c0c467dcf8f4cdb9be52614528c8edd2a17c0fe412cd41026b18a075285905ee1e9c944786d35089efdd1a036ae70302047c435bb50066306402300dd59327482e2d4bd3c1c0c8b5a3bfef20b7fecacfd1d2d9fb7fe880a513ad2eee8b58a190536402f1cfa4e6774a2fff02303625abd4cb010acf44cedb04dd391eec0335e6fd39e8ec7da34e2986f6b97246f6abb8713559ca9fa2467a5fd2f745280302047c435bb500683066023100b1155ed0a08d464efce6be636e45911492e72c73da07c11182be6f5b9318fccfaf7d17e1cdb18674f0217ebfb5f7b8d0023100d6cb5a4ed892cf7b8c10cf0835399d0b6b0ce14785133a26f4b3488a82081c025e4564c18f7237a91e83e2113793d5030302047c435bb50067306502300ef84dab8db2097e5e59d228582fdba2362b45240f9e39cc97079abc1f80499517a4380be84be4493c140704208748b1023100cc0d16db6a9e215f80e4b39d91e92f1b1022b78d121cdf0e0c01b8051637c5633163967611c1ded415d19442fc1432420302047c435bb500683066023100b9e6204c6cef4ab2f3388e08595365bf006f2f38d74f99e62c8fc5f425c8553723aed782cde9fea38fcf1b4fad02c52f023100fd3cb0d916dde4f5a0a4e36faabbc7c102a69a0efdaf9fa051347040e822788f8fea386a2fb099b33ca3ed19b4305c810302047c435bb500683066023100e144b69f5f9ac47196460cd758aaa99097d81070558eadbbdfaf792d49d27043d5249606e1c65701f9e400a0f5f8dc780231009084bc782f697d19c82b1ab3a26005e817d5c2ff348903235d5d7084420c07d88d78448aa19bd40c3e1d60c9810064ed0302047c435bb50066306402306d7077287cf903a59e8f23a15d03a1733db8b1a95426af35db8037294de812fc1003de4a9847307acaf3690920b36a460230431d6ef6e8e703eec9cf044a0d6d90ec1373a4347191eb7c1d1c762fc700e0c67d3a61a3331dbefabf7527e310b34c4b0302047c435bb50066306402303b423e1d30809acae856f4cacde93e784156d8d7cfcf6237597c6d1585f15d2b79efcb2b7e3431f20d771a6a9a45979102305622335f13fce4a4a637fd6ec2a8ff568704cd9993260fa348cc2fb6862e99d5e1366160ee8b1baa33898f1302d1b17a0302047c435bb50067306502306587ec46016cf671a78a01b1158fbfc8e5c4e9066d60dd5519d2553cd65933783c9f33b8e14240892d4d87f40b89537a023100f4219a23c7df3fed541e0088f4173b33b48a149a0020992b394c6bfc7fd178de1d56fbba73c901ee9864748833c973120302047c435bb50068306602310098717a149ae18080ec3770fb1144e3e63ea436c194132304ee1cf346b84919ada2f6641dfcd89226d1f997be06a530a602310099507d3444d86e34a61e6d1a85b4b0b28ebf6a851e06a8886a2c8f6e612a0dcd845bb6e03a1e037632ee1bed85f957530302047c435bb500663064023069ad8f69bb80045479b16ade6ab890ec626be1e32d38a861bafa9b5582f9370a043d7038466512ba06a7c365f9d0fd38023012e1ded972c6e59ab60e6aa29a29c94b5a38ff2fcf87d60d1026bbdecc24651afadb684462b3a7d2f82c6ca267e873c60302047c435bb500683066023100e2ebc50771f30321f008e5b5e8063d5908b6e454965312c212125b54687d8540d056a5fdad069bcbc4428cf0de00ba87023100f3ea88bc5ec1a407eaf638cbc59d437dc625f2a5ae9f4dda6eaf081e34a06b22574f2606e2503304428491c34e1228a50302047c435bb50067306502302c4a9fc43f12188deead6dcc78e6f2d3dfb555eb029fb38187ee4e706a03ec3f16788b7a1357c12c2545a809543c29d4023100e347f9b4b44ee0bb8bc98b73a0bcacde6c1b0dd0571075eb19be95b2ae9ade0c2b30b636c27ff8ef7b5606609a6dbc760302047c435bb5006730650230622bc3a17e1ec86d7d1f01589a8e640588d066ab49861e07a409aac2cdfe57ad24d3a28a58928ce96292b0a75c39cf5b023100cda40e997db0086e51ee7545aee00ead15a9a8c3f820321e59af83a17a8d907d8c1ae12dea38d2f8d629af1c9d32d6890302047c435bb500663064023076c4eabcb3223d59c9d3a927b660143c2d772b98edbb4715329bd2224024b4d64c22d341cb54de5f4441c39cbb9b78f502303d555a98bae7349aadabbfceaa45164132835cf3d2fc3d962eb524482de20b247843b50de80d179a80a4e3905baab0840302047c435bb500673065023100b1dd3e0d521a25f7f5403a4308c522e5f9c0d6857d039a3168cea4fa27f80f28d7083d9a5cb9aa720933e6f1411df1df0230117541fc29eb79b168da13fddc4f4a17a723ddf1aac988bbe15b5b68871dba1a5ba5f12bfcb55e747dc3b891e19f4d510302047c435bb5006730650230521b226388b8d81466bde2abd6454b72b5554dee559d8ed78ea42a76914ea9b4d69c656027f4dfb5d79252f38d7841f8023100d7e2e64141da6377956bf3c45395ff82705768754fd89ccaeeb2b5d21d3c0334afe2c19d7c35055af0f9ffae9a1e9cab0302047c435bb5006830660231008758731f8fed4e6a9a4b44c61f5d16ccf0f4f2d9a8d83a3cbfab3b503e9b059ba314d6e3599ef5faf86dee0beb5de17e023100edd2932fc50d7d4759e8851e29b272c2e74317f1284a2f8b4270915d72bbb658b4154f56a54a9773554cf33ddafdb9ca0302047c435bb500673065023100dc436a22348c81388b036d864502a4518bf71a082d4df94c14a2cde0e2ec1cdd29a0372e26081f17ff053d130c9ae7c702300c66a11773b78e79957b68430faccc57ec42e003f2eba93a353fe3cbb3058c694ecb8408abfd9763dce08a7e2e754b8f0302047c435bb500663064023100d1c50e56b663d18ace6ca2e8f1aaa2d3fc02473226f402affb339a77fea1645bb090455341ec03baf111209cabba0a13022f25408de1bcaa378767d01eb78e8a6603a8dd9df5dd5c2fd08f17ff1c57cfe18ba41f1f23ae9cd8827ce2fa276c5deb0302047c435bb500683066023100bcc2afc442d7ef2cbea0ad05573684f22377cd92dd3d41203996c5e110f6a36d588677bf35693bba30bb9d5a192fa5a1023100b40316ca7909dfce63267516860a0533724876ee548cdf6f8cbcd1650c357d001c325ce29032b9df35b1252cdbed39ec0302047c435bb5006730650231008b941ade9ce9295cb66a05d9fb3b752c43e2ba469ad2a88e28baccdac6eae0dd48c2d08a29ab96bcdbf02fea8e2cd90802307d353131f86d3ae9cfbbe6aa54ef002efec9624c8f65cce470d0d59363a741781adb3325f937538869d2d8e105efc3650302047c435bb500673065023100f4c4e446073baf2d04a27097887b0e28c3e4fb0358f6c96e0e4882d44edfada1811c639f33a1f409a5398a436f3cdd5b023077ab8e93c934bd81e650dcbd739b05f1a6dd9e7a0151c3470d0261c0e4d785ec9e8a5c861a3b519ecfbb68691e40849b0302047c435bb500673065023100e4f931486d490559facd6bcda605ef6b45fff4df5e0894075ba477cf5591bb083f80ab933a37fd1817ea148f6a816b0b0230780839452fbf4a6ba17afd87666182a88fc47cc26b50a6453a8dc5a9d469316bb7bfe2c9943ba5b9e2cb6bbf18a97c3e0302047c435bb500663064023024859d43e6a3c4d7fd82e3875eb96537b0b17e1e9e34cf76bbc7035943381fe341381269bcb881a106fba9330cb3298e0230716f5ef606142d0638917269c90de79d6e84eff562738aadff934ef7f08f743b3f5bb25bb42bfc4beefe151d60b695c00302047c435bb500683066023100a8d16d586b1ac9749473db39694e333e938b0b2ea8d6466f47f9659ca76751463076e8cb2c46405fb76266f37051faf3023100c0e4b7aa72997c72e765196f795dbd70cbd190e7b1dd4408759c6703e0a7d800758f7e9eb4db1aa72912bd82d50b51c10302047c435bb50066306402304219fd343aff484233cfee5af30585a478592cd728f5a8a836b13256eb43a6887288286ab238aac5fc3a14d44cc3a9fc02300fee167c591df472a2fdd63d52569f01f7dc474449ef336e199eeeba005d3068dfedabcb332c907c78f3af25387f1c970302047c435bb500673065023034ec1a4510f254adf299a05b78ccb1c98e9ec211712900408487bebb95c7521da524163d5cfcb8c71a5505a6968b31f402310091ae0b4095ac89edab5652d108311d7da94f34e8b7c37a966b9ce963a5a93d82d4683ba88e3fba870f1b321bfc069d8d0302047c435bb500663064023028ca39b336ba28c7488ff30a8cb8c64ee5892586670f2612ee34fb487c47ac116d9e28c68a7cd72384014d45791f181b02307f79844ae87391de703f7c8a6f122128ff980cfa56edbbaf9fb2300ae2e64de787d769f46e9ade2b5d44ea34af31afea0302047c435bb500683066023100e7e4c997b424ff42b34d6cb25380b30b006f01701abaf9a8aee1fba5588e3443416d74854d00f5ff97ed1a88e7f977c3023100e75d5b0d88acc56eccd006c19be3e59cd0be959c97c20caa000c8054ea1d2e133dc781753c78aa963873d0a0ddd92cdc0302047c435bb5006830660231009f402d3800b56ee20ca42e0fe23fd8848688e3a1348487e8822a584acc857e934f1ba46fcdfa832293947b62405f565b023100d638e5cea1e41cadbae826dcec4847e91fd0e180f42f3312f4407a93fdd70eb28be6f80d67b7106c6995ebcf69db26d00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008c49412466c375d941849e647a16ba2f11e1120bf2b182c9df282170fb942a53f3fbdcf2b7221723798e06cb0ca599f2023100fdc6558fce10c03f0c0d6c55f09214cba898f99844af992df9e1280bacaef8fddeb01e48b64fb7b94c39da9f465edcbc0302047c435bb500673065023076b8ca11058a91c6839d77ce32fc330a7127979daf05963a8c613f4466f805c8cd29b3ea9a6d45190e588feff1158d3e023100a675bf3c04ba2f0035eab6a560d60c3f3f45c33ab8554ad75f16cebc7aa97ceae3302492fc25b59c451ae68ffec1c2380302047c435bb500673065023007f0f5df9760ebc51894540452a05559849747247d165df9ca1a38a5bd6170552395520225aa1ee42b12b60892e8e77c023100ab67630bbb3f9bdd078ba3cd8de6c2d8e9fb96da2bc5aa9a7a12d51fdd6a6e65164ce2d2cd6f3d91325df5a68013b1230302047c435bb5006730650230245929fd43c2b1c659ee18037f92b3bb43a79d2c50726ef9ae22f559bc664e6bb8c625c5476d676fa1d6defb1a6ace75023100d3f200777cd439091ff7a5ce077a87cafe185d29937d06c71489a05d2caad3532abcdfa3532c8f58b8a777a7f96a37770302047c435bb500683066023100e3997a9d0c2be0af8e7bc5602a505f2e7ebe5c1907c8576f8256ad01e3a531f59341859937ca0ed99983bffb71ebfe2b023100d9361d7a46e6098d90236dbba46268da6abfdb16eecf8bc14672fe904f30cbc4169e22f77b262a1eb053effd61edf9800302047c435bb500673065023100e6be21add6c97c9a81a7ce0196be1d0178e22f92b5d6d60b4a9d03aeda5f1e1da309230f5ae6db1fd4ec2426a085161a02303796514b85a96e458ae8796212b2c9719f589bd04e3e9b1336899cd8fb39974e493883086c1dae78b802b2c75f48c1310302047c435bb50067306502303ff0f700e75a936037a409d56fc6503f4b88fffbe02ef08d4d94766b5aaa0094e4c3e52bea4b03d376df6d094f4a12e7023100af11ff79e898cd04e93a18665332c6fc0fe8c0ad6eecd894fe1df9105192569ec053f75bc6060e96d9c926c27d6070080302047c435bb5006830660231008836ec7814e7849cb595df87a7da97ccb3c96670d4d5f30ea79ea0aaeb891c580f6f41ebfdda7dd3cfc2183ccb995d29023100c419fdc3022d54b6996112a5cf5de71b3dc09d723b59705c9bb564904819cf3e26df81304ee0e3919d2050fb440cc3ee0302047c435bb500673065023100b8914f7d907c478a9af906d82f207ab2760594c165670867d5cc4c62f6f4d141690c96a282c24f493207fdb9229b9f7f02304f72c3b38a40e9150c662757b8105da28f02d43fa940d50c4f551902dec74186df0a9cca7da8ff9170c56c8d4b8a27580302047c435bb500673065023012834564f2f3408c9588638bee166ea32b669d206367d25640b29b068ab6e66a578a624b25de81d8a0b886a0fc4fc7b8023100c35b06e504e6377114fb398f05e627d19da33c78f303950d0c136687ee1f6e8cdd151d4281d9d94fbe5addcc820115ad0302047c435bb50066306402306415cc9363adf19d464dcc955ffebb6e3e82517d7ce90452f4ec44124e3d3cbe6c8574b3acd517a461e8a43874e2494b02301b176d96c03cf33fe6d63b23ebe760edcadee2b3e2dcc4ce7583eddb3aefcc5620e05627794f89c5be4748c1107acda20302047c435bb50066306402301a5667fc5d2fe4f9f5aaaa6ba93b1956b6d61af911196bb0db4f986b8bfedfed34c7415d50571ab941e58959989ecb02023020b9a9bd9a74d0f69d9c0e5cef752941939d7cacdc81aaea6abdea192035f38681d2fd48754f63c743757b5231c25daf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b8e8863d3e0130e9c92234c8ad0fe3e1cdb629b87b55fbfaff2b1c6dae51e63629c6b7e0f748b37033455bbe274e653f0231009ae80afc52e35d86232b4687867443467bed0d87a97e69a7bf4697f327d45ade3339fb1f002b5751824ad187691e89900302047c435bb50068306602310091efcd32c2c366dd77e3ccb9b2bc97bd47f62af94bc9ed0695af7cbb9f2b7d567ee1dadad09512965394c90c625a0258023100dc92752c21251544ccc1db101cbe5a77fdb5d8aeef8962ae19e381dc7dbebe4d2c795cbadffbc3094b3e485cebd0bb3e0302047c435bb5006830660231009e5306883a0f6941b568fc2d5fd99f8cc6116f09a83bb2652ad8a45cc2bc649e1574fdd3146cc4e22832efcb60663ac502310090be96214fb9fe33c7a09e8b10a5533e9d4fb4d78687e1915b7b8ad7a0c05238459dfd9c30f71887f026e0316922b9860302047c435bb50067306502302057e00f1be96350212cc10aa84031a9f7465c462593ed33a23e56acb679ca4e271cd971f893e42854fd461146345e09023100de87d657927249d067efd48a6b3e2bf966215c26d4a17c15a3555e499c1915bc28f3107e8a5c790b5be8063925f348410302047c435bb500683066023100ec3e931089dd17cb48f282108ae09ffa9a4469099b6d8f8cd4e4d4a2245b07fe0a52c47c5e7e602b060a8dbc3bb8bca102310087903aec0c015276a9aac1a7704311f331152f11fed6daf1ab1eb6fe8721e7b220304eeafa1562c024aa0e7a18342a0e0302047c435bb500683066023100ac5654c117fb13f30db9803b13db3539e2504dcea31067c050966fcbf3882875907719fd45e9e72223c2065fd13eb74b023100b671a44044d27752f44338f00172f1d18d1ecf3e6909b09901e6a845acdacabd9ad720ab6c79b79cd585dc0e2f55deae0302047c435bb500683066023100a8ae5b6c454685c5f0606d8131942db992262882900cae770256ad8de8c5a51624279bfae90149de318c840cfefdfa02023100bdb9f92c3cf8a53d9bf545294711413d410c6898e1f4363a7ad7a0c7c085f12f12141923303049c064d4f5e13653821c0302047c435bb500673065023100e344352d290c49b9c6f11edeadfbe7b7772d8fd482e023755ef944f56406605c0d2fdb8ea238918776311d7b67d753c802300fc022e2bcef2c702b86a082a98545850ada508b6f05f0a78506b1c928813d580d2b45e17c4e12b700fed5c85fa2097b0302047c435bb500683066023100bc7b53c8b296dd4746fb8e608e73fe42a953e6d3f5080ff89642119c8bf324a671ecbe7179c05fbf1b077809359fa769023100e8355d7b80a9ec698c8d2a1772413cabd3d445a41f3826598f96e08eaad446c9e72868986bf94a3e1171d3ac9aad3e550302047c435bb500683066023100bd3fe7c6b7d484b54f00c798ead9cf62212dcb93bd7d679a65e3b9b2e142a3afe9923cc7097fb9d6e21a9f264d6aa8d3023100b50dbaf9007071d385933ba71a8a3260af17a35633beb754ef334b6e6a64d21cf42c18610dfdb5860ead11cf1bfb477d0302047c435bb5006830660231008568ee6668734eee02795b22ac8b3b46bf244a033aa056cb042ad9b306d2ae269a1389344a15d085e377e1808e5e0dee023100d099a772a353afe20a44f4230d35ae9f4c6e4c9370f4b75b2163742fe1ef804a5154fa4184cc4a93b8fea2344d0539290302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306d7f90c732529b87ec4e936563b502565821ace1191da496c4c85113f2053813b02bc2b14edf9f255379e818c7907abf023100957b3fb0f4689eaf465339a1ba8c5f12da8ed8b026133c72181db9d36659790f42e925b28807a39f403c07345676b1780302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e12c81288b3cf1bbff0170ecfd7c959055c5434649cd94c2163a6ccac880df4e488f63fdfc8270d02278ae282bdd8a0b02307cb26606929b281c613cada78da4926d9405777d4b22d2f90dac53169c995620d29eed09aaf9fc75ef6b7bf08299261a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023042d0988da608d5983295f9fa5611e03228db7dd1ca917a166780eebfc4c207414b30cb359582ce2cd8c01ce5e8a4e6f7023100cd2f43aa73e9b9e16f418ed76e24d0285f30107a92087334cca68d1ccc63a21903fda4b96a5f8462ec8f3061cfd017160302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ffa94aebdd9d41c664f18af499b7b664761b15d0bf642e381287b99de24ae9a184a6e7d4a5d09aebf6fee7e6eda1787a023100928c046733b09fc2c0882a6f0cfde33b77a0da384bc3bd3b7ddd0f4d39ffd688b9b6c32fc7ff9dd67887e5e00eaafec50302047c435bb500673065023100a6fdb77c62b644c6ec1d324fb5572492ea8a1d55f743a95fd51367a5064c4c1eba74702f975f93430795d88b78f390080230506ef4ef5bcf0822b274bc8d70a230c776d1ad529f9b6f0fb41dd12f70906bc4cafd0a478b7040aab1c1b3e9a886febb0302047c435bb500663064023014714026f90205d6c9a7551246560a365255afc86ca6983d0a43eacdca14413aaaaf5016fea7be2275c490ee2d53fcf602306575edd7278c53c81f863a0b4bcac832a3c585db6d61bc334d6a62232c5b680eab15c8b8db7c01b76a01070883acc1da0302047c435bb500673065023065dfe45ae7558bed6988b36086257921c9ca8a23803711af4443163aba1c6faf4559d4ebe8f3ecd3027ac94ddad88a44023100d5d95b133b609a2b510075c41992117ce33e83db3ded17409597aaa17fe59b0d1c55f852a2d71629cb8f6050c89796f90302047c435bb500683066023100e665b5a4147cac2ae6db81d12785f45129d6b3b012e393ff40d0bad2aa185bae8e56635903d0dadd89f18c01a99e8d9b023100810e60a849b4e5764337c5ed450816da04c6ae52b70d51e5dbacf69613a87497b93bda3ab20ae67954ab889bf4a6d47d0302047c435bb500663064023055a81f1457f859726a418d18b4cfeef1b6c5f82f2802431ace5b45bf0189b88ef6af7524e6aa591195f6c8d528b54035023068f3b9e8cb19fcaede347c61d48641540ca2484ffc830290f717cdee21752de163d019a5d1c02d7dc33be49de01316040302047c435bb500673065023056b1ecc8e124059fdba2c156c3d6e04af9c0a7c9a0ab8ec8a44c4555277831a79a8606553c6203e272ca7ba85414efe6023100aadd1f367148f5687267af8539a8ffc0aa8a1276a530212d3670b3050e3c76f04e07dc76ce360c3fb750052a5e2ce1290302047c435bb500673065023100d7d5a9860d125742a9498f59263e3f25af0ec3834dd00d8f8675cefa4374c3f6b11256c13c964e809904b5863cff8ace02302a81dab0627c00571cafd8ffc7b72d1f060c01d1eeb6cf065ae921714b745903550110f7ec51cbc7e588bb3608ec4a2d0302047c435bb500673065023001548df3f572595fcffcc10c04e1a24b82ed76f82a70847b942af1328fee4296e3d243faf6d912fff814a0296adee88b0231008969148c5250b6b8cc6d67a8b198c528bee01342884eb8344b26751d7eb3e2c39ac4e3254bfb0acf6bd2db1c1d32d7620302047c435bb500673065023100b854b16faa4359e22b7c593b403fdc6333d0845ddb189c1388deddbe95467ce0193ffc78bb4bd430df32e89a3d1b840802300ff9bf777fd8816c877492ceb5ef484bfa3736dc7e898c3cb933bf58240415ff07bf3148c3607226c502a0b99161485c0302047c435bb500683066023100914a9cadb2962bce3de37e401df303c252a8443b1cc307a683e618d23dc8b3d07e5cf4a39fb5c7b4fa08f945616c97120231009226c0368b6f9ec6aa60bed93bfd98864e0ed3c787180d3eedf7d8d6f694096a321988097766698d941531fcf2231d6d0302047c435bb500663064023065cc3751559d86b5e3c4183a3a532d979f332276c47300c2c342af8c28914ab402134d6a63536bfce175a5847e7a4b9802305fbbd4b9036ba0166473876eb6315552ca71167b0f830813e9f15f64fd067737d365738ef4e655e470ef621bfc2b55aa0302047c435bb500673065023100b0237c99695500057e93f6c57c37a6978a835c7b2f89fb6ad636537544a4dfcaa09875d6b742f2c650c26ccfce95ef1302306f49dff0f0a55d09d2442e3d2d521eab64da0f5adbc331ba5521c82a9648dc515b50e546fe8e8fdce5ce2fa8a97140840302047c435bb500683066023100c4887d18993bde8c23b90aa6927f921cc7f5192fb79fed94eb3b03904e42531a0af17904e5c7477a5a2cebb9a5734993023100e5530ce8c7985d6aab0fdd535b5328f9e9f515871464e5704b0485b0d442dc81258f7148eb2e7672059907de5d8f01a40302047c435bb500673065023100bd96a24f75868118ff6bf6882cdc44934447d6cafc2c32cb9023578fb293c17f04b32324f23878c1097977ebb299f937023072ca4c1dd4a7c517c146e110c2ad74cfc5f3b7ca707a003bdc4c94b9abade778861d287d85c9789c21dab9dcf7a6de950302047c435bb500673065023100c0e821abc661a92c6db0b4e76e9d41e5383447716a828278cf186856b6dd8871de31395cc775e467bcde3ceb6bd4dda302307bff19251a4f7b8983630b5f6ef964cad9c115288c9e4fa63ed283df2ff454b1267780defd2ec0d31d5fd6d7c177c01c0302047c435bb5006730650230412105ce18d053dd186927b3be048513d9cd272b619cabe93557208425b37e6ef49c4c2fd92a86209a247624d6f5a455023100fe6f5217d2aa93972928aa45c96582c92412e20c01ad24ee2a5e638e552b59a33e06951e56dead3074fec4b597cb19b20302047c435bb5006730650231008559dd40a4ceb8a1a4ca1a4122773f3cdd113dda84f6556fc5519ee873b5dc03d7eb6abf6a5edd806c9a9b0b3241620002305850d130db93e40711e753f62bc38c7abda9ebf89ca705151615b249ca6c96c17052afb2a0304a28e0465a5a0c1d30b30302047c435bb5006630640230510903c54095a441fd587b2b3cd3ace032e9a915df17159eb4fef80f56f5ee19048743d3a869ecda48c10c560ea2620002302e195fb8929cfa043bd9be18588b756a92148549f06407afbb9767034e3af82bb7ddf3acf37242cdceb0c2cb2ac201ac0302047c435bb50066306402304063c007e464dfdd9da3d3b2cc97c9a3e482f106e553643791cdcaec80eef5bc71876b8b4bdef08527c48b2a27f2b2af023056bd27a5cb9d5ee74410064b019ef8c9867b2dcd345d5768af765b7743c231bcb0b3f2e0f8af938042eb8ce43065522d0302047c435bb500673065023067edaa3e7ed8a71235c406405e7abed8e8f72644adeafdfe9c4422c16db875a94baa715b5275cbf96f9bf5108872b032023100e236f4efffdd1ff053540b1b333a72e8f1f7cd37d8b79949d1d2903d7372bba133f83cbcf16ec1e1aad7948e4e72cbf50302047c435bb50066306402301bd67543237afe9338314e737395cca4af935ee51b38f9f75ef62366ef6f11b5ab7d04c27937f1f78feade76a9a72252023009af6086e972804cef27df00e6e5f05d412518e2b43dd2a2cf5ac594483f27adacacdf00307333b375abab4e890121470302047c435bb50067306502303f76797837e6d11f1885e3df3e0275a86149962b504740759472d69b6922670402908de29701e8a007ddf4c294a92d16023100af5ded0e9167f5adf0fd3eb6027c14baac5de056fbffdc806301ccd143bea3c15c78c72e5eef181ed210ea5b9f4008160302047c435bb50066306402306d303be2204b3e28ad4b33bafcd802f10d2ce28b9b526919c2fdb6767105fbd27119b60a4dd8df9b00f3d470f21b39bd023020430853650a3ace4db9e643ac91fe553d4147fa81e17dccd679c02b859e68b7dfc565edd72b8cef95b2c3c6ef99f9b10302047c435bb500673065023100ec243219db5daec4d5b279108e1518a3daf3e5b3ace76f6bdf06314a543032c048cc12a76141ca783585f59661b0fd6502301d76b331c8d86717000d0e4f68e1f22ea232c628a0a89109add753127e1fbb4ce1f0ad5c849734c7aa4f0e6d0548a3df0302047c435bb500673065023032690fe8055653e563fc770b0ff8cd8d5808a27813a222b7631a9e5c383833ba21ddf8fe462bd2aeb753e17ae59f42f5023100e1c4d6edd7edf50409305cb62abc6ba51c61d4d2afaf3ba3eb3fa51d4945ede29a12a1bf5fc9582aef091588ba3a0b0c0302047c435bb500673065023100e761008f47fc97beb138170d735db0e46b56ead5626471887bf9cb7f4881336779988ec0ff4574476fc9f4fc7e0fa03b02301407f52f763bbef14532e302f44abbc0ffed27770e308f09133d2ac2bd449df176e963284fded61963c5c6565a203d800302047c435bb500663064023032db25f1b49ab49006de574455f51c509d20bed3d5f49c991def9c4d1a340ac23986b502c9dbf8f00d2cc4b76686e1280230717655cf8aecd62c0b5689fc8af443acc5b668beffac5a86e7f9ef58b451b8d4cc0eacc7d0d14fdd202fa0482cf44dad0302047c435bb50067306502300c97f30fff4c34fa9311f3133ede15348e3ca7b015d15fd8470121bf5efd740e34eca2b6456e13662a717117b9a85875023100f41f56a35cd687593e50afe3db2d58eaab0a4d7a540c7997af5feaf27ca10e4df2907204241dd67a215b70abbece0c8d0302047c435bb500673065023100b2539636d75e4fcd1eed4d6a59b00f78dbc18812dd657c3f5c4b19f10340ca1bae1dc11bf493f2f145c96b258e62f0ca02305db7c6a6c174201e32ca44adf79a2de494398595a0aa0328b7da3520e715db6dba76ed25597eac11c63d7f7c45bbd75a0302047c435bb50068306602310081b3be6840087518ef76384dfe7fe218e3beb008f4d7add5126cf7fedb7382a1db37e6ee78088b96ecc0ad19b4aeb430023100a665d6477d89bc023535e42d1f758f4dbc33705867aedf2e87ab41e7e98f0744339072be5b1d8354591bdc78356bfa510302047c435bb500673065023100c7243eac55671b6ee202da6d8dd959b536ef6985975cdb7edae515bc0c58037c46157a84754fbe32085f50727af7bbdf02304d19b18b0ea8dd181ea9304c77cc53f809a2b7c9e15958882e8bc7095b960272db6a3e7158985b1aa389ddbac680f0660302047c435bb500663064023035afddb1664843c23cf695455c94e4a59ce8f7c0870a5f05e8ac2990f23887824861a9761ecf16a936c8a501d91a5802023006519e10bb3ec71f4ae4dea5b5b139f579af19fadaa0d14690c374c8f1a46b8597fa0f41d0f9f6b815513ff519f12da10302047c435bb50067306502306f14a3a527dec9a6854cda07675fa341704d1268ff7514a22703fd95439fc50d3ec496e3a4318d330824f5a7c823a170023100e4b50608ab8588aebc665a570c8ff7cf3626899a1acb7c9c9095f4400f2099c5d021c3b95cc9626ccc11a9868aca0d370302047c435bb50067306502305eb19af2ff9d7a7cec59ca5b7b5ad461f24a7d2690eecc3be21547101af022c577c739f85a980199479160fe7dcdc8e5023100c6252544334d2ab0b3d258c494ab7d4be401f4a7e915d288e4b88f3fdb978066783c9af5884ef1de4344f8e8d45a490e0302047c435bb500683066023100e10dfdd88c5a724251339d27cdd47af6fc4813a91e516aa8c37d8237bcf7002d3555635d240d7a02b960596ca91c703f023100b2689bf36760eace9c081302ec8e3b05304ff5196ba54ab9940e7dad4c43cdc5ceb681baafa76322727517983fc4d6280302047c435bb50066306402301f1ee6aa73e1fe71a3fb926607d5346f2d97db51fbaf14e083be8332ef00a59a9dd59f688acec3e9277dac32ce83e963023063b3ddd26c1ba11c960a73bb01fa0d6a2059daa24b40e0f2df28e0bea0fec9780ebd329bea5795561acbd51dc3daf2250302047c435bb500683066023100ec9f3f835a53b32ab6ad08fb49edce8c3d6c9acddf4907bb4c100379ab57bea2a2a95986dae6aa634dca6ea4b69be664023100e8f6628789b43d30dc5aa3b010a094337dab09021721150d051d81a94353dbd02a62547d5a0e7d9d8fa853ea739c347f0302047c435bb500673065023100d165618ede18d03cf20c38a7e8d0a7fcc1e914c1206e4e9fff737776961ae4436a70015f0a1d18fc3075ccdb01f63857023062096561af09a7b0124e96c9e3b38939e28514dbd4e86e17e75b755792a5d05a3f9aad6895d9fc2edce977a6322e33590302047c435bb500673065023100ceb9cc8a4f777f564a8f20138d7d92750f591878477b03ee3203ec6143830b24e6e0ba2a5fc2cbd8f433832aee9a98310230382c60ac5f4794e9e68ccb384988ef4407e8e45bd1874a906c14a5444653af100c9d16fd971072c06dd54aee4947b8a00302047c435bb50067306502310082bd921de8a8c9c6dee6a5a5b28fd4626bcb7b23a97431c14d4702f957bfbbff379c43978e30d95ec944ee5b9661780b0230021201b82c57e1568ffebe33803100c931192aaeacc4dd9ce9b5799003b61c0953c82ac26f37c4541a0865fe61789ffa0302047c435bb500683066023100ed5ecb0bee6cd9266b47528a84facf06fea01a18dbc371949b26cfa2baba5bd2c022e32770dd91b17e3df41d2f597838023100a8a230452ab2a6ee48d1c18610c4dc0fddc13676b6839d5e351ac8b0b16f03f03c89216cbe063abfc92da2175e799bbb0302047c435bb500683066023100e280661bd7decbcb78ba8f82357ed3cd1937f3d421a0a680c43c825aeba169e0ed5dc7d1f17f76051439afca3c508990023100e4ccb62702d86c114cab15ef329da12355f311133b363ee6ba38b93f1c233ca78c4497e56ebc8d9cd3a2ec311dfaeb560302047c435bb5006730650230598a3ef99854ebcad1717bc8d7c34d6a195293f4f9f6e72f0a59956fedec8e65b28388453ca675d966dadbeecdca04e0023100ce963dace894ad8adc7b0ec6cc0c1a93129977df56f318349c24ea3454d133a2fb0c0372979c2131ca0a0d1826eb05b40302047c435bb500673065023100ea9c2b7d33b0875ad0b3fbaa0236d6ed2d1e6288f4ed4d6a9b0e9c73d4bffc4d042a8d89f4aa2084f3232a3deb5ad6f90230332f9d15f83cb2eff528c4d25e60422b3c2705bc152f8aa65eb81a497412d20a574efe5d33a053b6340e368ac410aba80302047c435bb50067306502307ebc948749f31b701aff1d3f068f8c1b0c03bd9777db8215c0134f907418a2784cb9fb625b4ac1dfe8586bc785db0eb0023100d70d1760cafd9c181fbeef911d918ce40efd2b4dc2cd0ec1d57840bb72f9a8705fb252c398742c0e06f52195fb84d81f0302047c435bb500663064023005162bf52bfe004a2750ef74b5eb17d7733aa25717b0b3aeb3209ed8c468f0604b4a2e737c1d110a987b2f08d07ab08102301204d8b9425fbfe1ae0b132e4f804e72eefc249357b911bc792f5f37c10bf77f1d66311ce161e859cd069e6e84c049880302047c435bb500673065023100a32319e1c443f35d222082de976152b856a665e956e407f627d2d875a34ebf7aa2ce86d4472b3662db9e005a452bdc9b0230099b92745a758a0c2eb8939dc857abca4de55421fed0f8f02d4e7fc8e47d85954c067ed50e24834dae752dfa181513550302047c435bb5006730650230301ca7265475f1f032b007512406952128a54eff9199b390d1428a30539cdc601a1df398e342c7acbb6fc6c682ba8d3802310097cbd4248169c7e3566dd86700a609552a47c3e147fc1662829b16c8f6a663a3eecca6e34407189219c47ea12a1438b90302047c435bb500673065023100df3b26c7289eaa5cb25947268a687269c9921225db7d7f76a7d57c2e9e11a4e971bef7a6efae516e74ccf5fd88b511c2023037c64d17e14a2f148a1f76d2b3b3415ead682044950e29ae0d02e3e835961e4b4ceb2ea04bf07f263b8760f4a0ebc97f0302047c435bb500673065023072b9bb15738cd8014acd8fc4d3c3e4fd15551d0092875d001ff7501e3fbaa1e17902b39893c2a0dd56020f0b3275f9d4023100c028a258ab5cbac074d1c319786e7234b5f355e7a5716ed30614982d3f1e4284c589e8d68b306f47de40f1fe5b65434b0302047c435bb5006630640230115135244cbfdbfd04302c403b9927b1364718647c95ed68669e9ff658bfb2fb92d20c041703755751c13fa7516e7a090230167b8adbb16cc9f2212349be176c23c150a28a5264d0182c208020e7d5b001a2656eeb14568b2adefd4a00e339a9ee360302047c435bb5006730650231009c98cc3a869644c8a3b8941363a686697255bb2860581f39dca5587bec698b6d5b607cd2d97e7d46380e287264f3b102023077e163cc22236f42d035bd8f4ef5a6aba1361b551f310da9d49b5ec38c42c8240af3a23a5a82e2236c64d42090e201f30302047c435bb500673065023100c51a10aa24290152c63ec614fb3a2452a4ce86243494223fca57f176f27071e78ca2d2f422c3fc507f2370819147096f02300a99f15c7c234f22ef8eb89cb7a94def2a553b3a7b887dd8b52fecd824ab6fca89e3ddfcd8b10abcbf92d5a655edc66a0302047c435bb500663064023025b24176b280f43ad45c9899ac3accfd4eecd9b8d07df700fedd9f714dea7b596b4ef4d7e358c4432c71fe854f5d189902300940caa17bc46f65e6f7511b0b66be34abb0dc9b8f51aff5f223cb83cd1e4c750ed412a38b7d52d22040390dbee9d23e0302047c435bb500683066023100cd4a98e1648e17bde01a3a3269fef4c6c399b223a69cf636b7d7c066996374fac656a7d6f20f19f55c16bd4761f6e5c0023100cfd06ef6de6953bb3dc2e08e7982d7ec0c0555cd915b338b96968d123471d2f8937b0a320b3a4b63ad117b2a9d71f8b70302047c435bb50066306402304517c6946b27d05ad3def52cf3d1a480dfb7a06887a0f48b0c727f07460b76979d24767f98862692c383057d160fb62e02304e39191e300315b8540e31d3bd2c1f5fc98d9ad73b788537d13717a60087d3805c59d26e6f7901a61d457d612c9342910302047c435bb500673065023100828c885ba28d4fa797390abc1d8052d855bf51fb63f5c309e477432b8402536424e09d51b4533f3c91362ce55e98bf5f023042a44224f160fa4834b96da7ec42cb8306fd93456c46811d0473fd819fa03fcd79efc76560c884d825c42631589067cb0302047c435bb500673065023100cebdcb1aeac92505a29027c1a211a3a62157660b6fb9af6093462f8a6a0e4be8fe52bb19ecc7bb2c05d9a9983841d95d023046c7964cf1b07cffb6925edf560db091a4ac254fb9866c83fbf27b1023e5ce92285605450ebf92509ffbfcfb282a4c930302047c435bb500683066023100f63b4ae6615efd9f3f9a0ce3df4f5a44cd668292349f329e15f03bbcd0a036c992113a1d587a625b2bc2871451b5691f023100d1b3f9363e623aeb38e977445e05569fe5f8b0812f9e87f74051de89ed12a951796b8d0ff5bfb01c9eba87507fd1a22a0302047c435bb500683066023100857ab52752e6567c704976eeda86c87ab3823e587cb9075d0e13fad40f7583a9c9a4b7338453670cd0999006407bfee80231009fb7e07a6f9e16cefdd64dd3b5fcb4b0d1b51f09ee1e347c449788a201915d9eabb749f7a28ea48362d6d64a0152a66e0302047c435bb500673065023100afad6d5bda105982e00613d9f0c8c854b939b5fdf14773ae1a214b53969ff7908e4f3f2a95ae9749674aba2f40c0bbc102305cb70b0528d42c0d6e8c60483c57592e85e98bc70e6ac2ed17f6fcd8cacc377ecf1334d6f91f45372f4c8a262d5a99630302047c435bb500683066023100dbe65ddf95bee6e675f48c4287307d18af8711eca879e08230a02c0a5c9716c91fb8e93f5632e8a2459188d63578a1ce023100a03ccb8e6643b920d34c4f14b8206224d3d4524ffddba241f6c8f1b90de8d7491e283fb21a4e2e97ee199f56a5ee0b990302047c435bb500683066023100e2a151fa048b7284de04e70b9c6fa967cad6c8fb8d83a14edf281e6e2a935df97e113129c4942db90b5c78d81f85e0ed023100bea0f3fc821e885471fe19c497c3a812d365dd22d6b276f5b643934962288f7fceaf750151da11dd2773802bddd0ea2e0302047c435bb500683066023100b4ec0d54c7a14c7385d9182586b7d0cc03df785a00f61eb78a6e8fc27c1c4815414fb607799b3de52b0bdd4274ab73b8023100dc26b8b355dae00bdbe990c65018ac4e18d73f3d05bb763fa01e5ee950ec3e63513153aa24af369b02bdbce5336994190302047c435bb50067306502310096e934a9a12d9b3be32aba9ca50b6fad861b0ab0de28aabba47d5f3d2bedea913f5ca2b9d174b3996d87e95e4397a5e902301550061d06c7547f1614460ba0848d7ca7a9dcd71b9e197d29b54028f6b47d9d6c33331fdeccdd9dc9c1980f59a6cd500302047c435bb5006630640230709c6e4ff989fba5a37a8386476918baa605106004e9ac3c6651f2561ab46a3a6b1cddf7bf8f13c3f779c82249fbaa9d02306bc449b45761d34910c6dd4e805a703594ec129ecdaffaa72ff06288eeee4027d1da3d61e08ec907e90017386395610a0302047c435bb500673065023100b7e2fb57ec0dc3e83c905daa81e5ed5a010788a82c538a1f6f4af369d3c881477820ef22f75491a3202593045e03de790230346dfd2fc49369893a213ef5f16a807160af20e4dfefc85f3028eddded43aa5bcb7abdf8f474f800d07f073a8b62b74d0302047c435bb500673065023058ec4dfdb7b9661c9c9a97be17382d6f46abe740ae413213595c854c73e57f40c871917054634d599a23f5570221cb76023100c552ad8f4a025b889f22ef41ae6dcbbdbec9ccce9d25ce7c117368722b7a5cfeea0c7a991fac4e42f45066def91ec9820302047c435bb500683066023100d19df5ca377d8f740864ccdfe0bfdfa752665545227ad6eeaf482ef4d43667f915c8beacf2694e54eb4e3825e5d8e9b0023100a5081eb73928a7cfc79005e6bbd7fa8d27bb351f569c6ad58f75a5a406feb31c76f923715b1e1444ca0ae1441703a8770302047c435bb50068306602310086c0dbc2b40b1ea569554df62e17f02d1de8d1cca1479682829062a48edfae18b2484c37e9ea35090d235ed431f78b11023100e8bc26558493f7a9227a04ff2f3e1398ccf2353626fbb5d4a195c9aa08a5bc008c1e62140db9037cc507f86a086a39200302047c435bb500663064023022d58c30a36a85a23c13fa7e6fde0b3d12774ce75c258b7365763c90caa2e3bb2f0a688db5f34ef73b8b66dfa2c36f1102304d77d7995f4d30d1af20b4f075a4d8e51ba9ed9fe40271156061bbc12051b7d65c16e6478099fa462873551cbe6ec29a0302047c435bb5006630640230698fe66b50622f62de9bd6907c227b029131de3477dbb851b885f0d943fbe798e87db16f8d1df99c6db38844b0c7cdd102303fadf8f9e67d9968575a8522facd652930ab053006ab080535bd59617050f3ed210c261b7048e43124185e424117c3620302047c435bb500683066023100d16e91a8af861956640a451951b9eac051608ce461da7a889d68513b8125f1e20f40897be251bf16add28c8544e575c8023100c2d391b87cf2a38845f4b3e0fd07818c35f9d88088c3189b7317eb9efb2dc3bbe773470751efe9884b1d48262889e7520302047c435bb500683066023100ea0766c5b4d26de095de1a37065176cedf5a6f869ec2e5e7fbb85f8a2097f428f92e92cb38deca3cd194a779285f743a023100b0f20bb0ff31b9376cd59f860170dafb5ad021f1946fbc57b07e15b0c4329ad63366c911cd0f89a567e404b92fe38a7d0302047c435bb5006830660231009dcc13b21f9022f06a539cadd0f1d5e6a246603526136e9c3f6aa4b4a5ff72893d81fe32aa668adeb0dfb7cac4f92802023100a17f078bf68827bebc5312c59e3bf253710cd791655cd9f725efe92dd221a706b265adfd25b790e06b33102c4f4cd4760302047c435bb500683066023100df72b5bde976281f80efa71f5e1d7b59a8db611148b4a627d88420d693b16af1716cdff274d78a02c307ed4f28536e77023100fce7f583663ccb50bf86de876e46a41e409502d54f6f43cd1aabef9d0018f849becc237fe85930b9349671e8cec8134c0302047c435bb500673065023060efca0605ff8bee6aaf705bc54a93382ae3fc15b082486276f556631fda3e0e02997caefc605eceb8514fcdc86f97ed023100998258457835fb29f4b3d356c0feb817af71d4abe4824e09be1b49e67ca80d09c1cb4d3e75b7c1b40ff77f0e618a877c0302047c435bb50066306402300c8d36b251af3039262918148c504457cc4c6c38a63ad3fa111803dc21430707e614eddb86490a700d9d7b4c46de68e402303df66c966f3a50b61c10e5246d2131ff73dba8f95bdd88f9c5e54fb64e3e58001e7a27ec989293d8c6fb870dfd7331140302047c435bb50067306502307e36b6080890d27fc9f83685b73a0ed10d85b69f688707d95f37e8e37c48bc54453c684003f80cdd9f6ece7efc6c6ca6023100a677c78e2ba63963150b7de7a06b3907b7fec3bf98fddd83260dcbcbf7389bcb5782883d17e5aa533af609d3c51fde4f0302047c435bb500663064023070f0ee368240ae82be403f8fc06aa69a0a97c103b7767e4e06fb756eac086407e8a8159266789b5a5328d523b279730f023064bf6e3ab35f957592eea2e8a4ab9fa4f7cf6b55a74b196d38abec442d417b1efad1ef9c2b5e5a879b43592133306cc10302047c435bb500673065023100b891a5721fc864f6b82b3104d11ddc4ac3b0e9614b88d645994c5aec184ab4a3ace239898c5e13b933bc883b8418eda0023022c52c3ce8302a5f32473601e91e118a732d334d7c065e3376dfca840aecdda27f9af923c3d80df110adc6e108b2b6c90302047c435bb50067306502302c3feb7502c60955c16cc2b40f1f7deefbc7a6a166c40b1fc6dd117dd96c78de147f4cf78076c9c5f9c1d96835b91215023100f79f1e39d1649f8a223dcd65d4d42bc2c6663a07bf622a0b50a3ec5b4b27efc3f58688172658cac44f194717df78c0dd0302047c435bb5006730650231008611be1721725bf07adfd485ff95e1711fa036423d4dd71148d0e89b1132d0ddcd6dbac40b67e4347c080500717a0f0902307949f50553344a3ec1099604edd3301f310042445baba49be0de7598e1fb31f8c79d582fd5c704bcec5dd2a3e7eacb850302047c435bb5006630640230020e166f636e73cb61c2a93679ccf68a4dc969b288e62907c1c223f71d51867d8b871371267a8aff2778312e1f4c905e0230450d19c13a296198d4347e602c5841c5355440ce88e70cddeede6fc98ea9e65838ecc6e02444c678685a10b02831b0cd0302047c435bb50067306502302685c681490b83a97ff9f307eec4c3f1d7697081ecf21e6582b6d1f214e811b29089260bf76756eb9402740383915ff50231008d53612ca186684291f38ffb47083a38afed12fb6f70770a2f1a4812f45071f9c0d63688e8809ec147de67113005eaae0302047c435bb500673065023100d7df6ac0f7a41f5aed4a2feee7a35ff53b442c14281f9239d3ba365303577f2ccda38b23ce94bd4ed7205b181c06f1e502300b0acf6efc6a282a14cd2c5cc658c3c5a47e208fbe1628d94327e78365dc0bbee5df16f894a5a04be130888d99f8f52b0302047c435bb500683066023100a8eadc5a9aaad0cca08f4aa3bb1a3c82b5939302bc5ec13547c3c276f001bb66886e9fa3c05930f611052f7148a90da6023100aa5a2749df0def389a6ee5049dd2aed1018120a36d8e223ef47941e228c7dbe21548a17bc05a9c56ab253feb319eb2f60302047c435bb500663064023002caeba4c8c7e902977f056031ca308b0a91e9090ab5e30d4d8304f0b91f0bceb2316d8bc856535823873fdb926a156302306ec8529f1443b2231f3fe69f3985153918f730aaeb438276cb876329e6791ccef15462b9fd240d0e5368cce64cce38370302047c435bb5006730650230718e1c06a65ab29877a2ff60a6ffbb4ce074139fe1b5ac6078b4c5e56129fa459b47462189c3afb2e255d2aef149ef41023100db45708f8e230d113a431d4b663bb497bbbabfec6e4d982ba0fef29698ab8bbd93fb9a96c9ae7c91440a9b3ea34bb1df0302047c435bb500683066023100954efd6b2c17863e5dbe77bc56251381562db932fa7a98f4588122f7c39c6129fc28f45011887c6afc4d32fc5f574626023100ba60e4c007fae73f251194c7730ffe0f4acba4eb556b8ef8b9a25b42166bd2b95981047337bbd2f1a23ee20872f7f9220302047c435bb5006830660231009ac996f5381ab20175a3bf7176aca83e9c28637793534952f11bfcf44c4588621b1a5e3571682fa6058e90ff85cdf6e2023100cf56899966337b466f1e33ab8a6a49280afc2e8e2375a9693b4d6d37ef4dddf01505b8bb6b19eb145f15b0a11a9b1d890302047c435bb500683066023100d82c547fbc40c6c2e92680b1b34bc47f38857c60820d6c5df1b16f74a97272dec7b1d4c6ec5c5dc641c0d6195701bed2023100c0cfd9edeaddefd05cdf376fdce9b267475f1c64980f6f4e62156f1e580e1cc1d7a6acac9601e11c806b2f78a291cc5c0302047c435bb500673065023100978e759eed31e20218952077069b7a2982887a0facdfe75932ced3f080a57495fdb9d2064ccae291c5b62e313d3fcb0302304d1b9972e72b84cee92d7edf0bcbe71d6c34d648155f7703a261538f54ae89f3f20215b30e28592546af03d2af4533b60302047c435bb500663064023026d45dc0b97b0d96da382472661ad700c4961f31440103a6649a8e926d821f888c917bfcc41d26fca3df539ddd0ee95a02305f75e0d9c0524e837c0b88925d4fcd81d45ca8b30308111a487ccc47fc7fbb61d7d0d684e07ed9c86d7a60b0ff3fb50a0302047c435bb500673065023100bf80028c189c0ab9af75c25ef4df4d01090e37276a8b422b539fe25210af2fd0c95dd161529c9c0d95c0468d7c2d09f1023056e85e77d9aeac1e93bd3a590d644e53d4e989ab342d73eafc48eb8d90c5e9c759185bb132590d8712785b2b8f878ead0302047c435bb500673065023100dd5c17ac144ff4c5a616d46ecf8254bc8c0934b315bf9a6266d388ab933450a1ebc8b671f3fbed71a6e32e067b9f5803023059fcd9b495146d158282c88c2ad61247c234255f7996418588b87432834a3ab29dd6a4883e81769155ee453debd012440302047c435bb500683066023100a9f93c734f9bf8102df9f9d2c48a26ac148c39beec638719bf7ef5b374b1ce48cf35402395c5dd81035509d6f410e21d0231009af353029e44e3676cf238b4eced000e1cad7969c6326b1678b41c8a05f5275a22068e423d41cc8b66f886b6be9e8e6b0302047c435bb500663064023002ec07215ada831fd321ddd16f7d23ac48bc64bbf8e9c93d3eceaa9b99595cf5bf7230027934c56e0a6d6b693f36f16c02302a913654dc511b9ac1c9a9a126efde93418f58cb1c6e3bbc14e77ddc50b4002f2271e74ec424ec6eabea0d0a2f6fda0a0302047c435bb500683066023100c57b0d52d12ad338fa163344e0cc9020eeb1668271d5b38f02168aeaa175156ce9f254ff3f14e0455005027baa5c8fb50231009b867e51b8dcce389dc6c522ceefe6f667399ccedc461d2ec6d1c8eeb392cd5e5fcc8e50e8aee0b790d64844d7af2bbf0302047c435bb50067306502304adf9bd9dab491c86527015b57f27e4675a7d19f4650eb819adb10281850b852ac1b6234d848a7f929329f99270d38640231008e94f200e7222da3a0a55a666538471c8efb2a01a31ffea20cb2fa01323968a2f31749d40073c371622b97438956c7980302047c435bb50067306502300311481697b0c6e751cf02645b110d833c6a1ec8d069e1900f2f2b477ff7ccd181c549bcc54765507a63d2e6d63a0269023100d6f4510e6518a5831e51c64fd5b3fa4464bbdb1433f65424ae2183362c39e85630f8c3be22eea62886a84bf9e45dc4640302047c435bb5006630640230722557451cdb6a032a4c744d190baa32cfe957c4d660c964650769217e27c80e025a2028c3a60584dcd2b6817e6fea4602303f17655b0baa101641fcb4aef11ef7738a3da1867188bf161834e431a373ee82355a21abe403d1cf9175788e232329b80302047c435bb500683066023100903bbdd08e128ad76c03904e084791227166a4a94740e8825ca9539d39e83007fce113d59791dd37d47a52c9bd21c17b023100f355d8568262d95e5cb4e3447cb4ce87a7356eddf75070b8d6a1d476454dda877809bb9326bd232fdb5f0532f1e180f30302047c435bb500673065023100b1579694ec3ab109c32143604e73cad8a900551398ea580dcdc985923982bbf8557beeaf121fbb8c2bb7aea2fc165ee502302ccd4be5ae4f01ab2485fe90e2c0673adcc0a8d25c08eddb5ae168bf855c4b56f13e36b0b401f2090426a8fbed0f24ce0302047c435bb500683066023100811916a8be4a9760156fc7e0c51134e116a82438b112fc564f627db00fdd1921976f876450d8a43d3c4c0dbe15f2d2a0023100c04b0e16f45334fd74facfde27936203800d4460331ba88d73028c4592961d49a7640bb6b80de6de1b4a523f3b16af3e0302047c435bb5006730650230640af107171f0f457527bab492b868aa779d720d1d370be228e4f8a71e1c687753e8d6398db93cab82b88f15742625d0023100d3b24314c11d12ce6587963fe7eb9ff887b9f542a3343e14195e3fa33db86661776901f78e48b5560bdd8cef17c6a93c0302047c435bb500673065023100d2350b26afe41f6e08877b7b20579c420d1339fa65f5262d8c5249d8403e8948b1a4a719cc61044ee0b80b85801150e302307dd2ed50b626cb176d1527a199234786df7b520cd642e2c5f1894b50ec226e4bc5c974d4b96d4b7b8814063c35c8b5650302047c435bb500683066023100ef551ba12e5a91e174d75cc51353915c1cc4890940805c39ba4d551d7ac5a26357a95489f7da4eb4c9f832b75fe53f0c023100c3d417dbf2b0788181f4fc762cbccc5142c842cd3bba5661309b0622b4029a7ab4a5a763e3f5bbba61f6d7e0ccebe77b0302047c435bb5006730650230326c152a79610be334b3f4602050e31c67e6e15d5716aaf601e11bb0fc514984ade7578045955768f750e30bf23e2a40023100985bf707fc09cef2dd97e609ad5a57c1eae276a93223eb475d590419f50a5b096a8acd5cfbc8a67f45e0c104d9aecdc10302047c435bb500673065023100a460f542890914ba365faea907a5e11a4ef6df6870c37775b73cd1e8842e47faaf41dd73a6efde12d69cefc772343d040230226fd38c48bd16a2526e3de79d593d425790768ec0294b32b64570b9e2cdf1fc7564df30a5c3196ab55276ba19b2a1460302047c435bb500673065023100ee9c692ef1cc1e7a5e06587c00db5234f925711f9e29ab09aba80ac32e42822f0152546cbb78dc78e60edf0e39625ee702306a71a03000dc204052f28d7308ea15dec09afd2e14d9dbd50fcd21074050cb3c7a00c3e984967105a13ba08e62f02b440302047c435bb5006830660231008b7ef1483d38d7ed5dfd0f421616f67ccb85c4f2309caea90238d0a82b3545951dfdfa1cd42400c8f249f2fec51e1574023100a0bef1bde45bc97f87254d42b3518581f9d6a766edb107e54324a010e2847fcc4b6200040b85ae7411ebc931f9350bf50302047c435bb500673065023100c4c7285f93914c83832d2447ffd8ac9f992e8acc972328bf6adec5fda6a124b419af7d992cf9f7a4f063eef36d807c020230140b56aff08903f6bb4e373318c86f94559b8b902fa2398d64cb32854e86ccb041568a1e641d5a4fd6ba97bcc6def71d0302047c435bb500663064023053bdf8dbe3db06f3ba0812b33f89c24ee676d1600bd05f33fe385ff573a0ae74a56ef9025106296a050ac18695af7787023017413411ca05dc88f126da712f82290e11a52db0880949f17206085dfd9177a26e0564e68f13d2a5043d064c43467daa0302047c435bb50067306502304294e5853f0bfef9a2cfdce3f17dc36e77bb789e7502624ba1c174ef4759f848f63ca9bc9e1918472ed5b262e53947b80231009575d9f03d061b9c87f4cc906be0ea81a4af365eefa9d9dae5dab730c26f6a9c106703ac8e111df2492469358ab043210302047c435bb500683066023100edcfe69586237ce086d039e5e3802405727832a21ef1d0d8bca0be1f704fb7b94804b51157e7d88067e485396417f619023100e9775e5d8d406d28912f0ba6511dcdd7c7e80feda69e8c6cee6413202aa1f364467ffe079e11324520afd6f1942941530302047c435bb500673065023100f75dc017eb2e1bcb6f2fe3940d154ade96ff9e45f9470c47006af9a408d37f79cc44f3e51d9e1b2db1f75a4583dcd97b0230693b274a9894b10694e0396e39d2535cce32c354539b84ed69d379ea35a738a11e7d9395567c745dd4da49ded77d12f30302047c435bb500663064023032831939f9893d7bba3292c488fac3321050f5683ea5e6012f63d9022dc42eb6c83aeb3735cb9e3fac6c1cfea8e99def02302c3488ebdf3fb0754fdc3bbe7150f1ab28795237bbbe60e36870b6e47c0ce54908b1f1ea0ac79f629a40669db0c580c10302047c435bb500673065023060d57ab3174bed3215ed2b6cbe88a0f18aaf334da732c0d559a6d0ec8e647df81780bacc54311d55d48ccb81b4b4402b023100f9a99d68de134d32eca8cad9092a06a1a0b155e334247a8bd77eafd43fd8f93ca8aa2136b09d576f1d9d822756f402d50302047c435bb50067306502305e9b9ab83838b68d83154701edc7665d9477eeef417aec5c74d319ef6f9b1b1ae7a4d83ffacfdc18dbbc2bdb4bb0228b023100f41181704e0d1b4de7c57b2e3c1f31260d3895b1f82d29b7278c3dc1e1f6417b55359cc2af19d4639e14220e7ba7f3400302047c435bb500673065023100db1428e9190c6be5d7a5f8fb1c3e0cdfa6450960152db6c99a036f74186ee2cc36765dd771604fd957d4fef00b491b7c02306ac0914b36e5430caafdb0318bd3a4920e2d91464fa8cc87ecd792bda2bb8c03e30cfe773fad5304b3a3a250ff36b0940302047c435bb50067306502305c7fa5dbbb84cd1409f135ab95f0d9c23a0d7a2e1e16610afae9f39d63831887518f143d1c61903b7f1975062d51569f023100be58a17288fb30e86f049ebdbcc11f3a6e3e4d759091364f04263a1a2da58c3616d1d4b4b8242fe68cfa92f48506e6cd0302047c435bb50066306402301851b000e27bd114014ade6ad5c3aae3e54b8c33b979573dda1ce1c7a85b2d3ad25922fe1b566baceb1aec76c95d732602302afb5ec99e7fc3881f182710ffb6dd61cef8820f1c384f3c7b1f02b69c3dbd5adf12d5ef3e08da129acd68ec7e14b97d0302047c435bb500673065023079ae6d2f4bce2b01f185b9f0bd5957f58072717e38f3004f75e3f6ebe42c0983efc30ae5b13de9bcf928942308241f5d023100ed9aa378422340ad9e1c88056ae3f015d4eafb2064ef9f0674becee10e85340713d866fe1b562ee2c9459658e353fb560302047c435bb50067306502301fd0afb81296b060f94019ee6d6f14705839b30144f02a6433a1ed32b0348a0c216b9559ab13fedc65d1f5b1382f1b25023100d0c3fb16a6baaad3a45a0bfb6b002a7f51cfde630684c693bbd8be2fece99f626d300459e2a6ccac3573301d70ce791d0302047c435bb500673065023100ecd1ede0f4150611ead5ae1ea64b54f47ad487515d0e02eeadc505e99520372e594f9562738f8e757980c1ecd848955c02300e3727cce6114f42e176f260044d393ad74ca89391a4a8818826f0748d27ba9c445b2f2b90646005dee4f08383a7621c0302047c435bb500673065023100bfec8294180158e03b162c641420697d72cc8bff05c5721afe0ff0f04c193e119b9daaf4b87739eeec25536cc7a3580702301b708b53e6a05750c61d9db2d61ff266850206915300fae362e50c0d96b638fe2d6fc180fb5616be66552df01ccb5e7b0302047c435bb50066306402306cbc7c911e2d9f904f24c6ec38474480f40e289f3fffb02be75c53ec9c23892730dd29ef39aba8fddbc39c1567c05a9302301946e459f1e46b0e9f96765cf41662a2eb0d52f61bfa5f6bda8b955d1eb8af791c7508cf18311aa74c57c3a0d401cc410302047c435bb500673065023100b361f463c649d25defec834bac4fe2d7a339fc73f62d5c0e2a64ad8efbb939dcf22424293b8f4b89b71c022251dcc78e023070bd9dbb8cffa6534feb25d31be70c47e7ce0b4cbc63e18661a6841daf538aab012a1c2483321f15af47b83e502f257e0302047c435bb500673065023100f09a4013b3aa118fb7c7cc0b81dbae0d402b7be1bd5860f1208190a361de45a6b272a3a2f49a7d3b4e82d2f92d6017c202302ffd1fba3631d6e15f32890ba864ab1543b393fd5fe12edbc158b6602b85e72ebecdfae215e8dcb851482fd10a1ebf2a0302047c435bb500673065023100ca89dbe37aadd195d1e4f7dcdd7267a14136fba0a9f3025c50ba775069409fe8c79e87edecc5a0c1ff628019991d749a023075c134818e71cbefbabd0093305987e637ddefd0db028fa4bd60d3a0c44e012a6bfcd79b1d856401019d352eadc2b9ae0302047c435bb500673065023035770218f2cdfea65e5d30858bce6d347b50e2dee20a3d72a46af78cd3b2f29e3c092876f98df5eb1cdab64f7598187e023100aecf9e64c35f73d80a35514770130bf5f9e1856b1751e8dd0464a5fe1c74ca12e249f3601d622d5a6221d946f534efbd0302047c435bb500683066023100c743c255c5de717b939c94a65dfe90708db0066bf8c18c866f8fc3fc190ff994f8f9ebdd21b2653b45511abf2ae7180a023100c17c9756c08efb0443d333a0be9516763d98c07bbb6135171184a3605bb6973863d73c17cb5fb0ec69148fd242d8b6c70302047c435bb50067306502304815572a552a7fb135e4eb799514460387b3fd48bf65e02392db383fbefb5921ddb1bd0f0e22b643518312856a2051a4023100cac49fb9a240800111aea73cf356c7a8f79b64ff54577edf149fba055dc08d79eef0d40cf9c362b07aecfceb0ff62cf70302047c435bb50065306302305aeca8cb469151890f4abf23c862e4473d4c169d053c646189a418809d33a5efa09ebc66c6be2e02095d069bcd792533022f418ed682ba9dcd1294564f6d48ca148319f01074a38f93b742547a618ce7e4f71df8871aa4e2cbf963680bb56da6fc0302047c435bb50067306502306811bcdd29900ea5f307404fbf97e83d059a3000c4626ce26ee8cc633afdc3fa725062a80d569e4a6bcdeb51af84b837023100ea9be1166c9e54342bd39569dbec2d8584e37af29fb19d0d2d6876a4257beda7dc7676f309b8803eab99442480f8bf900302047c435bb50067306502302077bab47f790a6aacb85070e397b916f9cee1d63a8f67002f38f6f33947fa68c94fb635605c07e8a4cb1cc9f802b03b023100b3e622c611a42005c90ba5d9cde1c163c19c1fdf24fd7613c4347504e46cff5aca4deb97a98bf9f77256e1ec0f488d7d0302047c435bb50066306402300343492f25ec4e770f452445da334d7049d7622a679be87f005c621ceb5ad5ad82eb54ac7299e803108099ae2e08812802307f3e85f78f6b4242bd35835b2436f8595468472c058b47f9de41df649bddb43bef00a8942a2930f8efb8989eeb434b210302047c435bb50067306502303fc98b0a4cbc2a72fd690018f1e5561728645f0c5712e3cd80c3d1a6cc9c9964290e6b9f0b5181b960abb223c455befc02310096dfb22b6074da203f741bf54084046e3ad0fe6523bb2ee216e3064fd70d7ef682cd7bcabcba813ceec626d93d38be960302047c435bb500683066023100e89f3358fa6a943122f8ff6b48c9e9f2389c322079cc3601a0f06bd2e87db4ff5a23693a86bd6eeaadec2f447d4f5dd5023100edaa2d4ef45c43f57b2554ac723abd5e81405498f0cf125aaccdb3ea1832b7e66150bc0a15010f087607e596f6c9b20a0302047c435bb500673065023100ce7e72f883586baf2a0832509c83c054ac0a48c08598a9521e263dd543990e7b43f8bfc2001168212556083b64d2e963023040c88deb7997689778f497fecf2b23848e01d1ba5dbd1921214cb276868fdc2ee6c8ac737f4c1459c14e64f23a1763090302047c435bb500663064023043378541af85038f5fb1b27ae11ce2d939addfe84a4a1bcf434191f972353a589ebb673f73fc262aa27988c6b9745441023006d5801d816afd8db771ff6728f83fd4a9772cd7491d77b04a20f68d7b93e5a24bda9d012728cb373359f61d016b23d60302047c435bb5006830660231009bca4341bf56c9d340655cf94a8984739671aac8d24762698b5784b0ca335d333043e26f2f578ce36ba2dd84cdf93e63023100ad77f3a4d9ccf2530cfd4b7fa5ca5be5abe5ad65beab36007c233fb488eca79f885bd868a26ff77b55ceb091520eb2ec0302047c435bb5006730650230544f6f02e3f40efc3374fa241a2356a1bd218ab8150a89bb14a7fe7a0c5d3a299e1f3ef953f9cae2eb4d33cd68302fc3023100aabc53e070e4329fdd54a94c8b65a21a2b6aa798927b9264a690cbc3c6bdf29cc4ac1c96bd629e7b2c372ffde34eb6130302047c435bb50067306502306705f17cabdfc0c659a4c4941b8da35142e6124375d130f95c6cda4b2f7449c2428e349896e8e09946e207e2db049105023100ee9c9da4192f077b2aa1666f664ba570d124c427c4bbd232b5065a173d6fe06e79443c41605739dd9c808ad10df43ab20302047c435bb500673065023069e289da40fb07f948f256063d2edc7a3d9792c78983e1529ec7ab24bea17803853198143edf353381cd67a0c48d2bea0231009846b0cd30771e4d0ba1b0855dfd3bbf780859dda52e61a7b661e4b60617da9b5ddea6547aa9eea4d15f2334401be6980302047c435bb5006830660231008b6bcbbf30f50e4ddc9b9bf54745bd30f27f042b6792ec1cd42942b6f135a190931e4372e24381ee691fb120cdc38302023100d835b76b92b84512bd1b7c0c942cfdeed26899adb328fab0c3041d936326c291435d7e3c7cf26a0a9c719956ddde1e520302047c435bb5006730650231008beb3b1228a948e5bbcd4c3d3c30eee0b39362450a5b05bc65c1c46b99e2b1edd0c19b1530084561fc11b5a003b391fd02306ab6c23cdb5d2784be23756ca1437aa565b978e44a374475da2d090ec003975f577272a3d7b3cafb8e1517ef367c50230302047c435bb500673065023017fe02f7ca4253bc84ef06ba31ab0e615b571c58b3c2bde02d07492a47acd28ce956eda2d0d9745fbc65ea1160618b02023100eebabdd2478c3f42cd20e27b4a09444035c348467aac6d376977fb6dc5b17292247ca9cf7ae355c3e729b9539157a5810302047c435bb500673065023002636685922fc3361084ed4ea646447d3d63af99999d722880d8bb07bebbe68460b597c38f0b0c86a79db73dcb3d4ec60231008beffd8ab1576e78cd9ce994595d5c23cbc13e8955880379afd242a5f9d1e5bb6a2cb0cf1a1606bcc4d2b64539d52fc10302047c435bb500673065023100c16075f0ad499ea2c234c1130aadee5fb3f23b4085465260bbddf68e5b5a27a7046710ce11bb48c75c2ea46a47988b1f02307d3fd12d1d02a9cc9fd22dafee25cda5f472299e4da3fce526d9ac65106847924018405a8bcd71d2a88055cd15afb43b0302047c435bb500683066023100b397173ac84be671ac0e5e1aa78826b2897c8e439bf1f8ad8aa09440cb48488f6922b2d5370027c933cd91be222314f6023100c0381ced4818e6180a7ff4834e6e775ad606ff17d9801458f37cfa19334509ca1634fa0fbb0a08169de7f0e5cb7c95e20302047c435bb500673065023100be2eed81be135dd85a27b2485d7bab5dc22de3e1f8c475effad4a9b59665dbce288fc08617c7d532e1141691d525b8e402304de09f8871ddfca3a5d9fb9cd6c42318345c97294b0d247e16fbdf3fefea6f213152117c8e1802a92f1439ca64979ed80302047c435bb5006630640230729565f1f7e1f426ac4ebd524a438e7ba300bd01a5361696ef432f2ee4e5b640ce875fe52fb9846911f4e88df042ddb90230524e3fd105ab61f89a19ae77b6a93d0bc444af890e6fccc1b3a5d6b9b5f294e3dad043f7cea63711fcc9d708be8f94c80302047c435bb500673065023100eb48a1aeb17d7d23e67807dc6d9f197ddf5c637757a50518f394c5e96accd7288b3eab15ba5985f439be8328cc1e2e4b0230246ee4e034d5214a0f2b48396a5c5c05fabf6b9664ffeb599020bd9fc0a9aa4c40c79d589762b2d7d55ce137c54229bb0302047c435bb50068306602310080157fbff52b95855557383985a940ca90dafda4492f2a30483c754e5ca7077a2650fad2f6e2e3762455f67c9ce62b8c023100912be5c0352c6792c1d9799873d78533704dd019f5ad70e3eb8ba00bc21634745afcfa2df923ba8ace319c48a1d0022b0302047c435bb50066306402303a3fe35d9ef9ecddb6f8ef602f42b61e5c23327ead3a5a8ad72e2af90caec1f28f6461d747932e78ba81bd542d2637760230056e0d8672468a79b883f3ea55a2d0d3eca829215cea206152008b8771a10ef70cb1ad660aee6881fba8ce274e3a9e5e0302047c435bb50067306502306cc9450e26d6418366abfd1a8955a899933399aeab585d0ba3dfa85ed6ce4bffad14fcb4e5c7a116e58382b72d3cc459023100cb581cddbd13d1d23e2fd9b7715468f87e6b5afdcd91f5c37718807b154fb2574d1217b17d7b5ad5157c43cace4314520302047c435bb500683066023100c67a3ab4985812c9a2339075ab42d2f7733bed54607fde8a026324f3bb0fff43bfd2731cfd884a64b2b7dac4927e83ce023100f48c409d3ebb85e84ba95048b52b61e890c8f40b3c9b480647e84eadd3e53eb7fff368be8b3dc1d896ff92f56cf18c180302047c435bb5006630640230319c8241ccf14b4746f65ab6f97c9a27d6ec08842a52b400328fe6d49c619be9ed1659cd0d7259ad45a53d2f3eabbedb02303e811194a76542dcfdebb4aa836ad282d81a30d2437db1baca7f2111ec810d558471e8f44104b3be39b83c7ceae66f7a0302047c435bb500673065023100ef6ce28e60d3dbc3af308d60452121dc8e694a7e1411ef88eb33fe6103904a53393b55dfb171c31d68e04b21959376f802305b8bd5476f83673a82a3468cb4794f794da334fc43947bb085080a767e2abcf85c5e93abcb1b953e7bc9751e87b74f300302047c435bb50067306502302d7d40edbedad59797885a6d24107ac40a8b2297e5f0f61ecad1713233e5db094a0531a88cf4eb0b203d4e0cdbc355b7023100e7f5d1cf47b83746aee7a54d53d437f6387454078e4e584f0a3833e797b7def32ce02174d5928b8b7267dbfac98e62fb0302047c435bb5006730650231008b8e5c67a615d8100b8316401fb9b718877a76b8e4999f42003d7db7611ca092ed348354aa9a2cef82481ab48536cdff02305ab48799371500cf86f2c15af6828c4a32a5f0d18a705693a160c66f9a85138687d08d05db3f2a5f1ed5a4feb6edf1610302047c435bb500673065023100d8f165265d9ce45b9b952c1cd00908928785029b7a424696aa0302a9927e4780db489e8ab3cf22698968e330c7eda6b302305b85d5ab71711f7bb5be465b316618a796d125b21adad9aee7e3bf91dad9a302ae216ce1dea7d8ee4244caa0e4f822a90302047c435bb500673065023100a3618508fe03311b1fca834d9d17f2838d7112c07ced097d760d5a7bfa0460a7d4ceae9930d83b2347b62915fa0e9f55023025e9b7803377ac567182c547ee2ed71bfd269280aed5d37596dd14212d23bb6d261b1f79fad320f26d90ab2e68a94a8d0302047c435bb500663064023008b2205f12e6627bf69b4332b6abeec44c72eacdfb6c63762170c8adfcead41e8044049ed5519c5576296556d7a1725f02300d71cc638dcf28c5ffe4635473d266b33394d68c0bf1507e3f0cbf376f71e2983800478acd29214e9a936b3cc2674ec60302047c435bb500683066023100eca883cfea149e1c9444cf01bb262ceb7dc701cfd81626fe1ff0cad2cfdcdf5b71ffdc15de6cdeaac4328143eca06cd3023100846b8afe3037a4756f996f743047c22b43866fda82cc5605034e520eb2dd26f2b1088d7f020368bf0ae8933d483594260302047c435bb500673065023100d31de3d79bab760bbbd200502918cc6fd2383acdb3f9b354481cda4a4c28f2d28b8d5e13bc7e752194fc9c46e7044ff302303cbef6b85622a2186d618d5f9214cdd64f55c38d8f2ed93c0dea41d366c2829acf5edf270132433f8989473a43c70ad70302047c435bb500673065023051cbd3f2f198949761cfc9cdc6c4efc4eba726133bd4cb0b98657868d07f40c974f4d253a144732d8f3f135de5129fba023100871f41a65f063d56046c154740ee653d52aa1b5857d635aec9ede6d9ae0c0abd9620561b79b1b15720f161887905d25e0302047c435bb50066306402305767a0806f29694d25ae0be20735d3022c6dc61d96058edd8e786d5f1545a691ce38196ca28fe40f9503e6a91681d093023029218c6409ca1e919c71f4aff3df4975202581d5b9dc7365600abddd309179dd3a181b76e75e8a3791658438dcffc3fe0302047c435bb500673065023100a8bfc6b543b0ef9c34856231e0ee05e85e9329c57d587336a456234221892261067f67d9306f0b77d2fc36e9ae49fa3a02301647e136d6e3ba3f0f6be25ad703f314def5f1cf1241a6460bcd42e2f82efb741f1aea68c3de890c3df0e4ab42eccd440302047c435bb500673065023100aff1c02d096d4ee522e315e79280ec62c21dee6c343be6ebb254c39ca9f38f9d74fa2523c1bfc61cd631c6e4939174700230359700c85bc927229f120b9658255b79a44a39c4fd440c46c8ba63df7ff558b5b6b4d58426b92f72d63bdcc874cdba850302047c435bb500673065023100fd0a2aea7bd859507e1d6a7b9d040130e023f13988b40b2e56baf82ddde10733531ef5f63d230b237dd97687027ef18d02303695d97b59b5bd6fa7c0a262075c7b72757e081bb6877cbf477b052eaae3fd0489548a2d4004135bb524f441499adb650302047c435bb50066306402301b43e0d1735dde998c7b21213378ac45cb2b7752de4ca1b19b2f6349aab1bed69caf4a31df33cc2317f9bc499da8626d02302d0084ef511a2eca4584c103dc82ebf8d1ea4f40a7d9f6ddb6e809056663c1bc8f486e0033b8d020e4c5795dd6918fa20302047c435bb5006630640230524c5cefc0b9f44620a939eab316da61f97e1a583edeb4a3da705815396cf8aefbde9e1966a5b1836c1720449081f4be023020b202b151dda4042eac95db402b165303a0d62e29ddba5f50e519240c3213299913caa6e841cb64fd5390198b953fb40302047c435bb500673065023100d4d57d81a27ff6592c3330aad0a81dbe791aca14ed4c05e5c23294b83550e35af36ce3eaef9707fa5f23c12643391d2c023025e1ab974b191528cb44bcd2ee10883c4ddd91228bb7bd887bca3747b79e52ee4918ea6edaaa0aacc3f20e5c79c196640302047c435bb500683066023100dff613252e5344b65aecfdc365cdcd60c9f2b70700b53eacd2cb4f8a7351a39c3b91ec0b8215047f539e3b799d5d551b023100b604ac6e945c2e4d0910f98bb2702ea3d0661652275d34c54bfe5680fb57ab7d37ed665f3a406ee69aaf46d0e43629470302047c435bb500673065023100892bd30a4cb7e5fe5547ab783a2c25bda747a54e041f783d1d8a27b35c3a267b3ad74f384b85c5ecb274f3531d46c149023004d3c838bbc8d385c75f974dc398529c81eb96b323ed90ad47feda31503cd21f8d274901acc9f556d96bac5028f301670302047c435bb500683066023100cdf67c7d96c571e33ea545dd6583fa69b2da5c94d3f0690a73cdeeadba34e00bd247a622a2c068e3962def7cf3992b35023100cbdedc576648a886dcca40cad421724834fa3326f3e50e35acd5f1457b817e0a62a2dd777fa5fb6f452a6a222d1241d50302047c435bb500673065023100a7fc36f0e105297efe7e69e99f0514643d817fa64a672889511098eb60aeac78f062d83a817215c21598c7582c26a18602300761d599dd5e386ef016e4b02bc553fa4ae26ae5881275d6aa7f9d8dd9cee1cac745279c6abb6e0b01c376a532742a940302047c435bb500683066023100a245570d4be09fbf98f80421a54e2f3bd06ffec9666269cf55f015e7586754d6d72b22c41e60f4f4ca6d8ac994982fa50231008303febaccfcff472564539ca903f0b958e7f1a0ab7ea80e39ee640cc2b1ccd4067501d5492899276e77c48b175cbb1d0302047c435bb50067306502307f6a9986aaa13986e022f64b199b156f2c2997c885b5c777a71802ee0d5824377eea8718451bd1389c8c0b8ffd4bebfb023100ebec4723cdd1a38642424605c57b7d5e0f6af7c3dd940b9c172fc93d92528fcfc03eadfbfe8ee0364f383fe6e3a447de0302047c435bb500663064023035fe919e888558f8b0ed62507ee10594ffd4a790be7cbe142eba7b0fe25ef79674dbc88d44a3c8562ed36a21aa06d2d802301168369dc23b64808d0b96780497ed22b7900364faeb81c05ef078c7fd11aa3532db518190c48e0c25e2ebd961245b2d0302047c435bb500663064023047301cb64a07569373f284da814c64ef8dcf89f7deaa8964874c642a0d2182128ec12d1f2b6110cd41c48bf237f9d1aa023040fab4d06fb96fc764f86fc4b8db5662cd41b775fedfa31488556a879b13577000e20e58f2d9ff623125e0c1ec6f7d4c0302047c435bb500673065023100f4231a25c5c96eae2188f82e53a5620530bad7bc7d37d3508db8adb43e87ab67ce8843739985a24d646389ffa7e37ba502303481d3420d412cfa9e3636e0a41d617ce67b9524b3c51d7c756b95b29a7c4e45519c301b7baea9d938dbab71dfdcb9430302047c435bb500683066023100b1d0bda478ab7e106a906bc06b2fc15ef68e3b64560de7656bd90e89b3c6d075014e45e7e4fb868c105e098ea5b82fc8023100a70143ed6057cbe32abab7800caeb952230268863319133b49ae2f0211b27656053c503d5cec5f6526290369032f467c0302047c435bb50066306402305238bbc1759673c06dc255d57b477e9c39bc0cbe686b12a2910c027849fae3e123b8971e054cd184c0966ea6e823b31602305781b06199343eaedacdfe6ed4fe727126d784af92fc9859380feede1ee1693761228afcd8cb62daf7fa49f870212f6b0302047c435bb500673065023064776b752d079cda3c1ed3bd4f8ea7a2c8b0758db67bce57ed811ed0cb9dc617a3a14cb853ed48ea3185134ef190ea01023100d52b66fd331381f56a2b09af8dc2a32a603d6ada55d544e26a4cb0cfa35ba5d8cc626182d16b0c3587e2cdecf4da20db0302047c435bb50066306402306fcb2b29e5938b05e3c546041b569bf75de20c1280d75dd8d9a0d230fab6079326df7e2e9092fd7bf9166f01ba11b4ff023004f2522d9f2aeb1aac4478a951356914f0c79e3d34b98c9059080c5157495371a6ec92d812474a6f54aea1ff50bb17ce0302047c435bb500663064023021b1d7d40d0f34298625ff248a23d4dc11b151a51cb10ef782be6ebda1c9503101e48e9af9ed6ceddd4819a65e42c029023073038ee077a992e4c0cc440b7f79f1e9e20026e88e4461126412a6a9cae796563b607e15a2f63fef4c2502d3312589430302047c435bb50066306402303c2958fd799af5c75768e8979149f80571af53244bc19f9bce508ff7d4a2d49bcfc809ca346117683bcbba43240e5766023007d2337325b3baec41b10fc79e503dcdb22090e00f0cf62de3e9f56893e567b9d1f3bb9e3890075767808ebf484d2c9f0302047c435bb500683066023100dd047e624a5d8233769b1d78b3e026fa9db46ee0526cf4c189864c4885da89071ec7a45c9e0fbbc8ce49637ea0ca3711023100ac5133107216d4151d4b1ab72136fea8619d6795b1f5eb47d15cdafa4d8eed4566bac169ca5afd6b13b768d691cd2ed10302047c435bb500673065023100c11a15b6081956c7f5da0d2f6dcebff5854d864e8f9780ec361ff6d830dc890f207feb379f94b2545e6fb172b789d6ac023008742ae08cbd6d651a44e8f5199282997581fde3177f5c154e429f38212da704c8a7384f2f3cc33ead6042b588e76dad0302047c435bb5006730650230245962e41593edba65c697f7402b4e9fece9696117e07f75453ebab92526b405bbfc9cb77e729290fa29e636c042d768023100a37effbd27f4a18a0f9211650514a33cffb5af6dba304ac65d0e9f2f475146509647b15cd199fdd2fc4c20bd1148b35c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310085cd3d52d55db9d5b166ecd7b9f4a999356a35cfcab0c3428140f25eb096cd7322ec7983f6d4077b42968908c7fc5e02023100948037a28fadec98dbe730494307c6058917b6e06e5e465fc222bc9dbc5c72cd5245a21cdc6bbfd5f3f0d11897107de30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230183d51e2b044c504de5a86d112c942e176dcf8f330c9391622957942cdf0c4c7049a8521a9342df0242ee000a5876306023100e13b5734533a27f09f967c7c0ae8fc489d02c7505a2497a42805a6ff96768e99dd25f774fa112cdb657ccc80d6241c410302047c435bb500673065023045875c17e3bbdaecf16d093ee9af35e831de650589642d700882297fbdc2b14fa807c556b7f65bc2c8e4eb796f3f50cd023100a12ccb88dd43a91278dc12e9ffba6b9a977e479b711ef10a9adf519109a16581dccc331a1ffc7b8108bff9e2d1b34ee80302047c435bb500673065023100d110ad2c35479d629733e15bc8c0ec49c148feff90d8c59d94f25e8ab62d94acbd5f404449244a11deb2fc4e70fdb82002303a1e5f42dad4ed56b8d3e6910cabab8e1fb90c9845c45b53edca7b942e15506cd6d15146e5c0e674a3269d7cd9b14c360302047c435bb50067306502305443fb4659b6c0f08da0c62e46824edb4c3ff225be603c033f01e0251ae809b43b82b689975b5bdb8112e6020a1673bb023100bd43f83214cc3bbedf321027d4a8b102f7ca5dd5678ccc91166c338b53644bf737d596c3259c5d8fe57c410b734f4b180302047c435bb50066306402301b59f21dc718dbcea6885a126570c4a76efa17fb6213411b5ca3d7e02afb2248eda1a7053c9482fcecd399548d1ce66302302cdbc21ab89ff8ea38a32e6b397bcac35cdcd926113456002c5a63d6e253d3c1d4aa46c1f40018c57f4cf4552b44f7a80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304956b115bc2feff1a33cbb2c575d5078b7c3a2b2fe7be053d55fdbd4beceaba9dd37baf204e756b71a7727e1c00c82b9023100df33050a8ab8db83aff98a9f42a9b3a66c92a712b87e0e174fc464ec26734688a2c810ccd7c77b4110651be6b9f65b9b0302047c435bb50067306502300875a1bc2de73b9e811661ef76fc37c184271e3767066afcce35728451f1832baa070ff8b5c6692fb665549045fb9945023100c9d78f8d6a95c4f6351c1d9826def6f704d86fc88cc26f5a073ca54ade9ddceb27a7516994f659371c7609a3108171c60302047c435bb500683066023100eac07ca19e676ecab8b81a9488a20b45faa4a7d6a206b6c3b63f240a7583df9595f024a82c5e10c573fb01b961478876023100ddb00f21ecbdbeb4bcf66628077dedfc985812c9e38ffdd44a81ad0de4906cef8ff73ea79799f8decaef6d219f7207e00302047c435bb500683066023100aa8b15b130bbc89fb5975a4af43fa7ad8a6ec903b7f091058dd5c2a313e9a522a408d650ac9eebf6e2e4e37c49d57ae7023100f79e5af31614e7ec641ab9bc0c2863fddf5873b1f12981f9478ec383e75b317529eb9d54d44ca4e42f7834abd418d24c0302047c435bb50066306402306139ce69fc29924137cfa3e30f60422e02ea24d9a49f8c6cdc4efe2b855bcb2007563eece67405f075f8dc0bc9dfc9e10230397e4268493fd86f3178e5837702b792e11ebf564add1d610237856ec2b5f1e3428507e14aed76742c77c0453aa982ef0302047c435bb500683066023100bd5be3a2f74f08ac04ed87631b732a946e17760bc11a48faff7ac8fb6e57fbd1fe3d4b1d785962c602234b352cc5036302310086964711de1617a775497414aec267064bf0592a5ff97d5e7db230fca639e4bc70c4185c411b1caa44afc06d7ad6f8570302047c435bb500673065023100e2291ed584eea3a8fb72d5a8a2e8af0da1428bae2c94198b4df6f4ee3cd98f39d24a1c8acac26a1e25091d1d81f82e3b02302c825ce3fe282b691658af64c10f648977c62ba9c59ef24db43ad3cbc91a0442b53ba949c4877dee213be03bab1d24890302047c435bb500673065023049f26e68f986b78de7ab3060b4bf1c2ff2c04b32dbe9a0f6bd88527d39a8eb335c1971ae21d76c56adf427d2464eca5e023100e1078d3573d79a9cbd5f750a4cc447ceb116f6e8a872f2ad9758e6da034c5adec185335b6833719526919ad310fa33e70302047c435bb500663064023064c6e8831fa744a5127b47ef98a88191d79b66a91eb690fac2c9c01b55aed36db4931ddd956db4041fef11a271cb819802301d40cc36526c831c4f420ac397b18d6fecb68d1f17c79fc742d924874e2be3725e6d53bf51c977914474519c40e97d880302047c435bb5006630640230597bf1b5a4bc64dbf88546b7df06634fbb59867af94ec931aacd76f867555d1bbcf1d8930969bd678ed89a0df2688b270230196b8c9e2061684ed5cf00e60d18a828b30ddf12d6cbe22f6389c184e23d33b511879a8b6e3e598399f058e8df225aef0302047c435bb500673065023100e1d469c9d83a612f1d86ad86b1f253ba66bf7bac55b0e1850af71acd3a6ee3bf1cd296ccc294a1d19a9f5ad8bd7c8b38023061fdf6c6079485b6caceb6e21c3d46aebda24a7ebd24ee0822be9e0991edb5abab52b6e4cebba0cb1c79789d89e0034e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cea3df2102b0a6d0f73ea93eb0d72c22b13ef3ed296759562735b8fa65af4f68411c4b1ad881dc4579de441cac1067f802300365e69a5f8edd2a0a7d60be14bc0b31e5bebcb3f9d38a1ce2f93d681755c6dbccfbfc898cb4b58482e53dcd794d93110302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305b723c25cd7e4b8271078730c5330dd82e885ddea3abe2e8ef6b632fc271ace447feb099015e12aac844b94b59c69d6602301684bfe481c085b336087f5d1e69997a274a1d0392a2d6afa3c25a6364dcc5e56e68e345cef80cae0d32aea3ba70f36c0302047c435bb500683066023100cf8687795f1c2fc1491fe85e4aa89537e720be3d0c33b43685b9c741f4cccee1790090a1bdb29a3facbfea4ca9c1c1c1023100860ca3e38bafaf91e2b0071990a8550ec7b9e51700affba8661b571784b82f043de057eca5e5b85cdeedf263eb57a00b0302047c435bb500683066023100c20b9635c8cd5e1175bb0eb5847e7c44a51c7b443b9fab5a71dce8d4586ca82de10cff5cac5dd262d91d8e7b90e4733202310092171cfc43f0944a469202f8d45b09c7e7a894140975de2a4c3c84783b38a5474d7634ff87aa6f4d035ce25b6f6a43ea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c057dc877e0857ce8ccd8698371df8a960bcdfec6177a54e26f494b55284af214aeb58979be03afc290e9041bddadeb102300c6f5ae2d274c5a1c7f33aba2577ae83be1cae7692d796949a45632e84dd1685523b1c6b51d808764bb0ab427a0b92290302047c435bb50067306502306dabd0d82426ccbc11b32219d9209eb4e70d44b77e46c0aef2cdfaa047b5dd17ee97efc3117a4c6b628c63878cb05b95023100e389e9be89a3e815a9d5fdbdf0bd60637ff90eaae8d433bfc7d4ef2b3b74f70b92c2b0678dfcef329c88c5fef50bb7260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303306812a2545e0967c1ea6a769db0fabdb61cd220dce93645104d76ba81219341e96263c2067902ed68779df2c864a9d023100a481d4f028dd46b45276550590a47dd8775fcc775fa7a7fd4e709eb2f073bde8e587f5f13a27dc793cf93bfb9a8a0ab80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008e3e2199d3a6437178d8f3a518e33d89d65dc06581113bd26a839cb71530cc4e2a98baf801b5481e1bab0614784891ac023100a1dd0b8a78577100de764599974b2bb01b3076ddb2c402e7c02e923ba8bf55b369823935d48c454c3ab91d964553d4840302047c435bb50066306402303b921f3e1eed0d5b206ea78cb275546e6abffdccbaf65a10a68a2bf025467ff536e169cb3f2fc3591eb128043db68ee702300734c5a3d28fcceb7e4b25523ad2897a8498d98421d83bf8f057fe5bc3fd8ca1cffdfc9432bac92b5474e86e6ab1be4f0302047c435bb5006730650230359d3fbfc5bcfd26c7fe234c89db17d973591f40a731bac7bd79001f0f58d9949d88d68cbeeae137f0e4254596ee6e460231008dc9e5d1d4a3450d0df822e0341037255e83dd1f3171b9b512b8e2ba07fce19df9666e4540be0fc9063c73ece6b70cf20302047c435bb50066306402304c075dd8a46c1c679e6bf39a6289ea3dbdb3748d6b3355ab7e5c80cdda826412f9b4d0f6d45b3a8548260ac5a37e9c2f02304ac1e516e6074abdf65710b060161e8a89b33eeb75949aafd5993c1fef452890579e92af928e541f046a766cb104ca730302047c435bb500663064023054203bfb4ead6a2fff1798402fff96cb8779a25331ec3d579a7a8e125d7831374e635b30f59b62b7ff2ee7451e6857fa0230763a7f73a10dbf7e20f46a782466278df749141b8132f489bac1ca8c97240a7e122639bd7ec3ef4ce5f98e4e74cca3880302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d0e881de26686edbce4c0506fd3b107ca8f5c111781d43883fddfa43dda292fe565854bc48e5508b42fde79302a5a617023038806375ed3431432236e8f43f0419cb941f422cf4cf3d8b89d2ad284df72162127ec233231be4fa834fbea45db670a20302047c435bb5006630640230227b46e61f51712d27daceb953b4d6dc22cca1e47f220cf0c01c0e377b7b0f6cb3ac1d12245ba7f6218a45cc38e0e332023052e952eb65eaef4a63c81202d52d3bde09fa479412fe4602b7a0d9f93886512775f9b92aa51d781fb5ed91a8550b7c1e0302047c435bb500683066023100eab17d116d4d258cfd545e696e5c7409aca3b048e7c44233e40c51e5404b33af9c2c4d61547f35942b0a45e769147a9c023100ba884262c8e2f2f69b78a233779fbe7558951aa370cf35cd9ba9256c905cc6137b44d73e8c28b71f7a1c3aa401ad740c0302047c435bb50067306502306c7e082e46ae3638234d9bb8eebf915aa22842107c88296602786725a14bc85c953379727b8a949a8cdde3d437aff73d023100bf5d4a0090d9872ffd94b465b3f9b04b5fcbcfe0e2687fcfbb0926ee5dc167c4df1643fcbe396d7c248acad446ab18280302047c435bb500673065023100ce3be528d1be0b7f406433eafb351a5be78bf07f944262f67c50e9d04a62952d2b3975f6b7695183e1662ad34d94edc802302391274456f0fdd214aecbb036389cc440c5408afde5548ac4fda2d79ce1a2775c71c7ebe0bd4ae879dbd97e0f14eb530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301a69c5f46e2cfa4a01737462753ac4371bd06a7c7e2aef1a8e6523801ef925413119f755f07639b43f6a547fc79aee7b023100b67b0bd9ae0f7c167ba769ba5d56c375acfc84b1f4bfe8f7723b4f5fafdf39b174f9479a5a25158862ac8a4a102327480302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100826f195d35d7379f6274e76cb07f8f5704a0f7dfcf53ffe5c538106a2635fcf0a25bc443b6e0c05c67b9afac649e4b37023100963b271cc29ca3e5aba999f3858a275a260a3c15de4b74b39e563302fafd6aa16be1118c717301683322c314797c8b660302047c435bb500673065023100e23bbf468605a74406f582d4054ce6813c4ea6e69f655345d865d66c59ad2d44f6681c3fa1f70375a191ac4da82042cc023043f470f038b9ae2f9e04232d036018fe82a30961e3f9276cf0845d9c9a69fcbdd0ca4c4eab5e5d5b388e20e2744bb91e0302047c435bb500673065023100d77c9ae9cb6cf02ab32c7dc8cc0b33b1e95bc6e066c6479ef2ca1439ac760e95bcadc0d639843c427c0d8b38a1019da1023007e137a5f9537ee3af6e88e9b8b63a9725e0d0bfa4b5fa936bad85c7661202745d2007dc0a9a61144ea5cc75d21324a30302047c435bb500673065023100a69d08ed2dd2698a047e3670caa0fb7fabb606333424dfd73e5b77752af62c8f9a5a86675b4f1a0a7d55c920086848df0230152be145ce525e3b54e47f803a82427c43ca2745b09853aff6c28b9c5d98057fa963a90462bbb13774ef5eea5ac1ab560302047c435bb500683066023100fcd00810135b913fbea20715cc6dfcc849858bb75a850762a129cfc7d8a92307062eba92c866f73f9e0f019f0dbad6c50231009434e5227396a0c92571ced7e17b7cc292aed1f54c9075229ce58d6cd147fd53c4078a287031490d129cc8f5d85380830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230390415687a774de2baab568e7cde4a6bfcfd846a5ae23ef34d60c58754017b72abac7331fc711ed6bd58d8b955513540023100f3df840ee96a7fc69bbf98131032835e29888d5606c730736a4f93040c5147bccf1e938e90aa16f007754ac9db3e2b7a0302047c435bb50067306502302d8f111a92d3733b2cfa6619912811b0d4b7493c84e7c2fdf6637ca9a8fdbe656082b1cdeee0ecc8218cf707d3391575023100e7640509ba87ff392f6effbe76780a84da7edd71f6bddd34d50f2a085e45bbc3d8c1fe7dc6f702a42e4271d904a9b7270302047c435bb50067306502301de51f0c9c3a54270635175183b394042a58f6b48ecec58577758c6d46599d2bae5bef0e11c5baeb29048d39efe114c9023100c7162893d17ce14427ed771a94e03cf6889e64b4663a717bac192a0167400c52a027acb972061f045c45f171787444900302047c435bb50067306502305220e59b9071072e473e4a146d8f55dc743e1d755d70d7ddeae9b3bfd4a0ffe4ac9ad3495635222c6cd9581b3d144cb7023100c0a8d0578a0f3c6031c5519aecce472983b2e753f1c1a3cf0573e8c60ff23390981e0e2bf51ba3038fee6736393a0f9a0302047c435bb500683066023100ee40ee08cbc72f19a344e6525a1655473c470227a1beae2f91dfd6f55052f57098b2560d6f5f2d0ea084b1844471514e023100e1fb4c7f49869a304b0a22d49b1435a5ec2f2b32109868ab0b0b97deb1f7a8d0786eff39d99beda1da129a6c891eabad0302047c435bb500663064023001ea31adcf827dd332ea5fb68482af19078c02fa68cbaef0afe336375d240d81b53a30380cb9baea6e0c7b224f87a93102304fae012164da3be99772f8f725b76a185caacf991b8a74ea099ba2063596688e6b388b62b3e300a503c5bff346b321900302047c435bb500683066023100dd6a0f7c1746f0c3e9c3fcaf6b920fe923142e7db873a9acaeb6051c219766b78080faddf065ecfcc6c580d8926d61f7023100c22d2d702df41296964db466d22dae3bfd3113a1dca803685dc00f8e484fb1781abe2343712ae31950fead29bdf5b7cb0302047c435bb5006830660231008469389a0c3b0187a9ce25cd21c89886ee31c350a0c3c5fafc1f095026989eff63f3161a3e9cc4382bdec594149bf24f023100ede4341687b36a86e7cd56ec32be9a36cc7e923b8f354c2d71da016579fd4e796855ba06f822e403819fbcae68af80090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310087a1948c54694695e79317278b2474bcb4a1bacc40191809d889293201a8d3576e34f6fea05b60e7b0dd93058877a227023100a9b1ca56062ae24ecbc96ef7c7001ca151378628515c315a1ad3461ca91cc2612770be4e6b2e162bb976dbb07c1d45760302047c435bb500663064023022833b03f855f67849b493b18698aa8a02d0d83bc9cf145c022e072beb002bb040bd842271eb45c498c06180494e2ebb02303d6380783e444cc53976a7e3ccef194922011503ab26d413a8869ed32aa9abffdd150959257d984e384e66fb247874340302047c435bb500673065023100ec0cf54f2c697d7ea07ad0e7d2a061e97f0abbfc9b622087bbfce918a8121731137a72ae81e4ce1f02a0fd9675256853023011c2affa268856c687b6d1ebbdf61cbd0e0f89f91890fed66f1898d51c00f2ab1c35f64bdc146ae226636e0d5d1b8d480302047c435bb500683066023100b480375f4b38478094e4f98ad2d39477fdcfe11530dc6beddecca9d8b80f1a9f552a3f12ac5e2048d7bd0f84e3a9508c023100822c109b493d86148ad7d1fcb476cfe283c3d55b18a8c0d4e93697be08dd24a5c218219376133e9738c2ec75f0f7c3b50302047c435bb500673065023068e3a1b17ba141dcde2ab1124e22f19816cb966afd386de6664edde94e58a2c99d638a61125fe67012e7820c91012c7c023100e51883b59df7bb5e613426111885cc587ebdef171cf80f5f2bd45aedcbc31048fd9c2915a076e37f83306813aebdafc70302047c435bb50066306402304818310cffa0ea6d4569227a74e662f12f2361fd04ec005faa749500d5cd094fc2c67947e1e3286c2f94dfe3c41a07170230633a8f11a727494d05a1af2ca25ab855b30de0ee4e2336a14c8aa1d23202ff5c290b4be02d1ded87745a61a8a66ca47b0302047c435bb50067306502303d4a3ca01f8dd13d39f580e264c5183612360725f10d69b410bbe141dde8e4d6b6f1cfa4a5237a1caba4e2d6b07b5bc5023100c453432baa7ec1ed8ba537091edc037f61728a547252e8cc160ab5956ee27192e5cbbb6fe8cba3e68fcf2df07c1a30750302047c435bb50067306502307429447ddd506f7bde10e8e018b66491c0a181b390a73ce73d1049522c0bf155d96f42a74f1417d5e789bca176afb5e4023100fc9a5a2ed2be0095768a96decf9696af119aabff0890e1ce5596dd813f1d2239f0b6602df67d37f9323697097310fa480302047c435bb500673065023100830cf230a00bc6bb0a2f131d67479deeffc7f04c53a6edeb19e8e83fc864c77f2a860483a5293d3b19e1483ac034ff8202305625c70313fe71b88a84dcd8b4b9ccf3e84bd50f8b8dd81602a0b42cf85697c345afd0b51c9da1cad6b846d5b3e768330302047c435bb5006730650230115ca878fa8ed52702bb26f4d7d979361c87a474140ed5e90f489a75468394b8b0f609ae62295e4bfe776e9f618b5f01023100e3952d81354479d5c27ab8ab0cd318f3a3315e5a02755c7857641dcebd25c45b17f12270777212f3b45e552c21fbf6aa0302047c435bb500683066023100aa1c12774d7a5ba18b300564ab49cada22fe35dcda86c34a76ca8d7be6503f0060fcc4006574f6a2be6a8882f6cee89c023100ae02737b8d1f7f446da52c77914d61c5f5494216d8ee69f2ea2f6c2b05ead3f5096d31dfa8852080714c493a673fe9380302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023051ca6f7595def33e3c83207b40189b3c34b603f6287eed51ec1de90d0365e761397223cfb539b989db2e563ad404dc2e02306b7fd8dadd3de3470c7a6863fd96add9e6b03535efc9190d69e5dd6415c36303caff871f5899eaba8e85e7d1b2aa53ec0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100adf597ab4a336251e6676de9f25a3418a56e18dd2bbeb204e3fcabe3bef97d3b63f99102c6bf96199b2569312ab42e6b023100e7ee1d2281cd232d377b5eff8288b48ebf3708975eade53ef0bf4963ce3974e1abc2959cefeda838069478fa0847abab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d81d4ea23133fd919f4e5896dbe027b202e4941ebaeec0decb9535ca12c39b52738ddb51aa4d37de424331d82b44ad77023100de81507d93aa5531ca0f3e3ec99446f5883ff559a27d7d7ca140a49b82d04bcaab277944cf20df34f4cbdceb638705690302047c435bb500673065023100d6c51f7c3fe45f21d6d2da323b20dfed4921b92d3175f3980186e5e74825bfdf1ee709bb7d500ee341bef229e9da42f702301e0db407e2932ff34fbf363184bac93d6618e34d850161dca1d20a0d6532a36604eb16882e483a884f13cc63c6ef8d2d0302047c435bb500683066023100b24ef0bcbf083816b134937ee4fe10e3aa4dc8d86c0719c1621199ae9782e28b792f2b1ed964e496f1dc80b794ff8669023100e9f2caa68a6fb9d292a3c1f4ed51a8bfa5aba83451f0983dfefe3e8cd438e9a45a59b7ae1a4deed704c2072d8a2866c60302047c435bb500683066023100e9d07865cd8559d3f4406be0506007aac0f56a3c0cfd1674087643b3d448aee392106c3f6879afa5fe557845e990b5ae023100a70a359b14f4e5f58ae2588c975dd72e4f6443d59564fcada97d18c45ea80f51a7fd51fbf6ecfa482bd2cdebf83599300302047c435bb500673065023016f21041ca2ca5b0cc1da222c970dbd3926e4b72ec41276116a50a181ef05d640ffe6f07a614b6d1da53c57915cc0f0f023100e732cc55a92f38c1b1de2d76f73e41be52386c249077df5b53fc3d0374165f968a5c8ab8debb00348e6b4a15ef9764560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300b83457f19e8dcb927fa5714d8cd36c5134d491089af2713794c07db7945e2fa49adccfec3e4d38fb29c83ce7297d80f02304f4bc09a1d701af89d39549b07d3a3100f630792a8f1753957ce05458d882b49f1cf45190d3e89df505032fd619a7bc80302047c435bb500683066023100cea15c4af2b6cfa5db9f352b13b7e531e305ce380fed87ae842d811b0b714f6dc60725b239b9bb61bdd70abd3095c7fc0231009579debe61c591d48a631aa113a3e2c92ddb4810a8d760d4dadac6cc443e0cacfcdfc1d068ff9dd9714d497312900fc50302047c435bb500663064023001b122e33ab6bf5f02bec99614ef7ba5d3aaa0242d73ebf55861e6cb4baf3b44ca9a6cdd5f090de73e59e4b97e59049202302541351e4fab13d8476d326a0b5282c2b960f5259b38c0589354a5b95cebd7b43cdd514a109fea98e9eb6c0013e4e0a90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310091ba60685c6b40da53e34ac6ebea6d5cd60a94d42987b171e01bdf7c5aa250ce5cf56b615029335934a1ad1539e6d419023100c814e0f1a8bed8ce57ef82eae22179d6755ba384e28cea7604a5061050b24e8357e138f93526ff30f95e82e76281d09e0302047c435bb500673065023100e81d4c6d3bd609e0ef86bac030aa633ac9694bd4b19dc0e9b6bd9bf9ca6ddb07de90b7f71ce52358b77ecc3b2505a2ff0230602ae83fa5116a709aa4607108cc887165ed6c2c11c7e2467f1a63537a338bfea94464b186e1bdc1e84f951232eab1120302047c435bb5006730650230722559bbd6533e23bfc010d6c72cc99c1b0c7d5df33bc418298cd1e2d52df9c18b524612397e721cc92bdd090c0bd980023100ea4019e39732faaf3287f895a021d8bc5473565725c5c80511819f09dfca18faabbd2f07d3638dc93603f70129b456260302047c435bb500683066023100b868d850a98d32afd4f7785db2ed7fe3e45f6072cdca9e2394b8a5215668282c03b73fdc1e3b381745273d22e86a878d023100cfa40c8359f71420558d77bbc26120c0519fd174419c6f922e4a2a7cf7e53e5ceda6e7ac5f598b2b2fe59f40864609d60302047c435bb50067306502302e0e5ff08223d745ccf9fe3276a57d68791a2e4d071a62dcfcf5a2a018b196949c74e2ba6e6e70a587a80671500a7c460231009eab9ee1f770d4c66c031b5a08d2e2336d79afde9620fd9f8d89f218f7e97177145f3a57a9c8dc6177cae1c8b339c7dc0302047c435bb500673065023028ee0e8da806e64af90b4d74a2cfdea79322a44f42246b35231104092f9e2ed1cf4218f0b77fb176778e657122f7951f0231009fc0eecf8e49be9594a5a368baefb304473eb23072782ef6da89c9b6c6cecd023f55f1fefe0e4e937f1331738bfef9fa0302047c435bb50067306502300731e54fe0e8493164434c6344242836218a92adeaa0a76acf8555f237720155709722fbab6fb4c3cd3371f32fd4958a023100f3cd5432c938e3b37d6e059fcc1dce2a483242b040bd08ed5c8fc801d7013635d0f477cc703f0aaba3cb88f1bce79a330302047c435bb5006730650231009d64621a8f15b5f7e4238ea95a0c62416c3cc5a8b51f01823b6dedc74b05d92b35cb10fca2a00c61204bf86bb9d2dada023070bb97efac95db036dee0fc434224caaf68ac4fe9404393b107bb32e2a058499a4e13258f41ddd5046d099d0e6e0542c0302047c435bb50066306402301798a56cbaa62a2423efbd3faff86c687e6f29f432d1886229ec0c361232f563607f2cdadb26c499a2835b6107bbc72802305867c56483145434f8632c4b3ecb109eb0d2f487fcc09e464d1d3da4c514eb3a896b36636836ba23d1ba57a2acfacd710302047c435bb50067306502303e40117034bb9574b9f1563344b6fffc476eabaf5d6eaa765d0125d9b5df4d2804cb916c48064e456db440a04b8b5a14023100c2e70cc253d8b23e4b8fbe63b15fefdee5efa296d7d9d48eb2e4ccc7733076343957552a1323a974d06beed03f3cc4e30302047c435bb5006730650230070c046ec709081b570f7251d6acb011f55c2b299f2bb28ea877f66e59a8fe6b566acce751dfd0dccdab7e7025b80f1b023100a9e65bb981745d0f410edb3ac34394f0a12530f58e01e0f2dfd249cf66297f413bc502f77641d546e0e4ab717328596e0302047c435bb500673065023100f2af6157651933e2e1b4cc715471941bd646a7c690e0da9ce0d79f502a0924ab5deb8206e09fc202aaac54c83dba26030230789087adaeab0e587a54cc363a275493bce596fa3ae00eead216690bcd6aa28801bd1cd89fe0c4a413e24f1f0b344ebe0302047c435bb5006730650230289666eb13385ac5eeb41a36f12fd9fb8c1b3d2d4006afa9d3ee8325887441c5faef09a2f1ab914a5e693f0defd22ab4023100d74c52fd009de43810fb93c2f02582dd938fc6f62258dd345404d98b5e4672cb31a6113d927dc066db67e957fe8734d70302047c435bb50067306502305b1a5c24ac08ef25fc774005a953743ab3ad98a78fd4e8236f6604ec57782d8ccc077c6c7072741cc5578a4d2d247a86023100984b4e4d632cb20216b924fb8cc12ce20fb031927c4e6120b40ba5da1106027eb91ddd664bafe9fb9f12354ccd007bd40302047c435bb500673065023073f79067a014edc064cb72a8dc04d7473f9ed7ebba35e11886e59b8da2422cbb81fcac7280c2a1ddfc59f861af87974b023100dea5cc6e3a54292549fd3c8e2a9c1b71a2a01b68f03375be5f7df496b0c19b3e765e6cb746952f1fa0a3387688d051a10302047c435bb50066306402302901a6efaa0b1da6fb8af1e027a730a7a44c9a9fb8469b8dd81cb54116b5376e65c15755595f2f1f04d6c2cdaf1cee14023078a0bd5babaf7ba4c8577f92300c8588fd653739fd12d9695aba6757f8d72d7eec36ac422d08c877f395793aabc6b2110302047c435bb500673065023100c16b61e78c0aa7e264d7039c9fa531d08375e284f515bdaaac1c411d80831de55cfe02d27fd6de1d07858123c7e25f4f023003f279900f8d7b281cdfbfec2732719eea0b60c557815cace4ad8c9e3a685f408326b16602aa7bc29b1ae6ccba4fd1e40302047c435bb50067306502301080ab81c83b650f8b62b4784800076335855db62f6f4602c9f6b07a70515928b96c0100732afb364ea08d44d466d3540231008b46f2bd24142ce23c1c52e3b0223a14ff24030bcea7ffb5af7317cda442d46d092a60f4d17f20020f5c015fc8b3ee0b0302047c435bb500683066023100a0fdaee2ef3baae6c0cd0130889c7f0088310c7e32a63034d5b523f84b869a18d65e0bfb324ff8232c551fb26559b02e0231008a2185729bdb987e28d00c76a046f0714a87850d1287b8fc5319ace2a199f8ce7d534fd9404e9393b4b3035813de036a0302047c435bb500683066023100d9459b37d61d62fb889c74065ac2d560efd56759e5475e7b93db2c601762bcb24009f65dc1bb7efd9500fb16119ba3570231008e65986916b8c1a04eb2c5be14805793e05eb36fafb5154aa51cf83c44eb502a9170725402b98819ab009ec35d17f1650302047c435bb500673065023068d6b9abddb80b250d4a43a2a6fc2fb884822adb7c96f9c6a9ed1fa205c77d68aea8217e6b5eeef6ff74958a45e31f6102310096c7f79976d6aa2df1b4e5ea2e7bd1a9d5bd55d73abdf721fe7c74a9fa103d085e0fe97b1c1486dbee85dcefccc240810302047c435bb500673065023100bb3d22f662aa4da337816d9437ac16e8849d7a7bfa9711cee70277ee5a3e94c37df03bf036f8e71c40a87fae9d43ceb202307949756b7e2ccc663cc2ece5b4a052c3bca8cbc7b3647bdc1f84b056b61b365ca1b09e7588abe41429bc4defc68c1bef0302047c435bb500683066023100f93a55010ad18e7cd578e7c1ff4d9107a745139a63703d9a2c049164c58bbefa5ba4ee981f88ff86140def21ebe7a86e023100932fe2060e2cbaa0c11f769ade6273effad41a94f5e25efe53e973db6cabfa995e6e9e91b4dd9c71e4ee8c2fdc9167480302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dbca2e328c7e1d26ef41c2a5baeeab3bbded0b195b5e6c7d5210b359e24e99904f770f95845dc74b22e63aea4c8e3107023100c94e4e030f5564de2d37e4462f88fdcdf5f9da317fb9daba15820a1568f35c12063e04c99eaf29fd10eef5fd1e009b8f0302047c435bb500663064022f5bfb63c3f1e57e5c07f05fe317ce34fa109053b07ed5ff52badae4c58ed4bbf703eea35e4ba0813d60ea75d0c24f060231009217dd7573fed4f7572d2d9a12991589bdd6ae2a07a9c314f124cd053644ee88995d68a542b02ef0f56744598b7e92e90302047c435bb500673065023024a5a76e8212f6df8b3735e76bae979002a0db5187731b62c70c34b8479d65d414133bb4a8522cce36c00637861e9eec023100a044d8d2383099396a6619c3e847f2789c0cc6a188bd924718772edb2bbb8b6e8ae0c6339dd648aec2183dbfe18838640302047c435bb50067306502301914bd772244b3dc712b02be5839fbf56124b61b76599ee672f71f056a08a03d5f285b08d91ad42beea3f87734d7b7c8023100a0dae5f9e55a3206a3a309a2a4a052bd2c3e712e7f2641c3b6cca06e02ff8153de1794f62e4528798ddaaeede7e1fe690302047c435bb500673065023100d5c443ec72f215d053ab3893767177bdc739971ff21dae27fcaf9ec504d84260b7d13c4f1f5995e50459dfb398cbdd22023063c75feb4302ff92a4acc1970625c99daae2ec1aee5a18de3ba174adcf7e99b45980aed5ac860f0aea58c7de012a88ea0302047c435bb50067306502301870dd52428e2c6ccd2d5959c6bedb1a5e9885a9cb10e5f2d635bbaa6192097d23d8b2115db8e4ef1840184725eab772023100a0ebfdba6a054c55578609dd974cbb533d310ca74dc3103ae373acb8def3337dc340f21f0ad5e8539f21c461adec8c400302047c435bb50067306502310084834811656fff03b3ba781ed95f5f8da769341c77eab6b7e591259da2ad684c8745d3c828712a396f8f411b0fc9d44d02301038abd6a35385b579a49a21543c1bf89041cecb88b46f2a429ab89ed5b7c52a6082357570aa7d1f79844409b98645eb0302047c435bb50067306502306678b41886c81e23ac410e4eb3db1087182ff288150fbbc735a8b6b730b819860e7f1d568a66a83b750bb4b002ec077d023100ce8fcbcb2c7a5c13ca47cfb110ea19761e8dc897afb0ce821a3acab6e3fb07943777c5ea5c03dd8096ef3e0950ae9b3d0302047c435bb500663064023011d98a755d4e48ed07f33dee26890f09944ba6e566ca2daf844d1ddf4dbe9491d2b135b5ab95ccb746b090b8be04489b0230017432da59d7a7292d98444942b72d7ec77cb118529ae98554ad06716f142ea7ebc162ad5036197a7aebe150b54ce9310302047c435bb50067306502307c8404422abea1714f745ea35e1c87bbd032b03e4481ccdcca86e997105eb4dd6e489a2792e6f2d043ddbfc4474eb4ff023100df83c8371188ed742dc87486243e49a84b8107ffc990c26d01651c0d2111eb6c07ed63cd233784f67713e163beefc85c0302047c435bb500673065023100b7b5e22003c108175c4619b1152a5b8eb1ba2acfb45aee38e6ae14fc5a36085a2ac8fae0111839366f248924a4d100ff023048948d4ea7a0d4c300ef10385ebf6d6f3dec0d11ae4a200524fd70b84aa331c77595b7aa2230ef47a8a4c98b44e252530302047c435bb50067306502310094f77795f14973a08b25937b6a182affec931eef9d59e8c8c299e012c3cbdd4b1a1e0bbc8c4e13cba38cc5feae4e3d5c02306db4683375d973d9451c52ebb0a7a87bb07ad06500be3ef2cca1529388535bbbe11a1be5337603a150e25092f047b2f70302047c435bb5006730650231009b56fa45eb31cf6c8be85b8a1e2c587f72594180f41caa0ed54215f73d49c39360b7b411b21a094fbf33a3c92d2367b40230109db3a0d5badbc47d4ba0f8f791313d5b022e58add68bdf06bfbe7f192cc4c9979b3710342f509c90eed3e287e55fb10302047c435bb500673065023100fbee738b0624616be46b3b207f8f6f3844a26a9865a2d6a690704e506ea76cab23954e263e1013b429ef2acc70148284023007847b3e8bbce43ec418500121b269fbc357fda3f2c85666126f13b414b904aa7e448ec77a6bd08677cbce2d9a520f1e0302047c435bb500663064023037a699f6170ef6b8d35204b659ccb8207df3b44809546639bad05a6fc72d1fcd32b25666b56632fadeba392d5250bb1c02301a8601f26d320b6dc4c131846cb2ca84e1f9d76ce6d1faadc7e52b710e8e9b7c350f73d74df556c2b76d894b83afb3810302047c435bb50066306402306904c42b445bab6ad61ec483f7bd1208805130ae9b64c3c86a3330bcfa4ee08226c99dea96270dca9b7c4b076376d0b0023054616532207cd1f1a639c4b96bf31080d74ee6a70d317f96cb21bc3d3c947b8e48c7f59ec44bb6289a856ed8a4b6f36a0302047c435bb5006730650231008447f0dd1a09c3ffdc7b2ddd6107fb7ef9578662bfd94d5d86744b62d8890a98b6830adc84660a3d10ffff9d3952f42002303bd6a955248b9ee066b766cc024f4f1ceb52ef27100fd9c4036c1f979e07ddaf4884796325dbd12d6bad123d20b58ad30302047c435bb500663064023059681afaf750857079b22c2b2bdaa8352b73c2260c13e9c515b1c01cf0377edf75797f6f06b858c589380ee0ef11d3da02304da258cc4c41e08098f2a88b48a89f65822b01a543d7b6a0ce011ee8f6b670bded73b7718398617bb69c0ea2797503f40302047c435bb5006730650231008b38e46753594c1241286a33e8cf9c3c98764b33059f564b99498c5ffaa2fcb050be4ac605e7014c0b346e6642507bac0230389d882b197f4166c7d7af5efb95b9b6a85f4bc637884d80e2211e3f5f834d996ece99319a4f181a6bb5db81e196a5770302047c435bb500683066023100cbfc08e3a8b160bac88f248bfcda3ead4157903caf29e8a69d8449e1228372920631baff116ec9ea76bdc26885ddd5340231008e39b6064046feeeba722462f1c892c9e339d7f4267d68d4e37a8f55f2f526ed0487b0fb390e4d5d29c1cdc9a98f5cb80302047c435bb500673065023035c9f3676feb14298ab5e726727763fd22d3b738e75c5824b907221b4d64621676ec6fa24bbf372e72db2b848a46f9580231008b0d62c9f610c4bd64fbd8a954c7bb08a824718993e0d93dd1c073451ead0c6660e821c262494b32485e147c3f10d30f0302047c435bb5006730650230260540eab05d6dedd6b8c731ec2931d0bb74a08b2814dccd6c70144408d533b7df1a0e8394e8682299a90f5989231fb4023100dea92786457266ab7e83833525f92472b689acbab520c820e3f24a2e25641d20a7386f979aecc0010f02ea12087685720302047c435bb5006830660231008dae0df75af87d9f0e8f48bf3bb5efe87bc3fb6ed4d7e9c4bddb8921867895be65d40442de41b47b4326c5a1c17643b3023100aa49e5f100f422689c496ebc84556f1668021893c37d3c7206142594a6e8a374753bacdfd8e56157477bf5dca208b01b0302047c435bb500683066023100928fa500314210050f50a6b1a674e8ab1af71fdd41b63cb6ab282ee6f10b32ef97c2dcc7294bd98b556070030c9a574d02310080c984ca57e890e97149212e53e511e595b9e7f03ddb906045f810228a9bf0259f0fce8ffb80b84d94c6b53b112407e20302047c435bb500673065023072b149d6e5af1d24a1a87601b9fe668db158a3090b70d4b179ca0f9005e57dae8af6bbc0c9edf9700c7bf43b70fe3323023100ac674dfd645c785e0f0371fd9b6267863e248e23bdec50affcb80872e90fd29a446dc2192c6a182856bb8366ff5201880302047c435bb5006830660231008343dd2a464d588854e07ca7c6b114470dbae030d8be3a19be784682b1436cce1b64d7b8e16925f598304054d7015b310231008feaf87044cf5f1af4e6672f3b0be40a70483263c73aa74f601ad3bce317974077582a3f484df63c105afb8822deff6a0302047c435bb500683066023100ba92cb2b06d453ab19a813e3b384ac7b9e9d05af8efcf5f354bcb97655a691908fc66b118ec518858f232fdb635688bd023100e2a9e0338cfd33d95357431b04a57482cce185fb15cac6988f405cd72d3b91ee73feee239dba8f19e844099a0cb0b72d0302047c435bb500683066023100d2421970a7de1c499ec37ced82c29b1846dbed382eae9e6aface1a05d7afd6c4da9e780e37583fc126320f762657fcaa023100941ea128e89ba57206d5aeab204950774d1aac0bb3c446906cc9484920e1bf66d2560a3282c5c33bd697638b44c8b1840302047c435bb50066306402302464306b8e707615c52d4fd4bd5078e17c7b26cd47fa9627482fa8ebbf47202ceb6d0c4aec37000991dc991ee3d00d0b023016e43bebe3969a1d4a3903b6318133fe8055227014ac117e7b6258bca43d19f7d1271700b99b75580ff4fd9aec7ef7be0302047c435bb500663064023069177c0bca6f76c98ef054b50ffe85fc18b9e7ffdd56fe4b3649bad7a494c3c8d762d39364da87ef69adb3554c75665d0230031b105abfe1c5953daaf16f67959d822dc40bc9fc9bf94f2a539f8756b280779d1f6c72bab75af24247cf5983bcd69a0302047c435bb500663064023015b2291d0c91ac1d6aa5a0a45f3192f13d98c2ebdb500bd5c3481bee3a009afb44ba6fe768d21dd24ba93e0b6b209d2f02307770571729fecd19fbaf67eead99b9dbe069edbbe8e89d8efb300eaaa02e61c7b0d41ac9f25ed8404e0fa06e519383230302047c435bb500673065023100be98d7b2361959a363ce759d6cda252d0f91b4b1230c6ee7363e029b922f5b97813db739a2e3678e2e237d1407a9c3c102306fdbf3c6dee2c22821d233ac120dc6b0abf7d62ea4e79dc3f67efd29762d4edd5c18eb4c8cdc0e31261a195818fd82650302047c435bb500683066023100dcfcef6abc2ad7b162cdb43343e759db870c8a4e88c54afaf4dbbec3278bbd8e6a140865bb17cce056194b6707274fac023100ce6caa538eee468e2da33c00c7f1fb70a3bc91bdf4648b95804116c6cb2ac2a718f19d72e9f3d262722fa43aec4892100302047c435bb5006630640230769d29e9d69ff53a7a8bca0259f01bb2b5862515a8fe48527fbf0e5964812b216ba41a5f21b9b31c25b4a9b8de55f94d023036ac5dcaa374a4671e5c7d44e3f31ea9cb05d6286b1d4106ed3fc7ce47bbf71003ac3cba357a0a279ee19dfc9a3f9a4d0302047c435bb500663064023003bc7bc086ec9a3458f3dfafa06fa82b7063f32218c5ff9957b32cd5d4381ed7f524e527a364869ae2f19d6a925eaf7b023039593d47a55c666c8292b1ba9d6aae19a29287fc003aa4a6a4fa6c017e1c8eeb0e0fa1c6080826ab8479c272132ab2e90302047c435bb50067306502301e62ba6ac07ddef59cb73ebcd943a33c4244baca8b777050c44fb54a83dee4bb9175d2bde1a436b66358cc1103dea999023100b320160bf173271e4e20ca0a2634cfaf221589e7058513cae0aec1153bb76d4c8a392997dba81103fbb19899500978020302047c435bb500673065023100f1ee0aca3e87865908a285bae23770ff3d2d987deed785d02ac506f5cbf8635cebf7d1b19f8bacd43790b049365f190b023019dbedc0e5f1b66a5b223f0182a5def3ed106d55c2c678addfdb825f26a166cb1942b40ebc9a920818ccce9651b1ace20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ac942d1a619d5755952f32c29e60c8b1eb992686d8efcdc2638ef2d46357e9e40ac362d3db630f7fd65dbf1ff30f6081023012bcd350e913803f76de6c727c4307f540ebc75152c3c3557892e6713d06c2daf5ebd005ae4fc5ae9bb92a59e6eaa37f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c7895ad6490de0493aa5a7a15534b773ab6cf3bde7070949bdbf8556e4e0d7d479e7ae0a594e8df6b48aeb02e45b6d6c0231009b625ccbcf3fa1bcd0f1df8cc1885ea7e0787dc620ca4832fd1d9f0ce6604b7d51f18dd09a3bc3ac61ec2cecbc1df66d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305bcac88780170cc07ce278d7664cc7ae9c5d22ce55f478116e9dd46644e68acfc0932b2236380e411c6299db491215f0023100950e9e63204f3605eeeaa7e53a609f4c64df888d13227939f002437145cd96fb80a6f58fee435eadb386ff0727ef29b50302047c435bb50067306502300e5277c0fc1a59d469fa52cf80cec58731e5006b99385e9a09384f58f676da39c59b28154d5f47301219d611965056bc023100e5815d51406fcc075d70b34d860598b051cb04b89185e61779080303c156d96db6a35c50b9ca5950a0eadda5c635a4820302047c435bb5006630640230461be081de4d27c712132edf0f1ee636979e8ca5e463087f756461a3ab0add5ac2f21b38a08f34bb09651b02859fa84f023075de706845fdcd98404942eed79f4c4220369a648fa6305a43e84cb137c705c7656f8d14a8e44ae71e6b13071e96d39a0302047c435bb50067306502302e54f4e64f1a6e371780046aa85c9140d15c45ccc96e40d24a28cd6e69eb988d2b1091c76d8b5caab06a6537ad5e0080023100c7e1d9ba9cb67936b49c0f9c403d0a282a77d95334c88edc584ae4a369aa7ff5aec7464ef85a71462f362229a548dafb0302047c435bb50067306502302fe711ac1ef21002c58ed1ccb0ad2c2ac38f3862258b53d181c4d0f459065520d454926568698b5a17589692bd3c89be023100a261d2cecd1e780fb02218288d0f1ce96ab15a0c543c839b7f65389a56306b8b52bafbb3df25a1e8ba74e96c283e49570302047c435bb500673065023100e7698684dc13ba574846a89c95c1661e714e3e703141614795ad626f0f312a6a57c5fc0abb34adf9ebb7b005d1f13fa0023008b36fb5d7b5270dddc884a9ebdc72f3022e6258adfe8f5feb6999d3d6a92f6d3c49afef146035067386d7bfdb6015820302047c435bb5006830660231008ea465c6a5b397ce171310aa087650ae77e67fa35ffac91b18ae26d3e39664fce72a0c35740b300470d192d594df8157023100eb4fb781517ab3e8edf4148d7dca599fe040c9bcc28a841cc0946bbe2c8a7b0af496eed27c5c6b08ad843e456f86146c0302047c435bb500673065023100f6fad17d7b8272e5b497a0adb326ec474fede06c823ca64614510403a35767e19ce98601bf3854b71432495ea2a1f23502305086cb801d179c89092296f6f6e9430e6a5a7a427480a08350019237d26b23b959cd1b5f4453363df80528dbf4568ca80302047c435bb500673065023100f56a8d826127138c5e12dcc649303351d5a7e6abbac24d759c36598f1577e5bf657d84c4ad7eb17f783bb4235b80f647023017bcde151fb9a5df009157557ba52e223926f52c0fa157b0a83c9c20ad8df1b6a3770071c4e6814267de9802ef79e3430302047c435bb5006830660231009cfe992647970c680c88072eec5564d6cadb0cc586773a80937eccab15cf1cdfeda4496d9fd7d95c01d1ddcfabe379cc023100c0a719b1cb32283719fefbaa2018168b8577ed06fcfdbfe9d5829096bec7c1dd4103bbd0c87270608737dde2e3a0d4d90302047c435bb500683066023100e745bd26ae1ad1b8f520d68ced6819c433ff1dc83de335a813155bd4621c1649e5ad02d0ea923624cc7d6d1b0d44fd10023100abbe1ea5c6fe6bb3c3041b06e37eaf0c611bfe23d5949fcb74cc6238a055e5f9fded49a335aa78aa2aaa74c40dbcbca70302047c435bb50067306502300b3cfe14868abe41e15514ea58791742fe27f9848e2ffaacb6a14709ccf2627d8132cb245d34c57f23063bef1c75ee710231008670eafda7fa7b5e2ee2b8b5b7f3c3d0435a7f6f53b732b471da8e40b004dd250e4e600b090f9305184474494825f5850302047c435bb500673065023100fa15c993453bb8bec5f69f577976c6e1dfa9b0ffcdd0be351f4a67353a54a69fd2fa81637de9fbfc5a2d47bccc3e504702306c272ebff6042993129c84c133f1005e4529e0b240cd472d80b6c066f1b7d167b39a0a8ca9d1a1ec8b4a87860b9043c20302047c435bb500673065023100dc227bea9f944cd7703d093c285284e007a33742034ffe135b6b30980645305f955e201b873d3d3bd65bd5df09c49517023033a5fccb839be38387803ef1e38d5c4430f6a67afa64a53cacda5a9a1ca2ec3b7b6c89470d825e35085bfe93130817180302047c435bb50066306402306829ce336dc6612937b468b9921cdff313147bdb92b3cfb83a434631288b375a37a2b32b7da53d70ef0fd5dbd2de1eab023053272093911332ab5a5b6855f082c1505cb81caba34431c02956f7d98696fb93664070a57b064cc2787d89a8dc7c17190302047c435bb500663064023012962b1b3697b6c9632156b2d81f440855cb99f8c9f45a47032de8f6025eea36db0d586b04816c892ca693efd5b637cf02302ed690b6a4ed057548beb7ef583217499ba53aa30546912c004618d7e1f631757d35d565b9c318f562fbe08e26800e700302047c435bb500673065023100aab8a7ea5122ce6354707fc0b25dade8c47701df9400855415282d07553d8c4c24b2349c01e27530c0060fe788c27e0502303d16cc2c9910379b4bc7b477518c5ebebf06ae97633ab163791a25394e456c5b36092f156961cb22ae9be2867934ecb50302047c435bb500673065023014917d83e45427d602fed0f1281308f32a9e735f278ec055bc7bcc8ba627cd24804c792bc9b71486afad21fc7141eb0f023100952e47f9fb87f9cab3648683027577680f6881d0fa8b4129fb5043757175cf3709164192dfcefcb2dccbcf1453e4b3030302047c435bb50067306502307ec33b5d79934324f9f47f0be1744c47a6bca1aef473a0e72ec5397d5eae5649b2b31ca98c2a122185a60cbac96aa7be023100f09385a4039159a3b166bfb2c79886a524ebf0cbabdfec636aefbcc5635c5a028df119649fbe2f8d431e8d829f8ea16e0302047c435bb50067306502305bdc47658b8e08f92107da2cf826ddf1a23b4865fc456ddb2251c432c91f973f825d74dbd881b98e1390c630a0f687ca023100cae6774cf0cf0e61e4d1da421d9198047876052648dcd5231492744d350d09857250979abeef2c406dbff30aa3d3885c0302047c435bb500673065023100922896a2aceba3b5f98fa18079b6547329854b395315efa96b05c6e0a4fafff98d10948ef9e332224d6639df913e1ec6023070214c47c0773f7689d849b735fbe074e86fa52655d1c02590bfc2fff7db18616f814fc9a938b209688d2cf0dc4e86250302047c435bb50067306502301b7e94a05aaa856589556d69dba53457be349d1d8f777c9b46f31edb9115e426a05f2bb1f7724144b40befe42a3470c7023100b6ecba0ab80c3a541736fc1f9ab3044766e906fa487f857591f23fa669f63d91bacc4d0628bc1cee368c1fe02ccf975c0302047c435bb500683066023100cdbcace0f6e15b21be50990de2924515a6a83398559418844737e399d508f01fed7c93458aee3605a863cc79a5dbded2023100b45c4602393b5d6e892ffefc1b0c0d224040960dff888e887085af6b6f4851e7dad0ccc5222c6e49075a9bb677eae0900302047c435bb5006730650230268d7d07bac4d1334ed3ef6b20d57890b6d409c0ad48a2a3895bd977c5d213584321712766501881c201f8cbcb7fb8600231009f76d1ace7c2d0ba8445ce1b56fa817916418e28da34342e996fb761559e835adf76995e446e423b96702a31c51fd2090302047c435bb50066306402302eb4c16bc540eb11859cc1e9b0176de345bf3e94c573ac26b3415962615ed552e8dd9a84c4f36ea0aed9d833e0df98c30230761b9ae2514f5f6158c2ae20ae7561f2955bc70370dfc5ada5e3f4c00c6b50d83fe90add686fd011e42fd1c4dc209fea0302047c435bb500673065023054dee197d608f4e71690ad1a68d8354678b2eef12147b503c9b6227314bbe6eabeda2c5dc6d366b0f9ab688aa7746e41023100868a91429d758845fcf44dcf0a1e14c9b620af691a32461773aa159877efa55f9f7d25d5a165b2433e653bf98750d41b0302047c435bb500683066023100d20e14615d72d8854121161d896841008d099d0970798bdae46af84ef3195373dbb246000426cba5d29a60ef631657b0023100dcf31c9072f919257d48302d95d82e0ea6e906c4d3d238b833d63f99bc4288a6deacf44b66242c1427b2811d33b64bf00302047c435bb50068306602310097437c4180c7e9fca7f787d83bd114b9d71eadadf5172e61ac71a2303b616b2515256785edacd8dc7df4ac02f42f8f9c023100c09f9929e8fe38a890799926f60a51aa4e78dca1291b823ccbfac258bda9d51714765392cd17849c25302f31d6388c040302047c435bb500673065023100b1261d38d6f60988774b4a940837abeb5995a716914d665a9815e4410045aa1808a0aac1069d1112abde7f5c7662e1aa0230783d5316cd2122201ab2edde20b3e83736b7b046b8c48b01d67b7b80fdcd9e810ec20812778d14113e8244a0a44d42650302047c435bb500673065023100c18a366d90383e9ab4499c76a02bbe80f6deb6154a206a06b6cf5a8f6848d045482477805c64d6034c61d2aa64b0f32102307c16e400203aa41b5d93a63312ab42c1978f994474e4a8d850ded94a0ac7b2f9ae4639063321789429454caaf4078f450302047c435bb500683066023100a13cab089f0d76ebde18eb0f78c7e5c900761e04a54dde67439905e29efe0b0b8d94b17b925872a9da51f946eef5c2ce023100a9bcc35ebcfde44e5872a960acabfb103678dd6d04e0945f758b570ed91761ad5e7e949f5e48dbc9b4c21c840c38509b0302047c435bb50066306402305d1c466c5cd695888b6037c45cd0667c8c7604bf14aa1b7a673a56fea86ee5f9a1acf48aa8efe0a4944c259b7245a1f10230329c91d2941cfd4e9cdfaa38db7cca69aaae3a4ec7756fe7570ca225b95cbb35e246e5c9a79c958bccd924d4a52f7d6d0302047c435bb500673065023002dc2d33a6c7ff9ff2b7e16f14e9eb8c2896a9bc7e211af64f8d03ea586df3ea592bffd2ba9d868acff17bd755bfb470023100a3d9ff632d8ad1d9b656ca14be934a8c8870faa8dd4fbdac4c68a9d8324f1aff61d8b74b519d9549ce1e1524d1d8608b0302047c435bb500673065023100a2bc6b41327d1f6a52d74381d16a2ca9576e2df26fdd9d5571f8ccb22886dea8cf24304933a8734b5bf1ec53cd406e0002303f7fdc1d5a2a2a862a924738d97ab06a32fa97694039c605973297ae05311455a876bc1e9b757f24cbe7b9cc9b97d0230302047c435bb500673065023045ff8e755f2b0676228a2a3878e1bbecc5015129e925c2fff4e0c6a0bbc8b188862d2b5dbaa6ba3d38d39abe7b742ccc023100fd7d1c0f562b05dfd7c431a3a6d44dc5c94631689b1a006301829458230d772e501eb5cf0bc3d9bf7881400dadfb54740302047c435bb500683066023100d479b0c7bd85e5e317bb88e8aae01897df824dc9324d9849e3dfbc4b337070aa55e8b0c0f799c5c684a7858b98ea2aff023100e57da7d208fea0aec7653709ab448a6ca64a1a1cdc3c8c1664ca8e4713be86b139fb0ff6af38d2c56977aa6ddb8d58740302047c435bb500683066023100c94ca4d4092e18a94489b9d3af5a80c19c2ed6de6e431eeb07b59b58be2a30976a355d4cfed40aef32df1bdb7906dc1e023100eaab91f32cf103a7f067f2fe86f31cd46a13b6530971cb927a48f9d66a07fc2e65b4b5a8543504441723969af90b70d90302047c435bb50067306502304b001e4e0d8d9cdddfb3682220a09a4c6e962f4d83610c1f607c51ae2f92cb0642b038357f80bb95c19516002977532f023100b4a4f1f361c4fe929b1d66ce69ac39e3b919a9a57fb763d7bfd5aa2cddbe003ccaf6f2bd0513f11877bee146941e27660302047c435bb500683066023100ae5c437698783682a708a6acd2a2fd9ba5fad8bb5c0d8eda19c146cb42effa07bb97a1216cab643c9913b42dd5a4e460023100d9c024c23a86a7b7425d884c7dec25ddb5d250a1ec42ba376f93d64d88241e56bfc85bcc43191f7c143efdb37031603c0302047c435bb500673065023100a0283fc3cf4a6d16dc1b5aa1102f496b18327c0434ee742ebc6920ba60cc07bc59395d18e9c8c440bb182bec9b98a5af02305c5590c067fa0ab8236ea62a3f3970a42c3f735b4cbc230efa510cac5b741276dcc128b520835fcd0efd5eba4506f3650302047c435bb500683066023100845f5e75d15346a31223f757daee6d347999cd6aecbc40880d2544ce432015a1df7bb078918974ef616582686d38714b023100c99dcf78348404d7d87514069e63fb2192b6df0b160b05b4e8978a28d3ba607698aef34326a7ac56e2212c0766d96ac20302047c435bb50067306502300535d843dc9e016c2be6afd147dc745fd77a5c03a423d77c9cde385a806939bed76ae8269f21ca961250ff8c7995f446023100df24c862727a0dabf168e70e944e0986f1dd9b7512604ebef6be32472576a05f855724a6a6f1d62a93c917c6dda1690a0302047c435bb50067306502303188a950a10de03ce68da47dada8a5d24431f398e29de5072a8bef2eb75b74c6ec80585cc6762d80c1ad3fd9233afa5b023100f52ccfe5e521dd66d4d8cee7c3600353cc609baaa31ba4cba2cd0a961fc99a79ce32aece42dd47fd2eb50c283010a8550302047c435bb50066306402301de47df40ef05aaf1f98592a3469bb343fac3e782971bbd8ba9760b2bfe4b6eedf30874c3159ffcf1c39fde1a7d75e3f02300a462526afddc13cce30d298dbadc6da4523f1376d294d640805686132c4f14446a0d54626a7767b20f8491adc4a7c7c0302047c435bb500663064023066417fbb0364c07048191246630d10540fa244aae5537b94556006b1026d33e651da16cc4f85c4f21be20babf385bbb302303f7e12a315f7c3289d7e3e8100efadfee80a1119e5d8e0a3609d35390abd131fa6fcdac6663487221312f23df536acb30302047c435bb500683066023100a4fe0ac9e95027b916da7403bd53ec2c1592607eba0843b10ddff6f0952912848fde7fdd7c9779aea117714ccf661757023100cd0de7f3e5b9fbbae91c108faf1fe7911c597a7e913b0b16b8a7d45bf2457d525ea3542c2151e0699239992065ceec160302047c435bb50066306402303af16b732ba20f99d463078b59d20ecc1a58d0b3ab0df235a086ed4edec4e66bca2f7576bcbf3682f0526e5f4046f407023003fad36843b13a04f4f1158156b41daf021dd71e9f5cbc287e2535326c95a8d491995b177d32fbfbbf50f773cd13c25d0302047c435bb5006630640230333b23cf0567732f3219d7be7209ef17dc411422a530797c01669cff108210d6774980b82a28d027bb57835085b1fe7802305337957b51a2812a31e9bd12e55f327dfa423cb5c4024571b94cc6b1e1cbec63cd6376fd4cb8104cd84aed41da6892740302047c435bb5006730650231009ea8b66b836459f1cf5a434f0e6c29f9a755db9c1644c541edc6f03b73b5ddf42f8e20573f59a743bc0a95f710e7a86a023066cd0a9f8ecc6228882347113026aaabae5544f9794b3a002e345567066b14ff7b79f4cf983b2637cf1ec6fd7d260f730302047c435bb500673065023079e81ef6adabd07c1bd9c12bbe919d8c0d0aff555d75edffa125a31a2438fa42ec2a9ba9dc1e5d73d4412660bb771c9d0231009a247ac312099046a666fca08c80fa99858a8b97852f63ff2acf5e13b058900550f682195154417dde81830025b289fd0302047c435bb50067306502302eac452212a979269d3de8c1547b01f98241361d017f0032b52f2e185de165caeefee3fa4cbb7556252d17ff57a0da15023100ea8fd145915261075d663aa5e031d264993ac3eaa215df2a740343583b190f74c43d41f58d8057887b5bc62d5ce840690302047c435bb500673065023017532220e59dc9fe7d3226f969a0b6bde1584e8184ac25241a789b11293e9c754cd54c0b2dfa391dcff7eeb037a39868023100c89fcfb50d736516125177c59299e6628baa9d0c4f77d723ccb355c65d163b942d4217bf69a662f4222387fb9c49d84a0302047c435bb50066306402304bc8ad7a7f94e5f6e0de1f8cf79ce7e83d978db0eb88fea8f609dbc776960cd3d54798b056d910b769132d0d744c899c02301dc4b27e9e539d2f83a8098f28deba41388e4ea6af3ff2ac902a1a080fcc6dac8c20e979717b7c6059b48dfdbfcfabd00302047c435bb500683066023100a8b7b3be136d5754e90bbb714b86bbaaec0ccc7f6e2b2775bf0b33d367158eb15d42079535121127bf21c3cb6db6b2db02310081060692a98d7ce776b77a446734436c1e49129e9b72cf1bb92a87daeb92ea678c0909f8614751657546863cbf08829c0302047c435bb500673065023100ade315ac1e3b5042b8884026a90c6735cc76922fc0d569350f637c0afb90cd62abf59b7d8e30681a690dd3f0e52e608402301a4b8949b79be39089a4bc527a97c49446b131bf549d65349187b6ab81d5ac556ffffb208249f57b60828b90914d06e80302047c435bb500673065023100bf62e3c9030503beb2694a5f720e10014ebb6ea1ea2eb7e377f6bb5626b5ba371583deb3ac9ede19334a56c8c80d26d2023000bb4172801be2d4dbc18f7a1017ea2a4bda9d552d98adbc0d50614a7bfb8cadb0cacc2d4683c062d4d9e0319502e4860302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303df8310d4ea14aec7bc9301f9d681c305b181859ca159d9ef112817ad0ad4e35401afc810fc409ef1a1978978ff5f03402300e1a923ecc8fb07c44412a32dc4dd2e8e46c55994f489f712ad9b852f93534683c187db3d463f304ac7be2c2f5184fc40302047c435bb500663064023038552fbae6cbc480096b14fef46cc4c98144384a0204ba7f274640c01035b23dd772d402854bfed3623c4465cf483d00023027a7b26ec7be8234ce6c77eb775f5aa9ce1105d682ed91cb55c0ce0bae330f23d8c8477a31a4c7e8e5494ca706e07c270302047c435bb500663064023025a84c2253c61d3a152e318dd6ecacc3a811abb7dc8b6351b5d967b71f596fa58e4352d94878440dba57244c89ff6f6c023024d8bf43a8e4f0bc6fd95322c6bf7df8f68093df91ddda7a78eb9ca1ba0a61d71437eeec7771377be07f046ad47d742b0302047c435bb50067306502310095484b1aa25b4154923cc757a9b6660b469967409de155cc02805c873c11d4ad8e818f431eccdfb8b520e00b1de16cc402301f0c6b46a18509a1b712d5738f12a7953574d72b1cd7c704731de56aeae3beaf35fcd99c05e872ccc5e35885559dbd760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300f97751a4450e814144566e1ab9b8673515ed0ef7b9d99091bdf3bcb8f691679b90346f23cb544961366a7130464682702305fa550129a509dedaa5c8f426fa618dbe4590b0a8991a0eed97b9d071227199a867fe01c4963aadb188c36fccdb4e16d0302047c435bb50067306502300b175458493024de88a3053ce78654445db4ce3fa4d36a07b4a1b0ed774ee8bd260091a7f13cd6462f6e823bfe0e1a09023100c86d7c33a9f3c6b4014a91058fc31658c6284fe6c5444ebfd36e68eaf1b63083e1c4bf6a814962f1bf56ba7b531e11540302047c435bb500673065023100bd32e2a7b7b67aaadb808ee33b3f95e909c627f2485cfe233efcf3a0b31e2e4070e024d2b41fe21ee4b0e1a88574cd8002305cd718436961d1d50e24a41425d22c6ac603919f9d0f7f97a84cd5da52c487449df4b64a6402f4ec6ccd8ccc52670b740302047c435bb500673065023100fc18258fbd474daf793babfc3de4d38171509be723db806927c3ce1aeafa7f8678ef41e76d50da043c25ef9324411eb9023004951ff8cae036756e04ee83683ff0aa43056312ef60aaff1489d26b861dd7bc7f26b5393cf706d431167889b71b4c950302047c435bb500663064023010688886a890d3d08716f27ba765bc38b59d59d6ab4c1a78818fa098bb22ba5592025289ee557c5447c11a8146d515730230426e6c3a450abd84530be0bc1a10fcacd590fb30592d07293b5ab70e5cf9f345458f74e80490d151c17709dcc6955b2d0302047c435bb500683066023100abe9a817ea3dc254cad40c9c0f7fa9a420b0b839f6945789cd192420908318c893981bed9bc39e18baeb6c4329e3c70a023100c704552ef7e027c5205ac770c7687ab7294c02e3896a01f4b25a068c242393cefe70f03e2ebd4f09502cdad1fee5050a0302047c435bb500663064023036c9f7d03ca0892d84a970acd524121336c616e615e4e8ac2ccfeb2d5fe57de8989f41f415b72ea5d3c250e106dcd21e02303b59f9b93d16a33f900f2f70365021e12c61c61a41e88f53ade80cd0ba428a3a15c8fbd4e40eb4aa743fd534b145201b0302047c435bb500673065023100ab90ba031b664550c9643f376f344cdee4e325ac53181f1d1ad1cdc0793b6809f49f38a324d3fcc98d0e66e773e137bc023033ba11e27ff6b5df07d52558fe300e3d4e29361279882cc613ab906ec530f72adee5f29759f9d64f6e8bc3b8939705310302047c435bb500663064023020300e373c0e0794acd4245325d4b41b22a2e1851bfeacf913ce1ec71a546c2f4b7da5db641ff911cbfd85944650c79c02304dd3a86135bf2165e8edb1130cda4f99e5a7d8ce4c7f4a8a80a9f1b0ded807560fff4f971aff74f52b6286bc53c97ad50302047c435bb500683066023100e73b645b346a9b440363f6258e9c68c99e62012ed98203002bc54187e3e9d56c5e5a9ea038fe76000ede38ca9980a5c2023100882cb8d2c6a77179a6f43f0efcd2fdae62deab0d14e8cfb2cd2c06dd63ea0928e016c424bed09b5f69ae6aa3321cae260302047c435bb500683066023100e569d3bdad98a21ce8aeaa3f696a07909ca7570a4c810212523fd257ddb3e1dbb68147532d7b1b6cc2362edd8c6b85d1023100a4cd8008f2ddacdec299eee112fe9eee089d27f39146ed27ed84b05fec1d9dfcdd0c13fdc0fb31f26aa131d78ea3b86e0302047c435bb500673065023100a7ada65fec3f8e0d88dfb094d638a724314f00ae6dfae2ef3c04333c5a028ff6dc46707c1620190dbe1aa0c170a4758b0230365ffa2590350d817f6e2e4d160dec3217a4db34c83e9c38d25efcd5823918170206d26ea859b3a049a4190b22b857710302047c435bb50067306502306c95bbda2e06e04ac833020d5e6f36ea20804aab31f7d87a378da5bc772e98301b828f5ce2700c935dbd38dfa3e7549402310088cdb0438dc5458fe2b2fc7c1865a08fb1b532e1b51e06d956492a73feb957934e3d579f8c9b52f0e49e1feda358118f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100be9c9d649b4defafe3a038907fe5cd01fcb7607f08dea4c753941238c56ca06180510d1486710fa720473772290a72ac023070e489abde4965715be4732c4182f97a7cf9cba4a097638bf5d47d18fd8fe3380ed19ee7501228efc5b5b820baa1c7be0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d9ac57a47c0bcd2809171763647a8644bfc9618918945435ea70737315443e644788e02fd68a5e9f9dab5a9dd378ce1f023100e5766fe843685fd38e39576103104a25ac220a07f71494da57a8e3d64f300993ccd27393d7787ceb3d840795ba61ea6c0302047c435bb500683066023100f97fbf5b80447d229460e0352aa6219bcf1b347fafc0d620af2c37e9caa00b929742954d0e6b68bce6ccdba7f9db340e0231009cd7bf870af455a2330e28ca3f8944c7a8d72104db9ff345e4168493841700f36336025e0dfb42c61f1576255a3171aa0302047c435bb500673065023100f9af5992d7e9b28315cdf15ad9fdfe006d1e46cb1cd56d6a199a65e52be678432db12267aa1dd70788abef56ffd06d4f0230381cc1057428af148ef5d4dbce4488d5feccc91f45d729e3e2779b252845834527e1d1d535ef7f0ddcfd00724d6ab70a0302047c435bb50067306502306f2b6b6c36dab3dc0d1537979f758d715af77ea8c59917038124267b7c1b8aaf306cd636453266a17bc2502056ea709402310081a145303c2ffd1b013c2e241ba9e62f90fddd7f4fc94364c7a6b97e6b4c72ebda55d4b525c7ac59964986b1bf358d9c0302047c435bb5006730650230047612f231be18d9d8a72229fd56e3a6cbc479013372a05d19c6c4c937a3c8eaae07ffdd70f671738b9a3062d6753b2a023100bb7dc25ca549ca398b29de698bab595c728e6655eec7979d8e614dba96ba5a17922510ab827d0f3dca0889e2e2fffa120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bd5f5f556f16de57e1daa3fde811c84b7ce32580f6d561f64f94c3c8d0d80433734c83e62fb0e6db59a34c81e8e66c37023049bbce02643a2c2d925fd95ffde42c344738224932f5057afba8e35b0004f4bc2557de33db0872b1a53f16e0727a3ebc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310090ea9e85ffaf7635ab5dd4871f3589ed1f41844c1555ff2ac033c3ba7dac2df8cc08a0c582d30bfe24203e0b234319cf023100c4c5c4cea88d9a2c7e940b03d7b6468ab559a38e8c2cd0c69f37a5f0b0cdbf0b989ce147a521e5f51d8b7bf409434a7e0302047c435bb500683066023100e777a83f33e4a5c06ddcc7c36651bc586aebdd7fb28e8dbbe8b62470993c567163a7e33f817c43fe02b4bda856910571023100b232c7019e0deff6d2d28229512e9b79ad1726328b49fd0ea89a0ac305f7f31df9a73483ac04428d38e70acc2a30206d0302047c435bb500683066023100bece3febab345b68c242d2ec1fded5d243f9052073257c6f3d9569becacf756761ca89b0fe3fffc73df74d1f9f944775023100c254343a72b070ac73ed432990ff919ef4d59fbae45508618a7ecffc253e3f83884d83159aac950d2b495adb7ba540d90302047c435bb50066306402303c8b45644699df6db99832de3f8048488b88d65f76f57221ec53b6d4c7e5d519837561dba26f2671681c5e004d5b21f102303c5e254ab38845fd58db8bc348045005340a47d264af3cf70eb0d29332afd87e7a1e08431db04476d6943cd9542798170302047c435bb50066306402306b7e507a1aaa63add6e649a4937884f6c2b6315f269284f4bcf349a13129db7dfca9e59572160b40bb3bd330caaae09702305bbdf6bbe9de611670c8b616404c1f415329b274576e1937a195198dd30298f3ccfb7f3868531a23a62754fd2d3301ac0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023032d8d5b3c170a5a1feaa82e080b8c6a1fded01593d360ea3972580b4c8346c2a5ab818b3361abb5464ac27db1db6aa9e0231009c265daf8d0666848af5ba188f000f9cd52b19d348c9367c4000a345f9faa17c8f0d4f1db20af7737a2be6c3d9578c250302047c435bb50067306502300dbd7ea0bcf13fee4897f48fcd58b42c43ea42571fea950fbd159918e29baeb82d3662aa6b08674ac149becbeafbe47d023100a1a60fe50766b2af8f6a165b8d350e2bb047422a6cc6740c4a6db106d67e958bb8c70f9b23e697bce60b17f071b6d35e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fee1b22b5965ad9486dc1ffd9203915f33c7a570d05fecf1d6e74f44ced40b2a61df8791ae314d70fca6843eade5a10b023100ec9531d48c49f2f1880ec3d986d5d982b3d4621848bb3cb980449a16d944444510a859c18f48b2818caf2bd259ed549f0302047c435bb500673065023100f0a07bca561b72ef1ad8d5fbc449b1210b640e675ff08af3914bae9831ebffef00853b424621fc93b0cd3348189f45d1023006be2c254f78457313b0d338bdc01f730838aff8e59654fc0eb99f9f4bafa4d649c2f11ada90c6d5db8e9a528194eb580302047c435bb5006730650230595a8e8761cb12cecaae288123da8e8e4a137dcd9e5dad0a71a2ec4f205072bb2a628e1e72a165b6e3088086ed9bccbc023100be444a7d64ba17a0ad77c51b9446900a2078beea2bef019870491b3b1bfeb0dc2f87b27a049c19a5de2db03ec07f3e080302047c435bb500673065023100a5e7995e96d2d4137cf9c89893538c4f7e547903191b27ee8180482e5f7dd9c53d9f7a433a5b496a10433dbcf7a48b7e02304eff74b60522d169c7430ad43cb88f85ffda706372e5bc3b47709e77ba0c94bedace365b6c78b7a5ed3375e26b7ca1970302047c435bb50067306502300b5a8bf00591411d8468f27caaefa50f78b1b91bbb2b626bd7cc895a6592134f433ce0980a1645d3d19af4c6609392f50231009393e852d87ff8755f78f0a0e7ea135e1bdad4cf44ef1bf10c1a385bb7ad943ef67a34ad56597b3e233c4b9cd85c6c510302047c435bb50068306602310082051e6cf53fba60075509ab8b81550cab4611315552228667b2d586342b3b7362ee1ca547817632d97988a017c449a902310081259c60163113b4014dbb887f59d1dd4e21b56d2385846af0c782d827ba9f37562f4950112483a3231ed9e22ea6898b0302047c435bb5006830660231008d004f6faf5f5b420bbe2398e7df867fd9de9a7f727207a73836afc558e8fc9e5c7754ef18faa5c52d31536a694a1611023100809ae1794bce2414c93ff31e15bed40eb6186d6a0eff02f78a5b72c5da002ba3c8f3bd95014b646b8cbee5f25176a4a40302047c435bb500673065023100b3c45dd475de8680fc55630cddb640b0e417a29cd3b5db1609e2eead0cbd4ae1e7a12746fd15df7885f0dc8fef7c8f2e02302693e0576df2c2e5abe4c46eff1649495e60166517126f443d2eec2f631e699931d0d61da0ac335a575e7987af46f6cd0302047c435bb500683066023100a028c42f93ee5b55c2f5c8282fbc5dbb1db29fb32a1013074ca15b24864a47a18f8f0ca830142287db95ad3ad27c7180023100d9652a0b1a986f19d613b6f4f9d3e70f71898706972b33efc01b7d765bd6be4397c4195301902ba661846e2c0faefae60302047c435bb50066306402306af93ca1db8fbfa5706ee2f89764e063e830d134ffc26e49d4f0291ab0e52198d29f7d7badde9b1d40e19a625135bd1602305c3a5fb118cdda40313f75c56f4d47427b36c7c579dad14b412d4f37c625d3b2d693e1ca3f4f95cf2b1e007e50c836b10302047c435bb500683066023100f570d80710b47a857d8b0987dfb6292a3cebf320086ea4928d5d9cac58aa4407c026295bd3c2c119ef9fbbfdca79f851023100fe374510e49e1943c128ae94f7bcabdbcf0166d637308c11c72247a59f02d830b03917a15f2285a49baddcd1ebbe6eeb0302047c435bb50067306502301586e8606c6ecb8dba610df81cca1715aa4d890191e5202904b7ee1fc328a3f915a67fa71165018e221a1f0ccf81f109023100ec62f8c29c3f769519b06f24a3781342516d11b7ba9a39778e74d5404dd738d84b06173ad6ef039ad48f84dc9863720e0302047c435bb50067306502305826e87bcb8e8e7527e5b3a5540191df5b57d85cf13d3528e52cb7d6c56311a17a223d03266e44224d4b6b6f55a822d3023100f75107188438f51c8aae12bc0cad8be95024db8cbd55cfc072a90a459733ccc134e5fa9a25a7f0204f408b050aee42630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303d84dd356e6f211148add3595cf6f888a964486bfb838d03b2db26e993ec1137fb8ea6eb73806d84104faf22815e4d6f02306404cfdb8f06cd3080c520a80d7a94824e85f3433cb13e688bf34d07b94dd51f1e6543640ab6400074fc7a775e1b7dc60302047c435bb500673065023067979b6c28f8daadca1f1e12af6f2a7cf5f2c06aa5ecc9da5777534f2eab2cf464174851dc9501ac99cffaf6b5111c40023100fbefe7a2ad702393d60efe76fe319d554cc78a2ef43482d0173422b583c13cdd549338f34631b3092387ab3b76ddaf7d0302047c435bb500683066023100c16a95192a03b6f024005ee1b47a5514e861e1fe27aa092219b75c6b8a310d02b422da8410659f19b8f188883e842706023100a4157f3a5aecfb196c1a5591b22ad4ea258b5038bb77f70bf62a11377f57da963ee44d8d0f55876501c91922e744a79b0302047c435bb500683066023100daf3ca65a9befb6ee0da9b5974a0f402c276e3f27b4a527446fa501579e73cc3178aee34bd497c45936baa9d6338833f0231009882407dc9887d1fd6e1a4797962d6b1a6db14183bc369ad17a192e09b9f67e6ec30176dd4e6b43a7f4cc0690b1846af0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eda3f5fb3e9ee9edda63ee5a03cf89caf2204e97fb660f05980c08baee57b198b1432249326d2db4ad041e3e0ed5ac8202300aa0998a0ba4811b21eeffd95a03c1764a35da282fde7a7a744b66dad12c4a7b31bd8458486e2a47ca98075cfe30dd300302047c435bb5006630640230146b5c25922434ead51c7b0600749f4ddc08cff565ff3e696e8ea15f181003cb127bff946bd8aa1d8404d52bbcbdc5f2023053fa6c9fab71fc3d4f2a810d0884ff76b297255d403a308866c5e0facb88592b0b01b72b55809da11f4257e33d8f94c90302047c435bb5006630640230634a7cfb7717903b5183b81bfd6495434044201fddd9a0570152be154d94f59828d029532c2541a0601f6bae70d7f92d0230019728cda5fced1b3e7c5f4376a7da2baecf56b4f7994a6f4d9ebb88d602e6c9fdb5458cc730a821d87421b6c05cab7a0302047c435bb500673065023100fa26ee9f06e5981c490d7fe7ecb60410ff83bdac67f5b3fcc4cfc7e58fa587aee32c8eb2794f39d002a7dd34806f108d0230557c8af4a4df451d00a487fa78e6f72781d36d45d31274728db7a34c4f9bc91c614f573a5bd727a1441126e06d60708f0302047c435bb500673065023017871beaf09e2bc47a6360219e351a700ecc9cbf30ee054d4b63e3038129c499f7efcd4d55ac54a13fe07b0c02ee3a960231009adc4bf2c48aca215d892013ec46e387272877595f1276fbd0f2b93910faafd761dd1bd69743ba9737320f1306a9e6cc0302047c435bb50068306602310083afdde2ef9af9264b749fbbd53f48ebb4f50c34ae9a339b2ea4ff17128786a55b1208908033e1d8c1836d14f93c6fde023100ebb6c3f58aec06c2fa2f90f95d437d55b991208e5fc89d731689f6a121bc82a79adb6ff3ac7ab12d3b196beafff36c9f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f6252c705313cb771764e2731c666932dcbed2c85965daeddd4af12c28ad6b7922b1c988f8467d6ed29511380bfe7b7d02310082e3c3c32b0d2f49f54042d8ea7960a02cc4441cf0af374c9c233e99e190893186f4875c807592e6be81aa23075f681e0302047c435bb50066306402306019bb9cf0b77c50f44f6a139c5860b675b11c33c4ae76e8e08a1315106d7a0c4743919f46d2495f4b4daa6fa80943d50230015fd688c8dcaed9e0541a7f79075b1d528581301b01437ad76e237ca06d1d2d6f6bb0e96505d67260f3a7c59309aadb0302047c435bb50066306402301eccc0521ec811f0d26cb392ac26b1fd168b76be7cba986318a1e9b3d3a86c274a499cbdc59b9a483c1a41c81d88c03c02300a8bb281fb454fe930885504f3f65ce4903d681f4dcaf5ae810183cef664c07f7be72d107207f7c27d3bd3b7a6de280a0302047c435bb5006730650231009c47f85f8af38ab017f81460e563924ad8883a03e30ade87219b0fedc67e67e8a3281db7eb9f33134b279728f874d78f023030bff3424f3469ef48c8684650c69889033d5fb578a185b3cdd29e5d3531db42d926560cda471051790ca3292324aca60302047c435bb500673065023100fe762708b27445d493eaf37675165e53472edda9840ca3d30e1538ead9883cf1c014155e4a4fe66352deeaff56bc765c02304ce410c1a70dca5949b4365a3871d4a6e1ff090ee1455adfee6fb5a0da04841e3e8a12758d355d8bee095f8ec5869dbd0302047c435bb50068306602310098ed270dc9d7547fb55907df01eee79b9c2e639816104e5b98d079fa35d5dd7749efe613ef429b20dbb14b7c932224d6023100f643b0a1024dbbe187071415e7f54221732248c1adfe5901b31405f049a4f321b0ec438d6d47ce190a66a704cc86aded0302047c435bb500683066023100a19b527add23c39621804551dc8c1be2aca34848b599b041d06e1075f3e2685b86200bb9fc66cad1c63fc9b82a5f43be0231009bdb3fa43a7bc57a653576488fa9d2a729266ba243f53aae095b37c097a3c55706a1c97221fddcb7a591c26ece98e9400302047c435bb50066306402305b55ea10ef24c42e1ec75c84a24bb5bcad8160d68fb8855bd12dc6ebf40c71ce8802c9ee75eb89496f326ed41f1be80102306006357de235f307cfcf3b48674e106550f384cceb110aaa62998d3c857133ac7d233e0d68135dc33d88f08dc9c3e2930302047c435bb50066306402307780073eb1bdfd44ab7a76cffbd271280c9a68216c5e60b423296fc20900807b0dc3c73578888ac948785d87f0dd3d6d02306b8e8bcc2268afd1523332164f1871f808a0ff989edaa87d0feb6628717e7c050172a324ea1a9f45aedde4631e70e2f00302047c435bb50066306402304b76845fec4de8bccee6a1c14538107115f8bbc3572fdd2bf0d35b7e26c2be54bff1e696dfbe9094da76d83dbd02b71502306f141fd207bb20d9864f3aba7fade141ea6fcdf09681b014c15cf0e485d9c0a1d33e174c0d7379fd93aeff42efc2a4a90302047c435bb500683066023100931cb88b9994c23c51da495a964658da8431f15624e1125dfdf8f4af8822645ea63b4d5860456fb6aea3151defa2bbff023100c272e60e92f535edadb3b06d74fab19d55eeb9391d2b856a7d1c99daec48cb66739c57f142b17496255f7b2dc7bd41910302047c435bb500673065023061b1902fd611364c148008a1a403caa6217fe46267c794722437c7784d5d80170b29f68d3b809e1b021c0a044c58b3350231008947451590f5069f205280a0fa3a8d8dba50c0d79a22953fc1ba4dee1f195f77703921f8308579e6cf2df84a8a7171080302047c435bb5006630640230432374a166a31fc58143e4450fc947b5c77e56df7472ec30f557324e281ebdad26187bbfef4ba8057b9c9fb0fb7be4310230469fed66d88731f8f9a9ccfc99f96f6df44286ae360aac83f6982dab7f696c0ec6852f5f9063acfad60749d4ad2a6b880302047c435bb500683066023100f4d60ee5e4065607cb28b9ddfa96a1341b5dc6d2e7cd47aa27c03101abe1c4417d9d3d295714a78d3c4e17555cb5476d023100b3f7f7ecff9dcea1a37ea5b5f8dcceede7f2bf719b9cf11357cfc7ca26adf31652dcc80accac9cd1d5d3c7228f16113a0302047c435bb500683066023100a3cd71e4b3c278cbec2bb51b3df792a2bd09b25bbb939213d2c9256f934665a82a905ca20962f95dfb1a6afef38c24d8023100cba2f43aeab82a655bace012c59a450cba6b8cfdf29890267bd9cc6b0e7a87623adf6f8cb04dc6c41ea8ad4ef79f51f20302047c435bb50067306502302f0239982ae433635da7ab6fca2f931013ac8aa40e8d53b490d8f0c3dcadf8028e62a3cce24629c76980d7cec1203fa5023100dbac3b50e527af1e5fabac8e2fa459c4fc5efc9fb00b8c816ef7634c3a73a1fb0726b7bf05e275f0c35d3e9b971f857c0302047c435bb500673065023075de0227da53bcadff184ca8447154429c91fdbece2ce16752bdcde57fc73764a054c5f116a24590ca387d654727658a023100b46446f91315ce115b81e6acccc28deb54b1ab46b35174218279fc3d1803df2894e7a13fb90d78db8a49598e6cb64d6d0302047c435bb50067306502310080d3fb65e7bae15ff143d73a9744ed613f2eed31aa5b0f985254b5cb17fca8c6920f7be92f3b6eb9519e7dcaea2b48b70230374fb5f4b5c734ae81ded11b238de1f1205148cf9eee11a99c289e4390cc6c5249377e7566c71f674aeb68d3910f736f0302047c435bb500673065023000c3155a0fa1a007abf5bd32932592b50aff27f8feb064d398b223ed1be4b4b6125e06415501a8984ea500bc094220d5023100af9edc5d9cf66f9a1f6f57d542b0b8b877437767989a2b678aa96b0bae984d2965d7758395a688658726b8fb89e9821d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fd75004ae810368b30eaa633789fe8d01985ce5c8862e4d7d3e992045b7c2ba2ba95824fbcb08a9b4179811be1e6b5260231008121b9fa5a2a2a46e0f8cb1fba54a77c574b09943462f20e7288b58d4e4960ccd0984913788e953d8747b1384f2354f60302047c435bb50067306502305a333ec9f3bf6c92446fbe54add7d28887c4f32889657b148e1061d5c5d9d5a76d8f7ce385b07057ac35cf465a88c6c0023100f26fd64f034b28d29132b6f2cdaeb6475659c0aaf9ab50de934dabee3f7114d40a0dbad9a8c13703dd364638739ff2030302047c435bb500663064023056c7b63c54e72ddc5b02113144fc79217bd48347c9c95376790425aff30c6715156b03d1988fb556a4537ce17be3bc3a02300e3f69c435c65cbe8bb5b09d845fb01befc6edd3fee9a342c335c01dfe2eb8e77f25ae06d925ea5fd2ff5bb587cb11fa0302047c435bb500673065023100fad9879a37b91d04c5bc6f2d254b94e393497a62b2389f39d594d82aeb77fad900e0ac5d8f17f69bdb11d3a9de7f836002304c64653b5f00b6f14e0a5db9fe56b7525f9f1e3c713ad869ad768f9627386ac21c51dc8484d25617d09d61975749c6f20302047c435bb5006730650231009272e2ff4ae3d1c78e581918ef2cfb034097885b37baa0b74cdf2dc9b26922e66a1cb4ca7ccfff62b0fefa546d17b45502302340c74567e3c158ca0ec0236c436b8f7df436830bcadc4d1471b9e91f6566bd737be05d8a842b368958a3c751ef85520302047c435bb500673065023100f1489ca11f3a09fe5c655624e469c13b9eeb139545c55bab24e578e8ba4a1b9eb4ff6dab882e61f4fa6af00166f8b46202301f974ea201645ebdc601471fa58e4468cc733fb903a272728fcefda2bd842aa98a9fb5f6cf83fb7028968abff36685570302047c435bb500673065023100b688fd4a958133e42be9eff6859b24108a8195ed0e7fd53e94b15f8507b93574c09ad474527b4a95797a458037d9cdb602307d5bd4bf74d42df1c631e835a19553a0ba35c974882e17c32dfda975c4c93a97c1d3e29ea82b80925507e5d1c0fc47f80302047c435bb500673065023100e870a63011aa2f6e6f2c1815592cbc7c491dad9ab77b18c42d1e997ef8cdeeffe4563adcfb5e68717eb51f1a5b25de6102301e9cc5df9311ee158fd14fa3ac53e771f89ca5f97ab48efe8bb4aefe60a923884dd88c136b9f2adffbc8891d8941ce720302047c435bb500673065023100b7dbc31f67c0ea6ec70e08714637fd6b1e49ef7781856fc48d2f54963d172de8c0b348d70cde4689ad3f4d604404adae0230796b3074a0ea6b50d1558e83011253108999c6999ce07d6a056b215f9405e12146b979cad23ed5e2c1fcc3a409c603f90302047c435bb5006830660231008592929f70de3c8f9e66e45b5519590b2a0c88f33a2a1daadd22df2d7d25a05f34dd2f0acb6da58433953a96e7c60cef023100df6817cac49e11826b19a7a41eec6576bab51176c842abcacb597ee55486102bed584a81dde07a40eb1ee544a4666ed00302047c435bb500683066023100e66b10b912e2f7366e83c40c2ccdc124c3c0e77018b49f9827ef75f16c62d6ebae79c60d1414296277d3ccf87f9ab070023100ffda1a859b1d3b33e25409c4d6d7780ca1c584e739bdfdb9b9a125f0dd082d7569c20cb33bb550f283eb4bb3f9b0e7470302047c435bb500663064023063e71eb623dceecded4490ebdf1dd6d205ade0bfe7613a740ce8658107d6fc542e75dd943b5f0aa178acc6a6419ba32302306ad2f88c1d68f3cc5a855c5a4353f53cc168551acb205e77815b36b510181b136929a811109d798bb3d33ba91715f00d0302047c435bb500663064023019120ea307fe18f4098f1e42d7c5429c5188370b3b1619c8fc9535157b0b13a5034b77c439dc45bcda66a7a4e7b828ce0230478982c4a7b72635908f212c04a609b712f441c689dd853320ddd6c0a5ea07fc8fbe4b5c9fd47fedf43b5469c44d0e670302047c435bb500673065023100b764ef59174a0943342ae9b14a0f4b54b9042050dd84d718e7171aed1422b61d0ca35a16256b051104fe40aa654e96e102303095ca393f5476c03e9135d8b8209f307a3fd84a8154435f1931c8de51d2b90f66ae2d1c1a58d1661084e58f3328bad10302047c435bb5006630640230233dff167762a3b7e43df02f0544e956f67eb035898fe93eb407759394f0bd9547412803568318e56a8f546fe6720aff02300356fbe66ea7e52934a303d68d6495819e5d79ba9bab518d1f4ae98f7834c910fbc896178c7e4dfa698b346192796e970302047c435bb500663064023011677dcf412b14b3648a00325a9c9c516941956aeafe294c6d17a7a946bae56ca664ce7be6ec88c51cf977e993b87dcd02301485ff902fa601070cc0bbcf97ed28d59f7495b8e8ed1227088275a351b0b259f08c24cb1a69a14cf91a67406e3571ed0302047c435bb500683066023100996076ac534b1798fbec047acf24b0dc98d2d52e1346585819f52040e7c599ff4f9936b79b7e8c2909391dd1a5514cc3023100d38386f0abf335067097c97de640851a5158ba4afba6a71a637b65010a02ff361a18770445414ffe8c280cb40477e6600302047c435bb5006730650231008b4b7e082494d57ff452d43a471b7a69791b9b58d60f4c9991b6fc98c8b029e2fdf56869a182927e94e12a9350d5bc3602303d813f2f7032c8f5afc51528790b2473fc015680f516e982ff489b4c1f0e2ebccad8a116bb84f42ea4ad56dd28584f9d0302047c435bb50067306502300f1655d1935a56d3485753280e1082705e98ed70a86b38a7e39c3ff114cea85d0dc318e1f200ecd01e64c7da2679a6c3023100975052a0088776392e2bbb164abf0f58b589914672d663da05367b99254dee5968fa66d10887c3b0b259229eaacc8e1f0302047c435bb500673065023100a39ed2c70b2046c480e266b20b339722057ceb871ead84de739484e4fb34d6aa563b4337ccf431b786c514d929f50eb00230394694d8a492f80cc327600a57fd028fc2efa919a2012537a2062ac36e9ed2f008d783220d591e7f0de4fe10115870d40302047c435bb50067306502310090d33943eae4739d134691559a50a0901b85154281ca85579bc2e405448ef2cce4080f428ca407b69fcc5fb7891359ac0230499919e403b952d0c86bc650cae5e490f5b14be1f67f7bd3f548a18c0b5f5b903b3e2e9d165b90e43231ed2df5ee47920302047c435bb500683066023100be4c9ad3d99117d8c703968aec63000b4c9e1cce0cb609ec93ff13da5d617a7d8bf975ebcbbb12ea4e35fd5d90ac1977023100ea8f3f44b22e72e62ab33f79b5128581363702fd19a7b4fbcb7232925c7f4f03ee13c522b634591ec8ca82086d61d6170302047c435bb500673065023100910d0618860c71e2a018ca88d3a4b7eaae587157d18acbdd8bd77dae8a53d4dd00a99d42f3be1e54ba1e2a4e8a16c21802305479520f864c974b21f7ec891c16a8d7bafa2fb63621663cfbedbd8e3883bd09c7370dbeded8006210dedfaac048fc030302047c435bb500683066023100a40cf3ca09d49c0ffe8062b6fb04ff9589940975813b0b71544e6a5bdd123d78f66e882524ff178ecfdac5640a072928023100be997a3e2f96079313af1d1e110b105dd2e3362a6c1293221152197a85a534843ec6b07745e006c93d252e00e72ae8b70302047c435bb50066306402302a777a52aae78b115394c1f7da5943e9c6c4180e2ef9f593653e078f348e1a39d87de916899793cdfc740cf51a25927102305cc6bd771d994c5abba9d7b23312ae2df282ea6905e2cfae241207c49286334cbbbafcef794a03d706f604334cc840cc0302047c435bb500673065023012726844dc7a349d0ecc41a366a3af49e3865b917a40a24638c7faae33301b9130fbe9d2034d42d2597fd56b92f6a9a5023100dd90250a47fb7f7ffccdd0c1bce37733b14666d31188ef3fc47b80faae719266d8f68aa47c830e996a8b4e6f7336dad80302047c435bb5006630640230205cd75f513190afc8e44376321e864a698b1a42725de00c69cd97894224ac4ba5bfa064217cfa6eded30759b099a6c502301e5118048b1ff99a44836a56fc61ab6c5f79a23618c621dacfe2d38266a8f96239024d88d9566c53e9b9f93d8bc088a80302047c435bb500673065023100fd9350973e09e065354e552b13512a48675223a5f8a750afc141b5187f4db33249b93ea24b588d5b26a4f718c5ebc18d0230146d8ee4159c5e2c4d71bf491d531b490330b68b05c221a384a1bd6c537f532c611b64bc5bc2e1fcafc74a6452c538290302047c435bb50066306402302ff9c03642ef71d77c82bdb9fab1a1e2ec54194453fb3ed09499469beee3182c43014726e87d00fa04fb867c82e8ec4302301bde4af940da08550f1f639106882212cf95b03ee9ac2ecfe64954aed3949f272aa86b7fb56aa02b1cc3d24c670acbb60302047c435bb500683066023100d6e0f7c0bf35671c95cbd0b6adc3f220e8a7152a874ef8ac8d8a9fc2a52dbffb3e2d84769580c9f25abeb910be01e182023100ac5f61a11f328ba9635ea42a76711e2c2712dfb9cf1de81459b6ed03b92087a32a82f710fd8d9fbe8108967834efde5f0302047c435bb50066306402307bdd6055cb8a4d22e896a75ea9ee41ae69361ddf523129520203bcb9c09cc640ff9fd5f5b610d726ab573ead59711ae5023037975c8569432ae53180260d60b36ac83425aa8b7ec13a0e19e8176d9d9bc3a5d6ca51643adbc41d279c1e21843cee900302047c435bb500673065023100dbf110710069f5bb0230cc4fbdbb58b3609a5026f227dd021d0e75b6d5048e69c38f7892c903fca7a6cb247b432ad3ce023038d4c9b28b0fa4587195c3ec81185676e1e312afbeb0fe0684e2ed9988578e59942b79803a5916e54c96da9c61886cca0302047c435bb500673065023100882b2d0a9a99dc619c4ccd03e4c76e0d04b6a6fb61af70f7f74b38d5df7b9b6012fb6d13e6ec7b601a3c764f5812dbff02302df6f1daa6f8d79ee596673149fcab53daac64ef3cf0f152c671a241a145d6db7bdcd3fe2b5c8bb32387a173f7c872740302047c435bb5006730650230549489ab890f6e25612ffd02e23e39f9abe7e9bdd5f51d2f41fdae251ae73ed4c66ef5ab6d5e48f621a3c92becf887df023100bd234e46ff98f443f11de861a175377556d5f911519867a8dbf97079a67b27245fafcf52d599d1828fbf6a3960f596b40302047c435bb500673065023053c87f3f44729f1c0931386259e40d996a9d77da07a9cdc5123801206c881761899f7b85cb8f96c7161e93b7b08bef350231008deae38e6c1d9c61b872de79537c959a390746dcd31c348400bb71614a78115dcfb66b82618a91ac611389c38e6303020302047c435bb50067306502303acd3157ac08da42d9bc89ca02a9fe8b0da8fee618c25ff735e6ce1bb4a0310f8d811b667b01dde33dde7c5725f0e67a023100af1e30edd14a8121b1713d105caadc6fbe54d9dba96a31498cab4097b23750ae0781ba10b0e779deb0294b939ce7caf80302047c435bb5006830660231008f19351ae28d499429a7d43f130d2f2e2dee84d37d8046417c94be1228385f186fbfae88b663f44a6e11e5d75e10be03023100b88964513588b4c94766dee2da3575c483936eceb74e493e756fa9d44cac7c7f7a4f45e760bb62c79b9420d5f109e3d40302047c435bb500673065023100ced350d75d58374872c96d592105760dd7f2a6d98d3148b3057dfa1acda6d4cfeee239a9f30cd6f7983a6e27277a2ca6023072ab32c3c36ec13e66549fdbfd3dacd4d1c31122fac7acc8b19274218cf436c009e6e93c213b92db6126840e86cc058b0302047c435bb50068306602310096fd524e28889a9f098f3b48e775a7fb983357d98b7d50b4c67df01d673f51fd5c6fd3eda5f8735ea05691e67862dc1d023100f285e169e2bd3ec11c478e4a69cdd641bea550f5d60af88df5ab894f788e2f52040e706d0a44d189154d53923558d73b0302047c435bb50066306402300f4db03145fd766f93c8e74fdd64f6b943757e16d7825df9d76a48252c771db0cd62a1b5475af663312a0ce5edfefea30230518860a8a8b0cbeca2a9f0d06b1973cb894597eebf7d1a48e88206057fdcc7437ba3154c9a0976193fd984c7a9c49d620302047c435bb500683066023100ff9301027c8a9bc482eef0633213ab492acffe000c3473f098c5a0e0c54a7a80c088d837a521735c39231d6a4ef1dcb7023100ece366aaa114bd83646714719e9b74efebfe64359ba019d3410230fb7e4093437f31a96af6b2dbe230f10eaff485c5db0302047c435bb500673065023067d5722c9c8b6ab0ea7c79abb7dc3c434c73272ffeef0dfe5d7f0083a48bd9163b71a77d23e3d9a883b2e21f9d2d0c75023100a3a1d6f6d88837c4c455e9cab01826225d8709d7f2d3c4f1827d8698533de2cdc193af142e626e8cfa5dd30183589cbe0302047c435bb5006630640230362a7501086f99eddd277be5a9327d45d14b5845325be69e03d7a3e363a465511b2e5e1550cdf262c2f4bbf048552ca302305af4d97f35b4d63dc0a0e754d483754fd74979c515d9d8dbb2c6647c97bb5d997e1870b0cc047438afb9cefa172cc8dc0302047c435bb500663064023078b17b93b74e6c94aec1cd01c2e2c1f3737e26cf910dfa8bbecf40191c6d45d862f3c0987c5fcc76b6f5bb956572704e0230410064ac86242ef54b1f17c3983cbb5880a68052349ad6194bdbc0a9339d22dd2a74e26d3d4988dcaec98a6a81e3ae210302047c435bb500673065023100e2a12f9a78ac0ce988e8bbdd71ba07c54dae77ef758866bd654d0db371fc5aa32e396d3e8924e41b931cf110ac5780e8023070bf6612a814f1a7a5d32c7b00015b06b9a1556ba5cdd4bd8ae3fb12226f9c4d46be127d21843f0b14a81eff5fe24d170302047c435bb500673065023100e56bca68da73e717b80302478332285d3b8c4842de672c420ffe1de9744ef2858875bb471cb0dc3f425360d6bacadec902306e1f4bb735ceeff136857f5cfd46ba2a65563b1b2c9d084f9a3292b3a79d3a9ab31c9555037b3746c92774b1a55c03130302047c435bb500683066023100f6d40310a19347f8e06b9320075860f0b77038d8330ecff14494a8bc2c0f6e55995e0d7dd96644b725d18a6012820ed9023100c23b70065f5c767ead9f82ce51e83705e00aa4f6e0b48b476d6f8cab9ab410782782f02dac8a166c8b6cc43e42579d880302047c435bb500673065023100e73ae0e9863e9a77a4c35711c05bdf19c87d811182dddae7e17cb970dd57a0ea871d2e7e467127a1e22ca5ae33793db40230264851d985f7bfbc7b689aa9e6b7f3ad41869a047817663bef90ca471b52426730643b3dc26f3c5f2927f59e4868bf380302047c435bb50066306402302f73217aaf08fd0e97d51707fa79ce00b7eb1b71dd248d550a42a825f96784ce7f0aab5dbdc3bd0c2f2e80a4975f4e4602304dcf57e569a5fb31d23c49c8bc220a791a689f0340125c8ac7325fa68592bc4f11116b84f1f48f05e664a76e9bbfd72c0302047c435bb500683066023100e7801e7fe1b35e39c479601e321c2f2485d1f1cefdfaf1a7a51dcd559de1a0b4cb70078e8a40ad0dc51d3070f82d22c7023100bde5d6a378e501ecbd22d3d0e2f881275272c844699c60e5c1e318dfd75af3d627fba9cbc08bb34789583e612e58ff6e0302047c435bb500683066023100fdc569c3a5d7b72299307d96a137561bc01362d732f4c1ad105e272a6f42af23bf7814de24c8e121417b2f6d5ecf3e7f023100f4958b31fa5baf4dd3b37157f2eaca003edfa1ae5b7f18194e092656b36f3691a353036a78ce4a31a69d8ce5e0c70e0e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b14d966e8fdd5dad7096d881ef943387db0e5ba5c1ae3d098a4bb98d4dbb81ad314e99f603d0756b8d10f68fc0b051ed023100ac689da8bfa901724da15c35143d211ddc9e9843472f5bd07f0e1a893814e59fcbfa1b7636970c2cd2be7dff80edc4540302047c435bb5006630640230205609fba379bcf7d914bb8063977d77fc2cc7db1e2da817fcc3d0fde546d42e61d6472f880afce9085b56279e02cfe202307276c3d04577cc73919c93afc71894d6a7dc8664d8fbc1e4f08176e8a9d0d58b5792d872e0713406a39c4ccbc3d1db6d0302047c435bb500673065023049c2267d26f881e62a9540cb1eaa84319e1aeeecb2a408e491b5286b214a78fc194d14cf0d97b97e3e75f31b70609678023100ce2cca65e4d39a40631e743289c200ea0fcabb1d716266208863e27038c455c5fc3c34b9ced34068b3bc2b02daba573f0302047c435bb500683066023100f850ee34f71b2e8e8fc0034df42d7cd375d36b1402c33cb958b65920d282a8d0c5dc6817765ecd9493a32fc2f53a0afe023100cb5d82411561c0938be20f4b5f3caedd9197ec6611de3eba90d904a78e031cce00b5a962717fdc35096e90e98c82cf9b0302047c435bb50066306402300d8bc31e05360856684639e6f4999436cdfe93f22eb997871566ed14b78ebdbc1e453f037f40ab06f6f2a9089254135e02306b09434a63129596dc57602e70d5d8e449b7dd0e821a3d5d6f00716a3d0095759457c08459089318fbd676c2677df6b80302047c435bb500683066023100a5b9845ae57f5044ee37aa7c234bfd58a74efa8fcac2f50af9f316ffcfbd877eea40fee24cd8348f68d74e1f1db0addb023100a5e3b545edd8767eb0d8e7f023ee4281d44f41017b37995046cb878c1909c61999ffcfe2b7347d61d307f599fbd219730302047c435bb500683066023100c704f417cb4745e5b99421a3f308ce81f3da99a429e54346aa3e34093b76469fb563cf68470b44ffdf16d883dcf6e430023100846e0fa350ea26f22e86a4e167fd7e073fac42ee51a2937946124e157dd954f61899ddb5b9acb3148f2b270eccb943220302047c435bb500673065023043ce3e4c2f885de13423cf65e7d6934b3d8d7655dfefcd8fd1569e7625bca276f6a9cfe390f2abee6e7509df856b93a5023100a07bdbd60fd8793d0f92f4bb4c0b1f5fa5577b40bbc4806f27b7e3d6772bc137ad44936985cc7d6f19d3600126d0e7690302047c435bb500673065023100a321eedcceca1d94bf89e97ccf3349236d9ab0ec37f27cab9ffb27409da43582e85c8316d440a655a3da4e35abdccd7602300e2570d6877db3cd3b1ac1bdd54f3ace126e0f960abbf6d36ec77d421283950b5acaf9ca7c8a79e8dd647a91d75658270302047c435bb500673065023100858db7fe5732e6e69849f13f383e1ed7acf14bddf1d66fcb0a3de9a19a274fd67ad40e0a97cf250116b83a90adbcb0f80230469beae3e38a6ce6396ac8f2580c261a1287a0130d4232fca9f8a5034d0229f948c24bdf5b05a7fc448e1075fab81f140302047c435bb50068306602310091a78b2ff9f9ecd07c3efaa3fffc1578f327991c73f5b12924ebeda0f641991e8fd919db83b5bbf4c5971a716d74eb99023100aa20d0cbeb7eb3041c95bbd7130eb7d6f4febc440e79bf36a713e149d2c7cfc1deff840fc83b9ae58a8ebf2df228c7260302047c435bb50066306402305fa4fd66bc012fa44f65be934352847662665e66fdd68435438abd8eb74ffda841069cf43a045a88b882bbeb377de9c9023029a31238921c850b5b2cdf0a0fa35cec874230c1899fce3ffda3af3b6abe3acb9c3197f8395a00ca09b3c0dc42bae8820302047c435bb5006630640230113f067f26c3965b9878f78fefded3e7f5ac8d26ee1c0a0a593978c5f2c1fa567ab1ed2a8a0473d8eab0dd7beeabbdae02304f30c06b1404961d59b1d274227b8884aba7823627703b705f89d446728bfc2e1771d0503f117f9d57f5bb550441c0270302047c435bb50066306402300ecfa421627fdf0ad976bdbe41b69cfea888351fa53cb6a84246589650b5e6af6a4cf3ce5d01a7ae1917911ce108920a02306b204969af31e45a0e6f8f23fb753443b94fcf637139c0e1d94463a25fc803f1539d490510e9d34b70b0aa431eec80c40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023015ab84ddc05b7b51dcdc5340936025b28391891030778cba0e5d373350bfb9acda348252da76e2e20e5ae7b4ff0f57f402303dcf6ff43adc87afbb9711ff80a5666214f7490ab29dec4f9a96a68ef0672b180ca6f409225a5a6d93e6b859e68f64ba0302047c435bb5006730650230128c066990cd077b2458753205dc1844fcea5ebf5ff154d6a947bc3fc18882b94c8c808439b49c905cb6da641eaf05ba023100fc80bc60fed9a984440b25604fb7f1971ed7e79e3f3bfaa08d9d9ad038c9e1d4112d944f497ef0eee96609190290ff6a0302047c435bb500683066023100bffd7ea198da9a5998192e6b02736187625e62f25f4fa1238a27b35c7ab2901d26a435a18e36f27542f53e108279a06e023100fa00bd1cc15b5b88fb84563e9fb415ff1becfe4c2e67c8abc0859b328005c23a29c42695a854e34f25006733e06770320302047c435bb5006630640230350175fb34372acbbf49ba2ddda137280b19c1fa1e8022f1f7ba535c21d1dff0e1995b88abcd68dd2e7afee3ef834a58023068a26806342bf660fbda1c22af33defcde1ae6d5ab58d89144f8c35648a0e08d0966d6bea393f0312d04dc052a36714c0302047c435bb500683066023100f59683da0946551dc991bc780be7a380f849439a12f27925d5a7d3402b3a63fda65010f9e99272966aa83711b0f6ce01023100ca9c8027759b7e7c06dfe7dc177bb25d4ad5dd581ef589342f631fdf0defbf0bfa7d4b87afb284f17c1cc95aaa7574540302047c435bb5006730650231008739eeb2a40b1829b8c8307bbd36f66933505a9576a7fb42d37257f8c4e085c92509daca0f461d148fff29e762d47ca102307adf9d2d7a3ceff64b9ff24c9fd90ebedaa37508023571caf8ccd551e3adc9b35f46030a08584a98474f7d452e27c8580302047c435bb50067306502302e7a9aa4c539b7fdbdc11791c6e2c8a2f7f5a0682d762619c34562227920b4340284b35934f641866e1bcd4bbbcd7a61023100d38f262de8810f9270e43192c58fdc23adc173a535610aed7ba983dec7400d201a1ee10488457548dfe8fa780c4524ce0302047c435bb500683066023100f882c1aa6244971d327813c94b69adfdffccaf6f14eff936c43ceec0ce9150e0a373b9b102d45a4fb84fd42ee7641496023100f45b6f175d17410a01c6d8bb126b7bdf9a183a60ef32904f54a7385b22f570ff07941d86c15a9a92a57f9849a8c4190c0302047c435bb500673065023100b49af76d2178059f7be57ef2f414bd8b07fe28ad9ce366676f16a3d06728365ab0209811d8c5b63ed15d001e6f2b71e702304287ab35dda052a048afca34eb0859eee5ad5cd5c103c1d963baead2c2c18501641bd37c4390c77d023256b7bac9530c0302047c435bb500683066023100fc3e06d251246516b58b89d6212e54fb5573cb4b97e7c08cc18fd18a8cf0f46195c498fdb3cc528e711c1cc6c96ed349023100fe8b3cb0326532c0694d6b25ba78853d2b6fa62879ecabc20360bab6bbdc05addf4c5dc4f22bd9a866b3063e6e1a69de0302047c435bb500683066023100af9029bbd61ce37f7cb76a1535ffb12e13f4af4d9e12984c6908bd43a8590ef294ada88345b82d6fe5fc5be7b1e3e4b7023100bf0659b0de3c0fb9dc79ddf92b622f5d40e8e97dc3e63e0a61b4d400235b2f394bfde2c8d6fac667c7df4537cc848a3d0302047c435bb500673065023100d0422eea27113c15e069b2c4049658bb454f2346babd60ee4d9bd1164d42be818062173c344213a2143cbabe28b06420023055e36bc0e2f46ceb07ec5de8bda145ed9797bc29e744d6660d2ced80486249b5b8c6ee271076db8003a6fc284a1867840302047c435bb500673065023009e6a8c03d0569e7debb9ababb7edf674449bb568bcf37f44a4e7b23871bb22996874f960a3a2813ffb7d9c7b5c0aa33023100cc259510365c775526fc2a8b2fc0adde88d0061115def552d91381e5c66eb935881bcd003f90e82f55037a84030f63fb0302047c435bb500673065023100b60b282d65da3fd00e0840b20633ba4bbe201bbed028c864faa40d848e6b612c8c924e2141ae43ef79868ed4f72d05ea02300c50969763e558000f120e0fcb375523f215977e800aa9d35cf4e68be836304242e24ca3f51d6d6e6ac17e199a0ced860302047c435bb50067306502307aac7cff7044016f1d28c7c5b3dec7251cf940fafd8ed8071ffab12fa36500d45db4cd4b48f7b3f21403e125a7ba7f0e0231009262c36a33f466b236dfd7ff1e322502f92a2b5a94303b9a644d5c14175a6708c371197f2e24411b08016f35e33724ac0302047c435bb500673065023100cb2c4e5f90a02ca1324e562158753f33cde892cd9fb4c34a4ef3e074e12bdd3d383ee66cd851ec35e02f09074b584cf1023072c68c77b99c8ffb3301ef2a03dd28190537e73f5050ac7ea5799c5b5ee42ddc305b2f482c62679fc2bdca9d862ca9750302047c435bb5006730650231009e04e521f40f04284ae6f4f39cd7fa243334efc4f3912330f5cf7038100042c29fce362daa669a9c8508b929d93bb6aa023020aeccf8e2900ab606c261ec67547f5fa5e9d6e172dead7e9b52341066534fbd65a6afb285e5ce540014e4b6a46e20610302047c435bb500673065023000fbb3ce6bbc41ce700943f2a93d89d4a7a9c81969942e7170987202b42b9b9ee4d210e470a9379da950fd8fa88775240231009b8762ad49c72e3ce3603dff80aad797b2fd27ff4fe8d2fb5faf63379fd877e84e74f86d18c8ba0307d5a44feb9b9d0c0302047c435bb500673065023100ad9e1871d494ef66b50dd81d8d115271ff0091c7ace0b80180607fe645c640d90f460f68795915f58fbd739466589f70023067aa08e120e4d89058efc74e6ddaeb71ea9244f159605c13de45f9e14a47a537fcb413964f1d7780ebe75e6af8f7b5a70302047c435bb50067306502303b63095570bc7aff96fdbe404903c014171f3caeaee79479926232f02bc0138a18d30cc8ab4c8c96360dba2522824754023100fd98046638e0e39035c2d02bbabb21edf3b61c82c13b01f2af311d9e6a9b00a3d4fc35312d83baeff098490527dddd440302047c435bb500673065023076da12eb5130fca19be080c7b737558bab7f5a03412add50a46af2fd4c706bdfab05055ff38b3cfd1263facadd9cb95f023100e6089b560264f9b73c167fde0a5d24d5cd856926ef8b0dc6573fa09660d3432048dcec9907e906640302ced4b782144d0302047c435bb500663064023100bf28f7b8a0ebfc3e18a3e1b381dcc6e2a8d393a6069304b599298e72e44621138f4a67d731da3cc613981ab1303136ae022f27e92c3ba56293673940efaad16fdab9f25645f3624817800712eb2e9763cf8b87c0d1d96392e1ba07ac9ca6d3fff60302047c435bb500673065023100b0cdf0d1fc0c2080dbe2b3430c209e3be550d503928ad1b1808dae652ca02a1e3f5b94a18eb110e4bc918960a16645360230170b607e349b9a767d4216efb14359bf691b88a1d969bb13b4551ac8cdb66c1d03181ffd418d57988428aec11b7eb2ff0302047c435bb50067306502300a4dab7c4f66211ba41c2aca5ae6c4b34c016189401a387e5757aaeb4dc35c719192aae223a5183b6423c55986ed3709023100ca08ef47bf57b82befeea7d7f945817a21cad05abcc8df9eb87845725e0d7401b316184d9251b2720641b0fe744ea77b0302047c435bb50067306502302f5400d06881b4dc4733e6897ab44397f0a249bd1a8ca86319faf1155421bc029b577a214670e0dd6d4679a7923c342c023100ec1721d94e90f776a03ce466f6deefd5c836e31b20f76407b672d2bc7e962b8fff8dedbfce6546fecc5d6eae54d393c50302047c435bb500673065023064212b6e769ed7af3108baa7d996ba423e25c14c98adf655177630d71c1fcfdfb4902ebfb12a473ec15907a7cadcaec602310096b370fef28e885f58f3e81b757982288e94e3edf3fbd9195131f885c3b4af37363859765c312e4eff55513133a19e6f0302047c435bb500663064023035cec7401cbf3fb317ab5d0e1a175fc806bd62a19ed483536d677487418d9335f0d14905bbb896cfd2ba7d436f1aba2002303216caa118ba460aea54f77eb959e43102679e531622617c3d081d796e57259180055fe4d7b5111920e6c7da4cfaee110302047c435bb500673065023100ccac5d267402a4517e061293dca1b2112a73fa2b4b73822a45dd038f1a27392e63fb6720fdb3608df5b5b9ecd908c66e0230102485522b71b859ce437db0ae9066da561c7686f19e264c6f65a3bfad5bcaf44a694d39ba009f1cba232c076b1f47ac0302047c435bb5006630640230728d42235bf82d944aa0a4c3657419927076ab1e4a3a7c4db064f337c0bd54e8253567b0c9e907be3e2fedb3f16bbc54023069a723d5a710befff99f1626646221db09a9fb0e71b45a8b3b9a710edae6c59ff5e1e6183466f655c0cd7ea96219177e0302047c435bb5006630640230496ab0e20bc14279f2503673bb25c207bbc3777a7d8069b90a8dbc76119e4ccf183d25c745697b72476221a8be0f899402306f0bbfffdb28f139081ce186ee75e83ea45b295aae3f0d7d6a7b78b8ee5723ae2de588f9962120eab09e0100eec8bdd90302047c435bb500673065023100f086e849b5cb9819bdddb0e0f56546d58bda784f32b50c38778baa62a28a4eb4c2bf416ed28214aebb4663536dd82d04023027978d53a2d3751eab81512b4ef5970b3fd7b9218f21791b26b8844cb92c00ea3533ffc18c8e125c4e1e2159c396fd030302047c435bb5006630640230589f29c160b6e573fc067b40edc631b0f2fa199f81881def64e10593e1cdab525f08fdd6a7458abbbd681e866120d66d02305d0e85c6e847a7a1176a9195c4cc83151c21ff7699d185a8dbefe5685f56b98347dcd63c0c6e9744bfdfe423291b160a0302047c435bb50066306402304f1af06bae64818ba6a8e42e4b03de196cded44323f23b4dd09ebe189bff615d8e9b86c6acb1113504e0256f749046c002305237015aae04ff79c62b8dfac87f2f0d6037102c707af78ea3f04c8ee6945412dde3a760815b7baba7304df7ccb5ddb80302047c435bb500673065023100fa7238eb0b94f44413b63d8ec8dd84254121cddf237ea971772097db8a525ae47aafe646958f84ec4d3bb012312a816902303cf07dc4b3549d7102f63dbcf58f5a74ec034f9465e038512ae89acf4dd677aca9629b35f616175a5fd886486f2dacb80302047c435bb50068306602310092c3fbf5599305a7353b9bd52c38b13837ff133c27fbb7ee51af97428597f4b373839074cddc320dc3fc32eddee8cb53023100df1f00afd0b6f6e55275dbaaac4f24c7b2a2b0f1bc1bc50f41a3462dcd20c9df0a6f93d76bab7fb88e20ae2e2a7c02140302047c435bb500673065023063589f2f6e80dc48c7ecd44dd27fac546c979b1c4ba827ffad938349855ca988487945ef6cb6a5237a50486f271e676c023100f3a5e19c7e57b276c0a6ae7d88b413f91ba03197f691910bb62871095ebce4bee783d2a0247276f8f001840189a546190302047c435bb500683066023100824daf036eaaaa064df14e878d013f4c5111eb20f45aaa3e0a4d2fc1a82985acf7daac4eac39fb9b3a3060402385e020023100e32b1ba825417d67aa86095f70e98bcdb33ae6d3f6e4236c532e4c396004541578e08aa3b7c698e6867cc53b25615d750302047c435bb500683066023100beb4a6c3f4b56648dc11b88b28a98d0a904c9cf63a0776a7c0b530fea4542e29b203c21765fc37ae8be9b147a5677469023100dd80e3ccd71dd8d9942d359b1ebf50c64291bfccd4cabd72afd8d69c2d0ce089b703bf243e1c04552445cbf43ee621290302047c435bb50066306402304746eb2d3876d679fd0771a994c8a56727ff51ef9e06f3072e2e514f6c4418d43f1a32aa40e0dc6eb981c4f7beb827d2023073c2d5a8b2a08896616ec9a683d87b1065ba137ff577ab69d3ffe4e605d67c5c86bb162881346530e794b1d78c8256020302047c435bb5006630640230147898b420b8ae45323ba70bd7585b12a549f8027352901bf76dc4599ccd1a2f93bb857a3ca3ac034960e8f6d8a775f002303baee141996af51af9f7793016afa9af6a340888a24274d3d766f3c06244cbe4e8289dc1a10f6fd9ecbd1cf074288be40302047c435bb50068306602310089890dcc89977a36b4004cfb09c1ff662aaa857f8c5bb1f0440ad98e564693db03e41a1a06ba09747e11d5ec882f314d023100f93a6db2f5f8342567d1bba0aa10a218ee4b0f1218856e475667fc4a8d715c13a6cb2069e9c54946879224b8fc608a650302047c435bb5006730650230230fb32e69d90c8aa0ed4895a3952a80ccf0006cca323398cccc342b47db6be134f7d5ba0e06a4764a5ac07ad3a328e90231009d9a2e0c5f97418fe3661e9ef82253f1de5cc7e05f09ba8d3611f8d62325f4a1bbe1a487428647b473336a84922b43c40302047c435bb5006830660231008381cc741c663ab241460e37fbebb04b62f611b2654d4e87cb7b754caa8e20ddb8c16302da1bf1702ecc117fe98797f9023100b38b3c92661c6d199668199aa6704ccc3c41c39a504d2d3063cd8c30374bdb2ba7dd1ea490111f6576dc3c106c6f90900302047c435bb500673065023015395e35fa7083a730010978ad64d894eea747edcaeef6e13e1ccd126bab2e20bc84821dd543740596efeafe56be202b023100bda7b2722a088754c36260de507df7c092bf47b3dea62f538bc28a6f051c225beebc94aa466d2bf440268701380e81810302047c435bb500673065023100f226133484224c468dba406d853d05ac84393db89b3c7b8d337a16ff1b585b7f66dc523717f7627b5afde11e6fe6c3260230557b06d4e636a0978d8ac02d85dd3f658408818ef2a1cc8612ce29869288ac08fa48d3ac219c6275d5a25368a56bb2ce0302047c435bb50066306402300edf6eb47d1736417fe4edddd560ec78d628140296915714f3cede8dcbbbaa05d50ebf4fc1e91da02c1a7297dcb664c102303190ea5926f446efd2dba6294dcada28aa2ab7fcbee43cc00b2aa48f5ac00112171dc0b6310e69ecbb3c25df2a46b3bf0302047c435bb50066306402306bb82c14ca94f1608a778947d24ede36ebf8646dfdfae87ff08e2b4b92e1f08612d48d40a27f27eb556f0f0272f1d9a30230603bce1602c57b062b8a756e8e83dbddb8c5a2881c0208e0588c9c1e926932772217518bbc15c954a389f00d3a22bf5b0302047c435bb500673065023100f6c5700c37adb0239feaf91c817d40036189a6aa44de3d819af86cdaff2cdd6fd4cbd945d8abea52a042be261b4d5a1a02302eb36a733850633f0a42ca8286dd15dccc705ad803b67e55f0daa586cd67ef13fac317dc0d04ad991af1f4401ec1284a0302047c435bb5006830660231008cee189bc92cb2b2a46c05dca21a48338ee5ce7643c6b66eab8795d57165f39411d502382e9f007659ddd867ad98357f023100a78203655fe5eb209dc1dc6b9ef05b357538a0bed53a14c7dea8ab760731888182c04fdb73808fe22a2052526b403e6c0302047c435bb500673065023100fa166bdfe515f3fa830f4c427c3d051996d824285b928fb3b7b51dcf8a89c05c726f5cf5008c3dea85a96c60f8ddef02023075a34c12cf7ce19ae8fc2ea162813fe9e8bb5a7baf061ae97e15bfce58ccbb4b4446a4242a576efb576289ae70f14c840302047c435bb50067306502304f26607bb45717a6d60eeb7c122cbf918712886ba559481613d4cd4a00b3d006b243d0552d781dc6851f8c0ec330c1e20231009f326cf9a9248532e0faff46a0b6525e66dad1e772dc2b005a41b4f438fad89c1a289277c6f5a3b4c1539986ef16ac1f0302047c435bb5006730650230173e162b5926bbe996b96bd5a7618e0a59f332d8419a891274cb7cb832f7bf2c54ce0707672df7947e52f9925e3bf6b5023100fc8e6efad5ba397fc04d795b02ec2117bc89c34c946c38d08ced6aac0004f08ee3a762854b8518d2f2157569d22869e00302047c435bb5006730650230532e5288269a30a233a6c736d2a3118f05bf3371253792d9af259862b6ee3f167cb18f72c4776898abd7923c6a0ff095023100b681f25cd786ea38b084038c43651bee411309d6c67848588273e0f8b6702901395c730c94e8a8f0a2a221bf74b44b5c0302047c435bb5006730650231008dad3b53befd418af45f0939b8dfafaf6ecaac89397206fae579ff6281bfbaabbd8d87eb3ad7adead9c22472a51ec8a602305befa4898abe527bba8992e27bba2367cfe5d7597aecb0e2c1cca18c5c829e82e2e96a70e23b92e350082fa4e9b07ea70302047c435bb5006730650231008311ebded83a5c377359a60116a34b8e0cb55415374d7395aa35f8ffe51fdeba5d521d11dc0067b9ad28a7e4ca8a517602303784fb10f0570e07de27d6b266d01ce102e154c9ee4129d369e34901518d0289e9c3695c79cc230957f6fe97e33d9ff70302047c435bb50066306402302507c0bfb3813d18586d2b8ec6a6b352f9a6f1d098241e5aa0aa66356bea96299bc06a8413adefcb7a867139f25405d102306a0f51d296806f6f5c020b53994218b0f7464f75f3d7c48c02c0b7030ed9ab8d1f85d11a389a679de0a6bbe7680db02b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023038844bd487a1edff4d6cf198f6f5e7f73e1a89e1508da3b763514296120b985db65bd2ba575b96952f495e5b80f6089502303f9a70e32ff70c3dcc95a30508b6698151d5f2d015ce7b99c983d8308291ba427e9a988bda82e0f8f9aa0f4d8f07ca370302047c435bb500683066023100c44ebce793288ddf2a3f98ba4d3b0949f6f508326d3d9e3624d7465e2c604297803b8c4b77656b94bd2702849feffc1d023100b9752d646669c2dbd6dd9a5a627ae655ebca00d2c455eeaffe89dd3472869ed005182e8cc3404257f1551bb36e9157470302047c435bb50066306402306adc78219257a53dfc0d796d7ddd6538eb594dbeca53d5cbb5e6a6a7a314d361b60ccaa24068ae1c3770e0da7fdf99eb023035dd8b82e52513350d979c11bfcecf69a11c8745cbd6e358704fae9ffa12668aadda396b55442c71216f0a531bccdc9d0302047c435bb5006830660231009a4818f9ceb333ba3860640461f70375e9ec23f8d5b5ba2924f4b9b25911c2c89fb08e5c465196036b8afce200af36760231009a2acbd111a207ccce05bb6d28bbe405f2eba3b8ce2142cd6626054c2f55be28c87d582f8da46efeef986628e9acd8260302047c435bb50067306502303830c2db207a7f8f497d13cb43907bf4927a8a47f82cb9936660b862d7fe305e71fe47731069493151f2972e5a33d130023100d59243a760c1bd3d6a6083f4dfb0486c3974cf415199651bbaab5858ad3465939f56405a20cbde56ba76f495be092de60302047c435bb500663064023022ccc07a5932ed97713c9f41f8c0a1cf8ae89bd9941dfcb42229be905dd8042c548bb6002f26b8553928efebf934c22202304444fac42767c4d6872acae621784360d3a62e3ade3d6c99de2ae6ba619be207c2fa018a3a98f2ce559324b687b8a24b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302cd3cabcb796fdfce0df6e4a05f878049274918b66a56948ca0013ae1d0f8092094744a9736e2c67d7b6389585271ff40230421795c4ce7b658c105222f59e3f3267c8a94e993ac5c0f3e093fcee70a96f6d0ba105f8e3a417a49033a1b32df19dc50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023018e6e4ca6bb6e2b878f5085b4b98cfa887aa2a93af67c89451a037d3dc5422efd205aa274fe3f4e5ae90271d84042b00023100c1d4b659d775de11d745b482b1b8298087d2be1812e2772ac0aec136738b99eab138dab3bcadb553541ac922d9250cae0302047c435bb50067306502307c1c4306bb1f703ed1efda0918aaa86c6a015ce428ca8b2357020cb973415f704fb8f32650f1c953afb209d89c066b6d023100b4880eced53eda68e3503e0fb8acfd180100806c97a925f63daa9a284dbc42a2c6c33607fd974cf268a8e391db81cc8b0302047c435bb500673065023100af800842bbe2c40a216538b91b8ebff9ab0e46ab17b98e313c60c97831d144c9ca3e3496c669ceec6f056e9187c0f9ad02302a90045c2256a9bef6979ea2df7775921d9bbd44beb6e05d566137ee9522a97b294525f505273b1606d77352428306450302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008b05e47f32eb52cbd28e287686e4ea481ca086f44e421711960cb883cfa97d18813ca8904a767af9d38f87a524d04e1a02301b50b5b21e81566c49b4358854deed990c63161a8ab067f70383d0db6b6a2a9eb66a1bde0f6b17d358e155e7279613970302047c435bb5006630640230658ed526df499bfb181cbc02a197360ebdf2c9fb4e273899bd90c1341ca24b158179b1bdd453fcb3b5f531b834c05e5902305eee4a5ed03ae0fa6705c2b9529b5020c8f4a25c5f915c27b6595a2306c5983863424313a6e80ed93b47a0fed39a33660302047c435bb5006830660231009d4b2816567281e4258234fe64f38f65527515c75535de074eb556ae72d08b33f32c2de7fa188320f60c3356e7931b02023100d1ae8d6388390cabf0adb88f583f144bfe8882968d942fa2394717d85e2ecb2973ad2bd9fcee29b037bb9f21b15b13cc0302047c435bb50067306502310084ab0bdd89acbc18c58cdb50f42f21f4beee0280cc49fac1f61cab35f0db700625ee58f2d4d0553bd8b1929c74ddef2002300f3b91eb9bfac764f72aef00b1de54a8d150abef0618ae0ea6773c6ae6374f0a510c4588eb92ec6a5eed95cdbbc9c7d10302047c435bb500683066023100b7a464bd971ad1b803d3ea9e8b049ada8ab0fe853e3c675458e1b321ec54f61d883b6c877df5cbd1eab8aff0efa965f9023100c4503b4aadf59b61f7a7c533672caa4bad42da0ce561c3c382b6b2650afe77028e15afeb10911341af35d43a8c69783c0302047c435bb5006830660231008804d63eeb604c969d6c715df432f60084e235d4a5d91e31a0c2c88256d09e58e5b1b357f6edb8ca93a9117c5c4ee84e023100a506611544f0b156c4c4af358701ab9a06d84699e780c8eb7b9e0921dbbdbbd568761b5ddf038647dd1c71997aec84fb0302047c435bb500673065023100b50f282871ef751c60a1e8e994fca4ec72e5408cb0e50501e7ac979e12acbc10e858bf53524d974ad143f8360223dd0e0230237539bc14de45685929c23e3e78ba2e95ae3283fed231382f77cbe49784fe7faad70991c73a19324d73abfa687d5d590302047c435bb500663064023060ef506a4e753ad4246cb78fbb6c67bfad6a63b1c1cda46c2a2abd6f6738a9184ce12c61551c4ca1664710107217c4bb023010c97437d5f66db610d24b15a929a6bd9e6b5c1ba7311bb65cd53475d20ad4f0d8c618e3a8ca809f8e7577a1e7893f4c0302047c435bb50066306402303caf9696bce2432b9c45b99b073443f094a9297eef1ea30e8860a97e357ee2133c6b4b1099c00fda6c12f9436ef002e20230674cd1ce6fa3cac875efe4103f2dd9f10dd3ccef7ff18e130a766f3d1242a8db2b28148051b6a4b09215c05816ff1e120302047c435bb500683066023100c18461ac58dca1ea6f1d31076479a8e63d7dcaf1114efca46ea9e0f5b450790a8ea2ea8067db964ebd160add27e34399023100c7b5b37bd6458c443f29b26a21698c9398b1553ac2507300609c5f5babf5b439434a5bdb746692e908acdc3c95a9909c0302047c435bb500683066023100e4ab4a035d2ec70d1b2adf714778640179157000b21210730f37a2ce923c32aeedd478578509d6535bedf424fce1c396023100a8154092a28d179b55ef08e6b46c29ec1379bdaa1b160b359e36351b7da4492350c0f6c53a2a136c95c635221568451a0302047c435bb500673065023100d5b069fb5708a46e6c61ceb86beb92a200aeb273fa8126fea76ea6e77342753623ac32fdf75824dd86901d820ff0a848023045a88d23f1683b941b934af4ca49aaed7322a6c501d17abd3c7484b7b5f5d43ac9e1097760dbf71189f476d2e2d340fd0302047c435bb500673065023100ce81b046faf994f4e2415b774ca5470350c4328206f46cbf53c21237a4ca01b06683e14073278f381ff5681d5c029a9502300c2020a02d17573bc4fc57f466a22d76ad9bbd9ecbf8f52fc8043dff04790d99042dca5459f8337ecc0a87be004ec6480302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a2a943a8727a5fe0ab3552e09e596d8e3a841bc665f34bdbe9dcba555ee1a7893a288ecf782c01c849d550dd82089b0a023100c078a51eee327dd0a32a25be7a2a8a82190f8ddf51968ec91604e43f5a5218905d556395fb824c97611e3726250197db0302047c435bb500663064023029ab8f070a70d7134196fca987c773be92ea1c015beef2b6c90687f245634c74397a12b47e8b64f58092c5afc77bcc860230568be1fd2cc858d5f5d465d3a97137952202c7632fbb7ae70e03b1165d80a0bffe9179c61adb7e808b01cc27c8f4793e0302047c435bb50067306502300668991f5405d1d6bfd8828f4c1c90c8659390bcca8626cc4c7f19a7d58dd5a8c1bbf8442bc43bd6916038a5ad175315023100aebebb90e895a787352fbb6f05b4450eaeed6d3b2acdfe6a21336028c76f80845fcb7be7f7eee94c7fe2e10b7ae6a59f0302047c435bb500673065023005e5e66241075cf13cd5f84d7ac030c4af1a4d040243842d4ecf5eb4dcc29ce7a3d1b685dfb485ebe23187de58636138023100fe9d4c8840248350585377a1ff4589200c4debb96c6eff36f92861b12c60a9d64f80f3665433522ca16a294fbfbf5a610302047c435bb500683066023100e8923408ec11b06108c3bfced61437b06abccb94a684215f22c206c05843375ce39e77db939f5a0b7cf8ecc8c1650801023100aab76a9aefa081c91ac0eb8f0bb085dc735c874306b42bb825d3c41ac8ea8565019fff69df15da32f74812c500394a3d0302047c435bb500683066023100fe064de0de460aa9d4ef46e4b0352ed794fa6cfa1397ddee194d30f5ad47f0fe59972370c5d8c82e4656cffffb5f273d02310094bb33703215cd28df1acad770e4b58f0ae5079c8fb0e834930e028474a66c89c3dc0dae55496ee90142834bfee41a270302047c435bb50066306402305bfd51de62205573e591587d1291a01072e4638664689c6b46fb935c380546c906233ba4dc567b738e8468bb2cc945f7023043e8c3aeacd3a1d4e036c8bd3e78880b025cb98588250004fa0b17b05e20b9c696cad0034a00dbc4848093e09993f1960302047c435bb50067306502310085b2cefe73506efdd92c81eaf7ac89d4bdc26c1c7fff197a2e4cda35caed64f1ec69d39658f01e7271ab5d4ac077524802307e521d6d6ba09554edbfd5bbec8e12a4b5277145278bf30fac05e4d7703fa66715dd3dc907ec085ff029ba1cde2c73240302047c435bb500673065023017914a9f4914b1916efef0b8cd8bb8dd9b62c98663783107c7bbf0ad252f504fdb1e645f7260fa17d22fe86409aeab280231009a84c44870ba9b5af7c4d3f1559781c9f08b4f3ad6dcf771af44c7c4a533d48a14d19198e6bb52aab9e0dea30d90bda60302047c435bb500673065023028d93a9886cbf1220845af2fbc5141886f7cd022d60d0894aa56bb53bd736377e65f6add3a54cf6b909a4a438c32ca66023100d2018b822d5ea2a53c3ef11a198783cec463b28cef2d5c1e6ced0c0767003bde098438f3d9c1659f366f94a75385bf6c0302047c435bb500673065023100c39423123806dff60dfc245793baa74b512f57a26b79e8d18a744b85f15350b4ab588ccb9e26c36f90e7e5b0cae6787f02306faaea94c72bffbd69b179f4708c7503bafeda3b75ef16a78f5d174daff64830a384a915ae4065f4b0b83d7f4a388e090302047c435bb50066306402301a51df2577e4673934fde4a3041c539e2050a391e533da7494acf0a565dec5a3bcedb7824234689866e0a15ddfc223de023016d3dc24bdc24b71c0a033772a93cbe4c0c8f2de8c3dd8d871a106dbb352e63cb2a0ddf7175105558f8b7ceeb6fb5b180302047c435bb500673065023100af209dd96af95aea4d9b7860a6fc77fa938b76af439817c3581c19c2b8c4840a368573575539c8863959f34f51b1643002301d95d5c695abfce3e814b9387d7a627fb6183633e88b952be11a75eebed3f0b584794ee373a0f96eeed387122bd6e1c80302047c435bb500673065023100b7c57cb9d1c24a202cc717f15ef6f33e8dd1a2c1c3d27d68a1aadf9d1819dc137809fd9c123ba536b86f43a541dddcf802302e66c50d8356cb8baf8d2c0315ff49b0c66da78ecaad088a93e3f644a35589fd4693752516ab8d3837802f1f485310110302047c435bb500673065023100c26bcab144e70de77af46752a76e70b743efbfd18307b1930baa56c14315ab1ccc9f0d485ee9f5a6ab292f6e7a060582023030a7d0095767b88919755c0609cf15c4eb9269bc7fe03e66303551fd0cc172eda72ed683c4d482eaaf493b18abc179cd0302047c435bb500663064023067954c0cabd1018823b32d433c255de3cd3bd7678854fd95009ee760c0dfb7323dd2a9d242eb85b34bfeac2f00f9ffcb023051d4e8e6f82b3c1403c7cd1f9c596fc687e72792ff5c643ac6732f83b683a6d633dd25451337d2ea0ac425d6819408fd0302047c435bb500673065023020d1b1960c19df92c7102d30ab1d891595ef06442383b6ba66d8e5d8dc429869137dcbb73ed1c13898abafcbb0db10ae0231008c861baa0776553251d8d604c42969856d481d6881b3380a298bdbde85fd6a672335b2b8e8a45c0bf33864355733aac40302047c435bb50066306402305bcd15c7b2ac48829d257820d5052fbe35c7271a660266bdad930432b5903f01af0083d055937d5bfc3f00d68124a2f902301def8bdc7c6f4c5207b1fb5edc3428a0e2f471d1370d6681e99cc6d86d6e56b6f3854ae812d50680e26c961d815d86d00302047c435bb50066306402301ff274697ae63d0d88d28a3330c68f4b279ebc055f07d87c181aa88e0100b1e0fae73b3e1e44993838e1fab362e2590702304692987765e21fd13ce79161f320dff954a7d79e88e8c89503870cad12521cb87cbb74f54e5bfad1fa81e28c50a4bb470302047c435bb500683066023100ea0adfd26dbbd99274b893c24fe05c492971a2da414c90ba114785f1249166a574da460b6d6905dabd4c78233a66136d023100a8b59a8a1bf5508bee1900af97d58a1f6c8fcb2c4b68263a1f2958fa5a85753eed15989fcabebacadf31d196e8ca1fae0302047c435bb50066306402307620d04eda41e66a80084ff20755fdc7d2950abca6e77b6f652c4893bc33d1f4b376c555040af433a380800865b9054002304c465554ac36fec047a9037c1e7df6653101e8bd305a9e7fcc7b34694b683c4cbb49e42d081ef0782dbcbc1965043cb10302047c435bb500683066023100dc5ef100671307529228b419f3800fd8081f3c5878b04d67bfddbc85d472fe88accbbf562e7b2efb87e17463595f82680231008e7ad689ac901c37b314a36e2f1261318a137569ac6a04546f6dd6968286ea32376ab86ec2016d7ff6a50e0ca9414ab20302047c435bb50066306402305b7015c2d887d8d3bf94590284bf2faaad42c4ee2f368f0d18a2a87893343c51207c07adfcc0bcec95fcf67188cd9e1d0230774d0f33d0b538557b4ef4177b19e0b4c346d60b2e855a5ef8ce376fb96339305c69307f8fb585f3a8934176a37493870302047c435bb50067306502310099573ee108ba0e01451260c9c40b8789a0bf1300ed820681ff9fdebef9226d67bfedf5c85cfb756bbc0cf864be618d7e02307f7bd50ff55b0397998f189049a67049712f81394218bc27ab15e502bbfa98e73dfa510fdd795ded24c0b7375c75ba8f0302047c435bb50067306502302aa5eeb1ddfc8e43416b07a18bbc04d1e4b2819b28c70acca782b55c62ce276d19d01107a1065842bedb1ad37743e6c4023100eb1b2acdafea45784eadc19d1aad6270e334d87b53d31102e711f055ecb94164983833cb725f6b542e87ee528d88b2830302047c435bb5006730650231008c3a51556009868943ae67ca621bcdb5adf3c0a959a65a89a04545be49e03ea52638bc1e82874e1e3251ac20c25dc9a5023011434c845d86ffc029337cc6c2dd81203f5286085cefdba7fa070c858899ba2fbee52ff11c42e2fe05b7cff1e4021aa60302047c435bb500663064023058ee33c86fa1b0b47aeeefc7d61e52e217a964dfafb01c519d73eee62d941891822577b5d7413cce7353d257b1e815b1023051df036b5f80724b0091c7a67a0e13599583e0c8cd6bdf3f8e7fd147507d0351672bfe791920beb0ab5d6d87aa4ac5c80302047c435bb500673065023100c20326780f2a0bf6f027ac63f8b692f8edade8553f62ec7464c590ae8d9e8b78c4112139412121ae3312a6c858efc12802305beb773520316952f9690d6eb6c3839c932f4ac8d421d6ff1ea3f2a854260f482986e802d863affdf9edd5f33ffbac880302047c435bb500673065023100c08d967ff5e8b66bf3b464cf3a584414722819f960d32c4d702db2ef610d8685f0d9497a34aa9e5b1fe82cdc603dca160230081380cb34270b0a5060452f2bd1fe1b5ba10dc549821c71505f924f1e7250380277577b47066fbe826e7f7dad8ed69d0302047c435bb500673065023100b9ed33d9dff102a75d84984d074ee37ad87d3532066a1c1e7e031199c1171b53c75a5eca88f155b4686a586e94fe269602305c7b46ac95437e89ae2fe0324e1c0363a87f19f6bb4251ee008a04a9ee405fb219b4c684a8057b414a0404a048bc59110302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b2855208a6ae22c4100fe1bc87f39a1982df1fe7c287410273651a5cbe1af1645030609e1d9b5a0e0de197f63cabfadd023100fe202a29aeda4fcae5ccb9597c1972a18d7d4955b4d6928b4d6dce1d39e9e04b5f75f6e2e7f1b0f9ac2e9b52e6fc4a960302047c435bb50066306402305d12faad635a6a615324a4c1ddf559be8708b531d36b8589273619e65a5b8ddd77bc32d389f5c88cc9d7a545107d0617023040591cabf099252872342a3fe1e71611a2319895fd65415384a212e6be598e8bcc03919414ecafbcc63bd3353584baab0302047c435bb50066306402306bffd072dd3ed8108c007a4abfa054caad605094527bb7d38d74ae569979bb4a4ab6056386019b3a40c28b738a88764502302271fcca9b9e07803eaa2b0f41ced41f52f7a361bb14b7f06c85aa5a132947da94776b7794162c6febaf85aeb0995f130302047c435bb500683066023100f65ebc72ba12b4621c13abacd264a8ad40de0a07a81df00a4a6c5636eb89afb6d62dc0f150fdca6f5b91bee0fabb2ba0023100b1c9c78174de6a8e4c12d655193802bd338bac6087422110bb2a7849b2321c823c267f6f7d36c78cf37d2ef71e2fffc40302047c435bb500683066023100e67de7f35a758fcdcf64b7593368323c7403e2124dbfea271f945f99878dc22f1811e023340b8a652df614bdb920d2ca023100a88fd65b53fd8bfd71960fc34cf44bde79dd0f3c0ec7f7a59239454dee1f8e11c9493548948f8e666bc6e2499591e29b0302047c435bb500683066023100aa98e37667db977322977913b205f2f4045187d41c31e57291d051d4fbdbb01c9535cb8935ef42245cc9415850808f7a023100ed0034be8c534ba8ad6a2e3d49a5f074bd699e34f39c60203c7bbf0ac5f50eb56b1f8ab356cc0a96cdec1a528b3ea4a50302047c435bb5006630640230318ea20bf92f003dedf4b5c7a45e47538abe7cb9a4f108e564c0893b47cfffbdade0fa8f20cdbef48ebe47181c61adda02302e7d798e742394266a213de0aaea58b453471b83fe0af194ffb6637d8b2204cdf7aa334763f2bb9c228d77b6fa5e66280302047c435bb50066306402306aa7f3ba723a439279bc4c623b592c4fe0ba1b23bff7a4b1b3a9b1d295a8e4d2f9556fe10f1fdde3c2535f83aba077f0023058b99b68641f3ad800aa4cac9b3d49fc74d3dfbce91aecfb14234d5f1672f1eb58934abb9e9eb71dcf7d88e0dcda356f0302047c435bb500673065023100b84dc100fe2d4a950b9478982e0f09601c4e471f10ebc6491b7fb3dd7f805c51e737cdf9dc09a533262759560a7d67f90230708bce66fe2c6853b0883a056cead737a08e3d05efa9cf158d0d6a198fdcdb875c95262fb63af24364333bd42d96e5aa0302047c435bb50066306402304263feacf0a65ba355ddb096b204c69cdc06766b2c7fc57ea701835bc88fda1167464bbc0d4f927b37fca4afaf863e8702306e094c72c766bb109248b8bebafba41fb5e55eb35b972aa3c4eaa209c3b76c4657626d28fab146d32f81426e851c7d260302047c435bb50066306402306c24d64685f2711f2f9882b3464c6571e697be819dff0cd62d477f49e657f63243eca0efd92ccf9c010752b444031f470230311919e30d6ab4bdc53775d99ae875f5d062e7d681fb5986e5cfaac6bd0c46dd9fa64535e9233f4402cab090c49144880302047c435bb500663064023039043b6164f65861487e1f889bbd8c5c7159bf89ebbd901a6ef866794300181fb4a5260310ee363bfce46b00989b4024023010387c694426e243e95743b374837399d84f29391902d8945e89eb4b632691b29543c151c0637ed4c03b3ec0bcaee9850302047c435bb5006730650230022d3517394442e3bdb50bd916b32987bace040d108771faaf11b98c23c3714a50ce9effef8c73cc7efceb462581f4e10231008b399b8a4520d57db99e8b755c90fbf252f0d6e72327a9f51e32fe0457795174ab0a2cf4e90da57cc9ea2e060f939e370302047c435bb50066306402306452eadbb34de19bc6c4ff0f17abd14b1b4039266973a1aaa0379e93dacf2326a9c7aec6ece4176b58ec80869a16c74a02301e26e1c41fb5056b79c7c2658d3c5c9349cde23cfd3caf3207ac4484d186f6b53d72b92504991b6698b7c567487182ea0302047c435bb50067306502310083d1cc99159dbddffdca945c90da33dc0cd6db7f24ca1640483719d286ea8937122f35864ba8a96545626fd1dc7bc29a02300151ee2227abae68d1772bb26b18181f4c778038793f9b36bde481b5631194498f861d12bca7ab582924d5b943fe88f80302047c435bb500683066023100b44da3340074ad2b969c18213ad7bd998b1e09b9bcb267b708b2095ba42196b23bb6653db4ddec21f9077d04a1612306023100cc5ec367f79fbbe1658b09938acdb8187610a1e37bd61ae0e4d819ec5f1b1c5f465002c12f59954c1c3039a5fe1da15e0302047c435bb50067306502310083f62eeb6637d85df022fd61c826237d843daa68afec6291e5115649cac0b805b0e0f838ae1ba7dfbeb68b8aebd4ad5f023071f8651fc4390bb883e55aac3627a86ad7b3d204f14f6e7e7c770369e65226b8494740cd8ef305e9b1dec6d46eedacdc0302047c435bb500683066023100913cf517912434380095226a5e17fc2b38f49248a129929a4b238be80da2fec76c4a02a56faa883ae79124c2201df296023100f0677acc72d1f8fd77f29988cfb0af723790711362085746e40092ef7f594ea71452f7b823e2e04b54c0e701992a92b80302047c435bb500673065023100e47d23e3e16f35cc092e794ffb71b58dbcd0830d5842dc7679741f7eada60bcf6c1aca28e2603220575ab1d31b7f4f210230067291ef216f9d2d574f48a940db7c866768e0acee0f731a2d16fbfd327257109d35bbb6536d7087de7ac4d033b4a6b40302047c435bb500683066023100a6a34f496e8edcf486deedc3e6a9e0dc39545bcfb89e3a7c4675b42c86b4f12c8d47bc025d71c3662d9e49b168996d9c023100b7cf9cb96d57ab072acb1bb4c1d16dada2594d1acdde5790dd1fb6a47f1c9e4413b4b2da236367e62b1140b23402b4cf0302047c435bb50066306402306a134a77156b848c896f6433457bf468160e64579253c5b03c661ad14fd02c48a7b050065b93366961cc51630c4ddf5602307ec210aeb453917b3bdeacca597916ca0ec9975ce9a920f9f10cb29a51f6cc4c133942de4971bc0a26dfcc41ad6e87a30302047c435bb500663064023066b48e7e98a73a33ed2218cb120cd2d6f24ac3a268c44a421295f1585337aa2cfa5acd5b9ab79c7a15167973c2a0c69002301b94910dfae1863100f7106dec81447ed09dd9bf672e1b240685dc43f6db49b6050edbaf3a002099804a8eedd87d3cf30302047c435bb500673065023060e83ae4f8dbca1b695aa80a0abae53bf6ce4f25e8bba7d665c4c3416a99e51588edb59363b51874b74dfa9eed709d1e023100cf36ac6936d6d6881024be799c82c364c29e0b045df5d5621de200986451ea0d0910665d88c09195815ed34e528138c00302047c435bb500673065023015be468370ed19e79e5e3696e27d3bd3f4e32433aace70cc3ef1751e7f4c9c3aaba0e4627cef460f5741e8bb587f4595023100e8e51b6ac5583809163c6e656095406c488812cc4139c19d67cccdd622cb503700d2db29a96406e5c5fecce3c86ea3cc0302047c435bb500663064023052450bdffeef4737eb096eb38c73b96fe4f8b079544e83c3b55eb7f50e678fd3725f519ea927a2877e28b2ae4982a9e50230275f0569efc44a9acad34db99d65887599be11572dc62c62d689a5dd6eb7b95bcd3dc48688bc9bff923a8591f9527f9e0302047c435bb500673065023100a6e2bcaeec92b87829d6a656d1bea69e72b189c73f0b1d936157836b7c568acd7e7d91d66b8a5818bf4ae8fbc0782fe302301bde1a2a2e13dfbee7c4b75325b8e597200e08950c5d412413392523c508dc36d6b9c2da1e13adc5386ac40b4165272d0302047c435bb500673065023100a75c41e6a8582056e5f2dc9935d3c816bad1b70ad97b18fd79d4f9bb8650a2bd6831e28361fe57fc0f54c499a698dbaa02304a0db32059914f3873d0238567fe1941fb87a420936462fcd4e21b2d6f842df0ef051cfe0710750727ac042deefae6d20302047c435bb500673065023074ecbdf87c64ad3aed989bd62affafe1f95844a4c0097eb51cede2ac7cb2b72221a312387318acb65aedbcc07059e6b60231009563bc08a51eaf1e561ce5d813e4faeba7e943dbf8b53459a9fff1f4a6f6dc9fdff538e0307f4f4d088c704a6b55ebea0302047c435bb50067306502304ce675c0b3ad88deb90dae4b84f76f05acc1056fae7f1cbd160cfd7509bff0764ebe561272e0ba18787c89ea66aec94a023100c008c8cc6613a4b1496ffe96ef96c9337b4999ab6d7a5643b6c375521de68df8861053b5fcb4e47cacd15c2a9b9acdc10302047c435bb500683066023100ee52cbaae618a67bf71f1698cb8d42b0d9c5824daf57d24e048feac018e6dae739f7f2f533bfd5de09af449b751384e4023100de670d6abce60aa5efd479ccd63cf98ace9b2a3222788760f8d1100d03109c5d43ca91ab4c323ada3ff3c79c328889c00302047c435bb500683066023100d7d852ea01545c7565523d9df0a4d7156567f406bdc59a2baba0571471861c3740d559df7a8f494d62e887806a2b8905023100bc5584fc57daa224e4c991d9812d5b52e258bdc4cc1caac3790102744fd0781c35a0de74ec791ae8eedf8cedc88904160302047c435bb500673065023070fe6658b73a119719833cdf2c5859b6e5e18d9b9cef088d34bded9775813180f24edbbde0af4588f36e035f7c3756da023100fc211ecf653b95ac31aadc1d0563d5f059282efde34680a393ef80f6d51fd0e0ebfe9935a5d9cf377e88a7f09be24d0f0302047c435bb50067306502304294050263d6f4961548c77bdbeb23bfed7a3d231b5d6693c65896f6b7ab65c036c0f0e39e70b5baccfcdb523412aad4023100e126a500cc803085ff6cee5187de4a6b7c4bca1631f74eb8d90b5fd92ee072ba408a89a58aea679b4fea3dc6ae34215e0302047c435bb500673065023100cf9cd340746979f53f7d8014d9c1a24651875a2639a5a8dfff5c7b3dc0be1712ccaef93394ec903b91b1381661e54f280230496461dd5a4d9ebbca59ed686ee537f70f73de93ca0746cc119dc367c2ae7e0c9e9b77fdc777d5813f67362091eb53260302047c435bb5006730650231008fd61f060fb4ed68ec179d69bc7b4fe047517ff78e88ecca88cc3e9a198f3f1883d42c9f691a6204965a118a25e30f6b0230479541f1766f85a1bb74cb3fe2fbb7050da774711593f4a66d49f5a890d7ec54c21bcbf27dcb7419a5bf6c3748fb13190302047c435bb50066306402305dc53269d87029d18c080ccfb595b3297ff6b7f5430bb6a54384b6a6eded7c7efe63e653268e09dfdb0449de07a4efa902302031989accb7b665f12aa30b25297635a95d6fd2bbfeeb7729500a494148bbcb853b9e6e04b907fe44a14e060ae0db390302047c435bb500683066023100baf29a9b722ab404799af85cbf3db1d50b02275c0efb75e5e48be6ce78597822b64bd761ac604c82d282df7198bf69bc023100f1aa7b3cb66937b6581c73e45b5188a7e516567566eb710a9676690b548f867b628b05272cfc6fdf4c276c3969c89fd90302047c435bb500673065023100cffbe6034bf72b2196cfbd3ef6fa3f961ce8117ab6389169e495e5a8e5a56d9ff0ce39a9ca0ddf88385eeb321e9ed76b023002b14cb9bcd42735fab64f92d24db89957f858ffd8fd7aebc93d7b753eef3a90e6de00a6aad85c3d9184dfec2ac20d160302047c435bb500673065023100e8db5e43ec2171482b70a75c419d6e52eb8f707b7f63015f23b5809adf6d0c68896ebf9f113e4fc8af4cae5d5990ee3402302c39ba195994704a9dde8547a6b3b6a68be6181c2404bc3b67691ccf296fcf6dd5d93a6f844f9740bfe9836c3c4e8bc10302047c435bb5006630640230489aab37bc212c21f155849df8bbc1ae27d5e6a901ad1a1484bac107d152a1778b7761025786fa50ad23296289287a4e02305ac55710df217ac7d8d72311694ef1b8906fdd6e6452ec2ebd677fd8461e3c08995b9f20b799222e26a6ffa0deb82bd70302047c435bb500683066023100e8c2e7d7623f7e24871423f77f41d9831848807df78e885ac51acedc5e1e2021f600d2f46c6eca1981dba37deb865c9a023100bad5e721c0ec8e2a575c2f1cfba481750281321e06a8b33e76745226f830976484c834a3f09a7afd042ee6224840ec040302047c435bb5006630640230509fb9230e8c1076038575aaf081278cfe09f18022423f07f2f4f37b415cc21722cdf777203ba3c76e8499b4601d430602307874458ff0c32e5c6e7de6d88509063b0500b8b679c08bd1559d832c2788f6efc59acca7540ae260e675a44166a534310302047c435bb500663064023007e2a1a5c933a749d022d3acd3844f8278a760e998ea64cd838ee6680dbbf44683bda5459a451800d32e33235c83b47f023023a405436046fccb8bb11b46ccac21f1085b4e1375aaed35c9e07dcb09c119d198222200a3fc41ff75b3a6eeeb0ed3e10302047c435bb5006830660231008a6b38308d8f6ddbce19e861c70ba6b848a20c922ed76ffec66b8769468e15bedf78eedc09fb83a6e028ea1767f1b638023100c00b040617f76570239335ec0120063b5836305eaf71ba922877779cca3b771ed872138c0f86b2d110e35450f7f7bb380302047c435bb500683066023100a8fb9638ec4bfe53d7c2ac02439e86e5ee09cc9606883a9472d10a5c714611ac11faf39c6ed917f69a87abc99a34fd24023100a975048e5e72ebb9efc58f66e882ad3114bf3babffdafd9bc51c977e6ce31762d41692638edf3d49a0e4d91c422c246e0302047c435bb500683066023100d8c2290e06f0203d22b241eb46285ea84927ce5733abd4ab8c8f8e2c60d556e8b92e51643906847b992bee7548b4a3aa0231008a36ee87dbffb5733e615bbc916f0e95223ae041b185864bf049194c965bd13f36b26c7d64ee213509f642e5b48796370302047c435bb50066306402300122d346a0818c396d132632ab7e94b7acc31926af3f7705fff617ba173762a8b728c8cd571094d4440ebf5949df5d390230757445d57c40d05ee60031301e5ba02d867d814262fcf2c977dd9ea859a9572c3730e73fc3e574262f2adc1f3997c4450302047c435bb5006830660231008cd34f834b5689b717a10114ec28900b1a3e6642678a9d70e1c061b32f3003cdacbbf757c5d305105acd043e8d263bf40231008f1ba021dae0baa2e7cbb327b4361e0fe8ab101d3208128947bdea9b4483271873c216ebbaf71c062abe79b4b6194c300302047c435bb50067306502310086aa9c354d6015f6f2c31d057adb960b375cd957cdef8d1b7319a46d5f85a88b61f8ed72b902be6be537bde1c6612d030230369a01f119f7626d977b59432e7f7565114d6b5cb0f31c8e8c34341080354373c2a76051193fa3e0e561a922a101bd480302047c435bb50068306602310091a7ff8b23658ea7dfe3c0dfb5cea16d766d3bad0f1863e74cb11f9d7f38dfbc5ea242e997b47898d0540d2f649ccb1b023100bc5e20677401325fa9a5c3410e5bcd7a148de377776b0c07ab8b30ed62c33c4121100efe93a0867f002e624b9d370b930302047c435bb5006730650230501523594e2e2fe2f8da60946ea1ac3edb4b9cda8be62ae912e3b7107002d3e06ab8f904921178625bcf1c231555cb00023100cf0400b788169e3f29547938806c59fca7529a28768fc95cadfa559ca294493d17036a285796cc814a3034077a9caa3f0302047c435bb500673065023100bb01f07579a41970e6c2fe4eb2b6d7db9c5b91cce5215d6ee233eea1664e3787c9ca2932f0533027e0e37f721c7608b702303e02865ce960f1f2d4e5393709fa18d113a29ef7392d9a85780d03139b3a6070e502e0ef1fa6bd632fc7343e639d35c20302047c435bb500683066023100b4281f574ae0ebeda11983abab30f8383aa1bd4d35ec0cff14a9bc1c105283ac9641a419dca7ce0a53d1636a70fc928b0231009470105ef6bb93cfbfd7f6db4375da9ca8e7cdbc0cabda5741f3a02aca9f7b459b69f75b473c6760b0b23210ec403df50302047c435bb50066306402305cdb28e080f0564c6d58fa665835ee5003a09dbae32b7982e52348e7d0f46edd031ae51fd9e1cd67b648c7d30f963afc023007bc5a21d13c6cff9f16cb814686bf9ead3548c79d0500d8f632ee089b81f22eac3189590f50400f3668f452e1ce90440302047c435bb50067306502307a257b9b422d22845dcdce34d51dbdef5bfb1437de6873ad7cc0d9c2f05af1c6211f7c7eeebe0234f09815b30153a5e60231008119d05a750050f6cd852192e346c37aca794863f335150c2ab671892b823dd9574a3364589ec9ec3239d5b1fe03e7ad0302047c435bb500673065023100e8edb668480e4304659aeda0925a52482efcbf09e82b06ae69862332b774f672d47ec857bae9f5c2761b7aeb7b9a8449023065ed2c270cd6ccca367b38007b903f57705513d48c27e7d93aa914726f7bc54990c6501091c7544099a78be39865ad580302047c435bb500663064023016286fd168cf5e43e9ae9ce3c70dcc48c6a6b603dbb81e397c0b76ce1544ea4bfbe4ece7e7ccd5bb13a6019a355be95a023068793185fc7ae771864d0d1edc6e7c034d8754272207606f5aa159f43b8341a19d4203845a531bf2b7bfa63b3ba966da0302047c435bb5006630640230542911ea3740e7d0149cedd8489e66aba3aea5246795edb8ad899354dbd46a3602d1cbc03337826697db927cd44c251702301a3c4fb7f3a0c13b5ca5637a0b039bc66cd9e75b2f3aff5d4bdb8c11a90a7a81ae87cf5b16fa258b08632d0faa486f860302047c435bb50066306402306aaf5e413c0cb4d27dffca8c84aed3ca6da3002f3d6871d9cd4cd36b8b78004efede09a4a373c2ca9072cf487b036c99023026bf2868db7125e61a1fb86ec5238863d9dd211a09d6fc8a4f7396b16d9b58bb9f93bad393b5402af61a798e7b49a3990302047c435bb500673065023100fcee41972b67ad6e63c0f2a1a00135d9048f4d2c23ed918b872e165a84638bb9be758c4679a136f0e516faacd45d73f8023051f9b947aaf55492b837d282709189162f9a35970d22a4a186cedaf3160b672fbcf67a99708c67e0c9f2573f5b2a33340302047c435bb500673065023100858b2599abb8f8931e6d23c7b6940cd3422d1dc48cfd80d72a221d67246a954d732c7ad7f9ab946a396aa9750e7589ed02302ae50b31edc93145f392d56739360c5c12813d2e51b2980828f80abcf959fcebb9c8a44b8743a680cc6b4f2cf73827d80302047c435bb500673065023100fb98935ead846166bc5552a650bd40310b82cffc1bba05822680fe9293321c9f4ae87c12e348165950a83408ee5e91ed0230297d042142924971b812bea02e632bac3de3c7e6400faa0a2097127f8fdd381cc233fdd76f3026d058f14580f232a1c70302047c435bb500673065023100b9111078cd05d82ca92cb773b6851e61da55aad2199ccab6613a1a9e0bb49f48b5194b58ae8fe284a92501a8286d530e02305705f16cab9e2e3e82de90b102aff49f14baa3bb5871fd05b5a8407f464f2fee6b4e1d66506c7c6e8e654977a6e3bc810302047c435bb5006730650230598668a2e874f2f169683a68afe060df94757908d06ebd9a456cf3987b4fa88a29d1f148e301fc2509c8c8b0da71aca1023100fd65a375f19b00a6bac4cb70a4700910946d86746dbc473d25c37b68b458f1b58c814ffc0a5cf27a168d1c9fbcb5cfcd0302047c435bb500683066023100cbb172688f0977df45b2414e57930667f2ad232a39946f5e5f884477a8abce0d5811b2d4ab57e983277d06f9726035e1023100bd296eff9f267ed9b86931705f65da809eb84b87cd39f1f952f9efe5b8797c44302a13d1a2fb41f55161a2a6b336492a0302047c435bb500673065023100a43016106f0403cc4b415e65ce63490e355d3baa25fc94ffbc1a8057f611541cbfd97cc86bc008349e489e959aeac05802302032db163787dcefc07a916c1084b86d67c55def13e99d7526fc6ca00ff80d5c05ce6b1d27567be8c378fe5c9784ed8e0302047c435bb500673065023100edab29ed44adea4b52884d416cb6892e356f829aa73d985aae73f422c50fa89654694a525eaf282836f67681c4886f67023047652f2af7e06a3a98303297205504d5ebd2ed7bf1493938db52c662aeb9de804804f7ca88892b7f8e336c36627fa9700302047c435bb50067306502306a6a522369d8ad967c14b402bd982f685d0bc4b2a273b1bd5ad5bd24f2f1a8caef434735833224e6d2d9dc63d167e19d023100f85f8597fb745c69de8a073d76440a5806914f87d0f8a81642496b7202918cec009138406c9b5e910dd28d5a34a5ad9b0302047c435bb500673065023100c37fab58b0741aacfdc693ab24d5aad1590cce7f935885a0abe78430c39a93ce1c4b60e2900dfdebbec06b86d4e303d302305fb37dc22dcddfef69d15c2eca275fe4644ec99745fa09890f4f6a81bc8dcde7d7c84f791760455ab591175de0b520880302047c435bb500683066023100c21d6b086fa60282664f186845836a8663d3949e600ab114895370b62f6e170e22fbf881a7897ecc37fc95a178c6f83a023100ee1e8028d636ce3a2f166ea71925b4b35a3edb4a7f5b8d217d9518e52496a55f010f24368222df55b9ff1c4fd74999010302047c435bb50067306502310094785f2c883efe28bda2eebd30bc5c90ab81f9828adfe3b99edafc53d1c6f8a85a6355504e37910e5043f71ea071c2a102301764f7a26737a8bfa2e333fd44cd340c4f5fb04c8953cfab55e0ee83bb5f3f56dba6c32e6fed09e58442db66ff14aa3e0302047c435bb500673065023045c6ed6608b44877e61d89f8afd2644336f85101fc13aa9f9806dc0c6218fa007cf13965df2d07a80095dffb82862d6a023100b9e7c9653e3a7a595b205549941f7f10d9cb60cff64effc23284b165f864387d3feed3521a919fdbd07ebae18459ec850302047c435bb500673065023100f22caf25e9ac6001f54516252a8fafd79edd0315279d6b905a51e1ed240caa05a21091d2f71bc7ba1dfdc36a9b518a7802302e9e09c1483cb73022106dbaf9f5ca8d5fd51a1f2bdf52a3e4f8ebaea49e1f571f6e25f4003d5f1477b8886b0dc3839c0302047c435bb5006730650230593a3d4c69da3538943a80a2b8b0b7cf443d61422dfd7b71404eaf59ef72b67b37d278de6b30a3f2b2e25c485e897850023100b98864f07660942616b83e7854bc1ab574f72cbbd480222ccba62cfb8741d78854b37a2852db3436f2da957b58f5abde0302047c435bb5006830660231008e413f925199244890c8de8ebb4ac85f9e2d9ca021d532310a74e0d2b8ff3289d9f40d968b5bf93a39378570efbf2c7b023100a5f2783373a1c014f69d844103b794e93b3b98233c4d963fb28cf3dd41350a7925cbbdb207ec29f6cef5a9811b60b7010302047c435bb500683066023100ac26966b98bd5e0b2e30f31768761fed60c29c6afc4e1ea09f450562061a885704319564b12f9e5aa002eff63b8b42b60231009f4c3b9a75b7cc4dd49f99c8793d1d55d466ca229b8bc1b3a2533b0edd0bdc66fe088ef9f55c7d67bf0a555ca8506d900302047c435bb500683066023100dbba376e212fd6e9f55245bee8304c3f202ab0b5e243662d9345f8cd7987acd4aba20266ac59b3f9a7bd61a1ef6aca2c023100f78b792393340a52ed85b8fd545839fd9fd86b90ecbff969de026f75d69728ea233c142dbd9335320bfed88e7588f7ad0302047c435bb500673065023100c3cee96dffe54315a8d7f8ce86c991b5a406432494d825675bf7a9d16c6d278a5ebe3965781d17d8a744dfe422290f25023060f18f60d321884ca5db7cd18b7aac013da7f8dd5a330259d222f7eedf4c15b7c038d5106ce08a02521ff28d33c195f90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023060ee6300a7fda28adc330be9c66e7e94a254827033bae07eab78ffb50cb617b92933411bae5b5170db83475924c22e25023100b8606fe607585f685e179cf11b5eedb776ee35a7fb7a0bb8e214edb3a55c21844c0a6b7b82bcff4d092c20d5fd9dcf880302047c435bb500683066023100ac2a4c5f38023839ddff3f81bd1fbaf87221d9924f34c23693ba742a82ea74914823127fe32ddfab6039c15131c23ece023100e621cd44814e600f9ab5e466c050f10265f73e86745f10b58a5c29346fe13185fece4fdcc0f925e7abe06db472d44cc60302047c435bb500673065023034c9ac1d25be41c5c1180af5636299d482b483b1f8b4c56506c39d41ea212fe8130740a125eef17b14989f6e79207a84023100ad767a17bfbcbde7af4d7d872386c4f0295eb15ce6911ab6332fbcf6a929804b01f96f62bf11091d6cbc3b4169ecb42a0302047c435bb50067306502301828df6d86796e753b35d9162e80ec5f270f044b14e2782cec8573e9e7b61fed54e35055c2c0dd85a2195b70d6f79181023100b65ac0919e74eccbc429a806fce963e9b99105a8fb6058033892cbfde629a5a9f27294d222f58ad3a909b46ae1494fff0302047c435bb500683066023100ad496f4db0d3a933f6aa9b1e0b4b7554dd0ed8cc76b711efd42528f8ffabfab66a9d1ad7106925164aa9fcd33657b54d023100eacdad4335c8fde26d4a0bd04854ea678559b8ee1ed1c4974bcbde41752efc8c5c33c09dff1ccb4ee6210664a07552a00302047c435bb500673065023100ffe7cdba48a8f9408eb8875b3f3758ba85f80c3f67fbae5fcdc972f2a54ea8f11a5b4faf08086de5552b3c18411737c802305f18fc9bfc99287aaefbdaa1b7b2334517e6d458ef69d079bd3d4005da0a4b36c5a051b1160409d7edd0e4f09aeceee20302047c435bb500673065023100fcc4bc93a85e2b51ecd7f07f79a7fa0ad292bbce9e9736bcec3223c0d114966354b95b2b35da08f05e5eda123045cc5002306219e20f17ef39e8b6c523fd815b89fde38633c9771ad8fffb60ad1c87264af52d9fb674c4f9518a020f6c88d4a4d7070302047c435bb5006630640230521bc6198aa1efd6046d12a0cb4f104933060033e4d311cc746c5390623d75c1409d8e0efe8e6c73fd7a1e40855380a4023009ab6fb17683d2f2d2bbcd676df2a3e15d31bc4696663b60c32e3f093e3fe2481cbc96d5eb1e94a6e79accb4704af3410302047c435bb500663064023026f436d2a36da8a3fe388eca81ba6b89fe1052ec896e262df5eb084beddadda3ef7e477abb9d3d2a4d2d6bfff112690c02302a08ec97c4e46c142edb31cf0f6111a89dcbc386873ac60ee2a5138f75e91a29fa7f668b94720129954f9fd693f6349a0302047c435bb50067306502304061102e68968267523e96fcf353191b3b6f6c20bba6e0d6d0aab0c3619c9382e7e6453414c66fa37c937f40cffb7370023100ddc3f6f24d621c569a40312aa900b25c50f9c68a675f63d180d4bdbd242256a7bcf26e28432a6c0a4c532211a80222170302047c435bb5006830660231009b8d76e97f4ce764871883b7b3adf0e32828c4cb2a7bce418d6adebb7bdd44dfceb877aca816defe5261441f4cbd69f10231008e61a4c9cdd5bb02201ce55af457782844a5aed66f204f8a03b8b506ead18ba66dac775706398c4261e6e766f27880590302047c435bb500673065023100ae8eb0be058db5e44a1645be89966656d48be26057b9bfd9acb67feadf31fc7538d54f4736a9fd2e7fb89de0a95ec92902305907a5886aaf50854db3937789d9dfd96774a40df671b9f7fa10be99f8bb64d38d691f8e2234355bfb73d02f96314cee0302047c435bb5006730650231008774b77d7399fb13df2c766ce34a2a930a25e93fc027ead5b14f1ba2b461fd4ad50510e17f4fa6e92b9c7d619e6f69f302307bf9176af3bf84cef38147e8cacf5cb997f2f1eb80595d5a5189bc07986cb4620841cc139d1bd781b57b55e756105f4e0302047c435bb50066306402303ebc53501d055c709722f0f4c972a2f3ed62f01929a474dec76101c4c5344a311de90400cfce41a23ea89712addb8bed02304f6055609b4f7ce54c1a81adf23b96d0a4d7fbbdfbfdd08cb9f0c399772fb7afedfe5610f92a45b40a6584752c1e48f70302047c435bb50068306602310080946af9df64c3ac5397cdb0cc795d47f83e09e839c59b4aefde30b9f5a8b30fd64a539d571e3b04ab4c3eee7edac9c9023100c7d75a0948163fd7e14d0aca5c16b2ae957ec1b318057ac6fbcd0492fd6e1441cd11eec2ae1c7c7abca2cf2295485e620302047c435bb5006730650231009fc6ae083036f2027fb3e3261e5b8a68501676b08fa00a9033ca037879261c835b8756e4a769924c08836ef3a72f94e302301970ca345d6456394329369e26c33b8d20e40f9b129455de32d00ebd5d1ea9a3116e8d963f8711e2a22aba96557df6870302047c435bb500673065023009c895df35a350d9ff2db2f4f93f1bfd3170fba23fec5ce85ba3f22815c7eba5c2dda4621f08bd0bcbe4859c473f7572023100edc34515499d4a5cd425ce94511c8f6db58812c8d89036ff22a7ac9a82530d38a03ab2b628b58a85db2a6d6331722a960302047c435bb500673065023011d5f6cbf66220b6d95660c66b73f446c1325e528d6645a422f1887f57698dcd2a0f63f976e18a3e796585c0718abf96023100a8f40fada5976a4f043a0f31c3f05e86c6aaa176bbab53cb171df93d78ac9d9f1efeda10e3fe1d48d90096676d2b7fcf0302047c435bb5006730650230276036aa9ec7d09714548aadbde5ee1e70a9cda3d0dfb16d4b5481517ccd0854a2a9f11f8cf3bdfba08de4e4a071f5150231009eb57b68a4232eb0749cb170cb06625ea508acc96a1820fb1689f4d76767b82f5d59d6a507549d584ffae643ece75ccb0302047c435bb50066306402307b02773ea8c9220fc3cf5cbccd35cc1be67d124db4aeecaeff66333d62ade0067768188221d0de48bd94fd43d17255f30230637f312bde2f66feae61b57d732e432734b982a73a21ebe7b9ce3b86098d788257f10055ae18a6cfa1a9001eab5c95c20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301b5c3440808ad17c3c2e716748aebf9d368ab9a7b6b6f0cfab6440499339ffa36b72c28b005025823d9c67865160bf75023100da173ede8700090dc49aaf42ab28731c2055404c11e80f53618f65f5770c3438a391143405496ea8cdb764dce44f65b00302047c435bb500673065023024fec5e9e89df3d764cc5ec54ccd20c536b92b44f0c9651fb647ba7c977e38a9e56e4d513200fd19b24354c8bde8ceef023100a8500dcb12524854485fd4c274f2fe8eea27513ec1ef15a404c6f78692c232e1e16d2abde4d39fdf95fea739ce50122b0302047c435bb500673065023100fa97c8e7190f976c0f7056e8274a258e77d729781cea26bd3a36603bccf10b7fa36b5ad3eb15ece4fa75090090bea05102302402b56c09d7b55f520afff3c973c6c8b1ce2e23236b6e6d97c37e496fd3fba8c39d5794023b96fc1413a2255d3d97610302047c435bb50066306402301bcddd077caf5b09701285f7b7804ff3fb651a7952eba839c18edc9899e58809bc5fb775c5959fe7a760a34625068acd023005eddafbef13465629fb46209faa37ee00717cc1afafbfa47ec5989eed3c8df24a4a226e7f8e7632cd87285236f1228a0302047c435bb500673065023100f2c74646fb7b2fc98754123790ad3d9c255f0bc581d6392e8da4659b2338c116b88881b897bf7092b870aecfd363948b02302b82cc6db4ca0e5298524c321aab7ee6c368579b47dc15093b2a45b01e06166d85d2dfb5a4815f3e1a222277268213820302047c435bb500663064023068fb13c7bfe5dbce0a8d4ba4038695465dac67e3956e90e43103b2b2c3a04391b02e8618963801e552cb20fd003c7f8502302b19e93216c00c257e0237ad07b0b0e800b398b1a20913134beb3430660d221c920ab26089fdcbedf4f6c444a38531390302047c435bb500673065023100f331f3b8e5f0f6e4adf04abde2fd4d185138dd2840a082f9698667dba49b6dc43fd895a76f38e77d98ea8434d9a14af202307305706fc59dc44d4c8d6da45a12446a7953cc2a157db65259f385b337ee6a667e0ddd238c573bce4344270b20ca49b70302047c435bb500663064023076850651c4e641d7307f706f7ad7566d977e5b491b2070eb5101b8a4f367e2712db74e03a6ea953cf2347a8b4b459206023077c9474a489bbd3f0da73b45e45e24d058a8085f1a9c14452660eb28ab7ec4e5863ec7dbb444dc19e68802ce7931a2b40302047c435bb50067306502310095a4b3f63876607fdb0b260a524e3be01c38deaca0558c4c1c83f840cf09125b4e8f6e3c5436a423bf205583a9213965023003b10b7647b36026ac28963e315c14c468ae45b0045200fcd30cb979fe0324e5feb688d28143c02fe49dbbce0b86974a0302047c435bb500673065023100b059d548125ebf756112c66116bfe7dc89c7c4637c3d69609bba8a2bda63e80a98e82bb239ad3b350335ccc545b4a55d02303ab7f2845eecdeb5a3152e2f78e11ba86f23d85d5ecd8977be4181017e9b869ea9c87fd8e1837084a88f9e126bfed7270302047c435bb500663064023039a0b6b476538a1a423ad69bd169a57c353b8b7b8b1879c9d9064706ab187af57d7c1d380e12e6946cafcd4116c5a6bb0230573aae1493c753e88ad5fc790a9a8abeebf00ac408b3cc13a001e1c482031fea1af460a5caf75c77246569d66fe2b2340302047c435bb5006830660231008aa21a430c708aef774b379c676742faf86570f339513cdb1ab39728f8c2fc6b64517b0c928b975954ba1d40ae58a573023100cc8d4e7ffcb035b6951c307a941eff1ec34e8e784f2541ba6f24be87ef187a9f7ac161b1fa9b493f0f04832fbdf01d770302047c435bb500673065023100eb18b9e88178c12a8cab55772384a96d73eac5d892f7d5946b45dc7d49cc19167bf0f602c4ab0e8ba39bb7330b5b7d0802306b0b5028c69ceb1876e0e86f4532fa007d15289b81e78b98779ddb515bd73dae6991e9c853b994c884b035a33c2dc7f20302047c435bb500663064023075e2b07f817e7df2453a5177d95730241c945ecb8e1afac3e8a1145b206e5eb035dee17d3f470031303663b153cfb2fa0230614244871860d71fc60e0b04f024a81cf9062c19e315a2e3a1202c4dbf29c075d0c3209996837a82826259271d7292fb0302047c435bb50068306602310090b54377c3e05f963f826dc846b8a48654c2ed096c6a72c300aeaea3dcb7bd366d72c61a98be7d362c82a04c707c58ae023100ee8c867f530417b6f805812b5f26998c9f86214bbe812aa02ace7ae5e28b004e97bb06fdc00cfa82e6a52bd667987fc70302047c435bb500673065023100f032740c0edc1f1f96f8adde7509ead113f34433f97471fa87935f8d19c83ac3056abb354776a4a34a41e80da60bd6c402304b4d37e63c9c891bd783f9f9d8b35ad6428273fd65a4e4063ad57ba2ef28aa576c6e90a54ee9f4249f5406ea39b41f100302047c435bb500663064023014837ba272536d247c9db539379fced3ca85d94e1e7622da28baac8d7dee8b1325ebaeac183dc39177664f04cd5b17e402302cca594ed6d101ec019d5ba3edaaa098da059b947cc3d68c1dc9905becfb1de20bc9388a4b3783f7d3cfe346ec0f1c550302047c435bb50067306502303c5d385f1c2a4bd66fc70a320499a2fa2633a9468a674c45e493cfe316e7bc471986c614ae96a81167cc790d1dbd6a450231009782c1132fac728119c6596bef807a63720424a591282e54982e6a814133651a6d4177ff8c089e60eebc18d7f4a69e6f0302047c435bb500673065023100b01a2521dde454cb54f6c316ee80a994b6828edab15309524bc383be0f78872f0746fc85e3b7854f42bdd8d2e2a53ca402304b34af64ccc2955faad8c2cd0e9595abe4b0144f61e26cf75a8ca67a5725721b035c3d961419c4d1b9f801a0a4244c650302047c435bb5006730650230150f2a18c0818b687cd0098bcbe0a800ea61de044c24be8440c5a08d97b9407e1898a1450cd53ac6996bea7f51b18816023100e54485f74fd1ef69e1bfd09166b3badcaa8789b6b08588ddae625aa73f875af9bd993fc0ed2c2a2e5bb933b5c21b5a360302047c435bb500673065023100d131bd2053b38b9ae4af79aa4256741bddec80a46f05498364dba76ecdcc03a6f59e00c90ea6141d0f7cd043ce4a6d91023054e3bea1b07601d2ea17247aabae4daf92f78ffb1d2dc86fee09ee0b1efe82b08f18a4d505b43bc18688bd09f9e48f930302047c435bb5006630640230594f16bcfa220e977ed67c45b372febd2ac0b2814eddfd7811baea5e7e79a8f8d3ac7f1a3ba0b9936b54d7a2900100f302302bd9ba9e7c21745e55a810abe91ff28e572faec200b3bdc9e8e3edc23bf30de7977d978e4f145e82b68e541937e876760302047c435bb50066306402306a0612f16b99eaeb7c3492b2561511f545f026d5d7d05acce1e242df7afe992bd40300bf2a32ae7d7d2ef7a47892532e0230418b5146793558483626bb35650fc8bf7f653e1e059a09353d5aef2cbb43e73ac9c22edb080634bfe3d4e5062f46928f0302047c435bb500683066023100846f57635e7b898b0884b0b7af22ca7eb505fe7db03b99e30aef4364281d47af422b00474bd5534e48c6a05c1a31849a0231009126abdd756b5d4cb2a8ccf3a0a652b5f984fe7cff1b32c8684d02579c4e10d57b40a4f9a5d1f8b4af029f54c85ddd2b0302047c435bb50067306502305f3e7b98de653bc677e5fb7101c624b381c9f4e9db2f1c762c6c02bb87c271c0ffb64a0d7bc89a4781fae707121d3d46023100ea3149a01da7d2dee81684d1848059047c721edfbeebcf0bb273860de3cc6fcd697e4cf278c750b7250224d05f55d13f0302047c435bb50066306402306ba83ecb53277c8bf334c54e38281bfa02abfea7fa4280079beb50757ebe09c60dab6788c36d7791b061ec8064fb202102307555720d374914a9c57775248e6d10d28d9b8b3ff5a0ec7430332faf2ed2426659d0d201e9b97dd097c4b52b0b5e05e60302047c435bb500683066023100f5902dc323ad4ad5cc12cebf6ba1ed130a201e66c5f9b03d63a501fe8c55408fa6b9d1d67ba55844423dc0a02439f3d7023100e0b7daa788c49b8db7ba48b43b05090e381ace09cf40678627337f40e173cbd56b164a72a8e6741f4f8bd9b344ef7be70302047c435bb500673065023074e0f4b5df7a487cd42166c6f03c46852558b75704088b7fb49912cfa181b678afeb25b170bac11984c036d2b29a4d58023100e7ea371c654b77e5e2f36c13e185572eec5773bbf095a7594857cf457975e1caf3e7ee6beb51475aab36a861321df8380302047c435bb5006830660231009b6e674e107c7fd14f9b7f9bf6f187f2b238f7e647debff7a7818494d21491fea45a2530d1b12f13925866bff89e2e65023100d0a6b9a2e15a2bc91438d99a23e78ca3bb9e92a60610ce0ae429d7e38aae1a7e783bd2ee747be11479573ffb7b8efb7a0302047c435bb500673065023100b62ef4c1112921506529dc5db50ef699c364fb119e158f88d735159d5bb5b49db604683f658956c2d086d36b426fd233023018f65e5c727331bc8412caa7bbf1217a97a825b071e97198d222a36b8b369fa09452684fc0c393a463f5bbcd1f5b28f80302047c435bb50066306402300503e4867b54ae2e3f75b5f257d86ae1812981ffa03394457ba57ba11bb902acd8defa8532bd09afaf51473bdf688eca02300bf59c3567afd2f247952e2a1ae9c522874075a73a509e6649f08d3a18d848c2ca639449b483b9f7f1f837029456d2a90302047c435bb500683066023100833102cc7063cf5813cc5d0b71e9d01732b4b0a935d57ab4cbd68ce0be0f6f2227dccff5561d392b9d616e8c34f268a0023100cabeda5bbe870a4806660a62fab8fb931caca7dfa3247b0386b28e80c94cc94bcd0280c39016058cd087210d0f3684d50302047c435bb50067306502304dd28f698f58fff5c52b794e6488947ce811a13ad273b3adb28f98a473dbef2854ad95f8efc59fdbb2ab08b28b2834970231009cbc63f825deed696873b449bba5ed56f6f605ed808e2939dad2c195021b0f32474f17199bec63898294e980b9cb63100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fc501f71b34dfb938b0a7e45dbf0ba1107e5967eee10fb96a2ae5ee665eafe89bfd890a8150444ab5a00af75ecbc7df502302c08afedb9a2ad67dd2fd556be27b7f76adda8571b80d65c8f77c585134a7aebbf3f73ba9c7c012cd53b845338a98b860302047c435bb500683066023100f6415bcefd9e10bbad037d21a6fcde96bea3b37b935802ae4112c482d2ad03ac41f386c42189105f0a19d436e30e08e4023100e2b8e8c321d9f17822e081498e2942a4f0cb19547317e848d85d72def453e912276d42e92d4e4b064deb31a078475c160302047c435bb5006730650230587cbadf4efc220f69cc86f3ec28d5fad9fb1a0c29e310164bd42838533dc9701867357e292e16d04d8193b97b480d18023100babe4d5e3edfbd0fa43e34cb03673f9bced6b0a58b0608c7535504df22923fa8b0100900a3324749843273bf623899500302047c435bb5006730650230720a58524e44a6a776871acebfa202b98894c7a2deb145fae3663a800b915f3c08f608e1c553033b0eefcf3e5d6f75b6023100efce3c8be47ec28708d311c9fa5c2d7b645f907f2f91b30d79505a44fabee623b0e7adc23b577fd8c4dff4c06501b58a0302047c435bb50066306402302cc8527a790ae096007b23eaceace14ad33d35fbc254b56ef2462ab410431216c69349f586de766418b8a51284b47fe4023058d5f492c671b7a74360674e4f54fe769b2d9eee9ebd4103ab5470f07487a679a764948f452aaa0449b09d50442a95fa0302047c435bb500673065023028ecd98cdafc707fd05a7ca102b215fb956d861e38d4d88291e6bb3b3ba3588e029358088a8422198fd0d2786039bcfe023100cf3fa7f27e481ff21afc078877b14e0b3325ddfc4a94785121823ea38ebf32d34d9335c0548abc52a7c8eb46c4a3045f0302047c435bb500683066023100db40f0ff2eaf7de3f8665cabb93e96d11585f0189264d9d80c19ed1d45940f2da2f62b8347ad37cd024100f0ed034647023100ab7d24236b7ddc4b8e91c35b73ab9b6bf10e07de4324c3c62c0b969a26c83c5ac1cd18ea1a759be3a43a1fd4ec47226b0302047c435bb500673065023100b65ad6d8b8b19e1550e4c11ad4f7d50ebd27bd9eb8a3febce30e920a9aeb23ff7d43da9323f7b614b0fc2ab1250b407302304686520435336eb2ba2edc94d56b27698db982de68f7afe0ab3b953a6c777bcd7151b9195e36fa9450382dbc13bff7ef0302047c435bb50066306402301a1083a838ebba966b0d491bb247ac076f8d45d8cbc9870fb05332ae7c9a500c5c6245a5e2f8bcf88c281cc958c420ed02305425069833b204c347afdff4743651807c3909b95875a18e41f45e95937300147a9f1d5a2ecd72f73d63ad7091d817fd0302047c435bb500673065023044ed1845d9843b781a67f5a95e5bad10bfdb9da2a6c0f16c3498f25748514a444887ca989fcfb8779bb1e66b587f87ed023100e7a31335787297821c8c6e9350b1af2cb85f4116deed60646ff001b4b24602a427058e5db9b4e9005b7675e4c6d51ae50302047c435bb500663064023013bbff5aab92f83b6b2833edc46c41f51203241c536baa15c7ce6892444af1dd300ca4d02b93aa061fd8afd7a8e4103e0230698294b094c55d07b498e548aef8b4110a8d060ade6ab374d4802e5f202979a5c488cf25733788faeb8b4b5a3a257e710302047c435bb500683066023100f4a6a94cf87f280a5d797588682211b5358826b6a4743a8af955c0b7d3f06924221ad67b04c9a678eabc7fd5ee489803023100c2fc45330ec25528baa5a661d133a50c8c093a8b70fda87281348458bf63aaf5bb6c96a35b98b3217f24d6cf3eebf4240302047c435bb50067306502300d6a22f5ae383a5eda5d8032eb04c1cf47be544b61dcc7a3c9d0e6df73553ce24f28ee015ec84d690006d84c9542ed12023100be38c797642d72bb82ae36d37f118fd2ef8b008588a8a6c283d7d9d9693d5d34523f4c1e31f57e1a073b135832fa4f5e0302047c435bb50067306502303eba2d37b9bcd95c59a77a03cef44b801a8be0470ca40986e769600687feadb336bc0f9000e3851890827d5b54e8442c023100ff30e65ba3323cc403a389a7dddc5a489213046af9b7e9c4c9be28d92497eb8edbc0a4edb69e6048b80cfc393762346f0302047c435bb50066306402306b342b49520eaeb2b15a618bb1cd917f3e7ad32ca687dbf18d819f40a42f1f5b9936b3742f296730b6c2c21d32f335a1023028d227888fbde91984a75ef60ddd7237650b5e8f8dcc12cafb1a41b29d71a6bea53f2e2e68524451604cf0f656253b540302047c435bb50067306502301736045e61f1cd5c2195194517fdc172fff3ff782614ad7ac6549b754b15d3dbb4dba75f66c36bb7609d08f294afde9c023100d5158696f6b63f74f263cede08a12b1ce96e918473c18fbb703ccaaa994bf68f0530dbead5ff838f45688fc2f096a8c30302047c435bb5006730650231009f25fbec6a05f09973f78ce91d676726712b6bc08e3ded0887400b1aea665dff16af0dbf8698007ab5e99ae29219764102305c100ccc5496f3e0ce68c08422766450f00e2022e8f11f11930d411e7c2e98fe5c42a99f2bb2eaf0f702479ec35100c60302047c435bb50067306502303dcf425fa3bd75010e28dd8d5ac645e0d71b9eb3519ca054c0ddcbfa78b02c4a522a2518bd081ef5073adb1cf77e6e15023100e823f48f2b988381144549a380e72c836b39a2795aa85c6a965cd03de71cac17f19b5852fbf82653e4043a4d7a8dc3b60302047c435bb500663064023014fa7c92a87a3c48599cfc56fee0430875463318213164ea1e258590d65d28f630a558c800cd4578aa24e623daffaf9d02303831ef212e21eb2af7d4bef8b8d40083fe28cff52aaab32133ea6a0e46333f3e531786a212ae79bfd9558c42f956c49a0302047c435bb500683066023100cd23ef7f5f11c1f00be4ef0334c02b6b04fddc7072b0fb91b7de85e5ff884a79e46bf3477dfab329518f64d506884b22023100fa5d9555fd91b1f964e0ea0ce2b40253ba4ffabe87303dc607c460cc08029b8115bff7b8b2dc8452884d857a728b7dbf0302047c435bb5006630640230159ca817486acb26b36a246a88597ba1fff7adcf2b9902a7a4b0ad29631212500f000ae525a287aa4d7a9753461d09be02307710b5cc4699841f935c1dee6e400ca8c00ee4d1f6889f20155d9a010ce00d8a9b9a411e8e6013b2ae3bb20e6eca4df60302047c435bb500673065023059c07fb6f5fd2f257b2caaaea268219e7aaf192fc43332bd376450f13935b8a091a5e979d11eda96abeb4ec5d64b3607023100fa753c5908bad519b2081e17cfb6bf50088ebfc191d7ceed5537b5a06860e050e211b5d3cd4cfe104ba95218c36d89260302047c435bb500673065023100f42c28273df31a466a2ad0f61cd0d637ba65a2d21f3196b3bd655ff04968528a7d92867864dfa7249815827c6552f2d60230744805719f05a7fa1caaa96a2c31c4cb4c29a74febd53cc4b6e75c0f365af2874dbfdb0768f0959ac000663f8e2877c20302047c435bb50067306502302501a97c1058f3d22680350877388b21ca40d924d1370cbc3b5cd62b150dc7cc901a7241816bc5b56186943b7eb551a8023100e80860bec11ca6ded3ebf0ddab3d6a9ee2c82a47f7fe7afaed98741b134b41a9657fba263d6fdb3f9a12778e32eb96030302047c435bb500683066023100994408662113851c7d528a35fcd18513199e9c538304255e271ff9d6ecf434bc07d58817c1a4dc7b134013f037316fda023100ca0952a89234dbff4bf8261d9ae07ded38a1f8bcaa650fdfec570a1d2cacb667bf77495ae670ddd37efe20467da0cfa70302047c435bb5006830660231009fc91350c01b2d1fa35406525d143479e0e752fdcaf075111b19c762d563cb376573f5d112d36fc0c5dda453b7b5bb98023100a35ba9b9a11e1f78ebbab40c8c1224a36b31e07064877cc8b81b79ec954567b0aef84044a2caa31217bd615ea51d848e0302047c435bb500673065023100c59d6e1d4aa567b8ae1a00c17463fd6aaa47151a5282a06da4b94e5cceaa0e45877e0890d8d869e3486049e33876982502304e4293765d3a359d975edba5053b2849906a9ac11650494281c19e10264ef71cb5caec73392d8c6611114d1ee19ec3640302047c435bb50066306402302f37b2616fa61bd9bb849d96f948c60b395191ec2b2923a8d9f16aafb3be4cae3a3b7002496323f7a1a7163a1740633602303fd9576114ef0cb4b34ff33331e8792930dfb969e8dfa905f3d6c09daf797cbb70ace4a2e648faf59442c3c6eec685120302047c435bb5006630640230149fb0008d0b4220d6c3c0af61cd03b0c0736cc0ff72f7803ed436a3c022a1595c5eaf8d3772624760afd71301305e6e0230033db6382cb709ab5212c5613e30f90b8388f28d773e811e2d58fd8d712738ea21350fd1a683538298e8aebb0e00794d0302047c435bb500663064023043b57eda298cd2a30a0fe46b66d38077f0843ca919f28bbcc694fe43a4f53e3330d1f9b86cd1c7e6f5aab7cd5e5d883302306d6c7cfb4e291c56647572d61822abd620a4c96afe127a5f4abafe58d758dc1d5c03426dd5d06557e9f07967bd7d9a880302047c435bb50067306502302cfa3cbf0147148b9a1b6e20ec3fbb228fc0bde6e93ec2f9f1028751d1487663e847c6558f820aac38ef5f25189b0f2f023100ca64f3179261767cd1fe142e320c42af6656a7a0bdf821a488b294d1b3e175dd65dfba8fee917157bfa3ffc1b05a52e20302047c435bb500673065023059719905af257a10bd0cbd1a94ce2f6e6fd2397bfa985700cebc5f96fc82886031f81c0cdfdf55f5d5281807f8c96598023100cc649ec54f869be5c195eb6cb99ab97930f0d9777602948e44e81c16e03b512d68070b1491ddd2944dd2de021e4779440302047c435bb500683066023100bde817b5a15e09b0e41ee642d5ac677f83b8dbd7f769ce0f300c2ea81e88d8e2616c0e93100f8a5f139fd1e88f50b4ec023100b3e86ad2bbf73971b4b4a95ff922c82aa55a6612e2c69e43a64078b785834bb3b94af6af10dbba8cbc88aa211cc49bfd0302047c435bb50067306502303019104f346c195f60899210a2c3caa304a3591aaa95a2f261f5a498ddf0ab621ef5ea43a2cd79230c570570a0084aaa023100c2d527d46ed9217256b4bd7d82d8495ecf1167675487558b302e55b50878dbed92236c8c5f1e12f50216423247ab28430302047c435bb5006730650230221cd026dd4878be94f284606a71da25bb09fbdaafd42d8ceab6bf6a0571a334843599d0fb72acb049357a8f25e5cb3e0231009011aa0027e453ef3308b7d456534fa41cf01983a4a1fe0639e8f6d5612b983ac6739bb7ad92ecd336d074be36b3b9930302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ccf6ea6b9d31e45b782aa3666651d05a4bfe6d6fa8a246736f3666ef39d603fae68d3fe2837245a5dcf53b39e1c15c3e0231009e1339632e6689a901c1d749e0dc2adfd5265e8248f89dff8ae2faf8959e6f02ec9a7356400f5eaa23b8ecb4613a1cd30302047c435bb500673065023100c7752da7bc60548375dc245a6e099d5fcdc046a613da986420da7bbe4d76140bde225e1ed122973f7ee677b42ed3a5860230268ae40463e373af22bd4a4f18a35970c6536ca2f4f9634b86c2d38399b264661e055ab157a24324a91e11df7c05160b0302047c435bb500673065023100dbad06606e01072bc8a5913a22a1b7aa5fae1f912d242f448814e417d830948b5b251c52c1a80e22d39479bda4c9da48023059749829ac880c46e54103204ef142db374e6a7879a7d5bd97cfd088f1b3007ae4c49939aee305088e7d7c5ab3109ffd0302047c435bb500673065023100de7da74c459a8af7d73120fc2c6b5bb0f3c874ec386614e6953e511401ba3171d7fff0ffd21860b2448ebb036a00416702301437b9e8748cc2bf85e33fd0bffd8c5e7a5a7d45ea1f02e7d59329471ec0c760189c679b75fef19448ee784420e40e7b0302047c435bb500663064023054bece635ec703caa98ed2b9d750fe3b4cd25ce3313e299ac33cb2e71b9299c7efb3c35bb5cb039bb709be4167638795023045cfedd98f0f88f11f1cfe14a52dcfe71324d16eae2a3bc73c8dd08803771b84841adecb4c5d1179f8c32076bdcf815f0302047c435bb5006730650230360a56f1c922dea7703ba4cbe6c0ba11f17d98933d5608ca9cd4877810f806c062e813c0050e8ffd7543c891e47b4dd0023100df2c98985af0e62e7e6a46bfa395fd1f6d4c227c72a165865530e759bf0478899846625363dbc97da327208e44bc3e810302047c435bb500673065023100bc2252e7e1bb1a8ad59c70d42b5b13a40b4885b4ae566fb8628b936ac6b63a641738ea6c011616c7453931e8bfbc90d9023015ec9b55c638e80135e27c931662f333fc1f0c7326026d9abf171c8086f44e7a44f0d0f1aca4101cb5ca0849369e73e30302047c435bb5006730650230585517c816304875c8cda2f5461c4006605248b0ffdd0d404588e792467ee3745b412b5accc671d6088f32bcd454c424023100a243c3a862cbfb030492663e0682422439eb75d375ae5095627c19ac88b5f81542eb8fd06d04dcaebc9a967c776323ad0302047c435bb50067306502307d3c1f7a481921f36db163e9ade8f89fcb81f9b8fc2797ef5660ba4fb5b57d279e790d87f02e764e325d54b12033c305023100860263337870acbb773b2ebcd5fdce4b42289721f7466616533a366d344b147f2b79f2318ecd02fc23e4f47f435dccc90302047c435bb5006730650231008bbe56e071e9cb2c675785c93b8270ba4dc38015b2020a8400c6c3691f024fdfbf64ac234ca93da0d2357c72eb7655170230269b5ec41feff1124749d94a097c13734e78c9d776ff47ea607315edc4d0c8fbf635d61c0aa2b306edf4c13ffdc87d580302047c435bb500663064023060b3da50114e35545d165b515104e5c0c87946e28e1705758588457afeead9efaf5723c9e280c3a5db6f3376b3a5214902303fc2a39fdf7f48f533e336f5c5df439fc46652a59be166df3e91167db75edf809b7848527674f67740087e3ff54c63710302047c435bb500673065023100e68d8195099e5381e7caed5fb07d7e424cecd4fac000cb0bfe39b66b9d976c6fb9339cb08e2367b2c63dc683f6b82c92023055a198db7d5b877de2ef2ba7b9db0772ff0d7e50766b951b5b2b489a130921cfa3f9cb00b2e1c01d89f662c1f34cbda80302047c435bb500683066023100de8a4a1e3c9ceaf2c2d8938717bbda376d4f19a525a639bf2152c1a6bafc8aebe3bf3e58b30dea4a77162de83c4e602b023100f094422eb190a392b13a0b3fa6be3f0fd52b431272e088e2b5d902481ae51d17203cdf450db7a948d0bd0ea9105640400302047c435bb500673065023100dbc8ecf35e6685742cbe93bc3a7cba9ef6d1ddf53fcac7f71cf183c1dd34bf395bd2d803ce9109dfcea324bf44583a2d02307d6880a50533024004d9d4b10401fb3cb545739c593b9e0c452cc49cb9e6ed8107eb8664be4e0311b85f99d69429a83a0302047c435bb500673065023014c552dfcfcfe9e21cc6412f2d32028b77b3d534d55d56ae016a7d50c8d204ec3ccf77a2cfbc33ff857dcb79eea2d88e023100cd97b6c8a5f8d423a404e4f0456d8ecf6d0cba1c59d5d5aa3930d8a4fb8d9deaa072fab29c329a4137c59bbbf66ae01c0302047c435bb50066306402307c895cdb07356f2a9e38e1a3b2670d53a25bdc6f6e3a599914ae47eef49676c095238cd7e0ca25404dc653359113c79c023053b03d501b7617e911a731adac3f3987bc396e104a716a9186452157a64a39d3336530256ce5547dd245ae3edf2805970302047c435bb500683066023100933ce8516d7beac023eb2efa2224a7172a41242b988e10f71e53495f100b32cb59ce5107039f31fd9f587447fee67cb3023100ba2d2bc8e8f1a713873f2f97ceaf9df499e96fb054a3442f2f3246ec747e6f58551e5c7f3e50c117043a233eb94134580302047c435bb500673065023100ebd02e5be755d3dc3d7c15d6df4cd9366114ebe9868c17394a6e861081496638fd86820411bddac3c549c9f6573bcd8202307643447625d670a728ccba6ce39c6bff560d82519dfd270972bec9e02aa89e11e9bdb594d7ce2c53c722ea9afb6395100302047c435bb50067306502303d46a0d0f20e50ee5d4f94b3eb56adf893e35e9b26d2bf286abb4eeebb9af8adbcbc657a214b3216b890640c782eeab7023100a113fa67baca9ebbe164dbbf4398ba485d3129c9dd74123d3caf282dbe6533c6d1f6744270e874ec178b55c4271636810302047c435bb50066306402306f12cc04fd95e53e73fae891fd720cb9cd870ad10d9592a8131ecded84f44b3bd6beebcab71b00b5ead569414177201502305ee831a37c3b838b50f74ac32447514156d37a2853a1bd5d49494d0f05d5a0d8dd52d172c2a8619af762b173fe20fe410302047c435bb50066306402304c6493eaea4433a74716edaf8ac129aaa52a890fa7d20ff2b8b3ddbeed7611fad006976ebee5b6147c7c4fb7cabd638702304d0c75206a5eb64dd3eaf25d13a2d180fac4ca6bf4fe0448463ca0a78e138adbaa2c5b3a5eb56aa913465b11a758f79f0302047c435bb500683066023100c5818c0eca5e87e0909038afb4f57b5d05ff81ee0797767017edcffa2f9dcea6eeda8fbb34020db672be6e16e9ebe0af0231008dff02bc319745b2af8ee5ba4bc2f1b026fb45ce65c1a6080459de6698bead4e02a62ba30d3180f9d9b07c7f4392346d0302047c435bb500673065023033734e64e908eb3ac4f62eead810754a7f81a81d5ba35b3121876d49f41598eb648264ea37c2f2648bf8913b01d42a56023100b3ded905ae36c7ed37a5c0363cf2654a3cc05d1b79d9ace98f2c4328086de070b482a05f67c6ad0427fd66c66fc8cdb70302047c435bb50068306602310081a140758e2911771f05320d9918bd7cd5ca39b72b8b571d1e54c19f3dc85102b0f96ef6b7425670aae52663ee3647d8023100948bceca3cc119b1e6cb77632ce36d0b01d3cd7121a5c595aa83af1de74cc0554276f8e5aa048141ffc0454b31227fc60302047c435bb5006730650230306217d20d9de9a437fccc5825baa56402fbb6b9c56378db4581c0c25f6e7ab7a7f39e0fce793e82ca89fb906115b9e102310094f33172824f102ee44620ba1a3f1edc4f234be22da72d7192ddca1f5e4ff3578429355c003ff2dd7024e5b0420629980302047c435bb500673065023100dd02139aed993e1d94ecf8870d96579426e787f128bfa0652b4a391194ca6a5cbb9d0f0c2ece1e4420c763a729d7c7bb023038143f69c5ee95a77903075d1d5ea51dd9327cbfa7ae95f43c8fa9b71d524d7a5221e8b874e29839c3696fe80acf894d0302047c435bb5006830660231008944d1dc6cc6a3e6a1cf6263c7c297b23ce484422bb6fb409d6afb357828b7674edc0fd7eecbbf31b824374de9727502023100bac3239787b30f3a10246e2a6d15b23c2ef25b9db26765ed910829b62e07ee528e23db1ea115b7068217fb3a5c94d1e80302047c435bb5006630640230702e8cb68d9da79cf92de6eff088e67ff1406129cc78ebab5efc04f131f579362aaa4bbbdead1c7ef2f78f969277a96c02306c1fb112139a18f784edfc284b91a960a09015adb2ebdd32042db0b5d17374bc94f19b20be7e9ffc7169d89d968630060302047c435bb50066306402305e4a0a6a44c3d0117c853ad65b1a0ce30e5b5f06046951d376dd5154cf7eed78aa0f476dfb6426ada8feb37fb261d4450230419ce688c2a3d702711d227a3d86033da6207b3edbf60ce4f633197cda50f0d14e4ad02a3e45a16c79e7e22bde3d798f0302047c435bb50066306402302dbeadb2aca0d3140d47bb66b61c14472b4a1c528e7fa67c6f4c11db9bfd1c804f1cabe93ee49b4fdd7f7c6defb5cf26023030f913577a379d0fd9c817c98e01465c47921dc2a2481df417f1ae02302a2865d8ad5630d203e8da5e5d62684a6cae1f0302047c435bb50067306502306bc1fc66ccedbc80d12081eff9c785b12264da44766443cac0386fb9d67f7eee741662b66941d8c5ce22e216da0d168e02310098e654da87b13eb101ffc765434853b23a615802893b82f888b559cfcf49f73a767df19498a42ca1856bd1166bd9eae30302047c435bb50067306502300650bf952861e6d8fd3074d7c59ff40602eba951955a5138bc1947bf67c87da03ffd2e442346103ee0a963ff02eac0ec023100c678471d4854996411fe0e6cd82ede351e8ee784ce44f9efa070275e8170fc849726a15e529a09926589871a36b2903d0302047c435bb500683066023100f74f30525702cc31d10ce8a2c94ca1cb15d9e516e456b31d78b83d83263ce7b27d1f97b777b7e1ff58be64dddc1c99e402310083d489f656087f5fbda46028306eeedfcacd283a1963f9a894a2b7f8f35a9e80e9ee9771977bf9d7f6eb16806f4f86a30302047c435bb50067306502306e3e75aabd3d3a52c405e733d33227734dc1df1b20589bd41c19748e7785bc1d463c67e70b460d7e947427bd4a97c132023100a1a489009427358d99131c342ac18d2e10676631f8467aecebe5dd9a01278abaf49728c6e4c4af1810d4481499d7aa7e0302047c435bb500673065023100dfe2268c0246b13e5bb86031f65081ed58483dc5fb1435e975f9949cf4204831176291c985bea565eae0c3737036adb9023050f2b7b388b9f36846f98e585a5abe5a7ac6bb3468a5b69efd9fb997e479372144986ef97327191f1c830bf662d947080302047c435bb500663064023018978e44e664b6d72d3a8eb519d24a57284b9c5d6b8f1f638bec6b4ca72541076ae8b2c3809bae0d918a76f549aa755b02306770635f9037ffb35a2c589e91c885f9bdf1b26f8c66784db0c90a31d678a330c6464134fd1d5df3c9256909271fe2280302047c435bb50066306402305131db34e2d2a0f70a981c3e848355623459f721c2558eaf524074e7927bcbb4d3ea45885e5a59b34bca511eaebb508a02303c91fcbda534120a5be29107b0aa3bba6d0265acb22eb8d81c2bd3b718cca4c4976ab9b904d5c0742e6965608d76e0c10302047c435bb50066306402307a5d6d0bd942e60e58238f9a2e7dac100120871e8a4c75ba530adf073aa41b8b0a59f917136b3f6399940d8fda7a743c0230606d1393622b32bdebf8e499f34519e0097610f1e4fd102c13e4fcc393a697163670a40a7b50c6331abec9a586f102fb0302047c435bb500663064023002843f32f7f2282475c76161aa573391f0c6dda61c59aa0ae324b6295448f35c3a60951d3c842c9d4275dd86b047fa9e02301c2170a87a7ddbe7101aaa39686cde27b2797cc85c61272ab6afb4869625baa60cc7ab3dc98697343f1dd68b97aedce10302047c435bb500683066023100b98583f8018198d9e23a35a7dddd429c620cd41968daf7587b8a582ea8885f5a386852017ca4b2282a1bb23e398f57ca023100fc8bc935e97b1c4fe74246391320c0ca1539026afc37a4c0f94b96591da0db8070dbafe73cada6410057f59740fabdfd0302047c435bb500673065023100c923603b34d20c2df1b0c720199ec007e54e0778cfaacfd69616d7ee9fa3b1a561240d4a3d8546d93027bda5d7cbe42702306c0b7260558d3e54b717a7f21aca1b6aed07ba3d4b17db506da72824406110b691e8ca4cb20cfd250d56fbba71184d680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306de5c9b7da21eb4b5f6249d4e18f560ad214ca755f1aaa6f6469005d1028860a02858d0b82a99924261ec540eed5c71a023100e9a57c01656669bde0babd3e4eda4e05a60cbe8e7ab30a831dfc296adbe1d79600f279d0a0a788b12d24114be4eced870302047c435bb50068306602310094aa9b8ac01b696849730641e7271431bee36a7d83f3e2fe2173c4121cf7008621f41b6471ce99fccd0bbfee7772b15f023100bcd4f11918eb0f611a320593895d85c1c50a65b27ef66a1e859670886eeccd760964c894ca53f8e6149a15147e2dcbc20302047c435bb5006830660231008053d0647f39ff321a6bdc9bd14dc8092a05ab0a8d1d874dc1b097262e32deeb0fa5eb428a466ba0c96f194f46aca085023100ee7a3ce46471042e0aefd7349841b859e2e7ddfb69c6b096330bb7097977dbe1af8a5ba682ae1e6b9e5265868cdb96f90302047c435bb500673065023034f9cfd53c4f7f22ccc88b3227a0ba8fad18baf48e634ba856869b47e3497bcba74962aa570a08ba2adbb933cda94467023100efb16b11d1e1cdf852a9d0df6aad76d1e4efe22c00160d9e713be0dfda6651664cfe8c612320f538932912ccb73ea3c70302047c435bb500673065023100f49eb87a1ba5cefaac98c6b5cea87854f0e69e87837af4a17feff9ae87b1ac33d6fea2ab751c1724adf6341a7815316f023051ec86f43d1f7a875d31c4902c7cfe5f4a6268c0f9a6b54fcb751f8596c23cf3e50a1ec1cbacee4bec88345f1e209fbb0302047c435bb500683066023100fec58c4ff6a122398a8310123166736a141c4fd4836f25a60a5b943fc9e4941b3664cde8136584833065e4b8e8147639023100f4a9a339193c542b7e7c1cd8e9d761fd63e7abf82dbb3e06f22d595aa7c7c4e862b9d127b7ee2d3c9548686f87171c640302047c435bb50068306602310095f87acbff9880ec741ae749784655a2ea461255873683c9fbd01d867e0f5d6f16b542198e3bc125d0dc5ed64ffe347a023100daa611e9d8082fb3ad2442a8fd20b349595b695f2983679461782d5203e098bc085339190e4db96a02a45cf49d6083fe0302047c435bb5006730650230105a4384797cd8805cd38890c1fdbffca732e63fe09d90d06622d2b58d393dec29376b9e77333a8f971d6115499baba0023100af437db5cc204b051078a8fcbe99698c7e439490c74364228fba01b9ddce69aedc1aa574a304245c5677e0f9395adf720302047c435bb500683066023100f72c10f8faabe5f3355b804466d221547765f07bad21884182d4005d07b35d52c7bc0d1aa3ed6fcbc832e85cd52ca21202310087e7d4d5c743fff4f626881cdfef72a9727b07dce32d7050a38fd1af96287698a9af28afc655a393825e316388ab0d450302047c435bb50066306402307734ec07e8780a9fa36cf852c6012773f3527dcac48cdd60fdb16e3d92fef4639974b8d65d58df721b0fe71cbc58292002302848f6e1a3ccdff0e35fd028b22bfd170aa5b16cccb0c2606d1d0015c901362c5b95ed1d051e6cdacec63a87f1df4e5e0302047c435bb50067306502306dc7d9ae093165ff2fb6d73b862c7c0117c7404c7a2d8b6bf8e78d5b4080594600cd8784abc1bbc44650d795fb351db3023100bd6f35c28b8da9e42656586fedadcad3448449fcde4d2ce44aeb7b2c85e8e3040d4415b7a905957853415b753736e3080302047c435bb50066306402301017123f18a8d7a4bf6482bb2ab61626efa406e0ed3e01aa3a420d410c92fe7214fb07cca47b21202e0cdb054aacf19902304374002945037adba9b72bc3d9f5046e2efc6b8ec9cc6b84abac6493b393867d21be98aaeed76259186684951c2d06ad0302047c435bb500673065023100e7e235065413a27d46713563586fb8fbf2cfa96d1ee18935fa2c1c567634ab985ba9eeb58afdc5d635238c419249f9640230097a8872d2250f8bcc3306ae10844a90312e7596bf5b6381aa1729691776140b35b258859a4580a3b01cc999294657470302047c435bb50066306402302fbab1ade88d843e278ab1b6e7a449493a105d7241c35a11146276a39cea7419a9b251e44b66195047749f3e8fcc2cc702302d7198b3e6eeb8de5dbdee9b79573860418e683f020ecbbb86614d27f0152afbde26ce1876c97ef17d089f353bd6bfdb0302047c435bb500673065023100ad624af8e52e810ab00c4d33dd6a4f460ab6a481bd40e0089f830ec6eb0f60671b31d29b6b20d7cc2c86fdf68ba7b583023026f228170feb05b8854a91c6db541535c987515695d9e1cfbcc30d087efc61576756b2bd2ee72bca1d67898fb09a68310302047c435bb500663064023042a1f6ffff3ca2c17382e43142450b7d7bdb8dbdbe386e64d32b08c08a023981f511ab2961e2e2831b9b73111bf864f0023043f055edf72af52b0d0fd805fadc6300c00f282d202ff44e08b446259e12e0cd2529ed661ce53170667a02a5c448af780302047c435bb5006630640230711422d9c02e0e8bfba3cfe272e6e7ddbb7394de7f31f278b1e6a47852d8c4e4ac8b2b9a80f79484c7d51d22bc3868f902300f8bd9cfa52283483f3f6d3aa4c6bbd2742113278da1df5da830294f518162fa606cb25dd925dbb0ac9e3de1ee2e46170302047c435bb50066306402305e2e0e27c4d090a491f5eabc90d4487b43a9ab6fb68ff208dfa0566189c595c37caf90f9ee5a9e88b5f8ffb1710c7b9602305cb66be056e5bf4cbb2850b5720032e47c6ad8c3cbfcc40b524e44493ea9dde7ac1e3354afb94bf6c2c0a0976ca541b60302047c435bb5006730650230280c42c0bdabad6030df405dcbad82f0869eb5303c39f2a2cada2636a98ee9eb826f12bbba68ff21cfd24e0497d94069023100d6b430079492e50aa2804d06270acffb5bf87eff888f11a3251a07110b47fa21ddae7fc95a6787ab2a33086e6cc2e7ab0302047c435bb50067306502303139ecda4c4d4c923b2d49b8db72fedf8c29834f6f6fc5cd930bad59e57c95c93711b9a82743ed2bc634d8de393e5172023100e78011c4d1c8db4e2846fa8a83f63b1f43a7fed3d101b1c96459d1f3a389fd6626417821b6a80e0ea5aceec8c6e5cb710302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dca639d2efc913615e1d5a49fda4f3fc705d9b5a2fdd8d4b18b31fa08119d20f043392396922f723c14c8c766773fd0b023100de10c38b5e0b9113c4af5baf6285c261e061d144ca09d72dec9b5cb9f74e7ae44e26bc27d05a5cf21aedf30df3abf2ef0302047c435bb500683066023100f2b1c38b3db8861d10d5200e28ae6c708a430564a35d3bde7603827ac466f12e49fcbd164ff49aa47063070e030560d40231009ea86a1e75935d121e0d2489d931d19d577198a7e215493e87e06bc34ab338794b2727abb0c3842fa29e28239e20b6270302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302a4f8ae022830efb669b944781442a851b937ec427f8cf0ab3d518a8de20dfb27d21d6a12040ba0ce9f973a57275fd94023100880128b835ac31180319834ce0f7e886153ff594c79b994d611259d723750505f4d37982c230eb0131b5df98552434b00302047c435bb500673065023100e54b4cf63857bdba5519d566dd667274373847e67cbc7e59b9990bdd997dcba56bfc38e9b72bcfd3649040d0fa2d61b4023060123e7105a14daa9060c3ee1552399d5390f2b12e24aa9445a8a58a868f0f5e2efa3f150a26345a927a6a31aaea556f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008e389756a2de14d9948c22a8dbc750cb5bcb8e1fa195f29e7c1f5e47f97ce8bb75b0a6399eeab417a74f79b5cfebb708023010b3d64d926de0830b2f7e5118e894fca388cbeb3f114e7129047e12caefe31338cf25d7c003e701218d819eddb5cd270302047c435bb50066306402300cf7943c067d472e954c8b33d738379f4afc9bc7bc6d6e6188e7486427d2e6b8a677703153d02d8c8a1b52c1bce7eaeb02300e969bd99f8c29b198124892d90b5c46e41df472de3088c71265ccb53cd9614dbc16eb913e39b773a8edc691c8e68ba30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b71ff1e5a33aee995d5ca4e2fe7fae052dbe7432bba73b8b04a3410144c26777ea3c61153bbe864d4b23a2fbac802eaa023100c1fb6b511609670a18766d854f0975735bb414d66fc586cafe49791d30b5773409513b04e3407ad17ef023e9171e4cef0302047c435bb50067306502301ac997086182ceb3fc7f6c2de3b9efea4a2289e541051a26921cd0e7030c17cee691f8a61aeeba7400e4628c9c04fd1f023100e9fd62bd93906aaf3a88467d3b9ce5594da7a4cee8e78d4977a960f6921d3fb089e70ba8c0b98b6a48ea998de62907cd0302047c435bb500673065023068b31d151804cca755f685c3ea507dfe7e953462255b73c4d415a5d0ede922a01bb1db04f7c21255131b2192f7fa944a023100b235388b096a16b0de755688f58a1e3fb537de9f0ca171d4fa4de7b1df15ac8f61e520867bddb97e70b3faf84cfaa4ed0302047c435bb50066306402306ef42a1d88870c5793dd20323e6e766c174c264ceef8f6944e23d73eb8a2e95b96c4d169b17e71000cc2e91ebd1837b902305282df564ab153b506904f42666feacdae9c4160a6bad2368e779d41707f3baaf8eaa17bbe47140d87a7f6682b389d330302047c435bb5006830660231008f45e4493c32b94627c95ed1d6c027ac8e263d09180a71500ae2a8a0a7434553eaf71e614afe66f2610df4ed87ffee72023100e4b7e3c30f7a3cbc8d01599736f93993e01c293b22b316aeaa74c79d5948a5908af28284c3c9fb3473afd01f2feeec980302047c435bb5006830660231009c7f26ce6a0bced3fdc5cb9562015808671b3cd43033764e68248b1f49ff94369b36f3b779e7fd7127d378994fe7e120023100b662de41d70c96b728f4cfaeb76fec07cfb57605f5b2454ff60db2db32c8b931cdf70f88ccbfe2a4d1be4977121910390302047c435bb50067306502303f4dec3b43c3ac3a893d9bc5b7725009d3a399eb897ac5689282d7902de173b451565f6b309997f67bb0c3f8cd9f3913023100aa2745e449da861fcb5a6210bf4ee6ff85106a8572938b962b932265443cd2a5b902ed594240e4f9c10ececaf54997e00302047c435bb500683066023100868b8e18ca2619c527271661b498a2afc1e02d4e92526698b45f9b9cd3884986297c6cc103da47ec12b7c7afa0f67b95023100fd905bdbf27dde6698908fff3ca6775fc28b0e982541e49d6c04bf76173ba6c32ec263816f1aa3df4f5931e0e9d18dba0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307cacf4c2030b06da920a928c48cc4855a555c1f4e771204b4cc7b77eb46eb963a03873bdc2cceac87a69a2b63c8491ab023027caf6f3445f02fa6d00ff6975d0c2d23d1928097c1988deb48d70dc3bdcbbc9992ff7c441c4f0e9b3c97b608b3b90fe0302047c435bb500683066023100d35904b555cfaac66850e3bca850c311678edaeda52372a25f7945fa12effd746a980c5fe59af2dc8bda20c4a724a51d0231008f83c63872376e3788fa54e115d4c1c700e32bd8645b441062dcfaabc6ab7e7ecbedb2b9a324a8219e0c320c5f284c1f0302047c435bb50067306502303b37406f1101ce9c732b6e373237f6ade148605e55e2e113258b01f3d3ed66d332b1d7561805575af74eda9187bc6d37023100883a101c040036157e9a4cda29eab07c92424c44ef4674c08c08c38d45ac8a545a485d2848763bf0afa25b30f84ad16b0302047c435bb5006830660231008057b934f6836aa218baec0637a80e8a2a02c72136c1c53833775374b11da0f0d6a088ef75668ef413a67ddca0b08755023100c111b0630a181a52b2a47f112bcc4c09fb215139ad4ca78a2f0451869cd9ebfec9b605b7df60e9137a0249a681ab079c0302047c435bb500663064023079aaa4818de5ee6e846f942e2e949236e92553b1fa799dc16c73a89d6f24934f2a7c225527db574eef33a4e7afd621c80230608a8e7e43da32803dd0769797478a2dda9f52fbea0e3196dfa6f3e1fa2cb11cdba5a4a715bb6b0d071516710c8def850302047c435bb50066306402301877b228b73fe8d890c7c6ff9e0731b6fc94fff1f35f7cd4c4135a79a25ad866d3d457e28302ff6effb3d3f415374a0f023057a9e91387bfd5cb89695a6e04b16a4ff2e4010a175559c2e305dd98d063fc03ac3070f907e2243c8105ae2c09b6858b0302047c435bb5006630640230085e4851892a5fd77867c4b3fd5020298e7616731b7f0244dafc1f94d7d1fba7eab78cc676577764bd7006199d354d16023048f06e7b21b661001362f7d4893711cf9beb43a1a8e2373cce2691b7eb94d52d3714d29f3085af6bb06aeb50a5c206210302047c435bb5006730650230275d721d9f9a7e690f2a77d3660dcf64f7cbd60914c2257ab6b09fbf13f7e1a8c46dac945c441a241037968d71c948cd023100953149bcbf7cef5a709639a6917e880bc02025b680908892b947795f2224c7f38d936b1dd85e121e836520413afd300e0302047c435bb500683066023100a0fda5670f3ec75216085593a2a7c48e12de6704782ecf56b3d253c68c19a1d4d8912c12e1a8141c72063b97cf3dbc05023100ecdc00f71679911aba885af3dda016e9b65d9df65c138ff83c4c709179c5be0a98b2febc7c256c2789d2f833c4764c720302047c435bb50066306402302e34596162e396a18e3609789fa942ab631ba680883ec9e3d9b0a1b51a696094977568b9c1c2bd438eaabb16f5b7dc71023023f3890a18b8faa5fb09767e376eff86acefaaddfb9cee7050353b8ff3c8964c67665eca32a7c6c13d9292f5997963270302047c435bb500663064022f6876ae5fdcdaf39a64773438963b810ee1a044cc21b0fff0bb6bc68104559368ba2a15ccb15498dc6d537fb2a479e0023100d66b18e7c0a8f536a6983a7a227eae79401f49cfc0862380c66de9d2a4504590cc9e7b3295c947df7e1de6a0d5557eae0302047c435bb500663064023039f7bf626f3243b3b254026dfe0bbcaba1b2a3b89de1e95998337cf701e86509d42926073c76257b1f6cf620ca8d4afa02302e85d6ccff0e1a31dfa40d7d4ead21a79f985d6adead4693048679f596b4f293d28571eaa7339df4e7a0a5a8e8ac2da30302047c435bb50067306502310081d7646299b172fbfde426a129b2ad0a898312707b8f0b51abc003c38e58ca9436007cd75f623e7132abb39439dbb808023056a707b1a17570e910a8ba852f624fa41907cc8e1434eb3b56c483635df26f5bcaf61c515123d83b6e3c76ec1f4b24d50302047c435bb500673065023100d8ddb9005a2f421cc9493fd240a39ce750680e5d11b7bcccecdd2f75f9ebca70ccf5e878896bf22fdafcd7ba6bdd090b023055a8a7771e51b80cef7493986a57ae1856f40fd8fd445ac70800af8a76bb7fa757f7fb9de3bb6b84155e3baa29ec04050302047c435bb500673065023046673e8f4fd6ddb06dcb305cb60b9f938e8c881031c5fc9159fe7b03a4dd91ae0b543a33a9cd3e2c7d93d7cb2b76f38e023100dcd7cffacf04d1df6c487f976d7bd359601c46dafc85154f2b45b3cd4c8f8d2b57d361f464d0f4078970c6c9081d18a40302047c435bb50067306502305b0f834c3c277eebb71d07c624d856733136b79f9aa98e8f11ffa43201d623911a520e3d7b4d1bbe0ee98da06db06aa402310084bcb374b0a5aaf770797a1c87efa479cf14015e4df35d219f492c81d3be3a3d3c146f836aeb31322214f8e86fae3eef0302047c435bb500673065023100d40e954844855a380644f468365626ea27161cf74d85d1f2e550035954d194e4d2698527ca5f1e0ecbf7e135963d518002305749afcad7ac6d2bd3a16b794097d13d3c6175f45eb84b7bd7969929eebc5d6278f823dfdeba5d1afdec2b95f9a3e3dc0302047c435bb50066306402300ee5b5b917475a926e646a931c9f0eb3c0e3a979ce134b8f3738e3830bc6b7cc0b79c5ce7fd2cb96ba42fbc36eb858b202302d20defe425c67c095e586907f9f876ce60f85764d7976ef5e4bd4447a4f7a271af7f78075283760d7b1dc3f72b2deef0302047c435bb500673065023100cf173e636816796fea6a23dd066830b647e57facd28d92bc8b4973b41d48ed403a54581e0faa073122798a1ef127e8b40230672edf6014eeb9e480050815bd212359a3fe55e7a8273c7fc44d337ee511d2184aaddc676b0bd584dc39cc4630d908910302047c435bb500673065023100e11432f4eb29f64c35bc5ae4d3956b4297e3f773a5faa0cee5e5b49625d11aa4d6e30603a4dbfa30541fb8b83881d6a102306b9fbd840c20a24fb3b7e5becb58295d496d62103964e3f4a918bea07cbab1aaf3ec38daa5163bfeb0db94ddd6f95c170302047c435bb500673065023100ac9e90c36874f74ea821239c4fed70839ecba0095e2495e7e78a35529f56079929700fd2f4e07e708b9d78009fedc8a4023077bc96821ba5a022be7254ccfa326561b1711269dce29cd9da923e1cfb793040c642a6bfff8579ff10ae8b438428a85e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305c0c82532ace72c8ab4ddfd382982c6927e63b912e4cb80ea23fc5c70248a8f394f3fd86c062a5e3bb60486651c1646a023100d749c6aca978d93db1c0932c720172d5950dfdbef07d63a813c9c4f22c60f28a755e88fa9a1f6a9f1fe7e597a0ad17d30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023057723cebc4df3d2828a906c89ba2df1cc3346c4411bf6f00ae18c62453da209978912ed00abdbf6fb3b9589a8ae71cda023100bbf95d7cd315a2ea529384cad8990a936b7b104d21042a7d24b73f60da9286301c055251e742fd1034d11fc584ac25450302047c435bb500683066023100b02cce63c744925bd42613892dd143799f07ab72a13c38856a305594c329b67a26e8170e17410907ed775a72c7efd0e3023100dd08086c3800aaf886f1ea6cd3324473e23f1e023ee50e03e9b622af3377b8151c9ceb75811f9adad045bd60325e629d0302047c435bb5006730650230018a405fdcc13c488a3fa6e542e35458b0ccbc8ed437c453a98f8176724bc30a1a55dfd80fa5454c03e3fc016b796a9c0231008cecce9089c852544cd498de83c50fa44a7acc5996be22b3e83231ac51bda976a076653644ea7322b79ff6fc4deb27830302047c435bb50067306502301fdca6f85eacb27a1501eba1a67dd8820c4c736dc67281f40bbf47ed1a00b9b5fe8febe7bdc78513da70ce5326903909023100f7ce28c997779dc68e9b7e338ef05cd0322ab4d92bcb89b5a71a327d2e1f27afb6660f131dac7e36c3ca8e768e38d2390302047c435bb500683066023100ba2da3704537c8f0392cc0f4c9a6329c5a2eaf59e84bf4964a0d5415c52ad4436c9ad04800dd576eeb02a9e02823a476023100a8053e6636b43e0995c858adefc370e2b5508a00ed2958ccc68b8802788126627f6fbf58766179f310bf3c082dfee0f40302047c435bb50066306402307cf3d875e6f9c241a544cd956c13b6daa7c19e03a0880bfda516c5ba00cdb8edfb1fe1fa8f94b2455ae1404c9ae8f3fc02303034cadd086946ca8130742554fb25b0130cfd40b44181c5b23a00be9b7ce2333edeac9d2340f7346b854f57a9bf50f70302047c435bb50066306402307f7f19c6efb4be102ba7190be753baf80a7c9308e6358a881b8dfa69c5964c3e85807ed5760ffc2e4f3ce646f8e466b2023054e2f0607df230acb9a5b6a9224381028f0b38b45bc3d68fac56cfb44728be685b855aacbf68fb853caddbedee773a370302047c435bb500673065023100fb77f1a7fa631011da4821ea54e25cb142193f68c9b229af7487198c817f5f3be1a839606730b8735d61ce0c0229d7c7023024837415ecc33aacb1355203dedffe84a600e5f8ddd8fd3127e4bc1aada9543af1a8b2c7232cbe195156c0ea4a36bb5c0302047c435bb500673065023100efa627ccb7afd02642d34cf4b574a5f0fbe4e797aa2193a2a1f95669160ce2b694e72fabcb35e08d7acdb9b050214ad802305b582b54ec3e0ef09a193fec9942b84dfb0da2f4c4877e3015b58039291e5309c967d591626f6dcda3e8b6bd6eb46ac10302047c435bb500673065023100aa9ff32fdbc0961598d9c79a5976b64645f4082b0285518f92131f498ccb6a2888ddf6ede0cc277181a127927f10b2ef02306fbb1487ae966a513c75d9e3ab57d2a25121d6ab27a65e851fb3aab0d81b3b146e9860ad49b0245ba89add7b8bfe82290302047c435bb500673065023100ddc5e814893bfe36cd3c1a096ff363560e617727dc9242627d3c93dec4243f4f73b8aa110b401901dd619a7ba18e4d3e02303afeed2d3ba80a216fc2e47cbb3e9b479e36dedd9ad89a2a7f9ecd5981bdfe4550bbb24d755c18390c38fc9a42670f9e0302047c435bb500683066023100cfb49457e9ad650472901873070d5c55569042cfee4c0bc3dbacd57e51838f4fd2c9aec4616023f3c1691d1f07eefd02023100c72fb7e7278f06ba1c9d00dec64621261fefb4539ce2a124abd6797a9f52cbbdcba832835d4e70b88a9576c3797a1e730302047c435bb500673065023100f60adb79252b1f1507c302bab371ea6e00693d053771dac9dcc299eec62be4c47101721ac045c38ae190cfd4f22c6693023070ddb3ef7f01528c0c44166c7837e4145043f1a87a33d5302866a98a425ef19da19a43e62a4395dc619650c52a71bc440302047c435bb50066306402307565b0c568030301d524e3bd20db305b7671eaeaca5f11c1ebfb94e6bc67480dbfe3bfa044fa761b40be4382db260ab3023039264f02b7c79187c92a4af8f8ce7c5a34643edddd2857d4ed600c06ca5abdb924e503356ea3d84f9b2873a09a96a2310302047c435bb500653063022f6db6fe9bea3cddeaec1e50963d85adbdeeaac3cc3a6d97b4dbbae10bce3fa4fd879080a3ce83dea3eda6bed33a6bc2023076dc33ef6346918d1ed8a9efe6a13b81e3ab5bde2a7d6e0091504e68294301de51cc7b1c2626c133bd1df3df65b763710302047c435bb5006630640230591a15bb4095c061249026462ea22bd146d5ea50901992baa861246e6a31193b7fdff6128182c49db36fa2288e0328ec02303bd62d11a7c5f6a23b0a5188b7604d52b09e08664beba65ea9a2b1f3ca873977dd7cef034c9f30a490801fffd85163440302047c435bb5006630640230347e9470244dbc73f8998f2355d79ed4521bba8196fde514e98b08e10e48532e5d11d031b8dfebae6fe5cc1e877af4f0023056f63088eb07e7fbddcd9852985f3964f13c7b7f5c17462ff1a5e4c9c7223a566ff8e539339b2910cb34ef1b1a82687b0302047c435bb500683066023100f67c648dc6cc030c233caa9c008c48425b9f81432cd220f978edd1f09e5136776888d7c2cc087c63bd8d85d291c7fbd8023100b4dce687c585f7ae411746c1b8f74a7827b4cbbe2154cffaf18fc6f3458a36ea14692d59429eebe4fcc2abe0a8a7d2870302047c435bb500683066023100c3a63d92ab581fc64638b07f3335a88dba15cdae641b64e52f2cf1b72a42a95faa962fb9b6a12c123b2f38d0a4094f90023100d3d1ed801b7dc6f0a919fa7dd0bfba19bb15d1a29179f592869878b895d979a7e5c8bca8ee641f590b03fa86f804089e0302047c435bb50067306502300f108c1286a552599e222249f50306b511270feebc4f980b378bf15269453a1a07b1b684f12d12e51ca6efbc35cafb21023100bb1283ec1d0b0d8f53160564c3baa8f6d9bc8dfb09ccb6fb50c7170de2c1c6bb86fa62b7b73ea320292d8ee122a63c260302047c435bb500673065023100e1445f29057dab775de61b3daaa07fb40d857d1994881266acef4e99ab9233e07a3feaf04697d0763a2e0b0516e715af023054fe6cc3519287d090a64490c8cb622a54219487f607bf316c7de9ea5d47889e0714af8c99ad7d68f5ad98576aeb2f290302047c435bb500663064023016aa5381f97e209507b8e9c31f37286a843b1ee39ca5b4c16d892be4803ae333c0c1a917cdae38687b8e3f7fd4cee3cd02306e13cc1ba5a2544e724e6415bd9a1e939a5133a65dafe124964c1a586039b1fb0fca255deb8517146876420ff43615e00302047c435bb500673065023100fb502b35ecea0f3a332e0d783f6cbc61371d68581590561b5430ececc75d2e27eab966e00023a3185666f08681ef876e02306704dd1b693625a9b4459f9ddf7a014151ee2d31296184562e4285314a611fd1f85e97e34d63aaf46bcda9fe1a55c1700302047c435bb5006630640230650f82a26698286ad7b67e98915ce8e043de675b65a1c97272ff314b9412c1f16429409e95ec971c957ed5d4f8f59cad023013f72a4c80d1ead36f1a3071f77f2a9b3f1f50c55ea6797ef62012788c67c5e8cf632b7e5bfb1a0473e4441d82e232110302047c435bb5006730650230314edbde38aa4a08f4defaf975753c9ae7578a54a6be574c8f1ec7b1f9265d58c1a6a3811b9ae9b12ab63aea50c18e330231009e524a76a09be70ecd1488c3b46bbdb236592f0f0fb8e37dcfe024434e4193187c5de1bdda5e72dfb35a8c074e9780840302047c435bb500673065023100f5ef33e0a09e1a16dc72724a8f69e8420bc92f596246ebb15c7f53d9d41db3e207f6a7346dc547323a409ef0a9a95a6d02303db6ae941c31606e0493a6db672c07e7daa48daf1e6c298aa801ad74087e6f1462b9b207cbaeecb7e8fe0b1043334ff90302047c435bb500663064023004f535f4e11ad9a0b9748d3aa34f29cb27ccfdf6b0af3b221a949aa9c41bb5f4fd690a81a70fc475aa402e4ef358a74502307a6dafbeaadd81ebb0214ea8b9d51a48e824f47707e62eb71ebd45e6d2a1b1acc4bd4b5a4be05f62c2f0d2257f9698d00302047c435bb50067306502305ba26680da2dbfa95b429bf20cf8f3800f96f1d79dbdcdfe885e04e151230fe9c9b550d9fe35376564437a123b86218c023100c75e4679f3d27f6ef84ba36f4c54431ab6ee456e9bd2a7c72fb649d12c95750f26645d3967704c316067ff91a87731270302047c435bb500683066023100915298b96a26e4bd203cac04a85d255a08f77740a2cf7d565035f6bb2afabfb3fd9519c519f9c2c1ecf30a7b4966a33802310089fc7a11be2d26bc49b66543e2f5d1fd3e3cc3e362f330b8eb79b37a83f72cc7151bbdd3b4844de76dabb86a48aa832e0302047c435bb500673065023021f2dcc2be410d3a9facd7c6b0ab0572a8cb1dfdeb4833893ad5ac649eddb9e8d1e5bd2add789d34e27bb1f6b47f704702310082ce7e11fed69eb08584fb1070ae99b659afc7227afdbc810b4605ffe7fed9000c8534a4d46c78a11192c33ed2c679fb0302047c435bb50068306602310098b95700c4a227957e985c889a9bc25fcd6819ca89f2ecc65e47004a983d546d80229525919b4c40b44e1b3a20ef8c9c023100cb20780ec1b2ab3fddc3b9d4e1ce274f2b09f6f9eadf27655554799d8aa0d06c4ab4845f1454b36f841be55f8c1f02730302047c435bb50068306602310099b29f359657c3555b10b9049fa14ad04f692c1af155e5b4794671765b07196f3e887369f6615fd87083d2b380ecde05023100faa0edac9c7b37e7934a4c7388f9543a9333b33b086d0c6c93f55b29e4f38c51179068e6fe563c8c0b5c5a51c274cc210302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100aac9105afda488d15d58aca9825ce31647ec9f4d9c7917f51907436cbfc082e90cea42a740803e41c27d167fe8afc817023059d84ad7d8ec4683a265c8e37996ca578dbc9e4636e2bea723fd590c8c427b701a28f93ad40fa0e9c598723b3618a5750302047c435bb500673065023100b731c2b566e1843f6ecd81f59b1c01dd404f8c1dadd8c2ea387f3f73ff895650655314352673a2081c80c9be171ef78e02300b97f25bdcd5d17c810b636a6b467eb01be4918cc3af1ab42a11d9e959ce4a9de6eb1d00ec57aec223d614d39dec4cce0302047c435bb50066306402304d1a2df57d08ad339559e96838f4e0da5fe2660ef77bf5fff4582ec792e0a6ee9422456a356449878f440b9ff0e40cb402303216142cd56ffd79df982f7d8de1029acb2328cef709c06d18b268fa81e64c3e15bf4d874bcbdd0531572631421ef2620302047c435bb50067306502303036060cb77b1f6cfb1668e3a2096b352cfcb679906b78d36f9049282227f2aa032740fc1eba6cf77acd305ce66f7070023100c091c3da9f38d745e4a20c5393cc70fd52e3750e351c06065d248ae3571d73260944f3b7a98b2ef4158aa5d00da329310302047c435bb500663064023067b2ca6206a4c1b3023efad5b5173d7f9d68fd318a92435ff8e9fb0d6c71b88c822b13e33d292a97eb11084ea2d320e80230034573460219c0172d668f7b30c901b74b914e6c829f99e4990bf8100d266ea3afa6be1e62ec39ba69ac74cfeb759b0e0302047c435bb500673065023010d1b8e48b0f74dfb9a5da1d2e7f4090a5d867cb474f4034bc99ef34ea80d7c873558ee76f974d2b99d61f028691d247023100fc262f19379459a56ab5a2608465d67511d70be9ffa079f594e63bfb42a429a171cc8c94a115d8b7b5cccdfab4277f710302047c435bb500673065023043a2ed82d15d88d96719b2b8f23f44908ca2f1083fba669e95bcecdcd4675a5327ee0c1be44eb88e38cdfd41d02a07a4023100b4f2f11eb5847a69c5bc9cf95ed94297dd2ddf8a1f0bb18d68a1ca61f55373d6c1e814b8d3cf706086b5d6e44eca36160302047c435bb50067306502301bd6ae8aa4b438c2202b930eeab6087651823ec37a86316a2ed24fca476ddac12840b9d79915eff027c5721026c64dc7023100beeccd25ea45c8435a54c0410110c16c4980aacc58e6f54ae9b6e55fd90f908ddcacdc09d04ab583b7ec535cd66f31820302047c435bb500683066023100818f63d920e5063eb0da4d43097d6fb844fb8e38f14c658a205addad87aa9fcdc9789e57803c3e546271eed30d8dffdb023100da31c5106863f0e805087b015b322e4fba80c8f96eb6e86f281af1f5cff0bb8b436aab814a983fd518d0b51bfb0489cc0302047c435bb500673065023100901667f7c65977da158dff2e1492325b627373bcbb404c6130e3faa6868768dda806e86765e5e0150b22f1213890e4170230035e082b49300c643d9c6cd1f9e0b56e24fa74281b003f33b89919e99e87daa22c14cf1d7259f2d13d248dfc10cd96a70302047c435bb50067306502300bef9544e35aaa988c070ef52798fa3866c2bed9744db3b864e16ad4451c414754467abbbb8c4dd1a8a62c77e247199d0231008a754e5cb6fb2fda3d2726d656d079c6d7df33bffb589b8a48a6e7d63693eade07b54cb77c234c1ef0b3ca6a916f6fff0302047c435bb500683066023100edcf98028ff0f5d38503d5cd72d942623b40400dacaff7d22040004f089ccb675bdd12736f3935a1b37a354e2bb08fe7023100d400253310426d6682be32b7005fb1e864e891bfafed01c0bd752bfa9a8bc5621b36cad1e46727553e6fb22776bdb7eb0302047c435bb500673065023100f6d1cedd570eb9d21863af7907caaf983d0d173264e0b985461b39f8a598bf83fcbae86edd147cab61084761cca04cc602301a1d94ade5998f0b2fb9ed4e2ab0ba179f2703521b66ad0e3c3884f214358fc3ffbe805620eff07444e9c6d72f072e8b0302047c435bb50067306502310087c269725e051ac86b379a56dd4ebd7a65c6ad9ba81725c04b96bdc4d724f85d75d4463e3d7f89fabbed8370e3b87ea002304e54544cc0b392dfb57a4df937cfaf8581b6baf56220f7466e51088aae80d6795f9d9995d21e0566a01b24a5de9a45d50302047c435bb500683066023100b4688fa4d9d5573da7ff977ee5f8c7ac758dfe8420dd102904fb72e9a61d4f5f6a6a8ae2f8e38333e10ff55e9bf24e4d023100c8238b636098bc79b328e48fba863a8e288af2a8235ac7e49f84e5b7deb2adf13331e37586ba5f664de74e09f53aac280302047c435bb5006730650231009bc7a7bc6e100776c12edac4b0c727ef54adc2f08de6f6bcd8a96f0bc163c49eed117a50136a3f29e3066cf039e427a302304ae913c65cc75674019ad763e4c5cc296b7cb153b90fc7e683b1bf038ffabb8bbc787095d5aaea807dc0a0d203c630300302047c435bb5006730650230239992e3299fc2b5657996f8cddeb5f36dc9d6eabf189ae5f9c9d8604bb62ff41ae039e73e11cea1cd1647c17ca7ae87023100fd8e883420cb7405261ef6f27242d43245ea17e17426906d026d8617deb2b3aefccbf03ee36d30c4a3c7ac3bf3cc77290302047c435bb50066306402300300652be3591b00c553226c28531cc057d7e5a17c9c3a0a884ad7fbd93954c1743d1ae48c3fd109d3e61fd1f5f148d3023034955e38e404cff85a3dcaf5bef42c49a99f38f28b5647630dbc494ed3331d07588c2244e6cc5a83714cadbac880b46d0302047c435bb500663064023061fdde3711ce1619b00aa33582c96dfdffe0a8056a3dca3f56e2f984f7b4aca02793f56b8c35d8f41b07eb358b2e484302303c7c4c73a84e523184c1d835ff1725faa4a62e582fdecfe6d05c95f546bfaaee6e5ad5d6917d83bc98c4a4da0d0497e80302047c435bb500683066023100c92c78fdf25fdfa07db8822281a662cd19002007a5e07c93a03e3e5714fb7ec87fe02e08028342b0cb6053f2afd2d995023100f00e02ca4412f812c70967c97ac3809ca551bf97028adf3084d272b0e071ff0725f3c4cf7674f8bd39fc8b6656e6f3b60302047c435bb50067306502307cdf2b174bc584f17eda568357da95d1e8147a673455b835874fc068906f90349780749d28855cd40ef30acfb9a312ea023100bf0a523ce63c65524f8b7f5f608722a37f17d401a94cb4d017182f12b2aa71a6ad0047a3408c699094020ec125b166c60302047c435bb50067306502302d3bad862249149614b9516c336dc1334f59164e5fe6c228f0bc71ed18de719595c6670197a08166ef46038c23edcef9023100d6d12ab705e7b06974f0524735ab805c4730ed0880729a60267e1b7706b10b010419215cc9ae97374ee277b55f094c3a0302047c435bb500683066023100f95094b2d7b1684409f2ee1f60c3373d97c0623387c8100210d84d6f6ebb473d50cff1f1845d49f8d1d0a9a0d05e84f1023100c4723a7d3df298d99c069034b9c71b52ebde5ad4f0f8607663ed7a0e79c3f40b5ebd2b682ebd5f41cc2af8eb7c1884a30302047c435bb500673065023028330571953bd34165cfa5609e7eb1078b30bec10cf5c6f47980a4dc237daf94085b87a0fc81b6bdc6982e33ceb64bcb023100c6107a6372e45e36106675097315a3a99f287d5282ba2beb3d14200e7bbab2bc66e04ff4200c636c29479b64971c2ccb0302047c435bb500673065023100de2423ce0da940ff7a3acfff43ce3d5814248a8f70fb708bd5eca00a1473fe3b21214c9838c59d26622dd31a4a004ca702304f5b8221a41f7e2fc9b620e4a38ac74edbb9baae96a0f3bdaced5fbae11d4c0df0c089d9a8ef4bbb94d38dfa073b88b90302047c435bb500683066023100e12e9fd7a1b5f28750548bb2a32d07441ccd8f33213fd69733a4881580628e4e3533392adec81c027808e8bcc72d427f023100e84b49ff8493636011c0f840d6f755de7237504c2219dc60fc9636eb6bcc493c0de52b7f1db04ef3395d9095792822cd0302047c435bb5006730650230305f103a9f1fa1bfbe0823b59d29cab0d3025a49b88e0f48f4e7646474caadd58768d48472658bd484746715ea1fb4ec023100cc62c0738a253f9795dc9d24acc0773d08f5874863e628202a9bca9b08f359128b1c3f2ddf4fc83a15ecd26093580c480302047c435bb50066306402300b190a9ba2d998b110feb1f548e06dbbf4f67cb7dd91048ba51a08eaa0dac8e9ca6d7f62a4a29db958da301d470087b8023053ff5df0884ed2442bc9a18aeb1e2960d4795666e4294df71ed290d6de28676ea4e640e62155dbde4d1784fa9c2531370302047c435bb500683066023100e7e1cab01702dd7415f4982d0f9d67a0d2f911b2890a1acd14ec872779be05346c36181929afc42206be5a6167745961023100ab9487a795c089b044d04c520524e74f3e73469e43dc436108f8e3b0e314aac578ad1a626d15b749def533157af49c6d0302047c435bb5006830660231009955938d69bc5a2be50ff02a4d0c741eab20b0d012e174090a88b92deed5dd91d7a8c15b09e860d241d08738ff7bb4bf023100ef7d2ea25bef7af913cb1ce3b4494444ff8d41b8e781f53c735dd9e2396b0ed3c2d3d52273d9ec3f17df7a2856d2d1c90302047c435bb5006630640230670e606e8728a74cb7afb2cfecee98be5d9dc9d30b7320772e6b12dabb77a5c04f54febeaf00fa6e73db060877890b2b02307e474372c0947e0da1ea61721460e6dfd8f7ac77333605e080f534399e2a69cd427329881876220caf3997e5f7d4ffac0302047c435bb5006730650230670d21bc21fd64772447dff2e7f58e86fc98b30f43dab2512a12994a40cbc50f5e2626a222494b80b69712f546559c5f023100a930e2ea53547dac8cf603a2c861b21ce7b3cbdba38306603ad763a9b23beb6c3ac40a075b01b3da7dcea483f31f1dac0302047c435bb500673065023100d27ee4cf8431f8cd3214dcde5623eefcdac5081670e7ecad5277b013faf4c9daa4f707b38ecd684ad5d1a369a0dd733102302dca4f4dc7527e7b61729d92627646bafdc57738c97b63b141a1424b37bb42f17536fcdf260e63424b9f348240e5d90a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e9a1e59c646024571709d4457472114d524a4c2c1b1e0c190aa6369af0cf5dbf8f29256b6f056c1520bf11456310eff2023050fb5fefb07aa6aba4602d1b3c9bf27742fb448f3b0c65fde8edcefdadd0fd8f812b15f7a91d01aa45043a0b6420174e0302047c435bb5006730650230264e557ffe13a13f9a887c025efeacbace7eaa9de8cae1ea579790b2eb01ee8e8ecd0af61dcd69a3a8a04adf63d2185c0231009bbfed1ebb6efe75fdf89035298f9e06d30cfd33915edcf0fc75783fa4a2c5fafec37db6235fb2c3b51a247db7f4317e0302047c435bb50066306402305ceec215361db96c82f8ca280f482051c72eab2ad94d973f09cbc75fc12fcbce80b08b94e97030ba57a6aaa3d0ebfd5902301dd8c143e798b254fcb868e356a1024b985d028cdba92124faafc530dc1308cd06446d7cd54bc18e0e20e4d4dd02f79b0302047c435bb5006730650231009e4a5f21f893ceeb95c3a227e071d2b054a1bb96df1cd6b94cd2c168c5b546379f1e6e2338346192274a2a4cb4528d4802305841c87e7157bcfd9e6e781acc6287bc365170cd74af69c1a238fdc9339fbc365a5f6950dfbaad2cb50b84aa0516d3cd0302047c435bb5006730650231008908e81608d99a7cbe9f64807c2d212523aba965fa0c77a37889157a23dd06dd11ffa600d1a59ba6f4268cb9e52404f30230063eb81629ea4350b20eb005ad7115b701ff711edaebc27c3e9f7904d5f640ed2ee7abdaf678d67613f582285b6883640302047c435bb500673065023051ac741e9841df300a5347be19457c5de3f196d8383330b3fba9d69f8c314be23494372275f2b15e4bdde9980113370e023100aed158c0d83548390670bccd4ad5e43d685d5da5e7dd7346b2370cb55cefa82876ebc10c3b49285c4c34de1824948a340302047c435bb500673065023040580ad550b1505f2ddbf3cec9f7d5176d5adce9c3ad59418f5105da64caf2af05b88c1927fead217492351b894ba6ce023100b10fa942e661de66fd571250d7c89d1bd3e39c014fac8e53524763f7ae261017a6788b72d11eb49929cc58ce546036eb0302047c435bb500663064023079da65a82b5901fc37221859127c202f64990b6c76c72f8528284549d4db175a48d1f4a523da08b91af00e3761c2c3910230191dc0b287f72aabce22a761ac2b585d4df483619ea5e86e6ae0188be7725b530b67ffdb29d39a20481d8464444911110302047c435bb500683066023100c4cbae473f061dbeb1590965757fd16500a6c481d320e28d451151944042d9ae0920d6223bb6abf457bcfd6dab12d1980231009061e95b97d3f05dd4d59619099a11e2c58139ccc6a9eea7186f71f9265ff1cdca9385844ef86f91c85b73ec0bec407f0302047c435bb500663064023038ff857a14d0d33fbb98e36c8e9a7953511e3a56741acc5bd64a52b92c75478df624b370772abd52b1659f1f0422fe4802300d740eeb2610aeef9cf2db8bce0a2622a6eac588524a4911acdf1a7a41c253d1e938c0018907fb8ded0208dafce229600302047c435bb500673065023100f7e394a8fd2aacc299877a4b6c4b85e39bc5d45d9f9b7434720adc2ce493475cb2ec677292238d9aaed552750fbb35c7023050b20b57a7a43658ee0974365c05893107a7ba796d68bd08006bd190dbd2b1108e9763480c566f00de2cf7f393eed7170302047c435bb500683066023100b96ceba92def74c90dd378ff8b7a84ef263576995264d4b7e3da55c6a07577c950ad0aa92d4f5435d97527ab108394a1023100d37414ceea2b4062b947b847bcbd5ad9efc5673d38ad886be9a8acfabfd66119132570f9c549ff2d232e20f96741fd110302047c435bb500663064023034b6308f4c8bf9ff9290faf772a5ea81ac43eb93f319cfd4da99a1ee3b6d4b83e6d8753ce9224e4a9895747805f87f1d02304c7f8c13f4b958b65722e5101bc84bc771235c31a5e5d9fc9a2e732a89bfe2af84e2db665295f4bd75251cc6f7a5ed7f0302047c435bb500673065023039863290730db2c782c1965165dd3ea3dc8051d32fd10b08dcde7463c7b7754f545d3707a9683288c737f9d064239343023100e22cb37803167fe71092657ceb1daed39c6a72a8455b09cc4b9f35b5e60d7819a753fc04f7d20a4a1a014951e703f32e0302047c435bb50066306402307879d408446ca402ee7197b33bb71f1a4902f255997c308f71ac5ab83840307eaffaed4903ce443c7e86b5e243a6f82b02306c2a8d3ed98fc3306ffc439046f09bbdeb5515ab1a7baaea119c169fa32303e720d8c69502e793d91481031fa75515b60302047c435bb50067306502307a9fb2f4de62a0cd690a0e51791cb00db4b57ddf29ea157464f23e56d8aeb69a2da07fa9cab8da8777a426ab1fbec5030231008f66a501a3b1ff24552c3a0e8e86999b323e09748c62b2a18b97ef6eb74bbd9b081d07e2549b97a0292372a430b768d20302047c435bb50067306502307e88d54bd1fa72d882b20a6e71618985476f0dadfb78ac944aabe0a45cf7aa4e316066c2a455c8b1734ac85a5a5615fc02310083c660730a200810435306fc4289b3fe9886e14338dac600499cb57ec1c3694f8d72a9a6fa2966e74b617118aefc5e0f0302047c435bb500683066023100b39900ecf0ff9398ea498c9ec36d4217cc9a9f19e43418de9455df66532c8d1df896129911af6f628f1a9a16d6d200d6023100fde5a9b8580de10ffe71d6f4904ee50bfc0140ef1fd09aecad71ba5846610a67af71788a2f2d590044e8825068294d880302047c435bb50067306502305b51e1185653c2f867d076a30aa79b2c047d005a8440522b951371c0813e24491b3024d947fa7683e60a3d2ffe49d65e023100c47df3d986168187a3efac64585608147d5fb0aac190b003cf3d165d100d694f17de2cce044eafd1e4527d911470d6f80302047c435bb5006730650230771489011ad8f9ae4d02c60f48b56f8d4aec3cde0bed26884b8f5109457689df707c12f05241d08fa3fd489e6904564602310083bbeb7737ccaa4a254dc065acd040ab9dfac99b29b3201ec7d45a6c0c2e2695a7ddd5c7a9939814ec6a172cbc0430b00302047c435bb500673065023100bb2386a1608b974cc23d57cf133e8a0dca956cd5bb84449e2191142d76f37ef1a98b26858b2c74bda8d70d85320068cb0230410568456266ae92ac13f6796abf05a628c6d6f1f2dadb100916c5b50f575000a4886bede85ffb636586aa8546b575680302047c435bb500673065023100983442b8bfb9a054487492dd7a582796a26dd29da5867d2a5a487539d3146e42a1c750b8bcd62c885e32d10acc81f94502303d7bcbf39f7ad6061705fce39764c2e25a34f2edba631e8a372e3a5d1ef96d1537cea1012c9f3260c22522853b5df4fb0302047c435bb50066306402301ac07b6604f112ff93ac53b665a3bb89338bd7094bb39f05b5e686f1d109e7e5702523b25689057f2544f1c4d3bcbc3c02305171cafd8682f051246900d96ea601fdd9634cd1b8efe2c6df6f453da50d7bf44887dedee4bf32c3fad9eba377a52bf70302047c435bb500683066023100c394774a8b29eb4d4dc3f566a8253dc09c6dde3dbae5a22d0729ee0bbc8c2946b469ce582a90d3f9409966e80fd3e9c5023100b29f0bdf5e583b12d534bb7cfabe97be4d1bcb2bb237744afe5ae5c75adfbd3efcdcca7738483791819c0d0a40c1fa0a0302047c435bb5006630640230142f5a5aea49a9c934ef51f840032c18245dc605e093ab837c3f0cbac7ec363ee45942c7746024f4ef9bb402bc6bab7a02304d7b1f078ce72933b5b27e16829ad66822fa5bfbdf7b7260b608036192f881e097302642ce3a9ab6ec99eefd562e52ef0302047c435bb500683066023100c87b42b9e84b0787b4e30598fec5e639db74c3e125f5108a79cec2ed32cc4e6d6a4784996e100aa5bcf2c9404fc72038023100c2eee463a501bf288fcf2de5b70b2dd5042969ceed844be788400273330553273f01de18ecad5078d61282228944945d0302047c435bb500673065023100c6ddecefe254c1cf257eb87b656397b3a1b0a54cf79ee0668c9ab24e40b0995c6c4eab3cb0eb65f4b0fa3ed6ac674739023039ca22419c18c3685899d1732741a55e398be332e62270973b8a600fc739d39075a227c1ee5f56da793fe82e06e990cc0302047c435bb500683066023100ee3447736df999129fb3d0d08fa0720ba452d5636dd36fd03a92dbf6137225c7d33e7588604af6670ca28a94d2cf24cb023100e0a05f36356d9b02d6160f64869a5ce5610e9f7391b94caea5a05a9cc26af26045494f830d18149f27721b4379cd90a60302047c435bb500663064023015bead573bcc37dc7b3342fd2bfe25f6e4efc56b49b87852de114bbb5eacced26544be855aee094e275a4d83d1e4bd3202306cf1455ccc92b1920b88417b5b91f14a143d7d80f64774407d39b69e73532b2000356a6ee8c17c765352b3872ec9c5c40302047c435bb500673065023100892c7da85825c76403e815d2f52eafe2c4afa6a4c35b9f99036bd8fb93f56ca80c3dffca514f57752427597290b2dac502301ef1cfbd8dc1daaafb11103f8c73c5c77c4bc1dfa1d8bc64550ac041f0011d21ccfd9b2a217b23bef2a05de16b4355950302047c435bb5006630640230445fd981587d47dab2959e0f1b0df278c81771610d465ff80f274b6fcd93c3543fbac0ffcb8c371f3ca9641468d2bdf4023042f5d27479114b1eee3162ff4b2553d74e41584679252fac9009c1a1c19190a1cf00fbb8e61c4f280a3deb3ace4be5e20302047c435bb500683066023100d060d44568a1cdba20c65cc3b687edde14ee1d33553555253fafc4016b4a049c96690961514039b7852f47a9705c20f5023100a74f6c908fa7031ac69d5d7456404cede533fea0776d2987dcfdeb5430253a94bb9c0edfe21466e89fbdfb24dc01aafe0302047c435bb500673065023100e69b96db330d3ea0daab4b943e25810ae7513cf95a25e0f996ed7fcb55c2fd2c1a9664c20843f73ddd4e4a4a987648da0230069e8a92816f69c193ee6b1147275c9ba1512e60e00ab63b564b045d35aa0db5ca8a60dd31e9fb0d5647f2963bcf136a0302047c435bb500683066023100f698df4837e84bff5c394c8e6759570feb5ba276ce284dacf146026e62451297e4d762014f8097c614c61469ddd8cffd023100aeeb7b429247ce70a129a59bdf20d09f2a376037ec554b0813687678878f8e0c93a6ebf21abe1089ab6749ba2525a5870302047c435bb500683066023100ad5f5f8ea8abfa822d2a824f7e3c4a450f738db0d2da50c8075579ec7a4c540f3d92d32b5750d1f28f5bd9c3d37cfdcd0231008bfc8e4f77e63d2b7a8181d0fbb57111ec91521c53670837101711f46c898f5bf75c4decebec52604065a4861832e2970302047c435bb500673065023015054101975ec2e364544b6745c5e3eb0a448430fc8a5d3fd9b33ddffe4ef2678a63b596ec77552d5c873bc69642805c023100bcd9d87bfe89c7b5d2c14ccf1d634ebe8944c70dcb6da1685478cf6c2e065bf722f81595b877ab828fd6df2ea0dd4c1d0302047c435bb500673065023100fb101801253d8552af0da6e13cd1181b9b317d668096b0c5c3d07d9059552020d8e25faf58654da6ab6df91e818b5fb8023027dd6ddc087c3b921057568811ecde10682bc9a955669b23cffe9d83287705e4b376108e985da98c4f00376ac640860f0302047c435bb500683066023100feff4b03d4b2a5a121dbfcac565e04c96590e9d8698a6d46fc71665213423606b265d8bca3f0035ef22c6a2feb57a385023100d4ca3a8d22f13689d820112ec08196100c0ae6ebf90aa14a23184894388a6d03d4b0d69ce782717736456358a9361af50302047c435bb500683066023100a0a7daef6ce327fbfeebcd8d8ad035dde51994d757b2673d7696f443029bef0f46f1fc6bd556b4ae0ef91d8386d54bf6023100b85dfbdfedb96dc0dfe0693f9e8135a870c61ebbc9aa641073a25696f12d431733f3255555d47ffca87e5896a89edc1b0302047c435bb500683066023100efd27dca32d0430578169f46995a65df4a1bcaa988e224e3c72267a2ebebb883f840fedfef126df1466bdae545084755023100f736bce4532c88c63e3df9e6e685fa29407c7944efaca8e689c9549be92bfa6d771a65bb6676c73c660e9b56e1d196f80302047c435bb500663064023036860779e76d2079cc3d012cb6567bb2ddaf9c687954303378ff8a822acfdfc2fc0d997d6b8abbbad76cb096ddc97cee02301abaef2e22f05e2c395dc6fa913ae8aa9e4657ae0d48f2270d31b47b191c6656603cd074dfc6406689fdda8b9a0cf2fe0302047c435bb50066306402307516d0ea28476789dc934888b7e4b6c6719f551e65d2634acfaab573e33d91bd61fa084ce9a295776a758c5533abefbe02302d3a1c9888561b1696ad8878cc0c567d52f6c39e6abc71514667ff25406084d57e870e25c1d08a544a2beddc2d9877760302047c435bb50066306402306c15ff39e3a222db57dc6f25550db41951ba1dcc2aa06fb5ed981466eff469e9773b4d71710a826cc11bd7bb46544fb402302af603103f96ce770ceec324598738f2b6d06ddecda65ac76a98291d2f3daa2ee957caf4bb820172eebc4367e851b0b50302047c435bb50068306602310088e0306e69eb5ec6409bdaa55e35b647bfa6824c6af6875bfb40daf8f258da8351889c3e07397af608f530f4cec475de023100ec9c89483e1ffb0397689800bc92f712874dc62307edd8fd83f55b7e3de7aa7ff8579acfcd36a94ff42fb44e5dc5ecc60302047c435bb5006730650231008a91d99fa219c4054704ba72d4ba737ab6845acfdd9c7cfa0b7ae5df78ce65721685eaa1347172bf05fa47c153172465023026a399cd3cce40d538c2e8891f62895be52fb944bff1976e9fdb73bb6704e90bc13e638b23e72f3d6087f0493121f9c90302047c435bb500673065023100c2ca6b143f4f1617f05b031b9fe14b04cfd9b3d3e417b265e86c3da99c812f90cab0396228933e6b38d565f3e37868d6023037514f4bc82d3c2c102c29aeab7fe11d8ded720311b158867192b28635108f8c5ae4c016b4e5a57d4f71bd378ac588800302047c435bb50066306402300e888800e2920b23172a7bc0b6cefb836a323af3e5f54298d74a2a1449482de2d13ed45921d305f65850e18302132d99023058b1deb5b898afebe8bd1a80a53d3ad59cf7be24126853866ab1779ab2373178f2769801fe70d494d6b630aae8fe6c330302047c435bb50067306502306f51b24a73faff5549cd4e9a26ffab5039be7575c04265c7322c8fd3c8346e73dc8e540ccd342c9a4c613264e45eab39023100c9288db316c956d5f21f36430880f20a9e52b2460e6d44f7c7a83e4fbc73710c8d5a35edb2d22a7802bfc0d6330268db0302047c435bb500673065023100d369484bcb2e9daaf06b15b65a1ef3446051ca6a760ef4a4248c191aab53093640da1231f2156cea58592f60d1753da302305c6b267faac4ec83721ad092c212594dc96caf449f537203c03284b9e17f18afa47863d7528d095023959d77725a19ed0302047c435bb500663064023024ee19c66230fab51db86b2cacefc1413263d451d8287e6201cd83c1dd6aed5216d0a4505eb2943a8b2d779776ad9ec902302b89c1f89438e11f2777d41c326651e428760ce4782116528a4689252d08d2ab1e57c28201d6920fb34227a001b4a67e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305f086448b7eb076c5b638a692b6bfbcdbaf710c0051efe1f4f6acb9ed6f34732e8fb7d53985eba521ad4bfaae57be556023100cfe48c38fcfa766a40da797a80c87aad81486c8403b1756e099ecbf745c6bbf9d6ae3f67b0316bbcfa511ef47bb9b8c70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d1123f98b8671dc27e5ce06c53949b0da09a0d3f42743166b81007f8334ee90e1d498ab889d8ed69972296e18691569802310098c1eff6f7468b2078b9b436de202957068be71bf6f6be5dff19f0afbe29e79e203f718cb6aa6ac23b284593c9b4302a0302047c435bb50066306402306f96371deb2e4d97fd88db5cd16a6212945a460703e430ab3e349524e91fcfa160e1adf339ff2097006b6e27fbde93fa02302542f3b706d8753024c14b31f638242668ec06ffa704032be78b530f1fbf4714934d0f52f4e6ba6ab19402a45d326ca60302047c435bb500673065023022348f84c85eb10e388069bc11f6893ed02091f26b8610857b83c38feae3e8632604bbcbc78fca14cd63c364c8b0120c023100f29c5d55ea5c60be5c8915a80b82f1be08c116b3bdfd7c7cbf2c4ab26cd3242cdbd53f3a82812ffd4eaded3dc46d84ad0302047c435bb50067306502306202b8d6489e59defe77204a820a6ccb27fd7477df4e0763b575be5dd3d1fd0842e48e9c2b20b27ce384b20b7eee16ba023100c861598ececbbbcde77c670d80874cfa07b2db6ec26511eec0f73e64b1a2e3b7958991f477455b22dc1c88ead403e05a0302047c435bb500673065023039112d274fa9a717837177c06c7044bc654518f16867513f7471b70574d81070138ca60b86513dd6772148959c87d41a0231008a658c3f02ca532193dcf11c296a7bce266593b00c89702814f99d8a72e7a1a729fbcec5368d2da50b3e25e4a6a547160302047c435bb500683066023100b99c703108914e8d65f136474d2a59b377a0d160c884db6ac8ecab48abf8e157274364feb80f972b601826265ebbe9b9023100ed87c8cd331267d089e88576c4b432476326f97af08e868a96fc1e967e760547703a7eec2e4205d75ef4515c28f1ed0e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a7a3feaa06282194f51fd0aac60cdc15a59146adeba52094cf41752b9a044dd3b57675c50234d37e718e21cfb1be920b0231008c05a6eac349cdf50a8a38bfd1566d415b9e75ca0b75a46adbc5eaea57c4bb93dc20472ef9f092da3026b0839303fa860302047c435bb50067306502302fb7e68f7d3eebe0486a73ef7e47e2f12a13ccf2dd952fc06660bc4eb472450cdfdb2e7ab5fd33b81e447c2328725e9c0231008b538b75c331a18488e43ebd768d9e147550feec4835d3f20e5e25746dbf71ac3a523b28fe4501b926eedda9992941e40302047c435bb500673065023100f477e3238cb69bc1a76c45e2082ae116e6ef02d965269aff0b82607e7a08317924074c2ca81d3cc08ea56c457c67f2760230062b057bed7ee8ff7c9ee6c94c523aaabb17f82f7cca35d67de6796c0fe9c433a6cb4b6746057d93b34b4e006caf16080302047c435bb50067306502304c7257673046bfbc0efe0aeb3aea0424583fc83d0936d441689a9a27d336efa353ab4dfcb1d863743587bfb342f56170023100fc0d7a1d224996ee6631fb28b3e5f0630dbaacffa23a19cfda5e3fa8efb3deb3a1227c9f8639daba7d2f7f2bf43efbf50302047c435bb50067306502300fa3bf5b51e87926f400d4d24c138b98b35292a6f9311faa62992a568e209281c78455f8a529359ee073a58b9d547171023100ed31e77c27d29f3b22e47c069a1917c22c6081ef8d55421143039f0d8866485c955a27ed240e60cb4c49be6b040f9f420302047c435bb5006730650231009f76096b0acaa1da4ece522baa0e5ed3ecf0fd97765673c3a8db6a0fa3a52208be0d8ddc987e1060a059a45599be3437023005fde081ae8ed1e96cc2af55dfaf36eb4f4e8c6cd797b48715905f8bd6e7734a9bd9b6e4829444778d85dbd140a4eb630302047c435bb500673065023075fc34eb30c4484a828ac732dbf8bf5410f1ac7cc2a8a461001c2063e8fedeb39ebb0b3e6d41d0163b2ad8f7a8d595f30231008ba937be86a580fe74f0a201859232276242220df4dbeba53d67b25bdeaf4f4f26593a723c43dc1289c7b7716aa9bc1a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230621010f03cc0e69e0ddd7a294b8d8c832c180c7dfbe8fb42f674129ce862a8a64d1551df718c7ad05a2b9f2a48c2bfb202302ae62879d7c68ed46dcbedb9379271fdaaf6f30c37cfad5bb144ab401858bef3c0ff0d648935ea8e752bdaf345d46ee00302047c435bb50067306502303cdc3ff1be16302c3cad59c9b6dd880f69ae1964d5833fd1583e5170e7889b873e069812587d8c533b64e4fe627e541702310081df2c761d47d2002e3908ea6bbeeca571ee00f32374935f5b1d20d21d886a3314aa58f975d34ec6080e7cab0c086e770302047c435bb50066306402305ed89bae5400c34058b0bdb919fcc8766084080757ff0e579391ed045eefd88d9a0ad0e0943901c80882453f92efe971023028b10011d0e1c8b8c3f4c506ccfdbdb2260581743631055720df33c01bc35caaddfc639b4d08a3d8df7e44b82de44eee0302047c435bb50067306502306d31da387ff3db948e46961630a59b272cb6ae2a13b95b876c3dc864916ebf820f0bebd75f07b6a053c5bc5c69f27aec023100c07f745ec7130aa8551ca864d22089b04f1b0b36a9b44e17d35e4378a79b6c3df503de1236a42c82a7eab6cb509218f10302047c435bb50067306502306446d4b4d07c190f266fb1f9a6fe65e30ce08ef1199722bbf7d5dd1ee965f8ed05220255ccae1e9212df35983a882592023100bb9f99e053178c0d42ef4acbb4f6d1133bf9147fc0ae8c907ec49e6c013de5815abd015f427d72667b2c7b2bb9c43b380302047c435bb5006730650230649445ea27acfd8c2d28027ce811007887bde0bae5559542fd04266580275417bf447c34452cbe3b9ccfba7d7a8ba1d802310085edca2b966916acdba4cff8607979749c4105e6159a0abadec4d106d625da4c94800e3970ad6fa8e096e499e61031a20302047c435bb500683066023100e908064d0017bcdbaa08e30d1b203bee82533f284c6ff574ab742be730126e610ff7521ab7c2a865ebd51547c989474e023100f9e78799677cce6670caef2fdd7196bda6b3324e0eedf58a65c003acc3ffea0f58424da5fb268d871a317d62453f182e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307cd0fa63ad492629f94e6b0ae50955195abd4a5ff08ce60e8aac05dc0b9bd85254a3c0709a76e36b56a31acc3041b10602302259412c0fd3a38a864a1adb0f34aca9426cd09f44f9f2af9cbc2dd6b318e1c6f056ddae1876018b73db511e634494970302047c435bb50067306502304cfa6ec80a3b44b6657de35902f92a601796393e95aaab4666f53a247dd69498e49eaf0c056df4c94441dac59b9b288602310094316c258716b08ce1ac025559ebf376f61c927e47d90774e7f81446e669a731e4620d3742f1a27838fa79cce3a9b10a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dee5f20f0664d74b83c702d1c2029a60692bf80251ffc0a8cfd1ad30ef3ca7a4d16a727631825d47e24a94a351961d4502304ae54c7ceb2ae0ce1a582cd92416feaf6bbcee249a0a68b9d5a6be2ca8b654b309d272d5124ac8752c23b629306fa6060302047c435bb50067306502310090c74d163031d0cd3f5abd5900441a79a040bdc767f64bc4c3ebfb81e8335a6c23d9e1c420146c6b36641b60bf2cd1b9023007bceafb789fe4bd59dd45a6cc4f989614b535cd2ecd1793301b17685e15c4c6549abdb17afee2d358e8b9fae280a4010302047c435bb500683066023100990ea065b9a9df9fb14862d380aa24f29095ed734e720ad3901ddf4a88f6dd3fba7f4aa53b18aa9842a871cff18c1e000231009e2f413a9f154dfa644b39c32cab6c06922f8f0812aa7181078f714b1472a73b622b88d0609109e921370e6f9a0d30320302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008ab2ab3722a367389fe0cb76c4937e9e53c02908782b7f0be3fe2a90b62e72600c81f1f80b814c124dacba3ef4b07f770231009233190aefa23735f16b0e43c78661f7a1ecfb21b8b448586b77ecc690b49bbf4ffdc7b0f82591de6661c0d22024792f0302047c435bb50067306502304959530a0483bce84d4c8dd6d1b9381a9d4704f5d1a571d2c0a3b519d05168ed417cb27f41cd05ea922349699afb455c023100aaa1c78ce98b879974e4954828c19ac7638d04b1d0cb8425fd915459275a462d027153689c7808a463dc4c7b987c81160302047c435bb500663064023032aefeaa14bae4fffb76f59379434e84b4e8d559d819173fd03b5056e208f01397182d071459917c1b6f3080c4a2b75c02305415ad7e8217c488042d6f8ea53b0dce398502623905b8ed4919bed7e2b113d92eea96a5b6098bac2d9f843faa7ae95f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230175261aaca5ca88f32407befeb835af991d1120b82cee5d50781ea404af4d632bd5da67a1021565eb445383419c32d8e023059e23dc806e7719ac0ec4f6b9fa85e9c31e085dcf8dd78d37ba2c52eda1de65e1d1e90e5ceef4d95eef7bcd30d49ba5d0302047c435bb50067306502301fa328abb4adff7e9fe16cf02009dd6d59898ca48feb2953ea751716b938f4d7affce8550adf440e7fd7cb4b9a3f83300231009e1a224fbfdda4070296bb5b3827bb24462380c95ce362049cc72660eb9d15b127630ea4a3e23b29f895e65aa830beb10302047c435bb5006730650230137d37f13d3022d44991bf1294fe90bc78bd14d938fb530ae4c1f5e9adeab991cf4dc3043ec13949b3f4189b32b66cc202310093e2b6f00983a4e0dfa112766fb36f2f82da62f3de7e39d3e92472645ec1c4938cfed671b5e56c691b8245d4e07012910302047c435bb50066306402304fc3d62671dbf586a234fca0ca64ba9d252be8dded2439dac2e4de5fd8432ad229f36130bacffb70257ed18729a894c70230009fc8fef59b6f01cdf7fc4d395ed5fbb739110b1fb1b37f69c82fd04ef81c7bfa588d5a0f2cd96771a8b518be2a22990302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b6c7015be8a3ab7355a7a7063e932a6a8d2945f94075e3bebe574c86261627e3987004407b2ff081c1f5920d1d04e513023100fe197245a489fffb2fbc03aac49e015d9e6a6935902fcc52767f6689c5b56e4ca41a043cda11c7c6ead14b1e7bc15f930302047c435bb5006830660231008a684b7f1f489587509dcd96147affe28f8912e170bb941fdf39c8c69bfcee57e66f28d3f20adc0dfcd1cb2fdd1a6849023100bd043727721d31bc66c1f74fad2192d9c93840f5404fb7dcbeee1f28dd9771ecdfd9a764ebe576b9e5f4a117a835da8a0302047c435bb500673065023022c4413c7672818249b64d804a409e7050f12716ba46078023c0ac01421e8a149621da6fe3d5b21e8de7a438b21b2157023100d8efeed3e2dc3668251f0c9465af53c61470075faabde180314251928ad9d4a2baddeed1767d830e1d37a4c0b0e230000302047c435bb50067306502301dd3492d6ed8e050feca6c3ef8204b5d2e80e07a5c96365e63da6dd898d9d631d962cbc57f998afcaec58d9dcb4c1057023100acfaf8987559a3d7b847ebf796b419bc13af1518dc9ada9ceafccdeb9834aee5bca865c0b33046f6bd378ae0c57ca00d0302047c435bb50066306402300acc7476f9c4b17e56b371401c479fcf0b121e7cdf7b25a6d4fa0a6757fc002f51be2c7e86afebf6f0591b930c9d3cf8023008004749cb169cb151f8d70c1336fb8a92815e946672db617c927b5d4465f246fe76971e8d380c1282604c07b9a4dd570302047c435bb50066306402305ea2cd793bf422011620249fa313dbc7b7e8e1972a80e36832aa381ece2df8adf103ef9112b1fec0fa89aef50fccf1ff023021812aff83c2deecd0e1eabcd4a535e1e846730de7ff45eb240a637c6627006a6e5a79605d87bd7f9e350373fc0745e40302047c435bb5006830660231008ffced20c0f1f24747a9e57f90138bc6f1aad613dbb4ed06481178fbefe26917bd667a97a7106a8e1ec14184ca8e8fe5023100eb44fd15b4db80980bfd6de044d551675ff87df84c04ebc5f301ddc966408a6b425d2d28a4734707f3ae1ad83c38c67f0302047c435bb500673065023031c5a1d3990e97dc6ceb63a477a37baa3ddb28a9a8dfb55b36232a7af4fc37ba3df8eea678b2e2103560889fadeea1ee023100e1edf1a7a124ca4dd1755d14928a1cff152c685710a7befb1ee4e8a55883cd894ce37d13d5914ba9de00b755bcdba4070302047c435bb500673065023100c8d50f344ee490f2b91079bfbb82b53c3cee9f4b29cd5454a4eb548c24eebe0d2cdaa3df257e14a48f102ef4eecf4b3902307e02f11538023e6977ad7eeddcee274217e051856f7949c392ed3b375e0e864440a884f4d196875ee602d4d906106e090302047c435bb500683066023100e9b520371b631bdfded87c5d042ff10a3f378b9a37e018c5d88c60d6e346473499696f638011d41f74f42133387c456d0231009653faf4f5511a69d593fe5b394ce2fcbeeccffaeb01a04fac96dce4a66bd6f80f65708353fd2829a19824609b8fc1a90302047c435bb500683066023100d3d38f1c88a26927accd5d06286ae87a4b22f132f6b276958e5b9c586d06e2a1b26544df1e348d8d279d33344fd7b3bd023100db73499782cbe071feb5942d0991bfcd608de0b74ad563f0b638904a60040ad17bb0f5e8f80c317e5c3d97f6e15d3f130302047c435bb50067306502302649e7d33956a17a7bd20ff8330b3e75555349adf682d487c655da2db4a22522a61878d8ff01fc984e74678371a080e3023100fa13471ab1fc30a88f37840988811794a2d59b7705489c2ccb21796cd8a2f7b30a27281e7381ec292c0db6a2dc0df7fc0302047c435bb500673065023100ccb4ebb2af1c215681f01ece8f090c9cd332775d7c8e4543de515f0f97ec0e08bf960e39f873e6b633a85d494bd8b4b602302ee84e24717a5a6fbeef9686b7407f3900340a408f3941487f7a858e89c548b97b61f85a3446fa81c4fd3249fad921250302047c435bb500683066023100f39ab5498009612f6874825e2d2e311fe0536a6247f7f20a0f37bc20eee99049619a3f89e98fcd38cc4fbd09b6838cea023100dfd3ec3206dcfbe55176ee630b136bee509cf575ac36292ada07370a052619d2562c80df241505e9a6a4f706a82df82d0302047c435bb50066306402303d77b0b48de33fd8f2417e881de6f9fee80a2f417c94de40d50d537cbff85bf761259186a7698605f058f7d651f5edd102304792b402b000fcd279ded2aa03989e100bc2c206c9280b7f9a2779c345fa69198f194f46ff711447d7e590f0d96b12cf0302047c435bb500683066023100c9633d1b912166af3d0107c763e6f8c05d56b983aa2bbf74dc2828712c1fbca3f041807643447784a18512e1f3b67a2c0231008a437f772b5f0e364c79562c2b77b24bd9ab2d84866701e8838c88d80087fb7df96eae97876209590a27a52e93704cdf0302047c435bb50066306402304d7e41fb79ef223ee1879ea4380a682966e76bd223c2522b4c71fe5bec37ac54caf001f84e9ca4be6ccf9a610c82569c023040986054c47360d68216debbc114dc9a3491f944941381e167039bc3e9fc0d528ce4601b7aa5b93fa3a4ba0457a1fb1a0302047c435bb50066306402302f2f795353751630257c55d375fba677386325ad26906f796f0b35bb7083f1de9d902acadadf3e6e0c5a497fe3e7d7270230124fcd6f0b994a690c01dfc9640330e103235404163231eed91b29ccb82f63d57e00272d9e565a16642521495a6b0d390302047c435bb500673065023100d11216bb65d13a308e1b4df12c8f6efb64a1c5adf275dcc330ccceb6c07ca74699c7e3f753160c7bd7a6d3508a390180023033cdd243acc436db64f23fb2b1a0bc9bb26bbfb3a5e2d485ba33a8293f8f5e195f969c941f827b44b8bdc182717e64d30302047c435bb50066306402301a155019f1564c405ada468874ccbb4379f645898a58861149ef2af7f94cc2bfe1ebb1764d371ab686b81b9417d5add00230158b2c9affb54fd3a4958d8ff48a056b0738ee580a2e12d7c59d80d5eebeb233a5aea1e7ebc0f8625fbb174ddbac1e5b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310088a13ca9a0cafc506eee52db30c662a44e7ab83d07b1baf5637e38cef526b62c89585d95f0ea136c588335300bdfe92002302dc696a0a2005c07114e8e4b722bfdc95a435bab636572319f955244a6cb093907ceb9c7856db50af8679f9cc31157100302047c435bb500683066023100bb6dde28c0df0115176dcd6a1b020f9420e1aebce2f8f51183ec6267c0c9bbc898ac61a1a4a0a4516b37e34205ad4d63023100fa4eff57a822c231733021fba02516059c8cad88571b8830dd0a3546f5617068f019ed109a99aba23fa8112d74d9e2a30302047c435bb500683066023100f09cd2e608200f475ab196e2edda24e14cdd7bd704740def537d683bfd009928ad6ace2ba01de641b23df81c05c720aa023100b4dc2c1bb272c88f8e3439277af9bee2151b46d1ae8a0282c70466a7fa5e046efaf9cf93bf81d63ca9dfd09b3857eb720302047c435bb50067306502300bb430cda221bd776bcd55a1a7031aeda604fb8a964ea12515359f01f57c00500a5980e00243bd2c5bcd7a86788cf55e023100a977eac8e98ecc375ea2d214a989d4e70bb132380e58c9dc59dff9cda81b8d5cba6805721fb1c4b13c5863978ffa99ef0302047c435bb500663064023021da19f2159501cbd9d4e95c25cfea1b32803ae401039f1d9e89ef8cf3d2ab787ee036dd7ddbf7b9d8d62546cf5d7c1a0230300cf4df0bda0fa3d87ffaad0ce891e5f3b3ca8e3de5ec3bdb37901d3ca019d40c1f0fdbe8c1fdb71ce458f31c4cdb250302047c435bb50066306402300336b69cc172443c3eff59525178879575cca056d0fe24ca78f5e20257f188f725dab7f0e515900b29fafd58ce63541502301a5ebdfbaf172026fdd2491fdb3ea5ef8b455abc7528eca73610ff058f0ab20c96d01ae9f069c3d8f2b0b50b84208b5d0302047c435bb50067306502304757666f00cedfa4bac4dc92e9c7fb9c409f617d9238fcf91c1314525bd9140296dd75702140075fdf9c0faef364611102310085a62b161e1179f0eb95756356d9d2bba515bd26a29162adb4346fdb97ce73abb38cb909f6ed48b03a8ff0fc0d66ffe30302047c435bb5006630640230222e4223ff30958980a19205199c8c114d7a1efb0861b0d2ed595f5fe5a65c454a7a3b01172ffe5df92cffad0501fb1b02306629a29ba2c6919525ecc3fda61394269b19b2782e189c59e03ede09e4aa9a4a3caa0fd8fcfaa72c2a56136158378e710302047c435bb5006830660231008e565fd20a95e450368f3c95d59e6bea5e62ec9cb3d00d1ec6a6bfc11e92e14e7f1f7f983229c183349264f80ce9ee0f023100fff7c3a956d1d1db941dd604fb373232c77a8d2bc9ba3c44aa8fc81b493b7bd5a13579b72bf9528bf20334ccbddf1db60302047c435bb500673065023043b02aefb13dd92783a9fb88d7fb0dd91295dd55d70679ee99c2f0282b907a47900010305d64ae34f14c8fef29be7a2a023100ba69d503394ca9179296dc389a5527df7d6c808d67850403d0f8a247f2b1511e44ecf8aa6bffbbc85355f8ec7a9a18590302047c435bb500663064023015b6811763ea3f52b26d2560b24966d9ce2611778fe262ec1002024fbbdd052df500b4bb41a05a2dba10b3e511af2b2d023041062c7973eefbf1ceb76c41a0f07f391e351ffd70079c7435abe7251a634b7348c8ec1cd086dbb0369cdcf331eaa36a0302047c435bb500673065023100db6713f55e506181f403fad32a1691d745e724bf9f20a525f933dd498f80daf4e4d403f79fdef79191ee0bd4ae9f3b35023031d90883ad5135c5bc994d22a9d587ee408374d3a6842710cbe6c569b1176dfba4b6d140e57c958b5df26aac71de30240302047c435bb5006730650231009882c021cc6f1baf4ad189b848bba1e68d10f03f82f1b96f96a7709c75b0cadad78c22431706a2a22620dedc56842a4002300fe17c2e9e13c767b0022fd951fb0941c0c5b79953c5b50ecb2f602ccdda6ae926acac161663ac6c68d1c0278aedefdd0302047c435bb50067306502303400d87d4c633e3f88f0d79cee08410364b307a45091a8d3842a1c5173451a4d7fb3aee8f5f0105664b47fef831c2e00023100913b4a591995b29fc28f8f8104782998ad609cf592e5b13fa0d3e44404db4521ed84dff7aafa237db83aa6f15f37b4980302047c435bb50066306402302694ebf146851ae17933285cb12270383899006637a46e97e83a5ed5a7a1e9c0d1c2cc275a20fca1ed0d1943b5c6733902306e5dfec4474a150ad65818966f4882a6dda967b92cabb2a8cea01a0f598f9959831ba2454382374d346254905d429ec00302047c435bb500683066023100ccbedbc0ab8c66d3915ffcf1c8577c0d284f561ad1c7e801c561eb41f39c789b8fa41122b51a6c7799fdf8c498bd6a24023100e9c9785adb1820890eb37dc06c8d0c59cea9ad17a8d72c7afa68cc9ccf4264028337a73e5ba73f6c75d50fa3aef2e47f0302047c435bb50067306502307691d77e759b5ec6f318ccf15e64da78af5c8efda5cb10892ec0529982ea89d9b44dce319b2cd149c573d218cf15b827023100b240f1c47ced6d3eb6bf4ace58f5eba9d6bded0953e3b415634634925585a385e141cd7c61a751e9d29feb870063f63f0302047c435bb50067306502300b52cfe4ec39f3dc16f41ebc1533742e996b93c90e9714256ad9a2941d2beb2419e96cc14c0511a51682e324ed61d508023100c335854fc0bf9ddbd3a7597a083ab211687d47ceef1cfbf232c35afc29808abefc0231f81076d907720f846c713876df0302047c435bb50066306402301ebbbbe73dc7fecb1877eec486f711e24d48b8c6c13aa703248f3115f6ccbe8d311b93f36343734c057ee2ec3763de6302307235655338026f7a425c5415f2488148d91d1b19fe5fbe2bd689211b727dd539650ee157ded41dca8ae9ef2e1e5a4bd70302047c435bb500683066023100d05e2e229f1ee2e158670cff3579f594d7606d5f1e8ccf54980b6def6f4c5e08aabacc49ab039ea85b6e1e6b876513da023100a09a38e4417c48202b3de501159a3034bc9f2751fddd1c6a8072d79cd9a61ee14d7529fa1f36a20fbd54aa8834cf89380302047c435bb500673065023100c397f88cca7bc6d35440f13d57faff402e44e6aa71119889603b82c9e23bb2bcf68bac8fe3a2aa89c666329b7e1e1933023020b35cda1eae1cf047d27dc4194a3810c28cfc1a2aff983cd4e1df95ac5a6a7d6410c9640bf101d89949f46562ced9320302047c435bb50066306402307fc0b67078ff21dc92139daa12b7cdc29abb6145c3d74d0061fe2eebf6f531671125ada47cd67ea8653922fac7abbf8f02304decb1bfc27a22c4845c7508eb73d37947a1a95698713c786f4617e15092d231bc5b16bd7661493bb876d1bf1563455f0302047c435bb500673065023100d9c9487709582d2c4ca47dced47b3c76ff58ac3317122631bc1b3a3e2a7a675dea8611e76073cc48e6da55a1e6cd9c2d02303730e105d8ce92bab2f4a258b9c4492d16b788206f474e837f115cca01b10c55efc8213cc8feb4afc569a2bf8e46f04e0302047c435bb500683066023100c7673f88c90fbb9a3cc6d967586e9cb7688f9e7bd1ee2c0066c30d341adcf39b3f24a6156d8c046444a08c1aa2d769dc023100ca2d360113ed54628f36463c2998b28200f8ae352358e8b00d704f6b85efbd7beb3bc509e71c2aba4ded229ee8b2aae20302047c435bb500673065023100f1a8dd1cc9306b9b7a3bfcb51888b1d82fb78a2033554a7c379f924c10a33c4d15003c499c9196fe1d96c98dfde115270230038fea373297e056e613571f10b7f45ce2012e59dd8c4b810b4065f2afc7efa37c75c2bb3a0b062f10abe96785f6f16b0302047c435bb500683066023100f78111cf9c87bcd343aa8c88e7a1d0f7aba88b7d116b774cde7742db96600a7c88419928fe2fffea9c4b73c8e57cdb3f023100af2aafe7904ecc90fc9f94c0f2c0c089d393e894159d3b303eab80cd785c20fa784278d9de7f057f1997aca675166e050302047c435bb500663064023058ef3e898b82fa8d67f93b13dc153076fa86030ae8486c5425aebcc90a100e41b54727226462efe85e389f84f8a7df2c023013c7673635b82eea8664124a79fe90beb5200bf04dec6b9f6acc687fcd7734417de9c0b41aa204258632335e79d4e20c0302047c435bb500663064023063547509a9e0f0f59545ac661663b9db6bb2305b7ee5fde499adab4915e61a9a7a81860ab39f629a597277108f5defed0230590131edb42935f36b632c78de8182b4cf5df2b3f93a224c1a549b519a7515f70281056aa896ebe97dad4fbcca2014e20302047c435bb5006730650231009c1df9fff2c06c0dc5296b5d03d8213c9322f08357656af3e55606d1e97aae22c75b3e9916e26c2c9f164cd0a34db5c70230231696eca3bf2e51c67070c05492ea0ceaee1102bb26dae93fc5fb9481f086ae9015ca1ca59f95de85a387bc15fc40e50302047c435bb500663064023004f35691f0efbb15f8d5434adc5a6dad74dccb87dba58894dc7258921e3f45cf6935fa7543f21c49f5719521ec39aa6002303a1cf1bdeffe9a71a2d622e31d1ee6811015f92c33331e707c3194dbd8676bcfe01847a71767ccc3a7a19cc4d4706ee10302047c435bb5006630640230353ae119ca2241858149ca47216baac6c4241ca1f18b85d5048af902d18c1f1acd8963b8fdcfaddd578812becc49f2a10230055dadae7d6b67e6cfbcdbacb149aee294b156db125af1c2e6e878c8d1b83fe0e30241bb4698736c5d39d0e3b577c7c80302047c435bb500663064023019bf5e5708bdb5ba0ac752887c0d4ba29df40e4315fa9e34e24e898a6751cf138db0d11c210e09f96d1222e96132f88302300f03032b61f291ca52f4d1425249494cec00913fd9d85efe824e4c20f6c35ffb112579b5b180c702b3ed733d46a9d97c0302047c435bb50068306602310090fd4e15954c9d36930ee2622788873838e5d66c43614daf240200cd5140bfb6d0fe17b9e90cd0c6d8a381af1aa23a46023100a1c0e502af892f24c4b8d818f0c1fcab1ae88fdd74b40c5a350d9a539e4eb4b860aae28784820ec9f885f7e1e935d4990302047c435bb500663064023002d1705a43beb6ee960e72cd88b92b5aa4ff0fb1fe80dfe6e3ad0d6863237fafda9049d88da6d8d6f26a42f5aab2a5f502306917007c72af0d47840636ee32181e8787c7d3c78f68ddb7c04aeaf252d8726b9f66df15d3fc23e782d3e9c73c448ed70302047c435bb500673065023041c0b79e21cbe54863304b2e917e60a44e29213127ce43a6b3c9b533666e74ac1143dc07bb896fec75be5d1702979d32023100ac9f410000e09d0c2f60f171e292a4af1418384787f2baa9adbf104795370807f1fd84fe079f56221e19828e0e0d5a560302047c435bb500683066023100f3599c64bbeea36e9144405e65ed70e4b2dfde6aa4b80bb4ca9947e4eb289ac3f414060f5c7a60988b4a3c4d23261650023100e1d8aef8b909aded515360d88f17f838a4cfad705f95361b8c665e97ee3b67da73964ed14c20ba427af2cc257f0efb0e0302047c435bb500673065023037337151628cfe815e0893bf979660e8178f94a145e7a2955a6acc0d9dae57f2b4d1e3c4fc9f116e416516615908a01d023100fa366f3e0625803455ddd767e2957fcd7839d9f072a54dccacd68ba3af3c95c26ca7c89d6c7b4312e945899ad83eb6fa0302047c435bb5006630640230470795df4b20763b3446840b27e2bcfa271e432da687bf1bff63f4cf94d25fd049d8d91a27dee8afa5ab7e4ed21aee8e023031a81dfc9f143343172019ea51ce7c2aee2168aad0eefe92490fa73f7c5d3bfba9d07b6194583670553f602ed765bd070302047c435bb500663064023043410c7627bae3d177560d38c8301c5806a24ae9160c075f2c09aa674fa24f20c78e1ff74365aa9fb3c7100013d8aca3023056ff7b49e605ae7796284fae78a17c1fba3c346147a08aa61dad708889d4eb858f824175059fd5e118e4302fa79407220302047c435bb500663064023018be74ce2e793ffae02b843a8d7c8e08e3553accc4bc12fb6ed978b49257bcec25e556ebada98036ca77b3eec018a3250230610521e84e3ab90ff8f04a454a88ac4bd5c59a6725b4fb0b8a9c33dfe7e391214268db5c8cb955c8d86f9e4066a1386a0302047c435bb5006730650230774b23e29dbe5beae02bd64bbcdc42306e997f8a25cf1ac4582b31cce1b7b53dfa612ee6c4b49c42fc1921822fc0595c02310093e139c0f25fad43dbdb17ef403bc276d5ec20a56952845eecfa114d44bb624e0999b1d900b598ec021e78320c4b131c0302047c435bb500673065023067aa94050a31e9d823ae243eb906e2343e46d1969a484ac97a905b31223bc15fd10b51aa0c3afd0f236afac721d1e3bb023100c5542e1b9559bdba262c6332f2a9b581b00edda55bd705fe017ea41c127ea447c0037fd94e732eae4e0571ffc6adec6c0302047c435bb500673065023100cdc15c604fcef76942d3ee9039a3d4a1bf30e4324652829d9006694dcacc74b4022351164a14e116d6d9e06e0c436b580230799489cb87dd88a34a48a94726b27eb2962d4e10e9d47329d262cff46bfb537f908804c13e603d971adcf62e3bfe1cbf0302047c435bb500663064023013b204c132a0cdcde577ca305395d219b16912bbfaae63ab7a881a527c6c6ec5d0e0a3074ba111e21c2bf4988a52fa7b023033d48e50c8f134f7c86b813b05c448a921fd9dc6709ac4ec78c545807abce97148fdf6666a4a851d4a4102012217ef110302047c435bb500673065023100b38c453acf6030a518bcf9f0496ff99bd5a1bcf5ed393dcf478dc87e7049ae911f8dd877fb679f1329f7822699e681f202307781641c4c41fc632073bcd5d1b5b27f939c45ea1b15854e3829a6fd05a35bacb39e5df6c7c94caca32dbde15411ba110302047c435bb5006630640230055f5bd2abdc93670442603cfa270b424d86152118ca30289552643c610d01a79636fb43db7e5d1ba5e900eb081223dd023026b41800f68f145ba4b121072ce6437016dc6cb58d5d8df1638602a511fc26e98e334c7ba3c66f315390724465c2683e0302047c435bb50066306402301c8a8fa3a1057149b15e498b3b8acaf50d71cf2cfa3504b41c5fb7ba990191c5ab94524f60c479e45d97606545b77cce02303e052dade6847b14f27406c7958b665448c93d1355a1b065bf65e4697f96da2eb177694c4e9ee9a82e1e1b5296208f9e0302047c435bb500683066023100c487e337e853adfb39685c14afe67f5df3fe998db49596dcb7652c8a550b3659a769ad0b8bb0892b56facce854c48964023100e0dc3e3ae2f09b2f3d80ba2e361d40260b964eb45c72ad0e378f9fe495ec603b42cb7ddb9fb204793e6afa8817409ed50302047c435bb50067306502307355387c292d59e3d00b3483fdb144d414f4649965e3a1d0ad085029dd003c0ab39b17fb52304ec54d1161512d31d464023100eaa4652f23e7d6f6104ce5b3f2f1b11e7a3e4c9fa3fb8e78abbae3084ca9871b466d45533d10fed6441b6257f32d267e0302047c435bb50066306402300de00b3553d71c65ff70a9c6c3ea9998e21b8678cc3345f6760586840288093db91faaf64458e4f0d6d45873946187c10230183218d59d4998fe6c7c986484ef22345a8e73afc17f30cf153fbf64573662b267b793221e733eb4dfae16f52413d3f00302047c435bb5006630640230721d0648392391628be9bd78137d9b42b3452398370a8b107c76319ab5e652ed60bb9c27f0304d69df91689bdb9d207602307a605bfecf2c4743f4b1ce7c4d8ef6df0f2f42c17109be290e368359f1dc051af5b843cc52490d16e984dcb77a9655f50302047c435bb50066306402307b8c88b89da2bbf0499318b5e8ca96b20a2e3b145a8d84ad6c3969a264b6c743f072780e396f275c9ae889ad5acaa9c402300e4e51f100059c210f9fc53661676e7ce7379558a78433fb79564a3262cf3bee66f199098b59bae4efd85a8252d4a4ca0302047c435bb500683066023100a25111735055e2089b34dfb8eba6efa18ef3d501a4ad0d3a0b65b1cd93f3de89c7b0df2d14bf849dfcb623850031f61a023100c264b58a318009057cb4f768cf4194fd64e103c491f6eedb80e7937dc6975f008674f64d72638a22cf94849b77d10c430302047c435bb50066306402306f8b5069d17cd3a2a28886316f1b28f01ecccb97340982a36f05d0628edbd55c887edd1192a1db7d332efd445a2683a30230448fa8f1a0717af5f7a28d379ddf4ba3eb13f63d5340323460220da28eeaaa3aca90b526f51f37146f55904bbdaba53e0302047c435bb500673065023100eca206fdb6e019bd87464a4ad22916d758be4cccb57d2cfb6d1ecd1f25c8b401a542ac0b3b1e64e027c34f264d9d578502304d2e00e0460f9b454aa9f9bc0aee88d34e5c8f6aaa4c82bf34851130ede8163611c1a30c71c6ece40e4b1987a84e54e00302047c435bb5006830660231009043f233a977b81c39c3b680c551bd0179bd95782873bfaceea9228bb00910d9c50eccb904c0d48b3de4a10d7ec8a6cf0231009e8a623363d0f8352777b062b8e1a767b40f0d443f5a2218b5139edce8ec0dea635d11cdc36fe95ffcbb2fbced737a6a0302047c435bb50066306402305e5620bf896b5da8708af0590cb8974fd6327bc265a10587d2b16ffd89babd528ac984d403da3b5662a072d06b90c6cd023004eb69288402301544f32ee4cec598d9366e94c934a409a560a69f49a50c5fbbed6d946b3f853889057d6e11947fd6eb0302047c435bb500683066023100e70c18d1a36dadaa499136e960397e25d4f8a5166bfe7774652f96fe0f3cee265323d2fa66703dcd658d70c3e2973326023100b28f339a183e0c39efd6ed8c5b3388ca005bac197463c112417a819a42d25444e54801716a6a7a0f39de0f72685c7cfd0302047c435bb500663064023060e0e8283ef72cc386b63e51a479d4d1da559efe3e3a26d2acbf684a38192725c0e5c3527809b1deaedebaf560315eb102304ff90c7b10e25508eba2b90e7acb6296c8f694b5d7d024d67b3cc6dad291f94e72e73314c96a4561db1feddd39b700350302047c435bb5006730650230703dd79c9f2f27d5e4b5a9ed48fd8683236357753601d9bd5d37874396abbcd3302e451dd90696d1a31346d79176161d023100d1240ed87bff2da85bebd80811cfabd370db5a25ea6663d74fc9c62b627346ac25b1d9a952b457e871cac7bc6fc0ac300302047c435bb500673065023047e8d397fa238a615c771955f64da99f3c22f92888b39ddb8b49c3b7196f71ff91f18ffbc8956e5c1769f290a5b477ce02310088bcdcb9783439c5c7762f0f7dd174fd16323f593e25b8e1ce0d521a4383d369ce8ccf03265483ebf6bee1365dd266f80302047c435bb50067306502301c606482b5e3dcac9dcb9b40d6d9f8a65f998dd814b8d24a3ba89a404326dd2ca571c9c69cc248b39f976f8f2956f604023100a589fe954bcfc9aa84712018fabbe3bcee5d6fbe70f9687d5dfe5d776f2e8e954ba40bb3a389d0760caad8dedfccc11e0302047c435bb50067306502302b63cc824ab85479a8908089193c8f67fb7f80cd2cb2189375eb454b8f269b0d00a0ee42a504e0ce556fd2b99f0962b3023100b4240feaf45dabc9506b979e57938255e6c417da6fed6189056abcefd7072b4b79d992a885b951ca44618350ca8855cc0302047c435bb500683066023100d65cd4eec1d65092a2c6ca7955a6070830de61c140a02db0a5ef9dc9bb87bd69634480e49ae2371ae3d1c76139b8c349023100ea2c578eb3725eab975dfbc3b806af0e3ee44f78103104f808a53782b686b1701bf851d72cd17e2b72a8e824f2f1487d0302047c435bb500663064023050a367f5ff8580b0c4273478f1c4f0a110946a04927473d17c5fc3a24a87681a786541da6910fb2a963a5238df4a3e6a02301ce2a1efe8d150e25f12b45b2e349b63085aed764e5382133ef1666f550a4a623a9dddac969b39fd9b2f62577ed60f9a0302047c435bb5006730650231009217c7d1c299db9afc8d6c15b568cfc11e8ae3227e6b4f79b103e434441b3f685d45cfcc1e749bcb44327462c88ffc8702305f496d1d4c90bc08e47ad00a23564b56f4c88b44cfa7eb66b2ff96bad5ff44d7c5d2ade5d87e2a0183d6306c4f03fb840302047c435bb500673065023032c99ab8eba3c8489e8af11e47de4b12ba76bc678de768c8befb15985edfad09a065b61fb6301e905bc38cd0ee66491c023100d3b2cb576a5039e519b602baaa2d4cfb7e06e518215bf5183502d4d8d2c49560efff6bdc42608b5511d8b7aaed472d110302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f2df69e9a1d683cc8cfe43e6b3f360a266d5618fafca5a0c7e982e301711c6a85e638b79789c46696af666ff80340eed023018626d7682b4ed8d915857ba379ea96f84f202fc8e849d75ea32640f970c01ebff6a740fe0c40a6e7b9ed134a37cf24a0302047c435bb5006730650230762a1e843073b66976b7ec519c04a052babb5f7d123b347e4f191f0fe3d2545ad2266412ea7d41a577fb81efaa902c1c023100d0cf309d34f3ceb12d99a099311e797547383688f405febd51a54e4c90247f55ced8a8a65c62113c2f05ee14d777e4fc0302047c435bb500683066023100d012eca2efc4b26c9eb5367a41b51cc68c768dcbe07619a27a1f3a2b33e23da8563327a349e1803fa44aa16338299c770231009ec28ba9a78548640e23ce8341bcdae519e4b933be1e9e0e2ca4c12436a0e4e8666a779573588c78036ffeacef8961c30302047c435bb5006730650230505a7961f7b4df673ab82d52fd34f943c401e9940801957c5f62b24350ccff88a7d0fea176ef9426c9cf4ba3fefa45ef023100f078742306019ff979898c7eca18848b766f2d45faddb7e4ca9012b2cbca372886d9005084eff56064eb980cc6128e5a0302047c435bb500683066023100ca558fa0495708001f874907f94ee02cdb1a16eb01da4fa973bc07c3ce72965896919d88a91d44d5929e7c0432f01271023100e99bebf9838c8b138872158d3a11ae00a8d5901e9e1e70c8a59cb1ff117a7549b48cbc11476498aa1f479af2151da87c0302047c435bb500673065023100a41bfb85977b754ed63ffd9beb00fe37b38f0bf7aa420b550ce2f42d05da8a94ccef61eb4be82b895ccd037a4a824fcb02305135217b05e3d24dd743ea509e9810a110ee53df7a8bd273f4866bc1da84e8441880ccf621631dc01c315bf469e1c7580302047c435bb5006830660231008f5e16092eb2725fb8ac9306aec99347dce9a6716a662ad99604d76e5ab951b34875c5eb1c781c50f95799dfd7960182023100ddb984ed89fcfc8b125a9a90bcbf29405653ca16414a4ad3ece582d4f78d60e82a9c2534f076cbfc233d37edba5a984f0302047c435bb500673065023016dc3e561d896aac229bdddf62da7460187159b5d9c543716378fd1167cb840115db20a9ba2d4c48cb1b54420da34b7a02310080327ee85bd2c7f37c05a90b450f8dbc32f27f42997ba043804c3e092cf24079aa802065d5d08496135923debd6c1a490302047c435bb5006630640230157c6780e224dff7a7425ffd6197ece16aaf5c7dcb6297c9506e4323759ddf48781a837d2464a943044be5b320f17e5e02301a78bc39d09f3cafa57d753bfbb7c1acfc7924d738535b46a809d36ca0e0953eb1677c38182a937b62e4ef26ab2c2ba20302047c435bb5006730650230111d080b7abafd2bfa2509407750983248cfd1bacb7598da43d41975b6752ab37c9a8d07543c24c7a2aa7b072acca881023100e182eb8cb599ad69270b3cc25496310978f31b7a94b5d2556ca8a406f5bf9d357de6c818eb74c1631077d1ed768a4cb70302047c435bb50067306502303f74d6bf435f6eb45644da8a30058370e32a0de0530f9f41b6ab214d1f12422d1d416063e492f4ae4890c188232435cd023100d02b485af8ad46dea638e61dff00cbb8c972a4d6f58748c31ba2b25485605e47936135f5074bd957c6808a1dd5b0765e0302047c435bb50066306402306a6373f0dc9fd894520477b2175821af01cb258148ac234bd004e3376bb3ee5387d2592e8c8299ea5e5c1f4a23a4225002300a29d606cdac43b50386c5955f0a457fa19f7c43112b5d7f96d5754a9852f92dcf17c5ea4921e1d03588b2279d8561bc0302047c435bb5006730650230247cae0f7876799964409a8c532e7bf09630bb04384505fc27b62ca75026e7162fc99f6cb9e70cbb5ccfdbd2ca03ff2d023100e124320d20e6b14cf3b309e20fabd73a5b312dd032dc5c726987bc144840dbf2638a91880861b570d5f8a8fe36a686770302047c435bb500673065023100f74184f00261f6ec79aada63ed427d1b6cd26a0fa7e005371efdd670750b4071ad60ba4a5bc922403fbe4a7c9cea1d58023022d21e5ce3f6c50a798255560e6b867ac9fb4da6a7108bab6ddbb15471227896f62b3cc5c6c3dc4304c74447304bce250302047c435bb500673065023100a06ead726877eea34eccebad7bc2998ee82ca0f66b8747eda5c35d61fca25c219f25cce5d9de48a57226a3e88c26d97002304ee618a0b97793d8e06bff88ff6dc4f0e5420b25ecc2107fa1ecf66f9cd5d799a8fe46eb79aed4076f178cccd9fc85a10302047c435bb50067306502300412c62814fdd0a1e9dc5db6c9a6e48ef1fca08f15bbb7baa72506a0f6bc765ce4636448f81f90d106cc2343d54d0e2f023100df78e02f5b2968a84d60ccb82dea91e8fe619db42592345ac0ece902e1cf5875160fb63d3d286d589098a7eda06dbd8f0302047c435bb5006730650230337c0b2a798cd67ccf6dc184b6a12d46d2618c8777b5773d0e07ab86bb4184acc8d0f42c613ed85fc1c1be51f9075c9a023100bb06e25235de952b7846127347d1e51359b2aeb6d0b1da37b890906480278825eeead7e29a6d0e1744fd2cfc981e83cb0302047c435bb500673065023100c66187137dcf28e84eab6a026e4317327bce93ed1d2e13542e4ec6213595b4171e736a8fc13ff0a34d8fb19dcc1b6c9e023011401341b252e3c202e2361534329ab57a5999fa66bbe86d2eda4976f80e9dcf19049c7228e675bedb252335986ea0550302047c435bb500673065023064c385da1fe4b27e2d065043502f1dfa1fd1225a3c8d61d1653aefef3c592fa99b0de9992652680df7063c9612c6d4d2023100dd2c99a67b662e5c63d3288dacd33d36d4a098f3e91901b9f375662f0141e4983f56bca6b6109d6cac607c810f77021d0302047c435bb500683066023100e7a1346a48a582baa3390010a91b74e739bc2afc0d1e7011552ec818bb025cd033b894a59ed54f8b6b13656afa4d37be023100fe56198731844a0ceba4956fd3150431b6143f6b09306b051e53345a1fc60f65733bab082e231c66c8e2d8b0431bffb10302047c435bb5006730650231009161243659be9a17feb343cd02baa03043c19a52385fd574f6a2d352dde0d1ca4a4f92bba2bc45ded76617ff26e9f3ca02301c8e0a84f990db2d981fa63926b89545a5ef9364e9b0feb49a19f70b30c468569918cd33f7061aeb50200f3b517ac3a30302047c435bb500683066023100b9619929a68cd5745a1c9254f974491a19ef22de2ed10a6f15a40daa46a796ae5f18c6e6e33bcf671fc40f9d993d35ee023100def1c715ae1040dc5f93d86786f21de574bf11e1e463a24adb86c2d18c38c938ccb772bf1b5bb54da0fce2e916b0f9e10302047c435bb500683066023100b4c322c0b1d4aac324192be3b71eea14c5c7e8a2f5b50ae9c5fb3ffeedbe4c101b97f66c46cc56c1be900557a3177211023100db2dc7d4a112524d31df01d7c305012a4a3c21a06ba6446e3529e91e4bd62bfe0c3ab090aaf0f9a963447a7e35d2459a0302047c435bb500673065023013005281c384ec85ce10d83801bf976b7c7b0139798843520a048454c4ea7a1597720690d7974f26dbad0dcb17de9fea0231008193cb11bdb64fa023580e933def5decbeb511e9e6003b5ccecc4a6881d2055ee9dc934b94a4f63b2dedb1ac4cbd76bf0302047c435bb500673065023100accb1b8aaec0cdf14cf75c978889ce98cf489d8c16265d5be356c78fbac456b1b0447106c4f966910e0eb4c8acb65e1502300de0ccbf85f166d2b56a2fe562b2b96ce3e668557b1ffa08b77f6df094cf983c46c2d23440b2f8e6bb951796d33b07b10302047c435bb500673065023022dab303493c26aef93dacf71019afd1153098a5bd2a9b2eef0c2f9b6cdadf9d97cd84ff825eac7739890a1a21892f4402310087780940651e016b332077ea9c61790e4718d767d02885a791861eee2f1c261b947202733a51bfec1debd1c064130e2b0302047c435bb500683066023100bfe61697662d09742aa21fb263aa2752a38857d000de5a562dfd2c88af5dbb5008811871e80b5325fe0af0bdf4d1ec0d023100a144332c5718afdec33ae94e32ae2c9af0db77ebabdc646a054527a1ea40750eeb30005e5605046fd0ccf3f5b9d8a2440302047c435bb500663064023069a057b0cd9bf55baf344edde13d7f17df75173d343f225d4d0e05a34514def11d326eeaf3d934efebc3f5ab5360f17e023008a22a2c64877999acc048ec78c55e464c727b800913712fa3c23192a851b5dcc040c5276a5c6671fc0ffe514bcf1c8b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230278d587780f884d2ac698e954a73898e1e35c395358d0f096f80bbe21cae21f0aa103bd2ba9eef8d6e3c252e7743bf9c02302dec12e114d3f2aacac1235f2efda0a8a5ec21a347186592a0c488a92b5e9c972f9a8409cb681f9b102367c7602a49c40302047c435bb50067306502303815eb660f0162c5960d9b686821cfa852cefd4910e3b6731b2898bdf45f710a87c2cb58689ecb1bc39392a508fb57a4023100aef72efe5b2c5718763daf45d0ef2148064b42b11b89351a158326e2a0246a326c6253659fda2abe4b9096661fda15870302047c435bb500683066023100ff2c9f3a7845fd95ad046c5b312150b233762c94fde981a8ceefbf89a6c42fcede491a613b9bffa239ea807ed1d49650023100ec1c49394e0b016252610e8734e737e982a3241e907e716ad9fc61d39ce0dd071bc05125d2aa54c76a54855b20fbc5d70302047c435bb500673065023008ff3675ab2933af723e2987b30f11f0a872213f7777e5c3fc089ff755f35cdce0bc65c4a134ae021e7caa258e46db2202310083c79d0284d87453e17088b984ae984f775f2113c67e7a144758a186ca775ba23398deb5f3bd0ed8ae658a39794a36d90302047c435bb5006730650230149f1265a4750ed7b152d6cdb0d8ad388a5d7210e8167564b43ee3ca033bcfba44c7053afc6d97b45aadb1b8590684f2023100a7e6f554bece82d6748f50dc5d05ce3a6058ae1bea2d1d3c33bf85cf74df6162062b6e560df962dc0281cfb1fd3b18610302047c435bb50067306502301ab8e4106aa6af906641e8e72dc8f07e01858acf4049a355d0efd6ea75920ff3f6d294d3a39920acb9e41223c1dd215d0231009d9905fc9e5014dd6cff4a92f82f11fe521bcac01e3a1da424966b7374e0e9eb882a1e4342f4caae15563561dd6c62ae0302047c435bb500683066023100ef173694e74e2f4faff8d5a53d3133ce044ce94d7760b56b216cdfaed3d831acdec290fc120bbce65afeafb6808096670231009e183b0b6cc4c8a98159c068fc6ccd02f5aea7a958055bc1c95cf9d9fc173f6fdfa7d30d2b09cc5b8abeff29aad101910302047c435bb50067306502306d45f35024c9370037265fc0dc7c4d3bb4c5be03c106adf7b146c8450654ced0bcd8399cdbc66a3845c20ed1a4f598f5023100d8049d03f8fe5e0dc08ce5aa39ffcb13a99491ce4b2cf02038149cfad2002fb19c1433a3fb4d971724b8111a07ce185d0302047c435bb50067306502310089b64163fd39dc874949628558bd05e83f7dca50b026b62bb8bea907c004fe6adb84bc02b073349abd6b6c8dee5b10be02301182a8b511e95d7cd36b62e3fea281b55b59ab83328d4b57bb399da5d8ef5f2d2c2be5c220f02d0284017a0cae4249170302047c435bb500683066023100da56d6c21a0f9e37836c051dda5950b35a84f3b48a9f409b136daad19d31c5732ebfbe53674a3dbfbd4ecc2e2045b4f0023100e2eb6f550473710c7426296134572ffb853681b90ba96fc2a8a49fd13b5483a062d08b8b15bb0424b3ec23d7407b5ade0302047c435bb500673065023100cc19a719ea4914294f7170ff578d3d69c61a65e87ab1ac4cc5200771de074f4d2a141c08a5063d1b0eccc40cf916b3910230633ebd7cae58da7e67058e2f7140d11349ba34fdbdfe2a63a0692bca8ec26c8f12ce42ebb7529fa9c93842f6102c59230302047c435bb500683066023100883556f95a27ab8096d2a223829a3974f95e0ea385ccdcc5e0fbe8c4dd9880be596045a8a78b16d8f97b573def477d74023100ad9d1ed424cbaec58ff09005ca9480a1b3582322a9ec6101b3db92351c363f81a76b48df1f7b6e4d0245bff5457994a80302047c435bb5006730650231009459796987020d762d90bd6c4053aac1688c04bc60b072f4ed88e0bfaf198280a9395faa1a06b280353d3b5c413e31830230298fa64112e2c03e252ceeb79d5efafd97547e37e9cda46bfbff9c62a68cea26c412ff2565916eedc74bcdddd83a619d0302047c435bb500673065023100a8fcf61bb686635e989597113870f20082892f2f7f65cd28ef1c63215dc03e8f650a3d78b6ab4fbfe5cf4487ecc5f2ce02300a20ff733cf9662ca92f87a6bcef1e49f3091d4788f68ec32b674698db1f8026c8b7aaeb016f2bb2e3307b47331096130302047c435bb50066306402300f6776c504ae5d45699b22c419445c482548d44f4565390dba2b6a45a13be0b6748126e1c06627486aedb899548d292702303d5ae798772771734108278bb58436c843f2c534fe90d6cca69936b803cff3fccab8b976d59a9384a0c93f90340da1f10302047c435bb5006830660231009d5aea327b9ba7be6c99a4987a96053a3a78ae622b4a129e50ff4cbde7e2c62aa86f1ac43b8ae6f568b21a4f892fac06023100a5d39fae5b91bb1cbcbb0befd5f986ac65d14cd1a87b73eda27cd2e56d39c97dfa49b79601ca567661cc7da36f3988420302047c435bb50067306502301949300d0ff819dbc0d58c0c763c3c37fddba59c5676f99b89b2eee1ff3053bfa49bae6cf1c1e9537239b9506698a95c023100c1c933b7d7bfe0a40978b338b6453ac8f34f81911da483d1e904606caba9817e09188e215cfee6a82b9f5e00bb6f3f410302047c435bb50067306502307272decb7f34a702c813820d319944435d1082207ddff4593395da0297986cf69a986b2f09c0ee53e82ec9c2d52c73dd023100e9ee1bf79aa1de58128313fe186be328e881d12a8e54dc09793f70198493f3edfdd5f328023ea3ce25ec856c1f3597cd0302047c435bb5006730650230343f2ca8be0f2b42af0be360a777d600d1dcdb82568b508cd1ceb9364ed781b778bfa218132097ee2ad9e2981825faca023100b052cd32b251d01fa3ba2f05219679cca0fad57a572b791afb84a58890c3fc489e60f34c13b90ebe1255c0c30bc57c810302047c435bb500673065023070842f0c4a66d2c5eb49cfda0bcd7d5c98a150a580b6685d5f6384cd9f7d4f4da6a3c39ebb762a36533b861b5565274c023100d910ed2916a9ed4d7e01c7840db8f7bc013debdfd3939ea6bc073b66046d87084ae6a05e6eecb11459f0bf42ec60a8fa0302047c435bb500663064023059f141f28449e66293becd323e9d45992490941bfcfe535d0be9ea8c3b26956c7fdc18dd932364b30e5d5523b53ef530023065e35fd41f8634d9620be46b7eb88695b4300383dce80cd1ccb6287885de14bc9558ba5f78781287d4fd7b4472584c8d0302047c435bb500673065023042fdc97624c54f9c60a03fe50fcd41f9e992c7658a7bcafc5f887407f0311ceb24b03aed02cc8ecef74d593c43480c12023100ee2978c3390af17df0e2f6202ca121d85afc9e591a4c20147af0f7d3affc12f5fc8d9b329992ed74bbb9112735ab04540302047c435bb5006630640230261a143834bc3491e48bee5ad975c7032a0c7500d8110ee52284df802629dae5cafffd29194aae5bd624985f970b9e7a023055c1aec6f318ea2edba3bf3a42b726085f23a0383f49ef87dac4de1002ec6ba53f72e0a8e74b9f5ca7147d10f77a79d60302047c435bb5006730650231008748441699255bd16cb2aff57729542135cee68b6d07d30c8e8a3f578f6dcca198be67e3cec19246ee738303b4004a1d02306992f0256bd67d08057f7d1a7b5573437694e9be2d9ce9103ce8109c1555e9cb3bd578d796a3a0b1a8c8ebfdcb4640d60302047c435bb500683066023100887a7cb6dc5a66ab72380f20496285ffb3d1e40f3b45ed20d0e6c3da30509557e654a2f74f3d3556db016f7d6a696e4f023100ec3019aef17110fcdafb12e9c63ef05b6e78d812c7d750a297d1d186f7c1f870c89479a70561ef8df25d556447d25eaf0302047c435bb500663064023060384815ece74ed96d424534af42837a019fb6b2abcc929103e0a7998d498b91f36fed3fa4d67065b2ef5735e408431902302531735fba1f3a915278fcee80028f82ca57aeb29bf784ce455df7e96c7c4422d46a8ed6c73f84325e305cacce79122b0302047c435bb500673065023006d4a8a46743180f5fec89a203fcc894fddb1797827874c584208e727547923f479a7873e9ee29e532a02751abbab80e023100f9b2bc5853bc053de3114889ace1060d73d46e8d15eaf93fd03e2806c08fc603fac91782cdd4c04c3571a05162c2e21b0302047c435bb500673065023100c5a4284f6250a0eea487aa86a0e832dbf44066eb56d391f4c3ffd26ae502141943d4514085b0cd448013f4ea5be75f260230661fae5f971e25521d120df875258c27a0e20f7b7ba89845397a3bd97fd78c626807ee8ffec2b42e8ee25ca7e21c99be0302047c435bb500683066023100fa23acc26c9628e0ba7bed456317147c533ec9905698a3625c5cfbbf4e535990c19c32143ac5bcdae6fc0c9555e8f1e6023100ce6a3643caa6ff0033db6d5a085cf6c8e5c05e199cef6cecfc2e31b2733c2a2bfd9e338f99310a9fa8b521909af5080e0302047c435bb50067306502306c60dd39a998a328a7f812522ddb6281e4fd1400228200ca93334eeabcf53b4f6c0a1c222996bb57139144e419c70d90023100f7853517f0ac723b732b2045a890b044dc5704507f9614b2baa5768aec88e78ab61088fb64c8b3ad6ee90c8244879f510302047c435bb5006730650230739d56b75ace1711723964452d0ac1140297c4216d6bf6f9642cf1231306bd072afb9f3b184a404478a26c1913536447023100d3d01af39a33eef146a97a6ed223de01f2e3cbbd944344a181f86d1cf69643f65354b4c73ed47602ea24b78f1c6bb0ee0302047c435bb500663064023018155d4f0ad9df24a9a60ef3fcca3d28fcfedc43404fdd9e0b029b2ed5e57ab0298bfc17415c20e6e78d742b511ae9d30230462f0c4a5a0b4f580b20286d64ed70a4af446aee00c3f4866e1a716418ad5e7b1f7a0473a94756dc80f5fcdd2ac281540302047c435bb500663064023078783c3d7b00ee84340f8f5b1f846cb08cf5e86226193206c848aacf2901cc81dda72d9967c74c41015075e12f88fb3d02301c74b37b1dacf049ca710dcf68db63a63b41a7a06ee01376391ae04ef2f028017b2c193cbb9af3019dd2919c3c4643700302047c435bb50067306502305b1144ab1606edc409cceb994fbe4bf473cb524b56d03edcc2f5c1d38638dd62f873e68410469f88d8d02d8d3f82d2b6023100dcabebd98a847f3ac5d86678dc606ee26e3d138c72002d310624ea99e39e4486b1a65b1af02c2f74f0cb6006a142c2dc0302047c435bb5006730650231009cf25ad4dea6bc19d1d7c7135d2047f8cb18db07c8a3ac790a9b18f5f7a59c458eb909d7dc6b1b01d505d5803a6e461e02304bd6e310853871662a7099da36f1758a1a25e9b4c7fafb5e75bcbc9569a70c70f120af266fee0e9208e1c44199d791390302047c435bb5006730650230692a6c5e6b25ed70e430d986977f5d7ed59f4374522b712abc87b667f78becaa2abc8db05098ac56981079bbc0930f1402310094be44009c73c670a8d1ec9006a0973b1407b3d043be59883ade5b012bac188f6eba4e5e3b0edc58e708b30aa5c1977e0302047c435bb500673065023054f034628f9a06fa348d3e9109ae432e405a793946a9520c6bb0c267857c4fcb0198c134a46a62f35a6a9da66b0883fd023100ebb3c984e8c8608ec41dcc57968e906fb60247484c696003713483b0551a06d79437af3de396aeb1c981575f6bf585630302047c435bb50067306502310096fa0e2b92276dbc58ddbb10c471068cf28c58454e58ca16857d4212988384f73635f89fef8def28a0ca8fc570d28ff30230188aaa3fd1743df8277f15040b5cc8896a2a9b3214dfc91a147e299da624ee23739072346cfc531deebae2645636b7960302047c435bb500683066023100dd3201a954f2b363d5e45bbbd973cc303e30812c5aaf5478f18883cc6d162a12f4a21c4dfa94d13243b560264f51da5e023100d7a88738b00b5b3694702984d218f081b622b7aabe7466470235dc8b8da6b5096913e44b4f515db0d0923acf6aa49e800302047c435bb50067306502305a8ba2df38f1badcd23b2704b372922f0440f10d309398f2f9f3f247942210b95fe9c180439c9c8eaf31de4aa2ceeb7f023100ec66460cffb43aaa0caaa22407b80c57e3d266aa3edfcf720df9ba3ccdc417e2b58c5250246ab776c4dd222b855093e30302047c435bb50066306402302357a3dc416a4b63ac9065b500a5596a79576d45a30fff0aed2f94fc988145a46064066a1eb32a4e87cd685938b35a0102303788dbd52eb47d4b318e49284fbfc4620c817a8364057dda40da83f6a0a5e74628005ce7bf44036a25945c65db4648a00302047c435bb500663064023033a7337bf9ace69a45dfa3391c7b1a4594f1bf9109302755dcf786b75731968db794b07b570d3d56332f7419913b5920023046540f66c5849fa9f45a302cd65c18d6733902e1f0e00836eb4e0b7c4e774fb7069a91dd294ac33973a4709689f1ded20302047c435bb500663064023062b99b10f5d4e530088347de9947935b81bf5c4f7c290a12f29211723a6559b40e1b586e49453b8e4e25a1be8f7a5ab202304f2fb6f9166fe1ff02b74163cdb8b9c85d72d332099e78d7add7aae4b31585d970364c719202f82c82cf0172045bc21e0302047c435bb500683066023100a660edc6334d44da15726effb74bc00cc4bc0c72bbfc5903598ca3a4e94d6244ce5aea97f83d5db06019ec99d9efed2b023100ac51c6a6b85f989498c9cb3162cad706b154cbe7796ecb56f5111d90fa64a3cb56147bb37bbd37eaca2491789d2cd1910302047c435bb500673065023054e0a04779e81ea2da31bac06fd3e84a7452e0804131b7fa263b6aad051ab2212d446d676a914168b7467d557afc28e9023100f56a6ae4252fbdc54af30c34271d1d8633af0837cef64c5414b90bd40e25b30ff84ca68632970190882be717a30fb6a70302047c435bb500673065023100a399f1050c3fd0b5cfb634f1f7270127fb91e0d7514735dd843c6983a8780eba4a6f3ed240a4c910ab190826a24ca0ac023024401cec551410f9b697e8444bc9c30e9b5840920988499ac6e028f0b4c053696781b40d8107058c3812a85926b5552f0302047c435bb500673065023014e5fc3a791aa936a272093c179ad3bdf3ffd19b8e9433bce8aeaad42e3649e0a63bfdb8ddc368aac7a4d2e1155a89be023100e4053312b2b39e16089501a3e0244245f55e5e70c2e948d755301667abd77f29ba8de7c5193e7de3dd2f595c855ebe5c0302047c435bb500673065023100be10b382b6ba4378df0170126f071cc33daf6d6bcba39dd0d688b4bf59963a9709073249f8d0fd1a0e9421cb2e48ceea023062f6b0cc41e3c2e9f9e6aaa632e2955357fa544e6f9681d1b8bb90b3e7591584ff2545ef0ec3ceac6bb1b5a40a4125e40302047c435bb500673065023100a896f1e427aa7481578b2f2463e755899cdc276c7990083f0b94bb5c7be166dfcab9764eb6dc997c2d67560119d5d8c20230792a205d29c54b35fbdc30de1f4ba27aa23e8c5ce9e700cb1d66b131e5c913cf921ff308bda35561860bbeb6e7a0e9370302047c435bb50067306502306c7fa61ca088d7ef8072530d75f59a8e9971964e2d761fa12bdf00f8c01bc0f25a3ad0e2b2becb875dc37a2fd26dc9df023100b086126483cc1cc1328334af3888dc958ed1a84cc043f3707124111bd64d7cca8621dd21039ca92158437182508d14a50302047c435bb500673065023100eb5f48c9dc79a37bc91c0ea153ce2c6fa6c8ad781d4d71322959ed8b57b0adce157d7ea2f8ef7013c0b167436b5d064502306e6b805cded3226f3520ae5c68b0c8f322e04aa69c08b4352375e87e3fb0fdd73112416c495407c9a6363138579209360302047c435bb500683066023100c8493b48774669ceb61353470c408d8e9541a14d89ee48cef2f219221dbff61b1554cd9069f802bb409b60bd84a435f6023100efdf1a62399cc952e88124e2ee6a9d243e1b2a758d13460f259c6aeb8508d788cd93bf22759f7c111a455bf1e70e50220302047c435bb5006630640230062bfd278cdaf59557b389051ec2d226f6c1b719017cb72dd0d7042e8ab7ab4789f2489172b3873aecf3fa864726707702300177b81c2dabf0c433330ec63366e35eeed9482dc6983ced34d9ae9cadb095e51e103bbd85326771145353d8457e657d0302047c435bb50066306402300a69fe435cf00b4a4ed7a4d1f98fbf6a800ed9811e0d220b6a30061c4a4bac809d537103e3e8587d851864f21bb397b902304858143f5db14d9dd4fa75a3583ab8398274e2167267209931ead76d487636ad52f626394d3e581b9f0cc8bd96c01ec40302047c435bb500673065023059a9084bcdf9747d3f5642a104064fee36436f6bf16912613e8a234d70408c7c5cf032fc8114b01c67792a7c85d02f340231009aca134a924762e0af54f435c3005a153a42b32916b7f76323cde58707c24f377b798ce9e54d22119fd87b44e04ce65a0302047c435bb50067306502301b6c157d33b9f5125b07d6316452fc53554e5693d953d458ea9d0c6166fa73aa8215a76165c78c2bddc192187632ce300231008ce3e7008effea2bb28376754e40f4d165e0c774a684fb8cfb86c411a81d71da0dcf559e558e7f4e4c3b162ff0acda620302047c435bb50066306402303fc246454c4bf6063acc1bf808985898d1b2a1c1988fca2da3b39232bdf7468ef9be3dc441056852e31dc5d78b5f1dc202301deadc68364cb6c9d7b2eb5f168293ac2edf7e44def05a6a02f40642d39afbb91f02c3cbf72616a403aa079f94bc59780302047c435bb50067306502300af2bc03421b5be356d9c1b6839869deb3a8323d86a4594a6a0a2180440816922c52fef53acc96991b82256277c32e81023100a95a66cce1ddc0c51e9c7adbaee181215f006e693d90c5dd2b47f201126f44d007bdf82faf7a776e1b4940bbd37533900302047c435bb500663064023030fa65874ecbbbbe5bd565327f546be6194bc407de50df0c84e2f29df919f553bbfc8cc5fce884a4b0ffe037970681eb0230425b1678936488db3466da99b86f5f67f11aea04f6e8c59b40ef1a1ec06afdffa7e26e24e8bb5ba7f3fa1443f6b026810302047c435bb50067306502307abfc577d89f9b80bbe0e9f3f9fb4dbb04a037d83d6c4e3b574475c8a2911de7f2b135dd38aa3cd51f955b279f06fb86023100900c3d89ecfb802de92f259c3b4b964c3b5058f1542e892b834da2b637eb3288402f54b3a0423e3df3ae266c67cb1af40302047c435bb500673065023100f7c89e9d91b6f715ccc53aeb4ac987b4dd89e96cc8c5e3821ad3c4099747a7fd2d979ea8c242aadcabc15b23d917589e023056312d2d7abe4d4889687439c32b05db452eb25cf04f987c7094f89d800e9b25e6ee79a9ce037a8b82bc64afe04cf2540302047c435bb500673065023100f56e487cb0c26ac9be66dfc2f5f5e6c4e23061cfd13c5c64d8782d268b731588c0a35344cb9bc803761da45ae72625080230526d91520e407924972ce0487e44e1655d34f8d0c11a24ea5113e2ac9bfee7633c95ea2956648bedc6ddd868752a8d400302047c435bb5006830660231008b52ff1017a5dadec05aeb1591288d262fcc39d477b3a786dafcea4288c3c92e4d218240f73f980b42757cb62297eb00023100c1595e2c361bd67be5e8a965a2202db86e2ee4ed4b6f40e58bb58a72c818c4ab33463b97a93c295e13570cbb370ca2e30302047c435bb500673065023100fe7bfa08ac6817b988789f2c254825ca5bd33dd81d49a84179b9cd79b635158b9c38a569d2a030479d25f2282b289bab023048d673153705c7583f3ac56f9b04f4d46886c92826d385869778663d174d83609e2d58cb9bd3bc63f4481cfe4253b01a0302047c435bb500683066023100ca912620835af6b4a0db39f27dcd2e7123d5e427089d4b09c9d743f3140ee02a7c81c2b29385788284d23cb8248ec03702310099324021cad1c46e8ddfff0693df4c070d14d58a28513ca48ecd8d2adcf8720cc2107f639670f6ed0b65bd1e873edc8a0302047c435bb500683066023100b3f13e71bce54fb28d48f979be5fc52610fb11753045d5fde606d4f47b857d5d306e187032866751fe159e369fbd9269023100afc2bb4c810e2a03fd6d1578962216ea13df8f0a4286a46e39ceaa91a523e0e40ebdd9cd1a491e2b85d05fe591e79a520302047c435bb500673065023100c8d825b520ba6cb5c01ad88b6284f5baed75b72030f335db8be6641df93ea94a5f60be05575af3b0031e86d894a655c102300a78a00ee43a2fea23c304b73acde7cd00e37938461ea9704840b276387b964906a63b2a6fb6645d59a2165b9962f7f40302047c435bb50067306502305e115e3fb4f32f65e7c02343082394fc882b6d74319f4534541c223e1c164a849b4482f22a72366d848e76a2277a66b9023100c78ef67228e86be16550d412f8b66c11aac5b2c4f857e8956794c20fea9e1f52054e499cf1ba4f9f7492819d277391200302047c435bb50067306502310099abc1545486859cd4748e0c5b2623a7d85da903cc79cd6ff717dc9676ebb806b45118792dbefbbf6731fe93e296f04e023033026ab455b018885b2fa2af8e83d981564cd3f982e078e003adc024cb0c6fb209328f81756d1f911b45ff53ac44858b0302047c435bb5006730650230274f700a3dfb3d1c5c28a09187d9e1b9a12d6e49e247db8bd818dc29accfeafdf6b11da12e072050706aaa4cd0ec7009023100f3e3fdb9baaed76361a851cf09e5ddd6f9290eeed4c6efbfecf8e02cfad65172ea646b78492a02412a6185b125895f720302047c435bb500683066023100c220f0e78635a7b161c8113cb838322bcd1ff4be7c832c14bc0c98d17c0ef7441a9bb4a718fc8fa722a1a4ac3caee0e3023100b3f266b854a664e4b14d5f611c88166d96632222fc0b543dfddfede6dc60799324844973b6d7727ec0d05caecaf925800302047c435bb5006630640230726c6aede6979c29f8a7ead0d9eb7c30080398dcb1bd49d26e23ee6c1ac18f26cb91e514c7024f80d771aee9bc4d9175023008fd269b9f8369f4880c8c919ab5cd346f9825cd344ce3094ca678358b5268e5e2aa0bfcb7b9d426ccc2de9e4a1536bc0302047c435bb50068306602310086bef30108a1a4856dc3dcd1c354e1b9cc45583f897b8918f712e33539538ef2e805c2aed390e2f8dd0017ab4e62cdde02310099f20a11155f6190576950d3ba74c0c27e0ded231950624f23b4c1c404730e1150e98fe6a03417816969eed4b89dbddb0302047c435bb50067306502304c35b5fe29fd3bbffb04339091644d44291e6482b7c011311f5dae23fc3add3728491356dda31559de02fee4229dee16023100ac7ee32cb3e69c4525c05a805797874f708890e3b306ec16eef7673ba2bf7f8eb8825f36c5402e5e3df4f13cb4e764a80302047c435bb500673065023027627ffb0e671a357d1bc7fc1ae556b3b38db6b7facdc56f6410e11ce5c1b74a8017289726af1b62e4c8f55e5d6eca83023100e72e18c6565d986eb3c98f0b0b0105d8b0f8091a77111ebbc35b2c210494dde24aa29aff2ea313ec90f1aec40a4385480302047c435bb50066306402301d20602355588c03bec843afeaf6bb05e6190eef5149f5a72d1247f54c63e8844b816a4f18bfd62623bf70c5a811e827023066ffb5f50b64ec6d4e2ecb020a5975e0cfb0e7006f12e819970f1eb5747e7db4212fcf63837a1581ae3e9ec62dd33de60302047c435bb5006830660231008604da7a6790204b89dad4433db7d930920f81ba6b4c9f1dc605c78a9619b45768254fb9a947eca8cda1796e0cc5b6fc023100e8a7f6e8d440ec0110aa149e1b95ea2bf58bdc432b4cff3538a848d68d073b9ccd30a20c9b4c805f04bb7ecf3fa5b8d80302047c435bb500673065023100f43e8226f491dd9947d47e747ed19ab41e04895077fec976081f7d77db63946d987fa5431c461b24376598ffa9b7937c02304fc7d7e618ff77045e996a78d779f83c6cdeb6955c324ec334b19bf56442de45f6f62d7f07d3bf6758fd204ce6e9bdf80302047c435bb500683066023100e3e4fe4e7712f8ba6f3dfd7d05ac04938a91e41fca3424453863c813de417485b381bc7c5d8192d47d2084bacb18aa48023100acf8a0b054b01add65a484d85f6f5fa82ff3c5f1323045e90ae89d51316aee9bf739700583732414a5503a00e30d33680302047c435bb500683066023100e517a4022a38480a39eca85934c04dd704eca3682a28af1417ab1cb6a7cea0bdf001225053a12e173731af01190cd69e0231008921bc62188b087a87acc26bde1719dd13edd4210709592685a40eb957809732d0463c7459f02a705ece7ecd24412b5c0302047c435bb500673065023100ca653d4d293dc2c0512e6d0f3b70bc6142ddfdc1e01b21f12901ab314d1cc422f9a8b36ec6b1d242c9c6a4a1aa100fcb0230578286c58c3dc4a3e59f7eabdf464b6dd8f6f29412d009c1cabbb4671b5ba05b98077a31e6b9e93bdc2295c434eeb1160302047c435bb50066306402306e9a62f22d7a698aaec9b17a98ee0699073b300569972963c4ccd46ec09c98726996047686938d2a0a12e5206fceb5a1023005186aab4470e60d94f524bce9c00269829b82ca2d4738527fbc4b2cfb16fc747c96c0319048cf9b12d184b41b1c42310302047c435bb500673065023100b203a05ed1e8ce694f6c769699329c7d5e9c837b1f9b2d1fd973571542283cb0142185c0714b5b6c6bfea4bcba5d0e13023077d0f9b28c8ac97edf1bd3981ed1c1decab6bf9c950dc3006adb9fa9eee0f5078172efb98870ba9ec4383f281b87b95f0302047c435bb50066306402300c8b511fc94adf931149a06b7e28125a1b89eb3313774bb4bab384f3977ebf4a71600795cf5f6fae066c5c882edbdcf202300ed9cdfd560ec4510365ec35af7c73f745eba2345d1aa7714160f649f272212e18c3191c0b35d38f355ea8a6748df4820302047c435bb5006630640230561dc78f41f5c22ea2e37495c28c5d79e511de67d7033ce2770f8489b8232b52f144484072f2d28ad92cd45a67456bb202303dbf3d07f7e8597f4d7e9efda231fa8e86a718114cfd5ec07e6642a0be0fbf6179f45f15c27ceb13699acdead1782e6c0302047c435bb50066306402301826b40fe8d9d86f6c759b9b01f8e4a47b2d2a5019fe2aa3fe2fb4f8219e11c21fcab0a9f98e5c4e2b2f9c280afed50a02301eeaf80acf14a6f2e0e2823e85516b5972aa7681593989e47648aab4bd7c2d68fe558c678f699f7d7a135aeeb210cf320302047c435bb50066306402307acfd8e1d4a4d9aa8512793734e8b60b0f40c01da8595d0a3c864a8fe269c4603d5620437a15e4fc103b8219d9e628e902306c393eb4927f5b67778f4078d76504fdcf77f45a96b35fd4b64bc71a75856394ff6cb609b7a78f87cffd348d33ec40000302047c435bb50067306502306ee7f431ded9f82456304616edf9eed5c4c15943686b8a683b614cfb0a3ba883a7d0c8ae767f5b6c11f642d98cb45ca1023100be7f617a3c41cca6058a21c44e517f75de4acac2f19fdf542aad0e0bd1f0adfb526ce3ffdd9218aeb62e67132f8a7d770302047c435bb500683066023100a2dafaa354b18e8831b644e6d0a371bd8d933e410399e98ca6673fb2a7f8c6cf76c575558ffe20e613645013ef1821cc023100e0f21e6d189e27be07896562009e331917e6c90d52d8cd59e310f0fa29d574bcbe4b671722d9eb576ead0e1810da70c40302047c435bb500683066023100b4834d4928bdbe8135d33ee0d7d8dbabf2da3a516a83ffd94b6c20cb651cfd1e05cd7caab659d21981d04dc51bb47779023100c5eb11be97735784b17c0b5a8f1c2bcbd90671c9f2a5d6f46c1ac514c0fb9e55589adb493b5605981e7b1ed4a856d04c0302047c435bb5006730650230798c7af8376946ff7c6e5b71d5996ecb667ada0265a3faf66e7fb4a1dfbcfbfa524dc6c4b67fbf6d0114a9df8de9ca43023100c351cd5a0162a72208a196d67b8743d9548ec293440e92386f1b8fbf8958a35cc746dccd0ce50c4ee82d82140c9519520302047c435bb500683066023100ea59e2cf60a2af1388dedda2099e75df523ca18945af2aaeeaf7d85f4dce43a7f6415a5caf72d654a0b99ffe783043a30231008e207f2db8aa1a36a95fad69d880e2abc6b3d054624e4402110449674bd64fe2ac9e9415ce24234f5a8d5eef15a149bb0302047c435bb500673065023100820473232b30037e455daade49a4a8bf7a0f92f1d0b0b6f179684caf387242374bc4b6941a19a7600c4b2e4d190c37ef023008b9088ffb96d90c4331c614c3f4aff0e23f1e242f1ba4d978beaad3f211adbb110c4e47a2ef230fcdb8ae9361fe7b710302047c435bb50067306502302fe0242ad182000ca3bab1c57fe4c1dc7a307b36d7e4ed9e20a9217d829a408c3c5a0b3d908bd90ccd3be55dfca992a1023100be9bf4b6619550def4770ac5099239b36d2aaa24fbe2c8efd0a79d10faaff8a8b0d2628795a56192404fdbd62d72d1f50302047c435bb50067306502300a0903444c9a730a893d174b3557858e48eeaf150ac0ea97adb7f6d7b9f521bf839765dceff5bd8132e2e59ac641ed2d02310095d2d3e73b27ab12382aa5474f8a62b6f87cdc55ea156b460bf99d66073b58bb1e92a07538f40d5958f0ab1999bdc8670302047c435bb50066306402300a413a6a93d34f16639a9ebad9e82135ec8f42a982ec095c4e17404288aa8c9b1698b1bb1c3aa621f7c3e914721cdf1f023023d50b9749f0e15bf63f246e0a345ce0062790728ec8fb0da1c273aec3b89b2eee07956c729ba2495c60dd1e1888b8210302047c435bb50066306402304fd71daadbb72bb26741d8c94c3b92c7978090c8b6eaf1899fc6b31b6c2d55b95929d30f0f6ccb5a5a413b598ad3968c02307dd559076a08be17f09f8d2bc713dc70026d948fda5fcf59a16f0bf97ec47f89aab9add7a8704c8ae2516cbd2cec60180302047c435bb500673065023042dee22503b2c5312ff3f4c864c742bee862ea6a96f1b2d40f80f9aa8f6c7ac34dd9715725c74cfd00e25a280241e2ee023100d742de97ca40767102620b8e6dd0455069ae82341d6db9983bfd68c9e74bef9534e3ea0c0c5f5b6595383f1818cc70180302047c435bb50067306502306b91c28615dd011b5c6b4e6bfd8c4c4c950d78c559a07764092196b3e5b5ab25f81bd6cce1585e362780f99bf53e2750023100ae6eb7d30499e4111f4e830ede01b52e4de92fcb7b85d075261fecf2cd5e6b907db9d42c43bce889f5756c0484806cc30302047c435bb50067306502310080072807e50a14770ee82426ab8dfd86ee933ec0673fb158eec38da0b75600df904a809f0e58b3ebb889f9151e1b4a3e02304ed3deb0e322bb82d2a30d5e55dbed0d0d4222dbcf2777af78242e73bccc267cb8df80588a55b42068fe76bb6d1e65370302047c435bb500683066023100f96c23e9da3b90e6070606003ea072df22f94b30ffb08a4879122bada35381744b3e2d3290725402a8d63c4de5adfa01023100f012175fa82a0eb2116a5e576ccb576d18c3746198d3dba664b7e2f3f38178b09d2d569a1ffd832cf8b019c58e02109a0302047c435bb500663064023049e2d160ea1af609df29190f9fe6ae7dbecb68fe0b4ffa55edce7cf3320cf0d4be6d70faf39d10035b425bb727b5e0c702304cad7839af9a3136a52f7797d9e66d005323b8f16d45d6ed35998048ef8c348716268dbd285ed9146e985699f09029d80302047c435bb50067306502305642092e01570d60937bc9109667905a258ada3b12c1510f54eee2035c9cd5b78ee7d98698fb9fca32800e928b4f678d023100ceff00077b7329092160f9a3ae503764f60a6687bbbb9efb950ee617fb87e1146df5169042f31274d51a46bdaba330dc0302047c435bb50067306502307056480cb9eab6888701e3b845efac4df3a2fae5b2e319bcc0ad3acbe7b9f3f33a9083496421e4c6a39b6c5431a2926f023100a228f988a3cccdaea2433d28a3769a95d7b915246a2524637e86de3d0bf4bbb5cccf6345d1179ecc98d26f88a05467bf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300b4fdf202b2ea357fdb8e7f52f25a7a01d81058b99139c5fd8fb8a8910fe630df5a3317eff2ffd0bbb286994f3a82e390230363e3bab5595cae0e95bd1d48f895d6d6bc0de91d82073c38d28ee709ce182c98be62b5e2cb0f4773b35323c8d957f880302047c435bb50068306602310083b5588327a5996e99b21f2e50595ae1f64a448381cab22b8b9dadde59aac69118076f38e401038f8645ff2157402e6a023100e683b39b1ec77c3efb915f669d3845632c0356e9827346e49bc8ae78a2d37fa35dbbd9b4fa195823384eb15ba6e52fb80302047c435bb500663064023019bda529a7f8a242eadfa560cfa6be14fe3d4f2315f95f800d18f2e559ff7734f92a938a785537bc8125655bca455470023043e5083f538cd038332dea93b49dc2b3a1fcb487fdcec0a8f8df2a787f95c9bc8feb3038e2d7422afee309c63f412f650302047c435bb500663064023049500964e2cdb646274ce820706b5a01e7ad96a22e55d1a2602333d7eb4d225adcb8e27080455aced83dca9ace97a5490230457927a452f96ec4ede5a81aea4202b90d5fde282968177361c30b5e57c96bf972213f9eff2f9341ad06106dbadf5eec0302047c435bb500683066023100e856a2d90e4cf267a7b8c71e22b2cc91114bbdeade7eef02d5dd78dadc350b242a2168a9a1480df1ac99d0eb95e6276002310096da61d1d9c5cc68ef8b138589cae51e7f96b2095f61420f808f9084bab30dba8146453e3104445f5f034e108399db0f0302047c435bb5006730650230319df1b6bc89e0c0ceed454a1e51a7a828b0c7a23d6430d3ef0551b3aaf2da69cb074176b8e055fdb06fe24add226f960231009adc309980c9e49d69bbe66d9e9dded81923e2ef0909b8a4b9d6e49bc6940f60f813cb8a9225b43d51ff9892e547ca020302047c435bb500683066023100d6debed2f19ae716ba453a759ca61c95bf97da842607d452f97b4d0a210318cdbf3c2fb87ed7a3e114501e45204cf29c023100a601e7327dbce0d3d31219d1bf4c9b8f4f9fa5f647e3db2cf04f024426afd4bd916da0772031e65d2a885abaf50ce2370302047c435bb500673065023100930b76b2020932c2188c0fe3aa414f64f73aded3e1853d18e454d629cc1c019bea093076547daedf27cc91c9bd8386de023016fc14b59e8ed065745155c00e3a20ef4201d45cc9bbf8f9f6db36539acf09b2eb06534510be82c97a39cb5ee7e193310302047c435bb5006830660231009833180f675b161c13e8ab6f5b3c0b864f864d9a0acfd5f01a0a615177d16d739a46315acebc39e5689f9b0e967d9522023100aea8a974d9c36c34cd7dec2d9e8a0179517d7ba38a6a5a106610b5fc3e3f1ecb5e60d5f50cb631d2bc85dff3fc0170c80302047c435bb500673065023058096fcd64cf64e5a63906c25d24a231c2012f006f71e36e087a80f9a162d5b56d7a7fcc52c925b278287103afbfa540023100f5658872b5779a5853400049ae74891486881326a443b779194d622095e621065321f95fcfd75c0199809581cec8fd180302047c435bb50066306402301beabbc5914618b293210725d0087c8fff44887645dfdd915b91f531adf91b96723738034edaca01c178ac532dcd7e2d0230255e673eca761a5cf62282b2ba7e7cb5ce6ad6396d2ca92b26585b77bbebb34b3204fa5a7eadae6839989c61afaa169d0302047c435bb500673065023100d5fc57d01ef717d213661ae60fe3c250e7897527cd217f6ec8761c1007d1894678d36ed60a027e650505652555441ab00230515a044fcc2a52ec1c3400f75e64b738afa393d928ad3d3576c10edb6aafa09a5d8b30a4019b1abf5caf303adb55e24f0302047c435bb50067306502302f5b98170139fa59f57c2605adb0f806d629fadf299be443c7db3b0230c549e7d292bd4a71c205014f36681c1785b6de023100e06743d9f9539c62ce87f4f114d35c62e394bdd620b17f4812840d19ea78574704b0ff2c7d9ba95b58e22a080dad0f960302047c435bb50067306502307fb8c18eae75123522f6be0eaa23f7820c89f06a65a10b9bf526e27ac13119facbb3d9c43ae3e0609d0673ccae02f0540231008722a3ddeb426c75980a2a00a76c01595b5fd243bb270968321c57d2eac949b22b3117bcdac9d5352db075d6e6863ddb0302047c435bb5006730650230163383ff42e024b11b4316eefaa8651e65b6dd2c199c19672f4a831c5439f267f2b15edb6979d1a2290d36d235b5cbb4023100c9017d1671476fcb56f788557062fe3b032a6b4c4298dc2cae7920019434eeb1ea2dac4332301310d3532b37d9df15090302047c435bb50067306502304a98b99c0a596bfcf80ea4ff5b1c9f8a46babbdba69a8833d37e809c82a7bb695a2e56011bc4fdf7f12593d3fb6aaaa0023100fedcb35132cb43663c0199624357b8150eb8992299e7930cfb893bcaf8810d63908c1f900a42c850f231961f81ec225b0302047c435bb5006630640230311f5cc9dbb346a43c957fd78b5e0c2aced24f4098ecedab7c61f799445b6d488f6e7fb9294a782a9e8ef0d9bb7107c802303387f9b5d52bb3b2f7fef585c3017be6781dcf3d8c2fc68d22df6a2728017cdf5830a54ba07ab81d7013637202c11c6e0302047c435bb50067306502310083a7a0404f97b9fbff5628bd6f208ada6e5b7cf0ca04b9dfcd6c18a8b3ca1362af3a8b661f34481b76c65f1452c5cccb023061b2d2afdf0b74e5c786c10f17f1124f92f1db96ca9e90605827848895618d7a85b14bcef1c066abec32ee8f587796b10302047c435bb5006630640230361f0b0dc04f372eb1fbb9c6a51c0bdcbab35e0485aa191a4ec53cc5f907ac0be013e120cd89ba77eba4b5c536b042d802304cd98c1038cbd3c175537d0fe6b5d05c2a8f6189adb4215fce3d9533459e2a620c2188af1fe65c592018fe598ee347090302047c435bb500673065023057bb5639a58f7cc1f7e0a035d53e9d2f28c0b6acdfc8b066ab3c9ec759698b466455b9c3d4c1f768fe92e0e87d0b7f8f0231008c64d980c78a17939657be0a1de3b41543dacebd899438f65a0b11ad9c7ec78d37b57a5e1b6ec11ca46d814500ad7c940302047c435bb50067306502305efe89450a81b92f5b829d24e219af2666f65877f21eab796dada0d2f4b29f56b6327d58fc7aaac67e4a68036d58a3b702310095ec870b73274a434fe62221255271be2f4c2dca87aeeaf4f9f1e3006906b84c94e546d686cfcb17f25c27b8c9cf24aa0302047c435bb500673065023047ed475b4e0b429d462089bf32285c12813f7a7875a6cddafffe57c9221a19632dd1b8ab469495078cda1d00d0c77535023100cea31d6568d0e97cb5e12d872f9a4098b76d202d0f81406d78deb793ce72f6d312b20a21d57152b6942e83286a9201f00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c9f4f5f0fad19bc6d3b1a3376ccd7b4cce83da5cbc22123d59a4c9f1dd82d38d1990fc008de76fd93a9ded4bcc20f769023030a440d961b57fdbdfae4cf96702cc7618220b5486708ac5facf2ab4019658319d7b4d82c152b3aeee4b27e93bbd70f50302047c435bb50066306402306c4714699d1bef23bc16640a910cdcc9d9351e7216a10c8c487269126aff5d4d73f9d97a40e67166e44f2c99b9049c2402307eff13d2555469fd1d254f75bc7fc1dc6d27baa67d2272ddf2b3c6a1baf8b86e37582a30bdfe3031e92b84b9cbeed5e90302047c435bb500683066023100aef66093af8315b6c75cb7adc454fe874f82e182595ca57a3f89ba45db9ab737d0e7a2273a77f356bc6461393347a9d2023100a7671ce45333afc1601b5194bcfc90e4f153e56cb99bd0418043f830da15e11bf765695f822ef307f075cdf552c7193c0302047c435bb500673065023100a59c9cca811db8e0fe70972719559e22a957660cad33ff4865c8330bb21bb94e03a9b2053c3411e0854df7d0398e1f8a0230273ae5dc47d65a5692c74e6b8ddd00b3dfc12b775b0ed78549b291f385d6e654cb2fa2ce09d37611c59fd0e1d2836bfd0302047c435bb500673065023100f67f7b23fba6dd43da0181e5ba2a160c51aeb65a89a5a5745c19e129e319a3f5c189660832e1cee8935f795e62bbefc7023011fc008f42fa82c1238edf8df8a018787a3288c79b81330eed03588ad70637168f80704bf641707d5f4da85ffe96fa120302047c435bb500663064023013f29bc5d927a70841e61a3fb314a8e9bace2b9f38c1c8a5dadae846977f12e2f5be60c81ca51f1526a22cb1b8d5cefd0230334393f40d42e947b345ee5567ab148b3aedeeee64ab1b52ef5781c758d4e5952eeb936559c3f3ac8a6d32a9d68c6cc10302047c435bb500663064023012d1c26428372953179e4aadca449b903a92198d84d4287d8254815eabfeefc11a79e4fbc0d2bb17f8b34dacb85c076702305306628ce44a212150710f485b3dab58101d1777f54ca4b680fc94a8d1e4afd20729b5a26cbc47168b948539219491ef0302047c435bb500673065023100a7483cc9173f85418bbe767e0423cbea7df12b907a57c502edd5f32707f52b60b6d2a6858a491e380f717933c32942c302307d248687abffc8ec722a9cf3194b26d7a076d202508826c36f371969fe803df828ee2ed8e94be1ed11231783076308560302047c435bb50066306402302e84e2e88b09984309f161efe3227b8175fb02fd4f976319e2de7fe5e3db48759f3041ceb9cca9e80d63a5bb5b0730c902304f59c7f9007ae8e9590f3d73c76d153ac71cdc4e16e37d1e4a917696fffcb0b4af390ccfb41b6282180115e27d1859960302047c435bb5006730650230606d9009a5681e52e691f3b14bc6116f228f946464ff34c3a5fbec5fdc4b9dc44e099f31cb2a00bb33bf360c1c3894d4023100cbcc8374d3530076871552993148c96d79dee0748244d5809c7c049c12074bc315dc797bd0b36e63c0fb4654171cbbea0302047c435bb500683066023100f8a0ffd4f5dd6ada4fe6b975a65259d72175d05fb0138f74e1a7197b989b184430e24686828492c1984dc2da0d384e9c023100c520a175f99428e8f78c8358f4bdf0aeeaedc2fdf62bc9b243d0fae9b13d44d07374a7031f18ec66dff0c050372ab8680302047c435bb50067306502302a2634bb9d187439bf87bf5fa2d65938491715fbe426840f6b38741266294921188b8877f64ab758653f04d6e26d6481023100fd0f7f240c9b9e0582b0ce1a41e84284972b06a7aa6743557595de5adefa4bd468aa1fc56f9098fddc5b6057524d2f0c0302047c435bb5006730650230743756109f05ecfe24be4ac75ee18b660112ab791a8b45996950a3d37e4dcec5a019f8d03cc07ed74870fd11547a5f4e023100cd54de82454caf6dfc46f0e1a7cafe341c711266ec628e1ee999c774b3f60f8932bd9c219666034d801815c13d3a3ffd0302047c435bb50066306402302b43d2c908c79538aed2acc52f21ca1a5aa71130c324a39d7fcb6ef71a154ef6e82f4c14e2253ddd80f5a8af2c200d86023004ee29bf01e6e0d9f3401eb291d185b87c649d9d71fb605cdfcdb9edd75eaca3e8e690b19c1c80d0866d94e597351f910302047c435bb50067306502302513d1b2c4782076a627c31fb89b345f870c9467d3b7b5027b376b171c1d24a301a78e5df00730ea036f91ac4a35d049023100e0c47731d58da2ccfed6b41dff8e0ed2183163d2140d4a8f1cde7dc92fd836ac7913d7a93aab14e6ecd725ef8f180e0e0302047c435bb50067306502305cf51454377778fee8cc9daa57fc7bfff111f3eea4a2ac5592cc1be56b2388735054c87db8c561d293ef105a1c20523e023100c97632bd8221930faec2d7d49075322200c83835020783e5d72307b1b4ed4c7a3768d98c04a929b34fea19f2cbaf2b860302047c435bb5006730650230742c0f69fc09da4b5ad2c4aaecd84b06bfc7f4eaccb8b90abf438f012d54d9a31699fae78d780a0bf1d27f242ec60e22023100e84422cc3dc0e3ed5a9687a0b0bfb2fb1e230b06ea90aa902d207063627a8bffa3483ff7582c07f7508f939232d439440302047c435bb500673065023100a1760f8142b146cdc345a9ed035ff2cf6d669475a3c3b8fd20357b3c33fd28c9e475e67ca44de7e21268d5474ba2cd3d02306c6545d727a9f83cfc4282221819bec8c05fcdbf147a9a9efb262aa47489acdfdfed45baffaa716da77643bc1c03672e0302047c435bb500673065023100ef7819d76ffd45aedcbccf06aa784b8b1beb58a390a019ce330febc19a0f39ea227c0f99fe5fb7ef2ef4095f7e39b8f6023065a0ab0c708e8f3cc5c5163b2d41d02e499afe419f47f2c5a793c9d223d8f6c46973334d2eef4b282cc8d8f82707066f0302047c435bb500683066023100b93538b46db66c8b3f82739ad100e578ccd7698e405c16ea4bea216142d8fd67f6fb801769fa0b67fcbd857cd20ba990023100e9259e5d979037552b71f23a80a7af6cad4d973fe8900c156636cc87fa2e10e4b93019f4c7311a83902472203d4fb7130302047c435bb50066306402301196e65086f2cf47eee6dc0f29eb62c27c7331bcb0aeeb30a7977fa2f51c621346ff2241f76ec92439a006f0f6387a140230754b1e2311cee94de65253cf60b0015c83ce8eff2eb254e06ecc8e550f9dc9112699585488133a92687a743d577806b60302047c435bb5006730650230341dd49f46459d13c9d6ee37ba1e9027aa88a54c65c60ad4da6d555639259a13b22a4c9143b413f7e8740214067221c9023100da7004088e1cfd162efd1a3ab3bd64d76fb040868e80e1bbf5bd36acc96d2c640652ace0a254f4e6a099cdb7891ba4890302047c435bb500683066023100d01c47b342ee1f3ef595f88dd2c2bc35e6b93d5afa53ed73c84cb8c4852c0239a51935de70c92c927701799d854acc780231008fef33fcf033534a26eb0a2d0bd5987fcbb6cc05a0971e80310fc957f0a1f65051ff7434b6489425c44959153b1ce4720302047c435bb50067306502310098a9e9e11b6c981e0603c379b41f77314ca0998776020b09ea07b275cbc50d5aa120ecc3abad7b223f770a898d7fb5b002303bf8e212477cdd852437d5ac66edd352c9a444a58d201ddb2117fe192ffd8e26127e684d5e5168ac1923c830b51399d40302047c435bb5006630640230261ba166204ab4479e52d5248db612a0419f0c1bec8f4d6434931c56ddbd045af482e9bfec3924af77e511e15eac44ea02302e3d4afd1302d49cf93346e317886639dc47bdfaa149396a270e95b817730203e2ebbdeadad16296b20aaac24816a4f90302047c435bb50067306502310091f3b128a20a00775ce34bc18757bce0f02e0394e5be69423c8858c1db50b2d4ba4bf265901a126d0c322ca4fedc9bd702303e4ca1edae2b294b22eb7e77fc40972ea06a52c76b0ab027dda88db19f484d111f2de9101fded59201279418024eaa4b0302047c435bb500663064023012d8bce6d48596037a58d2b4ec7fab87a97596fc72310348f16ff4d653587e870df15c980c83da737b4a65f33231b21c023014d68e56cf3c4813e31529c9314af0868d046caed83706276fce8a724f7352af74aeefa65c70b49f1ad2e3ab3c91d1420302047c435bb500683066023100d73c862eb09e4862eddb6cab744cd610108e13716ef4fd9e37bd7826e5914424e9cb8408185f00e910070dd0d8d54b63023100b45cde99a37cd22a2d4c612c887363b1808b0eef05c7079eceaeba1073d7f9c9f4ec42915d11bfe433631b8c7e31b8330302047c435bb50067306502310080c78de6e28d65f2282340153d0562a3923c9bf9d6735287b133617d6ef53c833005bee1c7c0e03abc747eb7b5e12192023059f2d769b34f43e85de0891603fedcc753074ecf254a0f8fb38d8ddc12d998e2bc27f99d941cba13d8565e1595f805d90302047c435bb50066306402304dde6dc1f3e0e199f20da24b27440b25928c69777a795df7151e520b4dcdb30d5093d1b354cd1c73bf65efaefde610c102306cf7ad1ffd04c03cf04cb752695519e17928e6b25333532792210093a41e89e7af60b260eb410043efae5d1130fe4c810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306dd4c71edb14baf3fafb5d4daab218ce6ee026f078123cc8eb36cc9f2d19460c6730fbc494373d31c057ae53ecd5150602300f62edb1e9812ce17ac2e51e9ecde811fe63a1ed54f42b72d154759cc83b41a469d57db080ae513d0707e6e455ac84c40302047c435bb5006630640230105f0be766ebeffbb9899889234b623e88a4736c6c68be62d5debecf5a9aa070060607c37ccc9f1d6da7d467ae89144402306000fc207753ebb890e73fc0389bf7d1577a5dcb648491a7b4182f956bebfc072c300ad5daeba930e5e575377d9263cc0302047c435bb500663064023038baea0ee9ada232e24cdfc23fb908c3e95e4b3a39d4cab291bd995617a37cf6f13c6af49c1dc1925d78b876b1f9a23102306892215e683d90d7df4677ccba3a5f1ab2a00087e24993d6186b4406d55d4b5cddaad622704947570c67c61e7833bdac0302047c435bb5006730650230636f3a328946bcdf576e7acefb4acacc5eb0127883845e17c8df68d052e592e689bce91f04feaeaaa87904caf685fd8a02310089c05ec430e03d0018091691aa3313cd0f049d9e66363bc18d5a7a989dda7228b682a29146df2f010cb646445aac83800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305c3e78ddd9252e4fd76b12e5e1e4754f22c2243f035bd14441e5286da60f79927c75351c8d928cd92d60a2089ce5961d023100e6593ad9f7b33f823d208a061c2ea8a31d8f5f3384cdc5a69b02b73f41b7efb15ce83f267a3a590f744a9fb8c535d2670302047c435bb50067306502301c702f461b30e72c6e3f7202ac752a345e4361c7c5bb6decf54bb15e7d518e46dcefb62ff5dfce7d01fa6830d4bedb6f023100895f94ea5594b1429f60dc8310b257bec8558816e71ec89c4d4998d64576777f8c8281609be8240e19a8d3ae9d8af5480302047c435bb500663064023005b30a145945868b6f724972cdadbd6402cdee2a83ec12ecaa41793334811edc56270c79837f3c933359e389d8f5d0d30230042c095571ca1f3fd64e61f04ff4fb4d466a0cb216030bd49fe466970d0c7831623e5c08a9342f0ca30a70038560c2ed0302047c435bb500673065023100a428aca794a33f3baf98ed58f601cef22e8b9a5258ae3e64e64ca04b3efb97e743f27b15a4c97febb483d5c08a0cfaed02307a843f997105ac7aa7e08c3fead9f43c97a295a9c8efa7bc1dd9cfe6bd7c03a6ceb1660dda8ec3f661367119b0a9adfd0302047c435bb50067306502310087c32fd818f643ec4ed2e11aa2a6bb622b208127cc808c67d4a755e277e26be853efca9cced824b4e188603661ef2c2d02304ae9f6612f37067bd8048ee3e2dbcf9cea1565500753fdf163ca0e31dc8d62d59ef405ea8be751350d290189148fba990302047c435bb500673065023100c6aab223d02f603f2bca0ba15166866989a527666ab324ff081f9ab345fe65abf479ed5b884dd1007c49e4607824e93802300894857dc34bfeefe3976339ae22d63497636e893bd5a133e4fdafc58116bf3f16cd543257c425c845020d8614a42e460302047c435bb50066306402307dc7955b8d3324510f3a4019959e441ef86b5f70b627bc1f21bfaf3751d166faa25b342f623ab7fec9be80a3839ff2cd0230099d56b016e6e7c96175c7420d25fb644c348b4158848985133d4a6fa54b19ad22f9dbbf661e2fcfc38773b673a147730302047c435bb5006830660231009e360ee0d171768149137d65ea6a591754e7eb4e0a3c53cb5295dfcce1078e5a0e63e124783d15cc2d81751a6b226cca023100cea287ecad1475a9fc83cb7173df3386061711bbab573d65ba532394c5ba4770f6d2fa2556d05f3dc7cbbf03cd3bcd740302047c435bb50067306502307a247eb850290464d26e7a39b4aa2fbff3286d75210d4626999a84b1d33cb79aa4e8c9b5c1f096f0cad7cc948fb2919b023100cfba24e1fd894b1ab136c633e21bc55923de91a9c0539d67d6f168e623e682fe34e886928452a1a15ec02c8e44746a570302047c435bb50066306402305080fa11a6adf785d08688c68307259423df4deb6e7e70997e809d46f06cda0449597466127a4c3b3fa1256f80955e0a0230776700e14de308d97863dd5e7f3fde4fa6923f02a96918312547ee14ef8007589bc5558688d775d52b712047469536570302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300b1c5fdfeb5711aaa47fe5fa3f839c19d3a7218a110f9a61fd7f99d5c76464d1b21dea4777911d6dc353d625a88caed502307cad79ace38e25eb0c44b229ba0bcc87d622233ab212c95469bc48a750cff8a2dc1dbdd420984fcf260d2520239b579e0302047c435bb500673065023100c5da1f464af3d4423e82dc5f9866f9e9a920920a7725d862319fdea27ab8bfb607fc2993a42ce692f201a643fb3945ba02301d81bb38e287b1246d5fde21f36e130eef1caea39d58f963887ad6369295e96e7c2c8ba76dc5173653879575969283000302047c435bb500663064023010b72ed65a133beeece334d9080b3d64b6def459699453d96151f284bfc3776a4b1b334883c2a3e607625e79cb5137000230792989f6a91aced29484894a75208c96181b587abeefb1c060ab1057226da8b226487d96e8288ea28e53f8c26b3630e80302047c435bb5006730650231009c0c86a436ccd5335c9464f1b389c3f741b7feff82d454ee7f0572321641ba3012a4feb1901405047bad143ff34ce3940230356009c6c0c2865f9657922cd6ed02df11437c4337321311572531c7773eacd576bee0593ec86deae1ced643a2293ce10302047c435bb500673065023100d6bef5ce8118c2a3e11c5651ad5103d2bd7c5de5b543dca98acbe7727b46fa9e577ca1e8f7a4eec9b7b5dff18b389dba023004c2bad935689fa34e1c3cd9af2f1fc8e2b28bf8184c7735aa43d2b0e0896b1722cf5b8580f59e6b3f012aa60dae81100302047c435bb500673065023016187b342117096acf707b4ca3a24a89c56d7379c2401c1fccabe0424eacd08f3ab1bd1962c2c4b85105bea0528b76c0023100f3f3403d119e3824ac65f5d3c2f2b5a75053422fb4f17a128728f1b41edca0509605c6df00f51600f13fc8f08f0ce7570302047c435bb50067306502301a02fdb844eb5a527e020070d8c290fc9d48b0eed1e319bf63ddbda76ae1faef486697200c12299bc8bdf76083f599ba023100efd669b68ace290de4f04bc2dd8c3c9210d1bf7077e2797d0186fa94f8c43efd097b03251cb28708716b00e223ade5320302047c435bb50067306502302253b2c44e73a6ca97f74d6fc1c79d5b480f40f953c470d2a0fb5a70fabd8b734b5b70222ea0883180ed6869c35126b1023100d092ce4b56d4c0b1fcdcb7d7327b646a23802c340fbf24ab29561f5343751c4c370c769992dd661e88ed550a151e3cbc0302047c435bb50067306502310096e37b8e2b7938e1272cfb8ef104aad882a3638e2bfefd20c4e71b0d170241495de344e219fbd4f86d2240001d63565402303bd403b23b4d38cef3b7ad01ce3b02d1cc0b26f85eaab02ecbe026bfeb15fa43d2168a47a7a09749934f9180ce2ddaad0302047c435bb5006630640230195193a2b12c345e3fd986da1884f0bd5b275bb59f3dfec1b364895241794ac0b1db76ba43e9b18d37251dfb8f48b88802306c3dcf5d31d8e5da65fb2512331964190934ced4c00a00474621d90c06a8f94e9b10f1a5e423366c186a8a3189ff36e60302047c435bb500683066023100b67d4101ab16d76560b51e711ab07fa1349e30ac47ab22d5d18b6f9b4dc710812538e7d072f4ee5ef1497a1ad9e8e716023100df257d4761644d35116ff8796cc0b02db12ab8be49ce6e2afeed73561e4dd1bb4d626ab639e3f8fe914ed1c6b1be48660302047c435bb50066306402303841d5e6ae9bcd5bd4e68c2c28689a6fc21b8ab5f0e876f2791e6160e5dd60421e387a379dd2aa689adccc699bd45e990230033feb35e603018339062abe2f6f8f8cbfb7dcfdd1fd3ab526c3b51aa5dfba4f6bb4c952e51fdf0f7093e0dbd33935270302047c435bb500683066023100a524cbdb46ccc0c1684831b1d7109bd5de3789145546f9ff1b9368b6606cff73eab0d2c16820a66beb0be8f7e2565e6a023100e3f22afaf26f1bc20bf38a93e6783ae94f719fcd0c24ed93ce9dbac61c1108a129588118336ab9ee0d6cd1ebf0ea89e10302047c435bb500673065023100df2718406774813cf39cc379adb49f4657d972e45adc4cedb1ec3d9565f42c7cd29bd021c076f7e750afb410bb8625f302300a91f2836de442175c7ccd67d5675f15aeffe28e8af89b183ee75f485be265f5a06bff1158b3465c6fc11279efb811ca0302047c435bb5006730650231009dc8a5d2a7f0a434549a4a3b9fe3e81fefe301eb8d6b0547e889b9a68af3f19d87c0c092ef5c887b97ca2b7eda312f8d023034e277c07f989955f3b7b938b82905e9a029a40bd5f662b04a0a409b0301676c8ef68367f1d9507f5a01bf55173724720302047c435bb500683066023100fc5e7c5b4a7e52e059cf3300e37aef5542cb76bd6cdc59655d34c12299089b8259545125ca84dc201a9b64d1c457aaa2023100b9e9aa304b965cb3b3748205e606e3ee3f90a0a41e3cf24ccdd74f57ddb2bfa724cda72b108f035bdaabb7fe4f9c52440302047c435bb50066306402307b14391678af71449e73bfe59108bdae98b00323fb59134d12b9e5bfa747a003a46c7a5803499de1fadd2d9bfac3ef3a023020f5edb9b258109132a5d809e70df3f688d168682737bf3f2938f229d968fa32f8856a2b3738701ad35857516b5aeebd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d21ae6fd28a6a146bb523d17bbfb05ce23a98b39141329362d6a223c99c26548f79575de3f5ccbf1a26cbca3d9d0b36302300d87baa5aca92d103d3789efd660b1d9ce5fb96f95b1d84ead354fc07733a11a57e6de6b0338cd713cd7f58e51e14b580302047c435bb50066306402307a2379765649b0fa574e1b42e56e5a553ddbbd78d95875b3c766b7617951567ca73e4ade661c5a4da95ce6f4d15dd58602306a1c46954e8b99463e41c93d93dd8ca187017efd9768c54db68d45c0f8e2dc530e5fd9619102e179bdeb565e67da6a550302047c435bb500683066023100b852046f47a4dd415d221271a3d6c13ce035ca929fa5b2cedfcc6ff8c7cff9038c923ede6e98ad761552740d246a2ac70231008c33ed82cd3cbe4bf28377b993b92de1def370f8615bebd4584bdb158f2c0c8c63cf3326956f698461d1c1683a86cd720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301cc277d8a49e58ac83bf13cc21bb25d4360d25f0b2292395fac84688f08afdb7265d06db7d962ea3835b8873193d5b6102305d073e8d5edf85e54ee578ef1c728af62e9e98dc45132a4b4027e3870c2962b28b53f494db251cdc50846bb6c9abc5ec0302047c435bb5006730650231008ce8508f8a2a1820d15f4eee41d727cbe34e95b2f5838b25df89d990bcdcd49216968a6c99c5728ae4e6cbe889efe93802302770fe8895f1d3d7a3e2b173aff35fbbbf5c807c73e9de4d6bcbc3594750e8c07707a4765944f3b6676cff1db7d46caf0302047c435bb500673065023100cf0307d80bc573cea7336b031047568f9416ecd443ceb9b1fcb9876ae770311283254bc94d3eba2d3f31529fb508d12502305637b434290d433f2cbc8d14ef53287787e5137e74b1d718c6d56ca14fd67864c7f733b9e5f067e5bdca0144091cb0560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d155ec4141bbf15d6a4d87624b4b505b64e5b330fe9f4eb6479534c9b45c52b3178a1ac5c7ff661661d2741c98f90811023100f76bf3921ad708e68897202aa77db38f96195f787849ec371c5b1d6867dde8df839fe143f1ba53140709e2f8d429f9ee0302047c435bb500673065023100df638a7c51484cc52cf9d16bf025fa3f919fa4b5e120eb2dcfcc8eb2d1ae9a9596751b70e123ea619b3deacd1988e53a02306299efd845b8d3e2348e7f9bc68314d253c6cd0d57d0925f2eef0b771d58904f9d3c14e280d56035875a0d4220a2714d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023051f020734645b3e3a1864714642cd24a4ce4ccc62cef09cb8443f7ac665d4f5394a78be144560f688a0ac7bf65e225a10230120f7c7455f85bf9421890213ad8c0f3ea9fb6a1b8f29d9552a444e87155f59a1f35198799d98da53037f0497bf499d30302047c435bb5006730650231009d53b3af00548650d76542b3a6bca3ddd48f182465c0a53550e54de172d225e6d6b9b03ca4b4942c0fea40801136e91f02300aca3da1fd424a3b5a65592e239465e0e4a7c68ffac553fd63ed5c72e8fa607767a8b4a8a964595e7fcfa2ee20fbc92b0302047c435bb50067306502305757d804d6737cf76f35cfdc297830e36e01eec7b622b0076598ff11f8c80800e88aacf989d65e3f8ce73d358754c10d023100f67a2a18bdcf0311ad34d816f4b72779f703a3d1f2f5bba2658b9869b04a93767c6c89edfc8be91164947f3dc736b3e20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023041c6aee2029d0153637ec22026087377b4d403c23c5b9248f22f1f6035d13ecfc919fa92057b434c01f6801e104fb96d02310095c23155722d64a81249046b3dd1c454bde296f9680849e33715448d0d8690d28998ed8a597a33a55d758274e0f198ab0302047c435bb5006730650231009596aa62e6ab334efbd0a82d52ad3e7dc952ec59506bb5e2df219f98e692b05f193cc6180ae098643a3691fe6c8a7a6602301e04f8bc3375810f00e5e26b2b2cb5883d6296c80f46a79c34a74eacd29699230dc02d44f76b442044625162c837b02b0302047c435bb500673065023100a35c59d692e186ab5201df004bf66d26041516b23df6f66b270a4e0b4b5bd6d62285a8bc010b356acab7993c2420846b0230792c9b34881e6b32b4b7c89bd9e356a847303999983a7ac7faf0a8e65feebf3a7ab289989a6e2171fa8097257ab01ed50302047c435bb500683066023100a0123a0f637374a329fc4ffe62a94ac6d17fee8a31bb78ac40f8776b945db1a9b98d63efab2d8123502278ffaf8a4334023100ebe49307e1a862e39ced597704b3257fe6090d30e6219c9515c032621f2eb186ef34cf2135e6eff7fb53d7b20da5caa10302047c435bb500683066023100d6ef893258033ee0867bcd51da9f6e7236f0b5ae4f18554cce7c0c8346347f3a981b96667b173dbc762ea22114365a1d023100f3fb8500b3f8e6a954c0197ff8e6184bd866b816a47bca4b2f91af8220be9830e5bd45dbb25e57f0c1617d2212acdbfc0302047c435bb500673065023100b848dcddf48f34b815990736bc9b8aa7980e5d71e9e2d46da41d96724e61882ac4b3e00331293f285927ffa9922a350802307702a68de9b66a658da71162ac3b854ddd9678ec66826d350cdba19055d669b1184e9d221049ca9422c4b3180a4e026f0302047c435bb500663064023075325fd5e38bb5314bbb2ef42089228cd3c5ba8f9135141e8fe22894bf82d09ecb6a10255f9e9d83cc03be0a7ad26c5d02307d5b0f00b6ca1a663384101ad4a06409a8f3109d51d949be73a2932d7474b1bc2a29d2b359aff6c0efdca0477559305f0302047c435bb5006730650230542cd617baf477d82f5426ed9cda10cb6c838f1db8311179b1ffb9727a66f44309357ed13ea63757c80048de6e56cdc4023100a9e7c00420e32edbad3482749cf83cf7dd6b1f5da2ac10a04f6c1e482c692cbf3f2b84e3db4973ae60865ecb53ffb98f0302047c435bb500683066023100ed7c55ad39888731ff7a4e39857bb1582e541f66ae5c9dec7113b0a2f96a4a7a170960f4e80b36c513773edb1415d946023100f4d38d5eecefc0f068f8d9f0daadf85b1689b0b38c86a4ad23e494ee10820f2873711ff8412cb461dbe7bd805d47fd340302047c435bb50066306402307ce17768c149c603a6cdda7b1d291eaeb4e45007d33b1b4cc4a78bc253a676d48bbed75a6d8ecf80e3bd541fd57f479002303a21c1bdc1d351d5efc4b0880297b226540700de61434e52ce7ac2141c64940a3a0ce48dc36b1fc803fdec69e1f9e5b40302047c435bb500673065023100d8f2176abda457c0d2a77252297e932866bbcc33bc5e34d889885f6894e8ed622ca91e59f40f120e50c21529b2caa7e3023001b0576710707dd4e8eba0ec9ce280dbcc957f3299807842b4be3bfe8364168d5648ca0625920ff968140ce09a5097410302047c435bb500673065023100e80acfe0c52830d1a430dba0153f26ef478ab58a3ccd24b4a54b0fc69a59975c52b74c4bd7e4062cdd4a20373cc175e902303ab30af8d63a49f5f0c6ee425db0b9c31b9578d41cde2c8cf29eaadcb815f0a1e7a9ba8004df495b22fef14d302dfaf70302047c435bb500663064023079a4152b7c8d2fbd68b323323d7a0ad7d93e7903ce198add5500f07235c7c8ce6e522fdd7e0f4471e6fc3733da0ab6fe023035e083a9f3a4978b9ccd070c5b61beb6374efca39f97dc3888c9dbb8fd437b72765f6469fabacdca20727526df4570ab0302047c435bb50067306502304dff5baac61a744024978a068e8a5fd8fbb2c90e2654332206f8e58df7b7e7959ce79a7f1375a5c47c472bc8632c617e023100d41e097360e97389a628962ad912467541bf4e853860d06477e65bc9ebcba930a109e41a0be7dbf8f65352e5c5ec437c0302047c435bb50067306502305213843c555bfc3c2b0a198563d5206a15d6db041c3cdb8af56039416c16a2b431955c1a01c23b84fcc22d74aab8107c0231009733ddfabbed51cb3aa6b11726ccb247057d58726ec653ee2e48ac824a4eb27ab8a331c614030cdfbcbdb939555c011c0302047c435bb50067306502310087217eb0cd1196ed5928b99a69d48101eda792a559ebeca015b5ca55e8acf2a51acde8a44745dfdc11a920a225c762c7023059a1edc67cfcb0e05efbaed1fd95959f0904c47de1f05a4b01fffbc5c82f374cc5ef3b17a7bf990741a318023778ad6d0302047c435bb50067306502302936900bbe93bab8ac1db53eaab8b1ff97d3dce609ea2fea87e727c8fc30a52d19325a343493c8e2c5c8a0267c311190023100a6944a8c946b1a87ea8016517dfa0c67022752b0dda7c90ec78d23e9d2a0076217a21efed882cc9307a1dae75ce861690302047c435bb50066306402301bb2b09ba2e3e4313a6b4cdc954f5275681604ca471ff725b112050e21bb71e8eb9235473bbbf2386cd8c0aae0f40ab0023015bbf27b59f7dab33cd20a3c4bde9987ec54a87ff4bd43a6de12b3c60af80fb29db794505ccac3cbc45283f8c7f9762c0302047c435bb500683066023100c50191861b38a98c5c4abcb05972ed6c03b7d088750ec85639fe3507f800100bca675157e579ed82abbbbec37337c27d023100860b75c256a35c43cd3d6412014b79191bdad25280b434101c92769f0414ec867da575836dbc04f996ae6d04251959ad0302047c435bb50066306402301b528aacb2c8e7910f67e0bbd2a77b5af35de513a7e52187f811a107c2d5d8aefc279d06e559e5e310e0b0dedade56190230362482d7153c678ce8815d1cd07f50f3fe0ce5a3d6a4a57bd00d1527ad496a4264a9f8b1b9cbb2ef4a152b2f9395f9ee0302047c435bb50066306402301165cd60b6c9d08134e4e746030d7b6567f748cc60c55f162d2980a8d966d5de71ca3d81a613341db179257ed28ac1d502300a1729aa66ecdb5695de58399e65d8f67d744dd80215643b45d9445e7ab5d27e733d5b338e90b711c4aa4c3315cafae80302047c435bb500673065023100daa5a5ce3a7e3a344a27469728e79bc498ad86e772c52681f70fd771de80573d1450930e8ef004b91e2dd991729aa798023023bdb42bce1671e68698d80cd4d483229c93c70fc02114c322b8aa14911baab5ee8829d286233df06846a6cde047ba200302047c435bb5006630640230432a5c12a56a62c74691af1d67d7db9d27c93ed21bc573b5f9c21d3878f74143b15887f0799a35bc14b444fa69e6f59a023019ce6d50db77ae7035e3ab05d372b3fb722500c4938e0d206286cadd6ca75d013cbcf15daad70d45e351ace8003336e30302047c435bb5006730650230766d79d631a1a696fd443b5c69ee122f84177521abd90ea2aff274bb024af628e4405fa79fe89a67ecea3136bcfdb784023100a449dfe97c5071f71c82b6203cc51467e7414067bad2e965b442d669ca32e66a1b02b28bd4223cb5d29f3092274c16170302047c435bb5006630640230064e61a9b97c96e0db0e6b25e10738a5bee691396f28dda5dc6be5c7ac61c989e6ea10cb9dd7ee508cafe5864c2bb3e2023006fe9bdf5ff7b910117cea2330d86207fae6e5b997d7a5f610c5772f0b1fc211ce85ec2593fee7092cc6472023dbd1e70302047c435bb50067306502310089cfaa31ed79edf13219760f0be596cfe1b1f58498e0cb3884a657f2764dbc81a3b214139b298b17ea7fa0795d46d48e023067daf4a7e129f08ab82bc0fccf55d53171d9f248ea81ecad311bda304270fe1d5022a48069df5aeac8771a7915979d800302047c435bb50067306502301755e70a4f4e78dd100339a431c62eb54df3dee7c2e42747a0cedf4291de37ad74b1f7264be0d94f862f6da9aa8724ac023100a1b65aecf113cdee7f378dd2e783090bb1a10555c0d64529fe0c407a126bf160fa47a8d09422747fa187b11de14df08a0302047c435bb500673065023100faac578f635e3fbfa722324fdbcdcc4effd2ab258c210d7a2e4488692f6d3ceb3f64602baee204bb9e5ae6a3c38ba8c202304b4d6e1c44b431cfa939829f7f1646b5a1648bae6767edcb13722d4a9f4646a86238e13f11fc0ed3b0c3b3a21dc112250302047c435bb50066306402307fb5afb8bbaa430d4d12107a086fa87a7036600c508680c02df460ae18ec9ee6777260a40219938d5f1c732ef5ebcc220230455407c30b6558138fab9e5d5ac5ccfa9c0e7c7b3731782d1b04ef7e0a9394b2c29ba14d46e4a1413b2f3aad4a324b280302047c435bb50067306502307f57813f6ebafff45d84f7b14cf202a4d9a135d7487cae1ccf184a97d3249d1ecbd3142dd9275256767f4a07e9fe88de023100e059b4d718ceb77568b1d80d0fe87c976c602a59bffa83aaafe3e37e9fecd3066e685058dfdf5ca59434dd4fa7afd6a70302047c435bb500673065023100c897be68de42fae8522b6a1d21fd7ae5a8aa564298e573474c8410102a348a3a8dfbdf56c8012dc919a0718fd0e41857023066481553904629e0e4f08de08d0e0875b407d51fd30f45ae2cfcfd18b92ef113713905c07b9550b7885957300feeb1fa0302047c435bb500673065023100f7c425677d576c9a427fb3bfd0177b7b96fce72465b61a93192b9c49f142febd624808078190af4b40c6c23be57d041e023010d30bd9bf12294a89ebd55007d16a00cd22f24f73f650072c7dbf586af8509249d8b5b3238eeb52a8ceff6f6db8ff160302047c435bb50067306502307e2351e5893aee34290abac102bc058d29d5e99608f09dbc2707c91f0b658c60ccff34084246ca9bcc7574741e6b8b17023100af2433f6d29ffa4d1b96b1e89df77e1b06993cb02e652509a816964e459ce4192128a4974bc13ba7f42573777ec2dddc0302047c435bb500663064023002949cc09dd0eee7697f5f388489b5e68e39693a432d56a7bdc8c106277bdb4a661862bfba8b5a96a4fd3cea0a10107d02304506e0029546fea33086ba4ce9f7b9e6e5fe15eae4564d315c808ea17c4c2fb4d6f8c61bfc70f7ca40602e9c6d47ecfb0302047c435bb5006630640230431d44ffaca7a54a8a7ecf1b2c8be56e599eb36d367815cdccb230adea2114cd14b2a8120a1b3f81888d1e8c682a7f4402307750532344fa2823a0f969e6f96f55f3564d6831641ffeb177522f35c7cbf299cd198f004ad7dcf006d51956b7c57d190302047c435bb500663064023055f742607fcfdc30d1987987f340390fa23a3877d4e35a005ba5e07d1f7c0c1668f531f5516632ba1d659f02e83a932802307940a51b4c64c39df9da8724916c26c88f73eb4d38f49cdfa57eb63c184ed7083b779cd5b1313b8c0e0e703527e5c89d0302047c435bb500663064023012368bf0bcc9e7950c0fbf68d04ed70f8586e024881e2ff485cf01aef4cd14ccfe7dfb8ac3586e9c55e4b9a3d4e8e36602301cea96df9947c405d8c37bea47633a4197123d02339b2afc6e7130d26c406cf5ad80ec1bbaa09a7baf19942ed12e47370302047c435bb500673065023018b6511605fb7fd73058e788d0a6afe08d1d11d532bfcce4402553003fa2d5e559648b335dce96c834eb1d3072f4316d023100a1dc58fca800942c1e32fd36f2c898dd5a126c5c7968d22ccf9564b7844e49ada635dec8a57cb7212b74621a0e18ae2a0302047c435bb5006830660231009d9c063fb5f7d49c51060736033ef28960c7bc17d5994e2937b3dc33e4c98fd4d14295134255c88da6937a6badc6882c023100960013aeb826417cafdf3ced98072c9838f9dec92f4d3af031d91ae57bd37c05817c729fe311a8d74ee5a0c0b05698bc0302047c435bb500683066023100f10c5486496e9036f62f389ea89b82c0c7b21c344120db31d66a132ea0f10f759cf21d44ca68501cbdd0f524ed759a91023100a7ce44ef0e15fe82edc3cd3492a1fd238fa2af84b5e09b952a03713514b837cf1dc2fe4f7af6b4e5c50531c945098ca40302047c435bb5006730650230777e699202dd8081ea42b062b89d4e05be5e6045e71d99f313440ed8c4b96b33b9ee1e22cfd245f72973bee713a02d85023100e829a5c85900d220c67578352eed70449fa79f55253cb40bbee64edf14042ebf433a654fc78e2d0441082433f41766e70302047c435bb500683066023100c3215dcfbdbc4f60a901fe52b146eb55e500a9db3aeaf11728c1154051c258f80962c55c7906d0cabf8e64a7da3c9e2802310096e32f388b3654b080a5533c4253986506d70bde7945f7b367ceb39184d76b2c2095d9124531b4e55dfae53cca1724180302047c435bb50067306502304c73aea36c09daf3682876efd260f647c621e649b011a9afd76ca094a4e60bd32f82cf913c4a247ac0119842e3122548023100c522d53fe62cba5545f784831ec79a7dd2436e39383ff6e3dc36d110794240802efcd415231316c4a2b2b65b7bfb03110302047c435bb50067306502303c6a04498b244bb83a279443455757bc1d51940e02dceb52e3e80a3739cc6b028879a7fc795382fd380f360a22eb26dd023100bcb217ca0844f25a8534a04ad11611e24effdd9e67572d934986f656a28ae337373214427d55aeca40d46f9fe0b970950302047c435bb500683066023100a1bcdf602a2d9ab97cbdb9e69494a075b72dea0271ed6f38563d829971e8d802382c0e089266ea748a1ec01d8482e138023100ae9ab650191ebc65346ebda3978e5e9c5c33c4742d5fea2d252a362182d081ac6c087dc9014cf792f0a8694e1880e00e0302047c435bb500683066023100fb62add6a47ad94efcd6142bb1429997f105164c2ccd4a00c7b90ed0cec52401b900a4dc32025cda2ea717b9ae9157120231008fda6f1cf89eb678b6ba463161b2071241c6ce97b51c9c590afd19e0109362a03e5fa2508e73f8a3c6ea3cbea3f1eb4a0302047c435bb500673065023100d073026f5bbb6e40153ae57e782b421bbe1461d7bbcd0ee70770974c074b59e4568115250fcdca42beec0e3aedce67ae02307d6335ba249bacd6a1bd65ae0434fc3caf20032e08d75ca557727e722dffcfe6871b0ff1dd1bf00ca152a38df6ed6f000302047c435bb500673065023074ad0f973519f611c1be5228611f8504e53c300e85094410861cf9dcfb2d60e9b4bac592dba391df4e504722a26986ed023100ec3d411b783f268e686ab279aaad4a7f2fbd5cc5580737fcdf6e0b5dbe08c96fe9ded4ff6c6c4eb83cf1ded90298db270302047c435bb50066306402305c5531dc28f14b178d43c80765e96015cb328835d8375ea9ce95afb135194aad02c76b09202e980db05ecc72ede84e4b02302236623a419996ec6cb5cc63bd0487cbcd4bf81ad045c37328ef4ae832eea53f9822ccd0d7ddc10042e3b690d18cc0430302047c435bb500673065023017800bdb1f64ec010daa1618b786679d36c095f911b017187a933321692e242a1b29691ef9c7a7b56bc48f6fe323852b023100fe119ccdb311df977771ce634863574d341eb3832c0051af7c9c61a3e499f05baff9a2485f6439d0f15679ba0d2cb36c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230279129403313e3fb82319d9623769e7ad58bd2244cecef9a3ff93f702061b11309b88976ff33282dcb8531873fe30854023100e05bf2ccccd8366ed1b6f41d54743809405205db16a07d4ae122b0d1fdb3bd1695d48a3eb5128f787e8a75efe9afa1130302047c435bb500673065023100ecb4e306cb9f30d1f3413c9561b9138bf0a5344d1f90a12178fdcb21835188041348aa327cc001edb9ca5fdbbc01b53c02303e37321e1a665f71cf2926bd73b27c56fa81a09d86da080c584d4eb9c5e30a4ffaa8dc19e1238df34f532c76633461180302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310086ebf3c694dc5f920833c816ee4dcd8e0622c71feb7338382a96c632d868cd0a8787cebf5c9379ed5ab667772d7179250230493c76b0d37ccdfefaa0fb2d7b9a22fd8d71fc9739d0ff690225a6f572c9e2daabc9488a24bf8c9a983a3af4e56bac7f0302047c435bb50066306402306f0b8ce81ac27fea9a4430c5b1e21900c526cfa4718260dea263dda8082d3d81010ac2dc830f1ea2c9e60790a0edb1e6023031038016536f3a3a82cf109af52bb6f35d9ea95e2137aba203fed22439a0a4748288868f07b146d9be2871bd119f91e90302047c435bb500673065023100907204ce9343bcc22a332d72838af8fd0031a7ee05eb10b252fc300024f532d582056eed5ba096114acbca5b2816635d02304a5e7fe9e5c49ad2bd808d11b523a9200f63f60954f37c5342a2e8cb4f5fb091056a9d384406c079fe82ec96a13b93c80302047c435bb500673065023022903cfe91b2a955660b44bbb65c18f1990becc1caac687629c8167aa8dab9b4d6954d777e4abbcb7caf84d651359187023100eefb1c270c923731e72906808244e78e37118b8c65e7c9f9da77a2094e792efd7f75879ed4bb11b2df9f78c36402554f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ad590eec6f638c7358840857c6e776f9931ce671cd3e77529ec4ec0e7b5e378b7c1885366e125b8c00196d7120c542c4023056e7c6b6f942dd814e95a80ce1dfa9fb7e2ad85260a032431763ae19c4cd17808d29ba9d833ff33b337adb905581d2140302047c435bb500673065023100a2b35c24c0f0c05ae09cc0e534de150d704dd13bd7ebad3146bb41efb17418c59e08802b99672adb28e94cedb009778e02306d07676fcd44b1805fb1b48c6f77719a6130c15eb60124773ea835c4e4fc5c22d68e15bb085151713999c2e463fdcbb80302047c435bb500683066023100abfe4432eae5f11fa54bb3e6ae2d896dbd0b2aa278303a6eb32f5f2a40019d7810d526a15a87981667aa5ecafe9de17a023100a8f8ff1215ccb5433b934069d576a752d0b1f4fc59598429791443c9ab28b1e180d598baf91169a4c5397602acb826630302047c435bb500683066023100cf0e3d0b76112f202c482c6983647eb03f903efd4b9fbc2d4f6e87e485530634b6e8b98ea0b41b58e0c5d196fb52848a023100cf6e9e1ab959b339ee187fc283568e5b05bcdde220b5031eff0b8c7a5372f77c0293de10a5baf6163e5bda320170ef940302047c435bb5006830660231008c946a5f535b518948e46c6389639228a64236d88b4f8b2df40661f6e70d73652d6ccbf364aae035e4eae6b36d8407fd023100fe3380c80ee8148ca79443ffbe502930baf9c941ee51294f5387103895b9035c3db8f9f61f66bbca525bbd0db75ea6d00302047c435bb500683066023100e7e4db5258b33ebd5f687e7a9233da4ec012fceee0a1e36a6a1cd9db5188bf09be9a7b25b31cb217afaf8c725d9dc17d02310087f36f71490b91f139a4498f3a91c350a94c6e9bd398a33b7279c89f78a1f8b7be7dc14eb02cbade3eb55abda21695f30302047c435bb50066306402302702d65dc5e8d2d93f1c35ea4e2add541338ca147c65ce8b2a0881d7371ff5723855b52828c4be51909bdeeab2ba058b023025a55343520a97c3902f10c13460f2fa45a006e9812b8fded8d579deb28f1bc83e6102cfb78a7fe3ad0c19596e35baae0302047c435bb500673065023100eee5b151f2ec9c8b2fa7c7be98b3de0a6a1ab2e6c181abc5818b024d6c7e526adede0acbc942fcf54b5c535cd78e93f7023027c2a97ef49ef3c34a258c9bc317cfdb2f951c443de41a2648ef500294aac9d208a0c41653ba5003025b64a3c1b438a30302047c435bb500673065023100d7cb23c6bf2f907aadbc076c597007219c9db9a6dd6d7a8f27519c004b9bfc5d96f7718b6387b4aeaa17b03bc4b938e602305a64d44e3d96f7c98d3b4dc5efa417be75225a103808f4dfed8cbf69fdd9b9e005b5f87cfb39329feae3bf0e700f32440302047c435bb500683066023100e6fc82ce0422e314d5ae553aa27e06ef5f85a1c2c8673a11b791366a4280c758b43b90d77bd5d45b6c88d12e6d664fc90231009035b1da9758598daf6e20927222109717e431ecbc88135ca97eeee11d554562cab01da823fe0a9b0404a12b9d6b48790302047c435bb500673065023100c9c8be75513abf0bc3700d5914e472b2cb36c5c46e25626115fcb94b5f94b2dc75e0004eab74ac8fd45760d7f500774b023045fdc77aa540b6b34080f0170c78e5b95ef42eda90c98cebcfe34b6ab1081cc5d8f4602ba9e02550112756e0788603bf0302047c435bb500683066023100f5b86d66f6dbcf61745ed06e1e6ee15fac254408bbb2d306461f00857aabd69818a03f499baee69460975885b02dba9c023100873172599edc5aa900ebc3d4069bbf4117907180118b75a3ccf4895a6516b9ea1d86b4bb9c48035e0e6f8af2af94d8ea0302047c435bb50067306502307a83ace0ec9a8ca90f4302e5a0edd571f44157579a28540765f394df2adce712245c75c391724b230aeffb2f597893f2023100a3815e960c7d2df97ed40deb67ee28e86eb5d74df63a064768603ef71a57125216c8ef37772de23f73aef3c4c2a5dda70302047c435bb5006730650231009d8bcc74842fffdd2da1382622460509738a51f3590659ebf8601f1b69d4eb8728e57007c0bb09cd72362e34438132f0023040f20c8ddc2ac9800ecee1444ecbd37ad7711df70a1631f0d84bec16803da902c26ac0593397c14588e558f9f16619a10302047c435bb500663064023005a9f2cc55ca38dd1e8c87935d97eb4e258a6118d7a90e77b044676a2471580bbdec4a03648e24779878dd63dd1435bb02306d93508bb1a94127ff169a50348166833a04e7c677dd140a3a5b487ba2903933a6c664c160038778fcb246ad96574f530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009d009d1a618d07d1070461b0d83f94f3b8d775fb0baf2ed2fa88e09c0ef9ad254d7628fb08c00ebf220bdf643945d8a2023022f2c640978e12582aedccccc12d0035c2bbdfd70cf88aa25064c4cfd631ac5576afdaa8c47a1c745d69c211956f51de0302047c435bb500663064023031b08e9c1951ba04ae37427053f00b1f1ef421cfb0dd2ab1dac847fd283fa8389c22228c8218eaf7023a4a6aa7b6d97e02307ed0a879bd7aa54c00a1c42278190f09e5864962ad57e42ba479c0f64351fb6c677fca3e9ba116283abd1f5e73be10280302047c435bb500663064023077434dda130bbb19facef1c4ce186e658fd8a9d055d30f766b0561db19740c4b57e58c73a31b2e1bfab881c1047840020230631a23a9900ddff3884e37b6163d215b5fc80b1521987a132c0a755d4f38660890c1d9f57cd87cb9197fbec4d73e7f460302047c435bb500683066023100b3764cfaf29e7c2cc00fd11bd8ca3c6157c4bda071b4174ae87051b79d457b90ee1c730c9423a09c0613461532975d1602310099a35720a363e99625a46cdaafbf7c6e256007352ee514bd31760486f1b5e340669233e4df330663f68776e2c1daea850302047c435bb50067306502304694f6028966c5fef0ed9702dcb64857dca3a739f18591dbdffcf312fb672b88e8295671ac148d827d20886cc12f7f040231008796ec8ef63aa7cefec00d346f25cfb32aba6ed629bdc3e2c0290b69fc7a3d52ac421de230d92e3d1220cf87f931fcab0302047c435bb50066306402300f02bd166ca9123614cf458092b7462568024ea8461b0564c125d38f2d3a5bf2f4fd4becb37ad3288f69fa8b07af6c810230496706bca6edce3b3e386a74a46bd6580802861da5e74b01e05bd33fec0e290b1bd5c3c34bfc09bea075c183b937e2780302047c435bb500683066023100f042e8426f86f6b9ce834a3441da0d6ba5c9c9ae340d812cc9ea083c378782b428acf7cb5f0bee04f5a34e779ad12128023100cb05900097ab6c5fa3d54428d01de7701942d5502544261fe5087e83e597a1adcee172bb4325f389f4642c9e0a8495830302047c435bb50066306402305931a478166a0bf6baac9efec8e49753d81fa294366631d57871c03e7053fe4096b73b3dc53fe091b60544d4e730c1c9023026e7e9c2206a0c87e00880c4171c968c6f14a4a31df7ae627d5c38492411064476fd03d8f43ab8186b0b310f051d85960302047c435bb500683066023100c07b113cd61a29e9efef4f7356cc6687c927b2af8543cb12d57b61e193866cd188613dcbdb5aea39477734ce7f7063ea023100ce3b9585d045b2dfc91811bfbe91631c244e6eb33283807b2ad6aaed215aae978fa291596d9f11a7d3998b516e0c494f0302047c435bb5006630640230025c3120222e92b1a35971d38bf6cbb9878cdacb9cf94d9e19585a27b3b94f6dd9669a8835b3f1679c41e15f6c7d71aa02307f7c6420882e0f8c9a5280789982c8e3d8f359451090595615e8075919919708cf57bdc15c7b0ebf638efd9bb8a89fae0302047c435bb50067306502310092784c31374d57ecd80d197080758a4e5b64e253d0e12a13514c70c77982ee81acd0c7dc720001709f3954b473d3a5160230292c44e36a8ab0dbef82897b8d8656f6c4cb788aacc50ce139a191b4dd0d8825d0a9cbf82c2fc9e933c1ccc8ad6943280302047c435bb500673065023100b5e4ffc1636e0cdb07fb13abeaa991168a52d31286b58b200d9bbb7b5a40b18985e679a72b0b9d08998cf38305547fcd023048f985af7dc280b7a26efdeb0a33518ff5daa90f093b548487184b893ea5ce7f2f4aa7afab6efffc2c985bbf4ff21c680302047c435bb5006730650230702e534620c4e52c8a4b23b0c8d96d94c33dd85faf9b5d6a950f80d8da23f27f24d6f2f27cedf36af5fd3b3ad335017d023100f70b20f7cac90b993dd602762ba8dad538378e616a39668fce17c80fc52b417a1091a538960010c940927654a678186b0302047c435bb500683066023100c5a03f5a5fc63b9e5157eb28defa76e96e99c3eda9dfb0fa3335c15de79decf0cf232d7b7501cc147bc175658d32a4e1023100e920ed39e119429f81747547559bf4bf96cf83fcaecf68b16cc748996a43bc08c0c44e18454f10beaca687c560d2ff250302047c435bb500673065023100f543243a8d8177bc53c4e26fea4feed286425dd9bba66c66fc13777d95e49aef3068702a71c9b9a6d03fa4be5740254902300cde1f59af041d9a529f229764c938242375b4751ebd480aeef3ed3f59893788d37e4cd723bcd50f29176b6abba6e79a0302047c435bb50066306402300e453850e7bca7cc1075d1d85d12c389e204ede8489e4eed396c324ffb38020e398992de6d118cb1619a6f4dd7fd94e902300714cc367dd3ee90d647cbda73384bc8330debd200828c7b70956f0df9f3bd48f6acbc70711f2223320185bef68c6b880302047c435bb500673065023100edd9d57833b221ddd08b6e495d88607d554200e0e6d58ae88ee26f9e0571cf9bcaca0ed1e0885612a6859b5306790de902306b92697b52f05a085250f65781718d3d3e18aff05ef3679ad5703709b7cc1c52ffd49484db9818aad49cc709de2801810302047c435bb50066306402302ccd6949a68190fdc4269a5a0891a20ea160a9f845806f92f43a64e01efc051e0f0d34fe9fa51a81bad2fce62452f046023029ff0e6adb1ed71efb0a2a6ed4499df21fd2653f27d3b717361dcdb0d5ae4591a841db4b547d1b8f1da249086eb26ab70302047c435bb500673065023100e954b880c06c3032cc5c7cc52874f2b8ad33eedaeb138025587c809aad04f7f20c99b66d8fd570008bcccbfa96205f3302302db46f4a9395e735e8d824aed23ca4de9b6bb7d5a79a0ede56aa3b5fed44e82c70fedd097a3b481e798de28ec3e0a5270302047c435bb50067306502303e60335e65f0416cb3220ffc1c8f00a690eaecd896f8ed2140828defeec8a93950fe40ab4a0e3e5fecc1112e74f151f002310083423cbdda95df6231cd6547f2a3ff9633abcd60afbc4505e8489fe10f4858190cfa842fe6f16958cee19c54ce0e23980302047c435bb500673065023100831e0983680c2c422e0019ad8599d35b32a8ab3ebf9649eadcfcbc78304e0d2a2416e36c59e466174c867482f91e77f202303ef4b8a05672c5592e7048c29a2c8cedfb993a3aecad9bc3e829f02ae3f2d8717a14d412b23c20e6169f080ae423fdb80302047c435bb500683066023100850d72150d430186466aa41347b3978970b336435c32d65959d7d4218148d5e75f697b679a58cb346774e07f481181670231009ccfb462a4842b8ff89a4449d0daba0670b00371af7f85f3b875f2daa796631a4a2225062a70a1161885353b3b6d97a70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a877d687e100b6b1441395ae3d827d829718d017ad422361c5fe8e27c6fb2dc8c4d5f1493bdcdfb900048617516356b802303e0550ee649a9d41005dff4f4b27d283cf3cee2bf1e2c768f439779002723219bc1d6755c1c4b1e85c5f4b2ed8832c730302047c435bb50067306502303024dbbe43b9783d1bb19cd4d9f0c226128de75118e083f84cda7cd80a1f5d5073d71ae13f5329085b324a58df8aebe0023100a1b58b4bcdc05e4da615deae3e873afb95e9df1adea9ec8f5111e1e6c6c457526e4871c1bfcd4d1e6f51fd57fcca729e0302047c435bb50066306402303e220266d09731b9e260a248b61b40094bc3a0d1babe4eafb45911b0428b70986f61028ac46e405975aeb3df63dca6b30230308e15e274c02496a677e0ffffecd0aa46e538c4c3be1f190ef803e455f6997e736c2404ca261fe1dcb409ec6096406f0302047c435bb500683066023100fc8d817c1dbcfa979a46db4c7ac0b4d6fa474fec4bfdd0afd71f2179a51eda1c76f0f35dd63ee2e10e83739a75b26b2a023100d5dfebcd6fca58f5abef55ed3bfaf4a5f1547c2e37b6677c55366c7389ea7581ed96522bbef97a3a8e55be038e20006a0302047c435bb5006630640230663203f2bf528da7dbda8d9e9e37b5385985c28473cdc6c4ce740a53f9718a45c4e9aee2e6f1ef0ad55480339bc0e3fd023017b9db6566bc8425d82eb5e5c5bb3ee0d1a566b0249d3fc6c2c948ef153a4d8d1e1790443387ffc6c26c87bff863ee9f0302047c435bb5006730650231009266c9ca796e258fc2756f44fc1e317813fba1f433261d31c2b320a8b2c822f2f4e4e76cafa30edd1d7bbc38210ced1002304f457ccb20d3795248a1bb75fd8eeb65ab06d12502fb5f550745aac9e39a1e73b83ee093f6af7c7c29400f0b02b30ac50302047c435bb5006730650230323f889fa2c7bdba47daf2d3dd43ffd64affb7880122fdc8581c0386ba10e6cd155f35c7f539bfb94f7ad7435d36139d0231009e4841192334cbccc086fcd4d25729c2aa041d43563dead2fa2b240c77b2c59474b3bcbe2a86ab247073c52e824107420302047c435bb50067306502300c47b9b700f71959e78566aad5cb97103e92339190dd5ea2d319570a8e50a76b87da79f6e26e9aa46b6a333e42a22483023100c6d52a545588e0e8a91eea77aa38467905490352fa477237893f98c18386c8d0f726d08e0bf6304b6a9285ea1efba9080302047c435bb500683066023100834a0c24067d2d139bd94cab49469268fd3da4f3b3e06f9bf38eb88350eea7a7f6100ec72dffcd125ba3fca08bcb040c023100f15d23cecb390c9153e9cbb74ec5edc7c44f2ff93fc22809e9699ab62f5893689a9eab4c497021b86b0c7af9d295246b0302047c435bb50067306502304cd385e2c08e67242decc4da95a6ac002e12b3a29c33ad5fa180d6ede78bb7231856215fcfeb0097034039eab00ce4d30231009e5588bf8a7399e3ad899a9d662c763f6a1027ea5c7fe6134ee1ee2ed037b21efa49af3c5d180eb1eb95e95e57c835e30302047c435bb50066306402306ef4a700b2e1aa361c4375513e4a5f9ac0f3cb3296c9999c012fc4f29f1a29f91c738c6b10e829851d4e6c83074a110502303862e322886013f3bf603cbb986f25c39081dfaa6a466f804296db1c427b1f9eeb8262ad304e98b2a674b734086571d50302047c435bb500683066023100ad8eb445f2e84c8697db06d7ecd694c8d04533bb932656aa5eaad23c38c3dfa345538d75ec40c6009696784ab2f8b41c023100f5f4b1979b459eee4ccc2cf592f24926ee7a5025cc680326e8f50e26dc2e4a011aaf5c86549c63dd15b5ea8246f3394f0302047c435bb500663064023003696019d5994ad7fc271eade326b359416e9ec8af6f119a14f1eece2ce7c7860f80859d9864d1bbfb2756844811c923023027808d1ca27ef46bc3c9168bc9a8ea7312fb5c7b600a3b779bf57c96832e35e9dca71a9097f8e23286873cd4c32f1e8f0302047c435bb50066306402305b62fcb1d2826355c12b38865527769b4db1fed4638acf5555b54aa200d9c18cead83760cde381930cde53188ba718b80230414b81ed69d08a224a1b2ef459b9b410a3458006ddeec3f8db8ba3eda4134cbdbcf99238827cfbd756146064d15784210302047c435bb5006830660231009dd6dedcadf8a8ed4814e3ec25b480f444102f6d1b2a05e3e1a7507744b20ceb240233a39fc66d35e450e4b0f02dcb81023100814ff3abe831f40ebf1f2347fc1e8f922a7afc2df43129914a3e53af6a7f18abbe0979bda0051bb1bf1ff67700b37f560302047c435bb500683066023100ec9f1961632aa91a4019a2571c688afe1271dcef085fd47d459256d7b95f5c6ce4e8c3f9127141623263afde563a0561023100cdb19b00a806eabc0e47cec88f69e1f763d24e72aad80b409ac7ae2c74acfb9427be73bad4efda47c56e80d7e6116be70302047c435bb500683066023100c3463e788c9fe4e47df89e9040a0fa20115de654600cca8e4439c7d3d93022d9c03bab0e7288451c4dc59ec6caa9a299023100b1a2f75365ff8efb5ea92a4ddb8d099972f8b132d9ff8b565155d3fe13d854759b1579d3f3595bc7b083146754afdc260302047c435bb500683066023100ff36b9f6580d04a32c242ed9bcc0211db6e2763f43fdfd440afb39bdf12064b5f6c165a9b3b96c23fda3ab25c6d24437023100ca2490ac9ddac88fd6c3e5c096ff7fc3b75343106e7716f2d4eeda72c2dcb5e8f6282078751aae6e1b44b6268e70652a0302047c435bb500683066023100d837d8cd98154f8a034925748fd33bda49db33fe44789c615f236f28060c981bcc1ff1abaf5a5cec7ae049d7b28a5a4a023100c5cb0791d6fbfabc5769a71c8e515d4374ebc8d6d2b74661ea2a4e200301ec1a29df9a628eba5f60a7499aaa14c225e80302047c435bb500673065023027ea52937ebfefd27dc25768205bdf8e7c8d1cf866d96e7247f4fd00ee6914278933f6f5ec2414a08dfd94231fe8f95b023100a8d3684db0369d8b3a6583d73272264ef5d2e8619546e76b841db6b5551b6b46973699fcdf56c3e45e83802d9aa3145e0302047c435bb5006730650230232e8b908c565e2b9c4985acd88e7baf027c4dfbb9198f6f583c030033e588050a1ca4d9372cf2856646d7e40e50dfea02310094cf8cf935e3bede6ebe0adcdeba7b5414eedf1cd7bac2cf584b541e390fbe58e510e2095e5195856ad0225c1f4d95430302047c435bb500683066023100ee3b582b58d6b2d501599cdc34d8b82c11d210f6ecba664137397eec071ac32e904ced60dc129464037f569371545237023100dbea620d60fbaff3808ea4a3aeb7a8765a1b62de811a3cf448e2706bc87a1f4bd0a0f1b17d29e18b9e33f5ebb8bc5f3e0302047c435bb50066306402303e03d12fa1087a03acf0eb25cef1f24db035c65955e33637bad1772961fe79b3a9e34d22d79cd0a098adfc215002fca102305d9513f426031b4adee613682e1b920185a87228da4391ae8fa4610034ecadf21ea5287d0a84bbb38918083fb8e35ea90302047c435bb500673065023100983b30b2bfa9091595af894b206e2bba3983b708e22adb1453287698001b6ab315432ef0251e582443fb849ab577227002307b4d49ef5ec9552b181aeb5e4bfffe5bbc028f93d19ca6f3417eaf4b8fd0ff6fd3d4e5637d74eec06b628f1387debe5a0302047c435bb500673065023100cd023491ec07b69e3511fcaffc671618e22ebc51fbae438ff363553d03db573441b336f6fb937d41597c438870b30df102301c71fc7886aba0107ceab6f9afbdb487823b8be58c5cf0ab27870039b4680934858bba7ab92cb4a8fba8198d7ca79b500302047c435bb50067306502310099f712f88a63c13762af4b678799938e7eb702f48c20dbf9a955ba76591ac8a7206c8e77e4fb3a0dcd17fb0a5a1c19d602300a7df8d802802ad675e0a2f9b4119efeb075d8c88c5f3ccb55cc61437d0166fb9e66c2e54b1c5887d8493f7358803d080302047c435bb50067306502304e560ed56be9808fe51c5397a35fb4de6e98fbcf617e16ece71bd59357ff48a77edd6370a9ed2f8f1a5aab6c6b41076d023100ffca456a8baf2191519f589297360a65f6966f8b26afb605f4d7c0f8245c90eee8b0f70e25be3788bca9054505cc0cdb0302047c435bb500663064023075a89402cebea251af9e0a7b694f4c561dee4bbad5b6f2c141b8126f35bc5bf1abe609e241c0f05226e01f20d6df95940230712d54f189f6f102a25d077afdbdd9b685b433b074a1388f66f429e2623d1de7641517111d9b56b3c65a39fcb11fd61b0302047c435bb500673065023100fe8c8a8b892604ec2193ef848311358ceacb6f54faafd157bbefe28b370bd49defe67181a20732c46cdf1166ae05bd1a02306ecc02633c9bb68381c68c8f70cebd41ba2929aa197b5ae0763bd71cf440841e6a6ed4ffc6037974327f99fc855c35020302047c435bb500683066023100c5f44e69c2be25735081473eb1d3d15c263d6302e8d4278c1fe617258c56dfa24f262074b309a21330c7546e67c328f5023100bf916581984b9419dd540c322c500c68962d4b7317d0702a9d6e875e7f17537a52b0698b2806c7dbef48ceb86f3694140302047c435bb50066306402301f83b1c83ebfba4f79434df66fa3941686739b7575d95b9c3d467cb21dbdfd5d92e4811d3246ee26f82bd6be49c79f230230142d7959034afd1feb8c7fa2e642a6c96bbb0438e8dde76f6784b9ebbfb13e3945a56beadc432f6787fdd4bcde484eb50302047c435bb500663064023046668a662868b37ee1dd6725518a950a0997b315662e9d5f8368e20b3d74c8c640c6de552a07b570249c3d7dd0b180eb02300ba07204dbd0bd88ffe3e388049b217628187d1d90859870a6c6fc2b6ed711a986a214d1db348c5280d30588917fd9860302047c435bb50067306502301ba023459f9c43e994627fc829ea6b4d30ffe9392871b6c8b295042ee1e770d89dcee329af2c5d6c8fd9746986c75a51023100a456af9cb44fea615d0a3c8cca61faac1a21e7418f11f9849edf3baa835dd30b44a1b7ab5d3afc6bcf441cbcfaafc8e90302047c435bb50067306502304a47e903ba766570e288dfdb292c3dc9b8b31ad0113e39680c5c18c4a33d3657d3dcd0c75222f64f967f1c8452df5d5e023100b7ba3bc37709d37af22fa8c0207f98c81a6857cd392c5408de09159a0c2c7f163eb84ef6991c02c34a9795a3699989a60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306595cfb26f4cb22f8c9577b4e9d1c34a17d5f2fd7bbed3c15a9137b63b41dd0fe0a8bcc56596168c34641c6b75c87e95023100a44ab4d9071fe80c9b06a0942ddc9a0eddc57cf3b1cd0a7fb126b74e9d9df4129e7d45d18993ab0c8ca0324abcca97450302047c435bb5006730650231008b7c9e0129b747b6cbf4a2c01615d3f21552d32612b366c5754bf03fc50b14653be4f90410d2db9fc14430e3755de2bc02300f7f3db23c0cd8afab7e359c6f9e38f1a06043891127896bd217936511fe921c545554d5cac826cb47aa5ea70651a2f50302047c435bb50067306502302e6a8f442774c326ddd0e2afbb20b72edd13d98ca89e21cd7c827e36ab3e35f39885ccb80706a85fd92691fa9f9539a7023100cee967da57debf77532a00b96e98a220e8be847df3570bb9bbf1b095dce2a7eef8a7f0c7021176f4dcbb8a38258e44160302047c435bb50066306402301b3cb4d2df1dcab3d2ff3a8b68b22eb2668241631157ab7544be021da21915346e7731da57289332fb270625405918f602301555e32c4621fa0c636cde6695aa6bba421d42cb0de4f5a2869b8dae0a1ecf88b27c0b91facf7756e8548877d1a97f8d0302047c435bb500673065023100eb4d4e98af21b695a10d6832bc6127861cb8a7bdf15991241e4b5e7a0f55ca91d2b8dd44ef14bd7b8c3677e02afc4d1e02300bd3d9885314fe7893e3890ecfe63d6935e57521234e0b6c907e87d2f0b68bcd40e454f57e7c9813d5e169ea96ff5fb10302047c435bb50066306402307abb8932ac79512e6053725ce2585e91185e3f332910ed7c9c1be457aea92e55e704cb55aeca18dbb8ebb2dd3e4d982b02302b8032318f13e01260bcb730c40f49d0b7aa09a509eff18acd83cb1ef0e6f45000c5d2804adf6fa41237e6067278f9e00302047c435bb500683066023100a833af3adb3f705a054134e43b08bf2ddcc651523ec741a7784462bce708cce154595a7bada64f4528c804bd5242c380023100cf1a2fc6bde6b2069c9d520ed2fddd729a51bff78582746a4564ef19e54f033ec84fd3e93abffcaff65b8095ce01ec3c0302047c435bb50066306402304ab4829ffa8ba446a8355183d76b5699395e0f486edf8b47c31a706ce703effad416d86f006f78b5e29b295d8b6b6662023012aa7d7154d29f4418005fbdfe8788f18ac5aab98bd6055d5b86be0d0d2aa83c37051839f64b76ae38b408810e91fc3e0302047c435bb50066306402306c758a23e3ef5a16b42eaaa6c4b4b73ef0c97717f062961d713d9f2e268a6313b7664b14139fdf5a4ef6c11817feac8f023010612a7b2a645f6b2945ebbb62444bcaf80922e8c5b0bbf6509aed2c4b7b76378c813520672fa1a30913b5cc82dcaed00302047c435bb500683066023100f772b3d011873b1ce2f3041082c48bd45aec253beba06bccfb951e02003684929cbc37def8b7b4d163e57af9e9f6655f023100dea1e96755e4ff5c208526909d5c51bfd9887e54cac9f77b7dbc3852e67908dfd9299db4878ce575279647f5e58d95600302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023066058221cd683d3428169488aaf5a9d88618d746be674e1ce00bd93db4125fcfd82218c2e411d34a25eb716cf65da2fa023100e2c6438dbd53227c83cea863f7091fb0d9351b03736687d298d32c43772d7a111931262469e549fe5f6f22266647981f0302047c435bb5006730650230074ae546309ee466ed484b10b2ba9cc8a9dfd43e60ad8e51064c410928f763d7d134adde3d861c2b16b6470eb092d97702310096c59783fbbbc6ab5f55eebcf6f091d5b286062c75d2a94670f2c00ef4b59ddb544fec440972a66b25692330d221f3910302047c435bb5006630640230490e8e819840b0c87c66d64ca3de3402f8af8dd625bb4b0f590616d6f55fe6587f3e3009cb789cfd710c99d359d8fba6023044588e5c5a0e217cbf893fb1e259ae6c5761ac39a1c9dd5b14d586949673eb0f518c894265a45991059c8959b945839d0302047c435bb500673065023006c1a2885b69743f1f5f2a61cacd4339e86fc14445978c87d618a9185f6e29b93b0cae67c9e905a05695ecf96bc84dfe023100f224eb7102a02db1d689375bbfb7c2896e064784c57a12cbc71bef3dd58c82dc4a63e0575fc4afcee01d6b165eb994f90302047c435bb50067306502300d93805b71d614cd009897c3049d89756a0e90cc52f42934e1dc0c9ba61563227ce26ba4f7b84390e8227c35d6f08526023100bceb9d7d543f17b1a0213a2baa2c1b4eec063707f8a819d8428986a4b165fed285ceea6a3d9f56ff48f3d369d8da57ff0302047c435bb500683066023100c5ee002d39dea60a072a080be9e1a49266e66eb7795f21e2a60275c368797f0ec8b22853be91d513589463d7e4a2d9800231008f867bc80d27a7ef3d2da34e41140307c186dbb9360460d70100c1cb6c0da6a4ebc39bc7715f5cc6905cfb0606b194a50302047c435bb500683066023100d486356d5b02b7367437501500e52cf2ef3193eb26f3d8668581ce70b8718197fc7c496a1f4e79b25203b83537260298023100c2fd7afc452ba170e050441cd91de4789b962a06ea414b1e65005391db0e39ddad19b17f68910401266b722a16bab30e0302047c435bb500673065023100d84fce70a1d8c92570cb4e2fb09f260e1396dc31c4a1d1cf3ea89a1e0cae592efd720a99eeb7acccae247bea38a1ffb70230171a88b189031f3f2671e45971d53cfbef6bada076b1469bb35f2ae4e8adaf9cb676bb0794c885038952276e831129890302047c435bb500673065023032aeb5bc89e3f4624b33b1da77ee7f325e775c3c6a79edefcd30632d0072bef32c089e8f790722a5aa520e6c7aa9a0e5023100857b4899a2ecfcda070cc362ecfc4f6b7797e710c61f8aa5013c606cd317a3dcf7c2ddd3fe46df2da8c8ad08c83f98970302047c435bb500673065023051db012f4f09d0488697475171fd813d9df3498185b69d522728e53bd2fe6b841069c33b95f4b83f2bb5efc48df119500231008c3ac9bc0a40dbe7c89226d103f64e4e58364849f8bb6769de8abca724a052b6a8dbe4b0b28c95a809a10e5b8373f3930302047c435bb5006730650230163c353f31de51ff84607787c941e6f9f0e227337502e9c92ccbb6fab8c616d1f70067837c16926678c6ba59e042df3a02310085f9f427be483425c6b41a35cefea7238eeffbd3c170cc7124868d8332314ae032b8bdcaeccc571e1b1eb14b5864fdaf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023031f6a0d9329740441140869f67bdd8c458aed5da2ebe412b3880087a51b71e650a180490ca143db353ee17d1c3ad46b5023100c52a6a5ab10b17a5bd47576d1ec6343ca1ea6825559aff2d3293b1d9e471379198a112e12ba7fb2967e4c433f1be81ce0302047c435bb50066306402306ec53a77f3715cac249a2e36c68689ee3a65fe3d5536c26ad6c5cfbce597012d4ac296fb8c7445f2fe9c16b758a5b1b002306f237c3103f8f2000a50c30de4478872cd296c9a13bb5349542f892e96283c3efdc58c5a05fbcf2a9147492704a1f6d30302047c435bb5006730650231008eb6ebf25ddeb39d0a021a7075227ad1af2dfed0b244e301c56cf0348f7ff02e3bc788b4cac1c33e7068a545e7522502023074de75129085527af92348083265a4a2ce0ece897b2c3520683dc84240048e9c77e71f6cca0dac76c0b50a2f1bcd42fb0302047c435bb5006730650231009ea2d3cbc0d15c73aa60d7cb9c4161b08d32b0144191a6b893f6ae5dc5316857a0f7f1d0121897d5b4d3a6deee8257fd02306ab5733295afff69c2d8c45016dee28fdf445dbb7ea17a0984b4868fed69a864b59bb70388656a69e91aa195a82d72400302047c435bb500683066023100c92a5f1441481ecef3e0e2ab792825e188d09b4f31c532eb6900a48577c657e27b6387674a67d808221d684f84d2004c023100fde05b5d65fc61122c8134d7b20812da9f579d7c4a6ce9dfa59272cd28ab53a652b520dd1019fc942c5671cdf3266d400302047c435bb50067306502303e7af04287f71c47f68e1d9164e23cc86d78626840b9a14010473434f80ba9d2a40a103db6d45a17b754cc35ea9bf8460231008d1c8567631f94348e64a468e5bd48a56509c67f50f1f87fac46bed2f3e6fa6242b45e42dd66d5de1eb55e79373cb0210302047c435bb5006630640230666492b901e02c3652131bd8258d13dbc1c5e29789017995f56147acd318a92c2ec3d791500d5c272860fceb25095bc202307bfc3d97c6ed5bd7851f663982635e9ac837374a3ce26df1d143abd3e020621cfb2500826a34d3d005bf1d81feb2ed060302047c435bb500683066023100fad1a482e74fbc25fc5b2325be1159dff86ad954c09841a79316bea321f418b6371cd4342ebba3d5ac6c65a72e976612023100dbfdf2d966d10e4578bde90be72629d0e1448b76d523df87694e66a863eab098b6e83185cbbeedf035f7b106aafeb95b0302047c435bb500663064023028020dec7ceb3f3d0dad3e14ba44bfe9e466f181cb9cca31369a22e968033466c545fee5ef9757cc5cc9a42ee2fc30cb02303d1810b1cb1d01885c18afe0184e074a5fab87d77e438beeed6b4b12b1b255e4ae1a138e8b9e57a90e766ce29dd0868e0302047c435bb5006730650230021281211a28291c6a7e0c0c41c2da2b49702c286c4d884c2e5d1fe00e01094e024098258aaee9c2fe79f39be4a1952a023100c9479fe957126d4b480f1673c6900b229a15a4037b1351d906d7fda2cd44f6358394bec3b3a5f575a53808ebd965488a0302047c435bb50067306502302f5a1cee73a20e7809c5f291167df2b53d85a0fc5feffbb0b191134b32f03ffeb0a81d4a0e74fafb4855cbf306de5327023100df0f7ddcdde9d4a7cb6c22e95fb20cd23b515651ad291346b3a57baea2da0723a67e716cc273da56dbc16f6570e3709b0302047c435bb50067306502301e3cc2723473281b5e635cec89d00243c52125b0b1a3aed23f5d482f5b970787ac6bb5fc5f8f980328ca0273f5318d88023100c0cca8e646ec0b6e7567875c607bec5a53cefc0e7162113a34632afef2bf158993cc2bd3c49d236de29ee128222d31320302047c435bb500663064023024bf770cea0e29f74f6b2ebf177e8728a907d1d82daf6e541344ea19c636859517484d712cae3542abe291d545f40c9d02301fc2886d481d41d92d3cffa5747d2d2840e63ea6126e9c1886e5b2a4a6ee368811b52a8a67252e47d18c42b0c223292f0302047c435bb500663064023046eb39c039af94f98f645571637745e16454ffb4417a3ff7c921d881df1a69d176bbc1c32844cc280a59ac51c980225302306ad79c852f5011351bb50a13ab2a7a73c43e7b87bb805c3c3ef0a3ed8c8aa0adff805e44c8373be9a51fa522f410d7920302047c435bb50067306502301366c0edc751c24cb8a1cfdf3a77433e46f2785509e42dea2abe2a6903ca6d67df91e880da8382996ee66d83b20fc68f0231008c6bc0fd3507f89413cb5f37d9d3590e47828f32e949fbc0279e5b33fd0ce5bca12cb1837302c6e41095d96f549730340302047c435bb500663064023055607c26dbe4854f76d28b0bf8188274b995b5b885e819cdfbb674151c5363da29b52db127680e510608e30a94ea171f02304fc2a851bd2c24c339029f7ea2df83515467bb262d6adb88bc53b5b02f2577d843dd74fe6d9119e7f802e74119f407a70302047c435bb500683066023100ae4004c0fccf0d0f80e237735181210da753064ce27d9b17a9be03754624cee2f5a53a7d464b323d9bba0e2b10c83c50023100ca6318040bfd01e84b49315f9c904eb22fbc54bf1180bbc7e204eca7de05be7b77fdd9ba30bf453858962d42fc3e79a80302047c435bb5006730650230044c9cfb24690d3cb11df35980cd966881fd72785c657b3d1327014cbbbeb0c30846cd3f43b512d73609cd5d4d08d2fd023100d83617c95c139795ad5fd57eb81632704aed784998c45fc9d7a47ef41f1e58a984f1846c055d218beafe0d5413e006ff0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303058d48dd936e69376d43ba08fd7cf8428f4c3ddccc9148f9d6a3ed1eb5f948f23444fe32cda98c3921f3ae15a665ddf023100b95948f68ac3b9c1d89524e2b06d049144adfddca7928fe9e6480354b060f04d4f3b9f885f5532b4f9573ce4f58b6e510302047c435bb500673065023100df3a7260874485d746f68c7f9935729a7427b8014a2d75799c2b7671a8a7a86a02db20ab82cf78612c5d926b1452a9ce023030f6ee8b3b2e3563849b7dfaa514f682d2b741e712290dd9adaf4b79f741a1fe3a65e436c1186271db3063d21fffafdf0302047c435bb50068306602310086b7e7e2d4ef1f74d2245a6800772051633f6bea2c201ecfd60ae010c2ce2da51d7ab578ca7c24ad431546a5bfa3e27f023100ea718276543ae4b813966d73feaab69589f672cf768e1cd9d16ee6850787b6769d558cc6c3f5ab3adb9a349bf77182340302047c435bb500683066023100f3cb4e88759878f8db5a6d501c096b6b7d57bf35132694ab2d3dceb4341b3b60cb5443329b2376ef439173587d4cf2af02310098ea83d63166611cd1a058631ddf2a9b8f274e94e294810f54226053982d393ef910143152612bc3441d78fdb5d915580302047c435bb5006630640230242a339a85a9bd06225fc44b00a6bcacc79056c6a7476334fd7abda637aaf198dbbbff078a600fabcf1fe0688e2904650230412ac425156e7287f419e14bfb89cf1172b9790555c880a52a7794c8557c5d6357f9107332bcac079018b10a9ce131f80302047c435bb500673065023100e2ee21090438377d60345f7d153d6a8a63b685ef3607e40d955917b73c388c4e1864a283c1ced0f2729cf8a9c196e28602305a71c08a26a27c4be192db88931c8915705b68a75a1e1c5ba3d4ca60ad994223b2db06aec4fd004f8e987a648e4763220302047c435bb500683066023100aaa65d9b0fc50720ed62999b8400f71faaa834030c65d1feb5ee62c98da234600b8f127d80eb474ace39708d01adbaa9023100e986a07908d4fd7fcbfb66ebc4e12da716ecf71ce2fdd691b7adfce3cbf091c5cbec4f12cb7d15cf94e9f4967bb179460302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009773ee30f10f03d508e065768f9f9223730f81045e1e0d32ae845cefda21b780d253eb01c8132453307b103473b7144e023028d58662b8d61888379f07f25a42364aaa93875f40b7e3d0cf03135a7541ad46f7d0b0599b0dd4fd8d05bd8d874f07c50302047c435bb500663064023016f6d9182317a438069269607a9a909fd794731f44dd023b911f9295cfc94f89ee6fcdcc5d9e8df9d0f8cd4dbe811bf802300a53c03eb5641d498e87fa1a0f3338975a86c68859c43b1262e66bc0120f07768f1a7d646377ea0738a68949943f65c00302047c435bb5006730650231009aa0bf05c959cdea7407d2e5879ca53d5e223bcbe643f5daee5d7538f016c6c804ae5bf519aa4e96bc1ac193ea2291240230092e872516e76573f4bbda5347c039bc2fb9c32e6f69060b3e602980c0e9947b461ee4b076ec4ac91e911ca17c8c44a80302047c435bb5006730650230045c72085f6159c66f606446d0fcf0b59caf455fab9d92e072a41438a460ffdd558773b1880ce7b97ac6dfbc3671a6ac023100b724430a13a358061438a78a00565715f77f1d11182715ebb4f8092815f3b262c3ad1eceb455087762e748cb5ce9cf270302047c435bb500673065023100caee9f69bdf1696a03c8736898ee69c46980a344c317a90587514d2ea4a4313eff66d928865a2a3e539b3157912d938902307f0f918d757bda5431c77cbe4a378734154cf265130c54be51dff512ee81581312b72e0fef850ee8d8d93bb1bbc23daf0302047c435bb500683066023100a8a4fb8ba2320e91764fdafd93478e50e470350822ac5d4bf1119c034c246dc2ba3d7985685c4db9fc0af0cc923bbaed023100a490db138445b8bedd1a5b2caaf0e3d3309f2c8727c11b308072acad07f4aef37d06a4dbd0a36d579709b1c85be2cac10302047c435bb50067306502300c64b22f609edee83fdd6ce8274fb458696d5094302b5b3e606448ff149eff1c138a1d39cc3ab228899a2a7370d90aac023100e9eb226729d917dfb75ef175bc98cb4689fea0362c3b2b8133de4f1e5b1c411efc8b5e2ae734f8d503ef9f9320fcf6a50302047c435bb500683066023100e8ee6d30b494848f98f197ab440d561ea1fae4034bfb3d33784be7288471baff79d47bcd49ce0a7724cb9565da0b18aa02310086239d0608eaa9bbee151f2adb024e440aeab9207a87fb7bce46117df86161a0ff5258cd3dd60c44aa552ef4ea77153c0302047c435bb500673065023100d0f003ab56978fb3a657e93311f913abd1973fddb247a4f13bcb680cd736b41d5bc7abc6df7b20b9b4c7a8919e90eef102307f7e37a62a48dc818bd2074769922374dad809f13717b1b3d73352c9bea40a0d8a92f89d2064b58d58a4ba6641fcd5410302047c435bb500673065023040c327279b92c054740a2a93a357f4e1629e7ebe30d8837bd3732980d31cce4b2e2f46a3dc705d86a9c541b339942eb6023100bd266f18a6cedf69a3abb9c009e7fbdfb4004b2c74278d964d79d597ebfcf7df20aad6d1e31d40fb06e664160c2dd8650302047c435bb500663064022f10442bb8ffe9484808dc36e09ddd4b171c1d3dd6131d5f41b30cc2502bff8b5097765406265fdd721f8c9823ead44c023100bbd3d85e92a103ab0457e4ce0b72a3f37c66f8fd2b34359813e8263a4bdaa52b0b5d869e6d2d2efc99a769b9bafe34d10302047c435bb50067306502304a3b255da9a0bc4a19dc3f2417ba94227e65cfd51a2058ab44fbde88f4c41c5848dbf55389b374ac9f77bd9b188eac7902310086e7b59c6d7918a9d4e4b5546ae67096a14e70f2666592ff9dd40935327ab67c82ad30a789d0b2daae65ce7a9e13e50a0302047c435bb500683066023100b38e1efa061525ca96b005091b2cfabcc5c6739600d9a1e6bea9770d5305357610f7cfa9ea4db9fbf43eec618f34cd79023100ae1477d1bf0436158e4465ac9ba68c62649a69dc8b19b9dc924f50c163cc0c6350508fe3f2801292ec23709664ed6a500302047c435bb500673065023100fd4b744b3ee70bc8fd14690eb754448c756edabe8ce6ed0fec6c9de045c9d13f255eea626efd739544f092efcb934efa023062151ff63f4bdfb775873287210ebee69c6a04eb3210af7c3b50eb4646c86e6ad8346f970bb384d8ca545f997a66c3650302047c435bb5006630640230556f9186bb785e35e1cde80a89306a54042316aef5d94b5ba21ca80aca892438ddbb881a471701458770195784cbe4440230364528f1153d2e8865575ff85a40624701ba75d0dafecea01ef999aae1290452e5d0b6de50d314d01f4a9a7bd6a8424f0302047c435bb50066306402303a990fc2e1fd2117769d1221c7cb83325997f2805b4e65f42613fb241b71e3d848df51baa9f66245ca6fa59d256cbefd0230314b347091549df305e999e8d0e7821fcd4d4019f5007881dbc2f0b78ed1898a960208e133d835f3b0811154fd9982ad0302047c435bb500673065023100bb6103e4c88a644f57519e330dd121c87afca6505eddbfcf4fa572616cab70ccfaed5805a9cf5c36636741d8bc28b6170230421e23b5d2102eee7684beb67a5985401090d28e4672f99731804400eabaa17ddb45ed29d5e6fc0267e4265d4c472d9d0302047c435bb5006630640230131daa31c1377f6a48a818543f55899508d0dbc798692d95a0d9d70ee0b4504470eaabe56434aba1bf36a6c9746a05bc0230168db20b5ca6b78477f764574280659ee3a91da0fc9b71c49bec909a5fb07206239cb7af3bd5752c0a2ed6c660147e340302047c435bb5006730650231009b6170a1c4a5e017484a67c1f8c40665bb5a8ea3df7316c193cd59d0fee39c25588f007d44603b970ce51ce08b44c78302307ed4122ad6d9ddcf009cdeec1f8d0f644c7fa447da0900b1162650a41047a18e353e881cb310d0b4c092dd5de8e2a8220302047c435bb500673065023100bf0dc68a9acc2e552cd959ec187ca7ab6ce234bfe80d88290cfd95961c4fad2a3654a61365f120b7ee6403534b65ab0f0230636a9b347eb3f7e7114bf2174f3bec4438020fa17f623eee3d27ded37d073c468189b9b8d61a7c19c15083c899bef1690302047c435bb500683066023100cadde99061ee2fef79135bd0065b6e0a5539ca19e58411827171ad90a24b20ecddb2ad6f934f08ca9809112630f761c6023100d173908fcfe2323886762d4e7cdae81c16d374a7dff9282815d7fe247838c35cc50b47b59a67a540707a388d5288e5fe0302047c435bb5006730650230500bc7c9a16068d51555a516e3ea44dbfa356cbe326a0f5940367e66ac3b362c95fb191ba7061835a3d64a8600874cf6023100beae2d146486b6cef173089577cd0cca6580a53b75b415b4f16d95c25c246c112b8a3809be65f0da426b0d216931b4170302047c435bb5006830660231008cd9b6ad54916128cacc32a6d656954380eca1b03f240d8a99665cf0fd5f1fcb0367f54ddeef06479ca5e11cecc92166023100a396f200fc2ef74cdede956e176e054fe5a8af9bdb613ee41fd2646a30a3a4a128c93a1907dec171c9bcb9f5d4dd3f000302047c435bb500673065023100a01fd654986944da15d8c9a380b3df13d7d0c56050bc64cdec8bad59365c3920cb9f7ecfad86c8bfd299b00af7e8c54202301f02068c6abe6db6abb5472701a04a0c4567da2f3703212ee8396afa72d4f03bf12e629dc5433a9d7d631130a673b21f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230774901e4d8ac42a35c17a65f8354c725c67be189b2dede3879d00048833ffc3b3a237344d1fa65f3724bae735b6660cf023100a3c3857da2602acf78a8134fc7433e4a0f9e0d611b12ee5c7df355588b5b9184716e22ff44d36d2d2e9cb55344b74f0b0302047c435bb500673065023100d06885b7ba1b359de6c30507fc05d2a580cfebb3582d996ece17557bd1c8b9af04a110903a3f27d8cef44a28e8870ed302300683b73ff4b0ba8c98cfd342496d7a5e58c2a7e1a310342ac2b46dd8d0bab9a84289a6d140011c330dc502934d009bc90302047c435bb5006630640230413f027fc51135027f5ed3c9ca6af9208167469f37abcc0c1557451ed79360dcf3e81956700004b7c9c11eb1b290fe3102304afbae81d57261c1cae23707188916b5e17213be901f7e0659f163bc8de79ff693d3b573ecddb13ca1a76f157096cab70302047c435bb5006630640230799b1792eb5e640351aec0d86e21c8520653f7398b4ee92ddcbb8d53b167f6705701ff4fca718121a3faf56718ac5f560230093f7ecaa95a4f93ca93ee87de4ccc9d47315c20f01ad8507f092d07e462b25dac622a65325382e8980ef0829930cd920302047c435bb50066306402300764c6d5387166d56b8c02ab356a9288e13a01c525d99b459ca90e61e945abcdf6ea7ecc1fb944efaa9cd0053f6571710230722dad2db0ad7489dca60003e9988e0f93cfe569f91f3b26edc4b686c56f740bc9f95becce1e6643f3ab34785fff1c040302047c435bb5006830660231009d315f07f93648297399716985c7905855a74b511e91db5bd7718e6da4b1fff26b3e0d3606435e0391a56406795e1de4023100a72a1201979032d45bfda86806619c37d4937eea346fd45780d49bfc2daa86ba333dd15d3639095f65117e23c5853e2b0302047c435bb500673065023100b7999d3aec35ade516001f530d7883c26c465b022741bedc7b979f17d53ced1b85a05e05b35bb76c3f812b169f99558b023018bf70f9e4360f0540076fdcb982cf63b5986015382815611853ccd1a37f196262cc689cc35c4daa2b3301bc696755ff0302047c435bb500683066023100a177ba88bc94dd1d34fc70c21d27fd9baab37879d2b6cb849c1d50f851650f17d7a517b3cd440bd0211bd59b8a37b9d40231009010944b645f888af08785725b51d2068908316785d917634f82772d8c16b161df9e901799c5d957be8cbe33c32d7e290302047c435bb500663064023005981dea3ab23b8daddf155b35e2b103d332ddc7a3b78c06ef76f36b2638f47dd2f3e35f09440d7ca28ae82685f04f67023010fc7e8c69b1f22ee2d6ea2d5817b2a8f69bcbbd07c57d514b3d5a863a41c939a13905f13d355a5e038494a502e94e580302047c435bb500673065023100aeeaae0f8c78228411741e17cd916b3c4497e9cf487a633c22d7460d8f67d17c3407b62296d2e597bd6e39f85156a61802307924c5231f77a539aa9a298802f87d82ade31912d7b7db623861f2cb06fefb19263ff059426698df9a8b17f0f3b5041a0302047c435bb500683066023100d0b404d56c5694521b33656ae76651dc54d4b25ffaabd4d2bb36bcb6fb6d63a0b59c1936bbe58315afbb0ec4d80fe686023100e7d91c1fc9279001f6a82c163f9c472e6f55676e3ca9ca850d37f0854ea0608830c5c39e00663c83a8302da5be36a3de0302047c435bb500673065023100f74f52d650038c296ffd205dcbdeba3d0019fbf0ffcc8723d637e7e130a8054266671c80f3da049d510980d83dd349f3023053eaa2d18937a05b0026d44cd2dbfaa514674375d8d5a61565dc99854a9861ecd74ba9aaf3e6c4243c76c716fae2dd180302047c435bb500683066023100a80d6e9989dde4355c1af562ba99bf8e212d70f34441f59414751ababa8adf9325f429ea93c3ca4fdb50b488510ea27e0231008f2de248798431cd4e9598834fd12460a6ec84fa38d7da2728d91d2c1db33b172de14ae9842f93bb08bb58907ef5eebc0302047c435bb500673065023100d91d3a402c762a7e6c5a64c3a62b5a684ccc4667a9bd7b5ea297be0a983eff12cb578f028051d53499769c13a77455e2023010977d7ffc5415287057430dd19a30c7804c9070f51c0f97bce074261ab74f9d8820b848f15985d54de96d3cd3511a2d0302047c435bb5006730650230671e9ea1f858203e7fd18741cd3ee14d784b566b069f227eb8e30ba213549e81c09e5ea6050d3b17fb818b8513b95424023100a1243f7d770622ede66eeb35a7d8f53177e5ba6b8200f1b9fd2c19172c65875ffc3a5fbae373207a9a3590e33067916f0302047c435bb50066306402307207639a5851d399182c291221a67b6c46c84a9a2b79a3be2d66729178629574f9cdb6869a441bc33daaea07ddd4db9a023066812fa5ab39b6f3b9742bc98af10d4723979aefcac1cff084fa498c14d4415ee8a76c7fb61d4b6523c6a6cd7a3d412a0302047c435bb50066306402304bc4ff2e09c394d2d29109339e26e3a872fbcc2470ae03cdf55c0e0691c09b81d0d6eb501a50912bc57e453aee943f94023035c07e1f1a74b2fcea755cb81a054f87c890b462bb320bbc5b2cb753732d50ac0dd1a289826ba93e5c687bca6f9504330302047c435bb50066306402301a3b5407cce96ce66e79cffef31e4e2aae260c6e606e37032024e5ade9e8ee97666e37d2a9a69805350a515e51e29e3e02304e08e62f899aa1be3e7e32ebdca1c5b28e222eb0d12f7ae8619d283a72902ab25817dfd7454e38b81b9f38781db8a9e00302047c435bb500663064023008be82a1750a694ebc1ed23b4ae582abc8c12fe3e1f3d73d40e2dfc188c623d3700f1fbdf67644e9e3a993c7e2a8d7f802301f544987cc379a13acae6962dac157170bc8084dd7f3cec27b48c2cdc6e86b57b83dd38b8cebc50b2327af09fc62e06d0302047c435bb500673065023100eb87c0276d1c69f0e83b8eb575dfc0957511e833bb6c60afc72c4330c3989914072da328a4e5b922063d5e89e69f51210230509d29209cb54057a4a9b4e76409dc57109aa9c4643c8d0241567b6eea7ea4e79485702d195382da28b197a8017c93240302047c435bb500663064023013a600b2a6c346f759cc897a8b6e63cef447be7cab47043b1dc2de0798eaec14fc64b846d4277424e9c77c6281ccec0002302d9ee1a92b31d9f95dd729ac1ddfbfc5bddb40c07fbedc69714b8bd39612fe94707da979187f3e16fdb452c57cf902df0302047c435bb500673065023007115b39227624266b8bc95d747b71754d1249c39da3c0409b413c335fc381e27a7afee7634b2cfe4178ce9083a23056023100999faa113c31bc91141a51d5168ce2e095626e1b313ad7a489f057718385f429642bb21090ce723b46b53ce81311e33e0302047c435bb500683066023100d10eab7cda9c838e92df96a975360b5da3bccc17cb38e188b21d686a745e3f3a46604fc200862c2ea798939179ef973a023100cb734c5046d015992da7a3f383f3da743d5fd1a5607603acdc063465577b7db5717331c0f5d00f8c4b2c0a0bf850220e0302047c435bb500683066023100dc34e07139dd0542ace34fde22caa89fcb7dfbdcf75fdf978d6f37fec7f66794190a4564485978c8e73853147cd12067023100c055c6d3550b49529ea31603e9d0eebf504d0b5a0812b103e87a28c376887a71102a6b797f3dfacbf93f2f04639c15350302047c435bb500683066023100966c46e16e374169014e9b4231f5b793ae19c760d5fac55f0c11d4d30b1cfa46f3dee07b38d0a50148f05efb5479ff64023100ba15150584147030952dbc21f5f556237bdbfe738d7880447495770b43aad9c04f2cb5eac314cfb68c9fd0b9d6ad0ff30302047c435bb500663064023003255e6767e360b78ce57dea2b035c101d29f2cc4289957e51b01604f68d12efea1fd9c8ac4517114b26985fdc52bf6b02302bb112d0a047dbe3f9b896113652963585d06739550c916779ece947e5f9aa99a41584e1dda69424a9b79d9f4da962e10302047c435bb500673065023100c66dc36e13bf6120d27285020f31adf82bda10310331f27e518afc171c929b02b1c2c877c982674818355b386432e70e023070c5672862a70daaa2f87821c31a02e61acb35145fab7ac43c199bed84c07c7aaf85a9282ff7a4f082dd0a7c4823665b0302047c435bb500673065023100f672d98f5c9381f9f254f88483f8bd1d1d88754edb986257c61f5599a9753e4917d167c5a7f17d5dd5a11ceb5257e7d6023014b99d1593c6884d1a983ba75018673f7ea0b9ea251c49cd931391e9c2102032d2c4c50a63f71dd779320a23910b02400302047c435bb50066306402307548d745b96dd24d6360421518b70edbb6579fdf1f5a9c91903b0578d3eef14f8d132f2f310310b77143ddc91c3560e1023044f5a598e88037033bafc768ef4d26dfe81f275d855df830b24b231d96df606ca028a4131e491c6e13b299058c3bb5370302047c435bb5006630640230279c8d440c1c45b1c676e71668851f02cb7811764d2e25415fabac247b66ce8739931b548e744c5a9da9410614ed250b02300b0ca5097cfd5575f2681d1b90451b32dd7f133d58afeefdb05a30dfdd02d062579b56f0e980d69bc53b006b6cfedd000302047c435bb500683066023100ae3575afd77b0544dac015e7f2a16cf25d951168543c5e0db3ca3e5ee516347e60f27da72b900879d612eb2d3f37cb4f023100f5cc8f613a409420e6f612611e0a9a0822f5a299a78c0e4f9c34e77b80140584d0734ebd6f0407d081923bf68901ccd00302047c435bb500673065023100d5025e136b249816ed7a2312b67015e21f971900b4ac1b162a793dcc1138c4a5e8c92a98f4513514197b1dd09979ace6023013be62cf29cb1f4cc7b1c6c20a752ab45e55d085e39cc4ef39a7653916c80812cafb7a46039074d436e7c7f56db9ac430302047c435bb500683066023100b8b06223d9150e1d792fba2366dd84997b05ad43375e00cfde9ff18a07c4b275441c57fafcb689c1c30e21cfdd2a9c4e0231008edf4a60ec42c74651485d4038b9c50f37908135f820871bbf6fe586e7fdc7989513072804cc359381dc77e1964213a90302047c435bb50067306502302f2cc99c4c5338129ab0510e22b713ac92a20f9fc47602bfae4902435ffae5470df21ad84d8f95142eab9e804f03fddd023100ec91b1458b6417275d982a2d0cb28a6e4342a5bb85130d40fe4e6a361b10b071ca2fcd0b56e4d736ae142b408083c5ea0302047c435bb50067306502305d70161955537719dd1cf9ebe61e9ebae2283e4177e982f4d8eb99a96c4a1a5bd61355599b88ec947f4db8e7349e53dc023100f028ce70675642782feee650a51e8ce5c8a84f3982cade217b417a15a8dbf18a8dacf5eddcd3fcd1b7d0102283fd4b930302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064022f172cddb39eb4e840566732cd0b955fad5f0c03d89917486d48f3aa505319e6cd9b7be4684837fa9bc7cbd5842c361e023100941d1b10a01d482979888e9ef16a04266f622459422ed1b906ea85c3302fcab10307de5da045fb4b3a9f2bda5a88e5590302047c435bb50067306502306711d60b79459e052ea0942b4073409e616d1321c98bcb785d34c54618f811e5ad4820c4ab6700c766bb91c586f7a14d0231008707bcd5248e20249af74af0a1132a90f8fc9a606306d78ac96d1c708dc75e444fd2b015fc73552baf5d4429096c49ce0302047c435bb5006730650230062db71ba9ad309f5455ba3b156719aa52beea514dba82e829da152c3e3c5b5b85dc2bc1b039c36683af7b1b9cbecdd6023100beb36bff625dc1a7a8470912bb7d4b1c3a3bdf48f8553b763e6b70e29b8acc56ad94238babe079304f5ef44efbe4c0c40302047c435bb500683066023100a9e6625763e94b86336648f72534e8167adee8e18f88df26d290bcc039d2ea067467487bf066bbad530c1eb3bd525b8f023100a42557f6e4e21365e631e07a8852cc8783aed62a345225b483ae927c5a7af5cacb4bee522fdefaf064ec93f3fbebc0640302047c435bb50067306502307e975e47d55cff0df5c8077198bda8dbacea78d281966c302f8463d31287f33af5c715583b599f846c674b71dc5a9cf8023100b81bd0d68e3d3d19d05cb8e6b7444c2ba7c99f5709a15623693adfbbea309064b6c8887bf3c2b2667db682d4752e59a50302047c435bb5006730650230518f306d42b5cdbc3ecfc62f5f651e53c045eb810b28e6b52def024a2a6d09e08cc69046096317f92bee0996ebfac63d023100b8843e45e5da4a6852092676cd2db46313c625872dfefc4f7a33b0d127fbbb6bd00ae9b19230342ae2275c0b15176cb70302047c435bb500673065023100dadb4b48e06c2aa4c078d8448b6b7979d9a635ae2c1a82721963c5f0cb8bfaa6b9ba29948c10edfb86819899a9730f83023022de1c0a2367784dbaf620171e9b3643ebd22dfde0ff58006c90daef6af70ab9105f3a0db04a7da8dd54beadf4cbffba0302047c435bb500673065023100912f7fe33d7c2825e40e96c4d4eae54f61cf476346c94b31fc8f0dd795afb7665abfd37a23293803efabc97faac7b7fa0230786d68b0257ca03be142403270d86e46fa3692ff2e7fce3478238c638750ffad211c73bd536828580f924af6d0dd03270302047c435bb500663064023066fb4cf52d29c8974d58da64b552ce7f35a12c3798d1fd7dbcb7e4821cdb1a783a48929e0d1455ad935fc53b762127420230445571a102c73e0a329b9836d567c7725e2440b914ae8e69e5bfbfc7f6e4ff3fdb25798aef7e24b2513165a67ead34f10302047c435bb50066306402301fc99fc78326dd90882d7f22f9f7118a7197d940890b2cb857c3e6f92bde0060ae6a9819f3895a2594799615a7a7ca5102307ff31124d0666c82569c0942841ae6c4b16cd805f19dec8e32a6ec6cd64f733aa04b809908fea7cf8d55f70627b24e2f0302047c435bb500673065023100d81456a13f27abb9094963fb0d96a992327ab516b7eb6d0aefb8c857a9e5db4c2cdf23f106dd5601cb0f4dc58b2b2fee023023f426c920157e44e94cab32c7f7e0c7d4012cdca8838e1aafba2d18b78fe879439278f3d7a5cfe49e3982008b07133d0302047c435bb500673065023100e083f1514bf5ccfb0ee3719b729994aa313fa6f15c39e8c7cd5359c7c86b4f54a2d1f394cde0ec3f4e94cf16fe8bf68a0230450c34e273bd63310dc0a8590f760f56138fc29106552a33ce0ed2c40204d1ab29a654b81dfb625956e98592575333420302047c435bb500683066023100e40133f525c8ff56c650076fc994783893d6a2a13302bc7e6177e4746c79467e02caaef88ea29712c7e051d87e5b8c14023100df4c25940ee4f31b91863b12aa894f0aef9f58b927c6bbe717c393e594ba530dc65b075142b225ce72458cfff0c0729c0302047c435bb500683066023100e59c6b95134c76615bc6697720fce07712c727dd297ea69a776f9d8f799f4c44f8b30d10fc6f336058528fc7f7778527023100b6cc8c071cd3f89daf126a5ff48bfc4124559e2c8538659ae7765ef0a4a4a2f5aa8913d859488bf0412518d80c00a3170302047c435bb500683066023100c8a337af7e6f04a2a447d69effc2876473623e56752cbaa173bf5bb4e45577a19322861938ecd7923cc092417059f85a023100ae19d9569362210ca4ac0a3ef713550eccd960934fb8e9831673333f6645e8d4ce15610fc61803f42e69ed8631ded1550302047c435bb500673065023100bd08ca79316198168f584500ddfd1305c512a989396e3e136fa9da5647cc3e507547ed16009d736eca10bed58c41ccbb02301e851b9b8c5ce3bbeafaef625394ec62d72a4fdc0c134680c1ee9f778a083f8d8d651fa51eeb7cd4eaa82d9ff88bbc060302047c435bb500673065023100e8c85d8947a9b9372536a5a5435db8a5390379c166f9494b9a7ad498de16cdcd60f719ace86ab3a3d19f769088e5b9ca02302c49a3d339829af452205ca58ee5708849599153d7f7597554960bf97bb9a63996c09270c5bdfdb19b4510e27ebf53e00302047c435bb500673065023100a32dedbfd7caa4e3ed75b4218c1669b0ebdf79128cf02adf2b977d25094afba659b5dee8c051c5ce04bd0a6db1734f9b02302194c9981276896fba112bc2a07b4f6a4a3802f9866f5eb80c57754005f6019b5e06d1ccde20d3267cb30a6dd69bee140302047c435bb50067306502310088f1b0791853d064ffcaceb3b3ccc84fb0df88cddf89eec9d995dc7f77e2c29fea8ded21712cf47352a1583abc178ccf02302a640c5cc25ea5c88824f57819efd758191176e204cb7d113436e98c1233ea700a5ea4d19623a70c7d7481736658485c0302047c435bb500673065023100dd0469d5322e19993f089ca5e598d3ae75c3c182e30f17cb89539946c983e2eb4990582c8742bb694caa876007d6b05b0230099de4700fcf960f1e920f0a7834961ec34898b21b10a32114431d9e0e355f74f8d4d689db5a5f37903f74bbfd216ce00302047c435bb500683066023100d9c13f809d5e2e3b2e6498a56d2666a183c0522a6ee5d7c5fc9630b094155671cbeced81217b8d1260f9195b478e4d540231008f2bd79b41881d49d9015c57db71c6906dfd51eafcbfa0feeb90b35f609b348323e4edbc40c7882ea10410a74fa2c7b30302047c435bb50067306502300d78193a3951aaedfaaad957b8a69a16bf5d8db22e51fc4dc741fd518d0f795543c89f500d30e3540b3a586ac7f1ea4b023100a7749011a3b5fbe149755b5915ab378a99120f2ac8129f681dfe48bcaa4e50062ea3a1d9f4ccb2b99bec4a07e5fa1cc40302047c435bb50067306502303b676b79fdb980badcccb9e0ea7932e0f8d1a5d84f815dd198537c184b1fb3b5da3330bbb2b611ed5208e51f6667100c023100e5964f180f4be8d30805c4d681eded514d804cf7e3b9c198bd9cfff54a9919a1bf810e8e0a13317ed1599c329455cdf30302047c435bb500663064023065ef841f729857bca7310dea5642f106adadf5a7dd41e511252466285cf491fc157c2f497a8ccb8aa4fbb99c7685e56a0230205ea02a4613300f62892b98816c4c7b54228b6fd9a15eef245a1ac37ffde4b9399fb1ef9de05f2015b956ea268e12410302047c435bb500673065023100a363d97ce9ae3a873b8828dc18d51d13ae6876cc8623a725645233cfe82084a5fa9868adeb54de11d6614d3449760b7202306dfe95049fc33e922adad2fb5b7e65a7bf2d413b0ac2b456b077e19d11e9a21698a86386011bda5682e1570420c255b00302047c435bb50066306402300a487408bebaf6fcf454575744a151cffb20f7f228b4f590c8744d050820cdd2a8822d0b660221114f6c59a815efb7f20230172008cfc319d950a1d963f1d4fd07ea5e24b21fa3f546e276a546e578405d7a4f7050b9c24f3f6383ec51ce5f505a7e0302047c435bb500673065023100d0e632b76c8b673498884433afe1822ce9552f2719bf3f98fd729c3563c9cf2b4fec6f946ad4896294aed8cfaa93ca370230050b30a84eb9fdf84be7b06b9e7f851842f9493cea9f32bb783934a3ecffc4f22b25dc67391a131ac33de9db51b90f7e0302047c435bb50066306402301a4db20b393a4bee1f548db75174e0b4cd580174b83c0f4e0f7e464a132ffcc0479f56fd2b9173aa23c3e08b592a741202303d087972bb8f27f7243d9f79929d37305da31afe07da5990a76a4932dcda2bbeea00a0e30b708e91603d66a93043f4190302047c435bb500673065023100f76a92d787eeb3a3045750979aabdaaff72d049f5e422c2ecf421de5eeb849d007acf7aec919d26af2459fb48fd56a0502307bedb79ee7433370a97cb34c1e9f662fd9d5649a24556aadc6577e9f17c3a6d63104e4739d95bef8e42a6976d4b1bc780302047c435bb500673065023100f2395f87cba74b003dca42ffd29b64c4560aa7359a2766a61573eabd6006295ae0316114c4054514e97b81de27817a92023075c7dcf6b9902517a4106327745cfe8b941cad78503b3b95ebb8a580a01697efe44fa4589c72a4cf34ae72c2329603d40302047c435bb50066306402303f9b5cbfae41adc0473068ca6c3d499fbd91f1bec512d8e26a0957b1629152fb1edc022f55e8c12facb8909f5299129702300c836a9bb6ac614335fc678c1f3ec504b0c4257d4920c77a5788efa835c7a8860e4efed63f53040597112ccf2b4166ce0302047c435bb500673065023100c27a3b4e8ca99529b6620a73350d9484b05fe752eb7758c449bee31d530a7d0e84cc54b5f5d9e2f119d78b4bbf770ef20230714a6a2c804cabdb780b6800f7644bfa78ba9c0cdf049ff6d7438e59a2f04a908895c4b337663e34bc561aa5c27cc8260302047c435bb50067306502300bb91c7248ad85ba8e92b62160394028fd7846e811066f57729673665d3593d14adb7939c471ee94c46f77655a0e2e56023100b1f4a3e2efb6156414af9f734ba88e55390348dfe48c86f89264560ab312aee0f8f510d21254f37d1902fc184722db400302047c435bb500683066023100eb1b6754139b06e0389f2437b6e730ddd918a671dfeed7b2e85650b838ad050e86d424cfa9837ab1864b19305aba69fd023100ed1c817d7045e4089e79bd734219d20b413687473880d029101064df36d6ce02cd9fd8e8b578558cee5da3f49880dce00302047c435bb500683066023100f9e277ef5ed634a634fd284198a00dfb563503877629c84780bb7af548efb64c5c1348d386149f905772bd95eb54771b023100fe40f910f01cc8ab81fd44fbd66182fc298d28e759d107b2793e61606c07c8e4e9a80f319ea3ecda6aeadbb50f647e890302047c435bb500663064023038cd1573fe616c1f213d0d02dc4cc7e7a6e6f3beb055a6eb89290aacd4a5b87acb1d3ffd49d0f7aa8bfb55c9090d4ac3023011600740e6a1e251f2e58615c8b4e7aa31b5e28a6d9ea1a2bb1b1daa9a0f25b37fe0aa13946942f678deec77380a46830302047c435bb50067306502300598eda4922b2479ccbe689437882d95200235421bd2ef951f0bc2e7002fdb8d2658ed675180f58ebd1075f5d574abb7023100b0e53195eb00ac325d5dbf586154ee034c5386b90d293a647135bc48ac1f1951ec7703552d17d4fc35f2731131890b510302047c435bb500683066023100f93ecc8cc3e5027a89e71caf850c4ad03addb93e0fdc036658b07cf5e1141d31e0bc40e49c582779f1b657c15c6cd076023100c2ec10b760df1a95a52e87704eb5454c32eb866e2472354c8fd5c779204b3f9cf74f5f3a2da9ad621a5c680225ab91890302047c435bb50067306502303778421ee53e3e93f33fe3458486de12ee1c29d16757af90d8ebc14528befc47229fb76b8ca25a2ff237a7b2d2c395ee023100d9b5e58bc800c2221e9d001c0275405cdd7658360018e45e5ffcb88962e05a4f475f24567a57af931ca10e18dd7b596c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300c2f14cdc8240b1d362ec45c665ad9e83f676ffd354e586674a30bee7b4859b20b5908bfce13e8f01473d34a2dfcbc59023100ea2e6dfc245b6af0ef1e30af4a3cd59b297f75db060f4f2e1d94db08602619de5e866df634f34fb2d3329ef8aaf897350302047c435bb50066306402306821658c25b95ea149c5c9d4f44bfbf2914b8f84596daac6064182a3b076803d3cfbc247641c69ce3e0c5cd14e94c74b02301d41943e5b11ffc1d0aa2004ea78fdb5dac97b13444da89a376686bdb1781596a6167371338814a6e5cc4e1b49a47bbc0302047c435bb500683066023100ee75774bcd4ae1c004098fd5cc4bd9064e8c1903183287a138af9eb1c5916a2903947bb9c498c62b6129e31f2e6edfd8023100bb5c0cf58fb0523d33aa0649f363db7587c4ad3e3d8cf290991682be17c891f9dc1a59802fbd4b3e1c24cc4685a5f5790302047c435bb5006730650231009e5b7e0fd3d6b24c5a4f126865ebaff36097ffa4ddc4c0b8eea29ff259d59e613bd4d705a812d3b178b151dca666a9c5023040fbc4c79ef5733b6570e9b3efced3148b8f06eb59309ae7bfe92d8f53ae60bf5b92e79270807a0dea027673ea9c9c730302047c435bb500683066023100c995f05a6592ab5a155ad997f3175cb81e581bf81dde52098b605a81fd7b148c5d4aa76b1c2c259e7a2eac73d390206e023100f7ade775b899f6bd56738bcaf33793a5823956d6398d0130220e0070fb30478ba4865902289b2d35291a0994fbdbc1fd0302047c435bb50066306402303bce7e8e06d92e2d089b6676ae3e66e8f212e56158ef2288b2049d28bdad3e88735521d767099b8c4c2c0f875e7ab728023046bea1f9c4b432985257fa0ed075e52fc39d6261ea9169e65e6d6ea7de341a61c18a9601d8b26e37256bb7a6482608340302047c435bb500673065023100e9aa6ff4ea4d040ae79f7eb0800faeb2319c5e6607d75c63d1b34430629124f014f4c82b8e3237577ee963a726bbaf88023057ad792777d90fef58b6022d56375bafa593c93392141c2d886ae9eac77c030f9ed9f2da1109ef8cba9ccf022b8da5560302047c435bb50067306502307a50abf7ef0375852bdbddf815d587824447d2dbdd35166c93294824bcc76eb76fb27ba1322629476aa4d56b5db48b77023100e9ec8ad261d4dbbcfd9286ba647167f58e6298654190f8fbc6b024548a3c256b1786367333ad397353330a0f445d739e0302047c435bb500673065023100e6864c639b4caced37e9dce3152c3ebb948f30c92cf5bc20b133d4286ddbba35af08679f22536dec3c659c848e1212f9023018c225c5939ae21139f78c28ac1d8e1fc1a9aa921913926d6796406a2ca345659ec49175905b4fe1a16001370f58bf6c0302047c435bb50067306502310083e316874ae148778867d4476c715b70571f6835b8c19165a5fe97660056152f7baea53f4ec97c26e3eec86f57c565ab02307a4d52d47e2a795d8f9393fc1b0e8a1bd9c5ac37a3da73120b9bf0398027234e7fd86b6e6bd2946cb80210d1f7ad3e500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c884ced5830b4c534533a27aa969a1de4949af899cf4cc70ab6063a9407c76d64ec245b01748c682641f17dfdbe5f53d023100a4774d2e74c6b4bdd721fee1f10c05a150aed1362d3f4957ed0924c0a14fc1696b3f12ea00cc1c9373466719efc3a2290302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023076b275b6eb40bf6bef708edc79d36a24cc53adacb25d1cd0fca357a766ff22e70a5b1ff35d0853547a69e1e174bc0199023100ab6566d453b3e39ddd27a65daf122a18c0f29454a9536c372f1c83783c85901077bfb1a9dfcb1eb1b18495813414125c0302047c435bb50067306502304fe7b8a22281a2d5e5f06da02c2cd45a6e21f580a0fe27c7a43f232f5d6fa906c171611305a5b38377e8219cd88be9cd023100f4e44effec9330a7fcf0d1488a942b0382635cf2b2af24a7f09312345be6b29d913afc8297ee74a9eb9c0011889b82b10302047c435bb50067306502304c9c836bcae54f091ebd7f483ce2a94ca1347b5bb25aea8bcb1368e6959891abd862ada1bb991ff10a99c9158b27bc0c023100d3717a0786ee04e88bb0ab68d3cd4a5e73144f548304a53b5b1a87e5d4f204be5f4e9d142ecd1d19ff451794b288c1a20302047c435bb500683066023100c4556a70f399ccb09377e36dfd3a47492e0d097b5e01dcbb40bc0b674eed4ec8c05e63d310b4607e6e904362d2f90590023100fd7e34f02f2372110bd741bb05724fabf9f14a818d24834a26904ad03a66e22b752837f5bf3fbdfa43243c740af0047e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008b4a8de8ab836fac2f8367fd210c8798fe1ba54791b5563c01a4441ca05d32f93c5d27c880fb9e4962285ce21800e557023100dca69139e31d9cbe3312d68483bcf3c6e9e63b967d6527952708d6de3ff6c1644efacbde391130bccce0883b9d8fec6c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023039aa3fe5f4b2117f1c3d00924c875d6e257d9047097a2dd5f8ae99eeb5eec44839aa6c88067098872e7af8d38105390b023014e0b7e9c745b9d07460cdcb6f51db4b7d2cb73773bff58a5f0ea42bef08b307d1c5abe0680eae4fbb185c7e8f1c5b750302047c435bb50066306402302190c33a8d0b5f24c43daf94b7508d11281a2efe8ac84e808b076fca8f01c676035a820bb549d83606afe76b9993b846023042cb1141d8c5f0e1be9a7b9544bb5767f56f5e9d593744a3130ec7fa70371a13e9acbdbe4bccef5228410c4d042119d70302047c435bb5006830660231009ad42a496d0d7cf6da4ce6bc5df020b70ee1fe991fb932a8fdc2bcf0251d794a7d582105e1f4ae5d551bac55aabf7c0d023100fe4da378227bb8c8e938be4ad42fba5dd7eb03a00325043c7c264be9bbfa3b9c9e75dfddb93c059cea5a56bfc46f11e70302047c435bb50066306402304fe38ef91ccb0c5276e405d6573441febf071a7dc3c282c3bdbacd12d35539a835cbeef9e582ffd118808b9a48c778ec0230168cb5953d989c4b5e196b951b98d192b2d4f73ca3a446748a6d8fa417d114c0c6897fdcbb1f860b47adf907f1b5e22f0302047c435bb500663064023018b9b08ea92c18a64e3bcdc197d3750661186a54339ec2cfce31b6e7ef13d76a08a1f75eab34f6c002f820a6beeb8480023055a8301df8599c18c964084b2e5045a141ec9b9d909de22409a498e02b40a54c6f6e656e62d08520756c35e735d467ec0302047c435bb500663064023044d0a7f3998c9d5cfdac0d182d64dcf4f5501f0f9485cba22dce42a119380be9662e39879c203e2be868d17556caa62902304dee050c6a7809518fff08eeb730ecd6e241af5b619569182b2afdf2440e5192b005c35f004c8fed0e0eeca02a4f61fe0302047c435bb50066306402302b0d56aa053680680b85be50e355e1d45bbaf5105d7600304565918170265435c3fa6b11773da2ab5bd9b0917143622e023006e6d04660de0683e1d8fbc4439ca2480dcee1355061e67388095d3e6d0a6138a43c5715e52976d73404d05dba641df20302047c435bb50067306502302759e715e5ffca512eb6aa4973542cb4dc3373ad79ef849bc6f02b8ddbca8848f8c3e16adee4071bd32a6bf1e9c9dfd3023100a17cc006e8d4440c7582e296a93b8cd39b9d478d03719d7bd5c75f643b23996aec1ed0c7a77bad55e2e3ce37ddd386e40302047c435bb5006730650231008617b7a941a47c4f6104eb46c93cc783c6ea47df08f8073baebf84cf263578dad37948f9d660cf7b2d9063ee249cef0102301ddbe892af31baf4138a9903c3cebaa4642a119ff9d423c1278cd535a56da4a79099b2bbc03cd59f9d4a2f8696b603c40302047c435bb50066306402306b4ebbf166707a55c9e099f685344faada62fd7844b52caec24112236d67efa90c22b61667d499c815c83c022de25cb40230464c4cc587f6697ed6782864425351338a992ed358334f3419f1252021356bf26c55d28b5ebb9410f2fe99513a3121aa0302047c435bb500683066023100d288d1ff3d0d6b74f6bfdfc619700c2c6659233e098824491da628530eedd46784cf7770df8f3f8f4799f41c2559a264023100b9c112bc6b14989d8b5b512242d1e184da3af03e0f7dfcd8afaf4a5f55aebecc090136bd8730e28153e3603da582ceae0302047c435bb500683066023100de58ef501bd6eb673c3c1d12176b953819b890d15243317a1845e1c6124ab7622bd68e8ecf96ae58f37fc8974e5d39390231009ef98bce1e3465b45065b5b90b756b55a7a42318d74f2a5cac4db1f5d7459fc7410852fb2e3db50aa575767382beb1a90302047c435bb500673065023100ee56527292c6cad8b8063b0e8132a0fc41f8dafdc2e4ba78d453a309e24392b5a969fa4394033c4adf6408816dcb258d023019e57100928b6793fc01a7b48a1593b7fe761bf68f124ed33a2b2e0b358735e718472daf4a6354d02a344f54d8339c890302047c435bb50067306502300afa9b6b457d72bf2fa2f3b5ade226cc6b12418db26f507fb08acb702b0f323fd5552a91c4b1933a30670b53c0abfdd7023100fa1704ce12b5d0f1978ae9bf6a009afa63af872698a60f06c68836aaab1cc9dbd8f0f2ea471776864ddc016610281da60302047c435bb500673065023100c258e698e6fdc595332d1a5328a8e3f5a59a00b3a1621ebe557af7563e6f9684d7985a96e0b77605f305cf4abab04cc302301da96c6884773268e7c9298102369fd9d072113603f2f8af9ddfdb60972f64e5e156cc01c8cb15d9b47a8d42923169de0302047c435bb50067306502304b1ff837d975e5866524ea6be5b1db711c046bf2d2588e6ef6fc1ebfda5950f715197b7414d4cb2bfd8e7006c8559267023100a40eb8c89aacba12ce6550a21c2c46fd0d1786d2f11690996aaa0b65f4c2926acee08e781bd0e6591e2f7ddb82fdfab10302047c435bb5006630640230259031fe2e64cbf760b570fd8a71818fcb97348606169f8a6ce83c04f28e4c9cea007e372b92c2e0ca6db09910f01f7e02300eb9cd09afe6b2a7e18e037e067faf89a5decf5f337ef5402b971f71108ebcd02cdcf97094ec53b7e9a9fee5592ffbe30302047c435bb50067306502305baedc993f59653bb626513359c7817b4571675bf6c56176d4bef692b419321e4f48e274c2565f794a9ae6604fda481a023100d0fd686ede452ebb4727361e813c36b2b596f4c431dbd82826ba4a2bb99d7553c21e7a38144cbf4dcc0871a480c126be0302047c435bb5006730650230656efa4455826a91eb876312e8edbfa06fc134f1c73e8e8bc265108b4900a16e33ee20b9c0b66c3f18632085f9daf4ad023100b0c875032b8c50b0a98c16cef15b09a510213c8a3ac42e3ef43c10f24faae5a6a244248508808e4b164c6ac7e8b14dae0302047c435bb50066306402304b711091bc06bf925c5da3bde12308b74a2d19936f139f7803d2cf864984d3cb63856d279d4cf7b3fc6d96b40d6a0e760230455c99226e5db94bde51aba123faf906557ece522393bd0cfb2014343e5d2d43bbd9c3f3e13a384ff24a5c6726a67f910302047c435bb500673065023031d85654bfcd464c32b058ec3516199ca023cfd82a947f08f53bdfe7dfe9be4be6c2cf5ff9293fe682b5fd8921db992e023100eb22c7182666a9c37ed53dc56a8b0559f0c52a1dd4c263abd9d1979e8ed41a4dd76550bf163f089df539057bae5241cc0302047c435bb5006630640230338b2f28e0efee9c3884ffa5b1e6af64852862fd665bbbdd91a52f200566d170dc1ebc93ab48a1c0b91eeae7b0ec02bf023030d96649875304031cb5d9aefb25309b1b24189a1ce1f0ab0c3c95d22f04d74e3ab709438bdf3dd4ce02e8808560b27d0302047c435bb500673065023100de89b7d521ae8d80dc11e7036e7ce84bb98daf3976cb36ba3ef150d6c32b9dcc80564ed2b7ad6cd2148e5dbc207b524202302a201d3a24e19818997c0b22cda5a2cdc00eac2af7f0f89fd47900cf5f194320dbd4bb752fffa48b2a5e8d96d35c5d400302047c435bb500683066023100d2b88928c70fa490b9d2b76c59aec5ed656f8bf5308e81550e534136455c81b25b28307459f85fbf9ee980876c71ad11023100849b050d92b9849fbaa411722e133fb9889e3d22d22cabc4f46ae295851faef80056bd4d2f61a831bd2a40941b657f360302047c435bb500673065023100a389d893451e2cc049dc4b6015c8956096ec80941d957090efe2dd6f3317dfe956cd2a8fb15d389ef04f1ca7d902f3fa0230539a675ea4329081a81135c15a8988ee7e8b9cccfbc0443bd12cf453c15318a1db9013c6375d8cb2d382f02de3f479760302047c435bb500673065023100a3943aa61ae1115f7c3fb1f31a1f8dd9a37d7134e5364ac5af6720f2d2dc1fcd55a1cbc8b1583ef175f51e5b47bd1a0e02303261b94d35c97db31b2998d9243b537f67948f1a7e625c09e3bb46bb80a6f39dbf7794cf90fe5b04dfa2ad4fcd4ae5100302047c435bb500683066023100ff710bca3d4df03b97df419b2e6fb83cc3707d3dd8660b13c3850c3f2a5161fe8a39e8578776159aebfa628d06021349023100dec483af16fd2bd3754b5079cb4f913a0c012a43dba20b63642724da7094e47e4c4f38873fd1179ca9e567c498b4d6a00302047c435bb50066306402306cfc03bd0d08d7bec028becaad1e6eb1db819bc2b193948c0836fef038aa218712e5a5d6c477cd1137282225ce4cc871023039334fbbf4caacf2f927d47ccc0d144867a250e58a23d16f8742a9cc694ec834bfbd2dee39fd247a3c55a23482d0983e0302047c435bb50067306502306d04e8031afabdbe4746fe152c92c5e4cbc4d684ee55760da37ddec044fcfa2bf7d9c2654206e6f0f935443567357638023100f3121944f1017d20f378ad7a9ca894fd2f9e64bed6f9c71f79871cea8114291ebacc875a865fdaba05ce81ceaf7c28ea0302047c435bb500673065023021207a44528184c6bc6bb4769d61e38a451905c4788d121c98855d2b6e6258f8af813954fae6aac806ac8cf3967cf6f2023100f90da4622058445fc03b1ac504c1f2a5e5f82689729d32df725c9e3ada23df58f85d88d7b5b8b33bd624059449bf67610302047c435bb500673065023100fedda09bd97ed225020318aeb2a4b465f88b4b699d975f0e05083e87e27a5fc46d563a9eaa45f50d319092c47b66d49f0230182a0c96a51080c1c22dd43987a3d11a2227b946fb5f3e4090aa6269e8bbcbd3be73e900cc2f2ca0c9170b1b88a3a3a60302047c435bb500673065023100cfcc74d81fa256018b42afc7c04ec180bf7695dd52ed83763401a52cb9eb7505730471841f35a179584e3bcb7f12407502300a7a8145d519bc0c61570a3f9f3fa1b3f3abbf3063ad8e880fc6c3bba87ec9fe9b413a8a4ed1a31a50b3da35523dca960302047c435bb500673065023100ce9865053ac5efe5078af940cf4c448a727cd39d075eb0c5a1c259260352585f6dcc9c0a061a33feba411355c700679b023008aea8c8ddc392506a7ccdd100e561e969082944f206738854d04d28beb6128d89a1d0b77ca276cdeee9398841e4f3800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023033e61457dbd75ca134fd2518a726e41521816ffb41dc6b41bd043ed341c465692b055a46f8da37c2de3d247632406afb023100ce9259b0d138cfa5ff561670c39f4a20aa7582129555df3a3d31040f476ad65c0a310db6038dfc2230684a60df3d89a80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305e3227bec5e7018521244ca65eae19ff54c5f673d08a1b0b3bd4c2dc6051f8a141eb311424b79bdd7144e1c72c1fcefb02301d24780627c493cbc346a0bc9e58d2d46414da5704c1439f402276734f552a76190a5c5b1848f9a03ac4d5a6b8d067830302047c435bb500673065023100d34ea2651c8ca59f88db1866452c2f6d8d7c471d277f6259f759eceadebdb7be37ca029702506259594f7c32a2d30ea80230209ef9576c175b6d5fbf3810a52b228465f0acf04e65656995b1abd3b20f1206503cc7050c159421b9a8b8086f1d2e8b0302047c435bb50067306502307acdce8a4d45fbc5425f61b8d183021e661c074304c3513565615aa02d5c54e803f24d27c78a9682dc53afd8f054a8d4023100ad2e392c6411904398cb893479e6e8215a573fc61f16532b0833e4588dde08007ddf6774d6205e39e9f071e4472ad5930302047c435bb500673065023100f64b3d53d65f0f1f159f28b0ea4a096c97114df08b371738004cf2ce71bef9f0ccbc796e3c522d8375919f5a2c48e22602305e6356b0ae48bbe5d61c2739221549ba541136ef643524da0e5348e864e9eade7b8a768c79c0a21473748bf6c596ab3d0302047c435bb500683066023100d4aec610603c95556c793116f221f066943fe4f88283c0f063d7df322d8dd996fae3e3b425917b56062519ee65264619023100a4f8dafc3897fe3f7ddf489eb317855c2fa6339b22a8b78c820f6fd5d27497fad9c9979d5ceabda69c13ac4096ebd0da0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100858123a15272514096ebd357e3f3e61ace3bddf0619870c9fed4570071f82fae9535431b1890a7d1ababc481af7aca97023053c7a0b2487e105efddefb0a295a0ec79543d698b7af6e1e2779da8cb76a23dda1f75f172089b0a71861c976306b86960302047c435bb500663064023040646e1d09772aaa1b67ef83d2ab432f7afdf3fdb027082a610d0204188b2874a96b3418207c72504bf920d8e519eacf02307cb0782dd60ef9509b65c9ba3a75b79bfc126c7d50d7f3713c5423d66ce408cb0e3a8d81a288d181321b62d6004da0630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300342b6797259273dc253cbc2239158a11b71ef599973d715084961e9eb6861125427e22330e13a32420be26178f44f0e023063a822f4379bdde11d5f1ee8fb93a51b80c9ee5cf47d08b01546fc59254027e7fca3dbdb09f14ab1da7ac30cb2aa658f0302047c435bb500673065023100a76af19b4ed0d5c87dbf9fe1fccec6dd667ca731395891740341d58f726eb21bd582501cc596154ac56538121f6ea4d902302e11a58df267e3a50c8fc8585ce1eccaab4789cb5f5ca26f7c7cc17e0f5a23d786ff56c136a631532cc2d3c3e37614d90302047c435bb500683066023100ab23aea111971cd7b5f0ae28987ba181099dceaec4bc23ebc96bc58bdc0f7c030003989ece392a6873ac6988ad39f4a6023100c6dedc5238837e7cfbdabc7e8c14c7550a69a465ad6a3c0275eafed5019a8c86c6e05f31d1583db0043afa640b1b86ac0302047c435bb500663064023009445d9fd01fb2976713eb9c7d8f14f4e808be458cb721b25b9f7e2eb6f323eb5b9d9ddf228f7b8e6a87facd4598827602307c73ce211bf63a0cf11f94d43c67af5ecf05018de1ce78dd15190d6880180d214c8bccba3e592d9430eff018af606f840302047c435bb500683066023100fab08440df4c42c2b0cdb37ef71c2edae806d9e17b3f3f1eab3b1e87b5d340dd385e86d537360b5f1a65e248d65eb565023100c67565d593085f686fb58eef1dce780808dc5a826324efa4f9853e073bc286fc92bb9596ac562ed00b68b1317955f97d0302047c435bb5006830660231008a07378e638ca475de72b2a5f1ca9c6a8db574eaf897d76448da0e77b23ed0a17baecba6a8498dff10e04f864e5c7068023100b7c57a0898a8159efdac10edb92fb74f8b4e09d4f598016269e1e3f0deb5522b167904dd817e38f750d835d6f31e711d0302047c435bb500673065023100e30ee9997ceefdf00fa6dcd16215b7290bb6c13c5bab444813835f711d6f8b813205f4af696272c0b301c8b58c3607cb02307e5609c22e50848b9af3ac4e317d83ee4606c09f319bb5779f92a6726e511335ca210047fc63ba22dea6232ee8ac13600302047c435bb5006630640230255ccc4b1f8c2694ae08709e09d61f5fcb08c0403132203c1c224b37f9d31d66e29ffb9c9b376815bbc251c68c18cbee02305d63e0db35b262c1654223be4ae484472b8a45d9bf1313d61909ba29ae914cb2b1478f41213a795b0f1fde91e8517b430302047c435bb500663064023009ce6ce05fbeeb1ca6f58d61610fcbfa8aec7b6ea86957655c15b3c6a1c53dd6625db4eb84f3289dbf9db118a8000314023054367dd820e2edc320d51cffd99c1177f9ca03b2c27e77cffd733f7d2c13996e5ae8c36f6ed9ce07914d8a37637ccdfa0302047c435bb500683066023100e512c3315f32995c792250bca9168a1673cc6c801cd8a3d7159deaeec9757e2d3c4b39f1a2a02ac73fe43eacc7ac6f32023100b62b1f6d705f290866836c521ec90b6699f56aa5dba5abe0c2def77626fd61eb46da3fb2f93c3cb13b808093887caef90302047c435bb50066306402302b967316f21f430d9206cc8272fafe8059c8e5898d6c84301c9d78933e7c4817d9390395b1aef748a9b24e9ebbfb4e9802300bc13a4ce94378f88ebe514fb14c9ad99a64666e588bf64626cb24838d595e05f3c4fb8c0f186eff55dce373709d78db0302047c435bb50066306402301b85b1e03d5e04c871d878a090d3f8c6b5f6b178b66b537d8bbaf500096ff885a70613a3114ec89b41fa719b8204452102303ba486d1cd003a4b170a2d8dd1f59098b111bb280668877e290618bf69c835e38b9797676c7adc44e410a51a09fe58260302047c435bb50066306402303549299341e7ea445244d5b22c31a7188bd46aa28648f6d6173aca140584d9327d2287a1ab57e0c9874dad90fa7519f7023078211bbf9d0120e447fc8fe3cc5954d7ad63b35fcc87b2ab3869a059464b49c13dc01993acadedb924e85d403fc4427c0302047c435bb500673065023100eb1edf534f1581680aa24253ff8af284e0807a7063ac84669f07f9996700d2e6b261d3b94b55cf3484ae66ff7fb7814d02302eb055c30a79b7d265dd238e93aa37ecb3fe63b564f81334bfceb4b63d5db6a4640eb4a11fff1edce6e9edddfef2b8b80302047c435bb500683066023100fb705fdb95e59834a4cb8ff76cedd74904250293c9a2112ecdace86353a6d04ec0bf936804b1b03527d7768c660f56ad023100ab360933616c83dcabb0acbac72e73880b731d36368c7ca04ba0d7b66af50bbdb9bf7ee14058d7b251383ffcdf3e52de0302047c435bb5006730650230098368a913adb320d0b6a45402db2b87d7545f8740556335f39671859909fa3bffc907e65796322fcb3c6959555f8fcf023100c91bd5c4d82235e66ed47043f9b67711eb9868dda5787195c38e441418ebdde2d94cb9cd1f7fda26871a33282602f6540302047c435bb50066306402300959e6db2386bf513405e759b80eaf65b154edc7c1909329e2a891e2a8a46ea07097e3643638a66c25ef7fb30c4c271602304dee96dcc410c897308810c0a8ed704cbedd17f7cf91fd80594138796d0acc48be7bf4b1e45168f876e5199ee8eb92880302047c435bb5006730650230529d960344998272fbd5e9c89213fde83fed4d262e8c7ec71bf8491a1434b7420d6df51f96c76a133a59b81f42db82fa023100bb77596b12f29d3de10f6f75a1d62f9793a7790e1c9f869bdd72ecd3eca0174d23062f76d6ac1344c894f31837d3f4cd0302047c435bb500683066023100b433c46bb13625a7742ea72f92e135d926c6e7db2d678dd78713bd146f8ec673391d5c36adbf7ecf64a73d506b568398023100a4ad4760af771689284b17a8fb241626623c3157f57e28bff43d191b48fa0ff4d93a7c559a2df1c9b4506f1b554a8c270302047c435bb500683066023100f07fdab0a7911df380d04a89b7260745dde91f77c63d84a5f75cee9265759f200b9e43e2e57f9c88c41f94f040721faf023100de82e2902e49d75f5e9e93460e3b833a45584080f2d66368ef6f3a923361a96f44547f3b058cf559875b4247c2441df70302047c435bb50066306402303eac7545f01ca00f306c3a16127ca163d1d3ae56e49f051ee8b9931a802f79436d6493c320084e590d8a8b394660e32002304fcb16ddc021e64849de2a3b3e424db3ad2e49f775eaded7628eb5af8456a3e337f5fe46016b8492e61e935cffa386f40302047c435bb50067306502306852f220127e510b6e8b46ddaaefeeeed4a7717953a96ddb72bc0bae027c66ccbf66f3b56b6dbf6c6b224d1fb81b1d80023100f331c49a0e265ff4c3f81631664fce9dc170e697e88360138f579f3c51ad108bdafe9869be0a0a4be2e5fec0f232938a0302047c435bb500683066023100d1e5247e757bcc8fb933b58fdad013e59b7618a74d6ee7eaad1f50f2127c9c63645e70c9d644e5d3ed319998fb50cb70023100d556c19bd0f0a8520b52fc1e708c73dde3579887998eb74daad8388ec08dbc498f17ce38a23afc239bdc087878e005ca0302047c435bb500663064023068123cebc148fadfe4bfb5bfeeeec277f36397323d5696260e7a72eda75aa2544042d39f63e5f2a54d107eb834a7fc3702301dc5d3b38bb34848c7ba568a0abde9396bc8543709b4098f5cec15b5f4ea79d263fe19422d541aa0942255809705965c0302047c435bb5006830660231009568e36f11a9eb42923625c7adfe9005400c6b417f8bc3777c6b917df570c79899b0687eae651d95252d52b40705e141023100c27f1726130975b806ed14101f59479272fbf67a1e48d90de53f89a6af214602f390aba2989ecc2831deacf91573ef0b0302047c435bb500673065023017a733fc0de41c878873fa64f24b9695f441abde53f86c3e76d7c37000b53623964b385bb1610dd5b4e07e42fa2ae397023100cb38020bcbff60ed0623954a2376acb32a2cb1c80b5c950599e36bcfcf559df740263b6fe6d8c394eb8c19225bb5bb990302047c435bb500673065023100f0c122a83ebb91459d1e129769221cfa9a60c87d552f1557274c049d045cc80b214807450879fcdb855475a8c7900c6002306b02197cf8438fae4e434ec37bc27595cc88d31237aa46857c620792c59ac5a339d37b0aae9bb4b7dbaf66f563907d550302047c435bb500673065023025964d484af9001758b6472fae84a433f1162475827f6feeb823ae2d3ac4a84057144cbbf193eadc0a82b00b82a8746302310091e3e0847cba8f4c0b19341142884002dc682cc508911dbe50508a83d119c4152327da0df7d40de3efcbd7d208e749fb0302047c435bb500683066023100b2e940e1e400d217159404e788eba6573609f90834582e0a6555059ce97af9204150244e9e23bfd9d751f516cba49514023100bc802cda9341f14c3d5c54de959e26c37a0ec73a351d286f8b651cc95dd4773916e3614deb5786e959470b2863f259060302047c435bb50067306502307cb0a739ed741fecc5cff32091109ce6b64cc8e5afa460a0f9220a4daefafdbb9f92609fccb0083118e4bb49287c51ba023100c322ccd1cfb0be5837cc58b45cf35b28cb96edd0a316bddc25802ecf09f9197549713419ba768e2a360f0ce04794a6660302047c435bb50068306602310092d43834442fa71855067936afbcc12eafae3b2f6fd51f4ebee2525d8e6868ed982e669df2af53e29a3e9e64ffde3eca023100e2c90d45cb2c488e153c43ac871277d77e22914e7907c488a4f14969d11693e43cb08bcce8cb913776960bdd90fb68ba0302047c435bb500673065023100f2fcfd9e9b6ce1a5acbd23de0035bc2e7a2ddcdc77dc50bf4ab57ed38b5786b7ec9fd732da956950d8566226ad27224802304e92d123089c96eab3e1014bab965568677b11665c2cc25aa2bd02b2e744c4ee1dc70a6979276215ec9545f5537a1a220302047c435bb500663064023008aa61d80da87fb8610e64f8f69b7a800fde0b56ca46869e01cca3906f411f81f62ed3b0f15301e9286a111882e9e05b023051c5155b974d804b7342a791895e80b5e7e9497b2bbaeb5c4041d41da1918cfa5372ff32d9ba37358826c82ead6484220302047c435bb500673065023100936c452536fe906c253c73a7efbfde9450fa0b683166af5410bd9fcba8fe123e2ab9e2d584d44453664cc88c09e34d4b02303f0c0fdcc8a116b69f3bff02eea55c723f8c00738aee4a26584d1dc1912beda5dd1e945bc55a8fd9d8ba13767920396f0302047c435bb5006730650230400e20f1cca91a6e87eb83383a1762f5d719abb51f6660b478c6710fa9260c2970345fffe970b507e0f053aa529ce44b023100e9d840f934b31d324024dd36c1d76af8d1dca0cd9bd388794cea2f367ffe1a1d2fac38eb9f9c4ed2fac6f9d35462cb740302047c435bb5006630640230409ce4b8261e41258ef9f0fdac74c4fb2aac9ad67be2502b7d6f9c9accb7ebfeaeaf37efe19c49a675ffbb30c990b56e023002c1f1fef118b4c96086671cb3429737660a5e82b3502cac8fd144e0132c68717a0d5492bc87ade07374f127416b39080302047c435bb5006730650230185f5244eb27c8e8ffc3f16307b3069c145e624675beae7ddd8a398505485e73efe43adc1b243351d57b0cafc466b0c8023100d479785ef3fb17ae3a0b36447b85360892758d904d2530e356735b0bbad30fb419ded733abba9781b54ed26ba68f29b70302047c435bb5006730650230221dd0b5ac8b70be635961d2e2bbbd35935be76bf53cc2401bb361f4381d292ae100b45249129948363cd0a79b2fc6b6023100e214ef16a8eee5fa093d69708f0bea73bd9c7a7842ae6ff8dbc868e354126361949022efe461aafc777f7a708bc011a10302047c435bb500673065023063f1b3306c8c8e049605a49ec029cb9b77ed74965fef3a9895bdd953a4a0c662962bda4671ffd47ada0c4e2c6380061e0231008df1f8cc0a9fbc90689eed5665779e6df50d70eecc21b941529f7cf89ce4fd9d7d63db0e424e443442dc684ef7d44fba0302047c435bb5006830660231009cb1cae197882a09c319a5f148fd6f8ec8b89c5669d247ec5418fa9b5451dfa47b4144f132b8a636bdba296404ed6750023100c3fb78485f917aceda73c140ee255ffabc3273662b508399264dc6466e008044c91940d9b0dc6dc545f56b247f3b3c670302047c435bb50067306502300631c9f1d55a7c471814580cc491a1451d4b9ade710ec39b97afbd541b4c9c95a2fe1c98e717933500c163c683c14eb8023100defd848562fd3200e68fd8bdb0003ce151ef4464991a658c8c08b81e00a0444d8ba20aaae6aa0a769e631393408f26eb0302047c435bb500673065023100f49527ea1590706a72392548eb3a952b487c8441dea07121aa4947162e77ce2ba420b6a97db49bc184a65c718f5f72080230282d15b2d2d240b13c96cfb01571b7f19cc8402a3b2393a53630de87d79ec5b48d72c96300214a654c37ab15e98fdc670302047c435bb500683066023100dfce81b81ed91931c5dba751fbef5c19d87c45e8e06adc3094e7fb3c804d61566b5edf4665b11795c7a87b45850a06110231008296e7b637172a5c28a5841fe30d5da8d1ad65f155bc37fcb9192141ff5198fa5a8175860ded3f719d8aac4f549ac3670302047c435bb500673065023100c18badd93de4210e4f3a95b102d9cb101f98a904f4f47e84935aa0c983cf011cff50617a1597c49aa65d24ff1ee882ed023015408f1944b56e6802673f7841b1e23b7f840a0df8b4a1b07f599d0f239b17be90a82a79b397e415f848f61583dd9ff10302047c435bb500673065023100cb0151f7fad2fbfa23cfee416a4455fc768bc50c2e4ef738c1b6758b151133b344cbd0db4b84d61343e1cc6663300492023051273d6c68bdd7403675633b15c08132f358e91477f132741100d2894b069027a015580abc5b1fe39eb8450fd9ef2a5f0302047c435bb50066306402302173b27fd5a320c639a9e2615a9079c311bd9f0445796e1c54923d8a7f4134c99a6b4644fa83e8dda7500f8651eaeb9902303cc31d99b2542455834bb409bc08ab426eba039caaca975fc24ef85459f7ef1d72490d4d94e97ce668d3c767334b3d540302047c435bb500673065023100f11a26329a264f6c96b1ce02ca2af7aaebd7f22c7db8b80d36769522ea59b7b126541fd3003403050506574a30446f12023006129464feefcd9219ab1d42ded61f8a19b4d921b6c75c70b4590edcab7790bb7688e906287d24350bea29639b029f820302047c435bb500683066023100d2e158a51510bc1946de043d25631ac2c129e7c4559772bfcf5608520b031f1f70a4cd9c12d9af3fbd9b1be457e1f252023100be405865cfc4b15cc8abcbedb1a3bd041d43cbc9e018e3367c5f92c970b7d856e9c6458ab5defd0970cda258fec111280302047c435bb5006830660231009a79f845f447b7e58222c52ae59d1da63e1a06348ec0310979f779cb5f831832eadca3a1f2b7f2aed84ef36c7ee898140231008c60d82ded5806aa0820dfaba279c23cb37d03fc737d30fd1c84b170a50fe3245ac816edd31f2327e4607a212a4029490302047c435bb5006630640230436ac07c059881c45a017dc25468f0f80759a65d5f8a73e4989384d74b640af6eded113db180556bf55c58a56658ec5b0230268446816d054c98ecb9f7fbf0155d181c837b33b6df04d0304ec9e2d5017a39a931297e426bd3419d605258b12241c20302047c435bb50066306402305dcc13085dc32165ee8fcb8ab46f9c74404f3832de77c59f94023c3a2652792b4186285ae7124750b4138d9a68e7bad0023022abe7a9eab75a7d41a089cd3856344dc13b04b618caa907601740ce56453167b1224b138ee2e82209152504657055240302047c435bb500673065023100edc22919d5cce6d228f6b0e89b73766f981a3b90f26e92d1100df4bc4f19583fb38b26ee9cb29fbca1429038ed7d4c9302304adf6e8849762412fbba26427bdd82a41ff6fd9915d400879626468ce09fc13e54dce199a7a1c132fa251fa23a2503890302047c435bb500673065023100eee5679cc5362621f2677089abd4092d145d9496d9d676b44b60cd62c9413972a1cee908f8ad0a0f3f05fdb9ecb39dd60230733f06e70ba76e144556e7e29d10e1fa2b3540138a4c1b714849bc5b9bb65f317a6fb67bb08210da5043636f4f89daec0302047c435bb500683066023100f47744ba1d097abcd6fe71974c8f311b4d66982d4c2bf6a1ef1db61bc6ac8437c355058e5ece1ec9076ab0066c804689023100e55b2fe944c544e9d053a826c44a87ac20effb12819ac7058542cfe41a1f92334623c30889ad814536cf147dcc7a25aa0302047c435bb500663064023005c39cdf7f9b1e5bb3370697810aec49d2f8285b3ea9fd0d49f3792999b07872b2770d0ed2cb62bb69df9e38b4af25b8023022620b1ce7db149dcfc8116131c11e8a55f815c46cdb338f0af46198c5b7630ca205e852b91d58e3ff8ca2e49c125dfd0302047c435bb50067306502303968211aaf32b9a04fbe01ade2ec39fe111e7927f927fcd2be92d2b8f076beb14da00571b51382ba1b1896d6ce277dda023100cb5987d43f26d14a8841e15fcc3a063834dd2e8cae5b204f1ec734ff49e2df13e20e6e004ea9f5238045f5a1c6dc62940302047c435bb500673065023100a93f42a01be89bf81cf6e116a2b52571838b933821daabc650fbb54ad2fb72b7fe2e460d9c5e219c5ed73fb104f3c56b02303429b69da62f9ac611f8b883198f3d61949c03ae111d67c7a7a67b707cc2031662bef97cc0a9076ad0db0c27b5ff923b0302047c435bb5006730650231009789973593585b862de9e713fe40a79dd78942abf18feb5d236435da4833f85bd7a20237deca1d59fbd063f652f4c07c0230181ad9d26a0bec33b82b3fcdd360dac3ec40625718612ada0dc09575b5d8ac378cf8a91b1338acf985aaeaba05aadcd30302047c435bb50067306502302ce1ba8b8775384972fc95c3e151a33fd30a2cf788ab5139d6ef6e3194818eb866461b9aa5b0ca297eefb885a2756669023100ffa86814a0b1751aa1777cea4ec9cedaa118cb41d2f1c66a76684659c5b894f184cc55b95764ab2572c6e9796de3277a0302047c435bb500683066023100c47c8d84c9ef1f101f0fd1845150f4bf261af17220447e5012feb587c1fbc1fb423e6166b505bdd34aaaf23af6e77015023100b532f24e10077e7c1229a0ef02b74f2d849845f75bd8d3edee8b90caaf462b1e73401d4fb8c20100ff95dcbdd83eede50302047c435bb500673065023100a97118c807b0e157ce335452e3f8fba4613524e9fb3f1fbb25bb7ce5718248fc8a2d7b848bb569f16bcd66732da74e660230570303896016f8af22063faa98f5c807103387b38ae499591976d0ce2cdcc109c06fa774d28433c77df311c7acfdcd0a0302047c435bb500673065023100f5d46fcd9c6653900c8604828fb87ef2babb698338f581bb205aa40de089814c35ea9c5e3362425f8d0ea743b403e9cd0230779f50fc0dc325a30f91ae43d6dc5f6c957f2e28bc5b0adb452af9655e2a6da6c4ce5f34d080c53dd713ce44c0b209980302047c435bb50067306502305ac9aff3357e0061726438eca3b08226c624c3291d30d78bdc5c34ec0fcba9d17be46bf951022dc0116ba678a452c151023100852016a1d5e529e167d0858ca16d4195ff928e44c458a98134b4cb165fcaa3ce5d1c6233307ccce5bc695e01e24e6cc80302047c435bb50067306502300aec0c5072a99a44f0cab109989748445c0c25a79ea90ba812fe328b167e248abd82e9e6a9fb545c5761124cd0858e19023100fbfbe91be66bbd8b3351646202eb46569794aed641178c263a49651f98b768e00448766cba3522c809af716fc26d08ca0302047c435bb500673065023049fd7e664c103a448a97ad7a439c99c627fc0826772da15a9242b729188bb7b9b5248e90d2c818b5e2c719dd0cbdb08b023100dfcb5c9ff8d778433a5f48a7f8edd340f1bad28ecc94c6e794540eeaeb4504678c05d738f6b6e35e2bef3b4040f125ca0302047c435bb500683066023100c6c7c99e6af02ee16abb38646924cabd3c8e776c0ea0fde3ea7ecf195591cb9ef452fbaa67b42b433abf212e8c45db0f023100f9e9154b50ef69180ba49b634f61909764f7f39692b54b68ab445589eca53c70c03ed024c8b22e77fb178d6702c77b000302047c435bb5006830660231008b0f214a08cc7f836ecedf7ef2f9ea2c8ebc287eeafcea15e0df8423c68a56f03bd3cd4c19f807de95395ac1721b155d023100c9711bea3201a9d59b6772b5df915544cc08563c0facf76eaf9c479b3f7d2f0f6dbdc99c88d541a284b9669798145d790302047c435bb500683066023100ac12c841830949f3b71cd78d53e41f187e663fb1a3ccb67a2068bae20a27509d0d483a653c321c647f6408eb5df02e43023100dc3a17a4b39cd4fd2655646aa1670cb4370a35f121cb2271af77cceb54792a98f07b50fb5b9e4e56ddf4667735b327500302047c435bb50067306502300a11df9de3d4fea75079634f09e007fcf7817ea15d35ad82bc9e5da64474bcfebf00aec6335a3717f1597c7cce96dd09023100a88f998bc3e8f398361cba521808bea45d253f525366bf375f46c9d213b149f318d5f102384af549e14e1a1f2bb162e80302047c435bb50066306402302c1bc4b48988589fa7d76dba241800a836f5bfb4e821f4a571e248d0f7bafc15cddc7b1393e28ea334da4adfe133be0e0230637030941af32583ea5330101c5480d57022910ce8afd7974a5bed83dc402da28e73c72a197511712825f5317126c5900302047c435bb500673065023100904e1b6d3ff93643b2a942a9af47aebc321d0a1e919bf1e35e80b85cef8d225ff02a43f409fde770631fc7b560e4505f02304a7bf3bfd243b4920ae9df2b4591974bd9459be74bff736037d0a835eae9d42e71d1a265e961fbece686b78441cd912d0302047c435bb500663064023020644dd1f4885331a9c8bf658a352c812a133c8574339667c3050077ebc8dcd1e6749d03e45db9cb79f6fcbaf24905e102301f4f74d4abc233a0f15d4361e9f717eeef8add3648cae1689f6f57d2b6ae6b354beca4bfc3e4b607ba5584b06e1a116a0302047c435bb500683066023100f7d505121a25930e59e9bdeb057d16506621130325e6851e89e65f4caf50fe0b063d0ad69c5282d65dc39700a58b59ae023100d71fa7a8e07023d153951472637b0092c4b9af38a670b2d3bc3d82d6b54c251aeb2ced528d4f722ac001000b4ab0e67c0302047c435bb5006830660231009294b20f6640b4053d1bdf4d08cd8d5c648f4e3f7d72658b50b53438cf6608f4a0746fd421198847bab97eb701736901023100cd9e948496727c1458cb7c495cf956117db8ec5a977b3203ab094e68a84ee0632796875c13de6d3807a7e17f9d5d22380302047c435bb5006830660231008d4cf6c052a27c10ed8255b46004cb6d6a35ad63fb4ad378e51f907b789e8a5c04a94df605b5b1fa457ec92e83c08ff8023100b6400e3fb9b78263f144a9d763598f6f6691019bdedfa5685031b7a46e4e346b95df380f780f11b71f624528f1b1ee980302047c435bb500683066023100d07ea35cbfc748f7c69dc954cc29c72a11d1801667982d2b62131750c64e08d5840e467f7c989f3f4f9ff5e5ccca252d023100fbb57e901baabd0e478f2154d29eb7b785eb16e76d407dc6029d9dd5b660d1dc5a79f91ee430f1c45370e2ad4c2103550302047c435bb500673065023100ae9b9a62b496adab1d490fb8b6129bd5156175f243e3e9eb33f41e272bcfb4dbcc1673e1b5c422f8ae9b04972a9ef2cf02302307f141998c8d115b11fbc3edc76824cc0182fe50df67be97767518f30b82ee1d8bb0fee2f2d16f3dd8abb59129cc780302047c435bb50068306602310098fad3e0a9652cfb524b64bf6c9a58a20abab0b91170f7d39798e9f32c5f770eebccb8ec84b8ead7ee2360e414fd0d27023100d30559e234c34df2f30d335407156f0439a321751edd672e9258958b9760b007d889265172977cafd6e61d349d2a6a7c0302047c435bb5006730650231008524a6affeeac0be4af4736dba354fd555cccc1f26723caf4539606801fd18047d9b8b9dc6e23af5c38fca2e532767d002303e803f7fe1e27f98bcfd569f4290d364fcdaf149c8aedf0d0595b12351997225c33dec2bf585385f93c47293c5fc84200302047c435bb5006830660231008feba408130adcac335c32fa668f80b943a50d7743fe6dba974160730feceb30844bed35522acebda1374cdcac3c7d930231008342bd8dc3f615170b78660fd09782dd401b133639c2c1c57fc6f8172972a85ab0d6402b032eb2d34662c9ed2df11cc00302047c435bb50066306402305006b5f86b4d85ef8757107cda2ed98d885d09c3909c8cafe32b7b24cfa4df97e87e30eadc8c76287c5b987ee9f24345023064e1176bf88c3d2b885249b9b64468c293f11c06e9e5a3919084c8641a29b9ec157dfecb0db8facca42b4de193f95e160302047c435bb500683066023100f02a07cc08824c32d025432be4a13405ce011bf7d42fb6db33bb242eb9d617ca17ac85ac8c39593a2dff07c246202582023100802e09263a532c3140cda53fddb5aef1eb961e1ee8bd5f80fb6f98a10a20bc20d20e21f0e659a33fea166735cccfee6d0302047c435bb500683066023100f56bd36290f21a917442eeabb6d0219f66abe955989cfb87414db69cd70da5d4ed2e8ab66fe336f62fd26c32e09339cd023100ea37e9deb00bbf55123b62cb5ce326fbe05fdd6fde1e7a6ea3d1740febb453371ca59d0dc687574ca481e91acd07da4d0302047c435bb500683066023100e8cf68aa5b5e55d57c5eb815a39a8f19b8954b9e047172942cd721b04c6e10f27645bc4e8df063ed0dfbe316226f151c023100e6d25d5e25f321ff7be7844b0e7b06ddc2b587c66b036918f5c76c2fc50fe58e404c6a3bdfbb8c815c104cb856530ede0302047c435bb50066306402306a2e2bfeb024e01d12d36f8560d79fc89a111d27a73a338df6ae876b91c978963ee97f254b6c5e7da3a3e00c03cb4182023015841c9c6dbf73460bce4c5d072c0438e3502daab362bc7e0cfa190395211bd37a1c121acc79a826172447944cccf8840302047c435bb500673065023100a87bb5c1ee534155cdc10f204b247c5b4a18a89980188dc7cb1b3d07e2918a72087ad20be332b55236850c81a8851c9302307aaa9504f17ca10edcaa612f6c30873b69fb0f0192154ce21d1548262a38d05284119559522446fa2e741936b66ad5870302047c435bb50067306502303af8ff7a86ecaa86ff2aa177ec9ea7b3e7412d02953b9f3ce672c3ed282a34f5b11c83630de6cf3bad635fe4d21467e3023100a87b60b3bd42ff708e1b8aca1ed12fe8176cbdea555159e39847af97aed78452f99f1b0139edb4a5b8690dd03c1dfdba0302047c435bb50067306502302c581dffa3bbcbc8f708846d31272cef9a64a7e19e8f46f0d7917da15abe872a04b4b228509bb32e78bd81298f518f0b023100d6b038d7b4d4588f602bac95ae9a258250116d58490a5f340a77b9ca09ccce7f8eaa6b8c715646e94165549dc15bb2610302047c435bb500663064023026bd6b92be06f2a9fe80df36e0a64d18ad07c9494d589bf52b9f3a1478fd53fd7b2a21861c1c326e2bb525f7fe0b9f5b023075cc3ff3b444a1cfa01bbf1da85df0f0d194c1a267d9e300ccd19b28a914b9a768d90f993082d2bcc1db4becc7e7237e0302047c435bb500673065023100ea850587207e33c8fb87225d2594634f42463e21c5f01f133068daa3f8742c570008304b8c7a7359efbba3d5ca6db2fd02300e4d2967f3e100581a5cbc7bba2923e3835e3d80c606d10feedd4c96382b023daf269b0afe186eb82bade730416353210302047c435bb500673065023100ca6d49f3f153b6fde246aaddecd32a039121366767b95897bae046e4c0151f7261368c3916768d358641f81bfc72cbfa023042e14764c2c887cbb53a5e823fd57d48011fdbaec23ed22e0da7c65138527bea37b361bebede5e13eeb065bb89e596cc0302047c435bb5006730650230603abc203b6513b22b5498f6fe4f41ca9361741be612ddcd4e2baa4bbe1aff9b0913ae584475f55fb597fb5f3e43912c023100b9e36a796b7bba3cc92cd1726841aeb475325bffea95e014867413b0f38c22ddbc20eb983dfb4fabf06ee80da1efc83d0302047c435bb500663064023044fd56f6071ef87c1578de874e1c3b90d12bae8ad82e7075cf758b9521b7b20f57592920805b2ade01554f08c0e224dd023001dd7769ff4a9082448c2ba29cf171b1ceb0cf1d9e2159537d4f32ca02157b1c769e96c609a02673cc6f6175ac9c767a0302047c435bb500673065023100c44229e753f5502203d39695f96398f93511ae0ff8c74fa15d5318d57f499d5ff3b5e8cb929e0190c6d565cfa7aead1d02305d66e5baac1c781bead1193a5bb8abd6d5133383ae75a9b5dc0adaa4daaf681c664b0d5490abeb995ebfd2f8ee51e3390302047c435bb5006730650230482b19b7aad72c0cd0d177c92f8d5c0ed283509d2e9d84ed4bb5ef7425769ec37eda867d58f7efb92838a02f185d624802310096fddaf34e76d6e734bd1b81fe362ee5000366d7a81d634bb359fe56847addc1021863486325c902270b20c201ceae3a0302047c435bb500673065023022f9e13f81a5ace6dd349de9ef1f66c66768c7205454cee6705987184ad8661e0912c602b6d4ea6a5140c3b96780d75c023100fb160e7041f87fa1a3667d10a9ee2fc5d4f6e152db56eec97f4fa6afa561da5519f9b4202a058dc5e437e0fe22b5529b0302047c435bb50066306402300a34cb21da5c3e5768849a43687756f81c628886500e40ca7bc14a56f1850c73ebdcd234a2e619ddf2251d748e69008f023058970e3a222416ddfa5b0a814aeddb06a96680a7b522ab07b10c850597c2c619f1e044dca9740b0b789990c512e952b70302047c435bb500673065023100ecff84d9631ba1961dddcd1322bd82df257dab62c1042cd3082915afa10c600c280bdbbf6208fa6349b821c53bec80cb02300cb38831bc2b5f838b6c5e7fdf25c1ed5601523098d8f1a5d1810b485142bf66e78d6152be64431ccb75e5eb0764b64b0302047c435bb500683066023100eecbbb5453870807bc5b1a8fe952197af55f792b8c17d49d8d546e2629fc3712cacf15fe875ac6bb9fe28f5516c856a7023100e79c0424aa8be947af73a36f83687a4c4116b31f39b49bef30a4f65c5a0f20c46e2a7a27a594abb9b935078176925a150302047c435bb500673065023100974888fb140d57b0c3445ee713e64be05f7b261c3fa4f768feb4b417ddda66b286b7e78768b6dba6b0cb3f9230a2055702304dddb7ac4123a7f69c25b52bde6f6307741e9cc00feef3e8ed336ce13c1d625c473577ab8946ae1444539e8705eb2dd90302047c435bb500683066023100815af4019664cb5a66320e5ef72e383b9ca9a868966ab15fcac02314402040819de4cfed74de818ee318852db8fc661b023100b145793c5a2df5fd4c8bb61cc45251b4926d01acd86f23703336e0d79050eb6272af63eaa1cf643ce8be7a23b93db2db0302047c435bb5006630640230436de6acfb82a911c7bc3ab3a24298a31cc1812c6f95d576fd8e69b8c9c02a26806986085fe2c3abc035ccd5ff966dc70230757f776a95a725e62d751f090561698e1180379cbed2b88694e7b416d4f0e55a59474484e300b9804623b82a5dcd02eb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bd396e21529ddc0670568673ea9f822366a25ed217575309f51240be33374df781438220906e703a5e62c05878bb3b9f023100a85e47f1232f0d1b2e78d50e87bfc324adc31b398295c47cefd9fdf8b9651de5858e00207e13492dd69775a78b9f2ae90302047c435bb5006730650230041c149ad6e134ab48a056ad6a71b51b6812c7b71086f91f3ed29ce9c5a59e14ed2af527050ba139b514601432a0595b023100a98b82931882d209358c1642e774e3f73ae5648e3f282e2b9f3d12ea62801a62d48d82925e211daf5a3240bb35103ef50302047c435bb500673065023100d02ded25acfe5544c238329f5753a768d58c6b7ce4f58393620695d4b10bb18a5ed005cdd18fc88959fb16a87577bfd302305d236c336862d981f02d010b579043a05ea12ec55c6919e152ff5b8cdbd36eac218acc222c2dbe16a0be5692c351a1cf0302047c435bb50067306502310098250c5ebf8fa238b12f55d42086bb281ce9249922e60acf0fec310c8d9e8155ee0c2791b0069e5d55295a1efa4d3d7902305b31872a405f8c0c6f8e76ff03fd6213fef59c1c6d7e45bde09ba57a72e1253b9b8b3418d05bb3fa311e4cf404db65750302047c435bb500673065023032924b778d063895d6a49f667e21581921b39b4bd366101ae5af302483a2f831478c2f024509fe783d7e15c406a43689023100bb5ce0d8fcd8d022c2520750f6907f68f1fee2cc3284155a352eb4ba5791261cc40317ef6bbef21273caff37875b3fab0302047c435bb5006730650231009b17e2fd7dec9b8ab83efc22c8f844e0a292340cb83442bb07c0a0f94a771dfe29b93220543ec92f98a37ba3ee209676023008267a9fee3ef83c6b6821fbb6a81b02c686d757cc6b88fa3531d336af4346e2a5a25dee215e0129fa202a74ad817ab00302047c435bb500663064023050fce036e4ab0ad0740b6ea5cf1352b2896deb9d496b1ef3b8474dddbb4b4c1382705c507bc8446acdb7b13f7518d66502303f09ad65bde8b5d8c46590c611015f63dabcf400cec6a57cc39a30e23c4622b53972957e4832780cf48fdc94673f454a0302047c435bb500673065023100c34a93e41d6413aa6976d4bf96d704f4fefce1e2134c6f65f1e7275e86e09bdbd9308906b45fdf044ef8095b09ca1bdb023028ced667f2d269f56e7d52fc1b01b09490ebe6d80fa7381fb71e03f9bc29fe77605321212a44830af0df1f3d1ab745130302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e8524cfd6161f76509335306cd64d18d5b82428cf01142371ba8e7218e631719356f049e29cb13ae726917081080e974023100e597ae53501fd8ae00b88798d22b6fe53501364f48a389d376c3aa4f2967b8363cf5d8744cc775e382d9558364be8d8c0302047c435bb500673065023100c5d26a5c70fb0ad7f03d99111d63a54e93c776455c9cb78bcb7bc4c13cefffad5b9631c9d3f2357dddc8c12711d6fbc90230350033f21885fa4e42903c4d7b001ef4e1527521b269aa66e5d9edef720dcb10d43917d11a4ac2932c4a770b78b1c7260302047c435bb500683066023100fc46e4aee0d197d31158dc2712e9664479af72689f8f003537651487867ebaad7fa5b33051c006ddc84f4e227d63707e023100a3b7a0b7110065307a2d91a623dbaf475f9481b784e850dfbf490310db4c60db34dabcf44fa6aaed995bd290ddd98deb0302047c435bb500673065023100afe7a5003b57f42e4bba1dccb4576724f5cb37072cf98269d95ed996a0684c0f3d686e375904b8e193d7d07f77d06320023016c9fa37c7da00cabe99eb16943f5fbde18369b06fc46ebc0f66e491040f141b51e56f71265b6adf6eab789c04f65c740302047c435bb5006730650231008a04aaaa2d64b65783d304d26dc6539ac86d9abaa7c89208fec48e56db6aea4c74c7730b0f5f24b1bc4b0ca2608c45d402302178a5f3c2b829abd4355b602e3ee0fbcf60ab2566aa89e851b15f7c7bd06b65484e16f1cc3e1498693eacc24c5daa530302047c435bb50067306502301be363833b77601d44b7e2e84f01c2b902cc94c84535505ab63808ac46b77fd407cc6e81b395f6a9af7c8dfc42edfeee023100e0ec56c9c2f4c2ee5f923a8815c726c5e08aa3ee0cb28e13d36ac03db7cc98d00aa2ad4a56188dd3278c5e457bd010910302047c435bb500683066023100f9deec06b805b0b5f97493b79238ce9b926543a4728daf9cb53129d92977d171476fe3ef11fd0a526067230bf368145f023100c6eeda198ae99c3c46723da1dd6739c21a2adf293874e01107406c017a7a45171174744cfd406910d9de22f9254724c80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ad24e274fb2ee7b71699184375bd881cf90fd5c326ed44233ad601559f6ef8febc25a278f96afec0d260b760135b6d81023063fa990a5aea1e9216d2c9459c126417db8fb6c4844e152a348bcfab90e4cb523195b78ce57cd3b130e99f8ffe2321660302047c435bb50066306402306c40abf28f72790b301c1ea4773ace94b7e0ba35588f420874179964f6c2725c01a9ef0418a9a6568acd3335358e9878023003abae07a9d29d7bc4e19c5fd43efa008d98ac0aa667982bfdb87807667a79c391a9594b863b097ab93d2d1dee4be4490302047c435bb500663064023047b0858575bcbbd5bb6339496aad0cec330fce55f1566e2bbd9b5391fcaf62fcbfa6b2a37ce14bc7bbb9474802e83af202304d5db54d6065395531577de77a380cdca4d1523281eb17d1af85d8dc6bade3c81b7d024e8ae839ed9de0a874bebc26290302047c435bb50067306502300f2ced274d0d2e763e981646a6ec6fe580b3735c7d088d142c489f1d3deb167c92b49542c11c053038b7b1f1305b0c5b023100a933d99a9c6ae81f340579777b5b3f87694ac315b78a821ecb85b1fdf5933edf62462c715ec5542bab56f6f1c11e8fa00302047c435bb500663064023100c4c78b940220d4364a29ca4ece3211faef577f2b8c9c87a1ba1d614d64203661a11fe3f93261a9a8934b8fd5556a09b7022f7e7e45e85e45be4a9dc65bfd1b75a4db398dc6a850766133ca0782f6ff7bafa5b834317bff0b7334890b6efa0359690302047c435bb500683066023100f424be67d393fe4dad412ae9903cd9bc9229f031fc21604c6f1cf0e8ee6cad3548c5e24b9f27ec764e4263667ea1a31c023100931abfba2362ca3327bfe1667be9c3cc69a80cdc6bb6290a4f341af397849a680f1145e1103219194baadeeee3d43d130302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d1b3cd58817bb6eb232bfe344b01b8b576c76626c9c807a4ae3d73c07b8c3c473fc6d6df82129f844a5dcc10840094d8023100c3542a815dcef706a8b28020c44b6020006fd8958aabbaeb48f5e07bff46180021215184e60b7b7b1cfe288400f87d7a0302047c435bb500663064023005c51fbaa99c792b4a614ef46ef0dbadc2a46511b5017556611f43407da0c9577cb2fd38a41b566ff3958881eb42627c0230191f0ddc4f52563df69f98242da8fe01c87c63b0802b29a500662b82433440decf5187ea4c54d70b14c908cad907d0fd0302047c435bb500683066023100dec3db3d6c578c471687ba57df7d01b5463dd871cb115944012c7f95da5a13a3e556848a5802a9e153eef2100fb3c6b90231008e1f32f32c4ef15b29deb5940daee06befe0a1fc0923949a7e3d16bd35a7efce63766644295ba2902f2c0e30b19436b70302047c435bb5006730650231008c4627f3ec2c9730ebf3c49046e30e059310f35e5ef0a6989a7b07b97a0ffe4b2b17f6e067d0358af7955d3d848850e702307398e464cddcba348a4ce842412dba327fae7d3dc365d31c077f3559b7b932880329e208e0f67e0de655e4fef3d6f59d0302047c435bb500663064023067d525056b0280dafcebab0046345815b008803c689775c5a7c44d6e458128d4d0af51a0145e1c420892bcab499f2b1c02304f29c043022bfe0f4525c22bccb0b10496deb38d7a4355b283da213eea039a33af73e2e72c805cdfcae51777204281ac0302047c435bb500683066023100c5156430274326b2f87ab4981faa3c1992e4f6cc2f0301c4eede73baf027d5a80c9b21f84c2034558e3cc132d6b1f1a9023100b5764b5a662f428544e0134666418b91b7fca419aaa5b7b233e6ba4a406d0340ffbf781e3bd55ac0a95c7704e327c6070302047c435bb500673065023036fdf96e98451d06d211a0bd1d2d2605c02c12b6b7e844d7582a1d31ee19f9b08efdf77c4118292856990252addad250023100a7a93266589d0a699396cf6c9c367cf17d81e0fb86a5d01cf11c0561b74558771f23d264bb22c4e48958c8e58801e5f40302047c435bb500673065023100fd2ccc356543ec9e120f50177e6997a108b4088fe0bf43a06ab308bb5474b53dae3448760f2769499f437449d20210af02306b52d21db4b8448a3522d44b1f986e6c031f7335c5c9ba8f3ccf0ea34194bb6b01975429be0fde4259e50ff56b19ef440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023026726e21268e54c7ca2898cbbdf0d5e3e95128a387b5c3a571a9e064ea8129fa197476a4be302fd733cedd37ffb94c6b02302523cf84398973fe9f1de82d2f865d478384465ef80ff4fb36985375fc2114a06cd796e4659c00bb6124a98637e151b80302047c435bb500673065023013e7e762a59f074ddd89483b3d4d7f4f323b5eb4520a0fe42ebb986f70cd443d3173622ab021e3cafb53419fb23003b5023100993eb3fdeb8f17c6e331fcc0a09986d6547e738f29c9a406fc2679f2fb1608ce7d998f928734c01abc243b1bcf0ec2140302047c435bb50067306502301ebcf8ff298fcd6ad9c299eed3c4e44f92eb5766728bed5e67866e319b21850c790450170534ba659f01eac8d3b0e8ea023100aa7efd76dd59845b65aa1a8cbea6d771a3ee894b913461bb94805886ac9a2b9ed2a975dfd6a641444fb7463a9bec18580302047c435bb500673065023073ddb5ef5e6ffb9a054405e349090921123dbcccdca1b9e364a0776bba84bf3649f2189f4b2559d08f32ae3ffd637f6602310088fff2e73be48fc07f23e797a1a9a270171a20280118b08f0f2acedcaa0e9b0c2768cb9e189eba28d1bea630e216b5f00302047c435bb5006830660231008f69305d1bbb9dc9cf1921cc632ff3424dd1c3c56e5b87216a6a6d8cf2ff26584a84fbfa0a93a80fd20ce0221e4e00d3023100998a7a2b820ed04705515a426680b21045c0b7110db38a4ba66021be242cb395b18e65cfa2e9988e4ba211cb835182a90302047c435bb50066306402303499e8a6826ba9d959af91addddd1e3f0548356e4c0d7c65c4d47f04a8e5d29ad8e488345f521d3643d5dd0f1102c6ed02302a2f4d7073884107d6e0c1743a8002f2453040ba1dbd90004e5e5d2fc1ea6ff0ad1f234108e2514255de9e865b94e6280302047c435bb500673065023100f3238dfa83d88cf9c12602a8cb514586cdff2f0b60e0de3b1d5e90de40c2bbee1c73c0b0968e7352ed5a6c3093874138023054a092b5378ff6cf1f248d55668e61b83e0f30cfa5069706c8936990510c7e63503438d8bb9f735740893dae5f6ad3ca0302047c435bb5006730650230151dc9661f12596e9030fe3b4770556d54c5556d8c20cc634a4eee4f137c363f2b78ee02e85e23c94151f2747c16efa1023100fac9ff998d961d766f69f12952626de49682b5b872f0643a662c59466dc72712c5d3df02eb237626499bcac9a5ad702c0302047c435bb500683066023100fd87e127fc1608031219ad5498c2d560da42258c83cf0c71e56c129f3a380eb2dbfbffd032c7797a9ca351ff1093e118023100c367d4d3438e27b12bafeb4d3891bd2ac53f4bfd4fd1d2b9922e24f0d165dd3c02b8693f10d9c3b7c0af68269c7273e40302047c435bb500673065023004fa6176cf74fca5bfd48c3ad04ffe22982cfd24641a7e5aef9b6b2f94a6aa31ee903dc7122c44253d74432433f7dc35023100e92e58971826cc338c4a3e05253da5ee21e32a9aaac9844e2426159388b1cbb8dd68995af690cc4c75a6f7f7ad592adf0302047c435bb500673065023100d6e7121180b7bf11f44eff23b40109a16bea9d8e68fc6638e7c8e50e15f5a1addfcf471316ce95609ac26310f9959b5102306e3ec09efca336cfeaacc0f12f92e3b36111514c4ede63d3e987d0153a1c4ba622af2d4f56bdaba75a5cfcd79b1127050302047c435bb500663064023073198942900a6d8fdbc0bbb89ee5862c4acd3f2374b5a10a3a1768cd52be32b783c9f829253df362941213a4823ba9b002304939a479136049d6d6e1eb23c76f17adc2c5950d3e15bfb73f5bb35effef9361260fe9699aba7304254639bbfa00b0940302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d9ae3c334485927a64272112f8bebe9df659b2b0489d3408d1b7a9baf79d17484299b7ca165c10c0942fdbfbde482f5a023013ed1eb108e9670cf9cc3450f34168640659e08c98493e507b9e15b21e24ce0653f14186a7f37b0e112dd77de278e2bb0302047c435bb500673065023100eea926ebd73015369859e3351ea7f945aa8e44afc804e2890ac469b893b1f3607027582d2c84b0c898bf6816102a97cb023076ab567edf33e88dd669b92c2e3a160d8fc685ad5a059f9843ba252320ca24066a7e8e275eda8445705a7b1964e8696f0302047c435bb5006730650230065095e4f0098b796df3b456d9a8d2c3d0638ea407c6c2510aee90f38a8e496ef65ec17e76050262c052b6a60fa1f210023100a32848b7a60562fe4d7b0e7fb533b3d58f2ca8efd1718ac47108084cf4fd80fb5989f0eb6a8c8cd97bb2fe29d97e08e70302047c435bb5006630640230110cc2365b2b15922805ae1dcfa41304823e4ff3c9024bfde944946a3476e3fea93be3acfaa9e1948867f29fe4a764a702302f77a289225336265f212cbf2a3bd6572f28871e98689321539305dd6c50d81c74b62454c7959bb55ef25f82aa0a385c0302047c435bb500683066023100cb58e8bf0b14003474c1493df834f51fb41147fa8e902ce7d61d0fc460c8d396d15a9d17c6765c4c4e74a75e2e2ce28c0231009d3de168c721fa46826ea33e7623f15b650a3ec676f41cd1e0dafd4f344a4520adf84f1289068a67a05a09155572122e0302047c435bb50067306502301e36e449d062fb8b05b258a191c01169906fd5aa28ab0e4e36f6298c02fff622b1dd4dfd306902fcdea8f53113e0574c023100e5ef0ad82f76060cef400a1bbbb066bc85929b1be08573c00932ca5d49d7af7af31b5dc6434f88b33dc8b827a2e02db70302047c435bb500673065023100a88a84c285ebdc07c639d2914ee53b5c9ad889f117e0bbb35bf86af5e9f864f9255ac445b75ac1a9296a06c8861658ca023044fd11b0080a44ac8126da9d62c70328e0a33bdb7a933d543ede65a64a2176df385c7eaaf1873ad6502f9f806b745e420302047c435bb50066306402307892ac2a438464278b2f09ead0064dbbd61d71f1ae19fa34e079b78fac19479531227d5d282b7e28010c30c589a8b21402300593d80fee214e9fed083b46e1f3769ab2241d65e9d1725c9ddbe16e7995d97dad209a5acd9fa481369371921ed48d6c0302047c435bb500673065023100d2e68ee48b06968d82336e1897027bb26b2c1562fb3d568140fd57185f0cc5819720f535a206e5d0269db6544c6af5a8023064b919f0393c5c2cf59bdbd6259f4ab8059b2c894ca64b4ed1b97a556848228fb055b3a0fc3489f96f5be5a04deb7d990302047c435bb50066306402307c6796d5165529f45c7c12382511487e658428b65414f458cac8755817971962ffd48399667ce2d313677d45d6f2ed0b02300942884bdc1b7674efa793781f3cb4d43d0a6e096ce6d79a72885e38a2807d3cc0da27ab40ddb95ba8d7126251bd1cfb0302047c435bb500673065023100d4186501a88245bf9615c6fd822dde67bb7e4bfb551255a3772fc8eb30a4001747b2e995aaf510a65c49dd36debcb4cb02304bd19ec14d52707b517d6b496acc20670579ec7359d4933a5f881048a3a5395b5c8d99e540ca68b11f234a2560e97e640302047c435bb500673065023100c07f289a0251f344ce47e0e5bed322d05fdc328f8cf66b2903e20071bb15b53dab59c0803ccf536a5d42b549490cd12802301e320c3e29f320758763e55a2583f602ee981bc448d7a5b0e32c46af4bcce255437bfdca87438c51d82ce70fcf347bec0302047c435bb500673065023100c170914bcefa8912cd440ba0b1c74fbc2be0c5a49ae60998f6fe6af5a53f943415bece3caa6942497cebf977c7a52a9a023032c5ca9a6bf16a22bce0caf8a4d199e378579957e4d27ffa04fbbc26f98a5496d0a4d0a8f65dfb29b8abf37461e2c6bf0302047c435bb50067306502302ee3eee9fb72b2588c44dbbdde0c13ee10337f317510aa1997fa3ef7d2c17986f1f3291ed29d8ecfb5fd72f92c5b28d8023100b90b0b963cf7244c17713f21dd7600434e78acc89ac5d970686668d351b4c0a6e0abf75a7b77f03ee8901de6d436890d0302047c435bb50067306502302808fa5662ab1480772a027e74a6ee9e52c59f57965755ba323230bf2f8d3838701b48b8f7f12c25c6fb5f82d3e6798c023100824e9fdc3563006577994bdfe3311bca1032328939235427bc661340b483427a9f508e25218d7e785889d7ff25018d350302047c435bb500673065023000aff73400af8eea98f6d8919a01f84487643966e3c92c504e9c2e3f9c47afac58a429990d1675cf0f3eb11353084ac60231009e683d878d09888ec6f9fb3f9e1542cf5cc06f4db7776faa941b16e5503f9f4011ee3040d8ae539aafad665691b0aaa00302047c435bb500673065023100d4e45a329600e3b9de616fb855be78dadf667a4f0aa762b482fbd855b8d4d201f09aee22ef03ce199e34470e9ebdeef10230535cb18878e8a12fcaaf3429c0575c36c84be4ef22372bd55880c3dab3cb87cea4b235d4dfd0dcd6520de277185d88020302047c435bb5006630640230171ff2e457ab9352b3f54b10b50940abe45e9a4c7b1ac884fa96aa1532c67ff7a3c0897ffea6d6aae1570a3e10c5075e02302874d089bb6fb14b5d3e1cfc8dce83971028993b3668ea384e282288b7c90242e43e214f4e0eb818d7f57cbabfc5735e0302047c435bb500683066023100cba132c7271759ecb26e1b3b1ae5e8c6b3bfe6ef388c73643f3356c71e9c474fa58c57a740c826418f9ffb81163590f2023100816d11397f2a9b80230ab7f739c9f41df6ee9c135778a8f2214d01ba3214a3f523420915307cbfd91984a04317a715900302047c435bb5006730650230128892e632a397e9df7180e3692f9d768083ee1f1170bc692add400e241ee0c8d93772eace699367235b9bf36e5e3470023100a40b7d3f6a645051aa814ff3171d86f465aca1ae4b50ea9fa08604ad584a62f461fa824bca9642069fa0300472d39bd40302047c435bb50068306602310092ca0af11fefc4e83150da235c564d208889f6fcfcef0b4f31e70358b104c8e0f975a419eaea46b2a09383333610c29c023100c7bbf5667b41baefcddb15acede67073c2a1272a4f8e17fe7ea52aae52c4af658f52875a6bf1714648316c1455b357600302047c435bb500673065023049e226ca8b996ff8f5bf8e671dbde03f32655ce0377034a974e41907ce9940dd64faafd1bb4edbeaece69c385caa4a63023100b654db2ba5bfef09703e3437b4e21ff99fef98fc7bbac95603a4fab0e91498eeca22fa4bdc53333dfb4612a83338091c0302047c435bb500683066023100a10639c64e4e48a41cf41b28058077a68b8ad22d3d67868b1c6c404a345a08507f52e395b635fe5540e4259e5194b4a2023100e0d838d88bbc1d0f2e5802b5e8e99e091caf0482e2119c83ce229e732c50c5956a444b68beed09dfdd753798b775027d0302047c435bb500683066023100eedcfdc5fee24e6a4ae22e0258e56d0528dcd0f4a7c8c0c728693de7c0055595d9207d9ef9aa771f5490308653ea894a0231009ffe70fffea8d339b70507f824d95aaeece54e685515fcb63700b0f680b033412cec8f3a411209ab16fc78e096c9578f0302047c435bb500663064023008c6bbb83032b561eb334fc40b46e3d766a7d3a1658079472836617ec32d49af0c3be4726fc85a133b6173e3cd26f59702301668e18ef3a900ef752a11407a3959e8ddf410b58798bd5ceacd9e0ce1db40673ed296f787fc2a981fcd1d162bed26cd0302047c435bb50067306502305507e41c3464b55413244c7631e2db32514cc19aa563f763a093f2f6485db4e773ca12f5011c7c7d87f0a18f91c6341e023100c2f13c52274e54636213804dc5c58cc10f57addecda64368e41d42af96cb04a9ec05ee029447b1e098233bb3dcf411410302047c435bb50066306402305226050c8419d6fe565cc03d7185021fbf48924f1e37e6485300c5b04bd9b913fa00ea6f1a8fabbf8004a5a113b20e5c023037d4cfd27c6a17dcea253d0f9c7358dfae4f38bc1356850b47ddb6a487d08da49381b152e891e373f2cbbeae3da4eb4e0302047c435bb500683066023100e9031eb036250268637a689b90a3c8e7f4fb0337adb3b16f202aedbd6dadf8c81d43222e6ee51cc82698b0989351a563023100b76705d74c9daee9397c77fbe70d651190dc7df60289416999c5b6a9877cdeee13d1b7784626dc2971b890e9a51607880302047c435bb500673065023100eef7cf903c73d024aecd4c26e96453c11f90f9cbf6046171a58b360aa880970925cc6c76059e37b1ea7ab01f2548451702304702552685f2f3c930da5ca7c6510268189ef98b03d6265fe51742a21e7e3208ff1a9dfbc797cb50afea53de1d14e0ef0302047c435bb500673065023100f23a19407ae687be2e9ec78081101353a7d7eea1d7167f33fef651bc86f263aa8c29ee0743ef4aecc05751b24269f72502306290be4755b8a43f192175799152f0e4c0ae7cf906d73c06e3166f5c7980dfcd9efa5169a432e965e3ee935cdbf2fd1a0302047c435bb500663064023013a26592929b49941522ba86026a8020ec38af44ec9aa027682986431c8772e4203120e64a725be3d7ef8f11c98ead1b02303927fc30c72b66cff55edacb6b2f45408973c35d09935c7c2a97c14038f239ec481f2139c5b7c78b3a4817564a861d6e0302047c435bb500673065023100804d948bca0428956e6a9c4c84d603cb477dddee2aac911923c7b373e0926c047dcce34d09ceb3f34b2ba78c46e2f49f023039be71a95c298af4ffe5b196e3c491527aee7dc1f335249ef545af3d6aa2e5e2cd66f9c6d9b63e1847becc878351fca20302047c435bb500673065023059333e5a242b67ae1046efaf8247951c6e139406271015c2b768193e66af82148ae71eceaa94953ad487f1f4c0161bc7023100d1f5548679aa2ed35ce105007e36adbaa6c3d5a43913b8cb832a9b428520d5cd1f155b7cf66d39758ce21e6b9cdc9c0f0302047c435bb500673065023100d9257e67aaaabc36446bec8b6d093924b5c13ee658cdbed194b06f42cd51716e634a49dbf6874becb26249857a91be68023054345ce3f473f696309a21310f3c1835e7823d609eed19836b4e65d09b88a55a61da869f89dd5dea033f4b66a17c92040302047c435bb500663064023068145881c6afdd60cc6c98e48ad36903df2b93e90101a26149f702265a2767b201d0e1fdab2bb8a4df9451a81d2d639e02302672378e3dd49dc8de7f6e30240d567da8d0f5cd65e89d959ca51fad273f9c6e2fcc8ab91d3c77075d8d5ccc521004aa0302047c435bb500673065023100f75bc11227fe608f2a98ecf7e25c120760f15b1409d0b1e1e310778413789fc96de96a88716049e41a99bde7a80e7ee502305c2d3cae901279d9dbc41a108844cec573d94f208cb84905f1175573bb555a004c38d040b1bd5808360613a869c390170302047c435bb500683066023100892931e32943bc64950572a86665fa5e790c06dde25d7b6945f7f4e5cd66b309d1847351ae5f8eadd396af4f5f368b75023100f562585373a8e49bbae0f8f22fbd24ad9541e7e8672704e9636971152a749a1a517430221dcf7ec62675341e7ed929ba0302047c435bb50067306502310095577a90a2d4d598ab397e895fed8417d7c227ae994d2fbe706b1649c5c79e33e24c5847b136b55f90d3170ff97e403202307698967e9a83f080f9eb9783d1bbf03c4be259278cca9109059f3b107c20b4681aed6bdcb6727508a02abdc2fc5829370302047c435bb50067306502306008da7ba6fb63d39ea5821609c1fa390f3baef43d8cece5bebefd584ebc1936b86777a4322d2b43c7e7a6ec44299ede023100c9193ebbd7db1b130736fe30fe5029882055c52ce2e4291aa2fe7fceaf1d4625c23c0c5c544aaeba448d5794209a79e40302047c435bb500673065023100d30fe0da40bc08efd18bf9f2b6840e529aeac5066a3d04cfaa0542c5c8d059fcd15287a9e302f52d9a2a45ef52ebb9ff02304796caec72c2aa83005008a62db5640d39aa16ac6ef03ab853ea4fee86554bfb79cef65f484d42d79464175700a782e00302047c435bb50066306402305a15f92a923cf8c5eeeda8cd63ef74fd8acc5c23c853fe408cd1c843e78b0a123e308d6d9b76e908a4c62b3d89b2d4d902300e1ec6f8ea0d6be5c82143df02fe4a7f68dc7e9224eb25f7d2b43bf4887006968adb7419658405051244e2d6f71d98250302047c435bb500683066023100fa8b9f19e2052f38f423790d826a5a98408617f18ba94a464f1300a1e2a050d8bbe449d6474906a90d1f4323438c7b6e023100b9805cd1bb2ac4c46ba901befb3538eff52f104b2eba2c457581259e6afc031bdf4ce7af1f257d15b674f7fbfe5e0a7b0302047c435bb5006830660231008b4152a2b221fd19ee88aef2d2cc600971ccfc56b1a581e301789b1735b13d55fff3c337d13f8d0f7eeb9c87dcbf1d16023100e6a4b75e56f228b11e67ea9a02ae129dac49164241cce832b9aeeab83b53f5b17a368f1c3b11f3c335084fa18509e6420302047c435bb5006730650230489c1e96d328cb5b19ce09fd93dfe8fd60d7592192c8a55c1f13c000f41cf48e65a0efa544d36294c01991a9839fb5c40231009eed2f57f1b7adfde28d64bce78b24e907091327f72447500b6c4fd6c5035520de5708e557ab11f8026b729bf0d75da90302047c435bb500673065023100b96d5161e30201e84b3b04577e2a0cdcda8d824f76e6b8724e7207658daf783678b35cd6f63d8678349863e20eb553f602307eba6b9bee1e1b655e027761dc50de8eaa8fbd7233e308805c894c43f920548d5bc1e5d7b1722622588c9dfaf704c0450302047c435bb500673065023100a3d05618d8ece4bd4043ba43ff7a5084c7f6e266359be3a4fbb478f41e1c5dd6dca6c57c9cf6f795be18b566b881ad8502306da8652b4b661602859c32ba56d03c1c8ce5e1eaf5a7e96cec92bb909825c74eec00cba72fefb8559685762fef2a62720302047c435bb500683066023100c2e9f21a3095b10642992a96a4ea29fd3829751b93a5d95e6654e6d8e599174cdf659cbcef43768f860e27fb477ecfbb023100e856a3a64bf2ec1f09d8d174145dde34bd9f701695e309669075ae4a73deef3221f38ccb12e5f0091b127ec3c5b70bdc0302047c435bb500683066023100c3eb985d2591f1f7427cf3e58aa7008a1bf26d5aac590596eb5df8b4899598566c2186518cfcd7260a83df4de346661f02310093f02b2c2e390a641166bcb1c12c6d5549b915aeb6b0aea6d3fc995d70434eae69eb4c8bba2b3a3c3f025a578d8088a10302047c435bb5006730650231008c13f635f4567e243d2a4f403bcf67a674dcaae03d82905ca7c6e3162502547dd3b3aeaecadadab69ff4111bc7d2176a023008b5d2e2894b7355bd3c1f38260026690d081600d9d3869fd2bd8df804ad8022a733429d51a327ee7bb8c8085ebede1c0302047c435bb50067306502305532748db8b314dbed6a62e7def8fb7a93457e2fe07a13148fe1c3d132098a64fb7e73af6f97955d9cdd885bbff79168023100ea4254b54e083f185a102f3b0f859de7ca8ac2a8b09b16522efda74422a3b84711506265a7cab9e502fc4505ae8b1ce50302047c435bb500673065023054f76ae9fc7fd1c1f6240732e754186c4a0a29423ed2438938252b96d5b5dadb5be81046b925945cce42c6df485c100f023100df896a1e69ec617076699217f31286800cb6a27614af0b8ded003a0dafd860974bdf113b99b29ed3f9eab4934de7d7190302047c435bb500673065023100cf7cadb53c70d088a227f67c4ea2058ddbd22384858d50422fd9d0b1129980635847e9035da99310421e35e87a3720a90230174f83496557c6d56d02aa3ba1295729a87b314b521580773f3a7addffcacdb6108667c290650820f33aaed6c8f0e8a00302047c435bb500673065023100e95bd3e2263eea65772bf10f37b9ecdcbf811b32a3eedc687b28eb7d04438f1ec61def5333a522be6bd25cc477c98a7902307757eb973ac6a6b8ccdd078a77474674bae11f9755add4def698b8583949b3565b2c0f76ed95a20d4cbddf0f0925954a0302047c435bb500673065023100fb68d8132fb810b894481981dbe0fff0559de8eb77593f0de1c34d97a9995f4b69993b67ad09ef24a63df7fbc25101b202301fbf8e0d2a92e8f4e80791505dd89a2453562c212f3c611498c771377b68834b1c34700e4888f870019530aaaccdc2290302047c435bb500683066023100e6b33a6287a45e2af89c4748f9840140f67aa61a75b10f3ac3a3260cd5485d58c2b6ba2bba9dd191c3720efb98241a0f023100de5d1da1837b1850cc5257c961c0506ffa2fa759591850c555caba86becc71381eac3ef8b7338542aafc9e6486c356f40302047c435bb500683066023100a587e02a1fdbdd2a791e7c4760239621e57d96649d51e0172658998a1076ba0747ff251cac90b921607c9c67b0007282023100be33c484356e0b0b119cda499b4b225125ea3039b32944d4affdf68de8c495d29d2c2360827cd3cd6bd8f5a36cff58840302047c435bb500683066023100d8cdd53a853b93e118cb089f5d08578bb71666c02e16ba51f736bdebf2eb89ed9e9292e83dac82fd699eb501d08af680023100a4a3cdc3165de9aa35511e362cb1e52837cf7e5e33be3ccc1bc14a36c49133857471ca62d48fd1c4a637355007e5d8380302047c435bb500673065023100eec7a17744350055a04a47c74c59135b087cae90fc365a8f6e309dfc44f72261636ce5eedd7c96efcc6b6f3cc5ee424802306a33d93b20831858f613c2924d7ba5b51ab351a27d8dc2af959629f61db2184720100acaffcf9c4d89c2738be9ac4b060302047c435bb50067306502300b189e56006201e2b44b36d591817c31431d9ad8a44a9d8d9a49efac389580377d911862e9cdb5b8f5c44a8ee64acf8f023100fea3f81e259b4cf41d348ccd3a7582e23a595a52575e7f95718101d5e39afdd6df6f466745e2027bbfc3681e0c8e2e710302047c435bb500673065023047fd239738fdd35ba8ec1f1ac841bd0e8ae75fc5f3509f94250d3d3e6da04b493064bab69d54045af51b1f6e095f3810023100a8771cc1f6431f73ecab241fbec927074aeef9ee4764fa35300faec622538e838d376adc1073df740cb0e373086a748e0302047c435bb50066306402302dbda1d9206012335c1c21dbf6eeba007b738c6b5aaa62f251d0a212eace8877f71906c3d9ae2230d77135106cdeb5a9023044695db9af7d31ecf928895c65ca3b988300c7ed957d747b6035c7e2086ecce9efd3eb11bf953a34a58890e1d0766ff60302047c435bb500673065023100a3d1a4d682b017f4f85819e4b2347e72ee7d86f4e0f649534790f11a25f8195974209a51866c37fbeea6cc89e7bd8c6402306876428de5e18a8b125b3f00c2157f6e89cbc6c3c7574ecd12293f96949064f8b80cbd458adc13c1be60bf6380b6c55a0302047c435bb5006630640230303502e6200cab8822eae7e67d04878a8aa9c6ab58f2f2fe82e02ef8194870b93721395b322bc21ae6a6a99d1e84d6d102304f4794de257e4e15f73fe24889c85045b786358e9a7dfbb63b2568566a0132739bda2c45d0da35cd53bcbb042b6ab7fe0302047c435bb5006730650231008d24f254063ddd9d30944b0b77f84518d917bdb70d7e698d3b000096beaa1cf5041e3585d8963679cd916fcb3f8d345b023033e7323468095b97913ba648dcecd2c9a545111b4458afa425495ed0a3e0569cf37ed29254215b89fb53c3398a3a636f0302047c435bb500683066023100bab6b2934aa2845ef3b51a88bcd4aaaac9770ab6cb9c651cd035d67b5a972e2ba2aa5d9d38d886736f9c154036246dd7023100cc9d1ca4333221c646a63ad04e8bfd515bb25f04f2ba8db02de84f71412e0eb68a642428511b4647db04d4661bf4f16b0302047c435bb50066306402300a3cada2fd5088db86235983b4f7390093cc6137186a86906dc812bcce6b8cf36dc2ce46a64c19bcb7b132988301538e0230264388ae098dff6b318157e04f9b89d8a2bf3e421268998067ca6245566aabddea3ef8a1f65d79f4484f987cc1368a750302047c435bb500673065023100f67e063f4f37dd806fb73ac82566222cf3599ad25bc09b81ba1cb6d69acabaf23898d463c098dc5448cf82813f6cbc78023016bcb7ce1af0bcc6bbea8937f56f9b2a9190a838a4b3224180b7b4d2ac896d4b938def06907f8386529211e5857c24670302047c435bb500673065023017bce01e23a2d1b01d6859a324d8bcc29748c2de46d5a8606f988e31289a2ed4409659ecb17b36510c9eeff32f4d435e023100b9fbd7b626d524d928b6afc98b8e786e3d5b046eb70d9b187ffa55a5d4fd93d5a05f503c23041173af84520f2c78ba490302047c435bb50067306502310080027ada3cafca9aebc27a60180260a6063e8043358884f6233537f01f84139cce78003985a895fbf0c405728122442602300c7a7d94825d88c7937c0857c53ce8b9573181021fb7291a471810a73ef51748def0d88c495052158faee4d5cfce6ffc0302047c435bb50067306502304c4dd35bbe6a3c389e3d4a441be8b8b6abbf91d0afb926592d13ea88f1955c4022bb41b25993bb5f31bf6b75f00a150e0231009ee12b6a83375a9cac0eff64c43d53c2b345f06040dc2577e9d55ab5a7f13570e60b36d5e05ced7af9a3f1df983389450302047c435bb50066306402301f14ce5efef46bdc6b29aac0c3633d6b9c5eaacf501b334f66e0d07873d1be7e393c94391c0b29a7014fc704378e9fc70230476c065fd9ae10597d05ae0d56a4490fc91a5bba28f436158321349a0b32860f963266adc54108790eae43a3714257d70302047c435bb50066306402307f20bb7f1c71a97717f31f5368ac1a2b47658a9c76411a28e6758f2198022c5246c6f2a99b729dddea320b5028b1586302304ccfa6dcdcaba9f23ee765e53111c4acc126f76ea2f75862318dcee2eceacdce3e5f767bfbeb0e347874b8c8e0b20f4e0302047c435bb50067306502302d56b69f0fd50a2e0e467417aac8e763bd0b1da2a69afd3d2878363900f9ca3d3951f248118220eca0f3d01bff363f71023100b3cfc323c1f9dfc2bcc1f198a160b51729f9a565965d19807a5354bb82337796943f154cbc9a868986df3b41eddcd80c0302047c435bb500683066023100cb5b8ecfe3737778a5dce9104360ef1038430d262dead68dcaea685ea0185e9fa883367592ab444cacfb082ebea343ae0231009130064cfece4d1faf90dccd4763020d57aa27e7d38a5b8de3564a248a49003ff916ccc3d2830325feecf2336eb7f6dc0302047c435bb50067306502307564a23952c5475f28f9df4f1bd8999fb007013c42664844ae476c470081a510df313633adcb06e56e8eea4a847d446c023100d9b3065fd1e40f76fb920f49df4c0f1bee38469d995411cce2df23a137fddf7a6a91b53f2333e59881c9abb9a4cc0f630302047c435bb500663064023008b3e903b1d8efba11b65c81b0290b7b61cb70df807381ea484152da029314811037041de29554897e59dfb8f6b4ce2502306d2641bd73fa2b0af52d5102e85fea628833952878ae2edbf8daefcd3cab44b540859c9ad5464ca3f0dc0aa5160fca280302047c435bb500683066023100dd353295e240cd1041ae481bdf4a12cec03d129dae0af8d282242e80074cc176a2467061a77c07c04e6192b46c7aa367023100d6e22d5a0553b96262fdfb48ec58621901cf5c4986cdde59f878d96312b5cd7a9affca0dd0145465dda865c9dfce5e620302047c435bb5006730650231008c242bb112f943f1177d02f548c119219d1d6c24618fbed7a150c3c0d78fc80d0e14cca022fa5586d0567fc1c23ab7d0023022fa352ed175c4b8392a24ff552ef58c4703d6f9a8a538dec8cd148dd9e71b46d005b85438e32c89042a03d7e2b76c060302047c435bb5006730650231009cc8f6869c4c2281cacf6c40a3575711b1de9cf216c618d261545322c829f27e2a9e8951c58d632b0a79c8ecb4ffbd200230676c20a03dfbe20a74cd263978141efa5a6c3957d8431f71aa1f7a73c784abca0d26c8d3df44400a8ff2d921b3e256210302047c435bb500673065023100ec56f54b6af2206c4b03c9d3b1f4d71e968c972d760863f266f4c2a371e3ac718ac6ea7440a5a639c1b2b06a75b09d3c023069deb95b9a120cb045c8ca043cde6455ce006296e55a4a0512baaeefabbe092323f1dc30a74c525521c376cefd129c6c0302047c435bb500683066023100e829ad63a3c2d569f6a199c3f655c65caac13da1351d31a454502b427c7166ca76d04ddf5711c1664625a0b5c81ab3a60231009d647762a2dc1a30111760bd5248ad6e84cb87b4a92c8418de425dfe4a3567528078369b8d08e031170cf7ee89681a200302047c435bb500673065023014ed0220e62300ab0f8a3c607d46905dd167b5ca1d243ccb02eb9da764021322bcd17aa36d81fab22e9eec05f781e564023100d2db2471fc7f0a72ce08fc476d91b458d731487a06aecfb961392d699d0d921af8d06fd9a3354b9baf86bfde6601cd300302047c435bb50067306502301b731743bb35eed3697486db4c596a47f46d08abad006a281462e1fbc1d91e886ef105f79639a670bb08b9190c447f43023100a5e7c9ec623da713944d58e71f44c5bc9b94673a45f5f2bc82281f42c1e1b215c9f4b46c04ea3c86d3dbdab12de4222e0302047c435bb5006730650230323a5da60a3902c7712f5f88c7cc291c8aaec91291340b0492552cc480e85dc3531b6c86af14828fb9aac81afed3e52b023100e0e4722c6c5f9e95e96f5225cc9aac5f39b03d64a642f8bb3459ed684562785393d13b945380d949343870adb2944ea60302047c435bb500673065023100a1974a143799599a49985a6526da0bf722cd2fa38ac80dd31cd5daf1a64142e576a4f4c5996f7a343e801d28876ccf2f0230662d52494c50e1c408bd099e27734161fbfe106a8081445aa90e197b5d247171d8c2b20c22c1a7c864e92a82abcea8020302047c435bb500683066023100edd59e2934d3bba2129d991c58eb751dcd225cf3feb554d2bd4cbe5966d4cafec1655ce8e1922bc6ef5d84f3515fbbe6023100f852fe4f81e3edb2695fc3525f9f0d9528f4463896b81a44794150d29a79777caf7b46ef3f0c4a4bbe13d25c65e8cead0302047c435bb500673065023100b86564d04433aa1d6243197cb5b943c928260434715a84dfb53f1a9600af5b97e3a2f8628a78ba5cf8d0f5a85c2a58fb02301aceb8c163b954ffec9429d482acec2351962eb169b09232fc93e0844a09b7c1ac46843c5e60eec4e8965292f9ec616f0302047c435bb500683066023100b84140b43ab1560588d282f7903a43cdd324cfee6344e184c0b96ed032fec8893111954d4e7d6e83821d979898089782023100d51397f3293b07d12005e79863344a92220e6ccf779c522579ea1f8047cfb7b099e7f03c2965dbed6563c29cbdde2b890302047c435bb500683066023100c7453be1fe07f058b0e0d345a7edf8e955905dfa90125369630689d2f960805f8d2bbd2db715a7e8c50f480c22a1feae023100c9b7e4a3b1f05efdf6321484895fd5e2e78f3290da723cb6a027d8a9875a03b5244d3bb4d3b3f021939e67dd3c833d000302047c435bb5006830660231009aef804696a2d6bba379050304133d69b1f2993126b556c10d68afa1a15e6ebad9ba9dfb4578fcc7d170df3e292927fe023100ef8ecc38d9374882f21550f7d4303d8a80a18712f6ba024d29c16fc248c1399bb38901c4b7a0ac59919f45e6f7e3323a0302047c435bb500673065023100cc54550cbca61fadc897853ecd1c4d88371cfbc4bd5eb15256f094a630d3736c4170e0149995f169cc65c94c21ce667c0230709d749bb91ef0ba5d1201ec147d9827a1d6ba0c970245fd0727932fb1eb4bdb07f6c87fc99a2773c17d8b094cad47a30302047c435bb500673065023100c0d9b91bafabbef2957a21bb74133c6056815e9407b86ef94bf2372645783eefb30fc7ad1320749d866daac6207cfc87023060ea56d531b775ae6110106aa1b2c53e3893910a36ff3c85d91675911975d27cbcd8a84de9ddb88ce0669fc4da0557760302047c435bb500673065023100a7d1b88fff9d2187fb13ccd309c80a1744317de09e672dbfc17fa66add5a19d47e66da74fd8f801d66a96dd4b475fdb8023002bd902abc45ac073e1f145eefe07f1994b9b936ff2b9adbbba3bd998619fbd4f2d1fc7eba32d83ecf5b2e0c0fa0b06b0302047c435bb500683066023100f638399792050b38366bc0b97ddec24f76ab892f2b8bb79ecfe7e76be38512534cc01b8c21f5dcc742cfe8bf442e74c4023100d5b1cae26b9612d831fe3059311438affd769aaef1f384b456b2c2d2c784b20faffbdd4fb1cca513c179d62f4d16457c0302047c435bb50066306402304f1c169635baaa3e26392e50e0fb2aecfd7b65521f85d780d011c2f1b75b8f01deee506b74d7c24a7b37a9b155fc182c023007f79746c940452bdd7fda79b3f3628504fb343474cb50e15bfff1e291404b7a5cce64033029fdb43505fc7e28093e1e0302047c435bb50066306402305d9f299eff52ce5ae2f2397dc90012570ad1384806e9766137c99b43ac2229f6d002b713360ca67b37143b2db100fd04023056b36cd4051a21dcb7e580754b2965b9f01e195d6ce46e294644c207a879ea30a062c90824058ead7b900fdb6e5e54450302047c435bb50067306502303d0765e442d3249e77e265d867f65676f9e0938a0863331e5309d5d228cd47b752b0423adccf31cc1fa4395a7bcf40f202310087a8bb9027a4f1b0cbbaa477d55a94a0958b964798262b8793fd325b574f2076f855f463bebacb253be944c323998dcc0302047c435bb50067306502305f71388c57c99575c6c0e4c7ad802841ddadad008f4eea2fc199dfa2b5ee4300cbdfa00dfcb9ea5990fe05d8b5ba8c310231008eadef5360cf48efcc82686d8292278141791d5e9d2d5f607fde6ab9e1cfaae9188f156f55492a56b1d174679a5a1b880302047c435bb500663064023041ed4658ec89bd88e6a9d1e038cf923fe62099b236b1fe8931ea298c4e2729abba324e002b33c4189c37eb0cc3be21ec0230633056b9b0d6591957e5c9c1054a7bfbd2d5b29f8818d85fd45253c463b8387d64295bd11b24024fba1fbcfbf4ffc4280302047c435bb5006630640230410d6f91e13ec232d0849ec2755e50c2b90fce02406fe68fbb4f8c7b5472df724e159ec33ca89bdc8a109822dec7a9cd023078325163802982dd2adea90ed5c4441b445fc4b2da9ba57e962a9d823e033185598d774a111f54ed9d2f7eeb950639eb0302047c435bb5006730650231009aa8537f691d0728afbb80574adbee0270b2a3c4e4d1934bb403f68296c3b92373b7b2493dd5c3a3df8addab2be83fdb023075dba160aec9b76b7895279f742ecf1684698366cb8c65a3252040b96d7a6e2840c2a5b5731bacb6c77a23fd50f862e20302047c435bb5006630640230284ad9cb7edebe2001c3078d75eb5d8209f438a1f21922654a99cddf2d637499b4acada475f8b1a6f9ec7fe1f9076cc802301c965bd36b264acbcc5f24077868fbaa26bfdd9f987d72c9d269f62d1c73335ad4ef7f8e5819ed82498411b1c727b02e0302047c435bb50067306502303fb6638cf23d5666a4dfcde99c5c4ab94a7fc3c74617240f85a073b58d0f543f5b7e7c4041aac41e14cc4bf6876c17c8023100a38f97584c30dfe8d40d28e10097238575b221658164134582eec04ae3793db6f1ce89fc93e558724a098f9e53c54de00302047c435bb5006630640230154c81d5a742bf48340201664459c463d947d315c5f8bce1857f0c5d7fd2ea3bf043532f10396a2ea2e4a14b4a48b7540230038ab691c953465dc7189717d313d0cca51abd831dd1541d374fc8eef96fea15921383793b6fb2c551f7bab6b2a0f31e0302047c435bb50067306502302d47e88f67bc5fcb111115a5f9065cd1e279dada8e1e3684c8a3cf49f3af70384c592ac425c998c0c6301ab07c409085023100e77412eaeb296b8e5a1a3ac45dff42f75f02fd8d0fd2e8cc5bfd0025cd6a3eaaefd30dce7c6a6ede1c8ca759924116530302047c435bb500683066023100bb640d1689c5f6c3ff023889f0ad2c467ff398df2ea163046f42830a630cba698a23e28dd8323c6990dc456031292bf0023100a44590ed6686506ebe800b6b62b562888af6b75289520ff55ba288b8e82e171c1c2f5daa109e256943390a15629fd8be0302047c435bb500673065023019d9d1d8e3d8b4031c5e3cc3fdfab13cd25ab033f046f49f4f04f71042245f54101c708a3b7be7aec1d6d4bd0ddb8c8b023100e572243e06afe6a0708399057ce300d7702f5813644ad865ba2da5f970003b26483af5a24ae6a29480ce9362143d82150302047c435bb50067306502303d90cfbb900eab70f52ff4412a73f3d1cc209124ffeaf34bec37f4054c63c2ce0a32420b287aac2a5bad851ed134e50002310092df13ce0d789b6e8e60a655a814411d8da7a61fa1d17cc8510b39615206c350e91f5b66d97c5e1a919f2ce44419f4ec0302047c435bb500673065023040bd07f7447ec0d208c63bdcc53c214184c7ee3478536f1b65bb3e41766840237ee5abb442a5adc03000373c1e04570102310093df42cbc1726b7bacfebd8a5f75f2ad9e7c89d58a8040b2dee5e3454f0ebe08990e2d0eadf0b48bf476d679a44ca7390302047c435bb50066306402306e1558e96766edb8068c66b79ed2065181c29324651042ee4d8ec0deae0734ac2184fa730a2ea4c6eacd125b5e416db002305fdedb00a9489ecba97ee331e82fb96fdc0f2dea4d9839a189f8bed6e1dae78c8fe0f2c190f99ced252dbed41672bfc70302047c435bb50067306502310095217410ef00e0d1acb769112a002e192d4394f3ad5c0c3d7cb9842ce09158e46f7a8bac01bbd696c7c250e14bdb2dcb023057d1e63f53541dfa72a776c8a0f620b6c2956bb6f79bf20446f6b6cccf6ffb7e79ca21901dcbbf70f781e9f9289252180302047c435bb50067306502302c5b3610bc8d01ed0cebb0cf84402a39d2988bac2a3df55ee82a748de21b5ff19be97034796a3c5b7c41c672120ae4ad02310084bc2ffb792cb7df2c4b449f9887d4dd4988ec64949925b27d1e5281821495bf739d4aef703fdc7601111de71d89af050302047c435bb50067306502310090e8a81e1f9754c467c6d0a46497e44e28f6cfcbd53a47eb6eefa55bb8beef8e1f5f1452153fb6d6d90dde2b2b20a34a023045bb1ff1fdae401e2224a8aee6619ff236ea0b3de89aa0129e21ce27be9710dc2d5b20f1960804b670bd37f62aaf238b0302047c435bb50067306502300083f21a71a24d53fc7f4a144a9f4506f48d105447c37fa92af75acefe989a38656377e71c0b0b9397c90290aab7199b023100830fc661748e22d6ec33c92cbbd867ef9db151a96f2ebf987bf98deed1b725f8d04b1afe115d59b3a276a51a89779e680302047c435bb5006730650230744279cab7650b319c3719abca953fddd2ff4ed1b0e7dedaedf2620cd79836b564f7b9ab7e7d9e4710cd86329f515511023100b8e8db1a643de3b85c3d2b9502d66612548fd74ccb49f6ec2757fead6450b6e26187ef195f8d3320ffe8e5276a6c67410302047c435bb500673065023100a5d3da4a4176c2e0c815dda621a2db2b11ecef80b2b63f1d3aa545514e0f22a9c0eccb8e14e8bd284da520115449f71a02302ad9a12e60859ebe9cd58c0b7b551b8faa20967f5e9c03ffe896f488f5c992da17eea6e72830b6287716b980fe2e79dd0302047c435bb50068306602310085112986f3f2c896f4729383ebeae483d844a544882910a57bb4fa24c27d37e5216f52a2cc2f4c8616c4a9bcf86fe51e02310097d471ab69bfa3e22add5e5b2ecce7d1df1872fd0dd0cb735aa9a5c9f6cbd46470a5d93bc91d3fe99a038ea6d3ac8c440302047c435bb500683066023100faf50a9e65dddd58b9bfa048b7701a149231e9b231fc02c796c893058f3e1bedace76771354d0cdab3b157e6a8c71a40023100baa637581de179522ee87174ad16d516e667477e27d79b846950ae8151dca0e65ad0f92e3005c9592b9b11bd53d87cc80302047c435bb5006730650230139c03e53080c39ce5d5f5a2150af0b5e1a6ef5601cbf26776d604eefdb9d50843064118ca2dda524168e77e56393977023100cc3805a030e0ac4998e127abdfad0dac4477b93c75dc92fc13c0bef4867485aa298e9314d47b7a35274ef35409a519ec0302047c435bb50067306502306a319b8b3e8b833ba437bb48f23ffabe8c8c750de928d806245dfd4ec4d7f070a8fef1d87c6bc09627d93b0839a13b6c023100d383806e906ef99c9c146bf15a148de94e4a0d0b4d1e591f0b174a51cac2c88f89654c1522e4108524f04e85eb84e2c20302047c435bb500683066023100ac485ac51c80b213b3e8a12fb838a01fcf2c70da82098378d062f138fce7e3c24560572b999757db55f05ec2b64c9067023100fddb563698a468b942eee0a557ce79d1f966e7ff5e42f1cae34298f0bc2980eb018bbfcd8f215705ce76589ed2bd8c5e0302047c435bb500673065023100b6c189d43a33aaf858d51a880c13b59870768ce929d25fd5aed67b88f51390b6c15b3b92e153061aae5058b5cc691e4802300f434d0ea916d67de290dbb70af55af6ececb38757117c0370781e89ba7c24d047c866a5fc3d67d7c80c350fe09bfbea0302047c435bb500663064023021519c00982a5a7285a6748799ab9f04e7811e38c670052293375b342ef58e8300a16176a036de6a17599381a116d573023061bb66f63cfe175c6035f66368c43ac05543150e627f64eb97105459d57a3a4039ef8764b76702f995597888f8fdb0b80302047c435bb500673065023100e1b83a92678ef8ddf32d28620b0fa47c4d3c88f6916d78ca599e7b6b1524a3bc37aec97f15cc1b044c294fc14018d86c023013e3bd625c6eefc9cdaca13b222eb85ed8aaf1c5e571b8f82bbe3948afcfd89155c4034cec7a2cf9c75dfef0de0920d50302047c435bb50067306502306bdeb1e19acf05042dfb28462742959453622b6171d4ceb1c0175ea78e16b9233f5f1dbcef9b4ebc5fd449591569419102310082982c13a15dbd62ff10614bbbb1c6f31b9535d039c9b57f1b7ec795828cf2ba14f59769d9715cac376dbff0121a83ef0302047c435bb500673065023065cb84bd47c4720d07a6835ae43fe3381b2a79384081e4bb41f954349d1ebef7494fcc96bca3659f0b45335036ec810b02310092a1e171f4b4c32bc08d0ed8cbf2df93c495cdbe0abfb91ea5f4efea17464a8cf6b307162be7ee6fdde77f2bb6b21f730302047c435bb500683066023100bf7c6d8bb571a69186389e75f8465fb9c8175c5b8e2049b75069f19b4b48a3ddee73424e041c17cff15596ac2181f982023100ad4d4b85fe1d4b2cea0380e8900ec34ac2070b2a814c308fe5dfe66fe3bbdf57a3e958b0571d4e4bcddc937a492e89b80302047c435bb500673065023100b2da7f823a9d951f431cf1eaa6567da4e9654c7c84808e354301b2b86b566b1153de080b66392ac50cf93baea096c3af02302bacc57bc412db569b1bb726aa5150242a0cc5d064053abb6b9806cc5df7f4d629c09cd19392d559421ee62368d569fb0302047c435bb500663064023075ac8ef8432c7c76e54b2b6fde9a584de06e3bb526c73a067f1fe37175a238cacf1dc7b7e2bfb478018de1dcaa928735023049cd54e2a2d2bdd7655fab9194d7b2c7450447ecb91fe9953edf3729f31174010906b88c4878cb6b49839773babdf7df0302047c435bb500673065023100e827e99b60c9ce34c00006a8302d632051b7015e7d88194d4927b13286baeabe3c23ef1f63e893c196fe070703e806c50230155656e7a5aaa47d153e087c2b12ad201b9e87af741bfa0e940eaf39bd1e7621c305a101b036ec7cf4e73c28d041b79c0302047c435bb50067306502306838e34750e70ac706b55f1eb6b8f73e78edc5b608d14e44437eac64b9ae04240d27a25cef7ed1a30bfc99eb64ee5196023100c4ec9faea9862f47d8bbde3e9825cb04b2e3437280ed66a4cc39a6bd544382d78e240234e46aff859df45f27d4ef919c0302047c435bb50067306502302764a480e0bb14e2496b2d67986b9cca4ff2297a64764d8d0b8f7ddf3f5d67a72bc67a41842f37af22c46cb5e3f615eb023100d19a62bf1ed0012d0f8061b41f3527356477e50060b5f55551bfe8da58e66c9f66e2e9e6c53cc2e44a92629a421c62690302047c435bb5006730650230265fedbe96e92d585cab17778e300b55bfad5ff5436b85f48bc4afc00b175b4e30d7be2a614176c2a85a5349bf6a9435023100ec7654ffd29e11fcb40644c813a2c2cfe48205a62d2c1c991471b0f9b33688e76d35b0cb66ae0327336f389daa2ceec40302047c435bb500673065023100a55366f6b48831a38f7e061f3307a50575d17e9d8c81e283831ad553be06a41484cf667ebdf6f5dbc0bc6c195590512102305047d55a33bdb903be14bc14742b4bf04b217ae967173cdd966e31eda75ea819f62fe31134f598cb8c6eacae9804c3300302047c435bb500663064023070dc73c070e5127569c9ac248e6c55ed0f769b82d529f08df5721cec8e9fdc41b5dd8be4cd695a411c5e86b69cd4adae02303d676cef56507fb015c3131a3ea36427e1a49d7f256ee9b951e84607327391fc1d7d66b112b9119f99c4c25f608029140302047c435bb50066306402304976ce7403537c1719099ba90fce79b89544f2f53477019f16e9be2aba43a964dc4741f33c85ece1d4b9148716d56c31023040be0cb46a4a07900a07fc59e3bcc2ac5d97f615596f093996b821bacf3056dc07fac84d6f1eed318c5bd202f9a83d1a0302047c435bb50066306402302be16be0857572a170144f74ad9dbeeff9151a1517ff5756e79722f5be744aaff5d5a0b203f7ca7ef0a479656746453702307e1bb34cc2320ea8f203c79a69b0c7a00fbaf186c220b4446dca88b95b975721d5eb7f69a5d9e093ecdd7c4ec2b0a5da0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023025179324fe08c19141cdefbefda9dd4633061af5760e5b90a4074445333d77ae75f784163c8e824d3ee7ce007da4fab0023100b81c460f31404bb61a9894ec5130ffd45b0892349f8e8f359a8d0828ccd7c0d5600dac5dfebe63181d62fa2822d485530302047c435bb50067306502310085323400d4e163876fbf9a2ec24a985700ff8ff00c0da2b2b2a37e01b929af9dbbba22377109b3c136f9fa01483b15c702300614e84f85ef19035ec34fa2519e9a5b81953d6ce64a04b5fbabe7bbcf07260446079ab89b5b7d9dbf0e118059ef5f510302047c435bb50066306402305628527c8da6dc5d72bcc53e33561a24fd41a0e4149008002c6afafadb724653c2175be1b3861ea9a78b70139f03bc3b0230089b982b91b2e64551595a5e60b7a2450c086a4be711bfb942668dc6417b7ee1581f24396e313efe5dc0067db1106bc40302047c435bb500673065023100c5d7f406063cf8a40ae81ae2d6b558bce36d5c010bb512749b6fe4e21b20ed62a4d6812bb57552c41962d639548b4003023042cc38e59dab5402d49a558135e0061711a14e86c9ad2717a56b060b7edcc47536225741740d369d68a8f1f10e88b2540302047c435bb5006630640230786405de7f9e50991db3406aec0d40ab911d888bd58b9f114f418915c902ee33f1b22992714783af7814c7919903341602302bd34bab92c7419d9990ed742ac30f45bff857f814691f27db504d321390a61a618669e82974d1ed6290c1cf54aab5fc0302047c435bb50066306402306973ce9f93c098923bb8bc3e99405d5ecb6a35c79495543dbc3d1fb18ce2faff29a6eea0cc3451f4ce4bf943d5544eec02305564bc75b0ac7ef3e15fb0b71be4bd3b93ec7112757a75614129f75872706ce4459fd72d95a40d4a24bd1330670532f70302047c435bb50066306402307498d192e45b6de555ddda56258036622aff6ef9f5f31368c2b5abb35515cf25919740b965420858cebca5f8c00314cf0230400c4c9b39550ad52b97c0dbbf1b6181bde2bc9ccd15ce0a83bc83b6a052725b96bfc5d1bec7d8186c28b245747e61480302047c435bb5006730650231008d91ff61e3c6eda1dd1766247efc5b1a5d6f81a20f8d9d8cfbb6322b805a8014ee7b52a184891b9a72d3a712095b5475023014a9981da497f75a4700f52ee7c52c2eb06f48e1c9fd22e26f17f60ed3ab3d9a1649cb7386de5ce8488d57d6b81ff1610302047c435bb500683066023100b43f9368756c23944d76d75795839909f83fc5767d8282b71d8410159a58dd9a0fb636abe737c92c5e4b64ada1f0c291023100e1260bc1dc11b6dc8285a9edcc9863cf74c02028c7bffb32a8c46149ee196338a22696b756d7d52bf61de460f62a65ab0302047c435bb500673065023100de66d62d93e80330ef09a461684002d00fd19931eb89cdca85b4f2d66454a85c0d46aa1ff04315802c4ad8fa015115700230718f7d2a9490e7921b563a3f1012a7b546087217b87af3e41f71800f2d8536df558bd3e0e77bd0defbc491fe7a384e0a0302047c435bb500683066023100f059f4eb99784979c3728cf5c4e9f0850c4f20a24a337f5e7d0761975328bbb92222fa36b7d7d8554874b1de692035db023100ff1ca89c0b4fc5325af98ce848529e7d6c5298b39fb138a7289874cd190e2974308ab01e8c8be558244b3a692fade7b10302047c435bb500673065023100d4b05f9303cde06be0749408357ffb73214fa05f158e5c425e4c8f5de8702b513503e41edc127cf9167b027abbdaebff02301a73d622065235698e3d2115be0ca941bbe872a96d71d5682506c1715234745e3ae855aed5d0b8aca4a47b20537caef50302047c435bb50067306502306d8802a8e723ffa8997aa9bf5799a99cdb148587560dee0b9af38026c7d04684080ea0194166855fb681dca0be0a5640023100e126a6a9c8c18491c424f5db224f02b1afec142cafdd892720e8b2bb1c9ac59e3d6d8a7e6a8560080f92bed8894a1de30302047c435bb500683066023100b95527d248ee60e548df692edf64d87a06eb4e9bcad303ac2f47a6fda4c1d67c6928dbd195b23b279d7ef4d08c7c9141023100ee4c39b1c23db73466a67ddfd804138d21a9301fdcc0abd3db04fe83417ac8c8730e2aec92a86605761d0d0c8e98a12d0302047c435bb5006730650231008b19c01e19ae48fd85124358c9ac9c553abd3684ac694e88640afc0e4ff3bcb5d0e402a9958d255533ecf0ca16ee56ae02303257215694285bf951b3909a89697162a0c7ac93feaab66e4df4110df40d507f72eb5ec175410a48736c3b4d2425d7eb0302047c435bb500683066023100d54a0e8011d836ece9a90411be34544c20a4de877ac7c78369586414f886e331bea3e77bd01f94cf8853d53f04465047023100b64a9b7d08a6168482e6ef24372d53d485c1f7d348b6ef57dd4d90c687fd1aa5aeb7aa8093fd38ca2c9ffb1b54a97bbd0302047c435bb500683066023100b2852037e3d4e591fdbe69a85a53df780316983f852a2148d5d2952096b8eb1014f7d5048d6248762a9a81a4ea10ae6802310087402a19e6cd4b7749688208f671662548f94eb67b87e89940da99fd580e74210224d4e8a51cfb1242d219a29e0604730302047c435bb500673065023033d7dab5e49ae8b93d3456cfc58cf228d3f55cf07fe32ce67536724b0cca9561fde959b77118c6a6e504b83abb72be930231009f87b0defb4babc3080a2da31ac5e2de521cd5ff22b686d5a65b245a88dea1a3bf37bb9b4897afa23c820cfdc3cb563d0302047c435bb500673065023100cb92a7fe4f92a90cc7ef463e15a463c51f1a107c9028702102d00069452e7c2664ee45c4f136696f21d52ed07f88497b023033f684c5d31f39f3253981f19181780fce4bdfac8f785d575dc4c11ad2ab7c49d8bd9aa4cd6580e8f503c5377234ee6e0302047c435bb50066306402306e9582b6412a5b4caecfca7bc01a63bb048521d0332ae533400e8af96ddbebd4b38f1f3520db9c4e82866f4fea5cbdc10230614be24ba23461976db2c1f74eedde4c4941ae3bdfa317f5ca74b7526e4c7720a8a0db405e58354d48cd4602c788caba0302047c435bb5006830660231008c79c210dba259b66c9547e1538c9eaecb7cd366a7c31f8194bcb12e7c92f76cbf760260c596b7e71ead240349b00adf023100b1837ec0f3783be1d5f5812e6ebb7bd0c039db6f22374d4f3a5c31fcb35d614d6037681def6e08cf6b40e91b9bab196a0302047c435bb50067306502302d96b89ebf7f3c7c1c7dd17ce4b7fd1995c9ac7cb829982005118b470c6f1bfbbd21d226445a8224341cc71d86fed365023100a50395bbf4dab2933964b9abc6f1944229e89d07119637166a9f1cd34f800f1396ea9efe1b6c3fd6bdca07833a5f28070302047c435bb50067306502300e154a0e6d31a255fedb11e4b38b7b15e2ff9035975f2f28715630a5920e41396f37ac7b7ba843369c3a8499cf4c526c023100fdea64ffea8921f75119370dea107dede42bd2516943978396c08371ea15cdd2d8cca7fc3daab116f28a30769cc60b600302047c435bb5006630640230204e9799374af8fdba31e65a48168b3ce19c42dc7ccb0e3fc58153ef42c6e9578a2f8cc809dc0b5bbb4ae6f25f4af5a2023045a8998977b6f9ddb305b6b4f92d96d3758498bdfa23da123ff35853dee8a464709be3da60cbfe13f07a47ad3a46d85d0302047c435bb5006630640230580a89b30bcdf89cfef47dc569fd8d6e33fa423102f184fa6916fac9780d5f2fae0d9e9e2fe5c9b1b5d07369f7daa03b02304b984175a43bfa1cfe1a4bec66102859b10c4f4369f5eb5dd727d37f3a1b814383e41c131bb029bac0caa24cbb29d19d0302047c435bb50067306502301b0d2adade74da6cc36d2d04745ab8914cea1efef27bb6515199390762a2c65b9a53e606db577a13e480d33dfc46d55b023100cd1fe61ef39b7d2fb6421cdbf295df441e3df3f8ac9fbecd530a0a665c6a513f245dee606da47be8981068274ae90be40302047c435bb500673065023013ae3e4d0dddf6b10682f8a51a5e90569bcccdfe23eedcd45d63762dfc95abe3b34bfc41157dea9471365b3c63bfd28402310095714d60df13eb0b6161bb87590adabb8d862e82c9ddefebd5a57f0e2b9a690d4f985d61765f2caa19cf6bf2a7b9dedf0302047c435bb500683066023100f6e937b08e74fe1dfb6416ee082040438e2586300d213e9d36e337d1b470eecf938dab507dab081aa20962829a1f7c35023100e929c27eeba6857088a528ff3ee99ca95e6922f059df9f8ae57b8156df91f60831a839c4edf9f53314698d3c316b7bf50302047c435bb50067306502306a9feaea9b8514fd8de789b9dcaad56ad919acff3dc821ebb6881f13cb84ea4ca8402b12e610749aa29764c4afe4db27023100c8bce89a494d8eafbf7ceee6e2db0500ff6132aa4deafdced3f7c9d408bc10a6db35a9b11cd0b62f7f8c01a728c94f8c0302047c435bb500683066023100fef8e34b85aef0a73fbeb3b6320e9e31ddb7cf7f0e13957d85ba66f0fdbdfcdb346e59566fd58b10179f685da6398445023100c6159d649777c126e0205b60776d79b38c15ccda01eccf8eea55a03b1dfafb64b989c24be062883ec2cd2acd646661d70302047c435bb500663064023049cf408b7d321a2a4f799cd680dc0339bc1603957e7419fbced5ae16bbae1bdfca65c2ad156680f3594e22f2f68d70e602306cd0a07f5fe009ffb53c4a3509497f9ac7f59f62e0e5082a329f455efcccdfc7c7e39df4608354d76cdcdd7a85e504150302047c435bb5006630640230682be595fb91c4ad86465cbd718e8856c4162372ebca08c5e166979722c4d24bbd834769a51730ce6fe4fa889a296a7a0230519a57a95554a231bd4da7d9c1b0a934686ce4c8cf8c52b21fea870f1de91b53bcc57bf2c38fa7c4c79bdc163d73e5830302047c435bb50066306402300cb5e5a2f419b81ea4356e98aa73a5b7b9a891bccb4589fd6da0944a0118baece1aed2ccab08cf837caf6e0f5d9f4a5702305b580066473b0a0d061c16776ff22f52b0adec9d39fc3c86b40d0288bc6deed2a07ba77b9e6570df1caf2f40d6043ff40302047c435bb500663064023056439b29fa1ff67ea0c98231fa7744bdacb517f3ad4022349ec03307329ef0229ddf5813c519787b60447157779c015502303495507e11e85040c19bc8491b26d6838159605f327adf760f7e092a776d73dab19f168690cb86c387aa49c2b728929f0302047c435bb50067306502306539833f2b4a8e266233772a4e0a4a3fef7b3827f4409373c437034d74e23891b7a83a0cbf1d4fc4c7512f33d4dbda68023100f618e912bad784f3a3d4090342bc188b414adfd9b4b7080f6049f0535a0360d42013492ec3cc37c149a9599d6bd578e20302047c435bb50066306402301b580dd54d805908a341b600fd30829976a8fae8c1467566da9ad4365a8821fb1f4b486ba6825c9aa9afb3efe5f35878023044f1d73c4498d6bc5fadbcfe33560b7fb2d649f1d638fec02296e609724448abbe76480d4df2c2ee88c3edbeeb8028c30302047c435bb500673065023100e4de27adf2a7ac10e4cf81c9ed4c31ac66e6c2720ee1b09e4f52c49d64bdbab1eeae76e63e69b40b76b1600ae6a9aa7502306cf810b6801e8fbb4acdb1b9f1cabb23d0263e23f3a6553a5075754e84e6f4e314df3c149b8671a9499ff55e6ff7b4b60302047c435bb500683066023100f567353b22a55ea1a68a19a25ea799c796690be6eeba858dd6b7cf9b944702240021cb1225ab80d9bdc27b7628bdee08023100ec31ca8817572b9e5cc66a231b036053776f5bc9bb53250ee9ad4fa462e562e093954bc4b2f20a225a340e857b9cd2f00302047c435bb50066306402304b65bb042a5d3664f94fd34da2dbf3ccd5d7778a4024e0a76ce15fd5e259834491ec21905db77822161978c4680f187102306bc0752ed811bb5dd596882d70bf57870e4483b39689560f8f7befe4d381af1a8c7314e73390f306d3c1dad4780ffd160302047c435bb500663064023034801c2c5aa73b6d959fdb7f2b57dde9aab74903617bd907119769c95bfe8d6be16ed01ac8a1f04127951051cd335c38023032644b08e6073b2fcb89888bd40701552e8222247746e86ad9010445235306eb1e046ced105b8047240e0dacb04764050302047c435bb50066306402300086f5f31cb6dbf373716f1ef7211ba9a280864bad60da8a068b27bcd57ac0d083e89bd322efadba2488f1c215092386023026fb81b9910a5892ad2e05ef2a575a63ae8eff7524d6806c5601075dfdfff09377c480a7599c78259fd2641316b8d0c70302047c435bb5006730650231008af1708b6e1a443f529a54e9108c28d361a4ceee0f388982f6625f7b74dd5292eb8f44107b43c756c0958cb93db40e350230439403f81291839fb98c428ff2478d4ca8f792b6edc846d840b4dd639dce67499b0ddfd52aa8e1f4084eded667520d020302047c435bb5006730650231009b9352c60f3a535e19f391adb48e79355dd0506407cb429a195c4eeb87eb02d26251c6973249cf7a98279809ce4bf63102307d9c7a5017fbe26290215411a0434253861867f167051a4fac2105d508143e9ee49dd157876dd211f4f2e38526d804ac0302047c435bb5006830660231008e311c45fc0ffffa435da79a7ec2b84d894445be3d88ba8db174b9174e0526813acd0dbe96cf0b7cde668f5fbbcd5b8c0231009e47bf02135682663b1fdc80387c5d8683e5e2cf0b80e4c905e144927b0ffb30eccf4b91b9f74721f88b18b8a0bec5b40302047c435bb500683066023100d2db3a45e450b51c598c8c89a53e69f85b07d03a34068d4e494e6281ab09444367e4dbf1b7a309afe9715501178a99e0023100aaf1df3aed35778d2a5bfffb010ee42e1b5ca66069bf71e2db1cfc2f64c251b635942184fbaf804f4861544a40b997000302047c435bb5006730650230071f4d46dce6d812af94818ae4aa7fe628ee7615dc44298ebc5a566893c62063d242b036a1050ca6f336b9ed6cb74fa0023100fc47f5517a63ac2dea31b8014d3c24ddcf47bac1ca7fe1e3970e08baa59ddc023239a589f783152bc96e9f1817cac44f0302047c435bb500673065023100a1d046277e04297c3a1db4b503801e23a9ddc7116348bd149aeb5cf7236a96a7fbb3d852078e119876cbcea65c3024cc0230148068a9964c8de9afd688af826df1861017894750ab43b895aa398c4a5ee9faf2862979a7fcd2e6ed9df9427c7f65e20302047c435bb500673065023100bf3db1af18a80357740c6da8179d69fe089ff71d76dbaab3eec4c78f3ce49d862ca22bb218e8b00a976d1c503c21c57f023043a49d1d5a2b40461981fb45d03b0d2b2bc6ecfbbd10ebebd775c99230546483d96eb6a7c77273c11d5d64b7d60a67060302047c435bb50066306402301b218d0ba917c13122cc77385e80d08bc41484ab25d9d08447f643ef8bd9f5e8657afbc431d73b9e848b69d1b6e49d4302302aea4f37897707eaac8730dfd36070201513db2b14fef9242d000a3aa8d2b796b98373a09fc17a6db23232a3825baf020302047c435bb500683066023100b2e7d2134f683d1f196f760151cc5ec4cddeccede9d5abcdcc6c308619dfb3ecd1f2970a10081040b4eaebb4d1e890db023100ab884d690b0b13b63b59cdb7a3229b5516caea8820f901fb31a8ed4fa53f85e7c513f4b0f2bb280d1beb2191c9ac1ebb0302047c435bb500673065023100b6a37a5080acec23339253e98406071522c5282b7aa355862829eccff29538166734ed355ffa4c9c3c1008b0a8240a8402306002825ab53a6063906aaeeba3d6498871deaa9417ec736aaae5d5e90f3ea59aa262c79621bf299f88d05cccf9d54a1a0302047c435bb50067306502305f4247ac228caed7e806dbd739ad745b8992e2a2cf794991bd88fc61eb9ecc3a232a2af5ffbf735725226814450d3fbd023100886a8d5d777096bdd0cfb70527ac03d0c07ad5a3b938fe8effc2e6937d67cedd712ceb13271072e88c55a81bcca0a39e0302047c435bb5006730650231008d7e4b1ffb3e61fbee611f6a92e4f922f395e65c1b6311ae65771e07933fcb1bbe5869a3d038332f5284e1bd7ceac45b023009ad9da316409d8f47f69fc4d501cadd3b5610c4df9ecc052514a337552b60d15cd4ca6a50c1ced2069d662b1d87bada0302047c435bb500683066023100936774959ae892d1c8895cb6b7326f362b70cc10027b3dfb5174cf56e73ea370475c13af25c42e187c83d92bc9acff2e023100e6d78201ec3feab248556f7c80783512250bf2ba2dd6d5dc9ad4bef14bf51233954989591329391bd65e8e75e443169a0302047c435bb500683066023100d88ee86dc4d1fd824911135bfb5262273912dcded8df8430e015a46bd835ce83a9cbfc1af0e3f065b65c6f5ff8b7ff4c023100adf0bbc1b6935c37c653e9c18b72a694101e0aa5c56dd16bb6e4fea02da3d35f83f874d83904282b35acc6a8aaac62db0302047c435bb50067306502300305d00fc5738be9ebfe70b30c13137e0ce26aa7d4c0947b2e9c45b82cb6b2fa1608cc1fee542d0e18adc1dcf52188340231008fc6edddacd67d8fb46e9b08f912c5d3571194cf3972c31a9160a6a6b75e9f23c3aa171622d80ae6aa67e61ea8a51c500302047c435bb50066306402301eb5fd7205f2bdc2409a9a1957682e5118e99154efa7cd3c87fa05ded2298ad4230d19f514eb5bf6825202c4a3b3ab3a023062ad0e926f65661d4231f03a7f622a9fd534fcf7d9af8df1626318b63059894306431f510faa4299bbf8de18bbd06bd30302047c435bb50067306502301daac739fc10ab3420c51f3f101f343481a9f858ef186eba4068a6b0cef614900f5016b60179d9efde8e134a98b7f857023100961617697e15a1cd785f69052f00fcaea47485cea13ce303bceea5566faa48a583e6a53ec406fbbc66b5a8adb7f3a7d50302047c435bb50066306402300e25ae8f80170e6c0f09030cb13ba0b82f4076fce810ccdcfc33dbd2830df69f52275efe3e71fed46e5cb3cd05d21f6e02306092d6897d15fae71c8b1459b1a918d7a711b7a8cd78b5681a2a1f3f2b4bf43109f9e8103d3e8dde9520863b6a61abeb0302047c435bb500683066023100de9f5111155441bccefe3ed16e820058b53b413fa6ab4c028cac86dc9b319c3e958e56274eb8a29ae7a40c76901eb0ba023100941f681f39a84a4843c4625ff339b8a72d22d91342ed02a4d4bb088ac2149afe5908a59a836c1fa14653123a51fc44d00302047c435bb500673065023100f0f05135bb7aaf7f66269b165fd443e27e43e57bd38ec2708defc9f6b34e4ae572e1b7799d83376fc66ab3d615e9154602301f1fd215c2833f800d09115230bda7e599465e3d2b3bc0e743af4a27fa03b76d907874cd0bd2fc49a71e0b3e0793d7e70302047c435bb500663064023016375f4207079d2d27d2ebdb9f2cb505d4149b12726f36dd4a049dba32fe61b9e37106e3f16213a0eac994317aedc45c023046039080cb3539b95ed85d74c705a41a3723d65a36f2b2e5c8af9d87065e3d892384191a5362d7169327fdfba77c56b50302047c435bb500673065023009955a68b5bb1c15622d804cb1a0e42f374c8bde74f35eea9a270c32671132d68b1e03ee9c74a99f539f6f3330886cb7023100ce68a0feed5a29edc39e681d6e46c1b0781c5408fed61c793c3506b7ba537f28ea1a472126b741373589689218c581dc0302047c435bb500673065023100bf75ee76fe32c9090d7820fa5aa2356425ed7150fdee0cdcc6274bc52dbfb87ea8d411db380c29dc1521cf38be0c2a3a02306ad13637986da82fa6f76bbef8e9394bdda60d18dfcf7d6f1c24d6ea65c2bed77133bd19b77224f3eefefbfd693168d90302047c435bb500683066023100bb5f7022376e12e38caa49c010ccee7d6307cfb2fca3e0c3beb43566128d8bc6e809c2703f7d10f38d4f8f0d3a121f94023100fcb4f541213e2cfa7d52e62e66898a55e97a348cdbcc841778249866a579b5c8c9d72054db5417d9e839c08c48e1764d0302047c435bb5006730650231009c5be8dd5e137fb8d3f4fe4c20e319ac67f0f1c459864899873d497db6b1a513ef228a7f564e12e46498c9d94d5eb48302301256b697f0f6e199241894f1038dd6a3365b40ed59b5a7e1aac12a87beef786fb991cfb2ecd9364c6bbf782b3f5a2d100302047c435bb5006730650231008ce29fd3f1b230c2fc7911b7a2a6822da7c6d29048536aec2407b7e9751113ae044c0d8d5d11e8a3a8581d6e43b50a380230242b049141d2a4a6d2798dc1d17ae1d8e6da77acc8f69569dd2ac56073a8998604f9655dc59acb6c45bd9a0ea784549c0302047c435bb5006830660231008d3826259b85c2d7ab84f68c40d56ba52770a75257c1ee1ae06de948287b3c7f558e4a6d985abba5254108d9ea8c707e023100a52033287e60d73b62322e19eb06ca669d971011a14ecdc86087fc57262b14e4280c1a2215585bec6caccc93a843130e0302047c435bb500673065023100e6d2166e7c1d2610cf2f1cfc5f25cfc3c6ba48220dcb659c9239e976c2866963c3e8a67219115eb3777585d90824f69402301c831bd6ba6148322c2aaaf08cdf90fa3ed0ce88014bc1062c709e6d5da33879faef643864e110ee834339a90c362ae00302047c435bb500673065023100ad5cb0051872038a5018ade2660f1c4dbea23f5a2c72f6fdd2b99f9bde27aac822b53f66348ffb3dd249a26b98caeca50230755f6bf70b9ea66b5f73b6da3ae3de6a2383ac849d839501828f2a67c9700f3625987cd512dc6d23d0f1529e3385eed00302047c435bb5006730650231008bf6a1a48510d0993115c075478aeae983108fa1caa1694ef9da780779a8341a0ac24f3ab5795b12c54b8b56bc2cce370230440ea7f2342760d9359f7434d3fbb07d6aff934a5da21720a629484bf90dfba7845611d8dad60590622eb3c1ad9359c70302047c435bb500683066023100985cc3f5dbb5a5601ee9d5f4f088005c6edbe35b8ccd3cad63d6c1658f00dbf5b0550899c04fe55d47fbc956e779ca16023100b84455dbecfce8d116a5aca64d54e3a27bedb0a289bd311d950e6f3b886a468395063df655bd4696f343ad1b827faf5f0302047c435bb5006830660231008e9b90fb2ff344fcee1d6e04893e496c5d71200cf018e0260c1cf003dd7c28ba1e7e217cd5c5d89a7e76351c0521e08e023100da4703af54898507d063ff28050ba0276c7b7bc11e29711eac848dc90328a7f0a36311283ca2f230a6a6681b86544f9a0302047c435bb500683066023100fcde9106a0a00eef8da9e0dfaddc1794cedacf86e076a50900e44f410d4420d9d9f73c5fcc173b88941ed917a09d46a10231009fe2bce5ad22c67d64aa91ba8a0484293c1bff766a88b5ccac1eea3bbbffc0ecfa6d5fecde18880a2cbe1d092b02bc800302047c435bb50067306502307f6d6efd207e900aae8d66f4334ffca185ef374133a264e6ec4e47627fad857d9821b9221f1b1b2068bbfb1c3d4acd65023100a8712769cb0d3d0700c94951e26fde686285dcce56f4eb684babf442df745e49181d6efc8becca59aa57429cc0ffa2cf0302047c435bb500673065023100bb26b5281e81a2618e584eb363f33c1f71c96103f0e1cb978f5d3273a667465ce72562a9a75d25f42aadf8203141f6960230014d6385dfc0e04a11ae6c214e883de44bcd7168c88e81f8bbe2da60bdd75a6d05f09a602d68b05a29a6930eac4b24a50302047c435bb50067306502305ddfc6728ae75ca27fd1d0611798fc99ced92ce436ebaf67dd7cad906e3264fbd39e109a93b617237b7cc855b046335b023100d66bc5c94643593381eed1ad94c4106184d76f0aa1e608ae70be7514a629cf26da41e233d04ffef73e9839325d1e2ea40302047c435bb50068306602310084c3f640c5e1ea1393da8a9e16c395a2615196d0ee3fb2030949c8a0b11673b273119d270f9b2ed2351aefb99126e81b023100afe5a4d616a75e2800e7d3ce319bd480154749f8b1d1372fd06d0130e93b71294aee51d5d29b2437b6e592f01b0d2b7d0302047c435bb500673065023100c901278b29bd6513d624112eb605a894a471aabd0e34e8d437d77aef609a8aba6b975be7a00375aa69086bd4c6d7fc5f023002b44937d93b9a77a2f65e15f0363202345a05a94400e4061a03d1598fa1bd8a0fe61efcd30352299c27ad35466e74d00302047c435bb5006730650231008bb6445cf37c2e1cb7e08b2d46a96813d2ce118c18839698a6f54f04a988349e13edc12649dc1cb9d84a616d67c4bb8502304760009f092b2c2343ba91dab7841af8b576cca21d79af49439f2ca6593b60db7dd189b6f5f22d283a6674f528a6a9d40302047c435bb50067306502305e04bb913e0244a2b34cbe1cafa9e489a04648e5fb6f56dfe43fc8e1db954e854efc6005e4cd36906e91893202b6d72d023100de3b9362d8d79d603b4b518a615162e7c48d49cc8c0a1c35ef47a9370b1b1071d8d42ba0c6b7a81c7995b275ed26d5fb0302047c435bb50067306502310092dec87a028c392dd9ee9d24264cc4abdf3439815ed0960d5e2bfc7a7df84a9ef41af24c6a585db1c090e18e38d42a7d02304521cd62afe122ede937dbaebec27b97736b88a3e68a4b5ae42c56cd12cb036aaa5cc6580e35e8fda801d6cfe4db68f90302047c435bb5006630640230562c1b899c19751eece9029d1c5241ccb37b7dcee55278f59e740f5d6cf288ae4fab927c264ce82ff640826adf77f424023002f164bc2dfce70dc448d088cd7f8f8b9283856a06ea0f9f9a0354daf3960e72ee768cfe7469a78ccba8fdfa76b540050302047c435bb5006730650230033e1b23905cea856d83ded361b06af91c6cc43ba1008f409b804962eaad752899f38b6c13c6191ef60fd8b34c610060023100f187a5796bcdd351f1448549641a6073a850c7293a1c061377747dc3fddc0acc4b414969611006b7e71ab18d905c0dfc0302047c435bb500683066023100a8c5d78d01889608d57bb60ceb5a21377ded6ba320927d6f12e63a6082aa9c3c3cdf8fddc3fe4ecfa8ed3a6ac4b2f588023100ff766ae0c9e9169a9fb49752da0ff32696fe555ab27c7a69c1147c00c121183a81293017fc0060b6bcf67e09373072970302047c435bb500683066023100faf8fef4c7251d50edccc56bff5566a823c448a5115b248b564f546b9875dec23f58a44dfde3a0a6bd2f08740de567c8023100f8036b75fbe8ecea9eb53a744bc8fb24b89afe007746f406b6ea02162d5227c68eb7157e81884e45b3f56a3a214d83d50302047c435bb500673065023100f039acc30d3843f0f0e08c38b53b485c68d86bac0d26cb340afed075ab2096ec43de840f889c0e21edd84748ab33a042023051133ca1e3f114f52d80c6bd9b11e5840f781362334da2e703e4229bfc065d5def39fc8b2cbfecb1a9d345c3f28602400302047c435bb5006830660231009f4c8bb86bfe2053b42a3f62d3e61d123b16d592d519316e6b87ce12dadc3e568a50bce7e71e24b3eb2dda8579e1d3cc023100a3923a7b8b9069ff32d421e7fe2bc162c678fe02db4d6e99e2dba2f9a90dd20623f6a23f53a8fc4d2341f30275aebadf0302047c435bb500673065023100efa3003ca5cf769809410c24ef80a58778f421f2c07d0610ac02461764a70c497a14c29172f2e3822997689b1e7a3ced02307924d228f00ab6c8e25a7cc15f89db5d283757f26610a7cd5e0ee1c1bf310e3aeb1401bd0b53a3d3a7defa1c591065be0302047c435bb500683066023100fb56a93e12207b6f23969ef22ec2576db83f78cd03a0cf165b2d16bcd33357b031d0796b377940af6d2a1124481c2f65023100fb3630b305d6d1c517aec589f5db4c25ad18182938a90fa4b4e01a4e99190272d57317cf40851dac9a91111acdf091e60302047c435bb500673065023100fdb209e551d3b09c822d7c99635e54306cfddc06d7b328c7fdd54b16dfee7cce25d069888dbbd9df9e80b43de1cc9edd023065de01c4bbc9f35d46d5de3086ad056728a81b2d04a424223d17f7f58a352ac9224ccc5e1b371fc7a1d0060bca768a160302047c435bb5006730650230405c6a03c30e6237e1cef21bccbe573b4dce3185c92c83d888664ad3fd5424cd8dcff84b516aaa3efee87a08bcd415d20231008e0013d0d60c1b5381fd60417c0f1b557a8e5b8007d5794b3b7c703818dd1074d6448bc743791f4387f4b59007bf61b60302047c435bb50066306402300470a6f58e372a04286f09b407bb490fdf86227f2c784f3fa65938a16d54f39793585f41f7d5e9edf78e9c4cbd7e907c02305909ee60f7d98cf85f4025685bfd6e7b6cf02e1a1fadde80b0323fa0c5c46d45225f1c3ea5444a3fca9eb54035183bc60302047c435bb500683066023100c0de220080aaa9ac399816aa3c9d50c95fe2d1027af1b16330375300a7edbb901c7f9ffdec152dd95c4a3e6043848160023100b29c0273eb1597ff15ceb267d1934a78eeb3bfdcf068bf7304defd587c4527dbc74ca70b78527fb080557e506ca89e040302047c435bb50066306402305dc9e75f56c4754df976f9739064494a0e50ad7841daf7cbb197e39285801a713d278456ceb679be0ec5a413322b526202305861a963437817de90f438fbe4076588a783f6bdc12a2fad2b937d8aa34f42afc20d238f8d2ee140d113f9832fe0fd080302047c435bb500663064023025aa87c68e81acd3404f594b31515357161c0538fb13e6a690bb33c35004ba64255e687e37f1642b6f82c3fd655e7ddd0230046e072038e310ad9865b08191a261d1231aafaefdd98016b07180385618f2f919bdaebcda8a41c81451da1d7e9035bb0302047c435bb50067306502304f99cbef48b0c2e34d5b09db0108875155870976420ea0d08e7806b1d78373fefd3f08d24170247230513c379298c281023100a5fc2f2b2d0085fab2a41f279101e1794e79861239f38a8dc4dadb2145c30fb3c039de85296addd3be176075f0f75e8d0302047c435bb500673065023100b5fb1ba63145bfc3e5b458b83ad3bf366f56e2ca33ca2637c8b354f54e2f51c38f0e324175f82107632d359737d5681c02303adda15db3552005aa050541c23971380d2836591fe586f2c7d92a98ce10a43640bab237ef420f4c17b6a7d5ac598d410302047c435bb50067306502302690f6468f0649dd8bbba738b0853d890d1215749020ab3d421013d4d38c09613a2c8c2fc3b3ca049455bac484169183023100e2770bfa35940538f584986137202315c809b7033b0a9ba6839913138100a31cf02554e1ab769283883d200003e1c2550302047c435bb500673065023100e098229147b9d6fbeea296353d30fbb996cd0d512859ef20c1ea70ca3b2e325b1da2a1db68f49285e105623b35d6222102302486c839f102c044eafb112eddff6afb339efaf0cfb42e3fda31a5ea1cf8e2c265858464e3afe8f2584ada73bbd77ef10302047c435bb50066306402307caa489d20dce3031a4a31e8cc1f285c40384adcbae8d2bceec4cb050b533c7656595f21f1380c973c2726dcc8cf857a023027538a75d95d562498e3e50485192cf806172b5fe9238517ce9b2c529b167e7b7618fa27afe2ebc191991a6f3f7352cf0302047c435bb5006630640230474c082c7fe2ddd2372bd9d7c0317b8fd8d0c21e6535c6db1b4a37441baa3065cce16002a249a82bf76c10a93aa1bb37023049fcfe2e6464a5b2aab747d10100743a0b44eab16865402750ba3117a4622f6da6ed0166d1ff9efcba74261ae9c9bf3a0302047c435bb50067306502310085335c7626f02f88375a7270c160a2ded4d1ba9b03b556ebccb7905cdb56d13e4af0f6a357a6b4cff1cbfceafc51212d023001e05a5ea65d209fa5947d2ed8d1344cf12800109f03e77b89d9b32c9fe422201848176683e0e2e54e5aa496ca361b460302047c435bb500683066023100febd706a508e7fd1b4e4b0a57923a9f7ec04cb89e24f7bcb408a8a9629d419f8da77096d6f41bb278f084bd11b6406bf023100f8af3d2a92d288f61ce2b2431bea8783921b303602669cdfd4acc0ccb560b3f9b812f68158c0122ed8f66a3dd534c5eb0302047c435bb500683066023100ab972b95569cf71c40801442c0a11eeee316f07fd3782c9d32d68a1cb24e9b80b292f9a98c4b1ae456afb44a0362dd0e023100a654bdae75764a119923b534b91d691ea1c8bcda68a2a924a31c857a63bff59877e69a7d4e795f36569cd23b83219dad0302047c435bb5006830660231009043598b4609fd14b97455f4d4ba227e6add837800dcf0b2a1afdd80b960750aab3f0fd14396638681802db728ea0d5e023100d6b08a59b639b6fc3f96c1b968f19cfead9eb44b8e88a94aa5e06fa60f20ce943b59f4d32212409723b4ded59d790d390302047c435bb50067306502303ebee59a90810fa20568dc7a7f982ed35c463707efda8c8d1b37f337179e10b8c4b62719e2341e762e9f117a6ed7514d023100e490859b41cdb510316393e6787dcab2cfccf37cd02d585af739b091f2f40ea86ca80ff30b5641fbf77b751d12de2c6c0302047c435bb500663064022f768b21c69eece8bc470eadaa5e95061c881aff18f738520d418027a568393fba645391861b0e54b12d981e0e3707e2023100868dc45c46b30c99c5286b060dc6e75273685c9126b17e00f133f10ef04b5f3479b5dd9931a2ac0b5d587fbb6fa2910f0302047c435bb500663064023035dbd5d73f065988a7a801ae1988309a333761058c441e6b94764efd9bbf1aca2f11db19027d4d8b253a7b80f84814940230553d9df170e6c89f1369e0f5dc0a2c9fbbc9720396f39ea515869a46801a7c01f79b131fa5d4a9f6cc5e76dd2d303aa90302047c435bb50067306502300733fcc5c9a74be9c18a4ae97b059a000a75325d757f7673e0a0a9d5aa54c2aca5a9d9cda06ebc7c25c191825241547f023100ac8c6a5962dc314555ca14af305332df24db03f40c0ff9a624f47706f51f2079b92872b461a37791dbccff17712a3b870302047c435bb500663064023051c79940949c8a4d265c3b187f62449e78321ced235f781c4d13fafe3de26db9d3735d8ef8142440f4ded39e6546854d02302643b39afb3753037abc9677658b8edce5ac566cbd3e6a268a929bad3fe1a808fc9c85c646ba983ee142ef376eafdcf30302047c435bb500673065023100f84889ca5ec2b4cd9f7c64f3856096c3401eccafb95316b15191b5bb253ce508a07e6d85165e4adb510c5df2ff409c3e0230249591a8163b38d26c148f80f2d08ff240f33bdb3b27c2cd36b59ccfbae67d07411683d95d48d610bb1817f1617c41950302047c435bb500673065023100d96c25d6742a9eddafe383da40fa3aebff66694cfac94c4d284de625e9d6e276b1faf6fa891574b7ab57dc3839d9fbcc02301c50c0a35a8bf8dc8d6ddd5e0beb40b12db468aa64fbf6369927706a90a9c2d1bceeb9218eff70851aa8de9b5b0827450302047c435bb500673065023100bcb28b0ad53f762f554dfe770a2455fd6ed06e67ed50c898ce9351ee87462410f630d962ef709fac9e03f9810e1e349202300a1481b160cb8f9fa4b9cdc317169c03cf291735d783b7427919252ad5beb4599df902b0e51af87ccbca4dfb17264b700302047c435bb50066306402300dc746899783e7be775e448e16262022d278b496e6a2d78cdf8b23d507c34a939a24d037b516ccb252371be31e74ec29023056e7a9b99af1ed1c4b1e84f16f11a8b06b52b4910832f7c77be1265a458b1cb71615df80550225e709c5dad06afcc2ac0302047c435bb500673065023100cc4cd214683431931f2b7f90d9af189f7bf826875fa6c12d0eadccc52a5d47a92f18458aa532371bc95b0c5f19ca51fb023070b57cb7d1723e12487b5dc5031b0b62c649a85433b41cd2a32127f6357bd7c09e1284fbfb686e821e698984b8e4cba50302047c435bb500683066023100cc4d727f328b3e09f441adfd753bba59b5a7739f79c07e0be422a1506680061eefd539733044366bc3fdc36d9c4fc28f023100c51b5b3d9e472fe8e8abb08f628cf661577ddffd7e84710974966c2e5846b242369fd52fab6f6bad30f9ac8825e47b3f0302047c435bb500683066023100c762591cf9b6ead35f407173c00c72fb0540a3fb2ab463d22f36caeafa49f445dfbc0743fa4fd807f3e13f9a05e6520e023100bd4d6e2f8e6202ecd35ec568d3b0bf679db2d1353565a3eae564d99e0b7dbbe74880bf22aa774af08b9843d6faf529020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f8e0a99894f562a7477261fda73f122dd335808594ebef5c3ba54ec2848db257c81eecaebf7be4682b140300abc9b25b02310097ae9b6586ad01a00962b6571ce9069bb1af37e6da4a0237af5965884a930522fb558ebe1be51f477c34cf49280748cc0302047c435bb500683066023100dc2a3acf0484c428819f1fcb784bb28d534d2de66f83fc188eada4bea7c826c94f472de6b5a070a298766f9ad0c2c6020231009ee255dd0ed7ccd4efcc67965ca130594bec35d007c6153e10c4187bb53667d1fcd19da76db5bccaa8e8ddfb3cfd26450302047c435bb50066306402303ce1bc81e03abbb3b2266d95a969e023d8a6af6cd5e9c69bb9cfc4504f1b7c8157b09f7f16e891fdbfbd0ba70fc4306002307d98b5362725f1c6ec2025705b8e0c1424b3c2c88ba85aedc1caa098027088a5a173271bcfdb79e3eb713f00eba2929b0302047c435bb50066306402300510136d1093d29b3697913f00f29ec842aeca94bfef8c9f553fd46c2d014d48e28fe7525a8347321ddad64da19d59df023024f8efd8ea25ab90ae4e9f025b4ba5bbb02f755054e6b82c211bfb3de9642257683410b534c364476b501398124427940302047c435bb500683066023100f3b7f01c11c72e8a1574549fd94ccb02dcc7ef29f0de3d557990e8b35731c468864df603e41cfd638c645a773aa128f2023100bf8172b09abd2cc8957178e52bad61fddccbea03773a434cc2c295dcf5a7c1f3ced7d9a06f36c4619ffdabda9dc990ba0302047c435bb500683066023100baf4ee1eaf7323b251cd76339cd49fa893690ddb33dc9e9c8dfca47453f1cd633d0380470fae16d8a9923a564ed7887f023100f0e04d109f9c58ed3e5d746f7563cddd74a48f8dfb87cb83d920a82f27f7a22445bca2cd01b7f874b370d7add88d53f50302047c435bb500663064023071a89c7c125d108cecf9621c529d10455cb4ae6406dfbfc25b9f7b1e986d1dadcba32c27b02325810848f99f7693396902307754815846a21d416924f4d47a3b7f922fa83ebfd4b2ba2fe0ab78968ae44c71ccf13cf644b0ef25a1059d3f718f0a760302047c435bb5006630640230767272f854cb6a53b6ff7db8313e587ac1fdf4c7dded468a3531d383ef0435bc472934528efcfb949eedbff0bd2e94dc02306e9b8ef4a336337c5a77c7f2bdd945c7bbf5178f246178e68aaa942e7d112b58a5b89da3b2df20b6e1f4be68972b64130302047c435bb500683066023100ca6e7b7e9f822014852a508185c8d0c7ba1d1af14fcb53aa562ce94f08b62b806708f129f4938a46007866cca524612a023100dbaf80ae4d5b5e2889b47514a35356d00d95c36852cb4f15998944397c04e429b80cf8cdd01ce78de70b00508221112b0302047c435bb50067306502310087e9525bde16a89a5b3c51c52eadd6bdc2b80d12aeeb400f90f1edff4b3a5b6aeefef8b3e3e732396ee7074ee0b9471702305710620b62fb2fca126ad1df9676de4101b1814e0531bd8675e78418c129491ce265cafb37a5941a5fb99715c607fdca0302047c435bb50067306502300d92042ea8ed9ffdb9c1aa3065e54fedaaa3b9fd67b6a86eb2b6f76e182591db21dbf22c8223d970fe2cd6844b5402a9023100a73ba0c6471ec495f395abadd46b16799a29e322b9d9092100e7466fa254eb987ecdeea32a24c429d6c2fea021be5d930302047c435bb5006730650230150ac7322086bf3dddfa022b187d7243ccb8e520f02a081fe92a383a168562eddf38db7d80d5ea18d51d9f6a361b70c1023100b54b4cf3f386862da4cbf4ab6f3e728abd734cdec45407e4f884fd6b7b5e6a391f3b9183f032c3da6bfce8562d32e5f10302047c435bb500673065023073022ccbbf2ef749b911762538320af1738c910f549d0ee29dd764823f9932ad12a9c399cf8358f1b0977220df7ca8f5023100b16fbde07a4fbd74ba9757db685f22e66d4d9b28ceb1b87995432fc76a1d18e7c8a554a7e79caf290ee4c28e02d8a3c50302047c435bb50066306402302e780e69a840f2c124da16de7764ce948b9556c50716b1b14f20008d2ccbcce3dba79ae681af977e576c1b7891fed17002302ebec347130a549d30a3ed2bbce67f242e7ecd9e0de86c865241799e93fccd3659e2c53b93bed45589c41d57a81e5a350302047c435bb500683066023100b6ed0b531457d1070b47b643566228eb2e1b76d775a567e9cc7fdbe972fc9091b25ce817a214d6ed625cdf4c1383bc280231008b3bba340a382006f7e17b4b7cb97a6b88baf9a5d5c9ec060a49870e3b40999e0678e48a48735f37f454a1b11dec18a00302047c435bb50067306502304bca9d70d5220ac00b6973ea1f92b5670af05e7f442f1ceb09ec81d694242e594bd7cd35dde0d4c94f06c724860fd1d9023100da37ed0651b97cc279f669082ab391d3f2b978fc53a4c95870bfa1b94f907964fefba1b34a1518d29f247767bf9497aa0302047c435bb50066306402304a61d87ee38a83530dd6419df1f50914b840f23ec6f3d6351f31276e2fd5a1f1ca303e3c0cdf8ef984cfbb2808acec8e023041706bb10a64de8ec7bea77ebc69e40f6af2e39fbf71c788ece7f2d8773fbc01959867f96be273e4381bb9aafc79b92a0302047c435bb500673065023100c0a48642a817cbb5fe768a14c784f253bcd3e931262f0f256f1973c7bc5aafdf50466da86e85e4d96b43a9aa06407331023068999e737c7d34a849a4a0f26ae7402fac2007b8bad081058a47eae0315ec9743cce752343da77b1a60cf83ba55a18bb0302047c435bb500673065023052dff8512274136e286cccb01a0dd80c14dbb8fb70fad7906c1f2d653fdfc9828c321d00cb7afcf19c7c56b41617626c023100894c289fabecfcd8c259d29101739573494820328c2dd319864ec9906e776b0a327d938027c194f81ede0c3d5f3715380302047c435bb50066306402303fbb337acb52de4ef885cef5dcf99aa5dadf4636344504a655e2456f5ced76e3b3918f1a44b840c3b07c78d701d7bdeb02302a0b6b895e2d4e0a0f2a8a4c8a6de3c8f93cbb4ddb9c53f0c100885b6c5d89dbe781487d2848aa20217e4a47aa264a860302047c435bb500673065023100dffeb87e8b8bd7c10c15146d02be90e51f3f5f01caa55622eb93e08788f6fba1682badfd23181ea18a7633af8f7cd7120230258527a8aa69058b2a7f02e0fbcfa39c856c36c95636f9f2ae5406072f962bf99d6bf74cff597e88f09cafece2e1f9720302047c435bb50067306502300783de7567cc821286d4bfa5d379e868c31a6cdd906f6f867b6e115275ca35d17d73bc8e16665b6a2f7114ff9c5cb735023100fde3ea70a79060a6fb665d6f27c64587b554cc1f68e0dd2ef1c2bc1a86867bc9a0598385c851924e1e7472890c4e72710302047c435bb50066306402302d27927f7451545bf5b9777cdd839023600089c10253ece1349c325398814c4f0acc2d0825678026532549a26d8a59080230069aba20c82bb72fb3eae1f9265537030552b6e69d98289de74767dd96c70fbf3dc402115c296c2b0b89755816e7268c0302047c435bb500663064023007b85d189b411a0640c7e1002cb64e83323feee931f9df86902e43e10310ab31c79a4a4a5978cb9a6fb906f045a79f500230582a9566e3e5d92913d9db4200a893daf38eb727f6e5fc141be69e2744320b3d38b2b719b624da42b5ac26347b9f42ef0302047c435bb5006630640230742499d112eb4c4ed07116346122df47a89826c7074374f9fdd23461d37cebad0f19c8ea8053e0e45781ed372ac435240230397ff073286c0d9ff714cfc688bf44be72d7f48f411202dbbed9835a8ff79ee6b3b241380c13c7a21f82598266a6249d0302047c435bb50066306402304bffb94783e8060d870cd722040db82ba846d2f2e74f66b21677931212f952ece027a6057ca145baa145ac2146638dac02304a688401e5a3e8d8bd805d13aa6c3ddd55e6639677230a425977abda75cec70a83b9dd9f4c3c52c955f4b7c03a6da31c0302047c435bb500673065023100b89450ccc05d954eea739ef8d4a7a110f0f579f1ca88d7ef45add4c20ec0693648a7e60118b662d5593d5aedace3110702306eba88fc23c71a631e39fa8e55875082997a5b776081da535449dc753f924694217d0f4dc864f559b3a994db92c82cce0302047c435bb5006730650230712ccd9512a82c0a1cf759a4964337e9dff48cdbe056f714be09ff955e2252092568310e557043211c276db08afb7cc5023100d4692ccaf5a262d294bf1b6d7097d8f5eb766af90bb6d8ae1a1f18704964b8b61b3900ec9951444bd37dcd4352aa65220302047c435bb50066306402302cd054cd6290d4aec771819a68c95333882eba9522b5e77708122ed21b0ea7d61307029539cd2610845c3b42ed47f907023061fb7e0fc1d9f138c89ceb6f7939691005989a5eda42cebadc727cf0116188972beb9ffe44ffafc1370d9156bb9afad30302047c435bb500673065023100abc15357b7b21dd7c643d561034428b5d6bd24cb6c1cd9fc1abb899620a589447119e2e789ab132e759be4ba0a079f7c02304a0349bb2a653945353ddf1fcf0a8f4afd2c02c90cd4060de7e3ac086c29b7ce8e047e63b98eff97cc9cc0c7cb71e7d60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304cc333c1f72ab337f248f8b20a37ee176fdff084f41ff8668502c48d1c9865e4793aa7c645bd925dfc19d1ebb24e03e10230599fab4b6d636271b94b399fd81c61749dff36b24b067c7a03d3bbb36bc421f58ddc82d151767b4c8e94fd6a4565bff40302047c435bb5006730650231009a4d78a706d4c6c1c078752744f64a4005557c076e7fad2885d08e655b32123b2d449ba4e4ee7065c405eb1d7f87779d02301b829255307dff054667dad12551ecaf3601ff14ba6abdf52d2fe70f88958fdf00868328df65b641174bc7d99695f5e30302047c435bb50066306402303b47ea0e0da0adee4261e3a154ff6afab5baf9d9861fa6b195312b3a3d4bf041daedbe471acff9812c2247b82c7f001102301dcc9da5fe3a5c9677f30e9594c1bad0dac9bd91dbcae4a58dc5762c55386b5c8ced2074d0fe5b1263e3fa67a57576700302047c435bb5006730650230714385f5724b4af4caee6790c89b73c5015c539706a12ef686a4e980125155b087c03eb3f2c3f8f37d968d7237ecd1cc0231008d2a20d5f62a7dca24b6a60f45550b152004f3140f8dec1a834865f5e1ecbd7487bce5c81f1726b3872cc647e61af4510302047c435bb500673065023100e4811fd0787938ee2bb86504a1a0db9b915dbb7ecacd0caad4a68319a162283df3d07fa7594bbfb54f1888e6ab72c2f0023002077787b90045e5c4e7d68e056c9f73e9d2109da49b9fc685b7a9fcbbd5faa983547a3443449946c10768c15a9c147e0302047c435bb50066306402302a152d2b34c8d60bf7b952e8f93cc3c783a409098906f8f0fc0a337e658a8464ab349fc7efe967f004f8ecf82ef8bf4402303f3f6d47a38197be93cc594f2dec05137e429ab051623c7677dfe84fe3fa4b8c45f4882a14e4581c6d30108e14a450050302047c435bb500673065023051ec1e73364c2c6371bcc45e9138bbbed482fa6b6ad7db5d59a4f480ff009a383b99f336b8813f09728914c47cece546023100c105d0b9cfadda22e929d2693130a35ed306a567d55f75d45e0fe40a0cdb9c923a01ff8053aaea1fc3b98910fc67b1600302047c435bb500673065023100f8bc4f2675fb33ad0601f772f0fc420212a5b93817f8179d65ed2f881e3b0469a39be7c2ed6c21f70dfae763661860e9023052f2430af7b90c94da0ad67aa185cc0e9efaeabe950a0903d766422779dd7ada8277491fa11e93bb2be475e73d1b12990302047c435bb500673065023100f577efd5caab76cc8e69f61a745f4b08530eea0726b2629dde29818dd408ca448e41f8da8fb1c079ea8a31961130fd4b0230329ab74555a254743e756573a05b0cf8de6dfd34cc48344e8140a01d7a6f3a13b8ee220cb81de1f6d9504dd56f08f3a30302047c435bb500673065023021261e4699a94ffc8a6ebcfd46f54c42895886d744d6ba0983483248c6af7ff9b3b53a9658876c927371470ecf83996d023100f2bdf7787b9bbebb5772c66d527db290ab8d456210b60431e6ba2183aa82fae1077f426db104e85a74897902c0ece4960302047c435bb5006830660231009543f2257683812fcfe1374f810fec496cc3f3f8a685529e82577b2bbf10eec9cbb843848d6737e0543f89e4aae329b3023100cf2dddff1f3632485432b493a72754d155e83713f370fb0b11f3c50fd4bf89074265319909890ea59b4229b1897de08f0302047c435bb500683066023100abb35de8ee1082dc72666b461b23a4fb614e0a83893d4b77931f42ce1012e7de6cce7039e5d9f93cadf27c34f59cf164023100eb9f4da313fb78b7a3d6bb432ed87af7c235c309cf78414c425beb004823fab2a3662aa2ef29622253193ed06fcb7fbd0302047c435bb500673065023100dc36b41b4c18f405e80dba593a2938ab2c61f24968845dd2c68b794f290cc87129044b80feb25f1f8f5daf58ddf9c21f02306fcda623a937cd92129be40d7f2b7941179b9f81cdbfd275f2ad59400bde6b263a30f429bc0f6aad54b3c64b6893e0a30302047c435bb50067306502302dc879d97e8c0d4c9a736adeef9df11f58384acb1002dc72c5a0ca88b4edc176918aedfe609981ae40ba05a2023ac69602310089c2b94ec7cc8092ab630f7a80d79da770b2ee9b6bf0b130e644958cc111587e8f241e624f8e8e6df1283cf22dbb19db0302047c435bb50066306402304a3f342f5bae03a86869f819e13bc8f8c0379bf4a6ff37b8462030c726ceb9606fd6a85531debe7142d7e67d878b352102303547dcabf4e9af6f128cfb5a714bc2406e284b03f4f7e99ab4b9a23965044c4b9fc490cc4cf93773852ad9a858998cc40302047c435bb50067306502310080ef67c416ec2076ec867bd2a095c4f2a7524b1ad6c3c77404dce8cb53c86cd69a4576104aea00b05b52da11c1783eed02307fc233f34672836acca33ae5b73f35b232483f7fd33cbf15a742d44d21a95a247b7eb74693e232687675f458d89db38c0302047c435bb50066306402305dfc88fa2b25a11f06dee0ccbc21e8268fd44d32a670bf8382cff5ac96f2f6f9c36edce6c60bd417de2c0dd3b089e59402303d4fc06ae93a5bacd8f47ec871307c391636e8d2338b3c82b5b227939bba37422eeaf5d8c4545ea06379be9704893c110302047c435bb5006730650230353759d89e3184a5673a77783a8c70c2169697c36c884f53c8d1c691ab57decaf379e346706b3c01db83a15fc77527cc023100f157b9ac810ccd5d542b339f718b0e9094abe93dc3f0b9f5a1708da0fe77d0778eba32b0b775dc9edd5a1db6de435d1e0302047c435bb50067306502304a380c6ef3f591b3f0dc7ce4a8793ad7f84ffcba1ebe98400774b24ba7e2219bade66252d3e22ba78c7523272df06aea023100d60b65979cbebbbea2626d041c86a69e623d7e806da7b635f1ea2e46c25ad425bfc8eb4ed4facb2a56fa6da3c430a6b00302047c435bb500673065023100b6fc2797989595d92bff0cfd6591414f1693c84f9d874a001b4aace0f22edde60c0d249e20d953a749ae1cf11608802f02303429b6fbbcd89e591b669282a877aace98d4a76e6706b6929e0cdc3a166c881b5ff240b64b7dc63357cea5745be8d9920302047c435bb50066306402306e967dc57238b4605058df857609699ce55873dbc66d173aab24468dff75142860d100974f8dd308e4a2249ae402a371023042691dd518a090984ae82c3c88e9874dfa44db6c0ebe5c67323db74106844718d06b423c54882b24e3eb8da950df2e3e0302047c435bb50067306502302f90fd68b9e4247c9cce284dec6aaeee120ddd368b18bc8d285bfc92cc383084941e6cec231a54c86d28f69f542942a4023100debd5f419924ee797373674427694c40cf7db08c6c843f19671a52497bb204e882a5487cdf6021bd7f08d6befc4200da0302047c435bb500683066023100f882e33648fb0ec379074bffce46ccb99ec5c0ca0481bcfeedf35345e58bd1f271bc1d19a5bce7b563d5af97e7856e5a023100d0fba48bf50dbb66d06e03f732b2f145f7b5797d1e17a433386fd2a0a76e91ca5270c0b552d6eb209faec600a3b94af50302047c435bb500673065023100ee46ad0e92f9c7c00669a83eb8166936ac035d18ad039c05f6434f803f5b74acadf702077defe487b30d0aaca9f85ca402305b275a946a1ed2a04e69b67d88df00cbeee088126251b4d34ba3b592b1a14dc5900d3a5b5d7cad3eb3006efbc674d2650302047c435bb50066306402304f597a0a1cbcbbb1b59bb65e4ae57230e20b9ed90bdce5f86b5058a4b44c7b2d8824e8c3490b4358f83f0071bc5516b90230726869993ee5d751b823b985de3afd313db329f3b99e7eb2685d97f21db10405820d0917bc2fcdb1e3b1d21f0b86ad130302047c435bb5006630640230130ad29edbc4f89ffaba23e2fbbe1ef277e12e29e56f034eceea3fac6bb3d6b11ccc7a328dad15a32de9e7619288da97023061078625071a7c97ed59d40a6fe0d0d58f92310fb58fe6bfe1df74ba4126fe4abe2cb1b8c95253c804f493be9ed010930302047c435bb5006730650231009fae2d7d716078f7bd4364c6b0444028c17c27d51c056182e9f90c781ded23bc09991ba121f3f28d5b15229d276c49d90230264ae8cc880a734ee6e487755b3ef9cb0b2406087145bf4797fc241e755aea889bbbf077a62f2e63cb359cade021c8fe0302047c435bb500673065023002163d1e1fad3540d46a665d2c954a551a3025f7faa2b554900044f0506156fad64cd81f75911fc1374ef13014e4bbe5023100a6550260b8a086ee8cf86bd536f1138faa6ef969aa91773e83dfd5186de6122f0f3c489e3c9daea8b380cd0577fd26a40302047c435bb5006830660231009467a16c1df104ae4e574a067afdc6a8a5655e93a68ec9c48a247832e4d2689d0c47fe5d1ba21a249233b7f045526b21023100a0cb1278f6e2e4d809973d9d257f458598d01b271b2ba51d42cfa5cd4e956a940896d2534bcac1134f45441b6c3af9230302047c435bb50066306402304501658685bfe07d4b5181b022d60511d097b20f97a5392f0767c7f035e15975432558d553d2a7775de2bef8a162425c023015616b4a7b7cbb9585c991767101ee21bcd52000295eeeeba9df2d9cd7ce51bc9736a788b182407a643da06ab1f11dde0302047c435bb50066306402305582b4e71a6ff01c0681c3f2bf05f5105990c48172ee0815f25a03af6eb64d4c7bb08c7c3c13e3e15593486f48d3685d023055a11f44772d9e7e80c58bc2bd4b09291ccd9ad38daf80109d074658d80bc7ce3118becae296e63d7b28fcf7a66a09640302047c435bb500683066023100bed04a4401de5fd8d465b6911f9d990c054b08c34e6c0904bc42adaafd89bd1b48af592f938852adaea6addb084ba200023100952d3d709a242d0546be32635d9d94a768e681ea2c857414550c2d21802d98d8b443355e9514060118f7215f0bb3f03b0302047c435bb500683066023100b4c440a1ab39a0cdbbebf59651a3eb7f7435fa46d3f5614ebf2e98cb1fec013f3fbdd59fd30f7c27ca5fe5edf592a1ba023100e2beb741b725ff1570765a7a596432503840f851fe97936bf6fe0b87ea8132721c40ae77ef8294ba9f3ccacf80d2129b0302047c435bb500673065023025f9af726c4aa73c2aff77872e86fb168191f07d0b74a5e72ba199ea58c6b26924c081bbe394b312a9f1715d88a82aab023100805a0451e1e2f685dbf639db94be638c4684e8777589403dc85fcd1fbdf42d978a266f03cf0beceb28fe072387ea39af0302047c435bb500683066023100f69030aed34effc74b48030d0bf6bb9e1346d255a9a3e3ac7c8e25d81efded4c5cba9e4033a1bd77e5b2ae552df67033023100f5695fd18b83e2ef8f276fe02f007e8962ba35b3ebd09d4e8000e1de6b13300dc161ddcdf13b26e9e00c0b5a4e6f66f90302047c435bb50066306402302a13894ff3a69211b84fdc8842c79e0887e896f8f77ce947349d37b76f24f445e03a46586339836307c98673cc1849ae023000fd435f3e486957e628526ccfe18fd59a0db15fb299e0905ebc9ae5474746493d550ecea22ebaf313c175de55f80d3c0302047c435bb500673065023064d113aea414fe10e9bfcae7e53ff65364e967682853f29b176e1bc67888c737856e0718470f628187eafff9bc871758023100b801f34519617ab591a17b4922b4c5578128f1760b378e3bf119d0803b70f9141412fc60174a0386748a4b607b815ee90302047c435bb500663064023030eb11135c4e13216df8b94d943d1ca96bfecdeafd509d5e2d6d7550ff77780667ff913189fc924040bbb1880f6fd41b02306a624ef3ebb48431844ae1fcf38551cddac484dbdd3933a9979e909dff6fd8683cf788f56b66b6eff676f31c7bdcf7360302047c435bb50067306502305cf7c262fb817daa55af3240779319471c2dcb573041b9082b77112a65db506f6c2f17d2eaeb1d6520f074247a257640023100de0653221def6da3242e7f3d8c4fa95a4a8b3e38ae29787f594e238ed351ce92bc93b91c0ce08061e2c276e13d252bdd0302047c435bb50066306402305e352258b6e7fb0dc35bd25da13ac97bfe81846d53c418fdda9c88d4197a8731d7019a6164316fadf9773b034fbe717002307ed61465afd28c49293c639d4f49c95d9614721455737aaa42c3de2c3af57afd8371d57de62514877c8a4ece1fe686620302047c435bb500683066023100b80e9375779fa37a24adafe3fa5dae0d11a21f5d20c9bc25038138b89e492bfa70eb9c9a5598d1b3220975ab72fb2776023100950e1f891867b61bc48efe0c55d81bab18341bc351aa53b005a58ff33187816c6dcaa8d9469fb8f94b259506af9dc3df0302047c435bb50067306502304fa26f0735030b00c351b9ff6dbb91b3974698bf576f88ed3ce54990d96ec287e499b86a9e3a80d3e50952d269913f63023100de2f2b70901b8735ca4194014e87c16eb14ade8c06391ee7a9267c7a5625f90789878c67520e149ba95652e1705a061a0302047c435bb500683066023100dd40355556b9029b7b071429f4f2e5c272156d2684c332a4e858bac4ce0af2a0cf548f9d983f0d83cd447e194af66a28023100ab8605412f8cff3eca35618de8bd7ad0e5961be34e44cba02204268ea53a7edfd72177c22231a44472885dcda32fa1cf0302047c435bb500673065023100a2f0bb5b10b3516d7a18bc308e9603c41d3f68eb560b0a3612410323489120d3639a2edd0300455a7d9cec2c2ace4af002301c8aa9ca8446f7b5faacedc3425b6af870b8c0464fa8a001250ca793e6d46b8d0ed3f0b2322048fe8f447c3dfde35f9c0302047c435bb500683066023100c005fd11c7b0e86caa75d607ce3560d7a4460aeb931d9e72a1be0bdafc7e53f3551d38178fc6839848cc6b597cdbcc8c0231008b37f4a78db3601dc768dc3f9a74c3ab6d239972797fcefc49caa349768ea38e5574ab2a74efec5a85e04a76443496ef0302047c435bb5006730650231008babbed84b530a39aa73714bc03a91a0d48726f6d1265ad0429a979eed56ac4be6e9082750f7487d9970e38400a1dfa202302deeafae0a1c49306ef15e6dfcbcffe1c83cd7fe8a2b6177e5bcd0aff45cd612df76e0dd42368c784a01b188b1f187af0302047c435bb500683066023100fb37a1c97d828c843965428649d4a07a915fa5181c1b8ff45b4f74d46294631f4e5dd4b20e3f0d54bd1be40ffbf4c4bd0231009b8d40d57f9a9b3d554d5a7afb2a238e3e3eab7ad47c29982f9cdd42b54637268552b877b9db00cad8b84c2137dd26630302047c435bb500683066023100ea8d3c8e491c144a59d21c823a227a38430b1b9145856936f3b11889e5d593931b7f150bfb391e1ca6701fc2d1bbe9ce0231009309c77dcc44cf8828184b2a93caaa83090264fc6fa0532921870632699502cb4a289bf23a4aa2ee93038fb96536910c0302047c435bb50067306502307a013db194072a74925e27e859adbea01a69d924a4a5fd7900738e2f4f57121feb2231bb3f6778a9013ea5955491ce8c023100db6efb564fa196d6511485c091fa12f94a0ee680689cf1a7163aa1c64f0c08084800005aa12dd77faff9ec28b283428e0302047c435bb500683066023100a09553468c7f2713f166f7853a8a53b19cef2b56717786e1daaf93a4a477d97333efdbbdd1cc6a8c97a632f37de26a4602310091a51c43a8050d0bfeedc5b12b8e0c7c1ba59e588b92adfd09e180842a871df504ea35fcd616242b0c1f83067017a6e40302047c435bb5006730650230701646ea9905a84c310fbba8ea7b09ee921f7285a31aa8ab35688501827bcc4b28ed55b63e1b0daae3b436c2fd59098b023100c4b521e2b4f34d18f6e045d54d03c8a17c158fbf2c5eff37c4c604b669b0b6af2ca399ad44383b5bcdcfb06d3fb0b5010302047c435bb50066306402304a0594945310eb210bf5fc4102d67082a03eba6fe5bbe58fcc813da4f252de0fa9210d69de60fe276bb1d68fb08a3d6502305310c6cfb1a8491f1ecc623e4041600af86aa5016380539ecb57c763ced8c5c2ec40133e40a387db18a54796956874d50302047c435bb50067306502310081e594cf214d751859d9847f3e994ec89b14d020b9cfe2719accb9c2c9a3da22c9c45b08ab64100e686cd274e397c34f0230605271b8aa53db259bccab493d83d5431f563fdccafcc36551cff49be3dc8ee5564ec0c4a8abbf252fdb97d637695d260302047c435bb5006630640230601084f2e20eda3178f09a76c542e9786511ff6c474aa97d76c91f44f841b57faa641ed45ba09b87c2dff9d52bc3529302307377befeb864ecf34858a939a5a49d28a559c2a371ba45ea7853e82db0e7e076d75eea20094ae5255f9e8cd90fccc4ac0302047c435bb500683066023100d21342b99a4947c20c9c66c395cf3119243c1b7eb0d6aaf498641a482d2518d92edd0ff1b018b2b96fe82703b264e8a2023100cfef2aba4378cfbadc4f9d2162462f8834f263a16175dffa1dea60e5f31cf384257628a31c412e98b385dd918a5b8e250302047c435bb50066306402302cf65d727ed0c42e13c36634eadf89db7e065a7e04bc015db0893763b9d8742b529531ca7d691232e73611267e410ecc02306d977c999a5fc9c71f6b6ca95be192be0a583842f23e704302ffb2e62dbca95f3ac2410e75596a0a5851ecb9e0b420160302047c435bb500673065023100b1d4ed39c550c654ad380d05b519cb27a32e4cd407ba442591f32b2ce95b7cb90aab3056be09319dbfa60983990576f20230371be845735d309c9723e9a1f0cd6ad9a68d0f670e30d7312d27978023de904de889566c3d4471fc418d0377efddbcff0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304f93f7b727f741f2275265ad47f22c320e51891c6e7cd881da64f306495a50d67746601e42d201c8d7ef03b1b112acf4023070ae25c2004366e04da5ca443d89254d10e3a6c0d54fbd810c07f948ed1068cbadd377f3baa50b486c5776b82eea957f0302047c435bb500673065023100f9429c8d44902c4394b563aa210b1ca9c8d800d2d14ab92cef82140115d18f1d959a40b6fdf86c84e04ed6e139badd7402301c530ce3937b7cd69949322d5ae68138ca405f98644acaf1654ee0425f97565dd840f82ccff39ff2aac6be97f3e993920302047c435bb5006730650231009dae243b459d1e5dfad3939de2eea0dba4a21fde6fe0defccc9ba5011f07acc5b2ee1166484e52b402f10bb5af8c4c3b0230758b869bb3917f95fe33e0a34a4f5b095ba0378c0d0e13fb8260346ede7a42a3316da3aef132bca1f644ac6aca7340010302047c435bb50066306402304d48ccc4ba8841181e83d2871ac46cd0049f727c2e26237f025308a1b007488ff93d4c74107e9fc3fe8cb74b163d248102303654c0164f2390a1a6081984556d72adc83868fc55b8fd4b44ad14b2d1a7c6913581fe1abea7a6d47a7bc28520d5b9a70302047c435bb500683066023100b7556080796db3034e1fe035003f4b41eca157af1bee637df6a27e4d0d92678f526804853a7d73794fa527d2c2ffd1100231008431f174d9872771a4c2983ba6326e07d2a76db2d36d47dd0bd0db2a1729be75fd0ffbc127f508ee6afc8fdee8e29aed0302047c435bb50067306502302908999f29832f49d0e9be36b49bd381d09ebbb660cb585711f442fe9385661a3a0d39ab8742833ae0fa174ef716a947023100a1813eaf5bf97885c0132c1b7849cdc972856044ac16845a3cabce4039505873f8bec6fd4b98d1e0dbc013faf20cd6500302047c435bb50067306502302d8ed1f99f4cc644c557a6fad2c00342a6688cbb601eec400bc09e6ad366b591dcce5b05ce522c8d5e4dda573477dbca02310083eeeb5495adb7e664d968ab5930db76b800f7a5193c336a03981bde2a31c6307f63bc572f6278b00150711df8606ece0302047c435bb5006730650231009d3b6df0b1bbbcaf1542141c8260760c70b559820e23efb571b8537cde7d8326142b6e96e4bc040a1628ee6e88b7d9d5023065bc8dabb4d9f30c75477f5015fa15cdf659257db902f14d2c3e80958be3c58904b11686735a0b6dc825311044de9d370302047c435bb50067306502306b4aa52fc6bb3d23eb1daa0a35fced91af8fd5844fdab76aa0ad51b1608fd5eee4d1f54ed65ffc3353e55fac3ccbb257023100de26d1310869167844b6c725391237b7bb0d83a6cde99b08004cd1c0d0402e56dbcebd7064f77d2482c05ee2ae4b02420302047c435bb500683066023100f560a53fb39127a1d31b4d46d65e122f87e77b9a36151137e5cea853280da003ac56ed55fa777e0168ecdb865732569f023100f8375edd35170057942cbfa3d7337e376a2b05f04ceac791dd65e567ca68d1e925cfdcd4233249d461f121edc6fb823a0302047c435bb50067306502304125efaae48fe8debb21fc0ca6f69e480f59e7c8acdd9e24c5acadfba5cc9d82023af1b5a91bfd1448b6055ad7463b4502310095e585af50caf94c7fbe5d510fd7c5ea8e2bef1479f0f84df16cc95d9de7c409085d8ea27d09a9d11941788ed81d3c580302047c435bb500673065023074424c71c1c6da805df42c3cb2f07681021161db52a7932a9c22447c1c47e4418e35a7f43de18d0ea2d41787803190ad02310082dd528796e452141322deefe332cff1f43a970239ce96af4a3520c4dd7f53ae660c3cf4d56f92a77620e6e55d233cf40302047c435bb5006830660231008e04684ec2cedf235b10b2a4d2e0437e2883a7e26589ce513bd5f32e3fdac9d81b19bc8347f800792a2b18539551b15e023100db01cf932e04cadb01199cb535a892786143e5ccaa737b6ab93c3da1c84de50176e6a3c9128078e6b34f0b2e3749972d0302047c435bb500673065023049c21749dfa9bcbafd8fd6739b7c6e5c895826256cce5fa5573d13df732d3bcdb1870184e9126a370f8fac169ed5427002310086f5a4d07cb43b1aa017eddd7963ab598c80bd740acc267d3853546fb6c57dc27d743b10bece6d955b4f62b6708c6fd60302047c435bb5006830660231008c04b68424b9838b53145730bdab783f1042be157e52e2823dfc391fb7dfd08b56a4f82caab41d184902a317c5fdd5c3023100d6ec2f5e48e132625181330b557a573dc4e439f52b89f2a51e5bbe24a91577fe98fc5ad0bcb294277a2726e7b7c4134c0302047c435bb500683066023100e9f0b3bea5579a5d951ee1016eab180b240ebab44c9b745e45c0cd9a24d999043d619f8bf00b72b3c4f580a436a3341b023100b38cbcecae2df4439f92f51d0185ce02546646b0026605d614852e9034a56da92cc7ccd19e517cff54c33702e22131320302047c435bb5006830660231009c9301d653935f2cd9dcb771eadd4c23361d63eaf5a27f0dfe998d04cc07aba49e267d431c321eb7fe0f601cd060ce33023100e3c4935092634030a8a0060d24e6620687487b39a967e67c225a1d9e1ee46f77ea5ee8c0ed4e94e023a6557eeaf417c10302047c435bb50066306402301ebecc3af54c9e652bebd73a54082373ef4c7f8926f36a4d29733215d1c70fe7e966c736272ac1532ec18d4f4640f13702307bd200952438d9c9df532d0fd8c14bbffbadcc2e9cda2a405427b7791141132c94ff95ebb556d7d511a8d5c99dd999650302047c435bb500683066023100c9e96f453bb825447324a88be5710be26803f137e69e0b16baf3dfb8b718123ec1618761f08dcba824af54425fd0d2b1023100fec11f0b69dd02b7e40c17515868c29a2664fb1f172e21d6d0a429c84693855e2d5ef8750ac6b206e280338ab116e27f0302047c435bb500663064023016c7e838bc09daf61e23568794d755d735fd0473f700da2557590c0540a082ab5e11d19003e004b431fac5536a6fd8f1023059c8d6604b599c1d76b84331459f612d099ddd456247cd006ea614f5739712bc3735949c40b189f969fed352c1cf7e0e0302047c435bb500683066023100e4d76374ef4d0135a0cd1af51ed4b1dedd8150c2286a11c5352f08961b51e0e8ce37bdf5b14856b75fa501ee31ff7407023100c09bba3ef40568c6bca1c4410e18cf19c431404af54aedc704d242a2723666cc69c66105c40e3916e0a110f16fbd4eee0302047c435bb500673065023100cdd326f695ba4241ab1da87bfc21d9ca18b38e138d5214468d58fd828c09e1a7ed3bee6b89f12162a942fbcb9dbb96b5023001bdbf3aaaaa92eb0b41485bfd742b07772e6a3f15ca83bb1d65149468c32bcdd41c50e6fe80c88bf0aa2d03f619e0f40302047c435bb500683066023100afc7a802666e682b752dcc5cc7f6be6234c9b5b889fc7ada545ed0aefecd5cd49d6d1682bd18b26b2c68555b827e4c34023100c3d87f3c1b63315401b388c9688a1e6ae7a175ddcd3b3a960877b4b120dfc8ff8bcac2ff0b3158ce1a58543e6d3582770302047c435bb500663064023066c9d1ced36163f84b6d3faa17e65316c473ddfdc6a560369ac7ee46253420e22e1256e58b3272764fdc28558bf6d49d023002880343fcac13d58ce4043818931c10ea35bb35ee1a9dd7e172963561b083ffc3f789f5aeaef95dd57050b5b0218f4c0302047c435bb50066306402300f2ce51155e5b43e965e4fd197af656c1c0d755e854e90d120df93ff4e76c89c3e914daa6377cc43f2687cd1dc05015702303005dc0e52d8ee02eb5b7125c443557169eeeeb6a2aff6bbe7dea700e5cc954c0cf59caed83d39cc20f42710f33737f20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310085c80ec95c20a98caba78ec8d5f30a2ea19d5116a90586b277b53003136e009e605fcda249a1f92b8effe8fa5eebdde6023013cb6f490a7225cd62e059437687f862d56800cbd3acdfa8a5e7ba3dd20775a027bf6f55addab4b0e39936094a9c870d0302047c435bb500683066023100fe844390e3a0a3cbdc4049c3906485f12b468eae826afe58c3a730829bb374fa1207c51a988cee0496a4769342c6576902310087258da95583c4bee40d998e689339b8a5e42dc5880342367271cb39ff2d6db0c4c8667acee7f3bb7a785d6619a551f50302047c435bb5006730650230449113cebe01aea68a1b0401edc07db7a164679aa61ddd92b33caee6f164e3258827a0ad4fbb2b0cf828496709b12749023100f5913aa88405edf4af6905079d16f64f66c5914cb10506498e87d3fb7f84312010674b63c97d04392857a7a5ddebfe7b0302047c435bb500673065023100c319bf26b8105f21f7ad463a9bb42ed5bf35c9ceafdd9da9ba88c56038c29ebeee45facec56b9d68b8df33b6f7b94b7f02305b500e43498804da9722e98415cd69f2b684e48091ef10482a62306e8fd2f39561c24498691ae79715a9ba41fdca0fce0302047c435bb50067306502310083649bda9cc8f88110aaf7f4af1bde58d30c5466a727b7104b6e4aef57acac263f8da5f8a35353278ddf41ba0f50285b02300ee1bc6081ff688d0282ee1c18cc06ee7fc8ec3bb18c43565c5df167ad6b958e76d0dba5d751362bb3fa00ddc40c0d8d0302047c435bb500683066023100e98c899ff6d37baf8c16ae414bf17c8de34b6e5c59a05433f3daa02f0a0951f92af1281daa837a73bae1d38e72dad1b0023100a8b4c86d1087791f14d064ae130d8c92f217c02960130fb11c8556136311518457c904dc7206f828df727ed8e30c40b50302047c435bb500683066023100a5e6c9d9013f199034d357f60dbd1fbf7c73f18606c585b68b74470d0c2bbb723b9b5bee7fe1b64400af683131659a03023100c7866be3373832ad435190b15cbc96e4ba43b2574c32e741726340d239fa632c614231639e419e5b59b59bc6338dc2cf0302047c435bb500673065023034d01145dfd8701a883a1e54967935c603d63b74109d8bab4b424b65477ace09ef56f4971dc8918141139a278aa2bcbd0231008dd2189b1866435016ec66db8ad1d919b119ce0d41cb58320dbd8c18eacce62ebeb1e7623262cdeae75bc0e9f60130000302047c435bb500683066023100dd6608b4de1da28b0a4481e2b66c077ecdbe58f169d7747e2c312606fafd51f891d0b31f29fbc55906a3de90ba1c043e02310083a9295772ed24ec971d0f3d022e7f406f2880c7a9e2c89a5b391c8e9e30e67d3cfd6956df992a9bc8d705d953edde330302047c435bb5006630640230253de821e427bfeeabcdc2ff561d435d4afbb5fbc55e8a82c5f8a9cd2a712e24c6b6ef2ad5b709e06e9d30c535ad658402301206cec77eea1d8c7b4ec65b2a31d74d3fbff882455415064bbecf69dfe3cbb67b6373deb99defeb11d64829f96ab8620302047c435bb500683066023100a00af27f15bdcf2193aacbd6b34d37052080bd2bd63e708054abf44dbfa4c98af46a20e01f3853531c636ca7a846006702310086e456229fd1e9e09b99ec2cc7c0cfe04af123c418a52dfa0a3e3818a0475da28290a31804405a0ec47977277ffcf3f50302047c435bb500683066023100ad6d663bcd3e33679f2e99409c9fa60ff3e7f4154eb9dce9658a7809e0edf50e6e6ded09cfb20962f77fa5fc997bde61023100bd67fa07b83b09a3076fde48a1fdf25f88748f5e4d8e633f955b01b6eece6263105b30548a95d3bc539e4db93e88261f0302047c435bb500673065023001c2c046774a753d10b9a662c23b7bece1fd0b4686d007cdcd8079e965d49411d3220d3669e3d10e1e6272515770dea9023100ded843f5e289fe4b66f1a273835a1e84bbb9290dbdf3a1d6ef62111a94aca0a89bb92aaee42cea4132b7111bfc958e7c0302047c435bb500683066023100e1c3a23aeefd3ea366b0fdbd9410661530a594ce36b1cb45fcb5e96374d2db46ddadc3d7816d68a4276a9d27820c8526023100efcb41cf02a18d010cd13c5478006b854fbce8bd8432e7f80f740fa2adc389aed984f5f3302e31a838c205dc301fcf310302047c435bb500663064023043107d7869666cecac283150b1e663c76472b3c0945c72f83560261c9e44b810a03d6b9dabf43bdbaf55167b8317c3f2023044a64ec9f449fa1f3f0fa6adb9ca53d82418d21a77903c17b77ef803635b994c3867785c81d976586ec618a49e76564a0302047c435bb50066306402306638879154e564a59595096de988a23870fe5a6f3da60838466848c77dcab18b971577054f02b13c5ff423c51a165d9d02302cf93a2635eb02bed256a3352d6560bb4dd07e83dae28e0c63328b5957432cd0581cac07070f7d5deb850e68091a0dd70302047c435bb50067306502305ede74547d40bcd8f6d0a13984ab2e8234e354aee7cfbc0ce5e0ee104de9f465b506eb064dfcdadcdd9451dca7cdcc59023100a25693601ec3bdce7160349b684dafcba10bebe6cd658c423778f940323f58c9e13bc3339397fb2daccbd5a1572a64970302047c435bb50067306502306d61ca9df748a824dbd89dd2a5f646bef7eb683c6e4832e09cf39392fe49295637247f3bd4d0c6b85e9a8875b93c3b3d023100d42833d0127b6e240f3489ba894d0f113aada64abd5dd10a630af3ad06f7947b5be02d52e0239d7f5606f10e997c76dc0302047c435bb500663064023076d0bb6bccd1c6ddde56c49171a9bfccbc67a1d4ed51d5efa50ef19215559add43d933172a1fea8e47dfe47dddaf6e4f02300b54ec78d2b45c03071df54b52f2ec7c8c21dccf278fdaccf4672cd83f79355e236ef67ebf193ef2eb40965c0ed097300302047c435bb500673065023100ac4315521ed3191fd5485ea684c6c2e59d01905febcb0e21c87dbc57a547ba68bbc9cc73d88d0664193a9e8f1a36035d0230760de7e148c43b8070b51d4b4750e90c14ebe9549b510044e8cf100613cbcc3d50c44d2bb430e89a8f9f120d9250a0e50302047c435bb500673065023100bf3c4dc5733a3409a87456ba46c66f8cd6157b71e759da79689245928ee9d985a1a274c444e8beaafce2a3cb60846bc002300944b7cc97eb95eb139e53280e95c9886e0ab9722e2332cd4020f289d6809f170f8f40d115b1fb02ad85308c0f77e4660302047c435bb500683066023100eb057bfce3944e1ac3faa53608d38fcb8c12538faaed4f0b534bc53ce7915a81f53a83072643706cc64ef4e6ce6ab184023100b7b4296b12f6a3a92049e99d896c97b9489a453b109afa954a22c6a60284e1cbd123c54070494c290806aa643b75b2e90302047c435bb500683066023100adf269ef45a12ccafa94f2fa12379220d23b70e6838a20bc51c08827d2e9f0b3bd1f529945d8fd7f998f49d6a244c164023100a8e8c101ce86f605ebbfa1baf17652d3693ef898e8cde6bdedbcde1c14c500404712af05d314705818ed27bfd3e96d3a0302047c435bb500673065023100b03f28382ce6543336b3f203b918f3eac223eae4c95ccb08376ee85c3e4ad3162c40467fef0702be312027c6b4b798a4023067418f2a9664bfc3a502dfcaf6a7a58aeb1aa74f55f14fda706140a15e7b393f22b411d4baa877609549c0778a2d2c7c0302047c435bb50067306502303314324ed1d8e2be6489ed92aa8aef179e6ba8e12adf824691e2440c51fce65ce95e15b02615ceeac6364c9cd36fc0c3023100b35fe5c00437b48e13cefb09d1a0f3ef638979bf44129a29e66dbfe6f9927071739eb395ea7d1026b3522f010cab5a130302047c435bb50066306402304018e675355d3af7c14312f932d7779179c41662eb3d44ef751c7b85dae5c97f12c6fb5ea9654e76fd2dbbadd30a890d02302bd1950a6fb94c406d5e1083c926467e307f776b911b26b347bc591033f65028dd4e8253105a82c15c165f705c8da82d0302047c435bb50068306602310098f8a6806cdedc6159ad50a4dcb39e3c74a11b166925f7776adf7e2e5ee8aadf9bb6b68633722d568194fb62ea6e681b023100daa1d33d82af9fa5bce27031d4f8eab10896cc90cb82f85defbb84cc2f044589e4a5f9900a920cccab60bb438d57e6b10302047c435bb500683066023100daf6ca67735e547bbb467a0dd8b6936c27654d3d023d014a60c8b45153e9b35d64ac78e6aa1b4fe70d968d8eb91982830231009f5a39da71f83bbc796fd2cb28ed3a11ab068bd5a1c12c5a4aaa90abd98adec2c3c6dc153d665180c03b80bc3880e1c10302047c435bb500673065023037730a9a91f345286f62d8e8e6fbb817beea99dca67780cbafa2a6d1dcf8f05ed93cb34ec71086a25434093d30c2db5b023100a2922c6f3062317822bb5bd078c403900ecf908bc65cde0fe87a8832c54c1f128da083e88de5e9281e736af1e4db7bdc0302047c435bb50067306502310083a09490fc25c7a5c55db3a4ac713b4dd376dc2516777c16bd4e2a1426a2995db6673b67d5cfc13132dfd800c98f669d0230095f72049a994887563606de1b42a7e0ce786fded2b90fc3042eda305f6778adb9af4ad119414efb0cbdca886aa9f4e50302047c435bb50067306502306beb1c416281978e785c383537b25bbd7de06be9f4d773cd85f735970e6df53f16c2e0ce05c7147867a6d21bdebbfd05023100b37f08d8a525eb1508c0779e3bdab4b5ce8298bbbcc8c890fac69f98b8213b774cff8fe6f198881dd13a711b0f079d630302047c435bb50068306602310097a83d338952e3e092ff32a666da0ad9131a0f7da4b36dd5b080bde89615a4a546bae186c3f822d44f92b601ed4de893023100a5f2bc68692a9bed8f4d78570f5f1d1b186b60bdaec27ac9acbcc4aa6cfc5b5ff0c98bc2c9438776e407d3a77238764c0302047c435bb5006830660231008572a1147f7a5f12b370b096646757f01ee9cf031455c1ec50f96d370abfc9aca1227066e9667834460870c09c4b9ba5023100bc57a52c14b888c88de4ebbf311f9033ceb03ac9a5738fc20a150607f31e7a3fddb75b47eb507e191715052a515f2ff40302047c435bb500673065023100b876f81c4fef939414e7aa9df72e420e44ee71a80e385222ee108ccc1c95a37fb3ce75fcec1471a20ca5c85fd8691f8202303c1f16f1680566087a3fb95944b6245eb35a2ae693894e72b348c9a06ed3065fa63ba3481d42052574f282a49a260cb40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023063f70a437b1a55647aa8535061bcbe1ab024a4168f27aa17f5d3d70153a5756da3e510788a0526beee97f1faa0a047c3023049815e7b49c36188b3bbf4b0aafea6ee97ddac99ffaa6a66a8aeadd6f87c1edd83496e3a469c9c16eac8cab6aa0cadc20302047c435bb500663064023013fabe7617dbe6ec3c2fcc88fcc8eb1d9160820bb3aeed4550ec9d598587f0097ffc8b27b6e5e64d19e719ce68ba8add02304b61b2fed09b59f65014776aa05ffbfee090a773f12e6cc2c93452613ee272f864aaa9617ded847611bd94760760a4ba0302047c435bb5006830660231009c3c8acdf5e0718dbe1189a95bb5f226e100f36d1dafc08271ff1464553add2d16b70c9b364525081298b56dcf4ad6390231008c66629367a600043ef207fa860ca5e6d0b0fb3dc0d698abfd5407eb928fbd92ba6419cef74debdc383491c2ed4151d50302047c435bb5006730650231009efc1e458ba38ffc2ee9b261b5d1fd39b71b65265da292f6db39f4c23815ce96c7a48117d1c63542cbc614c5f95c222c023024fee1cfc1be642e47c6c1f45ef2f35b7e268e79e9c892f71bbd33b5a26b40a075962cf827c4d1b5eff276129add21ea0302047c435bb50066306402303763be9796db5eb46caa462c35dceb1866dc54161ef0744a92eb20e86a90b0fb752fcf72ffd57401cecca820a4c4089d023044f7145a74ff0dedf945d48950e4249705a898dca84e031c06c51d8d3c10c93ec3b782dbb582b7cca1d10a89ff0410cd0302047c435bb5006830660231009ecd3a6d98a98f340fbd9b7e3d85ac4a04b9fa7959f665ebc535940cfce54d495a6166eeb6aa79295811761896117f4c02310085c57eb244c0da8fe39bd004fef00596cd38acbb17ba16394f41c1c1f13e09ca2580a9f32ffe8c0ca3d581e281666c6d0302047c435bb5006630640230510aa10ca5509347739268e7a138bd105b2f8b7b380ebd4653575bbbe0d364b3ad330eec315e9c0f04e27aada48ee40102301b0725a5b81b6411d51a9bf1ed4e3dca9bbe844167eba797826b3f05f40041d6d2d372ca03ab8ab48f4b283e588a07130302047c435bb500673065023100c233bff1de42162e54a069acf695fdcd24ac3f516bb6dfe0b2658acb29ff2ffa4fed611e0b5e198d333a56aec1b20219023005b83e3468a6484465b8ed28fdd427d83a4252d857ca39375bf45102cf9361a695af745b3375de5cd40c722827e917990302047c435bb5006830660231008c9afa84e348de2637386958bab59e0195e6b7a2fb794570baee7a55a3131ba8c295d4b06ded76a34a72fc81bbbc4136023100a7a8f06498ee4cf669621b1b75fc332749e3655f43379d10c3d7932dd15ee43732228e83fd1340f3c9e5c235809945bb0302047c435bb50066306402307fe1d1e484e0a1e5540e3b47f5adc50e4d574174221d60f9d968d2f1642ab333c2c2282f57b6acee5390745deb74ed300230030bd4601f54f6e6a2c471e91beca7ec292963901b8160f8831f9f9edab9a261003f4b90544c2973101866a37bf695540302047c435bb500663064023039bc0b81762a8bdbb293bb8e03626a3aec580fa50e8206403da416d68b32a4a59e2f85ac925833ec465d9b44ba91419702301f118c263f267db2c988f7bbaf2ddd6ad1d030fba31080f6effaae22700e6e8ff866476e4e8b9806a138efe3fea750860302047c435bb500673065023100e799a99ad6a7a592ff878ead3a0439dde5c244f64bbe092663f078a1bc45db6c3f47cc6d1008b8a0b03205439baf027602304f6a5562897a132e79521397c69f10b02c2a8dc72fe867e259b03427e6676134e657b5badbb07e4521d865e0ad9a3ed20302047c435bb50067306502307b3ca3e414156d9e60ef395a9f74d248724ad0ee236894edee61dabe3258c8f1c465ac9b7f807ad7df085f64a7112a9d023100bc2868cf3137d94645e173ad492d809bb89d6591ee0e6209c7a7e9a7b2156076db565a5711a9fdbb914f8ebbb6a6a87f0302047c435bb500683066023100e8ccef9e4514055bbc70696392fc9ce152f08799e0a134ef9fafdbfbd94f6497b0a29ea6424a50a37cd90440fb91ec01023100ad8de3dab5c5faa32ed405534564e843f77f62d217b8698c11ad2b27d29eb3372190136ecebb60d48d2be36cc93b74120302047c435bb500683066023100a21931b41bd9e5abd6b57e4616219001a645e9f8655026fb5b34fcb3eddf6f6b9d6f428e5b9bb217cde64d2cd76c8fc6023100e12348e3273cb31d7c507f810f2b6511d4089e645766ccf81584a71f16a79ef19456970e996c9b154d6bfe36941484200302047c435bb50067306502304c2ddc7efc924c62cb3818688ee0275a7aac6a28acaec3d1ff9ae697e26b234adc7a87698fc7307cfb118a47f0f9c3770231008ac8334cf334b17dfc742cd14538229660bbf86cb29a8c9ca0cd1c75192e4334bc3edb0f2815ea9f29db3822396954f30302047c435bb50067306502304f9c5d4ac4531e293d75c58767dc8c03cba03ca997a2d1a5993ec3205800c1a49775b4fda2476f99a1734576b59041ba023100d893d8be59e47e39ba4485a723ae9460a21c06fcb6e3f51f280bdc20d3ef3cb3c8044c35fa679510180c5168655206920302047c435bb500673065023100a235fd8237ca90f9988d36008222dbe2eb581ea8bb87fd18aa799d5e7710e018b7096a96871b1df2095381d15d3e2dae023065e9ba403c04c6e510989b06df2f7b86d6007bd9caec48ce4bfef59c1ceb4fe4c7b7f22adbe76a9ad9c585a84421a6790302047c435bb500673065023100863276ca8a8da34ab80a9cd5419232839c733a89f2ea6fd4a464d3a9ee845a04d0808480bbf811134f2455bfca52156d02304333a8f48048a6d0f61281c8edd9980f54957e824e561e56205986891f4b5012ffa48e7a43ab8f0cec917d0d7c123e650302047c435bb500663064023065edfab5ea556eccbdb7e827f1a9523f8d55d8ada1e48bfd00d0c3d85a6b1045aa17c8464bdbbedbb3a8597d5bf3dc0b02300cfc2fdd39486623173307b2f6d380c3fff8c6c2d9654d4171214d0baceb3dfc7f8e13ec593825481836c1d5dc2c500e0302047c435bb50067306502300f850b142f40b63c4f6d7365e61e9f40ea5d885f965832fec05d2d3892dc75ee2f0bb5e453b828e0d1b5f2c459ed75280231008d336692946fdd077b297154b0d476dd798a079ed7e7e9252ada889d069901bae01f8151804229ac1f8abf106a6cbac70302047c435bb50067306502306a35dc573076363bf73d19cf2ebf4943eb0a4afafffcfbbcd4ee66d3bd028d6a6cb01bd0354ac4898c7130186a129da1023100c5b32a92458817fd8fdd76378a289b3a2ea01e74ca71eac56bb79df48cc8a8f625d7862767df7acf6e8ffc50e8819e020302047c435bb50066306402302ac3a3723d8abff17a5cb51e028ec94426521778c01d4d136e94118850d7f1cde482cff8fd8de9f98672fbc52927139e023079ad6a7fef1b3c236642e88ddd5b61729797d967f33c0de46ef51569ec8f8b3beb30d26db912921a21f03af6c750efed0302047c435bb500663064023023a03de9f3c0bdb28ca6e29238ff15dc86b85516394481b4db8ab286b1dd0785184b4c167bde51fb9764328b17d6f90e023027dc541a63018c1ccdd8b8cdde1ff4046b2d6577f29059642b3316afe8da3e31d94942744b0f429fd53a3ce05e0efbff0302047c435bb500673065023054545b6b48cf3cec55fcc069eb6fa74a60dde09a48933bbf40a25771f58482decffe4b548b3e3de349d1b3271f88f187023100fc0177b0ded73d25145f35876595a92479419ac1894db8b7a8032f7b101de35086f9f5e00c974c89103ef097a5771d5e0302047c435bb500673065023100fc5b7f8c6976ba0a40c7b3c7f2ba7fa66a9b258dcad9377069316775e0a0b23eea6c3b5c6bcdf097af1fbbba3c95176602304a79a03c43e33b50472d38dda0326eec3f5910893f4baf9590001ed7abcdbf53a841b1067b7642f8ca593993c58ad4f40302047c435bb500673065023018eeedad99c6a7ca30fd93e3ddfa72639ace31287000910f0ba18df45a8ba1f30d41f61fa270b48910d8c205c0da0206023100a08c49f7b40d1bd82ab7d3adea0678c4c62e057762e971b2d68f5faa395c0e6fb6180b003fa4726c9bdd2a7a506748c40302047c435bb50066306402300a23593aeb38b9b6c7f3a8f66784f3b6e67d884f98596fa5281a28c7cf7df584f742f2bb5d8500820a63a47d9a931e4802300105de68e002f2711017170ce55299d989c944b3debb39120686a62b3354b69ab0cfcdcc1d1e687194a638433041eee20302047c435bb500663064023034af00588c44f465394c83166b55effac9422e64ac487a145566458695a782b789bdd52123f443a55d9795cd9a27ac98023043f40293cb270958418e7ea5d50ac9626fe54b3327afd6405d3c86326142c1273bfddb61511a6461ec8bca06903f11660302047c435bb500683066023100b92596311eadef579dbe593475b8112f0f8d573cebe783968ba8e32be2df0308d4aa845abc2afaf04d566c748de4ad0102310093d5040a84e1404013bbd825f7569b25469c4c07b887055c4347a5daa810284c79c13eb320ead021b1335ac52424c9da0302047c435bb50066306402301b70e567af7a64e23fcdefecc7cee46edce6635d2c7c1ab12efe7176a12f9d60a12b016ad92778ff3e1f7d54ed4bf72a02300bcd19fc78644007f89b90f372c6a44125f12cfae2880f2102baf5c5d36c6b917cbde9f135188b2fba3b1f729b63e2920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d5900a80c999504b7ffda627060c94cb0b2ac144a75969ce7daeddaa6a0ad3d63ce32f460a3474def703f9148bf5d6d50230653606991b9c641d856896f52c133e1d6abaf92c389d3136f1756bf521a43c3f7775c27b6e1d9f3e73a7f21f0236105a0302047c435bb5006730650230381fae1d3a07f1b4e621f0602da8dca252ede458942548ec358174a7da0b3cc7afbed89dd2434ea17fe3ed5e0c0065c70231009b28b0a8a307a7d83d771313e581c30fd84747201afd3eb76e89f5152217916e457b4c500ad7fb3f6341a96ab15047200302047c435bb50066306402305a0db398ea74804685126bc68ff0e747097cf5d97fc2a7926e6810e237da6ff645b429bee7cd0fe845da4a234a63a10602306d8c92a0e5421e0b3cf82e44954d873225b80449577a8ecd771918846140473a3453f008b4602a235c78a215a2b5d2230302047c435bb50066306402304b976d63c72758d17bc5e82a8a935022ee6109709ef9e753b6e7d7e67e26c28c0f6e28e3fa42c3d0f0c287db0b6861d30230157dcfed702833e63ab50278779822eee5ddf0b327bc6b97b80eba7ba155e781d70fb2a7a1ed7cbae0cc81c18a1a21e00302047c435bb50067306502306c5bab310b4579b1462c664bce256bc2574b6805f42c592076c25fad935e644fa04dd74e9aa191bf09c46d725887e31f0231009ae81487850201dd79cd20ef934ab5adc5223bb37c7ae48a9d9c90d358871748b966d1d24ce7f14ec5eafd89643d60370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023005e44efa0fd5758e5cf8915f2eecf9e06e773985406e1e3d3e29beb51fdff5a5ce636e69d186ce634570c7161077b8540230346cf808ac0bb5ff889bf3e275979ddd598dbf93af43eab3d73d8f5a4f34c31934decaf21f0cd275f359fa18b3ca4fdc0302047c435bb5006730650230592be2ac0cd6ae5ec7fd2f9836a686068dfefd6c5d6364ebe60891dc109a3dd623eea01cbac2af13228577a299faf397023100b0a231a97f2688bd9d9b788f809e8072f331a93278305e213d02e8da4cb9125c83499bb5c4136b1634b611eafb438f2e0302047c435bb500673065023032e4cc098d1d5c165e049582e4c92db1368c6f0e2dadcebbd74ffd4e3cdd3a686527f9d4ad654f4fd30954af6696d869023100a4a92922290455971c820f3ff066dd6e829315aa80a52f5dc20810d873291ab048c4e68cb674d7d545455d2ed8615b0f0302047c435bb50067306502306801f56a23dcf3bada44356612f6fc6f6aa36d927406658485ceaa7a16f86e5ace64129c6421311628dfcb3d4388297d02310088514c72d7e62fb33fecbce958a01702c3f9743897cee4b940d5ed49733e5ee7758af849fc686f62a7a34c39a4519ef70302047c435bb50066306402304a30e238ceeb3799325ac0986c1157e5ffc4f87f0741b94e670fa988f20fc31a475b814ca2af992d010c4e7eb4f4b1610230036570b2c4401dd50d7fd63375571f9bc73c6143ff31ca4c7e551d2d2cdbea8fe1d38aecb41ca48b76c45ad6d2df82b80302047c435bb500663064023030275852638b35793df319ffe274f49604e7572688cc8e4585ba3c0b0f89f01eec7ada30840354ca68468ef3a48bb5bb02305a7b0e41c60eaac2e248278b01cb0cf4efa1732a9deb17f313995653b4a08ce78ccde444163bf659801f405ac81c36a50302047c435bb50067306502301527a516ca144901864441cce2cb9cd138660365952807a7d888510f8330ab770271f5733e3b567f6a53fc99bb0e91ed023100d86134365daa42d32c2d249e64376384455628cf0b8f850cc4c38e2e02884d5fc8a12ac3f2d4d154e8f5b32cf3d6a2d60302047c435bb5006630640230129a08aa5329f667ea12df08044914910cb6491bcd37170113a80d2839cb424bf9672600153dc336ac0462c1487ad1710230552efc6a4027e518cb51ab7ba51a8c1bf1b3a7ca24069111cf903fb76b7e1adbb8e685d2ea1abbb4a8ebd8c27c3057db0302047c435bb500683066023100977daf58cbcb47ab1cde770d35d8c44706484f6268be821d689ec7712a0a2923af8de0ca803dc2a2b47fefa81111c286023100a14b6d7f287e2eff1a77a242e6e009e2167f73654dc9e84076b1d87fbdf50c04459608a4461f4d598ced0bdaefb788ef0302047c435bb50067306502300a0c8537ea5125d79a6640c5ac36379d9a8d8f236cf9d7f31e0599a0f59f29658b027ff1de355b16c4f9b515ace1a752023100ef98ac08a5ce341df890316c97719193170ae25f61e32d3c28a65c9c4917d26c31e95faceb37ee5c7e0cca80427875c20302047c435bb500683066023100aedfc430c5c7f0a4fd41226601c7d132f87373dcab2ad682808b57e4c6e15eb04852ceb74403da3200d017758f6b934d023100f6a22ce3e3c735f2c7ffa3765d322e16f820a7048eb260c15fbb4d66f502f8588910148f49ef3848a251e7361e37c1c50302047c435bb5006730650230189fae3ca70e5574839b7ad787423143584c89b0dc8f7abd4a957c4051082f76b86370e49e22153a435cc0e3c9423ee90231008c02565a27dbb374b061484d5440b88bb60f3a907767c5f243b8c25930aab00b70f447c625f7a3d623acb4564e1e9d9e0302047c435bb50068306602310092af50810882c70a3be0762588857512814d8cdfcb9e0619b3b099599314f5e7e94d1a06e58bd1a10e44cd695d1cdd4b023100a7c8f3ac72d37364034776771163a6b0016702f607ab7a1535bce444f8378824ead6aee36e2b315db70530346b454a7f0302047c435bb50067306502304db09cab59b5c5794488884713ee72a2e7bcaa19119915cf6d5773e6acce4fabcf80d8b59e787311cb8f3b8a5ffcd86802310089586676844b407ee868517160fecc23663c5a93a3b8f04d2aaa5279ccc8c9ce5325596e1478a015bcda50fc1c8d7c870302047c435bb500673065023100fcb8e6aa2e1357b0c02de3cc6d9ce3f2589507a9fe473fe25099f85b6a0c0d2fb8402c60eefd7f195d5efd1d54b515b9023041280ee592fbda0eced4614652fcd12eea0c50122f2fa711e0eecdfe8d1f6fc413647abf252b4024cf07ac0e2aa3365a0302047c435bb50067306502307e9244f4899091c318d5b1533645cee2a2267fb6ba4c234ea6683911d3a4aaed5148eb60b5547c30e685f5bbc6d3b60b023100a34ed215a9a1cc76b558c527c0e4350806e1508055a1860c6378940c86ba579d2f9d20bf802bc53a2622841c7ebf77c70302047c435bb500673065023100937122400d60ee1ee85586129fafdd665e3e3369fb5654b539e576de640fa8de3a2bcf70185181a302de6da4f3c2024202300bd9fe0e15659020b9218ea449db0470479e5820723688c2dd1729034a15a0f4fa7b4196bd346b151238107ccf6a3f4e0302047c435bb50067306502305c968356993daf5def6e6d78eaa0b9d865a307ce1733a377ad1cef9d9e6551bcc781e57e3b44de9f19e954e2b80cc89202310099495ddb2a68ffc653e3426dedee13fe905120c41c1daec3ff38216ee5b6fe1005ccff4369b82be7ce822ba9dac255620302047c435bb500673065023100bc11ed9196145cfab33a08b7cab3a52dfc1a2711e11e3163f199d45435f902422889736dc1ed2dc2452d791eb3c42fd102307976f57ba22b2d354ae0107ed838f77b0eb53f424f93393327f28934fb856625f8e4cc690e1f1e07e38e15b3ab7058f80302047c435bb500673065023078f1122d25127172cefb45c98f52607646f60245c647fef3fa4744b61f6e30b8366e019744159124877d1362e7adc38a023100d443dfe7fe4d4f2462e286335ac1b03d0f6a5f9d2d710ac447330c8468f66cb8120e3b5dd5799fd60d2cfb8efcf2512d0302047c435bb500663064023005010dfcb25bbc71190110bf2dece1b964702479e871a79b4e8d0da49d03716f8e91779650156eb9f3cdf5e61eb6a25c02307616b3278a9eb14a2d312d6a4966b24d45f8aa5e110db96a73917b43c9cd62aa60134730d7bc26a92b15daaa9e5650bf0302047c435bb500673065023100a79f26e23f43a2a3856e908ba9b96de15bbd5a79da8c11780d4cfb2f7d4be6238efb31dd09ff512223b0f16e64c3a01802302dd071358cd6c7d9175782d1dffebb4923da219508b2ed8a49a321a57f38ec9c0ed39ca105b6d6befb149dedfb0ce0ca0302047c435bb5006630640230462b20406c6cb326bceb92a2bfd0b85f0a7bd0d082ffbf3a682c1580cbc20368b858f19346c7a0be9c0cd8dc1cc95f50023010b2356d74249b11802c3e093c57a49091f4db33b5c3714646306727c460f08e2fdd248af9e342a6f005dae765dce0d70302047c435bb500673065023100fec8fdc409170e4da36e9438458ae79816af406647c650aa8059fe203c521ae7bed51fae74c01d44445583fb5e9c20fc023024ad54b9b61ca200e22d36d2fea0d3a9b4c84cddbe9a3e9770d01ae647825e3507c0a76a07a604257f6392977e48fd320302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023049e5975c1e985a10c73b3cf8982e8ae7f0ba60bc7e86740a92018cba4ada521c6c57ba5587dc60c3166cd7d2569eb5be023100c728b53826d9ad4612df55206722d6457efe19b9b06c5627eb53c0f56a0601bdab9caa180fb249157d9e794dae3826fe0302047c435bb500663064023071b12f7b839cba3c8deccfef0962a729f6a4dc7eb1e76a69a51fb4fa0f2358b9bac1715488385553f9b0b18801c4715d023027d6c3ce48f2575f09af37f2c363a3c57cbaad909c8c4f7fefddfd5660b643b6cbc346debe94fd09ef6170c5e358f14d0302047c435bb500673065023042bbfe7e1b0c852b3c160bb2ba0a994c3252d995e5d51b35ffb4282d8ab9d33d75cf37df7ffd70e68aa882a5aa04ab62023100e7d4aa24adedb6e2214446f411fb679ea82164a6234f1078665310d18dddc85c166b672aa5b2d432c34606575e851b670302047c435bb500683066023100e97cad3d40d3508307044d4d505ad26f01344c9517084f8b61e61abadbd0fe80eebeeb8a8cb051d5897fe21ab71ddd2c023100adeaa73f3fb6745256c72df3166d419efa2b36cd40a01504afdeecfa693dc8dce4d4cf370255496c635d03a11c757e940302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ea7e549e4b45f33c36fe5aa4d8aa719446d3265a8402026160ff0c2e7aaa8b131d3365a18ed4b4916ce892ac9af65a26023100a92b772517b3352add3f95c777098c46d45f98ed18974e8aca35c570d5019cd836c8176a32c418217b71fe00bd76213a0302047c435bb500673065023100de38a9ce4994cd660aedbbb188ef8d0d090bcfe522cf98f6ba31f4e00e42d61db941957903d3c044d1ec72b9c432414e02304c781bdc528d6979483f3b2238f1d3e4e0b0907e15afbbe7849b32c0eca40366e2496ee709b7a3c6ae38b5bd8a1d61d00302047c435bb50066306402305667f4935413e403943a40f18ee31d6ced7091fad8f3ddb81045640909c56d24f8ea70dd9c60188f470155a6786ffc00023065f8e6aa91977d8b28e1b8f0e0a1faf340adcd0f411a366333c4b3a1df6b295cba3cb208bde6877ac72164462b7d1b360302047c435bb500663064023018af244ae3d90f0f21e37a49fffc8d19a69c4f14bdec58fcfbebb3960a5ab2f973d970327c06a10fbc4a667fc6cb43920230061f230578e70ea4e69f0ebb4eb3ddfebc52dc7f228f382e5b9d41c896fb9368e79e403e925947c4d24c869b2442a5e10302047c435bb500663064023051e8b1eccb4a0d6e990070370e129c37a1f95776d84f88cf0d83680828051d54e063c83914a24a9fde165cf240f74d2302303b4d3bebeac45971a3cab1b8c0a75cb998151caa7b4c90afb8858ea867e134a0c3117048d390ce0adbf7c2da56f5cee00302047c435bb5006730650230494aa266fbcdc54b9956894f4c05245ce4ff04ea55a9de19e8196f8abb64eaeebcf2c2d354d3a3b20c4ea95b370b45080231008f0d56f412afc3d28adaca2d9b088b9cc906c0fd40333661a7cd5beab7369103b9ba12e0065a7cc939afd3aa250a7b950302047c435bb50066306402300491fa1d227832f49bd290f75b378672b5e48ca8597b3a1270df9c87906c14d27b6432bad59e7dd3b646a1aab75eab61023016efb641df1feb84d6afa1acbc4f891cc89322ca4f2fb100fce431e1e1c1b323711a0fe3b125afbc74828401241350890302047c435bb5006630640230572b1b14b3e09eda875284580cb2145137f06b33b48604fa8b1f0930880641be6b4f882560c4281f0fbcf16a730d450f02305437ba96e32d7a23374e4d62ac51a5b00d83148c52e66929892e2958d31f5c12dca64c027c920f7cc275d112d80f3b7e0302047c435bb500673065023100bf71b120e0355c8936707cfbb172f73e53c4ee67e336b43fe42c7b2b2d8d4b172b2c3d2fb5e6f5d0c002b99c03b986ea02301511bbaf44a1c8009e8b13e2525d855707ce08a11c9d0f0e720bcc160c8de3703afe55cde7c98d0a4e35a0f2a8654cba0302047c435bb500673065023100955748bff656d64fa3963293d231703be4c62bf93cd999288e6f1f9b0b12b3d1a04ee91fd3e19da27fe6256eebd1db3b0230549e2d8d6f08ccf15974bf5985a45110f1cd8ab3fce4a14406efadbeee781c4b7371d29780dc3345f142e8b14198673a0302047c435bb500663064023064112618ce5d7e435fa4e2be6571a239a4646e4c05c8a96f4eaf36102ba5645cfcecf20aa7eb90ff1ccbeede9dceab03023004aaf2ccadee4b792f282fd9f3206ca10ec2b20553c4a5ae362dd057c1b9f38dc504a25d7ca09df6d559debc129e5a930302047c435bb50066306402301c863d594ffbc4b73814f784b9dc83ad6e8e42fbc8a37e62437ebe8c53a3ecab95ebf7fa3fd60b3b5a1c783b0665d76702302b2f4fb2784af9e5d4ae586bb9433ae4a2479e5a0dca82ec2e87c2fedf386774fb3cd5800efde2e43bbc62771dadefc40302047c435bb50067306502300c0e4489637de0a037629b5dff1a042d9b1798da0e864d944b777436202863ac95330c470dc330fd1404a3a06c6e5cfa023100bb1ccd76ff77a0dc77ee8be9da244c3417dffe27a561ebe0d654a791ae89e7270a35b3e27aec7040862080b329aea7a30302047c435bb500673065023100bf7191d36ed74e29a040dc0189ce1fb0c533429f682b20da28cd1966581e0ed68343cb5fd00bb70e6fd3fedd077af8e1023066a0122b37a03a995cc54639ea5d83c3b837d3706eef705a6a0d0f72d0cc5787f9c43555eba24035551185a4302c31d40302047c435bb50067306502305b09c404b38fbc60d50327943f040f1c1a9911a93aede739518ea9182709186515ec75a723fa6d69f2b971876ff152c3023100f9dbf353a69f5315e160cc6a3ac878aec5863b455c9a6ae8f6a8f22caa4ea636471b8089491b912cf2d5281e804aa0d50302047c435bb500673065023100ff781b645a3ce0991c4449d5fb14ca36a3ce6bbc2b52377272c5a421e65d23c2c68a17dffa22647da75f1c1538e843bf02300881af5f70687594ca25654a36701dcc600d7c7cdf06e0091fc4d4dd9d687cdb2216182e65b0dd0e415256bf56d9eb990302047c435bb50066306402304925b0c2c612b7076207a2d24728b157384f95dfd9de6cb2693874bd55cb583c03ab715fe81e4b0981cb2b5b0886df2f0230138d9efe8f8f2b8a3271fb6776c658a556a38173fd143bbfc368566fdd4e9dabcd40ccc8132311bd6aacf00caabd51ae0302047c435bb50067306502303fec6823734b74992baa7d508703b6bf4e421f9109d1a74e520f8c392b9cc65949412b9ce16369c019cf4830c5f61b32023100e6bf0281ff2476221a53530bc0941ab9ee9e3d7c4d7bb64a3d8d3df5c5a406efce963d2eda650f7eecc16d82ff912c6c0302047c435bb50066306402304b805e7efd03f6e9d91eae71e28f61b09dc4da0a001e1a6b691f98992a3e49d3cc39883a6025f1260dbc1a0831419e41023054573df54dea8c58beb9f6ea89ac697129d484cebb8139951e7643bfc2f76e27bb82a0071d9479c055df4dc6b18d9e400302047c435bb500673065023100e44d21d47c82ad20d4ba64c3a0e2934060ac64f0e2d388ec134be5b9c0d2b682a3f4225f414f204536a48be3ff630e490230105ca277945c57b49e7b0ac307d813b6f796485a53c76da3464bf804e8e8663283d7d8e93b72357d8371d5adfe5f109a0302047c435bb50068306602310084ea395e70dba74634bf595ed02d88c1c7dd36c58955f4765fdc89e549fd1aac1c34599344d22bc9583e6bf3ad048a4d023100db8c62c55fb5f2c22de4470579583fdb8d1ddbe8dd5a71fb3165488f07371e45bce142e62a765fbcc6236fd6927c2cc70302047c435bb500673065023020f1b8437a2dc38969da5935bb4bb5ccd9ac7915f941332b6c61373a506104b1ab8cc45134257a792cdc18d9d725150d023100e9979a698e9a8ffe56b04ce23f8e3badf06d080bbbfff76aa93709c1fc4d9c9d8498386975216eb0e2e9138a9f07db830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e65862cf86810ca2a7e5665b8e0cacce495b44d05c2b9788b975b05468a4237264523523be88dba6c1c2153de36e9abe023100c0ddde61b357e7191f2739137bccb07cacdc3ea28c1728e169807072dc99314d1dbeb45bc0971978aa608aed062af3700302047c435bb500673065023100d9c505dbbf4c0bc7470f4f349c7c3e7ee23e7b08a492c44c68dbe2ee02cb03b59e8950624c9058f71f61de11b72451bf02306248b012ab1d819cee5a52f15bc196361ee6fc5c86f176e342d3de9d6fad6bf91d1a28680282cef3b0179c94617149870302047c435bb50067306502307d259503ffd38aa55e7f5f0cb36390b7b54e652111e13c7009f79d6ace25ad8ee1c0f8b3401c71c33e86196a9af76136023100bc78699d8cf3a3f81cbf3aa53b503fe752ec3e654faee183d02d863a5e001372e36c2476a70b82100f2792316ca5dafa0302047c435bb500673065023100e64b70e58a4b1b6f6b2e75b520aed3ba8b21a71bfa2605d4679d8e3f9ffa5eb808dc24a44ae71a36c7d3c26e307068890230526b160717ee1bd9eaa99844e5bfd5cbc2d47b0d6fbdd87d4b82fe3fa3d77ec3d992c91131af762ae9eb5744c73f9f420302047c435bb500663064023009f1c852d7e7e81adcdde476431d418b907257b55258f08f95d089b56894d132b4de3b4c9c02299f65ed85c13c5dd78702305851c2661e5a1c4cb162d5495c7ea1954cd4cee55f1380ba6e1ea2fe1de5e17d8291b62f870d12368b0c5287ab3ad6510302047c435bb500673065023100adc52865250711611c1d14dd48601b48df548b7bc1b8df1d1d492bbfa82113b483c21712aebae548b0708eb985038bb402300784b77f941f57e60397d1842963d42608639634450054c69c5f58e29dce6823c8c5531511b8501988f5d0f1f5cc2df50302047c435bb5006830660231008c2d771232596d14aaad65fac6f60e39e9798382f1c18098b03800adc3dc86ec10a3f0bd3e29db96f8eee97c4a3a62ab023100c7deddae968020e47186e77b43823ab2a823e7aac2909daab8a8b4e3c1190489997500108bea2e74fe2977ea44f70d240302047c435bb500663064023021b45edad2dabd3cdb41b636bf25c7f75d0175c81c49e0f9287205d0be03496728052b35e329baf3de4ce143b6df3ef902301c1548843f9328c66a8cbc16c095af8bfca07eff8942108cac3776bdb0a65cb06ca0f307cbac6c0a485c081c5f0c52a90302047c435bb500673065023100e513f0ca9fcc84cd5379e8d1370a7b869ccca279c2cabe1b0abe2746e332b270b940a94f41545213e6175b5f17358cde0230763662b2d12a9f437150c60bba811960fb7e485d74967f6e8d1e615942bbcfa6ab1e3bc7311afc21a15bde80ec8b83710302047c435bb500673065023100bce5dfb6b11f164ab93abdce78e7e8334ce13f3334a3700f02695a8e6f1a731a4c2845964a3f5c527f55bd28192b2c6e0230123a53762fb28d01a50eb0d075d549a91f97937ab484dd9de949bfbc47fac68fad60cf7cd86b4c7e5aa6f136c594e4f80302047c435bb500673065023038d9707f319071cc2200c611ef90b8b071c1f222599aecef74d3141e9477001662eda667ceb99ed9ca637db78b4bb184023100b88c9a37ea4293c724fe5a964b33df624c2420d223ad0bf9139bc41f66a8f87c9f4629627703418f14d16dedff729bc00302047c435bb500683066023100aae3819c086fc405fe8d1f2283a494ac177971a644c25cac553500daf44114e84bb2f8497f590bacf9a6dbe9f1b075590231009871924f304f96b5454478a6716934f1fa863ede852b38bcc33a5e3680f7c2a1006c26088e7259dd0df15c749b582a7d0302047c435bb50067306502303361bf9eef50e8b8ee9f242322fd38a75b1a06b92fada6e7345bbcb845f35d937d289d9b0908e5742f1426a15e7a449f02310097e66bb18e85c1981089283ddd6f7414a1541122e6ed70300e100929feddae3c0ebc0ccf3a9c38f6597ec31cea6c662f0302047c435bb5006730650231009dfa46820349036a7617db05e6156f40e1c8dec4747b092cf2352e6f750eee2021429bf8e89bf64f5e64cb248d56e053023033f0479b90fd83b9a347624100a1aaf41ab6598ed6e4367e2ef6ed04c68523eab00e1077ca54665cdf4bf335f4cfcd7e0302047c435bb50068306602310096569a8977c6922757062da9f0f360d1c42dca2f01b47e3647ba41c9c667e47f4c31755caf4a119b6d12e519c65435c0023100c49df4efa8cf15fdd3d6f1759b7b906821736a4ebfe6fd1168ef160bb809378ae8a258b007bfd03b93998c78638084990302047c435bb500663064023000a02b0265c0bcf4609925702d9ab07c0be9f2ae7b4d5bc318b096d01f059c0f8bceee680fb90a7059b9676b752c30d802301aec45133063966732764a9512301a494d6e0c14aa1f2870eee642cb8059087edcac1be75382cbdc052e2393efe075760302047c435bb5006730650230023f19cf2d9d3fcd34b2674c6e56b2a118b7ac587ae6ad61d5c66f4b5824956e0502cf6b62a7ed0c2d434ec25767372d023100fa559194814614d34173d85e11196f1b7cbd0e04bbbddc50e6b92b5a2f06b625d86204de45deb20ebb76f7028a0d0b480302047c435bb500673065023068aa726e479798fe7dbfde98c789952eec3fb7ae05ed8eeed75b433ca704e187fffc59e46dac83208bf16f0f1e074aee02310084fb091bed97378c4dc02b732924a735ff95074f6cb4427aa660ea0cf2e6daffe6a7306e94597621c350574a31ffc0870302047c435bb500683066023100da037a7f46e9b8e3ee679c2c13b0e0ccfbda91ab675d7b119292ea9f1b789626e45bf8e95b27bd2ac656bcda3b8f1cdd02310088d9605bbce76ccf79f2ac647e9399a18ceaa05b8d44c49815d4ca52184d906f248ea1a8fee517a4a5b80afcaa30bdac0302047c435bb50066306402307492338064481fff44d2238a439641880fb3a9f7194ee943decf314f1121838d83a5f80b2b464de5ee30fc70c2d0063b023030addbb75b1964b0371e8b879d0ebf0a46eb836ce52f95dbffefc6b191286b149f94100a5d9b5a4fa9ba4d21c22d25d10302047c435bb50067306502300f11f2862dff2c717bb1bab8f1f860056e52067ef96289dfb9baa0452296874df3fb61a4e78caeaf265090f7a57056fd023100a619930c71c320d51ce8131a4b817895474cbf8329fed1a99901b1418966e1835113f2bee8d248635bfbdf47fe9059aa0302047c435bb500673065023100db0d7391f35063dff26c569041ef34e6afcdccc967d257983830dbf1bf94110ed57ea8b812ec32e5a9f730f017e5c91e023026b3bbb9821a23110bafb63109b9cf0440b33f8ba2c1311cf1c2fc4eb9ae4bc010bcc8c271a98aae5bda7df758ae2c700302047c435bb500673065023039b6c51cafe036792db9ada7cf6adb7c41623a102038170caa5a79f3bba610756d044d916b479cbc7f818bb9db530e9e023100c5bd81a04d72cc8724f2f3c4d07c45c0c83fe4cd07d4fe0f0f3415028352d225bc111c6f8497ea9802d6e74946dc9e600302047c435bb5006830660231008afaa51c9c685fb23f1a9984eb833e4c5065a3ad556ecaf7e7a7724cac2f96f9e6d2bbdad838779207c0db1f02de93c50231009a732ded43d61038e1038d0bbc6efff7f7783fba24726f2058f3ecd42d762a9c8abdf662255f462ffd07c71e022745880302047c435bb500673065023100a9b6db6eee190741430c4492dcdfd671477ac553ef2a1e8aff5414417891bcd396a2747f93ff44366dd386953595f8f802304e22c8370308e19e7f6d2e9d0974123816df4c1d44152ad5ca46b74bfcca10a7a058787efcd49e01ecebdaf0ccecd3a30302047c435bb50066306402301d4d25a22bf28ccaea71fb1dc372f38047687dff9be658c7402ead9a102484b57cb2082cedc55c20cd07062c0ecbb21102307c1dda520dd2f1179df08668288b8d7fcdeb3dd620562f747ba52342860670405e9efd61a74a97e5cf8f4df7ade944f10302047c435bb50068306602310090c840663a1e51f1ae7e417c6e8e41fb3078ffb72ed2ca499a107acf215062250365a6a6228984396ec5eb26d7c4f0c9023100e9298e91d87420ac61b0a772d0ffd570154312bbecef8dc5a5855d00d67680aceb428fac1862c570797dcf342f5f53970302047c435bb5006730650230710dcadd7ff5d64053687e57c4d77e3da9c9b27bb40586d1ee7f665521e3e3d3b3a2f61fd065169ce48d53268ab4bac2023100eef501a9f8f72e93518eabd3e3d6f71a6005141204569dc49c221de71c72f94915b6b770260650419bc2c22c13fc4e880302047c435bb500673065023100db3205de45d1f25c044ba6a80e1a3db4e42e878741845da949fce9613029838cc08f2a99c2ba4c808cdd725847e2462b0230480019b5f1d543fd3a9d37ee850d7131e64afd32651dee67305f5e086ab4f5ace9bd4d21ed0d50ad81db1a9b1af81c4d0302047c435bb5006730650230100e210393d996fb9776ba09973ddb582928ecbd2b3dca5acfb19eeeabe666d75fa9921bb18d4d808ffa5073f8af16b3023100fdf3d28b6558e338653aa2e858e0195b945cc2616236e4ec0ebf941b41e567cca64d67f64748cfe622ea45f6a36eb3d70302047c435bb500683066023100fa44eaed121cf441d1d948d75b1379e47bf67e52013844cf91efd43e72d0f4f9bffc41a654110591c2493c139bc946f6023100dab6090effd25ce1f53d06ee833a4673aa69a46853ee8f8a4fa248f7cd2fc44b7f2b8306bf71df9e4a568103e27d4b710302047c435bb500683066023100dbf9a7e3637643b6f76d4b88114fac7ca164b1eea65a452fc4ec85daf6aba703e1be40f3ffbe8e4952b06f308de314b002310094c5369bfcd6c9c6a32ec695dd8697bcb2c7a2c3447455eee71884155d46e5c4cd4302f899162da653b7923ad04fd3e90302047c435bb500663064023035376cb526ad51238d3b5c20861030f2850ad0901bfd8d0b7ae2fc33b7d33f7c11cdff40bd9f383df623d37dbeb0b50902306a10094a7ee1a7087636c62a27f784cdd8c82027d5a3e8f4228c230b319f90af626bc154f719f142dd6bd8ad7b1dffe20302047c435bb50067306502306eaf1c602a93eaec0a78df6c9a949e440fb40983d5ca9bce98624b7ae908ee6ee2aea2fe4e24b2c413297b61f898bcd702310093561c32c76356a8a90a4f707f974105a77b14a47ccb52c0c09f6bb568019b5384ce271a2d92486653ca677c95ee97fc0302047c435bb50066306402303996788cfd29b733dcb376561a0527fdcb2b461a98e4091ddf3912454ab643426183551ce5f43162f335794434b9cdd9023037a9a4b54bb748b3212e5f6c6a5aa9239485f2e6653aff2e2cc10447b7e6785143f3022b0b10e88379eca0930de3351f0302047c435bb50067306502302e7317d2f1a37eca6cf1e18469202d7c75d981d2a87230053cdfba19629c7c62eed94ea45d1de9cfed421ef6ba86dd27023100b86f85b77e1a6ca0c35aa5ca05c6e45910da516e1d3f17aad1fdf9b8ca894589c8bc4c5f102fb8fc003a5867b059a1230302047c435bb500683066023100d3a8f864fc87a7db530faf1a043f2c303565bd0b294af9cb416f32e26f803650948b7eab054bd3f3d216d99f815ddaed023100d19ddd8246077e3a9bd9f7c4b4239f5a69d400a44afe8a37b2a5f0243ea2f1809f315f1ba5d7810b595a0e23634652d00302047c435bb500673065023100bf24c721f8dd14c55034eed06ab1f213c9bdd57d14ae22ecd37d367bc5320d268894668a67d0c0bab88bb72e0b62b0b60230032d5bd9c20e3b91ca9512570d6f87f032a75d2af233fa9cbb287614cfba450a93a4c27fbfa1f0163d483a6e420222e40302047c435bb500683066023100c585cab574f27aae44a9422a85674b31b843b97e23b5bee6182d7ba545303b34d16097fb581c0616c60e28298991a12d02310088bbe0d2ffb334009e36682ee9498514d3bbd5a740c3c5d9a7d34d5b1ecdca5cd1fddd6cf801e20392d51d1257311e1c0302047c435bb500683066023100e2cb8ccabc3f2857e0b45d27e4eb974d1f8c0ec7f5579b085c9d94a9a0ea1741cd5e6393a77fb769a909448353b881b7023100c0a6d92bce592399597d488049af0674a8bb0bcf3e480f4b925d5ce76664c02be2ec36d036d4b6b5281f310fd27c73830302047c435bb500673065023100f7adffed9fd977c35c576c38e17a8efac89420a9f03b79a4be008bcd5927bd576426d0a21e8b398be5e56c70711adaa7023078ae34111e692b02ae27209f29d2f3be8552988bbae99bf8106ef185ff241b22d550746dfe66fc4a809fe0b6375ecf990302047c435bb50066306402304f4696573e9c73363b446e3acdf8995ec0818789ff620c2fa20680281f379f308f22aef8c202fffa402f14668f90809a02304c90a0c3e17fcb2990c0a695e73370323fa97c44a595a35fb467261ec8a120961167a4db8934e7362d2f17932836e2060302047c435bb5006730650230366d74b5ed16684657e6ee24391ce3104a115b1ccaceabc347a6cbe2ed8204bf0d9dc1fb06ff197b7a95012beeb7176502310095309d6d8ce6a56a47b90b1422e10d904cb522ce2ecd381f4c3e57d075bd42a71cc7337ebe1699b7fe1719d3e0338afe0302047c435bb50066306402302ca2493d10c1effd0deea6c338bad9c0ba98344d0389bfe4352c951194f8e2e742097c685979e9114695b9526d9f97250230156f5992d122e6530cf13ba56d2658a10eacd72e8e91e7d313153acf96ea594b84ee7d65aeaef9f65fa254f883b19d350302047c435bb500673065023100901cdaa0f7fdeedc0d211c5aacdc970c509b7104b0d9cce154c0591d8174708f33c0c629bba9fa078dbbb1fbeebe112702300b9cfa028dfc0b326752562340bb9d08ef002f7464e4fa4e04808d04075299a1645f60445955ad97184f4e8d0750a6e90302047c435bb500683066023100ce10e5e45de6d5dd0be5bdce8e4d452eeaabed46e782fd1b4e73ef07bcef27959513c80a2ff0cf3f1362102fd527db6202310092cce82e66f8a8d57995c15ac1766d05706315dae7f3a54c0e29dbc1a8e65f9cbd2d6bf43416ab8be28a7acdd3f1f9a80302047c435bb500673065023002b949e268ed07472ad478a5782c4ea5ef3c0b00d3f99768f8c739339f4d2fddae97535aaf9e1e60d69dec3efa75a65a023100c34a4e9e0f5efca89804de4fcd60e6b1f63aa9d64a984bcb2f169c9b429e2cafdf070dbf4ad293ab490632ecc2f10e9a0302047c435bb50067306502302c88111239d7ea5b2770da1e1f00b7a4e1f8aeec353ddd5937ab353badb670a01e0e2343fbac13b12d0cdfec56e38bdd023100bb453572e4a21a7838989e85e3888708cef728b2f0f9ec62f03642897fd6038a17fa291bcdbb0aca71a35228a9df87e90302047c435bb500663064023040c6fedc4896d22cd2521463f41f3bb0af74bee699aff4510562257345367afe71af7ea82c291876fe6b25be16d261ef023045308a59919f9edc13fdad292de8224c4e673c46abf027976de3fce0215b048098d508840b6f7cf7c164013bd3cd10560302047c435bb500683066023100b38831b19f0aaba72e554eee5c46222040a89ef5714219443b68f131dbaaa2f4b67166ce4719fe37d04d791b0eadfa50023100ad2b6401f8c3ad56614c1ebdabcf51c8d53e9bd11cae677990ee6200ef838c03c5c55be3a3119a0e761482fb9c9147ef0302047c435bb500683066023100a4e8a0a5537372944e9f3fefe5bd9f2f15a6e755edd5a696bf0d8cb4034c9c68b1c6e31a07a25442ea1f9f1c9373fb5102310093b9f20a576fc1f7b669b025c75ed0b04d79844311fd6f8a9fded2359761fc88db50886d1d4d664aeaa6651c211286db0302047c435bb500683066023100ca902d5b1e303e015d5395c0d05cdb04e4db9775c11decd1d3b4190223d29677b3621a934dba2ea1552540342379fc5c023100e27c66a42b1b020d79438987a7016b28bb8f924482b30ebc2f996d55938a781060d6894607f0a61b148115fb899fbfd30302047c435bb500683066023100ba485d6d256befe9645d921090e1766ac663c06469a9959f2153ad09be2d35697bcba3cf04c83c56a6ee2afd422b0007023100fdda11794750fa1f3aaf82472e6e173f9c1515ede5e1749fb9e591143ac46fad4bae60b49edaf1ab1c6729e3a3f6c6880302047c435bb500663064023046c337f53531f8df9b2569e39d680649783c0d08e37ed2fe8fd55a8df1c57bf3252778de5691a5a38fcdc5cf6352211e023061741d393b426c1b24746db479f4c1d8ae291e846712367a0bd12832b9f6867a330a6cc01f80165b022793420570457b0302047c435bb500683066023100827a95e30cf0aa9b82cf441fe46f164cca85ebc676d688581d74418542e57633935bce1dfb78724880832914a04b931c023100df152a5c25ce6468f16bd5f3a3e523126bd4b0e3c8a0f993db5ad3fc31d9c82e2a6b7b882aa554206746fdb70d16469f0302047c435bb500683066023100f3f61cf5b55e31477146a17cb9a19644b12fd91f11080c47ba20fd23d4a212ead3a6f14b1dde1b03fc327f0b5dc6dac8023100ad12e25bd151f302fc73f1fd23bc0670a91887c4509c6183dd3c038eb8fc2ca5fec38390a3bb8e8e1fb84bc2b8d3f85f0302047c435bb50066306402307535857b77364ae52a154ec68e7e17ed107cf4ba56a160a200f92bf5d9754c9f8e922498c287600c5f2b8560858fa6170230704c3e852809e3230e0333619e7b92a0dcb6b3992842bca720062227cf53a85dbe6741cc3facc6ef4043d7adb07e95b70302047c435bb500673065023021c229ff57fa844284f36c65e785ffca4798407875f12204639d4d26ddbeaad37c4bf52ee5502f8126b45718e24edd96023100e6d0c26ec4a6f579b543d91f3cc1b15446e376949a19b7a0b8ddb3a13f1285dc54d35e8b5a0f13192dbfa6f418b639550302047c435bb50066306402306ce3708640b15cd9aa42de26868e7b182a6f9ece7fb190afbb6aa103a6c1674053266b1375d25925c42738bddc59bd5f0230167da93e7299aa8a7eedc966fd148ce9f6a2894a8b534919f178524adb4c290b0e314f0442a1f9c735808771f4af494c0302047c435bb50067306502305e51dc1357a419efab03db476c690432728275af9e75002aee74a370f7fa30e5fe1f36fd4bad13eb77dc8e19a4829b06023100ac190265e21d4a5f710a48972aa9d34c9b6d74afc2714b15b948f1755b9ad25241cc7d45982a2355a7d3ad0c42a511f30302047c435bb5006730650231008a86b3e22ccd998d2c10cfe5059672bf1f243679e8ddb1ee0a78a571f6f9cbcc379f4b2bd33d52de19bc2fa79142f9440230219e335577df76826bbcc01dc9b081dee918fcf6aa10d7bbaa3f8cd2c471d5d60aa4cd4f8b6bea4aa187dffa3981d27f0302047c435bb50066306402301d6c2328a6c417e80ea5d8968056508bc8f4671f9e34854992991868c84999751a96cd1c48b487cde20da13d9b588fec02303996667d32696dbfc4734184bfee77872ac23ae3b366b7047642b8e9a3b1dbc4795663cce002559303ef15eec01316f90302047c435bb5006830660231008ec2aece1693eda911c3b5c69b533c9914453254f2b45dcc2056a8548f98461a9412a2fce65e308f36ac9a60c8088ccd023100df01ca375e53f4e93afc363b8bb3b6ee68398544d27eafefacccf177512f0d3802474ace953ca207037a52a8373cd61a0302047c435bb500673065023022b1b17526866143fcf1f1d77df0ee102c2dc81e9fddbfb09bcb16325f5673d8669b20bc91ed444ac8233dacab1a3109023100b5170a7f6ff0fd7e9a7894c308fe72dd7a455ec3166904ca81d9e6193249dc159d74ce2c9e4c7b90586c4ad7c6863faf0302047c435bb500663064023043ff38faf0b978d2bf7b7a94e1a9c8d633eb642ac835de2d183eded003cbee43a5d8fa2794c4ad55e7a3894b919382cd0230686ce763036de4e35d15959f98467d39a5efd34db2c40eae371bbe2644781c645e461f633e1a32640dfdcc1bbcd715140302047c435bb500673065023100fe4d22b7df5a11f67df129be60df2eeea27390797ba012533f6be2588484114e435c795060483a53216ee10f3404290e023065aa7644a14bf936aa460f95af77d7eea2f36f904f18be7ef62dc68236395a6c53176e817cf0334fc5ad0eaf16b8b0d10302047c435bb5006730650230449751697685309f32e88f387c635d6c0e73998e2c60e0af01a2dcb9ce4d468a18acb69804c31b98f3c7fe6250f07412023100fc542502673a826b8997b580dabd3ae32a961d4c3001ba5bfe7f3dfcb557eaf8b592984ce6397e2a9f380aca2df93f360302047c435bb50067306502301b663bf73825865761cba25b18955ac8e1b6fab036ddb177eaac94bdc71dae9346891a7e29402567210c00cea210f1df023100ea9f68815a6bab36799ca59a4d693da16589e346861bd9b0108d1ca8afadcbd2562f986cb97f474bfcffa16cfad853e20302047c435bb500663064023051d75e429c2b37776ab4000d8cad0035d0809572ba665c0e0250864908529d9abf5cc04044ddb2a68fa10227b37f61b7023060b761e201d0813d3f321932bf4226b6b74604359ed544fd41ccaa8166694327694fab7beac26eedd2d94c60af0553690302047c435bb5006730650230761660281874025cc6dba2b07da6181e432ca26261307aeed8d33b309a3c5341d0421b1cb4303d7c68aeb6b6bf7cf5f8023100ead4fbde0ab51dc6d6cf872e57101785e7c3c23c2d72048176fede6d23102652fb93294a8d3d879f62b8eae0d920dadd0302047c435bb500683066023100de988746441500c64e592d559b6d9b83aaa98ad8d92b64811f0000e7aeb290d0a6c6f8b186027145c30426fcba764b2d023100e3c8d4c3a34c719a98b00cf6ffb72730a28c2af922793b3060041288336f3be699eac62c6824a65611e3494d4681f28a0302047c435bb500673065023100de64ac389ba4d4d9ed9ef6ac35b0fd633b9a7369301047615d12c59a2df9ecabc0545b65add87a85ad0d6ea8197fcb06023071356056d0737d6b5b0c8199308f0f62562b50735c01c3bd4de01a040403b447295c169e98ff1624378916b69830759a0302047c435bb50066306402304e0592aa2666cd60d5eb6026ced53ecc5aa96b4303342bde8d6a430055b1217c72a9170c294f93f9937db8ee2895f54a023028907505212ec2bec0c06aee1d83c5269b1860af1f3c8b92654264cc3b3db7cd5729492f79131a7eb348a77f89cdb99d0302047c435bb50068306602310090bdd5a3ac48c0bca1985fe3eb0059f10bb0517443583aa57b2e8941739703c5c8a2d08012ffad021db764d2f7d59bb00231009b7647978da196a8b4f51281e6bf5bd7492ef007bac7ad67dc6af54afa9d8b560cb1aa38e1c7ffa20857686ae8990ea60302047c435bb5006830660231009c7b3abc5a632871012e4fb6c575f74571d832a1e4d9e9de7bf3731dbe8b0c5ffcdb5974e1a98e7c82568f8863b0b878023100e0980b56109ffdab7e4e0a5637d0e4e54d05edd8498ccb140435792a713f7f20e1dd240469532cb13c81cbc078a261730302047c435bb5006730650230056c130bb582274bc8305fa4335ff8c5e98faa8412044cc3cd4ad5a9a24a6928da5fcab170ede6f9e79a25d9146f0239023100a47c853822a75b4b868961754414406e3b7cba6c5efa3d8506bcc4f1bb6795f8c550fd77681cc25cc6fb60a2cc7c876a0302047c435bb500673065023100b4e43ed39edd498011d607bbbcbc7a09e47e84723d3a63a8eba2d941b840a6b015d5ed31940255943a8a76fdecb4ed200230411b41e0d9a503c6d4470891198bd8dca64098419017cafbbda9bf77b2c3b6ab35dad0d636ced9a9339fbc7147c1bffd0302047c435bb50067306502310090575533eaf616ffb22883cbc41f1880b301cd45acc85ba1be410239570a508e476d0541ea83a627fea86095d0f548c102304f2f1380f19f4f79decae77c7ec9bef35a0fa4edad5517780adbe85da11ab2775c63f53b2e03a3e5168d2906a67e1f430302047c435bb50066306402301915fec1618ad6fb066ca3bdee645505171cd23e0204712aa4f14736bef68a9c66102af54674eadd9759b0644ec3fc63023002cae8f4d436186670abdb2dd27ebce9522ac2dbab5b644a72dc8aada0962a13acecbfa9b452a7675ccea6c637d803a50302047c435bb500683066023100c84e4976b681acff6fa2a5f12f25c3506e872aa45cc322274126a7eecd93ae90dc226de4997e8eb5f8edce48c15c2a6c023100f84a5594ea7b3e60c708b5263ffe78c25641dbc82512200c6f9cdd0094c686428cf451f44989ba04a08f3821c782935c0302047c435bb500673065023100f1f30c2ebc4fd7633be23708619eb701209d5d7333aca0643460acefc06f24e96519852aed00b07c623e732726c20e50023062198899ade1f4b0a00448ada158f82c831078ec79dbb9aa9488371d253e2defdbb3aceb27dd3ae722ba8c03cbaea5410302047c435bb500673065023100d5654dd24602328110840746c952833df49f258f5281df0136cd2309cc6a485444724abc3661b308baded9d3ba15251a023057457a0729290a81fae2b7da8cf8254c9f7629d9ac10edd86d22465e2634338e210e001e75a9d2a942b96d75f3d7d8100302047c435bb500673065023100c28ae639897cdfd76fb34327bb387b3349cff3dab1c9a1ee3f66a6abb32e2af784751ba0ce33215b2ada1b592c0a261f02305ef21a7fbc68ccaaf8a00c85d85522be2ef7459024c6c0b970e50ae264f283a5b139f05d80b9a86cb766bc43572cc9590302047c435bb500673065023100855396f3e745808a42e2b195a01e5701e4d95b70de0ddc3a842a0daf7a8fd41cdcbbae5b1dca7dad5833ee805836e04802305aa145eed51ffad1bcd8ae11fc82871fd672dffab4e1fa35685e4dba7810ca83aefaabae891d160c541af34718f096dc0302047c435bb500683066023100c2ca788a95f3fdb947f06680c3a5ca528e2129c6abc439f96f6b19aa36a826fb16c0c607906b047555911de17652d29a023100a91f7b319ca4dc7359d6ca0629ffae06e3f91831c724c18c4335e8c70099a3ddb4c5c9059ea0b76a9dbe9348df8dcfab0302047c435bb500683066023100b92f9b255159554d6d2c9ebd713e921be53fe44eb3d59bb26a22285a5feb0265bd1adff7ae3ec4cd757c9b2543e2ac42023100a1c11ce58ff923c934518e24b411336243c9dd3bbb1b2a234b1377df3af9e1e7b7a111796f0623a843012b2f307cb7d90302047c435bb500663064023052ad544c1a1626000e1aff09a1ee3983ea6c596531fe4c6afc282233fd7de08678d4afbe9350c1c0febbcc340397ecf5023068f9da6f58beb203269fcec40c9c03e2017f3e4b0c363a78eeb339ec4e607717e5a65f32ec22637487d6666ce5894fea0302047c435bb50066306402303567ccbd2f4ffe7095a403f66ec62c5158619ab841ed4202690d2eba285ec21f5f6cea2d936b7f168cd7479339e1b8a702304c5ff1db4ed30c225e02553823055404a165f6bc2f1cda6ebddef1b2c99a9e7458a5b7cc37f15a42ace42169aeaabd7b0302047c435bb5006730650231008b9898d1ff99384386419cd11d24c15d39f6aea924516e26a6a376c5c2e4929db352a32e2f68ffe154b68fbde679260e02304d4baabeae550b2f34048213841cf343f07dee474a19d6a61fab2aeb28fe0b352a385a042528b5961502f00fccd43ce30302047c435bb50067306502306dd834ff5a39fe025f93a8c85bcaf5e87eda9f6fc9294297558b8f777eed5348f7bf0846e405b51acacfdfac2bcb4bc3023100d398328582d675f7ed81bc97e0ae350d57731040ed50bd07b6119d8c3024f1a1171cee10f0172298e45fbb1fa4db0e440302047c435bb500663064023059c44d1a2a0485fb16464efc6871bf3e4fd121e9e91199c20b64f2e76a1f476c6711ba46c7a6d7af29dcac983a4ca6a50230692d9958cbda130f170dcc6e2f036dbc293bb5ef4f3cb67a5e8747613adbcebbfa6249ad7a4e2c6b11c275fcbab56d4b0302047c435bb5006630640230726e8190c57315f84c581d245c4be7b2b49f2b23688a8911f157a022f6c55f53312322f82aed5ddc67407521bc267cba02300a060cd0de430e0ba63ff484929cf133816f39e46f89c228560e9f80e429c264003052637c1e7936ec5084cab651ddb40302047c435bb500663064023039656284c0574cdd0f6c30b9cf1fecd5adfaf49d0e3ecfb9d7b689987f025a785d0e004c51d36e26e41805219fcc042502303a6aaf190e0c88670e2874729e91467b14dc231bff37f5da43b7d67d61709ad7771f6d9756d5eec5103a3b7261da55c50302047c435bb50067306502303a71aef8e62f691bf9ca8b7222a10c0c81ad6b0f973d25ba3d01dc3595a08498d92a5a577b38b9dd4841e55e34fb65ac02310093cc26c2ee521fb497dea03ee689860cb98f08f66700a874f264a34e9f6ff30a901eb88533656b6d66c1a4a44b3816480302047c435bb5006730650231009a1b801047bc25c9bb34dd118bf63d322cf392f543adfb087ff9fa012566721294880b45ef27f5b7a34c0185c837420e02306ccd7da67414802094d1104baf4570ccd4d8eca28addb8659bc0f63d9dca2cc4a0c183385df55763dd7d1b3fd7a255090302047c435bb50066306402303442549ca9c04e1d72797c0529df69aae8e0dd57e859ea0020584e2982f490f917ad3c43c704d6b2a1fb529a899445810230723d03e935717a0911c858f8c9ad9de69b2ebcae6f3ec7bff9bcabb770fbe587be30a8800a67af9eb6deb496328ca4fb0302047c435bb500663064023013b6dddd412bc30202301bf8f82ba62aa95eb2d8ea9e1af7253c7eb1dd950380d48dd56a567afb1ed9773a46337ce5440230656482402d712ce226f3ac67e33667bcf7c52c902527a0b4a3a04d7707fa18531b09f81aecfef5fafd2da1ad7fdfdf740302047c435bb5006730650230051ea18d2aa795641b0a2c1179b86da5e5fcca58cf04efa34224fda030641d61f7b1bea4ac2bce6f0028141600fa1a9d023100a35a47e61c8551ffbefb8d06b80b3d878d7ac14bcbdc8f6aecb89b14d5acecf27232414cc57864d58fff467fe3c4a9d30302047c435bb500673065023100c6c06aa5269f3c355b57ba40805c8197e508103d6492f267fe54b2e52ed1f75d939a9650e7fab8a8748a1bff0fd3390c023008f03115a6e6826f77138f11fa818dd36a08f49e4f39da10ce98433e6dc5af15f743fb065fbddebad7fc8e3b5098b6cd0302047c435bb5006730650230691ddfdaec4331641a117e9cbb03d51c542064128d200b448d6d9e2eef16956042dc890589587cb422903b839b13bb48023100c8bfdfb5f6b3ffa0e45a65515d476454005c407c8a104b7eec0bd0e6dd5d348f213f5f28c35a3db1478dc9fe6efd7c870302047c435bb5006730650230263394aca05153910a69ef303be330f35863fc2479af0d2a903d777e55d2fbe12065fbd4aaa4c5b2346dc1215477eed50231009aede8bb659ea4f150517223500705144322e3833ea14b3ba7a933c1fda477a563e42df0f8aa541e0dee5435849440b10302047c435bb500673065023100c6c32462d6baa03e3cfbce1b29a64c1051b38ec82bd5819536107a2f203efc219f60df3b3bf5d26eb837ba0621cc531002302f1f5c19c8f57889ba8b916af6504025cf7ef9ea6ceb4f827bb3ae158c567f0aeb6b028b3c2ace3d597eb72ef6b724890302047c435bb50067306502303bd9e7d35ced9825c0636968df5a9b6f9cb8ac37bb632d2a15aabfa80fe99bb3aea7133dbb4f0784b4b4c41e59126c8f023100d97947f09e2344d771b313ddd36a0f2d2224ca856f970e6f2b11f80846cbcae19603b6ebe48aaa7847f64e1984e7e93f0302047c435bb50067306502307a4e029722e66ff76f3fb07f2d5f3f36c253de80528d382585de4b6b260179f96faf47418cecf6d42d8fbd221d0f17db023100dd4ff46322d9d4b2eb18313a36a9cfaa1243cb2a0b2b33d50274747b7effb37ce895469bcc739015ffb8902f55aa2a040302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306473baef9d31c42f5bf4dcbdd2cb7aa0602c7f14c97055246bae32a6bfeead1275499b240979332d3e3593e4d5255dd5023100c9b9e49bd19a1ca0b3c7329ab061729bf6fd02ee011105598e34effae72e76e8798f893f95ff5ca1a2c6bccab976cf710302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310086a9d31170c1638dec42d154912c927964139b774f26c2a1a124f7e8d70565287903eaf354cadd5b3f4eb36ed8a5ddb802301f32af482fd5a39142cd4fe4f2696cf340a786d2d7891977c1a64ccb71d12528d9685129002bbd6d9d37f7d88de7c09d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023014f36a562156fa37618e30910301790bb369b88e14ac47b765023e3781bb63d22c882c58b2a3fe5176e6e6e00c7b08d9023100c5aa30326e031c9b05bf93b2337d1172f2e068f0eb755bc001f972a4c13b7be929e8f2a2ae2d866a0c5b162ebf771e020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b1c16db437609b01c637137e0bc0a390b7295609990bc2f64d52de2baecc5b7f9d313ec82b3b893233ae8b22bff49329023100d6efc276257b9f9d867fbca6ebad83803d36ee6ba0e9ae0e19643009dc3741146afb3657d8df610ae948fd374db20d970302047c435bb500673065023006bd79da200bf0c1d2c727532e79b2460c44a1c0809c995facce5b13d24ee3ed5126dd7444e6f8958c214b68c871e44f0231009902af16fa11b64ca5b7d3bfe9b4b345fe1f7a21e75f2571359a703e767e1e3fa5c1ff27181d3acd5f86fa012a0bed350302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230701cbdf90794c6598b3412ef84209038a4ac2bec78093ef2d552c46716616a031a612c34f4e890d8ddb7ae6cecb28a930230169f2c0593af6165bd64381d4177a93f9deea8d3f7ec117f6f418eb0cd3506324772ab0eebb9537158aed780d36ea2bb0302047c435bb500673065023100cf4c56785736c35095ff137ca2fa2b8c24ed5e4de50db1ac8b23b9d9b4ae8ca72b1b7c65a5dc1780c9dd3089a7ace0b20230147a12930fa2b2ccda7f6b70ec07ea0db42e888ce73575ebed624bc2b442943f3dfb68e81602c077396071d9edb7067d0302047c435bb50067306502305ca5dca1379c8e42a431b86d95077146c03c63af61a80716c32dd4dfff2406c89cdea123f44ea7108e4aba0d1aac88df02310090c8d8bee57ddf2c333f43d1520565a229ca8f8ea9c4e9c13343e73e2704099a84da1caf8b441eec48429e419dc94bc50302047c435bb500683066023100d0f44377b9a5b260bb2272ed6b28823a1de3a0e1d97a58c2d702e6c2ec7a3a7eba6d9fd1bbac91fef2aa2d297b9497bf023100a9f4476841b92055837b1a7394052cdab70ada1f30dc594af127389413fb1c15d172b4ad77440cb8e11704619e2a2ebd0302047c435bb500663064023006afc578a74be5b80648b0c1a6d38bde22d4ebe46ad500d0209804f1d0d5c4d4ad8abbc0460705e2aa840b7884b64517023056889a82f3ec9cc0b51dee4d073c189aa678963adf2d7d63d09afa46661edf16fc65a6e74210a83743fcb8b47d7ed7220302047c435bb500673065023100c7c165b3531643f25250557d2db3c2f7375b2d3d650b03e48af2a8a155ee5fa026e48b4aa8c6e837471668d1256f2cb202301591d12cb1cc6132a7f255c53156612fcf5cc5d561fffd3c1a1952bb741688447a7677a65add8004619c2b584a444a140302047c435bb50066306402301637f218995cdd0b78b0914b69ca817db2bed194ac56f8bb5d88bb65079078f07e4bee71a0471520bc242e4777709269023042e38e993e5d6b37e520da925afb15b5cc5a3e372f84bbfbd7ae38ef3507cea25ae735cd6ef3602309469a2c8d50d65b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d008a0b50c807ace1e5f25ef7ddc94ddcc69f1260915f9fa456d7d2048cb84f5a4a79c20c590581e1c0bd03c8b2c2efe0230366b839bfafb1d0eb2f6458a1074475835d51c1763b6e42ff53ed697857e81a6d5ca6194120131c12a7fd5f22205538a0302047c435bb500673065023100a67c97627fa6efd0f4fe130897ab65c4f1b027c9f3b1d908a721957a33a9e7b7becff094d12f3c311623839078a217e502305006d5bab444ec4c3c4ce2ea0d1f0d155f06d59922765744f2bc19e729cd5ce0bcf6b3078461b687321c2e561955ee380302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cfa9175b4cc79ef1cb4fb832da1f608187c3b332cca2b8eb89758aeec810d2e0228aed0d5b9d9674cb0ad55ec686b34b02304d8bfa6de901fbe05c7f5df2fd2f15a3794d6d3e66c856c49b8118af056915c01e41bf9332b112567c69373e3df257140302047c435bb500673065023100b149579b28ebc0b00cd41e1070ba33b6a3d1999fc4ab1c114d93500e944777c781b397f812f7b8f5f52d93185701e39a023052100a8ac64c6c95d83e549a5427aec0e9dda2cd5353e4e76aff67dd1b613959cca537086b909f0405cbda552b1a9f8b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300433472c32258dcee570e2526c63201dd0d5e0b696e0800f2bb9019a55572ba47b7d30691b16786f437ed0f8db2f916a02305939a0eb7e5b3817c18036cc9749861f14ab3cf9df53e6e4cb302fa6e9ee2e01770a88bef547b0c3a69968c2510e20ff0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023065e649e00f6278e661a44cd62effadfc0c22da8846fba9773214a87fc19d1f2cd925852fbe6d37d32af05dc3b1854abb0231009933fe6a41e76525417173bfba0fe0fcc483f741f9963105619abf1894f6e1e73e67df852b4d23c0e3f4c682880798d90302047c435bb5006730650231008394dde1c38e589e39c721616bba1d611de8dd107b3f9271cf3ab74b25fbc56841db533c54f9cf41fb8268f2e7487423023016fc740c82678dc2ba41165e777adafba849ee3fe25c7a0c6f738201165a28784a04624f844ed618e4980b6d940540fb0302047c435bb500683066023100e75658a7051214507552bd3e9401ecfc59726de3aa6777a06b21600df37e403bb0ab060f558cfc57da10b4cb4431e346023100fb4d19f824cbe0de1990798ecfa7f9ae3eddd457d8e154ca93a6d667d243e97c08b8332996ffffa907929bcc14c936fe0302047c435bb50066306402303006e5e7e9fc86c2e05775c88c2d8e03f2a5d73ba87bda3da1d4486115ff0db5d82cbe20df7153dee9297ae23ea3e93e02301f5d476a36742fee341e27791ae815a4df2f957f051f9aba30dd361bdba36bb1cdf17ef32919078f680b13d3588aeba60302047c435bb500663064023032d8f43176b2a34431a68a04204840c76c9b8e154632cd0f8e633eaae52863a0826ea0da24153dde6c38a4a41b282407023069da52bf9ffb9d2242a774cb56f1a047e67c218811b3bd5f7ee0702be084034c7c0b3bce7596df96c61a7ee249559d260302047c435bb500683066023100bfcc3c08ec9ce3a198e58e37b31f980924d0fb1f7a94cea523f510b518c22dba2302cb61d5696f592d6e734709dd0c8d023100b1ded5351d932ab7a6247c54ea4123af8440bc85d1bfe29ccc3f80ffa3a0fe31d07f000ec7aa4e430389535beb18bae00302047c435bb50066306402305ca8400eb8e1d9e2f1e7e77787343bddc9165e521544a88a50f2653ff796ef0c197054613d32fa684789148f0103449702301c7d2e95425a90a4091085506c50e0954f2dbd478495306a830c41db3b63b755892410436bb958eb7f079a9bdff61b040302047c435bb500673065023100f76ef8d6721fdaef9504a34d9ce898fa1f867ed0369193e980d833353bfd2bef1d90ab21c4c4e93efe155fb2f74b1f8f023073df3470fc462931012b5f1468eb28d023042579e932be2f9c96b771cd4406c6c2747f0a54b7b3b71a4e13d9ec6a61a70302047c435bb50067306502310083560a6e67afa381846a441112c1a0f8f9337d43463278c61ceabb128835b80b6ac16e86366bacaede7078327074092502307cbbb3775c5a9c619e3e4d5d52412804f9dc4b15895b7b3da4331e5d981622354a1a383c39a1209a9dbfabc8589c39600302047c435bb500673065023100b176c0be4c8cae1f335efd984255c6b2374463a1ce0f46af22c45d40b81d4ad7296f81ad5c3ff571810ae35178bbbc6202303be55919e65e34a531d1b49212055b74ed401e551853ec1967d0e41b0ad852e37728fcdf78b6915931163ead5951c1c20302047c435bb50068306602310084a5eca123cc9e1ab7f8d046aa78b23f1e1cd9141f4284b668f82c147227cb780818870498492ffab6a6c6517a487876023100dc17a066a2e2d2c4506c02890702ac2899968a9be176c79d46644ae33a0fbaa3230a6c88cecf806254c2a1705446bb940302047c435bb50066306402303c83ee11c921c13272372ab66733111f64e7c3754019df1966fb7efea8deab9f11d6b4a2aa4e41a21787b20dfe73059502305de5668a599c9db30406c01d532ca7e53eb71757c26db50ef12b814326df4b183f8eb7d0488645af25eba6d2c99ea6680302047c435bb500673065023100b811ce5d1d88d8d7bc461d2e8be941a166ba1f85c1742d4867852f099ba1e82310ea69ae86b97c564d30d18caee712780230168a5ba577530c8e71fe69854c9805cbc59d62cc73bb1f6dfdf9e7f357ca5ae5284f6dcc2b40ba2c57d93ca089705ca80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cedf5a8f43a0343ca927474225932af0fce2cae8ef7fb8ffa2125fb6a78eb5c1c3c171dc4634cfb171fed860cb3fb723023100ffbd8669751e79c2035b0e3a5e8eab6fd418c61da462bb3facb1ea835cbbd458f670596ac6eed1761c08f689943fa6a60302047c435bb500673065023100cf26944a8fcec7e3e411d19b0c188ff790a4c55a799ee4a8b68e29766ee7c03afed8aee9c83b707a0b591580cfd585fb02307e981f861bbee87d14d261038bcbb02f4523aa632a7b506e740dfad30cdfd60bc16b9ca7a38e71f882feb086ef5920380302047c435bb500683066023100fe44e47f330af651d4966cd7c6035ce3bb51630f945ec87e11c48dce5ae6aa02ff231c2aafbf3550efee9a5ea693fd1b023100c94bb628d040fd432c057aa3f0049a09c6a53643453dc6a3fd602a918a54007a2a5e168de667919aa0bac1067e8274870302047c435bb500683066023100a3eb87a49da1063ff50e568e8ea9fe993db369c2e7329d345f1af78887dae0a7e0a452f22e528406401792cc0f842078023100db09e320af7667f1351965304e30ca98b322869e7dbb4dbd9f3f73462f42a07dc150055d54b5b0e9daf5cb187388b0b90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230142a058ee2df5e7afa48a194573356578125e1ff4d9fc951b9bd7ac397c530ae006442193d37727609075c8d0d399a4502301ef3916fcdc79726485ea505e1752f5ab1a7e5ebcc248dad578766c368fcbc31f0310accfd7065905fca8f829aa5916d0302047c435bb50065306302305adfda2cf8d6b8f1886d17f1a22a88849db0275f2c8211d0e3aea2fa39b846f974477025db3c03ffed16cb0fcbfb5b3b022f5c08a250e8b0c779fd460188e205d8218f4ae4d4b0837aa47eac9d68f3a31969956d59487154ff7148c519d42d762b0302047c435bb50066306402307ce248482e14a73a25ebf55e365a8f5eac7c3bafbd700731f952e260d3ca10045f1e7e84bf7b9e72d758f10dd65d8992023064fd362c97efe3eaf384f924f72d2100e124271c3cd20915142d7bb76493d746b982338b903767eaa6afadb1ab5f5f300302047c435bb500673065023077f68acbb292e7538fc8fb6f971370f18e33e7a16c6814e457460bdedfdfe2427d6b633f0038f93e85542df81fdc87d10231008097a98fd3d87766b050c1b55604596b5476120b3951deb041308461c95231e2c20fb414c62d34bfee1cac1d2be8f6160302047c435bb5006730650231009863dacd17669852a896ecfabb201a1d8fdd3f0d9dd2013ae7777b1d7be398b8d55f5cdaf86e1f057b2b96104ebb11fe02306a33e49dba38f50ead4b7c8b91a95f8174330f71f4fc5ed0cf23a5ef448da28413520f670cc2ccd9d3aeae66b7c10eba0302047c435bb50066306402305599b6765d8187f1c0a0e84850ddcb68a60197005e25c881a980551a3f4ef575a2e15b2a2d77c55b191c54e8af66db1502304656fd1e00223f4cd997b366852c6a0b37b4ebc3ba790ef480a25b2dc8573c8dd9c06dfc3e0f773c56ee3440260448360302047c435bb5006830660231009f006b57a13511a9b1d21698de409ba1be13136f0d25d09cf5bbbd0b9a3df5e66fa8726755f672d5c3cfeee2547b5d6b023100b2a1b25420f408aa15466ec3de4ff9df3459eb22f756d2d63c6232a5c8ffac64b37bf51ff33b9c1f5c8ee4d971a2f3cb0302047c435bb500683066023100938b019b3522ccbdc6bca21fbb8470d79f1cc664b03d516607a9f8c4816327beb0b29b2aa1dea18026a0280d68fe38d3023100f1835c0731572c5cdc2bbe09f23359db7020df34c687fbd9a6c004d6095f21e3f53e3326a4cc1b4d6ac91a0c199d44950302047c435bb50066306402305341237d7dee02c9a348294adfe4cda170722db5fce92a498e99083a50cba288df5a07ba12b18b0edce7595b895b650b0230726a1d593a6c0d7e9febe89265ba3e6ddcb3c93c71e9d2bab14203ec8435ac562b562c1151179293a44e57ec3a9321ca0302047c435bb50067306502303275dbb77136085fcff630a58fd1bb81322230be4f83122062103edd5b42752b3aa19220a6d37bb9286357cf5111a3d7023100a9ff965dc18259965031e735302ada19c14d7ca784459b61865a35fe0553012dafedd1f541868fafe37d05ba265dc3790302047c435bb500673065023100fe64cf312671911d59cda667fc67f101223285b75ba6f9d5d8035f9dca4e5dcaba38a8b1f4e87abd5d4ad40ba869abb202304b9869daffa945b1cd32990abdc045f82e8f162de03c39b0c19eb9f2c713aa7346553f5e5faeffc854f78f9824c9cae80302047c435bb5006630640230618a55d2226feb7dd2f1dc62d2eec765015550b7b0b33c6859ebad9f7a5541e9da0b82b46862dee1c65467e5d9b8154c02301cace4ca1055ff8cc085fc036c05c7f026fdaf9423c569d92cc9e069e73d1f2263363bc0259d289ae16782143c4f55b90302047c435bb5006630640230757793250a75f77d79de62bd52a809965de283d391e8fc9a0e09a93286a5338e55af7f61518f2ab19b09ccd9c18cdb7b02301ce11a0d9cee1cd6260230d748ec444f37dbcbcd7a908deb693eec5af1bd20e2390bd48575fa65e4467adbaab493815b0302047c435bb500673065023046741d46c8600b9410fb4c0eac332b80fc1a0cbbc0c8cef5a01364655ebc4782feff008b445fd5205aafc017f01bb281023100f024e9bd7ab12453f3594d7df189011b9018d80c52e1826769b1583be9b7dcfa5d896edaabf1c207eaf29501f657c8fb0302047c435bb500673065023100f0a52f9b426feae4796a9343c52ec63b853c9f02d541cf631a1e8715635f8c401fe852287797621f665f096107761d22023026a3fc920667a12d93a14938b2f5f5aeb9f6ea943951eaecaa4478a773270e9ba4fd9274a51e21dff98e24718002c6750302047c435bb50067306502306c0debf0646603e68926a3e38d409e012316b9b7dfb5a285f4db1e12e8b4a1fc73616f9856494b864cb641e50775fce1023100c3b14fcb0a900536a8e12f1743f3ca29aac9720346224e016dd1e1caec86d3f2f1f33261540e8ef449283f645dbe373e0302047c435bb50066306402300de4382c9bf7332a2a256d14f52baab213734336968a2b4d3d3de5935bbe40f0c7e013f738193f8d0803c9eda612a2cf0230133c4bdee81364f40df46f9e992b5d55013609f3b7d33c438ed1582965d94bf60178b22d77df50e4659844aa62c9256f0302047c435bb500673065023100bebff47ba0b3f7f2343b33bdca019f714b784d194b1081ba7693137a546a0c216f58bd29b1f9f4823d9877a268de79e70230742f3a9f279c4e3256cb270bbc61aff63347d7fb013799dab2121bed16f3c4fd0fb1697bc6b59770804cc3beab75bd840302047c435bb500663064023015bce43f99a59756f98b487a2b5e6387b4357141d206fa21dbe32bd44f7c7479558881bb5c4907fcffe429b1e2bb8c5302304b233bfb3d033a4e62bfaeaec4374690c3b7f46a133aa9b6e2a3563a1d9535fa090ef3250da85f715c2ad702e84f77980302047c435bb500673065023100ab50d0e5116e624be1e0f420cc249b5ed56baa2656dc9d5dd1caaf877a470459f6d561d7c52306820039a31258a804bf02301fec0c481c2abf2729636f105c05a14aaa09caec05560b5bc1fd62a437cbee7e031dd28e5888715bef02013c1cea28aa0302047c435bb5006730650231008148891da3b8ba631c38a93293b74db09d37fdeae9311dd590f3eb740007b03221f910561a16802a17168efa0b5fe4c602306d2d669366a411fe8d53b7b77d52709066f83f36dd28c228269a869de4db2eb083009769086fdd79cfd2b32ad6a513e50302047c435bb500673065023100bde48adb9386c8c78b902fdbede6be58ead3924e337628d2123a583232f94a207581f36f315457dd61a646c6fba4f9950230757e02a0eb557483c0627f86c4c451fef76b148aa0cff6d1aa6c73ee0fe921f3c4936ea5b74dda890299e854f6f7faf00302047c435bb500683066023100fb23c8e8df639603fe9fa25b4a9a2a683591f0e1f4c94d52baa648620ec54c6472aa07392ebd3e93ddaa5085886dc645023100e84f23b98880c95c05f4cf2e4648f21853908d715cace73ecf77ce4310d7e9689aa1392ebf64a539fc6d0c90b1cff1230302047c435bb500673065023100a30dad4808d6bcb96614616f101abdea631f0f15b95ba8fee9fd685df6c45a263427049c5bc6fd6067f7426c553d21f002302c6e33a2d57dc3685140e122e7fcfd58c204bb9095cf5c1b9222894998903b551452ee2b8680446d69f55638417734da0302047c435bb500683066023100d45aa06721238d4afbe15335b5a73d0bf11af35e2146f34be36f7bf1a517433dfc19130e1f088adb6f2a20d45c302c74023100cf77850012d23bc5a98287c7f4abf628b9f1b10654050e293c7800448d3e92d609fdb168f0e40051297d015bb46f9bc80302047c435bb500663064023074b2a6ffb2ebc35b4917a23095a9e81dfa6262dbedd88bd2e71633791a6f1fc94bf828acef5b52fa0b3a8d2381aa83d102305f41d14cebb0d6634bff4411b62bb35694a472ad5d178df58ce2e52e118660a52f542cbc97da0809e2b52b35cefee2fc0302047c435bb500673065023100b31539615a635874ab0576776b5686ccd5ced5053fe9fce6fb89eaab0890f3709b5256be401fb7a4e92b646979050e4f023070e1f696607099a40ced417e474083519e463d71668c583e4c8bbcb8307d2bb632bde5ae0d20603b42030d92481cc6bb0302047c435bb50066306402305ad312a41913259feaa10bf22ee885bc83fe2fd4f26d7221831958479c0e4b7e5ee9cdc2dd9868c464bc9697bd61c16a02300ab8f15d90fc57a70de191beb934db7f3602dc49569e0f55da95f4950a908ece7d718a5be9265032e127fafd4c83679b0302047c435bb500683066023100bf4b13de9e5a9af6c208f8fec7f459176e75e6a5e0bb92cad963c64e56a6bc7d269a618714c4d19759d5f6d892bb4694023100af1481647d01b90b0dffc27a494b67c3e9f15c6d257726dd4bef81d6a16a17816c21e365f37e6814d26c6129fcbd1acf0302047c435bb500683066023100a2bc5dee28acc67bfefa311a97a0c2456e2effbd28906a4fc9149dc824c66e0b939771180e34145274833dae54f41c43023100fceac70b63686bdd34ad198d3222ecee7f07e65fa9abd3ad958f5d9999b79a17e1e1ba138408d61cbb20ccaa14fb97660302047c435bb500683066023100fedc44995c0924ea7d14de1f5f3a3f5a0638912a6aaacd8db8d398208ae68dc37563f78640da894498f1d3ec7d366db1023100eb4625522701415dcde9faf10400504787959bf6d32b4b92cb3ab004dc0f69a62121232c5dae0f65ff904f99ffcafe090302047c435bb50066306402302bdd8a512b7f743c3d7b13c69f1e1a1028dcf11c8f7acbcbf38bed7c23f31fc7eb105749baddb36c7cfddc983cf0c22c02303c6fbd89e4ac2d38dcdcf7c292cf168dd29847c600b53b85f0480728d9966eef33fd918eb847e700a53d196c762e606a0302047c435bb500683066023100f584d77e94b540e282b6e1fe07716b64ed54c811f24fdcbce82316aa1e0530c7f826a108e45fcac41cc6ad09c54643df023100f26c44f461a3ebff336a8ebf83c12548764bb1c8035bfd5d779a29b8a471a829660c69386519fc8dd6603eb2564927a60302047c435bb50067306502302d861bf2eb32a7173d2ce1ecb0dc339b3f459d7d26df5b7c66f2cafbf9735b602403997f19e1acc9275dfb1eb2899d7f02310090914b4afeb675e0695bf54cd1a344c193ea87a8d65b478f212c6f9a76c3a074635e815732378b507bdca549e7b436470302047c435bb50066306402301d94ab9c0cc500ce744978d3c35b9f48a03395b3b546da02cf354cc68fc719ac4cffedb59f6fbec398ce2c0fe08dbfdf02305845824d356b8e4369074b41adcefebe515cc0f3b8f816c5311a73e13420b00e13643bad8e197f27d881fd393962947c0302047c435bb500663064023071d7be3e8e93ac39f82537d814546dce4793ce4b48d6eb9e6db6e11007d76005f979985529952f3018a59a3aeecf83d102303ad342cc5bc3034a1d6e0ce4ae336998cd83740e80fea14afa3ac20fb9d321a65420e7facf2b40dff56b9282b542fef60302047c435bb50066306402300f7c6069157cf18bf5af1b66d712500d984bfadd9a137bdf2633cca24f652c8bba5e79aa4dd97f751bb64e16046b919102302119eaedd30abb5231fe59b8cd6f6f174fe437a2a2a2481e2b28665219d88bba64b25bd7e1f8e0586db3fa096df2b7170302047c435bb5006730650231008a443c46e937bc0fc907a2162216663553fca5c7ac3fe64c12061227be562606db5cee080854120fbdac5d4c7901843902307acdece49fe34a989322e2978a329711f4bb36ab145a9a2d027f66847201b199ac2a18c9749f7015cb2613abc52e12390302047c435bb50067306502302a145a689cfba4f366eb547d55fd0f008db4ac4d33238ce3ece1e11c8155063e027d096955b0879a7910525d0cc5fe1a0231008fc2b5a83c61cf31461a5ac57fc166aa4e9c4de8bbb615db81b1d864a994e48792be1670b882ac13746556e08a9239f90302047c435bb50067306502302fb935cab7f838cd6e89a86f896ee7fc8ca828ecfde9e01e680a0b04698058c0060b19d201c77d2ca090e5d90de2de3c02310098c24f71e8f2b64c262051dbd59efb4dae95ebde658bcc08724e7eea1ee9272b841d8bb25e71abf795270d4d442fb9870302047c435bb500683066023100c0d3d82fa1abcd22a92a79ea4daa6ee1d57c145956a01d29cb8ee5bbca671ca970a43d3eb6d6d456637f97f5626affcb023100b46f62262c333ef0966e2ac92dc100916f13755dbff473a7a81caeef0c36dff1c6ece7494157cf408920ac65b98a915f0302047c435bb500683066023100d79862be117f4589dc6ac54a1d38cea09c8b0ad1d828d7853de0c41cd0a6bb7660b56ceb137531709df125f34f49b7e8023100cb44729412d6953a954ebbc2abcc6f867190df974dd32b860eaaf228f29ba14ff5531232c8618b128a6f38bd309c4ca00302047c435bb500673065023100b3bdb098fa9db3e4d6d864321c724bc1838bff9e41170cf0c700aa2be7d4e2c26559072f5233039d44a01bd8982bdd8102305687a3c626aa88c2376d1acb1768e2d66102a690836351511e7a5634ef586e41890991cb9192c4b495c1dc3848bd0e620302047c435bb500683066023100aec2d29d9ff35459c596ac0d489d1de6199be2bf24820920379f5c029f7bbdef2305fe44068dbe3b13aadc39f42da4c6023100abf86848a7a16b32e1148749f4d50c92b4b058a9acb2eb2d6fda1219b909dfe18e651336a3a2936589999350635730cc0302047c435bb5006730650230280c3c964b3b9bd552fd2cb33c96ea50ff9150218a33fefbf1194d1b475b7f28b57c8957d57c7217ef9bd1eea592e79c023100fc4c367eff4fed5a69d6501bf2cd9931172c33368a94ddfa901e956f12acc3c9916ef1c24401a7b14d606a4e46ddd5eb0302047c435bb500673065023100ca63511286f8c3162e4e62d41d0ede776f74c766c6f5165b8a5a9c1efad4c8c3b6b9eb3155a980ef004ae98a924cf9f6023020886b465721b6d37484e7cabe202a98f52fdf4a53330bddf01ed80d77a99ffd71e4ac390a55cf9505f4445fe7bbf3340302047c435bb500673065023100fd70fc0719ab1b309672330040f11e094d605f5a802c5a2e819fe9238004835f11b185dcfc47ef07dcf2f798fe3ca3b302305e8e915262f0cf1672e65e5f9bd872b69e55b234df8018040e07771867c65b3e30e98a381c3f9fe4c81f95b5b4495db60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300a3a2cca2f87e4452e98022cab4f661f27e18187a5bef99db90fc8209730a43dd4fa7967adaa8439504f9140ddd6cd25023030e842eb975ca9a65ad58414466ec4cbe3c8f5d5c25cd559f81ba20e42025c66f05198e2b858e35013102652352bae0b0302047c435bb5006630640230501406398c8be2955d288df0009f24519e0b4cb1cb40120f9b1595a8eba74d7c51b088cc3a736db4fb7347d8f91d255f023058a401be182245647664c900eb4b0a7b58db25ac7c7d1027f1684c656f07629ab26f9c05650aef6ee1c6ce3cc1b394de0302047c435bb500673065023100e82297fb784e1172989fec7daeea237118ede8ba5934e83b3a7939bd09e264bbce7004a85b3d034dedc45a7df0c7359a02307efc1b96216e42ad09d8b3eff03b4db6197e26d965fb2931fe82ad8e48fac395eea40dd952d0a01e6486c4801315ec720302047c435bb500673065023100b3351ee01438ac0b00a4e81c94ae1baf4e739f6d4b6de9ece57f80280c98570382e2f6bf7409820d4cbe4975eadfb2b9023067c7112e346b59d5b50c9aa3c6e6b2d9169a72567fd866f0078236eef48d6563e25a810965a137e0b7e5aa226db2ebab0302047c435bb5006730650230169377f094b6077532cfb291e48d8fc57421fb33ddefaf657c72c08bd32cb9ee545ff539c3263186935a965bf42b947b023100f6d93451d9720efdfa0b671ccfc8e706b7e9fc2a18c01c0096db0770b3e41863ab3c262fa43ca9af5d309e343bd29f330302047c435bb500673065023074209b62c693742d4724df7b5e8711e774749beac32733191abceee65c2df3ab169937371e0ac45c7b4d8a721c8b828b023100d2d61fa0c2f1193e769480641868de4b9d5cb19aca90cfe9a9f36ccb050179539aef669a8dd36124f311e00c3746068f0302047c435bb500683066023100e7089c6a5bf55633062079e59dfd3f21a8e8600097b4e86605cb40f362e18f1c73d5c0714c98ad60f065f4de70021f56023100ac53a2df72073aa8d14677987d9caf5221fab64e873b8381f093f458c917a6f604f2eb87eadc7bc54c5138498f4cab890302047c435bb500673065023074628cee934c84ea5e367676355649bbd51436947bc38becdfcca1e2c0c92457e2f1936834c3a96ca6a61317d3e899a702310083791c2dcfaf0ffb8908811b57d6f755579db7cf45886a4f99b6cc9b126d4f6b6b5304a9df9d18e4a03aaa89423ecc960302047c435bb50067306502301ed8e3536ac9c182dd2c328746d88c8e6bb49889a971ab8fc8757df1a8423043741cf555135286f1a23aaac9b20e9f3a023100db1c715f5f1bde9c6b371ca7616496566d9997deb526a06207d12092986b3461fe44a8eabdc46e70e751447cdad9c0530302047c435bb500683066023100ea3faf1bb222750b6c342eafa817686c726392780115c1de7e1bdf6e3b583ab90914fd224c72154e549e1bb558b43b290231009e6fac50ff48d08f776588871e52bcdad71ec74a8cfbd129e996b5887f232b971c9e65d2c71472f9e78d8c1cbeaa965d0302047c435bb500673065023100e8d4f0cb71188372b9e976292aeebd1d693bbed722ffb6cbed1a56f1c8f81186836f0ade579c0ce59b8e16eae168e6e40230040fe8a34f359c951b6ada692ac55d6f2b5c0fed327e9bc4a8e15da683ea89411232fa8c98c52476e9b111cb0407e6740302047c435bb50066306402307e7137db24858b060f5f286a16110dec75ddd448ca635eb71b066291aec07916857924c826e4d78a6a9158998753d5cc02302e686dbb7b03401a626fe9686c2fc7d4bcb64c2d92432ffb9bb13f8caf2fcdc3d894111a85929035595944e89e9846840302047c435bb50067306502302f44ee849593ccd696eac3cb7ae0c4db315117c351bfc3fad907b4bfcb6787dcadc5acdd680463bd6230f17bed98fcb0023100966f7d8c4139ec1ba0978d5a7c5eec006177605752f79f23fdc1000a0117b38095ded2bccf5fa0baee8eb043b0ab11b80302047c435bb50066306402300cb4cd65d0dde6c0f1a5fefefc77364d0a5fa5679c4daf4820d3bd74d22bb5ee1d838ba92feec46591b4b026d6474be7023061569c617ff43a02e077d330dca99494ff5d9d1ee6788f64e5c7c0c1dfd9b1540119ff33a72f38e59bc8458a970ab7870302047c435bb500673065023100ba93a4b111a26b7dfcff795a92cd560f7494499ab6f7fc32e2232f2b00e530c6c25d52731c1aba965aecf03980bbb90f0230606c7177d029808885e6c41dd0b40906df2f030ce0ff263d8353c62df899f764b54fe652a03a4f0ba590f80c73ca2a900302047c435bb50067306502302d6630af1013c49c63a29fa70ded44afc41e7a70640a96c7a6d33376e0d21293a88c8752ceff77baa69e52e0a0483920023100c7a922a49ebe38a98af994272d33eaabf7972c44814d5344a664252c9762b3f1656ccccd74456f484f39c340cdd749f20302047c435bb50067306502305c5c7fd7d39c8a173f09ccf77f9e105881fa9fd665a93b94e31513bb5e7a6c54620d4387259252924dd4e72bbf0fa360023100fc0290270787b6e93e27e7d49f9600fef473e4fe4e1f9108242242bf6d4b677e955a43ca68fc0bc995a8fc748553b8e30302047c435bb500673065023100adbe1fe1cad70e973e27622fc7c7c1e769d50f425e627c3444b838d177c904758ee32b28e6d51fec06ddc7d5f8ee001202304fdd71bdede36f5caa8ba4eecfe3df848b01d3a8f718303bc73b60d59f30384107f783437dbeafb91b0095c708b315c00302047c435bb500673065023100d0d5467869f7ad00c26fad7aa163d6480baf78a2fc07991497f25bf072cb8b8f4106424906efcadefb9dce92217b77f802307cbd8f10885cca4a7e2606d41be3dbdf0d7e7096fbb7e9fe592cddc53704f2e31284d07db16c06a32ffb6c9e1254e3ef0302047c435bb5006730650231009c12e6e20b19d02da0406231de7e9a61f7e2fb71f3104dfbfafde5a3da81a48acf5bb053ab81e18c9db9b501c09de1cb02305010277bddcd26d32cc804fd988639c2978c31dc893d105b4f11a2eb62dd7138e9fcdee21df986b345509cef7539f04a0302047c435bb500663064023044c2801ac1021e3e0b74319952305ec229104cc02b61035973b73472434a494ce491eb4e7e166cc0a1ca3a2c838f9481023050c36dc9dbc4252d79158e9290c654f77dee009f90b2cdc6788b0d121e574243402ac9cec22c602584ef2d5fa887b6710302047c435bb5006730650230012c627f4c7b6f55aa0b60aceec7c14305adec38c2fec01d9e090059cd7cc77881d0b4a3f4153b19f884e479541c266a023100a88246f7404db45e08fb2b75777daaeebd87b637f8872f7df8621f04807eb4400abacc70dabd60e4fac2ea0ea82b7b430302047c435bb500673065023100a42d6e02054d76711c122e8fcc6047ed02ef54de06bf0cd0581058b9e309ef453e972ec2d4a183975d54b5222e9b245402300546c9893da4b9e845cd3529adf3e6473fa36c2a0e913c5bb8d2d75af8d6a522bd11c760b63e5f36256afa3b1f13bfa40302047c435bb500683066023100c71ed65a56cc7420c99d8a3ff0ef1e88e2a35172b2baf115c58f2a08b2a64902c33fd94325570606a7179b753ad23592023100d1bfc1ed0bb597564a983242604d9ef0e81030da14b9d127f5b3e1e8285f9f2bbbbf9b50339dd9ea6478af1fccd88e920302047c435bb500683066023100b92aebb4ed6413b71116cae7b76946b2eb9be34f41ee17362ddde98fa12eac42f43e8bc7b302d35a6ee832edf8562bbb0231008916baa49db4d5d163a43b53c3c1965456e4e22c0e7933534b9503404412d6cebe3fe80bc78544ac0ed36827ee26c0520302047c435bb500673065023100a891e09d25037e18b35cbef5f3c447a5c74c760490db4921f7d9763f8a583def9fec61931d6f438bf67c2d3b8fc4e45102302d4a5cdaf5490e9ae089f02125a62a7b73a9c7b96885ab750c4e7801d953adaa9c9e48e5a5d443d315995206a5fb3beb0302047c435bb50067306502304921b14a72eba95fa380e97830421d4ee0f30a9d44f25d5de1dcdb07f66c39de6365de23dbcaee4d395813de0d3d0633023100a40404886fe3fe47c64f4a08cc559bf64c185e0000ec94a16bd9e1f1be0706f30c081b5c4c0b0aa5269535e53233a56d0302047c435bb500673065023100f9e040c2262fc300cd33238ef0fd21ea3ace262fbebe5af61581c3ed7dcf223713182b4f8e9beb468bde4cb735619ef802302973778d3ca309d7c67c712162a5439896cd2dfb4441588a0b00ba30d6899cb22c9c57d8016b734b69a3862e53a7ded60302047c435bb5006730650231009493926ca64d73b91eaf960dce895fd6269ec8e8205f11c686683c2360ea748d5485d69fa68b1af911ce4d06b132d34b023045775103afd34258716623524deb7f942535456468c98c18a1f2c128c052b31b98d2a5539950c52ab400fd85ccc91a0b0302047c435bb500673065023100a01fb55223c31d80067ad2f1b8ceef7d9a25c8ed5f5271c623d094010fad7fc29714b4a0860583fc4c7911808bfb6bcb0230054f18075af28247b87bd5db06811cea1639ddd3bcd885a954be537869d4e7205c6c4986ba98e3077d582e02c46ab9a40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230206da349c5387c06a9a55c0817c78753d7275ac26e981b4cbd285f08b7db913b81a9a0be6983fbfc53a88d51271c8315023057dc753e1f5a6d8f3e4462abd91af76ee69ec98f06c6ce7c61aea46a4e0c9eb92ad5ecf39be78e4c708b09344daca9fc0302047c435bb500673065023100c85489cb5814f457909a0b5298d5c2ad733230dcd4e4df037c178e8059e13e1974b2da63938f92567426bdbc08cf78a402305150a4cfe422cadca7a2f061b1b63378e03039348dff7b79b6dc22ebd37a8fd0f7beaca28068072f98b7a76c041cbd710302047c435bb500673065023100979d65fb70a104427808c017ac02c674fefe631c5c1415498132e7bc36dab3bdc8dda2a5f72ff305d2a62464317fee4f02304642cbba160124d4f817e615b6bf723dcb0b9def0bf42286404ca8027065c4397aee0ca1370924840936cb6b1385fa6d0302047c435bb50067306502301bc7acf473bd2d4a4866800448fa19d8398616ffb3868f4a85111227483c624c7df00cdb836b0e9eb61cfa8950581212023100f689e148b9639186b169b87a19a5eb307477d52fee66637b922ba815d4d711ee9c5eeb78b679c99da3f8b02bc217b4a10302047c435bb500673065023100c8b9a8d256a6db79b32e512d2be82d030475c980687f6caa050070cfce899d8eb525bde92160a85e98310f73caa9f525023068d5184b8dc700935e89dd89a9b37d406857ef4afc1f5f46fec01ab1a59296b05b18f70eab68de1ce6af54c8fbd65dbc0302047c435bb50067306502307936e7c60e73fae1b199456987cacface0b1f97f0a10cc23ce0b514fdac50fa7ad7d1829c89457e31cd0da0556241a7e023100999f192871ae653b5d8d45a6c8a30eb670988acf0e5d30a74101e2b752ead43bc6bd6911f65542d9cd0cd29560dec6830302047c435bb50066306402302bc9effa2e91c41add7c82c374acc88bc18931c97110cefd7a55f789edaad7f367da7338c9d4b236eef8c0ca1ec6956902301802a46553b3cff2ca3cd480286c04ede418379ac805b7a4fec67c0cdaee61ecc32fcc5a7a3fa162f9d2104d592791010302047c435bb500683066023100a0ba99cd6c9883e389fabe83a97c1515ce80073c5eb47c130baa3cf51eb2cdf7676e0935c8e3015b64f435073a7c0ab3023100e1529cb942d7b8a30f5c2e3e34592e52880de1da83cd6388a41a0b6ab675418f1129283077041f0d5e055717117918470302047c435bb500683066023100a6e81b20816afce44d54c5e5ed8a10818f6e99744469a9f12105bfa4bc9ebe13e13e42df1c0bdfc5edbe5f5feb471bca02310097ff7188b0a4f6a3d03aefd22d238a6dfa8d6e3d5c6194a68b2bf4967ffca526b2931e50a7bcfe585bb1383814c438520302047c435bb500683066023100aee7639eb984bb5518884a1e79d0d2ad6dc6e5677d919947ffe7fd37f675a408bc7ec7b25940bb9e7c82878a5a38701b023100fcd7fcc97570de801ccb665e4147bc60eead99ed24829bc9e5e2814622206080558d7d01b5bf4aabf5f6208fabf60ea40302047c435bb5006830660231008c90f0c17b7774c81d6d2214d0333c406860e5be7cd00485d7605645bd87c74236c40a8621b4b62b43a30324cdc3cbee0231009e100749899ef1b84aa4990454beaf6b7d69f5ce9179989dfb19f025ee9a787ca433750dcb3c4c26a21168aa6dd877600302047c435bb500673065023100bd62c27f94fc52b6cf1e8851d5e820233795666526e6307745299b448a4fd04a50c709fd440ac051d190c427521d322b02301fb9263703c002bd23715ace8a8042f284634866fbbfe7abce5199a6ea57a71a3aa82e6abbf54c7a05da9db38315a8df0302047c435bb5006730650230432bc2452b5593afe015faf0aa184df93dd00beb778ee3f523a8166bcc9c2fad61f25d220005a13d935e5b23d036a173023100d5f5764b2a7608ac563a42cc8a9013dd15bcd29d427bbbe47b6e042933ec5925644f0e74d46821d7c4114a3b3cc7c68f0302047c435bb500673065023026fe9b36b1bbda6fe049e76ddc64e822106861f46b8ea4a811ec442d4ab6fdc407f3ed9bfa9ba3b6e536b37047321e85023100b1f05df51eacfce83470ad834a0cb7386222bc624fe6031936e6479766689cb57c2d5aacc66a1f80b6a7bf197446bdad0302047c435bb5006730650231009323a5c5c7f54cf077c67598d3cc685d715e134335808a3bb13274790b9dda344f27242e8339b4f18d208d7f93bedee5023040d1677f66a47cbb29d25ec382d6e025942827de731c6a2f6a8cd8a9f54a035d8a13b75e92042e632a3fbd50abdda2bb0302047c435bb500673065023100fa95cc9f39ff363bf83a5385fe8373548018d85879652ad013deffcd8cb3f2cf8038a2e2f0cc074fc0c5fb82855ee80a02300e8be99f21ba7083c4762e87738c6d2cb9e297a231d0af5b4bd8ad582f5e10bc207a05a90cf2ad74462a4df5539d6dc70302047c435bb500663064023004fc39d1e5e2229adc67329b5cef35fbef2db8e4d5c89fd802845501ce4fa024e5196d16a653f11407d368c5998d3ed802306439b59719854c993ee81f00203b31dc488676d467a9d1d184ff725b384eb401eff88a0f21c9bef23429734c057ffefb0302047c435bb50067306502306c3f35174b66aa01d0a705cd7a0d1dd0985384e92b11aa851f26b5596a9e7da32d940079fcddf04fc6c62f600fc53504023100ee4b32b68ab23b0ac1bbd7f4e0313f78029160352856ec1ebc73dcd2ebd693cd6bb782e30d1f7d2fb825fe8d34f11b450302047c435bb500673065023100f29d327324c01d3578f46b7193b2fad3fef75156f528587b759e98c415168b68a65139bc5970109c876c857dc8a542c102307da18cd082be0386cb024a2dbc7760015c75ad1e4709dd92331f6139c9737f03b0506725459f8b26ed3d6b5d4ba23c120302047c435bb500673065023070b54c914bed7b92abdc78fc17add690fb2ded94c83a3bde0dc0064286ffe07b42648d5f7a8f5f520663dd8e1508e3ae023100c6dd49d1d1d855a5b76ab1597f9f3ea303b8c54c98a91d509cf098f6c09e06af2add9e7aea2a346a439ed1ecd16330a70302047c435bb5006630640230428d12a95710567a373e4d3dda808a10c459b34934c40881e403a71acb8631a95bc4f3637896c546c6cb4d77cba206f20230089ad2d1c5f645a6a9ecaf5994d14e6c332705be8996654e53244c01447434766353e85c63c38a0b17c7a6d1f1f4afc90302047c435bb5006630640230265787afdc5cdd09878715a1239879db66160a5537b4052c9d1d749363925f41615790e94f6153c48e17004364ae5ff602305a0eb922b416e702f3411158fbe86ab861f4fbdd2f3ab717139f8c14a2cbbad0c906a4e5152064a26035631d1f8464a20302047c435bb50066306402301c7546427c5439d024297a95cfbeb009e88e1c39bcd489075b33ca1ee96b88b13eca89735768101d6f5e6530bd35ba59023067d4bda21a9b110d93df048a2ef42e712bf4ff0e1fbf3f11a3a05685baa228339c5c9c2d43b5458164a28ee688e1e4ea0302047c435bb500673065023100f1972892f62079b4ed3773fc08b63354bf9f8ed95093f5ad8e61d844cba162b187b1226ee1855c8fa7b0157e77fb26f3023074e612d59ef36372503952ab4ccfd61fa866461cf89c26c2f6ea789fa2da62e62fa8a03459dbba18e44b5d97a58b8ad80302047c435bb5006630640230448fab464cdd53696a8a21eec880b0fdfd3c88ffb2fa72d238d9ef087e0980bdafffa1848155a8f5372bc16c11c41494023059772633b924f8f13f901885ca7bc80a08426d02cc7bea992c787ddbb9fb5df28626c1c2c5254ab8123737d93ca594f70302047c435bb5006730650231009dfc9fcfa8c40f54aa1e937cd5b89fe05d2c7a26797ee40fd3dcc32e425581d4cd6703ff55c9ff174c3dcf1da7c3cc6c02305e33af20312d1aee1fa73b4a4d614c944713061294d879c5dab93116fcbc78ee616ab463333af39497c7cbe709efad830302047c435bb5006730650230024e8c5a8df961abc86d89e662e9870a2792960384265ad6844e149480257090883f4e83979da7bcba85f7b210e235410231008f8fa08b113089b989617286045c8d114c8ca880496dcbb83e3ba87cd143819bf074c346fbef7bdcd74b7b68186904f80302047c435bb500683066023100d64f7be0ab269bc1088bb16053bc4216e8a9583723e608a3a24ead886b5e1d8ce4f15a0573d931cd1dfb2c0ac46a9498023100a30bfb0b59b3279bd0a3d2af9af68dd14bb3e5dbbeca199965b39734686cb2fafef0fb4074ed4bb674259f76ebabbce30302047c435bb50066306402300d2ecda9e43873ebdbc8ac1ee118cfda27ae9d35132d5fc00b1160a9d4663996126f720f90cd6d97db02a2ddd2840dea02307728f1683dda817922ec68d76cfded0928ab55e456e0b7ad5a36de8654a2425bf3fdfbd9402517b2e3ab97dd61e744a00302047c435bb500673065023100a772c79bded612cacd3a23b798589217b1e85fecf26f5b4515ed80a4d46d149a19259b06168d83437cb3af87e4a9c12e0230645ca0ee67e83a0b5fbc1e42e3567cf64ea89a5ea4583fe9af0a4d4f04e4fd009e29fab84b1431b3cc0f05b093b148f40302047c435bb5006730650230168542e6379a131d707ffb35965ba54e53ba9e271f0087e363c15c8915502f455cb78c21026c3034d95c591926083f49023100b4fa1fad350274910e0d7cc9bd1ce8e95e21856dfbd0e9e47000494b8982ec4e9c01ca7ffd34b938540ed5d40100230f0302047c435bb50066306402303d701715784e142bee32ce2fd0ce7225d8ac2e85ad9abea0d978569a43e55003e35e8987f4f05b1acd828bc5f307f4ec0230148500334af0f5f37d91a429b4d9d1bcb84a28c538238200e4c4fdf1f46946856c697f08691db3bfd0de30ef10632cd70302047c435bb500673065023055898d63863def1509086fe23b1f4e1cae7c11b21b18e02391bd8450921b0cfbb6280d284a8b5d2ccf3fb99e344ace6a023100ee613ed5aded156328d59f6b2cc4232ca4d04368e20ce03f2a39206062253279cacb1f7af1bdf24f94c8076aa89602400302047c435bb50067306502307cb04fbc80ff38b71dd861872961249ba3b06f0f35d84807d39ab0b93e523e68f268689ac8b08e8f38ef80fe4cc546be023100f48e6976ad57d903c7e538ccb0e6a39de61080deec6eda09d80b5148d7951857f66f7cb1540bdbd3f9a0e1895ce684100302047c435bb500683066023100ea02d9952cb1c5f684bc23e22c7bcfb1f38c2b16784b34e3224c2f4ab60555af0b36690fe4fba553ca4b0667e4484d21023100c4f810e6c56e8930daaa1214e6a6f255fa2b82df2387c275c72d367a4dda90d4207bfc439de7ea5773edfc1b7ffe8b2a0302047c435bb500673065023100fa9ee338a6623b04149dd619e4c7b11da476e2e71f1223988d51e88f1226c6f97b8a8aa472a1e3adfad474e36efda28202306a29e496504d1bbd3aa9518cbb24a38649f96d8607564392547e57a764832f851283ba27be9cd7825415dd985ed7da110302047c435bb50067306502310093a33f3e24ee2726b419674315ea3d86e201891206662500f6c68e83e323eb6cd054d88819b7ba70f9adb8a76453d6e002303f195fd173ed87ca497393fc9970e97fed5231fee562c2e23d5bf66b712399838fc956c3b2f519be32ed4b15a120f6170302047c435bb500683066023100e9906ac2aa8bd0da50121b53a5b1bd78aa6f9aa969ab2f8d4fa4c02e787e93d44c7522d683a5d0d7dd1b126902a2ee2b023100b5b122cf81c5960db0a09487c3ce9bb4c27fe68f79e27690f717d4fba2a5531eaf7fd1df2cbe58761d81028f56475e7f0302047c435bb500683066023100f18c97d96e571ade744d642e1319ac874460e157ebaccbb426a5b4dbc0b2e827aef24ed49b8d90aa5328c5084c54d6c6023100a1e26a81002736f717e8d801dbffe918f5f615b41ee36e54d3f7516c3b39623553a000210019aba323e6ebccc56649720302047c435bb5006730650230103b30b2ba4c5f207e3469581109ff394a8bf2f9c02e428289fecdb5fae25ac7a1721e5e58797fef786ae46605038b2d0231009dd2841e8bd3fb2db04486c84e2742257a9d254aa7ef5e9434278caac2d71e7933186040ca3c1fdc59fccdbc14f772800302047c435bb500683066023100d4a20b8fa480fa13449dccf300805c3d73d4468d46d0f74a474953920f3d9bcb7025e21c2e3af92f6c5c3c5debd72cf9023100e7ea6dcb1bb0ca8d0af607e75492aad2565a6f1cc8a5854357498b04c7b2f4c8840abf918fb962f4a48f97582bd35a9b0302047c435bb50066306402301af950849bbfd406b2c368991366acf1f83e2762458c2c8710b4691f3ea7c06b17470eb5452038205282cb9909ad1fce02304f1472b62f3ebbad20f4ef96448441d3c5bab9977fcbb65d879dc454c09b81b7b235aa29b0bd7e187c947ecd854133560302047c435bb50066306402307162c6f751436a70df1c1928fac0835de3e9379b86fed24d0139577333f9559b6720175e5ce92de328964b77c3668fe80230439ffc4581f9e078b4fec6ddde3ef9f57dfca6cab03cce89bed3c2776abccaaf6b3208f0512dfee89ecb4434b67272230302047c435bb500673065023100863619e55ab17ee22c7fae46a4afd61b59ebe741980a9228eac8bce346a80add5174e47f8e0cc5cb868b3de5f8add396023056fc0c66ebbcbce9b6f998e177b235424704c84d3687a7d72cd1fde9a8d473aee16bc3bf144fe6c7c1c15c333acb6d940302047c435bb50066306402302fb6d1bb6f8788b407ce9bf847be991d8524b3451253d330e48b4ee621ab98d570808fc27b4cd82b8bee7a6a329b3e7e023048fdfb179e25cc90630c5925e348978968e991ded40738f81a0a2bb8e7dafc8b7799e77e161161ff0c16fc716f70078f0302047c435bb50066306402301816d111baf8c6525e418c0df74a4f2bd688fdec8b96a56c434d92b66185ba89f585d9efe7eb7c2cdc477c925f424c9a02304f1aa11fac313a6515bf891aa91d0c743c9c4c25253d9881b3376905bcfad24fbfc0ceeeb0743b41932e23c981f68a2b0302047c435bb500663064023067b1b4d120b4ca3bf4510e656654e5762d9822effecd122fd927fbd30355189fefbe140f0632c9236c266847f3d86e8d0230148ae89584951f2bad920b21597073564440ce579ee96f4013bad4ec6aca405fb8ce0a655b5b56efb3ddd5ab9763faf50302047c435bb500663064023066917b92e18ba394a26dfd489b2a7652b0697219b2a36339b7ec299eda8cd01853bafad1d7b46d3f8a8fa09d516d55c70230774b180529eb578ac122a3ca0b79bc43f8990ee9674412a950e74bf8527e4f24dc69da16b252bbacc71d93aac85022a10302047c435bb5006730650230679e431f172101c025eb326d79258d2567f45e78bb52a595e13b61b40221971949a3ceb0848d463aeb258e83ff33f0a902310091fd60ee4bc46c8d09b920417a58885a43c3c271a3fead034a4544a3d3aad8398c5684a30c7d40345cc7bbada65267ac0302047c435bb500663064023010b0dfc9913259cacc61bd5588bf97cb26ac4ec751e3a9828a99a7dd3e44d9bd30679e525574ef4c12941467e1c0fb76023030adc4a6f6cc2206bf5d90773fc03a1ce3f2fa74a8db2cc2ffb6ed10b00b48bdf6acb5725fd2fefd717ef82779c375d30302047c435bb50066306402305ee42ea2b8595d9796617379113f4b22df536a3137dd32ca11338c2b3bfce92d26fb1f5305899ab26d3eff9f2cb3bb2c023019b2315b61d735061dc4db5a4f8eee3d2c1689e94256966c168d2eeb341a562cf6ab22b656153c44c17347be10fcfd840302047c435bb50068306602310097fc842a86e6bb34be0260bf7e8c0a8229ec0e55e37e24ce1b64e334c6a25f96afb4ecd3e8f44a9682ee99777060f91702310097ce6faa272739480f2195de662f44722d98b686839325b9dad4e037d6e8a8782c54d98ecef8cbab40b9ba7fc2ed88e50302047c435bb50066306402306df89cf1c6316c6639ede44ae8147e8e27d90da14348da60deb8ca2e612e716a164757d5692e18b7eedce8afb408923502306644d808c5f04fd85e7a3cb469594c7fe336594f6d3f58bcc38a1a89314986912aaebd8a0318a4d4e53603ac055805c60302047c435bb5006730650231008e3e86dfa12e34a19e63f15b936c252b2a381fea2818f6895757f3d51095f86ba2086d70b5839a5f3f7393d56679ed2a02302b94ccc8e59ea60c9b23c5e8ead710ab515682a5abbfc33a26b1b52798513626332997aeffef994b2d667db832ca7b9a0302047c435bb500673065023100cb8adcffc20f5f0671cefb1690bcd20e692d6cd2d37fff137d80cc4012762ecfa459c83dd3ac35943e77f154bdfd33ac02300bc2d53dc414b1bebcfcfae7fbad173c71c135e1c2d9a7d7692861e3e2e79611b45f37e6c9cfc8428c7e6f387528f6170302047c435bb5006730650230555f71b85d151a037d029885dc6bc1afe0c6da4d9d6c3d329ffed62635e0bab2e1620b59746f42301c58d304490ce5d4023100ffa2d85f79584608f97d6992b7e4aa0640df46a02be83c092b7577ac8f5c39aba905878447f1fe92abf26e0abc9be64c0302047c435bb500673065023051e2f6973c0d486e5f89f5e82917eb9f76841a541c471a0bc526c7cbc2b2f0810702330dcbd6ec6741c6342d89db899c023100d5adb7483fcd700e146249b3143650232df903abd22f8d1f4ac325c6f11060469f58587521cd9eaa5fde3acbbb4506d40302047c435bb50066306402304c5872af992de8d07a2692aac5cc88479980eccdd659b333c1f16fe99b30ac5fd4ddeb0a94d1ea6979d836eab8d165a902306bb382d2cb98d891990d611c5f35d2874f42f2ef3de951e5142e3ec8498ac4109a2ce24a1ec6183a26033cbb132d01090302047c435bb50067306502306ab599bedec92cc991864c2c60818ccbf6b63e484ec3ccc9727ae394a37c52c397e8a454c823ab9f259aeef28a6d9f12023100bfc45dfbeabf7a011f929645d10d4dde37b3b0ecdf60d0acaab4c566031a8ea625ff2c92271e9808c8084ec08df658d30302047c435bb5006830660231009a342eee6cbe8d310116d668319eea31fa9e4ef10ae2ff8a8d1654929035454004aa3d0fd41d8675e108e420fbb53593023100a46f9b751826d7ea0859a84edd356a10ed73070a387abd65b9b5fe5c83e1677a07294b35d69bd3c52ea8fab20825224b0302047c435bb500673065023003c833f2bce80a8663ca465e84b4d599a0a22cb9b35d9c4053ce5354fd3e0c3f7fa8a5c15588487469364878cea54200023100c094f778593d9029431c488abce23d5a7fad2e69c08e4ecdcf014a8e5761b5376cd5aeeeb29dab9c00d946a23aec4dd70302047c435bb5006630640230793000ff5376e8170855240f5ef705fc17dc98a005d29a92edd5ac6edf2a5498ff308376e7278223f593097212042f240230034056b303706fb02d3609d329c35440dd1662c100cdcbe07ae9ff5f2ae971c2751c17c3e944a13360086082769287f80302047c435bb5006730650231009408e6b94d43138b1dd8411a34b4c27ae8ca9e6a2bd9f0b69ae8448448a73d527e18a8846dbdf8c99b61d3ab6149f57f02302c56d73719218cc9e9f407d570ec76ba9902c6b8a1bb12c2b927ab1cba2179fdba274f13bd327a22a2a7070da545250a0302047c435bb5006630640230710cf49095e64fe0263aede3b2498290bea88c67d01bacef6790711f4b15f7e60cbd6b7fe8de826016f73054979ba7d502304ab6b718acbbdf306aef7762b8d1032ff121a59690384046b098ac15cfba3f766d265cdc1c6863d0606b68876c7a4d250302047c435bb500683066023100cd9f724ea2cc51619baf1d9b64824a2b439a7364921cd21c5be88393794c9d041652bb37b4a1c2cdc45e356e608f7012023100ec696105360cf226dfd7ea66aa9f318ff3f8e48f0834e60f09c1cb3942179bbb5857bca244020b4d64a3421f626227490302047c435bb5006730650231009dcc43e4d06b0a26a825127fe53dcf7f79ffe6b5d4f92932e48ea3b215517db4403d362c15ae6e97023e8e29260691d0023069aba8ee5a5c5e615b4237021a17c35278b00c8ae6d9f9329c1fd78dfe52d12a5882bfa0173b3ff82aac513ad30f432c0302047c435bb500683066023100a54bea05f80ba4ecddcd9eef8f629c0bd6ac6e24a56d2529bc9119656945dbdcf307efa97993b50a1ddb59dcccb941a4023100958bb11fc98a5d5cafa1babdcd7255eff32ddf99a729c7e27a98c45721507771d27750c9b50c34c21a8182fb24323f530302047c435bb500673065023100cc3c4a418042577b9c669df57f3f7d9cbcfb27c059b28967b74695904df25d46988bb8006a8721a10fc4c013acf3802102305715a3f4b700d2dc3d6499378e2d7ce73126950d668d32fae63b5f7e89e32ab6de8c1aba6db788923b63773717e45a080302047c435bb50068306602310083b48cfa6f2900d61bf815dbf8108908ee91f0a5e44e2a85ba08fe05d417a19991c521a109fad5b755b66be1ebe4c6c5023100ca59dc49787f8a933dbca3188c53b3d092ce18995f72099ab7a226c729ae946e8b8cdd0c9e238b2a4c98fd794e461d4d0302047c435bb50067306502302116917f7ddab21479d41ecb9edca10ed6c83e42eef40f7bb69f4c99d7275002f01fa8c04ff1f3accf8aea959a5b171a023100c7de8e50561dfe369e2da2f04284feee3600e4d16b50661e90a2caa19723324ad994d22ec3993a7974207bf034ff7f0a0302047c435bb50066306402301b25e21b05385228e954d7954a91d7e92eb96fe66eee1d0319e5a5121b24c7aab065ed0995f851e9540718f94c1e3c8802306b4b81f083d342f31bd0294b777c10ddd3739cd845da1211b227a939c0bb84ead531b33cb77a1855621096f6eed495f60302047c435bb500683066023100d1c03c90ef1a71f26db36b54f64e523e6d409db9d65375045457c67e48ac41fe7aaeaaad46ca0bd620332d50ee7e4e77023100d16c676ad2780cebc011e0ae307e89beaa01ca2ba7615c1b86fa82143ab57fef29743b31230a3006032fc1dc3b0bd6610302047c435bb500683066023100beb67f98df3aacdc491676cde40c67d7f86af038693bea54f16fb2bb0811c5d60828a9c378fdf5b698c09943d680f21a023100efea7e53a3123f790381ca18523e95fa3583cd6681fb009d43ec3f88ede3e599794d7249a7af7bdfc915e95eb1fe87aa0302047c435bb500683066023100e94800719f7a0c223b81080c17f3ad97f70f69e8f04690278cf0ec5fe85ae5dec3a37f6059a86b6f95a811f602984309023100e59da5717d6f4bb20fd33a69af458722353c61bc8086323a8a81e344d9b7876a6741f7cbddb7145acfdebb1dd411ad790302047c435bb500673065023004c86fd3c7f53d35a5947f0d43efab36e16e0d013e0b4d05bf260b7373cbb20fdc1dc93181e1f5fb674457fc5fc07677023100f1b1601cbc40a4b4505fbf09ceac3a526432cffab9b82c2408682df8ecfb57595d8768211142077062482f92f7858e6e0302047c435bb500673065023100eebf17c6dbb015045ea67236962b5b0aadfb10dbba22f384ae73f0316bc14cb224cda194bfceed6b10de136ce302594202304feaa6008a0a4ed55b5d79e7517abf96565d2da9c0985ffe5a0274f522f761c9d6acd193201cc12e27d82e78684c55420302047c435bb500673065023100d91b3806878195e6c8a04d06e6745899acd02dc9755bb306df95c00b4ee7ddb643ef728cec5014c3fd6cd7825b09b59a02301036a008b6498edb63a2a8f64d6d054371a4cf8aec2be9e3cda41bf8c81c7259dd5b62c52b46d19af058efbe16a41f7f0302047c435bb500683066023100ceb53c74e849ef666b86c493d314af912d668d93f0aedffe8fe358140e38a3297f0a04cf6f48bcb267d5791c7d10eb2a023100c4ca3d42dd98b93b8fc09de808d950a6820b337a40ab1a5a9e3eb53f743f5ca196fbccc1de5bb479a069d8ef0fb3b1c10302047c435bb500673065023100afadd0cae28cf61dec34276846f4cb380ce66f43a5a33d1b8be8dfde0c11a5bac0e3bfc98366d8bb1fe167da22fbdb8c02301a11b703f9472055407963a1458a202a8c387b82c04cd071199eb9b90613c0ca4975272db0efea9056b72b687740cf9a0302047c435bb500673065023100940dcc321b862b898988fc5206479170ecbb4d89e7df7091b01bbab8867e625c44d4f69a606d0c78c5e100d393d7e3a6023053c8bc0de8d81ba85498e951bb2a6a3bf291ad7c750514d93833ed9b70f999e60acaf21ed16bf13045fff84068866ac80302047c435bb500683066023100d56e76b07494817fefd58093de38c94688f73de2ab6364880259890597366656e0a4da3fbbc99b0c729f1bf2690c3836023100dd582e76650243e0eb4c2abf4b8e6fd7b7c6c79dcdfc82df9151b294b717958a0fbd2319d7db0a29d166d1cc6344f5290302047c435bb500683066023100f18c6707067d82480d00ba1db9494903e927ee6f878106c17f9e885e9d26ae120075de8533fdb183b60c47390694face023100c99722ab308f0afbe120c7162dd6d27e675df82ff1a075763060790bfa19cd42735a8132902da7e542d2daaebb452b2d0302047c435bb500683066023100c3044493cd36b0dd3ddfa862d4c60a32bee08b32605690d6e3d77ada0f30d273a07c21d38038c269335b0bccd9ee07dc023100ce2a81f8c94fd8210d3a4767a18479831c299b5144a3f95ec20b35084763407525923a425404f6ef2b53502dbcb4693e0302047c435bb500673065023100d24f5994b07337bf6305c13e5231b5096b19ed8b12d8f04d92c741aa3c755563f39e8b5e9627ad13d5929187e8e8c6f3023066d18a04522457de71f0436f0b69e50d1fd2ffe936874382e4c490607612ade32b522aa3a831b473f843c0ad02e79ac60302047c435bb500673065023100e6464bd89731f8896d5bd7d35f1ed409f8ceeee8ab712ab6c29513ebddf2854bef59e93ada96962a343ba429c0a3e81302301e2fcfff9e21b54441f2cae252ca60a6d76b00a1f6c89d2c79794a136ca05a883ece300500d48d6759e053583100fb940302047c435bb50067306502302da76317818a4470731d4568f57f27d5df04036bda6e8ec0bde584d9f08e0512fc56055ea869d5038cc812c0ba9a81e8023100b6ce43edf8f9cc2ff944124d023ccaf47bcf36b4e5a0695d0f31e81fc6c488a7b8532f9cfaee8a39d6562ed04fb939d50302047c435bb500663064023061ddf005aacc76a6c746771edea1b6dbe1ccc26d27fa11e129f80fd10bc0905abcd4d4be66a5f71e7fba6bbbe39505720230320bc78134114209f356f98470ed0202d92dc29285e589e4339d73f6177fa09bc67ef7afa1a5a9da914c7d47b24eeff50302047c435bb50066306402306b88297f6855bdcc869fe4d9d8a912b4688c185736a5b94008fca4b4d1801ca0d0a3e854cc7207c43292565bb8737da602301f9ec5cbec14498f2d425041df5b28e961f92a9b6d5a83892dd697570bd808d86bafe43a5a129f4cd21ecbfc53dc7ab80302047c435bb500663064023058c9ddc10a109466f96b9dc6fce916b95f9be0b44d1e7ea710674a4aeca0d1c477be468a31ce507c07ca57ac311a95b00230089757ea9e3f4e8db7a45133390598774d1ff034464274ba6f9db1fe702890a115b01d2010aeedc20b28c8ccfe0cad6c0302047c435bb50066306402304e265aa798cfbd3c0d1425e48b494cccc79ee174e5a5864d4dcb3e4f5cede55cb44efac3474ebd8f894d55abf827456b023054abe92c3b41ffa1add33c64dd9378014fead087a8909dc7e570bed98ebd18c5d30411b8217ba8341a22c3ec55167fa90302047c435bb500673065023100d07c93faca43b2b20ff963b7908a8ffdef8ac42037a0d58e943954da9aefd8235eac33c802bb344d3ce6ae94140df6360230121a2cb7fd81d84499ba5e2da03aa7d4a899147e5f165073f41e913eb8cd722c4542fdef551970ccc24baf48df12f13d0302047c435bb500683066023100aab3f2d6387fb732e1ed5215930d0ab3b53ae37a7721877e71d49a3527d36d4cccf9c75cc0bc41e59d069f8975e4dcb30231008f965599da951b073ddd0e7b8207a370e6105f39941e3a5eecf45c538a675cd19da6f753d03f7411d90dcae8033da90a0302047c435bb5006730650231009c08f7321fbf8e94b45d94274f3472fea7a6fec9f4927e594381ccc89fa6aa5e111f66be684e41a1596230b2568e0fc002306fd3e9adbfdb4e4fce681b9b645245149c9a8d33366f44455535f7952a3f6d63f32f004ddb3a439b5c4476f7f7aaefe50302047c435bb5006830660231008e4c489652b9b87c3c06db7a61ae32764c3daffe4cb1988590002d23d3cb3afdc48864405e7173e97b6048075419385b023100cff698f8cf175df3a7ee09342a145e5c22861df4993fde679969f606188e3e0017aa98f6a68c263730bc4f9bce9ad66d0302047c435bb500673065023056236e8c529d0362f8994f86a15b374b3f645175987fa33b88d1172b270fbfd216b1e59fe79cdb4c4ad5cd303b55361e0231008a975d7f16d08dddd9bbc6a5f2a1e032c983ae9dc19b7bd05b08a1bf8997a1b9370b81b5e233cdcc27c4f47421b974420302047c435bb500683066023100947bad889a36dfd9c4b61cdd2773880b36e9d3634a139beb316e0efadfdf603aacdacda9aecf93e982f695472cdaa991023100df3e801a9dc420337111736bebdc7701d15f11193b2eecf31cdbaf8b108774ed0d5fb0d801941231384694e241399c970302047c435bb50067306502306bca3c7eabfee06e72fa46bea0a03e0c5523bf981fd186307f458462e92090e9b7355d20bcc121473f9705237e6d7086023100ce5b83f3b036f0e451fb07da9b90796cfa8240e016dc3d798094c6692b28cd740587a9a8078e46513465ada8c9d2c1350302047c435bb5006730650230304abb1b6ed49d7898bf6aa769f1ff989bb9bf7885ead24e939824cab8fb2f5923645213299e9e8664adf5bc9bce1252023100d6ca49f4b052c9006ee0b079f27d709c28e0b50e8b5ae014f3b597f7d0ea1b6f992774f412e5b7eeaaa68aa5623641700302047c435bb500683066023100c9b8e65fdf7d0b1a2ca558f8985a8e83e1b78e08692e99df28b0ef8e3fde15226c391bdcb2ad31539c8753b8941c554b0231008833b3c4538f529ace3caace036252817dea1fab226cd2d8e2fa0a85e8fbc4cf0e4cd15965eba84d8c279eaaadb9d8de0302047c435bb5006630640230672d15a9479d3904214cd0d1f9a2084294fc8a5a09cd6327ade263c4538d82462d7647c117e2ef85d42bd9b40ae57e6f02306af5369536305f3c067e1a45176fca9112e4e23a013a1777500570d62406fc9160dc8ecd8ffbd2163a03a5c0e6697fac0302047c435bb5006630640230246843b9fc4ee1d61e7619d4326048ac040d91fe30887c2cbef26caccea7221f4faecf54f5924eab4b3350f0b1b9fdd802301be82fbb01275fba60f2727ecccea95dbd0b567cb108342d84e8bf66bb9f5c2f99b4e52e2b89c03745f13d741f1f18990302047c435bb5006730650231009cdd5f92f2b1143e59225bc5a01e102992174d5770b2fea074daf87104138574defbf33c0ba7020d8c39e4d41b63d4ca02306872107696c3bdcaa7bfd85ade0d096a52f39c7c9b962693af67be8ca09094a54baffd1b935329806dc7d1f296862e270302047c435bb500683066023100e2f9859646e3150da3a5c3f913dc5cc3a1d648a8fb533f6be4875d254e68d8466cfe0995430163abc7cfc2b836960c960231009bb44b43ecfb5b50310c92d17d245bd689ba44bd8882e5d326a2c3eca3390c8112a48427aef786612f9d82cd15ff62850302047c435bb500673065023100ed744ae138230bb84a3ccef3982713369f9e5422b8d429539662372c68b5cc61b5d649ec0e97704136198f3566c97f530230459408f6cb4fa3a39381117a68caa53284bac3bcac75258082cb7f4c2d7f94246690b84377acd8a8555ee14eff6536e90302047c435bb500683066023100d86e1d8a2f33932e6d8c268848bb5d46bec2668a875480aa112293b78d8687844ab40219887e2f341c76a5dcf9adb457023100d78c300bc47fe1140a0115d4ecefba13831bcc2452cc161141293394cf821bec01f714f77d4597a138f750aff40350750302047c435bb500673065023100f7ac49882fe8aca914fb8e2ba38418ca3ba680c5a34562e21505d99e92222491baebbc1fc9f2ebd1ba35ad04d63fdc9b02305bdcf25af47b6b9ba47a2127a57c67753b80863ac8f1a423902ec6cb63a5beb10a2e57c4d70d18b5410c4993e5ca3e9d0302047c435bb500663064023045de2b060eacec7f80588aa23dff4d963865190f8129a1549e452ba077adb013e66b6766b924a5f5f847b2e58cf4836d023030c40d8cfa843c71b9f179d053af9b4a07380260d665feb78beff307e3903b6297f868ca5f3498b60aa2d7334787d8560302047c435bb500683066023100be34ea30cebd399978505db6217ad2201f0040e30edabb192c1fdf8dd3ad436eed3c614e862c191d069551ea55266844023100c58335813ab152e6a190392a1b2ba23247572fdaecf19767315627083eb5393473086bb452cc119f571c360d19e812bb0302047c435bb50067306502300bfdb77b91fd21133dc0a3d9f67979893c6dab1888b4e96a123d0bf4211000296991a7f1b23ab3bcdeeb26a159a46934023100eec66b8a32f2d84e8df9377d0ef186efa17296581ad44a14b15fc2e95523440187b5f811aafd94db3cd4232101eb3bc40302047c435bb500683066023100c5b66a0abe7740ed3978f6f8b539e81c52401e907f81c0b6bf5597eb7e2dc58184bb853ee7e4366059b67592ae88816a023100f95c852c9bbd2c93510dd2ceb76535a445697d4438249c143cc3317cd148f3dd3b6ae6623195cdaa374d165dc2f2153c0302047c435bb50066306402300294e2c70b4ddd8180b11120a563ed20df98f246a675609bc88c63f9be1a4c69268d90f4e5cd0e8705803f15570aa50d02305a1fe3f711558234704ba461bff1064bce4fad9602cde7e224024ff4f253b06dbe06075c147d5cdf4a7004b6ee972fd80302047c435bb500683066023100bd7ee3e9552e7accb5a6df40065611dc407f86e15e1157fbd7ba33fd3a5ba2f4bda944ae0698d77622af418b3b5b4492023100baac1608efafcdd22228098824ebd55489047cb4dd894df7803f488a0498fdc11354cfb69d9e98a71de52057ab4a3ba00302047c435bb50066306402302ea8b5be8fc1ca9a269bdd48cff62792f35c5733bf3c42cd77e90d57a86aa316768faeb72ff0478fda7cba2c51e3fefb0230291c5bcec7a34d1111cf696ac1bec36315054cef0a3f3c10ccd099951eb1318a1fafb9f871fafac3a1b42d6da6df97160302047c435bb500673065023017c9ee5d8a2b88438597a8df83cf4f929934731edf142feb67cff76413de6a892a0117b36d68d3be9f175204631878b4023100f48fb98b4af5ea59daecc5bd2c9093b5e0c190cec77b6df718ead665d865eacf6f35537d2e3105ce7a0814d1452dbe580302047c435bb500683066023100d55a7b993d022031605a52539f2a67d40176a24eeb49a42d3efd94dadf398e9266e6a800d39451949c6997cd2965d31a023100f9329f008000e2aebc4d224147ef88ef75a72825d50b92bb601b3c98fded21c18cce38dd35ef3eabbd7cdb442ec5c5050302047c435bb50068306602310085625a2520f86fb23f6a0968ec80c64d22315927950d2a3f3402749f0205da6f8c0bfdc859ce7433b13476382d6e511402310087947d7d627450eab56f6d0969d6b73389fbea3fd7948bc51a36c192b2cc958c10cebbb57801bcc5383701491bd6cde40302047c435bb500683066023100ee6f16967e7c12f9b1da2cdd1c6512f21d51b7ef026333c7b71fdeceb4ed1cd777ae56cd9ac4fbc3c767769c2810126c023100bd43faf44d0d955adc18c1bfe6a0dbaf044f4717251b40d7f6457b2dca1be43a10257992de2e8a7f92d5fd7787d3a0090302047c435bb50066306402300316b055304161be308bf815737abdb0cd64d3622d5275414d10fc1848cdad0d59624c9715d507a76ede086c0908efcc02306f68a656d1cd8d8f728f16f90529d54a09f4727bc4dece45446b6f1e5cdfcdf06b04e0eca84f9a2583493ea5ab1f3dea0302047c435bb500673065023100c6ed7296af2ac6b603edb84ca1da232d1a1abe39debf48118d1ae30689887b07b93b7a8f6a1e45f8d2ebce5afdeb20630230671cb2d1dabd0484c78de7f20ef9249dec7101bf321de58512f10d2467d5f65e17d19ba97185a92cc4811d44cef6584a0302047c435bb500683066023100de015bd00a34d3c1246b70dea9a5e3895c4474446f1440049b6594aaf23cffd635c21442c8684b58fccc195f1fa9fc8e02310096c9b5559757e94158efd3c7bc31a32f1c105ca285d46366b5198ac4a8a3f385cbc7e65f7829e169de025d709825e4050302047c435bb50067306502303ee1424bb4cc49c9c5b978e5bfab59b3eaf78d94437189ebfaec0648d83a07fdb2dca8b44f41b8c94e54af7bea901ce3023100b90db8fa29ed3b02363284336042e7578c92d1157d2fd9443ec8448ba7470949d808f2ec16bd3019bc91118132e814d10302047c435bb50067306502302350fc68572ae49e02cb934211b77338a9fcd6dfe287113770b9f55f7491182973eceb49fae49e32eb6811f21b7e10b9023100fe956f9352db3a8f4efb3bea2d3b1b6a144d481e7daecd1823d79b43c3461173b3edfc9c7767e3de584373dfa50a3c650302047c435bb50067306502310092ff6f8c86b7f33207baf42b2037e14e1e607c973add622fff1aca3798181c709b6642936b1cfc27bb035d51df15f2b40230684a01012fc617c665a699f61d68670631dc87e5dfe1ac248ba0b6bd200b24b5facc9081d83271a35908d5af58fb08190302047c435bb500673065023040d49286e83ee2b92fe48d7de0026da6071683afbfd27eadd71a2a240a096b8b65fa64100af7e09fad5a2765b892bb38023100804f5c48806c62aec859c450e7f1bc89c4ced1525d706e200d97b462c87b284c81c83631e661837bedef18db3a0da5700302047c435bb500673065023100b52f5e16f80c77ebad2a1519efb0a460ae6ac9740d5f9c31b5da2e3518b44862c66941d57a2057cf91a708c7700344f602305bb69ac15c7d9c1d0895f327550e4d92e5d948b8bc023144f2a4a523891c690b1f1af2c8987e86373b2e008cd0ddb5090302047c435bb500673065023100e017dd253a1f90b788828c30be94d16ecb6ede60e7bc5bef06689167196d0e9985ba4f7d975d20d71fb902cacf8e0b2b0230379eb3a70eed55c4b555bf44fd0699a5994d574121f8ccc58a18ecac5a9c29ea9e807ed6007710cd7323a7e6c8effddc0302047c435bb50067306502300fdcfe3a3baafec901d65c6ae1de1bd95a33d6ca5777c736a26fe44c4b233bbf5f3233f19237cf9e7f2fd97c6f896d8a023100b4019211ac05cd26ca123bddce25e4de5aa20b7cb764f214832a2c0a9f64c4fa53054092358c48e113645e1c06e08a4d0302047c435bb50066306402303decfb65865a2d1b690e073a476ba873cf46c5d0887c2f277ab04e6db703e773c82dce1832d5cc091d28b7c7438e62a202305dbb63ebbaaf66a0382a3a72e7543a58c9ff02d86c1b4bbb0ff9ab0918f1f132451f79db96ef10b958600f81ba44de4e0302047c435bb50067306502307f7e2720faf14df678564834e4faf5db45346016e51657b06e8b50edfce7c3be12eacb696e8610f515e323937a5465aa0231008c1c33183b3491e31722416678d93ba8db182855b91afee25d354af6950e04ebd8f135c5d7409b6dbf4553dafa8cbba50302047c435bb500663064023043b89510bba4401cd6dffb7e2201f6e4fae8e4cfbd0bef8d060f0edd4492b4ce43612e5a97a4e1e289721bca228b887e02301ed0b5079931124ef9d21a55d504909ddd2f95a2a189de7daa79aca0bd65f3e2be403668524ee9b50600f84162d2b3780302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023019a08e699bccfff7b0e2afe1f1699e4c53341eb8ee6e2eff626dbb040576c82c09d65b8b3d69ae599a3a1492ee89c4d0023100cf12c1274fdf75c327025d488c7bbf32c869ad8771a8eb9216e378e97f0eeeaac41159991b5adc5483c4a56abb9461830302047c435bb500673065023100f6700b5aae843fb6a0ff93f2511198335534b90ed60f37394c266e60b83e935bef5323aaf742da5e5534d2c970b0ebf2023052b029ae7ec33587d18562d98f47cc4e8a6d71001a08d608ceba7a439c63931da1e8061e7bcb9d9f63f64dc5eead0b300302047c435bb500673065023056565195978d9becd67e28152bea8332ccec02197ec30a106b8111fa9c8e1b94a1ab10a7756f28eb8946356e21909f3c023100ea07ddb8fefcfa868d21215c817802d2b8182233a88403c66ac32c938de4f9f872461a4e7e1ca5fe96b8d429412147f80302047c435bb50068306602310088c165a5feb6efa57ea17b50758ae6d9b3f42176d89db71e524097508c2663f3974dedbce3eec0dbf5f114e6bf8217f6023100ad561858c5d8be07de5fb3042b39c4b954af02275a1849a94f65a0caea701492acf19a71727c05481926ee36699d28cb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301120806345b6ebd84a68005a8caf9fdd9b88bca6aaa3a63213ed00a03c00782b6a7c9ebd2ed10374177142788119413d023007c143d15ebb62e9f3638aa02f34cf193ff8dd5dc4d6874889dac009dd8acf91ea4a959169ec40461cd8c9d860b6d8460302047c435bb500673065023100fe627c1992d6450db3a8563f71b9076974a1114034872e2944e6f618bb355c9fcab12399b82b77162bdc3a262c00a40602305be8bd7832fd32cbaffde117731ed1f600937394be454eafca2fbc707bbe22411d6066c0aea35f8b716833a0a1ac250f0302047c435bb5006730650230701e8e1e79bbf91c885dce686da71485c283145c0f4b7e007569b41dda7a5de261b14fcf4f2df9859e6d776cb4d70390023100aa265d76b8500649a8b465caa62c963a7d715c1284665e8920f6a21f85017f97228276d4a263edaceac0cf7d08b25b180302047c435bb500663064023041a984a8675e6bd6c38bfa95f1b8bcba9b233901df5877ba38adfa09b334e095dea4a7ae322ad65b8dbd8880f3767acf0230775c9e705f4a1c0853ead355252684a807ac7a65f3cdf03686add85e09e26e527900060a9d5c7faeeb3e4843060201620302047c435bb500663064023066a56712c41ed0457ea67805fcd2deed6db49d565f2dba13db8b783205b9aa1c83dff8532f360ca26bb1a15e1151a5be0230409989457ab0781cbbc451095454d529cc775ac46d5e1dbc88768fabe902777867d58e6ced2d06297b3a99accec8ac820302047c435bb500673065023100dc02b0bb073e226b04f6027463b33e8da21fbc8124093fc99324b6ed76c10a715bc5168cb86d77712adcc0a127f5c7af0230307847d3618564d742e0a32f8d8db2333ebc16d50370713c5f44d8fa2e2bd6315c2eee6771feab3988011a7e793633a10302047c435bb500683066023100b0a9fd68f6645e77574d50c346935be225d56b157da83ed37d5499bf14352fb049430c8a9584708b28513a460e7ac501023100e68cb2ef993017dac26fbe6d71953f6409c1a8dd140b20f2f477dba0a2789c5c12e17ae7b93cc8652aee2929cec2ae5c0302047c435bb500663064023063f70c1a1b5af65cdb14c5170845cb1f7a2d7a04226b50cc9056c53890c5e8eda683fea1be4adfc8e0add04f7bcc945302302184bdd03a37fd9dd937512a54808e6abbfe1ddd89cb21964bd4f05c6c3a425eab6882875a9a256028eac4c769807fcd0302047c435bb50068306602310094b9b196423eca6f05cca8b030651e263749a1b3bcd0a0709d18a38be7de5826d551c5994e48620c009f2ff65e87199a023100d1e0d2bbae92919b0dfd5efa24ddab7ae1fcea6165888ad2a5e01efd8016277937f1dd1a1a35f5e90f515a57745538680302047c435bb50066306402302d101c0fa5ba4458bee71da6da47e4f667d40b355d81c3c77b2e3a58332fabf822c984df4847b5080215c07baba24dda023074a7649dc99b38045a6818dc3720883aa6bba09397ffc565857bb38005cc565e4ccb2606f08b6d86d344e065f1b9637e0302047c435bb50067306502303e1f6403989a0bd1c304da0e442bb5bc759fd59a7ffae3a47ed487f09a32ee4b60f185d5efcc13dd113f739724dde3cd023100c0c0248a6e31ce8f06bf051f0ecf8a461ca103a54a2862b0e8a6ac4070051e22d5bf4b0956eabb05504591dac1f2a5f20302047c435bb500683066023100a2170c79d09b783e026147ed71d11aa098e55778cbe928a1ee60849a5d45f5e2b43bf81590108e048948dc4f8f2c851c023100ae2fd5623d7031467040116565f349c92b2d89287e37a1c0244c6e419ee974b9d412cf26839307a618da395f72c14c3a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fe73d602a65b7540bf6cc52664ef4411095abca9f2bb3af231d85013a309258dc9f9361355647250046548072b8edadd023028088c0c8cee10124a422bb79bf1f289bc9650bfb7617d7fc4818904a0cb7df60a7078a199a6b9cf3333c48d187523550302047c435bb50066306402305543a0d3a947376a57713916ded315368ca372ee34ed006eb2f53aa5b29b31398bff74c287c7d98d444858e4cf047500023015ce16eedbeb8da507d13f74a45701f3769f8fdf0ee817915f0817ca7674c34cdf49c41d19c9d9834d82aadaa37126bf0302047c435bb50066306402301c8089dca5564e703964747cf2edb2ea88aa312fc2f52098f9928cd05c8fa5a6ede0083ad21bcf784c6894c35f70e4900230449fd51a0d4754de961e944bc3933265ba9c4e089d5a39ebca4c597e802dd0caf016d99b1ffb8f0f648beb9bb3d6ddfe0302047c435bb50068306602310084d21e0b2bbcd97a24fcd1a94532030e91fd0e08bb7d189d43ad75b04db5252f9fea3b62a75d6ad24c1e7e47f86de6a0023100ada8c7f6fb3b89aa8e35fd83c6d53ff5beed76e491752c172e7e3a64675f3d48bbac31c84b40d50562bb137186529d660302047c435bb50067306502303a553bcd28c2cf18e54612485062e11a9867216acd470898ec74994bc965938722cdedd6e6efd672e1fd955473e252c9023100c71a244ad35b5f57fcd02e416d5ea6ca38143f733b3853b2076e992e35bfd89a06b99ebded252ee0ec830370bf294c130302047c435bb50067306502301a2972caa1fcc9c0215ffe480c65d1016c021772eddb2b540e735afc5b8aae4ca463fbb0c4ec98952ff03c6bab5662530231009d237b2279852abb2af5b4f56b913e12e020e6cc960078618aecf7669a9e029c3d09202e2a40f912631c0165828fb6430302047c435bb50066306402306b3b5cf443b9d0ea1eab2114cc260a82a9ff29ba28d75782e84506a999a0e4628c1b2f4c4bfad25d46e8a2ad113a402102306c272c899b165bd61bd258f49dbee75d80df39373591abe0a4f7e9f2f404ae5a890228a2e78d8645ba5d944e6f780fd80302047c435bb5006730650230489fb07ca33ab2309f89416d314e75f826a213f75be1e2096e1fc0a45b3da64bf9042e0fb9d47c8d30ec964a7e21a762023100afb3918a8f14756c00df5239245d5b4b99bf4b34e635de10a579a8ece332c0ce9f843da149dcff7420fdb6128afa0aee0302047c435bb50067306502310084dc8598874b177a83d5402cdbea6f5f75db41d089af19f1f78d94b100d620791fb00b6b92c10cec380604a4843193ec0230170d0a475d6294ff9d5833c1b0ea5a803bc9f4f1bc432160737e38f1f84e0393d235a388d38ea977dd2a37d18aada68d0302047c435bb500673065023100f61dbeb8b918834d73fce5d5af3be908834eae14c045b590e310b53d170203940c61ae8899efa1b08dd393825cc047b00230411fa33cd309efc3fc9ef573a28e39ed5d8c3a0448cf4de332580b53f9e352e4c1f7d54496f501b0f6cdf53d424fdf880302047c435bb500663064023063702781541e29f1604b54bc37d6fd8db8c770341ee444986468a6ded5112bc93eef08a84ecd688a071c3e5139150d8902307a3551b2e5857bae9875e9f24b3a180ad5150298dc952c5286f409ccb38e0b4c2ba8b6724d9028295a6add4aadcbe7d30302047c435bb500683066023100c6a444ffecbc02c427389fee33f2be088f6f3da4a173ff073be0bf3be693f047507cd72ead3d08fa59c1b64df48fee0302310084bc5eee1b1abbd23bcb15ddbc1b3918b5eb4f61ee4bcb67e53e3318232cb69f8823d4a0e9d6912c98afd1a2ad19ec9c0302047c435bb500673065023100d9f2842227a70e7d891b7c6fba1870d2037c18bdb1dea8b6cfdb4d92526451c50f967547b6a19096b0b004e44651ac8002305194888b88c93191bb5dbb49147959d0cbb8969555b7790899823d215c5cad32ab332e623f2f60bf315a1479d5794ae70302047c435bb500683066023100881a4f386ad7a1e286f655751d919b66438386e0d6bb12784e031b3d52b366a757966a12f5db31267ea285f5107bfb0a023100c09338fade344ed5f53098a940673bb3528ef6d58318b1285946fa574081e0b7ba5ac83c6eb17d2b5aa2d30c809efe8a0302047c435bb500673065023046ef64cbde346b878aec5860d9ae430531253ffaf0a1a0d22d422cc169b819d2c966a70b40c717b4ff426505f4b2c05e023100f9901f3e29ff5a929e1df5fa32122d789ed0405ab7ee1d8caa2381acc624cc5e50e5aba47f3b6aeccdb6465d90928b890302047c435bb500673065023100c8507a28f977ba87d909d05fad9b1b88fa4165c8da1daf33b620c13a3ff824f99393cece3f3fd370c98a220c60d749710230407153cd5a42a24015b32093f7144203fac8915cd69c281c3a0fea6a83e5c54851c5b90dd1e087e2eaae32e14aaf38f30302047c435bb50067306502303b6e02f4e6dc3a692d4a3320ae4bb056c07f2cb961a09f575e24323f185822978af9bfa1ac21287f633fcc1cbf6a96e6023100f157324a4f55c505789c3f9558911f94be262c46620a547bb5674a5ebb68071d9f4f3713e437632d4b68acc325efca5e0302047c435bb5006730650230618f0d5d27106724025d917c0b71a33a022966d31393b5298a04943fc5fb5eea3bc27453047feaefa382b28a5144d787023100e125b380e70624f9f340aafb29507e3721f916ee908b6563dc18c8cf0dba91c6215681453f1d92694070a0fbad857d6b0302047c435bb500663064023075e41110151823d7d092709a85ddfe5705503f7073212cec640e76f9431aa9e31a674b3e70e7059e06b9d7e14263bef0023053d56d4f9f06bbd8806fc5316f76a50b21f3e6679c7afc0d7f4e8a4d2f15027d47fab1dfc5d5de65c1be267ba89c725e0302047c435bb50067306502303f6237cd21937abf282af34a33d9eb1031d9df1865455f7ba4e7bea6b5652a7fffb3a704475bc713763f7ea525a43efc023100aa01b3a6d708082b1f79d8fd4873cd7ceaf2b4746b07a9b1f6fc92de829ac1ff1fd28a62614d54864a4f5cdf6db82d6b0302047c435bb500673065023023d44915a47402698d4243ccae04dd9e44b20406b0c379c9da0b7628c2f9a505f6b683eccb8c85813c29cb6930610ac8023100b4e2d49505aecb191e94921673480bfd7dfd5e1c4ecb3b09143d6acc50334dab0dd1e88f76f5f6a29e0aad9fac67e7350302047c435bb50066306402300abb54fa9ba18c8b7cffca1fa270555795e700d0ae4cc972a972e6d4b6cd61e684ed28312ec12331efb829053ea59c4302306dd089ed1cb859c2e0b475c428d35aabee02ba073dcca2b8cd55a10a77373997334dfe41dba4e6b642b6059b8081b3130302047c435bb50066306402307c9e1e68db4833aa7e11a9e9866f5418871035989d23e5bfdbafe6a1cc5fab4cdf68ae144f6f2fc9b6cee31483e589bf023056da8e36a759b5031f6a9f3921ef8f7aba2e1517665a75cc7480aa30c45a0796cba3d87ae1fdf573f53c54a26f3b0c5b0302047c435bb500673065023100c34c6a807691c63032fc5a0083997d4cd2b8c82fb35993a7e99c7bf562c48930dd2f20a4d225987b22207215ad92a7e502303ac28051f2c1576015b312d3047fd94086ca4a349e4cb61278aa9dc2b15ba72f0da376b6104cf8d8e3cb87fb25cb12480302047c435bb50067306502301c20c9f5235e4fd5274aed46cd37d2056f5f2a3d8bb8170c80d87c14bf57f2d83f73509be1683ce1abbf30263b4066b3023100eddec76af41ac1f7aed437ad35aa1c3e2c14f1c94697be2eacf7776186d22b8fcb0075d003a055e37792f5df364211e30302047c435bb500673065023006d5e0fd13c35f5a143528c45b755ecdbf85f5e16dfc41bf1094a597ac9a91bd565ec37a4093477259911fb39205ba4a023100bae63658a90bdd5aecfa3273052834b000b14ee7f455d99add5fb3949672fcdf4f7dbe82e39171010e08ed8bc788b3c70302047c435bb500683066023100c9ac67f9cd12b02760191aa6c12ef74908f723c48d24ef65eace9d2aaa9814cdffc69ea3259019c5bfcbe6d7a039557202310091381a19de8c2f5c0164cdebae568d4d9e392c6d61bc4f8472a358b30083b0e1d6a6c6e7a51fa428c1b361da22bd69130302047c435bb500683066023100bc96df6aeefbd39a52460935cded008895111f5fda86c111b500d86e012721a1b1baa32b49344225d83ce7bef0a2bfab02310088bb829826c136b4fd857a4687b22f3ae15bedeb314548bd6d92ef9c09dc9c289fcea56717f83671c21ec41eb57b91010302047c435bb5006730650231008496330936f87600b9548ac15fc1a95d2f47b7ff11618f6e47d6a08124b900d346f7577180db1165c083789d7d62ee4302305db8ea6d0467d8d218baf31ad52e539f241a90bca952de679c53a97f20ffe7166b23f8211cc004e42f0f4b0cb4b891160302047c435bb50067306502301243a0fa9774c76deae76fccfdd05418a8c16fcf09e6d5548a2cc7d04b0ca9890ccb1d8fd7f961083cbf719b0b012b64023100d90e9b96cd6f9d3bd38f3bf8785973b74df41aa9a1840dcd9dfb78f791b4413c8259ac7343685c9d29570cf12481a2fd0302047c435bb50066306402300569e5f232ccb19b1b19e73238c64a8dbe50832932b45669e34a37692b2bf58579b4c3ff14409f316f5f3f46f5c58360023076e096c3c998a677bc6e5d393bf36f30c0ee922a4104990b258ed060d5e2a6e8acc672753d865cfdbbd47517727b9c140302047c435bb50067306502304bc6dd9b6c55fb1a68f9b2be7a960459bd57a07171a2f1bde131a1b76e25faef4144537730f3ae818e740c424fb50dc5023100a5a799608d51493c7aa9b2ac360e5b663b926bbb2e3e537efae08b2d2c2cf8ec94874db4c1f20a726154f07b5098c9d40302047c435bb500673065023003bcd64af4f7082e72dd42c7d46c5a954fe16e85c89ce964f4a1dea16580befe9fc04d936f73f5c60947d97aa536607502310091e930964974549e1f1aaadc8642ed67e794843cdc38679ff36e658e24f03af92f58b674fb6d3bde3378e10c953d490c0302047c435bb50067306502303c26c53811850058115870f817f42c7fecb0be5af64d2e4962a2560775db2545c44969f7384998518aea2564db60a10a02310085ad92536dc365504417779358bbf1ca1cf941fe0892423625bca18ffa4399200a60cabed41785085de4dea673ec99620302047c435bb50067306502310088b3dccad895763fd93b7125ae8794b7d52caefe516326525f78371a419c9e363e509fb272a69a93c812a1b2306378a902306233ffac1d5eaf4b24fdbb926f0f8cec9b135ff88c180abcff0094d948cbdf6189238853ca153135511c69eaee49360c0302047c435bb50067306502304e19b3ceecdb05e13109dcc55238abdbd466d284751c3fd0c701790504b0daac15e6ecac864747a30bd81fbe876e64e6023100ad052c145c92e542326dd8fa54489cee4144df95657f7b22227c99eba9aea9886ebe30b99492ea9e4ec86b5aa4099b740302047c435bb500673065023100c30da41e80ab9bf1509d60ea9d52c517e20fafa15088655d92c8f6ed4f0dba9e72d5dadd60e171a92b4a0aa5eca2223c02301bf3c078bda23c533e7502b6ee21201b17e5a74b84130d96bf2277e72e1dc0640a1bec0f090d82d3b338a0ad3740b8da0302047c435bb50066306402301d774f63c8807ef5d855ef66cef68e68e50c005e86e904aaeb7ebfe1fed23a66f8f32e6449d1aa9f43e7645403693773023026aff76aecd0d2fb4bbba11a61e1cae743939ac96ff094235b3ef107dffaaac92147999205f4a7014bee0bb3fffae8de0302047c435bb500683066023100c7dcab6cb94c5dffad0d253c22aa596394352126b74d976b09fe70d70b67b5d824bd3cd19eb258a15e644571810ba1260231009e77f82d04a04f48979d8f00bac8fd86245a046c73a4a2f243fb2e3d5204aafff9803458a6fecd7317ff0bc0a1b98f890302047c435bb500683066023100d798f0c660e8b7163c006437fde8b9e825df98040ce17528b5605c5d60fe7f4db4204a74923b36f2a1de50b43bcfaee2023100e6c7cc20e7b2c4c6b4dbf55a59168a77db96a3c22119259551eb20e15f7e3d2258d7c882b54628b2d369b54ace90d62a0302047c435bb50066306402302471f2c09c67c957b1c810fe880417be25ecc1d765da49cccda3250f3f1acb6821696a80536619bd34c878033c2777640230019985393f1021d7ae9b40b23845472e3a2acc7472cc2c82c1264b9c7cf58331df0bc9b2fb27808dc1014b58c91de7480302047c435bb50067306502306488dd7b95f4b079bbac0e999379f555b826c621d907796b19305a792241bd39ca34a382dee9660b8162b8eeb214ef42023100ce7a3aa7b914f76349671966bd4db97e28df0db1f11fe87578f0ceabfb97ca93623b2b3067579b42bdab30ed227eeb3d0302047c435bb5006730650230788b719bfb1674e8623cd6288d2ec6fe9a660ef6d7199f43fda5c8763f6adac9c8044123a5c737f249307d267a41c1e7023100afe091baeaa2ffa88c6ac448fd0c870cdc48e1e18fd97c7a2ff48d4306477f109d5d36ee19604a118f878e9db511f4c50302047c435bb5006630640230372d0ba346502edb5ea96a4bcf2f27cb047997473314c0647e4435d5933cd9b02d66a8ecdb4f837be8af9da72a90ef5f02307c32da3e387c0c4abb4b787c51c1e680561b868c15aeb063d2061dcaa5424ec1e2a5dd2cd460d463872d9dffc862ce320302047c435bb5006730650230124b6d49c2e03f69d9044f1f16f58b52761f9e2d88407a1e831b4a4ac365073cdbcc24ac9e64728d6517af229a9a1f580231009a8f09b6ef1ee121387f1bf46b104e72d255cc120f3047911931d81c7c8e7f59649275562b4ee469e6c79102da4d61f70302047c435bb500683066023100c2a8caf7b3d2335b0d5addd37653c5a12321c134ee48879f323dc511526962be408a3a493701003dc795b3c9e1d47550023100ef29233727e93c2b644b47b0f16b80e4613d0a09fca93fb835e5aeabd6fe4f2c15ddd290885993bc2fb970d1fd8ce3ee0302047c435bb500673065023100916944350f12d762475ab630a1f3be5f5da9ed771a2f8f86c92cdc3de36b9a727b4814e8609c2b607cd9b26f3802b984023047b40678465d02ac6dbfc55d8f82ee72b4f39fb26cdf4b497a2c5e576262e7ea9927dc7cb433fa84f81680d87f7982460302047c435bb50066306402307e3d62b25b763bb42a3df7a9b752d461d2f5f5e52913faf4f2002809dc19bde5d0ffb6b9b007570e7f511a617b9d556102307c3d78e82ccb04aae9628625b7ae7c5ec77393f5739f13c7f919e8b98b66df155dd2efa3eca8a7fde0b777f50c60bc990302047c435bb50066306402301f3fdd996551ca92298eee8c9475b402b03830114223a7835ceabe938eda314c35127ff622060f17dedc6f76fd7096760230132f872a5f3cff3003d5e38a38d55e002025e5cc2ab21b17df20d5fe70bbadc23aa18540bf0b3011ef69ee2b0596ee650302047c435bb500673065023100b1202071748ade4cdfbd8e536ae7a693a44a4e3c62312ee948de23a581428cb6c0afddb3235636395a1d2a3a026604f302305375a911600b7d26411893a14fe2bbe87ac626adc73988c8265b794632f969c3fe34f4f80884ee403218848dc435c7cd0302047c435bb50066306402303d90e03544fcd8177fa5f94ec78260c1b5006789dc677c178b1b2c3cd000b8a8010240e9120b3e05d8b95964a53c624b02302cf64d8680bae1cdde31303d5a7739e48ed72667a6b73e780ae11df15f3d1165f576fb4d68a513dffe06d1d427496c290302047c435bb500663064023033e4cd3573e0282b0fbe30405db26184c9d3edf5c634728f49df89b16a92d3cf992813ebe092181f7502958d0f79efae02302ac123642e73f266a54592752629555bcdc79fea199651f039d72582d0ab82d50f44d4d98362c9eab3e0ec9955af78f20302047c435bb500673065023100f949e807c1dedad913c69e797934c965cda7829f414544e6800718de66df259fb798fcc0cd434355345818cb4548bd8c02306db90707cbe0d032d7187c2e1637236c46ba0ee099040a4f198a46c29e0d309f07159455d8319b01ee41910092ca31580302047c435bb50067306502306897e5cf43c1f4e36963bce796a7cefbe2e04d24a86ec1c1e33faed5150d2187d4b8ff31560c07eba8c4c68837416874023100e419667d6cb1e004cfd250f5babad45fa7333310f34631198de0faa09fe034de2bcc34f58c136d8151b33a8257e9bd8e0302047c435bb50067306502302c8a9861fcea04c9c78dbaef7931d82d5e855c471c7957ec1ef2d1705a8d43985a3623a79b16543eb5262438a0af44f6023100c3afa6a08aedae74a37e2150b28926dd0ff4813e39cb70edcec26c22a36018e927af90a5e48eea5770aa86bfb2f25ef40302047c435bb5006830660231008b00fc4d2019469bb0e6800913b14df5e615704893177a209ac6e3172690f823a1f1ea8dd7a2b979c090760d03749e5802310081803ba6bc1fa6bb1f9e10e4cb1bacac378610fa33d006c95d1d25f1ffb8531433594b9179151aad32145e1cce75356a0302047c435bb50066306402306f33b91550bf3f9e9d1cdb1961c4e10ae8a0308a1941c38bc3cb2a979829da1466be43ec3148d8c0a03e3b98f5d2865902307fab7a6660503b9ff641949939169f249cd8e2277362cd428517a7b2571adeba54f684c48b96067e753e7408af7ae71e0302047c435bb500673065023100a9ce91298cb6aede954f4042d9fc96f27c9b760fc0852fc9063811b3608dce08a5a5ec354710367db4acdc7b8d23d4b0023059d5b998198ef5ab4ad8c44648a453ae8f62a6cafc5eaafb5f34fa7cfb1fc495c162d858aa3c111afcc1791420e237240302047c435bb500683066023100e8b8505c0a3bb50f6264e60ea12f5a32b1169eac70cf5e5a0b912690a710887214e60403c5fbe3d92af1379707392dea023100fc45a5740706ed7c6c5cdf334152900fa293d8401e682b2decec169a026d623560ed337a4a39e420810d699db93d4a0a0302047c435bb50067306502307b0bcfe7aaf8d4fec058b18f05c26720198651a5a3c0b1c37fbacb659075a61e0555d436f8c8c7a140b1d4a1a3a570d7023100f0fa269f104b2ca3b69dbddfbbb0a065a07cc0fe0e87310923683576903d871a069365f96c1c0bcd9516d5e69a8a8e3d0302047c435bb500683066023100c9347f171fb08eefef3739e17becbca39eab3af2362525287ab4f06fa2fa458bcd6d8224534df58d7dfbd5205972f35e023100ddd2c1d321345fddf4e1c303188ba940eff011e6ab154e753a8d7b534088b82c3fd68215835c1356b9378f3c5d7421ad0302047c435bb500683066023100f0ee95b41144662b0de82d72054e4aa33cf41d977d13e30356f8fac1deb66cd7089e67cc7ad85a72dbf5e08dbf1d39c6023100fee6e054fc493e663d6ae36344cbf252430adf89b87bc0fec260d73c96bfff1aa94a959b4ccfe2649457c9f6289f1cbc0302047c435bb500683066023100f3472718cfca97f80e21e34841c68a1c94b58c847e6ecff74ebc0de80f8e77daad5a876aa9ae4afbf68900fd3c478f340231009097c77f3a02d42e9ff6cb2678985fd4be0310265d33b842e554da9415f8289a0332c01d29d8bbe3091bdd3a336f7ff80302047c435bb500683066023100af10e47f41bfa29333336e96ddd67950752f8264504ddc6abbf9582cbff855e259ed186b6a45fc1e3b44ce1e77391947023100bc87d852f43525efa541cbab02fcecd859a0409781c10704ec5160f463175437f59bedee822d38ab781e02a513353ed50302047c435bb5006830660231008a8942b1f1547c8d12cd9f555c165076eb53ead7507448bcc2b761f1d28b6a8c5605c8c7366649324b159bd2fdf69713023100a9def021e7a2aed91a165d49eebbd87df25a322cb707ea8ead6cd6b52ed6e8fdd629ab3f4f466a551e7062d44b05b38a0302047c435bb5006630640230567f663930a1e31d1ff33453f2ea62bec4a24b9b63250ea96d2a6b2c45238a5430fd4ab3f87ca91ec44b5a02df089190023003b3b2648cd8e1c4c20877c3ffef886188c3a6704bfe019f3123a08c49172b5fdba4a6e55edc8e95c579ab2d6ec84f220302047c435bb50066306402304fc795cddb00778931b863e950adddd726f542fdf80d92dbb1ef522ed74b11322be05b0f97dc2dd65eec3da7f00c28ac0230629ac1dc5ccd5aaefb4f38be0d774708a2add0dd7353a9605ec716395ff6094c78adf1e91037194bcd7f8b8747088a4e0302047c435bb500663064023023786ecffafd51062b72f5059dbb412234fefdd7da84bc182741e3b57e5e32acfb7662452038f1a90041b3662408aae802303b3883b2aa8a5186c731a02f012ce04b70f0bb21389625844b4d4c1a449fcd68ab6819a5066b9417616e5f7cee7359db0302047c435bb500673065023100c992c232883c797cfabc64de95cb45d1ee4208fba910f1397405fffa3463eb6ed3e0f0acb218f2a82ede065ca201a4ed0230514e00e25963b472515fa177d455d4c9b4a8d4bea059d597dfdd875aa129cb7df8f3e937726807c40be89913bb5e13640302047c435bb50066306402301664a00e1e19ffa47c601057e4305f99ac2297fbb0eea6c15ee575022adebb810aa2bb6bb0ca78f2cd7c55377097054602301bdf4b6019b2d3915a205185d42259c33f54d2d74855658ef0573dff1764760aa92a1f5d438f0efb7924c9a30ca42c020302047c435bb50066306402305e395ac86b5d01a74898191e10f3857ccb80e19f3e65cebf3d1795b4f897676b69bc27ab7ed9fd435a546cb4b4076c2802304b2e21f21cd5ac7226faab84ac30fbb6600ca3e7f990329cadb85c4e9d7ed7158f83c36d438430f2317484e76ab0d1b30302047c435bb500673065023063a4fb4181550d7ca63b38d363588b5d29654ac4aca25387902e47b0e9a5b5f24ca95c722a409f559cd99e0017d6e17e023100eecf9b19fe1bc51b99c738f920dc7fdcad5d636128ccb7fe0beb01639f248c5273a4a86d39a6217fe733d312efea68a90302047c435bb500673065023100d6a2e40c64f5562aad76504a07ceb5dbdf62f09dab85e0be3de02aeb9b1e033c57c0d3b8dafe875720d2feea4fcfda24023043324da440e9bd7c623d46b86d3a10136b902ca5cbe932e91adfe45e12614e149f19e8ae2c32fdf5d3004b3a0e120db30302047c435bb50067306502303d4fbab777caf78e69e84af736e20569e01cc1d2d78c406f515ce2be1e449a969065f6b61ea5fc3c7fc9735fd77a74100231008779df1cfc8844eea7c6b92aa528d0fc2020503bb097b47087e6605909ef7d9500c861d85ad7e6b9357336fcc2efac070302047c435bb5006730650230673f79ad19b2e67783d16ed4eae8fa62924844a2db9a3bca4e4359f7e61ef3ae70059b287c0b461827e7e7bebaf1d0af023100e17421b91e854a9161d10492b34e0080ca59ecfc7cc0108c00b57f3bf518107b19cffd043310ddce06de58829e2fd6d20302047c435bb500663064023068861520a71bb0800e35d4249ac63d7edcf12ca554a4587206720d42e2ef3e1e48c66d13420d486caf54037b3f559abf02306928e370c87b8a3c3961061279e44336f97da6d4c0cc2977a04288af7a15ae68467e8f436fe20416b63fc06d478acd9d0302047c435bb50066306402304138aab4f3faa2ee13fb464ee053692766406a3c9b0d4ebd438ebdaa4b10c7a0e8c7700d2f38c1472172e66ba7c7e362023054502af514776a0c2071f3074b82402384b14f3e87b7c57d4443b4f2982aecbd266619042ef12f90aa385992296580aa0302047c435bb5006830660231009dec8538deb15f6aba04ec91981394d401de11be57e7293f0edc6f3cc54f253bbf74a539ab655418aa2927bc16615379023100a96125a753b6142e6c3aa8464428b017de5d88181d69b915e29f2795580cf0527e5aeddfcc58a6a4f48d9215b3754c790302047c435bb5006730650230448592babfd760df30055533787aa9ecc73fdbbe7d482583eed7a8616b58e0cdf2bf161424a38ac5ddcddfef43acfa11023100da8f88469c8332036e857afbd3db72cf0c5be0e7fa42df6fbb09b046d3c976720db4b3864c8275dc06740fe9091bd1e40302047c435bb500673065023049b60eec1d5ee36f3214eb48191d4430ad547e2c4e121eb85292fcc4e5be5d81e7f3625ac26b7f6a3b4f8fca2bcc7f420231009c64797674f63b01473a6997612481838bc965988ae3bb82c4f5c4e0668ab7615e366927fbb935e47dc034acf760bfd90302047c435bb500673065023038acba0728f199db1a7189e5fb8bc1f3410be2faa9cf1c1dafdd01ba20c543298f5e2456e74f56c9fb852beafc2cc680023100c09b93754e5ee7018aea5fe7c192f644c09e3fdc7c963dc3b71034e89d54f8c13d5924e6414b75a1046961517ebfeb030302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230184a695f126b3cf38b010cd3078cf21833f5538b205c43e942df002d8a9c4a7f7305a9a3ab5677ff3c384beb409c8ffa023100e14c03c7550dcfc03f00be8ff30f9a2cd50c79c235ee770c14f186c950c45f960ef0942dcc686024039dd260da1787990302047c435bb5006730650230730a05f0c50c23dcb1f70cad36eeab8fad6cb556e9957952ef282c03c86011bf9134c4c104965a122f47a2b7181a61a3023100ce1afd7361881e5cd9599c4020c62df56f81e5c06d24f8a3842cd2d593409e004f46142225ec7fb11be167e770a2da070302047c435bb50067306502310089cada1c6c22f986e76ef8bce96d9193ad2427686df045d3e42873aa200a84336b224764dca29213e26e791c3f2b96580230151b332d41c0d2a6c2647c234c61dc0b5a7ddbe94785f599ea8c863833540d6da6262e2e2703bc727a8151a4f4ffdabe0302047c435bb50067306502310094f07003680542d4164b2036d5fba98dc5e6b1c0ac08b90ad6cf06c8182f212bd596c31cf9564e22dd910237aeaedf8c023024302190fc85215e0a2035abc2c23797217dfd27c6a2faa87050a4421cc5ba70e7394e9e8d5f3b8757f93c58efa3a4910302047c435bb500673065023100dff1b00ff105dead2f780955ca219cccb4b22b1888718598e57489dcb24b49fac36c84b06ecf5546648043242be749a802305ec6f346646308db81a44b728448435844735279d46349d177e0dba198c5198ad14cf76bd80b33cf3a668e05056d40150302047c435bb5006730650230619765095a365ba5fe191312acc7eddfac61fd53b9212a08a835308dc0adb7baedaaab7f1eec9ad6758247d4cd46c152023100c0e87047d1c383837e70f827ef4a69eb3ff6dbdb2fdc4781e3cd86f9da2d7f0bdc96806599eb14c1fe09ac07bb29eccf0302047c435bb500673065023100a206dd78f834428f8db941dbb84e757bc5dc69e81f57ad585a7ecf0514f96b0045e396eeea8d39abddaada8db0ccd24402306a82b54184e4f9909cc9966b193517f4c1b2fe0b26a8e0d8928d01dc71d67be3e5c09447a3abad7ed19b37e441bba0c30302047c435bb500663064023065501c1534ec78d27c84f254b7850331c9f37fe122fc25cb9401b96c24c3800ae8dbc5a2fe5f3d93fa28ff65e6d43e3b02307d58d2b2f5b897a44f80a2c7a51842014df190e25484d800a00be0795611b85c13a97f4a1c335ffdb8c9fed317f818fd0302047c435bb500673065023100fa251a1989b37df19fb36b5f4147891e48a84f19a20e6fa7f62f9b721a5b474dc10ee5a2fbaaad4038f0c0c43791033a02307d4210f6a8f013e89bbc1650d2734197c0746fa2e788ff274f3dc478a0a2230bf9e782709d927500b33bc613429bb5880302047c435bb50066306402302a96d8b13d7438b67142f6a8632bd5cee0a744caec4e155cb75b95b38c79248eada1bf042b67ff27e03cf57ef97954d402300c64b7c8aaa1e3ec1321cedd11dc00cd5b9f1e6e6d0bf25254842f6871031d4392b65565bab14edcf54af9de51237d520302047c435bb50067306502301b4b6b17610afc4cfd8e353c0e0c09eab1a87c5a0a899d482dcbf5797a5383c5d08ad8cce8470d86602a1d8191d07031023100c8196505902a730b5ea1d30ad9a17415be550f2cd3916d244fe2d64962df95087fdced3901f2b81865d16ea95dbb25e00302047c435bb50066306402300612736ce3a502b9940e3fbb6fef408f15a47ebdef6cfd638ae2b170a7c6ba2c0917e79233edf1936e99f238b29abdaf023049abe8cbcad8898f6087518dae5844e3777bcf67d65b4d2a577fe528bc901d6f0bd3f75309f2b36728fb1027a0dbc7550302047c435bb50067306502302de1b6db23ea70cc8f8c880591a54fa97b186752f47cc40fd288c3ed75108679516d26ea6a3363b3345ae751138a6bda023100e37a57f284880bd7d7651dcb31c51f677994871bd3fd36e6af59b5e1206ccfe5c183c5c638cb46f40a620b0f78679a8d0302047c435bb500673065023100b94618add84e778e2a3be9f7425cae79c89b609ebcadf593210daca4c15f587ba6423b781ffe2794d3da61df1d60d5ad023011bdd519dca210abb320e2379724819e74381832a53a4d5648bf68d1f6e94ae726d63dc4e517783987d449d683ff23e10302047c435bb500673065023018565eff034fc0e60119f3554d381a11f39565fb79125df86f1b1fd396b1b050e19ec3ef5ac3e8bc4ef0d84574605ebf023100fdc45d64af0ecc2c9a6959cccbbe72f136307f13fe3faecc3b3a4128a00e6657c9e35eb90b8eab98e2270ec8804d11980302047c435bb500673065023100a7ed5012b5c4196dd096da38e42be48e677a6f4a9ac603ae4886af64e8067636c45b79393b071b594e26688ad8c67e9002301c93b1ee1f9f0ae4ea6a3ad7fdfd28f124c569f2dd8aa5a8e4b626b2f8d6cb6a2a98eef3b3ebf5c8a442831b4390b6df0302047c435bb500683066023100e141f1bf2844be537967706370fd8723e52bf4567ad51afe0529702d26300a8853054ced2a822e8b8936664cd4a73fcb023100c1d96fcdf6dd80f924c5f64c3d1c8d514429b3eb93eedb42887e461aa30b70161a4e91e5b3e017df01efaac8034951d90302047c435bb50067306502307db53f59bcaa67432c1d5c1662765120cabb3adbfa02d90385a1aa324c558de02de593583cdcb698a1613940bd75807b023100d6f93357cf52ef755fb80b3bd47c685c0422088ca6303d12112684b88daa460dea90d1663ede40ae0a7528fa6f4778f00302047c435bb500663064023006a95596b0f4e4ccf035f0ecf936a84733153367486bbb4989a16d32461d309fdd9aafb3964969344a9a422ac7d82d370230393ed63ade4095a10dbc477ae7ede494aa3cce2df48faf690e70ea9f86fa80217b95c0d719348afc29f8a9238d6a4e580302047c435bb500683066023100ef0683e871dda566659946ed6d8e6d513b1b96376948a20b7a39f5684b406baca6f1933e2f25f9247dcbf8e6f49a8711023100b521733f7958d54379d3f0870c12aa6844f7f1fe9002f5824f4375e2301df6ed681da86b940053c1f59a2960e0d196000302047c435bb500663064023057d5bc80756d2cb94e89c1ff7d9389046d2dda9deda62394c30d013bd57332f7288674458d361daeb2404658e058d0c502300931b3f1972d2ad2c75b3778e95b569180c5412b2efbf1ffbebe5b25be12caab589f2df4ee728553b9522a9df20d054c0302047c435bb50067306502310085d1272cc7ba8f1766f8516c1ec5d2da2018b038c9dd6e5a2021f2fe89628a5b81372a7883f23598130cd0f5aea7e12002307fc864ab76961fb1af12d08476de8f1788e5fff4013585ddf7c3df7ac3346a7027730489a3f0bb9b2e76e041b23861170302047c435bb500683066023100ecc5c77786ac09c25473fc675ad5393e9726ba2582cf5756bd724ac01559207b372703145851dd56caf77b5eefb16dbc023100d1d4b40927bfc680a156f5a67a704a9929f5af13412db176db25ee0c36934731469eb0cc576aac756ccfab75fae79e970302047c435bb500673065023100a4f87f908022597144926270a47039d98069806772336ac9e1902975973b11f14d6918a9809b0f5da5bb2ad66dc2ec61023037c1187fbca7470c2e1271749ed325f824fa56b507f3301262520f152a5b928e4075f78c0fc004b1f8b6d27ef9d5db9a0302047c435bb500673065023100e50866fccf01cdf634c818d8891956882feca118c6c145cbe2cfc05ae973dc4275237310699eed8b5689f43083b7487902306c7444b6f7fbfe495f721cadde2544528a539b957d25706aebb7516369998efb0b7305613e339cc342515b84037819160302047c435bb50066306402307e9593f6a9b45ccdbb0a0003c9b2cae73305aca9242f60c4b78791028024a5b59600e63021799e5b41b970c7399f63160230647587126463d4ea9bf4760adfd247db4f4229cd3584e443ecf08fc4d8c2d947c0f29112fd0e48d1d367831bca3a24d20302047c435bb5006630640230311af10cf9eb28e93c2eccc7fd2cb287e47c50d5594ca81ddf17614a91c89871e48124eb5679aec16f38f06361483c6d02304041ac995a5dbf3970d0f88c4c4af468f2957dc7febaed27811a4e00be20c6f71b267bb16e33ba66683613110dd211210302047c435bb50067306502300ab3530b0e446b3150d3b3231d5c2f643f33e5b6bb95d6ab303ba5862ab4ef990350aeaec12a42a828c5f456d2ca1694023100e7e3e905b40cd09cfd7fd2679a7689dd41c61170fb8896d771075a96a7f96bd5651de91cbcba0a9824451c12e4c5bdb60302047c435bb50068306602310089669985dfd1156154b172e6c887157182f28196d8d00e056f43edf36bec996c120d6024caf1da696346999fee71becd023100cf60dd123254ac371670bfc12a0d4b4a462a20a1f2940e950d66067d284b84f3d3c97ef5cf02f4aafb5ff8164c2c5d010302047c435bb500673065023100d231afbb4eb9ed82bc54258ca2775c3115a16d8cbd1a5ab666ed39e29d39de321b7be34db3b95fe561a3bad4277318d1023044f63b43671a70b3a856cd139b099332050e28d8bbfa32692ca1520ee9e46e76cf0812047df95e6d36d69f4a4be49d510302047c435bb500683066023100bff4afff61a609f73e2d18e65dbae9427a8eb2d30cb4587cf10334275be6850ee547c2c9dbd028a8535c8f745978b55e023100d67ba0bf39ec6d7c3b1a83783e797ad454663f8b88d8893b38bf00a16edc41074b66557623f1bfbee114af92991a09900302047c435bb500673065023025630a730d7c81df000de3740219c107f2e50e2db728209689ff4627f5240c6619c79ec7bb7ea97f6c76c3f7183013d6023100eb5544c652bc155d1a7922f0f7b5368465f05d7aa9568bfb7ddaa921800561e96593a6ea1b77b354127b7b0d2bc5114a0302047c435bb5006630640230633ea6313dc9ea21ac72b2a06b18262fd0019d95912c15e904114586a08e95bcac7bfc66cdec59c175b9c2b026c05e8802306ba12d92d70fcd486cb3ccda767fca9459faa940a0585270bf7d25940d2387bcad83561e01c26148078db0fde7e612550302047c435bb500683066023100bf6c2e8eb7c2652bed76048d99d5a392a3c6b29ba20ddfa5b599a0bab680850543cb60626dda836f50badd5944d78f19023100cf6e66fbeb96ff66d2331cc932bca85c77fa0cd1f7f48b9f8d9ea279c1a5eb3e7302db93ea682c97ffb1c1e689ce14560302047c435bb50066306402300fd2c94af293e950bd2bf3816751b45dc90c667c5c261b4df6d9e67c4989580e32b5ed206c1eb3486f16c21467bc9ea8023064bb355e081186aef0895eaa2a5ee1f9ac428ba03f4d6c77a5de16e77a61ecaeb3ee6ad261eb38e42966ad56cb8657860302047c435bb500683066023100cf6fa76d010de48466d6745e405e1b2933f082678d2ef50813a3128fe89955f3ba076e52f1391982bab6e5551e55d43f023100a7a3f55b0d2e601917aa5e65b9c1d84e17743405a93bba3a56207a0b7431fc97005d2f9f218feafb18259aa803afde470302047c435bb500673065023100fc009db39a3d228e7f140c1c60557172315ae01d3d309f0c0fde4a6415d79dbdb0d0bf446d233ecac0d8edaa82d4ccdd02303b43e39608197f24ff1a5b3bc406e5a71acbf18f4d9586468c40fa5a72aa1dca0144b2e2d7a0ac02c98e2e3c86c9736a0302047c435bb50067306502304e98f8d12b86f74e4ebe9cc9ae865a423bdfdf93f29a7e597603bfd4144a5acf4eb58da654e20ba3c1cd59851caf710b023100a82aab696172de9e8ef17734a00271f1acdf040c6049b3e8087d53cc24a94a5e0bf61a056acf4f378a4e445342800fc20302047c435bb500663064023015d6870e9149bab0b376646183bca4d38f5bf414f90740df238817383b972410e9b99b212c66754cb0e4a52301dec0ab0230466ce2eacd578647299ca1267373ac7b6ec0fc97bb0560f5d17127131b2f81a8e11dbdf5ca406f6e8bb9a69535069f380302047c435bb5006730650230476ee8ba20478ab910c9a9945b550982f5082e603d3ca48400e776e818a62415a35c01e78ca18b68bc3e9863c1f337bc023100ba69d79aae611069ef6bb12ba840b95a838a179fef7e4430536de89829c51ac5a611b2e6c3fa12d14c8a22eb5efb665a0302047c435bb500663064023030ddae5067aebbf41d8390e8e3921948c56f0f1ef460697062d4ce752115c1c1c3b0e6672d10dd83fc32a10181588b3002304e34b8614a927256cf9d982c3d8984c1cb6742fa8565dd04fdfe397ffd21508422f7af49a458a8937488e21d0bb2de2c0302047c435bb50066306402301506a83872bd8a6afb7f88e76cc8085527343fcb4b1e0824ba3d145bb8dff04c50657a012738ff12242c0b3a2f56c5cb02301d0edd671fcfcc37f710e081085c13d22e97f34a7026644122a6fe1bfd6fab16bb0a839829a5d6a5a0aa27af327ff69b0302047c435bb500673065023021b6d30d1a7cd053d4509a8e2da44e3b811effb6018fa62929d333aee1240215acc55045567ade059692f033442d81d30231008c584bf988f668754c780ae38ed0704484e80811af6749937ae5d9e7e65d99b891b7493d3970a8fe3ff8ef65c4ab71ef0302047c435bb500673065023100c93df2420ae2a719682703c9df51dc3055c577218a97f4384f08c692df4441d66dd280dc40a2bc062bceefa34c1d8f79023001319a443b15a1d33bc4e79f51ad79f9759948817bed05e775b7f94e10dd1c19108229ccc93818d9bf126b62fd5e995b0302047c435bb50067306502304e2813ca9e06c0ebd9ee075b6ecaf4751e00fae4d48e221a5fb3483b1b6e896acb1cfefa841080b5e966509e9a2d33aa023100b6dc00bc20100acb18018929d0fe2e6a96e9072ab96e95acf720f3e39db6a262d025041a5f70335c227774c7d03773610302047c435bb500683066023100aefe2a772081871bede342ec051ce131adf250a1fe87c93f8963b29d7550146dddbc1c1e2d273e180e8bf5e2587f0d96023100a429be3fba5f8e9e4e3deca36150f70066713b490794a15fc8769579dd8f04636237cfdd87631ff6e150bd39e104b97c0302047c435bb500673065023100dd64b0cd3ed3f7dcee684677a0d7937f0e30e15f2a9b107bc3ecdd7d59b3dd8a4da8d8ae19a4b3d940a55cdfc92139320230233017355a85bb45d11ec2a1874ab06ee41cd1f2a38127a0b2bef552da060724602f5959c198652d5566e8a3c1c0a9f90302047c435bb500683066023100a84b5a5872fe5e76c0dd2f9bb8000dc9b1feb1e62b947d2435bde6fa70f79a5bc1fb3fc69df4067ab32f08309f164f08023100c5098ed9f064ce2a7a52c753c3b2f1a6a6213c06a23c62da691b1e79c6bf461326e8475a0f8391e03ac32f32752ea3100302047c435bb50066306402307f488f8d2fd1ce10ff251af54553148c3e4bccbd4926bf9f20f85adde126756a77aa9aec9c429b2adbaff4c1a4ceaed8023076f5193cfebca8706a024725694a623c30027373ab2f95964d71abaa2213ee5ee7645ca55180dc9030b743efb841946c0302047c435bb500673065023051adae1f5ad6fee4c0272161a506990f2c233e7e0ef258b045b8282f852187bd9279e9e3917fee0ccdda1e604f26f208023100a80cbbd6af2ed63054f9bde616cefe146074b94edddf0c71a0ea06881b27afc94d2d9ab3641ac4356b5a5561f21f4dc90302047c435bb500673065023100b934db4639fac42dd9f302756f561576dfb1761f3976bbb35c71907cb24bc8fc13f1afbfa440bec704f3e321194cabd202301a460a891232dd3ff11e1c49ee2853b13fdb5294b701e109c71256db9ba809f5109a9f7ec5e7f6c13da40a3759575b130302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a8fc2858384b7ab2d7f62e579630128a542f3b0b280dece993f41c159af0cd5b6d26ae039ba75e79403cb91b939b0a5502310084156a97e226a1fc5a5ff497953047b64354b70dd139d21abe67a325f5bf02f2b0d36c9b8c0429672419a2ea900869d50302047c435bb5006730650231009488c4b34b89d793170131cd3fb4f3f8d1eef2de0522aa5ae2a9cfa1740cd5048db97467e0a89ebee50ee3b329b3fc8602306b2ea2f48efc89d248a865b1da33594713bb279e6a24d001df708baaf91828a44ec74eea3714dd4859a34764e68c908a0302047c435bb500683066023100ffecec45191e80ffe542175f24ccac278a3b8100c7bb5eed365e18e32c6477889f0ecc669c30a42779ee755e31886b670231008d7a1ff46355f3eaeb3f2ae517a66ec97153c424f437e9c36eae798680b7842095aefea9f2d043b0764ec3b49fbcd1a00302047c435bb500673065023100da5505d9afc438b5120fbba1808908ad09be0abb50366f9ea0e84afbbebd0ad40cadb0e7883b78435a5705fd7e55a4f7023017f7e6273bdf5d931d4af615e455190e29c8766800062261cb5958233e2d9590d8f8c134f92877d44664fc5e47074f0e0302047c435bb50066306402303b81e229498b862d4927a5d29fb5de8d6b787924488bb9e66ebc1129061177380c6eaef83b2d4b0927009c4b3a2ac850023078cfbfffbc97dec259ff2f7611a4ba53508dbadd15c2553649b3747c7216f02762b628fc5e53b79f3d3c073500e80a0a0302047c435bb5006830660231009bba33c2153221df883333fab885c2dcc683633a3162d7a1638a0db2bb516924f5da47b57ba96f07e0ec6e9db92abf500231008c5ec38d92eeeae8196304f0b919fbac1be80d367b3c071396ff08b0a7885cc7a4834af20c30bfd0abfcc457c714a8cc0302047c435bb5006830660231009265aaf7ba156671bfc8fe662d3049dd5b44079e99b195cc5b73af4d43eaf640c90d828d0e5fed8ff6e170f372c0770a023100c47877cd0314b1dc577fa45d77342f366acdc16643f9269555b318241a9c9147b563fcb51f6fed067db5020887c5637d0302047c435bb500663064023037e0abb916a074a745fa098b705fe52fda8133af9ef9a859e4346b59a3475825387795c9f995730ca8da78ed66e5022702305cf6473b727496ec9fcf8a9cc7b784e6ef81975e98f85bd0f5c95072ff80550f4fdaf6f710a9557a97878a12e9dfc3470302047c435bb500663064023025b93952895adf3108578b59b6a2ba9f2d6cc0d754a38ebe91a3a168af6fad25add38e1a0ff31d119ba81c6a065356a1023077eb33ac996e9bd098952775e4e4cebdcbf168598b4468a050dab75c257f6968ba810bde1a37508f9c3dcf54601916330302047c435bb50067306502305a1740bffdd473381acb5864dbb2c6d6769a7d257ae3b12d4bb7300950262cf9e121e5054110a3f62bb3c2d5d01f53ce023100ba322928e63c15b10d335e547fc23b556b257f7974d10027bf794b6ca983ea65f25cb857026edbf07b174b1d2d8abfc60302047c435bb500683066023100eb18fd67bbbd3e7db437474b05c41063caafe8dc8337b3095cfb926c2c654c898ab1fe23afaa7f21f35eba728810fe16023100c1d2c7af147ec6a02199a818becffc596da48c12fabeaa1a33585783928c630e9cbc57ae443e2051b2bddaf991d7fd740302047c435bb50068306602310093a9cef6f8ef085d356062af525f6f25583f37dc67d2c04787eda88d1a93352b803b777973b33a702764d7d4b79d49ed023100fc5b256ed83666a3518f4ef1c8160fdd31fc6229f44340a30792186a8560eb78d7cc936ca6ca8f315680b5683aea4e970302047c435bb500683066023100c1fe6550e7dd74518a07a78e74209f95b50d88dac8d98910818f56ac607e9f328c06baf7a4937a250828294f296830500231009f7427f665d93988206978436e7a498c872ea93716c7051c5d9c53c756e3bf217548b4d3cfc9b722c2def1c923b74fa50302047c435bb50066306402302b886aef3ddd3ea61d7a74817789e344e38a9c3b652ad7f9711533a94eb4670d94e6b6c237ba99927e0ea089a656677b02307a96ee69199e0869c099da30bb2f81e35a1fcb59c43d4e04cc0cfa1cc7dba6037fffe10ddc26ff99df10b3c38fce3a650302047c435bb50066306402306aa12c822736f72a938b72921f62132759af3a974f3a2a810146d8fd3945c30abf819145e74919e7e1ff2e711dbd2f5102305c008130c165fcae7611ec4835a10ff43039d6d3d2abaa0fe4be41cf86fd99af45101031f439c629c4affe1f984246750302047c435bb50066306402304c973c6c4ac8df41cdfd623e75b2528821049b06875d5cec2c1a7d0a806153fb8b6d4cb3e365f1e2da8a03717f13ce6802306e80735caafc33621aaab2a719b6bc96928a68b2ce83d9ef04b3fe825d74cfc4f0026c05b01896e7d9afa81e2f404b6b0302047c435bb50066306402303de50d1541394af4ec1930bb8726054f20f1cc19f18aab7d25e63b26cc191f23b44363c6549d8ebf40f77daa8ff9008102301c26fb6c0a5235cec9e7d3d9881da3e6d5d9ef75979850fc5049882cd9df25434f49f535d8a724f1066c7a5144b8d88b0302047c435bb500683066023100ddcb8be9d60ae17ca80d8a5cd2b27d116ebd66d60ab5cd6ecbdf0a26e5cd6eaaeeee12d4079f9cbad37a1ff543cbe71a023100ac2ab0fefc802b2e2842dd6e4386448784b516ca1dc8a10a7bf382871a545c51d902088483a0f4c994f17e77721a1da00302047c435bb500683066023100f59a6b3e6a9e2d401282e01474bcdce3f4647665a7d1609c6e0c71b6b151fd8d866908e6a26f0fa5e8bc51178ef55bdc023100e7b2d77411fb24396bd0fcb691dfec0782c193b1944a9505fc24e405dd94d1da75ada14ae5d3859b534a906d506bd1230302047c435bb50066306402301071bc5841d1dd8571e8a5454de24108d087b2a93f929b510dc81a68444dd61b07bc769aa4978a67997d1b96332f832d02302b16fa8be6987756e42220d72123c8736374dd3859d7ba182ee067c80fddf2d88c2bb335f3aa66610b1aead54afa1b240302047c435bb500673065023100f897bc37c2abb2c9f91b86b2e69e0b67795fc3c11883609213ff9ebf9555d60603511b3037574b238aceaf64a2425799023018d2a2bec709ceefdae42ab75b54e865a4c118df0a9ef2868f4673cd2df16421fd520fd4179a1e0e9d03a888623c3f490302047c435bb500673065023037750f9883ebc3f466af4ebefe909784d479dbb80c426641c2f3ec4129780d77cb719b034542491f6b2700989eda65d1023100daa3a7853db404f73bf5a4daed314012e7efc8c3165c3798f653dee2896cff96ef9cf38a0332d2e723796664b5dfa5cf0302047c435bb50067306502302617d982323df106c2a1c6ddca055456efbb96eee18c79583288fe6998bf1bbae29c2825551c7fd1c0654e94c0aef421023100ea442347e9523a59359f152978abc90705f38ec27e74a2474a5714755d1c68d18bc39e4f8f7a55e7e46db2450146f53e0302047c435bb500673065023100f2c0dd1207dac87f1175348ae50d8e30e857877c86ba17442d8029061e486d77cd9b215f2753560360e2458036c0321a02300a15dafc280e99039a1dfacba1e78c9f1a404f754f8dbeb103b6bab2b70f7f0b60af8dc7648cdfd807d28fcb17eec86b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e2648d8f8bf724f1269b235f49ec1a33486523da5df951371cdd3e3f5ad69abc0dbd8b9657bb45c62c3bf070da24b93e02307ff1eaa573416a3b6ec3f247878802801af7f3231ffa755e8c4a4e655788611070758f56cf3e4110667965341822c34d0302047c435bb5006730650230316d48da9cbeb8c9f66944b4ae1530a05ea6ebcc29f2b81d6d270bbb7fac58305b8a361dd91109450af37dca3257aa9d023100a69dbf52de36f01b5f0f67437cee83576a9ec4bd338a6eec9e44ec2d9a954903441724f8009d5a7a6af4a794d200550f0302047c435bb5006630640230075731cb5ac12643e66d1ffafdec8afc135aae5057d189f81b7abea97873c43eabeeed5efd972071471768f42f669f6c0230455b844e188c0bd453e04a116c90799f4d808da5100402633f3ce80e97660a58890fa8027ce578b2d859fb6ababcadbf0302047c435bb50067306502310094a7b1aa011e4bb93a54d05f90779f862228b1322ea3c43065fbb57a9083a87999ab83b8b5250762e6f5186bcc41cb5202304e493d97e1e65a6efa315c35971494a2ba587e4a6f2bac7be795edb78009468f66f013e2deae67d549186686c0cef0920302047c435bb500683066023100dc0d79f2b21cd5df0293398ea6a61c0f8eb02730fef550377f0069c7c208d9e3eb5a1917c218062401a8cd9307599017023100e74d1ad325967fa6f61d540acae151a5779767dbb750ddcbd070203c75576276557ae89877063cdff19872c2e8fec47d0302047c435bb50066306402307a842425c2c9adbf7ceca08e693659c49024b3b189f2024b1e5d8d03a8ca272d910bb2d92726321bd4e073478c98538b0230439c59d62f45dfcc0a6cb6e45701bea6add9bf4c1337598095e361b7cca83cabad38836d48e78505380d101037be95660302047c435bb500683066023100fdd416ba2d7ac30ee1e31d1980109db7d8aeccb23a379ad5b9ee68db323b735e682d67d4d10b3f21977b0e8477ba3aab023100f32af87f8ea21e34e6b7b7a04f92e0caa66b55ad19765fd2e07a48561f8af5b7be88caff9f56c97cc3c74b9cf43bbcbb0302047c435bb50066306402306e74d12617fb21557e96da31e19d0b5f03f1d498f2dd3dfce3501bada7d051cedae66eda08316ad7064d767627ea3ea702302249f7f99c4bfd1747509bbc211d42be4df28ce118f6033b1d9262219eb13e177e4d1483dc3a987a40ec28471ffa75700302047c435bb500683066023100993e2e3be9fa01ecbe650603dfda5a45c81fc76f825737f65d80c8cec51ad2cbe13dbf4118ad73e9490a9d8ea1e7c09a023100d1704206f54e90c4246827682e4148df258a91ace0331d9135cf0b604ff6157ebc3d7b99fbb93883b33077777ffbc23e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f38463f7577b9d1b79c368b4ffdd4d46be48a0ad4fdbc8b0ffeeb8785f7105d2ca5f2ec7cb707daa0bea7a34111aadd80230321db0d59feeebd919eaa4d10e3f533e8481abb21c9a432aede59d71d6f70ca79efcd903a85aa94382c1ef3e379c5af60302047c435bb500673065023037dc725c2e186f4b9670169f9d3dd708346be2f53b72f6662b1712035f1845221491567a7a7d44495e64209bb3434e86023100a7d3cd76f0769c8cc9e1c468b4f1fae9a4dd3555a3762606c152b12b1aef8a14be2a1a357da5eb7a18458ab3f90b78560302047c435bb500673065023100ec75275ecec194415d72fa2333f6ed7b5bd366981c484da274ab829ffeb8dd201f2e4f6be70260a5bee9f6665307b53802307a9869e5a302f312c82952b4276825c4f18baa150de11440fd33c2cfba9233aef5a3940461783619a1ad5c0e2ac3acad0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c1774d09f468c5fd623b0a6ec6b97349b68a92791f33b0d400bfe800b5667faf17288951d96e3c610d1d10a09c8b72af023100ddf7590ccd42d5cd9be36108eac51374e887157bf35eb84c141e42b3de5bd214f10a9ac5738a5a2353d2bfeba7c142f90302047c435bb500683066023100b96414c9fad390a1e303bcc41c007ad726a74245556b822748cbdcfe12b1c7140e0aafa98a3235b320031202813818e5023100d5e37d433d54da563ab2b541627c99ffe8e4f68a2651e9093fa419cc8a6e69ee37444b5068c9174f8b1ed728cb06bac90302047c435bb50067306502310081973f0cf6d352fad022e1aecc30a8e83a16f866c5848d5cad02bc8244fda91478228ec66eb379e1e46cf1bb146fa7e102300b1d211cb3ab90b2d885d7f1712c11419f11c712dc8e6e07526cc88b68b09733b2cb287ce1d8ca22fa5cc0f533f39c220302047c435bb500673065023100cb500422903eeade9fbb1b45e5b2705e90bba98fcda5889c0c45fe02f35e3d5f99adb334f348778250b39f38e26bd5b1023062507449b705c159ab59653a886676bbbfb864e3bd72f1b955f9c4c6a8d6a5ca713b14911fd5c662c0b6047932e106ef0302047c435bb500673065023100c9918f175bdc7b684ad0ae6136386121cfeec7a69bb984b123cecb88e41c6520bd9a35ae2b4221a12a267c3b8f0c4437023023a45b94b0d3651e587493d9df2b63d2371c08c010e8e8c64b594806bd306fddf23483827a36156a692341fda97730670302047c435bb500683066023100fd3072a471670d435be968dc859d7b5ed9572d1b414ce6767b0e24b9927f9637f6ed7cc2a77382985c9f0e6671fb8d830231009e134f6c42228fe3fa4e68c385f8c0a2353de3e4ebf1694c35230524bdf3529194c8809b27f264023e5ceb341204ad4e0302047c435bb50066306402305c3a23279792705f96ed17946cf4bc4dc76194e5144a4035caad622cba5ab2323c54cb63f31a58bc54418b264a68069e023048ee14d92140a704cdcbddbde1bed180086ae69b60d280f5d6edda4a7d5292be7dc5ed27aefba8e4ce85026fe65f9d8e0302047c435bb5006630640230557f57da36b1b2447a7e26474c995a994a5b144af07fb7f4252444d63d093ad14ad0fb5dab7d4b0f6a96b9c80dab3a5502304e46a1a1c0f2fc097e5df2af6ed9125644d46e1eb557226dd0d6c5279f569e11d07474deafc2b8b93ccfcf721d654aa70302047c435bb500673065023046f908ed836809e15488264fde32b391f615d1bff52348f954a250e9cd2e26e159d3d65b3e49a23e676c9212be489f8e023100da26aa8e0825dc57869e703fabab2de36f97496039fa4db9dca173660b390f7e1ad702ffae22ddf798ba1e3b752d76190302047c435bb500673065023100d2af9956fdd36da7d2ff0902875dd916c134d63598ef02fd90f8cc79a34044d7df6654ed853a028c0a76f94f777ee840023012576d29428a4863808193c4417fc7750d94a94ad0879490df6f65960478cb2edf204fdf16dc306b21a8c828ea3262e10302047c435bb500673065023100cf1b7513a30257836f7fb992651c730a074e3f7c04342cb19b9b54221cfb28b33c914bb6818e5acb364b091db084b0ed023044f5553e01263def8e6e195e12cbdd27fa4db7fa2a5f83230d2ed795443cc5d37c2fd03d4862876feea6ef21898c9a8d0302047c435bb500673065023100a19529cbb64ea0464e7c36635847fc283fe63c710a459bae5fae88a72db17f3a136572e29b884924c428bf3b450868f002307f390c48f296ac968e17eeebaf19a13409bdbbad7f2da5b609cb3e982b62d34ff1ca4c769a72cafd2bdf776221690f280302047c435bb50066306402304ee0997732f2ea5508d73c6642ebd125801b8e0f6f9a47ecbb0f9bc5ea6bbdd22a969edf4e66be776515a4a729450f1902302b82f855c82cfb6949a9863f713182e37760843e8dd4a40e286b596c55fc3b84c34cd9b0edcf4979f702d0c713f470e50302047c435bb500673065023100a8b86df229c71923e4ed67dc5325c42c494502ffc9301938c1acb3947b3353e7f3aa69929bde257a37f18a040379b9f6023029ced9b837856fa3f43b1007dbab99b0ffb6b78b5fce48e824670cad8a818edc9b83ed8a64dc1a206890a70c934bb3300302047c435bb500673065023100e07751c36a4e1b6e6cf47fd8a0a21ec47cd428ce3e9ac692746f650683bebebe8ea749c74fa83d242f174798ccee290002300a63e7023fe0d162880fa3fb08c55788cb1fafc934fbf1557e52eac22d487f4653e10f03ff361a53dec86a692e7c59200302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230459e4b083fcba0be81a2bf21b2703983b20d8664e644abadc3d599e7c31dc5dafc7d117bfffad3c41185a155762d93580230420542085b5be173ba109d6b05e062f28cde238318a742100263846a8a7dfde6d737b919fc97af40d245bbd0ed8ca5900302047c435bb500683066023100adceef47e16572fc4fdd3dfe59b1cf3c783c3c5837fc17523a13f64a98044f8c06ec91dc3e797969ab1ecf73f3ebb385023100a98a4c3be7d53add7185ee13fe9f2d4b92acc196d678a79b955ef4e57823a185f319aa467756813c4707f371f89c49740302047c435bb500683066023100d98fccf5687c24dae97a51925ee0f825b39ae80a14486d5b91c1c3e830a0ec42587d34e2809801ba0a03025215faece3023100b112d9a685170d246879b92e22e94656500dedda07c29a1d3267382ba56e7fa6b84e0f943937584904e1ac313ec96ba60302047c435bb5006730650230086ff5ad196503ef3882f5bc73a40eaa0f17fd34a8d3f5ce44eac0407a6f09dcd1fbc0c50111c3fce1c65f447045aaee023100a684a060ae707b5ed2238020996cb308fce7d345bb35de48758f0ec9351c72fddae98a0690b17a74a9b9916510d5f6ce0302047c435bb500673065023100f19d3b6ba597fd44d996a0747f78697bacdfd7ba10ab2e6378f021deba3dd4e55ca01dcec2a4e3ea9abcc3227e003f2d02302bc9d43d26f88af2bd6e054f1763a2243b4d8de1d46d54412d0dfa637844c91bd652d3ca4609a878fa49e3c94ce6d14e0302047c435bb50066306402303528a9601127d8f252f36cd1e755bdc798384abed3890237fbcb9d2ffda3270ce066e635d43a8a6a86e5ed8bdd68880902306474672f0d3fd68c231aa15003cbe5ed3eb8afc55a391cc29aac05a688345e1a731212407e02e297071fb8a5acb106520302047c435bb500673065023100d186463b3581d2edec37eddbd71a3bbd514d41dfae3bf5f80660d418b2befb5fd75c7032c5e6783a937aaceac7dcf6360230585fc0fb62a5bc0f4a39b2bfade48a54cd05f1eba081887179797af3def39991fa7a844c3f3c60c632754b91fd6ea9210302047c435bb50067306502307780b288f26d32832953ca2147b9ad86ca3c47e2db167da0f440254ba4341f59cda4850f96030d6a9446f459539f9fa7023100cfc9a9cadc54b5b64449ccbcb540c934a0096f9b79821bd502545923793dacdecdbeb4315ef67cec491b5492315017550302047c435bb50067306502302e5c10274a6b4be1d349174a4161d5247222d9a02f324062dbaf15da0a2205743cb5daed6df022ab7a077bb8434e5405023100a45bf88ef315e4f5e9e86b102826e3aed99a76ad72b4104ec86a81291b260cb4b449ddec712818e53b000bd3d798df810302047c435bb50068306602310095fd2ea4c5530f7e1a8b8540fc5cd29177707832362cc5722b7cec66579da7f484b4683bd3934620f42d562b53883702023100e14a47d1112a85daba2e2d2089e07ac399e76c8d1aa52081bcc1c342b9270717873a76a9927f4eac8aff79cc7e7ffeb90302047c435bb50067306502303365640c93928273d5ea93f6925a45e64ecf8710ceea7ac23ef5f6b507928cabc7cf5d59ccaa0f189cd58367711a199c023100abb678d6712d9e4484d284e8e263430196aaa48a7c921e7073b4b03b2b65f42d604af1f7969f5f19e666b2b511abed450302047c435bb50066306402303ff31c75bd443ec8fd8739d5cc9603feb7ae79aa5ab4ea084ef53532d6bb39c0cb51c5c670186fad70a4871117071c69023071d0ce0c4bae305535ceeb7bd7509587e2414e78175ef738be685d732c4af4b84c71bbb473d34a0b943268b4f0216cd50302047c435bb5006830660231008def985d8517aca1c00b7b46f255285930b8bc8af5014b86687b79883876421380b88a44bd8b54f64363b540dccfb8bb023100eb04a55bc9f5c19543460e8cd8e5043ffb7d4a040217171e49172fe5e07ba041a0f9f083614f7349dcc20079c687c46b0302047c435bb500673065023100a2a9a9e0adc39c413188c5552ff07214e691005b0ab29b8e1fbfae510e9d9551f3616283012410773bc0c39788bf0cfd02302f66ae31bbcad1d2152d154037787af2ac2853b2c0b5599a184d5ddde2dc1127db64ef8d83003ad21939c9ecbdf2b7540302047c435bb50066306402300b46c037f3c56863d43f7857231a21b2d640a1eea055bb1ed7d488809aa9e5f3c6dac4e0d009faec834dcc3c4918597602304aeacad28ab98de72353611f049082ef5df65d2d8847cef4ff317aa3706d4dbd355a790c0386ede120f7df307d50b4660302047c435bb5006630640230103417af338eb888db6b1822f1e5447fa05e9e1dad1394e2ed7ad51dc8dd964479fd7bc94861b1d543bdead8f5bf6d9b023041ed4b4f3f0794e01d1793827b13ee0c61a8edd9d54e6c82135ec0e16cf02b7865bff7f5fa2e2c909caa3cc8eeca79f70302047c435bb500673065023100dfa84a26e4e26e081785afdf269eae0bca13f0b6186ecf4af788085b64be898cff479459f21669dd20450f0bbc2d59a402304b98a7ab3f31f102ee34d2290a1963249aae8ccad9763e2324b505b864a615ce4edfc7776df580c3916e36ad8a595e730302047c435bb500673065023100f5ac9ca942305fa0e64e12e91d6fdb3404d370e3fa905c33a634ca721f8cc9cb6e00a95c20874dd87d873ca08724f25d0230365f9756051f69e47fb009e6f6702de997efe678d7cb8e2edbcb601e20ceaf902f9847588890374459699317d0a07d9d0302047c435bb50067306502305eef6c013ddb783817e6550e626cec25113436ea6e4c696838d638bee11f712a8925d5a1d090d078bfe3c334f45e083a023100e53ddcaa46a27f468456ebf6790a88d906310a890e2a332e9c7fafb8fa4c3cf234b6054f44ddfedfe4ec278581e4739b0302047c435bb5006730650231008c5f4c5b0aee6cf1e70efc057f47bb31c31b752f89cd9d77153eb1f1c0e193c41d9e57d12af8683b2348ba87623aad5f02305dc46b266ab448d8c1b8dccf104245fea23ca7fa05ed70232a61d06dd89f6e662f53a435bf38cb1390e661dbfb27994f0302047c435bb500673065023050ee2f08abbc88045d82f4ed97bbf1b52c53f4db34712ab62a3c5b5a793cead6ce0049305e21d0e3d9ea74a32a733fb0023100f476eb858b7c676aaa4fe0cdaf217bbe37fd4f1ea22e7b1505286fa09e5fc426d182217d4b008be0f45a910f378ecd1d0302047c435bb500663064023007863ebf0ad40817ffd4a22ae23c17405369a1fa7b7439f29a63b678257b5f12dbb5b32979f8a2abc87d9c56720721ed02307ccfdacd9c5bb198e4fd0c86079086722ff8881c08fc675d6e55ac2f4f6f40c134a331bbe700580f56499bcc1ac387d00302047c435bb500673065023049a2559022c1791cd981dd5529c72f001a7cd1a339fddf49f795975da067fbda7b76b8b6d72588cd84bac72dd94b8915023100cfe02e7dec22476eb97fbb31414dbc0b9fab046148f28c766ee80af5da28e2e2e87b1dad5899bc3221ace8ceb375a9d00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eba2c3b4264cc565ef96f883cc29676468a30c8c2c421b7fddce9bf2963b17e9443e59cdcbb2731c4c4851b4d33b45bc02300089f8fa805b4ae679a35504efcd4ca35080b1897c78f80ff861735a2cbfc51bcfee777e50b99bb68548cfdd360ad52e0302047c435bb5006630640230530e90cf26cc22815d19ceeb346ed31fdfb0806a9e4f1d8faeb654267f6c200156de995a8f046354ff4fac82cad12a21023065fce7493ea5e6a562fa03a2957b4c1cab286ee2b27878b2b6d150c7545c351f42f5398a29974f81c7f1c6f522ed76db0302047c435bb500673065023070fd319d5818d1b87c372e59be924fd151156e1b6eca2fc8526129e12851ab705142c9adef60dec70f6d721ecf496f4c0231009f761e4644a1bbba5206a48e3dc57001356d25ae1af40aed855ead4baa3a6c73c60be93f912920bf4ae7c93f953c3c4c0302047c435bb5006730650230245203b82a986da0fe97ae5b1e01cf0193ff2150e8bd796a226fa05920895c9f5bafad1df246980e04f4461584d5b3bf023100dd9a088829162b290f3be85db1440e0eebbb9f57a70d7c587e970d2f9153034cadd7797e7c8c3cccb9dbb0e801b4b5320302047c435bb500673065023100c54a4298859297f52765c340832569410d7cce413458a74102417820ac81c08534319c6edd0ba5b6499363f51669f3950230356ba90a506cd3fe0ad86c6183bee11911d4be1bdb7bcc7bc5a0ea2a5cb76ef950b3962c40ef2f8e57b052cbcc5af1680302047c435bb50066306402300735036bd3cddfb3b834a06c5b63cabac441168f1cae139918c92ad53e25a76a1197400b9ab6a889b6af918dd46bcde302301eb1b4ab10395bd9479171758b709709fc55e783a25edb78463d5308fce0f5a54b887878bb57d47c102e56bdf6f3c1ab0302047c435bb500673065023010f4ec23256e0e536225d808894195224dd9a835b102ac552c408e2001ee865754a56a4ee75573c159a1dbfd5701c3d2023100bc55dc876d6d4417a8065a525b95a86e45b1901fe55525da44cc453f41f2569d01e7b16ba35f600957c9603a68624bfe0302047c435bb50066306402304421bfdb64c39c2df1327de1179caee797d0b529a584e8314ca4908e6ce13e4fdf12f313eed0ca5bf4305e200b7f2efa0230586d5d23bd9bc9f8026628647471b4ed43d236052a7f84265e6a5937af3a8502369e79889a4b82a1a3507a550ae08e450302047c435bb500683066023100f80014eab2c1c08cc2cbe539bf1aea1a2ee62eda7373b9ebd536bc38255f6f0b113d2cf56a8124a9b1e9300bfc9fcb85023100ff352ad5e6e6d9e7bcd413de07a0a0639fd3d277084a6d2b084c6144641be90db8a85d03278f75a687c8e8aefdd118600302047c435bb5006730650231008f8cb27f36730ce105f34907a28a592c0c547dde51b5112b27e94e473a1fc1da5bdaa14d9ee8445bb5d9102309a30c6302307aba91d512b5bc6a65210d82ce04e858fe99fafd311f670477f83392c85972f5da696ed5791794fd7d7f39f9c5d038320302047c435bb500663064022f48f8323b85f40c8987b82a01d1df12710001f381178b0d0e3df137d7484459d30460a7a0487c2c1db8bff3b3f8a2bd023100e048a52747849808095f24f8ea1019e87ac4b1b5ce4961b6f33d07dca5bbb813db42572f31a211f999dd53691980cb910302047c435bb50067306502303d8ba187b499c7ff042b7185dcc44230b6378550e403d53bb9ebd8e97dbbf321693c15c2d556104785a219991f379198023100b428141da1c4eb8a10fd9cf9b0cec9decbf7939205e84d1fb9b06fc8ab73c5a2e088fa58ec4b7df6db244e611e1cfb920302047c435bb500683066023100ac16a326f1c17b95b2a941541b24ed6bfb282ca650db9164032ced283724e43047fab12b92415601ad25ddd37868ef61023100c644b52c2efcc89dc6b187c0a2adea861d1f10e46693df30229749a1bfe4dba69e6b231ce9284ed863b6b8952c63acbd0302047c435bb500673065023100c97102023ed49afcfa4e8d63c6306f4e2fdbe1bdf4db77e192be2ad87d771be8563c5d80982fbbcb0977512df35f9e62023016364db6e5cb2221db301611b559a38ed02c3e4dd19c27d637b7531066f763a8f432832d953f1adf3105dc3c6bafa0380302047c435bb5006730650230230498bd5b8f437f2de32a82bc86829ab1bdd7641e434ee7c209f6b31717151c01f6e9ca44fa6cc6c1bd2bf19e250d05023100b42a5d144bb0aaf8700279774785e89a80acaac4aaa760b0f3c59140cf34820a2e6be06909fe2e32da01009eb955f05c0302047c435bb50067306502302ff67f027765930a940a4c2dee1b467f9bad847b44ced9f88b4784b6c387158e4780b4e76f2665105c4f11fb7e9a79ef023100960374f31d05cee2919ad0eb32ada4a58d2c4abc56a8141d386296cac9fe7c4e05a7231e51f4c475d3f53236f0849b800302047c435bb500673065023100d1debab835463d1bac906745a0600db476c4b55675ddbae7af5b5b0f414573792cd12d1b356b1245e77bbc20e58f03ce0230224aef9d37d9d78477c80620d75d2533c3abf33533d40cca76f177d02ac7b9aeb1af60fdf7e400abf1b1f1e7d6098dc40302047c435bb500673065023100cf66a9fb86eb41c4d069d33a571f26cee61ddeb9ecf5535455200d4baee391537e7a7712badb735487dd15e5023a22d60230272822f3a13f89ee98b171ed044cba2c679a9c11e305b05b959cf7b51a7fda08e5c61d7f5cffff3b249facee251fe08e0302047c435bb500683066023100da65da21032c07569274719fb88669e70cf8161f9453646836591861e091ae32bf08b4c65276cfc32c48fa99f164bb620231009b0cac336d2604db0f2874d92f6f448dfcf6deabdc86a1a035419d6225d5a2c2345f848c3cca0a3e3fc00455f6ee119d0302047c435bb500673065023100c0b46cd4df5d9076d56d8dab4754c0e8c75b7fe46f25f4f4da377131fd7a8503e342acf9039f3b587e5f7ae6d649a46e02305874d29dc98308ae9d4584d8978f3a2dfbeeb012ef8fd134351701872b0647627a601084b1120807f64f688e2bb35c370302047c435bb50066306402302d1963b67092b5a9b26e4845acca15083fa855eaa57dce0ba25ed45d541a6baffe20d248c051458ebcecb94893404b4002303ed8cab7f00147cf997db4376bdd03498ecd4471e47299cad7599fc5b56e32b180eafbba9ba0dd355f56aa1d33933ffc0302047c435bb500673065023100dbf1f39c8c916992fb39b64e8f1a243194a2739acee239d060a4cc379b5e1cc183e51ca2010f360aa303dd07d7e7831d0230581a781a1610a5a09fd7351d0ef68b0e5bcb3c9a8aa306906793a6b8608cc16d0239d5cb12d6160e0b18009d1ec1fb8a0302047c435bb500673065023061980056f26f24663623a6d6481e3f8a04e86ef35fc3052bd0ea9ecfdbc36cbfc4ad48ce27e1d84a9770514cce5ce4c4023100f3523ff82ed634c6f082f93b295b98a010da2aadc89ca5d31e5ed5eb5e412b0d1fe8d79c86b6c2c04893e682457ec01b0302047c435bb500673065023075755a483d351bafbe8de8627dbb43468bd597548583acc4f28d748b7443a256344469cd5e6b0999cc4ef7426b85b93b023100b25575c94b5cd2198b60a4297b1db05a394c65a43badfb94528e5d4345f4b7177ba4a98707cb5f399a339c418aefa59b0302047c435bb50067306502310094e05622c473e4d5bc7ceb998a5e536b3e17134f59dfbff2ed6e1bfb97c0247e704fa20c5cc331c030fcde8098093bd4023063115eaff9cfdcdfb3983a553e59c8ffd3bc206ab0af919faf1647b25c3f10802ffa431b81e057eed2711f38d90d16f80302047c435bb500683066023100e66878f3979083c43010f01a73a37121bc495b004a70892ccaf945ea3c59189896dae891b4ba7d28055c36007743da3d023100d742d678787b2bcc5342237acc185709af2e147a7f37d7c40d55f10b23ae76964b9f94caf114107db11d5ff6b096cafd0302047c435bb500663064023038658039943f2a1b8a93cd37862cf477cf506e6ddcd8dadebef5aef5a7f52dab536850ba8822b3e189c9200a7c93075202307f65080ac1a68a4dc0cd32b17e369e6d5e8d328c56a102f5452dabea2079a5866996941af0eac9095b7df647a4df3ad00302047c435bb50067306502304db16376bb2d3bbd6ad7bcae5d6d074cad2b9445f804d8018c80f155fd8774f4cc88ca7335e48a5985fac4eb03f64efd023100e2adf3cf4e06c853d14300098e39ec08560ac2c7ad152c31125bd96ccceb87a8d302c6c3953d08d9475d0cfb88a46a540302047c435bb50067306502303fcc8ab2b8be75466edbf8bac17f86666e29ac97c17afd0273c9d8458aee8ffbad453b54ccc87892c725f651a1ac8b7a023100f99753c25caaae437951d750a39b7a40a05824f44b82522c77425f2b10940bccae408eab728439b1223dd9f94be311770302047c435bb500663064023013c3bf7e1dbb922030a85a6726368be0680bd2c705838fbc33b0f92b8f2df6f6d811d74c4a2a73f72cbb747f133af33302301332f1c8f7791989c941cc9fc4bc323831e9f877b38cdb2a4161fbe6b796a9c379b010efd077f4a34df2be4339ac5b8a0302047c435bb50066306402303dfc7aa0c0efa6e666c63a42d15527658021b1d65066892c31518c0fb358fc5f12f9c8f5cb4fe4b4931d488c0ca2a96c02300ad29e09b312453a9f369eabb0bd56ac7613bc50c22ff7813dbd82e996240a259e3b2ebdf06f07dc5c68cb0ddb2672ea0302047c435bb50068306602310082e4ecb3b48ee88611a116303b8a532d94e853b5db847e25ece67df4843d00cc7556c3e861e06bbde10bbb2a69ca31c3023100f91e8083cd905115a2ae51f97809c42972a6823cfc75a15f98ab9b06c7e40872d334e61118105accd86d36642d3c5c940302047c435bb500673065023074148de8ff601728b9b7e10ad4a6e870d74289b1bacceb48024774882987a5cb7b571ccc91ab5cbc55d9f1e66dbf0ca9023100a7668b4e0edc92fb9a14e6ad64837e77e69f5a629945217ad63e99b88fb2df5294f5d178338684b36e755200f641b6da0302047c435bb500683066023100bce8b3e851b7018b4208f001cee8dbf9f1b931e8ead2fda5ca611a54f399b9adda57979ec8f2610f869159f740eb63d4023100fb329eef2222056dff48ace58bd8103d27fd743dcaa327b073f3fd20f77fa0bf861a8bb9f7b561b5ae0db777df9172ed0302047c435bb500683066023100f118db94a9021c943d0172cc8f596c14a409d79ce339ee0ebb611cbf5743ef96c8079112ce2909a866defea71516b04c023100adfc9d95c07e9786ce8843bd8d2e79da78a98ed7ed7081fd1d53a43e0d38703e5b822d9103ac1a21df8f013641d4b77e0302047c435bb50066306402306b26bcd4d153be2623cdd44d41207b6c5fd909c63ee6e1009c34a01c806f615c888575ccfe249eb0906dd5b32395c6f0023043ad878ba9497dcf97dc32851f1cc9b60cd9154993ac05964be7edc37b55dcab4aed6c17496fcae82722d007c19b98c20302047c435bb500683066023100f6e6b4c766023c60102c9c4ff11e701144b76c7cfb8b813d1d811566032c0a47e6e94766487dd12096c985d8c5045b4e0231008ec971b433020f6efff7bc4452ed643afca149bcf7faf559659641546793f35a9ca72bc5b5a49083dac8a15e5a25a4570302047c435bb500683066023100f7ba86c74e094c2e57c02c53e092dabb9067beb6b43577992d2e4caf43923ad68a5ebd70c718df82cfb59a04fa9a7da0023100b1899eacfac70584c98f71266909fb63d627fdbe58f7c00c094561b23f2e30b56f9996decea680fe4be8f75d5e00edba0302047c435bb5006730650231008757315a0427bd51ef6dad274ebde84b011f6599970161eb79301c7c594f43675336edddd154274d97b275b2644f3653023038c6f7a1a0fa62337ab0e4a508cac2bd55bc65ba5b561eeb4fde6ed7d6effd085b29e23d95d194c34d59578063c1f6d00302047c435bb500663064023017010a1d18b0dc0f19c3ea46c85dbbb0047f652d25927eb018c865525298694da7fca5762c6b650588eab87eaac042fb02306c8b3ca9538cc271f4dd2449bc14e3359b8c9b72a8d82b2461eae76f309b5c7c875776781a8f5dfef0e301c9fae472960302047c435bb5006630640230224707f57b457b0146a84772824ec646ff9b567602903a47160a191d15f4c67168098aa5017af1b1cab20681698129eb02304fc2deb32695512bfb24a4c1c8256e786a307fbb73f3072b81dc614b89d459740aad8a01850a0eb0d8bab04831f4826c0302047c435bb50067306502301b3418f463a89d3da82078059ebe784a7233724f02d0c755b76081a03424506063ede3929cec674a25e70bbdb4a31d35023100868af3eea4707424aa4a1fbe561d9518d44a58d835a736b182b518b4ea08790ead27a080714d9584bfe2670b1543874c0302047c435bb500673065023100912c453e0af5c2bf3cb0d6fe2a39de3f0321957c4c0cca1d2d444343a193f033325b0ab8003bf4c1966e7d6f67912a890230509745b6aec252d4e2e9ccc60ffc8e9632419a3d063cc2fa040b6a7f73f04e5785630c60254f2ea3919a621d6c4feebc0302047c435bb50066306402302a0e509b9a36e618087020e6402add70a82ab3a1d37f29ac804bf91a821bb437bc04a8a330ba85bec1c2a828087be8d60230124245f371baafa87f80c50e23e36ccb47037905499781c6cc03bffb68fc40bd2ebc73c3479ff671cd03abdee60c00480302047c435bb500673065023042e8e48f52b3a2b7ba301077e49a05d27feed8769ad51674a320b5975c6209751d5a527dc25cff428262f6c003cd2e820231008e36b2a16cb0ed505e1b343699b9a7951ef7c0fba6bdaf2e46e0abe7f26ce94409d82b9d952611e075373d90aecaf8a90302047c435bb500673065023100e479b1634446e1e59f001ef7127dec26fcd197b502b6856fab65f38d33ba74b94e71d92a4ce20deb1619f4d707283202023011413fc7531a8b964cc9140a84dd46202286170b82fe289996188ddd2d9cb0cfff63dfcc68ca21c8e93f0107aec4bfd60302047c435bb500683066023100a0d9cc5c9b0d5828a08158987258b2e8ef36e48c5a41f6905b0d1e4f4708fc10e15960f48bcfdd9d355e9f913fee563402310087659ed47b69a03986840c433e936e45100f14b19d9decec94fe375f1d89273a00f431d14a74286ab15de5e5e217665b0302047c435bb500683066023100d749d9abcf3689c94edd55e73e5883b7607859c565ad87b0e24acdf13ce5e746757b814adf3b7efc160376d673436d09023100a40e53df19f4bf03212ddd811319a8044d445d2e17ea73eb67d5edc32ea94e1854748ffbd7e4734516d6b9eb15612bea0302047c435bb500663064023036d866f97d23ccf5874e5a4b7b5ce3c42922c4aa7517215f5eef001a912da5138b39a64b9fb132de8e452e4cf5326a01023035263636c9c590a82dcbf7131345e486b8d8b660b5e83047de3a2d656faee6a4ec847c2aac2bd26d3c873ce64210fc460302047c435bb50066306402303a2f2a855b23f43dd41598a051821a6719734788bf4a23a27ecca37df83e1074dac1be1df84a130c7f1b75b17026af0902301b763cb2fd1094e794676c99c083bd837bac8453552aef8e7b4e6bc2926308f0d35ae8cd401a81020e52af8e474a4b670302047c435bb500663064023036bb6e926ff0f0bdb94e44ddaf500e4f3da9445e022357e02e4309b6ebf6d744af068d300245cc511a3a74b2ce469bb4023017518262bba46794df528a1d8937a884375378993a37a6beb04e9245442cbd567a77164bcacf60f1e1b4b371e4700e240302047c435bb5006730650231008961d731f4c69eb78c8cbb54135e7eb1abf80f0a9d834fea8cca178e511485253228d533c94dc42ccc38ff60da88a3b302304381c7d0791cfa77b6e789842d55ddb61065ba5b5fe1f6a7635c88a6c5069a5dc2a05219d471a05ee3d8e25186a6ee830302047c435bb500683066023100981b18e545b985a9a35f43a75b121db4dce9192b314c8069bad6c308c12dd9d9f009f1b37657c9cd36bd881f5a60f0c7023100947ce053a6262b488bc3e86af74b35557e7f300ad7e46a293c1e087a16708932bb0b544a579662ba09fefba8f1d900ef0302047c435bb50067306502304db1d8e8a39256a45fd6eeb0c7dabc56a1c5a0027abf0ec3feeaae1a68b3a87e9154ef692f74079dc78c7723bd32dd89023100d614cad547ebac19dcd03f64120b65fb194d03eb0439c8779cc7a259c94a91333fb851c76155117c4d5ba15a9008e4a00302047c435bb500673065023100ac0af34b223dbd411f4152f2fc967a3defa240e94ecab299d329d0af586932b2ac2c239360a94ed944e9251290af203402304bf32bb33de418a0ce92f1310d17f971c6586a15ab1592beb74c11daa558d11be76c3be7526a79063820997e1b4602080302047c435bb500673065023100f9aabd6df4fda10e5feacf673c000a5d69c1a0f00152ab09cdec93a0f26cbfec01d261449c655269f06b9110fc13a5fb023018eea4f22ae1d98dc77c616cc7ee093b68b882780bdd7a617e4f8251e4f083c07cdc2d5f111b3ccdba0574b4960621f40302047c435bb500673065023100fe63978c0e45bec553c8e25d7adf35f091838d23bbdb5b861692a88b0dde55545060d4b0f0adf3c2904e849d9f95b9e202304842b7ca337d5273eb160b453006f5b9060dde6ffa7916d2ddadf99ebd3d06b8b121e9e4e75e5e5327d2f1357e1b4e640302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300b359d3fc783294f07d5b6ec12b5c846df98a1a9e4e84020f707928b2a75ceb24bb9d06f1d2bb889dd3dd88064303e98023100af78acec16a579c493079d55c4f3af35eaa3162243dbe6a76d1188ca970ec2fc9a76778df0181076d340196e10b072a30302047c435bb50066306402304e26b93867497b2a5fbc946047a27629198aed51a4831a042e035856c1f87ddd41057ccebf203be9ddd7a2d207e9679f02307e8b5ecdabb207f26889034087569c370adb2d5d1dec956e57e2b01b825e6fba0d83cb22eb20ca673dd12c41cad319cc0302047c435bb50067306502304679d336774adfe2c6bbd72e5766d76700027b327009ebdd406f0ed11a15ff995f1b76c24cc6e6919e7960ea922852ed023100f7d22ede6bf114ccbd0c79f1d189c29dbfa22e8eb72dfe1cea66825cde6163447261cf55ace582e54416d40bababb1cc0302047c435bb5006730650230550ef4254b1bc870b4773ef3e0aad71f0468418f7a507f855932ebb0aab00c279f3d20a55b7945eab0ceb5e963eec8310231008dd0e0ff0f3a15a1518f4c37416715839959cacf9bb513fc75f93c243daa2b550c06f2e248a297b01c47b89b5ac8acc10302047c435bb500683066023100fcbd3d4a43020790ca9a57e0003c2d140340a6f4cb97468add888b43704a72c3ffbd23c95b462c637d9f56e47125d82b023100dbac9fcda2438b7015aa6572761aaad5d2645482f3de5259a31b26e12d4142cff6378a77c0c53b3e1fcf55814447d20f0302047c435bb50066306402307f3a1fdbc01bd026d3b3ee716d1a23f78507b2282f2e073469049b119c53db0b2429249ef86398f4b65d1b9ed56fd058023017d506c7f6cde21c4ae2665ab53ffd3b633f74cdeb4d4d62e905d94a4dfe15125a90b5fe4e1a1ef3974fbaa42e8f68ec0302047c435bb50068306602310087a2134e2db2d61e11da44b44930c2d5bb3dc21014cea8a83c618a90ea147a7f5869a9e97ac4746c6e421c16e7056092023100844e3eed5d25a8e52ed8a6e03b0ff4bf63437d21e447818ba8af492634b75e0c98c4d8ee3345c6570fb167d504d86a000302047c435bb5006830660231008d95b52c3711c0e23a40dc155a57e40fea659c26c64f1914600dab46fc52a2fd93a3e36d45a2dfa09fa1d2dee1386dd4023100ee174ad034dc66cfab61567120746434e2986b294aebbca1cb79c5b907400b5ba1c3942964f6bc326a4b08198fca31900302047c435bb500673065023100c8716ee3162a15c3da10027f6d9c2aa3b9c29557805280e228d481f86475e20cfeecdcc5464dbcbd4e20a7255551795002303ddb9b149252c3b15f0a0454044b7b52753d0ccb1c376d8eead0f2157f090831245712124b1b91673f2c20dff2c891ca0302047c435bb500673065023069a37e2ae1186dd0e3eedea414cbcf5b9613bc5d3530488982db8c5d7bb8b49aa0fd2426015c16eb92c7a42bd7278239023100fcea0393d04f48d182f3c4cb31394d1fefe75cd11422a1180143fab750495b152768d2af39b65438003e4ba4379d33700302047c435bb5006830660231008e31d39b8f39c6e90b5845f1ed257755e0787297f1d1e4a210a8be7eb1ff51f9295ab9183121403aed055c0a2154707b02310094fe769ae07677fc05df9227b1791a93ff64905a40aacb0005e8da53b154fc86b7febb16e3518d238db01e327bf840b80302047c435bb5006730650230098211b3968f7ed1d04ff758bec9f0ceba04ce9d8bf6e1d0f1f952d402d8dc8162112ea04c2bfe47b8cf35a7f52e17b3023100e687330cc93a0bfe0ae409b4a338305cdce7d16275053869c66668eae3b6c5df579a606117f0e6b84f628fd2effca7c80302047c435bb500673065023100f1a6defc65572261f703c7437af14d4b3c0a91963de4aa24026d656bfb5b262b5e8f67116e177993de4ef7daccda0c7a02301a0b53a4288da1d47e460c978fc81fa5899f49a4174861302c29a4ed15e43eebc90fc9452e78acdd986f27f68994359a0302047c435bb50066306402300371ea9c1a344a1a37bbf5747c945d24479d6399c30b1d26c66dc4962481da5413fa6f0c2af2f42f310d5c6b779d9881023033e24bf5d13c562d066feed92cde32db9915adf0aa1686a3c0b58a5e444a2d397054c6dd143188ee85f650092485b8790302047c435bb5006730650231009efd3bec212d26cc82fac87e6326838d81978edcf7518bd1bdb574b158eb84dbd0bffdcfc27a7ce87e0b619f5a25b94a023048960e1f5543437601c71f431d0591e8616f18c3244a02156e37a4d606b9f76e10b40ca620f5f4dc63a256c8420341f00302047c435bb5006730650230069ff16fba3d90867a39d6e85d5bf998cec307fd1e81b2c2a89cc94f6f1f0b0a70e52773017caa8c09d27f9c48f56bda023100e05d5912d6af621f0b05a9f21bebcf80cc809b65044ae68cb658493e3abb2426f68083cfbefbd911b02837766a10e0960302047c435bb5006630640230547c8173cfab89fcb8f16c6a698a5baa927c1b277fa019b04276db1152027a1eb8eb9025fa3e528d78e6f019904d2b99023039bf7e7714043d5f1e3c6f5de1e8d8b136cc5fc0991ed3e20f6055503fa325680776336cd6109e8f22d79c180339a5300302047c435bb500683066023100cc40ea61c19bcfc63d99a45f1de48962025b0bac8c469e5cd6dc7808af0bfb1b2e2594ef1c10e9d0d4e8edd6f952e2d9023100a4fdd23c85dc9cdef3555cd8235e52097fcabacd79c71932e0161a951b88de0f9a9e3a1d4d3025fa730df68f3ffdf0c30302047c435bb500663064023033f7580c23c6ae4bcee84e8de2f80b5a9e4aeebacf8ca26e91cac05250e4366fa5344c20012d36ac318cebfa93bbd49c02307734e9be24be41fc16607bc7047786dae7d4d9638c5209e9a82af1632ba243c2ed13f48a68a1a2995731f194d6c6b7280302047c435bb50067306502304212d13ad9c420294e91cf0123c5072fe5f2ba9367c005bb99d0fd8e84e024e17d0edce868593057a9a0b60fa7db2491023100b1b3f77c9ee9c97f6b997380f4e819bdc6b41e6d0f93955bf57c4ba2581843384690d2afbcf6d13aea068f09e1899aac0302047c435bb50066306402305e285ff7686202b482c1d3f6c93572880410ee4067f2043d21ec0177bbbebacd880da5a45a55b00f6d7c28e8622729340230603d8d77eb018c8eaf5d3722da558d61b6b989fc8f433cd059d9e97e13f0886fc8f323b474c427d39494a1972edd41520302047c435bb500683066023100c331b2afd89b1f5f6e2bce1484ee33bd526dce0449c3dbdd6c58fead57c43ba5e955f86c004bcc4d6a155a9280fd3d81023100e50cf5d8909bfb1c867cf7fb90f94b8cd8aad0e11ae147a6b0bceb3f5d8e15f65465c68c8784940bae24240ad0adb87e0302047c435bb50067306502302e01b4e8cb84aad28a14b98e88a9c9a1ceddf456ef74dc1d69134e1ab6eebe9693365e2174f6c98f10efe27c0ff23cce02310099d27d0863096e66cf742e84de92c23b1a16bba3a3cffbe8c122d56b5987cef19fc81ca599b2175e22555d77164717660302047c435bb500683066023100efe9e7ffc5d93aa7b92dd6a6b527633e0382a9830d2c51267ef591601bf41f19767bb41681df2986d1aa1dadbe2bfd93023100bef0273bc896a96ab80c7faab3e525f263c165f3db48070ef76c026758ad253c2137ac1fa9b7e3b7d68a4b8204c1cbd30302047c435bb500673065023054c8044abffbe221fcac1f6201f62d4381112d22c4fb1bab67fb01acf87ab5d7224d320b58e9faf63143c463312cadf0023100f9110505c0765b9731f2d1077ce3970f55a309711f3e2bc425a325c41e8bd5233070e8b2c2308eb6fa9ec4b7480093ad0302047c435bb500673065023049b68934046c4ec0dd95a8f9301f6df0406d9bb3fece6613009abb4a1ff421bd7088f0e3365aae6c72cb91c3df7f60c0023100ca88694ccf74976d1fa486568983fb89bf15fd9bb101b70ab121aa006e22b704088a33805e3cedacf72a77dae00f8a180302047c435bb500663064023061b9017049a14d4057be92660a565d786e967b6d591cb2937e5acbfc7e95f7684d73a2de0d345ed6473b5f1bd789ce060230788378f88dfb0b89414f8b11ffb4222c39e6b96a4977fbe8fc0c97aead490818473e0e0b704af0397143f7d9396622350302047c435bb500683066023100baf7e8880f969cac5ced6745d345138e739247d2a7ae6871f8f802f9c1aa07eae1654b0491b7d9818c691142b16facbd023100c963c8e5c3e01d1f6b9938d620fa7356741b849495a5e17b93772cb834199e99935a052f6d04ca9e7ac99a7b8258fdd40302047c435bb5006630640230351924f6f6e966df7ad2f83111bff326b84fe1716a87b035d763d4eed6c748766b6943ecee070f57e20850d608b40e210230102fbc48b1f79389e15d0153b085ac184da4ed23472de7379746015c8fe58c880a03bdc0ecfdaaa19317f8b3bdfb06080302047c435bb500683066023100dcd345d52d5894b51a658cbf9359aad5db5e4bd87cd3c67cbaf40be45e075aee9b90a47e2a0f60c672f8adb68040c67c023100b43df9823dd36a8e2fdf722d69b6e56af53ee03815eb065ee7139ae7d8fcd09cc34419ba0b8a9ae986a6c0c0ceb9c2da0302047c435bb500673065023100f18ffa052ed9c53e0e411f3d9ec28a2e7cf4ef015923965d29f7a1125a23440877c5f8711ceffec307a19788bbc41ae8023012b19f53bbade60275eb68db87ce885b325a26e918965c89e2bce551ce5be5d16a07b59bb51358902786d18b8db96e6a0302047c435bb50067306502305842c28f516da7a40c93e32ee4815619fa0c0949b861c022a14f612ab46845b5e33a8658e48530d2660865ad39305499023100ccc3a66af5150731573719819b42259fbe91dcaa625fdb666e9c60d3d3904935641404617cfcbf70a20a5fb541fa980a0302047c435bb50066306402303fc80eaccea7f4c78048f0651a2c4a4b17a20199bffeff82e2be4db50f51a66f287ad17acfffe9bf48a9672641e1f5eb02302c20de056c0e0fd2e6ffd58ffffdf45f4fca0483acd660bc333bcbeea1d15d59847815ffb808c769f88a20ced467941d0302047c435bb50067306502303d83988815c3f09820a5b0013c6f15ad82a979583115710876f73685d092cc29b049ecd13f71f3a803cff8630cb9bc6c023100d826144cc6c3e999caee407e61d6be4bf52da1df5f652e768877b803cd9e5511292a9fbb199e060ea6325ac7fcbf2c770302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230117fe3443e960b2b7c922c49f18d582c71714cf21c7db8f61f44de5db0fc0f54a760ca2b806de4d66bc69cfa9a0d6b080231008b730b6a9ceca45d4429e26d3bc12a26d7b9bedb7422b5e5cabe529294af8da76915c84845cf12f0494eb2dbba3327c30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305f0377e972cabc91dac8b4206f33b40f72eb0bcaafa064c06be1e6550cfcc2fcbfd7fee9e518b5e73552ef1b5761ac7c023100ae7fdb72b28dd49069a1d5e102684270357386da106ca60c0da29a7a41d539bd7abc51f334ab10fb7106f7f4f01739be0302047c435bb50066306402305b02ce2ac199d4ad90d5f3708d55fc8f0551a91499b9fd36d78a454921e92815f6d27c3c6db147b6085198c9fdeeb98b02305cd4102928015dd7e4059a123f9d3da2b3bd9bc8198724bc78fcf1e5b9425abb40bc2a6d600711c77e111b31007933c30302047c435bb500673065023100ffd3a05c01bad52521932c37643172772b78bac20a2ec4fb59a9786ec4a760a617236577f1c984053c7e1f9434d0276002301163a69ca8165d4483a097c9b4a2bc836f2e4b4f3ab3a9f3af46f09600ae942b0cf3ca10841e40e531ca1969135f09950302047c435bb500673065023100890fdf5367a203929d045c36507d4cc5497f63cad14ca05551beed884179604603a897d0df10e40dd5fb0a69a9ff2a55023037a9451a0b77ffecb7a4abd08706dffc61180b998d2e4c9e68ef5310db2f3e2236848d9fb1bd21203659191beea34ce10302047c435bb500673065023037738db114f9a2f9660db3553561d776b2dd63c464a60513eb126cc29141289ea929b21783aaed86d9e1aab2012100ae023100aa1fe66e3e449a50915a71aee70d2de1a553529776737e27bd8aaf69d3fd352a772c023aa6d8233d5057fdd606f30f0e0302047c435bb500673065023100c8b19ec6c8876ae6ef28b8e036585794b7f9d127437c0aec2da5acafd721d0f36c21585ac0927c6edc9446a26c669cd1023064ad37424a3006452ecabb6ccea6163d2c9cbfef55f08c7ba7344eda79cc797e74e5ebd65b1d41937de8aadbaa433c0c0302047c435bb500663064023078979aa51bd748356075d7d3693fba84c726e7aa9a9d3bef1a74f7e6abad77e2ef2a75a6f5b71b6e4d81be7750013f2b02302c4f72a1885195a16e150a0ca0f9383e928d7dca0730cf4d0ab65e4f67bd4275bec1e314130e9c813df9e6f2fd69df5f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023100d517f746d07f568ed9c2cab2a7ed2100ceb65558bae358cdda1097541a1519e95bbdb2d9a973e7d4874e60979d1163c6022f288d05207294b3db3739a6c0a4e681eb9b095f759f82aceaa100ae0c76f4dea98bf56c6acd93b2a9f186f9dafdab080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302441ccac42cc3c3381df9ae66b32ac4eb5e4a35a8c008e864c53e88a0aaf57ea023a169a5430f3ab665e0b349abcb874023100ba3040e453d47b08b3a0e7749d46e24c0880ddcefd26adfad887cd8f82f184babcbefee9ef291b58d0354f5b8c01acac0302047c435bb500663064023058058efb8719f4e3984f732f52f61837d6a3cba2c74e31079e046a8e9751656e2924f31e410c10aac45ccf49b1cce8560230200fd6dac59da7dbd6caf24e8265350d8305400e2fe9d99d12628a8076d634e06bdc10d9709b64a637b05d07c1a008210302047c435bb500683066023100968d11e51f7494855f3810b30cd85123b951b4d8ec28619b30edeea984b84e32aa60aa7a9c3ab9c0e33b6602e10fc676023100bdf0b2c2d65481d9b538847633878b9ad65fa2f6c6cdcbd56245f2d738cd0f8ff81e8b247ca7b78312dc61b39936926c0302047c435bb500673065023063a4b12afc90e187e56eff923db2d0ad501dcb84ff3fe1202d0f0b34a32f47f38a519a69430424661a853eb348be03da023100825c2b351eb8ac0c7fd4722384cd4b798b214866f74c9a78e20e38a3456f0d52bac7c2c8d9967b06b02031aba3a370640302047c435bb500673065023100bc8f64cbbbb178e0adc35a0df96ea6fa0eba87b36a5089901cfad0a3cf14c148b32f0ee481137e8adfcb25a1418dece00230323458488892c83f3f69bcbaef4cd719d5f82f00c63b28f911a4ee8ff8731a5b48b6f585d8a555658564d457957c9c2a0302047c435bb500673065023100a446e11f51d554aca7e188fba1681aba14fc01d9f1753a287826efa15bd43e63ae5ee5da71c70ccf10ce38fd3caf337002306848735af0455b68520bb73f798fb4d85c06e7852d1dc3b01b80da5fff36cf9672f7ff5242790c7e683b42e48524691b0302047c435bb500683066023100835b4932217e2633c45ce27dfd52dbad8040a5571d1af932409e8f1b8f2cfacb70515363d55648da4cf6092ba548add10231008c41578e11cb42dfa4c0d8e0a3a67a571a791ff2d9be74a25edf2515f6610ac2d570ce8f862105868637813355c3504c0302047c435bb50067306502304f19757bb5fe632f0343185524a3651c7456ea94d267f9bab8d7c38ac9d82833e28f00c0eed52894010afca6c0e1ff7202310084080ce52ad95868c7799e4b27b4f93660df1b9d578a5700cb591ee393bb2a65a8d297dc2e90d191a0d2e5e8d44110ba0302047c435bb500673065023100d63b76984acc3fc33c0418f3544feda33ffab5c76e2afcbefefbe41e8482f8c974ded4ba81528dd19ff0e38d34f45d9302300a5e199928880133d8222becdfae748f4e952354b6f0d1ca211ca005527d74f97fc4d39b986cf92eea800fd4ec91e3260302047c435bb50067306502307abc662db6e1a2396b77fbe814e5de8eaf29d2ac67b094972b28e7a9aae5ca220dc2165609ccf821d27407124dc4d8c7023100f948043eb894d8554a52d69a40647586d5fa412b1fd46b3c495c0f1843c3ac8a4b0e77acbc15db093810e08a783c30bc0302047c435bb5006830660231009547573eb25b69a403b747e0bfa023c64a7da38085bd1e7653274528410255428f65f24cdcf4bbf91136f9f2f277813f023100bfd8f33d9b21ba23845ea95bb285ca8559261d6db2c69aa37e8a083d391964bcff40cba892aa93705b052b953a2b8dc40302047c435bb500673065023100e9b7f659f02db0933bd55ab8fb8b0b5a8cde947cd85f6120c7c486698317486d9a50874127820016421ae262ad3fa0540230526d8ca3c2cc277bc4ed671d5c6dd21c7425d929de0961601ec0b49a48cc368dbb1680a290fa449ca9a5dc7f5799f73f0302047c435bb500673065023100acd3aee6b0d8831b78cffb5b126f89346819009fd2e9efce2318732856e9b44fcbd1bf5b280ddc8aa61a981ea1ecfb11023048a9e46f3f8eb1f6d4cadd84f4538511b6a88e002cd5adae2054c3c8594533181a8f1cd1cf969f10f4f472537f474cbd0302047c435bb500683066023100d0c0cc05fbb91f8ca8f0e9fc3d7feb2d65e368ba95f8cd4402bdd37e00adb5257ad98367ddb95187222c03c441549b16023100f3c20926d7efc058c03036ff5bdac25b5d15b0cf03cf54faf4f6ae4bddf1c8ebc79fb8c8d39c2969c9fe22641750d1040302047c435bb500673065023060c41156fea23e6a84259937277115a783ba11352e0433d9ba492e56cf6a83e75a6f2f2ba425761cf69a2b994c9daf4f023100cb37b1449a7a65627a29b89293eaf28b3bd38d7b260b5b3edae5f4436fe6fa801ad2b1b9cd255c0525e65be63f3ef5db0302047c435bb500683066023100f654223086c1a7ba9d236fabaac3c3ac04173f3c79ccddf0ecc220bfba5f948a3f090d976f8b6d344edc0b5be35b6712023100f837ce11f09e8c72ed16fcb65ad401fd7474571787d63c2c03743485f2a881a7dd249375748da1bf044842c906d4acb90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b8e0ab8e760ef91099a938f727470952555804996991daf34b2cd05cf25e0ec1bb5ad3d121801651af1b57b6296aa1b4023052e599097f3af1830e0ae2856eca90d971a719b59a6fd9a5e34cd3ad924654f1103d082e9caefa98057fbc7bf3a41a260302047c435bb50067306502307fbb3a42db91f0edf22c234674df6c9537efc39c58fd73f63d8d959dbe7deb65e960ae6fc1669fef22a1fe1595da727f023100824d4f844d50bb66b4988fb9a8972dedf2703a61228279221e60897e2b6eb1a9a06a66d174069f0fd2711c46b6bf6c400302047c435bb500683066023100d08207530276559b61474ad0b23d7fa8c2e9c3b50c003f0dcc1c84889520944b00a4ec094fca49a5de40c99f9c48c1a50231009e923a1fd9809582c241061d41cdd49f9dd5030f5a774c5ba3ca06679d0eaec857b44333a28e287c6857d0bf4f4790c30302047c435bb50066306402300905d506dd93957c37e1dbd09dea8ad49a97f6142dbc75222d313804b0d6cd5b3709090803171cdf1c0b6f6272896c1302304852c0b21e941243bc9681ff1e5f56b127022575c05b9c9cbb3ccdaa40af96290aaeec34add9f08f360f66ecd75605460302047c435bb500673065023100ec8e445edc7e15588d7b019e887862988b27626776969558cca61d0c66459a34ef02563382c2fa3bb89dd4d61e95c282023050150bbd378bafa92ccb1444ce800792120b75d44dfad695104bc091df42de3892fdefcdee7763858e29e3c851f4e55f0302047c435bb5006830660231009a35b302b4ee07be7a37e795766f351bcdb903b37a105c4fe529e0f0aec92b0ad95ce8e02ff4759ecb442fd563d4be27023100ed0f5fb10eee61c08ef2cf8731026528173587219986c2ce97f70ac11bfc0034fcd171ba2c1affede37ba40292cd3f760302047c435bb500683066023100d1d5e540b417c529ea13c830954bf73e36ca16c07267cdaed634ffd8ee63f23142bd766df4594a5bb911a23ae923cc89023100e492ffb8b5126712638647624bc30237adaafe1da31b3da459f3cd1ba21ae916ba8aee4010c455bd497547c1574649930302047c435bb50066306402301681d187893c33313c96322fcb8aa7967a35c37a175620daed48626ffc5b911239e244f342607097d0a6ccfd3e137bf602301cf65d60ed5b50faeb8dc48db2d9c9effe9489ce68ed120ce3ae1df43dd6e75bca29a55dbaae4f6a503b3cc98e176e150302047c435bb500673065023100d18529efb15c83c294dde51038a477fd11e5b8d5bb3680cfd3c0716ce08391029fd9faf21221dadea30d8d7f7131e357023020bd219242d37cfb44331cc7a3506dcd8ec587ea57dcd88489c62d3822f7f0c23b4b1b14668a0449951c93fd3d2c4f0b0302047c435bb500673065023100972f7177b8cd3724e49a71795406a47e1a948c8d2057cf5fd70b96919ab72bad6df1e8f54963dbf9a49c66ccb2b9bcf4023014fbde96eed20a71dda85346a25c989ac1b4126a834c21097e0f527bcb0e697795eeda77c0273df2853fade87c9813410302047c435bb500673065023100f7dc6a370fa9478ef9ccd234b21f3faab62d8677980a8ff6017a34663816ec389b2331db748a5354529c2ca5b26093bc023029ddf00721296fec2d32f4d3fad777ed73fae5fbb3073bcc7034cd0c3ac46302c79e4a62b8cae9768413e8242a4deb030302047c435bb500683066023100c640d5f94fd71933c05e1056df70da04a8631278efc034c6c21bbcfd208390ed49d8f814532f8933f00bafe72462113a023100ead04259ba397dbb8ffae4bdf73c3aa9cd39ea82443d4ac5ce09280f5bf5971c4542060c12b9b4d3fb44fc0c988a42d20302047c435bb500673065023023357099b64a3b8ca15a0a265f2c56e5a7b00367db85f870a19a2116cd60369ebd1c9996e0e16bb035311190b60901470231008e2efe3080e45867b21fdd66c86802bcefa538559181f3e9d56e657878454fa47b02054bcfeba6bc4c89d738d8dfb4990302047c435bb5006630640230254fcc2ebeee715ba9b4c76eccbd1c4c521ed0e9d75db93e3d789c27fe4d2261f39c4e4decc2c923b08ad37298e8882b02305c74b235b5f57fe57ae9076b3e8250d810cab6047816467806ea0bccc3e68f1de0c0ff7afa6c40acf0216bc619c5a4fb0302047c435bb500673065023100801fdfb8595e8b8524387754221c017c4787f6bf2d9dd8601eee99567fdb1db17958dbf65c95924fb653dc907809f050023055afb4db53f5da3c702cdec3acbcf70596f9c75e56c3febcb7f82d2276dd8dfd410bb1e612016f79bb99023f1e880ab10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230276fd435d5c25cb66ec989f04e378b78fe711c05fbc48596a7c4055a329e57dc0c4f5e8a51c5d128c5da55222561691d023100abf1f6e0014483e3f17b1ec70a309172cc4ec9013379f30c6e3c0f94d03650bf8c786f2a07fad0ee823271c927f0c8f20302047c435bb500683066023100b36395f3849c5d41c176c2fb70f2a18e7929c8a0713a1ac1a2442a8d38b240c3b6ebcf4c03a900b7a4f1136cc1c9ea5b023100fc6c07058938db3e8cc0416f9e2297aa2fec480a21a858c3af7ce495d0a4fa45c3ade197ff32eb442ae0140aa093a2a10302047c435bb500673065023022c27f65c12ca19fbd5345262e5637eb561e7e18f5025dfbd238770f76d73d058ee4bf7325478bcdda4c68b24b0713e0023100bc86506722937b87fe8e00590541e80d2fe466bf6a1b48f8653049e461b2c4c71b17fb24fb04127f1c609dcbd595942f0302047c435bb50066306402307b4db514e5453e8a20b70fa3643a109c3abf0cd63bc449e56e188d919c41f89930599a785ec66059304e96ddc5c17fc902303b4fe7fa2c80c9152dcf9f34e937015996e7aa70bd61005c522bfd716a8b1a484958aed1eaf554a596456ff296884d7c0302047c435bb5006730650230048843eb984e386557c205a5b15a0a92f70ced0491bc883c3dbae82d91add4eddf5650a97430cc8949e2da6cfa2f04d9023100b69f9c9b7ac1907ae01516513119c6e10078f4f8a203a463ee5030494a0a866cd738cd2c176aef3ccd174d2fc34e88560302047c435bb5006730650231009be17b076da9ba15902d8fe83444bda2daad3071e0a51d77d72edc766f902ad99c7c9a4f4864265230532cc75b091bd202301dfaca115e69782b62440713525975a16e6794698569ec2985def86acc2fc794d02b0787f6d4c760d67eb1eb7851deda0302047c435bb500663064023068ab93200d1a0873cef95c4270e74cd3e9db7cfd09b63127872b7a1473c5ac323be5570c510d1b097b4d0dacb2dfa4ff0230706b1b5b9cec99ad57086615ab3a7ad9b60c46fdb21a3924290188eda54917bf90443dd6379560c241cd386aa0acbbb50302047c435bb50068306602310097065db43357e78a231689fd4dd5f54dd087051a62c43942a42dc54843dc6923513db16c8d95acb2458152e3b3ba6d1c0231008b56df5767cb36e66dcfbcaead3c2e34b5c1eca41eb022a590c2431776606e10c28d5dc1e7b0e859bd05da224790c8140302047c435bb50067306502302de8f819846069d5dc1b26e84244ce73d563ba084fe6230d6856d0714f23182e6f3009b996607c90601c13da30f24104023100b1acd165469d644f5161f7a48ef039f60b2e66dbd2d1c4f2256430d86755e22fe35a1e7d28e818b9b56a43dba4b7426a0302047c435bb50068306602310088a730ff04b0b3adc46ddee4904e5fde95c9479ce3e5a5b644cc5c3a2bb392b0adf42bc5f5fe43133776c5783347ed97023100ddcd04abe1c90cc266a927f05145641d01a6194e6a59a23f84a9b2ae30ca46ab26bf09f897a45cc903408ab8f1bade700302047c435bb500673065023070261d5755a68a582a7ba8d37be7f99ceea38312f912cc698ec320b9f7de79311c8bcaefc002deff70ee5b36da79d39b023100aa7e8c9741234d31e7445f1981f775b9d480bccc4329710c3dbf062ee337c363e3567383c4b65d5b7fc2ecca2c08fcba0302047c435bb500673065023066781fc03cf2c1bf074377bd8f29306ca3d3b523dc3c5e28d0098f414fb21de0f76566220c9cc0256b314961f79af6d9023100dedb040ff6051b259ce95946f71e8e1605426ffd26fb5e7cb05a42efbc0239c5b9d571fafb66c94ef4831d9e5aed707f0302047c435bb500663064023045c8094cf03d8f94c56f33f788437aaf50fd607840262ed85c72687881f37a4c5ae145cef13aa25377923f36c9e6f03e023007544029abba9a2cd45e29e1fa5e56a2ca58727b580f984211f29c9f719006185aa0f2fa459652381cdb3355e4c4bc7f0302047c435bb500683066023100c82db03c318e751719b941e4ea45685967b8c26424ea2697333b987a7c67a323755b41a152127aba6ddbf7fb01999dab023100b28d7103823c82c3dc8bc3d01b22ca4145db530fc3022a3d1a66cda85ea0dae06156fd3236dccbf57a29269f193a54350302047c435bb500683066023100b3f791ee33461d1436dfd053e4357e0b19b702fe60813a352c524f6f6f8bb7eb6020b981a393c39b3c7c3245fca2209d023100c07af3620b10d144f877f7c8e4614777d3873dd5ad03c856f79644f533887f7e0f5fc3c1e8a4bf36168b38b6151c826a0302047c435bb500683066023100d3185fbc80d9a19d5ecaa39d954918cdfabaf7e0a47c061478a846bed01ddc999cf59c6111a91e12453d5158ce0d73a50231009868c283086ce65cbaf5bd759bb6338e6bd0b7687e5e55bcf2cc44c0bc8c99965bc4d11131c1cb6809aba7f7f9ae0bdc0302047c435bb50067306502301960b5aee15a5993243c8a3afbf975a489948915baeb695ce9acc4eaf806ccbb474c105a62d3da62188c5511bf095541023100e566ec18dffebd420aa51827b642630e56522e6cd2b8e5f850648485332dff4f2fce1c48a0b904e2fb8fcf176e8ea83c0302047c435bb500683066023100fa6f28cbffb090181d7009c72d317ab46b8912b372953ff9795026ed9f57ed15fccca1922603fb225b47e30f25eb7e7c023100e1dec546871ba43f5fedab0830ae122b4e59ac73cd711eb8582498fdda4cf6c36f6f06aca03f3a557f0ba8cc8046a85c0302047c435bb500673065023100ed1d58615c6d6b5553edd8554c6956fc975f9c055d2da8929e1c9d8731c8d06f70922b13d43dd81c8e6d56e0eee75230023046e125a65cb580b9ff22004416c5c03a6cdacd430a57c7a50913a884f049a1e6fc5609510bd5f4c65245054d54217f2e0302047c435bb50066306402303468fb534f292bfe3e7c94fdc98619a0b0671b81d4031badc051c37669bfafc1ee4d6272a970e42448fc1cc4bdd6a1530230191546d9fd2a4aa01ce34b4222e8dd4e3ebd06e79e5a1ace44151052c2c0c84f526117a0c69b60d8ed001b57074722cb0302047c435bb500683066023100e1734ee09e30bd6f38cb3148a17f5081c6589bf188052329d1171aad142c813a3900541fd8cc7660172544198ac2cfa0023100e0f56d2e13d06d4544dd772aabd6bb68b5f38df30ba88eabfd6ef24566ba132b002dd15f32f1e9e6817f4fbe82c3cf600302047c435bb500673065023100ef8ed421e26d151636c4981d18c403bf330547c7e39c1800a9d60f16f2f493b3db5697ab0b13cae4927025efaed943b5023057b61d69d14ed78bf1b1de616f18b7a602cf6cd1f7cfd504263b22d3344b7637d357bfce901d65ab8f137916114066bf0302047c435bb500663064023074fe464090d00b0a221f1880845b9f185e5f37906dc5184232af08a9d04a76f5839489c67e8ead5efbca6f3bece54da3023079a2bd8c8302301fdde82bf9d7889f0225db2ea34d8e9f71104f6707f4c4cd7adbc67853de351afedf270d27d376daef0302047c435bb50066306402300b854bebbc0ef51016f5616974d2d7adaf62259506a299d2a121f4bca4fe6da9f69a8531fca5dadd9e7beabe3a24216102301fd17f4671e7e687d3e0f7d2fd4a9b4c95a623a15e5fd025f72ee155edf5f65eae9a474d0ab930c58485778ec4985a5d0302047c435bb500673065023100afcf5f6e4458f4cb17d8fc3317614f4a8a29882f2744c7b66175a014eec820802b86ae7a6f41601cdb08c31b29e2f22a02306bb5d39e84c3877fad6bb1513c3594eb27beab7e940fefb3ebd8773f7e3fd36e5721e4506bd88211afd2994e25fa4a410302047c435bb50067306502303a9d8693262d5dbbd11f85e03e400f915d8aa33f9152cfa56281acbbb4d150302dc7302c00e3c6efd2d86ae14f8d4c5a023100c37bc5870a825d2e83609f45359f69665b7bd09409d561f69240652904f340f7dd3444fc8cba869cdc86195a26a6ceaa0302047c435bb500673065023006ae51603fcc037acebe25f05081428c7fc1a02d1d8d72574d2d4717638463969ae7bb284f97b6d1cda4650e4a28c0a90231009f606508a0beb307a9a3b5f8592e72afd0850fb812d2f1328c7f24c5593aed564f3b030f148d1b65e1b1712622db37fa0302047c435bb500673065023029d30f704b21981b67b3318f57a819e42334b867fd5035b9136ffb274ad9b76c1e7809077a9d05f6c013cde1a41f25f8023100dd2fd914862aad929237582fb720f9411401cfbc365d9d7fc5ec7b05af27f9175b8b82fac3b5a47008902ea0570dcd7f0302047c435bb500673065023100b85c76409c281d69b3c8243518f807eeb3a7910912c5b35e35c17471a532cc6ebb7eb50e2fe2ab4e961de05cc617dfa40230116248a592e2c067055c851832c9ca37db58b5e44c27ae851d45e08d375e4c4b22a07d3ed80079af3f889ba7db197eef0302047c435bb500683066023100b68fbc213b3dbf515486bba1048db2ed82b779b83fa46f5a55296fc25fbfddbb2485fb824417f26390e1c4c9f697638a0231009ff01a29653c1433f8d711a8cda54bb127363c6964b8d1869f62261c354dffb44217f8521d5d085b4007d85a0f8e46c30302047c435bb500673065023100f625e0e513fbf7e370bba92fcbedf444dff74f86cf2d7dbaf2dfde6648d86f5e350be5dc594ee5c1e974cc75e9c50e5f0230337c2890b98be42b33071c5c901565f3dd8e5073c42b5b9a23173b7e8dfff87fdb7a58f4497135748f4bb5a3e5c219340302047c435bb500683066023100deea7279907ec74d4440a8d8cfba357528c275929a8abcdb688b3d673b830fa5cdd07154e3f1c37b21b3662d8c141be50231008b91a7998a6548f87b04d05c628307232f489140ce01f91eed6bf563d74f702d9283a29060502f8b5bc5c8ef178203790302047c435bb500673065023100c46ce9b4cbdfa1b531136c36467a6a4ca7a913cc646fbf834e3b8597f5d417d5721e6373fca8c8882f5bf48d9555c1d6023001ed607a73a3f108c823933238c54d4baa2acc05c5603acac26ae70f281ee79a673c41327f62f71d43aed76e495df4fc0302047c435bb5006630640230487f4e1b9d59b7d7e40248cced13ffc81b28526616957eebd96b14523b386a6b49c1799a99ec21cd01a4856b7fea355d02300a0c2e8590848aafdf34139a5312e11882e753229f4d94004b33980c629740dee59863a97de3d52204054105f11277f90302047c435bb50066306402304d8a180a095cba264c7da85bc8df8e78ffe79fdc64145c5f9677159053badf1e6b1ef8a2a02254bb75acfad56e42d3320230330d4a1846dd1b69d5255074b95022acee8653116d77cc0f63b325d414b25d847f1ba4933e5050d4a9e6bf450845dfe30302047c435bb500673065023100f8ca7dfb376f00174b39ac35b1ac78ee9b238d6a150f8e2a26356fec9b6693d8f7e25062212b69bf75d1b64764468e8302305067a0a0ad1692ff2f214d6e531fe5e0179b5110e55ae67a82fca861e939f7d9758b24a72eeb903d390ff8b08e3748210302047c435bb50067306502307f1ffaa8a5d11ee9e235493fd7455e87ff54bab2c855d6000826285c8440705129633dd58b709fcbb4e3fd49d8c7cc17023100e8d9d1e42089abcf95a9ca2a0b4e25edff3aa0e7d134257d8649f6a45c214e22718caa07df463c840616a28c878155d90302047c435bb50067306502300da47ae2befe43fb8e837885762508fffe66a62145403ee42574d31c410598f351634df5192e63bdfa138727b26faf2b02310085c6073919c00951abcd1fed6e8bf8eec32805f28ef7790e5b911ec5ffa2c0f50ad3a4f2cf19447b4d3aedcd8d15ab4a0302047c435bb5006730650231008339dd80ef67c664ebf681438f785edcc8a9ce144d84a2867e6d6efae49220bf2dcac9369e1ee7580c7999031c3e048102305f4d3ea36fbd7ce5c9da65c882d0bea952e7ece05a679f609a3134b8a926395d11c49f58d751ea25eaa52c745459e1e60302047c435bb500683066023100c0ee36d60e9997c8bdaf3c57c185878fa1ca447fa57aac656dac0a46d67dd21412f90de8ce7bf122e64a0a3fc0741c610231008fdc6fcdd43964219d2377d82ed00c924f9425726a403287fe4bbfb6f12d1606ccef2b15c342e94b20220cb09d19d7d20302047c435bb500673065023100f55761e9f175844b287b73e1f5e966c630c0282f8fe33e34a75db385e1ed475180b920d6280d00638633d35542dcf4fd02306242be46ef2462c347bdfcf1f117851512cccc83aaa06eaa0a05010e29e9c5b734f95e914767def3c00ff200805fa0e60302047c435bb50067306502302d65383346b13b94eb7748742f551d9a3f08759bc5737034cebad62f05f9215ba0515ed0e4bee9b749f3cd2b5e21bb44023100f1fb782048908a2941b6fe29b85b2e63ed6f2748f9b93d2603225e294f2d41ea285239d69e59dda18b2deabe96e23e2d0302047c435bb50066306402300d8621663b5794f4a211cb716ce026833733e970db0561d8c6cb31e9d5725ffc4473be644b713d496c0a522d129a6f9a023016fb0cb2a7bba8dbfe800f6878a649928b93e8b07ecc051274d00e37d5b57b5d0ed7e05eda7e6bab13d1b7e21c5de5e30302047c435bb500673065023061abc7adec2cd3c0051028532273f6c57117b4ca4b881dba529aa7d688d6d9250f84695ac7cafdef98bfb4aedb262be4023100f299a231941e8ce698ca2601596d74167591f632c53d718d973cc66847d3026b3d76391520e94bcbb9690977585f4a6d0302047c435bb50067306502310095ef5df56d48c29c62317fabe2641e7da7c664daeb9df5d049e82346a50c069a88aa35949f02a3bd64263b718c0e3108023020a6259e7a2c81a52cf51fd54bd3c33c386f3db3668433b15605bc48e51ffcce7c3a9c3ed678d1692cbefb5b79cd06310302047c435bb500683066023100fb85271f5cabb883aa70fcd838eb5bced1b2056853e3bd17e03f7d2eb0ed1bfb0eac4ed0b91cba17d89d848b8341561e023100aca790b3d18a24a45d299697a29d6086a4f2175a539f3daeef465755bc6db40de094acd4c3ff00e252fd93311cf57ff10302047c435bb500673065023100eb82ef070fedb48be90e41959268e87da6ef1013b9ea0eb68c9d459f64e9adb20f29069e07682b22dabbeeae9f58375b02305021280bf0997dc9db5fe593f90364c73fc117abf673bb2c49adc27be9ee235bc8c6240d2a2ed243cd395eb7d4daf02a0302047c435bb50066306402303eb77e607d262c07eb6e0530b3b2f7946f93d7c774815c6edd066be21135035a3cca71e9aa6ea332748bbeb9f5b5d5d60230422d4db6818829d05923f6e7d8f8b6e77681612349462daafe9b9aca456cec4c07dffe1e08c0f8578fbf7216ee93c02e0302047c435bb500683066023100fe7660f25149bb95b81a2b6aba6bddd8374c1d30d82574f70fa7dd353510ea65e17e6d141e7b208199f0a491ece3e504023100ee0231c9e6dfded94220cba715e249c30ffba2aea896422b633bf5883958cc9e0cd04a3b0f67a2260ad2b11aac416e070302047c435bb50066306402303b6063295e28725b6e76978e1d79dad06813e67c4a7ab619df4052cb60c6033920366422bc021856e2669f57e36a3672023075c4ca8e6dfaf9c318a1cd0bf983e508a47bf0572eff7adab98bee5a42b47ff342ef131de1f315642cca1b1569039bdd0302047c435bb5006630640230125caa54e0a0a8344cce8c400a60ca20c0c7269ebfc11099bfbfdeedf086aa402696b6154ea17873cfda5248c92c109a02303f1af742ed8a58157f295216fa283c394679d00e343dd7cb37061cf17189143cdf889b46733ea75a696de19387cf761d0302047c435bb500663064023074ad27c63a5a3bf14f525a05e9542f4b0385cdd460cb72c621c828b82acb24340c67a11605593fa6f50de7144f4dd68102303667600bf4acc5b55d7b28142b5fa22892919596a2bdddb41b99fce53fc13d09d00c32492bbc8f7948d0590bf813f74f0302047c435bb500683066023100c6ac115752ab8befd8c7655d98fd17c9edcaeeca5098b7a829f90a8c3ae8843c5f5d72fb1e0f33e4a24dd7bfa32534cb023100b254bb7f0a82e09de59bc7d22bf1406937fbba039ea7131944b4f4a00283a974c8bd00a57ae7935b3a1ba1412a4eb6f50302047c435bb500683066023100d48b52b77adbc19b9e1da95f96a182d4742aadbff475fdc1ab4a802176c344bf3233f85ad1a99112be8d3a29156e836f0231008911ade07524b3f9ba05b4f8b85614e69a5bc1359c08101b5be2e8733dab2e81c15944d4061348901f5874538486d8450302047c435bb50066306402301a49cc28ffd1cbd8592d0091002fd2fa2ded22b9447fe1feb632ece3fae6f4d91144654e628cc564d2f254d2dba1fed502306de12fdfaf99d1b36bfb6b4ee3cc1c04e8e13884cd7e9828237063b3fc05e6ec0d39ac62475a331fc8a7d0d95460cf7f0302047c435bb5006730650231008915575a8dda6e44048c9285ae4c15fd7d923828f0428dd9b5fcb8fd1bee346739f49bd2de403efda381e696dfc5161e02304708222e018bffcccae43f69d1326418787319232d26d4b4acd19fa02b10b4bf7a1dd78803ab8474ed3db43a413d49ae0302047c435bb500683066023100827b818c8f4f7ff56bf87ccbc70e5bbc7ecc8eed25ff144d469a01c5df4f3803f00a5b0e4048dd8ec536bb370f78864b023100fa177aafb8cb77885cd235087c5480ec445ac1214ed0e7f4ea00b3231c71f1e105cdcfa5abd3eba8d6f263916f3e75e10302047c435bb500663064023003a12fbcbb94881892ceac261382c2e792e3ada314da5eea03ae918f1325471cfef3ccea3f3df07f65db298709397ed8023065919991f5520c44e4fbcbd315589491684f2d2c2414a463c80acc12217561d475bccc4890eeb01f56b28f5a856ee71d0302047c435bb500683066023100c41255fcd7ad02c8ffb3da17830ecdb79cb9f62baea28c159eda4a1d07740f0f4039f930a9cc180d0571571c49012627023100e19d6b2f9a8e2af0c09e39f92c7a41207f4421d389912e1559c91cfb57d45dd74ba554c214344d77f125a600cffa29310302047c435bb500673065023100aa1ec216018883c9b71bddf6854111f990d587b3b21d02c800fee20341aa66f19a155e2b5d29968ec76ea6e5cc43a9160230791ea5f1dc93fbb2adf60fed38af2bdee996dd59bd990d4c8e16b9d35558d1bb3c7fa57229fbb4be6e5dbfc50077db8c0302047c435bb50066306402307ec4a261e813344ae1f31677438c6ec677446e45bbb4fe862b60d3e169f7c9edc0f2bbfc0e520351bfde80194f14a30002306babbad9df29fc8f03fef8e4ca9ebfa30cb1bc3ecee03f66a19394b8928276262823b40d1e44f69be0bdde0b3d2feda60302047c435bb500683066023100cb07056abafd93210fa41c1466df3442cba65cf9d199567c884c08ff3a4ccfc8bc663fdc53ba33a28715f8622e73fe03023100aad5fbb44c84a7b919c6b1d06b237ac5fbc9b3804d106b69ae5014ce6147e5655c239e534cb02532cbbf56a93275d9ec0302047c435bb50067306502304620230de96ee08767628a4aad9f7f5ead95f7fe661e1d83100b7bf270ce1b59d535e230367a9be6d3bdf9909911ddbc023100b4d02b65abee198cc4589c0148704dae9edf934f61f452e67f2ba8016f5c74f1d9bed176eb98ae7db3b5a06328fe601e0302047c435bb500673065023007952dcc94e4574d4f5dd08b46e735627fab263d07c8fd74cf73a54bfe969b62168adce78eaf7c3aad7cc2509932bc1c023100de75a8fdcdbd2b93e67712093af2509d437b9312cf0067a7a19bc22835ed5193a43ec276195bebbb26f8f45e27cd6a0a0302047c435bb5006630640230184432e3f3dda576d6ead25fc62666b03ebd7c98d964a3d5593a1103eda3c7f3d011de7b9d239328cf987275bb8087e802306da35310b4ebd14795bb4652d167b81495472314eb6a8211327015c09173a12f65f446fdb06ad60cf689892e6ec1ce5e0302047c435bb50067306502310093635e3e1d3eeec7881b88cd79cdc3ff51144041728cf6456e421654b065d3dc43439f0fd11ac386dd07e3f5448d936e023007c5f2a849bcf0ad8de39b97cb7af2991c7d9116c53bce89563e11c81349c32e2e8453a13a1f3462dc1f2f7e650acb7f0302047c435bb500673065023006473011a52d2f862c7081356f830639172f19a6fd48d9429cc3a07d250463b370b64966a4d45fb30fc302033584cef102310086ccbc4ce8d88c655d53b373e9386b3e7c73127db4c7bde2b7b0232b4aa9aa56345115424e1455fce028ad9b4be715e60302047c435bb500663064022f28f01b97ca3ccccff2511b8e297690ed06058cb248ff2eadf3056cd5964e6d2285ff45fe0910e608f84a67ecb08fe40231008d168778e8a6a5b1a951c3cad42779c7ed675c5bfb8d154007df412d4d4fd57cb0df45d60db9728b525ca126ba624c290302047c435bb5006730650231009ccd49cd69a4d64ec19d0a431b53b0fe37b27f0c995e756a9ccdff07d1247d14dedb76b9b62a9c1b4cac43b65dd65bd40230561941a3564292a8eab0474cfb7c1f8f3b85ecd4e37ac8d895272f303f936dab7feb9cd4cdd2beeb342fedac2bb7a1fd0302047c435bb500683066023100bd4bcb19fc5819037b522ea01755e0db5647d9ff6d247bef30bc6cd5e623c69563bda7574b2fa3fb3c79c4aa8a3b139f0231009ec7a26e2bb5491a632bd5739add522c2862e0253f7ebcbb7e04e7714ac1daf0c4ba61a7ca152f78bf95c6e6eb7c6aa20302047c435bb500673065023100e82eb681f23b055b851e900c9931244ff7738a542d5aa2bb7623b92b38b90b4d931cdf9cf8c697c84b22240fb6e259970230171870f0f7f2d2535385957c1687f0b44bbd0a394e99a0baea5a5d89b2d2c870836f43f10f6f34e230e1f92633a86c560302047c435bb500683066023100c0f146f5574e6aa59486232820174270e554855bc48dcab567432af5e27697047d48328bf004e9488a470dbbf7247039023100f122c94f5ee68abe48a24b1d8ecc65d831569de0db3a778f588bcd5587c8601efbdf8fb6eef975680cbc05a94f99ed870302047c435bb5006730650230361c9ba26b96bc9deaae823636c18366feb20e185c06f691d732e05a1bb4a9ccecb552beb3e2aa906b64e6f28bfb7c2c023100e3e9d86e01256a42e17f718238b5f0b5fb773b668593fb740558ca8b3159e16095c44d7826e6760bb96ab9b61f7ddb470302047c435bb5006730650230398639da38bbec58896f89facf1c7d8804d91db4dff555d36d4a57d8899851ebbe93ea98ac21dc06190b030b9deccd12023100949863e42856c7c3ca717d797eec3e7bff9418ca4f2b96cd10fbd067105a6b5f7131836a2150354e0603139bc0cf55bd0302047c435bb500673065023100f7f41bfdaed52e7845379060f3b87aaebaa4164e7132ab12ba8510d022c68e9d2083411330e733a2479f704ea47d41aa0230731d101a95fabc270d9de977a0b0f97f42e1eff0a4a43bf8f4c3340af92d64407dde9d518a5acd655261619f2a2e02080302047c435bb50067306502303eec383c3eb50cae9d887a2bd17c79764ddc3b43cc7def3c2ad5720ed301d74cc0efeb153c329d4ae3be6640f8e5ba7d023100b53bbd2e06accd3eabd77786fe1b21598fb12e4a83ba337dc28a080f80b0fc4ff237ea7ff85e464793e574a6bfc7b78f0302047c435bb5006730650231008a2863c78f99c8f3f7d9116fb183e9dd56b89e659254b0e6ccc494875470c2c4fd0d7ed33a50aa2fecb5fc77320f55fe0230703b96e65ce0903e7406e491d32a6bfdeaa269c0f042540ababd121888d2f1788c70c6fb699fb3ecde86c0fbb18ee2b60302047c435bb500683066023100fe23103b367327b8b2f25cd6c3841eb2930df1e7a01c545ce98d000680ee9203c785868b5b844652e333eb9a3d6459a4023100953c498b0dd0ca6d9b679b68931b7a911b058716dc9115d3a7aa23892f7d8ce94ce60d6fd32f0dee45b903f61a7ddc700302047c435bb50067306502304ca6ced1630937fa52c538cc8e7a2368446a3bde08b2a385ba2f29a9354e5eaa6bd121db94ae2ef64b6cf8d74632ab540231009e25198048f9387874297f5545a5a566c31ab07ac2d51342af54415bc55a2deb9f8feec0c1498503cff6934bcf287e1c0302047c435bb500683066023100bfe42de3b5e11604c7bcb55c439f9e9d5400650e5afdf7f76dc5e30fc145a4fadcca77b425416e44bbf08c53029ccd64023100dfa7213855eb3d02c92d578064021b3815e592c399b7e2eae48a77d11f406c8c5ed5fc1875fd67a1724a0ed0396ad84c0302047c435bb5006630640230095d2002765bb9d43e55d71373357cce4b44d678753c1f7e259d256dc2734078c41e0e8a15745e1f3dda747b60b7ecc702307f19ef4d42898086b6615aa2b1bee91f2d89a5a3d80fe52208c77f7f1907cd9585ef1ceba53efb08de3e038780534e870302047c435bb500683066023100bae5baad74adc529c654dc3956756a8ffbc93a142cf71de62ee9b8ca8a850d286c33ded76f78e24677d1c101d4497269023100e6b65e9ca0b868e1724499766312154da93ce482dc1997300a9d336b6f992d8c315e3d6cd8f04bf311e2f1c88a6653880302047c435bb5006830660231008ab12c1561433d25b8c75e67c2356c2c81b8157d3bd191d98c392974bff062c3a49a3c75cd5405013e9b613f85058275023100e64712b9674127db0f5a11856208712b9c6f49200b7554dc990e949ca7f073de6c221c4593c23cb5dd91ded8c656f2340302047c435bb500673065023100c4394c557b3d4ba9a7f58fa78ee6f949960eb65208db76e8ec6eb6ebbd55e9ec78aa23af9234222bcea4168afc830a8c0230018dad9c94c6a4d827d241771af9f67e8deed044ba712d633f813ef98747c86f82a0be52d339deb9d4d1cff6703a8ad10302047c435bb500683066023100a3b013207efba4038929301b3d51f190869e599886d372b988976f7050a8e53b6dc61a337b2004ff9031ad024dd213ee023100a2335445eb1fb54cd189372b4b7a5f3bdea6313ce8fd5027552691aa4f99b15ecde321b5d06e8701ef8ab2e810d371f10302047c435bb500673065023100e80ece9114339faa1f6f3ca962716e5dcdfe49d671279f345214ab8548718dbdc98e810d9e69577ed8a88a3485db5a5c0230210a083d07243874d4be1cb0e80563296e50432e8b78f36883c9c42bd82cba8a664bff939d14717a4b4e6a20080d83a30302047c435bb500673065023100eea000a654d6a9ec18e8d9acac2a17f88c5ba94a71c168cdf908cf521078d49f8faa1dcfaf6b8666acf0b43f7b83f59c02300a92c6107eb0dd06c113c97101efe92d2d75bb7ec679964e671c99d604692985203dc4a1bd923ecd2421e29b6fe481610302047c435bb500683066023100f3d2215670907df6c16969bffa5731858b7eddfd70df1e2a49af6b9c2c88a13297ea66c92bba019e0a96b56ff9697691023100b7c450da014784d415394914febdd7f8d7518258ce997e82fef0a1189df8e797426b470ead562e0bae716d22077eb6700302047c435bb50067306502305d4fd50917a93d645778870bb40a4d4999590e0f39ecbed3684994baa10c9b5774891ebab97ea8190fdec329ca9f40b4023100964388ea49d3550108fe13cfee0ca03c7f5552aa78414f9d581fc3f369cfcad3d2214c296445858611bb297b966662cc0302047c435bb50066306402303e0f5d7820af5e865fe7cc0976389a173f6de62c770e5a5219197efe88aba12cfacac082cd60841579eed41f931afdbc02306cfb9c748c0f40da72849e0270c4f7e5ea78d1009cfc76e500d91d253599dce37c6a36e96ef1da16feb04c8085d3c5e80302047c435bb500673065023100c9fd50a59508fe878fcf854e6abb0736038433aa7b07eccc651b4da09415ece627fd34d31663a36b2909727b159c42d7023001d53fa6652120503ae33cd6805fbd3c455a5880ef480088a0eaa2c0f323764e67220cb166372d79f65fa882476370750302047c435bb50066306402306cf59ac41d851280b7ea4c812f3b97a75ebb5ac1f22b1b31691d44c29e08112bbb44dfca658c2348043b84558cc86320023009416284a0ccf94aa2224b80a21fdc4a075c479cffab8c7fbbdfbc78f4082562b1b36864c27d31544e4b206434f9c6b10302047c435bb500673065023100959f56e337966acca2a71e04272abec5a0a9ee15c9ea0f9704d17a1f81f6023263a52e90ef2ab273ab2a893217b28e10023075f0971b8e6c047a739eab97a7f96dcacf9e0561218d210adc13b8e002b6a9d680bd2efe2d093d56f0cd6635451ba5cf0302047c435bb500673065023100ba8025e1103951d4e4ce6dd5a8887ef3b39ecae560e434c869299fceefc3c71215c4389137574fedaab776dd7dc2c6d002307501c594ab52eb1981beefca0397277f1c3ce4d1692317e45e15935954b429fb7dc33105f6b36407f085aec10f1a9ad00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023068315c3349a3579e12ba9a785ae2c6c95bb5d5df4338d3bcdcb1c4b4f6b558a7e6cfe9953b07d84ed18577e89aa5492a02307fd4197ff299552a1c4dcbb568a08eac391dc28151533dbc4866075595d15a2153855f8008928e8e74aff00a3ada625d0302047c435bb5006730650231008c9ad29bb03dc54cd4c0694431cc096133a6407316d1402d7c85eefd3c75f38f70788ecc9310e8e37cbde0ff90cdcfd702306290b94129409f76de8d5168bea8d624178568567e23954e83ebd6a5a244fac0836f2f2e6e78101a5c37cfb21703e94a0302047c435bb500683066023100877db344b5e91d4250a727831f471cf6362941d49333a7a5186238207fd1bad06dd75d0104b30bb813c2ffb1bc1efd7b02310093332a420aed1f15a22da393708693c5eb548d618050ac9b614f74645d01b2cf3d0e3d0cf2d011ad663dc0f79bf746cf0302047c435bb500663064023014c65c8db767161629c50eb35f6cb198fc310b192cc50ff5d9cb71499d32c6a4a61cf24937a6d0a1730da5c1a404b53902300bb9a331faf9a18b938fda196a5b6eada53a8d7b2d4c537331ea2f0818978430e268023a27bfdbd53a8e97943400a87d0302047c435bb50066306402302e8da83c7bbef6cab3a59efdaa62df4405fdabb0e47e9fcee13ba0b7732246ca7d8bcc72bd16dae0e3fbbb61d6ebe7cb023071c10b3f362f300bf40940f5eb8f0ba37439de6bf78f65e7381fbbf9ac2f558c55b9b6e31129a94102af11be0d765c340302047c435bb500683066023100a93375a7b6287ef40e1f19a925fdcb8dd04fbfbac33aaf83adbc1af64ab35db7f5ac662b1943707186994e0ca8b79439023100ef5d99213b4f26e4bf36806dac5814c3c9e746bbfe963ffdc0eaadfdd373142b456f482d8dc5d8b17f21a6ceacd7951c0302047c435bb50067306502307bb1f27eaa3d24963acf01ef6ca6ecbd73dc19a1b60b000de8c60ad5d64f0443cdf3d097a29e585da9e4a10446c8bf6c023100ecd8366bc842912ac1cc8bcc0c0decf5a7bad543242cd8aea0785cce214e883b67884b003ba1d95dfe75ce0afa79328c0302047c435bb50067306502307de07a25a9c20cfce5553a2d28554ebae5ae233de067d773b3108376e02804af7eb94fb51c69aaf44d7d9444bb815d2a0231009dcf989a3c3d2a39c64ca63add6c74d210cdbe6946b8c0c533371377dec7018370cd6f3054b2f245d9aae81687301f5f0302047c435bb500683066023100f5142c18520eba659079fb1018906590ec0d24ca22b20548cb03522a0ba41defc4b72bc836fcd9e5d1c7eaaa6ef1e631023100ae1529c7867a0a9f260c8c227355f817dbbf1818f060ce96514e3992203ca043f9858d86621a3129352a60ccdf13111f0302047c435bb500683066023100acf9461c1eacac86e91ed8de554e00cbb64cdff7542771112c01f7aa3cfcc0481a97f6e8ce38a445fb0c698d73aed32302310087b1bb2ff51a871297b639297d6ae8ac481969399728fcb2796a0bc716046b559bdc3ba08314972bc7ae986adbb6c81a0302047c435bb50067306502307f9fc396356bbafaab01961efffba42401ac0d9ae7de067805092397eb60c307520390855d040d09049673eab1c1d168023100c5ae022816854741855a06fe2d39985967bf6305cae6e69dfcce2f5703fcd0b61c718a7c40a052b55e86998c9ad0a9460302047c435bb500683066023100cdd72d98330d23484779db8087c807429536b5bbfbfbfcbd3098ead757286cff38021797c749718830dfaace870cc9cd023100c45e1122a8d211e9a750d661e4b34380ca6aefdef3f01b403a10115e0f439474dd5d61f7c8965c0ced084a82fcea5b3a0302047c435bb500683066023100d96a4d2883eb2f94bbd4733f1d3c1dc1aba43057f6dc8bf25c4e8d4d7b57773a8c63738f79c7e8e98c815b75c1ef4a8f023100a51059deac8c32672dcaaefa1fecac79029ca04b244fe173aa03c8e0d8671a2c093719dad16fa2d206d15c8b727a5c320302047c435bb500683066023100b6edbe86d79d887f505c3472e1ac133cb56c282c1b98140eebcc6917073c76af67701efd030324afd74ee03ba990efb0023100e5d7b57f0c55cd6741c1aec3bdc58239a11bb44a419986063d25f865f546046389236f41a95e3e1cb45ce1175daa9f030302047c435bb500673065023100d2724c043e732f5c1229ddfec4e354e265e4f9aed4c5e382e17c3f50d9b4140e54f0a0115ad120116c191b3532000cc2023044af6641d2fe8e2264319b820e3bf444bf48943f9b11f17f646b52bec7849c72457a7e7dd82e12203dc82b88d30187a00302047c435bb500683066023100b4fb076036905b272fbb250d8a2034dacd4f3f69c4800921b0f47a5f39bd1416463a16b928afbdeb45e3af7337c9a211023100fa6ca62a8a0ebfa02e690c98e9e3ac4e5cb7e743130380307c700644f3ac37b22bca4809e10067926975de9a024bfd170302047c435bb50066306402301ed14e4932662df77b8288ed8aa2386dddb5b882c12a971d9b263eb2ea22c6629d26c7d8930a72c05d35eecbb1f544b2023009478344a1e2d5db90b1e15f50464fae3c9a8e277b5b158fabe503212a80e891ff2d4d06bdd1dcc23d8cd3429e10f20d0302047c435bb50067306502307bf09b6d40613e15f6d5c634e6623bc8ca5bcbb5558a672caaa25c8abd3097bcc057ff36208786bfb308e492d8cdbf94023100944036dab54ec168adf6c2dad55c1ac47e9444d589dfb18c8678f3ddec6d1d857c21407471f169781e15e88f46baf1a40302047c435bb500663064023071e528b35b259db92c6e59306ac682ee1dbac6308f4ba0fdfba56a09afd68150032161ce875d124f9c776b88994095d6023073a56ffa89e741f84646b1e69cf3bb135632f379cd07c29738849f39be5723dcfd7d040f8e649079f362d0cc9e4032fa0302047c435bb50067306502301ebd0474fa29e39d9a3b245d8450d972d697068dba0417403d6636b971c367c7c4541d73a8c7de86e97e33025584e2530231008124110bbc1b3616fece81783a6feea170c1c53bd53095913f748739b4fe9287dfd8e295f67d02ecd16018e03fa0e7e60302047c435bb500683066023100e2554a5674557b15f66df394104f43412f7cf0a7fb5adb31316288c4396d6954e01ecf9533e0f7f8e79992f4f2688b5c0231009496d443187df9b1ba59a3aa64b1824da69827fa65afec36d2c54648eaf20838c921452a3d9c86895c69610d2fae31210302047c435bb500673065023020f2e6c103f20c8f51caeee43f002e5aff06ad5d6a8dc3c3ff42f966ed843095fb37158f8a10eddd0adaca5ecf41b63a023100d2e748b543da97b85319dfeb88f0805bc24db801f6d31778b34eb830aabe88f46a9102817fcdc098477d5e0ee960f70b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cdcc2a9cb764752884c515926015180739fc81b706004cad0b11981b6888d2d8c824028201e09447b6cba0e9461a5e89023100c620a5f94b383fdaa00de8b7bfba10c574032cf2e95a9a5399663f8e98fe47b493b265e1279a3829ad53f2830336208f0302047c435bb500683066023100e59afe065a2558171cfde57d7759cad99508722d6de63a66ad2e7899a1c3d81ba8ecd98b1d537e15ace4a108e57164b9023100edf15384142def396439a0078c8c5401c29b7480537a116c7c8549a825315c40211b06a6705efd79f148ffc9d62f19630302047c435bb500673065023100b5ef71efa635c99730223a2f10b79078747b91fbecb2327ed84d3a235cefb6ab0a5494d5f04bcb3b0dc2f2257ae84c2702302b1a3af8cb41d78228b10884841e1530727eaf7d3c56e669a2b73c31bcd391b7fab445c8e7b98ee0df96fdb38a7c6c560302047c435bb5006730650230610a8e9323228c0fd12b9ff6cf5b140e570f15ffdd23b4b1011b80b96e805211a7e4589a0cab50c354308082df0e4db1023100af7b2b7d8e7d9c58a20f76dbae5781103bbce8c293a1c1619560209602987fc1f31a8a727c5ae15967de534af48ef4c20302047c435bb50067306502306d7b8840c76d078117ef153b337df70fa75f415604c08c3570683fb9ee7c533b22584e594f8f10e73122aac362c3817b023100d326de1baf37437876d1cce7af5630f50bd092b25a295b594b80e3eb86b905437836740542a5bc0bf5875f2d8c2759020302047c435bb500663064023072e2f49f92bf0b1443768a313eb709a992cf68b4bb2ac173d7edeeb3f98efb80dbca6bb97ccfc7c794ed9e6796bbc8c00230554ef7e7198cb30c912692a454a73197699bb074363421ddd5254c023402ac5d9936ddb7f80ee0d3d75926b40c85461c0302047c435bb5006730650230108e66833e1ce13088fc0f158d8c0832d25bc47280cfea6517827ab18e52be7f728d727b6d229bb7f03abb2f71561ba4023100c242520f8526065b32fc7b1d7eeb67eccb364a9f18f83cf6fd788be8c062581b7ab8061176f936278e8c8e00a1a2d9db0302047c435bb500683066023100d854aeed8e2ce772e1d880bdc18f314a681ddd750f20fafaeb2336b020829fdcf37f1d10def350bc3171416f5ebfa756023100bc85fe1baa32a4d8df2fd52bbb258c25f63b7115d0d0b18e15646639242d9b71138ed10a2de461f2c826540b72ad50800302047c435bb500663064023016082a93c45c390052f06d732f2c9488cfdbd6c04b797c7fe3187e15654943d69d90ff0fd4d6aeaa2a99fe4f20f6e43b0230582c3603b724ecc59fe67fdcc13cb5cea75ef51f5f5ec95539c4b5a926c606d4661da54c37ade23d8499f40aa2f14cb30302047c435bb500683066023100b5b3cc2bc152e3d7392617699b55ad0dfa2738cf8576102bc932f1b20cc95e69af4ceddba4d3c632a53ca3a409c98e3d023100b897422ab2a045f6704214dd4ed21087e1f5921111a7db1625f2b0ede24380f833bbff68772a9a7b3a33ad2cb3571e2b0302047c435bb500663064023040c2ecd4630fc9a2d880dc2c71201b0e46c2ba0e43004f19a5afec979b7a5747af4c90aab5b7b31fd8f69ba7754ef7f802301e02d69328d9d690660491d0014aa383ab2883f1111ecec17fd42f1c3cb6576b813b24de18ce56f975e9028efa773d960302047c435bb50066306402306db93e2cda578d8cca505f151437726f8d417ddddce8752a2cc2561a22784ef4502c86b35f4ec0bdc4a628f89438379f023035e92142763bfd50c0a9ca68f2abb606875ebd1050b9624ffc284c3801455cc3c570a4d37f4f543d19890e61093f70560302047c435bb500663064023019870173a625d1df59a84fcef919a06dfe6621ab7decb9447a5af54199b28c1ca60344128f73db2191d0ca0cc0269145023052d107eae02cec65078ab62193dc3df7c429c6c96a4954d270e206429429a70c8dce962b54e17305c58eeb32e99b37160302047c435bb5006830660231009c08b0faaf7005f7f890be94b30580fdb03191cb899d074122b7d56265d78a682ab6aeda376aef0875869c41c944d990023100bcd1f9a87f1824f2043acc8fd00600ceaba8b7902edce0d5ffd1f3bea245b18922b3c341b18a0edb0b042876106944f80302047c435bb500673065023100bbffd67dfe821764002598996e08100a993d8112edb74cfc2ad2f1a4bffdc750155da02d0a6c6a6e2e34ed301c7a95c0023012be245d229aa65d85eeb91c029856dc2e2477a8c73f20e7892d7f6c84d999495f858beb93f58460de1791aa6e0f7eb70302047c435bb500683066023100ec6784ecca3bfb82e701f1d22cab4d8d60783a2c8e0a724d9917bc7ecbde34a0059a506146136a5c65d8b12a85b79bba0231009870928d1cbf126320fa00330e4cd9d3feecec260bb93fb0ff4f45648a58eeab04966a619a098a99b494062f0fcb72040302047c435bb500673065023100c8363c2b5d643af49e739e04e9057d3081893249c865639ab3f7041bb2ebc85488c82a5749a3ca09d4137b4615198b94023077cbe25c0963459c6f77338d01db31e9269828663944f8247be75bdc43c32d2fa9464ad5af4e10856d2e35263be635840302047c435bb50066306402307f32adaebbfe7077e513114833b3b785f3733c365c76f49b56bb4e6a07493e6ae3efb903633249c08bcd391c1a66f10002301850585d84da1b5358a24b1cc82612e667eac04811035d362174c9453708dac35f11eb9555a8f909250acfafe4ebcff70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100985285619254b0da2be1db55a209178737f09316b774f8fc7f7ed7fa0690cf98d95f618e5e8bb04cd894b49f14473cfa023025a2a5d5bc71b4ddafd97d4d07b30b4ce939180b17d6b8bc63e04fe3aaaa7939e297c5c1876a6e97a0b143ce224f77f00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f9ffa013491e0e607248b59901cae6b596df8a5f377b77048ff5c8e4b1380429893ef3e6ceb4ea76e07936a64b67e4ac023100f8a37bec3c752b5ac8d49bdbd2ba0e971503fa399131305742257913190e1f46756c7f1ba050b6f1a48e54a3bb4da2bc0302047c435bb500683066023100ec0cd594d05c9b01f411c7f39e8543736fdb0dd887e3332ad316ba4a930dadef73ac0444f406245201ede65bfc5f5b620231008be565f178d364263a22aa5aad86615275f73a6bfc35dab696d3ed475f2544c5f245d967735cfec1ea6c1554e9be137e0302047c435bb500673065023100f7790665a7ee5d8d5a79ff2dae80622d4d0a90b456f96dd6c6677c0599b9a1adf40f0fa319eef60a5bbdb0cad4550f65023008b0a3e7a20e2b4985e56e585f2a37367c812d482b8ccdd45459414aac3875b98cfccae50ecacdfa99dcb70a345fa9690302047c435bb5006730650230116166205b4a767fced6c0d5a8e1dde257df353579b3f8ce65d2ffdb235305839f405144739559e3f087818ab713af930231008937a482ced8427cdb6db7608b08e413d7a861ad10fb74dab12ab748ea630fab50e74fc6e010bc5d70db9290cb26e30e0302047c435bb500673065023100a66dd988bb389fae52fe6b1efc2ffee81eb4d2ddc69207c99d77252cb2403b34b5b673977b31b062aafb11e61af087f002305d5b48782b6ab7553aa01a05d7ef26b35feaeec29c030167fcc2f0ad86fa214c05b6a744e3de30145b056532a989785a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b278e049ed0e09af640aa1876b747126483cce45455c882081d50af2af4ebfa91e3c156a2efc6a7c0805e1476dc9043b023078e295b3abd1c60d1a761fa7743fed331dad921f9e144e8fdf927e53c1f60e12d0abd3a5c225116102102671ce7293f00302047c435bb50067306502300c1c75fdf38e5dc1e804abc81c1b40bcdb4b51932ff99949fb4aa6c20b878530f54d4689407b06ab661ce365f72e686f023100daee0dbc91ba72a57f44efd6cb24bc7ec466cd50bc55d4922b3b0886aef4a15ee00cdecff52a59dde4059aa8740bd84e0302047c435bb5006730650231009723b043b1be07965a41a95636a4e67bdcba8d76af227f484b56411dc11a4c0f15d7468c7d0b4f8587b0c2712a4eb10802302cd52695ed08defe1877fb30479556df2d471eb6fa71d409cb4cd6b44c5a2e8cd8b288f851c0b49f650e029729d2d4710302047c435bb50067306502310087c83b2c3ae23d8e5368e6bf81f446a0dc321dcac4be7f7e83d4857d9a500c0f0d7bcd89d701592b5cd5dbea59f77544023008312808c00656807eb8beeabaca6f994752876a1ee8a1fc954f83c3a2e4d5d15a06fc16243204c966fadcf9413728540302047c435bb500673065023100f5a0a8d10123626b788087310ed1f49251e9c0541785f6c923aef4284cbcba2a6c7b5959ee2724241b7ed6fde362b70202303a1cc4eed4dbc7acd08b0100b3b58f36fce99d74ee389784f175c0404f116bea332130a51cac46c440bb36a57ed301080302047c435bb5006730650230222487d1c466630a0e66b57b342d272560de790111cc546e78aba3e6a03ada9ad9e866a034d7f366272702d83c988214023100db8e41d292a410ad2fd1fb6e3c3235586e228be8f7140092eefa52a08691adfc1763c08c2b892598ddcff4f4e1e22ed80302047c435bb500683066023100abc067037e7140810a89c4385ed6b27d0887e5e35053e81d3b9d8e8be18639ac0e332ccaad3aac9be6d6cbbc2eae4873023100c2d1c1069a66b175a0c40921130b7d45a33dd609eb896ce6d5bd3acd6cde31a20b25d311324735bc3673ea6cec404da50302047c435bb500663064023023f762b629306bb255fbaaac10bbcb0d9306ef82b35e81a0062171bcc3f7ecaccffab3212318675871560aafba614a8902300b9d606be45ea9007680edbb3a01926e459ee5ed98245e9d86a202476950ee5376c31ce9b3d57267188cf57443b68b090302047c435bb500663064023000c46e4bb0d58a2bbff75c331b48662a6bbc793c780d642c0496db769e6bd67811585b16c7910e92efce110baae1bf2402300af1efb6e8b56e355047e4c422e9f28af01ad5d5fe806b0d44d206d1505cdef483cfdaa87d979e1c149fc017cdcfee5a0302047c435bb500683066023100ef49d504a5209b611f3059def876483fc1e4f5982386c8eb41409f25272391152c348e330ad48f018bb4d28a48c76d0702310088c2cf11d6589d249917fb1e05be1f91f198a5bd4f09e0be3730f603cb77065c1377996c2962703e354698b8355077b80302047c435bb50067306502306ff4a37fbf0c5ea535107c234d4b9040dc63f89c3c84ef70895beaa7035874305a6c1cc78cb3a29419235a71e137287e023100df635a7301c11a3f792c950ff9f1736552e83d6bfc782fb80a44c193a3b8191a049affe5f8f4461620bfaf4c50881c7e0302047c435bb500663064023026aed0f0b1363808aef5efe1cd3f5762bad1b60f5833a3e5f26b50ceb6ecb99607f37a070a17cd90671b57019c25765a02301767572791d5e484b83c55d222c80427854c03db7b67209835653d13b3e73d4e1a5b9bbda0e6a93fc1212e54c9ab516d0302047c435bb5006730650230056149580bdb8f67eaf1514f8720c7f417f75a0cd2d77362e375961911b135aec0ebc60a98172d874d2f0975eaa3019e023100ecab0178b83fa196a642ab905d1ca92fa6410c1dd867ab7b50c9921717597121ccc04719c95d9dfa697a6b55470ee2130302047c435bb500683066023100e12386d8f9239785d531d8fcdb7f6d7a8b0b0a4b7fd5f96a892833fc8c4e3550f3d3625be0e631fa03b31cae06aaa1f80231009fecef180702391b86e07b45133aa29bbdc785106a5c8ac8984001060ce814d41303f8c368d2b1cac7ea3a751e37002d0302047c435bb500673065023100b370e338edb207ac9912bfc0d1466e6747ca6f748a7ef817e4da285cfd847ffe550f32822398c5532e6a91125bd1ef030230111cd7c39368a05455f3772de63b6f2e1c0b47e5fbdd8a38bd0ad977c0b1ddb0de8720f1852b84fb8184f174a7215c0c0302047c435bb500683066023100986ca8e22e3ace4fe26a1d33a2651256d16029fa3b8c6380a6927d7fe9fee1bde7692ef6b15749ebbe88d25e71edccc8023100abee8654acd48eaf23aeb3e5fd54ecf24c4ffad42394cd599126cd441c3c3299c013b500ea29d7002ceae241a240b8d30302047c435bb50067306502305b6ab763a771d2a08f8de50ecfffa39373718390f4a296320d1329b42bc1c728d03ab756a5af113a96b005a20979d1e3023100afb470b6d5530c204899dbb276208435b85dacfb6d4b89a82c8ef999ec4215eabb012e153133a6d3960ae66dd009cef20302047c435bb500663064023036c0e4a28853997ff13cb6218d27a79e0249a7daad640cacac8a2b60a5796c8cce6bae7aec563ed960187e0cfc02433002304107e72eafb32e49cb25b83f52339a2cc18cc4e863be0ab28065f1bef300361175b54045861dcaf291dc24ca7e801ad30302047c435bb500683066023100c222d6d325865b9446f32ec0cd9aed542e374c76c8352c2680eb171818b4e03b2841effbc5647b056fd6ecdacc865033023100b6917d9394239ded9bec9a31f7ce48f96b1bf82780e66a939fca11221729e3439422114f9f20842090ab42151c810d930302047c435bb50066306402300fdca37cd1ef187b50e2917df8cb611a901a422a02c695699d3701f1f1369417b7d86ffb21f17ac28a9b3edd970084e702305e7c8e87c6dc98130122e0941e26edfe5369569161afc722936db14ba9a18f71bfd33e4cde1c4384629adf9510f3013d0302047c435bb50066306402306b7817d11e17236fbcb1088b0feec8d294ba4d5edd2d74a35e4692d1c6c4c09fb8aaf913dc3a2167d5aae33dc09cabbc02306eb5068e2f965cebb43e79053c914f78d47030b6890c78a4d582f20453a24baa8979e43a1e1a013625b4e8eb1140ad1a0302047c435bb5006830660231008b0960e9979a6d4e245efb12ebb04ae81c91ccd17b768c20edf5027c3139033f6ac49240d3e72b5fe35e9cc5298e0423023100820d8ec48e0272008d974a72adef6b2e3798d2bfcab56c9e42b6877223a110d2cb819d5e40629e8308140f010f4b4a580302047c435bb50067306502303a3ccf4cec689ce2911a5afd070138839b7593fc625c32ab445c4aa36a1800502135493543a64e751f7c7f722242cf7f023100a64df00dff923f7b1c0958320bb41212b1651a910cb486da22aac4760f81033bb943d58f704de301faf8465d2e50525b0302047c435bb500673065023100b4e14502a9e08b419347598a88da39437acffc252cf5328e60f174e0cfa97209aac61047bcb662c5cb714a5d1c7307ca0230767178d52d3a6e1449c326633a91e64487874a6352fc6df6baf18d796a2d188d3a16f4e0cf82953bc2b6dc88080a30b70302047c435bb500683066023100cc5d0489901b6adedf086434a0a0a01ac557179bcf7b29a5fcce0ca24d500c755386db8df1bac9f368523ccb55cef31e023100a4d60fb555daee02692aa2364e792403b7488f092169248c9779c56c05a91ad99b82a34e607fca37cb4ab7ed4684a4070302047c435bb5006630640230477e6ab6cf518302fce7a3465eba6f2c107dd3b2641663dcee02b7e3ebc2a5b03c3ffebd8dbe799fa8ed2fa5ee3b1e6202302295606d98479f8632014c43e399a1c0cda0e98cb7303704c7d7ee9ccd1690bc914b879c6825acab67ab1b3b6bc68d150302047c435bb5006830660231008730df785373e2c3a9065ae31054a56b6adf0ef620c9ca9b86b9ed6e669b705a321df8c3167942dda509a9e43011e99002310085e34cd9b6d0cafbd0b6954c2a7f0afada1027b08cb56daae2d9aef6bd343c7137a93946d8054110b3dce9e43936caf60302047c435bb500683066023100865433bb70e7a43231673ac515ab1a8986536f593618e23ac969294d170f0d5cb5c41b5f98aa01438513307e72839a4d023100b483af60af73dd9e832cd0ea1ac0fbde4a46f67b4fc939dd8ceae426441e573620e3f09bf04c195a9561829fe0286f390302047c435bb500673065023030851a393451147605ede0b2c96c78a2223785caf11f6e8afd131509b7e97cf55a32eaf08b199b4770856f0470fa9441023100de1ed3458ec4c71c9a05013a62d6145cf63e1a6c8cea86daf550fa8936e34d9a549e3b4b3aae926f14c2e931eefe3d9c0302047c435bb500683066023100adcec3302c4262206f5f36bc8d89fd08155edef5d2026ce8383626237fd662f1aab36cd18c026a35928f3073e4e8c53a0231008a338adab048d72033cad247fed5483a2a62f4f70c355e521e0b3103e05570f0d42783e70e296532fd5c82233f9038790302047c435bb500673065023100b9ebab8280d0ad3b310ee8892c2d30ef9e24773d9f7eff1c44444565ec1b6a01a3b1335c530b9bf9a4cbf6b8973e46d902304eebb07b5becbb2bf9dfda3f0b5a7f0a73a1a48555c04b99b4104d6767478f8adc6c956cfe0f00034c42dce08d07791d0302047c435bb50066306402304bcf32cce71e3e1be82747ca20f813ea356e2158d6bb2e83bb70272d486246247a44fdc3af22e387d26a6958d31df3c902301608cdbaadd4c1cd09df4098a5054da8d08a85f95d21679780e85c733ce474c1cca3511e102806b41a907734055e8e470302047c435bb50066306402302a72cebeb7c1e562649d596f3d59a43a983b1d2cd4648fcac8bd62843f6287f7a15e433cbe04f82235f07523a131bfba02306ee18ec246593f4321f874ce58d38779026d444e739a4276672d846f471802235f4b29a72b2077e9762536bc1fd1bfa30302047c435bb5006630640230509205d8a70cfc0d3da29e1ff71e5d831fd4df857bbc764190eb9c73417a7b4fd1fcdb166cd06d86060e7d5e1120477c0230425d310a3ca1a2ddb42eadb4e1e5ea576da14cf7146bf9f13d654adc47c274d00f8d4ac2985aba4613daba0dee0e43540302047c435bb50067306502302c2343f3b5d9ffd0eade24b43f122dd9beb3d6f88fb19508de56f0993ca10f501b93461e0e55f3f78ba81033e5d1d769023100dfde2616b947c37abec7effd4764f273f392a7a284914eee21c04658e8b960c94c9a9fdc65a0107c408264a9eb26b1000302047c435bb50067306502303587f6c3fdd97d2805eac93d111a8f5365818eb197faaa37ec758afbdaa3913d61ba8f99167b535c5ef0dbda733bbe7a02310096b709e110ee03959f1ff38713782c69efbcf0e1c12afef7f1c6b508657e03f68bb49c115338bed980e082d22a5adf610302047c435bb500683066023100f9a42c27d3694f397f439457c4d7132fa535cd6654e6226142f1ff5e3a199347f3ea8b5693ec1af8d42b064e3fb7fc46023100b1e20f1a0bc8218da5c8d5b31d3a5e9137525ff15cdffc36e308e9464e4ecab51a77f51b3cd5a95e33ee5601e216f30e0302047c435bb500673065023021fe64edfd47dc2ee6361ecdb55c2be4d816096e9db4bd9c8658e791d01d48a5654702ece8005814b374c5a92411ed6b023100b0cd93d6b68c101aee2cf76ff072710223077263c9dff4dbf21aa179e7a511fd2802f8c6fd5097a0c44e00a35e2e0e5b0302047c435bb500673065023044c2bb6f962508c7c1a44ee29f1c144d06833a3590d63b2503bdd318f4bc86d3f94e8e2c80e228042f3a8ba00354a9bb023100cdadcc808c5af44f4feb8201137c5b056163932ce4be21a2ba77b3d804c1fdf4c23e480a18a6fbd2a3d52d3df80455ef0302047c435bb50068306602310084af8957c5c58f081ad8bbcb17653a1138ab7bc8a35f4e3d6d35ab30351ac7f6540b03b1e83d2273414fb231a5c95cb9023100a86bebca0534f4a5625aed8327ffd72449a1c2bfbb28a8dcb5d4463ad9144a1197d2e451a7c3ab001677902a1b0139590302047c435bb500673065023100c0fb02cbc1ac8782f40218e1b9cdb8002fce01c55790ac3188f2ac406013bf1d1773dae46e793cb46eecda517f6feb5e0230577be26def9ad92a739286ef6106fbc82aa908418446cbf0e49131f94f0c1bbd4fc4de45e246c9b3ede98dec6412d8270302047c435bb500683066023100a6267d1121a75afd2f1cac678f70262b38688f3526bbbc153d9a585e0c54c0da3cdd44c301e4e13378b201c2bef24148023100dfb0c15304732a4a7fa92ab07d521da38a383f55c937035da7d39561af301e09e153c4c101f5ed4cb9be757ae73dee7b0302047c435bb500673065023043efd5b892bb68b333f388d4d5aa8b2dc90051ed993033d3e7232cc2fb211bb1cab2cc01029ec9a5d4fcdebc2dd7229402310094e3462533c400145e9535e1bd29ae0fa1b58bad1a53d7791321e4457e817535afe34b0d7ebabfeb23a7fad177b212510302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230584c6791726785af617e35540785a2670bedc0873c8468ac309a89a81d963447d4d3bb2cf62ffef32cd37e3be1155595023100ff838534aa04b758db5ae38e27dae87df31f1ec19f38b5f746d18d361a95e25045692ed0d62ed44f33de074f3967b9e90302047c435bb500683066023100ebe62e535e362c106f02a0197f7e3003e11ddf83c042f26fb4a1dc1bf4e8ba13a370f0b2144bb9957decfc84e9f4a32c023100b95f24fa2ac48f16537c4d8830cbacf4f2cffa4549c8601970f6ec091c2210aba840cc5921771e607d8dd89110ce1fcc0302047c435bb50066306402302ad1f84df85c1c16824237926dce8aa84573bbfde5fbf06a7b5e28fd3e3dcfd22abfc5f2ab79cf65c15d2ac41e55139d02304b5e0abd21c0cd4532ad5c8b04cb4dc937459be56032448ff95b7610752bebd0d299eaa4742f0b710bb3cdd6861ab6000302047c435bb50068306602310099d21e6ac0a2c29e3adfa40295582c4df36d2b6bbb76891b14b307e80944dbd79595ef61a9d6202ed9681b4e35c049a3023100ec153de681552b7aff458882d0b049c51f1d9f039f238529c8077eed18a8ef780b3affcaca17523bad767591677ec4260302047c435bb5006730650231009c607b710b8b77e35572296e73410032f5b509e2afbaf6de4498d05a6613025f85baebb541bca60a42844db1db7d8df502306f482254020f10e9cacfa8750372455fff3d43bbd79999727f10ea81ed20424fe30aa2b2a96dfcb86926d8791eed9cda0302047c435bb500673065023069606c6be19765125f2302358040c813054880753d6d115e084069b1caab035017d4c25cafd73cff55ebd38a183d2b44023100a87d4e32d57c15dcf822804fc019a2960ab4dcd0030eaf9d827d38792916fd92c7e3a0b6c5c0c0efdfcd814b0d98a22d0302047c435bb500673065023100fc88382a9ddc6f28cf29cdc7f7297750febdf18f68eda9ed0409e73b51c148cf3f3b179ed1fc5ec9536d5b902a3f443e0230125ab1fc331afc853288fdd6a306950f1f480759fb5f1d9a13c518887805c185180fbe3c455b58f0867bc2b92ce424870302047c435bb500673065023070cb74760e9c1b2bbedccceb8f5a98687eb68afab5941c29e5b20e6b9eb4c96dada0b5e1dd6955e69ee28acafdada978023100e4ee3c15f77098c0c50c901567d516217e0aadafd59a1d158f47fd9d11f6f02a0005bc9feed9342ada50446333512cef0302047c435bb500663064023006b0751aee068402e002fc4f0b386dac253f716775e85a5036e644c6d672e229d835e20243abd259d8598ba9f262b976023002e0f0514bc86b8220b32f3dfa05fd606b5ce18037d3e176465ed66e4eb3110340abfbe8314fc21af74e421fd01cd8910302047c435bb500673065023100a364613c59885ff31a562f9068ea66c5dfc9db99706880cb5e659e2fb5397c6d306702fb83b68947845ba939febdd4f0023005064ac781173a9c41a9185f86460c16c6e27439c303234a9cd2ac36c2e6d728ad86d7c5659474b91bd787530338b1f40302047c435bb500673065023100e7ca420af64b2ae58ccfaaccbe748bcc1d340fad0346f03a459c5f606a48f3800af50ddece1c0d95a669cc3added3234023041106b52c887714e713ef446b55d82d296e281f009909f57ce283a2fa44dcc1dfc65b8bc8c2aefe4ee28ef34304dbe800302047c435bb50067306502301e5e6b3ede09351d4b75dd87bb93e496d741b431ad88b93a85146d538a83c2e0b7aa0c93d6d88c53c29f34a390236f9b02310099971300c128d013dd7e77a66060c813b3e55c8334ce0a2c90567e2e5592ad0258f46e9f7d1b9d2ad3ec9901f2a4c1fb0302047c435bb500683066023100917e26e51b2a2b1c774a936bf4c120fbd5313d1fdc45707803556d14f5d7f3f1a43461da01c2eb6e5cd55b89ece50cf8023100cf5f7c8f625f2861c2c9d713c09d702ecc71583ddcde9f11e9a225514e6539231e6305231a4bfd415aafc30e858e22610302047c435bb50067306502310082bd529dc96643981ab832b78bb61a31e86b687be436f60d8b25c1230d860d2946f5547de4e057dd36a9cdfe9a02c99502302c19dd40542ca11942ae000209fae6b5db67e30af330e5b63501ed7e2b28242bde3c00cd09f2319baa09086ff1cda5f20302047c435bb5006630640230178748470cb0e4f64e42502925d139b96d81d46a0fd02b87b04c59bf1bfa4c625caae5e621b4f994a095e88bfd7b1493023015fc6ac2312a39da07093122b3e7951a11ec017f60a40dc1627e760e84766cd237b1d970bf0664e1255986fdc66818ae0302047c435bb500683066023100bc09ec8f954a0d425701e98843d614c3c9b004ddd3e9a185fc02cd993e2f56771f22120caae8081ecb8549bf204ee66c02310093ef4ddca2753c6671cb83431a7ad774befcf3c970edacb03e21b79afe2da66c0621dce5bec970091dfdd64f1ff482820302047c435bb5006730650230781d76ad560760e024725e01236ecdeef68966f135ff4718588933d6eff76e07eb0294dd7684667d8f21666de295910b023100d27ddd0ac7567c8074a53e27d307f62d2c0e733abc7d9c138b81aa4612da9caff1a2b5589c48eec1fd5b779e41fabc740302047c435bb500683066023100f06d0a913a9c06d866a5bd9155675a533fb3b1d44f124e137598e7495aaa64024470e322641d0bf589c8a50594df92a4023100be7b1a59e3b948e4c3dfe37bb25333cafc0b75bd225e56bdffe5e8276a1b5cc5dc837fc254f41415238eb8dc6d6486ca0302047c435bb500683066023100dc9d018cb2c8c6e27d82af512d472a3df8359af7a151f57ffc862c49747d1897200ab014d82ba5da7101e8c61696315c023100eefdbed161cfc37120750abd51c30a8cf033412fd7fa581a1079d7349368e4d74d3a1d4553e4c475c6c7feb81d315dec0302047c435bb5006730650230211b145ebaf5a93ac6de2db072cf0caac629126359421557c57ffdcc8793361c5526257323622360321258e61968b77c023100b897767814b70845a7589b9dd39c80723d45170c0da762e4d58e45e738acac87fa61b4f9fad05f771f92cd56868976ed0302047c435bb5006730650231008ede30f1cd147ea6cdea97aba245a60a6debb08c2365e560f4be333a3d52b4ead42be5f897d100dd1fa579231b113dfc023056d3e3103f392a9922e27a71bd49a1d0920cb441f6c768c0b536e24267fcc7ba77a3040a9f9daf7c5d35e03f109e17360302047c435bb500683066023100f3e248cef54772e75e14e3abd38721e38922b39eff44a42cb442f5c1d70d082ddda8edb7072a61a7f4709f42ae8189f0023100bacda4f9cb73f68417824d2ba29f73d3fe1a1fd0d48e0c852775bc6f6fe7800d8e0f473288e4ccc1a45ad4c95dda3b6f0302047c435bb50066306402306adaa68a7f488beea536842a1c2b3a90b872c34818a06c6424f85af960580e7913c5f62465a003033e3046940318753502306a9c1d7cccf2e39423573d34a8e5aa072ad312d073ddf9d62de3dec038f1673a7001fa1edeec15f9d81f06cd8b27e0370302047c435bb500663064023053751ff98bf9802d0e33cf86beead42eebaf248314b49eb19bade1c1e29e7ebf053d9b34aa0c326ce16d534f4b3e987a023070f51477e779ac4617e57a17e2afd963106f6df31a416cc415cc690f2e878ec0831bb2d9caeebcbcf4d8e8823620da050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303f68a20573bc463e1b278b7326ce258c3a344da4782ea84e45ae59a1dc7fa1d2e9fff050178643bc432297c3f8101046023100f3ee28d410491d89dcf08a1d90a029e83963c53b2c1a58a2cdc910516ef3a237f13d85facd0cba8e656c25ff8aebaf720302047c435bb500683066023100af6386e041b4368f517aeab64bb21efc3f997f56f4acf33cbb1b9c4c16edc4de30f915561b9e8bacf2f2c23390658eb5023100dab25012f791c7a3772d6fa2d1f63c85030dd2433aa09ad7fa6ad9409f6f30718c4f27065553ec3d6acf19ae60ace9800302047c435bb500673065023100a02bd21e658ec12e07419213ba975ce0f69c95d218693a0a24fda5cfb38747479ec648f9b6df8d6c382cb34d6b4eec6302300b1cfb271e1becf66fd599a017235879eaecbd9257de835c091d44de88e5c6de0a16ea55ede0ff0ce56b59d9830a67e30302047c435bb50066306402304d26f4185c4bb9f6043bcd793cef3a5c15cf0e6004fdf491c1cce517f1f86c74559981f05597c28645cf62b1308d7d8a02302d3366f88cb3c6e8c4506da576e59cc4fdab440dfc8a1e65a1cc2e2d2042e109648f66482a81e0247d1eb24206da81170302047c435bb50066306402302a87ee0f8ab79ea010e2a32c306241fd9ba7e2049947a13c06bc67587fb31169f8adba3190c81e67b4db560637ee73da023074d1a225aa9f059b6eac1e88321ae19261a4a8b9ce690e5447277e2d5119a99f0d629ce834c8ac109ff4e43c0530a5680302047c435bb500683066023100bc0a2e5c17d2da4904dee77d34c947ab81b5630caee5ef276ea7d302cb1b3e0e5e14f3dc88e1a2c942de221accc7cd11023100feb367a41b8dfb31f198e22dbb5d7cae7d80333e1b47a43442d7838cd83999ece1be95445b85ccf8c184211a981ce47d0302047c435bb500673065023100ebbf276c49ad44b095dd06621b873e530750c7d48ef49d1a31124d296bc365522acc5259e6d383e21ce4f1d7a39cc24802306f69931a7f2c0f94d8e1e9423752dd4bd18c8b4e4f10b4366ed34c6ee3a42fd4b07e775bf36b2d54244d82e76495b0f90302047c435bb500673065023009e121c72bb3b969e25ac52443720897a2ffd690574d7ff4f8905d2fd1807e764dac2dcde21eddc2598b9c26205786020231008bc2eb31afa8e5bfb4e34743dfbee7fba6bfab7472fbfba7f47836f0291e24328e42cb3a05792ee807cd112412f6e5cb0302047c435bb500673065023100dc25f1264af7acab70891f7f50e8a6e12c8bdc1c45242e073693a0b3ab5eb508bd774dd040e5bb7b25a3019c3d2a46a50230436a1fb7ff6bac3402a7d7b8dfb5645de78e7ad659f2ee8234e19c66e7cb392d4e20c4fe49c097c881a30cc3c2b97a5c0302047c435bb5006830660231009509973dfb12b26e57d751022a8635162cf15f8f9519f4fdb386dbcce18c1f74e41ccf09c2eec5941e708ac15d198b4f0231008667463a385733d439b6929f2dccbc171dba6e5fc76e1737f6315b9907a904d95409017b36c77ebb9b58c2ed405ae5c80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bebcd00104027a349b5c59bed36471ef1cffd3ef38efa94efc712eb7b6d6addd1bcf28196fd65dd3b96d5bb7e8b228090230479cf6a94c9ae03c77485df2246099bd635da0a58b67d619aebc38dbdfe62d51675b86f948b0b234279e17581803e7000302047c435bb500673065023100b46a2c542c72ca568f12cbc81e512d7afd9911a89f3bb372377baef6d0117ee6dbd64eb33bcf01dcb538e8b9a886301502302a285795678d09d620614e6c08a322f600ddac68988f7d2c2875b23ddb2b89f060edd8bb16e6c0c2f6eb7ba9c1f7c7620302047c435bb50066306402304fec65b1e7a305036d137e0ab89cde7746478f4b786ebee83ddb1cbb1fa89a870c9b17948e23b32c454de921938e50f5023034dfaa14ae892e0c4a698fda7ecb35b44cdb291d8fd4637701fb8f200b6c3e2bf07ccb65dbf602499d9c38223589698a0302047c435bb500683066023100ceb99c279a9810838a66a80c98baf364826c98b23909425ebdd0d5f2ae7422588bc0062e0a392565396cc08c54d37cb7023100f13373db76d63612e60dd5a8d6605662c0963915ead8d16815e6e053ba0081e872e40dab216c819b44683362e15c350b0302047c435bb500673065023100e2d5767c45ec4141a427c9040e59c4be52aa94c2da62d4e74c56f0f13da947678550da2b1946649f290091ae8d9a65fd02307e46c7bc9911bbcdd49859a90ff07258c684e4489a5eaf1ed4b93e40fd52527536f70c0efd271668a4a46b39aa7ab5660302047c435bb500673065023048ee66478319817c8fe454868b5fec1ca010a760f2096b7263324a9d1420e5cea451f9c37b7dc13f6ce1a2343265a4fc023100e84aba20edeaf60dbbac581e85488cf9f0768d0c43fc242e132df4a67d91285aab062426403d669c9b192bd4fc066a780302047c435bb500673065023100ba28e5fa95e54e3b9bf684790cac9a6a381cb6552f907c2f03646d6954b7af27a4f0a3de93b673ed8dc969375057e33102304747feb19ac9190dfcc43e21d5422a55b7b3b9e76180b954c7a4b63824939b4d1c83690645cfba9f6d1dab28a5c481ba0302047c435bb50067306502307c26c4bca92a594239be31cc823a331cec442e91cce6d60bdac2f7c02f6a27e451d3fd80e68c2537d3208ca968d38a7a023100c69fdda32d1b5589f17e6d6f467ed8ca87c8b767da523ea4de2b0a288784e9e54710d5cc0daeaed8448729b83d94cfa20302047c435bb50066306402300378c6393ec089168aa2e08b9dea382423bd99db9e58135177198133161f69e05b01537a06b11cd4defad938208a0305023012b47483e4b932930fe02125718a1f6226c4fef3425ff804d327796d375b4c83e1d4c3eabd275928bd041d6998b3bc0c0302047c435bb50068306602310090e9ae2d380a559a1993542885c6f2f10b052b26c48825199d792dd42c1c46659a44230ac5b5bba9ffe24734d31ad117023100ab8f727c3e280d8e2612f358df2f13d209edf5549c6983a390676f7ecffb0368018435b7a9dacd3b640e66268c9eb1c50302047c435bb5006730650230246044c08a489b0dfaa3e92886ed3ddfa8f624a4ea409b3e96ce26d19854f4bb7e0dcada15926b0714b6032cc5f5be20023100866fc37f1f166a036dd32cf2d5b75c5ddc6fd2dd15f0e77607a80b3c4d334b27117e5311bd449bbc11e594f379820f6e0302047c435bb5006730650230291189d4c38aefd446805e5450daef560366ddabda72aa104a8dfe970217c41bc0cfc1dca088dedd7b7f2fa80d7815c102310084de60ea82f0a7ad6436e3c3f95a016a5726c999e47d9710264de37e2d22439a7327804458aaef1740bc3e5da1a13ffe0302047c435bb500683066023100be21e35827c642e312faf017d346cd8449f2e8d17d53cc8536ed9238d5088ca907d1b81e9f796360cb9638f192f1adee023100cf16267408229c891ffd8ac7b24fc3aaf79bf009507de0f021d5f05ad996ecb533967e83fda6177697baa61f4042ddfa0302047c435bb5006730650230766db2229b0ade4ca9ba593afd2f03d13b4b9e0bf366009f4ea983fb88668bae94b4cfff3a2add4d0db8e824855d0aff023100c2c9f24b71fb4a7fdffd8eb1b9fa3b64a19f1655ff2aca093cf2a58f77983a0f1ac81a3c5074d160b05b35e11a0aaa2c0302047c435bb500673065023100ee368c957ffaeb52fd419d26343b2f7755b632693edb0a4e0d95aa5c91163b23bcbfe09887ae868b750d41ef2855cae402305084197322956ac3ee4dc74c24a5a133eb6cce13ab911a8fdb73797c87c8c857f320a131e20fa67833280f1b7f7af6c60302047c435bb500663064023058d5754b80698cda744e9e7f2c45a5d71ad607ede0f22647652184669f50654b49437fcd1dfcb1b71148bf9044f1946f023005ecc84a652f130fcd7c4f78d456b4a800dbe2b15091ceeea93ea5bce32199c16f6b4d5445e7319e149fc05267c57a770302047c435bb5006730650231008b590076b613c039207a1e91da5923c5d973e2041a41d2cc7b2d3968a31252fc98d6ba2f2e877b9657d483d70a32620b02302f9f161b3a3ac85cc2451585cfea154cc41caacf37cadbd06425ba48865f065fb0d479079234f4b828bb9fd6403213750302047c435bb500673065023067bc288ce3cf2d45bb607e2bd935c82fd8c7ae22abe9918d1399abc7adfb755d988b564168c6805674d85bfe33d455520231008a3b685db6075a50b6cbf5b3856bea9b38307b63355048246e4c3896ef0a3f5ac4b67d5cca60392fb109a94f7f45efc90302047c435bb50067306502301c3c9b7285c6d4ea2fa8f493e7bf5f449d02b4eef6089b04519a9209d40c687767fecf1cf2f9dcf8b47b10f1c34cfa7d023100c5951f27a86343bba97cf264bd4d2133ac3e227746ac5e76ac0f2067f47794090de51fb1b35e69b4d54ac657e430ed0a0302047c435bb500673065023100ec000da705905126e659b00b3f735bc2ac6f393cbf96debde11d0757591401ed80f80b785cc7a3f0cb1b6019f100d285023041d776883942d9aa619228bf60d03b743ea404d770ded4e2641f9cbc18a141b2349ca294361d97eb4b1bb5ccd9c84f2d0302047c435bb5006730650230193d3823f5f4b009a6030a664df365398ac0923a6b1ddd24146419c2099e6ec5e2d0daa73b919c0d54b13df039d51dac023100af9f7d3af103992e3d0f0a1e27fe17a62c5925446e95c74fb192d7f7305740b5a6cff71d22ee5ff9392138ba061820ee0302047c435bb500683066023100c86cafe6c10e3a2513eebc9b9017564f32df7a486801ac5cc3b358d30f1ff9e4efe5cc7d2ae4bce78c468cc1aa1fbc28023100cd3cd5d35df1ab6b45bfc5dd85e09b16f3881d0c709b8bb15829574128ebf9cde88b6b527889161e2d96fa650d5af2d10302047c435bb500673065023100f263c63b649f0c12e79c274cb70792d53db57b1328cde68f6c8957a7ce98c44a21d32615eaf7ab58c3123de9293dbef80230424d16a81b348a2207b011d5336ca7fe6bf522a0bf27bf5bfce13aa107097facfb6bb7d5c96fd48070c5d0e28fd8b1f50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304bfbfb81bfbaebbe0b23d1a13b61e046f8d5f8758d90791d3f4de62996d25f64d31c8fb54385259b2f941a96773963600230649d8a4ec5b63927cb4035484a8967dc103f3b8d3ccda0757ef6c18f05ce77caadda5a69714f18e6d52c530959e408390302047c435bb50066306402302e69ac2b17749297a91d7c558232233b1cd173305e7066c0f8fc54538c2333210bb5dcbe523b0b7ed4145d0042f2c2510230122f5ac518598c54967fe3672ab270d603ddbaf3364f68ee8fa77f53a07e8781d1e8a1a02f38908f5e5d6a09687b232e0302047c435bb50067306502307db4aa65eef1bdf3db41b379f4bf8373070b122339048d75e14c23211d1e25bb89b9b680e8ad9d1e29406bdafcda5694023100a46cb4bacd5e38687a2d7da7173b24890426ec7e336d9e88f9df571759deb596b4ffe56b21d424cc82da4e6ddbba6c4c0302047c435bb5006730650230098ed25ce7e1af2f7d53830f5ab140bd0788f2fc8d9c5a867a452afdaec384ed2241fce4a942477ab27c1be95407baed023100c4ee55db64be1112d3e181b7c3ac03e824cb03ac20ed0d3407c0ae1fc1f016b7bdc5799ba9d96d34f1388e82d453d1a90302047c435bb5006730650230109ce01951794016326bf9e8f7827b11252ea5d5a348dbc98e92ab810eec83083219bd7990a787916ceef1e5e0342d37023100a999ad91ca12b66e61a324750c313cdb60173e1dc2f3708bb97416db2afa940ca42b44448bae6efab9246d101199d1dd0302047c435bb5006730650231009f28cbfe7d161c6eefdebd54140bcfbddde9912adcf20c169d67661b4f15501123ce00e8fbdc8d58829dc3f05431e2900230666247238b474bec79c685474982700fdef3ddb4b6155a908d8cc5c6724a02f26bfc0fa53e4c1754e72c3efa5b78d99d0302047c435bb500683066023100ea6f5c702b073365111bad29a30c9fe97fa4cb77f0225765d2532901dbff01d0d40d840df0bd3254e9c11e2b7d9660720231009ad2b26210ed5c2b8930f01dfc88422006ad704b003bdcfec1bb8ce7033f5e5534a3cb97292416007525bd74d31d37290302047c435bb500673065023032a28e026ad4dc966c39000177ea257dfc2a03eeb4a43ee1871364a9f6c0114c111d88c71160ae06af75604f8614730d023100f365716bb551b9afbbcacbb98f0f0277354f85a618f3c35861bd3d42c5d94009cb3365cfc76b6aa86e1c215f497b21de0302047c435bb5006630640230511cbf50ddb1bba95cd0f408ed7ba4f7c3b313b923a17c43e6146eddffc82baf327b23f7ef24b73a36dd9f4974f3cf3102305b6e50077268ae2f00081c9fec0a2f369ffce56263a601b12a41099b1c6de855d26e2f1ddade2b5f529f197f007130b20302047c435bb50067306502305894b8cb47dae73e4d7f9ec61d93eaf39c2b178f516312c6e1adfe6c5814f5f878d52cc54878d057d0672f0f705397c002310095f42732747bc2263395ef88a46d2dbfcf02746b224256e5ce5894df3ea423f5e1fe9c970f15a506fd148ec44a902a000302047c435bb500683066023100c2569e8e86f158552fadb5c5d942f93e2883289dd01b781d82ce12ee8d53ce619d114808af3251a9f97c708f786480cc023100c35a0162ff9c12df58a5c62594376083fd085cbeb99f4b4b7ec6fa768a37f0381cf1e6d7bf51b831210324287fb0bcf30302047c435bb50066306402300a3aa9c27859161cbc761d222c3972d19d49125bf54c65ea86b3477b1c864304c6032261a7fbeac14d96d3f149392c7302305964cae82fed930c8b0cf1a1ee98934116e9b8c0b1285ef51a5be2eb13bd96f39a0b6a71a189d76501d2fae0150ca5b70302047c435bb500683066023100f845db3af137d65b2b5f766b9824de894f8d943f616fcfb25ac1bb7fc24edd37494053fd5f4a7e1530529ebc7f96c40a023100d26b52f177e5cec6fbcc98b38dd4cc577262499a093b44210b5d773eadcfb1d06f5ce4dedd00de65b2b1cab3ccba478f0302047c435bb5006630640230087fcd6a10840c60580473d9ad32d760507b64c131b212494dd561e57a4a3d68df2f85d60a0e7b3d1066779b30a5b64102301872145a6eb32a5347f57f6d2c3ce64d91404273847cfb2b113d53c55ed8c61e2315831436476fe0d851b506ed9400bf0302047c435bb50066306402300942d4e7ae12d884db6bb7e24d8266122cc96a3b57732f8bebf6febb829b9fa06a6a8a597ba4ca168ccca894d250891602305e6608e72d815a2ff0eb30ed93b51f6f985a39ef13d2b94c3cb907648f59ac9c5dcd8cc2cad06defe905130308259d850302047c435bb500673065023100f05f4a721fbacd27c03178ddcf71d7cde0c4d19ca9766e077cddca20767504245637a5ff607ee78ff7910640c97e428702302246519c1048feec76cccea3d2d769b0344527620c08d3a00887c6c16278e5aeee14fbc61ad0a82fd990e229e08d032a0302047c435bb500673065023100e80f26b2ae56e15f9e78f3d1672cff917d46b31292bad01c0786ce15c69630eebb15b4a89883e4296b81bd572dccbc1f023069868d3f0dcf9b12f27ac0dd9cb22df5f13cd1e9d61d44ac00cd21532ae352136730595eb9e3e89aa0a30bf6023ed72b0302047c435bb500673065023100814fad9a46cb3ad976f5c03e26681500534df1aea27b3d763089a4499a82a1b460e3b9b25f790fa1747248bcba501a9f02301960ad6af55a4f124c4dbf24b4cce7c47ccf0469fe0d079f7d2b176f28995474dbed93a8c8f79249bc0e8efe5b0811f90302047c435bb50067306502302a089539a2be220290c8db48bc0023c7d3c4a4919446844cd8c601bf6bedb0869e867e02b24aebd6dcdb5952f36d0ccb023100dd6b9504fd9368aec63d78a9725fc2642de47c10c0a6200d28cb5319ad7102db0bfbc2663c36fea5abdc0e268a3702d50302047c435bb50066306402306eaf86cd3727d89dedfdc3d7d66f802260ac9c16a57a9d5a713a037bdcfd814d9adf29d020e7999c4e04526ebe4d2de002301523dfb674ed1053ef41417062920068dcc8b0865829524baa7aec4e86e1cb3f3e50da583a21ab770756e07f8cdb3a280302047c435bb5006630640230266ae6531e920a2a57e84ad5f2f45e87a3b9873fdabf92029f7565da600fccc62151a33e1b522bab5997b46397952dcc023077ded7b31e2bd87376bff7c28825cf194fb2009ff50f0e2a11bd8e92c03bd2995b507a16579838769c7eafdfc9baf7c20302047c435bb500673065023026695e230d63a05458c0af0cde5904545ed31c86db1cd8c7073d3c0e2d25051d7564c52eb4d8cd2a5cbaac9eebd3cf890231008f28b5a3bd3a06ff2e187c0b44d7cb7c87b8250d973771a767a3f2c6362e3eb65f2cd5f74be450421b969aeb85a189ca0302047c435bb5006730650230454c31ccab5554426ecf7ba27de6444c7f06e04fcd32abbb856aac301b2e2891228622f375ec0dd6dadeee42e1bcfd7c023100cdacdcd17c58ba87650c04430ae0a5b6b5a4eb952e73585ea04422f23afa234173a63aeb447b73482e8ef889f2a76cd20302047c435bb500663064022f42fc55e9a61323e7bf5f7315905358ff997c1c430e77d9f29312960c390cf4072a71e464ddf5bf47e5af6157915a49023100d6e25dd0dcf649edad0b97a5756c942faa4cd10c025c4da4c2c8dd42d432e6875d13deff49a8cb361ce3b2640421bb2c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100983f7b9b3892744e116667fb1eb22e1cf44a9f7e4fc878496dc8cd9108a2559253d3e36b6fa0002d46864e237f930f3d02300b8ef2067d58223f4226780ce065fe73b48f26970b331cbc77826c6400d08074935d771dda65ef0ff37fddc871c28e500302047c435bb50066306402300a2345c2be432302881a6a9a144c1a92c3daf52a64b27d17f8fff6f887dcccd2a4dc242d11ab093141971ba6ea48b63f0230724aa5cfa5899141e209ce447f8d406cfdacabd7f776b8966a13529185d68f22aedbed48cbd4dc3bb4e97d4b1eb2b9810302047c435bb500663064023060630e8fc7e4cb76a576f50650a9a28ee1bcfe4461a6864879a8debc139e0de3977311c134e09adc8808b8f6bc3a6672023070e3c543621f212715df72c24219abe9ae668b195327e5f66593b077c425efd5b9a038fa6e4f56a173ff624883ad19080302047c435bb50067306502302700eff373026f7513f080fe9fff4f01a4e142b040d6e273f27aae69618f91cf8b7bb03c2214f2e7c09d7886a332cb80023100f4de4c3215865e366fb391b74f223debb50e916266c68dd0265fd86d2b7e8e03805795f97e1c31f0830b527e2fea0d200302047c435bb50066306402302d3b8ce24c82fb494ec690b35cecad5418a5788dbd69e909a22e093f1b25f208e880832012f854a3e2da915a6eddbfa402300bcebbea43a78c7c99519ea9368658e932524caf7a5e29d1a066eea326dddc1c4b9768dfbaa1467af832368854c441d80302047c435bb50067306502304db6316713e3b3edb18d136f3c8719ba963b95b1f35d44861b50b94f088e8c64df02d255b7e1fa9201b3f2a87c8c85f6023100e8c8023aaec8fc8a1cf79eccc016462417008adf4568a1d53e5e1eb4dcdeed3a9ecd040f7faaa4ff8faa79d1fec7774c0302047c435bb500673065023100d5a1c2cd5774f722ba3d8a6ebd3382a139a306dd49f47e840c7bf756dbbde1f3cf342634af975d511f6b262ea80d2f6e02307c83f20b3765a55ec9f387c5b6575e90a2381f4be78934a50395bd98003f1b3d1647b29009a67c0514690ac8ea3803e50302047c435bb500673065023031224bc5a0de642014ec40fd700b380c575b9f27f937de767019ba113a54b8f5a187ae2c912de8ffd185eead4b184b0e0231009b5fabb5d403e055911877a4e5254f97efec1d16a257eb3c185a4e0770f827e05f136419b2b30f5552ff6ea898c072020302047c435bb50067306502302b74df2583ba29019048e3488d980dde28700847e95acc2c2dbd4b02b42896b32a52e71487e0f4f7b9954a7824073573023100a8a79419838676fe8e7f624d4eca2d4a58a8b6b8df85cfcf8c5fa03407b59cf257c74d48a49338a2a69b98f24fcf779a0302047c435bb500663064023048ee075ffea7849f3b948c8bb7ea5ae292c2e7d119708dfa8d8ededf165b17dcf1e1a56b6ac9a4ed1884fd013b8974b5023020ff9f437166e99ad068d3fbb988b7e1a22476ab08e0a23170c4fcbe3e73827bc47018d00eafde0e814b975f05fb13820302047c435bb50066306402307466878b53dfdc72cd963bf7e07b5f33a454cd23d72d207b95e3fed132d76cef134ef9b5348d755a77f799e24817bc8602301dcde68d2596dedea5b790714d885e9e7a09d85482a6394bda61f860ce5f749010fb3698c25eed426059aa90567ddfda0302047c435bb500683066023100fc70d58b7392ffd02449e5e6a204b12d5e8efdf8a5209966080360271e9c2fc43f2d9fb7adb9f6e4f80dd91ff100f02c023100b8769ce7aae9d2126cb7b13d0c335ea076b33a6c42ece074fd707afd663054cd1e3055d0a8ca73cb8c747829b24841cd0302047c435bb500663064023027170915d165d9ddf33fc5cf9345bdc8e722ee108af47abd11b2ee44eeac616e3fa6da0a521cb8658fe8664f4e0435e602302f9e509c27db4d2fc87c2d04294c849c37762e303608f59fce1266c84794a7f68aa7c345dc41bd5823667f282f98b9090302047c435bb5006730650230185e5c968daf8195ba37fcb3150770bf20c28bcc37c3190484234ad663694b027acf2e12d791857d9cac3b80c47fcb0e02310092092dfcddcb059c634e70d2464d81626157a8b36abf303d6bb175c9c31432dce7ac1b576684b0b53e3c2819171940810302047c435bb500683066023100864124dfa42ae3a78da3ae6c25679225cb63028c9b5b2a91dc875a5453367f3a1adf9e554495d95ceba1205bc5714cec023100f0413a6a82da4c7d13d231edda67a1bafe3db7d8ea5fb3bd1a946f52e1ec4585c17d3a89e8279b45ced5bc5098fd41fb0302047c435bb50068306602310099548a363b05fcbb38a732425f32aceb329bb1d956513f68095e7908eaa0739b1402f1521d623b7e4c5ba94b0733c88a02310086130d8168ec004e2fe0c6673ebad830f801aceaee31d19a1769514301c3d0724ccd7da8a604cc940111d4e802e540c60302047c435bb50067306502303bba65e4bda9ab51143b120524450ab48e6ef5ab809a8a371aaad03cad8a2bcc2e4b70e2c4c9c0d3b716d813d9511658023100f55cba16bb3b72ae3207244ac863f6e925e329f888946afbebda3a3816bba7b173be0e074da21bdf45e09198154786820302047c435bb50066306402303450a5bc1236f2210e66aea636a2dbe3c2bbfab55eeb57d5e839b55b6dc113ea4af766d0a9d029f2db9cf7bd9a2cad1002304a52644e04046eeaeec541ff1eb30dad9e55a277f6d990b1ee10db04fe356db7546a766feb46be3bab654a21edd1fc150302047c435bb50066306402303fa85b9262da91927a1bf3e13ae400bd0e1c261f8bf8d64dda6eb6c9b8bb8dcc3d0fc7e0a763e95b6e88bba8197d0f8c0230521bd61da3408490ff711f1484ba087c4242ec14818e45baaeb2fc644011449e45934dea5ce55cfee4a8d0b81e40e1170302047c435bb500673065023100cf00334c8db956eef25b27d67a0b2e64b0d6a25208bcfa3671bb426940ee73a447aa639456535ff42e42c095bd3992b8023037548bb2a3b02613d9472bf1973399acada72ddc4fccea83dfd2b72e0bf23ee72abf4becaa31ebb6746050ea316a36490302047c435bb50066306402306a3527a7e86f30676ddb8b31610c5660cc06ad3eeaf5ad75ea0be9e61e354f5a250ef289a7193ba6310f9f2c5be77f6f0230302f2c6b4b44d2f6a4b75b0f979d961193717bb64f5b82cb1696d30f74ed442506a7b8e008c8b82c7cd147d2aafcb27d0302047c435bb500673065023100cc4ee0e49783c7e0410b842667fe16a70eac5ac806a80e4dfd6f4173d0f75bcb601fafca315a73016ce00be1d603ee390230702369e07f8c21ce7a4f47a7544e03ba653bdc2889eb3bed2c777fc5843acfd9ba9177d48b81a05a9730d1af50ad57cb0302047c435bb500663064023003490656d93cd2f51386a2176814f8eeaaff882fb5a4a529fc08c6b1a1f64295e1489d5957b8c9e2aa18ef5bfc14c10102301556c41e2708bb0625347631387dcaeab2965a6882e213f706eb66baa81cd28bb9019cd874d2ab3e982a9636d18203600302047c435bb500663064023033c460b1806bcf982bd5021d5714e480d3cf22ba841e8c182a1323dbea4da9b160d7dc4d8df7b0c1a3431f4283b343cd02306e823da46946f35347db9be1b5ddd80e0924ad794a6a35b8b663258bce4ab182dbde9955496a5c60c3c7203ae3dfcac40302047c435bb5006830660231008c825e89ecfbe7b6e4e4df60dcf958abfc5f712a087f4c7689cc803acd0b59dd2318eb8360b48b1053794595adca0b23023100eac7b2b648397e5b134cb4d47563ec2f6f0c8b029a5f82694dd986c5b2e6edfe9225de522b8bcfd5a11918f8b6efe6420302047c435bb500673065023026a4abe6812b5926e274e770b4b0dfaaaa2bbb95535594cd917ef1cb1f2de5f9dedf3c5609b8acc7c22aae5234d530db0231008780f9543c95c1fca5badb51828f17f6b3ce0bbeea3b77c692b985290ed39ac8c42252d4ad19c190fa01faa95606261f0302047c435bb500673065023100fefc61d9f036d557ab51b8abff806b0152b1d0a608bab2586ce9da69f1fb158c7e0959c9aed233b97ce172c4658feed0023066cc9cf4c8c20f277431197a986b9459ab6c8959e295736bb2a5b0bea1f41acf43ab9ab581167497c39936a1ab2337610302047c435bb500673065023100c59c20fcddbe68106fb35760457ea9d393e2781edd76e10d94b25830a049dac456d1a92acca88f70e55922248b68905502305591b21ca60e9947b318f57ee568978bdbdec4cee1e65a669c3faf8e3adf1dfbff2ab065e0a94639c7c385cf2c5059d00302047c435bb500683066023100a1071a16418c1fbf774af366a3e4dc767eb9c007454066bcc54ad4ecb3cf584836de545cdc121f4482547a459580acd5023100ddf1a83cc58f0571d1b905f63d6028e399747e80b790fb62bafe738203b792b9223e96f2f3b8e02c476802c349f56b240302047c435bb500683066023100ba1e5bbd8725f6d94a5340cc592d75d756669bf7d0a2407fd11840e996c5994de1d720db615d1a3cb8915783712b0fa5023100c1a1be05712473e19a5fc9467d0245b65bc19d7d595514e14a4881dd79658d873c65e84bfa46d37a0b03d562f64fbad60302047c435bb5006730650230444ae64fbd8c65bfd37457334cb9f03432f50c1ef84828051cae40f4b163ad922d96aa56b0cb02ab3121e6805b4ee915023100d902087c36e8dafd5988ee9a279432475288ca8202ade2cf5f14f566af49b12e2e621e45edae76295b648d35b99649d00302047c435bb500683066023100d2304af3a1e2ec8c81a38903c32100b8740ad6b06bac11954bd32c0ba8a3ae22fdc6f8961c58a1f100d5f831997ab1d0023100b340dc25ed016a620f9e6ef17c48515a07c546209b1cb262da137792148d6bdc628e3980af7ad4ef25854289a4e9732f0302047c435bb500673065023100a24e6a63e0769f019e7ee938da50a1ebd587b4a3a9ec0a46a41193ad2e19b8752b2b3077a9be95bd05ce637a74999905023015aad95848cf9ec11050d43f679a4948858beaefd742ecdc03371be308d1b0d5588aacd5b963aa25fd0f2be3281856a70302047c435bb500663064023054d096cf351496d63ad97194de0fe2acb290072a2c154aff606d1b8b83e697b0a181fd6617a8de6bcdaa6b445a3a031402300a81ad7adfdfa2ec5a53ae9f7e59b9e09265363555498dd91973cb55a2e6b0a15df420b0d4bafa3e42abf1c513409aa10302047c435bb5006730650230284a223f487a213f9ece5a8c83638c5a1c20ef9ab3fe2f059c3d895befd9323166de3354b12abe1d01d7d455a6a44967023100a4bec7ef8b4318e0f89d31ff31de198c7be6dd1399dc09d5508e6eadb9ba10f06495c1f3cd63ff53c6d34e979993e6b40302047c435bb500683066023100813f2af7733d1afa8f8883e609d29315e2995de7b51c076b882b6c5ed184c9e7ae9da8c3d3fa22a073256225e3292045023100c13a8e6d3c367c62feb60825f3bb33e7918edd3bcb82745652344e5d7debcaa496d2d5113a068500b2922ee07567f50c0302047c435bb500673065023100c23c1f5e34757be4c2041aa8132855a555a9a40766b8d6b74f93177e4d378df4aa881fe1c0c0f674100b52acc0006c66023028a6f5754ae019b79c0a636e6979dd74272a30d2896c5887c7e5d895b36a27969bd446990775a13311a86df6f0eb9ccb0302047c435bb500673065023100ca88ef0c181d2274ec102b01f3900f8495139c9b91911238d07c027aae7dff4b4c89847394055f929b4620c7e7855f580230057fba4abb782287a5061e1a72de4d79587b0fdb326ba0a2688d89804c7980fdf91b34b80183768a497df4950c83244d0302047c435bb500673065023100d8e85ae44ba5ef20113e22176a31420ba3529b0b3134552908eb0973eecb6ea7d87372cd9775169996dac7d984642258023047ee412094908cfcb69dbc47cbd02d88580e813aee132a0d17e8ad51265afa7a62fbb4ef2517c1fab3c7e57b2387eeb90302047c435bb50068306602310083dea75d2e9865db051defbaf6a619d567fea906a24781e4f971212e0bbf75f9e2af83a6fdb07ac5d24c8671640b0eab023100ea2dd6e5fef1974ddaebb19a4a000e1b97900a5b61d4236b6cd6cee19da3206240fa30489d0cc0f2d27992163b8260180302047c435bb50067306502303563389daef6a8c91e25e67e1ca5f59bd8f2bb197b31dc79438251fccb9e0ec2604212ea76911b2097176671872fa4b8023100e97f9b4eb4ad65c6828a3c179909cefba042d005edb1971d658f12a0038369438338da9e4383866ba8561514c59860890302047c435bb5006730650230086b544cb8d072b9eb49cc2ff04c057f71f1141edc158366e4ad4f7e541b891942fb63088a98b75ceadbc6a1a88913bd023100ac114316d535a6c9638039a2b86c8602563c47007adcee9b262753f5aad045a771a0e9c67729aa69500872e63ddb73c10302047c435bb500683066023100fa39082a24aa898d872069cb74dd81b7fda9607a5dc0ca7ea53ddfcf49ebd0b2c9186714a11ea65c6c5efc82a9cf56a7023100e04e70f45f59c2c36c7bfa10fcc62390c8833f987cccc81d89fcfad0bc4b4bf32bc49f799c99175cb4c1b3be0068df090302047c435bb500683066023100f520159fdf98d9331fce37891f69d98d9962fb04490309b9dcc18f82ac28a361193be19f672f9508f540d82757019057023100e9d854cfcb42df4324f70b3a98f7fa9d9d230273c2f2c2f073adab516296ceb023da0280e33803aa0fb2d4765d24f3400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e0494a058783abccc9b94f783da9825b39855a801597ef386c29385797202c009e2e29c158267b1ed14df1e64e972e24023069b3b6c98d46368fcbd0f32246f52d9d555565e25e481984e780194f4840cf52c961f7f9e7fe9ea054f33e3696a6896c0302047c435bb50067306502306fbc5b9b163e19aaa9a2bd2e39e9497a0f543ec39cd76152a3ea956fa920fdcf0a53a349fd2dc7078a29f6f6f4dc2756023100baea919bdad611ef9135cc13bef91d47debf555cb7f0fb96bbe84225b4722099b7e23ad3f9446114ec637f6d5eade3880302047c435bb5006730650231009e07cbc9e934f285e3132b107b84b5ed9c2e47ced23c53a153ac09eb4316fd0f5e96d3665c1d5de2510d3d8dc935757a02304eca7459a5666428cfa0a7194420c0a6ae67e8ae69147183222adee72e013e9f06f2abf8a655179d6241a97a82407b640302047c435bb50067306502306382afce2fca03abfc604a6b4732ebfb6fce8ecca262f1c045fb9fda14887963d3a936b9ebd26646563670bbcda6c3980231009701fb0649a2b4a92427fdd54f45129fd8195d8c5832c82ceed10949be27504e33130006e023d2db3090921c798f91f90302047c435bb50066306402303ccbcce41f752a4755afad2d5425731237a5c5b98589d6db8141fbfd933b4665613285bb1b380c218940161ee55682830230040c607a976043635ea23d7cf0bb3d68fa8fbce0f54350d6b2103b6bee3ca2f01cddb79ffe826ba405a713082a41e26e0302047c435bb500663064023065c025ff3d74b832034ad9416ee51216f7e5ec2a6e8df4bb26759e4017501fe5b7a1b114e00aa0dabd460735fab8e4f30230767ebc111ea62833ca0760c73ebff01bc2ee59ef69859ba1bb82423cf928ba28bbd1891939079bec982b268dc3b9008f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b3cf40cdb2af8efecca357aed919fd2ec73ce97e586ea3021e700c3bd1a5db76744520a61015224ad00b8e8e62b7f42602310093d9ee7a8aa78625acdfb42903b029613c6497f83d492becfe5ff3995f03116089c45cf236ea3ff94c4bde312f06e4c50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303f2c2839f31611db1cfc0c6aafb85ca9c0843451932461e606466ba8966d20cd9f5787e3899e3a9ec90dee85600fa15002304fcbe55a692491d5accd095986a1b43ef05b07975292047e5681ec9f83c764da99655ddb66890d24b92a958714878af20302047c435bb500683066023100d0affbe51110a573a154a066d3445e0b29da0e23ef25b66842167c4fc6a31b232ab8f0a293f1eaa4c47ea19e4b83fd2d023100aa1847d8af973d5628082519210f60e87740f0e351e740a85c2ab7cf3896f229dc223b40e1482ab4bb6ee86770aece580302047c435bb500673065023100dc62cabba48126bb01b8844c4e526aefb4cb0c921da930180cf07271c8867b14c538a2255d33af24adce3c028806ea0502301c2941ad74f5b0dc85cd4844a385f82cf93b953c31aedde422705b621780dd1eba4d9378214a7bfe0fb8dff7dec0e6ce0302047c435bb50067306502302175c8ce1b8eb099e667ef27f5bbbb614bb951e70191a19f67de6caad2029a3635ef8c5a2d080401bbdb46709a280a9a023100f763c39cf2e920d9a4280fdacc6f894121708f8c6a66d65d069a805040c866d9d02fd65a788ff9c93755c1a5b8ec56d70302047c435bb500683066023100e041c386ecd6c33095fe7270076b589ba6c91686b8c51755f080eb0b00c8eb136de69f55b940a6a6521d28bc8d589bd402310081adbe770ebd97572a45586b9dd88081e3751a51688a6b353dcb6186ef17b4d9fc85b56a5ec3a44d19362373c2afdf440302047c435bb50067306502310087e0e15ba3c739ed139800e32d259a81df45003047a139db31a6ca4329383b45caf479476cbc152e8e03b53c5b9c82b802307c97e68ebabaa1bc551e20bd3918b0f5ee3dd58815f66c6e8bdd96d68b661aecaae7ac9a89d833830252e6b29f7a75970302047c435bb500673065023100b87e9f5304d3d9362e4df812cbed1d8179a5d2cc12589592bb4baa743bd2699911ce1c0688a1bb7faaad119020d30119023036c74ef34251bd34d9611ce8bf40a522cf8bf7c501c7eccef464ad2bbbfad29d1d99b6335f13d47874c0c5c10f01da8a0302047c435bb500663064023069aae14816ec24dec68e12c1a7276e02215ad859cb66266a56eddd29f8955b587eb99824372fa2c373b0d07427bd8f63023026118e609642b0a1629ce17378c58ab2cf12d91c03fab086b226a39dd45de96c77414f2498f1aa3753abded5455b5f160302047c435bb50066306402307418966eb112559abf46b1614429aa958405474add40e55f6b127ba67fcf3be1ddbb3b9f789bf80bb714a57252639aa9023073cc8e03f139fef826d339003c7e7aecde09006783ff9889828c03ff6c5b103bd65acd03f03f01b4f51a0a0dccff4d640302047c435bb500673065023100896919089b20c0fdea0d16c444a2b2142bdd8450004c3fac7b219e9d8294f5cb820fb51e8706d672876879ad9b978458023048fef88f2742ce3efc5f80c5096b61d80548920427b57023707686854a9575d321fa600f2b7a7f58def19355e24e75f20302047c435bb500673065023100e660c991676d4ef0780fe1c77d7227f8a8e293021d5bf2d5e09ff1dcaf34d18f04e27aa509a82f255b43fcdb6b090d6902303ace4bb57ee2b8274221870b652ab8cd1238a9d9b946832c7f6ac610baea55a845b8a48538d8a476e21615089714a8e70302047c435bb5006630640230743e88836da36360861e22f30e4602fd6a6633cdba43bf611af03efc85513830419887b2801ed0b6270bf02dda5df85f0230029591b5db904029a4bb25659fb09def19e245c0c147ca174ff0dd72b77c52659aabaee7ac1d8e4b3aae54e5bc4f60b30302047c435bb500683066023100d31546004ff8886a176658d5100a75b4fa094bfa3b23bda591e24b7563f2dfbeb3baad80512a4c27507d3b50753bdb81023100e3b191e308ee0cbe851985e07b01b3e9f133fcf504b9f8d8c1d1dc6bce5dd1f25cd84e48d0cbf54306ee63f3bb1eccfb0302047c435bb500683066023100caf82ced7a82a2cd4ff3faa1344377fb7a4a6dce9ae5ded53ff1ecd65681cb1ea93114b3b1719ca83238a230a0c190ed023100fdcb9b395f9030456063c2273201b2447daaaebcf6c63cacb78837d05dce592c13b71536f141ab5cebb76f95cc7c4ec30302047c435bb500663064023023c1d7fc1977a9e223b556bbfc07a23bd70f5b696bbafb8c5201b8c726b7cc45cf58fa2b5e80c73abb76c695060741d202303cc5e00e92e2b3a1679f01831b3d734fea8dc73b49801720063dc29126b66e83419fdd2019faa0168d8ac98c98b534240302047c435bb5006630640230106cc74d5c6702bd2ba0cab977314e6fa29edefd8ac6012e69d1ac1fdfa09a0150c9c2fd57d88b79faf265eef8b114a80230629b1c7c7da17b9146954d4a1bc527e363cdb10cdd86124af1208e8e128a7d8d80be27ae3cc3e739f5b2d9f14ae4897b0302047c435bb50067306502303707e0f1e430932df3c87db2a82c3044d5638c5d2a1a58770e0d31e237992c000ddd58fc29d6e326fce38625eb4f36d3023100fcf9fbec5d8be8819f837e93765b9f97e73d5d0befcc946c207eacf1fa3f6979cf61eee413742c142680b38e3ec32d3e0302047c435bb500663064023032873eabd442e2d5eb4da0d10dc3085b50df39ceac0dbd8d1ea22dd17adde4c4e5d4bb5b0bb26754340974ef49bb9f1d023038d694309db869158dca7e5de256f85d95d78f593b5315ad75a33a71557445d711d8ce14dcbccbc304ec45b22e791c3d0302047c435bb500683066023100c8148d8d9eb3637729a7af570d855de3d1994bdbac7cbddf9097a971fa08484161ff03dfbd9a54d2f4830adaac8570080231008f7dfab9fe01885bc011dd97a1bd383f258973377b147cd33ecf62f344b3ea64413c8e5ea580c037083e1916e5f786920302047c435bb500673065023100efa8e6a1ac49773cbd00b1d839e8c29489213b33c9146967d38acb62b9ec2b3a2241a98b4cbcef1ae46396c713bcbecc023064638598045f8a3b875ffbe4e7a15a6603903a88c2dfb4515c99b0bb6dd6a2070a064feddb0ac0dd9c00fd2d5bddb08a0302047c435bb500673065023021e81921e77b5f6737fddf29da9b23c4c8a9712129a9b347320f20f9d575a2784028214d907477260fbd6e88511d38bf023100bc775f669e1c2e2f3cc13f6b5f65e662da26288958a5f1c5bf4952d11416a91f92c478341cced42b922b91870820af620302047c435bb500683066023100f695ccd38bfbfd703121048e496e513f84c73e2e8ea9fd6e64b76153c158f903e3ad1ebc58ea1843e6b728bdd5ff01bd0231008e0b27f85bbb72773b4ab0a0ee909466031ae694d6bb0f97d94bc4f9026d3b12cc191aff96516095f96579fab7947f330302047c435bb50068306602310093913dc2bc9601e8f1f10de87c021b1a3662b5876ebabdc5f5f655bf748ac5eef701262f7a8db9aa0f2eac618adfa9cb023100a75366564ed8d097d1e4c405ab899f2be035cfe2807ba18cc3d3085a1be9c4e0db830f894814c1aa2d2c959c385eeb470302047c435bb50066306402300355d81d1ad2dc4968dc8fdc14ba6e620eba5dda7198f57a2df95f0cecde00dda10677235d9fb6d5279dafe96f9ce18b02303dd37f9e9530cf1822b3f9c22628f6e49c6d8bdbc423896c595795a20e929937926ea16deafc2b1f76a2bef2afe098190302047c435bb5006730650230653445411332337c17447e8b932237f8ce5ed410b4013c0bee8916b2f3f4d002d6986aacad732b3368296532fcacee7e023100e2b298536b3f7d2cfac858f103c6868998fbbcc70a08fba93a976421437a6fc78af5e6b2d661876985bce647599906400302047c435bb50066306402304ece1ef4451e7a786318968f61a4fa6dfccc21d68e3d6dac7323f860a33c3c52f7c6d3a4dc45f7860e6763b9a13de0d002303ed7343afe4d049d4f28c82b1b6e579ce57f0dd99599f6c0b4b530c13608cb3f48269fc3d3942132d0278e55e8918f960302047c435bb500663064023012adbd14d48208e6d3fa17ecf21f6c90b385373a16d7bef06162af07aa1b3a6573bf27df24c045465594b36c6f46685002307d6e6d8db1fd97cf80dfe5b5d03624b356b4b8f1037de0eee889529de35f9516b4e5f4e43b1e5758cb1e140c71441f820302047c435bb50066306402305661c6d3e379fb1b927f6794611d89cbaecad3eebe46d75505fa06070675fdae366f6e4c32ce0448a7443021ca992bc602307e6e74323140c83ab719632b377ecaecacc7e2a18ab8d3d136250be68506760c55b5415613fd36c07b6570c3ac24ff920302047c435bb5006630640230060297732dfe775267e688a6969f992878c4bd8a5b310242e0bdb6ed6d54be2489eb7578fe8d8eda0ba96795e8d2fa6b023022b787697a372e8475ce8b1c938dda3c82a9184341539191635f486200c4cf7d39ee9ff911975f34eae59a68c6ca2c760302047c435bb500683066023100f4a4905e824521d8dbd8978609ea352a4aa31d7348d097ec35bece452f49291cf9934313f9673e8ed3069f8d34cb6ded023100ad56b82e60ef244077de2176063c15cc4f53602dd9150975bef384423ec6224bc89b6c9fe68a7d1797bc143520926fd30302047c435bb5006630640230630d25a7b95c2d2728386294a23a412af66050afabe1539847a6c8429caacc14a29a402c77f1402a5dd2762c86fd0fdf0230559ed2491079cf01a0a5eb52f48b61ce662fdcfe2d16e8d815f91a3971a530cd33101dbb53bba3d0bcf2fa6a8b0c48250302047c435bb500683066023100ada6811bb72ea5ae6dcec43fd7b4df3f1372b0dbfdc70a6a534b50ed7ddab023d4fa348234276b7134e3a92be61e233a023100ef2939c25679eb27e0f870861ef7dd5a6bf6a2269a990d7037df62167eb7f3fcc4ef243652f1fa1a204781077c26f6630302047c435bb500683066023100c728f2832b19c031fd6fd3766b0cb9fc6c5c65c325e4a32e7ed8089b5334d175c175a8bc72de28d91713580375a054ba023100c5dc08bb455d9cc8e25b2c194858fdf261d743750346ec51348a511c8f1bac976c0c8674cf54cd09e727239776047a970302047c435bb5006730650230432c1d108ef3526cc0c8905b0892ed8a551f68ceb90f1daddda2d62b81a1c3cd94d1613fdb3503053f81b2968b6c0d4d0231009aba5680744687296b1b2ca2e2c93a3d59559580fda98e562a4dccab0030469cf13fa64e3036ed850b5701cdaa8280500302047c435bb500673065023100aa33dd21390e1855b35eabdfdb43864b218927dd12eb3dc63aec688dfe1e7ca812595dad6e882f54e4b14357c52661600230275c7d872eb9f647bfd31c9c3866ea677c01efffde474890f6070af24d59d74eaa958993265a92ec143bd4ecaad1c12e0302047c435bb50067306502307ed24c9e16ab3d0780f091255fedc2e1a4f39656e8b2c60d5c745c0b73f32bed27bdd34aa04f5ab6714b7e44dca57e1b023100e6e9189029ec7ecf3a173b104e17b5cfaa7d7485b19f796673ad12e549e54e5b65a6449be80f86e6247967fe6f706a3a0302047c435bb50066306402306e04cbb7a57fd0a72baf9568a09c574c545308098f43d974d3a823d7374b6590f02fcedffd6e6f22e3dc24bd417a8014023024490ca3f4c7fdcab8142f73aec967c232885f62397a17ee33bd31f5c38cbf336efae6d558dd4c90087c1100b88b39e40302047c435bb5006730650230676a3b45be9a1db828f89ce41c6aebaa7f2d8b0fb56ed1cd76544223edf7dd7b30b95e01c4af583f6d18c532eb2df4d202310084fade5da75d1a0bd359835524652b7e86f483d6c451aa6b113d4a5d78a811595c00d07176a34c46f20a7e44ff6690040302047c435bb500683066023100cb401c32a502b32257d44d80ed670a0bfcc68c623f091c2ca0ff1f036ab014021e2ad148a7f0ad3439cd090712dc97f4023100e034cd02f165575cef2cefb0ab3d23099f175045ea7c878412ba379ed023f6d5b87f9a0e45366dd2100d93a9cca724770302047c435bb5006730650231008382f8f13cda1ef1f5673263ea53ebcb43826159aa490138b386e52ee850e7d0b5fd5b7c2f38e25727bfdebca67bb1740230542bb07951bd445857ae34074bb99b8243300201401d55e4da9dd425f8c9180045fbcb5e8765f0f6498e5bc7ce7201520302047c435bb500683066023100938150856f975cf146b387a98e21e3fac745b9598692be8599160795fef3ce8d3b0abab4f4a19c90e5cf232b8ce663990231008d5872f9daeb2d040bf9dc96bc2820b9331c7cbacf25338bed976c7ad58ca01815c6c3bf8461ec4178638e89e29921300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008ef3c6a56c9509e11b21a4da88cb40335b48dbcf4c6bbbeb84e82e8b7c09481dd1bd6985c82b5f15f52ae9a7e5f3f1e2023100c44d49581f2b1bd57e9f6eb846bb90939e7f10da76737cfa2e707ac5c4fa9f8ad0ba1017a6566534029ad583c6e149200302047c435bb50066306402304250cefcf888f8e33056fa5e31e4c01a68fb052eacc0ed3d0dbe8e95886e0d1d69d71a4a58a673b1b1d1e9394cfcb24d023066300046f0fae87c222f590077f82a56031857a55f11ba01a8e9c92782b60b5b7c2fd6955d6aeba72fa8931f5ee55c260302047c435bb5006830660231009cb85ae6d9c68d4bc1ea8f3f7b4d6e3c8e7a825c02f43059676ad7bd76f47bc7cfe26380c810a2e16532b779922c3d7b023100b5504091e7afc9cf7e81cf5dfd2300c27b121c83a34f95f7292dd1948371c890179d2b8b54a8758e00b1d6a8090d90dc0302047c435bb500663064023045ebaefc6773d28d05bd759adf37d797f34e84c878533906b4debd371ba61697d364d3d1d1887b0db1e09331f286164802302ffbb7393ee2d26d94fa61d49818a9862c4dfe6aee2b39856fe5a03700d10a1f3a25b38295fcb8b7460015c604d0fa430302047c435bb500673065023100a11d0952830eb0adee0a99257a609af03dd3db5f20d0db4867657df16dfa8ae31ae270f6a3522b15d608a931b0593eeb0230624ba741326702079c4586fec8fba6e4e911dc870970d743ddc784daf881e7a7f85c78a060fc833163d075eadfb7ed5b0302047c435bb50067306502306a438e88639ebe57cb31ab1c95e202d04e1fc4cff4303fdf07b576056d5b9c8e483bdc0d7c3eb23cbf1bb850679a6aaa023100a7a2881d7ab4a3d9915a95ae677532ba023116520c3974983ce7dd42a3c25e4edd7c4e43b05feffac4d4ae0b046e1e8f0302047c435bb50067306502301d913937473552ce2f82b400715cab7488edacf0c0333036dd9f1c3b252c6318dc59b2df6fe34daa09494789fec82aac023100983041545e773a11641a7c856733c3eb89f54bf9fbfe39865948fccb5b986a9fb004335fb3b07ae3f67d0e4c09e3ee5d0302047c435bb50068306602310095f4d245c2491a991aa7b943d227dfd27b7455564945f7487d9f7ab29c052d7f141f150034ea3f65a3111cea8677b05a023100a30f0fc4d46f159303e5c5b8b99cb6724271d7ba7a32571cc9c4953ab2800e1526d3f5bec9c20daf341d1bc136d4db6c0302047c435bb5006730650231008ede3af2ebd8397eba7baece33f85ffbe57c07f92d180ca4214c4bdf0154a24fedacbb87e22c19b6bcb5cdb1f5901bfa023009f1ed8b663d377f457f4570bf819e34afd4af7fe42f4503decfe038383631696bcc9eef2c84c7a4eae759cad603ab2e0302047c435bb500673065023100924e94794a34436ac5d402eb424d8c88fc2627e5795f90f827cb3554bf88a692c8ce3a0df018f21ae391ea8f2d883722023010454d5c93762c13d69b7ea35c372d880d63d76676d30efb973d777cdfbca6a29185068784ee683736af752cfd5e87dd0302047c435bb500673065023100898b307a55f3554bb05c00d3af90ef65682042723395204fff2c2dce55908c715191afb639fee32aee4ffc991691fe0002305737eef3c3c7d823fb7ea496922548be250f6a6ee5c9fff67537c31587668cac9972ce5dc2354d000b35699f2cdee7a50302047c435bb500663064023049fe17ab512356ddf665e91cfb790d06b5523a1bf55461c726945bf01e02a077009a36d4ebcdd682452f0a4c9a0b51b30230427f4bab3fdf90da19d4c7dbe4a11de81a391c56f467eaf7530e79d2b93fae70fc8373c3ac2756fd56dc233bdb189e280302047c435bb50067306502310099a5c39236bec434b0412ec476c9b1c4a0ffedb58240de979a4196d020b7d3fc794fcaf9d979729342b4ed685b3b75db0230178d28a4b6a1889d4dc7f4aa2a19a851a5c2ea40759c20f08cc346b71256f30b15682ad4b672b2e4e0a38517d6b603630302047c435bb500673065023100a9c9fe0be760f3e888a5ab5d247b3aed197220baa0f37b2134c03222ec1e41f1add2eb3e194ff718b81805cee130f519023046dc9e64297ea1c6b0c00f03819ea43a673d5be10638293a8e39d80556258683c33c8648b1553612a367e8e8532879d00302047c435bb50067306502302cb95077e845bd501c1fa320556dea44891239c208b50ffaf560b7be9ee97fefe878168950d28d067cdb86a9398bc86202310090150f11f0acad044dea111ddc2c53c5e6dd25899821909ada1679476de81a77f28f8ba80743bfc1b33c6725cb4d4dd80302047c435bb5006830660231008e020a85294dba094802d60fe8515b6e87e883448df33a2dc0cd34b2577ab0c721a1b94b96499ac8f839931dd5e7c7e6023100d866ebebe90e894112f7ed31e8781bd8d1a050ea6efa2704ca850b2559576a951c360915cb2d6d1ca3c4ae3d5cc1be0c0302047c435bb500683066023100c461994b71abc22e80201263954fcdca2fe8cd5f3d76da7a3a444ad714290251fc53dde581791bb04b93d3e0a0e8690d023100eba1a1383dc6d7491438344a6a23ed056202ef803440d4bea3f4f98577f6d90e7691294c13d9436b02b19f042a22624c0302047c435bb500673065023100cbe2075d30940d1bf777601c2e063e97092a5db6e4d7d6b000b1c0579aef28f8f7839283be190a02e0a6f992145e8009023054ed90597ba7a6e49a1c58b8ae3b4858496910e09edc9d1296a4c193c3643e57ba5096e1793284c042669184201444840302047c435bb500673065023100cddbf55befb6b1289164e735e6e4d4742e927b110c4b9f3e1052546c60aca266ffad640bc589061450a00750edab2c46023058858448a0c6c50bd6799f9a6d23ca10dce1ad197c88bdfff075a1051b668272a64861f7b51bd5377031e72918c490f60302047c435bb500673065023100dcb3dcf9e6f825fc791bf56359b92fae694ba8b1a62c0f58d9d79e47d023f0a92bfd1bb0a7b92ef0138e9b6f37ba48ab02307c159a5404db538ab47d1194c307c6ec01a86dd895232482651090ac0aec0dc5e881158279c26b61830da65931479b1f0302047c435bb500673065023033c24dec467abe505f2895c9b3883f4723e8cee4abec9c18a5b41ada44046238e2912fd8604c06bbaed6651e50591ba7023100c73754ebb44f9e28775fa21f186bc8b8cf84623ff86444c42958fa7e1f842ceb684ed678b172547de2de1708c92d22190302047c435bb500673065023100d50ee6e2b99c0860cb353b2f9ada340c0756d9b91767c89293ac66c2f1552aa409030db19cdd17f484f101db28057bc202306cafc74c8dd878633772ee8e3430988e96e57087fce6c6329a561d1efa904d3b08f178d34ec14a396715d7aee8a8850a0302047c435bb50067306502305d03d10eff6381a2e2892f3ec61aa6c04e91068b41f46759499146e7622c9c2f1d194f28fe3f27716813699cb90d76ea023100d693d77e239e7e1263983818a1f02bd5e17ba0ee5f531c6ba9a5b995eaab45ba2b8fdf676c259f30554ac21c54cc95930302047c435bb500673065023100c440049bd24e672e88f14906bffbc7fd82bebcd3a34463b4deb815481066649d96f512ab2566f934bc1e36c13cd9965002302453e243a9c4c684cb5e3aef8f621c5b45dd0281c5b117893b1cd65fca232c42ea996acf903e477ed50055873fbdd3840302047c435bb500683066023100fe788fbf9e53846f715d2c5290cc48986f09dc3356ddf2e3b269b68b19b5988e16e2ab307ac441664e4435fde9ff6e8c023100a84c5fd462ddfbba4ee62644e3cdfb3196e765582b233fbd07b20e3032587005045b997ae7939ca4c1726496fb13aa1a0302047c435bb500673065023031b277baa92e9cfdf92eb1582db5946ffdb6d2fc544ed2d7b748fccb3ee84e54ce245a1edab7233d6bffb4791f972517023100ad31db19e5ce211473317f3cd99f4a6a698bac5cbcb41edd044a2c769f72d849077e494fba6497fa2869df8c5b7521750302047c435bb500663064023018a25d3b61823fac20a56e1cb3cfbc30a98b82da897aeca2328dfe53b4e3fbd22d19b0b09845de9d7bf35b802d4abfc8023057ba3e73e75ba959c98e86f40c8c2e4c6d20893d9bdc00d1d53e2acd19ca8d58e1f6e24fa52d85d2cc850ab51ca60baa0302047c435bb500663064023039378fae57575f9c1c733c15e4e7732a2e9085be218962efc8463b10f9d187b5f6d31b00fc1a21f5ab94250de9bed9f50230335dae92464d1cc24754ff2c5d760dce8ddfcc49f543103ec345de652abc2d741105c5e7b928189391782bf043a26f900302047c435bb50067306502300dca695c26bf264f55fc858ced80f8d98129ff83c3bdd1b60939b5915fd7e4fb7cd6407ede5ad43ee9824d0ae3bfdcdd023100d9963b3cae157511e6294d4e9defca27f54cc870a392f26c00dc67083468149d1093ebb2b331dc3fbb973d4e77bf79ac0302047c435bb5006830660231009081710afe0ece19c720a27966adbeec73d5ab300fc466a2408be65650c4d37061e7a6891e8c3b995659baa9fea527ef023100fc9103fba2beec51eee542865d2b58d7fc9202cd96682d7062dbb101e513fb0780d575c860b738c91480e9778d7b831a0302047c435bb5006830660231009f7f1e969e09f4ca0bd812d03b1cf0c84e18c9794b0d31fc6ebcbd973557cc337bb4602c965696a8cc0454796afdd6b1023100fb63a901b9bb5fa56f76af392fa15a4f4444e60b1303d6d28b8c6e9076a0e8c8238d3577b50499b69c6afff4962da4300302047c435bb500673065023100e73a9fb50cdf45820e3fd15abb085d70e350510f717de8353b0a1e3fee5b7d99d14f0b4788ca05297b74c3d2d9bf8dda0230583ed7dc2237fe581420d86b7d631bf01565f2b9a1dc6bb62ebd21e305bbc54bd457604727be7f4922a5a00f2b0145140302047c435bb500673065023100ae0eebe69886c59e1944de201e6c950995ccc9e7dcb4165e170b4fcfbe82c36895ab396a736e9146997a3d6bf9d0d5ce02303ab7ab00fe848a4785d8ae51635f51eb4238de585ce0f7c3d9f006077717dcb465fc3fb0acf79ee774ea106d527e7c040302047c435bb500663064023044593e48fe9e2065c118ce309d51df2a309f0612bf8dd212fd8ae71fd514fea7eeee6bbbd89d7dcd2d393b438b5b8a620230122e2788174636c441d9653576deaf8de0eaaf02b5cb39dd93d4bc5144b30473476d24542cd5fd98ed93c1114d6ae48e0302047c435bb500683066023100f2dec085d9cef418d22b3239c1055674ae4c8eac520df2779c8dcd2054817f998391afd24254c3d75f04afa58b3357a7023100811a4117075c1fb05de932c95c66f7f90e66e4bf43478c3d10a5cec85554b963da81495b8cf67769f09c44d29fc72de90302047c435bb50067306502303954eada424e11589558a72981deb43e8a6ce67c5dc6007e24cb7c57ac16dc785c4070fcc77be5bcd1ca5aa229c0ddca023100e4db8ccc7b1db5938a798249323e6825b29d2429aee8648e4d5ab6add8a193f42ad74974e99120a217305d3227fc75870302047c435bb500673065023100bed7ffb3a6d165520394ed9543bc00c5bfea0ea4a9aa7c8fdad1138b6282e243f110f875676d56420b1e890a4e51aec502302c5900151793ce1383a75bd3866a624aecd8abbb7e9b6005ab010d07297fb653d332a2ca76585e99fddc48924595a5fc0302047c435bb5006730650231009409193b04d3fb14204f174bc4e3eb2491be66fdf80408a53c28d0106fde00a4b63b2c3ef19a04e22df8f366b12381e50230629f53ac5af633e2676dc439d48a860a423e5e74e2a97ca6e342cd9996fba5ff59aa71854fd4bfcaa0a212b4428b041e0302047c435bb50067306502310080f6543c0419ffe53ddf574728524711e439d5cf824c3c8b9f129c096f56eb92099e555667fb06bf0ff5769344073999023011101c609f25bc732273d2be8139444d3691f8cc91d9e2bed09df72ae1d5b2ae27ded1c901e6fce6dc100bd6ee0a828b0302047c435bb500673065023100861ee0c8a3dc8142bae60084bc810089f6a870be6746087975e5f6e849b69099821e5d2c82943dd6cb2162dfc8477da8023016d69050e2f92c68647e71dbc46d09ca80df66df003e1789690a57a6cba25549e333595385c630a5e3a1ec8747d5176d0302047c435bb500663064023047f5086ff3e35f0920910f724fe6a5ae28d9d2852b13ed7e3629e3f29773390e0aac87a5336aa9b8a4c416a1bf2b9fba023050794b301d5cb0282ce32ac3697cbb17d9b79f6e6fb25c6f2295b1814806ee19ea5095189d80dec8167597f6218062700302047c435bb5006830660231008cd813fcebbf087ed983317719b3e15a26f806b55cf488dd638503af88c20f9b711f270660d312c8eccda1d39f3dc363023100de30a339b4ad5088acf74f5f9a6d1c26de03484247a5adbf8c576d982774be166dfe04b14f858bbc5d6d14d177379b1c0302047c435bb500673065023100e3fe04919008217035a0f5235c503d82378f2ad71c17043225c4ac03a18b4c3e33acbdc3df8aece420dc426421239873023000816e2897359e6c43a27810d01c565a890cdb4f8b45ebb5344c243311f4016d34ffafcab9ca910ae55d26d9f4d367900302047c435bb50067306502307f493c4c3fb6b5d538c984992315c65924ed852b19b689d18d59e7cf45e79ce0c75eed136accb7d6c6d825d8d1871e8c023100d72fc36b6eddd7a6f91e3aea1991b4c5fe10b25a51aaf34a4d13811f52cb5f84e53795c76e5f34594c0581a16c9ab07b0302047c435bb500683066023100b5f68bd85fd2f98fbf240e95c98f6a9e83939011130da1e863cf01f7dcee3d737825fe0f98cb3d6520a9fd6d0fc4028b023100c7eb9d24f5ea3e23575250d03901c2ed567b180f0dd1f6db7b1fe8123b6f686b503b9ce4db399e6cef58f6bc6c3a9b380302047c435bb500673065023100d494ea7f2568b1abf7c62ec41b608fdbc194cd05e8036dfe95a6889adb77dd0460c1b3e8c14b960ff4c9006453ea5b1d02302c7ae21c827d8a8961063a624a564a4c8d92a19a3450fade76b885f1e4c99eed2d5a988e6200d00c24083635d28059990302047c435bb5006630640230613c2a8285fde6ffff62a7fdc5336a42d0de57f810647b1a4fee100847c6e02dec1bf03206ec824bcb379db39d7845c40230058b9636f4a129a1816fb1567f14dda3f721e9208c423e55c3d345f200afeda4c9c82000c577051b9be39d027d801b020302047c435bb50067306502305dde2ddedd97a9719fbbde99d087ff6cef87112f4012d7b75bd0c34f8a83da6814834801d86517b4df8e445727ea352f0231008950446b19b1ce61836cfb89be3cd6cc9fad59cc5e0cced35d743316f37691990c226a85f8460a67a78c7d83a8eb07a70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a925e5fc7d2deba8b01001ea5091200c4e5bdda6f30e85655fd52c0781ced7d859906f9f027cd66dcbc1c43a4e69846f023100b94d53ef3d6101f3bf800b15823b1d18e6a78792ec041492c08a02b2b1a573049faa1008f52e398be636f1bb61e0144e0302047c435bb500673065023059db3d715cb660015a73232c1509e6f88467696ebcde0cf5b2ffe37d55662c992058b43f57c385d4a24d9521f868c30902310092f402be70cb813c0ec263bfb75743ea7d51a1e55fdc94c79a440d768268dfeedc966c935753be1a8c9970751e850c660302047c435bb5006730650231009cb68f63966342ce4adf31cb8272eb110c805b2324a67bdccf6d2f6197eda5448bbae425e259785853b4a9ecb86a9c0a02303cdc31053569f146a9a0ec48e526a2ec79cfe21f62187afa133565812135ad35be1664121f157988baf9555b286fedbc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302b882f1d4bd79e25176201a295a5782c3bcf364b19f85bf7f1d2018e98805310c772a08eebb5b2d9db80c5cb1ac31ff2023100b132ff2e4e73ee56a4faef74e0fa85c2714e1d50acb4e88ac7c1678aefb059620e3d8876288c452eb1c4e10db5613e220302047c435bb500673065023100ab589506c37612c755461e85307a18b0b0dd5ed75055913e62c5d07ce001d2dc9683eb1cd3877960f703d180fa290138023014aed9dfd558b24ffcc3fb06532f46af642ca99425f9a89f29c9c8f46d0fbcbd3897596aec2e8dbee7e41b35f653a8dd0302047c435bb500673065023100af13201c410e46f4ff9a8487daae7ddd2981ae448e2c112c42a3b09c751470b9f3f5d0381f1a3a294169e55031ecac48023044dadf405693091f16e37eaaa6edc58b92ab0531507b5d985c4fe6bfe5f7e7b12a845018288f8643013acebb4f3feca50302047c435bb500683066023100bc5140f4881eab5328c9170518318e4fa581a542c7ee4cfd72607e3938054f93363bb85eb83fa5c74ecc4f5f29a83425023100ef48defe7d4551761d2e3c5a31f4feb75df4fd31062ee700d63653e61234a60670043c17a8b532d3263cf96d854f49560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d45e71f554871057494d42ef633284ef217ef24bee475e27d4b85aefa040bdc9aa84c06191175abcc2cb9a139b50abcd02300d00bbd411a790891c5cb46f2fd8187d0eb3999866058eacdfe2b4c3e16735f6576ce54665df6507f04962642f4f353a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230377351b0ca6e2ab4cb779fc8e384052e69a08827860cdae27a0418231a07234c3002880fce28eb49fc371bc58c83ff46023100f263a006885dcc7e8e37f722900b88b7d389ac0a5c67c42215ad225d33ff19a674f9be1b4ca71be4f45509c7f862595e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023015328c78a573a6661acb95fd4c17595f6712210d911e3509a48c7165b8c8e2056f6f4d6f1e2fa4c0d0ca29853dcabb55023100efe2e01946e21306263b49e70f02bebfd4bc485d276ceacdfa5bec413f91a3b454c6bb75334647fa0a53d7a33f4dc6bd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306322e8324bf7ef7c70f4d9db9fa04156053ddfce51ad6cb0038cbe95abc16e101c44386601f2be5c4fe28d964acad7c7023100ffe4ed1f2f22d7cb5f192271a9c6a48eae136238ceafd564473c1d90a7ed6862cb3e04e69c8dbb3b86093cfdb32f0d190302047c435bb50067306502305788486209e7959a999ecc60f1cc314bef4b600ec92cb47567468ea0bfc7807d9aa373f5ba77512aaac8f5bea43ccd3f023100c28c8bb7190d0b36daff3dfd8898ba71d4330c0d7991eb26e64a4ea3efe36739d1c208046d5e4bde63a9796643d75feb0302047c435bb500673065023100db0bc8d3cdae4bb48824735e81b2e324fd64d2837f387ff9d55c977b79203203bf06ef80b7008d319d7f9702bb9b906602301f75cb6ecf9a1c29400508982798bded04b9378d7e12197735f1616d4aedd3ee455724324a436a70b29d5668a74c995c0302047c435bb500663064023057c56acdd66100befbf5f2f58b19c00b220afb80da917eb7efc6b8f3246f64046da54f285eed31f4adc2eb9a28bf780b0230068679d1763ac98a6fb2248ca38cc374e250edab1129d97503741b88a9ea903d1d63198be50617526414692fa73963df0302047c435bb5006830660231009d2fca068669390e5fedd4b65e1ba2b217c02d7f998820c5e8641310a4893e36fb3001cad29fd719b213cf2cc6f7c08802310095383053f459299088ee4518a7123798d087d54e81151a7b84763e3dca7d92692125c9b3affe4d0446bbc52c32c16f970302047c435bb50067306502301b4ad0e089197ac653023befdfcecb8fb93b3c8156fc428213a3b7eb1a6b9ccdd99b3197c11b629aea376a148b395e85023100b3f6e9543fe66d5af9715e043b15f2472739404740cfcca96074e028e267d5202d7069568656da2a83dde325e25fc43a0302047c435bb50067306502307387b80cdca7d6ba3d7842566048d290ace224d2c778297c6af3922e0a9a6bbff728218c64a8eb3c0eee1c05f730d0da0231009f3f2d20402b22fcdbe84932627c368a7bb2e932ab98dcef7a18bacb02dfb9a6fff70295af17d65f0f85e95f605d18c40302047c435bb500673065023100b0f6bf52e6abd1e3b6b412806a72ec33e59640470db1c7e3440783b4907150348bd2ede7394c2854d09f96098e390210023011f1332113e2ea370db4bb14638b1e0bfde5b9ae30c6c5c190394315afa358d17293c08e8ffb4819d7b52a65fe1dedee0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d8922fcf1ba26ab86af062cea997a12f50724def73815fe9cfb37dbd6ca61143a1fabb06f32c443451f658c239bf0a3602303a88c8e0729474f5665102a4294dbd2bb87fcbef367add4efd235490e4bfa9bb086d472c75d30465dcc3b39b6891a68b0302047c435bb5006630640230604618bee61603cfbc3366f2ca51c532be6d8748ecddc90d8e08cca5be7c76f8dbc09927c22e8623c4332e2b3837aaaa023053867a64e53d973edcc57adb6d53ca12d58223168d6bf14c34ba074b5949e2c1a7bf2f7911f032a86956c4aea88df88b0302047c435bb50067306502304cba2e9dbe2b4ddeb4ee90ef384ccec3b5b84e9407eb961f031a6cfe9c3d0b52fbd4aa094b6c387875db47e71a16714b023100ea16129d7d6f134e9f5e33c564b69eed291fc1da5519bcab20ee9f84d72a1fdcd0c86f4d9bfc3c3ca90e44beb03104e80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ae815b907286b190ee8f500d318206fa4b221d5de4e0d086f009f5a6a8030e03117f273f1d0259a1420ff11dfbcd6edb023100c28aaec5f206fa814ee54e19191a882a97bd1997cd1b15b52f4205c01b19e05854c49f1382313d7c5cc98a9d22a1fe8e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303937463b24a415e61717d1bd25fec0c9c1760581cd9608088a8ea0dd90f68fa7c34d50b420c13083eefd9a095ca00cd6023012867140765f61c39ac09ebc56191875817378b91a9c5c728438609fdc495d300f98a94e8a8956ec91f22281477aeeca0302047c435bb5006730650231008eddd330fd2e724478ee00636db204eb9528419618700208d0101215f6cb23f72ffad39c59ab68d84a7caf5c5ec3ab1b0230166d53e71e66ab99231f02896e9bb81eebfbcb03b6cd92e80a2d984ceb79fbd0f9b504c0324fa07506bc4500911b40490302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306e35d5f311007ceda84a70364a1b39cd77dd198f6b316dc116f727eb9d076cf04bf2cf7ccc77878ea5c0d747e6dd7cc6023100a818416dfae408839da6f9d31607c9d07ba39bdf9f794ee2f81b394b845ddfa5f83d6613f10f395df8d765e31384906c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100aaa77004a686b37a4cfa50e28f262b23bdedb4fde0d2bf9ce151a545a6bfecc8998b79bcc381579b20d3f2fa0b78458e023076cfdb5be58ecf556bcb547de2cd3baed3da61f33045a1664240d890599c251653ef40b35ce9396f04c16e1a73b166280302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100de918e58d2cf788581568323bcef1c1d308d7dc6c298733c013ea6776efbdfb296605e7c9c6bbba1d06d6d11f28c2a4302301a414df446ce0c57ba4dcd6f1f88d4e0ec8c558f1bd9bfae585ba79f6c0f9d4f5585b180ff110b20e97a16b5a638f9730302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100de4d79c23ed48fd3caf9d977dce08c5553ffce8152400bce8783822151804ea48c5fc67c124fa2dcd368f11421b8feaa023100a06682fe45ee350df1a522fbeaa1dbfefb047ec06952010bf6a67f1a649027ed67b548b79fd9c4c6fcfc0317cd133d7b0302047c435bb500673065023072698ef936ce8898680657eaf1026b6430759d833f51e16ed158b43f6c880dfa3f3b8275c5f930c7b2080e351e65926a02310088d792ba4d3f190e76c89511302726b7715aefc0a7af7a52f7a731b2bbe080c026fd2065e700de061aa523ac72b13a520302047c435bb50066306402303853dfc3ae517d330927a10b9e9284d3ad0208023e009e366bb60e89973a69908864826347c4dfe7c5a85c7dd5ce44700230196fb905b684c713395c979fb4d949b4c1255f2b2c31296baee0e89039942b109e1ca99836ccff03decca56ad3f2c7a50302047c435bb50066306402302f80122a4ba30abc8a7e9826bb674538fc0b862ed1d91600e2e5cb4dfc5fa8f7a60a1bdad4cd77704f84073c992b70ad02301206db18c20b5dccaf0ccec9fe63532b285b0bf3d5667411108f77cb2526ff194db6d724ee56f587fe9ef464d30018a80302047c435bb50067306502307a6506caf6fb08834e380bcb4c643cfecdaba44943135d9b70efcd6bec0cdf7a7652f2660a92538057843aa7841b1caa023100b478d26d696b1ba344b72132e22084e59d0515d55f9a56e8fc8eeb5b0abf7706cbd1a496d162f278f9972ea00a7194260302047c435bb500663064023006c6f82114a06b8a187a598676088b60bfcde338c6b32fce2718029a29fee80123e62219a8d47529827bf05290e11933023035f89a23ded99556f676c54fd377e9bf2c7093db3aec6f0c482dfba44437b0778e935a0d39d9815e9a6c05e218a0f1250302047c435bb500673065023064f1806c707d714820e2afcb9da24de2344cb85e392605402c865811380c32815c2e606c38852d8d475541b1f6a00867023100ae42fa005ec6864e144d2690b71c900ac9331b875d13e2ddbb6e707e4505f8719170dca27de183303e4c5d4bd20081910302047c435bb5006730650231009d8062945b545bcb3decf9234c78ad12ca0fb2e0595b3afe89f6ddefcbc7790f4a652936ba69c955ce5f842b925af00802301439fb0e4b4aeb34da4b944627afa9adfe80c1d7f76f452412e122e9502fb2650b2b334dfedcd4540d3c6595bc99b8920302047c435bb50066306402306f140b9a8b9875931f07c48b98ebe649f7b8d567f4722551d063ef5430ea5c216461ec2754c1b0f40a20bf970731fd0702301700fc2735e8d2bbbf66b21083db9e17e3b4ad5b89cf5e4caac28050c8170ece204630ad661af3726d23a53f56a328480302047c435bb500673065023100c8dbcaed8cc85ebb7c0b663c4a8d8316cbee64dc276176c459bcfe824d5b57c2c535b5efd76386142a6ede51d18caf1802301a4d192f9dbcdeaaa364d7848659225aa473d09b0095488a584b5218c1385ba903b960178e52ab17ec5b0ec7fafce0f40302047c435bb500673065023100f5838312972e016532f2a56fd186221fdcd6404bcd7a467a8622dfe99a55d8fc9ee443787051acdaf18f61652439fd51023060bfc8be2f3fc90a49ce91918b4058127b186e4eeabc2ac31635f65b91ff5b917371c3e226d38b0add4d4a0b32f29bf70302047c435bb500683066023100f3e5bae3788eb1c79e9f2b642027416013790a7e816deabcd02cd1e0dd7fae0633e031ac03bb1d3bdb23dada8f3c99bd02310089509579fc57936a8bdc677b993bf976a2f328952d726444817d6af28825866d36b581473074f99e74c78941f27de9270302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c727d29bc1b22573167b2ed7521566e2f371419074fbf67a1427279e4d72b1ac18d213a300695935222f3072a821b952023100a50185f143cf2fd033da90640a67c9ac14087762216c30d0f0c7e8f1cadeb06d3f07d11f3cb26941709f8e862eed410d0302047c435bb5006630640230777fc3a0aa28f4711a5afe11a7d422223858bbb2920e73a2e69cf30e48ef3bc99cfa5ec95be5f0df721e5bc2236e13a602306b233472ccde1ec6e18f4244a65375af85ee1190860b87abd36ae012c8bea8d2b97a5ef3a94bbcf553aadc973e4023710302047c435bb500683066023100e8e77c7d31bcf2463459c6e952dfc9710d35acc9d9cf44c0a33bfad6253d300cffc90260dfdf2a80b7f2204b8a9f5259023100c6be22306156089e3245b713667361786b8e81db76bed54447a7b1f271ac0cf70cfbfaf8f6e18ac2a517411c7a6b8c600302047c435bb500683066023100deea65e077f0ab8ebf576b95d2885578530f0d4778b197b5ed62b6f5577a78c33211212b8a0768660ac69fe339217886023100cdb8812060e1de831a3b347b46e33adc7d038a70944c8235ee8568824eda0d129195e7d757708419ba4e4ccd6a5d66930302047c435bb50067306502301a62835612136dfc77f6e6774eb5cb4831a3658eecaf38faf84ef8898f03debfdb8718bf4bb6bf2777c048cbdeb5f76e023100a48db4f08613d54f452123d4b400e14944f502d027b8dd28a45a403ea51d7802ac6af4449a1e652e0c299574b1f360fe0302047c435bb500673065023100ad7bab338f0e068493e7f70a336e63d167c7b70c352c41161cde77ef6e13ba2d673f5e3a01d7949476c6f8fc4056a554023055d672f2ebc1f877abdcb42769213c03cb4636e1a07df70037299e0bc51a6b05035d0b16d1844c1cc0a82de9182c4a920302047c435bb500673065023001cd094089a5510e5ff259eb2698df96d3aaabe545a190f978f484669a12ef6ef78fe749b38b30ea46859efbda9604e5023100cce7c85f4bce12a38ac8b6fafbb462abb07b4a06574b092841a9f50bf65af31993db05d64ec0ec99905bc7910865659d0302047c435bb50067306502307a21d3055afc3ff5dbe0e3ed9dc0b7e431b31ed254e005edae654b022acde70a43f73dbd020873b18f0d3c8136b2e5490231008dff2ddbcb0f20a039a9bdddd7acba5b73a9d966681f13b94b871e8403dcce87b09597d249fa577953b24749c9845ecc0302047c435bb500673065023100a724a392d6eb6d299811ddd9409fc51f12e110da259ff6b1a231dbbff17b21765f682b09fa2c417128c1240a82574955023007c818382d58950b6045dfa19b48fc5fc787d69e51a24cf52a0b13a1e7e8ca3eac97998b4c42ed302b1821b4161cf12c0302047c435bb50067306502310095228f1a0f7faa7c5105abbe46ebcc4df24bb67d0e8dc8dc34abae7f11d95e437bc6a91f9d51641668b9965b6c02e3390230081c22e543a2357bfce8f2b3a16da1427d0f56ef1ea052a77ead52aa3b0a520fbb3f96892554ad6a29fdeb110876e8e00302047c435bb50066306402306e6d46a1781d46c9d3975c249ca57216e9560c7f36963372c6870b2283d6a521afda7725c2c8043a6ec8020c743791c802300d3c45d56f6a224c542b6942aff87a2eef2fa0a75e024eb54bf31980760a8f297a033eec09b015f8593a04301586b0320302047c435bb500683066023100bb3eb050c4cc387523485d177d96872134398e880c0fde26967815cb954b69fc6f1af26aeabac11b37be995ceb9f6e15023100f7685f91853c4e98d28e74bfe02b3367cf740a56a8013958431e936afa7d556a42ffa57296b531131f57ada3b3fadd320302047c435bb500673065023100a63d930ae6221dddc851883fabe7d6ef5b02878e6ce01aef7d776d7ad88529a7f58997ca3096af046075c1cf56b1b125023051874d06caa12cc2c90f15a2de6a39e36aa9939d139e8b03db03651db8f7ff12f2931c52121dd0bdee5271f7854aed960302047c435bb500683066023100cc089648efccb8119c83e41ccdc8de9ba5334f0151b349aedc06abcad278e719ef4140c45e03525d7cba41f6a8d6a22c023100b117cd6cdc3794d9a72694588fea688fe178e4efa1993e6472230729b5901ade783106b2240044eca950abd65afc53040302047c435bb50067306502303ff4cb44995d3f86e620cabc7596eac6c05c7ce168d6b7e11a054e75820db26b27a08ed9760a911d02b22f374457769c023100ee44eae1a4cf63da7a654200573a5be8853144f5a923c73341ceb52a93552d4827a734a0d2f6e4c1b362053fd2b858610302047c435bb5006730650230650a0ad7383bd98d0a8b53a99f872aae1a9931939af7c516c471900ff5766f7aa80a4f0246ed7ccfd18942305db8767b023100f532b21745a3734f0b73742780c435d10122b31b857e0edcc4a238906e55ddd1de25dcae6effb0102da5822a8660e54f0302047c435bb5006730650231008cf4e1132ff7faabaa4d0e2a3914c8c2402a626b131cb729d3eb76d948fad1db705609c7464ce34fcbdfa30515e51ff902306b4525ef85f38e3f750886355bcf136c8333883906702a04544a736d2a06eedce468da5819fc62bdd2e1441fc2b227030302047c435bb500663064023066860ebcc1d08379a10e50d9b54709b5e86d3dd38b3d4a101de5d8436112b31cf2c7d4f9c14bcf485a07793e59c40eeb0230792c72e007ee25f66093da006c35078ad44fd9f97414fe5033d80abf4ee9cbb80ca263ecf145f1f4371752fdc82dd5380302047c435bb50067306502306146640e60cb97dc7d1eb411725d76d4cc4fe92969f15d00cdcdc1ed6a203c0784cf6fc27e4af89c4d7836c1c8e01250023100ca205a7aa0d010c085bc9dbc08da42616da32907ce0bb7698d552fff6b26e4e920ff96ca6235b457d2cf89a812de04dd0302047c435bb5006730650230029cc0407666861746fa429396225ff836905ba8d86d3609c59375f10fd630c278da95a52a839b3fb33364f0eb9126c3023100e46c653f87bec024cec283210ea5b474d17534496c44b6b6cb450ba2f2e705211735d5c7ac4b07672dcb25f15fc8f08b0302047c435bb50067306502305701d41a20995ce0bbad381bac95511d5801781b2530a769262c8a2fb8f0e9a78a970842ef674040dbfda0da1ba4cbc8023100d1a23dea743fb8d241bd49d2514cb0a3dbd107b72ca7f7ce1063d5ce76c21475dc2793396a6639de0c21d495eb9a84480302047c435bb5006630640230760e6827679e4efe503bd194f2453180173484c2bab3766a404239f3ec6704260d546c5229a5c6ddf85398f33443f3ac023061b536403d0d367c957d52aae8d93ce0074e7d43b93a35e6cbfc58d260dce7bb64d2c0dc7ab9a32c002a3435db99a84a0302047c435bb5006730650230793fba34ad9ef83b485b73624143bbb8dac00fbd473246b10c200dcb108231733d8a70f3a80785729ed0e4da86ecadd5023100dd7dd86596a12794904aa9602e7383bf358120902f055d773bba043637004a50e1b6a1eab4765dcecd546add941eceec0302047c435bb500683066023100d262947e8b5b1ee136564cd505e42a12528c21918d131c2d554a6fe7ff73225a2fc804ed59a3f4417a5718a1464db6ed023100a11e07d50c3d1d0ea7cb5cb0b11672bdc28ac77afb21fd2be9f910e3ce776e8feb86b06e018a4a81110245e60edfb7650302047c435bb5006730650230316d83502678c92c67e20d1ccff5743ea141e5a7f64d1071193ea9a3a435904a3f06c1202579ec2ba52b734bf9245fcc023100a8fbb1d86b18ed2882a2d0fcf8b6fef7022c36c08c9570005d98f8f96308e12a5870039f0c5cb4170af0404998edc9210302047c435bb500673065023100a1f63073973b9ec0a61f250d5cb56a8a3971094c2840bac70745d7f1553265e44f3b883f7b4bccbc27ef4ccb11202c2702303558ffe452cc63cc71880510adfdf8e8598d2078746cb436bbf2d771349cd0a216367f0069f06ba007ce0bab172e17e00302047c435bb500673065023074e3e0c849e1f070438a14d12f0c1af3089c3918e3bb8749c12ca6e6aa345cc406c7448b654249642f25f45944150d5e023100c45a0b89954c4b60dafdc9691205c8049df3431dbe941da27c61664f7d112c0ecee007fe2771f4f8d388a919d82cd8790302047c435bb50066306402300ed5833c56eac7a5e89b46f9a0c5b51db1aec81d0c226512e8e7a17a4f0435ae9f5a549abf90f300f454320eb5970c8f0230769b6d12a519963755089e9e6f58ca6360a84fd2c078238c8674909f6bfe4b89d7d3670746e18fa2679a6ccf1463f8270302047c435bb500673065023100d7eec1791af339269060d5bd3257f053735b7592d6d89d3eabb179e73f35a065c97f7730a811b88a9ab613a89a1f380d023078fcdf7fead8768bca69bbd4ed40db3f0dc71a418873d450226b196ff8b1bef85cd5e7cb192fd376608ee5d6a8895e670302047c435bb5006630640230171c0ca2065d9f39b379bba2cf48b1ac9f1b8069ede25cce61034b3d4722a2b53f6e638232a5d8fc681577478ca3a5a1023043a924f325cbbd774378799aab3639d2a9944341907a41c5a117cf723876296fafaf0915c31215b5b8a77e992639be740302047c435bb50067306502303254ca1ba4bb964668f7fe77d5db39cd4aea1f23bbda418a94fa8157a0b9d1379ab83ae9ebe55352a23678fc7e4b01b5023100d03b7995d8de303f0ff4fc34ba15347e52149a4070d3e7c5cd0538ce9d3c64051ecd176864c474148b105f7631a826350302047c435bb500673065023037d444dc0ce48472195ae38e65ce6c7c272c66697670dfaa2a8d530ab0fe4bc3bd3c9842999e1afcc5505f34dfb1b0b4023100bf84248e3fb22275f916493a0c954ebf6ad39ec4d04c96cb7290f80ff5b62e3c11a75c8e8308a5c57e8908ffd2e688850302047c435bb500673065023100c5808e7db47aa35ce93b9e201fb5e5a9f964635bc7d3e9488b51d4a06ff8cd00d01a4ce1e41ad263ccffc9ccf592dfaa023030e5abcd4177d77e6db26cac00c385c15b7c9c1dfa04d8b1154792f629292ed3514b0521136cedcb22a9371c411ff2000302047c435bb50067306502302fea07a4d1c3dec08a0289c4d183455a97ff6bf24e5bb11c4a1ea9d1a3a25db2a15bebffcb1298f92950e41d2edb2e79023100e549d6ef565ea01ec808a4a9d42dd3b395d1aa8d9e40bcae07513481d08b33dd0868045d07f5dbea67e95a2a919880420302047c435bb500673065023100be1430a0e431473347bbc6ce5c23218f72a662fb4fbff12759b3f2a399e1dbeee7a200c3cb5e3b071c6c4451f4d7fb900230228bc0b1225e18f775d0e6a07ad38572a175a4a54e05220eaf8083cf048c165e31e32db480df69833d800bcf00ced6ab0302047c435bb50068306602310095bc62f394ae2cd847d26f79e8b2887e47ed7a1dc6f5651c795b52896241520609a7d659db317c2b4e01f0fc2346df71023100fea4c57d6c6fde67c124a9ea0989013c4240214711a6a8f0b878b66e2c62937c2e6df37b400b37646224c9372ff70f8f0302047c435bb50067306502301d232cb7c12825973eb9078958fb7c147fd645cc18abc263eb67602836a6669b903df2d82947b490f9c781db01cc843f02310088219db16b16bcf5fd03aa296cc277b3c79c8be7124ee46682a1360236960eca0ce521be28e8209b0b8491130cc326a10302047c435bb500683066023100e99a26b04a3bea3a7092d8dbec54a63c956b5c9a401f254701c45c7c4427e28f443ed6a6d67069ada798c7218b665084023100f0fe1203e12e4c234f64be57ea61b8c55e672b29a186dbe58049a7f55a4de61e1ea7247f3892ddc7663514beb1e591420302047c435bb50067306502310085e99afcaaad18b3b6e4ff9dec92e1b47555fd8f9601b3cec96b8d019ccff4d4c93fe46508552a1fc5f1d02f5b91a3b90230083fdb22f5ce280406f3b174e086cddb5e7775cdce127674e724d1fae718d34dc9c2d481663dffe65ef422dd0046ca220302047c435bb5006730650231008f2987cc0aab52751c0a60e49c511c22d858ec675769b28f96d0a4d9c6be7323b87eb420f0c18b4259f4dc37f687ebeb02304e1202c0c912bce062d60969d21b629a061bcf88e0bb450f5dd5627847468f7dfff2d01ed26d89f657b10adfb25814680302047c435bb500673065023100e6297a4a6e5833de3c77ec723d4b7038104574952228f62d505fa73c7d3ad27b3f53036b2c6b87790189b253f8525ba302300b23418279a2fa8dcc9d57e3d3f997a631ab25c707b244d390f1bd4874e0831f97ea2b2f548c6fb3b0de34fe1e0db36c0302047c435bb5006830660231009181fba6b63f48e2584bad8b2936f56f004639c4101dbd01e7c44d5ff9446de8f78d5a7bb2b64a302069e819cb6ca289023100f94fab35c30689c65c45e91bf9f8f163b4d44442a49e3df8489e008a734faf184c08d7fcaec7201c76192c83981ecdb50302047c435bb50066306402303f3f48a8b62375217c2f4e08ecfea5ca3a1aa5e2d85de7a744044b02a716dd58324214cfdbe815d46fb33324d4872be602303c16fb7bab1ebc5fd000a8d809b29ae4babea44a96902adbc47c644d1ff9c5abb61ddba05b9a8e7e5d24ed709b3a7f8e0302047c435bb500673065023063e5a679ce196082a3f3c237f55936de4892e91c9eba9fd6d81e91a43b2ec6e04708469c0b66791b3ac7debee21b4aaa02310090948f996eb7ff1807fdd4389863467ad7cf1590cf178dd6dff7e14a4ac520581518574470b86bf7cda8c6d3cff240720302047c435bb50067306502301bf332d916c4a221ede5648efbafc5c51c4bdcfb49fd7e7ba6c7eb3a9b2cdfa4e976bccbaa8e602fde7ea34385c400ea023100a24ad59180faed0ce11aeef295255a9f9607c1abf8f1b1e05b8b1b13cff7216e07c39d1483a8ea30a760a35720829b4b0302047c435bb500673065023059dc3984643ae6f21fc29499f73e2ffe59a78c2033e515a01acd8479a70bf5415cb0cacdb9ca244678db6977a4ae5190023100b69aa3fbffb2b361869d8bbd246290d2b1d05ed5e77af33f60da2b0879ab3f699dd705d1229321c4dec0501aae99a1a00302047c435bb50066306402304d58ade114895f3136bc67881468b2644f2cf885ed8595730cba29970a236886f1ac0ead7d0f5b9fb37832c09a8d670802303d6b0381a900684d3bf9c6514ab5ff27ebd56ddb1cd3b0e7189be7de4b59380c8fb57ffed8e56d7627b1f311ad9e31d60302047c435bb50067306502304a5c90fbd50b475e2fc0b3b4beb3c878c59b48e5f642c3675d76405d2d76f0af728ad4b7ed9fd06a05a4e6e238cf1151023100d2a8d1f60cadcbd411be3bc3d255d3abe9a821b40662d66e5e452cc012b59c72a4e855da8041a3e75ff4d9ecf26920990302047c435bb50066306402301f598aa06f28f7fde4a80072fa980c4d9185d2ac15c20b79346dce60560af795b0248daa0a80dfc32bd2a073a438129f02300c3bf66367bd2d976c74ddbdc88c8d3807e4cd8f1dbc9ab293c5eb7d53b8005268e20872e0e9788f984d0fbcbea194b70302047c435bb50066306402307c3dbb249ba0ef24572804bef82d28d6de24d60603c9ad5d725796a4c993f00e511a7561789431a8836f10b8715c580402304cb1a4c7938041ce1cf1c0f458d518d4d3b3f1516f7002ec853eb12fdf84a7de3583affc6afccbdf8e7dd65d6af58cd50302047c435bb500673065023100c9bfb03bb39df035faf886f0e3beed843fb7711e22575f36db152acd833a4c20b9308844671f7704a25fcd28100b748102305f51594806b8fdcaed0b157ba5bd9a0c5b81d437ad3dc856bbd359c53e6f49bfefa315a101c4c456db6a44f785471def0302047c435bb50067306502303265231f46717887bb048e6997e10673c204a6ea3fbc480e96ccbe1fadb57d84c161d3981580e8b7a260c850ea101435023100afbf93cfb711c2bcbab0567745809b9351f878529f9e7b2b15d26527948df3dc45b68f0667f7b22ed0a1d058e07c15ca0302047c435bb500683066023100d9d4981822976babb2ab0b7a7b211b073077fee714ad505274d6de50fafc94e45d55ef557b1cf35673ad825c4b38e2f4023100885b7dc4d7d7d3fa20c4d5f339805941e12c25fabe548ae8f9d76722cf534e7741c4b021ce164cfe40df6cae538532df0302047c435bb50067306502302463f2e3fafe6577578a4950bb462bd3afb9f6b20164b4bfc48a3356d131cd6f6f99cfa4a986fb6a82bea295c45f8ce902310089682f0b0a85e04b9059b990f2a8c64cebcbdcd7e99e251e05f54c420d2326d697e169b9097efdc704ae062087e3895d0302047c435bb5006630640230675f6ed88f2079237a290909f76acb3e4a7db61d4c8f7a5951495dd0bab32fdf4929979e4670949ea69dc8c9f16d02ee0230687f1e07fb3c4b52300d1fb98771cd4860299fed6d55184f3ac24db930061189475b0f35d9fb254b26620caf93d05f950302047c435bb500683066023100bedb1013713954bb65a8ea54d3caefe62afd8f26e617e1fce9b93920c89caa3c44a26003eb593d811ad173f03ebf947c023100e061caeda78a50496010e076bb9dea08ce638bd0d716b79fdaa6e9ada1d543209cebfd3ee48d6b3a2dfcc1dbbcedd56e0302047c435bb500683066023100c6c8f75f6c5980822800856aaccb48bdea91a67008f554700c77e64aefbbed513dffac6726d7d3132c9f6f2c6ae71db00231008e1b04e270bb47dbf890f136e6324e71449ddbdf85065cc56e5e71a7347f281182dc9472f6d90418c15a50ab919329c60302047c435bb50066306402304a4ed3d85b16dd92d596b21f5eb663bf28416ea094ff08b4eb467813db4c137b20d50a926f4cd7df4a73bdb650fccb7c02306c798ac8d82064eb29fe17cf168e51d19de697206b5a5f73508de9a5acdd7c2a06e8a7e836519f6fe295d12c3ed69ae20302047c435bb500683066023100f4015e542df7f4227fed311c490863a31dbbe6bbbe0339e197cbc26146fcc54f5be9a900ec5f47edfcdd695f6f48124c0231009db2feb86e7a1202c5c5aa570df4bc20e589a7738b0da6dfb22918b79b5020290435b88a9fc9c0f7a13873e367624ee30302047c435bb500673065023100ab7a6d8b61d5ac21b1c2c72d6538dffd84f1fdbc5439234f1acee6a7cfff725b88ca92c57faa6472c5c547b54fef7ed202301f50ff965bbb50b48ef9abdb8f0fc7f7d1091eacde68dcabdc7c371b0f829f7ab7797c7a736ec15525d38a627d69da8f0302047c435bb500683066023100cc20bee8e8edc1eaa6bd1eaa5c485404df2a398232da7d3bd5e5cbe5240ebb5ffd2590a87b32748812624ad8c4067953023100b762c7f2cfcad557f1cc1ca4f8a8623eaf0a66e5dec2ff3a9374825efe285b3b560506b8babb2d6542ff837810324aba0302047c435bb500673065023100b6edba82dc8acb924ebc7447f4c8c7fe448206934b6f97ea6554989f211b6ef262de890e345fd270f8947eda01944aa4023062934f87c9ff16e0cf30991a80c46e1a0532852eaafb012efb4ed28338e68b3d1be503841d1649b4834f1b3a2233bec40302047c435bb5006730650231008ef01fec1e1f527be4122f6082a6e3dce6ccd48ffac33138fe486d8ab4cb8920f34d06cb6dc8ca724ca566977c5528210230626683e0af8c22c1654ea88cd40146aec553e36b330944015dbfad4c2f7d7db011df0c05cef75333ca01aefee794d9cb0302047c435bb500673065023100aa2d83305b571ce69211e1a1b9dde7cc538a2744bd678c5f3f150d47f303666460a8983af4f257cbb2911d5e483bc1750230481b9ea0e764084e1cbd34b1bb8182c65d24ed4ffc1f26e50761a5bc663c0017adf7d8fe4fa03fc1efcf9782bcdde8f50302047c435bb500663064023019eabab6e57a3cba6b2abba5ab4ae6266b359c79858581d49c143de16a60ef4e52e4c8b415328375b31d9284b5f01338023071778821cd6d5ab759000f89efeea2b154ba75bb5e10f696f41a2d875e17cb003d381c28bba31ba37d6a74dc36a5b2970302047c435bb50067306502303249438de499592805659c23aa3b6b9dc82ab3cd70306861861764354195ea7e0d3aa487a3ab011dbe177698e8e63c02023100a8258807213974dc5e92fc67fefa8c078c212fdcaa466d04c0a47a7fc4a894eef5d0ccb11b32f86dd4745be64ab572bf0302047c435bb5006730650231008bf82b198e8346c6b902dcebaa907a5833823dbb4018e86fe8cf1febc8977c339d6a949c096680d3c6850abd3f7dd5cb0230357b9fea1fb8c3503f2e1ac3b32a7ef9b70377493a6577c77853263de2cac171ad1994096ced92dca1b70e505e98a1730302047c435bb50067306502305e499f23e62779cb4148d25e2b30d2da9915452134ef12f19a0f82e0b4e73ddb5e077d5ae83f0b5ca0835b748f62f1900231009c5ad1c7de0f206aa655cb7c56c8b7882a2a4d20f5fbf59ee6dc41968bbb853cd1a193ddc89904d5e2616280543cfedd0302047c435bb500673065023100dbf246d29c2c37133364f5db1ae8f99a5ec6c8b61651239ae6c23945c19137f7d248c1d1f5df5d4d58f22f76037b8eae0230520caee33267253c1dc7fb248789b1e6dfaa6932f3b0c5d2f145f491a75ac164b1ac0e8a1f20ab16fefa31ec99aed7f60302047c435bb500683066023100ae196f38b3c60cd062da6c8013808d7e97ed0dbb11b52a8997f72601819a0eb1f5004e6bd45e01787c347913379b3e79023100b17e9e8ff18ba9e770cd5a6ecfd56eb76f1115d5dde4ff5b4517e25c8c6ba0e6de11d373b3944705d94a61569002bee60302047c435bb500673065023026a9417f2a55a4e97245af38b1be2e2f6250e2a2a1569d20fa422d23046fcad3b67d4decd7d3fd4f1f31523174a9786d023100fdb419986741f27819769d1893439bbe9f0c8cf7510d7c09a14e374df8b339e92183b9325189f03921fb73fae325f9420302047c435bb5006830660231008d2680e7b89eb94d199a9140ef9e3b8821874e4fb15f65f10cbf7e413e14e123c6103e64b911e6119845ad27cb4c4e7d023100e55b8df1426151aa04bea8d4de8a717018f4b2d97d8e420150d18edd94333d079a8ed3350cd173790d650bf6d13ddc450302047c435bb500673065023047870877ecdebcb3275d5fd036e7faa59fd1a5fe92905d06e0a11f16045107e3acf9bdd292cf8c0813f1f9fbfba23b83023100ba6dc81c6417fe5780c7fba3875ba74ff3154bccc85360d1bf5c76cd58f026353b6df5293054a3c3ad07155ea5fb95ec0302047c435bb500683066023100fe55fdd78122f02dcd28305b2d5623c5ce2b8a9730784741adb9e1e62a333b1ba0690ad749217b67aaa0b7d07d898c1b02310081cf9de95b64364cf72b82af236b2ce4075b2269fdc4335e25babe050c555f74273a38061018c22d85f6e29f46f364c80302047c435bb500673065023006be73e5847af50a6b02c9fe98752dfd61001818c8473adb87b4acb8f92d00709de8da5083acc239897f1d42254b3ca2023100fae62b9db564ab9378cc836207ba1685f1814e0e17ed1656c36fb7fbcd7f92ec731f0052d359833c6472c4b32cb03d6f0302047c435bb500673065023100b71b317cb958479c4a490fd02a28d0b6c50fe96c41d310478677c45aa6e4da1576d9609ad199820b84d050a7970b25a502301db46bb969ea6e98d345b067b73cc5e73a3f6f4951c70f4067458d4d5cd4b388fd9446e40b13b63f7277b6f0adcde3cf0302047c435bb5006730650231009418ea402d3b1daef9897fe9e453f8bb9af4398cb4b76351e201da6815a128c4d86fd2ea7d18f5e7fce44696d028060102302baace151916ddd0ce0008bf79ad61d9e4406cf7c3a94f9f547a42db8f4f0458f72df1ace39c468a1126d93b9dfff37b0302047c435bb500683066023100e11fcc54455badc78f3fc53789b298f9d30f5532bda282137545fcb5b7604952a988f364a298bcb084d4d10438c72246023100f4856a6134d984136535f647e0c8010e02b039297a0f4a517389ca3dee116e869a14e1532bad2652638b2fb41b812c030302047c435bb500663064023078d68147d3ea8cd62f0a664779de8ce0f3d845dcb4778f90a0ebfbe40abf37f80bc97988b52051e6f8bea0496b18848b02304d215c178459c882b5313422430dbc1e8748f352c1c05223211d8d704b8fa2f1c5e23b610dd70e5829f4e31a35a84bf80302047c435bb500683066023100ae1788adc32e1ee66dca9997f0c584b931dfa6922af004129837abe2c55e59973f87177734bc01b95d7c6739b4d1681e0231009d3d9ba376bc7c4af7a6e1013ebece43654f8c7889e573ba6e9873b9e41e7ca5209030923ec0637d4948cb87a127ff160302047c435bb5006630640230378ef96ac0130761428e7ced675dbde908c958fd6236ea7ab16385c75b03ad4dbaab036bae963a32dcbb5dabfa68a3550230008dd6dc282f80d0e5b90197ef4cdf5d8d3982ee25ee89848b3d915e0b98a99f69be5f97a784fa19cb5310973a46b2b10302047c435bb5006730650230080df8dd841d997acab501ba47c5d008897c0ada02dd6fb547c76488d434e7d98d89304f3d9d7a015241e6508328af5a023100935ba72523ca02eea4f94a9098ba333e2ed54a618edce39b60fafa444dec2417fe10c2df4cf0a332af8ae5c527fb9c080302047c435bb500673065023100af1c3091593338dee871af0bb709834e8f9853acac66224a4d3eb8269ef3674e8835612d99c5601518a5932c1f0aa922023043a5f03b2b9dcb310c6fd1596f681924b62ddc20348d1b36dfbaa7a58a4ee9eb08825b0b19652cf0ef0fb69eaeb43bdb0302047c435bb500683066023100cb2b036b8f6c0a7a04476eeac0be6f7752c6ff445f1c5493afa677ebdbbf3f93c1ac8e78bbd38b7f3b4734afa3200cf5023100c1e5cc9f3e99610e81996fae6c2c5196f97f9f56992f857b61b881ae5ae241d14b50e4c9ef97785d855c1fb6a61c3e770302047c435bb5006730650230677bc5c8ffdfd39579f88eebd3e96fa4eae680c727406766029bf77b8d6fe650b1f6ccec91023cacace603a3026a14fc023100cb068f462c8d36f0aded208667a4dbd2aa144afc593676adb5295947011b21856c31f29eb9628b35f52604f743e29f170302047c435bb500673065023100fed73d2333170b5cc5e003168e36ee1160ba96d243f37ec36a61476d8ca3247aa27391978c78a9e07048ecb73deb28520230207bbaaafcf936221c9ec55d20b94a56173cd0d8a55c1dbd28f20225c7713d98ddfb25ee5006605358b9143beb6142eb0302047c435bb500673065023100d4f12719621f17545da4b50c96288a71639e39810068d1652cccde9999d79ea4a6400abb1bc411e750b14a7fa4fe1bb302304c1fb8378c4d872cda7582241c62fcdfd5196b1a48b65c1f725740d72eb0c87bd7e325b465657fc10123ae83f5bfbc980302047c435bb500663064023038ce06a1d70ba00286af7aee124b1348c843a0e7afd83904664f6d03846324f569274db4f56ef1bb85dfe2c3ff26238702307842bacbf72a4f451e0932e45628a80bf4868ee2ce40c38ef8a722aee72a69947e95b58aeb6166cb5ccc76cec97f77960302047c435bb5006730650230180ec7be238fa5b6e25b1eafd00c69aac64125b130796d2d4048f20276e75088c16190f20931ebf3b68dcc0d607fe697023100b16783bdf75b9ea7fedf0ac5f98d04b1c09b112524ff9bf1cba0c79f30e2d33e6ea98eee79ff35a3e7f1efb39ebc609b0302047c435bb50067306502310086cfe8f7283fa8104566cf9e5cff5fd1470fbd87dc7c2706c8e31ff05ae87b938fa242e969bdda0cce0e45abdf08f39502301333d454e45d956ad5f63337554d5a489e2983aabd2e477111be7cbc62430b2bdad6f079968a9cff29f41ec43ea7aaf80302047c435bb500663064023026a375dc2d279a0577521a373f791dc9db842786f988d371308bc3a6fdba3dcaf2be277521274d1b84e138603b84d9e902301ee73adc37d20b69cfeacbaff33c9b4d97da787009e2f63bff5fa71d22b6bb50b5c50a8a8c39a77de1709a0c632a96be0302047c435bb500673065023100f8c82cf5568a6e0dfa51ecb1dc215a43eb0bc8b7b164f3c0ced22b6b17a932896ff6cb894d00ee915d19373aac33ca25023077cceafecf0123f68cc4f97f14f0215f6172ff6b5c923366b6ba5e21b17684497a1df495b0a8ae14d6ab42221032a8a30302047c435bb50067306502302e6f16280ed57d8ecac855b14cb99b3a89be7594ea243014bb00f3cd1bde5e85b411db247a22ae8341a24747e0ddb2220231009d67a34cfb2afd9d2bf35f684c6bddc1dd5fcb09ba70fa589f2607d3c2d5cefebbc6ca4edcc654e70d0ee6380b9c71900302047c435bb50066306402302543cc79f4a7dd8f89a63edd8fdbc08aaa263840af3c69b27fe9c35fd3aba240fd0b765567a709541865df890681bea8023020c9aaaaff339bb4443ee0d93ad8040a1aa576e3d0b5845be3a9b76ff492bcf1d77190e8682d1de27359c8b1203b96560302047c435bb50067306502306db092db4649ce1766d3e3aec26ce493919e9d39a5a7e24f0afc3916b17c639bce588dea316ddbe964522cd9df0d1416023100ee59ad59dcc5328e2d9244f7521d0a10b6e8165ce5f41b75671f9f03c9f731c242b5462baada3cc91e228eb2cf3a33610302047c435bb50067306502306bb9e8da5eb32838480ab06c5a1f0094e7859125dd0fd54a2789aeb06216d339ec218ae4f53956be6ef0cbb9132af00d0231008556f6458915b9f19a5b4ceac5176867dc2c02294754fcb28114f93fc234e062da672c86fd29967d250f4583e6ac87d70302047c435bb5006630640230015477d9911c00d2eb3c3ddc49699aa1c56ffa6f1433df1dd1f66bf28b88053aeabc818a2799277fc7708556f47ebb8b02300cbd44dd8ea6ef566b464b73e5454530a095e863413e9ae1111f4affcf860c5bb75fee6e91ad9a427106ad0d7ffeb4040302047c435bb500673065023100ab9e4ce8b070b678a360afacc81970c9638ba36ea982d06c0a58f60d203b0fd1495be22fe8fd1a8eb3ed29d714a7e7d90230366ef87ee57012f2cd66f8a3d125d091967a36714136795c9209e5a6795121ce815edc2f9aa9262ba8a35a1c1d343aa10302047c435bb50067306502302897652f1d90cdb0695117190821be0b2c40a194be91ea30aa122513361a66a25a46979bd68ac55464fbadd8c0fe591f023100a6b708688419ac37dd486037b119af1c843835c94511471c8c87a1cc98f7e9892ea59aa731ad1df1ed7b14a62eec769e0302047c435bb500673065023005abaee77c3edac38551364bfee5e70ccf13da3b48ba64a649657dc20a074b1cdcc1907e809864fdff1ccafaa140ef04023100cf61234fca37eb6219fda6835a65544102bd926a9bddc767c54b2c522f0a7d53a3bfc56f3b5ae9968db6c4df6eea23160302047c435bb50067306502304ad37671de78bfcba2c61a289fee8a97ff54481062fae054e5b51728b82748d2563e915b1e2bd241afce5f24a40694f4023100e9d5862faa121b98480595fbcb626023d6f12905eab0c85e469b947c448f837ef5a285958d2e2a0938ef14ccca8e590f0302047c435bb500683066023100b535af8e35830f8e94b1bbe7549af875255e86fc135b0051b3b31d85f7e0b68c15d59d0f499a22e7f6cf7465c0c92926023100d24407c7e81163b4341cd3350a7f50fa8dbf3384eaca515042d84a9f58a2b032b34a7ce13ece74776175145dec97878c0302047c435bb500683066023100bdc91cf874a562c69a085aeceb02bd68550e4a83538e78aefa1c6f070afeff45357c6d160dde73ae757fbbcc471cc87c023100b719b9e7d041f614ee6d285df9f50b4133cd54d2e1c148cf1c1b5126e4a23c8ee8d38011162ffd5d82ca1a6b8ee080a70302047c435bb500683066023100b737dbef3f695e021d07077bc3703d76492e927683c3c74dfe7d114449f24d27b4a43c1547473aea268d7bd0222d4337023100c7ab6e9fe34f1651789c9c223586cc2d17b4c83277efb83352a08f9c3d3e433043b9654694d90724097822b25f97164e0302047c435bb50066306402306720988dabf00d6974454ac6309771a5f62dd314a2237aa2023f0872fe30e9c5f16b0b3bede78faef0764f5c253fc82d02306ad9aa0f936602197198f3316b770cd0a93831e9a13a3549886485053a02face7394371025df80c6b1bcf163b66f35c20302047c435bb500683066023100be8c51bab3a8e7ea876ae8060fd414623cb9ce06e066b8a256ad46cad0d0a31d5f51bbeb422aa6b1241e2264f6b43176023100aa4206a35404c197b288bdd5742d29ec53ebb5499efd76f512b622fed2426f2c78f3106338bb544a0168ba2234b0e6320302047c435bb500673065023100ef5b6aabdd3306660267e59834faed4c68002eec69fd8622c87a45233952bb648713ccaf7c6dd7b4533de1ac51c11f0c02300a2c16dc7a6cf6be624b944eee28062ad7df0bb301dca262d924e8fee884e7f1794aec70dbfa0e026f1b94e73d29374a0302047c435bb500673065023056a221573529f3951dd20f35db79ef8b32ac1e44c4ad52c85136e656e3db154d842deb07e0bb957f60b90c46c756a17602310083d85c32df24cad2c72cc6a1ed43d84148bb345d9ae952b10e56a87b981a0fa3d166285975dc0280f24c5627b1f95e860302047c435bb50066306402305b00c9a7fa032d8c7e9563c33346e5c3979ae93c7c9fee70f0ad71a7af178c380f8dfa8c14b54b28b12883d9880915c302307ea03b78a2c69768413e3604aac61630e260e8ce52f90867588a387f3708ae7a7c93e07f7fc89e98f824495726e1d4ee0302047c435bb500673065023100942bc5214da1bd6b1879621e58b56867985668d192d99b732b05fa163fbe4b11dbb9e52b6552fea0d8c226f18b3075b9023001715eff4050dd201bbc0393e8fcbe5c089ff3471f8324bd64e901f23a4d18d02becdfa1d956515d22e8e8737143bbea0302047c435bb5006830660231009e4fa2cafd913bb5cc5c1b9e19310b0b3a0321c002163af698b35797ac393902ae229f2d7c024fe7c316bf5f4ca837d10231009b2cfbd341a12420d36b9231b95f559690ec065ed44af38fc77389b19a60c9599c1696e9dc968f2c23ae5b2c3efe3a210302047c435bb500673065023100d47cc246776b2041372270eb9b1a4307026cc3b62d2803edc5a6fc4a6563c33bd03d56899725721eee615f7c9162c60d02300a2a377ad03760cd8105bcf84b6a0a86d4e903a7d48f2b0a5e2fc2ec3bce3a010c78d10c08dedf98ced0dce8597639f50302047c435bb500683066023100b747305c2afb02ca151d2f06d95db6be71c2b1bddfa7c22d92cf960db98e2d5c64f168ef019d587df74dbb91c9fbd901023100bbef6e6ba57fb25a8f76aa38e419db67eac33127ceccdff7303799face98731f7ee720a09204fb4360da2ca3e6dbf8810302047c435bb500673065023100fcd7853055d2f720484159314660f4c003c77d94307d81ac36b54783f4896593a292989e604b59541a360607185b61a902303316431ba6a2aa30f816c363655834239e13b0c428f0acbcae373ffcec544705968b0c9f324e0f9c7e2a7215a2136c0b0302047c435bb50067306502302d0bf6f7f34c5cd253807d876ef8a40479e1b3edf9b45c54347c27d3b32ec41b61a11636bffb30f241dd5388c8ef0c2c023100b36581369b0d3a2f1bca4cb1d60ab1f23b2f1e7504a621105f43d477fc6689210b50895673bf6882ec545e380d1b43a60302047c435bb50067306502304bbf2793434a3344ac561b73629676534a82a9486fde069cfbc602361cb5a90c11de1e5796e7ef79b106497524973869023100824fbc0bf4da8017994e67d1874ff63fb0ee13b133ba05928cba9602bd357cc30e2c3b0c502bda85000593b38fe9b1be0302047c435bb500673065023100cb2b757d79b717d037879b4ded2407af8bc113fad2d0305f68f88ab7ab94a2cb51d4959e14f6dad132a7932d3bcc7581023009ef0cb8870148a701ca605d3651fe9e8f51aecd460e645424d525f7f44d1b1e20d078df0c06828c510beb0a6488c89c0302047c435bb5006630640230276017483e91b58d45929ad793bd89dbf6e88844f7730b3002f978918491ac58efc117346646f18010eec0fb65ef1f770230652e5c5f1f26d73ba1f1652135c67421051b1075ca210b288f184ccf630dbbc5b96d98223e8d75a797f8c280e46a62b50302047c435bb500683066023100b1475b26b8857fe89fa25deda6385b3b7d4b198b0d0eb7b5fd7834d5ed8c3b69420d55557c45be283876509461c8f127023100c555d32607b9713b3e5b3a303ed3167387a83c0d232a61b14ac6c4bf7e918fe0945fd4f72eb519a56c6626f657e831b30302047c435bb5006730650231009e5a2f03ea4109f8b619f17acfa80f3ac46e6d751932febcd8b7832bd968190782135b2e9f5c8734dc92c98b83d90b69023023d7441849afd48a56d58bfc0b34ae1b752235e212ad24aa3c2ece4e0f427bf5e873e44ab14ab66ac0463d9cc555acd10302047c435bb500683066023100f08552c2ee70fe3e32fa5dcbecff2163b2379afbca709ec015064e04dd8b7a2460792892ac167fcbc89a674bc8eecaba02310094022206d416c268292c0f3f1981a5d38768bbccaefe744094b4c3d9e0dd49a6c3fdd8d43140c5678e0447045f65b3340302047c435bb500673065023042b1e1612385758df9503183f7548d5442b24f05498ea6a5736103efaa83fa10a4a2fd1e17f044c2ceac11163882c33002310094e22a32b39c530b534953fb24faa51c29d221b1632ea31fc7497b2a0f9df86bb40c17807f58cfeb1f2deee1e49a4c710302047c435bb50066306402305f69553968dfad7dbc59ad405b18ab62a3c5cc02bf252de63ae5543ff34a9589663a80a2aa5c431829d57d5646bad71502304131c42971206ddbc754d431d14712866124c0bec19ae61bc4baa4356ec58d01faf705edda811e13eac152c044cb421c0302047c435bb50067306502304202a8d0b364fac94ebd318ad2519c960ca6d564a4e67e0d7f624d41cd623927a35883669d2fa263a3de1c7805cc728d023100855793383ab80eff71f63a507a61f1dc742bf31a1d55e8042fd65d71c16a6188ee3b33d2a3d3b3b6edb56bc1a6b4203e0302047c435bb50067306502300d322512629636093192b28a910580ffe10ae8061acfa4d88f402d4bfa225721aeb99529299366e81e291b79c5bb373d023100af26930b906dcb416d1db00b6864e25d585954e9b0b59710113fff352ab816e726db31619d3463cda0be120df519c3ec0302047c435bb500683066023100d59f4aa1ac4ae7ead1c9d974157bc57bfa519d07237d6dbc5c16361f9d25ebf45ddeb9fdb055debf1c47311b1feb2709023100a15589034523c61d0b11e922cbaf87b289087d002114181a8a5f82225a9ffef0bc317520689094f55407d4503ca2b4880302047c435bb5006630640230212a88192f4383303bd877942013a760ef3a0f1254e374fe17d73f531977a450c62722c388a9985a8c246bac180814f0023020397548a42a7e71ef73bafd5428688f22d795abea94078ff5e40726784d3194e5c4251d98412f61035ba11d10020d840302047c435bb5006730650230551fafd96bc555a00efc4c7d833ca686541016ccfb17918b1e432fff5d8cb72630d93b87eee159d1f5f9c13eae1f5264023100ef9ab5f25479d56a325758c37f45832e464ff11200027a00450cad720253d4f25dd3c0e74b8c25e609e67f42916c27d00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023056179897ecf98666b867b34ae80215842bb4eaa1e294fbbfcbfce4203c9756f52245db727c3104d60bd38b2980674e72023057c6d53d1e8c8210d3275f8d3087b630363884e2f65d170894e2e29264ec6db19b60f51f7b6d596b1afdf72134e7f9500302047c435bb50067306502302ea211e8f1a2bb8667f65b8e98b464d038f8d876b41d26c827408f24054fa18b9647909e66657f948609e3ace9412cc7023100d70fc19f0295214eaa6dca2d1fdff4f5e8248972196c13105765bba1bac6c68c85ddd53063ae0dc7704ad10a7dc37f9d0302047c435bb50067306502301c12d103fd776d22875709d6a828c86f8286d4f70a097ee4216c26fdd87c4c24616e9eb557c9f27e4368c3cf803ef8c102310095711dd44a85977a19565bbbcdce534ba390ab4e660c2a9476cbf4f59a5718b2d3772733a572f05d2dbc1491ae7009080302047c435bb5006830660231008b15b1ac398af2e2fcd32e82ca0b073401fe14c99cd1389f52d259ac5eed25c8e1a6b9f2df6f942dbdef1c3eb6c13973023100cc8deee1a8b90af9039fbb3366340483b026a78957c5c59eeef1b9d08a9fac4a99365e3c63aa82875c66013e02b3e4d60302047c435bb500683066023100b06d82a5e6ac39b8f8702cc8bb1c310c003258d6916a50818ed2aeb1b5faade032cb0dcbc9f135082d679da9973ebc6e023100b9bceb63af52a427b43d383950430fe97dcdddfb784546b38dd45863f731005ae94af7f90d640ba869cbc06fb662b18d0302047c435bb50067306502302cb0449e2a117baf25e2241e2c8dabe75be71cf2c431a764acbbb281ab60236815a35e31450feb1b8949a20c5b3bc06f0231009c1287fe5e5ea302ef4806c1b4e6303136f73a6fae2458491ed90bd7032016ab08ece842b63afbf722a7caa4a404397a0302047c435bb500673065023022431cc4821c1eb6c838b412b03b8d7fc802f77f83b07bba65379f5f1a5bbdd3268da1edd96c90ed8cbdfec31c75c34b023100ecb2c68d852504f35ca054064a222845a2afbfb606f9586e2bb871238eb183a147b38b892e1abb448aaffb7066cfe08f0302047c435bb500673065023100997b9723d2bc6f6c38a4ab7b7fa7146643781df8b4a66b48a83520660520d56dfca9297578e905142739764c54424d0502303f12e59e2e7a4648c0ad50776d1bce80c474b168a7cfadb038cc5186af8a61b5da5faad3240a2e6e4a12a897787b82de0302047c435bb500683066023100f90234a131ed0e5db57262ed163d24ee832eae406d191abff2811766eea48d1c18edd3a33b1486ec17ea71efff4b7a03023100d7f74a91c58618461dd81b31717661de15578fe6446ebae1c6c5eb42b3b86535c548e66491f25d95f3ff7d1d6b166c310302047c435bb500683066023100b43dd7904e1f76c69af4ed933bf8905119af69e428ef9c576e62dbc23731ab92dab9683e69b8059ee055c2bfb1223d1b023100cbce26f9f8439b1da5f735e1c27ef80a3f10c55ea8d847b964433dc457f367d3e14e10b98da1023844ca8698caad1e830302047c435bb500683066023100fa30c243ffb6dbae20c080a9b2fca20ca3c9abb6ba3f0688cd33585b6628095879b585827bab344c98f1e3c80185db79023100b9042949b63ff12d112eb93cf566af30a490e73c29ae506891c0815d1ba07109c9434a2bbe1fe9c968c6263eb6f968e40302047c435bb5006730650230107cdff73dd3077dd0508eea8f6620c705d4f66018e767248d12e5978de51a275dfc6c8131321662225611a29002a55b023100ccdac1582b7d924f5e609fc90666bd47f6a3ade537f1d01307c17992e2ef0112565cbac4bc69ff52bbe55cdc5f87de790302047c435bb5006730650230338036b3965b215ad445cd2d8905aa45b9880edd5cdeab231175a1551caf87228d9ae3168cb5b5f9b5bab683934c12af023100b7a822198db37793fdeeeaba2b509449854ab73365d0973545fcc5f307a83875acaa0de986b21c83d5e11d1e62d52dfe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008d8c19642d2ca88f4ea9ba4f569f8131c41a4cca945eea34ae2b5706983a18efa4d6eb0ef3b2d563403be31eb425dfad023100a1ac0d12b6cd8596046b7d5fd2fd995753f6648b6c61d277ea8b1d8bc469ec06453e2219d8f9f0cc9ce92eaff91aded70302047c435bb5006730650230512df58475a6e66df64a19d4760fc1ecf4dbbcd73efdeff181b1bb09da8ba5b2c611f909cf10b25c6f6b60eb1912f15f02310099775ebb98715402a590ccebc55dbc9c9e5d3d7291c3e10854c2d398918ce5edfc92fe87ae306eedbfb58f57013638f60302047c435bb50066306402306c555fca046d9cc24a55b3b31a6339ceddbffebcfa7f0bba48640c391a2de6f576907b7373fbf1d002902fc44ddc3a9002304a7d583e76c2c561d8f4355766ba54c51376fc931aed3f9ab6c97c7e66a588a6d76fafd45b86f306e320bef028f2f7010302047c435bb500673065023024699668a63b86d8a9cdb1297dd3b4adbee279525c4ad155e978084f91ed2c67a0140c9db15feb4187e102791d3e1b78023100f051fc4c58c990a21560c40189ddef3c1b82c0e96e63106d7845cb3ad37615501d65f56d09b9b71ffc54cb380b8942d40302047c435bb5006730650230595521e034f4e0c5f3d377a86cc8532d719e2cf927e6ae80a575c3596d39f6dadbb4f1faec36cd9ce6df02445b6d8a52023100aba00d5e60a58b309033399e2e2a18e8b6b52e4a19c84945685b0f7fcffd6074ddcb4396c8511955e155c5a70b9f4c150302047c435bb500673065023100be18feb01650355af3c7574e1fe2e7906b04797ffa906a8d0e4b73f9af50c9423120059387437a53a0715886980296b3023019635ab501d1714ec7ca182bf1236915f18316f08a1681f71c8bf21efc249e43a0960ff4bf40eece2d1f7707ddbaf3630302047c435bb5006830660231008986290e35241e551349bf97ab78186bbace1f8b79a3c6e09356531c91958dc72d982697db33ad4c669f213cb7540886023100e88c860d7d19a8e8defd6b79e2c94b781b2ed204d74a1ea6f0e55d25ad58ae59dd8f42ec6b329f74e4a3b43b3779952e0302047c435bb5006630640230076b76db279bf4f4fa4b66ccdc127100383e7ccfb2e9a80d1757dd4b1cf9008d0070c85e19a124b359663a24eb5a710c02304e89c389d08ebea5f5e9d97480e5608e6899ffd015a0e309097610ea88b4b9b436aa1ca0f2aa3938000a74eb8aa57d9f0302047c435bb500673065023100c47a3b12c1fe235a3fdb0b047458b214ebb0397241121984fa8b89d931885e4efdeca7463cc64692ee6f59da319e092b023054db592a74fbba10ad7decdae7f866823b5d78e3d497a473b7ef8cbc3f6d26fb4d21f72c09f0fdbce7095a8bc88a629e0302047c435bb50067306502310099d8a891e565fd3d7bc9e0ff0649bdeb2baf514507e361237c08808785d64787f3549cfb9fa46704ca1e0f40b95e0db70230733903548df6e34c6f4d3213e44d0801132b80344ceeddcd890dae036ab3f90a167008d7d6601c822139aa96ba9d38e70302047c435bb50066306402305ca819a7bd3c5a573d95596e074337fc16f396b33c3d14d62aa400e5bf0f37d61a1fbdb5f33bff56046d081a86b4a32202305a41e235269005bd5b02aa640eccf89872a9f11559c1b8c37720cd79426a144e3fa12b347e403b2c85f61ff2bc62e29c0302047c435bb5006630640230508200aaae4e369e5669a5cef092f82b780a4a7a7c8eac0047b8cda738b530523837eba49e190c4f6fa6d830541875730230214095a0eaac18c1210d109aa9058f44dc2e68245fa2c02cea07b4f65c48bde0dcd5778100b378870ebeea4081775aca0302047c435bb500673065023100f86d33f71bbe49cacc26f3bef9a8c73b7c85ae56cfddb85dc597e01d910b17dad18b98ceb3f101c4c1c30992992a4b19023062d9f977b136dad80d9293b0e1d41f91a65a2cac05e1aa31ae91458f59c3048908971dfbff2492d09dfd26b4d5b8f5fa0302047c435bb500663064023058466725d96da53786d80320f4e35b7b4e5f1b6b11053fbce6897b49cc5a0d28380c1891eb46b7f0c11b40a849e4cbfd02307ee9f8978edbc3e5e3c3dbda1693fff1e9fe4c0a135d5efdc0d75503018e44b6977cce3288eb706ef4e51f68e60bcb790302047c435bb50066306402307021a6e4f4bbafdb990c69544d5eafb6fe3e84729ca32ea0c0cfb153a7ec5a9c99ea8747cc19f361252039435887a6320230235d5806bd5f532b1d83344fa4f4b5e2d0f56e16f31b41945cf2d6338df335a7b9b7ad3d58fc96305ea4409a636a16860302047c435bb50066306402303d1e09d7e07dffe0c6e42462f29fe6f5aa2976285d67e05922a9d4f5140c654997068959a790fc2f6caa2361dc2dafc402300edf0dbc6251386d3ea349e325c15dd0dc5b293e47730667253d99f6e678d1b5a04c6d09e6f330134b20f609211750c10302047c435bb5006730650230136eaa6d3e5f3c0724f283c9a78ced619cc6e6ebcad35a95b53911efebb551ac9a05acbfc17b8fa2e4dc3d055d3a74cf023100e1d85a208d4a9c6c497e719a86269ec1c68d31ca90884c16c2e51576b2f82bf8284ba05c2217d5ab01455911cf21315c0302047c435bb500673065023052572921dc5b6d43a984ab68cc558e54394dc3d6775338ce15390561b33f34b5182c9c4da1af6b7cec4f2a2660f65da1023100e009de9706977b55e7a4f349915017dfc210c0b66454200cad61df81ce5f1ab72629b39c2cd18e63f6d93a3faf8f5b420302047c435bb500673065023100dbd06135e3b27820de5b371e589785e8f6ad654c9eb5351eabbcdd3cd872d11ea523dada610256845d6a100e1ec57c08023059ef87f3ad02536d918f463e936f98329e761a360dacaeb1d0a3789fbcd6fcd465392e5a67c7deb7f9508190270cdd310302047c435bb500673065023100d32011644f16a3a40e082e7ffe14543f4e9365039671bf80db816b7258f072bd17e9fab0fd46e9122a35a155ab07d94a023072f93157eb70ab059179f3f76e446235e212b53e8a52c05a6a738229ea0e9f0f4ae5ae5a37112915e71b2942098b535b0302047c435bb50068306602310093a4a78a7b7579b06e2e3d9a8cbb376899b29834f4625a1d204492a3b5a64166c01dbbbeb70e82e8716d1af7ebee3d26023100c05ed3b3dcaea681a6cabe128fca85504b1d1373a96f5ce811339bde2cc1642ec2e593366c3eefe4dbf17993a732daff0302047c435bb50066306402300310c87d11d5e84c0d816650218949ee16949250ed599db9e41cac63e77a1d76f85f9186bbc0e67fdd6e5fb658959d730230034480aabc7ef23987178c4f8bd0d8f43e0b27e1268ff48cf725f9f5eb82b20f4c07d696d8268377a6c74bf0afa0f04c0302047c435bb5006730650230483a7e03f4ecd25a99bab1adc7adc597cd0ecd60aba103fe2f0ce90528a89f039e3aa179137ca373cb6e71523e3d03c1023100c9cbaed1321147548cf17163cb097854c0c8d3dd66cee970dac3669b07a886158c13424a6aa8ffc6c5ba6b507936dd720302047c435bb500673065023100f571c35eabd2b9deb37ab77e608e2f7bdaf8bc29bbc307faec0f3d661a5a1aebd6bf7cf0e9086c8f7efbc3a6b6f35cf102306c0c1f2d0e2e3c05beca7c4b8a1920a6a49c68860f0a8efed00f52dd2805b9140f4ae8f654209ba6e0d79cfbcf7445260302047c435bb50066306402304bdc4d534917acdf45f5558677ad8222b8088c1ac9055d3e806f45d8f5bad90eba644a1c3d2df50cfc47fb88121d089c023019ce7c97ed6ed4c25b0b32b23cf375a69dec7f2b41416e9803c0c1dda944e54be85f71bc5745994471484645acfc8d760302047c435bb50067306502306e136eaa4078e7040c8503fb920b68d1231671b36a80f13355c06bacadc64c64fbad6f706913624a0ed38ca2b40fa613023100a17009b005ec8cc9845ef4dad55e2abebd03394f108296b72965af06ebb15b55b2d187c936a43f007084d335e02ede3a0302047c435bb500673065023017bfd4b393ce6d8e488fe76789f01b1f37dba29feb85ff081b1b089e2efd219895bf48479af37ff107da72e83a8c143b02310098d8ec9699bc6c7497634977e5e46bbdd783ec0d8bdcfa81d2e42f85e0ac3853add77809adbf5103a528012775385d380302047c435bb50066306402300c5454e056c18ee22e90fa451915ec8df539f0f66de00f507adfd1477ec9da1b712af4df40c87d1bd294d73d9ac6417d02307e35cdf9e3f786c0947d92158794818bb197d1bc9ec8c6dc2d0e7d8a3758f8a2fea07cf0b5613dd637a8b4e923de904f0302047c435bb5006630640230755c20218188d6f09916b7cd890c9c75bc535a938922daebc639b976e67c6a147a7630251bc59518057862f2ee234865023012897765a10e7561b95a11f7d9297655706caa95071519bf3d5f33a5fe546020cbb43d934377c49df6ed3771b9586b640302047c435bb50067306502304342e9cd8e2cf9cec926affd140f5545bd0552f23ca62a50ee980f27f4b5d27df06484aa265ab5be8eca1dacd70d479a023100a23a12f2e3e0f2d76fee08464df53aadf818e92946776555fc675f39d80cd59af6704133983613280b6d53b2dc53e5850302047c435bb500673065023100d756a77d9257aaa1cbcf3c448a272137fc687baa116dab1d472e31de5d36e157fb253efd4aaec5f2dc671f96df9d205202306c786933e663a5d85825a7265ec789e975914659e4bc98e3ee7660383aab248b7350ebdfab56f234019771a66448a23d0302047c435bb500683066023100f07eed7f09ba7116133d8be751dc3453e069ef7bf54945bbe7a5bc52d791520e50e9ab6c46f1478d088e56563dc0454702310089d33cceb2a95dc95b0a657acf48bb9e2061f671d8cf4e3c031435b3a8dc3442121aee6ad4eb7fc2ca142c4b1c5012d40302047c435bb50067306502301f1dc71e92eddda96ae238b629c61fe6185c9a7dbe34ddd38212c68172e30b35dcc5e5a9393447a2310e60b61dcaa149023100e0dc7315ba4dc10d40cc8c62562d314156dbb766117200ecb03dec59b972e228856a65e3c332f39456f25d76746718c00302047c435bb500673065023100f02bb3d21739e218e80bd524e2d8256261b18bca8aaa25f9e5e2913057ca097d44beec5920f9c9a67f7aaf237d014bc5023021826dd53c9d5d3e8064e5201ef03d3611883675f16b9e1d7e38e1619de83b5bdcdd5bf2bd693c5415250eb17362504c0302047c435bb50067306502307afa8c6131a8c53d954b2ef394a0f172c8252a329d75fadd16ec3e907c23ba11876b0fa6b76b7ac90870356612816e0a02310096556cf71a853b685f2bb28928d6b9fb21ed10714ae90d61636ef35c7fc8f747d801f606aca14f18db0d60212e8681850302047c435bb500673065023042767966c147815886a9b0fb83e6aaa92b04b53b3020a542f208fab327301f0dec682fc7bfa9d7a9d222b52a8bf0e3670231008d0d8ea3630ca8dc015508735d290425ac5183182a751260369858cd6cba26e70076d4e29fd4641631a75e02e29501f10302047c435bb50067306502310097fd527464b3825df3cebe623ec7d487e5456da6b09be9b93613854b62a1f40ab71463734863c380a8bb33b6b4c77957023044da99823cca88084c9f783e594fed14e660a48fc587106fd559a936b1f33e074f6fcb1e400b7b2f162f862feb6fccc20302047c435bb500673065023078af1903b89ca78ee3c132a68670ca62ce219ecf45aeea77fc6e90b2371c20cc4df3f52080c8934a5411d22ba2fe85d102310086401d8cbf1e43a753fc36f88e41e02eadaa5e6f8e053ae53a029718d940adf86042f033392e5829060f990c7cbda1df0302047c435bb500673065023100e1e98f177c261a09c6c7c7192f9d1a0a7531fb2df617cce8c4bb26da245a706ab96e42b9e3baae158350f33b6236e297023052c0a7c94aa6008b7ae1e124eeee303e5b13f4b86a5f08a59d487980a01398580a07c89b074b1b2e825b777e46f072320302047c435bb500673065023100b298b22af12fa9ef76ec77888400bf567e26d6a5fe06378b4fed4a71a9248d6620c684f6831404ca5d584a9073be433d02300e5cb87183b1987c2a8cb53e3be4643e3751222687a3b04d7f8142afa455900b0f2b0927bd6519544f9e279c384cedb60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100961dfc76f6170f1e2303a3b5ec3e1053d55cb65ea66753d6b2933d97ead3e78aacb972fa79aaf264f0d8485a79c41fc4023005650b6c85dcbde4d66d327807ccfe962a5d82a950078a1ab5937fb705571bc36fb10b0d246d9444b898f1da295339740302047c435bb50066306402302a54b4e43c1cba4f0c34ffdc3fd92331df0b7419e70738384f542d6a86c2987b722cb9a947a34a07d079e32fd50364450230446357077a62ad89b863249e03a7f7b801fe9de6bb2cff09f659b32b5f5da849527b8cee01b560c6c1d2bb235881e8f60302047c435bb50066306402302a57b68849aeb0837e43d7844b7a69918bf9e8baa73b2f914196407fca29adfc509a04341047915f814614f18bbb31c102306c44c8f9a3f8223e0127713a7137599982ebde094c4053e703f796c63832e6d95f95219fd831a01f1aea6743d071ca220302047c435bb50066306402305d80e80b4bcec99d1ab07d48a53dfa8b05838fe37aa87cf3334e9d4ef78f65ce10871fd0372f80e41dbccc543f5fe6e302305c5c0ee4c35f18c91da355c9bde3d8947c7ab075514f68c7d2e3f7a456703e107018e4595b1e74ec2040c097504c96380302047c435bb5006730650230700935b1eb24bc37fe064d0db48d5bfcd17d9533e1bbeb0eba64ee913318c273729099baa54119e8062d759380952c7f0231009758eda921cb4c9a7261ce04430e91a00a029d7071bb719750e089c24edf6f27a66d884ba475c14123e544e7731afc6a0302047c435bb500683066023100a6f75d01d220739c19040368fd54647bf0ab014d6216626d23872b647c7e4e7d6fb890817abeb7cb2c005e0a4d40ed61023100b81c806a81e8be8278e1591b38e04f6a7fc5e1a65ed1cf527e7d44fab32651ecbddc9d900094e7b746122a561d3b88790302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301d6516b17ae9251ae88003179148f51a7eb28a56f39600983abfdd7d040bf113cdeef031b306d67e93df5e6756aab5a802301ad13e28543e6f49a5bbe5991115010cc73b522faf683af00150f1300e4048d8e8a4167c4f4d4872049a714b9aaa5daa0302047c435bb50067306502305ed4c2b1e39f988249531cf6106e2f6bb610c4fadd5b743d4b8d23ff6e6bc90e4fada3f86bdb4522b95819cd1f8d101002310086af4b883909e1dbaf868cb73a2b1f8d4807f7e8cbd122a5b747d1d8b254ca8af4f25bb288593627b479418b5b7c75620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306020afddb238918da39cad53e8624cb1ffa90c48fe510ffc87c8531b682797063027ab44d2867b2fa8271754e9670018023078772d83ef2a72fb470bc7309ddba6bf97e1669a6fdf38ee4b141182a1f1db6d5e5a1dbb57208de2b8c20f4681465c880302047c435bb500673065023031e66fb7a2a33aa97e917514d49fc5c3ea2a55a5b82f16e4e546d056b6a4b08b68b82c16258b9f03764804a2c97a852b023100e0ed644015cb8bc9acb911a04524aee66fcd5c2c41534ceddb9dee995783c1188bba2a649e85986983386ddb64be70ee0302047c435bb50067306502306e479945233b42d2dcfceca136d83a52029004efdcfafe49884a1d12c4753fcc12b8c098e6e4679d77829c387e1cbb5f023100baaf6253b86f820601a7feec34d01bbd4cec2156552006f6de21ec6c3bc7d959c17def687c9b860c4e19b9ca3d12d9890302047c435bb50067306502305992cdc51fb1c4f47c19911b6c62143b4d28651871beddda98fbb8416a0697ebddbd0143f0d452be8fdb33c09eb9dc5e023100ddb81fd6405ffce7a87bf28ba12bfa70233f8d6a62db884d35e937be4042898ffd940a4a61f140b9484de6db3290a7260302047c435bb500683066023100a11352356d6f942981fa2b8a9606ff51da0da322bc31c250fc4c2f4a21f3babe460960d27c6598f33300519d51f5c5c2023100cdaf8712f253da005e9f1b3f9bb97024139031c58c71de4b2fceeb9b8803a5464b201b926b1ad8edb34f5f313a0fbfa70302047c435bb50066306402305bc2f68d54b1807921dc57b28c329c53d0facd147d8f4fae90a45b28d10b4ef703ba9280871520faa365c757c331d37802307505abc3e995f726f63a134af776d78d035b15feb13720bc5d2d4a799ec4bde2e19bfef2461bc6c939317f47450ca66b0302047c435bb5006730650231008656033f91899e7d96d6b4c86cead503256e119f2686cadc27ae8a354e19269f4d60d5c78a8f85187e0e3c7f6ead04470230712d5c8ad4354a803280f3038d8965e739821011e2926274a3f3cd4e1a795ce4f49e6922f7bdd61efb2b90be67a25cf40302047c435bb500663064023018102945e6fa58ee6f17e0e63db76b609d03f5c3a00df0bcb86088591ec3299c8c554d68b4ba118f5796672c8556f8d202307a4b0c8c7beaaab1f6fc0276f4f19e990fcd00170d2ad691f0041588830b5883d2774ace7e258558a8a4e2e32045c72d0302047c435bb500673065023100b06ca5309ecadf9b88703dd82411cf0836fef0a3ebd02607c86ede2dde5eec97518f8291dec9b301db3639c011d7072d02307707cdd768dd0dd40d19edc5879fbd0a861de64022a6ce63db0753ac36e720e37ac737b9f7e31c2c0d3146bd530208a20302047c435bb500673065023022fabb0ed47368f4211e930060ad7dbe972d522c6538e2b97fdc8f4b47de34dc7b98814589eaf72775b89a2c7caaa303023100993a0ec453e37eecb021373dc2083c973e5bbc1029b4edf251235ca8f7d1fec4c6cc8c038539d81d52f980a96f53402c0302047c435bb500683066023100b814a8c0460d6fbed5afa32f03c54df946f870332cb27cc9d8dfc5ac0f4ff498efb29995e33d99c284da7187c5b0df06023100ba805914182a307702dc97af30d5de6c32d99fc858c242681ca8f4970b178821392bbc5272a3ef2ab4c5b6ea7486156c0302047c435bb50066306402305aacc81e539235473ca54aecee7fe17e62a277a1ef3654193c7c8266759501b59a4fa3b03f74f6c594cf44f3725de13502304d029669861c8e6c5ea71622915fbb86f5dd20844c190f834fcfa32d2c73b642c360874ffc00976a64a8d7bb02fbf10e0302047c435bb500663064023067dffc542122bb045edb76f16efe0261bb77095a3c843502378eb96bde4ef1b57c9df6daa4c95c6f0875b37bdeb67e880230603ff2b3931979cecb14759244d5f9b1f3056136797f9b511ea5cb5271cf2f7305c4b460a6c21778ce680ca288d797c10302047c435bb5006730650230335e8734845b92349fe9d59ed989bf92b17eaee5127c2624a0eb6b3adbf372098005146fd85a0375f06e6ce9ac7286cb023100c5f13df03ac215ae43fd437d91e02c3ab60351f4589447c19d754f2c432eea12af6e0b9bfca4922a2f7b3cb8b59d222c0302047c435bb500673065023037d28260133a3a26c4684b139088aff79291305e5cd834a175cd3aeb5f058c60e156eced8f87f988e216de480f25ab9c023100da456b82214436cae49d2da5990d6797e7648c2a5e0e87c116c6b5e59ce4ca30002bb4190fb943a834f1e765b11e2db80302047c435bb500673065023100ad4cfe75df4def18c48daa622a280be1b77e0c4c916db3f2154bee8b91973db6e33564c2f5e1ff1af1ab3be6ec521e1102304f3d80c3402cd7c4c57b6c0b0495a0d5a8d4736e8195ad2560bb86fea9f5d28db0157501dc810c3ce0a3f45d4033ac760302047c435bb500673065023100d6ecb7d944d8e1d4075b5d9a0dfa81bdf67461b58f8bb957aaaad78f723e75246e57c4eb6cd3fccf1def3bda481ae46b02307abfcf508cf5c241f4a2d3818acaebd7936deba9e647f454bde6aeff333ade7c9d6f4f4d5ddd030760e25562d8f46d530302047c435bb5006730650231009e62c92e24bcd5e63d5688a97a8a0ea4beecc065e38200a22c1d955e1c993c7d4b6a76f5475d422380478599d3827e32023015457a8c3845ae89dbe76b77d1eda154b365b05c7c16f4f25e9bb863b1bd0582304c53fdafeec48beccf34b8fd6468210302047c435bb50066306402307a8ac83e27b69bb1880445b9f5f39a89a13417a1f356e81da8abbc3f5410663608b63135f88114a80db941695de5df3a02300e9a62942412d69dc7e2541c86f76871cd6ce4fa0b87090ba0700ee7a5e4eda0b9c66beabfb1f497c0eac9edd1071e8a0302047c435bb500663064023039cf763da147384f98b2d2f938facd3fa39ac444b6fa0acd54864d872f6ef9f97861ad9b7c3f13d25759f75cbb3c612202300de694bb6941960db6a7c3e8febaf4dd71514e997a3a2818a36ccb616ba2ae3d89255a7a553773bf17d6140d3841969d0302047c435bb500673065023100cef214c4c63d7b93d2c3f60c41ef45a079e03a7985809dd13c349a82c1c63acd159789892502ff5c09e492e8ab0c996102300809c3a21acfd0863082f68329f9758ab0b53575a5ea80d9df58c53c1be4434c0a869bd783bb48e6f73a88fd6092c3f70302047c435bb500673065023100e5c96132925f309264ef9404dac5f81b037f537888161dc3a64dec874523ea74ee49ddd2d94d97d06793afd99e20fb26023067390771a212509b8b43cdee9bc6351ec29bc17c260d01570253df4cde2280fb127d8843976585a72926b24e83a7244d0302047c435bb50066306402303fe3da3af58b8e50c2d852344feba47496f17cde528fcede699eaaef700ca71141ab96f92e6da9b5c65e2fcac9c94f7002301ae45eedeef740187e68e2fefba3fbf29a59a08b33e7918c20c4e7ced26de8c0f51cd662201dd0dbaa61376ffa0de22a0302047c435bb500683066023100f4c5ba97db479f8c70e8c94f4c51a302a4ecd8509dcb5234196cb142e7e40c6513cfa7186fffcd726c2027915bfc257f02310084a32e169ab9fa0fd9d32d08064740854a9c28289d63b42facc939e1fad716582d27fdb8ea93bf01a3832b6f29b40a950302047c435bb50067306502306189224a4fa9b99d3c406f984259b873db766d537154f96e3e33a54e02ea0cf57c58af1889e5f2c93e4c30c66f5ea8e50231008ce372cac0ab70a464636fa268a26aabe593de8c2e6c4fc44158c9ff63930d2602af1082870ed59085aba7847e7f93bb0302047c435bb5006730650230797a1a99788a136e500f02cf89f8c79ec737a6ed879e6aae686e82f9ad971b580e65ff5048bb7a34414b15463b3616d2023100f87349e1387b8f0f1563e5fff42486e1da15350f21ee86932f07cb10cdc395e0f11e91865600a2b66971e2f093dbb8610302047c435bb5006730650230139c0185e3eb855348e7b3c916a56de14e7bf080c9f14d4fa6513fbaee57136bbc5d7625269a4a90facf92dca7ec6a19023100fe3d81cbb520e2e31fd9a37eae725a99c536ad790dfeba9bd8d41556657704f56cf23805fddffb251028ec4ed522de400302047c435bb500673065023100cc99cccd816677f72270207414a3b2a29e15bcd31f5e8f49e83fc9e36875d6300f71f076370b9c3a8eb5bd0902f9e2d30230011d80ace4a32af9934d6a6dd8d65540d2e2365bb091a6728914feb65896d1b33105bebbec34847482705673c8060b9f0302047c435bb500673065023071bb6ef5bf6cacdb9a11a84a56115b0ff4a9e7351b794921b24793cee9c545ae84377ec1be8051a34968da89b369251c023100e8e289470f59aedcf566672a7541b4ea194f4196a9a9d2ba9d0e6520e5997d25794a2bd6251f9fee9110434d3a5863910302047c435bb500673065023100b9356661156691c6a65e1df5868f2f4cf17537fc324051183205f535c8efa339e79e2a51fb10e61b42e1917b75fb429d02302a9e64ef723e5cc35e94c373ca8c9413698bf0958b791d468ee225b68c23ea17e16d72851106fb2b801ba7f0324489820302047c435bb5006730650230444ac992ba159aff49debe4bc8014a4b40246258a045709eef93d45ae45e386e9f66c41173567618804d6ff35cc975ea023100cb250321fc7c0bbc04ea060aa870a89cbb61820ab34674238d5a9e3f8856b63a9af3ed9fe20234b73fe90ab962ff508a0302047c435bb5006730650231008772a748f8a23c67aa7a9f6d31998b35666116954c829e04a79cffa4b6db1beaba980f30dd44ac87b327342f1d641a9002305e9499b0f159245d0a99e8b0d92576b143b5f0271450ba10959d156588f329a9ce293ae3957370f46f7bed62ed5e5e230302047c435bb500673065023100c7d3202a44ede4746c5d2da8f8b3c0679eec2ca3213ac35c762669136235dbda1138f03673e27c499d0509f3e9d2930502306f9628cbaede5637f185bebe5c365e496e3674d2d3c8f0858b33247c583de33ebd1e9556ddf49e23ca4266df0e211f240302047c435bb500673065023100ebf8114d24f2bd9e114229b4b3b6512063308e976a66f93003aed48c63d5d76d2157a91b5ebbb85c4381c080a62bb01f023032604736bacca47e36fe198c130dcecb3c33d15dae940596aacbe65074a2c209592e28ed788f2e3c798c2ef14231eb080302047c435bb50067306502303db516216b59943989676b5279de226e5ed410dbca52176845e139a22b51d1c1e708b4798aace41c86fe521303b7a5960231008eb1dc96a0266edaf459813ab5d9affd4168d0f5bd5f20c0e40c67bc2a17b04c4f1cd1c30b5de340190d9da75f40fd3e0302047c435bb50066306402305188e471ede0e7439ab166046b365a355d80b2ab04bd6203ab4d9a6c63355a378802d235b0708f9359d54038350d55870230179fe511bc7079294f891d8749c4c7dd05e4894c0a9265aacdbbe41919832e217e01340d9242e124816d31ac09885d260302047c435bb500683066023100b5e2cebadb05e14855fe8430face4d3c4cd6ddf7188529ce227078b935a430d929937b827a85bf371b0ace7d0c21ab86023100bf3df719feb127543c7858273af095f89d52bb6bd66b0ae7a442f08488bae6d1d96fa1359b9c38d36134894d79640cf00302047c435bb500663064023017cda1d2e00eb68791ff0fb64d0ef3b2a89376c7a23f51fd8729aa98416823de14b4fac4913b5bdbe7ca2eabc8d6072c02301b7d8e405e9e5159d48be5cd1c0f28fb481c94bc6b22a3f6a5f995a43fab5fd84bd438f432b968550e4a4ca2045de5380302047c435bb500683066023100cf6feb62274e8729260550098129583ffcb67d1a2140c062d3dd98e09834f52400a2aace4e6da04a597921677cacee380231008af3707a38be13ddd42cafbbb22d2c8de3f9513218c51bcb178dbf2ed5102bb4b7fb3f957b2b21d95698af0f108da5140302047c435bb50066306402300751d0a4a9a0abab92db5cbcbae20783236a1865dd385aaa611ac3f4df16bef2d9d43f7d93919107bf4e761f8c22cde602304bcc93d2986e87e77f8ef56c9425c7403af8b00b25ec04f9872d2c692b3231b89c88d8affcc220f5d3b757aab0b243db0302047c435bb50068306602310081968a60b12148c214a800c9c6058ca21e56c289796100ba9bdbee63719b2d6b32610c9acbe78abafbf8a11eae73c07002310093c1d750aef330ffcec1171ca40aaf3ca3ac3fcfea36c6df60306301336fe07b981d2bd91bd4a028bdb2ea96098804370302047c435bb500663064023063709325c5af6242676f1bd0ddbce67f1bf081ecf7c8ef32b0224cb33d120f53ac881a3b5cd0166233ba3a8a85b7f687023003f79b97a236fd03f830225d77c8c4867e29c994d86ef6df4f0ad144d9220bfbe0f520a441bb9d91983ceba6be4d74390302047c435bb500673065023100aaefb0307514e8b9d7945bd93d56511ec084257c4da9b766d98e619a90086862168b8f9077d10876688b8854b171676b023007967c0fc9fc935e0c1b49a6d81847803a6a07153366bb1ed831b7a7a09b2d186bacb6218b45c0799052ecbd1dc517410302047c435bb50066306402305140ef2e7e40d9b97b359c893036266b103b7bd2619d7dcb0278169ba5a272b07914310443a31ecaf04f0597d7aa15d1023067fc231905e3e7cd2a94e7652f2469a7cc18ca69770a88e9a347970a876b7847c419b23d3bbdda2f0adbbb484e2ea5d30302047c435bb50067306502306175ba72bd67be05b8ba482e0ce2226769a695cd8fdc738a578553d38ca84d470594d813e4b9b847cad9651db0a3578d023100816d53dfefa90f8c1ab8faa455e57951e1c9774ba337d1980065076d0a185d188bf80e8811ee2322f2ca1cf6df0ad9550302047c435bb50066306402302475fac073167b0b813b0806058de68405f52ac96e9561c1e40a1ac5de487f4823ecabf13dd860100f2732af1b32f2ab023064fa36660fbc61b62acb10b5950b411086b97e5b0a9a58738ba4619cb363cb5ddc333a7a64f82b7712b730581bfbcdc10302047c435bb500673065023100a3ed66849797196d01e542a5c234c69874912b37de67aedeb729b27060934b53b4f4e62d2041e0431f6ecf3c54d502ed023051a457051c9468af95951a8efdbefaeab1ed9e16578c19304a415ccd77f30f494521ef6b0b1280fffbfa2c53adc38fc60302047c435bb500683066023100c98352849ea55df634580a88e40078b113e624e6a2d05c59e0ba8f04f0a3c3b50f190b340795884aa9305c5ae8a91dba0231008f7164eeca35d9b28880369ebe8127e8f84b6e1399b7f3ab0598adcf4bac71df165a5cfa0770bb0a93bb27e215d6461e0302047c435bb50068306602310099259866cf608402bb510cccd1203f7c8a595539b7ae4a29687e3fe051faf9e7e0a89217b435eaad69ecee947d349cf6023100f79ca93e4b3ef05456c538a732862530a742851cec0cbfacc20b6d746fe08fe2ed8242714f8c6b4535855e1d12513ca40302047c435bb5006830660231008d9e3fe4fa39da8027d9cfc049604ee3f8106616753a2fa4c59ff1a5873f6d1e43e3364184c6e9fa23b5b3216b8984c5023100c58a8a3ed45b5293276cd82ea2e5bc375686ea0ee3cc5e13af74a1142ae6e0df2248fd669ef28b310cdd469426cc3ca30302047c435bb5006730650231008bad7e9cf07f0162d7e12f849ff09af5a8e76516a403a607bcdfe0d4331800fccff01b5dc4e63bd541d7042124a117eb02306f234cf85328ee9e6d645ac9d58d16a4aa7c15ecaec2399dba0bf5c0ead60b8dfd060b04a6a608c29dc10fb17e49a5cf0302047c435bb5006630640230363c758ff6f9facaa640f4b5e80e86950cd4b10aa180c1c0cbd7b14d77336e70115da76e010f5d439bff1182f9fb856002303027d65fc5a2221d7ccbd8b47932a93ceb770b4ec816db255d4b053e402c6365871c4597c54e231dd996b0b58f6c4fe60302047c435bb50067306502306b149928ccb8cbff06c4a4f993cf619eef1c3b10de0a18916032897a007c3cf749d04c0e32401d02d38d3b9f45e5e4b8023100c5a027f323eeda67cde708871ca39538e9ea671e08ea83f448c2322fdd9746a2895c4f104a57e7152a5f49b433eb1e880302047c435bb50068306602310097096e896856465a630b3f636c3ef4fe2a874bb61d80a8a1e542d189bd2e607dd54adf4255a76c2c905268b7f24148ad023100bdd35d567ed81282b44940c459dd858000233e2a78d04e14cf4d3cb952f8b0aefb6c2656fdca00b05869d1d5c396d4670302047c435bb5006630640230275a11ae1923943b32253de0a2732be2b19a1ce17631eb825dc96b37b0e254047cd8df79fff6d7c943e505c74f09a50e023074f47559d64652459107ee30c6079ba5d0768833683c476950c6f3543880fc9da9e87b072287b91ba4bcbaa63c57e9590302047c435bb50067306502301aacc267c39c556a001ca42b1037a5b26f7541dbe20e7b5ef932430ed5df3523cc192d54acd44c454200ef56ec3077d2023100e1b9be68168c98cd91a06197ef3fd2003950833ab181e480023399c3f6775c6055068185dd3f0bca306153c3cbc80eb40302047c435bb5006630640230515e74fe98809a6a85723fbd9e388239a86196afafc841188aa26f0505bd0816f205edc4b5574703088bb592e043d309023069d9ada90651d5156536e014f10a5ea086a7e46719063f1336181a03b7b79d07f4eb6dbd3ade70b39ad32ab2c401c15d0302047c435bb500683066023100db4832a94404d506d5087faf561ba0fae8c81c2bef63f7f59cbcccb70adb89a70b9a97b903c0241b476a6b76b0162c2e023100fde255afa294337904fddad7408e54210f57165cfc30cd25f7d8ed54e4564943da7f52116940f429bfd149df6d1935a50302047c435bb500673065023100f88bc63406a8d206e3b2ef1b779d543faf758b8b76fc4f56bcdc1d077715c4ad55078bdddcb8d2b12363d51f8c11848b0230746ad7a6af16c1c9925faf256b0f7d7134a9a5eae670a58060a0d408d61c2432cdc73f9dcf6fe382b6ac44f818b0b9a70302047c435bb50067306502306fe0d8f2191ba23cebf2157e1152a3b28c5e92a7404c5a61b259d25486e5eec780b1da9412cef9c05d26778547e78b80023100fae76619fbbad1b9677d89755445e775de9e07fc95f225f49655e7f297c88ff7f6cb0f74828a412d0bf78e5c6fa167960302047c435bb500673065023052b423552a18e50ff873ed3dd144df2594c81044083b702f0d3f7d41edf636d245dd827b9c95eee3187601283584b1ac023100bb4858b3cc6063045c9d3d7ca48e88135ee35e4948bfbeca3888fda66b1875801e8bfe31338125358659ff8ab5def5000302047c435bb500673065023022b4aee83675e40ee50243fb8c94fd1ae1cd3be209b9d53bdf78d46537da785e10661fd914f3643b80923ad5cbee072c023100bbc74e6b0dc78c7decb6ee94bced1467bd3177a28f72b92fb9f82d54f135a6d19eb8cd66ab9d962b704be18dd8bd0e3a0302047c435bb50066306402300e43ce9d930411d9d4e1c0700c8d52b9a88285774fdc882558e7a940908953a79ffdceb6aac5588bc311d7b9c607d05b023000c35f6365399656ab15241612aee83483bb78f700a8d82dbea4e7b7582c1a8d6a71ea6c905b0992032df1b2833ad04f0302047c435bb500673065023045f06c243e50062427ee1e197d14359dc8f88615bbed77e31ff8d55d4fbfaad01082270b5912f03e9c80c9a54a5f00ef023100e208916961b300c29edc4de6f00ef96257d6f491be6011c508545f10c5b9dcac79fd407eb3b50538a50e765ad15a71440302047c435bb500673065023100d54811364e08153c368c09ce95442712181451558d018d106da392575c16595caabcaea85a0f49821a6f2d8d600643c702303afcd3965f3af7bba3783eb1900f882fdaeb215b2994b199845f1725e5c4d8087e596b9a411f9f839db970e513870f530302047c435bb50067306502305fb3b863850f447e936b5ea2c253ed53384a3fedb519941e688e6b15bd72bdc22421cbfbf58917def8f80ea413437bfc023100afba51dacf5dd145f00fb31f52ce597e2e1922c82196ac66e324007607259f80d19c5abc8525c7127800a5ba41c3538e0302047c435bb500663064023013fe1a5ba22bc130cff6436585ba7fa8d213b13a38e45f8e6cc32fca75562fc70a042c931fd75aac88d2221e76c8869c023017403eee6f0c612852297f2891587cce098fefaf153e74c341b14131c257cf8dd9ef7d2614e8717b750ddab1a4d4fffe0302047c435bb500673065023034f1ef1e5fc956535945ac0e4d0f312df4763a8da518f326341d35747ec21a386419119988d4fd50de461c010f1becee023100edd474b6261e96a2151d15246f691f6ba19c824da669cd330b575529b7c83fcec8d82dcbd544d90c7f5e56142c5bb43f0302047c435bb500673065023100e21d9f97b80c0450a954c147e7bb4d25e235bc45dc5f7207f29058a6b43971b9abdac03dadd04ed6ce394490ec38c5ea023038a90472577a285f3b088bf5ddcb647249cf927889bc38a87c16a49cd47bf2d510a0759afcb6d36def1d64c4bff84f920302047c435bb5006630640230411bfb1dab759c068d44984f6d14d0e650b24e30434aad46fa62b9c647c1bffa5a2da839ae0374f58fb1b6391bbf896a0230600e27e6c354bff2d83b989b1c2482de1eedeec1d3f42dc7b9fefd4a52250e79312470525a04367ab362f865a86f88660302047c435bb500683066023100e589a8e19676ae75e326dc80a4c320cdaca30c6b4ab71e644fc2f8edc550155f0e5bf6aa14c3f84f515fcec9934c2afe023100912682758320502c3aed23c0210a9efdbdbcffbd3af1e8d3c9cf14bc2bdbae969eccada401894a9960f9d3b40e90c0a30302047c435bb500673065023100c31721e767590d70ec217d7334d77818e67c54b275db8da854469df77c780541d370c82669692da7ce3db99fac7749a9023072699769d91d13bfde31b6a88ced7f161dc2f64c8ee8dc2923d11c9b1ee2df648a7bf40cf493849c1eb8cba67c56799c0302047c435bb500673065023050659f98584c146cfad5467e33b0e98e490838fdcb0dfce5cc388b29727231f1edfed843a3f1ddbb0a8e4c3b0dadeb930231009fcd9b57e82021849496d49e9a5c800890d455622e7198b07f7ffc55bb52358127f18f4185c9195e2c631cdf854f50310302047c435bb5006730650231008d131681ef9e56ccecbc6673e01b462cee11e7463f66933ca3644c54c850b35f274b0b84311bef0a4a476bf6a4544b86023041bce05a934adb507039abcc12e85bc51e4faaa1adc9b988113980250859306d379bb65722bafdbf9d088e95791bf0050302047c435bb500673065023100f6d35abf04e4fd0955d657769521a77d49fa33b70a438a91d69edc1ddc406c01e6d984e05432c46df8038ed3b17fa6ee023003076b587b3208ec421c7a87ac88ba5a9a4efc0f096c16b521659d890c60a9eedbbf311ba8054720d5d2fc4708181b030302047c435bb500663064023069edd0631610a2becca620147bf23c093249f9552a9264419b149c89bc39afedcebc383b9656ea079f24a3afd9be986b02307ce4e345fbc2a19b7a35c8f1436737eb91f8a34568acbb30fb96fcc511bdc21254669e7e7be574b7fe6acbd1fa95bc420302047c435bb5006730650230617812108f5b0ea63ab556e3841414c587ea860f84d048ccf0507dc797d6aeca288d620ee7ff5da4dacc11d7656e0e860231009a3ec81d1637c8b5a8e6bf66991a20b01980792d32ad58d504d3b3687e6fa2efb03634ce872ba78b968f853a2fd85f4f0302047c435bb500683066023100d82081f5939f87100ff9765cd5cdb42270616f7a4158b4d6a6c739920877e37782bc49e53861ab3c9ac039d86f710ca3023100d46032b715f2513c4799784153fcb35626196b4f2e8c538be3931998e26a8c1016214ea78ee453edce1195f42e9768290302047c435bb500683066023100841f58c55c6151f66b345b1fdd0b67f57a28258967dd77d41f17693e1ebf5d985d18de40076031b9a0bf7bcacc82e4a1023100960276b319e23797b76e245f10f28e58d7310f7ccfedc9fb7a9234d83b3ee52a5678e694e6f51dff54aec24a0c35c4140302047c435bb50066306402300fd220cee93c1c4fb860c94d205507cea80d96573a14fb0398171a872b7cce9f1984b094f9367508de224a49315a3a7b02306451a1f792899f098395fcc583327c297298a60be26051676f66fe6a4bdd69889b6b9b63f8a43594a5045265748a053b0302047c435bb5006630640230604b7a4a89a86a8e382c0f1a03b705f686bffee78d986c0d478268a255fabf6e44bc4275ddfb2abc5cf464641fa584720230519b79f232320be045babe49cf1065cd7d777cdc46bc8f8944e9aa14d346255706e3c07192c9444e1c6bc477e37431a50302047c435bb500673065023100fe55919c574e694e8fd6db3d9859ffdd58f044b580eaaa20528eb6eeeb14f220f704b061f6abdb7428bea06d2450331e02306cab9537d42a6f0f4285d69f961bfff4f35349233e3ad7a668fadf68bb86e8ae56f2835f7de7f3848f81354c66fc9c5d0302047c435bb50067306502305396a9ac9b66e08ef3f0264b45e6b9aaa3e8bbf5bf182d781c59b2d41a2d45d134f271e32fccf63d11bf7837bf71ae6402310082fc99c9a082a7072d6f3d4240edeffd6d5a8b25ae0256fb102bd76a014a063d29fd09075ecd2cc6b516e360c871951d0302047c435bb5006630640230301d62e412b196d5d06bdefbf7312ed85bbb8e77d81b1ff0953bd5da44e14102437069150d827aed1fe6052f4a46f0c9023079b0481f4969852cf933c5a3758b1b110af271795dedcc89401b6bdd30723998d7a45a7bfb1098dcb4782aebc609c49f0302047c435bb500673065023100dd9eea535598338f0c753e78c1e2c88d4354f6fd192ef5073ceba28a18a7f02cf2aa9a990ef4b6c847c25683def30690023019a733d3be9ea256291894916540810ebbd253b5c580ba636c716e2e85928fe79bc1721514da471ee60ad18f31f506fc0302047c435bb500663064023032778a03e62d6c01ca6ca3015c7a3824a0c13f9c533a7513314779d435b21f61f87c135bb6e883e98b4a68932ed08fca02300ce21601c3fa1ba20bcd2735de4bbbfa62979369596716b070c2e1c3e418735d1ea7c07c8b802ea13489731ca71a0edd0302047c435bb50067306502304a8458e852944510172f9ee3d8f87d2f1855093c5b043d6c3c026a0c2567297f8060fd0ec67f30fa81a5fee3703022d6023100b86052824d71cf16e92c2d23f4e569b43359e3f110c5ee56e0f0bb2fd0a7aa340ed24e20b5267385ac5712b66ad91fb60302047c435bb500683066023100cc53ec4c008d8265b49656b325aa676471ab2d96f413b6a001ae85552550a6f6d1ae14438e4e90b9042e358e39cb1bd002310091a49b7c1f722321149fdd92ac02bdee226cfc18e759d318e0852326c5ae9236fd08a9752d224bce2dfc4d8818cba9a80302047c435bb500673065023100febfe0f1f14ce86e8184d3b07d08d2a2ab5aa39fae2bcb069b804545d1380c63e711b9d5e603aed16133d0d1d89b4a7f023042e89cdbd6f45c38d6b8367e2a54977c9fd13b1e0274c1e27024ad082f45dc522c0892c8673b06f57ab7d63f1c3bf6c40302047c435bb500673065023071fbf1ad0a4248a31f55facb190360353e3a310a8db86b87e0da30f43286f8c02f60da298e484bf236d71a2b6dc51d4102310094c564179072f9d8a643b1d6601148abcda06b89b31269199850ab656686b8c54cf08101f3ddf0170011f1027a7c97e90302047c435bb50065306302304a1565724009c2957c311eadbbae29f0918d753044a42fc03ffdb230276595e39c7a3edf999bdfa4681356991f028eec022f1922eadc82b23196b8f11565239c6b21b594f2ed18fada3b05321234815454cc0304aae38e593326ea8e79b9bd66df0302047c435bb5006630640230362d0694d08917299696d4655633e6bd09e86b4e175df458fa19ffa90d6992493f3aefcafbc8ee7d1cc6915a2551dec202304795aff3add5a8981640526d22cc037da66f6507a92ce22763e7f500c129130600dbf4148c77ed0d88237161f02f34930302047c435bb500683066023100895e0a0591edaf1c3e9175424665b919d8053d963fb4991e8093d9b051ee3d209c9c99733d319aa029c4b6cb36fc24e9023100e633f929d774e0d837a8c28565ce4c99fa031d2b5838ddd7d58a433bf820f2aa30230f47a73844cbaf0287cec9cfaa600302047c435bb50067306502300f97b21ac980e862047199fa448e2f5fe095aad792576f8bec70a3caf35daf86442966ff527f6abca815074fcd7a94a2023100b383bd3e4d34a9ed12b7a5fc4c9389238c74f38378a803d34f61ec941b30b2f28f9b97fe2e570d069dc30eab2f721da10302047c435bb50066306402301b3b1202d452904799a0e58898253b425b749b0b4cd5e3a12583d3bfbdda007094313485377e5d2fd9e0287ad74088a602305b5639a92382be4431a08dcea8d0eff2122333c2dc4291c30c14f05524e47b174e1e601ab14203639b75e5959c70f9890302047c435bb50066306402304e3e806b9a36e23224f424d7218a0bf970717fc53aaf15047d02dd095f805fdefa7ae634be11a138e50a9ac18194824e02307eae9d436ccfd6445f400a632679fe84b38f53e96cc9bdd1c9bb0eb92a90dae96e12847b04e1d3c6876113ff229e08d00302047c435bb500673065023100ac231345a2e63b817d351804cbafa21a6d0578844633f019c7d0ee955d26c8ae4efd76b462cf62f8c75d2e34e30fbb6702303193d678f37365b70b80db9c1283ea49ce03f39532d9a5a122897ae689e76e76ba7180ce01a8fb644291e51d0ba299b10302047c435bb50067306502301a01b886700c5c7bde13e83a2ecddf02e49000d1b0163682fbf2d1488d0e71693abe869012dcd77a73985c3b8477186b023100f02f82d139c969c9285caf2f6859c3244ec37fdec52cb17cbc0997deee49c81328492fe972422995c8f83fc7168296330302047c435bb500673065023100817531ffcd88e0d44cc76cf63b0b1cd94de67a25d0ad360c9829121ce5e9af82426219e761f7feaf2666ebcdd766cc1402306b6df46fbc8b55ff0b4e5eeee80aebf6b46acfa15e6e2c451808f054c4bbd3fd20f1d7187eb61890c6665a11e883018f0302047c435bb500683066023100ad196f20cdca0ba7e07d7d3b9a6e3d09eefdba4a9dc4e51ddc36c36d89d8a3d306fc4f05dfac7cfe27f8ed53909aa01e023100cc4519bba2ea85c2a040e82bf9c9820f85b977652ad4ca9d8fc7c3c79a50face6bce501f05bea6325c9de291ceb0e3ac0302047c435bb500673065023100dcb442f21ecb79a11c14dfb2c764dc0d4d50d090ba5af0f61d026242d65137c234a9de346789ebb7fc06e9ef7c2e2906023072b6f2f8d5f6d388b3ada8a3caab953a606dcf5587d9d19fe56a33123920acaae8bd4f82e1736c87595f0b4b4adc9fa70302047c435bb500673065023013e1bc2a2aff8a9b79984844e61afab1a69e7c8a2721fa6b9fd650ceb1e907be3a5148ebfb9a33b370e1a1a44ce40ebb023100bda41063e3516e2602890eab3325e3c57284cbaf3a65011cff02b98345f9f4bd30b246d57f8f0feaa467c1552bd490e30302047c435bb5006830660231009927bf67834f3499d24608994148d774800f383be2cf976bff746379eb3b8621194d7baa30e398fdde36479a7db69c5b023100d5e2c404b8ca5763092a05fec867005e8d8d79984123996d62d8bfc4d20313d77148363be87a49f764d1714f117f142d0302047c435bb50067306502302309936edfb5f16d26f47c1f056b4483fb1cc5d4cd410b536cdcdeaabd7f99aa87d93cb2555070891c35c85fd3461d8502310083add6ebfe413ae27c25af6e1283ebf579a519bd86a6b354c5fc034c5efde66f13dc2e125912f590dde102b1ff01e68d0302047c435bb50067306502301ae2e02c0996ca0b6f0ca0d07385bef1317c94fe7971854a7069e9582c59ad1799bffae61d41939db99a504a1aa202f7023100ba4f6714ef366ade89b3e8851deb55c9651c49ddfa66d8649a9cbf620c76e0a420630f00734b84dac5d6bd73300543270302047c435bb50066306402303e83325d9499f3cf973daa31e18204ca11b83de9120560a0270cd6d53be34218df6a83f2ab86c736e569eb73270bdd5e02300e971b22cd7105525d70a865f34344859c76f7d83fde6543d600bd0fbd271e88a8533fc1921d27a650f0792097c7ed1b0302047c435bb500673065023100c9eae87ae5b2bec5327f931a86361cdcf7f09677bc02b8c41ff8eaa3d10dfb3b5f76e6f1d120d1d56ac71c8a4ba026d5023029bb8c7dfc45da35c2fb4efb62d465f0b35394d58c9fc050d49986073f23662f6364a58c79f06456055f4a19cd5615670302047c435bb500683066023100a82265082fd5b05e37d21a21231d82498cfc60c0463069f1aa7ab95f48109d30efb57ad1fe51c9efd0a5a06899fc3cc2023100c91c6061259cf2db01ca7ff956927fb5cdf48d31aa86a582d6b6da897265cbd2c7c3f341de99a61d2cbffa549735736a0302047c435bb5006630640230258a14e8694d90f51eb1f99830dd5a77dca6a706bf4438a540908bf6c64135635b6e463a302689edd3ea0f5b563d2548023059bdfbd677b6421db5a4f9a322db3f22722534ffdb86c0e4646f6394b4e745f14760797befb161e7599210987bff6d7e0302047c435bb500673065023079c6cd059c5907420a4f1b085856f5f5a940ea73296e612de6b50f3dc13f5d7ae29be35d82d68cbac9c07979b979d9a602310091ef2fcf92c5f3bb7337e37eb1f70adcb25e565a2fc98f5c16b5bfac3269678285427c3813f56e249ece70d51df7b7b80302047c435bb50068306602310090afab1bc9d820ef3464e1ce3509394dde880ca0739eee5d8ce1f413bb5e3bbbbb4e0ef06e570bd8432f7ce86f3c46a70231008ed6701e21e117f0471450de508518b3b9f2aa86515a403152d1d22872553cba51fb2c85358d76f6302fccaea9baf68e0302047c435bb500683066023100e9191601daa9080dcdd98e4307414e10691fc17253a687f1f9258a1754fc771a62be1dc3ddca8811d6f8178824ee015c023100aa1a4473811cc24b862c1206da0ee5b127a306d39a9ed84dda00f110d529cba0c02d38bcbdeafb8da65e8c782c237bda0302047c435bb50067306502300e78e124f2e675a1e7c49ff83d7b48d5e760bd4d4bfb5896d7df1fd5fe95d47d9222877990d3f5c16508668a376003c7023100a68d9c8dfcc0f2c1f1885f4d72e6a461c4973e8dba37ccf28e53692d450e5f0f4347fb178fdcdf2581dcd554621a0c380302047c435bb500683066023100ec1a9b47da873272ace19b0052b3e7d2f26e9eec64014fe23d27b7f5b282c393732e2b5271ca305160dcf46b0c19c9d4023100dc41b33c80ffe6ada81af1c3d5f7c21e3fe48486794118ed544ec2af9b3f5be43c9a2823c64d615479be552f9c2178000302047c435bb500683066023100fb2398726ba6ca55b8c64134e01f0c1fe9da467c6c172ac870e0ca20679d56b297245df9f4286a23de922578e5e73ae2023100b53d724ca7aaff2c3df3153db1fe2fae0d667564a4dcfd4dde439f6ab35b38ee6ca71994c95bad382a3d97d11e3b93fa0302047c435bb5006730650231009e2123692919a2e8c745b3a3383747a72a066ce06b9994486018a9470fe7d03d3f2850a8d4dcc86a8e78a14e6bb57a5302307aeed143a72bad23eb7dd3fdc458996b9f1ad2e9c9102293c137bd4f6ccb7f921646c4e0c0fd7376d0dcb1c101146b9b0302047c435bb50067306502300f90225f2465e9d096722a54b225ca195483bf1801d85d939f82c3e49bd04a2a4d095a7d3fd0a8c1527412e512323135023100a370714d213756192282dbdd377864b05d726e3b3443dfbdd14cd3deac5e74e0925566c33325a09ee95f85e0e8f8b15b0302047c435bb50066306402302d5e6013b6c4f169a8c3dd7db9b13f9c76517b1a0ab3ccde46382336f8e9edf693e6e81d2a1de256ba37e075d214f1c80230053e8db7de0122c56f505e6941b6612b4e8a6655ab7d7f76c2c09ebd8bd7dd2cf74abafdbd1f03821b04291e583da6ca0302047c435bb50067306502301fb8fc15c559f2192f2b7429393498f5e144103722b01b12ee8930374cb9e8b3bfd6edb6a8af29a87432ca3d189d149c023100a97c18a15248c9626aadea94a1225a5d30e53226e8c78a8f6d0d137df1389f7fe3db8c94e6ac6d38733d40c623cd63400302047c435bb500663064023014e2c091315434468b18acec13bea9dadcea5e0bec9599a892a0c641a803ce9483ebd527b8b2a3d331818cb02fcdb24202305586a4c589f3a22ba0d881a954875068232577044b0357b2e6500a63008888de2390392f976361fcde4b39a0e382675f0302047c435bb500683066023100d11105c6e4a8730f55c39105604220a2e2c2b1f605d071daba15391b9eb5b81b889825aed150c65c3faaccfc078e049f023100e0b79553e1707fc4a331247f77933d6657c457a7a9b9f4dbbd7c4f6a309cab20e4e88f0a7e7898ba357dd94941f5486e0302047c435bb5006830660231009ba016f09d4c124b02904959959571a593d2bc03619057b8eb95148fe70516716328c5999b6fb482d0181b3637f2b12902310081048a009ad306ef771874a4f337b63bcb8216ff8682ba09da02d5c5fca029de0b156ace613f99021748c9030a9913990302047c435bb500673065023079df152d3a440456291a3ebc83390084cf7042a101e76a90da28601515111f84fc085901adaba7cfd431eaaf88753fd8023100fcd9fa7dcc9e1ed0a52a62b8733ff86ac85de7b93910cf7ce1c5066491ffa6cd1f69da522fc0683e3e2435335c5385200302047c435bb500673065023100cf7c8562d0aad37ef1612dccacc1da34f37d180b06abc9b795ffcc1245ed6af1d10126dcfd9a658e4688f4588e4c535e02301b0e60972a1e701069abaa1afbdc242fdbd43ed313e1050d3ae29eca92a785df27e3dffb72ea3db8a749d1c3df80741f0302047c435bb500683066023100f94d293efcdaca88a405b5b19b89d002edb224c69390bd61eaa7cd42a0762354e036263a65e400a2e718be584ccbad1d023100b93c46f49410b6b1576b9f949563f7cc86a094178ba9ff9e231e83eea2e9d2e6254f9a4ab9fcde0aec48bcfd82c91f050302047c435bb500663064023022ac0281059afd90621682d37c8aec4d552d1f6fba6137535c0c951a98ec417f8f373b92f5045b5ac2628e430c00f1f002305fad52d61bbda440214b6b75d7e96c39af1ac412acb4cbebbb0dd4e59a2e8f1699219d78df079f6ffa376ac496595d6e0302047c435bb500673065023016f821bea5ee6f0f097ca68ad7fd650a0186178c97f4d8fc71342760300e7c613e8004387ffe59b64e38166fd8f45d9c023100e80f828e43011f1c5da76f1487318b4725c1d099777ed9f476cc6433135195aa86c8d3068d776cea0205d3f71f3b93f90302047c435bb5006730650230615f1b05e1142fba2aaa18f6284d899371126981b71b737480ccecfda7ef3812dfd9a2962a6ea30e354f0dcf46831e52023100ec381c0bcc794b04eeb27b0abef9d6cb7a3a18afa02dbdee4ad943809097c5214479461b063989f1bc54856a8b852ae50302047c435bb500673065023100c76f44c376cc7a7ce36087be20b97443e0d346785d9d6bc8d634bbd97d696d19274c8ae43b3232393089e9404b1997e0023030478708ef7ecc7c664db6317275f678bad493650f7c667f28ec0adcac97f46e8765e535d3a342d957e598105a4d6bd60302047c435bb50067306502306da9c40ebbbb509f69a6b184f94250a314012936cb4cb31ad3188970de6df58f18fff970e3bc27f78373bfa4f10c99d0023100b6d7ae8a5c4206c9b874621d2470dbdd377a164d21b11f08b51338bac9419aa99a8156cc5ea4237ee4402cff95a9ce660302047c435bb50066306402307fb650509284da200033c69e0a4daa04ce4be79df1dcc41b9580d4a522cd66fbc41ccaefcd6fcdf3f6269cb894465c2a023047f3231b87355458ae43f70b58b21c7b37f9c337b817d8549627fa781fbe7266f79e81069f22b8813f55f04ebffe23f90302047c435bb500683066023100ad8e0e5b4236b52fa7bedb2024bb6a3013df8641ace44839b18b07f7f0093f22471419102ebecd3105cde11038082e10023100da7b3b9051da8d6592df6a8422e606e00893368a2d7468bafe97935956e3bc6b8b825aa06c096aa967e2db061727fb0a0302047c435bb500673065023068b4887a0826e37f078b1449624ca3340d4582669df10549c6fdd33b73328dbbcacad6ca9aa9d70ffb17c43b472a086c023100e3826f262560e4cc0908b2facf9564d7d2810a2c5cdacf6b81cb8487d4522625cdd8b36768f9a833716f5321e6c0b5760302047c435bb500673065023100cefa736067ddb3d8cfb0a02adea07218b2475bed6ed91d78b6d7179fe4466da840763211441eb649c3318340b59e86a2023034066491b9ab839c2250c32d4fa2bf5f73281734427cf387ca8857a2ea9e69e84424e8aef05862e1e7e16353384e31cc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e30b1fa523d9123a3fdc477d964572340ea9f65fac376272e6e8e14318971bb793ffdb99b4e880d9093be486d8825b9102303f5ebb65d738586b6fadaa05eca94c7f5129fa98a44fdbc9a10e0ad11ff211a76384ccbda98fbe5a1d03bbd072c9d9580302047c435bb500683066023100b830483c376999026763a4455c8697ce60ddd482189bcdfb186bcb0e7e91e529d50648d473af4a2394aea036ab8041bc023100ba540601eed1f82453727e568494f11f3c7421ca06e0025445bb1ecc0bcab9d1c0898d6c6f3e1a405a12a6b2e5b1e8b40302047c435bb50066306402306ac0d1cf7f04983f3c24de32adbe84fc3d73552b3ef01064284faa97677361d40b8c9883f0bae7168644d54c12362400023071be76b6db7e01a75f78eeb7f93e60dbe8cc26090121a62135728d3caa79186460c7d1a4fb5babf9f01c9544e5d4253b0302047c435bb500663064023005cfae4e6ad84e3fe6bc9db0b2d9a98baf99c9966edf8d07a8ea49714842e792a4ff79583cd7d306b9e5dbcda25ee85502303c4d881db9ec4d94573176d0171777aced3c378f2e07ae91980121b8dc0c80c98b7011b681b43a75bee236eb76aa85b30302047c435bb50066306402301a3c03ac794c40acab8dd4ca49faf79193403769a5cc2316d1aaacd6721e0e16ae2fea02a54d849783cec1bb0ded8ca3023074842c67a0c7908318a8dd31c82c0bd20bfc498277b3a5e8b40ac5b219ab4407694d2ee9ba08e7f843f4c6f1de8ce6590302047c435bb500673065023035d8d2ee35a6f7b468a4b1d2a01d5e96bebc8413269bd1ff1abb2507f01703845beb1b30519632f1dfec2c35c9cd8ec2023100ca23b44e3fe267addedaa8eee6829d67b144af83c57826e1bb212b5970bae3eb83aca00ee333367d654bbddf7a7256f30302047c435bb500673065023029241763f98f2ad072be4f38ced4a66c5bc3af61d6bf022083be49208e4f6a6df2e4feafc4d178c024f49cd75f9fb314023100b402aa382c74ea69780848d5e087499e8eec6c56349f838c5b282f45934961b6c6775320e4b1bc6d1cd20a60beb37ec40302047c435bb500673065023042b23bb872b451fc4ed918bcd083812da4aba4b61b8b683b4508cc31c5c48700639004af4ad162ebc3abaa5808ba4973023100e7b8b6c765da3e9d5b80fd1f159cd1ad0b2b2f332e433093e3821c90b43e31775b65cf7ff28be59f8676d116694531580302047c435bb500673065023002c8fd450b23030c9e10544785d1b2bb344a613ecdc608f63bf8ea60cf72228241c180f067606aaa453d9812cccf684e023100c11c4ad31ec8f77110da315d3e550e32096240f5ef7272627188acc0107b3d4929d7c688c69c8285ee7cb274a29fa7dd0302047c435bb500683066023100fa24fbfc7b81b9707e9d00b234b9fb845266e8bf568c70e523f98d772ae0119a8a7ffd9b08b728673d203687799a5418023100b22fc57b77515806a588becc2e939ce381e6958d9e276d1819fc08b138d72154bc3e740e47210a1339b1cdd155cc03af0302047c435bb5006630640230086da6a08a1a4ea02aa4944984c0f9da09e9ee9ce38b15e4fc9c941f77dba2236e171a473f31f6716208fe38d96bde1b02303bad72b73eb22e3a981ecdffd30515cd5dd65596739ae5c557cc2fc80961d7dd6c0279b45c90c9316a64ab799d6db7400302047c435bb50067306502307a8411bde50dfb9bb99e21f2a9ee54f5711e7540822f61b5621f6e7857cdf8645601a152b1d1429fbd84e306760d904f023100d675ca6d95acdc716456e1bb54a71609be121053f7b0b134a09330f587be1cdeacf7bf5b0f275ce381c3438a65f6dbf20302047c435bb5006730650231008a20953860a46ddd3461ce959931b968154b7ee9353ca962e3217f59bd3e7340e854a5a66a8e7edc5b3edf3d7b4a6b5102301f24a9d2d6e3f85b34e4222ce3d8e815c1dead8f1240643b33c12e10ea80adda52517785e9e0f57011f1e7aae2f920300302047c435bb50068306602310094c6c52f4c25c50c567d7f8c41b4165bea13f4e616522f67fec4cff54869d09426e742a22860cf131a95bf47b02529e2023100a6740a9c3f03ebdbc04dca4085cb04079f74a2cb3c22328162c50cc4ee0e35c22dfb49bf205ed038915770f9f8a180870302047c435bb500673065023100817807e746d6fed2294a1c96f69826d00d514695f0cf61181d7b56b40e177f196e1136403e9cf8ae6e9978ad0a234a0d02304d83582c254ffd0803024df21cf6a97f812872733bb20bd559cbd9e5534ad3f7e706bfdcdb4659c5c99955994975764f0302047c435bb500673065023100eb6a1ae939b3b5968dffb07928391c0db0b7a8a3e0ed8d13c88f5ec30583156755e70f97d00df4c72b9b9fb813e05aff023011fdfa92f66de3f32c0f048b0c7fdbd70947548eb4af0072211765f58d97fa902f39327b24a90b622755ded321d3e96c0302047c435bb50066306402300e690266c28ea9d0980de6efe3b29e0be701cd9760fd3e05bce93cf69d764e30db2aa5a28eaa4b26b46383d6ef2d74d302305169ac131edcc538f6aaebe06150b932eab17e99cf8f3ea6191cd009a1335e9f7fbf2bc7cdff887fea415e41c32a67f30302047c435bb500683066023100e2ad3a991cc01684321f4ea3dd799e214302373860925adce135556427ebeac94eb6bd7e9b21a31c914d00e12b2c1cd602310093b6e7f36cada52368f6688660ee488b8269e3ffa7ac5d26fd7a89ac401b228991bf37189f4f4edc9b9d5e0c0d7d22230302047c435bb5006630640230766253e2ca9fa18715b8849164a9781b9231bb3838959a5b4fc14429ec4f7beb9641f7d1e3723f3eb4a239600c10304a02306fd7f7fddc18159d8fda422a708d3ecb89cc1c6ab7496d6ff9897b2217a207085dadaa8362ada326000033a7004e7f120302047c435bb500673065023100d8ce9cb0f8df597c321e324d7cb5a6e72aaa073ef9d6147158255abc367ea024e304da2497ed8822b81446e7bef612f302302edb58517e6d3e6e907ce96d72750b55c5970f2068985f5ab8c6ada3d503f657cc366c1ff017ae4f9f333f61ae2fc9d30302047c435bb500673065023100ecc454ead5ed4299acde7a7d38215849f8fedebb4086806c1b5589aee412e61507e29f396756d5138269444dfb1a1aae0230459251b88db81b5bb7f5a384981492990bbf5c46d3d08354392a0ae4dd4bdc62cd5d504e095232c7a52c62517ff8bc390302047c435bb500663064023057b6d56a2dc979840a94772dbc333ec75f4262327e95822400d58c3126adaede7ea92a10fd179de075dc8a569549ef110230125287921ccbae7ee73efd3efcc4a0f1b37fbdcb1033e4547cf67b87c4ce14dad924ee7128e5fbbc815e84567e6c77630302047c435bb500673065023100847feceba41a7cb166c60941efdb32cdd14f78b0b12a703981af67c65039a0025d57054189bb3dd63dff5dce600b207402303477ab065f0b5a4dcdb61e2ab5507e1ec772764bd3f7cb3dfcb4504e517c915f8a1bc078f2a43fce33b573a4a2f430cf0302047c435bb50067306502310085db3e1c18cbbcd4ac95d08beac7b7ef8b377bb1f23d1fb353bcb6a4898f0c92c1aa8b62479968d4f7e3425fd1899c7402306040194662d929ea5a8be578405e6241acf26a44f01e3f06c483139736772e09e511498e5a507d7230121d454e35c51e0302047c435bb50066306402304553e326f889509d9768f60756cc4d6bea346189693e74ef2cdbf031c67c87980bbbf12bd925521e6cf5ec87d3c3884e023018cc63a9412437c8ab26edeaf7a2a1c227aee24099ed94cccf4d958f6f221f7d592fa2228a6831f01d4d32dac0fc80f50302047c435bb500663064023055a7263e565f51cee1697050803dfeb26db0893c4aef96133b7f7328b28e7898ba48070fbe92de9fdcfd0c0c8eed124202307208b16796c3f00dfae4c6f3e4e701db93f8415c845bab06f1612c8e22b882a902c0028c17e60761b3043ea91117b0760302047c435bb500673065023029bbb73e8ce69d58cf0c89e7f03bdbf4cca4c46684a016bce70179e4dddf0ef81166b9a03b192044996ffe2a0fd70675023100a2ccf04c5a6bdc9a9103b9df9292728bd7e8aec95dfef9a77eb90ae14c54e6c309bca1db172ab7364e6b15715a1ac6010302047c435bb5006730650231008c5478312466c0aef5f45fcf898e20975c045dcae0edeedf1aec2e7b58df2fed60845942342cf92363be0626351c57ca02304a3e1ee709fe2f60bc939b449b0f9295f70b5f191b58a0bec6e2cfcec1dc2d8b0d5045dea03fb5cec02695a1a0af3d180302047c435bb5006630640230539af92f2a9129cc3051846393e6a44ddcffc96f62713359ab5c83f48afbaf6c6f4b7510485314edc767ad6694f34bb402305ae49ee94beec418ad1190acf7516abe5cfeb8290dfb99f5593ebbb5bd574d7ae61c4e4605d017dd97f96c2989ba4d8d0302047c435bb50068306602310087f63e709e33c3364888c28e5d256d402900e80147049bc8163367b53ba7c454ae8a060afca4239ba13be1b74600f43c023100acd5f88cea9f834a94f2d0becda14e44293d0ac582a4c40ecf2e17863025b1994bf176ca1dfaa4c5555b947b06547e790302047c435bb50066306402300d2ac6f0b7081bb5a058fd69bc12540f3dd486150ee503bc38cc5a92dc8f9cce87fb1ecd9431d793227401319fffc93902301cc358bfb3ddabf4e063c849456dc7eecb0f821a4ea9b3d55865fb3aa75f6adcb379203f5af39fb6d9a32fb3b412f1280302047c435bb50066306402301affaf1a49ebd21b48b9d01cf48c7df8f25e88ebc0ad76263ba756d3671330964143a150eeb9de55ce936c0a8033d98a023053917d9b6577c33becdc20cc7f96b2d944d12a13e16264bd8bcf2eadaa5034dec7fbf50a72192266b9ef77e0938cb2590302047c435bb500673065023100c863db061a624ee8e0eee0ddc1c797f442c33a5a90f1bab2f1e7ca3a457a8a5ab646fc130ae15fcc3284daa661ccdf66023068f2cb5c56b4bb570c41c10d2883b34c444a47332ba2b95afcb266bd2c83641d8e82b6b2e1c7c96f5873eae73a5f53990302047c435bb50068306602310089c0abfb4bcc9af45253bc100a1c5c1e38320dcc0a1df6c738aab3b9b0a1723d0d848c1781755a4157c65d547bc73cc5023100f0a6fbf742558e1c07f18ea1485cca0d378753afdc6ed057667a1ec4f9b6312efa196e91ee5d996c060168f1f77487a30302047c435bb50066306402305b115081d23c44114c03036e5e0989e85041685dc4abbe791643741e33e85e2b41d9500ea2b8f20766e7420cda457233023072e5280efd1409007fce555288e777fe78f1a4d4ce07a9ce7e7652321fb300ad1c40d0b2b96ce7a4a585263ce55508ac0302047c435bb50066306402304fd2eb696f09a3a1609fb1afd219ba88a00ef8f04e3917d0d758fcc85514ac537d943fe40d230f377aa8d84eb030739d02303cbe1db52cfc9547a9ab6e282c1dc1fb24832311c44c02c317c50361e7e994a7324e10959a805492580139ce940de7dc0302047c435bb5006630640230788413afbf27cc1bd5fa3ec81026052d8ce378d0b07ae80209cc1fa68c00db7ab986a8574f92ebce915340bfe6ae402b02302233127050b3b74e9d6a67eef7517a72b7f82b457d7a796ba4544fea914a8239854eeafc5fff0298338350251da945eb0302047c435bb500663064023057a8cc63411a1d6684204817824f7c12d17e7c285f39e64ab203fd0cac00bd7bcfd43260f0c79b274db8f63c41bd31a10230622f909fbcb2240db8628fec604d87ff50a2c91798d0f856e0329667e650f2f77d4be038479c246944bf4285c834505b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023032e58eb113753a60513fd4f20c1824c22b82054c884cb84d566c9e8a89536662493274faa531ff15faeff7868345fa0a023100c8ea729f0bb301fd699c87a3bfbc48c8cc61f7dedbc98eec1ecbb7eab2f277ab1bef276a0a2726e0ec98fe8a195feded0302047c435bb50066306402305590d7c51bb736ee2c02af79958caf526278cd4d1627456b49ee9aa0b284e989bf8416478053ec9a07ba7cc3c0c8fbff0230089b72cefe99512824225fd0f3de68c6b41a0cabc54c02d0996c487f448a636676c4364208d53d898869fdba1ad647530302047c435bb50067306502306405ade80c2fc3b9c5256100b2c3d84ff416b249930c8740e45bc897c977f72be967cdde87d13d4fc241d5ca5e991add023100c41ee5d11c89f345b1d7b12e3269542106cc516f869a90bf5a8e0b9c3a9fb5cc2851e0143fdab08269293616fe87abaa0302047c435bb50067306502304305446abe12bdc22670da5d05f420351c8fcc9f944732332524351eab255e1461e1df798f7fb65ba2da0875f958866c023100adaa0e17955fee44d0f735a7a91fa6179d45067307145e439c82a0445dd910f2540ca675741483693bcea7078b51981f0302047c435bb50066306402306aaedc773e6d6967b73867ab38a63358a3bbcd2fe78c7443257d03d992774d7df3eb7670450e67a5052c833db721efe20230697160c4fd5dddd83b035bdd5125d8b9f3baeb7ed4c33ea70a09b06997c0eb3a9af7b7127415c6751304fa06de7186140302047c435bb500683066023100c912802d6f26c1ba658e4537c7fc6d3e0c1c319e7f1c9b10ec68e296fcf9936fd809838a4772c5a7c479c6e76fe13245023100bea57645f9096380e157b8a365f057e002242526fe6cad30880a2b575c0fc32152df636365b3c929eb857345125706180302047c435bb5006730650231008b5cfa586bc9262a0345b6ac64e27b50df80d29aef2b93b0bef16aa7606dd4a88a460e5ce187428212cf5eb87188211a02302a71738216ce8505c90743e610c24de23e24fad21d74851e15f251a4bbc4751f68f897cc8c74142826bbe5c14dd2f7b20302047c435bb500683066023100ca79372b7c476123694169c60fbcb74082d5e975941aca33da76d6ee66dd8851276dd85cc08dfa8991a7ad0cb6591285023100d4eaf84b070462fcd7290abe5a5c08849fd17c515bbc172bc815dffc9d62b94f1a97a436ca3faadb02921608235245a80302047c435bb5006730650230503cc072636996c32d000865ddfd3a03fec807cdd6bda06553ecc204a69c513f6c919c1f8a9fcbd1d72708e8dea58a0e023100c713e9fc75cac7345044ae82893b7815b61ac0474a1afc4d9d01e6818054398b8a912a6b620b02e819f61fa6759635d90302047c435bb500683066023100fc17aad0a1f5069c123b5530b176796e2d8942136001dd6a77de4425c8c4a0afffb992863163575eafac637d6f8c6666023100c827bf87c61b8234a9617748319cbcf82f8ce55c25fc6c010b942d093d2560d5e3822bf6d86e68c4e89b927a9661f1960302047c435bb500673065023016b4d0e2b88625fee0ba96013c797cf94b7400e676a7d459c2b77f030adaf0d52a2acdbb71f8597e5ace82275b75b9c9023100c1988153f492e11f3f043762ab95bb75f1898b1d7e5ef9960ccb882cbf16a20e175d807d1fd572cacbf95e429168e15d0302047c435bb500673065023100f3f2c1e914963db536de8574a7a067a0d0f2c094ecb55ad55e2beeffa6f06871c1e6a077f36f74722cdebc1e0d836b06023049757214b1fd3871af2eda0b025dd14d0dccdaea9eb7003aab579034dcdda1f6734921841fd13154b0667425f97ee95d0302047c435bb500673065023100f50ea6056fc7747ffa4216844b006e76c83d2c340e9c46129da544c76bff7712f7770a3f710e1b4e775d1194e3bc4b5f02306945a18cc6d688ded100bc225cfd663231b0a98c2d7e35da7b0143b60fe54b17bbfed2eb4e8655b6b8cefa86890429ad0302047c435bb500673065023100b07c7cd81372c7b780984aa2a72376e33ab506774ad45d7bcfdb19a0a60bb4b5417396d7821f37f97bc74b7053fcb35302303334ccc8e6437394c2ad1b50ad544ce48de13cd6f43df506690954842443be3e83519f488dc83538478de51699ae83890302047c435bb500673065023018bd33e63bd871a3d8949f7970f52c5b02ec41ff21ad1b060243a141661139da69245d8c55cf5357372d374cc25573c002310096ce58da28242fe32fb9180aada6f5c46a637e6b2e669af40645e230c579119f65276acc95f78194a6faf63aa0c513be0302047c435bb5006830660231008645956be7bd3d2f278e9974b106e60c7f7defa0fea37354cb9bcf6be0ad6a4a646ac5344d3ffc5dd1b2be66b2964a12023100d61c3d2be669d9b57f1ecb130c846b46929a3c226a913c1c8db81e2c1400ed2b3d97e19883183f1ad0e54dca6b9e1de10302047c435bb500673065023050044a62322d9571e22eab9704a862b90238ef7d69c09213ff1631eb831ded38d11c2cbecf216a2de29e16eda71a2216023100bd25522a9e970d558a3dc9fdf584b9f5495ff53e380d1c5ba5f812eb84f40acf5cd9117cb437f99461dc3865fd9f49a40302047c435bb500673065023100d2de640aa59fb062c990a1aa8bb09b08c66db95b07e4b15fb41aa8155a68592a56518b54970ce43aa4af51288e80cdf7023044ef39cbfc87448a9cc4956dcb381551782f8d6bf1f7af8b2796adae816a953e7bd8a3797f7a33920f51badef20577670302047c435bb500673065023100f47e082151218836d3feaef094a1b1749326ed897a38a7d774ac25d4a0bfbf9d5f4e364d7f0d2999e6f94bd064ac32f2023061fcf8d589013123af42fb130826de07383f8399693823278fedfa22a1d8b3e3896dc551734682d78539e30cfc0c78dd0302047c435bb500673065023011a69bdbc4c81d89f54b0040e62c9dd859613c90127f43e8b8adfe0fc6c409f9139e90d1301ee9ca9fa28ae4ba409041023100ad7846799b064e442de2394feba351bf32c78f77358a702a50939ff7184129d4203a80452b18bc1f78acefb5f263b18e0302047c435bb5006830660231009bf6df452b70031ad82306735070da1a6cd593d57813886585310216371346e448f02148cca1d6dbaa7df49d60b28efe023100aa16c10961cf5f96053049862634cbec7e82b7ebd4a148f3aa35cadc890d36dffe5c879ce33fd559c40cf3b99d1dc8820302047c435bb5006530630230372690974f1932c79cb0b148ac9303044a03e0553b1f85491633e6942aa6717620e97dce1e681cbf2c431c9d1dc894b9022f15fd7cb16a97f63160604e0e6cb9fdcee5b557e5190a1402c421a9281398b45fe420394e2941768c77ce7a32a94b130302047c435bb500673065023100b2f479807d4e552629aec81284cb1f8689fdb290e94c845dcfe1856851fdcb112f3081b44657c3e00de2478ef574dc330230526f29c3573eb99d98811d6ce07430f6c45fbd6f6858dda7b08d2cdf4f69453aa2c7496a4da644ac30883faf726425490302047c435bb500673065023100ae7252e42fbd85633c2ff98894145a710b8c2da72f7f2e5d773c002cc1c73a8f01904099c46c39dcd94bac81cf94155602306f42a911119e6c0ead52cb304b3a18f65f170eb4195a79dfdb88515d413ff05082cd457b0dbe8f9ca6037c77a5a558dc0302047c435bb5006830660231009c515089af13802ee973f2c0c4d1e2e9481ab42a010a3e1ddafd4375310c34aea6ef662960bbc78710fc636c48038834023100960cdc4366d24940cc7290fae3cfe6539ce9cfa613d2337ce377667b94cd1bff241ad28bf4c66740ef541815c85f95a00302047c435bb500663064023046b3dda975e092a4bcf5da6c65b56f0d0f7ddb3924bc062a864f7b23907224b743d8ce5cb11362861122878f61eec834023003599502172a82130fba01dc7c6c6e1a90f2300e5877820a6d4aeaf877a674ce12146701007c4d503c53a9a9a8a003960302047c435bb50067306502310091fd720e272e4e2b262e670d233cd5f403eee2c9dbb62027b0be9ffa7db5393852c25578edb250cb40e29e0df17e938302306977355bc08be23d5c4875fe0dd5052908ec0677441cb13dda544f802009c6c0d10fde6cff6267d7577d82eea78bc15c0302047c435bb5006630640230351fbe17bcb13900834cc44500f74f8cfd2c2c8b0df6e1507a695fc8d0d6e26b37551dde3e6c54d2356855846a80900b02303570a6b869707b943449211bca431710bd045bbc78d590242f0ca2607f8dc814dd3d5c56e6a77d2dae9f6edcd6a704060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303d847927f0800e56b1c249e811d1f051593b3614020f1f5a32021b2c29ba02f8bc22a811342fc8384431b06b0a113841023100f5ff8e57cfac298813380e2509a545bd668b158e3b489e3b635814300a85f0925721604ab11687bc7523b773765275880302047c435bb50067306502304c002134cfef7eb3aeabbc90ea41d40977e6e18f268ba8ba72e4d48f086b1536699faa23efbf72efb7d7fbaa210be92a023100cf27dfd8fc103dd438903b192cf8447d03d70b2740fac176e5c1ce1d76c4403b5b34325c20532502af62657259f86cb50302047c435bb500673065023027725d38998a4060c7d359bf4643e9ada4ebcf88efc566eebeea3cfc6d7d581a8945bd0ad00128e602bfbd04cb3cdeac023100fa43589f931974040491d71a78ea1629a516553baa5deea7c053737234633f3f1dc9e4d0b6c1a0171baaad1d434c2fa70302047c435bb500673065023100d87a3c058f735dac70a14590a379a82b838664ef6d9060737ac4f87a23c659ae28aaf3d34b519f5b5bda26eb8ebe439202306b47816b3cc41c2ff0dfaba2b0bf279a0cf22cd45412eae7aa8c06197595772679c4aeca95fb3c2d1669f0a9d347c59f0302047c435bb50066306402306edc48863b5f7fc65a2351163485d15466352e804a280babfe18289b3ae48ebb1920a1da557084cd7961ce4aec5ae94302302d3e29bb860c551b1da25f282a394a12c32bdb533edc18725fc5faf78aea0d08c1f8f4da8f3c89f2147b46b27317d5a20302047c435bb500663064023063f673c46d3ad5241b31da6d5cad5c0bd092301144f7618ed9acc56a905b58681a80c530587c1caca35ae61340d6d2a602305b27978a1f79aac593fd53f1f4794f9e39b596c80a3068ed3ce79d56c22950b0fc0d3764840894eca80e8264e45815d50302047c435bb50068306602310087b013a113819ebf28b3ee97b54f84b59286120be60e3aff6a04b56c562b0789a850ff171c9643020eb3be83516a6f4a023100fe9adb7ef3110c27fad5c0d60f6aa6aad299d7174089dd7ad5a231044e561ced9fe2dcddefcdee8a9002968998d1e6ed0302047c435bb500683066023100a604b6161f788da15e20fea5db0f6324e8610a257c841c36f7637ed8b140cecb9535ef6ad641f47ce7699f6bdcef1fc20231008476b9dd798d91b2d2072f79640e9dc19fd2087f08d4f16896616c062e88acbe2b3755def557b25058e28dbc031031db0302047c435bb5006630640230554a9e544d7b1ee93ae53c12085ce626d53d9aa4dfa45686c2feea37ea0cb9c1c06fdfbd458ea0af6be61dca04038aef023011a2c3d8fb09e5c3bd210ae6b3f640e54c08fb78013338ab04066344ad427acf1a22b3b00d609131f2af48d086c480760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230338b9ec91170a1874aded5f3e3cd6528e83fa78c4f97f4404cb215e3bec1483692ad64f735247b4204937788abe96fad023100bc1869b15528c40521e709c80bdc42809dbb9d23ec5320f8d9758251335f5447f049090db4ed08881dc2981bac23fb840302047c435bb50066306402300265ecd68db0f4ceb537b1563dc3547bc752a9c8f8b00dff175290341d33934ee275029b1cccf31f7c92cbf81ec74b7902300554b453b4ad069d1af63be0c8892ac874130ef6a5dcccb25dc15fa9007907629c6ddda2843a7808f60992301fa7242c0302047c435bb500663064023026dc59c22b384c067378f10d486518144f0bc2b286b3d52e7927c1c2e8040b0d904fcb5feedffd87bd243fb3edb0ac190230587c7b1e2412afdbf4f5d980473f08750f9e30a943518af1c52f5862a2bd2ee8d99146f185b5f5a92a3372cc1708395f0302047c435bb50066306402302302b8750d91623a08d91f95d9db3a618c67b278c8aa675ecead625b3c8a4d2148896d511c0c11c9c504276706923d07023078547d78cd5274ec46c103cc2c45bf856f97a068f93b08f48bb5ce567d19841c2ca2463d7e442264e3d0ada94729aead0302047c435bb50067306502304c73b83d0fd4877b8e33908b13ffaa3b29cc5cc17db0944f5eb3896af51b2a7b244f6fb9133d1d3f7ec786944569f9b4023100fe8d3342e14df7d41380b9c3e0047727b7fc718c1c5b1ba1b89f5fa007118648e320dcdce5a1efeef0493626792570660302047c435bb50066306402300e24ad782c27402791e0808a7d1ecc0c32e44eadadd8971f3b1ed15b46b877a5591b9f44e4355bdc0ac2e2397d0982950230505dce142528e6ecc4c0201193a23d6b671aa68cea805190a2d42e5b6503178f45a7c5a06229ae773622e3f0a3bc8dec0302047c435bb500683066023100c689fc7f951ea3527cc2d6f38e5a76a5ff148493da38ac2102d9327999486124bd1b76a3106f24e1910fca721a7102d6023100a65a91bc52e070746a581b18e10200f1f91f915858f1cccc49528338342a8a917ea35f6db2c813e3d9f33a077893fb290302047c435bb500683066023100ad0f6374f49e7086853efa8dc504766e7ecd855f2b994a48475460052f6b4cec98d1a597adf66d303bb52c90d2ade2f1023100aff7952cd0bad91e53336d2b87459197e070968615ab078c590ef8358a6ee757b94054a96a9dd48e1fb8e1e58eff3f020302047c435bb500673065023100a5c09dea56dafc1dca81b27cff21a0b0d3f52260d2374ce42e79d7383d22e048431ccf55dc67d5bc86e61dd6b8eef6db023050393e757121ff73ab6e02b786c6bb67258dc2c76c4ef8727326beb9b854498f562d5325583aeddb1b92cc968ccee77a0302047c435bb50067306502302bb0cb194727f105168146ec46a209be4892d376d2b23ac702fe30609b72f4b91ebe4d0a59021fb9cc7b353c795c4c02023100e3b9ea8ffd8dd2b81aab8141d23a84f511d228a51678c661768b89539063fe895d179a49183823d8e7f81fd5ad42db380302047c435bb500673065023100946e52a3e1de1e40b83bdb0633cf6191d1a72bd89c12a51335ff0e99a32da6f445067778623b8a9ea7cf1e190f40c49a02301ea1632a03b93365c674bd7dc7640b407327dc0d81ef21e9f2a10d858f4826cb6c9e17aee743d9f0fb794492f7cd2b0e0302047c435bb50066306402307964a9ff1600a4bcdacc6b8968e09360b1f8afebaae6620bc9683e742a8d36212f645550ee7f0c6d8655b3546e1ce402023066adaec3d3838f2c23c281c4159f1d0f2568128464188e2416efbf18a75780898bcd1404f93d110b964756d0052b2f1b0302047c435bb500663064023035e153029e87b873e0c0e0861a0bc8249378c6ea72c21c9b4fdad4c993fa029e8e13fa8b629e3d32d4feb907f071048402302d86d1e1d997bedf6791f2201e6d5af3ac3c6167a90d2a4142bfcbae27dd890f9199779f9fccdc774995f3f1f95489a50302047c435bb500663064023060c1b721f865a4d780d72fdc28df183371350a1ac566dfd258f4786e59027c28cf3b3860626ceedb549b404ccf4c94c902305106ce7d6aa08974dced77d5379da0dd70b357b8c0fc4fe8f29c95db1143d5177ce5af3c928926de7b358f31fa0afb720302047c435bb5006630640230622fa8d69d821f03efe81917a123e7885d16b3f1b5807eb67b33956f71ae49ae4ca0264bdc6c6e517a4a84e5855b48e00230375c7d6a30a3042f676447aebcaed649dc4c6ce73383ee1e67a2538c2d8062e5640fc2bb4950ec0f9cfb99ccc1e7bd6f0302047c435bb500673065023042ebaf57923c07557e067b6f62751a5dfe7bf0587a35823c124fefe6a96c536c27b9c5ea7e5e8817f8f0fe0426776a18023100f2c67c989c27c3369809520d1ed43dad230f48ceb067ef59661eeba0846c81a50c6c090594073e4e8f2fccfc4628abd60302047c435bb50066306402303056eeadcc25fe60d1c4b6447ad1785ecbc95c60235a56ee63df4cd6e9413f33e2cd8fb76ca2f0dab53932ec4feac86002305ccd41b65f4fb11abd87439b96eedd130384910a97483291a1a53192ad9348709ded920620700b4b673785e4ccea8e380302047c435bb5006830660231008b0f854e2a0ed64b97d5624fe631e6d2fa434dd392db6bd65a2e82f4480cfe27a092ea1985bbd78486a2a60c5ca3393c023100fd37d618c3a1b250ad560ef5d87d221966ebc57ecc2a3f342aeeaff81fc0d23471d893ed1ede5645354f7c9ca2d273d80302047c435bb500663064023022ae5d7aeca179ae87c32bfdc71687df1cacc235ee507524526e43f0dfe4f8f5a41bf05dc911b8091fa3c5ea7d03b16b02305f8ec2191f105d12357327228e2f054ccee6865c8417877e74f9f789a23660f59cd4583feafe4993d2236bd31e4aaec10302047c435bb500663064023020ccec59cb7311202d66a5d0428debb81bc182e0f2f9dc76b6463471852b8f55bba6b6f9b23bca0d37ff77dc4ec104e0023060d7eb1a583caeb92027229d13d1c8668d7ca34df3193acec882fe2a1b60073ac243f89cf582ef3dbc6180fd50ba57420302047c435bb50066306402304edc6f4ed7208e2594af814ec68b9dbc462a194a22ae8fcbac341973d3b6aa991fb0c3424be81b223ca562e9029132cf023020af41a79713cb2b87bde90762d6a94ee4687f4fabcf7df384847047cdcc07d35007a116d29ee2b261bfac266e0510b40302047c435bb500683066023100bb65337a1b0a57adac5f8ce7b6777dd278a80d948fd01c88ab36cfa247097f9fa7a8f30efd3c2fc954c7bc5b93ffc3c4023100df0e4b72a25b3acf71fe912ed680cbc65fce0586582389de391a8d5456c7d6afaeb2039df08568565c8574c84b4b73990302047c435bb5006730650230040bfa86173b6a08d906912b99e70c9ff68e0dcfc6d3a03518faeb61e02c2ee6bcb09017fc12056dd9137f25c3ab3f1a023100d64b6fdd57e1b7258995f40a013744f20ce3386615ef4d0e09252cb27f6294f8101e202a2012f3bc1782bd557fb6f6380302047c435bb500673065023022391486e3f7123aa5a589f2a197fdd47b6e20817f4bf814f7b54e1ff8b01ebdeb6ef0ecab9bd033f074ea6cf1081c0c023100a691e59b321bcd8103a41d313c2a3b98bf4324b61e7a4894f54ef21e2bcb5dc75279cedd69b1f946a3fe31b31a65701e0302047c435bb50066306402303bb8eaa6c3c36a49e3aa855358eb162b028960f802b8d1f1d2a7617a23e38bf3ccef62d8e355676605e92dcc675daef602304fa558cd3d50658e767ea87bf5bdd6f6b554d4bda6c5968099a9f595a25bef1782e671e442b702b834acddd0db6c8a280302047c435bb500673065023039780d64572089679d34405c4c93a6385ad979a18e692d490a3d8c6423a9e43fbeb993f3d83c1b7f2462926fc69e3e98023100c66ddd23bc637e223a4e160cf5151a5b763a39eae9ad82f8449001f610f1e717fdb50380087e8161b553fb98ed2700f20302047c435bb50066306402300adb1f4590a4d6725fe274644421e3433ed1c18711dfcf17140efbaa58f22d3b71a4d30518f64ac5cf8ca60f0e14578702307a6c9570b6616d1e102905e9e6b34fce792d96ba7752a54e8a7b2f03ae43de89d6b55fef97e86b22bee265eb9d38b0ab0302047c435bb50066306402307a92c909cb00c6d5d1af440646967722489cd1acc88dd9ce70348415aef2daaee813b2573ed71aa6475ea5f820a63ae6023025c7376aedff8fcd80f5c0682b99f6c8d5e1e1f3d76478f12969222572c3b6be4618f82ac2ce8ac10f73d0991026a22a0302047c435bb50066306402306cda5a4130965faee3a99cce7c4b5a94c4dd22294155ba6a87bac0c3ae9eaa335026c70a561d8df6af2a13a52a14d4a5023069d88bfd17bbe61e39260899f99505bec2718b2705b57e36635d21211831eca1a34c7899a5b7702ea89daf1a75259dc80302047c435bb50066306402301ce33c8038d8fcf0d747459ce6075d897cdaeaf2cf3091084f09b5791c704022f975525c11f936872225d957508b284c02302aa7fb453007381dff8beb52309b3d15973b1f24acf2ace6af31edaf52ea220a56a6a76d02661ec1d0163fb28dea10270302047c435bb50066306402307c2a2b234bb89ff7c529be50a6311b2291668d9a689bad7e2cc8141206cea75a978c5437c7bd606f4faca1e6ff3f378f02304e4affd1936341072da9ed08174e87cd525b460374243078ad73297d016f14fc1c594bb7ab2362a79afbfd50775cd8ec0302047c435bb500673065023100a83036574166f70f22b48274f296a48a9efd231f3faf14c7bd9301b935baf2acfacbd782110eb1326d31bca844533ce7023026254f4c0ac2bcd0bd674fde06e22952e76b7f262a7b54e52a57a0c8ac2e67eed7498bbc37a11b8be2934c665bbfe8890302047c435bb500663064023046efa116af36442aa8e7a21842cfeb982418eb346e8845fabf516e973524ca9544532f2562cfecfb64bacc4e7f355e86023073c3bed73ee9cc8ff77f3c1a9ce2c2c57d4b9f34e745aa149515ce1649adf6d4d757dbd8a4d03b9fedc85da2b03174eb0302047c435bb500663064023019bc5df5a1fb38a1731517724408368ee2aa844065ec6cbe7f58157b8c35061a39720753dba98405ec811ca643f776160230401c896a8ac7d5e89c0fd4046d7f8541c222711ca16e36ce550b64d8c1efcae45c691c2b16fbe7f445d5b2644cb8ee3e0302047c435bb500683066023100be4c4b4a4ec5c2729af294f98ae3a9681078a3b385cf1b9f67801b2c8807a4d0810142c578d6fb1b6f2cf690c53a7f5a023100f9347f360848fffc20358a1aa2d66e84c63b32fbad13a014c0fe9e78b9df9af3e23d3b99de8604158879b40c1c1dc65d0302047c435bb500673065023048c369f02aff2d7b820e954172430be59af9cb8873b1f0ddcc46d49d9fb0b1d5837bbbefc864164962023f003cf5232c023100c40a95774411f52da8929753b33014c83317ad4d5e045187d4d1031a9d3983ad53f7b8c19c7f24420ead12712ad9387b0302047c435bb500683066023100da3ed5bb7fedc9bb67ad16b494141acd4598fdabc199cbcfc03b328a4ce630ce8930663962debed848a37d554203f54502310089b4e1a6835206cbccff83a0413ba33e10de1ba3dfc8efae0dcea5455639d346469aadf4645ff9271aa871970f05ac860302047c435bb5006630640230449fbb0a22b2e83fc933d051187124f93e389a150d037b8a3598b02e340a2eca779fb90876eeee52204599921443e2b702302a023b009df5ebe66df90d5f917b01d1445253bc131a9094a4c81e582c623ce14f1da0a7c8317066bce81fd148faf3500302047c435bb500663064023024971f6c37f4828ea23cebcb4983d222d4797218c30c566f4b29bc55804dea821a8b007db923f243316721592bc81f5e02301eb03324266fce97d1ba88670895b019c1d7b8e69c7721f81166df26d3dfb42897151f0775b8a44bc7758f7beeb587a60302047c435bb500683066023100f9ff5526c694f42369866eea770747f2d2744fb83bb7afa12a924bc4dad22c68c8b4b013bb73cd4aed84eaa281c147a1023100b4ce6bf49a402816f23421f7f650dc42506b4b4ca68fe62eafd082474fa5929666cae09f21478cbae9fd8ce8417636400302047c435bb50066306402304dbc285005ce987e2fddf78152ab2b99606968f8e550a3448ad50138402b047d3b1e689422c68b6df1a2075b0b9ceb1b023026b3a901cab7e19460403fefe7dcf209ed29dff8c28811ac6c8d159d8e6d54e9e146115ddcc7a285b972a217c06c33130302047c435bb50068306602310082e2623ce43a2222a1489be9fa503239654ed14d4f55c1776e0b978a65a0e0a88667de018d20d225f2385ae838404c12023100a7d55ada9b661cf1ccc30dc13b864159864329f826504b3971997b7aeae4c988174cd7cd82534801d5010f9c0f08f7430302047c435bb50067306502307f852ddeee853c4736c9651f042df3e6f0a6ed6e1269a21498a7b6fc8f610fb989884ed8d7c20676a81a6bea3b692c3302310080fd134fd8209107180ca49449387aea6159642446fd55b76eeff8c218ff121ff97e76eeb50ee3b8c8ac361ced6bc7240302047c435bb500673065023100eb668f401381146c59afe29f37a3b32232fd6523da22c422de00b5741b02dbc920c0df197f1ab08829ddd1c1fb461f4402303c6cbe0bc5ef0e8967e9a020039df1c17ed9a991bf659f00cf67b5700c1a2f9a8a6e4f1712df5a807525af76f79fa9770302047c435bb500673065023100d8654541d8479164df6f5e1dff92ca8f270dc5fedb23a867402176f4dc0b67d0bc2c3cb787da3cd3d8ed741d61e636aa0230473dac7fb0fdc88d4b32457035b753c427bcd6d7135c1e6888a70757ddc2d442888459bb3738e5a54fa333c32020a47b0302047c435bb50066306402302ad961c41e98def69c66e9f149b77cd5b471428778d89afb9aa7adae9d03f74385ce62dcee6c2fe909bae01ab17ff2e202300a218c94f31559ba104bc2c9afa7a2a22742288814db8ce32234b7304c8895bc86e4daa2aa9a03e939ebd218bd5fb6800302047c435bb500683066023100c8089157c89b3aca302c3fda03c364afc8473b4332dc749c7c3232d272ec6f3501e0e98ffb82e341057185e8d61bb60b023100de0bac940f7339ab74f5fb551877244cc3a2b62f18ab97b14b221062a15180b058bfba236b808d4b625c6b8bc68ab66b0302047c435bb500683066023100bd439925ce09e5584ce4ca3e75f1e4f9d009f82188bb4300f8038aa9c54263bda48e137d2ad0db5b6950e3b2c0dc8bc3023100afc450738181a485f096667f39bf3aa432506f65685ebde19a6093493952f8c75d2bd6b3c493a3301053a412ffa7ba510302047c435bb50066306402306e9a5dbf30cee89def1b579262834d2590ec0798faea5988630e8a69d266338a070fea5c9862b8158033799175fc8b9b02303fb273ccd148aaa6057e45db912b7acab34c8bfb380856ecb453cc664cb8360aa7dfcf9aec6410474b6cc11ea5fd21520302047c435bb500673065023100ff677c1ed526351f532967e5396d38e2ad7396bbecceb4c3fa5760867c6980a63e74e2db53c1e7b25b0317a4e6de8efd02307ec516c826095357f1bcc46156ba717b0fdaecd609903f9114b24cae77dcca48ebd733ac8696db9adb99ae20a69617080302047c435bb500683066023100efb07c2fb7b8a095a37f12488d27b98fc2b6354382d229948e609549e352d3c506aecde8d1e77897ac2aab7cf039b08c023100833d258346f2e8cdcf86390f502c6a3f7048ab422fbf15269d9208845649a13e085a52d76d4489722be6ccd66277603f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e02eaa8ccc5769890e3fd124556fd74f3d5beadb6f50fbe892da1f4c0c09f6c744c6d10271309281069b946e87bba59e02310083a1072c2b781df0e206ff70fd1d298d4c8e60c9fcf79a8df76ef86a9d89c996592ac925dc9ebd777e23a4bd1b17afeb0302047c435bb500663064023044a0ce72c8561351dc8c3cff3ce494eec7bd264ea7101e725853477f36a1d01c3223becfb907e670c9f19f0d69a04ce102306a2e1f39cc52e8bc541226a61dd5e6cdf1548d5837f4c9761d01c4f96c16089c169013ab3878462221743db52aaa25ad0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d08552aa3407d1a8a6aa4104a725baea91a1474382e497e6b4a62c1de4f4df06d2451b3f578824b78c249fccf81d713f023035a30c41bc9326c12e2b9534f4d46a1c5609e76e636cb7f8f8dd4368b941477d02988e4cb61fa0a27245a882608cf3520302047c435bb500683066023100f55db17516429e9aeb6a9ef05b014f6400c26066c14eefca07f81aa423904a6e72a5307f704f51b974e12fb0b8ad8a080231009e3acce87d0c65b558adb551f26778d4d7f14688f4c2f102ca41006aa425e2437b5929a9e9b4dce169a68150d26381dc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023056e4f1eeffef718da290f48b28136f55eda17d15455478929555a3f7a038fefc548abce25a9c44a78bcb5a03819e2b9b023100845549a055fdaea5a4e24dad308d26c4a3836b1ca2943de50208cd8c3be67ae67c7c20dca9fc26793f77b6819afbb3570302047c435bb500673065023068ae456da09c37d0e0d0e09f043a738618e7adf91642c32ba9286098cf2fe8861df12a1ad443acf85adaf3dc42c9c7ca02310081efe14b8961671166352b0a7e3886e3c0ad9db6c686a2cb1ad419a43467105fdd77dd6431628972a6590184b9283e680302047c435bb500683066023100ca5d67bae0163edb4951bcf85d5e1b151583429409eb58f4f2ee73ee7b3561e9c89da665503b2b398b5b6421105aaec1023100fc81c34a5246fbc454737ec4fcc929f0bb650bcb4720fe8454a27a47527dfe26348374abfdc48f18ea59a2ec0b8669ce0302047c435bb500683066023100e6d7e0dbeaeb8571cf4c40e031923b155ce350b29af71b65ba978ec2b3803f0207e74337acef0148fa6df5bd20683f7902310098c10dbfd954aa88a5fcca3ca5f465ed20dca511fcf4ab1152fedd43ef6f208fab3fb9544e37ac0955acfaa0254678d80302047c435bb500683066023100dedaa7b86044696e49fc5aa90142f906f2f7394ca160331ff4e6962a3c1a0f4690362847be2814ea79b4c2592ebeb1ed023100fe6bafcb6136d79920d633ff816551e40005baafc4fcf7e0ee14c30e0a74a242141d3d17d3aec7281693443724f712c40302047c435bb500673065023100b825da4a9eb41be6fd0e1a873ca814ea166ef3f30460582711b504e603a80e9bf10a8418099af07fc52758bee0ef3da702307516fb004adb512e0166c998cab5f40f63156fc5f12c4d476b32431cc7254fda26980a190acb3c42d128b23ea3b56a330302047c435bb500673065023100d27db66a7ff54e924cd904135f47ca1fb601792420cff3e1a676e62a5d0210156f60f7ce46365535b67c3d24dc7ba4030230523b89fbf8b2287d585992bb231d7790a9286904750bba3865fe76e4f5fd23f616f0261815c50d6cb8a1b4882ad4e7f40302047c435bb500683066023100bf8429f3a7b3d8b7652cf48caa48e9cb4b3b8eff3c4b2e857f353f86077be91b45f99c95b0c3dd0f717c2ea970519fba023100fdaec00d2af6dad587e7b5e936bd502ab846ac982694ed032719cbe8ed8763e4403d44efb674cc4ce530422ca286abeb0302047c435bb500673065023100945b2fdef72e641e7ae16319147c278dd46b2407722db60d6268de4c76f2c58a0f5fb008781ee629a3bd6b46a310519702304b282b896acd5531eecd55f8c1b0d1c0c7ed754024e8f25fd3311380c55d8ac30252df431c3031e63737f9c60f6307c00302047c435bb500683066023100903d949fee6e46f818a1ce258409459b94df04dc04be5e52f0a76d1ea228d37ac9fc3a6cc43695c3e4511dff317736e902310082a19ee6a75abed8710e2c46c09ead2f4973f9fc3ac0effc8288e6e9a0df8ea5ac429fd712ed1ad7a1525d9d7ac736d30302047c435bb500673065023003f94b41de8e5dc6d05fcd4273c2ae8c71c83d3590750461988751991bc387e48e194b838a31a61462c2ae2e160170170231008a0849217f56ac197aa39cd53ec829cc020e1080104571bbdb39e918e91db262aa7af930b24ccdc2b3073abadfbbbe530302047c435bb500673065023070f0449ad455380d6018bd99e3c74fd4474bf830669e9525055f3674ed35c85b42b0b5d08d86534e430d76752bb928050231009b332b803f22a696e13437c202b23ce915f29c082ee9f0177ddcca2a15d685215fe1aec851640c69a3b633131de088390302047c435bb500673065023054336d94a1a3adcc694c1d04eeee839eb73998de1736044cf1d50b0d7d8f2533edc42df3ca581729d7612eeae0e099bd023100b929f60dc67c34c4e15332efe02d697f43faa4c1b539bedcd00b84696196cd4b5a5af67d2ff9176ef45d210d904dd49e0302047c435bb50067306502310099c30730193912fb779db048446388c4936b8a394c1e90656ae9de7c19b9046082357bac67a786322548eefca43adc56023071bd85433af9882f153971ad7813ddf08d8545debd31fbf0df235169a91cbd34f536325b3fd622c2fa2eac1b391508a60302047c435bb500673065023100a2f81b345ad497e0eb50c70da3eba5d3c6908a986447c1565984f447712b7e8b8a8f3149976aa5154cb431b9c7a9c8770230681c8fec9f9d90e2a6be2dde68f4d63224ea77408e9c1ba85196ebbd8cec9d14b81676eeab3cc19bf6a35b048955559a0302047c435bb5006730650231009b6c76a791791c9d4527f1cf493474f6737ef012737982a15a4a88f2f5b4a4489050a018097f290615fe0bb94f94d76b023052687211251e25e1c5edf9aca1ddd05683bdd3a25412c8eea7a55ba3879b6f7602f4067b680c89a5e2c857da48879e180302047c435bb500673065023078b130a54099f1c17ee7cf315a8bdd4477acbf254c1b1e0e763fdc91fb0550e017a31627a2e79d64a56d5f53c55f1111023100ba54477cb3f73268c361097fd0667522be448ba0d5877c2233b69fa1165c1b8325f559b196c441ee4aa807b349b2c72f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307f6d1c1234b7fba16a5448852bf98f9cc53f5a71d8dc85461101257fcca2e156752d20d92ee8c6b0a123904674ca6afe0231009af742facf1287f353fd3f3c729703376e5d674093539a525fdccae41dcca478a201a18f0e3b03e37644bef8cf33f10e0302047c435bb500673065023100a1e7b5ccaca901dfe66225d54305e10db17e229e75a0f3408a729452a266e84d12fddfb805cc70ccc17e53d53aa147c802300df113b9517d206f772476a399d5673de4bd6524633cbbe364c590689616f68d493f058d8f0bf870de81012f9d0021100302047c435bb500683066023100f533d370047749440c4ecdd6cd66010502d249c40fe2a79443e02ed1c81e1b59360025261c5cab86e0296b8797a81b89023100c1987669b6b45567a42d04eb53bfd2411006be6e4497c834c8c18b4bec1283901e972a0ee44cbaed2464edf0e8897de90302047c435bb500673065023100ef46d6ee1585508a4d0ec1e13d3265bf227d5820c9f832f4807ebc5bda90f9035d7d3a4d5852bd151a8ac5eaa458c8e0023044b25701aef852626d29663bcf7563c0f675d2da39a42c3983be146460dfa461d18f77de1afafac1495a6c65d299bd330302047c435bb500673065023100a96f0ba3f60d106f80105bd63327961aa262d1bcc53232edad8a97e5ff5f0421f3b3373511f82493ba7dac52abbc979a02305f715a19192597ba1749c7f63d917b1240c77fb77fa53566afd0d7db295ebee4af156a038aaba69989bb9286bf0a83ff0302047c435bb500673065023100fd7e84874541b9382a9874c4dc37e6d993a687a7b29160e93ede58a31e88cf02e000bc0c45ff790ae8853d45c2f5201a02304a42fdc6f9eecf98af37f6829969ba788c1e97942a2b7013f9240a1195ac790b0215f4fc14da0638c06f2f5cff4d7a670302047c435bb50067306502304ee8fb6d481f1f7db218610e8fb5e46f5a33e857f49294f2689050f8892d847cf31136ba6ed40fbb91f2023eae702fb1023100ab78d8adad34373419505f7a3a0d98efbdd968471b1a37a935088b86b63c0dd7d06dde27ad134e4d748c6247d0aaed8c0302047c435bb50066306402300433cbe999bcb64294f951d888bf6a3324832f27b388212e62421bd388927a8dee461d8dad53acb5152b700e22d7a42002300336b4289a2a563d84b89f814bb4fb40e9cde6f89f7d9b26aed72ef8e3e48f2b5b1c72d6d6a1ea75ac96097ec55a8baf0302047c435bb5006630640230218f2f5f93bfb7dceeb90bb0f62dbdfa6bae62020e53736eeb709516fd37ca6175aebc75efaffe97c10f7713709dfdbf0230506828ea6d86f32682774950e059b2d42fe9c5a87e8572554cf94ff14e74cc89c4b9ffab4413fb72fedb22273bd1f6490302047c435bb50066306402305dfd03ff001933cd99dd9bdffc93e0e9f106e942efac4584a83a44e0b2858bea674e342a80213a2443380ceba3496edf023029c0c90d8537c6a2c323b2a1f56d9696fccf4ebb628c2fdf00ea37831b62ac4a682ac0acc7ee085c390e2dd39787d0f90302047c435bb500673065023100e9df50bee412ba6325bea330948b2ab7234040fe3b0d4580c1c3e64f7068864673b4a72f50ea56265349f3d0ef2528e1023027f526303b81c2db46fe65e3a1f884c296e275b210afb8f2c04c99c2d73cf690ca1747c4bb0f8fc202436f64ea765d1a0302047c435bb500673065023100d2b2386e5dc3cbc6851890d1d304226ec5e1f509b1e5701bce13598c25da1407b27313b655cf0f441e8a86f7ef68a001023019bb83dc4bbcb7aa8ab7fd13e1f5d2fd8b01291898256ec8a288c243b18998cd98cb0f32b8bb045ef46a3157e4ba3cfb0302047c435bb500673065023100dce13d9b485848b0c0677ff496d37f3a6febe408be27b46dcf8786c4648a2ea77538e69941de0594cdf7b4587504900b02307a77f8ee15f513fb700ba095439ec9e7e4f4cea7690766401c5da796f276d5c629f9ef14b619a278fa05ef5d1a5cb5b80302047c435bb5006630640230570921b515489a8bb1576655e22244fa205fb366f050b3998269640e741085456a45ad255d635b9457e73cf1f759cce802305ed013c21467f931def8d84dc51ad5c8b6d317cb2147f7ca3f3af9177108dda46ce7e30a668c46982c73ce252bc1f89f0302047c435bb50067306502302115ff7dbe361fb6bf713d338d2f84e10656c172236b8e1a27e64c61339144bd00e3a37f1a03f261ab79621f797dca410231008697910551f18ef90db613949218c5ee09ca1a8cd0bf6322c125eac147bb71f7120962f561cd12c7c108789b250170ab0302047c435bb500683066023100900ac285dac4b76127f474d23b4dcc937e587db138cf2ed12237f5ebdb3961ec9e045f8c1042ba3a3ccebbf270ac87b6023100c00b689b1162f707be205aa079291281a2c9237133824da9b29e211745e5c4f320966805a1e75a3bbec324186ca876f20302047c435bb500683066023100bd968db7e5a9a59cd0fa1d5994605adb57ddc1f29ad1f865cc6d8ddbe8429ed9a913da0e30ac79eaa9a8ef0f2e431815023100b8b1adc4eeebce0aaa9c3c6f74b59813c216ffbd73b57b3f1ffff4aa915418c76d1f8f5633fdc0129bf8826121d89a2f0302047c435bb500673065023100d554ed75c2106a6f0ddd98e4d4c0022d5ad8a6bb292f8dd0d8d4efec1995cb45a98cd2e432e82e9fd43eec70581c107b02300922ddda06657453d57c3732dbd7b277497e7fe02ed37d63b851e243a6ed07ce163db2a99ed03a67a5acd31ef7f3680f0302047c435bb50066306402304e5e9670dd4778b9a3554f58869407fb7ba55829f5c0431d7e7f803187a63f0c652a43fec0ce34bba09660bbf54e9aab02305210272096238598bd7e557f33e92a611c6259f7979a7afc97755db6aac77d0033a10e71f5a117797aec4680c0d019890302047c435bb50068306602310093d7ceeb40d6763c8d6fa65d4dac7bb5e8d7fd7164b12821bdb3c55617da64ed98dc903ff3dbb6a72e7f2a773d4110b80231009082f36f97197fd523b061f5a597049bdbf2d9fdfe292c010a7832509c277fba7516a915e0d698064564a85cf28acd760302047c435bb500673065023016ed6010c7a62170401e9e1be2650618d9014f34095260bd98af440ee0838ed939c266ea954e2cf1d3841af327d22c99023100bc051544c03ac277028d4d0d9ac62412fbc0b2a2c8ee146f6f69d6d14e967a0bc577413e48168f2b916d2491282aac050302047c435bb50066306402306c43d2d2181de343a46d834af833e0286a55cc60d97930e4709cc1f8bc25d3ce46b82188869602263091ab3840505fda023048b3cc9fd4ea0b2e6133b8884d447e6fe995f8fa06e4fa8ddc6735692b1d87a94e93e5c5bfc7fd6476601a23108f5e150302047c435bb500683066023100c2366be6c0fdf79c6c6f8f31de33aef0f4afcb6fba08b897d1b4713d82870ca117ef1618ffa14f3a800368216dd87a0602310091b73ba5a9c84ee93e638720f5e307ff0581f17818627b935c072a9b43f60cc1fe3af8553d20c13a879a4c4cdd8e64c50302047c435bb50067306502310087ee9b44d7df213239ae0b8d5a6ff1a02ed8859ea290acf967728749768fa151569a8af5b2a4cefdcd745f231ce9a104023045d736fefe3efc17e28c4f9ddd3141942f95874ae7947bf4c7dc4b325444780d97ee459df1083d615a198566df62164d0302047c435bb500683066023100c90cb90b6d8bb8dea07ffec8bfe285238edf463f0e51a9c70bdafd2e867d5499a1117b0504fa02597331657afba0ff1d023100f5b3f9a706521e5b4907ccf24a78319cff25eb094b5963d788631cf7c1fb2fd1a04e2d95063b21a3b237f5dfcc51f30a0302047c435bb500683066023100de2a00cd1c0f96f316c5de269a81a66008ffc34322322ce20042cdf251edee397eb69ff698768ada3111bdee58a299ea023100f6ba1dd6a909de2ae9384a496335515e5b59ef359717ceeec22168e30ad07931739af5ba7e8521de86b7a7070a75ae680302047c435bb500673065023100b86b13ad2ae8cad13f4614495119f8bc04c52b3d68ede77d0cfa22deafe3b8068cfb35220aef24e0f09c4b1fa965a26f023018e8e01225f460d70a141cc17d3173fe24cbe0eb7069f32f3310bb95b678c9608949ab9af1c107e0c151c339b2b66d450302047c435bb50067306502306b0c87bdd619cfc36b066945d5dbac1e5be17cba7a09c7253cc20e5a1052162984e0d128b3c41966f5bc3bdb981e63dc02310094d2085d3a238afcfb1c88ca330677ee78262f9e92ac61ae605237c0bbcaed5014f3e0c048a1dc4e62ab1ba66d2cf9f30302047c435bb500683066023100e54e9fa66a9cfac47112e82365cf399777c105c346f22c98eaf8f99894391a87e8ba2be23a8d80450028bd9c5d22252c023100c28dbaa0a441a334e50866aa86cf2c7bc4f953c5f5c1b29dd42629f42dafe60888c19696ee20d6b62b5aeec386abefcd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302313db662ed768a54d9c889ab9e2668d897cf5d52c9e74c004dc0183f115c5f442202d76ba6b688d530f024b79e907e1023100f25bf5eca0ade43e7e2c67ef617b0fe92590e17ffc8d111a3b3bac5b5929fd93b0f203cc228f0d00bb08e2a71f6476860302047c435bb500673065023075d10d644c7c1662e33c7d0bb13ea500d2892f9354cffd6abc8971dc4eefb8ddaa5f5e5930be03bcbc65bf37c0103e9b023100abd3901b2138f8424e6734cf7802d675e3a2ea47c4c08a0416273579578cf39a716251ffef640e7fb9571c59316493770302047c435bb500673065023100cc51320d4511c47774db5e3edc484b18118c8dc7c1c0f6353742d0a860a595063e38ec4544d3fbbf20fc23102a5789ae023011067590ca5dfc223e5d298c940726ac3514ecee85b87c4b8f30d7a7d73c120f731d5c575e61da36fd7c7ef3fd889a8d0302047c435bb500663064023058fdd820b6ee93d2b94af2ce93dbc02ed3c32181766fd03e62554c781e471478e6ddc6a024f004edb54af7a4ceffaf5b02307087fe25b10d9522280a08fe784d8a4d7a4c5931475a059e01870b6c63242c6b5ad24bfa3ac444198638dbff841367d20302047c435bb500683066023100bc2236ac0c07c4144e473cfde6477c3f06162be462d14c5c8faf871aad484d3c1f83e6e78ef520fc6d0abcaeb00f4fa5023100975adb82931a38c3d9db0780f721d68e6f6014aeb198c69db15ddd3688b5a060c8c039fe231a1ed643f9226c1be3c0eb0302047c435bb500663064023014c6ba598b615a5adc784f16e8b405820e9686435dc4d5f57e06b1058b678cf03dec7c24c110e529dcf7dce280d568390230104726e4b1ae49bef1e3bb76026d545c6c95eb8fac538c91bad97cb343ca65ee2107ff589a714ab2ea450ad116f2724c0302047c435bb500683066023100876044b7c392ef9854275a3295adf2b0a18282878a65bcdfb45e60ee121aa2fc905ecf1957b41b3f29e8a517b695a08e023100a6d951fb131fc76322b634e7a27d00038f46490fa377c15127a23cee4d15860f092ffdcd26825954c7a669af46eadebe0302047c435bb50066306402301a86fc4bac78194536c9904608ee219c97f6f64d956df75e1d08e6fded95c691fdfeed6484a51cdddb65e62afb2e30a502304a2679501c2d63bd63cf1e05bfeb1bc0e5c927cc01a6fccddf51c78d323a20ff438d9887071aade39913a8ac4b3e8f300302047c435bb50067306502300e698c775cc5abb5bdd31a68b958b62454514abf5aa518c610befeff26a5d7c4f1cabedbac866a5a032a900e21bfd9b5023100ee8c9259c6a4015dfa2dad722f147fe7eae9e93ed7435589b44b7cebd60cb609b3e0cc3565a984f77444ea65a7dfe03c0302047c435bb500663064023055ebb640ac0d70945c489cf204c148360045cd7cd8c9f3cd617b67cbb264ac779e89a1cb49d0aa7b9954e403b663e7c9023019d79eeac00caa625099e95d910f577469361101bb7b0dfd4eeaf583c69c8b3d9e0bdf612c6ccf237f1a6dad7ce016440302047c435bb500673065023100dad224278634fd3d58d984796bdb4a35762394f2880bd41693a2fa26acf744cee2c70bbe1e791a730633bff0bec8578502302b1af236c1f9dde946f4d2ecd264ead3fd80d90f8f1441175de9a1e3079bd00e974319ac10933dd8037e50e66e9dc1fc0302047c435bb500683066023100eae129d56dfc4086b9bca1cd2e168bf8ae15cad452fbcf563741b7ed8dda4389fd6d314283dda2fe82e8a4dc28a94fc7023100ef6acfcc23378108b93c6f2086f6b3038b7c91ae66e802e821105c9ebc4374ad1b58e9b26f182c0f5460de464129c9320302047c435bb500673065023100fa01a32e9fecf13ba131d36a32dbc16ad5e37d9312cdba48394c5545880d37cf5c75b0d1f6bf26018462c2df4c7d1531023024b5783c195ff0316481d25c848a96fcda574c163f9ecb01cc910766e73c6437b5af9a7723239e60bc91b440f2f5abe20302047c435bb50066306402301c663caa8fc15481958a557ba301184a0cc6c248bed815054ebd4a5df90f4e23b014ef224f03218efa5fb8994015577302302c6617c96562b621f393393a8a60e88591099f723de2269ba2ed0ea0a80b6523281133a38357e132a6b2387c00abc2e40302047c435bb50067306502301b4077da307db05e2a69008aa9f7a0ff5e22e2fa41c6df0087f4cb917481ceae9e4f8bc86af023c22cc9a111b0c2e922023100e3fcb0eefe6e39c9b03a6ccbad2d79a9aff53a28a4fdfb7bd063804361de83fcf50138a7a006646a0c3dbd079bf6d6ab0302047c435bb50066306402307f5a59331f80fc4481114e608283f63fcb4d40e5a5db2b227e43811ed052225c56c6353a12b3bbe607c02ea033d3c91702302a004226f6d7c2faca0f41c2247ee40b9e0b859e48220fdc80f17f1000eb3b0f12582ba32e0c7d68a076f2f98785f0140302047c435bb50068306602310090731502bf17f2815f2421d97720e9ca64962206e77d7c615d7c04b971fa3d19fc292a891be2cf831aa0f4dc81c2e496023100c35c1b9cc96dcf60cd28d8485a17be801c6f3c1259075c2de53ee7ffa69c71c4dd6b98048f525e5116420e2f5267ad8e0302047c435bb500683066023100e688b6d87752116f2029c8ef6ca8930f67b4dcfca5d32ddf014d53da3fc8032f3a0a6a4ba218d91094a32ff14c910347023100947c818a2169a8a26d8fec2601b090a8094a542843c67a4f19eb8a5b158968e2a2698eacaa2186053100dabc8f0411060302047c435bb50067306502304ad80170c2770facfb0f31aa8ee78c562eca90e815740d4c28588888403ea0f18803c6c03c24960081c811d38e18fed4023100d4d9e6a8b3dd261fce2b06dbdd20ecf3738ce2191facfb9edcc63f38b032ad2e77b492a088a89f0e690f0b8e5076c2750302047c435bb500673065023100e4c7f85ac93424ea9ad1d983727f7e8c6cf7a35c527f54b514fb5ec5aa7635849838b6a9d87e03f36bd4e63d35d6d5af0230076f7f359e9823f2b66c363e533227ae300272e8ac11fdbd36a287f4ceb76b63767b7d5920d1752b8be8ea4b595b056f0302047c435bb5006830660231008ea818f7520c310b71ece28e272a639e5b3c72ae37a3c8c33dd63ef94989f90def32618e47078ea120270f7e5af94c0f023100c8d1405736f1149f394626e024bbfc552261e7cd78751e522900d60972a15c581e5b8925e7a037e6fecd325c156eac200302047c435bb5006830660231008df67bcd6a402ebbf60f2513424b2002a7541bf91c5e3eeb7ff98b771bf6c7771a3302cffed698941b7a92c29f2f5d6c023100ab15ed085bdf0d6d8a4c212ee2d00de06f2c3e87f48810e5abf5c237cb601ff9177f4a798ae2c442c3057c3ec4e550310302047c435bb500663064023019c743069df1166341e19043eacf9e844d29e7fe5968c6a1ba79051498d203d252779242d11165af4c9a6766fdc25f140230385fecef0b93bedbad81c928c7b9cb035582a3a846a50490476db1d0b23af9a752d5cec3d7a95d1dde830b944223a9f00302047c435bb5006730650231008545ba83158751b3d04e258ae8c4de2b33b2a773d28afa25c301a04e2f7384194675a2a7724c64fbc94d3035ddb6019802305d92115ef2aef7dc24ab894d3f091e18d88ad9b48e5885a237f2128472592012b7dc1a40194553959ecb9bb77718be2e0302047c435bb500673065023100d82029e16503a8e9c2a6f81031e42d2e063665b67a267bd4151e9bc48a2d1af7f095e28a84b329ac328fed43ef1ec73802306d73bf2b775e1cb233986d3bb0623eeceb34eecef282846a16b927480dd0b282fa4e0cdb3ef1a6f3d20b55797acc0a140302047c435bb500663064023061a06990a1a3e38a9d425a41fac412077d39bae0fdc042d9039469b59ce843647d7700a23cb6a7a8af493ed16627ee8102303e9fb20bd3e24f6b55edc8b373a72a9f33a1e4dd90749b7618bc2da24a85462b94e2b82d365e59793231128fffc98d9b0302047c435bb500673065023100aa7dac9db2a68ce959627baa343c73704a2de7c1c990dbc4ceea60eb896fae158e42e5309d3fcbe25f48f8c07c3bb2cf023003225f25191efc41fed2ee32af7ced9883caf0a57bab93c0d1956c61130132889bbdca08d6b33cb8e1f0803a9dd7a4af0302047c435bb500673065023100a50e068fb99a7400b6bb09a8f9505a1d0f5d88eff68ede390dac74d1934d7e73b855bf5c09139168721a29100820081e02300657a8d065bd9131733b3d2dec0a4fb8a2d5f1533b0e771989d23e24287ba6ea47ff7c0fa86d0eb9700251f5114c39c50302047c435bb50068306602310090660c7dc7a4b85920fcf74599f2f029911c41ad0c1a282c2098c7f7756f5061233230feb7fbe3f9e0c6ab3c1e5122ce023100c7b3491cef9c8beef6a363bc1988887107440933eab98ea195ed436c5e811d73dbb9cb7cd9ddba4631787bd29fd642070302047c435bb500673065023100e10a2a0925005af362aa00e498da594dd2d377a169c2a74788668c03c2517d43405e898b66bb089b0e51e05d0d4fec8202305366375c84cc64fc5bcc7c6b70ca7ce94e8edb37f14532a7569d0c4c3cdd2166fb0f38ba2a3d6d7702406736ca7b061b0302047c435bb5006730650230474e9d4edd32754041037c3c5dea17fefda1dc0f478ff25effc0a407a85633aa9c6fa03102695b2ea5ca86cbb2dce32a02310087a3a10f1c9780f4c8cb8af8b89b414b7de347630667cfdd39a43f946169e5487a6525fea05dae10091da1347b39e3f80302047c435bb500673065023100b3bc7e0f7623c413f25592e0c1134bba439dd0ae4a0f116f6f123775003df4b5541d60973d0ee2ef8c3ff13bf1980f4602307faf36619aac3f702dbee6bcfb0bcd234501e1c9c0776dc4ee69369bd539162571c5afa575afa73fbf1be8a4ed9fa8590302047c435bb500673065023100e3ee86bd89e3dd533562afa42740706ec4687f589add7d9db634c52210c04055aa114c9f0b5f8c10ccdb8f77027db4f802307d2f2da61532ffd747f2e8f2a26601d3c8e77ca82438962d61ec37e25d7afb8cadbf86ca7538520086db9f4c0ba1f8590302047c435bb50067306502300b8dd57229c42ade2b2fee7f771887a82dc639edcae4953305af03bcd8037cdb4b7f31fd311e2b9abb8634d55758705e023100fabe9b942983f033a527034aae2a2d0c97127d7fc336fe0d04fe81ad05e6e445786d3838ad08932c711fc02fd2d8c48f0302047c435bb500673065023056fa5dbb9bb78bde07fa1d060ad71c70f480d62378aca326f9a48240537d4eda9dc2753f468dd50f7b3928895b338b260231009de980902c04043a170d4d682b3f61367d12a6198c7bd6716749cf88c39d86be5a4c1f1934a9ce60083752127167bd6c0302047c435bb50067306502307640b559705a69b7acb9afb61313260a25848c0cbde4450ba485cadf54b77de9d8ca37097b2de03230a1f699ca812c34023100a72eebe6c3122e9173a80ffd29317c8a3993cfb33cc803b53272851a1a1caaffdb2bcc8417b27c09adf801599b30157c0302047c435bb50067306502310090dac5d98c6eb8feb6af9c2a751d229137fd8c2deb28e3c3e0d54af79031ed44f60e058aeb0c286faca84de75c96bf33023065bb00b61a35015ed8d86e8a361aaae464d1efce32aed700876f4409f9f91ead79a1848e37ef329783e12b0fe18d05850302047c435bb500683066023100eaa851dfaa87cdc8352a82202c4d55c99bfe660048cccbb2dfffb0c108fd44192ab8cff718170b7e7643e89b55be01f6023100d26782c6dee585213634bdebcf52807ba0e9fd090ab55c5a3382498b60f4c10e959f6333cab7aee9a61f8c7659df15a80302047c435bb500683066023100f45b1a7e3a82e1698a0ed560c5aac303cdc72e40125b6eed148d6695207f62bf6d6c4670cff717766339f3e647db462e023100ad084a693d9e7f84669dfe7e3fce6dedb78199352097726b2018cfb74d5b035dd77674c7143c816762f2f1e6a1ad7fc70302047c435bb500673065023100b6a65840be083395533b907a74cfc96dc8a365cf39e0625f2aae4e9eef7d6911f82318f81f60b3d8a3c2e9d99085a14202302c406f1256a47afd0afa73c1b13cfcd53855967da6da1f720435cb923a586b5a35c604c758e65185ca49445737d75c8c0302047c435bb50067306502303c514272ebfe10ea0c2442cb33f5601bb8ed5cf0482d340f3aab55b394782d30c1681c006d72c75ce147bf7cea7ae2d9023100c5f4bcfa7bef6dc685f9c28515fe66e577be486dc4d122198e6fa495d542a9889ed689e98d5e071deb849f70d627fc7c0302047c435bb500683066023100c7fc442857db13a6ea8fbec6b65d52f0b480e618c7c4f5fbc9c02d948c5ebb187193d23d4a9f7bb7494b89cb67832705023100d841f1f07d350d90a7f2b58b668cdb4175af8e875409cf32a738575b36df59bb6685502361b9253a3c1aeb28d988bba80302047c435bb500673065023014706ff2a95cb49fdfb56939c12b143b4980e5b8dd3b48714802c650028fc4cc2f7ba1eee19aa2771fd945029123595c023100c4e47285c1a9d107b21462c5c6deb19eb68df8d0748cc8c0b2b54e631b9839ef8ecd3d8beb101c2416d4371ce670bc2d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310084b2eeb65ad0755536057aed0bd5fb31df7be5d8c25a6b2787e7913060a04efc2fcdd1d7066b238d953b84d6c006626c0231008b09663a9cca82dd5274cf633128ec7be0eef90b98d4ee168226f569baf4e68cff260210c85e8caa27773747f42c65b50302047c435bb500673065023100d23a1900cbba0497fa4af1ecceedcd0837cdd727856a4dd65796e22da5d2a6775f2edd36cc06bf0aa6e21f85a01a289202307d25456b2c15250b0fe2876e1d0ef68c7e94a976fc40ef7d013d138f75cdb930626a89295f83be73a98390157577a0a40302047c435bb5006830660231009e0cfd75bcd848fde4b932ac05a02f4e5772fc6bdb7fad52b429099bf3be89e52610ff51fc355752d56166b1740d4031023100ec74ae1f3400185257c268e420e76a70fb8d97e39a1c52479e3032983a99ee819d0fc2f6167a2a6a2e0b6a4c6bd5768f0302047c435bb500683066023100b022cc62c08f4f1d70a0acbea90180169e8d57c9a8decfadd8d747857afca3e4319bd6232a629f0908ee5fa4ddd54639023100962ad55c363357da6a45835740e29505f247f140e9957979cbcaf182de1159561e4c7db4bde4c1403d5273f48a4910b30302047c435bb5006630640230134bbffa55d13281d72bcc6fb3b02b2c6eca5c9215f90321e546f0245230a5149e970434223599115554127211f0f2cd02305d7c14bb767fa6eb4822129ee87fd2c522ab90be3fb709f9655fe85cd3d046f6109125590661f438e69a789e9829bbaa0302047c435bb500663064023042b00cfc5033b4391d7ae9e80d7a0c002bae03f20d0498cff77ab15818e4e925a6370bc1e90285b7361b5991f4007a3e02304ece44b970bae3020b8fb8ef076eb7acd27b3455f58ab3cda77ec4ebd68577ba1dc6ae317b513bd29a4f4f068ed0425d0302047c435bb500673065023100edf5b7410700625784585011e18f0ec10e0dc55663d9701aec1ae4c3e389e35d84c92d5fbc98127fd6539b18a1760a5502300ceecb516c8efd80bd49bb507f1874a7891a597f4884c1e4d420e6176657f26fde6076736de4b07f8773ae0f1ef8c87c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023005681f7bed12b9840a303feebe0c296a11d2b6f32f801cba96a4d17fb152a710a58f140a68bf0ba8775f34baa8edb58b023100fd51e87f4d722ed46a77cf6f45bbf661506a74aa0af0fbbd13240fd4cb6798892d71e6b2a67ba8dfb767af5cf3c04f000302047c435bb500673065023100a4185a68c8ddebf9586a45012bab8914ad45158adc340e067a77e105409380da76880a2ff0250c95fb1496b9e9925eb902301537ea71a879bb795466109876b23c571a576395e75be5e3487640147460779fdd96ecc5fe7260fe29b82a7221be94a10302047c435bb500683066023100a03742189fbe4cf54405b776703fca70997fa41dc3656a52c94b1a8cbf76293526a7a6a5c216ce62845b32a2cb0e7ea9023100e3946f1c9ed1ab0cd01868f6691ed6ddb54624123ee6c2aede354e4d58dc944a8112902371525a4aac7574e7c2e42fae0302047c435bb500683066023100dce01a3152e491e51544ed6153b543b33b1a81de2958be6be5185f52373330974823bce0461d8909c27b2210271d031e02310082aabd9f0cac4b935674dee1fe2117b0c03e5656ce50ea4e3353767ffe2c67729e86718326ac116ddf8075482649d0c10302047c435bb500663064023045d26c70dc825d8f7863302f5a3e4fbc25ba55a92f2b49efb1d4f23ac654bb73742d2588e93db16bfa303d21423c3a74023068264b44e6c522eecb0904723bb93dbb1e074202e41950a33afbdb8e9efdbdc9c163b3f88ab30ff288952fa357a006ab0302047c435bb50067306502302b4727b6806071ce4ad17246f5420879aef4b48cd290d5948eb343a250d72edff4bf6305879e2edb63177aa6b27ff05a023100b04862ca11aed0c3d5cc5ca9dc7e9fb38697ab5ad7b4783ab98c97b474075340d26a57e98b0208d924475194adf6db3b0302047c435bb50067306502304c679024a3144b3a27ed82c2fc00a4b1189f8909dc35388a08e9635f163c282b9d634f5bb27815e83c60ae4c55c1529002310082888dee5183fa6ae29fb4b7a028556bc2c0f82309fa3d4d9a8fd6eae428e28aca6df621fad743844b66cb58deea33190302047c435bb5006830660231009344809a8009b3c640cfa999b5458d7634346b45f43544a620c1d38d33ce8fe118549c13c3a2297432a26d2f91ac2d04023100a433c913e653e51bb7fad328c8ef41ca7ebb7c9afb6702ad60f15d6502078f582d7b74589d291c3b9411df7aaaebca260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305481cabefd83d059615b44d432f4e0f4994474b157183658c90ccd3065e4c8abb6b591ffed7d940062d921c1f6c521e702310087a9f14fa188be088a4e445f2afc34f1c1e2f88eeec8f3b4c6d99435893f04540080c3df454814683f4bbc904a12ef460302047c435bb50066306402300d5cf9b5dd50db1c15487f4d86e3f6230d051d92f779fbc11bc4980e90151bba273f0153dafbe780e3be7fac28e8e5c00230373e31147e1a1b3ec70e2b490230579b30c873f55f0c9f22f4be5c514fa0c777aa6d98907536a3dbc1815e5bd5b2748d0302047c435bb500683066023100f90a0999ed130b11992d9cbbb77cfe18f371a6f104f3a20cb6e51f83c1fd6e39b94f1bb965edc302b90316fb36deec75023100ba87488748b262b20b7e7d109f2e02cd92936858dcfc00be20d7cacf290a2173d1ab4e976642f7680882a60bc078d0950302047c435bb50066306402300d136e9b59cc9928d9047507075ac55e8a9d44c750536957e6823752e436f5df41572903a4d0e69f31a77beb79332a420230763ab113431d43d12df0e9df804da5f53e7ca9c91e4b0f998b605fc9bae1d830fff4f72d20b833e700f9d76e19ecb2000302047c435bb500663064023027b2dbd256e36917a5df958513857fcdc4f1f46e2e76e3a0ec56ef75cea60a7f9f8e21a0f9acdbe977f97dbcd5a5ee4d023052b806d90d3757753f5b59853f767ab440b02d03bc8355f8c5707219a7294b05ebc570138bafc036445dc9a6b308391d0302047c435bb500673065023100bd323b4f38ad359dd5e8b9ad6d238a1365bf2c8ebeae321db2a49e0caae047d30377951a0b6b8e967fc3f5d804589fdd02306625b3e98b37138c9c0c17078d093ac06ae0ecdca20f996af69a4729e8aa2c11f4731f988a5a638e2dc0c52eae79c2c90302047c435bb500683066023100e179316a28e995707d8865301ebb8be8972a17b570a15d3e6897e9ca9040ddc51264b8c79a89aa6b4bd4e22a7ae51d31023100fbab2fdf9bedaa18caed47f35a9db8c9a92e51c0c56c7c0f7de091529a62c59de365c4e36701388b648f3b30fb0c78b40302047c435bb5006730650230019c622d30d23dee2879646364dffc366721e0953000edeac436f34eeb7181c3cbda0845ad7c47bdce98f55e03a27a8c023100aee1d34dd723902d29bf1b10286c7c1e9b2bffe353f9d3159a3894f92eb0e0b111ec963726b6588c52f3d9aada5675cf0302047c435bb500673065023100fa5f3fbe65462d478e36740a9964f8a377e7a0f15b8e403e4465b0a2431eb82c2754f798fcf1ce1da0ef6e869bd34d41023039b299a87295b0b51c1cc2264a4c84c96d7bf6d07ba1ac9fe81f7517805554286b7c3a39c2d0d3b34e00e927d4bbba570302047c435bb500683066023100ab8bdd333d6feab1ca83bd37d3583cf2a3ba952d464b2f4bebdcadf921896d77335771c669f1ab22636b10163da67b2b023100ee884919c7f79389e7b37096e96ff87d46f1ff7cb08d79960d58b60deab8e7d7094a2aa92a0e7dd063a47bc3b2284c1b0302047c435bb500683066023100e150edde34f80d3ddc6ba4bf4f5972de5f33be8cae95b09b46b4b9fdde99c43ebb02cba4d7cea2243b0d84dd94a3fe61023100d6bd745e74f99cd30a965aab70c8927d783fbedfbc4780c968fba38c90ad243b89d90fb8a2f856f59e6eece1c71326f40302047c435bb500673065023100888488348be19545ee41be9be355a78689a66aaeb0e37108bc78911441ddd338de7836113b19b5e1b28b9152ca5bc43202307a577d1453d0d14207acec73a0e67746f40de09e6e1762e72da74b7d38d96c782c719ba2e242a0dfd5220cb7ee6148810302047c435bb500683066023100c952812dba5d0ea3360963d7d54c78d60c0844a84b22e37d79d3c3e2fd59f0f938ba3505932a71b1908236e3eb50b96e023100f5cdb394a5de09eed7b6036c323d1d75e74bc5b6368a74cbb7f99701b309bef1e7ac19841e7cbabcc4acafcd364232ec0302047c435bb500683066023100f5853c7d44c33f10b14708fda47dba7b533bcf075324a300d5adf78f385e4bb362741b9bc5237dce62b2b19705649efe023100d25b499d4b17ca18fda2aff6e1d22a1502236b2a872bb52a1aef368928ae39f7469f7becc1018220ad45c615b70f07ba0302047c435bb50067306502301134c219a94f88c7f637c9bf6e7be023791a2e108b4fcee958c3edb96ada938bc77b07be36102e6184e9305d4f7d4053023100fde08e840b42cc54072d1ea2554dffb7ae5fdc1d6cba1dd112cd8262b46258de387760f916046a735672fbd8661e12230302047c435bb500663064023066ad0614a3d7376dffda939cc53bcb31352252a65b72787dad56c760a0ca1a79aabd3224f679f841d496b97219ba8f5302306c35c2c153cf8f6b42567cb338842a95f4f20d9159d9ea6a765afc2994ebf698e3c411c48a19150377e1fae8055d4d6c0302047c435bb5006730650231008a2dff325e54de69c334a2892a371d6f4ad7cf8e4bdea989809e84bdb9d9c55dfedc90fc65bd31eb6063e8318871ff4802302fdf5b9004dbd5270797dec0224cf956e28b7de2426c2dd13c7571d7fa0696529eb571b1676104f343d7a5270a1d84270302047c435bb500683066023100d3149ede4b3e9d1f9d4b59b81f188c3a050b0ac20f57ad62b7a0da2c8ca24b4d03164ad52d74492ff5a2217fc263c959023100a3bbcc653df3603c36b7094837379227753251c376e2c51bfccb71b0cb376e46c3591b8a2d603f0d674310c46586e1960302047c435bb500673065023035d40c8b6ec16741e279ec8e04b0f475b9c6e7c4a6e90e48481ea1ac818706f0dab40abd43e58dd7e7a5d147cde02935023100b05dafdc4f993779f478015530d6779cdb44fc3c29f75d8a5c67cc7209a76ad4961692f4517a9d0882fcb2c5647c241c0302047c435bb500683066023100d3025f0b156dd90f03135b146e36d3faae79fbff14f71d81d5adf4b5e0bae9ab9f64def6b6c56e693731ee6c90b4a4e7023100c0a7730ae762b2af66f3294844d128616b7ef66977f1e1d9aa208c9b99d61fc2be7c9b0153aa35f87a265e072912146c0302047c435bb50067306502304d9b6b1ccc4a5b93f079d5dbabe87d514fad48f15b7fb989a64a2655d40827c8500d820cf5fb70ed17ca6aa5c2a68be0023100c7942d93a635533aa311a4d87880255022a7e9bf913dfc699ac9517b17c4960b45e9592d72167bcd991a366fb234bf4c0302047c435bb500663064023058f4d4a8bcbc46519b89d0bfe9cf5cbbcb7ba341ee50e96b612ed6bc1fad80872db4a09284c9ff9c02e44fdd9aaaa9b002307657bd324e28a5c0af406ab452d9538d4a72eeaa6b0af8e837f6cd561e7ebbd8e98be751595e930b5d9104d9bb7524860302047c435bb50066306402301d80c7b9e5a1407b8559627b29ef61f824a8b0d77858a90d34683305f30f919569a42f6420bebce21cc42cd853d2bb91023057f6cfda28e717b86fc85a3ae87c196e63558d571e0a766352ec9beac32cc2d4b84c4680e3b3f29cb95b587ff4c214ae0302047c435bb500683066023100ed2fc3a5fe8bacbe5164505b4f70a625de8fc1147d7d64c6fa6dd9315082f63447e7ea7124ae45f1d482cab4e16f2d90023100be4e282de5bcdedefce94812c695c25e933403dfbaade89266fbaa58ef8dee49ab9fe8f3c5f17265df740482b0f253780302047c435bb50067306502303163f1464c35b2e0896399075f7f8513c622af7a45d36c3f15a51356eee0a9a3daf5ee44cb68b970273df12279f463a60231009452446827fe2b49cd1f994942bffe84bb9d5ea5d9d24970b40a8288363d47a162f6f33c68086254fd9f0151c47929dc0302047c435bb50067306502304fc280113ef0c72ac769e846360a39f886378e9240281b18bda0268c6d3765fc007f3799483fa38603c84e6dab9598b2023100f6cb5366ddfca823e2e14c3178133fa5d42ccd8c4ded491752401a4b45bbc503302fb2c71c24d375e05576432a1d44ed0302047c435bb5006830660231008a79055d8524d798d353396ef88eb3c822d87fe27140bd60bc8340e047edb386f4a6e54fae70ac8e83f260122492c45f02310099e54d636279de7928924baa0a7b1a3261483a013c4a991fc87694d79543148cf335bb3cf0109997fe810d4d24f58f060302047c435bb500683066023100d5d1cd281e12149083ab914878eddb2036af81ac96b95d59fb0f08877e251020bf478815c0b863c41e9888a6f8b4668b023100ecbc1faf4e7372c201203cd28213ed9a244fe2501a386e127914cf332fccc9f1768bee811ab120f7735e794ca833ebe60302047c435bb500683066023100d999d710f8ee1dad16844055b1af314504fcf260d7ba191846d4313a87fe42f4f01eec7e8101a2acbfbe2fe9c641e2ce023100aa000f6bda5eec8f35c6ccc87c4a7256734ff2ab642e03a94cfc628a63d8eef9fa6ceed93df95babb0a0f093daac0f810302047c435bb50066306402306c8e9f156e38c17a5cbb1771522164b32e625fd67c1e9c73b0712d2f067ed65f18e1db1fa7081175f25eff7632b6cc62023060a52bd28c18f9b43958faf26d33e687ed6aa954a0f24253de57783db88eb227ede234206c6b8df0d46d0a5729fb61270302047c435bb5006730650230352f0240c6a89f9b3846d4e374d0218541b6a138b2e5679703cb6dfd73faa5edff5645010da55d96e0fef67391593b77023100e93c8d0b6190e49da9395d25e5fd27bb4199e7f7a7759fc008d35f39d5cad62d40e666b993c0f8f31e05136bd1676b390302047c435bb500683066023100e836342a68e3ebe074c112ce4bb9dc176050850801f425a301314761234d0658401c2988d0adfc2c1b8ca25579f92f36023100e6295acd09bd815c5cd3215e8ce02e43f3c46b5af8dcd202f30f28f73e280cdf390007709412a2122c46dd9ab600121e0302047c435bb5006630640230637d529c713f8131d4da2db5d8067001650d20e50f07e2c485e6263c6c9e151a1830544e9995d8c3b59ce4bd85a1b7aa023020bad9709ba8be15e9ab2fb6744ec1bf9a76497fbbd418133c8f916123bd26315d740db3cdada8e0d706a73d7f5eee760302047c435bb500673065023100d3beecef6f3728299f233baaae28e4393585b387332f62b3d01e797b0e9a63f52c57ba9b58219c6ed8b5e908f1a62f430230738f5ff72b27093b287714c21b74501e6f60168823912c12fc0d72ff817f975f6cab0fa73008b4d98e05e7a401598bf20302047c435bb500663064023033320817e07d36c9c60691d22c687e13b84ee6b9346c0c8dc6f8f75e327b27b9cd0dfb38c1246dc3632bc1017cec254002301a76ea589ebd1160f9ec5af48bc2e7257d8ed523186d58cd26a0b295555c1e432a71b19e88e2d7eee9e834d94ddcf4600302047c435bb500683066023100be2b408e5bb99318b259809a7c3cff8cbd64da2f3e538deaa5811e3539b1055c5c00be035038c7b3c2d4137c56361f5d023100828bf3b8b376961e18a004aa15c53774911ef015bc040ad67f5712b4c6e4763e6c84c81c8bf3415219255210b41e378d0302047c435bb500683066023100b32d8439a4bb255da6d0847bf419ea55c1709b691fa1e5d979481f838b851cb13769de3b16b1fe50f755161247c03bd9023100eee3f28d3422135827dfe065d851642691b8fa9cd446420b120d9d65e7a0edfa354b7f1c5d585394c8cbef3a0235a4c30302047c435bb50067306502300d607f758431462342539c3ca5ec6f33fefa0ab06e5a472a9c61b7b2700e63eb706a2d001230d3a101592605b172fb61023100c51a5c9ec2c966222963b2b94088f2bf9a02d1093012d25811ab408b591f1ece41b19e73173f30542d655c1561df6d620302047c435bb5006630640230279b91eab3b341ce014fb116acff9f4a6d39fb2b8b58a2b78b63cd4f323556ca8e4e5eaad2d06c6c702295aa7f07077502301ba4167d4ca0866e7eb3f7e755e437142079823c83f75f6501aee32725fb4b4838c4d742e00d59cf8e0725e71886684b0302047c435bb500673065023100bffa2ae7d74c32c6fba0d70e8f4f594d80343b4c82fda1ae7efa47f71ccbd1098b4afd7cef15edea1b9411a5c5bbbd5602307306b191156cd30e516bfc2ee32a6978e8d968b90ec300404e8a86c102843be690c1ccc3143a5b0f4d88f74bc1cd188c0302047c435bb500663064023073fc02515caee17cc08b7585b70052d578eb8a8f254f8096d9d3cf20b41809df8aa43df133ae6730bed7c1713b9c1c410230479d2118a9d06b70764f8bf39ff7606c87cf00b0b2fc12712b12fb39f2c1b9bed4a0e16c8ef75f1fb37cc97dcde705a50302047c435bb500683066023100b7714372f72623c1d159e2054a7b5de39abe547a94f9bc48554ed180fb11cd3bb0b701ba635b20c12f278fab5355aa94023100de87519aee6c4c4462b5e08a43556a6e6f7ec77ae7d986f6d062e22da3a3edf72e53b19506e051ac02b7d4f74820062b0302047c435bb500673065023100fe89082bcf92da10bb11d8050c449f14a330b0dd6bc2aa2ba721d82d6144188279517a3210d5be999a233c717df0710c023033c2eb22771e2021d1f759f30ff5edf5b0249183567f2ce667b7f2e3b7d02742e90d29e0c84203b9e9dad18a0e9e83d50302047c435bb500683066023100a52191761c7c0456620dcc398d7a5984eb75c859469a91ab2e69d66d6a23e9556c89fc6fdc759349ce431a8a479a8062023100c5721df636e5e9f778c48bc80728af6d5525002b2806203522949d76a1c9b1914aaa0ad97809eda361d18cd9c72c3b340302047c435bb500673065023100e6b12ae609a23bd9829fb90988663abe8eb64314f36fbbbcf29b2498aaa503032d173452395319e055ed6b9d5185f24d023063a733265e7d8721b39fe67a6cfd4213cc765c7a94c0601638fc86f7925352e44c7d00d4b644ab38d27c8aebc157f4cd0302047c435bb500673065023100df0e8958582b8fe00956c6ac6050393803a64449e2109407a339273313d73831236d31d1cbbf9c5b53d3119d18227907023054feadff566fb798218c8fd7411750a2811f78aafc0fcc51d7d54ce5e7537cccb53b699967cdf526ea9a8877bac7ddad0302047c435bb5006730650231008f01517337465407276e8c5f96335eb1c44ee67f53f2039296a7c83c8ad2c1bcbbe5ff44eb5317793efe4dd96caac2360230175079f1b0529a011f0c051367ce19cdf48630c543854e9dbcb0308da27678438b7e4beb887a018676daaf7bcf18d7090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310083e8b681e77e5e9f2f1f194be21690cbba6162737588a80b5917bf8a390146f4b7cc6cb276cdf56629936e227a637147023100e46587c40391186ef1b4a700660a4f3c1ced7fe2a34ad9109b3ceeec4f6a33e66322cae1bd4746bf677d85a6a45904a20302047c435bb500673065023051b6564a7df7faecdb4c99749ca03bd023b56df700fbb7031ca2de1ad8685d95e49dc3c405beac2df6692c3b68ec9223023100e799833e8f4ac671ade87de2602c6b95f9a7b3df01d41efac3dca8f55cee0d568f45f051708535e4e4200bfa15aae2450302047c435bb500683066023100f5762e49b527ad8a1c84c6c4110c32f627c2f70e42799f89d2f783887319f37fed35693e3cc994a99dcac08016a0885c02310092edb919559278cc5e729fd8adc2fdca611ab7479f3313f18d41b625a6003d83d46ced1387ac744a7c6b43d5709cd0c80302047c435bb50067306502310091b68f44fc58c4df05ea84b6d2a1e3ba7392e0ddb1b680cdfb600c9e97b0c52f930a4a89bc4001f1478c5bcd564d35c7023046c7dbf8955a7a17fd61891452f801f85d4897d5a4b86f5f8ea60638aa4e29b2d41a342efbc796de16c30c7d26747ee80302047c435bb50066306402301cbfec51357c96c4dd2cb4982ac56d498fda85975ecb8136c6c2f594b600ec8361a38bad0b17614228f3eb99670e804b02307b123fb117dedf05d0f1032850f3cc61bc15100e6bdacc41716db2249de389ab0887e820b5d5cef891195d92bd093ad90302047c435bb500673065023100ba596e73955afc9c504e7fa45fe149f4ca3d4e955c75624a0f3b9ebd0c00e9eaa1af2e9688213f7ea9229952d53fa5bd023005921d1e29065f84e99866963d6306eb1a8ae4cfa7de7cc83e164c74d65540631bf2f9665c7dc45c1c2621d5e9ff39d90302047c435bb5006830660231009889981603c3794ff43e66ec6a5fa54bdaf94ca3039ba44bf135b23d250aff90db8caf306d2d0fe9c465d8e354f739c2023100de514003462ef5e4ac103f10e4f49ee6f938b839821eff05ef6500157fea7281e10f208f3db7190d50289e0be2b8cec20302047c435bb500673065023066e6fe59280c4cf230b0258d79c87dae1131e5f19f6195a76fd1e17a882017052bb37396d7c68372c3827697cce7baf0023100cdc24ffff02914cb7b3801bf9f8241989b13a693ac9b7b2aa3c4f2ddef6499883617bf10e39c5a785239a11ce4d0804a0302047c435bb5006730650230172090a8f12df2490bb92b4e9b64adcc7ffd715531635812d2f1945b88f06c42842978938f7c8976f3fa6f31583b44650231009ddba612fb06691ebf849ff6c6296f0eb84aa9c3cea7aaf50df88dcafdfad01370303632911a13985d9a221a4aacd67c0302047c435bb500683066023100ff79a8803724ab7665c549ffae4b4edcd91a6ab81edf0a2dc2267e1b20217e5c2220af54424bbe49d676ba35b661c6c7023100ecaa7cc904475f22ef89fcaf3a042057c40e77473168d29848cee21933f1c51841db68adb355fe3b17a35c651428b70c0302047c435bb500683066023100e86388fe09842e0434db03bb04e0f602bbd32d801d4d30e5e4387a6076f2fe739883ea51080cf4194afa93d7805d329b023100c5578798b65654e6e75b37e3e119787360bb4e3616a1dca7b0f8d0b3a706434c29a769ca370b06bbfb515809c830c2160302047c435bb5006730650231008070db2e76aebfe72b0735d4d4bf8577e1740e91697944296ce9eba1663a81670ddc07595738232b2a719fc55f393282023079c37c95dc011c89c9556d45bc43aafbf1a7c8b682f36b26eb8aeb52a4ed8ad8ea2667c7d7e9412e2e90b57153d068930302047c435bb50066306402300b477b95b7d61d37a770451eb8ab02846cd18ff5e1f02268fde9e78f0d7473c1b322a91a195d8512b7d38e5bfc27f789023075b0537bf806f116e19a16c7efc5fbcbd71bade5cff576e19ba0ec37c84cd89c83938857c0967d43e39708586e0294080302047c435bb5006730650231009ad7016f0e99b447abb9e1fb4b69bd69e2efa2e924e684e53b40d7eb036b7f4d795718a5fdce5c97a5fa573545bafe4502300efa8a282d3372ef9f13d344fcef4b96d094da3a0c3c53751c4379daf5d01c791543c11f81656596007c043a2006f0b10302047c435bb500673065023100f5359945ce51473d9a7702d5993279b75867316ea0a269ee464e4d554aab108de0cf81de32a727bf4363af8e80d62b0d023031ad9c320be24bc89851590f3f72c59df1df186ed0fc46a1c1ee74575dea4a65337d086e4261636a1175bca261263ae60302047c435bb50068306602310092b38b78eb27364f39d9396dc719a879533c158e4927167c08024dbe16604bb1935f6d8edf52611901a9a6bd975ddb40023100d46a49d4658238b6ee0e021cc3fc49506e90fa8ee5e523ddd45f3c786c0e8ecfe4834fbe55b4c1f7a11d4fd2f89027730302047c435bb50066306402301cafa25c1fd60d9982afbddfd21153d42934c85346d0bb47937a584f9913f79b76c3c78ef66dc8e0d7cc8c373f29629c02307ddbf4ecc4462b9767ffe3e0aedacf87e14858059e4dbe5f2a15941b21d21c95144fc40fc19aad07692f3473fe5fc5d00302047c435bb50067306502302a952c82f33fdcf788dd259ebae41b793475ea0fd254ced6a02e96619d3f2231208ec27c705c8a705b0e5009cc58f1cb023100ca6f8ca687297599ba3a7522385b57d0470f4dd52181d3ba5d5189546c1e611fe084408df27ad8dfc5b2183f094856ab0302047c435bb500683066023100c0d1804beb62774f948ea7eb3e04a291912e150f847a7b2238c795fbe5f7dc07fbca31485fa5cbfb6e2f9e69a9fc96b10231009fcab0ca51525002cc6409575117a4b02e656c9a02b9dd126e536cb10b23948afe12f88e0e07bb491c17448833f14a680302047c435bb500683066023100cc368e9e1bef91fa71d9fd00b29572632bbf1a9c82c70812f6b714b3c2cfa330af5fd46ec9434ced8c89952d42b0a9ac023100e2d9eb0dba417bbcdece23d27b6a8d02dd9dae078b9d16bee9048e55e2e3607683d7be16e23105b34b04c874954948630302047c435bb500683066023100d996b3f4036f47b532a356af09d941dbc9ccb7b3af7fb9d4aea34753c525fd99b6b87a1d9e927010c5e489e4398e81c9023100bec6f2fdc5c7642c7ee0d6d1912e42181fc09b29e11856cb01392a46de7eea0bdfe5cd74aa3c56014acfef5fbe62f3de0302047c435bb500673065023100de58bbb84196678fcd365c6f56115733c48758b90d23ef28ae4c540d68fe4e0b20306bb44001c8e07aadc2079437955c023065fe31c7f710432c880e309d527d6f19466953de793e5994553c30911b451d497b6bd034ce76ab34c270ea47b5e960e80302047c435bb500663064023029ad4f38cad7e11265d3408072be8eeb55f98cfacd599a18948146aacb51a168beee7da90cd2dcecb7a2cc31294ef05302301d50f9f78f35c3a0b96a571fc6526047bf871c50d3d3f1c96402ff5a548981fd11e85de6df31b9de28176701e6a99cc50302047c435bb50068306602310098d99b7fee5ba66c7b1cb82ad0399801d995c841fa6ce4d4e05103e9c1e06225e29f4e5c03eb6110f26e4e858d214df10231008a4801b752d1af98ab3ab0f79f820c94855532119918289db0ca87ba24cc17f36810b87dcb7b6aaeb24809af17f0b2e30302047c435bb5006830660231008584b20a4af6e6c8a955bc136d7de05cfbc2b08a608e9fdb8928826f93091bff728d9afb1984610868445cf212b53697023100ac21555b86cd9487b5694a95404bbef82d56776ff477184100b46b5bb30cb9210e021fc8790e9d380f461e4b231a7b1a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304de46559e6412028cc2d20cfa08a1f7e4c8f4e127349555bf39218fcfbb733cae7b1bdbf48a5b4369ceb6831fd22929d023100f956344eb6be5a58571f4b95a17dabae602fb1064caf72e0ee8f0536090bb5b9196dae155f8b4e6ad6b178e9ecbdc9d20302047c435bb5006630640230186b5508df833ebe2035528ddb577d45ce3b1d974f9ae61e6665b56cc8a8707f121d6e2d703d73bf212518542fc253d40230690571c9bbb0e47b4531e1bba57f22960e83ab10ab042ac57490fed351852908f22ada64557af06a5d50e3a1f5add8420302047c435bb5006730650231008c7cf722ae713510d943e01c4bbfb1bb3e16586b542146a0d084fb004d4be75bf108d620469a16d98635c1293a23960f02300a678e2c7ec36fc201f91b0053a4acba7115bdfeb2dd4f650efffb3086fb0258384e6e49286f1d265ca76b638cb2561a0302047c435bb500663064023040c7e04edc3303ce57d2eff40e18ed9777bed850c12fd6039ba1f2f743475400c89bf9e39ebd7c52147e1c49f9bb9ccc0230133d0cdfc282a2862ad6e67d586e40e396ae0de82b9609c7f1d768d93b6428e576fc0fcfb19606583bb334058301c7fb0302047c435bb500683066023100f2d874978467df2d7e2540f4f310937acc512e0c518e9728ae55651ce46a0749f636e9123047a0cf781672809e80d322023100a01ca0759cef4925c40f7a679aa63a4502be6fce23678802636689a431e8723c7df27353410e1571ee5f359582c374130302047c435bb500673065023100f71e96eb4879760580f29ec1aa674790a252f907533271c1f3e4622acf9a97b29a3ce4b326aedda2af4c6208d3a0608702301f5d9ac7f47e64e6d7c2b8774430836e3acfe1504bc0974ea100bee8833f94bf47dd211c55e915a6e311df06562c9b710302047c435bb500683066023100d65044478ab4754757373aaea6ea7bf183dc5496e99c6ca25592b1a664be2d68a57c0da06c237afe3b1c865c641a50810231008cb362fda7580fce9d07dc4df4bc3f8a8819d604c14f2a0affb52470b4e647961c0facf5ec63849541f528e8de5296700302047c435bb50067306502300baf42140fef561ef74cf0ea5cf1591e43bda2105f3a5d47beb29df55e9c1b4018c74223c41a4d86587b0fe4da6ab236023100e207c4dc9bdaef2f5a0bfe09273dd93aa70ba9f752fc848b2e344c7475342ae854c3f3abe6673601eae98fd61600c8950302047c435bb500683066023100bef5a3949ca927807832d175b1d0ffad47afc2a50bb04e1a279d7ce9ed9bbc1750f96462902c3c7780ba2c52896a068102310087af278159e09a95a4b4ffac838514eedcc82564831c4e27369e1de258fd064662439163b08ef82fa10e17d38f769e800302047c435bb50067306502300286fbaac58e0c0237177cd76ad35d4a8df7453fc335433b8b56cfe86342c2f97d4c32a0643bf02b0f4ca4f6af6ee297023100fa124a2a1eea93ce15ca27695d211e998bc203f91c7074668a9b08ea9cdf5055eb6f6032dd33a68c6c4009d28798ba4b0302047c435bb500673065023045eaeb98c5a7bf012bbb357f6b53f6f8d05040a3fb70a2318b8a0eee597f5179ad975f821f455778236ee9b239f89db9023100e93d0a6751da61a824c158874ca9f4de977dd13983832e6d40c47f574689562fa719c4c0ff2ec0f955624fd3d01e9d650302047c435bb5006730650230423e533959b7fb1e4faaedb3735284f57a8246bf303e741c16a0dc92f3e7e0102ecb00d766d718d95231e8a3e9722bdc023100b796e9bfeedb78c24117a37223933ca0d59d0a23b31e76b90b16c7ba9be4ff352e4095c59397d7384182dadd7f0ec99f0302047c435bb500663064023028d7dc048fc2384b57488cd46532e780719e3f1ad676b7e4e39f0775ef2e4381c868367d85d8404498d6c28331598f960230047f74cc69d337325a144e44769a54d58c08360c029af0646b504ca8cbd3896fa6aa66bfd4edc728eb14c1c3c6b3e1110302047c435bb500673065023100c95172b369e39e4341840dfb551fcb1f1185338efdabd475ef284d6994b7eb56089666cfa81185bd036f026f56c10ffb023012ae6abf58e32a808260975a6dac4abede71b832deab5cdfb529f721ac09400e82f19f55476f52c99c9fb548ad1cb9de0302047c435bb500673065023030f114818bd424d80de612f9909d528a349a15a52e510dd4116e90fada380b4a100bc34db707006093c4a7e7461cb2070231008a41e8c8b89cee6cc308deed6b50356b2fa28bce2dc693837cba231095231cafbee9cd5704732abeec7c6084882140c70302047c435bb50066306402304d2d6aee489dd45eddb62e89905a2bce89a46f3b4d31db21d0add7744464f3b100292d4db4c8e3c1aeb103c24fd9e4dd02306e3bd9261399e1b6505647cd89a8696659987330b5c9a5c545e34c61c5c1d529d0ffd560a9e67eb97411cfc1fc9b04010302047c435bb500663064023042c5cfaa984371706df7a73f13bfce9e106d0575ee538ea8325245fde49172b0f02398ddb67963d0996b685a7674f0fa02301c1c41e76cfd9853237d946be1d61c63f25c65b79690058f1d1bc2fe654409f859f2fd2c28459749a37e95d2b59501110302047c435bb500673065023100e659a37ebd9152bd5084cc6c3adafba9c762fa926a940bb2761224f60f2f94b6e786ec80dfbe92b5f5e973139d69e76602301d21a2e2f2678f72672de17487b44f2b6bce887a787373c50daffefeab3fadb8689f7590d9cb25fd26ac10916a7e503c0302047c435bb500673065023100e2b95b0e633d6cce6dffa322d673194295dd679f264495419e1d865689e81923fa36c114db0a2124d1871a2c8625d12002307b06dfc0247cf727b5674270f9d42caf4912cc08718083a55bd63a14146b79a82983735325c0c5be7e9f404de209c12d0302047c435bb50068306602310083ebd992028322a7edeb8177ea87ca5cfd428d91f957f2d6daba6b8b2cedf454ac0c668619fd5667ffa76daf63458d8e023100f2cd4547b3c2aa9c9b992b4d45197e6e04a9ea6ff0b665c6653636d21dc2a201c730c30eb53afb7cf402d811fff860580302047c435bb500683066023100f35dc5ccb0702c67536f5906b34fff373a7307d98819ae91721c0e429250520a907094995448156fb84c4de6793a4ed0023100ccdc94043823f4d641c6a59e62a803e1c4263cb2d0df30d905965dc72f16a10a9909f4b015a0107d301f0611e4c1666b0302047c435bb500673065023100f950c4a98c601a9774dfd8964494a3cfa1f9799e01f0bfefbd19c691cbe5c761d8ec0e95dbc10b529c5b46baa026d50702305138ba391052d4dad5bcd2f24a5b3e759e5d45f23e1b229ded2702c1594e3c636af540605f7862d18c91c3c2e5552cf10302047c435bb500683066023100de76b316d12d20ae75d4b85d12ddd99f2a0f5f55840769c0d6fadb689d34edaf86231a88a14e562181dc91657b321dd5023100cfe72499cd9f0a55fe4ccf98892811cdbff72290e8d58c3ec8ca3464dc4293e0eb51a70a15d3aa45b36cbd320190c9ad0302047c435bb50066306402303b2d592407046cacacc50df35e122be308352650cd4e76bd19bdc821ec9eb8abea0a611ab1ac55f42522b5b881a5f45202305685c4eb04c2fd9d91152c14653667289e08d9721dd75660944fda99a738a2f7bafaedee5165dc6bfaf7e671c838815d0302047c435bb50067306502300706cf00b09155bb1d74ce5f9c07ef62ba23ca27a74c27b1ca2f4ca44e90d4b5dff238ee2a49678a57201467a50a8e700231009b75725d2b0ea818b8c91aeac37bf64ebf93da98aa0b9e8f6822e6aaf8852e172352367abd885674c28234875ee88db90302047c435bb500663064023043e1ca5b558c128c87edf40b16680d724b519df001979af6f15b8f0d17c20a79577106b38e5b76cc15eaf6c5262656bb02303399f7e963ca83848defcb2e3a5246238c928cab917f5476a405620df58634538e242b27e952b8ff0267d3fe8560d6be0302047c435bb500663064023015f0ee0d43cff46db3a0267812986c9a57f21cc1c207568936d372ac6b2c030f18ea567b5bb0375f0b6fb1fcbf35524a02307a01e8082c42f9697dd3a42f4ca7e307f1ee5a97444286da8c29954277d8185a91e58420c66f0bc33c351d1230c254fc0302047c435bb500683066023100ed2227aadd43f4d8bfe8394a54076c2bf69470894ad5db72f1916072cfad3a9909688d71cb4a2f0a89101ee119f2baac023100c888921e84cab2cf77f4ff8e90ec568e899c7184dcedec7161bfa9f4b4ac44b3c0d63ec99a52c920652ffbf786b0bb8a0302047c435bb500673065023100f8ab2a5584a68be7d03cf1d3e81750c85031b2ac45c0d37c0f00ec85f89b37993c408ca398f2652ec6ff0dae2dad091102300b679156bdb857c7a7ea5565c2b42373b4cb73b290170f87cfe056e45bc59d5c7c0edfa0ecd2ea66e8e846a18224b0ea0302047c435bb500663064023072f6d2b8c6372e9dc1d400dc7a1618726b3be9d7fa1f9db28608f6713a173a128432500de83b88e4cf8033abea836bd802304ba73a23659a57a2776912960357c90b0ee5eeb01708fa94eea5bb18166c9e4685b09bd00ecd4f612ff6ea8379d63aaf0302047c435bb5006730650230272b249e421785c6255a5942fd6293d416f8087cfda0f901b8d84c14e7b0196553073607a1c2a3898bed8e2f5dca160b0231009a979afe9e168709aa8d693c315bc5051f7ded284d0531c790065cf4ad85a0e33f59b104bf681a6e09977817e6eeff360302047c435bb500673065023100891e6065f9dd8d781c40fc09756b23668f9a9c593dab6effa07825a06da8f490fb4ed877fee6721f81cd944125ce22f602307c8ab801157729f6ee7d42b5e7166d01afbdc0b449247c07c72126c3032452d7b69b7848041ca6a1058f7dbc93c063a50302047c435bb500673065023100c7c48690954d38faa5147293af96edd1b853a0e31b6e5147d1ea5bc38b23e7ad05c48ab76f80d50c025943ae1fd99e17023029ad3a003a4b4bbca39c0dc89daec366a85eedb08f3fc546ed183704a28876e283f83d2deae5c3e584daa54a90cb28e50302047c435bb500673065023100f8313ca1a957b28f729cad4a93e4e59ec5245bd8906da694fb186e817e879f85000cfa1bec2096986158998bd892222e02303fc32a0135d6bf8d207a25459120d4cea033f2daa8a388dead91ac90847958fe33443f121827c6b2f0b7dcc68f3d48220302047c435bb50067306502302dbb3b4e6dc0b22f02f963511add1531e9ee722fc70cf51aac667c500139d02ce3d16c424fee046836e17e64afafef27023100cff1325630b2be3c2fc8fc30a71276c2637f9ae24353a6b92ce833740f50259ef8d072f22c2a7b89880923de66d7191e0302047c435bb50066306402300c19fd81f3a3e352f292a0cb4fbac5ca8ec8cfd26f048a813ab4790161a6da7dc5bc86f2c21c847ce2af5f305c538169023025ff64209694390d5ca817279cc5bfde5f3a40a5bfc0dcf94fd65b19614e9debcc49aa3f2b119c379a39008c7b82fe850302047c435bb500673065023029b385f7b195c24b6845fc75612045cdbf96198494f56d6d09b700dec24d7243901d7e37a17de791f38f98bd7400c15e023100f515b5e6216c98957c2d6f4ab606fd1809bb727c5e360e422bbf043ba07a6e7bbf72e8728a4a6d39fb821f4a9ecd45d00302047c435bb500673065023100e52f2384fb65dea88bf8310ed02abfd396d3e90bff97e3e518652f4399e061db95e6781cfca281378897c36bfcd744bb023059d235392749f81a975ab22203952f7331c1de3f23234d9854f7962154ef0c67be4887a6e32b8971d871ef5b73b3c46a0302047c435bb500683066023100d8bca3303df3ddaafbf1d6e0d164e5c3b2bdd108b555ba0c830913b0320be9616ae28e945be71961c15228cdd588de090231008a71aaa7f624e81c9dc42d6e6373ebc9225f21b4c0d7a5861c5b33b74d62a5864ec2cd8e8088f2f13748aea0333424a20302047c435bb500673065023100c871e1395f8d45041b9c89014369e6e07acd759521d93a41a320e336de009964528709dc74f4d5ef6a9b34c754b207d60230035b9a52c960d4022984abffb8044f81145ec2ae5a25f360f9c8fee496f69161af36712b01d321bfc9a0cd9daf327b240302047c435bb500673065023100c0ae0bccb8bfab3d37e26822788a4497fe4f5f7ea827d8b81f27f44bcc16cba10be073477c941c9f2b454af781cd593c023019f705db2f05f940730874007a883b1cc1a9e63202464538e90dcc6de19a8c6cfa9ef1ee1b422ebacd41929037b54dda0302047c435bb5006630640230058245eccce248166eceb125f93f6202c108b324bcd31ab6640d0933a3b5fd9c68817bd546894ce5cebc6c3057e5294602303923eb8ee055218a7f7f7af402930810353d2005350642e18e23633ba4f0190a0fecf3d46914547ee2a962bba55352f50302047c435bb500673065023029011c0c9bb982ebcf90dd0f4089479464162c817db727415a1f44d6994c6aba9feca9219a95731b3a2a7366ab729f40023100dedc3ea503a861542bbb87df1d28ef35ac692bbce9fb5a2120baf24ba844e680d2934603fba0c96c70a71f0cdffcb87e0302047c435bb500683066023100e0a941e504bf223e0484de9f06f95775d59c9cc55c294c6dab84da29a48c009479bb4c0c68bc7cab400da31603aebbd8023100fa9585b5d20bb2bc4843882afa81c95dd996728a363da826e9e9b0e4f3fa71996c9494f8151c7d0289105de0e6feed510302047c435bb50066306402300ea70f38d9a6e80f5588146206a7f391df03c6c3adeadb65e184bafead458e9c35b3e1145d57eb9724894fa5b92275d00230023c0f82a2104ba243cc7408e207f33cc8f386d843c937615b53c46cc6ece19bb517755431f98b76a9763f28b8ee1b0b0302047c435bb500663064023062fc7b6be099e1dd993986b2c66a705faf57030bd3ffc53936b07c40e0b31fd83b9a3b5c52b4d909fa74d99d83ccd7bf0230240ee6d7328b63cca237d9c45b37d39d8d411c3bc4f3552316f451cd8f1f5776c0f826defae6c46ae91245d42f6863d40302047c435bb50067306502302cabbc5dcf17e649b93aa3116a82c0815dcbc3c3ccc0d1e12e61621285134b80813fd1faba88500dd19692ae53ccbed1023100aa6db6d983ecd71e1fdea6f92da3fffd0317974630718733a82d6d65da39597b19ea50605072401d446f3ff8e52d68aa0302047c435bb5006630640230467e2f940c59c1238c9e50dfe3c56bf21d68dc3fc33f26c6bfa455f6e3ea78ae6a12d51cd5990db11338481b8be41d1b023070d863718beb4340141aa1775f24459bca659b9afaba6f49daacfb7893cab7abfee8797e031ffc48b8551fbcbe2602f60302047c435bb500663064023039659f82942f9864ddbeec23dfe4e3eecfed1223650f91069a9475b8d1a674bc4288ddb3965e767454ac75081c88f248023005e61b69b877ec628e8b01f337ac6462e8753d987c5a09e00661af7fea98454c8ba5f2d874840443e5e9c0a8a73f79a50302047c435bb5006730650230283f6c1ddb442e1fd414ded9f82f1e9cf301f25e71bef850bc46a59a9d610dbefa8083a873b8f55d5f12de22ef4b0b08023100ad0b66d8a76b4a2d31b58e9276c6e51fe9349a46e776165708a35d0a2845e19798bbcf86b06d5d3c9f7b2518668bbc830302047c435bb5006630640230739bc409a13f077550336cee68f39af71b13e278ed5d48d24d564833c45afbb478a39e60b5838c3f0d35bf0e2717635c02301ea5d75de08922bf3d525ebe25db534557f04e142ba3fc56fcc43a7fa272515b56a696308bfa842a936c5c8a357bb4da0302047c435bb5006730650231009bc520adbe5d66caf4d9a3148215b7b6e059a83e0d1a73d892a95119a775258f4783826fc19882f960a21eefff59403502300b5cf78c16ea028aed2041e6ee04d0698e486c0377ef96502cc3c62bcd02badbc2e69453406238c8373f4ee44d8b76910302047c435bb50067306502310095572d48fcaf62306fda7929a10553cc57ac6f9b5c74d0b3bd2c0cde2300dca2d949d5cd52f7b9ee81aeb2938e3c7f44023003389285882f1d62e305cb00b078e06603fb02c035fdc599dd4c69da6e69fdb29a5de16494d79921a2587880ab968b900302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d7fb5e850e0c7219b4cd6db4220d3727c6fcb8905c7700c3d5a94ff116349be5d1c13c7d3a6022576627d83538a49b4f0231008f638e8c64f0d71e36039c7b956b06269bb58addc98e715f863382e1eefd82624e8c7974c06fd37c35c514732b2023dc0302047c435bb50067306502303f6f8c2549a57cb91e07a24fbda161d216ffeb67e2100669572bba16c89eebb10fb560c3ffdeda5e4521eb4b11c4abdd023100be23ca9750e201ad53d45f624798d078b4e0c921a3ebd96623214a89eabe9f0089b38f625956491bf705d49360c1ac680302047c435bb500673065023100eba0f7afa3200f61f0ad672cf224ceb06baa2ad1a16465d4dbda9f4425a4c5ce0afa3a5610a4d082e285d22f605245d902303a0f0a09eea2b5904637bc6a32c1fc9b4ca3d1527fb546425c34e478951a4e95386c05d14ef4fa31c0edb1e8c7e4d8af0302047c435bb50067306502305510fca95dc4056af032b5ae9accd6dbe30458efff5dc637802010cc2b778d6e6d2fd34ea1ecebcf12cb2586b64c27d1023100a261d5c46e53bd48b4fe9135205a3048201082f95315c3840a2a769502ed9b2731b23bf9458cb748d3d945deda6977330302047c435bb500683066023100e90a7a48616aa21e4ca67303d8aaff7a6d9c50bee91c102a51025539de97ee7021864fe4939912061099c8a9300a8de0023100f4ead33edd2636ea2d9e4ede0362972b02cae31dde991e2dca3394a13e2f444c4f5dd49ae7aca763ff45cfaa82f593c00302047c435bb500673065023100e9d12abc75237f842e53dfbe0626a9feaf2b9cac482b7e524698bf41391ad5fb10278c698f113f6b8f2132e271d6423202305ae13013bceef7621958b1f8c167e11c9b43d33cf90abd35841f27952cf4ad65fd0f39a55d5810bae10cbcb6bb6ab23a0302047c435bb500663064023003ab7f27c3e91cf79e74eef8c4ed26c4f8544c2cf7770a1f704247cd278d5f28f83d832dfaf063879332cbe8be5b1daa02307ad2188c883ab68e3df0a7fd2a052dafac8bdeed82e48dbc684d2d34b721604a15816175e73c71b94f505e33033f086a0302047c435bb500683066023100870b385f9dd599f875b734eb86e48458be2a28937bbc96e342fc67c855027046ea358a8359512e97984969608f7c1adf02310096d69b6a108ba45d0dd896b0da09b0035b7458941683a3f2a5da21bc2a7d7402367e702f398479d0c834b5d6124518bf0302047c435bb500663064023013c14023623869a1e237d04826c70ec8a23e18a7bebbc465d2baf48a8aa0e72312b94861588cb0d2dfb1378bd4f45e2402307cfac2fb797c042bcaed0a8eb661f9bef1b0edd0c01789c698fd91cc7ba6d4f14916c2cf77922db28b9b5dd069971e950302047c435bb500673065023100d8a6b0424fa3faa28ee9aba78079cb4ed014ee9c311afc1b6758ba3bbd904e3ae934d42326a0d20cef6319d823028ce902307609a5f4cfd80d87449d54377e88b9adb34da7dc050c51dd30b7bac9b1b75951c163bab81be71588d10e2f50560376fb0302047c435bb500673065023010bab11302819a87e177afb87c8db1bcade1498238d69acd7ded8b16899a41a42d32277c961b9baecd0ee6de01f8564a023100908b8b54585a68fcbae779eda0e7505953259e86cbf92acea8328f51a153a652029eac553819a67c3ee1ee8ae9a3e3ce0302047c435bb50067306502305ab9b9bcf6fd0606e5f5e173e5319ee41c7ae7b57de0655e7996380d02219e444fbe7c98a9790eacc29c9cb8b0d72ba4023100fa657b68ed45d7aa218cf00fe07d460a5669c8bf12a7de7dd09587d4fc79d384c4034897b02e924b188439521a0bc9ed0302047c435bb50066306402305489ce6d809ac2839833ddedb7fe3338de2ae22aa41252e38271b02493dbae82d8664b9f04c7340969a2d745d7573392023011983b2eadffeab8d579babab4e877e8209c7b415f6a56416347f07407f64e1a2b344220bcf9b0d10f949690a9dfdf830302047c435bb50067306502303ea8c3183096114a22a676568a86073f6b7a34efa642775f85f004287767e06424d91b7f21c26b8296b8e0db4952fc87023100874b208fa17da060af09bd3de61f9949dacbfadae88edaaf0838e4adb69ce7824aa2faeeff36a81148955381bf611c320302047c435bb50066306402302fa6dea4f9f5a648ea621371bebcc4b85d0f22e300d5dd38a76f5c1d87686d31c7a964b9bd8a5274800d98da01bb547f023032db5f60a4e7bf82a84f2bfe2de51f7c7e76a29836bbc2b89c8ea25ea75cc3d6a9804924648cf0e8ef2cefd8cb6de1b10302047c435bb500663064023046ba6e33c02d43432078903965a04f83c4cca3d13bb58b376f4071267aebf9e408bfb290390f5f280985744712b7f01a02301eade7f557c6248e1ff8544ab277ff36788dbe70b0dd8566a5ef2802f31e07e9eff2954dcfe7b465432e61c94b53d5260302047c435bb50067306502305d8933d208f121697ff26dd188f526bb51a2c7dd3b1620d7c36e6df0934d11dea83094eb5566c572deb75f9dc09cc852023100a49bb68c2e340b8ad14c9d966c834efa058ecb46829bf660bd2605f88a5b78b7f17f036184e12e4f4a6c12aa8eb4eb610302047c435bb50067306502310094528a7d638029d80706c2b940cd94513dd723c2bcf3b80a8f40807ae34bce3132fb3d101a39375d990d4215a96a74c8023040770e8d774e5c7c393df09fe36f9e2c5751007415d67e04d91dccf19fe122f984162219da9238e1f668887d4521c2c40302047c435bb500663064023073a54582afd0814985ad4dc530bab347f7ffaaf3d29f77685527f9a2db8f47f800062655275764faf10bd506caae7bb002307d13b8d1bf4dadfd1dcc0e0a441e1c255d6183755aaef51a3e0619338d69ccb5bc9ff90f40b97b51fa1db2e62bd1d1c90302047c435bb500683066023100e92d961e00984f0bfac042e91f9b0847b7a90f9cd050f9c4d02ed55adfa17a181c2c44494a51c23c353b5abc59f793e8023100fe4385d9cb2fff0c773bd4dae25af13b02ea1dd8a6e23c05753c478626fb1aeeb29420005c7384e7b1129766fdff9a4b0302047c435bb500683066023100fc89ed03e3999f595fe53dfff6b86cca3315dd58f47d491375a4af0b991ed1cf3bb651405169bd37420f9b40ca781815023100c991049e7831db34289edd779a76892fd8350a2517c8489eb17df0d5e71372b4b585960511a1ba4670d02bc3fc9214b20302047c435bb50066306402300e7c2121909e594ca278c6c1b4d8c374613980f085a10235372cbb3d51e40135e0a423a203301e9e88afd62c8c716194023011e80c2a97179a567afab5a3536dbbab0d86048c6edf9c0c58ccce4a0daf620b952ed2f668c99654e4c830df670268850302047c435bb500673065023067a48f721eeb2d7b931a56f1ec36a138fa9a9320a36acbcea692ce6c7419992e2b6a85ab7cea8ade209611fed27ab87a02310097b0a3488a0a96e25c66411a35e2b1b6ae640e2c8852ace65d63a2b8eaea3fae96db7bde9ba432c13b561f8d8169a5af0302047c435bb500683066023100e9f2dbaad61322736b046fbadc9704dd3879e4f00fb8b53eaf1408f7e8ee9f9542af1b0e62a5efecd1f0127c4d98908d023100fda5f5a5c5eab040d5cdd31ee78c6796bd2f9d9cff50c4f82ca729dbecdbe4a0ba5b3e0f5f242a3bf66d55eb93c889280302047c435bb50066306402304abf214a2d7c313a7511c533e3b4e1f3f080232fbb0e31564ca03b5f869c9fa85064ab8c9f46190b4931559fda223b9502304cacd8de05089e91d2b48ad5189b4c19b8e5763b2d0afbad5d9c36971d37fec35df40796dc616a2904f34c4d70c164620302047c435bb50067306502305867bb68c727509ab317085ed1248c3a53be8504af778bccf244f923a3a3ebdd928dfcbbbe66d376a3c0934e522daa78023100db67aa449576493ad275176a84778318a4226b6f9687b7550d096e67e8dea35f37753e1efa2fa4e7a114db6050ca917a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300f92db54aaccf1b92d4d65458f86019e0c3d1a544b2d46ce81e45ad3d44faf528015a2e1271a15e44fc004f3bcc6cc310231009561a3e5aa5ec79e0302bb79f2587fd65edf0bba03216d1abfbd0e5f7145f3492d74f51497ecf7bd8895780aa09530a90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cc1e2558855d0ed07388362d6fef73fd4a0d85bc234dc6107ef4a14b356b7b54f8cf0c65d695c7beff726c9d99243536023100dd74d8bc33061885caa7d45364efa455693ef2914a8dd5b92fc1f46e94e0aaa985b56e15436847d27140201bf42ac8ac0302047c435bb500683066023100e55134d565bd06c51a6757b3ae98ee28b9762ca51902915491fa699a2254a115ea353cdb6628e393d7813a00e68de363023100a27feac2b8c10a81ec29f4e626093c922ff618b6906ec7fbde14e33b063b95db2aa3a983eda18e38095e3b53052aca2c0302047c435bb5006730650230364f4b55599606aaa677b2f3ad0e4a34cea9ce03aa7fa7b5ec0bbff9edd7b8c7593f4ee12327abdad92a6acbdea9ef41023100aaa54e1617902dca1ac8f514aeab711904f88e48f2c774f79704e47748dc3a9f7bc1570ce8d3e1f02126ed5fd2c6e5b90302047c435bb500683066023100b06ec3b9ac9e297b593545f80220bb1058849c19569b545587d0d2644ef3405819f428c930dbc3c2f5942a3eb5cf0387023100fde0178dff088aa4a99cda010a4f65a112171dc6e2238f79ea356cacaf508c9285c881dc8aa34783912ced08ef4cf5960302047c435bb500683066023100c2bee43325d3329f7d083e88a3cb857d493366a6c5ed84b0619a01b0a52881da7907793bcfbe524a0d0ecb97822f0282023100e15b95feeac229673736eb873c8f3ecc6c5338e99ea364e80a6756fcdd37a3bea69ebe88774867b15a37c4a1f616c6dd0302047c435bb50066306402303f5c115c3ca037f815bc4f290e0ab3f27271823a208ebc5d6b3a4db7d3f0c8d2796e9411a34b0a1c36f8167030cbe0e4023001deee121e2db704110c780e81d5a078c67e779a8529c662f673065bb52737de0ba4937b7f537555023a033ab9ae62e00302047c435bb50068306602310097dc67f9eb3771d52f940c2956ccde0a06345aee5c005cacecbab3c45e68704e0f2cd4d5203828dc92bd3cddf38c3e940231009355b279fae76dfb96a7fa6d2657d758742649feda6bfa204c58a254028c425a9a157391a2d246eace9fb0e859d4c9220302047c435bb50066306402300487df51da0cb6f7281fd98eb275f5de1d717638bf190b232bc3986fbde7f21032d4f25bbfee15cc232467e35998d4470230577e05cbbcec2f159041cec8d46a619aa9d3902fc0e8b435ba80033e979ee03ac12996abe15519d00b854a7a45f83ff20302047c435bb50067306502307dcb81414affee33089596d71abdaad6b492380f483793bdba32ec1682dcadc327fd6d8ee0980d52c057ac8a4bbdd0e9023100b4383e3cb44e75934301dcffa786c7197cf775fa48a99856d386176a90fb9a65971ed91b704fecb59a6e2735d67c98d90302047c435bb5006730650230221245cbaff46f77182417162b749e44de6204df083acba7b27c02cb1367f35d33225c54e49cb65a73ddd11b2e1bb183023100f8f099e05eaba94718127abdb01926d10b6138647fb12296292288d41bf7a6a12b5faa3e81cdaaab5c2c5c79052f625e0302047c435bb50067306502300f2481dce5cae5bb405699a682b833a0af836defc190015930fa67492b87b8c28a542a04722856122413676951152b9c023100cd78bc250887643f0e768f56deee4ce3e0c111aec6dfba1b76ac96b7e67194be61809bd6858e47ab479a413b4f419ead0302047c435bb5006730650230148131add2e1ce46ad7ce380c63a4b8c2600fc4ec583f4600ad7e4d1faabca70c44cb114b18de793e5424088122dbe82023100c830b6ec6bef9ff52c4ab1643901c8948e63d84617bb8b41eef51bbb1a871f32f9d5eb3b79373d0a9320086eae04662a0302047c435bb50067306502303dd7579eb20ea8670dc51eb1f79dba11b48488acb3dea5571dd6c152313d71951576762379068085ce665e131dd4aee4023100cf38c792602af858d5a2678dca33c00e3eee72a871b484cf9491e74e5061324c24bf63965ccb80bc925f716ca7b733b40302047c435bb500673065023042dd56c306976305c3710c842246cee889c2e946e5cc384396b1719a39d410948d2753421b7124fa3b6711d2f9c5d3d8023100bc24e683e4f9b7dd9f03c37cc05685d3c90d7b64816457a4986d36173f377abc64fc24ea8d4f8c525141e052890da0e60302047c435bb50066306402305de4b927e5f97d07958db5f26fd99861683f1c87f310469261c550bdc87b9c6d3725361e9f53cd82391d95b0c069e1380230795318ee23af77f01e782487c33d2ca8ff95931607241fff73d7de79512047f378742bf944517dd69cccaaf04b1aada80302047c435bb5006730650231008f5f7f77c93ddfeedfe1976e65ac4525ceb517f1260644cd1b54442907a53ba1eb0115eb59fb6b8582510fdac6645873023038c5632174d2f181e7f02160c30e3f9bf8ecf7ad176ff98f654b02901da78fe4189d0e319a44e0b12a30def9bb5d34280302047c435bb500683066023100df2469f153744cbe564d3285dd5e5e678bd87d325c2ce41c942a218867977602433841501e4c58070f924517d28486a8023100f3e912ae19852209855ef5e2241f7f605cbe0b8124c09ee648cf08a94324342b2f684deeeeb91ff1bf93af1c564d56600302047c435bb50067306502300ba5d3d2d6a10c62828687b5b78423a0d09fab46aeb73db616d2c4aa26dbb3dd3df4e640270c1bbc3038e29b5bb42b3d02310088e051cbaefb5ce5e6d14dea2ff15502661ef0b9150194031fba4c738331fa6429aea7aad7c601e538ab483bffa2155b0302047c435bb50066306402301f7789eeb07db9f6d607f75a415f4a2853874cbb8ec22f8008c07c2cfcc8840bfe9f806ec0809a07030e03ee11853d8a02301f2cba9212619844ab8385be3f6a8c678ecd29b6c8deea34366e2c5a71ffc0a11581ff75e32f09c0837ce022c968634d0302047c435bb5006630640230398f39ba111304620c1cfc4cb7bf8c181d57c0c35b4b2f5936ef701e6f9f194eb34eda0a4e9808dd6f74f58eeffa683e023006197038259325ec476a76303b450fa3fdae900a33180ed622713efa8592a476403942d506c158019f641ef7cc4559080302047c435bb500683066023100ab4b78e2cdee50f6aa201d58ba8b0b96484e1e94804f2c54f2056efd30f6bfa29dc203a0f514348b32994bc4343f943a023100cb77a68fe284421c42a86172906c5c474eaab6ca9dd39503750487266c30b7c15eaa5cd5a30bcc773b719712598d4e960302047c435bb500683066023100ce91a10527efc9b14f147918a5067c10943910036e61544955afbf507beedeaaab9851bda4c3336e304137353ebc91ab023100bd1e4fb5409e5bb23d3e61558b6dd81e2844cd15dce6ad25690ba5ffdd2471b0fac5bca31657149ad9afca869ec5701f0302047c435bb5006630640230326e44539bf3dac5b825e77646528d6b5e6b3aae7aa02ab18c78dc92d40db9c4f88d931ec022cf7cdb508decac81c9c2023076c9d65cfcb03cbe1536fa8ad0e8808029e655cd9dca5fe12fd7197fce8d08212f2ce2ee92bc536810bf219610f1c6410302047c435bb500683066023100854cee3a07af1ca6da6be139ab88333acf1f4fa49f8414d0b66f7a996a6ea3581d83cdc573ec95454b9a0c47e0f5325d023100f43a8ecf7db4e8d3c67a7ed69cb041c2aeb5467931ace46b0566b4f70a4fe0977c238628fb672e1d119f6ef23316054d0302047c435bb500673065023100d403f088e4f64efc0e5465d56e377df639f888d029015438f264d2409dd7aa2fd9d470c2649d1b7985e3bae454711a360230296ad1fc6d7ceaddaa6b46c5791243ce42a9cc4f9d99939071600baf2a0292e373cb2b73322dd20d333d2f3d064698ba0302047c435bb500683066023100af25baa3c6783b04018e7d2a04eda73a4d048f6a55db5b688928913718ff0c04b3b74cafc3c4fd618d0bbe2bbe0ae675023100efdf3acb89f34f9080155d636b1cdb9df7f82f6654c562061047dfb7f757bfa3e689ab3bcd9151155afa6bb70cca4f8d0302047c435bb500673065023100df9a72b891e2d2eece542feeec79493d07a40bb7054106164b50f28cec46ee9ff9571b89fa852abb407b978853e855d0023055fef6527bc64c5ba9f9676bccbb444ed59ccd0fd547b67b32ea5165c79cce9d6922dd2b379dd4bc31c085f0e232b5520302047c435bb50066306402301e4ba29182aba03de27f1d9d22b8b5f9271a15118ed9721c8e7d7d9c98b7178cd62112d6104e16ed7156aafe74bdd71802301f66c7e186a1ff6851dc30b903490abdc2bc27e6171f059ff28eb57a0cbe00953c806a1a612c944384dc2cf9b6643af20302047c435bb500663064023017ae89bd01ae9c22df5a68b182f1778acd91497ce142e5159d178bfd386495308f7928df46ebc34bb68984bb88ab985602305ecd7a49cae2fb515cf36e173e429d51db388784b6ee4d23cebd6c3d013803f91d5a84c3a573610bb983cd60acb9757f0302047c435bb50067306502304b7182512b6a27333b67592cac6a46d3c32abcd198d87fab6911e475e05411f1ffc5890177eeb6b5ad41d5f3dd4ed375023100d4eeafb52af2f9ef14ab29333db628a20bd679f3d94627ba8004da24de7fccb6cc51db99babd0ad360d92cd8c36384520302047c435bb50068306602310096a143234467b1c91c3dbf394815aced7171d8c1012d21c36176c5aaf84b82ba5c5fb9dec0cbd2ed70277fbb89241aba023100dd81a2ca099afad5508fb2d2afe8eeb9b2a8f6fada9dbe6adfa9210ede5343575b2f64650143072f080b156509f19b670302047c435bb500683066023100cf636ff2b7a977d2307966b3741d4f9acb298dcf60f9a73252fc83d8c01498d05a252b6c3ad7e9ff57bc0f23fd20330b023100879267f33bbc68345964d1bb8b2f4ad9e9d554d10d03c8b282f24a82cb4b505df77139d88e84bf7bcb4d8f17cc1aede90302047c435bb500673065023100b81798fd7e114746514e138326b2507ca06066d1f2b318ded57cff4e8502c0b02f04e78ba57cdcdef5b909a77ae372e102307f6fdc5eb9f1cc7aff76f44ea9bd7bb6a0a23b0920646fb41897e826a5863efd088179456e44abba7f11ec27e05d34bf0302047c435bb5006630640230777522d4997a82477afa35bfaa8c5e43da3a5ad01e057e56dbcf1eb0d1960d26d892def88123e568dd271481057f50800230334e7452330ba21debe6492c69579ac2d862912855ea6bc9fb674e09789d7acc990513be1e4e710eefa764372feea26b0302047c435bb50067306502306fb640d5a76bc7f57d28a26470a0333070b570c6dd9b10c9af83414db7fa024e7cd61bf00e68113ef19631336817b14f023100ddfb47a9c5b3ae98cffb6437163308f1eb0946f7ccdea1daf51065b84579a84438e919b2b3791e4106d5cdec2078481a0302047c435bb500673065023040ae4ee8e58024a7f3ff2805584eb03f42e765775504be672eab7f17da175bb95d70106c887d08e4b256bb015d85d5c7023100db558a56fd778be645a8ba9c42d782830525d45a4a711982f440840c02e43fb955f8971a607837e3bcf1107b9b06f4770302047c435bb50068306602310089d8308571b297fc515f4ee9be8dbc3583fe56d8c30efef52fcfefba96cc58b21720781d0c345a4400eacbb1e0bdc1b90231009b76f2298dfc2f9a35f4722a16065ed6e54b5e348c520ce393a39bc307a5a697b7978f4202dce63d69ce3f517af7d5cf0302047c435bb50067306502302c92a8be673cd95d1a4a27bd71cb48ed24a6d1b679392af3bc058b3c88453620c11334a447a070f01c67ba943b9ed092023100c798760bf291aea3889e4651f028d0264c2b76c57f14afb231522e285ce7c8f1c2cc198ebdedac45002c1e61fd8a5de20302047c435bb50068306602310086c778412f18bec0ecbb2dac9d2ff53e2fd2d429917aa42161ad8cba69b86997aaecf5c997a3e65a7be29600de766a32023100cbc31b602142b0cb272ad073fddb284f1c2c6fc0a112648abc071e30c40f9e512b21493c9627dab75cb29528fe0f82db0302047c435bb500673065023100a9ff5e901e61267d92907ba04d1701497e4a033d9fa0dbaa50da7f9d82c4057af64819aa638483042c59dae52098252602303986528fe4de8cb34d2e62ff8b326dcf3564d876a685396be2d6d370fee1df0319cc97d55603657f5130c16ed8a36b230302047c435bb500683066023100fda597ef7fc25f9b367c06b4f4709b56045c7806711459ccddec90fbc6a597590fc46a78408f22fe943fc6d6e2976813023100b40e37dd1ca111d0fd6c2983137881bd21e315521983a7618c8983d8e90da2de4c68cbbd10aca68df05a4c28969605430302047c435bb500673065023100bbf5edc7d39528f2a7b9ae410a6dd1a613587b8b60b1809c6ed6b18677cefa881ff3d65f25c6d3b77f2fc0cdf6911cf302305b6e1a688dbfc2f7e4a3033f65bd38fb5102293669f7725ab21984151f76228bfd1783891498e3853f19f6cd404e44b10302047c435bb50067306502305e5c4626fec3dbeba26a18b68abd91a8473815a36ea62c22fa0a05ed03069ecfb5c0344a386b062d90bded9c07ab6e18023100f8bb905265d23962995c68e8e133fae5345167aa9cb5f747acccc35b16f158e1bb6f4457580c3ac4e5b1f320d3fd4e7b0302047c435bb500673065023100c0b03617ae507e8967c401732551a0ba6dc20fc975ec7351ab6bf37e9a31c2e7dd994f3904c7c6c60a6a468b3349e63202302d8c282884b0fcec27b15d52b50b7d62c75c79ca16f59167d258b7b6d3631a69935b55daff65b11885a0a46a2eac5eb10302047c435bb500683066023100b448972171c32b6c28ff518553a4ebc90c0f6dae8b2c45bc37a84d5784f3b323bbf5be936e7d7811c5d684533b8a9ab6023100f23f186b02379751176425e5a9649b0992fdb5804c2b1cd0f2400dce336601eef8761ef216cf5abf21c7b5c1657800c30302047c435bb50067306502304e402de96f246aee028023d9bcc6ec8465b3fc9b1bbe90d014130f78a694130302defaf67053f38431db7a4254267f8d0231008095d19bfa6a638aef5a9eee3e4b8fb3ba9907e7173a6e65d5ae3b54f888620f7dd386ac328853a665e220b778583c2c0302047c435bb50066306402306f9e716506f7e6332b2346a3bea344664c24fee46c2cd11fa55a25fe45d88dea55a52272e5325953622eb22a10f53b3b023023dc8dd96d661ab3c0dd973ce00fe1845ff5ef29ea1b48eaee6f3b09f1f28b3510f0963381c1b53a0c679369bc8bd5530302047c435bb50066306402300093ea86cefad73fd40c31b5c5b23ae7d51259f3b6711bf3f71118c26eb4a228f2c278cc2943192659a807a3cab34188023018f0569b13ba5592b36f43a81756c08a2a7e59d12ffa11036da07249da728254c3a803a1d7b38c0be41e56e7a2f69dbb0302047c435bb5006630640230117e08a52d2446c976172306a36fef164b481dcb1165a85c94226a5be071b4c808d3ae104cea917bd1f3101bd99331230230091c760c3964d16cf60739d7ae53f113ed50036b45043a933d94da6fa19ae1355e17ab39c695762f98ae653ff1f00bfd0302047c435bb500673065023003e642f996fb1ceb6b072517ae2758228c6ebdb05371780ab65b4929165c5f5b920404701ec62dbc7c19e50f9ac7758e023100bd94dab92a61696c0faaa8a9a2d17b51f32e38a3fa407d703cb3c5191df36424d65492cee23cdb43f32d7d9e49b9155c0302047c435bb500683066023100c76401867fcade5a3acb4a0c677467c2955644b52fa8d59f8af541077fc06393e9151453a80042cd72b85978531177b2023100b4abcb41690ee718f7ddfb41424909682f0479f3de99dc09a2d6fe888b5024210aa7b13a775ea752a26895435d3bc9670302047c435bb500673065023100c231924f2b9de00918d0cbb2b6a2e14b28cedc0076cd6cb18721333555fe939eeb3bbb9c4ae3a77cb479dec25604aa99023016479be9236fed9310b1ae380396cceb5b4067da9a755e1a31a2817e46c2cd08f2d74c69d543bc840499841b4181cff60302047c435bb500683066023100e70714c57e5e47e45839ed83b6685a8e39ebe8eb6b11b9e739263f01af610ac24ed3735a87083898d3c7edf8a84ffc12023100823286d479b8ef2eeb2000742c2fe9d7c42d64d144be0228dae07009b68f9f05e950ce69007839fdab03089ae1ef0ea50302047c435bb500683066023100f4b7cfd33d72147104505b2579f4a79c219ade1315bfe0af4374a4d25968af48f9acfd9b5a36a1c320e3e8f37478b824023100809a9392f6a5b6db1ebba47d2584d7e52334f60060285e13e68e43080bb54e1ec901563af84f20714f0b6fd5acd54f2f0302047c435bb50067306502310094f44800164887e4324726c552f97237fe6bc27f6f0e92692a3d850a3a8551a8e3b30f3b8da05c62f73ea108c356315502300c8d3417b587b3f3f9b527ff79585ab636c785eeac2a47cf098a2686b908f097f3c2867ef19b1acb18b39596e276cb5d0302047c435bb500673065023100bd2b8c9c966c017343251d208cae6ae24506774e6c0c58f6819eabb86d46f58eede29f7aa192640c4dddcd719dd2610d023032be091fb2260a076e71bd4c5f2f68f4599fa038ed49e5a5dc35a880ef3172dbc81cbf986f1fe1b2d3d1a60353641d770302047c435bb500683066023100e64a828e9ea87979049ed60c72b4bc6f1de244e356880eae4163b998604331e46ef64cde2a557e1f9f6cc3df0c99c99002310081e0ae0a3d238997fd33b58f80e4dd111a7c7fbf16b5225ad5a82de3928de5ab01df2c83014b740a91af77b32215f6b70302047c435bb50066306402303a24c6ac05aa72233f140a1f23b2b75e04ae80b8a407681c24373eb9e5d7c98afa8aef7056d15994bcdf544315a16f8b023026349a79233bc0bf887d936097db5c82d5c7a6867e12e9fbfc59e2ac6d648ac84a61e1eb48fb1f6ff324494ca26d3e110302047c435bb500673065023100e55535e91f8e1a32dcf3e6d88e285cdec7924b6ec34693a3672ae3e8ef079982a17f57af0aee9ee6bd0a80bb524d48cb02300b345d38f35f39479d8176a2a9016924a9d8c1ee52deb61b1531b5cd857794a770885df35e04f4dd2e8b7ec56117c8e30302047c435bb500663064023037833b11f7c50821ac7d3a060c1366986bd586a9f0f22ac322989b5ba6df230404b6a300ddd5087c8058df9eee63c19402305e6fe6f7e7211d09e01a555608d9b1ed16e655bf789aae75eb3ccee1190cbd1308c96023ace58f13899596d1f3c109220302047c435bb50066306402307e1462f550f3baf8d82199028bf8b3167ad4eb0523e38642344c33d9d2fd9b02526e7bdbe4bc5e029357a3bc082911eb02305e770d89fe80d162a95e684d45cb701a4342c716ad7783fd91075735ec23f70295da0234ea0f92b3e33fb9a1464d6e4f0302047c435bb50066306402301ce74aeb6ee2401775fb773477058f11e9281dc571e8d6a8f1693b6ff4144713a3234ee60901a3dae8def5159e9b6202023045460dbb37fc8c59eea0bc4d758e07542c3d225383448e910d824ca3ab3a0b5604aa32b3d2e0423e7577e5ef4f1258770302047c435bb500683066023100f351edf426d70d7b922c084f1bbc86887785f696d5b83e635efa7411748d383c2a36ac0b1f51fd725e429b6b865911d1023100b454db1e462a6f20b6e34de55fccf42878fa08aa76d973a2869a751308b57665537055bc53f3b3c57916d88cd4753e840302047c435bb50067306502306056702631a7682ad8bf6d26ca9ee7a6766ac4e4d7cc8d6bfd6a68fb85b4aeebb5caacd94933403d2da184188239f73b023100eb07d76e5d6305d69fe69ed64007225f3da6c9b73d6d76f42f770bc71c767caf448fac7d7ad36832ff47a56c551e8e270302047c435bb50067306502303b4da2da6ad49c6c7ec60d069217307507ae2da6c7c9ec26ddbb735125579136110a86d71f4bfe2fa2c567b2ceb06027023100855e64a4c2d7a54cfa900583ddb201424af63589c0a23cfe69de4726319936d2324f5b8a75ab84f4f6fa6b0fcd80bb080302047c435bb500683066023100bf8e54a6d91a499dfe9464437a5596a8e35fa993f55bf20796ffb49b62b6624deaf866eed4ff0f68bb0ab266aa798e4b023100e13e322997ff8cbb338954348b1a0389617d26173320c841f0a3ace2d0ef3831109e6b76a14a9f6ac05c4bc986b7f0640302047c435bb500673065023100d9ec1183e5cda2f267aa3aa1846245368289b8fd907a71274d42bed94912ffea4f3be296a09c6233048645e78ce9433e023041b24dc7b0e769bd8edd1a118a26cbc16e297b66882938532f31204dec8b4484776f4b470f637ab7cb6c2560b79658e10302047c435bb5006830660231008b8f35a1368b26b624acfd51052ec8009e77d6c900e14ff4419b73148a1443abbf5537cc147939c35d54ddbd0c61e7cb023100ecfa7372ce461a7c3d1d3399c0f4a42234b9df9a7dbe0ebbe262dcf4f57641149b3280054a66acbdebfa79b7f8ae651a0302047c435bb50067306502304b05f2a6190adf23fe78621ad0f6b0ad5dd7ef2c118d93b3158eebfaa300aa44e9af1e384dbef1d24235dc87e1de1ae8023100cb1c412d7b1279e46f84a60e2fd15e8cdf29fc815d599aadae7b28815e661c00842432d7e7c915c17a0bb9547a0ff24a0302047c435bb50066306402301057fccd32ac5ecb719a0c680d0f4311db5965ab0d211bd2c5dbeaa827200530fc40b4105c21104d07c0945fa795d59d023017a4b0ad534c34710929faa83ef58f8496677381823202038810195d82e32c324c949f4b941b94eafc13b15b0475ab830302047c435bb500673065023048b0959a8d0e07297f6d727f8f3e4d4bf3001e3ed73cf05b47ee5f9554b1ff67d5ce1e8cb5147f3c5d2fca26276328ca023100dc6016cd3f85957ef09f6749f25003ef05af28fe0ed51436d668f0106bbf1153970cf5e4015695cc71c53e311b1e4a8d0302047c435bb500683066023100ffb0680c4413d5a1c2028ccda18391029ecee43aa05c7b2280e00e15912199ccc53b01e4fb8bb394b9eede824d1c6578023100dedfabc5a6acb4ae5165097581d8d27912ab8a1393896a025760685b0a0deb05f20a4273248d9aeb08abe82b2ba8a9d00302047c435bb500673065023036ebaa43e377c958cadc0d3e57f1e7c3c7e0f717419120c33ea97cd24e53fad0ce86b4ec4f17e815596037ea66afc7f0023100d5b8be818e1a5f3866cdf5834d9c2673f5720aef90731bf138b2929487a289253f3a189d35a5bacff81f37f6e0d01c5e0302047c435bb500673065023100dc92fcd5c0210bf1bf18d3eec9fc3a8300f665bc93e21389c77c5d989e124716274a8cee4b85e1988818912e62a425bf02301d481f096b1938ea0af98a5871c9a95c7aa36a3cd040f72e34590ebb54aff1e036cd2bf93d78c28da6ca7dd17047fd590302047c435bb5006730650230324ede34bf692618c3174eae606221ace5d3fb140278ffa837137e0e3d6a7b40199605e777a2653603140335a8cfff57023100c0fe4f565ec39f082213079780d3f0a9f10ff7de354e50c599d8397213cd711787bd46170a66abd18b9961a2bc222bbf0302047c435bb50066306402301b073af587771eda7b782fb2121bffcfdc8996b3cb5b8d652b909eb303fd741d7ed485a863f5ccfbe8a1edac49f6426802302756a905a6bc25758baa5b5aef6280026d3ceda3b9af8319287802c555d3d592002c5c69fb931d81e50224683eab19980302047c435bb5006630640230585baaf12185ded946efae5439ec63981ddc2e737580b8885a6bcc81add0404bd4e9e86b922fa609d323fc057c4d785902301e64bad2733a9536decc44b8eed2cb7fe39b76846aa8daa16b59611a74a54e9c17f3c2cd347cec758ed5d45239cecae40302047c435bb500673065023100e0b3efd6fba84c72a9d388281b60d48aa350890b41dc5b3b1ca4ea9f85dcdb8de34b64428a679f183d1d2715a15b364a023004837df3e988e6e361342829a7d745b241cec92a2ec5f6017ccc8a2fc7c94a5fa2ad76532a7b1e074a609f5ab025de7a0302047c435bb5006830660231009fc3cfe642f3fca5771cdcc7ef7a81cb1b00f4644be55d82b8eb520767233a48b3484e3de544496917ac54b1d78a26e6023100ca28864053010f6f7ee52b2940351601c72ad698c53b6bfc88bb07c42db47fc699470e37cd6d71b07cdd2a366f6ef39c0302047c435bb500673065023100b4673750c9a8791960956322b46f990066fe2fea83cae3bffb6eb55be2a591c47a47a1c636c03d36b085147c2dccbce9023043c8e295430a136f2a9844f8b9d022818e9c847f1073668958e8f527e30dd8541664bfafb725ad154bcc8d9f411989f30302047c435bb500663064023045596e840f908c19652af3ec83cb80afb314d705db1f9d64d436ff97fc745e8addbc5c06247b6d1b068fde710f7abbbd02307bd531b7600a5821c5a21d31445381fdacf92537c8f9ccd5aa5027585016b6aa20c41cfc8fbfb6d4ef66ce3e0de406460302047c435bb500663064023026be0d315b66a0e8112515f165aab13b0857ba90b23ef5aeea12c5dcf38087ead44e5847efc0ee448209f07f7ef3da3202306ffb6209175720bf2aedafcfdc78f8062fb1eb497cfd1440807d6c9871b2c0013d36db12355eedb8648aa87b7e7fabc50302047c435bb500683066023100a3827fe3ef09df916b0bfd3c82030e49e88cb4cb41f828252131a2137b2bfd751ab5454f51636df9183c00bf85a31fee023100cfdb874debd12b5b5b913e05f56ff3512bf8fccb46e9dc000371e1579cda14228be1d06e68fed725b5964135de503f400302047c435bb500663064023036ba4399ed2901f84dbaf3181009b79469efa25b57b8acf3c6633c96b5987d546905746c37e47a154051a0c174a7e7250230308b5bdfb8d3defc06e4209771d5d6cf31f2d8ff91615c79a0b39a354dd45d8edc2f9cd23cfae1b82935654d89b0286c0302047c435bb500683066023100ce73acc1971ba8bd4f94db09e5b92b87a145e41a49e83fa59541a9eec5d5af0122f8f85ff44305bd0e60ee67d64dbb71023100f6fe92ac1ecb995293a142f38becc557d6a84fbc5208a3cd1c9eb20a7012f4e66d86b973defc81b2641b6f7cd48861e30302047c435bb5006730650231008c4c383dc92f42104fb9104d6909bbe7aeb8267114fbd1306094c10cbb867330afa62c2e1f8dd46f767dfcb9052eec4802304a375568016dda0038ec4996ebfbc88214ad0da749d69d17247fb876752d2ae6f92c894a69508fddb10f3ade906c286a0302047c435bb50067306502303874da2e9a0952d542df6c1f4e1d30added06831fad9aa43439d3a86bc96fac7236d4f5308e334f0b3dc21eb066d2c1c023100d39da26b6228d455af3465f73b12bf960868cead8f48c36ee6138ce0ba5b774e0a9be07e1476a6709f10632aec3a78770302047c435bb500673065023071421cba0e9d0c06fc28ab8f434df5611396d958cf456402f90c691fa73c83220589d093f000c6f4e950ac1ab5c244f3023100c130aa60d1ab80f99e793155f69ab4c5b066dbc14aeacda82a90e4a94c6c77f3ca87061cbdaf540dbe0ef023c17e9c840302047c435bb50066306402301736ad9d87e838a072f262412fee71cef5148c8718451479428f108b49b051c61eba6d4a7327724b3a05ea71dc2c1ef602301fed2400baff88a108c642960d97c06e81fbeb4e42cb297d8336e41d6f015771790eb4439aaa4f5e173608e6361d61780302047c435bb500673065023100d60ed21936dc98dc856439294a70e613deb164206eea0e386876309fd1931426e24dd477f991589af8c2e7995e09125002307ddeadd2c17c2fa924a3d9cd09f5e9c23da7678fa680683f39bbb86c14fdc3895d68a3470e79c7771507a71cba82cf560302047c435bb500683066023100e53e7163d142f741a019add07ed043a90f8f6aff86c4a58cb0f1e856a1464520b64428c82772b0fc751ec7956fab8ce4023100d7f24ae936717a6eb1edd806554ea2fbfbbf9d504e02a55f383065eb7cebe5eef328c460c5be1279fc198beac2b5d5b20302047c435bb50066306402307f489996f3b5f058fb028533fb266b72e75687a4bf099259bd2dbe797863579910426065b2fe44eebbcf0ede16e72e1b02301365a64db5447abec5b31ad71a1bbadaab48a88584afeac5fe0166f802c6619d8683d8d194aeca71c61ef7dff1cec6af0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023037ce23b4a7a910d4c396d2d4299299947fecfcde6fb03f834ab8a4a71d6b287eaf918d73e563ed436f44013a5cce2cef023100c2ff607df51b16f473c907b02511ed3836e6b14a2bc7648bf70bbf6bec3e0c17628d72182763e2b28f5a93a5f607a2ee0302047c435bb500673065023071d180d40fc3532e96eb1d913c2113ee5befec0e87cf5585e36ee9edbc141c423fa4500f7cdaca6996e5c349e25dda43023100a3c34ce7cd32049abc47e45b0f50d8cad93737741f1eef0f1aa597ff67213f1fa8a75b1633e13b2d71fa57399941f8540302047c435bb500673065023100ff2a705146ddb3dfa1130129b68c0a95e4772aedec9f6a801713b34c3921fbe3c9a2f4848011b2148d476e207f8fdb00023038eb3f21f7c11c4c18d59b3dc7d219a59f795f3a240d2e337e2dbb56af0aba7002336576bd094dde78011ad9da4a09220302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ac66795dce7717b35e45ba1dabcfe42fc37e63a2ab39419a6cdee8bea5808a11601b3f9d2cf3e9635b926a19b2457b6402302fe22243e8ef3c9575574ef94e28f2803afa19f4d4742f3d85107491574d4e3e5913f83f6244a842a810f9f1910778ea0302047c435bb500673065023072e3e5cbbc0662ab2a7478d85ee4dac766f01617558c6a2c5ea6cb0fe47823d0313220ab3ff6c40924c6bbe1580a14a60231009747eae766fcacb3d0ed115cb6d4c00b76da72816227534a3fb514851afda9064f3171f250c1e9134c1c20856c61e0610302047c435bb500663064023040dc89c41f88d5ec31bdf62a7dd90d6365743d752adec8b96064ce089477ef1f86ec0d38e1205d73a35006349ab5fe0802306d8904180dd42a3a101ffd6565ee12fa91f029dd527e0e4f307cc854b898ea43e19c06af056b9937c9cbc62dbb09ada10302047c435bb5006630640230463ef1c68f9bed6b3eecf53f823f8c26c0458c03666dcef3ef3e431344a5826eda73693a62c59535b532c7f81cee417d023017cf80412d522a65c108910b67bb457fdbd9f05f02abcd47cafef84ceeff937228bd68616e073a52712e9ba79dca2abb0302047c435bb500683066023100fa5db366dac4f18d0595bd2df485ba72c19b2d7543bebb8c4fde762237011969153517f39c8706fcc368db27fdb8d742023100cb75891aee4e489010c43c27f1563d4b64f324e8d9326ccfa123157e281c58f74da62ba342639e25ecae41366430bff60302047c435bb500673065023100c646be3891f67c78e3bd72a7fe35b0c2342cc8ff35874ad9685b22e3407287d90d26f7d93fb91b9b5245a8d788097d8b02305d7ac07b087aa8fcbb1c9adf42288650d43f3fb31c188a8c395b0ee2ea6cff656490e04879db18fe224fecea1b5a41a70302047c435bb500673065023100840deb112bf9401f6eba8024332e79d60bc1c3f49e0657f1e15080c8f4d0abce524089d250fc13030696d2c032cccca802307cdd0a6d887414491abf800d285a85d5bc9b7ea35d7872bbe27e5b3640516c9f07ffbf8b3b4bb7638010d037a02756220302047c435bb50067306502300141609004fbe57e4636e8b85ee5b72a1209a235ad039402e85f0a9a9e2281e718765ff35886a47194d7e679377acf1e023100e1866edacb455d15eb5ecf3b4435c9ef044b73fd4c80f0875c605dc07794e726e1d6adc8b9a5c2bbc94c01ca305c66090302047c435bb500663064023072fe10b286886e0e67809f8300703a5c67e03840f810deac380ee8ef1cb81ecba71ec7f4152574bcf014b4985157f9ad023051b46e667cf64c7ad170bee6765240f1575e2781885aa66de80d7fcd130a10cd5b35f3cfb3806e697a0661350f8ea9360302047c435bb5006730650230309cff94468bedaf976519c8bc4d1ee23254cad479ca2b0fcc21b85cf80c23ccd77de41e51c6a498a339ce7c3f35c50f023100bebd9c916de6b1665e24f8fc39fc437d90181602c856966726365165519377a8c32fd8d51cd3c2fa019acbd0f246fea50302047c435bb500683066023100db07e1e7d2eb2661dff5870f1192ed8e8d85d3361c8065e1d12e71fa338abb9bfb52c0cd847aad9cc6319c8e1d2875c8023100e37dd6c2770fa73acd0834636b2b0c72811caec35e55bbb334c846f181a156477dfcc8beb7ecf7dbcac5c4e2c08af41c0302047c435bb500673065023014a54199bd059e6a0b368c802c56f299ca21e2a664a256415bf51a4e8c324ef943ef928078fcd4ea75a4fadc18c811c6023100d98c6db1234b90b8ff726ca0108e434c9c0f5e6623988286b69ff0c68694da3993aca2bb59e4b458710902752877f30f0302047c435bb50067306502310098f37b6b140a4461b0a02d9bbef4da6b28bd1067d9f35939c68c7a01ec560e06768f0b4c57a18bdf773d42efb81741de02307c6d09f14bbbb84b7517c5932c9814236ceec1810771e0729f498b9b573afb79c0f3d5e0337c3b36473de1a53c0e53220302047c435bb5006830660231008eeb7accedda41e1207420e28de3ae5572e6d3a755d251b5206cee656fe511fc664d7c4364a19cd9f558f5d7a6ef8727023100a3e36db468bacf85c9fbb0b9fdcdccc315d556e13477770399d6c056d255cc07b5cde59525b1fb8125d8593bedf853420302047c435bb500683066023100d9f395f02800b1046b35e9f49cc90fa4ac218f81e207ae6a0178631fff75a75bf296a90a2cc75cfaad1e0dcd53045b7b0231009075c89db4c58a6d21caa0c319e2715135eb3e815362f98b36bbb87f24fd85b96e83ccb848b5f6bbd2bc52f30d188f870302047c435bb50066306402300dbbe9f68f1565bd7364a862c79a3537d3e66bed7f33d1385ad2cf3c4771b07db98b58a815c4b3a3d125c477f71d57eb023016b31cfb488170ad7e06426d2202f339600864a3fd1225c42905d5ec8928c2beabf4da926df2219cc99083c5cce674830302047c435bb5006730650230230addd0a4f6eb9758a0822c88006fc4ee76bdb90659ccf0f9c9e1cd61a59b3ae87a92f179132f7cdca776d1c1c19ed5023100f5642620927a4e0c1d0f810ae2b35f6098385debb1d7661ca04bebf68e08cba10bce89a6b40c6b9e28870e58158b7fbe0302047c435bb50067306502305df7d1699f6cb528ac8382f2f8198b684cf88fd20da54575fa164e0cb9d2a9ecb7e419c460ba452e91d688efe217a2e4023100f07740a2957dc74d9fdc82384abb60b109d4896ae1c0642b25b8cf098f95e0eaa1faf799d1c89a807d3075eafe84af0e0302047c435bb5006630640230612dc20de5cc1d14ba567047b9ab713a376db90cba21d13362a25e56251f0e8cb8f0be5aa0a7549a9dcc9e8b7f7d355f023017ceb0fb66f03fbcf52904b71334c4f45c4f8ee0b7da8d9f118dfc71d7b49bb566a948eeb1a9c6e12e9da341df2a66460302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230118a742a0411997e1a8080cf3602c995bea296d8d8f3c413d079fcb10214acabf3c30a094852bb072f1dd9a75373fe1f023035aaf88ffb556b05fa356fac7f17977fefa76b5e1540564a97ff5e6f51586a7d907845c05b63b746b238aa898b6ed7e00302047c435bb500683066023100a7bd7b52a1b72edd56d70b2a4b153c43d96ebc8b9a7349f3b6d9d2c2b007dce288e834d4302bfffb4d4da4d856a2ca0f023100b9e496cfd878ad37e7f76b657d3994ddf212c6a2a38ff9b93d6d46f5744a5b04adb39bd00f657819d03c53c8e3d6ba830302047c435bb500673065023002e6e44344b7892e531b8650710d06b4ca2c3fc2a463b19390da3d0f7877855c3814c8c8c6c3ee52bfb4cb3ab87c377f023100f8a49025323d365a7d811f5cf6fc208a85fe12b06354ad4befa1ab2d1e307df3d8332c92c736e72f44fe7e855c75769e0302047c435bb500673065023100e87f826da2e42cb0b80301933ed94eafe772b574e7149475b31ba684483d86e47627487c6d7caac3349baf0704aa75790230664906ad5f138fca3414e7cb4bb7bd4119d76432a8674defd5ded889a59bd01dfe4321d73b8d528e2786cf2a3a49d0940302047c435bb500673065023051f124f1769eafb3162708d0b41d699a8eff601ebb615a6d98e2f7ba6b3965d8486cd2e913841b35e60f4a6efe2b02e6023100a4c64741da939156f73f119d81ddf035d093e4c2fccfd08d101433ded9e1304cca6350a35f575ac71e6db9760583768e0302047c435bb500683066023100f8c7e464aa588ecacf9d624d9e0305571193785db9277847bc3d07e481bfd4fa30aed42a40e9fc4e0476e015ee2ad560023100e28897090917441eb68b98c9d2b6d488a0ec7011125af2c934197a088490807fa391c9a58c1b02aaf7960a3c5cf1d28a0302047c435bb500673065023100d7b8be4b1a5e8fcf1bc6e976575aa59f3a1d4cad8c2ada8d8a9fb50ad0f8705625f421987af657c7ad84e04e398af1dc02304a598cb0ab4adb81851635858519f7c103e7d86b476592d8abce5874c7ac0cac2fff4fc00ae420f8dfbdc8d010406f4e0302047c435bb500663064023064aaa5dbbab90e6b2beaf44aa6007a1fc58dd1bdfd131b6018eea6d7ce24e28514b45c9ab24e5b1e7820d2f95b200f2f02304c20ed895939669971905e1ee097d57056ccd6121370dd3d07f5336bbe415006cb208fd9747d330b1f5015b9c0a53ce20302047c435bb500683066023100976f100fae157cb266b1a99f7b366183e85ff86cf1453985697323dd61167b770b5ae273a0558f1ef4e084db57205343023100bce5e185bea6dd5559bddf635e5204971208dd677ba1cd156b4d7f7598f8a51b897e5361279ce16e09dd8d0694e43f2c0302047c435bb500673065023100c579f779b433e58303d91a03aecd2bee43ca87b467459a62650730e96982a9d01e5fb169afd4ca5fbdcc6ba2ebb4daaa02304b2bff277f954600257fda4c26c537c52cadf1f01f189c0f759d046610dee3279ce9ab6da5b536778557e25006a303ed0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023036f119ed4516ed08e72d055a66e14e50fbb03f267be9f296310e2fcea9e56a7b1cf5f801fee5149e051ed5ed968dc5b002300f0728c5dee01b3a24cf0166f28eae9b6f213d27e4f7f0e468bc7ae0f8485a876766a6627e12b0ea050ba91f74e969800302047c435bb500673065023100aecaeb0b52f52540d52d4c742142c23ecb987f22ea20d5b8b09245983d583999c97070016c6eea028080d43b47993b9c023024ab7ea501d71e9d31cd82dade1eb3d88fafaf9ac4e9d4f013c83a580f8247d7597c1cb71fbd761b0eb70e8e7260d81c0302047c435bb50066306402301b4833bb50dd295e1846fc2ca65dd0cbeb9e5fb00f2bec825d781bbbd4af6a632816f23908e3de584a23a06f3cd8ef5d023032fb375c9b98d52bb9a9ae2a2b78c39c50baa53bce2cfddfcc7d06445d77b114e078d97e26aa88593e7ac7ad0219374b0302047c435bb500683066023100d5e3644bc256b862b7c3b60e985d0944667b2659a4d3200998cd34e4349fa7b2bd3f9e7416e6378486a452c0e673adf3023100e3f3a7e4de7997843460ef51f0a767aa97dabb571b170af2392a45492bea42ecf30ae99bf4bfe7fdf3007ba1b3fc4c580302047c435bb500673065023100d47a49122121788d9dc7d9195a3711a8b721b4087b8eb05d8d7ed2a2e9845d8291232d6361c99dddb32e824ee6564b3502303c81deab5689cd862e463fd915208186715eb8b63e586a01d1ca660e28727a8e2cc69faa2e508ce81cd5964ee191291f0302047c435bb50067306502302be57542659b1d6509e6818290661f06521b08c71111634c0bc9cf656d309e480a08ede98c3d868730ec4e3523942edf023100e4a96c04e7b22e99a743057d14fdbbc642ed9268c81f570cf824dd5f16b33ada10ce98b4c81018500d874160bdee22140302047c435bb500673065023100d9e8eb6ff521f442be0e9963ddecd5a72855bb3cb785c4dddb7528f4d47b69e52099a436dae775a59d35fb3b850cd85402307a0d9a3d3cc037dbe77ce9361e83c6f9063019323875db1533f57fe8c3343cc60686b02370f6e6d5ef8a0aaa695ba4ca0302047c435bb5006630640230766902e4b960c9d16a770121aec1286219b19f6b51c450e2d2d5bcce265faa01e52721c23df64146fc6f7214cfb0a0bb02307e1e347677b6b8485b94714a7db4274a79f0c59748de0409244af3bd93201b50350fa5ee9d76f0ba5cb91c1c036ae99d0302047c435bb50067306502310088a1e06b483ff98f0e2b1d975492b934c90e9c13565ec23b453d6d43cdd5ac474d132424d7dffe23393657d2e252b40802306ec623c3bedb50a0e95a2e40e2f86e2c9bab461d454bf58d4c882de90d5c7ceb6afec5943085dd998603ca34fb19babe0302047c435bb500673065023100f31d08ca70cd879fc33ba83a567e6d79a42e7aef6772c617ed1a646ec15f585746f490278ca7cac5ef5468e492170d2f02300ea92c1f0c3d79f2cd16b07d0006f131c11ed8a7645ad70fb1c5819961b8c06ae2b19b81340817a270bb3e0d9bf4a4b90302047c435bb50066306402306e892a0cbe712fcf61d967dec08d0b306672bb17afe83085847175d7f411df50d23d77a70f65663cf2eb89b3bf18455002304ab4c9981fc4e24c67ceff95e23f1731f66268545dfdde4883ac89be9a47088216d3ab2f24a703f5e52b18a8519bac900302047c435bb50067306502305b0fec8bdc803c8f84752b2b07dce2d35c62b260004d1ffc29325b2093e58bae63ff02973306473c5ab7202a04799bdd023100c02fce1d4a0b93178f5b8df173be84171851c03f58d3e210ee4ae85528d2232fec404cfa90f2fdd7971e476f4d3e424c0302047c435bb500673065023100dd1daf27fc7973c2c3f5a6ce3aab9e30bf155e718f668cfb4419cf48c278a0fcc26fa02dc6b8d6e4a0a80fb0a4d2b9a602305f3d720b7e24d8810a3320a06ce9f390508d688d3ba790018c8c97172e550dd6bd9eaed35c94c35c77d8feaee2feb2090302047c435bb500683066023100f1923c0d7c20bfded1912cd4c574268da6b29e5a9e9c592882a8271f3a728f54072aba18cb92ff74a5bfcd36a09a8cd7023100c82852aa99c910f5e3b9ec50d320155f3550c97b02b80cf213c40ddc2328899944dbcc0a19b5d5a90e06d952eba5a6040302047c435bb500673065023100b6664081f187bf0f0763719e1c3c4deed69008581b174c7377bff152e983bd609bc0a642fe9973f49984a6c8ff880d6502300d3d1c1ba950108cb0ddc6fe1054de25d504763c29a1acd7d4becd163cbd3c7ca508d2dbc089378be5bbd76f930bd9af0302047c435bb500683066023100d0ebea58a0bd628e969c3435383cda195f702448983bccdddc9b025796c8f1dc607513639517b6b84b7510ad2a4bc87f023100ffd8dbbf46a3f8fde97195338e12fe69ac58ae3622188df21124924f820b1b440bc8d5b0ccd90fedbed20939797426f00302047c435bb500673065023033f70039d53a69240bbff4926dc0ae427b811c2ceee42ff926eebd31b6f5cf6ef0a1867d86b6586269c734c5d32981060231009bd30b62a60caecf0a1a4c6d1026a31d1c61fb4e855f294f282fa9a6225bd3295ab30bf9cf7d297964a8bfe82d2d64340302047c435bb500673065023100e670360235f75cfa9227cf2b2ed0c2e2f9a46780d13f25336b3c06e7242a6e20d90623fe6969ab935c4b91a8d0c8f1d9023046f5bbb1b666ddfd465397db839c29e493d9b6e2c3c32223875da9fe6086b7ddf33731976a062dc470397f37f82e9f470302047c435bb500673065023015bc25a4d260769ac060c5667120029ed606defaaf5ef1841cb78c31f5123f28b727ebad542ad40979e56d6bab45a7da02310095bdf417952ef8b500c6fe66c07ca60dc1a805dbaf020d77d97fd6293bbbddded36bd9cae5374b75504472c4cec4caea0302047c435bb500683066023100b64413f9bc78a111fd09f99eab93f7663086ba660db59abe6b6b3d951b624c12a07bdcdfe21b47a99ba08e5889a6402e023100f8233beff5e592f5b2a8936190b0dc0c14a9912aae37900c2e73c0534a99ff7053cec1f86ba8d011a7631cbc672d11a90302047c435bb500673065023100c6917825e2e6df3daeef8beb5683bacb614ac4f5fe77bcef4a5ac881c20cf3c787d27eb0d97700fe8a2721ff195ccabb02307ec36969b0f00b2ad2c1fa5c8a4cc6e42d667c53f969af8c46f919eab15141bbd227c364a5afeb65797150d9824fbe870302047c435bb500673065023056822bdb8edf1f16395edae73a869ea71696cd9a45001f874d62f302d2be5adae8a0d213d013b0cd038092ebcd50fd1b023100f21359d7d9dcc7c7e8ddc6fd1fabbaf3b90a8af5da68940afe318e78cb7c7862442674b36dc472da2955c62cccaa21030302047c435bb500673065023100eca95b44ae316f33d7d6bc3751899eea7c435829021dd427fe1684aaee16b22e2408806ed282a0b690c1d38b5adb27b70230296278e636200f226ac66536a19eacceac9c9f125110ff349ee58c37de1f1032d7dd6e00aa9d54e77beb83db6f34eb060302047c435bb500683066023100a6473d03d9519b60af5419d5d1243d4e3d1452a68e3f8c930034853f8a5d2b77ab515d8ed9f794e41c3af12cc52712d3023100b94fdb4298b16a90f4de59d863f03d3dbefd3093a9ca3704dff2d18043c399c3a91b6a8007f9b2dc87b34b36bc8f7c2b0302047c435bb500663064022f666bc1817851eaee1bf91f8c223813e2007aeb57e372697f3d8e0bbfd6412d60ae8382663270659c690f7692458f3002310085f7313d51ef185a8a8e00f773a9320c8981ace6d862dd28108857d6d550592819f74a6621eb21de2192e8e339ef19640302047c435bb50067306502310099dbf8d87c3c9f8bb033d85d69642535e753c3318a0aa93952176e55ea07cb2f1c986f7e2181ba5a7e8ce6445fc20dd702306a4d70560892d2c9c380a26199fb2b219f0c878b7d92734ec17136ebcde8c053d25e715324712c563aa3188f3a6d890e0302047c435bb500683066023100c69c418ba2bbfc5deb4d40f4ff775c27704ea63c5d5160c377d87334889c9367793a9fcadd699ce5c74ada7f5994876e023100aaba00ac81d11755eab88f76ee011dbb101690b096605615d7731b4c8b6fb96280a1a9fd3d38f18815e5552905bbac5c0302047c435bb500673065023100e03ffe7b6b62141a7350102a354a880304be50a693df021f1da59233313b96bd02390864d4fea63f4cde71084bbae3b9023018d7bb58fb7afab0f522c45b54d874e8670af2577c6b1e9a5de713d98d57ce386aa692d0dc6581b362f3303e1e56dd150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fd8f99871a12df3094708416eefb1e80225bda6ec202036f57e761f4bc88ac4bf94f23a6696dc69ed1f84d5a32f93ffe023100f127fe50ca419c16f09000898464632c307e2edc74a47cf4cba8b1f19e3eebc0f45cac6d9b236c747ac0a288c9b93ca20302047c435bb500663064023001b33352e57f9b0f4c9a1520bc103bfed1c7831df691d4cfdc379c4c0f7c84385405e8a346a3aa3ad251a29a35d6488702300531b017b4a773ff0cf29dbeb3fa756a6066c45358d96606cbd863b86ba2529143562b86d4fccc5def82e5401cd00fd30302047c435bb500673065023100d61120e7eb9f7f236383d423dfab15580529e568b6bc4eed738b7ad997aba50c717cb153626c8cc0a6c9e2d9633a70fe023016fbb506b69667fb9711574743d50284fd9c8cde30476b938d6006dac79b2376d15d8799f5fa955da192f5427198847a0302047c435bb5006630640230645982ef50ea9c960ac6e68d05c88f932b18342378d476c25aa13f8d7fa8eb5df255fc0a4398cc19e4b64bb832998d2002300f8e8ff12ab722e7dfb4e999f5820dd784abec5b053946130df07a169278668ad4b10101764fec28f6fd9375cbcb3dfc0302047c435bb500673065023022cbce473c3d11cd9bcbc0e851760b4fa09ec59728bc1c812b4fb70edfe30f985279a3a6cf044b7a92b6f4638ee812dc023100fa45e99a22e60610467173b32df14b50ebc07fe17fc2ae9c1b1a9ccfde2d42b8543606febc31d58539637facc44e1a100302047c435bb500673065023076fa8f5dee1fde3e1c8afaa37fa82256f76b9435d94eda7203000d4c7bc62ba57a425673b32609e8a27b64f4747501c6023100b24f444dcc0e7352fe3bf6747edb2ef77fdc673031a80e8197fc4cb09f66a1e4b8a239b4463d4a945db49ef34761fe8f0302047c435bb500673065023007f9fe0869274b824f0977b45ac2456cc10e8da263169a5553409b9cc5364ebda868a57f7453eb3f8ae113a074b8e55a023100fbf1bb766a7c43239e82fb42e1d8abebb391d183422bf69da67f707f87e1c7eede46d2a2a2a32dbe8a07e130591a76ca0302047c435bb5006730650230256427af2924cdf81fcd29d8164d50c024e91bc8d8c4a07d55c94ced3a79a21e25319229e969ea858aa2ce94e22f7a82023100e059949d3d786d1ff68d5c28df5d7de1982fc9c55937756b3acdb62683159045b23151c16b5227be06368e025dcdc0ae0302047c435bb50067306502300c8c08d5cda3c6f5cba1b79454f9a760245a4a2442e58c094232d46eb2d99b2386d164b8109b8483a113114111119b41023100e22e1d7e95bf4d7dd54afc9d4a5fa9e606ab0070136fb992fcb74b7ee9fa03f1f2bb15642b4eb97bad2251a40a8ef2c10302047c435bb5006730650230337b15c9136f66f73bdfa75ce3ae7dfb561dc21bd271573bfeb00fd96124a0e31bed93fad65e0a2d96bea959bc4deb3d02310098ea988407c464460395077d7e6a26cd89bfb802cea16fe310aeb7fd711495ffcabf4e05917ac7a1af9039c81d5c5d540302047c435bb5006830660231009d74e6d11cee6e9dd2b482152a430b88dd3971009c6b50344748b3c14e9d521a51b35b321280ba045f0e95706cea3466023100a50de8dec5d18989fb7131059c9d6271f87e999f43754c653de199fe11afa02ee7d3d0dee998db55c58038f756208e7c0302047c435bb5006830660231009e047da820e9e3916086a99aef6c790e5093e034ee5e8a7d8eaa801f7e755396c2f9a5b64a3d197140ad3367698222040231009aa2197f50eb1ececcb7b84a0ec65428ed1261249c9d865075c1e10afdb0187e3c93d9f905a1e70957297779cda5329d0302047c435bb50067306502306e561d8b497d825b767c1799663e0ee2103a5f19d83906e29364170f1402e9d9cd64e670c5dee0aa4dd8588e1b1299ea023100dcd80fc9490dcf27c5d728d163ec8776788feaa6dfc3f391611e19609d345dc5cb0b9055a92a4248ac1a04df5e62fd770302047c435bb50067306502310083a71b3af7eab53975dbe8820f6e0175e092297c4d7ab0e010d7780f462a72d2e809ffb32cede3fefbbe8f69dbdbe8f202307d3d2855a5c400f0f3e37c311ae1d62a4d211118c6a913211d8134f760f4ed4419a96b81c479046e9f96826513036d370302047c435bb500673065023100ee1ce9a9090cc049a240d4e42dab33d60835a13e6a75ba32091d0bcd7f6433e9a02274d03674a1dcf9b6b7e286fa49ed02302b3e8d69869c8dde6f7f675e0162fe4807954ba7b8e349920995a5874c075bec79e350c60c2c695433189a193ed4d25a0302047c435bb500673065023065edaebc1e6a83a04cbe4acc4df5fb6bec3b15bb1406686e14da08c9b4dcef1bcca745411e2e45c691046d0179382ca1023100c7bb40f49715818df3cedc56e129b0f8aced0d1587aa59f54c77bbd2788fbd1c8fbbea215d9258bebb22ca4951746e9e0302047c435bb500683066023100e92eee98b901f3b8359aebe43695559ae989998d4a94e0402732b1402d9c8dfe7c660abd9c9e25b7383160b12a74f8f5023100cae1668735cdec916256036d98a58ea4298ac4b928bc9af30171c799049f9de0cd96631f410151cbafe8f73c4a6d36e70302047c435bb500663064023049fa2bf198003c76059e70b7fc6b5a82ba76171c6ce3e947297aaf9ecdcf36fa7efde671aab2f8fdf9b0e0bba9537c57023049667e2aad979c489aacd7aef3b4072589c75a4bc2e52ce5c74c75aa5eadb078b51c16b50c559852e7e1f63a61d4c0a50302047c435bb500683066023100cfdcd6bceb8253396427ee1717df856940500e219c6fc2a5dda2762d6427afdef7c4fe15684fff09dfa78a4fd8a783c0023100b6a38d783a079af44ee706b47de5714c578720058dc44632fe80ed369d1217864a1196d57e54b7d2859e854797bd5e520302047c435bb500663064023036ddf76d96c61b117a789e2df132741d576539082ccdee043e7e4aefaabc14488cbbe12d08d712f75fc1326ce9f86f75023067115e1aa42537df669e91dbbe718acb57561ff724771c1051702c2930d2c65842e436f2bcd03fd08a161d1c1bdd48bb0302047c435bb50066306402304bb86c92e393caa1e02001c9a0bf5df8f90c748bd27ff537c008c42b57c0afb83191dd1c07f11a79896fba322063cfbe023028e83217cadd6a85862b3d5442b2b45fce2c725d0f566d24021933b0d97793d66cd05dd27b037e46c4645e343f4050900302047c435bb500683066023100cc9a9e54ef2301249d972546677f65aca73e5a75259dde9a9f4fd03704f03bb1da95cdbdcc7d6c77b7fed9172e44ede6023100b08195dd66469eea4bab195d09ac34f481731bf83c17330502f892412ca19d8b4b688760cd319b09013d98bc720e6fb70302047c435bb500683066023100d85e3b58ef40fcc0faf7ebb67f3690aae751bb263e00e285e4cc31dc1cc8167849f22aa0df405edfc03a4cba30cdec2e023100b2f5fe392d7100c83f8395235929d41731af2253b13fdbe6e9e7e6d22f7a2777606a53a41faffd5604d500a0c63e4a130302047c435bb50067306502310086fbd09c1c0626a34cd7417294dd6f5cbe12884bcfb07c030715807a4e5017d47ee332dd8751a37ea01f3f55c67e37df02301be3f766c532b8f76b6eb756092a8ec3288f10d8e7507d4f4d3f500aa3877aa94c402f7292496491f1182a9e97a46b180302047c435bb50066306402307b8f514580b57e962d17728b443afe3ac95abb1217936f1ef2f115078df272f37ebedc5888e682185c71a29e69d85e1c02301b445f4363188a5959c876fe117e3c3ef0fae84dd3221bb3b276fcaaf5b218d6ecfd9a0811438978d74a91ff31b5f6760302047c435bb5006730650230149b0dd541f3270a02b8d494367ad6cd04590512277b78849a39bc015140e017eab052edc192e0d902599673fd37f5d0023100b9046986e5f8d7021050686a30b3f64600fe5cdcc5ce769e576434c7d6ffde7bcb0f45c7edd42b5b50ee714fb0d36d080302047c435bb50066306402301cf78b9d2ec88981daa0b82efb992a4fac2f49e294c31d863a816967032dd68d976348bf3d18b6b22cd95491380a382b02305286133f9f0dd6dcbc7612d826e56798e8128e7e8736ef4649bce046469007f947e81dcfbd7528ab70b8578b8366f0ba0302047c435bb50067306502305f09ba0d75235f71067da9fb256ed56f25b04e0fc2753419aef902016466b766438b8c60f76abaebfe051420c8e47061023100de4ea95ef601f58a2481e6867d37588d2336a02d1aeed612f75b0a94f74e2ab60155edd15fe1aaddb21b563e401e70a00302047c435bb500683066023100e1fe1d18841aad4af123d56660caef3c3454c077d201fdfcb788016a86a78c67e4baa3f53f46918d09db228204085853023100da70b2f9d48e5c3f5a2aeb1d0c7565f1cd5fdf227a736f290d7742ac19b68dfae06211f21bc4cbae881c9826985e75c20302047c435bb5006730650230365ea3173e14ad460982dd8cdca7c77021f85e908b10a0f043265e76f398b2e5b6a6ea33bac396e24923d2358de730ed02310091394beb62711a2fb49cea08b042a746e22a660c6ab33b234ab2566ed5a1eb88505d3ae40a44c44fc6b9ab8c6f7da0f70302047c435bb5006730650230351fef80af5d099f12a4ef340271d70e7c701002c8e27969e8ca542a5fc7a0c650b43b4f31297548eb001a4d0bde0760023100a2f1eb1cf2dd95ce3e9305e8412ffbdc5d88d82d603bb30167ba86169a9321b8f1932ecc85b07d4c58546cc485c65d4f0302047c435bb500673065023100b33e48c1acc3788d9bd54f1819608d4840bbaa40b4b02c350b7dfcaf3c7111a46ef82190e5eb9a984a74eccdc1d7498202302297779ae159afafcdc4353164d05901518cee67ba98325fbe93b7e73c17d3a6ddfcbe490cabf055eeb8797c277a118e0302047c435bb5006630640230204e9757b37e5415c00df386db7ff21d9cb1b62379d04da8b350e3ac9f323e46ef0df228df47f26d014dc44998ea075a02305e74e9a9d82838c5940c5b4537e71993559a95765cd052f435d4960a521e784a5ad5d11c8e411b3608a049e5f056e2a40302047c435bb500683066023100b4ca2b0d2122072b3728341f19dd8701b3d62c7c3b0882d85470c2f80c3e2e04d379f60415f3b7e7be2b5e3b41db6d94023100ee7123fc56350594bf30c26365520a4ebc04907122e86f0b21df16e7b72224785a2a6b8e5b4a9c4cdf5821e47e05e0c90302047c435bb5006730650230476a3f01661d0899e1f87f7dcafaba9dfd046d81edc35a56b8e8440ae804aa0b40e942df5cb793768b360972a4f4f8b0023100db78bbc3e758b4620af69db133846f8119aa7831fe97898a2c1c4a401a7d4853d70b8739a86d68e9d213e406372906dc0302047c435bb500673065023011f569b785213e213594e41aacca1c3b37998025a586b36456ff77d24a0694650af1679315921055ef5eba7c71917ca60231009d706bc7203d450702995a4d19d4c47421a8ddc904bcc81fa06b6354dd4e478cd6497982fe5d36a683ed32acf30a0aac0302047c435bb500673065023079480a13a2a677d681c0551d041220eb747ddc9f202b20523ebe8aae51724b483fccab1e44adfd21fa88104ddf2be2a2023100c273a9c4666ee52f5e4a4feb8d0adfe296cc320d9eff070501fe1dee1dc05e82ff8bf734e7bf0b02f4b9142bb8be3af80302047c435bb50067306502310098735d6b800d661a8ad2338df0ccbbf442bab9487f5db5de48a4b5220d0009869b08fc4a2a2d1d103db812b5b6044832023048e90c0fc901efd0c580c065c3ca77ff2fd1d9136f8ee3755011d35ef76f89420d2a782d792896d4c0dea5c36f48606b0302047c435bb500663064023013d246acc3a1a1f95ff8f95707c9a298dfa34d4ce75198482582477d0dd1cbd8bdd536a2f5097edd11f1d08311cede56023057a68f363fb243dc41f02aa48425cd363d153b76cc4071d9f1a6f910b0a33d103c0d787eba9c804b233377cdbb0b01790302047c435bb50066306402303148a7da305afd6435a3314f84ca0c3b58932b847c8f896ea93fd7a0ec83971c13676ab29e89304369a4dd137da145c502301c174d8960ffcf889cb80959945c4fc2170888df59a973ad3ea930034f650f848122e5150ef1edcaaae2f565c707bb190302047c435bb50066306402305368ae6cb50ff397203ae92ee9ccda12f51680f3c273d4c3cd35a9564a15e2ebd76a5231e421bcb205e89db2992389b5023074757ea13305e9cd42a7a7a95a5edfbf03ba71cd36aeb4ebc2f2d3e9389f8016cc915a1fcae4b5e61cd07e606c60115d0302047c435bb500683066023100ed35072314407d3ce9ed7e0ed16a7f2e9bed114d40aa1928ad039615c575de8dfc6fbcb59b613db07011bcda67380b2502310097632dace9224b8a5f74d3cca3e1e6864a1e1cbc8d3abdd48e6ea8226ea48975e751c2f2c1e7b1347c99f087b43c56b40302047c435bb50067306502303350323530e3eedc1399062aa1a2b849c219fbb20cc93285cc2454814a32c4822942b7aae49cf343eabc1ecb474fcff0023100a711ce6f7e76e01ac7c9eed98c3a23e65966e72a4df8b51bfca141b722344d0af9e6c57c0d4a501ff6cbf4addfa8271a0302047c435bb50067306502300f8521a0a60de1609506b4a29d80ade236141d31cfc2190d4d2b7c76de102f19ebb23bd4dadf5cbe1a992c03ab8a8789023100bd57fdea80ed08b63aff651f952428e1a18c5994d1de370282a554d823237b91ae9c2a6bb4567da0c25da6480233a6ec0302047c435bb500673065023100e5a13173b9506dd02e8edb1b0907946af04333a4e428a950a6d925dfae033a67203d8020bdbc29d0b995328d2ec9272202302c80ab8afaa9cbc4ab794af8435da6122c6382cb035112606d8e2bfdeca1b3c5ad9e6b656365553626be61f6e6a7c60c0302047c435bb500683066023100b7a755fe4cf83b019294a7299b77c9ae2245c5f14c59bd0ce8939072ea62fc6697a8f559a14a2dda0e3f3eb5e1fcd0a0023100cfe59d1e75c9d7bfb2edb5b26869f8466d4b490ce26459d4fad03b817c7121ef642f1eb5935b24a548d1a0d5cf1f41940302047c435bb5006730650230116407f4a7c025da627b4b04b6f60b30e78b7d4bcf0405e5a2d129dec7a9c3ffe5bd5b897484b36dd774c779834b1bc30231009422acb9c5c7c9f7c6ded96c00e2a83649f6993e74d060bd4f166e160b4d6d3edbde822472065cad79b8433f07e2dca70302047c435bb50067306502306d95fd2db3a4036d2f47018076e886c25f03660b0b01d0596a19c790b9bfdd13dcaf8f395ad6db42af1b5809d4b1faef023100dde5c0850f94c3a7e5fd03d2295c58899acc38e552f8b1e0eed8aaca3245ef755416dc1ea2db8f5283de9ca7e93fd6340302047c435bb500683066023100a60ae6c9305e32b7548975b543bee6916d71b01abda371e880a9efb116fb106f8263d3842b02773d333f286e00601a4602310089019dfd3c231ab898ab43d18b7c1c31b048bc3148b1c15fd532e0cc2876cfebbf2fd986080ef76d356739c7c9258a140302047c435bb50067306502300a32d5eb048fe6322e79a54a038cd3d6702628dd838651429d351b9587f07325afd8d5be944f6701be111582acb6d3d9023100d76b405bcf936a877e830537049876f66041df05a2b84ab1c6ae4aefb4f143e80c62216332bedc520964687fc7f0090f0302047c435bb500683066023100f962d6eddb96a6dc5ba93726533133f94095fe6afe981ef0fa00284061a628885018b7537f49facb74a2ae4345b93374023100b2412d776804b0236eb857ee08f072deee7740311bf41072f179acd828035655c1129c2ee61e8a215e23688a97a19d740302047c435bb500673065023044fb06329a9a3efdfc29dc40062941b53a4208a09b8c066f0ccbafca7126e9bf1ab925f46ad4768a913d3c2152027091023100a2dba77cf6887d042ba511a3cc211fcc940aa39475c9b17d557143086030646455110d5d9b17c34fabcc761453eddc080302047c435bb500683066023100b8d29be2de1ce430ae0988d88abcc237a03ea5055a8ddfb97bdf3fb1c7c7b2642d966717196bd45a77048b517751e46d023100898e10ac6dddd554ace1866d43e2512ec1ff1e6d0f09d87c4af7bb722f7e8ca1337a38e9cdfda959d3a4003f6c535c2f0302047c435bb500673065023100e9d6dd85d339ba727b79d0acf0c46303ce9db752c73e22ebc0478c644cf480fabbd963ce5a9227e52c30bdf6f43b561502302e417f6ffebeed580b9a06d89f7491e73bc19ae522c185620e60c72c7ec90829b64d24448c277b5a75bb73407565a9fc0302047c435bb500673065023044a4fe3df4087d66155d3089f56fe7551dd3fdddf532f74b2e4aa3112a0adf61d183aab7bab0a2686a7760b8d5260504023100b649dceab734709f02f147f0d500a9e880f46aba03c1a28117e8467e14b04893a1e9bcd45a72fe9c3aa6db5494fe3beb0302047c435bb500673065023100f971f8276fa3c35c527915ff22d4c93cefba77a639671dbc3c7aebfc4e2f2ad58a957c6526caf2c27a9b6de59d64b8780230233888bcf988c91890df12ce722e14f26d1cdd640150b5fe215db5a0f805b46993cb9a5b7066292321ea73704fcabdc30302047c435bb500673065023100ed91b020e919531e0fb5237fbf38b706e9fabf8bfd155fb2af0025709b8ed6b6af79c4b45c23c7ecce6bc004a4843e26023021d55ba6c4eda2dd5f2f1f6c24a1ca723c38147bfa306966f75b0c50657429e89fc9d5cba8238f5d7130e5989d882be20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100944e6c3c458fda720042e77be6897c1081dd3f9a47e9d259e5ed3423e0172240850e056181203ac04ac1449f15372e280230511d9fcfcca475ed95f61102b500020546bfec621cc83a7a02167a78a4f0c0c21a49d9ce47360ecd18c1435474320f740302047c435bb50067306502310080946217eeeaa0133c0a0a6baa9b6bd9d85d21f9636dd5db1927b5cb112615e44025218f7352c2e13dc9b789cf271d290230147e59a3661592b888b6bdad51458e6cf5c70bf43a63c13b4291597691b0d3cc942073687b4eb16e2b341940f11d04dc0302047c435bb500683066023100878b26bd5bfbdb62676e50b10c8cd97459cc7e40e8348ce72d2ad88dc4c0eb1a03ae0929a42938f21dc776974291b98c023100d12e1f2c724411ab7e787efdee27ff7f64a3500ebcdb4182e75d3ddb12f3a2db04e3211d54481dedb3ba23305ad8f3b00302047c435bb500673065023003f28d7fff0e7958ac019b98dfe7cf3890a3ed7431f7daf065bd63009e76afa7697288e1960a8f6394f136ecd56d83ee023100be503f806259b6d31865c1151232012a2c03ad52cc9bc4342240fa81e1e02c0b48534e54c3801e5142f6a444dbff210b0302047c435bb50066306402301814fc3fe04197c52fce92c920240c00e95691ae9f1d96b7183222a9d08b2cfb77052de2d581b3d5090979394b33b32a02303963fdb4aaddbf9cea4921b777612c1da4fb1331f707a109dc1ef7361c8d2363e1da2bdd8a1c92e620a6c7cc3043f7d40302047c435bb500673065023100fd122c6c3abf5aa858fde0f86f06a893aad9daa0136d936740cfa27674af99c56d4dc5bccede0cfa1453062d118ccb6302302fc467e1c96de7655e47f81834ba6e435f5b029ecb2619a0bb77b3ba8fd4e15d7b08e5a08fcc680bb8854c325108fdf60302047c435bb500673065023100ba88ed26a14c2a735e223655c60aeecd9bfbff60e2a5e8f26a9b098fad9d99f049edb53b59ecb6e61211d73a287bf2590230474b9789c87d389adfc15978415d25b88698edeb8763d00cd66cd9d06f665bdddd4f15029b58a7b5631279d62e7fdf280302047c435bb5006830660231008580cd97dc4dba5f322be87071ad2ffa39b42948a240a84f68ce68715f6c965165ecf5157c343b46116d456bf0093bca023100ad063a1c0225f240de62b039fcc3de61ba8a4834112bc6b46310e1694090f2132ea090260c528ec89bb3b18883fb1ab90302047c435bb50068306602310094041a6da55450126827b9e2bfa891c91317b82086d6e27097a2ab487e01d951bbed14703497d32c4cca45368b2cdcfe023100ea5da18e8549474d37ab240115f34b206e742a6f3d381e05ba9f78df8a20c219e52500ea5cf451bab57489b29955bd670302047c435bb50067306502310086039d75acc8c53528fe1e1cb9530a9ad28a769b0e922c51c29b0165ae284ffc639c316e2bb7eacc23e9112d91ce6c2d02307170506ac6dd34e044c8fe2ac3d77755a844f8605f996f14222bbe20d6994268fa20bd2dcdd22dcb484746367247cfed0302047c435bb500683066023100ca279b0b9562d6dc56f81dfc17bf6e15a33d90d741500c5fd280e5205535ab118ee12a5d86955d877dab88432f147c80023100aa2f2e3d82d75751ca0e58957644a158c22e734d59395d8f794243552847739012f7f24f2f6d74ba0a2adca91fdd82f70302047c435bb500673065023100ea8ec7a555852aae5a60d0cbe6fa65def5b95f12dc379641d9aaccceadcb9a784102e8438242caf85bdeb17721fef74102300c445a83904455ce87bc7527ce9d55ba9fb14ece4d6dfb631c633edea29a752e2db5de671614a8c02527f9f4d940f6580302047c435bb500673065023100926dc6bad9fceedba5922234d37837d41dc829afb53f0e7c468faf76eeacc313c87e7afb36d7e5a683cbdfba8cf80105023068737ed6c3711d8873b01975c5d1eed6d750955068fe698e5792792d625188712dd706366922dfdad187d0be3eea20bd0302047c435bb500683066023100cbecdb0b6bce76a4dea23771098441884c596f00b730ddc7b199fdd470386c403b8da9ef50261ffb39455e991ecfe5370231009fe8f8d56d121179382f72bbbffab43f6f592a8f549ede03531f399f2554cbc737650e022b4185de8d21790c841cb7310302047c435bb500673065023100ed34aa99021b45929a84d924f3cc16a8f44e6d74f721ac85d1d5e5a76f79353c20e3526b7ce55c6d065b12d508de2398023054fd0fdd3d20deb9cf5805a8d9cc3aec0089f56b8581901bbffdf06c6b4af8e622fc35832e5588ea0565575a50d50b050302047c435bb500673065023100f5e4021ef328777e585fb34fa34e4549a18caff83338faf0eb2add099ace2d86b95b7624822d916578fd733642e203bd02307f4a69901851db2ddd899443afe1b61d54624e668dd3f109e6e702dad2c4c585aaf5ec4dc2bb0aaf442d4b7877b5a44e0302047c435bb500673065023100a20e6fe25737abce5e31dfe402d257a65a26f34a19f7072505d189a3fa8e6d25b2e4ce4c10cfcc06537771851a52403c0230468ae3e6bd007c48f3d6745f71afffbccda1e5dad596514862a19abe13d19c951677a4c0be2da0501cfce79620242fa80302047c435bb50066306402303b907c721e06e3bf1586128719846941db11adf8929f96908dafd0f7a2f7f1dcdeb48c23578c7d1f1e5de0c253b7995a0230480a47ce39fe56384c5e6deb1af66bfb866c9c560e1d51fa4b5f820ccf6e6f1fede9561fb47307d2116bdc8966574ccb0302047c435bb500673065023049292e78ec6663372fe33234703942f7bd3370cf65074dc8d5463be926fb6c7fec805bc2e9f5e76fe26d8bd18ff0a8d2023100bbc7eaf517a4e41e2ae9badb534266a3669794a7b83d55ad25a2acb415548a9ac6d94b2c8a916a5b4f8c82082d61a71b0302047c435bb500663064023062e4c9549562c160f3d6b1c60c64a586eaccae6a6dd408045212e930746217613665bb3a808c4ccfd8dbce20869176cb023051aaaead0c5aa572ba60bc5b1a5d920c9ef0e7793587af32e85955b51026017c9c11970f6c1e6e67118e49109362bcba0302047c435bb5006730650230489c74b31219b2903914e8f34e7b7532a8ce2c96b6b2d7cf8cf1cc40079a5118bae9c917623411ea25f88867c85bfbc8023100c5d9c3cb3912aa7b285a315e22d0af006c8e927f8595b8321c74aec9a6f974efa27c5d54338019b61d78a6ef315216690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e56271d83aa5ad0694b40b9df70f2ca1da9f113efe398b3ae474dc9f6add3298eaebc8d30c5e25475aa7f89a276bbe3002303aa706c27de6003a88b9e8a1f2176d3b06ee81f0ab24144af7e6bcc60e91d5df6bad8aa0eb1e1144196c70b116a20dec0302047c435bb50067306502305e1ff5fa8c46d362dcc70d1c2b628f73efc5fa427a33f665581dc55d615a9ca5d0dd7b73afe4ba3c8d13a335aa93aa77023100a91bfbdfd71258cb19582dc5ba74ead98433e1294c2fdef3ef5b4383ae92c147a85e5dc2f4d7ec347b574cabf70c38f20302047c435bb50066306402305c41a6b813d2adb503de3028147c172383ac03960f32f8024663e9e46ae8dc12e139f20db9e4ca118b61d064795119fc0230303de8e36e6ff231978a5ff80770c23279f389470d85e8e6fbb5490bc77c6449cf2e45ab4c74eb2bff9a58cc08447aca0302047c435bb500673065023061fc7fa704f2aee6fe99f19d54017a25a5c588f49247345435e1283b8459bf25c778ae2b51e8e9f2090b869a01cacf8b023100bb9c9b360623775e717b92db2f3386c97aeba861bdf44f5ba13631a97a4872c6ca276c959d9d52b73fb30382e0d4be240302047c435bb500673065023002290f5326f872ae14360344c97a173ece417cd94409c90d41361906b6d8772fdad58f76e9f2c8625848f8dded995f74023100813e97372ac239f086163c6be7d85207350ce66d4424547369c3c1035cd05cfeff9381d0b269ee73c18c84b960c76a270302047c435bb500683066023100dc151c5cf2c5270767cb7b161dd24c2e67f442a2805215a73aa6e5fb7ddcc002d5475af3efb638d26aef88e428bb63d6023100ccc4e0199d8217f11905fb40c80ac53de218e38c65d03a68698fa3f8deb8df40779a8b7c67b11549959d1ab430b2fa550302047c435bb500673065023100ed4819b7d3df0cacffb4f4deac4bfc1f63dd7abf33bd817c2d65e2ad44fc1d2fdf3b1f5c1fe526f066b9aa9b541498b5023073839cb0d4a8e86580a88a61c9852275e32ed453395b111708cd35ec2f1aaffc131bc5076a08584f0f83f7ccf0ea57960302047c435bb500663064023040db42989714c635ba9f492cd2a722801e955ad8243039ae80c4c193b42db3e2bdca04c7ba1842679301a578160ad196023059b1df83d7ca1e2da1147debba6e9d47d1efa68e91f040cdbe506f15a6f514dbeb8db3a9feb07ca48d697d1081dcadc40302047c435bb500663064023039867953b2f81aed14105c71fe32cd7a8e4c469585a4b23847a3ac61e5bd2f06de34d54cf15da5ccd1be704a11cba0ab023074a2867735457296d569c2efebecd3d7ecd436b0172c27c59709a78048e27b4c24670fc5e60d69faa3b577418f3212030302047c435bb50068306602310096e812a16aff1e4afe4b5a4e6cdaf4964bbaf01fdfe00ca7d788941dc95c68034d755568ba35bf7c8ba99fc36c71e14c023100e0c050fe19f59640c8c930ca042cfd415dc28fe97905182d0400632f818d83e76d5076c188c72178de1ef37e139d21490302047c435bb500673065023018177a4099b0e46be2c44a501aa291b89fdec59d2bde5397b7e4a51e89fbbecabb3b85d701c75db996a12d3fd481237a023100f8c17d11c4f5a4601801ca51d7c2ae9b17dc68c96d584fd3c6e8efc6ff08c533b5bb89d66956b2452254f7c1891b07820302047c435bb5006830660231009d0e97f1bb44d2f02347fa623edf05e05c681d4c3c16ef12ba1baed742fbab1098dd7593c377d2be84ac1da1e4b39fe7023100b9d03462997d4b181c7ad837c5dbfcd22a66c502314e3c357f100c89b3f1dc2ffdf80d3893537a42083ab1210690df050302047c435bb5006830660231009a4f56f1a2c57f3ce77a2586f0b4eff7639519ca42e862fd6fad49003c748d7f7fc0f1a5e9d37e29edad771dbca9a0ff02310093b25573ece9600c4066297bdc4f7471c9be178bdedac36dc56dbc9e9fbe4eda16589685cd6644f957bf79288b13f7ad0302047c435bb500683066023100ffda7d6d0156b8879c371db1e5c4ca1d9c1a8758e53f475d3f1316755c8d51acb34cebec0a34559184fc962cdee51236023100fe1c9be5d426c9dd609077e88cda52b8de0868bd06ebdb9fa659a5054d3f618540b1e0d85201b4f908d1ec55392a71a80302047c435bb500683066023100eff9dd613af40355884aeb27631db916279f2b0f0ac17b6af6f22a54c49f09a14217a93d846fd6b7116c43e87eefe1d1023100a2c668fe66cf0c3f47c49760d7aabe7be73fc1baa088fdaed80300f437712a6357907328489b1db73fb36ab57d8c5d690302047c435bb5006730650231009ce2fa3b177cf57a7013adea72d584c44de4db0caef118039982ec9d79165a53d91b51cd96a73bf4ae527696860d69d6023014b6325ce154d8f3721e7501803a7518e388d65177ab985312eff85b71abba64f903952b2ea2890d00893b8d85f2027b0302047c435bb500673065023100bfbc874c5cb91d912cbf480e355a1d85f4138857a8639c3739137af2567cd69ee3d31891b07b1de94a76fe96f09b79b90230314a95b566e331a29f4bf1f22929476d87f92144c39bbc2c72cf988abd91dcd0a701d3dc2b6a0a2071cfb20a9da726fa0302047c435bb500673065023100c49ca5166fc022cdbedc0e34296477d3dc1edb365556cb0a17dd0268e523bea54327990d713aa4836b618a1f45b575f8023073339fef2fb6b867fae839776dd6a053de7a814f876818a50090defa98c550415d9e0cad0a55a315ff758731a1422a6e0302047c435bb500673065023100b8c7c1cba02fcd11cdc655d152380415013963aaf6d68e0ad26727be16a36612fe33cf57bcb419f3987d3e8cf9ff70e502303c0add9bf1245940e1b5de1a34bb676d7ce52f82202a4f71b8a311022fec55edfff8f51c52b028305753e7bc004876670302047c435bb5006630640230156820d9c8ca8e569f328d94cd0552a51062ae23d143cf736a035b273c02a39b2c40d5407dd26788038c87eaf39b1dad023022e215f390745e4963fb2dbbd7884eaef971734f94ff67c0ad55d053f339b563172d541d869c0f2f030b60315773045c0302047c435bb500673065023029196ec0d513fe2675537827d058786e13b36bf72361267733e9dff6bc9bd14e687f2d89415cb447f6f7cbd750c4d518023100d6139712d28d290faf93d4536202c42e6b741ca234f0ef7c02df4dcc51b1abbccb246275add630828a765516d14ddbd50302047c435bb500683066023100b3ba071c777458f37a4c2cdf8c2268e6226550fe4785fa1a2975852b3b63361d8255c7bcac7f60c1d6ea1804f2ed122b023100e0c0bb96aedd14ed2a1ced621f9515274d4b0659073c63c62e953826791261039e1eb18e2d16df47d2e21972e1ad2de60302047c435bb500683066023100c316068790f7ddda55faadf9dd93e7fb135247fee167c743b91779dbf5d5c5906490ffbe69f5f16f3066664f049cea45023100cfbcdff9f9c090739776e46e32d5f16763da141847a02b6e32fe04d5ee050a4f721b61883135f334a47a7cc57f36a54c0302047c435bb50067306502305488fa740d1d96f684eff2f3ee52da6359f5992c122857c8998e74583b7cad67efec731d16d94bed68b5440eda45c28e0231009a5b03742e4a24e96c2da5098dc339645761c1b337e2675b5cd9ec8814b532c3618c91a60f830e97fab558c8b30ed77e0302047c435bb500673065023100ec5bacc2a982e97d4e22c5516fcd6dcfd4475e418038d3f8ea3476a4e9814d8427457f814891fe8a22cdb55cc5d305f102307eadc72faf092c4d183023f68f5bae38f30d2f13e151669bfdc459f1949d97f6b64764cf8818388dc8938654dc83c1880302047c435bb500673065023100e2a593d7d6754f21f7838ab11e7a5219b2fa71befe885872ee6025edf8314b87a6ae17fbffd81becf0a9349e848c66430230196433f34b9caedb083ed826d2e3ffcc2f8f297b169ce68901878ac980c7272c37dca73e6a69cc0c05df9a3e22d608f20302047c435bb50067306502307a20204ea2fddc91f7211cd911686b4a77668b569a00134ee3e21b71942f85c1d01fe48e88d43c12c5fed806abdf51d3023100a47ac34422591ac9a7436733b923ffa23a695165a7b00a3c193145a339502ccd8a036b5dc8aff44a0dfec29ffbec94000302047c435bb500673065023066a6e0c0a86635a2a11a953246394cfe0d536431e6aa20943377ce0593b4a9409354956a03d0465c81b0ae939e94e811023100ff0b9c85e6154bdb8dde1fc30f02f931ea8cb74fa3e574f22992eb8e16db7542aa841d773d2b574ea98bade64ef9976f0302047c435bb50066306402302a47376807f098f19823189d2dc40a30c38fab88bf7b5c8d512f488fe1617da7db6ea0dbdbed4a3c4de222ca8e443d1002306b1ddc08ebfa9ec03cd3e2bf10effe1c237783e6eba4744b2c12816048532501a33ba59c32819beb9f7f1c10211ef8770302047c435bb5006730650230074e1e9a12e1ed74aba48c0911c074adef4cf5c6ce8ebc94dfb33809004323a8158939331a99d380263253c736bf7e5a023100fa88cc6ffde5485ce785cb27f54f9eb7e930ebfe7ed359b63df2ac88636a4c16b7311336f4b0ec8699fe33192bfab6cd0302047c435bb500683066023100ef102ec50ef320ff9a1fe4010c2b0f19aeeeadbe20c5a091b2bf1b85a3c0d1afa1995032a1eb29a4c9fd35a6420a7c87023100e23be51398d99793b33cb0f4e2f3cfc671ea894a9441025546a1643c0d5fc586170c45335fde7d87b88f3405024e151a0302047c435bb500683066023100cdb896000c7572755d18ad72e279289c86295fbc803fe8d65b20fc0b7f1a6f6db56fae49b1ba3ef5c7c6a6a8dbe54bf0023100d71d7d0450dfe9ceadc67fe95f9579774be4b415f4ff836987d1ed17a4acbc243a0c3bcdca8e0330127f967fb096334e0302047c435bb500673065023100f070299093e957b6604467926e512821e95b2cbddda36c22c319334f2827b4d7368d150a5a472469c2794eb9e952278c023036ac9e4e5a4efbb559ec1f3cbb582c3b378276e2ba80f9cf2ad578ef7dbe07ec460240b7c06c06b7e15fbce0668cadf80302047c435bb50067306502305bb35049e4b15e52fa83071e5e94fb963e3a66572fe5ff8eb9ad87175883f9797a2abd55bd42b9b94342cc07a1c998cf023100cf4c7748d12527c7ad946ebc9d2c1f7d9356dfc97d35b2a6a4d5574951d46b2f4df5278a294f33d574269f2f94a349fc0302047c435bb500683066023100e91df4efb3cd08c30a0c3cb282cd2262727a0044d6358af058e0d5ea709b60dde85e185a4c116a1169731f8cbc319372023100e401952a7f2d39c6b7ad21c77ecf914b06fd8963c02bf49072f74416d73c9ac03e07a19224656c10409c77fcb6107c130302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c493e18f6664550120df9a2f1a06fac9938c8cbf54c6dd991abfcc0cf6318b01e4aa8b036016ac3fae0d758340d34eb5023100bd543b4c68d7166e69d7fef42669ec171e3cfea4ff35052b2ec1338f395d4818661e0fe35fb5d8f44539d229cb49eeae0302047c435bb500673065023100cb8be3b093ff8287f802f750dbc1738a988137c2525472ed9c4eb9b69b2147765dc24ca9f9b86f6e964bd9987dedf695023026b2913d5816d8d73b7af0d04b9e4848d787bff6df745b698c705d8c7ce6a019a602eb917729d7f520e981affa05f6120302047c435bb5006630640230054ebd2e131a81c0d771104f0e34f38fb11a824f5d38b86253b715cf9cae2539e84b26bafb18091f98ce9ff1ab5f75d602306ffda26547d0da0227277b4e7a1e6006031accd2a83850fcc2e8accb6891f29bd5538bff5bec191692982c15484d6a870302047c435bb5006730650230357f3eefd03b16ce94daa20803c544b9bf4a946077963a88cb28d09204c3f4ec1dbb7122b12f93e2730b82f2eff4ced3023100eba27f8379131ce340f25ff94628651d4915e133a447dd9aafa0bb59d539e6f04bc58ab5895d434b13ca1659a7ec80900302047c435bb500673065023078bd6a92b4078dbd306a8f8ddd4e889fb2cb1e47cf521b9b8b1bc84b505c8152d809dad2449cf1fb466a74dab0927e7a023100b86aa198a9428752cf8741f1d11bc568eb3c523a70ec4b003ba38b6f5d08c4cf883711601673157dc7197ed915e52abc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230365bfdb04d970ccdbec502ca09f30f3350669296b0163889793d7813788400d930b6e08a264717f2bb86fb547439e3dd02301c5fb9b49b827b3454b6e3fefa05323bbf05cf5763cd126b51cd978e2335d1ea0f3498e0e404b245a86ff559983630cc0302047c435bb50067306502304ff7cc9994932c7606d5d38651dc4195836ee43b5e1be64d001e351cad33448617c3df47b3a0e8b57c30e23c088edc93023100d9504e2c87d35cd41862fb925e5380973c556f4054ee1c607f0f10317693d85e243ea4ad55357fb338acbc960ecc699d0302047c435bb500683066023100db673f462aa3c2368738a080760b0020aa623e1f1e67fe29a4e1ba1f32f10fab5ee0f5c221471a2db21ef92b3a6c8196023100c23cf8aa041df443fe2e90929a1e5762840cae6e781be66fbabae5fd3ff5dfb0a97ab3d26c3de1d6b8b1e8f998f99b8e0302047c435bb500673065023100d4ae419b3cf0cc1d657b2feee218ed525d8660dbfae190b6035a42eea121b456961406854b19a7a879f813ff63b6cfd002300a01b1486eac3f0a302124d2e390c6d315df7975974ec77c335cc52060bc37fe781a81d666196e53b3c7062127f81beb0302047c435bb500663064023046b7e56cb39e061dd67107c1bfe642f746ac462c1e65a0fce7dacb79b80c30487c78072136200d6ee13c0785f4cf57490230785eec021ec2c05d3b25b0be4f45fe8b9083de599da773f16096311ebec35fce24f7d806d9816d4904dc63a90056748a0302047c435bb5006630640230766ac371e6295427638b66929e1f2d337334ed863d2c7f344371ce30f4786430fc8ee83ac771846f1238ef99e235334302302abde512fdb647a214795d6715649c08b86bc0cbb374ccbf7c109eaa4110e16d6b20a682a72bb54dcc12e1abb52aadc10302047c435bb50067306502304d89b659a5a600fb2dc7f3f1d91bd25c613820af654c7bdc7ce29c5b7dbe06656f9d92eed1053d25786d00cd6dd89a3d02310091296af4840c480d4aea6db4ba2c90d79f595301ba313ab5e6f202f46676306e85c419e803f3ca813c93e6adadd195250302047c435bb500683066023100cc311831eb7d30683650fa13b1340f77f68aa8ac54ed4a8acf08297a8064147eec7e7cf9c2ad0483750fc78affd81673023100f66aeeccaccdd3946f8b655ed9c869d4e25070cbcb2c68ccf56d2906041dd27e2219528021de5e1f260f92f86e3cd4260302047c435bb5006630640230747799967587244930b42545287962c9f9962871efaef6b3b0bc4f20e12641ea543da5285fb265e91c0c60252e469ce7023014d560cbdb1b0402266a6e6c6b996ae46a733b309b6017c6671a8a41ba3002f6478269723ab398572fadd7b057a8bca10302047c435bb5006830660231009ac556027f3787e1fddd833043bd41b466a240a4f18722d8455a6f45cc6c25597d3db173ec47f50c51c535cb5f6d5e38023100a93173f81e5db1492b4d3791f5a4bc38fc667f5b15f5d7de7938aba8fb8842a4dbbb2a975a07fc2b03a39310a97170990302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305bcd068829b1b6e2b5e2436ab47bf23c63611b11b24621b3b981a66a12c1f1dcc444395d612b09b10914fbea8d0ccbab0231008ff989d6364aaa71c0ecd4d2ef22eaae15d67156ebb69a7f2a382a056ca9a018c0aa7bdfa4d3ea834dc66a83286172fd0302047c435bb5006630640230306985f16532def844483ab1a9f8e7628c487868c9bbfcc3dfb747a28165faa0803d5220768b775c70734da15f55382202305c58a971283e5b209c957c353c5244800dfd9385c79535e7f9c125c16dd17893e098cd4ed891fba0c0fb192354e2b0dc0302047c435bb50067306502303b0e56ba79bc0171e6464ae225f4c1ab873282bb521db3a2ea525c19ff3e328488758c92ad331d7646ab08b0450d9631023100918066241b71abcb2454f33a9f69906ff619f7e75ec3f1928f9a6fddce3863e9592339456c9e764e9b7d4ba8ec778a850302047c435bb50066306402304f237baaa5daa4f6728e90f240899d3ed3e47f41278e5d7b517c96058c61ea9dc052b2d5d3d94900b8e7deb3262d54d7023066ed00b73a357a24ae4dd45f543f4cc4df3d0bb2611869532b911e5d5b7cd10417dc0268c39146ecec570db10accd8550302047c435bb500663064023016e97aea18b73094ce193ea848da22d67e821487650fefe42b4696417c66762e472f27ade8d7c728878bb130260ec76c02307e9bda9f8011b21489f5a1739591fe8f79d468184d93e97426abd38337965b7c057a90e7c4058ac28998d8ae8faf0bd80302047c435bb500663064023034585e2a490dc7b4930b3294489134ff1d1af46e32f0974312a23f461b372fb795d8db96f0b9023b4cd73fabd50dc4a802305a562e9beee012f4f6649c036e66fd178810b3e3ed848dc87d3df5a01374135bedc7bea41af43e119676540943ac31b10302047c435bb500683066023100c9e1ad68df53b0ab37368243b4fa0699926f560bf8c01f2b13c15bee6e9f8160ea5928ed211221f16a5bf423d133098b023100fda7da2082d050fab35994ea650093fbe2b28e5ebf4286914e21dbfca3a296a83a347eb93a60405778b0ecc2316126b30302047c435bb500663064023053392aedf2e6e009bb4e7dfd4964508868d3d98fd3f6126f1b746a55b7f064e12420d8b64813d67cb6a50f10085803210230452d49caacbc512bc59e5d28cf94cbca32b9129169acdd64a7e73b645b2c8e0d310a364174535477faea2a49ff1587f20302047c435bb500673065023050019a7e09e33ba273867c229e3a1f82f590148a05277e7ad54a69b388caa46ded7fda3c00ae1a5d419e8a4d90ed039f02310083f305dbe3a40402b935dc85124b133c2112dda5dfa3123e958fde4d5d58f5d215cc480c69b3c2ead49ecef8d35b9be00302047c435bb5006730650230398fd8c9485235cbd4f23bfd799bbd3e685b8b3caac48ca369986951c2d1ba4918fce1c17d63554051eab678f1090b5c023100edbc04ef33048be37d88ad4bfbfeac35f0e7c3a42161a95df12f63c0d321c32b52070963d7a03c58eea2966e1698bc450302047c435bb500673065023100e9dee16d61a4da5ff6c11e2fc14dc132e216eda5834ad31029ab723ec8648d53f02d8285179cf76901422649fd1ae1d402307f9e64c8740a415a69d056f479e25825bf058298b962df78eaff5f1a3abae9a43a6edf9957466a5cd904c4ac54f8ebb80302047c435bb500683066023100cff9e28e276d6cb7633d4a9905ba1426b89ebb86537b9444d94d75e833a7fbcbc3098ba80738ce4e764d3eb18469b5fb0231009a504679140c0736f972472733dbc3cba7950859ee6dbcd614d1dd6ef8d0a53682e37ae61b5f90d090acf56dab343e5a0302047c435bb50068306602310092470050290d55f7a11a57abc69cb7f01504bf42e9f01650f1fcd8a246527d5ce8b7d98e2a90847056b9932cfc362133023100a82e45de334bcd1c3dc5ff29875f6d5f5676e716ca7863dc41a0e8efeb019851113f4875dffcdd1441199c0c347036d60302047c435bb500673065023100f217b3b5d1311fd14e33da0226121a1d190f8f7fe8a9dc3c21a84dc3ec3e0e744326fa15d353b343a7ba82100b449909023078d27452a1b04eba608306ebcdd44808c78bd7d32ac4165b5133f33e83ff1e236f72c6848bee7448c22e2f14bad836fd0302047c435bb50068306602310080f4a0f5bfb997e2394b44fe324e7b502db35e3c9f383c87765e2bd0d6e40de54d9e364f4f9662b519f73910b8017441023100dc22a25b6432db056150f4b76b70b0f11979ef1a15a5f37377f910cb8caee43c56d5dd9bf762d5ba94a403fcfb9fa4ce0302047c435bb500683066023100b2b5c707dce5d2f426e0c9d34e40f7f29dd46d006fdbde47ee30ffc11988ef7805f3729b3acb36403d2d22edbebb1901023100ab6e4a23dc281cfad1ef7baa4cf5a24e58b639d9ec8c4c69256e991053112b5da1aeb6d8b7cd69d96314760344a549210302047c435bb500663064023001f31d1ac09baf466da93a35df85a2da581cf7050a94f4f4a258ce8fde965b6ed7891750b240de3294275fadbaee4c5202303277090826b21dfeb9006ebd2ab4387a377016b931e13aa14f4cc2a3602ee4898908f4ccc6f03bd2a5120f60391943160302047c435bb50066306402306c7279dc6871c9a180aab316be9b18e1a85e1923e7461b3ac57224a0510ff1254c602e7ef16fd94eb179d4751a824212023049f3788a85817ae4a1fbbc604a65a357fd99e12a8cc886bdb41426d3c584e769c1ee5a6734269543d61bb416205669d30302047c435bb50067306502300e86879e4710e0fa3c529ed1ce8e5aa8cf2cd33d9408a5c9189c53026066ff61cdb39a574f255033f91c42964070e779023100a8d3080d7f5470ebfeb11ad7cb0b1c8f9ca7284e0622ee5597135c5fa574bf9136ea0e3e0468880b8a4eafe5d38ab1450302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303f74eb794a07e52789a3f26364016b13cd080d73a835cc7112aa586b935096fb0fb98d8b3d8aa339a3441c60bc23f75402306842063292e5204eaa67d3bf24a75276a14835ea494d0860eaf20bae1ff1f7fa9f52330941ee6eaca2ab50b3bf43bb2b0302047c435bb500673065023011be3b4e2aa0df614e58ae546e0308f72a26cb531ed5c21aaaeb0ee7a18884e7128dde8082df4c6b0e02c3cac0b94813023100c506d69c31d77d51df4f5e509b7ebd7f428122e5021639baa88fc7657fcfbcdebf3fc3382718966203f029e4291004870302047c435bb5006630640230436ca90d2bf936019aeb40cfaba047d01a888b03e56206366ef8cbd0423a2820c8bb98830c42d1c1258716eef30c0fd902302e1382668fe591c252e6567850224fa41dca8f678c72f28bd2156dcfa9162c5939581c539b54f02d29b3bfe29bbd18f00302047c435bb50065306302302ebca2af8b3d344eb56d3c375a98f9570057c65bc05d503c7e7b2ecf33c97f2bdd072eb411010c207d75860a69428cdc022f3019b1cc3544051cfc4ce70d3e28d7ec67454b53e503015a1ab8ada52d3454ec038330318bc5008d85a312eb2a79ef0302047c435bb50066306402300eff1ecdc92c8353949dde34479c7737347c29b251e3c095856ed861b3c07bc0e12fe0113d69f6c6e2d71737b91bbe2202306b9713564975c8fd43927144ec778ac7714c0e0e8246cc16d0d2ab1fb530c53c80457933464b17818684458352fb1a510302047c435bb500673065023100fc1e6a133b5aeca9508b2b882fcd392af3ec17796b3810cc11eccb4a846bd1cf92fbdd1d2d1d08cd1ed311fc10818da102305b2bd133eed57bfd838883c2befee3cd1e68fab81c0ef175c64d0a7fe4363e840299d486fd6def782b5a585516fabf9c0302047c435bb5006730650230536c8d0333ecd0cc853605447dbe9661b643c1e368a82f82449a783175cd73863e86346254b83ee9ce713bd24abfa7cd023100e1d2377674c1b38bf7421f2364889c2b827f6194a52e6c869fbe0b1300360a615891c8c908cfb1c038ccc5062d54bba50302047c435bb500683066023100e0db25c026f07d972e4b3c075850f40005dfd274b7eea5a2d0cbb5a1ad853c1f0864ca717e0148eec9b8e3d5f94aca790231008d0c5f3b87eaccdddc7ec974aaf81eaf82dd154116856d49f69edd615ca0e2799e859a1262ca35cc88d6b936f9aa66a70302047c435bb50066306402307bb55ac56f3c34796241d2eb8302b6683cb90c42dbded234136ac6ae0f27a335ebcd1af49ef78f1e363cd6172c9a503a02307454208c2592b7befffd53c97040a5d9996c06e9274b0ad5f620cc6f93c6bd70d9a79af470d0af7055e1d8bb2d51735a0302047c435bb50067306502302ada9b9773e0cff38f271238f730547ee137b2d093203ca1eda80193a08efe9000d7d830ce389ddf5acd1c65421ddeb3023100b41989d68357317f9976457b4c6078c50cafa46845e917fb7d69bdc5d39ac8afd5c520a2360f584b087148c5e9dcd1410302047c435bb500673065023100e06fe1c5e4a202af3da59b496cb6d218107ee54db86db27d654f1d9c91936109bc4a52fd1be41023dc02ee316290403c02305622133b56d777eb934a96fb7d168cc0ec5089bc15a205f10159513c36e3eda78001bb499be0659c6b3ffe77444cb8320302047c435bb50067306502303d26bd5c39c4ca3ee50c8e18a1faeca5075a68992e6dde5ddd23de22b0b1977c23534d3dccb08169e780fcc104cb225a0231009f024e61ae5da790478810b898932d2e0850d5dc46cca176ab9f5698c81a692f6cd96458de407838743eae51b065673e0302047c435bb500673065023031b3fb3fa8b2643626e0c3ab17217b0c49df48b386ba29dd92c4121f05f43c2142851618c9313b2929fcecfbd2ab2bf3023100a04b28a2e7c983ec820fd930082c8b723415dbd08a2dcf9ab8b8eb270b979cb6e456e6d47227f9d8037b884ec72a1ad60302047c435bb500663064023016d2d3824ba7e54f09276603870cf82a31b790aa58fa3e318890db33ecf4ec7d3e57e1500c7f58f2accd7de257fb98d70230780c5bed4e5a778bee7aaed2e35f1319a8fd9d133af77c4a190a973014b849f520375c2f51dce6ae6b7c7aa279766bbb0302047c435bb50066306402306dce2faaddaeb2a9fd71098a6f4bab71511b4af4f6eac2f8f0a9a4bb0418ed395b8d64c3560e7896da7fd2da3db7aa9d023023fe349ca622d477ec56cc1475e49c87df5f3a13b2f610184fc8256e9cbe926352118d9e43be7616af6e2f737fde7a200302047c435bb500683066023100de48fb2810a36ca86d14c6422a87112be66db4b3c939b2eac69734aed3e63f337c3e6817b819a2196337d30b6a6101e0023100cf99af0b238da23ffd6ff3226c1345b6cf184f99623f3c830d303e49a3d4423ce8aed2958cac9793d70291f99d9c6e640302047c435bb5006730650230089b7f5ac9edc2cdc767227215342cddd0c714d4ccc42537ab68a5501412b31956827fb3590c72750fd0892897fbb6ff023100d03650a9a49cfdd8a4a28da1e9a8e83849d2e5cc1889aff073b279f21901df78d076f88aa6ed0fd3e2ba24e688c9a23b0302047c435bb5006730650230309c9a61c041adc6053acb75f0f9400ce44c1f90e13637b780c8de23799c4aba936f661bf72e1e1a656365b39c035a320231008567d863a2f2c189569fec3ab9db9bff9f0acfefe336041464619249da68199b681a9d07b276ff9b01c2cd986363ded30302047c435bb500683066023100e9828571cb75108a33c1c42e3355f96f481a3979e05ed7a2dad8ea29698a6f22149aebae43e8114c3979770202864026023100e56bd14540d244accb2c94fa1a971dd0d703f395b3c4f6f92c6cd734b2325323611ba4049f097b39f7851f4ddd98baff0302047c435bb5006630640230109394f8a64ff1aa7e209a53e70b012916b2c9d23ff3e7e309cfc2f2ae3be373bf5e62d2bf82ae6bebe6a2130d37ab6a02304e78dd00efa8553bc8c38bb5aaced1b2ee6a0bedbfa2f38cfe31316192ff31e260bbb222191aa913171b5c683ce6e4fc0302047c435bb500673065023052c7cd800f76b4a17079e5b457474ef73babd25d5f2eb786089e898f186496ef29a4cd31e3c2804db62e511a5a30eaf7023100f287c19676875ca858afbac9e545f7f55bfb700dc384f9a1cdb50138ddf469a90f97f043cd72597f87c2b78a468a03190302047c435bb50067306502310094aa8f12e1bf4dad398ce675d611c328f3686ded29a850e75168caf1a0d82bccb0e3d70720cb2ae312550a5c10b08c340230734f27af9efa8f0a19ee606d23bff76aa80d7fcc9f80ea3f857c98cf3a67e9ba16be69f7465438df6aeb999d0d8a90990302047c435bb500683066023100c0febb7dbe7c46b4b57fcc033247a8150b90557586e1e8fe69b3e3e3ac32a4b1bf8ecc62757ba40f24377a72fbbb3bfe023100a7d466863b43fcbf8540e8e9864dc20a664754c1c6c7b7b587aa5b41c6c15b97002fde7597996803d807aea60823eeaf0302047c435bb500673065023063420a0a178cb6d0fe18aa012cf312e5a6a2f8e494ce08b9f810ba0268be7e42d62ef3377ee18cdfafe96b1d563ba0440231009f4902801d27eb2a88be0de78cba7ae608d9311d96e55ace1d0ade16372dd8421a7733148680ccd1648ad5de2feaa9fd0302047c435bb50066306402301e8b91211f9edaeeac701c0c5265a08a9f19329a6d11d133dc2d22114e8e4f948bda5c1836c13823b80a9b6fd78ed5d402304ae2666359ac332a91fab502a84ff96c4f6444556d1d932050a08ff15769f0f518247af79dfd13d6a6ba1ca80091a41f0302047c435bb500683066023100f7e9e24ccae4d5c8c9477bff714d92ba183ea275e96228a23c8da06fcdae6ead4fda233cb3ad463af1f0c0eb90d3e305023100fca311b0774feadd90c487d16578dcdcccf2204254e8566775c7aa55d4b74210b74a058eaf0978ecda908a9f7ed6d5e60302047c435bb5006730650230663543e9b615e3f279899835e383182eb560d5aa16f308a7bbd950714319143b9591dc2507148f7b178b7e56159b0d89023100d7c974165da7de3f4e79277cb622d2c9ed2f53c322f5cbbca0f7567df95b1048a5f91329397ea5f1601947c061824eca0302047c435bb50066306402302b8ddf1f4a21ed575f9999ed2f93269c2239c455d94214c6868ac5fdcdfe117524ff922d0e5dea4cda83b70da4b01ccd02305e311d45fa73bddaa162b4199a2a8090c5ee06510d2226dea1c35da8f8f652883d644b81e86fd4352ce2b2fe355c01180302047c435bb5006830660231009d0fc7b801dd9aed9d6f104c8b6163c686ad8598a209f1aacea69a339ac4e4f2578396119c255c27932cfec98a991658023100a6d6de3874e1404e6ae21ad2e098d3f137ba0d33233cfc84e92dfa487a17122a462cbdf40f40611d4511662375f8066d0302047c435bb500683066023100e065e9561c5ebe3ca9d75ba317d96b82c512dfb27002c411fea2ddaae982c87e51ccad37ce034c3daf5a4e7417f551960231008cdfaa71602d70f0a653a976caba4a4dafcd072fc55b546db01e994544f0ddead42bfcd4bab1ed594a6329763f86e2340302047c435bb500673065023100bcaa0c03b6c1f9c34f7ef77d96537df5d58223b43869dda5f988a5b14f127bb207004371b68918c1c5e6d806f4ea2c17023002e7ee48bde040f9970d8640f3d07265e1e68f69f3dc2df15fc24da7f8df5e6b2d04706745e8789f33747e14bda3b5dd0302047c435bb500673065023100f98a1106f6adf3c49e0fb4bbd020400cb5d94622e82ed528e5af1cfe11e5050327ac91747d7819995e77fda49169708c02301d36c5771334de405f9b9dd91aae039d68bc413564ca935c1d44d73629dab131fca8ebcbb7728f1a39b22179e06d19ac0302047c435bb500683066023100a9c873f79b95a6bcd775a5a9344bdd5b87280e75e7710041e3b8e7bcf61f865b1798521ddf2af335f0b4957fa0e78c2f023100c6c16e857d6896bd7c03053dd74aa61ce9ea23b56f965db9d2d6abbff2da01d44a94e1d008d1cf2db7cdec06c76a8e000302047c435bb500673065023100aff430e0ada25c2038cc19e55f72e7b342eb85d64cc3d01bbf3b44132910b7b46b63cb8b017cd23882b2ff5af688f8c702305b62f7847fb4030766d7969e14d0fde8e7310fac6b9023debb91a3c6eccf60a10aa8305f6430199bfe4a5f2ef2d92d890302047c435bb5006830660231009c7ae775ab85aa6441da6467209af5052c9fcde23c46d141c421e4bc2ccf8a1941ceb58dc673321fa3d7c2e2b6fc1137023100ddaad263551786d916793bdf0115a60bd9ee0497b34499f3486b874b2fecac9da4ee39d1c235effde273c9ccaf387e780302047c435bb5006630640230704bc76fe250a985162dd7ec60ed651cc9a32c75a072f163a33745a1b193b75ab358475ade917a9936dbf781263418b202305acaf8a93567eb91d842484aa9aebec6aa0fff8b3fbc682a12a206f7778943f86063bba8221b5ef387838990573181570302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fb42b85755424f2d8e4eb7a9478b553bb42edb893ee1ae08e74ad3fb14af191c898bb92956e9f302e8d4c1b6ecc1a4b2023100927e83f67a599110822edadab5788551867341d890ea2faf9ebc98c9591247fe57cf2ff75ae1e067a20cad567f596a1f0302047c435bb500673065023100b1ba8641c364e01f1b3b3c1479843ccaaebca00c9283960e8df8304a5133557d1e555e6ef8240ce08188cf6e1f68c65c02300c2ab242ca2150fa3d01874abe8ee09da325e2f01a5e5638465277fc53b758447d867beddae08a9ea33fbfe9f6fd874d0302047c435bb500673065023100bc2b134bc7758ce7740eab141e9ca67268b0aed02a0c350ab1e99b54ddb0fd8ba286a83e8f577cf95b3dfbcc1200aaf202300f48a3e3d19402aadd0e8248c89b851cb4c0a3c820c0e9ea54c6deeee8652a44df800b3940a8ada3ec3cd47b108289670302047c435bb50067306502302503dce8c519665785efbaa7ed33cbfdc553ac505772eb4e7b949493da5e6a0cdf5580db379be5c78d88c11e695ab660023100e4270149fbddf97f99b87b8f46493ad6356cea3cd76b49dc327c20b5ef2c56a468ee8e2a70c1d172c86c60573e4430560302047c435bb50067306502300a5c198decae9c02e7207b691de65c025666e7c447e113637ada92a8a9ffea3d48bb967b090b8eddf9c1b302e70cf7ca023100c6af5e8213ba89dd7a1fc413ec174b416460637c7459ce6837d7a56f0e85d1d454724b203c581b5a76a8241651a2ecba0302047c435bb500683066023100cb1e54f8ce44d7d360c337001458f6ab3b3b619c95cca348b580962b657ebf7aae0e126d12b2de2556c72c9bfad171ef023100ddf136beb10face4c7e1c3c6abb902af5445a4fff600d6e1a60bc6ac5e118a2ba97757b20e0c7e0bc80293f8892acc9f0302047c435bb5006630640230351a02cd5238b4b2417291982a37ac9e381b5904f1c70a7e16ce8eac046e69eff849b006ff8c8274cd4f4be79af1220c02300549416987d5f1fe3e1b7dbc45af26efaef29d43aaff21e8d0dcf31a7247ab08367ac3962f57076108994304473fc4300302047c435bb50067306502310094bd6aed8c2d0b365b87fe79b5e3edf0882e4bc3dc57981a42002ab396768eef0c4d0657552b792276de5226750f9a1302302d2860a8455fd355762eabf343ba58e65a7083925431e5f589c405fb51b06632074661d7b0921c38ae5c5c894f25bb040302047c435bb500673065023100fd688075e14f84dad34d7fc341d91d3f401fd4051cfb1ae9310e0a34c643bb59e73c6ba026d6b9302a77da5ee86bd7330230565de8fd07ad9e413a52f45f2bcc69acc43f8b562bb160b9366b30a5354da4ee9673a25892c8825d0ad46afc37bce7bf0302047c435bb500673065023100891ed204d65bf1f7610427ecf56425571d8c18e10f411000716969c483c814b304be01a52c38cf187768c62b9cdeee3c02306b8a31a678064ec4aa262009d6b8d38ac45ec721d69afe88b3c13d84ea5e3128c67dc3e0cc8026b0c7bda990c92e75780302047c435bb500673065023100951b56910553b28d7e286ea7f49b8a9418728df6df3364013199e30bc47736adcf1f6ccf6b6e764dd5d633d99a7249dc02305b261d13587c0c562a22594e946bbd4e45e31561338360ea1de0560811eb724c7c59d054bd702d5cf68c56f13fd0eeb90302047c435bb5006830660231009cf39aa6a7cc02f2fd43101ee615618da10da5800ec19df1db686617d846ad719cfff3caae2f8556aaeda8ecf0653898023100d9526f10c6c51017c83761d64e0a49434279b659e5c2a752d1c3b1d15ee034f74d9639dc80be648c128758ab6f7708d90302047c435bb50067306502310086f6edb81b4201c27c4af3722c1847fdfff7c7d2829be4ebabd7d08904244fb1d70f61e90241f789c4a640f19d6cae720230337360f224600d80042f3075f41e2eff3c8029a13107df3b526b1a063a331a8b62e9e400b7a57924675f95916d36b48d0302047c435bb50066306402306081d4848a1c73dcad63ce00e604681dd8ec16cdb096f0c3e81cfec3e84a71db75f9feefc9aabc8411a541bb186679d202306f77354a7f04ec3b42273efb177da33ddc621413d0a57e537edecd480e5f4b29a30b3f2a77e8073591040a853ac339740302047c435bb500673065023100f8483ee852e30beba38a5a72100851509bd0eded8473cfaa565158f3c8868d1a54e32d7e8b21106ea86e01146d1cb81b02302d9811f5926bdbc3a950067b61315461f3786a9b61cc1d41e692bee7e9beca654e91306be1d8ea1e50feb11ace67a3e70302047c435bb50067306502302a6a6b87d774ee05ad54a07fe2bff94d2eb1e9dd3f46600b108aa56c9e051450a6fb95224b455a5f9c909844f1a3ac18023100eaae0fa7450dd117ca2fc6d30daf2d93bd6186076db6c404be0c2a2a62a5ba1099539cf3c1472d5f322074f7273dee290302047c435bb5006730650231009beed25ffff278c6a79b4517d7d2f53aaf132a7c1eb934c2e95975e16d8d492ecec22239bc594625d8d356747f818fe102306ad3bbbe329580df5f6eccfd14e7b7eb76269422d1548554cb390bc833c826863aff93344f3eaa3a6c6cb7064b79bdac0302047c435bb50066306402303d66e001ef8f85b8e05af7d0ee2be1be961e993d9e8439cd060901242baa78fabe973a27101bbc5ae8f900a380aa8623023006b3107c90424c177f5d820cbfc6ceca7fa930769af0f0b778966852cd493ba1a20c6dc7c7910f73368736149ef4261e0302047c435bb500683066023100d4166b2d5d670b2f13b162b60c59b3f99e2e7c38214233ca3330a690011ca28c148c42c9cebafc1915df772f7c761f31023100b8846eb888a404e7a63931f342d7c4cf2575948e912a320eedea00929e4e95789f7d86db20751361c28918d969621afd0302047c435bb50066306402306bb0a7dc2c25e75d8e919ed509e4612fe7efbd9a7df549fcd3988484fe0eb2864f1601bf2ecd16085ea4b965a6e6902302305c9b7675d54f6f777b0199b085b02616d58193109507260db849afe7845263367225c1a2e72d5e098b41d6ee0229754c0302047c435bb500673065023100acebf18151a5c712b100e952a8e0f3b8768104be5c68adefbba5be50cf238bbe6fbe6079380080e7ea20627c4278005202304c6a2915c392c96c126242de9988fae3c94f88a4729c10ee674a4e93b2c4303839294a351dab282f237fd2969920582b0302047c435bb50066306402307ffeee2ce2002edf95b0751106fbd3cae39fc733e99822c869b79ed0fae90a244eb853dfb35591f7d0ea29a4c28795a4023031ecfcd2d01cb2ae41ef447325f47615fb91c5d6ca912cd69b31a28333788f36bd816bda411874c3c24869120f8575dd0302047c435bb500673065023012370be1000d99f77f74263a136d459eeb4b9c3bbf05eb9326a986246cf2458d088076c1f4ebbcd4b15e3d2de1cdb146023100d78513291bb321d4223515a12c0579bde2d54734b4bf2df2c412d0ce611bb9323d5c504b517ceeefe91c5ceb80ae5a680302047c435bb500663064023034f9f010acf97938e6e93d4dcf4c871ce34cdf4375bbc64b713b5b6d49ba7eb9e6157c9abb6b9d32d6d126057a5816eb02307c78e232d633a302372fd69c6909c639a00be0036da51f00de5117248ff57c01d3d88bb14f45809f3b58cfff5295e9db0302047c435bb500673065023100b0d1b98d250b0d65758a6529ce2b7102ccf72ff47c1ab441cd8e118ffe10dd35f26743b4e14ae829a12c4044522fffcb023072f86bf8680372f0f45aa8841960becba698e10922bc7b712b2630a5d23445c6c285930bb12e78357d6269549da86ce10302047c435bb500683066023100ba13807ea9ecdc2c1263377913d527f9e3aa41d602a82a3bbddfaaa7a02e4715572b0c848e31aca69bb963d9d0196e8f023100f29042571dbd93b849586e08feecdd22ffd13d6becfde73c9fee8f67e260f1aec8dc6e0e270b020231019649850cf4a70302047c435bb50066306402307263a61df87cabd49dc541bef0911671b453764af63db3bedcc54172a7af08628817e02660c39b29e35c095fe92b483302306a01cdad281286134201bb04ce2150b882b30eb128151195eff69b737e1ec2254c2cd3a97ef7f8f03c843b6899517d280302047c435bb50066306402300d47af895a87da2f4eec88bb44910374c09a5de7d32819fef2c8d761c4253c1c0692e85c05dab7f1e2961c03aa3f955402303f24168a8db5c5181113fd4ad32c9bdc9230df5b42295f73638130d42472d9d539417fdd4f738beeb84dbaab142504560302047c435bb500673065023100a7d1c0124361e413f8eace30cab9a3a227ad30534c9737c20b7b3ce31a271a0c8fc6401bb6815f3d8815d79eed04e6e102303efa540a035b42e39148f4734ae1149fc109f68e9f74c407785314942b660220720014d9b32a6e1b712df9c203ee83bd0302047c435bb50066306402301044b2f4fabd3dc711b018191eca2ed705900454b604e1ebc2768a30dc07db1011dad6df28cf24fe75d45a504d3cf8d702306d2a892bdf28b309ec9699c2f9436adaa9b1fa5a3d71d1e2414752c7d189ebac5a91724c60f8ed2f57dff5eda44fb0980302047c435bb50068306602310094051861adb07b913f39e395fdd69a27a32723fd7c260ba753816b2a302440fe640883e35136b1f8ac48a31a5dcda1de02310084bd394a997253e135f98f8d82fb5f624bac8a1c9ce57e81df1c1bfc49c2cd7a02d2c693264c598b345760c6ef90647a0302047c435bb50067306502304da54bcebfe332d1b46bfef09f300937f355f26c1c5f192f8e0fb48c5c11fc5ea6792d93a76b13e78a3140b6ea183a2202310093d56844d25f7ee83d35a68ffe420407b62c041b74fd7d4766a6ba7e22253e31f0fd1fff445ce83a400f4d2123fa93200302047c435bb50067306502304ce84997ed75fc97789217dde8ee89b8095609e72f1fc931683d31e321142a6d2a69a432a7e4ab723efcb73744d8a42c02310099884694d463241adc5e45ab0b00b2a95e36d6655c0f31e5084eafb57a19be1061cc326eac863c60a62a702f0181af830302047c435bb5006830660231008ef4b3857feeb8064582c1922840e19d5cbba47e5451ca001ce7683c17e9cd9a69b8cf0ff10b09572bcb37c3cf462392023100f31ffc8d07ff594a55095a23b3c99c25579d38eed68fe8369c021c25c1ec0131305bc391328e38775909e15603fad5c20302047c435bb5006730650230531df6749959ecc78d87b216dccc491631e5615bba4a9400627c47f2d007e62777718ec21fd21bafe9aaf11a44e9e6fe023100ba691f017cbbaa5c6e5a034cf56ce544704b96645e13d180346d529fea3330fa8084b431373fa8721ecf23adcc7feea90302047c435bb500683066023100f220da3d5803a44a7d7fbe84ae4d66a4382a345c4e24895337e1eff9858307a09704b81b38ebbdc0018caf0b8e56c53002310093fb6aef9051cabaee4e4b5983333d809a4431ae2ed3218c792c4c896a577d4ee73f4370434e874749e09ede11c8f7ab0302047c435bb500673065023031c6314a77ebf689ff5dadd64fdc0a7570c702687715d04d66bca8308c98694f2d9228c5fd9a35f0c10ca587658fc7fa023100e09536dd33bb42fd2d499d5412a00841823ca4bd2498319343004d31567ab6e8da1094449fd999af8442dd7443c23f790302047c435bb50066306402303965f8c0252dfa7465428a824fcd9f80367095296873b421936a1b55344f5ce6faea64593b0027b0794374f51a1bb53902302634840ebf8ef5dbf260013f392adcbd0f8e856def8ed55d4349020da9b6708a13c3647d3da651de5836129f429ab29e0302047c435bb500673065023000d9ceed4ab3353aa18ee2228f1a2384e9c3018e3d922e79d95d727cf95312b9e35670fb70a2a36e3d97f4e102184c2a0231009f2ffd16d51db55c574473585bd824dfc418f60ef58d8fc8e3e437ea78096cce9b4c2cc8f5c53f600f898b4a57db25cf0302047c435bb5006730650230353e915b07f6468aaf244c248ea2a697ccc4f3b9f55465611b2e741d0f1b24c4a89524ac85980d9e672b7409054ff4910231008c8f575ffcfaa4cab9ad009b11a04230bf87ce734d198b7027d3d290904444a1d73424bd246834fb0af6ea7986b0988a0302047c435bb500683066023100b55d0124a2f4e83d83b8692f2b7bda280fc51fc45d297260021791bbd951eeedae1ff5ae3f4cd603e4fe6dc511eb3889023100db857b53c8da2d43bdda3d22f8c8b919fcb1148370844c2633391b9122b1d6325dc6bf06af93f4ff9bff38a31e2713330302047c435bb50066306402306223249f3fa4dcf66bdbc0ffb64c2586ebc36b9ee35ed00d3c185d96879b5964b9f2d2430f64d0377a2334026b285635023010b4e0dbf7b1d7ff5c0e49dfde485933831446fa4cab5c3c097f40dbb1992808a094e7e7667035dece9aca360bac1e400302047c435bb5006730650230107b2f7b64f734795c67af948ebc1c660b819c195edc07c29e107e44dfccfa34dbc7a549ffc135bb761fddee41a5ca92023100fff38bff8f19556c81c1e51d00f4b087f8e1addcd70e2e9f65633276e44c2258702c2df1d90afa9b6bbfc686f7d252490302047c435bb500673065023045f61eb4609896a4b5d3921f3a085a4a9b81059d2012a08dff75d9b8aa922e3b1bed6a9fec2096abce648c13793e61bd023100ee1ebe7a45d5adb20be198ae4f5f05f667f84ff35ea52c1af44f56c5c2fafe3d50807b188f320f620955bcb6f01f23cb0302047c435bb50066306402300c0026aa60a406977835cb7cfacaec81779d4fa95b12ce2289a4ab726276ad24dbbe8d19d6a0874e0e46498644b4ecda0230321983ee0c37788a916d47db8f77fbe3291970e0f33885a53778bdc2f2260dc552673afb014498d4704a0b9e8f8622db0302047c435bb50066306402300424839cf02b060c7c1015e45de5172116ec7721979a85698f79f7a327715ad18e19dd98be63bd4cec19975b252217210230324a8879beb614320cb3b4cadb0d28d6258407674d9d91d976e53e3d118e054587c53e85133f305cd30b3a383fea37da0302047c435bb500683066023100f5d4444b30eb4aec6d0e98b29d54cc7e6e838dde131308a818158ab3ec505fbf0a98db9b5111b50ac3b3147a6109f88d02310088e3f8a65f8d483e4d50cee519f3756b1d4ab56de6c2ad492e68ea92081ad9a8e8cb94c06d6da60af75ad15cdecf382f0302047c435bb5006630640230198f5b3b213dd48bd63ebf3f9b4765d5e2b00de944b31d97636c14bd1e4c3278477a277d3eee5087f46f16b23a724422023037753dc3c9e3fd253b0a337833c35b7918916ce2668b273686ff103ad1926cbb2969ab667c0f163d1fa6e9ac9343bbc80302047c435bb50067306502303cd0bd189ee36708665e61754a5daef085ea874323aec48e10cc6853fb4efc6f179cbd2058e26872a05bb22551a12816023100a53ecfd523b1e2069bf554503f5e8c657af2fc1f2362ab6443be14f2d1446d465f8d8be9dd0b418112a294c3bfe864c90302047c435bb50066306402300822411bb120aff0b4b3bc7376b21f6107e6681ed348070c6088dd85566b8b4bb6c609c97d3dc607b82f1edbee034250023069c3b5b1b442f4782dc7ac362aaf7cb132e685fd99fb60c32c36b40bbfce853cc4945f6de32d2c5c06150bfcfbd99aff0302047c435bb500663064023036e65191d5f6b29e2060fc59de76b41b3a3652f4e7bbd7b035007895c2aa0ad8a8d049717f3c0bb87d06b4c414116d4402302f60182f30744d4baa503e1740e8c551ac3a9f9a0b65630e7c002384b06f028b37f592d12ec4dd9f05ec70cbab333e830302047c435bb500673065023100c011cdd07464afcbf2379141e43e6f16076f96c4e6791e25907353ccc0dca2683de1530617dd56c4cc165b53573085060230724966a0d47cf53a83752056e764ae02c21c063a508accca36850d65b312acb87a60509495db0bacbe8bdce45fd068ee0302047c435bb5006630640230656c0fd9d502faad1280d6a5336c0c956da678921b05d1bafdc9c4e6e19f23637cb2b4e9b51126ae82b21d65eb521851023012a45e33c3377ed7832dd27ebcce909faf3e116e16430a97d10af27dc924150b1a12a20d17a8f037ad5860cdc65801440302047c435bb500673065023100bbeafe7b695dbfced620f415ddb16497eec80d6fec2ac948e3991270ed53332e8d20d9b3a8485376ac9f8db9a504d25b02302dd86e1c26b1b79905dbab010af80e370992f2458d6b5543bf273e3ff801f89c5ad16a107812ad4f1e0a77b9754dd6860302047c435bb500663064023040b8013c8a31b190f979e7d6b6c563b94aafd214c5beb3a686a63d615227c942f7f7a6703b140442ff536c640201ce0d0230344abdcea755e9157378e1f5fcc12e53a2f5534874cade259e47f4fd8b25a6e29297eff024cd3d402536ab2cb8fa8aa60302047c435bb500673065023100a12a81dfab6fbfc8e8c3fb44b356e8703bac08450bb95bed9047e6a31dc57abfa63631333fd00f432c971de1c712d1b30230371e769f31e99a198003f1083c4c5951ab1bcdcd85f0a4912a4c649402ad2c3f592b5fe973c13dbb3936eb0c9cdf1fc50302047c435bb500683066023100f22508906baaa8bbd79185927e87919c2bb7081a7dcfebdc8b85624460b0c87188d6b5b818d0021c535eb6f9cff5308b023100af12a6ce92225c83c95c07f393ab7fbf0cc6c0887fb72a695cd1b69e4e26ff4f2c8b66aae10eb615dee5ab8e9d2e6ce40302047c435bb500673065023100a4fe306843c4e5c1243a9fd4f197289f6551ffbbe5e5855d78862af7bc17c498d4995d2d958290349b3dcdcb59d63b8302300daa7039da5d47fb793d7c9a2982e808cc3696fa4d80927ff49b9a8b09545446736f3e4c43973905307b9b75bcfcf7f70302047c435bb50067306502305f92a8ce998b0edb076949b22e535cb5f2bd353e786f207b4cf8b8a7e3da8ac2995b2a19c37af69bb1e064e3699ecd61023100e39f2ebc5b633378241a97cf255ca6932efc1ad24a942e21f78df49bfce5c7bf5f089e4d89c518b1e0b742d6da4fadd30302047c435bb500673065023100e004d86ff107075db12c0e879ae63817e72f668e047b4dd76162f05d757132a241b423c09754e2e2e0fd2b6e55592fc3023024222a2d32200c24c16dba4d4caaa6a2a3d30b97d148e7fe753f0c775b11ee6d232d5ce59a53e9d78be6bce31c48b6cb0302047c435bb50067306502302e76fa489681781a0d124be440d4dd819095bc361432bcc1b270ec03021774e46f0048c7865a1464cd9194a618a2a611023100aff64cd2ab07b8814f9c40aa10f56a8abc62d1bf0fffd4bd4f6a7ec482c552a223aa5976439da4f3fab78f40d5fa99e30302047c435bb500683066023100df23994f09d774175a8f10b39a5d60860d038a9eadd220d8b6a400dce185b4f6231be5b0d11ed4aff25c4679a106665d023100fcfcc172fb2388348ac423d29a5aadee7c17d8d8295a195a8325cf981fc74a003a96ad0e7109d56cbcc2500c3eae05ef0302047c435bb500683066023100dd2637a2cc5d4975a0bcdb6d842347ddcfa6ba51bf72593b835a835adbec894348e0c92b3c695c3eaa6b9c923ca402d8023100a92de5eebdcd1d1b9bc97871b8217c83094ecc2941991748709d874bb384e4d5cbb4f6693e4f3de8f323c371d6bdb2d80302047c435bb50066306402301c506d19b6293883760d06860d40640945b4c26dac28ae98131a5a53e0598e3b972adae95cf988953f5a3b2764681b6e02305c48bfbacbe217f08331974a03d6651fc4b1603866d20baa1dc0d548d3b3bf45d1c472c4fb029681ea5831041a0e57f30302047c435bb500673065023100e6f60ec6d80fe6d9b5243b5591d273b8e9db4a745c051f34e725097cf34fa4ddc2fd3ec269550d605fcb5230e1fc28a7023029ae12183ecaa80980eb4c1b3322709c2053e0fc0c922cbb1f871803b9a8f67e594dff4929cb9722ac8169b201d7a14b0302047c435bb500683066023100c3f70f6c79e192a7a76712739060df371a3ad1d990f2785254344b9ef199e0be71b055bdcdbb0d2892666c1ba29dd29602310098f083741c96b53a8c93d1be5225792f8a72ea6dcd3f3f754089857af9cd6e64fc43f467a87b77855401e0a02aef587f0302047c435bb500673065023100bbd2463553023cbc381f81e7e3a08a29fc03e5dc98fcb209a8b3ac9e3a2daa5fd223dcc75ae1bff570c88ab9a3150a2602303c2e14f058595647478dd32c7df92278e94c9c86f3889dd9c428e2c85f6e60d90772f390f75d8077026816d2006d60410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ef9514e08ce8d29a51e9f9373fba023a97d2563f817d28292a8a551585621a36d4ce0fb5d323503ffd829309a94e1a8802310093d14fbd10321aa461cfc4a6ee8a3886c99041b14cfca3feb974fc84b8c215029e3f684d6dc5ebe6cc7f4dbf163418880302047c435bb5006830660231008915eee8b96707cecf56cfdb406715ee7988b7ed364bfb0d990df703bba9bbea92cbb5676ae463034290b911731f37b0023100bb963e137f34670e666dd7382a5c40227394a87696681fbd4d7d00b83e1cc1b9cc9b98c491fcffca352b78de3aaf3c720302047c435bb50066306402305c1425375bc04610ee256a8f4c25e0753ee84efab14306fa4964f75e3403510614c3c06bbf7f5fbbcfa04dc956a1f0b902306940ba4af1b93cb393ca910dbbcde7548da6842639bee7fa23361a3b5ffb3486da7b037de9631b56bd6d4f472548a4110302047c435bb500673065023100940cab3c1e881acf411da1e853fb6505ef90af48d803686fef48f956f4e43f7f4703af64236e45acf1fdb5a28b8215b402301ee7cb540d113b859fa56f3174ad1c338d29f689222e2bb30b472c842838125009d262c42c81eb00e4f7584970a815330302047c435bb50068306602310096f783b24c790c98db0f580ffd77fe24bbcdd3f29b786654999e1e394148f9946288828ea62dfd1e55d0c5099f474f6c023100ff279df897e7e23a411640743a47cd3f3839422fee338170fa36c6b5a26405fecf1ef1c8322e2b721ed77982bce541c60302047c435bb500663064023037e50482a6e515bbb66cc664838344cc68b452c406f39898909ab3536b6af7ab0aa0a50efc27984e5f5694332798f53c023073283f4ca64c1dc4732ff762c6a48476837b07a437bb5385e6ad31677e6213e90ae057112d92c15fee409f386243a3150302047c435bb500673065023034d1b9d0605c715537188487c9c62726e994e2753df38a8a6c92e0d3211935f1bee5103a2529b9dbaaf7fa603094e1b00231009dcfabbd596fc18e88bd89b8aefd4a1e50cbaf567ef93a2162e99729b8e66a4d3dd5b848103cc55958f9c884c2fd39290302047c435bb500663064023026bc059d83dfb1dd14ed4da0ba40e94f79ae7ff13159ec9e0ada7c51a7539513540b8bacbfc01cbfe383b271642cc609023026e5eefd2f884133de30967810685e8b750c95fad5bd5de2fb87b85a00af490ecdcd1769016051f84955b4640589b1fc0302047c435bb500683066023100c1be158f0614e4b8aa3cce22cde1f34443dee4a2844555f94964a60cc3bf31d12f0db128fc93799586e091d4cdf82302023100e5ce57bb6fac82715729bae640c811332a212d48f56697991ac8fb76fb26fc6c682e4aa77cb25b02d737f21700b1c6dd0302047c435bb500683066023100ea323f088aa105dee18a5f1e31209429e5fc39aca8d2bece4bb7452b63bb1654c3bdec9a29889c0e1470d785394f0ef2023100b691c747ed97103ea71d70b85ccdea675f2f4b09a1c45e014cbba5a47a52ccc424d2d86dc2191383c8b24fd944d444270302047c435bb500673065023100f784cca2059d8f9f2a64cd7d8708335f72e12d7ba81dc2fece3917232af7a83ab4bd709d19d2a095561477361d0205a4023067427f9bb696097dff8b159f253d8cea3aa64d40ca473c6ae182d60b8acaa8083a6cd66a5ba400984ca426fb3d5e41470302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100db07409bb6c6ade33f673487e49182fa9055f5114debb472cf77b53feabb29bc14e646199d5bf32c1247f83f68edea6d02305d43f8d9e17470c4e29b8c0921f0fc3fd06bf5afffd7631aaa11f18434881bfaae9e0f8745c1fe7786069ff3b51c9f330302047c435bb500673065023100f3a98ffe1165ae34847768a3f814e8b84c39b4e802842ded794b2668bd196794401f896db5f5b53e2972f35f4289f8fb023020336613297ab1dcd6c8648c068e3f89b3421ae2ba58ba2ee098f16275f1daf907e503e0130931c8ecd7d413ef1522100302047c435bb5006830660231008fd66f60ea73bc190b44e151f88985798f2235f6fbf366e41ea5d6bcbcc314fa50febe2cfb0be5dd70e1e8053855ca2e023100bf516a5d2c2eac1115ed61f624387ae06392cc23e034e43b2fab2efa43a067893c91e3acddc7a1f34acfe6c99d1557050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f4a3d4fa83c5abe8daf80c4c349bd47c743ab922a98ebf6cc937084e3dacba40c246bca545011ded48d8c1b1c2dbacc10231009168ec688186ca5ddbdef373bdca9fa4ad130786c163154f8825ea83bfc39f66a4427783256fb4b0b3ea98899066273f0302047c435bb500683066023100c038d86903609adf5026ab71b5e10aba64675c4548fe6bbc1583bafaec43889223f33276cc6f904768e32345284d4b1a023100f38d7686c615a9c62a5a36681e2eef1e5da1466a6b71330c3a40f083a00509a78fccfbdf03c30a53504ae3405a6496ba0302047c435bb50066306402305b9012a94717aabbb2528c803681033d806ccb4b80f2d475ae6f2e4db126b5d17a2d44ce935a95c8f07413a94e82a3c2023041f594f4e762017144258d31f17f58e0fdacedd42e68f1f83b03a5541d22b6ce37e47acdb21b99e85f882216950fce530302047c435bb500683066023100dd74d9ad77d8f4f96824dfb88c289901c51e91c9a2c0126600c5555bdb37370d61440521b9e1ab3c8ade02f41d030084023100ded8f5a0d27a0ec479e72136be072e969949e4ccf43ed748ac37eeb0cf6e1c7f9c7b20bc9ac6ae46f150b4bc2f51bef00302047c435bb50066306402303d3180c500d80f14991b57501b0d448cde7700fdd54675e60b290102af70ec5d9a6a1e9eb85c09b2e3ba98d017ce021a02306b08ea2da95b64953f428aeba439872cde6fbbd2cfb4b4fb73532a37975fa9c8a3c77e9b8bfa45fbc952e9afe087c6200302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306b71c7822ef60c61abaddfdde1858c4fc1d69322e5547de51aed2a7fd2bd7eec377a2ddbbe6171e78fb4c038d4918a5e023100b74004aa4c674003e63061e6570d704a03be1a2828baba9de27492ded3ddfa63630530584acc6dc21711f8e0539ae1d80302047c435bb500673065023100c8661e0126c11d7f0560d1262ac570c82a256b913a9ea52d1b73a05f9480d197345d4d257297a2c5277db9463ba5f8de02306a1c8ce82100a12a964397eacc09a45e12cec23b2b4cc48e378c5c309a1f8ccdafa2bf8b65efc80693c95be09738bcf60302047c435bb50067306502306c791447d81139def89797ce012ff8a2f4e80b96b0aa0ec7bdf5b79875d3aff32febd0c7c290f1a431dda94941579272023100a81de3de82fad7854aa68667d1e7fcf41ee155d6f98403ec128bc686c9f33ee03e180f0c6303851cbdfd86f5234535cd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008767e707ad514281b0aa7b1f343930b712eeae2c712b59f584f5d9a7c527a53af07539c3fc3c366024ce70c24b36f35602307e92762b0ac23f21fb802d2ba3a2374832413c3d5d4600575489a31f37fafca3032d3a16b009e3764648bae746ff4f590302047c435bb500683066023100a383e161d9df0ce21ef8f4075b7602715c65f3232391a40b2fda5e7b09e345a901e9ddf858677df408a62a71322437770231008f26fe677e1c3d34b84cd57e75238bc15f07c5160cd14169aec73ebdf4b817bf216c586e2f3e7d8b5efc6a5f834eba810302047c435bb500683066023100cbe35d2294655606590dc44e9ee8cd3608927fe6c281eaa86b72e4dc77638b79862d7c0850ae18518e989b280c4f6a0c023100a68a9fafdb66f10994b46667724e40b0f259500b508c33893ed64182f1c082aa53f168e58476bb72e7395637fb4c27b40302047c435bb50066306402303d286ae9c269809351905da401ea855fe657eb1551662850d61442d2afb45c941a24b8c2b1f0627baced806053f65d7002306d0b9a8283525e0ab1472344a7a269686b4cc3ea6da1f899f69d97c6a6e107a871187c6e372b4c789baefd3cd0ba20990302047c435bb50067306502307e9c8f33586170c66b4517c20795f33a04bc37f064dd1ce9432c3a92cc60c94920eab48758f0d4b5b6edbc03db649a6a023100a6fadb7162813bc1fabf6da09b87a5f55598748528cd3694ffd853ec9941732e9c9fe60db0f65911aea051f94f30df6e0302047c435bb500673065023048524defec9db47f726a9d5c3bc3dab78d7a1b9ffc6096c6da020612944330a1d9cfa42c9b72e4d66c9138f2c444e1e6023100a05399e95075f12b67c39b9fecff6d443d0899c3b278e191ee252481a85740585c71de05158132219646136cbf7589180302047c435bb500673065023100ac334d80b1c4bab813fd7bf4b960c190a6399db75a3ef9bcfed7be8561191db071f7c28bc2864415626641030e984da002304c496515cf0e18e4fb2b4c9d89522f4c9fee63736ff5bbc09b31654bf8f841cc4f8e9e19d1387f3a526c869b664622a80302047c435bb500663064023036d4ca6bb35bce5ecb235bca2a6dddc0ab2f633d35a553070989db8d14defbc39e35fe8bf62eb3be8f9da0521667abe402305227fd34219abfd0c29524fdfbf0d7321c3a329d03bdb62e15ba066871f4e1234fa57b0687ef41ecc096b5d42d09d9410302047c435bb500673065023100cb245629a21aad144052ecdbcc884df2f57a77697be80047647fbc13cdb1187e41a16d9a4e4d3bc68ecd4900c87702a402301f861ebb58029b48ac379eb7c0e97a9d101f4dfb1de1c99883750d4dc22b3fc4798813e6ec8ba360e4e3a283193c05a30302047c435bb50067306502300a4e9b2a38a78c718bc7d2baa6ac21c462d7db255f67ae6410a33ce4256bdd7408bbf6a3e8665d6a67c526818d542dfe023100bb999a94c26b570c32ffe936e54dc8c602a322058c68c7534fec567ad07d67cb309b2c1a0517280bff2bbbdcfdfc36e20302047c435bb500663064023078ec7e9c575f5b558df5ff2a85456c69b94681ca44c10031299f1435a2b421f01c9c52815f63658dfcb143b87edd042102302a1ad8c44bc9225b6b690881a8d07fe002b80135752595af1202ceed4452457dfb8929f88bc8e2082bff74deb74016560302047c435bb50067306502307e170d1363b820e5751bdaa8bb512af170a93d8adb27de5f264d637a38e31e7dc9e92acc851e5ca60be85bb4aead9259023100b1251ed825a1bf60162e3582df536ffb47f37fb0c935434b285cbe46c208ddc508a7a1e56bbf2a48de57aa41bd4d91850302047c435bb50067306502306db15bb5fca0be7e386a34caa3babd48fb2752481e593ece5698cb5c423ed10cdd67f33105cb5f6c14a268f478c99648023100f22578e279d20cd94668d12fdac66f5849275683d73481c392506f5bd8e11f27c812cb358e836ece9f4ae8020115233d0302047c435bb5006830660231008b701f5174fce93ccb32c9079b26cfefa0cc2c2237a0ce3e609015c1062fe6839fed40306b828e361db6efd2b2780937023100bae0c6c72aff2ae11f33de7ef195f2393da089cc637f6254807bf15d76c01ef36ccfa14d196ae2344883668087f64bde0302047c435bb500683066023100c81f008008feb46e56bb4a45c7bc360a7a5e6799487158841e4d88941687778c3aa2fdaa0248200ad062e213a36a1515023100f4e851b9c09f1a5d2cbbc12f65f3b12440d244f066c44c7ef255bc7f42ce7e78d222acacf00a612ed74e3ff30b567bdc0302047c435bb50067306502304469274c84b7e57b47f84e9c5de7b128771b3e65fe7071dba03150a70a3aef3af17471a9065a5260c0af16d2b44f0a96023100a21932f31784596ba97c8e8b61d74f1acb3bfb9011f4f848b98aeaceb43a457bc6d5beac03f5428f96f336fc30003e410302047c435bb500673065023100acae1e1c16134b3f10db4718186e5b67052a773f56a6a745cafa3c82575c1ba2396d80c5d28195257835ddfc55e9566a02307f93e266f0ff02894e3973ef2193688a08d70baf38dc8645f1162e555e01c8a951e113db3f0650246782fb6fd5be35360302047c435bb500673065023067601c45a7b0d25164c05ee1afc13c045b14d8e82b3b2b3fbdbf5cd100cfc5ae4205cafae7f1c539f62fc34137d597f3023100a6397cc881d9bcb9244d59317ebb425abe2803e718491d201a8948e8a1596f6d73a5a8bec05ddc051b5d5dc5e8ba3d3b0302047c435bb5006730650230755db177563ed468026e28fd759af1596c6f77b277b1b3fd852ba4d6700435e4691751dddc7b2bf398d3c48c88dc2f95023100b8cb3f478b2030cab687956957a42ecc7a2a713370f908387deaca4b0f951f1ce5bc2259e4ceb004952dcf7e07de9fb40302047c435bb500673065023015172338714bb2e76afc47f307558dab9f04c8d458ef540c0db628dd6b614e116d9bbea37c8b5a77ea41a82b5207fa0602310086b0021f9d7abffbc64484744306316ce8b3f5d3d2f03b29cae4ed91abbcddea00daeb84cf3899d6cbb8a2f9d2a68d6d0302047c435bb50066306402301c57ba73490f91aff91c4e2c69beac581772e93cdf23a2c392cef598ed1e299f73053fd47d17f3b6f04a5cdbd48249c102307dca141aed70403d8f0e321030176f75bbf3bfd74ba452ff3e1367e26b3c2b8b6a9fb689e7571abf45040cf193afcf710302047c435bb500653063022f0409d90773a512de6a854f9fc7a5e6d7a5a665d17ac9edd6dcfa5ad4e568fb4cd6faaf03b23f08d3445bfef09e361102301054411145577a746f020dd73548dbc30a2ea5280e8c829d3cdc9fe16aac325ac3fe65498ae6eb39ed1fc412bb91ab600302047c435bb500683066023100b4b56e15869a3ec43399fa60587ad2127b54f14178c1af76b1c105bcf009294c5ad4cea668de4d7e0df3762fd9ca6cde023100b6102d89dc9555c9ff9dc8d889dffbe71e82082073e93ac3eccf1ff4d65db66b999a95a5705e2b464d3b39e810fda02f0302047c435bb500683066023100f0e924790cefec15b66725994c081789a7017f85b4628a7fa2b65e1f7a461900cedc8151dd38d0fc18dc5c25fab61f8d023100f0fd82bf595b40ea315b267ccf9ef37725345c99516c78adac8e7d28d65eacabf045f4d5c8a1073ca03fde2b771ca5500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a1f5626d879e63b658605b7d1ea1793d966801ae75b168b622373af1e693e1518b5b0dced712ba69c7b18b37c5d2e7ab023100eb8b5a8e46b30b52da6c1d46a8bba58678463350936245d2c76fe26edd681c61c66c4444785f53ea86e33eee4115064a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e1e6154eb655f7bf0124b88a2bea552880e9907574a124161f6eb93b44ad95b6a83e73e9d2c4984726c61a7c6da4f9fb023069a9aa8bf8803256df259159fd8a7eb0d8aa4b62777307f1e9a824ea6feb09ddadd52300c3c62503a4fad4b7ad4106e40302047c435bb500683066023100a44e833a5447b49304fc4cb7a663d7de507d3f33433ce327fcf62450ecbfdf668ed10196cde891f3220455133ad988d1023100eac87d4d4953a5b57ea36a7dc4f99d509dee0b843828f7fd966f62de71850f13d737d0c7c2235bf3b7c38c844a6ecf140302047c435bb500683066023100cfc1196d337767a7b0adb1dc9a1af53a1cea9648621d4f59e700ffe8d68c51ace5a55d638356643a39c315e60d805bd2023100b3709b73fdce8e8a4da9ecb097334054639015793cd4c23469a77952a926b32b4de3ffcc3c36c17dd44f8c1ef875d36e0302047c435bb50066306402304e22f028c3790efd766d8fda83310635ce02d7e2dca148354293e493db195d16b99575db0ca2b9c131a354a3d9dd7131023016a1684e49b8275e4d0b49f8eee5818a0c5bf155579f5241405ee429943ca72895afc01f152725372d2239633c9546d90302047c435bb50067306502306430bfe897446e92684bf3eddfe7e92bba2355142213ea52d916b7f85e3a10e1149f0696de0f036e7c142346b950f3d0023100cd37ca3b239c50302ae075b59e14540c45dfe2352dd5f0c83d43e47e23bcc01c73a89cbe712a9ce11091a1c1213d136f0302047c435bb50066306402306d3d01fac4cd9b46dbcacf61f684ba554417fb1bd78bd6eb36b8936b4aec5f28f14750ae5352833089cea96eb0bec1da02307753f03737790313e18f6b6a3d2802db0134f7457c876f96f22e210db6acfd24b233a42456861fd3065fb0ebebb347a40302047c435bb5006730650230689cf4111992575c843e879648097306ddf32e04e0f2d694989964e07898a49f0ce1fd85c49c64da9b6c98d1f48aeaed023100c6df269ed147bc0ada7b9a765e67b0f836b329632d6ef7b1686e91c31f25041822c948467a5a269adfaef6f584e7f9210302047c435bb50066306402301e3ca14a5943de1a62e7dbac78d2227f76f5d756bf457cb6a9619d14b8dd0f1b1de0649eb12c0aea33d5aa1a9371960602304829fbf735d499bafbd21a2936a574cd63b7b36250fe64d5af2218f8ac1304ee9772fe2710f31a86b4920c4186ae33240302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d7e67c4c0f4ac0fa5fa465409561f6ec46f1c123f68c39bf546560cc977e44ddd8c7642d487f84869680460f177803e402303e0152867c19cbe547bbd819ad4af0853de047cf4a54d8e83f389861f6faa5c59e3d58882c94e43c1bd31aa1b0ab7db00302047c435bb500663064023051a8bc320105ad53241987fc8098c913b8df41d389cbe3e6b2260a74d854e7a70f8093e0d0a040cee401f9856082245c02300c6bd204382cbd1431580c4b0afc0b23fa1f373c64f5aacd42e52ad0ec9666cb4bd74c82a5688c1f25eb20ddb0faea4f0302047c435bb500673065023100e4891a78840d8c5816639ed142f48c2a86607c3b231fd161c8a07fb64da90a5ed1e1fc331cb5788fe07134fe1cd249700230699395dfdc30cbe7af72398b54bc884d280baceff69f74e90110005b7f2da8a1b555fe622ed4dfbc7020fa0db0b56d300302047c435bb500673065023100c069cf41bea6c81976bbb8d732a054c4acd14a9059e9ec7441c7bd07886ce2c400cd88a9a55c692ecede5e952e12a62802303af9057fd92057aff63a1acef17ae5d38450988d7ba5c53452876ab8dcaed7317edab40b9ef9df9ab63d88a125456fcd0302047c435bb5006730650230032946925a61901e0613cee813c6ad4958997f5289eae0106b96f785f023d67eb4fd8dd93fad7dd46cc0dfe06ca119b00231009e34514a59388339272d5cd581e552392dbb030a2ffe115de73185cf04f5abd0cc10956b252e105ac3b56eee4a63d0590302047c435bb500683066023100bf760e5036daa1a9b44dd8a23754fec71ab8513018a85348138b5d7fd81b85bb45d6adc1d702b79a727de1a5e0f70f76023100e2a4168da5bf4b00058f18d05011234c8317827e37e9fe6764837edc0b2dd2c965f5a373b9267dd202f3e6f90f9c49d00302047c435bb500673065023078901ca84c6ca690f1ab71aed5da47924c4e1f8b41cc31d5f08ee841391b22c10421f3ea61d649b1f4ee8c44e2b0f4a2023100d01d8983114eac171812f32e57ccc69caec630873ce998f0e79886a19bfd7a257f2c836737d63c0fabbc02e966799b380302047c435bb50066306402306731e653271e5b9d3fbeabed5557053741db429b2f5c751feb1d0f195e12715bf9731f2c130ab997535c3fc40021371f02301e950afbd27dbc5650a464b84231cfe26d932b5214d94c65218e3c570ac122446f539897047924690ee2e2f1322039440302047c435bb5006730650230685c78ba3c4849f8b11fbf6e431e17bb595f9fb62dc164754d6e13482f75131fff78cf2181e8158ebe94e1a5a77811a6023100ad4a717a5afc33c7d006a27970468833589adf90763c703f283d85e77cc2d951e10dbacaf1a3e7b3bf61e7692b899d1c0302047c435bb5006630640230751c039e3b6826484c96c7439464259f1a4d3592751fcdd4adde66d0c2338ea410ed5e41107e14306597ab227e2d9e8d02304ff00ac05042bf0b3abf0674d5a52535517bc598baa9c6efaaab0a7e8e752d6517af7d6d7d9e541ab23a0dbd10fc41b30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023042018d3ba25e130a3947d8e1a1ee4e806c0bd48ca4bae4d461f1843c8c1a11a38769bd19509f644ae6df508ede1d37ea0230624d95d0473f96dadd56f0b7341369d8f50b728f4880346170ebee44f21f16cf3f5559e62363b264bfa85fdfa0b1da860302047c435bb50067306502300ec2d9a1ca82f68071da35340342184ed1aa43dbc17310437ec5ee7c4743f30c69593875b1598ca5f4afa4d170ce0ff10231009438622db9db6ee5630292fc7ab2e43990d13b277fd190d9f37d1324be8e3ccdd81437825a3131a8a27dec0f41c91ce30302047c435bb500663064023073e78fa99aed93399dda43758969b9b415fdc14c33da65d297ae11052b02f7f518984b18edf780492f5c22bd74072c90023077b672476a7f846966eceaa35fd327b776b93b09801c6a1b368486ff550f37eeaa1fdb9075ca884baf1dadaa7370ccda0302047c435bb500673065023034581d9f76515cc62f3ee7090dffa21809f50597b57f5aaa4df8844e9c756e1d83ee2cb997b23145160285ad42f4b6a3023100f153caa3660d66de13eeb24c48cb13f87883f1c1b38c4592879759d2cb63dfe1d1150a134b1e15753a95f92bac890c4e0302047c435bb500663064023059a0b38d8a68fff6a4105f18277e604dcd214791d52ae7403cab1bb0d615f0a6db6117ba0654f636154d17ef16041edd023075bfe665771525295eeba49028a1e43409939fe28f5d1056f8aa94a9abb0e143c84c1f1a89672c9438b871c41acd6d2d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ec7fe7cd5dda346622200e04868436cd81cf3c6d31c835f41932fb8b4e4c36e60e8ef79b5a2377820138bb6522af683002304e5d88e56b3b4fb4e9afef0c717a279c6047f49ee1f961d9bacb1e523efccee1faaa902240d99ab53a3ca566395a42050302047c435bb500683066023100c1f71ef26e81d40857d75730f4d7ddd5beeca6730e83025e003624fb4d9b8ff5398221449a9f2c355add4107ccd49947023100bb759492dd658f8967c0ca582db594f4174439124882cdf57dc8b20697473b39145383c158373ed89a1fd0a7480142280302047c435bb500683066023100debd5da83cb8863d81f640271b1c1bac6b00788cf98e844f26d70d743c7cc3a3f067a71934456d66a1b8e2f72211a0fd023100ad20c0783876d0708701c7af1bdfc4414d0c6affef6e6d7bb23ba8c9804b8d4c631e0e6e50b0c2afad28c4e8003ee42d0302047c435bb50066306402305aac326cd4e78a17ab6ea298622b0cae2dd1f50b90029b8047f88514c64481c1add0a2a4c68750d10cdda8c074c4e373023065b18e32875557ed1c1fdfa1a4175f05ee43bfae849a6e0df97db8403cfebd3c9979245937499bfd702473a0b8362a2a0302047c435bb5006830660231009ed5ebd6c356cf261901344e02d61b3ef039f7808eea1b46549aeea59a1cd08d6c28595cf9568b42d282fdc8ea81e5ec023100e74b7a4e224173b71dc4b12f86393a09c1d51222b4797bdc55188ab45292cf1c1ac325e29a6bcd76423921f8268e71ac0302047c435bb500683066023100e3225615132fb1a0c7ff4d700c0b3daa4e57c15ab1684247b6ae6acaa800b796ab688b25aab2ed3588275e52d3bb2f08023100b74fd0b61e80bd6474e96c9a5c10f23636202067ea0034f0577c1784f73fb7819e00e71bef7a4e1e95d343d29236c06e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e298e594adcb9c5dcba4a4134937160332de10c607fc501296a9eb1320a68ace074715ed7be095ba16b9870c4b5200c902300b4bfe0aa2ad891b8811d831e137b24aba9bfb8a90b7f8be8edb44e76f81d7b050680c83744af98b777fa39adbd5c2010302047c435bb50068306602310084d3354bf150ae19ef3980eb8ee0822af410bd4b0257c9849e2adcc5c103135cdd446f62ba79440d7b4392bc230e43b10231009384bcacfc78538841169d6a400b8df4118627692dfbb31bcb86cdeb2734487d3c67244703346ccc21cd12e322e78fe60302047c435bb500663064023014d0561ba5538c2bfc10f83f6627e9535f6c4182a1cc1d6e5721b8c28728d0aca006c0ad7b5d80a72dae8d488d38ef9102307274dddcc21fe8bc2aea3d04b7d69e16cd0cd6aebde91295ad450a05c0ea00acd0203afae0cbb4b9d9b5ae4ccb25a69d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e950a0930149cde62634c3a6c6e62364fdc00fbb4a3020b426348151cb57131c6db61325ecf46fa6d1f139b4f7f973ed023100d79d11311b2ac1dffc47c95841898d1a9581a1a4372b78e83e7a0796f471a0419b3df38333b062bf0582efec362db4e40302047c435bb50068306602310094b932b4eeb282b6bffe8b23eb7ee17bdcd0b1aba697ce23495d4dd14f1edcadc6ad19725ba9989d3b5938ce026dae1c0231009b1f7fb9244abe279185a4ff76a1bcaab592d1b0d06393216bc70cc5354f87e6c5ce0546e17d29b8d9807f8b1c98e6120302047c435bb500673065023100fa1d1d15c966a2544ff0c96ce4b92ea446c96540e4a5e6b399f37acead829f21813c7012d8ef378c1d9454d6dcba369c023076ba90744f0b704e56ca57d2736819356144a0d64ec5a022e115a66da9950230448b0ecc28bc212bba49c28064e3bb7d0302047c435bb5006830660231009d42353e4330730bc4a820595c49ea22cb75784d5582046cad8572622e075ae087687016f081c2f2eba30085f8ecc63b023100ad8c5701e6cc6010f759c9a8580a70a82e2b1e73bc8fdb8a8b035c176e83ee325bb6751082b77532ef5d894a2542ab890302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307e2658c9c40b918b604706e11c51ca07b03a9e80f26c94e32a2453366411af0df76650898b13ab34b7ba2f033ef99895023100d1ecf92e0254693001f3cb71667758fa8ebdd6f7875d4e918add7de97f6844cadb03d9c7fc2e3326129b3892ee1cd4300302047c435bb50068306602310089d2bee894817548df24067ac184e6cdecd8b90ef9f4da80fd1e915ed2fbbc048590351278697bbfa62e3a6abb5b135d02310098fb6af7ac559b90bc7f9162970bbdcbe582e4d6c2b1aedf8acb397833d4b4787c2b2b85a72498a2d980c2314b3497b40302047c435bb500673065023100d30f77b3b798e82566a7f5f2483df4e188c107afcdac5779a363194339f9a8181420ae421a905e78dd14978adbb592370230118b1c8b9dcd4f31c076841e6dd8626486934440a77e27218154e7e26c90e242615c6f062d833ab0e243a4cfb33b25270302047c435bb5006830660231008fa220b4c794bd4b8ceab879a0e7139610b3bd4a80ff6adce0aed003d426267bf45a892d7aef586a8e8c35df7e416254023100c013ada9a5c44e8563d3bf9f8b224c0b4fb321da9f61f6a07b4b613ef4542d942924b8deb9f34d9cc3b3c0f621df9cc00302047c435bb50068306602310087cc64ef89b9d167d021e49aee76c9ef2c045a5fbb402933ba4c73a8263bba625bbc33d9a6910de13c4f715b57f482f9023100c2cd89514e6d409015a001e30a7f8f2a4106c48e2c8a77fef99e8ae14959e02a1e77175d221dd2b0e993623962c0ced20302047c435bb5006730650230143776d5ae20ce351d332e7dab5a3c6a4df3cbc553ed1b42b5a274bff7c868e6264eccd3296e62ebe6ca727ee104fd290231009e8509a5cb086700b75533dcf92659eecdef796a3ec282f56b1d65087c010abd21c3b14e58cc6ace73088a8fdf2c8faa0302047c435bb500673065023100a3d99f30e5b71993fc373af89fef52b4b3197c37224a15acd80ec96d1d0addde19b78d06a9897d64fd427d6b716d52010230181b5d7a709559b3cc08b52bdb99ca79c18323b2411bdcbbe3a6c0365a4ff23ac144afba53b2004166d924949aa03cee0302047c435bb500673065023100bf23f928fe4470e177f82669cc235b42d8ab0021c3899b074d28929949b8e4ce00c98772a5f64a654d557dca834ae89102303c0f2f3dbc3ec6dbddff4bab52b6eb0b9717c31eee8af66bd94b4dc95d869b62d5fa7ad1388936669523ddf228c1f3c00302047c435bb50066306402303011e7789cbaab683315a7d89d1263b2c85464d035a7d77635543b0d904911374e7019d35321a15e93bb94f7c5f5236e023021d3cdda94eb346df9c401d2c990da04845ace03812529858b0ec2d8fb5b6dc6f9394acdb1b9fc72e34f09e31cc1a5cf0302047c435bb500683066023100c053e72d1cf62eccfd05f00a2b5aa43f49e57890d037fa24cb901f8ce2719f7be4d0f954ebc20bb790372962e7953b6b023100bac4494b916338ddd4b6ba4b7328924549113d9066dba90c8fadcb77b86a800273cd2bd7370bf61cf0ff3a9fcac92d430302047c435bb500683066023100a7f175b565ed6040e570fd7f7282fd2a9385f3fee079bd1f2097e43908a37d395197ecaaad58e82eb185319b96c95195023100ef7f9d6ac29f13940eb842a43916badcb2bcf23a3148bee56046a70006a17924be53d7536211f35fd26873f7af925d1e0302047c435bb50067306502310094d4c64f25d79f6bc70381304b9892b249407aa5408916bdd8a9dd26bcafc7abd2ba6f4489dcd7dd50b4263069bb1a9b023061e91934e180677b50370be3623854590a80981afca4233b50d36ee96c17bfc3571a274fa5fc7fa7eb42265d994b5e320302047c435bb500683066023100b3ef16e3d78fe300f251919f3e4863b6489982c569b8128ddb813140a4e18416b9b093cec5c0fd7dc402cafa9a966c50023100b9e00a1a0a30b66b1e22243efaf5f635bab87dc193dd356b9018325805c6f6ad31fdad2460b73d0764946c1cee78093d0302047c435bb500673065023100cd2214e9729299c5d93153cfa79ebb0bd79a8053d69fa64f6b293bb3a5390376d1cef7809a5a5e2489c5a3168aab5ee102305bb67006a71901e35bf4bbcc3b76bd831fb6420bb6f542a4ea80f4782ffd9431126b570501858ee1742054ea64ad9eab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305c29001731543ccea2de31fb21fb385571ebda3ec82fd2544e74342aca68c8f2e1daedbdff2649527ccc24d0bac7b0ac02304c495da1074d93b9e064ec9ab84bdf146af99bc57c3f071e365ba88c3fc6f5cd80b7fded248f0ffcb97ed5d936e1cf530302047c435bb50067306502302db1a4cc16c78f9c49b320c1195e28d89e44ea9baa971dbec684dbfb7286699937acf161abc47a7032d4d4c58513c9b602310091cdd5de672a85d1dd105c253882fba8962df638f190b597cd8d74bf28226483ff117c4eb580417ea3217983dc989d640302047c435bb50067306502303d40374c91a5192dac055948796c537beb1cc5cb237d016d2a8c6c6cbeae1859a43f6f4a029744066c6d8624f402e4a2023100c42f903eac85a04e942f0460e47f39e252571f96811553a67ea73879c9a8e085e8f12e765305bb37f848a4ca580c70a10302047c435bb50066306402305ae7277eb395a011a2a4236f7205be0b4a0bc8fdda35526160c771b40fb85999f27f739493598b5c98bc9756cdf59005023050ebe45bb9e771c8ef778d9de80e1b2a177034dae8965903062ea1279a05bbcaa965bf9e8c37135ec8fe9fac96b9c75d0302047c435bb500683066023100d74e8b06bdddba43264c2bfebe8bfd558d27013d8ff997327e28c6fe4dfd3e9ee8bd9ed0fbcfceb62c8cf2d1a6f35054023100d26c54c7c91fc498e3f16a15c52808af6705cf3b37c03ef793be6df042478e174e02156199fbe7bcc8f2dcc4105597000302047c435bb5006830660231009b417715c1bc11da060fef00afa6507f1df8a433e073d4dd1f359950fd844cc97faed930bcc9ebc849f2c6ab5c3aa245023100d3eb18920c979bf7d438dc43b5b23b508c5cf4f054faa058ffd14fb46f3f050fbb4f16883264b87ed2ddbd5e8c450d920302047c435bb50068306602310089875c6f7162fdfff10f03631fda4babfb71c14d1d3cf2312583a83e873d2fea9dcbf6327b7d46341049c92b216f8875023100da90053918dd1e5334e744ee1a2104f43d36a3d1dd3fb7e286cfe91b14e3d64c64f2b22b41fc8f2172af971dded4aa050302047c435bb500673065023043ed4158b8e67660976045170cbef231ddf26590630a3ef6e975a0a1858bb34e32a48567a0b24b91bf13f7a0e23ec6d8023100b4aa14e61e0cf3e895c6c70dcfdb95e3546a6a3fbf8bf6b46540d27975dc290d096c3e5acce77dec5038b17414ad03490302047c435bb50067306502310087b871b6902b67817ee91d89b8528e30d2bc481281361c0af45e9d307dcfc339a852411ea44ed75e205e8e800777e35c0230580d0757c0a97b8a0ea9c721381c6bfe88dea443e6195b3969f00e5d4e3df688b462f6b7b49cd12dd975089d3469b9720302047c435bb500663064023007f7eb60aa3502ab297817b63570bfe66b305631766d4b9c6d60325a0587cb5aa18b285574d70c8c6db82e4f63d6439a023009f9b78b2e7ef34e3a35ce0c8812d51f6b7ccd419be58da07bcb64f80daefc6defd6eec9d48041e47947858887cfb0e70302047c435bb500683066023100aa43d9afaf5b1b6329d8ecb393a6d7b86c0a0e50e4494808155bbf9123e8a261c471958427e8c0d73a9c0f4e87ba47e6023100da3e1496800b41671258e1bf6658fbff9842351586864d8fc2257b83b203ac094dd4d407a8cb4c36c4b63bbc2aa81be80302047c435bb500683066023100f70da27c396ab191c8f6c9cde93ac038c8f2cfc0b766cd183d3b828400317794d29dac7b38dd46d72cd0470b40bd7825023100875301a9451bc884a16d8a0a94c6c8a972a8e0f25a55826ae3caa5495b011038f8334691bc0d1be7866689d67667844b0302047c435bb50068306602310099eea471b2b1474949ae901e28100c2125853f4ec9f83c8baf87ffe440e52376aee286eb49c21e788b0c7d65a2c63879023100f0ceb6bb30ccbea52f03ef11952e0922389e1271506b9fe01fe17171eef3161e5d8d2b42d6f4977283be287d3b6fca150302047c435bb500673065023100b46d6c05f861901a817d6dadd3320403a7404792eb7e2be832f094338739e85617c9227eea44f15e183fad2ff90b8532023006587def8e8c8425490dcfc4a6861a8e7100eb32122ea68ff51936c2596e5194e20c7232159e09f640cb4a6031cb2d9c0302047c435bb500683066023100cacd3d0a49a8553b30c01f1a36af72c4b333857477d91859368b1b5db7ba12cd944d7f548dd2300c4f8f7d69ec3a242f023100c0c0f68b2d020dc372bac38ee155cd70cd272e4d9c9055f225f583923cf0a25e7a9fc3590de246552a6d794b92ade1ef0302047c435bb500683066023100b031f281a40f2ce5b397c0bd34114e44c7e308206dd5459a6c0ebf2128b5c194678daa83cd343908e5f99437b1932d27023100c01b08698743f163a0abd5d82a662c59e6ef75fab3e43e70bde4ac56bb9a3854d5ea867e32582787a18ccd87e40e8fc90302047c435bb5006830660231008b4671a1075885af1967253523b25421c808e2a89476ade205bb2c0ee8d62954fa0e76a8d4c192961922cf4b5cd3b638023100b9d1d8fb5595040fa804c268c70f7ed3c7e6914badeb7c7bfe3e1cf3a017dd0bfe971f65a0bc5a94ad0a063fa18a5f220302047c435bb5006630640230322c24d4285c5006cdfe45adb3f5bb9b9ef6e2292cfd456709d7b00e1b8103a065903f45a37f5bf4d7c41dc4c4dd1f42023036b8d098d17f1e87ec50ae60cdddfba2af004ff6a6475813756b7efb39c6bc73c1d9af3462a97a67e4d29d260aeba7b30302047c435bb500683066023100ca6a4df1cff311a3f9dc5e14469693563095831ca4f689371adc1f18befea1e562b9954da36d7d3e38b1839c49766693023100bc9ad2d653be39c10320552a4608096a9af83bfc009d7c58e901fd1215eb634c67abbba9f49e1ee524192f079e9886fc0302047c435bb500683066023100cee6302726f819389aa272be2480dff87739a4c1964b41f0bed5a6141950e88f3e9ed71393b4134722d696782ec40016023100a6be590803fdfff5566330e7285411c1853258f6c1d2fd8b212c6b1b5afea7def6f9c3ff037f5fe1baa2c110008c532e0302047c435bb500683066023100c6c3d1684eed8d93ddaa31419550fab62e90c8a18aed841098c465376346e9f64ea2ad75d6da192c4889acee188bc4c2023100f63e18dc31ddb96a1bc17fdae91f5ef7c2b4f659e16f0646062a117c0417434ac5b09360cd7c84f3f6759adef804195e0302047c435bb50066306402304d45b229b19772559c8e344bc157a3af0c4491f8b7f0b5bb9e21ac1fcd887f26a26c4664e792d822084ee3d9ee60a3c702301007f31e218905d5c92b087151f67f4917d117b83f325e4cdda247535ea9f58900824a8d1056c9d8ad9af83d27d89f170302047c435bb50067306502310098a499f47a2502340ff0d7693205ad83a43c1845828096ffa792aa10d90173c5de9629320bd87ed77de91f849e5b48a302304e8d93e28cb6cf4bc841999654ef6e8ac0ff64cf4669592998f6df065765761886881e8815b04cd67bb739475f75fad70302047c435bb50068306602310088d536f795032b079f292d81302a9ce97e247df9629bb9d0555b825bf5980b360877a187ec8741570c923d7e41177952023100d79723509af112506a884d5159127e0f5f04e079453c116864fd4814a28173ac637e5e7bb46da7621904b57facf8bdcc0302047c435bb500673065023100bb7edc40be245328d7068eb4fa4f5587ba719e67d111788e73ad8336ca19fa56d8ea8d8f9b35a012d9b391b1f5b5d5250230757c6a5fdd2accd0dff26d1087d2921ed011c75a4f509a5a49d3221649f5efa0f94957db23d16cc51ded3608bb78f29d0302047c435bb500673065023100e0c03a88a64cc1dfc52a78d46e3f9441d91485f4190319d968d10e943396e8c4205510aba4194134f644fe121fdc1f6b023003f6618247b6ff5e8653886b74872f1310e1e2073a9db41c734fa617b956c53e01e86d8a2eac7373427234aa22c51d070302047c435bb500683066023100e1f42bccc2cfe01eac11a82999c6309bfa9ec100a8ea6fad0391961a56a65a0f70e977c76695e02dc39a1cbc4ee94aed023100a08e9eeb09777294395a71ccac5b8a4558d6224cdcbac165f7bc88500ca3807e74c3cdf18de4eee1f45be4cc484869f10302047c435bb50067306502307bdc4214a82e565ef3d35cebd0acaf85a5e36075640c1fd0a7a3be58b03ec958e2aadee67746956d576f2b1d46ec0847023100fb2b8aaee22f6941f54f93f66a236c113c136779fcb61dbe955e8fcc040b4c5adcefbba28ed319fcccede087e096b5550302047c435bb500683066023100c208299c2a54221fcaa8a83eb2fffd768738be79adcc3bdf31a11ff10adc8e7c1270e40389303ca4cfecda5e76f236a602310094b5449ef7a466ce47c5e6f522aa9568a96d202edbc7eae562c722a36298ac45a280680346276a408dd0087804ad7e6b0302047c435bb500683066023100a71c9db13acc9efac413c40699210b5614808018f225d1b97f9c7ab1e6ff2aeb8a939b7657b6a312e7c85cb076ebdedc0231008a536aea2698c65fd792600fcfe0a549b0d8bd2d66b69eac372b15ced492e1310b5f247518fa25fce4ecde48a898c01d0302047c435bb5006830660231009edd4c155a726495d01888364902d31b08f3393ac08b02bf1d56a8254e91db5f25dc8439c7bb2dd699f440544206f8b9023100cd0565d9b5450a7e8ce6b9f95dc1a235ca618eaebb779bae4fa6ece6607eba3ec548d1d8ef7cdaa24f914c78c0e539dc0302047c435bb50066306402303b869d062503402c27505ab988d226aec2aa1cc1a92bbd5c03732a08c98bc8a1eafc8a4cd4c4d5fbfbb57f10dd8064d502304296cdddad1fdbf75022cc733a90975de7ef937e87d08e2b2b293346cdb85c435af0fd59d883a1f9a63f7a49981f8bef0302047c435bb500683066023100afbad2f131e9a15e28a25ca63dc3f4b4b7b74e071a2768a45723ebbb61d179b1e9433619b9ebdcb66b02371b55a27236023100c9f4160ffbac402ce76f470c3bf0424f035c6d5eb22079632a2d931cd9a4441beb485b95d7eb3446e352e6b8997b2f4b0302047c435bb500683066023100b251d419cb8f9d7346b273968b01b7a9101f1a86ff89a6961ad36ebd5e53034d549b2890a21696026339b08fae62444e023100a57b5ae394d4e4e714f27702dc5439b2f178886620caaf03e9cae3840c4a807517270669da2b298f9304f535ff27cdf80302047c435bb500673065023100aa6c310c50ce75a2decdcedbd5d65df55d2e568c6bb37dc3251a3c2da86db2efbffd7b6a8034aefb3acfe2183c1e46d902305648314c8d3fefed71192661cde2b28cd4e7935191bf2c5c8d5ecd85e3f67b71ddb7767ccc393efb569fc04e5758bbfa0302047c435bb500673065023100fc81dce6ffa2d2a8245d79bece55d2a87ddedd87f56ed21b68c879dbdd9c9e79336d241997b16bbecb0b621bf631bb1102306c7c7ac44488793c3b0855bf2bc7e37be4f148745fd04dcb9af60b6da0384cf83d627f4ebdd4443c6b3297143a4827ce0302047c435bb500673065023026a1e5c3c39d68fbb5870c76feeb9ff0ee41ea6a6e2ffcd345d5b081d49ce2a2bbcdc450f53890de196f96b711eef7b1023100a84524d7e918d363a05cffc85dbbf59c83e4c20ca716863977ddf426f3f506226b6ee2e78a7aa17cf8d80c193264e09e0302047c435bb50066306402303ab043446306b0399858854ef21b69e4a35347e45eb823deea7e4fce6aa0630789d58b4dc57621e94a348682204bfb3e02305bf2fd8ea940c1dfa077f9a9645f300e0071767e4ed86cdb33edf3531ba558be3d4b12f180ce55b5258ebbc307d806840302047c435bb50067306502304a1943d48f1894f8720c5fb09255c1449459610bafe0290d70c5e418eab8f83ed64a4c4c7ead3bc4b16d3a3ed28a7ba00231009a3741eac2735a9a620e8b3023de1d072e9b258e8437e5a59ae1382236be9ff46e2a67e8d6a4b9e411e2cbe5fbd912cb0302047c435bb500683066023100a65cb4de57040737caf681a7dbd7c1e1bf4b773b921074caa6cdce07c0a9fd31d2e58eeb17ac4176079617e9cccea55c023100ba912733522536a8cbc6b8617e3941b3822ab30ba2e35f5148434c87fbd6224d4e4e7c643fd2772b0ebb1af4960cd87b0302047c435bb50066306402306d9decd34bcbb0c2e8c3a742e365f0909ba58f3ad4a5c444d92f9ec524c611504fc3905cd5ec41550d0af7e7bd02003d02306438731e4af2e7d94fa4965cf652fa38dff03144c780729441ab3a835e4df2d4158f4e28e7d42a7429b9fc9898f53dc30302047c435bb5006830660231009d41714cc1251336243f59762cd4c92c7709ade79ac0a319e0aab446ed9bfe47b172b299ae7448d76c67e73456f840c9023100910ee27f9be3beaf0490ca8c6565c8d92d8485a32c8a91481cc1b69a4ee8d853197a8e2ce53c494f4d1355d74c3c26540302047c435bb5006630640230577cc072e59107f709b3fa57c0a4c7138c6ed0c47064368c980b98971d45c837a1d26f262c0eab5abc1bf8db12f3c00002300095928262a25767b75d4a98b871e88e1a8b9ce1add0bec5395ed66861ab3c247838119a353bc391b9d434f890de02490302047c435bb500683066023100e88b4c12ec6f1703949f962ce04d269320518a75c56169eef9c5b155728312c547249eb554ab1847bf6067988b6bcad6023100a60c2032bfa82dabdd16a5d626c308978d748a3a2f003b8ac7a85a94011306963781f3a0cb3bdc0b0adcd70fe0bfaf1a0302047c435bb500673065023100f9abd6a0ae4673140129edfcb65f2f0aad8d9e6531c1b5c73b46230f328698ebc3afe124d1198b472178fd6ed600422702304654a0c94651cb6e8e89c0dd67f4e627fa5795ec592dda13b9846db95255d73f119ae30313a8c84c5060350acaf028880302047c435bb500673065023100c55cc628bca77953f1828dbc1ccb11e317048e22299948da575dfa2ecd0e788459ac64c006c5588cf549f3aaec8e65c702306bf23d3353dfac68526c61fa9cf9506c13a484bc1dc99b6b280900936f07675b77502fe8e445392dce96b747f4cd00c60302047c435bb500673065023100eb8537ecb896a7e03eb4f13601ea269165d05507fe0c6c8bd675e9ec37ed3c22a5806777a653511b74bc3122262a7b6402302ce8e8e57690a0e692cbccce5852c2cc4d64ae94863e85052ff6c42f43a14d65b22571bfbd870ed91488d900bb4b3af20302047c435bb50067306502306f0d684be961e0d82b10a9cb711951922fe72e503bd64a6b52557ab20197ab594109c24ae25aa3eb1f802b0d1d41f742023100e18c670cb5e2d8ae64bf616c63b67456adaccc300ce429bc16bff3175f7b4e5c35031f6c11c5c431a173f871876b83cc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307013027dece15b5dc119c4c6d852f084b21ed2e74aacd039ae6abaef4e6915022b1a1d9cf621fda4e442c7eea2cfbd870230642ef6443c96c3945e96921e66dec599f966a4741117a88175c00341b07b33c8354c954be4de1eb1af23a20e7a54e4ec0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023001a1519f30b7d7d90caf4e022ecef0e4dc783d2872d0365c34bfd0bcccab9864e0eae6ce7d16732007cfec4ffe924751023100f04e44c53a955fc862cbcd50ea7c93b08ca34134222feaf2335ba797127db30df26ae4a6a72eb39ac9043e74c3e4fe630302047c435bb50066306402300938620c229b2d2965df77b34a3d512d7ff6900a5cc2188d2fe16387cca3c4d01fc01063cc8b30dd93b3d1390d6bb3780230522b4934b922643af930780c9b860edffe7addfa7acdeeace0186c9b55872d93951b7b96b62083032dfc30ec2a5bb19e0302047c435bb500663064023009864818d1b85f8d0af114febbfa1bbb582086ccccb7856168f8d70c9295ae51bca3b82ffac67faaeae5862bd991e02c0230712e2116041abca05311d09627ba129892bb51907c63011f70c304da5c1f9722231f56feb8edc287130c49a0e465bc590302047c435bb500673065023100a6db35f40b4a2bf8d931dde3d590fb7813caf4943c1e99ae990f910058b974173db97067c292db0509183d67fdb1c76b02303561aba19fdfd4d960d88b95d2efbff0f021364bd21aa1502281b722f988dfe22bd54ead8fc1027de67f1dc2a5347d9d0302047c435bb5006630640230775fb7effcf4a77a27e60afefeab4be081dad903c8ed48ed62669a1deecfe64e7326d3ba704e86ff534eb9c03dc954cc02307ae244baa77953b93db475c34a4e8606a3004a6db40fbef260ae8d428d0fefa7dda372c8dbb1ca542cf012c19c6ac87d0302047c435bb500663064023046c6a580428a3cd7ed301d0a93391d0d4161756d332fd7bde2361c115631d882f8e1652fcfe0cdc7c0b9446a553f11f9023042aadfcd3782864d06a8b037728b68eef9da83be18469da5828245455f6d78b0a5b83eb412aa807b3a3d2b2a576e0f7a0302047c435bb500683066023100e57141cf461667f9c8734b2f9aee282f9bf14f35b461a194c23b35dfa4de43b81515d99b85a2a0ce7aaa45cb2c33bb9f023100a1488eeac806fa5a08eb3ca4fc0fb15e79ed5f805fe5a687de422b4c7200188d83ad3776fb1e9a1f42f5667f6e1a1aee0302047c435bb50066306402303366751e0a51d4dbbbafe5c29987270afc797c119036283729998c232eee21095eeabf711c931f535945a36ae0e579e90230530f04e78b19413613654b8fdc10caebdb5bd0a9f41d88351ab5a80f233563dd41c9ea9d160f9380c5c45d87d6c6ed930302047c435bb50066306402305a2080459bb58078fa2647a6259cece95c2ff3dbd377dd31b8c1a5149fa9427455f951051dc57a11dae39e62366370650230077567d8cb0409f44f1e072559bd74d98dc810aed45e37c3385fa3b9033e2379a473d7adcac7191b333595bfd467597f0302047c435bb50066306402303df16899af05c7c7a8d3ca5a535b15bedf9360aaf7ea328ebabf66d138f8e487539d28caeda45a5a903ea39aadbe958702305f6d90102764976666458642b7be8c9c60064bf1fb7397e33c0e5158af683f9f98037d47861af0fe51978e5e3629e07b0302047c435bb500683066023100e811b6daf32c52c17beb45f376c3d75a0e8d2be9f8a9e9b41d2f4cf19fc2be273c5b36a860eca70e28b1aef85f511227023100bc4fa5ce18bbd22612230dedbc1c4aeb0ef9af149e56e0888c65e897c20759d77cc46933d7db20a2f35fbb8a7d5edd930302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e8f8bb2590dbe0799c9d1931559ad6098381b94770e5c7c2073992088b05d1a97267b7e64672b9ae3ff14fdcefa4677802302982f11ebd02319955a3c21f73838b81f81d75c39a0bf0071665167fd59093033a0ff9c7305dd1b616b17cfe4727410d0302047c435bb500673065023100b774352656892b015eda32feabaa54dc56cfd95f9d3296ec1f59b2c6baf1d5f374bfb35b218a41e2f381150a6e1fc1a002301aa9153515ce2026cf2fb33773736c08d454cb63864c66d403c086b0d6e9522e1c9d999cea04c184c8fb59583e86ec200302047c435bb500673065023026de9d4845b0ff82f81c6645db656d3166448ec58321b1241d2fd6c2274339e1e2429258634216af356c055ecf3b6989023100f392ad6dd3d099e3204d4f0058a591c1b16e4857d4ddf53a3379fa92b26f277705e411c2e0c45f1cb2fd79834b85bdac0302047c435bb50066306402307cf50546fe7d2a2882bef9f57f601d60643752be814da1cae01ec7eb6341c44dcc8e6e258ade500935a5ade9db3d186102307066db60e7c0414b98365301e686a4936dcb273845d2e3d1b4848e3569a87b3e3d097904919d26fc1629b5719395bb0f0302047c435bb500673065023073c7de302bbf728132a1d200fa6763f642b77782f2abd348d58b4e4f0c295688f20cb3cfd8bd202750e1c8836171c41d023100d9737fed3bfc48311eb548471edfc9766f10508bc2a71f5d37cf8a1ec2ff014d3a29fcd5d5a5d5addb422e9cdaf033410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d05170c5c6deef1bfe368af0fea944b8b0bd80cf6ba2cde6b9947fac1965e757fed6ec1af6747a8362d884376f62db9102305833b82d3dd4443e07dacb1a42f267b4aa8852ca9fd840f352a3f59f8b12d8868ef0dee9bddcf413d87d8172a87b17cc0302047c435bb500673065023100f2bb93de853b40fa1e829b213a315389452b26baca33aea2d141a0fe4382b8fb100acc6baedc9eef6bc3d66d7fd0b7ff02300a37318bc30faaa61a297ecd66b879050ef1a416a24653ccd98efed1888b61e553558bbc19356f00845a30cb2d7f40a00302047c435bb5006730650230253a494249faa1ee6cfbce295d4abf649cb2b418592f36651bfd961683dfced3c108917ed2a5d0d19d8d79a6942004b002310099f91df750621a46fa60e4f6a1f500d88ef6e76836b220b2adefad3b9797a1361f0e79fd35c6cd6c141f7810f2f5181b0302047c435bb500673065023100e5e9e3808abd3f11ff946f6a156faecd6a4266d2d5146946ca39ebf882e7e47d295e3206e16090e5f666f309d93aa0140230354aecc1207c8610c245a1f8f53b526b3f5e2e7c9ef142d87853d0f618fa994ced8bbe0df83eeb65cd0102f94588fa4a0302047c435bb50066306402305ff777b51953e9abad720ec00846cb8d1992d5401802023f75f45fbb47a0c5867819d59b4bf3da8acc5b3800307da25602300932c809e1362951bc136c250697ee741eef46f7d5a7cba60cb49562418fd1402e46f1a5fd9e79cb690199aa28f0dd070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ebef0da4de32d49b1722f92ec467120078b49e74c5fa2f9ff7662bbdda3f52968648ae5ba1bd8c6f4ba6cf24f259cf210230198c28ad4b361c7c73a2e4695748be0b84e8de4016db6588e36173a81b886c691610ca67769721f8c229353cb3a0e8e00302047c435bb500683066023100fa897e9fdf62dcfcb5d156207dcba4831288e396096d40ff4539b7209b846b21de0737d40211596afbcb8bd2e616d170023100c7888f9c608e955bea27c319b3e6c5a9cb69355680940e856b953696b5f69af242f02ac7b860fd6181c9a3b05dd3a2ca0302047c435bb50068306602310090ca69a2160d915e1a260a631abec7df3936264dbffa678400ea1ad84e523c42ffff1c10c7d445cf65fe34c9e4206b52023100a88b4afc141c2fc82ffd372aded831b4a7db00a689e7a622447049c1e59135e7e8f3a2cc648b6a12848cb0484f7404e90302047c435bb50066306402304b90e9ffbf7d6bb9db22d7cf06b504abea361f15b89893e6c05691af7ff513541bcdeb75362c29de16ab8cc9c63b64cc02301fa60bb9f373dac003a54f144c6ccf102309fe65ceb87515c844f26aa5bd47b5731f670ddb89c21a935d36e4cf1285820302047c435bb500673065023100a9047c5ba706787cc303fe41617cd714228f05b1ff968d4ef79d38e2359bb12f3f76453bed5e0f86d037d9da0dde961902304823e0d4b6a9e9415bc98192b28c1441f204b0a854694fb82c33b804e1999a227c9bb7c434e66daff99aec514b66291c0302047c435bb50066306402303c090527daf3fd2cf32d115078e21a38c84b0b62b1955ed813b4c8f2639898314b8d65aef3939e907ece0a931ce42489023068dbfe6721dd47da5a152b2143d9b0d700bf1e26ad49491cf124d7e2a879cf9f15d8d719fbdfb8f9a9b8d11a7e1872c70302047c435bb500673065023100bfbdf4677a2e2988df75b99d8d593831ef2ac3d1305021068e55c3b5d29c3dba412d6a8f48cc4b9583dcc4922ae0cc05023012b14b438e040a25f6ea8360f78b5d05af4da6f479d076dcc43f8a338d217686ddeba01a048232d074c33d4fdc4317600302047c435bb5006630640230493f8375c0289c11fbdfb200a7bf5d5fa4c51221d4e38df1b5b5274a4db2d27444037b4565be5e10605342636767a9ad0230424129bbc4fe49183580dd08d9912ca44f596ad507fc43d0c09e6c64d9845214b1e2da747e1ba7342eab23c3160bc3ab0302047c435bb500673065023100cd22ff0761bd2f0c27e5cc09d74b6c38abd5a498e044541531d4f430bf71a85ca95825f6d37c47f057f06f5afcbfc27e02305d1b5af10d154f17b6f733b76da65af68df36a838251d2fbfa746452f61efac1e5ed67649a41725a325d128edf3aae0f0302047c435bb500663064023007d1b7a5e4f5d635738d52a7b2374ac94027c45bc07d4f498e1b0bb87fd760b551dc0262428c4cf57c189edf104a533002306200273858b8ca50839498a6b95105e7024f9bff0605a46de6a8da76c27fdcccb8ad9eb071a02c294ece2ee406d0237b0302047c435bb50068306602310082d76fc803808fe6776422776b6ec35656708e752beb9c4c936a34aa915fab3681e18348db097c0ff004332a4bf20241023100d653ffa1d4f62d138b6cde7e58eb96cf5cd1a275d9d4fd50537b5672188c79fa887d0df91128d3d7c2ff029ff0a0f19a0302047c435bb5006630640230416d20927f342a3aee360e78a226ee77c6a4ae8a0c97dafa090d4f1e09cfd1f62d5386a8232ab76a18fe97949ed594c002302c0e5e65b69d1d3764a1f734ab9e1eff0acd1970c4a8c8b9c1a245afc5859743cba51d3a00df82992f46782372d2970a0302047c435bb5006730650230450bee36162b82f79d9456354225b2b68752a2dd81678eef2dc548f2b3b68000a23b22fabcb275b749203f78be110a89023100944cb6162c3eb2b9118076fa752a2a6628098d9c84d6a432974b00f13bb76c862f0409979f0977e89b2b0e1e066120b50302047c435bb500683066023100e61ef70de2416adb85acc9c03e1ecc439b78c0469269b7a32b1a3c63a33b7f4e9694a8b3f7add11ade225edead656e66023100fec4032a3e34f3111c497399c79c052e97e53ba8239b9b4ed0f0676252a2bb471931b6cfa1298b8f6d20b2370c7425530302047c435bb500683066023100ff3d93c99a605e594955bdd3064cbf608d04ac147f900265d7ba756c4d8f0bd143d19b1404798fcc750fdf62d3391445023100a041b8b721ee6021f4e3fffd18d0cbc1cc0fed1136d515a2f355c989974f22ad754cd012bddbcdcde7d8c73b438764900302047c435bb500673065023016bf0e8e9db51207f5188e36bd80c998c0677d83bbabb8438dd06404cccbac11ab64aef1884cb9b7aadec18a010b40530231008e86f81aacbd5b08e095e46fdf89fad0bebdc4272621bd285d62944641f91989e797f319991fcbf8b217bb2f99af38720302047c435bb500673065023100b10ee367f1b8a9e08a00edbf4ced14b425ca89a6861224f694b0b9a012757218a2e310b6f6f30a27569331700c938e750230161307a219617e1b606940a42398f462aa7dcd8b8661fb8adc45df59637a75a548ad26729cf7ab35d866a15a8567082e0302047c435bb500683066023100bfdf73d760be816b0b5b2546a39c12fa2f3aa7f2af1b942c496899b07222b05ca10ded57977cfb7df775d37872ffc4450231009aa40c71cb0dcc23a5cb786838bc5cd9b08bde7ed38346896a2befcf178b6d4eff814f86c6d32732b7e226af75681c390302047c435bb500683066023100d32802892a101f978aa4e4a8fe26ed7551c7877e09be69899b1b22303264148e0aa282d5dc3192d19f4e01d06a6d9d99023100aa7f7c962346d780d87db5e949e64bc2969b5d0a741be3560497e9827d1b467a409c5a17abee85bc1777756cfc3911930302047c435bb50067306502302cc9f160340c0ce1cef96cacd3432f2fd0d4543e01ae239d5fe155e8bd73af2c621817c5e935ffd18a6e1b74f388b957023100cc45bb097ae631bdeb57d6aadace3c5e0bfe9f61ac1496b2974e151a5e3f14434eba160a601526a01b9d66eb8dc22dbd0302047c435bb5006630640230178dc8aa8399e44362422144f4f831c8b25fbdd5d9e50a65919e181f45f8d24072d72ab041da7c6cfc43f98a81561f6e0230175b4adc47eaa6576471cce3f5c8245b097b15853d1e8dcf2cb0fc3e7979bf5b70e3ef8b0ddc2314f16b175778a67eee0302047c435bb500673065023018ceead8d95b1ae8c8b22743225b48da130ff636e95ca46c6eb611c846f33b7c4f2af382980404f40b5fc43594bc4b02023100ecb4dff02dde0c301ce3cf871288e741e7204078dc7fd7b68432bd57b25b5ea10eb1bf065a1dbdeba760391496f951130302047c435bb500663064023032d2dbdf0d8067acf0ae3474388b0b5d46b0f3c16ffc45bf282a0bf094b36b0c47491e266c127a14da3f909605aa3cf30230034fae3ffcc72968c7e4227ec56fa3846a53dfa8198a6056f7e91d3790d78d96d2d9f2d4fe2fa2c997118b962d28523d0302047c435bb500673065023027cd73014c6114a4b569c1e939fe2024889db93bc932991ed2ceef70cc5a475cd469345ec87cc8f28580660d93b91b6e02310086b24340c8f51673a7c028cfb36e8fc13797eee0572f6e2e58f1ec28acd5f0220184a7f6471f76efb02407c52efc2f420302047c435bb50066306402300d9012a19d7be4d5dbc18abbc7978a0cf8d7d9d147517eca8f932f7417770d2844683ae3032a6526444dd3e50b2c4aa802306ec4e06fe6208a2c8ea54d06763d8097839b494ebf75fb49fbcbde06c16c6087c7aabc78ee3dbf7f59d13e18d0298a820302047c435bb50066306402300bf63329f8a6d7d350076cae50072a0b11a9e08f0f83ff261f7e149aae953dba1f01ea52059f917bf9f6ffa368bdd87b0230223bc0696077e188efb3a3a8916c6d6d858c86890054abf4e25c68f01e6fe8c28f5d8ef17720e20fe1fee38cea05299c0302047c435bb500673065023100d1482ded6f74798ac9c7b6a97912dd64b411c9d63e3b6028f668b5d7325361ef935a03a9057342ab42700a7d33d016d002300659345bbdf81beda5f70080d038a244c80af4b8376583dfc1b3a116c2a9c5f1c423bbb735710c08970931c4c149022d0302047c435bb5006630640230173a5fd351c05cbf74ccf3d8116b0205d5e6b50dda420c1c08347fe223a442ff8b4f900f8994735dad7e0405280bb3a6023005dedc06e2bc8678ee824949d813b7b00e8cc5e156d15ea92a4d7400e214a200d7fd264c668430db106a49dc1b0f31100302047c435bb50067306502310083daa3e6d6e436cbbd240f1d8bf8573457be4df9706fc0fb114d4b04009f8223a73f3a75768941fb3b71dba4c80e29430230286947678dbceabc3816fdac040244bfd3fbfd51b08b8930a603a1f4bcd54aa14811febc013a4bf0ac4939f6ed7c60f10302047c435bb500663064023072797c188578a1adbf8689e7ecc125e6514c32588d1418d0d067e718d01495a463072417343fd7363dc918759ea1dcd902301f629522a78d520e430626bec4fbbad54b307097b22335d3da3c163e369060f0e43419a4e72cf86ae1813444406abced0302047c435bb50067306502307fab87e51fad02fc6d666297ecfb662b08fca5008920160443ea07c578521d5c116fb52061fa677b1421601dd7c05e9c02310081d607f0a30f0101c4403f4c504c39b85288d12beeb660d754fc2feca597daf06d87cdfd35e3e916f7b3ba7d4c288cd80302047c435bb500673065023100921ed73b55c425a7357e4c0a4f91b4a64cb4b5e746ad18f2fc46578e56c74cadf3b595166153383c739bbefb957d7a8502307da2953dde045ab5f2c4a4e4903f59474bb49ac57a626815aa0ab0288130620efcdee6a1918fd7455c25b6b09fb73e5c0302047c435bb50066306402306508b69fad01a11e991f86f7b9fb2c5fe007ed4c5681e4ed9badf87f87baed31bb58905a8dd39816e31f663aae6ad88302303c973cd765575ad51c279f3e4b116ad8cc3479f633f377a155daac24d55d1658fccc23d4d81b70429722a5823f4e6d3b0302047c435bb500673065023013eda6c33d053825ec4278deb5c0db3568cb9ab6f40a2e25e223c1326a88f00eebd82088f44dbae1b045629be013576c023100af2189c37bb98995545427d81b30c0d142ef3e8f415616896657e7b7c93672c4dd12d77182d5c03df74f3dfe9e306f770302047c435bb500663064023030f050aff3a3374d3f8da57e243dfddcfb2a6c5f23100b1d4d1d88c46de20f2a1ab22f8d5c7f81af23400c0201a623a1023073c4d608c1115b563852bbb2f60e917a87bbde80bd90ce1cc7212aeb5e30f2d15258e4b126ad5406fe30ec5d115f19490302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d7c106a9a05bda41ee9c02527ca9e518af0a3db26f9aa3a6183ee1db50045726393d81b96a33c905a2eca3c69a2a49ea02304085364f69964fa9fa0e8691e67202f1e76146e74549e55e9d413f9cd8e273588e5ea912e4d0054dae8c0abc442fd0d20302047c435bb500673065023100b4a5ed4e246196bd5cecd66202f07deeff1cc669b48bfa79565876f09b9c32e57556cb0a1d02e662dcdb821f758b415d023071420befa05ab4d1f515392357e7094e2845e7bce131fb6018645ad934927e6deb45f21e1ad0fd4d0ef85128e6b599d00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300c31156e00ef01f407e94ee1776b77eef8e805b054c7a29d950199796389dd16f5d23e4a5b589c7b80ace4fd9ea4ee7d023100e84acb6294f922141ae14d0c81596634a6f0e0376297a395e283f918b1f0d2449013ad6aa56486884f2a6c914f4169c30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b8d93386cb5d6efd4d47c6866d56a4d7c5a8b570ee052393bcc54cc99067b4fced5e42771b7499cf9a176768481db99d023100b6092531952ddf5a2efa7093d7377c891612dddb11a6d6967ac2878699817344dcd87acea9d8e9a15a2a19f8382ae59b0302047c435bb50067306502310082763480a76717acd36ad4e1abc30ebd0155afe083c4012443cbc4f60b91c9512711ce2f84063e7d89beb580f1950e6802304c702831269c9a865bce80c190a55d9ac4d22d7c51900415a2c0f1101ce3af9731ee797b68a53210bb1c82b99a7fccd50302047c435bb500663064023079d31763de3444fdbc0d05638d633353e39c163a78958376f86af45b291ce945adbc1bc18ddf335fb9b4961dbebc49fc0230744610e206be0b85ccbb0f7e36533740265c42a8508fe3685decec06433d539c8d12a6c5585774c48d4f7789d3baedb80302047c435bb50067306502301e9482aafeb43d1769363832d75aa8cf8d97bcbc4237fa28e8e8e5664d5642a5458c541ccd19bbbcbac3b3f8ea29f7f2023100972c31f29a7906c2993f0fa932d05343216a6b7e01a4c8c2c17ad1bd1f25d273d63288b5178a619d6b82b5bef50cdbf50302047c435bb50067306502305b59f7266338b2558c65e46f1668b19c5be118ac7006b708104a9552b7ca3f1beb99110c5a6ee0755600767c12fdce060231008934beb5f2139535f919f8b24e94dc39a5f38164c3fdb34e04e92ec250c095bd232c996c1182b2b05c3204cd6f26dadb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305487ad51d1f60e51418198317bc9a830d41a0b3ff7be7096f04307e4ef9af66bd50f351abda9288053365d3ec46eb327023018d61048c329fe8ee5adae8c3800ae895a5d28394d55abd24f5052654985b51824abaa3750813c17c598dbdfeda3d3df0302047c435bb50067306502305a6da64244e0c4b2d21c8deea361502363d1cece69a6c80e95f667af6f8d8041225557c1780a72604ec28834ac5fa6730231008184624eeb6d0062e8c053413703454740d496a8182dd817cfb97829f0c680d1e20e7d392d94e5e289d8e64cc5abd1000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230027d4f50044841651e67c3033091853eae8504a74efeba0de944c7eaf62a1479816b636ba584cf0e56c659b00d558ccb02300781e84809cba436bc52658c6c282e6c6d83c5ccc774ec2325d232032d9e157efc160c76f4d52e1d777a4e94a999aed90302047c435bb500673065023100c91c032078fd091ba903cd978ae5359e49441e0d492477cb84e24a372aa72a3910cfa6fe076874e2457042c2427363400230420c463459a27ff5f71a80d0a792ceaa39514e9c7da444e1c80cb6349ca69edc89a7f92e936ab0426e056d12992198ac0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303bfc89f12c800a2e7bb52097ebc77bffd0ff283f6753a1d83cf186b07776de0623d841399e19f6b4215a717b21358cc002302f59c84bc6786409359c02a93a40034d4967004a2e0f529788d8bde615966cf32b5bdd11d9840091af75fda24c44793d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310088d187d712dcc181b1f5c929ff469cb99288cb26f75faa8c03ff98aa947bb2cb9ee7b1db043e59784c91ac394c578e42023100bf4107b6b327cbf38b53f6341fb24c164cf3613a888751fff7e408993d4bd469cb1f1adf6913fcc29dbff9a232ca69170302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300e6a1df922ab66551405b1d6c9332ed9906af8498008b0f6ff8c206d6c2840d50d51d65c938754dae97f30a21af63630023100d701172bac0f5cf2e0010f8966ed2b19a2972554d986fd42e67dc2464838ec712109e803a1ede54979bb6617dc56be420302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310094c6cf5e8ba67cd2a6463eb08f9e0cb26429cdfc68911cf7adc8e5066bdba4194ac2339f569f5c2954b0df55b27e990d023100929fc05cc0d9635c498843213e591b68dd2e884d8121ae359c5dfbef22ac28ad486b973937b11603c05d6395eeb29a660302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009d41ed39ebb9261971b01914206ee5582539a9dc60dac956962b918479a065b230886952c7654849109e524915d151c2023069ced10626c6f659492cc2e943b4c47075970d84d4378a1415628cc1ba160d31fbfe43ae7a296c7e761a5d0adf8d56470302047c435bb500673065023040603c99424c755947f3edfc938cc87e1f38b708dcc1363510332edea3e1c860dc0445669aad70f8b581fb160a8ed670023100d119f78d1b34c85191b748f4d5979bd6cbfa2edcb66cd04a414c122ca03aa9d68f103b1b52da1b4235346c26bab941cf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b669cbf101d8faae23bd05d1346e805000830c0afe7c560c9158081d2b136161bd71cf715848058b689608b86a0e264c0230202d7d5a0ad0300ba387b052f242dee9fc9bdb55da7e52dae9a0fc81e1c02156dbda31267cb67a992e18e0d4d1fe2fd30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230375029bcd275dc95f1d9787a5b0ead65eb98d636f0aed6242433ea139f1d2e24eb50072b9184f064caac16d61111567102305ddfef26209a5637fb6a2e0b52847461747e10945183e0eeef166e15383cd2577d48e2dacd1f9407b8405af658a16c380302047c435bb500663064023037ef0e7fb46b4b83a5c0bbdea345966f3174d8519466b82bb4c8989e3d0a16318e84488d5c7fd246f1e57a46c235c913023015f985f129603d83ed0cdda322d3cfcf073729abcce8ad6d751215545a5b9ea2f7f43044475e1f4b04d1ed4bd3d0a35f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305f9780342089d71a8c4aab4bedb6262077caf44a3341689226b611fea9f2db3780ff0ac78f8ff0a9272ee8445cab0965023035d9fe9fb6f4e494b3e144aef2948512cdd2bfc55e3c2cf97ec1821b587e681bed1b4832280904fb8a8030f5490c43860302047c435bb5006630640230737c5474043f52d6a05965e12005c13f558899635756750b5ee3c721f96b81861332798e752fb4ee15b5b404371efbec02304efab506a24c35d8480a316c0c402afa3fe035bf197db6189473b2729192dfa7d1f9485f766761a24bea93a9480fdd080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b502d810e3c4bb388549cc9129bdbc3dbc36b245fe752bda946020c4a1f2ac5f91bbe71f1cdfd859d52f9748cfd220e4023100fb6499d14db24d0358dbddd3e162bae786c7d42bd9cc8ed080d763ca95bca6648f30ecf637f4cf2ed41a310fff0aa66c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fc7d443a3e83256fd080d9d21a078ce0899b9442dbbe5ba24c61d7ad16aaee37c5744b6179358bd4fdd1afd001bebcca023100f76864c9c85a2671b4871b2250236819909a045770dbed03db9709c75fc3cf812d732981bb673a4e14c6a1529d3e64870302047c435bb500673065023011339cabd8bdc92c5c74c924c9b835bb24c31e5a6de142b84f48ca457207eff1f1d836ac3c6cf206d5c5dbfa28edbcea023100c11a7201a960c3e0fcbd358720d7238a596afdfa76fa3692e16f7cb7adc755798b3ee9ae08b7297a05c245a5b9f8a2550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fe17e692c3aa79aaf576f051809c06d39bd38880cecfa992684ac4040263ab8ebcd93acc6505f29c5ec725a712561c71023100a8cfdc203c07a065ab018153657c8fa518064bbc64df050657e6d51caf8f22f85db068a0aea3208c43690018e71871440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230221e7a96606f3dec66ed5d21d92e4fbd7aeede79d562bf5265f5413d0a2734dc048053a465588764538c15863ae9ec77023063c333fdf5f2647d819aee4e41085d9e63f1a6f0466dea2beefe7f76535d3be2c74de449f54c7399a7bcea7a7afff2250302047c435bb50067306502304d073c83983249dba3b1b70db4e5c46224ac077544d5e556b594ad6153af4f33a38fc8dfc0b633da8abfe5e43e0f3f790231008e546ce696de6dd3fad83d28b332c8bd07aa091e5924cd903b517e06df44774ed60a36827d37978aef0bb31d509e39010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230182a07d0e82bfcce5fe0b9465e92794d58ee75d33974bbe2e6bdeb038f8c5b38a1ec4d2b7602a21e72827f570cd276b50230189cefe06e905b0ad71db0458df9b13685aa052945f1d8bff495cbb60ca16aceca611d06caea4d8dda6b6c1296dae3e60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ed153f120bf68606f188aec36a8b61ef1e29c02ad950fbcd7d6a1a0c65e4a9215cd9375481810d5322d73cf96a64041e023021b5465f0958cb19499606e7ce78e9d9024556b573b166440ca21811e1a7dbb983239a88cc187ebc518fcf3e14ad7acf0302047c435bb50068306602310090facf0b7f514ee75500a68079db7663a55e29872dfe40b426a7317da96def4fb950dceac8615b0a8f5da548be8fe861023100852686661370f22ddc23963e4ac4513806ad659dbc71b089a0b18383d5744873098655dafb64b983a57ef1c942ca59d50302047c435bb500653063022f1136f84ed2dbc29ff90749994bca6fa095f6b96ae0165ce635b90118b635b134604aecd09ce54247609cb0099f85ab023069b2a546a3ff6b140fc5398aab2182496fbdb267d988b7720770bcfe64d6910a3844591b987b0f30489a977204e9ac1e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100db160483855993b73bc29a2416a42dc1642e9fa5fccfc297aa96636a4e10f69b9bbd3ca522b677b504bfb5e3b03ffc5d02300704d0ed943d66e983b593a41c4146dc5697ec6632c38e57735ef4c9ffab96a596c3b54cae122c86f4298dad705a812c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300c7b41b753a66f46c5c7a7b17cdd464429b8eaa8bc709855cb29e202b89a13661f02b4281bad2c1f638cc2d0c32180c5023100a382dfda5d32a52c3da0cf15ae6baca22382e81cf21d1c85b6d20bd5a4e3352e86d4413c4de254010ebd33e92f60de660302047c435bb500663064023049c657c20365749ecb1032d1c1bf880de87a44bbb9944a30c1c6808abb6071d5e23941d7f0d794bc91ae60fe8266afbf02300a431cf5c5667af252cf8189600c937030fed90e893e594eeccbde153b2c6bc4f7da149c828e3103d1e1e7dd3908d3d90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d9230882b94c80baead85ac8fd55a6b9e800cb60c925ae64e584fca6cafdd666c0d47b3d63849326348f6d1ce049ec70023100df7346b59120c975497d6954a725b60177d0b7ae9c734682b3d528b1729725890ee3e3043a9c101841fb16884ed784ee0302047c435bb500683066023100ec04a07254cf00ade289c9e65fcea60767a77efa8be810747372ea0252bbb0a133c56303f61b93cf4925d7fb90bfc777023100dc461d31ef6a909abe965507aefc69a103ecbaf506f8852f5433c1c3b2549f2c8ef32a30ff21f578413f62807ddd3dc60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310099fa4a14367ba969d612086a5dd7fa53bdde8120adeb08f0f77ebb0f5b7e7bbf2ae912fda418726ff0c18dc8c5f6a59002304ba520fd92a3139f5d6d7bc267ccb92d70f132969205f8dcc17254d41ab0678c56a170d5c4fc4d2795eb7156f5f17f000302047c435bb500673065023008568cd777b6735b00a3e6d710b922e600bcac4020939faed808140076fae831b8de9678ed405ffa05039ba7f596cf49023100c0deb8bc444ae453bc90f586f0e6261f0f10c055e7812bff92ca1cc85de41158c7f7f9e8375785b88091151f2d387fd30302047c435bb500673065023100fd7434e53bc8cfa05d392b8bd220ee04dd331e491946af957b1db7ea3eddc8c20b6d746cda9bae990b0fe0b28ba30b6d023063ff984ef6c9600199cab12a20bb2ef2253306f5836d8dc65c134c0eac3f2658a3ea5f511f08f2e6bb1224867d1c79810302047c435bb50067306502310086ce479a8d7c11b0be62b892e9ed8997556151822758f013603e71dbf3a6ff9b444f99dea0bee6d800aed0b01fd62bb702302cffdf08384da82e2df083c8cef5258ad7e622047d7171c219b0764730c1e5b6b092441f1788c9024188712510b023300302047c435bb500683066023100e2f2a1306d2dbc8922b1a1a97aca7a68ec8abe61f1c48f8974eba4d8e5f495788013f05bb521ad4455148ed11fe7447e023100955f901c3b92c16bacdeb8a2811ec0ecb04e2894249db61917b03fdf3b630b768a822369b0a1e4fd8309fbdba445c8ec0302047c435bb500683066023100d7b44d0d4df616896725d0c0062757a3411e8a674493b966d3f2d4340fa87fca189dd22675192091e20ef10bdc447451023100bdf743520941459a313cc8d2be645f8875ff45aac385b7da3c9796cadbd0f65e935d76e0eb9e6ea32a3af7f6b626ed1d0302047c435bb50067306502305b9eeeb3f95a6e074a4a3ec2ea97ea4782d9c64f2e7f8401002aa42b7814cdb0db59dcff388a84f69f7192a4d399bf79023100a96250b6d677035ab7284d966a768263ca3e1647c76014ee0539846a704cf6849dccdc936827ad4acca682c06b8e20d00302047c435bb500663064023026688661eb534654f40a8d6af7f515b4c9b061ab0de2c075edc63816d31a7168dadf842f5f6417886802d232d23eaaf702302e15f9b99fdb353e424b049a13a78b085e7ed1dd669e73266f66ff9b413592a292e42e4a7b63f25b9cbfbd819a82f8830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ab4fbf517cc1f647782d350b274b692f4c867ab2db8bdd217cd1b06796b6cddebeb2e5ca7fc02ea3c57d4ca257d943bf023100a8ad6202f3455299b20e7971ccadff45d6c9ee9bbf02f0574f20295d5669deadcf87feb8fbf805e599637cbbdcd7629b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100db72050c3bfc7f90798da0458636485016893ee2a52ee6aac888d2cc6e5b472ae41bb3719e6321e349880fcd0fa4d55a023069b45ae3ddade8aa737a7cab49656bbcf2f81a99dfffe9c2c570e0abb90691a403ec26fe53a0a82472a0082c5e2a921a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e00407794371de313c7337633ceb70944abff58d3bd1610b7d7418c03af213c4aa6ff4f0acf84342ab29eb87de08dac8023100f59cf44f44800683eb0bfa79479b72914985773c8f0a27dda35a44c8f8a110b1f41e70d3ea6e5a410eb3a812a3d80a090302047c435bb500683066023100b8fdd7fa002d82c22d67747d1d22eac79fa0de7ab6327c8778eec3c0881dea11b843591c562734b67466d128d86f41df023100dc8c51a9a2c93ff5ed561eea1a5c1d2d4be28781bf8c1fb79d5fb51f1e68967f0c674f31af3e6b685cbae61ff69d426c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023026c1518662b1e2b6f66c338c8d4ff12c1ab5166b157b73b87385f869ae25f685a77d87e53e2e4a447ec930daea1b330402304b9c643a962c0a6b083396d39b016b9245ea97f37a54608342e43f58b54cfeb0ca3e4a107810cc79e5ebe3e08b9041e40302047c435bb500673065023100bf2edaeb067ca3a87441fa97e022235cca7290c670f7a076dbb539f39439e696867064ed48e23417f73bf97fdadd6f8a02305a157feb3d6a69b70f5190f7e42d0c3f1139ef3dffc631a20ce506cd6f4550c720505d66ffc890b21255bc41b6b442880302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bb0d055b8ffa87a623844607001c3e9f971d86c98be573c54140f0cc693d39d5c4c066edea52524152eb4c43102901b0023100faf47fc27fa4dab563677f2ef0a14104d35335c4f1abdf5b120c82c6fe35ed9e50ae8a8d945c8b3ac22a3773b96c0cc00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301b681828f6b83873a4da3a908e87a0707cb39381df920bc98a00785a02f13d52f7007dc5e9a973d1f69701625d6e52b402305da262373ad68480570142117cc03f912611278f38da6ee3e0261cec60f5fef0bb3b39ce83406a8341024de923c7e26c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306b5362884e05ff5d0aad1cdde71ea1812ddaac2cc076621faadf374015ce5925e418f57837063a854ab2786432acd7d10231009ec3508fa8b700fcf3826785bb9a474573d0aef95849e5b1be761ec0bfdaabfb1e9c9e276efd964b2da96377b0580e240302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230762c2a02908a0ac200dd463b34fad4a3e98e068483eccf9cfbd2032bd18d225348b966970c4e8b21565a019ce8f23aa3023100a37b0797b76e11bb332334cef5e833499a06d4a8a6c8efbf582e88c8f98e95859e7745a6613e6b24fbe5810b72ae69e00302047c435bb500673065023100e9ba8ac4173d261d2808c04817f62248aa0fcd30fe17b3c103ac021121e07914f3e08453b5822075f02064c54873fa6002307143b6999159d27538a468d9d90dbd3a5b8513edbf2930569ab0a37f90b6c93e8d4fea116e45b8a137df13b4b5398a160302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bb4e7016cc78e598702187d4325266f65dfdbd6d4a28417954357be445de6618e38878956d8274ae3796f9f4eb6e604e023078bc27a9f1a637d468b75379f434ac869ba9cfc8bc7f38822d01c03ab96674aeac1fb0e5d1a31986cfed2fd607dfe0ab0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301fc6e3ceb38e9310085ab376e8b1bf9fd8b205a52be5894637f72159cc22cc38c8d3617b37d5db09f9bd5dcea2780477023100bf9f8383c9242285d5b76662b78d1ed5f2ebaa0a1b8335319462e6748fee9b60a96a8929473d3dfd760b1dd1aa175ce40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023043913ab4ccb921b434ece82414c40fe393453c3644d6da100e585d6ee92678392af2a9d55f74625ff89c0ab55daaaafb023100e8d3ed6d03bf62042d0346559d3b3680971dcfa608e5e78d8db772e0a2ae0f72cdf5e5721711fdf26fc27a3bb4fd83690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023005016d3bf0914f75ab334e8fbc3b8ee1cf2a1127f087b1edf2f198dda706d80c2dca2c914f7f4b21cecb8e22d52981110230720fb036721bcf827bdd7897979fd57f4dc744a5aa9bb119dfb77783b35cdb4db1d5ece48f5ce2109bb202d1c3b5196f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100994a02b86353fa811c0a90c6968c403d793d8f50cc92a98dd0f00518eeb9a9995fc60d91d3645ef620c36655c0218009023000e6b41db3655597442c999512491a0c0627b9d16e313a2b376ce10a4d9ec7804542970b8f1829f0998f39f2953d66fd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023021a593c24143aaea3b8bfd24295cf9d30c47932362c81f000bda46696299e8fb659e1989766e86288c4f6d8e10a96d00023100b610ccf0b2ed63e931b0fd2c72d081a63e3893e307ac68a89cb9e53565201044976a00c2d308e152184af59e6de19fbc0302047c435bb50067306502305767217d7dc2c865e42b70f30ac6cb283721cad192e2dba382742553a26cc0ecbd21bb3dd3cf492ff257d2a4891e82ea023100e6e9542a242d7242e3b7d93728400a5307ae544ac8bfd83d54564ace199d12308c185731d40077b22b60deeb492873f60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023009944663187f57199b8525e1dcf9f6b7cba5ed551d27c123e051f53d991f424d008094916c10e9db2bd053cd707f062102305affc7dd8a5912c560fa4b140caf74687b2cd14758ffa6a039daa725fd694130382f0e9d3f7c441891f4987bfad96a2c0302047c435bb500683066023100c514938ed8c9cba1890d31f25a4458b94b0d0282256c8166d7eb054b7dc41bd832bfff706f9be15ec54312a63caf95b8023100ed53c0308c468e5d6a545f83816acac84acb6e9c81cd6980b14f7cc19aff7681e16c319b8c131cbfc808a1eaa54ab66a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304198ee5ef6778202d759599325c84e1f962efbc01ba84d987987cd30063b88c58c19e254f50e364fdd424f475ca69b3b02304fce38022c3c763183c7ade0b4d47f6ec161bfd80e84b842ce551d13a9379c1b5bf997102ad473b187a83cc0ddfa85b30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023034829dbada865c9d21702dd24413018a0b8b134b1abfb089ad2db07add9a98f99e3f468d0efbb68d505fd2c74eb4a0f202301529e632b0ad55838209aa7ae2296f0d9f5211b685b4c5bf99554bca7b6264ae15ef9a62cf88cce15447e5537a2c217d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a6f48823252329d054a4e580b8870620f4566b7c49cfdaf687035afbc32e4c00ff9afde132e70b120e3d455ca6422ee023047d42bf160fbb996f71e1c0e40b4817138d5e8d6065484dca034b96c0bf1f79dfc7306c938ef189f5e772a606c7063240302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008ed82567e408ec273c23d4edf17df5ac88a875e78fefeb4cc59ecb685e102580d6609b5f2bcc6df54eb7c8ef064269b3023010d3ebd34a20b1b6717a5abacc0ba3b882bbc6050294d4736f4fe89084c89108b0a99167dd0a026b9156097b1b944bf50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301d6b35771b65f478434fadb558336947f52c0fd6863af8d64686d271d40083cbc6cbe4aac071858d32ec28d6f0157e6b023100a5d1affab923bb3ff5034d9d4d0cd12da8916841de9f252c21239a8c8bd0faa23f503aaeeeb6ffe973acf8cc73c77d870302047c435bb50066306402306bc7c81d6ce4ade1aed2689ac042fc96e9cc5ee3a792dc672db772afe8e9575687a3998f625cb0ac1ba9451abb4dae0e0230225ce0c04ef916451c6b56aa4729a541688ab9b0bbcbf9aad86df104637a68b1e38e0e20b4767594d074716ee7f5946b0302047c435bb500683066023100ac587116a7dc235eb601b328f79d3b7a340a79007901f6b8230dc0709913f850dc706f9f64910394ac4972625cc847e1023100e71e6bc00ce47a05a743767ceba8d9ff0d6d818fd7b27c71dff7a475190170209b7a991526c7a53bf1c6dccc542754720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dfee73e8c7dc1f71a8378dd51eec218a881ccc2cc7d0fdb6a15cb70377f77a4716e934345c8f95f3fda1e93c2089cfad02307014b63f2976fe4bd97a547f917e1a9dec850b3ea7bf5e41a3325da222d295ea94881d4faa512e4cfe0bebcb9d13832a0302047c435bb50066306402303a6aaeced457160f88f7390b1b98da144b74503bfb9092039657854a0469d96de62656d18d1a1f01718b7d5570d47fbf0230193450c3aaf2a0cba5a54b540e48fc6352352c58211105d8fc11c2250d191be73d8144e6233da1e7689a07b9b24ad6c30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310091b949b888743781c397c29e29ad61912a07632a164a4f655d28befde6788ae1ae56a8c5eafc7ed686c8881d259d741e023047da013e3d3d0abf978cd372eab6b186a62c144d391eb2d7cfd211c4d48ec01485eb823f8a16d387bc937595431245440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008c8b2ba78178438ec1e7309b5d593a049a093092868a900cbb77633d11741dbd1e1afccf1bee380a0b104c115ace711d02303339cb5e20982a31cfbf1a0f15faa94523b045edc971857d28a4e6eb2622279ed52c552687cf89c0e0f42bdf808c01af0302047c435bb500663064023007bbc3bd575a93803c48b33e0fbecad63fc29cb056a961b2f43a8721f9c1e8399f81fefafd3decfa69427e37442154e1023028b98e4390333c69a0b78cf3d6ebbeec9259580ce623f7e2e5d48a1d18abc02fea80bcbe587eb7aaeda620e3b3d91fa60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009999e245c51fa05026cf29fc86669a9856346f7d2fb1e02b408920a872bdcb1b72eafdcad152e32c7ed3d2f2597a98a702303dbbb3d59d094fa2dc829d3694b88bc99e1e2c4666bb69411ccb847765e4c02ae43e652df7a27e584a57fcffdcbfc9ea0302047c435bb50067306502306c95b2d7122dd0b2b032ccc242ed76fdd75c3988b5f5c9ca164e14b3427348be35d61983cf4f36d02d4357c64c2e0572023100b4d4631c517cc32182b566ee6e0e5dda2cfc1cd704c69c3b2f3718e95be8da836f3c7438b590ff8de9091291ef0edf6f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230086aceea7d4855dd1021813c38a095d358d19abcd37710a62ee35cfd86a5c1c50f0a1aaa4506e980f8fe5280e9162328023011d4016cd4122d81e2af9b94052237cc56b34b08aeedab39d9a5ea60366acce528869d5b06fbef0867154331f5fcee420302047c435bb500673065023043970583c132a34dcdca89ca073a55cdf8f662b9f49ca6c1fbd3ac25d813c68995462d600e334359cfed4a616e43e270023100acc5542fc072d2d597d4a2c5f113ecd77822108d41fc59c0c001647500be710c198c987bf166e03ca6e6c05107db17b30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303ddb3fe0057f9e0b1f4c95e7408bdeddef6186d728d21f9deea3d6e608ba36d829f91f9f23460d7574c4f6ac5c023540023100a0feeaeac2787ba5189d023c7eccf8b33b33789916fa192f21a4816f193649ef5f94a3bcd829b67e37e8d4e9c7421b6a0302047c435bb500673065023008cb12742664238f9bd4f61fd37233e8d3670e4db74807e260d2d7edab23331bbb210fefedca20fe885067cd3ce15c64023100ef85ff5bdddc9a702163a5dab15875c65473e740087774cd6cd8452c8c5db6c696cb2e03e82f53859aeaa74fc94043810302047c435bb500673065023100bccdf5eca026acbe7e11bd27cca6ede4b72b0815eb225b41c99a96c271ea519fc96ccb1d38a281c2857da5b6deeafc6302307e68a1bb878bddd818fff5b37f26011570145abe6597a9f7a5839f2a25f9a28886f7bf77ffb9a63abf1da85a165fa0990302047c435bb500673065023100c8b6ce06c7e427baacfd9fd9d807ba9c3afabb151b4a53574a484cf1079d76c0f5eaad9a447bef7391b61f22641fb6fe02306cb9d5ba1c2bdb80c933195d6826d72e1e3199462b5b2b4e599cd0f607800482212436e7f70c1f35e903d6c482aa48cb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310096849e028ae71267a3fc5480310ef7219c8656092f04c275c7e7dab82c311dc10b413c16764d13de0fdabaf0c47f7b5a023100e5c8a4aa02aef5172133de69407e2d070f013b6d0274418e6fbc93e0ffb143723581ee323018a3bbf4ba1480abe27caa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d3d99f21ddc9dc759bb682020e89de3ec4b00202bab7fd8926e4bb7c094c02088e4cd3b7bc10e0147b1d56eb93b4303a023074f321e20143f8810078d72c3a1593bd5bb0a06a99ad13c18ca4d0fe8373e644e9b1c2975ee4d92cfb7c6a713d74e7a30302047c435bb500683066023100885ea0d93e297a66bda4c68c07441406ba57ae820e35121d90a6607fc422fd810724a429fa483dbcd6ef1361863d82b7023100e553475766702097cd84ab9c5f246d14bcd9a4418b7412f5c62bb93c875fa75f497fda971f668047197a4199652cbdf80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300e41f2d4fb7e95fb6fe80cae25675cbb0d5847ada213707cefbd9f506168ce6bcc46223640b8df74b342bb1c03b0994102302a48aac925cde6ab2f2c1b5dc68eef46f5db6040d62a9180c48045a9fe33b65afcab701d1934c33df2ee40cb91c06aba0302047c435bb500683066023100d5e94913ce1ceb384da1fd9dd9bc0b9150ac74a015eb8a1281ac5d3ce7d3fc8c4af3d5198df79bb67b54d191229f99a6023100b90d1d857a3d6997909e6982a254e7d58a970454533876e484b453c68757e1dde10fd02a8a79c6b36043569bcb8558150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301bada09140e9f2590c4c5906b6d0bca74ceb294bb73bc86af9bc50c72ad23c66c53283794a6caecfcb2e2ffc57120f63023100a83e3619b303b4f848473e03597cd68c3fd1dbc11cdf66eaf051039c007ff10732a2c6921064bfc659d547343548c64c0302047c435bb5006730650230117764e9f67799f810217f06551609896bab3976e2912978db4e6b305700e6e52b02d901360e7a9ea23a2640cfda736a023100ccbfdab8defe7c0edda1f9818b6fddbe7de967122c653156f5c973b096869994a48e484687a4cd88e06ef0aa1a42f9480302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301e8d112b16e1ba9c6fd947e9b03d98a64f1a94fb6c2a5ddd8db9812161f81ba16447b7bd5ebda17b3128b35214648e38023045ab05fb56833dbb1ebfef6b969358cd8621e6f860488915109953838ba2487d42a42bcb9447b94f1d7fbb7c6a73c7a70302047c435bb50067306502301682d0bee024ffbcf3f48e43bbf77c5585654aa1f4d12db10f9569603b2a3a6ba9b9e00835c1bc03b2685777842068f8023100d0465400d7dc9b71463bb378bfc4f33f10b62661c82057d6d7ba8b834bfca5d8fcaa40ca0ef32f2889d10d7adb3436f20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307b5adef67ffc84ee70009d8520cc04a449cc337c541cf600dff70a3e642e373c34b47e63daa1952cbb29efadc50b339e023100d45902fee02592cda7bb841a8b61b33689395e64f2fc40e7f388d3cabc49fb05e5988cc9031eaff9fadd22bf2812d9680302047c435bb500673065023100fa978c91635f68eb39481f081c073c86c25c91d7f86ed5b477091286d32988f2b695d9b83002706a3bc9ac1efd11151902303f31227ad3ec8e7f83a5973585d0a017260e65a1d367c0ce7d3e006f7d303e1ca12aac2983381cacc878e0d4fa6e16700302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230415072367550e8942eb13f56bb58c1ff791cc10da0846650559fbb2072e66f8050b44c5a2edc57e0273b8e15d5f67e43023100b3724ee06c585ea496651cbfb8256020a700e3d88db0ba3882a6cdc82752025721f268f53c9bb4544cd34484a5f619d80302047c435bb500683066023100aa3efb6ba10e8ca5598610d42762cd0d6eafb88b2a16de1fa0396656a94f7934f98f9ddf774e13e91fa6b740a117c026023100e73747beed51913b14ceafc9770ea510376794d3418f012023f0805e7b4099eccf5c5b536cb58141d5ae88e8bd3c434f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d18031eaa57ffd8cb9aa5e4f31ade964a8610c34447a91b036af1eab7d62b1b3359009a982255651130bcad305d2c8ad02306328b5dbc2c3367428de0a2d5f91195a350c192737d2af9b6961ff76b72160ff7244cfa042c3eb170da364d2260b17f40302047c435bb500663064023001f044942249470647ff6dc26b4b4e1321d9e34251b816b82a8dbcf82177463f3b43af66e0a85ba71701f7d2a2dfeb6a0230577f2d1b2d6e9b13cddd2a342a15bbd532e6242c233eb889d09adcfb95d34129319eda9bbf59cc8ef2311274b51aa5460302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cb389a1c90f12b6300fffde79b0a3eff4ad252e0d15d97afe2d1576bafc41ee07375535616daf84dfcdd7a7e3f2778e5023100cf93b8b0690c49bd53a81b22f80f6b029d6373dfb539d5e5a1ba1b6dd4e1bb9621a93b76a974fdea9e03d15c071d31700302047c435bb500673065023100a95e2278b88c463d892c71444a66fa8e1f358c7cfb5e6d7acc62ab9267cf136c864de43f8d4fb2dfc5d46abc24159ce602302f00746064579c3f3cfaabf8e31f42c090da7c1c06497374134b74793f287a4c28a7c398ee9dd4f355a562a7c28b5bbe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023025dc65e2490c1e419db79c069ec5c94fa59a56461cb1429991b35f628f1f9450695f51bbf92695e1b731f93af90d5679023100c3091e701210e4414a2f9e4c9adfd91c0e7c70262020305a9e5f69ba595a3fedcca04ebae5684688942d65acb0e58c490302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301f7512ba3da32dee425e931b710e89ef8287ab530e162eb8a9aa916e34d27313a6c0dc1c06120278f7a45399f955e869023100da04c52c565cef7d13fc349f29bd46e4574dd9880ba0b1ee43ed04ae2ac404d931c642dd10e4f3e7497d645757edb9630302047c435bb500683066023100d763cd148a4822c4dec9cc355955a06a64c5464b33ce81734ae5efabd63b99ae7f878d33aa372b3bdc4290066801edc8023100a856501343e82a60354b719cef8e610526b28f098291bd32bfd1c1ef57368dad74e130ea6b654f44f74fb80079e84de30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023024541917789748c951a914429020ff1c829cbdf0e824f016e873fe9165848fd76c6236a76f855d8e592da29940a14ebd023007c81450206a50cfa3dd172c69510350eb0b2d6ec5aaa24a96a15ab7071e2c667e729034d3bbafa22de21317aaed2f8e0302047c435bb5006830660231008c320c50772d8e4127c2fa257931486df3150e53011a53183dd26f72e6a68d4e50840e38461275578d39a72fec6f3481023100a0324f148c87de3b47d6663b383e2a625207575ec315c1d8ead33d4c59ed1c805963c72cb573c48203dabb0452b714690302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305f6c9c48a389b23066d4ef10769c8eb3a0d509b98286ecce59212af4852ecfd891db8b9b95e753e1b495cdac026370f9023100b4d58b27524ecee9f83876fcdc5306c8af20f9bea8433b2c70297be9d5e021ad1f0139c0d9a362c28f9a5d6599b054250302047c435bb50068306602310082cb3e391082a710fc086a034b18293bebf5830242af493d96ce7a01ca94ddaa0caf2486a36d29e95fc81ac6084f4add023100da2597f448d37bb9124aa61ef453f7f0cc54008310ed4dd5d3d444c42a9a685839c6a303b588a01b3a1f3d9deb28ef0c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ab44963059559392075718e2facd2b3dcfd09f8aa49307ac261da87f0b6faf5cf1bf1767ca6d95a90d8bf5d7a2e87449023010d7b77fb0beada6e6f76cde9d50e7e7b7e27f580324f80b9956ae1368a4e659e9be84ad3b5fb0c66fb0727928cc12860302047c435bb5006730650230306314477f2d663aafd984f3ec11eca7fe134d90bca66835bc9b56388c6f591575e22bf2de73fd29ec17f6f1d5ef214f023100d2432f02ed0ae7b92df5c9d1cb27fb7f7e6703e61324d98d75850729412b111a57fc7567e200f0cc2a42014da33a48b50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300eded827b8b563e6304dab90c50325e88aa64396de7ba14e32b9f0d63429fcf6e8ceb7ffc00b5ceda746fd68a3b3f49d023100f9904fbdd1abc2cc1254d7419a2699e09bcae9323c3bcf298fdfe512de58a19cd2f095ef0d713f93fba4e3693bd87f1a0302047c435bb50066306402303f5c4ba1d89e3308dbd2c144d1dd29d3723e48ea2f40a7c7d819dc6cd078af91c0b5fc7387b8d450e2eb51a4b65ee19b02303eed690de3c285f767dfb5a23e0c522bbcbf55fc84f1785c682b0c252216841698325368e756f7fd327c4a2d6bc0c95b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023006f1349cf6b09ef363312d13d4e4fda77d685c1364166f83f699b43b87d89e9a483162b2e2a89cbf552f984cc608b65b023100f55bbe1a9d0351485c81b907353c6d249b54d3ada37b4c46c17d33debcddb33415da2a54b3d41052ac5f8635a478a5440302047c435bb500663064023023e34a15cd72658c072a2a52cf665e6bdf1a974d8d18847af0262284a778d9e969b3e6ad334e10e5abbb1b3e9a13223502301ff77d9ab009f89e9316ba45c2b41d150e9bcf95d8afc10da8518859d4a2a710e3409d8dee01246f46420b0d15e9bc940302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f5a0ee37ed81ea027319fd7d8af38eb48878505fd4902f769507362c007a7c1420a9abefb4f2c3d455f3c6e80004809e02302907ba6d37bcf2ee8bf1072d1ec716bebe5d72768e5729b05f941dfebfc8d7bfd057156b8fa83368794120138538f3230302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303690fc8b90bbfec77507dcf325c540228d465ef619803c0f74ea988b1dade7aad55132a9acca361e04f0574b9564248f023100e00bb78c856b06db38acbabae827faccf464efb4ec8740f74fe374a9949ab77e1669a2ae622cb990da48fe2d9fbba6080302047c435bb500683066023100ed299886c275e3e22c1c90c40e8f781b9241a830c970b987cb0a183d28c2b528f5fc12a4d9522f5c17dd64fac342d7ce023100ce62056e3f1aa2edc97c5b7abdeaa6d4d7a9895d622b056090c154b3e665986c39995b4656058f5395e7d0614ffb04090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b8f9009e37636967df600e27d3c09109008eceb157c4d80c2254ac61ecfc0b4a9031ba611711ef71da10699af008398302300c4f2fe25a1bc235cd2d57185cccf7a1cf72cc97057424de9860d25ad8ccae850969409092f716fa135cd8024b4cc7100302047c435bb500683066023100e6948951b77b17a5fc1eb0c4b592b9c4f3b4974c898ef5ecb25732d4f8ca31b926b1cc271d3e0061f3a0aa4ae1dbb6fa023100fee03fc9b3f4e74bbf33ba5655b0490b9ce71070fbbc95291f9b2d22de5576d64a064b2da9c7af719a76d0de6f87861d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f88eb2921d2dbda8930bc326255016a64c9a476ccf10bdaf39b9bb28a3b8340f68ef412d088d1b31526554c5ccae4aae023100f20385e6a07f1b9ccfa444bbe81ca584a763361fe665d5069f47dd08c154912a6274bc7f836acd12f08817f7d7a2284a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023002b36e7c29ca469280012ae0ee046cad6e596d57ba1f6ee899b4d666af3b6643b406b418c749da7c31b7dd2a4ffd6bd9023100fc1e475abe94012ad751668543ab8c744d91264737d24c42d79feecda2e4638609fb5329ef9fe08b57d476b6e2abf37d0302047c435bb500673065023100ea708bce092920589be7fa769562f77a2ca8a1ef2745231cf1d118bdcec9a5d8715fb858f78590d0acb4595f12b7df3102303411d02ca6e5886f298b6dc78c1916a951e5b63ce79eb6ecb60c03df80530f7c25cce4084d98b8dfb6d6e7595df369bc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fe570ab990779d387da5edb1f747b47dd00b20caeb322ac8b0067dead062bfd25eef75a1a08dc42cb5bd5013699cf024023100aae6b8dc13fb6698ebe164a6eba7cbb0ed4fe8afb9918b4864903ae7db212b05807dc0425fd93bdf1b6a4913281da2e20302047c435bb5006730650230162ef056cb7f8ee94b9dfb14472c6feb0761cb9a9b7db28b53d2008411297fa0b1bf10047e7c9893c7d8a376c8e63ff7023100d38d953ecc08e5554721d4c2230a9d8bbc0f0f177af3665704902a6353cb054f9b6aed7b2841c84c6dae43de5f6d1a060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307fc636e217b073e058cf9771bfe76e87cfde058e29313c863c56d39cfe34e6a0747d54aa28e834febe67af360cd07428023100b3c69988f41f1811c5188ef653d81dd5165c07317c13a53a4f3f3dffa13f3538bbf13a3d902fde5aa2660c4a3f7d5d210302047c435bb50066306402303ac33f1de68c16e78c837f6d484867dea733e91c427771cf1a468b01eadccccc7fcb6d312dd3b9795025e6eaf15b5cc00230148145a9b9a5ab52945a25cb34ef33a41311e4e9fa70f6d65aa4011df11678fc82c43be05cf6ed1d23ec0954d53bc4fd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023016a8a3bfc8f5b9e86385b622b530493dabb07cfd2e3b5e29a31ad672816d28972d7b6ed1c2c55c58850c6f9a2bf0e49d023100db03203d18aa9c7b47e97db4384252d28d8efd3b65f75f1791f5a294ef28b36e835d1c584e1bb2c07f3179b467a8fcad0302047c435bb500673065023100c57b7ad8946d4613fdeb97f41c89119f275ce978c8053ff33198d9856c4d163817bea84e21d054fc880827f9795f2e0902306a911aa32809a38b0bc9877c8035c14ed19124e6e09354814f87a258f47cd796440aad876cf773c07b2b48d685a603450302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fe0dadcfb11c3978871cdea485d98c54baa181b941a1e1f59b1bd43c1e80e6d8c833992f76f47ac8a583a5556d83e6ce023100cb7ff3b8b04ad7340b108ebe118127c7aa057d328f9e2417b2b55a1751af65816b4b7c094c1b213d4b0c105ae784032d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023040097dbb231a964571c1c88ae1e2c445cfadfc88c729665c410ee122bff68a8919e0ccdf89c68b7657864828d8410c2b0231009f512afb01ab83606677f0a84ca5b06e9b0188eef8ff5a704a89326b9968b3021b0eacf4276d302cbd680ff122b83c820302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023025daededcd14ec15e41d7d52fde3c63b66788cfe15ea060ff5db206d6ee7282d3076a5b3697fabf95d69b53f89fc802d023044694e02cb1605e691765afb44b157dd405d33b53195799dcdee6560d1da09d62f580827b26449f1429ce8d766b00b780302047c435bb5006730650230057d6907870c5aa7ecaaf171dadca01ba574fac2e2c338b2e1185a0e8a6891ad76aee3f35d57220c0269e5a00abc57fe023100b6cac1117431cfbe2c69926a6187529558fadaba930e3da97679c988fedc61bf43e012d42c220e6427a5ac14c9df26330302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304f6c4e8ef368538762f4f14b675a722dfcca89f2f98cab0f7d8cda96056fcf7eb310946ac24766c719c3fb29dbb0a4700230183f6cfe37cfcbeb07a5041a3f370492dee0ebb6cb4fee6fdf8f36218825ed29e1bb3124bb8c21ec7dd6c567fb28803e0302047c435bb500683066023100f9304aa8172e071c13f1634bbc3ebf9e9ba2ba8047fea4bd4d76b220b9f9debb2bf09f3f5b092fd206796a476a6cb619023100e4108ded2f4d88f7da51f27cec49f80104f2e2b052d6971761f23dd3ebd399447702bc38dde0cfee48385b4189f8dec40302047c435bb500673065023100a053f7b13d2ca4a68b5d96e1b16f2ebb4ac69fda5faab1754112e097c8fe2911c4af5a089afc506ace606650cfde1afc023041a7294229255be7d97f7846b73c258d2c55f42b67b9647f6c33c0b2b831e1d49864f8adc72718efd245a7d64959f9400302047c435bb50067306502305e4ac7506f144693d8710a1aef027b5d73575b7c5de6d40a62eb629e0caefda8d570ea36e481099e68e8b314c3c81fa30231008e151354130202df8051993929e7af602e74ddc19704b169fce2fb213c800901b831a75afc5caa724a7a3bd99ca8aa680302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009d42b9cd4984a4a4812cb70ad806639c99bc581f568e4cc6ddf40527a842ee0d2a181326c8d2a16d39d9f7bc4e94a5dd0230008846bc6adf591aac577ac5a267ad93d429315aab060caf0e0c68ff8672fd883249063acc71a8b74f1eef774a670f860302047c435bb500683066023100e9a21cbb9cd5018f427324b1f844c91e982b0bdc41c8892c8e48606b97049c99bf757d5ce47511bf3c1bc2efd7a7ee92023100c92b4f1cdb31ecf9f51e27118d1f4f39293657a9a5726ebe5b137cf1c5f343edf1d9b3034108805527eccdf8562362cc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023076bcec8c9579c6a62da5a12f64c8f622c8067e3b0b964de561734895acd05fea31d0080dbf6d40bcb566cd0aa3881a2102306188cfdc3497936a74a7945321cb8f2d2d43ccf0fdbf4ca719aef5c21903b3cada62810de7a1ee5ac16abcffa43bd05c0302047c435bb500683066023100e537bb5d392c23eb6991c8ad7f3a66b101c21ef38471f5c98c593f4f2c762866c77e3bd0e503a96cc571c918cb963a4a023100881b29b7ef343899dce427c433d4a4faa56f9d14a192e0f071b0f758e435890012f01a41e423585649215f64821db33e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303c711148dd4ff01d3f9c95c5b10f502aa0225dec410341ca899f9364cbadd38fe7c50659dee294b296f5c011c763d15d0230492e20024070c693d145cdf1bfd84fc528ca17f43e187b9fb880bd5a34e38ba79a8259961af463bbe201247dfaaffa410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ae1cb9dfb3c869b4e526106f316a93cc4be7d863632796517dd399309e2c36caa1a779e32e6e9bbd6428aaf2fece0ec80230640f2ffcbc717f8baf81ab03859768f72c36b7ec38b97ab4fd61ade0ba2e528bbadd314d6b06f17179daf05a082ca8b80302047c435bb500683066023100c2154a0613dddbac6f0edd9d83a9cab4df1353c5807a6214faae336a7f8fdd911500da1e662f200746a249b33d87c4e2023100f28e77ceceff9efaeb5cbe6727032a25ebf9b4b0397af24a4a53755d7c9c024bc72de78d5589fcbf21467a6eff17fce40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100be6f440faaf434bea3162e01f865a0b8a191ef729d0b0739bfb4269439e410da7ebc4c32b58d937bc16d88e0641f75a502304efe0d0d35902200ffc6c2ab97e1238f22ef24428ec18c19fab15bf14c2e3584667842cacaeb8f20aca4cc158d761fad0302047c435bb500673065023100aebdc57480d779d07520f81807a144aadc8e8a98bf91a53c263cfc74879063ff4bb71c39bf1059ae47cb28c1afd2281202302902d3c304d7202b7ad8197b8598e6bf20cfdc93eb427116b903cefcb4d38e832e32bb9a8c7ca1d671d6e37bbfac9e0c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310082229d2a78189f4eed5e79e363d5043cfcc122488ad1df19c8df84cd5359fe98be98c4a7c577df755e2c07802ce226be023100cca69dacf7623d5a2f86588123ae0991d79acba635d66140e011c3414973b3bc91ed8484f8ac592e363f0f36d8739e120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b9590a7159954df1d3a7e1badd1e0e2be339815a1c41610187dcc8776296ccef20b25b28edcb135905b6b9d386e8cfcb023100b979e8688991970372ab3988e4ce93d82634eacc249f9d3e4f5a4b71b43c4a09a7db6549757bb8a7e58003d88aeee8440302047c435bb5006630640230798427580ea0147932cb57f90af552a2d0a39cb004c18b25a478bb0ffd3ab839a620acb462ce2cde0aca49bd49ddf6d8023068dc4a404b9eba263ef9f9e2b0a96bc340f22e9c9cdbd3c623e3fa74ad43ca073e6bc4fd5efb177f909c6410d9597b710302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023039120eff328c17c023c4a9a2c1f7c833a515575dbeca74bfa825527bd8bc967193fc0eb7de9601457975dbcb870708fb02303b503c06a2b02b033c9c5cf1a0c2f33ec05bbf33718b598d4f4591427041d28e91c239e0a7ec08e615c2fb6b032305580302047c435bb5006830660231009d11cb6ebaf63365b82c135a87010374861151bb88d2c07dc5604039ed66d4fbe6dbd02ec6bcacc3836e7752a01c01d7023100ecfab8be522b7a398b60f0526a0a1396191e9092e6003d57441e1fa6d5b94a5acd017fa681107404df1df22a9143882e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306dc77ef290da9df680e1d6babc7adfd7dfd09326a14a2719fb8232468510643b5310f4a18a813bff9e7edea34ac76ac0023100e0865643487b8a41fd15875c3e175e48720f4bde326e4b2c53973e541a9c3e591622a1ada76f94b17dcb170f948700000302047c435bb500683066023100de43a5782ae9b1cfbfc32b989e130db6281c3ca3f22416081fb891233fa7cebeeffc9816335a3172b035405ccee2043a023100bc1cda6013d3ec4d6ad3dd09a0268903b09e6042d7086dea0bfeff91f465885b9eeb948c23fe34495c5a8a04477da7f10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dd39f42f735f131651f4e61fd77b8e31253201a2c2c1503c7c4d46800e5d91a9a2e8ac21ddbef73df22e5342cc2d1f1f023100b28feba90ce54acb10b288dc51a01ace921afca3b8bd83b7044949b7db38e26ff4562cc88c7af8e59f4de04b0baff9300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230768b2b33be30895afabfe307cd9b67475e548719665d32114a7b8aac63987bea906474810514e24b780230b17ebaf3e2023100c774624aaff988a27bb4fc8dbed9eb4a174225920d58bc4868a9759af6be99eb1734d45e030f11a4c4d84c12d3eae9fd0302047c435bb500673065023100d3813b589b7c081508b19f30df3217ecb82a3c795d4daf4f5b701d097ae8bd470172cc67287b10528be4df6a0dbc539c02307a2a0e5afac9b266d1469778316f07d058e9041f70427dc5348e8b142f3dfda745b751a5cb23efec35bc444b08e761020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023019d834c549d9db7113b755e4b1d2f38a62737f4a6a307486d0b5d90f24bfef4d9a004fc1488a6e0cf5457c30703f11a4023100bbb302ac2e36162ad5e9a9a6d355c5a09e692d81f389d43e0ed92b379e885c3d4000b7e4bc5160f136950144fb70e25f0302047c435bb500663064023049600ee7546777fd15b837a444acdfecc3b30eb1d1be7c45645be1bd00f548ed05401bc41461d9576233cac59f881ccb023074c3faa8e43ed6e11693988756751e44d58fc144f4940fcc8d41ae236fb6fd03707af4757779938282f892d16cc92dfd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301d2f129d70a1308a0aa0570aca3fa5d31fa3efab276f09bafd5a8ec03d63ec5c633a6c07e88f37ea9d9916560d26a2c1023100b2e7c12435a4a4f072c886ee4cae61a9c07e2950b8f929eb5cd298bc9aafbee6069670deb3653ff9e14b3afc6f8d3dc80302047c435bb500683066023100ad9343334ef551f06f9807219fe3b0c0a5236a5c09ece9cc1250fdda00d6058e80bf77be65f85bf20654baaf17f8c3fc023100c36e5b6367cb070c1bb0f7b7a8cd8333a87524f16b18e09e29ba37947aa786a3495d9569f02f94a07c582607ab91450e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300c5ee40625fab7fa3ff6092e22216acd6931cb28f06ed1ef33010e2da6a3806d00845a2a7e4c8384bd59a92a8bf8ed80023100daa9637f69058c5c742556e7145c30417eab60d85e4e9790f74a9c0cfcaddc8e37332598789c659b76a7e741b535b1a20302047c435bb500683066023100fd43d596b788cd91e0d041b6294d676d882da3286b49b2572a07ff3d279125d2b49b33fcc38918739ef60a03541b74af023100ce4f3b075dd292fbcc2e697557cd8936eee2529c1f7f0eeb7742c634197e3da970348cb4f6d8a7caba58d4368558faa90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305994b9a5a72e5ee59dccd708900d9552e2d1a986f60251970f332f09ef36d9f1f5ab06a4a2870c5c0019e40a9792eaeb0230726c87f22996bdcc28ac9f1fa4330a22d50de13a93153c66a41f59aaee733b489f9f9f591f676fd25ef1d4a547ca26570302047c435bb50067306502306605e2877a7b813c91eec0b5abe33af7f4d814256f856d8a0fcba7f1c6ed0c48fdcf9d71a23fd46d4452019e1843dd99023100c68d948f82d372bd8ec6ea429da5f7ccbdaf5b813129ccb93cc25a856a42857de5e7c5814d400128857f4a48fcd7668e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009040fa0f3232e813c97249fd7fbbe712a496ef537dee87bc2c712b31c8c6152cb6cf857522e85dcd1a268db6fa2f638e023022922cc5eff022e4388168b1412695095efbc5923026fff045a63cd3ba411297af5202b91aaf7dc7ac6f5b3b4835db150302047c435bb500673065023061c4a16095eb5b457b94ed0cbae9a404dc118a0d5dcff7de14be82d442b40e66240ef67a64d07a1cf7217f69f4983f3a023100d320e99c937e65b71841a62ad792f423d715e3806a79ada610f9923cce234114056a67aba2f7bc1d59a0173630a10f3e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e3c1eeda9ac296b9e97b1d85cc16b205cf0dbd67db87c43838c9f37391cc25d9aa688c77621e225a06b9296f310077fb023100f37e67b210f3d46d34eccb9a8bf20b934ef3415dc9a595fa5d3ccda6ecdb74d77bdb10d6c963345961b56121cf24531e0302047c435bb50067306502300aa246ad27b9d81b280dc5d8c05d4ddf4807668eeb514b2a46a43c21deff523db6ac81d2ee3fe14201eeb79855bd3d87023100a0ce9b7cd08ae0a71655de8a76aeeebd95003eafcd7995fe687d91b4d94810762ebe6ec8b474a959476bb1a946802a270302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023053ec0a224640d3b28de2ead90f4d16b0f7c475439f4b5b82ad315e7e9d483b3de274285bb4d4a34fe5bf72b43de8802f02310083e595827a1a4050a023d307309097c765500c39041390ac6e8284a4ef46172037fbcf0f600d1c0cfdd2e0d24a9c745e0302047c435bb50068306602310099fc8b3d4ec63ebceb08af1ee62a4f6470c6dcb6b6df43eae9cd9d5d782ca3018cb42c8743324e00a54a85be56ed02750231008db6c5e938ef5cdcfc044ae23cf6c7043f37a56a1de5e3d1cb4a77c0ec4f696ba9079bd15fcfe8d2ffe149c72a457cf30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023067edbc17b18a940e844c5bf7620d4acd037c09f51961a57d5c7b2df348111212ceb19933f1afed57d2219409f2fb3de10230389cb65adf398deba89d424ed4a141cdcae62057167e44a7561f43e00fbb870b0d08819a131aef035d19e311a637f9700302047c435bb500663064023052ed45caf13d7534115cd08b0127d7accaf68ee984c89307b08347531c71ec0d2c95ac7f1bf9720765e37f4a1c6b5d1c02301e16a324d0bc3c2cf35c113385dd51eb7347b344e2c9274f4a96c696c8c00a9ef5d7b5b842441631bfe8ea4b5e7749070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b7ded86364e5d0dc5bd7eefce374d13b6a27fe272d9215ace71bb3922c988e17f87429bbb2a635f7f6b9af0849a6d609023100f2a49841f4ab5145895b7daf4506bdfe28785aba78f1155cb4e7a84e96f280cbc5f0445feb29ef93360fda2816f73ffe0302047c435bb5006830660231008852f79f2882a17563d44cf296a4a0229c854e62ffccacb38d966320af185d59ef6255e90c80c2c72386cc8752741c8d0231008481ba1977c6fc3b564245d654532108403bdb4c79aa3a1348e6230b6bbede9cdf19894fb21c7cd82ee0ba07e5c5f3610302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230015432183067d649a9817007fdf704c509dbb3e5d49cecf6fbf0bd281174df1fbb41a3ffcadb1cc7b43caa40261e4f4b02307cf0de7ea544f7ab4712a811f3a9197175748515340ac584458beef7e1d351cc66e635e34ef275be6e01ab2a1fc7a95f0302047c435bb500683066023100df6faaa2012ed49e536d8fd9d903fd5ba7ca818b8d8fdf4555ae7c12e0d8afaa3244dd6c181062f417e0483bd9427b13023100c5c9a4eac7ba62a7112f8afa9d54406ae6e7a7903386c270c758f280a0be530067cdb0508f2c6c7ec85ca4853914d3a80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cb1d2496557a0572298e6d1fdbce2113dc10e8772e0b83dd3b345cda9931ac1ac5e6e69a0641730e2f3c3180cc3d3e52023100da03b8ee2c399eb4425e30769e9750da786353ff4d9e7570de11e6752e2b583704091018382d35ed903d284894ff10b60302047c435bb500673065023015713732228932b5c7a8d7cfd5c38279dcbd4a765c3deacd843327ffe83b8d480024a23a1ff3a1119fe15d95447bea47023100d576d2bdcd130e5ea2e36fc73a8f0a949a13bc809293694f3eb6fc161cf0146a3e2ea3c2c6f75a990228092ba7f55c620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008ea1e1fc2cd0b99f285f1d47d803570b9dac347d5392295df7ae0e12a1aceee6ba4c3e79a32b7d463e99fccc82ef1edd0230227b766767d9dc5455b64c1aad1b412cc8b4173c14363f58dcbc671edb45ea3a5b242de5961518b7a8f5d181d1af18150302047c435bb500683066023100b15282612b1c9a6b7630c8013d46d65433e647646d789226125d504ff6ca0b43dc8f86516cbe90cc4b75b669a0a64f50023100bae946221bb93dac1c392077ec3aff5e02953a8208d5a5c0af2b6684ba31170b1cdff2a0d7225d240e5e729dcd16f5f50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306bb1f76d58225a06a74bcfe85ae883faa54b3450fda9f67055fefcb2a8f5f094e47939a58facfdd58da1193773158af10231008786766c9202dde20bd47fe39fa5a43ba8e0f461e750c3eb4fce4c4ae141dd51f7c7da2568808b90e8bd3e77884308dc0302047c435bb50067306502304b768a5df32b09f8fe60ba5ea26f0a6e4899339b943683e72b6b748277be561fc0d7c4b7a21481465bc54836c583a4830231009298b65f3d317bc54616a68cebf18080d197c08591b57535ae0722c74db76f17e9bd08e6880bd0a0064cf75307cf13a00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306dbc412d68d9342b88eca6a1abf3232b3dece3a7b72164cf3d3bb27cb99502659f889c64446f2ad72cc7c386038528a3023100cc12afaac4ac1c99364e87a9174c712fb2bc595505235b5f0ef0be4a3d480ad4bc22945f1036d827b2ac451187185b4b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023072f23308ef273903168f003832530369c0d3c9fc1dc30bfabd0c4259304b18dc9697d3131f1901fd139f0b1e17048633023100d21af64932d8b636c446ad95df5099ca8bdba60ebc63f00b6cb1705915866468ae3c340c9b36ede6a53f57bdc5f452420302047c435bb500653063022f6379614af2bb7f3fbe394d78a43d321a402104e985583bd9aacf0b14c1fbd012f067501d58dc829ccd6d24b2c4ec5902307f3774591dc6b7eb4c4bf1313ba8c2668e2b3977218610fcbbfdc3912055a3b3cd14e6beac06cb690679938da06b9ab90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023034493d252d1d44d96067a7f089394e0bb3b810d2d32d223189d13b1ff62963ba760e87839caa4ca5f76946c91434097602303fdd072396053fe64590b81b981712c8cc3c04d182bc32af59e9879d2fe20776ccc482e5803de7924beb1b6e67992b030302047c435bb500673065023069f92f2561f1dd7c36cea1c86738fcd514cd161515784e0665d3e44d6c348bf04807a7f57c07de83a14fab3231e023a2023100a2ae2b78bdcd9352cb1e6e6c9a69daad8811f0c9c7e710afa7778e877bd4f57f0f035076c134820629b888dadb91b23f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304e90a1bed61dfdef9f27f3867e92acb0dd83d36e9ce3d45b3a430bb9c2699b62248e25ac18ce0f510d4a274f58c8333f02310093a198328d68e0dbdaffaddbe11afbdfab3f220a9ceb374318ddd066e6606801fae228ebd9de2004ede4da772619d7b70302047c435bb50066306402305d28b51de72bdb8182b06fd9dd1aefc3ab688c17964cd6c73282b0318ed3ac511aeaab64dc7bb11cfb8fd6dd8117ca72023078e525067af80a70d65d8393de79d9c065409e20cdce86d16859cadc79908f6b3f2c1682c2c5235e209a5d0fb6451b070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023034547e503625ef536b207e46debe42a962d4666df809dd1a72f652a17e489bd0eb33239a76e17f0b321b4823260dddb502304a43c593d645acadb79a83bbdb77defe6efe460a6b8fa8428196a77e61d351a232dfd363bf0ca7eef98802717f5d22b70302047c435bb500683066023100ac484d330a2d2e17a79411031f5c7fb2f362b3a49871531c26f8f645ac600c4282f4fee5ddd8e7635618c36dd226afca0231008f4026858fbc5f46aced50a1a8e18b08bcad1187522be8e0f8de32ea61d98113931d3fc6bb2f52f0147cb13094e8042e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100edc3ea660bd89f1efc426b46642e9b8b7d6fbe0bf78796255c82a2bf07378dd4d74650df733c5f96587157f980af262d023014f5bc15e9abca4cd3e50aa99c8299d7a1d03ab178ab9add0344d7146af03348470a91938ee9e3ad3d76027ce411afb80302047c435bb500673065023013ba1dc614272c7d3fc72faaf944817f86e48f28486afedca91646b847ec271e48957edba8bb3b14ab37757a58091031023100ee3162ffd59f2f142169dba56536adef135fa14a7bb657561af04c406853acea37baa1ee652e9f798354a0a44e1fe30d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304bcdd7c057e60dbc20b50f5e2f71cc6bc2b2aada433efade336e0da75f8252338a29065e5328d22bf35a1b30271f80da023100aef8f802b6b639ea00db8d1b892a2b5c99db4f74704e1b834031cde74d132ec5a25f9c54ccef073ade1641fe16000ec90302047c435bb500673065023100ce487bd1a1e9cd95bb59bf87ebec81b132ddc16a699386c86cb506c64a630589df764d8a968ee8cd7ee24410e0c7d5bc02303488a7f969114b54ca9a3ec0670cb30ca9f43bfe283516fa06e50db6fc1db5f0430379d783e4704c76f5ab62af8b91280302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306ea75afde913fb7c67e6fd606d98d29cfab4e62733485ac425d9ee717125d21ec0c69ac8756928bb8c7e4c43b3f3eb6402300b571708c8a54aec85291346997ba75dbe489cff0020175d3ec9bed9b5485d18a84bbf2adf1121cc9e3e7e9b4aa0ff350302047c435bb500673065023076e5427372b3a6e464e1ebf68a296a3b29b7ad6c67d443c01b9df9b4919ae6a55d1aa6ee05544c890d104fb5d4ee2e60023100f6073ac4583b2f5b76e39923f1c65d2849dffaf89644ef1539363db96efcb3890371796d93b972d6bd1e95ea733ca40f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f2731d1e887bc40520bedd73176a0582fd096512bd502bb5ff0179593ada62a618499cc5eb9fcb27ed94e5163f474a18023100af366bd44d7f5e916ad0eadea30d5713bd7e341ad0f44824d0e8f72570d13326e07b2aa757d99850921a0cf1b7462e8f0302047c435bb50067306502303e3ba9f4c83e32cffbf9a26777ae58588ec2abbd474eb505f800668dc69dd934e8903a1a49e3276fb7df82bdba92e55a023100b9321bafea949fa12e5d714bdabbc3674534f42a36da01ea9b28f247a14115fc32005562fda1e90363c697d1998e1a7f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023065ad7939335bad971f1e92ef9c50ab3ca92b9fa00fded27ab47c9d54dfd69577d19cf274b3cbc9907f62c1749e1d102a023100fdcce0bc05379f0cda08d3534a036c73eaef9b732e4055983128409b96eb6b3205dbd918c85b6df057e6040457d562370302047c435bb50067306502304381480dab1eb761767c07e4c794a8d857f75566e1345b3411f6ed511376bfa184f8487ca65e39218ee62d03ad719598023100c08bf3993aa362b3aa31f561b678c3ebcf2ac19d66ccbb8d85f1a898aa5768071a1e7348db5f60c34f0ac0120e8d1b550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023006799f49f0f571e9170d65261095becfddf56ce492c597b61879ae607fc131d21e1e764c74ac439a408bc0d6d8679ac7023100ad749e0f1172ca52d02fad38af16d57a820d5e0c5d96970d75c7d3f18e525cad55996b404c24173e81dd7aef167a00710302047c435bb500683066023100fe8f8464f4820d38a988c9e13110670d217aa74f21bfc7a93cd472d918e907bee98c6f0ec6ce61fd4a38ef01f7abc1bb0231008d8add7bff78384bb3e136803a2d7eefe950cd4d7519bb02d0d12f948cbc23f2deb4aa2891c4a572f172a69625f6238d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008d2d07f96ed360b0ef9886076a6b65981ea5b3080875b09d750ad24c2075492f98458d3f3a28841ba89c0c35bd09421d023067d1bc7995ed247b9a5392e7555d0f6319a237561adeb8ab47bf7b06886ce9ec170d2123792e20583f1e83c54afd99870302047c435bb500683066023100b790ca10c4594fa9379ea3dee714ab2b25cb644f96c83bd0008e950977e9ec0606dfc82523524ae8f6f6232728219c76023100e002bbc3be16ab9be81943ea189fd416508d284c3f98b1139a242813a2f97bfa2b5023f3fc07ebe1b04770b8c27907260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f5b92cccfb98cd4692f266a608222431adf58c67bfd867158e9063fc699826355ac04f0bd31c144ab8231a2cd1b3b19e023055bec21bb9f047c81d87123478a664ab2806591cf8f77a4b0a147b12e8d78ea7f073e549c438ae5999a310af8531bdcf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100964d7eda67074bca178931338d80dbf70ab195530ba3bb7b825b639897a0d8184eb3f23d598320ea4a1b3408225a9c0a02302632951274a7246928cb86beecf6e8908b24b267d7f2a63b6d7c9ada3ab363911c0bb3186fb659f9731c9487a4f2df7b0302047c435bb5006730650230080286c8875ac0c69964ac2927bd3dd61a4b26fce46fd174cb0dc4c87ee54e9d6e82a6bf9b1dd3791fae03e08aa5e0ca023100e7cbef4d439370b21b795526933da52152e750c6fd3496549e45943cebca7b3273adf13a6f5ddb532dda244244878a0e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305bb1bba9aba6009b2f23a9bad5511a8a263291f4aa753cc222ee28a7e69894f7a360d108f783e0b18d9e5ac2725f340902301a94969efb28567d1caa6cf05bf530064abc5cad985a45c0a22eeeadeda903a1741706190d5978d4ace5134bd5fc43420302047c435bb500673065023064d0125a7625dc8a49c9d164196fda1f491ec5d4c39a69ffaa71163cf60a0f722ccb845b47ece6e43912a1e8cf023a1e023100e19121bf4d15ef94e12440d9af787676713813edfd7c75ae98b92673fa93c64b0633ce0e97b75562dfa274207e6d3e010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c965aa6cbbc226b19d75680e9a34c2a9386b14e64f57d4a8903e19b233effc7f76aa830d33bdb3fbd92bcc35b8270aeb0230503ff019b39ff6515a5ff6beec8ca8e19fd94bcd2e2743ff1abd2157f70d113fd12e2338af9dfdc55576f8393f00b1050302047c435bb5006730650230385da269823ba3fc57717ce35204ab2bb8277eb6d16df3d402aa5f059a8f717c88704b46609ece2f6893a744d86a6bb80231009c5e258024497ec9c27102cbb878350bd22cc7531cb1af2f1843b614e0beb733aae57852161ba463751eecd3de979dcf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023024592d361eb7b33d5908e831f4b1729ea005e610c87e0a7f85ca44f996616482e8645eb2925adab62e63f4fe7bc9ade602310099b14aeeb8e7e42d083c91bd9ca9930804a62329bfa606369956fc50dbe466432241bb16af9d8736726078c6b6b3b00c0302047c435bb500663064023062ba7409ea6b283b165b24deaa340f24027ea3e34e78b88e5cb28c94f81ebda60a4f3f121c6721adbe537a799d7d737e02307e8ff1c8308e8e8376a3f0b565938b9223a93c08e673130d80037238351de9e334a26cca3a00371d09b29d655a7e50190302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230583b243d4d2e7ce8a803d45ca68f3b2172895d3d5dc360a287cfcebf60e909362148436a585cec3fe0de258fc5b42489023023ab7b773d819b9e0933894a69dfdd303b8ed097ef2b8213ad22ab6ffcba4299956a6629aa99e7d1def9aeaf2947106f0302047c435bb500663064023017f70f714a09d7e74981a839512d521bc142544c039736334e0c609d5b8e57ccba3ce80f5e42bd2c272d881bb1b42e7d023028c8de5724e936e731ce1392fef1a2a73a11777980be618870e0e04ef34c1c848eaa43affe6f1f87bce3f054957b9c3b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cd32df97c78b435209d54597660ad6de187213bc27efebad2fc53a0aba2d58ffe5e110368c56be75eb0b57831800957802300b430fa0c37e7e626311180556a67ba511cc447d6ebc638b003c9f094281d3e297ccd1b1b055523668109a28100fdee40302047c435bb500683066023100c993a3a3384622fd0e72978938864f17f1f13606e4b8cc1f47ffd5128a02f66fbbb7e853b6874a0c4e564a2dfc2e6db20231008a3fba724fd0cc9149539a65615cb0eeb1ea705b847515612d891dd9f4f4f73aa22aab8559533305d69cab9f3190cb0c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307f0e4b8c183233ccb0b06983578efa5278c016780b4f3cb4ac59e32b81c4938768331b9f92e6ef9db15a1ae0a9e9be57023100caac2ecbdb50a1468cb4fa9e9da16a7698fc982799e3f0c31df035a0b16d1f4590c124ad194f510cad5a039f2b2abcc30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d4483acde32f44d2e26df1ccf991822043c293e3b61c2411cd237bb1104d8ba9bbedf484d6f98539ac5df5bbf1c1fd2902301cdb5844363c9ec27ff6b7ccd3f98bb6f5c818c014cad46ae6aa5507beb2a89379e6af7a406c132019bf2d6f4afa50b50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304d372c09402c00aebdf993d3952f66bce1599aff48f15acdc63da5a4b361d49df7e77e698057cf9e9e61d07a17d392c9023041f1b544d0a5a5f04ffe55598711b429ab9625fd5949ea25a8744073b0fe430886e178ed9374045c9b4633e41c63aaae0302047c435bb50067306502300b27d933d8216068344a7ab7e14ee3b677451268c4fbcf0376ed6fb9f2ff3f4d437783ec67d07ef4caa2d62f24da832c023100874de4e2f1e79a64ab9e2f63c58cdacd5899795b05619752da7bb9238922aab7a051ba2d845888364b591e7e5fbbe7160302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230467409afe337fbd7fd709055e71b9559adef73f44f82b6ea9984204bee28bec98f10c2f8466d33beb15d70247a59838e023100990ff3120b793fde75e6a2eda12152e89bce2eec437c9a54bc1ba0350783b409862b64d49cad058044487495e1fe48930302047c435bb500683066023100bf887f551d673eb73cca571445c2cc37a4d47896e30ea5ba54275db143c4a434a4807ef6670828427266f28b2c8db55e023100f2768d47137d92143c7935a499b6572157ca3d1a46d92fa44772657aaee3def5bbf2e5f998e8993c574c865bc6e4f8d40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303968638a38576d55f53d40719ac21b4ef7ada643347ae1b57beb4af91b091a5fa4cc8ae611524d1a09a1deb25d195c55023100f91f1b9be265344cc026d99b1884ff1ab70866a3153b811a432127e3542d9c281c9e9d8128463821e56d45f83e8f752d0302047c435bb50067306502310097c56fb6bafd2e1562ba82b29c613b4467da7d92de73561f6b38b1cf17e56e7ad556d271174a039976eccc9d368afda9023008405f1fcd7b2d73541ed86d0456d6c361f1269fc5d3e9e2345d2e4e8fe7fbaaecd54b7ceb87eb2aecba59c2c6af7b250302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e3414029e79a6834eb8a836535684946f8c4d389d46c8e6a180c6f6b49cd802452fca0777fe38c5998ec45ed4861c7ee023057be8aa74ef34d10223ec947af5cfaa64a9f6fe356a3136cf51a37c94c055d9e7d0de7832b6b5f76786ffbaab08b1dfa0302047c435bb500673065023077204418a840d24752758e12b7b6a0f9e87ba0fec1c680faa907b2af76e60ae55c4d2f2bceaa3e774e7cc14897f5351b0231008fab742e97bea736a122a410a91969e2f4fe3092f645f0443ede8b44681ae83af0b15c00b63c48369c6bec136792626e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310097b76d16a0083282b92f6f3c0795e6e98a6e9bec81309151c681195b844c1e6cffb9616b0e8c87a47d49465bc91bedc7023100fb1e8672daafa9c77a299cd82845850f2ee3ad081c7113bad873de9531bc7c6d08ba855b91a2b43414b2305a0c2c00a20302047c435bb50067306502307d4483fa2ee9a42cc4508d255023cad78a23c2bc6889578f64d6fca73a2d8747392a3254e189fab0d42454f524743bd1023100b89254c0d477bf7c4994fcc8b9daad0a83a62b987632b7f0070916604616e0590997a3bb5963dcd7380b13d9a0a5d5550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300e123702a4c7e5d13632eb5d54d105b59de6d90a266ebce80ab441cc737dcc476d8cb61ddb2ac35584657b0ac2f76b1f023100e1ee93f17dbf83fb0187ec6ff1ff0ba27ba2de4243ac0634fee915432b89bbcdfeba86a99dcba7fb5d8ae38253c522c80302047c435bb5006730650231009725355cd6cb7e8e26df8cbe10cd91b9c9d6ffbc8bb64882d062fd16fcf7a19ee1bf745baf6fbf7de07418b0c643d22f02307361d6b83ff4dd2a146c01d361842d800c1598c7e35d3d9a34270ae6b4ccf19f8922d6d5017903b0b4c26fdf36f32cc20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307b47cc155e03d6d221772aee282bc59bc9ed18d99c7b2eaf4abacf9f13fd32fa914ac2c155b76d047bdb8a6a0ebeeafa023003992107b826bf4eff4d932d43a7d74ec938547d72e27750040c2d2c2ad706383d87d024037350d80191792d001ebdae0302047c435bb5006730650231009baa65f5fc571909a72549c4e3a04554f277a75464fadb2751824d83453a44c047817cb2fbf40888e4d483362d9c8fb3023024c5767ed8e868444e95d33f85dfefcaead3b0b5c22f4eb1bb4e11a95241f1595d6f0f6e952d4eb59b338dd65db1cfff0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bb6deb74cf658fc6b860b63e39a94d4a0f37b48a896b47ce21bf1b34c1ce11d1f5c7e4b97b115f50200387c60907b48602302ea3846c6d751180d54dcf4a7dd49c704c16239deea903558340430bb1c854cd6dafdbed5138e610c5320ecb206d54a70302047c435bb500683066023100cd3e399b936d7f0af5d5f38a192c22cb5508325a274c37e0e4609504cda58d5e1f7a24c3a25109bbc8d86bcc280ff8ee023100dc2b5d1aee166f13535d39d9438c4411a63e3c7b975ec9ae94ef09350cc491ebe6ae0f383da2dda8fe426c2d481cab6e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300629e38016cea83dbb1d71fbfda149cac350f9b45a89c606acc12fe3220cadb344bb2a32ed31217d1a294630a4ec7818023100e05356cc39c069c746387ac6d5399443086e46d88480d4c821aa1a3988ca998d0ed487b8ab66b1c5085de8222e5d683f0302047c435bb500683066023100b212c70e93078929f49f22413a8f6a21751d03eb8201eb2792c48fb98abd6c019623bb6d2f244e74f9171362d586f77e023100827015609080c27ea7e2ce4e5f8a1e46de925b28a85288e75e665ed5bd3073eff2cc04fb51a4fa52699785025475a2da0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100de16487026de21738506630636c4198180ca06ee5f028abd7b39154b5549706404810f7b2b873644434bcecf0470b452023100fc6b62e1be0f1a6825fb25b666eea6b99cf6b2f46da40d7fe78053578e4923c8458f25b4c71184a49bb40957736e24920302047c435bb500673065023100a838636cbffc158e096a6997147d4378f3def15c9ed26f1e381e530f3a66f7b561b559a45986fadff70b1c59bc98e1ac023066cfa497553ccd3f0a73a3cd38afdfdfe0e8133cf5d5d26543f643df12de6996cba2925690d741b288087e6e627c31b40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d62aa3627c981541a175a6777abb96bd6d75f126611fd518ffe3269af0efa51c28fbb961307e1a153a7cc3068ae8e1d0023100a5704b603d89b788c23ae9cb95d8751d947df0e936a81ab771ab8d0fe6c50a311d27e6b39539162cd10e7df1d183fcbf0302047c435bb50067306502306cbb31b7d1ab8ce7b320fe216f307cbc6b56ce39f98a3d8537e76bacf00ac5aeef7b3b72196c756604723747ea12648b023100886ca19608b8f0041578f375429af554bfc9bcdb0b1c2921194223c2437fa1f81dbe60c71daf149aa4c1b96445baf13e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023075cbeaae1bae0f637e902e41ee18ab0eb1d9ed294b8d0d1903552cfc55e7fdc19783b41549f4ab83358cccc103b8ec98023100bea0862ff8a70332b7822b78988b23ec5f63feb7037f425defe9354155c4d805f472567d5a4844353b552153ece8bbc00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230696ce4165513f11d0a9091532a0933f55f695bae76b3c02ffb4fd2a3d4a4e81628ea2b150a735135bc6b7cbe04993493023100f694a179d257977b64cdc7a30e4a2bc936e39cc05b54bed318868c75c3e0642106ae8b28de48ba25c8269553f33beaf40302047c435bb500673065023100a7571946fac09b588e56e2a1671953f63cbc280a9bd7b36e0b61297c966fa209d0467a2968be018208e8b39ed9762ca90230231453d881275fa9302117d91f24ce6dee4494e30068f131d6f990344ba093e01364fdb16ddb506d726274456841a7250302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023061fb5267bf3b9345abce5e6414c0c4f7684c00226e16c1905268a60f016905dcf1c4bd0811aa049378759581588549f0023100ec1d1efbd6a8f6340e83ebbd609db6e3efc4dfe9db6b41372e06d46df8d3606b298df71336b1b6a02331f84f2a71bc970302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230116e19f9072c4923c6c11d4f7536d9558bf2253e62b737d92f3c79e9f91d4081109f21dc6cbf69a254ffa994b5423f4f023069772f74c3a6cfb00fc217e5618a435f97540d1873ca4e11025b51e6e7e342631db0d2e6c0da6c60d62d576371e1d6fe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bb7676ccdc295108b341daf78b963c4e633219d78a5be32cceca4faac081279733841ece26606d88c61f1bde4df2d50b023100aae150df95d0d41157dc89aba30a58363d5e4041b5ee6a4b0443351e2fe2f823d0175e744eef83fa4ef3c62812c5570b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023078361611ec5c37d61f63d0413c3cb282057b3b2c39f7fdc0cff6a8457b2a1459875442d7553ea4b803daad6864587e930231008ec7c67ec20d52334d9507ba9c89bdabfc3eb7a302f93fdaf2b7ff85a3bb3e6b369af0f65a81101765b3e0bcb19b99d40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230135948f8bd97ec4bc0e60673260831c3497d9856bef94009a058bad24908ed3efb6c0a70b0733513510489f564c0bf19023100afd20b0afcdfab117a6d0faf94606714cfb8226997474f3b4f4de05da24831d521b5b36c14aa04bba652a549e16881dd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302393c96b97f9db08bcff2565297556943ca6b045301a77bf945db374f99cb14e0114665e06276d19b6f5c12ebfa324d902310081defe9f4d3f18955b32c19cb342eeeb3c39a5a858ba64e1e5a5289998659acca0a12cf7b5569c8cfe51cd0f5358fc110302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302fc2f993ce80348e9843dc9490e68dab52d10d916f3444a1d31b04e26661448ee4e78c7fbfb1f490051b17be9f4416bd023100896d0962778f3856b42a7951248801edfca1f1262366208f8633485aeff2ee5d2525bc6b0663013e9ff043d8ecdc3e9b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ab033f5468c2b426c405b99da2941996428fad670f97ed06b3e6a90e36ad96234e983e039edb31a1d4be6bedae157d27023043514605d70bdb95c0aa78295f1ef5723075ec843ec836dd39b7d9bbbd9e5ea1fd30dfadaa844c9bde01d8a84d4d78020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230403b44a65eb99e3b74d032638932f4210b6c0c14eb02f21760c28dbbe82307833d77b852c26ee77c3280765ffaf424c2023100d13eb76a89ff542568994f3016dd62175c014332d1c5081f9bd3a89ccd4c1a7f7b050302c01887b846c021d80e5491e80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306e8c2a2b19ccdbef344435d3548de0fada3baad1b5f0e8e01348736005e8d4781e629cf3332f84cacf383c021f095753023100b5421b1f459c7c7a2ed2aa2c85fc36aa3b5837cc896b4d2afa86c85a4d431e38ab8701c73ed31f6661839099fc1f26340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305b16a3466e292d09c3f1cc38313fa8887bd26e28c983cf2edffcd9f69b823cd9877066c4e2e120865ba55efdcbcdee0a023100fd154c2cdb38e43c4801c6a7df3d50c44d342ed44cebfde3d3c27e4b1337d0e4472c8dcb089ef17551f58118497caeb60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023051f0b75beec662136e9b2e2a8c6e5266ada7f25018017eef0ac151a91c03040630cc1f913790690530ffedbd4544726f02307017b7c584fe8787d9a93426e1160c17e1aea22bb99e9fae91943e69a93fadd2bd272731dd532b7ae5e01e77b480c9410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307b0f6896ffc152af92231ed54ac978363f4989b8f93462e17a0e3537ff549fa6d82fb1f040e3ff0f16d55ec408761be70231008646b9bd62712a417e02a26e30d841be10772e0b95bb6bd2c758ce2d26da33a4b258bfb9d193bed4dba73ba07636b5790302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100997e64701173627937ddd72a0e63ad8c4594c0bf4b5332abde1c282774aa5c0e40c4fccb32f0681ad359ab9763523732023100d68c5a8c619d57baff4691c2f2dd4a8f7f00071293013acd2d4e53ed6a05eb2d83a6e25418be6dd55fc3984dbd95edc00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b6e6125c79619dd796e467af4c3a4a2bc11e70981047091a4230d8e495551e845cbff95a9b5a1b0e97cb4d8d3fe7aa1002300d6bbe587f2cf9bc5c750856b8fed9dd32699f87a1a84a7a98a5a93891f6bff4cf0d18b9c8f19eda6edcb5ab5afe67710302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100aa2a6f83c3e8c6ce7f3b0c5f1c999976d3cf82f95729cfc9bd2c4bf6b96c01276a53919657077c91f7a4a85d9cb393100230498654a43c380ec9f119d57c8849d8d7bdc551fef05dd5fb48deb57286080f2afc2d8e828fbc95b8c5c87478373e76e70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009c3ba66bcc2c7612a5cd7ab78270901ca5659b71691e18b6c135080322b501fadf6ffb78dac70f7c789b32d24d85750c023100bb130dd30a14b8492ffc5073df7efe680a72c9fcef8d0bb0559c3d4b05bbaa6799cdb76492a90f8d40ea1f2cdf38821a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023076815366f01024889a0523c22a4f613e3b62d49d88cdcdb93362ed667647bc61ef9192e674e6c5d1469a625a0fb02eed0230053bb9b9fd688dd6c66933f587fcd93e3d5c9d9456696a9795c6966426fa75f471958b8d45d7d63579f36db23f53b2760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310083e2e6b55d1da670aa8fd20f1a5165a44d9230297b31202823105312508353137505dd6229a0b171fffa7cb6f3ff9ada023100be64ac6f536e2df2414177ba9181fa717b3a5399c63d776984139968efb9cc428cdd5708ce80b63751429fbd96f0533f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e2a7359e29c4e7edb1411add5aa0c91b5df681f215225d2fb81a412808908b25e0e99deb3d06d9c713568255e962c908023100ab141878ce32c6c91fcc9a52b8761228d0cde80b38e8694ba7ba20466e8c68eb32a35ca764083f843432a04db7f862ca0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e9b2c573d247b7a4555ac1c89500f5adcaf9c96a243752c2fcdf83cfe3cc5eaed9de86675f0092eb97830caf5c4983e802307012d8fc3f5de85b96d306667def9b5fe6fe83431823d6dcee4c7e2901aaf873278ac408807b78130c627017d406b9c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230737e99d63c4929052a1bb9a64a192db978e6d17fe62dc440605aaa573e7d4f4a55b78222d43e08a7e331c135f973893b023100cc0e7cd888414cf12c9ffcf39e8dcb19d2213b7bc407d2ff410666adacdc6f30bf93ed339a2da10f91d726c9d3442a770302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230118a54e9962cbde1acb2b7be97c4e27f63a00554ffa41c1be1f401df40c97e4b789a6e67c0448c6e972e7fc3a6e65045023029940e32014482662823cac83cad775c4e459c9bf4e595e229d9d0442b220d2e61938175e425c62edfee50d9ef9c697e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b3b065784021c21510e31947adbf3218451ecfebd553eaf8a7cb6978fc4fae8b9147abf297f2c57e37469091bc998488023100cbeaf801d6a844592fc0df46c05f5745f3502aa3db19ef01250d0a88c08d3469a80f39e8a376861740bb0036e624d9ff0302047c435bb5006730650231008bc4d9a5655e3e189510c5d20a54c6a37e6a69b1d4d3f8df29d31956572111f492660b9962e54b9370c52297c48dd40302302bdf1ef20dc308c5820bd0d7053cb956a39bc3b1a88d72ebfdcde6bffe1dd3a22bdb33e3d9c68ce784d8a294ddbe7f9e0302047c435bb50066306402305095a17154cc65072d03d8df19b9b75f262c025fe1951a8fa300f948a14d98b98a7dc94a3d0704ddf7d4a1003f0ee547023055c3f49024126540a19361b566a4d8500fffed51ff77d8bd28b2e7cae53cac8b830f0056b4f7d84c134fb3947957bc810302047c435bb50067306502310097436695e10c33f25e0251f59275c8c979dbfb266846fd6ff389a9d363b2518392910f3ee16985121345c04114acce830230326973a299e22a0c48d650a818ece8a865faca3d426c6e23b6821c563748c38aa6711c7622ffda102615a1d8685063930302047c435bb500683066023100b6e95c2b83b5f13beb4ae7b9c5776b791c7d4c433d483ca38ee276891b2783eee275992e55b156400ba56acfd18593f4023100ee3626a1572b022af39ef2da6dddf51969fd3854d85a9923549f9c817b4e42733c86f9ece4e91c58a193e5dd650a96410302047c435bb500683066023100ba80ad8f76286beb50f02172cd51a00b785529a03e8611235f443f8866b7d01d072bdbef81eec115d37fcb65d4014175023100d1af15466358878c670e7135a0bc8f48b4454368207a044acb02d6dfd1988006fafebdbc7019d7ba7c3c1f372c749a9b0302047c435bb500673065023100baafbd6fde06c6076f22526adaf1be5438ffdce702b060a3428413c6083feaae847d793253d3ad29d276bf446198d0ef023025d3259e8fd835b8ddb3eb21266a5507811309c0337a85d22c6d641acc5909cfd9255cac49637f6284c1805f7530770b0302047c435bb50066306402302f00f1dc30a2d802682b9a9704af6631df0f5d1284b1bc27e41a4584f0655f28dcf81cc28e4a9f2d24e651cc2279e69b023019c2fc04ee5373294d8477cc45aa2190b7afda919d30a6668a69cc6faec018083d8cb0c4517c50add914f3b03503a6250302047c435bb500673065023053ed0d4b115bc0ad248bf38c46d2beb3f936b9c839451733004864e8709ca608bda6ce294014ded340ad0f1e2bd6076a023100f50346c996e0f7129aa2582a8ff054a89c737408028c420264cf7b522fcc7e6cd08a7d9b62d23a1e677a8fd41f7effb50302047c435bb5006630640230369678b95de2510c3b39de2a2859fc37bf8c1d36c88937d58d300d14a6b293d4735fae9d152a4fa048f87d0e048c08d902303194773d97f746c1b9338251cd652575c246c81dcee466282c9fdf8063312954986a6c0b5ba136ad5db8fa5ef82a57260302047c435bb50067306502310081104e9ea7b7136f222fbce037edaf7f0d92a4e04f747ab34b0864246012b2609478b6bcaec98e0554038146df3287cf023037039c962d342b64a45a7cfabbd7690ce988232af3d3d4bb6f0c0dc34c443188bb8647023b172914d7b7c7280497946b0302047c435bb5006730650230779f3c1e4f951a5dadd3794b466d5a20f594a96dde3c77089fd0047f9e8a8ccd8425cb86dfe98afb5158588c7f31a295023100f1ff0e18436a93a15e7ff1e6be92ddebb3624178e578e6a6499cfa2b8b06ccf902f621983f875e817902ed6b6c0996720302047c435bb500673065023100fd702c78c9422512a62f2d189aece65df56116e9c961117114e88159c1d4076c8d75161862fb1bb7dd88e5230b050c18023074105b0bf9c3d3a8b9f230288c0af263931957288a175ecf249f76fefdaf310bc35a5850c707013fbc7276cab00728ca0302047c435bb50066306402306da1ed4c1ebd877649a89a669dd3dd5e4a92efee2ba6c074eae722135fefe3cd8b9efc0e368b1360242b7b0f385a427c023011856a6e9aad086b0436f2e5eb5df3e1afde299fb4cfc4f99349e066b18e69361ba7247dc8378a797042a063f5cba84b0302047c435bb500683066023100c5e9fef4163ec6b288a26ba43417254d7f60dcfbf9a1e7dbba8ccfc52a6aad9cef88c936fca465c0502b5c1c631353c4023100b8a8f07c9b527fe26feca0e60608211f7e57c9b3212f93423e967a9e6b3df77d5885cae6e36158ecbabea548fd6848080302047c435bb500673065023100a9800cb4cc96e9cc35e2d0b0f868aa170f0040ab970bfd17e276030d0dae84428c6871ec3d765bee6c32bf8233aa04620230654d57042d27557c2032d7c752db76e3ad711c270c7e5c6ebc7ba4c8f8280af97e98c1f86b8c2c12d17c41c89eebd7ec0302047c435bb500683066023100dab6ea0d4175d23338c94a5a4a1c2d7267a819e461b0e11fe665b938b1e3962eddf869c212636a0b03fc9e8c54468f8202310094f6a2acfd4d549792cab9dc0fe51381a4cccd9ba0df525b22f6da0a2538aa9ff772f58f6ae9068ad0edd9232ffbd6fc0302047c435bb5006630640230773ae2665ca34cf29bb88c8b6fab29f79f62600aa011a7687b8cb7ff8b22cc1e74e9579bf03f2e9527a766c3d6c671c6023051a9b7e322053ab7ced840f1a961270bf9c548530f31b7f15e800449316d4e055f591d7f000e2e4e0240d3a6dbe0725e0302047c435bb5006630640230729932635c9f33a6d90f22c7097264cf0da571958b0425f063755a3a0faef3042b3989515f16ae864a0bc0c05aad34fa02300e592010f6b74266f60cee1521f33c720eea7152ef286e0d3b9f1c5bd17fadf924644805145d5ef2647718c846ddb12c0302047c435bb500683066023100b6d89a6f5dcad25adb22b7f7ff81abf392108277f552539ac77dceb195144793e0c95da2daab09e4d9b304dde13a72d7023100e6e7409c46da39eaa67a3a9c2e5fa463ea75fae3fee19115e12893936c968ee5a2663cf100561b996915a78982ace5590302047c435bb500673065023100c470d7f861c5fd6b7e54690b811254e114c73e80c83108ace93aa2d3e2c3d80f58783e57c7da343e25c54f124651c3c7023005cad146d2ed65eec38c96f35c6cdc4e6f84f6a7371b008c0370790ce8f2ae30a844b52f9fc206dd34a93119a02b9bfb0302047c435bb50067306502306073216816abe773290a775fdc59e527c08db6a4c4df0788441fb47e805360f9708c9aa62fce98fa56e865998729dc90023100c716e5ed86292e63e0f24df804970ff5339cd4f67ab02645a1dc91708976d685e5aaac2c0a0a556e5e15b1f26df1e4330302047c435bb500673065023100a85c9e5b4625428b6881cbe8a0edb2d50ecc67c41ea59c5900ef0980f5ca0f2a29cfe531be9c79c24470869eac5ba6b90230784ce833533b6ecb54c2522731e3c143919f3953730d4816c91e4964865e9675689d79a70110fdf4154f1adb0fb34c6d0302047c435bb5006830660231008e491457d693e1bf179665a19be146215c565c099ee3aaaf82f86281fdf76d67cfd0e0ac99c1dacb610a33bcff3e1745023100ddf1fc2ec6c86aa51879ccde76dac04e20978d895517f623fa78bd51e0969c1380ed0659a837f6b1c6f2db6a2b33d1ea0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c384bb2392d833678f362184778f097c868884db8f8e5109a9042e9acf78d783bd20e3aca8ebb55672bc9deb5083be79023100810a10d5f273d33f7abaad462b64e1688a96c4821f9e50d3009085e9e5b33ca290bb2c2d2d44989cb0ea915190532a4b0302047c435bb500683066023100e924e648ca06a171f4aaed40a6c5c938e628ffda5a3038c7f328f3c69b1e07fef9b80bc306ce6548f216074408f9c251023100dc7265cba7a9dcb69691afbd24abdd65af5e00084c241edc49400e4811bb749b73d7a7cf9a60a930fdfcc3d216896b010302047c435bb5006730650231008d320fad654a888cc99263e19fbd7d4f587d77ad5b0b1a26e8b17ac164fbd6c9b2c95987d1d2d133f43b2974587f59b102305a93e8d1a38ca48335fe2b316cf9a4e358be05c337b47bb245872d0dc1c7ed114962681ea16a24f620dddfd7e67f24d00302047c435bb500663064023061d50a257ca7ff55600681f8b31a781161d6404f573d240680945a0822a2a2a56815f31c74520c1451148a1d2ca0181a02300e429b4e3d1fc5c42cbc8b73a43188609779d55fdabb18277a13690fe56755a9a153ab8c0867e15a2d3bd1bb68573f710302047c435bb500673065023100ff0cbd8fa83ca2e81d59a7c74918a0237cacf572edf85eb11f018a63d54a419000599d11dfb6a3ff35fd034bfaa802ed02306c3079fd521b5847f347117cb2da148116baf1193f38bc64363e07a2852b9c03707b720810cfc22c574c1ff9a5a0d33c0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023024225ee422bbe1ec810510b40fbe2aaf5fcc1b43c5b3608f76b8044396e9266638562cd28491cd898b555bf84862be3e023100afcc4d31065e7c05657647c955dfebb0943ca49f79f0b20613a9a2887b89c863e2b7cf513e9e846e15922f4e420973300302047c435bb500673065023100bd243f38c33150d843aac640343451d54b424463ca793bc02239e134fef47c7d44f7c04ff24dcdd695366639ad888f03023045fa05a8dc9d09939fa37ffdef5aab061f3a7afdcc3d9093ffd9d0a759c9ffb7c9685f672ff814507e84a1429de2e3e40302047c435bb50067306502310098f9910366c1c3568e8d936f24445942969bbe9b4b346a5d26dc2fd45b4f406695eca01737b02ae7056fe4fec4de89a6023077e7d8524ca883f5f6b7add62aea55595129a2b6eda1571da6e8e5fc4d8971f8caee68f20b9a271274d7fc2d9f7ecc970302047c435bb500683066023100dd6c2874d61be33b6e056526d779a77c4f7aaf54493886c04ab52bf23ce587ce26f17b816fbc8c084b42c274961a6629023100df8ca0f7dbcd395a11fd1583a650d02674a262f5602abba81228344adc87f46ee5734f164efd257d8965c269bd3ef38d0302047c435bb500683066023100c4459d8dec33212e4af629cb843169e47ecd8a1103ef92e7fae89370258a1ac61220ac132498be5cc75acb65ff5a0da70231008ddfcbfbea00e7ef811562ad65e75086e23b64b7282e8c8499b3ba7b0382f9d5ee99c1b9e143063a00bac9de87d468a70302047c435bb50066306402304571d5e7ededc3433b3b4c1497bca33a417d25f23962d2f867931c354c9fb0febca63a551d256e7c0cdb076c31ba481f02303b5d5d48d0d03fe47c2a847caa0ca01ca648f38a4f11cc32a4a83956d730183a8e209cea715457d4173ee7bebdfff8410302047c435bb50067306502302d19c2c24163cec4b3f1216467ed36310f0aa30cb669d4d887a17203101620ad69a2c66fcd04ff605415c6bf48a876ed023100bf37160f1f3ff6285246ec21954d99657f1723c35612383eaaf4b4e1c489e89f5add863e0ed5aaeeb5bc9ac6dc8003630302047c435bb5006630640230646696dab46d5fd22ca0ecf17a232c7eba35031f8b30a2dd417cb1fae20afdeb8ed4327d0d4819475fc37f007c457a1f0230613f2e178f0400e151590609372a1bdcd4a115359e9392da315173158e63254d5857af752cb5659cd2dc49b06db71ece0302047c435bb500663064023058d6daab615d8ec518044bc05ddb77919d6bddffc3b313d8aa78caaa09e5d9c3f9634cbf8d993a5f7fedb2568439f8730230164c74bd7833d9bcd77b14461540a6f3108c72c6aba8f2f61a58eee6b79fa0acfd5d46dd3e2e742d7c7e0c57cdb135d10302047c435bb500683066023100fb482d29139f50a32d31128fea289cb205b4ad25668f08ce977611552aef20cdb4a9c6312ec1173dc823f0aee6ca2c5f02310095f17ad54f0645bdb0a672a89717146c12cf604e335995283593002fd0cc74fe417994d928b4dfb948458a0ebc201af40302047c435bb500673065023014971cceb37bb45c941df03663aaa3dfa9166afa3a6db141418d6190e74c4c6219ead2eb5a6bda0608073fb04fc4540602310091314a440512b920762f8b4d8adc664be1e2f148baed9299202562dbc9d36719d860acaff7a7ae4994cbeec3d14b867e0302047c435bb50066306402305397a3b715d3c51d4908c17e3246f899de468f77133f845008fc1c92523f67d1ef81a5b5d2ad7b044d55e242e06199880230356232593e37e31b3f3e7814931514acb6f75f7c33ddf269b27028464954afd480907d370d39937641d517ebda73ebbc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303d749e2c21fe78863845fec52934f482f109564890f662cb150589ae74c0afe5e1e12f5ca3dd1287f84dfb0633aa851902301524e83345b99842574b0eb947d7fd25068a15c7dee5d871638c5a628f5198892c361e80460c68869cf7bd3b85727f000302047c435bb500673065023100f987671420d2a956bbd2c07769103c60281fccbbc8d5235c98ec34fff241831ba4c777c9ebcd91311e945aa0bff497db023048a7b2840a08bd68f4c69a2eed0d671fe45fbc094dafbe1a8ef20bd88a7098a2d028007b67cff5cff32b131b272c2b180302047c435bb500673065023051f409d95d7fd82841d23bfd0d0e67240ff48db0818a3a3a6a34e9a659addcd1647d5db54ba89ce4ef6598ff455e3002023100a9179d19c51e3980f515b52abd940bd7c85d71f3d451fdd60acf4bd51a4164730471ee4a2d2f1ca920f2bbb5319db49a0302047c435bb500673065023045c299fe315948f3359e40a7db76b5efadb7ea9fbb439eec077a35fcb12b960625e0dd608f534835e3a0576fd09393c1023100ea1370d01f0952955ed631a70110a7eb09281bbca9e98262675a40e438ffc5bf78c55159127ace03458b32080603da930302047c435bb500683066023100c8df9dc9a5a5ce53ef088b0f20c0db6b709541838f4d55a6d417d7beae3cd0e43e3a69c4a8aaac133c1cb430b2254d2d023100d2a7268daa611766d91d128a2162da681777e63e99b966c5dc37ccc2e124a4415334c23e1a6faddfaf84eb1f3a75bda80302047c435bb5006730650231009e2566b8508e676567ffd19f28ab2b073efc241b32c2301836a00117d7f00bcc5b853fe3966c786eb2f8974fb1aca8ec02301bf008db71fbbbc192222b1d9dd1dca073f54d24af59ce761101d20745cc9e66d515b35e284a6be0503f5511cbf50be40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302f602b4477253b42d1b705a22e5b5c105ff37eb27caf218de4a7b60453d5c1fd9db0189c6b1f899e5ffb1595148a1b37023100f9a7b7afb2a2b711ce114ce7baf845b58310770d82c658c615700e1b54b2ed5008bdfb5b78d6e1f9ad3837922934df950302047c435bb500683066023100c79625a966db139e01eebe3d13e617480d5d16d4f8390ef18894e2c24de0918de5ead2787afcfd8ea3f08c49d11f71a3023100a4ad5281985185d6ec9fa4314841f53575fec89a7c27222fe4b04f5739ed2006c2d20387f5fe31b5fa3e94a1da6d952b0302047c435bb500683066023100f6ae824d6dcb39e31f52b501aa63617186178d5bf4d4a3bab0d90b84843bf0d618eaf88efd0d7e282011e488ead0b4a4023100b47e91b556262d7da1cc6c957d83da5395a3d0afb8753cad4f3b85fceb091b1a5718b56104e90e5eff7c59bd73fdc7060302047c435bb500663064023029f504f93e9387ce2700c11624413e518c657bc6970db2c08588a82fc654b83ce4d313fcd0421991aa10189d52cb05cd02305f51a8a2b6f039f2060eb521d3a7f53bb998e84badf04e5d946fe945f94d65d1b48251e5560772609d4ba89605dc1f280302047c435bb500673065023056d31fdfec192d24e155adc6fd2363d65d07d0251d71ef31277c6dbe5ce497c5f52692eacd0f63e8989dfb262a379847023100e1004ff883b10e5cfe6e38d65f0b8f0aa145f0be6b4508be360dc7bc67db460a740139fbe33df680ba6c0991edeff6260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cdea3b8aff888c98e567b93f4257a5d5b028d00ea3986776f1b587b82556d865c466da9de81c0aa43121f01fc4f0f680023018f70e1684295e5e3b416488ee2659bb1efccbce62c08758554d73a407688b04c67cd356cca4bd75c25156956d53f0c90302047c435bb500683066023100e8eb5a6b405e6f9a9891417ca7a3a95b34f7a7f81d2c66ad4fc80da18b7f16593785d9b9414ffc838993a2fd7f83867102310094c5ba9161406543928df43a268faa086bfae9c25ed95e9cf73cc2aca89382fa81f2e209f6effe5fe5057f15ad5f86fc0302047c435bb500673065023100ba448a631e27906ec9bc555326ec8f868633df02c0814c2d1dd86469f5ce4c454a839badf10a5d4c0a7f617fad8d31be0230459e77187e788778613cd96373bf3f8eee73047326200f8fe5350338693fb33519f0389ba275ad4ed33ac748bbf74cda0302047c435bb500663064023034919094acb3456fff0b13d6b9a1a67068db671c0f851d4ebffa34fb6c8a3f81f456d3324c0ca97e5b2a89df04a304ea02304c70e36bd283641e8eae3c8c459838b347bc1552932df934e0bb13e9faa1dae19374cf4a5f84e3ba97d07af5808028980302047c435bb500673065023100844d98e057f1b048c9e4ed453f9b27ac2e5ea410899488d74c9b18770c4aee5b90d84a0d56ef85b5a0a0750bbcd374de023071bc3af7d33cc01c145ffe7b5c632eb18d1d7b93a1430a7188e3632ad7d3e25189fb04f89c0fea299541649d8c56185b0302047c435bb500673065023042d410dad4981a0b4040c30d3578bcd422d44d6446e266a8af28934479e56d7a72a7b4afd9c7825a94ad3dfd731eb1bb023100d5694901a2aaf053e43e600915bdea49345e9eabf6ebced34402a98df2d6ba62a3376ef103d618770856b05b9be891e80302047c435bb50066306402301e36ae156ae8c34e660faa13ff6a7bbff1cd8d803ac7d1aea52f2b7fdf4a661cef022914b19fce1b36e60b7b07717633023064df08a3197435a782413988e4d01e0c480b5f9e94b18dd1afb57314700513e240c7b7f1152751fff4d4aa8fbfc28e720302047c435bb500683066023100a277e95fc8d3ca0a0f7a61c8cfb5abe31d16490b1568900e3fb78ae2e66ab86d253819c27763c22a0216a3a84619398f023100e3ee6ef990b53f74ef0c7fa856d67fb4a2148a222f4a5106e10fe04be09411013c50af24103fdb9ec569c29d6183bdc90302047c435bb500663064023055ad05675253014151538802ef432530dbcd3f1c33d2e79d9873f4dbc488b30e7425397b3ed0bbbdcf36bfd132d9b85802300ce16c6e711b6060071080dc172e6e41e8a600496e89efcab641cfb037ae654dae8c4ae01d27a859e3a1804bc17a50b00302047c435bb50066306402307aa0ec12ce87dca3cc8b01a161386079939af7ab49ba96d7f2cdde2e230bbf00ac8322af2ddee6eb258de2527b5948a0023001f28ff1d7cb1277021832f99dde4063b48a6685d4fd476351a4e81e986acad409fffaa55f52ad0529bcf185ef35d4fa0302047c435bb50067306502303f352354e409991175bb29e4c911160bebc0ed669b887a9c7582bba85be6b3ad743290ab1bf7245b9e301d5a500efe30023100d3b157e8590197f8cb53edac255186ebd45750c08edd905f2b6e170c7cb01e1d5099426307622197b95475a96f7e931d0302047c435bb500683066023100a60f1af0e5c70dace6926fd97e9d6db0027c23de1a52bef1baf31ee5e3c246f66c21a724f7dabc881cc194ed8ca9e38c0231008a176c251375b3b26446bd19187ffb2adb3fbedc3c5fbd5f3cdd2502a767438c8b5d4d46200244f0d2df16e615ebbf4d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306289e902f9fbbad25eca7e19202ea82115a6f8e1e0a1a13e0663902f44bfb235d2e1496cc782e55953bd07fa67b85857023100de1f84929cc1f6083777bda3b5b014ce26b9854f61ffac7c39f45555facfab2a0ae302afdf9e779b715f0914647db88c0302047c435bb5006630640230674f38bfaee305218dc0604930e01835ed6922dcbe556d4171a2f4753e2a07c65435bdf83454d454b1cf6e565ec5a80002307d0364a46e1057883fe80d4db1e3cbca83e12c7a3b315418edcea40c6ca036cb2e850228b0ee53e5a1cf0f49c736b3490302047c435bb500663064023001a17c23613efb4dac6691b78905bbc241a8f4d8c6b0c0587c885e7aa6e3f6ea0855f69c0a5c02fe124392be589472790230239484cd16e39fb2b33ca12fd7bef17dd215a2909e8562a1c00cd564d0eed3497713f9b941e8d305b6fe57f86c713d160302047c435bb50066306402302a943fbb8d512cffa6d6d960971d3b02bc5ea6711e10b4a8c664d84cfa8fbe96fc9926462f938fe6407782d16fb7cfff02301d074e96c8a4612b6c06542c98f0f2498ff821f7a200cecda0ef441c664491bec0a17d27cd5908668ad3f137b75b8c320302047c435bb50067306502304f5f2d52cbdc3dd0b39814adc66a9c06611bf70a794dfe7c7ae2987121de8ebad57a3fde3ca9027b67a532697b08f6b1023100f46a544514fcbf999e696bb7888f681f172b1ee0fb1ec5b5e5ea5657fe8f1f445e38a10fa989df36241d842ee760c09e0302047c435bb500673065023100c425a8ea01bed6ad6dd06227ebd66b5ef83da0f7484589f1c4b0911b9dfc0c9cdbf987c33c657c78387811749c966b4802305dc705f2daf76d22a5716fbe9c6f2f10ec8a9de805416e527655e547e66a92fcad7098a9957279e9419602c8cc6781400302047c435bb50067306502310096d1081421783d7a662f007a998f4d84e9899c79c1a484c0a56b7d4ebd354611bea0703750cbfec1dd2c14dea62952d502302aa0e97452aab1068cc57e5eebddce129909e6a48911942ee5df7bc580d482631de0dab5df047da545e1e1c20c14f6430302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300e1962b129d4b3f47d555f023a81c59d0c7483c744f3c75971fc4e146f4e6ae13a9ecc6cf447ed1f5d9bd06e2118cec602300b263824ce190d9cc739e30d1dc87026cc6c6d79a9a14de887382fc8bac514990f0144899e88d4ddd8c71bbb7b33bfd00302047c435bb50066306402306234eb5f07da671215e67194c4fac57c5e77d07f11942e9f49d2d5bc64d0b30fce062abb4d681dfcf5df406634a83e9c023076737c089a5f57d167c03e7814c3cafc9c6a562ada2d7970aecc4bd74d240bc431f00499ed6215545b5869a808c1cacf0302047c435bb500683066023100e29a94fe979e5978103f5dba96afed24e64a9e1cdebc602bfbf07320d2abc50171abb938eb226854b69755faf68488f1023100ab89228504822a7dca2cb9188174c6795545c9086fa507caa73991e0d8e956e6b27b0661da2665e2b7a9757909eba2020302047c435bb50066306402306436b451ffbaa17e495e657ac30f6e546f038ffed4b7589ad871394408bb82f58bebd6645f86cf72da2e11914c575d3202306a696928051932c73e6a7c1a264ec86deb7cc2397cf87fbdeb08ed38ba81e220f2f79e66cc8d09ad79acc4e985a6666e0302047c435bb50067306502307870ff4193a7efac379a322a0ae570c099fe361f73d835754f76859a8ed9259ccab0a87af046b38da417094f429607600231008cbb9b1916677aecdec616372c334baa697b86e480792cf817743eb4d82440b50565b88ee2c2cc64db9415db7f2af27c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023062edaa6df1a2fdb1120aa6529c22eebe6e7666621d8d2de620dd495ad8f781b65e6ee34cd20cf0f5fc15239987f8a658023100a66f3937886d9a100b0f1b88f578a6070915cb67efddc9066f689ab74d0be5c7f1495397590c1fbe9fff0263d6c2ddc80302047c435bb500673065023100a4266cb508270b7142bf633a624fb7ea60e42cdd2c00be1c9dd17fc99784b3830e4ddb0eacbaa4cf1f0ead21bd0ce14e02300e8a2d080b5c72663a563a9ac348375898f5d4c8df9e7284938c4aa7b03293269e22c9da8a0b5e71d3b1eddae66e24300302047c435bb500683066023100ef7a999a14bd949be9b9070500c5dcac6138bfe5e071365961113506df786f24826e3ade2aa8e64c19c7aa5fce395ec8023100e851b1a7b1abf6d0508ad06de01b2a2752f001299bb32e040662eeb737d8db611f960b2248eca0535d39edffd6831d280302047c435bb5006730650230039cd73b3b6f2e49c781b243ec535cbaf83b5430c63f176a17c8544e51b93be8cc06a97d6724b454aa6b5adfc2f0efd2023100b4e69c4d3c81a8ed5818bce1ed287d44b8fca47ed82bb4c9150a46bc229e571e4fbdf2ffd50d878fe47622da436a77f90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300a82f632e25d26a736c9a93d56a834093e5f981eabd35452c380188c3b74ffdbff457de9e57d75ea6f7bc33c5a5a1fd90230295750aaad6dda01d7b5aa8d9c4404d85652c72dcf70bf15633d15782c654967b8b1bc290db24ec214edcea81e032a4d0302047c435bb500673065023100dce27a13cbd59f3c7571e0b7f3a2084232b8d27861eee3bd069e40f6e31b430c4a773e19363cfb721c9db24f3331f8b50230276ef83f4ddd81fb37456f1540ffcd49893eb40d0904f801e74261b4abad50c986aa65ccd5f06396276eb5e6e29df3c70302047c435bb500673065023036e92588f7641969e2ab6ab032279416989f7c32fd2ceff4e32c18ef77a73a94995dacdd2e72b99804edb4fd08535b27023100ecb504b8875c2f8cd5cad65293fa13a71920e1c254a907e5d6fb973f413101122b9d1f5ceb7d8b82dc7be1fb61bbd2e80302047c435bb500683066023100f537ec7ae35d846f106622e3be944bb214ba1adcc075db3c21a8ef47d713b91257170045d26e1993714539578df45353023100b9297cf05d2a47403410b882e8051d884a5cf93f6a49c17bd3666194139c9efcad1ffa492c36ca00d75ede50875adec90302047c435bb500673065023071f84b6c81b8244c981b6fe1e1621e3a5d4dcf9f5b1674bb74c283b5ac0b674373f55f1de8c416d1cdcb87499612229c023100fee11c4882b2079f259d996070781cb71a5195e7f3db9122f6bc9902368be9868ab5a48a52e1c67e4bd1058e625e8b360302047c435bb500673065023100fa8c8ec038691017ce80ba1da49d7323e09bd1face2d0d27728429da4e0193f36f0d946a20d7f7eeb237be269522600702306cb6d2a893d6a6d7ec15bee2fdb3fb9f55acc0499cabbbca391e367930854385e3a1c4cfaf0f5fc2a55e81fd6b62d2b20302047c435bb500673065023100e68ea6e17ba7b49c6d2064e3ea11bb092dfcb77af9d90c8cf86a0f8eab7f64a0f80424be3d2af8af7b399d39997332dd02302dd3f69518299b0d189fb7fc1408de291a0e9b61bf181283ba3540754666529aa1ba40280da3cf7d19d86628daba116f0302047c435bb50066306402300242dfd8f89363a7cd5750ec190b632352db7f91f50249c05ce78ca72a13017cd2c32b85415f4f2fd7fab9c33e97102c0230658102bbd1e301fb57ee2fb10b74ee3c228863c311ff45c73135494081ebd089b02810728f98aed0b38506be511b4a350302047c435bb500673065023100afc6e82bf63e084dfd734d1503880254849e3d33a0ee4228e6abf8ed0a64946b049eacb5a5c19726e7f16fa7d0d8891102301fa3792ad04db8f32c4af27ec05bbc7a5a043cb16c853fbcd756ac1a2defeef72ae8bfda63213026ece34fb28b08ac3e0302047c435bb5006630640230358d00ba3b2f05ce1293a647cfe8965638b84cd06d4a8ec9fe12412c45b11420646383298e922be3a095834f7c68494f023014064c69b4f7320e37b6efed70a2f0a9a5d407d067e0e974ec07a6636ff5d0d3327ad49a41bcc63a1ec1e67c58f6ecc70302047c435bb50067306502302ccde0a87205a3f83cf451c867bf77724bb204cede6e9df6e850ac9cc5cbfced19c3325caa00c9ffaa40ed7bbea3d3fc023100dd59b77ed3091fb16f1f516dc37dbe81e220c404a9b1c6b0cad9afb12ec1f54619fc832affa79cfb2510a6e230ca863e0302047c435bb500673065023100d72b4ecbf8b9d517c3d186fcb67418faa156b8b9f947206c4c0f2394703223a8b678174ed9b2b58cf9147242cc41ac8a0230125cfc114de3872c13a6a5224ce1fdade8fc87a3e93646cc3df058b4522cd7b3084a9dd9941bb697164de5e2f7981c8e0302047c435bb5006730650231008ec16d989e403fdc845fa4e893de011ea9f7d96e033ac467ee7f7958a42c4d1f4c3cd69656029e116b545fe0f358f52102306ab37709cfbd514903a77f7c4ee18fb8530dc5e0f726a903c787860f9d5f24d046a49278652e10539427e88c4510e7730302047c435bb50067306502302e3bcad11959a5f8055c10c9cf4aa0eb0fc6fb7daa0d606d46181cfc27bf562cbbcdb760f4761299cc1ead77fa373c08023100c89831dc62de440a6a619bc3d94fc585dad9334374ef7dc376a7b0258430599a247b5177486ff5652853723d25163a810302047c435bb500683066023100a1eadd3f90f6c27db5e132f070c8b11e6e9af167626365fe24e24d51107bfda5afb91afcc2f2d3e84616ee0527c29ac8023100de8f41aa9f8bbf813a0945fdace14151444953e033403f3cb61b4df3cb9c83b43afc4874f275b02271dcd18f3ab15e240302047c435bb500673065023100eb4db55d5305b3e2d6382ab6172c7345148e8a523e810638eb51c5bedd0ce92e2f0a96342f98665f41d3945e256a490202304e5295b0a62d669e3e8141a0496cffed9755caeeee78048190c770fcd6645ccd41bc33d96951ebf417cf5afd1e3a44a30302047c435bb50067306502301c2895ebdde7ede806622c753cb69f0cfa75116e288f0f75ddf947fda0d5e6447648dc4ae1e59a00b13c970435ca0613023100862ce65425902b9c36ec5b4d3964e8ea76713234cd4f3464e3a86674c4e1c610828cc5136dbed313febe8eae1562e6650302047c435bb500673065023003a314534d7e7442bbbdc4c5f255ad304f8cf8b1ad6063e8926d410be6bc284c3d22710f2b194c6440a537409dca8892023100f44a980de0c6179f9fd184eb4c401cf0ea708bd292d4149525ae2763cee6e4e544fb9b4b2deffffb5d0f5ad91cb828340302047c435bb500673065023100e726d4b0167d763daca5b85b7264f7bc58645139c43a268a2b003dd11c387d89e7a2a6961c8c6702dfa6fd2bc3b5a18f02302a2b2ebc94a523837590d55dcbc01252673d0efa70ccbe3068b8c1702118464c7ddb13932901fdafa07a9e0cf3d1ee080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023059d160270fdce0c6d493cdf5b7b74d279a4c9cf1032421456658f2823e7fda1b9fb9fc07bf5b433458db4a4043cf2bbe023100de36b47325777456cc12c66580e12e5b912cc0268a6440fde4974900778281e8056643f3aede32f56c6c181cbc0b51610302047c435bb500673065023100c89e78ce5e4a0b4c7ccd9054e3c6765849052cce9025ab186793418b37dfa94dfa2497f4a1ed8a75aee7c6b0dc48e488023012108e856acbd3208d1859f7d08d41261149e0c6048e13f312660f370d6f7b48a30fbe46cfe313d6762433e5f15bad070302047c435bb500683066023100a92308212654fd3891064ec2f6ceeb5278b348d58779ed0f149a15ede2656b0d2c90b24e6236e4cd7b13bf7c991b77380231009d74fb47a08863c85ed606238902b05d81499c0332f771631716fdcdc8998037abe335e8033758cc661fcb55a2a25baf0302047c435bb500683066023100b1767dfe374abecd36a64f820e48c94410c4cd2d507fffcab0634744771e4eb751eb003fe7348f47ed973ad0dbe6bb57023100d660029a000b2acb8e8c38147cbb2afe3cae6d3faffd2f3919111bb56806cfd2167ffe9ad472b0b25c5bc8f6160ac8570302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dae55523cfe1163b8af92ff71b041bb4bba72005d96e39c93e3829631b9aa972c6388aaa4148b335417b6b5823e18c0e02310080e646db78d5828b6d87ca9090938aaf612bda265b1d51271aca5c25fccae38438b760301a14c336da780549e476a73f0302047c435bb5006830660231009dc46f710946dcf08b695c971aa147130dc27c7956fcb61be9e7d287e65edcf91f5604ff44eba0fef25ee0e9e73d061d023100b4e2af9fb7708453afd22bd0fddaf3a3dd5c8515db451e66a3cb0cf25171ab66d891c498a144cba72e70336b5a698b6d0302047c435bb500673065023027f01fc9ffde5f43ef32017fe608fb118b9865acc73797f270513d97e0c079f928f3aa79a7ddec4846bcb748e6837fd3023100dc5fc2da8fa4787f06b9ce61ca32ddf80c40452028dd24e1954e00c98ebf363ced8c9d16aac3fc0cce30fae9dbb9b42c0302047c435bb50066306402300ba3828fb89a667d93842ea76e95484a56981e24724957a61194d36c68c774a3362204ef480b82bf2f9ccc048952acbe02300fefa931423559a88ccc69496a0f5a9a9ad2b3c1432024ca6e1ecf1ddfeb923a3d96f9355d87a473461e4b0a87c69b910302047c435bb50068306602310091a215b041212a4184db6a8f7e93a4ee6199664e87df35ba62bf2b5a720c81b43f78b483eded47847fa69035189a0a72023100b72a96eb440f139df445f3406dc3ac8c4ebabadf5ed5c37057a864201a1c6b3b4e849d90457f76102fdbcf40a68ae9660302047c435bb50067306502300d74ac9371b2db6830de5ab45e692e5a938072fd91936825c648cbaaf7fcd2d8ad314ea2b838dd710efb02bcd44cf9db023100e79984ad8d15ef50b6a4f107901821515a1509fd1846f9404e4541ac0e217f65bcd2278e999168f5101bf8e535195f150302047c435bb500673065023100c79a0a99accd24900b6664be6d516e543066c37e034b2bdbb36e7e80c5db06840a3118ce79574a56996a1178157e128402303db609c19a3432a237d6b9b994d943109859d0564e201750dcbc57c3610ab503eb0e3bb3ba4a410fd668302e6fdb6dd10302047c435bb50066306402300fec63de293522d31f68b648db7fed7e489ac9c74cee53fdf85b50b68985357f8aa8a908d6e0f5e3f166c5ef6e9cca0c023067b8f1c24b3437db65b9723b724f930e4981dc82610d0710d4991a9316df62f6c621d51d3fe1b7dc294170b00dfff5d10302047c435bb500673065023057a1976a9ba1a18bf8229df9f20371b3e3a75471113659f916cabdc26671dfb599477ac0f30ff66156474f6309a7f3c9023100db40b8ab003007ce181786556f48e1393e0d529f5fb64dc979230ad1a490a3f56b5f3cb702f19e151add18f0921a61500302047c435bb5006830660231008c799467878adb79d944d364c7358a30f9733b4f07fc36b452dfca27b03c7bff6b4c4972da4993522a0e8822571332590231009e9d66b67e77ab70222530318edd0703a2358cf4d99dd14f59be88573b76d508ee93fa390d82ee0dc3e1e11a889148750302047c435bb500673065023061bb8715844069f4f65d719de0f83c5021051cc8b32bf8ea62adda9d243b08e64bd0da3372d15bc6643e96da516fea6a0231008673ca64a46b7ac235d3d9677bec02565f512cb7d3067c70766b0d299c114bc4b6c0e203792a9f802bfd2c65ab4742310302047c435bb5006730650230553bacd8a2ad968609c20c06a6c2d33bec81fa0dc03eb9103e39d0f880e5fa7117e57e40f3cb6846f5c1929dab232b0b023100e71a3cae1c4005fa5b22cbdab2946ffbfe0e898ee80e69b9646231ee03e609a6404206a5e3012774024f8922bc08296d0302047c435bb500683066023100f3a575f5d5a843e77cbff4868979f61b8479c0583bdcf55edc050d82bf61464cc9bb0a028e0ccc5ef2d3784299287afd023100c9d77c11a75cb52f73e10660bc4350009e5806a95df93856e0d783a8921498a628ffb72a974e20e5e6427cdaf38c0fbf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fd2a42b97d500a82fe2f9982d8c2021287b73c06ee7f432f44eb8ffe5d249414a0688d07e8ac5c747d3802cf942176ea023100bffd6dbc5f6c3d41762245540090efc8a34b28fc2265c68d5814c6cc92a762784172909f68b7f0ed2c6b844e96284dea0302047c435bb500663064023047d0ac3318795e312b81392985c26387adaf4cdbadd63fa731b3c7f9f1d0039cb0b6679a27474de4e8e67c5490215d0202300ded8a0adeb55a3da9a3ac3e97ac482633201dcc21c7e3b2c08a66975ea198d141b330e58b3b2e50f697a919cf2025240302047c435bb500683066023100eeb90ed580951b61be18917536cc70e30394aadc03d83bd8a4cd6ee702bf793a281a4348e4d181933775125044f95a890231009701467a29ae45f8c59fe20b6c757186d45d42afbf4f07aa380494ce1457a6b396e66c29ccf419ba38481edec0ee31990302047c435bb500673065023100eea752297dc0cbde4f9fd5bbe08b25c43ea946db2ae33cc6485f3ea578c8beb0dfb7f65fddd34dadbfaca1b591d2806e023035228e107998f1432ef83dc6b0aed5797951d1a7bd1c695b9bc9f64e9641a3fd35fa3e62628753196913386394c796d20302047c435bb5006730650231008f4047d4e44c77d6e7f49df210eb3500fbd833d4f38669cdd7957b350df06fc7f014311c59ebd6b0f73fba025d0760130230184369c6931f21949b62537714c37f9f60a5e9dc7a691ad2f1a13055028f2ea898315bcef04f321fed60140c02a5878a0302047c435bb500663064023011830f38df042c5880c7b4610f0dd4fa582a23811a39f7ebdd116ff88515d54c565f8614453d24bd491e8e1e9c48ce310230692f7709b2c8d595880f8c98a5030d5c3bf3da2e55147d37380a0e3f3a5f5dc5f32102f67ed3b57bca6b5770559abbd50302047c435bb500683066023100d541cd890339da513c27558cd64d9e067c36dc2be07b1568924860dc4d8b163023f50cb7a38ae00a93e4c0415285c9f3023100cfe1b3443b2f25ba91da526d4c4e96e0ee84d8ad9adae3b1d767203210912ed32627523198ca4625566148549bbb89ce0302047c435bb500673065023100d88f5507815deb5c3f60e4cfd7b6568d32c7d34326f6ee8bcee88602bfe1b36d2495bd2f57cf274d4b25b381f2fc8c9402302f2ba343d1c87c5f85e7048c1ba90b2727d35e7e3d7c673e983e5e3acbbbacf910c3af00e9f288c0dcb7bb88372ad8290302047c435bb500663064023038cf149c34d652c6bd7d22e025d2afe213907ab82d3e88715ceb23023ad099429f4f000b3e50f708132dd8522905abf302303b26659a692c88ac29edce948c61ebc439fe310a375aef71a54a1609c77e86850cc285a7fc0877199e0a365331ad8e030302047c435bb500683066023100f6616e8af6e83e4248a4d06723e6c037f79b067a168c17eb5e1935482f0f8a2663041daab10ddc914063a1fa8d3be5d2023100b279c952cca8888364fa2926c50ec428e51064851f81fb81f36f57463d702a083009fd577e21986648e161ed8373348d0302047c435bb500683066023100ae3a9e69f4cf4df368e91d4564466f66ed23764ca37e5751cbe6fd5f7b79c4652dc6be03032cb188ab2423e550658ad2023100c15e39881b0268abf8cf88f82bf3d3ca9b611731ff9ad8d683d9508bf68bbc3c01e05a0ef97427325b213bb31a3334450302047c435bb50067306502301b82fffa902a817e076eb649c31ca0a37589b557d2179a9f58374d96a44f6fda9997910143796b8dbe6868266d0cd467023100ac8873fa0da6ec6115394426d8650d9b53e4533d9178efe2b4aad95940b0768f7fe90da56ed47ade3077653541ea4ac80302047c435bb50068306602310087230b2582a167fc3ce9cc6796457e987360c104bf6cdd50dc7cd728dab5bf1063438ae9fef986417d51b62582101b98023100cf5cdcdb55aeccaf64228b4dff5d895badde4dc65ff419bf5423eb5de36739d404619c5cb1c3a425e57e75015a5f6c0a0302047c435bb50066306402307e860ea9e25e9c829bb57925b46e7945e7518b3df81224ac613d8016611caac23c1708d68d97df4a632e934db09dff250230492e771d5cd2c459880aa7f744ca8a56728179e39724193f846916e7e9013ed5906d532b2e18ec90b464317af7b55bd20302047c435bb50066306402307616dd92d7c27900376607e8a61a6a771ba542853c71092fc0315968b3fd8fb1d0673fd2610e0ea92c3a03067a79356d02307bd0d2963a0d429a8e10ac5f042cec9558ab828b56601c9ce25325fdc26c7d6aca1d18b239832e83e5d6982267d416da0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303d55b127da5f0a1eab330726f4dec57e50eef28a511f54ad605a3afe89b16ae02b72fea52dc932a2347865f97c7eee72023057152c6fd0909034befc47546dac5400bc49aad43de8b2801cb18255346e0e7db3be725897534bbe33537642af34ac570302047c435bb50066306402302d845043d11ad08ce698d71865b08cb6a024f697dc260736965e411e56e0f98d761f1f3d5bdb4cf7032216c0ea2e013a0230322fd5ba31fb6db5c6c1ce8048eaecd568b5e452cca32c82875b445659ae8eda7650279efec248cae1b87cd849151c030302047c435bb500673065023100b4cc5728391524c464ff37607beed1c5d29d591ffbfb6bc40ce30585ef5638bc971ab7f03ad6f00a847e2962f701eadc0230655496cf7d5db092f7f9e99fe83e09989fcbd34cf06c2c883085d3416b50980bc85fa5f09646483fbb8bd39856b986080302047c435bb50066306402306618024a212223ae9428a1b75b17a6ff42382414233295de952056c74667964eb5f59e0e7c0554f3cd260b3afc7fa36a0230505896a98c25a260e541071141be7d78b76544936cc356fd077052243d9c6b1f36763c980928276c7b4fd6a411a330f00302047c435bb500683066023100b930ec4b1523879a41719ab101cb79288d0b44fb02327c3b86c496aceda4fc5f47ffc03f18371da2af3b0f3e57fc90b9023100fd18462168ed609079e9c4c2ba46b7ae339df1f8cdcf9ba7bf60f022919382f7dd17ed0a5fcec6fba10fc67580bae99e0302047c435bb50067306502303780de767eca5cde5905988d7ea8d73027e768acc0398357e14593732a2c9c080dc53733bf052f164b205006ae940da5023100c75ade43ddd419a70ba7ca58fbe3f6900bcb6011932df58be801a3f71d268cbfe7a04375ebaaedc754adc367a07c1a5e0302047c435bb50067306502307bc2e7947710b3317f358d6f5dc80dba33c719306c0226f55959f40be9baa137d9f3f0cf08d95d63252979c333bce928023100959fe77d475a7747934384d6c8b3c2ceb260679da756b2db04439aedcdcb41be341cd48a55d236a576041f71c1e8a08d0302047c435bb500663064023028213264ec535e9317c1558840892c636c260ad39f514c043cac37450889b8f17f49a9566595ff74a904815760302201023077fa79fdfbe7a100ada0c62a0f55e9fbe283ae228b72c406e8445685a669b9d4e9ef4562a483ae633007db58a344993a0302047c435bb5006730650231009ff09c12aa408ff623020cb9f8a55f93a126c7fcdfdc4da2632a1a008b78f4cf5412cc6671fa0b447b709309df83224002304d8df6b82767296187df4b28d7f4f0a2233877e8590a90af4fb2dbc8e9ceae5d675283f1c60ba7c3c42ebf4101aa9f750302047c435bb5006830660231008043ee41c1bbe72451f3f9567dd1eacdb505669b5028f2d1cf1bf5329ab9cc0ef0a6eed7decb87bdf668cd54a2afead70231009c6749d2ca3b81b641bf4ddb15fc482547e2b8d3993b21b85733554d87aaeb9662e1f0a98ee9d7f342da9f77603ebd0f0302047c435bb500683066023100a2ca0798f6151b321cb43a38a983065ae963e14ec0cfc34f4d7f2de02d55ea2980c48e3cfbc6b7cc98b6f1fe21e7bf96023100fc5394107be09c315f21afde7bad87dda94d2dc71b469347497654f05150833f5594b18c66adf424d4d639968b34491d0302047c435bb5006830660231008a5d8afaf1e95639a1b552322d1e68dfcd3713f91e9f1e8c6669903a289e04046ca62dd295a66e9e026608b822a0e4220231008f1baf2e623e93422a968e45b6c632a79813a4bfaf576e474bd700610f19f68a7407a407bebc092af6afa518b0c673ae0302047c435bb500683066023100c452e5f599d156a0880da5a10fc3405440f9f86bedcbd7c3fe75dd10b5c5875667b9cd2a2892e3cc643bd3287f1942b0023100dff0bc0ac0f713ce83476ab674f3d45ca924432f2515eb39b7275c4f54528def7dc734760888e61773de6dfe08191f880302047c435bb500663064023013a3de4e31b9d02f2bd96ae7d3535a6630287fd9a2283f3efda2fa8ab880baad80f5fa2c7db9c61a88a4cd00be0434b202305eb445f91627578a53377cc5eafa8533764203f12659674a785ae1ebb3d1ca68ebc402932d3c075e7f5f35acb02404fa0302047c435bb5006630640230449268d3825b5bacbb9b731097d86d7ca1955352b7dc36bfe694a798fad5dd7326925416a91f741f0ed1d1ae4e677a1b02300e4c92eea8581485ce74549e1eedf0d902e672da80407f9ec134daef8cd93e87b152893569fe88f1c90a4764f7f048760302047c435bb500673065023054190b25f964be01f75b648df45f2d9f45295dbd3814d1ca302bd154b987bd98c98b2a2319f866784c7a810e4bfa6b34023100884b052f7ec587afc8973c42c2736070c6cd2294cdc0a40891d9285b0b8400a3635719db354bddcf9dfd95a9f19f51390302047c435bb500683066023100cf94274c852c7983260b48cc022d0cb1a3230d8ab3f5a094fa83c0cd66e97bd571bd7ecc844ca1bf8ce3ad354af5b95c0231008c6ac64903c682e258cd58ac1750b7332d6c07399b9cbecb2bb26847f88a7d89af70bdfdeeb6bda6b9a8556fbb05749f0302047c435bb5006630640230153a5eb3085d97ff942fd2852f27c78262d27248d075365fa718cb70fe26745b30a03885f321eb2137ecc39acb646839023032cf82e3ce74577421051898468a0407bfeb7421c9bdd14d8821d82b141c82390d9fe45f76d9e5ac035520bb6d7ac8f60302047c435bb500673065023100f2c987e010d449260c8314043a8cf047dd0869170eaca7eecc996c0fb5409b426ea4f37c63702bd1abd57e8429a0877e02304b29ee4e1adc188b612ecc45fb1e19ed6f60563cc6758bb7204ab32141e9170b2414c5725d22caeec5715c5784e6a5920302047c435bb500673065023100de3b5ce7fb76cc205216961bf43263d6a1c489dcd0227efa4ad90425072e394f553f4eacad89c3300d63830be9c372c102303873477aa6fe64f63e3c1ceac1568a800c893bfc6617f50b2b96c833831de1db5cf8b1e4fec6b666a0b0d634319f49220302047c435bb500673065023100cd40eb0058c7ef666d9a6fd224c073e5b6bd248dbf868a3251035ccbe8ff4f6b55d173d865f6da0883d0eea389c1e99602302da79a73d8c470a8562e95635fb7ddef6f4290f10708b2f71684d0b2e259fcb26338b504b1832dedd06d4fec0384e80c0302047c435bb50066306402307a0d70bbf336602e7e098f749bafa6b037baa4fc3311b4f2ad56f4039522c93b06478ae55cf623403a5e12ca648b888202304f2cb7aa1168dbc0d00cf15a48bb1ea63fb641e1e40081461a4a76affdfb49a621a95c82d56194702f7408ab5579c8ff0302047c435bb5006830660231009a16ddc1bf4dbd4d969870a5fedd3da070c7794f467b49073d306728d725dc1072bf5ded14a9f9d9323688fbfd37ca74023100f894fac7b2a304a74336bb9aff769dc7e72bae9b8d65831e4d98ce77988d32f598f6d29692d263d3efd216bef56fbcb90302047c435bb500673065023032ff492ff508e7582266cff98d5b1e22e896b1a9282ba746f61402903fafd69e43e5d613f790503060fd7839d7543c25023100c897d2c203a004f815dd39edb6a43e2d910624ead2980e3087b113c429bd94650b1b39b8b0ca014846ba159ebde337e30302047c435bb50067306502302182d784b0d9318b570cc268d9d0c98ddf67ff1bfca882174bb24d9418351f4ad6e69a12b723d62fb6acea7873006f2d023100c37e6b5d1700f55bcf679c3437f2a95a5b480990c2d6a95edadcdd202b9efee363ca889eb3581329d1ccf1c2ebc637290302047c435bb50066306402306f04615d3e198350dd08c5d75db28cbb994f90ccb3343b0213e5288769c2b019828ec21b46bb9e33e38d90da98b495ac02304b179b0acffc9d5c6bf13a294118d4c71a644757822f91a14033776dd321a4a503e1e3808ee2b026ac065a1895b363040302047c435bb500673065023100cf8a6b937524acb6c554414c0e628be69e9a39bcef0f59bd33f7e475b6d078fd8af547c86e18b2d4edff3b4d5359e6aa023024ab5bc024b8a308e40232ae418c8db69a98570edb039f28abeabe62ff993cfbf173531c7c55b799ad3f725fed53c1a30302047c435bb500683066023100f6d010da417e56d944fa82a9614186993f294caea76d3d42d84c37672470db42e44b30b09df94f904ea7a2bfabf81120023100a0df4da1c1b5650bd10e845262e1706088e787d30874f315208abfa07e5742f6dfa2de4894ab08942005b603a1c8a2a10302047c435bb500673065023100a9bfd5f3fc10f4c0cf16fa44477a41073b383615f38359e9ddc8bb03570c16139cac183f4de169ed157b46a2d6a24fff02306585d87ea94c7cf1054f1313cd10da85795920cb2b6caa1733600be56eec56f111eba617a98096d2010d25f39e0e72890302047c435bb500673065023100859a59cc3069d12ebcd1a5422c0e38289ca0124ff752d17af858387de8a35240beb8931e58752060888e97c35c2ad1c502302663dd9cd5df653ea7ced63af4fb616387a61c878a01e841056a0df5c5970e10f0f56a9a219c37fcb0917c7c206aae540302047c435bb500683066023100fee4079545658d40323601eac8f4b831e2451994d18bb2517540ff8336b13f50a19a9cfc427a51755937d87294e2ec6c023100ef402e45c549ec1e40a56b2cc5ffe3cfb460758d705b0c5313ef672653a016573e26ef73a10d878914c2ced3000757a70302047c435bb500673065023006b34ef949b3432dea9d83255ada0de374bb13dc0e25b7a4c27db4e70a419b0205449833842ff112f7962a58b4e90f5c023100f1d4c90008aa9b92f11822c79047230320aaf6a264af0af0dcf61862b7758e2fe2e77f069b3687d9e35064cf6ea5f9180302047c435bb50067306502310083ee8a93f0d7461ce7eab666ba7dbf03ab736f2efeba85ba27be30ceab80fcf7aa3e6e789adbbe20ab4eb0ce0fbcc6e6023061cbc84bfad959ba74302882edc177c2a686e1964c9b2a4f001f079d3a4418e017c53d4c2ee7ef0a051d2d2a258607180302047c435bb50067306502310086788a5f89d3a0345d6e497c33c9443a02a4fb61c2101c3089a89fa074cdf59f98b6caf1b19fa557a7a6f666b33c39210230430d6dd65e4fe50b96f605e19090fac549906220c558a173687ed6b1b06cfe52f0c3a590a9ce169811a1c020452c6aaf0302047c435bb500663064023053a97ad392dc34902769a906d0961b945804502e74627acf239cc46f136d2b5cea81dbc0196e7eb6a39b279caaf872ea02305cd67a3c1a57e4e73a466de16bedf0aa05bd38756dbfc17a89211b9e84336869fcb5bc1c79772fa6dd69d8bf0c5967260302047c435bb50066306402303bf5f19a3126c9199e7fd0621f4d108835f4cd167d4fea0203e89916dc046a8f97e297f6d0013fe86a64a99d883215250230081666af9713dc5c2e48a3527c5a71bd1d38415fe6e76d6bb4b258684a0a0a11db0690b8652fce528854eb83dd0e3af90302047c435bb50066306402300bd879add65036fb3b3c50fdd0ecd47a14d76182bc4eb95187bfc27633bf7b32f5c54170d78f8e4ecf416b8ac98904d2023059b5012a8e8a4c37c53a3b7e0cfafe1b6266d8d2fd2eacf44a0688c82e54340804e35dbc08892aae1f87131a017b7d360302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100888e4583abf437a993f143b1de41f222a1a6cdf281aff859d8bb177c5763530c091ee9e7d5f8a8cc5d4dca5761d38a90023100bfe28d2d6a2ae9c29805ab7bc052a9879a445ca69e685bab06160766398f38a3a8d503ab1c6f24a71fa56447e019197e0302047c435bb500673065023100da418462f244ccfa1f720f82d2cd32b54eee58d1c8163d7cb0fb028a05bc6b3dc9b0bb7d08f995159132193e062867490230642889e6e1669a47ddd39579d7554b155681c0cd386b1b0c3491a93ca31141d95cd6e2280c4055964433fd3bd21e7d150302047c435bb50066306402301fba58e3fe19b50e46c9677c73596693b0c399ccb334135e73e9aa5fbfce7464c7f4a85fa0c0a2e761298b9c555c89f40230318753c0f8710c7e95b7f39fe674bc75bd659368f0a646b058267525c1b44e3c9d4d0785add01837e3f5b8d2f0acba410302047c435bb5006830660231009ec7330e6e613c1980ca14c8d4b82b543218c300ef45904ca31e6e79ff474a759a940fe473e1bda901fc5bb1dc94231e023100cf2a7e45f1d0e0113de70b4024de46270a5af40fe1099b4dc5a535aa9f5a9008e49cddee601e34e6dab70531f366c6850302047c435bb500673065023100add58bcadac7e96864663a98a5f84148f3aea57ff38f7e61a996580188d27f0934c0c1b10e16de8f5e6d177fa863a1e802304817b5e980913fcc18a99746ee1e2fa2a0dc63eaf3adc97ea315409c4c956fa6298d1887260f8dbccd6b4d062d4b28dd0302047c435bb500683066023100af267bd659eb7715282f6c076b0578ca81b8d5a438b51b1a591ee68098028e704d92301c713a7c43775857a1b35e0283023100c8b7cbd7fa4090fd155d2f68fdd958b6b409895e6eae7f5f9c469ea2d7ad0df2ed73d8689bd97d551f8e504a6a4053cb0302047c435bb500683066023100b708d87a4b44045e7682d0c66e6c93764be03ccae8792951a4dfdf8bdc599c97c1eea58009fcc7a613e5ffd1cb220e1a02310080975cf33a915ea4efa31c9916619dcede6f50852b1b81d0cb696713549549db4a577a96637132bb05e381f661f63d170302047c435bb50067306502306d2dd818d2ed546d413af9f47a97621fee320632a54543c36421c5798ec923068dcee3e4b05b72b4ecd246f4480f3808023100fe2b45234cbd8b070b939d2ebd2cf7b8ad731aafaae88ef2f4082d327b835e2b7f7d2050e2d222c9b9d63db5d5d572a00302047c435bb500673065023100c5a26ba3556905923d16cfc090b83e381d4f2d22778f9bfcdcfcd358fc3529bc48cbe3628f540212eaf08cedddf5729a02303f4e13e9247e13a25dca7d1cdc4a3f7b79e78e00e63a27e3fdf6c0922a557e959dea0790d89b2a42f431a2eaf26d65170302047c435bb500673065023100ed9d60df8d003568163aaed34c321787d67e9eb09be69ba9fca892b44186c4f8b88c595849780cee019188a2b5274908023028549ac8592454849a1e5a90ea6388a645ba2cb42887b847a5976d178305326ae43bf013c6c8d4aaed5ba168fecc8d9d0302047c435bb50067306502305b3392fd419168733c01249f1e772b3bc8b3c8e8cc882d68370da30ea0bb76cee819fbeb9c98789cd8ed42561c8d8735023100f1bd4c45282219292b09d442afcd6ea167c641ea7bc56be9db08cb72c253881c14813cd764e309b1038637234445740f0302047c435bb50066306402302469c7f8d88ec32303868f948bdcb3c8dd231f22e4848d69e8fd50401d638d7edcdd06c43b2499b8877b430342813c4e0230321df7c3b904c2ef471b3f242f9b0dbb877c4a88d1b628d7b07b5ab68fb6862febc8996992e3bab4392ff19b0204c9970302047c435bb50066306402306c6f780e4a51cb5980e8e4b527c2308029a5b0b95c3ada061100a6aca53afc36c775678fdf7b73c950f0ba423c74a04402301f22b34657286b084c95f29b8eae1a45ecbe3250ea25ccb1d33ed35a6d2425e2a676e1320b50ef151b31efe2724fee260302047c435bb500683066023100f65f245c89f015c823fcd86a0a80bd179d72ea17f2736a9a1078d1fe0ed0a4d55b709370d75e74aaebdb03e43b924de0023100963600a146ebaa62b4168b0ea05a27a4c3ba7fe45523efabdca8fd85ff94a6ddee548e57334f334469f18aa8fa6d03010302047c435bb500673065023100921d4f216d5ff804f326d7782e92e5f7c6ecfeb78598f3eea5616cb97e080b20a402c8d0a96b140fe29d083089d4e6e802303187ba91d21eab792cd9a734e627a548d8cc126673ce3fc811e6479bd6582acbc29421d21992f73e2a9c69c44ffca6f20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100982177f26ba853b6330c93d5c3b25c5af1f6db4ad3178485861de55344ef8bd35b34d1ea8a7d3f852d1db8beb3a3ba15023100cbe1a576025527b83debb153d5ecedd1161177d2066de414a1ba38e4d3adad08e87dc88f3674f20aa1314186660527940302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023051d0d5a8e9884836775804b1a9f94145164b77a0033c18e5920d1ca3386d84c7f70f7e37031ef4e7ae4edabf0a52fb12023100aa5908bd3204849bfd99dc0b1bfc409e2c7124b5bed8e7dd2a047a03a8da4550c4b7eec3cebbdb4437d1965e056aa4650302047c435bb5006730650231008a32ec430df37ab95e01f955e4612e5dc40fe59001efcf48f3d01279930ee239d5b65ae46681b205411d6aa15199cc40023054f5ba7e0a79a6e7dbf4f41abef7e4f694510d9c4b47cf819f57aeca58aebf25f371df2c9068550fea14dc9b38e890830302047c435bb5006630640230253e40b13053ff9c37165a5c0a8f0e67eed53ee390840d10423520922aeb2ca3dd576cd17b8fddbac6856cfaac373d6902305c106f91d69eb0628f0821aab1ffe7b56e2710747c7a89d03f93e4ee400c86d3d5b800ea1ffcc3d4a46aedfe4c4d0c500302047c435bb50066306402306c2d8b5a681e4de5f456d5368dbca35eb6f7b871b75daba34ef1d822c0b4b9a69e27599ec3a0c8194a392d8353d3a55b023054d067d9f05e3bab5b653fca6996a4f7cec7c21d2b1ef3740a52356f67d6616538ff108cc6f2feab9a8df80db8120dcc0302047c435bb50066306402301958da2fd10db2f47aa93764d97fdd25ed2fefa1fe2d538b5e868281905f55ec2b4d72beb0acc279eca18a320af53dad02300c1ee3756261e20ddc73c6e2e64be4bbe3b3b5ee65bb44d17ee76262c32868fa18d6b1faf28780733ef3ecc274cbeac30302047c435bb50066306402304510aa93347136176e7455e46e87f78385c649297eff88a5e2b601375d4fd1e28150baf2663bd1c275065c70e486254502300a53b015a9b344b76a9908376f8830d216374c49f59fb83b560fde785463f0e5f78a352129d25993d2b8206392eff2e60302047c435bb500673065023100dad44438d9400721acdb0e70c2ab027fac6d11ee6bfcfafb27a33e92594621c81837532de365fa2bb6b879d0ebd57eb602302f342f5f00911ca56400adc89456e889ca838ec83a8ec4e1927642dc5eaa95df6fec533b8f6530b0286e66b84ac3bc9e0302047c435bb500673065023002f3dfc688fca3ab5007dd6b5c6fb3614320e70d9e0a4189b3467fd543717a326b8b6bfd27b25d5a93468f9ab038d99d0231009bf31ead3011be00de8d894731cbd699649107459ed4c3942fac8713d7a7298e8e42b6cbb31c4615f67cfc45613f20bc0302047c435bb5006630640230026227b8ee46d8ecba867cea7c128fe2206cd7a9c2633fc264db9a31438b86bc65c55bf62fa59019b22dfcfdde106525023047fa01ff9b88949a91a8a36350cadca2c2bd23e2352bd12a63a75a5603ea757ad4ccd7eb27a4e61bef0c249d857ba3bb0302047c435bb500673065023062cb1d38fc1d911496c73794ce305317f47f30cd2f0f94bdd803f17fbd3db059f221981a1c86e791de71651537b3de54023100b200c90432ec2524ee6ed5f4762ea5f6418b4094f94ee334730718b38e945d7e6477023ab9fea40607a2175cda667d600302047c435bb500663064023016f5ee308778875ec91d27d9357240664a1d4852b7fbed4bc307c53a649a3eaa9738932f66642ad77a306ec8de55c7c9023069efbf837c62bc6ce4f8da7881c9eb6e73f3a02fe954e0edaa9fbf02a4ca0195a0f152ea33cdcfaa024cf50df999f2000302047c435bb500673065023100aaad7bcbed6387eca6408ea9407bff9f951e86be2570759c8780120e868639b6b4ed87154882209bb7fa5e4c10a2fba102302fff92b62fb8225343b8e224b3d4d8814c8af44e20a10e3aff516ed1e909f8fe7e4ab1ef68ccbab90b0a55e2e7021e6c0302047c435bb5006830660231009ce1df474be0b928faca2243e4a83f8739429a10c974f94a34aee9441d2099918c9843c45c0e050eeb20365e4a760621023100ae6371f7ba367bcf908d199635d991564d1b3db21cb4d3f8645f08ece7ede09c2442f513906e271c8e65f632da6232fc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023063fd063577bd567cfb6764e3cc136e888d678b77b3e06dba42bae75febcc7e1f6dc33cd2aa8cd0bffb3e2083f5d3ad19023100f49fabfd67da4c6db69c060156b6ca2f62ebb142e67d1d295315ff1e7d8c1a251cf2aa192b747040b2c67daada89ab7d0302047c435bb50067306502305e80fdf46438bc9806712ad67897d7d48f31c692f6d9d90cc9adee7117cfe9d7d56956cf52bbff72c55c70cfd0d47b8f023100d579e86fc2c4ec98e81ae72721522cf463527c3e99ed83fe148a133f2d986c11b7bc99c98423d097e2fd4bc92ef91f860302047c435bb5006730650231009329e1881093fa4696b47a9b2babb3f69fe3e25997b7fc7115bca9ae45e7898966b916b9474c9680a20323b672bd0a5f023031883df9e8bb68cbc122f09842bdc089cc4f74fccf259efc696b10edb3c259790a6ec7fb564199de6cd02510d5ed4d280302047c435bb5006630640230670d660a728aa8a7322cd126fef559b689168883093904a3d346bdad25cb22edbb7c982e601db2951f4b26e0b9e28e5c0230494f5eec6c0e76ef0e878f4381344242db048be899162c8af963d07a35b8b4e0a83ecc481446b73a38a60c9217fb5b640302047c435bb500683066023100b76d7035b7d696cb979fed6adb874864495076ccbf6535fb1a5b207cd7c3323052d801c86b38e681b90673c8992ca23a0231008c9e07da2651d1b6a3bba87070f79323e275b0cf7987045999dd12b39a539a2a2ed69c5e7bbe50c36b093b3a60c40b6d0302047c435bb5006830660231008cf7d1c4955ec6278b4832cd44bcf5bcad2adc36c0ecda38f728a1785063af42b6b6e09d1edb0f2cd7f0dd0f2483db7a023100f9ea21264c2484ddbe0149fe304fbda1657ec8d8e1749e1a27fae460b1a02a977c901f695eeb9ca718bff58c1303dbae0302047c435bb500683066023100bc9d256a5748d76cd02f5abc7efe7544602ff5669c681a99a2cc9297abef45fd5f6577fd7d74b30f9d963f1871d17f65023100832de4ce4ef084e8bd43453a068841714ad8a93d73d1fdb89570c2144097e5f47e2b2ef2b0c40e9e9c7c60839310c4570302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50067306502301b366ad91a397fee11059497f9a0e522481d56ec99ced24e8ca3f08d0c35bc457682b8ab9bf323fff3b0196e90f28245023100eb899e622abe79bd15e31fac41f26d2afbbb64b27d4dc77ae18592be8fc04f43872b228d4c28e141782cabcda610c2e20302047c435bb500683066023100bd510c22d125d832a08eefd159f2ebc88cff278d458803349ef8f86669be3bd5d2fd040961f8d0cc10375eae30342817023100c1b2ff89000e47b7abea5c9b54ec144dda2d2dd205f095c5c45f8643651b97f9b228bf8df3bc72a408659da4725936ea0302047c435bb5006630640230642d9b73639595715c6ecea1f32eee47679528a51c73da09a11d5caae5c194c7c224b87c22800f2ca60c56552e38c5af023046a3a40180a33cc06924d274bc3f311ea0aceddca19cf898444005508cf5657071bb93d4054e113bcfa40dd182aefcfd0302047c435bb50067306502306c0ac3554515b054b2ff72d062b2242502b81de182cb5f40685fe9a18098a88fe83a2baeeb2760fa9c5206089ccd0037023100f61608567abcf9504b403c09022583154c0fa0d1b514b2f3138ad3528a09bc35701ac3f8a0069138744d81e02c391c090302047c435bb500673065023100aacb86218cbeaf4240fbcb97e23a3b62ec34ff330b4eee73043205f3390cc4a634a072abb0f5d708da51ee381ead24660230645b2bb2596dc6a5dc7a40ca48ad2728ce6b1bc22d7e85293e7944481d53706035397af953c0749db28c13acd82da49a0302047c435bb500673065023100f17a7493755ba274c28b53badce76edef7bd5cb96f895047cee2627a7970f7f87b5acb9f9e998412563db810a366eaa4023047fe97e0d0442593bb3ddc7077ac360c41938e4227b61ab14ff6d572c1217dd1cf4625a96f3c470d41185d94f02f08f50302047c435bb50066306402306e48c7dce409202987f974b616cad93b5d86788ac1e756f96cb972e00fbbd586ba73339c96b85846ed0e528640a674d102306436f90d5ca413de6918f87e5065a995a52dcbc9b168b74a6fc713639eff7043469caafa8444a83e52588af9d367cc2b0302047c435bb5006730650230558a2bf2c5365f2f098d2e1e9de6cea5ac4b2bb5c4ede69dd4643da08f8f3a7294b50636c4d491f03ec9987834ef0fa7023100b226182785724cd5bdb4098aca520126756670cf14c012d24b0829ab24809352208131ff704904565df2a2ae71f7c0820302047c435bb5006830660231009f7f5624cadb6e482cb2ae7186714a89548f980f4de5e6790206168881a7ef44bf2072c0618f0115aa454d1bb800d54c023100af541e1a3581fff2d7f96d5b80623b4928686debf61b6225fbdcc4bfadf0eafaee46f5a352ec171ffe3ce7ba255f2dd10302047c435bb50067306502307aed81c798a8a95fe782cf023c6041b8f0a978089df7025939f9b52cf0e395bd578e68c25a8ff5ff38aa930f581f6482023100bbe4b6fa94cbcf4f47261cb8f15d1290e9c953643b664fc7f6d9ecd3dac847ba9e90e237cddc93e917aea38331e87b4d0302047c435bb50067306502300a6d9d2de9ac8b553ef0f5c0c2ea58e149749440e824c777f2ac99865730e417471380af9ab9e8df4a895e805c26e1ad023100c64fa11e616c5a68c311d19ee48adc11c86a581d3c4fd3b5a15b5553d1bd1c1b5cbb6de7916c0906a0783a51f09957540302047c435bb50066306402304ddb253c5dffc2658b5d7557c9a87eaca84eec03f9353cc7a9784d421450fea027864680717054ad178fa514f560ec3a02306a9a7f8b8016c0ab175f4dfea98c99d33fa14de5deeef342098e89d2a9641c02ae11f408ba3aa9a539b7b2dead8772ba0302047c435bb500673065023100c624926ea2505c0c5e4458bb7a2f3115dcf041d389d97ab43ab567d0120199c90ecb0b221ef4cf2ea59c1821c90db194023054b74e1336b98caeab65f228298d0802acd1b6d78305aa12cddb73aa726d7bc9466c59de410b2967626372e2084cf5b90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230757719bac9e452964f1ea35caa2879cf19500aa3c33e82d4e6f45b5d157388cdde2aded4e88b481ae317018e236702fb02300685b48515eabdff20fdf63b8713c031646425851a96b89ffb503f36161d1afba8469408ed7761c1bb30a8ccca24fe600302047c435bb500683066023100e12e4a619211520e9c99a9ddea7bd084309b0726b50285292797459f37ae30a2e6b7fc8785313a4129b637d5de82baac0231009f4fae148aac18dd7814156e0f40f228ffc92928edd6c7f71c0e8475286c8af656365b4a295067deeb2686824a826a230302047c435bb500673065023100be2abeaa6aeb57bb2d1b1a9068f497532b8f331da8442b4cdd2b8a1f21d058f3952484762b01d9b7832655a505c44a3e023058c42390faa168f86c4026b3e8fdd882bd80dfcff704486649a5526c49e394810c40c072e674469e159651f85dad5e930302047c435bb50067306502300d76e02cfb9f09c3b20eca90b15c12348d7f1f90f556e75d324f47e31f4caf069ee4a8ca767858c1f62ab53b31c6698102310098afda4f646bfd82fccfa7ab4c91bf7c9ee7df1e2e21da0e0a9868aa006218900f121a96d92f06d1c1589eb7861657d60302047c435bb50067306502302644fb46dc5bce9c21e973032e7b38e32e4d612b06449e099a1c3198ae568ea0375b64335de80dc8eb74975b9168c107023100dec2ac046ccae4eedc5aacf21a757bd253059f0529aa25498a4ce73fcd0ffef03c75f565a553a5b47f9378178b6323730302047c435bb50067306502305a83c9bd18093a2688d93209a20cf09e03cd53bcd9d51f25c55663b90f5b8d83cfd0dacaa5dab2ee3c70821cab2ad54e023100d8289f4414155304f720b64af75240586b9b2768e6ce5953b97881f8e20fec8ca4450e2a8b70a429335c4b0321c06d430302047c435bb5006630640230584cf8baef614c0f7e96d4be087e73cdcf25b0aaee8e68389c6a98915d5b5a9cdeeb8e07b90691833b955d17bb4ae36802304d2c092e4d6d57233c47da3b64714b54ed625dcdfc8fb8e2d9008538c4eb55dae2480deb08b916ac20346026e088ae6b0302047c435bb500683066023100bed10a43d2d98482c18605ec4e7b2d2c5d415cf1f28304e9c6bc23bebcd5b01afab6fa226a39e10ed16b114847bec435023100b149dc9e97f4304d2ff296414e9a5d1f6024ffcad0d4e7480009b57c34a68a062491f127a8ce1441e6f72ceab503e6a30302047c435bb50067306502302ba854e3bdba2ade4d7cca810c40c4bf1bba55ecc0929a9341c5517b5e4b6fdd312b62e2cefd55b7ef230e7dcd6e761a023100b93eb04c925988bb9af975c74c08e0d16a410ec62738ae1cb45aedf6b73ea2152b94067ab0fc57f6d1f70d27464226170302047c435bb500673065023057e7b29d9ff91a6a7503fbadc9caa1b697a1ffc9e5db9337db3069aec01404ee7d7be11615102a9ba6c7669fb7ee1f4f0231009ca8fe492d4c48fdd51125017f2aecb15ff35fbeffc4984991ce26b0917b83d2468682ffeedc4459bd9a949d291ce8c00302047c435bb500673065023100dbdefc59b2358c20fe32087d05a2eea2acf4b64cede85a97a08cd22ea7cd2c325160b29405c2a7898b1f4dfd9ead3a580230668d07b8a3bc9f91662c007b41a9b372047b29aa28fb0908835298e0053a40fa3c34b6563c85e527942c0f35c81eb3a30302047c435bb500673065023100e3921dee404c3be6c8d043c3460fff403e8e75b55fbb146d5cee67615cf493229fad1913d56aaeb1ebde05e1cc3b420402305b5e4512c14c9c54bfb66c33d52193c3d0d44358067c4f8327991acddfa2ac9093ac3513e14fe02395be5479441f94720302047c435bb500673065023100df6dd8d176e115ca6d381216a6bb68288944cec3c4753f411901e5e7af4f9ad71e38961adfebec22b2cc9631d0b512cd02300a990c2ba5dbcfd831332f9625cfd4eed6126ff234e9a81cbc83e12338ceea1024f5e2ed6025b32234051365a82808f60302047c435bb50067306502301ca5760e7d14e359997c11f6a1d3d1643f4cc80b175c55e7e3de944ca5059b56ad885d8acb1f3c8ece8f339c4f866f0c023100d09bf538659348fbde6283dadbbd352a4f0cbd077008842401ac27ba4b73bb4eaf3eacc9e5032ef63cfd22b39db37f2b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023038fbf0f6d2b331ba2b97d56714599b96b855816932fca71988e0eb73af5c0c616c543db278f5c7be74096e887e6cd084023042dd599fc8de2364ff899833c241f01895dab0edc82a47563e1a99d3e44394d0a37c5b82c49a7c7e136eca5c334036130302047c435bb50066306402306994c07e3a123a56686d470edb756b007d39c38504952d95877c487ca845ee2fc2448395446cefac7d7469008f867f7b02301b81213d14e9b849e3c2c01f4f83ef920debdca7c03b15b5c3172a246e2fa026b7bf38c10a4c34c610748ee7569ac9f10302047c435bb500673065023100d02612279c2ff2b43f5b6615940ffede1f0c2140545bbafc537c896638d2b614b69738d24916f22a0f9373caca11abde02303f3c9452a94e72b906c4e6d7ecc8e180705de3c16587f8e667467be6fda1cb9618bacdce9bb4c71f3477c174880a989a0302047c435bb50067306502300659584fabf7f85a56d5631dd9bfff5fb37fdee981f8dbd6c45b333e77a6675205a6454470fa954706a7c46e0f4a7cfe0231009d2955261f1859181ebd7519e740fd231052cc803b72ce41934ffaa822676a4f14a096541c641856b5397da669708f990302047c435bb500673065023100c21bc3079945139965dee2608b349d00b9dea4fb99f800950d582bdfff1f777a3254dd3a80d51486f5d5cfb4da46036d02301aeb05027ea09bcbb3742ed4ddf407608c27cf449668c1a7a2e82d2cfb94980950182ce53a1f9b2fa56e11323c6f903b0302047c435bb500683066023100c837df69c99d23cfd326f765a7f41a1687c4a961b93489fe406907e08286d7f251b38c27a084286da42c58f7c9f2f11c023100b438cb22e0d293e0d3c142726a093a857404c51ba9c70686b6f72c5cd41b12d3f0f9ffd601dce55520d9a7ece1d1fbb40302047c435bb50066306402303ba1f4ee27203b4f71d9dde403149157d0ffee893a0eb882cee3de302f9b31482e743e06aa50f893ca5c5946ddc40727023035dbf530751c36b694d36673eb4f10a1ac86cdac5ff1275e0ee6121b51c5f626b439194783a1cec29c2858df90f485540302047c435bb5006730650230234ca3202b2fa0024df7ec876489c2da7599cee262fd387353c15e396e68ba681aea6786f103cadd5a646c01be94eade023100fb2f75166533fcf08d1bb8082d63d52a3fff351f3fb6f48d7c84de5db0ce3868563dc460899f1b88bb976381f2e4d8680302047c435bb500683066023100d2abd63067daaa72a18f5b84ab8ed46d101bbcd5f2702edfe0ce1e1c0ff164461f35ace79ddd0ba6af04e4c8a6ca1863023100ca28c90e7f9fe7aa2adba5092b49c3ec2e29ab600e5f0b259b6664f5b92b766513d2b2258457bd0af7a0ca69b277d89f0302047c435bb500683066023100987bcf09b5fbe42009713e2bcc4bb514ce6911b3bfe7aebd2bea0cd15c96fd50b29520c4b6365702ff6615d70b9352ab0231008612d9cc0df9735f7904fb718e3a9ed9d91256f2c908d02acfeac7e6476f6152ea514f2894c27ae53a3b7d4f1aa3c1d20302047c435bb500673065023100958646c3c47c417788eb3028fac0ae1827261b94c8e1d0d167542a1c8ef2cf442194d70b6436efbf613b06dc090e33f0023045acca3515670ff46deeb6d7eef18411af3b9347dc48f3e2cd0b1e1790a363c4d8c37bea6635a53577bcc76a31b64b990302047c435bb50067306502303ad2792bd2efe261deec91713dacf98a3f03fbcdca9173ee1c7eca6650bc62d28a2d7f4d4ff05de667d62749638781b50231009876c7b5a3c341d0532c94e279ddeb9bb372785f74d761ab55734a52ffc223286bc405eae4294b7606351ce60cbfe3390302047c435bb500683066023100d30f9be71b00135023ae9dc4c3a5075cecdd1820de7154f56a4381374ea09de6f220c3013ec913dae8aace40e525cdac023100d1f69a5660519385b29934b32dbbbd441062def61f80216afdd8bc41094719ed34f59daf44354f6f4e711b037a036f3e0302047c435bb500683066023100f8eef0c2ffe6f1009c10fafae11cb8620328511ea5a7d504b04c5ea1de0da20329ccb2a64e452a9325174f22bee5da59023100f96b8e08f7ef6fb2f624382e80f8e61a982b84d1c1c99a9176ef5f04e9b4b59e017761895d6e2c28db4494e3b5de887c0302047c435bb5006730650230179e01acb6970e5f61485cb18a5135c653b2d62e197695a7c43330ff16a923ae56b063a12d41025c2468513aa7329718023100a86a85c6e623246908b2b867be807a63ba59d1cc65f8a53759d386179ae727c4d910434bd93ebe91bbdfc16cdd8e8fb30302047c435bb500673065023100d6d24258558a17de3177a7d6d406bcf2d3f955148f017094bc38a96ac5c899fa6e7f3c9cc8638ad5efcef64671fceadc023054ac38218dfe73c4840095c238c8afbd4457f57b60004484c207b85c955bea605d687877a00c77996859bbe60b7fa6e10302047c435bb50067306502302767e95a5890ef4b603869fdf3c201fbb442fd031fc34a0d3385eab94d64806afc447d6189ae235a20412ab2cb6e30a1023100b38cfa15fcbf403ad0af86afe0e15ee4026aea8c980ec05e3ce812014f5abf159432cb000ea7739768aa28ab041f31d50302047c435bb500683066023100cf60be6f4490b5e978ad21375f5795ad5a1fa1a86e4449aea3ed49077407ef76ec948578c17b2d47ca5e289f41a1df7a023100dbff65c56b1144f3d54333f3d3dbf0d0aacd3d5c7a49d113ac723098b30843d52c1bc7aa669685a6ae74e202c70046dd0302047c435bb500663064023043428cbfe324b9b2c879d966e3d79a0502ec29f389a1f85061bbb1343c7ce6298a613bf8b297a0c1705e8be8cd801f620230377b7569021a67b0948c6cb9d8420f010b0083afea484582ae21400f10575aff12062088d7969140d7811e4207690a900302047c435bb500673065023100fd609fecc11fc37a936ac4acd2ebbc62b966e6c126a190e0350f9849d21116446b98c6ab27348ed5295e37eb7b37fed30230150b92fccee983606b83f843a431fc08fa4f03cb3be9dddae0090e77b4608b2c10fea8dfe6fe87a071460b8bb5bc3edc0302047c435bb50067306502300be2191218f2308583845ad5fec0620c9b043b82f4c23e526829bd6e44099611041f91f6e58d1b895d3518032fe40839023100bebbc477c42fd65e1454456530b16a8b8dd3acef13da1f07258fd3eaa789eefe3f22bfb653046ed9f55ee70b1fa43d670302047c435bb500673065023100c1b04c9f641d4cbca21c996ae4deb65063af523f062f1431abd8fb8141dd03b5987915f8257860a9cafd4a6aee2a09ee023035ad989290adac815bfbd5c4872f607ec48873fdfe69bc1d72e872fdfbd5f6ccd7b93a91ddc727bb8b4ead729bcece530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100891bf2d7eb8e2d6babf8541099bf0a63bfb05ce7a116017f4d55961c2eab1e06459a3d2ab6ac610936a649a4323da2b902307cf8bcac38a42c77f3aa70f48cfee3e8e8df848c2009b0e52e5026586c69fb0d5d17a65431ea653c9933e714d98bac110302047c435bb5006730650230569d7e99f18fc64b00192395d3cbe0c5664d681a110a2237869f0855e3c10acb4c5ce4e87144e63000a4a3fdc96c501f0231009ceafef78e931fec268fae06523a3fe23c5af974ece7f6c97b09d5476da85120e9c63294068bccaeeb5d710101c2450e0302047c435bb500683066023100beedb70383ccfea7c71e505719550b1f8f329a72981c1fcd3bb324f4648965d4afd657d2abfe746f95f0b24301fb56a2023100d9faffbd59557c89aa34b4575679f5211676c64a24e6b1a8a906f1b3a09e7f19835f5658288e2f725df7a80bb63b39180302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c348e0c5d3afb9ca5fb83fd22ac8e2e7f8bad29095042c57bfa96f140f317a2682e7eb7eab9a9f2d158545f22b6fba71023041e6f2a1f3d7d1b65c9cd4723be8f49a630608b0767ee2759156f63c35cb56f969a0d94de4ad46a022a41e5e194271210302047c435bb500673065023100d8689eae832d664fba3dff795cc88801287143c3913dfadb4db055ddbcd7e1f53fac49c8a56effdc35f0a79662a103ec02302ed51c76c53b3ae933875b8e4f15c4b3d6ec2ee963cf29cb28d0ac00f7d0a024ebee9e3c609d9a09d9d02faf7729a5ae0302047c435bb50068306602310097904be0feddd8eb073664479cf78e87afb8f1193087caaaeb4fce245401b04de4f8868ef4d7e9227910721a001cfeaf023100abe420af97ea611d7ba2f20199caa30c2a9f187bce9138a85bb54ea93d59a284573c40b7358fdef1685bf33fa83f89ce0302047c435bb50067306502301f5e031d97a98d3c813d39837c8039ffada5778e1e229dc64cf296bd59572e6fdd4c6b64e750e4baf06560ecacb0b1290231008832dd97c492d16a378093c72d4b30f5fceff385f5548d678cfbc006005cb0cf4c8a199634f7ccf5b9c591e29f49f1130302047c435bb500673065023100ae3fa127d2a22d8699c1323d151b6f4c9e186097ad00f58bce00080f3fcf8944b5a98c2ca69a27216771ea00f291546702303c21f2adf0883dacac0aeea4b6ff05c7f37f5e78218fa94e1774a756da948fe1652152dc02afe7e27854a9fa663f3a230302047c435bb500673065023100de980f22cdf6a08c641289c9766a2c9e30238d2e78dd171238c9ba5f23ce93924850f7a6c15df8c2594878f3968e6989023024d2850bc83fff8ca19976878bb5298a50c221b1b271edec576cdd14dd45c2837cd5040d13dbb41b33985824c17f39590302047c435bb5006730650230170918cb22bb555d7b557f4c14d1506f6cd87b90447f91e4391edb22eeaca7ef6e58f2ad573695ad7b4914b47209a3a5023100f03cc276255ea9ef8f9a4b7f424287c53bb3c4272034aea6df3e3eb7627c3132a5f36a4a6523dcd5ef043d329318609d0302047c435bb500673065023047bcd34f51bef7e0d92f6d01b37d0549504f59a1c2493f5989f5d651f741546310dc61ff3337c92455e4fdcdeda589b20231008068c81c79124c6bc58d0b0c6336ad6dbed67e0e46c5a82897389ca854639bc795d0efd535012e323fada5c8658afd760302047c435bb500673065023100a67da094ecd9177b1003ae5f2d01bbeee6e687b01061152629be46b200d85a21a140a4631934ed5c270b781c204c6bb702304ea3e03280e44f0ce0e8b0d9f4d5f7667c7addbd50279e8764cdfe5b01c8277fa59019dd2613133689fcac18b2582eb40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bbd7c3e0b1bc8ec1cf1fa711d8d7bff3e89df5bdb69d7e56e626359583a16cf4d3aa86257b8a556ac746b9d3cf426aed02304d2f7481199809d21cff236e991a8f9d51043b745a931ce22b59975f6d7973615862eac973f32ce08d816f5bc1ea36db0302047c435bb50066306402307bdd79075abe79d58fb33034b1e11b3680cf61a5e09bacdd428d6561c72ca28ba86905691c839360500d96efdada3afe02302b737314d4742a12a3389daf73825820d0a8b07d986cda6efe4ac258fb02af91dafbc7d46e8ad2982e6121e340fbe5e10302047c435bb500683066023100864c7edcf69dbef49f4f0bf328422fce7b129ca73db84e3e13819d525cef3702d2784214f36a8690f6a792a5da04cc1d023100da11594f50d151406b074917566aff9bedd7f7b4e508cfd44c017a444c11f8183dd0deeb87cc7848bc3a80d3ab35274e0302047c435bb500683066023100fd0c5bc0a06219694652da41d5f93e6bf0e75de980dcbc457ee4bee7fbaeadb4b5ed04cdca6fb15c306f5407b6a3cc1f023100804501344b36ad5713c5861dffef79428848fcbd461c4943c74499b23f9e7a3704c46dfdb466bb43d96ee870070a687d0302047c435bb500673065023100fdf42fefeb692501f1a09a4d3dae49fe95027082658d0272f314c1f2e8ab8f92730f47cf3a2965754dd7ee27cea074e8023011d690ef535e859288b5ca9ec32c92725d8c0e4dba3e154db16c71af1093aa31bc92843586cd20aaa46f242ed2bcc59b0302047c435bb50066306402301f21287499c90e4c6fe9573bbef7ac05745ee4dd91fd2d4a30bef78c9f6428afbd563b297a6a5c5ba454545a6836fef1023061cff8e0e37f6d9e2fd3e79723baf41f3dde66a6ce7b5d5cf6241c624e0f577af5f9f0b8e215515b29b1dcb56ae36f2c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302e8c6bb5476a0b6adfdc4871624d6d3620245ca9bb7ae47aed287bc95b5fa5ef78a53c9b77194d1d16016b92af0dbfcd02306ac5997ad0b2a38ac5c211e78180de52582cf8a07e9fc87f42cf8714fcb27e4afb94863bd783785d962d6268a150f0c20302047c435bb500683066023100a9cae6eda8243e2bca99b58bdc52d23a2c9751dede9bbb0452fb821c8bc271626978610c73b72c539b60fec1b4dacf400231008b9418c876cb610167fdc72ec25be9b972fbb686df24dbaa43f309a0801fc6dce50f643c14c88d77f0e49b76db1e72c90302047c435bb500673065023100f65f2d2b2dbbbab7229eac6a58dbf28e4447b0f31155103c9bde15fa2d5740c8313cabfa5f9e9d190b2237637376f0d602301b1af1f5a98ccf3580ed98ad5906e5b8f20e0c5603a1edd45469973caf42c4f60d84d641dab1f9b32fb3dc99e84136410302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e2c448cf9427e683cc7242f010e065d6812c406be5457aa7b3a3a9ebacf19392b3cd4f8c34441ae13944e79d4ffc8407023100e14b8e43f708b15706e63ce96a89f6e8063b2d5df1ee24bef035d5db32a02c229054683fd630272d021ccc0da77abf1c0302047c435bb500683066023100a1eacb58cfc3ae861603b66f156bc3b01a33847eb1282b7a9d877bb6254415672e7d19f0280e176cc7578cbbf5b6efdb023100d935c218f6c0962198ab42181c570ffde80e0707660c3a56d9b1b4d94a31d4a461a062b3211835a43e7cf249bf8484050302047c435bb50067306502307f09f4d1cd6c042cad73a1d21ffd31c3be28c642e3e2f9b8143a4aa9a0c3546fd4e03ecc67c415f5f643d7ebd0f261d1023100ec44f2b3851917369bb4f0abce700e135b4fb15c79016b70ea53de5afe42d4d61ef53ba063140297a42af6e774119a990302047c435bb500683066023100e2c448cf9427e683cc7242f010e065d6812c406be5457aa7b3a3a9ebacf19392b3cd4f8c34441ae13944e79d4ffc8407023100e14b8e43f708b15706e63ce96a89f6e8063b2d5df1ee24bef035d5db32a02c229054683fd630272d021ccc0da77abf1c0302047c435bb500673065023002614f7835df9ffac29ecf5788a7315ece2865471553a98dfae4d1dae2e8ffacdfff153d2dff3597cab7dc3f2b91715802310089a2b796589362fef6c6c7fb3d773c4027bf4ac095f7bbb093140dafe64f914ed0d8721d005c01c035e630844e9e50bd0302047c435bb500683066023100d6bdcbed2bd551b73f451a5bf73d7ce1bb964f1c7eca13a8144562c4b51d06c14ec16afeb2df1842f0868f32f54e2788023100b413c5a5ca08549b8989564b8680455e724401da96d1f97045856695f47fcc0da8d139c0cafd5a3ee4fbdc77c031df3d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023032ca87d28e4a48a6be053f458ac1c42a73948c0122d184ab5c4feb00de7897fc658bb0e1ae3e00c99644f1759a8ce935023100e1f4feebcb3ae49a7c0984edf65248aefa231cbae0a1b24dda869ec315092e0d0e5f78d985aff49355a7206c52a6c36d0302047c435bb500683066023100e91d7241d456240aa186b57e8af3653ec4f6b2e9141e9c3a3521a78db9a3fd01cd9325550bfe775869e8c41ea1fc5f53023100ce3d4187890e754caecab96b73246d98ad6b359bd022c8369de338f99b229a5c5375242e748bf84815caceea8e9ef2c00302047c435bb500673065023100c5816f8609f4465fd71e3ec8a9f552f780089685721a52d9609bb25702f6af511366c69e28afd5c7847b890a7b5f7c9202301fb4eee785643af58db5809868766717d14ec8b817c6b09174c3e7e6fd55c1f5ca16e49552a0297b3e31422d758c12ea0302047c435bb500683066023100a13b391c8748dc871db2639cd9ef6be8708e5bf607968bf59526e65cdfd6f0bedffe0618747fbf97d687575e8cf03783023100ffa42257fb958f8ca43523fa54d9a6a5fe85ef489713255feafcbd94af6835be4686d7ceee6d4c89e7352580111e20600302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304c2a901c2347d73f077368bf001f2303c2b455c248c922128b3c0464566593d0692198eb8b8edd141a6539261762716e023100b5c0f226255cd41d3e3403e76e04ae8fee484221a9afa5ac1b8e5490f3c50684e471b36d937e4d002b7a2fbde6657e290302047c435bb500663064023003772d65ee5bf257b5093e0157e53e22c0b37e8a51edf9c909222c0cd7c9620865c2d9cdd07f08c2eabecd119faac76e0230235c93cdd6a0ed80372d075ef36540708e7fc71617984bd585a1e2de0fcb09cecb86ea1815c0fe008b9fd365b010abef0302047c435bb500683066023100ef9a6f91759ce5f54f2adfa38b0ca056afe43d208e5033139d9c6fc32e202fbcdbe0a6e9f8f90a76150555907379fc0e023100f65a53d18a7853efcd36477756fd345fc8770cdcd53b9cbc1259f4a275f9ef8196885c9d056108b50b8517b2b9106d5a0302047c435bb500673065023100f597979fc53262e6a3d98da050ba5a2310984315b807c09f6063961b80213e90251310ebcd619e79ce8dd1a0bef9121b02301c665b29d1c625c9f790b3f83a3c50a86396b074362a9e9f1e3837a8e59f7f90a34cb56592edaa3da9843942faf92f950302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b02b3ae62ef7ac3ed087c2eb08921c737ca681e6857eb0f8fdc2eee41549f84106033ad240ca4bc2fd3aa9393b27bb22023055911633e3d65e8b4f79f2a9b0bb7fd3d7fdc23d1a33c68bc1018227bc2bdfae2efc3db4ced23d855d51eaab28c2cc4a0302047c435bb500683066023100822c9b03da1510fbf800b95d23d95a9c3f46fb69c31d0e7d113725ae1301a412190c1841271c92615c8dc6d75b2ce2cc023100f4e32a71277d32b076f18b8b56f43fa2e6e6fe19d8038a20c6704bea3b9671a03e0f55bc5d22ed3eb14b9cd0aed4e9800302047c435bb500683066023100f9b05d0774d2f959510b9ce0b366ea83d811e7a350670cb92294d2cff74d46a38e7b509c662f7352b2987a9467d161e00231009ad089f347ef14bdf3d323ff59f01eb5f9d4469ac4bebb89f1c346c97b4d3a05efaf3a814658ec604afe176cd4559bb90302047c435bb50066306402304d2d4f3e9199c7c456abb9e3bddb4f3c75aa76c317c8a3cddb27e15cc1771340e4b4d9c56fa9ac52ced6766c0fd062f3023023fa175174faf5be495616e8dba66e18179cabd19970b9169ec5d6b8c0c5d618e59385c50cc486930af874ea071320ee0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d7e50e2c89c9ed0a4ce9a27c1923775f98a90109839f391107728cf65b8f574f67b931431ef54e3b35f6e647b81389fd023004eb212c0755d44658f8294f2b1f04a407f65c3e38601b2a8a5ea954663e2864a65b25726ad7e836e48d786089d46fae0302047c435bb500663064023053094b2e113d7d8c26422fdda65422b70a3c2180976f8598f34cf7f58bfd420825eedfe7a99ff5f245feaae101f8913f023074be8a8d772d1ab702bd8cbfed98985d645fdd430980a771f821590bdf5eb0c1783bc04409bc6dcf8ec5691b9024a08a0302047c435bb500683066023100a528ff421772ed510e14f900098041cfecd94995363c7dc9cb50e0155b3aff4bf4ebbb6e0e1e0273497d45caa72136350231008b432b78e1b00b7b172ad770a9a1e757a12e2cd405d33d68fec3d6b10f6575637d9b05efcb176152968522958d5f7a820302047c435bb50067306502300a074186a48eee77f9ca698baa7f5522a7c6c1b4bbd8c15765b62f8cdab2fab05630a4b05d713b74122306f32bf11072023100d248013c1cb59a29f14da97de1de79a31f0a5e7c4e8947ac78958d53b6b2e42b7da4208c6a341e61e135c108f9d7a8e50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023041defe1cf0a4ea9f2216a6888710b2e63cdccebe7a701b0d22b6f81b482fa469400fb7297d91ba07926b46f6b5f7a06802306a0c6f99ab400afa4df0c697aeba993f38ad42ed92fde39d9532785cff115e5d6957801a7a10e0a0ad0b66ea460ad9bc0302047c435bb500683066023100ce92a055c58ebf1296bd24b390c142d19bebbbd99f5ce7eb320e026c4c6ee21677d1efa03c4fc243c6b3d953780c3fc7023100a97f57a686119fe3f993b12f62fc0781797deec0b8cdfad4f49812fb05f9cf660c45fc445d0de41af7453c5c258fd40e0302047c435bb500683066023100a3e5f3001362743756a10e6173579eab56d8d1ba32f19a51c797dd9232c53926416d9c537b81547bb14e29fe00300160023100d77c125324949424096270ffe438608a939d2aab3ac46243c1670b920490083b5fb0f025e51836700035c83aafff800f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f50f9ca642ac6f9e315e8a1c172817f25c0816cc4fbc725c60cee138bcd95bdfba4dc410fd41620fd743daee2a5aec8a023068ede5f85552aafd4f22fa84ad4aad933a629b839fb71d70a02234590703f7d4d02c3a067fa2e9f9c1b6b784cf313db60302047c435bb50068306602310085b4c0a1ac67e859643c54ee7cc83efe940933c65958bed26e266462b50f8476c35b0a56ae69557d73cf67d3827d131802310080ac7356880e0738b2cbab0ad3598a5624596f5702b6a212b5a0f9c9b9037c1639b7ef5a4bb9ad178035c7cf617aea6d0302047c435bb50066306402304d9d8160bb07ce37e00e420dbeb860bdc2f137aeb65bf1ce6d54c734cdd71e0a029fddc7220f0336f22b7068a5cb60a202302cb5a1cc33700871ccede526a4dfafb70599552b3dc2c064d9d685c46c1a62536447925ed025dfec8fb55a8152379b8a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023002d1fb83d82929a99a6331324a9dd758425c94cdae8234477037dd52c4accc483621cb8db015495bfd1ada45949448de02300467e5af3673756814de7d7dfce01775933d0d58ddba4f1a4f5cda229afc5480a933010b49812afc971d1d669634ba9c0302047c435bb500683066023100ff99bee5bc9b0d66492b685724c22c6d80cebc6ec5c9673ae81fc784bb01dfa509678fe4b99157f71214947472a2c6e8023100cef18b8474eb890db3321e954c57fac3d6a3f9d70798709394be3ccea8e851f47c3a1e9a05ed7c2ca80a1b601051ecaf0302047c435bb500683066023100822f792db3edc5e829f8e08d520f96dd85cf64c0d4a61b5217cd660e56e64642d300836cd221f08f22e281da4f8286cb023100cd622cb7413502d72f2c58d786ff666c2cb9f834216949bd237f9138a50d482f2d10fdd201fc424823a84679d565731d0302047c435bb500673065023011eaee250d609a099aa9df4cad9712a2ac6bd351ccf38ebc88104ea780dc353aabf01960a564e526d2a223974db0739d023100803cad413c884ac9e36d83b4d68c6024964cd27c62458994dbccc879ba498ae2c7e5b8536229bbf5e70ef77a5fe292050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306aaa9d2ff8bc1d18c335679294536c525727a4e2406ed8e202823e3d4e3e56fd918bbc79c2b978e6c93cdda347522ed8023100942bc4db86b73248bd00ae0c5dcd2a07502e0b3c408e81448bfd17a80d9a806fd7473e6dd91f1d6f461f384db06d98730302047c435bb500683066023100dd2884923e44c3a460641562d19d8b04becaf1a0aabaeaab672b6b8062745035cd55e9d837cf4d1a05c16cdf2b567eee0231009e8f31999d0cf0aece7fe43347a5bd7e7269ba94511b2770047b47c20e1d94e14ef0c96d861130ac6d18839af3bc10590302047c435bb50067306502305b1972ddb6c559ac23961dc9afc55e5a2bcacd110d54245a3df1ede9db896010ac5227fda839ea3fc0f0e4af6fef9eb2023100e8c2fe01f718714794b2d8e46d7e70bdb6c61ab8e506a61985b73421343b5ddd2509e48e0da6aa9675064a04e27bcb860302047c435bb50067306502310082ae0b431a7dabc92c6f6273d9e69871c36e9d86eca331cb97bb2743c42fba8d7269202129ff63890ef62f303c42179d0230558a76d9a9094c8fe42940eba257b0f27166c5e4eb470f6627434e94ce2c89ffcf15570d472f1ed5ead04980f6e4f81e0302047c435bb50067306502310098f0c8f2fadebd29cce450a21fd46ef715cbbf11cc3e313a942a505d01e1ab8e097624d05a3982fb016f97d148fc1e1c0230786e420310cf58fa810e2b5841b2fa6668c97d8cd75eb27e15c4f1c7c134362c1f135eb6c710069ed44d2e572451e6fb0302047c435bb50067306502306d1ff393d5c05400bb4fd5c576fe2a50ac5ed9cf4bdd7128392892315bfdd968770a9c410a1d3c471b914b9040a18a1c023100cd3f2d795cafb30948ed0067c3fe2ac9e3b5b86b06b0d83cdfe05d61eca6d776a4f5ab956a5ba717f7cfc8069084e05a0302047c435bb5006630640230737a6a5e609ac7b1d2b655b7275bf7589dcf3c4382897defd4e4b63a2109275b8b15734b2a6dfe6e2ab7b828b9ede65302303038f276dc86426652416859f4bf4958f84557ee355ed5f4a35d25e6b84cd04c26b22a9dd99b740f3d224e84721432200302047c435bb500683066023100bbe90b2a97f348b5b01f492fe9c74cf6b72c5dda2e5a2b54dfc8f38da51ef8201d3965e82a5b764d9322f21969f1af03023100e0b6adb1548ce43955c4b940000e7ce9962acf717081730e6dda604513a16b503bfb94de18e426359531ba8cbc274d220302047c435bb50066306402304acae4bd8afc947913d5ed8a3f6440cd245e3212131ee4c12c868a8df393822a1ec6c9e6929f34e7fe728e0d109a21fb023056c03279069f1ecc56ec55ed7e4a008b861b6e31c5435f66a5c6e0543ee9edcd301e5b792586a4e918eac1db3bc8f0c80302047c435bb50067306502301ec1dc5d8f1b28f767331a3141653503abb523212c53057077c7e0505209f75af30f5b07aa3f828ca6b211095b07d138023100cd41397149b2e24e02acca9716231b07bf775077fcd19c54e8397d76ce09532cb7905f8f78201b9b1e00cd1c334212290302047c435bb500673065023100b0bed07584cbc6d31771ef0f814b8b47130201abb17193dcb53721cdd158fc8184b34dc569a0995268aa627b3d52ac2402303bad1e8afc32c09d5b797a824809138934c5ae01c1875120f440f7c9967e886bdd74adb25623927878c36b4a31305b820302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ec4b1093664ccb8cbf4a5daaa9c8182aef90323eeadffc1e45e23e0a585810c87f140645d4f3e4129acb185f7db02cab023100b54733ccd6bc31e644d652d662ef0a907e72f358bd0f07321a595bc82e5496b277654602a5edcaadc4e87b4300b8e3ed0302047c435bb500673065023063bab67163c754d96f0c26c7b67e17c5d80a309f79169844ec5a2f5a6a98cff0bd044484c4098fb25a6eeaecfa82a1c90231008376be469a95714fc8e9f7cae930e79e2b5a74e639f59b5c6b28c0813ca0524f62a36a8524c8145a2753773365c213570302047c435bb500683066023100e9c8d1dd87b7b41925392671b0815233a8107124446d293ba50d133c56bfe130ce076eda81d05357c8f4f47734f6ae2d023100b2b48dca797ced5eb715f383d0b13df3fb47a4d74a0b21a5ca9cd426801729f6311cca376eab907a3cc6ed2835231e4b0302047c435bb500673065023100cd2db9217a2b83a692cc6004546e30ad338f8534e1a509899fef97487aa27df9a763bc11e471e41a3519bb110482d0dc023026b7c79f45f6ca46de9600d38406ef3ebd74d2a61c631136349dd042ed06e9875abf7f6bf254ef92edc0c911d8f2803e0302047c435bb500683066023100e0d2d028493964046691e947b55f50d75598e3197623ed8987f7b9a10be9fb785d7ffa03c555f88f4226c13f2b6b82ef023100a560ecccbb2e199cdd71a41a54b4fbbedcaeb5087acd56744880c4d2518e752338c34b2fe4dca34f6b355b455a1a3fc20302047c435bb50067306502304436fa39f704e18623d7d5b0bf0fb968d1607eacb4938ae5df104a1e729c20b5d4741bf1f54d99a2057a252744e21544023100be747a4b8d7326ee4eea758896a7b55a1e75fdee2836807c06dca5cb1500bd377049ef9132e9bcb816fc5a8f2ca5e6560302047c435bb500673065023033a7b09a75dc705e1494c1861b662e31a05a0050187b8e70549c8cc1ad6aba5b91bdadee5cc73b9822344bb32c5cdddf023100d1508221d2de8ff3e7cc9bae4f5c67349c6e6f50d13fcd907eb64770a5ae736850bf561ac5cf5c612259c1b685f711f50302047c435bb5006830660231008b043ac090444a6e886c93a02c46834bd44130742c85ff8d44e91416defea98754673ceac194c479e06fb3c9a1585638023100ff7b1294e472bca7a3bb9c43d5ef8c7f5ccd77a00959205f8d6d8c52c3acb2691d067c8dc737769dd24b7707e7e6b1580302047c435bb50067306502304754e7020fcbdf164cc35b23d6e8a4826b5d9e0c9a74e3941815908ce01983f8a5c6ece5b6fc2e86f7e4e1313d559735023100c0cd433815748bd515d0d4b5662663fdf705e7932481cdb8ed508ada5b45ad9e75e32a249d5059ab33bb6987c270373f0302047c435bb500673065023100ebcdcf1f152637a8d6c5e6531ade03a0fd83cfbaf3b868637480aba1fec4cf3aacfea182c2354b4005f72816803b0e4a0230167dd5028c12b1c92528e5b678ef29857b3571845ee302f41550aa22d7273efa5c4724e97ec3df11935ce5716567c1e60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fa429f8a868a120d0fa5566f66a0b0d0b9bc8b5794a33619fd4aaf2a88b6db59fab6059730773434e2316473c59063f0023100c36eb89e0a30d959f4f27ce65c34090bc807104a151d138f03ed25821ce196aaa1d85144d21485311f0b4334bdccf4b40302047c435bb500683066023100bb116df02b6b7550a93a7d148f2c1992eadb20030eb7c8a7876aba08d8c8234cb4b212a627fca358548aa8bf3f2733f0023100baba5e0813bba5198acd7741c71d898903651f67ced705129eb2a6b6b034d308060544ada6632dafdd3f97c1419d8e8b0302047c435bb50066306402305a9756c74a36d6a0e4805eaa9af5356197ceea67d315c610745b7096fc9f65cfccb95406f35891e23984c3921d38026e02300a2d08c03530552ab9d64a8fc9536e455b340d0c9faca72e7250f0c5d726176d35950152f077db92d1baceb51c6dda850302047c435bb50068306602310085b8983c4981a41e8b44008abe4edfc9ebabb4433039eaa5eb810ee25239b84b04d2c54566d9c4b5872ed9c3362415ff02310083221d628174ca44e6d90e7438a0c3e41d807cf1527d15230c2888b342a9dca3bd5b46f04882974005fe4e632e80d7330302047c435bb500673065023100f7860094e25c70e8aab0535d1738b8ce5a08fdc5684b258595fdcf0a2dea4e4f59b2190770a785a042d48e7939e9a45302300d81ad9a5318338af82722d0bc0c82b8633ff088293660940502dace8994b5d235704e92f54338ded5492bb139b431d90302047c435bb500673065023100a162024a881f0ab6015fcaffb5940023cf6e434be53babb857ae09fd35c912577c11161e54606272739e580f99e7b63c02304193fd465676c0889c006e0c29d04f6fd9f2b382d4844236b00340fae792cc9aeb482ac16ba273e7f5497048a788f5690302047c435bb50067306502310094ffde8b04f8ad3151eb389d7aa2003b15e881802773c0cbc0c2f6352a2b9112e82873459b11c4f4e496819449d52cf20230245d15cacb0db51d7df8eb326202e2a6f677845bc522341ae3ec97b860a333172d56d84426490ec890b150b11258cc070302047c435bb500673065023078f1d90a45e08d5c2c72de1d2bd580727b8f15fb2cddbdcb5692fad6bd7d340dbd7ffac9ad97467dc429b6f9753e483a023100f82c86bce744e703c1bda6f56a658336d9a23a73146d7961b405c861959b2867967378910e94c17fad651267beae16750302047c435bb50067306502305d494861c13213f2ec7bb31a910c2162522d395a60b30c00d5fa7ec0379b0c26885a2e4d63bdf1a071fb9bf8dba42256023100efebffdf77654431652ab51327d8d17954b39b6d15b658aaa039b0d2a74bb8e51367868da8dbca5cd3c4aa517fe3cbf30302047c435bb500683066023100a98c7d4b9be639f3b7d4fb309684d3f7c34f7013a9b39bfb2300087afcbf38ed24c3a46e53be33dd8e179565eecc36ed0231008f52e06cc3310bc6eb2ae5d6dc8454b233b7bb10493db76d57724d08f7cc4cda7ec71d25e4ff3927594aba27c32747e50302047c435bb500663064023052926d0976716b0c066ed2b820da198283a00c7703a3b3fc44f87ac8965732805df287be788c2c7e87db6986949352b102305151a29c7b745248e0dd6f6cf3ca6e4b5a2c1a9a2518dad1bc4f39e05c75b457387b4270fee2322b5a74ddb6823dc0510302047c435bb500673065023100befc5f8d6063dbcad580e9b9958156eaf9757a06ba3d4fecea282a56fc055b8130a70b0bbede17f4154c624b9db6597c023013ea2c685ee11cdfd6c53b846386b090a1ebdd103347161266b1d08edf4ecddab0908a68e739ebd965b96665d3685e290302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb5006830660231009eb9df81302796dbf0d42d8ddc239ab2a0b3eee0e0695f52a96fe6d2bc7000db64abe8846162a0b4dd204349a89737190231008a8b9b76efc568e77d225ed8073037a12d5a228bbd82155b7a65d1c633f7816a9538376da480f9ddd29a002f22bcef780302047c435bb500673065023030dd59e4e46354ec5a00af71ab0edcfc717c1e326ac6784e15c1cc278f536b5d419eac71525dbe943ab9c9cc0ef8a1320231009dcf72f69a533a967960c9a92b378546fbefc4cd6318773422de91b06da08f44e1d7a9effdacedf94afd1fdadc2e509f0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500683066023100ad5e747da10560dce7e5de9800b25c7543415852159ba36861aa5262ba622eb69a2a53e67970e26dd33692a2f8c55ebf023100f5d921a6bc513fbc95270d07257f54560f67084775721437ddfadd306485cd8830fe1aecde5d56aab5238cd4f04a3c150302047c435bb500673065023100a5fabf777226d83c9c92bd60ea34a49a995a63422ebf81f802e8b57d42b2d72075594838417f1651d268b0332988102f023005a87223252475965afb23ce946dc18fb1a36595935e413e3ea3a2c24c619e31c42a5c41d95431dcf3b7b2edd03329c90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310088846f9c30774b60fafff0b69dd070e543b90cd24eb787433f0dfce271ee3c2a36a685111444c64ed03760a32b57d6a102302f38a35f0554139709bf0f5c425ac54fc84efd37edba44531df4581e54ad3592ebf3bd20fedb9ac164f34d74331bd9630302047c435bb500683066023100b522bd2ab718c2a30fc81a843742e8e71792500de181e4376649214b1c4561a1fcf260fad4e55d44606515b42321c8e402310092c64881172b314550290c427ffa6590b7d43240f9e1107e3a49633d78d0752406de799e36a75ad84b938a8f614c0bb20302047c435bb5006630640230455d93fc233399ec18a3748d90c6acbf88db8532dc275af6ab41e6b7f76e006ed668bd4228b18f7876dd3449086a2a000230278beef504e7e6f04993f516025da21f7ae620a89b28426616f585b4c361e190b41adb988edceb88cc49c1358511b0930302047c435bb500683066023100aee22be6fe013757977ef9298d97e0f07afe7fec76ea439ad2a71307ec2766a3e8e8dde1e8f8a9d72b032b1f2df06d8c02310094cf43ad8ffaf4458d8669db8df67c0993293da97471b95948bbbce2f0b4e4491ed742c0dd5b064b3b777cc13c28dcd00302047c435bb50066306402307ba742fbc62fad8225bcd73d6bf562801883d0762728e1fa40564d8ebcd66c76f3b3f34276ead8da33677d7e8299e67402301df549f1e79e7c69527e06c687bf6b5f7bce09558b5b863d280535c484b1fd4275f92a1df6e0d37dd413bfb4084805590302047c435bb500683066023100f6f53111fc0b22e9774f07fcc13a2dbea803e8b6aaf05be166c63f650e8890a4807ad184a799f1269e50f54d074bc79b0231009a66a40421fd93413ac8c9be447a546ff21bcd72cb39d7c8ada15f6662a407872fe455ec1c03ff24ebbb96ca7f9979920302047c435bb500683066023100c13ad5b37e2d0d81d0efb2eb7ffe51c58532e2cf7364b446d78bb1927a04a2ad9b8e3fe64c0af148154bcad7d3344a23023100c6a29e148f41603038669fe26df68e678e061578751888a658430c9a2ab4379a7ab3ed9de9a1ee6fd4772523fef962f50302047c435bb5006730650230614c11b8ad0d970319fd6af3cce55f6b7db76289ec6986d25848e82fb66d455f2e0318da3ab7b7d8b1238f2908f9f675023100d8cba495a31900a8dea2f9da9e765eaf7d767645895ad19e00301bcdfa89aaeb06404e06c20d454a20402fe986ba36540302047c435bb500683066023100e32b27ca39e1a87a4413cebea002254f7c4f871d10001438efb61aafa7e5db04e5527012d46669e9c7743a211792aba5023100a47aeca162daa7c89d5c074d1b51be81c70a2ff56cf6fc076c6d692e390c925ecd7fb3c8a7bd55ca825aacb5bb4224700302047c435bb50066306402307047fbc0b1e716e94aa49993669a3f7bd74c8b5c73710ada91b1b71302fb924872fdde9f77fd733516d44e0c76e324d202304ca573aad8e6ff204fc53c444a477c92df9a7f1481b335ae098db88cb8d804d2ffa7588e29b0603f1dfa4f2b008ce0f60302047c435bb500683066023100ab79a8c3650ca77f4b693dc862dcdb7a5c80d9013992ecd69b9719f8978c219629fe471e33b59cbb985062f0f8d47f160231008a189914fa92aef97fc20e1c4f622e1f5d6e477bec5976e3ada446043317e9bfd3c359326d831cb814f11e189f2a1b0a0302047c435bb500663064023046f3478618eb4261e7616f5c01c73a41b0e46aa5d7ca41d19e7f701783a24a59afd9e67c70125946880d9eaacc0b8a98023027bb7b70afc49dedda49eb01ba14b45e663385b81704685784a2654a21ac65c422b12bc2060dbd4e31e5bdee6dc992f80302047c435bb50066306402305a77cd15b399380bf3dc63228df9c25f205102058bfb2d21164eeb54c10b679039e6603d6ecf0822b2b46b9a2f9ee05f0230401435061e77dad1a534bed872d2ab179257c11ec67eb00bad11d1ed31256c039d8af566e9a00d28f631d3653ed064ba0302047c435bb500673065023100a72c2345e1f5fd1c742d1d370d4cc1f78f3296f5ecb1fb48144cac1f80d97dd5f758e734084cb09c9b1716a90986a41d02307c84a2d20e3d4fd335cb1310df96469b01e748274e0b4b838ecd64b4ad2cd0e744bd99a104bd04900945080b1ed9fe3f0302047c435bb500673065023100adddbb1ae2c2cfaed2f7671814ad96cc176048fd1c6e7b4f53f0a933b5b2ac5fcb0f35df384cb0cb23b4cd66dd28a20e02304f2ad0d552fd5c16e7c33e60a478c2eb69898e16c058fab7dad245f556987c9d6ffd5d200cfe0694486a439ab32d16900302047c435bb500683066023100f00830a415810d20d044c5d214538186881beffc2580663ab3cc7df9ed5c542f1583ea7ea31517c48f0489ca9307b19a023100e8f4b59783404743fd66cbb5a9d6f738cc9d118b25a133dfaa9751dd978cba1170ac23dff54c0e7d9d5c197b7c3e7c430302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023021344e4d839e8c7b1b2fd3df0fab1520549f24a6ca6ae68c6f66b876dfdc31223fea22bd19be207b0b346bd8e130157602303189dc5ab25b3c93dd9f7214f162270a8e5a7cb214391f04931043ffc4771cf596a39c859c4436c9da9e7710bad4f83d0302047c435bb500683066023100ebac08527314f2b2ca160a9fdcf1e0cfe187d8567ea2fae1075d4fe3db6e5eba5dc7aef43264f6c121d60bca066f3bd0023100f5f5bbe3e377f25f03e4f620aab44a68a51477fcc66f8045cea00bec2ef9699d3ddb80975438d0ac989090e268e825910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230051e0f782db11c6f506047cb54695b7d2e33795f3c5f31ef6ccff649708d18c4972765c0f02059294d83381c2b11908002303409d746c9381e0a359ff24b262cfbd87e4776721fe8a74ee87b8f07feb6fac3eca9d07ba1d1a7205b733dc71d411d700302047c435bb5006830660231009414f75100a96b779a4eeadbfdbe4403a393f6b16b2aa37dbb393e69b965648ec5c313ab9b6e621446b29640ea55efc2023100f6d6d2384deeaad41cd9bb50599cd767023b0112335d07e5d7ec0adfb8b2286041ca3f3db375ae4048978d951b9b06950302047c435bb500673065023100d2ed1e1ddcbe9e875343c3712d3c8389e31d1c2a192d1daf65f6f200d014faf59fbf531ac28646938407ae2f37fc88ac0230385fdc87e607c8da4b01ad7e4f2cbf7a7000852f097730d5b4cd4f3b91832e62208665e860a59757187cd53a09c69a6f0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb50066306402301e60d8036cbec9b6d6dc364b60f349997027b1691033122687bbfb274c0f1a46c3c90bcb1a447d1eae17ac6ed5d8a18c023027f6151ce2da6b909d352ee47f833d83b25c9578281cd2f2645c7187cb3be1cfd06020cef76e10e78f255ba098a9f3590302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fa6983fa664701926b0248cac6e57cd8fc7f8544b370392c7b339eb79095017a6164144e6169c8380a6fd8f044d1af6c02306f8b3cc11e3626d738bd49a1f7039d825374693047fbf26f52c9358d043fb9ef8d710146c47da315c5e07a22833ae1650302047c435bb500663064023061514bea979682200ac1674d32734140a73b1af0fddf20d294b49812b1273279b528084c3e68bd95cc43506281c85f1a02302d6f8170d9d6f62da2715b2687dbb8659f0dd3f724b0227d10c84db139541d25a89819b3410e495794d027e8aa96e72c0302047c435bb5006730650231008b1b667e42ada325cde24473bf4bc1f43c624d791fcd4f489f42e72c59def5566f06f4df7151f1067207cd829d4baaa70230207e2a8d23df706b3be2a22d8af70c30e4351ee6a3825c2ca0aadfd7d8e4aa85a52a3739451d2701270cf98116baad3f0302047c435bb500673065023030ce8b854cd4dcdbb33bfb56c310e4e179ec3897bd415b37178ef74114a4e755b9ccb61eefe310922d5482a583d8587f023100fc4637dc5e6759346f83bca1ae74d60135873fd438982097b8a538ac96106ef22bcec32f6c45f1d72c7ca7bccb252ccc0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023100cc2d8cd3ee1b60aae0fc68c263199bf17625afd6b31593b0ded521d4cc4d78f3f095709c6984627b432911c9c5d64e1a023066f01b74004ea700c55423139807800c0bfc1c3722e654d9a06748c4687a519693a827554890191bbf4e4f70fe5a7f2e0302047c435bb500673065023057a579fdfa29666233d90bb077474378f006a5f88a379d90f87c7ac4bf6eb6ccb43d493fc7962b194b0e405499d442fb023100f18e0c5f5970ff0c1f102cc6de7120a6162a706edae2c610a3c2baa30cee5826637b5854a223e04e0d5d347d9ac116620302047c435bb500673065023100f44ccb3265935f0d954368f03d89625c431c42164ccdee246636235d5fbaa5d35b35cf06e1f8fd97d07dab8eb6988d670230725227b73fec077a5bea571f117ab0e92a83f5316567c531aa4b2347e2e1b99ab9e2df5f7b730859d751c8542c56754b0302047c435bb500673065023010579294b76fcf6666477e702539d7ce173e63a012e4bb818ba949c58f876350f8b1451e6a1473e68717c026d2b90bd302310083f034df33ffbc7bee49dacedb713f249029a48a2185ea4d58e3bf347c1a09d1c7bb590b589f887a336f30b85fc881620302047c435bb50066306402304ac9021fcc35ef7518e81fadaf7628f4eb1bc6976170b942b964463cf60ea765f97c612236faff59e27716a450a65616023058f734ea6db7f167f59d77e740153ab3373f1a1dd5eb3bbf81c5430b424eb0c5bc2613f7cdd41b19a8b518ab3cf19e370302047c435bb50067306502300d9c023c7560b238085729493ccf5beed5c08724121cdd629266c10430a391feab3f2470f84e2ce169d77d7e510d22750231009faad40e4c8a2454ee824ce23a4d33eea4ee0ee28edae282adec9c3ae7db185df8db5cd527f682ba7206c477a0c95c5b0302047c435bb500683066023100d23b05802590ac5c74333bfc0528fbbac90336bf7d625c7bf05c8e0b293ea8840d02d878166fc2ec76470c9b6b628e79023100ce96d5e019fb4c1f355305c79e7c2650c24115f38b2152f29b8de799cf768ead41e3085d3a29c19f0c5c43d1057966f40302047c435bb500673065023100d9acca48284aee6336ca5b7922fa0918e84b17d5f15819717a81b5c75dcadd205c5e7fc0746c26f314086e20b7ee26b4023074101c5b3193a681d481a2544e8b11f899aad533bb582305ed45b8d25b91127f5f6881b2df539f41050cc97cdaaa44800302047c435bb500673065023100ca40376cfc39c960d4aeae7d7dc96fb8f0e91beee84257287f2aa3459368fe9f3843a6db35d6e655b24063b40d1bccf102303890a3a812dc351d97b34e3121fc53cff89932a410f80fca82d6fabc89e0e1652a093c79af14aade5f128ffd0cb846b20302047c435bb500673065023100b4e46d2b2f9b3649d113d86f8709b4c2d80456729222e15d205ba39431611f231c18f4a489e5fb932ed9e2f3f8b2dbb3023022a7cf6c1856b877f9bd46da9dad10139001aed1358eff2d97177f97296ffc603725e16f058b95317d2c25f709c387bc0302047c435bb500683066023100e5c408205d49f2418139d779e912889abe7be3493a567242e4c87f041d388e76f9de7685bf6080cc444491bf7fa315bb023100b01b1544b732f0d4f2e6a3eb8f42f4b3360770ebc6bcf1bb28569a8a7191c45ef4a22b304ec3b65d1eb9e28488228f8f0302047c435bb500673065023007d1b98db667ed739d939d0bd01e31f9039f81ebf3363e63adece24b4bc57ae5c58e739e1e003f8fb4f43a6a8102536a0231009c0519abaa42dfc0946726b3f31bb086718fadde47564d6a5944079e3df3436f97438def764e3ad403b1939b930d72020302047c435bb50067306502310085b57b58589f5e2eccd51822f19d70a16a2cecf8b761ff96ae601b87e4d4a329005ddc3aa9d82bf740e7de1781812b0702304fc476cd5afafc900808558e7ca6fcdfeebe7b3967bd75cfcf40fe7bfed37ca629aef013ad74855e2c653830ab5e39ab0302047c435bb500673065023066499325b42aa6ba071bf836235aa7c65c02a80370ff1218d810a30c668ec17499350052e6a2e7a4d4265088068f3f2a023100f308b08a850b2efc190b6560b51909ae6e94de89a90cc2c16681968d2e1f3ea3194e8df3135b38f70943f0adcb898d920302047c435bb50067306502301953b511e2013703a249ae08d971a925f7dbc748ece7a15ffb7e9906b051019fce9bd2ab8abca9120fd54f0685e891d6023100ba91c811d1c8780c879d7ed79f016fce1af8b38a888df0155d9c61cf98c29835a6e0344c3d98b0304191ad49a6c0cb360302047c435bb50066306402303a7c71e9c77fc43a471d93e7f3ca97416e12ff754eecf378e8292b8d23daa5b74b80c5321ecfe109184fa9234839949102302c94f6aa7d68997cfec5820d321cc6b8f06110e6231256f4cfd17f0c59e7025bdbc5e1e0282d0d928ef44fac60aa2a4d0302047c435bb500683066023100f05254a4f67b7bca4f0aa47272641bfb26db201ec83262d50d324e35563bd94249ce5c44f3ab6eaa9ab003e52b52721c023100b62fd143f4086adaf2c7518db62434d35bbdb4a4bb5e7f578d726c6531c9533558f62e240f237ca16601f673ad78a87f0302047c435bb500673065023021ea3a59104f6a7d93e590f323d42a9231271b1cc17929f81cfe31136f208a8212d90cb89150e7ea69a2431b1607e614023100ddb4665d0faea39dd4b1e7fffde31e973ad99ada65270735043369c4c63d2ad9a4e95b07c576e23c85c2e793ec84c2130302047c435bb50068306602310083389a5e0c572e134450b6f4770bbecb8ba6e47341bcaf514fab435f037bea53ceb97532089a298161ee1acb130c27ba023100d87843f64f00718e8e078e2c157821158a277315b2986edf1cbccc25c0a173d3dbe7273f977cb2647fbe3e552a80e6e50302047c435bb500673065023075e0c559af5bdd91d751794aef44cf3d4b328daec196781678c1707ec05069d4783f87ebbad577fdb9b3923f4c56b27d02310095ea103f34e60f6c05372dd9b6c87a60202b6d94d4b48b8742f467d487132878717592d8ca444d6962970c8f53d0b5250302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310097a52c5f091281897cff79f3108d221ad2ef1091b03d051c9d409e61745069c428ebfcb933daff192711852a93b872660230386a80f8bcb0e23e81cc6f20149779e14f5a8662c4f4b51aa8011b9e70451f123ee9f750d87237240c3ee72f346797bb0302047c435bb500673065023100ea03ce123f06b4041b6047993fe14f4cc64ae85f025b889bbefc31922b87048054cdd537a993d57da345782a61b4263a0230415a0be574a3fc82667e064077696f7993cf42d81eac5ecaac91af92b41aff042a4f227fbcf58c03713e20ee76a7134d0302047c435bb5006730650230425e3629207c9bce23e21e4aba35f1445e02701ab2e7d8640dd3bb9f0244de9d29d7e29413eab753f88919c62731debd023100b93705e21e73919e4cbec3b74cc6284b8750836e049cd7e9c76ce22e1771910d974362a7eab0fa0fec7d2bccdea8f0970302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304c1bf3ae94cd68f48716af58023ca896d5d2561b0e38e3d6002292cc85427abe11aa6b470f6965aeaa633bebbf6fe9f8023005266d517d0f1bb7d11f9d36754920329e23c9b170dea7017d8a5c04ac73748fa43b019dde2e466d222ac3a6cac2e65f0302047c435bb500663064023021a791e9f46261278bf803980cd7f6a0d349af8b1736027dbf848aec3758cf85ea662759413116f68fdec665cb1b1b7f023022c1eed67edaae2a1e661959d2e41a6185b0705539178570e702792dad18ee68e590f196eceea65f6174cc212f20c6550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301eab7ec04c3f46b30de4e3acd9faeaec0305cf60bc4844a87c9d7570281348054d1c28bbf1031758a96d6465cce18f64023100c06d2436a63fc1f10c064005163b286406b84f335a7526e5e983eada8691ae36200d924aa280a2be08ec19d465d7769c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023066a3541407eb3c94a39829afcfbb46f970097208396a68f2f730e33d25abc09d78d6f07c1251e2166cc4942a07639b7002310092ffd497b451ceae74801b1955a7c517a9145beaebc4a89baa9170c1db50f881ff66885201ad1da720948befd9f0f2ad0302047c435bb500683066023100e0f37eefc65b5f26b2d74d5264e873fe2dffe710ad11eb783a0a961b748fd83a081d07459a4509a983d9182468a8503d02310089ba725db641d0d8e825eccef317ea58f056f735c1d3b8099ed0d7825c582803a50a6addd3660f6ab534467e6df645400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e2b0e8ccd0df8da4b83502ab90af5a63b94ecf543ffd9988178f4e155774d9e8bd7ad4b1348bb58ac4f378fab564b66c023100e5c58ce631ef21524ace350b1f296d993c1dd85774298a96c18be48e23ac8cefc46355b38654bf6fa3ec4469a5ff9e820302047c435bb500673065023100b4f0c1e0e2dc02dbe042884f84d5bdbe2f93601611f6bc567fd596ea0cdc3da311d362883d87b8ed62ba514eafc2b4d602303972ea178b9645170e716b23b169739ef892a3c939648b6481b98cd083a982dbcec2546778651d2e984a687fb22b50830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008183c4a52cdc3f3a030836cd489a6da51d26c844e922ce5a1f98918b0b134a02c98a861db33dcc96dd3eca440ba7df5c02304d8e0de69785c60e6bfa398b509d96714a1ebc1903646ae1ac9584b4f1fdb16d246e404c4988e87889be6dadafd17c240302047c435bb500673065023100a2aa1f319fb889912e60801840786c4adde677d3e9a1f3743c6aa9e2eb23baec8a470a982e5470229b17d827b63d53b10230751c8c2d433a4040ff66354ae33e5a0a0e77ad27df697b52a65aa0695858cdf06c4628cd7ff0849fe05cbb8d7dcfba5d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303802a1e46958280960bac84b18995c701cf93183b50e4f1716dc71b1cc49480c4b75dfb94b2d5527815685f215c0a53a023100f6f12a01b3dbdd40e03205438bcc02f03a34272e584450b360777ecad0af7187fafc4f96c753ec89aee2a291c33baeb80302047c435bb5006630640230292f1112e59b5f799a45145fcdb21c1ea1858740f5d2491c7d25e6c9cb49823887afc54fe20e059e49a114666ccd0941023068ce31daa0a1b1cbe3d80f390e4e242f49f3ff535ea478388a8b133704ea6ca37caa93657edde6cd95b35603e2a093080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310086e434c305008e8344d6da6c6178b2f0c58a1aa160a82fee4f23ade29295a844f838d7fe94bd3da1528ae291c4f7d94e02306b23c2b8ec8ac428ed14bbe3454dfc63f8ab30e14001fbdd7e7f61581a87324294bd949e4dff32c434d51141f817bcb50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023075867c8687c0a1c2c2d8cf8e4746695f43673118ae65aa17967980d742a8e04b5cf9610f930fb232bfb16cf43ad3424902303bfa25e749d804cebc9a82241b9e7add46d69dc65752ffa8f985fcfe0f0bffcb5ec2064594895c8a1cc08a9d2e3ad3920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f7ffda27b1a745e054a6ebfe644a8d68f51f8a924df234893fb9430e57db5ac41a636547ac93f70c13fde94c1e89dfc7023100e9612646c1c9f6c8d5eff47c19178dae90f462dfa049c642a4841f1f10145b610e9683a8c699446abb070e8e1f979bc60302047c435bb500663064023016031ed8508ac8ecb18e06330a1b69bc1633be9040d2383328d9a7b2d6b47e90a0324280071db7cea4f259f4798625cd023076a19344417d25401a2c2a624f5db5f4d8793b05c59015c85fc57639ad087a1981c7a0a71b59464d8a39be9df8020f2a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100900c5a8aa6c32ae197319e8c9a1026341392f1cfe7250eaf19f57e56730277836a5adddf4a97aeb524c5b4ec8dc402a20231009cb0723250310aa0bad44c6f4e38b7cbb81f9a5913dacd8d955dc8f4b39863cfc83c8f2c022ce70be8ece87b763789270302047c435bb500673065023066de71325e04ed1b97306450f9716cf28fad2d7c13bf5bbc76984a0221d2455b6d8a60e8204f58be13dd0d7d33df4af3023100d964868052ca67e679f6f6716c53ea4bea1e0f18e7a9173c25ec324f168f4af1a37c0205b9c683180fa61be6665b30590302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009407cf332fea3a8ac37d09a9ec0a55b60dcb0a63fc909f73e3f99c2273f2797a32a52dc7bf3482827e0f1aa6f8caff73023100e53018aa19d3d4a75f1ac45b18ae9394285ba8880d013b0410ef99f4e6c87edcd59f33f2b1997fbedf63b6cc64f912ee0302047c435bb50067306502307a318662767ffe3d105c7360fc238b3b595d64b6c6333ad7c3f3ab1e172895cad0a9e9e45e8662d31de9e0786d0047c1023100fd40c1c504abd7790fe1e8a02185f6c568abbfb4bc036b3bf15f6adda65541871b9656b73ccaa4dfd2b9be9a319183770302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230377bb18387cfbb718b3a0d6867437c9823213f94935ebfa83bb1880ac40a17527125067cfb96f3b026ec62e83946cc96023100e1087f2274e5620b1701ad85c132e63bc51647f399082947a3371c8477e67519b0087819c2c72f239afe64622fbcfcce0302047c435bb500673065023100c4c6175c065f6dab647b43c68ac367c7e7d7c8c1b4fb7a3f5812a629a25323c955ccf56e1c2359ea109d18d5e113afba02304c14e7248b1298feb45eaca39e187d03ff47462de05d82ed5e9786e7fdfdc46522bd0456adf72b4f0231214ff5d19ae70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009a3a6cc7ef07b0e2a2f4c6612004693823f3a4e98dc74c4bdc96a4945983ecc9ad59b0d1b6fcff260a340d082250ec17023100db750a8779c74093817ea7e15c62d8078ebf2afc39ecc0ab854bea3fd19250dd6f9c16303f66e81c69f7964876738ecc0302047c435bb5006730650230746b8c988f5bf115e92f0455dc7affc686cef86b5b87ebdeebd0d866d5517efe6f40e22efefb0a751b50d5eb73d7ba0102310088945449b572135292276410e5a243a1f2ac4089b4002f28f51bb68980af118f44737faf1372b7246ca6e3004a8702dd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d4a97a5699c37ba53e2121c67df7d3176497d09ddd20aeb6953946c6bca145f13baa3de01efef4a209d1253dc6dec8cd023100a0ec8ef1a092b9aa468556d4b6da51a9344e2b354cd5ac6c0d73704ee46536f525a79729ab9391025123bc3c2a3959ea0302047c435bb500663064023022212b07cd8e8291bec40deb70cd95db049ad1875198d47066da0bbb1710bf643b99251a16a6d8bcf2be61e434226b0b0230649e37530d96067fab242569d9d7d4a1d15f5713b9297d704308f163f16b6aeed439433365fa0621ee005bf1c78715b30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ce7313dca169bff6e2e0f0c811c4b73768d1e14f176a977f7f60b8a8508603b192073161165fd9c3aeeffcb2cde8585502306d83cfba15c3c61a363313f47a63de66e2e0961403ee3f927683891097e478e4cd184379d020da4bddb9c56ff2f0a56e0302047c435bb500663064023027913b925c5a8ed86eb8123db4a3c43bc0c782ccb8de56a459d9df58916ec7f2f27508e8a22a83f91667f102cce21f10023022c6ed6968544147fc219f3fac997157e150689d4bab89726d1d5339ec59d87cd5e62e91e1df5214d0f34832c8efc4590302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230627420108ce67e6c8319d58f67fd52c25eb0380323ac316a5246ace311df39bd9df95d596997b60ba2f8661a9c50561802300cdbae979ae62136e0afe9a841ae60f47fe235f8a021c35e60ee1bea6b947368263a51f1416379d4dcdd81f25db64e9e0302047c435bb500673065023100ab9ec95468dba6af86253bb86957e7bd754e3f04d555e2122976b68ff806ece78733a4f84d7ce89685eaad2111e5068802304dabb9d38a956c4fa3059fb92db4dc57244c703a6d314deef0c57800c0b59310140a655995b842abd952c7a812fcadf70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c0f4982b3e09ead8121452b96eff03ea0e2e5740f374f88edb593f44cd40a6cbaa2d17b8f5d5e38eb837510cc2ce7e4502302217860b5ad9e005ebeaa3936af1804023be34c92287cb6965044e886df3e86ef1764faff12abe84c1e0f89bacfec8790302047c435bb5006730650230428ba2e152878ea8e126ce8532eb1ee28ca85433e69fb987d622b38cab4e275ac4f6d4d876320cbed077a563ce38c39c023100a18edb2f7f904dc45060db9ce13f325a0b261195fd1b276e5fdd6ac9e6e4af25dd050415f7b771af030934624ac51c070302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100aa2268738fa48fa3105fac0b1b59dd5116a3c3afaebd3e203cd148fa48ce1742da057812fde1de85c3b3eca1b8367e5e023100b84c00f7eaf22749a2825ef1e6ce4e47dfff417e3d8efc28ca8301967643325bcf79971f91b42a791a04fcaf5c5bef7b0302047c435bb50066306402307a475a1950df3096d10684df1c53e6fd6ce2cbc95649267fa265b6054e00d35bfd5151f52e4b3fdc8c0be9ac660251d402305ffc7c5eeb19fb777032971768e004485a8114f4224d2c907aa44ac80c2af99f676490b6de0ce045e51f071ea21a90200302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bbe23f2574fa74f0fe1eb614d3914287fc63f11cdb76e807399d70b0377226acb7f938128983169b51cc4dd54413fc65023100f69d8791bb9c8920aaceb6418747f9db2b6c004578d58d24d47fa32bb7bf743429a5e5c7248069770462e415f027ac960302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100dd5b0383b2e040e92bbf50d3d102d24ac1a72919a352423413f0ad4a50a558803a6b1fa2ffba03c4cfe079d54494f0b9023030876b98e4bcd653e83594f3fe9e57ac2f08d6513b4e59ccba47dc46caffd6b600f0b0a8eeb53c80adf25e57a4277b4d0302047c435bb5006730650231008470594afb5b2f6098c627759039a109a925c0876f782b09541d06ab30b1974a08cba2b251dc1b941debb0551bf3fa7d0230254f8a9051f83a9b6b41eeae630517f803370a40926bdb573bc83b0405a3faa6720b8b9b9ea5f8f7465eb6c289aaeec10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ddfcb8d977a847f750037435a81607617ea2c5c59e26187ebfc0dc045641cb3bad27c0b16712a83047695cd84c15a7a8023100d695ac61fa6d22971a26f4a8d1ec3f5cb613052c8ac92097998f1a947e8deb932c1c3641874b7a99b14ef152ab5bd11b0302047c435bb50066306402306e47f810335e195e26a548cdfe138a12cd601fa18dca96212639f2bd56265252d875fbb61cd8da86978ee873ce2f87db02303b77d02ecb6ec9aadeec844e6770c45147a4cd4a17ba8883528156f9a488651a255c80d0e38e099cdedd51bf9696ce660302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300ce27fb3658a89de5f3d01cf003f81fce9d8425ae6902ad8b83af1e233e27f227b538caa62e8a1733bd40a125e1c7ef5023100948b29c89073862352bf11678c2e1a9dad2e6495bb015ead250c5d7f307a27c8cf79a9399618396d5a3231fff02ad3b60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100de6a02a25628dd589a926dabb7ea016a474f4f61c4372bf88161f0be92892b3385c986fc1376635a82d2abb5b7842c8f023100817cbc8a63f47c569c50a8a9aee64d51085dbeb6cb1e180c9b7c7db235b8bd9277cdf1727db18582c55596fd51b25c3d0302047c435bb500673065023037a9d746973944a9be2cec0bcd9899d476c5a8ffc710608af049e508ed97013fd12b55ace35ecb98c45753f808ff135c023100a7462194bd8099eddecac8c206840bd78c5e1032266622b8cb0225199672a430bab95ebffd1c59b1dddc19938100703f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300b377aa9616fb9a6bf0657b6ca72937b36dbf0afaa8d177eda936dfbc437b67c2ab3f4f92cecb8a003666fa730ac9b3302310097656be614555bedc304c041fa0222c9283de4e84e8e9e4daf1cd24fa41be8e626a5aef1be1dd82a1e517338bad81af20302047c435bb5006630640230255241795bffda2f294fb44d78cffa019221235409827918b8ac6f5895828058f87003766ccfd8866f929e597f1828cc0230451c5461d3b90beb36147391ee56d75daabb60afba58d9736d655ea1a6b24515275f5dcb785047773fdcabfb73b2314b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023011f82645f8e3e1562b82eacb621ef3e41f4a6d2cc7864a8b55c5bfa12465cf7684435fd85e056ff16aee9956d07bab5b023100a83ec9f1fe065457f48bc504b8ee03aabff59f0e452cd27f89323ab460ec0a2751ccedb20878b6a4f91d37eb2b3947580302047c435bb500673065023100a12f1735a7b9a9c441dd6b90dcdafc2bf43726417e7197119fd836d5732b04299582df50cc52e36c47aaf6b29ea0fc1002304e9030af4b93be1a75b70cf3aed79de95f996bb10a361ca5204e4d039e93edc969dbb1f7758a34abcad96de73f74451c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e7c42cf6268c8439ee08d578cbe0d5a724b3d9212bef61862247ceb0fe49f282a2989afa52d10b9c95ecb0765dc4578502303c6fe68a37ae70192d63d7b3804ab414d6ce19df7a918cae083d86c9c0efb892bf8afe5c241b72973ce97c1f87601cc50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302ee3c818f684f52ea944a5a1a7d7f7fe3ffa237b7e18e9d87a3ca0415c9773e717b6423e9fca456dd2c5f86e301e60d3023046f4a3bb694c4f2fdf1c9dcc5e011678c01b635e3ce3def1b8f209a188025c07ed8aaba0adc0d7445ce69c8f1b5ae0510302047c435bb500673065023100eaecd2460cf50671fbc16aa6586ecb3f2394d4a4fc7f782757b49a40cc7c86d8ccfabdeb1f71d6d6bf577a8c19f375c102302c6f578c2bb48244517ec885788aafbfa2ce94d3096ece5df653343e984f386a7f8607c02ecbaf01778d5fdef8effebe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008d3c30ccd949bba542dee4e88a1c94335b8fd7dfb4688165f44e44d034e07857a41ddc2e6ffdae7442a7a52a83905c72023016f9df9b35453a7a6f9f21afd00c4817a5e0457df1e6d523c6e5a5107ed5d336b0090af200eca90596fca55e4e21aaa10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d7f70005c47276984f1df61fd8ff9ec1d5c2bc6698365992ff09b8c3a59395e3d1d48d25c2bfbb1f077823786be1b145023076a18952ec5d619a7fef8b3d25685ac191b0916213a9ef095b25c10397dc38c9a0d00303768e1ece07cc08d9c7fc262f0302047c435bb50066306402307ed5ebb764fc08a59b4bd8dc0ae6dae9b42505bfceaa74296aa8ba9abbd4a3a4ff1cd243957036ff57cf08d384dd13e602305b5c4750da8656e88dc14c1946c75aad85eda4527f3883c4411a3f355e56bb18e11464c6e95c809e95d583c9068b74db0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cb5e3b3150eafcf10e367a9644a57765448749340f8f99aff91b3691fb72fd201333b616ae63509794fd1e95ce84e5710230676003f19689233425fc8d7e1ed773783b0c06ec3e70dcd2a4f65905a262c063b22250fafd7af70474437c96502094640302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023019007c0b85c8295436a8d379be49e9bd90c5792e3aaf84a9712cd9fbdcdb5b96abfdaaf0e046c6520ac5f903e8b2b578023022336f2d54db9e6454d57c4795074b50d2c48a64dc3fef33518fb36ca70a57ef894f6a4c73a231b28831be185da9ed550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fd66f9de3248e51daa82606dde164dab638c6b0ea634294d1188394f5deea0f7dfe1901d2bc77e5f2b9b147b9cb63c300230127b9c91dbb1f5508778098bd1c9f2804eeb6048b01a25406eb7e294b1924b3bd5bbdb61efcf66dbc672abf4a6aaca7f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304aa9960720bbee883004b558df1bc7ab97c1a779d1656fe577a4a069f8b231b97ee74bbd447d626b727ee5b7ed9300f7023100cf9e322a700db014d417b8b4dce982c7285f537614f8ee0280e48343d642532938ded834a3b8bb858539fd3706ed4e390302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306f5ccf89c91d317d22d074078994e7b4f1df7b96bca15b850c6ad5ae6d720c2b607c6389079f14a991aeb6fdedbe32e8023100ae109735524a8fce3d78bcdc5fd1232f32f19ee529910cf7fe13d96e3d3eaf574820249b6301a8c05863637c3991fc000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023063200c0e54c745621bcd3606b88d5cbb2887cb8454f11a7f262a67692721fb433bfa75353fc0d635e9dd3aeb016d23a8023100ebf822b037b36df3c0f7b82d4013e1ea8e3e605564e71034868952a6a29de7d78d8b44bd55d2371428b721724cfacd4b0302047c435bb500683066023100866ffdddac1377b8ce147ea89e81b5e0fa05732307c71b74f3d17286ecd818d8fa643832644ea53cb544240dbe5e3533023100c1860cc6689ba16b5402dcbd1b5bbbb1bdbc561297a2a9de9aaf5b59b3b19a1f46dd343c86817052105f2a19af3f4e4f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008624163f5dc34895636d7760e31d31bc18959f19f951b00f397e63428945eb640cbd573e42a78b6a8a1fe7ee76aa8f000230073677d8d296d5830f8005dddae9d1df8d3ce6bc932bd9c99cc4e33abc7e7c110a0c4400f160ca96622e0f2d33ec8dd10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c09ce85641d664b59c2b93a4f0851381af626fcfb8a2709a5cf95ea4658636aba83eb82814a78cab755774a54f8f298302306383649b994ac74bac1e0c0b75944b61d3eb95fb3a915194e6b5b7370800144934f47bac8fe17c781abd086a5afb91080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f7f5699143851758eb53924e98360dd180fce89dc2e32efc82828b7a54f981fd518c76e9921c67fb21d50d0b338cd935023100cb0cd4e72c23ae696770b90bf352271a3d90bbe3955a38c3bbe2f4d5dd3b2b55f4c6f00e9fa0644e9032fb9b783c4e320302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302c4afd2611bb0148f8630af4e5e92e1f9803e4518d3f0f85563da1af4034d4622871114f067f9e1f2fe1ac562f22c193023100b7865a00d3f6a7fcaececd6d6a28b33453eedcde65a5830ed59c04b0eb159b549b5c09b8878da90c094f6ca0b9dc2b7e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301ac4c8fb8365e16b5c4cd8e53adae1f06d2baa94e241e20f4ebf3a42fe495573772f035110dbe6ce66c948f5c79637a9023100994b8a421ebffe6ccb21c59a56fa8ae41f9f36c8aa81cbc4ed489ea82ccfd5ccf1972493fb1795857c73a45a3a96a8430302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009443e587e61ea0b3bd8d6392d52f85833cc87c556d1aad233c13473e3d3cd3fbf14b240334f5ea2faae3ec16a41581fd02304877621714125d949d8790d2c5dd3510beeaa2c7f6baf8efe81634473f67a77ae7c1666d1d369441aa1aa6baffa970720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023037a29e8633d048278e017ff020d0fe121507b35205176b59eca556421c4c0112d4e248a21c9aa3f25a0585e982b78b4a02301b3da6df18a97b8e15a8944feefb4c55aa814fe279f94464860424a9258ab73c775bab6ad43a602a7f7cc3c3a5f6e25a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f1a2b2b7e0d56b9629a3adee0ade3271fd4a55db7b09007af998a29f2d6af815720148594047528dd8f7dc2daa33834702310085dd185e40dd85502de9bd51a7965ced3e171951863bc22dc8d0e5b72668515c3f5b21aa4ec513338834b8e66497b48e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230567b6b4ca9c60d05ec3a9bd99326a7b6ae05bb35dd132bf283dd59b9d54663cfc82003fe794f517002e036332c945b72023100a910088f4801bc4deded7e28af2b56aa1a7118b7cbaa7fc874f1e79e837231f1b09d8015c81bf023f37c804b6227bb6f0302047c435bb500683066023100f35c3d78ec1d5df2896c824724d22435659d6afdc2224d674db2ce4a0a0a93aede7c9660b812d4fe27285c2850aceeab02310095f6e4322a870ca290f9f8ffbd14a2cb91e5a4cdbc27616c7fe5651c149ed88be6e4aaf610127923dc46135ff715e6c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303bf398013668430e7d8dd8c04f1122881d24c32b67c134633c36c1d1ec175dd5e6bd085989f7405134b7fc03fb3969b7023100d175e821deea646c64ce2463beaa8508d1ba39da58f20c8851057fc69f851c6bab892ba6a5c6508de61d3000243752220302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cda6373c97f82ba60c744d812dc63571fea40d1ae54683cbedb3e8134c6a1e0d3f481868411be3f786266525ad7075ae023100ae18746d62b0802f92634b56214e16ee72ab693b8e64f2999c29c2683b5f1713664f5c78f6cdbc2cee84f4499f8323130302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e11b8c3a90a298cc18276f27005adad273d1b117341a586b4d4c677d8045a5dce5b2f1cfa67d7d937735df842a7a2a1202300d56bc1a893a1531460d2167137f3b1405506ae8b91889665b5aeeaad6d086c6aa3e04beb56f75e3bd9240209cc576b40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023036ab7c7476b01395d57123d1bf8aa02f252f0ea1cf356e656691300e54a827ee52f8255add7929740f9c28822cce2ea1023100db42336f0899b15757ceafad6f5828d82a80740bc78baf520290c81a4bcde2a93c3d2c958d6435c76cb009f8f7e210830302047c435bb500673065023013473b6c63fbf70910d203765d10f54819ce52803cdd906662bd6eb687c5d65ec6d3c20a02155b4adef8a37d2fb578f5023100d6b03d03e9a98c4a35bf93867e1a09d578013ad5e64ad17f5ea3f69803c1eacba186a35f26c4f923861ae696e0f129060302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f3cf4d02906c56893d1fa37d83ceab05ff374cc7865be86c84f2f604855abb6864f42b71c3a9580046b6fea7fcb34321023100d0145af6b4e26071d7c95e9fe4c43cd081b9e589e07ffb7da7fde8c682ab124d65fbcaaef1f2f9bb4bb4f771a0fc315b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009cdf8fc76618cfb3bb1fe4a13d46dd7a5cd05895aeb466279768ace57c30efa0eaf0fb65d735a83fa410c7682c00060e023100bfd53869f7403572863dd390c8886feeb9ffe641eabca1fef44949083ab30311338e93c38706949ad8d4f55bac59865e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100df2a7ac6956e5d062b2e14986fe24cddb9dcc713fb9465dd504931bfe23ccfb5ce8063df6d1b3232478f544012769efb02304c8f615d8f5e500f960fdfc7281c7d564f068d9091dc5d6e9eac30cf8ae0239ffba23d5f6b0f7a1707975f059ffaf3580302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f2cbd6aa15c99f3d19bdb78ab5f6ae25249d2e5b4684884d7a5b5652141ca2b1f89b2734064fe152d947dbaa9bad2e2e023100dc23fc5e1ede96592eb7584344022e17c49a1c2d70105efebcdcc7846a2897a2bf378ecc38d352f023f85c7426e18e250302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305816a21b2b955cdc81ad443cfe415ea90d34e8c14c7fd2a8b1575bd71918ad3514224746ea06f1f3e5627df6ba184ed0023100b45c1bf3d5e6963a210754f038ebe92271fb461dd72b39e49cc29c925e3d2e3a12e26d9b9fea6e4e8a6642969fe7535e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100806b89b810efe5c3b6a09d9bc1bef37d3956fa7cd799460b97c462d26bddf4126d16735da8908008c465b8c6bb368cb102310096db6e73a20165a34c5030a6e0d063aaa3d51a00115cd4692215d8fb839f22c88c6ba8f205be483713f987ddd933719b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009d1b8e190586b7145fb8a89bbce481cc2c9e4dc97dc4c14140512a133f39ee35f4df79b7c1c793ebb65b5d2e5c97a9a9023100a5af35cdea39d977b59dc695628bce39c42a572daa6f989c2e22783f54d9ad31ffe366307243dca9da9c2b32131329f20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c2e3c332d0c99334267dae8e910a819237a2bf3a8fb964fe55bc6df0ddf07240985e0db128b1164e2a487181364b5e070230130d7cb0ab1f36f9a5ab845c16617f821edcab3e5ff2ec2bc817188272128934422a374a07497daf34745ec063ec21420302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023037b0adec23a6f683a0a0c13cf1dbe7f1b860d3327a8113033ef9d9dd67b2d9951e4e73a7b6da6a1a24f80e62b31fa07a023100fdaef189dc7ec206a1af896e5c7c2af407a328158b13c104b0591ac464fc2ac8214a2a253f3c2973ac9726b0542603490302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cbfb8a496913c907593a0685acee232c0e855c1b4a87cc19afd7bf4abcb015ce01e5d66c67b40cc0d397e279bf7376b6023100ccf48dc9356b33735494c5f2614e2445c225675b8a30fd090a25d000bcbcea7cbff88ab657386a56f0c74d4c9d955d310302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ea1cd13dff9c4c3ed2d8ab667c21ce060e86ecb7bdf32501b1df6815c89e1ea41258b51954d6bf626355160e3e0ad9240231009d9d0ec3589e241586f7df194f739303823e23dc8f225ef5e01227098c47d3493dd4ed942ad078c475f19116eea905a10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310080b900026be6903b689093204787f982e8f4596ebac34d37c6bea5d7dff25fde1b7639f65bf99654d71abe806d4fe59a023100bdaf1f481adab887e27a1b9f73684206ce86cba5f96dcba3c0727d2a5e8ca79f074f1a9a388e3c53e78843fe69489a9b0302047c435bb50067306502307b45b0d2744b19bdbfdd11c9d73b6a2dcb38769eca6a1befdd20a6cfccfad6ad9e5a69ea38e2b189aa3be47baf4982c3023100a4a91e214741963f2db261b0eb47a322cd63c8c09e94f17c1f500bf8912eb04a599c06a55322d4acf698ded805958d0d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023049740c0db0b6d224732c451145737ad66f9eaa9ead6ed47942509b866a95be15826441bdbf97d5d8d76463205dfb1bfc023100b83756360fe5ebfb84a4c362a81f27b1604f36a539ecdf04997628f19f8a55b55d30bcca79acb535d3cf749c7721cb050302047c435bb500673065023000a8e3b20e92a88923c63c2003b925d83932a6e1f593887299a0ead7d51f92d2d1ab3dbad19d692c47209b38d090d3410231008ec4ba1613e063f6b1ef14b0dfaadafe315cd562203fbb7bc1c8501dcc7a02ed6053b68c481ae6925dc9ab25d635a52b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b3315f3593a0a20286b9338844d0e7ed68abfed77ca3f2e825439e2fe1b6c20cc7fc6fb7de718e769d4f9d3574caf76f02301bade6fff91bc5aa6151149ab8fc9cbc2210060b3512a7d06f41fbca01d8470875287757bea7cc60c2c5b3fb73fb833f0302047c435bb500683066023100c6c62577b37f8ce975a0fd95c5125f9294281a367b948936d3e66f06c8dbb1fc2a6439a886235bc283297cc2bc14d503023100b85c1a7d0f00ff303126ab965f2e3becadd0973df0eb425f768db0c4cac03ddf99f5d131dcdae2909fb952a1d6eb2c8e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230629995294634de2ef5b475cee06a492aa2187fe226e6e6ac0f92996d4d65eccc860831a7bd7a779e395394e0239458290230653ecc65fcde6fc8e49a32fc83ae4b2ccb133334d9837615cfa791b7e53af7747d810148f97debbcb5c25e35c57e82420302047c435bb500673065023100a09a5fc5c0b375336d155742d26905c59388cb77bfa6ca0cd9029c16da807a8d2dbc1b30e6b19cd794b05dbc8e9108ec0230273e79d466640ef2d63c52494ef3b1d240459587609d01e78411822a7b59815b14d9e9bb32a21bc91cacc895b03d7cee0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cf863ed2a421c39d7bb543eefdf08afb0f3016838525478bd2c1972595123a3c2275ca84606ee79903b729a2bbe262a2023100e437c16f0b5655bcf67ead4a37f80e800b93fde7b0056d8c4fd88fe2fb3712fe7460c3613536dbdf8958c94f2b747f990302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303c2dd93115083bc9376f0fd6aa7011f29341e7e4c960401f6a3688ce616b02daf097bd95cc9bf499eb048e6038a3ffec023100b4c83002b863cb4236c4a0a25102afd2305963e9bf8d9579d4128d7d01b53e10401f559540bffd69beeebba460092d110302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ef825a12ad63db3c55f72039c55b2c4b9ba0465e81d0cc1c4c0c1e33e18a438036379121a4ff5d5fc2d9994272fc956702307149b89c7f00df5e21293009b6bce0b79dfc85a17531f6e29839aea524ffa44b8ccc597a1c2c7f93eddabcef487a1d020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100be8ca16f5b8287db3183683df63d907e04540a9d96d1870da0013ef45b17c31d175b811ea42fe48cfd0a7097270769e2023100a034f180bc7fdd3a423edf70b8578ebefb5d6fd232226a7cde6bda9313ef1e0c075a2b21461ef5ac6b6e81e2e33218530302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ce046da15d0a59ea934553f48105b0e70a90c2254650ac5f9a346a25530f9b3e82298b7480e0e9a20d349af14d55fa0b023100df5f783040acc86d76f5e8ff206e4987a4a2539f6331b42b35fa48af41f58aafc3a0ea404548b865abfce7db92bdb2740302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d2b1c9d9e25ca10c83b28a2f7bd581275333bf5d05c48c08347343c60f2f6843b5e1e4546c8ade96c02ab581d8a5453102303da37cb7397f6d488a62e79a18d89f4e0a25be85c2527ab9ddec5ea814f02271f1b2fb55932a217390fb11a8aa6ee86c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023037799aef9d5311e8ed3ac20f1c15f8860ed9c3f6d746d802b4c7e7ab9d9cb39355ffba216d5584d6fd11d108fa04e614023077f5152602b49efc9b2250b02d41178c998742a0f03a8e9c9b6a83f1813aa8e172a3855744e8e0dacb15808426a8b9240302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009459e477b62cbd63bed76c520c00f0d05218e01c7c976ae07789e7272ea784d5d97544a65cd630d9eccd939ab91f2138023100c111bdf399ae3bb6017dcb56e62064e361bdb7e8b0f43c06427ae99eee78b7205c867cdbae505083260f877a5d8224ef0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100df369072f9a11d8c53c36bd27316634e5faa4534547fd6df78f0702ed31e77085968cdc5f0a7875eb13f1c2dbbc6858402305dd5274ff9ee6cdc094658a4a3e4abbcc9952fea72455ce65897dfdc58990bb498434f818ae469fd3208d3669a56ba5d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100acad6cdc24ba6741a7b404f854ba229bc73a9a20526d40cfea0be9c21ff0fedc0d0a15c6adc5f670c156bbfa75bec6fb023100e3db30603ec4175a9b17dc6c4f2761cf7f73eac5a9ba55f88911df4eface87767bfe64d0a859bb1a274f7c52c6fcf8a90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e8782237df2a9f58f8d7ca74b807167f0714e92fb7b5f5f6debb219517d07ba811b254ebaf2cdb467136dc63756b0ad50230556510bdf69b47554eec7738f48bbc40eab96cfa139e73465cc8b0773681bf485c6d1f4a68e1c48594791cc5d0d7844a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023044fceef8185bf47f27848e43c2363098dea86c4de5173026d43e78c7e33b7ebf174baa2477105ebe7ec99afbafa8b8c0023100be7aa21225ece20a26d9ac51c11453bfbffb21f1dad0f99f904342662597b0526cbcf524bd0ba226864f2578b2e140e30302047c435bb500673065023100f7baa2beeec787b95a828e6a8eef2cc48e03d9a5ab8520bcf3345bc96a73daebd4a094deb3d1bb7bfa432e6e04a46e7c023019dcdc61d70c1e13a16c9b982cccb5dcf019e1e222c2a2f3b9a5999455205c30d208093e8950b0bb82de1dbda24da6ba0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100902d06b86902b386f50694d774b39cd357600b260746299f71b745b0bf667166e619bd24613ba71420e061282cf244ea02300631ff242a68ab9ced19b540020c4141b5bc84b567f7dff6c8f0b04a4443ab867ed4cee0e0471e04465f97c8834ca0720302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300ba842369dcc958813fd8e8be0324a99a646a5b16b35f1be1d5aec58a1bea1aba530c0c4ae9e776b97d1df8a62d03902023100c07f66a37202cfbe5ca5ebde4bd0acee5d7f4e843045caca87b7ba7a5a64d276d340c827c3823a3ff8c62f699a9944d80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008fbc089c3b3ebe93182dd8d06f7d8acdd8abcaa4132ae2233ecac01b1e0aecdb7f2aa2133c48eb7a7221c7a037ccbc4d02301b84b1ac8cc1f6c1eb2b349abcfc72fe85d6e0738c57d2e5114b3f485bd81ce9c2f811cf238a87fc48f7e549cee0e1910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230349539b3a8c9671983111d3f8f672dbd5f58e951102e425a83fb2d05c0ba33e853500e26f2ee78e9c3a235dbf739d8160230097e12dfb295fdd3eb0f0f247a6f1988d2a578937ca043308727f0d37fbec5dbbe7d51693884c931c2ff1f044ba6d33d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e5f86ec8f01e106bea38ca34f5ab7bcaf87eddd2092bd95b3db603418e98d7c77dfa2459d911cf16f0d05387a68e74c202302abc7ccf19a3e2387e8e852328e59d33b47f06252804f029aec4183f16eab5dcb88c9d8629f6546844c897e6adf93bbb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ece0d1acd6a9d5e2afb14ba238a2e3672aa8015e6f7a99fd74fa3c2d382beee3f11dad9f2dc0fe6b337c2b3157f96e7e023100afd8e592c7e2b70e35b075d529b366931838a9967da8804407373fe1c5434ccc4560cc0b0a0286ab03578326481be0400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e0cd3f12525a8d42e36652c2dc58d2f8138a3fa95e8b182fb3e2b6a01c73bda30e331e85f6c299cb509ca561df36b0db0230486772a552d4ddc3688ea6fcd49be9c8bc4bb2e4c22afb505dc6922f203b8a71d6dcfc5079a3349bc3ff902e224e3b370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bb13a80c24ac78f0dce2efa56aabeaac06de76fd319c1b7a7175830780df15c7b223af5fc8c77bd77d049eac760768800231008f737d07c5e95a0c3b0911aa8191ece7855a0bef018f5733eeed57f637ff5817f84f61b42c27930907b33969232e575e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dd40a7193ee15675b867d748c6e356357bb85d42844e8ce616a8957fa28064415fc0c640295401f7f3f8dc2c5bc3a7dc023100a79049120f2e1182ac6191af536d9f50e44cf78323438b5ce0211f1e5af0ed5f22e4ede14b08502885bdc212b4680b920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f79ef0d170e11ccb823d1ad4953cb257cfdea0ea39d768fe4b47aa663156446cec3a9a565050533c3da3a463d2f27cc3023100e5860bbcbfe5d89e0a4894b2ad54710d449ecf7c78172cc3735e3687a996152ecc5e878d44ff1a58bedd19f44cb6daa10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230764dddfff8b4abd7361bf781328129d653582cd2dc30f8ae7e744583fc516c97ade6b07a486d99c93725133da201f7b2023051336c82bd39ee63594cea9dc5b09a17db26190253ecf1699b7547d322065ab8a2b7d01df2c301ea13e302e341f57a670302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f021ff5ac15df7ca7c962c366efb1eaa30a2360815fd7b314efa2ec1eeb1e76bd504d0cc134918f708be4d3874063bfb023100ad17df15f636bc6347077b1032e4f11ced88366e6a7474376624e9b14013234389c20b9ddb0c66c07126573a2b68c2370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008677b055ff6b31048acce24f69ad587509526bb647f0f92095a22417536c4a40973d4a5ef8dc7e967f5c9d332cf26afe02307a391e26330c527dea1390098336230db4c8b3b880e28bf8eae09ec7392be443432aa8315afd5d7edf0d6ab8d9f9f5030302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d735b2d893d7cf72cda8884fc2e661880878a4df1d79dcda33d42ca7febb4060a0b7c7ebc748fdd0878772387cb6e5be023100a664b84e98e6b3d72aad0467fc82118b09e5a2df8abf43200e39945491b752e0c04366e1fb45c18686f7af4c474879df0302047c435bb5006730650230124557646a3c694830da1ab1acb42194efe8df1f02e77d9ea0649a07d67407a8b9c2db87376cddb4e10ff21d8b290231023100cd1bfe2ea9586f3e54ca2d9ae16f39acf0907df6bb8455c57429c05c28a9148ca51fd8097bb00e0a2d790cda507bffa80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e70ce58e3f77eb1707ccacb0b3e36d42e65f0bdff11ce296e11d4fe3f87062ed94b0ad45a66e58cb1e29146ab9187c26023000e8a0073eb7cf02c6645240c500188fb5bc151c10866e1410efa9136d72be1b84b4facb645d84bc63fdad9154cda3af0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d53ed311db135880471d518b66f3745ddd9a3ac9e1729cb686c8699e1a3d4c68e45f8c85d3865ccf5cf1bfd1b28fb8310230371bfd3bc383a8e0ddaa70a711c3696d71096c3ff46aa10cfd5b037b1cf7ea5a457552e683bdd4061a5ebc19f538b17b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230103d3317a04a088337e76eb2436ccf1f815364aab5a88c9789ce8763aa9a3e3835c8daaa0d2c6d8bf6eeb7ef6171caa1023100d76f827603470070ba6ec024ddd0b46ffa797cae74282793045d7fe7cad2eeaa8222925457c5dbd1701d77f0149559650302047c435bb500683066023100a6136dce695eeeb754195684ac761f0befc950d125ab54da91007e916d865cc4c4103955443f1c312f6c8cbf43fc6087023100f588841915e73a9dcb856cd12ea3e0efab6265f5527d533419526509b3496bfae83b388d95f4f13001828cd51670c8330302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304f48a2233df56b56247d78fd27ea792a1413765bf6ee41808f2d3147764bf1226ba8ad617525c031de1348b7f9df95d6023040c2c9ea256fb62dc725d56df2b61460936b66872ddba296b32d5d6c6464ce58a2973dfc959b1f5ee8abe7fcf94295e60302047c435bb500673065023011dd4a7031e5cea360b7ef9d398016ca13ba193024d3a3c87ece12f060054664ac8a9af6102ae415888e8f33b2ad7de8023100e5fd4934f100d47de931c091aba2be476d9b0c06d82d8f551f8ec372019c6e0032437dbebafb77564df71bee259f35920302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300c4cc6ee659e30f3b1a6dd5ed6fd041b98b2a412ad8fe0d5a9d8c4c2a9f17bc6ec993fc4083a4fcd8830371c7520e76102310099e7b8c5104da8f7d7a4500997188bf6d8814720bc4db9817b90fe1aa185fe8f430e5e4f0d3ee39d3da9ee0de0263d070302047c435bb50067306502307e81e2ebd6866181642964690e07ff5833949b875533d9eb1acb4a25ef5717e231b57d77892e30548fbeb3fa5fef3140023100881fdf6ecae060a07d857d91bb99ad16d3203d5bd41107d9bcfc0932a5da6db10482fbcf0b5cf0dbdb2704d1b85e871f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a0c71a082c929a697ca7994c74a4bd4144bbc38c9192e99500c941eb50743b49236a3a546c1c3e61c61b0830c0445e00023100f5dbab58b6bbe58a7b465d96fdb82f5f0249519926d0a42fb82c8b8eddbb53caa07e8b3a6c3b506a1c658865f2930d5a0302047c435bb5006730650231008eeba26325e5874fb384219e3405da92326328fcd1c8f6ee2aa342d024cfbac8692424e14b2cdf7c355db51259eebd5202302a7cbcf7713c410eab1705f84df94506fafdee8514388a4cd17cf6d68c250f9c5ab79d2e26f237c3ea4e55286641c16e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023017f8018f17cb3bfad1f02325d95174c389c41914f97a2e40a53b596eeb2f7ca9f644d7e55ff86aba37edf84d470a541a023056bf4a114157353d968e4fe1fff7b0a111e88a42a672cee697a7849307cef77b1b53343f2787d39542e67c8320e39bbb0302047c435bb500673065023100a3c959549482e7a3d10c8e414d6068a066975b4f9f44f2f0056506657f7a09ad414a1bf019bb71c841ca38621a557dee023031263d27e816c59d8d025967de74630a7b5d9d6a9407427c8355ee94273e104bc244f1d971fae398024d604a061806ba0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023026f1df2dc3b7317e4c87794c867f0be7b666b03785e888523d422a78afb2fb8aa00b68043ee02e1301128699207b8c380231009ed4bed3328e4e0306e28b32b0e48347beda9cac441e6228418b44e7221df3a0860634f01374919a7fcd60a2d81fa62e0302047c435bb5006730650230249d0198c52ed32ac0018a7bd1d7c59ebe6aea45915d86c96db2f94cedba60c3635f68df59477bd03c489945667b128a023100e366cedcbdd14f0217c50655ffdb8c5885a3de467717c6529726a1bcb5fca311a5502bbcc648363950dd5a66a82b9f200302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023070045f8259b578943e80efbde65b27ac451a86841478acb320d5cd9bf781368ca63011e9cdc5232e42c2ee6c5bd87bf5023100cf2fad1965e46f5cd08d163498d46fae53bff35c0701fb2e251d2cc83052d097ab9dbc9e1cf7e90d653a154f50fdb2150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e20cfe81034fe8f86ba021e2a0dd3bada85dca35f9618cf983f9effcffd4c792febba21e48b8b5827b5226102e192e7b023100ca645e94ca143144913f2e0c09c3fc7bf4bdde05f10106a6d017b288b08b382fa431b3f0aa77a4f54159b63fb99c17ec0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023067799a9d44c32ce07462f6511dd2919ddab7dd4c71687ea9e8fe53334e9e87ab565d117718fcd3adba663a8118ac1433023100eeea3aa01d383c59c1a765842da395a3bc59cd7f804a3a6cef0ceb4ea215a37f247244568c6809be6c2c0f47f2aa63d60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023065a5206c5ba71f6cce44ca935f37e261fa413d0ddd931a562e521bcdb74fcb767b1985d46d9e2fb857657e3170bd896a023046fc52ecc225f5adf8f4966307086dfe308230eba739812e9eb8d9c5e3be61480206d923c9bfcd486e03d9f166452d820302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023025e93ccb09daef15c397ea9bdd5a5e28016a3aa1ef1f4b80515623f2d5e874d38988b79defead23a43e9d263b1bce158023100924d3ff3e1b81791163fd44ad41972ce206d7d765070ea9a3a695bfde63dc66cd376d3df846578eb5c5be7c4c83f2c550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502310089da757e1e96a84229b3b7e808ddc1458bfffda060ac847e599a63ad1632cef29c72c0d7b15625e657e786f8cab0355d02307a84e1fce4df45b11492a9776e5f8b1d36bf91f16efde564e54ea06082055a569262d182d7a6f79952aca524640580d60302047c435bb500673065023100b4c99e0718ef4db136a7677e330266782aacc75e525efff2db7a79c421772e56c369c78bd11bab9426465e4de0e0afd002304ff0ff80387252757a1561510ca8e9922c67cb22859da7e325a5bc95304339c0d7ea72f3949cf17744f19b5b9eac08c10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310084b27e768fff66936cab9613d8ea9ee1e41471e429a7ba28fed61afc64e42be050d988265183c5dfa67f3dd7e0c47172023100a1de8457c9765a756507b796faeadbb1a5e46167d591a0ec95d928606fa0516eb211252891538aafe4b655d317eb9c790302047c435bb50066306402307b648610610c782955af28d7839014cc9c6bff15836dc4bebb32f398c7ef7ac1593c68076947d39139cfdf94e58fc0c202301232edc42a2406ece8a738d045b0bc2d4cce824a1b875956260426ca215fcc85716a66651ea0481d084aab09efb81b300302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302fe65c8afc0f7de02471e6b9cd527eddc547ec3915f54f960a30366f12153eddddb9359cf440614fc592c454750c5588023100d55ca4f3971f5069d28944bcae68351eaeda840c37bcf426f75537a00f95b5e5ab3f180c2bb923d58b83d2be1aab757a0302047c435bb500683066023100eae7e7eabbada11116a4f95d43aa24d6e4c9d9f7fab969841d6b02b86c8cdbcb0584402feae792c6ed1f1b52452016aa023100f7c4a9fbbcf78994d7f8f25355d61e7c97642051a320c88af1164b446770f2ffea4e1ebd2edc9259108d08288b9bbbbb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023008a563a119c84c119890cd5a5ab71d6279d84b4bd45db9d795bbf179544fa12d42581a30acfd4dddab13b186efa0d808023053de2eba8c42bb56ad626734d46a086eb85ef8d3771c51a86666ac1a5692ae7deb82a4c7852bf0a102660499076273710302047c435bb500673065023024e36638ee8067459be2b8225d4e961d0e20295e13151ce1c709cdfbd1c1c2a315d53e18a61a514cada9052c2be3cd06023100c966b99176361281352a620a90b3fa3361a27bc349ae044baed792375a6237bb7c11324c4a98fb4ef3a8311cabd8e9f50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307a153206b89bf19edc386a8b95a2c1194ee60887672e630653d8180ad5c29dc98705530f2474273e843d6774e1d09ff1023100aaf1fa5e64f46778a3349f958b740d645474badb826023c885845d6bf85a138a15e469fed17bed1b82428351bffea5f50302047c435bb500683066023100fe7fa30c563744284676b372ec7d9d2caf1ff11f82e2298584898d8a398fe5d78efbb61a2ac3d12ad661e4f2d693ecac023100c01603952262107e53e1658f4ef3f0085cad2b847d49e9f0e5b777647f49a1d8dd26e7a7809742fc5eea15d2621981460302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e7d3e958bc457da64887220104298251591cb8c0b6151f41e4cdd0aa84ee65a8883148436532bf097590a82a1ba548e7023009ff5ce445c8268cb5ac33933655fc3c7204b515fbee7c0e5e4492f1d81a6bacbaa9bc416bb0be03724d5a5b306b66ea0302047c435bb500683066023100cd0d19048aa45d899c7f0494899c2950ac2f7c19a1ce9c46f882fd0d3c7b271c4aff8a0f567f5d9e654a1b3eb39e3eae023100ead857e45eafae3d98b530380902434a0571cfddb65d769f18f2c2825f317f2282f3c7fd5e881b04df49e449b05b80c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300572c702dcacee3ce1698ae24f315aa9abdb3cec8635bc9674156b743593cdaa689e84c8a4c01128620dec90123751e1023100de2d209b51bd76014e3ba8a8c9a9ba3e82d860ef7ad1af7be3d95f548b2e55efecda82d6bfe3d517a9e1f0c94bbc4f4c0302047c435bb50066306402300f3ef25d2f4042259fb1e84c4b279a0393e5de6704f45572bdf1036459e9e55157859a9eaaeee26c11d76b261e4b15e6023042289561afd3942f2b7a7b33965ca04c97ca18e57fde87ee31a237daca25bd6a75cef5b874baaf86e02b54fe79f04eb20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303c5a61cd8f30a5677966dd47d16617bf943a6fe359f75eef58b2a707e24dc7114b68b3d2481b49e8b7fe6d579e22731c023100af08be36877c11cd64db4d9d5fea5a1dba5d424848aacfcc7517876972a134bebc039c4e86450efb5f0a78fcea8f76a50302047c435bb500663064023038dd5d319bbf36cade02756954c50a0c8f2b718bbb41a6bdc67447b46d4f623d3bef814329928f4f44bbd98014a887af023056cb2d05416696c208791dd8301d4eee81a747be312cf313ddab4851ae70bd51d3e8cfbc003873cae4553e32ed12a1000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023002192bd150dd6157df7d0d631ab3f6010c8f22c9e6a5b33de3fbd2386ab236785e1b2af6fafa1545c9abda3a822f5bde023100a016304610751392fc96a883b1c001ef30423d7e505c049fffa3cb17dffbed314157690e0da0292e5fb0c12da7d0bbe50302047c435bb5006730650231008d19697fe7269b21e950f9a16857bd29c02ec941f6395a5cce6c299337675c8504521af1f76e1670d6ea58389fb7094a02300a325900ed0aa3b51ded694d937f3aa3685b93cc227c83b3f5ab5a0fe88394f79558f947b221b3e0cc76fcf8bea338c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100add248d43461163f2451d03f49b8aa2997adf6fa477a95c652d96f60007ed57c4c3ce9fbfff9df3056d8fbbf5f7f34d202305ddafa493c040febc51fdf272ae0c60f87535bac4ceee5f3b1a710fbd3ae7aa9b4bc2d5998bc4f67978bccf8a543d8020302047c435bb5006630640230377f00d3283a485bf49ec761bce7f862e890d15d79840f12fd8fb816cc0d81c281936bdeb2be24b60510450b713ae6b7023068efacbcbb81af40c780ab523c77dd62b050808eb7e0e641da15005fcbe692bbf745e3cf32505b1efa1eb7737a4f93de0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100eecb8cc89d0948b5d095b8410a64132d8fad3b1f5906c2dcdc1972a6b3c6a7976f026fe0bd4b60f002562ad09eb8d148023100b16d6738f33f9bc9c30baca9530a32528b4124f9430c4b4cf0616bceb0a8db57faba6aa9c748328f5d2db3999487b4b40302047c435bb500673065023100a30eea7e7a6f9f6e68e6e562f9d8984f3871497d49e8cce25fc762ed1dbd53147c045f97cca71a39860fd3d2a90ee10902302a79e53c0c32a3a84f1018476782af5a1ed4898d72600336f0c07a7440e7b91757cc797379fcc220386b0b5ac5014fb70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023054569ac81cce6dd33d314b5104f0c7ffa76eb14de8c9823cf80f44104cfc2ae8af3ca4133eab5bb475cb21b5e91a2be4023064c9df356570c1a1fcd9d27857700e1e02a81059df5ce405d2eee38dd25cce205d537c0c6e000244229de3ddca60952c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301dd6f8148014727c2ea1b70bcdcbdb42e85e8bdb26faf973c7cd52410eaf048d09e233578f5bc3f7a433d1a5dd9ec2aa02303bcf15e810fdafaf85dd0f235e95a479e7c89293f48c737ffc400fd4de7db2d043fd53ae107a4ad240b0f10281a1b1740302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ff1de8d890575281a22f5cbf3ce0b2dc3d54db63288faed179553f21f7df8d60dc20006f883ad21040876d11e35bb93702304b209fbcbece7d8969f9cfb033c884e047cc2d58c5c4a3a832d509d663429fbaf319e2b48b83a69ee0900534369df10b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230488f429c62d0fc021cdd044e172524789c0c9befabba13f6bf1fa5b2e22cc417be894025ff5233ebcefca32239e9b652023100de9f0209ea11fb9dda7985eb087b48e97d9cc7070dcb697d5edeb2e5565cbec5dc233f6fff32edd7a615c0835ece31c80302047c435bb5006730650230629996b753df25e7794edfbb32e917ab2e05e27e5e741bc16bccab6868de9e3a92574c4ba326452336045eabeb231c7b023100e1a9a1fe4a30998b40090b9cc574e682bb82d8e44673bca9f098602d50efd428d08eaad465ed2ca9ab9de28c62c546030302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100afbde80c621d8ab0056ca7368916f9e61a7d42165a090dcd1320f9831e46199c41c32041bbbd9c0d251cd076775f278c023100da6c92f7616953eb98ab622b8104f30147e4463339d18d117f5a2eecd1c56df2d92cb900c1bae97041dfc1accfe0f0e00302047c435bb500673065023100f6c250a7cb2811420d2b52ff6a7902f4b420c6788ea2690505e7a553775520beed46477dd230257e79965ffa0f97d6c902305e200a112942298845358e9a6e5dc9c5593a04e5bfb37a5dac3c97c41ba4b3a081451ac051e60a56e13e84609659bf210302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301103069bfc658f2500a26e3bc2e9339c5706aa740eccdcd35f70920cd56bbc14ee0dd2be3b76c2cbf03dfc856b1aae6802301a256037f07af57dae4eed478a6dd951fede537a67e3b93334a5844abf196c29b0622190684312f4e8c880a666b7f7ed0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023005268736a500495002a46c5eb98083cb82fcfd7813ba84107007fa4958b52ba8a1478506c0b7d355360f12f6bbc8e5d1023100fdded8aba5bdb501eddc7c93680a16e24a93de482404a52c0769340c1689f74de903ccfc7c628eb5edacdd2cad0c1b260302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d38313c5f83855bd78d8388eed4e335e0d9ae9d025b97bed1950ca1f1a9360e4101da07186464ffdb5577c42be995dc402310089d3c8531f3595b9c3bd6fb569283b4adad7079fb931ada8e21a3d9b7e4e1417d641cc8a94cee6d71e655bb61456e1b00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e898572092045bcd49900a8a34e49418e11929a15b45b5c37c2dc3fce01a2694d51d68579df2dd00caf61de1c7f9a0ce02304d6fe5f8426960603ccd43984f3920509377e78e7f4f38d639afab546792000fe6dbc3502f1483d320d075f8d1035f230302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d7a3bc9574d6ffc179093015c12816c11d9848547bf0266ae7af2573fd3ab48de1632220f8e70fadc115e025caab7022023100d9c1a789c144db50c1ff39a567f70069163dc2f918e4697bd1f6839e054ef09f3aa97672ac4b4d5d7df72dfde67723ac0302047c435bb500673065023100f2cb8f18dd2139ea0fb1dbe82b65f9e2e27c9c4862eb82ae924b91fe1ec54095867b150c3d451c98b79ee3e7efe60c8c02302072f0469da8ee59ca4c8b379806f33d071e08b4e8772985df5ed7d8c96bf5a4abaa997fd534c26d5e42e6f9f1613fae0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230378a9a742c207511bd2846171f36487cd64decb45a8bc49535c467a836689b7817e011e72591e50e281d959ccb67451e02306ba66f17f48472abb44f84eb7e7b6ac734d985225c4ed3eb0f0238455e358e4cbbacf9e44e9ddd7f4704bdc2317fdd880302047c435bb500673065023036e3942144099ac82a5ab381a2f504a2c79dc644d85338b60f9b775794af950203fed8b7622e86680483bdef7446893e023100de265efe02020dd4de4a37d6f7ca61014865cd002acac214747640795645e8bb0e01bf0e168267f7924f2f0e7fac49240302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231008411846dcdba320faf4f57a285b4d6725305be924c4726c6e7aeda5c3fc1c30f4ec525797381e457334c6ab53773a43602305a2f5fb498b90affa91ba21cbfc30396c3382f64455e0967cb2692502daeb5701825b7cd6e5ee6461a868edaef01b9520302047c435bb500673065023100ed77c49659c2b864a128312dde541221ab45236bbee4a0f921fe16f50919cbb94a7a64452d63f060acd8d18c3204e2db02300e37ea0b1617bd9342f673b2aebb59f4ace7571c3dc1d4825ea7e9e3b83276d4fccbcc86f67a8601e9462f3a7affc8830302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f781a597c8e107912e27c0124dfb351aecd47a24af64ae27b7ab537b1619d6d0bc099929e98765cbf5c04d4e42156af102306ea34301bec62fe7874caacad6ff3676e44825fd7d60a491a0db66de6e4573f904094192d91cf106cfca800ee9de45dd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100aebac3fb63382d42ec5cdb2b43366edf7e2e05db7245598f9ba0e41e43bd5c2dde2fd2beaff4217d0d13ad33c980ccb4023100abdae279cd3e4f0df45f3f50c6d23e68b3a9d3f438d10b8edd1174fb84c019503fb324cb4fedf33a47339fb9f30403f40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230281aadd1e54867bd13a5f0cb6f0aef30ce8a21994b8f48f256ce41c31e99630cd4ebf950f3165b442cdfa6e5647643e3023100ca7a9cac7e5981f117eec5f066a0aaa7d2ceac8e6985849c02b559544c399fde1e24ddb7526f5ddc532e064a352250950302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023067dd9fcd5e9a3239943b2fffe139e361c8bdee896449ef237999e6d0cf7135e331379ab5e06d06926623a927637430bd02302fbcd11001df9a1bc1b395d7ff34472860f2595d4ca407706e57e47958866421fba79874fe43f3035dff927783cb11150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301d1c7bda14a2cf0cbb7ee7f66418d6339668303ee49cbb3e40cf650ac51ac6415375cbdfb3232d076b07d83be53eb82b0231008693e485aaf9b757793a6e98b5a619b06fd0bea1e97ef0ddc39d26b6e65e3dc71c0ca90c9c3c9ceac383eab9b3f2ae870302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a3277d3bec8b0a626e31ec6e0ba848bcb2a3f52c8362ab314d82b9d38ad55a935eab4454814b10ffdc385f9492de121702306a52ee07003375c8e13aa5c348fcccf031df2f9bf48bbadfa57624353b032400d52d2d001a82bbba7dc8752c585f3c180302047c435bb500673065023073941da35160a9f6302a5edbe21ad7373e607c07737e9e975dda53851b6afb002558f26baaee29b207761795f80940250231008786447bab6ffa92cd0ab0fd95e1e73ac936480115ad2b29b09d96c36781f489cb17203097a853312a4ac01fd90ea52c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100afb83d1eef3c72389829267b6a966a513b563c6a6a3ff536a5c5391a743c71b08d923a04dc90fdffeea7e9d22b1fc25c0231008eff755094725750033713b16867b57fd82d74d9d533e17b9c4b9c743d4ca114396b6ae21ee4da08feaf342b884922450302047c435bb50066306402304de0a6ccfd964459113862c234884e93e6652390b42c343e8959b645e980ae441bf89c70a6e7f622da9dad144e198610023036490666eda7af90cd6e5222a0de2334bc60ebe746eb0440599e5d928d4fe9efab82858c412214cb6132a8fae2c10f560302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100925440852b018d6db39bc00d259b09f64476e67672f499f6b25c9ad4076aff3ba8703cd28607f9657630f270d24d7e32023100c9d34fd898896caabbf9018917ce8416b0de80292eed9c2d8200431ae023cad48660e463ea0e0206450ee5ec18cc1ba30302047c435bb50067306502305431e9536d311853310f6d21621284b918052e9497283e01894b1a013e6d4f9f9d48316c1a6016968061cca30b0d33d2023100acfeff74b54da6046fc889a0712adaa81b5bfe82150024d2079897c5c69857f4520fab8820103d4c26658c4bc9be642a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d5228e6f83c40c6fc357d053505a253a39577d2ba3ce28068e97ece688a65654936971003eb10ffb04555a0bd201e5e3023100955d616af4dc728c9fd94e8cc32a3f5ec5ddfdc8adbec91a628f190c21262fa30d4664227ef00d9a510ba522998d44b40302047c435bb500673065023100cdfc51c8420ca9a5c2e99e71f036aa47530db334afea810aa66fece5252aa07a21a14ccb97266cd05462df564e15ba7302305e09cb5effb5fc16f7d8e43f56e77e7b37c91c8d1e5e7b0ee528fe2cddf810c031e1de50b85395848bba67f2e826e0b50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b70a5d56bc031e2191c44d18b76e29c802c78539bd370754b6be9a26030b44fbba0c6f9e5376a6e5a5648bb4e35e24bf023100d8d2ae52f4e72db04aed1e0f599d390aad052f308fb347502b2dcca709ab7cea7581edea7bde82b93cbfd86ab38cecef0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a583055a33de5fa42a7e3d64e6d7c9c5b6cda397c789533981378e16f3ec5d5f339acaac76119e9720b8bbae9bdffa250230221e61abcdbbed7105826ef17028f578cdae60c4b4b38f074ab75396518164bcb208fd7022b4125ecb652c3b8cd84ce90302047c435bb500673065023100cbf840e6a3236c05be00538971228d31a5a05f7146f3195b10ca5083c8fb526958b261f1ab8f53da0d7782055c7de65d023059c73b108589a2cf75e2199a9143d39e72d4ef407964abfa1a94baa92723473c6588d6553af9aca862f42438ba1aad290302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f193c11efa6f196110097be528f94fde9a8825787f0c311b449bcbd6d7af930ca06d2ba99d9603edeb6b55688b9d9577023011d823f654696b10329ee9745dfa829483f6aa7f3840fa94174b49021432dff87cb25c5dd596a691d5439bf8cff84d510302047c435bb500663064023002a3a2f669ec1c926870e363227e288634c7b488c661d79256b6f58456868e94e67a760ed6e55f7facf979ac389825ff02303edb40199d318d701b1c41c26f2cced896c2404ba48fce9588bf8277aedf7a940b0e31601e561283cd34a848f6cb7ddd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230627544200338fda9ebf300b5bc43f0e2aa5c4c40d05c9a5f301d2245ea5e22358e0af2a9b5805a693b8d6fc66e26f1de02301552d7fefc0ee542b4c9868e51c85532ea6ac68bcb1f54dee1f01411d266e66bb2c9b6aaef1408b84749cb18693ba8c30302047c435bb500673065023100fe96634ebe7931865726b78da608fb5601fe89c3aafee24010764a2e29865d15ba59d3bb0df7dd3056912b1b546b517102306682e6e5edb7acbc56be6f661207d302b36e5ff191ea049e25dc3420376daa2fe395f151e0096df5981dc53d9f1472f50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100965fc6d68b11483f0981b4b45688756e2135fb04999214cb14dfb146333c835c0c982a6eb567d24b576254fa13f383df02310095077177a7f884c931404f0c3254891f2dbc4c8992d5626899c0db5f75807f3d2d78a678e8bbf77281a53c82f900e1080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301b0e228cafeec98b2b7c582d1f295f73cd31c8afe0a203525e71be89ed5fb43a88257b325ed35208a4aec798ec619f09023049bb8b211c0dbe47ca921b6c0e2c9aa099d7d15330b599a312a3b32f8249b8cdee419b6a7b575c6ae23c11328566660d0302047c435bb500663064023036f6ca4cfdc321bd9f2a5f5144c596c9e2ffd66b3d7e314678765881358da7e638f2ae870c6a1b7994caf3d8934f73b3023027393592eaf563dbeaf63c96c445a455fd9c98aefaddf005f97c5c430a3297e2be0f8ff1f294aeb7b636282dbbe13cf80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dd81ef76fa6d1de942d3c1235b54243f3cc20427f035e597c8a6e66689779618be5cf048872c9872268d37cbea9ae2f4023100ee5e02d2d6a5359ae0a7d6039ed75e0b2a9d11b0d783f8672277dd2b62d9ee02515614adcc9700b10031f4565555027c0302047c435bb500673065023015b9f0fd441f36e0eb36320e2feb700bf7d40a024cc7f6e9a01c818c24f09147ee2df8fb5ad3e5bcfdd484bf15cff08b023100aa35f6e86cb0669a9cca9c0666dbf7e3ee6a24cd73b0b34d3fd517a73d8953a11f47abb7d74e92f7d862cef2a57164bd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023013089bf21785e3efab3954a22692aaf12e4b9d91f56c03f65011370448938f0395a2cda50de2dc99e064608ff279bb13023100964f42b624c70c6df993033cfd89204a7fa07f98603d69cb4129dbbc5097f579b2f4b2c6055ea262e174136f9b75870b0302047c435bb500673065023100f805dfdbaf104125a4549e28d9c02ea0f7a0010932505423bac90a9a340356fd0036c12bae171b49f1774b79451cd84902303013ae98e98e60019d913ca3cfc4068600b03a7d0d2d9ae40bdbdf6a2f3cd27ec261ddc872bf95fd0e66033ebaa9d21c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e6ba866bcff0e0f34ce5b32ef4a275e6325ae7762c31f6c3aa485384446969d322ae18685ba818ed72e1b18f17610b9a023100f9544305dab57a73ccd05e896b2f65eecc571591a26f53ed01b984a6771baaa1ccdf0669b3a329bf0369864f54003eb50302047c435bb50066306402305229b8b59d2182ed2f5007350e3b60448d00754b31c47b271f356002f2b187c8f848e39724470c130766aaa251f8960a02300cde71a881b07207076da0e03aeaa7c7c1a5a31272a7368dff86bc4985095c0ee537032cc6e415ff75f7ac5cbecd4c020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305b1a71cc16393dcd2f31da11054fc3fc1308b9c77482998608c8c4bcc4771fa59056db8240af26925b4636e58c66178f02302115a6183861e954140b827cdf0c9f7ad6e724fd67e421f721bbc2a44965f62c9524461e29849fa9dec436e13fd3aeb90302047c435bb500673065023100ba4a409c1b9def270670822f9a1c5f5b2371db1785aa9d8ed54863a74c04a950278ea41fdf9100a7329d723433784be002307c9153de487080bcc84d767a16ddc53febf600a2ae2c56cf7f6605bf8a796946ea842ef6647aa2d646b7987ed3f98b540302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023001fb0b4a0febc2cfcf41d24db0613103e0d60220e80876d830033d47814d56bc42868ce3ba3160b345ae58146f9187ee02310082b1c51f9ad42cde904ca5451ea8425187ba8be879ef93e5aa32fc9f8de096e0d26d837a5ee1578016fb0b9a20dc07a20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306ef074a5b5c500a9ed85201885de96e47851328db6753d590ab702152689f609a150bc92dc1d0984bf3c55b8f509c756023024571f7389fdc5bd62228e5591d26454102ad7efe48e7c7169542e74903e0bb983208c090a0bd3465ace12f39ed9bb020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e5f3dd808e7cf10ef266aa91f3b0e0a72f510ed51ce33184154181d1b73e41ee1d413e2d5168c0bd87a58e6d348701c102310083e1b05ad63bd069a0d3960171fbb8e99ba133221fc63b76f764f0dee26a5dab13416f4a4e78c35e904d80bb01924fb10302047c435bb50067306502310088d98fb48fd4e16f2c07244a8f89fa5780ab921a0547ff7b3d8f518865c517e6aa408c25db1a32ec76f9c51254b267f402305729e9063b667076eb596b2b259a4d0aa0efd6e87718f005db38604c0bc8651543b4074e439329cedb78272946df06ff0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230076b59ec11fb189fa6f2b58ef41fc1a6a7ec43bc887d44462c6f784ad1a0976274c569af0ce8c2b325d2b0737dd3ce7f02306118df1a04743d910b5e9689e90f6af05a73d9518469ed522f71f23c269c24a4f9c147f118e04fd43a3fde6de4de21130302047c435bb50066306402304042b24ddd4ec9e952bec063e2bf119e67e69cb63fc8f35003866f3853d7f3382060f5de262e5591260aa3fdb0dc6ca202304dee156a01e0ebaac061e5da03964daa5dbea077e7b38c53263861efb1f48f9ae531e2bdffc840e656d9f0fa85e3ee5d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bfece5b7440fce8c6463032df53e14e0945f160d665e537a06b76bf1175273255da6276ac8aa361487ce7c52050c5913023018aedcdfdad9e3758dbc62e2ffc2ad944fe818c86f5be38899f4669d9e2422145a64de2cbc3ced860f749c9aead95cc20302047c435bb50066306402304c9963b3deef2db541566ea2f10cf02bb65e9d3c0e4520415294618defc31e23af1adde9ce71ffbe68e70cba699534fd023026b6d9f33aecb0eb904c7fc78ba9cf21d9637aa383175cbb1bf5ee9bc80502ab130ebd9bc5b99ec7eaeadb258fa564550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f538ea89d5672c2d923ea0526dd5bcb270c8ea0a79062c959cace6e67e2990bbd97d67180600f7877a8df1956a7ab7e702305bacc724fa203eba5e3c422dfaaa12a7726324862638665c8f36601ee9b2c610515dc9b10c6aec67c156897cf07d994d0302047c435bb500673065023100bcfdbeda5e66247b82eb8c8649fa0387dad1d8b52b70146dcf37fda5bab7fd4f65389d8a741f7da08b13b6a5e42bd84d02307692e1bcf93bade672ec3309abd41691c0cfa905a051587452d1e4dfe8a9c8a8cb1be9e10e4e5b712e4c8c423c2afbfe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305a41551b6435bea1ff91171811bc21dbcf536065ac407c13cd5fd3612caea354974f9c89b8f11ef839f60976818e97fe023100f498e9671aa57ad9411dbce567e63b15f5c58494284606211f28d7182862f0e67b992d80528c7555d2e8dff484a565720302047c435bb500683066023100cc7aec37438e5999e08f43028e8652958448190e736efc4604d3be98308dec5d2ef112dd1332f10502176677f19e4145023100e11561fc725c25ea2039a076871b970a631fa6d05c0e638e915f0f28e6a5f7373ba8517b26fc435d30bb33c677c3d41e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302a577cec986853b2d5749256e9d9159acb2027ed8b8881f418c695b9c4c0ce44f8032130d64581c1e981224fb7570fce023100c500b7aca7b82884b26530b80bb316d14344fb060ff606e15fc5bb122e82481192fc77064563a18993b2944185b4579e0302047c435bb500673065023100cb70ae2e8e593ede1e5a09140e6c49129d38930feed5a4aa544c31d14d591b0479df926681e177263d22582b14d4613a02304d24e18008360a23fd9ae74b6769bb7fe869e22a4a21d0c25ad2fd3189e4f89f477364f0b96d535e2d531014a10e80c70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230418e021cdbc0d7e4de71e066bbce9b303629e54419e264642c8d062437a436e773891da0e2ce8e4060d8e433bb346bb80231009e458de0a62101bdabff863b3fa4d3f30d4eba2bd249856d9d802a0af97115b7ea873dee44b0e891eda3436ee65dd9710302047c435bb500683066023100a387426d263559dc5470ed568c5bd3089f3cc043c9caa9a35b69c6b195d6bea75cb134688cf2727ac8869fc01133eda3023100b01ec86f68055803598cf71f415462bd08924e50a89bcb2bd85e9751a1b9c33bfd79e743d4b38447af9b061b3ca31d7a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b3b19f203807b48b95cfd8e89139e76f1477b8fc31ca043818119fe61e4a3d7216f5fd43e415db94d635f5083bde82ac0230687129242ee206dda3a4b0936097f463209995eeb851f5ab098d3138b59313697563309a4b94462bfc5387d2eb7ac2fd0302047c435bb500673065023100984a719e2db91e660b3de4565423d744c49afbad40ce2918114bf31909fdbad8358a0cec08484a627816f2ffdf79c1d1023074fbd1cece1db3de785f1843c5ea1232e012cef14f24a0dc74475e42af4890980029e9d02aa0786cb70408968419cc420302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310094c52c54a0816ee16f4ba626d8a9bbd1c04c448746c217aced24593e63ecdf1c1207553cd29e44c42ac15401a3b60199023100929d9a8630e8ad4fb4a023533b43ab6a49c6621395c7195d2d2c19c70686e45008b5b6481a807b79682e5bb11d8e8f7f0302047c435bb500673065023100d74d08b284fc53db629ecb44dfaf77c740c9fe2d79e1ada2f84985c59b518d7554b80b8c60eb09ff10b8b1d54cee871a02302e635cd3bce21130277f01eab7000a6a6fe664d1983664f3e8c998be097111dbcce8c3c822a61e955c12a676221be4770302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230278128e6adbbf38c0c7c0c16543439531eb0abb598a2aa8f35bd7e3c2186f259b59cc1168c15365b2a9965b87e27662f023100a6a93060be5c0fb0e48562742f4226d5245303bf858f475a5d31cd9450ef65dc166f8ef529fbcfd6aae0c8ebc880a0dd0302047c435bb50066306402306e180c086b6668d9b5ba4a814d2b30b154251fd720ff1b4816d3d9638cbfaa9c61fcc84855650f4b967a7e9068bec912023073f4e0649740752b8a56b038c523497adadf0b58b724c7ef65831bef5429bbd7b954db731ad77189d7647fcef6ced5df0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100abf901c11cd244f23c242dfb894ca9be51f941c25e5f1d7fd9f151c1e86ff585513b57afb63636b3a8203e89de8f7e4c0231008e53d576fcda8ffff46048ae38a88bbf330afc5805088a8726327f98c45bf3d859194303f68a6c72805dd4ae9e715d940302047c435bb500673065023004af5067e0212475b64eae9f8fa8c8555c475b1abd1ebda9c73785def3e2a56383a1aa92e1ff3d619eba489b91477753023100da1a712c16398a491d0c9941f5f499640641dd7e10baa42d18fa382f61236b016d1b24eb584dc6ea8ce19b20d1eae3eb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d953c8872f6a9429e565d6e105873f23ae2a7d54ad6f53b863ce1b2d9d56966b8bca006a5fbe01310b213b881d222f980230567ac6e973035d4fad017ccc799e05d84d1bc203715e6146fef1e52e8fec513b80e22171c17e10199d7612cde5855dbb0302047c435bb5006730650231008ef36ca55be1852a65e354174753f4e65f290b42a73b73a64a3c66a9f712e890157eec6ae3ecc8db5db6fa8002b48759023079101d17566e09b9980f4daf13f7b0fce93b77c892575359629d1d744c6f0f2cb5371d01af75fc1c464b8fafb7b6abce0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230380317e4ba4bf53ba86de2be3e77bc8a990983f14fe15a3b93b129cc30f9ebc2e96622da6252066502ca756e69d032ab02310081f999e887cf4fb206aa68c7d9569ee582cca51a06e0b5e19539badf3afc7c1970adc726699ba3519be25e183305a5f20302047c435bb500673065023073e215d07b516948cf8625b449086f18d8a08a9b5add89e7eebc907f724be9573aa919c929c4ee3a4ba22801d802ddd2023100a5f4dd1641c01ce0138a851621500c5cefde6027c9683506769088fd37e77572d76a94a433f8bf786101913f7869cc100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306cd882193ca41e99c2db0b53de83a0125012a31be51d2066e9e9b6007d39ae3acb4b501c4d56d498c99896de25ad136c023100c7b504366159872c05b70bddfc991c51bca46a485eec81cd79e5b8909fc3dae1a875ef682f798ea74b7428fcb750ba7c0302047c435bb500663064023058641565ffb5ff042e0e6a410ac9d90052c3be26e6745a71b2c95bc9d0f8aa79a5ec3a7a3df27369fe8022cd7f04bed3023033d8d24126df0c84e3359fa828afcd1f8f638b2a0de7016dc3c742022850c6cbf7e5957a981da72180aac420e41dea700302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c80a56102b6db09cc3415a433b3de4f510f665bea2ec7101901ac51f0669266ee54ec386c0b4cff6f839499b8eb0b3cd023100a412f50e24a72b61835452ed9b3d733642af65a8d80e27ccb6422b1e953b3f5ead78f966f3767283426777c9b6ad0ed30302047c435bb500683066023100835863d521ee33247cfeb8bcd1d51bed8ac1453065f508449e68590fef4f98e106015774d3c3e257c6bf659b75ca11bf023100e703d0359956564b2204e1ce99cabcab4c1a1fae289e75e4c88a065531aa58c0a6ba29d3fadce3cbb7a85695e5f7933e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b8993298d76ecd3f5d8644de100d32bea5698483dc65be8118b3516198b02754959db89fb70d20da795a6efe10abc94c023100b35cc2b9a62b311e566c979262a14dea21ac1d41ed2f750f907d603272dad8ddff65ec71cf71cdefad685f2e1d35b42b0302047c435bb5006630640230646633bf4f20097d4ad1f289fa4d11e2c6a4a8eee2dda0912bea1375f4b8db83d4aa096ba6c81f395488fc1148dad8dc02307f17bfe79ace7226eb3ad6054bad9ce6e7cf34567a7f89944a6d9d5f854ce5f6e7f06f9e7c8fde0154f40f592ad382f70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023061ef2f72bce7e235a2fe7724de1c8d63156cea083bf73b9836a64ac72f2a902fa1a0c051d96d1a75e528a6c74c5cffe5023100c1fcdfdc9d628cf7cf941f574a590683fb4fdf98a26812af9a7d2ca1b7a6f1140757df3e060fcabf9454af63682c25ac0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230301188adc2065109c105822f25ef81045105ff3c2f47b5da14e506489dc5b13742d4b37f24572853b63d26e26d3472de023100f57a52fa55abf07ae033a0e3fc8f1fcfa7078db53863a98be4b0d2ea244842974c8bb58ee94c92e7c14bb138768ef8d40302047c435bb500683066023100ac0b2807ef975a2627be43e9db15f81b5444bbad3659887b644f63aaf5f025305e2616a5bdd53d7e531057d50f1557d4023100aaa9313b95913630a37213ba3f74c435ed71c0d00ee26bfddadd4a1894902f5657ec1990368a50c23002c375c86c3bde0302047c435bb500663064023032d91f72bafb26b67cf3a6c0e465044c41093e210d0e7c77fb0f4304bbabe0c15e2df3d8ffde05156da62a38114f8345023016848814f25cbe5b04753e0416850abb9ed2c311ffc55f427bf703bc4612542e8a11df7add1a3e146beab7995e57c4a80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c8117fb8e0fd346e257ca672d0c2684cf6cbf270c83f1dfa0f3953e177b2e7a24b7144a7e25825d89988289f20a056bb023100f46cb7ff5b9a7c196c5169964493e8c22b24705d06c7ca97fcc22e8b6ff63bb1d9dc9f784840c74640a2ec6ce19b20f50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307bc4c3231a12414438e0092c8269edb19574c4f1492dc7f48debef5733c20f6e70dcaba5ca48aad58f4485074da5c19b023100c5b02b56dd39b5c46dffb7bcd99a6f8713ff64bdba730f057cfc9f018e92a7757f0387d9c207af087fd23f0752b36e140302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023010f9ebbd1af6bfd0cb3fcbedac18ed1c9ffaa0e1693e69948534b315627b8eb908ab813693835aed354c00b1a1a1b43b023100fd7731342dd5acad5dc35ca9ed754562a78f6393556a1636b6b0aba3840c6b288cf549b92f9ccf5a3e1469c846c3aac90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307f64a0732eba38143478f45d202d0dc1b23bfdb4a7b5bd3a1621993f88162d82b775ec1ee2fa126b9dfd0c385bc9840b02305a49e0747db87ed5f421213a25886a2674de4e81ec493a1ac3e7a53e1bda677399f8a3671e566e02cd8e791d47d598430302047c435bb500673065023053f74232eb67f716be86b683b753d56269a4412359df6b83cf048e67fd50c39ad220ffaa2b39121643fcb34665b50838023100e554bcc51378971c35324e0ff13a5509d96245f3bca81a2c2d838ee39f197099257612beed9c25202d5ab5e0a3763d630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cb4ce8e6859dfaa55fb979bd854a784a2db50a130fd50dd714181e192309b58c0c1fcef5a064e7e933771d2a2daa9b81023100811e592a408f0884f328fc2e92d2d7fa287064887b3680795223c79e937dffbe70d32a8f944a648dfb33f03fe1e9d0ed0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023040c1e63596e0fa4d5b704df6028e426ae7b1d53519d4d020162fc52ebe294bc9eae026f626b01cfcdd6fe94f39a74311023044329fb07454ee8e04c3958e7faf9438f5ac41c7c028b9344017916988c90bd1ea7badef0a51b8d1a58a3f07e52bd8f10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c446f31be98e447bff2f5b2890c875aa5ce3fc09dd97ea01edbb81a3789665dbead5dae7543de85fadb6a9f7c32398b9023100c24122a2a2387d1b685b297e4f3130925ca31c470b035ce68525c2327aa280cd9692aade4d1b271d7eb42c34db834d2a0302047c435bb500673065023100961962e229d43b43c0df80c15f984d796fbfe9d2bf9465fe0433a402a81da4b9a90a408781d678669e5b26cd408ea48f023055ae79e0d826eccc05361fea8701dbed41b6e20e8db8e994ec850c0121664064fdfd895958ea41827704c0296d0b0fc60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303d0e1cf13ab5e4ab15b3c8766903dde46de15308d94370f01f9e2cd141ed4ab587cd6bc4bb467fc02ddae5a92dc6475a02304e220bc134fa6e7b8ff5982fde75a9bf39a1c04ae9f8f61d22840944590d8cdba7068a5600fc3b4ffa1f872c37e6c0f30302047c435bb5006630640230402fda069a3da8059db0d02139f9a3ba72a513a87fe3ed0a341e437b84fda87e5c513fc514027b786ad01b167a5c8290023016f631889b2785a0c7584ba979c69bef679e0a251134d27790667bfd304830f615ac8a9228430293a3552a7fcc2d988a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306513a134f2d66959495d9d98360b612ec865292105d870bd3268736e78a9297ddf48f5d0fb36fa16736a752b91e8453d023100e066caf6e53bb16bd333fc50625f3e9a7615539459ceb5d5e7a45b9c9a8d65c25066abefdb305d3eba8d4665dacd0d440302047c435bb500663064023065d14a506e14b235ec272baa66587fc2083aafe7f2f8fb99d566fcc998db29987a82dc6d8d5c6a815f85d50fa06b14190230466877ac50e6d6c3407fdf20e108bdae67f6f70463374cae3ee7c698a28e745dfb5bf7281338408ce13aa3cf945d89a60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fedb033a8290d5845ccaf716fb36b1df9d96dae4d1f892a68d79572094b0af9569ef6a3f43e17d326eaa008b880c136602300983a7221a4471be39d865b5d3fbaac4a42fa343225b5c6ffeb344a36b0b2adcd968ba80712e470303b9560412156d4c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c2581a998d1611677e0e65a3aa3a3399ee95c3a925d18069ff8e538ee014ce3c4760041f4be7daaedc8ee89057b0f65c02310086d03eb49a0f0e09ae9898deb2cc9dbfd7cda81e25814526e186016dede24b5fa77a6da2dd6f16e00cbc464db17717fc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cb55a5ef5bf637cd224cf88145edd78a194ca5c01869172c2c2f971f987a69dca1b670578efbbff885ce559af32a08800230766202d2369e328aced31f7c36a547fa807e9d5cbdf815762d7c5bea03d8e4bb75c2627c0804c005395b569b029fbba10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d7329ebc56b97b14e0b358dbe52b079e427bf68d9c04539d6967398f5cd47a45e8193eb4623d5c8a9e0aeee5b84176c8023100a00f905840cc9b9f07f0793fa226f307a2e23f0e0785b2f7447a5012b15cc4195eefcd4a84781b4087e36d219306774c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023040c9f9ad54fec8d08226be76f0d1eac8e74791100d541a1cd8f3104300cb79cd588640b2678844539a9630f4978d528902302118b12f86a69ea2a20229a0f8c2bcb662fccc539efcaa14c49ef1c85c028896214b6f88026d61bf4774c2b37f1a80800302047c435bb50066306402301c7b621eda7a77a671c64a50149d74ade1f5acaa4ee1f6e88ae66f89bb61d9c5ec02f5c7a119bd1f465b83e46eeddc0502303f2b14677806a40171afaeaebbc9b23fe2ba4ce48187ba860a747c9864d3a0bbb095d70ea3f16c371f68a0fda53da7a90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100a0c8df09a5572ddc0d74b5b2cfe6caac7629f364935630a7b844b78843b0f95bb52fd61bee0b9b4cf49fbdf6ee2dec10023054e68c16b6738411c86302bee73598fff9bb5b77239be0104aee3b79cb95888bf547fd6431d3764a685eeffc44a0c8d30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307b2176367d83ba9712aa6918683cf5ea35631cf4fd94d89552741ab102d919e68977c1c799a60eb2077fe05a75f384ca0230608aa1ba561bed95f179665adeaad955a3b34a957eec398da85e414b1562e2da4b0130083faaed127d66c3f0a3c67d820302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d586a12e8afea7deb593538874815d9ede6fd70e3875d6e6a37b756defb3d572a02e60e73f8b8f041c673f2891f1b7fb0231009b849074b28aed513ab33ccb9e3c9bcbecfe16b3b2c2f0a929d514e5612fc967c0dcaafa69f24c140b1a1a56d7c161600302047c435bb50068306602310080d0bee65fd6ca6505a841863c2d5b1613e1c695c9a65aec9b85fc9874cc2d0049b7bba1c50f3675af2911d97716b08d023100d58783cdf2e877489af56b70b17ce8dde74e1ad05f07e0b2984d3d550d78ee8cc171b0c0aa10068e592886b958f05c410302047c435bb50066306402300e1e9835addf3ca6b1576853c7727c74b8d8f6c732153b85017530843b2304c58473885b653ad2f14e5e2d89938e1f3902301de725a23cf058dabf54f7d46e14cfac80d960bc687cdb37dd37834696f68f804057f9d6f8569772edf7c4cd1c5c58e30302047c435bb500683066023100e19428bc83a9065969b3445f20749f8c83d5910254cd63d23573229bdfdd1eeac34afa6616473ae7ab91945208bfd2ce023100fd427aabd5ac4a5d1962005a02ad7f52ed2ef3d995397d8867c677595b062adba61e2b2317de2407d12222486178bdc20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304f71a44c3622deddf9f8f544444b68d796b9687a8ba984dc262f68eb65969449afc76aec8706fce776628c453124c139023100c7681c908ce899127de951e1273e4823f7b4dab9936259cdd2b93c08ba0c70b050f7673d199505fcd52c14c6a295bdd60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ad620b124e4c60b78678bc43b205a54fafc84a43a6c38f20cedfb113834a4bbbd87383fb957b397ff292896e36d6b849023006ca6559414976f9370b2c82be93a2930cc7da5a19920d8bdc7547c2ee6400515ff505215d4b1b31ce82bffabf643dc70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f54e067452409735d7cc8f9dd29e2db4c5a3570a7ede09c899d17f235ffb3dce1e736c586964d12984f08532d803da2602301e2129766a7afd3889fc45246fa1aed6a77865583782bd537d94a2dfd14aa4074accdb96385b5f61354eef73df0d25050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b01d7d9b19d0893d8d1f96d11b6f430c8c7a593d36a010d1b908549dd713b1fb804944ee54039997ea46fa3af54c0c80023100af9067cb00c8dd59fbd95ab6dda5227d4768c5065a6953e29965721fd22b4f1b61014d8a8ae64c847ed270a1b0b289dc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d89c6f80348564befc7ae96c7fbdc5880ed2c6bcf981e299c7c6f404b12e7cab90535221ab273f9e621f9b5954a7d1fa023100d1e93689a9d78b37c791974252257bf00bdfe7a25e469100ed05083e5e5d63a0374d1587e68d9e4fd4206f65b379b2270302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303b1dafafcae7aebf6103d332307c4684cfea1deec455c3ab04b0d9f18a0817b95244cba36e9afb2226b07ebf956cb5b20230422d23d409c2841f8cf9842f0db76f998fe7e86ef37b2cb601fbd69911fceb62bd5601dd86014c4c417eb5bfe2b8ec000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c7b198f28ce4b8ae3d10e51265664104231ca512a49f75173a04d59754cc2d0354fb9321f5d0e831b6d862529e132961023100e72df34334964e7beae8bb53e5b3c89654893b3f10cb4956bbe491ca7a3f617f36244ef30c6956b470fccc69923ecbf70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307e55263516ff447db051772b1ee13c82d450c63964061d06bd479f8e10e85123be6e7e5550e0dbe49d1d2af72803769302306ecd0da8df9637b4353b54d82b84ba7a2ad9ca1d49898d5bdcf7b68fc0b39a2ae61d6371396161fd5792aaa3dd1c9b1e0302047c435bb500683066023100a6dccd3d5abbea1df5b63c64af7722766779be020a2489beb8abae824a5eeab7e6b74173b35dc0b4176bdbbb7b840a3d023100a23d2210e35671b403839713b3b965789bd910fd1caba8dea1b69e3f18dfab3598edfc91046e602d5d857bfc37c88bfd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fd07b80c6ed92700081ccd9cec2ba17447960c7cc40531a71004d8060ca97ec59be1125b73e5ac4c78e7df21efcfd54b023100c3605d0aca4ffb63c68376c6ef9d0e53ad6d9275c1b9b6f1d8b44c0f4ab7e8e05f412a41a2198451ae8df7dd8a9304000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230760832711930eb46759b571b59e7c7b4e383ee37980a8cf8daf93a6c4ddd0b5feb5872c4e936add461337f84389c436f023100b3704bd2aec12f4c87c1fb8f3d45b88166c2c42edc6943a245ae181dcc1ebbd80b1c187be158de976d784e69c69cfb5f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300091a45858601428e0f89774f9d3e2e538fa0372f4e924778621e459993edddc47fb369b1919b8e6010524846f6beef20231009d05e5a082d133c488edf8119cc07cc38b16a950bc04ca88d84c04c982a900579cf3b001637ed7294ba8ed05c4dc591d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230498e6e8626c8390e41f094d04a568ffe5c20f527827588e70d3b4f7f45bac45f2e3bb46fef387356bea1f8c08e356e9d023014cd7b29ca64a7ec2db67235221b1f2725cd01a74683dd22b31f808d27243ad57d0d16af23fd32716fe9cd6c105307860302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023064cc1a38016585c24e88882e2f3ec8326ac6cf5866c1bb5bbc23376e21a002b5dbe4f30b822b50fb63ae899befa690fe02304e6ceec84c45150bd18a8d7339458a20ea63cb6e4566bac508c3715d88e597ad01fb95df23b3ba3a8f892e1a2964a36d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023054b5f2e780efb0f1b4d01e47f69d6ac88ad779f1df8ae1f1403c00eb617eb420c41c5a30fb95b8dac0ec9fd1b037014c0231009f9a5abe9fb014c8dae636c02cf3174add9058d3ff2b0ee55e749f2c8115d9078e44ec10bf1a1aad1c64d1d395ce6d0b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100882033c7c08c4bfab47fa9525227ee23b5866216d2b956ff3bec78fc52fc2f3129852f29b2d8903b309f4860d7647f23023100ae037e9b94d181dac2739ea839383d93541313e36cd9750411289a4d06205f31f3ec9c6675d7423fdb55550769c06a930302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100da3496e3bb6de11cf526f1d0b5b953e77503edec0ccb8d50770f7df6480b36473e85d1bbe2812095284869d0f330181902300fdd38bb67f29e1091ddc5b8336dee6a8fdbc1a569a560f1f36bc8b6d98c1b7d0a6542fe50003e81a391b6457121b75e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100c67dbe05e8656afa5c4d97508482c4dd4203bb5e78cc79d8b9db601ae9f4718f260308b2d05fe5c569126395ca1cc7e20230743a773ed5d79ea2da8cffcfb2127e91f5840d0ec5310a588ca90f275878460797872c260fb32e837022ad5280ebeaec0302047c435bb50067306502303ec42050450a480e8ac220ab9d896aafb3323634e57a09f4206613b9e8b14f6babe5889266dc8aa48cb11ab010d62f54023100e54a295f9a78deb99a0e8180a46b9ebccb69916dbb9e03ca14a21e8c42b85c6b03d4fe1f2ce86f76de2480b5339cee3c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100fa999119f8fc69886b85b464ab70fd1b97040e52daff3f8133e80ade2bd751846076a95521b323bed3f5b63d5e500b80023100e63431b6b66481c63ab1f9a8c48afeb75aa62dc344b799689bbe656b26dbc83ea956565696bae02e23210b7475b87c640302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023028836413a8373b0b90499f5f1b78daf7986bbe7bb7d7fe70b5bce2ed28ac06d0722a0b94aa81c24c19e7b6126d7881c702303c32924f20bb939b836dea61f40429daed79362656c4ec21f819911a5028434a91646c05ee6e57d0cf07e135d3b76b6c0302047c435bb500673065023015119d877e9e5e74322dfb49bd2267065f68a7b2efb75054cad6d64b6840cc16127d185228a96cdcc65d3cf3f77d8685023100aaf81b1567771ad9deb69130d828bbfe155fa1069fd24ceebc5d5cf2860d2047ded62dbed5e04f9f31ad38f65eba1d950302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307b9ea3029ec6cd482d0df34323c0ef7b82ade837d225d4c93c50f16114ab86e133bf60c626c16d6071a08745a4744fc30231008b68477b9eb0ee1c1be1d9d4488b230cab6618095a3a463e27f861a5afa0da718b6ad6c799f66847bb0e202ca15517d00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306294d6e92a9044b7ef40c4a55395c11f9d48625e5978159f89f6d664aa66526f50707bbba354f5df23471cf9bc2aa04a023100b3bd55a7fed876ceeb69fa48f580e780e9e51df4ca4dc1861aecc24911a68f551100c942579a6097a863dfd8a839a8d50302047c435bb500683066023100fc0da3f88c1a87b658cbf08af58174788b7aafe153632966ade2154bf39d292c5ea6c259289a651b1a25f8c779bdea6502310099b9c59ecdef5a234d1cd043508599266658ff8ce6c4ffc04ba6964d62e55c1af5acc0b9644b15ca36302a56ecb7042e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100a877753bd2d32e1fbd927a78adcef1e4ca325273f86779986ea7b7030309ed9dc8e352ecc90f9a2648f0f83d473a3e98023100a3ba4c8c26552c1e33c32ee97d8405f480df66a2f0c05c867498348ddb1e8d9b26ee2e51314944b6ff29ff845e37500e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023020d291f89625fda676d857fddb5d46f1c21faa0daf4042830c5a0ef190700060340949f53603e480fa92a6cf9b974f6802307a439da56f94a8657ad669b2809562ed644db56e77f9c256bd7fcec098ad78fc89f1b78f5bbc5d11b1befdeb1ef55a590302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305d388ce4a4dd5758063bab76916dc895f60a4e2b8722bce6077ac8aac529d4e4d62efdb02716363cdd65af6a81a455da02310098a276380d67a3abfb8cd7aa3d53d97f95de1a17c5a1d8adeedb1c61369440cb825482ede5dff0638c15c455ff51924d0302047c435bb5006730650230179ae2cce2845b201730cd60a0bb656ef3fd1e1c6fe618b8599eba6e6c605db47b05d26ee7914d7496355a71a8600d29023100def15c6008e71e2194eda113f97158f6d15c45bc35c5367b9c1f6be60e51e9fc69c3955e93445753e1a4684fe4ec3f830302047c435bb500673065023054563b447335bcd54c5ca0ff54744d4059907d7be3b7dafa0adbd4ad14c76612fd270bf2c6b0077a7834f63cb4027f5a023100b065fd938da15411f6289b4c97487d914820235b1cddda43b240588677bd01c7cc4aa495e4d577e62dfdbe1be8b43f260302047c435bb5006630640230450e16789eb6d555b68c241bceb8a2e35090e44d4710db9eb731ca03298e353e4064af2c22d4dcd3d314b4ba600a9829023029151adf7e8ac3d20ea8b5a836c238e3437b0079e8b2d43849acf3c3dea2218ed7188cdf2be6e8a04dc2a7713c4bf3b20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cf004bca7eda62728237b56eabc855310853c3859d53e3250dfba197daad2f8b5b684b6dff58ddd8e2e5d1c4ad291a440230119458d4489d2e0756fbf72261e977e73fb0fe65a9ff5ad899b8d2a1f1ec06a831c7903d10ea0ab1114aefea3bf435780302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023038dd130c5d051b25119504d7a63f7d5b14e9818e30757d452f21d763b7da2e3de07c7b40fa95730df8aa88981943edf8023100905d5cafcd260ea9324920a266eaf9297c71dbff00350cd3fad003b2bc76aa50336f6debf36234382e87dc458b6362590302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304457d32263c2d947eafb8c2e74fa0f0157728e606cb3e950be159eb76dade38b43111cec88738a609a2f83a90760b14602306ac66b82d0a36196dced7bf6dc87e38da1994577fe3c1707ccddc80bd8aeca47184b3b6e52235e11a7f87a64d02f288f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100855b8dd65ada33b9f2fa8e2d9f091a57e01e4d6ce9f9d5686eccce1fa16f6c11b4181921b6db90d7c708dcb67802f25d023100d7e3a4ca6687bb534a565f83f5f1e0ad06e038c33594ddc6ddf745127c5588dbc2a3d4e6bfa62778f95338f8c929b39c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc906ee190383583edc12579a4038756393b52b53b608d08421ed238879885f07b5b0c16b394d7adb17fc57b9c77fd5702301d2dc320b6a8b6a8f1340f344253d7cf859b04538ab35d35847cc3302a93edf383f4e4e8549fa8c50575fbdc1fd2d33e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402302f34c53b02d1c8019d673a5677be7ecd8d23cab9e7df74200e8af558e8bcd378043f8fff6130f5ecc7daab9f7638140602305da3b12c577436f72e6c6f8aa01c10d7dc5999013e02b6e4fc43fac61bdf2026a2d6924fc0a16e4a9b59bd654748e4860302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304457d32263c2d947eafb8c2e74fa0f0157728e606cb3e950be159eb76dade38b43111cec88738a609a2f83a90760b14602306ac66b82d0a36196dced7bf6dc87e38da1994577fe3c1707ccddc80bd8aeca47184b3b6e52235e11a7f87a64d02f288f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b84d54b38404e5a5308dfb8dd6b9db5e852bcc169c747fe3721d46de0ca425f77b06f0297124ead7334c55fbeb05b3170230252b58e5bc9bc59b58a6ab10e1a90d4b531690c0dd350127fc6d60931e9de59b748544019c9ea8df6e571eb28ded06f50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d97d82aaa2cd02af47d08d79cb44ec219008f611630b401c2e1fd7579895cd3ad42518ddd2c93335383bb1b37c177159023064713710695e624b11be229c3fce9bbf97e079f0e914ffe08a694e5dfc5ed82e7783699b4e037efec36bc3d3376d23200302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402304457d32263c2d947eafb8c2e74fa0f0157728e606cb3e950be159eb76dade38b43111cec88738a609a2f83a90760b14602306ac66b82d0a36196dced7bf6dc87e38da1994577fe3c1707ccddc80bd8aeca47184b3b6e52235e11a7f87a64d02f288f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023005c95c7e616670addcc6c03c76971d1d3d12d6d0ac7ec74da0eebecdd0ba4f34fbf103947a85ced5668e21f42f8fa1360230723bd3b569c97c404c5591782bdfe9f5d378568ec0a448cc6a1c02fe35a1609f5d7153153262d2be751da1fb42ee5f5c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023063c3a01d72838898c58aa5af7fddce0ac056c3f7b92cc3aaed42924b9287e6f81eb82e9f7f8efb7a7555e2393aac76e8023100fa5a01c6c3cfe87e5fb4192404b168c938613b85c5e7515a16a95e0e13c9f76453686049707116a31275f249864c9b2f0302047c435bb500673065023100fbbecc79e41ef5303cea7111e8b739c20614c47ee4c17fda52f59093c0bf2f99915aaef022d5dec0684aab679ee1682702303245b2ebe18ad80c79d2b00a8ad5a5cd132486fa43652dfb2f7fd8487f53abcd510ff13a9899350c8eea940a1cb11f750302047c435bb500673065023021aadd15790a69215f623757be3bdc6d5a4c4bb6647538f34a848e036b306f685d70adb6797ea0b52dc84c4bff9dc948023100e10a70e1a376ef5ddc60531dca24d3e45f69795f84bbd94358927f34eff6929aaa83465f2e62acf0d40382306f1186180302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023010e727fb8b093bfd994bc2b28e1d057a660f83613496fffd23f5252dc89595009573faa7c8f3102331cfed4bad9a0914023100e0838ff1e0fdce26ba6342887c2a0e202e94ffd5729f63e555bce9d44f36481756852aa1e07c46c225a7406e504d261b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300083f26892922c215fc1e2fee3e283300fb444649cd9cfd73840f9e19a93868d86a28d263d4378d68cf33d4ba84ca861023100b8e38319660c8ec2a1d171a41bd5ecd8b7c1166f58bc85556f153a2a780a5c147f5a6043496133af5dd6261f29b9d93b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230272b7180c4d898727720b940aeb87566bfb55e963b03dc623781404b14bf8d25d2b0b0190afb7f41251a8abcb3a738b0023100b31cf4343ad1651bfa5c8a23dc35220637cf57c807042338911a5d20a68e5e7a81ea5ac62bec1b18c60a51342cc5a9ee0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230475ad7a3302644cf6f675f5010ad5c814581e4b7c4fdab87912b46e354d483aa83b499ce506adfb1787b93a291d08d9b02303a7d583523aad17d032fa0f5cc7682754075652daeaa6c4c58dd56a0832eb6e1915eac48855820830dbfd5e2a17836630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100aa47ee152d83be8f9faa8539e949e9056d7de33696ce784c67318e6359975c3b909f91a362b9298f393d3535a8551b27023100fc740f76cd019fbe0ee2a95a6fbb1f937e93cdb3744fa367ecade7dc1cafc421a0d9b2a8ab43c5bb105fd054a55a8c6a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023017c30ece7704168e6f35989e336ed65438c1b4f8f4ccfa28733559c2975301e77761b5e65c538f6ce9e698749d799473023100e92c0fe15367b6ad34dec2f2759025188d410e8d0528b69bdbc8585f58b66d90e8f363d6d221f3e703a0fdf85c31abd10302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305c6f71555a142bedaac56959eb3acfed29b4456a1b85ef66e8350dd96ebd2d769f812e34cdaa991e2ec5f603f861c720023100ce7fb786f47fa1655502837c05266144b1d822681bf833cb6057349dc39196af11927ae251ecc19254aa5613a46471980302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307b2c8d84a1b270f4a0575a32634014e4232a65676892944e6a539412d2077bf58ff84f8b37e01e6313f172522ef7914e0231008718e7839f0b7bf72a3fcf1f93cb05367b24c0ec1d8a5990afcb0fbf07fe2924eab18b4d05d4813fd55386bc60b3fa820302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100eea77241be20d4be423afa47612639f3ed1a4e81511b9e887dfc40e087225b02a1ad77eaa0978f729bff1be21d6e76fa02303c4feaa809a72e71910421653b29cb7ebffe132c5b996cd6d573a961bb48230cf8f634dc9465c0c329bc96b27ffc60e30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b6c054102c8c04a5416372a3daed201d171ca3b84f9f052ef27abd4328237499a9fedb4f294cdd4e7bf2b32369fa973902304ac218662ca00d51063acb8eae588d12085fa9acb03033a3f56dab2b22413fe2cf6309aa1317f5585535a5d7ca8d0b500302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023040bc4959d2b0643e151e3726944dd6b35f83134dcd2d62c0366e51258f491ad65db04dcb5362bb4bbd7ad16e69abfa8b02302279b9fae76687024e6c8acb29f09ff38dde82a56faa0c3eed689324d977a281a5874345f1a4720ee6e16f1891c6faa60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100faa6082055b37a9af3f134ffbad7a87e2a421b4ed07749b935e7f41b816dd287dbd6b834415831776d08953afb74d2df0230384620ec2f1322e1a0ae7220e4f3de3bf48ae14a1d38bd6e8f681f69a493b378cdbaddfbe666788e2d7ce570226645a70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303cb91ff5c6e18e94db078fedacd40e0926b4b6a9f16db694c3d5a1e96fe0ce9c60032484d514122a5ec6b9c637450f5f023100b6257875116998cb861e2803da099a88d1ab937f00eb5415a4cc476acd47d0d998bb8b88c38c5b12620962b1acfe3ce40302047c435bb500673065023053c0a7143d22d504ef123f16520115b58b277134e52b7aa3fe127092b2c588db6a67730ab91df5141f43bc5eb3f886c3023100bf216a7e52f4692eb28109d4ad7f341a598a0fe40cab64b73d2cdf7813dcbad82d358b95f755057775a9ddcb992b51b20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e725081b86b66fa34f506677f646a488a0797c82156be71eaac7e79c608440cbbb42bbbe534a9f865028f85fd3afc5d90231008233e0095431c41c38c388e4a1f52509529dce017aaaedf7f78c68c6461c725f307d95c81d524a67456d13ebfa8e45250302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b35fb6fe10019102f24a2ffaeae0da7167ab8ca42e2861ef7f9ce6592fe477319b9346f38a57d87a38bb7ff297605112023100d54fbd85e1c8f161b43594b5fc5f20107d63b96ba0ed7b6753bd51d66e4052649371190f1b904d2f46de1e8e65bf5f630302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c2fcaf3a89fe1bd226578c2ee52367c38375d3f2c3ae25c3665e51f9a8fb28aad96be330e50234541286d03eca008f32023100c295d12c88f4f2eaebeb60126e34fcf5d822db2d9dbbe09edde7718ead5f28efdc24d83d3c6d0095242596320bde26eb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ce4f996d5ec1c043ba9610251128b8d29471265487439f532030eecba6be7292550ad1882bba23aaf35e69a2a7ca21e9023077a2803661a2fb873cabe4d2fc9a56abdd1c868c62244753ff05f241baa1b9e907e095b828c43b174264c8cf3f5942fb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023041c9e8a87e68911548428b16baecff361e0ff07b1e350c02eee4b5d93e8e5e506150f4e1916a74d454662372ceef45c8023005d90dbd43ddb174a801415384511eb078e8f5d33e4ae7e9ca8585cff535cf4bf106d8dcac0d3d4e91b87e045059b2b90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008f08cb4395f56c154ecc0aa7b41e08d177924a06f9f200e35359bbfb5fbd76ad2a97eb4c52b7e2a038205045a40d1cc902310095d30d0751e23e2460935b388577837789f2645b57edd4763b61e91d1b15c1631259b74acd0f6d28cf93bda7adab1a650302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ba43a2009d1b1e39a63901838b8ede2d43f5b8501160ab440cb2ee27c3dc4d92c189c5706c91e05fa5fbf406f8c94f2d023025e7603159aead76b31625c60210b6121c52d0f2610afe13b87748cf7e2b80392ed3f7090a376a945930b5c82c5348a60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023015e34a949a14bdc81eab7e6704f7b837de26e18b4c22ed938d004ac261843d2f9e8fbf199d9cf7de8114f63b2f8f35dd023100f3e00112e7578892d9f9a51595450589fc7e02602b2ffbba1f0a48f1d5eec7750e7d6dff1cc545ad0f01d4e8f1d59c400302047c435bb500673065023100bcd099fcce4aedb62ce8a6342afb58216bf6e856c615a631cae1869390ebb3c32968fe2bb2e459e3212c1066649c6627023017f0bd174e46066c2e29cd6c84c4803db0239aee2181dfa1e92b981828d172c0e6ee76fd844dd1696e98833ff457a7050302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305ea973408a137568463fb93b4d611d248b284e69dd6d44f150d41304fdc8a92d8555644020283b59defa0a59b329f587023057894575db6ba4f93694159f45a67af7c41ec6d87e582e4bc86af035e079db342bb1a82484e6e3caefbc731701b1fd780302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100db51ac3cbc601906ec75748e8e8b547e0eb555b8c7e47ff286fa6f158e86566a549d347a3d8d32dbe16e79c987e70c9102304853b470682a3abbcc6a3902e482fad3a7b3fb0edd162d8341814a7e39358a7c5eaac778ca6c39d57336c4146bed39fa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301b5bc47d57c7d221fa4efcbe7bb50bdd26fcef1758c130e28750358d81ef4bb8860ea19101299cf807d3cc9f15460b6c02305b4203c4f1cc2bf2001a8e265595d05545fa4dc3adbfa2b7800a918da50400fac96f6d1750a24461a307bfed2e96600a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b2dc39f32d098c379598c1ebb36a684f1ae005fdba5805501f21f2fb590e67779a91547789d162e47bc6fd5ca72a7bed02304a197fd3f67bead4653fedbe14d2cc65861cf476e9642c96262b53799fd1c5a7829735cab50ed6dfe0e1d762a443a01c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100f10d6f18d1193a233a09b735fa793a86d9f47046375a1ee938a68c3c3cb4b12ba120c2e7c9db92b2504da09a6bde69e4023029d91fc3011b453ad7cbab24c9db6c5e36d25bb9dfa8bcaf25599d46aa86bf0292c1fda55443e409d57f40fb3ad98e490302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b94c7ccb01a9f65b1096ec9a84e3b736f04590c1aa9a7367d0515970e68c7656d9c03a9ea2e09db9ab22ac34f07c35eb0230716626b51b4d14323cb96e5e9f96be6182b0b33a30d6f2088330def9e457abb9597f1c9ff54ef984d87c6e2bb753cb7e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100da1f0fa33ed46ccbdcdd1a613690a9c65bc6d7bd0425f04eb8d466a4f39cad34496ebd63b7eabbe58269b60e1451176c023100cfa5748d957f67a7dc39dba2c9118ac93c1ec1dba9a0c3ed08a1c93561f92cf9d7de42de5f6eac2531d8cdafe93c2bcb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023045dd76cbe33cfa292187f020ef6667c3de93b9bc14dd5cabafea22b2d1fb1720bb4a9ae9dc5ade3888d4c2ffacd5ca41023100f19b61292e6d2cbdd88191c5b76d7da577d4bb7729ab7de466d7140b59f0fa46a54e9362e7997f8382e5bf79d6749e700302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ed6f9c082ca393525e354c52bf794472a2951f64bfcb2f72c98e893ddc48493f648e783ecd5dca65c6a781dc4614b49c023078c340e4a28377d4105d87bc6c2284ae95b89851b71e1aac883cf9ea9a40f142ef82ee378c5a420ab712ac932899e3760302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023043f007d582bb01220e5c83e4812c3cde4cf0e7734697c66201abf1f344867c7cde522cca9b06695ee324e77d887ba5ee023100d5e33afc3c7ada79b3cbba578e2b31b5f99cace84c43309dabff78a22ab09bd972256254f9a5f4fca28530c5562b5a250302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e0301a503fd307953541ad59a7e135ff9f80c4a5ef521e967c05c839286d765f50ff44393c579d623686b57217ea364f0231008159adeec35280489c1939d1338aa97082f0abb622821e600d5083bb3e59f7f9ebaee1efa2db9c1be1283376a6d810a80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023038deb3a8d2270a156a6dbf5b105c6648742c8e194cf8bf18328b8c9ed9c32e88b6e7e82267070876ec65c1bae438492f0231008a5b5d2251c8f845612c5efa2c709be27d4ba1778f8710206b3572e33bd46cb4e183a64777c24f1b1f00289af99127400302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230414b28005acbb3bee138dc2bd3f210deb394778d5648d39db0db8fb9ef43602a1015fdb78f44649d973c589ebd478cf60231008fe7bcfab3cafbdd59408b9d61de68cfe936f89b363bcc9ed7ac298c7eff2a54c061c9a2f9332784a9a1c0969cf5c43c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008a4a9856032a4a265bcf7ff83aff716964d8b086454500a1e52632e83b9f5d0df2e7ce68e381188def1f3c203b0ca8c7023100ac9c911f9f84c590af2e29a6bf3ac41000c680d064fa6f1fd0952df7a1d083306a5d79d9d7aa941ea8d7aea826b42a120302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009a384bf0b191083ce691b473cb5f96ac44a2d1716d06ea314f4d08e135a99adefaacc8ced917a44d6ca9675e12c72b6902302b4b75e5838abf1ab0e7f7fef8f1de8287efcef145705be6d2c275dbe3f47cf838ff5086dbf5a3c13630f9de7bce48600302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301f1cec044131f57714405ea49f10a588af6280780deda18234a490548075459ce9e7d4ecc0acd7675c84324d11db7ec9023100d46417fc2c12bae73f75c5d7e949cd22b73edbf91e031ba0f4ea18ef2f1c59609c954c7aab87778fe09890d879fcd0ad0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c84997db9af10037ff63fd9a22d79c2dd34c00634f72e869f2f58f5147426f6cbb6f0a611e3b14aff5a539d92becf75b023100976a5c529c16c3029948f8217ff29b63dc212714c83a9bf811aefa9ffb45898a566904454c291da3f0522bedbcf6d6c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230034c10c076805de8f77d265612b3d9a0815c8bdaa77860b6dbd78fcb85917107f87ef4a7d0c455221ded9a43362b7d0d02301642c8050a1f038e6b82fb026486c625a896855979ec039b10114a81d32117219e8000554937abf72da0b81038b014fd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b461a23d69dcb4c08081957c39ec174c7b333d7d0b232e50bd9536eb3fff58fc836d84583abaec790afc038539826e7c0230718e4600020b342d3685adaadece7b34546d20fd20b507b4268c44b27738fdf9ff1e442d45b67de03b4eeda24959f1b00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306dcb62c3f3edbd071f7913ae982a496c21231b8809692d2adafc39bffd5d081e7bb454f98ed23cceb373f24fa1f36cf4023100a89aa3701c49a3fe3b79b9ee04e8d88c78e82b88c9dea30dedd4b4ec8a36be28c491b0785ebbe486892ad1aaa951ae100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305edb65e4f55b0aeab86d741e19dcb3bd5f3e59a48f2f916456be2f3e9f33487d481ece12fe8aea165f8196c48f1ee0700230271c3495dac557005cadd10261ebc3227cf06eb777f7c3144c55e0466a006789ec8341021547dffb67cd8e632fe215440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e8bf13c549c5f831154e59db4ef6417ec30fb16136dca1be6cd2fa757294a7763646977d002a86e7a0ee28b4c4ea12b6023100a9c452e32ce3bea5ff57675d30ac1fcbd099b828e93dc95384d2b74cc80be69b128684ee22125b6867daa998900901710302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100aeca30a248b84ba4281f89f3e69f8caed19ce95ea85ea5e947e8d07cfe00a1d46e37cabe6dfc2541ec6af73a0582139e02307e045dbe101c136c8267c98151dc3c419ba497ca89974a14573d77c9183bab501a41f40f6f338fb17444b258720247470302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bc698a69e83b9bab3694561d2f0db085e25caf562cd911d64067b9b0abd478a41d4d882181ed71d9af77095d1d55f27d023019746ef13a1a5514f863090a4aae3673df9fa1ec0caba6d44383091fd87bda3ab8b5c7159094c3c19a75863f8da648090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023029721e3e07270a77f01747312d825cdcbd6d4871721533c94b27ad889e7163275fbb420ff4cd6e7e2b54d59090a6723302300be2ff21442f38306bb25144e0667a0aa08ea926fc385663e465eebf1c9070e8f91be8243ab71261855cf73d0e5aaf810302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306724aaf7bfe472cca3bebee46f9f3be76f1893196dcf373810d1061cc747560df14d574050492ea9123954470230736e023100c4071466b29b4285d34ed521ab4213498f2fb48e0934b012adce243ba533d9078f1883fa757abe740036ba5948b3d4ed0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100976285b74dab44a12095838aefea2f0c32a5c9d94143a430c697bf7e3f55861edd9eff558a5a2c3c2d41c9fddaf190fc023100dc2a14cc8e6bdb0db1f0252401f45f7278975042dd2fd9c10939b329b4754639ccd08a0da8ba3afb33538bba78dcd7450302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ab1bb0ea7aa1446e875cd85c722bf6ea5fb34eb88aa16d1cdab811f05b4b8ba82ae31dd85e7e5e581b752583a9983356023100a29a4f611a8c88125a95cf23105a9276b13d3818716d7d7dfac639eecf8dcd033f67be2796d70a5e078763010a88e2800302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300733a8f9aa06c0cd6ffee6cca1fba36366d8416771502ec40421a6cf8d9fad254a94de219395eb4342acf165fcffb026023048f061ca7cbf662d4138b766175028b0566cd64ac61b196a738b284a7218aa803f8df0545ace73d3c627065f291593340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303615531de823f826ba01ef166f08230a4a1b2cf8161343bc7be1f2600c170baf255866c723b78eac12425cefa364389f023025b902db8649ea3ab1d189c36bf91878edbba293d9f0f5eb91ea5fa03b4365cf3ea9857c8a9a90b9fa91546683d0d8090302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023026f547d7aefd47f94dc2e71f97d57695e37875543003869c6c7af15b00aa748729c8a3230e311eb020e63acca55460db023100a5cd514dbbe9671f1aaa4422bb1161121a5567720b2ee14b8dd18f9b4ce5b2dc794547210f615a44a663426391c8729d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100dc3ff692ce0694186f9a1b5d8bd3a5b787a13179b4b0f161ddd9f035eb1c6ef7592ee296721f5557b2f8dfc2f73471d202310097d977d9e0c3c0e885fbd611c4de9b9b19a8dd610c0da15c6d39b0a5d07467217f6c27bbf26f3a7869c5c6046c9529370302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023028087b67af326957e4ae1c3bad441a5c3cf1e9802bef8704f0589bf56d7050a9e92bf9f49b6d68bc97a4758c8229a2e50230721aedc659c6ce6dd8c2054a11f00a09d657296c334743dddac84386a7f0bc6ccad2b1d2ddfb10353166ad6be6551a350302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303e78273f2f988829c25611e6816514f22b79605f6bbe27fe2c18553b51a4e4cbf926a037a843e1c72c3caed723e0ebaa023100eba6ac3906010d6a9413a45e1222ac8ff8b913769e6df5c4411174db3dbd7093a8e9176c8d7456af1676ad3252abba8c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305a035054d05c2ad02bafd4036bf44d803e086ab63229e149c94742510a077b481a78352360098404e07bd9f7636f651c02302de805b53c78eac4e543dd9d0a3921e71debcf9b7866d0fd54727a98391603bd8f578653f2f2b0f18c5a4f9b725841440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023038d4b47a5cc9c662a46871b449638e38dab6b29c208ba2a9d9a55f3609616e40117425eebaaeb6ae5b6de68bc05667f8023100d1d02bfac45ddc96c290e22f802d9b1b3e1d7ff8ae5af31373e81df1a076df63ee6221dfcbd57d6644af6b922e618b280302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230464374eb5263c62540e8e110ab737d6783fae520c627efd5f2097b695a5bc3aa154f88adbcdab187125f1105bca2be6b023076075b58b287e5a45212d6b20c57ccdaa9b2c84a5cdb4ecf70a0fd20a5b6e725d5b3af5da26675cdb640d5bf7fc858f70302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303fc7b07d79e00f8e51d9ff5d402b1ace55217c88fcb6188d05f4c3fc7607fdc1ec82e159bec893461b8e373fb9b07b4702307ff3e9d9b9ce4dfd7fa4d25f9efed45323894761e9977a6b1ecc7bf35785d16c7b4fe10f7a255417bd9839fe1de1a6180302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230134f61c272b0a0b47f999675aa313e09de357817e9e55e972c95f4bdffaf3d080ae1c3017b1088f9e0b710d204d93a0802300436771c1c8722d9ca67a98b39f56809f6d46748826c1357f5675fa917b53777dfb1b023153e8c14dab898acf75e2da50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304948ee33fabe1cf2b2a940b357e7026b703a4ef65169a7a31a545de74bc8fde65b90a3d2ec4bb0ea3b0404dd39dac2c8023100bccd0d217b4cbc7cc18d7ce50e1d73c28ed80ac05d5efba04a9f54f6c01d8b5ab4184478d42472703c4dc0fb9d81bf6a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100fd08fc3f9d87ed95a7681fb69229faa449377eba23b42b4cd3f77063f311d6a7cf70ade61b17fd0bbf93ae41f8658e770230266aea8cc05aed2e0e9fcff642d3c23b745973c3d03972f13743aba2512b82ce4a47b95705be4b1502ee31a862783da80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100c3d234ae61a9433129d17b65313130d31adc0fe12baa2637c3f0441f322d5f792d908853ddb660ea46f37c5b00f444da023100d9b3528ddbf49f40d5d62015580f4c2f869ede6d0a3400356fae0e1167b1dd78eb2334237c2fef9c106642ba7fb105750302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230575589db7f776cfb150e512c41f11f062f9ce1e60d4fbf0be9830aaf4021fc9b119e8f6e57444dce88670f6910d0dcd302301fdcebbea3d691708f69cb19b9fce2aff8da28444b01fef188a5f2eaba00d939455c92365c1f74e6e1b19ec75aa2febe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306a8bf83266ab445b0a26943bdd21d2f1a2b6788cb063f4ad41c181685bfc1212e134c47151b8d4eea8721d135e4cd2d802310089e0ecc0baa89b4e4bce5f7f202dcb16581ef5f71d36fb943a990a0590747dd07f9549d365bc8eaccf560a00ff5261020302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100ad2f8205b2ae7e55d9030dff67d6ddad711f81b04ebad71ebbfdf50aa62a00f8060a8fdb37f118bf701231c60d19d1ce023100f125c40aabc24480ec5bf379a13d6742951adee59c413888648ea343942426f04a206fc5b7094fe1bad0068b6b61d00a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402303190bcdcc090b31be5f1a09f1284b9846d30f69af380541b48b4307c8c0c1a0936e87a2567e82a70217da44bf573f4ba02304e4a8bc8de75c267d61e5b711f7625ad40b7d9e0e0c47029939a404d598482cff562483e39ac244aa1e6dc7e4a09d3180302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301fbac2f5937a0628a5edf49dd0653f10906ac94ad75140a0a24e269e709ac2cd2a0b2421ac1f298fe73d0db0022948b802307dbb7a607cfad04e5c143f9fe2509f8c6d0d615d34f8dbcde265afa7f100fa6371fade764f518fed6d1038a44382d56b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023016e73d250cd3ace300c7fe8a0fff74183abb2c4e04478916bdc71f0c31da8d987d32a83fd565221248fa68ea909069c7023062ccabda22875caacf44ee29545715901ca8c66ab29c0349c0842ee8dedccfb31e52b16af529a1ecd2278bb1b9e12f3b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402301eac86f7bc98bb0c59f01c1c0edcb6c76aecb826fe0b7026da6add2a48d0bb7188a24963641c4670e123a46c786bd1e202300da35f9a296f632a34bf2af9ffc90d87d68afc38ba12366f4607d874e9adf3b168d7436b70fde670c81ea2ac21ee64240302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100af054351d564084d79428623474e10130622e8f18692737048a1fc05cd18874e83059bf957cb0a7a3d1e2b74bdd692cd023100fe80ec216364440ef215000fe4faf4906c3a14534a518ee9c159b2cbfffce17eea9953279cc27ef0576a4a2cb33f28550302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b143ef554e045443ea1ea6272dc56f569ed98a0ffdb911d23b87a0f124610fb6b912843eb04c863aa9bb7d72aaefba3c023100be7961199de13678bf0dbf6e55ff38149138414397ec2518f398893611e6335b2f015239d644f46174b0ff9bb55879730302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e1a114ee59fdc7533e6ce4793a8705e59a765ea15e945f9bc6f1cae09edd203ea1c66c0dbd56f8784fb7cfbd8c24ce4b023100c4ba2aff33f7b8d60cd373852e3189ab47294e9a6c6e091f53420cad53844e42056cb6d26bdb1988feeeb67b15ff33200302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009d8f8fcbeac461e6c6617495b53d2af3e0badbe64fc0f91f6a8c5b45588149c3cf4871e1c7796254a4fe89c2cc582024023100862f0e35ed5f442e8e3fe54e9db3d801dbc8a7128dc3e1f842d0096a9e2336936a7bb82ef879bce1632c5c0c6d853c7a0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502301a65121bb5edd96d680236387072f5d6ce56d82fbe5a05cc4d11cac84c0eed8113b0cdda0f47b33723d73cc072198288023100f9443da472bcea46c4b2d106c8efc51eea2ab34784b7f7b7d1a79413627df1eab97f549d160a6eaaca734b49c090b7eb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f27fb991d437ea0e34788793278f188a7feabf94a55ef16915a8cbb61d661d2b45f17dbb42918d69d89337fed6b1d15d0231008b36f45fc278effc27d8353702ba806183a004addd603fa97b0e4d69f03127df81de783e1a2aadc03335060fc05fe1620302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300a3cb1741f8510224a60c5b8673bb9dd2a529ef360fc879b261db864b50396b9c8eae5c7719c16a3e5411269b2d09290023100cb5d9a8b7caacfa9623556f1a2c8d49fb2f401ac62a827c8bdbef75949d94ecde0ad9afeffa5dbd325778d120946d8d90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008974c0f5a461590c34b78d660f169baa3dca1c089e9d26e42504747fe7075c1f268bf6417c844b6b4ffa862e9eb50c6a023100ea0219bcc0e766569bfa4b665dd7cfca64d7e267615bab6a9147e4a17f4c271e7edfbf2666ae513d1b3d9a2743eb78c80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100cb0aa62e1260d6b08942920a26874a69ca0f184c12ce928c069905aa8093ecdde405eaeaf1a1f96055d5f8c22d965c90023100e7cb2021c641c94e33f7fb24b9b5264fb1120c4e3c4713eeb127ea840aea5f296534aa96f134b106957616dc50abecc20302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650230331b5b7800e6cf2de9c06778d07d933527d9f5fe187601d62630d0663010dbed76f0301872d29b36ec7c0fbb6112448202310088dce164c04aafbc67759cc9b074450655b5e6e5904fee3abcf4c13ca82bde4128599ab4c14f454f29bf78504fe9416f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402300c02f0721f6a98abdcf32f75767d7e4b76330b019003c08d9b32a372d66e7684e56a0ed73d7cdc43b2a0a455bbe8cdde023071f7e7fd6852f29abf29ec31a920d06954ef806b14a4b3f6b6ee01264c31df16e8e3915fb9a286a96e39ee64ea5453ae0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023100d7e05bdb95dbaac22442bf670b6cf8e802dc9171f6fed50b9fcb8047ec4db64103003d74a6647576389a3a22897cdf96022f05fb33494af5078902f2bd7978d8e5f7ee350018bd34cb919e165210efae5907e0729afb55d828dfc1aa6cad6c1ebd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100e77aa0342db67a5850b3283a36dcf0c0c24877a699ca43e26f4f065ff95e81f3a523ba2265480241a3fcbea2685823500231009df604c27107cdda8293d169fd302dcb3c641e82ca49e1ac8879138f47293486acbeb7dd48b1e5dbbf315da8425c8a7e0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302988f071b3df3c375850b47438a8fc880128453072ba63cc6db794f7e1d0df2db6c1a3e21153414535dfbf126ec2d8e80231009ed8516e632986d062465fad124313e9c3e62eb67b4677e9e2d270d37e935da72593a1eec943a9ebbdf5ed3b0440f7250302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100bd3ab6c2ec622163683006bbe875f6390b9b778d8b178eaf6d3ff3c8b2adbe708a3261b05f78ede3ff3adf6f1bd3afc002307baf774a511fccad7511574d601df623a713c36e0d6c3e02e69e0b93050572671ee0b573115676fd0c657fad6258de8c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b65fe5947dc174bc009ab171f8130c2e2df2ece7f561567c6b12416907e95d9d69f0e139059eaf383ae6874dc6d2df25023100ec4b6b3f10d0044c9b3c074b2e3937a06576d36dd46853be836e98ead1f682958126eb3e3fbaabcd9042e7b2d92326170302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307a11701f379830857fb97af9c0e2cc031214cc304e693fc9ea95f37f62b1cf30bc1825d6baa37a5be89c561f81cd4793023100bfda655cca9b4ba4e051dd3a384ac1b195a2aabb79392ede3287f24a4e9ef1cb1dde36e127710af6bd2ec4a05157720c0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f4e9b5ad33aff0a179850a04d8fd4a87631c7a7333da8e1378aabcae2cbe93c8ec2cedd48af3c297c3e6f66cc1ddf8a2023100a1ec5af1738fd967f4307e24ad17bcb0e3b47c73073c5de8e9b5e6403d0423f9549af527be896b0dce42caef846ca8930302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305c11758f5a5e65dc02aa863f097d2eac7c52c63cf2b817881ecc64c421c38c5e30bbbd2e348e23ca5b8433ca357506d40230072a04f18ee1cb22a7362eaaa5e27835ee5373791e796e3dccadaf84bb4a58191e77413e01f0f7763110f26118f65aeb0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100d03342eb5517e53f51735d93ca3c93fbe2ad57e0c9c1c3e3ea99e21f5a1d3686d5a6d217a086b5a3b7eddc2fe30bb0b6023075d1547eeedfff36e8de9e942da57622b0d75191d08e89fc28b948fa570a33ec4d53cd72da9bd387ee47d5d521b1540b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023021a3e855dcdf2e50a0f5d53d0ff2f6a99a3d1a6e1431fe93dd6a242ab1ad494fb062b46cd46a02fb5df07f77bcdee2d802301c98b378748bf89ee48f0f9da7c0a3be7b3c3168a2ea24bf07e266535992f91a1f06c928f279c63ecec33f4e7853e1cc0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502303268bb90af9419a977e02d4c07730805e2e5d9af3dff56f242bf132ab566e225873f148d9a73f26e2ad9934479b2416e023100f82e2bf039bf17cb0bd5617149cc9f34f88c217597bcf93f8a28d2a8200c79db04c6b0f678536ee944b321895365edb30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023041b532da5eb03f830fd512d968451ae5d45fba3c488f4acb8e967c9e4b063eb281cbdb27270d93a4824e5020271ee5b202302a787fe48fd338eddea00525cd02587e2bcb3771554ab3434411ca1e8be2e0241817ccf66fc3756694dea81522e80e7d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023034e22ff449ae734e5e29cafc9651b288e535a629704562ac08f1c4faecc0fac8fe35677b6c1c5e8477984ac7ea665091023100c7ae39622dbc1e541900d85aee653c282f180d74d4a989d4419a642889350b3caf4e59fb0f9d3190d04573fe8ffcabe90302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023018f6d7fa945eca5d77780fb85ca53cae3bbf825676a93f8b2f07faadbd14c827bb9ed510c492128b9c90fe5e7ea27e59023100f535fe287a7f62812b9334972a114d9e4120617489a2ff9e8b05208820c0f21bbc401b54400b3da0abd354e0243c19540302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023068f7b22c272067837c9973fb6b3f7c26d23a972b2bbcf58ca4ef276330aa467bfd467f063b8dfb353a5d93a7890d54c502302720bc5574af0a981e584a173a09c699a299dd7a95ff11ecb9e97de2e4f8353402e07c5971169c450c401e2e07d26a100302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305e2521096fd3197e0bb653c64b8fd31b1be3f308b80b947ac51e85b4f777d0c40d07492079f61e5f4d574487a8cee92b023073114efd5d590c0bd6a27bd3bf1adf48948ebeae5946860dba0714f51a681734374061c5e4b35def777ec9bb316324000302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306814ba006b59b3ae9984b31d9c3737b0cffffa6ff7af740619e7a8e611dc8127f56f86354e40a33a100db893ee17e97d02303357d0fd2d8079873ef58f4deb1b0f6ec35e0bd5b856661954fecd09f6bfc073d31edf8b51ee09a8c42f0d50a46234dd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100b1c9b94c52efd445b3a7126614782b3c879dcf79c8612474b8475f6481f98926c5f16fe000c47800b27361a8f536718e023028e18d7b6dad72d56f3a43032677f97ba3bbceccd6d922887e91e4abf2c38e37e135ee17cafd3d56e811bdb7bc89a8f80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300a7c5948887078152127dd7d482a5f328ff73319157706eadac5db08f4d1f715031e1ce9235749e0d953c565cbcb740c023100b41514e54ba7a955b7f973c01942b8235c0d83cfb64ac94348bf5dbebbdd9f2b98e8ac7a90c235d52a92944ac75f739d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d5b151ff0e79acba13e529957d45d67277b4672090fe955ca65058e1d23020b2a7806d9543d6511432ebd05cbf2ecedb023100fd709ca3820d3cfc7405386727dad9a11a0d06579ae5fd0bc36474c7e4e3fe3aec1ad28e45c24e9c5874621b806b1aaa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310089aaf414b675fad763ea3ed62af5f8b6964475e50585ef959740c64418dd6f869da1804bb6a67b9a955df1aaf8b3d733023100c629982842927f02aeec2bebbc687ac5b83f1db4259872c6927716f56389a74de4004b63b9b7b403134db3b786e194280302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023043de697894dfaa6704a1f68df4f31c3f903ebc60de07e577f5509d2226c794cca2fcd7636a70797b995b37470bdb5d39023100c36f4847e70a2f268f2399ee7fd3ce0a48270910ff2f57169fa359502fc42ac14b63af919e5b6e7dc46a46da0130852d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402306ca75ad9ead7e157ebf78a5129bd295a861873604919874051e15a2e3bab1c323e377e3e93bd5a8b8a0d2945e38d7fcb02304e7f6a9fab0f567a7fa44f77b046b068b8a372a79af43e2d037d783eea07d8b534dde74a3fbb6f6a1e8511ca7df456910302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100b743463cbe1262e48c9237932667c967930966217f5230b2646f177063727ab51ff109b24e5da575606ed7327aaf11ad023100b8d0da5bbf73ff0cca9d54551523f2d310a35565ec401d23c303701e2f76f5933b23f1338805182f7ed212ed617a89e60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502302034bb681cc4a3fe756c9e3cad5c3a7b372aaa8058ce7b8b51e632e8780dd4457b18d2d42284dcc33b89e1b46cbd6c8f02310094781bff723aa4cfad33e0c2ea896eb6b7b6c8947a4d7caaa31fd45a8b72a816d4451a8690df3a73bc1598e41488e4ce0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300729a312c56eed50523ced30bbcf599659e1d63f4870fc9bd3826aa565277d6c22601e641d89fc34f222582cb7c5fd090231009165d44cc8d3a9b4565587f1f78d929e092e22a26d495a0b762653e59c4b9e2a285c312ccf9d843bf0e7d8a0da14861f0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502300d00945c99666ac83ddcc5fa8059983d5bde5183f690e0737c59a88942c71422319ded25b3c604d47ee0e971bfa47b99023100fd683fb7952335cc2c45411f25e3cbb7acb0056196735c57884c9b42dbb71b242ceb21634233edbce37d63d5c5d1dd150302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008f711e0536866107e03a2f42fb0c3b6d82920b76e6f900b2dd59440c98ed9ca8985ec7bbdd0c8f79bc1b01a801dc5216023100e18affd9bf065931bb64401ce7852cabbd5e2275887668563af8497521a0ec006d16e4ae5d341d80a270c87cd0fd9daa0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100f54a054f0578882ae2ceeca42981b2ca1d9034dc4c9ec355daad852dc0e5461d093d5238289dc8f35a54b613546cb75e023100b5203025a398603d46685b884b1a69026ea88372dd43bc4d10e8fa2a7190b9259962897c7861a541da8ea734cb9c3d010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50068306602310098a44f7d52a7b9324f188923d2bc3fed10c3c626dad5c33d105d1ccc7c488f681655c3f541c20fff93a40b7f59289c48023100e7be6966d96d1d9d0d095022423dea1f60e6bce4e4c08f6341a61129cf314cabbdcec02d6ac5d56ba651cc6e68cc2c010302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100e7160af0dccdadf09dd893c15722c3f7f9a90ac771ca07254542e57f783ef01b77552f780a2cc5c689216061f1458f380230168013f83ea2a6c844b7407ffb694f97b156432ec7da3d61bcc95175373a445eeb8fd9edc9bdc3c3d5c5050f2bd326900302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500663064023055b8fd732b81fe7a18c4d8f5b4f9793b805be2160fddb9b50526988959198a89eb2d2f90d21222e6ffd14d344d287b2b02305981dc186ffcb3a73335b5bfe0007939b6ab11715f2b76fe0e1350af9285f031bb7c0e9f6d8e275ebe6e8f4ae6a2c1b60302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502307b61602b2afbdbca3a89d2a5ea4e0dfc69ec124499209d1a5460c3f4188278c130629e53fee2d17578d17723c6ab8637023100b080a067a141dc1eb5bc8c299658360713574c60f1df6ac8be3be1bc80370d6371d6ba96a404a24d3a03831b6feb01440302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023065540998ecb2b5370dde21853eb7181535ce597a4a268533afb55ade2a163aaa090c9504cb6fcab2527b89480503b872023100d6a53b13b265168ea4040493210eabfb1f8643d96383d97962c56c66c9adc61c858e96c73af391850425f57a8ea2b0a50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502305c7eb99cb3101de92458a9acb90cd877403ba64462c96a918e1d21cc9134ab13d1d31521b5470214ff633bcaf874960f023100d24fb4fe6128eb1a128bfd766c03c2967b7b6b33b93b1210cc7a1b7f604a8399ede0b91ad6fb98275d8160df0052769d0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502304396fbd5b8321da0d8d38a1ef121b4c67bd59b67489c5c99c300f6302907ae79614f7c803420e0d0c05eabbec0ad28d6023100cc817880466752ec138643904a80ebc75ea95f15682c498be1ec3ada5b3eb7bb79bfcd5559f777f11d2379ee0f9517e00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009263cd57d528b828d3fc9b30b7f772a774aaff4b1e97cc9fbd5a1fdffa0a32b8045b6404cc2579444839d5c0fbdd828302302067e883880f958671d6591ed035ba3f9684e415d651752a431179fd9f6759d1726c3b84e6ca6581388724b746aa6fb30302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023044cd65d9aa1a358b0ed6404434f0232cca7456f2754e0fb820d2ec14b4677705bea0f1978db0aadd55a96113059d88f8023100c4e2d9046c8c6258ec73152d53e8ff6944a8ba2c8a86c980b3b11cf33c6bc618222f0cf24fc051dfa2b1567e9cbf23520302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023036cb669d21f4364e828c446c8b37bb1acc49662fa0f291a66bb4d38c6079e45d73e4b583f7f06a884abc345951acc70e023100f84f66a33f13e4465b201db5195fcce48f1d53346a3547c22ce6ab4f32ed34a3f111c846bc85f5e7e527e64b8e5f33a80302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50067306502306632e18d115fef24397b038f9e44797cc11037ca1c2cbb855693f605080b92ff5d22c9d76a757e972d8c5561dba7d57c02310085dd8f64abe245f30acf672663143c73023ea270e89f95923def8661251de56a115bd821336a9fcd99dfc5069aeeb0cd0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231008b4f66814c2d516027e4a1fea79ab11d1fae76f9c89a0a4ff5442a2cfb7b2380132defb12b524b96d049d84d86d33038023100c8f358a50f2e92c17424e30dc5d47d8ee82db451dd5016cfee0e6f5fa6d164aa87904c16b94fc30244504e1bd0db1a710302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100d0a5839c45a908f3fabbd5bf544a1661e216f18c8eb444247f1301cac5beba089db17ea8494763839e8b43734b916121023100ee3ef926bda96d6a289e901d2fddf2c0dff339bae5eb4f249c17973d46bacbb3cb9346cd1fa70b1398bf82e4d8291fc50302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230174dd08e4d76d32c216b3f7f13a119c471f5c50dfa2d6093883ee9cae68e4e1600bb6522a62faa26186c76eb30779119023065c4e217d13936e20c549c6276b3dc8806679fb7e3f5d136a4ab871c416ac4719e241590559074400ee71c2ae700ee0b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006630640230357b1e14532fb66b1712b9f6b5b335250e8c1da2a4a0740db6560f6be972f39e1d07e60ca970acba183eecff243dfed5023005033991c42e1bf89f02bff6d157378d03ba4d3e212177bf94f36ee7bfd6d7727ecb6ce921d22d2f5e3b4512d169a55b0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb50066306402305c80557b762140df32f569656bdb26761554a3c49585406265ba28cb389a6437f76cb2781cbf1de46ee78dc0ab3a3d0702307e8600d32fd803211fc4eacfab0c4e90b958eeddb37ee7c872814c61cb84f5c3d5b75d47bfbb977279574af746e0f4cf0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006830660231009e8e3cb7a2ec98446bca047e337d338a537f80a4ed1dd88b5651ec480d252b905e4f4b015af6fd4602ac2f51d11aa8af023100a6578e01997b78a60b45cbd5c18a451cf1fd4411f538f103f3ab0de93b4ae6f5f733b7cd5fc97003f81d808ded549bfe0302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100825babf2ace72343544ae218638f10ee560baebbe1b522770dd2133324ed479bfdc9a333ec0936e70682ce94e4e4053b023100ab582b6d0af6b8b029651b96cea459f177a56edaae929dce00e4ade38644a860c8680005febe35e01ca61915e2d4d8700302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100adf1e4a78e70e40b81d2fdb5b956bbceb1cd3c7b7e57c647069b2a9d0df580dcdaa881780f4af551b49ab835a2ebadc1023100d375f4fe9cfc4fc1047f517853c4b792484d860f3a6209ee046424475498541fe6ded898081e55305f4a113ef152a6080302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100cc89b68125670727b099b21addbb1cf1a5e40862a3f2c15fe62f7d261cded6c27a6800b151f31ea5b7c362455b7b58d502301277504150320256d8247398044c6325c227400624f853c84f56a21c670a2fffce00aed0ed383a9415344516671fb2100302047c435bb500673065023076ce763e9dfa77bc0dc53402b0cb653b5ca7a64b0bea3e5c96b979f256e0826046743fee31ec1961e5d2de84bde7f266023100e3ac265f6f4ec72907510687d247290617948ec9b36fd65ee425bb19e1377d787b83762a81ed81ad2d03861c7e7e37c00302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500683066023100bef16076985129af3ecade7051c6d2863d828aae331eb391f9cd9a3bd62a04425e71d22448594019c73e2f370f9b77af023100f11d58ccb252dfbf41e74ce7c8053a58292dcda1844c9b5c0d94f1c29e13d16e4c025055b1cca3545f5bb1f1c885e3b40302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb5006730650231009c1be6d78c7e5febfca1e494f3ac69594c79461da95528f2ab218547096d8f5dd2d953acb7d06a2b62742a1ac22d45a302303bc842b9eb9c99816ce078be273e2c3fd7795a2e4e509e414e483554ed06fc29dfd4b2c405e69336ee86daf0f9d247930302047c435bb500673065023100e87a2138c609f806f7accb873f916034bbd9c1c896ebff5d57a927d56f39a988d29d9776a7c0e1ed6a689a8ec2f955890230261c8cb86147e4b82fabf2353c4cc268fa39e335dcc21a08c70e6d2b9c0db279e5258829888a7814eeaf9233927290660302047c435bb50066306402307a86b6466451d6281aa9508af8b2d92e6e0975743a05ba6ef3d7c4aa323f75d1ec514cbe048de5c4d9be24a7a4588b69023013ad009c89c095dc59708253de7df998387a7c0698ead1a44e0e856a14a6f03f4da0e6f08f565572aeb20b2d28e7f0340302047c435bb500673065023100ee2bfae83fac1e607db09f0c8e4dd52e17664c30e9dd2c7159a2a33d93a670c3e13212dc5bece26d2856c3e896b93ac302306ed33be065b73ebaf5c5b80eb156516b15cab388fec6bebdfe94e142743d45d7ac08e766a8dad0cad574eb454d7029510302047c435bb500683066023100d28dbb4c072f417e0c3bf3e50687e5ee4a697b78f021044d85ee2aa031a08a1ce447a2285f53aa32f79824e6a0dd92b7023100a5fd2f34a69e04e73550f770ec86048173b7ae94fb169077b5321b750992a630ee9c89bf7b3e2af9976a391f121575130302047c435bb500673065023100c2382b1a9382261c47acf59d677952e21ce553e91541b36a8bbe3470f1da963107353bdc2dc66e8056a8f781a4b8b34102301a6e7949aace933aa4d366eefac9f081c56932dd3b77d528385167d364498aa1a8a35ce4d231a6dd2b6c5468c6534c5e0302047c435bb500673065023056726a03a2e6fb89de5cc51c01ad5ee8cc75bf10c89933d63a36f92501e25b3acd9cc93b9e4670d35d3577dff4a27470023100c261c3a37cafbd60c8e13a7d4e10811ddfae8d1c080762a4de4aab7a0e13f36facca07439c510094f6ac9676a4cdccc0qd13TU];LV +@5KpvΚ&lkpJy9' IҊ#'<˜B'1s&8QxYK!-TUw9Qi8 ;eD_鉩y#_e,ozU0Qtgv$ڊ 'Վ޴=E4_ 5@kF4X󖵘 "Zӏw(+>x l?ezz`0mZ`7Gl%\CE Ѧ-s05F7ȕ8i! 6 fI4zPvEGС˯u\Lj=8;2.["4mppUJy'th͞g&s 6x{W:WGqi)zګ񕒳bs0mnʚYIrJ[~}/ij /P5W8 >`>2?2d $ nK ^xOAO >O dO O O  OHOOddOT(t8|;9h;:';>`GhOHQOIOXߔY߬\ O]XO^bdHeMfPlStlOuOv!*1122 282>2Ckernel-debug-devel4.18.0485.el8Development package for building kernel modules to match the debug kernelThis package provides kernel headers and makefiles sufficient to build modules against the debug kernel package.d0}Kx86-05.stream.rdu2.redhat.comW;!CentOSCentOSGPLv2 and Redistributable, no modification permittedbuilder@centos.orgSystem Environment/Kernelhttp://www.kernel.org/linuxx86_64if [ -f /etc/sysconfig/kernel ] then . /etc/sysconfig/kernel || exit $? fi if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] then (cd /usr/src/kernels/4.18.0-485.el8.x86_64+debug && /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*.el8.*/$f $f done) fiX P8wUcn<y92%# ([4 8!Lxj w 3pM/& pWXb=}7tf ,TZU6GL U<; 9 PWTTL`9 lT50C> C v> i3w(+YW&rR9A9 ZqU4 +#+ NQ}yB tou&TE6gvDFMZB/ DZ Mh/<)zTX +w\8N$ixV B 6 ZDHL\g8g6 4$,l 4:]<e M% _^XRJaCx 11xXWU3^5KxVPVVcX e7\s>FNBa|}S > 92WM_o#3sXj3{j_w:Xe cqknH~ "ER|3.u@@dzK~;yb ap{ m8?6]]R<<q yK< aX=cZ y jz'^}$m kjr&<.<KJ Y7 R 6#|t5 M[%+TJ=K =qk  815-xn#,Gj]nk C hccso$+kT E d )2bcNZ_|qEXLUmaaa"af; l9G&b&[$!a h;r 6[pi #FQ;" ;i3leSX=14j QiCJ<^n?u$|`?<i.,l 9E-+ #- ) [E2 Byd. ( $v,>  / DH  &c,  90}%x\(}7Y  zJ K@P99Px MQJ : /D.`W 8 1 A ^:_u F^U!6 . / v'Q0 5#k,<2& h % A` X: O+Ahk c"C W-2 B B c o^y# &t _ F+qMYa1, # xw ;p`~ ;e7j Bqd4 ( 8"eK1OLE $ $R 9IY l f\&x h{C $,E<C4 9%T#) 9('#&' 3x( +{$d@#jARK  <E e-i{aEj^" & ! ;%L"!E =/x[X[52u,5'%`%T'%<!gqYws h42 *C Im9>/#Lk}Y&nCC (aR9M %SFe5l B.IXo$8[? %UZ  7B3 Gr3VW;2|z CKvaMH6x:O "2? ,.z:i1yYtX/; aXh-[A?tA8d6?qXk`%!(\%m jA[65d<\pL/kg= ]'6 eE6>PN AP{ a\AKGOTt:K ~2 fD*`LGLi' Ac%z*bpX.!x7   ~ \r*tVf=S  vfVt\"uQ 8' F[^]k Wi\uk0H?%Timc@B S QF  Z l W"}Q|gt(I] ya\Z"*hRlm:N'Y:fe  Y#tUUKwxq  0or=xh, 9-Fn ~ o  b|H*'b4s/ 2(M-5=%{y kGpR %u lN=(kx,RYb2(ZV wR{UoS hT-S LX~ gcex21 $ i5TC Fv)* Piv ~1 9;H[;5& : M /H3_<*SB8 _4^f0sqtVihO3YTcU< G1 24L;Qu'B- c4q*#!AR^ ^p;+pVcI TtZ% Rk ew-pF? b^QF^ /a2x\R>}j9:Op ' #"Z  05 W*b7/X,/Z)[KU?=[]%PfSG`Zo"V$oN.ayIL &~!Etf[$'AQ)ymK6Jpm  w rl.  U6[q UE zk`c"YH 65BR?S8a[[ ~vXsntTIh; )we`WTz[4X({czmX_S%i*=Ud;E(4 FSJS=W+ )-k_.FJ|"J=uQNiMy$NX7| AM[$eQo5,)RMPBT]'+.#:D/Epho(A # H H U^ 5eh@J\^(nSiiiii0e^8$F\mOzW . ZKcHS@vu[|zN|Y[_h_ `;vX t`' jzYNdXb v59!N\y]k<\R oTL5I&] <#Q?B5;"wE-Gc &9# IO>" z? 5B- s`G/Ok]!hzw $DUP<LH-i  S,=]gFzKaoN}S$Q7W&&&f2Thf#  h_) 3m:9d!~od7|jQ }oN` ;7:/1-w J cq% Y &Z(xj@-\ 5i La9~~f#^ 'I9O}@nzSYnkQhLH18 hD{WMhga-/z jqF D% ! _Z % R6Njo<V0Z PT! y &-ha$d|R% ;<)T39QQ`b|#]?J@x|9M<a Rqy)gb-5a[Ja|!{ ,-eA^a%W Ota_ (GG' <\ wcsli>i}-=~D-3/'  2aao]]e8]e3xb^U2 6/o^*;E4)y@|U +QMJ&WgRC 2UZS*E,)a6@v %D8 {E+0=!x3/gE j A,EBg[AVe& (g&G4pV+[_UY Soz -QuFt $5 mKew$ADK!\8Vd nOcOBQl H9|4YL|! *_ n e;d ",t#zA;uEz#s~Wyzz ;R ITWp`3y Mb}I9*`}m r;$T6u@  hJdhf3= = v2,{b= q#CAvSY5/-czL3IbW XR^s_$GU /S 7J#57p'$_ +:{XE \ P@ < ")" X .N0_^gd%q/Vq^!  o\2V3O L0Yj4NIt =L6>Kp4 6 2/P1HbI)"./M N| ~ { # j%}j?$=f& |'UlN Eo [UA Mi%,d {ho?K!A  %?' g8$ 1,< P !UKO*?20~  N&)/c7&%!]% &.F:JL r-BF |/ R#g R$' G%.!G] ; D}%"Z =-c>T AtX ? cd* {19u \q|#{$:%u M )0* q " o ,%E$ ?q+B Vva &exv ~60! $P2H!~1=%M.$~041!PZ g$N, [?o/c k,#$&@%$NJ"?%t4)85B st c  IRx Hk  . R T!,(4*#mS. M$   ,uf$%[\e*F K' 3h=I ]M "f  4x~  # . .@9g+!gPP<)% :  P 2   J g= 5L   (ar # N { ? * = 1 V  hGM N{)PV?({?:L2b    [5w: tq-("b [ (>6 D_S{ t ".&S'  >   T?(&-P O 0 ρ(W/4Y/ dX+ e<~i5Z8bCP 8S X %>Q;*#MjGS6 F6 W8+ Yte_46} DI M#^A"nj'(!H9K+> $:K/.i#pN`bE-GLh ,;:#bk 648 8ik$ P6,d0%|<Af U "nZ26L38t aen NKb<1+D")oL~ L*1.W1:n$ =3 !2Jow"c"+z npSIa R *oZA6=k("";G*UCgKSv' 1 uGp)gj/_ ~Bw &qO( XH^p(X a 5G)) )u< A'&> /%$) 1#U k+!K6s$ xS@'m*1AWN d:tNS ?nc=.]}^];fO`  UF1#zX + zI0!8 7A 0 i=[hv542\  's )=+%M.lL yP ?  (RA(5H@[itZn& `| + e f .!&2J:`-< Z 42p@ `?Y f!29~  )Kv0 :a-#feJn-q+$CRM?a=a+)Q [oa! PjXv8Y[ 8 PM 1~c= v< 31[| r "6K| I%*3]cW* r C!3 !'  I/  K %= K&v.m$s t)3#$R g.Jn nqS 1 Ni|!;5-~ G `}5dRjm(. f&'5V+.7J 1-Cd{!3 /%t ?)cU M2BVF *WS 5 i V9Y! ?11l? ZX< "!}?p +~4 G=1:9 V1@1w/TE 7X0%'HO2_ZcpF( &S< iJ ~" " T1    a z]' N[fM"%H !00lQ 6.'/" Sd3qk*(/ 2s@i&  ?E 17 %'seC N 0u[#OGK%DJ/  h &+XNcB  {( K 2o.#W[ bO3|  0w=1; $)&! M ?5xMmJR8Bt f{*21 K;A)S q љ!6;j0u ?)16G&<[R("  B\9 @ c:uI5 lr )yLH4'  M=D  - tѻ4*p& Ff A 1\4k w c~P*G  X f*'T jL w { 9B \D O vGa9u<  g)h>dH+m4 zB dDvK*R\ R +% %G{ (,i l@ J|S!y+v/! E  I w1  w<tV:F NCg# $ "l7-99/|JN7* \KWv("=pN u8K  $ ,1 0TP!S KE!je !2 t \  ;,L?`? @5@%.;5" N3,-)%U X%= [ 4< _Ut-n&:2Y d J, 86/jh@ Qa BcJe T /A;jM$C"(08a TGeB!$!WG  K)9F:K1e&=([, o .; B lX2  x<dGO c!!"5 Bf_vj]"Nn{$ 5S Z+ TL:%M+0Cu/kR\$"7ZU K?l8 v<IFS Y  b041 Rx , VQx$D R$^<G  Lyd;Wx M cL'uvF n"PK ?Xpq  %415`m "/&D< $8 \*>ao );&_ B8[ j_~v#T-CSH9(,W{I,"X - [EF{ZFh$" 2 OFyA-M@S8D%8L UOB Y,1O+Rb7FS pd> pE5K&_T#-) )d$ J66Y57TK/D & 8d<3 [ m^ \^8"w @+@  cC CF  ' SIc)F(%rW+$ duK6=t"|YN 5<{ 3 0 9 8 x%c#N$,B;@G*lU!4>2 , H>pp Ž $N\>hZ9 6DA9h(> G5tb !Z& K(F+Nb Gg+t \!L8Ks#  5h6JjWgj.|:kt 6Z D/3po?]32>3;[+#c *`4>F"7h` ZN*k& '6bGM) w?2 d7z(@5$ gF$57 ~:M/O;<`Kk7$%kLO mYV"h rRM >+ p!4 k pN*'@s6 $ 3!O`|)B% m v 97j 1y 4${! 6-6&dD ,R 5x$76+* q o"DSWp%A*;8V7Tg=C8-Q 6<;b :?6N*& *1 Wy ^J jQ y@Z  ']RNU jj Is'KXa#F"x> 5y(0a1: J (d }cC}-;_qX-*z,?,W $9SB !  WRf j4E)\I v_D@  C~p eSk @a4@2O%$. $ 9&%0ZCLa M). 3~ 5 3_8p z 4B  Sfe># ]{5}8.Jg<3FE'4 #-%pTXt o- 2p(D{|0:D4 z4u=+m[=!<#ypF:l9' "  oo % m1`> (&-!^   N@2':? xiMPi& _bb &'$ k.N dG6%M)CT T  )u P d 2MzA.'VU"&:upB)64u 2eLhK!H .NMw   4:]! ?^Y[(>#OW:HVIi<x4 z k?`ro&rbD' +A c ;O h w -!;h @(2 ,// 1 (, .$i z!= #*6 S  Z  m/Ys a" 9x Z ;1F J G# ;  9 Y(Qx#:1 C [-'B:) I,cW/CL/o ` Rp~ H_-1Ea  I>lpen .+'M3"=#': MT:38 Yg`/K Ya5wr e @n Mj=O2L P.s rel|f  Kqb R /5 U pf E0# @B b/TC  ',;W"$_(ruO:"s4 2GY9 5J@]-, n s"'4!WE9n a kY|Hg9+f l-~ ! *xLIT G {| h 76q _ }'<O o>?.5?K< f +hv QU j y6K e1 p p0 k m iS C . ;y c %'JxE BB = y w (%4 ju`#Qp-O   r 3-Uq, M?<vAwY  E-)q8[" #K^ !F h? V$B5w -*'+ x^ 2PFQ3o  O#S4}Ks@)I3 iv H'u> [J ~@WOK pnh?im$UN : $r X*7N   - W   lt<!- "5_$0 Z# (j R#(e8 ,BrfXI D& (3t ,"e9Z$@/$< -K4#)e(i1  j@ O[ QA{JY h" cg O62K, i)Df $Xx mg  . >:3 ;- u ol%DD 2 $S$?!R o 6-) : ,D HK'0O Ou"q<RU~WFmG`C'] [FT/E ;{*4 65y) t*.4; sqJ.ob^ #M? ` 'C3,*E ! h6c 5 ! h1$a)  QD 83K4^N )KF"(+F @.G!2*Y{ $.] B] 67i4y  LYEz: ` Jp+)$]s7h 6^;c;Al +s Io<ez%/Te|/~ e bZ`4e  X 0yUv( ITS(Jnt1_!AaQpKRe )$*")y#[8X&<Be)R]",Vt̟"#b39n%v2*sS: *z. f;!+ |Ig L/$ ]$2 , 4]8(dA%O7;A-/8 <L C\ x?v<}6 mh'+' c5>5!{ :s%F $I F ZC O.PH Xdr$(;orV&} MgFs-X _ j*$!"3"M!bU!VI,# h Q3"D  !*.-X aVB^mSBe1BicYW72J/ %!  yҰZ ]&;Z 6-%d) u#|NHV`=rdxh&C d*>= e+#G xmU8;S+>x@u/J\6"/O(KNUA- SC A !BM Q! _B`z 3h#( Q DOl}96=d/4. e_&'=`/]BAIkAA =' =X(d 8*X[&=X5 2-B c@h "( .wg , I k0< +5k'.s#}6wW[i>/7m%#2|1C I]e)u0:L% lrYHE 1SQW^-]Z8eq=) | Y~7BY\DvA 0:y k8;@ <4  %#7%tLh1U^r$mz-ap=gH^o}mW | u!% G~y$ wt [>Kϰ( YG0HI0H0 X)Y)T ]r"Q)lAHhpS2T!?|<J_P&wd  zW}Ed8a er<VeV WX;@$6SJB$0")A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤AAA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AAA큤AA큤A큤AA큤A큤AAA큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤AA큤AAA큤A큤A큤AA큤A큤AA큤A큤AAA큤A큤A큤AA큤A큤AAA큤A큤AAA큤AAA큤A큤AAA큤AA큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AAA큤A큤AAAA큤AAA큤AA큤A큤AA큤AA큤AAA큤A큤AAA큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤AA큤A큤AA큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AAA큤A큤AAA큤AA큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤AAA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤AAA큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤AA큤A큤AAAA큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AA큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤AAA큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤AAA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤AA큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤AA큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤AAA큤AA큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤A큤AA큤AA큤A큤A큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤AA큤A큤AA큤A큤A큤AA큤AA큤A큤A큤A큤AA큤AA큤A큤A큤A큤AAAA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤AA큤AA큤AAAA큤A큤AA큤AAA큤A큤A큤AA큤AA큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AA큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AAA큤A큤AA큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤AA큤AA큤AA큤AAAA큤A큤AA큤A큤A큤A큤A큤AA큤AA큤A큤A큤AA큤AAA큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AAA큤A큤A큤AA큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤AA큤AA큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤AAA큤AAA큤A큤A큤A큤A큤A큤A큤AAA큤A큤AAAA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AAA큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤AAA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AAA큤A큤A큤A큤A큤AA큤AAA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤AA큤AAA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AAA큤AAA큤A큤AA큤AA큤AA큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AAA큤A큤A큤AAA큤A큤A큤A큤A큤A큤AA큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AAA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤AAA큤A큤AAA큤A큤A큤A큤AA큤A큤AAAA큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤AA큤AA큤A큤AA큤A큤AA큤A큤A큤AA큤AA큤A큤AAA큤AA큤A큤A큤A큤A큤AA큤AAA큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤AAA큤AAA큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AAA큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤AA큤A큤AAA큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤AA큤AA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤AAAA큤A큤A큤AA큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤큤A큤큤큤AAAA큤A큤A큤A큤A큤A큤A큤A큤큤A큤큤큤AA큤큤큤A큤A큤A큤A큤큤큤큤A큤큤큤A큤큤큤큤큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤큤큤A큤큤큤큤A큤A큤큤A큤큤큤큤큤큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤AA큤AA큤A큤A큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤d0y?d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y%d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y%d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y%d0y6d0y%d0y6d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y6d0y6d0y6d0y&d0y6d0y%d0y6d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y&d0y6d0y6d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0w d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0w d0y?d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0w d0y?d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y&d0y6d0y6d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y&d0y6d0y6d0y6d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y6d0y6d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y%d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y5d0y5d0y5d0y%d0y5d0y5d0y5d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y%d0y5d0y5d0y%d0y5d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y%d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y%d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y5d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y6d0y6d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y%d0y5d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y%d0y5d0y5d0y%d0y5d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y%d0y5d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y6d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y6d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y%d0y5d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y%d0y5d0y5d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y6d0y%d0y%d0y6d0y6d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0wd0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0wd0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0wd0wd0y5d0wd0y5d0y5d0wd0wd0wd0y5d0wd0wd0wd0y5d0wd0y5d0y5d0wd0wd0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0wd0y5d0wd0y5d0wd0wd0wd0wd0y5d0wd0wd0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0wd0wd0wd0y5d0wd0y5d0wd0wd0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0wd0wd0y5d0y5d0wd0y5d0wd0wd0wd0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0wd0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0wd0wd0wd0wd0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0wd0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0wd0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0wd0y5d0wd0wd0wd0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0wd0y5d0wd0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0wd0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0wd0wd0wd0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0wd0y5d0y5d0wd0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0wd0y5d0wd0y5d0wd0wd0wd0wd0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0wd0wd0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0wd0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0wd0wd0y5d0wd0wd0wd0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0wd0wd0y5d0y5d0wd0wd0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0wd0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0wd0wd0y5d0y5d0wd0y5d0wd0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0wd0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0wd0y5d0y5d0wd0y5d0wd0wd0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0wd0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0wd0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0wd0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0wd0y5d0wd0wd0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0wd0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0wd0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0wd0wd0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0wd0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0wd0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0wd0wd0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0wd0y5d0wd0y5d0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0wd0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0wd0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0wd0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0wd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0y5d0wd0y5d0y5d0wd0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0Hd0y5d0Hd0y5d0y5d0Hd0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0Hd0y5d0Hd0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0wd0y5d0y5d0y5d0y5d0y5d0w d0wd0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0Hd0y5d0y5d0Hd0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0Hd0y5d0y5d0y5d0Hd0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0Hd0y5d0y5d0y5d0Hd0y5d0y5d0Hd0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0Hd0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0Hd0y5d0Hd0y5d0Hd0y5d0Hd0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0Hd0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0Hd0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0Hd0y5d0Hd0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0Hd0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0Hd0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0Hd0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y%d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y6d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y%d0y5d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0y%d0y6d0|d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0{d0y6d0{d0y6d0{d0y6d0{d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0|d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0Hd0Hd0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0{d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0|d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0{d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0wd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0wd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0{d0y6d0{d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0{d0y6d0|d0y6d0{d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0wd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0Hd0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0Hd0Hd0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0Hd0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0{d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0{d0y6d0{d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0Hd0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0{d0y6d0y6d0y6d0{d0y6d0y6d0y6d0wd0y6d0y6d0{d0y6d0{d0y6d0y6d0y6d0{d0y6d0y6d0{d0y6d0y6d0y6d0y6d0y6d0{d0y6d0{d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0y6d0{d0y6d0y6d0y6d0y6d0y%d0y5d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y%d0y5d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y%d0y%d0y5d0y%d0y5d0y%d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y5d0y5d0y%d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y%d0y5d0y5d0y%d0y5d0y%d0y%d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y%d0y5d0y5d0y%d0y5d0y%d0y%d0y5d0y5d0y%d0y5d0{d0y5d0{d0y%d0y5d0y%d0y5d0y%d0y%d0y5d0y5d0y5d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y%d0y%d0y5d0y%d0y%d0y5d0y5d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y%d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y%d0y%d0y5d0y%d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y%d0y5d0y5d0y%d0y5d0y5d0y?d0y6a25ab41799057b45b7439226d12fde533cfbf816c4ab425e08be8d200d22ab9743aeea3120e4f6a7f729af20f13c584a79d9c7df4eb14b2ca01854624d20f5fa440327ef5d61924ff03b7680bea8fe805fc4420ce5e103deaf56db9a9601079d86fa3f9d0c6b9e83c55da4a26a3125b662a28249d8654e1710f047d527d85140a25a53de1ffeed9a37cce994859b010b3694b3b84f3902979461c1fd7d74dc0330adb0a81110b0fb481383dc1a5a5dc57dbca6d750b1e4529e3d0d5a029647bc2167f0a62f7df0a3dc3a677158dce2011f6bffe748075fe6352edb6db5dbc1fa1203d1d9284d3d8db4ea0a741a1b03e300e2a9c812205222e8fc026a458420220a876bf3835fe06ed1dba1e8de3aa12fe18ea0d6ae505090357985cb29230933516f885d0b46bad87679dc9b36905731d6834d728f306848947033175dc228cf2319519ccb40a770088dd9fff78496466e7b3814766ba6f901037d098f8c1ccc20baa302107fe87d46fb7401d91aacdab82e2491c7c8613b0c95031da4e84471df89619cb26525622db08b81f27e7275f1c1dd64e57174c06e7bd79febdd6aec31592a0294c9e276b3d65987f470eaaa2dc024c33977f409a6026185bed4f55b571c2738b88cc09f74b4b84ff494f71bb93b3df25675a48178dfa7ce98244c6024dfbb4f382a643d538fda5df16cd9639085cd64f5877f63e4ef41c9a4c3b7b1392226f3c8f9b858f0cb601c14e0dc88a73e24caa743776fa424aeeb27bc37402e7ec7972924a4ecb50dbb7469221d706b958c2f2318dfe3d4adf23c6da0f2251ca2ac85309fe8a4bcfa4a53896c9eed83fe15e44638a9fd8c2d3c64de92bd5fb773d87e25758e5a2622e2fc0890c2ef7ed4ad61ee8c6524bf9e51fcda7ddafd6c4457adc2cbfb72505ffb25318a4507900b186542bbc07c8b2cdda872829d48a3c9737252cac2c3d060376051bd400edbfa60ba7ce9df19101937ecd26d11cbc0b8ba07e762b5c8653db0e025e5588b1b1c57d4473d4926dde2a151c147968ba5d0d31912cd6ed3f7ae6acee3066a462fde5d1142b8a16ea0b59510c3d9137f5afafc70fe18ceb5f7c8ae27de7088029263c037548ed3e920d61995c6c033915edb772d77604f69b09f9478711f2b058d925bf859200a3eb539894de28ce6ce536b6ef4881d480596d4a60bf3e28c53d0535c1b8a92aec6f1035569e8d5d99533bea624614503b1765259766e469cf6c5e53296d8d45f3bde15d579000aa27234c69e7dcce7ece7b2f76a0683969d5f19ebc4b6f52cca5bb792126483b3b8b75e27417e08e9473eced1c817088495033ff5afce8d9852229d398a081a4baa52cc7c6faec669260c6b454edf07c7ab2c7d9f020505323dcb34c975b96f5833e2353fb9e7776c9fcc028ab726c753aaaf95af857c9ea520784a1c863cd2c04be93d5b3b7a7e72c2b71ce79f44d8698d0392141704a8d40220b1dc14cbb8afc4c5fc8b24f119802bc77ba324e5e287d6d8056192e5272aac5c3cf236d563b9bfd5414a249f99b06d79604cc514de3981f988464c6a856402fa2b6869fbb4a378036e58df91687703ed79058c1fc2f1e7f5a822a14b5a02bccd6ffd8467b6eaa823f1ee8a70ec6f0698cc54b613f13a5b7dee8d5a8185fe2e847b626a96047bd046b1bf05714a925ff4e91a279e30cf4c855898d599c316f557bf7eaf8834e40bcae517059524ef2b4a1c05f86d32dee7c51b6c407532a77a61e6e6a9ac8d9ae9a71c183955a31a181ae2f3661446e7cf0d3c5d121b9e17fc2d4ba5049549331a94a5cdb297c4e17f08e8fb39f3869602d91d6ba45c56f0d6266846d7d73649e4f90b9bb55ea9055cb7fb989a27fbf11870934740228a94633042b9debf4d116cb93daa31b9e9804a50dc36b5d1b9a98d1afc924ef79089514bb9419a40ddbf9e59f91dc0bb81af273017a3ba6c59c894c17829b95edc22f0d5af05d2d5923f6b4ddfc7a97a56d5c2b52289c123b7fb629a993aba08362063e884fad36cca56625fb735388e8f242ecb3efa6b5e3457999e16499191985106db2ba5ed0607edadc1dc3ca059d67394db68a931c6b373598bdc9293fc55440f0ca9aa37f793f9652cc9cdb4a78abca35e1c2a5aba26d472dd5df12dd0ca97dc87df98e81e0cf070489f7683a8fc4af41d9ba7d0fd7fee699b1b1f5b287a4f0b46441e38bbc276584a543a5870f22c21bffa0ac6a23664905c3427f777c49a6a0ce66f8c8e94d64062a0c9d9b959c59560cfa011c6b031e4247f05e473bd1d421ef2ac855a7758d50e315177e68bcea86b2d2394fcf98b899afaa3614af301ca85900bd5e94921a0c32da3ab29d1f9aa277c91fc76f4a7075a6258d40d13e2e1fbefe346394ded3fca8cc2ae7eed4e0ab7c8a9965f6996fca2827a01426483e6bfb5910e695a97dcaab71b04facd18ecd60cc0e749c91db7638b5a841eb65b95336d4b0d2d34217b18147e344e6b1ffc7abc35e99fb24de9dbe2e734bb3086ff14bf0ee87813d92b32f982f893c09c86066854e5a39398576db00c2eaf8da38150c8b1008664c4e7362396af63ed0fee3633e2131bbc1bd9b1ed865fd62fa5c279edf8c7a8c4548b39a28a54a9992210ff570c5e3fefae68e089ae0ccd207d5203503f9d132d56ebd60aa6fc89bcbcbe529b292d59da0514367c2fa7410b7852108846ae3386b317a38ed57b1afae8fe80e1a6eab67b7a27ffde519956a732160aa3f96e43d5da9db72c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b091b6160357012089ff9d49d4e5b65c6481e030e3e44a7aa9fa2137db8c923cfd0e401af1daeb836ff1832b140f73842686c83a36541351db6db77f36b1d451cd52dd61eaeea7b8c4d953b52eac27c0b16ed7d18ff1ab1f0e9e0cb0c531b4a667f8753506a3a7ffe6910c4a9458fac0732336224d3a768e12c61752dd751870480295e6cbdf822209e231a9a9dcc330e1f3f9d31a85ba6ea1778a617e51c382bfd34699a2efc86726c058135bb47780c596e4bba2e7e36150cdf5c3c8f44ad58a2fb702168a0fa3b30211e339f672d83ecb8ed6ac170d7fdb892ce24b7ae0e6be8819850f8e3086ea13cc411c4292e2372c6c4d78153be10d4b49a3a6d54817aa7db17cba4c54f2c4ac6f0cedfd66a5efb0eb9aa936159352d58c66509cfaa4ec479d2bde838a70ad275f3cba7362a07bb342542ebb197b9a7cb91612d8fed369e773434837d1072f36511cf3169d149b1a56685ba0928c79fc19aa1369af071edcc1e42d288676dbb9a76c2091382d941d81a4390534173a01bab15a3b20a7a74b1c495fa94ceea35a1c22cb817e1648b3cb23cd5a43ce3fe4dbfa482fd1801f89897f6c0721944ab6d15cc810f26e03062cd35dbaf8e66208676e5ef7140dfcb53ba35a66d328915d012af2186ca2970283f9eab6d0058db4227b20260b681288ac87dd7fc264ddbba75cc8b907a68d3903faeb73f0c6285ae2714ca501a5a9338009203d0a85ede5cc2dbfe62e7170dcc7bb41c158140f0f8bc49bc30c85657a6906a9bcc2d98c66545f56a2abba69a214303f4fe91fbad1bd71fa5aac259cf5f61ead437cf74b68e2824fd1546847b4980a12f41086c8383533c3b820a12db422a78aeef7982157b3673603ec0ca9fee565867fbe916936d001e157d297a9dd3c33355e54fa815fed023ff1e795de6e5bcd7cc01554a557a1c7aeae31b4a732c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b09581e2ffce95d8e6d4d63f0c2bdf8ed670285d75852c56e6e5640bbcb4dc21e97d8f655df6468490d2fbd7c4c35832d36afa6d53523acdabe7703787b5b14f3a2001c45c6d08eb13141915e9f74d533b6ba68193ed998c6c35cba2443593b3fef881ba17e679f9bc0778508ae05304a2d9781a4065d02fcf30131045c61fa46066b573674703a97a2f3a2253bcf0e6157e08111f4c4f8110ab6987d918eb2dfcab649198bc7b084b6cf39d0ee1fbf9e7b6b32c80cf962bf4c02e6978d3dae99686ebe0eeb6da7ba61ce85fdc4e1c06d175bd2eac225d98f84cac909f15f3b947701a6b64719c1ac7795e29366d0d96bba4b873f936c2ebd7ea55ad3ebb80242af71b96e77ccabc19c609772c574c0505ad472c304776fb62d0c053def0d5a9c31e7fbf48ff91eaa348395b22d842f570cf2e65a3d2c1f23e1a4ade7b4897593063139819a78a2fded30dc26f27c9473aa0b190dab7d0ebcf4d07c8119d18b3b4e3a42ed1cd4ba7ecaee5208d419db9344311079fc4ce88ee02a582b1ee3ee0aaa27ca9bb2d0621b7929156064307b02efb0960ca3d503a534463180e355997d189e801c53cb769d73bd2204e36c4515a693312238f7a87f9111dbe3446ab73d9bd3de558f03b0dc75985154377932f556e0e3e521b4145431f84888c8ff1e487a58adfd4746975d39f40d3cf61ca576be689b68b057fa60ddb116a7484e6427c3e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8551248c3d28ce2b064dbc323a20fc7db527dd233e6598ed8b9d205aadf12cbf34e867a98ee769795a7c30f3acea9fa4bda3b846bcfacc461c3b0075c7cf548671cbfd0bb41c01004857246a003071747353b9c3c3ff4e59959980944f82e9da4e116f44af2fc552f49ba861e27e2f6aff9a7188098a3262dc1b34f031016a57713e606092c52e52d561e42d22661ab41ebaf1a23bf9f52059f6d52fe9827e0f6522489c5e00f9b2ca77a29bd8a07df20768160b06d3c501fa520ae2350db83abbc246c101ad69232414ab4567eb4c7fac81dbea0aa19f40c5b13999ae43519e9d457fff263f1e0f8856c379e63b0d34f3b45a6baa36a250ada6590961f48d77def3951f9f20027111aadd7d5258e57d2764e72a513612b73b29f8d1b43148548aedea9a36526ce61165286190d31ec5cd9dffdba092f902589bd0895c7402277b35bc9d5a2416e1923574d12225cd85a8f4e517bc05f360b00baffb74cda0ecb24c4b58917adfe5461569674cd4bd3e5fb1c3b789785157af8a9dfabcf645261f4a6906a9bcc2d98c66545f56a2abba69a214303f4fe91fbad1bd71fa5aac259cf5cb8135535be27c3f3bf63df0907d2971abae439f0203b6051affb90e2847c8a5f9e96a0f7838a5298837a89223271c28dc33ee74b953a11425beed7fbce5bb988d5de817fd1f2b6214d389581f02a18087946adebcd792d5e130c24e1c375f5628cb77864808d120e180bcddedf1b24ba7bdbe366a29f1e7e269469108d748db77eebf4792c6b106897628cbd5c63fc287921572a5d343b67d02b9d9e30793a9b40e1c0de092cf1200a2716642029620a154e98fb763ed63356debf7768652caff4bc1e665391aabb7d32b8f0e6ce0dfdbd2e4d6525d77f213f3122d825ca8701e97942c6e62becba36045bb5ef1c10ce86c80e16eebb471672f840a6046e5226330622d6b048f2e01b4b27064bb7ee3b94ef52ba5eb0ad1ca592c92d996aa92c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b092e1ec58feca23fad7159e41bcd36821549f8609e629b9822b7dd541c59f4b8c01bae3ff7d3f08121bd65e5a3e3a00028120fa38e17134194b228ba5f61a5d7e331c4877c641ffada00285181b3b67ad333e991cb1952a2ac0ba99452e22c48e70b5f1ee1bcbb28de35df4aa47377151c65cf75578b0cec72637604776a2d437eff105271ec8b74e1b382003e3117d2ad0becc687985c4c1c0c9c04ba0df73b9266f1251f2a62ab07095b5dcfd9f3871b6f075230a2a6e1c60edeb9cd10bb481853a6bdc2130822aa3d396849a82497c41682a2eea75152c6921d7fb936b9effedfa0765570c3138541e5435716e2ca77cd4032daf8d3903beca1305fca8021e372eff3fb4e6c5d271e792814483138256291bd04975f3bd5ae8bf5d01711d525bd83d3f21c4d36ec7014322624071cc5f50cd5246efc667dfd2aab85fea7213dbe1d2bc57b1f3736c6b7c8da5e63120a73db731e286ee61c8d691cda27a0086197bf2efa9fa8dfff63386b64aadd66819187c7f3f0e97992ef3e261b2806ee2db4710166ec3643f3bfc34da54c91237cfcf44cb1b9c5449d3dcb6d3c505b046d0c2287411f0b0b5af1b9fd23d866f77929e4ca6f487e0fb3f3dafa83afe17fa7e7fd8ca88056dc90b9be5840ebbf6b39ad1798f7340297d2bcd5e71583db489aa88e976d94e8fb011f3148f76c9596b3f4dfbd739ae6ada37505f773f693f8cd8fa394122d4f85ce337ca5f5b9667a38b2a633037913ddeeb65b4d0fecee83f9b4cc85b05770692b3d0f7ac24026a15ed5969ffec02816265107bd712aea8c4375d00aee5734ebf3faaa5df71a223a4215b0f9f33aaff5b6c38df60f33c3330f343423bc0a8dee4927aa1b2805931c1b4db3e6610e7ca9864f4b1b9196a1d97fc363558e36459552c683c46bf7496b93ccefab5300a805f92f4d75bfa9cbbf5a923bb4dfa37cd8c3aaa083d8e6f46cb47dfe5b273581f5f5ec48ba801389bfb7a3d28c8f6bf88c7027e7c2f5c0d63926ca604a860dc18d1c0da47a6fc5cc86605d41c88f9788f5b4e968b535cdd90084c88dbee598b460ecc86512d5176fe94d53924259af4a1bd8054ead7d8fa99256d7f1169ffacf8b089f185a72c2f8882abe4818b7140152df9e12ebf0eb329ff66c8e54409568570024c42cef9478287e3a19b78fc29bb30df5f752545834eea94b617a8b98963455a691ee196837de67c17e0fb2a509ab14e34cf88b269145fd4620109dc791c0d9060ba71ff06392bce8024509f91bf221b8f946ef96ad09120e03cf9f1e5b5c74643a8a0c0cbe9ad9d6f9f1d8d0503ea3dcbcb4fb6419b9538f3cf3b39e8427d9579194d439b82bc09ee6fd7426f77483be57887b1f717545cb956ae95d153c25db1cf898e7f84d71163764903ab8986107e42732c347d362656b28b170c1b6e796b35be1805c2cb59791971cafcbff1f957f1aff446f4bb55b093221e0f9f811feb539a9c48b53d7eadcfed98e1fd7518017da97a061318ffea1eed1efba137b719c02d8eb107f2949c586bd1950dff037375b65e69ed337639a0d62a6a45db7a0fda179c0ab317e6a8f51c750319c8a42cf956b23915f3b4b9ca3a5cd6a7d1583118ee1ee183996589d054b8dd1c2cc75ddf60c2308ef31e0ddbee3e4547afd079550f6ba1930cb028ef90b8ac36e9caf17f0b8fffceca64f1bdaea1c59ad595dcb52d5a4118c99f25450f5f2f0e05460cbafdf479ee3f93341f797c5b2203eb225e86065a99a675c912b1c24deb8c6ae5b88518a66530cfd999dfef7bcd4566296d23fc141dff1da5478c4475ebc25a64d912a265925573ae54cc3891900b62ed86e7f4aaf5a7e8373179980f1595775385a8d02b64cf7dc4b4faf56bfb45c647c046716c40c19614be9f4f63490b9bfd5a9fd913249782759d59aea99f9c47efbe235f7bc07d25f6db17ccd2324d78a983317d4a2ae4ce513827d803991498dd6ad3f897caea1fa7aa24161afcd9bb6687ce8f86ce457ff16a7b8bd0b9ce411f8dda285ec39734e320cce4388430c3df5b9a56ad96a6494a4e53c350585dedb10ef7a87f8bb911bd2c50841ccda7024f0f0c9e0d507c2010abf7b65a20f7f4c2c0487e1276029ee6a9dc29698d26cc8293b059ea89998e4b4936e799a934602b9f8f016f044abd4a5cf6b3a3952f65ebd0a7394bb649587fc1c78e3447e29c328e9c06fb9e9dbb5199f9ffeab97cc48f03ff348baf86dd745ac6a333e7f92715d8baf9c8a9f39e50e4fa7a186e790e82bb296dca7064be1392ae323f1b3a9b300ec0d1c816f8214d1b41695feef5478294870c8fd7c5633b34a567a514ababfcf2fcfcdf231c6783b46cb6328d9bf210076094050ed8ecde8bf92f5f51ec92f807ed2fd61e1a0ed330de8d7ca7936b179b24a5525ba3d61f82091f172ecde5c9d04cdb1961164c5fe0bcc6d8e00dceef4ba3edc4818fa3a6d708287f6ff0105401fab83f2f4dbabcd800629ee21a5b30d934656b77a707ceb0b523883a6013928a91901a70d98c4344c78f255ed2bbd8c9488d4ecfedc42c50ecf96e5d7cf8df8bc25bcc90d4922654a404924c104bdace338ab8d1c122bb16c6dd942eb85db2c9e4c34c3c88fcc83fa92d2a6e124c991a76817468cda0502c3b55192c16e52361981f88d88ef3225450939615177d3b6eeb078b96aacae7abd3c71c8458adbebd12aee94df2f3724aa11faf4bf7ff36fe49bd73d38d97356aabf0f7ad992dbf45c64a01f56d4232062f94707af8c87ffca19e5bfc9f621d25181504538cb0a6306b5dce26af6b81d71433d04da5b3b04130b23cc28051938f6fc0e1cbb45845fabf52755a1462f6df60628a1287cea5568528843b886bccf93429dfda810142fa3a17d7e02d71a2b0140b82e2ae62f6d1a4eaa716178d50d1b0f3194c47f0510f270cd18ca785e11e3b54e585661678faf98af52dfc43254b37bd566a994e307fc09bb9338125b8ae1cc55fad8a546e6832c4bfa93204665a9cf4673386f10c02f0f6f0e7532f8a772153057480f8eebd4aa0c3c818b13b389b4187131d792680322f742d89726330622d6b048f2e01b4b27064bb7ee3b94ef52ba5eb0ad1ca592c92d996aa92c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b09cf1dd922b1aa15f94bff94dd558b3d90f19aa827bf78c88ea5a47e234993c7f0238c644183bf69d26c5d020117b7493123b45451800bb02f2e4ec37491f32be3a26c9070e6159fd1b9984b9c5c923be9a81c00a101c7843ee1cc41ca4bdd691538a4eb01107d885d44c4ae527ee558a68dc7535cdc7b5b9b63496d8b85943ca05b3bf0d7be0f9bff118cf424dca0a685458a11b21b0699f91b1563410db1ab16d1ce453a059b15d1b9174dd8e585f7bdad036f50b898336b86eafd2cba0fe3c1aed6861809d72131f7a3ec83495157a54d3ccc7bbcb079cf94201083e4a42463ac71355848bbf51536f4cd9efa05d7fcd5bb1f55163bcdb7a3293cd201facbf597c772e91f106286ded2ca7eb704a32951d96d9322915ec15a7904a059007bc8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8555c1ba96f8c127aab4bd1253c4992b27bc04a62c8f1f48c1644f8c9fe3cf010ca02e27bb8323440c05ff9ca7c12eef1c4befd7411490159690180d8dff8d7cd2b302886c44dccbac2bb65fcde830856fce571ac2246ceb0baea8460cbdb8262d5375bd286f47ed4b45faea85fa65bb2c99cc42e9cef50ca76ddaa022bb16b43483f2cbfcfd47566d54aad520e57d21bf89e7d4531340c9a2d7d4be0955505e42903071bfb5f0ab959a57db7f09e7bc88a02d84fc58ef0a07fc8691dbc8321935c2c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b09e651c6033c299a7f88c63620ad219b0da31b3d49240aaad819627ed446633708c460fd69a428f81ad0e00688b59bd8ec10edc2ab7847ca2254d3ad8bc71f6facfbe001eb9ff8a51ce65b0ee3b22ded44f8731a41efc0bc150804163f91673837603fb8d2a3a795605c1cdc4f7a3c03ee4548af9af70ec7b13cfb350693965f5afd7a48671c7db4b91d1babf5d30000e17b2361edfb3fd822d438aa2eeb79c551deafca7e71909b401ba47a4449ed2feb366912e6cd009f48d490115113f07b85bca9a15450b1d8368c4f2adfef540749fe232c0f6051df747c32d261b1d9b375e98a6a7a08a4f740f2930538a43efd3d7aa580737f94fc7ece1fd070f22fa75ab9736c72dd808f71721f8a0e8877b681e872f4e12ddbd37412af635722a583d091d0de0eb049e78789d75f488c41bd322b785c02c587504f4de99a7baefb621e9575c8a19a23a88d8de30100895ef78e526e150ef3e3f6632941c503aaa19e6cd5e9cd08e65ede30636c756e8b18a74087362fb0cf8afdc0ec2b1834b0d72a8c0b855309b00451fd1d4981988acb87eb2903ab091f4e7ba266b57f6fddd65d0628a420c46befff6e4b6d1a69745b018121c77827059895dba459abc0bb6640639765d809fb87c1b3914459fd78eb0b7eef53f312003aadb10cd1273db20c9c2a337f37c06373c6ecee8af65f2511192f049a9fda6983460a30cbf066527a95c5569af018b4434e9e0c2674722e2cc1a9bcc8accaf07e575ac7359569082efe2825fcc2e6705a0f747ac1afc89825ef355de382f75f4016f379fa1706336621dc976558869a3776361143f5720277c0b4cc4e92cf02d1b124e9c85958ad5508f501bb6bdc496382ddf07bde75a542e601fad63e78a0c550592ca5e60725112b3d766e03b2e26c8dd072d218a8d0d3081a63c65883546cde70bd14a8cc40d372fb9bd9170e1d9ba59bb5ca07f3e63c351882ea29229cde8ec29c43900d4d6a98138da57ba826cbbaed808a412d6a74032fe25cd326aa1996a84214e59e7ebe384dda3f6ead3973d63778ee11b5413b5574ef2a8031a695ab82aa6cd6097c1b255259cde54050dc49f32095c348864e9b65e66f55f961ac3c5c884ab1f136a770c9d5a8284d81477ff6a54bf6e5fec9d3d2f4043b59ccd67f04dd856787f685d44b0fac7914b195a60cfbd42d867c48abc88ffa07e426e0c295e5511d31fba4f76e076d418cd5df1321d227fac514244d41268ca89b5417a2e0b9f3431040fb4b8640432c10695dd0d2b367dc8abfbdfe3d8166816e749c5c7877c86b4f3f55911825bdf8e82a090097e85ab00aaaee4db448d2196a3efdda1497ccbfc4cd4b4c36250ff7f411721f118d1d260c771fb5dc1b588b43aab0e55a633bef5dbb9a5a068c097b61bb48d37f608d175503161a747b1d82ff60b381bcc0abe11e7797e320208e2d6fd8127f0da13d3e328ca1c3c30d5a6adda0d70a359b3167ccfe4032262a1daf7c2eda49865ad3539254bbd74c86789035d194eef7866cb236531c8c060c7eb0b45e6ea33765f1433e2417a425bbc4df24e0d594ddfbb495d4e14491f8ba717072d647c5db5343d17f8023a3fe182576bdb3b5b6573871ebe0717c709a807591555a4ea2fa0beedb19fac4455224d867b5e2e20b861c37327c289f3fdc3757742882578abe56131d7f25ce3fa16b27f24b092e8524da179bb47dfe2ed6c0adfa7b8ca122af945102098c5a133ec6269a2a7f2dc3b184ad86b562ea8d8cf5b17013f2fe97b2093f59b5b5ebe27abeb40f259470453213b7f29c947ed443c39a1de1742a33e28338e6bc8bfcdfe09d6db76e94175d3bca4f4a8b6a518f4ddf3fbe5b6bb49e3b90f030df2e65b31052e551e938870f55c20d29dcc97c7bc9c38388a87ec386d130d1989150910363d31ad1287df84b8c2d08c3ee24cbbaa710ef7cadab974cbaaef2a0bbd824fcce29aa9b36092668aeb897c87dd8c2f824e4b3a02f6cf17896939607580cc0011fb4987a7a4fd0cbfcc1a3a229a3a418eee5a42030061e6f76e3b9cb4f05ec0130ff1d61fc23e80738ee3b1e872fc48ed386c16d5a80983d1182607faa7c9923a498ae0660b87ae104a313ec1607890bacba69a4b1bce31c2d62287565a2689a23fb70681d4298d6636adc59f4c8b5ed256a5d9483d25de128c8f195182ff998fa34c2fc761694bbad0dea7be854c1832049d45f1215d893bd98b6d228cea06b024bd6fda56dc83c6b5e8c8eac38bed306176a3f26b090f6f12e03f405b242953e552ab635213c071b4a3bf99593913c8116455bcb266f3840c65985a2d3b572571531eac253e1122f0b76baca907ff86d1b8d8881b8e78c19aaa4be7a3d83a5e30b3bbb288cda1805486798e78915487018d9018e28374334ddf5dae3f9a14c598dd131386bbcd808df7fd33de5b3e1726952335aa109114922c10f8a002a5358f0b0ff7c396be2fbad937611ab8de36a982dd1279ac45ff15aaa88d208687c91ea6ba9e1c6656e90de25d6030e07be0ea529a2f7ed1b3749030b67d4441abf7beb95e8752961851ccec4fad4827b0ef13e30c7a8d21f07f4ad8203435eb568a1379c58d26bb20e401f4da4351cc693ce7bedc9163df0beafdd4b39aad83e10917ace0089aebedebbb33c6b4fdc8fb5f5d617a6945887bfdefc307fd11dc37665f4825726ca4b6d591a87a26cca945ec4e78959fb5f29f638f146b7602df23f832895f9f9b6012f669a25a93ac0489cb047d512f522d56177d5c84d82b53e8676778dffbb6d9925589417c4f9f08400e946b021fa8682665486a39ff590b9bc35d968c85f772449421c1282b4bb734c468da9c9bbab1c7e115f452050d706facc841a8ce8ebc8f26871268ec058f461d0138f635b7842936bb0d1de5245267f2fe6fd714a0e75d0c946465e18db23b6a4c25f6db2e3ff8a9ddbfe42546fa95b40dbee2c7bac277aad4a0a708fa83e7a14a82f473e7821a91023746e8521eca386cc35270722a39ad7b71921cd46d3f1dde0f04245bb85d25c885272d1b2b9fd88d517c975f5b49b0d6cb395c0069e9a85620f03d868bc8ab8335fd79ec5791e75336eb4338d2a41c140997f2a4f6940732ba092ed4a8ba8e0467ac8e1174630f15379c693beaf25a8822ebb09293c8991a1a7f055827b1d985b55dcd52410485a8be805bbb7527f488dada3bbff9815e75218e0f23e93697b8aa9ada7236cb94a141ab1124d7da580a225ef7177810c047f9669227d5a06e5b305874a9de120b489cd814455f12e89d621391c216b2b76fd8652beb87e47fc9f49392988354bb9f3774710540cfd05f5e8d84b303c4c4bec6bca7df581d6ca13c9c8517e6d68963ca37ed7b3d8bc6f864df20e4240167ac25ee5fef5a6f56241d64b9d83bc732bc802a07c8bf87bf12acbf4e7f3ad1f1d23e885b53e20f9fc1e1dd089c994af9dd829c15244837bb7fdfdb7c1c863ab661e8df20fd744e5ae895b1b1d8161bd73c2e4a072e3d533521392e6696f92e075f8da6eb6471779af28b21d8c39f4c5d12f082f79b404365e3f5be7396b97ae3dbb7bc36decc4802765fc0047eebee325c027067a853062317a965262e10aedafa2bee299baeaac43a434f79e96f4e7afdef0ac4b1cf76ce28dbe8ac8504fd87a8e63d4d03a9b253e2f1ef346b84750218b9fe63d6c0b1e3730b5be278fcf48d95c4c47e26d1767921acc0d05acfae4ff9e86ed22cbccdd54d1ae034e8c92d897f4b3d80ffeca765e1ddcde8e375db099156fed7aa123a1e67294a19c8c5933cfc6a477fb81b3a83a9d079bf6f931612427ca5070cd7f7130a3fddf07a123d99968fa33b4c1750f7c45232366d5527f4ce927b6e49df4eab57719d846daf2d0a782f9ff47f5d01769da487050b9fbdabfd7f1899d63ec86862d682c6b0ead14babb7f66192bf54c7f7d3219dbee88c163b73977663abc50e6b9ee95464070051d89cb465f13f1ae553bec7e8aa42b77c9282996dd009d0aee562f5a86af90980a628f88ee27f62b4564cbca385f9a7b339c2dd33ac699486a98c5bcf1613ec3e1ee9d44ac3c09438f905be8aef9a7b69624ddebfe1379f0b518ea82bde8ec7d9f42d0562c48579c3ecca8d29ee96b6c08987a6d6e5c19add316e15ec0687356e11313f447de5c92422b899b2a1f0565bffc4dd44b679a9c12ef5cc5483b436d970b7eb815a0b3f9246e206f365eaf6696ea710ec3d74c2d3918af886b4fdd410b589a24dc4d7397b319801039100a50c7435419d91321e9e39518a3b78f0acc3a313135ede1614d35f94fd9954b70371afb85ec079b2791d1207fb2612469f2858552f9f4e40fd630c8a32e85521200a85384bd1717a04f89552fc6cb3490d76c5e9c8a763b9739d464d1b4ec21ad8f5bf95a476c17b56b6bd2a3c20003c77430d0c2dee210418f9ff17bd9fb603290b237a8a68934ea3d9926a49effc7b5ecfb537e1dbf826b6146171d436e0c850bf0dad45c75075f6b8a4440c4bfead86a4491f6397df872c828bb4ee34749ac7d022b55505f4a29073fcf4be8b5e8af7be8f2670dc08b600c8664b6a6d1b81cd7fac4e1b426be179d03311318b9803180bbcfae4d9a6ebd4009b17ed3657a0a0fae1bbcc0243608db5dac04e28dcdd536f15b405a37e40f72891c13e37c0a703b1f883679c016bf7d01f8b122b47079862f968781d468da4b97cce7eeeefab41bab84db682c7bb0325adf4148e6328243a8a828e20c7ad770c52b6fae702e4826b6d96b1ec5deecb60b6d653190ccfeb18881f707b83e2bcc7c07f2eed1e914aa17c15c472e2b131b2a2aaa6a492b25add68594ac600a39bc76cea98d502acd1d75d627942c56633ed17ab067ab3e3d37c7e6d649b523ead364cf56f4944a25a0e10213aed24bf71d697941b5f741f53b73bc27ee4a55ed18f39d52cfe5d1fbe5ccf8140d07cda5417dcd6f207d9bfa0a654d55196b268d5eef0136c12a374d95fd911fc66048ae082e5bef8fdad3949d9054c9861bb3d89bdfe7647a1571aa8046e4f6f571e2d8b383f8370b3b610c48b65187c394d1502c0c9b33f819eba2a5ff6e2b9577b1712cc7a480d32497d1b78647cd1bdc312719579d3198356400a5be4f9164ba71efc9a447b44c9394b6714823eabcb4e928eab097318e6e108392f27ae25200cc84bca28772688ed2bddfa9615b628f26677f93964a9105169c6d589ae6fc63ddc1b9bb66adab468e4ef3fd9b5957cc19f95e0bfb56b4498aabf948170a1dad4105afc66b9319137366e6f4250d71223ae89693b9e863d4fe20419d6b2d66ff53c98742876a2aeaf0163feb039b43a9756867f92a9c5ec4e1b85a64fc66907239f6887264f70ea5dd790fb297104e2eb152c6815fbdd20764cabe1673b0338ce0de95aea872ce91c152a5e8500b23e4cd0acee608a039e922c761126dbdaad3769153589bd1c860219eadbb2319ae604547acf477a4a62ef5fd8fc9c2fa6826f7d765cc2ff5b899e05c4e675b83c00a7f20a0c522089a1d8dbe17ceaeb4af7cf28a96c01c8e17bd6c081e391edbe70b3d03f59089c5b6d32282f3c0c3816a2708d3a68a4615a1d6490d4623d2f68cb4bc89d220622cc53217022b0cb3657fc216e25b9a81c4574e9dde87aa0b388d6e908fd4aedad6a15e4a5f1a84c6308d96668e547a5f5536914a2976828387004c1bfaf9bf84a2256b071f7a0821b4bbce2a5c222ace880aa940e24b5fd44b1fe742ab04d85eb6e643700e7c911ea44534f7542fcf1c9f3fa79a119cca922b92fe8c5286a2112bf13efea9c026adbe3716f21673498cf0f7bd75c215097892cd07cc1e257a10e0b339c81edcb229375adca68360d9f2bdeb767fced212878bdca91c3c5b7b3f20e80d0b1b7f18993e2af99349160863fc25d0637e5bc6b7c9bb80a15175c7d4c5c88e9742c56d02fb09f142567772eada9e2f91aaffbc949b2577b99442859fc89061ffeac0ff6e46baccd045d587607ba32b6ce0330a4e966f15e8a8092aca8b07a7eaee0399d6563c3b7814ce0690b038d0e435b0898d149b43121ee778e73222174cbdaa9caf573eec276fbb0edd7aca4a6128093754f2f1b7fa151aeea7670323da4decd135774a9993ed3bc3fc57a267f48c0ce5efa8a0fd4b2fd50eba14a904f49974917bb3f1713e3c8260655a9e2529ca1c554b8fbf217ed74a4fa8b1d5562c15ffb86052d4892947909c512b6a5ec49d2ce3fdae12737db98210841ad16f323126772d18b7d5d23ab73de120f26b5c8a9665e76482383e3187e4fd2cb1562ba8052f7fc1b40ba47923edf565824fe59e468d6440cecf21a9fb590b0afd4b1a07d7c7c708e3f9fb0b45a7dd26514ba1e872f1ae4b60931853f436fdbe2aa0624e915af7de5472915fba6b7d5e201b8c81bfb5afbc3356baa7072c491737b2057740cc5e2e6acabab82ea20958d5e86ad815e597f4ac8d12c386851e34505a71d7c31cb1f67a13640bc31e59c300a78eedcff9607a77789b59d08084fe79d5b951994ef312dfb27040aceba9e0c1072368384442dd51296edbc5dbf62edca092db9c8e66d077cb88de49fe1f28d8a6f988891c9a4262ff669cc589b3e42242eccb032ecae08e4d230e827a18ee8cdc1a980b7dc19c6f50c06d0d2c543ae95b35c4bb5014d3e7f3ca6830fe3f84ddf8dee74a249d19f05c6623dad3853b9ba791c99093c878478b166beb8c6baf6e3d357af10bb7d5629de6ad49cd85ff4a4de02715d8d53a6448cc90da28c2b23cd151a5684532f79bce9035d0073b7d4d3516062918ee16243bae42016f010c31f80346b8268fbbe45ebec0e69b876622923796aabb90d1dce1af2a68ca7f80ee484f419438c64a044888b4d23521533abd1f58287909cadcf5daa72de6c1cd9b218e08c01372547ab2725a41322f2c95ed42cbfcb0816429f474c87b4d71080360269d7d185fc5b06e016819dbe0d760b39d5b7e2679e707955ec20889dccba3c3d9ba73de08355e6511f6590523bfb7f0c8edf60e7a31753a392f9a941d93c5f9c836ae2e1b8b1367af4cb8904747b58450d4f249436095ce561c2f3a5adf61270f592f4d8ad807237a85148c14c7f1b445ab6e1e4447aaee164e3aa842570b900165416f0a63651f4c11dc6cbc01dc1c38b6205576af6646e532dd4cf8f62e3255dc76a02222a86976398a31cd779e2d9d97c201290e8c9759b58f7618735b805543c24c5608c49ef6d8cfc0406566fc92355015cf9277abd3027c13edd0006387337d9cd5538921dac51dfcba5ec95df4dc2eba974565404d7ef8a60a4ed5505fb2f7c0fd019f0e7512f25525baf701e521fec1b1f9a8485c4f7d395f453976842d151a3723d0d66ca3a62b2ccf946385c7b5b3885be4238e1b5ff65e7c8728df020c5c1b97bb59dd547fa8c98ed6ea3612ce99da4ba90c20a56330c2bbfcd6716b78b09aec2f25ec151ef5e49dbd3936862217aad990aca9ae80d51d909aa65ad50dc6b834f8870b1e04d3e797704e4c39253652656d934d223acec95c8328d516dedc760cc6b9b310359be96e7387b4a0347e745ad4908aca5d8761e8809782b8923e7f05d255c44e86eacfc3ce8732aabb9216a1509d3f9cb5ee497ecdd64069ddc50d6e5173955a347bfd36359b1be231e6b53d6422692a351b00945deb11a7023ee7013bcd14c1d7822441f9663ab0f77cfac42bcba458d33c4bb9b197120eea402693946bc87f54e8187edc7a98a15ea58f5e95b1f4fcaabf1251d0193eade82a6786881e65dcf57ed54b801307e1c0aac61f7828779489326463922ce22ab832b3b26a532e9a9d8b9c594b71bf7367940da384dc7c972e0746e790b1ba66e6e7cef5fb7b3b9efeb312854aece4ce0a89c3a01efc6d89629c3c81a29fd1c6efc58fa2fb09c12f3447ce821a90b3529998268b32f1b15afde3b42ea2e0a85c63c021d3b682ccfdce025318488adc94175fe0a04f373322712ce3832e7ce267dfe9870927283ad7219a3a693422f648aac2db72ccba6f4fb1ca46905ae2490e1cbafc79c4f6a663519fd5f1ad51f95a9d04ac0efa3f44963596f890032994b71fc703e18e844a9b33534b7a18061d00057e8e4e0c458625a9e033b9865d60331ea04805d5002d8d564871724afbddfbd1a2624c7a0cf69099ba23d1dc784d224c5fc5cc2cb6b9262e590da5381d4faaec49ad7c0c3921be3f580c94b112147addecab9b4b41f3cb70d61226aa97b09a7f109f80d8cfd74b9d2a0e98d3165f1dac82f283a5803422c4b617075d803ab772f736fd29bf39ad61b392ac9ce9bdede3c7f546274a717a77aa0dac4bc150531c2a8eef5bcc53b3788d7d71b09bc220de90df85be46292008aa9aabd5c92ebcf7d7fbf5e44374ec6516d687e8c045acf3f7bf1297ac00ba2e47ffe054a5040cafe03a27dc8b7f0b29ad85ceeb9cf09d0b92bb9e7a2ebeb6e55ce27d527281ba37bc3446c39339cc73b6a309f1910aa635486fecc3befbf6e1fdcd7cc5ebae0f47a635f4008254ebd04688d17f537cbbcb08b26a8e47c18582a324b3f90229472b7053b9a6371f675d37b14492683675668d986a84c4b9097139e3f9411c1a0a424004e30a09d002772f17335de5369ac612ecae9da6042dd6c155a2fc19cbbbd651bea0876c2ef72aa4c135fddb4f7226f9aa86a3f597d2254d2fb5d3a5b372b98344bbda390cd60ef3d6553653608c1a7372e044212ef78a659d2c2ab73eea8cb5c115ca2160e6b6dff6d3ea27dcbb797cd64f5ec4b393d3fe064e9f360f237267f267b9f8db2f0cb2e436628758132f96a53e0629e30acf94557dbd1c8e649c1a0092241136e4dff3df7720ebc5dd7798b101049112604a98781737b98741cc1de4ad1fd9b7e282b7da41b5b02bdf815654cb4a29979d187b0e67bd029887a929d87de350597b4579ea2dbecf490d6936c504d3c55ec9e32b93b5c580929efc4bee329ae5303e93d020b1fa627c6db0ba3a8fb3d9ff71c494ed9e8b2ae7d739fb194f2dba40c9a973a525d7952cd8bfd6f50888f12ecb6f6da70d3a6b3bca03885ca9b5c7be2c02da7a32df1360c33e64c8f82d5a181d7de918389a115b6162e0ea2505f76c1f1a1286d57ddf4b89a9dcfc0245aef94d7842198dbd2bba5e52ce92b743a0ec0c5f09168e4d81c34cb342147a492c87cef529de0bfe781408e13aaa2a043ea4b53f3e545d7027e1fee0af57b77ed043e76fe7783c51049487f1b19c1448dadb3b42eb7b212dd2eddf3823681043327fb3220b57044c0edaf2fac6673678ccdeb99cc10c58f4ad3f56100ba84f68c3d8d8deab5a1c08721814999367d4e6f57c005ce3e64f33877e20e720670cd0ab56c9b4173544eb7183f74d946f6fc4386e62a078cedbcb42b3777c95a4ef6b7ddc35be381159d985657f21ab235233614ca6c1145464213a77b491e89f86cd3e26454c1b92937c914b83a8db322488ffddc662cc395900239d7fe05c4829dfe5311813e1e2e0a12b68303b50334f29230e1c6b148780bb45d7f2ae88f615ebe300e508235544294f7dda571413b1bf97efc3c2977430db2bbf33b4e6fdc8484a7087b7f220f538f46ad5f01216a39aaeb00fff64e47ec3283dc748d9dd57532b767486eb052d80a2a6cfc485d6b9dbec5e9dd9c311d187ca74bdd52899b4c3c9b21654cd435765eb29663615affa725de66f80359072d31545dabb2a7a97e264413235508a04cb313fc6f88c2394041a6cb1b4868a9d4664362206997cc06b697eb5c82b2ff6a3e9baecb455d91376dd4e317735784507a83a0a873d2f0f71d3cc4e499a5960891d0f8fb7cccb89f99854e51ea8ab302cb60de94c18ecad5aa1a88e3c52aa374c9d97bffe2b4f0357ac46579b49ab6d1f6d9ba6fd5dc07b7572c9369cfccfc39a8e159faf5d2004ca2e46788185317508d4c5a0fa617ea638d83d71df8838e266c089cd0b2b4a71094521f9f56b7aed87773ddbc99b9a3310965b0f282ceb1bf95b0d69eeb786e9b0ea8eefaed9855f8e48cc1274c168301aadfeebccf0af3dedb8aaf087f97755f9aab5ca192b3f7c9ba5888025b538fc77121610f7df259a06c0f903a80628c75544734c90253cf9eef0333ea20b9923a84238a8d010f5707aaab4822a53efe9edd7d79dcfe4126a8d3fc3da532a9b52c078b65d2921019177ae7e7566261371f99ffc5398b1c5a1326a3f6b96db2ccb4640251f0637940e1f751e81de226d94445100efb51228fc7da579ca586a2abee315bc6dc298434ad679373a356ab97f0ec4da656ee3aced46c84a9eb3ae0fb0d1395466db857db9f489f03ce969099e18f58cebf36fb054ac4cc448093c9b169351ea7445127b73d43bf5980e3bb0ef9a46194b81a7b15255ae3e5975219b4ed8a74cd22fcbcb38b23a893db4c18c7dbfbbc38662b8a8bb40173816e73c24cdeb4e14347d43173b0d34dbd557fcd5bd96882d5344e5e22dc26229b5b86a848dab20e45c35ff88f68fbc5b2aee00bf34d83cbf355e6b5c3d928168e2920fdf3fd87b32be62f4cf5c6e1fbbfff7f52f78eb36f3abc323f7e8f833472e69576b4607fff22f76cdfb791f06c66cd5bb89f345319b382de6ef974b7321f3b870fea452a9cece026ba76a46255548c6e05309b18e5190025430233eda9c4d0f72ba0cc3540b240c07f07b3413b99730512e69202d925c5087c543fa6de7a782c634f13a09425a16d7bd1e32583a02c62b7997d969b3a627c3c424e5fa6bffee448fc07bea817ec72c34941c030da6783ac7f3dc48074216beafc00a740d965c61e0fb15f60463537b6375cf798233b3bbebfcf8f034cba8e189778de6e2c7ecdbaacab145ecac4e5e4c7c04092f4d302a1379c65c28f28a4a100a268603a4a7780036f324330e86bffd157257fbc3e89c4836555d52ea9c6fd667631702eb57ac55ba3d5636a978791813b04070370e7222c6d892bdf4e89c0ed73adeb0e749aa47db0e9322e633f8902dce2da566986c66de4f28e29284514911280f7f62774cf401f4e2c41da6840672ec80db2efe101e91db5765f61f692114dfbff29b4251022fbb2ef7865bbb573bcc8bf977ec8b43ef4a0e3128e58ba9d8b35e7b1329a48a84517196559674739baab09c25f9d98cb4ad982998209593a22f9095e80b54bcf8d7b3ccb3c33ee59f33292bd6bf2e9dc4f5e7127a102c632c06d821111f5235a3f785d1d4111c6e05b65af34db54ce7e825b2853ce49d4247b27302dbec1579588b6cdc7177e1c393866e747ce3a38a8ff89fc8fd4f66ed14de4a3cc0ecddc3f631621f3c9d23f76d4fcdcd6144a7b0f7590cac04789ca54793d0e231a79bc8f1c034896a887ead08653b9e8ce53909886115bc8233d8e0138dda5e85c4b2454f112ee02b801a72d8b292e3da980e25afe6e47c2d7047f692e7c8d7cb2aa78f68436c82954a492f741ffc4e123577a26bc5ef60b3b83a6b7ab20ef4b21a296774cba1c5ef435c578062dcaaafd1548240770aebfbb54271f51ca06945be507989f7bbf8b31a7d2b80711cb1eef2817fee8070ad2e7ed27c3794854ffa46cb30e57534253bc351fe67ea797b7e1f889a70fc57ca25a6848f3fdcd3a2860a95583bd7df007b891ef7738fb1d1071659bf6885a725bf39db5ab218a14fb9f518a788a63fac9c7547800cfa8f0e6d4a7d64fe9642797433116ea8693c780429373f2d8a68a5b28a7a4ecaa597bac181dfd0a0cf098f9360df2e3f993c0e0fd92560446d97311199f595fa0737b7e6105488dfb485d54f8828e1f105bf4270974c200923b988d2848a18876a8ea2e4d951cfe8a0f244329398dc6baec0452dbbf4e328a238fb499f716ec150f8ee06daee231cd474c97bb51d3469fcfeeebce121a6c48f76571005206690199f92be5ef4ca3e7c123de5485ec5d968227d1ce822770ff6a1278b879f0a2df9d407174e406c85b8ff06a51a894514a719096130cead008a0a7200b30b9d5deb2866f39ebd942aaa5b4bda1e1615f032b663395d82816800f21ca8265f0661d1974f480b1bda242e5f4f85cfbb56e83a327ce020d32890d5d868f3b1dd9e8e94def3a37df91b703e6a5c2e928cdbf36751be24c4105d7523413c6f3836ae26f84795332487161e773abd775b07af6f94c3e82f30800f119daf8bb642c5b4c7392299e870fcd44e5e25fe913447c3ae3d7cc6fb259d9e9e55605ccefe726e3e7aaabe3df170fab5f4a57db832ccb19c705d3e3fa6c994d2a717bcc862e756b15ad5343178f9c152362e758e97ae24c5bc9cc1a7bd17aee4030102141a66ea9c9cdabe8dc78ec1dc3dc041b48fa8e505728f261519e7d79648bfcf1ef21dcfd009d15fdb9b5633f3caba2f216979020102161a3c4b47496ee4c441d2f1cdc0de411b63635ae3bcf9f220a9c824e1ddf90c5241bee9116405f6cf74ccb42f0bca656adae015248f114c4be87482723c8c8bd04b39d85471165843a12338196e4ef33b9e1d63b4d780baadd0010c309cf3689112cac2445f548440a94638a6859a4f78d5add81946b4ec840c80f67000079d77cb1678e815b8e61ac3699c04c929b352faac2a76b784022855e56fddf86f6de6bad81edb05a062c845085890483d959587b1bb6890debf869a44b2e0aac295274b6bb2ec5fe123bc5cee4b31fd734d7dfc21151365888f8ae21169c61edd419873b6cff916f3c8485e721a943f74d2b747f3e44256df498a8031868dcc81b8639279eb962b6a66ab89902cb31542e3d517dc1fb9b720e6b3a3b252cb5a29f37388e7cf4cf7a2829c80ad77bd39da3c3f5fcf25c9eeb0963ffd803d1c732e4b9ad0023e238702c908b6d6fa38134f06b4d123f8b9a612622116fc8a3125df8a05c6fb0ef365e785980b4dfaf6f77064eda451d10029ab51006fc5eda1f1be3b866861bfc1a3961136f5b072a7f127af6fc80865f599ce721fa53207eed8f868f53c7090ef65e785980b4dfaf6f77064eda451d10029ab51006fc5eda1f1be3b866861bfc1f7d272fcf770f1bc5a6adca9b42a41a58a4b444f2f7620fb76a047e1f2d0dc04d6e4a2f14a7745296e96e75273f9dd5216e6030310a5506b41bb1d4fd6f09a2fcca3bdee93104513a9e153272df35e0fabdbce7812782c4a531beb883f7d563dfd5957d5f2f807ca519bffea2e47c19c39c40cc43a6164ce2a7d10d04f3e0bdbcb584fcaeb966b18acf1470d69fb46551e75f67def1435b140d50587ed98933e411e00e7118d0eb1a4b5d3581169e76b988197e383238e7f8738ffc78d3aa310d486cf6c1536256bae77f7e21d37ccc2228f1e5b777a1336c43878d57ebb2e2fd486cf6c1536256bae77f7e21d37ccc2228f1e5b777a1336c43878d57ebb2e2fb74d7809c6c9f24c7ae89c9647b42a07894b89acbe510d1657cd0f49888516666ed018acf76703ce37fdd60e554720394a67f85ee17fa976f87ccd6f90a85fef755650106a8ef815d0e5c231df595b678f9d302a5e4a6c15b38750548ed8e51bb16af762aa022ea39f4776ecea22e8bac14deeb4cc9c1bc9ce45a77568502c5c2a090e9239328c44e297571b39e2928bdc5583dc88e76f4d47cd93d224b24a4061c861fc80eae7c95fb1caf75496358f0b0f174f8dd8fc8fe4ea619b8f88ce0f77cf8c2e90f69af4bf3d84b6eb29805e04d83a30cefb5fdcf044611941347fe4bc4cb146abf2fee0ea7d74ccf071929f83b0ddb6151657aa7d46a3ddd05038db7be367fb4955982d559b55835281056822bf814c02f3470835fd3ccb19a8ee16be85ee6290e7ad84ca97f7ccd05bea29e0ec90c26eb506ae15a5e95863b871172d1d6d1637730063f2d87b8e198b5617433d3259c7c3ae325b3e35b71a51e956b7cbef9712ed67afc2c356248c18244539fc5337535a562e5447fbec0e6697bba77d901272613d4cd165ddeec2f6b5cd29c730c5d85522cc9d97b91a86f4ede6c2a01b3d20372d5e70563c0fc36d2b630745f1ff96040b3f8fae7d78cc95d53c20a32d4af84080d355b2c6dca17a5a793c9032d9d3b401a917b07f72aae68a34fbc1fe26a578f27859bacb39e0784b9214942224af6229f11e07fd7d9cfccb4e4b08928929f2ab49b1ae381c088ee8783be29c717b5bdd353d615e7db652ae7b8a258812d2774113757be757d59435d726178d48c6b6988d4ff1f7b68d4c7bd824d74632b306e9b8c9e0c14df58a2b7c3ea445606b17fe5a9305b8007fa656a50dd0e921e0381dc01a1cf69366b4d38c3e552d86900cdaba1c9de8c5b69162e4c3810b7c30fd04710e0ff6ec53c0f0faed747bfefe21e102e0e8b3974a6c082ef5fa835e9f25b02344924cb6a6bec4975e319ebb147abc75611c92b6ee726697570b55cc21ea445d0275e03a50d697a2ebc03a6e4cbdc13f26698b02aa77a581c531a2ebf1e95e634b38e774d548fd04ce24d49bb407029a6fd04cb97ba5ae28da99043e3e33ff73e2577a222beb9d1ecfe94dafd108a35f87d8157fac9ddaadfce7361081470a89f0ee810a78d94e179976cfcbdc0e266a61f4a9798e60183508eb116e676a544b00de2fa949d33bfb66530c1c42a4dc9729a19011e398b81aacf3b3015bae64a55d63f4cbb7e77cc3f868d562f39a896d78e1ad36473afb6c9f95a8ac590b10cb82b36b3d28b34ddac52b68203321d2288479a4220baba748900d6f9e273b063d7eda052bd76aec671b34036f64c3be125b426d88465eb77681cc3f2cd386bc5f6a636973619802704d0fdf6a957d298b3c248117bd1266275019864e053d042369daed54a35ef46ffda4815b4e2f8a2966c13bfd4085b043e7ac5d4f94619deaad90ccee28cd7343c1e114c17e5a812c2cd216af36c9f8f57d767341d750a5c2714a09bb85eb40dcdd694fdb7b6c95dbdc5cadeec01d93482bf21c0c200fb0d681e5cec7cf649ca85c57f93eee220eeff6356165ac12583eb4c8947da45b26ce1c05aaac989c1cf965134c3a52ef5169e69ee8715c58095155efde37c4ed163bf3e0e44bd6b52be6ece68f4cd66e991a4fd72f6818604ee363ae448569b05f834130ff2e18b26d9b7730e44ecf85755200dd18ed2a58426a42c38278d7da2b002b87a2afc97eba5379bd76e03d50048d2be46ba912be53754e61c44e31f66a89b71f11109498b31bb803a8bffc3d9fada6d77432ad52d2397935c76820c76a21341f2228bf7ecc16374817986c3eba9fa495ce3b8b9b605b79a143337d57d014b155c2a0d49062d6f910039d7556e18710c245c822f73bf7b45f72a12e84884d2ce0c6f7c2dd43ff58798e5731a003630be4f0c224a9e584791bfa487f469d880420d73c4bccf0cae600b3462689b0b8189f4191dfb8dffa655facb35e14c1f0dbce2af97e4c02db85b8822cb743269b8c31c23025d889d07641eecc7a5b90f19c21926b0efde7a0b53bd7fba871a750ef6eaeeb9cd5b53ad8d18d19a226b5abd22752de09b4f03a7582b36544e4f69310c8e0ad18c656f7bb7466be6509d7bf7f0440bedf08dd5c852e67cf1d531e877ad26eecd7fc46f29961cffddc074ac99097954299ef6883ecc2f9b0f2fbf3ddc33bc736dfb7dec1f6fd6f6fedc3d16fdf9967e1ad9bb640d307251200d9348285daff1d7b9810c323c26b9c67f1329e6decee251bb50650b7b9ff6c92fb0fde8f96893beacf91f5c55ef1b714134f904e27c06c030ec8a221e37e508507dc3ecaea2f86cb905b16851cdb8decd71151cb2a39a2c0ca0c0e9b7c807735f29f365f4ff8112a83d56048faf487bd6bcf1f921a6d119f15d5bd3dda21108967f6e3b1279f5e81b6dcac6bdb7d9fd8f5af4cf8e3f6f07099aef7d4e020f82bdbd6891005440cb6eb2c0c09679b78c2bceacde707070828b95dd915a3e315d963797bfba550d409a6e1d0ee7f34bd35d27a520b0e21b72e03e2bd056c42b754f17d75b1203d27a94abf103ac492442f8c288958dcde2e6d6ffc387fe3829eec9408a67a6ae8a92042d42f10a762999603ed270ba31f7db42c886b6147c0a530d37039ab3fac517efe5282a6f29a95038b8475d9e4afc6ec6ae5c6ace6954ff4cd42d50ed69f6e36c3723069e41b4a2184adc03d6f1915b08f20630dfc15b7f6481fcc01c6c722fb90e439c180b444db6ad6b20df44907a2bb9f03bab04ab7ce9e3ece7bf245514dce9f96040a81340e47cdd44775dcf5ee227df0c0748109dced80749228992f01af59bc8c7726d71ebd706709aaf50ee080b0bac909cd449646a4f550e47aa1009fc7900d308a821b809d8c2d0335670aad712b2c47b53353a5427f85ce934965909f44353f9e1ec78c4d6f2d09163f45055091edc6267687bc04a665d6654b891cbba3db4756900b338e86628416c7e4c13cfd9b0f652707414a754a855074be080fe188b3f1abf95cadde7456770d0316853160ca99285ca8550e9bfb5613143a5f1a24f10eadf1f611ce50df0df23a72e814f738e60560ef0dabc5f7f8ab3ad8e5e2f5843dac6f9c0c9eb5a16097751f6eee40f460089816f0cbfeb9c32f8bbd0b8e5d31ec482e85a9d1e840b6e1162042561074e0439e48d2e15678db7ee619cfb3caacfa4ddabc7d5442dbf20493e0a748868bd60e8fc8190a38aa81c1e2e2b43303f05c03b92ff153761076adaaefcf0004f75d9f21eb2b1c8abe4f0f29073247ae83a6044d2854b858860c99c72019aee538240dad6d3febdf1a03609d755b4c5e6bcf3563785d0bd92a6aff7583c18c1b2c56864a3023d3d3e9a9c947d2471942781d6766c8906f5781a9ba589cfeb72aa6e2cd8d59824f6869d70d082c3015396b30af597b7f12c68f3944251873519193c160684fd2085d326944cb70efa3873606da4cf00ef8d9eb85f080da2f5b97286a2f64caa74fa9776fdddff28ef6b7b47d4b9388049cedc5ee4248253c02bcfb2d1ee03fd660a73a098d884b90024aa1c9df5cb68c9143efe7b120eaceb7bac9911debb56a3ce009e353af53b3fb6fb4d5297c68cf86f0d079e9472100c6a072f5b200ede7429bc8977b544ff631dd1e0f3882e98d4594ae0ba3f31e763b093f76e1f6a3d5455c09b2cc1d4a6804256cc021d22bdfa9207b92562b571f7ec723d08404cd6959e1a662a66bc766dd379ba1bd8ec07e29b8aa45b53096fd5ab166c7a4cce0cbf8a4132e7a30446f94953b60e231b4c357f2c8d3968b8d928eb3303de2b3551af33f2e4d74d11419450283c3e12d1534bdfa1cb0e1a6a8854b338b2d29e25b8653982743046232b23574c0c4331e0bac59f1581eb70b9271ffc4b156fb25f6d3ca70f42b02159fd6edfd58c468807ff8dccbba548eb85ad7b27cdc5d9fd42d41fe50123ee71852469695eb25502eddf8149018feab234bb1a355f7d52f2434270408bfb602a56a0490a6cf7384d2f85c8b4a34dd92aff7202fd0ed6388f1b10f8661323faeabcd29a7ac114500695a5ea97ecfc19e11f776778bebe5119b633bfddfe7976b44e189c07491fdb43da05c140f99eac6169f357160a113f23bb2904ac26ef4d3e9c8b0894e45c0a0fd3910d5d8c9dd7a0f9f3f368c39027bfb2dfb89082795a4e07a10b5ae3aaadcbe3fadc7e701562c64f9c5f60e03247a4ef69b9cc56d40bea2bdcb7942d015485f7b7515c374cf5b86e634803d36295fab13c6a7eed44863143a106c9a6aba1c2873240335ea394b1623c858227325e07c74ada6604aba5a0800cffc902b89aa37096be6e66789230938c43307d14f2d10ca94a16d661fab3d3ec45afecef1fd39e73c23ff600e299947cf4f65cde6e39ef55a61ede94523b2ac545452ec7bef3e3fb6b7a0449aaafe051122037389d29881f61ff47595a506cdebe652c06d9772b9eeed8a45780baaece2d060c7ae97993411f65c51f5b1c0654cddd0b649a75aa6ab64497a25129226f72c6248836840f7022b215bc1d4807ce5c44fd16675dfcaa616ba0987dc40fcb8fdd81a7a2c2316c7eed8f30c019f437f8f7e9507e882fcdab408bfe17f588e054ca87082ee5952078bddf3726a74e09c9e490400e88a1a4299a443b94389a16f0a2710d55ec713befead2de0950a051b1c170022e22b96fd88d40db443e5c47904d1c963ef2cb12773ae2cf659ceb3b46cba4d9b00ac4d585123eeb99b0c8d7778c2c365380f1f84ed905283bc882e9e27953b7b0b5b489171a1ead9033b3be674c8131c9f26c6f2ed99f454cabb3dfd1ad9a8c99c2cf7835c38d05f3687faf0c7dfbb463d4f270994502223d1aa9ce307b6ba988578d928c0d5d481d030d47f86f6b416811af7b4df484105f4692e55b523cd4c596b1ac091b2ac0bfd4e63c8544fe2e815a159841167bb05244f32fb6f26b9490530a62cb759b43c30c1b59b66d1e550d7927271e40d9fc9ecf4d06df5c3543b865235836c834513e5cb449b8eda2a425aa5e5a9813a5bbda1790a2864cc16e41848513f5f93c427f85ea3b9aa7f65c1a9987cf04f8323c8b524baef2d99087f56a9240651f8c28e13a47acdc0992ee7cd38920c8647413c6942b9a6d99d1f7fed486c97b39d0f6171339559d85b5f527d983856bcdd6a1cce2abe81aad222f09e2328b006b4bef944bf540c3dc3d03866b697bd672ae330d0d1f7efd68ea2013cfc58a55faee4472bde1c73f04c7ec740c4e107002dddf942571b59a85c89f2740e824729c5ef8451fbebd05c5e95f06843486dd4ff01c49af433ae4c8ec378c3295930c066f07276e3422d150b7c74989a759134cf0ebb26ab7e76570caabe0e110f46bfcd9b4a15f60483032ffe7350f3cff417ccbd166634800230ee20a3bf74372774e27ece29da045627b27df1987a493034f9cb039a8f91a5600c2217419454ee50250cda276198a315e72214e193bf65f27b8f564fb80979befb4eb0870866f9e958e0ef442c65486e0ebb38635b6203a485078cce3fafa6980789f6232ed3de4d88e2d96bd648c4482e1069ec34575bf6739c270d74bbf1d8742d016de19c11716784f8aaab9a763d6b3e6d5837bdce28e77c4e5d772dd3adbc19ab23691c7a0973178304ae77271b9b6302f97cb8d88b92d1ca5c5517582daabc93fe7e5306fdfeb13e100666d2a360d620bbea6927ed3154b68ee2fe4be139059fafa501d03719be5bf950337d8213bd6b95a698ebd0dadfa8f1467dd72d9a26d0e2985ba04f08b82efe38685f688e336a1e3caf521fdfbe61219ceb7511c0ec8e5169c51d8a8e36ffe00fca66f557a0316d11cec60315e94cf1763907928b079b8f4c74c9539d7a42bb652d4f6f7d263f436d7391609bacdb27433565f5922794ac61d83e8abde8a359f47264197da375791fb98f964ff918c89a6a85092ad407ee0619a176c744035c9bc33decc180f9d0d87fb4b90df7a08c1895add7eb04e728bf0b7528a635c1b6edf0dd423e00542ace09e739894d02300cc237c350769cb20a714357716457cd95762b9c8b9454a1fd9e9d4179fb3efc3e3f795f7bb7dc0dee9801a2cf0d471efa6697b02469da6ab1ee66fe985cc277553199266273b1e63314bd7fb7dfb2f3fa36a612b7e9865cccbc7d1f616775f54d6880c1be23a48799f2d331285a8890dd1ae01838b65d220aad3c622e3d3e483d8957d44ea54bb4768f298beb5a505f314284e2e8c8424d94563ae6ac3446a8c54ba9b13b6a2c8c28ea00e4cb990485cedc0f7b6bcc8b88cac51ab1f39b12e56d2ce2cafa1e74df206c2050c57dcd7a0f87a0bb00a662524d136f7b8e6e05c8e4f5e0d95c5febc1bbd9eff3ed2d8b41edf7ea9e841b27ecd147e89ca95eaba255ebb31f3c31b8e1976a0fd676dca751cc195309e2d119a66be13e919a6cd36e8677848f967bba8fcb6835548bf9a582dde5502ac05db64948ad098b159bfd8fada31254fcdcc017d6de44d4f39a7b97dadc3540b9676a7982c0bfd178c393f5ae9d4058aeb522b746eb51f6c5e8a5f25994e3906b94e8e801d34201df93f2beea12c40715892d46a285246ac59bd7c295bd2fffd919b4490001b04ea8cd67db8ccb66823729f87db8b86d25ff54b459904fc26ebcfb0b71ee6a83c010c3566275fe920434d4792d055a5282832eee0dea27eb757f00b29410f5879c572a279113fc1c4a2c75fddbb0b3efc22f8383098bafb694a3efceb1f1561683726b046aadf4f4c065b870207ef084d38dfb83cb5ac19adfdfac8ebf9cf741402d60c37fb2dff682919f6d449732ac799c38f6bc78241a356f860328b06f4b6fe82630fb40a45cdb491919e2a6822c011ba0da307850626453b1ce798297e501993906b649c5fe536cb0ab89c56c04c4668ce0d8e1ae1de21b28d73e1debe07e2c18938b57fe94bba4613ef1844c44f90f8510e47e41d40da5a55c669c93f7d6fa902760a52d4934579b631ccc9c6cf08e08efad36ca23330bb96412953e2a2ff544f06b2bfd4e58ef561fa20d8442142d00fabedc7191a26f57ce0c4379399aafa4425288243d6053ad62dcdda6f7d2abe8fca57b69d09075f61d4c852b36e26547ed0c9fad313db91b78ed5b893cd4ffc08fb5001bcb114d30a61842270c7afaa9602903e8ae9a78ff8572feb604810d40378540918cbbf8fdedabc73a9636daddbe619dff43ae3ccd4a1a5062a6ad276f6d057b0e2397cd1182dbcda9977c29eb330120077701465f2c257ceb7227ffaf23c648aef1e294156b5b56b9c0d2062729fb2e37de1a9ab243fb7dd7c408d855e41573d763fcfccd5278eb5457ef995b203912ac1afb916cb45cdccf25ed7df4dcc0cb82bcd5f2e5a020d5c1787897208fed394e0c1c18cf07f1570dce729f7b3cbe61fc531ba29faf4e1b88e8b818497106e90bb7f142be76862e5051c1990c929e849eaa42555eaa2d60a54c468e7ddde73489691b62299d329abe9ad319781b6cd521c32c370670ca3acf71680788683c258aec9d564c1af0046b6ae18bc120b2f4ae20922229b85f86821100c6c8d0e0fcd2fbb07b64102a7afe37fef28c1c3bd8284d8eb58ac76c29611894952b64f445ab782dfab90a54968d42e0efd870ceca7762b21fea12f8ea5c81695870ab685108c03859f67360efd1ace95fc060013d1f496674f04936abf3d5503b739cde1aac6bead572542934160e2ab3b9026f7beae7de82bb485cba9cf19bb6451b2e86ea54a8bd72f8ad91d3dcd031173718fa0b7fb5a86ccd9f2191fe6d59e5ec4487d60bbb3c330cfa66699ab47741d4c1bd21e7775861740495a72817b35d9ccba3c37ec6fb8f8fa88e30817638b7935840e8993ba837b3a1e4856612e3fbe0d7aeb85f5eb4cb872849a2c220228543a6eb2b69641fbcc5b2c3cb5ada14ee76afd2ce40d58acc70d2bd25fc574881a5b201ef6ee6ac8d993682a11a5c2600e4df6ab59e3d14d617b4282052177f433fb7ffafea0c77341832c39ad9b527307649fc33daa75858335c864dda533db9a707f2f376278463b6a42cd8c69ea4a53af0bd13e04a370556f3c8d7a38d3b43f59c4f11fc406af33538dd257357eb5cc5003b6ee91b0ab95063915acfdaa3636717ea4c29ba17a8fa71c54a40c72c582ff90b07e480fc2a5a9924bb5e071a21f370f0e9039e6dc18f9de0fb827b244a37a2224da0ca2df6b0f586a69dbc7c32d8204016f3d8beac7231427860c7ee366f42a353d00cdafd425908a33841df7493eaa3c24b3f4cd07c4739ce1092dc13d70cdcc7603963c071ebf94c6c6e63331de9741a87bfd900022821a0f57735c2372a7bc17d4cb837cc0c12c75a82173f01db422e0690c9111797841b1dd9dfb8dde4fc9bd507d6db1dcdf6b0e9022a7b9709d964647cac340d6524c76e27224a3055f13c2948010a1d301fd4bcc79e629e2c7b2712e500cb51697bd2e9f2c7f8991212e96c9b37cc292ec83a27e3d5d5b2521666b995ff30985fb722862fcd950f52cfae2f17169b74a3ab8ce9e294be6e37ff56c78fa70aa48cbf52344697892ffc3ef12858b469d2a70b5dda8bdb38dbf65d78c30b2548d1bf4475839b3399ad973a50ee286e44c260382f9d872aaa5ad9848648af0f327cdcd38cc3e9df6d20578bc694432f8943bcfca7c52b1b5c87d527e2ac3bdaef0a7c9b3eebcb333cc0d88f4dddab206c00f132ecd9fe8144f9efcd8d9a4f2b8aa12afe30599fbccb6dd0c2d619b8be6813f91ebfe63d7053ea886875efa24b152cb244e8a9134c718268c5f32f88949ee588339806a3b2d613a7d9316290f2cbc0724287f2920c28bed47179f1ba159e16b8fe083a8f635306b19803e52862c71ec4c96354986c58a2e8efb012f37fc3ba8c463fb73fc0cc9370f10a06f3caaab26bfd1c2424c139bfcf9dc2621a036f1c3a5b1afdf22f43c7b7106d5c556b94d5708f0251f495f2a5a5c57355d026b8ca27fbd5d32d3a9b79112c4919fe24dc691e4fbbde56c58661d0dc2c3ec3aed8504de6db24fd07c95a5f7eb30b85cfa554b32817a7d5c8915d4d9f04744495cfe576de600d0d1734d0ee46234d536ecebc50fb6d42177606a57f5911be2e4afae08ee08ae130de0a412bbb926d5ebb770ddc0b4adda14f63941f93ceb3c091262e7bc2690b29865818d82e8296812671301d23d9d2bc42a703a400b383b8c0c3085fa2894f392455b4feaa161495e55bd0b1d5733fdef62f3a55906ee30835762518c21a7c6c7fe0559ef59f10f191ea1c4aba43d7b6f57421006c3767f8dbea18dfd7faf1cfa41c83727a4294dbce735d20503bb25dc64cebf48de93b1e878739ede2a066d08ebd567d138ae66e647c8d880b8d71cb02d9c82433e8a89cdadafd8a750e397c124ccca598c4734e3c9bf372c92d76530e69d80fbd17db07da496ff1cba99cc71fbb5b35ce2382bc18b4e009e1f014168c598d99bfb5c9b87f9e84d83c61f247e84d4936c440422ca0507c9e3b17f5f5eddb242b9f7e72d4c3fe06dc8a6449a20edf566196239b827f54bbca889aef1f9e0ce35452ad99dfecc710e806badfe6abc9a160c962368e82e59367dee065e8491fca43c33336d612196a34d93bbd6f1bfd298b7589022d38195a49a2aee2e9d9ef8e831f59bea19a6351ce68b1e7e090b46802ee6e61c843c75b53d6ba57b4c3d5a5bf482959a4e161003604e752a0fc18f0923f53b74c4c4046730fa6c3180ba6fb5e3d7b0bc3b9ad1841f3fd3bae114db71bcbd055bad0c8d5fcb293cec2a0a7da75ed515c1fdbd76d2e8c9b4881fa775066a5f229f68c7a082c5d1db4c8a4607f04c2641413632856649b6c559a6114f6f24fe28bc8b8babfef15297248bbf9260bb49bd04f1dece0f612d544495fb0bda63218f62b561515f11d839b677445516823ba5a88eaf828f637515d2aaaf52f97303f43d3ff5c0522bd73c03587c2f75f563ceb4a1a26800912f05d4fe00ec531281b64d07fe20f8df716d7dca7dce1ac293d2b5af0d14003ad3f93485027a39ce2ccb138d89fbbb6227037209a8405bb57717875efa2aa14bc17f83e959a692e6df374f56b2a7ed0c92e7e23733ba13982b57d4512f52a92dad3801d23438e6a426228c3ad3691d9b141e39aead5684a7a4e7a17ee2cdff9d81f8103421c8a650c961a9f5f56adc511bc65402a7156e3406a21bf3ada4b867941e8b13f8f8687c0b0db629b76e93ff1fa57ef6d20c269543000e32d12f852e4b924d0fe078d794c485e92a68c9522196ddd925aa2daa1718a08db0c2046f4fc1f8cad6e78e49406107d956ff255e4a485b2186f26f37dd0740083d9b1c047d4edaeada215bccc0f8196e29777ef4b42fffc0ac17fd8edcbba7ecd385d18ec551917a82b64da47a9a3daefaf5f5e1d65ce592c106eb1b7e0889b48829c3f99a1bc089578a3260a0f49d63d0d81a13f650c5ed088d4cde90aa0f51111be153ea41249cf85ecaad8a3ccae8848e9655e569ddc6653a897a763d40529c54ddecb099730bcfd54ae51d053c8327d1176f548f07bfe0fd028f26f6f6903106a892f0f8a1f7348c9bcfb99280f14d7913d238a3f5bacbd07d443e69e4d8da8ec881c14728c82b64ead6f21b3400db58c8c3a749ab436e852aadb8a896793f59b08ed59c386d7867cc26878e9443ff85c18bc87e0841d6946b4c673de7c838496ee1147d813885e150a2277d9d7db1e1ddf21ba061f6fa018fb2582e6122d1dc4b5ac7ef1d50ac54fa9961f1445f85be92dada9bcd239c1e4bc4d7a201711e3c9292853986cbc78c356e200e66d33423c799179ebd378aa69a8193814c96de389f741ed020c3c14f005bdc12d4de549bb4cb57e322aa1043e0cec6d4235d49a2b2a835682cb2862d41fdd8bacc03da95512b086ee09b2533947561b078760011e3d232feb7061993689893ce0c52933110ac23a7f5f917f326df590928eea6e1cab3e34099b3e553dc2f8ae012b64423b51827002f014b20b54de562375834d5434834be500abd23d83cf8b070b69a1da6303877a66b353e31833fdaf9286903bf2436252ffd39b065c64e459b5dfa733f6cffeae666c30a7d0c36716a5847762e13dc89cf555a648208a7670e2dac95c7dd6d6f1cecd9c6ab600ad92ca6354893669556aff53dfa9c6d69b37f6cdd2c5e564e66fb61ff19b0315c93873d2bf1f49b2566cc085efa4d839b46268e0edd15aeb664a2bb8d061288e58805675142bdfba4fe41118b68e09334d1763b2a4fd985f83f0dec4c3830691c8e1f7cc5d9d204d6380b980679488cdeac5250718f7faa9e3bcc3fd1ecaaa2cb450f563d52fef98930b28ae4fe881134b0e753b3517928d09f13bc3bc7b10be354f499c222b0fd583b6c902783b5c44d1e8c34c3d4ebd02a4006eba540fc88a21e7a852156254aff481471ff75b7421b49de344e829ab367f0518fadfeaeed3f224884ecd95f13f1b4093ecb2df54812859c55c0dd9111c293f219edc7b1a009a6ce5f7a4660cd32655e48047ccb3ef4b396183606389a08c1d825b91bbcc5ee98cdc695bff4cd8e6ffc6831489a4167095f3d9147b59b6d268c59113075eb2ee413c118e067ed3fd754f03a1498b1c6093181d245f62df6847a6821c1bd2f6c6517d0870b0af69b26ff365284413d4e8c152c32c343d2560f6e212a1ea2eed90d4d132ba3afa6bc903619c009d12ea2ff4c8dcd5bf34870bb97fbb01dcca8cf1087ec2d19e3f1e2e48289d746d6035a00cd11f2fdb3d0d33a45a3365cc697a379d5093291437e78269fa16df5b668b653972bc690e67f2b31836d1b181b8785f5a95e543c055330bc622e8cd3ed40657691d5ee314d00e9c625fa2274786f33d133c49aaf0194c7fbb783b25a17d2bb5fdfa8ebcb817ce4242eccde15e14f6a2ead5b731811a1a822e8b1a266c21a38bc29c70a4b5096daa884bc60d1ab3ea76e37f5e46daa30383c0370d1621af8de9f4ef969d2e29a6304e76805b19c4de0b23cddfa89afe5606cd16fb841dae5b83c357ec47f85f9abc84ffacb63affeb0d90d94d2b632175ccd85d9a952d3d17a41c6189375e5e672b8620dd4b81bc0dbe95bb355ba19993966103991811c07ad608b2c222b1a848959420df5f4301dc32e1f5c8ca71b7fd3fa4002ec8fe9ab2c6e398cb43aead43a48dfc045aa1eb3aa7787f9bf7857161e29f29f19449b479cc751bb5636849805d79fc9c12230fef2351a6a007cde8ebbea98b3122cd1d3ff43bbcdbb55131f5769185a63ef66045c6d6c9ee174dc569725506584b797445d7c61effd040c55d62b03bc8f3b2de41eb5eee11286cea4202bdc67fcf77fec051e444dce29a9e23fd34c267c780a4552f50b7c3656b666dd0e1683dc772eae1cf29df5d1c3a06c8ffbce51faf4e7dc83fe366f1d2c83c056adebe95e2d5ab1346acb7657cb164cc06b6e2662e2a6c9d728d67dcd51c5ba7cffa04fca96aa7d55b3bbf41246486707bb3d2c219109c9993bd9d7f586560ae6365d15dcfb5338b10a1fb06ab99e84512605c8d5a506b09048efb0b8823635ccc667485a8f5022ed7b638b7965ed1bf1e2ae3dd999a501cb97ae851f6d36cbd44d7a00e18af370b87d4ddeef9c4890c084533189fcd6d709511f1edeb31b52fa0fdc4734d642e86af14bbd34a11444f0fb073ddcb58b16381f766972136470307176bc8f8c13b46f7cac6b117c5d2ba3ae5cdd944d7aac5ece7de7a3d4e3073559313db24194775dae829a35e65d94aede43901da43b52f8a50b0ef85bfc7cabcdb82753f3c796197f4a54fd7cc1b11af90b7abdd771ef7632b4dafba24f8fc00edddaf55ada60dfdda17e34da8b355d2d5351523d0ee6ff23c46b548d63b3f829897b66ca32cee54dcfea94a043369ebab4cf9309629ed3aceb0b4a487f44fb8e42e229fbce62336f641746c7647b591dc401e000b83f8d641e3fa31cb21bada1afce9aea71d61196022bf263575d1ea41074360924c1620afdc0f876a723d7aff7652b5fbb1c69075610f251e98f9e862b0734a66e7b77b00fb365a41670df62006e940f44e69230376f262999e1d5141f76f5a752392f88a31308873a1bcd09209c3c2c3d754b68492c8a02c5ecfe449b9842cba2159d5cc7dd7558ce74ae77b9265ff825ed2c5d4c3a982888343e6cf7e7939481be40ca9619a270129b0558cef3a1c558b47da022392cc06d3564d1dcbc86bcb2d5bd725f4eb9043a427c09fcdbcc00792e2b92bea676940e6cd410e7cf52343497c2d2b42b623b44ed8ed5066158d89aabfbe48b9e6d4380df4fdebcb4a383f69e1776481c4ce48e2a630faf10f5d1751e8c6e284c4b9324801eaf24114f35e6132de48e1e154bce4b9191592450b6f0c4b2c4f8c5bd0e9ee67136e070789f3a783833244d672ddb5efbb6abe052e9f86de9e46da08bca110cba75b084d7243abd462eac27677448ecdac6fa26e1fd4999368a08c0165cb725824b932f80847bf8a37349409234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4da6d3f77cdabebb35aa82a8fa0cb0b4c48fa7eac287735b60735ddc9537fd213fec13e1ac3b2d4d9ec2889979758902d8394261aad42f2d572479ea4cbb3039c81e3aaa9781ea5680c1f3a56ce2101512e6e98864042e0741143730a6935b4988059cef1583e4bca560ef2c6306a245f36d8e28f2aff8b2f83b1f8b2cfd6218c637880785e133fc146ac8919d8cb900ab5cd05cdbe04ca13b9e6b1be5d22eaa5e12af1dcec0a42bf7d221213a14cbf7544fcf29156adcfa6d31ad5456d8dc1ce36c50cd103ab630f08e275c2a2c16ee7731c564a33e9df36d60b7624d34c5db440772ce8d25823580425aa9641fe7fcb9492f3d88d60b6e80a66d5ca20f7551fc92502938ae2af6af68b9278efc4ebffb4c2ab466ad077ef7105a1cc8c22db9271ff8ce0b240c7c748b8a29fcc9a35eef2f3502a360e477995a304b256047b38493448458cb40888d81c23e030f269c347a25ca0da8b3c6dfe877bd749ff6adab59d6718ccaf4bb74251ffb879a61d150e5d9d294923e95dfe5331f7af75f07ba0f451e8d20c3e7f26ba250115fcc0d773e3b9276c1c2fa9f41a40f4a824529989bc86e5a222c49ad5b491abcf90503aaf182ba7a0f1468d8650f669758e34d74445297d7486e43fef64e2e771df99f46037b16af34f84b62d5d9bc2629e088156ac0de1ccec72c8617212e415b36314cab9c498380eaec9bf058d90ccf46ae31bf313a8cf2b4d9f7aacb7e3dee0f66f9fae50ecbf0db1c6b6992a64a21f20621c882c3060a462ca97a1ec3bc37c98842ff5231fcaa8651ca81f14f5db164fe1e20740c54b1d46729f622e1ef14918dd679e639f9b7216a0b8c6a84f796f63ddfd564ef9c5b33bba3f736569bf8ad9559350b17e204508e3ddaccf03a549e79afd0b945a97a5b2d01f98b2220e826040bb59fa5114bbe73ee62b1499b68e657d5261bc7735aab0262c83a14caed2f8e3bb4b58887edb40ea947d79e49cc787fc1dca75eeae1c7d2ac13a5c2868f79c6f9506fccb67bc19242adf4b469ad40b30d1abccda0002ee98fc2c111b66ae27a9caf05eca4b31c2a129206bbe45848f6e37f4f41e4e3f3123e3f0a0c01c3dbb96e759f1f4e5298271d45aaf51232059942cce319ea5012b957dacaef8ac4aad37d13a540180b39845c9f14762b2de71bc8c59a905fe4af9a88b8e95369494d6415d90431f6e5ce123c9266432803d6dc2e240a88b86b21aaf7fc09dfab3e428546c6025bddd1534c335bb3e7803a2b094fbbca6205b5013d6ff60dca5221322a4f3231b6b15ab1df36cd104f4a3159db9fce998e8836df210af28fead64f1c42a9c6d07a2cbdcb6cc855ddd85665575a076a618e741142f9483e9de6886f542b141b60745dc9472a55387905bf9022c9963f0138136059643ad3f9ac0cb482f5a0773518929993f9eb3edeb741c49fa2c0ffa326f1f08956105ce52181114d49417554f4536312a748ea99a60b7f8c88d2e5e735ede86a597fda49377f8212820454e6e152443ebfba5b4dc2fe227ea5819ab0bd538767db0d40e6da6b1bdbef5be614e5d504f232f6001a9a8567dd1728c9cf2dcbe42d836afbabd7b4f79a964e418130a52442366d766ee44145d293befdfd897d46ccdb42a79dde32383258c1ffa1230763c5f5ffd7413caca5ffceb18143d9a831ba9d600a91114d459c0eeb97f1f1b1da191998d656013f4e8c6d438dad69717e8ca0e48405848fd6e87b74ecc91fa474be2a5731b363e0aacf8096e2e0268963b645f2afedc5501bfabb71108aa1544bf3c3ca73efe476df3d20a742bb82d9f5fa5b7033b19d4197b958f6d853be13530c2bced20329af46adc1906da1b1c43323b59d153b001ae3f647d3028634d9ee086f38aee0eab7ef210eb7968af61adb7d3091ed206efbca5ca4810a3222637faae3b54d757f8777ecda7f70097607468ec855cda3cc254d97b0b4f74a99bad64519984d3f2f3919094377478cb516cc159cf6e8a2edd7b03c9f5af71a2f6d7c3922d3163d33bc478ff9179f331d057a892a5196087efe850adf84d978a79c1f5d320e48384440d1a5b946490dfe6591256c2417c791271d2b755872731887f77a7778e16be8a564fcf41122b45058714342bce4c1f1118c42923b50b0c1237da27fae7177f3b6682a955c9dced93f9f310a481dfc04471e557a29b2812f68cbf79cfb67ca5f555181997b95cedf55368fc034d8b7af761c63666e247bfb84849cfaad3ae70cf243efad2676a48e2ed4b4a46ca4d6fd4698621249d7a7663652612bbc24ae471bfc36176d55a7e47ce84af196cf2bda867dc1ae8da41391265f6b77fccab696736da4f0f7b30d358dbe49e4d5c29c0b0d0d7d317ae43013b749f7faac15291fb80d91f345d852856b87922f3930b4f885c68efd2be618fa99a104080871949d208db04bc32297abae2e3647ac395790e9e032ff3cd3015aefdfd3bcf8a3d8674215da59302ef97c0fa32ff124446f27d0461c9704a858e3edfd2c00bed9d52bd08a80bc2393ed4ad5ebdd366550453d35a3cbce531b46394686bc531db56353626cea2e2f0b1b4b6acdd505ab42bfa3ba031853dcbfe048c8d023c1833039554688f83c0879ef336f643d7c72c520c80efe80197eb506e8faacd9bbf39185802c9e59bacce64590e968072f0d9a028d0175b57813f8825949f391b3c3e89148f2bd43c8faf6eeaec3ab5c292363830bd00d8a861492f4c92d9f6a134c7720ccbe97e978652406889ae86172522b12c07f8bbb9257697579cb38b926237b765ba3a6e14a5798ab3d2f47cb7949c9f647fd0b2e702e0e3783bfba609bda5731916f936d6bd7df71727ddc35b5cfb904b22a1f94bfa7d9b784dea39c7a48da184d94274d2a948777bda57e4fad4031e31943f3645330cd38add75282f1843083c6b860de0448e65656582dd6fc38bdce8c828d38a55da2d40aac04237c5075322f39a6aeaeb1693a64465459087efb74347944ae420488c0d92e141e0cf36d5c75c5b6aefe4b05da61daea25387894552ec6f256e8dde345b3d8ad68f1aafd848f62f5ebefb094209fd034c8407bc28dd04e8219f792eb3cc132c9fc4a0e0d7cea1ce29a668d2d4d5413d61326cce97b5ef8713cd709c5935f2e39d69d25b93a47fecf2f4671cb7af4c152d5f172b5bc2c544bacad778fc6fe1e6b8e6832999cdc453fe67d7d027fdb052e00466b1f866761d29b2ea841b80008e6d92b281f4d00c5c52941b1e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855f94cb9e7a46077d83f96b74e21127a95a0c254a128b87ce3cd152a1a4a45105df651fee436e45726bd9a413f6f36262517c7a9e10ca75a5d1fb2258108c6976ade161399697fe762aad7a7c21f062c6ee1db2aea2007f38d38c8e9214c8078d0423525d388150b0dc086c1cae9a98966d7cb56b6aff3d79746ef8acccd7c4b59742cdf9af8c07531f400bfd679aef16e63988716708557b550e8423989cf7885b3fdf6085941b6325e44084dc85ebadda8ebff742c060f66667471930ff520b4269ede2286cf585d46567d0ffe7ff67422f95432d72af6204fd9e41a8e0d5efdf32445e1e4be72a3c086bae2806d8d7018cacb0408f42e89f822590807e50be5f97879475c8679c5787c21bd6628b062964d78c48a32a7d8631d839ca84cdff1cc5c829e9d104b577d091a9d77b3749742aafc4b071091a68cc5fc08dcb7ac9d76459ff35162dfbf3eb6fe11a089d0661ad1f6e084000395aa37b715986c1aee4d755d0fd4dbcdfde5c732df23adde96c10750b868134e40c1ff5cf820ccc705a655103fff1497c84b99450db54ab3cf285f8c832910629ecb97e8f9ef9dcfb859f73340065b4cca494334ce5c6044182ad3ec30b639fc15c54fc30358559efa817aaf6a2d6eba19b3632b0a333e8a23515261a2e927ed26e175a52abd437d9517d2bdc1f66f3de2190fc5bc4472cb097db7325cdd85e7f436af653b1c08f8fa554da24893614eae65dc3c95f8873e2c991f0878c653510b9e77eccc324bba37a8edc55b71ca7fabf01a4a9b4750f67831b3302e17fa1388992a58c3fea6720cc501af46daf974b71522080209cdccd0e3dcac662c748d7826f442d0e4c3574a606bee74126e38f8dceceb014b5d7ab34045d3ac426f37aa459b12f91b7afda18f101ace5fe025897ff28e296bb83363bf0230a0ca5833d4bf5a3b809413abd627a0cd1b918b4b8f93166a98f96306867a6539abc816ee06db90c50b0460baf869803bab8c68219eb93d366a063158cce6a1cc56f46c5c2dd4b973ed5e0d981978aaae513f35ce5c622aec9ea6393a81ec72bb25feccfeefd290e36a865acc9fe2943c29c026f4e29fc543128cf1571a8e3834f0c94d0047eb8be5364906436652ab4c5fde70e08ed0a67feb27ea29b2419224d640aa918d075bf6e70c30d665ce5bbf303543d74c7eb2c40364e3c3f03fad3698f6dadd673c25cc6dc07b4a7ee1346fed302e5fb73a10545f4efc3de551e999189e2a49fbf6e9f701e1ae69d0dd980ad2f8f3b0d17b7b51cfb1bd06fea5b1e17ca9ad8ed048c5d3d66c19a2f7fb7e169454173417df306b925d19f023cdbaefa608989d528b4cec8416fe31784429b1e3e346daf7bcd6119fb29ce7ae1043d022444be3fdd1a007d191313c575ed31e8b01f998508388c2127825b7fb152450e8763fc69996c1d3d6edf10bfae33c5dc02d631a8cfd0ecb0766c3d0aa722b778df3c0d9f47b020f14f983756f44deef307ff7990b12a9d0303ad46b9032537392d430ee7d54c93459908ac481e08ccc6dd61ee60c61fcb089b65351c64328e0fc6b15dba38056a078d9c740b089f2beb89d11ada801578a17f0278b6f77c9cf5004fc19723381da1d48bb001367fefce7d171d85267c081e194636c9a53aaf1ea52fcd42a0706a114181fcb01ca8805e0047f75ac1641aa90605e1cb8728b75f6c911d11c9450bc24c12c88cc174b86ae1d1b12c39d0fddb1fa9b4de2d18d4ebfd7d38f839206243673b15be2df63ce38656dd2eab951cd02238e1815763fe6d0bcc0890f71ee930f7e91d9c29e5fc8ae0b29964c93ccfc6a8b33934f4a9d758c02b93254893b88eec97cdd3f105ba9a8bf8233ad6a5e4d57c3a8bcbd43eb1ee7daad8500587d60b756748682afa7d5080264f9d778677f04548f0ebed7ca92de1d745912c3a7170836b8ffe9f7f3c7b31c05ca039aae8a80e8ad8270cc99dca264f0292d4ff4dbc9c905837fb1b497dc7e86dca745dd40be76c204b011d4261957dd85f17032431aacd7182f04350c624c7ba8ad79cc375b4bb3aa9f67928dc373a9366881df5be30f4c8a880473d75fe45373251d0b012ce4c1cf06b5ed3d8ff865ec08a076ddbdd8da4aba01907e80f2e7cb6309387f7ae0c5b175e742d571e4a6b26f3dba5e62c7d7e04ca18a278e72b05fc2b1da1788c408cf9d4a4ed6febb9c1f5ceeab1e81075c7b4db208dea06f2ed1df3cc8a3fa27adfff32b1eb4b9c7f9c6e173fc4f6e2cf80ac7c8b1a276fa724dc6716cca89ce7e46dc29df9135b43fb059203c29fb5445457cf1a1ca5beeb305909dfeae22dccc2561005b68e207c0dab94c376086995674e535cc603f2a4b638ea4831dc58affa03be410d2d21b97118ccfa7572fdd982103f858fba7ffb9292310410b8005a23f0ec9b9804316cdd53fe8a306a9a5aaeab7f917c0a4232d3aab1635891e9a7029dae5b60465b7d8f0070274757a2e145e65d3b9c64632cb5f2e642bb34f3f89d94195f7ea30e995237aafa8be2453cd5e5ec3be172b453f21f51e05cd052d388fe22467a6c46c8a14b8527256ad6d1eff0365142f5a359bbf8cbdf04932a2f9a1adb7eac5b1f3d1e0fc698d296625630efa62188a934507ac9cbf8a711b46d957c2eddd46d7251641fc132067b16978850dfdd340850d2a84c6ee394d3e48648149929dd1f3a9691a334b2052e443fa645a137642d1e6bb4f4fb25160f68ba90e8395cb8eccf6f988db92b9196e10ccef16feac6f2e4f94484ee437d50076fd155a044a099ccf42a0d53f55458dd81bb7563ac81b2580b9412103b27bee9bf069971b9fb23857aa1f3878ee7fb21a8e7fc373922cd0c00b925b12d4f6b59414cc54420a6610419a1e280b55e18c90132aedb2c0a6ff9b5db9ba7c60a27e954fbb2423c4b2a8580226a5f739fc934e5fa285872397cbdb033ef0083fc58fcd86fa50f5fca0c1d5bad7f669abee0cc86041ed1b2667d2858d5dfa8391de3331d82e40da2cdc39a95c09eb77fa60beba4fc9d7532f45458dae5574f7264338fea2cd5e6e3058c05823d28b30a594baedc5356da35c80fef4b1af51d45ca86530565c26ef721eceab2a6ea7481b4f2527e2202049443c959a91cd092b67319995e949fe00f167e17ea6b02e291df82ff15f1ddbd8e593563a18034bd0dac53ab1b93bd31d0453fa17d92656f9a94ddd7d45ba8c000dc3d6905d2a96fc52ec72b601a83758e590ba45340daaa095a2ac19e9183da15bbe914cb35b3ff4cb301c39a0705c8b784ec3226ed6e1a5a50ec953ee2fa296c4ab893c01549f73337d78bb7efe694462dbe7d9bf5c0031902dd081694215453f5766ec1c8700ec2f9c6658dc40d63d2609fb1ccd05bd8ba35aa83458740b750bd9169914ea23883864d076368d062fbebf156c74bb8932712bc67b84c71760fcbd6c2f3f7207d61791f97406e59efeb90d071c82492f56a386ee54ab8c5ed6a08f90008fe6345857bd4ce723cb7a0bba229506c5dc7e923c8fc4f23a01d8b3a4be0981cc17527f3b7004b5b2f1b7717d2aea8b084cbb2c5fb1ee815dd4312fd986c79f8541bcb34ce4c710ce30795216be25ce86d90acdd53f2bb37eceb60411b117f70414fb93af757c50d3ecc74719f69c684e7fa11c60605da1b81faaacddd7f7611605747e65de92929d5651abba664e1b21dbd32becd56f2f3b27f12bab57c0f2f5e9f9a61c81e5b6cf1ff65008fa4a9f0cdbf6f63dacca23a7236ccebee4cb80d45ae9c616b0d2a2db7a7fac37e1524e3b65331a0037156aaa03f032c9222f9151ab0d67d4333d50ab38a5f0cbee480f12af63d4f02f324ce7043611ca452c4121d0696cf6bf8a8391b9e9ac83156306e833c34404274b36fc676e5df3e6881b934875de64261c81af09a1e3903aad1b07c0396443f30ea727e5b46f3f221551b6af2e018a5e06657f67d3ca029ce578e66fbdfcf3b19224b77361c6da602860c40905c959a0e0ae3c19d84df76c6b752e5f14daf474f91548959e32bf89bbea6918c9bb4499b638c2e29fc4ef9faf973bf183ad2dc700dd70549186c961e7bb6ac5e68a5dd1d1f1beaed7fb7140a64f68e0841d1085e7b6632ade7289e0d706540cb39e46c3c28b7b4cbaeb70d1d46a228ba33b8efe2c3bd9b192cd3ad8bc67f1d9f656212e401ec4343f679a93913acdf5e9cf66a2479937c6fb85cb69513cdb02f849e3bd5f047c5e8faef19c1af6d1dfa30f615a52f387e3c3fa9ae1ee1f90d6283129ea84d1671671d6c90640860a213b0c50579dec037b45e5ce37baa5114f99f2166ce02a334092fa47256deb3e38375352461b158d27a3fcfba85d0a8f85c69fb1e3c3c8a29c1670666684d64c1d56658848179c65e998dab51bcbad5468842d554b4aeef07f725b541b67d0c3f0d6a433c7d4bbb2c9123da13ee0cd47e029be9405171b60075a730e84916817dc881c8c8f90cfd4a6ea4fdb9f95f3b1f73643284eee09271f7983a04069537ad0ef49f81caa4f4196c111060ce6a3076998fa555986bf441712a612667f771cb41c6f6c2160f43cbb8d4281dddd3fb13b5770ae100e32fb7dfa4e17746cb41162b6bad12bf828e2850d530bef9fdc0409bf3ffa62f289dec0228053fedc6bfc21db7296f4bc925e4efadad30f2660fce480b2f87cd70ff8773d01032fe066b317a11aefa1d4771c550c3913b362db3a0b4eee2bd31b88f4a1111240b6fa6f6b48d9bb5d109e93eaa925e702ae3d8f6feaa069ac10e52c556f5dac4be4c7b631fca5fe932411bdc70020c9e311a1cc9747dfdb409bd0527b257d0a5b41c3574e40c4958265c98ecf4cd7ea8b0e23a940aaa515667681612a86a8b27f5408c86061147ac42add7bbf281b2d1a96be2c45ddb04c01c4db677c890d6b0d1e978550e9b7fb19bc7020048951e022bb9ba2f07fb74523c3d5bcdd26cff48587f883e87b66b09039bf678bc9a691cfc707ebb25753de3a37a815c55a871f3f3f5eef5f13a9dc33529a08c2c79c182713dd77d5d3570be3fd8674e316f5f0ff2d92fbfccde2ef14ee67854217fa2b59ee4dbcd22a37d70243818b82ca373fb93ea322945b4881dce3e2c5e3beb9b5dc6e3db8056d41da92244b7249bceb40abf9f35ebb2146f4cfb61c84eea976188394f6764a11381d72bc0e052dbeae330c4db04bb0ee984a3e751c561094ddeb6d0596840d08d5d04f0c20ea333ffc7ef973b2a9eb5888c5e38c32fe593a42b2e04a1400d7dc77c6255c2c70a131cfe8c5c618fb3e29bcd1e111a9990585d83e474338d34d842c0bb121d1ad36a129c649c64c2fb57cfcd41d953f1028dc59997ed610ba7c0d907a60907cbc460fa2d78317c30ee0bf2d5809f88ca0b0d5b778fc9d1d8dcdae9e62bd85962ea721a718ba755ad0bb961eb796d8c34bf98285381f550c53d4c3607acd4c806de0bc016eba9afe6748d34a887bdd32ab18f2777ad3ebc2169a3c7b33cfb770fe9a5db33b4d1f9ffa0ceb0f0c1a5a3bbda94d5b43cfaf9edce5eb87f0b27094aab1337336192568e16b110f43424061b166238c15715e44fe2989f21a3a6aa4f7921104e427d1e7a19e60d29cbc5a64f1a03464d9d5feb019fa092f423d44f763e3fed7d7c85b9c39327ba5ec653dfabcba2386c388f8cdec4d87a672d49078c840dcad1e938aa61bd68da6cdf0ab45033c1f6ff27e8ceee8003d17f81a137eb947e769be31f1a6d5e7fdaa1ded63f3160cd59bd03c77ea5835b96dd3b44b115dcd4c5fda0ea9cc34eafb9955248e7bb4897e7ffab6ea9590e20a5f58abfc933a32ed7a877a7000e6b8948e7f5a9e0b2d3703e45ba8036166a48d0c409536d9c58f623f3c53087f6714ab2f2140368af5cd15d8ee3dfd7802b16c9838c207bfb3d002f8304a5970a4cc2f11c4b45e3330c9e9df554e3fa7cba85135ee579db7825db2304d8f91a2201fcfc570606c506aa27dea6a6a2ff056e28cf946cab8db96c48745653c20f64bc8f84ade9f31aa0955e23208031c08e0082678fc43febd319892ea5f2526244f15368749c1e5b694e101b458d4e5401c540fef0cafe697a7e0e02d16da3ea6f554c70d87778550a28a6f002dbdcd1030deaed2d7f173bec6a4ec8d44b503f361154ec4d836961e4d450990e9ab8339d86df38bfa4fe70e9709474e230551c751c5a711047ed1b17483a037e17bc9eb8da3259cc984b18fa9f2e9d8d86c4c06b7ee186733608b96bdfb3223f0066e65b2d2f219e9e23e7657d6028ca7e48ed672a2eafb80d633797b18bd5782ba93de36f5f1ac929b657baebbc3e1ff67ceca96d07bfd721536a9702c9ab1207c0066b522014384179af17d648019b424ac2d01d7923fbfc265de2f7d118b5f4c177b8ac825e92031844e963796782c472670c51c2ed3a04dd02706bc54f16f1a58fdac06331da3e337c054ea268ad1f7589fb5cfef82435df1652eca9df79081f2ac578268631a841ab33e77a67e91f5cb969ca1bfe5f0798229c66b0c4e22ad4baab9db1d63eb5b41559faba9804705002dd2ffe82e18cf6a233ea1cf503716d50d1d304a01f7bd20109d8f399525aae25748d15482e4d856addad2d928fe63cc6f52a23b5198a8b14c27538726e5ef21b2cc100796c2fd9ba1f50b4a4697134671fbd7bce1b9e80e3656b65e1b0cb2eac0a5e1b333ebfafdcc991d62e53e4cd7c1821df7e1bff6f310f70f610aef1b325e6860ba203f6907bf7a3bf23c30d231f3f355e4a1405f06d845aeb8c0c11adde447690c72e80ecf518ac95d365c70e243d5db31d3e2310b22d3cfd5d507cd9ccc243703d918c9b2768fa8580835863125b1c2c4cd848d166fb83f91b0be522bb2f9625fc7163487e8ea21bb53164faac20bfb4165f3c2267c199b75ad78a39f249597e2db015e9a564d7609a1cc256cc355c5cc4d9ee292ce35d37623dc8b0ba4c5e1b1aa78ee0b6324cecfe53a5b493a62a5cfda579a3602dbb0891fed8e46534cf4c7e7eed8b7360b79b4990de24555382bd4a22fc2ea4aac72ed4c2aedb89f195fee0243ffe6db71a19cbb626fb267fe104af843eb742f2b2998689b12c71f29ded714970570c1d28552ef383f8c88693a762a483955d01fedc9489fe7c04567ab22de40177ea514b2b61fadc14af27e2d2ae86aa11bd27c5870a3488565dcad8acca171beb340b104d0d3eaf7ebecc69280304155877e020dfd75bee40bc0360960507cb0c0360b608290654a53d55302f995f205685b587e99af8b5d3b78a8a5ccabeb8b50c3bd91842e2f6f1f0694fed9ad91f62684a8df434c12f2c65ba5c9c148dfc352af41e6ccec7ecbf0cd5ba55922075b8e61650602b53c09a04e45205184df8c35faa886b6d551fef82919dd981eaaaca747597c4b44a3ce1138d264ecec9ce1f5bc2f388e8e7447a59883cd4a3095ff616bec658ce286e0ab165279843cbe9942d43732fc97a6302a5d60a2235646d725e186be8c6df407edcacfbfbf4d06545dd1ce13478afd230a223bd71d7f4b520f97d2c9f55b345d0957a3dcd07d62de9789ce31106ad37e646ac3c8eb185e10ad99de4112857d142ef6ee019b365c6338a6466cc241fb68a91080e6d5db2f84dc25cbb61d418948844f03d77c46bdad49a5d069e5f6de17871e9b754d959f4e0421c9538d5b3f1142fd2f30256213a7d8769a0df7be537a716450d3154ba2fec5e76af71707f23d636f5dcb7d21689b9a44017c59fa5a23b3357d9540a8943e675ef1e879bea225e0785aba75f4367213e6d10f868d3bf4d583ddb2abfa330d9737ca027e08516573c72ff41e7318d2480cb22820664187a8fa4495db21cbbd310f90f54f2617e7e5573d8fc2185821a610a04a643f5fabfd1247f3e37b3da8ffa1fb829f72b66cf723db4af71540c4caf23ba4b15f68895ba60f9f7bec920ab92f3c8a25a84eaa8ed5e085c8996a8ea5c42ec325a60765d2c5ce113917e1ed91b7a16d9c36fadfc0c4521b6b636fa574aee8f470e77123cf271e77f307b6891e5ad66a940c8d09cee478a6c9952a51472b3e581697a352406036c4a4c5b3eb419e7ac8439e09fb28f0ad919069adf15452467d73d90cecef6c93ae466a624d16573bfc07350ba5c8f3565b609098e10a9f031194b4c922afecc867793a64d8b8a588cf45e75c88fd19de63a199a89b20763c24d1043ceb259233246417d69b4c538b4a259a8d9c28790801d09baf24c1e14b40126b7f1a45551cb136814dfd820655ed430021f10ae5a85ade06ed3aacf644d8a7ff24d8d50464df55dd76737940abe91277467f7e358aac52097a9448521f8561d429d321d827415802294443bfe1ed848ba8315b347ce146a9dd87cb7cca7563fcf401877e7a2302bc3169a83c7ff14023a98bed7b00b0181a929d5cf57a4a79d0986c1f3aca8355495b3221e2598a26be67a9273d159c1d79c9daa6df100b6b711c59905e3796d7ae977b5ebc34828b1fdddbee77ece804139cf71fd7a5a3e8f5a70e8403ca4b3d4ef2d768ad26d2cd25cc91884b8498cc3c760248b7ca8ea92f217ca536c7a9c7aad2982b0da2edb05b00e986dc25b46d646e1f3ca84e482002219a44bb9d1915ab7ad8d7eb6869a75b83b7127f0adc8ce2c0aebfdddafc2ad1a5dc6cbc93be6c9eabda74a4c1f916294bf3c450449d508ae15ab7fce96a0543b3220bfa7a5bba5f6d90e2413bf06d2438c49f6b46b6631690fcd8d5c73e322685c93acb017aa852a79026ee3e94dbe0d5bce56e851048247340dcce157d5907c95311aa5f327e8cd42b67161de49127b292cb5adf23df025190acc6f205c227059c1c39936c281cf1d7819c3bb1c57e3c745869a8907e5b7a2cd0f9f78cf6cd2a5d6c5bd1cd6f66e5221231b5a0755e55858972df74a552a80acb69be613fb07a52a462fd50ddd57384ec0af9da56ac4bdcc7e465c066bb037a06fd2744b71fb5039095756b1245a6469c780e9f1ef44e218540b9ea50f1b95d880a89866398d945d4b9fe798b004b26258912457bfd69bc54b44553cd9c7f05f8e2afc9ebe6e7288956807db9612943c060e3e073d2f7e439f54b3fa282cd3221917745c08cc39f4ca4caf37cd00f0d564daac9554970140d9fafc2086e70d74e65f57d603c839a3bc3bedf1db9c079f4bed420d5828546ad9d17b03070c01063f94f8a4b6124331fcf97fbbcd4b45da563aaf8709e1b9c951bd836314f8a71f469cb0f6ee71fb9e561df407b9a84ac2c17b953fddf28b6b0754b93626b29297cba5acd20949ad590bfbc1c4eb039f48f84d613da6426c2b229eb1a9426aec24d1221c6b1c52cfab38c1d05ca58774cfaaa530bb3c5e7ae0c91717f1a579da2f36648d41794f11bb509ecfba7194e3f1c2e2f4caf21f548eec2f0838f8a93d8fa966ded380ee3b4471235ef136d04395ec6815400c65f911c693eda76667495f0a7f1a972ddcaac3e3b41642923d840504fde06d4029e7c62a56acc0a98fecc89313859f7cdf491b218fd74832ae6a6d85a162bb8c80caa00b75944112662464e6087cf91d7d60607b7c7cf800420796e01a3f2c70688d5ec650a062d7564f27a89f90f91bb3c21efde241b555e74e07867db8fb7624489a66ff531f3a1ce458fd501ea05f2db053c81837c50843118cd4c02038687fd7d8573d0ef973abedbc7c3ca6e69209e31a73a87d6f480f69a075f062201e43b0965c00b9fb081b8df19518c3a0b7b799204615f675cd52ddd4c4f9710545cb0b1166f3beb8cd7746cb12e3b7dc29848d81a056f42f626c7ec5e2c1fd1ae1d8ab092153dd7119861cef13c8ca772b39f05411583cbdca49c355d8a082ffa9a17369d5ffd0c04b1de7f1989ff2a96675c88582e0a4c8313f9c0e770c4be609008393ab2cc107885adbd15c6be53b8a7edf5ca22cfbdfd27170b817434ffb6b7df9a0b36101667d38c711dc08d565e98f80eae436ba3ec7cb0fe9ffc9879402249c49c0df40981751fd46817aa2f01f7d90fc2427ec2edc2b4c511182ec22e489370046a0d9c876e4e8535975ffb32b836f3510c7b5df451c2149489740e093d79d945be2ced7686541cabe5fd9e0cd1653cfc13c55b813966407fd90665a1d944c9825bc529df915263ce98c406e8b10242d17c8443c8d211cce41483cb77caad7da0691eaf4e4c1d6916e45bb23dced4b13e75b6d14f4aa3384fcfada45c98de27b74b819df63df2367fdab1957dc659ee59870b3ee54e23467facab14d281547dc7ce75507577b0c4bbc4c2edea4f0084d38b1a696c2a4365a258b773b9d3b964c8efff29f68a3236fc52c1b9469ea855f4edbdec3b994e72ab81a153911439d9055367f4a304ccff0f9b879e788b817aa7d64aa18fd5edec4bf943fd8050eb3f56b2d60cb49bb8dbc0e4df922ccbfb93a9f91a09b473a8beca7ee763675903a22fc74383dbc2084256da490f7e9c48c340c9715b0dac11802a8fda058998fadcc47ffb2f4c0e2f8507f42729cda56ced9741da8d32c11756984503ec683f77e1154d03fadce304a081431541843e64de6135470bed9b4dba38699309db890b6c660af2886b4c086bba8a8140810960aacf2ded971a471d8456416567ec813b7b3e46652a7ddb5e71903e152c9e88f36fc46aefbfa8de0e8ad0b5808f1b61c454d3bf5b06836617d0ff3b67ccc22696be836d451e4b1d2c7539667a0102ccae8e1f2b00fa9cb96249f2c9e9b67b425bf0e26430dc09c72caa68f5236d766a942e6c0f82f427ddeb1920a93ffb30c9a260b3f0aa0e6a5b4f6f6ee97b9f0edc412503c1df01bb21baef23f720e10e44ac5c48be9fc23a0370105dc1ffacf2435be178b6eee4e4359de9b5a9ddbe859f39b3598f159cddd2887d3030514e28cd311bf8a7f2480ea852ed9f040c303001b80ea3892fc6e1db16fd9ab5f54e446699f40079ce33e890a944271d818ab5a7b56d0c4b3d22d534267dd78c660b64c90fac480e3602bf320cc2dee19d5c50f83e1e8b7355682c9eb4cc87fd754a701cdcbb3a51956fd243efff5b25ffe77109efe470a6b4a0e899a9beaf14cc5338709bcfca37fbc617cd24eb397f50d7ddfed83ae5d48cf6bf7e93c37e57761853b8d501b7713422830b097a86e872593e0aad8a5bee4fce0376231c4ceddc30afb2cb7a21d35cab751f0d6561d1620b8373a028f14c67d76b9596f9ad286fd75a011d7e10bd66d3483368483990715094b6bc7139d441bb808dff052552c22b22f8ac81aa9736e4d54f79dd6ccb59166abe4c162411d10b06122293ca702074d27ef43cc7603cbe17504efaa8a755910521f955536051463017f0d484797a3d7ed00af355b44b1dbfa44a702ec359744da2cc58e10aec81cf75a69c3584b8383d7e797a862c0acb32c852db993ac17e6bc649af1b65e29d6846059111c6ef652a3e343884bcade4c786976329c2796d21a7ccb1af90ea7560137c548ce7e37766dbf0e747e2d8e25efcf98c1b341b9d0edf3d9d5e389ad0f6f39ae8c3cf63c741a8f4ae57533ddd536c5c8136b3d1e970137ba6c1687ce6c74834362ce4613511ae38ba0859e3756e1ccd5a669c719a4d766f324e0cd4de9ce66f1fc09ef15532555f1dccf7ede91a06150e0288dec9f7cdee731be25eb2edaf43c13a005685e2af419b532e6ea3e07e930b557d2caf9e44fab40fd392e6fd22361f07f609a80022f3aee26ff1a98d4808910d7ab95f9f28b05d61986a480e22f5abd271b4b144e37fc61c60893d1c0553a068a56bf4ba3f22b777609ff867c0b977525d13ed0748e5ea5be3123952e12ca5647bcdc74f7179de4718e9abd9ef668c56e95aa83e34e3e02f9d75a34d2cc5baa1ced604a5096bb54ee7e0e045ee1973b92f090583f3b6f8f13de6ed04a1d9e85422c373e53b32b0982304b93728bfd2b9a49c4a23dc7a1a95bb73f8d07502cf1a6f66c630ffe37938b39c88576a9b1bf7c96416c3cd32d4c0ae2ac2646eb0e3f23a82969d87220f543156f50627f780738bba74dc2c2467ea8619ec908029de3783cd5423d2ee084608b36f04ecf65cadb4397a079a63801599c447c36de542c639faa76c052ec1d7196e7b42dacb7f06b6c5eb5a9d1e576cfb979ed5e8d83367cd132b39901a272952520ea2a625cda47c0f74fa30f11879924b5dc8fd9490b157b7ecfc8d6a3141bc88e458f7c8fdb81f1fe21a6d47a6ecb9059b999fdcc436a76ba5f32e96f9267eb0658e5fac2392e0f311fcf3a2754c9931e0b82ae86048c55d4e450ce4dc3fc43ae80e1f7c6b2b9bb835b0c503f31327d17b4371dcf3dd0144bad623347f07f4970e41c421774755c89e523fd41f611c7b077d1992b0eb2a4fbae602c917a6390b5835a5a745abe4df9ee51f2fca9e950fc41259fe9043e9772b2ed1abce0a979b46bcf3eab43464c25492659c8c2e5d67982660c67eccc9313807e16e7eda03199eba65e0c179c28026a6c4e4a2cdeedd67a7e92608a7458d6948e0054c4521d913ba8983ca5404acbc0b877b93285c52e54d8f49123588444b7d94ad1dc4dfe8065a4cff014c7e0d2f9450437ce19c4f2520e37759451551fa49f4f4bf8a664a84cd6f0dab8976786f78ea34510127b692edb224ad1f2c41c6a464318068f7959875355364e320abd70208196c7581f5f32acd8b48490a6212420f7ad4853e6184a4730e4cfd18a1ba68b0464ffbab9ac4458076a3c2eb38fb82e5f811d147771a12e40b132cd2961109b81ed591d17f8503fd184a1cadd2f0dace6c8c8509d5162dfc96150928f48bd573b55b1b8f46d24120e87e4347d2644fc68fe61f53baae4e833d065fbaf832a4b7dafe3ae407921a9e12353494226832e7bb184ea508a98f8f9d06966ddb1ab05f5626e3641af9e2e533abef564f02fb7ef6be703595c1f47da9a9e84683439ccfecac21d748f46d1e1f940aeab95238de89e49ea64614bb8d5a7447692d4bc132dd9525a708ffa9616363b8d5f840d1ebcc75da44a4a484ce38cccd3224c68b5ddd478481b78bdbef5a280fc1af09ecc5eec7db19247ce2672932007988fae0a70d60c0f43b05959c9f1cd7eb93fd1081a1eab98f766175197fcca9585742b0ffdaf596f0d939a033121442ec525e24e944ecabcc48168410d54b4f6895acaf763dca32a13c08afbcb6c5d67d61cab8f3382a38ed9ab5db0996ed5017f1baf1d20fe83067079a56d48f2dd811dcbeb7904b3f4e581880695ae3774ca34276158f5814fadb0e529920647f0eb35dc82e490d96461abd23bbf2da522822948455413a345f9ef8ac7a7f81c6126584b3c964b1a54c24a12ce2c0f283661121974436cdb09ae91822497458072f5f97447c5d7245ee3b42b2e5df950a01ce7c2374db7b971a5a4304646d5a4e9ccfa76395eedd864107295503e102ea339e0fd4496204c697bdd5c1b1a35864dfefe504a990782ce66804d000472b3c601978fa9bd98dcf3b2750d608c684dc52dd1aa0eb7e562185c822e79d362de4f9f76a1a7016e1529a01d88a7da9552140f666c6a94772459b97034550179063bb5d020d3211a2547a14bb7a20e47f753d3cad416b6746928388cd2fdaded61933655a00df5386de39856a98bb68854f8e47888091ec7c661b060f00f5cb1c92cfe832faf91da739e447745937b543eb5b504a61877aca5223fbf8f03613a6b000e20eb275d9b8081c8059bc540481a303ce722d42f331703052c0d2ab8fe14b4e5dfcc45fcbd5feb5016b0a729b6ba92caa52b069e2bfb40dfccf983dce09e3ee0f570f3bcc969d4bab8c1f3d4572ecf3b5da7f936d0b6ca981303acc042195061225039c080c900169b231ab343c7e9ec6530864ea48e0940e8a6e8861eaaaf90853a685fa803c4e039166060a3c921c8d79001e3ce58256300b4972317a540dfde857553323ac54b01af491a20b7745debc9624e513d8e60ff8a83f42bba7c1cfb2825e4dda8092c764f5dc6c42ace857d512c86205c765ff735641e7eede7f06ed9b7358e945774926614dc42712071def1fcd6c510d64c70323025dfde469539ca3b925c5707e72d0d1ce2fe020bd18184009934bf845389fc4ea3871dc8007e7b0fdbc0b8fc539564d884222d1e5bd1323c592936e5519f8b8a417005b3f1d9e4ad326c4e20164f63c6d4ddd80740d132e14c9e8a38c2afdda6dd245653ed2876c5c142cb78a402ae1a225c88cd6785c40c52b8ef5efeb3f25ae47ce03ba892f5caf77631b1257715fc12de72c21e61db17e4399dea777f6bac2a71aeb642ad0e6e7f3538dd74827269287339369eeb92a5f00f03b08d1faa1cf3d1a37ffc87924e8007431040bee05caba1f5c39d7a5ee4a4a0d8878c49953810b178449937e995710cd85e3be17089ef45a6c5331657a2c24f6bb1e8ce1d1c9e0f5dac9cbee55e72ccaf796a4710f33bb525e7406c87b44aad21d83498c3a7c87735049490ba02f2daaa6c9d80cc8c9c9b9b6164656397a704ee384515a4325315992e61dd957f0fa91f3858fe7c079de59f56edded51de86716ef40c102b1701970c7b0c34e6633d8a0ea1c89e7527252fcb07e63074221d7a5a95272343633b138abb330736b59ed95690c05ebec8aa80e6b9c293a4e3decd5f2ca4aec1cf71a49c5754c716dae18f9f02aa8e7c74f726f5f87c587e24139c6ca9e365296a6b66747cbebdcf76972b8cce7aab91e55bf4ab1f3581df9c2a857d11a8415a18e7a6ccf23640cf9bddf245a5f90c43b3014d08d3ae19faf9527d7b26fc15cfa914dc6e03d976570242ea37377491f3619ab287e6169025df66471e4defa1966d41eff6295259cd5212293d921af029329a5a3d15f4fe15db8ef98c260c8865603a742eae2e2a07336a2adba6380f582f2b3ecb1e70afb20cf42aecbc2617e2da3450034bf5c04e5b48d767ba7ad12498f7440c885afbcd58fd114a3e888c88970515d73484f51551fc664d163f156d7279186ecbf6b18bf870fe0335d9a95e12a332cd257a65d6d3435aaba4dc51bb698aeabef06bc7db0bd99cc27ce3a2873b39493bb7073642828b86af0aec0cf2706952a394d3da37fe8f57538678630bc09544e71e07777ae97831dbfd42a6b84035bf719f80cd3f625b7c30c0f72fef406b449596e61b95b58677d4f606f86b28aa4b3a52bd8fbf3f94710dfc6f122a6fb9e57005567bfb3490094fd57e49774d2c3f484820d3b8de50e075a8efe067cb8280ac5226624a0fd334bbb36c5353b53ee5ef4a9aa699d8d76bf1865f0ddba5c80877463ad6650d7fee66931486956a07884f53deaa13e2b88f848ed2cb9d4d9691684ce27333f4632fd897469b5ef12622fb48b243d80810c7273fd75b14e5e029619af15bf176f5c676bf3ac0cf71ec7de9e1b3586acd196b4651b81b4b3becf80f762bbf3d34a8a2d48c10b0987af13dafcdedebc22afd5cdabc01dac0a3e9731ac16353210a615ca44e85b6ec9eafd2e79206e0b26c768814d01cabe26b9b2c8ee27feb00b21af889aef6e66098033fd1ea388da642aa7386347afe4eae6830df7e33e700a3e78e26825535c87a86ce4c3cac6a98ed48b0376234b056fde83883d0e9730951be202c3644e4d5075b83b2fec4b8517a6f761b6f5075ea4a9b8d487ae0819a0850b858687ba242ae7f74afe0731eb76a55f6cd9410cbf61fd6c5103e8685f65afa20270cdf9cd067c908036ee722e77aae6d9c7f1ca98f275aafe3c5533d274aec702ea6029f8036bdb577b0c53e08f7d97f337bb07156b16607394e8caa771764ca5cbd2ce06e0fffe9622c0ee7d16b81cccc5e8a9a7ad608a04f242530345694bd7150bd73315513284142b6a39ba4b789cbb406d7438e4c8e90e1e0f03d4c9a199faaa1a0939a7c9b59b2674d892d57ff4f1e1fae2bd5c63f32b23cd028bca626a869479163db363a4cd7a1aebe88fb7651cd173c294dacf2ab7fd1e8937c098d34cbd08d3d6adb3f654b4255f289c086a1e0d967fd7c4963a25b81975857d7fca812c24c6cd0f49f9dcc839e842aa09bdbf34cba5d10fd6fed612d6d7d8096f38e2e1d2993af5f25ee4423c1db1ea69a53e8edded83a6934f34882f0461f05b96f2bef663db1f3a355cbc181c9bac1ac496b3bcc37452f0caa104b2205a8a19dde0196a7791988b3b74e23c2174c1e5cca0ba1e1a55cfa1e853e326eaf4a69f48c1d0caf2d3724ee41917fff042ca6c4e7415dc58cd4e35581fcf3874ae0f50b0f9dbbbb2f7ea3044ce2e1bca741a6601257db0dbcf5623e2aa7fc4e0ea81ae7608bd43b56d98b444be203205cda4a88df04139500a43e68fe9c469af5f6c672e50531951bba2a5952ee2d833b80b2cba6faa5749f84248b3e73894fb6731dc558af01f8f5a626d8f44ba6fad469770c0899ba44a3545c5e137ead0f121480c1d6d3851c8d481f1d6822e39a4cc60d515267e0d66e7e1bf222dd2f6316d93cecb7161a58e89b821fa0e88d027d2b66a1dd18c4e5c39422b86ffe6b588960921c2b166bd80e9f629f282f1e3e384be07c068e57721f18ef78dd4bbaacceb0ed18cf4f44ba873d4e262b741316b1e98b5e9860dad1bc2406b372de5c6bbc56b110eee9089581a19d01b884adb0d166991fa849426c181037576ff149e88ec0d710ce34beb7f3c53393244fede07fbfce816a4246c742f43898720cd9a1c2827450770fb4820558148b77d4a184367667a5aea0b72f8782e2f0548e0ee73eda13fea8ed57567f7237a872719493ac7481006999ad81df54ce2f8973d784ae6e2a1552ea6c042e16e9c0b9a60ba18fa9fae96474cc9c4ecf7fe722b34ddc4dbcf0dea7b4b2ed7a212f8cacc94a09cbf95a903a6f5c020de628d0a32e33cd307000dd09c8edb50eedab9f96127986e4be3323ca879b3d4aa50507352a39bc1678b5b931768271a7442c74d60073255e15920830a38872dd133848ff42759dd30a2024fde61517073a21834704b5b89ed0a328c93bb55fd41a5f13919aaaca0bd7ec949d9efc2bb2d8d90305ae5d364caa7320ecdbdb46f80c188fe3dbbb5b38fb464b4e6d9db5790db4385b9f84f86116b006fb153f7e9672dffb89e7227ac3354293a4b0792f1566717fcbe98436873bac1c976a3c699fabc5c0d7b477aa9f133128af324a95a09ac798f3132cfa5a16d1d7551f5a1a8d34d86bcde5b04aac2fca5205b58a5a4802671f29d4fd4508b81842ce88cd04cc55a2b73dae089634bd2b2ce43f792e0d2f72cc3810b9c8e2707f3fe0bf80bd45130f6007ce7c3ecec96a4285adb340317ee0ac037c58a7f76d9045ecda1931c125dbda11a03a3b954447da11a7d163e4f56dcd8b99879483e7fb69f1d336c40461066922d2868b91acdcb52ad523a7a68aba40e9205b22812496f31fa17dc923423a66a389d9eb91cb878662722eba30162b148354c3a3e66b24c0cf9586adea6621025faae129c4b9a58484caf37abc49aa5f29971daac89ee00c87d1b945c902a44f24d239a3ea1df6a2e05a176af36f2476ea995313c2729bc4c88d136666b79085ac3db00e48e9735900e98dee905a4fb1e162f4055327b5c87660136bfe42fb789f7dbebce796ec6630bdd5bd55c990c4318bad90742c2e548f02104088eb8f4db0d55bf982b18d29806a90c72f50c0b361ed6fa665b6526fd94ce2b0826e230115aa5d73279f74f7213a9fa3fdd5cc3b915b4ef5b60be46a505be3394bed11d6ededd76bd4b830ef7b09ccd4382b9b3d07ae50c2e407509ca6a1859d2194c7006696662f014ee5a71514f5d9d3690ba0d54f5ab5dae33682d786284961d7de79c4edffe28a1c01a3490ceb20811df1cfe5954b13d9aae5496cf022cd8bebf128f578caea3851cec11203f7a8ae6fab747d0e31aba4d58707428fd27c618a3630266b5fd94d4b8068c8b372f1703cb54e62c87b5e605acdb8edae624b831f825e09051b1de1edfcbc4946af4780401e1d023239bb456c78416b04a42d2a7e12b468040416c85624e7f99c742c785010a0df5f1ece5ac7f73f7867c90e7d72026c6500dcd948eea5bea83988add5ab266e4c682713d393787ae83cfe6ba699d87ae7c59e139d37c40474febcf1f2990e087d4ba35fdc2849ae172543023eb240e3fb7fff84c42ab276dbb0355f1cfd6bdd1f0401b34e33f9b405fe0c13552ebcc55bc40802529cfe9a3b1808088283096c4e6d70d57754e2a9d03c2e862bd9b3845a09bbd5bf0caf33eed8c2df58157aea57792b65159f4696943ae98dde48630a55ac6118863c7f93157124f147234906f43caeb64d19636ce9453eae6b2ca47230f87ef5e3da7bdc72b9e7a0dffb12c6b2323693f25069acaf1a869086550cc0712f88e6d210cd144681031b1b1ef442ad258c7fe242e5b4638be18d735cb240e335072fe8a23fe3052ad832462b5234b263ac35981fac667e110d199ef9ad638599e61570f03d237fa741fc3cdfa60ab451d4f0bdf8fafc22ef66cd909942225b5b5a726d42515a8b147db902d522cd8eae37375f806d7284152c5d3991d6810ff44dc8110d5914386cd087f53f79d2b9f38e71eb382d1e4c96bda2aae72db4c84de67cccece3b757e3b6855a1cc533412db184f19ab5103c4dbce7d5cbb9228eb635926f39ce15929b93808e57e35427fda15fdceeb46b8387d08f0102556b01a2754ae28b19d5a0d6720c71755cd674c780831f3cbf345c9bb7b68b2fa841cf9ed1d8204ac05ebefb5ad1983deaead2cd5c71a960b4837d22946dc9d3b60f0750f3d8a53f443439d78b47a43e6c33415e75bf0ec1dcdc729a828215896a1d88d0353de8c4689c54f12f4cc92baadea19c1010f21fcb382ae7f736726620c0f4969ba9476488f65951492ff08050254dbe4ee4149112ae8b4ffcfe0367bb457a73b9a9534bf2ec495e2f7d99e23b1257b0009d69368088e45459755585c934a9e24ebb9f6b71fd27f8d10c2fa9cc4a4d51fe3719166ba49f30d39b362c29bdd27f19cadffdcfefefe5ad35511dd4b8f00d002a1cf08f116bc66dfefb2827a827b8f415e9dec139af8cd48937339af8d4a914a236fce4ab3cf616108851890ca158ab0e8a8ceb89c28cc2d7bbfd7ec377cbdcf51e82c3502a8fd2fb869366b9d7ef8f45f1064d076c9589ea909019de686265ea92369b1e4c8aaab055353ce98a4485167eeb27738d89c83386affd93c2fb0a70046fa60ea0899e3b5e51f80081a44e95b22b4527542a8c7ebfa7df96ebf11a98f1e1f98f2b4a56efede17dd6ca0a8f5992178a899e35d02af5f704b0a5d7790535af471b5e80aaad49dd11cc8ffda61c4882fc48399345011702818437e16306dffb98ec16b62b2aee70551e48d7aaf0f4858182fb584af2a60df13dd117444d5dcf2586bd96a399a98af3e4ab4e1c7cc39324ec6a4e82055cafc705b068d6f877e362b8cf38521862edcfb7e7725821ee55aabda7684d2c5fa6d313ca6dea0a1ea54614c2cd20a756c923a12c056eade4fa898c81677958cdb13dbe80c3d57773cdd9a3b093a4c0f670b023aea301a1e664559ee1ba88ff1ee58557fee5ce27d69784a9ff7aac9daf810226065317dad81887104bc5647daf1b315d7e23133cd3ef1e14b026cb4a0b3d9030c5060baa8a6fa86b16b8816281f68ad0517f1299af5387cdea3518ebe8eb402b62160ba6386d05f5f6e1559beedc540167307473a1fc88f1dd0863b6bc3be1c814c3512e77ad9eb1c8b7a0df03553a679304c53cb767af8ffeef26e3c7f34dd132a67a04c9985187e7392b0a657bb0167f900bbd00e403d313b098683a9114cd7b8cdb9941fe1e1360e8718a8e635ebe6a06978a5ec5d988a82bd9629f52b66d53774f5ef387b2dbf535cf3099ed3bbcfc3bc9b1a62d4e07093960a216eb823704e12e9a6738da157189200ec6c66bb4d36d189104c2ee6e3da1cd82cf09a3f7a61c11fe8d9acb53be3b2f13190467c7653fcfea4611ef3b5fe8b929151afd13d7b84a483d45954cf44b0cb899c994e01ac5672856cb92f1295b7b72744d482e2480dfac1c2c7ca67424702a2e10305073f2e258405ba22e3c69c7416cc3484bc6cda50b73644b78c2769c5a91122a078d822045f872a98d8cf6d0fa0be4dfa530f21d31bc82a742186dc0e1e71ed3943b1e73169ebe91c030bdbded3842eca6734d7dcba1862cf43fefef4918935f80d8be1ce534537439385a0bc072b095fce1d7ceb81ba4c727bca08bca20b71fdb13642af122a7d4b3c76d8e5291c668ed687719ddc54443ba31e287cd1e269cd2e680ff09ed9593a1fe42592f852127079c181f0e54d42eae0ca0c7e4c19b3878cf9b1b70c65c81e3052a62a5923033703d8237e53a0640826fcc7c97f309078b39ce04802310d87a7abd4f3d2eff93162865e9298aa9761ff5d708af47bd8c2a9217d7f5d57b63847ed792e3b2da51186331bb022e32f9908783a7cb8c8c4f0be769140fedb72865093f98689e36ed0a2959777626a70eeb988d1722199fc7e92e6a8dfb7787826bbda017cbbabfa833b9e3925531a4afc45e9b1970a861d6369d2ed71482db72ad082092c11165dc3f8294a8c71d38f790ca511bc898ff643ffcda3e875f8a0b3b7c0d49497cc2d842135b17f4dbc1a4ec8c55bb67647b17210b4194583e046df9b02a53a7ecfc6b195229eead65e4fb6dbd461bef4f51b79476cdb544ea5ceeea7b4d906d907450d2abdb5f06443fa8e1db3944bbe0f5089ca20a649789e59adf477d17806131b682b7912c3c4e2de22a56fd817e12b16992f3c5f2f963cc64c24f958c55a9b3f719114e559446fa316e0fb83e5f547666a6b73e95c6706f3da54f717c75b6721ccad2d49b01da6f59d5d02cc9050da35fbe2b0cf2a943143a85d9e418765f5177dc2924931e55ca65f4978229bb19961222644e62c888f8b4781c238c4aa4c6354ac975603567f56fa0029e51e7f4d18bddc1dd584857aedff51ef3cfb6ad400fed58c0c4a0671d66d0df6319c0e2b4ba11fdb803cb2b9a6246ed159c2a23b3206ed897206b8902eb796c142ac724db8319da5db61aa69465a9b252ea1096b59ad7653f14f2b2fc684c259889bd8fceed9b63f792fea5859a41cea51335ff677181dbecc9f4b4153167999e469070e242a4847265c7d13399335381c9c71fec3722fc62724963d3d1543b6ba0d2ea885e6990447fb8c72061b98d7202cec8a5601a87d9d9186598e771e73efde416d809ce71d90e3a4304671c3bd70de1de6781e3bda32caf3754408887d5202be0bbaf365498d69366284807b90abc934a8227e2328f5db131566494571aef8c99d3b084e82cec4c86f75d1e67eb15f5ee60ede4821ce3956898c5e1185ec592da7a68ebaadc1f6fb9c0f5615f02591acb0bdf32384b067f893a3090cfbd3e656765858a64644e0f62d465e9529185ddafd841c7335eade2dcb8e510a6f66a531f9c123bb7a65ad11e3279db3cfda65a0df2d52fa1ff170e2e63dca68be5ec79b84a94def6368304d38b44b13d198aa0816aee4b7bbd2a47121d7b47d514ed03cd7b5d1f879ff4a4eff3cee1c0e15d7fb1d0647ed5e70a06cf93c27b8be76efcdd288eacbfdd4a25553dab91be84393d4b69f78dc43d81d3653151b54e574c2e705ff2995411a524f92c02f883a3a949ae852ab8a26b3db87e588ddf24c3b2a071a52e9a642cca8a304d80b5ba4c839bbbf2eda48369d8bd9db5090b8df6bf9f69d7be90a75cd7fd012b18319381f8faac79f2eafa693e9211a91a0794e68d7fdb36fd68758f9d821ad1d6abdb97cd3bd396188de2435fdf4c675477e063ba8bc340702bf99be0999dcb86736a9b3564215317ff4bfac3e99881221d64249c156341751bd63643309bfd9b6b63361233dfd8dc472dbda83ce3114d1bb814b7d591d90d564b97a70e187d59d532aafb8259c7acb0a87c70f997e151e7f4d69ee776b6fab66fbcf88e08b065225162edbee234976e2c063d7d9854571f7374f35218ffa1becae5b7b4809e21b074e569f8d68d143242a3c5535f87791261c7bdd195d98b84498392e1ed1c3307399d9c37ae122df7445ee435c92a0f00a85a90cd182748cabb9c061f5c976182c4537c081a9d33b1ded532be29ce7d1ab6f21ce82a8726e2bc2e391d5dd4245b5791abcce02fb10fb24fae6abee0a3ce8a08cea70ee45daa141fdace6d12a6cbaaee9e07161b09fd950ce4c0d698f80a59a3d7ef6744f719de300b26e63eabd9ed36f3855cba328891f83c0944e7dafaeac6b0d4a0af55fae89db85fecf02b8c667e035bca8a7485835804a2da30c64c95736e011e833622e372a4a68abdffb3d0d7afe022287901f7822d1964527cec5380d5e78b5b5294c253cee5432359f651e1c836029c961139094248a1258d4fe38f4d2221b4968179bf7ad1466de93bc4ab9dbcf1991c648402dd9d3006258c65f13409b52b029fef9b2ff6cbe141845cb29d27de79e23a28994fd8c2f08200b7de8f7d16303a80b46eaa1483c46a533541d468e0182d4566ccb812e7b94a5154560fc1b1a558ce8a7eb24d8eb1407f4f3c1ed4ce2cf18b6a365d5034a7cf9bfb1efc9b8a18bfffc8b248c5e8ff537718f736998e1d5dcd1a7ffb8fc1f570726593fd71114f0e2de1bf1ed8eaeeb1903c22fcfadcbfb9d4f7bff3bd08ef2c6fcdcbe238d463fc9178d943f728e8284130b0c9c5f4d5f5e09e35e6a803ab002e68c8bba40ef851a4690017bfac94b9d578cf91d2615f6412360794bc4c17628a1bef13351145544e7c2aae73ab61f7be0d1fe41a564a90bead0ccfa266258f24ab61997f45e88839375c0541d9a81152d57681044b5a4229829971e59950afabbc28788ccb05f4dea72ae3a4900a4c918353342e807c3208d21db1fcd6ebd2228fbc5d6d564190f7da2138de1015c08c160f59e90a50df72baa5e4a17eca40692ccd540702dd4ac88ef3701da609f07d6d5115dfdb473f51f57b061fa50a2c6fbab608e268ee278e4d0c3b4102f1aa27fc740c5b601f3db8245419189826daab749ed01a92f2999c63a3737960943982a9f92ce347ca8c1c1e8bcb25fee72b2d484a0380a545539369436e772f28b1384c76802b13be979a87a221652ebe964bf585a6235bbd1a33ffc9d6befa3db45d40389efa1cf091bea481e286f6cc1da8368d4314525adf6f7ae27b5df2c3efb4c9da8f3311a5812a15c9140e8b14315d7f7695c13a9a2df05af053d3a247e6dc0a61267e6173655b101f53b1688c5aa9354c8490875acc3bb47ce72b63eb5ec7adfbf66380f2550c418432fe47df1ecc0544187831e044d0d5729aba90537d2f390167b4ef46eab949de09eecc1e0295c76de707de9892ed2bc5678e5aaa5fbf74dcaa9e9abe3c0b7633fcb4c9158bf14d6b8961098093fd1b775d51db8829ca82e740606bd10bfaf61866821b163c536e755954275b39de82092db790eab5f89d37bb522268212d75cc9c798f643a95b18cb146802267338d37e8843e9c95093d51971e275a742ef8db39dfdaef0b896c4287507166344f2b51edcccd5f3bb5d0caf0e459135dfff83faee382d3e41031cc7d0316d4bcf466c927974acc0aec849905c510f5054c98056bb2fd026d28463f4317713bb36c073acd5dac662d45b5a9798a42b1d70f8920bf353051fec5c6a83d152e88dd2ca3c6c50a99d89c10c4c2a270ab292755563206ee13e2df9a4bef61397c230087f01fb05b4b6dc6c8f55c4dcea745069b0f5392dcd5fc3f450acf319e2c5b00d66a726aabee5436f4a2c67d357d013e161531384b23027f520c20d1fffcf2a7202b88c51a7c44b6bf2f63149ab71a0b58ae4dc72231c8fcd60d2ca4c48fbff243249be2c40361454bdfd58534855a90d9f8d9629ccaae1c466afba74db4fba324f439c97406979f82902808fd845d06f6945a61bffab87c738cc139bd62e61b1efce652438c4908a984a9108588655698c605467f41344adf8179fe90ca035af71cc356fea2fa2454f0553aad8edba40190c4fbf4a1180a9609324c28085ed718716fe1b903f21deb30e9d2a1ec1d94cddce0ea644f9d333fe4f212e315fe0f3d1d4121095fcd71838c224377a2aedfada43ce0ff1ba720f89d82bc28000c3994a56777e7f39a995f4c6d0ede44eb446096850eb341cd0c4d8504404d259beca37d35fb9d12075551370e388fe8ffbf704430dbc00a8a48e389bca82dfa66511f232c18d338da503790782db18cb358129155507eaee2a6bdcb2d5014a311aca75319f71aa7db3c8e85d331e3ff39f88cf9144a08baf3fd4e93efdf08ea46ef913691544cec56006633a08cacc399d2d355f6022afd735b5c32b5e50acb2ca7a4feb5f3d80fe72fe5ab0ea9cbb26f3efb52068d1924134856247269613e21ae4bcbe74d4637db036ce42b06df7d1bbba292e62132b57dc0b41dc6be3e01b3a5cca26ea4505c318ae6b9ae3b5c05e8bdb575460685bda6d682bda5a1337a930807411216b758b32542ddb76fe0421056fa2911cc7bf375cc745659a8a64fe03a9e2805bb9eb49860f483d9a0abaa75761402a37c66a70d6cce4924d0355c323eab95a3fd1eeaa209813982fc459b1493f32e8e8588cd81ccd146823e2728ea20af131699fceaffc0b0fefde0e5f30a7bcf87a712cdeb5b895660aa3320bc2be9bb77a40dbfe1277be1e7bf472e00a472f2880cbf7441d95ba87ee976015451d8e68dc7188748d022f5adf8195b22bb148c91af3a5a7e43f76ef8e7c8ea7cff557decbf412d55374663177a4427ae03ec7cc9fdede4f102d1b93106957756ff035553d25d7b80588b77e83812f566c31f6c3413864c158d270905190dc1798b86c958bf4edbcc516f999f16a531e3f76fe2333f353a6f5dc37a75a09f746c3636f46418bed291e6334d1b701dc6fc3ae907860adf00a15f5b66184c7441eb7b584fd196af089bfa9eae055a93b8d3aa9f07064514d4108b3bb39e3d3fa2a6129f9e6d776d1dfce884c3d4f836c7cb66be33c3d054fbe568a1fc0e65d97bcfe9513f38ca7f7b1e4873f1cb6e71b62c9cb3688b687a841e1e6d33ea3d23d1e700ba201883886628d3c42bbe9f82279851df86ddba256d0c00e07634b0f0af884a113fe2854fb61bced9b4775681a5f9b378e7075763bfd71968f5193cdbfa2dc967ed4fe10e2a2abb63ddb8b39a8025a5d68e1fadb6909d02de70ef0733569b10ce689800e71bfb270f42ffb6016810ada2f50ca9a887c07557455d729a3e2e59d5182fe1ac08c997d4a6d8714fc791a65664cd031c1490266d680bd4379f71b93836339e216975831ba1c153ac9adaf8230a6659989bd2e664d996b5e70b9720e1a0e89a2681873aaabedd1fb43c3f9046086de12d7fb49c2c62ca3e87c847948fdcb3104ea557ee969dd29a1aa49c6757c666dcd23c9474aa28a6a8ee4216b9cd9bdd49ab9be34f744b7ed164a180912dbfda7a0be51a0ab0a8ccf1548e36c8ff0a8ebc55d8f2c3cda5c522cca47625d310bc4ae2e378fa2b7fc435090c9aaf0e861efaa91ff71d51838a6288559722ade02f511f563664cff3a0ffb01855fda85687affc93eb0656faea47795f4f2f3bfdc8b3c565f52c58b20c6f470c46f9d1633df11683de880d8b9a6e5a3cd762a814103819e8a3d5196e84f1d46e50fddc84515e5e049ab429e9e7d816674b36dd46ec4717ab161824599a66a6e2f42613d556f822d4780b913f0a87cabe96d030c12da5b4876699201cc6abfbfe201e905eaffa65c4c3792cb297937620cbb9b9ffeb4122a3e85073d67a6e680d0a4d2261bffe845e98b0eaf2a3da1936096ecf46d5d521faa6009e0cc6a97baef88ad5d693ceb107fe45c6f31fc5f982444c75fba94d820179d3ecf8e4841da27c90b1f659561f8814d2f47118f650fe54128921e9c1c00498118a83592bc8e5ca2e1f218b9f02974a670a593d8ec985eb544f07fd193820c1d86932dd6232adb706f0c177baaee20687600c2b82a1ab35aa2b0f9c3313982fa6e634ec72396923b1c1bb72ee8d13f27dbccab09b11860af0a73f81af55cf43294ea9f81f7761108c61f9a14731936e88e4d4c2138db35691bd273ffbee4014115e40f06c6bb53663a5ff9f7e989a8a7b023295a3109a75a77154a9cf430bf67dbeb99fa79d5f4a01ae69bd7dafc9803fe41830d26ad564e9db25d64a33ee593db5be67e8dc352549ac9863081e118ad1393d6aa5ca069d14dadfc43cd8c5b9da7b9834bef98e4bd706d2e6fb9d768ed12daf0b5cc90222a82139ed20804b612b15e94da968f9dbbac5c3d1db9d09afa539a19f4e923bfe5235bf3846cad469e7764d1205d6882cbbf548f232214f7daac78135dfb4063b26bd28b5a9bfe89a9a6dbcd1e38d313e045e619374df1ce27e37f521a87b8570c628cd8e2cc5b2eb14599927c9c745d873ee641cf9e20986f39da2a98dd8bd6caad6d699c207cac1251f22c4ccb053860c424a520df639cde3e4e1d0a927d949e9b121b387adaa017943996db18278942bbf56e2cf5ac509df39892d830b015f952a3bab58a5bf40c7783b4a457af722d5e73ed67b27e2de5751fce4132c271623ccbe7ebd40531fbd24ac041f06eb6b124711eeef5b06e300fd88f67cd2335bc4abe2ebcd881163568c35aedb02f05af89144956677699a0c937242ecc1c4e0e862eb34999f32981cb63b0b42ff851b3e45c0aeed01018f67e9d78896d7b1e71b8056d6c8ee7f64938981994cc24d3c7691f08b6912d631a0e8a399d264fd0afd59769071fc8cdabf6f4a27bfd78e3f0e8768385187389f70621ce7a6e69f472ee342ff3e01ef7046d7a51babd5351efa1e43656506abadf699869e4764b11bb249886a86ad4ae00d90c51297f756ea910ebf485d3aef6cf3d98436c2e4d1dba5532d32f049d13be2037b5da9bf5f29d4565ce8c807db3cc90630029da9061c76d50a47bef8fdd4c8c022c0aebd9e4a9aa9c2adfbad60b957b34a2b34074197a24eb5db0a702e9bf565a8c4cf8a6c0f90bb72f3847a5a85f61963e40ab6a39cc283b3bc5ba3d355f77917df709c30c8d97086b8bfe66caef606d176e149114619e6ef84490576b6de2d7f05ec3861fce262d9a6f776ea4c2b07a9d32fa736b15c0637e38d6e32908b041c97807a61f599326336e855b25b6af6a39d0a74bdbd002eb4be30af1f6e6577072ae4c06b7f4b65901f78bc13bb051edce2cf30819cc642dc03c3935914ccbedf171723254fe0b64b958c3fcf9a0910a57034ba577874c365d99c545a622b5dee0bde2e3965b7d0c24cbbaaa29050efde94b660f671592e7cf7623580d89a952e28d45a9da4525d6f98844814d56d29029e92d19f7997717689a5ca574e48d8f49567e0da9b842f2f2cc0957f0d53d011a22a86497de0de7041b763698614af49809c17e82efb08d7c742ce4fbe04d5920c54193175020bf956b4829313481b546755f6c814823be19a0c017cdf0178091c2041971d664f0290d8069865f29e3e254801b408a4c94804522a2f1fb3817e25f772fb2eac5af76a351f7b9dcaf7e9671947374766b561703c754ef345b815ab8a7ddf3381032adfdf1724ba12b389bb84f52c364314971db358938b7215f595498c71b0829e2ef0f0d6b439111e87162411a9ff40f1a686dbcb84e6ea08864027e4b11948ca234f4353c291a90cbd38e6e4dc97e6c745ed4d539ed39aa83685204dc41904214a43b7b5f314c4210e85573f8e44c299cb50f70cf1b72df8779ead235f142cb477e31f0e44e5b677ab7a6913de2ae9b0857cee31b62ac3679fe9d823198aae94d63fb096424f2cdf09229be839e7a2a8c1b3c39f6a15e31211b339e8d4762825ba7300222a5320fa1acc45e18aa607b3415c18f9a425da694708d5534de7fd83786080e7c969fc7449d5ab024fd556327bd211a521d85299251cd1d14fc528bb024e89b31aa135fb545b7f5ecfc0f1c3b86af791d7d6bf26e4afdea2faf6d94cc358ce5c50f24409cbc1ff9ca469f152f41c399a99eb5b339efa4386de7d1af357fdf8eebcf07dd62219b6d508decdf36e72064228b4a1844e0d20f67043b12a53fbd7db1b9d4403554e5ae8fb7b534988ed770751ab0d6f6414ddb494ec5e4a1f2f619dab2a4bfacf9b021041f0a2f0df6937960f5f8b64708c03869e674bd0ea3749a547b1a4c0bc644c98f521aadd392eaba111612709407675c2ddbe09738d6af3ebc9e79800e48a42dee07d05afbc5fa239b1b9d640f68659bda3cbc488e722995c2ffb70f2f4901e12d564bcb2920bb6145c81c29a277e22ceb4375288227a9985f97dfb7b4fd6be35032a4f0de6e77e5edb676483d4467fd38299ab866cee9f3b7cc1835db4a7a2abe56da517c1af9ce0aee5e2c8b63153d41acdc18da0fda763444982abb55134948c0dca29b761a601c5bd598a4c972614edb6c2543038c008bfd81e1db9c53009b5e661719f03c025461a4ecce280545e974b12ce565d6a1126275777f8de8c224f325d67821dde414b3cf020e85051a7723fa437662a591a39d278e65489cd4c90da2ce45e79deff6de213e0984d39fb7d3be7d66d6b39cda24dfb582cd0fef0b784efe0e31def20a9c7ce8fa03a3cbe7cb0a609991da19e838b91592311cd60712c42f3e020846e6f9644f43c3f610dd7beedd02a1420240e57a4deebc635304fdaf5a0716e5c5200e8a62e37a62b51c10a67d0eee7caa953df17bbbacd76f3be8939447b205520988746fd1bef45905c9cf1efb2dbc866b4ead37982fcc3bece0fe1c9723052059b1cf739d39394cb306db8387a0d990131c06c42f2e172f67cea28e469c8911336b09fe2cf580613754ab565fd41a973038720424e04a72f92f8dc82a43a8fd185244fad5aa9d937df8433ddcc15924878d2d6c319a5df3822b5e879df02b7896ca9bc4877dc8d2b5adec82fbaf6780ab36f8bc7b71cafaf9b5d59cef86750bcb276eca53a35472b4fb06ee1cdcf3a363e3f5b6ed07c2dbd757021ac2a7e6235f1207c0badf723fc89e27c478afe5ce8982c5d334f14fe1b49c076ab3a68a99140b27f285acceb01734eb708aec69d26962538549825a0d3175de875e86b93e29a46cf2c17afdb9ee6334c9d9ae57b60bb27a734412ff16e399ccaab07f81b58553a6e5b0709c12953393f48f78c1270c7c13c2d42f0c98d7049259fad463162ec551c0de89cbc4b76a25be8c0443e0b140518b3f2f4a087bd6baeb6294b10ea07e168c3d95154ef26631a0afd0af0a21ef61dd3cbd501cb14dfaaf76e0b3cd1e0e97f180d9beec1e648395869f0f44c5fa16b6d95c0f8f849b7f99d15eb3b06aab7050e56f058896f0914e13fb3956e693909f967df365f2c1d16f85d93c491dbb5b1df08598f1789c9b083b6163d488e699d5191c2985a2866b1f90397e1b9b35f4be69450a6e28890251ad7328369da357723a070d1f5a2430efad1a4c524daac22a705d98f7dbdd1a8a54c5d9385f9bd189c12f6f5d79c146e3bcd290fa6c7791e76f886898af5a3a9cdad0fb78d6de6bc2f8a723b16a4579e122e3a3db2ebbd1f9516d6a0a9b22366f8d912793a3a093d345966e3958f447456324a9227921b0bd6c71b3e7b859ec5cb9c59f65c1eab41852e605a6be8fbec66b293eba39662dc664c094962a730d661c0db9e00d003ed9dedca1f324ebfb3d286d57b0f581d88e81b13a86fca000f290913bf707ebaa00371541d9ec012efa05d94969d5a25b0fb47d1578695818facf7288a8731053dc4602fa2b4d0bd4e43d976e15f731a61d482e9bd43ec2f4ab24e137878bf7d57db09b5f96109d8b5979dd31779d4018dd25fb2b655333cd32f417d7979a4950964853040d4e5960a480b54411e7ed43508887591f286a6daff86064c8241a346b3bbfaee2ad41593875b15f702866ce16d3b973e9b337fcc45585bdad670dde851aafbd4c0323a8c6bb1faf95d9f652252d280d676b02a34f41d055bce2f7c39bd2607f9991d04ae448f4e7f2316cd27dcb8625be811cb2e96b7ae9b478186469ee1167b415aa13b142bb93c23f02ff6387a056c39a9908f2cef4cafaa469ea964ee9aba8ca96e8587dfe90745d80f68ff56418a7f7c63166d0c0909c61b333cdf70aaab60ee6c2a3999318b655b2b61a07bbc28ab614506a2be83c4ea281b9b8879aae3125f121eb17dbf9540681180faefa2691312dcf8cb0c02433a7dc58b2b3cee379e05a713003ecb63d3b1ee767194689f196efc43c9a4365030ebe992d035e0ce23fc87f5766f0c6756845b17b71a378fd73ddc9d16c2cee7b4e497e1f29aaceef840e8f17e5bb79a75d96cd74c49f606c0e0aa192bfa7959b95b9dc55d136b46e30c2babdafc5d8a156f0965447860d6b753718dfc3728d592e858b3789a8f6a3421f98973246e36316b539b5ce3557f69ada699b6997f51a32c5280691ecfe59ae4dbe0a2c29695e21cc5fa974aa6c5b9748180a99c192177ee344d17310071714edcec7360d68c9f50720d0c1ced43b2e4274bbf360db1a7d4f54633464f89b02fa970ce1c141ae06859f355652fe50f1a5efb51125c4c234cd797571f51c5a7093682e0a24f9a43fca95f6fc8936a0e50f1a400a3adb1bcdb25d336646e3529afd66238d1acc298dbf9a624778ff517bb8e0554574e25bbffe4356376d8a072ec629f4b29801459107b2e5589310aa9337eb3fd5da8d531099e66dcb749630ddf11e5073a2d92f94af51d340f9e2d7c63fbc10f6a5802d84f548132754590615ec1d12ce6cfe0730f5f4591125e4ffed0e941b291d6a8741e34f4f72adf8012f6e2f1d967864acaa44308af1cfdad311e6009c1edc3520658361c9e9e0bfac0bd66c9e1f38dc0a19259d8d451ce50c773ce3de997f17e7f5a41e84bb56a1b4b7f0931a7bbb515eb5292dde549d7303e546c7cf6a0c448c6008b84151a10a4ae427a57052742dc9bda6a84b6eca4bb2b7ccf6827902b9cf98805ecebd48312d0df35fe4417258f8b4302785564fb04e2be6a173b5183b0e0b641f939c8885010af0d64a289444baa70e33d530d415cdd7f688af92171b93cd0177ae41cc0db1b1e5373930870d4458071c9c2c22070367bf4b31d27210c3b87c56bf3c49ff91086f6f7f202df292d0a103f02234208b4e1cf400c6ea930891d8433666c96cc18dfb00456d8508aad617c6374bf2a9f1abeedee8b2a8e67297003592305e3c4757e3dfa374f6428d7e51300d4165fa1cfc8ee3640304b7c6797f2bb86bcdb9fbcb51824b4b0a9df5ca74e164b5106f8d42b70e09da9779631ea8317dcf42db9142447df18e3d2b6b179687235aa6ddd021f99152dbc731af6ce2cd000e8fa722dbd04a0fb28975ca262ab5a111564b09af10b50c66b788bd70192d45908537617ba10a9af693d6b00014ba84bdb55674067108508e7b3452d75c4e0b1be52eeb4fe800e531986bf24032c6b8b148c667c51b9a70714ed74591281ac916951f1b28d94dc336aa640f2710fc038fdb5ed1931257259f174108d6095456f528b7f872442166a95369feade1abcf309fd891bd05c57164e39ab1674f3ab0299ea31668865d40235c75916d7697b941e039624e69f25e4cc325fb4aae8b9abcb998f0b6a0700e547dfbdc901827024cbedcafcda27eeb97a5f69d2dca741f2cf6d4e2963b0ea50f5995ce0fe6a1faa46b3badf45f8807b47248b35fd346e958d18d58e230e2ecde554030e4d409176a71eaa3e03bcb472f86cd20f246c07ca9347db3efa903c311debc5a0ba9f044c71c86b5c0a87e29de6b6ebcf14a9df4cf38fe27c713c7a63f214f8b75d2399b058ee2af7a9e84fb9edeb5b4c095d382da350e3a55e4e9695c001a24a4ba9cb8f2977d41af0f71a19e0d327b3790d43f0bde1b385c7a3bb9c40b40e6f75c724cc898c15c47a3d445eb61d135f7618dc03cde610f08b95d2010af76c3b3609c6e30c693b8856027229c3b0148e96a9e8901081f5276fd0346b36bcddbcb7fdeffcd84db5f6e7834028758560b88308cf232152d514766449b0816a4b918ee6434d950e184ccadee592a680d0398e50a4ff8a9f891225493fd423962d6b199b825df3ada8c51fbe8229f324954aeec9c37a73e269676a0fdec071201f1668f5f12a758fd641a921d802d0c4bff3efe22617f2386947709db78fe0e44e8df4d095169ed432d1d0054e2c0b4302c0cecb480968577e11bfaf0fb11b542b3ade33601830cd10e103583e2e0b9d1116c1bb20d14909824d4af0e66746575beff87acce6badaa643a97dd7ffb4cf760133f0b9a046c45df7b726881a35a6d4ceb4ed16324d6d78c4c9139e9626e25f39887db0f5469b9b27141d98b8da7184f689cf924b7a954c278e39fc9e7ee1757248522fabfb0675c2c04de99ada6e42868647bf77468def0f420efdf62a029df18a95c17c618518253052b4e230514fbf002863c26cab6a54b01c0cb9d36e60278327df983835786bd3e42ad0c0990f890eac46139ebfb17fa2b317a8b3fb5cbfdd35dad9bc1c1a32d908a7fe0400b2335d362eaf619211e2aa87c2f18b2671e8fe2f4525d58463db70d9c502ea503388ff3f61df95f0fa1995822f7e577233f4780726fd4034c06992b73e38c6b0e936a7cc82164b39a87fb9f9b6719daef964e29f23aba514d5566eadb995d6507f7008d77285df51556544f116afc7dd855b50a5288e4faaef73681be8d6e10adf43e3926f097f56b58402b7d67fe6b974ec32ef1e5541fd141a4612cf0ecfc403cf1a4063d2af20f1830ce2ecf50ef309df5add3db85eb8558fbd0f6b0ce9788de56f5c6c21b973d97b2d2b72bf44059f1a5326d3d8864c0c5b2d09a1b748132b9eb4ad98a73219fe2296feaf34d2377a413d0acf2253b306ddc95af9162cff12d38651a444bf7501b1678eb2b3925d9dd80d2aee92a75faa8cc834bf14ea1459ff5aa944b4c1206cac2d989e4b0be61b2f7d1669f7458303392bcebfd745348fb7a448d2f20af607d631387b916da766e02641e43a0d8d24288fec636ac70a8e113faf3919f7593d8562378cbd16e3117211c8cbbd3e0543f7a0d1f61086dad200c6e188880a8ce034dfb8eaeb9b05f2181f5d3007e643b9bcb4f8fc0b51d59375c07fe4674e91d32eeaadf7ca8143e500ef92cd9ef2928d4bc3245ba5e23f59814452c936a56eb38656c8c787e46437a1e0506ca35a1cca34e2f1c85c7537605fa05cf613b06f12e676bd0dbf3b87ec2c51a9f150d352866890576523069911f7921abb478b37f3cc18e4c17462867a7ad02b21c21111e893ebdb6e7d0311766487f208e7e80596c583e9fdac2a2d29ccf3a048ed1e1f51bfafe935530b1cf2ab6821dfd6cb1aa6b787d8997ece53e3094766b82725628460c9aa1c615ba41e17c2508245bb2fbdbced5b311001cfde794f9e6400a226bca22c19cc2ef93c23279531f4c2099260e10dd2b9222621e33ae8df3ff22f0a862a6b57dfbddd025e1d14a9312e1f97c02e204872ed667bb3322b5f1767045727ce5acc1e30216cb1c39804f44b88842a4c29bd9c78e647be78a6eb3a2e42478376c82d589448a6bfc5f24a53c08e5f3ae1b608936797f489b30c159c9c93f601eb057896409999e26b3d0fb818f1704ae4e8337eaf1595d99aea66b5a16fa62cb6e69dd8dad3e22722d0a86207411ad930e3a44a32ea5df2febbebc750260a5571885679f1e440df22532eb6f7c3c1a521e6e15dbb729b612568d1996561c85bc8696cd9a71d02e838711ee47391bb5c4b7b3c4d098e7b861a97a1eb333cefa743b7498dce5d1a7b32432e70cbb46782d85a2693ec324ef1968a9ba80160e4ca4523033f71733cf5d126eb1cea5644f32ca1ed51d36a98b34b9a72b1d94dbe431eb3a2dd2c351bc5411ffd9a9fa6d7c747b0864e217af664604eb7215f25d27e3b7a9f6af3bdedfacf36330f568d591dc3cd83c6259939a1a0cb6be502da32456694c72a0874da7669f1178cdddb00682dfdff0bbf89a2007078eb532e825b62925071b2180f4943ec2c3ba47a2365d71d1f3fdfcbc78c7a01fb5f18635f3ad46b0d07dd57d73964c12a637cf84579b116f6f16ccd8474445b2976b489e10bc5cf11d0cdc4818d49f61fae1a35eee660d1d3c61b98489cc00b1684c071e565cd3b7188feaf06b902dd360836b77709bc8d4c528417a2a612f24b810c0eb060e88aaf2a0d8431551578c11fe9d7fbcba11994f68e0ffb109b04187e8ed7ce94a19813b013347b96b861ecf50c75dbbcac39b6e1ffe006942468b4a3c931b5a07a6e5bb9d492dc563f81f49aa7bcb03a9051b6aec5f65228a8acc39b7e473b4ceebe2bf37f5df064a42621fc9c4095fce203c8bf2d31c21501512be847d5758a48e54ba179b91803a2508ae8c034b9271773914322637fe80d60318543aa403704914c3a4113ef96996208571381806f83c8fba5a7e199b7896727403cd32dfd582444a07e287bab52ccf29963c2baafd78b7f493107f53ee20c529b7853398f1526b8a8cb76eb9ccc17ec272097c57a4ca055e521361a5f832b1c2315161860fcdf8be218b1519ebc96dd702f5e37c5ce66540484614c39c6b401780a493ee10ce5745312ec667998fb69fbf8a3ffed95a5458e926a7fb62ad5e58925ed5f6d6cbc800cb083a1f4a3365e91a1830d2ed8dd3e4f196eb76898457dcaff48f339da510196ffabe3689233fcb3849d150b36a6843b295a0dd5030fdd4078c942c596f4e27c47765e500ada061d99690e6603c0b5627e39aa24c0c3c2f2b787e69643e65536549729b6bce5a69ec9a0115e7b39472d1132d7b3e035294ef0b9d0e63e5eae4ab8eb8ff64fdfa734f70c0d02b87f104171db033ec9dc1d0b220b1a8886af87c9110522efd72eda7da300add731c1744725f1863af9fd391de70e731c67123bd486ebe7a3155519c4894f94ec96f310eb93cdc475eb1de36c3ffc2b9664e74e5ea7103040b2708b91f2d560f19939075442e2b008de3a5f324304a30c94452770dfd34fbb8fcc77a270d6f0779c984c1ece4ccbbdeabe88e544dbf5348900991d18477f223f5c70d602712c382a1254600769c255f4cd76bf83048780c6b837cd19ca7d3850a5f0454ca634eaf63ff06da9539c10ed49da532f1f7ded73eda753d9c4084c0a3e38e072a60f109e0292d7e970df787cbe7fad64ef41ea1a994c1b548f26399531ddbf358336eed6bc650242d0e6f8d1b40cc31eac203a6fc1149ba4ba75b822afc15adebb01d83c28db8584309c0aaf7d0aa3c764552f27d9a1f2a4678c81a39eb40eac418254bb5064f1903634a7855c987a42315cf6547803fc6bab11d195bbd57d474f4738becbc13c65e049f1239da9edb54a9b984fdda737f2060114acc32b20ff495958edddff884ad4dac1c88730ee35b4747f9a5f72e2bce22ddf465da4b382f1c272a78da67e83b5487260eb69a184b40cc67dfa5a2541501dc5b00d251290a5525db8b9c8a4d5c3cff78687eb70595b8a83f9425ea7d4d1fdd23ff4f6262990805d79d79cb9e9cff56a7e78ea0d90488a2567786ca8a44222d1bd09724e6c69c9d1a8a48fa6fe66ea2851d066c5af28d7427b2f3dede0074f51cd554db3e5d5f06b2f961361950a68e463bfee18fc13eb90df6e679459a6bc8951273c15a1d24f796cb3654011ea20886acf2d232d3e6d15a27f0df9bb04889b695402d0c45b7ab196f2ec556d6a7e993567f113a627d89604f1155a17c9dce7baf578bc78bcb4cd66883f3b2a15e485a3574a07724762cb94c7d4c1ce7fba4a3984c38e9e2287c8c53dac4fadb73024f17d529b67c428f68ba23f09b8cae213a4fa83db6d26d0adc1878d827a3f1d31f879b4bb162ba1c38005c71eea8a55e69391ba6d447b732cc458d0d3bf54a54029579edd9214460acb5788839fbedd87056d73334af1383ea44521b7a80192018f8fd20ed1e68287871e556a70309d9fb42389e576eda674bb566795e2ce0805fd0ada4f4d3f4d4ad83ecec28cce97b44688bfc7f3ca3a014b913de95e220174fbe253ec1a8a0f67cc62cc83efa577ff72cf6ad23b95fa3ba26b461d55219b6886afd49632ca854238688ba0081b3061c4bc4e587b6746bf759be78b8e5074020366cbfb45c0d9a9f12c0879df948350ac8b6fd1fd6d99421b54a6920423c0ee1101947c29bdce545f63d48e69a0d756619920ccb6564a58821a93c3148d5c0bb85f30f137d4e131c5c7f27604966d4ab84e6eab99b9cdd63fa6f81f0373d220a7589eb6b096530532f87cc7f2762641bd68495ef991d118564b0d6e054b3e6b7958f543e1c0248e9409ba01f41ac0d25911f70bfe6705d611d35131466fac50156e4ffc12a9d2a51a20daa8043853439d02648b2088cd7d681f89707e5328a6a8ee337fec05ac5b3869ddf9aa110a2474b2d22cbddf996b5a497fc2aa42cd05aab7cb8cd03ca33905bc4f77ad9b277a9a1df964284f184f397cc2d637f3051e6f1303710d2e78ddeaabe95098176d222c1114fc84d53f86215d50db77dd769bd80a8ae7d97344c74ba70c2a839cff7ae942be2b1499a34128410ad2ae97af4c425d9d120354bfef428a28e225df449ad7f4cc5542978116e9d9be1026cd3e15f33fdbad00f4ecebe245c36ac33b57d5c2d56e22d17ddf63db595d26652d9978ab9247633b5bf9f0ee57c4b088a734ac42528ce86568892b8d422518be60f54e4d6185193256ee96cd6f441bf8a5e63d96da87c30765d3da4cb2b8beaabc47c63b1ba7edfbe5e557ba4444c6541b056f898cd8676ae65496b9a2f13d83f81fac67befb13ee293f8a94170be7b5551ad95715510913ae2178c2cf55ed12b7348770b4fb1f87a184f6c28c415518b92acda27d75d66e1cafd67381e0ffa955210cef2509b51e54226488d7adb54a47dcf20eee51dca39ed77bf7b079db06f9f48bd481b17b09f5584cdd886ceb8fad66d598c6d25f39c4cf4b453a68cd77d7f6b6acc07a56358a2835b162c905637b18c5a1f426ddbf51f9ea2c9f4647c0cec6ab1edebac09437a46ea8ed7cc701f845b69af352a07191b5b2c5311c83c414d56f50e473a0b4f874ca83d8cbac2095ab9f50dcb7406c61504bc5c53601d7df69c2680fc08d14e30c163f06af5d85690e08e58e2886178ea9612729cc025d2fb030c8d8ae8089a5dd4bbdd49318079b406c87c29a0de9211341506615f2f5a10a9c04f3145b3c5fc303f34ac35dea5b16b725403ab52e8669bdf1d24ade243d158aa2ef9ec4832617e6368e818bc14616035f66e42764bde8be281d38d87ef7f002861fdba55d9af8eefe2bd0f2c2e17851ab4fa48268a1194c770304c7cb28fbe8e28e27c84b9512079a8796256ffdcb7c536f598234f215d06d3fe4b63c8836676bf35e0edfcef966f02b9c8c3d7f1ae9df85a4440a059bb01d6832a6516a7c78b5d971c0fb580ae4e1cf2105e261c30bc4f94b68f7dbc92990433ae2bb630ed2d45c25dcd7c73bda4cc241dae7cf55cee7259e43e0795cc8158fce789cbe511550f9ebeef0e3cd96b8f74eacca1bbf9dd0c02ed38786425d5ad3d98712531b2b4608241a103e02ae09b8b0669114b4b0b14bdeae91dea5fab8607f8775a9629277b1bec5f08959949f03116f5fc343303af1161e00d5b0bbf5398d649502cdf3d7842d2f1606adf6028d735ffb509d018d58d4f520f8a1324910650f2fecd0f05257b124b8172a5f5d4c99459cd340ed6a4e8c23ccc83fdee005c0dfbff6875e074f51c81c52108b568f0f5fee1787ff852bd1b0952a3845b2583115b1a5414a4dbe13469be58cb33af07d30b5ab69b74fb77d177d4bf79e1ca9841c6c447dc7638434461da74e09903682fdc7e4f442d6708de6eb78f212a4aebb8d9f27f4481aeb8b2b0d280e5de38780f56fd7577116cc91f53d34ad6b43320d30ea5620f2f2461808366145febc4686a3d114158873fb5b33383a1181759df3d9390d64b8647b4601b5ad3065318de37708cb7655bb4b0a307043f483331aabd63cb97ece323e9bd9c3f8cb3b198a73ce66777dfdcb415b9ed8baef405b3a99b966e2ce03f57eb87c7238ad3242c6290d02845bfdb10f6f67895e7e4724bafae599d2eef5b632ad399fba01a4726fcedecd8ed898ccc51ba1e12318e346843819c58b32dbcaaf4d6d70e76d6f1fce72f19d9726c7b6e5f3c0e14dad2f67052fd2c1dfee21739589ec0f92b56205c378b147f63a41308091589fc13b5a0d2799cb03b29bba2cce7ddac30357a84e1153fe10ada25e2d74248dfec7a1f81ec2619f7ee34c782c565b73dcb354fbbc3b846ebc7eef8c1fd96958c23cf34d37726f042850900f7072c658a42f87c14feac681463a6ccd341db95459b7c30eb582647095662d1c0259a5f55ef66a7c0bb2115c7d0b19e5a9a1bc01365322efcecb47498d328284bccd58e5ae39a673631eb1f8af1e5219bd42b0fc6e4bead99cffe8d1a29d5043a1fe0fd18d5816e0725907defdcd4011071709aa9ba548928cdcb40398f48852143ef9700a702c9f6b5d39369df559bc08f92aa1b6d156ce3b43358724824e073503bed091d6fe52377f116d7fb8555da1088191ab9878691b19043e69bee546ad434a23712afbd91839546f7c51d21129b1a8b307e159b35b34ec9a0626116f8a6122e250eade75788c0387f5cec8a8a6bd78166b93764961c1a7f1d588253942fd59c3ee8bc168a74a04b11edda1ad103ab30cb41f107f19217e66c2e5d966399cc4add1a93a086421b16d8f3f9deeb97877e3cc093a5defa0418bb4301d07a2b71a17a653585adb958da35a9b221eeb537e901bf1f8d4ea148142116092e6fe5ea2b717565f5a6ca31533b998a340e75b59f41648f59d8c5aa20440403454008c91aae2ff70f295b4f54f4088ddeaf1ab0af0a81c50dfcb1ce4b09e073e54979bebc0d6cfe8210f774d82d23f4f4f40242ec6de70faca3300bff899640435a2514eda63d83c2bb28d3aa2be62c80ae8efecdc7007ed4d79c4acd43789d2c1d5d5a423904b3902a90854b9edb3745e64bc073aa359f810962b8caeda417f21662ce95a71dd0b3d5dc7ec865e098dbad7978bd13d3d49581d3904150097193ca108db28a28ce3e4e29792007343b46c8ee4db0d71440438aa2355a54e5243b5cdb1ecbb1fb781e7ad84428022ed4737e62ccda2d16fd8db845663895f340219e982ef0c83e6005b57ecf78d5ba1d1fd901f2d7c22c41eca055dfc75279805d8506ef6d635182d5cd211a4eca434d1aa0f66720a766ae9965b664ba573feefbce034da1b00e6053d32994ba87ea4d72fffacc5f2e4e986029447cdb31bccb6bc7acc121c4198569e3a943b4fcf4ceaf7b028bd012499dc670e65d894e1152765f29bf40140216dd58065852fffc183640584e0fa182853324f205da6e1d688ce8dc82c90acd5427d6959dbce8f05a9bdbb22e7d349291e65cf58df566740a65a01c861b2f85ad3c9c3738b0e31e53e02db4040590fbc59657e67d45353bd2af702ecafed24b8f62a91e4eb5f7a2fd26385f66b678f30a0891e4bcf5a0837e3db20ed12ccfb650b5a00e37f05b96c01d833c742eab9d45b9b55ca71699d20f7c531500467605c3b619dafc94255a4c8e9c81e3091da649897bc3b8cb35467ff50575bfd609effbeb236013b7ef6b92343622113879d7e189d684f0c55e3d51877f29f9e29c7ae04d9bdecc9bb0bcafd12e38b866b23ad8d5b537e62268d153aee365e81fbeeb788850ebcdbe192eb4457c89dace75408f0c95174f594557d1a2778b584fb9f456cf784fd9d5a24555cf05d1858cf376ac7fe3eb20435306d8fb1c879211880a5126e9299a5c159d5ac26d8e6c38d971511c0952afc1e83589d0ff9ff0559a9fdff8b829df043bba6833337220bce627c1a84dd8cfa05ef0976abe713f5e3e206760103d5822fa5a2a39f806d6c7daece0d14950e8b8969e8dd5bcec32ab94269ac95e2910382813d2f9532891855a7513635f1c2a0bca330c4f955e85318024e4712aae2a0c84c65a925f987b1b9c2c18ed236c9761853b0799ff5953d5c87967d43e1b3fbb077018ea4f6e21260db6a0423e7d605e794555604ddf104a24ff9c0ed031b1d90159996d0aa68c986b80eaafb0f245310c89ca4fdd3d59b93213ea6d74949ea070e02e4c69c50b6c74c5ade79844fa3a9630d1b28c8883f8e17e2222e0f60d33f9dc9fdefeae5a59f926209a4cf5b10de8ff1d8a2475a208d135b0c260c9aeba55c7aef9e048f25fab5ea9fcc8166a90fb62aba3ced6395441791596a1b2f06973aef5b3f533fe25f389ae9776808cf61b6e9991f5190e1b1ec29730af46e489a2250c07b50dd09fc73c30de41a8dbdf9155054e293f3fc980c8a703f4f10618ccb530a5bed0dbfb1898f3601ac9572c110f6dc8e6198e02cbb5c509a0ba4fbcf8bc687940b69d3078c1f2540c98dab7a019aac2ca841fd334181faddf619894f3aca055db653b11f23ddb17cdb595f3eaac5d7e37e7d9a83008f25ec4792b89af50fba99854a18710763117141ff08b7a60e6884763ea23922a201947b064f2fbd4b1696797b2fbe7ae8923e2eb1d91607f152aa8370f449fe8d9204893551692039632555a5c4afe98d30b65b87ab94852b0f3c4a63c7a2573b90be2cd6bf110a41239693ab7a117a130ae8d75e50277152d0fb9bca33d1d7e04b37bfe6416213097caf1ca3e8341ff7487f2377cc00becce1d5496fa3266fa2e537826e2297cb146638be4d9960a8be75b26447926e8034d70c9f9ea487dea031568df37334ebb6cc611130e2cbb2f14d90ba87925c09f8aeb61ef01c9af0f6b0a9511dade66bb4eb2cc95716e9975504edf4f510775bd16ead99a03c55b1510e9bc06e5228ef02cb45d910bc58cd56e2c1879191c6d0c67dfcdbb389c05944e43e926c20a2a93448f6ef423a63dd9652ebd08b206cdf96240e250f6df22f53203f7cdc92837ddfdb6de9ed3c1cb0a3003dab9c0165b2d756aa4b0b0b56554f1748d788c6f4710acb3178b341883733140c3aa803b72bcd75f3c0bb6feb16ec7a81c22699966d92fa79d33131fcd62603ca0676a52546c4d635cd89f76a7d57509c5d0dcfe052d9d4087770d35dd4bba0b7b034e94f1bbc8176b602256c3bef263d8c27c644b1743f5a730346ef4c7275cba084ba2fa93c425e4e8a200c87b2baebe9f74bb4b4ac8f3a120f61eb35a419c052d8f93144cbe3f36f1d46ff4243fd55701decd799dda358fe0fa58bf22da59e3af65e93f3b7303f1c225f6fd1e39b68ad9de826893024fd978f71dd2db4cb226a660926ff6206f8b04cba25e0da7532097cf1b0b777d71b8cc0b0cd729daea43fc489fa7dcadb43195c7a38fac32e02508149781e949c98ad1c8b79dc6c9343e75f8c7cfb1a11707b09084c52c50df24024c72a8f1862a820fce8cc693967302c9cc71bbba8ba1fcde886854c8e9644584c572a3657fed47dab18eeee34ba859ed808b0a646c2fb83c05b21db3c0fec91016cd34d84ebe97173aff395781c7ff7343e57429b73bc7c7d0fe0af857509500a5843b341155b92a8e7881764c1bbe40fc4fabc037dfce5ecc8eebf21a828f5a80f3f3fc2b0a81eb75cdc91243ec02f427de5486a7c6554f5f3e3cb4e12b60076416388ece6910bac1fdbe4e50b02618d62954194e773dc52874fc55191272feb3d96303b04615bde0fb89c064e97c8dd8752b003af16dc92e92dfd2054d4eaead81d6e01eb085acc30b947b8afdcdd32de1063034f0258d66ee4e87c86eee08ccc2788aa6b557b044cc6449a5c8b7a9416d3f88d5fd7125b2335e430cd36eb445ed5c16aaf381eb3a2ee5d00826179e978ebb3f39bcaaee1ba6d22ca4cd20ff38786f4e50e374aefb5a84eaf5dc6b5ca1ff3d979f05d57081fb4172a4a1900818b81fdcbfbd2b08d74a86136d457b709b0f8571afb75d19a373267c64c3f4ba768a4352255a6cb21e3d86a425f32c3b7de39a9a30b8b6f3ff9f8a81baf2cf60e4a05b37ae7dd11b805fe0018af6c47a49d839685f2781f00dba7cd66209f60483b1218d9dba88654aa39c3269c25fd6c7d0133530f4f8f266484c49917326f762ff9fab2e6b9174ed91f0b77097e3b3696e848f12b567a0436214b4f9d908819b90b81b8c919eb098dfbc90d4089a431a65387a61d8c302e808f6b9579db6128c5531eddd7085b99a9b937927afbb315baca204ca0720f78ca1b5e4594be67b2409cd78334b647c3fa3fcee0571517fb530282b5b9ef80918cf08ecef5283008bbe7f5c47a4ef587936cd3f1dd9607b1fb0031f3c8bee7f70c9da8d753ffd60278dbf48bdc24e3422187358128382b65cfc73b56bc6c154a3193a05cb7d0e19edba468d5079095405f76faed719d0d0049503226ac663825a7ad255d7c1556a3ff457cb5d521a2e964c5dabbc043cd14ae81b5324645db5bf30c1dd8933d22ad271e97690d683113ead0febd9b8673ecbcce511d9fe33dd7f791db1ab1208bbc67fad897ac36c4717b6e4001117989d5ac3a217550089821a9bf694ae3fa2ce289d85aa17629f63dc2d953be4975e573d8987a3bf127ab45dc3659691db36e0ebaa8a172c9c1e0a9cf0497436a74b2000b4f2f1b4c9d6c05d33c9694424867a23a8e5a833772b39eb5537ed1a7fae4520bdb92a85f610261bd63ab5d097f75143da521b064c08d05a39c4074c69ad6f8e48731975514b98cf3b0a8925e97a084eaecb0e74a8e9ee86925331ef544408c5d0bcfe7c274365f4205a3f50aa92470fe8500ce3e8cca7ec3b9cb874c4d86997ce02e8176e833445ce4338c4e692ac9446888bcedcd3a8beb1c5d57abc50f987dbff91987bf866b1be5e033c46165dfbef4895065893789c425bbd2c13a35b4b24017d213a195e546110356f7ef81ddda8400dbf1402fb16209143891b1aa0164cddb0c12480d0f21b733ba26c1e27f6309cd7798e72f7e034acea76dc4a99df7123a07a057d423956f8913b193bfe3cd60fffd2678b7c14d7e5b54cd67d8b438f75e090662bb58e11b00d3b05a3ead869c6a113ad3b986c9f0b9bd4528eff32634da91ea1b00d64f8398ce4e162de344f98cf588bc6408fccc1c37b847cad235e5347ac449970146309edd0bc2cfcdf50b2845456062b37712904d8be8ce0279063041362a2cbb15c528652efc2bdccf3631d5419f11220fbc5fabc15ed1b11db3c8e14e5bf1b9781cd884a996bf850892528bcc0ce827fedb40d983f589eb452e73b17f9d7f354b6ad5665085533c91efe4ed606f63498dde3a06f1da601a1042b1d1c608a76ea7f78917b5f8de783ff131340550fc838075190bc037d944aa9ff619993d2527e123e4179bb2c3827e6e4acc7f17a84e27eb73360cb119cd652b518f94c38d9129db7e52c2f9468ff0486ec0380cedb9378e6d934e0c99ae52e2ef9fc6489e50ba170528c958dbaf0352cc2f7cef08352a3adcb4367d455e52bd83f349e8759826f24c3dc0ed6ac7f8404bb0af5da140de87f74c4c859f218c305eacaa78f8c9fdd14ede23083ea294659d942586eae0905370ceda9a9cb4d1666a0dbbd8c0ad79bf4a735432a5eff1b5d5a7610eb7f4cc624d9f843cd0263456b18ab714f10593c935d5bbedc6489a8d8a0339b4bafff0f49d9440359dc28dd8612de0948ffb847ed91154c4dcd848a32d58077774c3aad2ecf3c222d83421f91356a1cbc441dff3e141e0bc90f404340ea881e4ea123993cdfee22eae9cb3b6ffbcee9097bea444cf0b85a7080597aed33c68a84f7ad691f6484a0344bc7e745381356b4bfa537e2da0852d8508cd687cb8f094ec884ea408ac5e47ce0cd2926027244b01176e9fa1812481a014b713e109fcc9573682c7250ac0d8fabc8dd55ce5ef4326b39a87c8c32cd837b833a1aa36268a931f809ab1a2113dac0595bc99c0e1b01e43ab5e7d1de72497d6b91d36cfd491fbcaf752c18083ab16a907bd7dab9eb5d13d738c0da34cdd8bffb1d4c98414951b0991986d35829d2053279db0a74ba87ac748040df2e82777305f7e42fe148b8daae9ce1bfca53bb8a289e5acb4d5a67837efc692864edccd344ef759f5c3aaba6e0a13d33ba55151760719289892a4fb66f82eb40fca05bed1c86af5ab1efd66ad409c27964cfe8ac6f26e16db50d26cbf5555180c4f4922f3934b25a4499029dab44c1c2e7703b6ddc075c05c8bd823c08fd7619458aa7041e350f4937636ad5bf3699759978bb98d61465c19ce99ecc1cc37a3f239ece8f8442eef66aa9ab107beb59f2edc414106fe9c7f3dededc1157725dd4453b85a6c8ec499a44b3bc2cfa1ff43ba71e794877d366bd8d7821671157e3774a179885883f6fa07c0558637d60c51dbd8310e1b3dd0d1c86a5f38574eab3d172e591a8476e2f5d29b0652ddc51a82676a0a9fe5fdcb38c85b2aa6db68920d5ce91458c0f6e85d4833f9628b9728d3c7212dcb0a1a098b7c668d6cf21f0ce0cb0798d7892c1b96f26422fac573a7de1f4b843e13ae19b7299962d7c33cee8a12ba8e50c57328f787ef1cdca8f2939e06ece8ee421e46d750582149f0d9e2eebfbcea928ab4ccc35216d78ea8e997cac95b63df1a395152655414ddccb5ccadff7bfba36944705f2b1c8d984613c2baca1ec42c9549e9da30171849caf6a2e4ebb56378e2896a4e90cb6e2fec04ea05e31c871011ef44cb50b3be928e7c2405036243a6f4c265090c44d9b22c3586b9fc84b776f98aad6144a36a8525f971cb19859a7e5538575429fc0b49ccd6b2473db23469f5ea61c320c2929f572badf415f28b1cd70b45b00dcc2c224eb3699ae1c3d88837a0151eede1610e24e8c315a74d848957ba035fbdbc7ae7df0858fbd68cb3fd5b8a0c7cb89cbd7823a805875590711f86206ea6b2d6f7d0f3bae0b5bdedf3a24dd0fe673e92abf97e877d57f6cd0083926a581fe24d67cc63ec5bf76103a9d2bc98cc5754d47539e26054b74c0a0d837332be99c3eec2ba889bf407815c992ef1d8f2965c76733173a3d68a047fe0d3b31b1718259ffd52613a87f6d9cb901b3e2e88cbedb0c952b6c857e643315c735d178dc6a20f596e84325129f116df2d285fa72600ff00c8f44b775cad186d8b7fc1dce5f0ad9576acae3a85ffe6fcc5424e908030f931b4ca44c1d4cb6989cf8e8a818cade7ec9590f9714d15b1a4884d70c5251e14413d4a1cedff9f71f7e056bdcef47218490cdd19928a691f0decfb1cc7854c56173a863a6b88920942d4b73259ea0c73f8fa4e0571de0a419bfd86945124753379d9826b8bcab6cc183da2c3b895ec584be9adac15e011ed6cb9a0e736b02f8d432cbd89a99d067721191b80c2a003545bb25f81432d66569e3d0e6cfc279c4a978b989bf610c2fafc71257d64b5ce2ad5632cc16de62a7be79c5c9091ae43238c75d97ded29521431d5e2ca63bc480f29205eca539a58459063648015b213a84005553c73a9ed94485115daabefbe456e840e9bc7dd62d4f0bd49fc63d0b8ed3f2e34e2948c1e8261cc755d90a9e80c305d8f9d1475d0a1e2bbb1d44cf004bdd754268bd697ad54f10e1cdf088155c55b97578f591a734fd6a262f2436c7463a32765aaa74da9854d6debd44abd41430c79187a9d4c7150dd3d1d65450adff282c2c56577d19950988a789b864017e9d0d949116fe7a7dd0529eee318c0e2daec9aa89613ce9791c680ff8b7a34ba4e20d603f01f81c484f4030e1225b0264281e05b63894bce76a278c4d7ab92c1f304599b8775fc0c9be0a8eca72ae14280d539e9cce22aad667320b27b5c37b74381bb6703a3f55d6192f7f436a288a28b1e63502a0e6d461a7862079ec64af8bb50c44aa23878d6539db38e40d88240dc6aec75119357e22c09117e9cb828bd90898559635a5a92ea3e6fc2342200aded2de23a047b9d1e0c7da67c015b26cf772df6527485c27a1031820fc771fc4d6ba983e090ba1c0b84c1db6d8f46087f70d0c1e41c02c45e8a38fcc2943ada8b096a4aa8ee00512469aef426055207983898aaa6874a15558aef318d7b82194001c0ea80f43b924483bbf60fd7841e467d9a2632298dee2085bbb95af00593386ea94f8b8c98351708eea0d52bd83e197a1e6c5ac15699b39f8463ad5c2846594563e444bd5d60b2d46274054e0f04ded0ec9645faa84f7b072a948dfdb26f6937c5fe174bc85dfe833592483dd173b4bb3f8613c1b8f5f4e6565043612ee18b338d4709f3d528e43f4ba65cd0bf2ef4f2fecae6d88df4bd8de9ca0e76dcba71b71cfdfd7f8296825d6696d214b95eab0ca162eb0913516e249b1a83874e7d52532ff1a3180463cb94d8efb41262ba49c795ae659a8faa4592a4499dc55dbe18f446f7bcee152597d27727f23f697a3deb4ef0b701bf01f3a249fbe3b8f8714893dc217235531b2aa4aa73c520daf3ec07486346bff51ebf61a8b61e80e8b72b5f35f438abc3b1698913c5e7d1f0ccd5f1a1dbc2a3c8f000a6bf039927dcdf5586ed9d217a6392805eebe6237202abe30b424e6a985f429b851c44dca16740133cd175b1f5da5dfe008a05fac833fcb63d6a5008ed3d6d53f32032eb76f85b21c5f5f6596e9ae3b69f5b2930a1c14771227551f5d9cc748ceaaae703bdf8cfdb3fe7316e001cc5e0bde335546aa567504a23bb4710d47f446243c5bb5251a78330cd53ff64df170909156ef94f327ab24d70726b1ba291e2a1dd78c61a95e529e32bb7be88ec7bef36c9a4193f57f7a87bc0f8b9b17b63263d1628595436a851163065e1dc8cb625810a8229d22d1d1f0804f50f4134c764585d2a0def12520a1525cb7a8eac34c05cc705170980a6c69eaf08e9a2789ac7dcd673dbea677b36ddfee9634011d7a0597a335fba7fb19c9e961bedd88f9e96f7425b3ff6a31df24fe168561538959d1e7e8a33ea0cf42aa6d713b0d1c7b3f4e969bc3fee47561766fc504c72ad80ea8688fecdc4be7f6317bb2265a4d1edaf0e961a87317860fd5685901bc45770be458bc323f6aa689742e131ecc0061d25703738d1af8dd6a2560c702718f72ca83f6b6da134274d0d95b26f144f7e83ebf761ddf50b7588196e88a77ff9dc45437c739a496fa0fd9169c55154a8314a1a33c585ad75d65660802c8b0c36603b9b487d7241650de56471984f092a551d367a83be043247b350ea90893d065aa52a46b5f69136304820a062cce658b64cdf0c8c8b62dc9095c5994712557c215707523a54b325e05aab64ce7c0d21dc448fcb056bff7f673b7f49dd95e280fbedfb9cae65704d3e4b48d03bf7632bfb1e9131785e1e7c9ff310b85cc54701a7ef06b36a590e703b01752d5d0b5396984323954e1ed8c9efe73e36c05081f43b79cabc210b3f8411d296f5f30e0a2590b8b0e848ef34fe81adaa17908c5f9c238d786d980cd872dff3a2c5260d2b96b5960600f6cc244847e8f62b86f9999099d1a6583eeaf177be4100d9123398e591124ab5b0f6aaf9a7779b96484bf19bd6cc475f5d10b3f475c02c466a966a1c064a0b629c99465844876c8acfa6b29f6f60ac6d4f9cd0ee8b3b0b61850460edf83b846f7345af9f404f9601ad61819094a448e7cb3c3934d40ca9befa35655565888ee24cd836bcf0b5f817a774645e6299a80c7316a2517b4045eabb51ac35fab5fffcda76ed1aa79b4fb49ce33be8dc351ae734833cca8525786b422dd4d2cec59b9ada29b5933072ea7e56b595a2b364ca8c7cc0df3082f52d6619235e1339b451ce6ebfe86f72010af2fde32606ae100525ac6e3b6c7f987d8a34a02ec32826f09d91fd02599e561feaac1c348e65ae520a77ce03d8ff33980492115e15d44571e53dbd186c219bd2c0503c471e618a9603972552c3e323f083c2b36520ee830f83febc66d41cba678238f1e3fb9f5b73639bdba20a8e128c8de28da6b3daaae0bffc6a7a5da6259cdac66ebf2a4ce3c5f0e591a1796dc1473266c6c9439095bbdf33b4c2ec6ff386216b6b1531e0f2f2c66fc41de049188a8de5ea8dac9fb214fa41b2943780db444e1c38700a7b43c6543f444fc97ae7105e0301b32f8a9d0672bbe066183d730ca7b6dce15ca875f7cf1f345d01c9d9b10a79f1edf028ebe30251c1d1fbd2eef24ee2971baa75bb585c0df5cf3bb3b87f8fd2682d160dacbdf3efbd1719bce199e539be071ea7a31316b9cf4dddd717a17834150979e5a641aec901fc49833d7ac5211a181cd50145f8b555cc01b27dc5b8d7cf272d6a20249523fc1e06242be9dac35efef082d7217b5fa54808626e1d3b8b97e3506c01b9daab3ea8686acec6d0617a276249e58bfa510fed39f1e748d1e83cbf020c6f01dd7a8316d3c9ab264baae4b78407ad0ef3b4d81fb0d921352478d17718212b046628a95b9d35cb81abe605bc76d2d1e3f7adac5962ae5eb1ab44fa7787cb2504c865c1855392d9bb7b35fa004e4e886a02abb18b4cf01d7f311b0d3213d01bfc8ccc4880ab661f50b0950fca1c0dd9cb8d2fc27973b6774e6c7a8f2c117fb1924ae2450a90000befd9eded5825af6fec44f3e415cae58695ed9f187c7308be52aafcef9b96de0b08c78167f3c4beb441497c7f8fd5c1f72070901a699e26a71b46a0a5b2f22951d19727ce56303fa12773856405bdc756b57f190747d033e18d97e9e0cd3677e0668f77cc8b3f67c43e84459c74ae38e900288c7e2eae2b03a7432038659aed6dd61a2912e94a9f0b08ad7b360052be679153ed3e0219d7af747e9d72d4d4f1c5a869232e74dc0d9b4997dba3a6d3c5eca2698e99e0243eee69faa703fed45f1e6938e363573456d72cfc4782d838fdabc6a73dae338e416778e7d17dbea9d61a5ac483803c2f12de68769d4ddc136cec15c97854c4c7379fd0dca8a748af4a065dd88fa421ce35f04c91d4ee04a651ea9dbfabde7970190ac6c50b843909fa46fbe0c0673daf2de7247e8af20c756c55036f6fc8f62f8334838ba290ed021f8a6055a7164567cc8b9b6aed18da6d6085e9e55a4c7a9c654779a91de80b5186ffec8f663e9a42bea1ca80a47ac6361e166c860b481b6779ec29a08cc7f99671df63d8c65f2c38fb51a9fff86410d25c31ad2a5697965631ca449b7f5707701fd4126f23c8929d0bb4cf7f0ddb00c18dc4567f22f402b1565a1c8b99b527fff544c244efc8c08f9e36bf86b6c61c65118c70b7a12ffa8514b3fb2eef3edd59d226f3242308ae61b59bdd858d36d8d18a71fb103f908e4b6b65f55692c86d91afbb0747d3cfdef576409d86b888464bdbe3524305f8def6706222ccb7d63cdc234dd88ebcdf9bc6f4cbbbc488b60f44706c89942754e7f6b4ef68b68048ba28e2bce1befaef5b732e0e44ddade8efb0a44bed4e1dcfc9a99ccf8dbad358086b309ef8345b7229e9f7600f60d79d1172a759327aaa15e32f18238c0dc59062267d17da837251d8942892a2b045ef3429a986ce4527942b8823f6a258bca389f0723621cf0447cc4d30306beca7ab6089d9e29d687c36f0800b434da309989821bcc14f2abf63969d57f74ee57680e9b1f285bdbdcfa8da2d9f700e5d5303f9c7749d8c9cf075a390e4825fcbec7e8d9b12324c8e072ae593242c5da3836b8bd3aad76c4abd4dcb85cc7c4396323fb4b305c8b00792b6284907d0f63bf99e1750ff82d67318f23222de8eff713a8cca205e0a0299696b40d0fd5420d72fdfb5674207a4f5e7f08e0ce822505867019a608a870f88487aca4ebbf73cdb575407941e33178b31a3d46df6f6f455680675254f4399c5acc05c1edccc56223abff81f8b60e9ddf5947ee4cb375574e3f41c9c7c90c4d7534e82560245b59a3815f8466840a966afd6d4090f04831a6ed168b72092dc23ed8ae8313133412c27e086a1186a6daf5e760a665827c3e441be808672dd9206d4e6fc9c662603d266045a3d2c2178a1f87c4d7b94d3287be3d51899bdf5300ee1c3985eb2de398dac7f870ba0e2aa96bdebe8b03b779b0d46f5702743ea0422e94e6b445934262066aeb0b7b1ce823509f89136bc6e139b0ff6f95a9a5b28e939f2e2625d6e4caeeb88c20f7519b9c634cc8c389ae6e5617307114e39263695eb620a3c513173ad5c9c32c6befd33bc82122676cb9f07c8429e1d0fa76e370903f91bf543bdb2c1943bb73d9a21be68dcf898c13c0483e7810f16d7683794e6946dae8152daf3577b22b45b4561c9e4bbb89e94a4ab0789c508cb04215394326b7d62cd61d09f3c84afb216b4dfa7b4ac77f6ac76073312c2a19e9dc249aff8cc34b7d0ded362f2574c92d020a47d1028d89e0890e50fc1c6bdd76daa6c400f4d75e201887509476f304c31b5ead2887a465b2bbe852679b3adf11c52937c06fc82fe1a3c63bf8e6a9f3f5141a865340cc315636e4adb7ae9d5d87654dab0e2bbf3b61c57f689ddf6617667a64729c674a5b2aea2e3eb1e907d02f4f3cab22224e7b369e108a18ac29ce3ee5c35514fcf1b37443c12ac361b84053c701d0bd46be17c32c133cfaee5ebd821e77012fb85cdf6b13df3bfb6fa4ea1d74719725cee400005357ad23718a541a0cf902d5571b2980692fb3bd1fd24bdf098ce1158c104e9fc85841582091cfd1784088421ae22052e5cb8028b9c679a2c98a5fe7ba1282e43613bb5513f358006ca5b3f8698cfc9f61fd96de75b2f6de9d3b5bfa0c5d6ce37bb971e7c96a3e9a9e39ed084a48c000308dca090b722266f04415495bf01678aeeb8f1256f9c2bc1713b420ffe2d8cd41e4d62a934ce003512b307c23738340a67d884997f3454ee1c5f9b97d5c97a43c0b41dd676a384a8ce1cec8a7e5ba81b193785a5d3c6b725de6896c7eccfe4b6f8e0fca5937c28921015d3368441b3df001413943c867e7315a7f73ac4442a8eec92732a8e338de75c1f0658ab2919c1dbe736757ec0c0117e80ef6b7cd7f103815cef1524c47a455aeb7326c13f3f8347a0bd80920b10a48a979f3b0357aeb9e877bb9b159e83f475fc1cce17fb0ac27f1e9a6902daaf0eb413a3ec401e2f45a798df4eda3ad9a2b431c9c9430b99f8e1c24b5b78567cea8acb1789491d40fc6f25ca33a5fb243fa221f4a650dcadb761169d6bd0419b9ee4e871943e84f609c3b5f17c1f877d9b70e53a7ff1a31669e73b21c0a1fd8de5368b15ad910a81edaf743ef68495feba0df84b523ba77b632f8702ba86dd207a7cc430a76f22099a31df100104fbd3f201fc21214be0474a9d8ac42e4a6d1d27b49161793a7a18100b7053ba21062e528228298a0783c88a4c0b0f6b93303e75c4af605b004c0f0ee278d866fd2fc28a8edd860cc0c8be957a7b9e13b6d92fae89d45ecc94beef5d19f0945a657f2ad82328b829699328ff66c184d45da84dc0be1e42a7a4130ddc175a1f9cd592a573047975425c7e80fb0ac02bc7fec6a2fb04b4fb2f3d6e574bd613c82a50bb9404a50b96dc820a6384aacfcba7e664accc944335e5e8fa09929dee307db63fd16da945153a9427a690fc66bb7b84fe83f948320ab3a7104661eeb071206ecc31ee494330c41f6a2b6fd1e1edda67a3ab379add7177e4b41fafd6badc53230579c27f5aa80208220b6d7e8cd6b9cbd3ab6eb1a289e72e481669f983a6c7144a1259eea418b521280a299e39f2cf8464a1172ee5c6f471590992574b57cc07ab58bafc866ca21ddd231244a72d9218ee5de68994c81fdebc6dd3f62c088803f54564f61a8cff7e574b474a4da03b394acb89f1a03a97ad160e9bfd10c9e26e4faa7ee9c2d1f63d21d69e1a1ea8f5f2ea02f4c13399514fd4be091897d36821b5ac9865c1a1b8c7839690339ee521d568979aaba5783ede9294f05c1be3e2f42923f3b5fb2b63a4480a086ff7e7bc8d3681d2d431bdb88094133afc27caeef4be06f874052768592096d30b4588f8d6a6f2f61c369b9180ee8f5591b3491c03f60bc4ec7734c43ba0cd727c28579bf189f99aa58ba0816927b2b6d7beb22c38dba9e5ef8238f7d0339fd3b8783c5dc974f7e44a8e6266ea8d14d5dc75ccb4d37ce3cc312d35230b53a6e9bbe5891dfac7972a13f50b2d91f539a2722576d86b98419c9df68dfe6aaf255eaefd07193f9a2096d457f3bfd9c728f9e1783bfc3de37535befbe4e4104f5c2fff65a6b477f791dc8f7fe773d49f5197de8fd93a1c8910d05318cfa3c278a341696cb707b97dfa5454ff98dca7a379d16e9dfaf042938cef24c3e8c24d730b8d2d1326c416823136212d4144a66471278270a02f883109fed1802604c4118c10d7d3412eef17cd47b727036838be68811636e08091ea11a9402fc5868edbdd52b8187eefea7fdc480ecc4a9da2e1ad4d541247acc3ee1cb80c59524ea49d3c79b99d44847d882f6a2282a2088d3e22aa4ca3d333bbe1371152d368f62deeaa73efa65267404c1e0f359189dc2929c4d1ee06c3e191f0f8f21ab48d65b4cca3eca5e464f42411f3b76deec91024a80b949202d5823d93ef1e7d0ff518a77b0d668a8d194d54d2fab2d4551ac4d9c61edca8bd5e19e4aaf4e2bee1e68a8065e750537345f5bb5564d9be3adb7c7f380534bf69aa524e8dec5d6da203c72c78204f1a8614ae4e41349886503c0e0b493c649776f475752d7458271e5fedeeb42b28ac82252121f66746ca6cf1bb4b927ee532b014ec3cc7ea70f586852008b6044b3236ecce7606dfa7a45a87dcbe215b3fdae68038629eb67ebaf4dcd0e14306bd706a8615197f9e48c9c70d96060544d787023b0b47e2d70f778f1812eef4b254b5d906f8bfce5bdfb75bc706261fa10049cebbca56bc36d4b1e198e0c5b6f76a930a48b7aca20bb20446e70ffd55db62a40eb7526c84a670eb857abfb51711f44877b10196d53f228561eaed2ef82a00e74ed97c3af0f0a44909f8da995f8c185649f4f11453b11283b4f3891452c0c19203164c121e6e86623df35c255e6499e96e747d1315e840a9c8efc01ce3de5826b19540256526263ba0570fb0348b1291eb02683b669867bfda56ba9b46bb4c973d6eeeeab32c974a25bed457fc3363967ce3bd87ed4af974f977f24b11b69640e4c8e00b17ce61a2d571772ad4b032c00bd977930af1bc987d1bd4107845c40d562d5e8969981afa971b56a78745f5391bb10422c8856ec11756d6181eaff436adb632fe16556a89e0198d2093dc7564b700caf6325227ca46c32613a40c3d6da0d5da95068160e1ff9de159600617dd3f461fab4b58c73192031b332b64036ce01b7a7f4f2c816a64068da2c11ef0b1fc191e8e7dd34dae7daef03efd97fde41026203ff5b19462f0e2184ea99a09a100806ed4aaa44774e907e4269e24fa24dd7e3aba04c6c7d0bd23f24845bb60155680099d82cd9fd8e8f1381af06ea20e90358d098d84808222486b705539eafb8ad6a186c2875c8c8ffc2919e8b64b32bfe0494cc1017507dedf6a8ed3e7de6f03c2626095507486b6dcb76e96ca757e66de632c52c82ec9a7f3571502263d1bfae55d6d64d948c8d273c41bb237faf7083d5efcc2a1ded7074857e792de438c0d812e331754998c7cabe66151d67168736545d191ca7b023e185f18beb700ae4e0ac0645f4ac5b622d412046bbdcbb5b7a32677ffc08e7ecd31a3549f2cdcb59b97b146c65efa65103b5c0b8753440961fdaeffb518c26c875e8ad66c406b9166f9f2d74e103e0a77c5ba234275672144a4ee0a2be1f4cf8a94d7f9f6689543ef18b12765b97f1c76d02dbd5c9bfd9fef239c64536e2d01681bc1dca1e5055e93e26098c42a71f9ce08b483cbd8a81f86824e80862c6e7f826087a9445ce602b402decab82354f1cb9b4de806a5f70b43a5018b44862376cde8d6596cbedc50dd056e0356e2c19d1282458d2b0e264e58b86f19fe9166c3bb97508f3ce7c819bf195b6f4f3cffcf201545f96881a7c6ba51831de8e62045f08466fb74e360abbcbb6a1e795a1ed0665dee1078aee4d374af6d2f639b91f0ed643354201b0f3197d58d6134fdd193594564c31aa545400c2dd4b484555a6c4e0d118da65611e70550f878eb2847b9806fbd80326d57676a2e51985c999048628712949f4c39965cd262da3cfefd8345ed605c27bececa44e1db8ae12d4aabfa4b18204efed3e2d0f83f2f0a92312188085ce3019db98ba2d4df72d058adb0e1d152798a71b5d941b5afcef04b80297258f4e3f773fff9664b0f136876633811e1256d5ef884f4c971859e7027df546beb003d2833c6b2a1f23ad80b633cd31e2031d3d3306a0cb67fe0b05b3ea02421c4deef96a6f911034d014c0028c3cd35e4332fbd29381d6526514b2a96a8a6ef3b967d23b16fb8d362884955a6d56a99d0c472b65eebf45888aeb03ff1d004fd99b9524a6390079d2b11fc88eac83bc48be8e64ad06f5c2e9070c7cd02b39101c2d3cf07848f5b8bae4085adb4620e703f810c85504f67d3bbdd414b10188bee457b7f13b479f9c066f27d2dd11dccccd0ad430ca7c2bf2bf52dd8c405a6e2fcb7024eec63699a0ff0192ff376b9afaca53cfdb5afbb9f62110447942a554e8ff4a844d9c98bda0286a7d54c86bcd62d641ef07ba9b2c158e9fe02d50925d46c03dcd12371e4eefa13b75e0981d59ee59dafff018bba288214140002a8a1b5c935d627233b1e72a22d80c892fe23fc2f91a8f4f104a0b970c0ff68ef0b5a6841fd31b72375d767e9805f27fd2419342b76b5b73c497b5d669a0dff536107fd5cf723e13a0897df95bc8db13ab3b2c854afb0ed8fd73ff31ec719c8bea97bec0b672f5115e18dd5fbc23015f0313c20e4b1a8981cdc39968ecd499d6c8e4dfa114dc081bab0ee0bcd56bda0030a1cc4256080120b0a8abe2b7be1566116795d0fdccfcf1226275cc9c1aa494c65901934aac13fce6e8b16c4c6faedce34897de5a17fe2af702268e2a8407db5801078be52ec7cf9e4e773fb89acfaaf5ab4afefbf297293acecd4a498d55e12a8830414ff45a95c38478c2d20d40c3ac1ee7ed3e80f72c85a6701a57673242d34692dcbae708a8eb057cb326b8adde7a7dfe867e873027d2ba226ff0878d5224f61dac26ae13d93a25adb0bdceaff24c308914d1c4975d0439ebc4998e0dcd9c8fb91c44e7cce21f40e8409e0ccdf3a85bde6afcf01358fa84990892a2dff5b9c3911493c288c7f436b575a1112ac56dbd0a186d0a9f4f51ece9b7996ff16b42e45f843cbce57cb4aa4634cc827a62337482b593f868556eb4031bf149849666a8e5809a0a7885ce8d5ffc61ff347a25471d9fb68c0805bb3de0ad0a6edac5e73011096c65192b55784158a27a225a6aa17253406d360f7aa5a90b93dadcfc9fac82f2a1caf9fc30b147de1fd53d12ac9a0ed221a5edea2407c8648cf08d792ec23ae11026068569da796fb7cd72b8be33c687f072b4c0364cd973d2d591c67c7217fffc1d5f1187bc7a8fd59c8448a7244f0a4660032f8b3fa3adc45d7390e57cb5f3e2db52257ee7085d28900a3bfd12cc930d17948b107f877772670d8e5208e86505e6110bc7dd4166b765eb89c7c86a44ff1a1f0419e1e395f24076cdc5c0aed681101df817de8a894e21ad03e96a5b0e3c45ad027054543be60d7a0a6744fa5ac6d1a34b28ce7da6274204569bfcab30ea453a2f99d7678668b9dbff385dd0b386bb7b163dda7afd39bd6b3838b4fa24eb5988b88be016737c2d6f4b19a7643c4f5cf7f4f7008c219c71ca590eb6e85229c2ba7ed9ef1dccaaa365e9badabd0ca7b1ac07c3a187000fbe39a18901d2368d0250035d9d8169e4b823329c619fd18dab5a7ab806452cf63a6dd155901e4645dcc3c463d41b9d62d902af4cf7dd621dea02588d73f184417a970c5e87583cf020919cd425f0c6c66a135e08de31b5268a5611dd22400aef517de0cb0e711ac0b22f9b770918e35e2cf754c904b2dc45f2b1bbbadefd36ddd17deb4b7be56f20ecc8c0ba120ee36168fd433d217fed578e5d9a84104c5aea37a513ca66d3b3b50a70ba285d92a7f1ee894210b680203a9912bb3c70ffbdfca26300c755776698f42413b089cbb220070b854cf18787c7094ca81526468a441e2560f6c2c8c212c075b51aad14821070e641d9dee88403e7c5845c578c322bbc7fde54301cab43318205090087ffecc901ec020fce86d083bb3a736e9333c630e050ba8ab8c6be5ba054d87b1f6676c34f8573aa589427438e8b896c2c44ab2a33cdf8c02fb618c0e1ba692a7fbfcf600b28d3419e8515717e97bf09214d9348ad81ba345f9ec32802cfb24371887cdf606c0f3254a65fbf6a41f7651f86c98c1989a525e724c17a323feef6c64b79c576c7475ddc6538ce3edfcd6ac82a9851458a51e9601c8786f31a3e781309148d2347e453ac3d0a01e388d9fde710bef74483318eaeee75b7a01476a75bba0c21ebfb71618b68bbda5ea6c76ababa79e985b0c5272f6c1e8b7cd64c4c7eafcaabd9d7fa80c356df1a24cdf6a364eac472ebe55719f11d23ecae7243491b0a130541e43d5855e0d308ba93968752385fb5549247bf3801f76f4d115dc7bbd2f2dd6bd5e3d4e68ed2f2926a4108136526da212bf9e51b2c73a9747e70df01e6113f46b2554dc310a4782107bc4596aa96ab59b4d9a0af0ad8c740d9373f1ad79b65c1a3b0e1b6c5dd18fa5449037c88462700274bc005e01f6c7b9209153c2ff6956c934bea65b53e299433e7a38ca9e09b0a9b50aaa96110a25fd1705bc3e9824f8e3870932512eed58a68965a0c0aa3099bddf6ebacc2f71061617f0f461bae952fe5e9eb5c9edd404653d59ea485cf46fafbf5b4a282ec069c90631b55ec4f8f383b5cdabf75ded7e4bc92752acfd2f2e40cdb72965e73560fa5316f6439e1791c89bebb810650f0f4598e56d1a3888c2e023a8c41e3c2e13a57b98b579259dfb012efa808f24033f5a45e26a07e3ebd2aedee300b525cf4a5f50042547c0ec15e396e056d77a50a7ad4e8bb4c45649ac4b1c098afe4d991623f747f9c01dc1c29752bccef5618c12b2c582bcb35beec39bfbdb2220e7cc86ede403e9d700fd8df15ff4ce823e829eaeb0e7398c32ffcff0f8bcdd2290e3b3304d459e67bcc51e3267b38b2403311fdf79f51ec41f73927ead9595c73e4ab779f3c3fa6a90ea8cfa3da4abc0d7b641deb52ddce8f4620282fb7346d9b8218a6aeabb05b0ec8e56f4e543d31a112fec804ed4909ee8b31f5af09c3d1f10e40b5a0bd74e44e0e86af4c80fbeab8bfa197e9913faa55201048b8fc82e45582c9ae311707657910eb2cb2fd1df9b5eda0842287a22678ef9c6d0b34258eb83cebdc693b718e2ad055ee8c27710a113d3df35c6f2d8e757cf0d6c2b987ccd1abc160ce53803813bc06e5b12a57472295b7fa9a9555989c909b68134244857513bbc93bb760b55efcde4e92b9f86eb361e4ca4a2fb4eb3504ac6ea17279821e8e945b2efd7340bcc24795df7164f2405eb753433de8ce1648df056afa629b80482e3b05c8125f0345b189fc1b7e7715faf735331dc51113f7b5392b738a50d6c45fd2077290cb58244e52e1a1126810e039cddc64815a4716bb6433bbf2fb784f0fb887964031cf851258adf8a317fcf52198ae73b59e5c5d70e30b421b7da96a79f5be177085d21d390f5ceb5ffd559a22c31257e6a03c0265c9304aa59a2da3599cd7c9c4b5e69416f93b310622d0f582908d5af725aa26a7e37aeaa90c1d110471ca32e4faf45c3fb2ab75fddb959954ac50e2dee875edb6790c68660a5c41d5a03926552b03867206ce3340426d95ce1126bd564e3391038ee6fbc1b6ab1ac9264c81033b267a232ecbba8d8b0de3655d22a5896bf3545ebe6f161979be66ed3a5d2ed3d497bb6bd3cb4bbf53ef1cc838d3897d37ab187e63a239e9190c6801de2534e6f48fdb49848927a47b90e0e3aa0dc639da1125d5d90fa7669bd8a4114b6738d9181df1faf4732ef79a85009782ff45fcd15b0496c4b02d88b4435a1bdec41e6313f900e490087235eb1ea2045a12ff9803d6709dbf97872c080751c1180bad87f87f72ecd72f74f3f04c60cca2fc615f8d2d5ccdebc423b942bf42682fc67ed295fb021085d5004eb85864c262abd7b664686f50623c93c4c1874132567e1eba40e630e27f6f581ddcad38c92d56a411ee075dcae35db80fa8a8d19c3ad702d2c0c802063931e5852d561f8e0080c047395289adf620b9791b52b6734d57250934ed326997f966ab2c4bb4d65ad7e88a2d0f483026a2929e6f61becb80bc89e1ddee6d2968ae28b9a8eb59c0508ba38a8bfbcd2267826bf90587bbdca090b7b041224693f6d0166b4c02834681b7bb1b58b8b146b005ca50b8231b07fea37a49ccb1da9ebfd6874cad262359b764097a4fa47f4981eb082ff3cf5e9e78dc17977a9e444b9f232107d07fbfe2ff2cc1a3e369c7e76a5ff0841dbff2ab1e69084a47474922049198389dcf591c0c8ff982e89479a40e4e918af9e92523a39d8cac4376298372c4429ce15604b48c2f222b071b4e16f85c9763c8b15425458ddaf940f02494bda77d0596ae076e5cceb149cddc84f7a5a95fc6cffd59f2a30b77f56917c5d93d3a911ff8552f4f4f7093304fb03d2d9e0c2d8ed5a5963614756c8c95e5ea0e29da8011c44d359571c22506558e746ef081a2c5dd30b751e01fea027df566fd5712468c4ca55599d521d538e1f3d1dd5095797306ee993fc4c3c784a34b73195fb0c0f615f1c4334016490ec2773aa8db9c0cd49e0bc60553296f919142799b3c2b2d2d2ce24891e0f643326b1dc71d7f44e794e61ae500445ec2fba5eea515fea20a8d1845424475e94c40a6c390c8dc05e9fc273d29d5398be4c52d741bee911bbe56f016776697d1012ba6bb4cf0f573c8f5510d31e7ad80aa02eccad95c07acbd11ac139a0007eba1daf0d88a008b614125a2df4083aae16c66e8da11da5b93680abbb59688b37902def63369a56c783b0cf64a6774235e8a71f243eb6a203fef08db2c53ca154867d83053f8254d9c3de11a511b643b0b60e0fc86b136000db158a0092f1bdb460c14619f13ce2ebaf20e67566ab19cfaf1e6c60646387e72bc58dcac7115ba86e25f586f722ded694465f18016021c8081b81322902bab4f3266883c09e606a9778c8b266cafca67f32a1155126b4b7e01b95e4cdd580eae64e23dbaa56d924267584b251daedf72c7a7464c710c88ed4b3ed6889ad3285fcf731a4bc033fbe4c45b9cf03ae396e5d5e6c82124864b6dc49557656946d324973f2048ef496c8028792b629cc7ee0d589f3d12dbe4e77076bc8135065e9a203f58e74a1e30d782995e7bfcffb052dd4ae26d1840fa109ab0166b4c6c52a7101179204aa3da238fa9dd64ae5c8072061df93573f9a24ed1282de21c81cf0baeab10387be4239527b5c16f2c3d94f06257839110d75b06d660b2d76e5ff3032d85fdfd9681b00b1a95abfa16393056cb4b2d94c19ecadec0667b87dc097be57c47039b0e509167278bd432236fe3e6d84ab3bb83b0c28b3caa761944a9c4bc172a029e5b110d4f29818be1ab2c3c1bd951beb6a1cb9ca6f4d7ada70a102ca502eadf6c61b6f3d7609f9da494cd29f489dadfd3e21b76d2dc56bfeb0db76dfded4dea92387275e4a5443ab5c78cddb50320fd999f81fb88b074b55f467495dd412c212d57ab77439e8e208f45b9d26e89ae09d0b91ebf1e994d7c0cafa6539a4379b02bab0131364b38e3f06bf49673cccec26a3a878eb919cc17ee125ef6a98856385fca6b19b7f403b86958ac1256a945f1547b175c76dd081e78d98f3be8f966e96b6a252ac5fcb4224f676b0e2b2a66a1423d00af3152ba500a16135a9739b89824ceec90de82270dc084a5ea041d07a0fe9787221ee64816943379a3f7373a4a97915fb6d2db242a7928607323f3b6639cf8a42e0367b7acd0a44b874f46c0836ff8456a0c923bed7e1cda3ca8fc74c4b6d755b0ddccb8cb0977d453e6ca64fd87fc48a081e79d28db8d8883e120847ecbbc6fcddcd6cb998a8c7d8d96b0fc201d17d507cb23f11f7ee0d05ae26ecd988c2a4ac850e6909a45edd086eb88e57f16effb585fe85f76b15c3308f796f3031973adbf2faee6312b880de7b5d9f723f2bf32e06a1960d68cce846308c4286833d305a6c7e02cb1fef824cfaca2980e30bce10a4ebca4ce525efc6fa7cce86ea89284243b2bb468b626f2ebadc7e25694498e1004490614c38ae03b1a29144974a67d1374e6dc05ec2a8e2306a67c5f0e469753d39854d903fc72ef66af489b485a49a9600464e0dce7d8251cddae59baa8570146a4bd1d37c921ee9643fa16ebf5eac1ac9179cdfef0cd532d325965b67258811117ab2fb1b9b91b6f1cba54b12ddff22f7bf3713dca424b0ea01e87d6c421fb000da18193108e76bbb82883532efffba3bdf6c993032b42bfa7e63f39de9b86f695baa047dd0278afe7e7aba54530ee934ee4b90544b1b346ce5585502c7838aa07e3202536fdc468c8b1ffb319b64290b94c64164aa850fe0afa513ffb42fa1561f08526ec571a6786ab30a463745ac45e811a5630e479dcdef169b423ebe62b59f78fc6817901864f6bd632fc057053f4e1d2b789e15f66f4505bf37e31adf9ecfe9c5566036aacad9209953ba3ba0232655a84f0da62b82969db6c872ec8d47d77c09729e6955b0f29a0a80dedbd3e393b6b750631443a79661f1a08ee3a3442bdec4c2175d5009eb20d7e5afafa8149fb6ea5f7c2cbcddc37e17bcb8af5c0da549fb64c12ee85f16670f517e9aa259219b67ace769ea7a00c3793af4bc42923bf2978aa5d8cc35d370fa55d07b1d14709628fdf6981396408fca1f2974b07629009c2fd04e400e2c9a84bc68cdc00456776c9bde1a816bc8ccd1d48c2915c7845f294239195f6d4467493ef0cb6106a29a1c519f43da4abbec66ea00851a02317473d7d8797badc0959493291dbd9e0e10c9c2efadd99367aa7e542cb8a65dfca24afbb1bcb922a8e7b2a99d35301bf73f34d5c70114bf353dbbc6fcf0f2d0e0c1c9a7b77fe270134a5be19a996f19afa8776a2699b3244c648a364b5c2b22989f0319fbe79d64a307d9ddda67592e7e7074bc38cf1bc1a5b439cfad8dce977a7c9fe4857696008cbbadc291012f2b0bb55c4bd233b014cc983f847cf29f0a671180efbb5a363ca96518b4c464e0162af875edef74943434c9d4743463bfd78c327a4dbe22e71c25f3670543642ea7d0770534b691eccd9ea75ada1f12c5990dddc5fdd8ef7beefcb275507bdab23584ce8bfaca1dd485695a29a75f3a7035febb5a913768ff1d2530071f2456abad554d1da39ece586000d81e1aa5899ffb63f52da6906c3a6e7d2bf54b8e2f44178d2ee3c9493e1087d210eb90777264dfd55042a2b0644aa6685d03e424e9b12903606a29faa3619e4e2975a7fa1c2acd6f2789db9c322d252bf2e70ebc74c14a633c8ce204355b1e02368d825b40a4a61fd64c5fd83adde404beb2185d1da4ee836031fc2d28ffc5ee05384796235aa0ac25c27868cb9df44fde0af06a00d526ea0cebaa41f6bc0c00b165b70ffa1a7ae31bab842f1ad783a6cdfb59b5f677be1e64bd26c70084fdd6c34cd2eba40244f24f41fd07aeabd3af28acef46b4a7b3fcd8d1e1b8194d3f67b94df8f58318f9a9bc3be6322fc68c24e47cb0054f24f3c9d75be92867a83aa518ef1fa7057211c4cdcb675efac8d9d7daf3d33d985ee29601406a0b4aea44963ef4b9c5aad5ad1e050f9fc731220f376702e533a698c95f81dbf64a44e52f846b179a875cc02197018c43d47d7ed18716951108e71798c278642325bb209e27178e143d2c5fc7e6f9e54663cba353ccff49ac3adbf3aa0eda74cec6a3e135f7d44bf507c1b10fdbafa208d047cf3057f72705574479fcbf19d9638dfdf2d70addce64e15b0b705a4d3053b41fea8c3183e9fa892b557d5f2bc0d2d21f60df7537ed92bd8c2f83941176fbd55834df63d10d42b14db9dc535383e92f9f8fa59860f2cea87224e3abd715ffb96bb91d78ab60c6ee8b52442e1be28dfc181c44dfbf6a37085e00822204829a11a871b59a611547a898fd9ae0e8e7e1e6ee5325f55712ea9ef0b665e7a309f83cb88bdd8023680a60c1122d414206d1be9b194275905dbea59adc4b5beeb0e129649aadccc0f40d05f78da1df457aaa76bc6279595646f1078ca1a9eee8649f1d0383209d8d545d823c2ac02111a76cd729a9c8f4f9af61bb1606dc6de4c6c84b69481904636cb4e0b6103b00f2f44081297fe173582e9ffca407a11f4926eedef7cdea57be30a9a659db9dd22033de4b1a7d94131e5f9b1868cbbf0678a116cd4b9fcf9d6333a42eceb10090df9f3f0fdd1c9f27e18c066d441a1c3ade2d6c1b16690cba2d5a05b95c5829daf07463dafa9f9c72aa1a2ec4ba66eedfd8d8a4af153273a6edd612cd0ff80dd39b8ac8cd09a5ad3dd0256853651fc962c51df410977ea06c4df7ebcb4368a02145d78b9de315c06d8a821f708eda0a05fd5b2b6d199ce3491afe298b5672db63882c3b1ee85374b48a57b234f07b932cdfca55ef66632df41cdac80b8b7a891feae533fce9b9f080da248018a884bad6128dc8e558f796e1be8dab7f65e5944a20d3489329ca5508d328d9d9d1affa60c2fe81e08bc006efac3733b6202be06e5475e713a647506086354e10f6c70a8b131e1675a55110172f35ff036db1407b930d6fd895fc37b734c55a3e5e8720ff8e116e21aec7744814b3cc8578537c34bce38d24291977750706e4af35ec65e522e85b7ab63a5e85f04684ecb4770f69acd788d04be24297731668ca052ba3719711609bed9768a98cda10a01139b0d4e97711478a7f4acdc50eee491267412f302ba4a19285736003934ebd72b21e48d1ca7688d5a06ffcc00c3bdcef96eedcce8c626355b1f1e524cf60fefc727917e6b58cf9ed39311e830384ad10ecd87e93058752bc284bed5d0e2e0c5d1a0ec3ee2f7f72d0ba404fdb88960d685f10e884b308ec5d93f52916fefe3b5871ba3d5a81462d389067f112460b21e5c86a80135c95e56a026b8e33c6deceffb0870f75c9d5f90a97c74a05fa7ffb28c0136f261415aebe06ddf99f0c2af4ce1b33605afa945a96b06b07bc6cd0bfac8e18768cfbfef1fa978304ea5f422ed68d676500d043174e3a8bb07849c604367649e4a97464fb8a3061b0177a7bee64ae523c028f5b6212455b248a41bae6aad936e966656e9acd13eb99165097a7ebb5baee4ba15169766fc3a5ab156ccb8b547e9d03f616a4ec0f6329d687f602cb67a33ce10a646468d0350d5379f4467ea0eab863db2a9a8acfdf96e0f6e452559a00848305b0e3a6c9cbbf6ae0263dbfe33e6d54e6e4df587a6c87d7b272515b09572e8a88ca061b7df1e5f56e20482991c0747a68804f422b33ca2630ebbcfacc6ca1a09c9e5a96c5ade0833b5ee4df857c314a9ec49b8fb2fc35b528bd4fe17a98d672a32cb3e0d20b8725d348c7e1f8792c2ca939c2ec44b8e6fcacf78b5a32e4534b31fb3fb9df43d64c2fe1dd0574ec7a4b0ea954ffea7b569def7df865fb69f8a28c13b5856e3a54792cd5ba32d19cecd62e034ceed9c54544a07c28725ad075af65f93c75a8462a30ae5aa609d1840856bb0f11a866d99785949218a2e5ec706ee1f8b173a71acfd97493d4a7406be04b3095e16a0838122d0cc8733eb6e785840af250453589d1082841dbb14650cc597da0cfe78a5d3db18134f0b4cedbc75467abc62960d01b2b8d3e9441ffa9361fe28ca9ec209021fd3f5e2bad4ed7d1d67ea711fa0e8256e65713af3290ddbe8588604fba14c69c06f6a8819dcb87bf1546470baa82accafc1977df6c0f25503023e53d4238608db2950574b9c8c2726d8f3a16236a2c78761fc4599d35768064e954de6ba25fc88f19460e390c0f3f1007a73e0831295d8ed48841d68ccd3f0657e9fdfe400260f80b4492782620ad512559141107a0ef1c14bfa67e432340a32e09430f0b71e2dcaac1d6c2677e8ab09249b8a1502848d50cd2ec90b5b5b6772897ca2186c7ae7abbe3b089e04fb0167b6f2cb3e02ced5d8594c7b120c432194532facf1149b46020ccf002f31b41a3dfcbc6bb0445d8dede0387895224d7412f7dc9446981b9312402f10a7e63e6103d75b3d79edc2e525d0d4a7565fdbd3a2dec339463dce2d43e5ef0f1f07286ddbcfbab12fe8b690e1738256ab945b7b1bc25490aaa5d4abc0e5e67ad452ca3d20fcb4f1ddc03796b727ddbe06c90f02cbc22029f84682409d405e0f3aa788b304f6f2a6f8d5e2a3bae8ea692544e1bca0260ef2ba9167536cc134c1fff58773082fdae7a6a83337a28b2f1cfdb36be216e0eea45a577b4a0b1bcad08052a7542f8331169ed9d523693ed32ebe99ea6eb53793ef328d2c152050d73b6543c641b437909ac0377f75ad095134c336623aae89729ba2a3e32018cb270c68d24e6021809db6aeee0189278151edcf9f158b40e2402e61fc02456ff6355afd8280cb2346228042e3ed34b1f8642d8d45d786f00552b6ccc8ac1aed3899e4a675da8e126245a6f4c871f67b9430319fa38c6fb895e1844e0f8399185f00bbe534d8ef64cc11069b447c016cd43948cd7ec962c8da04208823339479cc27900979c837433eb411d56100a74501710733be8868c77fd507fcd10e6d2ddd6a24f1080ce610ae07b49b2b3886e3a48c1ed7ef93db51fd59abab788137be959d530d349073bc1d22f76590146b625868e0636be2810fafdfd6065d92bec6eb4992485f8d4673ef1ed95f2ae33e89a326abbd3e8ef6ef2050bb5f629cef6886a96ccaf74cfb1e726664580d1636c513e8cd83eb83ca28414aa46150d385b415f17b698a378fc0c8fae9c2134fba3a4c50efd52d6128295ed0a1fdf927f0af7978a75673ee958bbc4f9c2f7bb9c26e05a8aec90393888e05e898e847e6adc067ab76f696e426c34c72f3cba0afcb49da45f4a195eb27f5271a74bb98e4dc4d19cd1bfbd05f5bc7bdb864bc061a2d2ed9934e134e755d3b8cc17d5fb17549f9332c6594e2d770210722cebe65a040c59cacb1920b18f5f91f82a0addb43ef6721c5556d1931f8a63cfcfbcdbd0a69805f91736f1d01e10d5643ed9e61cd4794caec14c2fef8fe6eb460ecff965d162e132bace38aebb451a54b1e3c3128f370432197e14369f694bf56f5a04e43aba98c627f7d85398a4d2900e10745f54dc7cdbd0e5db9762630b06a6addbc0089b908098e1dd7036d56be62f9b1fa1e4112eed5cb28e0bc5b6804484cefe0a0c3e55ffdd6350031ca2a92be3feb030cd7a5128cce4ca85dfaf6f7a951b53dcbd8d61ad050ec9724d3cded3b25f8800e41308e4f853f74accc82266981975d711c646d722cdf986d85d6dbc8e8916e77c0fd8219c90c512064e792ccc9eee5a69ffaebec1a837c86afc3d285ed9dbc5c7f9ff0af7a79079493f9f232e8eee2245a7455e7e6edfbe64763c3276fe5010ed5d06947a1d3c7f8d59144b6ed4db749b2fc92828b33d273a1e00cc1d999ee2be485676f6ea814f37536e5a3dbbf69446aba119c26c5a58bb343a8345265c55d07c9d78ead5b15724af86d9e933f55cc88e9cc3d85dd0934cbea191dbd18f21e5760223366472c71332387b843178f8a4e5aa05be7025f976dd477261ae368fdbe8cc8290769d5011d59e3f31b32616766c4c3d66e820a3157acaa5bbc8ecbf6810a28640fff0db6229105659389e2b82aee8d3441dd2d50796b2766d3e7b717bc3491d73b06df34180311261bf37c456b6887135c8da2123c61a46b836980bb1e306d72d5b171fe8bb9b6460d0e867f4b92289e833b6092ef273e0ec9292f9731f7819c0144d4ae6fe5a19f3ab00da2777266f03bb6154401445a1ad682e95be137a6ea13a987da1a6108438d83796cc92c14430569c288faf2b46b4b2e3fbcd33a1424d6a24342fe42f1ffd9660dfcc0a4df48548baf312732de75eaf8e90e442daa44c11bae0ed367dad99ad3a4a8874b7c1828ea84052a77b9f436dc31c1a89e5cfc2ddb2413f5929f7cf168bec6714521b7dad9abeef92096b017e88ef241ed4cf6468a85f631115cf9bfdccfb3be173a4242e61822e2f8703b8dc2a83399e0a136a81d7d1e46e2a997be193f68ec2531693b20296934994e61f0208d746c829863b80ab8c80503048491cc9dae02094911fa1f27617569325fde79a428c0c5fb71aaafebea65836c951d27555be8966b98e2cd3d3bcdf7c0ffc75f21dd0fd7588adb17f288f6b98b308307895e9ec3c06e13f86324d3532a298b5b873a8379047f2bf05997bc12a00d2c28f7a8054bf1b1d961a7f4f90b9a1095cc7597e509e5bb1bfad3018057363b343bbf0269f4e56214df761d967fb21bed43b0bffdee94dc26a907e3d7f89aa32b8156893055d50e7863f3e689fc44fac892b89ffd12115cda79dfe9e3b4cbd336dc99b9174b3b90892447a11ce28948f7d53e86afe698746b1580f4c1a11420f3d8f5f331a64634017e6db9812b8d6a4be560cb5314da88f394709d260ff15ef5ca512a4bbc1cb38befb4a5fde1c5bb498cd83e0b5d7d180e4c8ad1378a795d26452626b0f6fc1b50d5eabf9bebd7a96553d70ee600126acccedecc4076931130a674c296697cbba89c4d9f485d65cb361bc71680f3e1d9a31e587a75f01b3b781c6fc97a77ca29e6cfce2baf0e9d013facd5ebe6fa4880fa51cc5e2f9e88ea8dcc7a86860a9aaab53fde5d195d1a167a2d442d538f675ef4098a574e6de46523ee10ac280b14afee395264a5e820bbf1bbab158489f52a8203c2dd7c12f24d7580acac6c9984b0d45a4ab9f4bc8a210a26ed8339ab9757f2cdbdaa36381722005a021e58b2af6297658c17050411a520bb1d61d641b142ed6d758eba978d1c40ca2d7b058848af7a12de45fb1cf233c8762e20a0b1ab0db0e7117207cccc73e047d70404359340b73fd767bb87acf89cfc2784e3b2995955786605695c976e0dbed74109547179af70bd4c49fed00feb5858bcfdd47aa92822a61cc1a7d12c5448205deeec2b94c73a82f3493c614a4ee4efe4b15a97910a18bdf58a8782e85e51ca146675a25cd394ae243e2a620f4d52ee451d1169895764594df2af6b0e132372760c3dd869bdfd54e558eef930694a5a29c513518c0a7ccd2164e6d5403750e28ca01fe16be70fd9c65efcc9ae0fe952c79650ecf9aa7b86a9813ffb3f7938cd731e48e2b6bec570349b1239055d776840a7c80b8b20030cac4359eae65f1e3ece2875896852e63e6bf0272859a80e4019dfe0a1445126a62355ce955a88a02940cf8d9bc6e6325e0ba16b60886cb250e2221c6a66d2d07765798dcc17cbe64a350bb8b4f859a1604cd6d5b8e2ae69914f77ea6e024524fa8c9232f9891dc4473b0bd6bb028a568d4bd82b4259b0684c08b4939f97a983958bbc1e8f57ec6145338825ad99f3057be321fb8679481df57c0051332b37222b7c90271340ab1ccf8668d8ff62357f84669442147e3f42fa8f3dc4f10ac2ecef7cd56d657d3379671fe416c7cbfd7e4af3b5645a56e470f480063306839d8924717141c53a07a1706c567030aad002e4f35bfdecf69d41734affe15f63e2d2333113c3307002dddae233d6ea7514e838a4df98730481aeadae7d6d648f59c12e3299bfc04670c076f88ddc45e4fba7856db90c35308b13b3fc4cc309a8ee115f0d2b4bb2928de4f2938ad72e1421340db8d21b6a93664c0c36a8ef8b5f0fdb20c92921c520947f876c0a0cab24bbee74913952ea5e923c0f7afdc54ad9dbeef60caf27c53c38c45343a2b68e690924568aba4f0b084727461bf7a5f171b69d4f7c5210f6d2bbc9b7a964a740aceb3259f2977fa32da3243eb5b22966d1a8d0dccbbd502739e99ba974c5ed56689a39e93336eeac1ed7694053eb56c4d1d41ffbc8ad75daa14b781c98548a4741160b996f293299bce1add6ab6b342e56b24df39091800c8a1e40848bc3a640aaf349aa7703ef00235d6b5ad319c98e8aa1a69c3d729c210d920e09bc3aa07554c22b2853bcddc454546e119135d33af2c31618cabd0da44c345587bd3c388a50de79d6204db8fc2b6788f3d5c30950cbd2e1f5e0fde55e70dd6042c856487299b74cc9260768d7da0baee80390c2ba045ff899c6fd0adc16058723666a3e344486b26548db78889a89bd46065cc1583203caefb655c0e3dc7bc3665b6d1af20ae26707fad61a934304786cc765d117693bd921801acf2228a7407289f3d732f29713f8545d80173229dfc4e5b1d49469bdfa99db9e56a72068515f2fe421c4acf18e885f7b924b0ff5cede5d428339f0edd96cfc845e703ee513afdfc5e78e9b69ef7953dea5f89a8264535dc8698771e306a1647abd0d3b5bf0ee0219c8364522d753dbf30af3020738572b9c5aa0fea2d44509379fb6f97e1693bd92d0172169f6071c7707eaecbdf5f10ba5606dda90fd36fe06a629e321fc8ffab4552a9aadfcaba83a7426b1b9e9ae633bdf77b651fbdc0c7deae26426a773835a33b07b5e6e3b41264c0024eb2b2eaff17c85a1cf2c3b673a0528aef374e854c5bf66c3c171c5b221f6ca17c0f00049638db6992181af4fc63910a2dedb3211d9a1c2ca7444a7ba30ce7797585a416160fcdd777024ab65cf6dc76d23e6391fb5cb6436f1ba3946622a6a80d0f3722e7b67e1a3db97a08d7781687683ef1b01aca52a152f59b052c5c6de14361dd8e00736428c906b14e9c678fba965cac4e2067f6ec49149f52543e9f03eadf20f01f5bdd298a904bf6b5a490ba9583b7907a0e3dfae1281a9e259b2f299536ed561aac6ef161cfcda3b0c6e8771e203b13e709a06dfd00012863084184e7654a2ccd6f7269b250778a835ce936ddcd6da001778a0487cfd83d3b4b3ca8a97208f92863dcba5ade82a166f8f9cd38dac8e2f797d752c54665153e0675cfce796fdea1e314a3cf3c0590b933325936208ef82791287b13a9c1325b10163dfebcc386d9ee60ad3680a5e4a6e3fc19eec2b6d032dbf50b89f2200f1c01e34dbd1489190b5c44d634084430e9f3aad05d4803af78e5dbea000a2330b7e7ff40fa107e03c87f6cc564a3f6f62058d746b5173c7a74c41e7bf4ca3e909db504e7e0297ed95273ea737930a9d374b1c8848721132e6214a145774c272f4978cb8313412a074008bd662763a9728292e4de947782d2fa07416a048789a3b0ba69307262f9cb7cb35a98a7aaab28fcb813075fb3c28e90d499bf9b4f6f59d639526842fb05e471da8964331b1ecd248ae78c17270e8c89514207b3dfc5d65a98efe3c7d74418b0c15de64e32bdbdfc588591fbba3e9cd7fdee3546e568739e1cf4fc2f79d07f733bb0f32d26535f81b9e53782500c29e4b323d32086f9fe7076ead66014c1916b0b7ed115d58cd1928f414c4e935790134db022f7cb75f8996fd9a937e1853ac90e997cbda500902a8f281ea622a2770707f95471f0a7c34c8ab706652ba5b7c9f8facd1d82ecb42e29649cbcb364b4621527715f0e30914d0b63cbdd2e0da7b54b2ea3eb48efa51888e7a00d3d32b6462f110cdfcc252e1f37285165a82a1916245d2c2320480e76baa28188cd2c80574a1259e57f06843683e94fb76bc6c1765e96bb642679aa634b12b1c8b30fb282d6f4d0410643dbf2d298573b918e59a244244208f67258ae8611873b7d61f8c3c8df5b66db9a389aee92fe2f90d00025e638aad0b8eb119e25524ca2b218e022e3f59d3ec9acaa6e0354cbc343d054fe8fbca1506f4c2ab2320d350eec61ef78fcffa2c0769300023fc509cdd200d74733e8dd1566866aff3bd6ccba49b6bd8546a9d88f7ef948d61f72c4b54bbb07e1886e920ced2b17e902877579f8d8e863cc6df0686ed81688e8ff077cfaa43c41b06eabed0e92630119441a291c52df9fbeca379df4ac8966db2ce14a9c17bd3ea2b729120b098478aa90f5906b141d309623996228bbe490fea2dd3bf0f2b5ad88212725f5689011093b0fd5c8db3febfa88b8ba5d67cb500aa01ad718f6ecd2f1ba51e0316a731b9f36a9428aa90a9380da5fa0054aca7b559bba20d98cd153892cf93154b60211fcb95825afc4a5e3aa77af9915ef57b5c4d83f28405bbe58857d244f847fd3ac3417f352798f8e541dbd0107b298a2a214a9467754b4dff18d879fc8620741200a85b58860c71ee67f589c7949cb32236f6a7b8ae47031ad2aab245b3bf772c03d9deb6bed7aa808dd6f46b6215bf4fb8c4ab966f7c39598ca310cd0e4c2282b2131782e91be346c2b1cf3aa511f015a63ebeef2104c5752b46061c9c8f3a670d0f4af64b4f96718eae65c3bf056d8e65f8cf78779dc2e36972a96e46320f614afc8b684740e99882167f12387f50fe5e3f659dcb7d2987a2e059968d7a4957292ba7862e865f235b3b06669a091f18bb9faf1813d150ee685c36c354addb028f94ae5a38a947b7dda52c10837805eeac1bda0439ce79bf126a458a3f7f77f39cc58f2838ba3862c0c1455d8564ac593bf7f4c2cfcda2ce0b76dbf21c322e69deff36757d16545018023f2cb3f55fd6c16be14d5e3998efcebe7728b2a35f645d388259c5ebb71a583284316f6864103a589451ba6477c801aead688190a7d23063f02de1fdb61ab2a92fe4313de1b1964bf06772a4be424e71fc39ecb0d21d3f968940742b3c0c398f36880f59567fccbeb6d2c5b5c30b6a0cc48c5efd24f7866009b509320bec00efcb0a4bfcf34b1a34d060866db5a8d37a9d7f0bf0fe3e01bfc98be4660a4c20b40feb3e8ed22256f435eb70b62c68a316bbd770c5dff3a9ff7543da36f1ae04d01eccd9d4b42a53943d82a2ce03280946ff6eb3cae247f0bfbc4be83bcf8e40a31adb111f7df7f477f298025450c26aea88dfd57de541847b81f2f2239f778755b8bc8e7c5a455d07d8483218be04b48b10d825dc5d748dc1a7f9aef84e63aace5ae54a42e4f930447c5f43357d1b4e78cad2c8a21ac5f55bba85af3fd17ada5ef04eb4d7140d1230b7850c57b16cac7d624b927dbefda3c23e1108b533a5cfe5fa06c94d311c5f9baada2cbdc5601ef698f703c07a0c0af70c3795d1c879af2cdcfb71960be577eab0f6db22b923a36c0bd3e93fdfc59aeb6c1ed778b9f5c94e672186669d9101d38beade37d8622e6a346bb4fb72a59e6ea582b74cd8f42a919309760066c533182a92d221368c6bf141cba5ba04d7db240cc823a40653569c9454e70cd542ff40a848c054aab679492ae6416417fc7028f57989f782946e9be3efad63a63f34b0eff4646c136cb5a1eaf06524ff33efe9a855ffc456b46bbb55f20b080397dec05b13aa138430f09bbc1355109d49eb3080001927177991ea5a752178097fcacc6ed378bf9d118f6b8bf0d09e82bd56ea5110be57db7b50ffc4d4330efbf9238a6854de4f7317cc35acb65efe8d87656f43c0a488b0d81a37fc7e723acf24c0a7229fd9d252715294fd77f2756e72d67d083541092298ce9d86241dbee484570139b0f27f25ea995649457ef695e478de0db3e1a7b3f0855e0ef696feffff2f1f52810264da3412e520354ddd908035cc4abdeb76865a31cfceb5e28cdf52919f6295fd7b90af86a0c64e053010dea9d088c21dc4725e7b74428340bfa1159f8db90a1b2c6e0000959c5f3b9654f61cd8560f9cc625b9cdf31b9e457f70867b607c65b32d742dcf5bcaf9e838f11f454313dd45153779cfd85ab2b2694bc0ee56fef69188cb88c0a7b17ff35ca90345c632bc7f6412a5d4c5788e3aa55b0e9041a370b8beb489082b8be7fa2102bd65d1cc6f8d5dc4dd3fa02432a60dbe32be6a8261a39ee30d26669b7745c5ba297bb1bbfa3127d34b30b12fea8c98aa3d8e6b0dafd82af5ab3696d60a8e079d3936072ce437e784ff40c1bb3153632e854ef0cb4029a63192061a9597cb53dc17b567c3cfde20f1060805fdbb6180e5942dab6cc9dee2fed43848c4b2589ca42faee4022f54d77244ec98c487f91a09d9defc706e655fb026ff64cbc65ce6c2ef88699e8070526c1f878da508b3f75b7479f8d396e12ccdedf6491162d8a783983eb138e2cc5defce7e09ee81428dcee6200e9a6efbdd5f069854135a07bc98064cbc6e1eb10f3823464a44f406b785cde22e7006962dab34f20160637028570c55e9dfc28384ed83824605027298c8bc0a7bea57d7c596d20094d93bbab09a4daf35fa19f1d7d0f8f2052723b558f818d49376645df4e36941e2ab2271a0cd4563a710437ccfd8d0ff365b3c8ef9ae1e30c7dcb9f4eeb3f63a0c89efc8ad2262014541f4b5d0c9dd09d7ba6267ad78c306099ddddedb65769f9d2a5f5652845841b756fee290a28d510eebb2765d3fb7b55cc9240f6858e51bf084acedcdd8fb3a6e23cf3860b1b3b2422a720511380dde8e56d8bc41119b92ab765ea7f45e98e938b2af712497b22fe0c77f44a1d4805ea5e58d0f3fb5a11f0fae2d30b7be79ce20c640f0bc35402f065887177860be467c0c7cac59a011047c32ef2fddb5adfd67f6941469342bbc472138090612f90913b618e96d5f313ef7bee418c46a3eec48c1440db091d1efa320e2a8dbc9abe30ba4997d45695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e199d355cdcb33428c4d4f76d8f2d93c7ad6358d3bf1c9e10162dd890d6ebf13880add6b43067b443f8b3050a1b8a3b32955c907b46f4b52b2600051a4e8c977c6d2cc48f8fc73169df5bdd980bee258deffb2fb8ecd6693186d400baf128e60256188b6eb783240232d5c524ce56a801ba7d6c43de979f2c147e8d9faf67b187c4d787f3d6814569556cc879f6004390252914a92248672824bdac1579c67892f24d88863722a774e92f996e63bcd8d4be2bfe29ab7440d1016a37f26aef0f1151f6f7d6d6b4e5caa79805e177ab2558d7157e394a56feb4c35ee783f05e74e0882b5b054e621c8d80c268b751e0e935f84540a38a6e337cb88b4333d315b92459b85604315c9eb55fe177e3eff713ddc561f0b824e0a7dc21bfb37bfaf42647e2365bacf7ebaf8a73d337e163b57549d73537f7c5e7cd3cb16c32bf2d3a76ca9d16f85390e239468cc46625034b8a17ee577280b87c995a3fb2475b5a2e77d7b3c183b7ce4f053abcb96d4c18549f4f0b34b3279e62a460540523c2577a78bdbee96d4eabf5a20d7d1c860ec37529b6fee9130c6d261845a633bb5e5e54c8f4c5f5d138fad613a04b1c424b66015c55cbf227b6339adca97127eaf2bd81fdc835f3db730be42c2d14b738ca0e577863dfc9304ee0b8317dbb17bcfe4be4f28b41781a52c5d4f258a25af1fdf3b1aaadf4588f663762417bad5b5ff6d60e3281990a625ffcea68098c83c0143bad5267b58c618deb67834a666241e7d16ba258f1f669504096a34328c9c9cea4291731d9f1fce99cd0947e47d766912553f80a238d1c78305ae21dd2f8eb588c6eeebecac0e8a1c7fd696adc53c53db51d291aa989b64696a5934ebf044a4a0fdb0cce7dc2868fd42b198f3853955a6f078b73a77c26360d4132acd0315920722ceecffd1113af91a98b25ced9f16ac9ae81e59aea71b3aad8a70dcb0bb2c902e4c81afeef99edad2b149d2e9377f487d73171e25d4ed853b633f91ad35e5d85cdf8e0b6800919043c1cf4f67f9a15eb77b0e3118ba1cba206188a6ec3a21eaee922a90df882b15d31e2dcb94311be6e60db4aea17ab775d0e4f633f9f3ea41877c38af1809d338f4974f66a17034d18ccdd3f22471d6d27f9208e57bb9b8d10c8be29adb8cee5f98efac3bfe8f1c3c61afb4fc6393777223f71ecedaf4cbf420e97ede115ad13ee6a1192dc2d06a6f78f50d0907e351196fe820729d7ecaa7bd8ed50fb64c4125880be0ce8db85da7d97f68af33d79d599588954a0b1cf91f618d9ab4e390b2f5b5f2d9e9e17992b547b41f0704f61b424db994f59db8aae825942d50abcb79b0deb44897218061a2c2a8e0879611e7236547c81785fe0e57c1bfc9b009f31d432847243c6b828aadff579ffa5ad8f86e9875e2086bfa8c9431484fb00439a57cef8226145870db99fd08ba6bb9425ee0f59b7b8a76a54364484c6de2bc95ad81ec8b236f7339132dd78f020ac2091dd914466dd5f47c24e36a7d60d14b8a36bb67181e91533ce6105c8f0dff7f8143fc57a132bd5dd307c30ef906e7438e4478a8cd24a807c761567a7e9e4c81df2c073ca96b3621253d1c89230fe4b89ddfb66427259959f439368cda8805c512292b3da83e92814f79f777e4325b252cd0b70867522148de086d2e460b8d568fc68e3070f36ba9d915b96697f7d4ad5dd8a8fc67e1d8b998f9b914a1e58cab0cb69beee8f05617b200e2fce06723390e70076a825016c51572d6711c2c1a7511f16b685e6b35d4ec2c4f4491dcd2f1d0545c33e9ed87e5c74bc1a9b6490cea8fe327118f2a9b2b6333b948685bdb98f0b823b9bfefcc15e16f93aa6f09f2c5fd9ffbec89d4dd140d354d869218eea0239dd986f9edcd262ab914851a07a7a3952f316a0515feac364be4af1a88cc41a9178794d07984da887d831ea497b6905c8cb6ff82149466971f10b229d81678a2d63c4bb201e97c4b62f575408be233716ad6e98452708c57eb17b167a117f29779f6133a3985ab5062cd61c7f608d9befc048dd26dc49ceea4945d5ccc39403a66afad8dd047bdd1eda97dc3fb7d4dde763a7bbb5747d24b3d6f3063fb7e7200516efe8be63695973284a08de78e48c931ae4d934d1dda841a43411ebf1a4ff1ff0d3a37d16fb69d3507819a51802bcb19f3030967c02cf920d8bb1f5976f3bdd07c97ec9934ad5955e7b6a513e7c446ef2dc0cf1865852f69115e6dc08f3b05e1b91bb1ee3c9aa5d2254fef28bd5e93a4bc49bede96e388dd5c5eda67d5712de2bb8fa8ba0d14bf2572a079521ece7d82d11a5a03ffb05a1d400089602ed4914c7235e2173ab5af5b59546a04dc5741bb2b579684974040e39fd685e19814ddf5067a2befe825b9b17d53606ffc922ab853e4315712f840930e67230fd664e24bc93ac6dbe980ced53e823bcd879e963b4148af9adb1caa8c771eb56d31607dba1ff9579ead15eb2da130c87972efb3abde42bbf359897b5085b9a74008b7fb80eb3798943503ccd8d50c761e168825299c28df6527d1063d1afdf5016ac6d5854a977172a589981f584f31bdf69eb6e90000ff98dd71eab5c67f153cbbefee91e33fc892dfa8f94a99cf09f4962997684aae4d007ff7d3c7f357816f2343d6b460bcdaec21644246ee6813fbbed9fc4b3fd07723a914d6c2ed441821d4ab061a04a2c918475da9473872a60e166c7a649b9d6b5bde8bcd3b919bebbee63d8605fb8a97416d84e2657bd61127e5f64c63c554481c726cc5dcff339b0edb3bb75c6c5c2195d71209207b56ad1d10f8c2b6ffbdbff4de11c57ca201e2ecb869c04f773aa69fbc3f4f5b3b29b383b153e37d6023d7e1de6efb7cf28207fd2df5ef642d6984238a8ad702554acea384b13502bb86ed757ea47890d0f283eb7fde958cbc8ffa3a8ca21db17d3f2b9fdf18195db7547cc287d4c1fa19babb9959ebd8abf95e94ba5d45c2f0aa2f94b2bf335db010110f77fe276e8417511babdc61499b84375da33a8ad6997cf861947ca85aa1b12bcfc91fbdf5931dbe2496bd1702a2bbe25fe1468bf574594d5d10ef02cc29111e48cfecf27fddd90196da247c4c1d6f5a6cee476926b6b35a2a93cc3182de35b81a36b17c50031b900575a0164ce19c77d1329b3e73d7e48fcf79d47c49da5a3f0cdcfb7614234b1cb3a9ecb047ea7e1a8b0282b5a313715593900bace431936c0a096f28de150b94d0911dc3df5c8e15370c72d909a258de700abf0bb728efdf58c23b08094f0aa7ddbb182c69ec2da4b516e0c1be59670089b461d5fd5538148bc51a2e1f606709ac325cb97037f57ac7a460243c06c3a0054e0a2e4bc4e001c8e5e0ea8ac4e435260c2f11155f2bea33885ad1270f3bdfa4b655306b1d0808652b63186b851442bd496fbddefca6bbf4fa00cff65a9d1b3f2aebf761c66e05e3131105aac38987a224f561002903f209b4ca4974267c46554cdb61e7c84da842da74a7eced622fa24026e300e518964a94820a8fc82aa7d86f07467fbd41711521498f217e583f5b10a2f48484f3358ef7687ada5dcf3b23ba24af3026a22412538121d15e2169992315d356add041924aa96f9e332cf467b8d03d0c2c7ab381e9c2134a855cccd5fd3c0c7d126cbbc3ba1651506c983b9669829e971faad64af9060bf077e6f6a4282ce53c1428f78582fbe65abba74b46ae1700f63865202012e1be3660cf86b16cc70870ed5a3afab5314e516b1b596996e0831a89e606185eab183710a96ec07425701683ef6a1ecce00c1e4cc1c1a9925d7844ce00c10d7385f0b5af7f13836f80663e3359ca49231053be046bc45b06977dc1467e923c17cb37af63aa00b5d2bd76deb71518f21418a430b633de9119c686f5178c12a6e4b591a5b84c8f13239e661852429abc2837d039b68fd4b5d6266806a0227941b67c16cb70e3ccf8150e21229f027b76e0c9a3606974ed18842362e98511585e4a66f6a948fa6d9e8a835a16681bc60c6f11eece4a208f680fbb71b803c447e47574aaeb197e7cce826e3d4e92d1a81f8053b85053c8017607aaaa5d5f9aee03b93887f5c54f036d6b7eb61ff215e6250eda5bb7a16f8264fe1f693cb86c52d1bf1a68557cba1c0176bbaff614b8e8cc39e71f04b8085d55a337ec56a41d497d70aade25ffd1230700df485db2ebcaf9148e6f597a6797c2d80e7284fcd4c7346720b3b88af8acd115d096ec2a571f36f63f2a8acd17f660787849595bf75a28909f2bbdb4b45a22a3b05f7c2ad86944e73b2fe5355a2b440c4a82b77eb3e0e5216fb04c4e509bc4f5ac0742cca4824b2704794df4ae0592294e45fc41dcd079c003cedf99086d14160ef1131285cde3340f23616a64a74a5bbcedfdeb2923c68b56e08f586e043053a15374f6059d4750440720a220b044f9f3ad42cb6b25af4fb036fb040554b7486da3023e0f33e2a9499335d11518be40572a30c539b3c94bb7792a5dd0afaddf9e254b1d2534ca96e2d85e193ae49ab33c557d67f681912662d98896a01587a0eadc43c8d13df168bd4785967cb083f16c78c88b9fd55ed0ca3fbe0bcdb072cf635826fc8a66a395d845358392dd8e5a8d82f0fb62c039d2b492ffb37bbb0e659bd9ac899cda4866bc36ca8b788cfd751b2f0c89ce983d5445f9fdb0840ea957a7d60c2b239b35a74f98f306f1323bd2e8671dc211c759d26a7915a482a698419812c6a07d9aef45decfca8cefa727ea4b322a4c5fed58ea05cc30bcdb641fd1b43851eb049d615c806b0d946ae29c560f54c5dbfd70fa90f8b0c04771d23a110e3e462a34e6a55a1619acac071afbe1f9aec2e86eabc12842db04637ce3e11e0d8dbb1be1accfdf45633a70faec505f368feaf41513185f1f30719107348e5e5cb1dcc8d20fe2b8d2e735c4e60876457543dae339e42f4f25f1753e758b88a75b32b9c3cadb33df26ea21e896c1124670c263fb0c8d0293f44c06259ad29abeecca630b68a736f749bac630deb9fbb1d71ed7be7f56d0674bbfb7ade817b034f1733e853227ebfe091228f850a71f249f738c08ab40bd6acd1f69ee2322ea7e9131f4808f9080407ea1dcf4c70d94e55d1a27b5e4979d89f14fcabf10d6591ff431dfe8a17cb767fa43b264cb5d6fb151b720bb384705b4cad1265d400a3d6d534843aabf6480a201ff414f05191f87739cf2f23bafbd07374870bc871c5d437a27fff3214922f92ff74438dec3c560f6f8251dcddabea30479eb51431ae1632abe9f28bd613008d37f939c8705c78104ff872e7e08e8b7f38660a0ae68593960d6d363ebac5fbdcc2f8098acbd7762346591013a5eb5360bc5f3dcd9b4ecfad62bd3d7c17b53ae7e9606a4b56aabaafa3958420ae8a0442edd41ea28a575fb9db1f2a1148aa518684459a173ddd56f2a87174ee01b8e897280ccd601d29c46bc3eac82c554a58c09a731728d784d749987ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d474dc8b43b03876a2a82897e15fb8477c956e4b18b9fe8453cfa4094837bb5517ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d98934f4d88c7294c71279d437720d589ef736ba3f9d7ff8d90689429e84ed41a7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d98934f4d88c7294c71279d437720d589ef736ba3f9d7ff8d90689429e84ed41ab1156a1c0d0f93c52b3e3e492720dc6682ffb32b275d534428a4f74ce1e2a0d5ff227ddea4b041a8a992d7b8dd0e2a529028418714ac4758e9c7203a96c14abe6e24c9031dd66ff9f13c047c3da673bb27acc341f5b63f557dd7fd78f4402898f77760056e559cec407344e118a2036a4ca3b5f78db0768a3e05afec60367bc986b6794fdaa3da9bdaa60bc8d1f8cb3e8f7ad8e05f86a41338a6bad769199f2cf4a19151429b1899b994833665d81e9b785f770459bdcafb15303ea9edcfae23fe21b3363d3598afe0fd23826999d0af2b0652fbbd1ed82280ccc4e5a6ffbfd440d8b729630d296c9e925184c6b24ed7f2ecc8b32b1941c6b8390dd3f16f471406ecdc7cd6744d8c96ad453d67aece0941ff5ad7fa1aa5d9bf0c144dfeca41e93fece0204248fa2e57a4fe09e0ee1149e4fe66d0edfd1b454127f1c6f310636196ff1826224be70a72a6d0cb922a2726d630372f7f5ca5e2fcb5a790a89f81a372b440b4ed2729f6b038ec457f1d43884aef74b06f129d324f6186514543e269cfeca56802f6fcfe22aff0647c756cde42dcd800eda4aa858c178f6cae8207a1a6ee0d0ef161fc284d75affbe273c9584eb7398cd37e611d7ffb44533684b4768410fc2b1fe9846d9a6cfbbfd2e2b51120387fce92ba1d0816f6bc09eb4a0a13a622b46ab87f917512f3cd25bc34be54b366f605dcf6b9d4545619297ed967a453b06f8177908399d9d6b06c8428574e13806a746ab21c4a75c2bd6d3510d5a7ba149f662557a0e850255de23f785d94e9617f76e21af96a1c8aa7d5b30f613a41f2cbeef9cd06e0ddd61fa8b9620dd37602e26a5614089d4826d6f739e0e43b05ab6e50e8da310596c5db02f727119d0289665d7e4303cae9b8aa7e8cd89e4cc49fca0dc8ed672f2cd9db291672426fe320ddf79ad971e43ee97b51367062810b49ddf0aeca9f297061e37a04714f3a4e27b93444e0e4168faa4b6bfe1a952e7def724a5e803c0f16126c8663fe14b8bf76bd3172839bd1c0afd1163fedf91534bcdbaa43d6d04efe4a8c9baa6acffda4966e72563d6549ae1c12177a0112a6263e800cb1e350691229a77754bcc56e04d5dd064b2770961d426e56f4e269d30cd5ef0a8049d17f81f0817013e55e54efaa044f98168d4e79b4bd2f940379868db80dcda181c7cd855b99a13beaa8aac280bc0dc04d3841a196e2abe55373da28a31735f2d7be51881f1f5763e9c93b1563e0430223df301ec31288437e48f05695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e195695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e195695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e195695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e195695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e190a8e093d58ad78199ec654abb363e1196f63118e4218b25e0d085e21d3701d394b8c5cd859bc7fab45107f2411c4d73bbb0045ff4735a0fe4e3cba8427ab58bd4967c9ba9d7327235b9a8ea6f67b6cd32470f11c3ba4e993d4d78be1962a27e0e71be3a051a58fd939c867febbb647773a0306b7767999ad35f4a845e5278d0395e32cb80ce43625650c04adfe72a99511b1debb362fb6860e3d28e40891590e6b0eb2a547ea62daf0b6f55eaa90e0f0493a72f90c995403adea20f06eaed5933b8981e0d759f390a2f076bebbf7e036ad680cd9497bef1b2a6703165ef4cb33e4dc84a602c00695598e6503cda22bca252db0199c5181adc73831c068933578bab672ade25f6f946540676a62b67f591070b80d2626f5406cda46e68ccfaa2a8061dbfb4ad652bbd55d70dcbf877f1c36e866beaa49057c9b21cf463f20871e42149dfa831c8895b0f68e24e8d09138ca82a27583554bf6aad960b801e990d30ae34484c5cf435cbc5c415811094973d17a4331be426f6b653d5cdaca28bddcbb15ac47a9b31970eafaa0e0bc53e2a6362f852a55a880137844f187ff6ede90061eb6d1d2990ddcb4e454d163277f834e6b94f4a028cf725d32dc56dc0920e3d90ead0bf88185be8301d5f664d1c18d740fe2d52c1e2f3dd5b9d784253488caf932ffcbcec4462466853ac900a172b95382b813f3516ada81e691abcff670c0e22c4816f6647fc66627192a60e77eb8f77170eb330ada6de06defa914faa80d5050cc0c4be7f27e5bd76ed09701ec5bd6f26d5df7ae7e18b02d347907b0d3b8895fbb5de7b416f55275e7449f7c781b0ae8e4cb3a61172ca7f84aec1647882621c9212d92692ee00590fe904f5d23da2470773f53df224e881654d3961d647ea79a68a397798466e774f586afbbb0583b5480ca49b141184fdfd2a7f0f98e04b319412890078eac8ff4276e4c11c6b3d1e921a76245a9f1a1fc0d474edb1d270b8a88747065de6e569dc3949835eea547ab23ae5fd2b42b71514d1aadee5019fa170e1ae8459425e005793ad92c956765c2e7cd27d31dab38a3927f6e498ff10983514e2ef9315420a90285e288f23753b396fc4304f199b4d976724c5217d655c67e01d33a9f58399aeb4e78c3444e660442808ad92aa06003606d08da918d80069a373dffdb5e775bebc8a953edebc427590cdbded1fe647150c7386f3b8cde7ec672a73e2e27a04bbf790066aae409799ff68f2b9fd4c78dc9348f83fe35734c484bfe05321960293d2176cb6065ce60be940513efafc819824f7c2a7320d7e20340c21db77028979b07388fdb668d85301149aabe2b96c303e04eb67ae8c314fb50562dae5fb0f9b0cfc68c9e242ef7c543ad10afee8061454ebf76567eedc380ac232fb2112c5e8242b1db581b09784acaea2515bdc6454ffa732fa427e9dd81f7b741bb02a3cdd224163258ff595dc1602b37f87ec978c74dbff498d3082a77bf9189bf2d27c37e10d49d8f3f1fd63711ab64e66e29164051d4b03ceeeae4bf85f86d9b18035f64107cf7a18adb3dca0deda3e3fe88a7540ef674b859e3e7842223a92b2ad723062c9d9393385c6fb4f55cab93ad71e25f8eed60fd384ccd2a26a544f0e84664cb862e1676fe89424ad6f5126569123ec78eaf1a8cede47b08916a60e7599e1b07df6027b9fd7c7c7d50ad176784b9d1c361039c7722358e94b9c9d3f7b9d57571b8b1899c5340d963742ff97c27ce376accd95ffce64dcf9b04a3a28ff7c0259709c395594a8b745a3b8807bea0da30c2b29a69f35c697fb47791be10bad3750fc899a74913292682a59a565a792ea9656e60039edf33bc3a5a17702b8a08549fc05cc2d611da811cac6f6ec1d6c0395a12cbac897e84d91e646cdd591fae7998d40b28de895a141e56f9a4a5c0e1f4ed411379d5bcec9856b83f72b3ecbe992872a130869ff3d568a36528ebee13b22c8977b7a24b450e5936bc627061e6ede3defb0cab2f1bf220c53fd75d50ed23eef79ca17f90d7aee9e5ef9bd906905c0a6553ac149148218e278579681e02e4f50decc5159a56da173783e03c218b05e6cae87fe73f578124db651ec7f4b275da1857493d9c6477e6b6cdc6f93ad75f5187e5a7c07a973a86b25635b7b46733659c562e1a95ea5e2d88021d3ce20f3ee178264a46cc22ad702a7e314804f9be97ecaa0079072021debe60e4016957159137c0ac9fdf2fe1ddc9fd33fc323421167771648a555bc79b18b889a74789732079fa44e04d91dd835b56c5a4b6aeec395923a44c20c81eb62869faff0ced335cbe32b493717af9d80a779f5fc0aaf7dfdaff11c2399ee62d78602c44b15cc96f837fdd896452af2f9262df5936d80dd2910e06bb3d119f285ad4bfdab902ecc9613ed82a680365e98f93f8a8880ff2656dfc98d2122722be875796ade64b574904ad78e422130727ecb5003606fae5787126236d3e153fa9f1622fcbc82a834b9a9aff1db79fe47b73b90eb0a450f752c1e1823bed3611de7c968f4a972c1494de707c9e11ec010adb07ffebf3c3455a7ee3b3df69862fc795d77d916417e4a15d7a5c3f9806afa37373443aa1b5fa0aa8649de283d0427caa00f92116d71afc6354786126556a50a5a9081cae1a47b458ed632bbe190121d625f80ff0a4d87e81a6bb4d0fa4409f30974c325ace8f27c3bfb6b455dadc4a741bc2101c06487e1553455c769068da9f705fad5e6e1a74cc1ede149d53240d936372abc91609ac44b692c3933e47d896f2e35ce23fb46c11b18472caa4f11e23f231be2cac9f60284f823c468633e91a4271c5105e728807ad16144d5cb3490ba4d850010d82c6cde6ab389d8d6ad5a5ecc79f4c8946b7f33f09694a868a7d600a83fc44865ae76de8c5f6eae10f9e29d41fbe75ce967d9e2594411ff1840301427632d4472f104876d8628553b299b43e26a2b49c30a00ebefa8ad7ad9879873f00041288fd4cc67cab2c86557eb86795d12581325cc6327cb60682855e6e7a06dda53909c0b58447f44fc80e1bfeed9b101c02846df956c0198222a8e5dad513fd49e82da7e717dc9be146b448a1c141e83cefbccfea15ad586cb9f15460ef13c41d70b1e3151bdb854436b763c860f87626209c62ccea946fb6dffe0a79a10c37aac09a571ed6a16ab6f25dbf280bd247e366e35fb143b75ab482f35d627631b671eaedebfcdec5944a327bdc99c65df8a750232f6a84cb313de49ede6abcf0f580b04b7e07466c8a2797d572897139b331aa3c283a5a9ce27066d78b52a5d3bbfe31d6f81529e3809c4bf1444320981c6e6c7940296c1ff92fdff759fa8d49442f4758f29d915eb409c5d53f1f3791ec4cb805d7d6e43322ee934c692b3d38f6ef6933f6ab67eb704f6345bec33ee632c5bed545fd7ff8610ffa9caa062c01eaa2b8a2950608259847e5e26f62758606073be9cfc65227af09b51880c8f1b72f5302fbd7b7b8d3fb772b4f5890dda8c80856b8e11862aa0f61997d7830ce851472e34094f7c6a1438fffe91ddfbe1c613464fed7a98e692c4dd4c58281a7a920c6191a37b98fcddc06147a6d8907b2911fe7c37133539e15d1500e82c41b9c8c4646a7ad967226a5507f0efbe956b03e0c39d8eec274af263ba22bb03f5de4b150681ccb30075c90743549588c78ca5b94dbe25d1d0650132114beb58381249b3389b6dc6f73e6ed1058829e500827715545ee2fee937877a5b00fc834cd1921cfa88b0d680c29f72fc0c839045f36166030d920ba610e8f3e112430cea74e061a7299dd929b70e702a4df82434ef6740f28475f25bf97415b5228d82eeaad8f0e889a7a8123287b111937507457d90615cc404e03f9aa6492a9f1a853637c7bd09136a351afd2095ea5c533d7a79e5a1c1075cdd55cb21e941f9d412b6499ec300d79275dcfe0338d231e5f3a0efeeea8a31168ed49e0db463dcaba806996ca78a7e0e1a4fa83249619c63ed1fe9be096c0c234d44146b475dea01cf557d5f4548db7329d00bbdc03fd2f52a34534c0f08e2d9caec0d7886fddc2d84a5682f48a4f252057bc1fc43abf04f73da8e1bff77cc5d0145355bdd81bff82ae193fceef126580b8b871271eb4cdea8d0a8ea333bfce7f3135180d65f33980ee2103d98872841b56ad5ee1f10aa30de0ed70009471f500a5bff81224a9af22cc2d3882be6525e3f013dcd73cb6168f2e54af4dd3e3d21ef96fa0935383947f9689b062d2f4fca6e9fc87d4df55d1b7755d78bea4c38bc5bfefa827cecc5b18b951d932f855791dc3a07078a093e9c109641cda8d5a7952ae7fe54b95adf46d2d3e8322efc6072d057fc5967841deb6746b5eb3dbb78944f652be4d6da704d832b356f1bafcd920b59393668ab50499de9cf4deb2bdb1aab0fd04b253aa6f0ab2817ebaec1b98db9d4e50f555d9249942cf53acd1605e5568394b29f519378fb92fb9cdbbb8b755f0ebb6af8e5757884b568f1bb1ef1a175f89ee9e87d9403c8bc9c42d0c4b9877a843b69d99adba28cee668c99c4ea6cab0774cd76a91e0b80d561dc426f628f94a60a582e17a8d0c53e6fe0367715471efe5bff963edfbff9d23874dc069750a1675ae861ef08e2ebb4dcc27ac79d093c1d5182a8b3f62badde575cdc1caa6931964643e27ac1528ed6663f34640816aee740b758aad8ef98a35e19b526b1fbf8e9ee6473db961a9b9ff7a8743cfda752cbda86df5bcedecab95c2075efbcd1fe15309af34ca0f9029297e131082d0de8147b9d7f2502385498b2c7e58778c1f929a7764066c6800d07ee778e3a13b2ab0239134c311d7e78a8b0ba93b61c72ed20533c4e035fa262c5c8f2693d7c25ed38dae42adb0d3756153c48b523a9d6510d3a42abb8801e612dc6b621b206b362bd0993122634012f480f48ca541a7e5f124bbfee669e71440bfe910859a93ed869a498c54abf4d0249d3c7d011fa273ae93f5c3e21f2ddbf477370a6bfcf9a42aeabfb4834c893483963d698a913e6aebcad26ee643a939e72949f29c692f2a6c102a51085ba9525d2db1fcb00a59f7b5d3651bc6b58db9ac83b9b154410b7544d1e1488e1a9a744be224d66229e4257f917983b936340e3c78cde5c32eab0d9664a36ea649023fb1656a586eca32cc6c7e5f9470db7346451890b524c19c2886b3b220ec7e6bc582b0427554723bad48d53ec0f70acde980a6977b46bb9acd42d96d604ee7358d484ef6fa6dbd9fd37b32ef917db500753c4abd6c42f645c5e70a9627b7b0d8da7134691ab738f2dd098e384414e742cb9728634f5bd44a09b671a2d95459860aae7732064d5de3ccf2eddf725ca4739924d3495a4f603cdc4f8d10193c010e26640b1b3bddfaa81eeb5694d3e3aef600f04c37c1232c31ea82c75fb0eb29b0b7cdf81e1110c6478e347aa5bc689092edc088317409306d96e039c581926ab7d950e1b165e14d5082a12ee480040304f00ae0a711fff0f6cd59698e718d5bc915df182b1d95f673cf8fbd47aa8c00518045b82dee232241e2714b4aee43928e9f687135a3e4de37fa3d287fb7d2351f4d206b9033df7f0b03297b519fed59e85cf57565ff63b3237dd68d622a84e03e08e0c2aeb40cba0a371b078d93ea5bbe30c3ab193182c72dbdbef4e703282ecef133bd7adc1bd50cba1469ccbb175b0cfec33dec5c09f33870aecd00711356d04a7cd57e5eb7eced0675cdd7841faa57328a428a6f8c3d7b1fd0908c3b5f327f4a3d57c1992e4498f339fbd6cc3cf5a61484237afe94025d75dbecf67e7de3cb6ef60a21c138a2885919aecc058d4381f9f2dd853b126ed9df5ca46cc9e9ac4ccca32a7d9b817fbab863b2eb407331e50ae0bb701bab6dce441891bc87e68eaddee89a301b64b9e811aa49fb649ecff6134d37e2e60375afcf3ba09d276c5f044045f32afff6d86c136ef86d37cee17a68d87c60179b2bad3b4d103c5cda0e1a066d30290cc74b76318233e0a93eb45ae80999ab92a3ea916d87d07e7b25a3fd11efa1237cb723e00d9c3684a6bff25aa78a530e46cff28c6149a8e001431d22a7039c557f9b1dd419aba43aca15609cc69ed349d2f091a9e198c1ef9d4108b244a5750eedd77a93f55eb82e78b4ac2e6dabaae3139eb65be0064f0f057e8944f4091e4bcffb61909b224c1b0c220592d7c429f6c795d8d93c10f0369e1ad18dcfb7668a5fdcf0057d6df2646436306f5a808d795994e58a507387bbd46cfb36bec4e720b2eb9480d9578b0ff0b9ddfa019a8aee0f9f46796ca103b6c2c6766b0ee5fdeb09246ac08f08fff6be828c7b5cef33eabee5c8edc6f00a88398b352e09cecf54ade881416499a22b8eeca336a7edfa7a9a08f2a7d59cab6c716dccc7a142f5d980fd3b14d12183ac8af79f68905dea2b245e23eb868bc7fc4a32a7618d75bd7ce2a950559f0b00d0265dd55fe58c22daf19a47bba29b5b468c7daafe7659eb4677b2e36ff7e98b8d9bf0ad2553bfca9edd0839b8b3831def12c635e550d179f487f1d79f075f44eb10196214d7a2860affad72e433b9554def64d8080742b4e6d802067c2f02d58cf052691189ab41f8557cec308fab9fe3fc22b0a9308a5b44a6437f467372238254bae169479543daf1902f71436b1d9ed887fece1d6aea35fe1510089052ddbc4773646f9b00a21e89862e80644346ebb44863de1406c61838612ffd78260dcb8fd8cc2f79f9d24c425338d4593dc8ab68d9d4865e61ed3289b9b31f72cea5862073bc7315b733a9a13e2a65ba9f47a93121d6491d18e9bb5882894b6f05b7262471bfe712cc08d04071c24280d7d1607f7bf3f1b6e108fb02e14d84c5743562678ca1045d5e137a8378cf6fe88fe145e3e7ee95359ee31da02506ab15825c8c66e8da5f6208486a55d847735e0d351e374a9f94646916fd132e72e4f994cbd57fa6bd0a3e3ef841cac5fa74ea264b290e6edaac22c7124936feff8752a4dedfa9701c8a5ff43aee9f1d230a30a54634f294b6678932a1b3581ba97241dc2062a7f2f2bcf68063fb3d3d3659bf7c166dfe1da7bf54353247c925578e961b3446175648170b13cdb43cbccbab26d727af7bdbf57fd1ce305ef38dada643a745fc8115dae39e5a456ec5c848f564f74ede28c7a3ad285329915a023486569be7f5de6b2bfb470db8505662e2e1c44c46ea81b37ec49bec570271045bbc306ab18e1274939bbe2bbcd2c3b5d5548637cf74aa692cb0f40701297caeab58acdd899a831e3b4f118aacedd22e2c2b498ae910fd8164ba2b8011ced0cc9c9727e7a3b42980aab4ab0c9a6b88d3244668db140e150193f8650c9259b87f0e10c8a1557a72671a3bdfb380ee2a64dcba12e7cd6943cda7b872b94389cfd625561d2702eb64265623690d11916b46c3b00034e0119e71de253402ba95952338243b848d24e04884744d6b24b667ce8e43a944cda1b0f1cdc02c89f2fcb2a60b43c18f7adf3f7b90dc80eec7b8977c0995a4be970d5e08eda7545fd8faee6a601d0ee7b6d3771d04fce7471975ac8049b4ce00c6ceb616cee6713d3d4a321e5532f7d554f5c60746a85f75e786d62aab7dbfce5bdda5925a17c5607f5967eabc23b483f3cf4c721876184e347e21358814c02a1dcf3b0d47a001d4011b22f6feb3362dfe50bd6518cfc10290ba4cd6e907958dfb36a323503e4eb872e913c3e5063a764217365c862a5a77c4663fae4873319523f9882bc437c9c67a15d7c19f0fb45dbf3e216e05763d17d5f4c15e09958434d7745ad3d75246df9fb022ed6a3383e1235580bab78c56e2b85456489afe2e3228c5b78f60935fc324fe11a1d49e16fbf436c3ba745d001c2c5e8819b64d220bb04192ade9fe0d47989ec78821e084a935c8b49128bb569eb218d207ed7d5e5ce68a17364bd54d793d29db620eb8819d57acfcf17ebc8d7bcb0e4568b9b3249f241de9029849095d7971c74a84d8446969baa9708b1b40af316fd8cd29127b8197ac91ceab6143f3267133f075780864a4f68371793646b526014f1daa8432bc5e937e4ee340625e9ae7640115614189588a04f6f9fdc19ab3a051ef62836b69d0586ea1188c71e42b901d59b1bfc4b30d5fd75cc5b7d8c62f79717b8be58b6daaa876e8fb098a20b26f19cd55e0ce7b90b26886c61e2555ca00379aeb7878dffc49fcac716d65b02f762d0f674f47ddebaccbe516c4afe984866055cfcae7ef530fef01a138224a7a52c626889b4961878be12537df05c3145784939531562c1b1977daa8e663126bb2ec2fa87557d14e3fb4100347f80535f9f447db9118f0b7f0e982c718f97dbc604f2ddd3a9f9bd30308f554ac81aaf6f547ebca9cb910ab8dea81019debd497df72f6f4bec5e593be7f7634416937e7fb779f32b857bd5fb66b04c2be1111b2c6fa66c0fc8130fb4372d5972c06ac60d2d878c38043802335a1f77d2319ecbcd902af846e961c13fe8b581a701393d2a1e5c84fe0e8d7e9f97104efe18c4f2b13076685d118b4b3abf04f73a9fba436c50a09443142901b7389f37ea048e511a2375233e31b40f41b35d0197637f36bf9f374dde6df785e3caab3a1750b488f9dff841e0578b8c49a4682fd7947470d6cf0724dcf1da9b45e3fbc4a78470f5b85a4de21ff1872ac66d1be262cf29e1049722702364bc13d8e617b4fd373729123b9160af3779b789b0f46dd2115a3cd969883b53a403e9edc0feaf923313a16d619256fae218e3a9fa873e24318cf20aed35c5bdcf974f51cf5084bd5e6107318934829f70aeaf8af4d8daed1503e231c787bb0040b75ae8da8a8f61578986fd07dd040db4aace4ea946c441c7e0e53c290996252fdd570de7faaffb767b63a867f026f61c45135f3845b49cac8a7a74c70c455b225b1d7966dc4938579d941e98db6468da91e2c09a41c08afe97ec3f90fdbe0bf8415063dc2102f01ec549daaf80f91e133846d4685e13028308e2074e9711b3adfd51f5752884144c100dad9b76ae43eb362e7326ab333ca296d504cc7cb59e3bf563f670bf793358bab6df78e1484815c85e91bac27c4d21d7b1b2fa478483dc01edbd6fce53eccc1a7f643e3d91b5bc0ec1bc0f2c7a51fcd671c138d3ff7a33dd80dbb841b41188ec6781da7ac5fee57d92cb71e1e92f3ca722747ede0f9093d8e0c9776d419af96a83195154a6abc9dae1df2446631143b67e6eba111c265420697796d5e15dec5ad0b334bfb4601257546f0a5fa8f3f8818f4eb85afa8ee1c9e912bbe04b95ab8fd4a1d89dcc3fdb4a1da59456414626ffbf9293d76574110bc954bcc3ced0c9e998f8f1df4cfa1649e8579e3ce6915330cbb8f2b43627bcba62c1917c45235c815a5385bdbd91fd90a1b17d1fc47649388708c8a2af4b9ae7c69f2874593aeb89495117eb48566e439f11abd2048946f77ae09438dc95cb2d16cd8a0a017c815b708a20d71af486b6493019948b60e298499a3c17913b5353d5a8fc26f5acd488a7d0edf7ce841eada9b038a27ad2368eba0b804a7a020e14b858ca439cb740d9a322274e76102959aacfc5f0ca373d0a233645ec07809976a1295818ea5a01740b67fdd890f8e4ecc06c940d10433b8cf4f1ba210ac55f7156564e5461fb82b10f4508c0ee603d34b55ac671755d1291b94bba529d00124d48d54a9d273ae0da6277a0fbc5e78b6e0ca019d4ae6722abdc06903dda3a9f9b8f3ee706f2a3746c42d2715a8b7581092841dc1c58de9af7cc2de222a140ba958d18cdf778112ba2d2d5d79af162854c1aef2c5c1a39ac47639d734101f0af6c4cfb1592a555acf76b9ed422901cc6cd0df8f1f8a3ef754ab0855d145bbfdc376f6c7084a935b6e191244856b7bec5b316ad06b5d01c63f07c973b75785c74b977836a9d8e9d7176ad5c69953f55dc945dc7820bdeea69f47cb22fc46c684c161d3d36ea0c6942dbc93faf0a64086dc54340005242eaf027015543d54bc13abbbec51f5b47e9f16db40332bd39fb0f4dc2b079b8dd11bb98ce2b0c0efa896eb7ff4344a21f1ef72f774b4fc676e02ad51c69940c6a661fcf1c4d35bee762d4953a6145e079e28714ebf37857000e62114ba15a9a42b534bd4039ec32a26f15a974613b7fd70137f80d4a7e56b8bdfa5992a003a1c7ab0bf45a44dbaff9a1a61e99e9f0f65954ac38f840f4233a0baa4243f167d9bac54b6889132576ff2ab9fa39f2cecb68be571c363b6d46842b1920e59add1c740d0563bfc0c0744a6f2095f6d24d95e5ce447a460866524a8ab807505e8aaf95db01875a2291577137a0f594c9dda584af765016336e254c3560d854c80b7410adf120b34389aaeda9a504c7654786724cb1b2cc27677ab93c7f59ac649af1834cceb60ea81033ab43c11dae692d9631b5ccee4de86a35f8b9a9fcbc5ee4448c86e5b4a8935ffd19ea61243c2b48a61cdb1072d05603bde44788ae2200811131800edaa55e749f24f13ecb3a3962b429fcb8ae9fdb60adc0cb3c4ecb746ec6479c1ba99d616a0ddeedac876dead2c584101353f312b0d8ea10f0b6b37d07f1090cc30d4bdf5e2e36679923e6df087db05a7964ae7b21a55774933148003e799460fd70caab324a61f3b674ee43a55a9b9077f193d8e2b688f6ea938230c4d9ca3470f6a87351dd422005d76e72800dbbde607e4ccfdec5947546b8cf1310c8553980ba74924d6f87750299dd56c6785ec8da8f326a28ede3265523892488830ae2efa6c26ec072c7d80258824c1f0f67cbb64c539d72a09d55db3ce3fd2b2dd57f574eaac2b13fca5f9a64ee3f56e6fad428da17229d911f2548fc7de63f9f9489692d733ac69b1b6864297ec57ce5ab54604e43163f86dd04304450ca2d4d73addfbee863017f2f5526b6271a3aea546b67e1b479f6d45f4d2f3cef080de7603916ef8380ea9350c5da7b61e340a65ada32524fcd9d684b7215cf8636106adca8114900b89254c8ac0b1745b3a144bee4e85157a6174129f6cf96c1bfcd4078826517010488738a7073b789a8a8d5e11c0aabe659f62f727d4a5d306f4a4172f45ad2791c09e50954da9eb9a01017e5b6c849d6035ec15607c84d38d66cc959c48b6b95992018fd2e1301fd076b17018c8f0daea4eefad1f3ebdbb2cee73667162316f62f4db2d00191b148fb81689616975e4085e37dff7dda2563f126620a60bcf0bbff00cfb9246763b322305966d948ca47bc8d2e2e81dea91d6d15af9550fbb972490c4dae700114314b4dfd7bba4eaaaa45031cc51b64c85997b07d5210f060b36b10e57ff97e37d63a439405bc0075498f78599da012a97de8a4d1c73d694d77c28c0f8751e7d223eec86ed50f50ad17a979192074d69e2f994b187d8c9853db0b8ee7416f98e45fe88d2303b354a656bedbc8646273357e7b33f199b62ac57899d565442046c255b596912a6686b21d242aaaa858bdbb197b8d176ec60694465b23994423fb29f94af331a5623c3c444d15643706e3bd0085cb8811cb5dca79434a17022b1a61aca2b27da0d20a64a1daeefe121e6c001e7b3bb388c73a5bc82e5f931aa89529d620ad3573b264e07dfb733cc7dd6a09c239cdf49d1120a3de1ca570fa9bfb8760f266e992a8211e27cdf3b32e1afbe6c4090d5913fb2b08cd886377760f24ec4b8c0daeb4c5905e14fdfa9ad37a9a46742029065bbd260ee23d37901269e13f80f1e5f390fb4bee6bb458af6d9761b9e6da0f8f66fb0364ab55791618faab639de2b09ef4d13420b0f7037f778f33e3d49b94a91883eb1c73bee6518e155f2343a902ac0c7b3d927bc461356ea383d35a835bba7779eee70b6ec977c7de5b48f974c655c85193ebd70e0ab69c033e5d100687f7334dd2ce2513a7c6a3b58b1d4e0a1a7a2714ef8b586337fe7a72f111b41d861487fe9fb14e1b418514b2a85d293c4ae8f36f75b22d7747b6130933d7b26db09753150803e3fb2613f58174127ff1a3c01bb5755c408c1f1405bf98a20969c0b185048c5487dc6a8a509e3481a5322e2c064a74b823044be76914033ca575e38d903417f39a500fe272c4566445b1cf72d8349e1a02764d4d1a0967ec5b00f38f03275762a3f1b93709876c0e4c597c173524f570582d1f6bfb9cca359aa95126594006992b0ca8ff02ab618db5437574299e91f2b002ed249753db1b0dd7bc6f23a3f6211f88b882bf7a938f322a444b91935eb6e957ee7f3aaad5bc6cab0e8deefd9410f6ecdaaf4385ac03325a4366406948143b459eb8d54f9f645b3b7b39a5ce677bd31032f1e02dfc71fef6d5d4bbb3701b8792114c5dfececa0c4844cda76bf06dabbc85509c37447799015851eac70edc3585682e635c0d0ad1f04ae79f6ab0202da6bf09dff99bf9c19af6bad7edc18d6ebcb30a880b7c22b7280e0a0e12727d267292b7f7d04448ca206aa64d4718bb873536d8f3636c9ed9003082ea1241446874be145b7e9dee50f015ae5f9acc76eaa34c7887b67e7e83b4f780663748daec46284980deb84afcd18199105b55cb9eb71c038c79f4eb27b71d880c0e73e07601d836947338667ed1fd2760fb12b5dc41acca3313a9b4aed4e404f118fd29f804fdffb7710f33bbee90b32179be5ded98d11e827c9f267c1ffe04759c98e13145ed3eaaa7408be4340dedb9bc18d06e3e779f24e5cf1f26fbb6c73ea582c8833f582ec82d3c38789f79a9604e966d31d6eca67e87845d142ec8c4ee2cc480c5a20a003f0c8290d6ea232ae06e9cd732b4522614071ae1e6c694591a1c21b2ecc3e1e45c443d3372818600cb11602ab47587c7682536e7e83ae3291cd34eaafca854f1c62cb71176d0a9bcc66df4e465a0be2b513ba958fa175de48441cb625ead171c2262e5ea8d32b36f1bb1e5b5b208bd08a4bead1dd14aeaf3f4b049837394418a1da41033df0547ecdaad1715482e02fff7c75aaa8d6ce2a3866ef2087ecf9abf8255d20a362b1905f624a3e2ef7a5a2b9810f7fb8e427720673a6fad7ce92e83a5a33fd31b8d8766ef06a974218fb6ba3938a226f858d786e79b767ee419f90d1d9f70d154d4b8717fbfa0494eef53c1a616ab64b9921ff4f2c0658b5498cbe703ac6262fcd05a08fd9c07f1919f714dcecde213e4ae2e7df2fee6dd0cf673f2c97e75e160627231ff8b0c415fc05d91246b6f39a82f9eb508e1683e6167a6c58fd65716f77d29f6c01ad85bb9a692f1ef4af6848e585118f673fa1de6544af3b4821dc74cb2dfa164253e28f98b1b763517fab6306a9fa614aafd30281a117a7a73fa47b95ef381bd5180db2805daecb297524128eb15cc66fe1d18a1a7c6edb14d4da6c81f91c040d3a6457d83a10f820d7f844b6f4a2eee69f3fcb24712d768e5b2ed4602f8d3fb6cc6383bfc8e87edc0d70c6598a0ba1aa7060608dbab4c5aecf83e2a4de57489dd98e6bf1feef7811c81dc166dbdf061b4b690fd32a9df3885b93fa5ce8cb7b8a6614fc22ab2de78564da55ae904eeecfb0a13beae680cd89f42b0c08a39b31f383efbf8138b2ced0276249c9ec38d45d211b88d9fbacd95a1f0af9b9fa1b4c11051889956e1e7ffddc98e280eff553e2d4ec813375dcbe7eb7c19ca03676c2d02dd86e0774fbfe4c01bdd29da9034e422dc0761c91215bf4793d98d76e8bc027d2d9e13c31e0b129fc06dcdd6d49ef659397fed958616bfcfe224c559df84568a92a80ec163a59e1108ec1b3dd03224d9857de955e42dca534d551311f8ff106c48a7eea9e165fadba7295509c83ee1487b52ebaa2fef89047da55e923e13abdf34a48859e2309881ed16ebdc093fc39a7985dea922b915929b5492135be978394c307a7615432a0afd9eb6639f9a300917964f0308c01d311ba39ab380c308ce0b141153221398440bcfcd2aa040dd76aae7cd630b11636b92ce51ed346c84533375b41bbc6a762947cf162353972a8a9254eb12eb23b45e939839f62b3f4980d9061ee2f80bfb9edc897d4575f9863245b459ca28a3caf07a2b165865a17c8f4bfd55053e68733bcce7a3369dcc0093dd3cafd329d99dd4e945c55f094a7034998600de2aaff26d12cc1452004696bb2b2f259fad1794c13dcda6c9dd311df018a69eb85bdc6e278543564da3952ce86a3e8905fecefc33ca5494957b7cdcacd7f220f80dea30c07ed01442ffbb809230ec17c591064f7847f44ad38c8c80a2facf18e3928324771a153572b35ba689aa5ebd7a0c24190310938130e76d29f4ec338679a7f115a9310081f3b648e965df3239704c639d030c6f3dbe17465d50a43786a492eb3f7d6bc8a5578d0fd5346bfa1423fe06c6b68c8c70197be1d06557e4eecca20576878031b5b15df716fa02bae3e9f46905d7a0eb05b000cb3a87a4de8f4df8d636db5a100e5e36d303b78dabcadeeca9fd70124237caa0d5389dd61edf03122a993808aff817c0b91b827b4b6086ac012597b64b37c4f76688fe977db2e494721df9e6eba765ca4d0c11edea74490cf12e81b68688d0ac2a0e9ef03e2a336c33f1e8873dfd73635e4c4a3c88a249b003e7b28251858dc2e61db414ba708419818ab18ab64085805e9886accf8f973e65786c9846f4df49d23b7fabfc144ab6b755083af52ae77e10ee31f806df82ffd86b064bc6ec7c6bf835c4d50092d45a7779660691a2e76c8015fe2aa1813162c8661f48c7e68ceb92d51855cf82ee401ac01d2317280baf3b2d392d9689de6c7b0f04f4685fedf27ad3e2c387f63022653080fbcf686898865f588291c132cdc284232d4b0c63a434260f7d873291d33fcdcd5ab29c200739843c287bfa263172235292aca28e7c9a880235de8ae30084a1cf82199bf7918acf23bb7c6bd432d9ec2155fe65c30cb03e5e5270ba2c7fc9c1cd4ee42cf030946c47065eb3a6dca9fd00b8b2ab3272b76b9c584b03d5cee245317a524d90209914986d56bcfab3e261093353da07e733a5dda58bd2478c1e3a28f33cb769c2c8073efc7d7fc0ad8a24a615fbc57d50c0e30d969976e9d527498f18bd248bb6049ad52f6cb8b69d4e505422c0f774c8b724188b61dda98d1cfbb0852f053049b9ed6d17d808771905161c7e5033c40dd7e3f8f93e6cffa33435ce358f9e8c7a314f638320021bf6317f602ed833ff58730c03b6c9c4ef22c342a82ad8ccf5a6d75377ba68c7c77e20c4f1fe54a90ddc1b4d3a49dcdfb7696979e831078157aae2d7b6224150cbcf954087569ecf5e81a1c739c3ba8be12864dd1eda3328a1877186c115f62376d980078a28b1dc2bb2d88f93da03045a70352769f55d9b003962fc7078677fe25aa60f744a728d05d51c954dfd77dba1d387bec0097cff365754fe20f1cfdbfd928a4fbf01caac06679585fc3a425f0ee9390a9009efe99a77ccbb35580f2a347459fe72f0a9baf5aa5549a2fb2758f1fe4b59ae4e563c7f67227500099148773187d14dd060e5cd912ed37dddc845cbe63eeda1c81cd2a8d50044ede5fff7a1164fd6fc6b93c4835321c24bdaab2eaa49fd836d84dddb8121cb3b10dd517d8aa02dcc9604bbd425c82146453064e9e1df75dff117ae7c4f16eff82b19653e52ccfe82419a785d53f509d38031bc58bbae39a232fc998dac1960ee5a60385009f0e9dec77e2d5a7d4c81435b73df6ffd89313f94846b7e2ff2fa0aee70e4cc489fd6a100b556903ae4e11e02d78f3c9d31f84e041d06435360404c956e91c55920454c87193959c2542d92b3053fb62fe0cc486deffd96c5d86e69940fc75f7bbe67324d149050bda7383b3a71b9e730496f2d80752f6c6fdd3d23df49173a6aea85f9502adab70b92b8d65de1c3d65f9483063ba519263a4a94a24b2d801208644a19edabd3c0810981a94b16822726496f13af129b9a6db27ce9daab5281786bc91f12547d1ccd4c2d99c80e4363bd692c4a1a527c0604e25d4ab5d1333b70be7879ed4daa89199cd059bfe386c9d518640090d343a657ba54ca6e8060eabcc3ed226d01d1367f81537ff3408175c2f6a95a69dd6b6a918300100b86992d0c87cd09ad270e4daca95b337b6134d3984b966b289125550da9e66c5790055f0e2e61e049a60ae1da1087a199d9e90c04dd7848136b4c97d9cb2e3fa473837ca555f34b128b452ad7e19a7dff3080489ffe466cc0be474d9cc6f4573af5d734f722831a4b061b5f30a3ea72be95beb50a3a455843d94d5bc80ee358a140b450d0229579dafa33674d6904618a67e0f8ec49836e70bd45d0ee332f61105b43991d0ead63a3da570feaa79e71bd69b9f53bcc87fe31351a6a7eb7986c0a72b03d72bc0ee22bf1c7d55c056379055951b58684ca87fd6ba7e2133d24ec6839cfa86a139ebb42f5aa52de1b4be78e7410112e5a378052c76a84ace8a0ba40fcbe90f06fe0d081bb83883ddf6f45d48b8811c2fb8e7aeb6d7dffb36f2fd85389e6e195bf5c5858561e53832d3aa7e46f5d041c9ef843ba48f3f76367c0ea6d1aa37a92f7bb968a53eeb6cb9f28d8195012c878fa7a7eb4a1f0d1e9d53bc65bc26fc35447f53469be541333dd6fc611b26e1f7dcf1ac9711060abfded12f1fdc4901577576472e48fc244f2f2c1f25bdf00e92cd80df18e01627996e6b23b1b776b50a1b4f1b2dd4e4124377c34385269fa2f3082711f8b0c8dbf60f95165c6ecaa63318adeb30acc00e20c7fd889f70fef093ad288db7f59201779d415146710bd19589a5838c4cbe6bd535c01e03115957208932a472428b5e5944503ef8e416b4112c93154d85a2958935af3578cf953db67cb582df73a6940547afb9b693b810555bc7d38629ba941252fb8217086a94e28cf55fcdfdc8351c22ba71bfbba18da3a9f20cdde148a8fef358848bde19b383c8ca6ebf1e4061186a48333035d880b53da40fc2f3eae96a599ec0681376dbcd1efd7307d85ce218b1108f0f531c86d1d62b28f4bc0561dd3ebc8654d5b28ad56192a59d5550e0f29ee95ad6dae6987d0276c242fd0aa2c144b84240d3e40e8170db3dd458dab022f89c06a57e90073061946ca3e659696ce1066ef46613b550a5a9300f4085647c8e97f99f53f635a866ad0025c3dcb4edb9a9f51d15e454c57243df3c55478ff3b3e464ad31bcd693ac72845063c8701f7ec4bd528219f93d2db15d883d12a06c237722840bf630b88d82139e2a3765749baa91231d199f95c78a60927992170dab48575dc3fffaaf4e7d191dacd421cb34b84d264a5cf0182790fcf5c5f531252b6cd8d341a0373dd016db058e893d452fd3552d55e22569108e83cf3aafae1975736f3d1f938566d80f3d4089ce655aaa87ceabd5574259668d39a0bf71a238675c5b3884d57929c3e932f8f4e21e3a52aacdffc32740ef2ad0a332b0dbb7196cdbc4b807899ca1b52249451ac5f419199f0401dff4d31ae214820a352a5c9e0e42f1b83bd71c09cf6b05d7d19e28900cc656dc720f85437e9e429c83b8ba05824e5dca22d37f4e263fe0d44f603f61af56ce746e4f8fac80c9119608152ce74bb38580abd3a7474e2febb8e3427e03048e0dcf0d5e7800192017ef77ec18f66fd1ee067f598ead19fac8b0ff83c9e66d5f5eced75b44e3c3ac9fc7c96b2dcc683a2a37afb616ef90b4bd9f211e4722e0623d09e5136fe33c570a8f127b41fd814cca4dc05ec643d84365dac3688bb5556c303604816fcc956ffd2813cf7f19088726cdf396f5d68abc7d9bf4b4556bcb3eae268bd4617cbdeb26c2eaa426836614706f112308174931ed7b26eb68678064a0167472c4bc653a21cc38bbc4ec295110c19441fce6b5578e0865da9d0abbdc8819b81d364e1a165cef69aa1adc20dc0dcbe32aab559c1da3dffe433028fc2847945ada39d7e37bf4d8ae61d55352235d239881fb257457e0968c018e7d72be80d874911d4075a0bfe94ed9dcba4d99ae1331a4d101c3b44cb778e075223e42682a84f577d4039dd82227f9d7f1aa71bb1982205a5c0c0ab904d8c3e2eed1d4b5e850f3b632ea35eb2dfd8fdfa92727123f5df8e3e11ac557243997d9713fe060ac4ab4f1c91e10698c514d1b3a56e8e7c6fd5c8d47bf0026125ddf2127f216832badd4a0f0fbb3af166e64cee37bff51ea712702ef9db844d6aacc6f939c68db58b5e16fc4aee193a7886f2a5a994634ea0b409ee05974be4be5dda5ecc74f8541ff46d3c9763028c0617b6def6dec9e5bfcf75c7610dab9cac20c7c012d5907b049babb090a6e81d5c9690c71d3a4e8cbadb98cf8d1e32701f23bd256b1ef8e3d5b976da74faee4c0b47698b56e5689cffa430b94b89989c37fd9366dc9375d69962fd6824d88b3c3e556d54eef2a0ca3f4c8e7846c940c7500a624d7264ee6612f08bb2b2fef2fbc41b6d8f68c151ed03809335fc0182840b454f97f310f2d87a01ebc76adf181aaf0957700270d02ac4876836cbcb4fa062ed4b863dcc8d1ae5d6788b30af2a1d92b75fdd2e3c421594826fe5071e3c6e782d0bd8d11e5280170c5af26f6fa3401514533fc671d41faec85801a54b9e97e974d0691aeafc52348744c12e98cba849959b640561be19a1d695406442fda8e2fde7ae8cacc67280e7ee104b50eab01cabe16fd4c5d6bcd3271c5852d6ccac6e6043c66cf42d00a5b38bb44101b6de6702827f89d98ec55a419e3ffb936f8aa8be5cda143363497557c77d76144af157a5b074a3e67278eb8449418fdd78eee622b2a52fe006d47b07583f9f7c04355cd28b23b609728f977c80b0ff1503dff4e6416f3fd206704f3463a899f2e8a439948102760083fa0521c842a8591e3fc275e1a04d4d959b0060052128a39c9852bfe7e38baa4e8c778d1e0683c78aeb3f3efbc1640be6739d999faeceff70f545bdfa3920542085c55aff88ad7e92eb74fa63980023b40df7ae77dbc47ed712a7d18790240c81e153d214b78cf799a9d76ec67c43eb8e2fcf6598995c76de15a9d97f87eb510a552d03bf51476a2164c51fa9a7532c92aea11415de6dc4a126b2a362cf9f16ef60ce60e31088c3bd2efe48ae94c9f04b697c9c7e193368f354ac7f6b326bae08d85e8d3bcb9c125071a6a096b5cf159997f930d53dabc49ac5b189835499128cfacd9ad0bb89bcd33ebf6f6b6519bf9c2cc5d0511b6ef72ac35bd0959a5ca0143a250f3efc87ddd3e975c2d190b2f9ba194679f14eb9c16d5fa1070dd3b39e85a7bfb1125c41d834e9b276dda74e972951cc7d73312c6b32597d582729de020aafdc134dd4b153612a8848a19b4a759c56d798f5d60d4528cc12b6b6ce1799623b0e9cc51a34e4c79633af718b77fb037ae54b14d20959d7e4f7109b8c63e2d6278b39aae8d57353b3518522537a7e6ce2e5ce929dd7970441c37d8eaec739fbbc187b948feb2e0769cfc34644cf8f5602b17750ddbdd49236b0daf9b241623c246dba15ab9add8408e4c39df5d7acecdacb73bbcc777cf0dbe0140d94bc2becc1dee18281003cc6ce48ae8f4f66e64d2159ca58ca429d206449e53c76466f29f62cf16d119821df45ea0ac2f8d3c40af67cb1c8ca86786b2fc0e28a5b9f5d679762195121e536f4cddc2d7fe5e11223c5125787a92a24cfc7162f94f25b2f5f82bee90f17eadbc30e1d33b55644e4792342cd6eaf0ab5596dbe2f52c7ea7daba68af3ddd7abba1ae34c8ba83b166c201960d90f4fef9bea865d2ccf6452f95aaa3fc857726eef948093c90fcdd77626d6a4d84f0390ad7f57efe2b8578fdb4a543177abc985def1417f9a5a39cbfb2b33c97409ff2abbdbae153daf767f53c66aae2d85c0adbb21cb1752ba73395743e9dbeee99f68aaf601435997e4aaef20a2956d77b049ddcece6f32970bf8d92ca00f8584443c3c1690679e4b68353f9c2573bac3fba3c28cb75dc408c3676bc4d4ecc465d55219ec0fa4b882e45d54273d25e9a6414705782dd3b5fa58c39f774649436713c4fdb938dfd03ddc541c00bdeb460a0c7d15afbfa61297f37d5b60cb13da92f778d177344e34151293cbea26ae4b589a8e549382359eeaad44cb1f817b8e2c659d1fb2be40179a417d923568b63f6d41c3459db592e99b29a2c825ed4cb395d7e81388dd2eb14b8f2afb9d2889655ab4b9b1fc4625be4c17403699039f475fd5326665dd6fa5dd438cd3cce8ee6b128a4add69d0563b8d8f4af0b0a0ec34294a2a9b47915cd21b04e2229fa1fc60d8281680b85b5d19871b064267308f1121df62c57e995967851db78fae3adf806ff65ab9b3e372420d7f18bd310278cc79610272edfedb68bfdd6ffb54b3db1ec06996a2c70408225bf59a455e6c33feb24664957b20be8641a6ee420eb9e2a1a5a6e3cb0eb9d9e7180cedd67740a081523367930d48b902a0624395328476178475475b78b78355cc25b4aec2cd49be14420eacdbabc5a38795fee1cc95d2529e167dc256cf6fb488d7139547487c58ebe08c2bae2e0dbcd7558c4b062b45c1251e30fe437eba1a0848634f62f1c2bd905e517ff05f9e13a9076c7d128030f42d638fc379f0f222f7804b2871a3b7d223ea3436859551e8b0f96087602d1991909cecbb60ac1466a0938f9b328f0e2944d9964ed93bfb592d081844f1fe997d82c45b7df9827895f8baa8183333cdcf9676deb7bd7dc7909d65e8cb8b5cc996d443cffb7190f1ede8f61889764ee03e3ccd9a3f56c509f11eb715f0108b468f258fc6a8a4ef27c845b11dcd3ba039787e52801148f8186afb2c10d9b1e79a5a19ff902b613492759507acd89fa7fae88f751b17cc3bebbb5a42fdb59d2fda5480e2443a3a708179995c50720685ee97af41ab010016dc0ed4e03172261b314461fdd376f526519ba8131bea6f65e797938ffed504a6e79a079adfb6e89cdf7d9d353277c5809b45bed1d1df725dac8b490c65ce7269f121d6b1e5bac67fa8adb84f21cda2832e66ba19bf7a012034e6d83046c6b86f59b8765e45aeaefb45645152cf23e041988e9e60204a49db59586f4b0406e0747cbbfa7aea09a100ff7654908f5f7979a0a7e1625a078eb04397cbfe68b070d79c336c0771e429c929c7108ed96f213e86915bcc97aeccb8bf55e630ee9b0272ad9c6ac8b3616c528cbffeb3162bc8ecbcfe9f1c351856a3a344b748da9234ee78021c7792926895be6de8324723229b7e40bf658461424731af01faead15d8b1e466e43ff7844e2fd9037d675e670c0129f4159c62c774e0c2800edac8135e1c28f9856db3912d63d3d42f57ad532024418016d74ae092103a6875d26b91d1ca257f830d2232eab60ee565896cdcf0842db46ffb417746cecae3a22180c9978527d8d5b5883f718b9ecfa54ccac05e599e1336dbe04efb2d5d35c4e0973a11aa9932f13f5cefe01ed1570025d3227a1f22052e5aeb5dc3232c8ced20e7a41cadd879aec81bbc014d9f669ae12f6ca0adac5ff7a4b2b4643f2c58b4975dc8f8acdbdcc655e3bc98137f4f1650a8294bc5a587beebc5c52617e90a106a43195398ee26fdcb9d88b5d3614e77c9a03f0c1b4db0c2389759a8591482be43dc840d01aec2fb269e5fc40ffb19fc4ffca68a0c4516c8972078324cb73a0884c5a8df3f8d1818181bc9404eaeb437047119b5f57c7b998c50ace56593321871fdf780e39af4b9baad9b0dec012f1c8c029b668f7c1ce6b5bfe738f31ab0b7c42cb10bf8ffe262309ba664cab887b34f44817ab13fcc81245ea753670c4f74d40448a75a5ebded131c9c6d2302f4c506d3428851b5ab9bdab8a6f9ba0bbb51090eba3f5f43873a64f1d210fe7a8e86342b2c4e0ec4747ece636ecf1ba11f8b2b9a7633aebb52a3f7fe45d33d1bd36defd6b72923561774f0505ca8aa455f8fdd4f5b0d29e654d8244800fe0fd4db1636b066ff23254c7b5b4768671eaef6d8d4858b1ea4fd2c8fd6a78cc6e642662a2ecad3c5d159b0652ee70d19ba583b658521944726c88155b92b5f5b96d6810875bafad0d509cc1bf2a1dc8512ab1eb36399e85df48e7332ec5a6b177e239e0f9de635f55f982b9c875fa36e89539aceeb817b7aa221b04d995e3126665a9cb0de387b316c2d39696cfd8c56b6abbd8a545f35e745a8405b0445335713b5f9423e0cb0056226c5b76b2e49c2af4ab800e54d14bacd84e9e56111ff110d834664a99bf62f85248bc02cf9015f6c3d1a2bb2e1cc0921333ab22561fe314943ba3d7e3b7ae1ed326a991500c33857c3cd1bd4aa0105a46c0104002664a3dae6a35b817dc5c073c6aefc9067a06f22971d54248af5ce9c36066a24df476577ad33704fc31422d9b311f472edae7b843e421c9c479fb6519183c918cf7443dce06e91899df8799c9a1c08d4da3cf98f69e43b34b031e516a69832b99e3bd5e53f779d83c1334ec66aec50e6fdf5e23d53091aa88fd646fd3a5c270f1b5fa61e18634b48cd0a85cee44c2292d8b912253adb590c32458cc2bf3d74e4a23b4d6ac0832a094ad443c7efc37d0ea9cad14574b3ae1810b5c0a8466cdf8629107bb48685c17cea84d83b53a8302c997cc976edcd63b1df36b7823851e6e242a750015144169aa120ee30bc97da8a36d28d66a2d80d6dec277c329ff1c4d5af34d921021bd2623e2aef462da757cdcaf2a625acc2e0c28bfd2f1cc02d93c298d9055df761250b179c1b751a79ae49da175beadb1ab1565d2e5596444b97ebc7d6a86e382816683d7e86b2e594f1a66f743687181898795a652015577526242902ae445a13d1509947af24a5eb15a21abc9ea76507f99244e1bb45975d371c0b3d96b42ba3a1edcfbfe30a4ae761a0ab938c797c12012756f492a5cf7e106803827f9e6135eecfcd4ff0796fbef3b8c44a0553b996a99de212ca48f26e529631ebb93f005cc688d4345b608313fd4056654874578a0092715e11f40f91890f0057cae569f102f266f71bdb86d9887ae8ebf8105a1cea012c842edf3834104e0238c7f2fd8b785cb7dabb78ef2bf02a8a20ff6d938db47afc1e7ae7bc5729121bf1c51d9f99f7472553a45838a15027b8f22d22cb28182054aade6fad2417ae44c035163b16a63f5ac25bb99415125f388905e07f905164005d850816033b1efbef171153301ecd6e6eb787d01135584b91847c3700f7aa6750ff0e64bac66918a722b6b09f3f39727db722ce4d7099b56438eeba5449462d0e25f725c18a7c9b495c8f4f9b93270a352210bb626f165d556493856e0ab6e5e57e176bf8bd23f69ce2fce1cddc32efd0bcb85301e25e67e5c61470f7f117a5523479755f22b8f024d61caa49278087c71a94a4eb6658f242534146a87151e156e846a2dc51adb38c746bd565ba7a26a297c0a71f517853184623a8d4dbae18dcefae3731e23c8c55e1e12c74ca4f1251862775a6a65d442ce68640f04ec474e15bd2fa00ff6b7012a1f4b77f310df394819290831f1c36a5795179f4cbd74515fd24469a0949cecdff26cff51d77759b81c0d64531841dda7b17a44a914c8bb2b134efb1a21b7e2a75ba6df7a0337015d789e69ba976ac0b94408c7d1485b518261df84c744d7bf60f02174b570c739c21e892b21ada4a7bbec47f52c68c23e3a9323e54bce4a68e1340e2dea1f528cc4e8cdfb790242f927b267d816c1c1b4537878bb42c899511fa023a88a1392532dea7442990af1c92d29ad6a0930bc130d81f31eb98c911b40985c36f5688ee6a4beeb8ea7b366398f12195aac9bb9719defd9809699650c244e517ac851785852b05fe77f7d33b21cfeb4749f1cd0c37fb2f584dc16d06220f879dbbd4fce477ed57f4ad10035f86a47fcd91b5868cc320b9748a38d34635a1d90cafff3d34fc628207b2bc9e193184806abfb4b2458b87bb39b2629770f3c4ce776fc1d441db331f45eba49297a29d0c973dec21381b1017ac9e6d612c3a7d2f0fd076258fdfd6c8f3527257a557654f9aa6143ae6e7b19635ffd1e11a1a98c8577c02efcd7bf5ace9ec03d53329724d0aaedc84351ea9edd1615f6af9608d3b94171e900054e1ec9eb18fa9f0e7ce1c4a13bd59191ebde70229f7f0516c1474aa92c3452cd52137fbd0688db23c69cc9316713ed1cc5005e1c4f263bb2b34d34f7d72b18fdaf3b5208536cdda23b4bc2791ff7863b46ca9e4a74f01bb1fa8ebd2da5fab3ffd9bbbfa60d5150f0b1327147566835d8847baed978b5a74ca3231857610823bc85681946a41a16b981c9225552f83a20150576e085c8ba7a57fc29a363c70f78c68ad7368e1c57e87b1b8b1be7b28d7c114bd4fa8136365eb2b2b77c48f352e7a52e70249ce364433f046035284572963327f143626145a05876cc3e6356c87eb9ef5c82f87bd4d21fecf62a1af835da681a126d1f04e9fa19cd1358341c897d2ec078a052604f35383ef3a46862e9523fbdd8503989ba4a3c940678ab674d4d0a5ed4aacf7b89f715cdd4dab39bbc13911b5e1d96e3495a95ae0d0d8124b16181d325d054ba4e34baf483d95bd34a02cf4cd83dd0baa779385e7eb6f921db3d731c18b5269efd46aaea8587ce73f0d4986fc6a2e0e484936d43fb35477cb63bef232b44ae7dfd627ad9cdef27d5a615c01d6116641bc51d8be416af9ecc6c8664eba15babc578ea9823f42bbe150992d9d304a3a98214b994912d6b0a873b6365e268d0446601e09fff82fa7e8be7fa4fa6104cf9f1ef9234611bc9ddbc4813adbe0a6420683aec0e09a0b27bac0adb22fdd30a4925659ccce463a595c1fc5f20172628a6e33a2d8f9fd0be6471ca8a4ccd98e06fe34c74b6eb9ec453159abaf8d441105acde99219acb322167a3d7951db4b439fcb90298f01868ac58410aff835ac3ad6ae7c43a77a63fc80da374008944d84559a72edddcfe7f34a89a92e17cf7c5657e84110c664c52dec76d62c0508e039a31ae3f29647e443fcbbacf0c8862030d0d104c167b095064a0854f513cfa53e7dcb2749fe7ecea3d29b42e927727d2b6b819b52cd1a78f0cb1e86b7743a7c4aa8b25bd3019596269d50e52a18c609a7c494bc2d7fe8bdea6d5aa046db4da5e9a8d6086467e3f99b84f664ed4890e26880a726c382d0f0df9e46d6f6c12d056c6f865c92f3f08ffba15e65c21e88e2859ebe0d7f11ce2cbfe8a55a1a389b05acc178be2c189650ad25a9ffce53f65dcfbe4653e5561959aa1ca0b96879d92ac2183f4cfc499c8e6b0e6587d5a9193e6d4a16dc113b7c31d5977dc31a025ee15c1f5916060b9f612e30de7e268c28e7a03502ff5bdb97002b3f04871841e251564527494b3dce8b4ced4620150a0fca41681ee54804f942b5ad073f9eb1428b24979cd076fbf20d662bbb96f42542d019e97074e573aef524a1d23d825c089c0baf9858a06040d8a5cc8383e8078efae75f2da4bb5ca996282ee1517f5764818e376bd8a1ec00d9d4e3ac3563a1b813f5d9524f5b1843645acac874898fe3566c41378f819cfd6284604367503363750a82201c5d588843fef83901ca17b8169ded832c6d077a2f9ff7588d219c939efa47261ff6208c1bd3dd089f9c04dff2ccb7f50f53cc60b5f953fc7fb39c921770a52f8bdbb34e436c3dc0a50d257dd5d9a617bfa7219792e93592c5c4141f04b69213b3da41577a97915f5d53b0541ac701b2dbe8320e4d8aef6593fccae1dc417c7f83d4422660f1b0481c8fa78844907c9d0f786be8c3a7c5c4a330b91bc69d05d12e69fc37fbca59fa422da3b2325fcea04143f27900ccadeb311912b57a281e199fada5d8c6ff62fa5700649cb0bbe0495e50e375755c417571c9f4770f102e615cba91cf61ef5f9b9d55652c78c68568d8bfa93456272327542db4af05f9b8c4b393ca071d1677292c43478f67e988d7cd050aa0086f235da90d7ff69efeeb3c9f984d6ad3824cc3b13d6df683a51a1014be8cfa3302e978982993d3cde2be143d850b6b73cd12bcd9ee297ab49448cda8e2b67f8c40515f44a831d20d93807067f563bc523d5f81399dd5dbba603a1d44a0abc1af37b589622d8b449812253d38e015fd20dc0522e425cf1f62630fb85921b9a982a1029717fade81daa78395e8571508b842b4c9af1cbeaaf9b5623daf19ea58c0a0920597126c57ff9aed9fa4f03377d8c9d449c6d36f4b903e6a52cb396730758d7b6be279a2bd80a3bf80f3220a52d321e24f0508723dbb5c9d66d9859d5794d84a9d544b53b9f0bab9f2ab046186eb04018df2e60a6df45d55fefc92714d3aeeef5b85de229b1ac535be8e7329cd566ff67bd8d7cd733ffe318588498cdd1d73a1fed1523f72e6c8dcce0239ba6f87002e06acf9b2ec96966f0534cd2ed71945e4b4d6804d69c2177f732ef9a6413ea874cf559cd404f997af1a2b4a47caaf5df1a927cf9ca3c73c58b96016c9cc2827dd8c023600688c6facbef38ea68541964201068183966b7fa4966ad74e52c09f955dabc800599979a04dfafbc58a9b0a6945df33abb44683974f5d4150713387778f7baf50cf53141f710815dc2df271679ff58cb1d8c1023a50bec40def6bd32e5feaffa4d16051483c6983c90930b9d60905bf5ce382ad6fc3731ac513e3681be4181c9e5f02deb14cec0a59a6205295751f6a42146c56d6594713134e158ea3895716a6d194249e3842ecfba590eb111c271c56bab1eedc3f07f1c413df91c63086d0cffecc62fec696132dfab4ac312730f8dd8307d2d5264290db32a691e22ec2dfcf1a268d03cf9c370d1dc2e7881a902e78f80d1a3139f07ef98d5c845161b3b6f9c73930b8fce65e4ebafdecd284955070fa945bf128baa25a4fae51a5b265220a06f60306bfe0f6ded008333ad5f9612031712655b3beadbf8305f3b5fb04387fe95b9b3b9869e500d597186e53f671a8b0ed0bdfb35a82fb4ed434dda91d77106398e1ca9ac060c4b17838ad01aafacc457312404b18b997c9bb7803747f881b3b83e230755333a76be4f822167a6b02fce4c7f0d4c7cd4bee7f010e1b52056c62b58a56ca43825e4314236062d3b50ff48c010c3f7013243cd033ed2a9838e9824a0284e3055ca0efa6bd85345065692904cf0cf280f9c716b27c45ed8c44dee8baf57839622dc9d7de26cf214aa5b3889ac3e113bc3357ce27fb7f30f9d1bb50fb85f188dbe47ae9fd8536f98d227b31e39481a29e5af162933b831219a3603d5d48a085c1b197c1b6a2ba03cd8df8494b60a7967712942378f5f3408710e6c8ca3fd5ad91cda3402126931d534e8ec8662b24035cd5c3a47deba380e25e05c1b5c2bbe1826a976e24625c722d6aa7b7487679b34cf60b5acfe443b18c6a58644c1f7a01225c4c98de88d6be84b4af4c6f86cdbfffb9249219508478a23607fd5e917779de64fc3f75a1aeaf31f01cc256762664f01cd066c93c66e2e08bb59669f1212057a49f9e324d6763de7ab81d0d684d41a45a60e02c2d711be7c66f8d712c9c3f4080391db67361d4d474c09e4cfb59a1936a9a877e66534acc1db9c08634dd295693e039e97a6c32a5fa0c4f52cfe53c7309f726699d73c6c553d1ee20da07b5dc0403dc38a26e08936c56254375f606c01bcd482620da55549ebd8bef8aaed43a7e79164643f4730bebdcdcbbf609d01f6d14c885936eab541c5a4a8ada7089a3f294afbf67d00e4a55dd513eea1f52205f2564b22b226af77cd5b2a8f14bf3e9c7215c1064434ed3b3e686d1ec629265282ac2e927c3ed4ca3c6dd63b2220a42489a3347a010b4a72cc7a39a9c9da640d465a2db04521888be35787d69fb59ecf3b5fbf563acf755ac9fabad93d5cd7bb23e0004cf855a900d878160df672001c8305a378b15a6c9a7ecfc7035e0dd78a16b3750463f862497b750f9bb8ed0d6e31f958062be8028a6999b0d40789de01e2c39074e4ef052d3de99da76b0f94bcb81509a4a34fb4e9df435f892916930645dba35e8ca3022fa36a0c54da782c72b9ded1b31712abe62a2228ed8d395e71bf23b26e156df960d1d092f16cdcb54f9eca7cffb564a995fe045c671b4f235b1b87f1677b57556170184ec0641b862e8278bd2f6c978334fe7a88b9f3e8c19c8f60d9c1e6de61e1532d3ad0a4df386efb52911fdd32abd2dc946e4e523a4d1f9864614ea569455d3583b43cbd449e7c71b36e906fbf0fb78c42f392b0bcd41d615b598d966e277188fba43049064192e6b899fa383ae8d83cf3e9c9e387bac75b6cc261dc4e30d876d91b4eaed7e60dc5237527321d69518890ba8e7a32515a33acf390088171ccc14b001fd778df453978e0ecd12850050a6d3581df76f7adc0eb9101f892dd59b66ede0eb45b8301946bf97b175789466e4030fa92f132669a059aee20530f4ea98195e15d37fcdadb6ccd3c03202758b8c2b677f7e3ca444652d18c2fa2a4e4fbd269c79d7dc927fd83967a1ea18feecdeffce20d6342f45db525b4acbc752fb96190e3c7a8c178084dac1df90ae0b985871197ddc9e5cf0d1c465aac088b0b64d8b03c8239b92f749b52a359fa6a4217fc664cf6cbd020a52fa98b2f2af627b97c24b73ced25176defdb8ed4e47ab5d2f1c86853a23234efd0e9f68ac3612d95a73bc154e387b2710b8bf36542bf15001d4630ff0a7c1ba3177de17bc8c138ff067f8013832878e776715b9790e8e6819edccb2816001e311118408b813ca8c0f92785afee9f74e8a451579c65eff44baefe1c09189fce78e3e8d6b6fdd2de18d3c0553bbcd543842d9fbc6a7803b2b2d50b0eda8a8281cbd62a008ea577bcc6490029e81ab3a9eed69cbfd700687523db7fbf840b2c41f8452e99a5bfd70b610d76b07375518a8264026f9d1b48edaf7bc2de78095c19f4f2b9e2e35c90367ecb9605d7735fe62c220e6f685ca1f9e71d845cc47aaa4efd613117fbd124364cb7a13e3483d455142e2fc3b4f59bd09a500deaf9b945978cb4eefafef2adf36a52a43f690b87de1438df485779b4e8ec636974261bb7bf3a56c3f3b84a79ac2e76665f58751581df8fd7dfca3a7dec6380fe14e068ba1cbe4cd6fee1441fdc8328ceaf22603e0e90b79141236117e5e5abfaf601c5597468f5e36c9c31ac1169024c250c612bb35e4667c8c2da12ed2f9381b1c26db8ca171caf12fba7b9946b4cab98e919bf01781df594220adf3252d5be0435b7d426967bfed25cc32789cd97c63d387d0ef3d891deca684eda58d04d8989548507fee33ceaab0bb1e1ae84bf9828d143bf9b190dce6ef7757d71e51a83cbdfa41fb8f3f5f62ca7981591fe7a0b508a87c08079bbe6a5503be5889ee3ea21c0c2f4208498f89f12ca9ba82808bef77c4a8cb34f6b7840b2f5dd12bfecf878c49e0fee1d8e02192d0ced39c578447955a2e431f6c2b53332c8f0f7deec71d568e9d9ad92975e1a8c263cd33dcfce55d922cf4ad71034532a88ecd5116d53cd65ccbdabb1af0ac74dcb4cf7f4e49077e27daf7e864d6082a856ddcc50844b832ec30db348babf9bb3d937db025547b0d3dcf46b0d5af48f7c946e267b4a0a58083d5bf3184c012d5d9243aa1516efb00ca5128fde618ad6db0c732ad28c78faa202315a825d67bc6ff95a3874b8051e2a48c8d7cb3b54bce2a04705c8d36b45cb870f38f64876ffd718ffe80d9b2d0c8197acc023aa3460e56fd14c11a04bd8bf64de312d693ab7445e8abf137eaf5308608f1f6c8484de1afa9252c76f3fd00ee0d583115444edc6e9df0500d43cc35c541ecf6f16a6925a74b596215f52a841586ee6fe11f46e34d7f399f14bbe41a855262646bc317c48cca42388f997be123dab1d33a2899d032a07d0b42eb6e9dc6a6901f2ce1b061957977fd87d8195515bae24807cad9d5e6c64b52a1ac25fa98fa10cc701fbe0f0f50ba061ccd46ca0c0358a4811195dc292a9d434b2b5b3098ef7a9fbe121c6ff96702ced5d2da61a0e55374666a13723ce5bbd58033b0607053f9cf29ee39233f95ff8189996bb385ad8c6bd2121827cf51b312e0ff602a9868b989c7abcc4eee0492a2458e737a4bfbd924a39f862dd027484afef35d33ec55ddf0fc2eb73f562edd6d61ad9be58780fbc9e72ed330235da8dcffcff8f0831157cbfc89d814f1930224509e431b4533576fd080c44fc577e6281e24b18a19a646a1cab716e0b187bb67a7395261c6c5fd50897f32e044736722c2e065b4366466fac85b861ce4d4bf03b05266716c34200ae559f34152a1be47f85c878284978b1befa97249ea99e8c8fa4a1318a4614cfbf7ee68ea38020a0a4ab6def7d2fa1182a8abe8690a6c2634a7f90d99a399daba212c695fa43c5d9cc7b77bfed82425d8b1e8817dfe791efc15a2b306c9fd4fcef20c0c691189815cb55116f32f180ecdf8811b4915ea82fe4bdd14b1b2838d2fa0f2d7f2271b01478007b247a50b81cce37b6666dd7da7a4ac95cf20d685eab4dbdb80b34445de16ac288d97ce35241c8691aab6398e2743e9534f8a7a104fb88f2c34a0de8b7ff76e6c1d9000981ec4d8e5dbc6f90050e20c960879e1aeeb7a737e5a549025dc2160db39b2b68f654f6cd1a4c128eb55ade49adcbeeb733e28bc278ae0011b52cadad34c175c58e16119d2c54483c2c95fbe3a20c864892cf4723acc35e2be5fd358fd38cd3c8111a9956ed62c7a9cc1bd08c6b473b300d10b174db052b6258807b295cbc2af802a31c55cc20b1cd21517eaf6cace35b9000e5181628522192cf0ac3f9f3bcbb0d1371701e9e5a5df4331d952d312951843c3bb5ea3bff7fde960e3c36971f51ac9eca188755d9217e6b0a039d1f530cfb6a851cfe6c3212c8dd841cdc790d38bc6656fadb65363359de6200005cc53e9300eb0a607971b778a44a337968b90058452e42f60b95e36d7041585b8cbf46b4f3ab660db6701453387456dabc441dfe28c3d2a9e08b4c338927011f882e0207fc7840be4b04ae75adc777cc52060c0921cf30dcdba0995c0324c3f2c69907c6d01ef102f9d9ce49d762233def1fe5f022b9e1271c25036dfcbb189cd728b61b29824c1e53d7ed4f4b30b7ad19c7788148066e4883854cdee94594e830b8ccde5c9da105bbd38e056d070561483fcabc420fcbac31f32552d0b804f2314e964926e5c3c776f5b53290dc78d2b6dddcb8cd986481f5e9390e287f5b7d379de6b721109eab4cd822aca533876538369f325ec2b2ca36accdc69a3803eb3b47bb54e3b7a94ecd7b289e4a4e1d6a393436fe164068e134b3e1fb785d4b781433a73661b3e9e14629c738c6059c0ca337b4182d208b10ba28c9dbf79aa3bed84fa0703d0b0c9b074b598590ad533b11762e3ae886ad1506ef5a2e50c18e906081718e5f24ec0ce17b20388b56a10026726de0f904288ab3dbe4837e26013e9a03368f90767bf95c2624a011aae52aae4d06e08173e791a95c4b4ae0cba5fc33ec081e5fb2056310b49e6b74535e8cf9f8fa36b1eb47a806eb06d16a589246ed7214ab5e8d9140513a27f95890dabae551fb8ccdf1500e227c09c6fab61dbb51325eec3e26bc903a02b009f03fe6200814983521485918d8aea551ab1cc2123dc120d5607dbb783e7c4eaeb0987a32a39c5ba9c7626e637f1964f0b2faf490b0b33020573bf16197ae15ab6df148e0910d8010a57c1297087ed5ff8c21c7d999ae4152653051f1604912953b0143d66b8c4d24bdb7279292a11744075e9b39256b71cf4c6c148caf70f1f2a3c6eb1b7bbe340d2222dbe3e5d0e875cf41db907e1eb3d47e9b92ef8535f5873693046365d7a56c148823bd79835070ffccf2e8e4c5ba58562469275b2850b0133cdf614d501775c5afb9e0692bc16bca5cf7cb6e5686d88a636a10c3aaeb76899cc7d569dadff4161b2b44b205d968b3f5438bdfbc3e8877976d1eee672dac199d339cb227768e6c34fb0740e4e7ddd9052e5241bc9075066e5355ce524721e0d2e77aa5a2f64a839db2e9fd947bd289d6adb1631bc9581053fefccc165d47ebb965bfe2838768134315e99e46f0a80ff7851907832de26cb544e1b338df6d831f9bb5a6ca9c86d264ac57d338fa18063b92d91aecbdc537b02593a0053e770188c1175dadf67a3e9721c881bc60ca4b80868d409e4674e8fdf56495174346e2f7fb91c850981e0516b41ced3f40185728d03b35e591e3adad4173f653822946d34c292d20f5e692ff4bdc166cb577970270b60ccfb19bec7a8e682f46dc8d2b0fdb3991f6b532c95cf5d68f860012fc16d5e1644150e058eedf3bff85b2df98cbe7adb360c82f81a3b5cf33aa272946aa1e9f529bbae53d385791baab3e3a507b783fd77bea7bda68d9828e47daa2c70c0d3acf9a6fe882b76a197a69f3036994e37628509e2a3a435780b034fc052d6e8aed99599e05e8ca8a3d59e7edc38ee878c1f5f6caa2a0d2b049f704770062db304b75e7385abf8f5269d710c928d559ad4a559e2b4a1b056f1076c28f6614cdb4f577daa691cf1256f027d2a7fc21ce90fbc6cf33ab02c644a808b1b965107c7c13d8d8f77adc4faa9740dc95eb8dada0c66c067a9921bba997bd6c9301818a4e2672dbec8e00e6109eb4620bf396aa8061cd1f8520064a66f20549f591318ba8549811c4cdd1c7fe7b87a6ef5fd5d5c19165d4d924afffb189fd66fa7803ed1d4b15b808b42452a1e5ce275f654c0821cd4d3a446c2f8cfd9e64ca90226c1472570a11541cbe380d7894d4d94a2e469c0d4c99cbd8d1029a0fb62e2ace66d8cb17b2278a88ea8a544eaa94e3236050366bcaef5cd49c778b2e6f3b58d4c02d97dcef41a3f8e294b48ea4cdea9319b94a5b87116f1a9432347c5273bb45a4335c392f9f037aa89b50cbcddc9d607b1397c10e336d09e22c424afd38f6daf69f1b3699228480547fc63719410c27859d07d933491d4146dd2640aa981535a09bfd3e245dceb799bd7a62b5908054f6684b1c24e0e05f1e0e31b0737ddbbd4e36526b3c88de092980730ae114b7ba5492a6ffef2169b9cd6a5890d3a9551c10ba5d4fdf7aee184097a09c63f4dd62370c7393ac7bd722b85418c111b4284c3879380e6a660d23943810f534a0e5eb62785918d9fb317ed1536178a9e4d49ed5d2ac919a84a7b157de23abfe437b44440f3098389434317a5134320c2e7a487d8013c2ca3b811fd09bc7efd9580bdf71744499850e93ad2564a1e691fd7f2e5ddab3c766478fd6a423d3d2ebc45535e14de1fe6fe5d3d56fe589df83a8633e326b08728cbef93a03f30f7e82277f84eeed8ca15693ba42ab438cdba1a508f21b1abfa12d15c9c7385e0677358693909b7f430f988c179531a6e7e7e677bdad1fea8035529c8c638de7cf7f0a428c6a3e986a657a0f974691f36f6572327de134cadd2cda7c86e56f52890573dfef2077ff54af573a95abef6e7c52e4a9d735e7be7c0d418cee0d760c900026dbd44fa891d2e85dc69578c290266f63c68313b584f4751d0f7c4cbaf0b9a0d254f1c36b6f0129dbb2ac1003f4d4f4f80b4740f936e176d5affb129e9217017b13afc5f1befce48d3d83f66628556eab93af9d2e1317e904441d03b8b746e5a1c2dfb8f4e89cac369394cce8e1cf2631c76ea11561dd1d3be04af5da49f418e53d262bc097bc7c8919eeb6e0d475100f593ddcb2cb2d99c7dba58ec863f99e9b6e31e19ef2b4aa0716149f0c0a295ba739ff0124d1e702bed6bdf94aa3632e1da1730ec8213693218523ada1693a49bfeffa7608368efcfe34280226297f64c78ebf606d3e005647905c60be625ff2d880647aca6130169847fb3678b747246dd404417d26332c94f2b1aec3236ff1fb2566cd47c12317d5edbbe13b73d34148678dd0ceb711037d398cb9abe0c3805f67503c9cc3e8e6e5d731a74bc3397b78237d6f955dc81a192b826b93a1bbd4589fd96128edbc3aa19f0f2279192e2d0893fc1663649fe5a4c282328cbc86ebb2fe03ed2a481894292782eafc83eb6011b101e0a9cd76b01cee931b0e9efa9cf58c7c8f2c0906527df1e7fc4c970937d5e43d4db6333e8ff3427f10df4453bb170caa39c26b4b1acbc92f07976138a5e741bf7e138fba4750e521acee639e4c78540a93589d8d53f2d98d8f0ff88e5874d1c3e52dac9c09eadc12378c857d735ba769e664f5597dfc85c3b8b4810e9851491ad3c8684d5b699846c51a92caeba61fa2a70dce284b0bf6cb0785f74b1cf12ddfb4464e6613073e8841b7142042850b8605a2f3e4ef3a4454889f99ce6e754d245fdec4041742fa34ff3ba1012e90ee5809b70f97caa977ed077911d3112ab6d56b84eec701adf074e1b6576d852bea25b6a817eb6c3ad3863d15cf72963470df5f544a5534febd462f443d714e8d30e9b47485a391a4702d12191631644042220c232af875e059c7da6c14b0d073b01562e763b83f2441eb05405e3159899494a6ba6992b4de0b563a8446cfdf4eabe905b992ed772f0c3af087cc4b2a850a35fc027972fd95647a7cd6c5198e351cd1fed8c10bb7f03e0af98804a109f40bdeaa86604a9114c7bc6a1ec8f079caa6d3296f3329aab19a84e6af1fdc2d2fd967801c5b41a78eeb45ed75c5137a563e8039c832db8c1c19b465d1ef06fba294b5c3ea290268db63feeab02e85339627b9f250b469584e4ffaafd7bb5b249b4f076e0f99ed52c8578d37f0449abf1afdb2bc663cc177e8c9ab1b7a1adf522a8602093d577915cabdf6edd05050497a3637f7042da7a9aeef44cbe1566950defcd256cf9b84995abe7a161eb32c2db9e033d33729e490ba86703afaeb38e3ed14c0de7de2b87403aac8c583448a36e356cd0e028ce0f23ee28cf935d03e58e150536df36c7eea4d0a7191cd500e9aa4c3e7d21aa01573131414629ace92f153b5ce6ea4dd7bd83f949a755992799c054104c864501272ccdfd636ecb6170f2109c59fa523fcced8485d55f392c20e8c3af8b500c86a78a82cd6c0a800c9bd582032dbc23f54ed9ef5916cac3f5778bb8c57d523f3164188a78aa78ff038414d91e7b69b8107910915733290c99b6fcef561b3466dc748dd0f3d1e9417d49675db62d190948c5d578a3f980d2c1f868d94c1a52346aa23b976dbf0e79717b203b3090b4699f6a76eb12db20adc0fd498058aff74e4f35a81f28457cb48e59d950a750f04278b2db19327b19294431eddc3bbed3bff235705b10b3948811f07d03badee543e789e9516a41d773356915cc6fdf348e355f0561a1a8222cd00cd623ba6868607f6473dcbc7c0c1a94dc58829edba05728a5aaf5ceb2c3f11dd4df98a402dfd54864ce0ccb835be3472140feb06c600688d4d213ebdea2358baa22b74a280a19a5782ea72241fbe5cf3d2338809920a48bb3896494ec1c6b5f9eb071454609e6936a5887bcc5e2c90830a70611deb889fc0e4e84b78e649de3b066112480823c8be1462713283f4208fe61ffc4f99a2ade0a0d96a2866e8b2138fb4f086c0a01c555a97f7c69cbae6e6aeb499dbaf0b7c09328d47ae12973737c801e1e3538159492cf83344e0f1aa2179de3c3d73529744f1a4a91c1a0230b2b01c2b692aa4272b96be075eb71fec81188ea919ed08779608b340e5527599da483fcbaf13b466cb2e4b92ae1583fb02b3c11eb95e18ae421f5708182865a9b01c49e922aa7183bb0b2a9950b76dc170a8388f79130414195eafbe0fc698fd8221c9329fc6dcf2f529f19eeb0bbb87ac371a07f99fa7700ead7d8589b67c51aa10632ec1d0106e1117568222899d31deb11ef6c32fdc74cea2cdf546756ac4f3780c2c7ba4eead42c4fa80612c42cf8acdc4ffcf2f15c5970635feea7c7d7b5638ff094d2e7153f2edb5a4991cd8164dd18a4cc60d097709e885fae7b7c511c30749d5abd882f9f97e7e237323e1761427ab5d28d7512fd05ede83a7182269fe2879784b1c3080bc85b03764098002beac529c98b4abba9dbc8ec98b20821a6774f2ba27b9453e85ca87b813dc2ebdc4aacc74a3bddcad623a85cfd097494782a3b2e90c2523f230a0cba5c58119f80a2f06c96496d42ea6eb6545cabed8ef78d9c232aedb29ca05c7b132112b73e16bd5157bf7d3be1b618a33279c7a6c9ab8ee4e3be08c9e74caf724cf2092eadc3f78e893fd015b70e54814f57bd3cd738420dc0a7db3ae4174c703d131e2300cd68bb9910fe56040fc3ec8398583c66b475d9f13887c1fe3aed4f44c3837b7b6e6ef1ed4d36e7ec26b0a5d977140aaff19ac6e869f8e9965b0b029046f29876918843fd820bab2e7fad7640e1d17fb2db0fbc9e66b830fc5471a4e270dd0b9191a4fc60800a0a49d0d7914d5df1890570c0feca19e47d65b5e9ea1e2d05185d215c15f0071cf933527cac574c6cf5b89050d6d8949b511a94442bffff0ac2fdda29cdf63dbfed58a17df72555cacd5b67197e7807cca4782bf16b925d9761e198cbb3d1a5f37241cdb2414bf379210529a0b0a4e37babdb60413c1e57a490da8f1cf676b950b4d6389f9455b1acbc12fdc1b0766f7936c47288b3a6c80e5b2be8a9a3e1471fbe8f2c137b51c29c381c70b3a82e7aba488851baebac8568b5e8e309acddbd4c33b83f97525929dc1f31095e024e98003f55b422ac06da9f4d55758cad35272b36d5a3fd6fa251ce114874147194cad7a1fb9a41ce45b35f8a16918fe07d2e67d651cc5ef538f08f571b892f16442544f36c710ee19dff5f6c9f2dce3b1303fa85e49d4786a040c6a589d9dca1db3e0ea7c0d7a075697aacbd551d65fe9adb87b26e8df37695baf4339f5db083ed420b929dfc5d2c6a7182263995e5da5e9e9028b46f82afc478a17dab2abcc2efae1d343877abc63ab396d2487a2017e7c25bdd936f15cbc97447af8468fc6b7527f2a63de97c151f0ecc6db5712765303180f9355b7a5c43ebba1f9d3f8812f28a80ed8c7af2636b025ccbb63f78044aa816c6852621f13ba8dcd23cee6ce9a44a8fd7c05be74a3cc5980ab799d13ea3ddb47c253660d97020801ad84e13252559db710141cf34928567ff66e0e5d49274447552fde79c7b06b0ee4ec81a9b8fcd3ac3c1577b1ceb1fe97678be314983fd723c400aea84f5e4ead92dd4f29787dcd3533d9ab98c3d66f04f36b40200a20e6983c35bb23a77eee6e04c098e98a14b84a285e2217d9696d7300f3aaffd196468116a11a5cd2af99040d9adf709c97db0fad08b99666f38a92cf0a2e7e11a36a1340810afff60a4cb8b360be372c2f6b7725f864e22371183783ea4d7193eb92c9a72ed64da7923ddbdc99d4211fcf877d324555c0205d46e6b9490b1356fc7231d1f0344f1108c79c52ff287b9db41d8f23e662ebf2ac4ca312d097a1150eeb4d641a40469f3f7ca131d43a254233aa5d5d256d8ff871f191e4ec55ac74fa8ba26205a25c3af616e138c788435959382f9d184f731d2c975512e9e9e251686bb9a1c6384f8870fd2c6234440a88ac846e85c3d8fafa8fc54c37c7acca8d25d7e878c9ddd5607170c9243ab5f27a7c3d4d035b27ba5a66c9e09dc6e3931bc5ae16f02c27ec415c586cf554bde71399c8b8dc7f2b8fee1b257b14fe156a35c2865e8387ab55bb4d679cc7558b67fbd259d2225dff0042034679dd74d8561e8777cc38ff0fafd45c05ea35444468a60d3f352ef2c53bfd7899c2aad729977a972c4e4bb2dc6ad57bc6e260e6c898ffb0d7abd6059d4e904146e6e73000a4e91301c0ce9ab7fc24a7236ceac7112a339da2df1352fd299e72fba2a46c0ae76fc6af7d446ea3c06dd4174e9289d80db4fb0b79fe5ab254c18cf232f0ca1f6aefb110b1bd089cfe9c25ce2c99f0c9ac5dc0cbceaa99c2dfcca80f60a7c464e8599d377aeeb7345efdf40d31407fea6a2f50419e3fc792da40cdffeef3cc8692ab01cacbee165ffed4cf233333ba94df43da81c01cf7089d67bc2963674b1b012b9dfbf4254a272fa9469ed69a1478a190fd7cc082064e3e0870cd7a5983a8fd677fc70e9abd9ec25352e8e266f56c1e3b118d8eb49834092063f17320d3d51cd3166d9e0206c52e9d3b1517db49ba67a6f946dd8cf2d30b5be000f43b3f9b11e983c1b9fd18e4fc8ec8befe1a402bf512f37da20ccd85b74f0757f3589148f3981a13a7800c16bad0cdb839ca96e3e20d7a81a6527d71add535595f13f120ee8712fb4d0ec58c58e68b3bcaa6f8f03ae2c2fe1c4e0e758498d884670ad7823e995425e544cac4dd495dd7543623e03596315664ee83a29023b4d8a023b95eb6558bbe0bfc06b8bf46978adc1fe046a4486461c9fa70b74e632e4a59bf42de3b7f56af8e9322f7aa462bca93887b78d86bd46a0babd8ed4b8801e647e1bfb2d129a817d57f6a2ce0ce960dfd721cef1e725b02da17d0d7a9c750501191a3fa2991fbcdc91bdcf0fc8c912820be7820d8fb60f2b9f5dee464b1c84e1204b603f505c564913bc723c4e09e311da5b2e5f99a31a2412e53658eaac796b1a2fd8499c454ebcaffa1de1b79963bfcb141f7da53a3c5402279a486d84d27668d591aa0bec1d42fac9463b14da872e57abd4845c1f1df08f5a8f1dba141f1c6e00073a3aa3dcd2383eb0d82efac5e21b6cc7d3da175cb6e1b96880775fdc2e7e44ea33ad535836462a2f7ea57be2f0befec8e381783136339f475a83d9a07532f5128b70746e1bc4106cfa60884976093f071df3ccdd79794ec61612386b5997eb236454bef75be15712a3b3296adeed62c136fde525c0ce6b90db11a7fc9e6fc1ab6f23ee49b2d3cb39fa58df38e730e4b93fe5ddebee22863d50a6a3f5695a44de35fe10257a096cff01ca6d6a06c65e97c26361b520d7fe37d3c77caa4d2820864f12182221e055727708eaedc97f743a48f7295786a46f366b7ce1b793ff350f91859f5406962e5bc38392be8ec16e861fe41b907c74830f6fac5cb5c827fc6bf3608efa370c3245a0130d8ee1d3e3bc147b4a605ca278f3878cafc7627079c4026c9b5ef340ab4f4994a78d09ef66d4b0af463bff21c6b4eed5c6dd93bc8a72ee6697410f01fb96365994bcc00062361f5a7fba090e6bb2a02838abfe3a3c5a67b326ef38103441f8b9f7e53ae5275b7304876f220a3a7c2cb3e7cd51b82e2a4f5500847e3866bd144521d458ec6b69650f0971942e42191d61ab9b15564b7c4617687148556463ab2456ca353a2f65a19ff995be355b53eb056761debd48cf257eb3a86ab18270d370298039b75d624fb852e659d50a6b7fb9634d90e1095286bec31609126631d0b84833d74aac85a5637d7e1bee4d8ae9486bbe78676227d76e1dd8b542a3fd19abe63def9783cb520091c3a9a232be5dab3e69f594c296a5c51cce9feb3346caac3253e8ae7691609324dc2855f79ca30db9b66a8762c32658a7b3263e5f0dcd6f74aa877bd13932616ee4acff7fbbebdd7138ce31ca8a1775d926f9a57f97f5e1ed891d35ec4cb4f43a4b2b23205451cba3874bcbc82978243e52489962a63104da6a14d85cf3f75584e75e74e75457d6409437bc8bc64f768d87393d606691f3f269385b0b2e3a50bd56fb8fc1743d29ec8f548e0ef9b2638112162e716e18a6e6278e7f22549d3620477af0903972bab48ede3bdb481301e9d2bb9ee930b3e57bd47daa6e24adbc0bf15147c857caeeaad7f4b32df9dc807d3cb371fa41f9e0fce575e63292483f0cbb48f2e6f23df41da76520a3e6a10fa689a9618062216c2b5f52647226efa345d37b5635652311b0c9bf340cdeb92a96d97a053dfa38791d641220775bdd8421a7bce53eec8ea9377cc436a39ca51ad5d719ffd74b3551b35152ee769713df8ce17530962dcf98132036519361d2b6aeef2f27c084a7ad49f0951108e6dd3e461d4f5e29553af4d063c0dda54589bba671a45cfb1d21eb5401b79ad9bada0cf355ba519a3655643399900f0e5fcb31f0e965ad7a1f72d8ea9aba50047f019332287f33f7958f1b45e274cebe97b3e1e89379b356f582d28855d281774bf21e7d74f71c2204b673fca924d38d2c6f92a96bc53f69e98caf392b24a27175b32431894c604427ab4ce37505e03bbc249e3ae0b62411816a956deaddfe6b2e1054b3d8d10b78b4879bf6fcb2704a80beee2857cefdd24692e998d49a007159a6ed94a74c4d53eb2b6c50e5c557e47230e082874195098f2f2100e62f22c40178d745cb75db7c42003ae7edb2f1970087345b544834fce602bb3b1a0032aa6a904f346bdd110b72a9e451f448cc91dc9dc5ae0733f25d5b1065270bb4f401bc321ae38dad78b6d260e524ef6d868e3cac20fef058ec810bd5324947225ffc6aa648479cc8c4f8c0505d36c65e3c997237c5924dbbb1ffe64fb316810d05813141f4ba6950ee614254110a938f5bb0e963a34ead652b2431b45da1631fa77b14dccbcfab442d0af96665746ad4b640713fae1b4c1cf290e67183545f3e15aa41956d7135054b04be3c0a71e1ebad6dcd0732d6c1118eb0c719334d93890e6d2538fddca93fbe938da85ab1c50028bacb9ef23783be162c9714643c1e60950920a507166c7ca285913717d40763431a9c8c7eeae0b6773820b1a7618ad42dd1a011aec789a73cb84b7c6aebc521a5c5569fa191b24b04303fc8ec4b91add984916616a8e148819965c0ba9454b44cc924b291b2b21b322d7e9d9d06ae4d6bb6e7719382ecde8a86c0efd8ca1c3baeec80d55c981857a7d18ed6607f2c1c2f19e358a07fa71784c76dccf6ac13ba01beeb6644fd9153a808c8d13ffc562d7780eaecc506a46b4ea777f9a3d15f363d14b834912051ca3b1043553c27d2bbdd901a947623a311a33a1ac7c70fafd395a921fe0c1762a720d8d0db710594050512114e51e5d7ea21c98049e50cff1eda479ad46eb8bb9fd1ed414b08b5f96c7a1ad95d02011a100b0acac6cdba7e36a9774747a720cb41394610812057af4427f41ae5374e7ba98aa65a7148802902e17849aac587b7caa41fa7d7a021dd6663acd62ce11f6e26e44053e0b8b82b05b7860a4b04677e864a349e60d77ce7fcd657b116a7403be236a182271c47ce168a9e3563ef201189e8575b06756a4b7af9b9bbc1238b468d9b8341026e0e3f5afe8f6b34bdef815f595b9a3afdb0f21e48f2fc0a363c6ee8fd43594d22ffefabe43b7fbd28d997b0d364a56a13b11d456f8f460e69e94ee725092bab8caf0d8efd8d576b7a81b0d1f4e5df5820f43f3e29da675965b154fce31abf32c49723b63e0c8104d4c7d2a943cddb62c682a4262731a759808756b295ce97e802f3971775ceb4718338d543e072b73457f596971a486cad91a50bd58fc10506481d7fcc29557803e29f814a2a1ed1cce7e9622e3b21047690fb69f9da8becf5d5b3a6422cc41980983dac03cd13f5ad40938bdde37fa035d810bd2187ba9c68bd56a48c105950f8b3e3d4e9e02765f892e06de20dd54157affd5bd393a7b0d2f485c6a50ca73073807c8519610afc2c79d81a275a660c85eb2602f311cb1f314c56b1965b239279a5f3855d9769cdb5bbc221a2d32fbd7c65ad014787fce1196c88d8b9d570d496ac109931a8c9378a24af0e6d316d9b661e3f7470cf3019716138e3f751d0d7853e59398cc1db1a0324ea7777562926218bd8e0db97756fedc5531a9a1c4b08c528e82ff7596e0a2c9ee89e4d71eb6452421617499b2e42c3fda6a05c78eadc76d756f1fcf56e3c00bea6137ab50cc98dbf222704e32956d3d09f98b67be0d01d2d9fe113bd08b162188bfad989adf4c5a70d683c6e7864603e1038a586c7bc4dab374ea36b57746df5674c49cecdb2bd6f3a8d3089280e2a4567136628f3e15b5cfccd2bfd352d96eb98e57232e290181eb844e6b30bcdfe010e0a2edd22044eb2a656ce746bfdeb6bea7abb8bf8f5b80343927a6f6637b7364ca27b0f55d3b9ee05d748937a7b27692c24f3c7e79d40b61e364e8ec2b8a3c06ed1d2b863f25e8f0740b46322af76247b6bd31337d7632b9e2971d4ebf9a3326f86886d87dbcc7bf545c9c71d95d4cf62e516511f2213b7a77eacebeb1a69ce642321769a15bf8bd8c95223be738ebd462d0983b58ca687ee1e610a16321ae7550cd68cf4faee4f0a4f8f89e0087df9cab0b821e5b428579a2c1845560e8a5f201e49041937b6779efa3795f6312ac6b9ae686b6324899404194cd974c16b90768451fb65323d39c7efde5ca9a000baed1e9148298e7c0186b4424515a4798dece69a76c4d86b93f52aa0ef17cc7a32fb42615626ce06604c1b95138a28e125d9cefe8a65d0b82b4e52892029eec3f5e9eb9e8030278ddad126799b329d430c8fd338856ce0afc0e3e5033df174c921ee60f39f78a84547811f50304224fd53657ff1e6353da9edeb4b67ff299e14e7de5a6dde8ba33d0e51abeed435defdc8f759052c1b48cb91e4a8165661da506bfe0ac8479142529d50107d81e2d5b54a20f6fa00b49b67ecb0d5c5f53f69e6ecbcf95c1c06e2bf380d06c9653fa0e4cbff55e4f7556f90cdc1d8889271da556be1c18dee73aa7cf3b86feb78c626551d7b4441cae174f5fb841ff04f9cef12361af37c54fce44fed8db69a5b7563d3e4261a285d4f820eefacef46bdc0950a29c28424d151a1a7322788342d3ed6659338037ef690d4669744c3b37a07517f6b76866ec78a164dc150a109b1243a5e6dd3c2d9c1f8a65ee58c1b15e1bed59e74a03e7b1af4ac5faed311ce198739a48a43bbbbad1c19fd2e807e83e5b971e44a45337a89065544fbb2cf7f3f951578159f1e35c3910de309fc54c98686ee3cc4d8afa88875e9dbfa381a21880f2cd95931699c7bd138e48ccb4d42b42fb5bf358e2acdebe80314308274660395af2536ff767a942ca4f2b12211ee74f6bfe532353a89ea41b21c8825f82c8d54451d423a2c39ebf1bdf4a145102ec998f1bd1f6dda0d618e7e55ca96a01042b69c896b7c8af25a17644a71d0f6aa1e3ccaa38c499df6bec1b26c8c31100da4dd82020fed1acf612a8d815b8377d86dceec1a2af2ae5d8b06d8f68cd86377320f6a7ca23d3ef2bdc4d60fdb99f614fcfc2b14c592299d462eabb2df6e127c4c7d81da91e5aae01bd39a9e1e2362b006866155bd89c381c6b9db6b5beec77bbe37c3d3f70e923221fce0b5052170852a62255fa32f884f4f05d11c8ecdac4d015c286d47e0b0ed5047d9a9c3f477ea61b58b9795a7c02a22abd138c6f2be3fe1b248929768726ed778d656bfc0d5211d9527ada660c57a8421adc58486617e7dd22178e86c6fbee83c05171dce950b5e4b5d5900bd85b2aa0446403db76b13ef896638433c22df4478cf0155f2967eca1eff19abaafff2ce146b44edf66f24246c4b13c3892fee46757aae077f9b932e0cc492e5373635075acbe01139c98d825899bbe7e96786fe66750cb8462639c8bddc8ca445f41ab29a214f5d0ff379dcb8e1b44cae1f6e9540b389211a52cc2cbfbda37bfeb88020f605de4561a9f3e582c8dc72fef971d2b72560ab37c0e182c213c7e3f861e77609ec02b35664b710e1169dce107bcfc9dbe09042a62c481cef1a193d59f20f81fb7efa110a9eae1d13b6464082784a770ee8ea7f20b6bbbf20c122a6a2bc1c6a37be959fc88ef0fe8c4daacd6459b2ff7947b5af6caee3372e528b0c85b9f8f92447fb477a14740d8008d54a1237064ad32b4f83097f49aba14a2cf6f8377cd359dbbbcbbfcbe7ed225fd2a5569a80e4670dc48f17d56624971550e5e8e8d7109156107a5c77b50ab485ca3a266f895e8ad74a8bc111612140e5a2d0496f9dfe4d38bc1935c218da243cfb00e7306b2144a6aa35c1c0b61e8f2fed2b948461672b9de6ca78efea46b4a6a1b26caf8a74c4a49949e7b6554a3c27fdc5482fb78f54a9b222a56de4af6c4c70f90eccafc05c92bbf84b19fd86a0aa251d2363671ee043b20dc3ac19784291d73b274fc51c3ad2cd0da2ef63453dab5c6f4ebb8dc5b17a40c68408ca2079238e39fbd7e7166942d4eec6e5a234cfbc991191df8ed65cb298bf4189e373e5e1950d9040b63557100991076e887b94b7acdc0d1a545db391e0d352bbf335122e4bab47be39a496423e01e4bb2372d4c00c79cb6d7da2bdf6439e8d83d265b5a27f2b0a6021bfa35f660faa30277e156468e7ae38685b12bd6cead572a403c995f6b6daf16d674e149556fc6a743ddba79f3b878b9ac6dcda9b040b7ddf5fb71ca7e0e56898cd65451b054a575c7b872952729213cbc8bd3f603716cbe5abcf1d173b4e2f60c3dda30d2955acf3549c9709c0b4739e5b29bea58c52a8e18c3ac664a90c712f996e3bbb7ec71a38412b1d0529c0ba85e53acb52fc11b190d031ae72f16a25e6d1f1a6ce86a2a000958ad10b415ada246c55af1f6b0d8e01b8be160145878ca8501f64ef481e3720a3402c8eef148adeda87e4498c529f6972bb9a0a28833125414dafa0ad1f4e61b43910e67e9d8508e28560257dd922756d9dbf37799cde725000edc3d5002530afe64e350b3e8070f77aca8d2a9292bde62fcab39fc992b8f1f5725315a175d34d587a15ce4de0c4f6c9aecbb69d5f05e470fba394f12be036ceff09b2c31738c0365dc9a9363174e005b2e31c71b76279a57589d29fba55bf7cd069514e440f1f0aefe6ffa31de03c4577ef125214d506ca3557433c1c349263bd1ea0d3e4a4a6a5d4e41a4bba5635c8b2a7401c90b2ff5db3e4169efb8ba10bb4bb34a048383af032744cd0d9db59923bbe3e18dae0683ec752897a48a7402d7ceb0c347dca5444e69f6262ea0afbb8a64a85faf2d1cd5be6e5090f437f247307b708c00bfeba1f9c8e31f1dd92769613c9b77460a5b2e4645fe2fd437e2693d905c8be8215c2d1b1c669d3a4351d848e2f7ebaaac364e1e352d2662d36c5ba9a75d3c14287bd77b4698ca5def840872c0c3a903e5d3db1ae326de60dea17129d200220a4746a4f7ccd4f7e536cf0428f3c2d34e4cc50175ce338e26bec9b11b4fb6ce75be01f3f7680ce1c17efc3246298958871118cdcd8577f38f22e87a3637dc5adafa5cf16e76f6b32a0ca30c111f58f600c551bcfeb9377b3345a4dca246ddcc1614883fa76d31496778dd69d4c087c8fd1c8ef65e5501fd2034f9fc1537bc10397296304ed03fdfee8eb09babde968956e0d5052f36613168166a55dc2bfedf7261f5aa32e04868ea8916758f407066fbcdcbebf072fb02447df06c80899f166c7e76897763ee01ef5340c403dcc4b76bcc29cb01c565350538b1a83b78786522d9391d531fe51c49f573a03a787f1df7f42412b02613b0baf87e190c23ab9a325bb06169cae16a8bc1b0462ed232c164e1822a83dbddd14d0504eadcda579114513e388500771d8700ea2c6b6234d54eeecfde94bd0c4922f1957b43e24b4da85be52a09b39567ff841aa3cfd3cacf51e46c89cf536a9f2e8e7d99d4e19453ed6890876ac3f3c4c8cbc19ee08336e9d31fb5f6694958dec09d2621ba89f435d1bd960be34e729238bffd8def7555140dec6889d67141bc7739e91b2715d35759b165e53e34d504cc209072cb76a0143b3bad135d59efeecf8e349623971160387b5e876c64d247027d354bbbf0b2054fde808a4f4d5c103ab0a010e9bd5185d51c311c2e4322b34aa5a06460738885950b5b569c6b99a1218acbed8eb893f217b5501c9679f02701349bc2dac58109f77b58c75fdebbe301af579a7844581ea76509c4277bbab4d011ea9fe4a57e1dca22d1fd92acd01d8e301281995d76b3aebf2145915df8c2822e00b21443944d27c41b243c694be0b88f703b9569bac26c5c20ace4217610ae1d9397d3accd5743659fbebd2d40c43e8485e31dc9e4d17a883091aa291457bbebca8770dbd4516b39faf9525418ba6c9fde383f9adadf46fc2dfcf3f13a809053e886a49fbc020380b7698692c0f87f5a7a024030eaf5a0dedca8e9ae8af43c55f3e6ffb891dd5f8d8a57fdca2706c5d04104a6830f3b3ad9ea2a8d70b1f276aab85659cc3e885fdaf67bcb96609014f259e0a7e47d806e85d9bc92215c57e2bb7379c8ad07515c910fa684bbb23bd3c4f852e40868bc4f29f97c5369512b9b282208996e1b185612f0d50588cca3a441775c6670af35ec340281f0195e51b284d818e27633e5488ac81e6275ab84dc7d4bbd864f6c5e68fa74377bf34d08f91c44230f1d9da04589d382341520cf2d9257cb267183c02363dd9fbce396f654671c8704286d395736ec9358021f0ef2ec9c81a23527b406890193ff3bac6184f6eff5620bccac0499ce883f5660d529de6323dd9a5741047da9a456ed3fd990080a035c786582645147a6ad3b0dc36f26dba0f3dc347751d889e2f02b00f91fd867ec6cd2e0eeca7a916cb8f8012836fbb3213d059533522e9cfdc3940df7cb58e658cf38d0bb52d6a8764c37c7219a055ba73bb44fff8647af375b428698adbcd725c90e4e75a37164680dcda19011f4ad24d0e039d5aec7bc06bb498bf234b5ec222b255831f63896d165eca4ff71a31395c36c816f45deabf124c2c3ea770300d8daca474fb932a357a213f11507df4ba67a52b226adc48858fbe6e81f3116572a5ec6e6cb4e3d7f9e5fd03b1ff8d82d1b1fe43120a3aec573459f90f78c3bc6bffc05afbe781ebe1fbfec06d76964bd5c3d66b99df5b97a4de6ba18f1d67750c6c60be63183e02abb822f3cb89a75b2b23a7216025b2a83d532a76331d5c195be06bdbf6382f5803ad5bd8839e2c8e99ffb3b314ec0bc9a2ac94a1911210d411b5e1eb677f163834961f8741914f522d8dfdf1f178a076325abd1acdb40419a58ba384568c9db64496b3c7bfd869413bf90111a6fd5197c46f420a1c50e975f17d53c601d8bc389eafa5ed496f6730374dcaa00f23f1397c4b9998dc261095653827dfa017efdf7e12cc6e5a835d700acf439477b7f0bd7cebdc21ea04f1d1f1a587baaa6e0a9c901ff8bc1d5c8217dae6a25fe8ad8b3c5a5fd7a63da62b502bbc60344bb56ec5a9cc9eede3b02b0123d747258041316f4d62f24efc1f450129a3fd5fb4daba46fe843d839cb23f3573d2e8e505ddb3fb9b27513fb84fb72a8115440735763ce2ca728a61bb0ed798371031ffa7b1d6bd2f1d282955ae2d7a117b470bb646357a7d18153cbce5ba460b3865b71bf1665ca1f4611a60cb1383988deb57d3b106ded4a15a977d82e2788ac22aafff80d791982fb16892398d4c3f0bae1276705be6aa3f6077836847e1f33387e1125d86c0aa39c9c49729baefe94224b6f3747ff2d453f830d91d32de9bee044184e7f8e934d7abd7fe8fcd82c956fe33fa797cbc4815717ef5fd13c05fe2e49803acaf5620125dc07e5d00c85526acdac31d83d02afa895b166fb7f8d13f55bf3aaf87665a174fcc90c6e38e5c4bb5b1526ab92204b356726c66cb164997e5a029dabc87f2424ac323f483fa112ff5c03363f50f3477f031dd646b4148ce9b188217fb7ccd904e03ab70ee733f8452e5a2090dae8bf4a4eaac68fa7bcef238d07362f6a4c642eb7ac6dca3396d567e40c4c9489cfb74df51f808998bc53c38aa15096ef1058fa7708c4839b0a38fb21364f56d61674c33f336bc561f31de7b99ac365bd992f0f6400985eedcbd10b7221ca9f4af2da0eccf74920e751f9182921e2f4d08fd73e5b3edae87f1b4fee5bf661d0cb63e42021816bf23cd9632345949a5ed9f8842640d4801a6a8cc1bd4531cd3d047245d23bed24a8f107f749ab1e74984734bd29c7a7ad47cb3c15a6bd4ab4f8a43b791bb1b1ffdc789d986b4f732faadeec8b9e50c238dfb8696d3ab3e3d20c8a533a0c424474e00a72bfff5194aaf98c34dcf08fab8653fa72ecc82ad910478f1ec981200189426d5ed4cf0695fe01c09e125b32465b5997eb05cfc5eb27c1660d14e6fc08b5d6b40b93a98cc35b5759bcc5eaa141b99f62063a9e4cfdd7b6a2eea1dfac89619d719bdbd306be576f8f4358d885d7dfe965e11f6c9e5a0a4b406599f48f322994d42baf339f86e4261ab252163e9e0ad3f21656269669dea89c1a156633bc3983147d2f284ec0853b19f6735cc1960926c44740183635fba8c32ed51e1a456a8130d5b617f193899512a687f75c720f871173a6ccd0faa3e8fe53217df3b503f5d66d915ef047d412d3e1396ad58cfd8f76aeedd1bf3204428a471c156b6dfcc8c7ecdc5e4a0b2405e68ef7fef0c352182ed2e2e6aa555d28f748632d3a2aea7002aa8c6a5df91bf66de4c1393bbd0a7b46129bcf67b7c225d97d14f622283f75fcd1bb3900f27c79bafa9d6e3d66f659744a080827f9d4cd666be03289a86b19ea49f7ccaaad9e550afdd67f5207aa6e59f2a8fc32cca13916803d1c836e55669e6c4baba7dc05ba76044277f075529416086e0756250a21d30789dcc7ff0895706183b8c477f6db703e83d6b9ce0a58344fa8a33efd90473f201d3b0732ee05bbbf8feeee8d7ea40c72836d3909f49b840479cadb73b675cc6a09caa72bb715e947829b1c086d62f579d800d7e1d23368cfc29f34231f9f757d4b5cc55f15c1e95426246cf4e48e713e753e8a7c6461c10b62036b7e524e60ec93e3e3a2f2313f218350c63b5512ee6c7d6526ee8f9cf3d63fc548ba8992cf40c67d017d52c3d73e1fd6e949d2cf22274724eb5da5cec6e1a36cb5807f37469f0a2f6213c5359ff55d91eaeb2c7bbbd5cfbd7b7a8f5c791683c2841e1ab8ac34ad2de776e068738d541108b08327e1b113b8bb900e3a705e2bf15c098425536d2b7cd64f300c8e53e0796474e6aa471ff180e5e7a07318cdeacf674095a0d1c09857faa0714a4bcef791a9955f6b916fc8d9eef605c0e18e3b16cbc0305bc91b466f3282b109b3512b31aa09766b670cd441e153ee2546ec2e3cd159c30fe1206fb3d901b88feeed3f23cfd838d86e6886a45c8da2fa2ce7a0f27574adc397d8252be58d3e42e874b7acda7e3c3f375259e55106f8e1cac746355fcb613295e7d63e643631048d7ed7ba11d4b4393d4ae46f26e442ef36edc2bde6dc1e33ee202eead81f29ceb7a73d883a68c7df55fb5fa20f31726fb14b8fa82a61075f27ec0d7eb4a25055a74321a3ad8bd0deacf112d438d0b4514d561bd290c37260ede515ff2076efed7d474aa2921c355a9eaceda3bf08cd18ae058d69690f1ba29d7c728e16df665c34524c3eb0437f32910c11894805d8645e8671a0478adacac8f15991a7f9108aafc1d8fd6f8830c4fb709b7ecf08037aa4ec65ec2112fd279bf2c03b10d37b9d3200fff6aed823f05b6150009ab2a55b65cc789061c4be5a8453ec9eb26796af555a1735c61c01afa672166ed28a6019c91ee5556fd2108e02e63ee89fcfc5edc0b26078fc71a4351b32567140d72836835ffee0b1ce7ab16c4587c1df99a8c6281671badaf2cd67d0847996fd4a93ac56feb83dd82002730c59bd4bf1484e77b265a6870ce9e67024da5de6d996f9abe19fb6f54ad1ec5aabe43f7a36d7f32a567daefb969a7234a0e9787f79188094a6794a3d78682b51ee57291213efc7ea295e6143d45e8444603d36a0ea98c5d959cbe3d8cf80d161ef341bc6a11265989696b8bcd96d140cfa87ebe007222f3bd2c2b1011f014abec17dd7714af677f151bfbcf742103e73a7d5278af5d2866717776ec27b318ca76547f4f5454672897eb6a620c46d13a5679d7c9a69549a14a465ebae9c84c5587c4548b897e3db9b224a11c1928189302c55c7df28943a2ea8627d35fd0153132f10b7c314e77451faea5bbf60db3c57c834a7b5f696a1ae46ff252451896ad7927b5595d52559fdb6b4e89b797262e1fbf5a8e1952a47d7f1aaf2c83a8528c0edeeca9f1431139b1863b915815aece4026c85058caaa3394e4c86f98c13f29d1bf514d73806f77e2101806489c281f838e418e17f86ca8ed99711afdfd75e25b5d9b9d748a8190881553b9d819482ae0115deb865c2f76dbdb260692b663adea3dea997f07f5213c2025838828d36d4f6bafaa6d27827213e8516616595643677fbbc68d853a6c5ec520e05a7efc68141e54a0c07b82947a9f20fbff7db66247662570625a2312065a82e7651da9993688eb3cadfeab775f5934ffc666c8ea3a8865f1dfb5e4897efed55c4bd96d8e1434bf1140554dd8aa919baf10b182511859974297123d84937843c96340ffd2f620f6823d55c8524d4238823cb6d952c7cd9445e89719ba4d4a29fa15ab28893b2f5923e67a93817b9d41b9aab6bae8c1f7c7e7df4d8ae73d506079791f56063b788f73cfbaf33208090bd9e63ee6fab8000c6ad2056769edf58d8f75a4b3dced7e9d80a7105c77e24a120c91683bae341471754f10e2dca1a279bd20289b0ff4863626a66e36f0a398382939e2648af8e41bdfead022561e37a6486aab0ed327e41d5bf5779976ad9081f012eba090a5d4c7637e31ca347156aa2da211c6fee450b1218384ed52751b7ec3af704b978afd60635c84122ad209f0d270d08abd8a177eddab4eae91dbd4256ab50e122514c4a6ef04f6d236b9269a49e4e475764ea22e71cdb246d7a03ef7c1ab4975a317515ffd20720fcc0fc4bef4dfadbd7f2c08deb1da807eb1d4118e71f9ccbada26319ba16517ebd77b7100199142a5adfcabc100bcdb4450708bade23f5ed0f07b84ff31b6e41ebde249391a2955d151acf41d24957321d3c89c22060390935ebc7721cc7519c675b6d13bcc9f4356370d73933005fab222306b2742d7afa06941febcf596e650e3324987d720aa7c34fc732a13e927a5bf38e3d1a19be59bbf7c4b57bcac43f4c2d29042d9a59d7506ef59725362b1f5529f416f973df6bac2c202727ef1295a518acad2a213f20400c610e8b91990ca1a86fd9ed8b2e69b71453e26d7d16cc6238937d19e918a206a517a7a1d7bf13071761f85d0aa837884fc9918864fb3ffb9aa122e22b49af61afd4f797f02ac22091be42e669bcf3805775f3451ed6a6056328947e8a4c72ff5cf017e934a632be0e397ea4cdd94f5a63d35a19972303b434f30d230518e187eeea35dad663251c94f02b16beaea73c5ae6b4b184d81a9239799d33edc7f6da46c08f844151fbf6225d24787bc80442c588ec70138af45da58f899eb3051f74d2947d4985aa5bd5b9ac27e721deaa41498b203e0e26b4485d83246cfb073e63952c0dc8ad9d7966287a44f98183b6f262cfb0ba48e0c71909dfe776d0a83372abe04efb927110af7a552f172b73ab8523bba2053beaa9363ae572e7ebbf47921813a21a40143e965a2922d75fec8b75052118d4780beaa9d3c3119fd870cd0cf1726dfa83e447913180dcf3764f93781b503db4f6b85aaf6e4b7d107e2c83598eabf4bab82c86ebe734de43f1dde30884eaa152d2f8ea3001c0163b5b153d392dc47d80953a94df4cc2d6eb96373a12ee5ac70ccb695820013381f4b398c7335fb094c37235b088c1f50465be4ba1cb4f99c267456597bffc7b24073227f9dcfee73a0900a8a8d8b8c583257538fe141a5ebf08002679936070337d27f6c44b13432796923feb4dbffe6009daf4df13db4c6118df5ed865abfbc7c9d9e49e8abb6fe5ffecdaa9576ac18bde81e2d31bf83438536049a6549db7f7bbc9e7ec5f05f7148dfc113d75d36c6fc0ae50ffb38edd6ac9b6bf611984690312d7c8253fddb0526ae4c922f46472211a8df084371bd8b853a624e5781af907b9045495fdce2da4a3c736eabb6eea97c771d2c4669fd62efbd5304f65ba3bf0d908693c4e216e9db76c784426e9c53db6e065828e176e6acfcee2f68fbf2598d49ab23ed3a917a8f705ffd64663f5ce84405f06936189f0e77a4d02aca499546e071136d5dda26eb40fa349ea4ff60f14a7cf4d827369d7f5a10007b58eea55760f46e71e2b3485d759d42db08f1922e54da0b4982904e3b1c94115b14572c2fc9488e55e7732b62b1b706f584ae089871c9dbf7470150d4a8db894afe937bd247dd13dbe18f0c21bcb18088639f1389328646b46a4f27656d4686ae834badcee5f42a9222d32e343433195d65c78f750f680de4fdfba8d3ccc9ff92a40123201eca1c9a216fb81a96475b53fb09568bf1abc2d6b4b391ead3bf4f3d0121f31bf955e41afdbeadfe702036ebbba788c5c71aa77cd6249b6a7257b13850eeac9d5a3632d6137a56aa4c5e20a1566155ac5711c263cdf15fa8a31aec83bbabf3b2e470cf457c287199e2345664e524946ae011e1363921dfe501f4125260d82044dc9f399c2f191c825ff3df7bef9db180a682e5a05fd7398eaac74925e9dd5f90158d2838d5a37f30f112c5d9b6a7c7d21aad64b171cde1050ba3b16c690a41df161cc340fbe8ec194ea8a5fde64a711274e87d7e5a6212b70f7f90906c6367d56e59fbe8b2a27a2100f4ea6e04cf88a2cffb545a8acfd0cb05a39f92edc9505e54e22a33020c4cf6b355f93d502cb37b6459b7099ff6e9f627592b938d90c5c6f8e29f859dc2e05c3faed394cd005b70d1f99229c49e7891eeb0482c7ab66f208bc767eb8b717e2a7323a615a1c4817b3f94ce11a8aa798b8fa8c96dfa73d915bb2410d462ba8f9e3cd864af7d6892a213555c5a73b6cb0023d3b7d59d859bf9528e708e9dddbf6c58ae8a848a7d7fcc896a4052a0147a81d5aa54894a9d4d6851c7253a2c64d800d1941889c88f4eb7b06712c00ae3d76416abdea39da64a713b8d49ae024fb953fce42f2cc69103ae325dbc8e79b395a6d787873be416cb72bd976a6389b70337cdc75c209cf0d62c10b69907d65de919889d844b07c6a2d298f68ee97b5510ca2f94772915ec11ab5a643bc4677b1e00183c461016f942deb8b3c6e3f087eec96c192af17b644c7769170cba3ac0867586cd47d2b2a0f86df0130fc50720af6f88707304bbc7804270ea977bc476d6a0f2f7c9fca4876a7ce03150dff0e0aa117de6a8e509668cb3cfda08a38d802b862af7ab9595afa37a67470fcfb0dd3b16e4c9cc526963d21a7fcb5f794069da26e1cb0463bf05846a8d2c392ca6778c8e9b462ffca1a2708714f8977da0ade74ebbeb01a738d214aed3a8497ff23704a63dc05d4e562a632ff3df8d9059a1ebb1e5be926ee0fc6b874c66bbdc347ddcf10280bed2a7cee28031643f0fe26e0aa0d6fec187d76027d70b9cf61fcaab62c532d656aaaec091f3b716ec332fe01cebf2721d8f64512ab3ffe1323f4185e1b9ab8a2f4cfcf96d0387d121561149ba9447541120783064945549bb9967c095fc0aff758284ce74de68021f22d4df5a97c98ceb85492fb924aa9137d5b8e490ecf5932c581506a458ddd479b17fc0de8cda6c4be46bb4cca9075eaf8c070002120b249d535ca6c81371c02a4dc3cd637c6995a622370a688b5f49914c7d2e92da16824ce0d06dc413e8b373703c180d72a406a2207ece53a8cbc152857bb6272fad4d1e35e560f03fcf957ffc060ccd93e94089575520bed9ecb170f6b1eb0cc82055b70a8e012495f644e3c0454fcd8262225ee1252e8f3f9756eb5de4c6a220f6d244855583a798f28ece02f14c08a2501fab4604f1f7ecfb8ae111f3c9d1e0762aaa2afb4be9f40ba511ca6d3b1db9a14f348f2c4e5882515096e940fb529c269e66b4e0771b6a08ffc1314f1421df562e83f88f569904efa92218a3ba352e213b8df67a374c013322c696fd4a8a029dd8d0604766acc64fbb75e79d80672029f869e07984194c2e0144a07dbfbf0e2f1224dd68d0b22c68cee0491c5e993d946c85dd0670dffcb04ad33e678cb19b80a3b3d6c8f3a6f267d428f486333fd84e61345f03cc80cb1f69dd8cac4ba3469c4ce03e9eebba116bd80700428f4beebd015b3b93dad366494982a48a84d926974a624367c6f07036322fe965709298de069a589ac94fb917e0032c8b88d626d02584b8afd93fe538f44d0d154148a1e9741993835b04ceb8cda5e2b3a9c548499464d76b2892501d398f3a2b2c219e81c5e9adf99504739e5856eb5dac4eed43895767254c132f47adf66b558b08a9e08a19cfcba97e8d8f16567eb28b39704cd5c7d7545b6591fdf9bd04e18480953846d423bb5a5c11253a37ce3f4e5cf70246a88a524484fa87344fe4cea47e57cc67954369577f5d6513639858c67b1d004c1ab32ba930ffe74f17cc5ff9ceee0146c4f7f51e67742c0b6dde2eb76c6d8dccecc26daeb3d57b076955841dc4671d4a9d97bb1cbf25a77e423640d579398bd580f06e8e7c2308231531c30cd334818af3bf692fd17b852d01c0f05ca999805b038c340b48d5aa236b40b7f85b1ae6534689d416a651636e6669dc3766caad8ec6c1d2eb59dfc0dc3365e7179b68f2725864cbfbe8b8b3d4b292ae8802b4730b0bb89c510ce11cff99f7e1c490b839d6a99fdc4da85e27e83e2abc9d003c4461fe8ad4953d7e1ddd0f95109dc53029f3f78605c38ed53155c583eef2eb632c0c732a04429c120839356cf3af7783217b74caac0618a53751013b04f02591618278d81f9ba39e01639a8d43b9932152fa6383a3091d7e2318c82c46214fcc6a813eb773b72e6712d50cf3f14a67ea0b6d784af67a7dd585d9becb04d5f0f23bc04c8dc1d3275cbf1ac7385a054762a3cf4a326f89c975315974f4465f770031453cbe412d19f24cb308eb7d3aa34a83b5d2e6dd5a0ff0a8f27f36bfe2a8edaa9776ab3bc3a1ae7c98177a8dd1f3c4ceb8aade8f8eefa42b18011265696a22beef499112686a3c17f43b7e3798320d20004b1cd3f1dce620ff008a1f950fa8a8aaa9145f12296b1178052bbdc888836411f3cbf6d9a898ddc2219051e2038a1ca39447f5b396a8988413e156a234a01c041a6402699577633a39d07025fd4e566a9218575fc0eb9be781dc19ceb068f1a023408459c13da17386fe003796354bd6d7d5a2ee3996f08369db935de9961d0a6be9630c3699a6a8d95c2f8baaf32421e9ec48bd044ae683530802f63bbc61f801bf8b571ec714d957bbbdfaafc4bfbbc7df61a5790867cd1a60f4fc1e8f9784932b7c5cc9e36774c66843f8ef99c0529152879cf69eaa1d6959ec0c1800e28813ef807fc9b53c0a819dc45d886de428bbdb81a58f26a2bbf528adf495202e9273d542f866c11f33dbb64f057eeba2ade4a235a812c8f007dd2247f4f985b9aac2932388d3de282288c5c30c045718e3e37b15a84440c67a4adc835878000442336befcfc6a39b2845a9a00ecde88ff11426a29e89f94a2ef4986603a0743c16c69d1ea92a196271165eede650ce2201f8c4e3adafa8e7fbd46fc784f1cd99aeaaf213f8e73082f20d39f803a065d81b65cc9caff8ed7d73914544a361f1e90faaf42dc35e9c6ab6fd3afba1c22b0755eed8b6ece0f7ec5dda16bd14c39b62c4f8ba5ed497ff18c80aee493bb57913faad5d49fd67e0d8eea91e08d9bb11ba335f5e8dfa0bde1a3fb2e89b0514515d11fa879976d9865bae118ea775892f4d28aa19fc213a311bd127ae6ec29c24609182a8d53d23bd53d875ca26c862df3fc3d1f62565778a04d05983746920964e4cda13896a06f04ccb3341e9894f3a45f6edc3523b6b3e4da7acb536a0948c7f6ded097589ba3d29b1f9512f8b0e81d9ddfe72fc46ca37b31f1a741912eea6bb2dbcf8085eb20a6a1fe5198779aca3da54bf5cc3cec1445d1cd288e9525ab87d61cfc7c4878ec8729767dc45a6ee44cff689fa05093db4b67c465c2bdc49b69032f6f9828f6877ad4048c2963c9c309a01ee4debaab75d78cd0af21b15ae8cde6c11e662588dbb430926203be14450aeaecb33a99be86c8fb6fbab99f7429774451d066dbd911bf392efb33562b1141969a18f57a9e2fc56df4b9cb481e8b83ab55df3d6dc9b6a2b961f78e8fd3892f3d291a73c2e7fbdb43aac5218c3cb5ad40ba1a656a1fe8e40369131ecc4262e9016e466ae3a620099396cc2756d5e688034ea1321eeff59f4a2511f3270d96a98b815feb5115758cc9d75fafd200b4b0de6b8a5e06bacab72584e6adc79d85ea76b998b0e9f4f25d30af8cad29bb2ec948a7c538947c5a66f5848b2a21f465297307f098e44952257ce1e937e55c2e24137cf857a471eccf580892b7b354c762c93e2a34df168320c30511d680924c4387ea99c07c171a10affdc3b5ef491d91cc9c36d0cb94a9ffd9507da22f46c1ec4229eb7ba5ef456c7609daed00442ff50de8e648b7408f347b525b3a009010e60581c917d508a77eb2f8c98f793f9796530be68106ba7491fd44e4b2129528573f19fcd8e7c3174590a0a2760696987619d7c75cc24d84b800888f90a4d946ddf79d300ed89b554a298f024120658a7b7777a6a4c92ee271311a0809a675137b0fc6355a51810646276af410f406f1db38ba9657ac4b9b707f3a74bbab3486de9cad9cbf4fdcca19009bf7ff9ff83586f6123916f004b97bfe007ed5df7174f071ad9f7f31e0bcbcda865c86079841f991b9dba4f56263a36f0a2bd6dcf54a2cb6372ae6b8c42a11e270020ff70a684164d0661d5b247688952f435d29a7f69a219e85a9ab99db1a4a1665c09f6143c80edfd839ae82dcc811c011fa47544c721e43d462008df666d0360b83be721411aca8575ac74934b29c7eac8540f7c67c156bfea8114131131d908317b74a43466545a0a81c1120db2b21b929bb2d996ab2d475675e7e0f843e22b8234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d23e047d01c0afa8f190742b6f071c6e2012e9cfd0ca1ed13a26f7dfc4f26d2f9cb0da5b1faa3f5f8c19956c26c42c826952db7b2a874dc876fb0a5b4fde117ad298aacd136dcbec13c7058f0e7fc6a495108f3e9db4c9505cd02beb95b7ac99e10028b3d6f86f28be25181a272067e3cedf0928348e3fed00c7229f80bd803aa00477e800485a04fe133178453d56fa778e36b2556d3b89e9a6cad1e7842157fa5e8361d0445f71d405e759649850accf3a057be210014907da109d1c26dcebb38b2dbacfacbbe359c02832550d1d9da0d683aa5e86caf9fff0c5b9e8e6ce3bdc536539260d1727a5130417275ce1a92fb732a77e1d3ae695b944f4dbd4bf0ab4c25383b29decdd26c56426fddb8b98a5dc068c602c339b4f7561e2bdca654904106e4fe9723b2d76c8e6d86efa422ff6cbcb85bb44f216841651862a22a16c2116269e1a50ca3bc5cc05f009b03c9e3170197c4ad2d65bad1ab25b9ccd049fff4996ed0fe2ebef225f12c67e66e78bc80f61726c76fc33cc0aee3a4c7f252b7afa6f68bf11026864bcfed6f4b45b6f79b378f525a00e9e7ec91510061aff864ff647f80918d719be4c3c42e15d8968d56d4177b449dd9f05000ed5cdfa73a1a1d9cbe4ea0f9188d7816e59acbfb4b382183510c20765913970cc03f0a258466409a1e3a13097682ec788a0d708394a9fcdada6ac5fb264ff5c2eb0ec4d13be5ad677ef36640243dd9fcd6ea536a60cc584e31d319ae2b9d2ecbd5f5da66669f0f048c6e95ac8ac198b137dd938e55e1dd7e05072d2586c2623b633df4dfdc6892e8d1c5be2a6880afaf3fae99101a28ffba2d7d495da39bde0f1d457225ed163cea16916a2e67a253ca48216fa1e6e260324d3377946463e29a6f1aad7e16c4fbfb0693986f0c10454c7b44c3db72626796a0808befa5d07a77d38f2bdedc419bbc94bc89ae521e00be3fea4c2bc1e33fc7b4bf9b8cfd87df2c46236efe84c43813ee4bf04de8c65e95e9100329a7620abb09423029c544808e384a126691c8452f2fd7e94f2acdb0e8c7d9d90bf882db4ff2b1a4a377256c93508317c2d8216b8f63dccdbbe6270976a953d3c0b62ac6725e760c7cf8f68fec8fd73f60583d2670e993fa25298639d89f63921d0ae7e8bcb1094a4e2ffb7460187f648cc839b7c101c4960f679e43984c67394313693fa2834820ce9c2ac261b9e4e3f2d8fb5ba2e19225e6d36d54375ee566999840787147360b6e99c77b98cc09b5db2670333420e1f072ce18c79dbc1adecaae3a9937c53bf328e1c8ac6ff1cd427a0aa668be7f56214439269a08215058fa7d718c5b6a5a4ba3ad3b97589f7e8c397e3327675b64a895abb21fa805ded56655cdb39856f6459db453d3ba818736b852ec090278e1e6ad9814f69bab000367e33e6aa0997f353e9ace4069f08ee5f125f72fe8842930cb42c8ee450dea8f983675c7ae4c03c3f9bda7708cbb3e0b40e7639ca18afe9cb77896c5a7ab7905cef16e224c12ab2238606ec9ad07f90c6a9ceac0734214b8b17b2baef16d62abb66fbbce337d7b7eed07d10674eec30369bda3d0d70bd51a85384dc84b1b9d1007ae2cdda8bcb3b03d4338479f016e639e3524b5ee4cfdce529665fc9b6eabc7f7b63227d9dc61a681bc916558a8a9ca088d4ff23cf8092022529b8c70277be17e64db50e77f0e8e563b7c678e2655245b3eb5c09469de8ffbdf014802ead7aa8e5edf4a84d568b390dcf6b5bba20d086338928889d6c28748004988290fe531987f19df0d807bdd41616198c73614e7158ab000ad594975bb01e7a0d2636c16e77d44f1ef98ef36f839ac000b3e212da2a5b89f0d91d5e74db5642805abc31696a4faab24e12f2de171cf94ddba3d5712f7d92ea728e278e60b2872ba99647b2466e7240e76a75081e608a206971aed280d27d4741686b9bf04b2d02f8141692d75e6d31a940153f3b956eb66752285d24b8190aa4e83a1627cb5d4aac7ae022d2c4ffa1759cf0eff67ff5d60df492eeeefa1ec6378286021ed7ae90c1a649ab8a5b08f0bb49fec014a98caabd5a6f2b5af8e1ae29908d23d66d3c7450ecbeeeefd6f44a2dff4820c1d328e7e1848dd56405f6ff0a68c00f387e3728bf39b2474548e107dde4fad781cb0df1ee6f17f4484490086c5010a63a2aed750d2110a949021ea8a0ef7bc36a29f07591823eaecf80202558533a96c988f1a2cfcc02706e8f48295e039576679e083def245362b75a937613c55c31b59ef8a2667e2b67fb93d691cd0838cf2a646dea6f50fc9f37e89fb674e46cca0962b550437e590a4a2ef1b8980c80f28de0f4cd5f0863f73784299ec6f7da0cfd34f318f0d64bfccf60d9cd3836943dd3fd5da5a2aeaafac2888a855cf01f112f8f650548cf7850659033a6bcee34a38fdfd74fca77b3273a29df97ec289a5512e00b0b89dde036d6a2b7aabb267f68a5e920612b9475011eb8a590561bfe1421840f13bfa0462558bc01372705d338786c006c68847050ca7883efddf9ab9e2cff55f23a4be90e903bdac1d275dfe8df8c11e9777fbdc966c4055df17c460cf1241e4a1d8c8555322d9f5c01234471932d522cd67af3431555440b0c12c17f2ca8b4054cd93bf6cfa3e7dbacf0153d3399184fc30902d2da0d4c4b2077f674c2482e75e19ef9778d780f8d71b94ea58317988667fb84be360a6ae45018db41888dc4f3ade3edeb30565bdfef9e54751f5f2ce040a8ca92f7b8f2d03ea40b44bc0db074e910ed57705e92dfaccfc2a7cd3d62a098bbb2762e79c438423043fce6587fc34eec805f68e711417509267244c629bbe3138b1df445fb9e037a9ee976d08424143f169957d09ea4f1fe7384e31e38260ad5e2632c6d543d0cf3cf13a5607348b20fad7762b3642e3ab6fbf1b403532bc601f82703f08ec271229f326bc72e07b50104601c233e73454798e9b4575689525a2dde846ab37cf4a4e7dee23dfe74b5b77da419e706f3c53b3b7a7cde31e8544e7c105f91d6adf196af7b0af7c4175e8c749f2acfcda2ffb59b926bb6b665182b0d6d6720afd28e0766ac1202b3be14f983545dbc9230aad0bb70625520a474a8c54615ff3f5c298423cf337ec430e1a26272bada9fa2f1bd4681847e407ebcad1550977e9f3cad65748956ba0935cb73a86172806afbda84ac4b9eb2b59e23f4d9629ab314dd110b005ace5528671c97dcbfbb5cc667524fab71c3010d368aff4f6380c9d04b0f0e8ab3356d206e8748dc1f48649ee4747aa21c00613b317869c05ff14a570effd9d331f4dec93af4f0141ab2dba9883175f74c1222ec46f5280468af5b1fef0fbaa50dccf3e9a717724e399c8c0edb41bc06c0314139c0fe469a84f3a3e74c314875121a36ef377617616df57e0cc4cb6d08fd428b9d509a1a0f2976ff6a598fac6d8e12108d3aac7a028fa35e2d546e67e0df381ef0893910f749587f1d9bb0b8093712e0ac123ec65607b82a83caa8ca2a11322caa77c49fb8ef005188ee8f6848e505709ee5a89f22ceb8c99dc8fe41a6480ae9e7ad6570f398d218c3309d8eb283b7127f4c82cc8d92df267ac8fd356a2aa574b8eeca40c867509c8649ba4d076a1ebac17503819c230859e0a0e624793256a86b0488f94648167007fa1f6da99eba1a0fcf224246e8d03a2b3bea3a8fa1574724ffa7831d18e32139f823a9dfe4acd77fb3201b95f5ff7763d2d3e7136344ded18e32a365b849ad43e1b74ae3a62955f000de80484ce0f45ed54d20f37202ee108909b28cc84ccd6a789dc8435d98e7dfabe4c11ba30d266ede5f0e0e388ed13a984690c333568ae87d0d333756394c19179e6b000b2fd4aefc0821e7378390314f0f6ae381e89b4e9603ee951deca34dedcda97c2eebd6f3facb169998360468d0b555de2562d9bb61626e825cfa6b8171509bdeedd72ed802dd0ff33fd18693268bea1b5f7888d185e7cacdd599acd804ce757c32c9a0937f9816d4e921686730ae5bf4b58bff02632ffd68854f731e4cd20ba831e7cd6794e47c61cbcf94121a2f93fba097f97e2b24822074a53798fde11e2997459d372f46ca69e555231281416ce3a362fd2583b5ea0cff584fa524af5b59f59d921407406112dcd90d44afea026b58b1a343999cbe0e5ee17058f6cc28049d52bd5533063210940e5b7f7a6eddb1cd7538ae364576ab1d58ed79a9d861b183f0f11ca2ba886ca3bbbf9f6c5f70927806220deadfee5d9600b25be613062d9e5650303a7f8a0c4ea9b298ef1175c1011daa1b3acdbeb2e9fa79714f981854e36ae9673dcb33ff4b58b0bcc42dfe76cace7556f0790b383b38bea4739b9814a351d6829c8d88da26e2d6f1949f60eeee6510fe524c350d6431bea93aab3373719202eb1dee8fe2a6ede3a08d591f8d436e0d6f2f96c546575ce9edf8c3714840ccf6abac12be49e743b7d28ac11b7faafde2853f65b6873965d039f3421d6b73db81bbb22e112cf08c03cbdfcdf4096f6861e5f8f6b176ce6e8ee11c8af28a36b56c709f8ffd15c73889edb67dbb6a76c9641e6b7740f6956829b95f96e071da97fe5ef7021ffd50031739ec4e42d1a70505eddf12d257515b8192081ae4488c169fed989bb96176226605f57eb0e861297d7c172e3d814a2f967bd8edb860f0ecd780f1b489f6530e48563ba595b118986f16ae92d43ed51671be540f9b44c735574930fe7f7d08fe0a97e5a99f8fa9bf1b49bf8bfa510e8067d4ca68cae06dff23a09745745a75c3f4fab2d202a8fab0f6965e016e9533ccd32650c39ccf80e080167aa2ae9b655018c2e7653f438f4877be5733018640ad9ac848a9717dad98c2ffc8a78eae910ac55dcbfed2ec210a0652e7bfdf84f269103490a494d7dbc80c252593a9eef79d58d9349f4f7967893e225aae5d905dcda3db9cbba5b4358438d5e21d116112f52ee5acb12557ca55665059438341e45ae01d14a3bdabdac877b0527e3e5d0b552376c2b438d4f0b5bf98a7f8214df6b47f40979da50d4ff280272c403652c23ca4aaa4aec5ce911501c2d4fb724b06358b0bbaf9c078d350be4da8bee6abad656916b342c991d1d6c298d433a0c9bc6bef6c44301cbf23caaa8df098b4a95bcf76cac3334d10379cecf460e855d3182ec31290c986b705a87ec2ba9848d7a9bffa3f314b6b61cc2b783e2429aea138683405647a01f0149b35c54a90462dab9e4d1acfdc0ad0350d5efe9f239e8bb2fe8e2dc2eca7f50eb95e135aeaef1d4fd4f782bee37ca7adc549f50a950302efc422e799868470997f5b40e87d08fdf4c0c7a5d41176d95699652d963cc736bfe46ebc3fe7dbc4929dc4418db4ffbe84adc39ff51c6cfb8f3bde8bf52d192a1d561ac43e380f16c5cd3ae88f5d349dc31b96b99c4c18b3e6e1fc870372c93f1e0d416bcacc314abb1f1334084773a7347e74ba65834da47cdef7abe70926818ed1d066e3f2c4e13d9f192651ffc17abb99bab1f551308156e0820ff5c875fedd4e10ca91062bca623c50f8bb314f569f5987a4c11ac123d6027910d6cf276ccfc2e6c46f44a572e166067059a3e8966bb869e246f6842832ef4285356d0080c732e955bf8a535c438dc379ecbe59e457b972c010ccf72cc64e524ce3dbe054de985a48665953b223e0625b9ec7dcb742502754a1dadcc2d55fbf08528d2f53a5ff59e30724f0ae785a31d4b54d1d57fc26e0fb08723241fdd735ba6ba20b3e58069fdd857fac1ff9b42f82b30efe7b4164fb13ccecf857d4836cd97cc4e0dbce6c310a4b394eaef5016e6fd99302c91ad55f6e392dd86be40af2418803632a436b2edeaa29a3d0a9db1ee3180cdacce8033367d760e0c2b19be175dd23323524fc21a1c5526cb088ba79f5bca18d151e834974d5fd7c9364f0728cdfde1b6711a9cb40993e63a272acd8c0e9180d89e1efe40f0f6c8905257e4bdbb379f9e28f6de8ca362f7af9ead902b6daefe574ef4fa92f7b1e7cee614ff9164fae93cf621fa3459877f8e8aa52449cb0b7b071d50495625be5eee77e11c937d6f5ce349d2a9e207c9a9672d76c12655edc28657e3a1ab0abf02b9e87d14d132503b096af95fd15ccbbb0993cef2758864543efd3b5622fc59fa0b3dbf7df0b3a570423b577a56d5ce225a4fcd8b1ccbf9a032c3630811796b6d082e363ff72edd40aa4af552a47b180ac9aba7e780a384cfc89c3fc5c059eef4033847734d40f92a5bbda6177463e913729bc6f0dc5cfe6048251bc41f8ee6d10fc09c453acdfd3415280231c1e889c42260120ed7058d964e8c9fc1640e2788afdd5254901632c1d6270f433c09f72a34d3516ef56480b6d10c33bc288c19f08ae273fdbeeb5dad2faffcf09d2c451d7e8d748b0e29cd7807fb65fa772517c81f6e5f161327dea102cf3208984e5c6cb615b46d28bc0cb66e10d530c88efe1f9d3c1566b4f51981c372dab90d02e53fbf353360c7473bcbd3d8189f20abf7a76caad487be012acddf30297fb11119308ffed8702ec4036f5524d7073274cd69d745842070ce76047fd1a378810ecf118764f22d7204e51f803086b65f68ebeaefff9dde82c2184acbf66e3aa899f9f8829e2cdcaace21d58d58662036b8a5423de3f7e61853461100c6ff4f0a01affbabb478ae82c7fb55c02d563a74c2fc12c6b8b44e98dbe0ce25ea2423a8f2277a707f03b2dd4cffc5a2e28adaa9ad909e2329b982297ade08671d73c58a566ea1d5f2289a3c52a9156a919b49fcf192676067ed0062b6a99d43feb4b97dc4962c71e1764dc46720d06d8939e1f1067bc45673ad65b7f1bda2ed3c5fe06eb9e701eb09a7f5adbb33e4feb647d04a1d45bfceb00255f6e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855a25ab41799057b45b7439226d12fde533cfbf816c4ab425e08be8d200d22ab97ee43e3c4b2ffb32ce1fc8240cff275e9a475ef7c634f1ec9baa460a86a07b661e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855119aa1c0d5e58db75e9202afb99d2287748dc7538209a1cc4ac7efc43a96824ce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855bd4a72a13bf845fcb9a2f82efab0bb71c6dc3ad2bacf6e4167f7a80d942c853ce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85551fa2af95125f64df4251ece43619b86bcfad0dcd6341fbee5d600e0332aecc40572895e4a53ce17dbec7b4843081f31308676108eea4f41b4d27365aa890a247475b628d7821a1a45f672fab34d8a52df053ffb41e254721f7c8b2dda1cb3d4df84057a2ba980fa9b14aa7d71b85fe58c66956c026727dbee687d956cbebffb07448eb82fa8e6945899ce99cc2292c79f47daf73f6cf4f7e1d3114dc5389f0ee43e7020d67065497c17a6fa4a7973394dbd2124c88ddb184aa01b10cd5e2748483334808ab40b21729a0c1aaec92bcaa37449d498c9964c648cbff9f1c439a2225682eea10edd7bcefbf09bed85a7061f51b63f00bbd4a2595798b1805f77bfcd152b9bf1ed0f58984c45a9c8d38fd38e5389f1a6e3316b0ae03871327068a20fafd35ea1bfd146a78e5136d88dca7e17115e1fb4c10ba98bc82a9bbec2c0156497d60327a667f7f59952b5d1e135ce12fb11e274a9ea2d21fbe2aee80f679814f5052476c9e7ca67c3768388a8a0dbb9222e72d7ed2e5f42166382920d9b46d012bc472cb04df4a81aee68df7084c95f069ee437d1238b532671a8f5d6165b2dbd4042705136e4e297f3bb7f93e1e5aa6eb36594b0e63c8a605ffe523fd4989793c6f26619ca013deaca58743db0bedda694db068c35688cbf9016dc2df7a9c3bb24fd758e95f4d8cd3e86fa5dc11e8e989c4e13f2611c595d03ca7aee1f9620687ab212af2298d41acd657cca3fc4d3d469658fad39f5dbe457d887139130b6096b0491a18e3104c298245905d7edd813e4e378045ddb9fc92767338c2309ad831db68a64a30b71cdc33b5396caabf41b6b27c350b388813891ba6482ffa1315d956bdab5518411663cbce65aee2828c784b0684f81a094c5667c0b5384ae979f37ddb3943a385661164212c59527d178e6dfb6c92065c51c1aa8121c1b115b0752f542b34146aa1333da4ee0ec11c232b60fad7617fcaa8c4488317c1202af4bd471b72243e062ed0d807bd6099fb66b1042f8b437a1990440c37aa467ee266ab0907864c4a93d38f1d447a3619a2442641955847283d71ee5e4dd9378b64477f2e7a21fa6b2b73bf19e325049d186bfde786f1182ffe5894fbbae65fd410d1b760c54bcf36fc45178be00366e766cf24b855e9806ff746350cb0c9daa329cfc0e8fb6b1b61e49aa8169bf84c85224623732d75328a9c59f5a2a5e46aef5a443de971df651e434ab3864023c85ab08727f71f5cd7056dfdac01713b20b68f88883cd8d32a326ffbe3e9f8d9ff5ef0d7177e6bc2cd09ef4274f8fa7acb637884c4acaccee534cdeed820cc2755689a309a11256387ae5618010524ffa14e011d9885cccd54036e752684417f485eae51c53bdc670f075494e7dc8852a5ce67d79f0f221863804e69ca18a6ce3dca5a1157518f9deae6c89869eb8ab95cc08837cb649327e7cd3ff60b1533a07f9f1f7a2fb2ea9034045b0f9ad411c76ab97a8754daaaf47db447230c53a21aea2f2f87d46fc32f9124d07e52119bcee051840ce039642656443adf77ea816d21edd4512a2f29ab9d6173ebf58c9bafb928f54f2b39c37fe7020232fc0f07529a6b4c7b51eb6cf336fbf274c38c4e67be1f7a21cfac14baf69abae798dddc863cb9fd50e0d3d451d6a3b6ff687347b0846586e4bcb1b488b31a918ad05f57a1f71e26082a97e8502f49657f5cd0907172c1b766353f9e7db2d8c1df377977ac25ce264d58c80d9a83d728d0ce8a5229b1078f01ac7256977bff8c5fe5141a5aa1b070186885cae8ed4b79b8d4d22df809713500a6c98166e50d10d8fc112e1eb6c332fe9a3d9e4a92c43616a6da1983ae159540fa4895265fd9546e9fccb5f656b32118f50a1a086ead61e05eba5e863d4af642c10a8ef6c9e3eb9362e0f9c97892e5df399c49b8602df2e62ed56cba728f1ce3f550bd5e244237cd0f30a90eda57b8b00cbc24101632221d8c50e4c3f8be1366409dc0163c7ec0656e0621b55bffe57a205351d545076fdfd64b3b22640fe4c7d6f582fbb88419d1277c954c103c7f1b52194661aecb7799a7e020170338a7cd2566b947928a845595e87edbff0487d98cf2471b55e84404d8c75e946fb1afa65f12b251bc1f6f7912177976a4f01f1190b623672509e313b3215dac2e4a7c5129350161ff642782faa42d762361be70d22df0d4b12dfa6cbc5d4e9ae1d7e13e0b70e5424b6f6e401ed86076c97f83370d50b6729098402bd620ef53960def5e9f19213b908550af0da5f8581518b8889c5e66f9726adbce574e80f27078b383321c7356e87024785143c723d1d86ebf69e1f93da88af750304b01278d15d2e1bc855fe99fdedb3db9dd429e6f7c42bfaa82a76a0cf1673e8ebc7d4c3093b7742c11857eb0ff5a83f9affaa7cfe6f60d46c066f2dc42a7b7c26571cf162a81f1d8e3738e645370650dd7a62f75f6ad661a4ee930383a58d4a0ac9dea8e6c412ebc112520127a5f74e6229133efd94bbe007eb47cd18958c8d6874857763a73fc8ba7cd54a003b00d42abd3dd6984a10a588ae9e060424b9afdd47feb0879ca5270e208fc63c958e4b3cb2ce123c86431d936c1d8358d8db3ed955af7fcf1387a6bbeb3e6bc3a0759d08870b6661d5358018d500bb793a738d8b784bdb7eab8d9a2200aca0fb74225f609885001de21b1889019661f0a9c1bfc2e9d6403216a922813b805d377d669b443531b851c7458aa5076be331b83fc372bd7a1511c839258ecfc5f0a282f025e9f30b480cc70ba6d939db0b8bcdaff42dc1132cc77c9caded97d798d72c5456676fbd769c95c5470cc99fac694168f3a308930f66347d4023af10ea57dc501d1a7a2882ea9dd7ae2209eeee5ceaf792d20f31328e5c0edd96eda4b1be30cf307db518c8392ff0d5fc6c94a733941ae15bb72be8415adb56c281170002c80cfa9a72799604ed7e3ce9e3c449cc2cb5147b8d32d8a5ce402983c34913ec72a61995fc92076d4a4230f94037cd6871cad263cda9cfd7b83bdd4630422d3f58897878a0d926ab0858df5ec1bcfbd73de19a0712518d2967e84c4073b07b41f8529b6170e12c8ccc7cfb5a820c7d96e9fe5d81f5e61cfab56be52d3981e19dcb59e47b59ea46d04a9b9c0a65b63bf734800ca055488638868a22db4e5e767fbdb6806f8fdc27567ca8d0d33a7aecf1a6f4440929a75cb63b3766db8e573ca524b6194b141e19aa2dd0b588444a90ff7a25849a21cd0e1b6627eaa236645a281124f8e50275afeefe91234370f33f10dba1171d2afa56d8cbe7574c18cafaf74457172a81ea69a39454e40444504477a6318d3a967c1f2c77c79cd6400c53e559416f1c8246e46ac4f0e39912ac94ce37ee807a840d1bab1b769a6e44b7066caf1e9a9c65dc1d9b0939d721d228f84326095d723289c2287f5409161cfbd0fc2bac2c1f523f232cc8fb9576a0e1fed75fe08a6050ddaff17d43f1440e95dc61faaf04b5df44a60b87d71d1905025a97a10e9f2e3c726967cf8d05e1cd0a2454ff82c4be5fbaefbed72a1057215f139216b22401fb58b59888ced60612fa9dcad8be1afddae5b598d5f2f4233c17951c4198ed18b940bb93566ebb918d46801eb106236ebd951539f77ccc46485fe93b8abc8f2210f62af517d865ee282171ac2888d90dff2b3232558b03fd66286268dba399b34821080943858d8c34bc50af8dfa978c38341d818844e7989701be588f8ad464af638f4f1525daf1f71ca38f67b42b4a8035b7d5384d93a02cd9e09efeb895ada40dfd9236e94fd10ddc89309ac635005b707f7e2ec4bad6914032dcfd307dd0e1a52b2d13e64bbaa7105c30e5611ac59a0050bb1bacc56b8653c1a08e12f45009319633e6110f041792516b47dff2861a0bcd9bb56caa0de6b4a55b49f342cc87f70e95e4ee1a4eedfee07353fef6e45243e6e2e8085422a58a3ed38f8423789d27fc8659e2cfc68092970ba30bdff5cc543ee02a39a030ead100633a2a7dfbd91162510c846712a0409545cb3b61885e2b5d6ba40e324ed7d296c920611646a8d24f7f3c0fabc1d74c02a65b37b3d9ac505ec85362cbcb427e297227e3f3e059bec361fec54c6d12627d3e1a64c7029e2bcb57e5c96eb27025706aa063fd77e98efc34059a1649de63ab1fa5d91dfb28bc71eaa19311b6beb6e91c47b7298158080133f746a47b37fcb9dbb1da3f98d58db0075d21b1a0cde21290c5d627d4ace05f044fc3a8010aa7c622728b6bdc089a1bb5b2b0d48a64a6317a0890eacd55285c1aeafac23e3fb55d79525693614713caa94ee22d6998f6ac371bd90ea64aba7d01498eed10534392bfcf7a78e28d3ac4c218fd13238ee70d796cb77b0bc0079a47ea2626120d1dd4222c14779b71a352e239aa80536aeebc1e742cf552abb77598ed767b0de2e5850193f0cb6d13b4968dde7d739d111e337d8257afc0f384581a8949e8b8274e3e4f1513ff8d1c8122b5a496969aa68be0e41d80ac368b2c77cc4427faef2be90dcb5c2d2a8e3f81d3fe803c909da69d693279b5d6323cb3f82867a20dc80809957ce5cf7e0f5936cabbd7b9f1ddd81bcbb9604098914826f2da43a52b3b820511aadb608b0944681de39b30ebe2e5a89cf481a3ef88ef90882ff9d38715934ff674a7f4c620e3b1ed987a5076e9c6437637b3b58a8b0b4c5ea7a6192daa8e6f168363ae46de1b9e407a46c90c5c2dd9a0905955767bf1e8796d8e80ef500de4319ce509d9102112b1fe6eca13289ef149c9fb7824b42789e3653ae7bd93b0a36b02e80f08b414b9fdd5cf098cd6bf5283a4c03b67440f82d7d1753efaf00b7555a97f122ded97d4b01054d98d071e0e9b665c8f31b43682f3c12a36a460b83b3de7a6a5a1fee1009d33136a393e16682607814b107447a16e9cffde370dfa233ef7e3aeca83fa37503f76eb0e8705a5d2bf051c3732a602644f574c4ce659f0e0ddde03bfd388b83112835f833cd36bc81bd4226e5f5e110a6fec7d6f66af35a3f3c49050cc9a4b78bea8ccbe592c345baaf647975b8a1657350d6405534d1ae97c15c6d6bd216c8be3376a0a3b32cf6d6dab335958335f631bdee13487d5324bae91d4ad47bd3633bb2c5aee0a1860648a27161de5c5031f4197f756bea634ed85a66efa33403c100e9bfee6886d4455c4ea5458418c2d2ca25f5f368c0e85c6f0af917c303b7a3c08d9abb55e515d0b4ae0c3f9b5d7cbe39c28149a98d923beaf421f19f7bcad856e975b6a82bc3a33102901c78873ee134b80921f78cfe2bd9d0a9a683874472f52a8b56eb7f7418f576b094d29e8dff9b40fcafc7a62ae0ac93b7d9163cee39e971d016f600e0e66b1249f7215a8bd8b2edb94673f26063143809abce624b49a1d58176dfb9069a5f5c3324e0981f4c3c6377405e2ee367a1381124018e5a753d38879f17951b6695dbc26921fb50719ac685496c44b73eb957bb9e2d314a6c2e271fd1ba0e0dfdc29416f304da1ecb6d234276b9f2e39ff6fd6a13171a19a4f43a300bc337803a2dc0d4d8168142211400a92d533fbb8eac741a64dd2f24532998a092c90571e726b7501aa3c5c2dd9bd73fe6e29a47663ce638222b6afe1cf150a9bb69d24515b06b355ca1c1c8de923d06e54e3eaa53ccedb304dcf48ee9127f2f2fdfd7e1fe693d21f9d702e25a08c0966d2612a1477a4fa1de902dee1ecb24d92d6219afbe2d5453876c07dc3c083ed6f9a1dcfa1ba4a75524acee1fd48aeebe9668e2be3dd84e39884cc3aa79c36179e72865ddc9b616320703180504b8bf4fa25bd5629bcf079a07ccef2677b81bfa5e3e5013ba5c908aa6e277e3beb011fb24e0b639f42656cd49ec19c277496bce4286822b02dee280d52f6c3e0dc1ee228e3888e82c65a52e3fcf6b1aaeca34508b0e6c8679845942aae1586c825fffcff32591c4bdd82ad4c06246f14a222abe7c82ee58a022dd295f2c26031f32281fac26526ddf405e1482b53acb6aa2c1e9a8ca9f4431408067f711a82187d97287f9ca5c2c66fbd735607a56bc2277b65f2ca15bcef6eff98e1e54aac31223976cee7402feccbfa7fc7182dfd716aaa66afee5ed05465c7f7e13605bf171373aa60ea7ec8b287f26bcbe32ec24c20d5b4377708b7b033519ae8455adab37a288ff13e06bae5d530779f9db79a5d329f8be4dac917f063ad6120ebf9025997914138a8aa30035bf6001ae97d7a566e4790c0ea40441f4c1329e286b9e7e969f4ed947ecd51c7d46b8e12c1ad62f3b30d1ac41c21cd102a3a5a42ffa2be8599308fdb962bc7fc5ea15fbda7cbc1e2958244dc6892ad6b8dc42b1500134f318561fe8543cb89f28693fdd8ca54a28b8062070001f300430c7aeb0f8bf737fb8502d425a7bc0f568cc5718ab990bc67057d6b248d3883b596b2bbcef659d68bee278776c2e688fe3c449876dbcd94f42a59dfcb85b74ac0055192fe44d17e1d2b9f20a6dda14b8c3a21bf4d55315c8586e7331715fc3fb42f872209eb0c1d9916b34a0ea59e9dc962d405c5148323158b29203e056c5a6fb68ffbea4fba6245ea95205844a327997b5f629beb7d83ad3f9e9e9fd97ad7180297515291bfd25f571292fd7aadbf77225c2ea43b2082c499bf01e207dafc5723f40262e5a806678284d3987d1804d4b1be1954f158881a8a0bf743f310e92522933f889e2f65ee2cd18a2e4dcf30b9e078a9d549e6d36289f5210f9d08b01050cfc867a5691f6667b25a548f9e50516404ba18ce060e89fb767141bf104768bc24bb34e3aa207d8a1ae267f0a3679f1dae7b189a36b41082a36f3fb6ea616f114e3c636fb473cb0c1161dc6f6222597ba3718e00fadf6ebc603ccc4c2524f99c2379ed109d569aa0eeb4a592b2990b0e350158060929de4d884a4678588f51717ecd27aae61d9ffe390717204b1ef45417ea4ee90e096073d1be3c21220a5da75301faa25b4cd4d72036a25c6278c131b046b2afe54ce099f9edae7a04f20b5cc81cda13c5ba463f7245e4dd97686dcfc7eaa761ec24752f44dbc5e589338ceea567453b7a1a8d0edfbbb52c6f7b387710c14d64f8077a0289a8795b42a9150416e9c9188f844f6e237c43a1e05f4bae1ac856055bea24c0ffa021fb821e715183662f1f07405cd5b0e5094022646787ff5da4ece2caf4cd7282070c2464bb9ea4cec8c506a1494f7bec5e85af8f0143632c15c4852791eace4438dd6265f90b7ffb7cdfe613360b9bc5f7eb496073ddad8545b2d9aaf4567eca85d89013a2246989aa13e099da3540320a6252e7e8dada0c0b5c43361b0823ccba64c5afb1644d76613f62b9458b19175e147a1ffe8a8f05e71639ab3215a5b83326b112a80ff5fb4b7dfe3afb662e83f41d2836e9bbacc527efc4bb05ac113e421cc3d829c86ae47d8825a7ab9b656c7cdde9d13c9e01068bca5e74b6c450bc40f049ef82c905e1c13b726796ae78c1bca32f2430a6754d8582d0a10b8001687ea644a846dd6a3c6427ed45877a8b5d1e87da0ca558ece8c82d3a5d044f549ae001ab419f499b383d5235bea5ae491d00432139637163077006d751b63ac5668933b43841b419a544919ed5f203677fa9f80813a57f850c31429f428ebe3a8b36cf67b9e93e9cf760a15fd195014280329d14354e68131e1cb3a7bcfe49651ea3b57ccd87956b12ab935b59e9cd3bdc6bfd22f3291f7e97d3af937afb21425c5841afcac1186f52221da2d85efd29dc59591a7ccef98041ec600c0ff97dea5d06874d6293a5855c98ab4cd28b37babd810b5da50bba48430eb14b1a20fcc5f22dac10589b20b7ef6a4912f35d9aa58a0a78ff6209fc180e6c096b4bdec0c7c3c7a54d9084a4f09b07c331e25bb9f3addf836d0f43bf13fbe0eb4d8fe401a5d895444a943e4dff4fae1f905ba39f3fedb9283b0a0066cf91e4cb1f5b8638e2e1ee9f9de050c59f025f2893e072320f088eb0c922985cd22efa95bc774d725e86f4a4eee1a1b969bbd28a7e4da101280a8da9d2ccece82db559822c0d153cb84ffbdeaa3e13bcf02cf2350cbf84b805c035c40ce21385d6d21c3b83c55c82d0bcd54e9933cf9d63f42c134ff99ed2e75f7409bf8930275046c02e8b71eeb5fe301f864f165d0f6c1c76c173f278ac9bb03e8a3cf1d9065a4e6c10c273d4dde09a892d870ab376e2343b8f65c7388ef27e3131363948bd4f68618c28d7376d59a18e3615f27d224027136580c16f132fd169f10dc46b944c08651b7b0f7385a8907497ec6e458109212bd0b7654d7238f77c8254063d2a7febe0b0c8a3014b9c3b817eb270a9ff01b0e279609af5d2979d4445c1b78fdf2c12b8cb259ee428f55f88aee7c9edf2fabbd92ec02257e8ca28da825014fbafb6fbbc684f5e9686c301103ac687219ac9dfbf74bea102eb96d6a212a8470cd30bf85e6ccf16a2306453d90df16986805e8249569ee5e2da3dfb1fef2be1ed8bf798b913417ad7ae4f4a3b791eebc481f7f3587c18f8642b4affa2215bab4e48f04101cdecac951f649d8a1c96f6a105447941a14af7ce6ebbc05464723f7ebc620c82e034e33d9edca868ff3890a96a3683f388a025740ea68ae2465dee385fc2ea1684256b7eb318c74ca76575aa3c38b9700c919d168ff7731b161c3c26c3920607c99fff367454775f2819f2a4c82e27a45ee4c6d713f88ae3d7491fa4325df3a1128e01fdbfd37fe16b5fd180a9fe265ac50e3825308b7db758685a4204773d6f4f02f1f0353347f6f95c3d370d0c61f43a350341ce3825c2622a2ed50c8f47849a7c5f2c84daf9c1476fa350dbaa5e58e00083dc0000cf0567f431de47f94bddf8b7d606ef9ddb9aaf1302712f6b11611aa3dca09e906781a05f4ee09571359b86891fe023a06d3e25e82c58b8fa563084db5806352751550b7b447ea166badb501750987bfb2fb586499b70d26546f64437b5bbc859eff479f1faa314b9a17c82f8c7055e69b1f8b70ff01a264dafb179304f04c0a756e962768a9a912e6d60b978e159c16b193b661b57334d773e51f8aab7c8512798aecebe492fecdf1aaa884231e8fcc53df0d0e18947314e1c69fa02692c49b81752a1652e523d9f639e6a20f310097caf96ff24eff2b36b43497c61701526c0700576b66ca16d86c0e5f4bda98fabac972a5268409c76c04ccefc0e681f2aa4dabe5855dde3bb84c610b7219bc7057eec954b0104a72a5183af1458ad94ed1526d1d60664bd60379918d8503e2e88dd25b2888812edfaba145c4a3c1ca32fe2aa23bef3b3321033a4c5a36de2d6fbea98be63b66c4f65cd2ffd0e9f1d56f74d4310ef15464aa89a30b9119fe21c270abf856bc0174b84d66c7a9690623da73af6f469372ec91a41f311f4d1d8bc566d18a7f636c6c335ed7f60169f2b761e994653da79badd317ef43d80d6932e81bc48351f09199723ee2ab328055e59265b42f1c3b18c2e168d407304994f9146da4df348a3817210f08fda70c2f0699a998436e8a24b03d2bc240558c7f093cb081cf3b737b7c1a4d63bc21537f7441e3360d301d23beb3b64cd595a2a98ffd8883287dcab92a917a450c32f0457615619a345e4c1a0d1a0f2784a6e65db8ac8c935a10f9bed247428a3a1461f4fffc75fb2fba86913cba1c8888f5b677fac56f0f29b4a434db51daa922c8a83692d0e3c8aeda639d012d1a073efbeed5a50120833c77497067c97b93a3b38aa7b2c69d5488f8ce6cdc9dc7a509f2d86fd48ef44f35caf0601ff828ce79a9bae85ed0cb0d51f950f6896a7042613446e8bf86810de79d92e1b43e58515e46e8e08789aa0677661bcd3a21dcda24548ac9c1e4d937a64b7242fc1a1f5e33aca7c54aab4e3cc77a8025562999a02f1e256a322708ff6f618e4b26bc1d7982cc5b4834b93e7c0ce434c517b9b4ccbc46971e4a7b98ed72c25c8f85b7c59de4ebee48e6b717d5f302e16ab2a1bd923e585736a5600218bb8784d76ef309e97ef243fcf4dbacc4ace6ac104a4c91e9437f4fe160518fd13e7a03aa4378cbe0837935e95809aa220e1c7013c5f64d2218b1df89655793173bea38acffffa8a66a0739dc2755845633d6b3262d92b7575207de37b70b57941375907bee669a2080e59fb4dbbf0ec30f087a2b84e9b42806933bc87ddbd88fae7580f7714c34554fa10a2bcbbc20d4ba43f1943d9b1f6d9c3eca7d536996b6c288e4dd39459c793f112298f356712f4a43ad8ea7f4d99263508f0ece5a4fef123a7925021a10b75d9c9be673fb004c1e1e9013d88cbd84929cce5b6309f470e6b8c83e323b2da54b932d11eaf5606eb52a1132b5f8cd2731bf7bd8cc9f7d148317a4c2129f4ea02d26d01c15c4f0e3ce45af3388fea4d7e649653bc07aff0e55da3da59a3096098ac0b7e740efe62d143bd3d4cbd3c90034f7736caf62aea28260cfed210e8927050bdeefc6df82b66e03a01a2af0502eb48a440e773535bf8b432553462e784508dc69b44c4cdfad8e590839b1c4c5762f1e9e6ef614d72dbb0c21f90ba49d421804a7cdf07926be2dbf796dfda873e6b156d1d30dd2bdbd555fc41e19e0695a7e65ffcac9ef5d916aeb5e0f61c9830fe45142b7acf6048e1982f8c17f3b353a1877e4a3b76f73cc4db9dea32e98cac422e1e895d6bdcf8eba97ca5be49bc412713ae77dde8a212dbaddc6ede3e5c7b34f49ba806e1765dc0aaf07f2635d85206dc3765eb547db455dfb6ca5b32685926e5da9e01d5ae339a179185cb2fd09a517374ee479e0c3efd52409b95bd57b40fc0ddce221060eb47f65db44d5aeb5d10bc65192c216fe566f5a0fecae15b6f59e3388ef76b47a6ada2df5aa16bd855a2109b643424ff6581d7ca065aa4f1fc2a0305fd0ac6e5efaee3e26cb5fbac13bbebce9fcfef242e8aedd191bae65adbabe19570e818dfd94285e23ddd6cd32c170794b6f2e87760745234c6297518d617f0d84ccbb40e579f6ce289232bb6e324d0cba46fdef0af14db7d35de1890f445068321b58322304bfe3f9d30f6ab4e4307f75ac19a21933032ad748768efce39da6c1efb4dcf04cc7838aecad9811b04362b6d3eff40a0bdcd4b1c249159c4a69c0b81aa25e3d420f3f9cf4bc03474df109637295c6ad9a5a5159395cd1784531216de9b5792fc0992374c2cda24c962294cfd739640ad578145bdc3355285df3303bfc4d62e9477b2a85228242f3fa513a2db176e08445d2be2d096fe2687d8e02185d7549598bbdcf3ba250ed81ca9a047f8308fc215294510e890b2e2314f0d1020ca10ce972ffbca778ff0ac8fb8343bde947e7ed9d7348a603d0d0f3ee31d5126867b970e676a3d8566b1c0b9ce50f95d5f8d0fe6840be71e791672265a21888c918bfbbcf1ed08b07c07cc65c7a147a858251ec4b3bf1333a97533ff2554dcf88fbf8c6af103e88e252dfd8420190b3c87ee45d5b3fc11c8282fc975fa57788999dee31b429f502cda7a0e0ae90b460ee3ce8bb96389e96d226aed22204781ef351591ece4ab6f6fb6c21dcfa099b0f18895182446aa66773f8a1c401aae487a03b74e1eaaafc2e8df1707f974fd6d33a8289f5a5520f5e6fc05fea717401995d9b3816490e2d3282e269bdb00c0cb43af5e82bddc5bcabe1df6955dff7b37fa4c261bc0a5667381ad2274d034af99e5a39b2484add9706608824baf17c3046b0b4e65cd9e209b85e02125e398b390d54ad34c2a84647c0fa403a0e3a383cbcafab264b482e5ac25ede2696dcb146edb1a0766ce2563f8b81b6cc76fce68c3ad571f7cd98c92914fad89587b02967c41a933e7bb8683eeda23f8faa8bb9f99b2095df701b7a2fd219e8c6354511c174b167b90bc1584418f6af0a1695ccaa11f15ceb6080109515b0fc82fb26a330da4fb9bbb1b2b089ab5459639020c8eb05296e52904ab1faa1bb37dd08db1fe3e76d3cb1b7fbc2ee5970be4ca6de78f703e93a618ebfa78b9da1361e16a7189920b9d779f6492ba49a79a10011e82d7ac456b09671f857aa328b3431b5931bfb28c087dab837ad82b276df187af680f8741c5cdb323f66cf6e0a4a0390f8d7f9df0868850a09a10b89304a7336dc8af94d446314a7831c7603e334d098ffc8dda6bc7cc7054a530f3fe2e4bb961481b70a5574f62f6e936657c28c1dc17a9afafed5b2e17b2dcdae0378c29422a9a4e6745f35f645db3fd915833cd54904063bc31c2586310ed4f04393083948e2068d6dff6f8b71d281848abdf3753eb4e7ef9f940f6f33fea58429408b3e2372b609975050d53b8147e4bbe9f9552263f3c255ef771b846b0844af834f4026526261eacfb46b4e8ce7393937d778c6ee060e3d54705110951b728d4374d89f324ddb34fdde7651ac6f1cf2eb5e4548e18b5a53284063cf625a0f457dcbe598d3b27b5da775cf914f3f26f0b61431398cd5bfef19debecf7ed28b0dd68f40369c53ea550fe8be274e16c1a8c1c67d63ed3d2405bcc243f9c0e19aadc134d5fa1bd887f3487bce598e423395ffa2201631cf019c3bf43c29da073997f3efcf1178b561df9b89d1cd8ffc3d60938c1fde882932c056b4fcedfbceac8798adcf952fddfcf5ed059f7f3e6ee3bff747ec55110d10ebfe63fdcded7519321dd4f6b093cae29d732541aece8ad379921daa1b7fa75e58a8b3bc761f68128ce827d77d571f4f54dfcb95c941a1460f5f753235ecd0507bba475ac4ee0b709d513fb73eebb0f8dbcede7497255faec9f2194f2ca2aed4589d7812c4faa3fb1882bab94a7db8857fee13425084d544874f62156573f1b60e7665e3e6221c669ac1c928bcac58e947f646d7d2f5550b57813cdc4fc27e6fca23c91fd50d85ef437acb96883d2e3964f99745139aebc2e23dc536f55fad1badfcb9c37a5338709d210c92fbceac185834c884a0e27a410ac47edd8379309afd8cc1276e1b5bbaaf356e08a28e0fcdd6be6cc4d20e5a7ec75044f63487a1e28371f65d539059aef9c03e974431d2deb6058c38057fe86fc7668a693b61e03cc22bcff6a9b32a1f3b0e5dd40bdc3ec6e8c15bf469bc888011fce8bcbe19fea8b69b3c832d2eeee7890ff800116aebbb6824449c95744d9d631268fe4ed044d3d36bc90b55d64061a2d9783bf373daa4bce1d43325db9be6039d1fda2ae9b72b763baf06b39b316f53fa1226325a262c8635a2490ed21dbc8406e363e52386893175340250d8d74fbfff5743916caa60c05c46a2bb011d027869377411e6dae324d2443a1cef6e018988ed14485241f0d761c7bd557b0a8de8b6ee49fc16434d5fceb35deb6ac1ad811b01c90f84954070d3c20cef176578a49c4ae57baa02eb5d93b134745bb7f1374fc85ba515a3db27f44246ea86b47038333278dbe67eb95659d1430ea68ad0f49d98f98300d5d30454df14b3e982e7eb89e7f23fc9113b03043ece7087650d60641dc7c2d239ef0954b763bd21eace188c56ba6b3c65ea0157ca32728219b507ff16e24397dc4d427a199fe80d34ce4d41ecb48efd5ed26b30375cfd1eb95eb1d61d86a13027f33bc00f7b4e7d702e1be367dfffa112331b326c413ab70a98f528d687ce049ad37b3632c37e15c68d25c7ff21850e3a8dbc623e1f10a8072a88d6e24dc6d1f352477d72f5b9e79918f63edd8f65bbd205d6298e429b9c380beaa9692e474b2f7e3be00380d0d371b4f005036e5837fe460ca6212257ae9bb2f9abadac26ca422d4bae6419dddbc6919722f1c134d642e17595c00e2a01af1e254148d48a39150909c6ba9b6405c5f6b50c69b5dda6c2a97e7cf14bcaeddcc762d52e2f7cc995df2de759ef4b48a9b97c5a52973d24304a1d5e6cb00c7ad51376fe5986c9bfc9e8a1c295749dcb395db565b572c8bb7d0d1a4dfd0916e5d963f9856698ac14022a2d5d3f8581aaac0a5ec19a5bc2587918e84e0407f5752af3fea43b673ac6db3bd947bf9d0c920002f12da69b5b2987a7d516fe964647fd1afe002653f7fb1b4f123cc9255886663c7bc46cf337160659bf95c8ad8868dd99caf6ce8010b1eb23a577c5c63123e02da884fb31db65399bffce1ee9f0ed6b1ece0465f07903b4f05a35f19cf33bcee6fa590b75ab3f1bafd268cf900b9777d76119a5f5bf678fdc1b69171403d74b15e972141d3eb3459f378846e0776f42c075174ba7cc2ed42354bb077b0f7e2b82228233007c5119651d14035a1f3546d958d44944d879af16c95869f0a9710fc394f4b02c0b4add1be095aa73fed9a85e1e404212db214e325fffd0f3914e60b64e9b9aa3e4393ca1512ba9577b47beb329cf653b3fff7c55aa566eb74d61749f31456452dd1e41f4b3de6330decbf6567ba45b29f766861fb541f5cef1d0b89766f1c91daddaf72a53d107ab06578349bdeecfd2f975b5b26e6f86c2a4b4dc46a686d66a572c995365200364b183e91714978d4e6612802873f0f9c793327d9517361b7be2d89c113899dff995f9f63990b9a34e045a088cd625ba3ae82f86c5b28008673cdd79230d025a2569d08c87e47a4074b9b8d9e7f8a7c6c4561a8adc0be4fa9f522795adb6b5fe9fddea52bb311b7f6fd296f655c137b24790e3d821f18ffaf86bd146c69990a5f6c16a6b966231809a7f0cc270d4fdb6c0d3b045f0c8c2e0218302e40c1eb30cee871a9f1079a196350f958e8b585f0efb5102cee6e2f10ca9882db743516105b80d612f7028f3473017fd81e5f76bba08b2ba08430733503b55df6c9d8b86644040f84526f399d105f525d511da96143b7c0ac07b351e012f227b59bcec889d38d76ac50b0a55c5977761a07a6c112a1ad06da5f44c45a36cc0ebc78079c39445fc9f5e52bf45c797c9242e28a4ffe70df5c0f96228a1d5d21c648185d3d2c49ce3b03d2095d19e17f3e3bdaad34039c52154121000d675ca85c04f827960f377b3eb85b1fc5ac7ff08c9796811940ed82499efb62e6969dc12e3dbfd29889458ef788593b1719c842f6ae2d08af2ab4c5f0aea08e1a1c90291d82b0dcc49ed29b9b7426bbb5d2e4652f614db3c5a117f054ab243e6c8df2ea514b1f8914740aa341f74bb7f03c5410fc3e86ec19f519120993e02253f8f873f84e9bbd8906881ab5e2b5817f2733ca47c46e45330eacd12e4cee6310874f198fd1a4b457bb6095e526c18d6e15215f6a603c72a19190cb59cf1d36fc8a3eda4ecca859ff70eac58176ac25084e639a9f8ecb1609a70e9c5846e34f8d5e171488001c70499acf3a1bb89614cded3402fce87d4e4dc671856591c986fe7efb18178160aab8a99c14d753176cebbeda18d21cc445f5fab789780dd0ce4c33131b856e018974ad485dde7b15833a509bacece5def520b0bff1b0f8707dfe80598f6e379b679a12b6313b7d2851b413e14bb8c5d72ab17c0ab75805f6380ef92745849af25a3c3328d29ef64be84d1a6c6fca9faddad3d95a8281d6e5fe0b7b4306d3f595632b164ff50576596dd54bab0dd20958c18e6b7c7bc0b46e594ac1c079504de8dd24c776dc9b5afc9a6472998222940b6621d7d813d291c41a0c74d9167137cd83848bc7bf7b3cb06f5b3748f4c4a547de41d4fb9d280a0b76c001254ab650de66f8c3a2a3de01d1b5589abde26111cdf66e11e266d31946ae9e64afff2117d9380e9bb42d041e500a2566443d72cdec67b0396c6d2b2e6efdecb446d39d4631778c3bef479586879e59d7c62a30591e7dd232b0ae402e0e8c57e07fc068fa72e260cda07606a1652ce503424861cc192274d156f2adf9610e664e79032eaea2f8ed288cfc1dfb1086dcb8083774d4583a2e7010b577fad338781ea8d0376dc8327d82348d6e92a97e13f4c4aa1e8d4b290690c6539ba20401079adfa5213c1c754305bf3191675238681e52ced6b15268e23d579fbba4dc512be3ed6a0aa53e43d4194133a6c208ab40679913887866a1470acb594207965ec277545e3f932f2af2ca63e00e1d0c65b524a107b19821d32415ff77b460563cf189283a67a3b8dd1925c19b3ce643d0914da2f7101d8ac495886365cbafe7e04328d2c3276d4426b9605547b7ec663177f5f1971bffb7b39a26830bf122cb6e5f241fc10967fcdf274864db6509ca70017302c97096fce1c122b07a95887c40e94ff61f9b5ddd1ee971f63498788fa95a8cffc9e739529b1f02ab1e892e5cd7f2476c45707df4b40f4ed07568175bcc3c155c7305da0b883a7b3d7d1b1648c10ab28524992e5272e21afe545ca830b83fa85716dca5ad1fb901b9c65115419ece8e6391d8b76e2ddc77e6750a181b3b0ff2523f4a18511cd140779475746e2cde39b0cd6f4914445cd11becc5e0f5347234705567480e89a68e347f9d15391a8d1abd00a9c979abd3dc948630be301bbb682ad780d5063cec9e77cb80d7c5681526a26922f9317a09e5b69ec44670a62d672939eca633205223afca602b98d44e494a747b4892d57ff6ed99442a97bacb9dec6794ae5de234448047eb684f2aec2134775f208d259f016d4a13a318a7be6b87f12f996652f7b52ac4b9afd889191f639c0d935abf27e32797d6857b7c91bf2c2bb9d5f221c0456967337011f069038cf6a6bbf9281dcaa20c63aa053006e89d8b93fada3a584894b9f9ec3bee83d919f32d1dc7f73e62d69c683ed9d43df54210257413149c11da7e3c088ea263526a0fb979e4ddcb7e539733ffdcc073c845f7ea5004943307a75885583a64de9df355eb98f2a2845ae260ad169ff0e2a054a30bbea4d867fbde15bf5454b437a1aa6307fb3920d2c7b6d122fb8bfdcda312a3d17a4666dc341a3cb042201ee513f0c5e5017a76281a8a468d1818e478a778a0191a5f331bc5532b01f4535d656e1bba190014093c22e7334893e00cb12815439e5f79d68eb2c0b9f7fe5edc8678471e97bbbb1ab0887e15f42fd5f59a82c2a5ddc9931dcebf635e09a5494a892668f9e8620f27ae4e435dda01b0e8bfd35ecc2b9182083ea01c86bb3a6df7756ab7225ccefbd6a49c5eee1c8f27cf820bfa2fcdbb73f921fa8d583a93c0f8fe7a1c1f0f6e9c72c07b302c274667b1ede4d769adba1406eaada12a6083e19fd78bf8aa5516a7f6723f5cb100912161be1af95aa3c720ea248e3dfa98f2eb6d1a3cd3b3dc890c5d334f12070ec1405cacfcc1b5700ddcf62ae74abe163b2ce1666f364454d3ede61ec5ac186aec7872fcbda2ee44c8d4421ee41e622a85644f196182a2f931084baa97dfab60e5a93672d705c63f6d28c87e695c1307de9e14109015b836bf90dcb0b93270b8107d6de313e44b6bcf51830c25dfd82c41344080dc53d67ef1d0341dfe92d0e70bf8de045291a27982ee11bcd0b974c4343eba891fd4452ebfd1fa2287b68c322c3f0bda680ab5024da11839e55e1424c789b41a9a5fc50139bd811d2bc6980e91cbffdfcb4ed0c776477f1d64bbf945641469197bbf6ec108e964d1221bab423826a1e01ca2da7cd60a992b37bc206a63e9927903fb0aff6c73ea0379624374a4394830ef6db837e985868eb7199b7681621b0c33ccdacee8ba43a65094a37c77c50c066a550ec659cce77a451c7aa1f1a976d41627e9baa6ff48c6fcdf4d249bd39b32a266adbfbe5ec861d71b6da0082f7cd06c99abe94b2405f6694e6d1e41f83a31a065ea1d5d341f2ef5a94e4198957780848c98dedad97e2a50737ca7e0ad0cd85af1f427f973cfba2b4f0b51a69223d133ff88e059f564e45a4b1855327e6f1a0d746b44af49d87c65b47ab72f8e2df3a6e3d4e4bb101f5839c2e4b713610232d52fcf1d1a942c504787d7348fb252e8e541331dc81cb1c1efbd6e4a61fc295b9e98ab23dbe34f8bce40e0d78b1ab4eab4751c627bf0c82176ac0496523a46636d5cd4c0c793eb08f2063f0a07f29bc8d4ab9d8c0d1a32c4b660c5e215962146a1b3a93a25c000130e21606a2e0ef5281e9ea11685cc4717505e602a4bb4be1a537538f7df0f85beb989d70df8ed21e4fb5e7636e954a17a38f906e935c3c9d3396cf9f40b05d5f6e2e7539898c7019df2acca50b16f1d21e314426f1bfada4aeff695d1776511b68ab016ceb71ac4157156347bbab4722377adc451501e66f475b5f3931c6d2a1ce01c6b10d46bc5c43ab1e1e036ddb37cc9d5ba2280d5745614e5a9487475fba1d374514b952a5fa2dab4a7abaf87cda1e30c10235e348378cb58d667428cbd1be9720c20ef36953d83b09b52964a89b1f54c5a880d5897653b3a21bb47ae6618302af98cbb536b3cff6a9512c3ba927627a2cd1274abc76c03ffddcc0bcbe5e6f09380dde718998def4aaa83dd61547e0d4e89c44f5a1e1b9490157224204a5745096c19478a86b094c2a7ac4dbb73d742722490c3b45d5f3965381beb42e62e57fc2d9376a803f8d6ed1ebfacfeb9a8997fbf1005af50086e18cfed783d1f59cdf409e954d7f4b2d90f8eef198e4ca459a9fd45601eed8a849b6a80cf3b855ee2e0941c912a7c5b8c4246b3bfd0bdc7debc757ff75e4d1105ccbc8a14b1a3eb452040229b2f7ae2ec64f1b033e9c3d34d9128c0851f86cfffa010a890b46ac49aae4f17ead58832245c95b4288e949cdc9f65bbd81e0d0f322b5f25a365c0f354d3ed522a0343e3fe31d7e6b694c0b25a2da29dc51dc1715d69fef4bd66df33f832f20910066417dc9cba1faa4aab90aed5d37e139033c4d048a48f8ae4a71d911bc5e39a41209dee029601b0151a03734122e62e07bbd3a694e2549af1742347776969fec1c3140621b6c7e50652aa2d47b8c279d6ce959a332a70c8f8ff24465172a49289348a9fbbd72b817a3f4adb29a6e4221153d52c0e422a13197e2ef29e8f2b6fd418aa60f4167f467fb89ce91ea912877d659b7943af98a8b05c37635f17716da36596daa61bdca015e34a1d5af5856e1ae44516402a3c53a7a08c60c287eb43fd8dccdf22636529c2d424e3ad6510f7a00464ea3b5d46c404e084c59ae75c24feeae7b782c2d57298ff2f6604d0cb3d3f6e3a8a8ea60ef6e5c2a5fa69226f8cb9916fe4f354f213d9074824bc52043a9406a312e44d3b9a7dde6fde737c60b2bf89f5885237d4d62857bc6690c3e6110ffce8d20c8924979621ba36f93436d91caa0bcc32ba825289cfebf50f39944074b237b6e7b74d85d666919b7788feb8f74a006e812d851c5266d0d79e5971aeec5d7831309cee953c2e704e8a75e0e7b5c8d33534c32472b93406686b60ac1814312c6048efb8397622a96a69cae3029085bf62db044eb0ab4a1d0b21b79540a026dc736cd7840663de68757eb1e4cd381e8a51004f734c5386273ec9fa387155abff2e32402b582dc7c30ec9f4ccd6135d355c009e11aaaab6f10fbc0fd785593727c755af4b34bddb5786c6cdc790bf58b3c1a82e784a8940d6355631dbe9696b42b6da6c0ee2d914cd193a006c74c91a6acd8ae35a114174ea5d5be7aef0d6421de823b649855961cf643ca4078ef0ee28f67e0c518702238685f745b705729bd4ecd72acb4b3de198a59274592de761c9e87f2301c1c9576d3fdf027f103a1df5193d85c2149ec0bb0c7812ddab1c5b926b627c6c616213100bad18a2debac618525740e8ba194b38a279135fa30f16fd82631079446bc576dd95833d6d0df49c3520486c284d07237aae4288f6613c9fcd60e3be0bfc6265c207a6f3ab72962e91fdade2b845b565bc420943031cf93366c3c8bfd492c1dc4c506f54d3efae01b023291266b80ae3fd090aad052385be34a7b6a0785dd1a0657b14362503c7601a528de7bd90cf91726f4ca80fa180294a37fa919d415c8968c7ff898a9d0be11af79b3e0f3ddd681d1f580305a4c70b1ba4423790ac62e29aa202aefd1f2037db433958181974671b15044e6fd3d611cda00bb44ee6cab4f694b97caa077e940ea97528cef2ff540dbfa67f89ceab3b8c638aae182a1911102dc4ea984093cccbf62a08c0b76f1fcba45db2c26ca71acdf60ce69ab609315e70c9fcc6de2290781580aeb03e8b94d9a29881b7f3de61dc8342140f4c54794400360c0f7fbb81e5730f943d0736543fdd5e07cc6a0c0aef729b668551efeea5e28dd52cd9d8dfad4fda5e7655e3fe50899269c926613a4fc1de9a1072126b07d3e1f2896d8c7b09c977cf914bac26f1a9bd282261270cb36f982407d84a905883e632db36e4c841e8a1a289335925095d2479f057a53000ec45367214cf711cfd71b96f1472f19e438c4cb06050160801cb8b9bfdd8cfd41008cfa9134314b4ecf191b41f5195ac033fb97f73614048194f31bc7a10194d138383ca360f85f07de633e5fba5d0ae505aca8ac5c16c2cbb3cd47d65b95cf69f13e703ac0715e00eee90757b2c24ad7991e0816903f726c419edf523e09fd463176990df1f479904c14f6448f53f37407f80ee6f9bae35db6bbb52c17b73f940cd866fddca730be6d2953e21040fa8cd6dbefa2fc20201a2b1999bc67309d30226e766129d0505875f1796872748b67ac79dba7dfdfa16420388b94242a8865183fa295ffc80874618a5e3abf2ccfefc46f2efa6e678ef19164be7cc3479acd0297ab1014064320d3cf3ae8314c996e73a066bf1ec75fe6766e320ac06c917a98f47efc0aeaeea4de1bcd5f83e96175222af236f35292906a65c6798c8809139e0d33854a5194cc2c98c3104ba24cdd6f340678bb1ac4af2eab3832944570c2a8b814ceee04951fdb0303adcaf418c578cb0d8cc3742f3ee24493af22e7596e55235381cd7bb044c0e0704b1140f624617c9ac56ac8159a76b0ca97237e581b8f30ae877bd33eec1bab23fd93278b8f75fa1dc59221aa96c6a32b503b1eb74c7092e19693ff39e8951bc0ff516b0d5adba19df6e2428639787960879e7ae5a7ff2f2e29792a214bae4107f36f3e2f612a0188ffb36659da7a10709964913edfbd75630a5c860b038a716e9b86fdc8799176707f457125fe5b85485955a3501f089637a38a6cc5934d012d31bb48e2cb28a54d6012abf35f3793d7236c1a2d2554a63c3349c43e1c912d42b2cf9e8bcd48e682e3824735bffde9e9e27b44b25e470a75cac4f7aa9368a3d2163ce6e5209d2caf6ecde6490330f92b74762c50d0509720c452ae08bbd23dd16146018d516825bf06f4cf2c5c0c42322915d061ded973dc688cc36867a67d593d0a6b93117363742da3ada3554b8b143f430d309fe8560d862df63e3a8e6e9ff8aec3c21367b3f11aee987852a32ebde56af77779f14d306726d8d1ebf70cfda2ed59284f56f3e5bf7930510b3c9ed2869acf8bdaf45042ac8c8ad1c3df184ac4823024351649014b7be4428ffdcf0ebce3fabe0af1acc8ee771aae9dba6e740bf5ccafbb46fa935b6de57ca4336cf7971e18a03849fbba076d3dc743b493514440875a803a764af246bda98ea2be6cfd3337692d5f6c6d4c41c9e9303b4189b6548e716a4b62e25361af376841ac791a9617fdad67d9b43fcdf7c6b37e1369d5253a2a9e3dbea19dc7ee40736379af9c33a1df7846ab92899f63d6cf056964c44579081a18d68ef07779d4d295bd128077252886a9c23ba8a7a0e9b99ab4b6ac023e1b99837c9eb327c36cc066b3d32f4677497583658f2476ef7ce65a34c63b0c671249d52626627076db0dc6d857795a8b23634f3273528b61dd26bdf18b146afd05fbd1bb056956040d7d0f38dc9f638c03132a0ec4af320dfa2b612baef877be166827a58b920bd0cf1c1aef035e30ff3301c73e20f5fd3a969aeab3b9d9b52d1ce42f55cccb8e7882eb25d4fccfb3d8ad864b60016ce886c95a0c754dfac37b369bdeb24f11224a076b0559610306aa062e755578563765bb93cddb71a54280dd4b0f1a7c83ce235b680d59c19ebc5ea2406639b5c47826e8d082aa4f8d2bb86e92fdb7bda3761a4d69f2110b770ad6a70b7f6f4d1656a65e2aaadcb907ff1ebe1ecc80bbed028c326d9681bf478e0ccd91dc6f8fcde73d6a6eb557cd35284cad5c47da2be7bfcc11c9718a2f66b89b0355c86dc289090b20f8ebb2cf74f40ededefaef157d6cec14c40a34617a6749bf2af438d355c3663852ddf66ad99ec9c26cbcf58d5e2b4569f24035c832607e1da82e41c34972ccf0bda0701955bff117e2afa07627f63d25c2c7d4efe040cc3cec05bc32b900556d55df406fb283fc5fda12a8dbc9b4a6ea1839a7a839bb9005746dfa5835585b2762f4f3ddeaf8fe7cfdebc3d4a97d5e8fce4f44f9b312ac0e1b13ea38e3c46001972bedc7e6a2a79f63880a272e26874da55bf3a63556f726fb37aad072873fae1926a70fcc7b090cd8748d9540ffca5e83d57fe3d660cad7b5a68be761945506702a0473ba3e9888fb194966882021dbda63db70680e6c227fd0bcfdb31b2a89eaf59239d6dcdec642145de8227b4eb3e59893833f9ca8de354b8c16ad15d61208f4dc98caa4723223368e9c54d221654a7ea9bd3dd267f8d0652752ea1ef482d1884fdd1253260aa65282b03d5d275a6a4344c84b324d278712e4bded9f898a9212444e06d38a8dae53dab2fc4dfd3b525b6cb4b5dd84639b5a463c22eac4eded0128ef6a8aed3bb01d4dccf2633dce03b8e45535608252b7a833a0b1cb227e30584059353ca690b107d71cec8a6df5b049e3a84783d48b20fa8af7f42b04ff4bce392549d0eb1bf4986b64a7003e9939ea0a9680f8cb62087424850b1dbd2964e3de596a7391d0baf960eb904976665787fd0161aea1f010cadca6f696c3480a4ba12c768bd37c62593a398f1bd6b7a46fefb5f7e19a854b4bc63b7f0bc5bfdfe472671c69d18931d625a0a51a0f16e77c941de56248cf26cfe1ef8b6b2ee37438682909306fafcc73c8f3494a6ce9f04f3c772071013cd6c6316666efb9f2859c6e05c223464503bfa30cd077dfe342ddc1550ef8682a7b9951bd2ff291d4611c19a46b2096e6423d2e0fa78bad0ba7c07400203a01855ed595ad48b305521624bb3ec320dc96dbd0d3175fc8881dd2aa0327e682dffb9739b65ad3343b0a9415d956ef2a11e1fbc1eab5e827d8d1778d53ea39ff51e1fc6d4d6ec22081924b8e0a1afaa9305475ebd1897fed8ae60227721751f938280ad31b2f0083c1a3f6e7c1fc70a3e30c023e9c9c109a7b8ab9f6b9032a4f409d7aa610bf2566feba243e3ac0ea971f92ff5e2079cd73f6f9f3204a75343e1600c2083e2c91157c16908327c92356acbf6e89af46db37018ac62924f6f65b5857b9a6142bf233e83f469af1bb36681554e2c0e95f59ee459dadf475509e223b361ece9bfb9118a56fcb55a8d84bec9d1d5a22d655e0f442ff5d334d57ffa1390d0bfd1f57de07c2521d6b3b6eb40b2c192565ca49c582163dc7b6785707f76b7b4f29c24cc87710f60cff99e0ac571ed7b6fa69dc127ae370dabd8546a339b220435866ad054262848550f454cb0709c5e8b92baf559d186206efacbb7013b56401217c9d60c713e3ac8e129548476c7932924b753a44a240175066b53d9a992086dca13a1ff0d88093a803ff5e823b899df7b8ce2190d483941b0953f2cbc06300fa5e053da8ed49bed061b93c5e84c08f4e75096a87a825c611a91ad32218cfd998c2e3a9f97d7c9289624cee0c69f87643ab697fec9cfa7ba645252cf1c1619fc639743327abe4967c3a3b6ccda156834edaa18e2245f89d9b6339915311761fae3809f5f895985b0a82aa7f68f1aca20683b27735abf0a5b8bf7eff7a8daf70380d95be734199b7791efacd7f0afd95f5aa6dcf6c5c17c09e4256d4f7dd782364d6365c9fb2eaf6d4d1ee42cbefe7f664efa662781f330e6f10b637b9d9930293d7ea06718667ae6e3b25517f7911a58be87e8f70578031d03a12f0923d1bd49b45cb51520c64798fefcb9ad858a239e7fd2f71939df7026eb03c7bda41df097f3ea132aed48e546f003410ffd7349229a3374f41f3aef861c435d8fb73dae97fe06b875c49743940cdf8f581b9da4344222453af5290f09d31dcc541c36b486d573f4bca642d6bde7d9e08de9a3a085a72a685b7dadd4f2f5504dfb79ab5366449b6b89a704bfcee20ffbb953d0420cd1e1ac35b8bf31f48645fb56c5a344a380ce8d7e590aab562ccfe0d92399ad1afe266a21426b9511e0f123d322b3fd2c8e4b9ee63c7b94f53d8f2a4dffa1dd285783fd0a6c5d06275afc1bd513e47488211fb31447975fa98d2fd6ef201542ec9ba374bb2a7119ad3dfbffc4728e032a6e4c8081e3b5a5d37f44d474dfbd2f4e1efaaf3625a83e0d1a907dca535ec753d3b8d5095958c167c3e6cb8178c77e4cdee7e4d298cca716c08bb4f6459da2755e83491782230f839ab60bc7e775fea9916ae2a00a4ea9f8f7b4166dd8b5b17cee20880fe0d6023622060fc62dc32da1c98e01cdd4f2c5aef6d49a60d84df65aff718dbf7ced2e19274736073007709ecf6dbe1b1f02a1dcfee83fc7e93c3bf266aff5d775c5c4e7b105426c6ce15142ad0662143c5248ee47ab8b13aef4c76e37aed5db3290f7ad7f64c70aa4722466118503e8043a76060c87eae05a7a461e041ccd5991257a640ed29ddcd3cc4acf701295945b62b146ac0214cb6605f57434a71f753148d52ea5db2702a755760a9376a1ff6157577efc7f8d6bcaf700ea6b23da0c385395aedba13bf031919e253110eec084ee6946a6610a8c906ac0dc626c381dc22a79d4f74480b902e8bc97945d871155c1743c5acae57ae4ae688904633ee6aac79c926232e9cbadc19c22815ba012231955f1cf1978d385755292b0f245f78ca8314a8d87790ae2fee198b845926f7ad99de8f4a06903374ab928ae405217a29425df9c56fa3041d76d9c8c6b53d7edd1fd1298e0ab0b0d9a7f832c503b52e38734e6ccd7041484b843fa2114bd35d9c1797b47c0139accf08ce792e2a2ee37c4ba4fedd784ecb53d36123c08b47d32e2f63185f427e53b9595f686d23e8b76fb99f156c4433f9565cb2f81948c639b505d92315875a28d3ba3005be9ab3e458ce606ed5bfbc6d662272710d897cda68ddcd96a4098661c7bf586d4b49e938a8da3c35f0dea61a15645841a6b753f212517bf67f3157856fed92df1b90b877b9951942714414534975b5cce9cf8d654a6fdbf22672756ebc5f7045a51413b487850a7166afb201dc0cdcc977687922cc613d899620ddebf33c952e766842baa0cb60c61fcbacec41178d210ac76bc49c405336efcde0b3d0304ca586d8c0455b8c8b1256f8f6676db78f93c3eea1ed97c43e390fa824b44e48df88b8e87e9587e10dd552e55710de1312164b4e576035c94dc846621bfbc6785df409f6c9bc9c5605f802171f2a31ce553accb7727211f730e32b9b3c8d3fa4c49ef944832975645a1ed336ba689ea1d2c4f3b0bcc3e8815bcabfb1cb17c7ebafe0b60b537a6935c127f1338570aa506917735047b28a2c3e06518e6cc6c2b8e836e7b2136cfeebfb4136758a2805694a5893f1fefb6aa19bceaba588b377a9d270da05b09b8e36277418c8a6f073d925b47314ee2da8d01d0ffe9753f9314a47e4da42af2e03ce2eeb925758d077334012269b3294d190b387b1d095e8f8c1d5715ff0688f293f0cf7c6340306aa8517d6ae1ef27231a5d1ba49ff341255cece51cef0b0afca40f2356fc96e488a714341e7fcbd2f3f4fadd331c1e2214dbbaa55ac7434ea16b600abe3a44afd2a53a93b9d8c7b586c39ddab2f6ea6817b4d836019e744bc90382661647544ed3a81d60db560e5cff0b3b2fae307ff581c7c5fee60e23892c2569ba605edeb1e32d83da6216a311853822f68e3b4b6e8f06755a833c5161bf3570211ef047e9a9eacda7bc53cf31bb1e128c3a2951363837728d73d3d565f6abbe0311ddb07dce53a69c165becd9bda78aaae5b9f76a6dc8ad4c4f5c58cd9489fc291fe74f9c18d18339f1b1646e37f6be9088b4b4fa7c7fac2ef3e28ba1f32c4ad5bda0768f6f9c61b6c89ecccb5c130960ab03104dc994d399a17fb2f52067f7487d9d857c83880d67486da4dd8abd01a59c0c1a166e39796b0dbe8c3ff2fe30f85c74b0b81206a3d84988f73a7952978861d4813cc069e22bfb455e8810cebf046984e21e4ae60bd7d9ae697bbade46117c4eeff1afcb1d88133c7d0e82758b8e52d8a8480a18257e7feb5ddc08245a69c5a4b8517d0b39dd05b088d83e2eccf5feb0442e7f809f95f044db36839ecfd36cb231efe6061e4bbb95ec8aeb3d75ae77728d605c2fa5a52e15a50e179181f444dae3c996d78dddcb6749ab9a27501b3e64bd0c7fd218a4c50bbbe56797bdbb3f117328a35532144d036fb1217f1a7f733dd65330b21a7576944902f7de145027ea9c645f6ea434681eeb008af780c12679644854dc6dbd727f2399c25fbdaece4ba09f9c3fa46218ab970d5f2b59dc95ca738cabc95104c21c251321377bd88b768ffdf74050bcfdd33569e14c99e2a74d9e909e843b65b87e4145eefa4cc29b278aa408632b2898ea6a242c0d61925f35c13c840003e6513b269efc5b1fe8dd06e5783a5fc91ce0ae11748708df64d1cf9cec8c59a5f4792da7212dec0223b706980bb85af6cf22bcd14f7f5f65dfed298af7d08e25971117f6360d896dcef53c3f19a83a7a62311627ea594089ccb49ca04642200f9fc56cc74cd6a3f9015b680157d6586dbb565a199407d864dd2efb1714933e4e18731217f40211235940f583ba321ef3692e8e6b8ce10cf3d08e677b1df9a253d7e6dea88d52233d546431e85f819221ac3ab337d433a0d9275d9fa5c2c6aea91c647cc557338cbdfcc83a1bbd787718b71d4e86ddef0eb85aef4cfb090e768e61768f144aac294a3962590d51c3e9a098ce15e3baf6ff8d955a19ba0c361914503e0c5ac4f806299eaa50d885423168425ac35b9b6d860b612aa7f8308c62a1557488cda6ac225266e0e5ae7cd432448a1f877e1e001d558ac1bbcf1ad1504f0da8c8701e7b703ff99cdd8a9a4f823163ef3aa47a5d7c39a1adbf3286770a3048e5bddaa776342434f12fb304b003479b5fb3380f054c40c48515340f7b2550bedce50a066c3bfd25501c7ae90a721d3f12a3d71a2722432e7e5f73acda6aa006aeb3b4ff1727b69b54a18d11ae08eebe0a760877811b2485b00838bb778c5a8519d0207c4c79e7c85810265461320f1c83b0c44379b765a7a0444b8e923d556f342c69247c8fe4b75059897131e69c549d06c445576a0363c75a346a6b42685c9820c6e2dd22cfdd9a1b02da0ba6765f2969482bf8eaf21249552557fe4d6831749d9cfe4c25f4661f87262b0a425467885dd0eafa9a15e929573620cabd7fa2373748a59dc36205923bfcba11d3168a0cea5f5ac550c1284efe14db96941aeeadeadf733d6ea8e76bdfb85bdb6d789616f0aed42379dbc9a994bc8a8e7f3dbaaf3256bbe19db2f0838ae5be607ca906051f99484dd5f5bfa1b2856e3c70eebf3fe7ae604119701cef2bc3a0ab4ebb98c90d6a03c8b892c90d2e3c79b0a65be57d996d8d6af69915dcfc62711253987512fce952f129361a736cbef4d21247afbd02e64d15a5e89202217a8c87743ed573aba66423c497a9df0454da771b8ab537d95c9f346e21a28904c7265f7dcf3b1597391bc1b824c2a94456dc4e7c95c931a757203d20a0113bfa6cf2bd9726c030df4cf8cbb48cf99e0f988121feb8120cb8e5952b12b57b9056bab9d0c13c0c670aa2a17f9faff53729e88c7d077c3075f35cd704e4c673dc7615a941a6a65c79f8dc6432cde77ebebda3807545cefdc9382349f88bb74046329e5643177472c29bef04dac20717f2c4f8363f6b72be75f07eba50f0b7909b85c5385e7411cf95f7b5d4c192ff470b2288a466037e34c89c073a5927880d273269943f1ee070a518df4058217d93f2d01078e08235ed99975102dcb1195a5cf07cf8d8af1496bd0d30bdaf1725d7954d22a4a8bc87beaed7d6223e09370b98f5c8a4803e0d1656ba569d1db5b4bf342975a08d19f543df5fb433a243d0566924d7debc3d6bfc4f8fe37ad0cc330a300d5ab9d3698f3ebe1c3b03b7bd24524bd5e3101d832d54a637ecfaf07392ab5332e6570e950a3cbdc298b1fb4c8061fc3ceeac4141e6f1eabd3fb1600845c1ec850c758852bd69f3948fa6c6011906e248ea4aa366a8ab3fb5683ae131c3e91097e35aa0e9559ba9d57d1966d11e79a6cecb968f15db10836de023506a40ce4bb297fd67d9d5b2c1fdefeb9cca43bb8278f87bd483e1f7002030bec3cda9e1a8a17f0d6213beaa47124b5f01b47f428c948f5f9dcabdaaccfb97890b168ec0451ab22e2c9a39a6cbef64f3d5489fb94987cb721967d32ae785ba1b702bd5390937dcda64fad5546aaf26a03502290728f1f444fac41ed3fa4ff69e424ceabb7cea54c387d28291ff5d47998ec2a620d38670189a17caa9b2fb5702f782a6047ae39789a90cb4534ee91a22304593c3a24109d9b654e2176d9a454a69a8ada6ade9d200e93c4c1ce70113cf710daeadbb18746447be6f0e939de68b43bb88a04d17e1d31a569848a2d56a21c4b29b383002e3544fed4fd03a6009c1eb898feea6f7d730463f4aeeb3d80249d5867aa31bab936451f46527abc6ac3cec7b93feab3f0fbcfdab6bbeb1da228651b2a602424bd58b0154ba38b3b50569adbe4fa534f3c2348324b0d3f560dd95f7b90a6e85d3ae0ed85f6433db1c42ed5011f29beb8b01142830a840a1add22660e2bfc8aaef3533e19738d0697aeecf383b6e3b481b77e2798164931f54533144ecd3f615225bf6a21be527e16b233d98b3667990811fb914c99604f477787dd95f350daeb752dd38455b9876620ee17b2dde8881e594925a348c71607ab772a91d5ee351693a9283536ace84f5cebf1d719bb8d082f6d2633d2118095cc57c8e73f3ab5b11a53d214acc1421a3d92a8e305f8f8ff28d644433ef36a9d89b6be58489ff03e370e5a43435678ca5d6642751fe4e2e31f9d98a858d0d33f51cf9f3bac70d37c5076176fd2dcabc7bd6ae684bd41593dc0f60dfdd89628fe7d677b2635d2f84718a432ce564eee7c1235022604d98351491c653c68941328ecf56c9819f6da66c91f629e5a049933d2dc1bfbaf2632ce9f7c3172ef371aa8d2b4db3b8ba14e989b3c32c1308295353c9d0a2763ed12848dfcf80dc77bbec8ab14f8b4dc668d6ddd565890b285d9365d0f2ace847b2a579de643d77a7be97fc1165bb90a45fa59a6236c16f5ac520332ee409051b41ef9b78c820fecdf49fe556497d0d70f8d05033b90dbd83e4634e2e62ba48fa796fbe271cc2eae22ae088cf9b1672df74b367a8a94ba23201e2d8b33f48f993d6104512e45ff6377fb139a669725fc7d4e1eb79f04d15d2266f163228f83c2aa984c078d2894cf2d6c337054267d29dcf225a79afba37ef9edc213821490c036d2a016d460efbfd6d5f2b313d630813e442a9e57520b954820bfc38c00a342175ab9a4cfb97ff8869c52257fdf275873343297b08d1251dba70ee16d820a87a3abca44076b90e2387d5e05e04d48b3840b11c70fef162bd63b049447efc5609fc2b06633944af42937dda3a6de0de918f11eb3f7c8855e5787a77dac64a6803c112584df59a2e72f52b22256e858f37b3334e9817185dd33357a4af357fb131f9036760df609d57bba75688399d299a152140e64795b2ec05b89cfd69c37a1708b301c621cb1b4364a2140069b328cfb49acfd494e2014320447677907f7192bd71ee90f736f9dce0c601744a4d153fab532baa4e7c9804a825685c550ad85b94f57357605d077af5e05e831cf25162ba5fb7e4908d1f0857f112eeb37351480b7a82197aed877036c2f53bd768cd20e56099ee24f8e5c78d525d366c091a392f7dfa36d94611d0e94a657d87bae915d5a57cd7c3ddfd837d7d12abe8691dd4347c911269902426aa29bba13c55e44babacdd0c04967ada9f88020a102ca81628cf7ed035b860bec9e0b168ff1fca88803c9da1c6a5a9d025b2d1aaeb474dbef7fe9257f6a1505f60b02afaf007a3ae034c9d351673b9aee6a715d663bdefc5ae4191ed9a4bdb7d448df8b07ffa4d43fec7ba459dcd281a615a383fc7d86a79aea5806f8cf215f92fefb04a6f458d5c3d3504eea9cb64d22aff399daaaae752431fb7f63e8a6f170af1dd0d6f6c83126bea88d6fe9859355dd6de466d257dc2834571105fcf13be08e0284999af226f0d1a7e431d78b7d7bc99a5515add373d698dd0dcea01150312fce48d4701e793d6d943dc9c70e615889f8a4b46ddb6db1932512ef132e71dfe77c26be37dc67e1b981149b55db866e43b569009c79a717e80e15b9149b502cf173b8c1e449038d8ce9dd369320c42f07e33914d8cd757c657e5aa8ece8ad3f9dd830dc36a2c2722972c8e5281e918d3aad52c5dd3f65e1f7ad1a5c8cf1f0427658a046e1db6d5e1ab68a7cdaa46466936420c0b82bc7ab4859a66b99211437a10774e6d865c3528fef7f050a801dd3c1178e64b3849bfbecb013dde8847bd4840e3fcd7237089824c80e08d5280ea9a091536e1930bbf300ad4d33a0798e82e2e0f4d635feee8ee8400a9915b16355220134f95f9eca2c3f2e49acc8c299a4a8194db97beb9dde95178e9ca418d8887e0bbff4639838872018214e342d87f4d6a36c0da944642e30b6befff5635bf5bee70b2b89bf66f5d14db9e49a87c26eb12a434260c938a191f5c3ce175538d7ffc2b9f725e39ee10de75e92edddfa09d7d13c83dbe9b5351d45a85fae5722f66be218e8406636c799b03737274d76d5a6aefb32b3a87804a17922ecdfb714bfc75ddec81a5aa8254142eb6cb590044c06618b7ded48ab2efb1d67dd1ff434e57983a6dd9abbb6d651b49333ce84c7d7eae0267522d111ac8c3b67bed46a637d47c49e9b3603afbc92d6f4bbe837235b40d2434e1ceb773e74c1f905e62d7a1b3d925fac7ade285244b76c931203d92776c46a868d2a9159382e4ad1a7dbafa6ae3edc36e7cc0821dbe4cc118c905206bc92a1935454c0d0c08a027237c87c0d3ea136f2757c9d667035cb93ce99c3b64f68bd2316ea15028c2759b563097efcd9da2c358284a534e1a10ee4d24d5cfebe35fa2bbb9740085b3f02dcd8062ed7cfd8e2c3103b23746e1a53e2001177d0c4b286567ecda6dd0b088fd4ffed35a9cef862c71a3915355cb3d6ec49df2a51eb7275da9e9cca942e0cc1fd32343e3661fa206c3ce7404e8541ff7329aff818d47047eca368bb68822043f122efe2ed6c15cebbf4c232a23e410b775c39e1a94f26d60a9227b0dbab63b6bb739cfbd1012e825200040be7515ab446c1515e8a702cdf2156e224e413bb62e00b0db68cd632b9f40342250813a4b6623ecb3e2f305e5bd8968e0b835f6a9f662dc2aa690b61fb6cd355f2e4a9d682f93e5423723cb1d36c662417e4734276f83ff8928a7b6fc5c1a0fbe235f9c29b05cd1035fe980b9fb364386a15ed53a963283d859e8894fa7613c349b61c9c316c3a4e1b181b462c09a8c939548609065d09058e439d1c790917b501f89545b590a35ea0a8a8ed58bcafecea86e6bce198f550479822c59e644fe898c945811a3181c511543344453ac9be4571b1143909d7bbdd687905faaac3ff6d3badeee8db04adb6ee0718b44d4d9a43e5d8ef667cb41ba9491a58b6ad13d9c63d181d772a60cd56ac690075b432ad4e96e8e40a25a2629fb7669de93cbf4a01f94ee59748c539848a75d0f50babca2300823841ec8efab8d0ff6eef3aac82aae8419020d8a250415a269ceebe513e5499593da06c73678cb5b0dab841fb473ed90102ca2d7e57ac299aef53e159ce5bdab402fad84352b87f39bb7072cc695fb54375762ef29e6cae368ff03bd617ab10c0bb2eb8e04c10bd49ea1c10893691b825557948d5db2abb44b0272c37e8ea0735b40c13bcd889132fe66d6a87956a4e456ebb36ca65b570e5dc4b4368ab298e9de6c4ebfdb5c1c11b1dcafe46202f4c55aee356b424964bcc2673c5531c6d38b6eea845c72d4e614edbb4a5738621666fee74ecaa5c0030403cf9e958aafa2a8b2330a69db8a3343dbef5de49eabeae054a37fdc72bfe38ed8cf771960a73d72683a608ba99198ad8536cfea4d51262a1c328c37ef8fbfae0e1705182e2ffe4912767c055c5430f21997c726bb77920df39913b492638d90612f0309a8f5f36492cef85f74a1852b0f255c385cf1f361c7229a9d105f95c5adcd35e2087b9158b88f31a793bcb5ec55760e6018d456f81d58690c9dff33c33cbc89a1a59759b490a058f6b14ddb7d9c1754c5d9304b8dda6b55104118e85dbc819a6b810e59a2f02f780819d0e4781d9a79deb97145a1890a32d4696faf297d9fe486526faf7420cf4f348c45cd33105ef83c577704fa3403d7398980977eee4c55e4a9491542b321f7bb6049ec70562e89cd4a652d62b5953eb0166f62d6fd4b94b1955a18150f7821ee2df0fc7b1fa04ce475d6dcca6cbacd49df39f4071a3d71188121946cc8b5aa5738adb64c2ca9396cabc197e4525667016747aa4a3beed3037f2e954f8c702376b40d484d8ee7deb1c191c97ff46253cf4faa2b1946131a9fb8613ffa42ab8c2ee5bcc991340974db9ae2352cf0134837e66d7059467404635dff24828d063f19d6a1bd69d8130cc8af09e8ba2ed67bf5a37fd40598b5fa9496f995c916a00d4bc7493092cbf1834d04454200192055c438290032252c5d2e4fe7b01464333b1963fd569b2c166ca21b4a2949adb4e8c6e212816b24fe5bcfea80c1f259b9644099a9d50c5203257cf9d7daecef955e61a565fcb5b176fac194b7ac9b93cbc7ae8a29269c2adf4a1d0aad105f3990ca45969958978b2836e2c1cef3ce529cee4433fc411a7702c44874e81ec260888dcf613858cc4e2c2e7acac17310fe247f3708b24a6b67e5d8b0dddcdc479c6c920a6cbb757c8dfd757157899910b44b2997c507667ffe591ba3591ee49d1c936562771b151594b6d2f6734bc5c2b015eb47d522927ce924d91e32551f224eae5377903734552272fd971346e76aefdf8cf1084534e709e677b2d46dbd4cfeaafdfe75f53b3e60b67041dec483b4fb1bc8d079c43223fe3bfd8eb2fc3a5b3a2a9efd9e2610436621558ee5cad7454af9e1b78e69f75e6b766f8c31b549f7f80a284b27a5750b4fa38034f9e14d1144662c5d8a7d182e7686d4f9eac7ac4ad2e188770ee8c2d5df80b6a51ca0660399b3ccddbafa70ab0168f51e11bf7349e15f9907effc042a2d7a7fd643cd178fe487f341683549204737dd1bcba23088288bf20f24ba21c631861a5613c9486259ad682cf30f4e7bc318f4bf2e02e365010fe3c457f7abbc6ba2c2fdf6eed6613cf19b023d6c7e663ee8167b74b89b3868b936daa0f0f1590e9cdce64676ce3a43975f21b202eceea74961f22bdeccf5f6454f842119b8ab08238c0b5d27a61ece8a5b5a6597e0f37700d495f62d056e89b2727ba36bc9ae4a2535795d40cfd25cc46fb2eef9f3f2cf62598de90b49e9cb513b352753309b1f924378060b4b759e54dba04a0f909fe740c3a6e050e853a7d779d1c09ccd4d3a32797e89e88af67ff086555713e08c98a78af3a7738003ac8938de341ae22b6c122042c48852a1f990550c9bcd5715c816c5e566c7384ee7ea3f6ddcdf17ebc430a4945a08f6bc9190bca30b471237dbf8e699f81e7e8139ac03663acef9f96df88c46651ab5ef3827acd5bbfc0560c186ccd2a36792a959eb6477d589e0e2e80ead9870097a94dd1785fd57d2b694d313229f10b5b1d281a6cc27403e3479289f97d8710c2d5b906d615ab99145c7b423c670020be1efb2cb85351fbcfaf23f177d4c40ca8c4bc8837390f286af79f9ad2931afa7c0f93f2b349d0c14ad6295ab7dd5253e5ae301a8bdb91421e6bce846713330a519d13c50fb2a9c2c858dcb1f53ac0fd710e9cd81f07964ce5a480c22814362ba25b3f8966413bb33fb5f121a3b5a8aa6fa99cb979d0e6849b8c42a986ff3fdc610b720b1a4ebb703539c8e127cacb64c1b6c56eaa2f1f7fc5d0b8dcef0c9cedbd3bed4809bf88847fe620f5c7284a2edb929ec63e406292f79480bc2683e428a0a18fd92cec4600c9768567e40b368db3c4d0ac77414938eaa067a6e267352c62fb2caebafa86f8e01c4c475ad2d43f1d877370ba0be570ac229a905ad4346b9e9e149f519d0cdb8bc3b22246e2be7e4bab8039bf95dbbfe64908f9862bfdbebcfcc3bacff81e5fb406afe5f50641930827db629a26595a4dd31ddca841d124e147b5783df8000c473ee3f6036a387edc95fa0eae5b14cbb499ce44a853252a462f051c829c8f81e82c58d73ecf7709743da815e47efada6feab1646304b51d052852cf2357c072ae7355493d68c6a9bed3d48a46ef43c4877a49ca3bb8177a3119ea7af17c2e385e7f4ef5caee084fa6bd3bea17b48d675b2fcbdee80617f0582769d2af3f1e2be598b364777aef106b76caa0ca5672d97b2259349d7c49f7ae714d252c3aa351436da39d66b4f39e741060820f5e359a38fdb3c1abc14924a3480828dee90b3907feb8bca38da84a10d42268c957e1bb281707aceca0c2c481d96c713f89eb26c17b6e984b8680ac407e7b89e22c409bf37c5937ed8bad3132b7907084fc3001e51ac88519d89b94dbe0cd9e71e9c9d5cc6035daabd100ab7f0272d64f80350e63feef4835f8edcd3fd8f5680c2510d9e9a439f5f7275858b5aeeccc1b398063660ab30c1719cc1081faeb44673db55ce926da91d032a03542543feb38d29567d9045aefc2617e7488c41a2da007a212870a285445786fa8e4f6e0c7dcf5061b6ee00019c1bd4ce4c3e7bbf4e05916e1a249311c45ffe936c2e96300f4597e2d4f6417981f86b9f1f55a159966ba73445aa4721fd24bebcf45835344ffe3e1163fb56bec03f3b26afdfbd771e15946f812db9b9dc715a8ca8d28161c00f655c7fb6c56ad110d6ae7089383eda5755c69e3216e58b27fec5d06bfaf1c1569f39e1a966d881333732e8d05189fc4707edd8dd530513aa2778d657c294be7eb2ab0fb688eead542565d3de002cf1aeb31b9ab02e7f9de2c835702e154cb42540abde0e33421c5d7d35b79c3c9a79cae1cfa132a119441431436f83501fd0c70739309be21acef074908ee5647b69f5b53fb2aab82303b73a8be0ed3bcbf86813c7e01976aebcb21e816525f91412e2b383c74c95f152460b7ae986338bd1fec3c74e1fc9ef292db45391d2a0984a40650effb77c72ade8090c984c7b1f5b57929dfa3e11cef9fc871b86ea487cfe68bda93335c14c48e5c9dd14ee3d0f2a040f7af5424fb4789b32a5de0a8d57dddd8087b9ae3c67d29ad2b3c18bd94c5e18e62439860e5db11704edb94e8a6001c8bf65e751c15738ce727a1fcd95430d00859706041f08d1a88ca7070e3987c5157773e187e878850243b4fb04b4a760d1c6bf8319d0e4dac0167292198b085d4aebc9522816068e157b5afcc4b91bf99132982fb7c637d6760ab0a5cc8d7cb7c42b4e58b385ea609fa98108c19cd561f98501a8aa1860ce72c927f32c69e87e38cd807a082623d54035e2d5587e86b4dc6a7037262cdaff9b0e3be87c5b63e73d1f693eefb2f757524c490e77507da0bd0f374977d1d380d42ea0a82760ef26a506feaf5ee77d401d1ed1d1728529eec13f610bbcd3521674ed8b61c570216cb55e0e9245883cccf79f4e6c88bd31f2e69e6bb91c313fdc2e788daeac36e63036de0cf858f2d6ff4dcd5432bbbfb463c9d3ae088427adf173afcf66e9a3fcd8c29313dee800ee7362bbab1b544f0ab09b6aecd75a8e18d3f4eea9469f30229faa74bfcdf447164f53bb9490b88731bd4e69a44ed70495a8a41271c63519499c931ff76f5291a5dff381bac2be1a76b2e13dd58cc79067554186a574a3df62d2150e65b9037b5fe3c006662b72a4bcba9a0533cfb25b81867f5346b87c6d26cdcdc6b2b3b966b8112ba15c224551d40166bed139dc0fc2f94ec591046928ad6dfe65022ca69fa015a3e88b4a1fdfe76c74b6318496117c87f0b03179c75465a0bf992f6deaf3f63547c4fc8f08e6dfc485af8834a16e08df8dad5cb5da14ef27005b822e27bc6c3fd108aabdf379ed99e32428d9df75b07a979dcacf1e4f6b8cc72b37d103d64df8ed7dab88b6a3f19caf5376205cc643caf723d137e55a56ea8990067bc5b13f3fee86311c1a2ca286d301e5b9f1a1fb3a55d7c8eab1471e980ce83d3f6901c554424ac77de04e45d3210d9992e6e124bdc520ae0acf8b9f59a1876d2d9a33de60d60f56c754e3477a3fa31a324438d9c22e4e9b7b6000d3d13f0e238e896a4b36f7ab6c859a1f0a55da9e58acf130c11d7f0a13f74b98449d1191726c4a4c42486be144aabb1c36889401ddfb4a639e07242dfaa9b366f4a8746715afeb1f7107041d7ad44c6e1a175760809b70f64ed0b839dd8139aef457df6939dcdf5972d4dcbdaf8fd4aa05334f4123212d341ccf87b6160027d867fd7ffc88b26577fd969b465a6525d5236225def86b0c7d0e1ef2d6d34fbf8978605cc13c422abdebcbc7131b9a8db23d0070afc9b4ab1af8da70c263490e4318fd48b29145e21f6af5efceb049d9cc89d359ed66fdc581b20a004179bce9439f6ae4890f6eb7df4baf4156bb27fbe3bb5e3496023f088298c9710c4030bf80d1edfc4b875511d0028a5b97410a66872e41459ff4feb96909f1b4cca2aac05bbfdca78fb01ce527f039a798026783a262e21c1527467986e5096145eb5158762e523e01c93d08c5b1fa07072499116897fd8eebb09dd766c368e14012b9f57ba38544ea1b86211ff2bb92b4d1d90c39082f83aa84eaa767f1e88196f14f6a01d05e5064180411a8d4a03618477ccd33aa4ca1fccef65cc2cffe9f542447858af54d8b6c6a4a4b640bc34b85962491fe3b84b13e474d87df194cce4541302921b809206bfb6da107b4f67e8bfc86002ac8066c3c41141dc9e3804c1ee9cabdbfdd2c9cea561057123dc1c300014d8181ac40dde7b85cb479314ebac3101a2a6f4e5cbf75bcff622d59c56100972b195e74d1bd42ca50a6aa902355629bd3c56f69c0e8f7f0d1a95f5c273e74ac2dcc741dd10bfbefe43eab29cd7732bdd2241dcbdeaa4ac9be3a0ef4b90e776998fcd6048d856bc03f9c6d8f211f9c129f51274fe8536458969dc7f335e03ceb71af792b69bbaea8558d4df657fcca3b7e21c8ac7fa6a6b936d72fc7cf8e6466057b5335bbcce433fe376108742d863669ef918d8fb11b1a8d7166920774aea76505f9cae3c086f7bdf194b264e9d79ec15faf1f24a8b43b2e06e7ea5f00d14950ce40fb21dd2131343e5abd191b073f3269e52a5c421fb84dbc53a94ddbfd0ad524cac9a7682159ea66c576d521feaab7e715355ad5e398348eb24e46cdb7a13a9128a555d249ee6e7607511a41abbb6694e98eb842397ec6b89e05fa3bb631c78afea89a712fef221f4265b5b924ced8e1b5b887d1f149d603db402968e105b9e9ef65e07a856f1d3042f5cb50cae63343203d6a5323669f44155980d54f08f1848338f6d0e6318e7a34ca916e02f841bfa19d55f97fc9cc97253706d9097ceec2ea29d100ded65baafc807d04e278d29390c06aead845bdc1f4399e0b978eec93db437e9ab48bc9ab2145f2bf64fbd7a65f9434c9bb4bc56a5af0ddcf4469985fc2aeaaba9327e525ea3346b386ddc4b0c488aca3327b999c4c783a3b1cc113f74957d82839bc21e762ae84a2371dacdede965138dff18c13756894f8e653193cd4e30abde0e245177f99d5ad18480d7573f7c38de87038cfa95e3103cab8a5242dc14cc709a947d71fb7f6e2ac94004a5312e677d6de8801e505faa479268e8b39409cda6b22af22062899f1be31f7a85987d87534e97e38e481b9e6d31a6ea1cb812465b7790fd4a3a54921423e0db454862422ed7e0b9e9c555e7e68d69d5f5a6081d02dc15e3f21ff367e3a28a2105b921a56014c460392c3756f46e68269d421c8999eefdc561dd55fc6c5e9e8590319a68d5f7cf55b49c1f652dc17b583f6eebb4961cf9ab224a8329363291bd6cca9d9450dc53d06a350068b63b7f8110cdc2fa53f967e0c335a295dd394c7c3c40d1b9d0c6259ddb3a12a899289ad24bfb1f387f382898db96fd6d9008a8a35b69dd9e2b46412d7c40c18490c85d0d5999fcc6595deb133b2ca5bf2f1ca515fea11214b93a6d5135394b814de5eb4f7de36aa9e03265b3a1c49336303ad921678735a1ab099bcef54d356a42e40b978ebec5bd485e004c518bfb45d7bb96a3cb6853ab2137b56a67cf226c1cfea5d9896250095094c77526f6b01a5f3b961c640fe562930a3b8cbc28c33068b7202ad1f58b018fb932f561112342bf4ae5a4c42382763447418cd73b17ea699f55e93c9b5a264404c551bca9139e775806a95325eee7a6ebbda8325311ba6b7a9f62de628fa6ca851c0d06189af0c8f653aa3fe9f021001f7b3991d1789358d81483a637fa626b14d3ed20f15683eecd854b2340d0f7c9fd1b5e13044b5f244ed8b768848b8c94bf6a8f19e3ee4a7aa8301cca20e6693c3682269720ee00bdf10b8ebe2ca6eaf5a4467b77ac57da0d26a8e4fa1457e9dff641b13eeebea2a10ba2e45163bd10cfccab00f922e537da013504a6c6b36aba2920152c166f2c35faa07acc4700ad002c80aeff49e0e59d1d94a48aaf1edcd71f9de24ab727c648a790ff671cc794d517ccc784d531830c6ae8f533bcd56426dd339ec61ccb251b3f4f401306fbb92347fb9a3a4790302fff30a054a8308bc564599ba701fd1edaa032a83b38ab3e7ef0aae8f95d272f09bd1c0db8b0a969817aaf8663019f1988881952a031fa12aefa9127af9ea1d546202af632b2f0adf8eb4b71d6b805a69724229c235561a2f077261c569950a84325b93d943419d4e7f12727ac4ad2935c400c92ec2646f559442cbc1eabdd71c42502dd9b9fa09f1599ad192ffb88376264fe87cae0e709e24419890140397492169e08d13c18f56e253855308ae45511895a51ae8ecb25b827e421f1786b993f056f7b6395ba315fc5a26a63d46117b68842025a5c0baab6adbc690d6df7bb1b8b11fccae924a1ca47bd85ed1d4016c86f59cd5e9d419511c558b13c5a869dad6b2a7977b0d971da07fd78be9270af41021772040247dd453ee0d0b70f49ef64597d57838edb1d5694fb79a5ff860124c8cbc27a6f0bfd502bfefd0fc1af2385de8000d536cf5d17b112c5312a1c9389071adc05cffc88c3d728df77492858b5941c293acd6b51158e828bcd86745996a8595065c9effc07d0f6f6dcd352bbd4c02bfa155742abe0a8a9246c99aecc26cdc98656be51ffbd36488274dbf804211670149715e5a6f160ea2f59cdef407c0c40407970f192e43ebc3ffc4ca366410883ffd4d255d80bd7ffd6173909ea609a2fe069fe01b68d992eaa06f8b1421e1bc91ce0f7ac8fda94c13574271c6ce6796dedea845e07837dc980938767e9fe9a4101a3eaef638cc7bb81e1058190ecc65b7e8fe63d97b84b6e64630b0366522c0abfdf7d65793a27f9c1741963f191f288baa5b99c576d3c7914c57e26a2f278acbae79366f4713ef5f5fb47b91e91f6c11fd7b78c6890650b7df0a0dee1023f648e3c59f441aa388cd389049b752ded701779252e48cc1bb54fe753b55576d75d2160808a3b7a8e95a5ef1ff0c8d4623c3f2b7a3dbff6c581095aaf764dfe5ee3322fedf83837cff0c588db9b7aafa71f2cae7553b1b30fe01ba1a105e73269eb895374e5ec23bc7c65a117201f8039c7f1bb78874628f31d9f49ab0b7a3cdc77308771ab20b284c97a88fe3bf5070fc07d74ef8e6ea41f821ef4d112721c1bb7e8c2ddb24c786c9b50c4f7bcd881a8eb06d3cad4d25816538df3fed52f489b436c273fac759bf23d19e03c989e0a750344669e4fadf6de31515c8b8caba42ac8098498a2bf8c2ceae6a8344eaafd2685950c092d5f8f409a9de3dc8e3d1e240cfd5d93db48fe444bb3ab21923aac67e280ad19610000bcafa66bb234899292aa383f369b36840edaf87d711a6eebe3f6ca36f9ac57233aa8ba9ef00a4d3950b65d7de45a83f4c5ddb278dfccd5b863900d0df7eaf7c5ffa2a4c01271d81460b5b082b711139b5912f7caa5c921e0e51a8961cda8b7d4827ec904b73eef713ca1a412a3aabc0d98339444832ba3250415d76f05f232bdd913725b691027d8e1b6afc9cf85de94c5564e6499325ff061c5052cd411dd24088c838d0ded31fd528afab8896106efe09421b2e2338833676be3e4b38f90c6a0a0ad386d3942166d9724dffb634134e833d8d9fa6f3521046d2b06b86e382460307335fae537994df8e9097e8a6fd9540461bfcfb7d38e04e6ad89150dfda645e38e85c56f1a77bf324b5d4d1e6e4c1c88040086e8a27835c5516d673b5ea21d594152268b6be7ea17b0321732b8426d14d14136c45189c71659aae40f17e53eff9831043c36ab351fc725e7b76c86f8af04b45a3cd30e140c307d7e6a5170be8818e7f3bf4438b51ecb4ea131b9211fa24cde3502892d01bbe1b80afc1f3220545f1221cf8e63489dc1090d9cc267d5f0b40620afbcf52bcc72986981056619813e70a0e01ce69d1d5dfe33109384a3f0b7eadec70f5d0ef1410080874dd3bb1d3039cb53ac4fe4fcf3b3400f0a826a7cac6c29c2ea0cc55b3faaab89b2fe659658afb0324b5fa88413f5e3c9e88d95b3aff551e0501270f3276d4255ee4ec61dc4e168da379b8595e82b3090746a526c44f3939c4e99a0dd1168e220c9a4b7f211d99be5238b795fc537e6603c12239f61adf2eebd206792bce3f640de36931a8346dfdf4ed0cb8e1b9121f0bbf54f855457c29b2be6533a4a3d2d55ca4e8e6db7cd0a99acb665cc226619f28f3fcf0802dc9d25fe08adf3f334ca00a60179b42866be9fde78cbaa2f9813a77177b43cbcf389b9dab04964902acb9c772223ed5fa44758161f0f3c4cf981cbd5ff2bd08697aad7f88d513bc704def6ee42808ff59746a549f7ea2eb9111e04e95dbe1e5ed8d9d0cceff04a510e171c2d14b6d9afb47095007f1fb54dae50145917977f9d3ce644ff82eea395b126ae061a9827f09ce78468879d966792ec076bfc5b82fc8c9ca629da2687e6b5954c9f3fd8988afd62f8cc9b9c83ef76a72532cf39b6043e88d239bcfaa98f7921e4fa7918344c72504346b3ffa4e11d21e583eb0af635aa485d15f0994e5c4971a7e529c091099bae44ea2349013ac0be475a0ed52ce9c1bfd59eeeebe8a8c43c282efb67adaab8f3da4fe51f0de49861bb9132e080b12de069c2926294f7d406227c27e021af46c9dbcef9751327b532eb4006515266f110d393a4acbc20c984a7f693d0c004be61b29c7fadccfbee4b89710ef52c4cb9a0b03278d00cbd276660a299711f87568623d6fb922d8b88df08e6067856ce08512c1674a9799dc8989f531f701c3df3cc5bd92010f94755d356a127ec09a8ad678fb78bb20142c1b5345f49160d4d6dad6023adf0720579895011359e4c6367d384d21cd66c9133f007638ee9a61c5f8a24033988d7704062f3312cd7a62295733e7d1d566439bc080dd22b5c3142ff94e0aa3e2da5a93e67456915c581716b15a19d9799781ce5c4c6e7b4e0b37441043f121861630ab2e212bfb68803b3167917e8f43a37bb1b0d36976b15110e6b68a6af3da5c57da624066534b067e3c66d027dbb01212eb2ac8d27dbbcae07963152910e3701ceadc59bdf1fa214bb6adddb6cc1b35c678cc5c33954521cb2da8818695c466dedab90d1dba50467bf57193a5be443e54de8ccdab19d49cff935bbb243c6bb937ea3c022b760b041d1a28aa78960af9a25695d705c69e79ca32d7851894cabc222f87414a211ece9065af25dc310872de08c461330999d20c66fd8db34be7f1379f4138e6b9c139dd95fcefa1d9ff38ab3c8ab232da992295e98d7d7404842003b2f1df18fcb9e54af7bf452cadc81d6676c0fdccf5691e4917a142d1a53aca4352192c932fd22caab5241dae9a35a09a2a235a579b4793a111f86a3c14bbb20f30676988a4b941875cc8a77d808c32a3137cc078ff8dc4512eea20a486ff1c12e70108cb91e33aae52c63f70ee74227e36af85519724df0c07f85f8b49540be234f65eacff3eaf8a8c7c2c01653445351a3c2136c85a4aed8b282171a2388d2990e0257a2eec2edf8fefe381ca28b1887bc9d718174191927a1b8b8fbad14c181665781a5f2c9b14df582cf0b8bd846a7d0cba8217a4cbc166ec3820a9af720c84561eb20cefc9814f7e0529e2a2c0fcc5ac7a7356c2cbb15b8624edf1e6180d52d302cf4c2497e9f6acf06cd40505800cb5228c058bc3d4631e5376f3d6d5a8a40bbf0861e39205231866935810076e9452426ef4cf0ba61c99580fac6d07f080beb2da5246d99a98cd04c81223321a327e26537b75a05af5511ab8ad86ab97d040ca85e8e6f52747e7c4d0cb2fcc67467d9735d1fae1ddda2dfc055e5199e27741d4c8cdae0074caf8f3fe550dc16f6fd438631cb4f19192e780e8783ee51bcf31d82e8fb27523f9246b62a612160dced38d113c04c58cee76b74ed3cf35306845e46f1582771dfb6a8d54f654797e594629eb908cc0913b05f3d828328fbd60d4c7b5459e34323249e9955dfb3f347fea9c64b8c14c0a85f3c93b55b6a810b9f673e1f27bf54bf2d99be7379d294790c885d6d0451a2e8ae11d094c7607f998bcb5a5f38ec0e826fed4aa96781ccdd7a32e5dd49f64e926c7fcc3ce39bdd50c05ebb77f1348713d19d6c8a1ab5351fa02a8869efe7cb19c837452c61819b321ced91862f715c79345ee116c477ded16d0332ee3ad28a96fd25a736631681c61bcfe5dd6980e24fd4ab99d67bd0fc1229336deb66c0c56d74a25bdff4dad698e06e04249c13192678228eb4f621471b9dd2c9c928edbda8d2b9ef362c8c2f264ecd149373ceb6e815c5c1606a0ed32810c7b180f73a40cbb957e39ec7c7800bca7339905f285aa4954964752601c7a70c394083ac900f6dd5858ac3bdc716f4e0da045756866892fc73e0d81493d31309f2be8f6c3c3511987d7d0370f1f4c65b7c405a372a8aa889dc17dac3f58e7c674fbf9bdaa8d45b9f7d2f9e4b09795f22749b899eae5e68ab4a5c47115d7ed750fe52eca03c7a7026db6c791fefe28914219bfcddc387ba6b13c07bcafaf532e150e13c6946bc7c1b6b792743e00a7216449636a178aa5ec460deefb3634437b1c42ab7e73ff2cb8acccf3c43cc26506915d9e6d361bd4c89b3edb9549f20b1e27f20cb0d5510448cfc8add207b8f484a333d6bfcf0153fea48968f576e67ff203145c01b568bfd1a312f39b94ecbb17c2a0983457027446f65b8f5541df1b4685f58c1fa4be22b7138778339464ae9854e3d9c6ce903b340f3722a6aa5728dd6cf84ee839835e846edaa514a258829edc3e5ed213b6934279d991ef869a31dadd87500c97869814907cfded368026a22f6c45fee41857c63a072342c362a3bc42c2915fa5d749ebdacd11537819edcc7acadbec0b2c1127f0d178ae624d2151e02bafaf4808cb79a09fcf6242fefe1c290d7be846b3b5718d9c65263ca3d227406242c3113e928d985dc87cf3529e127968b22995666a91eaa2e13b0b847b3fc414fe029e09512101b5594b6f35adb65c0c2a0ccc2f4de718fe362fda72cb9b09d47948369651dd33e0650bab284a8e90a3ed8be238b3adeabfb70da0f298ad3fad9191c55806a8cba113a828a1d00f9819da3e6b79aac5081c5cac0fc43b4cc58b70a95bc29808836b7bd43117374aee0c0505b8c29d9f3881b88c92bb9c8075a5a9e372705ac790c1fb2b4872f846bc22a1e953acbf6fce12365c4cf0205741ca697126542114ccdc63762edd0b3baa81d7ac3e0da96e793d62d64ed90331449bf2981378c41134aef26d5317dbea4c43ce31170a248a453ed061d63ca0ff480148bc942b9949ca048985275515d7746bb5d43c9c00dc77d0a99959fa8eb756d386173f5ee37dd7f6f51df6e017c6d8c3c490afda2181a91e36f2c6f9756254573ee5ba88eedab856bebf6a8db5b516abd8bc0bf9af41c497de0b055b8e13be4d559ee4985de48642b70c0a90351ff8c4ebf5aed225aad706e1a3ea228a362c111cebe76a5b7b6769299b3f085607e1fc5ac4ec0dcf5c821ac39532c79dc92e887841739e6a157983cc94faeeb89b9e9e06ded239362ccec9716023a0eae23aaf34e7d5dd7261fe8076cb862faea0e3c79e77dd846e5d131f1f60f650a789de05dc7e55a127c0779c6c113bcb03a0d35cd41d2d39e664e550f41c9364ff91fd711f77864e8a68edbe4b130ab5742ea278f803e4c764e6a26278142144af79f36d975a66e8ef7ffa4a402a83485b25e50251f9ee11a9ef78a9404ab0c7da29884e23996d34915404e317297a81fa9678ba77361778a69116bb00a1934e84913de2f4229d6a141fec94bdc1c2d741f19d4ac74e335ad723e5c3baa6e6c9b1343876bdedc9c5903108ca6cb7c159a6f491d9324261cdcaf23268c8b214383c1df4ce66cd23708c362789221258841414ff4021187b8c55e1ec4abc65eee32a39b143f63822843c736b92eeaf6121c77d1f342359011283a0048d8ecbf43a51f4b038ee2bc05095668cf305dd2902c1ee8d90d25285b69c14f76034ddcfd8eed0f7c4847ff280362a9b1c52fa903c069f77b54264f92de78cf5356866eeb704c3ea04ee3026454314b4313be067a522841ef6c118465c71a3bdcd8679cbf0a063f1228ae65ef6010ff81cf3103e99eaf712376399523e237df3f5bd0178bcf32b62b7c060db0b39873328ba8a613272bbb70db92406ac2d32e78d5530f47b72a4f8ad861fa244373adc90225b43afd31d31a2c84adddd67b39c99020df962b40ac46733134cb8b1f8a423c68a36c8c7396ccb451a8f5b86853fa3db10f8ab2513f37a77d1afbe1108923790191f78451562187e8aa902ef17d95d6276d3624590787837cd1eb1eb27ba7b333a3db70e4bee2ef2b24f5781f89c2fc2878ba224eb603b803911ce6a52a0b64e31330899f6dc33e3ea703c55a9f59759ebfdfe693083e1df7863d5f4c947e89c70956db5f288b7e945937d5193773c7711109500f6ac462f6acc8d5511f48810efdecc07b050f8894b88cb38e599c6f05f0454c1eae114b101b5a8f4788dde8d86b63c1cb63e1a768c15b6f177173c1e090cce15d4ce19bd347968202593ce2aad921c6ed4c597760b2d46cacc385d6152fb772ec7b623f82861fd4a58cd4b2ca7166cfcfd9e8b0697523d8afd76a830a0f8dd444e10c3d1b079013ac2efe75af9aed936bc231aa7b70db348cc165bd04813d905753bc938b5a8207dbe5236d9fbc16e03ea99a19a3c7abb40d9c827dd7c42397ec1f3c05a35248ae885c35e2ce7a1987e6aa3bf419f2575794f2d9652a536e32cb9a1fb267c07d8d1acdaef56a0b96d2e03f2805fce1e7bdbc3cf8bf8fc58496f2179652d2b93d683115518ce2287b54230b6d832a8b146ec6e0556f03bbc1277fadf80d6cfef7f09bc5bbd9affe721e37241f81430073a753b7e40ca030afae8031d76bcc314dd48857c4b5193eb9e46113ffedbb21d96949a3d168c01d57d434c236d80d632bc79f52ed621c650416098a1d07692eaea697160bdfe002ba6b7b7b46a20a44a7afd6b2dd6faf587fa1122848d5eb62e427a1cc938fcb369157a781e4986249d9244fb288b83178aba47bc6862a919cebc6fc4fe762ecd1cd8e7aaed6609efc1d3d07165774ed364f9cfaf18263c780d278dc5bcd749549a8991d645d96dda1e1a340759cc9c84b4b7563c2e0e1b3be371a010ba4e51702553bc1f80163a385b623fa23a4f69bdcad868184b79ceddc22d636d1eb4f5812ab7150751869979b34f073475e5a78a42dbee3e75e99a17d76a846f9ec3f59bfd6ae2b64ac19df522c55f4410b3a7d9434e5e62ed65452edd6c83c72cfb54846d8e80154b374b0ec9992133bb4d69665963e7cecd9ec845a491411388596d5f045aa0f59bce7a7987e01991774268d059b1bcfada3f15497f6ed902d09f4ca11b4397757f7c43e508d29b367ad7003659ead59279733d57c12ce0d651a4043138d45a51db09ff2add684091dd3aaa93e2a86aa9127cb9f025f50c5ea69c42f5d4876660e06643a6b3672294c7debef16c2b72152cf3a8e9ee9135f71403392da8f50570f243ff849d547e1f673b61e6b55ce2387de17a44984fdc69c23ad878175dcd3eaf88d8d3969087b4c9f705b467f1e6dae1dca7450802bec3efacc9f74eacb96aaef9e3374e3e38daff078c0cd9dd255ba0e529332b76aa89f38774fffbef4ab8181194921b066bb422634d30196f3ab670dd54a751816b6f2e7511ed904ee6d3c26c43e3712c906e82bc26456f1b2ad50358c0843e34e24d825af836c839f1923025686ac78b55cd21f1c1b310c3e289a328aa6462c3b168a84f0d520debc2bf1b928e057900b7dd265cc88d6ab770044c8d8ccc71e2aff732a1f0633abc0a854c71a821f9f601df43bbe0f32fd8c881d240aedfd51ebc5f2ad756511f424c9d0bec4a2acf8c565ce0cf7dcc9db824cbc533ccff2bee39cdb8dcb349559fc96f339c6b45120c6d769f040817e3a1996be3394d1d91a0279683e055242d9058fa4dd3be1be9a5b3906133e85908e5f5648537bd0624f3db495feeacca677839dff1037c4e49a39cdeab74c0e0b2b70d202fb600e50bb849b72084d041dc6b5152a3c085e83b7a6901fd5dde3bfb34adf4fb25c419ed2bd6fe5257e2d0554dbfe1ee149fbfcc0e6505c2748bb6a9363c20eb6592430b513a1a11a5f625053295605ccf3da99ba3cce57778ce9ffd9547e9fa7fbf060f62e9c1e72073940dd91dac606c1749b52fa160e37872480dc68503186c3443cb84a0d2082c7ba74bd36d2ef8b37810f5287ae515003124bdac38ff463a8b15534138a28bef1ffc98d7f84f19b1891525ed222d58559453f94210f5f64bd52a64bd48cfc78f9463ce5a9dd513e9b78202c136125440f0d48ec661d5430dc5eb4290ef8821249bd386e81149630b9033192efd29fc9c7cecbcdae35b7a51319263f60fbfd6633333029f7915cba2d0672a0e6ce39df05a640008406f2d44ac75a48eea41154c8d9acc656813b0c2fe5b8310ababf5e1e5e3b8d1d48aeccb7148030c536a6d25e58313669bb26b42d3184f3ef7d7b5da90b863f9e606b52525eda167417ed90620b7c5d24db097ccbbf91ef2799c6e4f7ed1c4ed64c9511eb9e81351b95e65a530245b9fba458864d657be6ee049ab7393afeca328b40ffeb05cf55f8009d7b6d33c9259640560793f5ad89b1d0194bbb5425bcad2e0ca9a29daa439ad8766c7e3f9fa3a148a3365c3f875a6b5935bbd89ef5774d7286156f9e6f84ca5aca9f96d52ffecfba5ebf90011b62a006304a9a954599f3c9207620a5842aa9c21b4c472114f21d88b7cb8110c40cb96a8a34ad68cc7e5baca15f4c8c36bce0ae69fe0a55e634a12c8af12b3d18716ebb0d615dc842a723972b777b3ad31f10a3d5717a9599ac13ac9708a3130070d24b20d6eaad36be5e54ad68db1881eb9ea5ca5d59229497fa867f71f3c01620061e3befab486634d8b8503e00ebac2650ab0b84b346368c7693f2c4a6fa3d3ef866fe5547ff6f0c698614d1f2aad7565720a5622d81d43e5883e68d794192d8472fb13e0775dab45cd691ce41ae5e13191320f9445626e0be338d185bd9e11a8b5768e0b1cbe590273a5c18d8ebcf7fa57022b4862c255708308344ab578507d623212413b9c8b61923370fab0bf964e3e69fbc96f041acd551da28dfb397965ea6b8a841a65fe72fac4368c9a7a64492e6655e009eecec9c65c0f9ff59cc21d2855d52a71b0887914e4f14ae31aa2dc8df0f940b22cf9f45816838cd864a67c7f9a6f77bcc4162af8b62e0d21d788b403cd8e0b17583c66747eff81dc48eb0ff75e76368358b67f47c393081efbd4c7089400487e5279c1d0ee8911cb8d4224e25e74cb195027240b814d4483c6804502d41f2b22b490a55c5fe853174a4164499108a0d94ceb298dfcb0c07700a3c6117571a4bfd01f55fca68bc2dc7da871b0217cbabd2777e778bfd4e51e3364b8ad5be21d6bbd9167db0652bae929e4cc643ec464ede4c1bfc56f14090df8992b734eb15d9e32dba7cd0292d751bc0d20ee3aca3db7bd71dd28c85635fda516d054892b34cd0a5d0cbeee55ccecc351124c941f6c32d266cd385b3e13343ac63cc2b3817a48007fb19747348ff541f607a2cec5990520cb0ef781201d7fc60e4bc9b2fdd8825de169038243a773a0a3baed7541cdf1376cc9bcf62ea178b6cf7d1fd19277150f11b968317f6c84b86a6b3016ec39a1278ee1b110026bbda87733fc1b84b9f34cd28961b4f5687dc82f2ed3c0d91415ffb3dada8750bbaf0addf28c7e217e65054c8cdd865f0bc4f4299f112cf80c569cd98e1dfe8dd37401610f9b8aee6385800717c205dc7d901007c261787c1aa922be20f38d73f164c66dced3ca7cb6deb0aa3ba89578d91b60b14f7a929d0c439fd235b7f9ddca7e39300e1e42f1a128ec67c1746be8afcd02c2a8053a33f4a62b13e17437f9c528d1e4a79d7c833a31dd7d6dc0fccad47839d9356119edf7c63c2069beb248b8f6ef2af7d8fee38b923a6dae3e6ad911037d0df263e311443120b7b15beaac1f4787c5235043a0a857bb1feb2eac8ff7b2c4829dd386e77a5a88a854ecfeafe3945495a0374c24db61aa213796f81469e46fab7f1cf94e6abb73cf1f4fafed0f4b204530c3ed34d5aa9567c1377c425ee7f87fd4e354322efaf7a4e7c9fad746a959cc9f660153f8c60ec1e584e49ae0c79c1f568d47eaacee586f6d0460c9a1c9e5d74456920dbc38d5ad0971553953abc647752b472f3d9e810c020f1188e2491712b27e67b7c011264003d3a6bc5556be0aabb7e67a4f9884e4d4c3d6df4875680a249e7afa7c17920a78a0e0ff017794d9c74224e0a4085c439f1ad189c3f7b9a4d18d6ca0670bb7a8b950e6dc5598dc39a34edf9315dba14ab5698fc4403cee7f0497395decabf4b51e9c2dca54854119f49c55316d20f8070798c79fa5237422615f08f9ea2b50e38eb769e7967d47cf3f99c69b598c755dcfe5b0313168b253565350049b24889be68eb1ed5d1504c21cf7e5153285deb13fd3392c49f46b7e97a65a4b137194cd502b3738550b36a7b5b07255ada1c0969ae88075d7c843071418e801cb997dadf5f8a0ba800dcf9531c8816eaee273b80ef72ce41ab298fbcdd30b4fe79fc168eaaf645eb63e67c91ff6bd245e116c242e451ed7f50b5ecc856c8957effbdcbd997cc07af4c4f7a18db59ca172b986bc3239982664ab49b047c9d44349c5099b4a7164490672eb043bc3d7e0af80cdc48d993b77f37c6d5fd9a80fbb41b5b9949f31eff801676a1f167115dff2baf99dfb151b0ac75905dc7f047471a26dc45de5c7c0fcc766f8a08f5b562bae0faadf1b2c3fe50bf92317b7517615fe726a2d01da47dfeb6ed0143029b6304a465bbfde21a22e904446e2e7fb0a4b553a6111365b0c8034710542ade02b872dda57505c83d593adcbe4db5fdd8d1157cb2daf4927476a30e9d399ecc40ac8fb2240bc52f3f037829be9191e3a9e6b995b1b94db390eac70462f08c11601d9e8d7431661048c1bfa865d0130c5f85dd2f87a174d7cb2f5fd5e00b26e2266280a74f045578496ce819098c455c6ae6281a0b86226e785c1a6dfe1e33f20b5012ced39d1da46c66c1167f46eb89b9478ba681aed2cba99a1d081cfd80078fe4d6b19cb1caca3118ad997d97de1b495ed255eb4faa7abbacfc1b0e4fa1d4e54bdadc3783b3176dc2be639c1e79dc76a43ded9700778b5e39893db1da029b4d1479f7442fe691be47e39bf73bc36ac0b921f4af85049debd04b2586dae013fb46a30c191356e02aa12ebf821038fab463b42d7b8b556a685c97e9a825ab06ec4a8b5685b055802924b2cb11293cf36c597c355846b1232302ea1cc257b2abe5d6d338af9cc315ef7530065bfdf524c3fdf6a69af7fe562569a8c27a5d807a207e26a576833841eb31e2901e234b8b81fc89feef789c94ec2e51223486e7fb6a28e52fa88dd66d43cff93b2fdd2d24962a960a2c9c333e21af17f9ae3235b9e5abbf94c8bb06b7f2d1046552fc08943a65f0348799c045597d456e2aa9e96f7355a25c2faf5066ee3172880604a3cf5023ee99c30d82b1643c02e1a02ae325ce9e55aea3d01e5354057f4444cdc145edf2d7df4f96080335a56c65f63cd7e15af6ccd1e7174d05021321ac9abe18d3cf18c5159cf679ca87faa37da69fb085403c8a00946b816e678d1f0556d09a05bf12bb2db838dbda3749424cc8ac525798cfb45b4384546cbb4e392be596039dd225a61bfbbceb59dfe8f156da4974514305d5f320a5ca00162dd9a13d8d8ee9d8da9c68e5a66765a7a5ce60d80564d2620f1884ba1bf78f925fda425e1b86597a5446db9a7541f4e14ded3ecb20378673cca8efe8aea7f557dd0d69ba47fdabd230ff48384a3759336b634fc54f00213daeb397492aaf1235cb8fb65e3a1641dcfb2d5fefb31d1e7e54b6ca5c82b726fb45d909db71ecd9f3f0da5647c021f3a6a2cceb3c3934b3473fc590fe3e776152369d7110d6f1eb6d59f7219dd8d61d3338052ca1710b9c1f5203203a0c24a5d76fc636a4a1e8b14e3911fb5613869be801e269f6e0b0cc47f6f81a09a4fa05b21683df9d63b3ad482bc48604d0420fa596b1b4bc8e55ca31963982c71e9992f7264c0d65627ab76d9ca8af9a03b9440d81b197b0f213229bc9908610626e14965e5b30b1d194c296cf97f38ad0e7cebb7d1d7beb4768667f33479d01e1c596b97567959671d51fde77019662fb2b971feeaca313688c104ae22bdbb2dc74e2240d0587247f72eddeaaee0948548354228627bcca3407a302403415d862a868e8765e985a3374c8b6431ff33f10162c6ebf0b0ac2dcfe7399bb647ca81ae62607060ef7bf8e7a3b37f1717c04ddac09fa5e9ee04582d684b3b63eba26f6488ff71cac7938f53b8802676eec6060c97231ccf8bd391de9352888d618a4de1a6003c15270c7ee3e5a0f2ff65acfddd8bce214c8f6f6d8646d091ccdccbfcd2f8d7667eab5fae56009365bf1b89be34cdb0c2f559f005dcc717bd52103fd2914397eaf648cedb9f22f47034ea07c94127d7ba69b26176c88af82ce022af7a71153f9fc83e7c8a35afb54b78e6b5693396bb0dbba3e6f8460868901b0e54d6ae3ca4c174d83f905ab30ca57e66bd498af7cccb03fc3acf9b02d570c9152132ed09b38a81dd9b41e73737fede3eb293cf83180733c5f9283367c990224ffef7de7526f132d23061337e8e04534aa7e52877a7c4ff32589a404b51f450e6c9b9474cfaca613ec34667ec9ebc65d43ec68347a00f2bd0fe5b29ef66eaad8e9d1b50aca1262dc299944ea6360ec1f50b61fe9b4df0ffa58388dc0a36931756652a1b6afd78410e2e41227fa57c34d5d8015b953d5a08c4e76ad72944789c5e11e1b1c90ab681b344e16d69d7d3d0f490269c48ae0ddf4699aba179f36a331893be2bfba5160776db0167c22965c2b0f528fbb6b2be4e56718aba1d5a9c29684d1a30103850c18788a1fc59638af6d01d9b2484571e82955e5628b40aaa9a609ba26ebfa042c74d8b468dcbf310f9ec42cae94c3a81fceb66d2c421f40276be484fbf2ca00775eafd0c957f9515a055748e13d8197769322b4590710e27e00a60f4d96466a03096aa7a2c3079a9a922683c2d72764e51b072d49a08d0b785d4511716fccef58256b83a2a4e5640178b328bb7aa33e6961b8e5ee69e9028aa0539c0375e861d557202f47978badd77df735c93099ab70b8f381a29a649875b5b2dd1ee0574f7730aee8c72ead41f058248f253f82e9e785633ce675c8dda2f63e214038e369c05d929afef2cbc92f0e472baf9d677c9a1c86f7b9fdad9db10821b48f26b09b23985aec87163d45a0d1165c194659c0ee511a44fdca270a9aa711229299169e0cb6db2cdea0c490116954defb87f7a524bb55a7fa0dfb63249c45d868679da0d9cb8f621b06694ac95f74a52ab641b830ad229ee970086234d223d0b4fe690b425510fde7ea97e0cc36d0b62760a7e9f63e911e76c7e0434cb37bc8d6131cb39f90a67afdc650f597103084d370c02c88c3b6b4bd6b9070b85e9e553b90eb384a1ccdbe650bd6b16d0fde20660e946611fd38852cdebe049608cab71b90c512564ad834852188a9e23500f919cd4736a34ef553267de434d0d5ad08e979441ba4c25969f84fcc1a09c0f45f359c8c72774cc5125901ebc7e1cf34e36e1b81ec56bdad1f9c1a79d7aff3823f5809f655236fa9514ec92a25b2fea105ebb8575c2cb9ba70fe96a6174eb9d950ce986db080b23749629ec9fdea0911e2ea12f46b5e996f1a260f97a6b70bc6a6fd484f3bf3551391dae6eabca25e9c062b1923e20cba937f23cff91e2b25d72d0efb895b19369c85714b96a79057a507003080891e77a3f6362c613f80c9273252875b8a1ebd71f21beef40d973cf4db59fe592e12dd115f3c34a7cc5f03eeedd38fc8181ee00bda17f7b6caade76e90f669d1e115fcabdf00b6cd1ac6d235a142e6a7a0219e599dc0167710b547ac0e7a88cf6050952deef7bc581293c64d713ce23d9ab6250dc82145512a2ef155c70a49a351e968f090af0b2781fd466314dbcbc6280272da143d765bc1cd39def761f61514959c2786d1ba273c791052e36a9737843d79f63aaf645edee2a92ee27354bafcf205872b1ebb0e7c22007d7009855b72cca37e025a73ebced5dcb81aff2785b5e966668d9c719873fa2b75ff51816e4f8ac09d0f679a65cc8298d48e98133eb9871810347f0b3a53650ceef599bab40afc715e303a71ae96a2d38d4d1cd3d8c6a97e1f18016635004ae1ef5208ecd3a0d93b5309b7aaee24f3d0b2661d978877c054053b9ecbab2a3540885e621e73bfb82aefe8d588e5fefa0d3550a52dffcf24b5bfa2a75d04a7b1910a3057863d447abc9b496b111e341371a14b9fdd27df9602a574dbdd294a879624014fb156135a728847f23fced4368c80f58d4fee98860cbda60f2c055c3caa00a9d2f32b2fbedb63c9d31df492886ce0ecf004f38e1a867ed9ecb3eaee0801f93d7c0f557232a58fcfde42debd5f64e7b2eafe4d767190b6bfb02dffb0187e9c1641fc37056bd257887b9cdc9c1dc388eaf10198b55b50877cc256bb22cdbd467c68f4e1ca3af20d641b6a8f56f371cde353592369f850fe45909415225d7ac29ee9050969395696ec017ed69bc8610e9eb064a3f08db0276abb99af2562c9945ab6aa4efea0b637ea2437057ad7921eab57433dac2cdfa773fbb02b1b760704d895c119a0b1b52f86ce71a216674fe91cd1f44055c64670839c3574964d08f7317dcaa25803f15447a5f9b50796c50ebda82a174b9b67a2061df56b3564aac2256b0c9bc678db6d3dc63b8d89311690307b03711d1a56ce2085437a997adf185292bb11156789787d4df588633876b8dbfae42bf1900c24e215e246fa00f20fa2ea5706c48517d524c522bfa0ca020c8e8a8cd68d5026e12fc91d00b8ee5f7d8dfbe65a4bc4c41e2071ffae10d51818a859b49dcb4f6a1a5463788efa34f4dc68e6c8ff21a7e8ad94d9455e99134c3d317e76e0aa6e81c8e66f66b1ba86c72f299fa1ce7c922a6ab03cb9c1c244e043ebc976fb1f00bd12e9c2c135450b48b2d2b082ce51c0a79a37962b1945807eb0654e96bab40ff3cf2e5bc57bd47bc2387242d4ff4e5aa3a9c8aca9cf4f0d53733ea185e92c9045ee5376ce8c51057d73811a3c02ec23721f2fcec9ff514ba98b77444f722dee4679c44c68bed3c8f963fc7cabf18414b791657565936a0b2960311fdcd79c6e8818d733bdc13e6b783cf9248eedb1a3ffccd334bb2f43b4c9e3160f129fc52e6d424a2f1d07ecd7c32aa033079e749bc3f4da3fb97f6cdcfdd2694deb506eea00e2468f0759972ebb65f6ae9bd56fc4caa3873b8d861663a335e8f9edf3cbd1feaea3c759fd2c6346603668f1a65e47b24716bf9241a8665ce68fa6be8641f821e047d63ec9a18965d405054cc19b96e97574580a4bf5b6783681808b6302533ec324d2b1c83c5bd393eb1057c106dc284e6ccbd191db9411b8775eae4c17c681007d50d04ec9da319e12f13e4c41457591774413d8d000b948ee250e05c0a1fefa03640556e1cc4cced62b81e1838d1ebcb3c7c30e27d7809f7a9566c307d5bb91ce7835d495731953b1d37fe7e0aba3014ef8d4539a3a03b57e81bf0025e8e80e10dd5b3b7ff66e88d6f7f21baad947820256a5a7342f68862f614d4a12ea0f29d99b91c8f6eb030b43cadfabc9e75600e1a13a5a0b27db80718f750a5a7bb0cd46875a27d42248c7c62854792e3e763d9bce0457e8221f6066c5db5ab960608698c431f4da949ed8b458920cc43ec279a5816141cee6557f9b3cce7b0a7e22263ec22352113f3d72a5e53fce2189eddd31323d08d778f61c103dab060e207789f47eee1b30a922b417323820df6a0ef7887b7ac002dcfdc6b6c3637ab48324dc2625200faccbff6353951c6264f7958640042fe0fff76b907626588a160acaef947aee750a8db7771d2b9cae904fc0b1db627cc42167c50073917ffc83e296842afc72095722fb327c63dbc2ff5c379155d2a7b2c274b8bb47d0353f8f5cbfe616e5f06a0a1a83a6bb6259c66f464c2e475d4f81616c21739c67b765bf3490eeb8465c48bc34f9dfa5334901976d81204b1db3c0e106ae272049661974c1352d12965fd598a0b2784db95ccd6f55a2350e68687146602bf19d87d650a151a8c37937b457d098e4e0764e4a2d2ba8c3715af35a43ebe01226fa49250a21711467fe9a5ee0141e3731def0fd3505873b3003ce1862ae88877c6a6fcb3edf85d24014a3df94946103148e1884f2300e5cb226ad7dcf0274d90086a65eb7fab94e6f3d8efca0170ba6d02fdafd210dc39b013d478969b5d0a6453933c4751fbb314366baccba71d1c0b9afe747d65b4efca28cdc3d19ad24b682e1c5d72d07651169ee8835914f916af911aad0338dea093542407851c385ef0b4034cd0f19ca0fa65225c0865c6b18fe627dc8676583f6a458c24bd7ce0b7f47a70fccf6a34d018e471200becefadd17e3e674e7bf9ebdf2b37e8c4a459505ed9161b97cbe0355fcb9b87967964317221942d804e132b2c024ddf407d10925847a8afe4e75c75a9eec58e46b845ab836717343c1db527373e34ec985dd12b7cc6d06a83752c26927d82976ad7440198e5f92cf4f1fa41c79a736d05d3b8fe552557c2fc177ba9c61259eca43f2f747fad25a0a4e82f57e5f75ac37864bdc19b658d3827934d021938a3a4d229a7d2dbf55260736c068af1d82af3745619a612c13a666bf5282dc317e4bf66c4579ebf84160fcb01e720dbbc6528aa4e1106239b4c45b5cec01b784d22499b4f43b6670212f021988c346e6f16a26051be26605212321682e4cb3694e5c013f45847b3eb529db91fe5b39e2e8da51abce5be9e98417f83328a77d84cbdf6024eaf24629f31c7af6643f4b7b8164f28f291b52e34616d3633ff28a3c8cfcc1266a1ea090033ef563f845a79938f5189802b0633068a15c097a9179ce4da0fa04d7f85ee02cafa37b1b4ebb2cd44e4aaf2a15dfd58cbd227b72c99a7b23c7192ede15664f66531cbc00ea1e81ef3cb182b9c92fe8ffaa8d7dd74ca7aadb1456fe0eb7c24fc437c5e43179910bfa0ffff08c4e402e999e9dc1b2e0aeb6bbaf40d5ef63e3b76f4c2a82fa1cf35eeb3b721ef9000f3ca4a912c8ccb5a22c7e660930d4593466f63339a4111208734e743b233cf53ac85044a896dbe351945f17523af7afe3c235be06a87e93a4fc58ea38000aee322bf1aa796dbdb29136ba9b6e8ae9c4071553e30bc70c42f5e51c2e06e67322016ae3eb44d2515fb8ed359f82a6f536e0a8a66fe1a5defb0218c9ced547fc5d2f079a7316564e5a36b528ad6504676554cc9a17f4a8ffde37015f1c464b55b8ea450f93a17969e6ebc30608dc679bb53f488dc357a25454556a8607bcc97c9b428818e8ab22363def4427875dcfcccf306766209eca1ec47712bc4cdf1ea2106332e843dedb79931155b0b7c9a201ebdbe42153dc30706004e8b414408b852f37fda5be990e58ad139afd2b1155201d0d03bb91300abc88ca37175d80334a831c322c2b8d8b27275712110163a007c4defce9de19227e95b84a5d6157982b1efabc7e2619471d667b89638986d8ba0253aa81b797d46a4f96b37d224410dba001b93d0df97c442b3369ddf50d8853dfca522d7c6813cc1a1e7d6bca558091551fefff8ac5d849f3a5a3fdc7cb9ef9b0dd5348918de3d75d797f5ff1407be89cd17212b9cd2678996bb99325fbbd50a79e44cb8325fe6fb1e805827f46c5484cf6f2da388604fdc760fb64eb390fc2c1e32429c41a1a9d78d3023e9d46527adaf15fae56125b640bf6794a530947edf54848587a7e8d9e4553d1da42644594bb503e4d563e0d768837ef1513190359fa9c24d1c21727df58b7d8fdabc328a26e77b2575b4fcdfda7b806b352cadfca5ced4a6c9894b297bb3dc8f7818ba07717e053176274eda866ec8533dc2c853ef0bee01da9b8cc74a309ab08f240a3a251655750b689739d31f4ef787294fc1391182aff7708ffb6776da1d3b35e3c62f266c2496a1e1fa0183d1313791f145d74f452f2debd67eeba1a8ce85b79086e7f97aeb7f5fbee6cec64c2f442d8f93188f5e4498a6ecefc82069e8906f9c283a4568c91418ba7563d306bdf9782095deb36765b9cddb25d839903cca5728c4be6adc26f5c4048598fda24dd0bff5f8eea5f86d883c28e333f6bc848cdd0963f25e61e7083dfb3050bd853fcded0ea8b375fae150475bcdb59bcbc8239a6add26eb208cf2ee8345df39f7500c3d5b8e9ebb9fe49ffc615c02da3f13972e2d82fd02c388b597372408be395ef03729991e8f3c1f9703b90d7b034970e8653f9b30770bd01cebb875091ef37ddacc5050588d8ad530d05324ecbf52d16bf32eba40c2290381f490bfa59e543593a35857dd8f1f67456adfb0b2b0ca4403ea5b21ead8f797e9a4d8e7f5d5a04fd3ffca5f0cb645de482a34f191d530f7684813e6c23948303217f115b6c23c8f55d47bafc8919f10a3860ea428acbe6fd7115f45eb0b6deecbda42e1b285b3dc8e32099e532b135c132ac48a2e2bb71256772a73dddfe640175d005f7f6a8a95aba81d6c57aac59e88ba05687312cc0e7a5bb632fb099d2d87b6c3ed1b1c2bb133250558d74744f3670f40b6e3106b07e7d6ccdf1923dd522b317537ca7c82b00e65f10534e9ff370341b6227b536e7490cb580315fb81231178887f9d680d4631842a6d466bafd56867f36a4e6143eea5bcd0d7bbbde970832628ecf53e9ba0f59e2d21047a87eb138ef11942aa9a6bfa3016166849a09513993c88e36e26e5c92009e33c5f95ca028410ae4e463d62ab5277da992c2041962261677574f68d888c16eaea717d5201b1f4d79eedc9103b7bd4265c25c5ed2f1b816cf06a6b907d095bc9da299a370c9e26f4ccdc07aa225f310ade94cafb2fab27c95411674378fa4ebaf83bd24dcf29f89315b60514cf2611f501569d85d233a2d62222e14a76817c610aa8d77678498a4b5c3c2b4b694f0e32ceee56193db514d2fb089806ca805d848444ee99ad16f40648d500c88ac0a8bb4eedb63b7035243d4a66165b51ae9f640c74853271b6ed63c0627b09a8e3129603b033d46ab7a7dc17af44590fc306759caab8fe53712d38edf71c4541e7a9a9d64ea1239e73f36df62ff508ebf7743bbbe5fcc12b9246bc8bcb6c921e7dd185da03655dee021e5eb1d8b82879e07b1a012310756f4e7784e56aa90f0be9cf3b843996646d9100bdf2bc6ff79033eff2ca68ac753fa64d30baf07f4827ac4e0d7785f00ad65c52dddd0c4972917342af2fc98fcfdcea004f80f781d32456135732533f736ac3499d1f469b216684c56770ea2f109912f07033be20829b597f561375b830961c4375778edc7a79804838fb7c12fe58ef96cb39bf6e0e9dc3cdb1092a544ad1c8e72f6887451d6ac68c9a137e8e227a32315c0e46677ffda45547c805d2413d726e80191c8b0e3fe0bf681ee37c9dcef4d0608b92c374f9aa1003bfe215dca37908a60db85908232865f2dd474d4e7c65caa073c7b2b733330811434f38f806e5bdbc0cc4c7f844f7f35797967c45f3287395d03f31a96eff2d1ab5aca5f69182688fede6a78c987d7866aab465b0c749f2e1ca9e424d13e8e54bbf9bfe3daf74840098ab54674b8747787b50adc2b77677ac9c58687d4be302fc0387ff2eb533f5ad28691bc956395016d3700a265e58fc828e647c205a7c187dbeb1113fcead7318c1cee21934c95b720c38808aed900406d52a6ba8819a36a2d754627774744403fb73c0372d198f0ad56239c6b35aa884f9d46efba2543188a98aee9826ae9b5d315c8b694c35c1a697d8ef42c3fb341aa59ab76bca5cb10046bbbdd737f2cb4ad819843b02eec63e32113b51d9767a8a9a855273a6836155eb4a45d59efe218b3cdc679642f54113d00a8fc279491112e284cf26dc257b228374bc302565a14486afbd6d62b026986abbf43069b24af952180595dd0d22fe98d8c92ff532871fc75f06c38cff852a52046e12fffa26b1f0c52da4d654b7fb38dbcf15634f2831cb92b5ab8690c31c57b39d2791df450bd9b2e374ec64066edc69b1ef2375d406f9bd12ef06337a65dd46f5dfd79cccdd25fa0c33a3f35b1e26547ad90f03397fabb75e1e475ea8ec01afc1ec23c2ede59193a64373be4007edac572e9c81ff89043d13e149a54e997de4a4b76c0c4e5f50a4d3f31c4e156516408680d1ce1f040ff876a49edca17ec02bde27e62902d30339d23390f583fdee2cbe101d1c52c039196244178dbc984705acaab293f22f17b5b9976caaa73bcc8f8ba9a508365b30f16b87c7124110f0e462ab5be558de7f65e3de16796aa8af2779934423c2d4b2c5e855e7d1d8a4016a5a8c1c760a5a75066e3c8379f470cccb2ce722583d0aff8eba131f5aae10e27e248f133002ea7985ce685bca5e9d4a2606085ac13553acdbfdb895f8e527a1ead278deb31afb742516199b547baecef44fab916f1a979dc98b536d66019ca6cebc3d0852f851fd1652989516f80280728631d9697db2c788b97f6722760ad94631fe496eff4556d1ccacf76cd2e7cc0d317e2269753d914f44ff1ddbc392f1ca00d987d9b7132f8d62401f86db62a2df7ad32f46898963e9afebd3f68308b22700395080d973d4eb72ba1c3e9a322047c1b7654d76055583616a3fb9a1a92b99cfb8f6449a77e587981363d3fd48e23c4186bb5cbae1792369dcbe1a054b5abd94bae27a6c86266e669321776837e808c606d8cafd75264e88ff637e192958de68ade74dc294dc02af9ff3ceeb0b17016d6b08e10c1023a1c597cc13f1b0190340c6fac22ef11399472ed2421d924a3ac27c021006e65c30381dacf1843b5c0bee82fbb23f3b37709ecb5ff3cdd98e966d73b45105c2c9cb24a77488b2f2c0434dc8d081c562dbcf84afa7b02485418fa3c6c3ee0119d3cfe4f5e3f96c3f0ac5546415cf9d58f4d1bf51e6527065a423feb584fede6bab34c0628051d206a0e5f48d506c51c62e36d5f680b6a626f1ae9e0d997b49b652693aff9203f0aa9f2104418a26538fb4d0a018541e2f66ad37a6671d4d3cdd45a58f1128a7a49e29c089bf6d25f7eb8f5f4af0074506cbbbb9a7e20e2d2e1ab59c6cb41dcc2f6df7cbfc2237c808f6e904ef0a03ec1048f445f9202d175e018f77c3618a7a9d9a6ca33454da0e4d074e7954b60d0e19a230e0782a05aa8682a7322d302a377650d56f5e0994273b0e6fe2438450b88b51d7d8fd844d514bf573319add272ada911707ee1fb1e9e8bd85506dc999494ec21946903388ab544e408e98506ac971a2d96860dd30fee5696a65354b727866baa4cd514719bf40679c05bf753da6465a33bbc691cd59331bef2482ee6d332b3b6cb1784002791391b510a299bc2f188645385f26e7d87635c852b5fbb9cca87102a5cbdb41bc6762d746ea891b75502e3929287b5fd52048658d4fabdb0950b5c729abfa0fcffb040676e7abb6144a1de76566b0c64c2e7dc88caab9518889bc9e1929e0ef91059d2c543ea1d8f438ebfa3196ed6d5c746ba9372184b6681818020cbd0d30a283f35927d33d99a2cd392c7290e26f4b905f5f07f65d3972933768050b7a1ef8637c9a0e59e024ab9008ce4bac41aa44481c7b4228937fc1e9deb523016a8cca8634516498118070100caefcd94645b3de198fa3e89cba433d8f4a3293ce17dd8276f0357c6b51542fc7e69b2412650816343d759790cdd1ec8213186f46e86835ba84659ca09f89ebdd4ca4b7cae7bdfd04b67137050009c6233c97feb7960b1f3646bff1ec4ae1082593f3646f0ea830e236669c4c3bcc33313e9e3777b025373f53d361025218b07a0446e24fd13de7ee80851caca2419418dd95817b7beac6d638e3b5edbd95fb065732785adbb0d68c299d951c12455e5c4ca95f21d120e3347e7c003f8d0b8e40bbb62c341b5aad0abf2e4f0a920d98922b94d2f3a00bacfbe6f5473c8b665f99219ad92c418572460587ddb45bd51453b855a0286eb2430a7006972cb9f0efc0be0098728fa906ef9a971a776cc50a758d110f1ae50af513f12d0b99f7b7c5192d0b17d0aefd5bed9c00524be078778a4074ee77def0749c992c41e4a02b6c1f2b881ea682a3ea565e5ac0e0661a8b9c2393d1ffa42103e3f34d3e5c42f5add80eb1318158aa00822a63e29f3d9503d5b9f7ee9f3f53f02e9ca3ee9c92e2e99e7e701922a2a7b4cff970d34045ab56bed489a9589493ebed42bcb571f98b5bf7b099f8bd2ed0b00101926534794019af4b59dce55ba1d0e2f248ff6003550a7b65e476799de2f2b90f9fbc9cf7eb1fe356038fbc71e1137d4b359fed1b15abd87f23c6706726ae1e843d692b56afdc3c7f1f43b5daa4d0418f9c95a4a19650ac24f436ee86cbf35f0c1fab085f811f67a4c75281701fe107f1dfbd286f67942c72a24b92fa5fc4e796cf23efea9b35e5cc5a2159ff79cd43117043a3651b1824887102a63c7789e0801b7a50d21bc2036e84b516fa8421f3ccd500a1f90100619feeee52e5c478d30ed69d800e7bd364419ddb593707dd202efd389b787e3a2ed1faef1008077ff9170fded58925844f0b7b704f919e9e81576eba85eeaa05f7a553b682bf4f03d05346cdeb66c36ef4933490d8c704b9567f15e1af923790b79d21aca758e3c105ec74cb74f8e953864df35d5b42b002ce9c3fe31d78207c5e9777f73a9d0b679aaee232217b6738a1fc40cb1a99d177244dd06547ee330f8ac40b85899b74a9baaa5f214e2d46709a5dde69884569e4a6d854d414c3518115637ff0d811d6fb283c5ffeea532e1b778fe1bc8d44ea8547b25101068f84f277000a1e391b2ebee45ac25370c8c9e7e08bf0cfc8866402c8adaf1658b72208ea638cdf4deb864a93c33011cfee45b141fbecd2b15445ede672c0f91e943c2a4d4ffce902ffd0c0e9dbe42f1fb535d452804b636efc4c42fa5af33ba9508aa47f63c2b52d25a54a367e1316f26d7db2ea6d80eaea9e380e2fe0398c50e36a84ffd4c2c49ac774156ad6a09b721a8bfbb390e9a702260f9d41ff7c7aafb2b6cbe3279da7e3b748ba1a2e4378e47690448bea21fbd8289419aefbbf496925eb28b814c678d91f6eeaa812e76f63edf3f716073d5766a9a5a311fb6b6dd24fac58a9d19464aafc27499ba3e6e371af0fbb212faa375b4d45612ec1741797b9b3bded0840fae1e77acd367f71ae320b45e58b7f07d19c831c2926143d135ded2ac9fd2a5e1513e042f26fcf4d35049d2d95503987525051c7133fc5215a6f571de34e4a9979ae94b4e27793299eda77d2e227fbb0abfeddc83309296774bde114fed31f8d424b59e8250611047d771dd1562482df35c2b6ca4e5d99c773be19cf13d4b1865a7f03335dbe3d399e5c055bf7d3decb962fab05992781e5722b766ad0d021519c19aed66fc92c26133c3736dbc90233897d18a847c942e13d41519810563991aa4df5f9d4e8624ab5cd8883e16b026d0f4c03b5f674e93a3f20efc6a8ea14d6076ab89d6fb8f50b4a2a13efd372cb9d0b1834a19e4de2e4dd515d4b5fed016d89a1cecf0eef59edf1bc34a083dd40355f01a152dcadafc9e0610ba931d13963c6bed3b0ba256e16b550297e1de988f8567463e233d45f7d8268297f2c456887316c47a75e87b137a376a330a86a1fe42bf9ad699da163c616b7eb06d15e4afe3b9a57f72fb2baeeddaff118c2f64fda141cd94c81a64fb4416eadc32e55e54a5e391fd9203ae1f2d349d584ece9f5a845b74396213165f4c9c484216769d4ee1d5c92a9deec02f8235e58d68aad0608674272cefb11f898a8c8aa5015a4857fb8884c212ccfb970ee7aefbc48dffbf1cb2c2ce2dcdddd9f5fecf59101331db8d2a83cfc06a83200c5f6c1f83cfd4a1227d7da1955f3dd5c209267b4cd7c07c75a678cd2abdf88e19858fc894f027db9d0611fc60d25035a7c35f0bf529208b6b6ce3bad3112d9d00188c8bd8061ee58192c9e3ee72a8fe675553e3c1da0be69b1b4b33aaf6e86717c44a406cff142b8b02ad62a8447b73ba85e6015e71aa5630a7ac0032d0a2aab314f78b280e98bab483fcf138451a288587c9b2b170eb5bed26ff04354eced0a7fc963e1f72a07c3b02a5f45f65d30ab0a1b8a7592c33a37dab3471324a72a7f9465d7be1f87e3c50b56fdad2a15701b808237bc83ba3221b86c5660e3c60bc33507bd9b19003139152a25de166f7b3a38eb6068c55d2b3c8e705e4c39cec6a50431dd0781e126172a7f23055f270ceb078fb2d91ba335e965f91059e90f43c1fffc8c27542cae579a923111d81cfdfae10b92a1b0ed14353573e9741e9be0a201e55cb944ff27fd09d6b7b84c141acd1ea3b121fc9f8dbcc7ab3b89178602168d9598001ca83ff4b92801f4c2cfdd841da52a855125695b819305e4a97abacdc78d8d4199e1512a8c5fdc505fd816d8eb1bd5471b6edf6d1ffeaf7efa77bfa7c9ec785fb4461e046e98325e6578c750d9c739e38ffe8b11ce37e5c112c9545de2b0bda7b2839a3988f02c9d45453509d5934714e65b040b6d380490700735056e6e3179756ac71f437625bd3b902b58d158613a787e56e93e674872c6867944dd32d1a870b6e7b34c46725f526d0129a0f116dd670e7f8b4dd144ffddf07a201234b83651adb8e4dc7e17d57d52d574d71bdfb435a1f22bca095beae2e6ebfcf48b20c52d16c55dc580d3544928ebc8bbfe02c324166b7c30cdfa37a4599940031e6bd7720c0a84605033fa00f02665554555f47b213fdf99955ca054ff5a6a890d5ab6fa8136ca1cb7e25a1f6de2ac21b9736460767cafa578fa76999fc3421bf2641c90d77aa7e4039ceae62322273d404d330dfa7af8b1f041e22dfd4b7aa89472a2ed1accd9e7fd8d704eba9418643610f6d71cf408813134d411f0c4c88076ec1704e602614aab391caf43c6325904fbcb5d4263823ea038eb7df6e45cbb037e1378157be35693a0db37ecbb63a9409eb6841892479f3aa02b7469396e4974cec51d5610490d7f140394713803e253cb0e34cd41de09152728fdc924017ba93184cac351ee25440ea56768d01c8c1982a57b233dbd3e24e2fb411a4e48a586178fca807eca94a9a5b66633c0a4dcc64768d780c964acb10a4a581bb5587fab45a74bc6ae0b6f68b6ee75c716abf4ccee81269934838497f28515774853f7f3e61e7bad8e382d683a17a5dd0cf4c1a633db177625ec04acc60dbe39217449ef7653247f19fd4cf6d39bf84712c69d5ef428f93778fc81ead2845d750a302d0ec35d2aad92e6005fa93c0815dfd7b2e5642379a2b4b883a39f06ce5f7c6c33bf295044a5cd4aec844af77914d79709f521b760ce0b15c0fd9aface715e0dc7d5c9815126e88f2693c32258c88caf4218314d7b23d51a7cee117dca4ce0cc3daa0a68c74d7465773e0499210da9f1366a555873f76dd7c72416454fff5cc01c14ba38e956cd1daf34417dd6d5d3392fbc9816ba0e1111bda87c7e1cf862d1bcae0de93e6b48c8e47325398d056e16f7e3bfc0d608c15bf582d8d1f017da69fd7fbc951c70c333eb12be53937f86ab011469c13b0ba92b8f2d505dd2a36651612e7b516c15a1afc44da94427d47e60d25cda65be9da750f066ca7c13cf61749d737c17d499aa1a817a364141a853ba57a053fbfdb1d47a37c3899cd1fcc8ec0f339a72c03ce486a3105eccd0813679472c05aa4652f4e530760ad67b8c0cffc6953604f1c14c210d289fd20fb4548ef5da575ddf0e461b7f80c1faffcfc23c99cd49db8943dfaed2335d38ff9cc991255251c95658ae0c8027f22437eb69a8dea1bffe677c3aa3d8fe949f68c45c2f31b4ca3d78f4716e9bc6459337fc0d0e6c5ee3e8de06ed9d40fbdc7bdcc1fdb97d15e82f8306f250bad088d81375ff7beb5fb5b9e42ff5ff03c7f63f41d75b090b7e543e92dd32dbde38fd9673bf505e1c4c02cde778ef0ddae7d4d8566129153f9a45660ce526aa33e67dd040fd83e82a6f1bfde47321cfa49dadcfcf497d9e19c75a1c81c5f3834ef0c3bfcf2e9114f1e6eebf045c449e3f8cc433fb8fc3fd3a59f5fceac6429b76b0520903954552d83d43c8b07b298be5d4f0ddfeafe201f6796d60f37ef549ce691fd06bf34ebbd8524c284a70d4085e179c610ec7a29adbdbfb72281145b813097dfa6123c629a43da6cb1faf65d8a923a0f7478e35a3de3f285b4963c613cb091341efcf2268066221e832a09ef9b0df0e62c16ac94bb91f2131adde5b868227adccd08571522a78e6b65000922a47d9b12e565de2da312e2b8e8387ea284b7ba28acc75f3908a69676a865dc6474258a926bf03da7ec0bcc5436b6fcb527ec5f083730994337ccafa033fa2ab5b6ba6aac733c0b4a747c2e4a4123292b539a09f989d7b939cb8be50866c78a757d3a6c5ae72b59a2b8759630569e741cff5e96a304c60bece2ccdc19c19e8528983463f12590916b2615f73287d4eaa7571122510a75e6afbec8949e9a8abdf89501641d14b3ea5bfd71289e8c0cef759c8bd21ebe11e336286233fe4af1b6308a80e6d4e58886269e877f18d5635763ed9fbaa119df02c98ea2d73202fe4dc3e63935e565dc308770a9623ef7a18c213d0076cd502291f4d9f70f7ec923f3c252b4d3269ef9ed816f249bbf8b23a4b34920533fce39d158e323e7702c3a90558345f359bf1431f5054ca70b56c6756de4a07e40b9dc3ce58ac67b6884018688ba766a3080664cdb0fcb3894de98608ab86e4e61e1b59f5ad3017eaf6118d83a623f883575582709b5a099c8bc2152a03cf6450e30a0c7bbb61d4d9f1fe98035763a258c22e744771e49399c057c595cfe64606c50dcd9612cd519bea9d60c6ca6795c65021bb6695baebeeb47601ff2186a88e8eafb0b9c8e918af07c670a6b2337395b96c1fa23b94a57b49644e479469f154ed3c7ce14a452df440519364caa9f834f99161ebcbe2477bb73167cea01e0ffdd2affb6a6997ee8238b3d85fa1f2fb65c741f70a9cb904be31969d34a56a0fc26f9411e4652f942557e8e388dd53b22c5b7877260ce9584a9d8a5310ff90bc8f272f0240cfc1225dce15f6dffc6496da7bdb26f48d4a33898cdd4fa802ad4bff4ef2f9c1574cf4c8414f3c48dfebd78f7d5e5f5786dc02f153968b8c51a0dc6e4a140d768e205c06decdf0ceb8c00628feb9f025033db7c2e30f2b837086a41d58dbf0bd6783073161782cd982dc153e6ab0329555ab0b80c13329fa7e4922cd297dfddc59d183412c8a412cd1d6345f5690f5667db99156ee301daa050ed4fecb1f13668bdb5bade7edc4f8ac2c8f37a414cbf808b1474f441fb171a30ce5ba5889701c3ba17382849eb60b7d55374a8b7330d17b8cf81ca4e4633bc52966bf238918dbf8ee941cd35f6dc782218b62504a7b22d0aab45f15796d0e310c97f5f9d058fc8c6fa961fa3b936dd3262ec6c492eea2a350b9a211599c993c399aea194bc21c68289d21975506d754973a804a745254aaec6baaa2d426f4d6a62e6e560e4a28abfbe1c1c3c30de5533d9f4943dca6cb200178312352c96004f4e9cc18be4d5b66deac83aca3dd2508bda5c0446d95ff4acb2690eec60fae573457b57fb18386ebdb8b18f9723dfd920d1f4f7eb5236b7df3e1a48f252c5f1af72042f793e089f2fd543e3bde9be714af4b944fb7964eba3900ab5c5a734004f27f1294821d4b1606e890fa822687c80fec16c41406caf45f4a44bbac9c4daf859afe0bcee26b0c4973ff12444d8b3b8fdd245d54be1267bec5764a666e18d90f3aab7f7312a9aac81a9d7eb1c7d3e8b4b8c9fac4304de6d051c8188b5906266ddeeac66cfd27264bd2d36f5bb469ca8271b43164b48cb1b0817113cf8ce3a5ca86be74b0230c797bef81798c4ffcd741bea150deb49b16de639a6d92fcdb6ce0567bbd95fede8bce17ea8dc2c91a8461907beee210f943e2131aa0b2cbcda0679496d1ee751dc8fc2eaf3d46903a4eb80e18743dc61f0a679a292b3965825ecde6c255a694fb0a5fb933d96e037dfba57c3ee0d2fdf521b19da275ceb4f0fd8f254c8cefae875d2b009994274a9f62b6662a5eac443030e2d5d97becbfac8da6dbea399dfca254f0e004afe4db4a7ad18006dbb734051955e6a95a284b0bfd77d5284fac200fdbb54f570025c9165cfb6337db1e0bbaa44d6070c204d8f39ee4bb14b0b6d5dbd122a29cfccfecfc707bcd5ab1baa8d2fab88a87467178d273e8d9e0be26642ac549daa0b9b421d7a6b5729dd20242d5109fd63cd3119125ec8fc4e8f5eb2d8eca30fa44560018ca58471edc8b93415420037e489ba1f31a362b2982c8f7f0c76edc3f85fe7f401b8d111c5ead6f43b688941cc8c5dd7710761a904af1a6041df96676356e88c090f53c9f66c683f9d73a9498464eb666d441f28e41ccd3469818ab9bc4a0798e380c85b2ddd6e4a5c59bf3cf0b62833c996b76883fc3a1b59621e81bf48878e417a7b23d579be209fac464f2279ce76da41d3ccd38b8883c32cd617939c4c76f4bf120a9cfddaa2bd4fbe8e716dc48ac2dc53330a18903ddf9d47a8e32a5bbb6636ac0485d104587646ac85b35017a01121bf9743ba968949ef6cf83fe73d2862e518a81fe258f7c0d18ea7b70bde46b4e4ef519017cd4644cf04ed57021f99900d8064d2a94d63b9463718fbcad9deba377a7d146fe327cf99e5100ddbcf8ce03e3b6fffae4d3cac0194da8e44b2139e9b07f3823eb07c6fb12dc64c4ef89e22d509f4fedf2fc099202c547612f5e55e81816a77b535a053f56ceb202e0dceeb539838674e29777aeec5a3612435179d1a6a2ac33677441d46e2daaaae1c9081b254e43e3be36213d693c6935bc90cde88e46245a166d9268c052cfb7ec6cf3bf3a06a41374479fb60fd3005aa3fc1ef4bdf0202643268d31cb5fc74d21d0aa841123b5738e78187204442f0dd659aa88c90f0bdc19b2681b732b085ce2e7af2fa0a18f9edc1c84744b894393599e3ac53ecf7f8db5811c99e510613ae47579c05463734ba860a221e3a18542ab907892764f143cfe6fde995c749e9924483735dd77d807a823d2df1da91e42dca6eb2ed866aeec52b440662c56a5830bc6bbb0e4a13960322901c3ea1247ac8cde8124d58403302c22068587595af356a43cafe664146e797570f91e82d763ed1830e902289e14253c9623cbbc420f334bf343fc172fb2d32e5c3db3372a939eac4e3b68b69ede43e56efd9fdf42749ab5bb4d27aaa079143ecc34c8ba623123e9e509a8ddbd23f55df55200152304120a7978a9da9ff5d9ac75799c3fcf0d85ec34427e976a4c54d31854dc318ab23bd02422a591908d990eadd8211b7cecfa7610aab920d8ba16082938f9794fd051249fe190511901407fd3bca173643073785cf01ddbd181b30b49b19efb39c05859a1a1912a228c19338d71d428aeb9815ec70b481ccef58a35b2c7d1b7daeae1ddf3b1a1a4b5fd5c3934396fb262bad106b7bf83a36d422d8efedbe45a901cc7e2784d84bd19f98fd41a07552e85c400d6c69aaaeca2b530b395e093f97262bb68c7ffdf07abddaf1c3ea890f58a7e1b902d0efce3ec3f8363ba3e0be71e14c4d7acc3eb9d5c322d6713cb037aef4302c0854696e5ba31568381d68afb28a870725b41d8617fdbf3bc025c931250f25e4573c06e3e2289dd0b02f2aa93e696ae25965b458f520731d52fe23879f724657f026dec25737cc1e4907fae3519433cbce28f1112bd81d2b08fea92f099f744d8f31db730f93c23f7513a533d8e45f0a684231ff4f0ce4c73a77b6c709112624d6da3d94a615f4127240cf3785e5f936e91ceca0c511b90487cfb91db2869fd26f1df589bc6eeab028190c2ddd00be48b46708b154124f0d004b56f205e640255c2c7b66636e2245990d5a7e1ad166454ef1564a49d83c0671d070c8a50b667ae9ebefcbb08a4f9d977ac74a7d9f93276d91261947fd318adfa715a7e411fb43e427012cffd93bca7e556af749e157f95e46bc86ddafaac2671930903da800c9296994792d392d4974969a36b2dd4b31c189bfcad6986115bb02714b078ef947888f712fc4972b4bbf558a61920c65616e60f91e0d3cbf09cf6932807bcf67d8440da32706cca29e4cb119b2c02d7c6ea8b7702ab512a464748a18356238b13aa3900f8435c385f2f553a66d21a61cbc0e7b59c93439d908bf5674e8c3375e5a51e3c28d323968b3ba6231771c6a1ba48fbe8d183bc6fbb84ec272e555eeac7f1485c57d9d249563ef346880bd1b838d95271a79d5091f241ed38f09f929bf218a88c8b622cd3f9bd483808b0a7d9ef5fcdca9aecf770d7e263c97c0550ad2fa42f46e5451f60413cebd6495d70fcd5589ef5f3e510a1b21d60c4c06a30b6d3b63f5079f6c56a1f69152e471099a212f6288358ea40c9e9d2bc00319507727d617baa6ab41e5e151ee1a9f801d00f201272abb73cde9a41e1a8d22cecdf4c08082e61282e1922553f5c3aa929f35cba2c70265bc9e44e828206fbcd7a89b155e36aaf8e585e691b0adba3a822005ad433bcfc73100c018a7836885719778bee38edf2eeaca939a8599e502bee34f454f02ab6e72b9a7a7e1244191a24b8931237a74e6d9b5a854b6c110378ff0d1e6569459fa27ee31977a650810d2935baaad8022a9d072995c8f621921177c977a122a75ae8d5e03f745235a698015eab44bb8db7b9b3746453e58e115c3dd255c3e0c099eaf396b5a2b2982f8b3cc8cc2b1192cbf98cb6f0809d068b82891c41ec814254bcfe1256b6de83ff2727e542b39e18e15d944d8e13d05c70a8fda0a3c765980ffd1fcc621a84d6e74a0dfbf4838de11b551f83608a01450741ea5e3e33c2c1e2e3ea470288cc55e74457bea50cc41c41cf3d5b72caa88854d2c3b727a871a013cf7ef610d2f6b2466a81f0519bae6e9c1ddbda6478685c0aab5f2321c730d07b342c41eb58ea50e7f90227b9ed1a9a7945514ca1496f34ce9ed74a74c28c9e496ace730a15322a32eaa14b076810589c8175fa45721b08511e1f4ef28c37bbb659971adef8e08101216a1cc0917044b396bbd77673dfdb55f89770d2b17ad4cef1d8414fc5d81e1e219e61a0a9633e842d2453d750142529298f5a2d2c05c71d997acdbc55563cb844477a4ca5c89e5a0b823cdb4fb01c3f95115d1b5ff5ab9e3f0dc0ddf467af81cce13549fb33be4c6e77e733ec93f72b1c8cea2b1c85ce6f42901a646904cf8ffb155d9464dbb33804b0e4da6ff954c42f69b1517f2308aec7a0dc4cff300764449a074f9b92064388babfcccf050ad968f6d7d5722d071d1a2227025d5a963ecf2cd63ef6de6f9d4518bcbfcff92878cfd702cd51c57ad81b7f94c65764834c03bb591ef12f485c409627ebeae99a7d26576a91e85636ddeb08cd6e4f6110ea116f3e852824346add3479a233f548464502cdd16684ed6d3e0a0b0b7f968138d072ad255e8407fcb839e4d145b6842fefddc0925027edf7b20b04661e82f4d5bd36ef9a7abeb2aea9b6dd50ca66bbbe386d8f1694ad69a2997084f9b73fe4226882c05d3c974847c6b05c0ba58967a23cc34f0ec1aa2cd8dd996c843914c602206bd04c38b41b57065d786574b585e55c35f4f16c72feed07744a9a2407450ae463805f233aa75090d1fb4a67628ed627e36159cf24a19684712b3a61d3dce154ea4905d5d070dc828db248abe3b936f8dc78ce9402ecfa44cb0b27355a964c8c19864a713ea10cd58041eec3dbd3f9f750bc4a4f440d4d0a47639b2b7b487058e47dce491082730958ebb8f77a61708bc13b854e01a85ec9ed3b2d9504c1423bdb3ff97814765084168d0cff90374103f808b6b9f70b4b37b99caa8a0b3cd9a33a28202ae1f02f87c3a64c19ec4ff1939293c7aa338dc9481963d76f22eee0069901c502019a2a9f83b9da5d3625a3c2d6f309a6ee076bcdaee2903f5114b8ad62aa7de92ca20d07388831285b9c33d2802bd068fab5957b86cd43200ca0540527ea149e558f1aa0df609b5d778ebfd39b1e4eef8affff3adf9617e4aee6ff7d0a3ed0eba65568b00e122a86df76cf28178940df4b39ef7621e14968ef0fec881903cd21760bf72075011980aa7d0a9fc724efba403608ea7ae6594acaac7bb2003cf6005a7ac68f952e5af146164497ba7566b7dc618ab70e8841cc6d470fd4190a18ca9559bc38a5e2de530c3ff9af75f8a39c80f09d950df42281aeaef699a7ba9ab22db6e97b04a9e5492122757d9c0ea47ee3484477ae1b072ad6fb811428ae9d323b81a71eba617534735e845d875326e9ed47f4688be494a2d750e39239290c50fa6b196c85cfcc9efb3cce39e86922ef2743648d59342b2839847f7cf897f380ec363ab1b7e2960e5435e30316b86d92254210c0dcdbcdcc472135d5dd06ce66c10e8536f9c0b53fada4fbd63eaf6dc176b762b34ce37f91dd084b8714d2c027badfc6656d942f280661449eb7abac819d9715e8165f6b459fb68755658464c86b47019d3262fe7c0cea5688e9ccb4f289b3c1133201113e86c485a085fd6ed5282cdb5e3e7753b8d311fa88c0013b1593ce2b986afd5ea451dc6b24a1e739c2d8213bdd59a05527d856a507799404cdb98214a41c6bce172e349e4190287f58aa5ef8a42d98f026030cdb6b504f49acba366a43001ec086c532f89754570c6db9c7a9b6c5291cf3c5dcee65331d29692c1dec1a4f7473b18cb6ba18507572ebb78197e182df20bfe07a0c4a70b3b6d4f1599a0d784e30bf2ca0e9a921beccc83939a64c1d1a1b59a72f9cf7e9f2d6ee2e9f92510081b068aaa6de8624932bff530c1088e4e5a5d7175f0eead1ae609e563f773eab27f24a7c502414ea012c08d9960a27263d3fee573420eeefff40e572859001eb0595ee318c1da1613cd1a71847db3c6d9d88841f43124b596450f0397a68e35045805410327a89cccd2c17b244c6db1d21b45a9c98d7c4fc74f739118596982edd2a57b96d3abcfb5abea04d47839632fff878cc542dd9ed10e9f61a804bd5c3f4c5ca7a5ab89026850325affa8d6d9c6eea5f71af6ea0354cca22a07edf990e9132fa3d90f8d605ece487f78f0f10515513ffa28ca7bb9e777a7e926ed44317644d1420c00576aa1b23649e9f45d5b09310ce1bc712648551749941991b3a40519d6df85553ac9ec15274d808aa0577513e168e9cfbd4bc834344ea2eba9a413a9c33ee931e44e140057806b4d3355c55bb6f4c21b9f6a2ed51c16449c735c87bb9326b1363635f78d9b0d0ea5a272a34728bf274829a14896c9c05fdb201fbb91251866ce5668cb9240f50200351788e56d6ceba5e2e39dd1e2f593af156006f9cb37fa6c37e81a9e8c358d9c9be1dcc5bdb48814c0a135cbbfb19f5f1862e17a3748212b982cd3015bdba4ad0e1e0ca69239709e42469b20db6598b71411e60d0d7f54dd254172e254a37532010590c719c574045f854d59759f43f99e7d83b1c5011569b570bda43f2d9917a764f8deaafbf671dfd6fa57a389ffe37ddb377fd6b7c833415f127d6c56a142bcdfe5649d4f8e72c67a3b42a6619d7300a1156c69446f0231908be5217aadbc092344884cd2d4bed7840728af3478ef5da77877a72daa2901ca1ce28be50a5818b1a8bc03f3771f1b4a63f3af85c409148d8338c8a266692a593a35f7c0357c0ea8ff5c2dd802619dbb0ebfd85069bc27327d054ac9f5f74c11b8e4b313796da686a1a0bd32164424a7fcae8b77cb5fdea8e35c4d965e415ea2f7db91035478a3311cdd5947f7b2339afe91b69a06ef8280659b022f6215d27e330dd653741d7eeabd65e005670bb8f5e252e78de9ce0230ae318112a1a6140d071db3bfa91c9fa56c259cf120945c82244aa6ff8805be9d4b73eac548149f50890b00c14930b28e7da63fdf33fb73196f77a6f818fcdd466e2f6393be8d4a4d85a4176a868964ce64942391bcd146dfdc5d73e6993cc6d6c6e304d4255f83151968db423bc43aa695b1e1bc17b0363a5e9ce388bf8e33494ad4e3ed4850faa4a0b399602be5f49a026227637a9d290499672eb37bbab16dad8c418d882badbc4c6d549ae7971b2ed503160fc115dc8ab268bd59016ca49d38debe077777c493ef561faf92db30f9dc576ec26ef5fe41639cf9dae06afaa1fa6dccce0bc4a0951d89abd152ad4542d57678fff0927e2718cdefcab2535cce49135407a532181f10d86fe119dfde3fd80cba4b9b0112545193fc8676957c6315111c5be95ce4ac6367f63fc05f6d092be4027376936e1b965fe710e7937738b9aff70b68192b521af8ca763b1e5ed28a648f06b5b5dcfdae63490c5581b226b89b4c5c00fef94e9e34d31854d7de54971657c545f10aca2f111c4b0f8c6306b63cd8b05ccab2b351489c7269c3b01ef1340c698a05fd276824c91feed2f3130d6e69a228e97e99555ba68183f469d0be9c0213b39335753fa4ec52596c37009abfe82f42ba8cd96b7eaf3b662dc866b79d94982ca99d53821a50e2a8c9d209a857868cb2a23d40de9fc9c8d12772a2fc67d4d287c3572e410d782af54ee8fd4512cea9da3d0a1a35f9deff9ffb65efeb7e38432d7ba495eeb047ee0d300f5104ab922bcef2d77091f2bc1e4b16bcd9be5f14db6205b87a25d3326afa280404c1c1b47ff04a246cd6f50343fee99b9a77837ebc809d25dec72cc832f9c23765e1cc6b7cb7588d17df03a7159d0092e47b1f5e5b925106b0b64d20f38a99d11a4c98bffd2b8793bc3085b95220dd33c50340967d62ab28e1480a8c61ad8cd6d49a8b5a1cc65f26bebdf59ebe16f0bbff64a708f4faa015df93a905de062adc6ba65d5ab880a7c095211e2e089647db0233a8b0206054554a52b04252fba4aae7f3ce43f60958911dcd23f3c4b201723c2df47d60586884c565214acd6a7c69da8d207ab88882aeec4db414b8807f775a9e8365489fb3918837f510c524a3c0215fc2b364a750dfb005868789b0fb08be307fbb57e397a3f48d911f1ef6c2c73a263751a3a8a9b27cf014df408eef93d139dea7b2faac4491b22c8d3003da2852f2ed54d1f44f5031fe567e627be21d58d38f16f151ca9aed5540ec830f116343f263d6c900bc04edc9f2af40a264c464d7bfb5b252a422e5b10cafcb551126243bb15d7dd09d94f279431a2d5f4bdc33ebe8422852ab01d2d3131b4c67628d46d4aaa3a5f007e913e41fae5236ca89d059cba1f4a4954d44fefd5bc7e7088a270f9fe73c3e19c2fb582438a5b39bff8b96051ef46e4ebf88820217d97597c57e1b5c91aee3316fb59cbccbe2dcdd22d90e4a2a516baadc52f9e1ce90d2a3c9f0e9567919cb6a086fe2282a404708c8d77f6543a790d190c0bc879762ae6e67350a5537f1e3f5629ba9c2f680cdb93387204fb98d3d4f7ce42fe2dbb6f36f3ddb55b634d3f01579219e615b138e3811800ec5ec8f2a99ef6caf3d43d098de4b88105b6c2e9201d770c7a24c33b86d807bef55aae2ed42223eaab6b71f8a63f60c59cabdb7865c513923704d1e40699d8cec41ab9d41e2258c52d0c3ec906c4e058249434f1c263179b5a530f0a297d2f8515039f94fd2c43ea1d039e573ae650df50a45f9b2448e54a8201ea4e158a25f383308619e2787d6fe76bd178a065d81b566150f156a550becb2c4da66492faebc81c19ceab932a28a59e7a77b16661849c08790d84cff978862a18d505ba4b627caaf1a53b1a843d256ec04ff103baeced84a6aae795d78a8110f6a7a0c85df0a4c232b49b5f9f8dc4419df35cf78f1cf8e69d83257673c95d668664153db700b2c0e434f39eb7b8aef321f8d1cd6dcefeaa01adb87b06733700c499185dba1533c61ff829829ffa5c25a41381b7b79f0cd6938a560f0e3aab8c120d3bc480d35c5b8459d34064ffeb05ac3098fd8c959312342170e7437c1d7b11e496486351821f2086678fa2c341062c0db4a9885213619527431e4604c6babc603270441ea5103732bc6241deef50af8d98fe25abaa29e24992656056730e45ece608863d950321fef9b66a84f006b85751678e749adb04e067d413c2a595e2990af208a48e25977f5419723c502451b27461f2e5854bd6b6788496981d2a7e86bd8516ab73dfffeed689dcd42f36f1740c6d811a479fb7d77c7b2d1200681b9784642827c154fdd9f5d7d152600fc4fa9684334249b2de377e0ffe5df86019b156f16d169395671d63b5061591cb5a0fa570e61edb82db8d51db4c5d18d0987a19c280089d8959f3767d8f29c8b45511dd400ef1c3ee6f35c89f404a7a2fcbf7b653157deb4ee1bbb123fa7a22f812bb062cab70232a458c1a94c02799299d8d47cfc469592cf0131ed79202821bcdb1c6b5f34172ae85ba0ff71aacfb937a7500ea5957593a8768cdc6a222b623d616d78369d1ad659837807f38771ee6aa5bad6be80f88ec5e356ad3a947794ff9d1acee838e23190b90edd143476afa7a61470c29536790b9659c51e568f466aa447cbb5899065af02432a868654ed020d319315badd3d56e3c3a3b287a71f45d2a1e22b27839ec5699cd0dace5bbc86829c7de11cf8a74f25fa58363dbec913960b0aada090ed1437fae3591f585b05579502d87997b2166b761b52ca09fee7d75cdf3a9fae233de4779f44b56c4fbd4f045e1a23be00c5f2b97a8900020e0da370732da2c9e1f5fd0b745992600c43d9a4174d0c56fd625d99dc382d8c22605f41d099eb412ac2a548566cf605f018be516961fc4a6f40d732f71032ff205e42882441d1f62d2df67997376c76b2ae8397a27d3f39af4b6c8850e9d9e8a64dc81f11715dcb59c2e7302b15768ffad2b0f707fec199b75225a3ee6b5b16cd1237e314bc1e983f72b7720226c3a8589a1f28e1e0774b3faaa6fefcabd83a5094037a775b399487e32dad7836ca74528a6566c81ee57ea2c8abb6f5f44f59bbc7be688058c42d721da693428dd9f59c6d004095fd5188cd5bb6d6d3303d33dd5f9f2278b0097408025406809be92726481064306d811e2da93a4a2a0229af7ade5e13e92b0de400a97db4198073e749e49488a751ccf57916ab2911f00278e28fa9bb41bb187ec40b9dd65ee10c3dbfbfeea5af7d7ae165f4c7788a7894b104c625bef071eb6640044ec72833ca3f8ea25a2b1f7dd5f59d96b6200eaa5bbc75c81e8a0f915b33e74a0b50e2d0858eea432390ec3d5a262a73d1e6297e12967aae488b563ed319c56bb3719991661b52f1080298456a70359b760aeeba93c66bfcbfcc44cd5ace084616d21c13e0de5250ef9048523dca9768bf660863b46e0dece62d38da4c24f79d74428f86ca9d975e6c8512c8d8a0ac6025c2ee351d5fdef79a935a72d1c3ff549d6d8e2c4a4375a70b846c60d42782d6f2b67002620ea2af905e5d54a05515331c597550fbc3a38c161edeecefb543167e0851f453b0aef0e3ba863a8f9781007a3c38e7f40c06ac7591d0e1508622151ac339c980b6b738aa8eb842f870986c59bac77fce2254cfe1327ea187bbd9544444cacd86bc6e6f92a69e53b62233ddd98cfa5eaa4aed0394ee016274444fda9440329ca91a87cba215c3b87a6d453f02f6963e5f49555cc378da123928f3727a03626c6c3891ec204121f5b698f5623a7e73f72d5aaa5e97e13b3080e0180e69a0efafc2f8cea1df840fb9ebe06bfa59045531cce9b6c6d5e455008cc7dc7b9b788d58cdec61dccac6cfd039372ffeed0cdd8eb223977690d015e56053cf9362eb4acfdddf150b83786842afa9e6dd2c023a94283c5bb75330468aaab3fd974829f2af9e2682fefd4cefe011c77f7db57bfb9317c8c2ff0c13dc515010caf603231112045c0902461e3cb988a3f8ea30fecf88a8602fc55c0f5b60b89fec9af2a9568b7f361d6b09a6bea04cbc3835244fb9c1d58ea832735891592e54a592e73d1d6e3ca94c785ad94896dd983784dfb711fd8c592346925251a05a1d9c3c358230e24bd581bee33f71f6d8a2985df3a805474689ec05191aac3b58a36e122b1a020cd4b52106f929c84ae5baf0897ec5617ad712d519acac4216efdb89f80c0eea9f0df10232a609660ec1684008e9044a2e3f6fde42cd95a62fcda280f3d5945043342f6838e35c1647dd6422e29c8c775e945bf4081a4267552eb1c0aa6d066a4b349e58d82f3cea19082a0aeb6731c51a190e1a0ede8e2013eadd939d0b26b1546b03e0eec527161d4e7eb9f89e9fc62147ba6fd42ccab2b72232a124a7fb34581db82579470a5b14048d9bb71a947d5d3c4835fa9f2e2c39f991551aeb01de32526c59cc41c7664d2cdff0a69466b162f1393c18272f553f6403edfee3ba5b74405675ded0646c5315b2d8bbf96e6edcee96182c8a1d1e05f6bf6c94519caeffc4601dfaa3b56b787792c141b249082ff49ebd6afaf22c092f30d0bccdc8bb9d2c185d7baabf76733c688cd60d0a389c65e1e2c7feea1443f26796b4202f38ff7a81c80eca26f23215474c4836749592d4ea6cd72403c6d9792b7a093941ded539e232103fd232158a0b7522191f8d8b2004903f15940660cf3f88162646c65d3d1aa11eb3fe6190329900ae0bf9d0f118f8f45b315e2ef49acb174d4816defeb2c4ec580f07d9c319feb8193321d713c3dca62a7609c0394807fc434a175bb22207a004339ed367f57ee37c9a91b10854c24ebf58c9c399c8426047a38464977a5b31b0f429db929843cc3a7403c25d31010fc985f0c1fd9547ff2288522483493a2748e2e4cc4d5e6b01e8b4f015a68df5bbd8e2692152c3925a78f12c65efff78ecd53d6b1532146dd136e5559aa02ed68419d0ca6ffd39527517e05181bea5e483a0ce1c08dd504b0762c9c72938f54f1fd6d2497b801e0e2354f8e10b3a6bb6ba5048d2d21c571089529fe3d686a6f6409832e62ad83b0b37dce51d7f3b65e67433f423a990c6dcc4cd603cb2bbffbfefc92ab5176539df4e3ea57902cb3eb382b96d677917c6272553a123992402a03170919434327093e5ddcd02a428ba5c1953bd0796eedc2b1fa6bd5573048bbf366adf509d1a39ea502ae1dafb8a6f88da4fcc7db9a951d9c27c117866121af05b5b9ab06a1c50347c47971258d1b4ed6f8a7e20f0575bedc6ca497c1588d0d2ec376fb9a0675e840d1c0a80a9cfbe4714e600a1d178b56398e071e4101923df24f68564885de8df51416040892acafd2214a596673a8c677041af4197fc7a1dc10dd1f05adb5ea446d861d4b0c0234c33381e748cabefe8e59c9cbbf39b5faab00e4c40361f9475b4b8d362979c8fcdfd16e7c01ff599d4b8cacddf44d096eb6902db15d6665ce1c9443e6f7bfb07792e4971517819e41164152aa91053694aad4dfe8f3dd244ead799687b89cee347ade4cb7ddd86bf5b13461d48295cd5cdf568ce42f24258ee15a290c3d7b5641d58fcbc004923241816bfcd99cda30d6a3616532f8ce3be6eec8eb3de6fc46d70083e19a1ff408f52de6dfbd90ab4935b69b004dba4e38d9f8a05ddde781df0db4dd96ad5e046b5d588fdbe57be6fc085a31454dcf92f54f85f18243a2be55eb063ab2f93878741bd591d3cb9b0e10fc567be03a3e1e066ccddd36180b279e553e59b73e7d6f15bb7a0ad8a241ebc278d01005c98425c1a36e8e9ec47feca5602c7bbc4249be8ba69c4fc3bbb784146e195f07ccafb4ea1809f912f2261cf35bacd358325b0be0d0cb2f2565bd6426ad9a854956e5cfeb7f768116f5723ca4bd8a5c88b2fa97569f15433683873861d95a1f74bc754dcb238a61109d7574ca6695dcf0fc6822cf5f0ce3179993ec3304f262f84e4fe1983a59536600f4c2e2ce5ef4c22ea90fda12a47a428fe0f655ef3f76baa1b2cf452e044984ecf49c30644fdc2f9d7686d9ca67e1ef2195cdd6b26535fefaf2ea0969619d50d3ed0d56f99c33dd65975a09b13fc798dc33b0d6799acd8bd28efe972680271b302652fffebd16cef077aaa6b0a85bb5a00a1b235e32995a62f528fa93c765ad351476b73ddc4ecbd54b496ef85738246bdc050fab22a8d73b4b671f687bb5ad302631fabc00d8f676382a45726fe656d93145a270361e1e7d6c76c7c8302e8d87015cff582aa173e3fa898a22fb6013905df0610f4997586c71ef69e0bdec04a1542a6a63647ac7364eb499f79d402d9f8f1bb1d5e6763b5388285fae3836f47fc68c1328cc3c2f4b14151e29468b7bee9da8a5680b8744a6560813a43408b4b9d4a409e752684d855e6d2779d97a0880d6ee72c8b27d14ccb9c5609172d8bbdb8b948dedb6c71a6d822f7c080840da2828bef00d3b1b90fa0b7d5a76eb2cf1d0ba71325f35791fd270e3c9683d457b820b8d0018097b2a592f299e77bf2160b81e963360683ab6ad08a24f3aa90ea1a682f7f0f1eadf34a4e4c708ce9e48d75304bac409cd84acf14ffbd5c8ca031a8f9199aca4b84f9975dafb03456fecfaee8be96a6ca5001e21bcf13d1aefaa5f78e52bfe42b28b3e3ee741ca68742bc6e1a0d76987676c9407411dea96e9d4ad1be17e4476d243f8a6a6f60268c43f30cc39362124d2fa2413adad7a95a9d97bee2e5927b549217175990518c5878e19c532e4e959cd16e8ebc6cf8499b6ea59be96266f84e0b0b1f0d8a102bcdda58937e21537c92f7b989a1cdb1d2fae324428392e8de2fc4bc5988d1b9125140d6889ff46729ae5fd1392ec991d9fe35ea615de786bbe04c7a32b4f3cb1ae243890a26f1161c9d9a9df66e7390fd1b754f313f7f543a400a7115941b0a925db44f0faa42478d9b3da31846d06a245dc9386e70f6cf2dd33308c356ee4356facc438b532a579566970b390bcb49bb7f62ba9029b92d2299d2f4861bf156903ef1696e45786bd96e4e9eb277a391ba21f0adb44b14c6ebe6bf60d48b0edc8127fabaea8d94f9865152f7f512ea4f556f78598cf975dbe00f65c60f478954594235a4b3ed66ab5ed355673eb2ecdb49b8995a2d8aa7840ebed9d420d8a16af9547b5cc44d89579922b96b166deb244b2d9210b1273f43ef180bfd7669502d1a84eab25ddf8bbe73cf5b38cd593ce10412fb86dc9a56c6b910da40ae0305d80c6f7871a87096f838c02821b3ddbfb5ee99ba3b21582ac31d6f5bfa1c55201a9899aa5a8befed154427aeebc9c4c9bd63006b4b827d6141213d677dc6c135c59aa3201b4e084eeee904626dd4fd4c83bee5cd90c756992f406e0015c5bdfb99d9b24a0336b9be0f4a2d1112bd385eb50a76370a2ec9ddbf1eb78cb3f7f39c416f31faa60c265a0ec52bc3b2feea52ebc7d0e62774f652c77097c2d4eab2842eed8d57314e267312f48bc777bf647f7ff920f89945e71e2f792954714ce11b12f13789fc1e4be07a10f6cd1ce82624dcedb6775ed18bf15b179c1df728ee1c0cbdf4defc7d24effbe166cfaeea8965885355453f3af59b6c35ce08a21f2b0c3e3289bee0ee6b6199c54e171a560bd4d96c76c230cb73e9ed7afb639c5825cdaa2f7e9318ffbf2e395ae1b83b37ca9c43065437213eb33ce39bb90f06303854d3dc48c8960c550a235a7164eb427246b2688cb32d2300b7e8f5d955004c1b391111bce5bdd9ddffdfbcb6532da9de6153dc617a341cb75f661f621eb5400c77703ad37652f2df0a30230bfcd0f166fe7c66895425acefbcd65ea80f540e2a8300aa52d57601db4a7efd3c32067018a72875f47e4ab07767e51c7ae2dbadd7c6c7d564301fc20b4c09b69095d36edc719ab9bd8cfa37748d0b73f044fb39f98073f029ef31da014d97f2ad4fce273a99abf235c357b6c834f26f2124565148d3e6105cf311f75b116dce6f4b02df84b856c23a2f729e9849fc3424141c0f4053b783b862594869f39a91cc32f1f3e1cd4f448c8c14b3ff86de9f28d9776e27077ff0b08c2193827ae30c5a1b50738b4638001302cf23e9b3a2a49c88f6916fca3eae61d2673a37b3df4c98671af195239086bb5b7de568d37f47e104b4d025340f54e8ff8feca0a5b24a1ba4044b97fae995ed3ba52e88e709d382e1ade18a07bad7205c3d318bc379c8b049bcae28f38851b5fafd5591430e8fef31f313e59bb1d2fc7d93aac1f44d4c0fd5b8364e8109aef5e26048e6b8373175fab8e1988ffccb8da64a9fd2f7e9dfd16c35a9c04a843b59ca8971ae609c651f6107d8c951afc282ee5cabee8ebad0fd3db1aa7ac1ccb42fbceba65b072f6a3d5ca75f1cb546d5eed3fa1e6d5ec54893b958edd03fc3636b6e5c0ce425ac161f83627ff4da9a3a7b2149108b426dc0bb4dba19f7a06dd93e4732787ad336da265ea50f61b04382ac25aba6aa0005b23ff70004963c8251909b623c05730a6915ad90fee3f38c53b846a2ef58379e7e5a6e3dae9c3ba3389b0d7b708e86878fbb471c40211fa465261fb2a0886487033daaa4b483ea5bfec632761ca9257ca8e84e9af725f6ef34e44e8cc3318910788ba3ef746eedb65e46d9755f7dca2c22b481f5358aa65ba5f5d7fe1792b07d179d43b58d3dd25212ccffe4accee7dcb9bbbac7791d998ae7600056d32dd36b76c302628dae073be12e40cd3a05d4abf71363b72c8cebb3865c7d63ae829e4a6ea3014e95870f1e7e3048117f9b926a449f2610683bafe5e3d65702e38d583289f51432b6a18058dd5308df386320239761c00f260b5db1e6500e6c3ab358c396ae4f672ef61ac43792bcedd5200cff348b0b9f468fdcf59447da1bd3084a07947debbaea407aa1b741ff6b64a217e215c36e6390eec970ae3e83c7c6f1a5b7733d0357ee26c17f7b060989fd01bc054fae5dfe6f7347ff315862e7ad4daaea6a8cf4cca094600995ad868f3a0137cde12fa8ecf33e2cd1fd1ab2bf3e246b67f36458a72b74182a832968ceb7d5cafa1b69c8852dfb1440245c6ab6fa2b7da1cc46e0a5ae59dd106e9ebdf606d9c2b50468588afd6c5610746554f8a03ae5f17e30dd089c1c91190ea290ef212940a20758cf2ddff6763b8fe50e292cf1ee77a2b237eddb5d53889edf7090195262631c8683e83b4003477ba3ce8ed6539d09abfd2eb0401ef3fbddf13ed8249c6b9273d57ee9020b3bceb26b25404e0492c9ebf2f5dfb535ae7b39b64192aa0b76ef4fa8fa275cd85e37c83d9aee5fd3b2cb0d3637fb4c4546995fe01c127e557a3261a55b45c6bfd7c1564a0d66f6a9084da8052c2cca589c808dcb6497cc0b820473532de5d9f614a19f7506cee70ded1ed863b148b5a9453f8f422d4b874915095670b8cab7761732f987ea35610afbc06e5ad714e00e8d5c7a4da49d3e99b93d6c79cbea28e25456545886efe74c9ddb530c35631e661628339277a75bb2d69bd23c697299e25eb702a6587f498bd55acfeaa5961705836b27bff9dc9a937f84276520520afd6f8fa1ad00ffa0f36b30d16c74a7639ab7b849c8e87503bcf504343f319af063ccc8e42519d8783335e53149dbe415a4f55c7b2d015a1a62d0025dfbb81eb87e7958d6b0f0620f69d6e60dffc8a5b04930664933168fdec646db74a1c504dbed983bc5c2b003c5fc018a1934388bc8837a79da5feda28c910099ade0aa214b15fe38c3ec0492ded3c4091a93eb2498bafc92b0712f3683b519db15d9bf1ebb1012214e6d83f4ffe8f94ae4468fb1092ed432688fbe42425b5ce9a53d5b4eda89adf4bf7b33927bd748ea9c802640eb8df314e7ebb6d8dc5ae8bafc1eb464c7afdb65268c28a310161828066d6c5ce14667d3bf0518b60c5fd7a69305903f460d0b62a15042bb9bce2868c552a62c61f3e4cb1b7dc3a528830a110ece8b50e4de80f720dec903b8e828d32ff1701701a62f93633d64eb948f90eb1f16b6ce74a62330565b78691feb6a911426089318d6eec3b6ce41d3cfe43604ba37a8aa40d8bd3c5d55cc10c5595a110bce18da636099e31ae6117c013d7a1a6e179d59934b9addec8bc75cec98c0c836ea04f93a820df79f6602f077ec38d84bd449c46bc323d605f83b48cc7f2158901cf74d4cb64d108f31ba647fc43726b4a7c7ed09e2bd322e605aa3a2bb72a7d9908f2b9767101081bcc617f2b756f9315f2eadce8ca6c9ca20bed855073270f1643a3fc12488f607dfba4d1a3bbd5bb4ca2f0201eb8003462761fcea7a0125343804128a5a44fe2902773fb677a601bf135cf31e83e83afe083313a1942cbf604b155b0ebbe7ff34d5c35bf5dd91d6f97e95f96ebeb82d5621d5e17b2989a879235b8499fd07fd6180fa41002107b988baebc0455ea1c39d1c737c9558f676e3e827b39dce47bfb75aeb636016c7851ac68a5adde68357daacab47007ac9ef965f47b93ab198d1d074df92617550aa8e81312d44bfee5563011232a640c570445b207bb73a9d65ebb0d20dab1d0a18389afb33f636922cb5525e4ca1b6030476c00898a8773e296e0030da71bbd2d53bb579a4e848aa3f5aa8c95af3cf3e61c1fc8a09d1124a36be5ac4f6f69d45ca760807a91627e5c155df2c305a9e4aac38f56d78030a7ed48e83e7248c4105760535c24b0f91fb43ab993ee955de08e988bf5e5b3bf954f897aa9a0d02f8c3dca80be37f54fd41696e77e69e7507c7f10c1dee9bdc9d33cdde390eb18717cc55dfdd8267f2f5b4966e48b299b299d462adc1339f8aa5064cb760ed87d858b50d93730747816c459e9ec5cd8a608a894f98db9ece38e6a623dac7dcd96a5bf59e9d62090087f9af24af22d8b5a247cd470b1a4e74706dae6b4cb6d467c812c13dc64db400ae8744baa5dff6c3803ae38a4be4f9181e9deaca98b67d7dd751bcf44022bcded0f32081c38c7579291f95b7727521570845fb539338585a03da0ea79ec3d0c77a68bd6e71e53cd316dd0cf6bc95a00c7fa8cd7e6822af1ec3555e4e9910bf1f1a19510982442ce93d74510032e8bf347f63bb7883c43301e9b497973d6cb2482dc8ae2d82b1ef2be812d7e7992b5faab3aa0a245046a8ce5d99421be48dc46d8ee8baf0881683bdb170aa6c7f5c7fd26d65b56cd7b2dc24a2b125a86aebd39146a7501db30861df6302bbb05207d0461fb454d3004b3fa520d71b508896b14350bbba5e430c2adc044b7fdb2b121c8d9e61c27384c769b6804159c06e47a43232d00b74993b3a7df3a676bcc90262bcd13720f6666195a42d8d1b8758ca57de115772f7bc0eca5c76f5416d69d131c84ca36f77561af69352faee5952d13d909f1e988bd1a432ab063e69100ced51528d89b9fdff2b0a458fb69a07dd17bee0d969da480d87a7b5d66651cea063e736d7fc347b8ebae3693511a7c0d63fd99e799148aee669fbf957b5437b03ccb5d0e26cb074a7347663da1981dc6d4d161af102e990de9fde03a625c8bfe8aaee47487d0be11fcdcde016c8ace6a6050fc9d4080ab71bb5ba16ad251b9e1b78d956bb3b070256b0a7e1e2c4ead05717381f8a1136cf0acd1516d351d9974038419c8d23a5966c4eff0133ea2d07d98110ad120174d8df2dbff90cafa9155b7f8b71a02dc287096bb2848ace0b0acd36156c2557488d20850a2d93c75ecd7f14c7deaf7554707662e9c1d7d9a1ef9041f50734f8d5fe14d5472f4067577271c2232c63fb6303ac33db8d5c52fda9bee7858b7566eab3f24e8bf3b89071cbd470990d14bda6808c9b1a47805ed558a0ff92fb963925929a8810c404c42287a394367c799030100ab030e51bd6ac36ef2886fb4de57f1cb9d08fff1a47ba926446cb00e74ac2c197af29423366d0c04e594d4fe2aed32f0380f1aed23d658c262c629bb80ca647ffc5d30828d1d46e3086a5ed377fb9b804d14e51a5a8c2e24d40cc5957243d5e8211f5573765dbd7478fb857ef5ea1dd764b232bb5eac9beafeff477b0ddfe154d8974df5aefbee5e9eb7e5d0da5c3f280634b0acef6c14a628c5bf87ef69534324174d6a6bbc1855de1e2bcb157d7e95560eb0b6317d78701d6a6de982b75b05c469115b59f6a535d32557136a5128f8b9e2aed9484be26e6903bde55807b521b40bf4de731d7affb7668f1438ba8db5758bc4a8af53372a8ccbf83616d289b3da4312e3d8f50cb745e13a739f128c2af817c37049571a78cc60218c7905118f992f604e1a1bd73d0f8bbee70b6ea06252d76c38d8d78556cddf17f6db4ae70aaa3e42ddfce4c65fbc77697ba4c04c32d436be8db30320ee3796f067ee2541237f2caaed525c54c0bff4cc03b62833b90b9b9f31e1b712ce8700306b73c447d4fdd1dfc12335c257a3374f42a34207ea23fdf5830c8ca9a0891d92931a13e1404e24bca2c5440dab1721708a38a743e668c83d1dcc9f0c272481b62314590d7f1d90cf45afa406e64b14e293655940862281cb60971e8e0d95522644288b1e60cb50347103ac50f51079745e02135c2e5dac9a3abd8931bdba53f8432080b5f2a023e18052afb750f95b443be2e04b9aef300495d9c7acbd1230350966bc7458ec7d2abd5ab807d730b341ee89c10a72bce5f894a8edc3004ea4bc53b0010f3d354ebf15ff24f39af3fba6b7c85cb4265092107f90bec2129f6bdb92fed69a8807efdc73027703e91f599916d0e23a826dbd573ca90443e7b3858d3720802b3918124d5ef50e284a23d10ceb133c6cd8ba9ee426c8830be62ed6625ec3f8f2372cec7704ed44bff55bbb1e0e31866f38c96c067fab62bc4e983e280a0580131ccee55432c44f23719faf18fda8498de62792c29846fa61c852e2254552c58c480641ef322d2b2f2159005a0d1147a856880be2763bec6a0bc25c42a4b0da8443ca676f41c21d362c80f86a93ff4af2aaeec71b575ef0c22c5449ce701f9b0d190e227965783cb9efbbfa2f9e39976c9cb8baf7aaf01a97e2fda679560cc48c2505dbf4c61c1aa009d819dcf3d3ebb854e274aa48adc3f47f2e4a2cd282faa86ca4721493c477af10d92760a39ec894d2fc90760d7ae11983db0764761afd4ae683172c313131fc7888540fc8e3d5272a3f3e02e8850f5e6868c87d4f49c77139d313345936a103eff0d48fbebaa1c118a6f699942d6f2d5880cb4994751f106a59828a94a2839fb7e222d6a3645c1a6fed33f8727f3d7135731a4294349bd81ff9864ad266f616f4b9cd3e5be280472d226c920262e5eea15c479affdba72b72a1e59f4aa9b8d149746cec4156559afbdd063afda587095697a04c803694db21aeba88a4eea992b49b1a2459b48b278a5b77f16ebd3f1b030b23ad198bc9beb2560e754778819c2c14f01b92e1f99f90cd353f38f7c2cccd514dbcf7deadd705c936e5a831903a9956c96a0641e312f65b0a0de45d82e73a96d3caae81d6cc11b7ff6c3fff44b04bf0ee086a652c5edb494e153e173739815d278216f4309550114c4a37ebc4915fe65de1befc2932186a9241d632dd783469357eb4ca16b9815813e14fe99e84498e623dcd5e421675afcfdb2221472b455833812e6c7883c279ee37cb0c7786fe1859da1da0c1c4db813151536f89bb79729c63276ceb4c6ef1e0c6cf3e0bb7998fbb84c543ead75ad9a4a00543d3123e3cd5a53dc3413ae855af450bc58963ca4cd1e93d6fd3f6fe1902fe1196b1722a3fd08ef654a731dfa0a0954aa08013329da18a5d05a129d4b617ec37f34a3880899a26c157179d72cae98fc0ba23d3d82fc6bd944fc5b5c0f1fe1012231d330077fecc5d32a72936b9da82f2315543a2560aa332595f9b1e888e4879966e9d86a5f582e4e38c07dd1b4b9314e7443623ff35cfea919ff1eddf2701d00d044d9b2c0dbb701d45f6eccf911bb7e96c1c14acb9c558704e7cea2e4d3dacba6e6bc3520981b9aab78b495d451589942ecff6e1a421ab8a25c8372be39e4ac87772392906081acce512b17e9bd956e38f53a9ce2cb1733cb000b78718965a004dee9643b3e6483ecb2e7f84ceb969e3130693d3da125e146c49f78c25b9194c6df201c1f1cc41887cc5a77da22d6b731920e9509873890616dd0c867dd9ae9d91387c64d7edba67cccf43c046786d71630c6a4ad67bebec77e120ebf1d928741e75f07c62a8ae93073fa5f1098d16c09a360b7902a500381ff6b3e9c809528b557e93888259d3189af536df3de662ec70360d19234169b40a02e523e90ed41cdcf1cad11ff6086d88ac77033348dfd3f2f5e377adf323ff6391634ff6621ea196b4f213e2e05204aa7b019fb1706a6ebc3ced031d9f24692ba104fb9fcaf117542f79e3fb5fc11ba16341e4a890997619d4c7291b80c9416754c5e9901bb337c42e5c7068c6184d0f3620d7d7b77fa301a68ab214d8198e4d773dc5acef9344addc7e6e297956059261bcd4d19249997c4cb3e862441e67fd032bb194ece04cc301f0f8b08b8171e2d5ce3389129dc03410bcf97ba0b0c4622d6bd0197e5e4be63216be4d6070f7e5f5343e5691b33c320486c3981a87b1973c0a719ddbf82354df1950b088351bcb6b42c8fd1e9faa9034961af027b10241c627d51be9d7e2cbfcc9c6dcea956be5e0931b6a41a5108583f9413c14e2e4ec7ef8f8bbf11b025fe8624189a3b36a5ea3bdc50081bf89e15d253f6283dd259208f2102452bb08008663a3e5875b9571aa63ad65380de5534cc017c1454f2a69c0a43a41dcfe9b87ddd9093b3fdd41665fc7e3be1734d5f8266d4adc6c2d9ae778315c621bcd4ab4399c312c155d9aa4fb332979b17c20d74ebbde24238d2783416b295202a2661ef30af34510881fd254c84972bfeae5dd6d579ffe7c174ae3c1f3cfcd108bf6a1d226aa69122cea7412428be1f652acca70448d531e5278134190360ff796ed1582f6c821f9e4cdfd59da15ad713c07a80c6f288329023fa05271cc3a0d506b1414f04e10c36791db8d8b59e31203ec15cbc769ece794bc3bbfede356928585d57bd013eab96c9c8aff5cf35f9eae6a02415f7f0ac38d3a5a35d1d11a7fc0c980d5c0358f9fa3c2b89ad808ff6c2f7fadca37499c963a4c073c9c5f50a8cf01098a7dd0c28810323a9e0a28597006fba47a6856e950aed162f874dec1e55a1935781226f352e1e079a6a1edb49416228599ef2d6330922a34680adfd7bf8dde8c81d8a56cd3bb981e9f480ffd2cbe67a87a298bde4200621245afe5bced4c0ac4ad9dafefed841c1bf0639ac3a2cf13a6ff7969c699b23408c7df62349e7e65534edd531cbb73096a38609ecb3c5f2e83a6086a53de7e0785883e6e6b1fbec9172ed6a9525fa01c1c83056d49b5158d705eadba441a60731c4c534c2e2c7cd74733adb89a1e310388b3c59ea6706d72f1ebaa5d731ee7bf54f4b1ccd779ecd6fbedc95ec0c51fdb7549f71fe2c943760a547883d90db9db004e7949b43c0c390bbbbb59e42abd2fd89df6659cf44ad148b2efd8cd2e3850e2652627026901eba6bb9713d49ea4deb40382f79e2e253aa44b1ed541c5eac2c0b8a1c70ba1b1a2b72aefdc7d587ba29ece2bbe2868afd67f091b37607cdf03619c8622d44d93c265d4941e87d6226d2c94d786c9ffa8f485d708992c4691980387f7baf4134cf7e0ef660c4a86151e4ad1168bf22f9c6f53caaf604ddac891fb2ed8dd1f635935cf3332e591edf7b971c68db909eac20966e971483e6f9a43db236af2c87b43d74ae7b28ddf577372d34674c0758d34fcc1a63dc5cb2eb92bfd4de7c4d910102365f080b0ce3669c82e0b86cac4ffdbbd13f6135297be4aa7d6847468b7e6ccf7ccaa0396e12c70c2af7d8904583663d6648abcf439861c5dc9a42247b7b1d54010448835d08573c79a3e8d9f16e3eaed012db3d57ba79314129d1dd68d4b6249ad311b6e5e327180a7169f39d4506841e1616778ff4ebfb92e8c6b20ab93181965c564416e266e85ca6f1fb3de8731bbb219d7092fa48d3b9debb65d69da95c50bab0061b4ba45a9e7772000cfaf75683998bf8c40cb94b2cdc6c809fedaa02b8d5b54b0732bc064ab649c1ad99cd67496308352f74fa2268ddb73a1359291b7d8ca069472a07d951f2d9f35a584a885b7dcbdfd2e2cd02105d42e2358f6b85316f0373dd6937e1683e40ce41647cf443e4c6c34ac1971b072dec7e4293719669bd3fa67d28b2caaf99fb1330f7712d00588de38f900adf085a8ce3ad5fde12cb0634ccf9a5baf4f07d0012c37ff6814be130dd69f99940f624615814d42a4f9e5003148789c3550b71330c0520b0b606a3fdb488e513c2f17a46e8fbef6c578a21893af75c8261dadd5d37f6de7ea5354138859f58668fc14c81f96d0c91be54468786cf046f6df4d79a67e3f54d32951506b2c361ceb5919025e90147f4ea2574c0ee3322ebec715da5ab5c6bc2ab63df1d15759551a42989e346d6fc1be14169acb8fb1f23c459b8a196281be0fb661ae8122d5486754bc1de01eb9eff643b0fd3856b4bafa791f817637dfa45c00a5943049e37457d99930e6744cdbf3db936570ea298a921dabfdc260da5279366f1315eb7378016b36755d1589d4d97e77b778f8ce7e323dde6fdde361141fbe8acc3c5551e9468a736cd14299fdcf293ff29697b4c65b7fef3f5acfa747eb523fc61171c4ef6a9299cf4d205ee54334fea11aae09fce1f5e55cf94d7b9d6353b464871b988bed24ede5b05b13e1a37eebeea102357cb764666a1d8019219ac3b93ac3b3a3e3d78e78dde6dc5e6725a6286865b8727bb6049680185daaa297f3569b5a659b49c1ed96457f107e84b76b9280b47cff4e97d6b98868389bd68e102c9c05e8ec4a4db2f6d985ed244b66cd3e7ab1cf950ab69cd91028ef1e8b99f22c29546b057b3ef0b617b63f75e7019f12b41a17c6db362a4c8cb46b5091325b9c055f2fd39fce49bd299185e2e773d5ec08d44c5912ac49b92f9ee359a47cf4e05f03d78640cff27907039080f4e4686fc2ece31bd6f48e62058b4b297ef746af13b1ec650909d3f57ac8b51fda25d81df5dffe11c3f7afbe10b1ab3266c9650eb94889bf90715ca566a57cf53944deeb18730461caf2cbe653abf251f9351e0fdb8655e40682cd515a3bfdce1c2d62683ace0075253afcdd2dff5c8813d45b0a5ad18225922bdd873251316016e9c3ec1e0bb6722968c4bd158ff69c7a8f1aa65d4066e4fe1da2167006522a312f1cb1f7be62012c1298d8ca9aef0714a0dd777f24fab037a847a20feaa7cd430222b0c348437074330fc673fb91e16dc762e7bf70a8cb81bbb45ee67bf7bc996d2b63cbcefbd1730a6769e4e8cc1431c27b9779fce33d9cd5c5a68e480b488c12f449d3fa13e5fbc936a6c204e54403863ae3d0dd3c75e4579d0979fa6db9e76a6979edd8120082d80c5a40e4ce76248709db89732e4930ce617822ffa513e0b9d872fbd46c0f621d3b1bbb0b809e2ea890a2de14b5b39a0209cf892322d52ca3ea88195617f1d049e1e1dc98e9bf2e4152a74d9ea89614c6f37faecda2b9b057d720911ba3f335d0053fe3598ca3843761dc25130f4074d016805c23e7a5e5e4f21e1dc15bb982c4da23b062e41d607d1fa37e61dc16de209394691b46f28935f4e267015f8abff3abf7fcc740eceeb5dcbd01e1cac83d17aa3ad1d37f7ee70a484dc2297a192a8a6caded7a1229726a000fb7ca97209a09c95b03f695dfea94b395c86c1f9f9d269c0421995a372abfde103bcf91320b29ab3f1b2938210d47e848f0ce3767b98781b3f22ab8b6c6b94863bbe4ba2b23ee076b8864352c416b5ce662dcef86d5790865dcd1e04ad57e7a3c7ff5a9d81462ea59737740a039320e596f2b1fa6660254c00bcda055e7d62f77c606443bc35d6c5378729ceddc94e2e0c4923b50fb06682986169a76fb2058dc986890f5e184535a80f8582f811c3f594c6e547d5917927753a9359c50bb4a07ce10444a8601842b6d686cfad6a43bd82e9dddcc8539c0b37b2a4c3013877c68f2a6ca052a5fb41d544eb47e510d2cb60f82723ba39daa5dd84ddbdf55760e075b650b66ae2088a7215b8e7ae780f7134af72d87381eebf729007b4e716ffd3c43b9f313495cab071f55cebe989830e41357eef7496136f474fe5ea36ce7850cff348967ca139a13087f3b34f9e839f4fb61d380075b346111ba861baf10ab2d4f19cc241be9c20b070f37fbb8c06399695e8a434fcc386e1759a77944709cdc297bb528ffd361f246a4ff0a8a0f1314af5df58ef0c8b6c8a6a30fa7eee8769e0fad8147cdc69809ca25d02468ebe1a7d888df3a995cef23cfa80d25f72ef274136ea03655d4ef66ed703bb159426d4cf968a0d615db6228d9a92e9e2b102c9a48202d7978638bb68b76effa37a33b6e3492a722b07f18281abc76c10e64879e82df8a2445e47492a5b6d3f0fc1c7ce58bf38abe0ffffd99d48c987f3ebfc5ee5eabc8925ab510bdf56c5ac49d20b0476d51ee0e281168079b7389052480cd4d97ac133018bd86f03a525af887417415bacb5520403271722acb32c1cac20b09a90d3ec44c34ee71c7302235afc1f11f2d86078e436dc86e0bf577dde54452732fe5906aafe79ce749d6478f464ad12e6f7286a47c56a9c27b24854431d26ac8aaef8ea3c7b78e51be9ca5651fcf543d418b37556a795565c852921e2e2eae9f2fcd0690fdd01c224de78c41702cc9117f586000700b6b8c4314f20b911cf5113b1fbd569318bd311707349c1b9b07d33a3c9fa96a63c06d7c1e509af9253538f314fe533a3ae74dd04507bb921c7068b74972d7a662a3edf8b1a974c380727e4717b385a5ce59a3b59b60e6faac713ee1dda79d31c089d63d6f24c0a4b591fe77272cc8d6aeb44e887ea322a3d8a72d4e6e8751e5c95c17145e460069fbe47b1d80f82f11b85e032fcd8b02a3ff5e53dbf72bb2b385449d2ebb0f3879b04709ef9753d45d06e43703a5b117ef025059ffc1b43030e3336f7129b746def4645cc637589c0d1c861438701a33c13b880c30a2cdffbd338c0a67c7bef672cdef1a1fb8916519b49945dbdca0772ada2a16cda0da2c4c2d2a22835a83f36e00022b5bc1a22e72d9457351bc8180b02ea6c489d2ffc77fdf7249569816f14fb6ad25ea101b72433327a56011fbe1777d0fdca83af44c06ebb85d882e376dac53051b58b101a578bbd1d0e5a3df358c54d8f8b2c5be9cc4ad1980cbe9ca5a466c4fe9151e7224af43edb9c98db3bbbb8f5930a1a0fde0e89ac00c6e1d8d67f05a8f42211bb0f3a4dc835196e4aa85e90844bc6d75b9acd815b6e737fa0183b4f1c54d42e054e4dcbecfe62e688c3e913864fac7899ecbd6a9d5cbcac384b23c467c57a8f685b222b91e2dbe07fbe6b74502843187e76fff5177b392a24b5d4ae5f76c961b595f719eaaf626ee51fa76914e04262e32891c152be978b158a9ca22cf9313b307cd3715187b04bae7174ada5d37c745451c7b116a601046b7638b062dddcc9f071bfed6bcf6b328fff7693651bbceb71e1134534ee694c61f19d62d7b190dc11d197a8c88134c14e041377df8b94831ca1c460fe9568ccf55d72e27cf270b64c6a422eb77d1e437090aeaa1dd537dfd105e927ad6857370bcc6f07bce7c77765b36231afc96786e5b3330b28ec414c7b139493b694bb0d050c289d2ea65a6ac03787fbe0db1d7951929323367d9142492e8b7675da57212bf7f32c2899014b91e3da95cfebc6438cc2b9dda2fac0b33a6d6b94f753c36105ad85164077bea33db614ccdae123797855a1d7174d704216afa1f17e4bc6dc57c598ff8090e3e0dabfb02a28f5cd62065cddb1fed1cb0e1fd0bd45f5b0dfcba897a9b9a826728094d5bc95eff7923aa874e10593d1aff65f68d4fc08efab9f1f8f6bd59af51b20374d5e4b67f111aad5ad678248dae89890083b5b4011354e8b9ad7cacb19903600f39defc696e0c9c172a69b887a969c3d8ea33de72eea1259df83dc928eb266094515f3701617784bc15ff232af883d7579a858541a8bbd257abb26de1b136c6aa75301acddd1ad1f861ba620d4d5cdb8a4dde0817d156f6e2a0945849d63dd108551555600193d211eea6499116d3255fb1844eb0964cd0bc641d428e51c3fdaaaa60e73c4d284db3f1b5a938c6bddfd90b0b9689d0174d88ff77a329fc8636eff2abd8e7dc4406333d2999da3b92f92c6fefb60ad3230dd100acc837b117352f0cc3d71504d1e6c7d6c170d107fcae8d94fbebf007b213cd1bb92dc96946b24e9c7fbf986d528893e522afe2619c2fe55681caa4633a23acaf4a16be13e02142887a02ca77e4be2960bd176baa49c897a4f21565f5b25801726295bc69a74471880e66f52181b9e0c46ec426fa0642e3d295b99fbec1d66c964acaf9c193cf2ef582cee56a46f81d1ec1aa4a070a9857595cad6a2b1872f423343ddc4a273c35c838690fa8973681624481e13968eaf4251dd48cf569986a6360c305dd15472f30820f96f08e9aa63e9fdcf038b620a8a65d196f15f10e732a8b2693c9a857641b66e5636ab121d1a3c2f488e9a140db71f39cefe9aff7b6a117cbb88da764d96aa35e0b7e38c0d647f49405deab41db95fcb17fcaf0ab1b7c739f994e524d7a53905302b2afb155917bd3feaba2169b8d7ab29a78710f7764190373669423c10c5197ac01efbc69dea797899412751045018c270916a8e3771b5964af8abd20077fd4da11c0cb749fbdd9964c9d9dc3b69d6c4818d3ea93141b6c0bd53d41a38b81e7b155de0c7d1f10d2ee258735d12602f36de7286c8d22c1f8af5896dde3fc444d1eeac41aa09325ccfa4694f07c0aab1de06de6ea1d5254688753e582c96b766bd9f175fcc84239d52765c67635e5c0e05d6105dcac17457a0b609320329939457e19cc1f24e0fa6e92ee3b86c7922d69aabffffc52923bb29135cc6e9307cdba6c5f31fb1c7fc88a19db6ec730074214ce92cb7245a6f6a9fdc32224e01f672a04bd5776798a4bcb388345127d53b5d6e47abf044b937e7cbd89dad9a45d76040eb7bd647226fd07105df114df421646b62d0ba19479677b08fe4b75da745156429c7b95491e755ebdbaaa997cd7cbbc69db48c2bf47454b70e04ca67365ec3282e7ff3a2bc3c56ac2f518e9538e89cfe8ebed9a2491d597a309e033c5e502c3454a067900ac29f9c465c577825ce91ee5a4ac145ac42867eac7d36a7dd4f622a60d47387547209c715af1c0b20335e2f77c992469654dd43d3e06eedd169a4e3ea1543022aae78a05891ea747dd0faeb2cca38d1026be513650c8aced8e7270609428b22e484c10d8caf16a2e1e54a9a452219f37a5c223e3e227bd49fdd25929e07f04acdbc8a22544542a1699f99dee8867b1c1ec8940126a77ee07ee141f691b0905ba0cb53839d0e4181dcfab64e147b7d0ffd3c0c6ee9588738225101e2688687596b8e2db9e6fa12d5822dfc1895d7928882bd194a6d05753bc8fd0c4966267631bb82c56859e3ab1ce726803f5ed38a2d8ffc54831504abadb429887e73a838e0bdd922fef6a351b337d4b1821d0ac198fd59f1790e771c9d2ddb46bbfd8cc39e3589538e2c90db1ef6ab2f29ccd622a859503604bf5e94106b8f47b3f6db88e68c30b501e3347a6d8b81dcc06883b1a51788d437514e45fe619665a6cc9b6352add5251ecdfb90e36253b5572b81e21ccb85d4f042fda17e34eed1244e1f1f6957d17e5a01c5d8a82a722557856dc4287e8825edc3af2308170103622c8dc1f8e6a7c729de4a18ebdfa34f73487c6af014823778a34322dcd6607ee2af309f4f8da2d161a92cc9de1d07b603ab636749237875974e0f62e20183f7c77ad15f54460340c0f9de744db07f79df85aa3511a892ed8d2b40c24d86c9469f5062c6e000178c6afd5962941de3ffd7576e42bba046af0b9fb585a9edfea28587b429e514fa62889092e07a8d389f11304ae16ef797faa1ac43f88c2fbecd6a3f8fc8090e5e34e1b8ed59a7948181d69609630c45581481db9eee543adf050169a19cc2da4e8a066c32c7f02f617d85edeb80a60fd0ed065d52dddfe9d3ec944ff0b553678b57ca25613174f14361a8305af1de72286e9576188697d96edf6f22b3720661455f12f382db32bb037975ba768471bfa522c6da09658972afbe2f37d3cea51e252ce86577b6c060c2c54c41cdfe7514dd0aa214ec69c9e0f750912cc7ff10cc57c917eabafeb18e4c217b4de98a2c3c583de093454da30ed3e8e812d3bec123a24f66b04101f29a921d1b82562ef079ea2d2849f4aa19f1d40774c63e767597dc5c1bc906ee55d57277e45dd519983a25687c1223ad50b058b642134d2c725b6e70a4098dfdb17751114d59c99e3e96031f4d67d19b877ac2b0b9e363887a03f69b5e2506145a7daf423fc71fb9319f1e5f7902fde6e0a10c94f5f6ccf5ab4ac210368da8354f14648a1471b89712923684ac9a5cec78bd0e7de0a03157335a17049d74bb0e3480902bcce373c06b7e225cdb5352329543b01b1f7a04b30df7fc84089e86ce704df2b3fa22b6cc30a27bb51eaf4ab613fee13ac02d054364822cd44b637a5de72c337f9ee4944ce601d94d0f82ac6345457062ff9a1aa8eecf1310122f307214712656d44100a16341f1fb3c2181a02c47f9819f9af778782a2d030ade3d8adc78fc0b32d7fed9df11c5111060405f2114aa31ce29e1cc0a4a919dd7b0f2deb363f4b5525b2abf9b8803bb0cfd18ae5a2c8dc1dd42178531efa392c66d93504e0c1372f3ce7e742ce4469b839ea1f64e4a4e8020b6799c3bb803b7b7257b17f2b224c980c4d03b571720ac175533396dc0b5270475fdb74db6da807ff7d0f3206eec984269ca904421dbcc101f1cbbbff22e847da3b934e51ea5b62999cd666fe56bba4c994387ced454bd043d8537e09ab79987ef378283d8e50e7bdaf640e1c9a08fbf9f1a2bd193c723753ae7ecb7bfe697f5417145766820770f498699e8569dd499a7e736bed9f10205ab71fb353bc9150039b27c610290c06d15ec4387131a8cb5ed5c45a6d2f7cd59c516027a6214d9503ee4501d5f2d94615d9d56d430d62e163fa09dffd94e59bc7ba67d89cf864bce7dd2f3d982a930fef383efb7ef1e6cf09c365281e0a9e4d204167d984afa682b6c45c4789254be1227f1c4c542db3be449b8c59dbf4d3511aed8cfb29963a55e16150ae766c70e2be6c352c419f5678c3a0ecb2cfeea641c4f9557f204af72080a3c83fdd1a9098fdae142417da8fa97911c9c8d9b3a4cdac6eb19c7ba562824018833ae0700744b391f0d4819da46309c363b3b72bda35cbd9329548550481fc00d8700207e6bbb1117a81397c05a9f4d1beeb2398dc7ea4624c0acafc5b5c85690201a97a72dce5e7e5724e602e47ed6a5925ad9613162e4b19b4a4331c415295c4b829c473712edba63689e258905ec0963db4fdb3ff398ec70a9afed6646ee2656137e2c4afc3e1064b9e2e0e9fe658613a53c4de0b004d8545567c09f0be98208773daf22548e5140ae4eeffdad1729ac6e323f4c6281caaea49d66b8890853e6267149819762de7deb11ce335cb8de2b66e18f5cb0461d8eba281ac134ffe11a0b76caf634259d1bd9cd4734acbc9c4344187aa2c5853dd2e5c0a1a428ecdef9e7b158bcd8445bf4147e95964fd28ce34715c67423a1bdc145691f913d94a6dec13b6b4463fa874d10abfb47ce2a31b64db450df6e9fdc996263dffb94b102e707d36110bccef34494dcbc4159f5909e17d66bb34513c54f01a9f9f04f6742d27b03704dd86100021315601e3668491a80b8ff4a2277ad5106c38cdbfcfd6bbec28ec3842e89970b4db3009b30f3177a2fac5adfb22cc439207f36111c59703215f7bbced8254f3b2989f152f4c3c2783041440fb3241b0b2936191cd9d22f20e0208113c458fce394ed0fad505bfc065351f02603875abed7c9983e6cc1c4410999417512ec30c7560094825a1074c063e910eb2c3ce14b562313501576de90443547e281a9cd40e2c5d766f225426d038480bd841d5826b96b059bb8729a0d480557107fd0b8060a7841686e89d870cfdceb8c764117fe4d4ef0e2103330335f0ab7dc4d97f363c74d97bfbd125a1779fec2eefbe8a6860a6019b8284420e70aad60caefbb3c458c0ef023a48d897452f18d3b98bb85eb91f7469b5dbe78a0f5181e04b54d0bc937d9124f86560e86b366d1166d50dd887fdaca1225b23cd108b509c7d56ce8686a50087ba64837f54c1efdb9c0b6d4b838eaf5dd503054be439cff63a9fa8377b7019174f4e0cb5450725cc933e4c159c868843e164b7428e3c97a1d5c5acfea901980b59ae97af2bec14d487d131f6f8b9601e12149835af9117b13c4b5d93bd1ed947e677b40444fd6a09c09bb2ec24a9509cf47c9c01ecf3b85d7bfc3c18fe39beb9863be1d38ca99c2f0319834d6b1c5f5aba3982db6f986f2f00b632f43ab395802a516efbc19002cd2780830336864f1dd003b698ddfaec533890d50f429be2c1aa2168d6ea41f4ab3417906b6d1578d062a70ffb710b68eeb7ab01452afe3f82d2f0ecaaa79cc6a3709bb3528edbf536cabfaae3597cf5cd477ff2f0b394420a92b5379fc48bb65a227b1819e85748ef17af7bccedc79522073fa389cf90c060af5fa02d703644d034c8fed8fd1777faed86921614f79e513b1bc06745b9b06cfe8a3e34127c23979ac21e4f1c3f51a91e120797d7f326dd98c8589a8d5b27fa1f81d762253cf455706617cd12faf676e4eed26653f3d62302467cb60f772a9df99532ccd69a57c024f988c5bfc9c18216036ce94f5bc8d5227a4ecc2a0cfc2c0ae03b730eb3460d7d22cf6214fb5e0d23932361bd9e904f8c85cbc210855293cc0bb4ac9ca50d4e9f68a769b23261f9a41cbe6f44f6649916ad74e1c52e37a0ca10b41d229853a938814065ae5ae8681b6bc5d06dae6f928b4270efd0b525b96258643f06627f92f3c91f29b1837dc651a0e9ca99b3bd12b682b72ff43c9245346cc6edb05a3106946a7015c651fae435c7c8d2520e2b77b624a99038d205ccad44bb2bedd10b99c611dee16f1150072862f2a23168217e2d0fb42833a3e9f9e61d9cf4ba9373c3b3593241e1bbd39bdf7013330ebf650ee49d836bcba07296cfc7aaf2b2bf71ffef58a7afeca7c1b70eccba144cc19887efc2113d60e3727025ccfc8c21b2ac0c13426271e2df8adf28ead293cac2d9c6eea917afe2152897ae65617f93bb67997153bb904b8f25f79a81cde91120f2b42b22d3aae95f6fa88b47180346b79ff6813d543f34f7260225b2c7865e48bea5bfba9d2fc8fff3a54c427836b13b16922f05eb46e99d15a52695c5265f563800607e7148bdb2edf330a910765d00492fe5f043c659847eee347c8a4c22b70d60d6a3fc74a36aabf8b35d434c9409ecf1fbc68ad1ff306df3befb6745d73a23e4c807744a9a2897ea36d3fa4fc1b18801df75d914c19d45550101728d48cbdff6a3ec7ce9468b0d3d122cdff941d235ae45f44ab93940a9c5d4e5bbea2636d9554cb20006d980277789ba7d055764e8e1e714051831eb30eb242a2aaad3da3ac8f9b6d05a4eb279b42a70cbb895174bcba04be49d721ee91b91223a5f1c55becbea79bc056fad078861d639420935cd670fe93199cfe7afba7718b584598a4ac30a2f075a5baa2796ee7928276e754d690546330d560a84f7a135d649b17e4181dbfc79ae85383fb2e352c63b3c3a97cac328b0250769c14f8f750de4c9f96714b307e60e02a4304db22640306e29ca393febc7e3ff06a59820aaeddae236d9dfb5c1bc78a48a6a5e159ded66588d6119c15337048c8cddd7d082127ee15ecc60c365b433989ca9839eab7846fd55a2a35f3f02d965e728c7598ad502d970a973cfa92260ffba89e4e2cf2ccac520b0b6b2927ede624b97278ab0dbb693fe89a4b52d77e92cd775068619365bb9f4d71ecd0a5f0f1fb9eaa0ece7dc1c4dff22362a685c86f7a04e6913517b48ae086d43f4923bd9f5473f7f5259acbafe6c625e6886e04ef8fd77f9673975442f5edc6ec53130ef720f22873f73c7c58616954189b8c6a7610310592b22b85b6747b1cb8d8cad71f9e17a30c3b6b4f6265789e9101e4cc0a5a83a234547827440651d9b235eaab4e8c05760f02081a1d0d28d70127f5cad33fe7eeccd2833e423175c40c6841e1be9c24e0f41da276d3df5b4c5589afa898e50bba141fbd0c8db9082fa5966f79075f91811b6314a957e5b9022627a7a82e56ab02726bcaf8d238b3947694aa8bc87cc8beda44a1abbcb5404aede4f13a503ce237ef981abf34bcea488e045443e7fbf6e0932e60a56392b23be92722ba2299fcb6e2ae1c4a58d2d38374d6f838c2efc96e46302064015b77343daa64e485d632806407111a71fba8da1b5d55102c44c06f2e8220749805a9a3e033627cb9034dbc48197456a8224a904b7a55057dabdf7cc6d36d31ab04bce933d1f012dc4cbf409dcf538bc36f7092f839d24a4e1aaf117a4a6bd70f450c04cad7d871d095daf9bccb98b1ef22d75fb7feca921d258c6c2d5227e4916b08b76ebab07006b5885ad886c9fd75a4d600fdcd35644807dd85983b0026a78180de56eac61f176acd446e14b3712be974c2860ece460805510488f2e5c91e7d5064e79d009c1649a6f3b4621a8074d51e827f46d532ea125fcad79713fca8db429aa784d711d2562b3c45f3bc1b8808618de25cd97ea1c2639cab974f63c444057dc466e78f11b586c6a0e7e51074181a84dd2caa6ca83c722a61e8de84d5432ad039c61af44355974dcb7cf75e46d5b19c42513086b21e2a77355106caa51bc3a31b6648b19552c2be2cb518a1ce8fc8d1925c6712589ebc4bc44ee72d85d036c294827e2d2dea21aea5410b823ecd341d2bd0d79f53a7fd48e21b6e4871fa67568c1743a82103376a6f734de548bfdb7c494f81a68da10d54314d503fd894dc1d8d8d7889049a7b5a84de9396bc15e6422209e3e1adf022a94da9ba80017e422ed5fa04e4337ad1d597d1938db2300e6119b5bb78e84efe38a380ff626476fefab3d5714ac2f42ba7dbdf541a73be4918a391b69397b7b59a0d201dc4a92d7e4485f20ff3e86577bdff0c74567b7056fc965c04b43f356bf72fe2bcec1efa387648d254fe6ec7842dce5f8d6d030033110a9173192118035d934329c34a84a566fe2ef5230bb08ff0102af8a478a1df668e1143babed0e8d1b5b471a6f52062f15f67b3151eed7740d498489703fd04464dd82377c09682e47e8e202691798e9abd73c4d8415ec122ebe50d8967ef876d5fc48a1f2c07ef5e47b44c14f57c1b9dea9655394feff51c70ce0a0e4af6477af5276c751208c7cfba07f93bf89f9924ffc64c2aff773ae25de54d4dc54b90114d66542d01dddd1c0e6c0da99ea5c84b799bcc89247e77a26399187094dbfd6c11a7cebdddd0e2aeb8e3549cf28104cbc7591c63d196889c1a9a60cb7fa6ebaaa7a4769486eadcd053714623b5adbc7f721d101cbd74a0fbc3c5c29c6b294a49a55abf71ca9c2a690ffe1ecb6e791318801700e9596de466eea5e7790ca55fab034e7769b1f037593768b894f4418f96ee77d4458a33c4f78799d8db498f8f05aa70efd714cfea3a7b68e8af94380d599586768a0bacb3e4daff6fba84153636617381acecb345d27a1eeff9c74b7917aab406ba34db8933f74e2f8f32ab6c0c49752fecd33e69d49f67b6567d315bdaa5699bfd767c5dbf092c20f95813b5b317a7e091fb701eb765e78dc278258539e36401cef0c63d00fc44cf97d66bc9ea17d418f9cf3dcbe1b0f0ed0718dd331f37eeebf483397f82ba95c13dde8d52d0d80808805d7ebf4c4b76a9f3e1dfa55b26cd42b701ca5b1e20e067b6f1df0b6e50e829ba7b18331e7a86f044219144c66149dfd4fd8809273c2915fbb8c7c2dcf739a10201cbc9c76fff1c8bbfbe4714f8ed5272829a348031fbd8c9ae0afdb6030e44a7faef551484e9080a6e0797058918487a090f650ea59fa7b9e372fd270274f4139036f1e5cef37b84db3c6a276e3ea059ef3b172820f70a91b11c64eecadf55d051ce1676640c97fe403695e95104e2ddee05bbdbc0d282ffec44eefcd0b67d0e9f731f9c8c5020d9154bc81a3816a6ea052336593face08adb41a8354f9f57e50ef32c74fb394903d48dea4689b6cfb5c910ed9e6cd3387497cbaf2dd1aee55b9d6fe8bd4f33438bd283913bef3c083a68bae00bc2e2710641e6e01db487021e66767a76b628b5172efcdf40ecc7d8c3b5794cc0f10268cd1c2d830aeba6916033ec5a23c2e551e4b492d58548f6b22a600374682542044e15e3a62ae0e4ff5cb844ec2d103efd85101ad28770b7bf483ff4c6187bc446a5f0707a9e096d7934d709ccbe0150d41e272519be49fd7b2e536f1ca483c35a7a6522981764113d5e538ea7d1277c83da6f55c33c37c5eef4ab6f345c7f1e559b01301ddd091af30b9e228e9f2efe4d00477ec240cee8fbd9449ade4848b1d49c96086d448f7453951be82b6a8f02c0339ca0da70cdcb9f4c1860b3463cdc4709524ee9435ff8756bb9e659e13e098f2d75125f7234efff2169d5345a6e2a0d0424c5d3b87a648822510ab1289b872f4ba9ff54055e757838ce6e5b6f20d06b9b3d1680800ca771b0bf170d689432cb38759b10031f3a57f9af87a95d81baba4b3c9d6ca88578a2972bb66a99ff8bb8e8b8385d911d9da95218e901baf1c53fff1d83d954b8ba135e1d63241cad94147b2c0dd864138ce05231bde81bb13ac75012600109bdbe9740a3758170891f93e90ce74ad2d538428c221c124b381d67c81b61c015bacc7388227fe47a6dba0c53b22f7b501667ab62f6a3c574873c8fae9173e2f8e1c37fd58c57062f8777dff135002af86a33a6e3be2d3e103a1eb71673637efd29cb47844f6691e73ac12158d2320717da169d791453c8051a1aa31133ad606b109e544d891f1d4bb38020f7c5c469895b09f7fdced728b9e3a073cf3ac322e2c6e4c66c6dee207471308b89fb740011500cfce384c3d16ebf349bde321bf7d063f2f48587ae5b9123351c9a4a083580a0be6941a808b539008fc5a1639e791a38ec15a828f5788a4630f58e16c358e593fc3b1ef50977916264e83016b90598f5d8563466a5512e8576738a10a0fad255821af27d0e98c7540d6d750e3a99610df6d1cafcc8962d3af8e58c4dfeb9e7b1532599c2100a0b5dbc11e0cda8bd40c3a0dc86a3d278ca3c3203905296b83ff05d31373cdc05b99702aed2f8092ee16b21fd3d192e523ef734fcae717d263b8b1eee0725f800e14d464c076b04904d49b19e3bb8ddb0aa81b3dffcc71d4db9508e04410acf2238c15246651a927905ef7e53994781c23c655c72ecae5d6d9b728516c68fcca35b160783c5130a0942f0d6436bc0ebbba973354a08762ed3f58a626e49543eff6365deb3d02115f20be24496f37d58614ed83333f2b818ccad3f8879a2c863e510cb38e7c9bf5ac6b48eb48e19cf06b00b1bb9d01b77f3aab8563e09ae9604395615ecfb0023e2efd356b8154a408dec22a25ecb087bdabf9ead07983b143f037527969584ae34162f011dd84361718e8e33fbd87567c90e62eeb340e243d205287fb7ee23fad77aa3ae8af46461cc40c411aa9ed4b36e117e351b307e6aaf46b1b9894cc6998160a18793f3fe6878f4e0a7953203c2325f8f2a779bb06122a3ec1b41a9316c82d54f2addad073c3858c431bd807def7a1be0572265da5addd41d03511f129c65808190f1b582d3ba3755d57db4d3c7b1a00877db0a0c78dc0602ed62d0daebe6bcd3854caf64aabf295b2266fee275dda4acd470e955a8547d1ffaf60eb5dd69f83a556837af6e5df39a40e40bb142cdd2ebc3607547f03809f85569df106b165a17f804f029498820a8d1e580915090b3fb7a098da7841a9bb3ce9168ec760fe560506c197d5e439641407a1d673c03084bf5f230b8368b387abc6430ca140c3794b027336556d21df686b8b3085d4f1ad5733a1d0f2379bd3431b95fda42469ceca06488c9146dfe3f9d8ee57d86ba09e1d5f623191a6990adff8a009de8136920918de110075f065eb8d474fdf75892ebb85d0c99b64b7a901a2aff77ddec4abf91b0dd7147c75d476d0f888f3db1d975b09bb306ea01fec737475396b0932ae1f4ec2f69edeae29533d5b193b70ec2a279df2a44997d62149949e2dbf28d1b20ee89950ee94d356b8003993c296e73693438df34c508547255f48af48bb7a4345911cceb7a3e2e4987722cbd5a0548f85f18d30091209cc3e2d5c625ad9b4dcc79cd7e1960d442ba3197408d9df9cba6515f9dad5aab0425efc4add67fea739d412677890dadf357cd8d2919fe5ff75e9bd8126dd533212623daf19f7c47297a5f00881d4baf0cba053590c8305e451c0e2d2b098bc632cb9a674c4243898b235cf687809fb8fbe53a563ea4ab5db0dfef82c2e5e35d0f5367901c4411f3771fa3faf0d5798a8932f82965f2f6da901669f358dcac49796e13ebb535fa1b9be8fccd8479df104d654f446b375d6d28d86a2538c105bbab8b233f39d8a0a91a50b743281548c136349ef6a0a588e63ca4b775d6e2e5a81805380b1dd276cf1afc7fb67010fdd52c4f6dedc86ec14cc54b807e5dfda0654a372f10a979fd52efb26f1b84da311cbf8986003994b500156defa9e6d9f2f500513ae6abac61832d8b0eaf8c21fcf49ab873286f05c9aa1d3cd1b920e20167c6fb95f713ffdf414b44e70c58c8a24519ec6351749ba136941b48754429d0e2715a401bddb03834d0840c98b153d894cf7eec0430c1f268c75e6eefbb34117337ba609726dd0de84ead58923f7939f658673100bf6ea85c59ac7aee5d9bab662bdb594342538b8ee021b4ae9e67b8a1560e7f694f944c50df4dd880b286bf9c6dcca075152b45698f8a2483985a29dd99bb97d24eca8f993c37d818bbfee7946756a83557083557165b9d46f1ea9ae355a02e93ddd72686f48c381cce3d6e22803d16214fe76697264419e1ae43f4e92e06f994cde36acdc4fbf614cce843c9aea433e34f62e4ebc3ca45ef0b657cc3b0d67bf9440a9ab73e6409be9d8a9662a638b668b15883af2308cf06965483aef0d0ea704d54c5cd858bb80cea27aa218a60344e9e88854b8d62ff3179f42a7fed8e5484f46b40c14e57d10b62581816bffb56139d542951af5f0c9b1daefb573928b95239c2e914ad09d6f588e3642b74e4a982c53020cf31ddf95997a32f523e8ad9ddf073bf874c4d19b26645b2e87b5a229b32d758bc113ed285f9eb823d433685ae5dcbc3215901bf9ccc0f381034a173d2ebe2c435373428fe0f5c5732ea05a873322ac95cdac5a369a8a44c9d2dcaa22fb6bfc3a50f744400387a3488316c430cd1a1d277674fb904cb560cbea31c6e58c4f5c977122a79098cafbef40acd7e68e96df8f7983b58b221c7e0e81b7f4192ab66e2d691c550809a82d937c6e2d752ca4396aec3039ae325e1f963281178e52a9c175298b850aededcab708c795e66e793b9ac8e46aeee03f73441329a2b5a957d31d3aa575f9a34343aee85b918b58fe8e094acc01e1932d8f3a3a510b0bc208578e1121c1e6c17565c10a8e5500c0eecb30c2c0bc15ac88196892560c141aca3a4384a8ed0957936652891466c4ac0d9200c648e8d9d85f46dbc64200705b4911a40864e6271ea09ccfc01b4bc78086e664e3d242418799b2bc8396eeba07972d37873aa0ec45d339379c92403599db2136d5831323531b38438fa44a8bf3922974a0802b0cc8cca7f7bd2a620939ef7c265f50470c9d3fa6a9317687f2cdf52096099e496e8073cdef48d80f7fedcd4e31d6f5ac0d360adf60612f6ff4c53622cbab3062ef0382cb418c1ea4d8bff3c5f224df0f2a1a3e243fe70561ee0acd3c407d373eeed16708edd5de914ce595efdb77465faeb0662b2fdd5126eb23b5cfffbcef1d4d492e7a001d5b03bac04bca99041eec4d085dbbd3b95d6f1f0935d46c1bef6df855143fc82d5043966a82d1415317ad38783dc0841f2aeba4fccd41c7ac5d26826854b176a0d5c97647cc5668d38130da51d1f518276871638b37e4a4b7a86f7ca471f272225eda1bfb3428033dbaecdc32fc67a1c23c75a248b7330be39e336dae1b272d82935d051217c64cedada780f6fc82368987399003145f1c6801c94282e16a4b9f53ac5bfc861695fa95cbf21590966ad3d9d76f5b6a6b5db15917fc90ae7a80f5173386b61f7157b8f2ff856bf720701b91de99d42a350acfbbd56e2f6fa4efdb0787753852db9d5ee6136b605c9cf4f1483d5439ce30dd82e37f15b3a105cee9d3d7cc0638fdb84b5d7ff91839a58712b1bb1d1f907c4fe2f3e5a50ea5d368fcdc1121561da4baa35dc7d9110cf6fa6ff0d8d349e81cc08945cf431f03dbd294819f22d9f12ff02128a27c37b5459dda302a18f02ddccd425522c4792955b165347e7615b9fac0cac7e330f34e070ed3ed889bf3eaa6bafa5e6b4f50fdb42e495733e02c3985449ab2d3f4a3dc486f2ac892572bbf338dfb09b5cacb60bf001a760937595868923680faa24b5f538550a6f89baee80500bab66c9e10fff8b18af6f6a597883b3938178374e4187eb1a5755f00bb6dff48329f6ac54e747a915def0fa634c79276107a1e234c7147bc6f38de0fe72bdb59a4388f3cb83b521464a4c423a4b408e948f6f3373bf2f8097d2a323330caf8f67c1e77a7b924434955fda33b908057c78b8fd251b890c1291aa19b469f059017e3059657c944b574036b63da2d7916de5ecee348ed577d89868a8b4cf725e3047efb111c383724b9667021b9b9041df7420b88ae48fd4b7f4cb39ddf30bba031e34ec566f656115e69bb5a890fda55da674f283d7944952c648d2aa262729037f54f4950a9067c1e8cb02f3173945b5db9e1d6f149abcd107408a86e43417337c57276f408d7dc2af04a5ea9d4074a2e4992b380655de0658fdd021451ac28957f4af4e90f80471ed0196603171fae09d5383558ef1e0dcce3c8d66525edd6fccf59cc380f444e22f7d05cadd4b256437eecccf2d64505c78f11e0a0a1e395872b9c7cbfdc8719eb833e2f6282fa91cd733ce45ba850da08e918369f75ba980b89f0249b037bcb6863f5238866084f0c6001881bc7ccb8ba214c3477fd2d641b626746519d00c227bd210e015ad272a9873d5329ac721be801e13a5632187d7a3e168f00735d9967254e2596d5c36f07ad49dfad78e16fa67728d9df911215b8ea1a7bc58e2d5f2c69d329408522577eeb63f2c1d264fd7b2cf7ebaea4cb3d83d09045380ef1c5c831318e5b499cc6777ea9297741dc67ee03e3d4c7d080bb65437850b1a907c09f930430cf6365f9d0b30a6803801db6b9c9c17e5eed72be2fee2dadcd10b6fdd02730abc6890635fda9446c37f8b4ac2c40a000914ecfe67b28804c910b1eb4b7dabb5dcc9eb3fc2560ca7a653fe478fef9d08958fce48a6aec87bd4ff43a261e7ed562bdd63e28d98b027190d6d6390aa655c0cefd5b0dfd8192952fe5bda19d1275d289f97ce5c4d79bb9fbb77f273ef5bd62e3a7fc5c10a1011cff5ef8608259fd46c25833dac33df98a3584cb0f7713b5983e81cbf5d13ba3a604b3552f91b946aa4fede18724452f68bad286bce67b81447528d602084712f9a17772fde0952b23d12cf423e188d83ae9b3b101ec6bfcec4fdda304c5ecf025fcf74ca896684e18507f99ec21329833376009e8a1f3891e6f2d3da70b5a82dfcd15439da9abcd6ab06e45ffaccc855de2ca09dd4aa2425650f6aa3a2966565a43ee3690f3fe66068c755ae03b1a6184d4974c05da15ff85518e001901426bf203a8e311f00c9ca1568f419379f9843727aed64242d077451eb7d542ab4d3616f0e1b1c48a7b4d62c5dc5bf0374c655bbce9680225a7dddb80eb3fa617e966852fc5f34c980750dd0daad2ff46728b58c34834f2411b0be980d51b20a43bde9b9529955fe7b6442efa2351522f5b22547d56fc9d980c0b274f352ea2fd79600644514e37a3b617236b956f22967f1b45499f4b3716252a02799721bc1bf225284670a00adfb0050450361a64dffecc00da12f426f5bdab2d7173ddad1687919c31c8a32ef3db270f0ca1318e72d1c56d757459d89be56d894a5136d946e5b877f0cf6103cee72fd7786af1414b11ab7d4252b2a754763cd87e24502bcb581a10025480f122c6b6ce014ca51a2e0c665645c11330f5243118c5da1d00a15523fbe836493870f692641fcb38b52e42b20b9996953424d8ac372065fd7517278aaaa299121dcff3b751c163be3165d3e89fc58a090819965ba86b11c2640444130553c5b42e26fc40f00f5261018cf7be4efa6fb777fc0598320ce7984e815dc0eaf77408260bac984a08c335a0df93f32399b352de4721218129f62f72817509b0ced193afe523321fbdce3d05c5252da468b0ded16ea24a0cdb4eeb1a302caec80471c4a1165a3cff471dece96d9fd1a435ebeb05c61a4a0d2d617ed76f5950b215db92fc084935ca6a9cc3f137f9f5167d8fcaa55c403d3b0fb59c07bce89c2c048cd0dfe5502b7936d41f00b98354243d2e20ca1fb1638fabe70c857b6f33437b673f2e09b96924f34a798ed3b838c92b6e0da967ca805d4061a14528ac4a69116d6b170a21e0e47c81a03a3ec992280a7e340822e3299a3b66486636b7eb92f62638dfd1c9f8752efa521d4c3a9b7c74ac9bcd1bcf85aabb62defaa28d1c8731cc7548d41a75ebbad3ae3d816ddfbd3a8c02b0581d76571a996fa14df164d81c93d0fd31e62344cd22e6540fb9ba492826a3fab8c6e6df3f074d3b31d58d031001586470473d80585124790000efa9a41d3265fabfaf917df8ada5a25266b8b1f297082fe13dac21b008951dc2a69fa008ca3284d16e6e201b341594be35ef88f763671a0f156a9e712e58cc52a4755e5b5de7e177654082bdeb3f3d63bc1ddc1c9a9c30ecdce4b667f835bfe114bd4f3733e4070bd93841d382d8f7eef2da9137165515bfa3ac7174f54a5145582ee2078483a0999c13ba12ee1986970230a2a7c80f56dddc4ee7776fe19cf473ff23e209ad76e757453fdb806444a1abb1e3bbaf0bb5dd33c857a08caa1cf19e9c5ae053b31e2925090f16138d2fa5722a974d8cfe1fbf00839de6c97a4601c34089bd90993c58c988d76c3b35405a909caf9fb935eb35b57fb7b7be7f3413d349dc9c7169ba0712a44f5492a196ef0705f52c1a13b704222c06b26ba2c4c7c9bbfdae6104f1643cc60eb3e14a249334fc4bbb71676673abca591df04c67c525b20484ac490d0375559dab0d7cc10e0804e191bc892caad40a6ebf8ab7d9523e7b7a058d0cfc5d441970ae92904df4de81500545dd5b0817be6e0265e2ec1a146ebb78534d4212776381b3b849ad6ce1009b9d3fdfb87e19f51e5e9449e7f03e227dae1081ab915de47079553c1de2e6b3ba75f1ed61f17cae6cfbe7c0915dfdb0c4c95953ee033f00b1ae0458ccafdf78b2438730410a4c64fee1a72eae39ccada8183a262f1a1874fd101ec116781cacb897abc3dea8601562a18cb78877b5a562fc4c619be17983619e4a87759bc5af51943a4d201a1b9c2a93049a001ac30d4f86cb6c51c5553a1fb91b04a3348315ebcda2e239582d425d61e7cc38c7d2a343ee274fd67b086b5cec232c59ea663704e5381e966302d233edc75d5f8fc3c88c3b38fea3e8687933050d6ed5c31e4d5c59e2940c0283ea5b3cc92f78170e6f75e2c4688e485b84f44147c7743494645287fb4dfc57b50c55f9d8dc613452536e8d97f9292510293de0decd6c9acd03502a82405ca311fd14bd34c3766aee13b6b33025b562609859300c105cef133b9774cafe0b1a9111c915207149b172a5fac2c86378410edc166ec2f768d02232da50bae8f65663160a1eb23259c078ea35e03e00e4f81de77bad8094dc55d5d46694a4906e45c729d86f67df06501b5570802cf00ff3db8f7ad75991e2027fef3ba21fd84e739a423642207e761eaaa5846f10a615d007ab1621bdd40585845bb3df420e33532dfeab974690343f0075617d09a170e68e5d427da8ae30860cd9f2f2504ab5265ac5050bea7f61aa69612df4b5eef1d133bdf20e8a2c6ff60c6ed49583251c5515e9fbd3f025c008533d1cb74dc14fa67cb7054504f63a045471f4025a073e773a6b2fea9b6be55fb526cf4b65dd06ec80128232bf22756dcbb745576d3e78a997e02ef19929681d7dbfde15de5bddfd8e91101c50516dc3fa89ea8b64e85b8b5d9de322d969a7f71105a58278e23776a85defbefd78d1b0eb9bb09680c709ec3b702485b74a48dd28afd84d72168e148c5f91f3b617c61eab5f201fbcb81991620019dd3daa550acaeda26536e20e3ee2992fc2b207d5ccbd06511fbcf19e63e61d591c9eb35276418c60ac6275db709cac40673eb7ea3c4d2d342f0c27d8aec6029ddc00f606e55f86631384fe412c61ef97024046ac34564483c17a3f63a4e96176dece5dbbc6938044c673d0910eb7c6d7204f3e59c4a5b027cd5f646968577b514e2ad4f1da0bcb88b1c0fbbb630697d28c45a64e9b807aa977a7e082ba114293e092ec717985deccef42c8acd170a70488cdcf077bc663c196d4c7d1cd5e35adc66fa514e6a4e20a0fedd81cd3d2cc7f0bfa76020ef6528c7da2b3adfac6de0e25094b528c2f1307a873a3449257fe9bb1463da009c2aa65e3b23c1dfc0edb07c57d1ca97fb4e6625b73b26fb6bfcbbe9b9cddbf13286fd8e58babae5318bf68725b154218f8c1a26a97b4b9b45afb70d943bb75a55648b0fb6831fab130427fbca458517e551516ce746d50bbb4e6800e85d8dd050ea43df5f06698314b7ef45028041f711fba438c0760bef443345f53aac4fb89a31707bfa38d88c8e6805207eac098f6abc14c86dcce0289d018da8ad4a47add1cf90742dc48ee9053f31b9dc2a23aa4c0ebf09d0b8b2abfd5b111f1411ca0a5d50ab078bf813f090aa93b0575a0c784fbcb77faafa95428ddb9e02a904a5e3810a899e4d75a66fc43ee30e6003e1fc987fa1ab91dcad63a5e9b9779e6f6b1d0cefeda79531e80386cfbb42027c27e6103387045ecd5ae7c64677973b2dc4ac57d715ed780894f8a4af4be3d7691bc4af4c32ff3dfde2b6ddc61144a8ed9a4794b6cf30ee4e49c83b605ba6bb7106ca95d55fab945b7595642d816f912e64b64f8763879b0e6207506e0a4b652be2698bf9ab16e5a8731b5798f7487ad09a5a5b55dc56267d38049a8e99fa052e300761cc011984f9d24c214f381cf731a606dcddf8a1286b9f845ea3f17a0ef9eb77a2f96953ac4e1073248da8ce6e62e605a92bce28ef3a19fe7f67a8b1486fa1277d5440409782c27e9ae63593491aca13dd7705eff380ca1448b3a2b6dcd25f6a0fa24576107ecbc99a8f21182d970f4e2357a3549d636447ab871e8c286138111bc84797a9a949be106ef725bfe09ae1e2e84b5af43c0849ceb3b829b0d5c66d6696fe81b9955289927e356e449669282983e18629bdd64f8e0e6b0aaf76951e218823ce5a28ac486c16e1f43f51b43d60dde2137976253f29d67221b33b961a6f4b72bb323b8b0ef7775a8edd14f240220ded036f4bea5a2f0c4be5d5d211a17a355fa84c09790199995f53ad90f7efe350c2b9559d8a9e98ae6d3131bfdef266bbf1240b987f054607918ed6042bb4c2c6c5b0b402157dc5b5f97899ecef54c3cc587a8b711c4fbd9255284a738705f520b28399c6b8d953e706ca224621ab146de1756c641263802bfe71bd3b22ddcd85ba5504e36d124b4e1b62abfcf56f9ca781ecb3fae17b9abd35940fb948a538034afc85e2a52130a6be89735382d8881b29b5598231047103a6f4b72f17420a9889311bd005ce7546d0396a05bdce9d363cd270aeb39909286663b68e3821081d39a5743bc3273ee5670120b23ed695cb0a37c0c1db5dbd73faafe30ebf1d71773c39c79f955b71288a0694195373e5f80c4e3472527e0df29ec3659d721a51a39b53faabb482332d50485db8b4d33535c138a2402f681b7537b92e7cfaeff88e85255e583ea19ff525d0ba4f36dc402b5ad923fae2000038c1c38f9becdf0bfd5b1565bf8e178ccb6fa0370c8d342d3569248ad766235cf8de1439b303741ee9f5b1f41451c182bac28ad749702f35fb1acb7628cc7094079d4cce39dbd35898502f8714d53d24b65ed2b7cb3ec88ea4dc33f4e9855aa2d2e676376f7d4153c817f0343758d21a120cce4361075f6d69b547f4cb5778c4998153f442dfee95b4807f31c67bdf693bdbf9086736cb6597ea6650dd040c8dbcaa277909d2facdd6b84b25f3d529d21d58790a6acfb777f9fbe1cc30fef41cef1eea2ebcb3169a5bf45f09ab778e591221ba46a89ea13f9854559b0d54bde88db8f741350dd33d0f399f5cda85447b832449895b0363a36fe341078246315ca6edbaaa99fd2ae8949a704e33c0bd79801be18899113d76e53bc6c4f7249538a8cd27dc9023493254dec20b05594527a09c320cf86e556bb673b0482676a5600e3f86d811dee7f841384c291ea3accec6bd27357f60ab8f1f0ddeaf2a8d5d529cf593ac8443f48f486ea3ee5802ea95e12cc509d7c31451546bd92415306a831295560aab9d034c7e38513620251a1a9f14d3dcac06dad4f13f18dc1cb3d40d17ccc63f597cdab3009a6554454cab9772e58392b5c8b58230d21d6a0be643a4d8afdeca8161d433391408f0ad3f67ead64fdff482aee402e2c10cb60795aede7c32852dfb9884caf75d8cb4a3135abe96c43978272adbaf9c084f50c1afb0276f7c228addecc52768e69aef7d81275a0c49288e72eca20064b02a3d2a5b068f5f5dae2495dd9b44353288445b102de65cb31a77ed8e6758a82c3d3dc6892e12357c90b690a60752d35147fabbf0ae77d7d19853a37ff3ca84946d5d013724b37265448b0886f86eccab3ba3d107f01362b3d142c7a34aafab90a7bfb609b66fcc8690449282b670e6c15269e7637db6f33e55d088b0c0230328481e10b47fe136d1c25422d8c5abef94eb3d99772ab131a5e70fecde4f5f72db6e56c0003e3e874a3232ad965645b0f1d1807438518ea38c348f95f88cdb80b9c0a221250e52a1675f837795a0c3108e43cd3193cb52a8bc2b075928628871757179d193c9b82b8cdb476e6058a39e78fcd4d73ee7e064c1ed3c9697fb9fefe3a3640c350fd8a9f17775a8cb21f419b1936c3d22a9c5240aa10e89ec31c77a4356344eb293e0eb02070f04d39eeb0e3bbb6a61b41707f9cf2f2d1ac45001c013113d08461f0655940e3737270f4be86f8bd3bc1196d1ead3e43d524d2830f135de09e04f3d3ffa94979d964272a8943434f421b1cd9bf1e063c62edec65d19d8bdf0273b5cf16cc96e9e7d5b7ec98a928d792879f7937d66aef996fb056a135994b7c7b79aa19674b104e8835e81494277e3f6d8274cb5f8eb7a75c64aefc98bac175f5a0ac271742da08322cf8795817f4c24531a231327faf3ce50a28152f4d8ada7e55ca0b3531f1df675efc99206cbe4589d649d296c76502f1fef4c2704e2fec9a2a08cdea78cddbb1fa6b9c38d387ecba0abea03af4e23e01ea317fa775ec3a9e2e85c27cdd425faf51cb3190fb72c8ae1e9a3b4e2500dda79ad90a9d2c03d747b8b3d29376dba317eda6cf58ad23c20faf5e41da24392eea4c2618b40df96cce2435501f30a18d3cb228ffd7ea009954323bd54cbb27c479331a48c556425571ea6382efc2a055aeba13502d4cb7b6891635c216ab4338d70094b6586a2732d4a34602cfb0a51d7022d04cd40d89d94157b7fff6882a371ba5b9cfc934569d8d7386f10973281c77e1d0c9cfdf43c6b3a79cb79b514a825e6b85b6da787daab2b3a439efb8ea409ba6bde288e4d49f95c9c4cbf103018891359ea5983b85d66614ebe1eb43f1f32865ac5d3b76c377fd441f2eb3435c7999f09ecc02209a7121c1db4ba87711a5968fa04f45053bb7f765ca604a97bc8a3475178aa03f606fdd32fc38c4947e6e4e0112324308a049a45ca62467feecf378dd868b31f449dca03ceca2b52b66ff67fdeff83de26aa8efda5bc16789b24f81c0e67d5b8975ef9acabb06135c8187dd4f411032774b62333ee3deccf1a357e31c8f8f653b91984fb96c01c2549f507950acb80feb96d5978d6dfdb3e0c2ab8d76959204bdfaff32a84b67c66e5520c891f871096c927a0f2a10a88980b3a81307c822b1747c52c05c4b410ed78db85d02a020bdb2f36e914180eb5ae2c0770369b777403be61035f6e2f002190f5e674a96e0658959f82a4c5e704d17fe0b7a0abb86dd4a8cc044fec1512ba1da37c58d8306f8575a6c291e6968efb0e8c6570885564668116e524092787720d3f87e4bfa993cc66e69f19c7150e9a91d28972e37724e1174da60dbfafb841b2eda96dba2671bd282d6cf066c395c3fc8ecebcbfd154b9bf8324cbb334a97f29bf873cd65aa1bd3c3a649cc1bd9e33ceb3fe35b83d3cbc5c2e730535083c3da20cbb3932bb93c108387f9b8225ddcc5df97e04afa134e10ad88ce6d232f2e3f753ef9c5b52457924055631ceae26b6e9f225c2929898a061f3b1b66bce38735a4531d9ae74a5907f15732648ff1224d22a9173db96b4b05d2cfcb0863f4eff4fa631c34429bf4828d9da45b810489558849dcc91ffdd870bb912e5fca1e250c7f7ad7961be8f4bec28e338cfa7bed3140e03e8d0a97ded1bddbd7ed273d7fdf50cb095716f47e32579d1a560a5fd8ec65ee8e4cbaafec3afb189e15e876290ed2b9ae17d85a53023a6bd5448f4870a3c61c4f903f479901bc83feb0851471fb55d6981fd4e15b5fb0016f9b60e9639afd185674dc9493561f2b27bd4c248bee0f1518399b3b47976d89d748ec35879fc137fa53ffbb8174313291047a2cdc9a9e2da9975be6b37a636d46289aa45ef8a20a72776edb3da711af0df8ef7e2c1a1da2df55affd6065cf84fe6a835109ef887b1372bbb86965d22d1c1f97e153fd8c695d108a5a3993aab13332e8f38a391127e102106244cbf26bccac727a0bab5e6402c547a0e8cd350a920288d68f462feb75ce5465456e13247e459d2d964cc231013cbd2e89df8ef1368c30c1a9e50d6bbbf45bf94c4634cf4f8d3f21ee0db36501616ef015b9e23b39606890672c0e384ea70664e7631ebc842a1b0581a37375280faf5926aeffd8cf8bb1a663b99d32ead8ba79b0cb2627976689ef088740bcfadd6e70b6848f1bc4c73b29e4c16a0c448dd8a60c42597f1ae9cb28c409082440be1abd65fba9943c46065287aad5d17a7d3bc9662521029d0457bb4940ce92809c15e5b7f4cb857a924ddc8f6a9c4f8d6257209889a70262831142b497d3a3bcd84226ce4cd52ae6d6f54ffeec2fc656f7ff57685011d633d477449fe51bb648cec5d2c311b978ac45df664d6798a1789b470232bba113b294fbc87ee224e4b2955fc270bc3d080b9e1fd77cbebbdae29fc24904525c6058a5a2c6c4f6f5d5680d886f63e4536e4e98db8935701ee1c013cefce4de4c40c10b6caf0c83f06e86816e79bdbed7e32e0b4ea24fd899cec43f1e7bbfe2277377b0fe8fb81db03b1d2720342ca082178c0736c379e55913f79ac523180d2004b93ad8ac227eb73cf509d777c3f37fb110b60cd4581e39f22c122f9ab2576a460cf48cf46229c3b294072ee8455556b14cb2807d65a8509d5172bdc18126aebd763a5ffa63dbcdb52b7dca3d7f974cbcd0cc899e8e3d7f4365fbad818058d37c8d3f3514dc29b7a7e0085f9d392d4b388df5fd63d274e53ef02dcb8bcd5b7b5f15d4ede208da0768a8ba93ac6b731cbefc25673c4f95850ce3de65fa59d0f973b966444f4083935add7d4a028df621fd122df1b7091b568ee0ee474983e41fc249089f6562601af25e8751fa4348a9b5409642342db3424e31ae3006cd7f9031001934895e3c49549efc0a4e406b8292fba21476e2ac4b6b77d17ea63c907d7d9f639d5eac9340408e8edcb83fb8ac06775094f6d5c60b444d7fab5bc3cddb0a8d0b9fa993c9983834c8fcc845b8544e1883c38e1a061418f56c530918d64db49b2c389555557cfc2368d11db1e392727a3e0ff6245a34227ba83103d87473c251bfb74b2f6a0a436fd931056cef5473e811b7c53af90e76c7b425abc3aaf5f16eea2c1175b940476c4c261ea253e09ae270d1757c6cc415251d1b960281d9867d561b27c1570886b515ac19f109b8676a110a5b06bf62579311921cd06be7250c05f33dc86655450c9ce1ae44af0297d15c8372be08caa2b96c8be346f25edac85a2ca5e8d7efacaaea8bcee88e199c8f94fff9a8a31fa51672ddf944b3e7396047a843192496b857adacc43422a92ccb50668f13abf506217eb6308c832e8d0bcd59977b39dce38158e5243ba3eb8e9ea972aceaed8965b43847e51593aed88bd5c3cdcf7280d72ef4202acdcb42d8244ff8bf07f9c8a9083549bf120e65dbca429521007cec762f24b4fdf69e09983d89702a072a8b0f83fb66f6ce467ae3c4163a8e30014d9248cdfae2c3c884622b6ac4c669799700e4ece5099ac7f8c8845205caa9624184562166f72ae2a8e91c49d26c6922d074dfdc57fb33912535f0db74c46afcadca46e1ba72f687961ec1d40d159aedddc8586b930f53d51ab62119f2f76bcabbd4b9685056fd61f613918030321de2b209223eb9e80cbaa18987a7206f606d981920bef01a489052064e9fbf03f9a67fd61caa04fb114db313cee70d19bf2308ddb15e9bbdcfdd74d2568eae5cb50c2e340275ed8deb3e8b3ddd289d541c1e5db9ea52d9a26963dffc244ecba45a0015d770b484d9aeabb8419e644ae4c510e65c6fd9a6622266cec5ddd02aac9ec2030f2572d3c753e165b01b1999ba4dc64679a60a0891cecc1361d80a30c7fd14302adf0d20847bbbe044af2aa9df810b3d0e3a5d20f48b8f2c250662a486be133cb504967a0b33ae72fc7fe3f66582debf6a06b22bb5ba7b7019e0a7f862ebe9e89c47320ddecc4c78f4f08c84807e5183ea9c9e2392efbac82b13716cb9f4c0b2a2ef4210237a00901c860f4d14ee8cf7191edc0236ed387f8e9c68d38a713a824811169bdd418a460cdd491c2c7ab771280cd6d620c324bc9bd2c20abbc1b953eb40204a1c283a6f17ed8d089fbc62066fff08cd3812cd9a46b6c9890cff03e91a697e1ef932a178adac8794374c7cce204460085e870e5b44b61231dd76391e3886f468d2e86ce3f27ff9bc93ae76b25cca07b04a5b689337ef76cfd4f4c793003fee8d09fdf1fd777017c4880111d3d5524787bcc656ec378b4637116ed283550938346f62c3f9cf2b0296a9115d858b5c0ea2bc0fc055c45fa4c00d25024217071b7fa4fb3790692b205175d1bad0dcaa67a0c00b27660b8c7234ccf3dfe87e9e843755969c157f50c66740897207b987b05b71055ef170ae72c22c5c1cb49d043325322c78de184d62a9e12acbd44184e42336d991d07c975e53e769670d9b9b04b07b4bd818f53246afc5ee88a73918445c9b79c1dc964aa47bb050d1f36b17c99525b9f79a4bd5b4299a2df9e009126dba0c56d075cbf615e1ebb1fab4e44b285fb1d4e171e53ab6cf10da0b6fab0d93823eb5018458245917be8646f5ed6d70cc62b33cccc0bf2074f47d79dcd814351ea337f9c6989e778dc42e6c849b9d29c743e2379c54be04d9d9cb13defd92c5778215141042234327227e806d85ab5846eb2d341e8a4cd9dd6445a6e3998ca465bc420860d3dd6854d429a35476473160d99825effe9a1a30e61da0b8e1ec6cb3f376c069dd4ffeb0764825e5ee63e28044740fbc2752b2e4fa55bf25b675613dc49f577371073c70ba32249419b8f012ab90b9409df383ca323c9f9ec4d492f145ff94574a3113436c21ce8b218c06aa59006ba6c2b4bddd4338f6a702301d149a094d1e9e96818fd2422b9e905e01db6b52b219600200e3f8cbd2af3ee97378c7ecb3a74f013881c59cffea05040c0873ccbb85503f020db5a41b50732c12c7015b70029ba57482b8ffdb75f89f3e08dcc9062bfeabbe369ca1ef9b9e4bde5c3000d4d3fdd6fe23b21a9b18c8b6420e47df05f2128ec2e1d50ddf8767f2b0888d2158c8a4a607f8f29acfb0f24ac9b1a5b9c3a153a2980202139a287971a240b8a6399ad84c27036c5d5c2e722c69842c5a91cf855f40e50a6bafb750ee1232dbd2d0afce7b5d14b930e43b385fb11df30cf5fa44eaff835224f3b8b1fff83cd840e5fd912ee64c10452c27f37d61b9e2479d88e6946ae0d708ca59f58b185d779a3745319e0a88e5c71486ed1bc9e45482a99fef135613c0144a99b9a8f6380a35ec42b49c953bd9980878af48bdb4ae7a51b7980631810bf4da42bc79b8d59bac7a5d9337236cc2165066322cdcfa52c8a5310e6abade379cef91f3930b9ff18cae3e8019fb863fd391a6e3d296cec169176d95d057ea92df456b91cbbe44614b6306569104c847f649945f71b368560781643bd285dfbb3cda52d56f63f328188b117d9a1cc669702876fc4f04c9725b7d258d442f32293d5f3a17c5342026c556feed7d8f074d3e8fe5b12977380e08699af5156cbb360af420ace09b7283b3b57995a9c57432ae4016dbc461a5d79087ecfb264bc81c17ae5c7f3644302fbd3a0972052ee800201cd8f5b27e3d38a91ec5c0ea100a58b8ca2636b3a0c0bc42a7d35d88863ef0af10f8349cc4556ee18ca284ee97a4e467366c124ee493ffe07486097ce3a51d205c7c850f4b143d6eb21059c8674a9896ca62420315d381e78d76d4b9cced8228b2b7571fe0a875975a7d8d9617de9e8286f6dedbfa48cb88c2ecf28ef8e1a9dc02f737b59c690c1782b5b3790cdb0493445ebb51d2052842e4f629ec235869a8bc93e5e3c419e5f6a6550b60d232205a1964e2a73e2ee19a90e7983a3f51f99711c7e4ce22e1030e00823f575a96ac78a2fb29ca1ecafeed21875b9f905a9e80d188064acd0186a330122cdbc5012feb1895d22e173b353c4faf3a3da785351d0e4564c6021f4ed95a0d99cf13c971ea7861b6f88b968c21f0db1879f296cef9771566f6b09fd478bba7384ca16cb9d84a5639760e5bb89e9a82ac809b4543d9edc2012b264bf7ac5a3afb6f933354e9d8228462c2b8bb536bf9c57aadb286aa7b8229d72ac275f4771dc38216ed963f1abaa40100d1d1376538149822dd814fbd52cb42a544cb86e80acd8a7188b7bab3f50180f1a6660572fef1db7a43a7b17e4bd6cc416fa9b3d414c3241483987b36f7393f6bd66f6c2712e294ad0c16291f2be3056e185a929e51728de555d3d10b5add690e45c50b86e6e010363bf7bb8a018d132bfe2b6420f11e2054310fc308c2368dff6aa29ed2f1daa613d887a4923a7eff3a83516441c5c5b88c5a3b00dad34c654c0c2afc858647a4a3eb6221cc8d0914e2a1b9b8e8e0da92b322fe52841beb7034af7cc25162cbcf97258c01c57adc5991afaf01695974367ca25ce555165dba1ce5aad0f662173f0d4f4077693acb4d1bd7da5b084dbbebbb088b2ce4b367aae640fde9eb9287be6e419fcbf9e6c3b1da545024e618836e04487e9c13e88251e0e73e6e47b7a67d4471fe975b5a0bf8c0d34b0a037e12dba954c0a9ff48a4577df227883d86bf7e081d6df302d43acd5a1998b8ed643e575bcfa8354ad15402dbe98098ffb84bffb26b95725216fceed2767e43d3460b878b209f0822c3d82cc2fcfae0e501c921a7ded543175259b7bab7cc292359f2e6589037f78887564cb549ae4d33e9747a63cfffd4f0dc261c53a19f200a28056ab219c18250297cc425ea3895fb41609055f2509d326d52f072c8f8c76d3db14a24f21a6dc6de01abc1e4fa6d01baef6bef274567b5f2e1c026c054c4d0d1f027d3e7bfd9a08a55a746bb5f78a2e76053864904a0db5ded254956622fe7ff7d236d201f5750d446a0dd234d46b61d77187328bcf727efa86ae6485ba563ac32e52ad2a36485e6b05f33115f8c47f8c9bc13a69ba0e5a1b0d6caf5049a83c28f51227e4ea8718a37d5fc0a395eddb9aeeacd01335d5bae69b257138ba810bf6dc4c466e28dc05d54fe1ff1bfec6063402f81656893e3bab26c8892f2de1e6eaf95d08d2d1311db749e55f3a8a6d086771e2045e04d937e16287070cad734505f960f670c3f8501f56c35c25f551ea85f1bf017808a6958f2014cbc4460247abe409a5a3f937d1bbab6d4c187da72c40fcfbc8c13c38527c884e9e4815d90edb3b9c32462e3018a127e826c8ab0dfbb49a7518990f1762c46d3c7e86ea125bf80eed5e157c2b816a1e67f3e1d040ddaaf15e8705a640bf24f3f41e7a5061d41ab9cbd121cc0f915d53958b6ca8309a4db8d0b00ee3d5ea9334de27eabae16cef2f82e9f4cbbbe8b2147284b70dc640f3026eefae2a002290608b2005528040461195f3f848affb61d2e4bcc1d4f29ca7cd4a17a91bdbd7c20cd962f651660399f82a75243767524cb6f11fd26fb2294eec51859389712e318abc8f3d345059343872f3ff1e2f81d72f24a0d115d06d4b23d7216aec203941a3d90a16fc89b4afd909f0503e017182b9526156a749c0c25879e2cdb1edd9899373a903c455b2dd278c0967960c7fc179b3b3e565dcfc756d16843b7152c66babfe29b63b520cafff0d002077f5bef91c676aede7d9c93cd74cf06768a32485cedef2d79fa2b3686b67f04bb1ef48b9dfff0187f91aaf583953a59e8491c7d6906401ae75b55d635f3e03163372d6544f4c2fb6cd679ae87b150cf28cdc13a1dacb1aa3de0882026cf674887dfa00e8c8af7ab5da884ff7ff118129687d05910d32801a57b566e6b8b28b05c89373eab0697dc5b1a40e886b5974ea02676f11c4d5998911eced432cd57bab39b600b2595a5b7875e2a0a35da41651957d720a02694b122cf999c015ae195202c6dd37239f0f04d12635c6c1ed04c9167013942dffd8ae073a7eac11533863484e6a741cf5f17f8c6302325763f191fc6020afd2a8214ca866024a3c0792c7ac1a00b14ab7d5b515b369c3fb0ecf6db370df1198eb3a7aa92416a57ef030edc2d407845f23e966696f1dc8a61f06e00348150ffe442c489e8115cbbc3db5ad39c1f15bae780bace454bd5f53d8824c5c484474f37a3e8d3b495c8250899e2c6aafa836edc2faab30d161550ef01b26920ffab1df9e71075e0b0d8bea738027885f5b6defaf1ddc3dcd55559e6ac2089cc7524017ab86bdc280d03e36d5e2496e91372cc0aa2b95a73e06011005903f5d238e2afc4aa00b58f30f8e946d171224eb698f694f576be58082830de9eb70980d234ee6db6278ef64686af2b280c4809f38310ea66a73fcbf04d87be49807d1746e6cc4591a9da8f2b8cc046a12e624d57a89fdc7e7c95ab0a4af989805ba20fa758707afcae250be707ee2a6171e359c3c6c3e21247362e8a11f6987ca3de97f04911d62c3b1028a4d925ba456974249d8d8ec2f3ee18a22f9907c1175fe109cc8ba9b4570128d37888f32a1e2df0d4c9c12970ccd459257bb96aafc36c3ffe42666adbd48125b3ec173cff5e75788a8b4fd40b2acafa1ffd49a5f57bbe4f02affee404849b7a8dfbcf4b3d2b0576ddf5e49ac913a7f38fb7920e43a4a593f99217de2a72f4ce4466df6d2eceb3fea57bdd595aeddca0e76a779b62ab70555dc31bb0e39638153cfe8d52cc57d5d1c2873effd8f6b57a7aa2333d8c7ba844c08036099453911b4c203ebf32fc47f0f4cbd7359217051d6fa510ed32fadf795121ff3cf0a6f2b60fcef9f83cfbf9afc3c67f679edafae7258e237658a134670dcbbd8ff23634b99b6c8fd8efacea2500c8b99e9b392ffeb40500c2e1fa971aaa348efc7792205099492161b94a3cfa95604a3ceb11b262413f3dbe2708db31ab2a05eee9d159b1af5a224c5670836bd588f30e3824c6eabbc9e58c24f1248d7c8e63b4554718d90f7902577850f337ae011bf873d13d2e44c15704e27536c96b7fb017f7774e1a66ac3a04935e8ccd0e5a76669cc7c792bbfb5b0f0681834ace6583dc7a2b0020d287816160ed4c4cdbae9c2dae5d993d2ae0d32df58fe9cf04a27a29db990a1f5158eddbe3b45bd1e04db2582ae2d3f5712ca9f0c4c14254c39210baa0a6d7fb97738f78d2401091c62646b6b96ea3b9038f0301cabe1ec3896ebc6bdf0221c8040f2695da35483c7f4283719e0a382f01d87e0c1847a5b0f8c916353e46a45ac8afb4322683220c46f1dd6eeae0573725f97a26678b22b3fb0ce77b10f87b6696b8309c86c60a3ecaaa3aec7288eca76f94fdfb3debbb849445d53ed77375e6b83447e12ab9bae27a2ccd8eb96918a5a395ad1e7c6495130af02ef691cef801387cc633015d8df90574882b203dd857d83d50461b11839f95bbe905d691e1cd09226870be250b228205ec4293dadeee61ec9dd83599004658f444ce6f2a8c76b46b5481c71adf73cc5cc7ca39f09334df3bf261ca5e772fd131b0615f1a90984566e16cf9ca61a1d0837b6225bdd75268669d00a2b94c3d6fe992de1a6a2df12df5c8f4f8f585b541d2cd3d8ed4a231160989be973827da17dd042a902f70fa71c8a32c474e79fb613e27884692393af389c015404a1bc997d071d12b6623b5442552069e0ecbc3febc563fdc7a5191879d5a44203c65eecf0404f0dbc915033cb1ae647b2468c341cd24bca6fac2a3d51416b71e872189540182f5440a282ef20dae88c2296d4fcbf7e0b4664b5f3ab00b11a7f3b4011ce0635408868f634e44feb5a8fcfe231f8f5d2f9785e416187137f408b47e3ab2894d7e3955386df3caf8ad11cc7fbc2134c5c41a40178d4e69860f6f01cb9220ef246cdb7478db8261ab89fd3e07ed7de08dc37b0b58606cab13ed37f7d0e5aeb8a228a6a44404a0ceaab7d81eccd4e2e907295d939b1ecbc6adcf04883154f7e3bb05f37b183061a2be8992297333d4262d0fd6b34d09ceaed16ca36d36a781f1d6a1034639737fe0585a47e842bc52b71b7e2b829d3dafe967152e0c333b3a5b60f1e1508971e4b411f2fa65069095c24cdb7ae51838c1084a843fcf16a026d8943e5461613f1d3449023dcf8037f68f22a0e2e0f1cf7122526efb7935be4927f724f8ef8520db4a3491d5414d8d784817fc096a6bafaa38d24983dc2aca49e799aab9503cdb51e7304f1660452c3e2786323b7bbcecd1d4a83017ef71f45339e4b0b2614ce9df6303552eda5f2d42e8cbb5c53d21991b3e7823e439ce63b32e2005be62c771b27526087f1ce6f25bc2a87a03f8fff593397972f70fcb0d6c0b2ff8feee62db0e1944a862a25175d1d3738f17b384727b8e321d3efab2a1d3ef50caecd01a714730d7ed94b31e661f421d2f027225c1c2da9a500513d5f0817283b061e48b6e74cf30b5919e5036d15bf6318d3bcea9b2e0c346d1f598828585f277f58d1fe4de6b403188c25daf18e6c9213007f2a34f2bac99f29bf20592f02e8415c489982dd04d9579c7fb5a20f7d0c9c251d61393fde0f355bcd79fc9b749515698acc50bea964f0d96575207804a6e84921c8abe6f404ca689477f6a08b64ebae62bbc801bd5516b7211c9c44dbec9aa3aff42515eefaaa24afb7a130496c483262cc1891f9d9338c8b13be2cc1da4e0343afb52345ba4370b3403f0a8584a1df065f3f159faa47cacc8892132d816b8189e30f51dd67fe5600f9fa66254c54c25e2da4531271372a8b560c530686b7158cbe513b3df9d177f9b3afd16eae9ba2aeed100a8ff76104808286e8ec79d53374a90f75ae3a30504a2a8921c8dd831ecd0f29c994045cf070852fbba53e29f97a7e3e3299a6789880e3b9860ab9a482fa734f2ac11e9c4cbb1b8138a2df50a17fcc897a98779967262612a9b3e0da7324a0d5ca7c798d3c3ed4e776651de8800d8a5c41796d94081f5a3e8f0456776bf2054fd71e8dad4f5ca37d4b95ab6f9d7588b072584c7956a1809acdfe5b0e60fe459d43696a25d8a3d2a3c52ce8b221cbc3fb5450ae7291768f187166a2c0fc8a8d587783602999457078ab2b70619c9cf7fa7804d60f3f9ce994f739ea6c99cb3391b5716df0f116706f807a58eb974e04f4c870c885edbad69bd889ef47c8e597ba113b49c4683e13d8c254d2ee413365278d1fb5227b07dd3b49ba36a8eddd9c0d4925726814b38aa67e3479b2a460013513e57345e08ceca431b82033f9fa826b9ca62ce3ede9187df3a46d245bb4bc108d7bcb381f1a73fbd4003dd682b320eabc711267903aa36b2cfa04880f9025da5870fa6338da0e7e46e2982438d29a64df037d91debdc4657ff54e89748d8683386af29a53adc5af506ed8d7abfefc131fa1deb879d4da864caa19a29fa7767d5624e0c291618c8ea2d5b684c5ab55eda177c0838d0c40ecf7dc36936702b9dea3f9ed0eaf6c5cb28b85ddf0519596b53431a559d908a42bbc3bd89068a6a4d5bafaea17325d4281a476dc1c4f2ea3f3bb12bc4d7a4145c028fa88d0aace0e7a092f229f453e3f608d7ab8368a35e8a9ff65f671d2e729c2a3da64695f8eef1847fdcf438e9c51f91754cb3e4d60f410bebb28487825ba9105b11e04a7488062303bf203327b9dd5250dce7315b14cd77ff23f924bd88cde1669564ce91c85dbe30691a4b817c4bf4b25f3046c3fb172e0ecde933e48fd678cff79227a5a33df7612ef75a7da949c1cf1ff0be24718ca122bbc97b582d1a41026774b105219f0a8288e938879bda390324b7937e3882008b077af7a44baff99bd917865728ab99a718c757275f75ba0fc6392a232a5a5333211bf62ee243197f7ebab7b6859c814c02d26a021ab3276015c074a5902f9559d39cfa7539c45cf2c331f1d605ac160386ade3d729f77904e18192696f8a575896ce92f294d842b2a8c30f7d37ede4db32c6c1f458ba3919d5dedef1da98147acbf30463cf1b8e54fee5aef25038b17cd47083a0ffd7f70319faf1c077a9bbaa966470654ce96f78b2ae08b2bb1cbb3f7e7ff37760132d8d7fbab561b828fc88e29076b9578f163bc22e2ee6d46ce5b6afe510cfadc9e0b86266ea620a3c4a19466ef2fb9cb14f8382237a433353f1e2e4b5729ca0b4035940e6c0d1dc0fa368b1f0d9d44f6b49fc9cdba13b743d61c0bb8bc04335a4747ed2b3088a639b8555fdc4755f74c381bd4d7b7711660435e61a1a83fb1e229fbd00455a754e55e3f8d13861ac45ad95104c155297de7ec26b41d83aab457bbaa503ee71b6010c1f0340618680b8d56cf22167c4d4d23c8c55900f0144461521862f42fa8bcd7449c993f44c60ecb9f1c785c237388c8a74bae054d2672189f53b1c2ec068bc933059e12ed8d28df321e8c32a7a2e9efa36b34d98f9836acd4092d4f5227fe6b5bd98cc8b969859af97b541a8feb251c6448a9abd0a9163a52193a4e14c13176106d6d37f291f2f9a00198ea1a2a3aa04b8fd0bbc6e1968e0d49fd4d819a9755bcca4a2c8228e0e743a9e0645a7ecca837061392cd67e6ee84a28dd56ab142870705b5242f673762793c2c4aba6007d6cb96671fe28bff4f79b8459f7ff7e777897fead201dd3be4eb22809893b28c1dcda9c45208ab5b58ceaa03f5c28963a4a885a469a41cbb2ecd656e5d2a7b32504bfe7c971caf4df4ba176244bb7b08bb4aa4065fe443985c6efb1da5c20bad84cbfe1db6c1082f16ce62e8f2f25bc2c0698f2e004226a9df2ee16086c023b15957a7679bda06db87eedef2ee29ed4a99a1a8dc8b0a48c933e58ade855b2633c47e00ae1f92a1ad9a0058b6d83387ac33d72c7ee7c73f0375e75708606870ecd5acfa845863ce07f97927db191aef15a69d244e80571c05c9c33b84b41886cd48949656d8a994d874391513442929b72cf6f156b0d45fa0cda0447ad36ebdda11f7d46224a11cd77ba0c15391111999cf5775b0ec15384115ac9a9dd5a89d2175dec2073b3a80b7ab19b55fb5740fa5b819289a19883347c199c313dd32cd94b3c27bd6ee017652a399871db6c2b0b5fa23bac56ecd6fe4dc56a20b9a328394875adf41c15a8a5b6dbb69d2d9864b23ba0ddc590efa27e4b8ca5bc80fca29ea11f4b2dc39bbf9d7178fd81a4afef73fba036d6352490460653363b2a341b178b3022c879926e22aa1645de52c619201564795fe902751a3ba49ec692ee0d2fd02d5de71c773f66c0eadbf7d99b2e0546e594a85a53b9204593b2f5f0972e4dae43b28fe14b20e6a1828ee4514a3ed6be11b75cfd27ef5c90fa8ca1b3dd7a77e4178b623be801f3254ba8eda6c94dec5ede7d8a70d58032cb1dde1f30c97a2db1e168864c47c17e9e54a762883c6dc2cb0d8714a487d5152305fe2854816d968efd2c03917f9ad5064f2ec0a5779bfc564ccc26e972d8ba3e66162c4578e3c83c6bccd21a026e8067d734c85b9fa7940a580e4323b6ad45892e7ec2460f695aba985ff3f75aaf481175e74e552b8ed623dc527ebf42803d26fef14827f9d319d5f13e1bcedf4db58fd47787378064712365934bc44ead224b40f9b06093aada4ac5528163e9dff5ad0ea338b89d31f7f14de0a5b7b280bb0a4b6d0373820ac155b104929711238ca6854e844108dd781c03585974b323a2c49899d7c1a50355909cb1178671a53854272f72ed9641ec77464f013f59878e87b73b027122b748e60892beb775fc7f504dff4d69a0f9fca5476927a2a56364bd532bfd16585026b6b3430708c3d4e25e224faf28b332554c563a5e41719986125fc3feb891dcb3dde51cd9a11a1d1515b82ae0a64109f488db8c249b08639d2df4135eff384104d874e7955448af94c93cc5df9c1b3a4a770d33e778954cd97a1f3876dd33ecbcaa432a12fd7cfe8a840b69b73bf500c0299e49073fc1386d6797f52ec646da8f2db8c66e6a2aef8da62de0a46a0fd34691bf140e990117a637589d84ac3e23b0c1ec37feba116564858732e8fe06edd6e55b1a4aac2f1a341bdf38c749641c52832bb8468c92fd4419470abea2af022095d86ca8c9d580250fee44abd55a38bfeea4f17844579dccf0240678f716a9ec4db222444a48e18a942e0afda4bf9ee40a98f32ac310141134dcf8f6f3cf89258ee7084edecbf63c26f8d6a675fdb4990da716cd21146dad8c0850417d69645eaa8ddfcf959912b67da4f2075c87a546b7f31a32de7dda8fe7be28e8b8986b66ce056c76ac52c8724b4eec4c8cdd58bac30678e4068c2b3a4085cb81cd62b56c3e1d3fb1d8f8b86817a00c7f52586d3dbe786adfb3c749417be42173331604cf4be96fc0986217e64816f4945bddcfa0378e6d9003132792b99aad3d3daf92b588d4c1cdb345bfc44e83c7466541d1addb3197a34b4a145f863b59afaa7ceb89b88b0c2b3eff741e108e5550763d6149993d0b2af7829626d95176e9dcbbbf55fe1bca538923738dfe50a3ed5b24e5f8abba9bba41d895e6e409bc037227dbed1bee9246869c7787f59c55c13456f881e4b8215a0ba52b3486162dba576b440979eceb6ba7133fdbd8e23c490d83992a1c7053591bc5af6d6eae58bb589c87ec37a80979826e47d93d5e163fcfc3802856ed75a489bdde565e36b6d494a2c8a999f5463828549aef98cc5400389e76a902eb8ec89a7d5e213c2fb05310ffba152d18fb5d8fc86164cd320541372fc15109eabad3587f2a208bbafcbf7ed78158b0e6a430ff19f00da4a1f1ffac518deeffd8236dc7e169f6bae2653c19b7fb1018cbf49312fc39b3a14b91e9c0a289b0b8ba3e091c97256eddd52028414ed6afcdf4ebac15d498bf4a05968427e81aa02e2bd437b474f52818d47b9708d9600c0b6a72dcf67b66e9d1a53f042ba48c207a7d4bd640d0589557787bea3b5a17ed13c434c2299da8609f713472eab1a7fea4313dfb25614bc45b21ab58a6371ea822fcc07155fd03aba118fd8eb09253ed0cd400fb8558eb62db55a296f74c7aff07ea8a25acb0dd1016ae2ab821ea0267921e959016cd9ef4bf1484af2387c7b75637dca9ef8f43d0d3587fbab1896b11bd30b53560bbdfa9975812a57fe575abcf07d91baf7221fe05485e75710275a7156f0155448b6bac742a1d09c04deb041d77c13dce8ecdbb23e9b4c0da7670b19a2ad4a34910383079042fbab4d789f025f6a7065e63af6c1f0682b7adbbbb5906c241eb8502177c8ebdb083665c2757a2e8fa789e74d964713e2ba40698bc1b6ed02ef4bcb5af4c769ba7de0a8b966a3d3a9eedff180e041ec04ee37e9629b928e9b4ee0db6440480a22af892e588a4d543dc15b321d506828d3f9a436c1196d2efb5893dc2d01d93c7a0790979ec24ac220c70d74d47176fbf7149ad1b6dc3f055d5fa445c6dbae5a8a716ad002455d673c5a04bf4b076604f26d278c0a389e6bc90ba9b5b3c1f5d5bfba7ebdfe47915bc7dd937acf3f6f960ee6fd0bdf8d319e74144f892c7023a7250064fb5bfe0e3de3fc4386556956572505706a1db9a073004ec0a2e8b058fe6415f527f9cf11bf394e2f37d8687f29ba5068c4ba07b97c57f7fe0405cb6a888b4a01ec30f583c4c2d10061587b1de8a3e681b6d6d4c983cd0e5e00859413c9755a938d6a604a935a1fdf192907178018c2039d2a67ab37f02f021b24fe519b564b55f31bd56ebb9b39843823cf08b2b70ce128f0b3ea28ff4f643e715e6786cecdc8dd7f4b658648d92bc130e8b6cebec4b22f26b9a4c664a21ff3810f437078ff6db018ace1b84e42596cb0716fdb0cf358f0682a6565aacbfd2cda6fa27c5606f315a52ba34500699242e3aca5d1b9a11288ad0a19bf04b6a469a7c43dc0fa274b72e098141586e53398434b3e78a4bc87c4ef17cd0dfb259841e175f14db5ce08a7dde8928a8b7d164a8c62ba9dcccaee07398378ff14f68c97248b821f51e543922d32c9b21b9162a5c8c723282e63d6e853709e53642c780fc3267e84712a4faa82e11f179ee4e1196c1a8f9fa52c13cff5b304471233d5dd44d5e9b2ea7c16f0b890aaeac3e45dafbc9e2a271876d2aa1966753ea952d72a90de2e93a5b0ea5f44d7e97d42fa97971e3f4711125744f2d5fc7322df85f20e254d1321469e14844e30d9e034ffdf5c942034c44312b446b7325b16af56876f9523a62eff2fa5da7fe1cc9d92db5b0021730b722f84bce70b643e9e19770f381f243d4fe81adadaa4ce90cb3286d3d12eb2b973cf4271c997db492ba480299b15cea3e97f7991b819eff4c659a723adbfa4902d6e8d28b0f207ed10eb582694e70e90e82db9e7bedc11138a59c36f781381484d7b3ba22e23011653d4f3ebe684cbcc4ad0db966338b4f23a9d55802573f0995cf30212e47720c17a1acb03b7927ca8aaf621ce9053809bddc0451034420cdfb7fd5e12db11479094390b6c40a3f0608f44702ed5d1406a7641f366ceb469d805496ba83a987404d2ab7a3d00e515f6b4f9acc53705edfc6fc4442e6a7b8041be3d7e3e314cc9ecfd35172f0c1cec9a1d42c6d7a364c92f04f40eb5a922ddc32fea7cb5b24bf2f6d35d4679412e47ea08247c9dbce5fa1917941ca4accb1578a5e16396a20bd7416f01cdfc07f7f774d5dea25a76b77b532f9744ddc03c40e10e839e3a57d4aa227a3a89c034de838aba4c29fdf1359f3f489b8a8ba3da7299b7303debb78234252f93431ac29c470292515b787b2def68e75d46cf799d954c625461f0e272594830768b09aff27d09ec8aefa85ddaf7150515258c0c71a971ab86328b49224acaaf9eb09d3467ea05489e02fb68a38e733a40ea5a852887c5a7664518bb32c7347936282668025198a117839a45a4f6f0b566b2699779f521e4a28c266a278c0e20892c48598ceb7e74948d4ebc3fa71dae842903322801d95d11d6f2f4f363a392c2d2466fd3931709e513264ed319f4b7f4899bf1fd9ab4fdd503c939db4302d4a5c4a176592de1541c7f89026026c4453b35b19fbed0f74f25f0c94f4225ea408bedc8a821b07fefa267871c746db0bf69465e1ed292b88ad46f298b8921344b30d25637a162864779d71defdd6bd24be690135c7e45c8310e6e9a50e692be3dc45a8a34f41f933475d380c72ac00872e11941f00fe671f37e56abbfdf9fb7b6f01e3688b108c21ee400c304865d5c0a643528477b3235e11df2ffc43e367fa5ddecb02982a3717ffaf52b50ab79ad46f2a36aeb5164168d89d6d2a330a363acf9c8d59ae245d1ede55ecec6b44c2d0af856c611174961998105731e2e2fb1543b6f918b2f58b454d81477f248881ad52cf065bfcb7edac2c0537bebb23cb1d6797a5a86eafa662b8944bef8d2e665b3b19c445462e70172304c6eb453ea3ef4c6290312c714ca50aad719134c62c33e8976864e09164768cab4ee11b9288233ae1317550c4147557c72fccb2acf442548b3ee73b309110a3d46e3f3f409c6bdf193610da1b5e5a8928365fa57e026524083516300b6300999b544e7e5291b3417b0330efea01835bb0b109c40316bb2f8a66ca4967a7d8ad7494fbe9d5237c445018dba1194ac057ad451585799bbb521b95c87cd03af9f41ea4f8d06c452bb16a27970b50d675cebcdd6dbe37fe3a8fadb8ca6e08c3ad08cdc65431dbc210297a0be224d415f5e3b1285a65185503415d36508d684cc3f3940a342c4966ecd90f8339f883cef6666ea0b125a5b8a91293a3193e234c388d30dc320c0f36f9ccb1e8535979fef775b6891055aefa3dcb86eaed460371a8de23384bfed4ef862229aca3cd26de5a31ba7ac96137a22eb893d4065135feacdf11ebc171cb62073912cd4f71fa17d7ab2e3d5dbb53ac17ba722d11bed2fbff7a7aa3ba8675fb6c911289c8e1e0190dab7acec03e1f6cac4569d0de9ef23439e37db5ef1fa34eb5dd863d08f8dd23cf040792b44b0586d90cde3125c81784d02982b7d2cc8bf0fa4eb14ee26d47dff977b36476f194f32b0f8d341dcf1a6765c8c762a6aac1a4e75c3282d7f86a796beb1a6a0d8e85f8b4bd94600de0f3d57f9d6b6025916525c55588a18203d75153ad43e823132168ad208833ee39060f1baacf944e5dd2c4006014bb5f62a895ab1d1a4cc84e65005026485a01b2dce1034d4dbe7dfa2c9143cb77e8632a05bb0efa3200c07e8d061db4e1eb45a48235879d74725d47244e330ee4bc3cbb4210ad18abf470a34e20c9d717f2230df84867d98cf63cc6ee48b7b5e5e87e28448a13793116bedfde7510727fe8069bbb412255e6f66f95523e92f71afe93163fe358e5ddddecbca815350c7453cf231491e4c1ac270f19cab2520660249b55375ccc5c1d7a85ac7811eaae0782649462c8d28f4f307b5bd4e77bbd5e378bb249f7dac0515d0ed58bb74e3a1c72170d19ce0a0782c6df57919b3c88a69ad428142732bcbfeaeca3302e981721461619f7936d3e5f1a01ad220bbc1f73d1290452a25c09172759ed7a653ad773d3929d25578a8ed47118cfd86cc11ab0759678696b330902a9a77ee080c10a632283bd2cd465c90f2c323314bae8522c42f38ca1ed74c850f359e876dd9662ac1c612a5e6d28badacdd3e7ccab27d467ced702eed9a209a4aa8d2ccbdd7ad1a097bde401d22c7c980ddb5244f0df446661f703dc91750899a2544bda3be5da578b90c89edf8bca4a9275401be08477a99ccdd1bf60b85d65ac0e3399dc9031c125862d260b46663715e9e469a3fa5799223d38a8392014b7e8f38f65ac23a6606485dac9352b1c3a967ecfcfafa24f4294eab78fb61f3912b205e6423d8dbc30fda0919d6d1b961c6a21d15f67e126851a023ef3b02d2269b53e6742574e0dd28911c4270eee32351c3053727762a4c35bdef3eb366d3d5d986e7ad5b5ad35b9eff7ab899e649e6c57df7bce37ec7a43826f64565192d542316714404faafb3e19038a96e1c76e1fcd8769a6e8e64fb265490ea3a8f678769b6f4f86e944f81c5cd0c825b1524504e4f40eac56d0f6358f3ec6e35a242f395b97d0a0d69f26e5125e271753d6efde1a3466a38a24d067a5e48d38cbb71d3fe6cb018c43011f47174e9efcac21b4fa25a6f9bf6504cdf44b63d7e99c914ffed35db59ca36e6ceb4a68eb261ccf196058530d4fb79d2db4eea65c2ab57eae564b76760bb84291ed5a64bc72e57b905254f57d69c7073a3ce08be92785f3d939e907ef76e1ba84baa2507cfe5ba8cd44347eb00870cdfde7cbca6778c946fc7971aff1dba093f7cf22d420b9ac0434fbf89c0520d09945b2695cb55ecc6447870a645945175a22d1313c6a1531f44953384043c4d2feee8496a63c40f45b6e8f8d812d171d7d5fcfa53b5afd4e6fb3bb24e1fa872624c757dd9b91aafcd70bcbd4d0a628153c1bb589d3869ca2b70efe75896387108f46591af4cb39a4d91b79101368b90f330a9f3faf94bd8f67291c335cfbe15383fcbd25dad4877807304e90b93c99d5ae1706815bd2897f1b5e695ad95920fbfd7d97392803efc9422bb08c4ac5edf4bd9d5db6d21121e18250f37b8901b1b6e074b176c9cb7e21b03f51b13401f83c963092a8a0ba8a467c2bf15fa6629836f8d212cac8b20db73b555d43ec3ee2747fa00df15f0bf2e52a65da347caec155484aa14cbd5a5d669fd6eaa2811f1a866ffe30d25eada70e9d0d41e6715eac767f346c34ba49f93795a63911c43573624b51f24fe54d12fe5d1cf325dc958dbccd619e335986c8038dfd10fd58b2fda5e5f2b9f0353a294081395eb9feb93e46464b2714cde5c6a44a1e52ffe64df2b070ec5e2bee4b4f28f7a087a1609c5feead74d7e81e1d1d84985201f3dee64ba397119d671aa2188bfc2d55018f8b67d344b27411164c905b6061c06de4e9b34b374f4cba145173f94ed3fce3d83e0e7edf3ee2096ae0de096f091d820184d955f86d1b007415d00531d25c904b50b1a4ffd72bb9bbb9b177f99e12b79facbd8370039925875be64f4331677ef11c3c47b2deddf0d7342b737181ade90924cff4bda01929bcd0effef126b16eede9ddbac57ae2e52030003fef6632b6b33ef3aab4e3cba54998682b5d4fa839a1c3ab33a975d8b7c5096385a185cd5157499dd81e7cca3cfe05442a21677bf321a0311f8575239bacf25bd526c28db7f7f9890f4176104fd9a04c470d715d3fe4ea3ebd954b307d40334282d5f1ff69f755da0b72a6727449d4fc782b107874052143027fc487bc20e9eb5dc60d82b9dddbd8e99b9dd1d7e1e13fcf3ba87694416246e5f7685030c537d689349bb3767926bcbfddee2c77cbc91be71707cce31831402a711cd1bca3621f20c08d21ed33968d9be7f8f1dcea83e85cabb3e782147445226f9f034cc7a4632dcf43e600518f436cfce631c50b683e612476c5462c43374ac1d70282dd03985304bb1dadde33aba2816f9860304388562621a854d5a4023eb5bcf9243dd71b557e50dedb9b256b12a3db21ffe042fd9f085372e75a00734d96960b4b68339f16712f18df874046d416d634fd40b5a5e3800b39075560ce0f9f349fd370d0d4b57e64fadefddf84565078525a6318f0c0e03479d6987114c48f65eb803461e871f78ad2462cba3a83c323f8c64a4cc36989e5c5dc41f38cf852b1b1a11465ce65f6f4bc494f8bd05bdebda919f990f50aa38c6e9b39eb4e15936261558fba8850b08f5b33dc8c9540ab6e06d325ea321ef82b8973b8c15e126e06dda702cb3f458a99f48c4ffd4c463c797487c7bdbfa4d83f3f929197d34b9453ecd2f1ab2641dc76c787e9ed7f56b2a83d6909c357887c91a8da0fc115d496027833ac3caf506e3c66c2e8da8b517ae1a797fa94f3a1735d2bc08787449dd2200205af31d174deb0f19eceee9d6c870608cc3852c442b292884d959482d4529800a640c52173c5963e534844cb08879dc44e62ee954391defdaf771aa2521ae781d1fed20f1a9c580078795cb328b84cca0e5fbb0533f720033929778ad6213f75c46e6dd73ae3e41d5d9be962db3b5bedd116cae35fe41a34a1607aeaf1683d72c897d7d6adfbfdebf2ab3311e2e01f2618795ba6b4bb186ba022cb8915fa294a578167bd45fea4d4206b4a1c9278c82891fea8928df850c0a371cc806e1b616c57caa06905c6f1e0a5ec3d70d4d289515d0454b816c589bc9fe177a7221d7ef4ed5fb400961f52848aee0c553c8a35ad9053930aaf86a7eb75c16376e31995f840390789df1e70bcd0a43c168220ea38c2e96043481f0ddcc0747def9dacba656084c6bf119254b0a4ae8ff36d1aa87539a105ac00541affdabdcd63e9352c4632c6952af2375666bb682f101e7329d890268fc300dad2eef2e59e4e5c5bf4743aecc8a584cb82f632aabb50a6710d4e428320fbaa78a99734dbe01ecbebdb87f91ce8a8dcd2bd2406254751be3e10d2b061f37f7ce7742896e59d878740894a2717cca66e1434a9facbfe3e79d8c360d0b30024229de6a0787d5a603ad4efd20e809e250dc65e093f1a30ef67cf9fd70e33e7f970a6da06847c401da15f013f68fb6eccb9c8c84c4c05233dca6685b8a86818435c00694cda137b1e038a4e82029737b422e6154a9aa1a6029c39b998ba51f6d3b8df055e7c2afdba1a4c264a9f66cd25f770f56c5a9ce9eccaf86a4400cc543cc887b147746c09545a23ff9f66d3f1567054592a395cc09a5533a7d47e521726ed7900deff9b98ddd339774b08950a0d16a426efbb4328b8396fa992abe1582c3e37a1158bb6c31f055aa624be5b2ed508a6165a63a7a0a9bae96b27ae2e073103c89d990861fce61cd3cef7410631b325bf9b0879aedbaf8a6c43769235d28237205d72e6be59e9f049fb9337440471e22891c56a94b8f6322f74c0f099e37d665b4dd35a61d14a5771d735164127ba749129dec3e015afc2f1315154788a4a5841c297bf379d121e26c6df7d5e423ce24b75f6594b0c02674e5fa8f5c8ef2627bca5b667ae5e8e48e2e84351d03e1725a8fb82f5ac023d2fc55d0029985eb2e72ce24ea172ec57614d0548712d508c96b9a180c346c927749e98349cbf8de42b9330dcc3a9219f196eb90b4aacea99448d966e4e19f144d22c9bbfdf64e944daf86a4dfd862e9a46ee2d55bcce25ece2dd1e64fd0732835a6411991046beafe09ac8f675382c832496efdf5d9a1263dff87cc4e3d7c1ac0d6b62fe119aa83f0da07d9cf7e5253c51add35eacac85dec814e0c0404d2e440c2147f84611f635f643f1d5c4eb16ea29fd1b159111b6dcc627a7841bf98da30b4575b5a2572d11ea4bb0b54a7b4e8c7b342e28fbc4db11a00552e9c6482a3d4466c91ea3213648005e501ed11bd79e78ceeff46f50a64cf2cd15108b940abba926ee985c767ff8b775238d01bec31b27266b204f110946fd6a479155837ab720da4a9f569f7ce02f56950b4dffc0f0ed6d4698bd0c13f42b4cd9006213fd5b8de7c258c86543149b3d4defae2eb46890eef8ea036ee1794913339546e72ee735b5006cf1b6dc727687e5a589e51857a7b905862973be9f05dade55baa3538d34ee56462b7875816c078f6f6310d5df35b383d0ea52b4f591d9257ab09be9c85815516deab0adc218f461ac64ec8d92bdea26d7632ea7e7c027b4e1c5defeea95c263df6c78b94883861dc4637f6353976e1d21b74a9ed5c316128466d4ac63effb43b48206da1753951dd4c24a5f7e86b89935e0b06b4d06a3c3fd467d8f7b0e17ffa3cd14ffbca6b58b4a7559f67e4e6ba8544a56999d6b7db0c622cb43f609d6bb80c314774d38ffafb59bf1dc267d9f1aab266b1cf36710ce248dd906085522ab290570ce5a62101173bab15d24bc2c15146b05e592aaab41b2a28fc49f4b8c6db8de1f075fdf51fdcee20b0b69db7a5542ca76c88a4a38073be3ad8b11173b479d0c6d07d1a5f4335e7f0402c31409b603057fb46e2216580c807a5aeca136bfdf902d6297d7d855cad8a4f3edb872fb5c9124fc38836d090b48575de4aec7b85ed4c8368b43064d1038e141dbebb3bff65af02c128cc273da28f08e4270e01ebcf2000eaa408f054d0d3fce367d793a6799da9af4f776570cff384a1bf9586f811713182c26b518371f213517ce0584de13d79519ef95436c3b77054ce630020dee86847aea32999196600e378cf4da030952650f193001933145e7c66ef6c771dc2ce23af09dec7585e7eaf46b34322ab6ae117baea72a47fa27332d129f1555d33824df66f3c853dc04fa346c6156bfec381d2ba99d3eae151c858b3af76757a5adf9375f238ed0f72287e129020c04b080137959ffd221ea6632f96df7ca4bd5658460c0df652ae65fd57d3ddaae9e2e75d1e1fce47dbd59bd094002953b44e23c62daf241bfd4bb6e07ca8eed9f8f2b62a79ade1fc0afbfebc8b49ccea753b4deef538ecd6a56ed99345497b254b1c480f45b1a5b0cb3e30a37bd4a9420db31de7cabc318b468f55f6c277b96000daa9eec1c9d2e9c2e02148beb35e5cf9a44c974cdf4cb1b9235fa61577ba16bdd7015bb650b83eb51c995775fed310922f56f6161ae076ae79bd1d38164ad36d4c5e3e0b638b66740f9353411d05111b202beea7c1def3abd02d4c353c03399edf31b834630bf14f906a6426f06a1df0816751381fc70db657d8f266051d5fddf36af2af1c3782808de527a283861b10ad52c35484552f14ece994d6abf768d04bbafbf254803fcae0c3937d2d236d8d19dbdac717e2c8d945843f8c5d7e3f04f60d3433773163de0e0c0e45f5c6f91ad19f21bc9a0d9a9e887e00bdcacd9b7b465f04b95b99a4b441ad9363ec7b01b55ff9de4c0fcf65fabc4458f663d787d3fecde8d306bc69ef0d074ed6b7c11f48eaac3802d8800ac1eb77149a6c0c01ec4e5aa6e70321568e3b7a3f5a842b6358bb1b0b5efc9c14283eb6396affdc86e3c6b62c255bc1a8cb6fe7c27ca59e52f62973115e1b817cb10711abfe4c42c168922cfca281a32ba21032763adc74c9d1b27a3ac08c8c0114513d24f82d0b015f75cf1456871f5d6ba6a1e29a27dc6c8c427db42f1b5939271f9055b57e946d28fac2de338db3a6664d82289b80106ce9925af966bef12e910c94527bbc8f3c35f39f4d4ded4110641e7f69816c2d3a4d37d96b4ce7aea8e296bf237d81140652a7e4db65a4a1e0f84c2f9d45bb72f042e165f162689bfff9b07533f7bb5abe5342bd95c42905803da41cc1f366f0c90d38f825ba7a6092fdb26da7f14a21e3d4b773e120ba478e78525433e33eb57937c7b8c390268be01f7c5e6b95dce006cf6fa9a57d3ecc4fa40b4f51d7fed4b029464ce6b07fb61ee6b661b0b7d8dda3af460ed2730b48f3e97dba0e64d4286c2da4e25c96c341af979a56b45deb70eaeee6f433a1fb6af864c7622412f9bfa5d4f38abd2699dc70a2ac45038eaf6f88d42353926c3b5015950f457c211582e95c7c1d787532feb0595f9068a006fd30f1d2288307de8799ab0731a91e369dcf8979e4733d6be0a8db030a5213db71a11231f8424bfd3656dd36012f144a91fb1d8d8f713c5e8c35714e7d289754c82295d053358a4d03cce7eab4289ff3f1975143b6e7186dcd06ec7c1bce4e199b64e6524f6fbf0235324e902f37dc923d57a773ee25747c567fa2cef2f8f5cd9ebf721289c27d6ff22310d58cb7a25851b9ec34ea30c53e4d2d0b86615530bd3482bd4d2fdcbf4f934daaf64feb1d2bfb961c5886aadf9e86fea020f1fbc1e74d47ee95b302c0cf8329a70d51f21ecadc6562fe498b35179648b59e728c5a414b902a5b2823fe73c4650606cf07349bae4a5e56dcb14f1544b5dcfd63e088d100204c526c48222c84289c5841d6ee48799bfef216672306233a7a322120ffffbc4d751f694346c31b7dcb97de3c131cd66075c3737f5744975abfebe1540882fdd057cb78b52b9e4cb61963918b7832e2755667439a4f06619328e5fb1056f62b7305e3b9c7d422a2665164ecaea9d8807db02f41f6cf8a11dc70df1f2c2c0853607f1be7c4f954a49e3de37a440184d9c170079ecafce3d84731246ce381c566bbd8018ce1a79b16f89868ec95e3e077ba6a248585ed53a56a4fe2b977fb4ea57f2d555c45602aaa53d9247381a9ccffb87b5754ff6c04a744784018162daee121cfa69d7febcbc0707635aea4e64363ce69a1fff87e1fda9d54b5d173832485aed4ce8c7283ca9f830cbb1da608ab8e257c161852c3cd58a33d32d59fcb075c76c8d08a900c4905c99743655645e4e47dea5501bb5575b6fa59a2f539f89fdaffe030bc5e4cdbd78d91fbad7ef1e8c6fe311db331e7718d20087040031ff8dceb7cbed113ea66e90e6eba55e8a31bd19f61ab7515a7153a637304af88888339a5d5ca11228a733928657a496bc08c0b9b17dff924363d658fca4d61415a417703d191d0ba69d0a0fb74b8a517cad46a882d6e4db649bdaa61b1da5dc15825e6a3a04045236c6e024ca590d23e8e6f10ebf2c8caa944320d01a086247384966391e54650d3d001430106b2d205e4acc36e74d5b4cf89f980a92c9e0e8a272a60a7345de1a75a2b7dc260dbecbcea964374b3d0196ad47801ea6fc86b589c0e19e5cde02b1b7eecd68b1283c801f6085b815d585adca242f95aa583e1fb157a7e616b32a9ea79ec5aa17cbdfeca18f40c5867b1f0311553b0345ab88c5b8c2140a57178297136f85c01d711b881f57c25afba114731e9cff01f6b21e8ac2b00ba379f3cd7fa2dbadea9a418dbae39c0d20e1b2ebe0964090422b67066f60f7dc390b764dace45bee00a2eeec750961d05a6e5b8571cbd5b113325201ed8839f6b863ae37063a917da46ac88094df85f01c1f8de67c032226e214cdbd41a71ab698775a37b9f2b3f1bff74f14207b551fedc634316901858d13153d53bdb6fb7d78f24fde604c604d478101d2c493ee6e23d1bd2b77c644f59bde8c98d81e56f1a4e993e5119a12665676203236c7f874d45df7ea56efddbd30547e3d4b4c3cdbe194ed3f14afa208baa0de408d06f8aa1790280afdbe832c5687597419ea83261c59a580a5743f7fd66fed6cac03b76bfe7a3ca0ce0a212a3cb287df5261c0c9d8365911d88b78a3e4454ee4fbc8fa22ac5f1cd7f70b9afd86a560e34594707f7a2495efbc2941bcaea1ff5faee8d9a1afe38886c00c740058c0fadca4aaad11eb038e611630618cf6e7ff4c47bb5ab4457fee035d3260c759e6c0adfe0b887c33976120514f5480bdcc31acbd993bc069b7bd126138aaa82925620dd20746af1a895301494dbf7c06b3101c6b3cc38d2dbabed12f9cfce1574ca573c5d1d335b24635e746113493ee98ef2d9842b424bc72007cd13a553ca47da7a07e5a19c43f1c19590b8f8eac81ec7e3aa5ce99aaa7fb5276b2247de0f112aeb8d4a4b279ae7c8de4ce4e87a882ff963b5dbb5ac87286306bfd73537b7547f8b0cd37c06a98912fa54197a8d73bd9216ab40c92dd24839e2f6cddcf9cb35a26883de180d01295f15a20912ae4dab38ed3cdcae2e75f66e7c3c6307fb461c16281a8f7830568085f043c6c06b0103a189d782095dfb01f865273d8c26e4b7943160096ee7e1579e187592f753f7bdd7f19a4641c8ce15ea9885cc93fafa7ea1febe35feb49bcefd09598983d3b3ef25156f50feac834eafa2df9dc62fda39b0eb0ca25ddd2440e8e146ff14474e14b035bfe632e2cb0ee71914666b4bb5ad250b844bc40085f9908acfab4f83d7e40030e7838a288a2eaf66bb577dc9b66914335c182fcb15cf2439ab5ca27fdf579c58df5da462bf3bdcede7eeced9f6d3ab1dcfac4d66359bd5e3e4ec917ea01ddbf186ed89bce0e79b007c0d4e344cef7b169890036743e2e6aa1e861d7feb5b1add70b9be9bc06784134065f43e56e47e050cd32a35d1bbc728725d7378cc9a9e032ee69fc32f5820e0e913e50605c36f75ea24b497d5a6017290b1abb488fe3e7a5050c0e88e1605de9a5abb20160092944ae0afa03e8c0ffa52259fae8e4dce7b17b0c4227cdcf008e047b68431517dc8fa7678604fe31ad56a486685374f00266c57bddda84aa8c43a25d30872b80f9e95af2a768c1e60453bae6240016b21a869248909da9f0924ffd87fd832bb764912d4f43d181705de8ca1a2a481792d2291507d0e01c8f7f84dc11a50244706d80e9db7a41358f59a99e1dde5fad2927577ee2ca38f5a4b87f83e53074ed75108a64a2b36bcbfe691ff344b6aa842e2d51c34fbc681037d43eea5524eb137cc4b1760128f62595518ade781d8c66c3883a1695957181c938333432ab3addf2bc436a1ddc2349a691303f369ba3277bd779b69fcf2f6db9bf08fba450fee27ac12e800dc21b57e3b681767bc05af63e3b2903f8df4f6cd2973253b84377e924df7477b7d3e89ea771f8422407c6193a7e819faf6e66188049757ac3a97659e1278ee4549ca724eee55e28bb5a027f749dd4311b9e6da889c94181e1c3431f4ad43c088f5d01cf55cad087c58fd6cd69b52140a47bc48775bdf5f0abd664751a9f468140a8f17c88c87bf9cdfc1086d5f5454c9c5b4715c34c6f70d6cdd966c96793d79e4046dabb17fde85ba580ca714daceded003b80f3572936d429991a21d4aacfc0c87f12de11aa686ce93603fff754be4b09a9c6d14635b05abee7f5da033b5f7e8319a952c5cec3ada312f4fa9de7ed93cbb8d1065fe56cc60ab015afad3231e8fa36ed37e3cb8652a2d93c0ebd9bb36968b52d151c637f66e786c83189d35ee22f7c9e2ba93fbb7cd96c93204b2def838c562966fbd74b2c55cc709e0a701bfe67dd13e00ac20dd62b296b114d33b3a75daa8ec924eb0a2e6248be7888749d9051741b788d4555d762fc3e89e78f101041884f5c8da31cb815c26120e9cc6a4158e1b7152d7962e31bf216d2345d733ba038ba4694d64b206b5ba97dfe3dfeaeec8aea758c0e9d6f40284d97bed04e90b573c7f47a39bb0b36d440bb4f50709f066593a4dd6fab150233feb24f0474ea980b6257280b10375a33ab73859e48662b6ff33435ea459b3490079f4613404724d821168dbce25f73c1724e868ea72d3539045540b29d96f4dde499fcacd6aa72038b2de70c54a4f85accd48e45c2f9c103420584df5cce6985ac51894cd6aeb1ef6afc000fab4a421efb44b5ab104801ff62d2b10c45333ab6e5e676688330075341e1667b2ae19cbe1ab249b717c33b5018c0f3fb3b829e13a25355a0445b22e52096947d2f4aab7fddddbc3d549dcb427f9815fdf5b7ca35a423f4a7838b82cb395d9c1edbbec9aafc370477de6fe288c797f1e0a3f61d947c28f1a32365367b94370a559373ad3f8163b9d2ae665279ecd52b044ef2fbbb9a4eb5f6c501497e6a353fe9ccf79c09c54170343b7df7203d957ea54d3313c057a71b952ca13cc0544eb4dcbe9353d4aa5e8371a12183c96877187cf77f5fa074534ef70d2a8b9100c544814f2e1f7147d0e9c745a8484748e44d0351c4ecf7ee7d52a5f49a30a69a7f8a779ea3b4ff2ed27f11afbae8cafec7297daa3e5e9702f42c86b147cdab0eed289207f5bd6604e12edefbcbb4b7ef231e241519ce5d6d7e394bb7508d22b15b86262f79aaa9229d866fd87ef2b37e9dd9278929c975df8e3d761012a12a4fe700b3c0ef462f4df24e4d82e8b2c6b812f2cf5798b37abf63bd1e8509e3e4362139489e85ee0a41c1efede1951bf67c1e831e9b31bc339af2ef9c493a74f0864275b3686cbdd402bc07cee192ab63d3a0bbe47891a62c3c17c3be31b80041d38962fbc888d25f556bb1724f4d9a88d1290ffefb7516664b4f265ad97536a55a7b7a388e7a91f887bb568f6420ccafa45a43e2e04cc98e1a57335991e4c022594f547f09ac6ffd69de5d7e3c4a69af4bb04c88a330bba684ac27608d1214ddcd2304ddff297291cc18a55ea0fa7f752a8846a7057900ca06b36a941250dbf7332354e2ce7e67418c475c61cf784ff96bd76e32479d4d4a2db2e9afec09c88a93cd6d7a49fdb30fd68fbcaf7d5c5261e40fc0ab87556b877292d47743b504f150e98319ac1accf52ce1a45f8129e08ef555139c237f0bff5e4a214062b1c23793fc5043a53bf931150fefad07848466efbe5bee8010980d8d2f5e88eed546aae5f3e2f29dcb6e7133138bbb8850328fd2830bdbddc0c3a53fb347aa9be88600e4c2f4fb882729a49ec1bf18ce09cb5b70d56ab8ca4577153b5406815a13524e0853cafcc17b27b5fdc025f033ba7f5792c5e3b355cb64ba6246d795bb79dd6465ac64a42f82fae44f7199cbfcbf635fb0e70a0202400b98b8d29108a7d76eb7cec79b7df2e0be5acdbddbb171f021bdd2f569c763a65a218ebcdd84143ad2f2f34559b654e3130e50c2dacbd9c6ec8c07be3d8b553c587d5298bcf3331ad7af2983593e03542f5071e76d6965936ef7a179cf6e923506fe25c1d2daa7efd71ea4de648adb0a55d88ad02323f2713c3256076a283e0668a54af4186b2f775e1e2093e9bc49a089cec797a91123aee8972c3940cd56f3dbf6fce90c18aa654883339835cd49ac5eaef32a125d7d5ee890a36d3457166ab113b683122563c4c9a81aa19ad4b140ffdc78659e01f8a00ab4c3c0b1b3e873fda9f70ca1dad4075ea5462499c68e7fa807dcfbfe24b39740ffe78548bbb93861841f9d0b33b6745a7b34ea663c4a36ffa904800042c98f5243f699e73d384511c7251bc3852f848874356e23661585cbb874550ca2419eee13544669423fbb0db1889dd614b08f962226ea9d8fba066e99bb5a617871c4522ac39fb2b30d1439428f87e36d16f2d52da560daba788b5358918f538370f70bf92b2bc0633b342b52a0e7315f1be14c810b3e31ba2f9743f79e0345635ffb1cfba729e61de17cae434d6e2cd73a8fd5498fa70ec33037f6c3dc3f7d67037195156eda952428a21119e79c55dc18f933fec600696cfed1500d39515ca567b79c828dc29c5550df4ee9957e9c79a0d1a4c9e11c1d71f339ea85df6f0b68018d272a62de597c69b61bd67094f06e5999b5bbb513abc69a2c5a8d3e5f4ca3a418741f0b5c6fb98d6a8689921bebcfc0e5dd925c1e2df1e0bc4adbe44ddb86ad1ab9fdc26afc63dcf58329549db3ebef064b812b003334ea2ad72482d6b57f235bd803a76f1e1385fb605b57b5a93629246c235be934aafd4cdf842ac0c904ab2c745af957d52f8937357612ae0e0b641c1aa9906e5c1a03915d704ea84d288b518358299f7933fca454879ab022f708f3b0a85a7abc6fb2c09d0cd8fe8e7efe473cbdc5179b99b0a27dc97d84b94c8f4155591e663de7639cdf5252f4fcd4e05492468dcc0ba736e006ef05d22413adf73f6af8e114169941a1c17caf91f3b339679aa69caf61a44b948d7d07e4db1cef5c0fadcafa430dbe417a12e85e60fbc06cb96a3732e708475506c0b22d46b70b87d3f6c4787b22ab2fe6b135681ec9a7ded21dda83f143471557700df8d88afc47e0300966c82864ba49dd077d5212ec78c62a6488c63779c107276cd3d6f0b20a783c51c5b27b55adbd2801ac6756f981eb1902fdc9eb6fc73683a950a5f9df282fb3b395ca2917080aa9c75b05896f4935e3d4cfe682c1f5c251a056fb77e83db149c0923d040f1043934a6a7594383e5bb3e0a8eb7942cd1ccf39bebc88b1143421def4ab3950d2796209cf79e39b7a390690fd008ad8479dcba7b4f7f1259bb6bb6b9f4d8ca3908da70c9ef7a2ba3f4270bedc5d17da97e11e3988416fdaa46eb0e49d2e2a8d3d4d55a9261b0c689a728fe1f1f5c4a5526a4aecb6fe746d45c10d0b0806e0f7cc3cd6f11c1371faaa861da03358f66d286e79980e6a31a527c7c388722be4fcff058ae239af0b48df4dbe2513291d0602be4ce0e78b4b6a78a35d00ff5fd60a6668503188a2e66c6667ea504734f38a8958022ad8fc34be2bac8239a33239f9750ff6980e08795f8352be708f9a532764ab019f6de4a102d1a86ac1552a16c1616a5500d84b6aff9070311a8df127f7657fb09b4d286e872d002c5f71bc58b39936f6a61ab7154756ce429d1cae3ec60fd576b22cefa7ed0a8f2c6f4a89d7547572de3baaa9a705312d794d0af79f7faf14439cecfd4528b66e651633dd27cd05953b6fe5c4578a5ad1343c46fadb4a1dae5b698a49d37d8506509f5f42c04db7ba4b8b58d3acbf368edd563e6c14ca7dc68307bfbef1ceee9d3183c1f02202ac8c9feba3437333c0ec5d73ef298c0245cbce2ccdbc5e63f3150bdb1f6acfdbf8b4fa570ab5ecf3224c1291ca1f74f8a4e2795779a17941dab1b2b61190ef87bde7e25dc5f0bfc261ac6dc10b4ad610fa86655fb75bfb43c788495b845b28413622d47344aa469d44212ab303909aac13f2e46f5583e694941bef375bd69b6d87214a1b7f2728195db9b53cd4c746eb9b41f9960e4d58d9745ebffe938f5d6313b36478743974b7210b9813a4a2a157383963f55d26e72036b3f23130a84915bc57e3de9579f48b4474d5d1cc05520b9764549f5ecd936df574df9d67edc37bcbf46903d01ff7e630822d6532ab2fb1d53a7c0d16f85c999a59a023c156d24b5ed7d907a4c25f86779b81282ad734cc1a3fa1955bd4c629cfea6517c2389e086c4e8b71dc4ea0dbb031f47839b38a02c09c45ed83957664dfeb1e3e990292c8b648153d371181be5df1245c13f968b3ed4829e2cb56b8e2ba350eed642c0172da3c1e1fcfce24dd21457d06336827b98a6eb2534369a0425503c516b850a83fe92de255798117abcac62f30602ec3c1c80181a513e16e39817c302b3d7d6677f91aa10eaf7f317807f501f62562d96d0b1fe115e227093fc5be70340c32ea8afa89c2ac8be35f61f603f332396a003d3f6de791614fd82b22f3deb9359590829a5efc45afbef6636ca75e8cb1335bb8af72258a70760e672476529b5b0ea1afdf0276fdec5c715e44d7ef3699fc6d0b4ed00271409b08daea9f99d2cc6660a336f0e1cc7ee57baa5a1f8b92d5a05701fe1c51d8b5676c4d506add7f3098b850cf836e3f6fbbbdc009c3f759118d2efb61dac30e2fb671a9327a908a535eb39f17d581f0f2cc4cb66accbb2bbadf2da453e6c0102950d588ef99642154c34ea1a5f8b38ddcaf78f75be155af8bd8928f55e18d7b18dfe1cb468075cc8143deedda0d08b1fbc91447ec2df7ab360c3bbd90b439399d0821198ec969fc6be4f305845c786cf52f8b493bf63718360c20841e15e26930450a912b6eb64bcf25f9d2f2b4ddd6b38070128aede392cf916485f7fc6d87e07155695b0628e0b853792edaa9d39731bd48a120bb96e762c2b4416dced484aee3986d9c7c8202c32bf49cbf4f42eb9275c5f470e1de2ce6e1df55598509ab255737f5e4b2ba1546d58647fcf5dfe2a4df5ceb12c136d2ebdc89e3f2974ccb816cfaf0804ca1bdcb6a23067d4fa0a538dffa30d9f9007d368fcea692ce1d2cc1ffb0bff141df2ce90ff86d669a298a5e9df5b218bb98529fd9b2e5523340cb29a0a3a1f95f1ac2405a68db14a369b25d3604669978fcc0923b36cc2ca807442aaa93657639a67a96c583c2604ebc9dadd88f5f9d22a58c4c8cf47a0dc468566776356b746229f50ade1535fcf9fbf99cf7d22c935b31300bd673b9919dca8b94909d61b69886004956b252afe97c2ac4f4c6e4256fd6b2f160849502960aec0d96a441d8cce57669fa434d3fe5105eaf7a7abe67a1f729d77d6d05a665af6e4c4a5404076675bf4db9d5c7dd4fe227f286b0756eec7a1a0985b548f9158c0ab3ea5a8cc2aa6634b00cb668da2cb6b0beb809c6888b2f82f3b36ea9e1db24ab8f91587df40a5ae10fa0205c048e0df39601b9a9d8446f1266c20a060b137b4c0e97e2e814e9cb780774b7fbfeaf84b2ff0c96dd3b79c1844e6aaa973c001e36f6fa9d60cc00319a9483dc09bc456e37ab71ac73864494b1f892734499bf0f86c44e4153e758f1ebf1ee54eac022e010ac6c1d1d08f1f4201d1be83b3a27e82b776222db4c27f63986eead3067eeb2433d8c8bc16c41418cdc1d7b7e488cd1fc5e43ab0e79611cc81b196d76e12e8ea7b6384cd14b63504ea516cb08e8f2c663bd8f90b693449495722fc62aa0f90f58ac3fa97dba1bf8655d3e56d963499cff29672cd6dff01499698f3f477eeb75c469741c2557276e2afa4144b490c44da53375dba0a6394bbf5bd00b1b96105edea01103c08c8857f57c82a79c9cb74c2a60bee57bc8aafdc35db26ef3da70c16c14975dc76c8d66329758f622a904a070f72073615f30263f3586a38d0becffa8baab3326dd58c81a73f110202498e333391dfd4990aa6055c46e47a1cb484565416af2a64dfe87f81270155e7fdbcf3dd693422161afcf6f77eb01ff0ba7a048f8db3b8f3afb772af5adeabc06aceee430bd520b6cd20b27e3f5d12f9302b25ccaf88dae804936ba9c099bcfa5c1c979402da67bf7e672a3c23813d23d506eb2e668e622f50b22918f12acb9fbe627e6c271add31e57d3380563b4e80754970c054cc61611c2d59ec9ec44a4ac9e4ca168233b14040369f2f065ef2d452517b2cec49cd221930c3d32b68b0de51110f02032a0fbe9dfd23ad4adef9f48f3364b6cfc35d648ce609a8e478b4dac4121b9b9af275a8c5366cf97e0e04311946f72f0f28e50fbb2e1a0e2bc9e3895f74b16db0801c571def33409bcb9a324baa7deb8ce4276625ad80de2d1f5a82b96468b5874fcc60c958464c598f3c0232dff76c5b680f1fca7de8c47a381cc65615d403e591acf3611eb419f762368c6fba52d3f3111fe2bb8021bd2808abbbde887ccb98fc6d7d2673de4fbbc3f20900c48fe2e7489afd57b2bc756802add7c7b5be7040ed72b630af2a3d9bdfb553b3f5645c0edde8963bbc34c77d0861063ff0e663aa43672d794e67dbcf85212db5e0563201d0f1af8c3e32f0d1f97beb23dfcda64d5d2a77d77adc09f67e0c9777e75673266e829177f9b27a6a9b28dfa07a23d5bf0b2753c2eb448ae822d069ff7d8ccc799b9a036cf14023307385f293eff2981eb3303d98ef8bbb376384c451e86bce955c3562dd29afd8a3333d71dcad7dce87fd53dc43e76c95dccbbf7efb977add9625442c2a5a628449882b3cddff72a677ccb368d0703d54f5ea2f78115e1a4416cb011fd6f4f2ff07ef810d13fd7e624014514f5324122c5fcf5a99f3815120292abfca42d034e188cfea9c67702f91541cc91190b4d43e7e4afd003ddccc389e5a9ba14abf680de876c53f7216bee2e421de3f05fe48c8a0100fe66934026624227c639eadcd7f4b1ca402a9fb4dc5c0623d608d55bf38179977a7dcb4d54f7154b51ebf5d3a2b84fc6c360ce4f22249ff933376de2d7d9a0e50465ba863603f140dde55f4cbca49ce6bf4f96270c921163e2e29f8aaeda40918264c2eaa72a787be431d927be1c1adbbac2afd815fff5691127e6a28d1b13942f9a3005f3319f273a6c72c07efdba405aa0d0cb59eb2c672ca4d60bbd190a7c6757c54afbbe04f866879531be7d35f141f95b677e001c05c56de6b567730f2db76c8c3b1c5d05672d8b375ca4f5b15110d106a9d9f07fc7607a0e910af17a1a17e80a74d51a3000a0358f9bc479a9cf7ca12f14d9f0b31c49b646fe69c8991ef83be6d63f21d6ea5826684123f2482fcd7fbf2dd0fc70942e3d91d23ae3d2f7d5d12a3d37e7135e1d388054ba631f75e89069bd9c13a3b2c1c190841fa136f0ead3ade96f6c09eda5bb9cb9ade411799ee969f91e3047bca475ba29cc0aa3a9b36f9c8cd23886ef5288a102bfeb15097ae2a7fc6d787999e31620a238db15ec9127f0deca557070195ec0fa7952fa2808b51ceb412779978fdb81e97f5e82ee28fe976d6528feb0c6c8036f252822dbe7b5254299226bf683acbc86c991245d2774fc7d90655dafedddc339bec31022a96ce755ee2dedb18ec40d34c64f3259767d1c2f74f718e79758cf49076f2f8a31815788cfb98821c00716b8ddbd4ecd0211ef6bfb93756a04d8b3a57ded863ef61470c2a74e6aa7230fffc0c450c26e17292a45fe2bf770a21c91fa62f0f1460d7161c89e3c4150f05033ee7ba44fb111406b83606b5921974658a95f0e6dc8d2956e5fa3a7d448579c810c8a8f96faa6a60ebf473ac977b01ce5df020d84d05731a7b3f02b2ba95eeb1bcb835b8174cf116470b08615f869cee5125adbc2643ac065afa635fad23444ace6e5ab425fefcb956b2df75029bd911bd868ea8a071ae9b46696d8939d6a7d39419b85ec74608466a1a06c4fff70a9f73b43a73bd1240c344dd055b9597deed950f6c4ae476061825313b59d737c510557ad1df2d84b00eecf205c150478d5cbf560247902a03a3a571834aa58f6ee3fff488150f660f37df91e91f05f24ba14df3d6eac59a9f244dc9790a9acd386e7998fbbe3434abe183ceefb8b9fb3c44ed047bf8ee6c02b3107ae709f3c56003d314e873694461f7fdf267309a795f423532d54cc4bbd7ef7d713fafbcf1395db2ad6afa90ffcfb0ffdfe3024267db0ae18cfa8c56f8786913c7d2f759135f571c7b2dab4a66a7ede717b8370007c31e3f0929e10f852a0eb1d24c32ff6e34ef3832957bbab65ee3fd65d58314c137f2579198dc17ca5565371e4f3bf2a963b2bfc9c6d8b3a471cb3206a979415389714756cb190ea5d0db27bc3c504ba3b699717f8d68f7a0283192db9dd05e4da21a53500d8b88a3caa160195651f7063266c214a44a1473aebdf9f4691a29ef47885c0160984163861b3e0b340f002d321e5731ae6f9b38df40eef94e0a8c432f1fb8e2f97619b70b9025d7a1f8fa67cb7b46ea42461d2c083f4c2b9ff8da719387e7cf9a61242b7d5b39f3e56d94bd2fecbcaff7be19feedd4bc6763b01cdfc3f6abbd01d329ec307b94dc692650e6accf5342c2cc93365b71d65386b78327423d431bef3e14dbcc2679826c9153f6a673b3917c5fda54202e094096016dd5aa341148e3625e66b86b0f0d066a14588cfffb80894c2a467bcf86125c5bdaa3eb45ea171909fcb821ad4a4ff73b0927db5bd39a744c9c0254b9bd09459ce4a4e1454d7ecd58f3e720835f46baae184e8675df5d131774985f765cf6478e9dd300c8a4300de0d2e35be4bd52d12d96b37598279f9b4f52e0fe3e507c78efb48f07ffbe1dfd121de47878a3ca74aad31836e12a68ffce8b5dff6f897c1a6ec1e103b887c0e0ee8f7369dc6c37ab9a1f743fc793623c4462eea1d1d71d971a863e6905218da58043f890ba4c7eaf6a38fcc126b0e00874ff4054b1f17cfb838fe0d1d9b031a69f006291d1f0fff3d9de79f31aece0c799eb1e2daef67f5a6c0bee037569c4a5ecb29a1966bfd92856440537c96f146666bf4a3b145aa64d0e55fc95165f00e4f3b452157e474c5846a23b21f4c581967f4521a85efcdfb6327e8e7b265185be6368ccb2482024da43bcfb52f80fadd52b757f3d98054e4d788a106abce52912669662f9dad99cbcda0cf80e35a489a32021ae3221ed20a0cd68030408a0054815d49b15e9d4902cef33caf152aeb2b065f41f0cc5c286377059177f967dd34fd4ef2c4fb420396ceb04900394e4a592d26bec90ee320c43c3fb98fc219c7712efa0f3e547ca9313c0fb8d746b08c189a224acd16e51cf5d84ca2c41945c5039b1ae31e82a477148ffe840565edbc49d0540cd07f9977ff5445abea162a5701ea3fbe5b3a6c62a9e323309c5f062b9546160121ff4484a3350ef840d0872f1c70e032b1282e2aa9ead83ca5dfcd4d9d5335daad5778cef3466bf005fd86118db030111c5443483be65e34c3f559b6c0c75caed2424779b13d5de67a7f60b2320b4fe8df25e6eb2fa7b7f7aa98b54cfa739a3a5c8fbc526b48c715d97f18b5223059ecd83c1e670218445fec1195b423daf4b05c2d9def35fec872d79a5a08a391a87efc0ed27e04feeca2d878d4163ab50c245dc5da16a8f537bd563b748f8b780c477f75f14b8006946d5be1fd187d3c34174fd8ce394eb203e6174a443df3a7690770e81b54ff9568d79492e02b6e4ef201c510c7f54a8b9010f578ca646b7e389a4390fbfd9c52c388ded10e9084299b4e710a378ef333061be2d2aa5fb264b1e358a1adf8f32f5da00518d115f0045b8bbb07283c82ff356e87b38c66055fa821fb8eaf1ec2a2a1e51a830f8ae4e6b4561bb7c77d7db3f7442afd7823a8a2e9e9dc00b068ed1b78546e390af17a67735f984a7f326bbb03006095a041d87fd70e02407db58a41e6fbecbfced7ba1d9cca0e980cc52b32065a854d9985e355ed484aaf75a44557ae5cfb155a2029339edd7fd85cd7b0db63481277f6e21fab4dd66ed95f9dd37788d8296d7fd3efadeacdb7dbf5e4d5997732c11e4292584147c7fc2030a8de044cce533122a6893fb4313e04d829a83f5200d80077df0197b3633bbf14dc4e6f2945cafa49fda21d3a360b0c3453fc00c45f9e66f74e381a69781b3cd78f1d214512ad72c0f3a3c2c93b2c0d551dd5cb81bdba5e139dc829cf683268f00686c8e5df2d05ff3e1171c966b8e165f5dfe2757c8774cef3cbd8e1da4bf71af472c151eedb1be4bee739ffbd8f9f7335f5401e5ed10129ad7f8ed79cc44a9b79a0cbef2bed7922cd6db63a4b59d703e4666c563e0aaa1ebfca9874722aadae9b801fdbeec5eb8a9f1ad9743aeaeb02151af4a0fffe7c5549b44c3afd17eff93e81b1965ae2c86f731fede33d2bb762d4f1042629960d049574eb30a4a7c54366fbdaabe2134d2d0627a9524396d8bb47ac00320ba7109ca7ae0a1a6aa0e542a838d26ac6e5f998239be6ef62cf9b7736b6c2703869791089ec759eaaf2ca98b3cba9fd60fead3bd929d63218d861ab8f7a7ca9fbb73858b790bad4d75e3829ae8686419ac369feba2276ebe7113cd5dc3f40fb0fd0bc1d96249bc1c926d1a5207315bf68e299f7d13625248f574053e0c29c6bc6f81d2f9e1716fa2b66ddcc98b791f918dde26515fa7f15f752f02e0c5ae01ee23fad12f7e3febbf00cbacdd0f586fbfab72153209c471e90bfc5999a9d0e344a81670c2186b00b0b4c775487470c923a9437aef006d0f1cce55ce4a6127bbfdfc6754285ce987e79c3dda8cbf4aa69cb8696c507d07e0798f919122c92fd9da270d118d2617029b9d764ac5fe04d9bd1a547994060682952b9bd906f03087dd36d473e9c31903cca4dd43dff28fb820dd1fc1f696d9fe09bcf7d9bfa8cee81a85616dfd9a77c297c5862a19884bbe0abdba78b3d1d5c5d845ae9660993abb38d0fe3ed7633d0631831f42a89cb91bf34914b736092c2176b35536dc74cc10db825ffc0cce4935061a99c16f8ef83baba672ce36d7f532fca14fc12486ebc26c2b29153a8c7f126b20343bada32064a3ec2dcf94b1c100dd1d4d1dd0432e15717904af6fee1a56fc385e4336c137950c135c4ac0666918b7cedd64e6046b2dc7d751837d5190cee2f729fa48c8c203832cf56277d0e6820985590ae6af6b557c53d6ba752734853fd3d947b69db2281addd9a4073dfe1c2bbca751c834e4064ceac0cfe4eeae3032e3e1625d56bdb49e5bab69bda395d8e3ce9a31375fe24423391227b531a91d15c1062a0caff594165bc9c1564d7dcb4fec9f24072191aba67a93b6f1e62da13e77f8ccc5d1d1db37e86f35af955522a6f84c0f9ed6c88a4173140bc484cba822b7aecadf0068369cf63a8f303d1cd58e18f9fefbc410da210ae5923975619f7bedd9b4b821223fa7878d9620786dcab8addab09eddd7c39667eb824f8551922a87e86315c46ec9f4a76c54693b5a982ca70e366ff3a844d994c2a0344c4e41571bd26e0feedc0116af52b0e6488954cbbf0cb625787a84dec996a1d3a8fef289b39de5a7a51790c80a5ebe852f70d1e3b78b0cea812c9102fb4538fbb36d4b28c1caf0c898ba223cac7c90152cf51cac5495352e9dfe48423169d0c90776a3bad8e58c6d057469798fbedc3ac8d552ec302920e5667ab402e874d32a07f0f9c4b19a61a478de5134ca60b5d9413125b4d55e30f95d522dae4374a926f85be0a91936e2ba94d4a69fabe1e454f8e5e34c3a1b2f9fc184dce4cc32d39b0a4ccd913bb19fb7ac4c352fbb0ea69797eb86df738900838bfb98c23e21af57f86abecded5eecf382b0dda9b2086f5034c067ac26ceef79591385e97b0feedd0fe25b7b8767e8eec60198a3433235d1ad100a9e4dad3befd2b19406c7c9b0eb0bab376e39f6ae21abad411bc5b0d38af81b4b7d8f638f8a5f8a4f387c758965a07511cb528a68cdedc748b521dba44c5cfae0c5e1f8ed2cb62ed1a0425f48de2127cae9fe0aecc46463f8341ea8775d187fc14a10dacc443a142edeb928754b0c04abaf595451798a9850d947f323bf3bbf56120b10d63d2c422d26ae8ba5ec570582cf441a9e5f67c4227e2b7b49004d696f6238a18706bdb28f96f4e35146ed27fa73b3be55d2ee327e24fdb52f2f055ccb4340ec041ebc9eba9d3c567cdb302269f18f319edf36a035ed6e1c63c10462168b513e142669a29cdc8b0635c6c245dcd11c52cc8a63028a1d4545410b50afbb1c34a6a704f06bf9b4ce23a1dd209909ec6f71ad82c253eb6f0fe2eeda6339b6c0f76ad21928448266bc1acb74b1f9891640c6153a09cd352adec8827e30f256fcf831ba856cd1e82bd5aa0f58bda94f4102529f8d5dcdb19eb96d607e18a83b9da202d61c67c05d1c685e70791c1ff1b4a9b0891d3d5a8aa0f405deadfb94daf576365015c89ef5fe7d499995e440274efbe02c31948fbfc2273aae575b9ef2e002a514d36a265e24dbcab51f844c1c8a8468313b85fa4c224e983fc85fd2f5adf83a5c6854fd3a8318ba1e94a85ccc86739e7af9c001c6dfb23248dc723898715e130f407dd264fd4064aff099cda030eeb3e51327de868816c4779c50b726903d4ef35a9fe7fc78bc0bf5f04ead1fb2c0c57e09d3276e37ef1dea614de399421af1a37229baba2b165add0f6fe519186a3738966f35ae796ff8d348a0a7eb6e91ed5d6f6abc4d3d162ebf3223284f60c0d86589ce75640c1646abb5bec4b28396fecddda9cc7b596037138fd027c6bffd7d0a01f1efe20bdcc7e9663164d69952da12c52cf677b9fcfcaef30d85ce2b03bcf5f67d90b42defbb11174cc09359c9cca362fbcf9b91d797235f3829fac9224f5c7a6dd0293ca5094f466876a7f84b3ada47936745db5af32594e4f9065110aacc640c812e62388f0435dac54712ab83f462060d03445f951bbec3ea07a695e35a27fc5cbfeb04720b92c96b57859ab8f309dc0bdcdad6a8472c9b6b319783233c4efdb8639ac5e50ab965974711bff16bfff10803b91e745129b0e32c7d83fc81be192546c1b873818cd7387e1ac7e17df7cfcee38e01e127c95f9de6b26493158e44b18ad226774a7374259927daa733d3a81e33af6655c9ce826a11b90ab3630162315d95d6fca704aa46a670288647bdbe81fad5f066e78a92737ab56ca7a4d8b12796d644fe4a4f574f3f0b2b869de8f5100976db62a0eebabd4074f46185f18ca654e4e8a29286763bf1f73948bae3ba826ed0a13afdf1415874b8e13fa8ac739bab0e1d844831abf2fcdcf89db3618b121da1c313bc55e95d6ea514b03ec7f97ab91eb528b660a80c12dde57d9dddc8639574f527d484be6d31cce2e9f45b2019d4250a6c1db17ceece5db960a5c776f3e8552f95cd176f2de186d82a7bc2d8ee5878eb511990795a8ec85482f0ddfdb469e550e6266b838c35aa39c02aab5df1e35a4ca388384b13c69a5e0d038b5e3f0f21fd63444c3661b1990d707eaa2d93b21656701d2c7b53da01a0902d7186d284052595166563914b1f580324315b58262b891e221d228e7c66d7ae53703d5a8ac680324ddd706fabd6e6be0db15d9ac130983995c5d4a3a04fa0c5a931a71d87abebdf3b681810bf05373992e5fb2fe5cb1d8ce9f5c1f563c793a6289f167c5dd20dbd22b2381e6c545679016c908aaa4a6b87dfd92f52716fcb1adb6595bf1391ea738afa1e194ffc2b532cb00f9f601b5f75224c70be964c727d57a42e3fb6076a4f03375e136a75d7d11b3f1db3610beb21ed61dea38b2fe942477c1538921ddf7b28fcda6486e6738017df0afe2adb49363aa4017461883e95435c62dfff96a3170910ae35819bc71d6b31073292f6afaeae00d4bb2921e7c7d14b8f6d94dc6cb77ce5edb1ad1ba500481d58425ae99a8550d3fd774a2920d96a2ceceda0b005b16c8bd90dcd42b3c13e2287ec1cfaae429a93717c0195b1a7fe62b40a4906abf2b3ef0259a01639aabd8443ff723948edbbd4b1548d293dc4ee5faa2f8b67fecf55421ea0436342fd1a80c87db276cacfb3f3868832c68f6989ea502ebf16cf97090b62fc7fecd3779994d40b93f049671ea0be90d6540f385a9146069b6c6b077d0ff912e0acf0f7c1d0aa5a5e98bbf285becdf94521a85875016c503c69d5fb2650547262e57464df5c47f33e1200628306e355908dd84d953db8f690b69f6fb69c88c39d87a233a07e5e968a436da07a5851e7ef30e1bbdeb1e2ef4008348e9d421a1433c2b55d5edf2da67ffbcdd2285d73ca782d5a07fe4b9b65baaacd6dbe8686e6cc89bfd3a6bde69fccec824b911cc6a064ee3a12fd7c3eb7bcba33d98aa547bf523a4853cefeefb2b95476b55c9e4cb10086b4fb4cea5dafab23078b50244aa0f7009800332ffb89799ee11625b03661cd6465f590c35ddd9147dff53c9c420b20f7bd29672e0c2ba704eb2e6e5aa35150b9265312b5ab664b1b16bfcc23e3f61bbc2092ea5200509008804ebe8510f8df70d3354df988a0b09d6492ec4d17adf4914fcbe866159cf23c84bbdf069ba6c0e20c47d8ece9736dafb9ca45ce8aedfb444865c7e47c1f4f69c3b5bcb03bea78055b29af6f0580771018ab5f0631f6ea19018dbd0b6ebfb50965297145e3294cd0f005170c0ec5069ba4e6e02c512315934f8e8988ad63fa359a16b8c0bd247f463201c2c4a467091b0810a083c00fd3dbb2f008e835e16d1eb682b8de8b06b7cb05e10b5e360d95590e9e4a721b99ca7920a7280793d88882da08884d2add16c000a4c2524653aa0ab52f67d291dc6d852253488147a4076d8a2b5fc8538f1ba364b3f9db6d8a1794d6e1e3cb1ddbbe890fb1876df494d22c42661c5fc590f169070e30a8c57a521cb08d8037cb8c435194c61e0482acbe6214407265762226f76aa5cdaa554076c7bda41f31aa85b0ae4da81a9c9b46b5900675c8128754ffde33699c498e851aa144b4c2d1e53f5acf14d6931f8918fbb0c2cf2345647227aac2d4297dd05a3033a00e814b0f9eedf7c954641160a56176a8bf11cd8e7483df582c0fdadf69893d32da41591d5b0615f724857bfa0cf00c47a72d983ea770c32ec1eb51d7bcbfc6b7d3ff714e3e5c51a9d07c706f930cdcca3ffd169e67e7f37466127f324df7424742e1257da8b4f0d4d4fa470e9e310189c7d84409cf64316a39497e794aa21783285ec3691ceefbda5c7b781915ac6e9e7e2e8fb07a450b16bbedcf055edcdba3923aa7f47c350a3dfd69c25b6fba4cd248e0fa3331306740cd16450331e950770f7358f6b47e4320394bb15b4f33bf7331d654e51d9da408fa89c79f62abde5d67d7c5a3b606b99694a9ab77fa3fa18e9a192d0bc8ea89595c27ce71933333a827a17ae6e8b9d4167c208f5031dfcb0ec7caed77275d6d8302e5d7f10ee824a1962962f4741847945f373eb77f512b8aa68e9207af9dd0971d0468e3cbae66f06ec86714111b9a4a6874d81067e36c62bfe90fd365d9774976b84b9359e539c9d44fc7b2034ab39e84bafad4d508e76bd648e0913dbc29606e93f50bd05df8175ffeef6d76e6dc031b15ac229db558447ac96c999234f626ae92a452898488c0dd4b7697059d74dbe2a7055148fd8152de73724df325c27a013d6ec51ea785e89f79fb2d90156e5f7fee774a9d7eab082e392700196554268cef4abd3966b6e42ba00966e20f185517e3de486a25a1ea73e8158a6435a169bbf86aa5c26762a2c57437bc073346322a400f6186686fe0363a3e59cc12784760aff77ae16427b12bddaa8cb2f94bc382a334543c69b17bc9b0ea0acf51cde6fb162bf412d93c34470f6c32986ad29247e1e197a37635ad0963d24716bd6bad7576653e115b8a1813a592424b31132cda7edda7106b4f2f9338042e4024635f32b16ac3e18cf33c5a9a0c42a2ff4e54819cca4250d9b2b1fdb9a00c65f816e5ad20d0c4bb23b3d75a95c20f5252e55167e6c842ab640bc79596d8f9c38146cc07b011108a9f10eb985ca0389fa5dd6e04b410c68f0bc21495bb0d33ea6a172c22e95d1515360ac568187773ede207e16106a12b7a018fb4b206f3c9681be65d2628c2cb4a44cbd631ad0f9c25f84c1f291692028ac00be89770dfbe630f375640cbdd82dbb25ac1bc556ea61120584b7d5f49d04c44724ecd18f031fb1627864a1d8a73cbdfbdd0fc89bc73e34f5284e1d996dce338a823541d401f00c67325dd84c30e8a43b847390b5dec231f066143222ac0de15c05a0b845a2084c8c5e5e561993f9491f639a0a3ace2dea21b80db4974f0c67dca6d4d38102b73aeaf28f5796584d628a7fa9eff266bc35ed213b2d544132e8179f2d1f4094aef429b053bd621c8c8fee4d5185ba3af91feec82a5588056b02ab4883722a815de309b073c05d281e33fdcecde25d669340816786afb9182c6497d824b44f3f6323f6f04ea27e665e3240e3b4a2c2dc2202636f43e6f25830a49139224a064fd880126d8576f800f1a5cfd5c434b547535cf6f1b5668d7c836fa0a62050e8fce7a2b86e4cd6dba017b7dc9de456ddbadff5f9c4f2b3baa9f25268cea3a0961bec2594fac912349dfa602fa4aa46bf5c38c3110769bbde0550ff477d30e85d79f6fde6f3c4d480e49faf9e0661b92f5d22a30a114f2c94f18e4ae75007fdbdc917f98931d866812d0c98e0f1a429fe32d84c38a6404cdd5835b3bb8c659238927c7994971144a4742f9f766ad78bce31966b5d96aa929d595fc94e0c2fac36cd8173cde096f86205826f178d35d97aa42da7e8d00f111392f5d88b763d0db4f1d733d3996023c94128edae4178d9c38da21384f3af39db8b9e1f585387e633f58a366484bba60394cd1b53180adfd427f4edf5589f3701d40734776a0e72f2b8fdf70b1720cc18d1aeed744ef47d8e40d304b99f9a6947a2499cf19f00d1240ec0076e3395de9c0d86bd13e9cfeaae506ca8d8d59b97ef1752f1a110e7b915815fa019d128fbc9bff97277e1a54edef00b1deb6e1873d2176a4e1f4e2588716756568a3767eb8737b49516fb45c01419a21c1b329df3172d62dae2a5a991c8dbd4bd7dc1d639f1cd00c31d4aa65abbe9db0f4daf43a7876fbba005ed38cf2b29e87c4f288a6b1043d91a73e17008a0e4e969e2820a6c99c37ad2224210b381a5cdc5d1d4703380c118480a65569fc7d6d000265531256543aa4b2180b604d358ccbf30b5a66ec4a3ed09afa4b2c5b2791f2206e6f8c09857b477072bf3614d9850f55bec02f644e0ad929cd22b8b31bdabfdba49c9e569ebbde6f4e9c56ce82c5c1cb4e5731a8e934b1fb926a9ac728a6468f2f645414eb066e6234d9a4a0d5dc5cd6c01abc4aeadfde3afb01bf63f5f320ed61f0c6834a94236480e1beabc7d29f4fadbd4813d06f33059adbcdca2c8fee5ecc93d37a2d91f89e00497042a286b7a7c77fd86254b9674a2108da236c32fa0674055f8cc7467f10be6dd3d32361b855021fadb28ae21667c51137ef3c3d718832ec61d92a16ee226531364d11407bc4f1aec106ade92ee2732ed85ffdddb2e16ed5e0fac5ad0374f43680136162677ce66299c1fd13f430b5b2158532c14b98c2fa3845794dd7153a1385fd9cc422e94f4a5c788cc064035470df0a9ba4ca4ffe273367386a9a0d53b189ff020fa4b397affb30ebcae2adb321927b2eed604da3f8c6942375518baffd38665759b0bbc767340a301a1811d30ccb4009f6e0aa4fef9622f07c19f3aef13a252b31afbd7da9066f4af007673f0a732f17d8793afb00fee2b598b1a7d9919c0054c0bb55cceadfa932cf9fabef1cfcfe1add710167e2cbb70e08cd7972e125688bf639c7237f4b850e365e899291c6f9927cfa673a76ae111e11e0050806688d0f238b99fe6f33f7e08d5237b04662fd4c62e1b5c57ad1b360f0a521620587db4d49fdd31ab9a821a45c949e133b31a4187039a2a5cb6dc7c756ac357c98b4db34b8733f6269b881736e5565ae0c983d0b8434f20fcd84bc6d21bf9692f949b457e000179f93bc2d8b5f89217885c3c987caaf337d2dabef38ce3d24f6566f5a516d81d2932524faf30015a61850270ef41ac63eb0a4907bdf3418e72a122f01ac105c55a48e390a4c000d42863353b1e517ff438c82c4675d1eca8ca3bd9f6e60f4229d58b452f4601fcfee2fad705cb54f49571df8a6cb512fba86b59b5c7aa6661bd1992fc91af4f87d1216d72ec21f8197aa6eddf2b3de8adf48fc7b01d35ea120ca35b3cab4b1a71fd4976e664e8c234c542bdfa58a7621ef89c8b834e6c1e116deb479e19fe845d6a7f05bc83bc48786acaa354446613d949561beee340983c96df2a63f1a97e21a543f6b62000c3ad1a1cc39034bafec193f7e4bcf6183089582598832f46ebcc272cf1a3f82ea816a3f587c8b08a0d7be2cf15c17acadbe4cdfef5eb08fbddff5e3945cec410f97e9c6d046de10e37947dd55c0ef1c6208760aad8fdfd4d553d525e011399f0b665967d47cf878d64320f63fb98d9a997a72d153096a0cbb59a7a14d531392dd4e185ecb5e55cdb058dd7502943aafcedab84b336cbd3f58ffed6136dcffa45208f9c6c6024393b8aac4bb7aee8887e7190ee4a0ea83fbc7fd68de93977e4da7a223293c23a2ce222bd977319bc074ebdbbd62da4e39a79ff5789253285482b3c7a865214a040d1af720d58955c1bd68556f876df994ef067f4a17fedbba0cd7b841ab6d9cee6df36d1fe686afe17939285d561151d6903385be4442b656d3e55f18674214d74c449773ba30890b23ea5b34e0205ca43107bfa0422f3768129f7886b165dab1a6c82ffa1f9b76f79711af2cd7aff608f4cdf978a1a20eb39a817ed149344b9792862d05cdfa3c099d726f2b92e8b6868743412259d4ba107113f46811acbee28bcb8dced3ba187f25484d16e486983dacb7386736f411218d069f01a0b2c720fb939c296617cb5e2222fb86a79ec6b2be225b632eb441b3d86971c656f74af339eb36906dbd92085183e16c8743bbce80a2702e3298af8b4cd5e695c0e0ea1ced172ff4ee9c30d69684f746d40992b1b60b51df8af79aba111f965e102769d49012758be5f4864844bea97d190cff0905d78393f989c57643fd6ccad488ef311772d0b1905f33ad020d557d4e5dbaaf7c21bfe1b819d54fa7819b0d532938a03ca09c48b071367646621867160b1efc81017f7e926a4be2d290c32d9e60af047020fbc52a11203e471f55effe251193d6a2dc336e46e771b301f479a901588d81ca64a176bf03db50e3b3ef711b1814a5fa28d45758da5550e707e9f1433d632f1bce9e90055ea4b0a3fc90999cdce4d7dc517e47c8280146aa268006b0522b73be21ddd4b1d702ee882115d843bf73fe3432868e8ffe11be02f7d2b2771b36147ea644d0b5da75e3601502898408d97e3dfb75fc35e6f6d403d0434e924634f462aa16b811bccd24bf6dce1aed87767c7545c51f8048060ab335ad34f35aad21cffd8669937ad5431799efca307840cc7c6998f71ea452475927b574a995455ac77b2c3885e7671083c95fdc22d4756225a5e306b0664993e14651ac4cdf97d8dfd3ac27a64a0463bbfeaf5bb4e4bc0e82f447b50e70956f7f75b5fdda46c3559887ecc920faa0476271b8ac48c99cc4dcdcd60f552d16de980444ff2cfae54c0ae24df65ae5df594e54176be49e9e7b1c50bc738b19c4b3a5ac303a89fc253a13f8806b84369a6cd418a74440213dea6089c4d7b309da7c20e02e04f28fdd90164c6027b20d239cf847d8161a542b778063e6a75215344c83b127f8a65a476305d6eb6395ddf94437be6caf4ffbfea6e1a04c29a247043c31a9511ecbe3cb43cd1a5be365cfd75fc968ae7b47397c862e32a8d4db054f405f93f9787aa5a0b7ca977c80ddd76c267848d04e5952e020ae19071a47c55af0c092cb4bcfb921a524ae27fec1f39e228d118274d36800aaf16e5945495310c6cd72ab442df19b36466530f67db9bfd8d5395914e12a63a33d51f7bd839fef0700a373498750c8d8417ebb93eaabdf9cc0423168102087ca950f52fc0fb4b8f832b2ba7b83fe30ca4ed02e207d3012656fbc6d46cd3daeb3415c4a4a999ae6fcaaff2c8ce504bc045b765caf2ec224a6ac84368ad24cb933d77154396a5d8613d27cdd120a3f65a82cbd9caa6c1e06cbec3fe53ddb71ff82017ed86f7efded20bfef2bf017d47fe25d16a97fb1dc4224a8dafab4bc199f6503ea12302a8c3b51e440c2b20e194827adae1f20766f1b6d49d8e664eebb53dfd79815ca5b97e801276addb99316ace0dbb61e17498215b87baf31853eea78ef0a3de37e272e6fdb4e8589e7be9ab6e6df2808ced61a66ec0a977577b531615767caa0b6464e65ac8395d74829a9364aca222ca12f812ba926065890632ea72b4cbac44ed0328d7f01d193b3f75c2ea4784ffaac2331cdfffdb0fb24134dcff6d32dbb7f5af5abd1c3bd0f1c22e8aaa06a3b3ceaed6010482cc10441f59b1374ad6dc8c47a609dfeec6b569d8ce138decc28baf7a52f85504fa13a3495600cd62f6b29ad0ed57cfb2e98c159e414457e1db417ee3d8a1b178440bf7185799dcc560bcbbb9013aa779b28385ce346947d7ea2ba38ea6b266cf6539f24269372d1b1abefde4c266cd116c32bd3f06ce645d59f4b363c676799ae6ca110ead8558ea91a144980ae3baee5ba8ac6349d0cb3018c49d5c518a2368fb8eadc7282c009f1429d5f9babbc2b578cce1616c3eba1f7db14f6ca3ebd0de73c6b42af9f476cf535b6a84d54b2f7c16793e94677189a00ad9e30c488db8e2e82d62353f762215314a8ed655db7427e3fff3bbdf9711257325a60a2cb7e1d3475214d5462d4c9eb59fcc74719de1f627899977538a39ccb2bfadcfde36052b700ae10554729a69a6dde49ffd59397b0d8245bde67581e481e3233b35d228a1603cd00aaf1e3141eb965a41061d634b914369d82db147abd6ed68ff2aebfb9f87a547148ca0b2dd0289ca1d9f9016f9088d73190d501e80ec5d3d4ce3e5304f2e273894ecfa7a13e9fe6e340b0200a35d6d22a51ff88a15b76860b6c852004e9e385d24f002e34f1f5529ed2ed8added18824975d87d758d1b10ad35f5d7dd667dc117f9b44e30c3cfe42c977281e300a0ce7f68eaeb867980113e0f1994ffe02dd19467a969f9d5d4bab5673783e0670f02964e5efb1e96d95977d9e417dea3fccc2241f7ce2c4f76b8b2ada3bc76de73f7f4f0133176ec55ded3e7de8e065d7d6b037c736d8d1020ef6cdfd294fad21dc024f0da62e8280cc2f9d46a038956f4576cb2af04b34e080f94beb4c2999a68301dfb2efb05f178a3cb45edfa8962c7c643098cebbcd51c80066d7fd6342b12a6840047173d8ab12d3f302843504189cc70f5d51ae234c3d6f6f9f19ec634bf14154161710eace9b102deb57b91f6a0d77d7aaeeb49b7d3848c8fe2df8bbfe8cad06aecad20ec3bc28a394b1a740cb4ba9c74eb40423eddb8cdeb823a915502f77b076dffdb1f824c4ab014f4ab7ecb9179a4c591f7efa24c74af21b9748eecfabfc00b42bd1da297f4607ae9186bdab1eb9c2298e48c735662b1fb601e0606fe598d93dc173fd53d43716369863aab58697b0dbd74e3e3ba5c4ccf0d3850236537f839a96c1027cb871ce72808e2592dd132c22b4ec7af153b1384a589bec8038cc1087cb2f5e65f5618c1240eaaa56d53e161f62def392572274c5dd2bb8e45f47e3a5837ae4a7431c09213fd2e131efb77d979eb44b39bc27daee37f5021d51c33f1bc8bef6a1f3ea4f6955ed3fd4576b6d87517e61eb67c8baeb0e6eec9df825aea765c9ab9e00a29d917e6a9a33e7e92e1c18d1ad5f249a77f32e573077c3b614cdb8ebad94c828f0b757ee3eb2ec80978fbd95f10dcee8950f557dcb283fb0880b27a7d5ce1c26f9fa0501118b7a7430afc015276284e4e742aafce1a274f0e55df190bc640c4ff69a5675d9e85df5afc25ffbf2ac7da79707f85bb92ee21429dd566c61f324e7ef26c9b1b92d8beafd975fa25d2bca704ea7f927c12acd896ff0aa2b5578bf30e898e6e68ab6b661a1a5178eee104621d31916b50bbc8d206908c0d8d9d2aa7b413c4dfc66c04c58b06f04876eecb4d983d33b5a9cf10a657fd8c3d7ba2a4277002424f0a5ca8a0cac331a1ce1aa7a53c25d0bf5f08bebf77159320d73841638dfe1a39ead2cde6f8dd20bb1f6c321dc1390eb0c86afca092e81857abf5bfd3544d58a4180b09d8fdbbabe66fe63db76207d06b35543702f29fe2eb5ca358e6f4e295de76a89e93e88f9259ede7dcdd1a9f8e942e2c0c9642f2c09d8249384a8139c5837d5aac23d9b0ebf3f76acbdd4d6f24177aa8d1a9feace8f7044e8c2a8b15635a4d4c10fdf5139f6da28e9b4c8b1977a2ea14c5357fe98bcc690bb5e2fcf0acbd6e3866b2b238aa6144b9f575eb42ef2f20af3256080ed4251d5d172a6df176e408d6c41679325a9761e63e001276e243fd2f737827b5b814f09864817a46978f0b91d5b137da1e0d1f44721a66e14c1f3170eaeb874f976cb3993d5f69da27371ec87b29c475c664d489e802e087fa5e5e628406cd7b5fc828d02a92eb355b26c2d7062830014e6f57c216a20c76659a0a8cd4bfe048bc457b7161cd70dfa94e516f68bd18570b4d0b2d6dad689df43dca801647c9f7cdb36f7e70a33c025d17d21b8c94f75014c06007e01cb8df5029bc738c7b62bfd6be066ec18d4a279460100ea68eb860a71f5597ffacf3dd239cc7bfcd15af4eed6b2c06e8406e9dff6c4e1bb6b40a84d63d67268b077458c0678dbdc3c47f5fd5748fb09938a42aaec7dc2518b0bbf8b46aca162295f3eed5c5149727c61c1e2bb4d39735e9e857b1f86c2b1478f02b37f029ed825e6b7cdfa490fbd9c440be522c3a00c14fa42357b9e980aea85a3d55899d6d8c30508eb5cff62ac4c07ee9cce69014d08d80ead5c44c317f4812ffb30ab638f1462337b2902b2fbb6d2a632cd0b08358317664fd4983aaf534abcc6f1e1e5ae54c7145f0106cffc8b7bbf887e7e4f5fd43d66198e5662ba8aebd06b1d452ca4a822a708776474a065479dacbc68e3f7fff261deb19701bf56ef7d843430b9c3f8cf01fe9d24c0d07d17e718ba060373aa49785ec732bed3f8afbb4a7ae87c3f053678dda69806698f250b9a1811ae4a9fad01aed3734a51d5307cf3dd4d749bcc9e189fd94ef48705f28c62a70d0086d8d679791f8568035b36574ad4e62d796c7d7fb171278251caec37e7c7ad6f8c2ed21d0ca198fa126e02b000c44adc99e5667d21ec2376aac46b0092be19d5b32049b70530531a77e3271f8b22ab7370f5db9f4d17943273a27eb4be306ddd4189757cb9b3dac3c93bde1d692616f5b479445c4465cd3263c5ef5d311665ab3e6b234264a2a4c0c7820e54208225ca1671f2550c8301698b1f7c8fd4bb0e8a7e9ef6cf1819bd233e4935bec429c49fef26751440f7faa8ab48925ace206d650628e0d0f456af3041afe6e587e0288b745c4084b59e2998b6232fd4e51e47342072e751befc04b76c340810c2d17bf270fa8efe085afc64c9d29aef2fbcf8ffb7fb534925ca9d62b470dc6b422fa82d242da32e82e49da69c6a137fe146818872de5fabd62090a3d14cca37da7d1fd6f51b8e10bafd7d36835881795211e19d6d229ac9276fd3f7de087370178d1074dfb95497d63b635456f73b7cfce63fc3ed353fc6e01b5739a0cae35721ce25f4ee1be7421ec81b3d6d61626e45229e0f60ec84fab9881960640abd0ee5e3ba1ce2859c74e9e715dbdedd22b1906fc7f2230253308cf5a77ab192e411a9f5d92744984c2aae5186de78b5720f73ed61a04bad409de3c875141c11a4c48d92aa36bab181be6b0fcfc5eb3eb2c7b302ab1f03792b41b9c4c4efee825e6da4c1c17d469e024180f3ecf0c008f908c8d5b3eea62168f0b4069d9b06d8f32a726d136e4b72de74c3c8c944c174f1a024e06fbed70a4dd977fe58095683275cc9a049d4f728eb6291e0b4b376a1a0fc41e41fde1f4ea3fe96b5cb76f893a4849c46a977c983218fbfc1bdae560a755dba4848f88fdd0b9a2a5eb1dd244af26e716697b06ae2de5675a459acf33560cde4148f047860fc7032154ec0af01a3987e195404077c3be6e9f0e89c82b5398ee63b59ad0d13999e34ef8c12b755974302bfd62328d6630928dec77ff0362737dc10704a71a2838f74888915df825927a547b1b0d213ff6bd35b69c3a6f9dbcc656644de77d53ceafec3df55e36388d78de57008b3c5455853f367b61448bf3e991618fb8d34c34482444e3db31ec7e6851b43db88fb05f9c729893960d2736e6ece9f64ccd5d370bc6622777e094dbc7edcaa8e6e1f7616227074d856ba40aa764132be9b91b77b837187e40effbe57d58a5e7c197b4944260e1b6c71f0fa208ed9650f7c1ce802b9a52c65f1762b05845bc8873370ace1fb1bf487d3e1a548d4193602a9b4a7b585a7986fd679670c33810cd0580e1ea846710905046e9a26eb8f369e3c203dc1f62ad62d39d0877a13614902d11269950233d94ecc8abbf8aa970afd043ce0c4e1e4348193c0f8550283ba99df19c3ff371fa338a3f6c73f5568c098733786cadfa4cc4db226ae7b887b3a922d4ba1af049f9fc771cf911adaa4df1bc3f71b89eedca9fa542fa4a1e03702f412266382e1dc6015646ce1b5e4e9e34405be3c66cf5880b69b0feb748d9dbfeed833a54cae1ab0dffd60ea9ca405d257194d5cda121cb80902c725d2abcd01f04fea20cd7db9ccf36451a022d03a5d9160a6484b7113ce5f0d93ee9c32a4eebe431c98af9694457a6bd6cb5f905312330a62f922f3f312baf86ea479fdc0f6780a51bceddc4d5ef6dfec0b45b60b539d86cf63c451ec48157aff7e3d7167322a169909e16323c5a4e0306f6e318ba2431f75f79d02a91d28635bdf7ccfdca4975e6f45cf02a0b4964d823f2f295876965df25e9dbbbaea43f9ace80a4174121b60a908de2d644fd9277d00acda0ad8a1426eed9c8ae59399d4dc351f2cf1eb3dae4be11795f6e23d0387ede66aa85208e0bff3802538a16afdfd0b63f643dad1734fee58e0e0221f5bd0b0481f60becf980b3b247cf3a877d56f0a4b34d37ec19a76d0206e9da973024b5a4c8177f4ee13987841b3eca701a7a0c7eb756bd7f99d85738204860b5ee44495a867ea3b077408621ae10f9c0b17fe99e3f5c9aa582faf886ef372f16d8d3d15deb5d0b7e5eb9f51f9dacef925649d15e6c33e995850d227c40885146102309afadb6dcb6f08cae688d73ff103ce4dc0a73f17c0bdb665e0cd1f44d642b3dafb37cc7c1689cdc34bdc7653349f4f86595e0641a104edbda8e855ce86116b3627d5822ac65587a6fb6ae01c7a952bb54911449d3fdb0c0468fa689ebe64e3382561b22d28f5ed05099fb3ee0d623269482006c337387535d507cb0fa0659fc28b81c70d791e0ecc8084eec8e922af72aa546e98ad67170f7ff1bed811615242ef7636e0b76cfaf0e0483661bd52323555e8952292d15617f30090d5a6ea40719f63a56b56d44e43efb0d3811ebebe27f1feabcca731c43f20422835a62d3965ceac1364a665d1f5a92e626fc22a987e2c7024b1a95c098921b9cdc7b2a9449d8656f08ae3ff1c6e19075f68a4bbd8ac808ac5c68074b41c71c1c7c1e5b63c31e1162d40a75da25314016e73cc19950b906133d73d7edf131020d5c4648bf56085af395b4cbf6771a9922e5d7c25005ef014136a472555bf851e46c7f949006adb05a5779e92a7067e6a817c55af37edfce3646bed046eda4480bc3cc9fb8c5e7c5d79092993efd22959e6cea9b458b76683887a02ae40cb1b96a5f113712b9b98ece44695cbb7405092887f231f92aac93540f0e47174ef73038a3005f36ed65fbdcafd53b766a6eeb1d147a134de426a8da6c498315f85fd46ca95986d1ae83d972115063959a20894d4083fcc47942cf21e509e04d681b936619d2926264391bdc1cec126706483984b75f3afcdd95662bc8bc2f6b98057211e93431a7afbd643b5440647929bfef4faea610cb366a7b30e4cb842ad6cd7249165c3f5453ee12630c4085afd7978fe6e8b9c6a0c68f3118eb983e5127106541cd11d8c03cfb0879d22855e05150116c576390c70510a24000d0d0801a23209cb267b14d2a58749743c49bb12adde3cebb69e1f67832cff6a3721ccb5244aa45d752afc2b87b35850e5579ac32ca6c25bcd795c5a10211649dde39a81f6d5def9cbf64b78342a95e464d0009e82e073a3b121761dece82c85b58c210f98ea3fe192f25f964483913ef0cbf856cecba3ac1639b90b05b3bc67d1d3d984ac506793ab2c989c1bd957eb0378b5556b5e19575ab390f5a0216201ee47f0232fe357d9c99aa25b33ed9ebc2c4f634eb4617312c6bde136bbf10cf3e22467d5b555a1d8c7f54dee43c3efe6b83fa41d52b4cff0165f5fb07fd8ddac6f6973e5aef41ae333c61ef6535a35ddce90fcab19d2238b49fb14a32aab750889fbcd8031a0fea3f47105020e295b055cf8ad788633998daef381a49adf1e5f8dc498fbd629a69c5ab87bf42a066eded648a2684028f1e75a0df67efb1e8713e92d508ba2b7a5404b1e42f6392834e1111c2f702be699f4ef744c415389c641807e28eea864fec79423d7e075a8a132253c5edfb924e073dbe9a302e0a68d070fa35846dfcc49c7889cc083eaf8838d864f9b5f4398e6a4d70d3a61dd6ee588d44d8d024b8ff3a68b0cbdd946c2d3d239cdc56f5977fb461084fc0a7a096e89a400f835369ae2279d4db45af33341863a68d9cfec62f1f2990412a0506bab338ed7921659f5c48e96e363d9b8301c4ccf7d6d6b122311a092d4d528d8dada5e2b47873459e0d5653292293835b4ebb10eb3c5b98a47e8526c6a0de49264abfff68d68cb5128dc69f54ebb2ea2f8cd42e43d73cef029ecf17c3fdf64327ddf88a7b4073a05467f3bf4420ac53a6bc5ffe35d9a448fc3d21cafc07e68bd708e05e13d52a71469016bf9d0e259bcd2f8c55dfba71c0fcd774d7aa88f888b7c0d5374a785a1a0243f63e32bb77fa3378b63fbc8dbcbcf72388084dbe64653bdb37aee48f493cb3ecd5093d62173fc8177df4694b0d0c496b8988aed6fda5a2c9ffb5dce85220b874af09c8b670b777ed486830b00ab134a296c7a76fafe8e522fbb9f106012ddad42e542133be5564f3eb52b72a8cbdd33428dfc276506aa531173920ca755c19734f06d8ebe3801d0e777f04d172f91752542cf9816de7b571547729e16bfb5b11af19b692ee3612e16cb46beeb6669eb4682e781b8dc5bca4dcd648911f38788bd85c6cecd3953a7ef73245e5721411c690bc65a0888ca5793aa7b570810cf6ea6a946bfc865a8b65ca81727b320169e1b62aa3ac24f03e67687554fe95dc668890089865ec474659a02ef132bd88eb92dbe627d6920aca8f8f536fe8b7e815e4cf07988dc3ad6668f498cc3f597fe91c8460e0353c818ad97df6669d35161882651fe57aab7067095529c8165c406c8c4a8a664b8fc8f81abc245f8139f6f23dd32c7915de53ad1df24bcfa62150f5d13ed239baa656d60fb1cd002775b51837e8dd413dd4f54681e02432bf5a6d28cc6bfdae016c85cc09459bc3120fb2a642e326d9c545a60bfba409a65da742d89a7f96f7d5273fc258f067eab6617d4ce39a3684967753818e65f54d42fc40cb838b479a41c309b590ad8772e41d61bec2ce71be9e620e57897a3acc7e37ad423122a4cc676855ce0fc39606c03d284613b474c4ece6927329b20dbb33e754734ddd82e8d672a395aeb986c85c127cc07fa049fc4010b091b331b5d896664e97ad65fb0de38d1e57b8c6eff57ac1fae1f073d0341da894075a0bf24e5e49e911190bcfc8490abfa4744e6362d33ea416abdd053ecfafeeadc4cd06f24fb46f987d6bd0714b7e4a95a28109580bb41fc245ac39ab990d430a0a100a5eeeb8fa94e84afbf8b2d37b5c33c03a4e1019688c2d19140fdca74936883f9f96e6e4416df8d69b85ccb00960fa0fcb827f1fbc6021f9cc7e49e9dc2e42326241bbf5e4823960e9226833e36550da075447f21236ad89c3c85a4e4bd810c7f4a84c2aa7ed81a159a8eb4fcb498b490d50673ba761ae597166d5f6b051b2861166b3f2a9defcb66744661043b851bf17c29f7c12cfe9e6c8ce8c14f4aa57493c218975a74a2fdfe3b60106189b4ca39d2dc85c21d3788a5dde309d98c2ad2ed8941fca7c795b97b52f7ed9f46948d6e96e975cf946c193cf769d59f1fc9789da4b815042409b96cdd55f6c6f73212af8336debbf2f376e98e9ec012ea8a7fab801ea01b48ec474142bc7fbb5ebf3e38b33cc217d71ebbd63a1f2e00e961f126b3c433a83b433c48accbe4832ad51c14954703325037afbcba43ad71a45a1197cc5214e4e01bfe22fabed5a9cc9b3bbafc36e120ccb433b5113a83b6d34080cc71639df0cb2b82cba481a68fb9b90c8620477eb99431ec0bbf7cf5a4f07810d9fbd3ad021106efaad52ab26f577ab8a18d8267f6aefe636eb228ab030911d5552a96fffb68f13036582ab18026e617f3a626d95941756a4616d7480d7cc363a4bb07bd2df9cacd4e61034d89ac5cd8133fbcc1d2cc440e425822e2976ca30d72141e8868ba0bfa16647b923846887008b4cb08e62398b97aa62e6321a83b3b23fb2290ec4d8521df56e12eb10c962e2f508e620fee83501e6bbe304992caac1403d05112d35cdda7e666efbd909230e9a14671a262a42a03a20c372ecc0fae79c8adebe6b00a21840d19e0a85f9797137a2caa556fbabd6f6066e28c519cea3e36b6dd4d6d25334040ee1e84fb9481aa209f086ec096e686491b9e16f5dee017036a83a6bc80616c1fb43133d7ab1f0e1f96ef6d64bc3204ef65b7831c1785d69c097302db9dc396f31f0d0c2c45a997a52bebce8f60c46aea0dd830f6a56c4bb5578261ea2888ad8f61923b379a7878eaa2c5678d30f3459ed0816728821db75ffcdec879f8dc18cc30e5e9778096f75edece0a845fc71efe2a0a2dc1518dc1f2b02ff13d45d84a5aecaa92019844eeab84ea5e4eaae17fb39f56b4e333de06d2b68b4461666ed430560a0b7270a0d5662a46529888d31e582ee7ec50c9f7406c2ecb4cd9e570577786c4395c31dfc6fca2609793585c738379770006eaf0a28773f431ed4a573f902be6e4ca543405d038bc09ca468b0e2ee4888bdfeabbf3dfa94923662adce8f6326944b3533f0af8040d6aa1cbaf70e8c242c1ffbfef180785d9c092343445ef977264fd0cf7f47987364d8f4264768fbc0949ab772b943d55065b8ecc1c8a6ba0602acd24b36e58c128f509fc1737232fb5df552c0a3dbc2acad08c9b9ef6f2758b09ae21becc381565f6baeea53a24be31c9b9600a49fb0767b24c9c58accb348918aeda537a4290fbd5bc7ff2ce0af252bbce31e74d5bee9702db8324204832b7b10b5af671d3b6bbd1c0ab9ecc19099ee39249e5a69120f61d125c796a5bb02af64d338bb373298cc6392d5f55c510d7118fc6f3730947c3dd898ac4b1fe3cd18b1944330325df93f8a2d83c952588c2561df96d4810a8e21e3099702719fc8f7292da4f4f70418b31c2c65b5706f94d3491994f4334a3e58abea1d4e6ee153caf48449f320fbdb446ea4f67e6f2ac149df1633aa7b5e519005a5e5c2dc3af899284c89bd7d714cf1a7d7f1287ccd2530af9a593673545ecb5fec459db7840936d2b421db560fdadba51036e649a6872d5ce865441c86f6b4a052c4b00bd09a690142aa9b6aca8efbba86ba5ea79d0ff9c77df65234ab8417ea8d574e522236d02486ca95f4e55e061079997ef2b3772d394d2f46d5ccd438c795d49af0d507391b53191fdfb5c245775f4fedeece00affc690d10eb9c86d568e2366fe328b6bd1e83dbc49fe5c0752bbb3522d3924dfcebb3b496933f8e4ad9c6e18091dc689122629f2009672454fed849f7f1ed648ffc6ea88cd80dccdb9585905eb34fe37ad2dc739f029745c3048ced77aa5b93fe8c9f9a791201b9f09a735b9f6eae119a88f8ffff24b99095594649a5d3e1a25fc4cabb631a95afc389269b72fc9571bb069ae1428adeaf3cd4885227a3129e2e5a0b949eae71306ef15e3c1e2cd4a35154bb4a241dbb8008a9a475880f08df03fb6dafce7795e3309ee37a3280101c45239894280418ebfb4e6bbadcd4fc3bc26237e2eda47a80a90c1699b7c11c263967bf60cd860014b9e0e2ce023b8b93e528e7774cdb1ebb21f0a769c9eee72874b39d46daf9bacae8bf7a0eb85e877c5a19538f1dc37d2390f4618e371d32921f09f53326089dbd0c7e5c41af0dd45fb9cf465e6b8d3e9fba381163fdc6878b5ac307042f7256dacb18cae224474900fdf8ad1281878a5518c56002c5c9b577081ec4f0b0648cbb01bca047e183b7bdf656b8b9c396033becd059aa2bf8b98a6d6b9fb4acdd0981b1ed2018236e0cd209229fa61bc0b99b9c2c9a5666a244cddbfc761c88cae22c087a9b057a914095732416b901005dac04f3405e0beb0624b67aea8b8c477e7cfac22b5ebb759acdead60e329577e2ebc47be7fcc98ae55a34dcef344851cf6d089f136dbd8561e7c27dd8df634009cd481a341322deb0fe9176c8c83b2f4f5325e2e96c7641733d768906f0822287d89b877ec35da65a3346731c15d9c4af4d0d23c0374ccfecbe7b984f9f2946b0cf15a3f85c82beea5495d6ad41f54dc09b821951a23ee62db4f3b7d1b2b7613fbd6d5c475b1a3c5214348cf1fe41568f85af6fa0c191f368cf21598b4b34b38f9d502dbdc4efee805b3993ebcf062f25c15e3d49e8e381538b16b095b3cdc5ac12ed4d91588031b93a8111a4da82078a03ea569197ae7157c00a046267f1aaafcef59afd0f19cb78b2e6c4927f83cf9b540b53e99efa85512eedeedde57ff7169e3519d33d64528ab8d6c20dba598480b67b8d13f1970747e4fadebab7ac5de3c3b006c4fb95065bb6db5cc833022e665f23a5113b11f04d3817bd7fe3358a91a33091a44c760346e8d49404c9e719bc3d04f22e7fa7cde4c0f0f0e5b80b3aab52e228b7c1ce318038d1e6bd6374f7ea769070d4b8826b811fe6a8df3d0937a5ff13b620a096c30752724a1e350a1e2ccfe4b1e599562799a801882d4a6aef8d997e183785e2fa735b3c61e944818d8c9fc52a28d35a992334bdf25ee3a35d01d32e6bbde7a9606a62d10ced56574103e6cf8b044e19d541c197ec9eedc2f85c7bc77d2d78a099a250d6bfddbd232fbfc24c011e2af655ea7616308bec31bff30b4f386294343d69fb58b0ad1d42f8e1bb8062e84b10f63fe84c76988c243dce85c541367c27d283da57b906c101f0a7f8e75f4b14577fb1214eb46e4ed4ded92f5683ca8b410817c1fb4e98901813f4933c4e7991297c6195d687762fe46b835fd5b477a0238a972e3d1cfe882847896713d6cd9834e1011c98d34cb60d793d77588093e4fd714aad1d485c145b01d3e28052d558c413d943b402eded983f45fca92cda877de1fd782277809f634bb8eb52a83dd3d35995096688f1e2f176531d53a91781f0c31c5afd91fa32727bd266d26cf0e04d4a14bfa74c1e650d29f804f028a1f98ad9ae81b7d6d33bd990ba822991458fd77291da7a34abc9a3651d090558e31c375fd209aae2de668706026a3f581d8947f9863ff7abbe873df577a58792673736aadf1d21a95c04cc82a15656815f56cbb072a509b304b728273fad10ed71efa6466057d282caa7fe2de12e14e24f71e13160ae93c7a3d8c78ab32c5fd02c6991f89d7e7a9e665bcf7a4e38c2c8bc6d17a84e859c76ff13d073a2676e528a9970f8f8a73b2cd74bc978033c7e7f0d622fe2c1cfab9af1b027ae21626426eeed40923d73bb0562126f5e22339a537a700065f06275b4afb60ce673bbe2769ad129c7fbcb4f0d304ac15175348707b40a5fc6ab11b5cc5ee23aee919193e4746a6279f61c7dad42c18519b5ad8e68683eab01849541577e7b2cc27de4d522977267288b8abbbd2b5702bfcd69a148bf67693bbbf0719db10776580e82ee22f2f9a92fb183db12d531aba4e5f50370fd2a68bd128acf653e86ee602238fe1b2c98f0709cf9cba289fb928ce9bb1599edc72b2ffb4236ab0b5479d44f51fb2394347a1f95efae4f88e251c7b2a31d04a137e8ca937a8c0642f3a4db764a34dd1c048d3a3f8ac456ce763e3f5c14b639b8760026c1857bf754fede004da67a8445ee21ece4bb0fc0ae8d8d297e1218d479db1990832db19d72a8a58374753548682be7be40639664685ce2801bc9c9a1bf13f631208c826fcb954a3ebb3b92a7db946eddf01e75c7cb5ffde00f82260cdf9b0f6c606e5426320cb4965067c602f9cedb1dbeeec8bfec2d69534e922121d5104c5f7561d31aa9dd0e86dfa7d9dbbb5003a3faf406add8a68a81c5a75d1f730a03d2cc28be778f763c4b77e683603f025fb7d554198ce2453577a2f4553d888af784f262e4e170c3adc996e4e1fd7ae6f3cb0b6b936eb1d74b3cc53b33912600c7d34b4d50343b7561644e521882042e68ece1f4d3e42bed4989c09572222eb47abf049e81ffe0789d5cbe728b09477f5662591e632651f52fb1ca18383ec1c23547b2251452674f27a01bf5edc54cba765acd55c03d8f5893f52cd139600da248ff95257d1a5c1b384688b071eecbbf070c2b940acb2c60d5e7a3e7ac03253a5ef19d7f3fadf8d5d608533f3dfd8ce57f13f2681d162e2be4302269a873bfe648316bfaf306aa813a5805ef773cf5de97b48d99049dc78525fbc3f72c0082e7e03cd900d68002f1c87add89e153d4dc7c7e42bc405927b1b219323df36bc8b346fccd71bcd154bcad7fe4f2623c5a5f360d073a730cbc9319663771fb89aab7d6cc2921957d5cc850142f0644ec830ae1e503881c6061c499acb326c5bec829ff92979d8fc3515e074559ff2cd3e0a8190b0d1e71a31db035d18bdab4bb55a9da99c074a3dcb66f417de12455bb57a2c83f2e3092016a9ff0e7e9d098171f667f40f23c08da7b52eb00c5d4e2ff15f42e93d282ef02df10cfb0c624efde9555e282e85a145ffbe602b80d5872c958b567f2e705f58e0a3e5a17b6208f80fceab287ef42f79ca61a3b122b339388016c6500ef5bfaf379c5d49b45a9a10ad1916f47f692fc79365b84e76396f018d2dbb8d583803d077f1aa95a8c95f8ad6ce9c133fad4fc50d1b7744390014dfbded0625511f86da15a1da40ff39fa662c60cbf49b6ca8a482fb65b5dc0e378c72470dab58952b559e73400002b36d0f5b499eba92bb4cd7807b4c2ff4fee1ad038191b9b777580f53d26775a7460ef17b40a527b4b280d91f0cff646d586d176f81bf4dd04211279e817849222ae09f537e149229642b7a5e326ea8d9a9a3581d54cfcb45b8fd1e96ebc11e040796d4e8f77e1b05a74326129f4bf127d1c3213481f5b2e59d39344eb2fbb4b089d1005b7419b39c6694bd9aa1aced7c93346c7745a4032a363f5d56fcbe3596392a024819bd94a2b9629d676052335771a4a4a5990c87b13139f848247d93896c493e5812481b7f6ecf90c288bbd481513fc4699f7801ec57ac16b86e1ed72c8a1c4f0df4a36138c2a22a278a6145338d08a2aebe9a72c2c719ecff65f105ea3886966c040b42e030373174c26db0dab1599bdc22f6f83acdbf82a7b81c27f126cd02423cde2af62378789a1968afefbef94dbea830aaaa46cce4a296fc9ddf68ca5e497197d4606f02953da4b905a84965044eb778ee9ea543a2131a6a6b1f4d64b7ec738da27b9ecbc44fd02b1b49e284ced4f5225eb1eb77c85b38a67d8f1eb77185e5e6017c13557f3655a2dbfa998cf0f74836a33bf4124db2b2ccf38b244ba228915026dd737da86c0be3615a860035d5dab6b39dbfeae2c2c8ea8ce9ca844368a12a759f19476fbdbb02b573c977c0338900d47ea2a54d5393537401d9735bd207db55a6f360cb7aebfcdcc075dc49b11cfa256cb28d887b3aaeef770f1e3bc17e01c2112fa662ed1f9b7f84fa4e244118d0da19215285c6272fcae58324c39d43c20cd84f789dd86705ba8ba44c574c3162293683efc1cfe883d93a6ff6579d130822b199ce574513573012dbc0071549997db7dc6ca836bd9238970ffb91afba19727ff0634767d9a32b57802ceeab2887d8f692473d7a43f21c9dd03cd0f22226ce420b22b62f79606dba579c459e76cc08ef44816c40bba0edf83d82b12304a856cb48f1213526a63786a68b9e2b45d3297ed932f4d3eec3592e5256274403fff40ec31f766a99fdfd396f92bc080bfc659d2b91bef0a9de6b1f804281f4ba9d941c9445e0a3a282dfd6ba04cb94f827f581b456528a0616a300730433418023bbdee84a0b5a57540c8b54ce2be0f668727425382a4774b45e411b5bf1316f5c76f526e6150b5f96c03fe29378ddd8d1b303a5073689d4efb7ab221027b26684b38909368afd845e88753cc5ac7d3ece40dedad91537e1fc51bdccc5bc4042c11ec04ccbc4f3625388c4dae6e9f51214ef24807d45d75e1c0d0fb5c4c25102a9f84487527b02b7f2c1106f8a804066f284b5a01e4b2b516fa1b19c1300036b15e0ac130be1e1a6c2fab469e10f315eca45cac1b8c83194d4a9a2ba06af754e28ec0298a2004727aaf1a34c5cc60203de6d1dd9c900a654ebcd14099da02003058313a526fcfc1afb26e3a08e146611df1c0ac40c6a2bb8200c81d5b8d6f562ffe894009fc996bedbd176f1c14f9df333cff89bda05404f97055a17abe81f0b952a05aa2aefe0c3de7e8eb728c34ca1b75b7389d390199c17a7acbe1ea59f643ee302eea3cb8e4c3ffa43d7ab15ade5d09c22303e03f498e8f0f41f0bd70450824bc6ed247858ef61a026f2110a45a65a9d7fb76be06ee5082f9c68781ca546a8c150f95f11137d4d4a2bb73815733dbd1fa2c24991c6555229378056ceea0fef6cbb6ce66e4bc8897975d82234af184664bd6ea4d286d5bd35270e2dd5ad59d0edbe9cba6958563ee449e3208bd57db6eb5810556a1f6c150cbca901b42066dab6ff86b56927d263cb6d16d0d6b7c25618f4420ead04fb315ba740c091df2a05537d8a6d8b50ad8faf755b21dd1813059e3493a87bd4ab97a55eb11b28ad5ae3aeb4285121405dbf64527eae6dbaa8bbe669ca84a0e464c3549397480db3ad98ed6cea4d6d21372b898c9432823324667aaa8800feb6d4440efa255bb3dc57af875698aec023e35d37fd23721bfb747ba19dc8a9d31bfdbb7bd8d4a248027db4b65a0d32ac888ea3fb4f9775299f79691aa43b199d1896fbe8fecb2aff69bfdc87378b0a8c37ba25004f8d9c7cbc16e3bd217db07000f765f0aeea74cc6f48a0e679ca881fd944875501f5638be3d3b2422f94e9cea1cf739e564662cef50417be9e7a7307959c1f5410a6715fb295b082efd42032e55c8f2eb673931743f780276a76be0757b5591b3b5759327f19e8f569f8704288b952f8642f4f36befa9879b972f11c24b61261b20b59ec3ed2a5e2a485ba0ecbf0957255bc8a84600a936edf36bbc175eea676eb49abc19d5f61c800add42cf59ffb12c2170e05f436415ee491532d54fc33fdcf4513313c185ed783a0efae66c549fd4092c150ce38f00be81714d958473faaf92bded6198401669f063edb5914f44ae3bd6c804f6e579bb80a373f18f9223c6816e9f8e7f63ff6074335d12b518140972c2f2296b486b72d3234bed79274eb9287844dc72a34eae3273a8f8d71414fac229226d90860a8b3a935622944137f54526bd58c1ca48c2c0ea4188147f961988b2bed27b56538899e789deeabb57fde59b0feba647c20f73bed9589491a040e5c34befe6d00c7639c6fe2ec6d481a6cec95ddfec23cceb71a02e2eafedecdd8cc452d788ae35016884089b5274526c1d77d90abb523df4ddcbecfd25a332734ddd8a4f46c695c256749712b98ac5a718f2b03dbc59b0a23bb6439d65ec60e5c253a0594b93cd63c39d51eef3f2082f61a4b856e84a0a88566db893b885bc0bf191df8fbbaf9561d777eaa41a7e4da5cc09898aa6907f4e01ce36c7086e344b62ea6f450a16f650780359196d29c5e4ff8a63920e6b08d0d34c9c53a45c436bc23cd895f8b105df71096af0c6cc2bc55ac13c84727006e2770f1e323f955d90ee9988f67bf212d1641ca7e4ce7710e7096aa3d75ca1714c14bca1aa3297f768be85c8114021635d8d80b0063d8559ae4be39e267e627cd75a315254259da8482226f0167c8e86bafbbc235d7d2d59a8e768d947bec90afceefc1208973e60aa499dea806aa991431cfee21783b7e764e83fbe9751eac42039fb16a495f0abcc03843e791c58ce0638c3364384583acffda4eb2530ccdfdcd908b097064b9e5c9c14956d30a117f10a2f08de1ae75cf45e8b34ed5b6c4cfc35bec452bba5c7ff6171d94bb8bbabc556cea318cf9b2b473e285b573ebbd9b9a14af70b767860e0005c5dc933012ca401a07bae6bf3d0990c3defaa9edf4ecac5e542f2a08d7bf80d916af068686f8027a1a5b34faee7cf1b7a17e8517e9f53127500c402df7b9a0600ba1d37c67bca14e51f1a6c872616b6d5f68b6c2f764505f084d76bb310d0c7f4ee85f7514bf9153d51e8a2b27f4aa4d9b9659dbf7dde11e8bf72250ace9438b1fdf6f095e85e2fa37f122ed99801a16eb93b7cf5fae3b306ef8a0ee8cebc8334cf852d6541eaf19e03a529947c13f47b903e61c57090899f62ecc7fbff88dfd5a87e66c0598535f7da2c6d2f30e232a61d79e8dab79361463174de8556e0af49aa4807d4ae29ce0891daaa9a9f75675581b6d32e794b790a22d59a5427a4bed281c49c7eb739db3934ca602f14401b89ab0ec4bdfa2e21d2e86b1af9b5e4da8e76e1f968094586e0b58d9a67c9cb2f2be10bdf5b1932f5fc7bb94dd26624a1b226edf80fbe8a5ab9de2a47a896a2044943a402420116997f74fb56747a1403bbd8a942ceb12b12fc05a2d5d5c752f6a38b50000787b06df8664e79cbf70be8056f4ac3b0e017661da1ab06b502c53acf7cf59780c483e2b23fa121b33769cfb5d245816a406db7a192b51b97976774b2733c12a4a503790e7f32756c7692f4976b9a276921841e83549d27745fb983fb102542997133ca79ab2df3b4dbfed02eaab6aa5bfdbcaba031bfce81e276049fec0385698000ce765e1b36fe4e946be24d4effe3130823d9a356700f63929be3cfb18199d7ea9c2bebf610912f38ed75dbdad60efd9006aae3fb408fcebb17f6000f4f53fcd0273dd63d48badd56730a726ec5a95657449af2e5d4aa7f7d1860300661000a61eab5691669abe99b5435b1930fa0ba526812fd8af75481fe6d48f7c8cb64e7dc95e450ffabc317bd253b12c80d5fb682d046fbf4803a5c78ca8050d3131292b4792ae125e464ab6e3f67534f7c18b358b6e46e52dc001bd7cd902b79370e0348d1c45a02896b66decf194fcfaa1d8c239408bd7035ac98b0cde669c51c0e76db3ca153a00f889fb92332b39dd4ae71504022f6c60b3541a2ec0d1e7397e7815d4fd6143cd2db7941a3e4fd144a74d9008c8a90f00e00cca95ca270deba6405180c0a14890510196c281bfcbf5f11da8f4ea3875c5b6ece015397ee325bdd4e14230cdab8df90f517b0d4d1d3e1b1a46aa31e1417cbb97fdaf18ca7b532bf674f9da509edf93b824b74a853e11c84ee1ce8bbbad5f660b27f12cde400c005a1b5a85077b854d3927dff4665cd0145bac591d9ba93aa3424d61229fd83b333d1d2d6eeb904c2a3c2c612160de9f8d76539679c21eef5c13a6d756158fb3ea43743a98e2b4ad40152bd2b3aa6f48aefabcca46c9ba07d7c37930ca71ef59487a5b44ced40cdbea49b49c633b77a63f0cd2449adbdfad89b012c236dd975551b50976df1ef2d6d38861c768e5c73850fa508e9362aacff6cd69432c33b925fb2b260c8f9a6982fed661730d531d11783db3339d8bcc8fdecea9c9db22c9edbcc3002866218722a69d58a16e421b31284ae70e3cc23839607b97bba9df229e30584f6e82c97caf97b2a72745ffe7a57dd496758790651f22ee1c5262ff70d9abb923b08959c2bdeed34b5ee87151f684181ffd5abd9ecd393f5f3dbd660f2a6d3095a684a0cce149212f2de9528c589976b72062e0da2ae8716ac6cebc183abe011618538c0b912409eeea7bf2ea9aa6c2f9360a8ec55a6c0b6fe2f241b547b4fec247e2659501366dab5039b98a066558287bedaf084774220c584a3e17640f10c03941949699cd6b63b809818859a55320630d6f4ba9a0233c8994e6bf1bc7e317e18c1a54c78a2f9c4629d02761c6f8dabce3bfd7420d4bafa2fd98b087a587307e3a327fe0afefbb8ee2d876440d8ad0f297e020444311e7b832f1bcf4d24c875a173d5dff7fc94bde203e552b48ea93e7616b1a23d868607db607a47ed64378373f10581cdd2123e75a2f17e1a25f0ca321e5e905d8be435144d889f8ac2e06763d4acde3611168d40c329a634184d0d5441f73014272e220cf1f87b6f3209dd447cc71721938a8da28d1d808724bd06d547c653379f63552da89310bcaace41504954edf0cd5808e808a6857e401754dc73bd458a189353ded55b75078fc24cc6969e95672a47bc3f921cd7cec0348e10ac3dc9e9b68b68f9f8cf268a411173b6131bd6acbe7d37458d12670161f200674ed1219564e0743e8a619edf3329735160ec06901ac7504d9ca97127368667f2881275f9ef9253eb8d8228c92c2fd594bb97f7fdf4c8f215d7b165f971e3d0d1f425d14415288ff84259d5573307150333db967e3a54f34657c883920592a4aa57708a5181c33d107d8def125ba6a97515381ba8ea7bedecec44d71771a7b7975dd9ce4d5ce6a8662926d16be7128913e5e5d5d8830e3883134b6a0711a9bdf6ef6cd7c7bb1e3a3e2425bafc8d3b88fb7947514218878069fd65fb34eef1439d49111990928d0c5214e34ad1a2f1b940f108c6344fd11751ad33cf73679de1701c4cad24c32c3c272517fa902900db0fc75d968b008acd1c83ac339396addeda54e534e7f9504936522962895a9ba9139ddf22de9c45b15bf5a97a8bcd9bbc42bc17961e587bb7c5d9afc811e8a775a8f3c7d4be5a0e7bae370e559b8a50b24678cc9fdf3f2b905ea7dbac6fd71f59341cae949c5a89db95272312ca72c007afc5efeace2d4d21503bf85257821665fb7ba2a59e8fcf28927c966809887e7d5d72c239b245d45a84ea4524f4ebfb695233a54f6f6c5dae003345b8c6035a87762e98b9a37f8782b149d6b0658f763a96c7a8cfdb64831012bbeaceb822f6413fa2c940f63e1319ca2e66384a7de0c513ea3385be854201a74b67088b5ebe2d6a62c27aeb2fe0aa8b3056f1b81670691d49adb3ae39b092953db330a692da9cb3edddf1710b956d34f208a68a69784c553f4715385c7c72508d276c3c3d5b5516694cdf3e5307239a6942b7d2c93bffdcac84cde3bdc1c0ed455922ddf56db5e8507807109d4ec5142c715659bd7fa9e528c129d640dadd906092e5894475c49a3a1c170c103766972cdab59b8dd218f36c018fd8feae01c59e979af5a21ca015a947ee17a2b97f1c6194734cfbe132c98ad04c39e225ec12eda77838b800b12f67ad56f266e767942b6f621eab75e12da3e521f8c0193834f289b2156af7ccc473c820e276075c268adaa541fbe6b1470503966aa74f519a911c78bc592f04994ce313d72f4516010c88aa70c1d51d7d0b4f2e2d47c2cc802e21044b9546324ec160ef2595cb37d9f62fff24b2cf57dbd5d319e5c42e2880d5b70d8b17e1288dbc11a3050fae4a5e586574c7a8a02e75d322a4266693941414101d18c9c2d8262209d1b82e2d30f35384e40eb34fe76913358289a2f304c6fdc671a4a504b4448f1fd29942c148e92b8318deeb767fabd60822113e575ee664ff09a1873aed8f7a495793cfb7b5a504015f3a9074c641e7371b250d867d751d90e4a22a8ac17fced3d50affc4998b97bb644acb07c55a4dade3bdcb89f6f82d6c24c305d68858b3dce88e1c5e6fbbaa4b78e68571619e67254f32655dad584b5a8ea5ffaaf8321e09292366e8fadfeb16e310bfffe0a06c31ab1c80f1a99d8945811fb2c426289e16dd053faca16150492e943a43c83e6b3069531dd498ef15dc612fb2051b88f7da83afc5764a3378f017c826ab55382386c5e477c8c8d34ff026cc9e02cff10f2a23bdbb41b2ea8367ec4c6794df0c934fad90c07bdd399b9be68225e9e18765b6a18f8c4de0767e791f4b0ec314a4e7db00ac64588f1350c2fed0a794fe8d988277d5ef8d4c35abae00f459017d39a7b0c3467752717f3d090f771492d139ac83743c5d8ace951e06511667472b6f2ab2b49d549684ff3724ee08c6d83c221330bf3050de85a124712e8d11e80e59e7a2ba4d60c213ef7fb6b97416915a8b8c3aea48c6aae3ada79a380fa4505b1a58e9547222402b88c7c8dd09f2837e889308c5c4b2a683eeba8cdb9c0b6a2c45bc0159cd41370156c538db4935d8e1a00c4293839381baa681b9b6b5d5a452b811ea05879df0db296216587451eaf162e9e16a8fa8d273280f282bf9e810f00ad9905977161dec3f103ef789892ceec8c453e1398ff487485f1e1b56fa1f4199272288f9984956b9f6b33e56a88544bf87093284d9f7be8ebdfbc054e736da7f0770d3b1a3ac5647cf5e39246ca6b8421f6a0868fbb3949fbeb7daa963d8d329aea4a1a92b3ffa437d8561007321f68d161f6dfe0d19c46b783e6c367dde74554ef3466be58678c85a59de5f59a8b6153d75ad994a1a24c4f5159937807e516d34ea81fe5ceb642bf258ebb872bf3092b655add9262d1950e9a445396367f41bbe919ac90a6d5f1c84aaefef8301e1e3e5277b78ec155bb9a4ede6e995e1cad2842fee4a01f91827dd875e37c5d37a3990d15cd64e2fa78e063917dd0ce48e7875fc4271c15cc90a85d8956d95ee511ed3329b16535b6df9e89c7df515e26be18233fa863091752014b93de171f920840fc7964ed4455c37bc5982303b58c96b9ea7d446f76387856b9fb468c0d2d3c95dd96bc688c8b66ab62a09ed42e8793c82edbf4a18ba4362891f1ed91026933e1a6c8cedf1ea2ff2d3576a20f87dadca8b45de4b29c812d39caca1a2498e207bcd39ebe0be91b8a175cabbe3b9b1ca9cc2eab3588d122c15eeb2b8680b21cea785052f59742d3212491166ef8657026f2bb2db3331cb397a6d16e696620137c008471ce23ced65a437336762b4e795389f5bcb26461e5c940624567f0f880eaa53082ff6309b4477d655ddd2c5657e83a0761700d6706f012c7365f310a6b0a6696936a106d69ae18801e22b5642bdc9ed3ec44ba4f8e858fd298fdaa07693c58e5d49cbfe4b4950f42906d3f5d7be263ff12e68abd5ac9e98fec24d75cc8d570b09d5fbf7aa3b51eae5614cd4b8b1e15ae4964bc5c9f98e531d2309a12aef4896eb7baccab4c08e41f8ec3bab0428999e00f5c5f967fcc00bb4f7531d512d8bffb92112b0c0cdd010647597ad419ce1321a1a7a9f6844018121b455029cfc01b9c226d38ddef0b1f79ac3bb3e48c14aa6e4cb5886966711b1399882844005618ebbf847a7abe7b569908ec66ccf33a33b939a02a35b52798aaf087735c3e26b79944c7e73d7813647d95ee1a82d241dab60a47141ac84bd8d694f07ff0398404921988d663226644e8c128a5738b53629a7d33382423c9a759018acfe04c0828c411e8606a494fe23706fe92516f1dc3810fb393d02d88274d6184b82813c5ea1d1838e53b46b5c9e943420bcdf2683d65f6feec81555bc89a1a710d1bf6dc527edab3c21a34cc92569fb438f373721a5f55479c68f777f2ecb4dc6c78c393ae969c9784118eafe604a7811402ab4d254a23038beac454e97d3ea03a7f96bc2382becf4e8af9981e1cbabbf1f2ff69db1bbec9da874cbd9a8148b6136705d6f698ad81d642be540bdf4e4b6649fc29b9186e2d4eee688c28005cf56fdb903f8c52ebc10096e5abec059cc47f71b3bb44b820b4b6504af2688038e19dc8644c985993046a66ddd07d4ec4f83151659e7b97dba15809283a853a42ec0f7e0dd6b4bf6c472338bdf336f5f9966eaa2745b41f47cda1c17ba263f1e1f24b0fde3816c10c8822548e963e52309e741c413a2d1918e6f8e31399a350f98b5fd46c38155546ba6eb57b21d42c398705dfee7a19943169d028afdb6ae10ae5bd6712b7924aeabfe34d1d189cab7ab4cf256d011f62ec43985fadcc16a995e0acb84e70b3ac8ff52f958c011873e62d4b29fef65d502e8e19b1e6cdbc81298ab284e5bf42fd919a75adcefd79c9a2bc66512df3444e82a81e3193c764cc9c310287e7cb7b8ef5184884969d7efe2d983090d0b4b0f47f0dcf0f5853b830808677005b1af9d1f954c92771a812de1aaeaab05e495f51bce83bf43fda6868be33ad1ba508f05f137c84753ab260b706d1840e4b1c2887bdababbe7341de2e3460c9ace4ace4a161f88991e71d11375134aff8b981eea11bf7d3eca9d7f528fbdbd351ec5fb9cac076e3a9bb25c36bd50066a9e56302b4da2687814dd58ae806c129c0183063ce02ea3b1a84f920ada1aa0f1deef0bd9de723887bfc123239b4425757ed3aa57d2bc6296a4f10ca349c2024ea7ef12b4f500b7c4a5cdc8997b5a843caf992fb3b4704bb4d8fde974c06a5972a01b35c006499068667e0e0f10770ec9cc2bf22057c95090f93c597496306be62468a0d0d6f6cd22f23a4bbe915ff6f5a24ac7f8c33533554d04fbdff9be02bdd5420cd4224299523698bf5047335f045bedbc9d7286a0c5947d68947b763677cffbe7a0febe347b0ebd01727220e80381cf7dc8826e6780f6577f60680027c511fe2e563a1568b1fedd9b91171b707a99a000e4a930291d6e24e9782d5a3e04c365fbd472525b345e9840fa1b44a6fe1a603f404953164376235773004b20d2f58f2587bc958069d2f7141a1cf08e86206a1349de24aec899739cf66723e1a6a3bc7f59cd636b066c3a1be540fa02047d0d3aa5b7d6fd372804b2c3eb11072397925d672b1261084d8b33fcf118f9531211b9f91297f625983d6d268450fee3f80459f8b5e5e09114fb9a924baca04e27e0f59b6a98c531d0c3e0860a0ccd69bb9f31d5678c9ef182232d08ad0bdaa11150ef23eb2f8a828b3ebc0ce8c04f23453a63e0f9a0149e4c2222e9e7aa6f53e96d27d733209c1304fdfaf173f4fdefafd81082a0317ce8757ce10fdc2010125345ba28ab03f5fba8c1a041ec86a3ee82841d03cc5e1a6bc568ba020a1de85a841657624c940f7faccbc13933eabb2fc964ab6414a69c4fe465061fbfbd775d02091b525152c0c8e200074642613b02b520341722d8e233795b4c6008bb066531832d6f5764dc479a4c6365a1339386b5da9683d3babf4d34a7a71d33e6ed2f483ba1fa205adbbbf994dfeebfc08d466da93a80e84c1b170fc702de95f4ed845db09cd4e912bc90c7a44be5363e2103887f5de8430c789eccd4a9010dd4c9fe96592c85ef54065bfa9f203356d2589d8ef16ca196680336dcc13b90663f00348e2605b158c9c8dd8b72ed98f9c7e93239be52155e9f0d16da88854de18542cedd6db86698d50ade7f25d4338b56a441b50eb73753226ed8a640bab453ba85122b9c439c93cbe6a24e90f1c312728079d1b35f2e743dafc92b518005755e2be5751f69cb8073f36a6e3cc6c8072fd3438a72c6d1ad034f8744d8236a9353d23aae273c7b1aa776ab3fd0d18bad7f0ef750a9d865f71d25df46f91156f3883988377086fd5861dfff69cd67365b46485721608569679008d4b901db02c7fbe495c576f61da51cc09a711a41de5a819f36e06c5c9362460c4e7a30f389e1e0903678158525685e2e850af4c2a44a66ba1087a1b27d330d7e371f77d2cd10b4078257f681adcf4c8570eb2246e5ec8631831045fb220f85ae9d75fc4a5a0e6ea5efa9f21cee47cc3124fcecfd897def3360dcad8c13508a13af28e314275d487a95797cc69ea152d6f537a59f9b3b5d6a7e42dc6c629a0e272715462761a4394f5b091d3657e964b708f197fbf656d0b8e75afb41968792009efe0e565d61d9db6ca3bb1f5c77a55d47955024174792ed45293ade6c5682985d85457b9fccc1dc4328a19cd7365265ef63c0af6ab1f89a166e826a87dad8eb165d3c236759cfab6e1f123d334d3f16770e560d4c6ea33f774c1b9d9658e8bb443bd5d0a33c1a83d77aefb5d199cc76b1a6f81ff5874d7de57515bb6e5c27eff02bd1bacda0917325d4cbc0736f96d079e9581561c5366a351e88b79e0fadcdfbbc437fd3351b89bc824b9d72a8022fca78c0973cbc98d330f4c3a26259050b878750cce33e795f79255ea332bd8f80368f68d73372c5bb56d462d5b66fc646c5263a34fbc56e2613e048248ae03daacf7504a4f3d934522dacaf5f59853a5f9aec82ff4606a3743234f7582cd59c2ab84ae0c58dbea03700c144c38d3535159d6a6f416f9f067334782da91077d02020eeb1472556f90646605d4e34a341fccd81148c3a0d2186bf043bbb6063748c5550baee66987cd796e7a6801daebccf6bbb3b673b7259add2f3e83898541179077f631858241b7ff815337f417dbc7ec41fb5b9410a9505f417fed1b5781dcc1f59aed0f29317e88356de6f04c4e0ff4d6a3286f8cc4648ef86ba46be8247a19b80fc9d2c0b9e5ba5d2ef806626abeeca2b7c5746fe93fde3e47db58cb01ab4bc155a4a750324ac1151ec9b2f1c67734e2d0dfde2f5ede84ac1cfe3ffc6eb0d37b64545484246a66ff7e723e74e5b7672844b9243ac4e3e887d0bb45fc57a5b03b21d35c4b4072837097d565a26d074b25572831ec214924535de7204433d56359019b055672dd4de1e428a8e3c7368072114cc82909e30a29ee489db388feddda4975b7a5adbac50c4bcbce0fb0afc69121634a7bc0f91a8d241e5ebf53ea6dadc9e87d1a335379ffe3658547635904cae6ccb8b7d1e578d0c25b50aa44db04acd02391f4eb712839f817b6f146ba87267d3b8d8bd6da7057dd62f22e769153efc40e0104023505484c320e149700aa4514aef93b7edd57801209696d097c77c952de28280b18d2dd98ea511a8df7a1de0247a7e28fc708244cd6f2b79c9ca1dad5f65aa931fa76541fd89d29c292a92c96807b65ebf733503229285213412a631f4031ba79c3429a1d68c1b5174a89c1637efada83142f9d9642386b1e8c83d28c75b186ab74d4966c8cca4181f4736b04b757bb4f7547ad91e149d0cb3b870542733e2b7daa66ef6a885eef9be1c9a8a9bf529eb8f28138ef8136b70cacdf712a2e2a0e10628bbfe603c69e753bdd1eb622212b0ceac53a0315458b1b0b557f9f3f7defddfb82e9446a0bd437bcf6d70fc53caab1b44296b5dd24067549ed8e2eb10c9870565adc112d7d3bee4f895ac117702fa05f6f11eb233ede0e917baf5cc1a8ea720b118c11033c769a3ac327f9db316773b236910bcfacb53dc1b526e05faef4c9618de6218c0f3c64840053f2ef07d10b6d4549235111baf778a704102f16b1a8eb6a6a4df6f10245eddd7a2e758a55916a52f38c64d722ff1edfaef65191ae27abfd0da57e99a0f463f09750271f16f581a266fb66b8426b4c76a38e31da223fcbb0a39bfadd50af42edf5aa9a98636992eb55fa1f78ce05a5b4c6e22891d0177be0dfc5a46f95462e6e45838f28ca671b844caa7a28ab6404610543542be0410680efc7f3e5587c79b19c1a58138d6d6f871b8ffdfe05d39f05e915bd9d4a617ad27c14c51122a964c9c668ed57122b2773bcad261ca3cc3ff95b85dcde20a9ce2dc389c92c147e937acab45f642029c033e7bfd7b469fc1574c469b036cf2b7e19aba47dc9911516a99d51301e234ca3498047f7f71cd75566362bec2b70e26b0beaf4a36c525482c5db9becd4c7bf9263e29e59b4dcd5e47ab1e8154cc4e0ecc2e444bbff1699cee779282ff148fb21a33a45723bc721a6002989000fdc4ae1646a8783af70e6edd5565c307da68678fb17e9794ff69102da173bd3d4d12cde83fddb05a65942f38e1d6929f8545635cda330c06f088fc1e73e5c0d220204acbd0de33f8cb9dd4ca73716cc14036f22279a0f77f4f45e9d4aff4cbc47d7efd8a3b096240f14813caea157a5f6e939699a578e4dcde4674229d94422f6b6c22a90adf4e335530fc451bd79b650cdae4db5534cc946efae97ac2954bef1e22385dd0a3883c3d68df8f4734d7b077b70ce59d1128db9cb5c87148122a7aa543fcf39eed340183c3d38ad2e59d0d42e4a80f6d83c5431ad94d99144a0a6f8c793b5a66cb1eaad2c9e5911d17d2f2ea092103a9027bc47b06c8ea2756421fde5131977388fb0c66d7016885eab1bc85768c8c16d8b6e6c2d580d219023c537d58ae2fc6d71ca2db19e1e1e07c9529deafc19abad575c125a7586034685f7d975e70abc5bdc197cbb2d678ccab9fac7ac4f4f4b2c087ce80241a10e511a30a371917d6d4590f6295c476cb6ca7db07e3d5e3ca7ef3bfae2e31b089849db7cbe13fb33bc4f14f2f70f1335c13203f1f3005b035d81771dd8ccd65742e56546dd5d49e34fd2a512b0a433c3f399b42b6f6e94b4f4faf178a1ae1dfe5c2c7dd9978324199587ccf8668093cf7be546ee2cd503aa19bf4353ba3cbeed2bddf1d7de896f0e4cbba00f699a752b2a85877350626a35d98a27132b57a913364d65134ae6172e35aec7fcc134295c5e6ff64df6a57927ed87c88abcc6bd7a293d259db41f6a97f526dbd8ec971b5eaf8f64129110087850ab882f4fc009a909e82899f9370a23ee4abafb60bb6c3c14d8892761752579d1db586dcede95bc1e637629efa9c173846f67901dd6f9b58cf4590e0aa085e4069617eb1586e80fd1ee7bb7813058ca909150f0e8535b4d70a34ebecabdf40e8c9e3b44819443ab43f1868ce7818edc58183161c844dddf323048fec4bb9836d2ffe58d376b2c38b7fbe072d0c07d26321d524056e3ae1e75046dec771f20bbf87c2ad6d8b58de46d71276bb8b0088a180a58bc18daa015ee7eb21a2b456cad3c52a9cdb03c43ec1cba6277319af0b882d3fe3f82fe2339617544e24dddfbc44f87f02881c6b7441c75eb7d42868683b4d395007c997786989467a78212337e9b0c89d9d81aa7c92713f6eb19e6d6c63782f5a34d503b5fe998e72e2c0d8d063e897e9836e09036f604d1ca7708dbda7654169c499257fc344853cf567e11545cc49ca38a0d3368a3ba02e8b66046616391ad65700dc6d266db6042a22a2f0ca9288015cb89222668164262bd0743f48b1602236beec40a8aee313e3009e376d9b29a3b39193a4e584cd938b8773fda7efbfba1c3716effc9c8336bcc195d307fdd29b40d3a5b25166fa205a7fdd3225babd7882597479b419af6999b07b90ea6f28b5475b65f647ba7aee530a00620b59cfd328dc8967c48011293c14740fee641ed7a507f5974ad447c59d859598feaf11fa439dc050cbc97debc548220856711a7340c9cb24ca40c18c09c44f8e006a785ea9ab3b4dfeb84d92a583b1272111ffeb8350c1decb331d05cbc2774f339c244052582f3337f4c01566fbe42e818476342ea13eaf33d280fd2bbb80a214d1d77644967c247ad7d8a01651fc265a1b8837ee2fd51421786717007713bd58c5468999f12d78b66dc24edb93b717e11fd58088aee3a88e94b7310a97c243b50a36586282a0995118dbd043ef1d1c41ea7a7085a29529875b081bf557a37160a224af00a99b33b4dd987ce5cd06a2104d1f67270abd0318212630cbec1527e656fdf3cf85d0ece5f57abfd41477c4f1e65a9b9906eb89299bfe7d4f2a716edd7509eab7bdb56ab3a6790da66ca9ed5f89728887c1b38b14516f6b98c30e6437bdc06b2faab220d461e59c43743b19f98a890905f98570c91711b6fcec92233260582a1ca04b402d2dc31efd6745ba0d12ec37edc8a37390df2dca3a78a905a3c80ba254f46b26e3cebc30e2e5682c518c4fe2dcb38389d23e722c8ae351e88fdbe9e3ba099e51cd21732356a4bd5ff3f7348ff8f24efe5e440536a7cd53c913278cf767f1830c16fa2b06a8fd13ef194ffa07ec6e4d0fdb0009188e963fc2fbe686f02a5f63780af982b3b561cb63aa92243961d5ad9ff3715fa1d6fb3ee26b5a5624cee10038a5484ac56d79320b3888bb86a8a30d0f18a845c0f4850459b032c4ff29279fc440d77486e682cf7faa541c313e8a36f6846a47fb2f49bce0546a1e88805cec954338abb1b2ac87de042166e8e3a74b23261ec204f93d9f142358feb5dca0268b8375aef0335d51aeb697abac8e2fd8e4e19147db0f42e713ff8b771b1aced0f8c11866b90e895aee53ca63e387bec78d55d3231dfc251bf509f0684e073a65d6bc3ad6719f086ae26e9411ca671a1a1419d0f8269eaff3228a54fe04c6f337005fd0889b83afefa1c46c1beb97b9caad8171c9a9603500587931f045c1d1be735c6eea0f24c82d966360f9ae5ead49ebffb222f9d0ce45ce75c51926b56259258d78254b17d5e6a87b6dddf082f228651000ddd2e4dfd9a1a8fc7d7d1724ae49f7b38d7a0661bd414f833bedb803420e95f88981b366f9e1e97da3c50d5510a80c240dde060661c635470a508f0d6f323b708c6789499b7a8ed37a0d2807a2a4e0c02757bf25c58f7c43393181cf508fcb028b4bd7b09eb41d478ff360f4411aeff332388318c03203cb6804d5249e73ade11fa1097f3979dd1e99422bb5cb02a050a775651de7b28f97a724938ef9fbfbba71c58df80d04c48cbad49ade4755fc668411c82e323ba9eb1c6fb720e0a9f530466b97d9d657f59c9766f6ce24bc0970ce0474fb0a86fe9600b6bf9739e1497b3d4827aa153b9e0db38f979fc2e80ace4c756825f38d0b66a1bfc0d03eb30bc8b07bc3c8bcaa4b43318c43e588e36258bdc6a80848efce51158a274b664be7bca5c16508676538a80002c6345f6c24cae044c0fa254bfdf68d7be177842407ade32f4184c7c43912062f1a3c6782f93f88c15a70a67bdb17e3d6f04fd092444816f88a098454776d89633e555c3cd091689a57f0ca20a51cdf8eec09012fda02dcbbe62908811581073a2eb8045ab1262fb66d4196eb906822fd284cda00e335b87cb4f37dc58b591c9f7eef2e2e04451440460e34630aee2b3e194a4754a9ec39cf41532afdd99d925cc92a7605fd3c9ec9209ae5a117c6bd3005f164fb91677ecc364bfca86732b898dedc26c582bbf77901e80924efea989f0eb6786b3dba8830eb7ff597c29882a406b49bc0588abfd16122d226d8349dfcdab931b858380ae8da8816517f2634e60b7c81fca1a55b9612c7d2b5a1920f227e25bfa9686cd91db86e8e17f20eee1a02ef07f49304e1dc90e1821f424a8810db89e94c9ab560bf48c1f7963f5a84b90389d9fdaebe3c68a2c59ff093b06eecf3ce20c3f212b67b60297ac3521213e95f1e2f9d1e8987aae007a3c35eb5c9589757bb25e3b1889f6093e973e173dc7702a754336eb14a38d0d4d840eb225b3dac1d4986ad3b4d409f23d7d29324f831845c8c54402330db4b1d4116fc0faa7dc2054b8af6a94b3afcbf9e85e3fc45a71da2c57d769d0baf102fb19d2ea5731c05a0f3ed8c1bf8f9169cb57fed532107448491a8b8bb9817fb55b1d534b579b74027f80ce611a3dd20a3cf9d3f32c9ea042479b45befe51615fa77d13bdb7e6f59d06add14baaa9fefe3e95b44af9c9f424cf57dc5a1916ae721c299d9073fd960d6590c3ccdf224759e991407d14b54ee0b0cb11b309a9c4b8afa0cdbe2d01ae2922e7f9e1e938465356cbe4fb790e05d36b43259ff5a33b9539f913092e3b48e59dca7aa4abcc369915c3ae8f74188ddd1fae4225359fafaaadf1c653f0d07541b02e4428a7c9fd5d68cca2f4f16373c0da9eeb042f43e31ce9eae23e44750879da63fd867b4bf0ba93c60cebfb40ab732ee8345337f4d1810b95554c930fecbf971029c065b870b7085d097651c572011dab46f98bdeeba205d50a4ee8093124a3a39937681d2240f124dd8b4b7f96e8c77836a26a1176a3beb6e6af94766a7035b98268476cabaaada97acd03444b9d0ae28f975c9d0312f884529020c7cc1acdb56e4d253be814ee7b2e7cdf8407f059f5f4de11027a9f41399cbafaa4211bb2c4a42ad17a5092115ca177f810fc3971297fd003e85dab4090b105872d1a0d3300c4df95e6c8a019008e5c5c054ab16a84441999f630a200af454414d4a8555fe5ba8fe5d5fddf26adb39db359ce311bd5644aa18ac0bbe6eabe10f8f94728df0c2bebea46c47a9558575c8a0dca2ba34c2edf01a42a22acdd9d0b555e5d54079d1cee60af3f54fd1f79a58926eaccce2a957692efe156e7e504f0e26acd150b88ec52901f7e9ad9e65049f475e0086a9c21ab4a34de06c39b7a1844ca3eb133081899fd2e0b6d89e0f3d1f8207ad820f39070bd63aef8996917bcad5016206d9ee2ebf9eee94cbe9be15fa80ff7a53c116bc4273eae33e53f2ba531e7a8f80a66e33e0993fd10a0d9ff06934b4753e37790fc7a4450ddae7578c5004e3a40481c1913e3c212d725cd052bfa6bb9362a78cf071ba74c620478ad73fdcbefbde584c57db1ba940da75faf5d9435bc5413ae50c4a8e2c8109b0b992ef13b6a62e931dd4495332d4e5ab5f80717cead324bde332dd5363c7c584571ddc2b3b1e1704d74f34ab1b7b2d2c8d958202dba38165a943483626289129586fbcb43eb88fd9b38b7981acb22a9892975918535ef8768af53ddb786f489f786b5ccaff7f8f9c85c0ddac234835c91b2abd1a97582e8c2e4bd6b35873dc1f2ce26fdff7fad555aaeeca819341157b7d465d1e7023a8f404ccafd6ecc2296c8270a03b04519febbf9689f2fbd8faa1dbd83334d54acef5bcd7dc884306ec601525e3053c5820b110c6e9a89ede73b894356de29d4ca3835fd6d904e9618937b0e4a1427edfe784b04364c6a5a09bd678b88e0cedd435bc622519a7008c841db3389876962cc37dd43a8d2b940cb4e0a1251b48a49aee75a589942a8acb93be7587a5f3f95b41fa3f21d8adefa8601fa9c872227c6b61e77029b577569a99de842d9d74416613e4667519ce86d10ccbaaff15c6fd7e3075eddd8e41852dbd486b34c345183c9374511e1c80066cfceab0c6bdb72725acc726dc10fb90cbdf5751043f6552ab13dfba5a850bc7c0899d728a04b719d1d9115a09fec22560bbe47caa7b366edb80b5082ad4ee9b33f9f4f8eb67a1cfef3bc31107ab62d92071873a7a7e06b6412f313af45624e88372f4d516913213ab52f22375b714f17bffe5c5048f9fba88d85ab957f8d1bf0770caa729c8e117bcae41a38343f3a14a415b8ec55ac4d041c6774c3937bc462fbaa72dc8e30e3488cef2f074dd1c584617237a0dfdc9f8ea91082030b41991913d84f53e2961d183ddfaa82b4e2ff8f932eb8e98dfb571b2308c7b90d94ae24489543c5914d67582bc30294c01eb2efd7376fef65a8a3b418efbdc473018adb0cd50bfd62ec6c1c81581c098e74b1848da80c485da712fca89a448c8723953032564666dad3f81c8a43cb8fd103cfb90d8dabd00135fd0782044eabb3922d3f756c6d27f9f2adcab1e2b289348c74568c4f6bee6864f1ac97ca56aef2a22bbe4423a0021694d3595736999a3cda88911a8443bfbaba976697d14732b89535182054d85e96ff9ad4105465577c10d4100f9a5d81ba5915d45a6591812a21c7d5eed3acc42c33f6e47240e530f05c4d4d6f09f044c70d3764832b34966a28b8a18cc917e23ddf4826b543e76752e718cd7eeefbef5593fb7598009e8887e2ba09ca6ea1065452a4c7d7585da673b7c840394d50131c28dc1b95260aa0efaa3da6f6a3f1bc67b2507afde489106f895c07553723f04cda3dfbb10ec03b1ea68bd1a2905e1d4a946404c213dcf8419236935b428f7d84fde30a5b992a28c30f1cf56d3b41ad9b7f5007bb5dccc3387c04fd39e4387d478904264f75dcf2c97061450d715767d0d594bf0cd46c48c28473e2ad0a280b33a496bb94880cf5ef5c6317a43fd77e57fab3c416a5636d019fdeae62b437e0c07d8cca614ca134cac9999204efe10b1455ee3d77d6e1557f20163b447cc55ad9e28d7affc9c70bba8105a987a1682b95ae37c77c63959b00f04a6b05fcf7203c74808202edebbf9d78b1705f266f986a2c895d283528a00e865a8fd0a8d0ac5a25d412965350523564f64c777c6dcf961bf3d3fc9be609b44a6a2441f283625aef09a27ed2c1cf4daea12449c3a2948e104961c6b67f99abaed8c22e7e6817813b92f30098e44add1ac8217d0d0888bf1c67f9aa69493145ec55ad5b84aed344879791c82e39f065f39b1c8ff47fd03e86cba2c918b52fd0a23eeb8e79b527bd6ced12d09a1fd1b21490f17bac2aad45d494d573dd9d02c9d1616328ca5645dda4c07835b58e3b1a9546f9806ddc8dcacea5b7c9951138d4e27ef65937508dd7b069c50a06957170fa98c9e3cda53cfeac9550dd66602431e9a865ef9d50bdcb10f8e1155df8d75ba4e7f2d159617b865fdd3f280772e29204f9f37a05fd0ff0aa2d3d5b0b16545d16c34aaa3ead7d07048b81b1880ec89ffa044ddef20556da8cc92aa897808d1f692ea2fe02a58d523e9daefdcd84418a52a60f239479f47e28436a53747490d5ff592911bc75c499bf994d3280f53d130133e5ac6c36566c7106e317172f9b3cad701d1365dfab20f275f8a0147630e510ac9384cd82b4ff3912c99371a2ea23f091a8ebbe6ebe71f86fa8d65e89e2e618f1bd43063017d64fe8d524519176bcba73b5892de6605e6c40b151820e367dfcb98cbdb3f8f468c5ef2bd8437df873ee5fe861c85ee6511647b164f43da0e967b1ef4b96ab8fd816f820bdbadedb23ffc7985efe9a423a8eb31da11351ba6bd7fde0f024a01a7bd41d1fd2fc6529ebe8dec4d84ffc451e6306cd21973ade0f7da028b3a0ab8251f354172764c512882b6401512bfbad3fb8f265f6d2502e226c4e203f97a330f33ec35b6169da728e1ec1a9091e5fb18d759d469552b21413adaf353aec4cfc3f5982f67e3c63d392d1ac817a8c80015cd79e773586741c40056c5c18e792f65749d2fb79a6c548d619e4d0c936efb875b41a6845ef2b03960cd641c159e376a71dd5aed9ecea88f4aa12b4d7c43241eff4d7eb62665dbdace8258ac00ce98a494e32ff2aaa28c7aea0a15fc1b254f307a3acd63f45d9b154e04f90bf320d1150562eaff652879297726440ac125a43ed217a487fd70a252ecb9d9d48ac893b4cec767cdd07d8bdde99c6a6699a60879445f20a6037f0db734deb9ffb968f4d78f36f9658d01be9638b127c5dacadd85144c931c0756d63815cf4a9a954c928bf0f07c398d7f7d0fce202d1d01363068bfd5f0d11a634c799c7b2299e9282c337a0c37970338b7cf0d1003d3f53c659c0cdfcdf5e0b872a2d843d37404463d2e5ab79eb2d3016f2ef7e9c1d52f673e28f777125359af48bb76d064be8e6c64383071c9d258774fb4d4a6a3f1015f09d0427c99ffc42e4141ac52d63db544406c93c7d6741c36665053360adc0b6075e7ea8eee98bd8520b2d3a1f02cfb483bfdb2d053a7e1dfb8c0f55ad6e29ceea2e32cacf32ed254c87734ad17899e64c83682e3d3e8a050b14c36fcce25c443bcf5828720b15b9cc65f5fc68e8764aade42497c1a7911ad83e80d665d926d1e4a320b8f98add36ab049ad5efb116eb57a8bfa4926d0de25ae0d51c50670aec154eb4c858ef1f0cb6fbed18ab801ab343868e24cc6a3d4260ce2c19a86c498e97c0a637902d25031f72ed6b5b4931b2b9a46911738e8938579947be4017c02b6e863ffd921ca1a56b111ddd91468dde81011ffc870de180c84e9e2e0173c796da0d7537115afae6901e80f5aad6726921afd5a3d2fcdd6ae70a398a16ec6a2c5fb80e4f52d7362e30efc5c45e7c6c6d67e20d2da2e614d9a947e20e74ad59aefc2329d6d5f9bb5136efa9ee00022aa5b991c68e80e2cce8dc148aa3fdd8fdd6a1ee0562aa0ec8bd036364c44bed0cea29733f2474bde6150fc742a9caa47c16353b58221c9fd7663f90cdf8e155ad1a990887b71e295a660273b6232a7c06c56de7bf1c3ba1def81834fda292c3e1771c36d01c7d2085106ca80ade1639b8bb9acb49d84da72152c35dc207d6d2be98bcc2d807727b46a162ba7973a767d7294ec4c10f4cbe605e1152322ccc5732f65f9c24eca25035c2f363a78c96e5d8413073d13d0af8a286a318a73e2d17c651eaf189c81e10f0cf0701eaa7e558422a0ae93481acf76e3e696cfd64f5a2aa6d0f980d3199882d0eea72c6e075d63bc01aa9507cce3c35dc8236c3521599bfb1bff6913709236495870ef86c03e884dbabb6d0bc16907fa0c67bca6b8aa5dba75c3e364cfeeb7722a28ae52f2e31823cae5321d82b584f7cac6f06aaaff055bdd2d06b33ea9bf423c7b929d0b894b35cb9f92b1b8e013511ac304e672352dc178ddf8786f1ebc941f1c7794b175538096547484608c5f898a0afa0c5f86dd5e75f4a6792b15e23d0cb48e05c57f28c3ebde8f76d0b816accb36daf6b4b59ca28aea74a2c3a8e4c93f3f408c1226b118eec82bcc6cfe457ed5c1066ab7644cf84a31f0b271c429b2489b7506fe31571a24580aaff1a79f266cf7c25a784922e46e1c9195c518b3e574f48e67ff957f385ddea8ea91dfd7080a02f37272429934a8538922fa2e64e6137374d5c047eb319a61e211442af30493b420eb9e721a1eceee552258dce0d5a26dede43103fa00553679aa045c81b6a1d7749b2b135b3d12e1fea85781e41ad258823a9f69849456e65da5791443bda8a1752657a33eb2914eabcc5d0dacaf58b65757a1afc2177820c1cd419f076b310cd68397492c61c2a615b0bf23c8f0f93bcd3ccb4020df7b92aba40af66235e05e924b80a98eff275b1e18b3bb07a49f558325435d59ed1a8e6c3372f3e1e838af0a9cb7484c4524c496b7917f5239f767c6f73e7deb5a826a04a653ab27a2901bef21d181cf2a88b08f1990144cf77fff2e0f623e2dce4279e8d1b626e9e36adc75d5945fbfefd9513daf88bbc4fd421b96f758a5e8116b7bfe86cc8348827b3f3af68586dde8e6fea721abf699782f48023b0e4cf25019db8a1f06bd69d80fb7e321f4b5a7c6ceb222080b8f80dc4293759079ab3734ce4b529e2a22914764618c811de4fee589213650495596e1b21e6ef65d1ebdf8d2e31485b745ebcf2280ecb404a6beb90d594aa4870ce801db6630c58a50485fae2b83c981d506a3911439462d5e97e01b09bf19a5fceeb420c2688e3a8a276c925a6d5ed230f7c00be5555eb8531e2d04da15e96b2a906a47d42c855e790ca0bde553ccb7e6874085f1b53d09589ed148430557cf5befcc5463fea5d73bcf48df840b7068deb932acf951d1fe5c08ff798c165f7dea8dd6ad36904baa6cb6e31dce03c843d1b0c9d341a5ca55911e94751239a1b3801b5edf908bd1b5b67ca95d660286e8cb17cfe13812fd92be159b3d2a63ecaf0bc854a8c83ef1640ab3ee7781d5f755e4629d4d2750b76751c8a3862806221155f76aa75e29425ae409cace3ca35c9438d7b2179648b7aaa84f9fe883cc4136e3d8ab8d84674cd3d3463f7df8d6bb341a7a9e6b0c896ffee8637570cdb8c8808130e02061b37181c6d7ca9a75a12682ebac65102c601a67530f282732bf6bd939f0071a4bd076626ab091db3bb46caa22bd4ffb357974ad41f8d7006b02937b748fcc6a4d16a3e996e7f7754ee3985a93194104a9d59be631406d8bd0351ca17baf8656775b5e7779c46aa680019e62ef3a36b738c8986378fb9358682ebca1b869fa5b3df2e54409be151b047c2281040a26b3b7ecbe5890fffdb1b3aaf16345f2a4e3516cd13500ae558198b40d1e1c921436946e5840886d8e4077528d63e2435cc0a377b3671055b59c66ed78429d4ab5ca413263445d6547e1e12f9501eccb81617c0e76a9941327efa2dbba65147cefbdadf02906bb2927ddf59fd8e87a52412fc586bf494586cbb2019db275a46bbbedecbc65cab717ead9760247681ca33d03246d81a7bffbcee5b98831b44385ed4d89f916f0021788286f42a5befa4212c57cef660187352813e3ed08ddb03748dca2288d3f3fbc1c95e584507eeff24aacc58baebd5fee9f1c9b0b933406b718c10ac687d4b2fdd91a9dfa29cff37683f46b1da170c35fd4b31bc6471f57f480fd53271a5b3e87e8627f4b6d739bebc0244ea591f13c57ccec8bcfbca8ec03b9569905fd151bc379caa70e138972e9a0bd1c6ac14e5a36076a42ae9b5c75811723c60531c4e8ea3c06eafc3789806308d3685adff6735d3c13313c20e66d3d2621268678094dc94e81bceb008b22c19c53b7df41151fca2012943ee40d5faf36a0acb4156a04382c604dd501cedbdfc20c0b992f6d6e5305570c69aa2470f12aafe27d0e20e0e0c4c6f1be9512d4bf22898271abe097f66f3f750e5f6dd7ced066698956ce8c67a7a3b35cae53a1c557c17a6e3b4ebb204aca47b63188798f0069cc56d1c309d90f1197f66040970bbd7cc663cd8c1606cc87a5e5e652fe013180e1f9db4d700fbd811a42d158eecd26efd4010c24d5cf874b41884f19c87a8c77c3c0f9a62b1142c9aad818c8a7fec68596f02c354e47dbab2b1ae0bbea6018d1be9981d77828e12c048e69e0c8ac0c2f19afd7a3044c1910301b969d43b181208e702d6c6174f2aa07fbc0789020078fcd3de11d88b8cdf12ea807d2a426633e938d01201b026074c796c7b5b4241bd8eedb97020aadc053dbf9d038eb17a2c34fbd655f5d3a6ccc3bc0cd73c6e0852e3c74b803c480536eca88a153113ac056510a9f8b4bb3485567ddd3a605185c488b0fdadebe5a6b7a7a5f6bbfccb7f14f4ec1615d9112620d1da37a65087bb338f9077e8d91465a7eb29b4f9e5f3d9ff4f9257ec2f4e8787dd0d923c99fe9816b9204370d5342a4f58da44db821988da3870b0de600bce5e91b46ca97fe6ad28151c3af1f7d3dffd89f9eef2d71952e44c9cc02f294ca4bd16b1b91ebbf59378b9a13a14644df12ee167e2b3a47303e3004798952e9c3228f046438ac272f6d2f58c1b3e3231492a1ea94c5012b978cf6335a65306d5a92e0a8ad62318783df61313c4dbad2b1206af6aeaec51b5a1e77cf93ef266c970116ec84536fb865e2ffc5afe33ff5bdc7c22d7f4127a55f3b1b9a716164f5539299305c8c2d44f9991bc673fc956be344af212f99ce2a0b1ce8eb32994c97fd235da62f43fc10e49a33e1c44a4ec25e53063398871146368460189dc5c35feba901bd0ff12b26f58ddff8e76c8347e943cec920f47cc2214a3e219b1c48efd3c108c520f6ca8b56795933fc41fd95ed79fbe1db8bf06c5e53544dd824618b46ea1045a3b2930ab9ccc6e986e4f30d93f982b9bc9049d802ed72996df6ced4204b2334104f6ccd4a7f17ddd13c61bf279b15f7342bec0b8a56b3636448aaefd6289b052fa728f8fd9ef6e9703fff7d026441419615778c791b178a6b6f0c4c1a2da7bd2345ebd4e235cffcdc0db409c55ab862dba2651c5b8d03b7f932c50b9217e771b01edb24b84fcd2c144c4e1fe95d2b4000de1b967cb98a8d78d826c7dfe1e75ce074b1c687d802efaee3c84bb42076f288b79fc4518a9e025b1ed9d33b129672cf9c2cb98f9a979aee516486e62cce614418464f988419f192abb47dce5b5a40ba9cd729dd354c5c8ad3a91e6f994cb1b8e76433898bc7f7276200f64c8aca3ed18475f78b19cfdeb5f4e1446c5d1d1cf77e6463b9ce7146ab3c9de5e5e8e975f045eeaed37e1a2b38f7a835b41d73ce764160bdd003ed5d5abec19748395099373717527495fbb8ad9d8fdedd95d4b0f11341c64ef5def9c0016481c7cba6119914d27ac0380b8bb4fcee7a22eaa562cc63e7bf7bbe02af8a154dd465f0b71a00c6e86f3f619bb15ebb3022d174bedf1dfd3644e96c45fa762513ea0900bf4506df793d5c4f4ea88136b3c0b7edb1781d66ba8b0b34e735677a0f302b713b0d8e0dd7416c4592faaf2e3d560bf2a90a3a790306c3d3ad09603a3992790e7a723c23b7ca86d70ecd0c34d861cf65a7bad40deadc0e3be19dfe5485fe70b4e94cf5c90f22fda418c4324f8935b2fd059b7ed60b244790845492505e5f0a08e5837da4b547244b0893a56e15d96fe80c7dbe980e0620920161e667af83993399e7cbb74f30957088ea20462de7ae637a028fcb9253bd8aca16fdd3f84779efcefb69abc2debe66ce2b94ac365339c9408c149550c3ecf83c94f8b14c0b87f7bbb276f6efcf5747048661dd6fab82c38205addd40f4515d4c1081b51eefbe549c69047da7f38b1dfc6ceb51b3dd68181467e3db2d311c283aa9082c1db56c8e25d62787c2534003844820d86f8f1256371bf855b2bfbe6db3cacc6ce3f61785cfe0d3dfd3204ff34fb22fa0d231d812bebff0e6e54d08859f2ffd6cb159744caa917a1da9a94e71c6dddda9e63c1342d04a4f9803fd60e9c1d9f6f00b16a0a1c0bd8d345544bf2feb15c5ee0662377a6c673e8f2e6f3c7539417924902950a2e4a753a73940cc871789bdc91b919d0db08c6150f086780773ba9543cb98b9d0ce79c9a5be1f68ce602434160c5f347d8fe92ee1ec9464474963c791cc7d815bd131e76745202e5f74e204135e2457f0cd20c1ed924da4c8c1b6ecbde34c15175426ff7a7cc24f251689ad2f19f29698faa4cdcf1e02388744ba720395882bfd63a060645284e27d4b2df79094216430dbde118af9b32d7ecf41055258e59982e801690b724c3ed2dd5a3aadb3bcf49d2a9f71386faee27be40b021cc0d3703c5d435c3e46dce5ec60595c415fac025f2ef87cef7387e2a8c4abf4ed23ca59868256e38de5095f857de3cc34cff587d7da1bf45b7dce9d08427059ee5dc87818c6a22f8d0ce7262c48a6dca42d2528ed8bb1d1873d7dbee79186e9c391dd8f81f3547001e6b77fc68720b7c88dc29c096a52d93a47338d4439afdba0b96135d4a90541b9feab29b06b694c4fb5348edc3b3baf72a56b1198f836ae1d3b45679143b6a5ae411627440d34e3864dc4eb214d2ec799478e1e169e183ce1b6e37f18877026d43600e4530cd2473dc1cab166da00afcb7a0bcbfffa2ac876c8e2fe591a47703420bff4d863ad6d8d77fa0bf278a976bda1a8d93f65586e07be36beedbac67633b4e5d6cf56facf09af6d72a64c58a8ffa8737d79be68067f5903468ac22476f029c4cfb65449b89f5d31ea9aa080b76e8f0602328d5073247ae57a620a04026205ad914202cc0103397938e6db2834bff73d45175418d42b12cf8ebf117f56180e7d933dfdc118f6187776230ec618204bd40b9d244402f06023af1ea58c7136576c5e1405c73e01b7cb4e1e164198605b4067837c0dc723b80ef956f7303a6a65f303df133d245eb4a2bc68cf946c08f37c1435cfc934d855cb484d12f2ee3215ebfd6adf7673be124c450283023b76627d9032985fa7a19608a7c03129b52de42431cb2735bb057a7b31fa0e194c85909fcd9547fd7ed051031f2e5f1588c15d9b5ada7841cf673ece7f43c6adfe0a55351d2d795ca656be6aa98f3b09d99c8819fff2b5ef591d9b3446aa0182a5a5e89063e4a260d65e2d752d6227ddf34a8dc8b8b99dc74bf3b49b301e8eee8287f29e080175cea5aeb91fb266034eab27cfd7c4d6f5776946c789c0febeaa73846e211eba7289f3e28baa114aef7dcd7782b2e5bab72f7d5f38165855ea138258996a53f67aff8f68d419643dfaedc72a571a84fbb995236bc13940f3056261695f0a6e60c36254709b50b66b197f7aed4265564e6082e0daea982d601ec644744e92d99e6200765d6e13a2efbcde58421a2cbf0d01bd6d0e9416fbf5727efe8e7999673e3e210f53a7aad15412cfa57fa4fcbc3b8923ba0504f4d5a1bb9f570f2ce4a55465bfca66009764825a8179c5b1d3ffd654b83d2177ab31a4ae591abda690c52d31c6ad08ed131fcacad409d5fe155cd82aaaff1f8790c668f066ae00b543979790ac1b820435b91e5a6d7575c5141280b0b873483c5e086f295bc8739c697c2a3e4fb2b080570aacd3378ad73e8f277804a933beaac1d30d0f595a9cc160a8555d7b8ec7c9d3dc376eb8e6d29ecc3271ac029a2d53077457224805c1925daa9fb12135455e8633609b1fe95f15e3d11b3f0e65265035c3741d5d989262ebc63ca66d30ac348a0208c9b4a6bb26fe6d7ad47f4c59447c14c25f1b220a49fd1cc595f38b75320e2735c9b69410184718a5e921667974282bc435f9a680eb0df73594670c92d217747a152bf35e29b30eaa7ee53fe6422f32ff3dd5912d887d12a3bfab09a58e444a1c63d6f59d714ba6623e2c4016894a6a892d2b8e2ac8150870827b3ae45ec5784466a9c90dffe67cb2f8d6dab731621a2b8c0113c5961a2dbdde4ddde9e22444bf2697f4176b914f9842be5a7e555a837af670fd17a7ce40d42cede463ae455333f24969fe32e4208325a6210278f7a6d6f22e392ef8965b017e1523903d14236c18c5a84136c5389cafcfd581e874bde99334a1bf72617b783048266db6bbe0ad90773dacd6b9bc5ce51086c059f6c5980fa1df3ffce34026dc3017452ff4d39f502d56d183d063e530af95f1497cf94d6008cc35136a68669295300c91d61d864596bbd9405a93e3a3900a4166e4ca40928ae7705b56e5424c92a14220df71f22dae23dd25bcc403287db624465021663a5fa8aea1a5adfc6c3c68be2fbfc8e75ca3ab37e42d89f3c818703a372bd49adef297531f667ef5c278fb99af279147f1b11d2ab5a5cd921720eff9dd2ab01edab6c9ddcda148812bc43b94dd7925fe6ac31b8da17383aff0dc730711f04f94e7f01d54826521d68d7ef61b150380f967d46d14f6d8f80363ce810bbe7fc2db49c5e0722c8882301b2d1b8570ebf5e74c089fa03917fcded89446389038386cb5271e68a462237f4bff84fff467327795588de35a0d4d1d5aa7df2419648f64f462d1523387d425e4fc8c98081f8692a1547548929551fa06a21c0cb6654311c28b9e0ddec01666c35d9e0a73f02dd7044415604240d4e57c52423bb39f580f608417c82dcd9b370b7f33b2dc2c4e74f8e74ea7416a9d1bf5c1b443e4c23fcb18cf020958864832f9ef6a0c7bc10218e1343dfe60f007deae54160b8a63c20b5f112345033f924071eb73481362faf158713d6537edcba5fa8a6ca9d0f25d446fd20b24b8a23649ac683c246839c2a91fed8325d2d93562fadf4d6d47455e6766c6dd24a3b480b0d632dc19da9c6943c61e6f5c605deae72c1ccd9d651592d45363f9247db62b1f10ea94d7b96db47a657beb6c2de72e5ad21b50299592d6b055ebb9c1d71c38acf8010e1586c3a1fe49d120ea4f3292f30d20d04ea35bf47656a9b73f209535c04336e672dd6125cc24a9c8156ed40a28329289f8dea2d271175efe2c3b9b96ab7b94722e03dfcb5583840bbb11e91febbb87b052899a1e489dfcd9ed1caaa07ae47cd7d70e0c1b55562a79ffc82f9055cf7f664d5dee0b11f7e71ee8cb9a2a844c8ba0e519b67205caddfd332386ae0e587a4660818e589b5502db93b62251192407f9897379757c32b4469090d241a4345ea9f69e3e1c19d4a11bedb01aad74533d47b97c824058573041adeda4ec92621e8b87ee2ab182cb9a9a5428f84d13c88b0f4b2ca3889a00bad432528a21008bd6ea2e01cb8028548ae7c6e89c745970f6d03c07eca9990d8cbdd80716f134a0b2eed7e81ea7a79b9ef9bd13bd53b80e40d99c47a940b48515f821aa80a7440d4b6c4704d05af61e230410a86efe547308cdb0f85eb739d301b90d8304c45ee96f9e23bde927917aafc387857a599c53100577be8e04229c96fc140e9e608324e5c6d3f53f5c7520838bdfdd151232a2ad7eaadb084bff4d8940a8bb659b31a938610fe1ddf8a6017fe4ca07a465ac8e8f075051b002b022fa9bdb67a6b07174f821622376ae58470fc2beddbe97be56a4101153323ff1904d7dfba5063aa5c490adbd8722c752808e4d032406762a9d0e61dc2aa65d2efa6d1665a264c563fb1edeac1d6cd268e40cc146931e035240afa8f8ff7d51f0d7a693fb5bc18227996b252ed54de95f3091c48367162a83e25209177ea2536b9b8e46d73458deeb700ffa1a9022480b439ac4d00bd6677445b32783963f0892dcf86b1c61fa7ab5d89fbd9db3618082815c68a4997d1321e136fb9f06e3e9b390971fbfcae62e2e518f78c0be3d696de201a826d7c7042754bb5a702cf9c38f960a04902b95b1be075013914beeb337219bfda32fd233cea39703ebf03f03cbc454f2c0be95837dafe386299dc3268b850f24ddfd1a9265170cf101e08f22ad8375b8f9d4c64aac809f5c9e73ff75cc058bca61495d0eb34253c5cdd67908b94b06bedae485c1129d6917a03c58d00d3a54c9a7708e87dbe4d284cbc4420c03eb6f104b57f7aff1cb7ce1e45bc9787ce575fc4b7ed4b980f3c6e304f255d706ac18ad4fcd77b32a575e3234a65de567a2b659c32538b0b07da545caf2b30e2cf026c20680c006bd951df722fcfe1bb39261c8d2c6a2344edf64f85ca932d76f815b9be52962a39fc8648ee1f60a15a6a4cee0950b346ae210536ea1b390f1345e898b042bda023e670e9156a87f3bd765a1d5e73de80c92897872adde8baad2953d6e9339fe6aa30e72f0771a6c10c1b2e72bf868bbd5ae4c20ca5d773cbd6a3a4aea166a1795ce7a095690e70522f23cbfaf60e8464ea0c31561e0bf69c3e0faf97fd532ff739b48b1d1801aa85c80235fb5d05ddbca047743e17123c6e2ab2fdf38c410db05bb49bf6ec5ff3e714bf365d4625b82065340aae436d3eef4e34d47e910e27591b13fb3dae06147c5232846f778b4a3cf9eab52e09116db1243afc31f386afe425599c440cf6d1d4e3c03dff041eb00baa7fe48bdb5da14bd1b0e7201a7dde41eee4a4429034e14e94943e6bda87b682d92e4275bed90fab1113d025e6016d25f80df41586f65fa4f1e0b61ee7a79cbd1251550750002a357a990be25a1e2f1ea782d2863ea23f2bdcb91679eedaf5c0b0d8ea93b3ef0720c88ceba91b52d666a98e04bd8b688484a44caef7cf70ac862e8dca6b7d1834f1602849d98418f99ab805bc064a51f909d47d40a7e7715d5b163d6aaf97bcc62cdbc579f522fe2a34005e00f16294ad59668901a61ee7f3b2f5aa7deeaad688330cdb71b87d17acbb41a3f961c957a21d2e9e55d7c8f9407dc061482837e3f7af633f18da1c2ce4485dc85f1cb96be579fd180dc918b4f8a26883ba79e985b866aaf1b6b35a01329454dab469c10cae001e9f9e1a9077cda9eca940728e932720696d5a1c378bdac27ccd019367eeb8614822cb103d08987f28e7864ebc292dab88b8b31235290f5646103d68c3300fc88804a5af37e164d7934df079a532ad86796ea0a5a87e2b4f866c1725e55471285c68007ca2698bcceb4c1873cf8f86359659c6941c2f5a8dc591f70decea408d8b6c1caf83cb26c5f0f20487e2f645036f07b94fcd328b4e0eb8a22bc31b76fa240a5ec8d6a9d049e741ab2ac228abe62a952aee3bf140ac0ed53bc01aed77a75283e25dc99292b11b32c6e918c882dda5a6cfde8e8a1139ed3a74c92035f18ccc20f263ffb458149939b8d53855788e8dd331f3eab7fdd6f469901f42d99976c26fc597400303da9734d3cf605fbc8791eeccb11396d2628a9b05900cc596a75d051e356748272326873369c98e2e71b3f576fee46d4f0ae2c72cdad68dcebe07f0253944052f0538926bb3a614a8ca521e7354687bb5dbb01a46445bc529c85bc278d423766828a513a5c01f2e04078ad243eb09aa4db58519851240d735c5075f1b4457e37438ea17d4458365e6f082f5320f4deeda587a71964ec322876c701fd2c85a58e7642e683c941e0da66c890998ae9b06678e5f8edaa28c047bf0c6168b25a23c1159c2448abc9fe18a5722700f64179865958c76d16ca9ed33c15a13d3dde01e1399871540b503547355796340fb6e744d10b9594efd33eec7dbaa15f4d7f857013144d5ee6a7eb66f3c033e3d7d6b3f75789bb4c1de8276c1ff794fe8fb36280e70f94839058014d950c22341ed78b95f718886d7bd67c3e510c963b2d1fc0753e5b1f514aed68d12f54cd1b27954fffb449409435a7faa22375d5ee83d406c20891f7fe6a5baeeab4cd965548df6320f1c8f9b1c49ca1b6c992a67997877d09aa5f7dcffb876e185b9e699efd423419d3de7e026923d55d3cb4fcecf80160167e736db8c956f61a4362cb3f61fd8f62ca6e6849e2a2a9ba703b1dc99346c096ece96940ea222d9b90a76bc8efd6fe4c190f1e8ea0d111ac826b631f48eade2a85e889cc10c7497d1ef1a01eb7f539e7d771cf22ef07d2abe8a3d59be8819a32d1b3dca65d0a1233765247e431f11c0f66eb5a87c9b126b00b4d0648bcdc9d6be7ea8a33b8e6b842c063e7b2b71bdabd757de773896ae688d3ee1baa421326e2f8f57f00b8cd2bfba983f7c6956e3757fe4389bd7eafa8dca2f91f1577201bc571b15b0d17481df41d1a74cdf0c89ec63e8434d32b2701038018d91a332a3fded6da52d5cf18bd7cd9cf624b0b90a848803a7d9ae90a975c3c810ab5732ae2bca3d5947821db5e61d203ba3b00f658472232295d6684900168fe700607831a5456360a2d50199d372e4ce4365095d44873efae88d6220fb02a867b9a7da5fc5172fcc17928242f60b8c53bde74d5bf74924f975a2947767460035758063ac16dc158590322a1a67a95a53eddba6a93d106e052c6370f798f1d2a9fc88265d0c4632617a50f598af4d3a87d37d05a87f5d6ba45c1139cddd18269756ba7b6618b82ff36e99ffdaf127aade81186ecaa3134c30168c7c74f9a5ef96d94959192eb6da307271a3baa05067abb4779933e08bdfe71cb170f15171b16b3b1aed8db98af650868ec69d5347accc9eb7f562fb3492a67554dbb11fc8e1f9583ba5bb99b20c13826375eafb0ffe4f3a2b1b0e945b98f97c09546f068f8ec701142fdcbbb57b4d111cc0b4d2ae852838fa0bcdcbde0c683f4fe0437c02ca64e95215f0f283e9f0588af614a8a5c5f56fbb29a27c82a8300ba5c17dc2dc9b6e170749b22305d052f106495006a7f94be862295286c473dbd7d0bebdce4826859cb1ce07314404ac8c7d576ddfe606753579821a5fe68ddd5ee09510ba767ebff275ee6375899ad17718e318c20996fe078af1715318319ca4d2aa62af894dd7efad0b2f348c1d85eb106848386ba796c7d2aa51bbb62a2c338ff37a0098fbb912d89c2c85092ad287038fa17b386b5599baa040e8dc60965fb582218f7dec561f474882676050db315f37e1e4d9576bfd15a38fb6c8c6d5bb5c0a7d87ba188970e3cae1a7d6376c739a18e98d3cea1f7dba1bebdc046310f1671dc66d8268f585f020db01fa3ff8172cde7e75e65ae56adbd9a664971be9692f55b379a2903236a9ffd32702e6879e48e219556b860486119145561f64c591f87e96bc68636a383418f235d3457e4b21cf27cefc7c7f3edea4c1f6706f1018db196f25524157d3c1ce1626a2f7ea752cd16f80e7d55a0b2f47f8d5565f5df609ec125887429daff633c01d25c1e5325534b29e7131c6b01e3babaa2867dce0e861d00dc5a8d7f0d8874e81d423bb4390c09e74eb2913a475b2c04b35aebefa5bf3d6950d2e512f0f080f1653440e20b61ebf287927457d740228015e31c838651b4dbc64f9efa17294bdd42847764d6cce26a425a18effcd822a4f641749df62f93d1c3025869a611307d51e6a14517e5aeebc4b81886ec7fdafcd78b8c9e631ca57ce90ce25521a946129656de751f10a04ee81a72e3bd648663b59808fcf0a540b5521d498a12472085ef18674b8ef67688e7a365e2a73bd4858338a1a76b84d73dfdf7eafdef53463b2fcdd785cf54571b8809d83ba9d4a09e5dfc01e2a11897dfa8a3c73ddf7328eb6daae40f493fed14e355069417f2eb5859f4d781c79e5c3fd845dfbe973b0e94583f4c8c7db9ce26dc09e538ba0099984302905f0044e3a8642a43709525780071dd979ef96e066349d5e007be6123350f201fa8990794d9f4fee4a2ecec21ae7464753de4f6b41bd3ad8766139bc05a395740c3ed6c655b472926cc3e3cae3092be72fb1c84c9e6c3ed3dcdd7e476f845cd467eaf40ff62f6b2d7acf31cebb340bec7c994d8a861c337500defedda36a86b286afdb800cb3f919d3f58984e4895dab7e753aaed2d4069c030b81b8e8bd743d603ade395751e02a6f0ec05a3688362e7cfabf20c032709e6dbb43580e488c0dff8d5a4e801e860b80b5fb8ab19374585c470c9410b9bfd2b2cff9572d5d674e2468b6760aed99bfb489bf55e229b35f454230abcf820b66ed6ed459c43c5eb3ac9f6eba9ca729419a27c89528bc529c1716e24062185c5a469e0fbeadfecef4ebf90e81f244eba638c0de310d3af99c3c3a7171b04117a18a226e24e6ce011a4860c5e4522bc81ec5905a1d9a963cd8cdb2fb5e6d4d5c3a4588dcac410fa6097dcbb52da06441435f97893f156a72bcbfbaa13b9882bd1306baa76ec11145912de2a85b7324a1a120fe399f45d5278a4fdbea7c26fb22023daef1fed5ea5c9c1e6c8fb223d19744fda6154fcab8dfcd268f36275d417dc61863001ccc50028511db84e4b8d497abb987bb8b2e61aab9de94d407ab660d6fe1ee0e5c1cbdbabeb2a4c19f1eb246fa405673a6c0383817f071dcf30c7d85392ed67e6956fbc4100a648745a18b9dbe7e0b160a8329768b62fd822e990435b929833bf08841f4db2d18f0fc1d6c861c34be50105ee1053d6d504d30e19363d48cb327a06e3f93cd3aacf329fc867b8c1304b324888f6004b43e640479887f86561f79e4e49c820b5552f581dc1c81e25f9dcf8b962a448e81b5917fceb62dc297590132f25276f335f37a3157ee7c437af7805024a6f8d091bf94c470a0292591726c8cd0b65c2940b7cab32126101b575b648585c1a6f34e20eca000e6ae4c869e632b987e9e3f9345b13eab2da2c2a8a1943ac2840c4bea84b87ec0343262502a135cdd02cb85bd3b0e1c70d87e91fa37d172fc09b51cfe34e60ae6a05326fff92ef3e0e0f72bc5e8c7aab0e1ba36f7b72b4926513b1169f0d6e5f96f8405d4f0288c0d76f96883a1afe0c4a111bbd79b0b177f45688f167db8fdcb8fbd81eaf619691484b5829eab1afad3228ccb35d009fc2b5393fcc54b4292d0b5448febfdcb5f2dbc2719c8e4c659edd76d5e2ff3db0ae8c74b7f3ed4e5fbc72c2e079a9a36317d71f0c0ddac42effe688e1b53211e829aa63b59fda04ff8a5b64f0a7181447658bcb46f3ec9d6ead3e5134343b17354087a1a632b8c75d0c9f484f015b5ebbd056789f6a2c5056a2ba674fc71a2cf6b25626efc1cce865b215c3b03ee44e395b9c163ad5a4aac5e215d5b98dd17d3423afaaaa76f25da65af4dd076fcadee487f82a6d2d9f0631857ff9cde376d48257722f4a0e2a1b1208a535abb736480bdc8c1e173e9d569ee6f5059903fba367ce951c6c7c037aba69ea1b2aa8aabdefdc3da3ec0def813300a6513e8999f17255ccdf77f5df1b00bd3dc064307a834fcab055fcd1cc074123025a7f7acb44f17118787fd0ed33d0ffb6371853a6ab745f5852db8d770acef00a33f44e60fdb8e6fd3c4ada9714153fb0d1a761ceeeb920a4ef4bee9161f4c7361cf1086d7b5237560c6981e19e60bf46cc6b17dc8f7ebcd5a22606c2de0718c91ea46f614a761942a91b3e9a4696469702b18d4e4a09db3b9e5a3020af82bfb9199808d3c0b10f7b0c46e025fed027118cbe130e6c25ab7b1918348e301491afe10834dbc2e92c571cca520feea29488621e840aba1aaa70f7e366a21396044d1ed0e1f038f26dff7a95cc56801a6781cc0869d984918c2f8f09bfe1af2c9cb9bdbecba439b3609e2ed1c6f19e9db9c99d8ba6ed80257cd25dfdf429019e1fabf4f72490c5d32a5bd46cfc2019a5b79866e1f53571090a7de455852ea7003bb2f214f4499ed839bfa951ab2ca77d7b0666c50a0a2f7e5b3a034533d473dda666d0b29091325612a066b29aba77b7180d1c2456e2002ed16194a09a53282410fe5b0811a8c74d6a8864432e29944db242b032a9777c7b34a882e8e022ff6b97ccaaa502f73157e368315adfadf7e9f3234c556bf3f81cdc19660742383bbd85b51e4d4428b32a5eb318a0924a3d8d301080bb2e14edf89d046bcc664231dcef3a1d55cf89e06bd07ddb3dbb6b24fed4e5271e09498324429bb371f4bd6d03d854744021d82b90e0dd5bbad5283c98361aad73510127d19c2bd4103c7d21234d80b911f9a27e35321262a20d8d81cb116dd0e2d012ff8f78166693e28470af972345bd1501745a31e4f789301536196ba1494499c753c72c275422298605cc5ed4e97801e344a4ec10164921edd6ce047ab3fddb4628f38fcbb299647ca412141ed603b4a7b091ad96a6e40142601b49ce0419d12694ded66de88b759f1e1f5c06ef112bc02b972954a8faaa55370be1ec4e1e5a13236ae3da30be6f8d833c3d80b74a982ae8abefef6c23553cc597a72dc87692d123eac7f46e96c4647bdd52756f9e36f5d96703ae454985901c9025f0f2f336930799901222aca666b3bc924abecdcad09ede67f972ac49550a9f9a85df7775ca76d387d78bd9759005c1db19d757cd078e3b12a11d031ae626761ab66dbd97a64b11cddf9722cbed50982cf8bc242b4809109a6075108db4a95055f28a1b4ebec89c49c537411d76f3c53574afb534377015c3be5d329af5d2b51e7b025e5f47cef369aa03817a63e153dca5888ae8bb9ab22760c37b0cf14fea9cdb94de936247e1ba1c22f927573f897dfe63b948476497ecef07d3466a8a3f05cddb52f491663f30a154365b78c89275268ed928023e4c7decb2e2b6ce43bb4cc6083307ad90193db83745946da1461391d038053c5a04008a8a266c522757ab0ab472cdc10a927df0ec6ee756e184850f947d0ed19214e2253aa3c3f74c23afdbedea49ef14b5fa8502ba8e6a78f2d390ad5788ad9b356a76e9388d0bbff9f7c8e3dbc1dd7ca54bf47c99f5e78f41f7a55dec39d053b7f016adeaf64d7e8ac131d3afa0b57743e99d6929585a0d192c535cb8d5be7bc8e9017895f68ae02829dd0fbbe99972264a8e3cbcab748c0e323ff7dca343940dff8bf8f15b90454abb4953450adb50548e29353c61cefe0f4f4ce1aab25beb0d070756675f40e39d01c19baa4c37e339cbe9202fe7e9f73576115118b2a7128a53d76318b232cb749fa6c6bac3b8330cab2c7e5f4f6871c48a4f4a405accc403ba2b836db7803f45b5556316f5f0f485255a767ce95d278f74051eb17d3ea8ea1d76df4f108bfba59dc094f651f95096f5655d9b04b82f2567db803e9e4c4d3cb43b265d9d046fcce6b731af8bf04e78b5c0708e926a6d8f9e2db721a47feb3408af3fc2e90bc4ed1225de14130f138ffe614dec43b5bef0becc05f13413a97c0e46d689ed6a07c93704227adb6c31293c81e5989a9bbd7375f37b78d966567edb468afa7dc83e5e856a7102363964afc147f560b3360b1f0555adc6f644ed2d70d6a2156d903f1ade14ab1cfc3bffba19db67ba4d8073aee7023a067329faae0b1f5bd552c8e2f71a47cf1ed4d577b9425ab822ba9d679ae0dcbae2bc580236ffee55c3806080bf2d76e147aa3217b169487fc3a33d25401f768eb5eab17d03d4d3201fa6e2095287e7bf632f9664a654225f736892a73b6a54f860b65a62fd93a0b709cd2dd36a9a3f8a9bf429194f1f0e986efbfcd3585ff1cf32204a74202d5627be09b9cf3409ab11d5482db01bcd94477ac2d92abf3d12aa75b223f06a2762f8b7c22a737591ec6d679274e7dbb402ed6eecdac6a0a6c77010d3c487c4ed548dce89704254c6cbc117ee0725be13983206034cfe491419e04a25903d5909aeb1cfbcca1c4b08be0f22f4faf1b30a70bbcaf161bf45e4233294dba860fd394c45ad0ac73728c836b6c1927d1b26aa7a0e1aadc5127c66d994c5446dd58ea507175cfc40b339c515c91dd69dbb01c1bf6815310d00478a4c91d211f0f834139c37acdc1f0fae21e140e4f8319e0246bc4eb053478a9d79287df21f7f7a296da2305680f5c8226ccbb6d704236086d3c7b260e054a41feaf1caf33a72c4c688dee365c5f7e01ecbf923b0cb71468dc22f1b4ede290438db0780d7f01e482c39e7800ee6692d892cc5276baf1e8bfa389a7aaedf28265f11f0b76277f02923060f9757a8a4c16b624c8caf88fc5cc3e6b094e32c3e7152b63119f19cfdd91492d02717d106a34e1a6f45d43cf4f548ad2dddd5cc5887920b23ec8e4e8bbb2debd5056ebd35c6b819264a482a3342b245dfa6cbb9da91b22b223a4c8504191b593cbaab6099334cd40116049e758d40196d678a6a5df0010ca075a4cc8bdd415e2328990457e2e93657e72377574b6cd2df41e93d195bdd3a5e6e8d8f1b65459dff7d38d2d2bff9ddbfb3883ae54f7876e252da0313929f6a64c5a9e48851171fe286218605af7e0d2f8fc2482d7be34a7a2d0d18d362b111c5a16bbe894d9eea96ba3248788ed7c332c7f19f0040767eb10da0b812a3489b40adf22c7ee7a3c4f5e6db2945ec0bc3c5f5b1a3018ae428235feb339e7483f4c2e219ba961e347d9b457f9bd1298b42d386c43f797442b227f8c747bdb02e8da8f4857e5e8873b56c86884f781d04cf9bac0e9947e2d784f78dde1ab9b87f9431f1da69c03b3033e9abd24e3da6b5e04697cc616a5bc50284928267fdaac5c805cbd7ea64fd77447c65880b74555e38ba2a300da97d0f6a7fa5474a27569791ea762f8a7244aa024f9e0c7e14fbedd3b7707ce9786069cce2ec8d8e3dd557ba96034b996a60223f1756c92aee7b364d63994e7a344b9b8fb73b4e024d5a3ecd804e97f7b8b629061ca9ddaa38aec564c4a90ae3cb78b13d6bee175746e423ced7dc4b847628092e26e41f616a201f45d777b7099722d5569d96d0551cbcdaba8515f93bf266325f24361c4fdd54efdb139052c8c64445c16fa8158b295f84875fa671e0720d0207fe7a3e6f4b7fb92e985ec4b924d85495bff85a239406b9fcf6c581f035b39804f4c357333a772a275a2a70596f1c4566b0352966baef9052af8fd17f8b5bc9bec7cb282a23ab070c3df1a49d48a303997aeb7a38c9bbec99b66a8af4066cfd16dd76a115e4d85732166de4f28573c0e457a87e606d345e09a05df376de5f3318d187df8f40cadb29ae2b92ea03804d2fa05583c43605315f16cb3d61aca67389086810677321ea148b18aa7c01423ed0b10ffc1d045cd182240375d0b2c1bb13ff974fc0a931c202895f511a2695ebfbba29db16cd86f4a1e382a5cfcab59d38540147884264f1c62f6438fe6275791ebd0ed5034ab0241f67f4d4f15f36fb41019ccbe707ea24cb3b0133db0667c2c65789eb77e9fc74b3d0fc4d3561e7695b28ca111e78a620f591ebb2b94b4fe3e9d03530cd332d22d1e99bc956a07673882db4f0018ff77ec1ffa2af6129727d4afd3d1eee74ab00ec5792f7f10110e85b8c691cd409f0fcf890a62b484b4ff5917afefce66f082642724fbbb3ec13da268d4fef584b34c0133eb58bf4854652b970816169cce6b2b4cd64892f9ed550f37cd3027aaf180879d1f3c4813eda34bc6d9558b2905891ca29123b078f13047c34797332c4f835e5f1e418387e9a950024920faa5a11869749a48c83bafcbbe8d69e1d08bd50f7f1628afdc8062c819e89fdaefb1ec2484be0ca0581450f6f14e5d7b059c193b40eafd08efca82047d5e5baf44f1bd682d07ada56d94772cd9daf7befc4b410bba12679cd266f7e98aac90a6ec1a2f4849a4368c182fde315a03c1de2054a950ac314daacf6118f26bba4c0da36344b8cf5701a6f7628ed6f3511eade5891e631c05679e141d031e689a6d028e840032e3943eeffa2a1d2a2fc59fb20d66bd06599d4bab76d0414821471e1432d1aca0dfa6248d393e82d295c20a8584eeb823da9e5a0f24f661eda8e55f51f13009e42c0ba471882a8688472e29ff79bb34db9e8eb9e295e99a76bcc78080ba94bb848ed8633c31a63d4101f1d77c1b7437a96bd2b5fa8f55bfe6676c1bef83f66233041dd5d16bded7a490a1aba196bab365f3944a4cfeddadb6203b8230094706e84cc4d91a4b285a98cf9b554d4e469907079a1e327ff9326555d64f4e423e70d13c944ff5f8b3483a91483683bae8adb06cdb55323e3d952eb5eec0ea9a06ce75fd3b96b75cc95dfb13e93d4dbb4cabc0f7a4006559e2b12f0bc4a57cf013af3172ea775dfaffab4eb69042a0542cdb4b0cf9158d9259d734e7ccaa717665301b698a69bf9df0406c9e22b6094230076075ed7aa572cec6b45e89fcf6717f021c90ca42b48edc462289ba9cb76f742a9bfc4a9fdb8219cee0bc3755d4d75f0ebfe9eb297f99383448888072b5dc72e9fbc411a5737a6b7a4869b1c6bfaffed90f6d6dd1d67709c02a8764e1819d620052341f5990363a3976e4d2ab134d0ed6317ebc45e903791ce3d5874ee403c445ca21d6fcdef73f0aa50c382f3a078dc860bd2659751fbd84627466d8dbfeb11f808ff623fcf1b33c79a6a07c31394cefc857361a4af609a6a53bafa5d932d2baf85f389ce9b910a18606054cd1467bab31528f7080d3bd0f1dd0380e8937aa344cfe433ebf416f43dc7e966c1b04416352f1f1a39b61437603f9bf82dfe4d0e6ed1147f3df08ca3ce0a7566315401e17c26da4c48bc5c50cd0436d61f9bcbd12ba4645df2f8795129422b04f7550719a52b149e6a7aeffebf22a2d74b5e671ab5ff8bb99b0655cefb544bfca0acc22aa396c2a65ea196f68974827b574e4146e4dc9ff41df3104d2d6e9215ba16e996794858d489fad6de4256342d440c4a6dd543e9861b68801330c19470446425b1b26a085d09cf06801a0ea1e4b388ca7fe730176876b7f71326cdab950a08f929c89464738aad0befe9bd85c9cb7ef7cb0061a602fcad801d6533b2bfab0d4d615f1e71488ed5d5db6ac44d2d0314ed4864b7dc0d4cbded5530b6453820eb7e442d8c8594a2c4b41675b1e68b8459a8bb24cca58eb1e0e97da1339942456d37e6032208db712c7411c2089d4961ea71f7749e367624e4ae5d7313ae802cfa03edb2ebc84e0fcd15ba92787e5ac9b388dcdffde0915705726a3430851d60c2d39610edcf4a0ebd9a900d3e075111f6f60e5780c5f8aeec42c4f096c1a29ac3226e77cc97a4c46c8f29da98ac13159a16a5f3d4347a961a0242383f65f10f141cc06c821c3dd435d14b388caf0e0c454723d930fbb8a0987f4b930aac1af46b8f12509de88ce185c9ad6bfae75895ced4fb442102f0a59008deff4d0bf18f2b10159df4a5f7ae6cd882315dfd236c4afc65193c111c9f29a56c9a2e9a8a8e5d59bf80d3f4b96160030cbc72fe29cfa19cc73370294bb9d0e32321c95c76fb527f9501753b286b0f66df4959718fc271c1eed5b812db3eb9116bb408ae164b24504a4231768f99ca1673899254ed9a8b667d0e6a3acc6f7121bc09a5a5fc0174e74c0a1a3043535697ce35e7d618e50c7834a6d4708d7e72be7329d04479f2eb6bdd9005b7c019b37cbe5eea3bbc8aef49290f638c623d779a1e4f7dd26de32056cd6c431034432d4a12e748bcc856008e9b42d13ca829cd90cfdfcbb609d59a206aa08e413724e5a54f6427979b2192df168c3f1ebd02f5a4d3dd8740f01098c2fda0380f2e21b6e7672d3425b320d38b04c64bbaba2573313785f0ae3a4379043f789dc929eeca8a90f80951ce02a6c9d8b9867201effbf7d6306f479008bb3cf1b2737cc2abf67f2832ba2b1fc0cd0c21ef0517de0a5a984afbd0791a81bd357991366b86b1eab58a2f01efedc17aeedb8ba9d0137f095a8e8fbdcb1a55594da6119aaf2146f065788ca831699e27be841eeee7eaddf37acb83730b848f500b7204e47ced5c83893cbee81166f291377473cb001d9d6bd81b56b088e559206976bf0d6ee599f19f9d60915aafd5310832187b3b3a347fd195a491dd121e89f031a3c36cdf1a3d75378480b59220d54f77a92069d8afc488b0a4d1c0e3d7ecf2ab05f067246f121d8377633322b24b46f441f39547b89167972e781053f143156120f640586b36ef099a83c6256e84251d1f842dcf0016ae2b6e2ccf614e1f346898ad6db562812983bfea61bf5e1b29d8368f6bec5c398aec2a1a79489266ff73905fd9151119302268214d5b4978d2f307972efd599facad235935db758a468843bab0141a13306fe5066dd197a6cd52b2dc67b5ac98379fc6225a8e95e50596ea45ad29d8ef9f45de5193a9f2e5805eb8d1efb3cc084186f306a30bc7ff83750ec9b0e4f65ef0109f5236a73d653d145b9757285facce03cfa057800df405d9c11365b6fd82cc63011afb1d97fa62faabc6e9a42d9b58f59c502ee71a563c4875d8b18c082e66efe730f3d61c848c03fd485648291b3a5c59857e1dd0b1ff62ef40c033a6bf6debdb7873b234ca57693a61a77b6b43c68b90d60bfc14ae5fcce5d6d0949df3b90dd38f2b436b3a70b71b193446a52f3683a28df0e4f58f73756c53f343df49b0708b8fdac29b6e4b4ca3b2369fd04eb239c45fbbbb070be838981846011d5d9cb41035ea0b6acdc7a04732873f9f0a8bdb9c2c56bc6489f0bc80c03f336c0b3b6389757d6660fa0cf891d7bbf9ecd7d321a7b32c79d570062797b443d0e138c1644c44d6aa1b817330f323ec351143943048896b14cccbd063e4372d53a0629b67ca24af1c58808095036b5b84756ed4632bf13d4a68d819142a0ad5bdce09e074ad73d3a0801e818965fd7203c0c3862e56c762794eadd5e7c60faa15aef6849976f461a6a202d92c4f37de8d0550b66699efc398ada9e906047fdc3e69ccaae0c5fe913a000763f759451f5c55c4db715502a90a9205a93864246e7d3351c0e7f25dfbd2f7ac1c03ca65f2539f538a61e424fe3c6b587795432b252d43985124e15b59e5b25502a26e84caf11d24cbb2e88bad80cf1e888242928d9766a2ba8f4a598056da248c8fccf0e2813caf3acfcff2f90f27a17babb95588f533ce0d92a87b0a03a54b8859f9243a3bce8cddf4fa1ba11ec2f1977d96bc70c6202a7d89186dd6e380c969de3e4a716c6425161f0b229e50ca6bda74e7b56c98994646c0aeadacb39d6b0c37c62d7faa55a61fdeb90bb7743149f07b722f44e47d1afddd52133fec01a4e9c76691a8bf588cfeed1351c8b08db710d7dc6f551462b0e0a767063a76233a508fad271bcfd6800d2c06834e7122c364f9a891f41c9f69d3aac0a410d1bfb52678f2861b7e64e839a2153e69ffcdc55dde41c3adeba991a613c7a9d8316e93e9bff6e4f9abbde361c73de671137852def9709384129a2d11db95be39b3d23714115eec5c589cb8b778ea61cb7338c60223c91fc70b390d4d8a341e420b5cb6019aa0e9b4b6d90e8577eea2315e019bcf89e67cf79754baf1911696455b0137f3e53c1048040a3ac69ee6cec286b2368468762888dab973021d23761170adda6e15a4d713e2f83ffe564fd953163823a045669e9f3f8a674b28053c0b463f887ad7d0901b576714653033ca729b0fb4c9b1aee9e264b77a0e22aafa18b0935f6a46c518e430c34f6b034c1fc773cd82ecc0dc33da8f1ff6a29e215af31ccda7322b2e2a71bdc45246d00392f8df9d875fbbbc374404624833727f0b6604aac2ac844eb9b28c310d620f0d62f2741a117d9355956affb31268f045d1099024d8ed60379e4dc533d945456a608a0aad7206ad3cc7d92ca02b11e5e1665cbdd1d0607ee4cbfb1003d640beee0897daa3f117af82890c3aa6d33b555971d6e6dab58f8d73e33e895b6cd3cf36402994e02ad71a46de52ebe0aaa5c3ad06e1f5ad9a0fef1b48e963922ca532882569ef3b724b9c80832c637c84adf41fe46647cda209129d30a597bd4f1b90db5cb15d8e0cfcaa3a0b058479f9b58412de214b165b3cd636139ab702d070b257c3fc2aa6ceb39bb5923ad29775b7b4f8e60c971d6295863b106c0f19a97ed8cf918250209c9fdf4c66f8b98c54816bbe4f2a50297431f7efcabddfd59355d08ef40be51e1169442ccf6f3d620543dbf1a89be1090e18acb131b21acd81b84cc2d1bbd3e20b7a1614e6098c980d60fe6aa998761c9ac6d69e34046d22f26248c59109c0d14df82c0be80d7f97b63202ac4f4f34a00ce843f807ba8cdf8daa64119f682dea2e610c27a6f42c9c568dcd436cfc13e35fec0e4598abd654c17b7580c96d1e85f46b36414191b36bfebbc5eecf0ea454ba1130d295779b05ee2e36ae18ef2c04d72d6406fd2d9cfb3594d38b6a95cb33320ca5a9448d9423302975758d57d157b15617b8e8f9f805805cb12adcec4075e1efbc3077529443197a8713b719f140bb82cb4c1706f702207ef8debae5ef98a7a2e0150625cb00678a092686aea297d65ccd983babe3b08ee82ec743a314b1d5eba5537ba41ee8658fc840e292b10ce40488e51a467981029daa3829d13c72809def343d878d3178e9b1762075f926f8397a62561863c26b6617a6107599faa3c1b35eeda04d108233249d9bdc6070f0d2089284d59ce386be004c73032746d2a56867f3533f74b1c56b9e03c19a39c0c7a04681b4af675f2460f445d9ee03e93e68f3cd0faadb3d469613a1fab51e57be5c047cb2bda9ae45b656826d6adf795bd83eed8b832f6dd261bd74612ce11db74f66565bc146e1cd05ebb62270a402f8b1c535c8bfce7b047239386acd0bb366f7bb9f026612d3491dc13b73b1324fc98845b4fa514a2e9c4cf35284e9be66f2fc10165f0f4be781415777ce48fe14cff8bf8b972315a53754fbc24930e668781b77cf141dd79e7bff647cccd60b9ce447891d71d3abf69ca75cb8de28ed2ca119cdb642fdae75b055dc663307e25ac25b16a936b9933922f898c74254e058d745df3edd448be0ec8047c9782698072c78758887dd814a72ee9bdc1701a83b89ef45881d0ce29e9623d0adbc5c933120e1eeec9a2fb54f4794d79afc353a877e58f9fa016c0989661cc294a20c6a4aefa8e0fcb58dbbc86c36724e33bc4b8cc0eb9b42f53e55d08bc14c45fca6062c5d4f9deed006fe04743437db62906bcdd7b22dfff8a573eb661b025b08aa16d0d9f91264f535c2a25759424de89310e38649ddfec5f64877e3d16636693d2921ef8ff6f21217857efddd2dbd5256dded71cdc459fe192fe35d02c1de5acd1c710743fc6cddf104ca5efd7e1a6f8d814aef92a797c2cdb3baef57bd0ee52ed2b42db28b47b43c19e19513220e079726c32a5fb9e7e7c349268df38decbe37499893d2c04ba74c65b86cdbad9a253c61159d5450e93c7dc68a8a61f84874b153d53d58af7553ae8a41d0e47d59ee07b4bbb0ce337b5f250dafef0be46196616f0de867821bb004ea3b85645500ef1a610b1de645f7c1e00b2181db7d2b1da7fb7c117904239cacdd15e7df8994d1cce2ae5b355e7e4efcdedaf005b3b7c8e0ec7cb7dafb544af8d1b539241dafa80fbcafc6aa9104f6da485568415c204a269a81c475505c8ac17538686c94a380a3d5038b0fcea0793dd2cded7238c17ae02fb2979b41c6869426e4908131e106c2c8cd86b3513713696284ba9083abf6228b82b35b9bd7c9d45672ae06b9a3a091c6f1a3b896ae12fddae47541d16138dca91bb001c37363d713df23d656431a832611d3e551002e6dec672f8f5a9f7f6f11a6b6d815543ea33227904d446935e0238859b61d572463d32b050d9c8d2214e9788371912dcb61b242251a5fa8d154f6a7725cd605944b877d369f30eb33ac39a5f07e13ec4eb3746e11a0ce49ed9b13a65c91b72d5372c03f4b26b41847cdf06eb3fa313b12715519cc52e27acf170c0c01b509fcb93cdd863501b60109ab329d127db5eed9308e6a1dbe2b6168ef6806ca38fdbdfa737a354fcaf1de7de109310043d99eb2f8d4fae2e6b42f353ee9dfc13700e805bce9c4825076a3172cd7cdf36ecdd4be364b88f59623003cdf88ec9a256f8e30a96d6f0874d1b727f22c9f5863b069746fcf8d750fd034c4f55b4f9c779cf3f915a79eb962d35b5b30f0c8eaf64189cd04cadacca0efd5697808713adf5ddf6b7fda75da034d7517f512ddba158a29a604e0251a606fc45d1822c0c2dfc7d882ccdd1a9ab1c6bb1ab9032d4d7eb1fd9e342109e20bd4bdd898500658107c56b8057743697e2a1d45d2a1f0b1a6be7b0fba7be5f749006a45560fce57d12cb9dc1513e6a7c7bb6f2c67c56f7560c8952a4a3412de9cdf831ad4b0b73a33b406817e82097410a5806f19be94884aaa6895006bc0f80ef03d133e80efd398a5d149d9b4c06ac94eab7f3c538bff7ae30dc30f62b386c361656e1d74f3a0ff33914fea4a6e15528fa990bd0bbf04f563bb61654b833b18d8a58f9e359f4c5f42317aef046346e9cd802da21f3209dc77375acd0ce88d3a2e2f7a4d2dacbe1ee6773cbcfd7adc7a869a362fa9dfb82f6ca680fbb56ff10de162e6d4530b02511bb413155fe913e1e02677da0b6295c817f419962317194e05c7c68c1f999b116443ccce1b17994207164b4c06c66ff22981deff82a1556b50d5b2c164689553c539e7e1275197541b8ec59c2e161ee43ad944a3e8e70f6b0d535b56f34f68c56d60e7b7f78eac632f935d5cc5df5391b94c16105e8cf20e5c5915fb14859420c71ef8fbdbb0adbe2893d0cfeaf50dda429e957c8f23a8b557e6a7abbb780cb6f2614cda1a27950295d26ba91befd38ef642bbe40f8fc4bd251e3684238111b88bd8ef1063bec23979bceeb3207d1778776bd86eb44d0f5dd6e30b2b4c39cedc2e32490cbc536325f50c9a6b8f895748f10871f72516eb0097aa5ad244803af8ea49cb62e9b11569cd27eeee04c37ef400a557cd646e9c4758d0f7f58dee7a603f60d0a534df3bf0bda6b55ec0a81a194dc44a3ec2bc5123001d89125a88020af8f387dc416fe9f93d429fb83288e6f28c13506fd7e2053f0e26bde1d2e9410aaa45740653708a73389bd7a9ef4dd85acf45f19227ac60f2dc133d6285af29cff774544913eb6ae15c7986b94d55bfe7e41bc92652068b699c783efdcdac361c7bd0769f8b3fa03ef614991f73173163aa5960fe61d6dcf6f575e715221b0a7404655efd40b62cfecc09799273dc366662d994698eb00e09170579777941b3ed7ab13f95c14ab2a84e4cef3704d3917e8ee8530012074b7900b4e132f980413a486ba92104eea9bdc191af8cc8f0e755a246a0a5c3021c7e0561dfea15490d71e90d42b375ca69ddc4bc45dad4153430b33a7efdd9099f51e857bfff14cb89bca61fe1247af964c5f6a0a41d46381e013a6a0e06f66a3c40e9d78a16e465b0ca2589e980d23406a033230e3f7e05357c4f29d2dfcc5839776f87519d5d2b8a5548a8083c6d2148b87850dbd6d9f43b4985797ce3712fa7ddad5d917170425f4e06f9e7f3f5553b9c17ced7c1ba7d54cd365ec915d6f4214361509831034c91c00e3a78529cd9b51d4678c1c48198ad0d7ad618c0f3fd8a15741e8eaec96b809dc26e5f0d0634d1468088497bbb36d9fdaa5d4bb7f129fd0fc3abcfda336fb2ab1155b5e7d8c56cbdf26a193c6681d35d7c1e4db2ee8bab4a2bb28ffebfa02aafae842ea10a80add98760ff0f96c231d9eba5a7b04e8ff43647ee4666ac841bad7ea12dd6c9dc6f1b6fbb05a5f2addbd8305580b59daee15d99b16aae3a92c28a732e262a9aaa57922fd55b5f72919ee45d5ad4684562772747d8d37f9c72c36a4d24da119b0eed5c41e26c50160c47dbc9f95779b8654de2209fedf9e1fa8985f8312bf35f1fd12861f9d6de2ddfd7c6536764fea050726615c020f5b05ae05135d4f0e77769e9e8b7d5b488930fdc6677e8e2b0fc5bed1e0a82c094950f907ba7091af465e179c6bc184e4d661d5f6131af323f225d54ce534c63f52b73caf6d6fbcd4b08488939ad14db1d1916cb8ad31d79eb19f45e251a053b5ed350a27eacf36bced8f8a8f190cc8860402c69bc1787eb0c72464ac64b5c7af5cac66e7bd893e1468a0e161b33720c3abdd4b74eb2a52d0a5dc59e33c7c1e9d59ed25420d232c81bf1f13a8cd1fafc1f5878c5998a9257e0737c6eef28076c37badd6f3fc30dea136fc5778eda7503f25df5d75dcd8dd70e9bf7df20b387b3adcd05185391f23abd38d2b6ca932414b5f36374e17868e598692506f264927b346f0329c15f281b9bf36d6cc9a99c3521db76ceb5746b477d99ad529846f34ce660a206b21c9c9f7c3c05300831f09944f68706376966b28c3d7b6e4562d1c9a113d5dc805e99a0aefb565fdf6d813438e1e5b727d4b4d2a2f99f59bdc6608f4d576c8e9b0906e92797245f8637b65ddeedc90e62c50670e6f58aff4514fa3f5145904e9e134cb534043fee6b7fbc454cbb64b4c2ae870da148f5b330e7e59383883469f3c2c8ab236dd0da3d176f0dc4ab66c2ca325f14ac6ba9198d5a4a493462d6c222e2faf3e1bc14f6d4f83fd4926169bfe9bc10ad419f9b804299d7eeed45354d7a4f2a32de8dec5ddb2071d5f9a9c4f6f2781935f2543928cb84ef4cc15427fbde98401cc724ac0608b1a2d6fee1e4d5276c3f11efd775c469f1a3273f3c468da6646564fe39471f1cb700ad8f807fcbda8c47026edad69e8331d39107e35907910f12fd91c70d24c7e7e72335dc89e08472d6579610623f36cae7869174bfdf53429c2b7d1a03bb5d716b847b7e680634f6ab6adb03a261472f09d90d702ec40861ba2010343552c3677738088b0197c56d6a0dadbbe9220858f9290efedf2d1d6f3e04f40cf2d601d1da0a20340ce88a9c8bae187dd3d48890af4da11233f6558a2d52e011934345494cc3b44f7b14dcda0e73f47dc4af340207b3859b3e8c307835698ac20f08542fa686b49bf440b34ed3780137918a78ee5d515972208a7554290a48b5efe5cbe6417c9174dfb3acda22f9491f933d6cc93ecf06dc0379482ce88891a0baeda1b304b538c82ade9a5835b3dcca0b116311420f5d6bed45a35c693d09bc4d3c05c7d36bca5c34aa2babf96c712bf171501565f46cb2ba2f08064eae9d44a95749379d97e2b8b388be9675c0e270bf3fb93dc6fee14eb5d802334dd803a0b6a924ba333a42053f3be4882e72b832d80c39adac3fa779ba38b8800b994b4c89d5d35749e41a120862ee2e6fe29cf55c7d3055f45b5436e1d60d1a53627671b9b4e6a330d9785309b62b192f46b9af13d9381272da7fe69f78ae477ded20c0f0e73f7ec1c5769a1fd4d680987c546b18546c2676d7d42c5583a572f4a94ff0b80bb552c1c2d9adffe444f4aab70d5a543223164775662d73c36e9e7c1d2fcc0995c1784da793a445b324483737c86def533e771cdb8b9547632fb1a7fa4e08d26f79e863c8d1f8e9f55eb2f3eb230310b8e293ba2b4cd48d574df7e860ce911a28f3a8798921d27d11ea8b484cadde2dd83d0211d486171c6beab26eed3059533a706683e363448ef023c13713e20585c4f3d109d46addbf474be1c48d3f71d0236094e7c343074668f5dc84f0654de675fcab4f246df8f76fea41a7f2873079b4e37ea2130070cc5a379622283f190fefdfbd66df7d5c95d80ca5a11395e10b690abd84e26eda6b7dde912aa9f0c90866faea4e64a830a6d4459f9a007ad7e47a2d793fbf861f8685cf21211ac513850c5d2fe26f05afabdbb9ad8d64b70d55bf4d95dbad87b236a5e1db05f5a5edd5b27042d4e9e784f54bf6966c70be1e2f2a74cd227256a3475d4cbd43288fef7590008e0d5981396e637305ad0309242b4c5cf4aeae037bef0f52050161e9d85beaf1d94b5c3298fbcb1f66ffce7f3a35b22e01f4422b613764170f01623885de923e68bf2c2bd6e5e5d9963217a2c7d0b79a460f53f2a774360ca8c69b6f85c0affce152a14a298fc4f9a7622c6d03a9cd4574376127092a0a5938770191a1a8b983ea4031762f70e342006a03c4011b99ea41fd20b0d25ce9a178072a9b1dd38657a8a09d3f2e4227a3c5f4bbf555a97041bdf7cb90f624b2977dd8e63b1ae3b32de0cf6e94dfe714cfcb968d569d49150cc023d9d2bf6152eacedd5538e0e59cc5db8f2e0665f87da28e53212d0e90eade0a72e747edf4d516011c7309046e5509f7d711992904d0c64fad23f70df638cc7068c1e47840dee896f33113c365cc7e492bc01aacf7fa752e9f3c02e2d1035035f4386aba1cfeb03c609df1add61d02f1ad6668dee60f303f44c529b832f7b36cf526585046feca377bf36a2536129deda276725a23b62cfa6778b4de8f8163daafe15a3d815489732fa3a414a6e2ad80213629f92d67cfb7b792034ff13c9cbf1cfecf445b09065a48a27783120683750cb88986f51bd713bbf2cbafdd8914262238a85ec5c93070d84ba82b1325dedd513cddf26b78b415bbf8b4d79613c52e0b92ccc2bb5f31eb6452c6780ab7cb001aaba0d1b5df245d13db043df7ac3b8750eb20bae8c2150dd677a9c72762b68845968488dd67f13163a8112261e1d158023fb3e74896b12b6595c7d969a8b2a0cd96ebd1ee5a600ec53ee530043f92353b3f6c83611cf8f626769a7b246223b80300567de5ababe17ad7fb1e62dfc09d40b27abb3e2290bba9824381f999a5ac3be7e022333eb3eba7087ea144b7d149b8dd2325a638e8c003ceeb239de3d8866ea84ed99be4f55aef2e97780cb41bb69fa8a0576bb032af1a6926d8389db97f37ce2cd1044dacaccbc46b316222e2323f625f36a31b41920c799f919efd9421188eb64546116a6d44008ff629ff189485efc299bd107a51d49e5279c29bbdba41a0d5b25554a9806b362ee6fb10a0b775b6b02a8490c40e978597ca69158e5e559b1bdf8b30c3b0a75f0398504f66b7c6845ac704c9fbb3fd13c01a9b64d063bc3349ad1a480e727463c48e65254aed2217baf565f64b666353dc5c2cb06e4e88aec79ba14e76088903e7d43b7e493121983d6ce84cf6a8ed2ea91653a732ffb704d62817b30477ca447e1abc0652fd830881c224826cf5a985cf0f21d82992f269c29f741cf0898c4a36aca363cf60e1c5ec610d78fdeed7355cc340855410fca3f555df41f1b1dd9bbbe5f5a5bc183365900842db3eeedf28baaabe7c411d9b900325142fc0a332fc018b7d1d1c37e6cb81202295620e1fccb9ca0ff0810aaf164739d4808851d3ab14a44872193a524cb20323eff47768c5f9c0c316c5a6ab39bd16758f223f163c271bb9ae3e5e58152dc5cb78e1a59af72f755694b16ac291495fe6ecd7f726e40ab92b1e0472d685ffc2c7003e1ade7721311debce50259e810cddece87c59c0bd980ad668b6c688d49493f49bc652c34dc0f4246131703426331222fa8c16ad9f08035609fdc375aa9d4f932c3d6351d495818a93870c6d763cd4d63eee8f0384ca3ac7c8516dc763d6a5efbdb76eed8e94ee98eef794dfb8645dc3d01e1dfcb99db8aa03eeb7ff951056be1c8b34279f257769a0cfc847a94d641f318fd63b51064901468fa2a782856038b2291d1f7d5dff36485981809a8c23b3af003f63dd787d5d5b1c3b2070eea2fc0662483b36ccd1c2b0310419db49e1857c7e3e4a36c793ecd8e04f22b71dcdd44f0c0a22714c4d940221612fd9804b7a96aeba886e1ad49c437b92b68f5d13b727d54e40a7624d454e7f5b7faa25feb6d70ab73c9031a080765389f7fa924dc98275c07ab64ba726c4219aa4998e019e87fbf9cb622a133827beb4ccdf0543103d3a3cd5acb3a2e21637fc019eda9ff805e76b7cd7e0b53476fb111dacfa98e7f61945d90cd40dfff5d799cd3f2aac8e463495b4323c50932bcb9a0e9294b56f0f9e51fbc17d4ff73e3b4ca01c6da2646a2e9cb85209e2d35cf29db6bea270fa2d69ede2a04be1ab0596513f0d1f3e51b2ed62604ba9eae7ea0293059b0a505a2f6712d0afb8f7797f7ed1536d343a131bbcf1588f5b423380fee1c48502d6d2323d098963dab615b32e47c2f7c7a40b25d86ddc261bcbdcd153e3765aac92b49f29bf1cf93bdd83ca82977b7306cbb2eb3a84340da4b66d2d7fd6f15d6db5e5444edca2cfae3398d362a87dca8e2c44208f95b31333647e119e9eb58931110f53c2f1d6cba105356205f0bf3bd354a0aaeb3d22290addad9f42eafc5f475a54631006c7317ebe60c6546ce1278a594674e2d4612cf7b305badf209b6624f9d072521218536b7e53981a56d21766fa247474580f52fb3d2b7220a91ba33593ba4a06146b5175463b8cf826db2eb8659de6951010c347cdf93dc10625c9095a83914208e9b420c03ef1a2856c78218f9cf83bc9225d2e8a3cb7026dcb29f07dcdb3b8daabeb0c1c417d2c451516b78d4d5b9b9df096f5125524e03c8179d44919bbd92735b45875df8a9331277144aed0106c845c89f5857cdc3828fb62fb9bfa7de7ad02b8dbeb373b5cde774f8d0dab19a4b13a212655574a217ae07d600820f9262f749001e86d079926bdda9d914076de0e1765db9ad779c899573804eddb90ec1f514772e065f183819646a1c5f09df20bec7169a2b2ea32b10dc7aefa72eea3dca735a4e0ba50fa98b2d70c63e5452179d386c7925934314b34b779209dcc430012f8783de5354bd78e855271a55d3768de95a48b43575dd61081ff2d38eb39b08dcfe5a41dc81d05c11e65c096cc6eb1c1059193b9946e9b8f83dba3f03678cada7b636f0357dce519c4c4008260f87f4ce760d0a99029910030caf5f3566f11067b328e90803f9985ab5141f2108189405f0b65bb33e943266e80a3535890dc5992fae91abec5749b1e3a8fcde88cdf43cf439f74cb876a99e45a0c8b5721a0cb9209413604fa6957a7384dc76d9f359c866d8091319d0c16f348fdbc2d4d59af34247e96183bd4a226dfdaf6b0388e0edfa6df5627c6915f7da39c6554644a5a417a41c169eef7eebbc4753bd9781b2e4352daa95d086c39587442f02436f2c98e88355f37c7ed529d47ac0d284d0e8a0c1c7652f3d65653cff24c5b5f7be5ecededd4678c48b29ad3c8ab6352862d9419d5d89b84523baa20fa63debc561bf4ad851e4395feaf4ef6e237ef267defcd4df7d0ab188a068ef4ed5311395dadd9a02e50a928aa97af17cc61d3a249c6347c7bb021300cc8c0a0f6f6c98732cc2fe47b1b5e1b67ec0dd7d4cb5471b41444af768c172cd17c79784c2181eeeac79311397db6db659e0d32e49fdefa45b6ba2d32d669ac1238861318a1a71e59aafba45aad4747b7de6dc1a90137615df2999f1bc410bd388a5312ac9f4f26b4e0767936993a7f422b757be2f3ae5ba3da6c642c4a390a6ddac7bdba60c386daf118ed02d62d081f3c4d77957f0a093e1904602d9327c92b8cf7a2555b46e19a09b10c1df9d02b9fb1a34b6d47b596048d136401680ce35127bfb68386009763adbf3ded960b98a73a7cb341355adb642de4dbd5599ee900addbb152fc27ebbe0e9e5ebd8b8110e869f9b1274a6ef4909a1edb3ef5cf5f71e6e0c4a2768e754eb5e514d908e7e89a6c82cc60ddaf9464d9f16903d6beaec3fdcd7c82bb54f510710a5152d3f5da0179c503b84c04e0a532b9d68fc3e39bff15e3c420455da9c1ead09282f8f402ea20fef3de1b13dc79d6ec9e40adaa791c8c746add158aa5a681934320972d19965f79c9dc3dd1a0b3820bf3981c6a9ca7b7d73b87fdc90663b79ecc84a7646802671f8ded740ddc9094e8243f42e365a4ae3a90a2141d890c32c922fc4d8b3fa99e5d7cf986dd6ed0ecc29b557c0d1c6150ea8bd9b885ff643b9f4a7e74617bdca1b61e08811986fa0e491c3ac98c11d475af1bc7153d445c52e547938dcfa213669a0746aaa70c4eb52a4656891041af86f25868dd8ec097a37f3d0d4b2c65d2536eaac58bf4136662d5e6eb8fe47c6e74fc190a64740ce573f81731a3c59db6d2a8bb5ff16787af3f3037bbe1d379071113df3f3f7c53cf572268af3ceac3b5879d175cff8f2be277a982f8eb3165b148a5c36d011f177ffa2cc8aef35100d26448f80b2b53c5d25d15c501dce358f0bea0ad1065644adc6dc21dbb648693325687708706e4e254d1dfd491b02dac6d57517b42149f2ae019664afb84fef72ac6593082d2f71963ba4ab4149de83a0e28f3f782e70e0f8173f9d8f90e73fb59da8722da7e3ba76576c14728c5de4cdc49c33034de7e7edf68bb2003c85f226db463ac5c58db6e0027e3cf52688ff468f15d1179111451574d246fa66e7f35528e45d67467862b07c68e7a071fa0b2e059a8334ce1927a5a230d2637948bee69d4f355c9ea57479a9b810b4d7f9295f752d40fd3711e8c6c33a5589712fbad5691ebaae48ee99cacd260497118dcc1d1f0c5b7ef6655f81fb5fa2ca1067bf0f1978458feef6e503a5f3f5fbec7b47066f2f02162d78bbec550a37debb7943fb2d6d687feab436561cbea0e855a1e141a5ddceaee3799ef87a46e46fe1b5c45a084f6ea65e82da5e6df678d685877b826b6c1e2f7e1a2eb2f7e8db5a69ccf1d65741e32827914da9b00b0af4c65925d64c4c43439ad7e657ce97ff7f89fb11918204d9947321d1e9d7c46d85435d588a6fc56e935e1dc4e15af4d4ae2461b30b2c194c3b656bccea05f5c6d4792a9614b8b696651afaaf36d987c5ca555b14915e176d08a51dbe1b7e10e05e8be57b66054efa5a186cbad9472e686bb91c01fbb185dec12feeabf47a81691c8f1b8e623eb243adc77519bca9afb97d3088c1c44523e48902796102c9d52196ba22d8ab49d451b0824bc2a2c78d9dc83fe18e58c80065a20111e0556d6d4a1b7ffb46386bfc42dc3ea03a5e9a2d2aeb36362b3ca13141881151b8cc4fc10d668ae7d381b0bcefa9cdec14874ebd35103584559eb91d58edf45bfbe25a77078cce9f75bcd436b3f536c09cdd153e874197e198dcedfac07639a9aa100d76ea92c7fef45c854043533353b081c91c98fe83bef0247951858c18a775727e1259ffaf4130e345a675322bf51fafba5afa1183d4a935c92c8ffb24038c8295100818cc86d1ecb14723debcaf97b6089ac383cea2c4dfc239c555a4495601241f46f417fefa19380cd9060cecf85f8410e125bc8f5a8551bb928271457bae9d6f008fb70019811ea8da34ef6e8503e87c41ff2fda98328780b743ea8852ddaff880e0cc33151da36d0c1a09a28e51d7c919b6f558876783b020dc8ca412b6a5ec0724a89b1e0c47c95360f33f818164919c674b78bf80a9488e5ea0dfc3c0bf7177ad470794018ff95076b0b1d44a1769d2560ce9ee4951fdff1c0bc0359e18b8014b27822b2700153087ca16ac04c82b7377005d8289ef23797632a7ff8a57e4a996762a7dcf5f0cd4a3c24cbc519a45ba7f3030690060af5a954fa082f38b756f7296c9ef14daa632375a152da67dc3ad96ce39dabf17526330b2eece337baee2fc35027953e30ea4bac6a38f2594ccb06cc94e5783c0dac5231e08fda6e1a663893a54cd6bbd91e0c301f3e4a936de4add89eed4757944b9732f8bcf57c4c305174b4efe7eda0cad44f71a10bfa196cb604d65a0b6b131de90e3f7f331f09c7812ce8d61874158cd0e72ee13c7d755e32c4409d068ce5addbf1e9e064cb492aa7ec532b61f93d2e2be8ffc2ee31e514f671703b5bda2cc6b1852c521cb9e45f8c7ff8060f9d4fbf04e988b4b3a6bff5f3da81a72886b86b9633759bcc86019c8e0c760634b32e8667ec647723a1bf493785ab16ecb5edef958c07f4cfc766b25f082965143e7a8322a90c37b21f5be719f9f25308ae266e461245afee70531dcd4b46745a001342cfae71a30a8f4e36cfbbd963db12ffe2d2a202351010e5f54b4d5321e7055825a6d9cbd714b969d03d69bb9ee7636bdba21862fd730254eeaec2c83acf658e172b4c1c7347eb271da31972a98d0d9ac03a3e4c5fe20a795d15b0d27efc4a5f961b7ed1fa10d200fad88315dc88b0547699bf265cb9ab7d69e2b9be97c11b10475912c3ae088131ef4fa518f17d4ff38f0b2a3c10427c61022f050e98f22f61708f1425ee22f3a65ef05ed25b4b8790cd2051675afdb4c50eb0f94de7a934e533e3e51e5c200a6a0c715e88bcb0e8a0023cf4c3640dd6688d74617a4329838e6ec2ce0cb9281b3783c44e72e0d0f2930fe203b3405f9f9c69d2027e08d59d2f0e409eb08fd8a79f13e54b5a2af39c1dc511bfbca53bffc214a7c0b30737b611206d12d475d4faeaf36e49359eb7af2fdba9d17fb694b40e79b6dcefbee5426cffbbd6c0d702e1d08e485a103e086aebe1b2f9c13694c3dd3da613613aa0010b2afe1c6b86dac7f3fcd8e4a9da31afd84e30fa2751da85d229f74fead3e82d923f3cabaefcd170837e42fda9c3c0339a93585ff3236cc14740595ca8e634e0df9acec95f0f06d410985954268b618074337beb17aab57bea57b6748c1a8dec1945feb5b7ae855cf72884bebac30cfe2b0c1139b39936879cfa116b5753e519e243f4634d3357dcce109a83d3011c104f8c8ff14c6f7d2fb934d8d122e4f90d87162dff3422717dc6e36fa054fadf3105c333d2b4c4e8bdb3ab72d4fc8b1e0d8c6622d7b8c40db641442ea73dcad5642817ee63a715ed6026f274aa3e9dbbc438fe4f0429bea56178db401d5845eb996ae4daf08d8c4d6ced3a0ce778d408ec0a8ea055e67558858650f6ff7405f90e8e1bc92ea69c95a51893aec6d19408fcd5402eb9554bd9076751b40c6a758f28af417e0667b423357524a6300db084ca8f45cb6344cfd713ea83fd13b05d16905802f2d06a4e3187800d8cbe5bc00aae2f21512d1778a74521bb3b59e36a65a9fb3e9b62dc0e1819c869abd32bb3df0f9d66f64235ddfb5bd9111060b95cccf5f985324e3daf36c5050fb2b10bdfd663ffc24d266d8691b01a321d15bf3ae8f05a4a1b55a69c74a576de593418dfda8f151804614bbc3f4acc4a9fadd9a9b9f44e3bbdfbdb2805c1f78124b18f3bee509393e9d8ee68a72b8a844395a1317a6301a38d22c5183a4036aeb32d1a438ac1e19ebe64733dcc43ef7e4843a9b5d2690150edc6f1dbf3aad179e282bdb1138a58b57c3a2d451617391d5f11b39dc528d40b9e0e14b7734265793b3edc718b086833df1344cd6d8097afcf94e9673bfbb104b1e387d4153e7391b0ec071303a3c408e658f70f572bd5372bf702b8005c3dab5b3dfa54ff2c6080c614d2fc7d5c4ebe26697040f4a3efb1073a7ab2e65c2525a5700755c177bd40bbc9d4af48beb8175ae7ecfd650d37b8155f514223d9ae5ca707f80b2bbfeb9a8e18e17fb7887cf489b526596f5da4d98d6bb82fddf99a875dd168d0b80ced00feb62d0ff8489456540420d1843a7926ed3d75946097809433377b93f8028d6e11756a5946de269e819e965b4cd0a15ff2c3de6a2287fe226951c343b705c3e29db5780d07acec95a1a6630762d67e7be9197536cddb457d711c1ac3f09ab16af356bbe0060dc75c8ed8df7971bf60b2fd73093420fa9d691d84e4ad79d139abf15ab2b9bc627ea17a1c1f267d1350e03dd7d54b0d0a238cb798fad74e4105a3b6df4f237a20ee5bde67ea66ac471d8ab3cb0ae97dabcd4e3563722742c81d64dd59e4a4be2d49d707b622082ff46715a1812e144797907cc67b6772b6664bb6c63b16e3918b0d15e68d026f48b6449f957214b6d3a423ca6eeb0388f8d9483b688efdddb0e21e54715280f3d9df4441b8f7cc12c8d430720fdc37f3841ac6b991a8785276b7fe7f8333abcd75a8ffe955ecda37c3c321ff3dd941b7055d00d8562035fa158c7e11746aa1332f36cc9100ac2ee14fc722ba3d38cb87dd45cd5553803f48e65d8ffd8b88ea5c6e9f0393b3404f5518a14c630e6374189f50ffe2efb0ded5212d7197fdcf5d6b1258a38074a8fa484d150219742569a0a23f73ae6813070baebb8c31413b460388fff67956d63649da8d7af1fafacd3678d06056ac87d6c63b0457d22f74b06521c91287f117ab3a68e15261aff6944d4c7f1417aebe1a60509f4523d56afd573cf3a28348aa97db498e8fea3383ff2e25abdf5bc8126e01a9f9d4d744aebaf59452fc97408d4e520a624f9ac60b5d7b57e4bbef46101cafa610bc8572f84941f8e46dab0a70d2040111497fdb93c4a14f8413fa808d6591994926d5f16287f3cdc7d6c7e90f9c54258f1be11d5d15b6fb783033bd0c1baac21fefc00f9b28e5bf1642cf88d913f9f9e477c9b206184c353c15b0f25e998f25008c8270ae88c1a7c7df91182709cfa0866164bf2dcaa0a8373dfc286e2baf78baeae83812e3b97e122808a21a3fe96ec240ea030b07496e8f096b55cdbeed3ab4b288f9063507ab15bc988ffed5a2f197c85ac24e0a8cbec9f770f74848f064618df2a70ecca4a377aa0b6e78eb30efb91afca0e768c3fb23f5f3cb53495c25b561d16bc8416b2a588be068eb63cdd6b520442409429ae29235ee9ad93a11b36cc0ae354908c18ff7e9b984dfd79e3f0e03f065f672923f4e0220a99587802e92182d5f9e262d18d6a8fc1a978d7473d00772a701f35365221208c5b623fe807715041fcb073f803e0c41c668035442229ef947f60d2207de89f568205e8b93e96337efebd16db28de25ee6f3119e50bc83b8a601df2f3484e8b9d6326fc3be5a2503fead58ba03a8a6ae1337c2889e9c4ec2041e113c5a2f465c835fedc5c420946d48e13eacdf43776673dffaec1435a48055811cd91715b2874e74362a578bfff1a929fcd9b23509ceb4124e24d2b9d0417e07773fb779863e73a0cdf80acaa00975262bdce7a3bc471ae9b19fd9777f74ff09658582020bec6b1ed76beb9b70af23bb95aae885c4de529645a1fb4ea7aeab3a3639f664e2a8ab2aea6018372d3b8a45196623f198ff93291c17d6cf84c33732b06f8932a90d11cf82b4145266207805af1d143e36d6d5286383a648ffd491f4a78a51bde6b612e513a55a8119d40bde2a1fd587fafd8433bb989fc2b046ee0bb38ab992836a4a70bcf923baaec222a4d3d3c2996f17539c99512948244beedef70db1b92cf9de2c970e679060153051e28487d0d28b0405ce7de6be970887d46dbc4899b3fa3caaeecdd38d0917baf8f0d6166e495d105c801ab8666e5d2decdb8b3ed6efc6209cd61937edfb1f4769d5bd6df1bb02a47e13c3cad212d56fd9fdb2c03399eaa1787a51d7229118348e0cdf529cd249914a1cfb28eafdf11a31373078932c520e60f400970490897a4bac99f5966d7c9deaa2bfb8d5b8a4b4eff93f237bc0558bc32a33ed1a121cf22cfcf75d3517014890cc071fba566baf0a30227ba6f6f05593549c0d1e8411c9f22e716e5f52d12f7e668960f8922943ea38d341d0c34f2b366bd72435be4127df1a2af714be16686df58af57d403183be5a856a31fb19da57a80e00dd89160222d93b710b067bd81e579c71d7c40d48e537394a2e9069f10bd5b38f4cefe7beb41d60d53ddd3fe270e7ca2ac658761a01d6fe958b24460eede5f6c859dd36e3cc1b54dd86207a69e8bea3a5e7ae5de4df56f962e2788f7a443361a00a70f59d771ee2f597778a763ffddce0ae0229ddd6ec99f0a38d86b72b8fff214488cafc09022ec7e24e32772bb8d3f6513068a4b7c77042e0849a56a00b8c2eeaa28fb57f65c83f194584336a0b076888917a6d3d782b152772ba9b08c7e3fe7692646a0f972c39c4ee40211391a90ed8df12f42e2c5db927f3248f1004bd3b894a8b0acecaa6ef58ef9801c4cae866ced1f8db7c640367514469d9f783640f936bc328f68715e02b9a0e8708c450fb28e03e5268f30d14d775e1c4eb9fff9a2eb8704ea41545ef5169196a52a0419e6e3b98c5f100561a98ced1001d2381b6cfaedf5ebde681aa947b4ec82bc62762eaf9a254cbf545dcdbf8b6c43759461edb3fd8eb0f1327514540afdceda672cdffc1ee5a9180c9ce1f3c83bad45ff3e557c69fd9606073379bf5f89b9b9b1deb68255ce33640200b4cc312b7b5180746e1d02bdc2f67732c9177ba81513a46e034761ad3674df650d40710849d8774508ae74702e32aa341270aedd860916abf3cfe8f42a7129e6886ff0abe805d8ca89710705e634f62ab03d2aceb2e1ffe13272cbee1e89ba861c5ed03584acd0aa0e7218d956d86a58816b95a65e6f5715c3acde0584fc499f1278062404b86ad07c8d17e59f8bfb4bef8c143cef2a49e27ae4864a3ab39cca0d081673dd0cf2d3d3c2e8dd98f675165a6b7cc1c248618c3f57eec1e419a9b89cd9391993ef6833b4329beec2bb9708bbf19e71c1c87885ba03fc50cdb3a1d4ef9232e5681ca5f0f0cb6853215465f3b0d4a2e7591d7f843ba6361918a34ee988a5974e3bcf6f56e43815bc2165fe3665fac7e5b6ed40dac4139c2f4be85f1eb8656c6bde9a67a84bb21f516fe6cbdea8c10b30840be9f2632e85f205ad940e477609da37aa92fbfc3216136a0603c8464c7aa4f001914e64da30ff4331d8486a6df46b4b54bf0ae31f6628dc54afd8fcb2adb2652acd96f55c625b4de141d50187d7f34a402ffdbccab22ab8335f15ae08428709c3b88f51e6bfff31df744f2e85ca858bbdeb93a0d3f7fc2174e54371c5b9199c4bf955910597af027c80c4b01efc8f381f50b4c9562a2de2fbc27c18e3546791bd0978955776c799c7f6e988ac08f194490843145477ce45dc67fe1d26f15213da00567525af295843f96c2e7e25456383a738bc3fe46245577894ba953d907dff55e825e5534c602e6e63ee6421ca8efac5e2f8a913e5ece10bcf32ff5e3aef34ae4cd10f10686c3e1bc1bca62e7dea37a5a7c6084d034f1802eddb6464126a7a2ad6004bcf629b8dffb666d461bef777686b311248b8d369de209c239b3ab492dfd178bed4012a94463c8627ebe518461a6346ea057250a046fbacbb6c9235da7b44f05045abfba16903940bb24fbe9886fc770763d3b645357ff4260ba5017f1fe5618e292ccd6ddd646314322c86d51a1b62cc1de9c7c37a1ff1669ebef0164c84b1abb135a5359c5d426fa577880c5d7a513b15360db810d132c37b83c7397ab4aed4471650c2a9026e1d6f9a6cbec017bbe1b41503e459a13d98f4b2d2aff2a93041fecda43983409d1d3e1859700ea3b5202b781428431d09b37f470abde0393c10bb0da57d3863e104baaa50f8dd50feaf65e7fb221bb2c82658861b8fdac35b053c09c49d929ff4348f7d0d69c600027c3cc80dbb069e694007b52b553ca76d4e49c71e63a04da27f49ec69860c257c26d267008bdfc939d4a1ede36070b28b5908b98f1c23033b5a02979ebf02b18387ff04fa706c915022140296a7fdaf69c107213e6509ce0a83df433050594763943e5e10042c698132f1d38915cd0f33bec2b5f6634ceaaad836fe88ac2fd956f9cfe0c125a99400cfdad31fb3c8c2e7117e3ab53d3c7003cf2852c8c0ffb5eabcca9c7b5e89aa8211b7f0ed21872039023600b0ddcf6a7767b201608d3667ca7c451c7f65e4af97287f1a13c02fc867f849136e12b511fcfe5d543a077321a92689c77e566fa156d0b9c39c7d0209f614a784eefc470ce9c377cbf28724d321a3bbfcf5ac232abd6bafe19fe372e4d1fd732bcf80e74946f2640231e392e7bfae1c1eec8e85d840bb61e1fb2666199cc17ddcb5fed2b39aecfa670c7500f109962cb8f1f4491fb81a92a7275384b903fcde93870175357e40f60d1f9c9da5d037526b1dbfc19ef8c86b5db30bb9a689f6f36fc58b0e084053547136c75e08a0676ce77ce4bbf52705cadf3428c9d8c8710d0081b532f1012572f0a625a7789202e21fec5da12081c0993f69d8ccdf618ec8f33dac120bd8762a2611c7280a9fe1dad18b0159a7f026a87b6ce2e17882048205715c0e069c6fec794fa0a803f08ce915d0650af0666d00a76ac4748673d3fca5465ded8f101b59d35e22c377a8e90a97b5212a99fa73f80198851c4cd7ec543d979cfdafa28406c633f5a2cc85678d898e92cd61cf0cccc722ea1f5c118f5f58c70c01bf01f6f0db6c779cb75851f4d0f17c799b8a6de033cce4c4292521adcbe6f1d5f4857f48450dbb9c440f5e14962c34fb09f57467313ad9b4865777329798d2fb4a10e5fa680d3c7de77d18bdf762b3ad4b72bd74baaf43f9dbf3cf19260f3d4d7542fd02076b33d068bbacc8a7072c128f68ac513c3c1a1a23231b7a3ad5a95a10eea267a1d1270285eeb441590e7bc98071744e089e805502019677567d8f632edea759bf78632118a24dca2bef6fd963a6fc84420c537c5850ed6cc2cfac61c39b6071fcacd8fe64cc02afbd381241cc809c9b4dfadf5030ff5926d6508ecad482f316bb36b72bfed167f9183d6963b98946389508bb9d2a0881413dc6220fb18eb5dc86be90b49a6b9ac94f6e7230e69f147d6a19eb91db994aaf455136c87cd9d70425abc4bc526eab8b346793a748355878010957477b3bc03ace5a4206086131440a9f8a96208e5a43a375b497e99c6b421c5adbf95f86b186c6d9caed8741264b504501ff871034e1f147d1cfa428627d04aaab65cb6c685d0f80962ad23698b3dbeb884b45a1e2a65c7d6894c6a128efb5da73c22394ef36cbc4c5373d719fe555bce9ed1ff47bb5b36e9f4deb92b9f3981df2ad3786876f2e90806d791f5ce0336b9cf4690bac87f87db44d4346b1e59984d752eccfa3213e3c266fba3bc2a00d2cfec543f8e380ab61d3e9d4ce06b9cfc1e5c74b0ad26c70afe76ae04a53fb06ea999bfbaa9c2f6feb75fe3e4c7004f60f6c22d924b3d2744adbf7a7a8fdea278a12977f87101f858239dd0bed2f09b61dc89045ae1a017ab83fc2897c65badd60c790ed35fdeadd433def1eefb399bcd4cca3e8f3442ab6c814749c19afede61cb362f88bd5a9a41f6d83245b55e58335ce0723383f37ab1bb06391f46fd71b80bc7bda9557f913ccfa97c77cff09ae283e2a5ae4dc4d258356368c3ec1637055430eb117137cca1d9e9c999020d9a18342b65a539e595ca98b6c95cb86f421e4b10bee9d410ae8c7b45f7ed6fdbbbbf25813700f55ca696223d5592838473bf37df15911c4cc8c5af0d398a9c1f070bb9e862f19e90843969eff999fafe0a22f226eb0bb99ddb7ca4bf7e1a0f79ed37cd10dca9b4ac983f1bb074303043d98da413cc77e5560fd9c3df1292ac68e0b822fa14d331b5b23ac42c6a78c0b5562908f0e2098f24716ea24d063e6832982ef7dc990c0dd52340193e3fe6b44107a9e8fbc8805faa51d6b54b9e90bb6557acddf198bc8d9db4665d4fdd134341b016740288ceefd473a46e487f87bea163db118fcd4c3d59915f9cf5df8f2dc693076d473ce3615580ed685da3a82ea7a7540f3544039119d97b3fcf9faab26526cae54ccd8888c070b61c8d259e3b8553eb26eb57fbb37834595720c067832e96759445ccbddc7dd2170b6ce9d3774c8687e04bbe311505c4124ffb63ae094c758cd96526198cff9031967175f3ff8e00d65f127f5ef2acc41c9ddde5978f5b7d4c79d6746b5511ba1a830fc73a4034961a964c0fc0e56e33f7be196cb43726e271f01994265df093f090b1ee217cae0acbda22692fde7aee6571e6c371920efc28cfe7e1b5241637bfdce38872465730c020d848840026206f371270697b3f3c69fdf0ac8af4f8f2eaaf958cd63bad84d6fae80d93172c46af52b13c1e02b3aaa423a021581f4adc81be0b01455138c83a8cba3924d323c242bd4dbf9eca3d047e4531a94a8bc9d23910c03bbb487f3dc7fe58a282691504698e980ff26d75a6c171c8ba3e829ab707d33fe1ad8f5b3e86a112d5d98cb6c2558591df6a944d5f52836335c7d2e619ef82853f5ed27c8614538a20fa61020d0657098641034ba9fb2d7c010d8f5ab300582dcf32d9559641df8209a425c74a6a2ad58749246c120d1ec76060403d5059476b10b30765a7eaea1b2a7751f895f7f219b1796e6c717e77ed25e0ca3c8cf7da0da46dd43dfd273130733abac3ad97d46ed294e277fc548b30bafd51229b27e7c53d998b030ae0c94a36782a1fa3bb431946083ea5426d974e4289bdb7b9a2dc67c51546234d9f6edb86b79c0c3ae0fd8c6a817b08b2a7bfd5307c8dc953f5555ed8e601d43618d76fdcda0b1e3b486b51b0cf733ae3cbb6dc0c23e66a3bfeaf89339d7f27d5fa5dc4ea6986578d4867b429568a3347887672c201313fffa2e1d5f1b152e08371c0da76ac3840f074b4c63f26b5dceb88cf0af82d177c3cfb09ccb42a688fb5b5f8c6632533a2fdc1c9f7d19978d954d9a7f3c2598955343ad3162403d4f62b7b937f10cbdb3b5e5e7cd2390f158428eb84328822d56663af840ffc3584b07223b3822229cf245c359636f659a54b09520ae2efcaf1d7983929bceac06f466bd9da33fbf880fd37a736f4b358b2456daa22e21678c09068dfeaab112f2c4a44c8816ff4a60e63ceab7a053ed433cb96a9be1944adae03f7c63e640642d2a9cfe8645e3e783db8eb2ac7ba83e2fd3fc76b4df9f9717b77d0d0e1fe423326d96381e5987fc15079a30c0b7b2284f27f3f0774e8b69c8e04281b4216bf55a42d45ca88b062c9fbee3e04a07d6a15c3c7cb14aa35f340536c2e997be704c1f95922db7b1a8088db7c8f18c131d70c29b913de245f1f37036820c5adea88ce05f771b555a948032c74b64a3574fc7ad38896995cc4820f499c0378831b9cc7f15aceb4475b40f5f22a02273c0e971e12d500de3ec0d2c869de2b7472710e7c736c57436bffc5954be451779df7ac356e03b534cfff440ac30e26e36d541842ba238b90050c0e381ed4d7ae7bccf9d6405443c62bfc31b49d01c5208a5d1867368ded47b42f584ddf059645265dabd527207cc794ddd98be33972a5c5606f5255f07cf98727debca12196ad437d2cf30536a54aa22e70fde2973173ac73dcc1bf9c803f36d3089f26f915f8fcbe1898f1b8e12069676c96d8b4ec3672c72f52f53b715e06e258e34d2b14f0393671d31b0a7ff16d27ba11553dcb9a2443101ac87f134d35529cc0a6d2d775c3e680b6efc6eb1059999768afe2bd0f43695aea7f29d8bac3556f516010d99fd3003630a31c88a9c96e0b5d29c2d7847e83fdf6d2238e2f924b1ab3e4efe4dfd66637502bff57f859d752ce93d1d6756aa946f2bad7b30eb4cf0955218eccd44d27ed468dd9367aa6db4a4f4fb1b80aa2a74b650c5bb0c06fac7dd7c2dedbecb67f0818af371f2284c159113c771bcf42913c31a3240f50e49b58d1a87a7aa055f3ed2fcb73dba58019ca21315e18e8ae9ea6842d3fea610b1c675b7aca5f6894fa281db96f1f597296001e8def990e42cc75155d4f370ef32261a479f8d5f5f464810de2251ec0d1ecbe84d59ba7201705582092c7a3608cf5986e3fffb30e872518cfdd196757feb6c0e5e5dfa2effe9e16566f71de83730ea4aaf1b905bde30bc6e8902f5b8005633e2f3d527dd56bf41da3d9e35b722e795d58e8c3d362e5a180ba45f03ede3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855b829f4b1f44ac99a56637d15af6291d19bc9a35945459adc0633bbc9627649f9f45b3d5d81b3bed5656a8254d45b884e202df174cec786c6d520d66128e2c6d9d4214e79c2fbc6e9d12e547100bfdc707a17ed2bcdb3dfe41d5a689cc6334c2af7adbb3ca747604e365f268ec5acddf877d2e599193f03f6d8ebb550f7d0330d8a0cf999c533eea6dd991f3e58bf36d5503a4a00fd3027fb8fd13cd1044f530914c47041aa06a7497f1e7ad5e19ac2aeb6bf5d1d4006f92ddbda07569069949d7e3725622365519d162a4fe028bb8933e218b0f40bb6c26093d5df421b810ef23febfdab2ea687e0d76d6324e3fa69cbfa36f06ebd7f1052782dcc2264100c1d4109ad1f00c741af1b89d40440869c94d0af41fa91ae5c0da8cbd2ce97761724829473e8b64c634b837bfcf5fbf3776b58d7709e1548912fb7931e554e7b588829c8df272a156e1b732bc36730a634cfbf5794aa17a16139722353b5e7975986a66f4e5ac2ba23284407e248cd18136bf50b7862be97b3b946ac2b606fb19b2995e00850c15f844eea4d4314735c3180714d21f199c0a1296600f30ec757e9f2693a32296f27956b56caa8adfa7c100b1f39ab3f3f06da972f71acf43b5d9ea9820828145d8f74ff2e02caa8b2ce190a2766f431e6d39711f8d0dd7000d269e667024acff4135bb8e9748fe900eea481ee41a9818ba41d632bbeaeff38f79ffba4c04992f54aedb14e98b30e6dc61f7d5ed43be238ba2926eaf41c4f3e5f82c971dc79289e1398a4d5b17ea3e69a68558a48a162ef737d61257120aa2dbc2f0719ee568f124ae82358950b7a6e2c9b8547f94932df99be9d01c78e0964ff7a939cd710294d0e3be23ea73f280a528ce8367167ddde4d75be7d3e7aebd7656d0798900cf83457b27ec4bbbf70800363dfd1cb68c5c9a7116628b2748fa787fc778bd6b07aa177a6233b35b4a98be3ce3c883fdfe7e479d162c85c5cbf3f362eae892dd0d9555b28122b9316f454b8321537bf8d90c06282cab86b7d223c1da1b2b418ee99843dc0d6e9ce96c7b2b249a1d9c1f22e8e3109d70ed557f0b2c865723ca8120f452646cbc7162185cddd9572d756f075b55526b721d3c1cf8057ebfe7a689d1d0985c2d17a1007648c01b33a5025162b610ced3204d0dc7f90434208faff5e68c52caed76cfed0f0c7ca6576dca38ee2f47ab71d21634ff77d72ba94e55cf51d35159e42c44a02183af5a08b42d2cea5ebc6c24d11c96ad0bc5a767ebe73386a1927ce69b5e6b76b1f869ae33112da2e45f563c290966956ef1d484eb003818e56c081af24c1262f92bee5bf710604d33781017b603322009db4e2bb0f16fd3eda32e1b1e27e998119d23a7ba9a1426c141febbc1d42ae35ca4b00578517967db9d8b58cc97a2224d93803afab85cc487dde026617601c598d446643605f150a69fa27d5264c4ff43787009f832ed42a52c0a4d1aa622a2177cfc79e5ceb63238c7b6a04f5fa4fd31cf7e83829102675b4ddd4070c2df12e96d3e227d72e4af14ddac05574f9c172c7bc676d4f3f3b0fcbbaa192a1fe05ece5f0e96af9d1ad935e0e99ffa134914622484536c59bae27a6ed70a85e05126c66d8e8b8e73aa5833b07ceb34281b2e678a4ca7d5b1ad10eb477c460f395374cde3d96e89baebe0b40de3bd623b271eeb682e214d7fc5d10d7d87d3f458d34652225d8a88ff28f721ee0e765e6a6bc2b5ac8ca910c3d17965b13e42a1fcf23a154d519fe99e2418ad7b19bbbd38fd59c7f4af28dc04f564617f0089cd0b391f8ecff74adea7abe865d77284eaa25c40a1075a00852f2196f27f8f31001b902ddf8b3c053359779a18031665f1ae01f0d42bcfce9f486ff0e975c64437a550e0d1f84721cda826d417a5a2b2cc6e05e8f50a5d112105b9d4dcbf4112ee97e453d9a7a45f37a0aeebc47c8b975aa59e142aa473c41f5734b92d1a030ffbe337e0a5fd931b2e4a8f2a00c5a371109f824670df1affd6f17395ebdfc16a84d8681102d893420a8cbe577e9ee4464085c75e07f38fc124e833ddaeb156a00371769326557fba4af3e434f3a4959505cccd7be034bb1e66bbb671ac579e2d29f12ee4d42c4949196a29daa11273363996c205991b53408890fe55fbef126d5477a899855ba623ebbbce00111322397a54e3a26c7ddef5553861c532b2db4ecf30942fd4dc2a7c80e430d014ac2f53e5be2fabef3d190c47a6f585802216677305686df632f6b2242b021fad1322310910a28991d0584795a304f03c7b7d22d0648e80587092f469fb144b0853de3c6f34dffb3f2845bcfb38bb5850965adacb419b2fc31df37a4781605b327ae1cafffc800f29167b310df771fdaaa995f0b765e966a07ff586c3b5c13e9bad92b615e4aa3fb3dcf4b4589c7604dec237df5fb030eaf066b17e275b0986fe4d3ce3971f0cceb384c1a823a57d7108e247f851936faba58332eec2ca74f39e8afec1b5548b8b2f25c577037b873839c73434884144223d5518dc6f505165dd08ef46cde5e16d73db3c98f99d98105151b487ed28b486f8e5423c0f743fd068cc1f42adaa14b693e0245c146c78792f08ad4bf9deae005cb888bdc25b172e70cdc374521cf165c32dcdedac704c854a3f0d319b7f39473002ef6c8a23c9dcad1cc0b423bf6898a616cac37957d0b38ab9c2e1dab603ca33c5fcf1c8ca5b17c2de6ffbdb7e9844680aa22e2d7d706d244dab708e8ff9cd986ae922d968e84cb06de6d07422771bcdc1b423f27bd3b3254323249aea22527047a34b5c711349e407e1820a033e1118f2a72732247a38a115391bc9030b41195c563a9d282570d969f73496eec08161ec71fa53f86a6359a53c3e3d7711a3a42d8eefa985577c5ccbde1704d67b24b5f1b3c7a7505958c1ac6f844f1e800e298968685416a5d431d572846554fd84641757e6a9b04a5611b922dd0b26da9d91e3663786df7459dcf7f13bea949d7d6c54c13a4e9b3f9fa2cabdc0c932d4dac8be8d32ada39782651f450ec028eb2a99d4b1191959365ddf90f5f58f818d783659b4ceff23dfedc29bb44e92cce9fb034a0befdb15f0f06077a9b5a68fcaa30a19dc302eef84bee37b44a3a0543110b103faa2d3f9d5d369037f1ee6164cab81974b54a750d93e3ebbd8b5185ccf0468fcffa6c1d29a9876c21ff5cd52f49750ad69a8da103c6336b379d52fbc718b927668b8c8ec1afe86365d2335ceeb6a8a2be55ee5d3743cf885abcfe6e25977317f862c1ea55467db1b2abb7d15ebc60c9000910c764acce5295c399d846a1822a87563638e0aecbffde86ca85a7f5429da24630ec7a47602b92a2282f5352984645930978afedb4b1959dff623b0d2f817a577156ffd2b7494f162c895cdf750b3d300c83c2a02f403dd4b4f7aa9e4ffe527925b1b968dfadd00f825bb53ff986d5b2fae9ca0ae16bab6a63d24aa47eb5e300ca068577ecd5750212676da69802eaf827725e5ca20a7c5564f96a733fe563dc61e53b2ba95e2139463cf5c332338c1b405506c2d71a6d337ed0da1409fe9f5d2e19f83d40b34bf0a63328d795257c8813e6f7d9254e3cd0409af1d8d0b3d99ab23ae6e1a2ddc0f66fd2b1b85b7214e4bc5718918493f95f06e21f4eab83c5ee0d7fdbab58e4d9409999aed433ae81e2a2fba5df27cd3707bd73c34f46f01415e7d785165e8ed99152b668532062df4de60d84ca9929cc7a6f9379918d15bc9aac5061136ed88ebc083e454e96bb81b065477da06a55d0b4e7bb431154df79ad6e3a5ba5294e47733f347899067a673251cacd294406300ffb3cea793123960bcf97ddc99c846ceb54bd95fb08fb0bf52f0fb86f9a9eb6bb20ab9bd006516aa3ace3255323d5dec1ca7ec34ae2673052a202cfcbf10b72ebbdabe16a6e199262048fbf50df92fffa4efbf9aff3d56b78dfb9d616641d5d9723c01a63ce970e7d9fab8ed5d7f688414747a099fd2f3c88c3b4edb6fa3654721a021918f7d746b6460de575d7a951d8f44c32b92f907936e53f7969f6075f8e4f21f52036d6bdfd16eec7217270528eaa78277d792461db054225714d877d06262e629597b1530904943aadc2bb72bb4ad042b095e09edd9c0f2a79208f3494a43f7054249cd4a06e44fecc25f2ca5daf25dc9eaed8fc84da1521a9f6cc8548dc82a5ca873338a788138ce8f4de6be91d15f4aa6a601cfb2feaaac23cd2a463ad162144caf6ea39eb536616a6cdd7aee192182f44c79074cfaf98bdaf628806c027737170e28d8765dafac29f4ea6b663c8ee7c34b5c560b964bb57921f5fb0087b87a00879b5656749e87edfa1bca6909aa4e804392bde1e7e57d1024b7d171a4950525549628c09fec7b9e81631860a09bd69405d3dbcc03713cdca7d1e4f5efd260ea9c91b598ce677d9f44250feffaa25130695fa72c4340e70f8218e21caa1d1b9eb080fef62d091a3f78456582e3badbbe9c824601b4133e86865470a437f49839821a339fe450e05322dd39e97d80b2c865a9bb6a7df82388e14f57715fe41a029baca221181e1e41f499713d92d6b5b38b88753c10ade4900a3e136cae2ae1aae2e930eb7b21e12c86379d957426f1339f8d72b414b8a5f081354be08f1a517e20391f8e0eb62185efb4e87032baa224fe9717226e7c3b5c387284e1fd863623945d13fd20841a268996ad929ee062303409b9f1bd536c1dfce8516fc121bed3331e41f4e8c9c754345ce105bf55f2597173d55a69a557c3854e0eb7ac6b3a87991d4fd93f3cdbfa1bcc86cc841544fee5a16c2f66a4da86b1065eaadab9700addb858369271fe56ef98918dd2f85d38a1bdf0c11439242e49a7ea1901243a0e541f0796c053fb457455f3d638020564e5dc1392e150ef4f0f87146ee7499ebe728c04ae7a178389c0880cc22131f441f8c41c856ea001fa1db6b0e862fd8a48cdebe33d8472e208eb9615dfb8304623589a96d83cd7c429a9f3c84bb91f68bc5c6be0571be9daa20a2c110017fd103b569fe33aa39fc694819205963ce975d8f9f89df111c127e16c3e3e8e13842d616ac1b54000bf38c1c72ba1ed8d6cfc6efdb9fece84b334fecf76f0c5eb7fca1e7e51d80d376b3468c2a747bf34b905f84707e009e273bb264cacd60bb005cfa558bee084558469b9107eaf40d7e1362571ed1bc94baba2f6e510cca6040eb3fc779f23f100d3929888bda13ca48e76cbbd0e328e95537b323536ddf9aefa33e642b5007ce2bb03086aaa8572b859646fdc6d9a73e774454e3a1e3e0294c445444a26fc519ec1e418db89b88a6a8a8ea0e2f32242940af803b1e02f1945cd215f54fc1d826f81d0471f9723230ae8c7d0f598d32e823f28939848aaa1a9011c279e2f2313ce00965da290aa0990125c7a13d6905a5d5fcdc72e355f55e423b90c3a3a670ce6b87ad02a82e9b07f15ae1a3d82c0ebc075533ab3440dec3250f14db21e841f154e5b27fc8bd30aae1185120c7459922efe1f121f083b7e579487bdf9af524a0301c100f694b03c5f80b2b76d3004357dc8df3ae6a879134cfdd87dcf7ab2c6251e9010bdba1a936ac5a8334ed72b8cbf94e671e2a68c28fd4a6ca75a687d376404678b0aaa4ed061702a9bf7467513bcdc4aa3586b32030ce760d4d69c4296e4ef8bb513c1fc9d8f4876f2d0bf04c55b8beccca9e4aa48388358953805c604e529436d14788e2df46741e88443620c9c323ef908105a57b48ae2395fd6509b6c74caa8296e4ae23dc6478abd0da9612473ffa2fa199f6d450b19221e816e7ced5aed6b84eb0ab20b96e4ce148c33a1d29b5a945679a69080283a3c9667d465e49926c46d496c4b71b8470437bebb6a02739148e350e63ff8063179c3197008b1d32acc752def8e604926b6598702a26d4379a267bd228454a902a01703607b0224a51edf2c321c47e857335c85786b66161d587f52cfc1539cccbe8da36beb7be926501118587d137f975c120fbaeccdc57ec63363598dcc0f144ab7dcd9dba7ac4a280dd62e5b7d854cf06b9e2820e78df01ba026fc532dd8a45be4b7d0f7887da824dffdc9a08b4bdd243ae847f9148c30d881e28c9df857979ec00fb9b24e1d9084861a7a5c2c26be61ccbd4405fbfee52ee71a6a8e4f8f513b364a6e3d675a1f4522fa18aab229381329b977dd03ce57d2824e4182d145db4138a233b270d677f3117f45f3b96e8d2e0161bb915c0906d99af9f9518c2fd34446c20e8db44601c6c958185c60676428c2e78d7146399350005bc89c09119fb3e7e7eae46c28e9ac887b24717b63b43fa2fc37485d86852dcc8ba6b088fadf3c771f880fdb7b189a16d866a771ae1b6bd4e57e99e495038cba1b3ae3f954a035573c6eed31305c7a1c63345273cec172559f78c0a53c307971e383831f0a99b82663f82273ca6274aaf5cb5bfbd8ed9c6099899bc1b0d0909e800412802acfebc2d4a6af0be3d052582099d6757e7aa73a35dfe06c275c0438359d04c5dba677374dae784b11e3af4d1192b804d9a263e84439d23042c53f806905b8c796086fa2156edf1549b495c91db4061819cb51612026fbe6f1d6baa9903a4d980746b26c25c923e9395ff115ebea06db33b8e4b079d8882eb888f88ac9ca01af9280c335af48cf14f750c7c10ca96e6d68800c46a4e31e460c4dfda8f8a8f6d84cccc3d4542e62fb03e7eca7c870001229a3a99bed1658dc5b08160be927d81ef4d20da216ad1ad53f21a9820d641d83e2c8e2e97bbc07c3a38f65d75d5bbe03b4499748f8d34ce8cf720b4ebf471d77abd6e54a27aee6efc552db5bae8ee2f1ff32ddc2338687b50879318c83ac2dfbe0794cb5abdaf669a7d0c28a3489ec4904513313ff936ab394df025248b3d78b3d6067d55b7364f58b1f965a140048ae60ffeedb3243a94b5762dfa75f9b6a2f5bedeef4090a461bc963f46964f7d5c2ef40ab552136457a997ab41ed648758b075d2b034c65f7a21a339ce6e3f0131e026e79ff6d9c4e59d52868f93a65c70d3bee294defe1980322b73fc6d48f588436dc53be49f8c830ed091219638733d3679d8cf9049a1bb9e932b18be91014cd1442a890d4363788a78d99813e44b05708082400e03d441330d758121c0db4488262e1c3688273a1625fe8702dab299ce7f3a9ad664319851bd945ce4d0e20620187743e0c133d4f0f7a479efee6ceefc08a0acd1cb7db44e4f676501861260ea3d27e13d66fb99c70647abb597d25604b5f7efac0f4712ba9c8eb898a3bf2f2ccc58ad5221f5057cb33006d497d9fd4195c21fc4b28b8592637e2b0bfa21630d0c74a153305b142a2b7c0ba4bb8fa9c2d9d7fd40cad6c13fc9e4c4817fe23e988e4de0302e5e373c095a1be65d44cd08a4e0b69b6b5814cd5edb6041a03eaa2c872e9dcd03f76cbfabe5bf172e98290a14d8812beb9df77364d3d3ac7392c66e02ba131db05071a474c445121201e4f3b17da727a26abdfeb2ecc0ea7b5326fb3220726f30f9c87d810c8a50294d5cfa7ca5c24cc1793b14cdf5ec49cc9f185538e7ee63037bf91b3cd474b155960aa82cb4b0b4031736906c60950ac3c1534bbda0a59f20d2c8a64bc8f175e00833bc9b5b81b4dc36b96b63daa50548cd3bd14b57aefd547cceb2880d1e713accb987b84b655f3b524238a855b2f2e76dd1044fc950d3cc360767ea1d0dfd783a386b0eeb78d5c185991029d5d0ea2015973cd58b75e678685a9826a9b412ef186d944328b1364b2cafd5a583c0375a1ffbdd9658a1d24dadccaec7b67226c8274f74f6636744017252e3f15be4fb4b6d503bc0bf87a209f556c3bf4a548abe9ccef3562f35a10bb6ca0f98dfd54cc0398e68ea4c13480fd1e0732e4ae03624e3b15ba6ce94f8095f2ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8557c8f7b1f0146209e38b8ded1c7d0dfb0d4934746aedc5b68ecaec4dcc64183deab2bc08375f87c7aac90c3516fb98f2ee866ad58de8ad170995e1afdd3c3ef4b56bf108e1c58480049ea91f2686a8fff87a9bc9dcac5efa391892a8cc5359c2455f1e61aeb4bd4122146627cf6c88c669a256faac042fbf0c4e3b0b7be149bc33e9b36ba4f8c334c3b1dd6394e4db14d854c7a144dd14b0e87884b4a405a81a7892288b03b082746b2f607f5636aab328b23695d1d2f65b59e7b5f0cb8343133954f69822a79be70fd3dbf13b1fe64a6a6477f388a52f2e98df6a4539f1f82ee99bbafe061ee96e90443682b569b90d60b3efe25b7c5db73254965206648a14b4ae37c2608b594ff9943a149bec1366e1a4cf8b9cc97be2666129bb56bf9b39fb511a90a7a8f3ef91c12298f2b300864d650ef1924aeb1ab26c8798c161115bfac195d7e901557dc7a5f0888eaf342770c24a0df0bf44e252de7ce6a58602fa745791a29c59b40cbda4a7157da5fdeb3708650c0b305bbe7f118ed5e294d0792e83d284735c71a91db832d0595f945d0950fc6ef24671b5732d516d24ccde1a2238ade5d00899b4d9b7811e83deb3444a3312e69b2d9b525bd40c11517bdd3f271a310e5aea4092ce020752347af0e6bd35000f89611f967561a4b19d6894d9be37c204dd682dca32dd518fbf9c2b9e1560c90de00597bc6cc51917f827f2d8d3587a23a6d30fd44130973c2a6ca91f13344ef8aa29e301a12aa16b3f8d6d7f720e2589713ebc6d0aa6fc2ba7844df9fe6ad491ce209d744faac156075948ca16e0a981510d732cee2dd0cf0a496d1cf9bf1be1d725ffb74ba953082a48cd2b69321241f5f3624f399a89572515c21ce817d5cf37693b83bffb3c7c4aadc127d25994a28d5dc546d5b3322228b843b7854725a6cab3ac1013681f18ff33137775aa850de64a62752440c8de119d33e5824ebb66b82a205a102b5f906d156e6cee4cd230d7d5d48a18ac2380c6d250e121cd80c2ca447eddc1e2976038a0a9931a8fbd8e3855c7c81f69b35e278ade8df12c8a80cde9c8941b6e7ab0ec0914f0afc686618be614e481ef6bfdce9d33f97dde4e94682ec57af1138122c48a2df3bea95d03c9f86efa5c138fb3133f27ac48dc896c4d65188d9c2c65dbfabe99665e45fbe7566bd70a7c79426160d2756012d94548f5a74e364e0e4369b3ded377ffafb1692d3d4f88b12fc38a4ddfd818927b0c094f34eb5fdf05000694306de75c7ef84cb4b8fa47bd70aa2e89f7b96b2487c7716e1b5b2f1cb1ba79217d70724026a00fb501f44746f56af7a56ddead4ea6eee6bcd3dc2f2390caa11f0beba538ef095a6b57a082d89d029c8da3fbdaa16e83a231ac0598623f67e07dc0895f45e9ff7e9200872abc7390c5d297e274043d86885477a10f8844e968e78dad3598a665a7950e260d3e3207f0b792e6b99e8db28ecd3c0849653703c83ce995ab81412c8d13ec9ef79f4acf9e35ea467ef3c383f1950bcf16e231e5263334df5ff5f1ca4233702a3badd507f56679c634cf4fb054ba662bd729712b2a68a70570192947c05414af2790bdfe23c6fec8ff3a74a329f225f868aec6375108337a9f3a4ab765acdbdb04205be39e5b6c07700e1d2967480c1ac1b62eff2e960db908501475c7cced3ab876b5cba64ef56112e326393f64717368d3ad951295a470ac71e1a365c35e66267a092ffd89a8d9ccb6cc097a585b7f65cf366dea85cfc2f9e84504eac3c5bd8c90510f4c52a5bb4754486c4160b6503d3ae2e3e461643808c6c37aa3cf57671b1b074f84853f9dbd0fdb6764bb04af8200ffc256ae3ab3fd8c9e48ce9fd0967106c3959eac85a97744a9c3aa122a04e14a74b47d51976520de445671ee0b76c5595fd984bfe2c11090b7d1cf7a03334094cd107cd5917f3a883b39497c37efcb399622be3dc4493c09071fb502c04684164120ab01479025fcb4ee457514145f7a3ad2539491941857cc337c53b481875d041d1da85463073268c20c13e4f239c2fbdb060afe31b9910df5010ed88ac3bf3fe747818a74d03977f3dc402e6f20cd2515e86a26175da10b34c631ac513854ea3122743a5374795e50156b772602037571c7b184b66d10a5fb753be4d1c0c777ca21f188eba90c3862d5ba0b7411502a0c68538b7f2dcd53f273947d754f172c773f9bf63f8d7e4b9fb92a79c2e45c6465add1cfbaeed83521921ebdc503101e1d0f3445f583790b9945b3ee4b05fd8f96c92ea633a8a883d455f66a12535129f517f7fbbe09af0bc9d70498648ffc80d01c73e0648058be142cbeaa69cc9741e686da4099aea8c5dd7dd1f44f19529eff77b1cf52dc8483d2d30b7888236eb6d0038d523df83eac98ac27d43294942b0b52341f13b9d70fe245ba50ede36b9ddae855b32a0abf8b93e26d0643501a1775caf96c697673c8bbe30c4764d8cc6d2177babd741ab02ab325c0117e44a400c6db6343c76ceb279134166f81595e7fbf92d79e36e7cee85453d6c488fd2373b5f68dc4d9b3e7ae7003a4041540642ccfec001fe0e0db12b458031c157e1e85af58423ae4b2c17cf40321009ca6f4c5df6db975e000ae6ecedcd214434a16f0d2ca40a93ff55d6c155aba46f2cf8b25d58c97469dc16817770684a0e2f0d2106aa3473fdbb9755926a878088ff414374f84d68e0b899f94c11a2508dc4a01709dd6dae50c992f239b127acc0165bb93de109e4da9cde1367734d7c5462d61f1cf0b00b3738cb22e3b4d97ebc841e4d8d2f91b1886d8f3f951f80bcabe545e670a88997ddfa9f7bc89cc0b4465f39547e70f89ca5a20aaa37591b9e61950cb7fdcc7cc8a9f4622e8ca79028425c654f9b33e3bfdb23e03a470d602c92a5d58dc0123970fd2597dfd18d5ea2b7b20ad7cc2b2b2aa7bb5c003e3118b3d28b4d73daba0046f19c0c6e9a60ed94c0edb6b4d415a653d8d90d6d48ac0391fba77029fe248586ddd383d1367dc7813a93aae1ea0b6e236e78d306a9932e4db68d4c8622be71788c57a657349adc08faac2f6ce6e77846776a4775acbfd8de2f50820bf7e35c8e836a424cf3cde0f6ddd62f5110486d46399e19187260d32b65256b2e93c7cbb54c687e8aa5cb654aa7580cc617f9faf80a86cb73007768e92af3ca943491274afb83265f02073be4491674c4c16795fcc81779d0639aba859c1338d31b531ae01cab769f5468ae4b3ac1bdde2716a85d8a4b0b6b84e6b1ef3f2a36e0f7a9cae7d33d2c17ab1646565f358765c74b2115dcf37673007768e92af3ca943491274afb83265f02073be4491674c4c16795fcc817795ba0ebc9709af1a672f674a4bb873cca7387990de378974661feb0b80cc293d6fddf8918cf7c974aca0addbc10e3c7066a48ddcdce94cbf9ee65b3422cbc7a8ab40a27ac37ef7745f882a55e4bc289f9e0ce96bfb1d88361ad458f639d61bd199734f4d3dc3b7b11a2580dd408895f66b5297badde7c387716f460b98ec7ff6265d3f5dddf79c4ea63bdcde8238ef12bdb41783969b0b80acefde242e68ba3d875499dfcb860186d854ecae6ae87086dcb1bce5bcacf2c532690c4576a36ae2a781bf6b4d39f308d08046e8c63c59907807da8717c3d45ff8e5111ac422d660abf9fbf2d0e92495d2cdafd50323cebbeb63a3c08a6bb7015ad22db6e7643cecb612a7be062682a0fac215c336007573978e6e8a12839d9d48b364a4465550cd9ffe3a3173334f7c7f74055c41e540a474d413040221a858c0091241bbf28e63eeb4619a8b740e3068b30d0fd91072fc2f0a7d193f28a543d863309f235f8f4ec68b21fa95958198e79240e3b5d19da9f2ee22f53470458135c6dc4595ea023a8e7e1b2c0a9031fbc9e999438d6d65847f80ddd76244dfc5a1efac71731d40f85c7eb0b68d5856593c34078d220bd92bb699060bf2540f9fc34c0d4fbae1a0cae94c2343923ac620a19ead21d3c1777070bca5ff90e0d228015def3184c5ed66e33362634ad837d9708bb0898f5609a1409d57215272813b9bdd7b6c02dc275a47e0938a4c5c83e53e533a0913ce3da53f54c873bb1f418af314c1be7e00a751b8bfa9a398e97152beaaf385847808ad2d828c1c7251f1a45bc7697723827e7e7b864c621c47c1be06cbcd26dba4833eaaf9c049628eeaab29e4621135204da61df1c78e4547494b866cd0278474a45e84327f580bb4d3edd6881f69d4c31e2f04786bfaf15f3c6de00946743dfe02a8dd7a5ecd595233a11c8146b3574276162796408a082526cd575413addb6ca97d48f141fa62e188690ca5222aa8845fbb606f8517f8828faaed54f2dd6f1c593af3beaf7b0e1340f0d1d0b39b47a2cbc3746c82944a5beeeeeb7e67577d7f68ff6371e6104827d0e670cd184c722b1daa39934523d603111be24805e70cde7f19b959e43845db7c8af2733471896dc8d88e4b4398694261203ee1a23125d0d546f0358c3a4bc1e9a2d42c6e16ab4a58376f95415cb700afe71be30c0f76713d87873dfb327b171d0781a9132da653190dd428cc805fb534b547e3e211b00899e6f2625913666e4e9d45674bdf87fbadfc571d8648ff82726c4587fbbbb5dca57f592dd2228a970255404f22c61865bd004cb9267b971b6300094d3a99a1eabdf139d13da86d8177e9f06cf74a2fb65051ec01348fa84bf2377838a55a513eb7d6185ffa6b0bff2af8d1c5678b531ec842de7551757bb2eeb606a4d3a41138036c07204e85fcf9c3b4ca53a0a232ccecffb9555e76d451d049eab675173c8ba5ed709e9749ab25f4846e69f83d54af147e46a19159142c5174614930130dc5b0f7485c91e6aba70339ef5b367844d102a4562413ba0b6b5a0972993a277c6b7045bc5764dc0b7b3dbaf3849fcb1dc842e0d61454ca8d58805929d815dccae00e12ea3d1ecccb209a461b0ab7f726bc390c2b84b89607743213a8fc2aa0e83d0ab72604da50e9164a2ffadf8d6de0c3ff66bb2760f1450273a6cd569cee83129c6e45aa9dea7b5b08251c168a1c816e3c228f9dc105e826eaa9901cfaf6198e79119ab91cae0ddc6a9657b946fb69a9451371036096e54ab2d897396a4d87741957f83cd92b82772b0ca7e15de36c4f59c28f5a4cf3ce45c01417ac82d5d3c5d93d521e7ababcd8e2e1145f967466eb77bd688420c57d32e4022f3899be94ba2fe56acf3be46b344c559e41659b2e9d1b1c566da59f2812882f752ed8ef81b3e61321102a2a763393f1d9f76c53bb7056dacc8441e76ee7953ab89f815130ce540aae9f40011121a7b499bb297d28060e6698a15a722622be79f24da3a25ac9a822235ca54817882cb664414dade30e476fb6ddfa7b39d162dddce71744c00f93eadac695f23437227db36cacbc8e7b0889faabcb109da1d058a654dea43ade8f36bc3f87d9cc27be2a38593bba1624c0eb7a34150482adfd90801876cf399253f9107a43d23c136df75a5e2cbc7c5710b2e89994e6d99bde5f653a74b9f48a4b0a6cdc604a8e4f050890ec96d5e89aa9a3295e1fba220c06e06b5cfeab8dda643966e568c5348b959695a22842f7c3ae8907b5e9e4b1ce5ba743e6180d5219f8238efd8e5dfbfa0c71a9f0b2062f2a1927c610d34dce8017841ec5882a147c263bfb794db7695c73335d8be59a0c77529fa609d2cb01ea8b126520dee7e79f64ee58e52b7162f813b9ab980529f1105ca93fd0b754d69fb78b16716c9345ad4ed8b80bf6693672eea8324dfcae5100212089a2fad63f50d07687241e8cecbfcce91deea91d9ae908410c363347731f5c6e131488bd2c1674a6dfed2315e0cede0628fad895dc689a7431b8a81ade29f4c135118c4315d6d297c960f503814ebdaab65dc4a9c2974eb62d096def21720a03faad47046d392789ea7eabe8b96b0ee23fc15149c808b79596eca524824444d3e68311cdd65ef98845924abeb3501838dd3bec6090f573884dc0a9a30e83df5ec6cb472ed499d17b53f7e6ba62ae9598d7372e06f35cd095d3b08e9375d3774f9375764be8f8e651259c038d273c4c94f0ef37a61811ca45005240f32ad41de10e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558755d777a827deaf32df19a72f81f5d7eb9ed54fd5914e1e5eeeb84c0eb5d5afb0842afec1a7948546fe6d0dac813b5b9e045a2f3b326a1df946f7045ab1a77fe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85558b867b7b7c0076e744e973dbd2c51efcef8f880361d8f24f0b529fd22c9a43e0b97aa1c6c9fce15bca4fed7e6811fa0be4b7d2e330938c9baadd5f0312138345344df1def7ed0c3d9ac82fd86bfbcc36d92b65154973de95eaff6ec91af20c0d9dbc740ba9dae3fc02eeda599dffdffdcee19d3a052069705855a2770916b31796fb3c1f825c0c624d79c7b5299f593cb885b9587e550848dc37d747d6653009178ddbc4dd16ddc6bc3d9ec1dabf5ab721dfede42e1fbdadd747e7b0c9fef5c8ee70431c65f96ece6092131cea9e3a62fc186adc8a972041ed6f10f1cee89d00689f6d3f29b7c73f81dee162e2fbe8510e21a898f5e770306ac6f96c70b7968f17ca3099bf5cd36b7f62104c5c6a0e9b5fc96f583c4679132c0469c096cc50d20d2e1cd39366f175b4dc6a094263433475d527ba65bc97de62c6e27ab90c35cd14735890bb24c12c94ff71db6083bf76b7406057b0d130bbe27913d916c92042a483d0390521060634e9cacc92422f6b42d5499b6a05e88a3f9fed181b3ed41893f889dbeafc55a2256fe0bbb968acfc18db8720e023ee1872c047ee08d8473dc075981ffa3c1461912a701bf4b9c9861c428097290a382feed3ef585b9cac5045e2bb0c0cd2015238aefc84d0046ed45e8159cc729e1f0298778056a37b2e168e90709d234314f6bdcbb8820b4b96673e0d2f343ebbcba58d5372c1edf4be77db525e801c760ce6aa154a22ce2942c69809779ff7620286930a580cd1f5c9ec0ed34862dd86700d6d7e6bcea14113089ce092635e92ef99e3a0905f3a15d15e8e6a3b88913196ae24bd80d140d6def5cf7cee75fffa8e90bdf62b82ae454a7460f890ed6997dca16d7389040a3c1119cf7d745e60a27b20ea0608c5dfc7019d2f61ac88e6afdda55b4785c7617688f54be83629ab76fbc2cc248195593dde72ba7bd65449e3b7e93bfa28054a2c24befbec03919750ff78800714313e768070373d6d61480f2a70ae82e4b391428e59269532b175fd1c894092061ee5424ebe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85585e41ec0fde536f82233a63855e43ac15d73f257b8baa7ff7f2e6adc428fa87e182052352978ea62fcb9e21dcb388990c9a4f0cef9058457a441fe0225f0ad5233115c8ae83b6d571d45099e1758b571209e2808eed26389ffc50c1d5409cb37e568fe2a3d178d0a8a98e8bb5d2f631a4e3e5fbf84f67afcf2fb05d6c40fc8be2d625cf8a0f60bb971248f72ca505103338967450d78f4089273448b82d82f3ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d2af67b02c4de7379e30b1d753eb65b5720324ed73baed5a56c417027d63fe3790be9e0b7f5bc296d21b1d4d638213338af07c194c8d9094339b2a96924a2cf2206413fb7366d1768936e6814567c4cb3cfcfc05b68a2cc4cc006085cf97316d17203c1aa9f6feb3bd89f7232ee08970993eda5b32d244ebdd580ba14d4a3343218e0ae090c9f770dffd00e41785075082f25ad71ddd1f45982cced28dd0e75e1741bfd255a09a7f2ec938f90fd0680d755507732781debb3b97716244a5aa0b975b8272f9b577b7edbcd9ceb1b65a9e1ca2404d6a1b45b2e1548efb83bb4c1e3dcfc58ec3b5a00af85317130c52ed783cafdd2a0bff56d83c0f57d13d790bf9fcb1ad17a335a866930c47863c888e9115d24a9c037a99192a3b25038d751cab496c680238bb5093ec1a6f521c3390f671396ab081a2679a55f9a92979f87e9d759a3218afa5c1b3691fe1acb11535a4ed738e5e6db6523b8428200b8995a77557cf5143d459b7f9724e42a6db4b2a422ace98c8469a8f2cabdd3b3e537302d04750344b16e8795e2752b3c41f8e35aff7f16368238ee1114018fc91c6b294f69728f60de1a2d75e52b111ba06a3d2a518ca0e84a9ce7bad8325561e2d09e128d340322b3d2221a64efbd0d190fa47871e42a477832b46f737dd74b87734c3ab1b86c9f64ff2c3333016dbc54345df88f0dd902bf099ab727983d36bd94a1981eec0a5e0fab930c8183ce0d19918ea36e4b4f5a93e0d75c512729eb0d7ee2b59e1d6771300a4bbc56f132586a8e2825d881896dd73de698eecfbb5d6b06113e47ef400f4b5856a35e95e747f14f8bfb36917beba21ed8987ddf08b3d0fe18bf6c883c8f81ae8f6f9689922bdaac7418bcc826df765ef100fb0ae4d390f857159385c11a00849abd2afcd46e3841ad67ff546769ab21bdf16b7d7ed706b89aac847499b41a4b5ca1174669f718b40afb98753870e613e7548dc42476aeef23409639155706ccdf57f047566374acd40629e1876c9a3278ed2298216ffb91832b02bffad9577d181002bca117b9ed98089fa756b1567d646504b0be80ca10b2edeef1e112647319c33457e1e10275edac62d3e702c530d95a3f274111bffaddaca532af8f49bdbb703ddc79d4e928609c5bc01b6b0b806f38c124a09a3ca4ead74ff528001aebd8ee1a76619f7294df23f02ac9225c4e4ed8695ec8cb551e439c917f152a23c92297d10cc8af8dde85c05debadf78a2ce3a94a746e6355691b2841440fa423c60620b9724b004a99abaf2f56f7ddea7976e20ba7c409605dc7010258f884726e2f7a7a1f3bda50390777c99f1dc7ed915f8761f298c2b5b6072fac855fe5c9f985aa29a098eee0a6ccffae2c44157a6dc39eca974bef35997440b1b9054bfb1c95fda3355c51276c279984573c895709f9f4f4987f063ebb68a8075671e44bc7e7cb148aa0e36278f4f161dd48d41247dd8e52e19e69f55a1d92176d345fd548680177139838385e6c5c372598eed44f1caf751b33a7fa847a2287a2ee7405ad06b4f850a95cfcc9091722bcc04aee11fbc0fd44953ef666af8752a396325a98d944d86451f8b4ecc85f1fc38773a0d56aae1d553b343fb0c8acfcef65cba1c2f785ccbf9156db35ff83217a6913dface465366381a8b727dbaae537b44f3b1b646d78ff490d8feff1dff01a7dffc42d06e71148fbea6d68cb5e84e5689e47e5145bceef3d49e16f7a257a9d6bc2778cefa6eabd3ff0e90888913a857c3fa6c25e8a52b00e76a96eb9a387c3e0b97d46562373fb2220ed60900a15ad7f04da1991ca9fa677b7fe548825f7e45465ec9f7089e2fac2d7a9f6c02ab84d84c0ab5939dac61ce089d494d36167d87053771abeb548018d4de8a5780ead0621f0278f1b6dc78087cb6e43351894955d77cba575ed15b3aaf96ef00a4e6b4e5e9dc6b10ae761d945b290c060929d1c8996f758f4bbaf32fa7a0e4228d56915f8d23b81a0f5d55581cf51d71bedbafdf6390544fe87210176a70f44362efe172eb73ae9addab96a9eeae921ee35eebf4184e685429147a18b973cab210d49d7c5965ee14b24af69d968a33cbf8846c15da31538cba421a65fd8dc7cbcb237efe1c36f59ab040fc2459097fa49644d6761b2ccadfeb8ea4836500b971fcd64f9b51fff1a1c82f68405614590868ef1a147118ab6b5dc61abcf93ccc0495351c6d8efc9f3fe71c21bdff004d52f87fc2bdfebe58ec76f5ce90ecd697b3f7e945d5c4c252c7f489c5e50a79a553d3cb711073679a0954c4936aab3d39c3b4b22bcada4f4a70e3d1569dcc4d4593634431f90152f157b72aaa8516c73b4eac36f022b25cccdacac275b3e52d2d7d036fd22254f1aa2934ff03915c99534249bbb4121d75f320682f46b2f6506e053e812880339cdf0fe516bc1a9cee6a6ef068ffd22f1c1991110ef029f266f7d4f5c96adc41e575f4d72cc23faf64591b79924cb2f7d418561464945ab14ccc9cc6aa2c7ca56023116f5f07bd18a233e02efa252d258fdfb717c4b1f67f7beeab25ba2efbb8aa70b53f41c8fe686552d487d3328c78fa0498c49e872957f77c41b483c1b4e7cb27ac2801d75233335d38ef904acda8de90e4bbc152cb37e119ddf974af645a828f7f9945987208d49915302443c330824b6d3ed2c0858ae6aff2cecbc5f6f5b0447f3205abe13793be4686b9378dfed558bfa90eda824dee2f8eea3bb881f66e543606b819b7c334bb3ab8f132355932ff0aeb853ae27471aca7a80b4470653b1c3a082dc018505b73d74b0af1c05783c9efae1cfe1bf7f53462e5d96958bcf5927f4af1fb42fb0d0be7aa9fb6bf007edbe59a5157eae8acfb6851bb87560036e2335cc56c2272c6ac47b332767809dcea1ac90ec256c3edb65c6591269af008d413ae362df1494f8465999e7a108ef8c49535efedd075470dcab7b8006c27a3b51869d05f1e8b4a6264cfa41198c1931ee7991ef1d57480d4213950241c4f01e9494557b12621e96cad2698ec684d3707214fa2ebb113b6ed9bbec705e1bea95878fd6088f9c9ed3c3a840def37014a3f6752f2c2057ea5b50924bac303e02b417adcfe22daf170cdf58fcc719c6b6a472380111238e06c160c6bec4991adc34964b089ffb7b72dc8bdbcd598692312d890029fe1688556fe629d66e2eb61c9509303f269ae9f83b4002dabe90659f57884d2f9748275cdc686933bdef4e42975c1a79ac1993115a65473b66a3a5834275eccf2d31400f80192b73477e2ae2a3e38c1e0f49164b66c4e800b02a67667d828faf21e3ef3463932d7d97826f20cb6736de59bae5cc6c8e00d058540b7a7f93d7f00709590e4f3211a7bcb27f6598a26e036eb628b7ce0735e0a89eaae4854ced5f6e15ab5c75c9dc66f54066983c9c8ec92e2d68c863c3e249d23b32626bcc00f0407c941142c9e08ff48a49881f8faa5aa064c3aeb0d16ff85fd3cdc70c0ba1d68058ec525f4089d3a0511f595552cc8e5ac18028fe8f3dbf9cb30ae4ac3e6bcbce2447dd3c9789c36cc386b5ca7c86a7b4c2aaaa8ff93ccf16d0c8eb1076f40ee0dc120f24487929003c7f5e5c02d647e0ad2fdde76b964d8ef85ab33566ccc58eeed9f1e4ee443422fbbf6add3295353fd7aa135a8dbeb424d264e735556ad48fc50699fb3d2add378e3e1125773f6c546d3acad00d477241cafed1d9837c8f9d7df304aa7cc669f22027be5958389e8ae79921bba5943a7edd814179ad32cb721442f065a97b7caefff9e4db9e6b2011679f23911a4255ec72ff407884e51468ea833cb00c81a4ed0294115d21374a148510c657bef477c2c420cbba44d3fc07988bfbd9a11dc8370ce697fdba7963735d6291922809c9b7adf4cd762bbef6e50eaa6799408579368461599ac0721f1b6202b1da03884466482446e30bbed44d550e837d54aded17f841e55e24523ccdaddef4b851abfc77e2ba70e9e046f682a14c95622c785ce2009b4551ca4f18450b984c7a657b443a77cac7955ef1fa67a87c90d8431011b1f74a7623bf46e994b69a4365069f021dc90a84cb5a899625f4703de4c236bd8c2a96a1314e06846288ba81a428088c76f2cd1c7b14e396accc5dceabca9ae7b854c5f7aa5196deaa667791195263370f7afdde39e80582c5620299a176a461638db5bd2e1caf8da1b70f03315b0eb33af1e353f4f60f45b737f6d02d6815fbdf26be3db4f96368b05ea769a39b527957f05d4e3c55aa37c376857f01c32af7a49baa01f2d671342614d9742d632d4060757783b5e62924d14320f46238eb720fd97233c59f334018ab2db5d3d0537031fc2f0ba974adb8e1ebbb92aa9422ccdf7cf7e8332e919fa43e7073f1f2c6e1a6e580bc06f898f2269b0607d9ab5208945e525154653d6fe2f8191a2bbecc0ceacd8ec38aaf9741317c753f27a47fbef709a2497ba0d3571f54c3f589320b0fbcc1ab842adfd7ee0fc209be2f986371f8cdcb3b6a10b8e325cb27d3682509ea99d2ca793c895053485693c0761587b2f2d29a2d771d4d8c2df6c3977ff24c988859f1b94d979a945b01f9138a43c7ad6664f6402bff2e1afeffa9a2d5bee9fa08b7031772d179d1032501754f629aca86bc1afb8570f9b8d4a5a7d6eb28bf7642361da0daede4bc3b4d51074b082a975f37c5a463639ba597b2fe2cb0379e961a91d320ccef8a344ad64b1950733abd16049b1f4d9dfdf4ed4f2150370feac9a0b2ee37d06f8e5421ff50c443146cecb5ff0332100c959e25758c84386a7509b8b9e9ae97938c3a569da6a075f10fc652bb46f5f94ed479034c1be965295f8f16d9cf15920efd005095dd2e2229a0b0cab34728cf27eb16d331ac87a8f495589e3a890b1846dcff5dd14afe3908beef9738b9ede70ae8d031f577d8dae6529d4abf3c0846ecc134385a4b0fa18ce7e3781399fa9c0091df974ffc81771597aa398f0ffa3cf347995a83376ce482bcbd16e44f87f2c947356c3399b18cefb7767f3ba50bc4c40af1a436ed55bfd5c36df629057eaccbc9df887b3f87c3249defbeca615a22e8a2c90e83ef48905079ae5f780e5e294bcb4e0f516740e44bd821be2952c893730e2a4f2928dcd361eb903c75ae9c4365751c67db308c2ec9f13d24c1185887938ac502a0383f58d592bd766f351751bb83ac4a240188d334335431af74dcb8d3834d1322ef69eb0604482ff1310697a1f504b9f1de35f83b4ab6a3080b3eb481e378c2e26f91a045831e3d61ed2543e1e60c208e64fec31c3da5a62326b3722caf13e9fe4202a555bbb7448b7979f802938c9f7e490078e96beb507219c6162a7750a45cd134d877ee0cf2aa176eb36c66238176408b2b67c7ca44483ca0d20b440e25c49ca188d981310e646f5415fbeb4b63111f0ad65d38f1dd30615370ee70f5c0b17dc63ac3580e4df87cbb64d3d4b8f62cc83ab3444f55e3219803815f5e4c5e88768c4410d10275aa9426550378c04b31bea6eb0797ba480265528fef7c9730c60e465413c8f12b63a7dbf179b310b0263c3a5bef5364db0844e6721c6c28dc9c509ed1f5de189dfb6e3708464c7d44b4d58cbfcf9d0f1768eae05e72d6dffd5129942e5e399e727b6360305e63c0ffee2084ccdf801b35027708d5fb1803392747020bca1e74ee93fccad3a8669b39d6a7b23dd3d95f613a98fa0edfd64bc8be4b8537f8d4e83ec1e6f9ed4d1c3e7bdc63dd2bc11c39bee8312fcd988d783727380f7fcc11e69b26671890b55cbdff8656f93602835e7d83ef1856f22880d38b7851f846f6e9e577f587115c564a0e06ab2d7689230b6901f036dc24dc2ebfbf066bc38e5ffc673dda02a3330d9ce8ed379efa5cebe70cfda880526837c0d8f3b535fea9c6487ba336cbcb8b889dadcd0568e7328e0d9c25eb6e2c6144c5ffc5e60b74bdb610beb4dd438c7a882e779fdc8d3ec7262ece0e19c4c461baa9e6d591ca1dbfaefd8dd48f580d74331b9f5eccd8a2d6b0a818016d88528dc066eb50e0b2cb06061227a765dac2b42bc7d38b2204296a0b9d6fbc001bc9e987675086a776fc6028c2f8e3fc4ef284ac44977725124096d2426bf416e83bcdc45433657861619e280f7092e58acec50907d8da489ec4bc866119d1b2572d6fc7856fd762c8f6e03ea33ed277fb55a8f254714ab3790aff29124ed2d8277edea5a4eda13282e0b6c71180ddc9b0b408a86ba7d0cb7d3e255099163b9377d5dc130182998898a0aaa521c4ee626028755084097568d88797fde2be030379a3ced21584efd3f727bef895a3ef97f25cf6ecc9e7cc4a3bc1d2b8acefc2a949c41462d6f148ab7cb37e5992585338e55c37d6e3ddb03c1cfac2c986b26f899bb949119924eee94c5408579f1057ccd3a05919dc8637bc171a7973e20661448eb4ec468dfcf33ffdc0b5e36dfc6e277f888c9d593de160cd11d75cc1f4994dcf0c6c101c5d022b2ba32f9f55531bdab85f18b9c048a6f4a8f13a87913dfe25eb33c661d35b600d31f3a20806b53e5ab44953c3a2a3a25be73e47ba0a53543005272528b690c9307b136b41c12ce24dd1cd73ae82c099d0bb52cf1e015deb4e4ee2276d9ac5aa1f86cff73ead9ff5e04cbd0d18a3f5bce78cb1c54d6a1a32866ffc8b757a62e8fd401b620cecdfa2404e3f4d301de09aea98b637b5298f452fc9d74d5363b55e6d189da65b6367610d637811ecd8787a5bbd8511949c1a58d41514082b05a250dd7fbb28a93696e6f1ea44fe335663c3ad90163514bed0270a15d32718b4bf1412c29a4c8555bd5e064bf0cefdf2faf66d0cb21d02f18cb3d30ad717a11b99a0180344c4bda5d41ec33595e411049f98bb717069c12944203a98cb4de2ed160f226f54533abeff1c611b4bc8d96c9861f4cdcb28964868c4221207d9ae049716fb4598f988cc5caacc34e630bc1d479c27abdbd61b90631ddc231307302729bc42eef14127720411a4c405068b8de0a7321879129d370b8f82dcb5bac72d7ca5ff9cef2f3163781ca05ddb24b6467d0ecd0e0699ea90af423dac54e2b00b5207dbc8af684723dc6cc19a875e95a0c8b52be2f60f8ec8acd348cd9f90bb672121183d9516a07735c93e0f2ec783c272e478bee2445a9698e59214d6af238ad6e19a7c8ecf64e6437d4ba28a99af918f58a91564cd2400659964d154c5cb19943189034c76d47dda3f0fda30763b748fbb612682f9b6642bc4e335539cd3e8cb3f3e034e832360f6e8c3f6a9316ccc38ac34b61a58a1d63f640a0f6c5c976b5fb117a590e9a62a3a2f121335125b8463fcac29ab58fca59e5fe91ae18080de741ac2094437f71c268d424bfe0be7411ed853586291b7da4616c01edb42ffd54d9134450e570d1f5004b03d428dd2404869189b7f0d462a6877b0ea3615717a6b2ebd2fd95f02313f10870d0ba2c2a99c56c4eb225fdf6e4917826b54c131c4de7a3537f13076438fd0d7ef56af7e86df7ee6c0a5e827e69f06e158a56afb124b37efec0c75a1ec1a4b7db141c04ae9c60e64495fb74d8ff78fb8e409be1bde4912ab0df5b089d0fcd55f86fc795e2951c0aca77c516f4a4188d3b3c56aef6f54f85d0dfc5765302d8b8ce77c5765f5141b449b12cebd3d1371642d91bb316bcf6affad41734fa0b04104ca7de6c792155774d12edf441d3ed5d85616baaff210597a4d70dee7c4a63a9736cead663d7352b9154159fd33e37b50d1b8661d94dee84a639f7dd220a8e530f4f45f3721c74937f01231ce0c0ddd827713e9579d72c60d4403fd3772abd05709a2855e63f2f612c95b33684afbf688bb37631542dd4cbfd7adedff606cda64205312f13d791c1dca6d5f1b35eb87e71d80284343a2f834b3ef1fdd57df8f240775346340369186b371417b1b22a3a6850a35e1e70e423879e6b6d68faa86b1036a74551d3fba019ae0144ebb5d07f8d90c3b2e96024dfc7be23c87c9f31f8e0e7437a9e60e6bf5172f1912e1475097c1cd32f57efccc487aa2c5e9f9864b83c53860ce02a74f5799b2ee9a1fca9c03d956d6131569f5c4d588753ba2cf3ff072b848be361509f0414ab97bb2bf760f3272ce4b093a0e586ce16b0641109f7bf5dad5fc2e075f3a54f31a6ca13581545d5d3c229449164ac0135629435fe67b5ff1481bf1f262a22eb866dea775352e7a71b94e50741b93e8e42ca36b6ef36bd25068413d4a76320edc8de8f5f62b0e80a2623d28894cceda254399cd039cb34c55fb271da522dc3ee43f3d1e02d53d3597d8905d811be8716cd9508887fb7e886acf6e1eeaac346c0d52ed82a8034113f218236587d791f204516536f8d7670f4340f692a3cd34b60efdadec06a1ef72287e9cff4d587f2c1d618757a75af93188982845bbf41cf4cb2f8268877a1f9a91380b17f96c29e514a00c40a33dcd07d9c19756c918e2dad1f5f0958948e58f6ecdd16502bac3f33918046bea182a069057e0025098919e205c41d9348700845bcf57461f2d25414ac0850e44d165b2610cdeb01db34e022adf79b20e63f28857067c7f822bbda88f2542c6f8fcec914a0a69b5bd288b5de60fde471583288048af6665e279a97f115a69abdd5f5dfaf9baf075e2d872b495b945aa35b9f2a710e2d0d7cbf641cae7efb81e7327e10a4e303970eec2b84c3e475ef5885ec7676c81d7e646bb3a88238289729f4e8e1dee7d8223a5dfc217c35391411a298d9405ae6dc26ac10b980f3e0483fe6e53927128568a32ed5f7eaa4615a5568164c13a72462029d3f4c3d63fd2fee11cc9440ed9aedb024016b1dc77f276bbeb4488bf5035b2a78603b85fa266d9a534ebbd2a8c0b4992209d6d8e43fd4a64b213da28d79db5b394fc45ca8f713d3d3681a503a36f480695ba267f8d53bd0c129a275e99ca83b857ab91e444dfc648ebfe0082a4e00533952832a056b00c5d402c1b9697f4d17fbb7b764a271a46c7b61041d8ab023b5c44b39198944dfb7b9a20c0df42eff401a82635ce4270b6dde90402052b2a0c159f280e73713e02fa5b7244e3b9b66f9df73eb52af63871772808efb2346832888783c63e6b0bbf936a0aa9e141a0120a2324e9383e769f50699da78ec1bdb7572627e7580acbf3cad72b1c9cdeaf711e922ca04e1ca4684c66211798eb26c35ec37aa71854a33f449e6f7456ad6bd2bff5b5d4df65929b6e9f7857f72262e991389eed9008ba093efe1ac7f36249ee530b2984924fcceb784e874690ab2f84bea903bc904c07f58f23cc8d54e6ac9ed83ab4da9c140f3ea897aaa2c24d05eaac4c796eed0c041b8db357e29bf824e1797bce9e1f6b0926a8560d59b7dc7cfd24b93db2170997c094d79e03c684933ad53e91a17023d3116c9eca1348bbd2b5e0d80c7c80a29ac4973ac83803eeddfaba4a7f430dfa87035e4c3f39bee14bcbb696a3f40bbb189dde1543adeab0b4d4ee625861da503c2fb5c748f351df4916bceb5a493be38ad4fb17e0273fbbfe06ae2ffb295269dd930a9823c33ef37c5470f49b1a0013594ad53e9173f5498e8a25b44e4fc01ed3b321a5269f11b7672192f196a098aac67dbcdcb925617385e02be54485efb1114ee2a69a77a4ec60a126815a29593b6eaccf9695ac6a28b13e8ba88bde3bf95b6121e5ef11a5b236fa7c00b47050de6a1db9b6326521f632c87690bbdb2db6f9628054e384f3d8bc3bb60255c097c95671f1ec7ea722366b992af7df8276b673a040b94058f5047ee53640eea910f171411a9cfa261cbc5bfa4b79f64c1c8eeaa3e2e2fa9fe861705c82985ed01d5a3bde50b523de10faca25c44c4eb78b3b9da9d4e563abd4867db7e4bc664677c8196f021f3a514394becb59f51a30858fc76defef4b104e2874e7a8a4562f61d7ddbbacdb5591d96d0ec14b332c23f76057e31e02510d462c69143c6e24b92018dfb79f06711aacc3f1fd9e01628f0c03e89466eb39195e6f99b5b273dd49b0a37d997a1a1666972fbbda2123c2d61f8db93161937b418f51198e85eb1480336e32d5da75587d04300e6e69df3d2e47f6bad141fb0da573f30543cd8810d427e1f9eb959a7a637bfc4702d9e9bed79362b23e5c56911902aadb291a7573110e406b6c18d860c084128dd103eb338f6a9666e91845566f40da1325a91349149a1be26561de72349ce354b923b441df1a0558bd6dd66ee06199c962ac92d86cf8a6e438d2634c2e082b46588b5b2b9d857a4331b77d76dece1ef76ebb42e580dd8c6fcc15f68875065d508b2ef9254bc57c9bf2b25579b6766c1b1d46e2bd2a3f2e4f1aa5d48f27b51c47dd15b90393838397ba9572ee8552c0986db94cf8b85505878f169df39f8b4a21aa982165590a7cca76466ba8cb47e373f4362880c55e34f80ce08d03d1ce9f152a4fc0e893bb4e8c4d90af3249c06894e063b0aa5a84d240b02778cf27df8a68a74d8ae74ab495fd73aabd70a203581559ee88a05d6feed165c2bcea3d89605c18cf53eeec13d15f7a0d0e0beafcbb59372af7128e3060040835c1316cd30f67a0f0c8ebb3cf511c501dde1dcfbbfde8619290020f13d0057f5e55c8e402747058c931e1b218a9fe723cfe5cca5fae7c1441edb9d61f7c6703d5811e6ec3492e8cae1d4b9029b7a333b953e28e029d1827cc6404749597fbbb573fce800e958ed506bc8a470ca7b3a6ab3781c16b68a6ff5dec810b68a1fe1cbccf26b3625c099bb2b3b580d3c22a410cca903425f8a722d630f76df507571affd9a19b78bf5702e00ae3763f5e90561666a9b817a01ac993cc739531771bfa761bf74deea8875868a48fef8d333075e0d2bb7a4d3c1d765a188b30043aac02c19a4370ce54be3b588877b17fa929e58925b52d36aae8e8eda135053438a43a9fb2cf6fd98b118c4232724278f4f5d31ad0c6c5a66506059edc9bab62ab479b84dbcaa8d93a4b919396abe36a8757b4080dd9ea45f8c7f921b390ee35c3f572c1dc01b432cc00c16a1a9b5940870b139d76991df7e8e985182365ef0b27f91b744bd4e0608bf1d12e54ea28c3615f1fe4d1873cbf1126170586577b5bcef3335af086b07b4e25b849ea1c4f6f88929c137b918f9e2a5391c0cacd504a3a20e200e836dab8392ec04de71244d52c313ee1121d24b10ea574e030c782f7be1d063eba42f535681a25d2e45c6077553fc9b798c250f31dcccc8443f0d5f27c824f965732a9bfb9d7bff64330af9bc78c831d655178599ffa187a2a096074ce03b26dce052cad9a37384290aa6356976a37c69813f1af2bbdcf17996edb7d2c1b7bd34d3e9d50ad749ff818e8c92615189128b759f71025a0030a4ee9468b2fcba9a6568cae0a65ae18c53fd2e6d557c821841a2c9cd72c74fd13dcb56d2a76eeee0942617aee16520c8637b7c3bfd825c146bac46e7191c75699bfe653640a902bb8691252d5474828ae2468e04e1fedbed9a499aea3e5c5ad09745671b69c00e2d23f5da6935f0232531ca3683b00eaa32bb3d258c6ca21e1a369c02905ed1472a97be35e81c19c469c8539545d5dda9d72656088492a65aa19b0fb9c29a69e7a00f89d7afcae67bff9501672dbc77067806a6a26ab7a467f9dc3e14e1749ca08fff250520bffc003e18edfa306db773264f8ae2a2e6c5417146dd82641b5f2a2c6855ba0767585f0a396e67f8d286140f02571b3adcba8b2faa66af0a65b9e5eb3163485eb8600d25553d0a2270b417f4d1b85cead0734ccf4c2e707671c99807a24eec3cb1a0befbf1dd6ea3b7e1d9a328e54da7162d36ca411e217d9591bba1a3aa9f48ac094577b551837e4e381399c93b430fe8c03b8e9925cd6cf19d22b04996090d1cd44af93381d5d1c0e953493d8248a5d9a860b825dcb7bead72e8e4934f09ca0007cb0e42746d166789ce8d67bb8e34019dfb6c8b2c318f16faa899c134d3824325986c8d9c95f4ea32078bce6b3071dcf82d1eef8ac13044777d21fc1d1d8d19f5bc4b042cd767b75bda31a7a73a0beba02b6944eed2690863b3465d522650da9b5e9085f9585cad250aadd7208c618496b0f4d3fb4bbc13c6bd31327e614e1b3ca09a6e55b772dc8ab66fcd5b40deac0267a8c58fec13f39ef98733f1086e0f726fb2b7fecbe6273c69ae9b3392c40f070e186217cd7055abddd4b475da23199da751b2a7484a0e0f74e40ae6bcb551a1717743368f78f7ee5b48f180dc5517a74c34642498be4b4f4adc055a39a8f1e38c22f39bf9ed8d14e7fdcf43144e971d065d29f7d22d893c2a1a996a0995d9e6b9269b059ffe7fc719988d8714740ec1d52cdc1ab1ad730b17eb5e137730d57556216e4b669622e745f3c833c69c13eb014f91c4bffd5912b03d1b41e960c4bdfc6afe31b1cbfe126d1c752bd9b2d92fcb9b81ef98cb99e245f661fdde5490bbfe6209d834b5dd619e30c819b411c2d2b49eed9c6a3f88a43b4b9fe3bf44bb49ea1b9b79374a09e4312e60c804a5f24ad282bda45684b3c3d246eeb0d57829f7e35730b12b4a2b6fd8274af98d17f922bade1e40bf440b3c03c5465bde4cb0a56363b92f2085ce9b5c2a091a5826f213c8b297e83068c785712a0f288d2f1a6fbdda89f0213abca256ad04a9cea3f692387760c83cfdae697f11ad88b8a41a07cc63aa331e8ea2b15cb084d8e6e07d17eb15314e0d14dcd038d35a5355b3c0b7c67ef23ed6e6776e5484ec8d659ed7cd12845a5934c5fe83344eaf05f266fbefaa8af090e2ad3868f18aac7f3c10c4eed20a6b3bc4efed27ab202d661e8d010722a77e419d5115bb7e24f6aa128c06303f401f3f2decd4ae2ae71921f9af8632a5f53e0838790b38f5e59338ebbd22994d929243c431803b81fe62ba6881d11819e62c2cee4a9d10156c62a595e58620a51f65d188b6fb5e821db4e2b050e6dfb8dfc9e55d967bedd8a147c7a40851a51650f35e123e90ca94add46e87f5e0b62e333ad1255567e7cc1e2da389353765794567af97d10702f5407d79313685a7b23f4460cebb3771d8c0f25710d990691442ab37e7652c361a305e22b00e5f6bc00832e0d1c11e79c775bb1576703a707057c92fa7646ba119e425f9beb73528b9c0bdcd09942ec59d5f2325403651f6aba49ed9dc969066557d48c2041d8c3a4cc69d5ab81a26c8ecaa3021b7aea72bd16ec95d16b4542eec65dfa65d1b811da6d8071b1e5737805e7d7be183215ad227e1ce3f97f5a0a1888207c06c6bf8903a33812ffb68415b442bad34cd44b44ea85b6e37f1cf1586825ca99e632076130d668945fe5753fd834663430aa046c3e407dbffdd51234a907476439d5097a8e31a32ad06c169b9350eb80c19a099a4c6e96491e2bdbfdee291bfbadc9c94117af45b9f75b445f9558a613984654e6624182936c35aff8b67a30447629e533bb76ebaf64693e671b2118c5687ca6dd5fad6958c3f01d0e9d6f5cfd5e3dd8531194a13bb3c553d54c85905d42dad4c70cf7ed8e5ba4762b0e5d2a012f65815a8c4a585fabfebd20f961aaef4ea7c96158e8fdfe5d6a3e02ee594af68011007df8e817408f819c71d1e6ff6b9a7f2d05e6d79e8db2639f648241fae5e265eb150da98c628646244cc62109eebca57fda0a718e69fcc12ca01fe182388950dc1f529e054a0b3c2a89866de87b40e54fed5b27a9acd784e41521d8bbf95922448d07bea17be6b4bb5fa792521227495384d7e90aee5ca0b2acae497bf1be5b3ac53e30be5c3d1204ccabadd0a04bd4953ecd8a14655949f85a04b6f6d48c20d7e46c2e51e1bfcecacb61f95ab9b2bc1541d9cd768421698f50a4a450a909656b667efdfb806b1d2531a98d86f0136928930e4d581bb2dd224bca16d13480abf62aee5ba9ddce2bfee470096cf7cad79d83be6f5f808acd2326d417e2dec4ff7d5990a10347d0caed407e50922937c3f479e99dce0740f1d1c164143efaedb393666976f096ab456b2c08e3d125ed7790acff62b3171f1820f4379f4d2143159509e0270b1fd10a7f6e4df08da1fcabead53645db54f2357b26b9118d2460b39e1ac4f5d5c59acbda8f418b78f4c6233652890b3c67f6ff18a8ff51010e24d70bae11eda2feee291eeb43c7cb647c1c2c09b3fa5561fea63a38106d11a2a273c814867677ac2c0aec94a0385a0c3507328b27ed2f60d4ac4cc0425edc744894edd364f9d2f4161dddeba0131e8237121003a35c198ab3184c943232547617915875904288e247821b06b9eb55ca43014db23cde8c0524f20e29da959343fbc7591b8f313a70493c29263f989da020d66649f9c496090b2abbbf0c6ff0d97307c5f6bd8042e857bbf929a7d9d00b0b519814a984555ba6c9724a627723d442d4c068b7be56936d801f18345c538b151abe410dc3a79efe37f2ef9312ef99e8685d199ed375eca7727235d9c7e3ff7db4ccfe2f53f3d4e32f62849e38013089bd164f1ad5d9dbeeaa3b683ecc030635a50787e25f7c0ef0b1d93a42e119e08e7d5373e89286552ac919c7783ccbe2b36d899189829b0ba66fc9e407f8ce29b1cab361769cbbb2a38fe4f7a4d6a2fd185433006f957afb26ca625f593242992edc3c0699b01a3421b2e1a9b87d4a575c929e858eb2a2c90cf829982e6e54d85e5febdb2bbc2347b2bceedbdc9a5ccf62af91b96b6b5ec4c958bf322549eaff57b79941c11c5907267bc29938c64984acba0ef8fbacc9f7114e2e63472f69ce4ed9ff55f96849e93c1619a78d248303edc295102fef5994fb315e8c2c4865e149127738e3f7c4f36f97a00c9c0329ed1f1bc76ad05dc1cd1c1c80906a6fa52ac222716941a9fe129b3e5b65d8c061535781bd2333a5c5cbc961a0c230ae8ed049f3cb26cce0afaa965675cae2a97dcf8c87d2916405cee52a5709225bf2dfb5452277e091b6f36ee251fc9f31532db44bb177a465208cf3b50212cf53d3c4b38df55d0051646b5fad13df3a0b6e09ed1f1bc76ad05dc1cd1c1c80906a6fa52ac222716941a9fe129b3e5b65d8c063fc5b25de544ed98d8c6a1ec548c47a5523e939e8bf07326efdc133352c92b758035c841e4360799f0135deaa0a3c176479cc9d356fb8b3001ee624ba3b4c7c39ed1f1bc76ad05dc1cd1c1c80906a6fa52ac222716941a9fe129b3e5b65d8c062d8144189140bb7c3ac457c80db5c4e44a8d4e443e2773311c9fad69917dce60c97f4cceb9c2dd63df80675554f335640cc46875185af539e2b2f3d6b9e9d7ed57d1ba78e19dd46a4dc3be448ab14e7f5fa8019b3bcf94fc58c2d31d1268465410e277ae39e189a5405eb84d31408cff0e4e1bb4698a4778a86a3b78ba53b9a754a40c9f144e80fd40afc82eb5b85fa7da166804f41641cbdfd1b47c17ae4249962e3a7f7bfcc5742144c3f1e81ee7154b9c3f037e2616226eaef100e203094f8b399c1baadbe4d98eb1c5ec0c61d66af08f61c9280d8be84212bb3aba564f9a4e18b109b19b6aa79663d9635ddced8c8975dbea92e2f2c280e194449d261233fa3e1f3a9bc83ec3e56fdf4d164020792ccf9cc7ff62544e6b499095e5e984cca627a0af554b97ca19127b8fd4a395feea57a22e3a481bb74132c30f7a4c4cb3d891b1c7782cb72c1a45673de45b15d7d97442c83f4f89a63561eea9e5b2db1474967cc79b07f116dfb5f0df30993258310ae8c87b698d164248c81428906c12b38a8b4abc38531ee4da2c4d3a33a9f150147711254bb01e7a36fcc94d01be17f779f447c140c1c770f22a71054a760542027570a04bec880bc2a0336be52c0d3b6e1ca0f0f11649c4b689b7a563f6cf82ac0d608708175515b1a568c4c52346285841d56c54638db511bff0f0bbc2958b1b0866674b54b99729f756887332ab18dbad97a02b74466fc3cd460fdf2a2eaaeedc51cfaf784305da8f01f2d21b1054ae1aade69c0378e2d3a612ed0ffc24fcbd781f7f93cbff1ce93e7933b08922648e164d616509dfba870cde711f63cd7105415ed680d5603977f7c4aa92b24ed869b213d8fa004b93da70314ba02e2a40a635326de3f88b4f854c2946ff25ec150c4c32ad3fdc8682baeb8c28e76f067abc27af406e95b53c22cefda75fbf996bf46b60603a24209d0b1b2dc656bcbed0b7df5a8d76079daa4e1552d5540b12f23a8eed09cc9e87bbd876ea155787e6d8025fc03fbb5eb35273091fbd1211e7f2e18f940087c85f2a9a7286b61a792c76e33387d6033f6fe1329f56d4c4a8e7c2ea4d0efbcfaedf4466fc28f1cadc2b5297529deb3d231839c08652bc8f61070951005e5851b4624eea7adc326ce0f2bd71009b05b50cf91697e983620684e7366f5e07480e9fc5015cbde9996770a2f0da5aa061fca258a31a647323a35d7e764e4c6d0f76c9cae5aaabf071bde7b5a006414914d01c8c33a0b9df6b699bb963f2019985f34d30d8577db06f1cab3bebdb327ed63d1abe28b78fafebc63bf30bb56c4759f57160674ea01f66be094e296a7465cdaba02f6b2a83acaca8f8bc1388faf3dc1db1dbb2deb29bc89f347745225101779b4b419ca58b87bd619683f51151bb45c6a786c5fad5a856b5e5de636d1c9492c06e7b9cc77144dc7f94f1b14abfce2e77d18f0143fe3d8c5275257b429efb6da34fd654cfcca98fb477909cce87c3e55abb2fdbd80d9eb1059a13c4d29f5e0c35b9522b7341e5132d6be1f2c11269d1a5703af7c9f902b3d107e898af939dcb8adac11cd39304a705d79551eba38cfcd045e26ac140d22eafd6448813e6ae8b2fa9d597d42d51ab3f23e702d92c0a306857004026ee6d9d805f705cb15131cd6a85f4fe6c562ee543b0fbb8c06e5e825630c9c36e41dc3939cc7fcc12c97f0d26ffa71f74847cbae4f6a51590b276e5220fcdd216b9ca348c2275d50b1005ed566e571ba36efcaad31830021608c2f422fde6e3851a9606b5a438743fa1fdb54e7df672bc0300249c0b7140f5c6e2c822b43f3069ce74b126e03cc976567552671473970ed5fe3b94bc5bcd3c8f45f47b93194eb3147fabc02c6c0b1337f388e33905c00ffadf99fc1486083750c78b8de368c512e36b6b501df190cdd0009017798e6e09873138fecb58922e9039d1234f122f365a49c5c4d2dee37d11b5267d4f46737e0c6549be0b2df663972fb108264bb8902560007582322de80dbaaf2d2b4977881fee569ccccc12140caf1087f869810eca7befec11accedac05229c0571e4e4113221ce8a09f6cd9c7d3061ec0c0b9ec2b8a0d4771a80974a24b347d30f44fc7fcd5e2055466efd07beb2bb6e0e0aa355ac4cb77e4edd15cdb6e7f4c1a6732ef9962cc741b8cdb7ad0450f6c3d31c21a80817c8c2088c29a5daadd9d66aaac828097afbf56c2780c25db0e66071c8db09103c2d97d9da01551d360382f57a94bcc84d2c827a8a0c5c3d172b1fcd13d63e9901e4ae8ecb1207d1fe8c223bc221da7643f28b836e21674212691329d478a71c4fdd6d383c401a6bb9e93f09819be6d0babfda599a23db562253f2d2b495ae6da82c66a8f63010ffd6e1989e927c176ed5c88b49f19cdeeaa97c4dd63c6e4a36246c3eaa40f4ca6d395cb9f707e059bf98baa2dde96f2086f8c709bf56f3c710768d6cffa617a26ff5a381cdc6b4d74c9078b9a756f1f4bcedb8cd6c177614c09eae8b455de22cafc2541ec7a0f9ac1977c732fd45956b255d96a5d8c855de47b57166054c46978bc728475fe96b0219c598dc71924534b76d68641356d9275dbe1148ad175713f3951f6ad5ba6a525d98db04a253e4fa22a0b7d13a2930bf74210921de659e331a1c1647fe0102ee547f83028d05ba76434ccfa8a7ecf3eecde2302276b9ba13192932fd60614b6d36e0ffaa005162523089d9981a70ad9d5a0233e08ac400ef0d6c2559de5ab375a3d3c4c1835527e65d2c6248d4069355ae8de32032168e5c8bbc68070d338e008c504ff434158adc395be0378e6680609ab937947a2062aba2b90935d6c96d75db61f843e107eb82e379580a5c0beaa19ad9441be45c492eed7ac4848e9f23433664179e9fd91f5d3edb271983e00d652ad037965f8b1c1c5a37b7dd8ce45d69e62ce0139112e4a962e8981d8aa6910608b99738eca62a5832e025b52d2849bf3d7a78a2021d5df221a241139f57f9edd464099b1d10679c7058e754c7230c37983c667b2fb2ae06eb37a688a8ab1ddbcd06f5353bab30b5f92a23c8db5ff307c5c7cfd3a9aae2b9191847bb6438398dec3db9a1519ca72d7160939894c093c18791c9a9a83f3a652e6d5d3225a6b9c09269b9f157f95ebf8e96b0bd8743f569e4930639f3ea985959307a4cbba12006bf14ad1140497976060f387bc75c338ccc7da15f3c222737e817af45561ba76f0519319fdc442d942ff7405462d58ae06af2e1ad2ea7fff86b2d3f1af0d649898a35e42dda4f26a3a7e920c86b85f90f5a40ac4936033049e6b02f5b4b13eff5acbf5c28f949dce714d44a5517fb92dbea952f933b0c86818315c01d0e39026fafe23dc2c564806bdd986cf849700533d0fa02aafc42b508432e94e837f2310a94595da24b6b6f11ff60df52ca17542a90af712971b98cc25b7c3857ed0315a848ebfbe20e4bb7dae8ea515673d25fe4c84eac5804818d67bf80e99a7a2c57dfbc3e105be913ed7d6117eff83c57eb11ee6994826003e7419ae200805b220b7d854b0ba02d793315637ffa6f2068866bf550eab83524f31459b31586d7abc0b7b7d8a74242eb2950b8fa66093340cf907fe9e6df5591840e65833f3dcd2ba5db2f11d4ca3d6a1b31f03ecdfda0fafafb6574cbc867b1bbf704392e366f0eb5d1a7f1b865f46978da6019015ab8dacf0e3c33641ce834f9f3f657aad65334c2b059cd7c4e64a390021f4ea250e40ab6456bc84c211b61f2b5568d37ff82ff11814ee6af76cf5d68cb8ef55adfe742649241c52d08b79eaa1721e99fc3378ddf5ea037c37311096dab4e278d4ec1e12eebbedf1d2c5dfd4c69e675f2751492c50b48ab04d2620601285185ae2858d4931ca6fdfdf2a8a88249ae7d0a538e3241c200a64518507a64b1bcec478e108d863a7f625171ed42582b7b9a9389eb3b665421f3d68f59425ba512f80434033bfc50e597def94fbe011380b4aff784295d72261fa2322ba0a24f56eb49e22957a47596452f0269bce077365ec09d1a5a45696fdab3bddcce23ae42a00d3927d03b8f214566ac4c1f5d7a1c872771da5176d41195b5d2b6c9645e0f21ee32ce61432062862068d262ce600cc128407eca99a7da780fcb3e53d215274512e58c7dac233906b856ba279b7156f1ab2c311f47814618f7ac0689733ca19ce9dc1b95d9a0d6e884ff2c1efc0e1ca6e4caf47b9a72f0c7560684e5205c1f2811707e5450d1abd20bcdd39bc37f3fd5374965f243d104d9eab3f752764ce8464ffe5e25e89d0a04fae437b42fa22a65bdbfc99b8ab0c2d8e5c2ff72329420f51369613ab2c92d8d20deaa106732cfa66b3fff2de56ab5d25b45ba37042612ad4833660a3d2a908157b199a150f00fa47e500e83f950f2e98a632b002396636f396153e0975f42e0f48be6be06a655be35612c6d7f8d64dbcd3e0b306313602f99c35a75d6169d6a3fdd8241d3f2e4b67aaa5bb77f40b696fdddc14a7357564c3924fdddcc43837610a2310e5936d9fe55877f5de2977dd85aad8ee1edf3a571e7483c0dbd54d05b7a3ef1af8559a8cea6625cc8d0891f4642d5529955a1a3adbb84dce88635dd8763aeeaae3ccb1ff30954f1a1e97aa47dd384458c5080f8c7a53c534b3e379a6c0e884cb35954c877685917d9dbc52e6bca78046ef4103be357b6e44946ecb8c4d5399b56efa85381be5d79fbeaf94027afeede3b623b17090bc0e6cd5dcf3a94c46066449def8531ccd1c18d8f3043500c532e0b0451e9c4682255c1853c44a58ea9adc47d55ca8a23e276dbfeec3f315eedfebc8271fe656ca0d43949abe60ac555d86d5c29d092df0229bd1986b40dd990356d5f23656fc05f48aab0705e9cf0ba24ac5e1fcb4d339cf2fec2d6942ee2ddd4c76a8740ebf60b3ff9be2fff6a5eee01eeeed802177fef4705de5efc45ef2c1a22fd745a802cd9b0f8ae9025218d78e0fa2408f63575b2c563c0dfbe778937e67ff4b6aa6b53e21fe0c6e922747e644f23d204ee01cbe63e6c0abbca916c47078f0cce8af94e3830d15e5df49cc716be8770c51914ff0e3f311d32a820bd0f7138f4bfc6e7865143b7e9b89eb2de9c498468155fe29326eace2b0049466086d14dbfc9b0a6f2e18f6b3fcccb6fef8f4f8eff919e726717544612fe567a3782225d52a381e06cd77c0b123e13344e8696ea2a3b3852ba129808299b42b9a96a8032d91005a4384eb16309e593850c80e4c237fd7eb2c008a7ad9673b898cd061ac82281aac3072752d4ffd0b3e5dd88c43bee0327c14aebe4839fa3685c2da9227a4b56770c8ee5f936fcb11d8dbc61cf6fd04746421de0539591fbd0c83f19a4b03d2eebffc7279faa45ad3a057844753d8d744bcd79b327fffb478924af20b870e365f3e1348710d7552d4ca61490744f587fd88674ac330d034a9c4ec63c198549226d745eddd979e3696e085489dafad0ff1796090e96e442af5db25e8ed864d5bba91dbe1e1dd679760ab4e3a7e1fc4e4f106544dd7d611171f64b0dfd2435352b5d61000694492de4a590bbf0b7997228dc7bc3d708c72cdd2ce24443963600dd975e553c22158239ae7e76935e3cb1749ec972e60ae84ddc46dadefe6c69f2a158ca9afa6ced8a715b86ad3c1da4afbc4eef16abd8a522bb946d841bd389ba7415ddc54b6ded71d237d28534e64dc638a5eba0c3b8a6cb1cfc202bafc7088497d4754af710ce3792994b395743f0dfdb096a39487a7f7b6e2d13b19a29f14cafbb51c194e98513e9d54c2fffee70d6008271dc535daa1bb9abd5c0594fa46bf17d309c11368f5d80fa5c62d3683546e4833b4e02ca11bf26e7085cc0482dbcda62ed68178cbece361394a7454c94444da72f600cf6c3dcc1029e0e5c8cf54e1bf92ec7a4f58d776063be0671f956a55ed4ba0355de686608143cc4868ca68ea8846ac0022d002ec43c2c75e5e35a92d4a4217c385cadf93f7a35867267f449b058438f08f013293c6ce274f749aa502f8042fcf9a1610ecd11edfd7ac365efec04ac27a5c2dd14acc307ad195c01e4972df13a1cc3d17aebc91d3e9fece1e414632fedd297bc892c862b55a5ed7aaeeaa4793eebaf6eb68c2a41339126c4204de48f6c529f0f1b98e616899b59ffd61b618f993c54dc1e9e0f82f7f9798708683b601e2ab06c3c0d3c3dd84a1b5a65fab2e5bfd405802a826d13709e8ff4fd48536ad925ab68ba5a99cd580ecb6c5c250bc0449cb803df98903ff23519813b3959a52c9be2f0a5f86846d6956166cfa1783f7a825c3728aea244fba31f2b6d979e3bce11b689ac14b29358cb90864cb3420bffca281cb92aa0b08bb54c74687eeb4259c7d372fcc97c9bc4e0b1464881c1809ddca66b696341ff1596e2cd2c60b4310ef4dc9942b7aee279838ab86c1bc16d27414e23317d8846cdc1cd8d7ab14b5f3f8b3a71aafc2d2c3be8bda0abd2429e7596d3e56c91f839eb2b3cb02f162e010e4adf08e67ddcadabc5635../../uapi/linux/input-event-codes.h../../../arch/arc/boot/dts../../../arch/arm/boot/dts../../../arch/arm64/boot/dts../../../arch/c6x/boot/dts../../../include/dt-bindings../../../arch/h8300/boot/dts../../../arch/microblaze/boot/dts../../../arch/mips/boot/dts../../../arch/nios2/boot/dts../../../arch/openrisc/boot/dts../../../arch/powerpc/boot/dts../../../arch/sh/boot/dts../../../arch/xtensa/boot/dtsrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootkernel-4.18.0-485.el8.src.rpminstallonlypkg(kernel)kernel-debug-develkernel-debug-devel(x86-64)kernel-debug-devel-x86_64kernel-devel-uname-rkernel-devel-x86_64    /bin/shfindutilsfindutilsperl-interpreterrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3d0d-bd&@d!@d@ddddxdcU@cU@cc`cl@c@c@c@c@cwc&@c&@c@c@c@ccc=@cc@cۥcT@cױ@ccvc0cƍc@ccFcR@ccc@c@c|cwscr-cn9@ck@ch@cb[c_cV~@cMCc@c:c2c*c!@c*c@ccd@cb{@b{@b5@bbbb@bz@bޅb@bVbby@bb>bb@bUblbb2@b@bb@b@bbw@bb@b~H@bzSbu bk@bjbgbf@b_bX bT@bP#bMbMbF@bEbA@b; b8hb3"b1@b/.@b(b@b!b~b @b@ba@a aa7aaaa@a@aa5a@aza@a@aaW@aayav@amaaf@a]aQ@aLl@aC1a@a;Ha0a(a'@a&0a$@a#a@a@aS@a @aa a /a`@`` @``@`@`ݮ@`ٹ`@`"@`@`9@`D``r`r```@```Z`f@``@` @`@``@`@`e@`}p`x*`t6@`n@`m`e`c`a@`[)`X`P`KW`J@`Gc@`B@`?z@`<@`7@`2K@`0`-@`*b@`%@`#`"y@`!'``>`@``@` `@```2@___I@_@_@__1@__ܙ_H@__@__@_м@_v@_ǁ_ǁ__@__G@_@_ _i_#_@_/@__@_:_@___@_ _@_"_@__~@_}_w@_s!_k8_e_cO_`_X_P_>e_;_16_*@_&_"@__@__ L_X@_c^z^^@@^^K^@^W@^@^n@^y^^@^א^?@^ϧ^V@^^˳@^@^Ǿ^^@^'@^@^^@^^U@^^^&@^^@^1^^H^^^@^k@^@^@^0^^|@^{G^{G^wS@^v^t@^s^^r @^p^n^l@^j$@^g@^f/^c^Y^U @^Ri@^O@^Nt^M#@^F^C^AE^9\^4^2@^*@^&^!^@^g@^r]]]+]@]]]B]]Y]@]߶]e@]]]]@]Γ@]A]ʞ]@]@]{@])]]@]W]]]z@]]@]]@]V]@]m]z3@]v>]rJ@]i]g@]e@]c]^][]V]UI@]S]R@]QT]L]J@]D%]B@]A]@1@]>]9]8H@]6]1]0_@]/ ]-@](v@]'$]%@]$];]]@]^@]@]@]:]@\\@\Q\@\@\\\t@\@\\@\9\\ޢ@\P\@\ڭ\\@\g\@\\s@\-@\8\@\\O\@\\f\@\\r@\,@\\@\7\C@\\@\N\\@\@\6\B@\\\@\@\@\@\M\M\M\~d\k\eX@\d\^\\\Z@\HW@\C@\@n@\?\8@\73\3?@\@\\>@\@\I\@\ `\\l@\&@[[@[1[[@[H[@[_[@[[v[[@[@[ٙ@[S@[ @[ @[[@[[[@[;@[@[R@[[@[][ @[@[t[#@[[[:@[[@[Q@[[@[\[[[@[v[qrDenys Vlasenko [4.18.0-485.el8]Denys Vlasenko [4.18.0-484.el8]Denys Vlasenko [4.18.0-483.el8]Denys Vlasenko [4.18.0-482.el8]Denys Vlasenko [4.18.0-481.el8]Denys Vlasenko [4.18.0-480.el8]Denys Vlasenko [4.18.0-479.el8]Denys Vlasenko [4.18.0-478.el8]Lucas Zampieri [4.18.0-477.2.1.el8]Lucas Zampieri [4.18.0-477.1.1.el8]Lucas Zampieri [4.18.0-477.el8]Lucas Zampieri [4.18.0-476.el8]Lucas Zampieri [4.18.0-475.el8]Lucas Zampieri [4.18.0-474.el8]Lucas Zampieri [4.18.0-473.el8]Lucas Zampieri [4.18.0-472.el8]Lucas Zampieri [4.18.0-471.el8]Lucas Zampieri [4.18.0-470.el8]Lucas Zampieri [4.18.0-469.el8]Lucas Zampieri [4.18.0-468.el8]Lucas Zampieri [4.18.0-467.el8]Lucas Zampieri [4.18.0-466.el8]Lucas Zampieri [4.18.0-465.el8]Lucas Zampieri [4.18.0-464.el8]Lucas Zampieri [4.18.0-463.el8]Lucas Zampieri [4.18.0-462.el8]Lucas Zampieri [4.18.0-461.el8]Lucas Zampieri [4.18.0-459.el8]Lucas Zampieri [4.18.0-458.el8]Lucas Zampieri [4.18.0-457.el8]Lucas Zampieri [4.18.0-456.el8]Lucas Zampieri [4.18.0-455.el8]Lucas Zampieri [4.18.0-454.el8]Lucas Zampieri [4.18.0-453.el8]Lucas Zampieri [4.18.0-452.el8]Lucas Zampieri [4.18.0-451.el8]Lucas Zampieri [4.18.0-450.el8]Lucas Zampieri [4.18.0-449.el8]Lucas Zampieri [4.18.0-448.el8]Lucas Zampieri [4.18.0-447.el8]Lucas Zampieri [4.18.0-446.el8]Lucas Zampieri [4.18.0-445.el8]Lucas Zampieri [4.18.0-444.el8]Lucas Zampieri [4.18.0-442.el8.v2.g6f5f]Lucas Zampieri [4.18.0-441.el8]Lucas Zampieri [4.18.0-440.el8]Lucas Zampieri [4.18.0-439.el8]Lucas Zampieri [4.18.0-438.el8]Lucas Zampieri [4.18.0-437.el8]Lucas Zampieri [4.18.0-436.el8]Lucas Zampieri [4.18.0-435.el8]Lucas Zampieri [4.18.0-434.el8]Lucas Zampieri [4.18.0-433.el8]Lucas Zampieri [4.18.0-432.el8]Lucas Zampieri [4.18.0-431.el8]Lucas Zampieri [4.18.0-430.el8]Lucas Zampieri [4.18.0-429.el8]Lucas Zampieri [4.18.0-428.el8]Lucas Zampieri [4.18.0-427.el8]Lucas Zampieri [4.18.0-426.el8]Jarod Wilson [4.18.0-425.el8]Jarod Wilson [4.18.0-424.el8]Jarod Wilson [4.18.0-423.el8]Jarod Wilson [4.18.0-422.el8]Jarod Wilson [4.18.0-421.el8]Jarod Wilson [4.18.0-420.el8]Jarod Wilson [4.18.0-419.el8]Jarod Wilson [4.18.0-418.el8]Jarod Wilson [4.18.0-417.el8]Jarod Wilson [4.18.0-416.el8]Jarod Wilson [4.18.0-415.el8]Jarod Wilson [4.18.0-414.el8]Jarod Wilson [4.18.0-413.el8]Jarod Wilson [4.18.0-412.el8]Jarod Wilson [4.18.0-411.el8]Jarod Wilson [4.18.0-410.el8]Jarod Wilson [4.18.0-409.el8]Jarod Wilson [4.18.0-408.el8]Jarod Wilson [4.18.0-407.el8]Jarod Wilson [4.18.0-406.el8]Jarod Wilson [4.18.0-405.el8]Jarod Wilson [4.18.0-404.el8]Jarod Wilson [4.18.0-403.el8]Jarod Wilson [4.18.0-402.el8]Jarod Wilson [4.18.0-401.el8]Jarod Wilson [4.18.0-400.el8]Jarod Wilson [4.18.0-399.el8]Jarod Wilson [4.18.0-398.el8]Jarod Wilson [4.18.0-397.el8]Jarod Wilson [4.18.0-396.el8]Jarod Wilson [4.18.0-395.el8]Jarod Wilson [4.18.0-394.el8]Jarod Wilson [4.18.0-393.el8]Jarod Wilson [4.18.0-392.el8]Jarod Wilson [4.18.0-391.el8]Jarod Wilson [4.18.0-390.el8]Jarod Wilson [4.18.0-389.el8]Jarod Wilson [4.18.0-388.el8]Jarod Wilson [4.18.0-387.el8]Jarod Wilson [4.18.0-386.el8]Jarod Wilson [4.18.0-385.el8]Bruno Meneguele [4.18.0-384.el8]Jarod Wilson [4.18.0-383.el8]Jarod Wilson [4.18.0-382.el8]Jarod Wilson [4.18.0-381.el8]Jarod Wilson [4.18.0-380.el8]Jarod Wilson [4.18.0-379.el8]Jarod Wilson [4.18.0-378.el8]Jarod Wilson [4.18.0-377.el8]Jarod Wilson [4.18.0-376.el8]Jarod Wilson [4.18.0-375.el8]Jarod Wilson [4.18.0-374.el8]Jarod Wilson [4.18.0-373.el8]Augusto Caringi [4.18.0-372.2.1.el8]Augusto Caringi [4.18.0-372.1.1.el8]Augusto Caringi [4.18.0-372.el8]Augusto Caringi [4.18.0-371.el8]Augusto Caringi [4.18.0-370.el8]Augusto Caringi [4.18.0-369.el8]Augusto Caringi [4.18.0-368.el8]Augusto Caringi [4.18.0-367.el8]Augusto Caringi [4.18.0-366.el8]Augusto Caringi [4.18.0-365.el8]Augusto Caringi [4.18.0-364.el8]Augusto Caringi [4.18.0-363.el8]Augusto Caringi [4.18.0-362.el8]Augusto Caringi [4.18.0-361.el8]Augusto Caringi [4.18.0-360.el8]Augusto Caringi [4.18.0-359.el8]Augusto Caringi [4.18.0-358.el8]Augusto Caringi [4.18.0-357.el8]Augusto Caringi [4.18.0-356.el8]Augusto Caringi [4.18.0-355.el8]Augusto Caringi [4.18.0-354.el8]Jan Stancek [4.18.0-353.el8]Jan Stancek [4.18.0-352.el8]Bruno Meneguele [4.18.0-351.el8]Bruno Meneguele [4.18.0-350.el8]Augusto Caringi [4.18.0-349.el8]Augusto Caringi [4.18.0-348.6.el8]Augusto Caringi [4.18.0-348.5.el8]Augusto Caringi [4.18.0-348.4.el8]Augusto Caringi [4.18.0-348.3.el8]Augusto Caringi [4.18.0-348.2.el8]Augusto Caringi [4.18.0-348.1.el8]Augusto Caringi [4.18.0-345.1.el8]Augusto Caringi [4.18.0-343.1.el8]Bruno Meneguele [4.18.0-343.el8]Bruno Meneguele [4.18.0-342.el8]Bruno Meneguele [4.18.0-341.el8]Bruno Meneguele [4.18.0-340.el8]Bruno Meneguele [4.18.0-339.el8]Bruno Meneguele [4.18.0-338.el8]Bruno Meneguele [4.18.0-337.el8]Bruno Meneguele [4.18.0-336.el8]Bruno Meneguele [4.18.0-335.el8]Bruno Meneguele [4.18.0-334.el8]Bruno Meneguele [4.18.0-333.el8]Bruno Meneguele [4.18.0-332.el8]Bruno Meneguele [4.18.0-331.el8]Bruno Meneguele [4.18.0-330.el8]Bruno Meneguele [4.18.0-329.el8]Bruno Meneguele [4.18.0-328.el8]Augusto Caringi [4.18.0-327.el8]Augusto Caringi [4.18.0-326.el8]Augusto Caringi [4.18.0-325.el8]Augusto Caringi [4.18.0-324.el8]Augusto Caringi [4.18.0-323.el8]Bruno Meneguele [4.18.0-322.el8]Bruno Meneguele [4.18.0-321.el8]Bruno Meneguele [4.18.0-320.el8]Bruno Meneguele [4.18.0-319.el8]Bruno Meneguele [4.18.0-318.el8]Bruno Meneguele [4.18.0-317.el8]Bruno Meneguele [4.18.0-316.el8]Bruno Meneguele [4.18.0-315.el8]Bruno Meneguele [4.18.0-314.el8]Bruno Meneguele [4.18.0-313.el8]Bruno Meneguele [4.18.0-312.el8]Bruno Meneguele [4.18.0-311.el8]Bruno Meneguele [4.18.0-310.el8]Bruno Meneguele [4.18.0-309.el8]Bruno Meneguele [4.18.0-308.el8]Bruno Meneguele [4.18.0-307.el8]Bruno Meneguele [4.18.0-306.el8]Bruno Meneguele [4.18.0-305.8.el8]Bruno Meneguele [4.18.0-305.7.el8]Bruno Meneguele [4.18.0-305.6.el8]Bruno Meneguele [4.18.0-305.5.el8]Bruno Meneguele [4.18.0-305.4.el8]Bruno Meneguele [4.18.0-305.3.el8]Bruno Meneguele [4.18.0-305.2.el8]Bruno Meneguele [4.18.0-305.1.el8]Bruno Meneguele [4.18.0-304.7.el8]Bruno Meneguele [4.18.0-304.6.el8]Bruno Meneguele [4.18.0-304.5.el8]Bruno Meneguele [4.18.0-304.4.el8]Bruno Meneguele [4.18.0-304.3.el8]Bruno Meneguele [4.18.0-304.2.el8]Bruno Meneguele [4.18.0-304.1.el8]Bruno Meneguele [4.18.0-303.1.el8]Bruno Meneguele [4.18.0-302.1.el8]Bruno Meneguele [4.18.0-301.1.el8]Bruno Meneguele [4.18.0-300.1.el8]Bruno Meneguele [4.18.0-299.1.el8]Bruno Meneguele [4.18.0-298.1.el8]Bruno Meneguele [4.18.0-297.1.el8]Jan Stancek [4.18.0-297.el8]Jan Stancek [4.18.0-296.el8]Jan Stancek [4.18.0-295.el8]Jan Stancek [4.18.0-294.el8]Jan Stancek [4.18.0-293.el8]Jan Stancek [4.18.0-292.el8]Jan Stancek [4.18.0-291.el8]Jan Stancek [4.18.0-290.el8]Jan Stancek [4.18.0-289.el8]Jan Stancek [4.18.0-288.el8]Jan Stancek [4.18.0-287.el8]Jan Stancek [4.18.0-286.el8]Jan Stancek [4.18.0-285.el8]Jan Stancek [4.18.0-284.el8]Jan Stancek [4.18.0-283.el8]Jan Stancek [4.18.0-282.el8]Jan Stancek [4.18.0-281.el8]Jan Stancek [4.18.0-280.el8]Jan Stancek [4.18.0-279.el8]Jan Stancek [4.18.0-278.el8]Jan Stancek [4.18.0-277.el8]Jan Stancek [4.18.0-276.el8]Jan Stancek [4.18.0-275.el8]Jan Stancek [4.18.0-274.el8]Jan Stancek [4.18.0-273.el8]Jan Stancek [4.18.0-272.el8]Jan Stancek [4.18.0-271.el8]Jan Stancek [4.18.0-270.el8]Jan Stancek [4.18.0-269.el8]Jan Stancek [4.18.0-268.el8]Jan Stancek [4.18.0-267.el8]Jan Stancek [4.18.0-266.el8]Jan Stancek [4.18.0-265.el8]Jan Stancek [4.18.0-264.el8]Jan Stancek [4.18.0-263.el8]Jan Stancek [4.18.0-262.el8]Jan Stancek [4.18.0-261.el8]Jan Stancek [4.18.0-260.el8]Jan Stancek [4.18.0-259.el8]Jan Stancek [4.18.0-258.el8]Jan Stancek [4.18.0-257.el8]Jan Stancek [4.18.0-256.el8]Jan Stancek [4.18.0-255.el8]Jan Stancek [4.18.0-254.el8]Jan Stancek [4.18.0-253.el8]Jan Stancek [4.18.0-252.el8]Jan Stancek [4.18.0-251.el8]Jan Stancek [4.18.0-250.el8]Jan Stancek [4.18.0-249.el8]Jan Stancek [4.18.0-248.el8]Jan Stancek [4.18.0-247.el8]Jan Stancek [4.18.0-246.el8]Jan Stancek [4.18.0-245.el8]Jan Stancek [4.18.0-244.el8]Jan Stancek [4.18.0-243.el8]Jan Stancek [4.18.0-242.el8]Jan Stancek [4.18.0-241.el8]Jan Stancek [4.18.0-240.10.el8]Jan Stancek [4.18.0-240.9.el8]Jan Stancek [4.18.0-240.8.el8]Jan Stancek [4.18.0-240.7.el8]Jan Stancek [4.18.0-240.6.el8]Jan Stancek [4.18.0-240.5.el8]Jan Stancek [4.18.0-240.4.el8]Jan Stancek [4.18.0-240.3.el8]Jan Stancek [4.18.0-240.2.el8]Jan Stancek [4.18.0-240.1.el8]Jan Stancek [4.18.0-239.1.el8]Frantisek Hrbata [4.18.0-239.el8]Frantisek Hrbata [4.18.0-238.el8]Frantisek Hrbata [4.18.0-237.el8]Frantisek Hrbata [4.18.0-236.el8]Frantisek Hrbata [4.18.0-235.el8]Frantisek Hrbata [4.18.0-234.el8]Frantisek Hrbata [4.18.0-233.el8]Frantisek Hrbata [4.18.0-232.el8]Frantisek Hrbata [4.18.0-231.el8]Frantisek Hrbata [4.18.0-230.el8]Frantisek Hrbata [4.18.0-229.el8]Frantisek Hrbata [4.18.0-228.el8]Frantisek Hrbata [4.18.0-227.el8]Frantisek Hrbata [4.18.0-226.el8]Frantisek Hrbata [4.18.0-225.el8]Frantisek Hrbata [4.18.0-224.el8]Frantisek Hrbata [4.18.0-223.el8]Frantisek Hrbata [4.18.0-222.el8]Frantisek Hrbata [4.18.0-221.el8]Frantisek Hrbata [4.18.0-220.el8]Frantisek Hrbata [4.18.0-219.el8]Frantisek Hrbata [4.18.0-218.el8]Frantisek Hrbata [4.18.0-217.el8]Frantisek Hrbata [4.18.0-216.el8]Frantisek Hrbata [4.18.0-215.el8]Frantisek Hrbata [4.18.0-214.el8]Frantisek Hrbata [4.18.0-213.el8]Frantisek Hrbata [4.18.0-212.el8]Frantisek Hrbata [4.18.0-211.el8]Frantisek Hrbata [4.18.0-210.el8]Frantisek Hrbata [4.18.0-209.el8]Frantisek Hrbata [4.18.0-208.el8]Frantisek Hrbata [4.18.0-207.el8]Frantisek Hrbata [4.18.0-206.el8]Frantisek Hrbata [4.18.0-205.el8]Frantisek Hrbata [4.18.0-204.el8]Frantisek Hrbata [4.18.0-203.el8]Frantisek Hrbata [4.18.0-202.el8]Frantisek Hrbata [4.18.0-201.el8]Frantisek Hrbata [4.18.0-200.el8]Frantisek Hrbata [4.18.0-199.el8]Frantisek Hrbata [4.18.0-198.el8]Frantisek Hrbata [4.18.0-197.el8]Frantisek Hrbata [4.18.0-196.el8]Frantisek Hrbata [4.18.0-195.el8]Frantisek Hrbata [4.18.0-194.el8]Frantisek Hrbata [4.18.0-193.15.el8]Frantisek Hrbata [4.18.0-193.14.el8]Frantisek Hrbata [4.18.0-193.13.el8]Frantisek Hrbata [4.18.0-193.12.el8]Frantisek Hrbata [4.18.0-193.11.el8]Frantisek Hrbata [4.18.0-193.10.el8]Frantisek Hrbata [4.18.0-193.9.el8]Frantisek Hrbata [4.18.0-193.8.el8]Frantisek Hrbata [4.18.0-193.7.el8]Frantisek Hrbata [4.18.0-193.6.el8]Frantisek Hrbata [4.18.0-193.5.el8]Frantisek Hrbata [4.18.0-193.4.el8]Frantisek Hrbata [4.18.0-193.3.el8]Frantisek Hrbata [4.18.0-193.2.el8]Frantisek Hrbata [4.18.0-193.1.el8]Frantisek Hrbata [4.18.0-192.2.el8]Frantisek Hrbata [4.18.0-192.1.el8]Frantisek Hrbata [4.18.0-191.2.el8]Frantisek Hrbata [4.18.0-191.1.el8]Frantisek Hrbata [4.18.0-190.3.el8]Frantisek Hrbata [4.18.0-190.2.el8]Frantisek Hrbata [4.18.0-190.1.el8]Frantisek Hrbata [4.18.0-189.1.el8]Frantisek Hrbata [4.18.0-188.3.el8]Frantisek Hrbata [4.18.0-188.2.el8]Frantisek Hrbata [4.18.0-188.1.el8]Frantisek Hrbata [4.18.0-187.2.el8]Frantisek Hrbata [4.18.0-187.1.el8]Frantisek Hrbata [4.18.0-186.2.el8]Frantisek Hrbata [4.18.0-186.1.el8]Bruno Meneguele [4.18.0-185.el8]Herton R. Krzesinski [4.18.0-184.el8]Herton R. Krzesinski [4.18.0-183.el8]Herton R. Krzesinski [4.18.0-182.el8]Herton R. Krzesinski [4.18.0-181.el8]Herton R. Krzesinski [4.18.0-180.el8]Herton R. Krzesinski [4.18.0-179.el8]Herton R. Krzesinski [4.18.0-178.el8]Herton R. Krzesinski [4.18.0-177.el8]Herton R. Krzesinski [4.18.0-176.el8]Bruno Meneguele [4.18.0-175.el8]Bruno Meneguele [4.18.0-174.el8]Bruno Meneguele [4.18.0-173.el8]Bruno Meneguele [4.18.0-172.el8]Bruno Meneguele [4.18.0-171.el8]Bruno Meneguele [4.18.0-170.el8]Bruno Meneguele [4.18.0-169.el8]Bruno Meneguele [4.18.0-168.el8]Bruno Meneguele [4.18.0-167.el8]Bruno Meneguele [4.18.0-166.el8]Bruno Meneguele [4.18.0-165.el8]Bruno Meneguele [4.18.0-164.el8]Bruno Meneguele [4.18.0-163.el8]Bruno Meneguele [4.18.0-162.el8]Bruno Meneguele [4.18.0-161.el8]Bruno Meneguele [4.18.0-160.el8]Bruno Meneguele [4.18.0-159.el8]Bruno Meneguele [4.18.0-158.el8]Bruno Meneguele [4.18.0-157.el8]Bruno Meneguele [4.18.0-156.el8]Bruno Meneguele [4.18.0-155.el8]Bruno Meneguele [4.18.0-154.el8]Bruno Meneguele [4.18.0-153.el8]Bruno Meneguele [4.18.0-152.el8]Phillip Lougher [4.18.0-151.el8]Phillip Lougher [4.18.0-150.el8]Phillip Lougher [4.18.0-149.el8]Phillip Lougher [4.18.0-148.el8]Phillip Lougher [4.18.0-147.13.el8]Phillip Lougher [4.18.0-147.12.el8]Phillip Lougher [4.18.0-147.11.el8]Phillip Lougher [4.18.0-147.10.el8]Phillip Lougher [4.18.0-147.9.el8]Phillip Lougher [4.18.0-147.8.el8]Phillip Lougher [4.18.0-147.7.el8]Phillip Lougher [4.18.0-147.6.el8]Phillip Lougher [4.18.0-147.5.el8]Phillip Lougher [4.18.0-147.4.el8]Phillip Lougher [4.18.0-147.3.el8]Phillip Lougher [4.18.0-147.2.el8]Phillip Lougher [4.18.0-147.1.el8]Phillip Lougher [4.18.0-146.1.el8]Phillip Lougher [4.18.0-145.1.el8]Phillip Lougher [4.18.0-144.1.el8]Herton R. Krzesinski [4.18.0-144.el8]Herton R. Krzesinski [4.18.0-143.el8]Herton R. Krzesinski [4.18.0-142.el8]Herton R. Krzesinski [4.18.0-141.el8]Herton R. Krzesinski [4.18.0-140.el8]Herton R. Krzesinski [4.18.0-139.el8]Herton R. Krzesinski [4.18.0-138.el8]Herton R. Krzesinski [4.18.0-137.el8]Herton R. Krzesinski [4.18.0-136.el8]Herton R. Krzesinski [4.18.0-135.el8]Herton R. Krzesinski [4.18.0-134.el8]Herton R. Krzesinski [4.18.0-133.el8]Herton R. Krzesinski [4.18.0-132.el8]Herton R. Krzesinski [4.18.0-131.el8]Herton R. Krzesinski [4.18.0-130.el8]Herton R. Krzesinski [4.18.0-129.el8]Herton R. Krzesinski [4.18.0-128.el8]Herton R. Krzesinski [4.18.0-127.el8]Herton R. Krzesinski [4.18.0-126.el8]Herton R. Krzesinski [4.18.0-125.el8]Herton R. Krzesinski [4.18.0-124.el8]Herton R. Krzesinski [4.18.0-123.el8]Herton R. Krzesinski [4.18.0-122.el8]Herton R. Krzesinski [4.18.0-121.el8]Herton R. Krzesinski [4.18.0-120.el8]Herton R. Krzesinski [4.18.0-119.el8]Herton R. Krzesinski [4.18.0-118.el8]Herton R. Krzesinski [4.18.0-117.el8]Herton R. Krzesinski [4.18.0-116.el8]Herton R. Krzesinski [4.18.0-115.el8]Herton R. Krzesinski [4.18.0-114.el8]Herton R. Krzesinski [4.18.0-113.el8]Herton R. Krzesinski [4.18.0-112.el8]Herton R. Krzesinski [4.18.0-111.el8]Herton R. Krzesinski [4.18.0-110.el8]Herton R. Krzesinski [4.18.0-109.el8]Herton R. Krzesinski [4.18.0-108.el8]Frantisek Hrbata [4.18.0-107.el8]Frantisek Hrbata [4.18.0-106.el8]Frantisek Hrbata [4.18.0-105.el8]Frantisek Hrbata [4.18.0-104.el8]Herton R. Krzesinski [4.18.0-103.el8]Herton R. Krzesinski [4.18.0-102.el8]Herton R. Krzesinski [4.18.0-101.el8]Herton R. Krzesinski [4.18.0-100.el8]Herton R. Krzesinski [4.18.0-99.el8]Herton R. Krzesinski [4.18.0-98.el8]Herton R. Krzesinski [4.18.0-97.el8]Herton R. Krzesinski [4.18.0-96.el8]Herton R. Krzesinski [4.18.0-95.el8]Herton R. Krzesinski [4.18.0-94.el8]Herton R. Krzesinski [4.18.0-93.el8]Herton R. Krzesinski [4.18.0-92.el8]Herton R. Krzesinski [4.18.0-91.el8]Herton R. Krzesinski [4.18.0-90.el8]Herton R. Krzesinski [4.18.0-89.el8]Herton R. Krzesinski [4.18.0-88.el8]Herton R. Krzesinski [4.18.0-87.el8]Herton R. Krzesinski [4.18.0-86.el8]Herton R. Krzesinski [4.18.0-85.el8]Herton R. Krzesinski [4.18.0-84.el8]Herton R. Krzesinski [4.18.0-83.el8]Herton R. Krzesinski [4.18.0-82.el8]Herton R. Krzesinski [4.18.0-81.el8]Herton R. Krzesinski [4.18.0-80.23.el8]Herton R. Krzesinski [4.18.0-80.22.el8]Herton R. Krzesinski [4.18.0-80.21.el8]Herton R. Krzesinski [4.18.0-80.20.el8]Herton R. Krzesinski [4.18.0-80.19.el8]Herton R. Krzesinski [4.18.0-80.18.el8]Herton R. Krzesinski [4.18.0-80.17.el8]Herton R. Krzesinski [4.18.0-80.16.el8]Herton R. Krzesinski [4.18.0-80.15.el8]Herton R. Krzesinski [4.18.0-80.14.el8]Herton R. Krzesinski [4.18.0-80.13.el8]Herton R. Krzesinski [4.18.0-80.12.el8]Herton R. Krzesinski [4.18.0-80.11.el8]Herton R. Krzesinski [4.18.0-80.10.el8]Herton R. Krzesinski [4.18.0-80.9.el8]Herton R. Krzesinski [4.18.0-80.8.el8]Herton R. Krzesinski [4.18.0-80.7.el8]Herton R. Krzesinski [4.18.0-80.6.el8]Herton R. Krzesinski [4.18.0-80.5.el8]Herton R. Krzesinski [4.18.0-80.4.el8]Herton R. Krzesinski [4.18.0-80.3.el8]Herton R. Krzesinski [4.18.0-80.2.el8]Herton R. Krzesinski [4.18.0-80.1.el8]Herton R. Krzesinski [4.18.0-79.1.el8]Herton R. Krzesinski [4.18.0-78.1.el8]Herton R. Krzesinski [4.18.0-77.1.el8]Herton R. Krzesinski [4.18.0-76.1.el8]Herton R. Krzesinski [4.18.0-75.1.el8]Herton R. Krzesinski [4.18.0-74.1.el8]Herton R. Krzesinski [4.18.0-73.1.el8]Herton R. Krzesinski [4.18.0-72.1.el8]Herton R. Krzesinski [4.18.0-71.1.el8]Herton R. Krzesinski [4.18.0-70.el8]Herton R. Krzesinski [4.18.0-69.el8]Herton R. Krzesinski [4.18.0-68.el8]Herton R. Krzesinski [4.18.0-67.el8]Herton R. Krzesinski [4.18.0-66.el8]Herton R. Krzesinski [4.18.0-65.el8]Herton R. Krzesinski [4.18.0-64.el8]Herton R. Krzesinski [4.18.0-63.el8]Herton R. Krzesinski [4.18.0-62.el8]Herton R. Krzesinski [4.18.0-61.el8]Herton R. Krzesinski [4.18.0-60.el8]Herton R. Krzesinski [4.18.0-59.el8]Herton R. Krzesinski [4.18.0-58.el8]Herton R. Krzesinski [4.18.0-57.el8]Herton R. Krzesinski [4.18.0-56.el8]Herton R. Krzesinski [4.18.0-55.el8]Herton R. Krzesinski [4.18.0-54.el8]Herton R. Krzesinski [4.18.0-53.el8]Herton R. Krzesinski [4.18.0-52.el8]Herton R. Krzesinski [4.18.0-51.el8]Herton R. Krzesinski [4.18.0-50.el8]Herton R. Krzesinski [4.18.0-49.el8]Herton R. Krzesinski [4.18.0-48.el8]Herton R. Krzesinski [4.18.0-47.el8]Herton R. Krzesinski [4.18.0-46.el8]Herton R. Krzesinski [4.18.0-45.el8]Herton R. Krzesinski [4.18.0-44.el8]Herton R. Krzesinski [4.18.0-43.el8]Herton R. Krzesinski [4.18.0-42.el8]Herton R. Krzesinski [4.18.0-41.el8]Herton R. Krzesinski [4.18.0-40.el8]Herton R. Krzesinski [4.18.0-39.el8]Herton R. Krzesinski [4.18.0-38.el8]Herton R. Krzesinski [4.18.0-37.el8]Herton R. Krzesinski [4.18.0-36.el8]Herton R. Krzesinski [4.18.0-35.el8]Herton R. Krzesinski [4.18.0-34.el8]Herton R. Krzesinski [4.18.0-33.el8]Herton R. Krzesinski [4.18.0-32.el8]Herton R. Krzesinski [4.18.0-31.el8]Herton R. Krzesinski [4.18.0-30.el8]Herton R. Krzesinski [4.18.0-29.el8]Herton R. Krzesinski [4.18.0-28.el8]Herton R. Krzesinski [4.18.0-27.el8]Herton R. Krzesinski [4.18.0-26.el8]Herton R. Krzesinski [4.18.0-25.el8]Herton R. Krzesinski [4.18.0-24.el8]Herton R. Krzesinski [4.18.0-23.el8]Herton R. Krzesinski [4.18.0-22.el8]Herton R. Krzesinski [4.18.0-21.el8]Herton R. Krzesinski [4.18.0-20.el8]Herton R. Krzesinski [4.18.0-19.el8]Herton R. Krzesinski [4.18.0-18.el8]Herton R. Krzesinski [4.18.0-17.el8]Herton R. Krzesinski [4.18.0-16.el8]Herton R. Krzesinski [4.18.0-15.el8]Herton R. Krzesinski [4.18.0-14.el8]Herton R. Krzesinski [4.18.0-13.el8]Herton R. Krzesinski [4.18.0-12.el8]Herton R. Krzesinski [4.18.0-11.el8]Herton R. Krzesinski [4.18.0-10.el8]Herton R. Krzesinski [4.18.0-9.el8]Herton R. Krzesinski [4.18.0-8.el8]Herton R. Krzesinski [4.18.0-7.el8]Herton R. Krzesinski [4.18.0-6.el8]Herton R. Krzesinski [4.18.0-5.el8]Herton R. Krzesinski [4.18.0-4.el8]Herton R. Krzesinski [4.18.0-3.el8]Herton R. Krzesinski [4.18.0-2.el8]Herton R. Krzesinski [4.18.0-1.el8]- timers: Provide timer_shutdown[_sync]() (Ivan Vecera) [2174474] - timers: Add shutdown mechanism to the internal functions (Ivan Vecera) [2174474] - timers: Split [try_to_]del_timer[_sync]() to prepare for shutdown mode (Ivan Vecera) [2174474] - timers: Silently ignore timers with a NULL function (Ivan Vecera) [2174474] - timers: Rename del_timer() to timer_delete() (Ivan Vecera) [2174474] - timers: Rename del_timer_sync() to timer_delete_sync() (Ivan Vecera) [2174474] - timers: Use del_timer_sync() even on UP (Ivan Vecera) [2174474] - timers: Update kernel-doc for various functions (Ivan Vecera) [2174474] - timers: Replace BUG_ON()s (Ivan Vecera) [2174474] - timers: Get rid of del_singleshot_timer_sync() (Ivan Vecera) [2174474] - clocksource/drivers/sp804: Do not use timer namespace for timer_shutdown() function (Ivan Vecera) [2174474] - clocksource/drivers/arm_arch_timer: Do not use timer namespace for timer_shutdown() function (Ivan Vecera) [2174474] - misc/sgi-xp: Replace in_interrupt() usage (Ivan Vecera) [2174474] - timers: Don't block on ->expiry_lock for TIMER_IRQSAFE timers (Ivan Vecera) [2174474] - hvcs: Synchronize hotplug remove with port free (Mamatha Inamdar) [2167962] - hvcs: Use vhangup in hotplug remove (Mamatha Inamdar) [2167962] - hvcs: Get reference to tty in remove (Mamatha Inamdar) [2167962] - hvcs: Use driver groups to manage driver attributes (Mamatha Inamdar) [2167962] - hvcs: Use dev_groups to manage hvcs device attributes (Mamatha Inamdar) [2167962] - hvcs: Fix hvcs port reference counting (Mamatha Inamdar) [2167962] - tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup() (Mamatha Inamdar) [2167962] - docs/memory-barriers.txt/kokr: introduce io_stop_wc() and add implementation for ARM64 (Ivan Vecera) [2179061] - docs/memory-barriers.txt: Add a missed closing parenthesis (Ivan Vecera) [2179061] - asm-generic: Add missing brackets for io_stop_wc macro (Ivan Vecera) [2179061] - asm-generic: introduce io_stop_wc() and add implementation for ARM64 (Ivan Vecera) [2179061] - ipv4: Fix incorrect table ID in IOCTL path (Guillaume Nault) [2176792] - ipv4: Fix incorrect route flushing when table ID 0 is used (Guillaume Nault) [2176792] - ipv4: Fix incorrect route flushing when source address is deleted (Guillaume Nault) [2176792] - selftests: Add source route tests to fib_tests (Guillaume Nault) [2176792] - mm/rmap: split page_dup_rmap() into page_dup_file_rmap() and page_try_dup_anon_rmap() (David Hildenbrand) [2179164] - mm/memory: slightly simplify copy_present_pte() (David Hildenbrand) [2179164] - mm/hugetlb: take src_mm->write_protect_seq in copy_hugetlb_page_range() (David Hildenbrand) [2179164] - mm: /proc/sys/vm/stat_refresh stop checking monotonic numa stats (Waiman Long) [2178001] - mm: /proc/sys/vm/stat_refresh skip checking known negative stats (Waiman Long) [2178001] - mm: no more EINVAL from /proc/sys/vm/stat_refresh (Waiman Long) [2178001] - mm: restore node stat checking in /proc/sys/vm/stat_refresh (Waiman Long) [2178001] - sfc: ef10: don't overwrite offload features at NIC reset (Íñigo Huguet) [2154500] - sfc: correctly advertise tunneled IPv6 segmentation (Íñigo Huguet) [2154500] - igb: conditionalize I2C bit banging on external thermal sensor support (Corinna Vinschen) [2130727] - platform/x86: ISST: PUNIT device mapping with Sub-NUMA clustering (Prarit Bhargava) [2139963] - x86/nmi: Make register_nmi_handler() more robust (Ani Sinha) [2037005] - net: tls: fix possible race condition between do_tls_getsockopt_conf() and do_tls_setsockopt_conf() (Sabrina Dubroca) [2179819] {CVE-2023-28466} - cpufreq: intel_pstate: hybrid: Use known scaling factor for P-cores (Prarit Bhargava) [2179183] - target: iscsi: use GFP_NOIO with loopback connections (Maurizio Lombardi) [2156546] - core_pattern: add CPU specifier (Oleksandr Natalenko) [1968108] - Bluetooth: L2CAP: Fix accepting connection request for invalid SPSM (David Marlin) [2148404] {CVE-2022-42896} - ipv6: prevent router_solicitations for team port (Xin Long) [2141600] - ipv6: Don't send rs packets to the interface of ARPHRD_TUNNEL (Xin Long) [2141600] - Bluetooth: L2CAP: Fix attempting to access uninitialized memory (David Marlin) [2148408] {CVE-2022-42895} - redhat/scripts/create-tarball.sh: Use nproc instead of rpm macros (Prarit Bhargava) - Revert "Switch to z-stream for 8.8 for CKI pipelines" (Denys Vlasenko)- ethernet: Remove vf rate limit check for drivers (Izabela Bakollari) [2172124] - rtnetlink: verify rate parameters for calls to ndo_set_vf_rate (Izabela Bakollari) [2172124] - sfc: Change VF mac via PF as first preference if available. (Íñigo Huguet) [2117449] - Fix genlog.py to ensure that comments retain "%" characters. (Eder Zulian) [RHEL-340] - redhat: fix duplicate jira issues in the resolves line (Eder Zulian) [RHEL-340] - redhat: add support for Jira issues in changelog (Eder Zulian) [RHEL-340] - redhat/configs: Put CONFIG_SFC_* to a proper location (Vladis Dronov) - redhat/configs: Put CONFIG_SEV_GUEST to a proper location (Vladis Dronov) - Reinstate "GFS2: free disk inode which is deleted by remote node -V2" (Bob Peterson) [2181343] - iavf: fix hang on reboot with ice (Stefan Assmann) [2181811] - iavf: Fix race condition between iavf_shutdown and iavf_remove (Stefan Assmann) [2181811] - net/ulp: use consistent error code when blocking ULP (Sabrina Dubroca) [2176955] {CVE-2023-0461} - net/ulp: prevent ULP without clone op from entering the LISTEN status (Sabrina Dubroca) [2176955] {CVE-2023-0461} - lockd: lockd server-side shouldn't set fl_ops (Jeffrey Layton) [2179329] - NFS: Correct timing for assigning access cache timestamp (Benjamin Coddington) [2180851] - Switch to z-stream for 8.8 for CKI pipelines (Michael Hofmann) - KVM: VMX: Execute IBPB on emulated VM-exit when guest has IBRS (Jon Maloy) [2160033] {CVE-2022-2196}- tracing/hwlat: Replace sched_setaffinity with set_cpus_allowed_ptr (Jerome Marchand) [2174935] - drivers: hv, hyperv_fb: Untangle and refactor Hyper-V panic notifiers (Mohammed Gamal) [2172513] - video: hyperv_fb: Avoid taking busy spinlock on panic path (Mohammed Gamal) [2172513] - HID: hyperv: remove unused struct synthhid_msg (Mohammed Gamal) [2172513] - HID: hyperv: Replace one-element array with flexible-array member (Mohammed Gamal) [2172513] - clocksource: hyper-v: Add TSC page support for root partition (Mohammed Gamal) [2172443] - clocksource: hyper-v: Use TSC PFN getter to map vvar page (Mohammed Gamal) [2172443] - clocksource: hyper-v: Introduce TSC PFN getter (Mohammed Gamal) [2172443] - clocksource: hyper-v: Introduce a pointer to TSC page (Mohammed Gamal) [2172443] - HV: hv_balloon: fix memory leak with using debugfs_lookup() (Mohammed Gamal) [2172435] - debugfs: add debugfs_lookup_and_remove() (Mohammed Gamal) [2172435] - Drivers: hv: Enable vmbus driver for nested root partition (Mohammed Gamal) [2172435] - video: hyperv_fb: Avoid taking busy spinlock on panic path (Mohammed Gamal) [2172435]- sched/deadline: Add more reschedule cases to prio_changed_dl() (Valentin Schneider) [2120570] - perf/x86/uncore: Add new Raptor Lake S support (Michael Petlan) [2120365] - perf/x86/cstate: Add new Raptor Lake S support (Michael Petlan) [2120365] - perf/x86/msr: Add new Raptor Lake S support (Michael Petlan) [2120365] - perf/x86: Add new Raptor Lake S support (Michael Petlan) [2120365] - net: sched: atm: dont intepret cls results when asked to drop (Davide Caratti) [2168336] {CVE-2023-23455} - nvdimm: Allow overwrite in the presence of disabled dimms (Aristeu Rozanski) [2154070] - Revert "GFS2: free disk inode which is deleted by remote node -V2" (Bob Peterson) [2109600] - gfs2: Evict inodes cooperatively (Andreas Gruenbacher) [2109600] - gfs2: Flush delete work before shrinking inode cache (Andreas Gruenbacher) [2109600] - gfs2: Add SDF_DEACTIVATING super block flag (Bob Peterson) [2109600] - gfs2: check gl_object in rgrp glops (Bob Peterson) [2109600] - gfs2: Split the two kinds of glock "delete" work (Andreas Gruenbacher) [2109600] - gfs2: Move delete workqueue into super block (Andreas Gruenbacher) [2109600] - gfs2: Use container_of() for gfs2_glock(aspace) (Andreas Gruenbacher) [2109600] - gfs2: Get rid of GLF_PENDING_DELETE flag (Andreas Gruenbacher) [2109600] - gfs2: Make glock lru list scanning safer (Andreas Gruenbacher) [2109600] - gfs2: Fix use-after-free in gfs2_glock_shrink_scan (Andreas Gruenbacher) [2109600] - gfs2: Clean up gfs2_scan_glock_lru (Andreas Gruenbacher) [2109600] - gfs2: gl_object races fix (Andreas Gruenbacher) [2109600] - iomap/gfs2: Unlock and put folio in page_done handler (Andreas Gruenbacher) [2109600] - iomap: Add __iomap_put_folio helper (Andreas Gruenbacher) [2109600] - gfs2: Remove support for glock holder auto-demotion (2) (Andreas Gruenbacher) [2109600] - gfs2: Remove support for glock holder auto-demotion (Andreas Gruenbacher) [2109600] - gfs2: Minor gfs2_try_evict cleanup (Andreas Gruenbacher) [2109600] - gfs2: Partially revert gfs2_inode_lookup change (Andreas Gruenbacher) [2109600] - gfs2: Add gfs2_inode_lookup comment (Andreas Gruenbacher) [2109600] - gfs2: Uninline and improve glock_{set,clear}_object (Andreas Gruenbacher) [2109600] - gfs2: Simply dequeue iopen glock in gfs2_evict_inode (Andreas Gruenbacher) [2109600] - gfs2: Clean up after gfs2_create_inode rework (Andreas Gruenbacher) [2109600] - gfs2: Avoid dequeuing GL_ASYNC glock holders twice (Andreas Gruenbacher) [2109600] - gfs2: Handle -EBUSY result of insert_inode_locked4 (Andreas Gruenbacher) [2109600] - gfs2: Fix and clean up create / evict interaction (Andreas Gruenbacher) [2109600] - gfs2: Clean up initialization of "ip" in gfs2_create_inode (Andreas Gruenbacher) [2109600] - gfs2: Get rid of ghs[] in gfs2_create_inode (Andreas Gruenbacher) [2109600] - gfs2: Dequeue waiters when withdrawn (Bob Peterson) [2109600] - gfs2: Prevent double iput for journal on error (Bob Peterson) [2109600] - Revert "gfs2: stop using generic_writepages in gfs2_ail1_start_one" (Andreas Gruenbacher) [2109600] - gfs2: remove ->writepage (Andreas Gruenbacher) [2109600] - gfs2: stop using generic_writepages in gfs2_ail1_start_one (Andreas Gruenbacher) [2109600] - gfs2: List traversal in do_promote is safe (Andreas Gruenbacher) [2109600] - gfs2: do_promote glock holder stealing fix (Bob Peterson) [2109600] - gfs2: Use better variable name (Andreas Gruenbacher) [2109600] - gfs2: Make go_instantiate take a glock (Andreas Gruenbacher) [2109600] - gfs2: Add new go_held glock operation (Andreas Gruenbacher) [2109600] - gfs2: Revert 'Fix "truncate in progress" hang' (Andreas Gruenbacher) [2109600] - gfs2: Instantiate glocks ouside of glock state engine (Andreas Gruenbacher) [2109600] - gfs2: Fix up gfs2_glock_async_wait (Andreas Gruenbacher) [2109600] - gfs2: Add GL_NOPID flag for process-independent glock holders (Andreas Gruenbacher) [2109600] - gfs2: dump inode object for iopen glocks (Bob Peterson) [2109600] - gfs2: convert to use DEFINE_SEQ_ATTRIBUTE macro (Andreas Gruenbacher) [2109600] - gfs2: Use TRY lock in gfs2_inode_lookup for UNLINKED inodes (Bob Peterson) [2109600] - Updated dist tag to el8_8 (Lucas Zampieri) - Revert "net/mlx5: Don't perform lookup after already known sec_path" (Amir Tzin) [2176349] - KVM: x86: do not report a vCPU as preempted outside instruction boundaries (Jon Maloy) [2124800] {CVE-2022-39189} - Drivers: vmbus: Check for channel allocation before looking up relids (Mohammed Gamal) [2178622] - drm/nouveau/fb/tu102-: fix register used to determine scrub status (Karol Herbst) [2168648] - drm/nouveau/devinit/tu102-: wait for GFW_BOOT_PROGRESS == COMPLETED (Karol Herbst) [2168648] - fs/proc: task_mmu.c: don't read mapcount for migration entry (Jay Shin) [2174623] - perf/core: Fix cgroup event list management (Michael Petlan) [2162525]- redhat: include all certs (Red Hat and CentOS) in the srpm (Denys Vlasenko) [2179095] - redhat: do not require grub2 on s390x (Denys Vlasenko) [2179095] - thermal: int340x: Add Meteor Lake PCI device ID (Prarit Bhargava) [2156822] - i2c: i801: Add support for Intel Meteor Lake-P (Prarit Bhargava) [2156841]- redhat: fix the signing failure on ppc64el on centos (Denys Vlasenko) [2179095]- redhat: add centos signing certs (Denys Vlasenko) - redhat: fix "make rh-brew" not choosing _scratch_ build (Denys Vlasenko) - mfd: intel-lpss: Add Intel Meteor Lake-P PCI IDs (Prarit Bhargava) [2156843] - x86/cpu: Add CPU model numbers for Meteor Lake (Prarit Bhargava) [2153936] - redhat: require grub2 >= 2.02-99 (Denys Vlasenko) [2179095] - redhat: delete unused script and file (Denys Vlasenko) [2179095] - redhat: drop certificates that were deprecated after GRUB's BootHole flaw (Denys Vlasenko) [2179095] - redhat: align file names with names of signing keys for ppc and s390 (Denys Vlasenko) [2179095]- net/tunnel: wait until all sk_user_data reader finish before releasing the sock (Hangbin Liu) [2176344] - powerpc/pseries: unregister VPA when hot unplugging a CPU (Mamatha Inamdar) [2143007] - net: mana: Fix IRQ name - add PCI and queue number (Mohammed Gamal) [2172474] - net: mana: Fix return type of mana_start_xmit() (Mohammed Gamal) [2172474] - net: mana: Define data structures for protection domain and memory registration (Mohammed Gamal) [2172474] - net: mana: Define and process GDMA response code GDMA_STATUS_MORE_ENTRIES (Mohammed Gamal) [2172474] - net: mana: Define max values for SGL entries (Mohammed Gamal) [2172474] - net: mana: Move header files to a common location (Mohammed Gamal) [2172474] - net: mana: Record port number in netdev (Mohammed Gamal) [2172474] - net: mana: Export Work Queue functions for use by RDMA driver (Mohammed Gamal) [2172474] - net: mana: Set the DMA device max segment size (Mohammed Gamal) [2172474] - net: mana: Handle vport sharing between devices (Mohammed Gamal) [2172474] - net: mana: Record the physical address for doorbell page region (Mohammed Gamal) [2172474] - net: mana: Add support for auxiliary device (Mohammed Gamal) [2172474] - hv_netvsc: Check status in SEND_RNDIS_PKT completion message (Mohammed Gamal) [2172438] - hv_netvsc: Allocate memory in netvsc_dma_map() with GFP_ATOMIC (Mohammed Gamal) [2172438] - hv_netvsc: Fix missed pagebuf entries in netvsc_dma_map/unmap() (Mohammed Gamal) [2172438] - Drivers: hv: Make remove callback of hyperv driver void returned (Mohammed Gamal) [2172438] - hv: fix comment typo in vmbus_channel/low_latency (Mohammed Gamal) [2172434] - x86/hyperv: Introduce HV_MAX_SPARSE_VCPU_BANKS/HV_VCPUS_PER_SPARSE_BANK constants (Mohammed Gamal) [2172434] - x86/hyperv: Fix hv_get/set_register for nested bringup (Mohammed Gamal) [2172434] - x86/hyperv: Add an interface to do nested hypercalls (Mohammed Gamal) [2172434] - Drivers: hv: Setup synic registers in case of nested root partition (Mohammed Gamal) [2172434] - x86/hyperv: Add support for detecting nested hypervisor (Mohammed Gamal) [2172434] - x86/hyperv: Add HV_EXPOSE_INVARIANT_TSC define (Mohammed Gamal) [2172434] - x86/hyperv: Expand definition of struct hv_vp_assist_page (Mohammed Gamal) [2172434] - KVM: x86: hyper-v: Expose support for extended gva ranges for flush hypercalls (Mohammed Gamal) [2172434] - x86/hyperv: Move VMCB enlightenment definitions to hyperv-tlfs.h (Mohammed Gamal) [2172434] - iommu/hyper-v: Allow hyperv irq remapping without x2apic (Mohammed Gamal) [2172434] - smp: Fix offline cpu check in flush_smp_call_function_queue() (Waiman Long) [2169471] - sched/fair: Trigger the update of blocked load on newly idle cpu (Waiman Long) [2169471] - redhat: rh-dist-git should depend on rh-srpm (Denys Vlasenko) - redhat: change kabi tarballs to use the package release (Denys Vlasenko) - redhat/Makefile: add variables used in rhel9 makefiles (Denys Vlasenko) - redhat/Makefile: Remove RHPRODUCT variable (Denys Vlasenko) - redhat/scripts/rh-dist-git.sh: expand sources from srpm (Denys Vlasenko) - redhat: remove GL_DISTGIT_USER, RHDISTGIT and unify dist-git cloning (Denys Vlasenko) - redhat/scripts/rh-dist-git.sh: Use Makefile variables (Denys Vlasenko) - redhat: fix typo and make the output more silent for dist-git sync (Denys Vlasenko) - redhat: add initial support for centos stream dist-git sync on Makefiles (Denys Vlasenko) - internal: update RHEL_MINOR for the start of RHEL-8.9 development (Denys Vlasenko) - watchdog: diag288_wdt: fix __diag288() inline assembly (Tobias Huschle) [2171361] - watchdog: diag288_wdt: do not use stack buffers for hardware data (Tobias Huschle) [2171361] - bonding: add documentation for peer_notif_delay (Ryosuke Yasuoka) [2171348] - net: mana: Fix IRQ name - add PCI and queue number (Mohammed Gamal) [2166787] - crypto: des - disallow des3 in FIPS mode (Vladis Dronov) [2175234] - self-tests: more rps self tests (Paolo Abeni) [2168878] - net: make default_rps_mask a per netns attribute (Paolo Abeni) [2168878] - self-tests: introduce self-tests for RPS default mask (Paolo Abeni) [2168878] - net: introduce default_rps_mask netns attribute (Paolo Abeni) [2168878] - net-sysctl: factor-out rpm mask manipulation helpers (Paolo Abeni) [2168878] - net-sysctl: factor out cpumask parsing helper (Paolo Abeni) [2168878] - txhash: Make rethinking txhash behavior configurable via sysctl (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in rx_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in netdev_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: fix netdev_queue_add_kobject() breakage (Paolo Abeni) [2168878] - net-sysfs: Fix reference count leak in rx|netdev_queue_add_kobject (Paolo Abeni) [2168878] - ice/ptp: fix the PTP worker retrying indefinitely if the link went down (Petr Oros) [2166392] - ice: reschedule ice_ptp_wait_for_offset_valid during reset (Petr Oros) [2166392] - ice: make Tx and Rx vernier offset calibration independent (Petr Oros) [2166392] - ice: only check set bits in ice_ptp_flush_tx_tracker (Petr Oros) [2166392] - ice: handle flushing stale Tx timestamps in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: cleanup allocations in ice_ptp_alloc_tx_tracker (Petr Oros) [2166392] - ice: protect init and calibrating check in ice_ptp_request_ts (Petr Oros) [2166392] - ice: check Tx timestamp memory register for ready timestamps (Petr Oros) [2166392] - ice: handle discarding old Tx requests in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: always call ice_ptp_link_change and make it void (Petr Oros) [2166392] - ice: fix misuse of "link err" with "link status" (Petr Oros) [2166392] - ice: Reset TS memory for all quads (Petr Oros) [2166392] - ice: Remove the E822 vernier "bypass" logic (Petr Oros) [2166392] - ice: Use more generic names for ice_ptp_tx fields (Petr Oros) [2166392] - ice: Merge pin initialization of E810 and E810T adapters (Petr Oros) [2166392] - ice: Check if reset in progress while waiting for offsets (Petr Oros) [2166392] - NFS: Judge the file access cache's timestamp in rcu path (Benjamin Coddington) [2161321] - redhat: switch to z-stream for 8.8 (Lucas Zampieri)- net: mana: Fix IRQ name - add PCI and queue number (Mohammed Gamal) [2166787] - crypto: des - disallow des3 in FIPS mode (Vladis Dronov) [2175234] - self-tests: more rps self tests (Paolo Abeni) [2168878] - net: make default_rps_mask a per netns attribute (Paolo Abeni) [2168878] - self-tests: introduce self-tests for RPS default mask (Paolo Abeni) [2168878] - net: introduce default_rps_mask netns attribute (Paolo Abeni) [2168878] - net-sysctl: factor-out rpm mask manipulation helpers (Paolo Abeni) [2168878] - net-sysctl: factor out cpumask parsing helper (Paolo Abeni) [2168878] - txhash: Make rethinking txhash behavior configurable via sysctl (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in rx_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in netdev_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: fix netdev_queue_add_kobject() breakage (Paolo Abeni) [2168878] - net-sysfs: Fix reference count leak in rx|netdev_queue_add_kobject (Paolo Abeni) [2168878]- ice/ptp: fix the PTP worker retrying indefinitely if the link went down (Petr Oros) [2166392] - ice: reschedule ice_ptp_wait_for_offset_valid during reset (Petr Oros) [2166392] - ice: make Tx and Rx vernier offset calibration independent (Petr Oros) [2166392] - ice: only check set bits in ice_ptp_flush_tx_tracker (Petr Oros) [2166392] - ice: handle flushing stale Tx timestamps in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: cleanup allocations in ice_ptp_alloc_tx_tracker (Petr Oros) [2166392] - ice: protect init and calibrating check in ice_ptp_request_ts (Petr Oros) [2166392] - ice: check Tx timestamp memory register for ready timestamps (Petr Oros) [2166392] - ice: handle discarding old Tx requests in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: always call ice_ptp_link_change and make it void (Petr Oros) [2166392] - ice: fix misuse of "link err" with "link status" (Petr Oros) [2166392] - ice: Reset TS memory for all quads (Petr Oros) [2166392] - ice: Remove the E822 vernier "bypass" logic (Petr Oros) [2166392] - ice: Use more generic names for ice_ptp_tx fields (Petr Oros) [2166392] - ice: Merge pin initialization of E810 and E810T adapters (Petr Oros) [2166392] - ice: Check if reset in progress while waiting for offsets (Petr Oros) [2166392] - NFS: Judge the file access cache's timestamp in rcu path (Benjamin Coddington) [2161321] - redhat: switch to z-stream for 8.8 (Lucas Zampieri)- cpufreq: intel_pstate: Add Sapphire Rapids support in no-HWP mode (Prarit Bhargava) [2170564]- igb: Initialize mailbox message for VF reset (Corinna Vinschen) [2103948] - igb: Allocate MSI-X vector when testing (Corinna Vinschen) [2103948] - igb: Proactively round up to kmalloc bucket size (Corinna Vinschen) [2103948] - igb: Do not free q_vector unless new one was allocated (Corinna Vinschen) [2103948] - ptp: introduce helpers to adjust by scaled parts per million (Corinna Vinschen) [2103948] - net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). (Corinna Vinschen) [2103948] - net: ethernet: move from strlcpy with unused retval to strscpy (Corinna Vinschen) [2103948] - igb: convert .adjfreq to .adjfine (Corinna Vinschen) [2103948] - ASoC: Intel: soc-acpi: add configuration for variant of 0C11 product (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: add configuration for variant of 0C40 product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: use common helpers for all Realtek amps (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: Add support for SKU 0C11 product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: Add support for SKU 0C4F product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: Add support for SKU 0C40 product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: Add support for SKU 0C10 product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw_rt1316: add BQ params for the Dell models (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw_rt1308: add BQ params for the Dell models (Jaroslav Kysela) [2100582] - ASoC: intel: sof_sdw: add rt1318 codec support. (Jaroslav Kysela) [2100582] - ASoC: rt1318: Add RT1318 SDCA vendor-specific driver (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: update codec addr on 0C11/0C4F product (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: add SKU 0C11 SoundWire configuration (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: add SKU 0C40 SoundWire configuration (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: add SKU 0C10 SoundWire configuration (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi-intel-rpl-match: add rpl_sdca_3_in_1 support (Jaroslav Kysela) [2100582]- net: ena: Update NUMA TPH hint register upon NUMA node update (Petr Oros) [2167316] - net: ena: Set default value for RX interrupt moderation (Petr Oros) [2167316] - net: ena: Fix rx_copybreak value update (Petr Oros) [2167316] - net: ena: Use bitmask to indicate packet redirection (Petr Oros) [2167316] - net: ena: Account for the number of processed bytes in XDP (Petr Oros) [2167316] - net: ena: Don't register memory info on XDP exchange (Petr Oros) [2167316] - net: ena: Fix toeplitz initial hash value (Petr Oros) [2167316] - net: ena: Fix error handling in ena_init() (Petr Oros) [2167316] - net: sched: disallow noqueue for qdisc classes (Xin Long) [2168282] {CVE-2022-47929} - net: sched: cbq: dont intepret cls results when asked to drop (Xin Long) [2168327] {CVE-2023-23454} - sctp: do not check hb_timer.expires when resetting hb_timer (Xin Long) [2133092] - arm64: Add AMPERE1 to the Spectre-BHB affected list (Mark Salter) [2140727] - net: mana: Fix accessing freed irq affinity_hint (Emanuele Giuseppe Esposito) [2168969] - net: mana: Assign interrupts to CPUs based on NUMA nodes (Emanuele Giuseppe Esposito) [2168969] - Revert "RDMA/irdma: Report the correct link speed" (Kamal Heib) [2143088] - Documentation/sysctl: document page_lock_unfairness (Nico Pache) [2165737] {CVE-2022-3623} - mm: allow a controlled amount of unfairness in the page lock (Nico Pache) [2165737] {CVE-2022-3623} - mm/hugetlb: fix races when looking up a CONT-PTE/PMD size hugetlb page (Nico Pache) [2165737] {CVE-2022-3623} - mm/migration: fix potential pte_unmap on an not mapped pte (Nico Pache) [2165737] {CVE-2022-3623} - mm/migrate.c: rework migration_entry_wait() to not take a pageref (Nico Pache) [2165737] {CVE-2022-3623} - mm: make wait_on_page_writeback() wait for multiple pending writebacks (Nico Pache) [2165737] {CVE-2022-3623} - mm: rewrite wait_on_page_bit_common() logic (Nico Pache) [2165737] {CVE-2022-3623} - mm/gup.c: use is_vm_hugetlb_page() to check whether to follow huge (Nico Pache) [2165737] {CVE-2022-3623}- perf/x86/amd: Fix crash due to race between amd_pmu_enable_all, perf NMI and throttling (Michael Petlan) [2085282] - x86/perf: Fix snapshot_branch_stack warning in VM (Michael Petlan) [2085282] - perf/x86/amd/core: Fix reloading events for SVM (Michael Petlan) [2085282 2086722] - perf/x86/amd: Run AMD BRS code only on supported hw (Michael Petlan) [2085282] - perf/x86/amd: Fix AMD BRS period adjustment (Michael Petlan) [2085282] - perf/x86/amd: Remove unused variable 'hwc' (Michael Petlan) [2085282] - perf/ibs: Fix comment (Michael Petlan) [2085282] - perf report: Add tools/arch/x86/include/asm/amd-ibs.h (Michael Petlan) [2085282] - perf/amd/ibs: Advertise zen4_ibs_extensions as pmu capability attribute (Michael Petlan) [2085282] - perf/amd/ibs: Add support for L3 miss filtering (Michael Petlan) [2085282] - perf/amd/ibs: Use ->is_visible callback for dynamic attributes (Michael Petlan) [2085282] - perf/amd/ibs: Cascade pmu init functions' return value (Michael Petlan) [2085282] - perf/amd/ibs: Use interrupt regs ip for stack unwinding (Michael Petlan) [2085282] - perf/x86/amd/core: Add PerfMonV2 overflow handling (Michael Petlan) [2085282 2086722] - perf/x86/amd/core: Add PerfMonV2 counter control (Michael Petlan) [2085282 2086722] - perf/x86/amd/core: Detect available counters (Michael Petlan) [2085282 2086722] - perf/x86/amd/core: Detect PerfMonV2 support (Michael Petlan) [2085282 2086722] - x86/msr: Add PerfCntrGlobal* registers (Michael Petlan) [2085282 2086722] - x86/cpufeatures: Add PerfMonV2 feature bit (Michael Petlan) [2085282 2086722] - perf/x86: Unify format of events sysfs show (Michael Petlan) [2085282] - perf/x86/amd: Add idle hooks for branch sampling (Michael Petlan) [2085282] - perf: Enable branch record for software events (Michael Petlan) [2085282] - redhat/configs: Enable AMD Zen3 branch sampling by default (Michael Petlan) [2085282] - perf/x86/amd: Make Zen3 branch sampling opt-in (Michael Petlan) [2085282] - perf/x86/amd: Add AMD branch sampling period adjustment (Michael Petlan) [2085282] - perf/x86/amd: Enable branch sampling priv level filtering (Michael Petlan) [2085282] - perf/x86/amd: Add branch-brs helper event for Fam19h BRS (Michael Petlan) [2085282] - perf/x86/amd: Add AMD Fam19h Branch Sampling support (Michael Petlan) [2085282] - perf/x86/amd/ibs: Add bitfield definitions in new header (Michael Petlan) [2085282] - perf/amd/uncore: Allow the driver to be built as a module (Michael Petlan) [2085282] - perf/amd/uncore: Clean up header use, use module_list from nf_tables_exit_net() (Florian Westphal) [2134371] - netfilter: nf_tables: fix nft_counters_enabled underflow at nf_tables_addchain() (Florian Westphal) [2134371] - netfilter: nf_tables: do not leave chain stats enabled on error (Florian Westphal) [2134371] - ipvs: use explicitly signed chars (Florian Westphal) [2134371] - netfilter: nf_tables: release flow rule object from commit path (Florian Westphal) [2134371] - netfilter: nf_tables: fix percpu memory leak at nf_tables_addchain() (Florian Westphal) [2134371] - netfilter: nf_tables: clean up hook list when offload flags check fails (Florian Westphal) [2134371] - netfilter: br_netfilter: Drop dst references before setting. (Florian Westphal) [2134371] - netfilter: nft_tproxy: restrict to prerouting hook (Florian Westphal) [2134371] - netfilter: ebtables: fix memory leak when blob is malformed (Florian Westphal) [2134371] - netfilter: ebtables: reject blobs that don't provide all entry points (Florian Westphal) [2134371] - netfilter: nf_tables: check NFT_SET_CONCAT flag if field_count is specified (Florian Westphal) [2134371] - netfilter: nf_tables: relax NFTA_SET_ELEM_KEY_END set flags requirements (Florian Westphal) [2134371] - netfilter: nf_tables: NFTA_SET_ELEM_KEY_END requires concat and interval flags (Florian Westphal) [2134371] - netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag (Florian Westphal) [2134371] - netfilter: nf_tables: possible module reference underflow in error path (Florian Westphal) [2134371] - netfilter: nf_tables: disallow NFTA_SET_ELEM_KEY_END with NFT_SET_ELEM_INTERVAL_END flag (Florian Westphal) [2134371] - netfilter: nf_tables: use READ_ONCE and WRITE_ONCE for shared generation id access (Florian Westphal) [2134371] - netfilter: nf_tables: fix null deref due to zeroed list head (Florian Westphal) [2134371]- bnxt_en: fix memory leak in bnxt_nvm_test() (Ken Cox) [2112186] - bnxt_en: Fix HDS and jumbo thresholds for RX packets (Ken Cox) [2112186] - bnxt_en: Fix first buffer size calculations for XDP multi-buffer (Ken Cox) [2112186] - bnxt_en: Fix XDP RX path (Ken Cox) [2112186] - bnxt_en: Simplify bnxt_xdp_buff_init() (Ken Cox) [2112186] - bnxt: prevent skb UAF after handing over to PTP worker (Ken Cox) [2112186] - bnxt_en: fix flags to check for supported fw version (Ken Cox) [2112186] - net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2112186] - bnxt_en: fix NQ resource accounting during vf creation on 57500 chips (Ken Cox) [2112186] - bnxt_en: set missing reload flag in devlink features (Ken Cox) [2112186] - bnxt_en: Use PAGE_SIZE to init buffer when multi buffer XDP is not in use (Ken Cox) [2112186] - bnxt_en: Remove duplicated include bnxt_devlink.c (Ken Cox) [2112186] - bnxt_en: implement callbacks for devlink selftests (Ken Cox) [2112186] - bnxt_en: Fix bnxt_refclk_read() (Ken Cox) [2112186] - bnxt_en: fix livepatch query (Ken Cox) [2112186] - bnxt_en: Fix bnxt_reinit_after_abort() code path (Ken Cox) [2112186] - bnxt_en: reclaim max resources if sriov enable fails (Ken Cox) [2112186] - bnxt: Use the bitmap API to allocate bitmaps (Ken Cox) [2112186] - bnxt: Fix typo in comments (Ken Cox) [2112186] - eth: bnxt: make ulp_id unsigned to make GCC 12 happy (Ken Cox) [2112186] - bnxt_en: Enable packet timestamping for all RX packets (Ken Cox) [2112186] - bnxt_en: Configure ptp filters during bnxt open (Ken Cox) [2112186] - bnxt_en: Update firmware interface to 1.10.2.95 (Ken Cox) [2112186] - bnxt: add page_pool support for aggregation ring when using xdp (Ken Cox) [2112186] - bnxt: change receive ring space parameters (Ken Cox) [2112186] - bnxt: rename bnxt_rx_pages to bnxt_rx_agg_pages_skb (Ken Cox) [2112186] - bnxt: refactor bnxt_rx_pages operate on skb_shared_info (Ken Cox) [2112186] - bnxt: add flag to denote that an xdp program is currently attached (Ken Cox) [2112186] - bnxt: refactor bnxt_rx_xdp to separate xdp_init_buff/xdp_prepare_buff (Ken Cox) [2112186] - bnxt: report header-data split state (Ken Cox) [2112186] - net: Don't include filter.h from net/sock.h (Ken Cox) [2112186] - ethernet: constify references to netdev->dev_addr in drivers (Ken Cox) [2112186] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ken Cox) [2112186] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Ken Cox) [2112186] - bnxt_en: Use struct_group_attr() for memcpy() region (Ken Cox) [2112186] - net: don't include ethtool.h from netdevice.h (Ken Cox) [2112186] - treewide: Use fallthrough pseudo-keyword (Ken Cox) [2112186] - net: Use skb_frag_off accessors (Ken Cox) [2112186] - net: Use skb accessors in network drivers (Ken Cox) [2112186] - ethernet: remove redundant memset (Ken Cox) [2112186] - treewide: Add SPDX license identifier - Makefile/Kconfig (Ken Cox) [2112186]- ASoC: amd: renoir: Add a module parameter to influence pdm_gain (Jaroslav Kysela) [2169761] - ASoC: amd: renoir: Adjust the gain for PDM DMIC (Jaroslav Kysela) [2169761] - ASoC: amd: yc: Add a module parameter to influence pdm_gain (Jaroslav Kysela) [2169761] - ASoC: amd: yc: Adjust the gain for PDM DMIC (Jaroslav Kysela) [2169761] - genirq: Fix reference leaks on irq affinity notifiers (Ricardo Robaina) [2154842] - genirq: Prevent use-after-free and work list corruption (Ricardo Robaina) [2154842] - perf/x86/uncore: Don't WARN_ON_ONCE() for a broken discovery table (Michael Petlan) [2154044] - perf/x86/uncore: Add a quirk for UPI on SPR (Michael Petlan) [2154044] - perf/x86/uncore: Ignore broken units in discovery table (Michael Petlan) [2154044] - perf/x86/uncore: Fix potential NULL pointer in uncore_get_alias_name (Michael Petlan) [2154044] - perf/x86/uncore: Factor out uncore_device_to_die() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix CAS_COUNT_WRITE issue for ICX (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix IIO event constraints for Snowridge (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix IIO event constraints for Skylake Server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix filter_tid mask for CHA events on Skylake Server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix Intel ICX IIO event constraints (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix reference count leak in __uncore_imc_init_box() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix reference count leak in snr_uncore_mmio_map() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix reference count leak in sad_cfg_iio_topology() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Make set_mapping() procedure void (Michael Petlan) [2154044] - perf/x86/intel/uncore: Update sysfs-devices-mapping file (Michael Petlan) [2154044] - perf/x86/intel/uncore: Enable UPI topology discovery for Sapphire Rapids (Michael Petlan) [2154044] - perf/x86/intel/uncore: Enable UPI topology discovery for Icelake Server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Get UPI NodeID and GroupID (Michael Petlan) [2154044] - perf/x86/intel/uncore: Enable UPI topology discovery for Skylake Server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Generalize get_topology() for SKX PMUs (Michael Petlan) [2154044] - perf/x86/intel/uncore: Disable I/O stacks to PMU mapping on ICX-D (Michael Petlan) [2154044] - perf/x86/intel/uncore: Clear attr_update properly (Michael Petlan) [2154044] - perf/x86/intel/uncore: Introduce UPI topology type (Michael Petlan) [2154044] - perf/x86/intel/uncore: Generalize IIO topology support (Michael Petlan) [2154044]- net/mlx4: Check retval of mlx4_bitmap_init (Amir Tzin) [2150787] - net/mlx4: Fix error check for dma_map_sg (Amir Tzin) [2150787] - net/mlx4_en: Fix wrong return value on ioctl EEPROM query failure (Amir Tzin) [2150787] - RDMA/mlx4: Avoid flush_scheduled_work() usage (Amir Tzin) [2150787] - net: mellanox: fix open-coded for_each_set_bit() (Amir Tzin) [2150787] - tracing: Add linear buckets to histogram logic (Jerome Marchand) [2161509] - configs/generic: enable CONFIG_RTC_SYSTOHC (Marcelo Tosatti) [2135417] - watchdog: fix UAF in reboot notifier handling in watchdog core code (Wander Lairson Costa) [2131308]- drm/i915/fbdev: do not create fbdev if HPD is suspended (Jocelyn Falempe) [2156006] - drm/i915/fbdev: suspend HPD before fbdev unregistration (Jocelyn Falempe) [2156006] - drm/i915/hpd: suspend MST at the end of intel_modeset_driver_remove (Jocelyn Falempe) [2156006] - drm/i915/gvt: fix vgpu debugfs clean in remove (Jocelyn Falempe) [2115903] - drm/i915/gvt: fix gvt debugfs destroy (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix kernel warning during topology setup (Jocelyn Falempe) [2115903] - Revert "drm/amd/display: Enable Freesync Video Mode by default" (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix double release compute pasid (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix kfd_process_device_init_vm error handling (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix size validation for non-exclusive domains (v4) (Jocelyn Falempe) [2115903] - drm/i915/gvt: fix double free bug in split_2MB_gtt_entry (Jocelyn Falempe) [2115903] - drm/i915: unpin on error in intel_vgpu_shadow_mm_pin() (Jocelyn Falempe) [2115903] - drm/amd/pm: correct the fan speed retrieving in PWM for some SMU13 asics (Jocelyn Falempe) [2115903] - drm/amd/pm: bump SMU13.0.0 driver_if header to version 0x34 (Jocelyn Falempe) [2115903] - drm/amd/pm: add missing SMU13.0.7 mm_dpm feature mapping (Jocelyn Falempe) [2115903] - drm/amd/pm: add missing SMU13.0.0 mm_dpm feature mapping (Jocelyn Falempe) [2115903] - drm/i915/migrate: Account for the reserved_space (Jocelyn Falempe) [2115903] - drm/i915: improve the catch-all evict to handle lock contention (Jocelyn Falempe) [2115903] - drm/amdgpu: make display pinning more flexible (v2) (Jocelyn Falempe) [2115903] - drm/amdgpu: handle polaris10/11 overlap asics (v2) (Jocelyn Falempe) [2115903] - drm/amd/display: Add DCN314 display SG Support (Jocelyn Falempe) [2115903] - drm/i915/ttm: consider CCS for backup objects (Jocelyn Falempe) [2115903] - drm/i915/dsi: fix VBT send packet port selection for dual link DSI (Jocelyn Falempe) [2115903] - drm/vmwgfx: Validate the box size for the snooped cursor (Jocelyn Falempe) [2115903] - drm/connector: send hotplug uevent on connector cleanup (Jocelyn Falempe) [2115903] - drm/amdgpu: fix mmhub register base coding error (Jocelyn Falempe) [2115903] - drm/amd/pm: correct SMU13.0.0 pstate profiling clock settings (Jocelyn Falempe) [2115903] - drm/amd/pm: update SMU13.0.0 reported maximum shader clock (Jocelyn Falempe) [2115903] - drm/amdgpu: skip MES for S0ix as well since it's part of GFX (Jocelyn Falempe) [2115903] - drm/amd/display: revert Disable DRR actions during state commit (Jocelyn Falempe) [2115903] - drm/amd/pm: avoid large variable on kernel stack (Jocelyn Falempe) [2115903] - drm/i915/display: Don't disable DDI/Transcoder when setting phy test pattern (Jocelyn Falempe) [2115903] - drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid() (Jocelyn Falempe) [2115903] - drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid() (Jocelyn Falempe) [2115903] - drm/amd/display: Fix DTBCLK disable requests and SRC_SEL programming (Jocelyn Falempe) [2115903] - drm/amd/display: Use the largest vready_offset in pipe group (Jocelyn Falempe) [2115903] - drm/amd/display: fix array index out of bound error in bios parser (Jocelyn Falempe) [2115903] - drm/amd/display: Workaround to increase phantom pipe vactive in pipesplit (Jocelyn Falempe) [2115903] - drm/sti: Use drm_mode_copy() (Jocelyn Falempe) [2115903] - drm/amd/display: Disable DRR actions during state commit (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix type of second parameter in odn_edit_dpm_table() callback (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix type of second parameter in trans_msg() callback (Jocelyn Falempe) [2115903] - Revert "drm/amd/display: Limit max DSC target bpp for specific monitors" (Jocelyn Falempe) [2115903] - drm/edid: add a quirk for two LG monitors to get them to work on 10bpc (Jocelyn Falempe) [2115903] - drm/amd/display: prevent memory leak (Jocelyn Falempe) [2115903] - drm/i915/bios: fix a memory leak in generate_lfp_data_ptrs (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix memory leakage (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios() (Jocelyn Falempe) [2115903] - drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() (Jocelyn Falempe) [2115903] - amdgpu/nv.c: Corrected typo in the video capabilities resolution (Jocelyn Falempe) [2115903] - drm/amd/pm/smu11: BACO is supported when it's in BACO state (Jocelyn Falempe) [2115903] - drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe() (Jocelyn Falempe) [2115903] - drm/i915/guc: make default_lists const data (Jocelyn Falempe) [2115903] - drm/amdgpu: fix pci device refcount leak (Jocelyn Falempe) [2115903] - drm/fourcc: Fix vsub/hsub for Q410 and Q401 (Jocelyn Falempe) [2115903] - amdgpu/pm: prevent array underflow in vega20_odn_edit_dpm_table() (Jocelyn Falempe) [2115903] - drm/radeon: Add the missed acpi_put_table() to fix memory leak (Jocelyn Falempe) [2115903] - drm/ttm: fix undefined behavior in bit shift for TTM_TT_FLAG_PRIV_POPULATED (Jocelyn Falempe) [2115903] - drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure (Jocelyn Falempe) [2115903] - drm/amd/display: wait for vblank during pipe programming (Jocelyn Falempe) [2115903] - drm/i915/guc: Fix GuC error capture sizing estimation and reporting (Jocelyn Falempe) [2115903] - drm/i915/guc: Add error-capture init warnings when needed (Jocelyn Falempe) [2115903] - drm/i915/guc: Make GuC log sizes runtime configurable (Jocelyn Falempe) [2115903] - drm/i915/guc: Fix capture size warning and bump the size (Jocelyn Falempe) [2115903] - drm/i915/guc: Add a helper for log buffer size (Jocelyn Falempe) [2115903] - drm/i915: Fix compute pre-emption w/a to apply to compute engines (Jocelyn Falempe) [2115903] - drm/i915/guc: Limit scheduling properties to avoid overflow (Jocelyn Falempe) [2115903] - drm/bridge: it6505: Initialize AUX channel in it6505_i2c_probe (Jocelyn Falempe) [2115903] - drm/amdgpu/powerplay/psm: Fix memory leak in power state init (Jocelyn Falempe) [2115903] - drm/bridge: adv7533: remove dynamic lane switching from adv7533 bridge (Jocelyn Falempe) [2115903] - drm/atomic-helper: Don't allocate new plane state in CRTC check (Jocelyn Falempe) [2115903] - drm/amdgpu/vcn: update vcn4 fw shared data structure (Jocelyn Falempe) [2115903] - drm: bridge: dw_hdmi: fix preference of RGB modes over YUV420 (Jocelyn Falempe) [2115903] - drm/bridge: ti-sn65dsi86: Fix output polarity setting bug (Jocelyn Falempe) [2115903] - drm/vmwgfx: Fix race issue calling pin_user_pages (Jocelyn Falempe) [2115903] - drm/shmem-helper: Avoid vm_open error paths (Jocelyn Falempe) [2115903] - drm/shmem-helper: Remove errant put in error path (Jocelyn Falempe) [2115903] - drm/amd/display: fix array index out of bound error in DCN32 DML (Jocelyn Falempe) [2115903] - drm/amdgpu/sdma_v4_0: turn off SDMA ring buffer in the s2idle suspend (Jocelyn Falempe) [2115903] - drm/vmwgfx: Don't use screen objects when SEV is active (Jocelyn Falempe) [2115903] - drm/amdgpu: fix use-after-free during gpu recovery (Jocelyn Falempe) [2115903] - drm/amd/display: Use new num clk levels struct for max mclk index (Jocelyn Falempe) [2115903] - drm/amd/display: Avoid setting pixel rate divider to N/A (Jocelyn Falempe) [2115903] - drm/amd/display: Use viewport height for subvp mall allocation size (Jocelyn Falempe) [2115903] - drm/i915: Remove non-existent pipes from bigjoiner pipe mask (Jocelyn Falempe) [2115903] - drm/i915: Never return 0 if not all requests retired (Jocelyn Falempe) [2115903] - drm/i915: Fix negative value passed as remaining time (Jocelyn Falempe) [2115903] - drm/amdgpu: enable Vangogh VCN indirect sram mode (Jocelyn Falempe) [2115903] - drm/amdgpu: temporarily disable broken Clang builds due to blown stack-frame (Jocelyn Falempe) [2115903] - drm/amd/pm: update driver if header for smu_13_0_7 (Jocelyn Falempe) [2115903] - drm/amd/pm: update driver-if header for smu_v13_0_10 (Jocelyn Falempe) [2115903] - drm/amd/pm: add smu_v13_0_10 driver if version (Jocelyn Falempe) [2115903] - drm/amdgpu: fix userptr HMM range handling v2 (Jocelyn Falempe) [2115903] - drm/amdgpu: cleanup error handling in amdgpu_cs_parser_bos (Jocelyn Falempe) [2115903] - drm/amdgpu: move setting the job resources (Jocelyn Falempe) [2115903] - drm/amdgpu: Partially revert "drm/amdgpu: update drm_display_info correctly when the edid is read" (Jocelyn Falempe) [2115903] - drm/amdgpu: always register an MMU notifier for userptr (Jocelyn Falempe) [2115903] - drm/amd/display: Update soc bounding box for dcn32/dcn321 (Jocelyn Falempe) [2115903] - drm/amd/amdgpu: reserve vm invalidation engine for firmware (Jocelyn Falempe) [2115903] - drm/amdgpu: Enable Aldebaran devices to report CU Occupancy (Jocelyn Falempe) [2115903] - drm/amdgpu/psp: don't free PSP buffers on suspend (Jocelyn Falempe) [2115903] - drm/amd/display: No display after resume from WB/CB (Jocelyn Falempe) [2115903] - drm/amd/dc/dce120: Fix audio register mapping, stop triggering KASAN (Jocelyn Falempe) [2115903] - drm/display/dp_mst: Fix drm_dp_mst_add_affected_dsc_crtcs() return code (Jocelyn Falempe) [2115903] - drm/i915/ttm: never purge busy objects (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix a memory limit issue (Jocelyn Falempe) [2115903] - drm/amdgpu: disable BACO support on more cards (Jocelyn Falempe) [2115903] - drm/amd/display: use uclk pstate latency for fw assisted mclk validation dcn32 (Jocelyn Falempe) [2115903] - drm/amd/display: Fix calculation for cursor CAB allocation (Jocelyn Falempe) [2115903] - drm/amd/display: Update MALL SS NumWays calculation (Jocelyn Falempe) [2115903] - drm/amd/display: Add debug option for allocating extra way for cursor (Jocelyn Falempe) [2115903] - drm/amd/display: Added debug option for forcing subvp num ways (Jocelyn Falempe) [2115903] - drm/amdkfd: update GFX11 CWSR trap handler (Jocelyn Falempe) [2115903] - drm/amdgpu: Enable SA software trap. (Jocelyn Falempe) [2115903] - dma-buf: Use dma_fence_unwrap_for_each when importing fences (Jocelyn Falempe) [2115903] - dma-buf: fix racing conflict of dma_heap_add() (Jocelyn Falempe) [2115903] - drm/i915: Fix warn in intel_display_power_*_domain() functions (Jocelyn Falempe) [2115903] - drm/amd/display: only fill dirty rectangles when PSR is enabled (Jocelyn Falempe) [2115903] - drm/amdgpu: Drop eviction lock when allocating PT BO (Jocelyn Falempe) [2115903] - Revert "drm/amdgpu: Revert "drm/amdgpu: getting fan speed pwm for vega10 properly"" (Jocelyn Falempe) [2115903] - drm/amd/display: Fix gpio port mapping issue (Jocelyn Falempe) [2115903] - drm/amd/display: Fix FCLK deviation and tool compile issues (Jocelyn Falempe) [2115903] - drm/amd/display: Zeromem mypipe heap struct before using it (Jocelyn Falempe) [2115903] - drm: panel-orientation-quirks: Add quirk for Acer Switch V 10 (SW5-017) (Jocelyn Falempe) [2115903] - drm: panel-orientation-quirks: Add quirk for Nanote UMPC-01 (Jocelyn Falempe) [2115903] - drm/amd/display: Fix prefetch calculations for dcn32 (Jocelyn Falempe) [2115903] - drm/amd/display: don't enable DRM CRTC degamma property for DCE (Jocelyn Falempe) [2115903] - drm/amd/display: Fix optc2_configure warning on dcn314 (Jocelyn Falempe) [2115903] - drm/amd/display: Support parsing VRAM info v3.0 from VBIOS (Jocelyn Falempe) [2115903] - drm/amd/display: Fix access timeout to DPIA AUX at boot time (Jocelyn Falempe) [2115903] - drm/amd/display: Add HUBP surface flip interrupt handler (Jocelyn Falempe) [2115903] - drm/amd/display: Fix invalid DPIA AUX reply causing system hang (Jocelyn Falempe) [2115903] - drm/display: Don't assume dual mode adaptors support i2c sub-addressing (Jocelyn Falempe) [2115903] - drm/amd/pm: fix SMU13 runpm hang due to unintentional workaround (Jocelyn Falempe) [2115903] - drm/amd/pm: enable runpm support over BACO for SMU13.0.0 (Jocelyn Falempe) [2115903] - drm/amd/pm: enable runpm support over BACO for SMU13.0.7 (Jocelyn Falempe) [2115903] - drm: Fix potential null-ptr-deref in drm_vblank_destroy_worker() (Jocelyn Falempe) [2115903] - drm/drv: Fix potential memory leak in drm_dev_init() (Jocelyn Falempe) [2115903] - drm/panel: simple: set bpc field for logic technologies displays (Jocelyn Falempe) [2115903] - drm/amd/display: Investigate tool reported FCLK P-state deviations (Jocelyn Falempe) [2115903] - drm/amd/display: Round up DST_after_scaler to nearest int (Jocelyn Falempe) [2115903] - drm/amd/display: Use forced DSC bpp in DML (Jocelyn Falempe) [2115903] - drm/amd/display: Fix DCN32 DSC delay calculation (Jocelyn Falempe) [2115903] - drm/amd: Fail the suspend if resources can't be evicted (Jocelyn Falempe) [2115903] - drm/amdgpu: set fb_modifiers_not_supported in vkms (Jocelyn Falempe) [2115903] - drm/amd/display: Enable timing sync on DCN32 (Jocelyn Falempe) [2115903] - drm/amd/display: Ignore Cable ID Feature (Jocelyn Falempe) [2115903] - drm/imx: imx-tve: Fix return type of imx_tve_connector_mode_valid (Jocelyn Falempe) [2115903] - drm/scheduler: fix fence ref counting (Jocelyn Falempe) [2115903] - drm/amd/display: Don't return false if no stream (Jocelyn Falempe) [2115903] - drm/amd/display: Remove wrong pipe control lock (Jocelyn Falempe) [2115903] - drm/amdgpu: Adjust MES polling timeout for sriov (Jocelyn Falempe) [2115903] - drm/amdkfd: Migrate in CPU page fault use current mm (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix error handling in kfd_criu_restore_events (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix error handling in criu_checkpoint (Jocelyn Falempe) [2115903] - drm/amdgpu: disable BACO on special BEIGE_GOBY card (Jocelyn Falempe) [2115903] - drm/amdgpu: workaround for TLB seq race (Jocelyn Falempe) [2115903] - drm/amd/display: Update SR watermarks for DCN314 (Jocelyn Falempe) [2115903] - drm/amd/pm: update SMU IP v13.0.4 msg interface header (Jocelyn Falempe) [2115903] - drm/amd/display: Fix reg timeout in enc314_enable_fifo (Jocelyn Falempe) [2115903] - drm/i915/dmabuf: fix sg_table handling in map_dma_buf (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix the lpfn checking condition in drm buddy (Jocelyn Falempe) [2115903] - drm/i915: Do not set cache_dirty for DGFX (Jocelyn Falempe) [2115903] - drm/i915/psr: Send update also on invalidate (Jocelyn Falempe) [2115903] - drm/vc4: Fix missing platform_unregister_drivers() call in vc4_drm_register() (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix NULL pointer dereference in svm_migrate_to_ram() (Jocelyn Falempe) [2115903] - drm/amdkfd: handle CPU fault on COW mapping (Jocelyn Falempe) [2115903] - drm/amd/display: Set memclk levels to be at least 1 for dcn32 (Jocelyn Falempe) [2115903] - drm/amd/display: Limit dcn32 to 1950Mhz display clock (Jocelyn Falempe) [2115903] - drm/amd/display: Acquire FCLK DPM levels on DCN32 (Jocelyn Falempe) [2115903] - drm/i915/sdvo: Grab mode_config.mutex during LVDS init to avoid WARNs (Jocelyn Falempe) [2115903] - drm/i915: Simplify intel_panel_add_edid_alt_fixed_modes() (Jocelyn Falempe) [2115903] - drm/i915: Allow more varied alternate fixed modes for panels (Jocelyn Falempe) [2115903] - drm/i915/sdvo: Setup DDC fully before output init (Jocelyn Falempe) [2115903] - drm/i915/sdvo: Filter out invalid outputs more sensibly (Jocelyn Falempe) [2115903] - drm/amd/display: Update DSC capabilitie for DCN314 (Jocelyn Falempe) [2115903] - drm/amd/display: Update latencies on DCN321 (Jocelyn Falempe) [2115903] - drm/amdgpu: disable GFXOFF during compute for GFX11 (Jocelyn Falempe) [2115903] - drm/i915: stop abusing swiotlb_max_segment (Jocelyn Falempe) [2115903] - drm/rockchip: fix fbdev on non-IOMMU devices (Jocelyn Falempe) [2115903] - drm/rockchip: dw_hdmi: filter regulator -EPROBE_DEFER error messages (Jocelyn Falempe) [2115903] - drm/amdgpu: dequeue mes scheduler during fini (Jocelyn Falempe) [2115903] - drm/amdgpu: Program GC registers through RLCG interface in gfx_v11/gmc_v11 (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix type of reset_type parameter in hqd_destroy() callback (Jocelyn Falempe) [2115903] - drm/amd/pm: skip loading pptable from driver on secure board for smu_v13_0_10 (Jocelyn Falempe) [2115903] - drm/amdgpu: set vm_update_mode=0 as default for Sienna Cichlid in SRIOV case (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix memory leak in kfd_mem_dmamap_userptr() (Jocelyn Falempe) [2115903] - drm/i915/dp: Reset frl trained flag before restarting FRL training (Jocelyn Falempe) [2115903] - drm/i915/dgfx: Keep PCI autosuspend control 'on' by default on all dGPU (Jocelyn Falempe) [2115903] - drm/bridge: ps8640: Add back the 50 ms mystery delay after HPD (Jocelyn Falempe) [2115903] - drm/msm: Fix return type of mdp4_lvds_connector_mode_valid (Jocelyn Falempe) [2115903] - drm/msm/hdmi: fix memory corruption with too many bridges (Jocelyn Falempe) [2115903] - drm/msm/dsi: fix memory corruption with too many bridges (Jocelyn Falempe) [2115903] - drm/amdkfd: correct the cache info for gfx1036 (Jocelyn Falempe) [2115903] - drm/amdkfd: update gfx1037 Lx cache setting (Jocelyn Falempe) [2115903] - drm/amd/display: Revert logic for plane modifiers (Jocelyn Falempe) [2115903] - drm/amdgpu: fix pstate setting issue (Jocelyn Falempe) [2115903] - drm/amdgpu: disallow gfxoff until GC IP blocks complete s2idle resume (Jocelyn Falempe) [2115903] - drm/amdgpu: Remove ATC L2 access for MMHUB 2.1.x (Jocelyn Falempe) [2115903] - drm/i915: Extend Wa_1607297627 to Alderlake-P (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix for BO move issue (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix VRAM BO swap issue (Jocelyn Falempe) [2115903] - drm/vc4: Add module dependency on hdmi-codec (Jocelyn Falempe) [2115903] - drm/amdgpu: fix sdma doorbell init ordering on APUs (Jocelyn Falempe) [2115903] - drm/amd/pm: update SMU IP v13.0.4 driver interface version (Jocelyn Falempe) [2115903] - drm/amd/pm: fulfill SMU13.0.0 cstate control interface (Jocelyn Falempe) [2115903] - drm/amd/pm: disable cstate feature for gpu reset scenario (Jocelyn Falempe) [2115903] - drm/amd/pm: add SMU IP v13.0.4 IF version define to V7 (Jocelyn Falempe) [2115903] - drm/amd/pm: fulfill SMU13.0.7 cstate control interface (Jocelyn Falempe) [2115903] - drm/i915/bios: Use hardcoded fp_timing size for generating LFP data pointers (Jocelyn Falempe) [2115903] - drm/i915/bios: Validate fp_timing terminator presence (Jocelyn Falempe) [2115903] - drm/amd/display: Fix build breakage with CONFIG_DEBUG_FS=n (Jocelyn Falempe) [2115903] - Revert "drm/amd/display: correct hostvm flag" (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix UBSAN shift-out-of-bounds warning (Jocelyn Falempe) [2115903] - drm/amd/display: polling vid stream status in hpo dp blank (Jocelyn Falempe) [2115903] - drm/amd/display: Remove interface for periodic interrupt 1 (Jocelyn Falempe) [2115903] - drm/dp: Don't rewrite link config when setting phy test pattern (Jocelyn Falempe) [2115903] - drm/amdgpu: fix initial connector audio value (Jocelyn Falempe) [2115903] - drm/amd/display: correct hostvm flag (Jocelyn Falempe) [2115903] - drm/amd/display: Fix urgent latency override for DCN32/DCN321 (Jocelyn Falempe) [2115903] - drm/amdgpu: SDMA update use unlocked iterator (Jocelyn Falempe) [2115903] - drm: panel-orientation-quirks: Add quirk for Aya Neo Air (Jocelyn Falempe) [2115903] - drm: panel-orientation-quirks: Add quirk for Anbernic Win600 (Jocelyn Falempe) [2115903] - drm/vc4: vec: Fix timings for VEC modes (Jocelyn Falempe) [2115903] - drm/admgpu: Skip CG/PG on SOC21 under SRIOV VF (Jocelyn Falempe) [2115903] - drm/amdgpu: Skip the program of MMMC_VM_AGP_* in SRIOV on MMHUB v3_0_0 (Jocelyn Falempe) [2115903] - drm/amd/display: Fix variable dereferenced before check (Jocelyn Falempe) [2115903] - drm: bridge: dw_hdmi: only trigger hotplug event on link change (Jocelyn Falempe) [2115903] - drm/amd: fix potential memory leak (Jocelyn Falempe) [2115903] - udmabuf: Set ubuf->sg = NULL if the creation of sg table fails (Jocelyn Falempe) [2115903] - drm/amd/display: fix overflow on MIN_I64 definition (Jocelyn Falempe) [2115903] - gpu: lontium-lt9611: Fix NULL pointer dereference in lt9611_connector_init() (Jocelyn Falempe) [2115903] - drm: Prevent drm_copy_field() to attempt copying a NULL pointer (Jocelyn Falempe) [2115903] - drm: Use size_t type for len variable in drm_copy_field() (Jocelyn Falempe) [2115903] - drm/nouveau/nouveau_bo: fix potential memory leak in nouveau_bo_alloc() (Jocelyn Falempe) [2115903] - virtio-gpu: fix shift wrapping bug in virtio_gpu_fence_event_create() (Jocelyn Falempe) [2115903] - drm/vmwgfx: Fix memory leak in vmw_mksstat_add_ioctl() (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix memory leak in hpd_rx_irq_create_workqueue() (Jocelyn Falempe) [2115903] - drm/bochs: fix blanking (Jocelyn Falempe) [2115903] - drm/virtio: set fb_modifiers_not_supported (Jocelyn Falempe) [2115903] - drm/bridge: it6505: Fix the order of DP_SET_POWER commands (Jocelyn Falempe) [2115903] - drm/bridge: megachips: Fix a null pointer dereference bug (Jocelyn Falempe) [2115903] - drm/amdgpu: add missing pci_disable_device() in amdgpu_pmops_runtime_resume() (Jocelyn Falempe) [2115903] - drm: fix drm_mipi_dbi build errors (Jocelyn Falempe) [2115903] - drm/panel: use 'select' for Ili9341 panel driver helpers (Jocelyn Falempe) [2115903] - drm/virtio: Fix same-context optimization (Jocelyn Falempe) [2115903] - drm/i915/dg2: Bump up CDCLK for DG2 (Jocelyn Falempe) [2115903] - drm/dp_mst: fix drm_dp_dpcd_read return value checks (Jocelyn Falempe) [2115903] - drm/format-helper: Fix test on big endian architectures (Jocelyn Falempe) [2115903] - drm/bridge: parade-ps8640: Fix regulator supply order (Jocelyn Falempe) [2115903] - drm/bridge: tc358767: Add of_node_put() when breaking out of loop (Jocelyn Falempe) [2115903] - drm/bridge: anx7625: Fix refcount bug in anx7625_parse_dt() (Jocelyn Falempe) [2115903] - drm/virtio: Correct drm_gem_shmem_get_sg_table() error handling (Jocelyn Falempe) [2115903] - drm/bridge: it6505: Power on downstream device in .atomic_enable (Jocelyn Falempe) [2115903] - drm/mipi-dsi: Detach devices when removing the host (Jocelyn Falempe) [2115903] - drm/bridge: Avoid uninitialized variable warning (Jocelyn Falempe) [2115903] - drm: bridge: adv7511: unregister cec i2c device after cec adapter (Jocelyn Falempe) [2115903] - drm: bridge: adv7511: fix CEC power down control register offset (Jocelyn Falempe) [2115903] - drm/amdgpu: Enable F32_WPTR_POLL_ENABLE in mqd (Jocelyn Falempe) [2115903] - drm/amdgpu: Enable VCN PG on GC11_0_1 (Jocelyn Falempe) [2115903] - drm/amd/display: explicitly disable psr_feature_enable appropriately (Jocelyn Falempe) [2115903] - drm/amd/display: Add HUBP surface flip interrupt handler (Jocelyn Falempe) [2115903] - drm/amd/display: Fix vblank refcount in vrr transition (Jocelyn Falempe) [2115903] - drm/amd/display: Enable 2 to 1 ODM policy if supported (Jocelyn Falempe) [2115903] - drm/amd/display: Enable dpia support for dcn314 (Jocelyn Falempe) [2115903] - drm/amd/display: Validate DSC After Enable All New CRTCs (Jocelyn Falempe) [2115903] - drm/amd/display: zeromem mypipe heap struct before using it (Jocelyn Falempe) [2115903] - drm/amd/display: Update PMFW z-state interface for DCN314 (Jocelyn Falempe) [2115903] - drm/amd/display: Fix watermark calculation (Jocelyn Falempe) [2115903] - drm/i915: Fix display problems after resume (Jocelyn Falempe) [2115903] - drm/i915/guc: Fix revocation of non-persistent contexts (Jocelyn Falempe) [2115903] - drm/i915/gt: Use i915_vm_put on ppgtt_create error paths (Jocelyn Falempe) [2115903] - drm/nouveau: fix a use-after-free in nouveau_gem_prime_import_sg_table() (Jocelyn Falempe) [2115903] - drm/udl: Restore display mode on resume (Jocelyn Falempe) [2115903] - drm/virtio: Use appropriate atomic state in virtio_gpu_plane_cleanup_fb() (Jocelyn Falempe) [2115903] - drm/virtio: Unlock reservations on dma_resv_reserve_fences() error (Jocelyn Falempe) [2115903] - drm/virtio: Unlock reservations on virtio_gpu_object_shmem_init() error (Jocelyn Falempe) [2115903] - drm/virtio: Check whether transferred 2D BO is shmem (Jocelyn Falempe) [2115903] - Revert "drm/amdgpu: use dirty framebuffer helper" (Jocelyn Falempe) [2115903]- nvme: fix SRCU protection of nvme_ns_head list (Ewan D. Milne) [2113865] - perf vendor events power10: Fix hv-24x7 metric events (Mamatha Inamdar) [2149192] - perf tests: Fix 'perf probe' error log check in skip_if_no_debuginfo (Mamatha Inamdar) [2149192] - perf tests: Fix *probe_vfs_getname.sh test failures (Mamatha Inamdar) [2149192] - blk-cgroup: Optimize blkcg_rstat_flush() (Waiman Long) [2162173] - blk-cgroup: Return -ENOMEM directly in blkcg_css_alloc() error path (Waiman Long) [2162173] - blk-cgroup: factor out blkcg_iostat_update() (Waiman Long) [2162173] - mm/memcg: Free percpu stats memory of dying memcg's again (Waiman Long) [2162173] - memcg: sync flush only if periodic flush is delayed (Waiman Long) [2162173] - memcg: better bounds on the memcg stats updates (Waiman Long) [2162173] - memcg: unify memcg stat flushing (Waiman Long) [2162173] - memcg: flush stats only if updated (Waiman Long) [2162173] - memcg: flush lruvec stats in the refault (Waiman Long) [2162173] - memcg: infrastructure to flush memcg stats (Waiman Long) [2162173] - memcg: switch lruvec stats to rstat (Waiman Long) [2162173] - mm/memcg: Remove mem_cgroup_per_node from being kABI protected (Waiman Long) [2162173] - mm/memcg: Revert "Free percpu stats memory of dying memcg's" (Waiman Long) [2162173]- virt/sev-guest: Prevent IV reuse in the SNP guest driver (John Allen) [2087262] - virt/sev-guest: Add a MODULE_ALIAS (John Allen) [2087262] - virt/sev-guest: Remove unnecessary free in init_crypto() (John Allen) [2087262] - x86/sev: Don't use cc_platform_has() for early SEV-SNP calls (John Allen) [2087262] - x86/boot: Don't propagate uninitialized boot_params->cc_blob_address (John Allen) [2087262] - x86/idt: Rework IDT setup for boot CPU (John Allen) [2087262] - x86/cpu: Init AP exception handling from cpu_init_secondary() (John Allen) [2087262] - x86/idt: Cleanup trap_init() (John Allen) [2087262] - x86/idt: Annotate alloc_intr_gate() with __init (John Allen) [2087262] - redhat/configs: enable CONFIG_SEV_GUEST (John Allen) [2087262] - virt: sev-guest: Pass the appropriate argument type to iounmap() (John Allen) [2087262] - x86/compressed/64: Add identity mappings for setup_data entries (John Allen) [2087262] - x86/sev: Mark the code returning to user space as syscall gap (John Allen) [2087262] - x86/sev: Annotate stack change in the #VC handler (John Allen) [2087262] - x86/sev: Remove duplicated assignment to variable info (John Allen) [2087262] - x86/sev: Fix address space sparse warning (John Allen) [2087262] - x86/sev: Get the AP jump table address from secrets page (John Allen) [2087262] - x86/sev: Add missing __init annotations to SEV init routines (John Allen) [2087262] - virt: sevguest: Rename the sevguest dir and files to sev-guest (John Allen) [2087262] - virt: sevguest: Change driver name to reflect generic SEV support (John Allen) [2087262] - x86/boot: Put globals that are accessed early into the .data section (John Allen) [2087262] - x86/boot: Add an efi.h header for the decompressor (John Allen) [2087262] - virt: sevguest: Fix bool function returning negative value (John Allen) [2087262] - virt: sevguest: Fix return value check in alloc_shared_pages() (John Allen) [2087262] - x86/sev: Unroll string mmio with CC_ATTR_GUEST_UNROLL_STRING_IO (John Allen) [2087262] - x86/sev-es: Replace open-coded hlt-loop with sev_es_terminate() (John Allen) [2087262] - virt: sevguest: Add documentation for SEV-SNP CPUID Enforcement (John Allen) [2087262] - virt: sevguest: Add support to get extended report (John Allen) [2087262] - virt: sevguest: Add support to derive key (John Allen) [2087262] - virt: Add SEV-SNP guest driver (John Allen) [2087262] - x86/sev: Register SEV-SNP guest request platform device (John Allen) [2087262] - x86/sev: Provide support for SNP guest request NAEs (John Allen) [2087262] - x86/sev: Add a sev= cmdline option (John Allen) [2087262] - x86/sev: Use firmware-validated CPUID for SEV-SNP guests (John Allen) [2087262] - x86/sev: Add SEV-SNP feature detection/setup (John Allen) [2087262] - x86/sev: Check SME/SEV support in CPUID first (John Allen) [2087262] - x86/compressed/64: Add identity mapping for Confidential Computing blob (John Allen) [2087262] - x86/compressed: Export and rename add_identity_map() (John Allen) [2087262] - x86/compressed: Use firmware-validated CPUID leaves for SEV-SNP guests (John Allen) [2087262] - x86/compressed: Add SEV-SNP feature detection/setup (John Allen) [2087262] - x86/boot: Add a pointer to Confidential Computing blob in bootparams (John Allen) [2087262] - x86/boot: Preserve boot_params.secure_boot from sanitizing (John Allen) [2087262] - x86/boot: Fix boot regression caused by bootparam sanitizing (John Allen) [2087262] - x86/boot: Save fields explicitly, zero out everything else (John Allen) [2087262] - x86/compressed/64: Add support for SEV-SNP CPUID table in #VC handlers (John Allen) [2087262] - x86/sev: Move MSR-based VMGEXITs for CPUID to helper (John Allen) [2087262] - KVM: x86: Move lookup of indexed CPUID leafs to helper (John Allen) [2087262] - x86/boot: Add Confidential Computing type to setup_data (John Allen) [2087262] - x86/compressed/acpi: Move EFI kexec handling into common code (John Allen) [2087262] - x86/compressed/acpi: Move EFI vendor table lookup to helper (John Allen) [2087262] - x86/compressed/acpi: Move EFI config table lookup to helper (John Allen) [2087262] - x86/compressed/acpi: Move EFI system table lookup to helper (John Allen) [2087262] - x86/compressed/acpi: Move EFI detection to helper (John Allen) [2087262] - x86/head/64: Re-enable stack protection (John Allen) [2087262] - x86/sev: Use SEV-SNP AP creation to start secondary CPUs (John Allen) [2087262] - x86/apic/of: Fix CPU devicetree-node lookups (John Allen) [2087262] - x86/mm: Validate memory when changing the C-bit (John Allen) [2087262] - x86/kernel: Validate ROM memory before accessing when SEV-SNP is active (John Allen) [2087262] - x86/kernel: Mark the .bss..decrypted section as shared in the RMP table (John Allen) [2087262] - x86/sev: Add helper for validating pages in early enc attribute changes (John Allen) [2087262] - x86/sev: Register GHCB memory when SEV-SNP is active (John Allen) [2087262] - x86/compressed: Register GHCB memory when SEV-SNP is active (John Allen) [2087262] - x86/compressed: Add helper for validating pages in the decompression stage (John Allen) [2087262] - x86/sev: Check the VMPL level (John Allen) [2087262] - x86/sev: Add a helper for the PVALIDATE instruction (John Allen) [2087262] - x86/sev: Check SEV-SNP features support (John Allen) [2087262] - x86/mm: Extend cc_attr to include AMD SEV-SNP (John Allen) [2087262] - x86/sev: Detect/setup SEV/SME features earlier in boot (John Allen) [2087262] - x86/compressed/64: Detect/setup SEV/SME features earlier during boot (John Allen) [2087262] - x86/boot: Use MSR read/write helpers instead of inline assembly (John Allen) [2087262] - x86/boot: Introduce helpers for MSR reads/writes (John Allen) [2087262] - KVM: SVM: Update the SEV-ES save area mapping (John Allen) [2087262] - KVM: SVM: Create a separate mapping for the GHCB save area (John Allen) [2087262] - KVM: SVM: Create a separate mapping for the SEV-ES save area (John Allen) [2087262] - KVM: SVM: Define sev_features and VMPL field in the VMSA (John Allen) [2087262] - x86/sev: Remove do_early_exception() forward declarations (John Allen) [2087262] - x86/sev: Make the #VC exception stacks part of the default stacks storage (John Allen) [2087262] - x86: Increase exception stack sizes (John Allen) [2087262] - x86/head64: Carve out the guest encryption postprocessing into a helper (John Allen) [2087262] - x86/sev: Get rid of excessive use of defines (John Allen) [2087262] - x86/sev: Add defines for GHCB version 2 MSR protocol requests (John Allen) [2087262] - x86/sev: Make sure IRQs are disabled while GHCB is active (John Allen) [2087262] - x86/sev: Propagate #GP if getting linear instruction address failed (John Allen) [2087262] - x86/insn: Extend error reporting from insn_fetch_from_user[_inatomic]() (John Allen) [2087262] - x86/sev-es: Convert to insn_decode() (John Allen) [2087262] - x86/sev-es: Split vc_decode_insn() (John Allen) [2087262] - x86/insn-eval: Make 0 a valid RIP for insn_get_effective_ip() (John Allen) [2087262] - x86/sev: Fix error message in runtime #VC handler (John Allen) [2087262] - x86/sev-es: Optimize __sev_es_ist_enter() for better readability (John Allen) [2087262] - x86/sev: Do not require Hypervisor CPUID bit for SEV guests (John Allen) [2087262] - x86/boot/compressed/64: Cleanup exception handling before booting kernel (John Allen) [2087262] - x86/sev-es: Remove subtraction of res variable (John Allen) [2087262]- net: mlx5: eliminate anonymous module_init & module_exit (Amir Tzin) [2157750] - net/mlx5: E-switch, Fix switchdev mode after devlink reload (Amir Tzin) [2157750] - net/mlx5e: Set decap action based on attr for sample (Amir Tzin) [2157750] - net/mlx5e: QoS, Fix wrongfully setting parent_element_id on MODIFY_SCHEDULING_ELEMENT (Amir Tzin) [2157750] - net/mlx5: E-switch, Fix setting of reserved fields on MODIFY_SCHEDULING_ELEMENT (Amir Tzin) [2157750] - net/mlx5e: Avoid false lock dependency warning on tc_ht even more (Amir Tzin) [2157750] - net/mlx5: fix missing mutex_unlock in mlx5_fw_fatal_reporter_err_work() (Amir Tzin) [2157750] - net/mlx5: Fix ptp max frequency adjustment range (Amir Tzin) [2157750] - net/mlx5e: IPoIB, Fix child PKEY interface stats on rx path (Amir Tzin) [2157750] - net/mlx5e: IPoIB, Block PKEY interfaces with less rx queues than parent (Amir Tzin) [2157750] - net/mlx5e: IPoIB, Block queue count configuration when sub interfaces are present (Amir Tzin) [2157750] - net/mlx5e: Verify dev is present for fix features ndo (Amir Tzin) [2157750] - net/mlx5: Fix command stats access after free (Amir Tzin) [2157750] - net/mlx5e: TC, Keep mod hdr actions after mod hdr alloc (Amir Tzin) [2157750] - net/mlx5: check attr pointer validity before dereferencing it (Amir Tzin) [2157750] - RDMA/mlx5: Fix validation of max_rd_atomic caps for DC (Amir Tzin) [2157750] - RDMA/mlx5: Fix mlx5_ib_get_hw_stats when used for device (Amir Tzin) [2157750] - net/mlx5e: Set geneve_tlv_option_0_exist when matching on geneve option (Amir Tzin) [2157750] - net/mlx5e: Fix hw mtu initializing at XDP SQ allocation (Amir Tzin) [2157750] - net/mlx5e: Always clear dest encap in neigh-update-del (Amir Tzin) [2157750] - net/mlx5e: CT: Fix ct debugfs folder name (Amir Tzin) [2157750] - net/mlx5e: IPoIB, Don't allow CQE compression to be turned on by default (Amir Tzin) [2157750] - net/mlx5: Fix RoCE setting at HCA level (Amir Tzin) [2157750] - net/mlx5: Avoid recovery in probe flows (Amir Tzin) [2157750] - net/mlx5: Fix io_eq_size and event_eq_size params validation (Amir Tzin) [2157750] - net/mlx5: Add forgotten cleanup calls into mlx5_init_once() error path (Amir Tzin) [2157750] - net/mlx5: E-Switch, properly handle ingress tagged packets on VST (Amir Tzin) [2157750 2096109] - dm thin: Use last transaction's pmd->root when commit failed (Benjamin Marzinski) [2162537] - dm thin: resume even if in FAIL mode (Benjamin Marzinski) [2162537] - dm cache: set needs_check flag after aborting metadata (Benjamin Marzinski) [2162537] - dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort (Benjamin Marzinski) [2162537] - dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata (Benjamin Marzinski) [2162537] - dm integrity: Fix UAF in dm_integrity_dtr() (Benjamin Marzinski) [2162537] - dm cache: Fix UAF in destroy() (Benjamin Marzinski) [2162537] - dm thin: Fix UAF in run_timer_softirq() (Benjamin Marzinski) [2162537] - dm integrity: clear the journal on suspend (Benjamin Marzinski) [2162537] - dm integrity: flush the journal on suspend (Benjamin Marzinski) [2162537] - dm bufio: Fix missing decrement of no_sleep_enabled if dm_bufio_client_create failed (Benjamin Marzinski) [2162537] - dm ioctl: fix misbehavior if list_versions races with module loading (Benjamin Marzinski) [2162537]- net: gso: fix panic on frag_list with mixed head alloc types (Jiri Benc) [2136229] - futex: Resend potentially swallowed owner death notification (Rafael Aquini) [2161526] - Bluetooth: L2CAP: Fix memory leak in vhci_write (Wander Lairson Costa) [2155872] {CVE-2022-3619} - net: Use this_cpu_inc() to increment net->core_stats (Antoine Tenart) [2152542] - vlan: fix memory leak in vlan_newlink() (Xin Long) [2051415] - vlan: move dev_put into vlan_dev_uninit (Xin Long) [2051415] - vlan: introduce vlan_dev_free_egress_priority (Xin Long) [2051415] - vlan: fix memory leak in vlan_dev_set_egress_priority (Xin Long) [2051415] - net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2103956] - intel/ixgbevf:fix repeated words in comments (Ken Cox) [2103956] - intel: remove unused macros (Ken Cox) [2103956] - ixgbe: propagate XFRM offload state direction instead of flags (Ken Cox) [2103956] - ixgbevf: add disable link state (Ken Cox) [2103956] - ixgbevf: clean up some inconsistent indenting (Ken Cox) [2103956] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Ken Cox) [2103956] - intel: Remove rcu_read_lock() around XDP program invocation (Ken Cox) [2103956]- RDMA/siw: Always consume all skbuf data in sk_data_ready() upcall. (Kamal Heib) [2141420] - cifs: fix use-after-free caused by invalid pointer `hostname` (Ronnie Sahlberg) [2154172] - ceph: blocklist the kclient when receiving corrupted snap trace (Xiubo Li) [2162414] - ceph: move mount state enum to super.h (Xiubo Li) [2162414] - xfs: estimate post-merge refcounts correctly (Bill O'Donnell) [2161678] - xfs: hoist refcount record merge predicates (Bill O'Donnell) [2161678] - NFS: Fix revalidation of empty readdir pages (Benjamin Coddington) [2166364] - NFS: Don't deadlock when cookie hashes collide (Benjamin Coddington) [2166364] - locking/rwsem: Disable preemption in all down_read*() and up_read() code paths (Waiman Long) [2162139] - locking/rwsem: Prevent non-first waiter from spinning in down_write() slowpath (Waiman Long) [2162139] - locking/rwsem: Allow slowpath writer to ignore handoff bit if not set by first waiter (Waiman Long) [2162139] - locking/rwsem: Always try to wake waiters in out_nolock path (Waiman Long) [2162139] - locking/rwsem: No need to check for handoff bit if wait queue empty (Waiman Long) [2162139] - locking/rwsem: Make handoff bit handling more consistent (Waiman Long) [2162139] - dax: fix ENOMEM handling in grab_mapping_entry() (Andrey Albershteyn) [2128474] - crypto: ccp - Failure on re-initialization due to duplicate sysfs filename (Vladis Dronov) [2130714] - crypto: ccp - Avoid page allocation failure warning for SEV_GET_ID2 (Vladis Dronov) [2130714] - crypto: ccp - Add support for TEE for PCI ID 0x14CA (Vladis Dronov) [2130714] - crypto: ccp - Remove unused struct ccp_crypto_cpu (Vladis Dronov) [2130714] - crypto: ccp - Add __init/__exit annotations to module init/exit funcs (Vladis Dronov) [2130714] - i40e: Fix the inability to attach XDP program on downed interface (Ivan Vecera) [2121511] - mm, compaction: fix fast_isolate_around() to stay within boundaries (Daniel Vacek) [2149309]- aio: fix mremap after fork null-deref (Jeff Moyer) [2166088] - mm/hugetlb: use hugetlb_pte_stable in migration race check (Rafael Aquini) [2158120] {CVE-2022-3522} - mm/hugetlb: fix race condition of uffd missing/minor handling (Rafael Aquini) [2158120] {CVE-2022-3522} - mm/hugetlb: simplify the code when alloc_huge_page() failed in hugetlb_no_page() (Rafael Aquini) [2158120] {CVE-2022-3522} - mm/hugetlb: pass the old pte entry value to hugetlb_no_page() (Rafael Aquini) [2158120] {CVE-2022-3522} - perf/arm-cmn: Add more bits to child node address offset field (Charles Mirabile) [2122267] - perf/arm-cmn: Decode CAL devices properly in debugfs (Charles Mirabile) [2122267] - perf/arm-cmn: Fix filter_sel lookup (Charles Mirabile) [2122267] - drivers/perf: arm_spe: Expose saturating counter to 16-bit (Charles Mirabile) [2122267] - perf/arm-cmn: Add CMN-700 support (Charles Mirabile) [2122267] - perf/arm-cmn: Refactor occupancy filter selector (Charles Mirabile) [2122267] - perf/arm-cmn: Add CMN-650 support (Charles Mirabile) [2122267] - perf: check return value of armpmu_request_irq() (Charles Mirabile) [2122267] - arm_pmu: Validate single/group leader events (Charles Mirabile) [2122267] - perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator (Charles Mirabile) [2122267] - drivers/perf: arm_pmu: Handle 47 bit counters (Charles Mirabile) [2122267] - perf/arm-cmn: Update watchpoint format (Charles Mirabile) [2122267] - perf/arm-cmn: Hide XP PUB events for CMN-600 (Charles Mirabile) [2122267] - perf: replace bitmap_weight with bitmap_empty where appropriate (Charles Mirabile) [2122267] - perf: Replace acpi_bus_get_device() (Charles Mirabile) [2122267] - perf/arm-cmn: Make arm_cmn_debugfs static (Charles Mirabile) [2122267] - perf/arm-ccn: Use platform_get_irq() to get the interrupt (Charles Mirabile) [2122267] - perf/smmuv3: Don't cast parameter in bit operations (Charles Mirabile) [2122267] - perf/smmuv3: Use msi_get_virq() (Charles Mirabile) [2122267] - perf/smmuv3: Synthesize IIDR from CoreSight ID registers (Charles Mirabile) [2122267] - perf/arm-cmn: Add debugfs topology info (Charles Mirabile) [2122267] - perf/arm-cmn: Add CI-700 Support (Charles Mirabile) [2122267] - perf/arm-cmn: Support new IP features (Charles Mirabile) [2122267] - devres: provide devm_krealloc() (Charles Mirabile) [2122267] - devres: move the size check from alloc_dr() into a separate function (Charles Mirabile) [2122267] - perf/arm-cmn: Demarcate CMN-600 specifics (Charles Mirabile) [2122267] - perf/arm-cmn: Move group validation data off-stack (Charles Mirabile) [2122267] - perf/arm-cmn: Optimise DTC counter accesses (Charles Mirabile) [2122267] - perf/arm-cmn: Optimise DTM counter reads (Charles Mirabile) [2122267] - perf/arm-cmn: Refactor DTM handling (Charles Mirabile) [2122267] - perf/arm-cmn: Streamline node iteration (Charles Mirabile) [2122267] - perf/arm-cmn: Refactor node ID handling (Charles Mirabile) [2122267] - perf/arm-cmn: Drop compile-test restriction (Charles Mirabile) [2122267] - perf/arm-cmn: Account for NUMA affinity (Charles Mirabile) [2122267] - perf/arm-cmn: Fix CPU hotplug unregistration (Charles Mirabile) [2122267] - drivers/perf: thunderx2_pmu: Change data in size tx2_uncore_event_update() (Charles Mirabile) [2122267] - perf: qcom_l2_pmu: move to use request_irq by IRQF_NO_AUTOEN flag (Charles Mirabile) [2122267] - arm_pmu: move to use request_irq by IRQF_NO_AUTOEN flag (Charles Mirabile) [2122267] - arm64: perf: Fix 64-bit event counter read truncation (Charles Mirabile) [2122267] - drivers/perf: Replace spin_lock_irqsave to spin_lock (Charles Mirabile) [2122267] - arm_pmu: arm64: Use NMIs for PMU (Charles Mirabile) [2122267] - arm_pmu: Introduce pmu_irq_ops (Charles Mirabile) [2122267] - arm64: perf: Defer irq_work to IPI_IRQ_WORK (Charles Mirabile) [2122267] - arm64: perf: Remove PMU locking (Charles Mirabile) [2122267] - arm64: perf: Avoid PMXEV* indirection (Charles Mirabile) [2122267] - arm64: perf: Add missing ISB in armv8pmu_enable_counter() (Charles Mirabile) [2122267] - perf: arm_spe: Remove unnecessary zero check on 'nr_pages' (Charles Mirabile) [2122267] - drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer (Charles Mirabile) [2122267] - perf/smmuv3: Use platform_get_irq_optional() for wired interrupt (Charles Mirabile) [2122267]- wifi: rtw89: Add missing check for alloc_workqueue (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: fix potential leak in rtw89_append_probe_req_ie() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix initialization of rx->link and rx->link_sta (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: Drop stations iterator where the iterator function may sleep (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath9k: use proper statements in conditionals (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix MLO + AP_VLAN check (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix coverity uninit_use_in_call in mt76_connac2_reverse_frag0_hdr_trans() (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: Add checks for nla_nest_start() in nl80211_send_iface() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: Add missing __packed annotation of struct mt7921_clc (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: do not send firmware FW_FEATURE_NON_DL region (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Fix use after rcu_read_unlock in rtl8xxxu_bss_info_changed (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: fix physts IE page check (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix wrong power after multiple SAR set (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: Fix some error handling path in rtw89_core_sta_assoc() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: use u32_encode_bits() to fill MAC quota value (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix reporting of TX AGGR histogram (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix ifdef symbol name (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix firmware assert during bandwidth change for peer sta (Jose Ignacio Tornos Martinez) [2136125] - Revert "mt76: use IEEE80211_OFFLOAD_ENCAP_ENABLED instead of MT_DRV_AMSDU_OFFLOAD" (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: gen2: Turn on the rate control (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix warning in dma_free_coherent() of memory chunks while recovery (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: check link ID in auth/assoc continuation (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: mlme: fix null-ptr deref on failed assoc (Jose Ignacio Tornos Martinez) [2136125] - wifi: fix multi-link element subelement iteration (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix antenna signal are way off in monitor mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac8021: fix possible oob access in ieee80211_get_rate_duration (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: don't allow multi-BSSID in S1G (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: fix buffer overflow in elem comparison (Jose Ignacio Tornos Martinez) [2136125] - net: mhi: Fix memory leak in mhi_net_dellink() (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix QCN9074 firmware boot on x86 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: Set TWT Information Frame Disabled bit as 1 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: Fix ack frame idr leak when mesh has no route (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix general-protection-fault in ieee80211_subif_start_xmit() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: fix debugfs attribute ps with rc table support (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Fix bitrates overflow issue (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: fix memory leak in query_regdb_file() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix memory free error when registering wiphy fail (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: silence a sparse RCU warning (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: use explicitly signed or unsigned types (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: mac: fix reading 16 bytes from a region of size 0 warning (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix rx checksum offload on mt7615/mt7915/mt7921 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix receiving LLC packets on mt7615/mt7915 (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: update hidden BSSes to avoid WARN_ON (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix crash in beacon protection for P2P-device (Jose Ignacio Tornos Martinez) [2136125 2134582] {CVE-2022-42722} - wifi: mac80211_hwsim: avoid mac80211 warning on bad rate (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: avoid nontransmitted BSS list corruption (Jose Ignacio Tornos Martinez) [2136125 2134511] {CVE-2022-42721} - wifi: cfg80211: fix BSS refcounting bugs (Jose Ignacio Tornos Martinez) [2136125 2134460] {CVE-2022-42720} - wifi: cfg80211: ensure length byte is present before access (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix MBSSID parsing use-after-free (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211/mac80211: reject bad MBSSID elements (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: fix u8 overflow in cfg80211_update_notlisted_nontrans() (Jose Ignacio Tornos Martinez) [2136125 2134385] {CVE-2022-41674} - wifi: nl80211: Split memcpy() of struct nl80211_wowlan_tcp_data_token flexible array (Jose Ignacio Tornos Martinez) [2136125] - wifi: wext: use flex array destination for memcpy() (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: fix ieee80211_data_to_8023_exthdr handling of small packets (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: netdev compatible TX stop for iTXQ drivers (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix decap offload for stations on AP_VLAN interfaces (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: unlock on error in ieee80211_can_powered_addr_change() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: remove/avoid misleading prints (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix probe req HE capabilities access (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: do not drop packets smaller than the LLC-SNAP header on fast-rx (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix rate reporting / throughput regression on mt7915 and newer (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Improve rtl8xxxu_queue_select (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Fix AIFS written to REG_EDCA_*_PARAM (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: gen2: Enable 40 MHz channel width (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852b: configure DLE mem (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: check DLE FIFO size with reserved size (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: mac: correct register of report IMR (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: set power cut closed for 8852be (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: add to do PCI auto calibration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852b: implement chip_ops::{enable,disable}_bb_rf (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: add DMA busy checking bits to chip info (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: mac: define DMA channel mask to avoid unsupported channels (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: mask out unsupported TX channels (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: Track scan_cmd allocation size explicitly (Jose Ignacio Tornos Martinez) [2136125] - brcmfmac: Remove the call to "dtim_assoc" IOVAR (Jose Ignacio Tornos Martinez) [2136125] - brcmfmac: increase dcmd maximum buffer size (Jose Ignacio Tornos Martinez) [2136125] - brcmfmac: Support 89459 pcie (Jose Ignacio Tornos Martinez) [2136125] - brcmfmac: increase default max WOWL patterns to 16 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix deadlock during WoWLAN suspend (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Remove redundant ath11k_mac_drain_tx (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add spectral scan support for 160 MHz (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add support to get power save duration for each client (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix peer addition/deletion error on sta band migration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support for enable/disable MSDU aggregation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: disable 26-tone RU HE TB PPDU transmissions (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support for processing P2P power saving (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support WMM-PS in P2P GO mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: set wifi_role of P2P (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: send OFDM rate only in P2P mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support P2P (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: correctly set BBP register 86 for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: set SoC wmac clock register (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: set VGC gain for both chains of MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: set correct TX_SW_CFG1 MAC register for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: fix HT20/HT40 bandwidth switch on MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: move helper functions up in file (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add TX LOFT calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: don't run Rt5592 IQ calibration on MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add RXIQ calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add RXDCOC calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add r calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add RF self TXDC calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: move up and reuse busy wait functions (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add support for external PA on MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add throughput LED trigger (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: define RF5592 in init_eeprom routine (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix number of VHT beamformee spatial streams (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: retrieve MAC address from system firmware if provided (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: add get_txpower mac ops (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: move firmware stats out of debugfs (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath9k: fix repeated the words in a comment (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath9k: fix repeated to words in a comment (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath10k: reset pointer after memory free to avoid potential use-after-free (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix failed to find the peer with peer_id 0 when disconnected (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: change complete() to complete_all() for scan.completed (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: update coexistence to 6.3.0 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add logic to control BT scan priority (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: summarize Wi-Fi to BT scoreboard and inform BT one time a cycle (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: modify LNA2 setting to avoid BT destroyed Wi-Fi aggregation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add WL_S0 hardware TX/RX mask to allow WL_S0 TX/RX during GNT_BT (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add v1 Wi-Fi firmware steps report (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add v1 summary info to parse the traffic status from firmware (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: translate slot ID to readable name (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add v1 cycle report to parsing Bluetooth A2DP status (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: fix array of flexible structures warnings (Jose Ignacio Tornos Martinez) [2136125] - wifi: rndis_wlan: fix array of flexible structures warning (Jose Ignacio Tornos Martinez) [2136125] - mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv (Jose Ignacio Tornos Martinez) [2136125] - bus: mhi: host: pci_generic: Add a secondary AT port to Telit FN990 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add WoW support for WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Include STA_KEEPALIVE_ARP_RESPONSE TLV header by default (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: Fix "Error - Attempt to send packet over invalid queue 2" (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: add multi-port ID to TX descriptor (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: fix rx filter after scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: free unused skb to prevent memory leak (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: reset halt registers before turn on wifi CPU (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: update LTR settings (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: mac: set NAV upper to 25ms (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: initialize DMA of CMAC (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support SER L1 simulation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: support fw crash simulation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: introudce functions to drop packets (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: unify use of rtw89_h2c_tx() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: concentrate control function of TX DMA channel (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: correct enable functions of HCI/PCI DMA (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: L1 DMA reset has offloaded to FW (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support for setting TID specific configuration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support for setting HE GI and LTF (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: show connecting state in debug message (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Combine set grant WL/BT and correct the debug log (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Remove trace_step at COEX-MECH control structure for RTL8852C (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Parsing Wi-Fi firmware TDMA info from reports (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Parsing Wi-Fi firmware error message from reports (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Move coexistence firmware buffer size parameter to chip info (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Add v1 Wi-Fi firmware power-saving null data report (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: use void pointer as temporal type to copy report (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie: Add IDs/properties for BCM4378 (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie: Support PCIe core revisions >= 64 (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: msgbuf: Increase RX ring sizes to 1024 (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: firmware: Allow platform to override macaddr (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie: Perform firmware selection for Apple platforms (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: of: Fetch Apple properties (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie: Read Apple OTP information (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: firmware: Support passing in multiple board_types (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie/sdio/usb: Get CLM blob via standard firmware mechanism (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: firmware: Handle per-board clm_blob files (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: d3: parse keys from wowlan info notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: iterate over interfaces after an assert in d3 (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: trigger resume flow before wait for notifications (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: Add handling for scan offload match info notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: enable resume based on notifications (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: Add support for d3 end notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: Add support for wowlan wake packet notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: Add support for wowlan info notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: don't check D0I3 version (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: cfg: remove IWL_DEVICE_BZ_COMMON macro (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: refactor iwl_mvm_set_sta_rate() a bit (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: rxmq: further unify some VHT/HE code (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: rxmq: refactor mac80211 rx_status setting (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: fix typo in struct iwl_rx_no_data API (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: pcie: add support for BZ devices (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix kernel-doc issues (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix miscellaneous spelling errors (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath10k: Fix miscellaneous spelling errors (Jose Ignacio Tornos Martinez) [2136125] - bus: mhi: host: always print detected modem name (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921s: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7663s: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921e: fix random fw download fail (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: introduce Country Location Control support (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921e: fix rmmod crash in driver reload test (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: reset msta->airtime_ac while clearing up hw value (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7915: do not check state before configuring implicit beamform (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix uninitialized pointer in mt7921_mac_fill_rx (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7915: fix mcs value in ht mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: get rid of the false positive reset (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: connac: fix in comment (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: add PPDU based TxS support for WED device (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: move move mt76_sta_stats to mt76_wcid (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix the firmware version report (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_sta_set_decap_offload (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_[start, stop]_ap (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt76_usb.mt76u_mcu.burst is always false remove related code (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7663s: add rx_check callback (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: connac: fix possible unaligned access in mt76_connac_mcu_add_nested_tlv (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7915: fix possible unaligned access in mt7915_mac_add_twt_setup (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7615: add mt7615_mutex_acquire/release in mt7615_sta_set_decap_offload (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: sdio: fix transmitting packet hangs (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: sdio: add rx_check callback for sdio devices (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: delete stray if statement (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix use after free in mt7921_acpi_read() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7915: fix an uninitialized variable bug (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: sdio: poll sta stat when device transmits data (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: sdio: fix the deadlock caused by sdio->stat_work (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: move mt7921_rx_check and mt7921_queue_rx_skb in mac.c (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921u: remove unnecessary MT76_STATE_SUSPEND (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921u: fix race issue between reset and suspend/resume (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921s: fix race issue between reset and suspend/resume (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921e: fix race issue between reset and suspend/resume (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: add rx_check callback for usb devices (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: testmode: use random payload for tx packets (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: connac: introduce mt76_connac_reg_map structure (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Remove copy-paste leftover in gen2_update_rate_mask (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: gen2: Fix mistake in path B IQ calibration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: split scan including lots of channels (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: support hw_scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: call tx_wake notify for 8852c in deep ps mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support deep ps mode for rtw8852c (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: set response rate selection (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: set TX to single path TX on path B in 6GHz band (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: enlarge polling timeout of RX DCK (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: enable the interference cancellation of MU-MIMO on 6GHz (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: add DIG register struct to share common algorithm (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support TX diversity for 1T2R chipset (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: record signal strength per RF path (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: configure TX path via H2C command (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: parse phycap of TX/RX antenna number (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: use u32_get_bits to access C2H content of PHY capability (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Increase TCL data ring size for WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add multi TX ring support for WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Enable threaded NAPI (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: mhi: fix potential memory leak in ath11k_mhi_register() (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: implement SRAM dump debugfs interface (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Split PCI write/read functions (Jose Ignacio Tornos Martinez) [2136125] - ath11k: Enable remain-on-channel support on WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: fix endian annotations in casts (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: fix endian conversion (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: mark a variable unused (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Fix skb misuse in TX queue selection (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: remove redundant variable err (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: add 43439 SDIO ids and initialization (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Simplify the error handling code (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: Fix comment typo (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: Add DMI nvram filename quirk for Chuwi Hi8 Pro tablet (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: Use ISO3166 country code and rev 0 as fallback on 43430 (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: fix use-after-free bug in brcmf_netdev_start_xmit() (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: calib: Refactor iwl_calib_result usage for clarity (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: always activate all links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: implement link switching (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: keep A-MSDU data in sta and per-link (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: set up beacon timing config on links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: add vif/sta link RCU dereference macros (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: send NDP for link (de)activation (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: extend ieee80211_nullfunc_get() for MLO (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: track active STA links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: skip inactive links on TX (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: add ieee80211_find_sta_by_link_addrs API (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: isolate driver from inactive links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: make smps_mode per-link (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use correct rx link_sta instead of default (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: set link_sta in reorder timeout (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: fix multi-channel handling in netlink RX (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: call drv_sta_state() under sdata_lock() in reconfig (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: add MLD address to assoc BSS entries (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: mlme: refactor QoS settings code (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: warn on invalid link address (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix double SW scan stop (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: mlme: assign link address correctly (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: move link code to a new file (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: refactor RX a bit (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: check STA magic in change_sta_links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: remove unused arg to ieee80211_chandef_eht_oper (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: remove multicast workaround (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: remove redundant err variable (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: Support POWERED_ADDR_CHANGE feature (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: Add POWERED_ADDR_CHANGE feature (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: prevent 4-addr use on MLDs (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: prevent VLANs on MLDs (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add support to connect to non-transmit MBSSID profiles (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix hardware restart failure due to twt debugfs failure (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add TWT debugfs support for STA interface (Jose Ignacio Tornos Martinez) [2136125] - wifi: move from strlcpy with unused retval to strscpy (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add missing destroy_workqueue() on error path in rtw_core_init() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: tighten bounds checking in rtl8xxxu_read_efuse() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: declare to support beamformee above bandwidth 80MHz (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: correct polling address of address CAM (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: no HTC field if TX rate might fallback to legacy (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: correct TX resource checking in low power mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: fix interrupt stuck after leaving low power mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: enlarge the CFO tracking boundary (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: correct suspend/resume setting for variant chips (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: enable CLK_REQ, ASPM, L1 and L1ss for 8852c (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: fix PCI PHY auto adaption by using software restore (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: set TBTT shift configuration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: add retry to change power_mode state (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: correct BA CAM allocation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: initialize and correct BA CAM content (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: declare correct BA CAM number (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: update TX power tables to R49 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: update RF radio A/B parameters to R49 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: TX power limit/limit_ru consider negative (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Update Wi-Fi driver/firmware TDMA cycle report for RTL8852c (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Add v1 Wi-Fi SCC coexistence policy (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Move _set_policy to chip_ops (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: update WL role info v1 for RTL8852C branch using (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Add v1 version TDMA format and parameters (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Define BT B1 slot length (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Add logic to parsing rtl8852c firmware type ctrl report (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Move Wi-Fi firmware coexistence matching version to chip (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: update radio state for RTL8852A/RTL8852C (Jose Ignacio Tornos Martinez) [2136125] - rtw89: 8852c: adjust mactxen delay of mac/phy interface (Jose Ignacio Tornos Martinez) [2136125] - rtw89: 8852c: modify PCIE prebkf time (Jose Ignacio Tornos Martinez) [2136125] - rtw89: ser: leave lps with mutex (Jose Ignacio Tornos Martinez) [2136125] - rtw89: declare support HE HTC always (Jose Ignacio Tornos Martinez) [2136125] - rtw89: 8852a: update HW setting on BB (Jose Ignacio Tornos Martinez) [2136125] - rtw89: 8852c: disable dma during mac init (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: declare support for mac80211 chanctx ops by chip (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: add skeleton of mac80211 chanctx ops support (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: introduce entity mode and its recalculated prototype (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: initialize entity and configure default chandef (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: concentrate chandef setting to stack callback (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: concentrate parameter control for setting channel callback (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: rfk: concentrate parameter control while set_channel() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: txpwr: concentrate channel related control to top (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: create rtw89_chan centrally to avoid breakage (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: re-arrange channel related stuffs under HAL (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: introduce rtw89_chan for channel stuffs (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: rewrite decision on channel by entity state (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add cold boot calibration support on WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix incorrect QMI message ID mappings (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Register shutdown handler for WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath9k: avoid uninit memory read in ath9k_htc_rx_msg() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix potential deadlock in ieee80211_key_link() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: fix uninitialized use of primary channel index (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use full 'unsigned int' type (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: move from strlcpy with unused retval to strscpy (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: read ethtool's sta_stats from sinfo (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: correct SMPS mode in HE 6 GHz capability (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Add link_id to cfg80211_ch_switch_started_notify() (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: send MLO links channel info in GET_INTERFACE (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: allow bw change during channel switch in mesh (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: clean up a needless assignment in ieee80211_sta_activate_link() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: allow link address A2 in TXQ dequeue (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix control port frame addressing (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: set link ID in TX info for beacons (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: fix link change handling (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: maintain link_id in link_sta (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211/mac80211: check EHT capability size correctly (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: split iftype data into AP/non-AP (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: mlme: don't add empty EML capabilities (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use link ID for MLO in queued frames (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use the corresponding link for stats update (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: add link information in ieee80211_rx_status (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: properly implement MLO key handling (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Add link_id parameter to various key operations for MLO (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Prevent cfg80211_wext_siwencodeext() on MLD (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: reject connect response with MLO params for WEP (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix use-after-free (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use link in TXQ parameter configuration (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: add link id to txq params (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: set link BSSID (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: get correct AP link chandef (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Update RNR parsing to align with Draft P802.11be_D2.0 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: properly set old_links when removing a link (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: accept STA changes without link changes (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: prohibit enter IPS during HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add flag check before enter or leave IPS (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add flushing queue before HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: fix WARNING:rtw_get_tx_power_params() during HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add the update channel flow to support setting by parameters (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add mutex when set regulatory and get Tx power table (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add mutex when set SAR (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: Fix to add skb free for TIM update info when tx is completed (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: Fix to add brcmf_clear_assoc_ies when rmmod (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: fix invalid address access when enabling SCAN log level (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: fix scheduling while atomic issue when deleting flowring (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: fix continuous 802.1x tx pending timeout error (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath10k: add peer map clean up for peer delete in ath10k_sta_state() (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath10k: Set tx credit to one for WCN3990 snoc based devices (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852a: correct WDE IMR settings (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: refine leaving LPS function (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtlwifi: 8192de: correct checking of IQK reload (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmsmac: remove duplicate words (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: access chip_info by const pointer (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: phy: fix warning of possible buffer overflow (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: fix store OP channel info timing when HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: fix stopping queues in wrong timing when HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: 8822c: extend supported probe request size (Jose Ignacio Tornos Martinez) [2136125]- ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF (Jaroslav Kysela) [2125548] {CVE-2023-0266} - ALSA: usb-audio: Remove redundant workaround for Roland quirk (Jaroslav Kysela) [2125548] - ASoC: jz4740-i2s: Handle independent FIFO flush bits (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Apply dual codec fixup for Dell Latitude laptops (Jaroslav Kysela) [2125548] - ALSA: patch_realtek: Fix Dell Inspiron Plus 16 (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: Static PCM mapping again with AMD HDMI codecs (Jaroslav Kysela) [2125548] - ALSA: line6: fix stack overflow in line6_midi_transmit (Jaroslav Kysela) [2125548] - ALSA: line6: correct midi status byte when receiving data from podxt (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: Add HP Device 0x8711 to force connect list (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for Lenovo TianYi510Pro-14IOB (Jaroslav Kysela) [2125548] - ALSA: usb-audio: add the quirk for KT0206 device (Jaroslav Kysela) [2125548] - ASoC: rt5670: Remove unbalanced pm_runtime_put() (Jaroslav Kysela) [2125548] - ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in rk_spdif_runtime_resume() (Jaroslav Kysela) [2125548] - ASoC: wm8994: Fix potential deadlock (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: fix stream-id config keep-alive for rt suspend (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: set default audio parameters for KAE silent-stream (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: fix i915 silent stream programming flow (Jaroslav Kysela) [2125548] - ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in rockchip_pdm_runtime_resume() (Jaroslav Kysela) [2125548] - ASoC: audio-graph-card: fix refcount leak of cpu_ep in __graph_for_each_link() (Jaroslav Kysela) [2125548] - ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in mt8173_rt5650_rt5514_dev_probe() (Jaroslav Kysela) [2125548] - ASoC: Intel: Skylake: Fix driver hang during shutdown (Jaroslav Kysela) [2125548] - ALSA: hda: add snd_hdac_stop_streams() helper (Jaroslav Kysela) [2125548] - ASoC: sof_es8336: fix possible use-after-free in sof_es8336_remove() (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add Xiaomi Redmi Book Pro 14 2022 into DMI table (Jaroslav Kysela) [2125548] - ASoC: Intel: avs: Add quirk for KBL-R RVP platform (Jaroslav Kysela) [2125548] - ASoC: codecs: rt298: Add quirk for KBL-R RVP platform (Jaroslav Kysela) [2125548] - ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt (Jaroslav Kysela) [2125548] - ALSA: pcm: Set missing stop_operating flag at undoing trigger start (Jaroslav Kysela) [2125548] - ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe (Jaroslav Kysela) [2125548] - ALSA: asihpi: fix missing pci_disable_device() (Jaroslav Kysela) [2125548] - ASoC: mediatek: mtk-btcvsd: Add checks for write and read of mtk_btcvsd_snd (Jaroslav Kysela) [2125548] - ASoC: qcom: Add checks for devm_kcalloc (Jaroslav Kysela) [2125548] - ASoC: Intel: avs: Lock substream before snd_pcm_stop() (Jaroslav Kysela) [2125548] - ASoC: pxa: fix null-pointer dereference in filter() (Jaroslav Kysela) [2125548] - ASoC: Intel: avs: Fix potential RX buffer overflow (Jaroslav Kysela) [2125548] - ASoC: Intel: avs: Fix DMA mask assignment (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook (Jaroslav Kysela) [2125548] - ASoC: ops: Correct bounds check for second channel on SX controls (Jaroslav Kysela) [2125548] - ASoC: cs42l51: Correct PGA Volume minimum value (Jaroslav Kysela) [2125548] - ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx() (Jaroslav Kysela) [2125548] - ASoC: fsl_micfil: explicitly clear CHnF flags (Jaroslav Kysela) [2125548] - ASoC: fsl_micfil: explicitly clear software reset bit (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: More robust component matching for CS35L41 (Jaroslav Kysela) [2125548] - ASoC: soc-pcm: Add NULL check in BE reparenting (Jaroslav Kysela) [2125548] - ALSA: seq: Fix function prototype mismatch in snd_seq_expand_var_event (Jaroslav Kysela) [2125548] - ASoC: rt711-sdca: fix the latency time of clock stop prepare state machine transitions (Jaroslav Kysela) [2125548] - ASoC: wm8962: Wait for updated value of WM8962_CLOCKING1 register (Jaroslav Kysela) [2125548] - ASoC: ops: Fix bounds check for _sx controls (Jaroslav Kysela) [2125548] - ALSA: dice: fix regression for Lexicon I-ONIX FW810S (Jaroslav Kysela) [2125548] - ASoC: sof_es8336: reduce pop noise on speaker (Jaroslav Kysela) [2125548] - ASoC: SOF: ipc3-topology: use old pipeline teardown flow with SOF2.1 and older (Jaroslav Kysela) [2125548] - ASoC: hda: intel-dsp-config: add ES83x6 quirk for IceLake (Jaroslav Kysela) [2125548] - ASoC: Intel: soc-acpi: add ES83x6 support to IceLake (Jaroslav Kysela) [2125548] - ASoC: Intel: bytcht_es8316: Add quirk for the Nanote UMPC-01 (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add Alienware m17 R5 AMD into DMI table (Jaroslav Kysela) [2125548] - ASoC: max98373: Add checks for devm_kcalloc (Jaroslav Kysela) [2125548] - ASoC: soc-pcm: Don't zero TDM masks in __soc_pcm_open() (Jaroslav Kysela) [2125548] - ASoC: sgtl5000: Reset the CHIP_CLK_CTRL reg on remove (Jaroslav Kysela) [2125548] - ASoC: hdac_hda: fix hda pcm buffer overflow issue (Jaroslav Kysela) [2125548] - ALSA: usb-audio: add quirk to fix Hamedal C20 disconnect issue (Jaroslav Kysela) [2125548] - ASoC: SOF: topology: No need to assign core ID if token parsing failed (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360 (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: fix speakers for Samsung Galaxy Book Pro (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Drop snd_BUG_ON() from snd_usbmidi_output_open() (Jaroslav Kysela) [2125548] - ASoC: soc-utils: Remove __exit for snd_soc_util_exit() (Jaroslav Kysela) [2125548] - ASoC: rt5677: fix legacy dai naming (Jaroslav Kysela) [2125548] - ASoC: rt5514: fix legacy dai naming (Jaroslav Kysela) [2125548] - ASoC: tas2764: Fix set_tdm_slot in case of single slot (Jaroslav Kysela) [2125548] - ASoC: tas2770: Fix set_tdm_slot in case of single slot (Jaroslav Kysela) [2125548] - ASoC: core: Fix use-after-free in snd_soc_exit() (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: Fix spelling mistake "Sourc" -> "Source", "Routee" -> "Route" (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add Lenovo Thinkbook 14+ 2022 21D0 to quirks table (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Adding Lenovo ThinkBook 14 Gen 4+ ARA and Lenovo ThinkBook 16 Gen 4+ ARA to the Quirks List (Jaroslav Kysela) [2125548] - ASoC: rt1308-sdw: add the default value of some registers (Jaroslav Kysela) [2125548] - ASoC: Intel: sof_rt5682: Add quirk for Rex board (Jaroslav Kysela) [2125548] - ASoC: Intel: sof_sdw: add quirk variant for LAPBC710 NUC15 (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: fix capture selector naming (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: use right control for Capture Volume (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: fix reported volume for Master ctl (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: add missed Line In power control bit (Jaroslav Kysela) [2125548] - ASoC: wm8962: Add an event handler for TEMP_HP and TEMP_SPK (Jaroslav Kysela) [2125548] - ASoC: rt1019: Fix the TDM settings (Jaroslav Kysela) [2125548] - ASoC: rt5682s: Fix the TDM Tx settings (Jaroslav Kysela) [2125548] - ASoC: mt6660: Keep the pm_runtime enables before component stuff in mt6660_i2c_probe (Jaroslav Kysela) [2125548] - ASoC: wm8997: Revert "ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe" (Jaroslav Kysela) [2125548] - ASoC: wm5110: Revert "ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe" (Jaroslav Kysela) [2125548] - ASoC: wm5102: Revert "ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe" (Jaroslav Kysela) [2125548] - ALSA: memalloc: Try dma_alloc_noncontiguous() at first (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Add DSD support for Accuphase DAC-60 (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Add quirk entry for M-Audio Micro (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Yet more regression for for the delayed card registration (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add Positivo C6300 model quirk (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 (Jaroslav Kysela) [2125548] - ALSA: hda: fix potential memleak in 'add_widget_node' (Jaroslav Kysela) [2125548] - ALSA: hda/ca0132: add quirk for EVGA Z390 DARK (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi - enable runtime pm for more AMD display audio (Jaroslav Kysela) [2125548] - ALSA: memalloc: Don't fall back for SG-buffer with IOMMU (Jaroslav Kysela) [2125548] - ALSA: aoa: Fix I2S device accounting (Jaroslav Kysela) [2125548] - ALSA: aoa: i2sbus: fix possible memory leak in i2sbus_add_dev() (Jaroslav Kysela) [2125548] - ALSA: ac97: fix possible memory leak in snd_ac97_dev_register() (Jaroslav Kysela) [2125548] - ASoC: SOF: Intel: pci-tgl: fix ADL-N descriptor (Jaroslav Kysela) [2125548] - ASoC: SOF: Intel: pci-tgl: use RPL specific firmware definitions (Jaroslav Kysela) [2125548] - ASoC: Intel: common: add ACPI matching tables for Raptor Lake (Jaroslav Kysela) [2125548] - ALSA: rme9652: use explicitly signed char (Jaroslav Kysela) [2125548] - ALSA: au88x0: use explicitly signed char (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add another HP ZBook G9 model quirks (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Add quirks for M-Audio Fast Track C400/600 (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 (Jaroslav Kysela) [2125548] - ALSA: Use del_timer_sync() before freeing timer (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Fix last interface check for registration (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add Lenovo Yoga Slim 7 Pro X to quirks table (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add ASUS UM5302TA into DMI table (Jaroslav Kysela) [2125548] - ASoC: SOF: add quirk to override topology mclk_id (Jaroslav Kysela) [2125548] - ASoC: SOF: pci: Change DMI match info to support all Chrome platforms (Jaroslav Kysela) [2125548] - ALSA: intel-dspconfig: add ES8336 support for AlderLake-PS (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Register card at the last interface (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Add quirk to enable Avid Mbox 3 support (Jaroslav Kysela) [2125548] - ASoC: mt6660: Fix PM disable depth imbalance in mt6660_i2c_probe (Jaroslav Kysela) [2125548] - ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe (Jaroslav Kysela) [2125548] - ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe (Jaroslav Kysela) [2125548] - ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe (Jaroslav Kysela) [2125548] - ASoC: stm: Fix PM disable depth imbalance in stm32_i2s_probe (Jaroslav Kysela) [2125548] - ASoC: stm32: spdifrx: Fix PM disable depth imbalance in stm32_spdifrx_probe (Jaroslav Kysela) [2125548] - ASoC: stm32: dfsdm: Fix PM disable depth imbalance in stm32_adfsdm_probe (Jaroslav Kysela) [2125548] - ALSA: dmaengine: increment buffer pointer atomically (Jaroslav Kysela) [2125548] - ASoC: da7219: Fix an error handling path in da7219_register_dai_clks() (Jaroslav Kysela) [2125548] - ASoC: eureka-tlv320: Hold reference returned from of_find_xxx API (Jaroslav Kysela) [2125548] - ASoC: wm_adsp: Handle optional legacy support (Jaroslav Kysela) [2125548] - ASoC: rsnd: Add check for rsnd_mod_power_on (Jaroslav Kysela) [2125548] - ASoC: soc-pcm.c: call __soc_pcm_close() in soc_pcm_close() (Jaroslav Kysela) [2125548] - ASoC: mt6359: fix tests for platform_get_irq() failure (Jaroslav Kysela) [2125548] - ASoC: wcd934x: fix order of Slimbus unprepare/disable (Jaroslav Kysela) [2125548] - ASoC: wcd9335: fix order of Slimbus unprepare/disable (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add Intel Reference SSID to support headset keys (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for ASUS GV601R laptop (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Fix NULL dererence at error path (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Fix potential memory leaks (Jaroslav Kysela) [2125548] - ALSA: rawmidi: Drop register_mutex in snd_rawmidi_free() (Jaroslav Kysela) [2125548] - ALSA: oss: Fix potential deadlock at unregistration (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for HP Zbook Firefly 14 G9 model (Jaroslav Kysela) [2125548] - ALSA: hda: Fix position reporting on Poulsbo (Jaroslav Kysela) [2125548]- KVM: x86: smm: preserve interrupt shadow in SMRAM (Maxim Levitsky) [2097144] - KVM: x86: SVM: don't save SVM state to SMRAM when VM is not long mode capable (Maxim Levitsky) [2097144] - KVM: x86: SVM: use smram structs (Maxim Levitsky) [2097144] - KVM: svm: drop explicit return value of kvm_vcpu_map (Maxim Levitsky) [2097144] - KVM: x86: smm: use smram struct for 64 bit smram load/restore (Maxim Levitsky) [2097144] - KVM: x86: smm: use smram struct for 32 bit smram load/restore (Maxim Levitsky) [2097144] - KVM: x86: smm: use smram structs in the common code (Maxim Levitsky) [2097144] - KVM: x86: smm: add structs for KVM's smram layout (Maxim Levitsky) [2097144] - KVM: x86: smm: check for failures on smm entry (Maxim Levitsky) [2097144] - KVM: x86: do not go through ctxt->ops when emulating rsm (Maxim Levitsky) [2097144] - KVM: x86: move SMM exit to a new file (Maxim Levitsky) [2097144] - KVM: x86: move SMM entry to a new file (Maxim Levitsky) [2097144] - KVM: x86: start moving SMM-related functions to new files (Maxim Levitsky) [2097144] - bug: introduce ASSERT_STRUCT_OFFSET (Maxim Levitsky) [2097144] - KVM: x86: Rename and expose helper to detect if INIT/SIPI are allowed (Maxim Levitsky) [2097144] - KVM: x86: smm: number of GPRs in the SMRAM image depends on the image format (Maxim Levitsky) [2097144] - KVM: x86: emulator: update the emulation mode after CR0 write (Maxim Levitsky) [2097144] - KVM: x86: emulator: update the emulation mode after rsm (Maxim Levitsky) [2097144] - KVM: x86: emulator: introduce emulator_recalc_and_set_mode (Maxim Levitsky) [2097144] - KVM: x86: emulator: em_sysexit should update ctxt->mode (Maxim Levitsky) [2097144] - KVM: x86: Bug the VM if the emulator accesses a non-existent GPR (Maxim Levitsky) [2097144] - KVM: x86: Reduce the number of emulator GPRs to '8' for 32-bit KVM (Maxim Levitsky) [2097144] - KVM: x86: Use 16-bit fields to track dirty/valid emulator GPRs (Maxim Levitsky) [2097144] - KVM: x86: Omit VCPU_REGS_RIP from emulator's _regs array (Maxim Levitsky) [2097144] - KVM: x86: Harden _regs accesses to guard against buggy input (Maxim Levitsky) [2097144] - KVM: x86: Grab regs_dirty in local 'unsigned long' (Maxim Levitsky) [2097144]- RDMA/bnxt_re: Fix endianness warning for req.pkey (Kamal Heib) [2142690] - RDMA/bnxt_re: Use bitmap_zalloc() when applicable (Kamal Heib) [2142690] - RDMA/bnxt_re: Remove dynamic pkey table (Kamal Heib) [2142690] - RDMA/bnxt_re: Scan the whole bitmap when checking if "disabling RCFW with pending cmd-bit" (Kamal Heib) [2142690] - RDMA/bnxt_re: Remove unneeded variable (Kamal Heib) [2142690] - RDMA/bnxt_re: Remove unsupported bnxt_re_modify_ah callback (Kamal Heib) [2142690] - RDMA/bnxt_re: Use helper function to set GUIDs (Kamal Heib) [2142690] - RDMA/bnxt_re: Check if the vlan is valid before reporting (Kamal Heib) [2142690] - RDMA/bnxt_re: Correct FRMR size calculation (Kamal Heib) [2142690] - RDMA/bnxt_re: Use GFP_KERNEL in non atomic context (Kamal Heib) [2142690] - RDMA/bnxt_re: Fix FRMR issue with single page MR allocation (Kamal Heib) [2142690] - RDMA/bnxt_re: Fix query SRQ failure (Kamal Heib) [2142690] - RDMA/bnxt_re: Suppress unwanted error messages (Kamal Heib) [2142690] - RDMA/bnxt_re: Support multiple page sizes (Kamal Heib) [2142690] - RDMA/bnxt_re: Reduce the delay in polling for hwrm command completion (Kamal Heib) [2142690] - RDMA/bnxt_re: Use separate response buffer for stat_ctx_free (Kamal Heib) [2142690] - net/mlx5: Lag, Fix for loop when checking lag (Amir Tzin) [2112917] - net/mlx5e: Fix use-after-free when reverting termination table (Amir Tzin) [2112927] - net/mlx5: Fix uninitialized variable bug in outlen_write() (Amir Tzin) [2112927] - net/mlx5: E-switch, Fix duplicate lag creation (Amir Tzin) [2112927 2112917] - net/mlx5: E-switch, Destroy legacy fdb table when needed (Amir Tzin) [2112927 2112917] - net/mlx5: DR, Fix uninitialized var warning (Amir Tzin) [2112927] - net/mlx5e: Offload rule only when all encaps are valid (Amir Tzin) [2112927] - net/mlx5: Fix sync reset event handler error flow (Amir Tzin) [2112927] - net/mlx5: E-Switch, Set correctly vport destination (Amir Tzin) [2112927] - net/mlx5: Fix handling of entry refcount when command is not issued to FW (Amir Tzin) [2112927] - net/mlx5: cmdif, Print info on any firmware cmd failure to tracepoint (Amir Tzin) [2112927] - net/mlx5: SF: Fix probing active SFs during driver probe phase (Amir Tzin) [2112927] - net/mlx5: Fix FW tracer timestamp calculation (Amir Tzin) [2112927] - net/mlx5: Do not query pci info while pci disabled (Amir Tzin) [2112927 2129249] - net/mlx5e: TC, Fix slab-out-of-bounds in parse_tc_actions (Amir Tzin) [2112927] - net/mlx5e: Clean up and fix error flows in mlx5e_alloc_rq (Amir Tzin) [2112927] - net/mlx5: DR, Fix the SMFS sync_steering for fast teardown (Amir Tzin) [2112927] - net/mlx5e: E-Switch, Fix comparing termination table instance (Amir Tzin) [2112927] - net/mlx5e: TC, Fix wrong rejection of packet-per-second policing (Amir Tzin) [2112927 2049622] - net/mlx5e: Fix tc acts array not to be dependent on enum order (Amir Tzin) [2112927] - net/mlx5e: Add missing sanity checks for max TX WQE size (Amir Tzin) [2112927] - net/mlx5: fw_reset: Don't try to load device in case PCI isn't working (Amir Tzin) [2112927] - net/mlx5: E-switch, Set to legacy mode if failed to change switchdev mode (Amir Tzin) [2112927 2112917] - net/mlx5: Allow async trigger completion execution on single CPU systems (Amir Tzin) [2112927] - net/mlx5: Bridge, verify LAG state when adding bond to bridge (Amir Tzin) [2112927] - net/mlx5: Fix crash during sync firmware reset (Amir Tzin) [2112927] - net/mlx5e: TC, Fix cloned flow attr instance dests are not zeroed (Amir Tzin) [2112927] - net/mlx5: Fix possible use-after-free in async command interface (Amir Tzin) [2112927] - net/mlx5: ASO, Create the ASO SQ with the correct timestamp format (Amir Tzin) [2112927 2049622] - net/mlx5e: Update restore chain id for slow path packets (Amir Tzin) [2112927] - net/mlx5e: Extend SKB room check to include PTP-SQ (Amir Tzin) [2112927] - net/mlx5: DR, Fix matcher disconnect error flow (Amir Tzin) [2112927] - net/mlx5: Wait for firmware to enable CRS before pci_restore_state (Amir Tzin) [2112927] - net/mlx5e: Do not increment ESN when updating IPsec ESN state (Amir Tzin) [2112927] - net/mlx5e: Fix calculations for ICOSQ size (Amir Tzin) [2112927] - net/mlx5: Fix spelling mistake "syndrom" -> "syndrome" (Amir Tzin) [2112927] - net/mlx5e: Fix a typo in mlx5e_xdp_mpwqe_is_full (Amir Tzin) [2112927] - RDMA/mlx5: Don't compare mkey tags in DEVX indirect mkey (Amir Tzin) [2112927] - RDMA/mlx5: Fix UMR cleanup on error flow of driver init (Amir Tzin) [2112927] - RDMA/mlx5: Rely on RoCE fw cap instead of devlink when setting profile (Amir Tzin) [2112927] - net/mlx5: Unlock on error in mlx5_sriov_enable() (Amir Tzin) [2112927] - net/mlx5e: Fix use after free in mlx5e_fs_init() (Amir Tzin) [2112927] - net/mlx5e: kTLS, Use _safe() iterator in mlx5e_tls_priv_tx_list_cleanup() (Amir Tzin) [2112927] - net/mlx5: unlock on error path in esw_vfs_changed_event_handler() (Amir Tzin) [2112927 2150647] - net/mlx5e: Fix wrong tc flag used when set hw-tc-offload off (Amir Tzin) [2112927] - net/mlx5e: TC, Add missing policer validation (Amir Tzin) [2112927] - net/mlx5e: Fix wrong application of the LRO state (Amir Tzin) [2112927] - net/mlx5: Avoid false positive lockdep warning by adding lock_class_key (Amir Tzin) [2112927] - net/mlx5: Fix cmd error logging for manage pages cmd (Amir Tzin) [2112927] - net/mlx5: Disable irq when locking lag_lock (Amir Tzin) [2112927] - net/mlx5: Eswitch, Fix forwarding decision to uplink (Amir Tzin) [2112927 2150647] - net/mlx5: LAG, fix logic over MLX5_LAG_FLAG_NDEVS_READY (Amir Tzin) [2112927] - net/mlx5e: Properly disable vlan strip on non-UL reps (Amir Tzin) [2112927] - net/mlx5e: Allocate flow steering storage during uplink initialization (Amir Tzin) [2112927] - RDMA/mlx5: Use the proper number of ports (Amir Tzin) [2112927] - mlx5: do not use RT_TOS for IPv6 flowlabel (Amir Tzin) [2112927] - RDMA/mlx5: Add missing check for return value in get namespace flow (Amir Tzin) [2112927] - net/mlx5e: xsk: Discard unaligned XSK frames on striding RQ (Amir Tzin) [2112927] - net: devlink: convert reload command to take implicit devlink->lock (mlx5 hunk only) (Amir Tzin) [2112927] - devlink: Hold the instance lock in health callbacks (mlx5 hunk only) (Amir Tzin) [2112927] - net/mlx5: Lock mlx5 devlink health recovery callback (Amir Tzin) [2112927] - net/mlx5: Lock mlx5 devlink reload callbacks (Amir Tzin) [2112927] - net/mlx5: Move fw reset unload to mlx5_fw_reset_complete_reload (Amir Tzin) [2112927] - net/mlx5e: kTLS, Dynamically re-size TX recycling pool (Amir Tzin) [2112927] - net/mlx5e: kTLS, Recycle objects of device-offloaded TLS TX connections (Amir Tzin) [2112927] - net/mlx5e: kTLS, Take stats out of OOO handler (Amir Tzin) [2112927] - net/mlx5e: kTLS, Introduce TLS-specific create TIS (Amir Tzin) [2112927] - net/mlx5e: Move mlx5e_init_l2_addr to en_main (Amir Tzin) [2112927] - net/mlx5e: Split en_fs ndo's and move to en_main (Amir Tzin) [2112927] - net/mlx5e: Separate mlx5e_set_rx_mode_work and move caller to en_main (Amir Tzin) [2112927] - net/mlx5e: Add mdev to flow_steering struct (Amir Tzin) [2112927] - net/mlx5e: Report flow steering errors with mdev err report API (Amir Tzin) [2112927] - net/mlx5e: Convert mlx5e_flow_steering member of mlx5e_priv to pointer (Amir Tzin) [2112927] - net/mlx5e: Allocate VLAN and TC for featured profiles only (Amir Tzin) [2112927] - net/mlx5e: Make mlx5e_tc_table private (Amir Tzin) [2112927] - net/mlx5e: Convert mlx5e_tc_table member of mlx5e_flow_steering to pointer (Amir Tzin) [2112927] - net/mlx5e: TC, Support tc action api for police (Amir Tzin) [2112927] - net/mlx5e: TC, Separate get/update/replace meter functions (Amir Tzin) [2112927] - net/mlx5e: Add red and green counters for metering (Amir Tzin) [2112927] - net/mlx5e: TC, Allocate post meter ft per rule (Amir Tzin) [2112927] - net/mlx5: DR, Add support for flow metering ASO (Amir Tzin) [2112927] - net/mlx5: Fix driver use of uninitialized timeout (Amir Tzin) [2112927] - net/mlx5: DR, Fix SMFS steering info dump format (Amir Tzin) [2112927] - net/mlx5: Adjust log_max_qp to be 18 at most (Amir Tzin) [2112927] - net/mlx5e: Modify slow path rules to go to slow fdb (Amir Tzin) [2112927 2150647] - net/mlx5e: Fix calculations related to max MPWQE size (Amir Tzin) [2112927] - net/mlx5e: xsk: Account for XSK RQ UMRs when calculating ICOSQ size (Amir Tzin) [2112927] - net/mlx5e: Fix the value of MLX5E_MAX_RQ_NUM_MTTS (Amir Tzin) [2112927] - net/mlx5e: TC, Fix post_act to not match on in_port metadata (Amir Tzin) [2112927] - net/mlx5e: Remove WARN_ON when trying to offload an unsupported TLS cipher/version (Amir Tzin) [2112927] - RDMA/mlx5: Rename the mkey cache variables and functions (Amir Tzin) [2112927] - RDMA/mlx5: Store in the cache mkeys instead of mrs (Amir Tzin) [2112927] - RDMA/mlx5: Store the number of in_use cache mkeys instead of total_mrs (Amir Tzin) [2112927] - RDMA/mlx5: Replace cache list with Xarray (Amir Tzin) [2112927] - RDMA/mlx5: Replace ent->lock with xa_lock (Amir Tzin) [2112927] - net/mlx5: CT: Remove warning of ignore_flow_level support for non PF (Amir Tzin) [2112927] - net/mlx5e: Add resiliency for PTP TX port timestamp (Amir Tzin) [2112927] - net/mlx5: Expose ts_cqe_metadata_size2wqe_counter (Amir Tzin) [2112927] - net/mlx5e: HTB, move htb functions to a new file (Amir Tzin) [2112927] - net/mlx5e: HTB, change functions name to follow convention (Amir Tzin) [2112927] - net/mlx5e: HTB, remove priv from htb function calls (Amir Tzin) [2112927] - net/mlx5e: HTB, hide and dynamically allocate mlx5e_htb structure (Amir Tzin) [2112927] - net/mlx5e: HTB, move stats and max_sqs to priv (Amir Tzin) [2112927] - net/mlx5e: HTB, move section comment to the right place (Amir Tzin) [2112927] - net/mlx5e: HTB, move ids to selq_params struct (Amir Tzin) [2112927] - net/mlx5e: HTB, reduce visibility of htb functions (Amir Tzin) [2112927] - net/mlx5e: Fix mqprio_rl handling on devlink reload (Amir Tzin) [2112927] - net/mlx5e: Report header-data split state through ethtool (Amir Tzin) [2112927] - RDMA/mlx5: Expose steering anchor to userspace (Amir Tzin) [2112927] - RDMA/mlx5: Refactor get flow table function (Amir Tzin) [2112927] - net/mlx5: fs, allow flow table creation with a UID (Amir Tzin) [2112927] - net/mlx5: fs, expose flow table ID to users (Amir Tzin) [2112927] - net/mlx5: Expose the ability to point to any UID from shared UID (Amir Tzin) [2112927] - net/mlx5e: Remove the duplicating check for striding RQ when enabling LRO (Amir Tzin) [2112927] - net/mlx5e: Move the LRO-XSK check to mlx5e_fix_features (Amir Tzin) [2112927] - net/mlx5e: Extend flower police validation (Amir Tzin) [2112927] - net/mlx5e: configure meter in flow action (Amir Tzin) [2112927 2150647 2049622] - net/mlx5e: Removed useless code in function (Amir Tzin) [2112927] - net/mlx5: Bridge, implement QinQ support (Amir Tzin) [2112927] - net/mlx5: Bridge, implement infrastructure for VLAN protocol change (Amir Tzin) [2112927] - net/mlx5: Bridge, extract VLAN push/pop actions creation (Amir Tzin) [2112927] - net/mlx5: Bridge, rename filter fg to vlan_filter (Amir Tzin) [2112927] - net/mlx5: Bridge, refactor groups sizes and indices (Amir Tzin) [2112927] - net/mlx5: debugfs, Add num of in-use FW command interface slots (Amir Tzin) [2112927] - net/mlx5: Expose vnic diagnostic counters for eswitch managed vports (Amir Tzin) [2112927 2150647 2049881] - net/mlx5: Use software VHCA id when it's supported (Amir Tzin) [2112927] - net/mlx5: Introduce ifc bits for using software vhca id (Amir Tzin) [2112927] - net/mlx5: Use the bitmap API to allocate bitmaps (Amir Tzin) [2112927] - devlink: Hold the instance lock in port_new / port_del callbacks (mlx5 hunks only) (Amir Tzin) [2112925] - net/mlx5: Remove devl_unlock from mlx5_devlink_eswitch_mode_set (Amir Tzin) [2112927 2150647] - net/mlx5: Use devl_ API in mlx5e_devlink_port_register (Amir Tzin) [2112927 2150647] - net/mlx5: Use devl_ API in mlx5_esw_devlink_sf_port_register (Amir Tzin) [2112927] - net/mlx5: Use devl_ API in mlx5_esw_offloads_devlink_port_register (Amir Tzin) [2112927 2150647] - net/mlx5: Use devl_ API for rate nodes destroy (Amir Tzin) [2112927 2150647] - net/mlx5: Remove devl_unlock from mlx5_eswtich_mode_callback_enter (Amir Tzin) [2112927 2150647] - net/mlx5: fix 32bit build (Amir Tzin) [2112927 2049622] - net/mlx5e: TC, Support offloading police action (Amir Tzin) [2112927 2049622] - net/mlx5e: Add flow_action to parse state (Amir Tzin) [2112927 2049622] - net/mlx5e: Add post meter table for flow metering (Amir Tzin) [2112927 2049622] - net/mlx5e: Add generic macros to use metadata register mapping (Amir Tzin) [2112927 2049622] - net/mlx5e: Get or put meter by the index of tc police action (Amir Tzin) [2112927 2049622] - net/mlx5e: Add support to modify hardware flow meter parameters (Amir Tzin) [2112927 2049622] - net/mlx5e: Prepare for flow meter offload if hardware supports it (Amir Tzin) [2112927 2049622] - net/mlx5: Implement interfaces to control ASO SQ and CQ (Amir Tzin) [2112927 2049622] - net/mlx5: Add support to create SQ and CQ for ASO (Amir Tzin) [2112927 2049622] - net/mlx5: E-switch: Change eswitch mode only via devlink command (Amir Tzin) [2112927 2150647 2112917] - net/mlx5: E-switch, Remove dependency between sriov and eswitch mode (Amir Tzin) [2112927 2150647 2112917] - net/mlx5: E-switch, Introduce flag to indicate if fdb table is created (Amir Tzin) [2112927 2112917] - net/mlx5: E-switch, Introduce flag to indicate if vport acl namespace is created (Amir Tzin) [2112927 2112917] - net/mlx5: delete dead code in mlx5_esw_unlock() (Amir Tzin) [2112927] - net/mlx5: Delete ipsec_fs header file as not used (Amir Tzin) [2112927] - net/mlx5: Add bits and fields to support enhanced CQE compression (Amir Tzin) [2112927] - net/mlx5: Remove not used MLX5_CAP_BITS_RW_MASK (Amir Tzin) [2112927] - net/mlx5: group fdb cleanup to single function (Amir Tzin) [2112927] - net/mlx5: Add support EXECUTE_ASO action for flow entry (Amir Tzin) [2112927 2049622] - net/mlx5: Add HW definitions of vport debug counters (Amir Tzin) [2112927] - net/mlx5: Add IFC bits and enums for flow meter (Amir Tzin) [2112927 2049622] - RDMA/mlx5: Support handling of modify-header pattern ICM area (Amir Tzin) [2112927] - net/mlx5: Manage ICM of type modify-header pattern (Amir Tzin) [2112927] - net/mlx5: Introduce header-modify-pattern ICM properties (Amir Tzin) [2112927] - RDMA/mlx5: Add a umr recovery flow (Amir Tzin) [2112927] - net/mlx5e: Ring the TX doorbell on DMA errors (Amir Tzin) [2112925] - net/mlx5e: Fix capability check for updating vnic env counters (Amir Tzin) [2112925] - net/mlx5: Lag, correct get the port select mode str (Amir Tzin) [2112925] - net/mlx5e: Fix enabling sriov while tc nic rules are offloaded (Amir Tzin) [2112925] - net/mlx5e: kTLS, Fix build time constant test in RX (Amir Tzin) [2112925] - net/mlx5e: kTLS, Fix build time constant test in TX (Amir Tzin) [2112925] - net/mlx5: Lag, decouple FDB selection and shared FDB (Amir Tzin) [2112925] - net/mlx5: TC, allow offload from uplink to other PF's VF (Amir Tzin) [2112925] - mellanox: mlx5: avoid uninitialized variable warning with gcc-12 (Amir Tzin) [2112925] - net/mlx5: E-Switch, pair only capable devices (Amir Tzin) [2112925 2150647] - Revert "net/mlx5e: Allow relaxed ordering over VFs" (Amir Tzin) [2112925] - net/mlx5: Fix mlx5_get_next_dev() peer device matching (Amir Tzin) [2112925] - RDMA/mlx5: Remove duplicate pointer assignment in mlx5_ib_alloc_implicit_mr() (Amir Tzin) [2112925] - net/mlx5: fix multiple definitions of mlx5_lag_mpesw_init / mlx5_lag_mpesw_cleanup (Amir Tzin) [2112925] - net/mlx5: Support multiport eswitch mode (Amir Tzin) [2112925 2150647] - net/mlx5: Remove unused argument (Amir Tzin) [2112925] - net/mlx5: Lag, refactor lag state machine (Amir Tzin) [2112925] - net/mlx5e: Add XDP SQs to uplink representors steering tables (Amir Tzin) [2112925] - net/mlx5e: Allow relaxed ordering over VFs (Amir Tzin) [2112925] - net/mlx5e: Support partial GSO for tunnels over vlans (Amir Tzin) [2112925] - net/mlx5e: IPoIB, Improve ethtool rxnfc callback structure in IPoIB (Amir Tzin) [2112925] - net/mlx5e: Allocate virtually contiguous memory for reps structures (Amir Tzin) [2112925] - net/mlx5e: Allocate virtually contiguous memory for VLANs list (Amir Tzin) [2112925] - net/mlx5: Allocate virtually contiguous memory in pci_irq.c (Amir Tzin) [2112925] - net/mlx5: Allocate virtually contiguous memory in vport.c (Amir Tzin) [2112925] - net/mlx5: Inline db alloc API function (Amir Tzin) [2112925] - net/mlx5: Add last command failure syndrome to debugfs (Amir Tzin) [2112925] - net/mlx5: sparse: error: context imbalance in 'mlx5_vf_get_core_dev' (Amir Tzin) [2112925] - net/mlx5: Expose mlx5_sriov_blocking_notifier_register / unregister APIs (Amir Tzin) [2112925] - net/mlx5: Lag, add debugfs to query hardware lag state (Amir Tzin) [2112925] - net/mlx5: Lag, use buckets in hash mode (Amir Tzin) [2112925] - net/mlx5: Lag, refactor dmesg print (Amir Tzin) [2112925] - net/mlx5: Support devices with more than 2 ports (Amir Tzin) [2112925] - net/mlx5: Lag, use actual number of lag ports (Amir Tzin) [2112925] - net/mlx5: Lag, use hash when in roce lag on 4 ports (Amir Tzin) [2112925] - net/mlx5: Lag, support single FDB only on 2 ports (Amir Tzin) [2112925] - net/mlx5: Lag, store number of ports inside lag object (Amir Tzin) [2112925] - net/mlx5: Lag, filter non compatible devices (Amir Tzin) [2112925] - net/mlx5: Lag, use lag lock (Amir Tzin) [2112925] - net/mlx5: Lag, move E-Switch prerequisite check into lag code (Amir Tzin) [2112925] - net/mlx5: devcom only supports 2 ports (Amir Tzin) [2112925] - net/mlx5: Lag, expose number of lag ports (Amir Tzin) [2112925] - net/mlx5: Increase FW pre-init timeout for health recovery (Amir Tzin) [2112925] - net/mlx5: Add exit route when waiting for FW (Amir Tzin) [2112925] - net/mlx5e: Use XFRM state direction instead of flags (Amir Tzin) [2112925] - net/mlx5: Allow future addition of IPsec object modifiers (Amir Tzin) [2112925] - net/mlx5: Don't perform lookup after already known sec_path (Amir Tzin) [2112925] - net/mlx5: Cleanup XFRM attributes struct (Amir Tzin) [2112925] - net/mlx5: Remove not-supported ICV length (Amir Tzin) [2112925] - net/mlx5: Simplify IPsec capabilities logic (Amir Tzin) [2112925] - net/mlx5: Don't advertise IPsec netdev support for non-IPsec device (Amir Tzin) [2112925] - net/mlx5: Make sure that no dangling IPsec FS pointers exist (Amir Tzin) [2112925] - net/mlx5: Clean IPsec FS add/delete rules (Amir Tzin) [2112925] - net/mlx5: Simplify HW context interfaces by using SA entry (Amir Tzin) [2112925] - net/mlx5: Remove indirections from esp functions (Amir Tzin) [2112925] - net/mlx5: Merge various control path IPsec headers into one file (Amir Tzin) [2112925] - net/mlx5: Remove useless validity check (Amir Tzin) [2112925] - net/mlx5: Store IPsec ESN update work in XFRM state (Amir Tzin) [2112925] - net/mlx5: Reduce useless indirection in IPsec FS add/delete flows (Amir Tzin) [2112925] - net/mlx5: Don't hide fallback to software IPsec in FS code (Amir Tzin) [2112925] - net/mlx5: Check IPsec TX flow steering namespace in advance (Amir Tzin) [2112925] - net/mlx5: Simplify IPsec flow steering init/cleanup functions (Amir Tzin) [2112925] - net/mlx5: fs, an FTE should have no dests when deleted (Amir Tzin) [2112925] - net/mlx5: fs, call the deletion function of the node (Amir Tzin) [2112925] - net/mlx5: fs, delete the FTE when there are no rules attached to it (Amir Tzin) [2112925] - net/mlx5: fs, do proper bookkeeping for forward destinations (Amir Tzin) [2112925] - net/mlx5: fs, add unused destination type (Amir Tzin) [2112925] - net/mlx5: fs, jump to exit point and don't fall through (Amir Tzin) [2112925] - net/mlx5: fs, refactor software deletion rule (Amir Tzin) [2112925] - net/mlx5: fs, split software and IFC flow destination definitions (Amir Tzin) [2112925] - net/mlx5e: TC, set proper dest type (Amir Tzin) [2112925] - net/mlx5e: Remove unused mlx5e_dcbnl_build_rep_netdev function (Amir Tzin) [2112925] - net/mlx5e: Drop error CQE handling from the XSK RX handler (Amir Tzin) [2112925] - net/mlx5: Print initializing field in case of timeout (Amir Tzin) [2112925] - net/mlx5: Delete redundant default assignment of runtime devlink params (Amir Tzin) [2112925] - net/mlx5: Remove useless kfree (Amir Tzin) [2112925] - net/mlx5: use kvfree() for kvzalloc() in mlx5_ct_fs_smfs_matcher_create (Amir Tzin) [2112925] - RDMA/mlx5: Clean UMR QP type flow from mlx5_ib_post_send() (Amir Tzin) [2112925] - RDMA/mlx5: Use mlx5_umr_post_send_wait() to update xlt (Amir Tzin) [2112925] - RDMA/mlx5: Use mlx5_umr_post_send_wait() to update MR pas (Amir Tzin) [2112925] - RDMA/mlx5: Move creation and free of translation tables to umr.c (Amir Tzin) [2112925] - RDMA/mlx5: Use mlx5_umr_post_send_wait() to rereg pd access (Amir Tzin) [2112925] - RDMA/mlx5: Use mlx5_umr_post_send_wait() to revoke MRs (Amir Tzin) [2112925] - RDMA/mlx5: Introduce mlx5_umr_post_send_wait() (Amir Tzin) [2112925] - RDMA/mlx5: Expose wqe posting helpers outside of wr.c (Amir Tzin) [2112925] - RDMA/mlx5: Simplify get_umr_update_access_mask() (Amir Tzin) [2112925] - RDMA/mlx5: Move mkey ctrl segment logic to umr.c (Amir Tzin) [2112925] - RDMA/mlx5: Move umr checks to umr.h (Amir Tzin) [2112925] - RDMA/mlx5: Move init and cleanup of UMR to umr.c (Amir Tzin) [2112925] - RDMA/mlx5: Fix flow steering egress flow (Amir Tzin) [2112925] - mlx5, xsk: Diversify return values from xsk_wakeup call paths (Amir Tzin) [2112925] - net/mlx5: Remove not-implemented IPsec capabilities (Amir Tzin) [2112925] - net/mlx5: Remove ipsec_ops function table (Amir Tzin) [2112925] - net/mlx5: Reduce kconfig complexity while building crypto support (Amir Tzin) [2112925] - net/mlx5: Move IPsec file to relevant directory (Amir Tzin) [2112925] - net/mlx5: Remove not-needed IPsec config (Amir Tzin) [2112925] - net/mlx5: Align flow steering allocation namespace to common style (Amir Tzin) [2112925] - net/mlx5: Unify device IPsec capabilities check (Amir Tzin) [2112925] - net/mlx5: Remove useless IPsec device checks (Amir Tzin) [2112925] - net/mlx5: Remove ipsec vs. ipsec offload file separation (Amir Tzin) [2112925] - RDMA/mlx5: Drop crypto flow steering API (Amir Tzin) [2112925] - RDMA/mlx5: Delete never supported IPsec flow action (Amir Tzin) [2112925] - net/mlx5: Remove FPGA ipsec specific statistics (Amir Tzin) [2112925] - net/mlx5: Remove XFRM no_trailer flag (Amir Tzin) [2112925] - net/mlx5: Remove not-used IDA field from IPsec struct (Amir Tzin) [2112925] - net/mlx5: Delete metadata handling logic (Amir Tzin) [2112925] - net/mlx5_fpga: Drop INNOVA IPsec support (Amir Tzin) [2112925] - net/mlx5: Cleanup kTLS function names and their exposure (Amir Tzin) [2112925] - net/mlx5: Remove tls vs. ktls separation as it is the same (Amir Tzin) [2112925] - net/mlx5: Remove indirection in TLS build (Amir Tzin) [2112925] - net/mlx5: Reliably return TLS device capabilities (Amir Tzin) [2112925] - net/mlx5_fpga: Drop INNOVA TLS support (Amir Tzin) [2112925] - ipv6: Use ipv6_only_sock() helper in condition (mlx5 hunk only). (Amir Tzin) [2112925] - Revert "stmmac/intel: mark driver as tech preview" (Mark Salter) [2122230] - net: stmmac: Fix queue statistics reading (Mark Salter) [2122230] - stmmac: intel: Update PCH PTP clock rate from 200MHz to 204.8MHz (Mark Salter) [2122230] - net: stmmac: power up/down serdes in stmmac_open/release (Mark Salter) [2122230] - stmmac: intel: Simplify intel_eth_pci_remove() (Mark Salter) [2122230] - net: stmmac: work around sporadic tx issue on link-up (Mark Salter) [2122230] - stmmac: intel: Add a missing clk_disable_unprepare() call in intel_eth_pci_remove() (Mark Salter) [2122230] - net: phylink: fix SGMII inband autoneg enable (Mark Salter) [2122230] - net: phylink: fix NULL pl->pcs dereference during phylink_pcs_poll_start (Mark Salter) [2122230] - net: phylink: disable PCS polling over major configuration (Mark Salter) [2122230] - net: phylink: remove pcs_ops member (Mark Salter) [2122230] - net: pcs: xpcs: depends on PHYLINK in Kconfig (Mark Salter) [2122230] - net: phylink: add QSGMII support to phylink_mii_c22_pcs_encode_advertisement() (Mark Salter) [2122230] - net: stmmac: make mdio register skips PHY scanning for fixed-link (Mark Salter) [2122230] - stmmac: intel: add phy-mode and fixed-link ACPI _DSD setting support (Mark Salter) [2122230] - net: pcs: xpcs: add CL37 1000BASE-X AN support (Mark Salter) [2122230] - stmmac: intel: prepare to support 1000BASE-X phy interface setting (Mark Salter) [2122230] - net: make xpcs_do_config to accept advertising for pcs-xpcs and sja1105 (Mark Salter) [2122230] - net: pcs: xpcs: propagate xpcs_read error to xpcs_get_state_c37_sgmii (Mark Salter) [2122230] - net: stmmac: remove redunctant disable xPCS EEE call (Mark Salter) [2122230] - net: stmmac: fix dma queue left shift overflow issue (Mark Salter) [2122230] - net: stmmac: switch to use interrupt for hw crosstimestamping (Mark Salter) [2122230] - net: stmmac: fix unbalanced ptp clock issue in suspend/resume flow (Mark Salter) [2122230] - net: stmmac: fix pm runtime issue in stmmac_dvr_remove() (Mark Salter) [2122230] - net: stmmac: dwc-qos: Disable split header for Tegra194 (Mark Salter) [2122230] - stmmac: intel: Fix an error handling path in intel_eth_pci_probe() (Mark Salter) [2122230] - stmmac: intel: Add RPL-P PCI ID (Mark Salter) [2122230] - net: stmmac: use dev_err_probe() for reporting mdio bus registration failure (Mark Salter) [2122230] - net: stmmac: remove unused get_addr() callback (Mark Salter) [2122230] - net: pcs: pcs-xpcs: Convert to mdiobus_c45_read (Mark Salter) [2122230] - net: phylink: Convert to mdiobus_c45_{read|write} (Mark Salter) [2122230] - net: stmmac: stmmac_main: using pm_runtime_resume_and_get instead of pm_runtime_get_sync (Mark Salter) [2122230] - net: phylink: remove phylink_helper_basex_speed() (Mark Salter) [2122230] - net: phylink: remove phylink_set_10g_modes() (Mark Salter) [2122230] - net: stmmac: using pm_runtime_resume_and_get instead of pm_runtime_get_sync (Mark Salter) [2122230] - net: stmmac: fix missing pci_disable_device() on error in stmmac_pci_probe() (Mark Salter) [2122230] - net: stmmac: disable Split Header (SPH) for Intel platforms (Mark Salter) [2122230] - net: stmmac: Use readl_poll_timeout_atomic() in atomic state (Mark Salter) [2122230] - net: stmmac: Fix unset max_speed difference between DT and non-DT platforms (Mark Salter) [2122230] - stmmac: intel: Add ADL-N PCI ID (Mark Salter) [2122230] - net: stmmac: switch no PTP HW support message to info level (Mark Salter) [2122230] - net: phylink: remove phylink_set_pcs() (Mark Salter) [2122230] - stmmac: intel: Enable 2.5Gbps for Intel AlderLake-S (Mark Salter) [2122230] - net: phylink: remove phylink_config's pcs_poll (Mark Salter) [2122230] - net: phylink: use legacy_pre_march2020 (Mark Salter) [2122230] - net: phylink: add legacy_pre_march2020 indicator (Mark Salter) [2122230] - net: stmmac: optimize locking around PTP clock reads (Mark Salter) [2122230] - net: stmmac: use .mac_select_pcs() interface (Mark Salter) [2122230] - net: stmmac: convert to phylink_generic_validate() (Mark Salter) [2122230] - net: stmmac: remove phylink_config.pcs_poll usage (Mark Salter) [2122230] - net: stmmac/xpcs: convert to pcs_validate() (Mark Salter) [2122230] - net: convert users of bitmap_foo() to linkmode_foo() (Mark Salter) [2122230] - net: phylink: add pcs_validate() method (Mark Salter) [2122230] - net: phylink: add mac_select_pcs() method to phylink_mac_ops (Mark Salter) [2122230] - net: phylink: tidy up disable bit clearing (Mark Salter) [2122230] - net: phylink: handle NA interface mode in phylink_fwnode_phy_connect() (Mark Salter) [2122230] - net: phylink: Add helpers for c22 registers without MDIO (Mark Salter) [2122230] - net: phylink: add 1000base-KX to phylink_caps_to_linkmodes() (Mark Salter) [2122230] - net: phylink: add generic validate implementation (Mark Salter) [2122230] - net: phylink: use supported_interfaces for phylink validation (Mark Salter) [2122230] - net: phylink: add MAC phy_interface_t bitmap (Mark Salter) [2122230] - net: phy: add phy_interface_t bitmap support (Mark Salter) [2122230] - net: phylink: Convert some users of mdiobus_* to mdiodev_* (Mark Salter) [2122230] - net: phylink: use mdiobus_modify_changed() helper (Mark Salter) [2122230] - net: mdio: add mdiobus_modify_changed() (Mark Salter) [2122230] - net: phylink: add phylink_set_10g_modes() helper (Mark Salter) [2122230] - net: stmmac: fill in supported_interfaces (Mark Salter) [2122230] - net: stmmac: convert to phylink_get_linkmodes() (Mark Salter) [2122230] - net: xpcs: add support for retrieving supported interface modes (Mark Salter) [2122230] - net: mdio: Add helper functions for accessing MDIO devices (Mark Salter) [2122230] - net: stmmac: fix return value of __setup handler (Mark Salter) [2122230] - net: stmmac: only enable DMA interrupts when ready (Mark Salter) [2122230] - net: stmmac: ensure PTP time register reads are consistent (Mark Salter) [2122230] - net: stmmac: dump gmac4 DMA registers correctly (Mark Salter) [2122230] - net: stmmac: properly handle with runtime pm in stmmac_dvr_remove() (Mark Salter) [2122230] - net: stmmac: skip only stmmac_ptp_register when resume from suspend (Mark Salter) [2122230] - drivers/net/ethernet: clean up mis-targeted comments (Mark Salter) [2122230] - net: stmmac: configure PTP clock source prior to PTP initialization (Mark Salter) [2122230] - net: stmmac: reduce unnecessary wakeups from eee sw timer (Mark Salter) [2122230] - net: stmmac: remove unused members in struct stmmac_priv (Mark Salter) [2122230] - net: stmmac: Fix "Unbalanced pm_runtime_enable!" warning (Mark Salter) [2122230] - net: stmmac: add tc flower filter for EtherType matching (Mark Salter) [2122230] - net: stmmac: bump tc when get underflow error from DMA descriptor (Mark Salter) [2122230] - stmmac: remove ethtool driver version info (Mark Salter) [2122230] - net: stmmac: Calculate CDC error only once (Mark Salter) [2122230] - net: stmmac: ptp: fix potentially overflowing expression (Mark Salter) [2122230] - net: stmmac: fix tc flower deletion for VLAN priority Rx steering (Mark Salter) [2122230] - net: stmmac: Avoid DMA_CHAN_CONTROL write if no Split Header support (Mark Salter) [2122230] - net: stmmac: Disable Tx queues when reconfiguring the interface (Mark Salter) [2122230] - net: phylink: Force retrigger in case of latched link-fail indicator (Mark Salter) [2122230] - net: phylink: Force link down and retrigger resolve on interface change (Mark Salter) [2122230] - net: stmmac: retain PTP clock time during SIOCSHWTSTAMP ioctls (Mark Salter) [2122230] - stmmac_pci: Fix underflow size in stmmac_rx (Mark Salter) [2122230] - net: stmmac: Fix signed/unsigned wreckage (Mark Salter) [2122230] - net: stmmac: allow a tc-taprio base-time of zero (Mark Salter) [2122230] - ethernet: stmmac: use eth_hw_addr_set() (Mark Salter) [2122230] - net: phylink: Support disabling autonegotiation for PCS (Mark Salter) [2122230] - net: stmmac: fix off-by-one error in sanity check (Mark Salter) [2122230] - net: stmmac: fix gcc-10 -Wrestrict warning (Mark Salter) [2122230] - net: phylink: don't call netif_carrier_off() with NULL netdev (Mark Salter) [2122230] - net: stmmac: Fix E2E delay mechanism (Mark Salter) [2122230] - net: stmmac: add support for dwmac 3.40a (Mark Salter) [2122230] - net: stmmac: fix get_hw_feature() on old hardware (Mark Salter) [2122230] - net: stmmac: trigger PCS EEE to turn off on link down (Mark Salter) [2122230] - net: pcs: xpcs: fix incorrect steps on disable EEE (Mark Salter) [2122230] - net: pcs: xpcs: fix incorrect CL37 AN sequence (Mark Salter) [2122230] - net: stmmac: fix EEE init issue when paired with EEE capable PHYs (Mark Salter) [2122230] - net: stmmac: allow CSR clock of 300MHz (Mark Salter) [2122230] - net: stmmac: platform: fix build warning when with !CONFIG_PM_SLEEP (Mark Salter) [2122230] - net: stmmac: fix system hang caused by eee_ctrl_timer during suspend/resume (Mark Salter) [2122230] - net: stmmac: fix MAC not working when system resume back with WoL active (Mark Salter) [2122230] - net: phylink: add suspend/resume support (Mark Salter) [2122230] - net: stmmac: add ethtool per-queue irq statistic support (Mark Salter) [2122230] - net: stmmac: add ethtool per-queue statistic framework (Mark Salter) [2122230] - net: stmmac: fix INTR TBU status affecting irq count statistic (Mark Salter) [2122230] - net: pcs: xpcs: Add Pause Mode support for SGMII and 2500BaseX (Mark Salter) [2122230] - net: stmmac: fix kernel panic due to NULL pointer dereference of plat->est (Mark Salter) [2122230] - net: pcs: xpcs: fix error handling on failed to allocate memory (Mark Salter) [2122230] - net: stmmac: add est_irq_status callback function for GMAC 4.10 and 5.10 (Mark Salter) [2122230] - net: stmmac: ptp: update tas basetime after ptp adjust (Mark Salter) [2122230] - net: stmmac: add mutex lock to protect est parameters (Mark Salter) [2122230] - net: stmmac: separate the tas basetime calculation function (Mark Salter) [2122230] - net: stmmac: Terminate FPE workqueue in suspend (Mark Salter) [2122230] - stmmac: intel: set PCI_D3hot in suspend (Mark Salter) [2122230] - stmmac: intel: Enable PHY WOL option in EHL (Mark Salter) [2122230] - net: stmmac: option to enable PHY WOL with PMT enabled (Mark Salter) [2122230] - net: stmmac: remove redundant continue statement (Mark Salter) [2122230] - stmmac: intel: fix wrong kernel-doc (Mark Salter) [2122230] - stmmac: intel: move definitions to dwmac-intel header file (Mark Salter) [2122230] - net: pcs: xpcs: export xpcs_do_config and xpcs_link_up (Mark Salter) [2122230] - net: pcs: xpcs: also ignore phy id if it's all ones (Mark Salter) [2122230] - net: pcs: xpcs: add support for sgmii with no inband AN (Mark Salter) [2122230] - net: pcs: xpcs: move register bit descriptions to a header file (Mark Salter) [2122230] - net: stmmac: reduce indentation when calling stmmac_xpcs_setup (Mark Salter) [2122230] - net: stmmac: reverse Christmas tree notation in stmmac_xpcs_setup (Mark Salter) [2122230] - net: pcs: xpcs: rename mdio_xpcs_args to dw_xpcs (Mark Salter) [2122230] - net: phylink: Refactor phylink_of_phy_connect() (Mark Salter) [2122230] - net: phylink: introduce phylink_fwnode_phy_connect() (Mark Salter) [2122230] - net: phy: Introduce phy related fwnode functions (Mark Salter) [2122230] - net: phy: Introduce fwnode_mdio_find_device() (Mark Salter) [2122230] - net: stmmac: Fix unused values warnings (Mark Salter) [2122230] - net: stmmac: Fix mixed enum type warning (Mark Salter) [2122230] - net: stmmac: Fix missing { } around two statements in an if statement (Mark Salter) [2122230] - net: stmmac: explicitly deassert GMAC_AHB_RESET (Mark Salter) [2122230] - net: stmmac: platform: use optional clk/reset get APIs (Mark Salter) [2122230] - net: stmmac: fix NPD with phylink_set_pcs if there is no MDIO bus (Mark Salter) [2122230] - net: stmmac: enable Intel mGbE 2.5Gbps link speed (Mark Salter) [2122230] - net: pcs: add 2500BASEX support for Intel mGbE controller (Mark Salter) [2122230] - net: stmmac: split xPCS setup from mdio register (Mark Salter) [2122230] - net: pcs: xpcs: convert to phylink_pcs_ops (Mark Salter) [2122230] - net: pcs: xpcs: convert to mdio_device (Mark Salter) [2122230] - net: pcs: xpcs: use mdiobus_c45_addr in xpcs_{read,write} (Mark Salter) [2122230] - net: pcs: xpcs: export xpcs_probe (Mark Salter) [2122230] - net: pcs: xpcs: export xpcs_config_eee (Mark Salter) [2122230] - net: pcs: xpcs: export xpcs_validate (Mark Salter) [2122230] - net: pcs: xpcs: make the checks related to the PHY interface mode stateless (Mark Salter) [2122230] - net: pcs: xpcs: delete shim definition for mdio_xpcs_get_ops() (Mark Salter) [2122230] - net: pcs: xpcs: there is only one PHY ID (Mark Salter) [2122230] - net: stmmac: enable platform specific safety features (Mark Salter) [2122230] - net: stmmac: the XPCS obscures a potential "PHY not found" error (Mark Salter) [2122230] - net: stmmac: Add callbacks for DWC xpcs Energy Efficient Ethernet (Mark Salter) [2122230] - net: pcs: Introducing support for DWC xpcs Energy Efficient Ethernet (Mark Salter) [2122230]- xfs: reserve quota for dir expansion when linking/unlinking files (Bill O'Donnell) [2086880] - scsi: storvsc: Fix swiotlb bounce buffer leak in confidential VM (Emanuele Giuseppe Esposito) [2150659] - ACPICA: Fix operand resolution (Mark Langsdorf) [2156144] - driver core: Add missing kernel doc for device::msi_lock (Myron Stowe) [2158839] - PCI/MSI: Protect msi_desc::masked for multi-MSI (Myron Stowe) [2158839] - KVM: arm64: Don't retrieve memory slot again in page fault handler (Gavin Shan) [2161161] - fs: allow cross-vfsmount reflink/dedupe (Andrey Albershteyn) [2086200] - powerpc/hv-gpci: Fix hv_gpci event list (Mamatha Inamdar) [2161258] - powerpc: declare unmodified attribute_group usages const (Mamatha Inamdar) [2161258] - drm/amd: Delay removal of the firmware framebuffer (Michel Dänzer) [2162039] - cpuidle: Add cpu_idle_miss trace event (Mark Langsdorf) [2122312] - cpuidle: haltpoll: Add trace points for guest_halt_poll_ns grow/shrink (Mark Langsdorf) [2122312] - efi/cper, cxl: Decode CXL Error Log (Lenny Szubowicz) [2143733] - efi/cper, cxl: Decode CXL Protocol Error Section (Lenny Szubowicz) [2143733] - efi: cper: Add support for printing Firmware Error Record Reference (Lenny Szubowicz) [2143733] - Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu (Wander Lairson Costa) [2152927] {CVE-2022-3564} - drm/i915: Fix CFI violations in gt_sysfs (Jocelyn Falempe) [2154880] - NFS: Clear the file access cache upon login (Benjamin Coddington) [2050832] - NFS: don't store 'struct cred *' in struct nfs_access_entry (Benjamin Coddington) [2050832] - NFS: pass cred explicitly for access tests (Benjamin Coddington) [2050832] - NFS: change nfs_access_get_cached to only report the mask (Benjamin Coddington) [2050832] - init: Initialize noop_backing_dev_info early (Nico Pache) [2160228] - mm: vmscan: make rotations a secondary factor in balancing anon vs file (Nico Pache) [2160228] - writeback: Fix inode->i_io_list not be protected by inode->i_lock error (Nico Pache) [2160228] - mm: vmscan: fix extreme overreclaim and swap floods (Nico Pache) [2160228] - mm/page_alloc: ensure kswapd doesn't accidentally go to sleep (Nico Pache) [2160228] - mm/page_io: count submission time as thrashing delay for delayacct (Nico Pache) [2160228] - delayacct: support re-entrance detection of thrashing accounting (Nico Pache) [2160228] - filemap: make the accounting of thrashing more consistent (Nico Pache) [2160228] - writeback: don't warn on an unregistered BDI in __mark_inode_dirty (Nico Pache) [2160228] - s390/dasd: fix no record found for raw_track_access (Tobias Huschle) [2161270] - crypto: testmgr - disallow certain DRBG hash functions in FIPS mode (Vladis Dronov) [2152133] - dmaengine: idxd: Fix crc_val field for completion record (Jerry Snitselaar) [2144375] - dmaengine: idxd: Make read buffer sysfs attributes invisible for Intel IAA (Jerry Snitselaar) [2144375] - dmaengine: idxd: Make max batch size attributes in sysfs invisible for Intel IAA (Jerry Snitselaar) [2144375] - dmaengine: idxd: Do not call DMX TX callbacks during workqueue disable (Jerry Snitselaar) [2144375] - dmaengine: idxd: Prevent use after free on completion memory (Jerry Snitselaar) [2144375] - dmaengine: idxd: Let probe fail when workqueue cannot be enabled (Jerry Snitselaar) [2144375] - dmaengine: idxd: Fix max batch size for Intel IAA (Jerry Snitselaar) [2144375] - dmaengine: idxd: add configuration for concurrent batch descriptor processing (Jerry Snitselaar) [2144375] - dmanegine: idxd: reformat opcap output to match bitmap_parse() input (Jerry Snitselaar) [2144375] - dmaengine: idxd: add configuration for concurrent work descriptor processing (Jerry Snitselaar) [2144375] - dmaengine: idxd: add WQ operation cap restriction support (Jerry Snitselaar) [2144375] - dmaengine: idxd: convert ats_dis to a wq flag (Jerry Snitselaar) [2144375] - dmaengine: idxd: track enabled workqueues in bitmap (Jerry Snitselaar) [2144375] - dmaengine: idxd: Set wq state to disabled in idxd_wq_disable_cleanup() (Jerry Snitselaar) [2144375] - dmaengine: idxd: Do not enable user type Work Queue without Shared Virtual Addressing (Jerry Snitselaar) [2144375] - dmaengine: idxd: fix RO device state error after been disabled/reset (Jerry Snitselaar) [2144375] - dmaengine: idxd: avoid deadlock in process_misc_interrupts() (Jerry Snitselaar) [2144375] - KVM: x86: nSVM: implement nested LBR virtualization (Emanuele Giuseppe Esposito) [2155149] - KVM: x86: nSVM: correctly virtualize LBR msrs when L2 is running (Emanuele Giuseppe Esposito) [2155149] - kvm: x86: SVM: use vmcb* instead of svm->vmcb where it makes sense (Emanuele Giuseppe Esposito) [2155149] - KVM: x86: nSVM: implement nested VMLOAD/VMSAVE (Emanuele Giuseppe Esposito) [2155149] - eth: octeon: fix build after netif_napi_add() changes (Íñigo Huguet) [2152918] - net: drop the weight argument from netif_napi_add (Íñigo Huguet) [2152918] - net: remove netif_tx_napi_add() (Íñigo Huguet) [2152918] - ipoib: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - IB/hfi1: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - IB/hfi1: switch to netif_napi_add_tx() (Íñigo Huguet) [2152918] - crypto: caam/qi2 - switch to netif_napi_add_tx_weight() (Íñigo Huguet) [2152918] - can: can-dev: move to netif_napi_add_weight() (Íñigo Huguet) [2152918] - net: virtio: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - r8152: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - eth: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - mt76: switch to netif_napi_add_tx() (Íñigo Huguet) [2152918] - net: move snowflake callers to netif_napi_add_tx_weight() (Íñigo Huguet) [2152918] - net: switch to netif_napi_add_tx() (Íñigo Huguet) [2152918] - can: m_can: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: remove remaining copies of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: benet: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: atlantic: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: smsc: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: remove copies of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - netdev: reshuffle netif_napi_add() APIs to allow dropping weight (Íñigo Huguet) [2152918] - ipv6: raw: Deduct extension header length in rawv6_push_pending_frames (Hangbin Liu) [2162124] {CVE-2023-0394} - netfilter: conntrack: handle tcp challenge acks during connection reuse (Florian Westphal) [2158726] - act_mirred: use the backlog for nested calls to mirred ingress (Davide Caratti) [2131339] {CVE-2022-4269} - net/sched: act_mirred: better wording on protection against excessive stack growth (Davide Caratti) [2131339] - xfs: add selinux labels to whiteout inodes (Andrey Albershteyn) [2094060] - tdx: enable TDX attestation driver (Wander Lairson Costa) [2076748] - selftests/tdx: Test TDX attestation GetReport support (Wander Lairson Costa) [2076748] - virt: Add TDX guest driver (Wander Lairson Costa) [2076748] - x86/tdx: Add a wrapper to get TDREPORT0 from the TDX Module (Wander Lairson Costa) [2076748] - proc: proc_skip_spaces() shouldn't think it is working on C strings (Wander Lairson Costa) [2152572] {CVE-2022-4378} - proc: avoid integer type confusion in get_proc_long (Wander Lairson Costa) [2152572] {CVE-2022-4378} - NFSv4.2: Update mode bits after ALLOCATE and DEALLOCATE (Jeffrey Layton) [2127153] - NFS: nfsiod should not block forever in mempool_alloc() (Jeffrey Layton) [2127153] - NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly (Benjamin Coddington) [2061259] - NFSv4.1: Don't decrease the value of seq_nr_highest_sent (Benjamin Coddington) [2061259]- uas: ignore UAS for Thinkplus chips (Torez Smith) [2113004] - usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS (Torez Smith) [2113004] - thunderbolt: Explicitly reset plug events delay back to USB4 spec value (Torez Smith) [2113004] - USB: serial: option: add Quectel BG95 0x0203 composition (Torez Smith) [2113004] - thunderbolt: Add support for Intel Maple Ridge single port controller (Torez Smith) [2113004] - USB: core: Fix RST error in hub.c (Torez Smith) [2113004] - kunit: fix Kconfig for build-in tests USB4 and Nitro Enclaves (Torez Smith) [2113004] - usb: storage: Add ASUS <0x0b05:0x1932> to IGNORE_UAS (Torez Smith) [2113004] - USB: serial: cp210x: add Decagon UCA device id (Torez Smith) [2113004] - USB: core: Prevent nested device-reset calls (Torez Smith) [2113004] - usb: typec: Remove retimers properly (Torez Smith) [2113004] - USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id (Torez Smith) [2113004] - USB: serial: option: add support for OPPO R11 diag port (Torez Smith) [2113004] - xhci: Add grace period after xHC start to prevent premature runtime suspend. (Torez Smith) [2113004] - xhci: Fix null pointer dereference in remove if xHC has only one roothub (Torez Smith) [2113004] - USB: cdc-acm: Add Icom PMR F3400 support (0c26:0020) (Torez Smith) [2113004] - usb: xhci-mtk: fix bandwidth release issue (Torez Smith) [2113004] - usb: xhci-mtk: relax TT periodic bandwidth allocation (Torez Smith) [2113004] - usb: typec: altmodes/displayport: correct pin assignment for UFP receptacles (Torez Smith) [2113004] - usb: typec: intel_pmc_mux: Add new ACPI ID for Meteor Lake IOM device (Torez Smith) [2113004] - usb-storage: Add ignore-residue quirk for NXP PN7462AU (Torez Smith) [2113004] - usb: typec: tcpm: Return ENOTSUPP for power supply prop writes (Torez Smith) [2113004] - thunderbolt: Check router generation before connecting xHCI (Torez Smith) [2113004] - thunderbolt: Use the actual buffer in tb_async_error() (Torez Smith) [2113004] - USB: usbsevseg: convert sysfs snprintf to sysfs_emit (Torez Smith) [2113004] - dt-bindings: usb: Add binding for TI USB8041 hub controller (Torez Smith) [2113004] - usb: typec: ucsi: stm32g0: add bootloader support (Torez Smith) [2113004] - usb: typec: ucsi: stm32g0: add support for stm32g0 controller (Torez Smith) [2113004] - dt-bindings: usb: typec: add bindings for stm32g0 controller (Torez Smith) [2113004] - usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion (Torez Smith) [2113004] - usb: typec: retimer: Add missing id check in match callback (Torez Smith) [2113004] - USB: xhci: Fix comment typo (Torez Smith) [2113004] - usb/typec/tcpm: fix repeated words in comments (Torez Smith) [2113004] - usb/misc: fix repeated words in comments (Torez Smith) [2113004] - usb/image: fix repeated words in comments (Torez Smith) [2113004] - usb/host: fix repeated words in comments (Torez Smith) [2113004] - usb/core: fix repeated words in comments (Torez Smith) [2113004] - usb/atm: fix repeated words in comments (Torez Smith) [2113004] - USB: HCD: Fix URB giveback issue in tasklet function (Torez Smith) [2113004] - usb: xhci_plat_remove: avoid NULL dereference (Torez Smith) [2113004] - USB: serial: fix tty-port initialized comments (Torez Smith) [2113004] - USB: serial: usb_wwan: replace DTR/RTS magic numbers with macros (Torez Smith) [2113004] - USB: cdc-acm: use CDC serial-state defines (Torez Smith) [2113004] - USB: cdc-acm: use CDC control-line defines (Torez Smith) [2113004] - USB: cdc: add serial-state defines (Torez Smith) [2113004] - USB: cdc: add control-signal defines (Torez Smith) [2113004] - net/cdc_ncm: Increase NTB max RX/TX values to 64kb (Torez Smith) [2113004] - usb: typec: Add retimer handle to port (Torez Smith) [2113004] - usb: typec: Add support for retimers (Torez Smith) [2113004] - dt-bindings: usb: Add analogix anx7411 PD binding (Torez Smith) [2113004] - usb: ldusb: replace ternary operator with max_t() (Torez Smith) [2113004] - USB: serial: fix repeated word "the" in comments (Torez Smith) [2113004] - USB: serial: io_edgeport: fix spelling mistakes (Torez Smith) [2113004] - USB: serial: ftdi_sio: add Belimo device ids (Torez Smith) [2113004] - thunderbolt: test: Use kunit_test_suite() macro (Torez Smith) [2113004] - media: pvrusb2: drop unexpected word 'a' in comments (Torez Smith) [2113004] - media: gspca: drop unexpected word 'is' in the comments (Torez Smith) [2113004] - usb: typec: add missing uevent when partner support PD (Torez Smith) [2113004] - tools: usb: testusb: Add super-plus speed reporting (Torez Smith) [2113004] - tools: usb: testusb: Add super speed reporting (Torez Smith) [2113004] - tools: usb: testusb: Add wireless speed reporting (Torez Smith) [2113004] - usb: typec: tcpci: move tcpci.h to include/linux/usb/ (Torez Smith) [2113004] - ARM: sa1100/assabet: move dmabounce hack to ohci driver (Torez Smith) [2113004] - usb: host: xhci: use snprintf() in xhci_decode_trb() (Torez Smith) [2113004] - USB: cdc-acm: use define for timeout (Torez Smith) [2113004] - usb: typec_altmode: add a missing "@" at a kernel-doc parameter (Torez Smith) [2113004] - usb: core: sysfs: convert sysfs snprintf to sysfs_emit (Torez Smith) [2113004] - media: usb: gspca: aligned '*' each line (Torez Smith) [2113004] - media: hdpvr: fix error value returns in hdpvr_read (Torez Smith) [2113004] - media: em28xx: Remove useless license text when SPDX-License-Identifier is already used (Torez Smith) [2113004] - USB: serial: use kmemdup instead of kmalloc + memcpy (Torez Smith) [2113004] - usb: host: ehci-q: Fix ehci_submit_single_step_set_feature annotation typo (Torez Smith) [2113004] - USB: storage: Fix typo in comment (Torez Smith) [2113004] - usb: typec: mux: Add CONFIG guards for functions (Torez Smith) [2113004] - usb: typec: mux: Allow muxes to specify mode-switch (Torez Smith) [2113004] - usb: musb: Add support for PolarFire SoC's musb controller (Torez Smith) [2113004] - media: pvrusb2: fix memory leak in pvr_probe (Torez Smith) [2113004] - media: airspy: respect the DMA coherency rules (Torez Smith) [2113004] - media: usbtv: Add PAL-Nc standard (Torez Smith) [2113004] - thunderbolt: Fix typo in comment (Torez Smith) [2113004] - dt-bindings: usb: add documentation for aspeed udc (Torez Smith) [2113004] - usb: Avoid extra usb SET_SEL requests when enabling link power management (Torez Smith) [2113004] - usb: typec: tcpm: Register USB Power Delivery Capabilities (Torez Smith) [2113004] - usb: typec: USB Power Delivery helpers for ports and partners (Torez Smith) [2113004] - usb: typec: Separate USB Power Delivery from USB Type-C (Torez Smith) [2113004] - usb: hub: port: add sysfs entry to switch port power (Torez Smith) [2113004] - ucsi_ccg: ACPI based I2c client enumeration for AMD ASICs (Torez Smith) [2113004] - ucsi_ccg: Do not hardcode interrupt polarity and type (Torez Smith) [2113004] - usb: xhci-mtk: add support optional controller reset (Torez Smith) [2113004] - usb: typec: tcpm: fix typo in comment (Torez Smith) [2113004] - usb: xhci: tegra: Fix error check (Torez Smith) [2113004] - usb: common: usb-conn-gpio: Allow wakeup from system suspend (Torez Smith) [2113004] - usbip: vudc: Don't enable IRQs prematurely (Torez Smith) [2113004] - USB: usbip: clean up mixed use of _irq() and _irqsave() (Torez Smith) [2113004] - USB: Follow-up to SPDX identifiers addition - remove now useless comments (Torez Smith) [2113004] - thunderbolt: Fix some kernel-doc comments (Torez Smith) [2113004] - usb: hub: Simplify error and success path in port_over_current_notify (Torez Smith) [2113004] - usb: remove Link Powermanagement (LPM) disable before port reset. (Torez Smith) [2113004] - thunderbolt: Change TMU mode to HiFi uni-directional once DisplayPort tunneled (Torez Smith) [2113004] - usb: core: Bail out when port is stuck in reset loop (Torez Smith) [2113004] - thunderbolt: Add CL1 support for USB4 and Titan Ridge routers (Torez Smith) [2113004] - thunderbolt: Change downstream router's TMU rate in both TMU uni/bidir mode (Torez Smith) [2113004] - USB: core: Fix bug in resuming hub's handling of wakeup requests (Torez Smith) [2113004] - thunderbolt: Fix typos in CLx enabling (Torez Smith) [2113004] - usb: hub: Add delay for SuperSpeed hub resume to let links transit to U0 (Torez Smith) [2113004] - usb: hub: make wait_for_connected() take an int instead of a pointer to int (Torez Smith) [2113004] - thunderbolt: CLx disable before system suspend only if previously enabled (Torez Smith) [2113004] - usb: hub: avoid warm port reset during USB3 disconnect (Torez Smith) [2113004] - thunderbolt: Silently ignore CLx enabling in case CLx is not supported (Torez Smith) [2113004]- config: Enable Security Path (Ricardo Robaina) [2161309] - tcp: Fix build break when CONFIG_IPV6=n (Jamie Bainbridge) [2143849] - tcp: annotate data-race around queue->synflood_warned (Jamie Bainbridge) [2143849] - tcp: Add listening address to SYN flood message (Jamie Bainbridge) [2143849] - tcp: Fix data-races around sysctl_tcp_syncookies. (Jamie Bainbridge) [2143849] - firmware_loader: Fix memory leak in firmware upload (Mark Langsdorf) [2122319] - firmware_loader: Fix use-after-free during unregister (Mark Langsdorf) [2122319] - firmware_loader: fix memory leak for paged buffer (Mark Langsdorf) [2122319] - firmware_loader: describe 'module' parameter of firmware_upload_register() (Mark Langsdorf) [2122319] - firmware_loader: Move definitions from sysfs_upload.h to sysfs.h (Mark Langsdorf) [2122319] - firmware_loader: Add sysfs nodes to monitor fw_upload (Mark Langsdorf) [2122319] - firmware_loader: Add firmware-upload support (Mark Langsdorf) [2122319] - firmware_loader: Split sysfs support from fallback (Mark Langsdorf) [2122319] - firmware_loader: Clear data and size in fw_free_paged_buf (Mark Langsdorf) [2122319] - firmware: Use kvmalloc for page tables (Mark Langsdorf) [2122319] - firmware: Unify the paged buffer release helper (Mark Langsdorf) [2122319] - firmware: Free temporary page table after vmapping (Mark Langsdorf) [2122319] - arch_topology: Make cluster topology span at least SMT CPUs (Mark Langsdorf) [2122319] - driver core: fix driver_set_override() issue with empty strings (Mark Langsdorf) [2122319] - arch_topology: Silence early cacheinfo errors when non-existent (Mark Langsdorf) [2122319] - driver core: Don't probe devices after bus_type.match() probe deferral (Mark Langsdorf) [2122319] - regmap: spi: Reserve space for register address/padding (Mark Langsdorf) [2122319] - arch_topology: Fix cache attributes detection in the CPU hotplug path (Mark Langsdorf) [2122319] - cacheinfo: Use atomic allocation for percpu cache attributes (Mark Langsdorf) [2122319] - regmap: permit to set reg_update_bits with bulk implementation (Mark Langsdorf) [2122319] - PM: domains: Ensure genpd_debugfs_dir exists before remove (Mark Langsdorf) [2122319] - PM: runtime: Extend support for wakeirq for force_suspend|resume (Mark Langsdorf) [2122319] - regmap: add WARN_ONCE when invalid mask is provided to regmap_field_init() (Mark Langsdorf) [2122319] - PM: wakeup: Unify device_init_wakeup() for PM_SLEEP and !PM_SLEEP (Mark Langsdorf) [2122319] - arch_topology: Warn that topology for nested clusters is not supported (Mark Langsdorf) [2122319] - arch_topology: Add support for parsing sockets in /cpu-map (Mark Langsdorf) [2122319] - arch_topology: Set cluster identifier in each core/thread from /cpu-map (Mark Langsdorf) [2122319] - arch_topology: Limit span of cpu_clustergroup_mask() (Mark Langsdorf) [2122319] - arch_topology: Don't set cluster identifier as physical package identifier (Mark Langsdorf) [2122319] - arch_topology: Avoid parsing through all the CPUs once a outlier CPU is found (Mark Langsdorf) [2122319] - arch_topology: Check for non-negative value rather than -1 for IDs validity (Mark Langsdorf) [2122319] - arch_topology: Set thread sibling cpumask only within the cluster (Mark Langsdorf) [2122319] - arch_topology: Drop LLC identifier stash from the CPU topology (Mark Langsdorf) [2122319] - arm64: topology: Remove redundant setting of llc_id in CPU topology (Mark Langsdorf) [2122319] - arch_topology: Use the last level cache information from the cacheinfo (Mark Langsdorf) [2122319] - arch_topology: Add support to parse and detect cache attributes (Mark Langsdorf) [2122319] - cacheinfo: Align checks in cache_shared_cpu_map_{setup,remove} for readability (Mark Langsdorf) [2122319] - cacheinfo: Use cache identifiers to check if the caches are shared if available (Mark Langsdorf) [2122319] - cacheinfo: Allow early detection and population of cache attributes (Mark Langsdorf) [2122319] - cacheinfo: Add support to check if last level cache(LLC) is valid or shared (Mark Langsdorf) [2122319] - cacheinfo: Move cache_leaves_are_shared out of CONFIG_OF (Mark Langsdorf) [2122319] - cacheinfo: Add helper to access any cache index for a given CPU (Mark Langsdorf) [2122319] - cacheinfo: Use of_cpu_device_node_get instead cpu_dev->of_node (Mark Langsdorf) [2122319] - regmap: cache: Add extra parameter check in regcache_init (Mark Langsdorf) [2122319] - regmap-irq: Refactor checks for status bulk read support (Mark Langsdorf) [2122319] - regmap-irq: Remove mask_writeonly and regmap_irq_update_bits() (Mark Langsdorf) [2122319] - regmap-irq: Remove inappropriate uses of regmap_irq_update_bits() (Mark Langsdorf) [2122319] - driver core: fix potential deadlock in __driver_attach (Mark Langsdorf) [2122319] - devtmpfs: fix the dangling pointer of global devtmpfsd thread (Mark Langsdorf) [2122319] - regmap: Don't warn about cache only mode for devices with no cache (Mark Langsdorf) [2122319] - regmap: Wire up regmap_config provided bulk write in missed functions (Mark Langsdorf) [2122319] - regmap: Make regmap_noinc_read() return -ENOTSUPP if map->read isn't set (Mark Langsdorf) [2122319] - regmap: Re-introduce bulk read support check in regmap_bulk_read() (Mark Langsdorf) [2122319] - init: Initialize noop_backing_dev_info early (Mark Langsdorf) [2122319] - driver core: Introduce device_find_any_child() helper (Mark Langsdorf) [2122319] - regmap: cache: Fix syntax errors in comments (Mark Langsdorf) [2122319] - PM: domains: Trust domain-idle-states from DT to be correct by genpd (Mark Langsdorf) [2122319] - PM: domains: Measure power-on/off latencies in genpd based on a governor (Mark Langsdorf) [2122319] - PM: domains: Allocate governor data dynamically based on a genpd governor (Mark Langsdorf) [2122319] - PM: domains: Clean up some code in pm_genpd_init() and genpd_remove() (Mark Langsdorf) [2122319] - PM: domains: Fix initialization of genpd's next_wakeup (Mark Langsdorf) [2122319] - PM: domains: Fixup QoS latency measurements for IRQ safe devices in genpd (Mark Langsdorf) [2122319] - PM: domains: Measure suspend/resume latencies in genpd based on governor (Mark Langsdorf) [2122319] - PM: domains: Move the next_wakeup variable into the struct gpd_timing_data (Mark Langsdorf) [2122319] - PM: domains: Allocate gpd_timing_data dynamically based on governor (Mark Langsdorf) [2122319] - PM: domains: Skip another warning in irq_safe_dev_in_sleep_domain() (Mark Langsdorf) [2122319] - PM: domains: Rename irq_safe_dev_in_no_sleep_domain() in genpd (Mark Langsdorf) [2122319] - PM: domains: Don't check PM_QOS_FLAG_NO_POWER_OFF in genpd (Mark Langsdorf) [2122319] - PM: domains: Drop redundant code for genpd always-on governor (Mark Langsdorf) [2122319] - PM: domains: Add GENPD_FLAG_RPM_ALWAYS_ON for the always-on governor (Mark Langsdorf) [2122319] - PM: wakeup: expose pm_wakeup_pending to modules (Mark Langsdorf) [2122319] - driver core: fix deadlock in __device_attach (Mark Langsdorf) [2122319] - driver: base: fix UAF when driver_attach failed (Mark Langsdorf) [2122319] - driver core: location: Add "back" as a possible output for panel (Mark Langsdorf) [2122319] - driver core: location: Free struct acpi_pld_info *pld (Mark Langsdorf) [2122319] - regmap: Add missing map->bus check (Mark Langsdorf) [2122319] - device property: Advertise fwnode and device property count API calls (Mark Langsdorf) [2122319] - driver core: location: Check for allocations failure (Mark Langsdorf) [2122319] - regmap: Add bulk read/write callbacks into regmap_config (Mark Langsdorf) [2122319] - device property: Fix recent breakage of fwnode_get_next_parent_dev() (Mark Langsdorf) [2122319] - drivers/base/memory: fix an unlikely reference counting issue in __add_memory_block() (Mark Langsdorf) [2122319] - driver core: Add dma_cleanup callback in bus_type (Mark Langsdorf) [2122319] - driver core: Add sysfs support for physical location of a device (Mark Langsdorf) [2122319] - drivers/base/node.c: fix compaction sysfs file leak (Mark Langsdorf) [2122319] - driver core: Prevent overriding async driver of a device before it probe (Mark Langsdorf) [2122319] - Documentation: dd: Use ReST lists for return values of driver_deferred_probe_check_state() (Mark Langsdorf) [2122319] - regmap: cache: set max_register with reg_stride (Mark Langsdorf) [2122319] - firmware_loader: Check fw_state_is_done in loading_store (Mark Langsdorf) [2122319] - driver: platform: Add helper for safer setting of driver_override (Mark Langsdorf) [2122319] - PM: domains: Move genpd's time-accounting to ktime_get_mono_fast_ns() (Mark Langsdorf) [2122319] - PM: runtime: Allow to call __pm_runtime_set_status() from atomic context (Mark Langsdorf) [2122319] - device property: Drop 'test' prefix in parameters of fwnode_is_ancestor_of() (Mark Langsdorf) [2122319] - device property: Introduce fwnode_for_each_parent_node() (Mark Langsdorf) [2122319] - device property: Allow error pointer to be passed to fwnode APIs (Mark Langsdorf) [2122319] - device property: Check fwnode->secondary in fwnode_graph_get_next_endpoint() (Mark Langsdorf) [2122319] - PM: runtime: Avoid device usage count underflows (Mark Langsdorf) [2122319] - PM: domains: Extend dev_pm_domain_detach() doc (Mark Langsdorf) [2122319]- gitlab-ci: use CI templates from production branch (Michael Hofmann) - cpufreq: ACPI: Remove unused variables 'acpi_cpufreq_online' and 'ret' (Mark Langsdorf) [2038200] - cpufreq: ACPI: Only set boost MSRs on supported CPUs (Mark Langsdorf) [2038200] - cpufreq: ACPI: Defer setting boost MSRs (Mark Langsdorf) [2038200] - s390/kexec: fix ipl report address for kdump (Tobias Huschle) [2161328] - iavf: schedule watchdog immediately when changing primary MAC (Michal Schmidt) [2152493] - iavf: Move netdev_update_features() into watchdog task (Michal Schmidt) [2152493] - iavf: fix temporary deadlock and failure to set MAC address (Michal Schmidt) [2152493] - iavf: Fix error handling in iavf_init_module() (Michal Schmidt) [2152493]- net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2103955] - ixgbe: stop resetting SYSTIME in ixgbe_ptp_start_cyclecounter (Ken Cox) [2103955] - ixgbe: Manual AN-37 for troublesome link partners for X550 SFI (Ken Cox) [2103955] - ixgbe: Don't call kmap() on page allocated with GFP_ATOMIC (Ken Cox) [2103955] - ixgbe: convert .adjfreq to .adjfine (Ken Cox) [2103955] - ixgbe: drop unexpected word 'for' in comments (Ken Cox) [2103955] - ixgbe: remove unexpected word "the" (Ken Cox) [2103955] - intel: remove unused macros (Ken Cox) [2103955] - ixgbe: Fix typos in comments (Ken Cox) [2103955] - drivers, ixgbe: export vf statistics (Ken Cox) [2103955] - ixgbe: fix unexpected VLAN Rx in promisc mode on VF (Ken Cox) [2103955] - ixgbe: fix bcast packets Rx on VF after promisc removal (Ken Cox) [2103955] - ixgbe: propagate XFRM offload state direction instead of flags (Ken Cox) [2103955] - ixgbe: Fix module_param allow_unsupported_sfp type (Ken Cox) [2103955] - ixgbe: ensure IPsec VF<->PF compatibility (Ken Cox) [2103955] - ixgbe, xsk: Get rid of redundant 'fallthrough' (Ken Cox) [2103955] - ixgbe, xsk: Diversify return values from xsk_wakeup call paths (Ken Cox) [2103955] - ixgbe, xsk: Terminate Rx side of NAPI when XSK Rx queue gets full (Ken Cox) [2103955] - ixgbe, xsk: Decorate IXGBE_XDP_REDIR with likely() (Ken Cox) [2103955] - ixgbe: add improvement for MDD response functionality (Ken Cox) [2103955] - ixgbe: add the ability for the PF to disable VF link state (Ken Cox) [2103955] - ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc() (Ken Cox) [2103955] - ixgbe: Remove non-inclusive language (Ken Cox) [2103955] - ixgbe: Use irq_update_affinity_hint() (Ken Cox) [2103955] - net: convert users of bitmap_foo() to linkmode_foo() (Ken Cox) [2103955] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ken Cox) [2103955] - net: Use skb_frag_off accessors (Ken Cox) [2103955] - drm/i915: Fix watermark calculations for DG2 CCS+CC modifier (Jocelyn Falempe) [2041686] - drm/i915: Fix watermark calculations for DG2 CCS modifiers (Jocelyn Falempe) [2041686] - drm/i915: Fix watermark calculations for gen12+ CCS+CC modifier (Jocelyn Falempe) [2041686] - drm/i915: Fix watermark calculations for gen12+ MC CCS modifier (Jocelyn Falempe) [2041686] - drm/i915: Fix watermark calculations for gen12+ RC CCS modifier (Jocelyn Falempe) [2041686] - drm/i915/uc: fix device/bus include on rhel8 (Jocelyn Falempe) [2041686] - drm/i915/display: consider DG2_RC_CCS_CC when migrating buffers (Jocelyn Falempe) [2041686] - drm/i915: allow control over the flags when migrating (Jocelyn Falempe) [2041686] - drm/i915/display: handle migration for dpt (Jocelyn Falempe) [2041686] - drm/i915/huc: better define HuC status getparam possible return values. (Jocelyn Falempe) [2041686] - drm/i915/huc: stall media submission until HuC is loaded (Jocelyn Falempe) [2041686] - drm/i915/huc: track delayed HuC load with a fence (Jocelyn Falempe) [2041686] - drm/i915/dg2: setup HuC loading via GSC (Jocelyn Falempe) [2041686] - drm/i915/pxp: add huc authentication and loading command (Jocelyn Falempe) [2041686] - drm/i915/pxp: implement function for sending tee stream command (Jocelyn Falempe) [2041686] - drm/i915/pxp: load the pxp module when we have a gsc-loaded huc (Jocelyn Falempe) [2041686] - drm/i915/gt: Flush to global observation point before breadcrumb write (Jocelyn Falempe) [2041686] - drm/i915/guc/slpc: Add SLPC selftest live_slpc_power (Jocelyn Falempe) [2041686] - drm/i915/guc/slpc: Run SLPC selftests on all tiles (Jocelyn Falempe) [2041686] - drm/i915: Remove unwanted pointer unpacking (Jocelyn Falempe) [2041686] - drm/i915/guc: Enable compute scheduling on DG2 (Jocelyn Falempe) [2041686] - drm/i915/dg2: introduce Wa_22015475538 (Jocelyn Falempe) [2041686] - drm/i915/uc: Update to latest GuC and use new-format GuC/HuC names (Jocelyn Falempe) [2041686] - Revert "drm/i915/dg2: extend Wa_1409120013 to DG2" (Jocelyn Falempe) [2041686] - drm/i915/gsc: allocate extended operational memory in LMEM (Jocelyn Falempe) [2041686] - drm/i915/gsc: add GSC XeHP SDV platform definition (Jocelyn Falempe) [2041686] - drm/i915/gsc: add slow_firmware flag to the gsc device definition (Jocelyn Falempe) [2041686] - drm/i915/gsc: skip irq initialization if using polling (Jocelyn Falempe) [2041686] - drm/i915/uc: Add patch level version number support (Jocelyn Falempe) [2041686] - drm/i915/uc: Support for version reduced and multiple firmware files (Jocelyn Falempe) [2041686] - drm/i915/ttm: Abort suspend on i915_ttm_backup failure (Jocelyn Falempe) [2041686] - drm/i915/dg2: Incorporate Wa_16014892111 into DRAW_WATERMARK tuning (Jocelyn Falempe) [2041686] - drm/i915/guc: Record CTB info in error logs (Jocelyn Falempe) [2041686] - drm/i915/guc: Add GuC <-> kernel time stamp translation information (Jocelyn Falempe) [2041686] - drm/i915/guc: Don't use pr_err when not necessary (Jocelyn Falempe) [2041686] - drm/i915/dg2: Add support for DC5 state (Jocelyn Falempe) [2041686] - drm/i915/dmc: Update DG2 DMC firmware to v2.07 (Jocelyn Falempe) [2041686] - drm/i915/dg2: Add additional tuning settings (Jocelyn Falempe) [2041686] - drm/i915/gt: Add dedicated function for non-ctx register tuning settings (Jocelyn Falempe) [2041686] - drm/i915/dg2: Add Wa_1509727124 (Jocelyn Falempe) [2041686] - drm/i915/dg2: Update DG2 to GuC v70.4.1 (Jocelyn Falempe) [2041686] - drm/i915/dg2: Add additional HDMI pixel clock frequencies (Jocelyn Falempe) [2041686] - Revert "drm/i915/dg2: Add preemption changes for Wa_14015141709" (Jocelyn Falempe) [2041686] - config: Enable TDX Guest (Wander Lairson Costa) [1836977] - x86/tdx: mark TDX as a tech preview (Wander Lairson Costa) [1836977] - x86/tdx: Panic on bad configs that #VE on "private" memory access (Wander Lairson Costa) [1836977] - x86/tdx: Prepare for using "INFO" call for a second purpose (Wander Lairson Costa) [1836977] - x86/tdx: Handle load_unaligned_zeropad() page-cross to a shared page (Wander Lairson Costa) [1836977] - x86/tdx: Clarify RIP adjustments in #VE handler (Wander Lairson Costa) [1836977] - vt: Initialize conswitchp to dummy_con if unset (Wander Lairson Costa) [1836977] - x86/tdx: Fix early #VE handling (Wander Lairson Costa) [1836977] - x86/tdx: Fix RETs in TDX asm (Wander Lairson Costa) [1836977] - x86/apic: Do apic driver probe for "nosmp" use case (Wander Lairson Costa) [1836977] - x86/mm: Fix spacing within memory encryption features message (Wander Lairson Costa) [1836977] - x86/kaslr: Fix build warning in KASLR code in boot stub (Wander Lairson Costa) [1836977] - Documentation/x86: Document TDX kernel architecture (Wander Lairson Costa) [1836977] - ACPICA: Avoid cache flush inside virtual machines (Wander Lairson Costa) [1836977] - x86/tdx/ioapic: Add shared bit for IOAPIC base address (Wander Lairson Costa) [1836977] - x86/mm: Make DMA memory shared for TD guest (Wander Lairson Costa) [1836977] - x86/mm/cpa: Add support for TDX shared memory (Wander Lairson Costa) [1836977] - x86/tdx: Make pages shared in ioremap() (Wander Lairson Costa) [1836977] - x86/topology: Disable CPU online/offline control for TDX guests (Wander Lairson Costa) [1836977] - x86/boot: Avoid #VE during boot for TDX platforms (Wander Lairson Costa) [1836977] - x86/boot/compressed/64: Use TEST reg,reg instead of CMP $0,reg (Wander Lairson Costa) [1836977] - x86/boot/compressed/64: Do not corrupt EDX on EFER.LME=1 setting (Wander Lairson Costa) [1836977] - x86/boot/compressed/64: Set EFER.LME=1 in 32-bit trampoline before returning to long mode (Wander Lairson Costa) [1836977] - x86/boot: Set CR0.NE early and keep it set during the boot (Wander Lairson Costa) [1836977] - x86/acpi/x86/boot: Add multiprocessor wake-up support (Wander Lairson Costa) [1836977] - x86/boot: Add a trampoline for booting APs via firmware handoff (Wander Lairson Costa) [1836977] - x86/asm/realmode: Use SYM_DATA_* instead of GLOBAL (Wander Lairson Costa) [1836977] - x86/realmode: Remove trampoline_status (Wander Lairson Costa) [1836977] - x86/tdx: Wire up KVM hypercalls (Wander Lairson Costa) [1836977] - x86/tdx: Port I/O: Add early boot support (Wander Lairson Costa) [1836977] - x86/tdx: Port I/O: Add runtime hypercalls (Wander Lairson Costa) [1836977] - x86/boot: Port I/O: Add decompression-time support for TDX (Wander Lairson Costa) [1836977] - x86/boot: Port I/O: Allow to hook up alternative helpers (Wander Lairson Costa) [1836977] - x86: Consolidate port I/O helpers (Wander Lairson Costa) [1836977] - x86: Adjust types used in port I/O helpers (Wander Lairson Costa) [1836977] - x86/tdx: Detect TDX at early kernel decompression time (Wander Lairson Costa) [1836977] - x86/tdx: Handle in-kernel MMIO (Wander Lairson Costa) [1836977] - x86/tdx: Handle CPUID via #VE (Wander Lairson Costa) [1836977] - x86/tdx: Add MSR support for TDX guests (Wander Lairson Costa) [1836977] - x86/tdx: Add HLT support for TDX guests (Wander Lairson Costa) [1836977] - x86/traps: Add #VE support for TDX guest (Wander Lairson Costa) [1836977] - x86/traps: Refactor exc_general_protection() (Wander Lairson Costa) [1836977] - x86/traps: Cleanup do_general_protection() (Wander Lairson Costa) [1836977] - x86/dumpstack: Introduce die_addr() for die() with #GP fault address (Wander Lairson Costa) [1836977] - x86/traps: Print address on #GP (Wander Lairson Costa) [1836977] - x86/kprobes: Inline kprobe_exceptions_notify() into do_general_protection() (Wander Lairson Costa) [1836977] - x86/tdx: Exclude shared bit from __PHYSICAL_MASK (Wander Lairson Costa) [1836977] - x86/tdx: Extend the confidential computing API to support TDX guests (Wander Lairson Costa) [1836977] - x86/tdx: Add __tdx_module_call() and __tdx_hypercall() helper functions (Wander Lairson Costa) [1836977] - x86/tdx: Provide common base for SEAMCALL and TDCALL C wrappers (Wander Lairson Costa) [1836977] - x86/tdx: Detect running as a TDX guest in early boot (Wander Lairson Costa) [1836977] - x86/mm/cpa: Generalize __set_memory_enc_pgtable() (Wander Lairson Costa) [1836977] - x86/mm/pat: Don't flush cache if hardware enforces cache coherency across encryption domnains (Wander Lairson Costa) [1836977] - x86/coco: Add API to handle encryption mask (Wander Lairson Costa) [1836977] - x86/cc: Move arch/x86/{kernel/cc_platform.c => coco/core.c} (Wander Lairson Costa) [1836977] - x86/sev-es: Use insn_decode_mmio() for MMIO implementation (Wander Lairson Costa) [1836977] - x86/insn-eval: Introduce insn_decode_mmio() (Wander Lairson Costa) [1836977] - x86/insn-eval: Introduce insn_get_modrm_reg_ptr() (Wander Lairson Costa) [1836977] - x86/insn-eval: Handle insn_get_opcode() failure (Wander Lairson Costa) [1836977] - x86/sev: Move common memory encryption code to mem_encrypt.c (Wander Lairson Costa) [1836977] - x86/sev: Rename mem_encrypt.c to mem_encrypt_amd.c (Wander Lairson Costa) [1836977] - x86/virtio: Have SEV guests enforce restricted virtio memory access (Wander Lairson Costa) [1836977] - devlink: protect devlink dump by the instance lock (Petr Oros) [2131116] - devlink: hold region lock when flushing snapshots (Petr Oros) [2131116] - net: devlink: enable parallel ops on netlink interface (Petr Oros) [2131116] - net: devlink: remove devlink_mutex (Petr Oros) [2131116] - net: devlink: convert reload command to take implicit devlink->lock (Petr Oros) [2131116] - net: devlink: introduce "unregistering" mark and use it during devlinks iteration (Petr Oros) [2131116] - devlink: Fix use-after-free after a failed reload (Petr Oros) [2131116] - net: devlink: Fix missing mutex_unlock() call (Petr Oros) [2131116] - Documentation: devlink: add add devlink-selftests to the table of contents (Petr Oros) [2131116] - devlink: Hold the instance lock in health callbacks (Petr Oros) [2131116] - net/mlx4: Lock mlx4 devlink reload callback (Petr Oros) [2131116] - net/mlx4: Use devl_ API for devlink port register / unregister (Petr Oros) [2131116] - net/mlx4: Use devl_ API for devlink region create / destroy (Petr Oros) [2131116] - net: devlink: remove region snapshots list dependency on devlink->lock (Petr Oros) [2131116] - net: devlink: remove region snapshot ID tracking dependency on devlink->lock (Petr Oros) [2131116] - devlink: introduce framework for selftests (Petr Oros) [2131116] - net: devlink: remove redundant net_eq() check from sb_pool_get_dumpit() (Petr Oros) [2131116] - net: devlink: move net check into devlinks_xa_for_each_registered_get() (Petr Oros) [2131116] - net: devlink: make sure that devlink_try_get() works with valid pointer during xarray iteration (Petr Oros) [2131116] - netdevsim: convert driver to use unlocked devlink API during init/fini (Petr Oros) [2131116] - net: devlink: add unlocked variants of devlink_region_create/destroy() functions (Petr Oros) [2131116] - net: devlink: add unlocked variants of devlink_dpipe*() functions (Petr Oros) [2131116] - net: devlink: add unlocked variants of devlink_sb*() functions (Petr Oros) [2131116] - net: devlink: add unlocked variants of devlink_resource*() functions (Petr Oros) [2131116] - net: devlink: add unlocked variants of devling_trap*() functions (Petr Oros) [2131116] - net: devlink: avoid false DEADLOCK warning reported by lockdep (Petr Oros) [2131116] - net: devlink: fix return statement in devlink_port_new_notify() (Petr Oros) [2131116] - net: devlink: fix a typo in function name devlink_port_new_notifiy() (Petr Oros) [2131116] - net: devlink: make devlink_dpipe_headers_register() return void (Petr Oros) [2131116] - net: devlink: move unlocked function prototypes alongside the locked ones (Petr Oros) [2131116] - net: devlink: use helpers to work with devlink->lock mutex (Petr Oros) [2131116] - net: devlink: fix unlocked vs locked functions descriptions (Petr Oros) [2131116] - devlink: Hold the instance lock in port_new / port_del callbacks (Petr Oros) [2131116] - powercap: intel_rapl: Add support for RAPTORLAKE_S (Prarit Bhargava) [2120363] - selftests/bpf: Fix test_varlen verification failure with latest llvm (Yauheni Kaliuta) [2149222] - iwlwifi: remove firmware version limit for AC9560 (Íñigo Huguet) [2129361] - wifi: iwlwifi: fw: skip PPAG for JF (Íñigo Huguet) [2129361] - sched: Improve wake_up_all_idle_cpus() take #2 (Julia Denham) [2134931] - selftests/livepatch: better synchronize test_klp_callbacks_busy (Julia Denham) [2121204] - sched,livepatch: Use wake_up_if_idle() (Joe Lawrence) [2134931] - sched: Simplify wake_up_*idle*() (Joe Lawrence) [2134931] - sched,livepatch: Use task_call_func() (Joe Lawrence) [2134931] - sched,rcu: Rework try_invoke_on_locked_down_task() (Joe Lawrence) [2134931] - sched: Improve try_invoke_on_locked_down_task() (Joe Lawrence) [2134931] - arm64/bpf: Remove 128MB limit for BPF JIT programs (Yauheni Kaliuta) [2140163] - bpf: Define bpf_jit_alloc_exec_limit for arm64 JIT (Yauheni Kaliuta) [2140163] - arm64: extable: add `type` and `data` fields (Yauheni Kaliuta) [2140163] - arm64: extable: use `ex` for `exception_table_entry` (Yauheni Kaliuta) [2140163] - arm64: extable: make fixup_exception() return bool (Yauheni Kaliuta) [2140163] - arm64: extable: consolidate definitions (Yauheni Kaliuta) [2140163] - arm64: kvm: use kvm_exception_table_entry (Yauheni Kaliuta) [2140163] - s390/cio: check the subchannel validity for dev_busid (Tobias Huschle) [2160494] - s390/cio: add dev_busid sysfs entry for each subchannel (Tobias Huschle) [2160494]- intel_idle: Add AlderLake-N support (Prarit Bhargava) [2144692] - selftests/timens: add a test for vfork+exit (Oleg Nesterov) [2116444] - fs/exec: switch timens when a task gets a new mm (Oleg Nesterov) [2116444] - namespace: make timens_on_fork() return nothing (Oleg Nesterov) [2116444] - timens: make vdso_join_timens() always succeed (Oleg Nesterov) [2116444] - xfrm: Fix oops in __xfrm_state_delete() (Sabrina Dubroca) [2156048] - tcp: Fix data races around icsk->icsk_af_ops. (Guillaume Nault) [2143904] {CVE-2022-3566} - ice: synchronize the misc IRQ when tearing down Tx tracker (Petr Oros) [2148858] - ice: fix handling of burst Tx timestamps (Petr Oros) [2148858] - vhost/vsock: Fix error handling in vhost_vsock_init() (Stefano Garzarella) [2159969] - net: vmw_vsock: vmci: Check memcpy_from_msg() (Stefano Garzarella) [2159969] - vhost/vsock: Use kvmalloc/kvfree for larger packets. (Stefano Garzarella) [2159969] - vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout() (Stefano Garzarella) [2159969] - vsock: Fix memory leak in vsock_connect() (Stefano Garzarella) [2159969] - tools/power turbostat: Add support for RPL-S (Prarit Bhargava) [2122848]- nvme: re-order nvme_alloc_ns to match "nvme: use blk_mq_alloc_disk" (Chris Leech) [2152742] - perf vendor events amd: Add Zen 4 mapping (Michael Petlan) [2148294] - perf vendor events amd: Add Zen 4 metrics (Michael Petlan) [2148294] - perf vendor events amd: Add Zen 4 uncore events (Michael Petlan) [2148294] - perf vendor events amd: Add Zen 4 core events (Michael Petlan) [2148294] - cpuhotplug: Fix KABI breakage (Prarit Bhargava) [2156529] - scsi: target: core: Fix hard lockup when executing a compare-and-write command (Maurizio Lombardi) [2119897] - x86/topology: Fix duplicated core ID within a package (Prarit Bhargava) [2159553] - x86/topology: Fix multiple packages shown on a single-package system (Prarit Bhargava) [2159553] - hwmon/coretemp: Handle large core ID value (Prarit Bhargava) [2159553] - x86: Remove vendor checks from prefer_mwait_c1_over_halt (Prarit Bhargava) [2150067] - x86: Handle idle=nomwait cmdline properly for x86_idle (Prarit Bhargava) [2150067] - cpufreq: intel_pstate: Support Sapphire Rapids OOB mode (Prarit Bhargava) [2117767] - KVM: nVMX: Inject #GP, not #UD, if "generic" VMXON CR0/CR4 check fails (Emanuele Giuseppe Esposito) [2159433] - vmxnet3: correctly report csum_level for encapsulated packet (Izabela Bakollari) [2158809] - mei: pxp: support matching with a gfx discrete card (Jocelyn Falempe) [2147557] - mei: pxp: add command streamer API to the PXP driver (Jocelyn Falempe) [2147557] - mei: bus: extend bus API to support command streamer API (Jocelyn Falempe) [2147557] - mei: adjust extended header kdocs (Jocelyn Falempe) [2147557] - mei: bus: enable sending gsc commands (Jocelyn Falempe) [2147557] - mei: add support to GSC extended header (Jocelyn Falempe) [2147557] - mei: debugfs: add pxp mode to devstate in debugfs (Jocelyn Falempe) [2147557] - mei: drop ready bits check after start (Jocelyn Falempe) [2147557] - mei: gsc: add transition to PXP mode in resume flow (Jocelyn Falempe) [2147557] - mei: gsc: setup gsc extended operational memory (Jocelyn Falempe) [2147557] - mei: mkhi: add memory ready command (Jocelyn Falempe) [2147557] - mei: bus: export common mkhi definitions into a separate header (Jocelyn Falempe) [2147557] - mei: extend timeouts on slow devices (Jocelyn Falempe) [2147557] - mei: gsc: wait for reset thread on stop (Jocelyn Falempe) [2147557] - mei: gsc: use polling instead of interrupts (Jocelyn Falempe) [2147557] - mei: add slow_firmware flag to the mei auxiliary device (Jocelyn Falempe) [2147557] - mei: add kdoc for struct mei_aux_device (Jocelyn Falempe) [2147557] - mei: me: fix clang -Wformat warning (Jocelyn Falempe) [2147557] - mei: me: add raptor lake point S DID (Jocelyn Falempe) [2147557] - mei: hbm: drop capability response on early shutdown (Jocelyn Falempe) [2147557] - mei: me: set internal pg flag to off on hardware reset (Jocelyn Falempe) [2147557] - misc/mei: Add NULL check to component match callback functions (Jocelyn Falempe) [2147557] - drm/display: Move HDCP helpers into display-helper module (Jocelyn Falempe) [2147557] - mei: gsc: retrieve the firmware version (Jocelyn Falempe) [2147557] - mei: gsc: add runtime pm handlers (Jocelyn Falempe) [2147557] - mei: gsc: setup char driver alive in spite of firmware handshake failure (Jocelyn Falempe) [2147557] - mei: add support for graphics system controller (gsc) devices (Jocelyn Falempe) [2147557] - mei: avoid iterator usage outside of list_for_each_entry (Jocelyn Falempe) [2147557] - mei: do not overwrite state on hw start (Jocelyn Falempe) [2147557] - mei: me: fix reset policy on read error in interrupt (Jocelyn Falempe) [2147557] - mei: me: avoid link reset on shutdown (Jocelyn Falempe) [2147557] - mei: me: disable driver on the ign firmware (Jocelyn Falempe) [2147557] - mei: me: Use dma_set_mask_and_coherent() and simplify code (Jocelyn Falempe) [2147557] - mei: hbm: fix client dma reply status (Jocelyn Falempe) [2147557] - mei: cleanup status before client dma setup call (Jocelyn Falempe) [2147557] - mei: add POWERING_DOWN into device state print (Jocelyn Falempe) [2147557] - mei: Remove some dead code (Jocelyn Falempe) [2147557] - mei: bus: add client dma interface (Jocelyn Falempe) [2147557] - mei: hbm: drop hbm responses on early shutdown (Jocelyn Falempe) [2147557] - mei: me: add Ice Lake-N device id. (Jocelyn Falempe) [2147557] - mei: pxp: export pavp client to me client bus (Jocelyn Falempe) [2147557] - mei: Remove usage of the deprecated "pci-dma-compat.h" API (Jocelyn Falempe) [2147557] - mei: constify passed buffers and structures (Jocelyn Falempe) [2147557] - mei: revamp mei extension header structure layout. (Jocelyn Falempe) [2147557] - mei: fix kdoc in the driver (Jocelyn Falempe) [2147557] - mei: hdcp: SPDX tag should be the first line (Jocelyn Falempe) [2147557] - mei: request autosuspend after sending rx flow control (Jocelyn Falempe) [2147557] - mei: Drop unnecessary NULL check after container_of (Jocelyn Falempe) [2147557] - mei: me: add Alder Lake P device id. (Jocelyn Falempe) [2147557] - mei: allow map and unmap of client dma buffer only for disconnected client (Jocelyn Falempe) [2147557] - mei: use sysfs_emit() in tx_queue_limit_show sysfs (Jocelyn Falempe) [2147557] - mei: bus: block send with vtag on non-conformat FW (Jocelyn Falempe) [2147557] - mei: bus: change remove callback to return void (Jocelyn Falempe) [2147557] - mei: bus: simplify mei_cl_device_remove() (Jocelyn Falempe) [2147557] - mei: implement client dma setup. (Jocelyn Falempe) [2147557] - mei: hbm: add client dma hbm messages (Jocelyn Falempe) [2147557] - mei: add support for client dma capability (Jocelyn Falempe) [2147557] - mei: allow clients on bus to communicate in remove callback (Jocelyn Falempe) [2147557] - mei: me: add adler lake point LP DID (Jocelyn Falempe) [2147557] - mei: hbm: drop hbm responses on shutdown (Jocelyn Falempe) [2147557] - mei: hbm: call mei_set_devstate() on hbm stop response (Jocelyn Falempe) [2147557] - mei: document that mei_msg_hdr_init returns ERR_PTR (Jocelyn Falempe) [2147557] - mei: fix transfer over dma with extended header (Jocelyn Falempe) [2147557] - misc/mei/hdcp: Fix AUTH_STREAM_REQ cmd buffer len (Jocelyn Falempe) [2147557] - mei: bus: enable pavp device. (Jocelyn Falempe) [2147557] - mei: bus: add vtag support (Jocelyn Falempe) [2147557] - Revert "mei: virtio: virtualization frontend driver" (Jocelyn Falempe) [2147557] - mei: bus: fix a kernel-doc markup (Jocelyn Falempe) [2147557] - mei: protect mei_cl_mtu from null dereference (Jocelyn Falempe) [2147557] - mei: bus: deinitialize callback functions on init failure (Jocelyn Falempe) [2147557] - mei: bus: do not start a read for disconnected clients (Jocelyn Falempe) [2147557] - misc: mei: remove unneeded break (Jocelyn Falempe) [2147557] - mei: hw: Replace zero-length array with flexible-array member (Jocelyn Falempe) [2147557] - mei: virtio: virtualization frontend driver (Jocelyn Falempe) [2147557] - mei: add connect with vtag ioctl (Jocelyn Falempe) [2147557] - mei: bus: unconditionally enable clients with vtag support (Jocelyn Falempe) [2147557] - mei: bus: use zero vtag for bus clients. (Jocelyn Falempe) [2147557] - mei: handle tx queue flushing for vtag connections (Jocelyn Falempe) [2147557] - mei: add a vtag map for each client (Jocelyn Falempe) [2147557] - mei: add a spin lock to protect rd_completed queue (Jocelyn Falempe) [2147557] - mei: bump hbm version to 2.2 (Jocelyn Falempe) [2147557] - mei: add support for mei extended header. (Jocelyn Falempe) [2147557] - mei: add vtag support bit in client properties (Jocelyn Falempe) [2147557] - mei: restrict vtag support to hbm version 2.2 (Jocelyn Falempe) [2147557] - mei: hbm: add capabilities message (Jocelyn Falempe) [2147557] - Revert "scsi: iscsi: ql4xxx: Use per-session workqueue for unbinding" (Chris Leech) [2122624] - Revert "scsi: iscsi: Use the session workqueue for recovery" (Chris Leech) [2122624] - l2tp: Don't sleep and disable BH under writer-side sk_callback_lock (Guillaume Nault) [2145235] {CVE-2022-4129} - l2tp: Serialize access to sk_user_data with sk_callback_lock (Guillaume Nault) [2145235] {CVE-2022-4129} - net: fix a concurrency bug in l2tp_tunnel_register() (Guillaume Nault) [2145235] {CVE-2022-4129} - net: tap: fix general protection fault when freeing an skb when the ring is full (Antoine Tenart) [2152802] - platform/x86/intel/pmt: Sapphire Rapids PMT errata fix (Prarit Bhargava) [2144689] - RDMA/core: Fix null-ptr-deref in ib_core_cleanup() (Kamal Heib) [2120677] - RDMA/rxe: Fix mr leak in RESPST_ERR_RNR (Kamal Heib) [2120677] - IB/hfi1: Correctly move list in sc_disable() (Kamal Heib) [2120677] - RDMA/cma: Use output interface for net_dev check (Kamal Heib) [2120677] - RDMA/usnic: fix set-but-not-unused variable 'flags' warning (Kamal Heib) [2120677] - IB/rdmavt: Add __init/__exit annotations to module init/exit funcs (Kamal Heib) [2120677] - RDMA/rxe: Fix resize_finish() in rxe_queue.c (Kamal Heib) [2120677] - IB: Set IOVA/LENGTH on IB_MR in core/uverbs layers (Kamal Heib) [2120677] - RDMA/cm: Use SLID in the work completion as the DLID in responder side (Kamal Heib) [2120677] - RDMA/siw: Fix QP destroy to wait for all references dropped. (Kamal Heib) [2120677] - RDMA/srp: Fix srp_abort() (Kamal Heib) [2120677] - RDMA/irdma: Validate udata inlen and outlen (Kamal Heib) [2120677] - RDMA/irdma: Align AE id codes to correct flush code and event (Kamal Heib) [2120677] - RDMA/rxe: Fix the error caused by qp->sk (Kamal Heib) [2120677] - RDMA/rxe: Fix "kernel NULL pointer dereference" error (Kamal Heib) [2120677] - RDMA/rxe: Remove an unused member from struct rxe_mr (Kamal Heib) [2120677] - x86/fpu: Fix copy_xstate_to_uabi() to copy init states correctly (Dean Nelson) [2122850] - x86/fpu: Exclude dynamic states from init_fpstate (Dean Nelson) [2122850] - x86/fpu: Fix the init_fpstate size check with the actual size (Dean Nelson) [2122850] - x86/fpu: Configure init_fpstate attributes orderly (Dean Nelson) [2122850] - x86/fpu/xstate: Fix the ARCH_REQ_XCOMP_PERM implementation (Dean Nelson) [2122850] - ceph: rely on vfs for setgid stripping (Andrey Albershteyn) [2128904] - fs: move S_ISGID stripping into the vfs_*() helpers (Andrey Albershteyn) [2128904] - fs: Add missing umask strip in vfs_tmpfile (Andrey Albershteyn) [2128904] - fs: add mode_strip_sgid() helper (Andrey Albershteyn) [2128904]- x86/insn: Add AMX instructions to the x86 instruction decoder (Prarit Bhargava) [2117765] - intel_idle: Add a new flag to initialize the AMX state (Prarit Bhargava) [2117765] - x86/fpu: Add a helper to prepare AMX state for low-power CPU idle (Prarit Bhargava) [2117765] - intel_idle: make SPR C1 and C1E be independent (Prarit Bhargava) [2117765] - rpmspec: drop traceevent files instead of just excluding them from files list (Michael Petlan) [2155509] - powerpc/bpf/64: Add instructions for atomic_[cmp]xchg (Mamatha Inamdar) [2113254] - powerpc/bpf/64: add support for atomic fetch operations (Mamatha Inamdar) [2113254] - powerpc/bpf/64: add support for BPF_ATOMIC bitwise operations (Mamatha Inamdar) [2113254] - powerpc/bpf: Simplify bpf_to_ppc() and adopt it for powerpc64 (Mamatha Inamdar) [2113254] - powerpc64/bpf: Store temp registers' bpf to ppc mapping (Mamatha Inamdar) [2113254] - powerpc/bpf: Use _Rn macros for GPRs (Mamatha Inamdar) [2113254] - powerpc/bpf: Move bpf_jit64.h into bpf_jit_comp64.c (Mamatha Inamdar) [2113254] - powerpc/bpf: Cleanup bpf_jit.h (Mamatha Inamdar) [2113254] - powerpc64/bpf: Get rid of PPC_BPF_[LL|STL|STLU] macros (Mamatha Inamdar) [2113254] - powerpc64/bpf: Convert some of the uses of PPC_BPF_[LL|STL] to PPC_BPF_[LD|STD] (Mamatha Inamdar) [2113254] - powerpc64/bpf: Optimize instruction sequence used for function calls (Mamatha Inamdar) [2113254] - powerpc64/bpf elfv1: Do not load TOC before calling functions (Mamatha Inamdar) [2113254] - powerpc64/bpf elfv2: Setup kernel TOC in r2 on entry (Mamatha Inamdar) [2113254] - powerpc64: Set PPC64_ELF_ABI_v[1|2] macros to 1 (Mamatha Inamdar) [2113254] - powerpc64/bpf: Use r12 for constant blinding (Mamatha Inamdar) [2113254] - powerpc64/bpf: Do not save/restore LR on each call to bpf_stf_barrier() (Mamatha Inamdar) [2113254] - powerpc/bpf: Handle large branch ranges with BPF_EXIT (Mamatha Inamdar) [2113254] - powerpc/bpf: Emit a single branch instruction for known short branch ranges (Mamatha Inamdar) [2113254] - powerpc/bpf: Skip branch range validation during first pass (Mamatha Inamdar) [2113254] - powerpc64/bpf: Limit 'ldbrx' to processors compliant with ISA v2.06 (Mamatha Inamdar) [2113254] - tools/bpf: Rename 'struct event' to avoid naming conflict (Mamatha Inamdar) [2113254] - bpf: Guard against accessing NULL pt_regs in bpf_get_task_stack() (Mamatha Inamdar) [2113254] - bpf ppc64: Access only if addr is kernel address (Mamatha Inamdar) [2113254] - bpf ppc64: Add BPF_PROBE_MEM support for JIT (Mamatha Inamdar) [2113254] - powerpc/ppc-opcode: introduce PPC_RAW_BRANCH() macro (Mamatha Inamdar) [2113254] - bpf powerpc: refactor JIT compiler code (Mamatha Inamdar) [2113254] - bpf powerpc: Remove extra_pass from bpf_jit_build_body() (Mamatha Inamdar) [2113254] - bpf powerpc: Remove unused SEEN_STACK (Mamatha Inamdar) [2113254] - powerpc/bpf: Emit stf barrier instruction sequences for BPF_NOSPEC (Mamatha Inamdar) [2113254] - powerpc/security: Add a helper to query stf_barrier type (Mamatha Inamdar) [2113254] - powerpc/bpf: Fix BPF_SUB when imm == 0x80000000 (Mamatha Inamdar) [2113254] - powerpc/bpf: Fix BPF_MOD when imm == 1 (Mamatha Inamdar) [2113254] - powerpc/bpf: Validate branch ranges (Mamatha Inamdar) [2113254] - powerpc/lib: Add helper to check if offset is within conditional branch range (Mamatha Inamdar) [2113254] - powerpc/lib/feature-fixups: Use PPC_RAW_xxx() macros (Mamatha Inamdar) [2113254] - powerpc: Move PPC_HA() PPC_HI() and PPC_LO() to ppc-opcode.h (Mamatha Inamdar) [2113254] - swapfile: fix soft lockup in scan_swap_map_slots (Waiman Long) [2155734] - mm/swap: add helper swap_offset_available() (Waiman Long) [2155734] - pNFS/filelayout: Fix coalescing test for single DS (Benjamin Coddington) [2158520] - arm64: kdump: Support crashkernel=X fall back to reserve region above DMA zones (Pingfan Liu) [1940674] - arm64: kdump: Provide default size when crashkernel=Y,low is not specified (Pingfan Liu) [1940674] - media: dmxdev: fix UAF when dvb_register_device() fails (Dean Nelson) [2123301] {CVE-2022-41218} - crypto: s390/aes - drop redundant xts key check (Vladis Dronov) [2158893] - crypto: xts - implement xts_verify_key() with xts_check_key() (Vladis Dronov) [2158893] - audit: cache ctx->major in audit_filter_syscall() (Richard Guy Briggs) [2123854] - audit: free audit_proctitle only on task exit (Richard Guy Briggs) [2123854] - audit: explicitly check audit_context->context enum value (Richard Guy Briggs) [2123854] - audit: move audit_return_fixup before the filters (Richard Guy Briggs) [2123854] - audit: fix potential double free on error path from fsnotify_add_inode_mark (Richard Guy Briggs) [2123854] - i2c: ismt: Fix an out-of-bounds bug in ismt_access() (Prarit Bhargava) [2119066] {CVE-2022-2873} - net: dropreason: add SKB_DROP_REASON_FRAG_TOO_FAR (Antoine Tenart) [2155186] - net: dropreason: add SKB_DROP_REASON_FRAG_REASM_TIMEOUT (Antoine Tenart) [2155186] - net: dropreason: add SKB_DROP_REASON_DUP_FRAG (Antoine Tenart) [2155186] - net: dropreason: propagate drop_reason to skb_release_data() (Antoine Tenart) [2155186] - net: dropreason: add SKB_CONSUMED reason (Antoine Tenart) [2155186] - ipv4: remove redundant null pointer check before kfree_skb (Antoine Tenart) [2155186]- turbostat: Bring code up-to-date with upstream (Prarit Bhargava) [2117769] - tools/power turbostat: Enable accumulate RAPL display (Prarit Bhargava) [2117769] - tools/power turbostat: version 2022.07.28 (Prarit Bhargava) [2117769] - tools/power turbostat: do not decode ACC for ICX and SPR (Prarit Bhargava) [2117769] - tools/power turbostat: fix SPR PC6 limits (Prarit Bhargava) [2117769] - tools/power turbostat: cleanup 'automatic_cstate_conversion_probe()' (Prarit Bhargava) [2117769] - tools/power turbostat: separate SPR from ICX (Prarit Bhargava) [2117769] - tools/power turbosstat: fix comment (Prarit Bhargava) [2117769] - tools/power turbostat: Support RAPTORLAKE P (Prarit Bhargava) [2117769] - tools/power turbostat: add support for ALDERLAKE_N (Prarit Bhargava) [2117769] - tools/power turbostat: dump secondary Turbo-Ratio-Limit (Prarit Bhargava) [2117769] - tools/power turbostat: simplify dump_turbo_ratio_limits() (Prarit Bhargava) [2117769] - tools/power turbostat: dump CPUID.7.EDX.Hybrid (Prarit Bhargava) [2117769] - tools/power turbostat: update turbostat.8 (Prarit Bhargava) [2117769] - tools/power turbostat: Show uncore frequency (Prarit Bhargava) [2117769] - tools/power turbostat: Fix file pointer leak (Prarit Bhargava) [2117769] - tools/power turbostat: replace strncmp with single character compare (Prarit Bhargava) [2117769] - tools/power turbostat: print the kernel boot commandline (Prarit Bhargava) [2117769] - tools/power turbostat: Introduce support for RaptorLake (Prarit Bhargava) [2117769] - tools/power turbostat: version 2022.04.16 (Prarit Bhargava) [2117769] - tools/power turbostat: No build warnings with -Wextra (Prarit Bhargava) [2117769] - tools/power turbostat: be more useful as non-root (Prarit Bhargava) [2117769] - tools/power turbostat: fix ICX DRAM power numbers (Prarit Bhargava) [2117769] - tools/power turbostat: Support thermal throttle count print (Prarit Bhargava) [2117769] - tools/power turbostat: Allow printing header every N iterations (Prarit Bhargava) [2117769] - tools/power turbostat: Allow -e for all names. (Prarit Bhargava) [2117769] - tools/power turbostat: print power values upto three decimal (Prarit Bhargava) [2117769] - tools/power turbostat: Add Power Limit4 support (Prarit Bhargava) [2117769] - tools/power turbostat: fix dump for AMD cpus (Prarit Bhargava) [2117769] - tools/power turbostat: tweak --show and --hide capability (Prarit Bhargava) [2117769] - NFSv4: Retry LOCK on OLD_STATEID during delegation return (Benjamin Coddington) [2137826] - KVM: s390: pv: don't allow userspace to set the clock under PV (Tobias Huschle) [2154284] - net: mana: Fix race on per-CQ variable napi work_done (Emanuele Giuseppe Esposito) [2151722] - powercap: intel_rapl: support new layout of Psys PowerLimit Register on SPR (Prarit Bhargava) [2106143] - ceph: choose auth MDS for getxattr with the Xs caps (Milind Changire) [2126703] - ceph: try to choose the auth MDS if possible for getattr (Milind Changire) [2126703] - ceph: convert to generic_file_llseek (Milind Changire) [2126707] - ceph: don't leak snap_rwsem in handle_cap_grant (Milind Changire) [2126706] - ceph: prevent a client from exceeding the MDS maximum xattr size (Milind Changire) [2126704] - ceph: add session already open notify support (Milind Changire) [2126701] - ceph: use correct index when encoding client supported features (Milind Changire) [2143875] - ceph: switch TASK_INTERRUPTIBLE to TASK_KILLABLE (Milind Changire) [2126700] - ceph: allow ceph.dir.rctime xattr to be updatable (Milind Changire) [2126699] - ipv6: Use ipv6_only_sock() helper in condition. (Izabela Bakollari) [2144855] - ipv6: Remove __ipv6_only_sock(). (Izabela Bakollari) [2144855] - redhat/configs: Switch CONFIG_X86_AMD_PSTATE to built-in (Prarit Bhargava) [2150424] - Documentation: add amd-pstate kernel command line options (Prarit Bhargava) [2150424] - cpufreq: amd-pstate: add amd-pstate driver parameter for mode selection (Prarit Bhargava) [2150424] - cpufreq: amd-pstate: change amd-pstate driver to be built-in type (Prarit Bhargava) [2150424] - cpufreq: amd-pstate: cpufreq: amd-pstate: reset MSR_AMD_PERF_CTL register at init (Prarit Bhargava) [2150424] - scsi: target: iscsi: Fix a race condition between login_work and the login thread (Maurizio Lombardi) [2153832] - virtio_console: Introduce an ID allocator for virtual console numbers (Cédric Le Goater) [2072437] - blk-throttle: fix that io throttle can only work for single bio (Ming Lei) [2088193] - scsi: zfcp: Fix double free of FSF request when qdio send fails (Tobias Huschle) [2155157] - scsi: qla2xxx: Fix crash when I/O abort times out (Nilesh Javali) [2115820] - perf trace: Fix SIGSEGV when processing syscall args (Michael Petlan) [2145089] - config: mhi: set CONFIG_MHI_BUS_EP to disabled (Íñigo Huguet) [2136123] - config: rtw89: set CONFIG_RTW89_8852C to disabled (Íñigo Huguet) [2136123] - wifi: ath11k: avoid deadlock during regulatory update in ath11k_regd_update() (Íñigo Huguet) [2136123 2139481] - wifi: mac80211: mlme: Fix double unlock on assoc success handling (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: Fix missing unlock on beacon RX (Íñigo Huguet) [2136123] - wifi: mac80211: fix memory corruption in minstrel_ht_update_rates() (Íñigo Huguet) [2136123] - wifi: mac80211: fix regression with non-QoS drivers (Íñigo Huguet) [2136123] - wifi: mac80211: ensure vif queues are operational after start (Íñigo Huguet) [2136123] - wifi: mac80211: don't start TX with fq->lock to fix deadlock (Íñigo Huguet) [2136123] - wifi: cfg80211: fix MCS divisor value (Íñigo Huguet) [2136123] - wifi: mt76: fix 5 GHz connection regression on mt76x0/mt76x2 (Íñigo Huguet) [2136123] - wifi: mt76: fix reading current per-tid starting sequence number for aggregation (Íñigo Huguet) [2136123] - wifi: iwlwifi: Mark IWLMEI as broken (Íñigo Huguet) [2136123] - wifi: iwlwifi: don't spam logs with NSS>2 messages (Íñigo Huguet) [2136123] - wifi: use struct_group to copy addresses (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: check length for virtio packets (Íñigo Huguet) [2136123] - wifi: mac80211: fix locking in auth/assoc timeout (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: release deflink channel in error case (Íñigo Huguet) [2136123] - wifi: mac80211: fix link warning in RX agg timer expiry (Íñigo Huguet) [2136123] - bus: mhi: host: Fix up null pointer access in mhi_irq_handler (Íñigo Huguet) [2136123] - net: Use u64_stats_fetch_begin_irq() for stats fetch. (Íñigo Huguet) [2136123] - wifi: mt76: mt7921e: fix crash in chip reset fail (Íñigo Huguet) [2136123] - wifi: mac80211: potential NULL dereference in ieee80211_tx_control_port() (Íñigo Huguet) [2136123] - wifi: cfg80211: debugfs: fix return type in ht40allow_map_read() (Íñigo Huguet) [2136123] - wifi: mac80211: Don't finalize CSA in IBSS mode if state is disconnected (Íñigo Huguet) [2136123] - wifi: mac80211: fix possible leak in ieee80211_tx_control_port() (Íñigo Huguet) [2136123] - wifi: mac80211: always free sta in __sta_info_alloc in case of error (Íñigo Huguet) [2136123] - wifi: mac80211: Fix UAF in ieee80211_scan_rx() (Íñigo Huguet) [2136123] - net: qrtr: start MHI channel after endpoit creation (Íñigo Huguet) [2136123] - wifi: cfg80211: Fix validating BSS pointers in __cfg80211_connect_result (Íñigo Huguet) [2136123] - wifi: rtw88: check the return value of alloc_workqueue() (Íñigo Huguet) [2136123] - wifi: rtw89: 8852a: adjust IMR for SER L1 (Íñigo Huguet) [2136123] - wifi: rtw89: 8852a: update RF radio A/B R56 (Íñigo Huguet) [2136123] - wifi: brcmfmac: prevent double-free on hardware-reset (Íñigo Huguet) [2136123] - wifi: brcmfmac: support brcm,ccode-map-trivial DT property (Íñigo Huguet) [2136123] - wifi: brcmfmac: Replace default (not configured) MAC with a random MAC (Íñigo Huguet) [2136123] - wifi: brcmfmac: Add brcmf_c_set_cur_etheraddr() helper (Íñigo Huguet) [2136123] - wifi: brcmfmac: Remove #ifdef guards for PM related functions (Íñigo Huguet) [2136123] - wifi: brcmfmac: use strreplace() in brcmf_of_probe() (Íñigo Huguet) [2136123] - wifi: rtl8xxxu: Fix the error handling of the probe function (Íñigo Huguet) [2136123] - wifi: mwifiex: clean up one inconsistent indenting (Íñigo Huguet) [2136123] - wifi: rtlwifi: Remove duplicate word and Fix typo (Íñigo Huguet) [2136123] - wifi: mwifiex: Fix comment typo (Íñigo Huguet) [2136123] - wifi: iwlwifi: mvm: fix clang -Wformat warnings (Íñigo Huguet) [2136123] - Revert "ath11k: add support for hardware rfkill for QCA6390" (Íñigo Huguet) [2136123] - wifi: ath11k: Fix register write failure on QCN9074 (Íñigo Huguet) [2136123] - wifi: mac80211: fix link data leak (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: fix disassoc with MLO (Íñigo Huguet) [2136123] - wifi: mac80211: add macros to loop over active links (Íñigo Huguet) [2136123] - wifi: mac80211: remove erroneous sband/link validation (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: transmit assoc frame with address translation (Íñigo Huguet) [2136123] - wifi: mac80211: verify link addresses are different (Íñigo Huguet) [2136123] - wifi: mac80211: rx: track link in RX data (Íñigo Huguet) [2136123] - wifi: mac80211: optionally implement MLO multicast TX (Íñigo Huguet) [2136123] - wifi: mac80211: expand ieee80211_mgmt_tx() for MLO (Íñigo Huguet) [2136123] - wifi: nl80211: add MLO link ID to the NL80211_CMD_FRAME TX API (Íñigo Huguet) [2136123] - wifi: mac80211: report link ID to cfg80211 on mgmt RX (Íñigo Huguet) [2136123] - wifi: cfg80211: report link ID in NL80211_CMD_FRAME (Íñigo Huguet) [2136123] - wifi: mac80211: add hardware timestamps for RX and TX (Íñigo Huguet) [2136123] - wifi: cfg80211: add hardware timestamps to frame RX info (Íñigo Huguet) [2136123] - wifi: cfg80211/nl80211: move rx management data into a struct (Íñigo Huguet) [2136123] - wifi: cfg80211: add a function for reporting TX status with hardware timestamps (Íñigo Huguet) [2136123] - wifi: nl80211: add RX and TX timestamp attributes (Íñigo Huguet) [2136123] - nl80211: document uapi for CMD_FRAME_WAIT_CANCEL (Íñigo Huguet) [2136123] - wifi: ieee80211: add helper functions for detecting TM/FTM frames (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: handle links for wmediumd/virtio (Íñigo Huguet) [2136123] - wifi: mac80211: sta_info: fix link_sta insertion (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: fix link_sta setup (Íñigo Huguet) [2136123] - wifi: nl80211/mac80211: clarify link ID in control port TX (Íñigo Huguet) [2136123] - wifi: mac80211: return error from control port TX for drops (Íñigo Huguet) [2136123] - wifi: nl80211: require MLD address on link STA add/modify (Íñigo Huguet) [2136123] - wifi: mac80211: more station handling sanity checks (Íñigo Huguet) [2136123] - wifi: mac80211: fix link sta hash table handling (Íñigo Huguet) [2136123] - wifi: mac80211: validate link address doesn't change (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: set sta.mlo to mlo state (Íñigo Huguet) [2136123] - wifi: mac80211: fast-xmit: handle non-MLO clients (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: fix address translation for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: fix RX MLD address translation (Íñigo Huguet) [2136123] - wifi: mac80211: fix NULL pointer deref with non-MLD STA (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: fix override calculation (Íñigo Huguet) [2136123] - wifi: mac80211: tx: use AP address in some places for MLO (Íñigo Huguet) [2136123] - net: add missing includes and forward declarations under net/ (Íñigo Huguet) [2136123] - wifi: rtl8192se: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: rtlwifi: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: rt2x00: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: brcmsmac: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: brcmfmac: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: mac80211: do not abuse fq.lock in ieee80211_do_stop() (Íñigo Huguet) [2136123] - wifi: mt7601u: fix clang -Wformat warning (Íñigo Huguet) [2136123] - wifi: mt7601u: eeprom: fix clang -Wformat warning (Íñigo Huguet) [2136123] - wifi: ath: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: ath11k: mac: fix long line (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: set sta.mlo correctly (Íñigo Huguet) [2136123] - wifi: mac80211: remove stray printk (Íñigo Huguet) [2136123] - wifi: mac80211: support MLO authentication/association with one link (Íñigo Huguet) [2136123] - wifi: mac80211: add API to parse multi-link element (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: fix TX link selection (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: use MLO link ID for TX (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: do rc update per link (Íñigo Huguet) [2136123] - wifi: mac80211: do link->MLD address translation on RX (Íñigo Huguet) [2136123] - wifi: mac80211: select link when transmitting to non-MLO stations (Íñigo Huguet) [2136123] - wifi: mac80211: fix up link station creation/insertion (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: implement sta_state for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: limit A-MSDU subframes for client too (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor ieee80211_set_associated() (Íñigo Huguet) [2136123] - wifi: cfg80211: add cfg80211_get_iftype_ext_capa() (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: look up beacon elems only if needed (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor assoc link setup (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: remove address arg to ieee80211_mark_sta_auth() (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor assoc success handling (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor ieee80211_prep_channel() a bit (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor assoc req element building (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: switch some things back to deflink (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: change flags in ieee80211_determine_chantype() (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: shift some code around (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor link station setup (Íñigo Huguet) [2136123] - wifi: mac80211: move IEEE80211_SDATA_OPERATING_GMODE to link (Íñigo Huguet) [2136123] - wifi: mac80211: make ieee80211_check_rate_mask() link-aware (Íñigo Huguet) [2136123] - wifi: mac80211: add multi-link element to AUTH frames (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: clean up supported channels element code (Íñigo Huguet) [2136123] - wifi: mac80211: release channel context on link stop (Íñigo Huguet) [2136123] - wifi: mac80211: prohibit DEAUTH_NEED_MGD_TX_PREP in MLO (Íñigo Huguet) [2136123] - wifi: nl80211: fix some attribute policy entries (Íñigo Huguet) [2136123] - wifi: nl80211: reject fragmented and non-inheritance elements (Íñigo Huguet) [2136123] - wifi: nl80211: reject link specific elements on assoc link (Íñigo Huguet) [2136123] - wifi: cfg80211: set country_elem to NULL (Íñigo Huguet) [2136123] - wifi: mac80211: remove link_id parameter from link_info_changed() (Íñigo Huguet) [2136123] - wifi: mac80211: replace link_id with link_conf in switch/(un)assign_vif_chanctx() (Íñigo Huguet) [2136123] - wifi: nl80211: advertise MLO support (Íñigo Huguet) [2136123] - wifi: mac80211: Support multi link in ieee80211_recalc_min_chandef() (Íñigo Huguet) [2136123] - wifi: mac80211: don't check carrier in chanctx code (Íñigo Huguet) [2136123] - wifi: nl80211: allow link ID in set_wiphy with frequency (Íñigo Huguet) [2136123] - wifi: mac80211: Allow EAPOL tx from specific link (Íñigo Huguet) [2136123] - wifi: mac80211: Allow EAPOL frames from link addresses (Íñigo Huguet) [2136123] - wifi: cfg80211/mac80211: Support control port TX from specific link (Íñigo Huguet) [2136123] - wifi: nl80211: Support MLD parameters in nl80211_set_station() (Íñigo Huguet) [2136123] - wifi: nl80211: check MLO support in authenticate (Íñigo Huguet) [2136123] - wifi: mac80211: add a helper to fragment an element (Íñigo Huguet) [2136123] - wifi: mac80211: skip rate statistics for MLD STAs (Íñigo Huguet) [2136123] - wifi: nl80211: set BSS to NULL if IS_ERR() (Íñigo Huguet) [2136123] - wifi: nl80211: add EML/MLD capabilities to per-iftype capabilities (Íñigo Huguet) [2136123] - wifi: nl80211: better validate link ID for stations (Íñigo Huguet) [2136123] - wifi: mac80211: fix link manipulation (Íñigo Huguet) [2136123] - wifi: mac80211: tighten locking check (Íñigo Huguet) [2136123] - wifi: cfg80211: clean up links appropriately (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: simplify adding ht/vht/he/eht elements (Íñigo Huguet) [2136123] - wifi: mac80211: refactor adding custom elements (Íñigo Huguet) [2136123] - wifi: mac80211: refactor adding rates to assoc request (Íñigo Huguet) [2136123] - wifi: mac80211: use only channel width in ieee80211_parse_bitrates() (Íñigo Huguet) [2136123] - wifi: cfg80211: add ieee80211_chanwidth_rate_flags() (Íñigo Huguet) [2136123] - wifi: mac80211: remove redundant condition (Íñigo Huguet) [2136123] - wifi: mac80211: don't set link address for station (Íñigo Huguet) [2136123] - wifi: mac80211: fix multi-BSSID element parsing (Íñigo Huguet) [2136123] - wifi: mac80211: move tdls_chan_switch_prohibited to link data (Íñigo Huguet) [2136123] - wifi: mac80211: don't re-parse elems in ieee80211_assoc_success() (Íñigo Huguet) [2136123] - wifi: mac80211: replace link_id with link_conf in start/stop_ap() (Íñigo Huguet) [2136123] - wifi: mac80211: refactor elements parsing with parameter struct (Íñigo Huguet) [2136123] - wifi: cfg80211: extend cfg80211_rx_assoc_resp() for MLO (Íñigo Huguet) [2136123] - wifi: cfg80211: put cfg80211_rx_assoc_resp() arguments into a struct (Íñigo Huguet) [2136123] - wifi: cfg80211: adjust assoc comeback for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: unify assoc data event sending (Íñigo Huguet) [2136123] - wifi: cfg80211: prepare association failure APIs for MLO (Íñigo Huguet) [2136123] - wifi: cfg80211: remove BSS pointer from cfg80211_disassoc_request (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: use correct link_sta (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: remove sta argument from ieee80211_config_bw (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: use ieee80211_get_link_sband() (Íñigo Huguet) [2136123] - wifi: mac80211: split IEEE80211_STA_DISABLE_WMM to link data (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: first adjustments for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: do IEEE80211_STA_RESET_SIGNAL_AVE per link (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: track AP (MLD) address separately (Íñigo Huguet) [2136123] - wifi: mac80211: remove unused bssid variable (Íñigo Huguet) [2136123] - wifi: mac80211: change QoS settings API to take link into account (Íñigo Huguet) [2136123] - wifi: mac80211: expect powersave handling in driver for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: move ps setting to vif config (Íñigo Huguet) [2136123] - wifi: mac80211: provide link ID in link_conf (Íñigo Huguet) [2136123] - wifi: mac80211: set up/tear down client vif links properly (Íñigo Huguet) [2136123] - wifi: mac80211: move ieee80211_request_smps_mgd_work (Íñigo Huguet) [2136123] - wifi: nl80211: acquire wdev mutex for dump_survey (Íñigo Huguet) [2136123] - wifi: mac80211: fix key lookup (Íñigo Huguet) [2136123] - wifi: mac80211: separate out connection downgrade flags (Íñigo Huguet) [2136123] - wifi: mac80211: Align with Draft P802.11be_D2.0 (Íñigo Huguet) [2136123] - wifi: mac80211: Align with Draft P802.11be_D1.5 (Íñigo Huguet) [2136123] - wifi: mac80211: skip powersave recalc if driver SUPPORTS_DYNAMIC_PS (Íñigo Huguet) [2136123] - wifi: mac80211: debug: omit link if non-MLO connection (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: Ack link addressed frames (Íñigo Huguet) [2136123] - wifi: cfg80211: drop BSS elements from assoc trace for now (Íñigo Huguet) [2136123] - wifi: cfg80211: make cfg80211_auth_request::key_idx signed (Íñigo Huguet) [2136123] - wifi: nl80211: enable setting the link address at new station (Íñigo Huguet) [2136123] - wifi: mac80211: RCU-ify link/link_conf pointers (Íñigo Huguet) [2136123] - wifi: nl80211: hold wdev mutex for station APIs (Íñigo Huguet) [2136123] - wifi: nl80211: hold wdev mutex for channel switch APIs (Íñigo Huguet) [2136123] - wifi: nl80211: hold wdev mutex in add/mod/del link station (Íñigo Huguet) [2136123] - wifi: mac80211: implement callbacks for _link_station (Íñigo Huguet) [2136123] - wifi: cfg80211/mac80211: separate link params from station params (Íñigo Huguet) [2136123] - wifi: cfg80211: add API to add/modify/remove a link station (Íñigo Huguet) [2136123] - wifi: mac80211: add an ieee80211_get_link_sband (Íñigo Huguet) [2136123] - wifi: mac80211: Remove AP SMPS leftovers (Íñigo Huguet) [2136123] - wifi: cfg80211: Allow MLO TX with link source address (Íñigo Huguet) [2136123] - wifi: mac80211: Consider MLO links in offchannel logic (Íñigo Huguet) [2136123] - wifi: mac80211: rx: accept link-addressed frames (Íñigo Huguet) [2136123] - wifi: mac80211: consistently use sdata_dereference() (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: Support link channel matching on rx (Íñigo Huguet) [2136123] - wifi: mac80211: fix mesh airtime link metric estimating (Íñigo Huguet) [2136123] - wifi: mac80211: make 4addr null frames using min_rate for WDS (Íñigo Huguet) [2136123] - wifi: cfg80211: use strscpy to replace strlcpy (Íñigo Huguet) [2136123] - wifi: mac80211: exclude multicast packets from AQL pending airtime (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: use 32-bit skb cookie (Íñigo Huguet) [2136123] - mt76: mt7921: Let PCI core handle power state and use pm_sleep_ptr() (Íñigo Huguet) [2136123] - mediatek: mt76: mac80211: Fix missing of_node_put() in mt76_led_init() (Íñigo Huguet) [2136123] - mt76: get rid of mt76_wcid_hw routine (Íñigo Huguet) [2136123] - mt76: convert MT_TX_HW_QUEUE_EXT_PHY to MT_TX_HW_QUEUE_PHY (Íñigo Huguet) [2136123] - mt76: add phy_idx to mt76_wcid (Íñigo Huguet) [2136123] - mt76: introduce phys array in mt76_dev structure (Íñigo Huguet) [2136123] - mt76: add phy_idx in mt76_rx_status (Íñigo Huguet) [2136123] - mt76: introduce MT_RXQ_BAND2 and MT_RXQ_BAND2_WA in mt76_rxq_id (Íñigo Huguet) [2136123] - mt76: add len parameter to __mt76_mcu_msg_alloc signature (Íñigo Huguet) [2136123] - mt76: mt7915 add ht mpdu density (Íñigo Huguet) [2136123] - mt76: mt7921: reduce the mutex lock scope during reset (Íñigo Huguet) [2136123] - mt76: mt7921: reduce log severity levels for informative messages (Íñigo Huguet) [2136123] - mt76: connac: move tx initialization/cleanup in mt76_connac module (Íñigo Huguet) [2136123] - mt76: mt7921: make mt7921_pci_driver static (Íñigo Huguet) [2136123] - mt76: mt7921: enable HW beacon filter in the initialization stage (Íñigo Huguet) [2136123] - mt76: mt7921: enable HW beacon filter not depending on PM flag (Íñigo Huguet) [2136123] - mt76: remove q->qid (Íñigo Huguet) [2136123] - mt76: do not use skb_set_queue_mapping for internal purposes (Íñigo Huguet) [2136123] - mt76: pass original queue id from __mt76_tx_queue_skb to the driver (Íñigo Huguet) [2136123] - mt76: allow receiving frames with invalid CCMP PN via monitor interfaces (Íñigo Huguet) [2136123] - mt76: mt76x02: improve reliability of the beacon hang check (Íñigo Huguet) [2136123] - mt76: mt7615: add sta_rec with EXTRA_INFO_NEW for the first time only (Íñigo Huguet) [2136123] - mt76: mt7915: update the maximum size of beacon offload (Íñigo Huguet) [2136123] - mt76: do not check the ccmp pn for ONLY_MONITOR frame (Íñigo Huguet) [2136123] - mt76: mt7915: add sta_rec with EXTRA_INFO_NEW for the first time only (Íñigo Huguet) [2136123] - mt76: mt7915: update mpdu density in 6g capability (Íñigo Huguet) [2136123] - mt76: mt7915: do not copy ieee80211_ops pointer in mt7915_mmio_probe (Íñigo Huguet) [2136123] - mt76: mt7915: disable UL MU-MIMO for mt7915 (Íñigo Huguet) [2136123] - mt76: move mt76_connac2_mcu_fill_message in mt76_connac module (Íñigo Huguet) [2136123] - mt76: move mcu_txd/mcu_rxd structures in shared code (Íñigo Huguet) [2136123] - mt76: mt7915: rely on mt76_connac_tx_free (Íñigo Huguet) [2136123] - mt76: connac: move mt7615_txp_skb_unmap in common code (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac_write_hw_txp in shared code (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac_tx_complete_skb in shared code (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac_tx_free in shared code (Íñigo Huguet) [2136123] - mt76: move mt7615_txp_ptr in mt76_connac module (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac_fw_txp in common module (Íñigo Huguet) [2136123] - mt76: mt7915: get rid of unnecessary new line in mt7915_mac_write_txwi (Íñigo Huguet) [2136123] - mt76: mt7921s: remove unnecessary goto in mt7921s_mcu_drv_pmctrl (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_mac_fill_rx_rate in connac module (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_reverse_frag0_hdr_trans in mt76-connac module (Íñigo Huguet) [2136123] - mt76: connac: move HE radiotap parsing in connac module (Íñigo Huguet) [2136123] - mt76: mt7921: fix command timeout in AP stop period (Íñigo Huguet) [2136123] - mt76: mt7921: not support beacon offload disable command (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_mac_add_txs_skb in connac module (Íñigo Huguet) [2136123] - mt76: connac: move connac2_mac_write_txwi in mt76_connac module (Íñigo Huguet) [2136123] - mt76: connac: move mac connac2 defs in mt76_connac2_mac.h (Íñigo Huguet) [2136123] - mt76: mt7915: rely on mt76_dev in mt7915_mac_write_txwi signature (Íñigo Huguet) [2136123] - mt76: mt7921: rely on mt76_dev in mt7921_mac_write_txwi signature (Íñigo Huguet) [2136123] - mt76: enable the VHT extended NSS BW feature (Íñigo Huguet) [2136123] - mt76: mt7663: rely on mt76_connac2_fw_trailer (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_load_patch in connac module (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_load_ram in connac module (Íñigo Huguet) [2136123] - mt76: mt7921: move fw toggle in mt7921_load_firmware (Íñigo Huguet) [2136123] - mt76: connac: move shared fw structures in connac module (Íñigo Huguet) [2136123] - mt76: mt7921: get rid of mt7921_mcu_exit (Íñigo Huguet) [2136123] - mt76: mt7921: add missing bh-disable around rx napi schedule (Íñigo Huguet) [2136123] - mt76: mt7615: add missing bh-disable around rx napi schedule (Íñigo Huguet) [2136123] - mt76: mt7915: add missing bh-disable around tx napi enable/schedule (Íñigo Huguet) [2136123] - mt76: mt7921: add PATCH_FINISH_REQ cmd response handling (Íñigo Huguet) [2136123] - mt76: add DBDC rxq handlings into mac_reset_work (Íñigo Huguet) [2136123] - mt76: mt7915: add more ethtool stats (Íñigo Huguet) [2136123] - mt76: mt7921: introduce ACPI SAR config in tx power (Íñigo Huguet) [2136123] - mt76: mt7921: introduce ACPI SAR support (Íñigo Huguet) [2136123] - mt76: add 6 GHz band support in mt76_sar_freq_ranges (Íñigo Huguet) [2136123] - mt76: mt7915: fix endian bug in mt7915_rf_regval_set() (Íñigo Huguet) [2136123] - mt76: mt76x02u: fix possible memory leak in __mt76x02u_mcu_send_msg (Íñigo Huguet) [2136123] - mt76: mt7915: fix endianness in mt7915_rf_regval_get (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: add back erroneously removed cast (Íñigo Huguet) [2136123] - wifi: mac80211: fix queue selection for mesh/OCB interfaces (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: fix race condition in pending packet (Íñigo Huguet) [2136123] - wifi: mac80211: Use the bitmap API to allocate bitmaps (Íñigo Huguet) [2136123] - wifi: mac80211: fix center freq calculation in ieee80211_chandef_downgrade (Íñigo Huguet) [2136123] - wifi: nl80211: fix sending link ID info of associated BSS (Íñigo Huguet) [2136123] - wifi: cfg80211: fix a comment in cfg80211_mlme_mgmt_tx() (Íñigo Huguet) [2136123] - wifi: nl80211: Fix reading NL80211_ATTR_MLO_LINK_ID in nl80211_pre_doit (Íñigo Huguet) [2136123] - bus: mhi: ep: Check dev_set_name() return value (Íñigo Huguet) [2136123] - ath9k: remove unexpected words "the" in comments (Íñigo Huguet) [2136123] - ath11k: Fix typo in comments (Íñigo Huguet) [2136123] - wifi: nl80211: retrieve EHT related elements in AP mode (Íñigo Huguet) [2136123] - wifi: cfg80211: Increase akm_suites array size in cfg80211_crypto_settings (Íñigo Huguet) [2136123] - wifi: cfg80211: remove chandef check in cfg80211_cac_event() (Íñigo Huguet) [2136123] - wifi: nl80211: relax wdev mutex check in wdev_chandef() (Íñigo Huguet) [2136123] - wifi: nl80211: acquire wdev mutex earlier in start_ap (Íñigo Huguet) [2136123] - wifi: nl80211: hold wdev mutex for tid config (Íñigo Huguet) [2136123] - wifi: cfg80211: handle IBSS in channel switch (Íñigo Huguet) [2136123] - wifi: mac80211: properly skip link info driver update (Íñigo Huguet) [2136123] - wifi: mac80211: only accumulate airtime deficit for active clients (Íñigo Huguet) [2136123] - wifi: mac80211: add debugfs file to display per-phy AQL pending airtime (Íñigo Huguet) [2136123] - wifi: mac80211: add a per-PHY AQL limit to improve fairness (Íñigo Huguet) [2136123] - wifi: mac80211: keep recently active tx queues in scheduling list (Íñigo Huguet) [2136123] - wifi: mac80211: consider aql_tx_pending when checking airtime deficit (Íñigo Huguet) [2136123] - wifi: mac80211: make sta airtime deficit field s32 instead of s64 (Íñigo Huguet) [2136123] - wifi: mac80211: fix a kernel-doc complaint (Íñigo Huguet) [2136123] - wifi: cfg80211: remove redundant documentation (Íñigo Huguet) [2136123] - wifi: mac80211: sta_info: fix a missing kernel-doc struct element (Íñigo Huguet) [2136123] - wifi: mac80211: add a missing comma at kernel-doc markup (Íñigo Huguet) [2136123] - wifi: cfg80211: fix kernel-doc warnings all over the file (Íñigo Huguet) [2136123] - wifi: ieee80211: s1g action frames are not robust (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: Add another Foxconn T99W175 (Íñigo Huguet) [2136123] - wifi: cfg80211: Allow P2P client interface to indicate port authorization (Íñigo Huguet) [2136123] - wifi: mac80211: do not wake queues on a vif that is being stopped (Íñigo Huguet) [2136123] - wifi: mac80211: check skb_shared in ieee80211_8023_xmit() (Íñigo Huguet) [2136123] - wifi: mac80211: add gfp_t parameter to ieeee80211_obss_color_collision_notify (Íñigo Huguet) [2136123] - bus: mhi: host: Move IRQ allocation to controller registration phase (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: Add Cinterion MV31-W with new baseline (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: Add support for Quectel EM120 FCCL modem (Íñigo Huguet) [2136123] - wifi: rtw89: disable invalid phy reports for all ICs (Íñigo Huguet) [2136123] - wifi: rtw89: pci: fix PCI doesn't reclaim TX BD properly (Íñigo Huguet) [2136123] - wifi: rtw89: fix long RX latency in low power mode (Íñigo Huguet) [2136123] - wifi: rtw89: drop invalid TX rate report of legacy rate (Íñigo Huguet) [2136123] - wifi: rtw89: add UNEXP debug mask to keep monitor messages unexpected to happen frequently (Íñigo Huguet) [2136123] - wifi: rtw89: enable VO TX AMPDU (Íñigo Huguet) [2136123] - wifi: rtw89: fix potential TX stuck (Íñigo Huguet) [2136123] - wifi: rtw89: support TDLS (Íñigo Huguet) [2136123] - wifi: rtw89: allocate BSSID CAM per TDLS peer (Íñigo Huguet) [2136123] - wifi: rtw89: separate BSSID CAM operations (Íñigo Huguet) [2136123] - wifi: rtw89: allocate address CAM and MAC ID to TDLS peer (Íñigo Huguet) [2136123] - cfg80211: Indicate MLO connection info in connect and roam callbacks (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: print the link id (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: support creating MLO-capable radios (Íñigo Huguet) [2136123] - wifi: nl80211: expose link ID for associated BSSes (Íñigo Huguet) [2136123] - wifi: nl80211: expose link information for interfaces (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: send a beacon per link (Íñigo Huguet) [2136123] - wifi: mac80211: set STA deflink addresses (Íñigo Huguet) [2136123] - wifi: mac80211: maintain link-sta hash table (Íñigo Huguet) [2136123] - wifi: mac80211: RCU-ify link STA pointers (Íñigo Huguet) [2136123] - wifi: mac80211: ethtool: use deflink for now (Íñigo Huguet) [2136123] - wifi: mac80211: move ieee80211_bssid_match() function (Íñigo Huguet) [2136123] - wifi: mac80211: return a beacon for a specific link (Íñigo Huguet) [2136123] - wifi: mac80211: pass the link id in start/stop ap (Íñigo Huguet) [2136123] - wifi: mac80211: use link in start/stop ap (Íñigo Huguet) [2136123] - wifi: mac80211: implement add/del interface link callbacks (Íñigo Huguet) [2136123] - wifi: cfg80211: add optional link add/remove callbacks (Íñigo Huguet) [2136123] - wifi: cfg80211: sort trace.h (Íñigo Huguet) [2136123] - wifi: mac80211: add sta link addition/removal (Íñigo Huguet) [2136123] - wifi: mac80211: add MLO link ID to TX frame metadata (Íñigo Huguet) [2136123] - wifi: mac80211: remove band from TX info in MLO (Íñigo Huguet) [2136123] - wifi: mac80211: add vif link addition/removal (Íñigo Huguet) [2136123] - wifi: nl80211: support MLO in auth/assoc (Íñigo Huguet) [2136123] - wifi: mac80211: ignore IEEE80211_CONF_CHANGE_SMPS in chanctx mode (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: split bss_info_changed to vif/link info_changed (Íñigo Huguet) [2136123] - wifi: cfg80211: simplify cfg80211_mlme_auth() prototype (Íñigo Huguet) [2136123] - wifi: ieee80211: add definitions for multi-link element (Íñigo Huguet) [2136123] - wifi: nl80211: refactor BSS lookup in nl80211_associate() (Íñigo Huguet) [2136123] - wifi: cfg80211: mlme: get BSS entry outside cfg80211_mlme_assoc() (Íñigo Huguet) [2136123] - wifi: mac80211: tx: simplify chanctx_conf handling (Íñigo Huguet) [2136123] - wifi: mac80211: status: look up band only where needed (Íñigo Huguet) [2136123] - wifi: mac80211: sort trace.h file (Íñigo Huguet) [2136123] - wifi: mac80211: correct link config data in tracing (Íñigo Huguet) [2136123] - wifi: mac80211: make ieee80211_he_cap_ie_to_sta_he_cap() MLO-aware (Íñigo Huguet) [2136123] - wifi: mac80211: make some SMPS code MLD-aware (Íñigo Huguet) [2136123] - wifi: mac80211: HT: make ieee80211_ht_cap_ie_to_sta_ht_cap() MLO-aware (Íñigo Huguet) [2136123] - wifi: mac80211: add link_id to eht.c code for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: add link_id to vht.c code for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: refactor some link setup code (Íñigo Huguet) [2136123] - wifi: mac80211: validate some driver features for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: use IEEE80211_MLD_MAX_NUM_LINKS (Íñigo Huguet) [2136123] - wifi: mac80211: refactor some sta_info link handling (Íñigo Huguet) [2136123] - wifi: mac80211: remove sta_info_tx_streams() (Íñigo Huguet) [2136123] - wifi: mac80211: make channel context code MLO-aware (Íñigo Huguet) [2136123] - wifi: mac80211: pass link ID where already present (Íñigo Huguet) [2136123] - wifi: mac80211: add per-link configuration pointer (Íñigo Huguet) [2136123] - wifi: mac80211: split bss_info_changed method (Íñigo Huguet) [2136123] - mac80211: fix maybe-unused warning (Íñigo Huguet) [2136123] - wifi: mac80211: reorg some iface data structs for MLD (Íñigo Huguet) [2136123] - wifi: mac80211: move interface config to new struct (Íñigo Huguet) [2136123] - wifi: mac80211: move some future per-link data to bss_conf (Íñigo Huguet) [2136123] - wifi: cfg80211: do some rework towards MLO link APIs (Íñigo Huguet) [2136123] - wifi: mac80211: reject WEP or pairwise keys with key ID > 3 (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: Directly use ida_alloc()/free() (Íñigo Huguet) [2136123] - wifi: mac80211: refactor some key code (Íñigo Huguet) [2136123] - wifi: mac80211: remove cipher scheme support (Íñigo Huguet) [2136123] - wifi: nl80211: fix typo in comment (Íñigo Huguet) [2136123] - treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_391.RULE (Íñigo Huguet) [2136123] - rtw88: 8821c: fix access const table of channel parameters (Íñigo Huguet) [2136123] - rtw89: add new state to CFO state machine for UL-OFDMA (Íñigo Huguet) [2136123] - rtw89: 8852c: add trigger frame counter (Íñigo Huguet) [2136123] - ieee80211: add trigger frame definition (Íñigo Huguet) [2136123] - ath10k: fix recently introduced checkpatch warning (Íñigo Huguet) [2136123] - wifi: rtw89: support MULTI_BSSID and correct BSSID mask of H2C (Íñigo Huguet) [2136123] - wifi: ray_cs: Drop useless status variable in parse_addr() (Íñigo Huguet) [2136123] - wifi: ray_cs: Utilize strnlen() in parse_addr() (Íñigo Huguet) [2136123] - wifi: rtw88: use *ph to print small buffer (Íñigo Huguet) [2136123] - ath11k: Fix warnings reported by checkpatch (Íñigo Huguet) [2136123] - ath11k: Fix LDPC config in set_bitrate_mask hook (Íñigo Huguet) [2136123] - wifi: mac80211: fix use-after-free in chanctx code (Íñigo Huguet) [2136123] - ath10k: fix regdomain info of iw reg set/get (Íñigo Huguet) [2136123] - ath11k: support avg signal in station dump (Íñigo Huguet) [2136123] - wifi: rtlwifi: fix error codes in rtl_debugfs_set_write_h2c() (Íñigo Huguet) [2136123] - wifi: rtw88: Fix Sparse warning for rtw8821c_hw_spec (Íñigo Huguet) [2136123] - wifi: rtw88: Fix Sparse warning for rtw8723d_hw_spec (Íñigo Huguet) [2136123] - wifi: rtw88: Fix Sparse warning for rtw8822c_hw_spec (Íñigo Huguet) [2136123] - wifi: rtw88: Fix sparse warning for rtw8822b_hw_spec (Íñigo Huguet) [2136123] - rtw88: fix null vif pointer when hw_scan fails (Íñigo Huguet) [2136123] - rtw89: sar: adjust and support SAR on 6GHz band (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: re-calibrate RX DCK once thermal changes a lot (Íñigo Huguet) [2136123] - rtw89: pci: handle hardware watchdog timeout interrupt status (Íñigo Huguet) [2136123] - rtw89: fix null vif pointer when hw_scan fails (Íñigo Huguet) [2136123] - rtw89: fix channel inconsistency during hw_scan (Íñigo Huguet) [2136123] - wifi: rtw88: add a work to correct atomic scheduling warning of ::set_tim (Íñigo Huguet) [2136123] - wifi: iwlwifi: pcie: rename CAUSE macro (Íñigo Huguet) [2136123] - wifi: brcmfmac: work around a GCC 12 -Warray-bounds warning (Íñigo Huguet) [2136123] - wifi: iwlwifi: use unsigned to silence a GCC 12 warning (Íñigo Huguet) [2136123] - wifi: rtlwifi: remove always-true condition pointed out by GCC 12 (Íñigo Huguet) [2136123] - wifi: ath9k: silence array-bounds warning on GCC 12 (Íñigo Huguet) [2136123] - ath9k: replace ternary operator with max() (Íñigo Huguet) [2136123] - ath11k: Init hw_params before setting up AHB resources (Íñigo Huguet) [2136123] - ath11k: Fix warning on variable 'sar' dereference before check (Íñigo Huguet) [2136123] - ath10k: fix misreported tx bandwidth for 160Mhz (Íñigo Huguet) [2136123] - ath10k: add encapsulation offloading support (Íñigo Huguet) [2136123] - ath10k: turn rawmode into frame_mode (Íñigo Huguet) [2136123] - ath10k: improve tx status reporting (Íñigo Huguet) [2136123] - ath10k: do not enforce interrupt trigger type (Íñigo Huguet) [2136123] - iwlwifi: mei: fix potential NULL-ptr deref (Íñigo Huguet) [2136123] - iwlwifi: mei: clear the sap data header before sending (Íñigo Huguet) [2136123] - iwlwifi: mvm: remove vif_count (Íñigo Huguet) [2136123] - iwlwifi: mvm: always tell the firmware to accept MCAST frames in BSS (Íñigo Huguet) [2136123] - iwlwifi: mvm: add OTP info in case of init failure (Íñigo Huguet) [2136123] - iwlwifi: mvm: fix assert 1F04 upon reconfig (Íñigo Huguet) [2136123] - iwlwifi: mvm: clean up authorized condition (Íñigo Huguet) [2136123] - iwlwifi: mvm: use NULL instead of ERR_PTR when parsing wowlan status (Íñigo Huguet) [2136123] - iwlwifi: pcie: simplify MSI-X cause mapping (Íñigo Huguet) [2136123] - ath11k: update missing MU-MIMO and OFDMA stats (Íñigo Huguet) [2136123] - rtw89: pci: only mask out INT indicator register for disable interrupt v1 (Íñigo Huguet) [2136123] - rtw89: convert rtw89_band to nl80211_band precisely (Íñigo Huguet) [2136123] - rtw89: 8852c: update txpwr tables to HALRF_027_00_052 (Íñigo Huguet) [2136123] - rtw89: cfo: check mac_id to avoid out-of-bounds (Íñigo Huguet) [2136123] - rtw89: 8852c: set TX antenna path (Íñigo Huguet) [2136123] - rtw89: add ieee80211::sta_rc_update ops (Íñigo Huguet) [2136123] - wireless: Fix Makefile to be in alphabetical order (Íñigo Huguet) [2136123] - mac80211: refactor freeing the next_beacon (Íñigo Huguet) [2136123] - cfg80211: fix kernel-doc for cfg80211_beacon_data (Íñigo Huguet) [2136123] - mac80211: minstrel_ht: support ieee80211_rate_status (Íñigo Huguet) [2136123] - mac80211: extend current rate control tx status API (Íñigo Huguet) [2136123] - mac80211: minstrel_ht: fill all requested rates (Íñigo Huguet) [2136123] - mac80211: disable BSS color collision detection in case of no free colors (Íñigo Huguet) [2136123] - nl80211: Parse NL80211_ATTR_HE_BSS_COLOR as a part of nl80211_parse_beacon (Íñigo Huguet) [2136123] - mac80211: mlme: track assoc_bss/associated separately (Íñigo Huguet) [2136123] - mac80211: remove useless bssid copy (Íñigo Huguet) [2136123] - mac80211: remove unused argument to ieee80211_sta_connection_lost() (Íñigo Huguet) [2136123] - mac80211: mlme: use local SSID copy (Íñigo Huguet) [2136123] - mac80211: use ifmgd->bssid instead of ifmgd->associated->bssid (Íñigo Huguet) [2136123] - mac80211: mlme: move in RSSI reporting code (Íñigo Huguet) [2136123] - mac80211: remove stray multi_sta_back_32bit docs (Íñigo Huguet) [2136123] - mac80211: fix typo in documentation (Íñigo Huguet) [2136123] - mac80211: unify CCMP/GCMP AAD construction (Íñigo Huguet) [2136123] - mt76: mt7921: add ipv6 NS offload support (Íñigo Huguet) [2136123] - mt76: add gfp to mt76_mcu_msg_alloc signature (Íñigo Huguet) [2136123] - mt76: mt7915: add more statistics from fw_util debugfs knobs (Íñigo Huguet) [2136123] - mt76: mt7915: improve error handling for fw_debug knobs (Íñigo Huguet) [2136123] - mt76: mt7615/mt7915: do reset_work with mt76's work queue (Íñigo Huguet) [2136123] - mt76: mt7915: add support for 6G in-band discovery (Íñigo Huguet) [2136123] - mt76: mt7915: add Wireless Ethernet Dispatch support (Íñigo Huguet) [2136123] - net: ethernet: mtk_eth_soc: add support for Wireless Ethernet Dispatch (WED) (Íñigo Huguet) [2136123] - mt76: make number of tokens configurable dynamically (Íñigo Huguet) [2136123] - mt76: add support for overriding the device used for DMA mapping (Íñigo Huguet) [2136123] - mt76: dma: add wrapper macro for accessing queue registers (Íñigo Huguet) [2136123] - mt76: mt7915: move MT_INT_MASK_CSR to init.c (Íñigo Huguet) [2136123] - mt76: mt7915: introduce mt7915_mac_severe_check() (Íñigo Huguet) [2136123] - mt76: mt7915: rework SER debugfs knob (Íñigo Huguet) [2136123] - mt76: mt7915: limit minimum twt duration (Íñigo Huguet) [2136123] - mt76: mt7915: reject duplicated twt flows (Íñigo Huguet) [2136123] - mt76: mt7915: update mt7986 patch in mt7986_wmac_adie_patch_7976() (Íñigo Huguet) [2136123] - mt76: connac: use skb_put_data instead of open coding (Íñigo Huguet) [2136123] - mt76: mt7915: configure soc clocks in mt7986_wmac_init (Íñigo Huguet) [2136123] - mt76: fix encap offload ethernet type check (Íñigo Huguet) [2136123] - mt76: mt7915: disable RX_HDR_TRANS_SHORT (Íñigo Huguet) [2136123] - mt76: mt7603: move spin_lock_bh() to spin_lock() (Íñigo Huguet) [2136123] - mt76: mt7915: add debugfs knob for RF registers read/write (Íñigo Huguet) [2136123] - mt76: mt7921: make read-only array ppet16_ppet8_ru3_ru0 static const (Íñigo Huguet) [2136123] - mt76: mt7915: make read-only array ppet16_ppet8_ru3_ru0 static const (Íñigo Huguet) [2136123] - mt76: mt7915: remove SCS feature (Íñigo Huguet) [2136123] - mt76: fix rx reordering with non explicit / psmp ack policy (Íñigo Huguet) [2136123] - mt76: mt7921: Add AP mode support (Íñigo Huguet) [2136123] - mt76: mt7915: use 0xff to initialize bitrate_mask in mt7915_init_bitrate_mask (Íñigo Huguet) [2136123] - mt76: mt7915: always call mt7915_wfsys_reset() during init (Íñigo Huguet) [2136123] - mt76: mt7921: rely on mt76_dev rxfilter in mt7921_configure_filter (Íñigo Huguet) [2136123] - mt76: mt7921u: add suspend/resume support (Íñigo Huguet) [2136123] - mt76: fix MBSS index condition in DBDC mode (Íñigo Huguet) [2136123] - mt76: fix use-after-free by removing a non-RCU wcid pointer (Íñigo Huguet) [2136123] - mt76: mt7921: accept rx frames with non-standard VHT MCS10-11 (Íñigo Huguet) [2136123] - mt76: mt7915: accept rx frames with non-standard VHT MCS10-11 (Íñigo Huguet) [2136123] - mt76: dma: use kzalloc instead of devm_kzalloc for txwi (Íñigo Huguet) [2136123] - mt76: reduce tx queue lock hold time (Íñigo Huguet) [2136123] - mt76: mt7915: rework hardware/phy initialization (Íñigo Huguet) [2136123] - rtlwifi: Use pr_warn instead of WARN_ONCE (Íñigo Huguet) [2136123] - rtw89: add debug entry to dump BSSID CAM (Íñigo Huguet) [2136123] - rtw89: add debug select to dump MAC pages 0x30 to 0x33 (Íñigo Huguet) [2136123] - rtw89: correct CCA control (Íñigo Huguet) [2136123] - rtw89: correct setting of RX MPDU length (Íñigo Huguet) [2136123] - rtw89: 8852c: add settings to decrease the effect of DC (Íñigo Huguet) [2136123] - brcmfmac: allow setting wlan MAC address using device tree (Íñigo Huguet) [2136123] - ath11k: remove redundant assignment to variables vht_mcs and he_mcs (Íñigo Huguet) [2136123] - ath11k: Reuse the available memory after firmware reload (Íñigo Huguet) [2136123] - ath11k: Designating channel frequency when sending management frames (Íñigo Huguet) [2136123] - ath11k: Implement remain-on-channel support (Íñigo Huguet) [2136123] - ath11k: Handle keepalive during WoWLAN suspend and resume (Íñigo Huguet) [2136123] - bus: mhi: host: Add support for Foxconn T99W373 and T99W368 (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: add Telit FN990 (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: add Telit FN980 v1 hardware revision (Íñigo Huguet) [2136123] - bus: mhi: replace snprintf with sysfs_emit (Íñigo Huguet) [2136123] - rtw88: adjust adaptivity option to 1 (Íñigo Huguet) [2136123] - ath11k: Fix RX de-fragmentation issue on WCN6750 (Íñigo Huguet) [2136123] - ath10k: support bus and device specific API 1 BDF selection (Íñigo Huguet) [2136123] - ath10k: mac: fix too long lines (Íñigo Huguet) [2136123] - ath11k: mac: fix too long line (Íñigo Huguet) [2136123] - mac80211: support disabling EHT mode (Íñigo Huguet) [2136123] - cfg80211: support disabling EHT mode (Íñigo Huguet) [2136123] - mac80211: upgrade passive scan to active scan on DFS channels after beacon rx (Íñigo Huguet) [2136123] - mac80211: tx: delete a redundant if statement in ieee80211_check_fast_xmit() (Íñigo Huguet) [2136123] - mac80211: consider Order bit to fill CCMP AAD (Íñigo Huguet) [2136123] - cfg80211: declare MODULE_FIRMWARE for regulatory.db (Íñigo Huguet) [2136123] - nl80211: rework internal_flags usage (Íñigo Huguet) [2136123] - nl80211: don't hold RTNL in color change request (Íñigo Huguet) [2136123] - cfg80211: remove cfg80211_get_chan_state() (Íñigo Huguet) [2136123] - ath11k: Add support for targets without trustzone (Íñigo Huguet) [2136123] - rtw89: 8852c: add 8852ce to Makefile and Kconfig (Íñigo Huguet) [2136123] - rtw89: 8852c: fix warning of FIELD_PREP() mask type (Íñigo Huguet) [2136123] - rtw89: 8852c: correct register definitions used by 8852c (Íñigo Huguet) [2136123] - rtw89: correct AID settings of beamformee (Íñigo Huguet) [2136123] - rtw89: ps: fine tune polling interval while changing low power mode (Íñigo Huguet) [2136123] - rtw89: 8852c: add basic and remaining chip_info (Íñigo Huguet) [2136123] - rtw89: 8852c: add chip_ops::bb_ctrl_btc_preagc (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: get calibrated channels to notify firmware (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add DPK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add IQK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add RX DCK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add RCK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add TSSI (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add LCK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add DACK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add RFK tables (Íñigo Huguet) [2136123] - rtw88: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2136123] - ath10k: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2136123] - ath11k: Add support for WCN6750 device (Íñigo Huguet) [2136123] - ath11k: Datapath changes to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: HAL changes to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: Add QMI changes for WCN6750 (Íñigo Huguet) [2136123] - ath11k: Fetch device information via QMI for WCN6750 (Íñigo Huguet) [2136123] - ath11k: Add register access logic for WCN6750 (Íñigo Huguet) [2136123] - ath11k: Add HW params for WCN6750 (Íñigo Huguet) [2136123] - ath11k: Move parameters in bus_params to hw_params (Íñigo Huguet) [2136123] - ath11k: change management tx queue to avoid connection timed out (Íñigo Huguet) [2136123] - ath11k: fix warning of not found station for bssid in message (Íñigo Huguet) [2136123] - rtw88: fix hw scan may cause disconnect issue (Íñigo Huguet) [2136123] - rtw88: fix not disabling beacon filter after disconnection (Íñigo Huguet) [2136123] - rtw88: add HT MPDU density value for each chip (Íñigo Huguet) [2136123] - ath11k: Don't use GFP_KERNEL in atomic context (Íñigo Huguet) [2136123] - ath10k: skip ath10k_halt during suspend for driver state RESTARTING (Íñigo Huguet) [2136123] - rtw89: remove unneeded semicolon (Íñigo Huguet) [2136123] - ath10k: simplify if-if to if-else (Íñigo Huguet) [2136123] - ath11k: read country code from SMBIOS for WCN6855/QCA6390 (Íñigo Huguet) [2136123] - ath11k: disable spectral scan during spectral deinit (Íñigo Huguet) [2136123] - ath11k: Update WBM idle ring HP after FW mode on (Íñigo Huguet) [2136123] - ath11k: WMI changes to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: Do not put HW in DBS mode for WCN6750 (Íñigo Huguet) [2136123] - rtlwifi: btcoex: fix if == else warning (Íñigo Huguet) [2136123] - rtw88: use the correct bit in the REG_HCI_OPT_CTRL register (Íñigo Huguet) [2136123] - mwifiex: Add SD8997 SDIO-UART firmware (Íñigo Huguet) [2136123] - mwifiex: Select firmware based on strapping (Íñigo Huguet) [2136123] - rtw89: 8852c: add chip_ops related to BTC (Íñigo Huguet) [2136123] - rtw89: 8852c: fill freq and band of RX status by PPDU report (Íñigo Huguet) [2136123] - rtw89: 8852c: implement chip_ops::get_thermal (Íñigo Huguet) [2136123] - rtw89: 8852c: implement chip_ops related to TX power (Íñigo Huguet) [2136123] - rtw89: 8852c: configure default BB TX/RX path (Íñigo Huguet) [2136123] - rtw89: add RF H2C to notify firmware (Íñigo Huguet) [2136123] - rtw89: don't flush hci queues and send h2c if power is off (Íñigo Huguet) [2136123] - rtw89: pci: allow to process RPP prior to TX BD (Íñigo Huguet) [2136123] - rtw89: ps: access TX/RX rings via another registers in low power mode (Íñigo Huguet) [2136123] - rtw89: ser: re-enable interrupt in threadfn if under_recovery (Íñigo Huguet) [2136123] - rtw89: pci: add a separate interrupt handler for low power mode (Íñigo Huguet) [2136123] - rtw89: pci: reclaim TX BD only if it really need (Íñigo Huguet) [2136123] - rtw89: pci: add variant RPWM/CPWM to enter low power mode (Íñigo Huguet) [2136123] - rtw89: pci: add variant IMR/ISR and configure functions (Íñigo Huguet) [2136123] - bus: mhi: host: Add support for Cinterion MV32-WA/MV32-WB (Íñigo Huguet) [2136123] - bus: mhi: host: Optimize and update MMIO register write method (Íñigo Huguet) [2136123] - bus: mhi: host: Bail on writing register fields if read fails (Íñigo Huguet) [2136123] - bus: mhi: host: Wait for ready state after reset (Íñigo Huguet) [2136123] - bus: mhi: host: Add soc_reset sysfs (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: Sort mhi_pci_id_table based on the PID (Íñigo Huguet) [2136123] - bus: mhi: host: Use cached values for calculating the shared write pointer (Íñigo Huguet) [2136123] - rtw88: pci: 8821c: Disable 21ce completion timeout (Íñigo Huguet) [2136123] - rtw88: fix uninitialized 'tim_offset' warning (Íñigo Huguet) [2136123] - rtw89: 8852c: add help function of set channel (Íñigo Huguet) [2136123] - rtw89: 8852c: add set channel of BB part (Íñigo Huguet) [2136123] - rtw89: 8852c: set channel of MAC part (Íñigo Huguet) [2136123] - rtw89: 8852c: add set channel function of RF part (Íñigo Huguet) [2136123] - rtw89: 8852c: add HFC parameters (Íñigo Huguet) [2136123] - rtw89: 8852c: add efuse gain offset parser (Íñigo Huguet) [2136123] - rtw89: 8852c: support bb gain info (Íñigo Huguet) [2136123] - rtw89: 8852c: add BB initial and reset functions (Íñigo Huguet) [2136123] - rtw89: 8852c: phy: configure TSSI bandedge (Íñigo Huguet) [2136123] - rtw89: 8852c: add TX power track tables (Íñigo Huguet) [2136123] - rtw89: 8852c: add TX power by rate and limit tables (Íñigo Huguet) [2136123] - rtw89: 8852c: add BB and RF parameters tables (Íñigo Huguet) [2136123] - ath9k: fix QCA9561 PA bias level (Íñigo Huguet) [2136123] - ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix (Íñigo Huguet) [2136123] - ath11k: Fix build warning without CONFIG_IPV6 (Íñigo Huguet) [2136123] - ath11k: fix missing unlock on error in ath11k_wow_op_resume() (Íñigo Huguet) [2136123] - ath11k: Add support for SAR (Íñigo Huguet) [2136123] - ath11k: add support for extended wmi service bit (Íñigo Huguet) [2136123] - rtw89: pci: correct return value handling of rtw89_write16_mdio_mask() (Íñigo Huguet) [2136123] - rtw89: configure security CAM for V1 chip (Íñigo Huguet) [2136123] - rtw89: add new H2C to configure security CAM via DCTL for V1 chip (Íñigo Huguet) [2136123] - rtw89: extend H2C of CMAC control info (Íñigo Huguet) [2136123] - rtlwifi: rtl8192cu: Fix spelling mistake "writting" -> "writing" (Íñigo Huguet) [2136123] - rtlwifi: Fix spelling mistake "cacluated" -> "calculated" (Íñigo Huguet) [2136123] - rtw88: 8821ce: Disable PCIe ASPM L1 for 8821CE using chip ID (Íñigo Huguet) [2136123] - rtw88: 8821ce: add support for device ID 0xb821 (Íñigo Huguet) [2136123] - rtw88: 8821c: fix debugfs rssi value (Íñigo Huguet) [2136123] - rtw88: do PHY calibration while starting AP (Íñigo Huguet) [2136123] - rtw88: 8821c: Enable TX report for management frames (Íñigo Huguet) [2136123] - rtw88: Add update beacon flow for AP mode (Íñigo Huguet) [2136123] - rtw88: fix incorrect frequency reported (Íñigo Huguet) [2136123] - rtw88: add ieee80211:sta_rc_update ops (Íñigo Huguet) [2136123] - rtw89: rtw89_ser: add const to struct state_ent and event_ent (Íñigo Huguet) [2136123] - rtw89: 8852c: add 8852c specific BT-coexistence initial function (Íñigo Huguet) [2136123] - rtw89: Skip useless dig gain and igi related settings for 8852C (Íñigo Huguet) [2136123] - rtw89: 8852c: disable firmware watchdog if CPU disabled (Íñigo Huguet) [2136123] - rtw89: reset BA CAM (Íñigo Huguet) [2136123] - rtw89: change station scheduler setting for hardware TX mode (Íñigo Huguet) [2136123] - rtw89: ser: configure top ERR IMR for firmware to recover (Íñigo Huguet) [2136123] - rtw89: ser: configure C-MAC interrupt mask (Íñigo Huguet) [2136123] - rtw89: ser: configure D-MAC interrupt mask (Íñigo Huguet) [2136123] - rtw89: ser: fix unannotated fall-through (Íñigo Huguet) [2136123] - ath9k: Remove unnecessary print function dev_err() (Íñigo Huguet) [2136123] - ath11k: Fix spelling mistake "reseting" -> "resetting" (Íñigo Huguet) [2136123] - ath9k: fix ath_get_rate_txpower() to respect the rate list end tag (Íñigo Huguet) [2136123] - mac80211: prepare sta handling for MLO support (Íñigo Huguet) [2136123] - mac80211: minstrel_ht: fix where rate stats are stored (fixes debugfs output) (Íñigo Huguet) [2136123] - nl80211: show SSID for P2P_GO interfaces (Íñigo Huguet) [2136123] - mac80211: introduce BSS color collision detection (Íñigo Huguet) [2136123] - mac80211: Improve confusing comment around tx_info clearing (Íñigo Huguet) [2136123] - mac80211: protect ieee80211_assign_beacon with next_beacon check (Íñigo Huguet) [2136123] - rtl8xxxu: fill up txrate info for gen1 chips (Íñigo Huguet) [2136123] - rtl8xxxu: feed antenna information for cfg80211 (Íñigo Huguet) [2136123] - rtlwifi: replace usage of found with dedicated list iterator variable (Íñigo Huguet) [2136123] - brcmfmac: Avoid keeping power to SDIO card unless WOWL is used (Íñigo Huguet) [2136123] - mwifiex: add mutex lock for call in mwifiex_dfs_chan_sw_work_queue (Íñigo Huguet) [2136123] - rtw89: fix misconfiguration on hw_scan channel time (Íñigo Huguet) [2136123] - rtw89: coex: Add case for scan offload (Íñigo Huguet) [2136123] - rtw89: packet offload handler to avoid warning (Íñigo Huguet) [2136123] - rtw89: change idle mode condition during hw_scan (Íñigo Huguet) [2136123] - rtw89: update ptcl_init (Íñigo Huguet) [2136123] - rtw89: update TMAC parameters (Íñigo Huguet) [2136123] - rtw89: initialize NAV control (Íñigo Huguet) [2136123] - rtw89: update scheduler setting (Íñigo Huguet) [2136123] - rtw89: 8852c: update security engine setting (Íñigo Huguet) [2136123] - rtw89: Turn on CR protection of CMAC (Íñigo Huguet) [2136123] - rtw89: add chip_ops::{enable,disable}_bb_rf to support v1 chip (Íñigo Huguet) [2136123] - rtw89: update STA scheduler parameters for v1 chip (Íñigo Huguet) [2136123] - rtw89: extend dmac_pre_init to support 8852C (Íñigo Huguet) [2136123] - rtw89: pci: add L1 settings (Íñigo Huguet) [2136123] - rtw89: pci: add deglitch setting (Íñigo Huguet) [2136123] - rtw89: pci: set address info registers depends on chips (Íñigo Huguet) [2136123] - rtw89: pci: add LTR setting for v1 chip (Íñigo Huguet) [2136123] - rtw89: pci: refine pci pre_init function (Íñigo Huguet) [2136123] - rtw89: pci: add pci attributes to configure operating mode (Íñigo Huguet) [2136123] - rtw89: pci: add register definition to rtw89_pci_info to generalize pci code (Íñigo Huguet) [2136123] - ath11k: mhi: remove unnecessary goto from ath11k_mhi_start() (Íñigo Huguet) [2136123] - ath11k: mhi: add error handling for suspend and resume (Íñigo Huguet) [2136123] - ath11k: mhi: remove state machine (Íñigo Huguet) [2136123] - rtw89: handle potential uninitialized variable (Íñigo Huguet) [2136123] - rtw89: read RX bandwidth from v1 type RX descriptor (Íñigo Huguet) [2136123] - rtw89: support hardware generate security header (Íñigo Huguet) [2136123] - rtw89: support variant of fill_txdesc (Íñigo Huguet) [2136123] - rtw89: pci: support variant of fill_txaddr_info (Íñigo Huguet) [2136123] - rtw89: add chip_info::h2c_desc_size/fill_txdesc_fwcmd to support new chips (Íñigo Huguet) [2136123] - rtw89: disabled IGI configuration for unsupported hardware (Íñigo Huguet) [2136123] - rtw89: packed IGI configuration flow into function for DIG feature (Íñigo Huguet) [2136123] - rtw89: regd: update mapping table to R59-R32 (Íñigo Huguet) [2136123] - rtw89: regd: consider 6G band (Íñigo Huguet) [2136123] - rtw89: 8852a: update txpwr tables to HALRF_027_00_038 (Íñigo Huguet) [2136123] - rtw89: add UK to regulation type (Íñigo Huguet) [2136123] - rtw89: reduce export symbol number of mac size and quota (Íñigo Huguet) [2136123] - rtw89: support FW crash simulation (Íñigo Huguet) [2136123] - rtw89: reconstruct fw feature (Íñigo Huguet) [2136123] - rtw89: ser: dump fw backtrace while L2 reset (Íñigo Huguet) [2136123] - rtw89: ser: dump memory for fw payload engine while L2 reset (Íñigo Huguet) [2136123] - rtw89: ser: control hci interrupts on/off by state (Íñigo Huguet) [2136123] - rtw89: mac: correct decision on error status by scenario (Íñigo Huguet) [2136123] - rtw89: mac: move table of mem base addr to common (Íñigo Huguet) [2136123] - rtw89: ser: fix CAM leaks occurring in L2 reset (Íñigo Huguet) [2136123] - rtw88: change idle mode condition during hw_scan (Íñigo Huguet) [2136123] - iwlwifi: mei: Replace zero-length array with flexible-array member (Íñigo Huguet) [2136123] - iwlwifi: fw: Replace zero-length arrays with flexible-array members (Íñigo Huguet) [2136123] - ath11k: fix driver initialization failure with WoW unsupported hw (Íñigo Huguet) [2136123] - ath11k: Remove unnecessary delay in ath11k_core_suspend (Íñigo Huguet) [2136123] - ath11k: Change max no of active probe SSID and BSSID to fw capability (Íñigo Huguet) [2136123] - ath11k: Remove core PCI references from PCI common code (Íñigo Huguet) [2136123] - ath11k: Refactor MSI logic to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: Choose MSI config based on HW revision (Íñigo Huguet) [2136123] - ath11k: Refactor PCI code to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: PCI changes to support WCN6750 (Íñigo Huguet) [2136123] - bus: mhi: ep: Add uevent support for module autoloading (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for suspending and resuming channels (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for queueing SKBs to the host (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for processing channel rings (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for reading from the host (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for processing command rings (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for handling SYS_ERR condition (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for handling MHI_RESET (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for powering down the MHI endpoint stack (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for powering up the MHI endpoint stack (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for processing MHI endpoint interrupts (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for managing MHI state machine (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for sending events to the host (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for ring management (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for managing MMIO registers (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for creating and destroying MHI EP devices (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for registering MHI endpoint client drivers (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for registering MHI endpoint controllers (Íñigo Huguet) [2136123] - ath9k: make is2ghz consistent in ar9003_eeprom (Íñigo Huguet) [2136123] - ath10k: add support for MSDU IDs for USB devices (Íñigo Huguet) [2136123] - ath11k: add support to search regdb data in board-2.bin for WCN6855 (Íñigo Huguet) [2136123] - ath11k: store and send country code to firmware after recovery (Íñigo Huguet) [2136123] - ath9k: add functions to get paprd rate mask (Íñigo Huguet) [2136123] - ath9k: refactor ar9003_hw_spur_mitigate_ofdm (Íñigo Huguet) [2136123] - ath9k: fix ar9003_get_eepmisc (Íñigo Huguet) [2136123] - ath9k: use AR9300_MAX_CHAINS when appropriate (Íñigo Huguet) [2136123] - ath9k: split set11nRateFlags and set11nChainSel (Íñigo Huguet) [2136123] - ath9k: make ATH_SREV macros more consistent (Íñigo Huguet) [2136123] - ath11k: Add peer rhash table support (Íñigo Huguet) [2136123] - ath11k: add read variant from SMBIOS for download board data (Íñigo Huguet) [2136123] - ath11k: add fallback board name without variant while searching board-2.bin (Íñigo Huguet) [2136123] - ath11k: enable PLATFORM_CAP_PCIE_GLOBAL_RESET QMI host capability (Íñigo Huguet) [2136123] - ath11k: Add hw-restart option to simulate_fw_crash (Íñigo Huguet) [2136123] - ath11k: add synchronization operation between reconfigure of mac80211 and ath11k_base (Íñigo Huguet) [2136123] - ath11k: add support for device recovery for QCA6390/WCN6855 (Íñigo Huguet) [2136123] - ath11k: disable regdb support for QCA6390 (Íñigo Huguet) [2136123] - ath11k: remove unused ATH11K_BD_IE_BOARD_EXT (Íñigo Huguet) [2136123] - ath11k: change fw build id format in driver init log (Íñigo Huguet) [2136123] - ath11k: Refactor the peer delete (Íñigo Huguet) [2136123] - ath10k: Use of_device_get_match_data() helper (Íñigo Huguet) [2136123] - ath10k: Trigger sta disconnect on hardware restart (Íñigo Huguet) [2136123] - ath9k: Use platform_get_irq() to get the interrupt (Íñigo Huguet) [2136123] - ath11k: support GTK rekey offload (Íñigo Huguet) [2136123] - ath11k: support ARP and NS offload (Íñigo Huguet) [2136123] - ath11k: purge rx pktlog when entering WoW (Íñigo Huguet) [2136123] - ath11k: implement hardware data filter (Íñigo Huguet) [2136123] - ath11k: Add WoW net-detect functionality (Íñigo Huguet) [2136123] - ath11k: Add basic WoW functionalities (Íñigo Huguet) [2136123] - x86/cpu: Add several Intel server CPU model numbers (Prarit Bhargava) [2158037] - ice: Implement devlink port split operations (Petr Oros) [2009705] - ice: Add additional flags to ice_nvm_write_activate (Petr Oros) [2009705] - ice: Add port option admin queue commands (Petr Oros) [2009705] - hwmon: (coretemp) Check for null before removing sysfs attrs (Phil Auld) [2152429] - KVM: x86/mmu: fix NULL pointer dereference on guest INVPCID (Jon Maloy) [2099301] {CVE-2022-1789} - redhat/configs: enable HP_WATCHDOG for aarch64 (Mark Salter) [2113079] - watchdog/hpwdt: Enable HP_WATCHDOG for ARM64 systems. (Mark Salter) [2113079] - watchdog: Improve Kconfig entry ordering and dependencies (Mark Salter) [2113079] - watchdog/hpwdt: Include nmi.h only if CONFIG_HPWDT_NMI_DECODING (Mark Salter) [2113079] - uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix (Oleg Nesterov) [2133797] - platform/mellanox: Remove redundant 'NULL' check (Mark Langsdorf) [2122314] - platform/mellanox: Remove unnecessary code (Mark Langsdorf) [2122314] - platform/mellanox: mlxreg-lc: Fix locking issue (Mark Langsdorf) [2122314] - platform/mellanox: mlxreg-lc: Fix coverity warning (Mark Langsdorf) [2122314] - platform/mellanox: mlxreg-lc: Fix error flow and extend verbosity (Mark Langsdorf) [2122314] - platform/mellanox: mlxreg-io: Add locking for io operations (Mark Langsdorf) [2122314] - platform/mellanox: nvsw-sn2201: fix error code in nvsw_sn2201_create_static_devices() (Mark Langsdorf) [2122314] - platform/mellanox: Add static in struct declaration. (Mark Langsdorf) [2122314] - platform/mellanox: Spelling s/platfom/platform/ (Mark Langsdorf) [2122314] - redhat/configs: Enable Mellanox SN2201 management device (Mark Langsdorf) [2122314] - platform/mellanox: Add support for new SN2201 system (Mark Langsdorf) [2122314] - platform_data/mlxreg: Add field for notification callback (Mark Langsdorf) [2122314] - Bluetooth: btintel: Fix WBS setting for Intel legacy ROM products (Gopal Tiwari) [2129295] - Bluetooth: btintel: Fix broken LED quirk for legacy ROM devices (Gopal Tiwari) [2129295] - Bluetooth: Add support hdev to allocate private data (Gopal Tiwari) [2129295] - Bluetooth: btintel: Fix the legacy bootloader returns tlv based version (Gopal Tiwari) [2129295] - Bluetooth: btintel: Clean the exported function to static (Gopal Tiwari) [2129295] - Bluetooth: btintel: Move hci quirks to setup routine (Gopal Tiwari) [2129295] - Bluetooth: btintel: Refactoring setup routine for bootloader devices (Gopal Tiwari) [2129295] - Bluetooth: btintel: Add combined set_diag functions (Gopal Tiwari) [2129295] - Bluetooth: btintel: Fix the LED is not turning off immediately (Gopal Tiwari) [2129295] - Bluetooth: btintel: Fix the first HCI command not work with ROM device (Gopal Tiwari) [2129295] - Bluetooth: btintel: Add btintel data struct (Gopal Tiwari) [2129295] - Bluetooth: btintel: Refactoring setup routine for legacy ROM sku (Gopal Tiwari) [2129295] - Bluetooth: btintel: Add combined setup and shutdown functions (Gopal Tiwari) [2129295] - EDAC/mc_sysfs: Increase legacy channel support to 12 (Aristeu Rozanski) [2139861] - NFS: Trigger the "ls -l" readdir heuristic sooner (Benjamin Coddington) [2025991] - NFS: Cache all entries in the readdirplus reply (Benjamin Coddington) [2025991] - NFS: Optimise away the previous cookie field (Benjamin Coddington) [2025991] - NFS: Fix up forced readdirplus (Benjamin Coddington) [2025991] - NFS: Convert readdir page cache to use a cookie based index (Benjamin Coddington) [2025991] - NFS: Clean up page array initialisation/free (Benjamin Coddington) [2025991] - NFS: Trace effects of the readdirplus heuristic (Benjamin Coddington) [2025991] - NFS: Trace effects of readdirplus on the dcache (Benjamin Coddington) [2025991] - NFS: Add basic readdir tracing (Benjamin Coddington) [2025991] - NFS: Don't request readdirplus when revalidation was forced (Benjamin Coddington) [2025991] - NFSv4: Ask for a full XDR buffer of readdir goodness (Benjamin Coddington) [2025991] - NFS: Don't ask for readdirplus unless it can help nfs_getattr() (Benjamin Coddington) [2025991] - NFS: Improve heuristic for readdirplus (Benjamin Coddington) [2025991] - NFS: Reduce use of uncached readdir (Benjamin Coddington) [2025991] - NFS: Simplify nfs_readdir_xdr_to_array() (Benjamin Coddington) [2025991] - NFS: If the cookie verifier changes, we must invalidate the page cache (Benjamin Coddington) [2025991] - NFS: Adjust the amount of readahead performed by NFS readdir (Benjamin Coddington) [2025991] - NFS: Don't advance the page pointer unless the page is full (Benjamin Coddington) [2025991] - NFS: Don't re-read the entire page cache to find the next cookie (Benjamin Coddington) [2025991] - NFS: Store the change attribute in the directory page cache (Benjamin Coddington) [2025991] - NFS: Calculate page offsets algorithmically (Benjamin Coddington) [2025991] - NFS: Use kzalloc() to avoid initialising the nfs_open_dir_context (Benjamin Coddington) [2025991] - NFS: Initialise the readdir verifier as best we can in nfs_opendir() (Benjamin Coddington) [2025991] - NFS: Trace lookup revalidation failure (Benjamin Coddington) [2025991] - NFS: constify nfs_server_capable() and nfs_have_writebacks() (Benjamin Coddington) [2025991] - NFS: Return valid errors from nfs2/3_decode_dirent() (Benjamin Coddington) [2025991] - NFS: Avoid duplicate uncached readdir calls on eof (Benjamin Coddington) [2025991] - NFS: Don't skip directory entries when doing uncached readdir (Benjamin Coddington) [2025991] - NFS: Don't overfill uncached readdir pages (Benjamin Coddington) [2025991] - block: unhash blkdev part inode when the part is deleted (Ming Lei) [2148497]- x86/fpu: Drop fpregs lock before inheriting FPU permissions (Eder Zulian) [2153549] - cpufreq: amd-pstate: Add resume and suspend callbacks (Mark Langsdorf) [2122310] - cpufreq: CPPC: Enable dvfs_possible_from_any_cpu (Mark Langsdorf) [2122310] - cpufreq: check only freq_table in __resolve_freq() (Mark Langsdorf) [2122310] - cpufreq: ondemand: Use cpumask_var_t for on-stack cpu mask (Mark Langsdorf) [2122310] - cpufreq: Change order of online() CB and policy->cpus modification (Mark Langsdorf) [2122310] - cpufreq: Warn users while freeing active policy (Mark Langsdorf) [2122310] - cpufreq: Drop unnecessary cpus locking from store() (Mark Langsdorf) [2122310] - cpufreq: Optimize cpufreq_show_cpus() (Mark Langsdorf) [2122310] - cpufreq: make interface functions and lock holding state clear (Mark Langsdorf) [2122310] - cpufreq: Abort show()/store() for half-initialized policies (Mark Langsdorf) [2122310] - cpufreq: Rearrange locking in cpufreq_remove_dev() (Mark Langsdorf) [2122310] - cpufreq: Split cpufreq_offline() (Mark Langsdorf) [2122310] - cpufreq: Reorganize checks in cpufreq_offline() (Mark Langsdorf) [2122310] - cpufreq: Clear real_cpus mask from remove_cpu_dev_symlink() (Mark Langsdorf) [2122310] - cpufreq: Prepare cleanup of powerpc's asm/prom.h (Mark Langsdorf) [2122310] - cpufreq: governor: Use kobject release() method to free dbs_data (Mark Langsdorf) [2122310] - ipv6: fix panic when fib_lookup_arg->result is fib6_info (Jiri Benc) [2140599] - tipc: re-fetch skb cb after tipc_msg_validate (Xin Long) [2142732] - Documentation: bonding: correct xmit hash steps (Jonathan Toppins) [2150390] - Documentation: bonding: update miimon default to 100 (Jonathan Toppins) [2150390] - selftests: bonding: up/down delay w/ slave link flapping (Jonathan Toppins) [2150390] - bonding (gcc13): synchronize bond_{a,t}lb_xmit() types (Jonathan Toppins) [2150390] - selftests: net: Fix cross-tree inclusion of scripts (Jonathan Toppins) [2150390] - treewide: use get_random_u32() when possible (Jonathan Toppins) [2150390] - selftests/bonding: re-add lladdr target test (Jonathan Toppins) [2150390] - selftests: bonding: cause oops in bond_rr_gen_slave_id (Jonathan Toppins) [2150390] - selftests/bonding: add a test for bonding lladdr target (Jonathan Toppins) [2150390] - net: Add tests for bonding and team address list management (Jonathan Toppins) [2150390] - net: bonding: Unsync device addresses on ndo_stop (Jonathan Toppins) [2150390] - net: bonding: Share lacpdu_mcast_addr definition (Jonathan Toppins) [2150390] - Documentation: bonding: clarify supported modes for tlb_dynamic_lb (Jonathan Toppins) [2150390] - selftests: include bonding tests into the kselftest infra (Jonathan Toppins) [2150390] - bonding: fix reference count leak in balance-alb mode (Jonathan Toppins) [2150390] - net:bonding:support balance-alb interface with vlan to bridge (Jonathan Toppins) [2150390] - bonding: cleanup bond_create (Jonathan Toppins) [2150390] - bonding: netlink error message support for options (Jonathan Toppins) [2150390] - bonding: Update layer2 and layer2+3 hash formula documentation (Jonathan Toppins) [2150390] - net: bonding: Add support for IPV6 ns/na to balance-alb/balance-tlb mode (Jonathan Toppins) [2150390] - net: remove bond_slave_has_mac_rcu() (Jonathan Toppins) [2150390] - net: bonding: debug: avoid printing debug logs when bond is not notifying peers (Jonathan Toppins) [2150390] - net: bonding: constify and use dev_addr_set() (Jonathan Toppins) [2150390] - net: use dev_addr_set() (Jonathan Toppins) [2150390] - bonding: remove extraneous definitions from bonding.h (Jonathan Toppins) [2150390] - net: bonding: bond_alb: Fix some typos in bond_alb.c (Jonathan Toppins) [2150390] - net: bonding: use tabs instead of space for code indent (Jonathan Toppins) [2150390] - net: bonding: remove unnecessary braces (Jonathan Toppins) [2150390] - net: bonding: fix code indent for conditional statements (Jonathan Toppins) [2150390] - net: bonding: add some required blank lines (Jonathan Toppins) [2150390] - docs: networking: bonding.rst Fix a typo in bonding.rst (Jonathan Toppins) [2150390] - docs: networking: bonding.rst resources section cleanup (Jonathan Toppins) [2150390] - bonding: Replace zero-length array with flexible-array member (Jonathan Toppins) [2150390] - include/net/bond_3ad: Simplify the code by using the ARRAY_SIZE (Jonathan Toppins) [2150390] - vmxnet3: use correct intrConf reference when using extended queues (Izabela Bakollari) [2150917] - vmxnet3: correctly report encapsulated LRO packet (Izabela Bakollari) [2150917] - net: move from strlcpy with unused retval to strscpy (Izabela Bakollari) [2150917] - vmxnet3: Implement ethtool's get_channels command (Izabela Bakollari) [2150917] - vmxnet3: Record queue number to incoming packets (Izabela Bakollari) [2150917] - [rt] Revert "mm/memcg: disable threshold event handlers on PREEMPT_RT" (Chris White) [2152035] - s390/pci: allow zPCI zbus without a function zero (Tobias Huschle) [2043829] - PCI: Extend isolated function probing to s390 (Tobias Huschle) [2043829] - PCI: Move jailhouse's isolated function handling to pci_scan_slot() (Tobias Huschle) [2043829] - PCI: Split out next_ari_fn() from next_fn() (Tobias Huschle) [2043829] - PCI: Clean up pci_scan_slot() (Tobias Huschle) [2043829] - KVM: selftests: Build the memslot tests for arm64 (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Report optimal memory slots (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Consolidate memory (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Support variable guest page size (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Probe memory slots for once (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Consolidate loop conditions in prepare_vm() (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Use data->nslots in prepare_vm() (Gavin Shan) [2134650] - KVM: selftests: Make memslot_perf_test arch independent (Gavin Shan) [2134650] - selftests: netfilter: Fix and review rpath.sh (Phil Sutter) [1961152] - netfilter: Use l3mdev flow key when re-routing mangled packets (Phil Sutter) [1961152] - netfilter: Update ip6_route_me_harder to consider L3 domain (Phil Sutter) [1961152] - netfilter: Dissect flow after packet mangling (Phil Sutter) [1961152] - netfilter: rpfilter/fib: Populate flowic_l3mdev field (Phil Sutter) [1961152] - selftests: netfilter: Test reverse path filtering (Phil Sutter) [1961152] - netfilter: nft_fib: Fix for rpath check with VRF devices (Phil Sutter) [1961152] - net: seg6: fix seg6_lookup_any_nexthop() to handle VRFs using flowi_l3mdev (Phil Sutter) [1961152] - net: Handle l3mdev in ip_tunnel_init_flow (Phil Sutter) [1961152] - xfrm: Pass flowi_oif or l3mdev as oif to xfrm_dst_lookup (Phil Sutter) [1961152] - net: Add l3mdev index to flow struct and avoid oif reset for port devices (Phil Sutter) [1961152] - l3mdev: l3mdev_master_upper_ifindex_by_index_rcu should be using netdev_master_upper_dev_get_rcu (Phil Sutter) [1961152] - l3mdev: add function to retreive upper master (Phil Sutter) [1961152] - sfc: move deprecation message to sfc_siena (Íñigo Huguet) [2112205 2136107] - sfc/siena: add entries for new CONFIG_SFC_SIENA* configs (Íñigo Huguet) [2112205 2136107] - sfc: Fix an error handling path in efx_pci_probe() (Íñigo Huguet) [2112205] - sfc: support PTP over Ethernet (Íñigo Huguet) [2112205 2065017] - sfc: support PTP over IPv6/UDP (Íñigo Huguet) [2112205 2065017] - sfc: allow more flexible way of adding filters for PTP (Íñigo Huguet) [2112205 2065017] - sfc: correct filter_table_remove method for EF10 PFs (Íñigo Huguet) [2112205] - sfc/siena: fix null pointer dereference in efx_hard_start_xmit (Íñigo Huguet) [2112205] - sfc/siena: fix TX channel offset when using legacy interrupts (Íñigo Huguet) [2112205] - sfc: implement ethtool get/set RX ring size for EF100 reps (Íñigo Huguet) [2112205] - sfc: use a dynamic m-port for representor RX and set it promisc (Íñigo Huguet) [2112205] - sfc: move table locking into filter_table_{probe,remove} methods (Íñigo Huguet) [2112205] - sfc: insert default MAE rules to connect VFs to representors (Íñigo Huguet) [2112205] - sfc: receive packets from EF100 VFs into representors (Íñigo Huguet) [2112205] - sfc: check ef100 RX packets are from the wire (Íñigo Huguet) [2112205] - sfc: determine wire m-port at EF100 PF probe time (Íñigo Huguet) [2112205] - sfc: ef100 representor RX top half (Íñigo Huguet) [2112205] - sfc: ef100 representor RX NAPI poll (Íñigo Huguet) [2112205] - sfc: plumb ef100 representor stats (Íñigo Huguet) [2112205] - sfc: disable softirqs for ptp TX (Íñigo Huguet) [2112205] - sfc/siena: fix repeated words in comments (Íñigo Huguet) [2112205] - sfc: attach/detach EF100 representors along with their owning PF (Íñigo Huguet) [2112205] - sfc: hook up ef100 representor TX (Íñigo Huguet) [2112205] - sfc: support passing a representor to the EF100 TX path (Íñigo Huguet) [2112205] - sfc: determine representee m-port for EF100 representors (Íñigo Huguet) [2112205] - sfc: phys port/switch identification for ef100 reps (Íñigo Huguet) [2112205] - sfc: add basic ethtool ops to ef100 reps (Íñigo Huguet) [2112205] - sfc: add skeleton ef100 VF representors (Íñigo Huguet) [2112205] - sfc: detect ef100 MAE admin privilege/capability at probe time (Íñigo Huguet) [2112205] - sfc: update EF100 register descriptions (Íñigo Huguet) [2112205] - sfc: update MCDI protocol headers (Íñigo Huguet) [2112205] - sfc/siena: Use the bitmap API to allocate bitmaps (Íñigo Huguet) [2112205] - sfc: Separate netdev probe/remove from PCI probe/remove (Íñigo Huguet) [2112205] - sfc: replace function name in string with __func__ (Íñigo Huguet) [2112205] - sfc: Unsplit literal string. (Íñigo Huguet) [2112205] - sfc: Move EF100 efx_nic_type structs to the end of the file (Íñigo Huguet) [2112205] - sfc: Separate efx_nic memory from net_device memory (Íñigo Huguet) [2112205] - sfc: Encapsulate access to netdev_priv() (Íñigo Huguet) [2112205] - sfc: Change BUG_ON to WARN_ON and recovery code. (Íñigo Huguet) [2112205] - sfc: Remove netdev init from efx_init_struct (Íñigo Huguet) [2112205] - sfc: Add a PROBED state for EF100 VDPA use. (Íñigo Huguet) [2112205] - sfc: Split STATE_READY in to STATE_NET_DOWN and STATE_NET_UP. (Íñigo Huguet) [2112205] - sfc: fix repeated words in comments (Íñigo Huguet) [2112205] - sfc: siena: fix repeated words in comments (Íñigo Huguet) [2112205] - sfc/siena: Fix typo in comment (Íñigo Huguet) [2112205] - sfc: Fix typo in comment (Íñigo Huguet) [2112205] - sfc/siena: fix wrong tx channel offset with efx_separate_tx_channels (Íñigo Huguet) [2112205] - sfc/siena: fix considering that all channels have TX queues (Íñigo Huguet) [2112205] - sfc/siena: Remove duplicate check on segments (Íñigo Huguet) [2112205 2136107] - sfc: siena: Have a unique wrapper ifndef for efx channels header (Íñigo Huguet) [2112205 2136107] - eth: sfc: remove remnants of the out-of-tree napi_weight module param (Íñigo Huguet) [2112205] - sfc: siena: Fix Kconfig dependencies (Íñigo Huguet) [2112205 2136107] - sfc/siena: Reinstate SRIOV init/fini function calls (Íñigo Huguet) [2112205 2136107] - sfc/siena: Make PTP and reset support specific for Siena (Íñigo Huguet) [2112205 2136107] - sfc/siena: Make MCDI logging support specific for Siena (Íñigo Huguet) [2112205 2136107] - siena: Make HWMON support specific for Siena (Íñigo Huguet) [2112205 2136107] - siena: Make SRIOV support specific for Siena (Íñigo Huguet) [2112205 2136107] - siena: Make MTD support specific for Siena (Íñigo Huguet) [2112205 2136107] - sfc: Add a basic Siena module (Íñigo Huguet) [2112205 2136107] - sfc/siena: Inline functions in sriov.h to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename functions in nic_common.h to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename functions in mcdi headers to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename peripheral functions to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename RX/TX functions to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename functions in efx headers to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Remove build references to missing functionality (Íñigo Huguet) [2112205 2136107] - sfc: Copy shared files needed for Siena (part 2) (Íñigo Huguet) [2112205 2136107] - sfc: Copy shared files needed for Siena (part 1) (Íñigo Huguet) [2112205 2136107] - sfc: Move Siena specific files (Íñigo Huguet) [2112205 2136107] - sfc: Copy a subset of mcdi_pcol.h to siena (Íñigo Huguet) [2112205 2136107] - sfc: Disable Siena support (Íñigo Huguet) [2112205 2136107] - sfc: add EF100 VF support via a write to sriov_numvfs (Íñigo Huguet) [2112205] - sfc: Remove global definition of efx_reset_type_names (Íñigo Huguet) [2112205] - sfc: Remove duplicate definition of efx_xmit_done (Íñigo Huguet) [2112205] - sfc: efx_default_channel_type APIs can be static (Íñigo Huguet) [2112205] - sfc: Fix spelling mistake "writting" -> "writing" (Íñigo Huguet) [2112205] - sfc: ef10: Fix assigning negative value to unsigned variable (Íñigo Huguet) [2112205] - sfc: use hardware tx timestamps for more than PTP (Íñigo Huguet) [2112205 2065017] - net: ethernet: sfc: Make subdir logic consistent with other vendors (Íñigo Huguet) [2112205 2136107] - hugetlbfs: fix mount mode command line processing (Bill O'Donnell) [2148876] - igc: Correct the launchtime offset (Corinna Vinschen) [2103954] - net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). (Corinna Vinschen) [2103954] - igc: Remove IGC_MDIC_INT_EN definition (Corinna Vinschen) [2103954] - igc: Remove forced_speed_duplex value (Corinna Vinschen) [2103954] - igc: Remove MSI-X PBA Clear register (Corinna Vinschen) [2103954] - igc: Lift TAPRIO schedule restriction (Corinna Vinschen) [2103954] - wifi: brcmfmac: Fix potential buffer overflow in brcmf_fweh_event_worker() (Wander Lairson Costa) [2150964] {CVE-2022-3628} - net: ethernet: move from strlcpy with unused retval to strscpy (Corinna Vinschen) [2103949] - tipc: call tipc_lxc_xmit without holding node_read_lock (Xin Long) [2141640] - mptcp: fix sleep in atomic at close time (Davide Caratti) [2150361] - mptcp: don't orphan ssk in mptcp_close() (Davide Caratti) [2150361] - net: Avoid overwriting valid skb->napi_id (Antoine Tenart) [2142593] - x86/microcode/AMD: Apply the patch early on every logical thread (Waiman Long) [2139856] - x86/bugs: Enable STIBP for IBPB mitigated RETBleed (Waiman Long) [2139856] - x86/bugs: Add "unknown" reporting for MMIO Stale Data (Waiman Long) [2139856] - tracing: Use a copy of the va_list for __assign_vstr() (Íñigo Huguet) [2143356] - tracing/events: Add __vstring() and __assign_vstr() helper macros (Íñigo Huguet) [2143356] - rtnetlink: add IFLA_PARENT_[DEV|DEV_BUS]_NAME (Jose Ignacio Tornos Martinez) [2144853] - rtnetlink: add alloc() method to rtnl_link_ops (Jose Ignacio Tornos Martinez) [2144853] - ipv6: Fix data races around sk->sk_prot. (Guillaume Nault) [2144805] {CVE-2022-3567} - ipv6: annotate some data-races around sk->sk_prot (Guillaume Nault) [2144805] {CVE-2022-3567} - ipv6: use indirect call wrappers for {tcp, udpv6}_{recv, send}msg() (Guillaume Nault) [2144805] {CVE-2022-3567} - mm/mremap: hold the rmap lock in write mode when moving page table entries. (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: use pmd/pud_poplulate to update page table entries (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: don't enable optimized PUD move if page table levels is 2 (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: convert huge PUD move to separate helper (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: fix BUILD_BUG_ON() error in get_extent (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap.c: fix extent calculation (Waiman Long) [2140945] {CVE-2022-41222} - x86: mremap speedup - Enable HAVE_MOVE_PUD (Waiman Long) [2140945] {CVE-2022-41222} - mm: speedup mremap on 1GB or larger regions (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: start addresses are properly aligned (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: calculate extent in one place (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: it is sure to have enough space when extent meets requirement (Waiman Long) [2140945] {CVE-2022-41222}- irqchip/gic, gic-v3: Make SGIs use handle_percpu_devid_irq() (Charles Mirabile) [2133892] - irqchip/gic-common: Don't enable SGIs by default (Charles Mirabile) [2133892] - irqchip/gic: Configure SGIs as standard interrupts (Charles Mirabile) [2133892] - irqchip/gic: Refactor SMP configuration (Charles Mirabile) [2133892] - irqchip/gic-v3: Configure SGIs as standard interrupts (Charles Mirabile) [2133892] - irqchip/gic-v3: Describe the SGI range (Charles Mirabile) [2133892] - arm64: Allow IPIs to be handled as normal interrupts (Charles Mirabile) [2133892] - irqchip/gic, gic-v3: Prevent GSI to SGI translations (Charles Mirabile) [2133892] - Workaround to enable support for IPI (Charles Mirabile) [2133892] - net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2112182] - tg3: Disable tg3 device on system reboot to avoid triggering AER (Ken Cox) [2112182] - aquantia: Do not purge addresses when setting the number of rings (Izabela Bakollari) [2122571] - openvswitch: add nf_ct_is_confirmed check before assigning the helper (Antoine Tenart) [2135414] - net: openvswitch: allow conntrack in non-initial user namespace (Antoine Tenart) [2135414] - net: openvswitch: allow metering in non-initial user namespace (Antoine Tenart) [2135414] - openvswitch: Change the return type for vport_ops.send function hook to int (Antoine Tenart) [2135414] - net: openvswitch: fix repeated words in comments (Antoine Tenart) [2135414] - openvswitch: add OVS_DP_ATTR_PER_CPU_PIDS to get requests (Antoine Tenart) [2135414] - openvswitch: allow specifying ifindex of new interfaces (Antoine Tenart) [2135414] - openvswitch: move from strlcpy with unused retval to strscpy (Antoine Tenart) [2135414] - openvswitch: Fix overreporting of drops in dropwatch (Antoine Tenart) [2135414] - openvswitch: Fix double reporting of drops in dropwatch (Antoine Tenart) [2135414] - openvswitch: fix memory leak at failed datapath creation (Antoine Tenart) [2135414] - net: remove noblock parameter from skb_recv_datagram() (Íñigo Huguet) [2143359] - i40e: Fix error handling in i40e_init_module() (Stefan Assmann) [2103661] - i40e: Add appropriate error message logged for incorrect duplex setting (Stefan Assmann) [2103661] - i40e: Add i40e_napi_poll tracepoint (Stefan Assmann) [2103661] - i40e: Record number of RXes cleaned during NAPI (Stefan Assmann) [2103661] - i40e: Record number TXes cleaned during NAPI (Stefan Assmann) [2103661] - i40e: Store the irq number in i40e_q_vector (Stefan Assmann) [2103661] - ptp: introduce helpers to adjust by scaled parts per million (Stefan Assmann) [2103661] - net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). (Stefan Assmann) [2103661] - i40e: Fix flow-type by setting GL_HASH_INSET registers (Stefan Assmann) [2103661] - i40e: Fix ethtool rx-flow-hash setting for X722 (Stefan Assmann) [2103661] - i40e: Fix ADQ rate limiting for PF (Stefan Assmann) [2103661] - i40e: add description and modify interrupts configuration procedure (Stefan Assmann) [2103661] - i40e: Add basic support for I710 devices (Stefan Assmann) [2103661] - net: ethernet: move from strlcpy with unused retval to strscpy (Stefan Assmann) [2103661] - i40e: Fix incorrect address type for IPv6 flow rules (Stefan Assmann) [2103661] - i40e: Fix to stop tx_timeout recovery if GLOBR fails (Stefan Assmann) [2103661] - i40e: convert .adjfreq to .adjfine (Stefan Assmann) [2103661] - i40e: use mul_u64_u64_div_u64 for PTP frequency calculation (Stefan Assmann) [2103661] - i40e: Fix interface init with MSI interrupts (no MSI-X) (Stefan Assmann) [2103661] - i40e: Refactor tc mqprio checks (Stefan Assmann) [2103661] - i40e: Fix erroneous adapter reinitialization during recovery process (Stefan Assmann) [2103661] - i40e: Fix VF's MAC Address change on VM (Stefan Assmann) [2103661] - i40e: Fix dropped jumbo frames statistics (Stefan Assmann) [2103661] - intel/i40e:fix repeated words in comments (Stefan Assmann) [2103661] - intel: remove unused macros (Stefan Assmann) [2103661] - i40e: read the XDP program once per NAPI (Stefan Assmann) [2103661] - intel/i40e: delete if NULL check before dev_kfree_skb (Stefan Assmann) [2103661] - i40e: Remove unnecessary synchronize_irq() before free_irq() (Stefan Assmann) [2103661] - i40e: Add support for ethtool -s speed (Stefan Assmann) [2103661] - i40e: Add VF VLAN pruning (Stefan Assmann) [2103661] - xsk: Wipe out dead zero_copy_allocator declarations (Stefan Assmann) [2103661] - gpio: amdpt: add new device ID and 24-pin support (Prarit Bhargava) [2097868] - platform/x86/intel: pmc/core: Add Raptor Lake support to pmc core driver (Prarit Bhargava) [2076732] - HID: hyperv: fix possible memory leak in mousevsc_probe() (Mohammed Gamal) [2139468] - HID: hyperv: Correctly access fields declared as __le16 (Mohammed Gamal) [2139468] - Drivers: hv: vmbus: fix possible memory leak in vmbus_device_register() (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: fix double free in the error path of vmbus_add_channel_work() (Mohammed Gamal) [2139473] - Drivers: hv: fix repeated words in comments (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Split memcpy of flex-array (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Don't wait for the ACPI device upon initialization (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Use PCI_VENDOR_ID_MICROSOFT for better discoverability (Mohammed Gamal) [2139473] - PCI: Move PCI_VENDOR_ID_MICROSOFT/PCI_DEVICE_ID_HYPERV_VIDEO definitions to pci_ids.h (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Fix kernel-doc (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Optimize vmbus_on_event (Mohammed Gamal) [2139473] - Drivers: hv: Never allocate anything besides framebuffer from framebuffer memory region (Mohammed Gamal) [2139473] - Drivers: hv: Always reserve framebuffer region for Gen1 VMs (Mohammed Gamal) [2139473] - Drivers: hv: remove duplicate word in a comment (Mohammed Gamal) [2139473] - Drivers: hv: Create debugfs file with hyper-v balloon usage information (Mohammed Gamal) [2139473] - Drivers: hv: vm_bus: Handle vmbus rescind calls after vmbus is suspended (Mohammed Gamal) [2139473] - scsi: storvsc: remove an extraneous "to" in a comment (Cathy Avery) [2143320] - Drivers: hv: vmbus: Optimize vmbus_on_event (Cathy Avery) [2143320] - scsi: storvsc: Drop DID_TARGET_FAILURE use (Cathy Avery) [2143320] - scsi: storvsc: Remove WQ_MEM_RECLAIM from storvsc_error_wq (Cathy Avery) [2143320] - scsi: storvsc: Correct reporting of Hyper-V I/O size limits (Cathy Avery) [2143320] - scsi: storvsc: Removing Pre Win8 related logic (Cathy Avery) [2143320] - scsi: storvsc: Fix typo in comment (Cathy Avery) [2143320] - scsi: storvsc: Remove support for Hyper-V 2008 and 2008R2/Win7 (Cathy Avery) [2143320] - vdpa/mlx5: re-create forwarding rules after mac modified (Laurent Vivier) [2145136] - ipv6: Fix crash when IPv6 is administratively disabled (Guillaume Nault) [2140779] - raw: fix a typo in raw_icmp_error() (Guillaume Nault) [2140779] - raw: remove unused variables from raw6_icmp_error() (Guillaume Nault) [2140779] - raw: complete rcu conversion (Guillaume Nault) [2140779] - raw: Use helpers for the hlist_nulls variant. (Guillaume Nault) [2140779] - raw: Fix mixed declarations error in raw_icmp_error(). (Guillaume Nault) [2140779] - raw: convert raw sockets to RCU (Guillaume Nault) [2140779] - raw: use more conventional iterators (Guillaume Nault) [2140779] - raw: Add missing annotations to raw_seq_start() and raw_seq_stop() (Guillaume Nault) [2140779] - net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2103941] - e1000e: convert .adjfreq to .adjfine (Ken Cox) [2103941] - e1000e: remove unnecessary range check in e1000e_phc_adjfreq (Ken Cox) [2103941] - Revert "e1000e: Fix possible HW unit hang after an s0ix exit" (Ken Cox) [2103941] - e1000e: Enable GPT clock before sending message to CSME (Ken Cox) [2103941] - intel/e1000e:fix repeated words in comments (Ken Cox) [2103941] - intel: remove unused macros (Ken Cox) [2103941] - net: move netif_set_gso_max helpers (Ivan Vecera) [2137564] - net: make drivers set the TSO limit not the GSO limit (Ivan Vecera) [2137564] - net: don't allow user space to lift the device limits (Ivan Vecera) [2137564] - net: add netif_inherit_tso_max() (Ivan Vecera) [2137564] - net: extract a few internals from netdevice.h (Ivan Vecera) [2137564] - net: unexport a handful of dev_* functions (Ivan Vecera) [2137564] - bpf: Fix extable address check. (Felix Maurer) [2138532] - bpf, x64: Factor out emission of REX byte in more cases (Felix Maurer) [2138532] - bpf: Support dual-stack sockets in bpf_tcp_check_syncookie (Felix Maurer) [2138532] - bpf: Fix extable fixup offset. (Felix Maurer) [2138532] - bpf: Fix the off-by-two error in range markings (Felix Maurer) [2138532] - bpf: Fix potential race in tail call compatibility check (Felix Maurer) [2138532] - bpf: Fix possible out of bound write in narrow load handling (Felix Maurer) [2138532] - bpf: Fix potential memleak and UAF in the verifier. (Felix Maurer) [2138532] - KVM: s390: vsie: Fix the initialization of the epoch extension (epdx) field (Thomas Huth) [2151854] - PM: core: Remove static qualifier in DEFINE_SIMPLE_DEV_PM_OPS macro (Íñigo Huguet) [2143354] - PM: core: Add new *_PM_OPS macros, deprecate old ones (Íñigo Huguet) [2143354] - PM: Make *_DEV_PM_OPS macros use __maybe_unused (Íñigo Huguet) [2143354] - PM: core: Redefine pm_ptr() macro (Íñigo Huguet) [2143354] - linux/kconfig.h: replace IF_ENABLED() with PTR_IF() in (Íñigo Huguet) [2143354] - net: Remove unused inline function sk_nulls_node_init() (Guillaume Nault) [2143239] - ping: convert to RCU lookups, get rid of rwlock (Guillaume Nault) [2143239] - mm/cgroup/reclaim: fix dirty pages throttling on cgroup v1 (Waiman Long) [2149544] - mm: vmscan: remove deadlock due to throttling failing to make progress (Waiman Long) [2149544] - mm: vmscan: reduce throttling due to a failure to make progress -fix (Waiman Long) [2149544] - mm: vmscan: Reduce throttling due to a failure to make progress (Waiman Long) [2149544] - mm/vmscan: delay waking of tasks throttled on NOPROGRESS (Waiman Long) [2149544] - mm/vmscan: increase the timeout if page reclaim is not making progress (Waiman Long) [2149544] - mm/vmscan: centralise timeout values for reclaim_throttle (Waiman Long) [2149544] - mm/page_alloc: remove the throttling logic from the page allocator (Waiman Long) [2149544] - mm/writeback: throttle based on page writeback instead of congestion (Waiman Long) [2149544] - mm/vmscan: throttle reclaim when no progress is being made (Waiman Long) [2149544] - mm/vmscan: throttle reclaim and compaction when too may pages are isolated (Waiman Long) [2149544] - mm/vmscan: throttle reclaim until some writeback completes if congested (Waiman Long) [2149544] - mm/vmscan.c: delete or fix duplicated words (Waiman Long) [2149544] - powerpc/pseries/vas: Add VAS IRQ primary handler (Mamatha Inamdar) [2131675] - powerpc: Ignore DSI error caused by the copy/paste instruction (Mamatha Inamdar) [2131675] - powerpc/pseries: Move vas_migration_handler early during migration (Mamatha Inamdar) [2131675] - vt: drop old FONT ioctls (Wander Lairson Costa) [2109164] {CVE-2021-33656}- x86/mce: Reduce number of machine checks taken during recovery (Prarit Bhargava) [2104388] - scsi: storvsc: Fix handling of srb_status and capacity change events (Mohammed Gamal) [2139728] - clocksource: hyper-v: unexport __init-annotated hv_init_clocksource() (Mohammed Gamal) [2139463] - hv_netvsc: Fix race between VF offering and VF association message from host (Mohammed Gamal) [2139475] - sbitmap: fix lockup while swapping (Ming Lei) [2140214] - sbitmap: fix batched wait_cnt accounting (Ming Lei) [2140214] - sbitmap: Avoid leaving waitqueue in invalid state in __sbq_wake_up() (Ming Lei) [2140214] - sbitmap: fix possible io hung due to lost wakeup (Ming Lei) [2140214] - sbitmap: add helper to clear a batch of tags (Ming Lei) [2140214] - x86/hyperv: Restore VP assist page after cpu offlining/onlining (Mohammed Gamal) [2139454] - clocksource/drivers/hyperv: add data structure for reference TSC MSR (Mohammed Gamal) [2139454] - x86/hyperv: fix root partition faults when writing to VP assist page MSR (Mohammed Gamal) [2139454] - x86/hyperv: fix invalid writes to MSRs during root partition kexec (Mohammed Gamal) [2139454] - x86/hyperv: Remove BUG_ON() for kmap_local_page() (Mohammed Gamal) [2139454] - x86/hyperv: Disable hardlockup detector by default in Hyper-V guests (Mohammed Gamal) [2139454] - x86/hyperv: Update 'struct hv_enlightened_vmcs' definition (Mohammed Gamal) [2139454] - x86/hyperv: Fix 'struct hv_enlightened_vmcs' definition (Mohammed Gamal) [2139454] - x86/hyperv: Replace kmap() with kmap_local_page() (Mohammed Gamal) [2139454] - hyperv: simplify and rename generate_guest_id (Mohammed Gamal) [2139454] - x86/Hyper-V: Add SEV negotiate protocol support in Isolation VM (Mohammed Gamal) [2139454] - x86/sev: Define the Linux-specific guest termination reasons (Mohammed Gamal) [2139454] - x86/sev: Shorten GHCB terminate macro names (Mohammed Gamal) [2139454] - x86/sev: Save the negotiated GHCB version (Mohammed Gamal) [2139454] - locking: Add __sched to semaphore functions (Waiman Long) [2141429] - locking/rwsem: Disable preemption while trying for rwsem lock (Waiman Long) [2141429] - locking/percpu-rwsem: Add percpu_is_write_locked() and percpu_is_read_locked() (Waiman Long) [2141429] - locking/rwsem: Conditionally wake waiters in reader/writer slowpaths (Waiman Long) [2141429] - locking: Mark racy reads of owner->on_cpu (Waiman Long) [2141429] - locking: Make owner_on_cpu() into (Waiman Long) [2141429] - locking/rwsem: Optimize down_read_trylock() under highly contended case (Waiman Long) [2141429] - locking/rwsem: Fix comments about reader optimistic lock stealing conditions (Waiman Long) [2141429] - locking/rwsem: Disable preemption for spinning region (Waiman Long) [2141429] - locking: Remove rcu_read_{,un}lock() for preempt_{dis,en}able() (Waiman Long) [2141429] - NFSD: Mark exports of NFS as unsupported (Benjamin Coddington) [2150902] - fuse: lock inode unconditionally in fuse_fallocate() (Miklos Szeredi) [2110883] - fuse: add file_modified() to fallocate (Miklos Szeredi) [2110883] - mei: me: add adler lake point S DID (Prarit Bhargava) [2141602] - ocfs2/dlm: move BITS_TO_BYTES() to bitops.h for wider use (Izabela Bakollari) [2144858] - libnvdimm/namespace: Fix visibility of namespace resource attribute (Jeff Moyer) [2016347] - PCI: hv: Only reuse existing IRTE allocation for Multi-MSI (Mohammed Gamal) [2139458] - PCI: hv: Fix the definition of vector in hv_compose_msi_msg() (Mohammed Gamal) [2139458] - PCI: hv: Take a const cpumask in hv_compose_msi_req_get_cpu() (Mohammed Gamal) [2139458] - PCI: hv: Fix synchronization between channel callback and hv_pci_bus_exit() (Mohammed Gamal) [2139458] - PCI: hv: Add validation for untrusted Hyper-V values (Mohammed Gamal) [2139458] - PCI: hv: Fix interrupt mapping for multi-MSI (Mohammed Gamal) [2139458] - PCI: hv: Reuse existing IRTE allocation in compose_msi_msg() (Mohammed Gamal) [2139458] - PCI: hv: Fix hv_arch_irq_unmask() for multi-MSI (Mohammed Gamal) [2139458] - PCI: hv: Fix synchronization between channel callback and hv_compose_msi_msg() (Mohammed Gamal) [2139458] - PCI: hv: Use vmbus_requestor to generate transaction IDs for VMbus hardening (Mohammed Gamal) [2139458] - PCI: hv: Fix multi-MSI to allow more than one MSI vector (Mohammed Gamal) [2139458] - net: mana: Add rmb after checking owner bits (Mohammed Gamal) [2139462] - net: mana: Add support of XDP_REDIRECT action (Mohammed Gamal) [2139462] - net: mana: Add the Linux MANA PF driver (Mohammed Gamal) [2139462] - NFSD: Protect against send buffer overflow in NFSv3 READ (Scott Mayhew) [2141774] {CVE-2022-43945} - NFSD: Protect against send buffer overflow in NFSv2 READ (Scott Mayhew) [2141774] {CVE-2022-43945} - NFSD: Protect against send buffer overflow in NFSv3 READDIR (Scott Mayhew) [2141774] {CVE-2022-43945} - NFSD: Protect against send buffer overflow in NFSv2 READDIR (Scott Mayhew) [2141774] {CVE-2022-43945} - SUNRPC: Fix svcxdr_init_encode's buflen calculation (Scott Mayhew) [2141774] {CVE-2022-43945} - SUNRPC: Fix svcxdr_init_decode's end-of-buffer calculation (Scott Mayhew) [2141774] {CVE-2022-43945} - KVM: VMX: fully disable SGX if SECONDARY_EXEC_ENCLS_EXITING unavailable (Emanuele Giuseppe Esposito) [2127128] - cgroup/cpuset: Reduce cpuset_rwsem writer latency (Waiman Long) [2149031] - rcu/exp: Mark current CPU as exp-QS in IPI loop second pass (Waiman Long) [2149031] - rcu: Always inline rcu_dynticks_task*_{enter,exit}() (Waiman Long) [2149031] - rcu: Fix existing exp request check in sync_sched_exp_online_cleanup() (Waiman Long) [2149031] - rcu: Fix macro name CONFIG_TASKS_RCU_TRACE (Waiman Long) [2149031] - rcu: Fix stall-warning deadlock due to non-release of rcu_node ->lock (Waiman Long) [2149031] - rcu: Fix to include first blocked task in stall warning (Waiman Long) [2149031] - cgroup: Use cgroup_attach_{lock,unlock}() from cgroup_attach_task_all() (Waiman Long) [2149031] - cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all() (Waiman Long) [2149031] - cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock (Waiman Long) [2149031] - cgroup: Elide write-locking threadgroup_rwsem when updating csses on an empty subtree (Waiman Long) [2149031] - cgroup/cpuset: Fix a race between cpuset_attach() and cpu hotplug (Waiman Long) [2149031] - cgroup: reduce dependency on cgroup_mutex (Waiman Long) [2149031]- drm/i915: fix TLB invalidation for Gen12 video and compute engines (Wander Lairson Costa) [2148150] {CVE-2022-4139} - redhat/configs: Set CONFIG_X86_AMD_PSTATE to 'm' (Prarit Bhargava) [2145246] - bonding: uninitialized variable in bond_miimon_inspect() (Jonathan Toppins) [1973124] - bonding: fix link recovery in mode 2 when updelay is nonzero (Jonathan Toppins) [1973124] - RHEL: ALSA: update configuration (Jaroslav Kysela) [2125544] - RHEL: ALSA: fix compilation issues (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: pci-mtl: fix firmware name (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Correct pin configs for ASUS G533Z (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: remove ALC289_FIXUP_DUAL_SPK for Dell 5530 (Jaroslav Kysela) [2125544] - ALSA: ac97: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: ca0106: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: emu10k1: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: control: add snd_ctl_rename() (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Use only dynamic PCM device allocation (Jaroslav Kysela) [2125544] - regmap: add reg_sequence helpers (Jaroslav Kysela) [2125544] - regmap: fix the kerneldoc for regmap_test_bits() (Jaroslav Kysela) [2125544] - regmap: provide helpers for simple bit operations (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Free the ida when IPC fails in sof_ipc4_widget_setup() (Jaroslav Kysela) [2125544] - ASoC: tlv320aic31xx: Handle BCLK set as PLL input configuration (Jaroslav Kysela) [2125544] - ASoC: test-component: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: tlv320aic31xx: Add support for pll_r coefficient (Jaroslav Kysela) [2125544] - ASoC: ssm4567: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: rk3328: fix disabling mclk on pclk probe failure (Jaroslav Kysela) [2125544] - ASoC: pcm3060: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: cs42l42: remove redundant test (Jaroslav Kysela) [2125544] - ALSA: ppc: beep: fix clang -Wimplicit-fallthrough (Jaroslav Kysela) [2125544] - ASoC: soc-component: Add comment for the endianness flag (Jaroslav Kysela) [2125544] - ASoC: codecs: wsa881x: handle timeouts in resume path (Jaroslav Kysela) [2125544] - ASoC: wsa881x: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: codecs: wsa881x: add runtime pm support (Jaroslav Kysela) [2125544] - ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put() (Jaroslav Kysela) [2125544] - ASoC: wm_adsp: Minor clean and redundant code removal (Jaroslav Kysela) [2125544] - ASoC: wm_adsp: Compressed stream DSP memory structs should be __packed (Jaroslav Kysela) [2125544] - ASoC: wm8998: Fix event generation for input mux (Jaroslav Kysela) [2125544] - ASoC: arizona: Fix a wrong free in wm8997_probe (Jaroslav Kysela) [2125544] - ASoC: wm8962: Allow switching between analog and digital inputs (Jaroslav Kysela) [2125544] - ASoC: wm8960: Fix clock configuration on slave mode (Jaroslav Kysela) [2125544] - ASoC: wm8962: Fix suspend while playing music (Jaroslav Kysela) [2125544] - ASoC: codecs: wm8962: using pm_runtime_resume_and_get instead of pm_runtime_get_sync (Jaroslav Kysela) [2125544] - ASoC: wm8960: Add ACPI support (Jaroslav Kysela) [2125544] - ASoC: wm8958: Fix change notifications for DSP controls (Jaroslav Kysela) [2125544] - ASoC: wm8940: add devicetree support (Jaroslav Kysela) [2125544] - ASoC: wm*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: wm8903: Fix the error handling of wm8903_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: wm8731: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: arizona: Make the wm5102, wm5110, wm8997 and wm8998 drivers use the new jack library (Jaroslav Kysela) [2125544] - ASoC: wm5102: Fix event generation for output compensation (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Use int array instead of bitmask for TX mixers (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Use DT bindings instead of local DAI definitions (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Fix spurious event generation (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Remove RX channel from old list before adding it to a new one (Jaroslav Kysela) [2125544] - ASoC: codecs: wcd9335: move gains from SX_TLV to S8_TLV (Jaroslav Kysela) [2125544] - ASoC: wcd9335: remove redundant tests (Jaroslav Kysela) [2125544] - ASoC: uda1380: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: uda1334: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: twl4030: Drop legacy, non DT boot support (Jaroslav Kysela) [2125544] - ASoC: tscs*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: ts3a227e: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tpa6130: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: tlv320dac3x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320aic33: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: codec: tlv320aic32x4: fix mono playback via I2S (Jaroslav Kysela) [2125544] - ASoC: tlv320aic32x4: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320aic31xx: Fix typo in BCLK clock name (Jaroslav Kysela) [2125544] - ASoC: tlv320*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: Rename tlv320aic31xx-micbias.h as tlv320aic31xx.h (Jaroslav Kysela) [2125544] - ASoC: tlv320aic31xx: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320aic26: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320aic23: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tas6424: Return zero in remove callback (Jaroslav Kysela) [2125544] - ASoC: tda7419: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tas6424: Fix the error handling of tas6424_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: tas6424: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tas5720: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tas571x: Fix the error handling of tas571x_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: tas5086: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tas2552: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: tas2770: Reinit regcache on reset (Jaroslav Kysela) [2125544] - ASoC: tas2562: Propagate the error in tas2562_dac_event() (Jaroslav Kysela) [2125544] - ASoC: tas2562: Fix mute/unmute (Jaroslav Kysela) [2125544] - ASoC: tas2764: Fix mute/unmute (Jaroslav Kysela) [2125544] - ASoC: tas2764: Drop conflicting set_bias_level power setting (Jaroslav Kysela) [2125544] - ASoC: tas2764: Allow mono streams (Jaroslav Kysela) [2125544] - ASoC: tas2770: Fix handling of mute/unmute (Jaroslav Kysela) [2125544] - ASoC: tas2770: Drop conflicting set_bias_level power setting (Jaroslav Kysela) [2125544] - ASoC: tas2770: Allow mono streams (Jaroslav Kysela) [2125544] - ASoC: tas2770: Set correct FSYNC polarity (Jaroslav Kysela) [2125544] - ASoC: tas2770: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tas*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: tas2552: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sti-sas: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sta350: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sta350: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: sta*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: sta32x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sta32x: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: ssm2602: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: ssm2518: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sgtl5000: Fix noise on shutdown/remove (Jaroslav Kysela) [2125544] - ASoC: rt9120: Fix 3byte read, valule offset typo (Jaroslav Kysela) [2125544] - ASoC: rt9120: Use pm_runtime and regcache to optimize 'pwdnn' logic (Jaroslav Kysela) [2125544] - ASoC: codecs: rt715-sdca: remove useless assignment of ops (Jaroslav Kysela) [2125544] - ASoC: rt5682s: Separate the regulator consumer controls (Jaroslav Kysela) [2125544] - ASoC: rt5645: Fix the error handling of rt5645_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: rt5640: Fix the issue of the abnormal JD2 status (Jaroslav Kysela) [2125544] - ASoC: rt5640: Fix the JD voltage dropping issue (Jaroslav Kysela) [2125544] - ASoC: rt5640: Fix the wrong state of JD1 and JD2 (Jaroslav Kysela) [2125544] - ASoC: rt5640: Add the MICBIAS1 to the dapm routing (Jaroslav Kysela) [2125544] - ASoC: codecs: rt298: Fix jack detection (Jaroslav Kysela) [2125544] - ASoC: codecs: rt298: Fix NULL jack in interrupt (Jaroslav Kysela) [2125544] - ASoC: codecs: rt298: Set component to NULL on remove (Jaroslav Kysela) [2125544] - ASoC: codecs: rt286: Set component to NULL on remove (Jaroslav Kysela) [2125544] - ASoC: codecs: rt274: Set component to NULL on remove (Jaroslav Kysela) [2125544] - ASoC: codecs: rt274: Always init jack_detect_work (Jaroslav Kysela) [2125544] - ASoC: rt1308-sdw: add the default value of register 0xc320 (Jaroslav Kysela) [2125544] - ASoC: rk3328: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: pcm1789: Make pcm1789_common_exit() return void (Jaroslav Kysela) [2125544] - ASoC: pcm186x: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: pcm186x: simplify the return expression of pcm186x_power_off() (Jaroslav Kysela) [2125544] - ASoC: pcm*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: nau8825: Implement hw constraint for rates (Jaroslav Kysela) [2125544] - ASoC: nau8825: Declare 2 channels for DAI of capture stream (Jaroslav Kysela) [2125544] - ASoC: nau8824: Fix semaphore is released unexpectedly (Jaroslav Kysela) [2125544] - ASoC: nau8824: Implement hw constraint for rates (Jaroslav Kysela) [2125544] - ASoC: nau8824: Fix semaphore unbalance at error paths (Jaroslav Kysela) [2125544] - ASoC: nau8822: Don't reconfigure PLL to the same values (Jaroslav Kysela) [2125544] - ASoC: nau8822: Disable internal PLL if freq_out is zero (Jaroslav Kysela) [2125544] - ASoC: nau8821: Implement hw constraint for rates (Jaroslav Kysela) [2125544] - ASoC: nau8821: Don't unconditionally free interrupt (Jaroslav Kysela) [2125544] - ASoC: nau8821: add new widget to control system clock (Jaroslav Kysela) [2125544] - ASoC: nau8821: Add headset button detection (Jaroslav Kysela) [2125544] - ASoC: codecs: mt6359-accdet: remove useless initialization (Jaroslav Kysela) [2125544] - ASoC: mediatek: mt6366: support for mt6366 codec (Jaroslav Kysela) [2125544] - ASoC: msm8916-wcd-digital: Check failure for devm_snd_soc_register_component (Jaroslav Kysela) [2125544] - ASoC: nau8540: Implement hw constraint for rates (Jaroslav Kysela) [2125544] - ASoC: nau8*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: mt6660: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: mt6359: Fix refcount leak bug (Jaroslav Kysela) [2125544] - ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLs (Jaroslav Kysela) [2125544] - ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe (Jaroslav Kysela) [2125544] - ASoC: codecs: msm8916-wcd-digital: move gains from SX_TLV to S8_TLV (Jaroslav Kysela) [2125544] - ASoC: ml26124: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: max9860: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: max98390: use linux/gpio/consumer.h to fix build (Jaroslav Kysela) [2125544] - ASoC: max98390: Add reset gpio control (Jaroslav Kysela) [2125544] - ASoC: codecs: soundwire: call pm_runtime_resume() in component probe (Jaroslav Kysela) [2125544] - ASoC: max98373: Removing 0x203E from the volatile reg (Jaroslav Kysela) [2125544] - ASoC: max98090: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: max98090: Fix event generation for custom controls (Jaroslav Kysela) [2125544] - ASoC: codecs: max98088: Clean up some inconsistent indenting (Jaroslav Kysela) [2125544] - ASoC: max980*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: lm4857: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: da732x: Drop no-op remove function (Jaroslav Kysela) [2125544] - ASoC: da7219: Drop no-op remove function (Jaroslav Kysela) [2125544] - ASoC: max9*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: lm49xxx: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: hdmi-codec: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: es83*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: codes: Add support for ES8316 producer mode (Jaroslav Kysela) [2125544] - ASoC: dmic: Add support for DSD data format (Jaroslav Kysela) [2125544] - ASoC: da[79]*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: da7219: cancel AAD related work earlier for jack removal (Jaroslav Kysela) [2125544] - ASoC: da7219: Fix pole orientation detection on certain headsets (Jaroslav Kysela) [2125544] - ASoC: da7218: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: cx2072x: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: cx2072x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: cs4349: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: cs42l56: Fix the error handling of cs42l56_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: cs42l51: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: cs42l42: Only report button state if there was a button interrupt (Jaroslav Kysela) [2125544] - ASoC: cs4270: update kernel-doc (Jaroslav Kysela) [2125544] - ASoC: cs4270: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Add support for CLSA3541 ACPI device ID (Jaroslav Kysela) [2125544] - ALSA: cs35l41: Enable Internal Boost in shared lib (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Do not print error when waking from hibernation (Jaroslav Kysela) [2125544] - ASoC: cs35l36: Fix the error handling of cs35l36_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: cs*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: arizona: Update arizona_aif_cfg_changed to use RX_BCLK_RATE (Jaroslav Kysela) [2125544] - ASoC: alc56*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: ak4613: cares Simple-Audio-Card case for TDM (Jaroslav Kysela) [2125544] - ASoC: ak4613: add TDM256 support (Jaroslav Kysela) [2125544] - ASoC: ak4613: rename constraint to constraint_rates (Jaroslav Kysela) [2125544] - ASoC: ak4613: priv has ctrl1 instead of iface (Jaroslav Kysela) [2125544] - ASoC: ak4613: return error if it was setup as clock provider (Jaroslav Kysela) [2125544] - ASoC: ak4613: tidyup ak4613_interface (Jaroslav Kysela) [2125544] - ASoC: ak4613: add missing mutex_lock() (Jaroslav Kysela) [2125544] - ASoC: ak4642: Drop no-op remove function (Jaroslav Kysela) [2125544] - ASoC: ak*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: ak4*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: adau1761: Add ADAU1761-as-ADAU1361 compatibility mode (Jaroslav Kysela) [2125544] - ASoC: ada*, ssm*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: ab8500: Remove some leftover from the "Replace GPLv2 boilerplate/reference with SPDX" rules (Jaroslav Kysela) [2125544] - ASoC: ad1*, ada*, ssm*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: test-component: Rename set_fmt_new back to set_fmt (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils: rename asoc_simple_init_dai_link_params() to asoc_simple_init_for_codec2codec() (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils.c: care Codec2Codec vs DPCM:BE (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils.c: ignore Codec2Codec setting if it already have (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils: Make asoc_simple_clean_reference() return void (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2: indicate "Experimental stage" warning only when successed (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2: Add of_node_put() in fail path (Jaroslav Kysela) [2125544] - ASoc: audio-graph-card2: Fix refcount leak bug in __graph_get_type() (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2.c: remove pre-alloced Codec2Codec space (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2.c: make Codec2Codec settings optional (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2.c: use of_property_read_u32() for rate (Jaroslav Kysela) [2125544] - ASoC: audio_graph_card2: Fix port numbers in example (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2-custom-sample.dtsi: add verbose explanation (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card: Add of_node_put() in fail path (Jaroslav Kysela) [2125544] - ASoC: test-component: Update to use set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: use software node API in Atom boards (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_ssp_amp: remove 'set-but-not-used' warning (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: avoid oops in error handling (Jaroslav Kysela) [2125544] - ASoC: Intel: use software node API in SoundWire machines (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: sof_sdw: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: Intel: catpt: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: Intel: catpt: Drop redundant enum constant (Jaroslav Kysela) [2125544] - ASoC: Intel: catpt: remove duplicating driver data retrieval (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_ssp_amp: enable capture stream from cs35l41 (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: allow HDaudio/HDMI disable (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: add quirk for HP Omen 16-k0005TX (Jaroslav Kysela) [2125544] - ASoC: intel: sof_sdw: add RT711 SDCA card for MTL platform (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_pcm512x: remove unnecessary init (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_nau8825: Move quirk check to the front in late probe (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: add support for Dell SKU 0AFF (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: add support for Dell SKU 0AF0 (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: Perform quirk check first in card late probe (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: Add support for mtl_mx98357_rt5682 (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: fix out-of-bounds array access (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: rename RTL1019 compatible driver to rt1019p (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_nau8825: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: kbl_da7219_max98927: remap jack pins (Jaroslav Kysela) [2125544] - ALSA: x86: intel_hdmi_audio: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ALSA: x86: intel_hdmi_audio: enable pm_runtime and set autosuspend delay (Jaroslav Kysela) [2125544] - ASoC: xtensa: Update to use set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: xtensa: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: uniphier: make arrays mul and div static const, makes object smaller (Jaroslav Kysela) [2125544] - ASoC: uniphier: simplify the return expression of uniphier_aio_compr_set_params() (Jaroslav Kysela) [2125544] - ASoC: spear: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-topology: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-stream: test DMA buffer first in hw_params (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-stream: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-ipc: Do not process IPC reply before firmware boot (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dsp: report error on power-up/down (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: Drop misleading comment regarding dma_data (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: Intel: fix sof_es8336 probe (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: remove hard-coded SSP selection (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: reset the num_links during probe (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: add support for HDMI_In capture (Jaroslav Kysela) [2125544] - ASoC: Intel: common: fix typo for tplg naming (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: Add support for adl_rt1019_rt5682s (Jaroslav Kysela) [2125544] - ASoC: Intel: soc-acpi: add table for HP Omen 16-k0005TX (Jaroslav Kysela) [2125544] - ASoC: Intel: soc-acpi: Add entry for sof_es8336 in ADL match table (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: ignore GpioInt when looking for speaker/headset GPIO lines (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: Fix GPIO quirks set via module option (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_da7219_max98373: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_cs42l42: add adl_mx98360a_cs4242 board config (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_cs42l42: support BT offload audio (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_cs42l42: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: skl_nau88l25_ssm4567: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: skl_nau88l25_max98357a: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: kbl_rt5663_rt5514_max98927: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: kbl_rt5663_max98927: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: kbl_da7219_max98357a: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: hda: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: Intel: glk_rt5682_max98357a: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: cml_rt1011_rt5682: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: Use temporary variable for struct device (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: reset acpi_chan_package (Jaroslav Kysela) [2125544] - ASoC: codecs: rt298: Reorganize jack detect handling (Jaroslav Kysela) [2125544] - ASoC: Intel: bxt_da7219_max98357a: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Mark BE DAI as nonatomic (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Improve hw_params() debug-ability (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Improve probe() function quality (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Update file comments (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Update code indentation (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Reword driver name (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Reword prefixes of all driver members (Jaroslav Kysela) [2125544] - ASoC: Intel: Rename haswell source file to hsw_rt5640 (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: sst_ipc: remove redundant test (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Mark BE DAI as nonatomic (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Remove FE DAI ops (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Improve codec_init() quality (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Improve hw_params() debug-ability (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Improve probe() function quality (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Update file comments (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Update code indentation (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Reword driver name (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Reword prefixes of all driver members (Jaroslav Kysela) [2125544] - ASoC: Intel: Rename broadwell source file to bdw_rt286 (Jaroslav Kysela) [2125544] - ASoC: codecs: rt286: Reorganize jack detect handling (Jaroslav Kysela) [2125544] - ASoC: Intel: broadwell: Make broadwell_disable_jack() return void (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt5677: Mark BE DAI as nonatomic (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt5650: Mark BE DAI as nonatomic (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: sst_ipc: remove useless initializations (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: sst: remove useless initialization (Jaroslav Kysela) [2125544] - ASoC: intel: atom: Remove superfluous flush_scheduled_work() (Jaroslav Kysela) [2125544] - ASoC: Intel: Update to use set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: controls: remove useless initializations (Jaroslav Kysela) [2125544] - ASoC: Intel: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: Intel: skylake: skl-pcm: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: Intel: Skylake: remove redundant re-assignments to pointer array (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: bdw: remove duplicating driver data retrieval (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: byt: remove duplicating driver data retrieval (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: cnl: Do not process IPC reply before firmware boot (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: Do snd_hdac_ext_stream_decouple() only once (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Fix potential buffer overflow by snprintf() (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: add sanity check on SSP index reported by NHLT (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: only fixup topology name if not set already (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: don't set fw_filename (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: enable dmic handling with 2 or fewer SoundWire links (Jaroslav Kysela) [2125544] - ASoC: soc-core: accept zero format at snd_soc_runtime_set_dai_fmt() (Jaroslav Kysela) [2125544] - ASoC: SOF: compress: Prevent current kernel running with older FW (Jaroslav Kysela) [2125544] - ASoC: SOF: Copy compress parameters into extended data (Jaroslav Kysela) [2125544] - ASoC: SOF: compress: Dynamically allocate pcm params struct (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: atom: don't keep a temporary string in fixup_tplg_name (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: add trigger callback into sdw_callback (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Correct the ROM/FW state reporting code (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: MTL: remove redundant snd_sof_dsp_read() call (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: mtl: Do not process IPC reply before firmware boot (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: mtl: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Introduce skip_imr_boot flag (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: disable IMR boot when resuming from ACPI S4 and S5 states (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: IPC4: enable IMR boot (Jaroslav Kysela) [2125544] - ASoC: SOC: Intel: introduce cl_init callback (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Do not (wrongly) assume positive return value in IMR path (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Revisit IMR boot sequence (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-loader: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-loader: Print out the non matching ext_man magic number (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-topology: Fix clang -Wformat warning (Jaroslav Kysela) [2125544] - ASoC: SOF: remove warning on ABI checks (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Fix error code in sof_ipc4_volume_put() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-pcm: set pcm rate to dai setting (Jaroslav Kysela) [2125544] - ASoC: SOF: reduce default verbosity of IPC logs (Jaroslav Kysela) [2125544] - Revert "RedHat: ASoC: SOF: Intel: do not enable IMR boot when resuming by default" (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: fix alh_group_ida max value (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: fix wrong use of sizeof in sof_ipc4_widget_setup_comp_src() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: set domain bit based on dp domain type (Jaroslav Kysela) [2125544] - ASoC: SOF: add ipc4 SRC module support (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: move ida allocate/free to widget_setup/free (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: free memories allocated in sof_ipc4_get_audio_fmt (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: check dai->private in ipc_free() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: add SoundWire/ALH aggregation support (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: Compile and runtime IPC version selection (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Align mt8186 clock names with dt-bindings (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Fix error code in probe (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Revise mt8195 boot flow (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: fix mt8195 StatvectorSel wrong setting (Jaroslav Kysela) [2125544] - ASoC: SOF: pcm: use pm_resume_and_get() on component probe (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: fix copy in sof_msg_inject_ipc4_dfs_write() (Jaroslav Kysela) [2125544] - ASoC: sof: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client-probes: Only load the driver if IPC3 is used (Jaroslav Kysela) [2125544] - ASoC: SOF: probes: rename assign/free callbacks as startup/shutdown (Jaroslav Kysela) [2125544] - ASoC: SOF: Add cont_update_posn to platform parameters (Jaroslav Kysela) [2125544] - ASoC: SOF: pm: add definitions for S4 and S5 states (Jaroslav Kysela) [2125544] - ASoC: SOF: pm: add explicit behavior for ACPI S1 and S2 (Jaroslav Kysela) [2125544] - ASoC: SOF: debug: Clarify the IPC timeout handling path (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: remove unused variable (Jaroslav Kysela) [2125544] - ASoC: SOF: Switch to IPC generic firmware tracing (Jaroslav Kysela) [2125544] - ALSA: sc6000: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2125544] - ALSA: gus: Fix memory leaks at memory allocator error paths (Jaroslav Kysela) [2125544] - ALSA: sound/isa/gus: check the return value of kstrdup() (Jaroslav Kysela) [2125544] - ALSA: gus: Fix erroneous memory allocation (Jaroslav Kysela) [2125544] - ALSA: galaxy: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2125544] - ALSA: cs4236: fix an incorrect NULL check on list iterator (Jaroslav Kysela) [2125544] - ALSA: aloop: Fix random zeros in capture data when using jiffies timer (Jaroslav Kysela) [2125544] - ALSA: Add generic serial MIDI driver using serial bus API (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Fix potential buffer overflow by snprintf() (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Use lookup table to create modules (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Update AVS_FW_INIT_TIMEOUT_US declaration (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Lower UNLOAD_MULTIPLE_MODULES IPC timeout (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Replace hardcodes with SD_CTL_STREAM_RESET (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Recognize FW_CFG_RESERVED (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Use helper function to set up DMA (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Set max DMA segment size (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Block IPC channel on suspend (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Shield LARGE_CONFIG_GETs against zero payload_size (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Copy only as many RX bytes as necessary (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Relax DSP core transition timings (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Assign I2S gateway when parsing topology (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Fix i2s_test card name initialization (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: correct config reference for I2S test board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Fix parsing UUIDs in topology (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add da7219 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add max98373 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add max98357a machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add ssm4567 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add nau8825 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add rt5682 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add rt298 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add rt286 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add rt274 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add I2S-test machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add DMIC machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Fix build error on arc, m68k and sparc (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: APL-based platforms support (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: SKL-based platforms support (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Power management (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Machine board registration (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Replace link_mask usage with i2s_link_mask (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Event tracing (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: D0ix power state support (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Prepare for firmware tracing (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Register HDAudio ext-bus operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add HDAudio machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: PCI driver implementation (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Coredump and recovery flow (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Drop direct ACPI dependency (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Depend on SND_INTEL_DSP_CONFIG (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Enable AVS driver only on x86 platforms (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: HDA PCM BE operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: non-HDA PCM BE operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Generic PCM FE operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Generic soc component driver (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Account for libraries when booting basefw (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Configure modules according to their type (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Prepare modules before bindings them (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Arm paths after creating them (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Path state management (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Path creation and freeing (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Declare path and its components (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Support link_mask formatted string (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add topology loading operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Parse path and path templates tuples (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Parse pipeline and module tuples (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Parse pplcfg and binding tuples (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Parse module-extension tuples (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add topology parsing infrastructure (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: add MeteorLake machines (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Declare vendor tokens (Jaroslav Kysela) [2125544] - ASoC: SOF: dai-intel: add SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_AON bit (Jaroslav Kysela) [2125544] - uapi: sof: abi: Bump SOF ABI for ext_data_length (Jaroslav Kysela) [2125544] - ASoC: SOF: Add two new structures for topology manifest data (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: introduce cont_update_posn in sof_ipc_stream_params struct (Jaroslav Kysela) [2125544] - ASoC: SOF: bump SOF_ABI_MINOR (Jaroslav Kysela) [2125544] - ASoC: SOF: Add header for IPC4 manifest (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: add code to parse config params for ACPDMIC dai (Jaroslav Kysela) [2125544] - ASoC: SOF: Add topology tokens for IPC4 (Jaroslav Kysela) [2125544] - ASoC: hdac_hda: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: max98504: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: adau1372: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: cx2072x: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: mt6351: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: mt6358: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: mt6359: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: mt6660: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: pcm3060: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt9120: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt700: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt715: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt715-sdca: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt1308-sdw: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt1316-sdw: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: wsa881x: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: sdw-mockup: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: lochnagar: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: lochnagar: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: tfa*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: tfa9879: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: cs*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: wm*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: wm9090: Remove redundant endianness flag (Jaroslav Kysela) [2125544] - ASoC: wm8731: Factor out the I2C and SPI bus code into separate modules (Jaroslav Kysela) [2125544] - ASoC: wm8731: Factor our MCLK and mutex initialisation (Jaroslav Kysela) [2125544] - ASoC: wm8731: Move regulator request into wm8731_init() (Jaroslav Kysela) [2125544] - ASoC: wm8731: Factor component init out of bus code (Jaroslav Kysela) [2125544] - ASoC: wm8731: Update to modern DAI terminology (Jaroslav Kysela) [2125544] - ASoC: wm2000: fix missing clk_disable_unprepare() on error in wm2000_anc_transition() (Jaroslav Kysela) [2125544] - ASoC: wm2000: Remove redundant endianness flag (Jaroslav Kysela) [2125544] - ASoC: wm*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tas2764: Fix amp gain register offset & default (Jaroslav Kysela) [2125544] - ASoC: tas2764: Correct playback volume range (Jaroslav Kysela) [2125544] - ASoC: tas2764: Fix and extend FSYNC polarity handling (Jaroslav Kysela) [2125544] - ASoC: tas2764: Add post reset delays (Jaroslav Kysela) [2125544] - ASoC: tas*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: tas*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tas2764: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [2125544] - ASoC: tas*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [2125544] - ASoC: tas2764: Add the driver for the TAS2764 (Jaroslav Kysela) [2125544] - ASoC: max98396: Fix TDM mode BSEL settings (Jaroslav Kysela) [2125544] - ASoC: max*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: max98396: Implement DSP speaker monitor (Jaroslav Kysela) [2125544] - ASoC: max98396: Fix register access for PCM format settings (Jaroslav Kysela) [2125544] - ASoC: max98396: Improve some error prints (Jaroslav Kysela) [2125544] - ASoC: max98396: add voltage regulators (Jaroslav Kysela) [2125544] - ASoC: max98396: Fix build error for implicit function declaration (Jaroslav Kysela) [2125544] - ASoC: max98396: add amplifier driver (Jaroslav Kysela) [2125544] - ASoC: rt*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: rt1019: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: fsl: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: pistachio: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: samsung: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: sunxi: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: tegra: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: test-component: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: uniphier: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ad*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ak*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: alc*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: da*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: es*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: msm*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: nau*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: pcm*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: spdif: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ssm*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: sta*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: twl*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: uda*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: 88pm860x: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ab8500: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ac97: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ads117x: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: bd28623: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: bt-sco: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: cpcap: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: cq93vc: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: cx20442: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: dmic: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: gtm601: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: hdac_hdmi: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: hdmi-codec: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ics43432: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: inno_rk3036: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: isabelle: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: jz4740: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: lm49453: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: mc13783: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ml26124: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: sgtl5000: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: si476x: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: stac9766: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: sti-sas: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: tscs42xx: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: wl1273: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: zl38060: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: fsl_micfil: Add legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: fsl_asrc_dma: Add legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: soc-component: Remove non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils: Move snd_soc_component_is_codec to be local (Jaroslav Kysela) [2125544] - ASoC: soc-component: Add legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: core: Add new SOC_DOUBLE_SX_TLV macro (Jaroslav Kysela) [2125544] - ASoC: Remove unused hw_write_t type (Jaroslav Kysela) [2125544] - ASoC: soc.h: Add SOC_SINGLE_S_EXT_TLV macro (Jaroslav Kysela) [2125544] - ASoC: soc.h: Introduce SOC_DOUBLE_R_S_EXT_TLV() macro (Jaroslav Kysela) [2125544] - ASoC: soc.h: Add SOC_SINGLE_S_TLV() macro (Jaroslav Kysela) [2125544] - ASoC: hdmi-codec: Update to modern DAI terminology (Jaroslav Kysela) [2125544] - ALSA: hda: Skip event processing for unregistered codecs (Jaroslav Kysela) [2125544] - ASoC: codecs: Add HD-Audio codec driver (Jaroslav Kysela) [2125544] - ASoC: cs42l42: Move CS42L42 register descriptions to general include (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Read System Name from ACPI _SUB to identify firmware (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Add common cs35l41 enter hibernate function (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Move cs35l41 exit hibernate function into shared code (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Move cs_dsp config struct into shared code (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Move cs35l41 fs errata into shared code (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Move cs35l41_set_cspl_mbox_cmd to shared code (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Support external boost (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Add support for MeteorLake (MTL) (Jaroslav Kysela) [2125544] - treewide: Replace zero-length arrays with flexible-array members (Jaroslav Kysela) [2125544] - ASoC: SOF: add definitions for different IPC types (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: enhance debug messages (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: add sdw blob (Jaroslav Kysela) [2125544] - AsoC: SOF: ipc4-topology: Add dai_get_clk op (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for SSP/DMIC DAI's (Jaroslav Kysela) [2125544] - ASoC: SOF: Add a new IPC op for parsing topology manifest (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: init NHLT for IPC4 (Jaroslav Kysela) [2125544] - ASoC: SOF: Add ops_free (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: set the BE DAI ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-pcm: Expose sof_ipc4_set_pipeline_state() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add the dai_config op (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add route_setup/route_free ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add widget_setup/widget_free ops (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: Add pcm ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add control IO ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add control_setup op (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for parsing mixer widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for parsing and preparing pga widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add prepare op for DAI type widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add prepare op for AIF type widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for parsing DAI_IN/DAI_OUT widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for parsing AIF_IN/AIF_OUT widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: Introduce topology ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Return from dtrace_read if there is no new data available (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Add helper function to update the sdev->host_offset (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Introduce SOF_DTRACE_INITIALIZING state (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4: implement pm ctx_save callback (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Switch to use the generic pm_ops.set_core_state (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4: Add set_core_state pm_ops implementation (Jaroslav Kysela) [2125544] - ASoC: SOF: Add initial header file for ipc4 (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Add set_core_state pm_ops implementation (Jaroslav Kysela) [2125544] - ASoC: SOF: sof_ipc_pm_ops: Add support for DSP core power management (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195 suspend check dsp idle (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195 modify dram type as non-cache (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add shared_size for mediatek common chip information (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: revise mt8195 clock sequence (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: Add SOF pm ops callback for Renoir (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Fix reversed if statement (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Propagate write errors correctly (Jaroslav Kysela) [2125544] - ASoC: SOF: Fix potential NULL pointer dereference (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client-ipc-flood-test: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: remove duplicate include in mt8195.c (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8195 debug dump (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mediatek common debug dump (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Move dtrace related variables local from sof_dev (Jaroslav Kysela) [2125544] - ASoC: SOF: Introduce opaque storage of private data for firmware tracing (Jaroslav Kysela) [2125544] - ASoC: SOF: Modify the host trace_init parameter list to include dmab (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Move host ops wrappers from generic header to private (Jaroslav Kysela) [2125544] - ASoC: SOF: Clone the trace code to ipc3-dtrace as fw_tracing implementation (Jaroslav Kysela) [2125544] - ASoC: SOF: Rename dtrace_is_supported flag to fw_trace_is_supported (Jaroslav Kysela) [2125544] - ASoC: SOF: Introduce IPC independent ops for firmware tracing support (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Cap the rmaining to count in IPC4 mode (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8186 ipc support (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add ipc support for mt8195 (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: HDA: Set up sof_ipc4_fw_data for IPC4 (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: Add FW loader ops (Jaroslav Kysela) [2125544] - ASoC: SOF: Add IPC4 private header (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: HDA: Set IPC4-specific DSP ops for CaVS platforms (Jaroslav Kysela) [2125544] - ASoC: SOF: trace: The dtrace is only available with SOF_IPC (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: IPC flood test can only work with SOF_IPC (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Add support for IPC4 messages (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Separate the message sending (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: Add support IPC4 message sending (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: Add API to get the ipc_type (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client-probes: Query the maximum IPC payload size (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Query the maximum IPC payload size (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: Add API to get the maximum IPC payload size (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4: Add support for mandatory message handling functionality (Jaroslav Kysela) [2125544] - ASoC: SOF: Add rx_data pointer to snd_sof_ipc_msg struct (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Remove the ipc3-ops.h header file (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-pci-dev: fix missing pci_release_regions() on error in sof_pci_probe() (Jaroslav Kysela) [2125544] - ASoC: SOF: loader: Call optional query_fw_configuration on first boot (Jaroslav Kysela) [2125544] - ASoC: SOF: loader: Remove snd_sof_parse_module_memcpy() as it is not used (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195: Do not set the load_module ops (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: bdw/byt/pci-tng: Do not set the load_module ops (Jaroslav Kysela) [2125544] - ASoC: SOF: imx: Do not set the load_module ops (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: renoir: Do not set the load_module ops (Jaroslav Kysela) [2125544] - ASoC: SOF: loader: Switch to use the fw_loader ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Add check for fw_loader ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-loader: Implement firmware parsing and loading (Jaroslav Kysela) [2125544] - ASoC: SOF: Introduce IPC dependent ops for firmware handling, loading (Jaroslav Kysela) [2125544] - ASoC: SOF: Add a prepare op to IPC topology widget ops (Jaroslav Kysela) [2125544] - ASoC: SOF: clarify use of widget complete flag (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: Skip parsing DAI link tokens if not needed (Jaroslav Kysela) [2125544] - ASoC: SOF: pcm: remove unnecessary function declaration (Jaroslav Kysela) [2125544] - ASoC: SOF: Add two new fields to struct snd_sof_widget (Jaroslav Kysela) [2125544] - ASoC: SOF: Add a route_free op in struct sof_ipc_tplg_ops (Jaroslav Kysela) [2125544] - ASoC: SOF: expose a couple of functions (Jaroslav Kysela) [2125544] - ASoC: SOF: pcm: Move the call to snd_sof_pcm_platform_hw_params() (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: Set up widgets from source to sink (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: reset route status before freeing widget (Jaroslav Kysela) [2125544] - ASoC: SOF: Add a new op to set up volume table (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Fix allyesconfig build error (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195 change ipc timeout as 1 second (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client-ipc-msg-injector: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: debug: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: control: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add DSP system PM callback for mt8186 (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8186 dsp clock support (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8186 sof fw loader and dsp ops (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8186 hardware support (Jaroslav Kysela) [2125544] - ASoC: SOF: loader: Remove the old fw_ready related code (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Do not set fw_ready callback (Jaroslav Kysela) [2125544] - ASoC: SOF: imx: Do not set fw_ready callback (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: Do not set fw_ready callback (Jaroslav Kysela) [2125544] - ASoC: SOF: Do not check for the fw_ready callback (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Add local implementation for handling fw_ready message (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: protect hw_params against successive calls (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: add helper for link DMA cleanups (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: reset dma_data and release stream (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: improve suspend case (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: move code to deal with hda dai/dailink suspend (Jaroslav Kysela) [2125544] - ASOC: SOF: Intel: hda-dai: add hda_dai_hw_free_ipc() helper (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: flag errors on pipeline teardown (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: regroup dai and link DMA operations (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: split link DMA and dai operations (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: use snd_soc_dai_get_widget() helper (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: simplify hda_dai_widget_update() prototype (Jaroslav Kysela) [2125544] - ASOC: SOF: Intel: hda-dai: consistent naming for HDA DAI and HDA link DMA (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Add IPC-specific dai ops for IPC3 (Jaroslav Kysela) [2125544] - ASoC: SOF: remove incorrect clearing of prepared flag (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: simplify NHLT handling (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: Check w->sname validity once in sof_connect_dai_widget() (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: remove useless assignment (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: pci-tgl: add RPL-P support (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: pci-tgl: add ADL-PS support (Jaroslav Kysela) [2125544] - ASOC: SOF: pci: add ipc_type override for Intel IPC4 tests (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-pci-dev: don't use the community key on APL Chromebooks (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: Use dedicated MBOX for ACP and PSP communication (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: Add psp_mbox_ready() and psp_send_cmd() callback (Jaroslav Kysela) [2125544] - ASoC: SOF: using pm_runtime_resume_and_get to simplify the code (Jaroslav Kysela) [2125544] - ASoC: SOF: Kconfig: Make SND_SOC_SOF_HDA_PROBES tristate (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: add IP identifier (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: expose some codeloader functions (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Define rom_status_reg in sof_intel_dsp_desc (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: define check_ipc_irq op (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: use BIT() macros for consistency (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: move HDA_CL_STREAM_FORMAT definition to header (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: use common ops across platforms (Jaroslav Kysela) [2125544] - ASoC: SOF: remove const qualifier for 'struct snd_sof_dsp_ops' (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: preserve topology filename override in nocodec mode (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-pci-dev: add parameter to override topology filename (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-pci-dev: add parameter to override firmware filename (Jaroslav Kysela) [2125544] - ASoC: SOF: add IPC-dependent file names (Jaroslav Kysela) [2125544] - ASoC: SOF: add default IPC capability and file paths (Jaroslav Kysela) [2125544] - ASoC: SOF: add path indirection to each IPC type (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Check the bar size before remapping (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Move the ipc_set_get_comp_data() local to ipc3-control (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: Use the widget_kcontrol_setup ops for kcontrol set up (Jaroslav Kysela) [2125544] - ASoC: SOF: Add widget_kcontrol_setup control ops for IPC3 (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Switch over to use the rx_msg ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Switch over to use the tx_msg and set_get_data ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Use the get_reply ops in snd_sof_ipc_get_reply() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Add check for mandatory IPC message handling ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Separate the ops checks by functions/topics (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Implement rx_msg IPC ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Implement the get_reply IPC ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Implement the set_get_data IPC ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Use sof_ipc3_tx_msg() internally for message sending (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Implement the tx_msg IPC ops (Jaroslav Kysela) [2125544] - ASoC: SOF: Add high level IPC IO callback definitions to ipc_ops (Jaroslav Kysela) [2125544] - ASoC: SOF: Add helper function to prepare and send an IPC message (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195 add shutdown callback (Jaroslav Kysela) [2125544] - ASoC: SOF: OF: Add shutdown callback for SOF OF device (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: Avoid open coded arithmetic in memory allocation (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: use new sound control LED layer (Jaroslav Kysela) [2125544] - ASoC: SOF: Remove redundant return statements (Jaroslav Kysela) [2125544] - ASoC: SOF: Remove header from struct snd_sof_ipc_msg (Jaroslav Kysela) [2125544] - ASoC: SOF: Drop 'header' parameter from tx_message() API (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Use msg->reply_data directly in snd_sof_ipc_get_reply() (Jaroslav Kysela) [2125544] - ASoC: SOF: disable dma trace in s0ix (Jaroslav Kysela) [2125544] - ASoC: SOF: extend the interface to stop DMA trace (Jaroslav Kysela) [2125544] - ASoC: SOF: Drop support for mapped control data (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Use ipc->max_payload_size for message/reply size checking (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Add max_payload_size field in struct snd_sof_ipc (Jaroslav Kysela) [2125544] - ASoC: SOF: Remove dmab and dmab_bdl from snd_sof_dev struct (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-loader: Use local snd_dma_buffer (Jaroslav Kysela) [2125544] - ASoC: amd: acp: add missing platform_device_unregister() in acp_pci_probe() (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Fix initialization of ext_intr_stat1 in i2s_irq_handler() (Jaroslav Kysela) [2125544] - ASoC: amd: vangogh: Use non-legacy DAI naming for cs35l41 (Jaroslav Kysela) [2125544] - ASoC: amd: enable RPL Platform acp drivers build (Jaroslav Kysela) [2125544] - ASoC: amd: add RPL Platform pci driver pm-ops (Jaroslav Kysela) [2125544] - ASoC: amd: add RPL Platform init/de-init functions (Jaroslav Kysela) [2125544] - ASoC: amd: add ACP PCI driver for RPL platform (Jaroslav Kysela) [2125544] - ASoC: amd: add RPL Platform acp header file (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add error handling cases (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Modify const resource struct variable to generic (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Drop superfluous mmap callback (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Modify local variables name to generic (Jaroslav Kysela) [2125544] - ASoC: amd: yc: Decrease level of error message (Jaroslav Kysela) [2125544] - ASoC: amd: yc: add new YC platform varaint support (Jaroslav Kysela) [2125544] - ASoC: amd: fix Jadeite kconfig warning and build errors (Jaroslav Kysela) [2125544] - ASoC: amd: Fix error pointer dereference (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add legacy audio driver support for Rembrandt platform (Jaroslav Kysela) [2125544] - ASoC: amd: acp: ACP code generic to support newer platforms (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Remove rt1019_1 codec conf from machine driver (Jaroslav Kysela) [2125544] - ASoC: amd: Remove duplicated include in acp-es8336.c (Jaroslav Kysela) [2125544] - ASoC: amd: fix for variable set but not used warning (Jaroslav Kysela) [2125544] - ASoC: amd: drop machine driver remove function (Jaroslav Kysela) [2125544] - ASoC: amd: remove unused header file inclusion (Jaroslav Kysela) [2125544] - ASoC: amd: acp-es8336: use static variables (Jaroslav Kysela) [2125544] - ASoC: amd: fix ACPI dependency compile errors and warnings (Jaroslav Kysela) [2125544] - ASoC: amd: enable machine driver build for Jadeite platform (Jaroslav Kysela) [2125544] - ASoC: amd: add Machine driver for Jadeite platform (Jaroslav Kysela) [2125544] - ASoC: amd: add I2S MICSP instance support (Jaroslav Kysela) [2125544] - ASoC: amd: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Fix error handling in .remove() (Jaroslav Kysela) [2125544] - ASoC: amd: acp: fix typo in comment (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add support for rt5682s and rt1019 card with hs instance (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add support for nau8825 and max98360 card (Jaroslav Kysela) [2125544] - ASoC: amd: vangogh: Rename set_fmt_new back to set_fmt (Jaroslav Kysela) [2125544] - ASoC: amd: vangogh: Update to use set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Set Speaker enable/disable pin through rt1019 codec driver. (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Set Speaker enable/disable pin through rt1019 codec driver (Jaroslav Kysela) [2125544] - ASoC: amd: vangogh: Remove duplicate include files (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add pm ops callback in machine driver (Jaroslav Kysela) [2125544] - ASoC: soc-utils: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: topology: Drop superfluous check of CONFIG_SND_CTL_VALIDATION (Jaroslav Kysela) [2125544] - ASoC: topology: Rename soc_tplg_init_kcontrol() function (Jaroslav Kysela) [2125544] - ASoC: topology: Correct error message (Jaroslav Kysela) [2125544] - ASoC: topology: Rename SOC_TPLG_PASS_MIXER to _CONTROL (Jaroslav Kysela) [2125544] - ASoC: topology: Return bool instead of int (Jaroslav Kysela) [2125544] - ASoC: topology: Remove unnecessary looping (Jaroslav Kysela) [2125544] - ASoC: topology: Use for loop instead of while (Jaroslav Kysela) [2125544] - ASoC: topology: KUnit: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: topology: KUnit: Followup prototype change of snd_soc_unregister_card() (Jaroslav Kysela) [2125544] - ASoC: DPCM: Don't pick up BE without substream (Jaroslav Kysela) [2125544] - ASoC: soc-pcm: demote warnings on non-atomic BE connection (Jaroslav Kysela) [2125544] - ASoC: soc-pcm: fix BE transition for TRIGGER_START (Jaroslav Kysela) [2125544] - ASoC: soc-pcm: improve BE transition for TRIGGER_START (Jaroslav Kysela) [2125544] - ASoC: soc-pcm: improve BE transition for PAUSE_RELEASE (Jaroslav Kysela) [2125544] - ASoC: ops: Fix integer detection for when max possible values > 1 (Jaroslav Kysela) [2125544] - ASoC: ops: Fix boolean/integer detection for simple controls (Jaroslav Kysela) [2125544] - ASoC: ops: Don't modify the driver's plaform_max when reading state (Jaroslav Kysela) [2125544] - ASoC: ops: Remove unneeded delay.h inclusion (Jaroslav Kysela) [2125544] - ASoC: ops: Clarify snd_soc_info_volsw_sx() (Jaroslav Kysela) [2125544] - ASoC: soc-generic-dmaengine-pcm: Use default config when none is given (Jaroslav Kysela) [2125544] - ASoC: dapm: Move stereo autodisable check (Jaroslav Kysela) [2125544] - ASoC: soc-dai: Remove set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: soc-core.c: share code for snd_soc_of_get_dai_link_cpus/codecs() (Jaroslav Kysela) [2125544] - ASoC: soc-core.c: fixup snd_soc_of_get_dai_link_cpus() (Jaroslav Kysela) [2125544] - ASoC: core: Switch core to new DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: core: Make snd_soc_unregister_card() return void (Jaroslav Kysela) [2125544] - ASoC: core: Always send the CPU DAI a direct clock specifier (Jaroslav Kysela) [2125544] - ASoC: core: Add set_fmt_new callback that directly specifies provider (Jaroslav Kysela) [2125544] - ASoC: core: Pass legacy_dai_naming flag directly (Jaroslav Kysela) [2125544] - ASoC: core: Correct spelling fliped -> flipped (Jaroslav Kysela) [2125544] - ASoC: soc-core: remove always-false path (Jaroslav Kysela) [2125544] - ASoC: Introduce snd_soc_of_get_dai_link_cpus (Jaroslav Kysela) [2125544] - ASoC: soc-component: Update handling to component delays (Jaroslav Kysela) [2125544] - ASoC: Introduce 'fixup_controls' card method (Jaroslav Kysela) [2125544] - ASoC: soc-card: Create jack kcontrol without pins (Jaroslav Kysela) [2125544] - ALSA: Replace acpi_bus_get_device() (Jaroslav Kysela) [2125544] - Revert "ALSA: hda: cs35l41: Allow compilation test on non-ACPI configurations" (Jaroslav Kysela) [2125544] - ALSA: hda: beep: Simplify keep-power-at-enable behavior (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Don't skip notification handling during PM operation (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Limit the maximal count of PCM devices to 8 (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: ELD procfs - print the codec NIDs (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Simplify the pcm_idx condition in hdmi_pcm_setup_pin() (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Fix the converter allocation for the silent stream (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: change type for the 'assigned' variable (Jaroslav Kysela) [2125544] - ALSA: hda: intel-nhlt: Move structs out of #define block (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add a quirk for HP OMEN 16 (8902) mute LED (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Fix the converter reuse for the silent stream (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for ASUS GA503R laptop (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add pincfg for ASUS G533Z HP jack (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add pincfg for ASUS G513 HP jack (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Re-arrange quirk table entries (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5530 laptop (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5570 laptop (Jaroslav Kysela) [2125544] - ALSA: hda: Fix Nvidia dp infoframe (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Huawei WRT-WX9 (Jaroslav Kysela) [2125544] - ALSA: hda/tegra: set depop delay for tegra (Jaroslav Kysela) [2125544] - ALSA: hda: add Intel 5 Series / 3400 PCI DID (Jaroslav Kysela) [2125544] - ALSA: hda: Fix hang at HD-audio codec unbinding due to refcount saturation (Jaroslav Kysela) [2125544] - ALSA: emu10k1: Fix out of bounds access in snd_emu10k1_pcm_channel_alloc() (Jaroslav Kysela) [2125544] - ALSA: hda/tegra: Align BDL entry to 4KB boundary (Jaroslav Kysela) [2125544] - ALSA: hda/sigmatel: Fix unused variable warning for beep power change (Jaroslav Kysela) [2125544] - ALSA: hda/sigmatel: Keep power up while beep is enabled (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add speaker AMP init for Samsung laptops with ALC298 (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Clevo NS50PU, NS70PU (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Support new Dolphin Variants (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Lenovo Yoga7 14IAL7 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Clarify support for CSC3551 without _DSD Properties (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirks for ASUS Zenbooks using CS35L41 (Jaroslav Kysela) [2125544] - ALSA: hda: Fix crash due to jack poll in suspend (Jaroslav Kysela) [2125544] - ALSA: hda/cirrus - support for iMac 12,1 model (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add a quirk for HP OMEN 15 (8786) mute LED (Jaroslav Kysela) [2125544] - ALSA: hda/conexant: Add quirk for LENOVO 20149 Notebook model (Jaroslav Kysela) [2125544] - ALSA: ice1712: remove redundant assignment to new (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for another Asus K42JZ model (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for HP Spectre x360 15-eb0xxx (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Clevo NV45PZ (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Lenovo Yoga9 14IAP7 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support CLSA0101 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Use the CS35L41 HDA internal define (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Enable speaker and mute LEDs for HP laptops (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Fix build error unused-function (Jaroslav Kysela) [2125544] - ALSA: asihpi: fix repeated words in comments (Jaroslav Kysela) [2125544] - ALSA: asihpi: Fix typo in comments (Jaroslav Kysela) [2125544] - ALSA: emu10k1: Fix typo in comments (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add module parameter to control firmware load (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support Firmware switching and reloading (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add defaulted values into dsp bypass config sequence (Jaroslav Kysela) [2125544] - ALSA: hda: hda_cs_dsp_ctl: Add fw id strings (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Read Speaker Calibration data from UEFI variables (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support Hibernation during Suspend (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support Speaker ID for laptops (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support multiple load paths for firmware (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support reading subsystem id from ACPI (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Save Subsystem ID inside CS35L41 Driver (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add initial DSP support and firmware loading (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Save codec object inside component struct (Jaroslav Kysela) [2125544] - ALSA: hda: hda_cs_dsp_ctl: Add apis to write the controls directly (Jaroslav Kysela) [2125544] - ALSA: hda: hda_cs_dsp_ctl: Add Library to support CS_DSP ALSA controls (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Consolidate selections under SND_HDA_SCODEC_CS35L41 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Drop wrong use of ACPI_PTR() (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Allow compilation test on non-ACPI configurations (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Don't dereference fwnode handle (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Improve dev_err_probe() messaging (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Fix comments wrt serial-multi-instantiate reference (Jaroslav Kysela) [2125544] - ALSA: hda: Fix put_device() inconsistency in error path (Jaroslav Kysela) [2125544] - ALSA: hda: Make device usage_count consistent across subsequent probing (Jaroslav Kysela) [2125544] - ALSA: hda: Fix null-ptr-deref when i915 fails and hdmi is denylisted (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: change cs8409_fixups v.pins initializers to static (Jaroslav Kysela) [2125544] - ASoC: doc: Update dead links (Jaroslav Kysela) [2125544] - ALSA: hda/via: Delete does not require return (Jaroslav Kysela) [2125544] - ALSA: ctxfi: fix typo in comment (Jaroslav Kysela) [2125544] - ALSA: cs5535audio: fix typo in comment (Jaroslav Kysela) [2125544] - ALSA: lola: Bounds check loop iterator against streams array size (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add Amp Name based on channel and index (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Enable GPIO2 Interrupt for CLSA0100 laptops (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add Support for Interrupts (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Remove Set Channel Map api from binding (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Set Speaker Position for CLSA0100 Laptop (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Fix error in spi cs35l41 hda driver name (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Add Speaker Playback Switch for Warlock (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Add Speaker Playback Switch for Cyborg (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Support new Odin Variants (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Support manual mode detection for CS42L42 (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Use general cs42l42 include in cs8409 hda driver (Jaroslav Kysela) [2125544] - ALSA: hdsp: remove redundant assignment to pointer kctl (Jaroslav Kysela) [2125544] - ALSA: hda/conexant: add a new hda codec SN6140 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Move external boost handling to lib for ASoC use (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Handle all external boost setups the same way (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Reorganize log for playback actions (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Remove cs35l41_hda_reg_sequence struct (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Move boost config to initialization code (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Mute the device before shutdown (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Put the device into safe mode for external boost (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add Boost type flag (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Always configure the DAI (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Fix I2S params comments (Jaroslav Kysela) [2125544] - ALSA: cs35l41: Move cs35l41_gpio_config to shared lib (Jaroslav Kysela) [2125544] - ALSA: cs35l41: Check hw_config before using it (Jaroslav Kysela) [2125544] - ALSA: cs35l41: Unify hardware configuration (Jaroslav Kysela) [2125544] - ALSA: hda/tegra: Enable Jack poll for tegra (Jaroslav Kysela) [2125544] - ALSA: hda: Jack detection poll in suspend state (Jaroslav Kysela) [2125544] - ALSA: echoaudio: remove redundant assignment to variable i (Jaroslav Kysela) [2125544] - ALSA: emu10k1: Stop using iommu_present() (Jaroslav Kysela) [2125544] - ALSA: hda: intel-dsp-config: add missing RaptorLake PCI IDs (Jaroslav Kysela) [2125544] - ALSA: hda: intel-nhlt: Correct the handling of fmt_config flexible array (Jaroslav Kysela) [2125544] - ALSA: hda: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: hda: Remove unused macro definition (Jaroslav Kysela) [2125544] - ALSA: hda: Reset all SIE bits in INTCTL (Jaroslav Kysela) [2125544] - tracing: ALSA: hda: Remove string manipulation out of the fast path (Jaroslav Kysela) [2125544] - ALSA: hda: intel-nhlt: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ALSA: hda: intel-dspcfg: use SOF for UpExtreme and UpExtreme11 boards (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Properly refcounting clock rate (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Clear fixed clock rate at closing EP (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Fix an out-of-bounds bug in __snd_usb_parse_audio_interface() (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Register card again for iface over delayed_register option (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Inform the delayed registration more properly (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Add quirk for LH Labs Geek Out HD Audio 1V5 (Jaroslav Kysela) [2125544] - ALSA: usb-audio: make read-only array marker static const (Jaroslav Kysela) [2125544] - ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II (Jaroslav Kysela) [2125544] - ALSA: scarlett2: Add Focusrite Clarett+ 8Pre support (Jaroslav Kysela) [2125544] - ALSA: line6: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: hiface: fix repeated words in comments (Jaroslav Kysela) [2125544] - ALSA: usb/6fire: fix repeated words in comments (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Add quirk for Behringer UMC202HD (Jaroslav Kysela) [2125544] - ALSA: bcd2000: Fix a UAF bug on the error path of probing (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Use atomic_try_cmpxchg in ep_state_update (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Add endianness annotations (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Turn off 'manual mode' on Dell dock (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Support jack detection on Dell dock (Jaroslav Kysela) [2125544] - ALSA: usb-audio: US16x08: Move overflow check before array access (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Cancel pending work at closing a MIDI substream (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Add mixer mapping for Gigabyte B450/550 Mobos (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Fix wrong kfree issue in snd_usb_endpoint_free_all (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Refcount multiple accesses on the single clock (Jaroslav Kysela) [2125544] - mfd: arizona-spi: Add Android board ACPI table handling (Jaroslav Kysela) [2125544] - mfd: arizona-spi: Split Windows ACPI init code into its own function (Jaroslav Kysela) [2125544] - mfd: arizona: Add missing statics to the of_match_tables (Jaroslav Kysela) [2125544] - firmware: cs_dsp: Add memory chunk helpers (Jaroslav Kysela) [2125544] - firmware: cs_dsp: Add pre_stop callback (Jaroslav Kysela) [2125544] - regmap: sdw: add required header files (Jaroslav Kysela) [2125544] - regmap: soundwire: remove unused header mod_devicetable.h (Jaroslav Kysela) [2125544] - regmap: Constify static regmap_bus structs (Jaroslav Kysela) [2125544] - soundwire: peripheral: remove useless ops pointer (Jaroslav Kysela) [2125544] - soundwire: intel: use pm_runtime_resume() on component probe (Jaroslav Kysela) [2125544] - soundwire: qcom: fix device status array range (Jaroslav Kysela) [2125544] - soundwire: qcom: remove duplicate reset control get (Jaroslav Kysela) [2125544] - soundwire: Intel: add trigger callback (Jaroslav Kysela) [2125544] - soundwire: qcom: Enable software clock gating requirement flag (Jaroslav Kysela) [2125544] - soundwire: qcom: Check device status before reading devid (Jaroslav Kysela) [2125544] - soundwire: qcom: Add flag for software clock gating check (Jaroslav Kysela) [2125544] - soundwire: revisit driver bind/unbind and callbacks (Jaroslav Kysela) [2125544] - soundwire: bus_type: fix remove and shutdown support (Jaroslav Kysela) [2125544] - soundwire: intel: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: qcom: soundwire: Add support for controlling audio CGCR from HLOS (Jaroslav Kysela) [2125544] - soundwire: qcom: adjust autoenumeration timeout (Jaroslav Kysela) [2125544] - soundwire: qcom: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - soundwire: intel: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - soundwire: cadence: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - soundwire: bus: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - soundwire: qcom: return error when pm_runtime_get_sync fails (Jaroslav Kysela) [2125544] - soundwire: bus: pm_runtime_request_resume on peripheral attachment (Jaroslav Kysela) [2125544] - soundwire: intel: disable WAKEEN in pm_runtime resume (Jaroslav Kysela) [2125544] - soundwire: cadence: recheck device0 attachment after status change (Jaroslav Kysela) [2125544] - soundwire: qcom: Add compatible name for v1.6.0 (Jaroslav Kysela) [2125544] - soundwire: stream: Fix error return code in do_bank_switch() (Jaroslav Kysela) [2125544] - soundwire: qcom: fix an error message in swrm_wait_for_frame_gen_enabled() (Jaroslav Kysela) [2125544] - soundwire: qcom: use __maybe_unused for swrm_runtime_resume() (Jaroslav Kysela) [2125544] - soundwire: qcom: constify static struct qcom_swrm_data global variables (Jaroslav Kysela) [2125544] - soundwire: qcom: add in-band wake up interrupt support (Jaroslav Kysela) [2125544] - soundwire: qcom: add runtime pm support (Jaroslav Kysela) [2125544] - soundwire: Replace acpi_bus_get_device() (Jaroslav Kysela) [2125544] - ALSA: Add snd_pcm_direction_name() helper (Jaroslav Kysela) [2125544] - ALSA: core: Fix double-free at snd_card_new() (Jaroslav Kysela) [2125544] - ALSA: hda: Once again fix regression of page allocations with IOMMU (Jaroslav Kysela) [2125544] - ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC (Jaroslav Kysela) [2125544] - ALSA: control: Re-order bounds checking in get_ctl_id_hash() (Jaroslav Kysela) [2125544] - ALSA: control: Fix an out-of-bounds bug in get_ctl_id_hash() (Jaroslav Kysela) [2125544] - ALSA: seq: Fix data-race at module auto-loading (Jaroslav Kysela) [2125544] - ALSA: seq: oss: Fix data-race for max_midi_devs access (Jaroslav Kysela) [2125544] - ALSA: memalloc: Revive x86-specific WC page allocations again (Jaroslav Kysela) [2125544] - ALSA: info: Fix llseek return value when using callback (Jaroslav Kysela) [2125544] - ALSA: pcm: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: core: Replace scnprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: control-led: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: control: Use deferred fasync helper (Jaroslav Kysela) [2125544] - ALSA: pcm: Use deferred fasync helper (Jaroslav Kysela) [2125544] - ALSA: timer: Use deferred fasync helper (Jaroslav Kysela) [2125544] - ALSA: core: Add async signal helpers (Jaroslav Kysela) [2125544] - ALSA: core: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: memalloc: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: control: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: compress: Fix kernel doc warnings (Jaroslav Kysela) [2125544] - ALSA: dmaengine: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: pcm: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: compress: Enable kernel doc markers for some functions (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Take buffer refcount while draining output (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Check stream state at exported functions (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Take open_mutex around parameter changes (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Move lock to snd_rawmidi_substream (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Make internal functions local static (Jaroslav Kysela) [2125544] - ALSA: control: Add input validation (Jaroslav Kysela) [2125544] - ALSA: control: Drop superfluous ifdef CONFIG_SND_CTL_DEBUG (Jaroslav Kysela) [2125544] - ALSA: control: Rename CONFIG_SND_CTL_VALIDATION to CONFIG_SND_CTL_DEBUG (Jaroslav Kysela) [2125544] - ALSA: control: Use xarray for faster lookups (Jaroslav Kysela) [2125544] - ALSA: seq: replace ternary operator with max() (Jaroslav Kysela) [2125544] - ALSA: pcm: use DEVICE_ATTR_RO macro (Jaroslav Kysela) [2125544] - pinctrl: amd: Don't save/restore interrupt status and wake status bits (Prarit Bhargava) [2130059] - x86/paravirt: Add a dummy __x86_paravirt_patch_template() function (Waiman Long) [2144161] - x86/paravirt: Fix kABI breakage in struct pv_mmu_ops (Waiman Long) [2144161]- can: af_can: fix NULL pointer dereference in can_rx_register() (Ivan Vecera) [2136823] - net: disable preemption in dev_core_stats_XXX_inc() helpers (Ivan Vecera) [2136823] - net: introduce CAN specific pointer in the struct net_device (Ivan Vecera) [2136823] - can: af_can: can_pernet_exit(): no need to iterate over and cleanup registered CAN devices (Ivan Vecera) [2136823] - net: add per-cpu storage and net->core_stats (Ivan Vecera) [2136823] - tun: switch to net core provided statistics counters (Ivan Vecera) [2136823] - tun: switch to u64_stats_t (Ivan Vecera) [2136823] - ceph: avoid putting the realm twice when decoding snaps fails (Xiubo Li) [2139881] - powerpc/64/kdump: Limit kdump base to 512MB (Mamatha Inamdar) [2132921] - ice: virtchnl rss hena support (Petr Oros) [2136516] - Documentation/admin-guide: Document nomodeset kernel parameter (Jocelyn Falempe) [2143952] - drm: Move nomodeset kernel parameter to the DRM subsystem (Jocelyn Falempe) [2143952] - usb: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - sound: usb: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - usb: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - net: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - media: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - Input: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - HID: usbhid: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - usb: deprecate the third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - scsi: smartpqi: Change version to 2.1.20-035 (Don Brace) [2116976] - scsi: smartpqi: Initialize feature section info (Don Brace) [2116976] - scsi: smartpqi: Add controller cache flush during rmmod (Don Brace) [2116976] - scsi: smartpqi: Correct device removal for multi-actuator devices (Don Brace) [2116976] - scsi: smartpqi: Change sysfs raid_level attribute to N/A for controllers (Don Brace) [2116976] - scsi: smartpqi: Correct max LUN number (Don Brace) [2116976] - scsi: smartpqi: Add new controller PCI IDs (Don Brace) [2116976] - scsi: smartpqi: Convert to host_tagset (Don Brace) [2116976] - scsi: smartpqi: Stop using the SCSI pointer (Don Brace) [2116976] - smartpqi: Change request pointer to scsi_cmd_to_rq (Don Brace) [2116976] - scsi: smartpqi: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Don Brace) [2116976] - EDAC/skx_common: Make output format similar (Aristeu Rozanski) [2124915] - EDAC/skx_common: Use driver decoder first (Aristeu Rozanski) [2124915] - ptp: introduce helpers to adjust by scaled parts per million (Izabela Bakollari) [2141639] - ptp: add missing documentation for parameters (Izabela Bakollari) [2141639] - mm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context. (Nico Pache) [2144559] - scsi: target: loop: Fix handling of aborted TMRs (Maurizio Lombardi) [2141713] - ceph: fix NULL pointer dereference for req->r_session (Xiubo Li) [2137955] - ceph: Use kcalloc for allocating multiple elements (Xiubo Li) [2137955] - net/mlx5e: TC, Reject forwarding from internal port to internal port (Mohammad Kabat) [2131345] - md/raid1: stop mdx_raid1 thread when raid1 array run failed (Nigel Croxon) [2143270] - md: fix a crash in mempool_free (Nigel Croxon) [2143257] - md/raid0, raid10: Don't set discard sectors for request queue (Nigel Croxon) [2143250] - sgx: use ->f_mapping... (Vladis Dronov) [2130210] - x86/sgx: Improve comments for sgx_encl_lookup/alloc_backing() (Vladis Dronov) [2130210] - x86/sgx: Handle VA page allocation failure for EAUG on PF. (Vladis Dronov) [2130210] - x86/sgx: Do not fail on incomplete sanitization on premature stop of ksgxd (Vladis Dronov) [2130210] - selftests/sgx: Ignore OpenSSL 3.0 deprecated functions warning (Vladis Dronov) [2130210] - x86/sgx: Set active memcg prior to shmem allocation (Vladis Dronov) [2130210] - x86/sgx: Drop 'page_index' from sgx_backing (Vladis Dronov) [2130210] - selftests/sgx: Page removal stress test (Vladis Dronov) [2130210] - selftests/sgx: Test reclaiming of untouched page (Vladis Dronov) [2130210] - selftests/sgx: Test invalid access to removed enclave page (Vladis Dronov) [2130210] - selftests/sgx: Test faulty enclave behavior (Vladis Dronov) [2130210] - selftests/sgx: Test complete changing of page type flow (Vladis Dronov) [2130210] - selftests/sgx: Introduce TCS initialization enclave operation (Vladis Dronov) [2130210] - selftests/sgx: Introduce dynamic entry point (Vladis Dronov) [2130210] - selftests/sgx: Test two different SGX2 EAUG flows (Vladis Dronov) [2130210] - selftests/sgx: Add test for TCS page permission changes (Vladis Dronov) [2130210] - selftests/sgx: Add test for EPCM permission changes (Vladis Dronov) [2130210] - Documentation/x86: Introduce enclave runtime management section (Vladis Dronov) [2130210] - x86/sgx: Free up EPC pages directly to support large page ranges (Vladis Dronov) [2130210] - x86/sgx: Support complete page removal (Vladis Dronov) [2130210] - x86/sgx: Support modifying SGX page type (Vladis Dronov) [2130210] - x86/sgx: Tighten accessible memory range after enclave initialization (Vladis Dronov) [2130210] - x86/sgx: Support adding of pages to an initialized enclave (Vladis Dronov) [2130210] - x86/sgx: Support restricting of enclave page permissions (Vladis Dronov) [2130210] - x86/sgx: Support VA page allocation without reclaiming (Vladis Dronov) [2130210] - x86/sgx: Export sgx_encl_page_alloc() (Vladis Dronov) [2130210] - x86/sgx: Export sgx_encl_{grow,shrink}() (Vladis Dronov) [2130210] - x86/sgx: Keep record of SGX page type (Vladis Dronov) [2130210] - x86/sgx: Create utility to validate user provided offset and length (Vladis Dronov) [2130210] - x86/sgx: Make sgx_ipi_cb() available internally (Vladis Dronov) [2130210] - x86/sgx: Move PTE zap code to new sgx_zap_enclave_ptes() (Vladis Dronov) [2130210] - x86/sgx: Rename sgx_encl_ewb_cpumask() as sgx_encl_cpumask() (Vladis Dronov) [2130210] - x86/sgx: Export sgx_encl_ewb_cpumask() (Vladis Dronov) [2130210] - x86/sgx: Support loading enclave page without VMA permissions check (Vladis Dronov) [2130210] - x86/sgx: Add wrapper for SGX2 EAUG function (Vladis Dronov) [2130210] - x86/sgx: Add wrapper for SGX2 EMODT function (Vladis Dronov) [2130210] - x86/sgx: Add wrapper for SGX2 EMODPR function (Vladis Dronov) [2130210] - x86/sgx: Add short descriptions to ENCLS wrappers (Vladis Dronov) [2130210] - x86/sgx: Ensure no data in PCMD page after truncate (Vladis Dronov) [2130210] - x86/sgx: Fix race between reclaimer and page fault handler (Vladis Dronov) [2130210] - x86/sgx: Obtain backing storage page with enclave mutex held (Vladis Dronov) [2130210] - x86/sgx: Mark PCMD page as dirty when modifying contents (Vladis Dronov) [2130210] - x86/sgx: Disconnect backing page references from dirty status (Vladis Dronov) [2130210] - HID: intel-ish-hid: ipc: Add Meteor Lake PCI device ID (Tony Camuso) [2132441] - hid: intel-ish-hid: ishtp: Fix ishtp client sending disordered message (Tony Camuso) [2132441] - HID: ishtp-hid-clientHID: ishtp-hid-client: Fix comment typo (Tony Camuso) [2132441] - ID: intel-ish-hid: hid-client: drop unexpected word "the" in the comments (Tony Camuso) [2132441] - HID: intel-ish-hid: ipc: use time_before to replace "jiffies < a" (Tony Camuso) [2132441] - HID: intel-ish-hid: ipc: add ADL and RPL device id (Tony Camuso) [2132441] - HID: intel-ish-hid: Use dma_alloc_coherent for firmware update (Tony Camuso) [2132441] - HID: intel-ish-hid: ishtp-fw-loader: Fix a kernel-doc formatting issue (Tony Camuso) [2132441] - HID: intel-ish-hid: ipc: Specify no cache snooping on TGL and ADL (Tony Camuso) [2132441] - HID: intel-ish-hid: ipc: only enable IRQ wakeup when requested (Tony Camuso) [2132441] - HID: intel-ish-hid: fix module device-id handling (Tony Camuso) [2132441] - HID: intel-ish-hid: hid-client: only load for matching devices (Tony Camuso) [2132441] - HID: intel-ish-hid: fw-loader: only load for matching devices (Tony Camuso) [2132441] - HID: intel-ish-hid: use constants for modaliases (Tony Camuso) [2132441] - s390/pci: add missing EX_TABLE entries to __pcistg_mio_inuser()/__pcilg_mio_inuser() (Tobias Huschle) [2141963] - s390/futex: add missing EX_TABLE entry to __futex_atomic_op() (Tobias Huschle) [2141963] - s390/uaccess: add missing EX_TABLE entries to __clear_user() (Tobias Huschle) [2141963] - net: usb: ax88179_178a: Fix packet receiving (Jose Ignacio Tornos Martinez) [2142725] {CVE-2022-2964} - net: usb: ax88179_178a: Fix out-of-bounds accesses in RX fixup (Jose Ignacio Tornos Martinez) [2142725] {CVE-2022-2964} - drm/i915/rpl-p: Add PCI IDs (Jocelyn Falempe) [2115880] - Revert "dma-buf: remove useless FMODE_LSEEK flag" (Jocelyn Falempe) [2115880] - drm/amd/display: Increase stack frame size limit for a few files. (Jocelyn Falempe) [2115880] - drm_crtc.h is missing include/linux/slab.h (Jocelyn Falempe) [2115880] - drm/amd/display: remove a duplicated declaration (Jocelyn Falempe) [2115880] - Revert "mm: shrinkers: provide shrinkers with names" (Jocelyn Falempe) [2115880] - Revert "drm/amdkfd: add SPM support for SVM" (Jocelyn Falempe) [2115880] - Merge DRM changes from upstream v5.19..v6.0 (Jocelyn Falempe) [2115880] - drm/i915/gvt: IMPORT_MODULE_NS workaround (Jocelyn Falempe) [2115880] - Replace EXPORT_SYMBOL_NS_GPL with EXPORT_SYMBOL_GPL (Jocelyn Falempe) [2115880] - Revert "vfio/gvt: Fix open/close when multiple device FDs are open" (Michel Dänzer) [2115880] - Revert "vfio/mdev: Pass in a struct vfio_device * to vfio_dma_rw()" (Jocelyn Falempe) [2115880] - Revert "drm/i915/gvt: convert to use vfio_register_emulated_iommu_dev" (Jocelyn Falempe) [2115880] - Revert "drm/i915/gvt: merge gvt.c into kvmgvt.c" (Jocelyn Falempe) [2115880] - Revert "vfio/mdev: Remove mdev_parent_ops" (Jocelyn Falempe) [2115880] - Revert "vfio: Make vfio_(un)register_notifier accept a vfio_device" (Jocelyn Falempe) [2115880] - Revert "drm/i915/gvt: Change from vfio_group_(un)pin_pages to vfio_(un)pin_pages" (Jocelyn Falempe) [2115880] - Revert "vfio: remove VFIO_GROUP_NOTIFY_SET_KVM" (Jocelyn Falempe) [2115880] - Revert "i915: Call aops write_begin() and write_end() directly" (Jocelyn Falempe) [2115880] - Merge DRM changes from upstream v5.18..v5.19 (Jocelyn Falempe) [2115880] - crypto: testmgr - disallow plain cbcmac(aes) and ghash in FIPS mode (Vladis Dronov) [2107595] - crypto: set the required FIPS_INTERNAL flag for gcm and ccm (Vladis Dronov) [2107595] - crypto: seqiv - flag instantiations as FIPS compliant (Vladis Dronov) [2107595] - crypto: xts - restrict key lengths to approved values in FIPS mode (Vladis Dronov) [2107595] - crypto: api - allow algs only in specific constructions in FIPS mode (Vladis Dronov) [2107595] - crypto: api - check for ERR pointers in crypto_destroy_tfm() (Vladis Dronov) [2107595] - crypto: api - Fix use-after-free and race in crypto_spawn_alg (Vladis Dronov) [2107595] - crypto: algapi - Avoid spurious modprobe on LOADED (Vladis Dronov) [2107595] - crypto: api - Retain alg refcount in crypto_grab_spawn (Vladis Dronov) [2107595] - crypto: api - Do not zap spawn->alg (Vladis Dronov) [2107595] - crypto: api - Fix race condition in crypto_spawn_alg (Vladis Dronov) [2107595] - crypto: api - Check spawn->alg under lock in crypto_drop_spawn (Vladis Dronov) [2107595] - crypto: algapi - reject NULL crypto_spawn::inst (Vladis Dronov) [2107595] - iavf: remove INITIAL_MAC_SET to allow gARP to work properly (Stefan Assmann) [1938635] - mm, slab: remove duplicate kernel-doc comment for ksize() (Michal Schmidt) [2143367] - slab: Introduce kmalloc_size_roundup() (Michal Schmidt) [2143367] - thermal: int340x: Mode setting with new OS handshake (Prarit Bhargava) [2072652] - thermal: int340x: Update OS policy capability handshake (Prarit Bhargava) [2072652] - hugetlb: remove unnecessary set_page_count in prep_compound_gigantic_page (Chris von Recklinghausen) [2143631] - mm/hugetlb: clear compound_nr before freeing gigantic pages (Chris von Recklinghausen) [2143631] - uprobes: __replace_page() avoid BUG in munlock_vma_page() (Chris von Recklinghausen) [2143631] - s390/boot: add secure boot trailer (Tobias Huschle) [2141967] - ice: Fix configuring VIRTCHNL_OP_CONFIG_VSI_QUEUES with unbalanced queues (Michal Schmidt) [2137378] - nvme: wait until quiesce is done (Ming Lei) [2144258] - scsi: make sure that request queue queiesce and unquiesce balanced (Ming Lei) [2144258] - scsi: avoid to quiesce sdev->request_queue two times (Ming Lei) [2144258] - dm: don't stop request queue after the dm device is suspended (Ming Lei) [2144258]- ata: libata-core: Print timeout value when internal command times (Ewan D. Milne) [1823688] - ata: libata-core: fix sloppy parameter type in ata_exec_internal[_sg]() (Ewan D. Milne) [1823688] - ata: libata-core: make ata_exec_internal_sg() *static* (Ewan D. Milne) [1823688] - perf/x86/intel: Fix unchecked MSR access error for Alder Lake N (Michael Petlan) [2104807] - perf/x86/intel: Fix PEBS data source encoding for ADL (Michael Petlan) [2104807] - perf/x86/intel: Fix PEBS memory access info encoding for ADL (Michael Petlan) [2104807] - i40e: Fix DMA mappings leak (Ivan Vecera) [2077847] - fbcon: Fix delayed takeover locking (Jocelyn Falempe) [2134795] - fbcon: use min() to make code cleaner (Jocelyn Falempe) [2134795] - fbcon: Use array3_size() helper in scr_memcpyw() (Jocelyn Falempe) [2134795] - fbcon: Maintain a private array of fb_info (Jocelyn Falempe) [2134795] - fbcon: untangle fbcon_exit (Jocelyn Falempe) [2134795] - fbcon: Move more code into fbcon_release (Jocelyn Falempe) [2134795] - fbcon: Move console_lock for register/unlink/unregister (Jocelyn Falempe) [2134795] - fbcon: Consistently protect deferred_takeover with console_lock() (Jocelyn Falempe) [2134795] - fbcon: use lock_fb_info in fbcon_open/release (Jocelyn Falempe) [2134795] - fbcon: move more common code into fb_open() (Jocelyn Falempe) [2134795] - fbcon: Ditch error handling for con2fb_release_oldinfo (Jocelyn Falempe) [2134795] - fbcon: Extract fbcon_open/release helpers (Jocelyn Falempe) [2134795] - fb: Delete fb_info->queue (Jocelyn Falempe) [2134795] - fbcon: Replace FBCON_FLAGS_INIT with a boolean (Jocelyn Falempe) [2134795] - fbcon: Use delayed work for cursor (Jocelyn Falempe) [2134795] - fbdev/sysfs: Fix locking (Jocelyn Falempe) [2134795] - fbcon: delete delayed loading code (Jocelyn Falempe) [2134795] - fbcon: Introduce wrapper for console->fb_info lookup (Jocelyn Falempe) [2134795] - fbcon: Move fbcon_bmove(_rec) functions (Jocelyn Falempe) [2134795] - fbcon: delete a few unneeded forward decl (Jocelyn Falempe) [2134795] - fbcon: Avoid 'cap' set but not used warning (Jocelyn Falempe) [2134795] - video: fbcon: Fix warnings by using pr_debug() in fbcon (Jocelyn Falempe) [2134795] - fbcon: Fix user font detection test at fbcon_resize(). (Jocelyn Falempe) [2134795] - fbcon: remove now unusued 'softback_lines' cursor() argument (Jocelyn Falempe) [2134795] - fbcon: remove soft scrollback code (Jocelyn Falempe) [2134795] - fbcon: prevent user font height or width change from causing potential out-of-bounds access (Jocelyn Falempe) [2134795] - fbmem: pull fbcon_update_vcs() out of fb_set_var() (Jocelyn Falempe) [2134795] - fbcon: fix null-ptr-deref in fbcon_switch (Jocelyn Falempe) [2134795] - fbcon: Adjust indentation in set_con2fb_map (Jocelyn Falempe) [2134795] - fbdev: Unexport unlink_framebuffer() (Jocelyn Falempe) [2134795] - backlight: drop EARLY_EVENT_BLANK support (Jocelyn Falempe) [2134795] - fbcon: Export fbcon_update_vcs (Jocelyn Falempe) [2134795] - backlight: simplify lcd notifier (Jocelyn Falempe) [2134795] - fbcon: Document what I learned about fbcon locking (Jocelyn Falempe) [2134795] - fbcon: Call con2fb_map functions directly (Jocelyn Falempe) [2134795] - fbcon: replace FB_EVENT_MODE_CHANGE/_ALL with direct calls (Jocelyn Falempe) [2134795] - fb: Flatten control flow in fb_set_var (Jocelyn Falempe) [2134795] - fbdev: remove FBINFO_MISC_USEREVENT around fb_blank (Jocelyn Falempe) [2134795] - fbmem: pull fbcon_fb_blanked out of fb_blank (Jocelyn Falempe) [2134795] - Revert "backlight/fbcon: Add FB_EVENT_CONBLANK" (Jocelyn Falempe) [2134795] - fbdev: Call fbcon_get_requirement directly (Jocelyn Falempe) [2134795] - fbcon: Call fbcon_mode_deleted/new_modelist directly (Jocelyn Falempe) [2134795] - fbdev: directly call fbcon_suspended/resumed (Jocelyn Falempe) [2134795] - fbdev: unify unlink_framebuffer paths (Jocelyn Falempe) [2134795] - fbdev: make unregister/unlink functions not fail (Jocelyn Falempe) [2134795] - fbcon: call fbcon_fb_bind directly (Jocelyn Falempe) [2134795] - fbcon: call fbcon_fb_(un)registered directly (Jocelyn Falempe) [2134795] - fbdev: fbmem: fix memory access if logo is bigger than the screen (Jocelyn Falempe) [2134795] - fbdev: add kerneldoc do remove_conflicting_framebuffers() (Jocelyn Falempe) [2134795] - fbdev: allow apertures == NULL in remove_conflicting_framebuffers() (Jocelyn Falempe) [2134795] - fbdev: show fbdev number for debugging (Jocelyn Falempe) [2134795] - fbcon: use kvmalloc() for scrollback buffer (Jocelyn Falempe) [2134795] - fbdev: fbcon: Fix unregister crash when more than one framebuffer (Jocelyn Falempe) [2134795] - fb: fix lost console when the user unplugs a USB adapter (Jocelyn Falempe) [2134795] - fbcon: introduce for_each_registered_fb() helper (Jocelyn Falempe) [2134795] - timers/nohz: Last resort update jiffies on nohz_full IRQ entry (Waiman Long) [2108387] - irq: Call tick_irq_enter() inside HARDIRQ_OFFSET (Waiman Long) [2108387] - irqtime: Move irqtime entry accounting after irq offset incrementation (Waiman Long) [2108387] - sched/vtime: Consolidate IRQ time accounting (Waiman Long) [2108387] - s390/vtime: Use the generic IRQ entry accounting (Waiman Long) [2108387] - sched/cputime: Remove symbol exports from IRQ time accounting (Waiman Long) [2108387] - genirq/irqdomain: Don't try to free an interrupt that has no mapping (Waiman Long) [2108387] - genirq: Provide __irq_enter/exit_raw() (Waiman Long) [2108387] - powerpc/time: Only set CONFIG_ARCH_HAS_SCALED_CPUTIME on PPC64 (Waiman Long) [2108387] - powerpc/time: isolate scaled cputime accounting in dedicated functions. (Waiman Long) [2108387] - perf: Fix list corruption in perf_cgroup_switch() (Aaron Tomlin) [2136548] - gen_compile_commands: fix issues in RHEL-8 (Íñigo Huguet) [2136840] - .gitignore: Add compilation database file (Íñigo Huguet) [2136840] - gen_compile_commands: fix missing 'sys' package (Íñigo Huguet) [2136840] - gen_compile_commands: extract compiler command from a series of commands (Íñigo Huguet) [2136840] - gen_compile_commands: prune some directories (Íñigo Huguet) [2136840] - scripts/clang-tools: switch explicitly to Python 3 (Íñigo Huguet) [2136840] - Makefile: Add clang-tidy and static analyzer support to makefile (Íñigo Huguet) [2136840] - kbuild: wire up the build rule of compile_commands.json to Makefile (Íñigo Huguet) [2136840] - gen_compile_commands: remove the warning about too few .cmd files (Íñigo Huguet) [2136840] - gen_compile_commands: support *.o, *.a, modules.order in positional argument (Íñigo Huguet) [2136840] - gen_compile_commands: move directory walk to a generator function (Íñigo Huguet) [2136840] - gen_compile_commands: make -o option independent of -d option (Íñigo Huguet) [2136840] - gen_compile_commands: reword the help message of -d option (Íñigo Huguet) [2136840] - gen_compile_commands: do not support .cmd files under tools/ directory (Íñigo Huguet) [2136840] - gen_compile_commands: use choices for --log_levels option (Íñigo Huguet) [2136840] - gen_compile_commands: parse only the first line of .*.cmd files (Íñigo Huguet) [2136840] - gen_compile_commands: lower the entry count threshold (Íñigo Huguet) [2136840] - scripts: add a tool to produce a compile_commands.json file (Íñigo Huguet) [2136840] - iavf: Do not restart Tx queues after reset task failure (Petr Oros) [2134005] - iavf: Fix a crash during reset task (Petr Oros) [2134005] - spec: add bpf_testmod.ko to kselftests/bpf (Yauheni Kaliuta) [2140082] - fuse: fix readdir cache race (Miklos Szeredi) [2131391] - ice: config netdev tc before setting queues number (Petr Oros) [2103946] - ice: Fix ice_xdp_xmit() when XDP TX queue number is not sufficient (Petr Oros) [2103946] - ice: Don't double unplug aux on peer initiated reset (Petr Oros) [2103946] - ice: use bitmap_free instead of devm_kfree (Petr Oros) [2103946] - ice: Fix DMA mappings leak (Petr Oros) [2103946] - ice: Fix call trace with null VSI during VF reset (Petr Oros) [2103946] - ice: Fix VSI rebuild WARN_ON check for VF (Petr Oros) [2103946] - net/ice: fix initializing the bitmap in the switch code (Petr Oros) [2103946] - net: ice: fix error NETIF_F_HW_VLAN_CTAG_FILTER check in ice_vsi_sync_fltr() (Petr Oros) [2103946] - ice: allow toggling loopback mode via ndo_set_features callback (Petr Oros) [2103946] - ice: compress branches in ice_set_features() (Petr Oros) [2103946] - ice: Add support for PPPoE hardware offload (Petr Oros) [2103946] - ice: add i2c write command (Petr Oros) [2103946] - ice: Remove pci_aer_clear_nonfatal_status() call (Petr Oros) [2103946] - ice: Remove unnecessary NULL check before dev_put (Petr Oros) [2103946] - ice: use eth_broadcast_addr() to set broadcast address (Petr Oros) [2103946] - ice: switch: dynamically add VLAN headers to dummy packets (Petr Oros) [2103946] - ice: Add support for VLAN TPID filters in switchdev (Petr Oros) [2103946] - ice: Add support for double VLAN in switchdev (Petr Oros) [2103946] - intel/ice:fix repeated words in comments (Petr Oros) [2103946] - drivers/net/ethernet/intel: fix typos in comments (Petr Oros) [2103946] - ice: Use correct order for the parameters of devm_kcalloc() (Petr Oros) [2103946] - ice: remove u16 arithmetic in ice_gnss (Petr Oros) [2103946] - ice: remove VLAN representor specific ops (Petr Oros) [2103946] - ice: don't set VF VLAN caps in switchdev (Petr Oros) [2103946] - kernel-doc: fix undefined args variable (Jan Stancek) [2134954]- sunrpc: Set sk_allocation to GFP_NOFS to avoid using current->task_frag. (Guillaume Nault) [2089660] - selftests/vm: enable running select groups of tests (Joel Savitz) [2089502] - selftests: make use of GUP_TEST_FILE macro (Nico Pache) [2089502] - selftests: clarify common error when running gup_test (Nico Pache) [2089502] - tools/testing/selftests/vm/gup_test.c: clarify error statement (Nico Pache) [2089502] - mm: remove the extra ZONE_DEVICE struct page refcount (Chris von Recklinghausen) [2082247] - mm: simplify freeing of devmap managed pages (Chris von Recklinghausen) [2082247] - mm: move free_devmap_managed_page to memremap.c (Chris von Recklinghausen) [2082247] - mm/memremap: add ZONE_DEVICE support for compound pages (Chris von Recklinghausen) [2082247] - mm/page_alloc: refactor memmap_init_zone_device() page init (Chris von Recklinghausen) [2082247] - mm/page_alloc: split prep_compound_page into head and tail subparts (Chris von Recklinghausen) [2082247] - mm/debug: sync up MR_CONTIG_RANGE and MR_LONGTERM_PIN (Chris von Recklinghausen) [2082247] - mm: gup: use helper PAGE_ALIGNED in populate_vma_page_range() (Chris von Recklinghausen) [2082247] - mm: gup: remove useless BUG_ON in __get_user_pages() (Chris von Recklinghausen) [2082247] - mm: gup: remove unneed local variable orig_refs (Chris von Recklinghausen) [2082247] - mm: gup: remove set but unused local variable major (Chris von Recklinghausen) [2082247] - writeback: make the laptop_mode prototypes available unconditionally (Chris von Recklinghausen) [2082247] - mm: hide laptop_mode_wb_timer entirely behind the BDI API (Chris von Recklinghausen) [2082247] - mm: remove special swap entry functions (Chris von Recklinghausen) [2082247] - hugetlb: address ref count racing in prep_compound_gigantic_page (Chris von Recklinghausen) [2082247] - hugetlb: remove prep_compound_huge_page cleanup (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): get vma_address_end() earlier (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): use goto instead of while (1) (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): add a level of indentation (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): crossing page table boundary (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): prettify PVMW_MIGRATION block (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): use pmde for *pvmw->pmd (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): settle PageHuge on entry (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): use page for pvmw->page (Chris von Recklinghausen) [2082247] - mm/gup: longterm pin migration cleanup (Chris von Recklinghausen) [2082247] - mm/gup: change index type to long as it counts pages (Chris von Recklinghausen) [2082247] - mm/gup: migrate pinned pages out of movable zone (Chris von Recklinghausen) [2082247] - mm: honor PF_MEMALLOC_PIN for all movable pages (Chris von Recklinghausen) [2082247] - mm cma: rename PF_MEMALLOC_NOCMA to PF_MEMALLOC_PIN (Chris von Recklinghausen) [2082247] - mm/huge_memory.c: use helper function migration_entry_to_page() (Chris von Recklinghausen) [2082247] - block: add queue_to_disk() to get gendisk from request_queue (Chris von Recklinghausen) [2082247] - mm/hugetlb: remove redundant check in preparing and destroying gigantic page (Chris von Recklinghausen) [2082247] - mm/hugetlb: use helper huge_page_order and pages_per_huge_page (Chris von Recklinghausen) [2082247] - mm: handle zone device pages in release_pages() (Chris von Recklinghausen) [2082247] - mm/gup: remove the vma allocation from gup_longterm_locked() (Chris von Recklinghausen) [2082247] - mm/mremap_pages: fix static key devmap_managed_key updates (Chris von Recklinghausen) [2082247] - mm/memremap.c: convert devmap static branch to {inc,dec} (Chris von Recklinghausen) [2082247] - mm/page_alloc: handle a missing case for memalloc_nocma_{save/restore} APIs (Chris von Recklinghausen) [2082247] - mm: store compound_nr as well as compound_order (Chris von Recklinghausen) [2082247] - mm: clean up the last pieces of page fault accountings (Chris von Recklinghausen) [2082247] - mm/x86: use general page fault accounting (Chris von Recklinghausen) [2082247] - mm/s390: use general page fault accounting (Chris von Recklinghausen) [2082247] - mm/powerpc: use general page fault accounting (Chris von Recklinghausen) [2082247] - mm/arm64: use general page fault accounting (Chris von Recklinghausen) [2082247] - mm: do page fault accounting in handle_mm_fault (Chris von Recklinghausen) [2082247] - include/linux/sched/mm.h: optimize current_gfp_context() (Chris von Recklinghausen) [2082247] - mm/page_alloc: fix memalloc_nocma_{save/restore} APIs (Chris von Recklinghausen) [2082247] - mm: remove redundant check non_swap_entry() (Chris von Recklinghausen) [2082247] - mm: rename gfpflags_to_migratetype to gfp_migratetype for same convention (Chris von Recklinghausen) [2082247] - mm,page_alloc,cma: conditionally prefer cma pageblocks for movable allocations (Chris von Recklinghausen) [2082247] - mm/vma: introduce VM_ACCESS_FLAGS (Chris von Recklinghausen) [2082247] - mm/vma: make vma_is_accessible() available for general use (Chris von Recklinghausen) [2082247] - kernel/events/uprobes.c: only do FOLL_SPLIT_PMD for uprobe register (Chris von Recklinghausen) [2082247] - uprobe: collapse THP pmd after removing all uprobes (Chris von Recklinghausen) [2082247] - uprobe: use FOLL_SPLIT_PMD instead of FOLL_SPLIT (Chris von Recklinghausen) [2082247] - mm, thp: introduce FOLL_SPLIT_PMD (Chris von Recklinghausen) [2082247] - mm: clean up is_device_*_page() definitions (Chris von Recklinghausen) [2082247] - driver core: Add helper device_find_child_by_name() (Chris von Recklinghausen) [2082247] - mm/page_alloc.c: remove unnecessary parameter in rmqueue_pcplist (Chris von Recklinghausen) [2082247] - sctp: handle the error returned from sctp_auth_asoc_init_active_key (Xin Long) [2134892] - sctp: leave the err path free in sctp_stream_init to sctp_stream_free (Xin Long) [2134892] - sctp: fix sleep in atomic context bug in timer handlers (Xin Long) [2134892] - stcp: Use memset_after() to zero sctp_stream_out_ext (Xin Long) [2134892] - sctp: read sk->sk_bound_dev_if once in sctp_rcv() (Xin Long) [2134892] - ethtool: add header/data split indication (Ivan Vecera) [2135624] - xfrm: store and rely on direction to construct offload flags (Sabrina Dubroca) [2137562] - platform/x86/intel: pmc: Support Intel Raptorlake P (Prarit Bhargava) [2076736]- KVM: selftests: Build the memslot tests for arm64 (Gavin Shan) [2132161] - KVM: selftests: Fix number of pages for memory slot in memslot_modification_stress_test (Gavin Shan) [2132161] - tools/include: Add _RET_IP_ and math definitions to kernel.h (Gavin Shan) [2132161] - tcp: fix early ETIMEDOUT after spurious non-SACK RTO (Davide Caratti) [2136409] - tcp: add a missing nf_reset_ct() in 3WHS handling (Davide Caratti) [2136409] - sock: redo the psock vs ULP protection check (Davide Caratti) [2136409] - tcp: tcp_rtx_synack() can be called from process context (Davide Caratti) [2136409] - tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd (Davide Caratti) [2136409] - tcp: fix F-RTO may not work correctly when receiving DSACK (Davide Caratti) [2136409] - selftests: xsk: do not send zero-length packets (Ivan Vecera) [2135634] - selftests/xsk: Introduce XDP prog load based on existing AF_XDP socket (Ivan Vecera) [2135634] - selftests, xsk: Fix rx_full stats test (Ivan Vecera) [2135634] - selftests/bpf: Fix xdpxceiver failures for no hugepages (Ivan Vecera) [2135634] - selftests/xsk: Add missing close() on netns fd (Ivan Vecera) [2135634] - selftests, xsk: Fix bpf_res cleanup test (Ivan Vecera) [2135634] - selftests: xsk: Add frame_headroom test (Ivan Vecera) [2135634] - selftests: xsk: Change interleaving of packets in unaligned mode (Ivan Vecera) [2135634] - selftests: xsk: Add single packet test (Ivan Vecera) [2135634] - selftests: xsk: Introduce pacing of traffic (Ivan Vecera) [2135634] - selftests: xsk: Fix socket creation retry (Ivan Vecera) [2135634] - selftests: xsk: Put the same buffer only once in the fill ring (Ivan Vecera) [2135634] - selftests: xsk: Fix missing initialization (Ivan Vecera) [2135634] - selftests: xsk: Add tests for 2K frame size (Ivan Vecera) [2135634] - selftests: xsk: Add tests for invalid xsk descriptors (Ivan Vecera) [2135634] - selftests: xsk: Eliminate test specific if-statement in test runner (Ivan Vecera) [2135634] - selftests: xsk: Add test for unaligned mode (Ivan Vecera) [2135634] - selftests: xsk: Introduce replacing the default packet stream (Ivan Vecera) [2135634] - selftests: xsk: Allow for invalid packets (Ivan Vecera) [2135634] - selftests: xsk: Eliminate MAX_SOCKS define (Ivan Vecera) [2135634] - selftests: xsx: Make pthreads local scope (Ivan Vecera) [2135634] - selftests: xsk: Make xdp_flags and bind_flags local (Ivan Vecera) [2135634] - selftests: xsk: Specify number of sockets to create (Ivan Vecera) [2135634] - selftests: xsk: Replace second_step global variable (Ivan Vecera) [2135634] - selftests: xsk: Introduce rx_on and tx_on in ifobject (Ivan Vecera) [2135634] - selftests: xsk: Add use_poll to ifobject (Ivan Vecera) [2135634] - selftests: xsx: Introduce test name in test spec (Ivan Vecera) [2135634] - selftests: xsk: Make frame_size configurable (Ivan Vecera) [2135634] - selftests: xsk: Move rxqsize into xsk_socket_info (Ivan Vecera) [2135634] - selftests: xsk: Move num_frames and frame_headroom to xsk_umem_info (Ivan Vecera) [2135634] - selftests: xsk: Introduce test specifications (Ivan Vecera) [2135634] - selftests: xsk: Introduce type for thread function (Ivan Vecera) [2135634] - selftests: xsk: Simplify xsk and umem arrays (Ivan Vecera) [2135634] - selftests: xsk: Preface options with opt (Ivan Vecera) [2135634] - selftests: xsk: Make enums lower case (Ivan Vecera) [2135634] - selftests: xsk: Generate packets from specification (Ivan Vecera) [2135634] - selftests: xsk: Generate packet directly in umem (Ivan Vecera) [2135634] - selftests: xsk: Simplify cleanup of ifobjects (Ivan Vecera) [2135634] - selftests: xsk: Decrease sending speed (Ivan Vecera) [2135634] - selftests: xsk: Validate tx stats on tx thread (Ivan Vecera) [2135634] - selftests: xsk: Simplify packet validation in xsk tests (Ivan Vecera) [2135634] - selftests: xsk: Rename worker_* functions that are not thread entry points (Ivan Vecera) [2135634] - selftests: xsk: Disassociate umem size with packets sent (Ivan Vecera) [2135634] - selftests: xsk: Remove end-of-test packet (Ivan Vecera) [2135634] - selftests: xsk: Simplify the retry code (Ivan Vecera) [2135634] - selftests: xsk: Return correct error codes (Ivan Vecera) [2135634] - selftests: xsk: Remove unused variables (Ivan Vecera) [2135634] - selftests: xsk: Remove the num_tx_packets option (Ivan Vecera) [2135634] - selftests: xsk: Remove color mode (Ivan Vecera) [2135634] - xsk: Fix possible crash when multiple sockets are created (Ivan Vecera) [2135634] - i40e: xsk: Move tmp desc array from driver to pool (Ivan Vecera) [2135634] - xsk: Initialise xskb free_list_node (Ivan Vecera) [2135634] - xsk: Fix corrupted packets for XDP_SHARED_UMEM (Ivan Vecera) [2135634] - xsk: Fix clang build error in __xp_alloc (Ivan Vecera) [2135634] - xsk: Do not write NULL in SW ring at allocation failure (Ivan Vecera) [2135634] - xsk: Fix crash on double free in buffer pool (Ivan Vecera) [2135634] - xsk: Optimize for aligned case (Ivan Vecera) [2135634] - xsk: Batched buffer allocation for the pool (Ivan Vecera) [2135634] - xsk: Get rid of unused entry in struct xdp_buff_xsk (Ivan Vecera) [2135634] - redhat/configs: Move config files under common/generic/x86 to generic/x86_64 (Waiman Long) [2139172] - fbmem: Check virtual screen sizes in fb_set_var() (Wander Lairson Costa) [2109116] {CVE-2021-33655} - fbcon: Prevent that screen size is smaller than font size (Wander Lairson Costa) [2109116] {CVE-2021-33655} - fbcon: Disallow setting font bigger than screen size (Wander Lairson Costa) [2109116] {CVE-2021-33655} - video: of_display_timing.h: include errno.h (Wander Lairson Costa) [2109116] {CVE-2021-33655} - MAINTAINERS: pick up all vfio_ap docs for VFIO AP maintainers (Cédric Le Goater) [1660908] - s390/docs: fix warnings for vfio_ap driver doc (Cédric Le Goater) [1660908] - s390/docs: fix warnings for vfio_ap driver lock usage doc (Cédric Le Goater) [1660908] - s390/Docs: new doc describing lock usage by the vfio_ap device driver (Cédric Le Goater) [1660908] - s390/vfio-ap: bypass unnecessary processing of AP resources (Cédric Le Goater) [1660908] - s390/vfio-ap: update docs to include dynamic config support (Cédric Le Goater) [1660908] - s390/vfio-ap: handle config changed and scan complete notification (Cédric Le Goater) [1660908] - s390/vfio-ap: sysfs attribute to display the guest's matrix (Cédric Le Goater) [1660908] - s390/vfio-ap: implement in-use callback for vfio_ap driver (Cédric Le Goater) [1660908] - s390/vfio-ap: reset queues after adapter/domain unassignment (Cédric Le Goater) [1660908] - s390/vfio-ap: hot plug/unplug of AP devices when probed/removed (Cédric Le Goater) [1660908] - s390/vfio-ap: allow hot plug/unplug of AP devices when assigned/unassigned (Cédric Le Goater) [1660908] - s390/vfio-ap: prepare for dynamic update of guest's APCB on queue probe/remove (Cédric Le Goater) [1660908] - s390/vfio-ap: prepare for dynamic update of guest's APCB on assign/unassign (Cédric Le Goater) [1660908] - s390/vfio-ap: use proper locking order when setting/clearing KVM pointer (Cédric Le Goater) [1660908] - s390/vfio-ap: introduce new mutex to control access to the KVM pointer (Cédric Le Goater) [1660908] - s390/vfio-ap: rename matrix_dev->lock mutex to matrix_dev->mdevs_lock (Cédric Le Goater) [1660908] - s390/vfio-ap: allow assignment of unavailable AP queues to mdev device (Cédric Le Goater) [1660908] - s390/vfio-ap: refresh guest's APCB by filtering AP resources assigned to mdev (Cédric Le Goater) [1660908] - s390/vfio-ap: introduce shadow APCB (Cédric Le Goater) [1660908] - s390/vfio-ap: manage link between queue struct and matrix mdev (Cédric Le Goater) [1660908] - s390/vfio-ap: move probe and remove callbacks to vfio_ap_ops.c (Cédric Le Goater) [1660908] - s390/vfio-ap: use new AP bus interface to search for queue devices (Cédric Le Goater) [1660908] - s390/ap: fix error handling in __verify_queue_reservations() (Cédric Le Goater) [1660908] - s390/zcrypt: code cleanup (Cédric Le Goater) [1660908] - s390/zcrypt: fix wrong offset index for APKA master key valid state (Cédric Le Goater) [1660908] - s390/ap: uevent on apmask/aqpmask change (Cédric Le Goater) [1660908] - s390/vfio-ap: fix kernel doc and signature of group notifier functions (Cédric Le Goater) [1660908] - s390/ap: enable sysfs attribute scans to force AP bus rescan (Cédric Le Goater) [1660908] - s390/ap: fix crash on older machines based on QCI info missing (Cédric Le Goater) [1660908] - s390/ap: notify drivers on config changed and scan complete callbacks (Cédric Le Goater) [1660908] - s390/ap: driver callback to indicate resource in use (Cédric Le Goater) [1660908] - MAINTAINERS: update file path for S390 VFIO AP DRIVER (Cédric Le Goater) [1660908] - s390/vfio-ap: add status attribute to AP queue device's sysfs dir (Cédric Le Goater) [1660908] - s390/ap: function rework based on compiler warning (Cédric Le Goater) [1660908] - s390/vfio-ap: s390/crypto: fix all kernel-doc warnings (Cédric Le Goater) [1660908] - s390/ap: new module option ap.useirq (Cédric Le Goater) [1660908] - s390/ap: fix state machine hang after failure to enable irq (Cédric Le Goater) [1660908] - s390/crypto: fix all kernel-doc warnings in vfio_ap_ops.c (Cédric Le Goater) [1660908] - s390/ap: use the common device_driver pointer (Cédric Le Goater) [1660908] - s390/vfio-ap: replace open coded locks for VFIO_GROUP_NOTIFY_SET_KVM notification (Cédric Le Goater) [1660908] - s390/vfio-ap: r/w lock for PQAP interception handler function pointer (Cédric Le Goater) [1660908] - s390/vfio-ap: clean up mdev resources when remove callback invoked (Cédric Le Goater) [1660908] - s390/vfio-ap: clean up vfio_ap_drv's definition (Cédric Le Goater) [1660908] - s390/vfio-ap: fix circular lockdep when setting/clearing crypto masks (Cédric Le Goater) [1660908] - s390/vfio-ap: clean up vfio_ap resources when KVM pointer invalidated (Cédric Le Goater) [1660908] - s390/vfio-ap: No need to disable IRQ after queue reset (Cédric Le Goater) [1660908] - Documentation: s390/vfio-ap: eliminate duplicated word (Cédric Le Goater) [1660908] - docs: s390: Fix wrong label Guest2 instead of Guest3 (Cédric Le Goater) [1660908] - s390: vfio-ap: make local functions and data static (Cédric Le Goater) [1660908] - i40e: Fix set max_tx_rate when it is lower than 1 Mbps (Petr Oros) [2106964] - i40e: Fix VF set max MTU size (Petr Oros) [2106964] - iavf: Fix set max MTU size with port VLAN and jumbo frames (Petr Oros) [2106964] - iavf: Fix bad page state (Petr Oros) [2106964] - i40e: Fix VF hang when reset is triggered on another VF (Ivan Vecera) [2103801] - mpi3mr: a minor change (Tomas Henzl) [2115748] - scsi: mpi3mr: Select CONFIG_SCSI_SAS_ATTRS (Tomas Henzl) [2115748] - scsi: mpi3mr: Remove unnecessary cast (Tomas Henzl) [2115748] - scsi: mpi3mr: Update driver version to 8.2.0.3.0 (Tomas Henzl) [2115748] - scsi: mpi3mr: Fix scheduling while atomic type bug (Tomas Henzl) [2115748] - scsi: mpi3mr: Scan the devices during resume time (Tomas Henzl) [2115748] - scsi: mpi3mr: Free enclosure objects during driver unload (Tomas Henzl) [2115748] - scsi: mpi3mr: Handle 0xF003 Fault Code (Tomas Henzl) [2115748] - scsi: mpi3mr: Graceful handling of surprise removal of PCIe HBA (Tomas Henzl) [2115748] - scsi: mpi3mr: Support new power management framework (Tomas Henzl) [2115748] - scsi: mpi3mr: Update mpi3 header files (Tomas Henzl) [2115748] - scsi: mpi3mr: Fix error code in mpi3mr_transport_smp_handler() (Tomas Henzl) [2115748] - scsi: mpi3mr: Fix error codes in mpi3mr_report_manufacture() (Tomas Henzl) [2115748] - scsi: mpi3mr: Block I/Os while refreshing target dev objects (Tomas Henzl) [2115748] - scsi: mpi3mr: Refresh SAS ports during soft reset (Tomas Henzl) [2115748] - scsi: mpi3mr: Support SAS transport class callbacks (Tomas Henzl) [2115748] - scsi: mpi3mr: Add framework to issue MPT transport cmds (Tomas Henzl) [2115748] - scsi: mpi3mr: Add SAS SATA end devices to STL (Tomas Henzl) [2115748] - scsi: mpi3mr: Get target object based on rphy (Tomas Henzl) [2115748] - scsi: mpi3mr: Add expander devices to STL (Tomas Henzl) [2115748] - scsi: mpi3mr: Enable STL on HBAs where multipath is disabled (Tomas Henzl) [2115748] - scsi: mpi3mr: Add helper functions to manage device's port (Tomas Henzl) [2115748] - scsi: mpi3mr: Add helper functions to retrieve device objects (Tomas Henzl) [2115748] - scsi: mpi3mr: Add framework to add phys to STL (Tomas Henzl) [2115748] - scsi: mpi3mr: Enable Enclosure device add event (Tomas Henzl) [2115748] - scsi: mpi3mr: Add helper functions to retrieve config pages (Tomas Henzl) [2115748] - scsi: mpi3mr: Add framework to issue config requests (Tomas Henzl) [2115748] - scsi: mpi3mr: Add config and transport related debug flags (Tomas Henzl) [2115748] - scsi: mpi3mr: Delete a stray tab (Tomas Henzl) [2115748] - scsi: mpi3mr: Unlock on error path (Tomas Henzl) [2115748] - scsi: mpi3mr: Reduce VD queue depth on detecting throttling (Tomas Henzl) [2115748] - scsi: mpi3mr: Resource Based Metering (Tomas Henzl) [2115748] - scsi: mpi3mr: Increase cmd_per_lun to 128 (Tomas Henzl) [2115748] - scsi: mpi3mr: Enable shared host tagset (Tomas Henzl) [2115748] - lpfc version to 14.0.0.18. (Dick Kennedy) [2114050] - scsi: lpfc: Create a sysfs entry called lpfc_xcvr_data for transceiver info (Dick Kennedy) [2114050] - scsi: lpfc: Log when congestion management limits are in effect (Dick Kennedy) [2114050] - scsi: lpfc: Fix hard lockup when reading the rx_monitor from debugfs (Dick Kennedy) [2114050] - scsi: lpfc: Set sli4_param's cmf option to zero when CMF is turned off (Dick Kennedy) [2114050] - scsi: lpfc: Fix various issues reported by tools (Dick Kennedy) [2114050] - scsi: lpfc: Add reporting capability for Link Degrade Signaling (Dick Kennedy) [2114050] - scsi: lpfc: Rework FDMI attribute registration for unintential padding (Dick Kennedy) [2114050] - scsi: lpfc: Rework lpfc_fdmi_cmd() routine for cleanup and consistency (Dick Kennedy) [2114050] - scsi: lpfc: Update congestion mode logging for Emulex SAN Manager application (Dick Kennedy) [2114050] - scsi: lpfc: Fix multiple NVMe remoteport registration calls for the same NPort ID (Dick Kennedy) [2114050] - scsi: lpfc: Add missing free iocb and nlp kref put for early return VMID cases (Dick Kennedy) [2114050] - scsi: lpfc: Fix mbuf pool resource detected as busy at driver unload (Dick Kennedy) [2114050] - scsi: lpfc: Fix FLOGI ACC with wrong SID in PT2PT topology (Dick Kennedy) [2114050] - scsi: lpfc: Fix prli_fc4_req checks in PRLI handling (Dick Kennedy) [2114050] - scsi: lpfc: Remove unneeded result variable (Dick Kennedy) [2114050] - scsi: lpfc: Remove the unneeded result variable (Dick Kennedy) [2114050] - scsi: lpfc: Copyright updates for 14.2.0.6 patches (Dick Kennedy) [2114050] - scsi: lpfc: Add warning notification period to CMF_SYNC_WQE (Dick Kennedy) [2114050] - scsi: lpfc: Rework MIB Rx Monitor debug info logic (Dick Kennedy) [2114050] - scsi: lpfc: Fix null ndlp ptr dereference in abnormal exit path for GFT_ID (Dick Kennedy) [2114050] - scsi: lpfc: Fix unsolicited FLOGI receive handling during PT2PT discovery (Dick Kennedy) [2114050] - scsi: lpfc: Check the return value of alloc_workqueue() (Dick Kennedy) [2114050] - scsi: lpfc: Rework FDMI initialization after link up (Dick Kennedy) [2114050] - scsi: mpt3sas: Revert "scsi: mpt3sas: Fix ioc->base_readl() use" (Tomas Henzl) [2115763] - scsi: mpt3sas: Revert "scsi: mpt3sas: Fix writel() use" (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix return value check of dma_get_required_mask() (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix use-after-free warning (Tomas Henzl) [2115763] - scsi: mpt3sas: Update driver version to 43.100.00.00 (Tomas Henzl) [2115763] - scsi: mpt3sas: Increase cmd_per_lun to 128 (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix trace buffer registration failed (Tomas Henzl) [2115763] - scsi: mpt3sas: Don't change DMA mask while reallocating pools (Tomas Henzl) [2115763] - scsi: mpt3sas: Prevent error handler escalation when device removed (Tomas Henzl) [2115763] - scsi: mpt3sas: Disable MPI2_FUNCTION_FW_DOWNLOAD for ATTO devices (Tomas Henzl) [2115763] - scsi: mpt3sas: Add support for ATTO ExpressSAS H12xx GT devices (Tomas Henzl) [2115763] - scsi: mpt3sas: Remove flush_scheduled_work() call (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix whitespace and spelling mistake (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix typo in comment (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix out-of-bounds compiler warning (Tomas Henzl) [2115763] - media: em28xx: initialize refcount before kref_get (Dean Nelson) [2128003] {CVE-2022-3239} - gfs2: Register fs after creating workqueues (Bob Peterson) [2121201] - sysctl: returns -EINVAL when a negative value is passed to proc_doulongvec_minmax (Vratislav Bendel) [2139096] - mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse (Waiman Long) [2137585] {CVE-2022-42703} - mm: rmap: explicitly reset vma->anon_vma in unlink_anon_vmas() (Waiman Long) [2137585] {CVE-2022-42703} - mm/rmap: Fix typos in comments (Waiman Long) [2137585] {CVE-2022-42703} - iavf: Fix set max MTU size with port VLAN and jumbo frames (Stefan Assmann) [2103944] - iavf: Fix bad page state (Stefan Assmann) [2103944] - iavf: Fix cached head and tail value for iavf_get_tx_pending (Stefan Assmann) [2103944] - iavf: Fix change VF's mac address (Stefan Assmann) [2103944] - iavf: Fix race between iavf_close and iavf_reset_task (Stefan Assmann) [2103944] - net: ethernet: move from strlcpy with unused retval to strscpy (Stefan Assmann) [2103944] - iavf: Fix 'tc qdisc show' listing too many queues (Stefan Assmann) [2103944] - iavf: Fix max_rate limiting (Stefan Assmann) [2103944] - iavf: Check for duplicate TC flower filter before parsing (Stefan Assmann) [2103944] - iavf: Fix handling of dummy receive descriptors (Stefan Assmann) [2103944] - iavf: Disallow changing rx/tx-frames and rx/tx-frames-irq (Stefan Assmann) [2103944] - intel/iavf:fix repeated words in comments (Stefan Assmann) [2103944] - intel: remove unused macros (Stefan Assmann) [2103944] - iavf: Add waiting for response from PF in set mac (Stefan Assmann) [2103944] - iavf: Use irq_update_affinity_hint() (Stefan Assmann) [2103944] - net: Fix return value of qdisc ingress handling on success (Ivan Vecera) [2131361]- PCI: hv: Do not set PCI_COMMAND_MEMORY to reduce VM boot time (Emanuele Giuseppe Esposito) [2082836] - megaraid_sas: add #ifdef CONFIG_RHEL_DIFFERENCES (Tomas Henzl) [2119096] - mpt3sas: add #ifdef CONFIG_RHEL_DIFFERENCES (Tomas Henzl) [2119096] - mptcp: fix unreleased socket in accept queue (Paolo Abeni) [2135884] - mptcp: factor out __mptcp_close() without socket lock (Paolo Abeni) [2135884] - mptcp: do not queue data on closed subflows (Paolo Abeni) [2135884] - mptcp: move subflow cleanup in mptcp_destroy_common() (Paolo Abeni) [2135884] - mptcp: fix msk traversal in mptcp_nl_cmd_set_flags() (Paolo Abeni) [2135884] - xfs: fix perag reference leak on iteration race with growfs (Brian Foster) [2081105] - xfs: terminate perag iteration reliably on agcount (Brian Foster) [2081105] - xfs: rename the next_agno perag iteration variable (Brian Foster) [2081105] - xfs: fold perag loop iteration logic into helper function (Brian Foster) [2081105] - xfs: prevent spoofing of rtbitmap blocks when recovering buffers (Brian Foster) [2081105] - xfs: Enforce attr3 buffer recovery order (Brian Foster) [2081105] - xfs: avoid unnecessary waits in xfs_log_force_lsn() (Brian Foster) [2081105] - xfs: factor out forced iclog flushes (Brian Foster) [2081105] - xfs: detect misaligned rtinherit directory extent size hints (Brian Foster) [2081105] - xfs: fix an integer overflow error in xfs_growfs_rt (Brian Foster) [2081105] - xfs: improve FSGROWFSRT precondition checking (Brian Foster) [2081105] - xfs: reset child dir '..' entry when unlinking child (Brian Foster) [2081105] - xfs: check for sparse inode clusters that cross new EOAG when shrinking (Brian Foster) [2081105] - xfs: Fix multiple fall-through warnings for Clang (Brian Foster) [2081105] - xfs: remove callback dequeue loop from xlog_state_do_iclog_callbacks (Brian Foster) [2081105] - xfs: don't nest icloglock inside ic_callback_lock (Brian Foster) [2081105] - xfs: Initialize error in xfs_attr_remove_iter (Brian Foster) [2081105] - xfs: remove dead stale buf unpin handling code (Brian Foster) [2081105] - xfs: hold buffer across unpin and potential shutdown processing (Brian Foster) [2081105] - xfs: force the log offline when log intent item recovery fails (Brian Foster) [2081105] - xfs: shorten the shutdown messages to a single line (Brian Foster) [2081105] - xfs: print name of function causing fs shutdown instead of hex pointer (Brian Foster) [2081105] - xfs: fix type mismatches in the inode reclaim functions (Brian Foster) [2081105] - xfs: separate primary inode selection criteria in xfs_iget_cache_hit (Brian Foster) [2081105] - xfs: refactor the inode recycling code (Brian Foster) [2081105] - xfs: add iclog state trace events (Brian Foster) [2081105] - xfs: xfs_log_force_lsn isn't passed a LSN (Brian Foster) [2081105] - xfs: remove need_start_rec parameter from xlog_write() (Brian Foster) [2081105] - xfs: remove xfs_blkdev_issue_flush (Brian Foster) [2081105] - xfs: Fix 64-bit division on 32-bit in xlog_state_switch_iclogs() (Brian Foster) [2081105] - xfs: log stripe roundoff is a property of the log (Brian Foster) [2081105] - xfs: remove redundant initialization of variable error (Brian Foster) [2081105] - xfs: perag may be null in xfs_imap() (Brian Foster) [2081105] - xfs: Make attr name schemes consistent (Brian Foster) [2081105] - xfs: Fix default ASSERT in xfs_attr_set_iter (Brian Foster) [2081105] - xfs: rename struct xfs_eofblocks to xfs_icwalk (Brian Foster) [2081105] - xfs: change the prefix of XFS_EOF_FLAGS_* to XFS_ICWALK_FLAG_ (Brian Foster) [2081105] - xfs: selectively keep sick inodes in memory (Brian Foster) [2081105] - xfs: drop IDONTCACHE on inodes when we mark them sick (Brian Foster) [2081105] - xfs: drop the AGI being passed to xfs_check_agi_freecount (Brian Foster) [2081105] - xfs: cleanup error handling in xfs_buf_get_map (Brian Foster) [2081105] - xfs: remove ->b_offset handling for page backed buffers (Brian Foster) [2081105] - xfs: refactor per-AG inode tagging functions (Brian Foster) [2081105] - xfs: merge xfs_reclaim_inodes_ag into xfs_inode_walk_ag (Brian Foster) [2081105] - xfs: pass struct xfs_eofblocks to the inode scan callback (Brian Foster) [2081105] - xfs: make the icwalk processing functions clean up the grab state (Brian Foster) [2081105] - xfs: clean up inode state flag tests in xfs_blockgc_igrab (Brian Foster) [2081105] - xfs: remove indirect calls from xfs_inode_walk{,_ag} (Brian Foster) [2081105] - xfs: remove iter_flags parameter from xfs_inode_walk_* (Brian Foster) [2081105] - xfs: move xfs_inew_wait call into xfs_dqrele_inode (Brian Foster) [2081105] - xfs: separate the dqrele_all inode grab logic from xfs_inode_walk_ag_grab (Brian Foster) [2081105] - xfs: pass the goal of the incore inode walk to xfs_inode_walk() (Brian Foster) [2081105] - xfs: rename xfs_inode_walk functions to xfs_icwalk (Brian Foster) [2081105] - xfs: move the inode walk functions further down (Brian Foster) [2081105] - xfs: detach inode dquots at the end of inactivation (Brian Foster) [2081105] - xfs: move the quotaoff dqrele inode walk into xfs_icache.c (Brian Foster) [2081105] - xfs: don't take a spinlock unconditionally in the DIO fastpath (Brian Foster) [2081105] - xfs: mark xfs_bmap_set_attrforkoff static (Brian Foster) [2081105] - xfs: Remove redundant assignment to busy (Brian Foster) [2081105] - xfs: sort variable alphabetically to avoid repeated declaration (Brian Foster) [2081105] - xfs: remove xfs_perag_t (Brian Foster) [2081105] - xfs: use perag through unlink processing (Brian Foster) [2081105] - xfs: clean up and simplify xfs_dialloc() (Brian Foster) [2081105] - xfs: inode allocation can use a single perag instance (Brian Foster) [2081105] - xfs: get rid of xfs_dir_ialloc() (Brian Foster) [2081105] - xfs: collapse AG selection for inode allocation (Brian Foster) [2081105] - xfs: simplify xfs_dialloc_select_ag() return values (Brian Foster) [2081105] - xfs: remove agno from btree cursor (Brian Foster) [2081105] - xfs: use perag for ialloc btree cursors (Brian Foster) [2081105] - xfs: convert allocbt cursors to use perags (Brian Foster) [2081105] - xfs: convert refcount btree cursor to use perags (Brian Foster) [2081105] - xfs: convert rmap btree cursor to using a perag (Brian Foster) [2081105] - xfs: add a perag to the btree cursor (Brian Foster) [2081105] - xfs: pass perags around in fsmap data dev functions (Brian Foster) [2081105] - xfs: push perags through the ag reservation callouts (Brian Foster) [2081105] - xfs: pass perags through to the busy extent code (Brian Foster) [2081105] - xfs: convert secondary superblock walk to use perags (Brian Foster) [2081105] - xfs: convert xfs_iwalk to use perag references (Brian Foster) [2081105] - xfs: convert raw ag walks to use for_each_perag (Brian Foster) [2081105] - xfs: make for_each_perag... a first class citizen (Brian Foster) [2081105] - xfs: move perag structure and setup to libxfs/xfs_ag.[ch] (Brian Foster) [2081105] - xfs: prepare for moving perag definitions and support to libxfs (Brian Foster) [2081105] - xfs: move xfs_perag_get/put to xfs_ag.[ch] (Brian Foster) [2081105] - xfs: remove unnecessary shifts (Brian Foster) [2081105] - xfs: clean up open-coded fs block unit conversions (Brian Foster) [2081105] - xfs: Clean up xfs_attr_node_addname_clear_incomplete (Brian Foster) [2081105] - xfs: Remove xfs_attr_rmtval_set (Brian Foster) [2081105] - xfs: Add delay ready attr set routines (Brian Foster) [2081105] - xfs: Add delay ready attr remove routines (Brian Foster) [2081105] - xfs: Hoist node transaction handling (Brian Foster) [2081105] - xfs: Hoist xfs_attr_leaf_addname (Brian Foster) [2081105] - xfs: Hoist xfs_attr_node_addname (Brian Foster) [2081105] - xfs: Add helper xfs_attr_node_addname_find_attr (Brian Foster) [2081105] - xfs: Separate xfs_attr_node_addname and xfs_attr_node_addname_clear_incomplete (Brian Foster) [2081105] - xfs: Refactor xfs_attr_set_shortform (Brian Foster) [2081105] - xfs: Add xfs_attr_node_remove_name (Brian Foster) [2081105] - xfs: Reverse apply 72b97ea40d (Brian Foster) [2081105] - xfs: use xfs_buf_alloc_pages for uncached buffers (Brian Foster) [2081105] - xfs: split up xfs_buf_allocate_memory (Brian Foster) [2081105] - xfs: Fix fall-through warnings for Clang (Brian Foster) [2081105] - scsi: qla2xxx: Use transport-defined speed mask for supported_speeds (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix serialization of DCBX TLV data request (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unused declarations for qla2xxx (Nilesh Javali) [2109830] - scsi: qla2xxx: Drop DID_TARGET_FAILURE use (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.900-k (Nilesh Javali) [2109830] - scsi: qla2xxx: Add NVMe parameters support in Auxiliary Image Status (Nilesh Javali) [2109830] - scsi: qla2xxx: Add debugfs create/delete helpers (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix response queue handler reading stale packets (Nilesh Javali) [2109830] - scsi: qla2xxx: Revert "scsi: qla2xxx: Fix response queue handler reading stale packets" (Nilesh Javali) [2109830] - scsi: qla2xxx: Log message "skipping scsi_scan_host()" as informational (Nilesh Javali) [2109830] - scsi: qla2xxx: Avoid flush_scheduled_work() usage (Nilesh Javali) [2109830] - scsi: qla2xxx: Always wait for qlt_sess_work_fn() from qlt_stop_phase1() (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unused del_sess_list field (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unused qlt_tmr_work() (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.800-k (Nilesh Javali) [2109830] - scsi: qla2xxx: Update manufacturer details (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix discovery issues in FC-AL topology (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix dropped IKE message (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix response queue handler reading stale packets (Nilesh Javali) [2109830] - scsi: qla2xxx: Zero undefined mailbox IN registers (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix incorrect display of max frame size (Nilesh Javali) [2109830] - scsi: qla2xxx: Check correct variable in qla24xx_async_gffid() (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.700-k (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix losing FCP-2 targets on long port disable with I/Os (Nilesh Javali) [2109830] - scsi: qla2xxx: Add debug prints in the device remove path (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix losing target when it reappears during delete (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix losing FCP-2 targets during port perturbation tests (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix crash due to stale SRB access around I/O timeouts (Nilesh Javali) [2109830] - scsi: qla2xxx: Turn off multi-queue for 8G adapters (Nilesh Javali) [2109830] - scsi: qla2xxx: Wind down adapter after PCIe error (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.600-k (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix slow session teardown (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Reduce N2N thrashing at app_start time (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix no logout on delete for N2N (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix session thrash (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Tear down session if keys have been removed (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix no login after app start (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Reduce disruption due to multiple app start (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Send LOGO for unexpected IKE message (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix I/O timeout due to over-subscription (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.500-k (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix n2n login retry for secure device (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix n2n discovery issue with secure target (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Remove old doorbell interface (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Add retry for ELS passthrough (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Synchronize NPIV deletion with authentication application (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix potential stuck session in sa update (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Add bsg interface to read doorbell events (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Wait for app to ack on sess down (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: bsg refactor (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Reduce Initiator-Initiator thrashing (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unused 'ql_dm_tgt_ex_pct' parameter (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove setting of 'req' and 'rsp' parameters (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix missed DMA unmap for aborted commands (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Remove unneeded variable (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unneeded flush_workqueue() (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove free_sg command flag (Nilesh Javali) [2109830] - scsi: megaraid_sas: Clean up some inconsistent indenting (Tomas Henzl) [2120070] - scsi: megaraid_sas: Move megasas_dbg_lvl init to megasas_init() (Tomas Henzl) [2120070] - scsi: megaraid_sas: Remove unnecessary memset() (Tomas Henzl) [2120070] - scsi: megaraid_sas: Simplify megasas_update_device_list (Tomas Henzl) [2120070] - scsi: megaraid_sas: Correct an error message (Tomas Henzl) [2120070] - scsi: megaraid_sas: Correct value passed to scsi_device_lookup() (Tomas Henzl) [2120070] - scsi: megaraid_sas: Use struct_size() in code related to struct MR_PD_CFG_SEQ_NUM_SYNC (Tomas Henzl) [2120070] - scsi: megaraid_sas: Use struct_size() in code related to struct MR_FW_RAID_MAP (Tomas Henzl) [2120070] - scsi: megaraid_sas: Replace one-element array with flexible-array member in MR_PD_CFG_SEQ_NUM_SYNC (Tomas Henzl) [2120070] - scsi: megaraid_sas: Replace one-element array with flexible-array member in MR_DRV_RAID_MAP (Tomas Henzl) [2120070] - scsi: megaraid_sas: Replace one-element array with flexible-array member in MR_FW_RAID_MAP_DYNAMIC (Tomas Henzl) [2120070] - scsi: megaraid_sas: Replace one-element array with flexible-array member in MR_FW_RAID_MAP (Tomas Henzl) [2120070] - scsi: megaraid: Remove redundant assignment to variable mfiStatus (Tomas Henzl) [2120070] - scsi: megaraid_sas: Remove redundant variable cmd_type (Tomas Henzl) [2120070] - platform/x86/intel/vsec: Fix wrong type for local status variables (Prarit Bhargava) [2076744] - platform/x86/intel/vsec: Add PCI error recovery support to Intel PMT (Prarit Bhargava) [2076744] - platform/x86/intel/vsec: Add support for Raptor Lake (Prarit Bhargava) [2076744] - platform/x86/intel/pmt: telemetry: Fix fixed region handling (Prarit Bhargava) [2076744] - platform/x86/intel/vsec: Rework early hardware code (Prarit Bhargava) [2076744] - platform/x86/intel: Fix pmt_crashlog array reference (Prarit Bhargava) [2076744] - powerpc/kexec_file: Use current CPU info while setting up FDT (Mamatha Inamdar) [2126520] - mm/kmemleak: prevent soft lockup in kmemleak_scan()'s object iteration loops (Waiman Long) [2095075] - mm/kmemleak: prevent soft lockup in first object iteration loop of kmemleak_scan() (Waiman Long) [2095075] - mm/kmemleak: skip unlikely objects in kmemleak_scan() without taking lock (Waiman Long) [2095075] - mm/kmemleak: use _irq lock/unlock variants in kmemleak_scan/_clear() (Waiman Long) [2095075] - mm/kmemleak: avoid scanning potential huge holes (Waiman Long) [2095075] - KVM: s390: pci: fix GAIT physical vs virtual pointers usage (Thomas Huth) [1664379] - KVM: s390: pci: fix plain integer as NULL pointer warnings (Thomas Huth) [1664379] - KVM: s390/pci: fix include duplicates (Thomas Huth) [1664379] - redhat: Use group notifier to get the KVM pointer in the vfio_pci_zdev code (Thomas Huth) [1664379] - KVM: s390: pci: register pci hooks without interpretation (Thomas Huth) [1664379] - KVM: s390: pci: Hook to access KVM lowlevel from VFIO (Thomas Huth) [1664379] - Documentation: kvm: extend KVM_S390_ZPCI_OP subheading underline (Thomas Huth) [1664379] - KVM: s390: add KVM_S390_ZPCI_OP to manage guest zPCI devices (Thomas Huth) [1664379] - vfio-pci/zdev: different maxstbl for interpreted devices (Thomas Huth) [1664379] - vfio-pci/zdev: add function handle to clp base capability (Thomas Huth) [1664379] - vfio-pci/zdev: add open/close device hooks (Thomas Huth) [1664379] - KVM: s390: pci: add routines to start/stop interpretive execution (Thomas Huth) [1664379] - KVM: s390: pci: provide routines for enabling/disabling interrupt forwarding (Thomas Huth) [1664379] - KVM: s390: mechanism to enable guest zPCI Interpretation (Thomas Huth) [1664379] - KVM: s390: pci: enable host forwarding of Adapter Event Notifications (Thomas Huth) [1664379] - KVM: s390: pci: do initial setup for AEN interpretation (Thomas Huth) [1664379] - KVM: s390: pci: add basic kvm_zdev structure (Thomas Huth) [1664379] - redhat: Enable the new CONFIG_VFIO_PCI_ZDEV_KVM switch (Thomas Huth) [1664379] - vfio/pci: introduce CONFIG_VFIO_PCI_ZDEV_KVM (Thomas Huth) [1664379] - vfio/pci: remove CONFIG_VFIO_PCI_ZDEV from Kconfig (Thomas Huth) [1664379] - vfio-pci/zdev: fix possible segmentation fault issue (Thomas Huth) [1664379] - s390/pci: stash dtsm and maxstbl (Thomas Huth) [1664379] - s390/pci: stash associated GISA designation (Thomas Huth) [1664379] - s390/pci: externalize the SIC operation controls and routine (Thomas Huth) [1664379] - s390/airq: allow for airq structure that uses an input vector (Thomas Huth) [1664379] - s390/airq: pass more TPI info to airq handlers (Thomas Huth) [1664379] - s390/cio: add tpi.h header file (Thomas Huth) [1664379] - s390/ap: fix kernel doc comments (Thomas Huth) [1664379] - s390/sclp: detect the AISI facility (Thomas Huth) [1664379] - s390/sclp: detect the AENI facility (Thomas Huth) [1664379] - s390/sclp: detect the AISII facility (Thomas Huth) [1664379] - s390/sclp: detect the zPCI load/store interpretation facility (Thomas Huth) [1664379] - s390/sclp: add detection of IPL-complete-control facility (Thomas Huth) [1664379] - s390/pci: add error record for CC 2 retries (Thomas Huth) [2134399] - s390/pci: add PCI access type and length to error records (Thomas Huth) [2134399] - s390/pci: don't log availability events as errors (Thomas Huth) [2134399] - s390/pci: make better use of zpci_dbg() levels (Thomas Huth) [2134399] - s390/pci: rename get_zdev_by_bus() to zdev_from_bus() (Thomas Huth) [2134399] - redhat: Restore clp_rescan_pci_devices_simple() function (Thomas Huth) [2134399] - s390/pci: improve zpci_dev reference counting (Thomas Huth) [2134399] - s390/pci: make zpci_set_irq()/zpci_clear_irq() static (Thomas Huth) [2134399] - s390/pci: simplify __pciwb_mio() inline asm (Thomas Huth) [2134399] - s390/pci: use physical addresses in DMA tables (Thomas Huth) [2134399] - s390/pci: use phys_to_virt() for AIBVs/DIBVs (Thomas Huth) [2134399] - s390/pci: implement minimal PCI error recovery (Thomas Huth) [2134399] - PCI: Export pci_dev_lock() (Thomas Huth) [2134399] - PCI: Export pci_dev_trylock() and pci_dev_unlock() (Thomas Huth) [2134399] - s390/pci: implement reset_slot for hotplug slot (Thomas Huth) [2134399] - s390/pci: refresh function handle in iomap (Thomas Huth) [2134399] - s390/pci: add simpler s390dbf traces for events (Thomas Huth) [2134399] - s390/pci: tolerate inconsistent handle in recover (Thomas Huth) [2134399] - s390/pci_mmio: fully validate the VMA before calling follow_pte() (Thomas Huth) [2134399] - s390/pci: read clp_list_pci_req only once (Thomas Huth) [2134399] - s390/pci: fix clp_get_state() handling of -ENODEV (Thomas Huth) [2134399] - s390/pci: improve DMA translation init and exit (Thomas Huth) [2134399] - s390/pci: simplify CLP List PCI handling (Thomas Huth) [2134399] - s390/pci: handle FH state mismatch only on disable (Thomas Huth) [2134399] - s390/pci: fix misleading rc in clp_set_pci_fn() (Thomas Huth) [2134399] - s390/pci: reset zdev->zbus on registration failure (Thomas Huth) [2134399] - s390/pci: cleanup resources only if necessary (Thomas Huth) [2134399] - s390/pci: add zpci_set_irq()/zpci_clear_irq() (Thomas Huth) [2134399] - s390/pci: use register pair instead of register asm (Thomas Huth) [2134399] - s390: introduce register pair union (Thomas Huth) [2134399] - s390/pci: handle stale deconfiguration events (Thomas Huth) [2134399] - s390/pci: rename zpci_configure_device() (Thomas Huth) [2134399] - s390/pci: narrow scope of zpci_configure_device() (Thomas Huth) [2134399] - s390/pci: separate zbus registration from scanning (Thomas Huth) [2134399] - s390/pci: use mutex not spinlock for zbus list (Thomas Huth) [2134399] - s390/pci: separate zbus creation from scanning (Thomas Huth) [2134399] - s390/pci: do more bus setup in zpci_bus_scan() (Thomas Huth) [2134399] - s390/pci: introduce zpci_bus_scan_device() (Thomas Huth) [2134399] - s390/pci: fix DMA cleanup on hard deconfigure (Thomas Huth) [2134399] - s390/pci: move zpci_remove_device() to bus code (Thomas Huth) [2134399] - s390/pci: unify de-/configure for slots and events (Thomas Huth) [2134399] - s390/pci: add zpci_event_hard_deconfigured() (Thomas Huth) [2134399] - s390/pci: deconfigure device on release (Thomas Huth) [2134399] - s390/pci: refactor zpci function states (Thomas Huth) [2134399] - s390/pci: inform when missing required facilities (Thomas Huth) [2134399] - s390/pci: remove races against pte updates (Thomas Huth) [2134399] - s390: remove orphaned function declarations (Thomas Huth) [2134399] - s390/pci: add missing pci_iov.h include (Thomas Huth) [2134399] - s390/pci: remove clp_rescan_pci_devices_simple() (Thomas Huth) [2134399] - s390/pci: remove clp_rescan_pci_devices() (Thomas Huth) [2134399] - s390/pci: consolidate SR-IOV specific code (Thomas Huth) [2134399] - s390/pci: Implement ioremap_wc/prot() with MIO (Thomas Huth) [2134399] - s390/mm: properly clear _PAGE_NOEXEC bit when it is not supported (Thomas Huth) [2134399] - s390/pci: clarify comment in s390_mmio_read/write (Thomas Huth) [2134399] - s390/pci: remove unused functions (Thomas Huth) [2134399] - s390/pci: Log new handle in clp_disable_fh() (Thomas Huth) [2134399] - s390/pci: ioremap() align with generic code (Thomas Huth) [2134399] - s390: enforce CONFIG_SMP (Thomas Huth) [2134399] - s390/pci: mark function(s) __always_inline (Thomas Huth) [2134399] - s390/pci: avoid using strncmp with hardcoded length (Thomas Huth) [2134399] - s390/pci: PCI_IOV_RESOURCES loop refactoring in zpci_map_resources (Thomas Huth) [2134399] - s390: pci: no need to check return value of debugfs_create functions (Thomas Huth) [2134399] - s390/pci: fix sleeping in atomic during hotplug (Thomas Huth) [2134399] - s390/pci: remove fmb address from debug output (Thomas Huth) [2134399] - s390/pci: add fmt3 fmb (Thomas Huth) [2134399] - tools headers kvm s390: Sync headers with the kernel sources (Thomas Huth) [2111063] - KVM: s390: resetting the Topology-Change-Report (Thomas Huth) [2111063] - KVM: s390: guest support for topology function (Thomas Huth) [2111063] - KVM: s390: Cleanup ipte lock access and SIIF facility checks (Thomas Huth) [2111063] - KVM: s390: drop unexpected word 'and' in the comments (Thomas Huth) [2111063] - Documentation: KVM: update s390-diag.rst reference (Thomas Huth) [2043872] - Documentation: KVM: update msr.rst reference (Thomas Huth) [2043872] - Documentation: KVM: update amd-memory-encryption.rst references (Thomas Huth) [2043872] - Documentation: KVM: update s390-pv.rst reference (Thomas Huth) [2043872] - Documentation/virt/kvm/api.rst: Explain rc/rrc delivery (Thomas Huth) [2043872] - Documentation/virt/kvm/api.rst: Add protvirt dump/info api descriptions (Thomas Huth) [2043872] - Documentation: KVM: add API issues section (Thomas Huth) [2043872] - Documentation: virt: Protected virtual machine dumps (Thomas Huth) [2043872] - Documentation: KVM: add separate directories for architecture-specific documentation (Thomas Huth) [2043872] - KVM: s390: Add KVM_CAP_S390_PROTECTED_DUMP (Thomas Huth) [2043872] - KVM: s390: Add CPU dump functionality (Thomas Huth) [2043872] - KVM: s390: Add configuration dump functionality (Thomas Huth) [2043872] - KVM: s390: pv: Add query dump information (Thomas Huth) [2043872] - KVM: s390: pv: Add dump support definitions (Thomas Huth) [2043872] - KVM: s390: pv: Add query interface (Thomas Huth) [2043872] - s390/uv: Add dump fields to query (Thomas Huth) [2043872] - s390/uv: Add SE hdr query information (Thomas Huth) [2043872] - kvm: Move KVM_GET_XSAVE2 IOCTL definition at the end of kvm.h (Thomas Huth) [2043872] - docs: kvm: fix WARNINGs from api.rst (Thomas Huth) [2043872] - s390/mm: use non-quiescing sske for KVM switch to keyed guest (Thomas Huth) [2043872] - s390/gmap: voluntarily schedule during key setting (Thomas Huth) [2043872] - KVM: s390: Don't indicate suppression on dirtying, failing memop (Thomas Huth) [2043872] - s390: uv: Add offset comments to UV query struct and fix naming (Thomas Huth) [2043872] - KVM: s390: Use Makefile.kvm for common files (Thomas Huth) [2043872] - KVM: s390: Skip gfn/size sanity checks on memslot DELETE or FLAGS_ONLY (Thomas Huth) [2043872] - fs: dlm: fix invalid derefence of sb_lvbptr (Alexander Aring) [2121790] - fs: dlm: handle -EBUSY first in unlock validation (Alexander Aring) [2121790] - fs: dlm: handle -EBUSY first in lock arg validation (Alexander Aring) [2121790] - fs: dlm: fix race between test_bit() and queue_work() (Alexander Aring) [2121790] - scsi: core: Fix a use-after-free (Ming Lei) [1961010] - net/mlx5e: Fix wrong use of skb_tcp_all_headers() with encapsulation (Petr Oros) [2135685] - net: add skb_[inner_]tcp_all_headers helpers (Petr Oros) [2135685] - net: marvell: clean up trigraph warning on ??! string (Petr Oros) [2135685] - powerpc/pseries: Use lparcfg to reconfig VAS windows for DLPAR CPU (Steve Best) [2133103] - flow_dissector: Do not count vlan tags inside tunnel payload (Ivan Vecera) [2136875] - flow_offload: Introduce flow_match_pppoe (Ivan Vecera) [2136875] - net/sched: flower: Add PPPoE filter (Ivan Vecera) [2136875] - flow_dissector: Add PPPoE dissectors (Ivan Vecera) [2136875] - net/sched: flower: Consider the number of tags for vlan filters (Ivan Vecera) [2136875] - net/sched: flower: Add number of vlan tags filter (Ivan Vecera) [2136875] - flow_dissector: Add number of vlan tags dissector (Ivan Vecera) [2136875] - net/sched: flower: Reduce identation after is_key_vlan refactoring (Ivan Vecera) [2136875] - net/sched: flower: Helper function for vlan ethtype checks (Ivan Vecera) [2136875] - dissector: do not set invalid PPP protocol (Ivan Vecera) [2136875] - dm bufio: use the acquire memory barrier when testing for B_READING (Benjamin Marzinski) [2139161] - provide arch_test_bit_acquire for architectures that define test_bit (Benjamin Marzinski) [2139161] - wait_on_bit: add an acquire memory barrier (Benjamin Marzinski) [2139161] - add barriers to buffer_uptodate and set_buffer_uptodate (Benjamin Marzinski) [2139161] - dm verity: Add documentation for try_verify_in_tasklet option (Benjamin Marzinski) [2139161] - dm cache: delete the redundant word 'each' in comment (Benjamin Marzinski) [2139161] - dm raid: fix typo in analyse_superblocks code comment (Benjamin Marzinski) [2139161] - dm verity: enable WQ_HIGHPRI on verify_wq (Benjamin Marzinski) [2139161] - dm raid: delete the redundant word 'that' in comment (Benjamin Marzinski) [2139161] - dm: change from DMWARN to DMERR or DMCRIT for fatal errors (Benjamin Marzinski) [2139161] - dm bufio: fix some cases where the code sleeps with spinlock held (Benjamin Marzinski) [2139161] - dm writecache: fix smatch warning about invalid return from writecache_map (Benjamin Marzinski) [2139161] - dm verity: fix verity_parse_opt_args parsing (Benjamin Marzinski) [2139161] - dm verity: fix DM_VERITY_OPTS_MAX value yet again (Benjamin Marzinski) [2139161] - dm bufio: simplify DM_BUFIO_CLIENT_NO_SLEEP locking (Benjamin Marzinski) [2139161] - dm verity: have verify_wq use WQ_HIGHPRI if "try_verify_in_tasklet" (Benjamin Marzinski) [2139161] - dm verity: remove WQ_CPU_INTENSIVE flag since using WQ_UNBOUND (Benjamin Marzinski) [2139161] - dm verity: only copy bvec_iter in verity_verify_io if in_tasklet (Benjamin Marzinski) [2139161] - dm verity: optimize verity_verify_io if FEC not configured (Benjamin Marzinski) [2139161] - dm verity: conditionally enable branching for "try_verify_in_tasklet" (Benjamin Marzinski) [2139161] - dm bufio: conditionally enable branching for DM_BUFIO_CLIENT_NO_SLEEP (Benjamin Marzinski) [2139161] - dm verity: allow optional args to alter primary args handling (Benjamin Marzinski) [2139161] - dm verity: Add optional "try_verify_in_tasklet" feature (Benjamin Marzinski) [2139161] - dm bufio: Add DM_BUFIO_CLIENT_NO_SLEEP flag (Benjamin Marzinski) [2139161] - dm bufio: Add flags argument to dm_bufio_client_create (Benjamin Marzinski) [2139161] - dm: Start pr_preempt from the same starting path (Benjamin Marzinski) [2139161] - dm: Fix PR release handling for non All Registrants (Benjamin Marzinski) [2139161] - dm: Start pr_reserve from the same starting path (Benjamin Marzinski) [2139161] - dm: Allow dm_call_pr to be used for path searches (Benjamin Marzinski) [2139161] - Documentation: dm writecache: Render status list as list (Benjamin Marzinski) [2139161] - Documentation: dm writecache: add blank line before optional parameters (Benjamin Marzinski) [2139161] - dm snapshot: fix typo in snapshot_map() comment (Benjamin Marzinski) [2139161] - dm raid: remove redundant "the" in parse_raid_params() comment (Benjamin Marzinski) [2139161] - dm cache: fix typo in 2 comment blocks (Benjamin Marzinski) [2139161] - dm verity: fix checkpatch close brace error (Benjamin Marzinski) [2139161] - dm table: rename dm_target variable in dm_table_add_target() (Benjamin Marzinski) [2139161] - dm table: audit all dm_table_get_target() callers (Benjamin Marzinski) [2139161] - dm table: remove dm_table_get_num_targets() wrapper (Benjamin Marzinski) [2139161] - writeback: Avoid skipping inode writeback (Waiman Long) [2138886] - writeback: fix obtain a reference to a freeing memcg css (Waiman Long) [2138886] - mm/memcg: disable threshold event handlers on PREEMPT_RT (Waiman Long) [2138886] - memcg: increase MEMCG_CHARGE_BATCH to 64 (Waiman Long) [2138886] - mm: page_counter: rearrange struct page_counter fields (Waiman Long) [2138886] - mm: page_counter: remove unneeded atomic ops for low/min (Waiman Long) [2138886] - memcg: reduce size of memcg vmstats structures (Waiman Long) [2138886] - memcg: rearrange code (Waiman Long) [2138886] - memcg: extract memcg_vmstats from struct mem_cgroup (Waiman Long) [2138886] - mm: memcontrol: fix potential oom_lock recursion deadlock (Waiman Long) [2138886] - mm: memcontrol: add {pgscan,pgsteal}_{kswapd,direct} items in memory.stat of cgroup v2 (Waiman Long) [2138886] - mm/memcg: protect per-CPU counter by disabling preemption on PREEMPT_RT where needed. (Waiman Long) [2138886] - writeback: memcg: simplify cgroup_writeback_by_id (Waiman Long) [2138886] - writeback, cgroup: do not reparent dax inodes (Waiman Long) [2138886] - writeback, cgroup: remove wb from offline list before releasing refcnt (Waiman Long) [2138886] - writeback, cgroup: release dying cgwbs by switching attached inodes (Waiman Long) [2138886] - writeback, cgroup: support switching multiple inodes at once (Waiman Long) [2138886] - writeback, cgroup: split out the functional part of inode_switch_wbs_work_fn() (Waiman Long) [2138886] - writeback, cgroup: keep list of inodes attached to bdi_writeback (Waiman Long) [2138886] - writeback, cgroup: switch to rcu_work API in inode_switch_wbs() (Waiman Long) [2138886] - writeback, cgroup: increment isw_nr_in_flight before grabbing an inode (Waiman Long) [2138886] - writeback, cgroup: add smp_mb() to cgroup_writeback_umount() (Waiman Long) [2138886] - writeback, cgroup: do not switch inodes with I_WILL_FREE flag (Waiman Long) [2138886] - docs/admin-guide: cgroup-v2: typos and spaces (Waiman Long) [2138886] - fs: improve comments for writeback_single_inode() (Waiman Long) [2138886] - writeback: remove struct bdi_writeback_congested (Waiman Long) [2138886] - writeback: remove {set,clear}_wb_congested (Waiman Long) [2138886] - fs/writeback.c: use rcu_barrier() to wait for inflight wb switches going into workqueue when umount (Waiman Long) [2138886] - blkcg: remove unused __blkg_release_rcu() (Waiman Long) [2138886] - writeback: Add a bdi_writeback_rh extension to struct bdi_writeback (Waiman Long) [2138886] - RDMA/irdma: Report the correct link speed (Kamal Heib) [2125102] - blk-mq: avoid double ->queue_rq() because of early timeout (Ming Lei) [2132438] - blk-mq: add one API for waiting until quiesce is done (Ming Lei) [2132438] - blk-mq: support concurrent queue quiesce/unquiesce (Ming Lei) [2132438] - bridge: Do not send empty IFLA_AF_SPEC attribute (Ivan Vecera) [2139133] - net: bridge: Clear offload_fwd_mark when passing frame up bridge interface. (Ivan Vecera) [2139133] - net: bridge: vlan: fix memory leak in __allowed_ingress (Ivan Vecera) [2139133]- ice: Add additional CSR registers to ETHTOOL_GREGS (Petr Oros) [2131024] - udp: Update reuse->has_conns under reuseport_lock. (Xin Long) [2135937] - udp: Remove redundant __udp_sysctl_init() call from udp_init(). (Xin Long) [2135937] - udp: Fix a data-race around sysctl_udp_l3mdev_accept. (Xin Long) [2135937] - Documentation: fix udp_wmem_min in ip-sysctl.rst (Xin Long) [2135937] - be2net: Fix buffer overflow in be_get_module_eeprom (Josef Oskera) [2126917] - iommu/vt-d: Clean up si_domain in the init_dmars() error path (Jerry Snitselaar) [2133331]- md: Fix spelling mistake in comments of r5l_log (Nigel Croxon) [2112935] - md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d (Nigel Croxon) [2112935] - md/raid10: convert resync_lock to use seqlock (Nigel Croxon) [2112935] - md/raid10: fix improper BUG_ON() in raise_barrier() (Nigel Croxon) [2112935] - md/raid10: prevent unnecessary calls to wake_up() in fast path (Nigel Croxon) [2112935] - md/raid10: don't modify 'nr_waitng' in wait_barrier() for the case nowait (Nigel Croxon) [2112935] - md/raid10: factor out code from wait_barrier() to stop_waiting_barrier() (Nigel Croxon) [2112935] - md: Remove extra mddev_get() in md_seq_start() (Nigel Croxon) [2112935] - md/raid5: Remove unnecessary bio_put() in raid5_read_one_chunk() (Nigel Croxon) [2112935 2111563] - md/raid5: Ensure stripe_fill happens on non-read IO with journal (Nigel Croxon) [2112935] - md/raid5: Don't read ->active_stripes if it's not needed (Nigel Croxon) [2112935] - md/raid5: Cleanup prototype of raid5_get_active_stripe() (Nigel Croxon) [2112935] - md/raid5: Drop extern on function declarations in raid5.h (Nigel Croxon) [2112935] - md/raid5: Refactor raid5_get_active_stripe() (Nigel Croxon) [2112935] - md: Replace snprintf with scnprintf (Nigel Croxon) [2112935] - md/raid10: fix compile warning (Nigel Croxon) [2112935] - md/raid5: Fix spelling mistakes in comments (Nigel Croxon) [2112935] - md: call __md_stop_writes in md_stop (Nigel Croxon) [2112935] - md: Flush workqueue md_rdev_misc_wq in md_alloc() (Nigel Croxon) [2112935] - drivers:md:fix a potential use-after-free bug (Nigel Croxon) [2112935] - md/raid5: Ensure batch_last is released before sleeping for quiesce (Nigel Croxon) [2112935] - md/raid5: Move stripe_request_ctx up (Nigel Croxon) [2112935] - md/raid5: Drop unnecessary call to r5c_check_stripe_cache_usage() (Nigel Croxon) [2112935] - md/raid5: Make is_inactive_blocked() helper (Nigel Croxon) [2112935] - md/raid5: Refactor raid5_get_active_stripe() (Nigel Croxon) [2112935] - md-raid10: fix KASAN warning (Nigel Croxon) [2112935] - md: fix build failure for !MODULE (Nigel Croxon) [2112935] - raid5: fix duplicate checks for rdev->saved_raid_disk (Nigel Croxon) [2112935] - md/raid5: Convert prepare_to_wait() to wait_woken() api (Nigel Croxon) [2112935] - md/raid5: Fix sectors_to_do bitmap overflow in raid5_make_request() (Nigel Croxon) [2112935] - md: Fix spelling mistake in comments (Nigel Croxon) [2112935] - md/raid5: Increase restriction on max segments per request (Nigel Croxon) [2112935] - md/raid5: Improve debug prints (Nigel Croxon) [2112935] - md/raid5: Pivot raid5_make_request() (Nigel Croxon) [2112935] - md/raid5: Check all disks in a stripe_head for reshape progress (Nigel Croxon) [2112935] - md/raid5: Refactor add_stripe_bio() (Nigel Croxon) [2112935] - md/raid5: Keep a reference to last stripe_head for batch (Nigel Croxon) [2112935] - md/raid5: Refactor for loop in raid5_make_request() into while loop (Nigel Croxon) [2112935] - md/raid5: Move read_seqcount_begin() into make_stripe_request() (Nigel Croxon) [2112935] - md/raid5: Drop the do_prepare flag in raid5_make_request() (Nigel Croxon) [2112935] - md/raid5: Factor out helper from raid5_make_request() loop (Nigel Croxon) [2112935] - md/raid5: Move common stripe get code into new find_get_stripe() helper (Nigel Croxon) [2112935] - md/raid5: Move stripe_add_to_batch_list() call out of add_stripe_bio() (Nigel Croxon) [2112935] - md/raid5: Refactor raid5_make_request loop (Nigel Croxon) [2112935] - md/raid5: Factor out ahead_of_reshape() function (Nigel Croxon) [2112935] - md/raid5: Make logic blocking check consistent with logic that blocks (Nigel Croxon) [2112935] - md: unlock mddev before reap sync_thread in action_store (Nigel Croxon) [2112935] - md: Explicitly create command-line configured devices (Nigel Croxon) [2112935] - md: Notify sysfs sync_completed in md_reap_sync_thread() (Nigel Croxon) [2112935] - md: Ensure resync is reported after it starts (Nigel Croxon) [2112935] - md: Use enum for overloaded magic numbers used by mddev->curr_resync (Nigel Croxon) [2112935] - md/raid5-cache: Annotate pslot with __rcu notation (Nigel Croxon) [2112935] - md/raid5-cache: Clear conf->log after finishing work (Nigel Croxon) [2112935] - md/raid5-cache: Drop RCU usage of conf->log (Nigel Croxon) [2112935] - md/raid5-cache: Take mddev_lock in r5c_journal_mode_show() (Nigel Croxon) [2112935] - md/raid5: suspend the array for calls to log_exit() (Nigel Croxon) [2112935] - md/raid5-ppl: Drop unused argument from ppl_handle_flush_request() (Nigel Croxon) [2112935] - md/raid5-log: Drop extern decorators for function prototypes (Nigel Croxon) [2112935] - md/raid5: missing error code in setup_conf() (Nigel Croxon) [2112935] - Revert "md: don't unregister sync_thread with reconfig_mutex held" (Nigel Croxon) [2112935] - qed: fix typos in comments (Manish Chopra) [2111885] - net: qede: Remove unnecessary synchronize_irq() before free_irq() (Manish Chopra) [2111885] - RDMA/qedr: Fix potential memory leak in __qedr_alloc_mr() (Manish Chopra) [2111885] - qlogic: qed: fix clang -Wformat warnings (Manish Chopra) [2111885] - qed: Use bitmap_empty() (Manish Chopra) [2111885] - qed: Use the bitmap API to allocate bitmaps (Manish Chopra) [2111885] - qlogic/qed: fix repeated words in comments (Manish Chopra) [2111885] - net: qed: fix typos in comments (Manish Chopra) [2111885] - RDMA/qedr: Remove unnecessary synchronize_irq() before free_irq() (Manish Chopra) [2111885] - qed: Remove unnecessary synchronize_irq() before free_irq() (Manish Chopra) [2111885] - qed: replace bitmap_weight with bitmap_empty in qed_roce_stop() (Manish Chopra) [2111885] - qed: rework qed_rdma_bmap_free() (Manish Chopra) [2111885] - qed: Remove IP services API. (Manish Chopra) [2111885] - qed: remove an unneed NULL check on list iterator (Manish Chopra) [2111885] - RDMA/irdma: Report RNR NAK generation in device caps (Kamal Heib) [2120676 2103957] - RDMA/irdma: Use s/g array in post send only when its valid (Kamal Heib) [2120676 2103957] - RDMA/irdma: Return correct WC error for bind operation failure (Kamal Heib) [2120676 2103957] - RDMA/irdma: Return error on MR deregister CQP failure (Kamal Heib) [2120676 2103957] - RDMA/irdma: Report the correct max cqes from query device (Kamal Heib) [2120676 2103957] - RDMA/siw: Pass a pointer to virt_to_page() (Kamal Heib) [2120676] - RDMA/cma: Fix arguments order in net device validation (Kamal Heib) [2120676] - RDMA/irdma: Fix drain SQ hang with no completion (Kamal Heib) [2120676 2103957 2033244 2053376] - IB/iser: Fix login with authentication (Kamal Heib) [2120676] - RDMA/ib_srpt: Unify checking rdma_cm_id condition in srpt_cm_req_recv() (Kamal Heib) [2120676] - RDMA/rxe: Fix error unwind in rxe_create_qp() (Kamal Heib) [2120676] - RDMA/rxe: Split qp state for requester and completer (Kamal Heib) [2120676] - RDMA/rxe: Generate error completion for error requester QP state (Kamal Heib) [2120676] - RDMA/rxe: Update wqe_index for each wqe error completion (Kamal Heib) [2120676] - RDMA/srpt: Fix a use-after-free (Kamal Heib) [2120676] - RDMA/srpt: Introduce a reference count in struct srpt_device (Kamal Heib) [2120676] - RDMA/srpt: Duplicate port name members (Kamal Heib) [2120676] - Revert "RDMA/rxe: Create duplicate mapping tables for FMRs" (Kamal Heib) [2120676] - RDMA/rxe: Replace __rxe_do_task by rxe_run_task (Kamal Heib) [2120676] - RDMA/rxe: Limit the number of calls to each tasklet (Kamal Heib) [2120676] - RDMA/rxe: Make the tasklet exits the same (Kamal Heib) [2120676] - RDMA/rxe: Fix rnr retry behavior (Kamal Heib) [2120676] - RDMA/rxe: Add rxe_is_fenced() subroutine (Kamal Heib) [2120676] - RDMA/rxe: For invalidate compare according to set keys in mr (Kamal Heib) [2120676] - RDMA: Fix comment typo (Kamal Heib) [2120676] - IB: Fix repeated words 'the the' comments (Kamal Heib) [2120676] - RDMA/rxe: Fix mw bind to allow any consumer key portion (Kamal Heib) [2120676] - RDMA/rxe: Fix spelling mistake in error print (Kamal Heib) [2120676] - RDMA/rxe: Remove unused qp parameter (Kamal Heib) [2120676] - RDMA/hfi1: fix potential memory leak in setup_base_ctxt() (Kamal Heib) [2120676] - RDMA/rxe: Remove unused mask parameter (Kamal Heib) [2120676] - RDMA/rxe: Rename rxe_atomic_reply to atomic_reply (Kamal Heib) [2120676] - RDMA/rxe: Add common rxe_prepare_res() (Kamal Heib) [2120676] - RDMA/rxe: Fix BUG: KASAN: null-ptr-deref in rxe_qp_do_cleanup (Kamal Heib) [2120676] - RDMA/siw: Fix duplicated reported IW_CM_EVENT_CONNECT_REPLY event (Kamal Heib) [2120676] - RDMA/hfi1: Depend on !UML (Kamal Heib) [2120676] - RDMA/irdma: Use the bitmap API to allocate bitmaps (Kamal Heib) [2120676 2103957] - RDMA: remove useless condition in siw_create_cq() (Kamal Heib) [2120676] - RDMA/irdma: Fix setting of QP context err_rq_idx_valid field (Kamal Heib) [2120676 2103957] - RDMA/irdma: Fix VLAN connection with wildcard address (Kamal Heib) [2120676 2103957] - RDMA/irdma: Fix a window for use-after-free (Kamal Heib) [2120676 2103957] - RDMA/irdma: Make resource distribution algorithm more QP oriented (Kamal Heib) [2120676 2103957] - RDMA/irdma: Make CQP invalid state error non-critical (Kamal Heib) [2120676 2103957] - RDMA/irdma: Add AE source to error log (Kamal Heib) [2120676 2103957] - RDMA/irdma: Add 2 level PBLE support for FMR (Kamal Heib) [2120676 2103957] - IB: Fix spelling of 'writable' (Kamal Heib) [2120676] - RDMA/rxe: Remove unnecessary include statement (Kamal Heib) [2120676] - RDMA/rxe: Replace include statement (Kamal Heib) [2120676] - RDMA/rxe: Convert pr_warn/err to pr_debug in pyverbs (Kamal Heib) [2120676] - RDMA/rxe: Fix deadlock in rxe_do_local_ops() (Kamal Heib) [2120676] - RDMA/rxe: Merge normal and retry atomic flows (Kamal Heib) [2120676] - RDMA/rxe: Move atomic original value to res (Kamal Heib) [2120676] - RDMA/rxe: Move atomic responder res to atomic_reply (Kamal Heib) [2120676] - RDMA/rxe: Add a responder state for atomic reply (Kamal Heib) [2120676] - RDMA/rxe: Move code to rxe_prepare_atomic_res() (Kamal Heib) [2120676] - RDMA/rxe: Convert read side locking to rcu (Kamal Heib) [2120676] - RDMA/rxe: Stop lookup of partially built objects (Kamal Heib) [2120676] - RDMA/rxe: Remove useless pkt parameters (Kamal Heib) [2120676] - RDMA: Correct duplicated words in comments (Kamal Heib) [2120676] - IB/iser: Drain the entire QP during destruction flow (Kamal Heib) [2120676] - RDMA/rxe: fix xa_alloc_cycle() error return value check again (Kamal Heib) [2120676] - RDMA/core: Add a netevent notifier to cma (Kamal Heib) [2120676 2117912] - RDMA/core: Add an rb_tree that stores cm_ids sorted by ifindex and remote IP (Kamal Heib) [2120676 2117912] - RDMA/hfi1: Fix typo in comment (Kamal Heib) [2120676] - RDMA: Split kernel-only global device caps from uverbs device caps (Kamal Heib) [2120675] - RDMA/hfi1: Remove all traces of diagpkt support (Kamal Heib) [2120675] - RDMA/hfi1: Consolidate software versions (Kamal Heib) [2120675] - RDMA/hfi1: Remove pointless driver version (Kamal Heib) [2120675] - RDMA/hfi1: Prevent panic when SDMA is disabled (Kamal Heib) [2120675] - RDMA/core: Fix typo in comment (Kamal Heib) [2120675] - IB/hf1: Fix typo in comment (Kamal Heib) [2120675] - IB/iser: Fix typo in comment (Kamal Heib) [2120675] - IB/isert: Avoid flush_scheduled_work() usage (Kamal Heib) [2120675] - RDMA/siw: Enable siw on tunnel devices (Kamal Heib) [2120675] - RDMA/rxe: Enforce IBA C11-17 (Kamal Heib) [2120675] - RDMA/rxe: Move mw cleanup code to rxe_mw_cleanup() (Kamal Heib) [2120675] - RDMA/rxe: Move mr cleanup code to rxe_mr_cleanup() (Kamal Heib) [2120675] - RDMA/rxe: Move qp cleanup code to rxe_qp_do_cleanup() (Kamal Heib) [2120675] - RDMA/rxe: Check rxe_get() return value (Kamal Heib) [2120675] - RDMA/rxe: Add rxe_srq_cleanup() (Kamal Heib) [2120675] - RDMA/rxe: Remove IB_SRQ_INIT_MASK (Kamal Heib) [2120675] - RDMA/rxe: Skip adjusting remote addr for write in retry operation (Kamal Heib) [2120675] - RDMA/rxe: Optimize the mr pool struct (Kamal Heib) [2120675] - RDMA/rxe: Replace paylen by payload (Kamal Heib) [2120675] - RDMA/core: Avoid flush_workqueue(system_unbound_wq) usage (Kamal Heib) [2120675] - RDMA/rxe: Remove useless parameters for update_state() (Kamal Heib) [2120675] - RDMA/rxe: Remove reliable datagram support (Kamal Heib) [2120675] - RDMA/rxe: Remove support for SMI QPs from rdma_rxe (Kamal Heib) [2120675] - RDMA/rxe: Remove mc_grp_pool from struct rxe_dev (Kamal Heib) [2120675] - RDMA/rxe: Remove type 2A memory window capability (Kamal Heib) [2120675] - RDMA/usnic: Refactor usnic_uiom_alloc_pd() (Kamal Heib) [2120675] - RDMA/usnic: Stop using iommu_present() (Kamal Heib) [2120675] - IB/SA: Replace usage of found with dedicated list iterator variable (Kamal Heib) [2120675] - IB/rdmavt: add missing locks in rvt_ruc_loopback (Kamal Heib) [2120675] - IB/uverbs: Move part of enum ib_device_cap_flags to uapi (Kamal Heib) [2120675] - IB/uverbs: Move enum ib_raw_packet_caps to uapi (Kamal Heib) [2120675] - RDMA/pvrdma: Remove useless DMA-32 fallback configuration (Kamal Heib) [2120675] - RDMA: switch from 'pci_' to 'dma_' API (Kamal Heib) [2120675] - scsi: RDMA/srp: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Kamal Heib) [2120675] - scsi: RDMA/iser: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Kamal Heib) [2120675] - x86/fpu: Prevent FPU state corruption (Oleksandr Natalenko) [2130890] - net: team: Unsync device addresses on ndo_stop (Hangbin Liu) [2135240] - mmu_gather: fix the CONFIG_MMU_GATHER_NO_RANGE case (Waiman Long) [2130166] {CVE-2022-39188} - mmu_gather: Force tlb-flush VM_PFNMAP vmas (Waiman Long) [2130166] {CVE-2022-39188} - mmu_gather: Let there be one tlb_{start,end}_vma() implementation (Waiman Long) [2130166] {CVE-2022-39188} - mmu_gather: Remove per arch tlb_{start,end}_vma() (Waiman Long) [2130166] {CVE-2022-39188} - x86/ldt: Use tlb_gather_mmu_fullmm() when freeing LDT page-tables (Waiman Long) [2130166] {CVE-2022-39188} - tlb: arch: Remove empty __tlb_remove_tlb_entry() stubs (Waiman Long) [2130166] {CVE-2022-39188} - tlb: mmu_gather: Remove start/end arguments from tlb_gather_mmu() (Waiman Long) [2130166] {CVE-2022-39188} - tlb: mmu_gather: Introduce tlb_gather_mmu_fullmm() (Waiman Long) [2130166] {CVE-2022-39188} - tlb: mmu_gather: Remove unused start/end arguments from tlb_finish_mmu() (Waiman Long) [2130166] {CVE-2022-39188} - mm: proc: Invalidate TLB after clearing soft-dirty page state (Waiman Long) [2130166] {CVE-2022-39188} - mm: fix clear_refs_write locking (Waiman Long) [2130166] {CVE-2022-39188} - s390/Kconfig: sort config S390 select list once again (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: provide MMU_GATHER_TABLE_FREE (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: rename HAVE_MMU_GATHER_NO_GATHER (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: rename HAVE_MMU_GATHER_PAGE_SIZE (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: rename HAVE_RCU_TABLE_FREE (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: avoid potential double flush (Waiman Long) [2130166] {CVE-2022-39188} - powerpc/mm/book3s64/radix: Flush the full mm even when need_flush_all is set (Waiman Long) [2130166] {CVE-2022-39188} - powerpc/mm/book3s64/radix: Use freed_tables instead of need_flush_all (Waiman Long) [2130166] {CVE-2022-39188} - mm/tlb: Remove CONFIG_HAVE_RCU_TABLE_INVALIDATE (Waiman Long) [2130166] {CVE-2022-39188} - Add skb drop reasons to IPv6 UDP receive path (Antoine Tenart) [2059158] - net: skb: export skb drop reaons to user by TRACE_DEFINE_ENUM (Antoine Tenart) [2059158] - net: skb: prevent the split of kfree_skb_reason() by gcc (Antoine Tenart) [2059158] - tcp: md5: fix IPv4-mapped support (Antoine Tenart) [2059158] - net: dropreason: reformat the comment fo skb drop reasons (Antoine Tenart) [2059158] - net: skb: use auto-generation to convert skb drop reason to string (Antoine Tenart) [2059158] - net: skb: move enum skb_drop_reason to standalone header file (Antoine Tenart) [2059158] - tcp_ipv6: set the drop_reason in the right place (Antoine Tenart) [2059158] - net: tcp: reset 'drop_reason' to NOT_SPCIFIED in tcp_v{4,6}_rcv() (Antoine Tenart) [2059158] - net: skb: change the definition SKB_DR_SET() (Antoine Tenart) [2059158] - net: skb: check the boundrary of drop reason in kfree_skb_reason() (Antoine Tenart) [2059158] - net: dm: check the boundary of skb drop reasons (Antoine Tenart) [2059158] - tcp: fix signed/unsigned comparison (Antoine Tenart) [2059158] - tcp: add drop reason support to tcp_ofo_queue() (Antoine Tenart) [2059158] - tcp: add drop reasons to tcp_rcv_synsent_state_process() (Antoine Tenart) [2059158] - tcp: make tcp_rcv_synsent_state_process() drop monitor friend (Antoine Tenart) [2059158] - tcp: add drop reason support to tcp_prune_ofo_queue() (Antoine Tenart) [2059158] - tcp: add two drop reasons for tcp_ack() (Antoine Tenart) [2059158] - tcp: add drop reasons to tcp_rcv_state_process() (Antoine Tenart) [2059158] - tcp: make tcp_rcv_state_process() drop monitor friendly (Antoine Tenart) [2059158] - tcp: add drop reason support to tcp_validate_incoming() (Antoine Tenart) [2059158] - tcp: get rid of rst_seq_match (Antoine Tenart) [2059158] - tcp: consume incoming skb leading to a reset (Antoine Tenart) [2059158] - tcp: tcp_send_challenge_ack delete useless param `skb` (Antoine Tenart) [2059158] - ipv6: fix NULL deref in ip6_rcv_core() (Antoine Tenart) [2059158] - net: ipv6: add skb drop reasons to ip6_protocol_deliver_rcu() (Antoine Tenart) [2059158] - net: ipv6: add skb drop reasons to ip6_rcv_core() (Antoine Tenart) [2059158] - net: ipv6: add skb drop reasons to TLV parse (Antoine Tenart) [2059158] - net: ipv6: remove redundant statistics in ipv6_hop_jumbo() (Antoine Tenart) [2059158] - net: icmp: introduce function icmpv6_param_prob_reason() (Antoine Tenart) [2059158] - net: ip: add skb drop reasons to ip forwarding (Antoine Tenart) [2059158] - net: ipv6: add skb drop reasons to ip6_pkt_drop() (Antoine Tenart) [2059158] - net: ipv4: add skb drop reasons to ip_error() (Antoine Tenart) [2059158] - skb: add some helpers for skb drop reasons (Antoine Tenart) [2059158] - net: icmp: add skb drop reasons to icmp protocol (Antoine Tenart) [2059158] - ping: Check return value of function 'ping_queue_rcv_skb' (Antoine Tenart) [2059158] - net: icmp: introduce __ping_queue_rcv_skb() to report drop reasons (Antoine Tenart) [2059158] - net: skb: rename SKB_DROP_REASON_PTYPE_ABSENT (Antoine Tenart) [2059158] - net: sock: introduce sock_queue_rcv_skb_reason() (Antoine Tenart) [2059158] - net: tcp: fix shim definition of tcp_inbound_md5_hash (Antoine Tenart) [2059158] - skb: make drop reason booleanable (Antoine Tenart) [2059158] - net/tcp: Merge TCP-MD5 inbound callbacks (Antoine Tenart) [2059158] - tcp: md5: add tcp_md5_needed jump label (Antoine Tenart) [2059158] - net: tun: track dropped skb via kfree_skb_reason() (Antoine Tenart) [2059158] - net: tun: split run_ebpf_filter() and pskb_trim() into different "if statement" (Antoine Tenart) [2059158] - net: tap: track dropped skb via kfree_skb_reason() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for __netif_receive_skb_core() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for sch_handle_ingress() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for do_xdp_generic() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for enqueue_to_backlog() (Antoine Tenart) [2059158] - net: dev: add skb drop reasons to __dev_xmit_skb() (Antoine Tenart) [2059158] - net: skb: introduce the function kfree_skb_list_reason() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for sch_handle_egress() (Antoine Tenart) [2059158] - net: neigh: add skb drop reasons to arp_error_report() (Antoine Tenart) [2059158] - net: neigh: use kfree_skb_reason() for __neigh_event_send() (Antoine Tenart) [2059158] - net: ip: add skb drop reasons for ip egress path (Antoine Tenart) [2059158] - net: tcp: use tcp_drop_reason() for tcp_data_queue_ofo() (Antoine Tenart) [2059158] - net: tcp: use tcp_drop_reason() for tcp_data_queue() (Antoine Tenart) [2059158] - net: tcp: use tcp_drop_reason() for tcp_rcv_established() (Antoine Tenart) [2059158] - net: tcp: use kfree_skb_reason() for tcp_v{4,6}_do_rcv() (Antoine Tenart) [2059158] - net: tcp: add skb drop reasons to tcp_add_backlog() (Antoine Tenart) [2059158] - net: tcp: add skb drop reasons to tcp_v{4,6}_inbound_md5_hash() (Antoine Tenart) [2059158] - ipv4/tcp: Pass dif and sdif to tcp_v4_inbound_md5_hash (Antoine Tenart) [2059158] - ipv6/tcp: Pass dif and sdif to tcp_v6_inbound_md5_hash (Antoine Tenart) [2059158] - ipv4/tcp: Use local variable for tcp_md5_addr (Antoine Tenart) [2059158] - net: tcp: use kfree_skb_reason() for tcp_v6_rcv() (Antoine Tenart) [2059158] - net: tcp: add skb drop reasons to tcp_v4_rcv() (Antoine Tenart) [2059158] - net: tcp: introduce tcp_drop_reason() (Antoine Tenart) [2059158] - ipv6: Add reasons for skb drops to __udp6_lib_rcv (Antoine Tenart) [2059158] - net: drop_monitor: support drop reason (Antoine Tenart) [2059158] - net: udp: use kfree_skb_reason() in __udp_queue_rcv_skb() (Antoine Tenart) [2059158] - net: udp: use kfree_skb_reason() in udp_queue_rcv_one_skb() (Antoine Tenart) [2059158] - net: ipv4: use kfree_skb_reason() in ip_protocol_deliver_rcu() (Antoine Tenart) [2059158] - net: ipv4: use kfree_skb_reason() in ip_rcv_finish_core() (Antoine Tenart) [2059158] - net: ipv4: use kfree_skb_reason() in ip_rcv_core() (Antoine Tenart) [2059158] - net: netfilter: use kfree_drop_reason() for NF_DROP (Antoine Tenart) [2059158] - net: skb_drop_reason: add document for drop reasons (Antoine Tenart) [2059158] - net: socket: rename SKB_DROP_REASON_SOCKET_FILTER (Antoine Tenart) [2059158] - net: skb: use kfree_skb_reason() in __udp4_lib_rcv() (Antoine Tenart) [2059158] - net: skb: use kfree_skb_reason() in tcp_v4_rcv() (Antoine Tenart) [2059158] - net: skb: introduce kfree_skb_reason() (Antoine Tenart) [2059158] - bnx2x: Fix comment typo (Manish Chopra) [2111882] - bnx2x: Fix spelling mistake "regiser" -> "register" (Manish Chopra) [2111882] - bnx2x: Fix undefined behavior due to shift overflowing the constant (Manish Chopra) [2111882] - net: sched: act_ct: fix possible refcount leak in tcf_ct_init() (Davide Caratti) [2133741] - net: sched: fix possible refcount leak in tc_new_tfilter() (Davide Caratti) [2133741] - sch_sfb: Also store skb len before calling child enqueue (Davide Caratti) [2133741] - sch_sfb: Don't assume the skb is still around after enqueueing to child (Davide Caratti) [2133741] - net/sched: fix netdevice reference leaks in attach_default_qdiscs() (Davide Caratti) [2133741] - net: sched: tbf: don't call qdisc_put() while holding tree lock (Davide Caratti) [2133741] - net: Fix data-races around weight_p and dev_weight_[rt]x_bias. (Davide Caratti) [2133741] - net/sched: act_api: Notify user space if any actions were flushed before error (Davide Caratti) [2133741] - tipc: fix an information leak in tipc_topsrv_kern_subscr (Xin Long) [2134962] - tipc: Fix recognition of trial period (Xin Long) [2134962] - tipc: fix shift wrapping bug in map_get() (Xin Long) [2134962] - PCI/ASPM: Make Intel DG2 L1 acceptable latency unlimited (Myron Stowe) [2072656] - x86/pci/xen: Use msi_msg shadow structs (Jerry Snitselaar) [2133518] - iommu/intel: Use msi_msg shadow structs (Jerry Snitselaar) [2133518] - PCI: MSI: Fix Kconfig dependencies for PCI_MSI_ARCH_FALLBACKS (Jerry Snitselaar) [2133518] - x86/apic/msi: Unbreak DMAR and HPET MSI (Jerry Snitselaar) [2133518] - iommu/amd: Remove domain search for PCI/MSI (Jerry Snitselaar) [2133518] - iommu/vt-d: Remove domain search for PCI/MSI[X] (Jerry Snitselaar) [2133518] - x86/irq: Make most MSI ops XEN private (Jerry Snitselaar) [2133518] - x86/irq: Cleanup the arch_*_msi_irqs() leftovers (Jerry Snitselaar) [2133518] - PCI/MSI: Make arch_.*_msi_irq[s] fallbacks selectable (Jerry Snitselaar) [2133518] - x86/xen: Wrap XEN MSI management into irqdomain (Jerry Snitselaar) [2133518] - x86/xen: Consolidate XEN-MSI init (Jerry Snitselaar) [2133518] - x86/xen: Rework MSI teardown (Jerry Snitselaar) [2133518] - x86/xen: Make xen_msi_init() static and rename it to xen_hvm_msi_init() (Jerry Snitselaar) [2133518] - x86/irq: Move apic_post_init() invocation to one place (Jerry Snitselaar) [2133518] - x86/msi: Use generic MSI domain ops (Jerry Snitselaar) [2133518] - x86/msi: Remove pointless vcpu_affinity callback (Jerry Snitselaar) [2133518] - netfilter: nf_conntrack_irc: Tighten matching on DCC message (Wander Lairson Costa) [2124092] {CVE-2022-2663} - netfilter: nf_conntrack_irc: Fix forged IP logic (Wander Lairson Costa) [2124092] {CVE-2022-2663} - ice: Add support Flex RXD (Michal Schmidt) [2131310] - asm-generic: sections: refactor memory_intersects (Jerry Snitselaar) [2112119] - swiotlb: fix passing local variable to debugfs_create_ulong() (Jerry Snitselaar) [2112119] - swiotlb: move struct io_tlb_slot to swiotlb.c (Jerry Snitselaar) [2112119] - swiotlb: ensure a segment doesn't cross the area boundary (Jerry Snitselaar) [2112119] - swiotlb: consolidate rounding up default_nslabs (Jerry Snitselaar) [2112119] - swiotlb: remove unused fields in io_tlb_mem (Jerry Snitselaar) [2112119] - swiotlb: fix use after free on error handling path (Jerry Snitselaar) [2112119] - swiotlb: split up the global swiotlb lock (Jerry Snitselaar) [2112119] - swiotlb: fail map correctly with failed io_tlb_default_mem (Jerry Snitselaar) [2112119] - swiotlb: remove a useless return in swiotlb_init (Jerry Snitselaar) [2112119] - swiotlb: remove the unused swiotlb_force declaration (Jerry Snitselaar) [2112119] - iommu/dma: Fix race condition during iova_domain initialization (Jerry Snitselaar) [2112119] - iommu/amd: Fix compile warning in init code (Jerry Snitselaar) [2106599] - iommu/amd: Simplify and Consolidate Virtual APIC (AVIC) Enablement (Jerry Snitselaar) [2106599] - iommu/vt-d: Check correct capability for sagaw determination (Jerry Snitselaar) [2112119] - iommu/vt-d: Correctly calculate sagaw value of IOMMU (Jerry Snitselaar) [2112119] - iommu/vt-d: Fix kdump kernels boot failure with scalable mode (Jerry Snitselaar) [2080413] - iommu/amd: use full 64-bit value in build_completion_wait() (Jerry Snitselaar) [2112119] - swiotlb: avoid potential left shift overflow (Jerry Snitselaar) [2112119] - dma-debug: improve search for partial syncs (Jerry Snitselaar) [2112119] - iommu/iova: Improve 32-bit free space estimate (Jerry Snitselaar) [2112119] - iommu/amd: Handle return of iommu_device_sysfs_add (Jerry Snitselaar) [2112119] - swiotlb: fix setting ->force_bounce (Jerry Snitselaar) [2112119] - swiotlb: use the right nslabs-derived sizes in swiotlb_init_late (Jerry Snitselaar) [2112119] - swiotlb: use the right nslabs value in swiotlb_init_remap (Jerry Snitselaar) [2112119] - swiotlb: don't panic when the swiotlb buffer can't be allocated (Jerry Snitselaar) [2112119] - x86: remove cruft from (Jerry Snitselaar) [2112119] - swiotlb: remove swiotlb_init_with_tbl and swiotlb_init_late_with_tbl (Jerry Snitselaar) [2112119] - swiotlb: provide swiotlb_init variants that remap the buffer (Jerry Snitselaar) [2112119] - swiotlb: pass a gfp_mask argument to swiotlb_init_late (Jerry Snitselaar) [2112119] - swiotlb: add a SWIOTLB_ANY flag to lift the low memory restriction (Jerry Snitselaar) [2112119] - swiotlb: make the swiotlb_init interface more useful (Jerry Snitselaar) [2112119] - x86: centralize setting SWIOTLB_FORCE when guest memory encryption is enabled (Jerry Snitselaar) [2112119] - x86: remove the IOMMU table infrastructure (Jerry Snitselaar) [2112119] - swiotlb: rename swiotlb_late_init_with_default_size (Jerry Snitselaar) [2112119] - swiotlb: simplify swiotlb_max_segment (Jerry Snitselaar) [2112119] - iommu/vt-d: avoid invalid memory access via node_online(NUMA_NO_NODE) (Jerry Snitselaar) [2112119] - iommu/arm-smmu-v3: check return value after calling platform_get_resource() (Jerry Snitselaar) [2112119] - iommu/arm-smmu: fix possible null-ptr-deref in arm_smmu_device_probe() (Jerry Snitselaar) [2112119] - iommu/amd: Increase timeout waiting for GA log enablement (Jerry Snitselaar) [2112119] - iommu/amd: Do not call sleep while holding spinlock (Jerry Snitselaar) [2112119] - iommu/amd: Remove redundant check (Jerry Snitselaar) [2112119] - swiotlb: simplify array allocation (Jerry Snitselaar) [2112119] - swiotlb: tidy up includes (Jerry Snitselaar) [2112119] - treewide: Replace the use of mem_encrypt_active() with cc_platform_has() (Jerry Snitselaar) [2112119] - swiotlb: simplify debugfs setup (Jerry Snitselaar) [2112119] - iommu: Log iova range in map/unmap trace events (Jerry Snitselaar) [2112119] - iommu/amd: Improve amd_iommu_v2_exit() (Jerry Snitselaar) [2112119] - iommu/amd: Remove unused struct fault.devid (Jerry Snitselaar) [2112119] - iommu/amd: Clean up function declarations (Jerry Snitselaar) [2112119] - iommu/amd: Improve error handling for amd_iommu_init_pci (Jerry Snitselaar) [2112119] - iommu/iova: Separate out rcache init (Jerry Snitselaar) [2112119] - iommu/iova: Temporarily include dma-mapping.h from iova.h (Jerry Snitselaar) [2112119] - iommu: Move flush queue data into iommu_dma_cookie (Jerry Snitselaar) [2112119] - iommu/iova: Move flush queue code to iommu-dma (Jerry Snitselaar) [2112119] - iommu/iova: Consolidate flush queue code (Jerry Snitselaar) [2112119] - iommu/vt-d: Use put_pages_list (Jerry Snitselaar) [2112119] - iommu/amd: Use put_pages_list (Jerry Snitselaar) [2112119] - iommu/amd: Simplify pagetable freeing (Jerry Snitselaar) [2112119] - iommu/iova: Squash flush_cb abstraction (Jerry Snitselaar) [2112119] - iommu/iova: Squash entry_dtor abstraction (Jerry Snitselaar) [2112119] - iommu/iova: Move fast alloc size roundup into alloc_iova_fast() (Jerry Snitselaar) [2112119] - iommu/arm-smmu-v3: fix event handling soft lockup (Jerry Snitselaar) [2112119] - iommu/arm-smmu-v3: Avoid open coded arithmetic in memory allocation (Jerry Snitselaar) [2112119] - iommu/amd: Fix loop timeout issue in iommu_ga_log_enable() (Jerry Snitselaar) [2112119] - iommu/intel: Use msi_msg shadow structs (Jerry Snitselaar) [2112119] - dma-mapping: use 'bitmap_zalloc()' when applicable (Jerry Snitselaar) [2112119] - iommu/dma: Use kvcalloc() instead of kvzalloc() (Jerry Snitselaar) [2112119] - iommu/vt-d: Convert the return type of first_pte_in_page to bool (Jerry Snitselaar) [2112119] - iommu/vt-d: Use second level for GPA->HPA translation (Jerry Snitselaar) [2112119] - iommu/vt-d: Remove duplicate identity domain flag (Jerry Snitselaar) [2112119] - iommu/vt-d: Do not falsely log intel_iommu is unsupported kernel option (Jerry Snitselaar) [2112119] - iommu/dma: Unexport IOVA cookie management (Jerry Snitselaar) [2112119] - iommu/amd: Use struct_group() for memcpy() region (Jerry Snitselaar) [2112119] - dma-mapping: remove bogus test for pfn_valid from dma_map_resource (Jerry Snitselaar) [2112119] - iommu/vt-d: Use pci_dev_id() helper (Jerry Snitselaar) [2112119] - swiotlb-xen: this is PV-only on x86 (Jerry Snitselaar) [2112119] - xen/pci-swiotlb: reduce visibility of symbols (Jerry Snitselaar) [2112119] - iova: Export alloc_iova_fast() and free_iova_fast() (Jerry Snitselaar) [2112119] - iommu: Clarify default domain Kconfig (Jerry Snitselaar) [2112119] - iommu/io-pgtable: Abstract iommu_iotlb_gather access (Jerry Snitselaar) [2112119] - iommu/vt-d: Refactor Kconfig a bit (Jerry Snitselaar) [2112119] - iommu: Allow enabling non-strict mode dynamically (Jerry Snitselaar) [2112119] - iommu: Merge strictness and domain type configs (Jerry Snitselaar) [2112119] - iommu: Only log strictness for DMA domains (Jerry Snitselaar) [2112119] - iommu: Expose DMA domain strictness via sysfs (Jerry Snitselaar) [2112119] - iommu: Express DMA strictness via the domain type (Jerry Snitselaar) [2112119] - iommu/vt-d: Prepare for multiple DMA domain types (Jerry Snitselaar) [2112119] - iommu/arm-smmu: Prepare for multiple DMA domain types (Jerry Snitselaar) [2112119] - iommu/amd: Prepare for multiple DMA domain types (Jerry Snitselaar) [2112119] - iommu: Introduce explicit type for non-strict DMA domains (Jerry Snitselaar) [2112119] - iommu/io-pgtable: Remove non-strict quirk (Jerry Snitselaar) [2112119] - iommu: Indicate queued flushes via gather data (Jerry Snitselaar) [2112119] - iommu/amd: Remove stale amd_iommu_unmap_flush usage (Jerry Snitselaar) [2112119] - iommu: Remove mode argument from iommu_set_dma_strict() (Jerry Snitselaar) [2112119] - iommu/amd: Add support for IOMMU default DMA mode build options (Jerry Snitselaar) [2112119] - iommu/vt-d: Add support for IOMMU default DMA mode build options (Jerry Snitselaar) [2112119] - iommu: Enhance IOMMU default DMA mode build options (Jerry Snitselaar) [2112119] - iommu: Print strict or lazy mode at init time (Jerry Snitselaar) [2112119] - iommu: Deprecate Intel and AMD cmdline methods to enable strict mode (Jerry Snitselaar) [2112119] - dma-debug: use memory_intersects() directly (Jerry Snitselaar) [2112119] - dma-debug: fix return value of __setup handlers (Jerry Snitselaar) [2112119] - arm-smmu-qcom: Ensure the qcom_scm driver has finished probing (Jerry Snitselaar) [2112119] - iommu/io-pgtable-arm: Clean up faulty sanity check (Jerry Snitselaar) [2112119] - iommu/vt-d: Fix RCU list debugging warnings (Jerry Snitselaar) [2112119] - iommu/dma: add a new dma_map_ops of get_merge_boundary() (Jerry Snitselaar) [2112119] - swiotlb: do not zero buffer in set_memory_decrypted() (Jerry Snitselaar) [2112119] - iommu: iommu_ops RH_KABI cleanup (Jerry Snitselaar) [2112119] - device: Fix RH_KABI work around (Jerry Snitselaar) [2112357] - iommu/vt-d: Drop stop marker messages (Jerry Snitselaar) [2112119] - iommu/vt-d: Remove unused function intel_svm_capable() (Jerry Snitselaar) [2112119] - iommu/arm-smmu-v3: Fix size calculation in arm_smmu_mm_invalidate_range() (Jerry Snitselaar) [2112119] - iommu/vt-d: Delete dev_has_feat callback (Jerry Snitselaar) [2112119] - iommu/amd: Remove useless irq affinity notifier (Jerry Snitselaar) [2112119]- scsi: qedi: Fix ABBA deadlock in qedi_process_tmf_resp() and qedi_process_cmd_cleanup_resp() (Nilesh Javali) [2109890] - scsi: qedi: Remove set but unused 'page' variable (Nilesh Javali) [2109890] - x86/elf: Disable automatic READ_IMPLIES_EXEC on 64-bit (Wander Lairson Costa) [2070700] {CVE-2022-25265} - x86/elf: Split READ_IMPLIES_EXEC from executable PT_GNU_STACK (Wander Lairson Costa) [2070700] {CVE-2022-25265} - x86/elf: Add table to document READ_IMPLIES_EXEC (Wander Lairson Costa) [2070700] {CVE-2022-25265} - RHEL-only: KVM: selftests: Enable rseq_test on aarch64 (Gavin Shan) [2128974] - KVM: selftests: Use getcpu() instead of sched_getcpu() in rseq_test (Gavin Shan) [2128974] - selftests: kvm: Fix a compile error in selftests/kvm/rseq_test.c (Gavin Shan) [2128974] - KVM: selftests: Fix target thread to be migrated in rseq_test (Gavin Shan) [2128974] - selftests: KVM: Handle compiler optimizations in ucall (Gavin Shan) [2128974] - selftests: kvm: replace ternary operator with min() (Gavin Shan) [2128974] - KVM: selftests: Fix typo in vgic_init test (Gavin Shan) [2128974] - KVM: selftests: Fix buggy-but-benign check in test_v3_new_redist_regions() (Gavin Shan) [2128974] - KVM: arm64: vgic: Fix exit condition in scan_its_table() (Gavin Shan) [2128974] - KVM: arm64: selftests: Add support for GICv2 on v3 (Gavin Shan) [2128974] - KVM: arm64: Fix comment typo in nvhe/switch.c (Gavin Shan) [2128974] - KVM: arm64: vgic: Remove duplicate check in update_affinity_collection() (Gavin Shan) [2128974] - KVM: arm64: Don't return from void function (Gavin Shan) [2128974] - KVM: arm64: Drop stale comment (Gavin Shan) [2128974] - KVM: arm64: Warn if accessing timer pending state outside of vcpu context (Gavin Shan) [2128974] - KVM: arm64: Replace vgic_v3_uaccess_read_pending with vgic_uaccess_read_pending (Gavin Shan) [2128974] - KVM: arm64: vgic: Undo work in failed ITS restores (Gavin Shan) [2128974] - KVM: arm64: vgic: Do not ignore vgic_its_restore_cte failures (Gavin Shan) [2128974] - KVM: arm64: vgic: Add more checks when restoring ITS tables (Gavin Shan) [2128974] - KVM: arm64: vgic: Check that new ITEs could be saved in guest memory (Gavin Shan) [2128974] - KVM: arm64: nvhe: Eliminate kernel-doc warnings (Gavin Shan) [2128974] - KVM: arm64: Print emulated register table name when it is unsorted (Gavin Shan) [2128974] - KVM: arm64: Don't BUG_ON() if emulated register table is unsorted (Gavin Shan) [2128974] - KVM: arm64: Inject exception on out-of-IPA-range translation fault (Gavin Shan) [2128974] - KVM: arm64: vgic: Remove unnecessary type castings (Gavin Shan) [2128974] - KVM: arm64: Drop unused param from kvm_psci_version() (Gavin Shan) [2128974] - KVM: arm64: vgic: Add memcg accounting to vgic allocations (Gavin Shan) [2128974] - x86/split_lock: Enable the split lock feature on Raptor Lake (Prarit Bhargava) [2076738] - mm: prevent page_frag_alloc() from corrupting the memory (Izabela Bakollari) [2132265] - RDMA/mlx5: Set local port to one when accessing counters (Mohammad Kabat) [2077119] - scsi: ch: Do not initialise statics to 0 (Ewan D. Milne) [2132458] - scsi: core: Fix warning in scsi_alloc_sgtables() (Ewan D. Milne) [2132458] - scsi: core: Move the definition of SCSI_QUEUE_DELAY (Ewan D. Milne) [2132458] - scsi: scsi_debug: Fix zone transition to full condition (Ewan D. Milne) [2132458] - scsi: sd_zbc: Prevent zone information memory leak (Ewan D. Milne) [2132458] - scsi: sd: Fix potential NULL pointer dereference (Ewan D. Milne) [2132458] - scsi: sr: Add memory allocation failure handling for get_capabilities() (Ewan D. Milne) [2132458] - scsi: sd: Use cached ATA Information VPD page (Ewan D. Milne) [2132458] - scsi: core: Do not truncate INQUIRY data on modern devices (Ewan D. Milne) [2132458] - scsi: core: Pick suitable allocation length in scsi_report_opcode() (Ewan D. Milne) [2132458] - scsi: core: Query VPD size before getting full page (Ewan D. Milne) [2132458] - scsi: scsi_debug: Add gap zone support (Ewan D. Milne) [2132458] - scsi: scsi_debug: Rename zone type constants (Ewan D. Milne) [2132458] - scsi: scsi_debug: Fix a typo (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Hide gap zones (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Return early in sd_zbc_check_zoned_characteristics() (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Introduce struct zoned_disk_info (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Use logical blocks as unit when querying zones (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Verify that the zone size is a power of two (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Improve source code documentation (Ewan D. Milne) [2132458] - scsi: sr: Do not leak information in ioctl (Ewan D. Milne) [2132458] - scsi: core: Remove unreachable code warning (Ewan D. Milne) [2132458] - scsi: libfc: Fix use after free in fc_exch_abts_resp() (Ewan D. Milne) [2132458] - scsi: scsi_debug: Silence unexpected unlock warnings (Ewan D. Milne) [2132458] - scsi: Remove unused member cmd_pool for structure scsi_host_template (Ewan D. Milne) [2132458] - scsi: scsi_debug: Add environmental reporting log subpage (Ewan D. Milne) [2132458] - scsi: scsi_debug: Add no_rwlock parameter (Ewan D. Milne) [2132458] - scsi: scsi_debug: Divide power on reset UNIT ATTENTION (Ewan D. Milne) [2132458] - scsi: scsi_debug: Use TASK SET FULL more (Ewan D. Milne) [2132458] - scsi: scsi_debug: Strengthen defer_t accesses (Ewan D. Milne) [2132458] - scsi: ch: Don't use GFP_DMA (Ewan D. Milne) [2132458] - scsi: scsi_transport_sas: Add 22.5 Gbps link rate definitions (Ewan D. Milne) [2132458] - scsi: sd: Free scsi_disk device via put_device() (Ewan D. Milne) [2132458] - scsi: scsi_debug: Adjust num_parts to create equally sized partitions (Ewan D. Milne) [2132458] - scsi: ch: remove ch_mutex() (Ewan D. Milne) [2132458] - scsi: ch: synchronize ch_probe() and ch_open() (Ewan D. Milne) [2132458] - scsi: ch: fixup refcounting imbalance for SCSI devices (Ewan D. Milne) [2132458] - scsi: mpi3mr: Schedule IRQ kthreads only on non-RT kernels (Tomas Henzl) [2134535] - netfilter: flowtable: fix stuck flows on cleanup due to pending work (Phil Sutter) [2131370] - netfilter: flowtable: add function to invoke garbage collection immediately (Phil Sutter) [2131370] - netfilter: flowtable: pass flowtable to nf_flow_table_iterate() (Phil Sutter) [2131370] - netfilter: flowtable: separate replace, destroy and stats to different workqueues (Phil Sutter) [2131370] - drm/mgag200: Fix PLL setup for G200_SE_A rev >=4 (Jocelyn Falempe) [2130159] - af_key: Do not call xfrm_probe_algs in parallel (Sabrina Dubroca) [2122369] {CVE-2022-3028} - xfrm: Update ipcomp_scratches with NULL when freed (Sabrina Dubroca) [2136193] - esp: choose the correct inner protocol for GSO on inter address family tunnels (Sabrina Dubroca) [2136193] - xfrm: fix refcount leak in __xfrm_policy_check() (Sabrina Dubroca) [2136193] - xfrm: xfrm_policy: fix a possible double xfrm_pols_put() in xfrm_bundle_lookup() (Sabrina Dubroca) [2136193] - net: Fix esp GSO on inter address family tunnels. (Sabrina Dubroca) [2136193] - esp: Fix BEET mode inter address family tunneling on GSO (Sabrina Dubroca) [2136193] - cifs: fix check of dfs interlinks (Ronnie Sahlberg) [2132414] - powerpc/pseries: Fix numa FORM2 parsing fallback code (Nico Pache) [2089496] - powerpc/pseries: rename numa_dist_table to form2_distances (Nico Pache) [2089496] - x86/pkey: Fix undefined behaviour with PKRU_WD_BIT (Nico Pache) [2089496] - hugetlb: add lockdep check for i_mmap_rwsem held in huge_pmd_share (Nico Pache) [2089496] - mm: page_io: fix psi memory pressure error on cold swapins (Nico Pache) [2089496] - mm/memcg: Remove 'page' parameter to mem_cgroup_charge_statistics() (Nico Pache) [2089496] - mm: workingset: replace IRQ-off check with a lockdep assert. (Nico Pache) [2089496] - mm/madvise: fix potential pte_unmap_unlock pte error (Nico Pache) [2089496] - mm/mmu_notifier.c: fix race in mmu_interval_notifier_remove() (Nico Pache) [2089496] - mm/sparse.c: remove NULL check in clear_hwpoisoned_pages() (Nico Pache) [2089496] - node: fix device cleanups in error handling code (Nico Pache) [2089496] - x86/setup: Fix static memory detection (Nico Pache) [2089496] - x86/fault: Don't send SIGSEGV twice on SEGV_PKUERR (Nico Pache) [2089496] - s390/startup: round down "mem" option to page boundary (Nico Pache) [2089496] - powerpc/64s: Remove 'dummy_copy_buffer' (Nico Pache) [2089496] - page_alloc: fix invalid watermark check on a negative value (Nico Pache) [2089496] - lib/radix-tree: remove unused argument of insert_entries (Nico Pache) [2089496] - drm/radeon: fix incorrrect SPDX-License-Identifiers (Nico Pache) [2089496] - mm/swap: fix the obsolete comment for SWP_TYPE_SHIFT (Nico Pache) [2089496] - irq_work: use kasan_record_aux_stack_noalloc() record callstack (Nico Pache) [2089496] - kdb: Fix the putarea helper function (Nico Pache) [2089496] - mm: slab: Delete unused SLAB_DEACTIVATED flag (Nico Pache) [2089496] - mm, kasan: use compare-exchange operation to set KASAN page tag (Nico Pache) [2089496] - rcu: Avoid alloc_pages() when recording stack (Nico Pache) [2089496] - workqueue, kasan: avoid alloc_pages() when recording stack (Nico Pache) [2089496] - kasan: generic: introduce kasan_record_aux_stack_noalloc() (Nico Pache) [2089496] - kasan: common: provide can_alloc in kasan_save_stack() (Nico Pache) [2089496] - lib/stackdepot: remove unused function argument (Nico Pache) [2089496] - lib/stackdepot: include gfp.h (Nico Pache) [2089496] - blk-cgroup: blk_cgroup_bio_start() should use irq-safe operations on blkg->iostat_cpu (Nico Pache) [2089496] - libnvdimm/pmem: Fix crash triggered when I/O in-flight during unbind (Nico Pache) [2089496] - include/trace/events/vmscan.h: remove mm_vmscan_inactive_list_is_low (Nico Pache) [2089496] - khugepaged: selftests: remove debug_cow (Nico Pache) [2089496] - mm/mmzone.h: simplify is_highmem_idx() (Nico Pache) [2089496] - mm/page-writeback: use __this_cpu_inc() in account_page_dirtied() (Nico Pache) [2089496] - mm/page-writeback: update the comment of Dirty position control (Nico Pache) [2089496] - mm/page-writeback: Fix performance when BDI's share of ratio is 0. (Nico Pache) [2089496] - fuse: ignore PG_workingset after stealing (Nico Pache) [2089496] - mm/slub: actually fix freelist pointer vs redzoning (Nico Pache) [2089496] - mm/slub: clarify verification reporting (Nico Pache) [2089496] - irq_work: Make irq_work_queue() NMI-safe again (Nico Pache) [2089496] - mm/huge_memory.c: remove unused macro TRANSPARENT_HUGEPAGE_DEBUG_COW_FLAG (Nico Pache) [2089496] - irq_work: record irq_work_queue() call stack (Nico Pache) [2089496] - arm64: kasan: fix page_alloc tagging with DEBUG_VIRTUAL (Nico Pache) [2089496] - mm/arm64: Correct obsolete comment in do_page_fault() (Nico Pache) [2089496] - kernel: kexec: remove the lock operation of system_transition_mutex (Nico Pache) [2089496] - libnvdimm/pmem: Remove unused header (Nico Pache) [2089496] - workqueue: kasan: record workqueue stack (Nico Pache) [2089496] - lib/test_kasan.c: add workqueue test case (Nico Pache) [2089496] - page_frag: Recover from memory pressure (Nico Pache) [2089496] - mm: use helper function put_write_access() (Nico Pache) [2089496] - mm/swapfile.c: remove unnecessary goto out in _swap_info_get() (Nico Pache) [2089496] - mm/swap.c: fix incomplete comment in lru_cache_add_inactive_or_unevictable() (Nico Pache) [2089496] - mm/page_io.c: remove useless out label in __swap_writepage() (Nico Pache) [2089496] - mm/swap_slots.c: remove always zero and unused return value of enable_swap_slots_cache() (Nico Pache) [2089496] - mm/swap.c: fix confusing comment in release_pages() (Nico Pache) [2089496] - mm: annotate a data race in page_zonenum() (Nico Pache) [2089496] - mm/swap.c: annotate data races for lru_rotate_pvecs (Nico Pache) [2089496] - mm/rmap: annotate a data race at tlb_flush_batched (Nico Pache) [2089496] - mm/mempool: fix a data race in mempool_free() (Nico Pache) [2089496] - mm/list_lru: fix a data race in list_lru_count_one (Nico Pache) [2089496] - mm/memcontrol: fix a data race in scan count (Nico Pache) [2089496] - mm/swapfile: fix and annotate various data races (Nico Pache) [2089496] - mm: thp: remove debug_cow switch (Nico Pache) [2089496] - page_alloc: consider highatomic reserve in watermark fast (Nico Pache) [2089496] - mm: remove unnecessary wrapper function do_mmap_pgoff() (Nico Pache) [2089496] - doc: don't use deprecated "---help---" markers in target docs (Nico Pache) [2089496] - doc: cgroup: update note about conditions when oom killer is invoked (Nico Pache) [2089496] - mm: add kvfree_sensitive() for freeing sensitive data objects (Nico Pache) [2089496] - f2fs: fix retry logic in f2fs_write_cache_pages() (Nico Pache) [2089496] - mm/hugetlb: avoid unnecessary check on pud and pmd entry in huge_pte_offset (Nico Pache) [2089496] - mm/page-writeback.c: remove unused variable (Nico Pache) [2089496] - zswap: docs/vm: Fix typo accept_threshold_percent in zswap.rst (Nico Pache) [2089496] - tracing: Add a vmalloc_sync_mappings() for safe measure (Nico Pache) [2089496] - mm/hugetlb: fix a addressing exception caused by huge_pte_offset (Nico Pache) [2089496] - mm/page-writeback.c: write_cache_pages(): deduplicate identical checks (Nico Pache) [2089496] - revert "topology: add support for node_to_mem_node() to determine the fallback node" (Nico Pache) [2089496] - net: memcg: fix lockdep splat in inet_csk_accept() (Nico Pache) [2089496] - net: memcg: late association of sock to memcg (Nico Pache) [2089496] - tmpfs: deny and force are not huge mount options (Nico Pache) [2089496] - mm/zswap.c: add allocation hysteresis if pool limit is hit (Nico Pache) [2089496] - mm/swapfile.c: swap_next should increase position index (Nico Pache) [2089496] - fat: use prandom_u32() for i_generation (Nico Pache) [2089496] - mm/mmap.c: rb_parent is not necessary in __vma_link_list() (Nico Pache) [2089496] - mm/mmap.c: __vma_unlink_prev() is not necessary now (Nico Pache) [2089496] - docs: kmemleak: DEBUG_KMEMLEAK_EARLY_LOG_SIZE changed names (Nico Pache) [2089496] - mm/mmap.c: prev could be retrieved from vma->vm_prev (Nico Pache) [2089496] - mm/zsmalloc.c: fix a -Wunused-function warning (Nico Pache) [2089496] - mm/rmap.c: remove set but not used variable 'cstart' (Nico Pache) [2089496] - tools headers UAPI: Update tools's copy of mman.h headers (Nico Pache) [2089496] - mm/mmap: move common defines to mman-common.h (Nico Pache) [2089496] - mm: fix the MAP_UNINITIALIZED flag (Nico Pache) [2089496] - mm: vmalloc: show number of vmalloc pages in /proc/meminfo (Nico Pache) [2089496] - slab: remove /proc/slab_allocators (Nico Pache) [2089496] - mm/huge_memory.c: fix "orig_pud" set but not used (Nico Pache) [2089496] - mm: hwpoison: use do_send_sig_info() instead of force_sig() (Nico Pache) [2089496] - mm, page_alloc: drop should_suppress_show_mem (Nico Pache) [2089496] - mm,page_alloc: PF_WQ_WORKER threads must sleep at should_reclaim_retry() (Nico Pache) [2089496] - powerpc/8xx: Use patch_site for perf counters setup (Nico Pache) [2089496] - powerpc/8xx: Use patch_site for memory setup patching (Nico Pache) [2089496] - Revert "powerpc/8xx: Use L1 entry APG to handle _PAGE_ACCESSED for CONFIG_SWAP" (Nico Pache) [2089496] - mm/swapfile.c: put_swap_page: share more between huge/normal code path (Nico Pache) [2089496] - mm, swap, get_swap_pages: use entry_size instead of cluster in parameter (Nico Pache) [2089496] - mm/swapfile.c: add __swap_entry_free_locked() (Nico Pache) [2089496] - mm/swapfile.c: unify normal/huge code path in put_swap_page() (Nico Pache) [2089496] - mm/swapfile.c: unify normal/huge code path in swap_page_trans_huge_swapped() (Nico Pache) [2089496] - mm/swapfile.c: replace some #ifdef with IS_ENABLED() (Nico Pache) [2089496] - mm: swap: add comments to lock_cluster_or_swap_info() (Nico Pache) [2089496] - mm/swapfile.c: use swap_count() in swap_page_trans_huge_swapped() (Nico Pache) [2089496] - mm, oom: remove sleep from under oom_lock (Nico Pache) [2089496] - mm/hugetlb: remove gigantic page support for HIGHMEM (Nico Pache) [2089496] - mm/page-writeback.c: update stale account_page_redirty() comment (Nico Pache) [2089496] - shmem: use monotonic time for i_generation (Nico Pache) [2089496] - mptcp: increase default max additional subflows to 2 (Paolo Abeni) [2127136] - ipv6/addrconf: fix a null-ptr-deref bug for ip6_ptr (Davide Caratti) [2103990] - ipv6: Refactor fib6_ignore_linkdown (Davide Caratti) [2103990] - Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process" (Davide Caratti) [2103990] - net: af_key: add check for pfkey_broadcast in function pfkey_process (Davide Caratti) [2103990] - certs: Add FIPS selftests (Vladis Dronov) [2134828] - certs: Move load_certificate_list() to be with the asymmetric keys code (Vladis Dronov) [2134828]- selftests/bpf: Limit unroll_count for pyperf600 test (Viktor Malik) [2139128]- perf affinity: Fix out of bound access to "sched_cpus" mask (Michael Petlan) [2125952] - net: skb: introduce and use a single page frag cache (Paolo Abeni) [2063335] - powerpc/pseries/vas: Pass hw_cpu_id to node associativity HCALL (Steve Best) [2131651] - agp/intel: Rename intel-gtt symbols (Jocelyn Falempe) [2115871] - drm/i915/gt: Split intel-gtt functions by arch (Jocelyn Falempe) [2115871] - drm: Implement DRM aperture helpers under video/ (Jocelyn Falempe) [2115871] - efi: Fix build error due to enum collision between efi.h and ima.h (Jocelyn Falempe) [2115871] - Revert "workqueue: remove unused cancel_work()" (Jocelyn Falempe) [2115871] - dma-buf: fix use of DMA_BUF_SET_NAME_{A,B} in userspace (Jocelyn Falempe) [2115871] - drm/i915/gsc: add gsc as a mei auxiliary device (Jocelyn Falempe) [2115871] - drm/i915: Prepare for multiple GTs (Jocelyn Falempe) [2115871] - drm/i915/gt: add gt_is_root() helper (Jocelyn Falempe) [2115871] - drm/i915: Rename INTEL_REGION_LMEM with INTEL_REGION_LMEM_0 (Jocelyn Falempe) [2115871] - drm/i915: fixup the initial fb base on DGFX (Jocelyn Falempe) [2115871] - drm/i915: add i915_gem_object_create_region_at() (Jocelyn Falempe) [2115871] - drm/i915: Report steering details in debugfs (Jocelyn Falempe) [2115871] - x86/gpu: include drm/i915_pciids.h directly in early quirks (Jocelyn Falempe) [2115871] - staging: fbtft: core: set smem_len before fb_deferred_io_init call (Jocelyn Falempe) [2115871] - fbdev: Put mmap for deferred I/O into drivers (Jocelyn Falempe) [2115871] - fbdev: Track deferred-I/O pages in pageref struct (Jocelyn Falempe) [2115871] - fbdev: defio: fix the pagelist corruption (Jocelyn Falempe) [2115871] - fbdev: Don't sort deferred-I/O pages by default (Jocelyn Falempe) [2115871] - staging: fbtft: Add spaces around / - Style (Jocelyn Falempe) [2115871] - fbdev/defio: Early-out if page is already enlisted (Jocelyn Falempe) [2115871] - panic, kexec: make __crash_kexec() NMI safe (Valentin Schneider) [2134126] - kexec: turn all kexec_mutex acquisitions into trylocks (Valentin Schneider) [2134126] - kexec: move locking into do_kexec_load (Valentin Schneider) [2134126] - ice: Fix interface being down after reset with link-down-on-close flag on (Petr Oros) [2024110] - ice: Add low latency Tx timestamp read (Petr Oros) [2092425] - ice: introduce ice_ptp_reset_cached_phctime function (Petr Oros) [2092425] - ice: re-arrange some static functions in ice_ptp.c (Petr Oros) [2092425] - ice: track and warn when PHC update is late (Petr Oros) [2092425] - ice: track Tx timestamp stats similar to other Intel drivers (Petr Oros) [2092425] - ice: implement adjfine with mul_u64_u64_div_u64 (Petr Oros) [2092425] - ice: Add EXTTS feature to the feature bitmap (Petr Oros) [2092425] - math: Export mul_u64_u64_div_u64 (Petr Oros) [2092425] - neighbour: allow NUD_NOARP entries to be forced GCed (Xin Long) [2076534] - neighbour: Prevent Race condition in neighbour subsytem (Xin Long) [2076534] - neighbour: Prevent a dead entry from updating gc_list (Xin Long) [2076534] - net: Exempt multicast addresses from five-second neighbor lifetime (Xin Long) [2076534] - neighbor: Reset gc_entries counter if new entry is released before insert (Xin Long) [2076534] - neighbor: Remove externally learned entries from gc_list (Xin Long) [2076534] - neighbor: Move neigh_update_ext_learned to core file (Xin Long) [2076534] - neighbor: Remove state and flags arguments to neigh_del (Xin Long) [2076534] - neighbor: Fix state check in neigh_forced_gc (Xin Long) [2076534] - neighbor: Fix locking order for gc_list changes (Xin Long) [2076534] - neighbor: gc_list changes should be protected by table lock (Xin Long) [2076534] - neighbor: Improve garbage collection (Xin Long) [2076534] - neighbour: send netlink notification if NTF_ROUTER changes (Xin Long) [2076534] - neighbour: allow admin to set NTF_ROUTER (Xin Long) [2076534] - s390/dasd: add device ping attribute (Tobias Huschle) [2043877] - s390/dasd: suppress generic error messages for PPRC secondary devices (Tobias Huschle) [2043877] - s390/dasd: add ioctl to perform a swap of the drivers copy pair (Tobias Huschle) [2043877] - s390/dasd: add copy pair swap capability (Tobias Huschle) [2043877] - s390/dasd: add copy pair setup (Tobias Huschle) [2043877] - s390/dasd: add query PPRC function (Tobias Huschle) [2043877] - s390/dasd: put block allocation in separate function (Tobias Huschle) [2043877] - s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup (Tobias Huschle) [2043877] - s390/qeth: Split memcpy() of struct qeth_ipacmd_addr_change flexible array (Tobias Huschle) [2110426] - s390/qeth: Fix typo 'the the' in comment (Tobias Huschle) [2110426] - s390/qdio: Fix spelling mistake (Tobias Huschle) [2110426] - qeth: remove a copy of the NAPI_POLL_WEIGHT define (Tobias Huschle) [2110426] - scsi: bnx2fc: Avoid using get_cpu() in bnx2fc_cmd_alloc() (Nilesh Javali) [2109895] - scsi: bnx2fc: Fix spelling mistake "mis-match" -> "mismatch" (Nilesh Javali) [2109895] - scsi: bnx2fc: Make use of the helper macro kthread_run() (Nilesh Javali) [2109895] - scsi: bnx2fc: Fix typo in comments (Nilesh Javali) [2109895] - scsi: qedf: Populate sysfs attributes for vport (Nilesh Javali) [2120219] - scsi: qedf: Fix typo in comment (Nilesh Javali) [2109893] - scsi: qedf: Remove redundant variable op (Nilesh Javali) [2109893] - scsi: qedf: Remove an unneeded NULL check on list iterator (Nilesh Javali) [2109893] - scsi: qedf: Remove unnecessary code (Nilesh Javali) [2109893] - s390/sclp: reserve memory occupied by sclp early buffer (Mete Durlu) [2060830] - s390: make command line configurable (Mete Durlu) [2060830] - s390: support command lines longer than 896 bytes (Mete Durlu) [2060830] - s390/kexec_file: move kernel image size check (Mete Durlu) [2060830] - s390/boot: move sclp early buffer from fixed address in asm to C (Mete Durlu) [2060830] - drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES (Phil Auld) [2115518] - sched/core: Do not requeue task on CPU excluded from cpus_mask (Phil Auld) [2115518] - workqueue: Avoid a false warning in unbind_workers() (Phil Auld) [2115518] - sched/core: Always flush pending blk_plug (Phil Auld) [2115518] - sched/fair: fix case with reduced capacity CPU (Phil Auld) [2115518] - sched: Remove unused function group_first_cpu() (Phil Auld) [2115518] - sched/fair: Remove redundant word " *" (Phil Auld) [2115518] - sched: only perform capability check on privileged operation (Phil Auld) [2115518] - sched: Allow newidle balancing to bail out of load_balance (Phil Auld) [2115518] - sched: Remove the limitation of WF_ON_CPU on wakelist if wakee cpu is idle (Phil Auld) [2115518] - sched: Fix the check of nr_running at queue wakelist (Phil Auld) [2115518] - sched: Fix balance_push() vs __sched_setscheduler() (Phil Auld) [2115518] - sched/fair: Optimize and simplify rq leaf_cfs_rq_list (Phil Auld) [2115518] - topology: Remove unused cpu_cluster_mask() (Phil Auld) [2115518] - sched: Update task_tick_numa to ignore tasks without an mm (Phil Auld) [2115518] - sched/deadline: Remove superfluous rq clock update in push_dl_task() (Phil Auld) [2115518] - time/sched_clock: Fix formatting of frequency reporting code (Phil Auld) [2115518] - time/sched_clock: Use Hz as the unit for clock rate reporting below 4kHz (Phil Auld) [2115518] - time/sched_clock: Round the frequency reported to nearest rather than down (Phil Auld) [2115518] - sched/fair: Delete useless condition in tg_unthrottle_up() (Phil Auld) [2115518] - sched/fair: Fix cfs_rq_clock_pelt() for throttled cfs_rq (Phil Auld) [2115518] - workqueue: Restrict kworker in the offline CPU pool running on housekeeping CPUs (Phil Auld) [2115518] - kernel/sched: Remove dl_boosted flag comment (Phil Auld) [2115518] - workqueue: Remove schedule() in unbind_workers() (Phil Auld) [2115518] - workqueue: Remove outdated comment about exceptional workers in unbind_workers() (Phil Auld) [2115518] - workqueue: Remove the advanced kicking of the idle workers in rebind_workers() (Phil Auld) [2115518] - workqueue: Fix unbind_workers() VS wq_worker_running() race (Phil Auld) [2115518] - sched/membarrier: fix missing local execution of ipi_sync_rq_state() (Phil Auld) [2115518] - kthread: Move prio/affinite change into the newly created thread (Phil Auld) [2115518]- dmaengine: idxd: Correct IAX operation code names (Jerry Snitselaar) [2112121] - dmaengine: dmatest: use strscpy to replace strlcpy (Jerry Snitselaar) [2112121] - dmaengine: remove DMA_MEMCPY_SG once again (Jerry Snitselaar) [2112121] - MAINTAINERS: idxd driver maintainer update (Jerry Snitselaar) [2112121] - dmaengine: dmatest: Replace symbolic permissions by octal permissions (Jerry Snitselaar) [2112121] - dmaengine: dmatest: Remove spaces before tabs (Jerry Snitselaar) [2112121] - dma:dw: remove reference to AVR32 architecture in core.c (Jerry Snitselaar) [2112121] - dmaengine: idxd: Only call idxd_enable_system_pasid() if succeeded in enabling SVA feature (Jerry Snitselaar) [2112121] - dmaengine: idxd: force wq context cleanup on device disable path (Jerry Snitselaar) [2112121] - dmaengine: Revert "dmaengine: add verification of DMA_INTERRUPT capability for dmatest" (Jerry Snitselaar) [2112121] - dmaengine: idxd: Separate user and kernel pasid enabling (Jerry Snitselaar) [2112121] - dmaengine: ptdma: statify pt_tx_status (Jerry Snitselaar) [2112121] - dmaengine: hidma: In hidma_prep_dma_memset treat value as a single byte (Jerry Snitselaar) [2112121] - dmaengine: Document dmaengine_prep_dma_memset (Jerry Snitselaar) [2112121] - dmaengine: PTDMA: support polled mode (Jerry Snitselaar) [2112121] - dmaengine: Remove a useless mutex (Jerry Snitselaar) [2112121] - dmaengine: idxd: update IAA definitions for user header (Jerry Snitselaar) [2112121] - dmaengine: Clarify cyclic transfer residue documentation (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: Remove useless DMA-32 fallback configuration (Jerry Snitselaar) [2112121] - dmaengine: iot: Remove useless DMA-32 fallback configuration (Jerry Snitselaar) [2112121] - dmaengine: ioatdma: use default_groups in kobj_type (Jerry Snitselaar) [2112121] - Documentation: dmaengine: Correctly describe dmatest with channel unset (Jerry Snitselaar) [2112121] - Documentation: dmaengine: Add a description of what dmatest does (Jerry Snitselaar) [2112121] - dmaengine: Add core function and capability check for DMA_MEMCPY_SG (Jerry Snitselaar) [2112121] - dmaengine: Add documentation for new memcpy scatter-gather function (Jerry Snitselaar) [2112121] - dmaengine: remove slave_id config field (Jerry Snitselaar) [2112121] - dmaengine: ioat: switch from 'pci_' to 'dma_' API (Jerry Snitselaar) [2112121] - dmaengine: hsu: switch from 'pci_' to 'dma_' API (Jerry Snitselaar) [2112121] - dmaengine: dw: switch from 'pci_' to 'dma_' API (Jerry Snitselaar) [2112121] - dmaengine: remove debugfs #ifdef (Jerry Snitselaar) [2112121] - dmaengine: dmaengine_desc_callback_valid(): Check for `callback_result` (Jerry Snitselaar) [2112121] - dmaengine: Remove redundant initialization of variable err (Jerry Snitselaar) [2112121] - dmaengine: Extend the dma_slave_width for 128 bytes (Jerry Snitselaar) [2112121] - dmaengine: ioat: depends on !UML (Jerry Snitselaar) [2112121] - dmaengine: dw: Simplify DT property parser (Jerry Snitselaar) [2112121] - dmaengine: dw: Convert members to u32 in platform data (Jerry Snitselaar) [2112121] - dmaengine: dw: Remove error message from DT parsing code (Jerry Snitselaar) [2112121] - dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available (Jerry Snitselaar) [2112121] - dmaengine: hsu: Account transferred bytes (Jerry Snitselaar) [2112121] - dmaengine: Move kdoc description of struct dma_chan_percpu closer to it (Jerry Snitselaar) [2112121] - dmaengine: QCOM_HIDMA_MGMT depends on HAS_IOMEM (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: comment platform_driver_register call (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: remove unused code (Jerry Snitselaar) [2112121] - dmaengine: Fix a double free in dma_async_device_register (Jerry Snitselaar) [2112121] - dmaengine: hsu: disable spurious interrupt (Jerry Snitselaar) [2112121] - dmaengine: Extend the dmaengine_alignment for 128 and 256 bytes (Jerry Snitselaar) [2112121] - dmaengine: dmatest: Use dmaengine_get_dma_device (Jerry Snitselaar) [2112121] - dmaengine: doc: client: Update for dmaengine_get_dma_device() usage (Jerry Snitselaar) [2112121] - dmaengine: Add support for per channel coherency handling (Jerry Snitselaar) [2112121] - dmaengine: of-dma: Add support for optional router configuration callback (Jerry Snitselaar) [2112121] - dmaengine: add peripheral configuration (Jerry Snitselaar) [2112121] - dmaengine: idma64: Switch to use __maybe_unused instead of ifdeffery (Jerry Snitselaar) [2112121] - dmaengine: ioatdma: remove unused function missed during dma_v2 removal (Jerry Snitselaar) [2112121] - dmaengine: Save few bytes and increase readability of dma_request_chan() (Jerry Snitselaar) [2112121] - dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling (Jerry Snitselaar) [2112121] - dmaengine: dw: Don't include unneeded header to platform data header (Jerry Snitselaar) [2112121] - dmaengine: linux/dmaengine.h: drop duplicated word in a comment (Jerry Snitselaar) [2112121] - dmaengine: ioat: Fix some parameter misspelling and provide description for phys_complete (Jerry Snitselaar) [2112121] - dmaengine: of-dma: Fix misspellings/formatting issues in some function headers (Jerry Snitselaar) [2112121] - Documentation/driver-api: dmaengine/provider: drop doubled word (Jerry Snitselaar) [2112121] - dmaengine: Add support for repeating transactions (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: use true,false for bool variable (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: Simplify error handling path in hidma_probe (Jerry Snitselaar) [2112121] - dmaengine: Fix misspelling of "Analog Devices" (Jerry Snitselaar) [2112121] - docs: dmaengine: provider.rst: get rid of some warnings (Jerry Snitselaar) [2112121] - dmaengine: doc: fix warnings/issues of client.rst (Jerry Snitselaar) [2112121] - dmaengine: doc: Properly indent metadata title (Jerry Snitselaar) [2112121] - dmaengine: doc: Add sections for per descriptor metadata support (Jerry Snitselaar) [2112121] - dmaengine: Fix Kconfig indentation (Jerry Snitselaar) [2112121] - dmaengine: qcom: hidma_mgmt: Add of_node_put() before goto (Jerry Snitselaar) [2112121] - dmaengine: Remove dev_err() usage after platform_get_irq() (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: Remove call to memset after dmam_alloc_coherent (Jerry Snitselaar) [2112121] - Documentation: dmaengine: clean up description of dmatest usage (Jerry Snitselaar) [2112121] - dmaengine: hsu: Revert "set HSU_CH_MTSR to memory width" (Jerry Snitselaar) [2112121] - dmaengine: qcom: hidma: no need to check return value of debugfs_create functions (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: assign channel cookie correctly (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: initialize tx flags in hidma_prep_dma_* (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: convert to DEFINE_SHOW_ATTRIBUTE (Jerry Snitselaar) [2112121] - dmaengine: Documentation: Add documentation for multi chan testing (Jerry Snitselaar) [2112121] - dmaengine: hsu: remove dma_slave_config direction usage (Jerry Snitselaar) [2112121] - dmaengine: hsu: Support dmaengine_terminate_sync() (Jerry Snitselaar) [2112121] - scsi: core: Allow the ALUA transitioning state enough time (Tomas Henzl) [2084250] - scsi: core: Return BLK_STS_TRANSPORT for ALUA transitioning (Tomas Henzl) [2084250] - macvlan: enforce a consistent minimal mtu (Davide Caratti) [2134032] - ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header (Davide Caratti) [2134032] - net: ipvtap - add __init/__exit annotations to module init/exit funcs (Davide Caratti) [2134032] - tunnels: do not assume mac header is set in skb_tunnel_check_pmtu() (Guillaume Nault) [2134099] - erspan: do not assume transport header is always set (Guillaume Nault) [2134099] - net: ip_gre: do not report erspan_ver for gre or gretap (Guillaume Nault) [2134099] - selftests: Fix the if conditions of in test_extra_filter() (Hangbin Liu) [2135232] - selftests: forwarding: add shebang for sch_red.sh (Hangbin Liu) [2135232] - selftests: forwarding: fix error message in learning_test (Hangbin Liu) [2135232] - selftests/net: pass ipv6_args to udpgso_bench's IPv6 TCP test (Hangbin Liu) [2135232] - ping: remove pr_err from ping_lookup (Guillaume Nault) [2135424] - ping: fix the dif and sdif check in ping_lookup (Guillaume Nault) [2135424] - ping: fix the sk_bound_dev_if match in ping_lookup (Guillaume Nault) [2135424] - tcp/udp: Call inet6_destroy_sock() in IPv6 sk->sk_destruct(). (Hangbin Liu) [2135259] - udp: Call inet6_destroy_sock() in setsockopt(IPV6_ADDRFORM). (Hangbin Liu) [2135259] - tcp/udp: Fix memory leak in ipv6_renew_options(). (Hangbin Liu) [2135259] - ipv6: sr: fix out-of-bounds read when setting HMAC data. (Hangbin Liu) [2135259] - ipv6: do not use RT_TOS for IPv6 flowlabel (Hangbin Liu) [2135259] - ipv6/sit: fix ipip6_tunnel_get_prl return value (Hangbin Liu) [2135259] - sit: use min (Hangbin Liu) [2135259] - net: ipv6: unexport __init-annotated seg6_hmac_init() (Hangbin Liu) [2135259] - sit: do not call ipip6_dev_free() from sit_init_net() (Hangbin Liu) [2135259] - block: avoid sign extend problem with default queue flags mask (Nico Pache) [2131929] - mm/hwpoison: do not lock page again when me_huge_page() successfully recovers (Aristeu Rozanski) [2110292] - crypto: ccp - Remove the unneeded result variable (Vladis Dronov) [2130195] - crypto: ccp - Release dma channels before dmaengine unrgister (Vladis Dronov) [2130195] - crypto: ccp - Fail the PSP initialization when writing psp data file failed (Vladis Dronov) [2130195] - crypto: ccp - Initialize PSP when reading psp data file failed (Vladis Dronov) [2130195] - crypto: ccp - Add a quirk to firmware update (Vladis Dronov) [2130195] - crypto: ccp - Add support for new CCP/PSP device ID (Vladis Dronov) [2130195] - crypto: ccp - During shutdown, check SEV data pointer before using (Vladis Dronov) [2130195] - crypto: ccp - Fix device IRQ counting by using platform_irq_count() (Vladis Dronov) [2130195] - crypto: ccp - fix typo in comment (Vladis Dronov) [2130195] - crypto: ccp - Use kzalloc for sev ioctl interfaces to prevent kernel memory leak (Vladis Dronov) [2130195] - crypto: ccp - Fix the INIT_EX data file open failure (Vladis Dronov) [2130195] - crypto: ccp - Log when resetting PSP SEV state (Vladis Dronov) [2130195] - crypto: ccp - When TSME and SME both detected notify user (Vladis Dronov) [2130195] - crypto: ccp - Allow PSP driver to load without SEV/TEE support (Vladis Dronov) [2130195] - crypto: ccp - Export PSP security bits to userspace (Vladis Dronov) [2130195] - crypto: ccp - cache capability into psp device (Vladis Dronov) [2130195] - PCI: Add support for dev_groups to struct pci_driver (Vladis Dronov) [2130195] - ACPI: processor idle: Practically limit "Dummy wait" workaround to old Intel systems (Wei Huang) [2130653] - blk-mq: fix io hung due to missing commit_rqs (Ming Lei) [2130028] - block: schedule queue restart after BLK_STS_ZONE_RESOURCE (Ming Lei) [2130028] - blk-mq: call commit_rqs while list empty but error happen (Ming Lei) [2130028] - null_blk: fix ida error handling in null_add_dev() (Ming Lei) [2130028] - blktrace: Trace remapped requests correctly (Ming Lei) [2130028] - virtio_blk: fix the discard_granularity and discard_alignment queue limits (Ming Lei) [2130028] - block: fix bio_clone_blkg_association() to associate with proper blkcg_gq (Ming Lei) [2130028] - blk-mq: do not update io_ticks with passthrough requests (Ming Lei) [2130028] - blk-mq: don't touch ->tagset in blk_mq_get_sq_hctx (Ming Lei) [2130028] - ipmi:ipmb: Fix refcount leak in ipmi_ipmb_probe (Tony Camuso) [2130238] - ipmi: remove unnecessary type castings (Tony Camuso) [2130238] - ipmi: Make two logs unique (Tony Camuso) [2130238] - ipmi:si: Convert pr_debug() to dev_dbg() (Tony Camuso) [2130238] - ipmi: Convert pr_debug() to dev_dbg() (Tony Camuso) [2130238] - ipmi: Fix pr_fmt to avoid compilation issues (Tony Camuso) [2130238] - ipmi: Add an intializer for ipmi_recv_msg struct (Tony Camuso) [2130238] - ipmi: Add an intializer for ipmi_smi_msg struct (Tony Camuso) [2130238] - ipmi:ssif: Check for NULL msg when handling events and messages (Tony Camuso) [2130238] - ipmi: use simple i2c probe function (Tony Camuso) [2130238] - ipmi: Add a sysfs count of total outstanding messages for an interface (Tony Camuso) [2130238] - ipmi: Add a sysfs interface to view the number of users (Tony Camuso) [2130238] - ipmi: Limit the number of message a user may have outstanding (Tony Camuso) [2130238] - ipmi: Add a limit on the number of users that may use IPMI (Tony Camuso) [2130238] - ipmi:ipmi_ipmb: Fix null-ptr-deref in ipmi_unregister_smi() (Tony Camuso) [2130238] - ipmi: When handling send message responses, don't process the message (Tony Camuso) [2130238] - ipmi: fix IPMI_SMI_MSG_TYPE_IPMB_DIRECT response length checking (Tony Camuso) [2130238] - ipmi: fix oob access due to uninit smi_msg type (Tony Camuso) [2130238] - ipmi: Make kABI adjustments (Tony Camuso) [2130238] - ipmi: Add support for IPMB direct messages (Tony Camuso) [2130238] - ice: Fix crash by keep old cfg when update TCs more than queues (Petr Oros) [2129902] - ice: Fix tunnel checksum offload with fragmented traffic (Petr Oros) [2129902] - ice: handle E822 generic device ID in PLDM header (Petr Oros) [2129902] - ice: ethtool: Prohibit improper channel config for DCB (Petr Oros) [2129902] - ice: ethtool: advertise 1000M speeds properly (Petr Oros) [2129902] - ice: Fix switchdev rules book keeping (Petr Oros) [2129902] - ice: fix access-beyond-end in the switch code (Petr Oros) [2129902] - eth: ice: silence the GCC 12 array-bounds warning (Petr Oros) [2129902] - ice: Expose RSS indirection tables for queue groups via ethtool (Petr Oros) [2129902] - Revert "ice: Hide bus-info in ethtool for PRs in switchdev mode" (Petr Oros) [2129902] - ice: remove period on argument description in ice_for_each_vf (Petr Oros) [2129902] - ice: add a function comment for ice_cfg_mac_antispoof (Petr Oros) [2129902] - ice: fix wording in comment for ice_reset_vf (Petr Oros) [2129902] - ice: remove return value comment for ice_reset_all_vfs (Petr Oros) [2129902] - ice: always check VF VSI pointer values (Petr Oros) [2129902] - ice: add newline to dev_dbg in ice_vf_fdir_dump_info (Petr Oros) [2129902] - ice: get switch id on switchdev devices (Petr Oros) [2129902] - ice: return ENOSPC when exceeding ICE_MAX_CHAIN_WORDS (Petr Oros) [2129902] - ice: introduce common helper for retrieving VSI by vsi_num (Petr Oros) [2129902] - ice: use min_t() to make code cleaner in ice_gnss (Petr Oros) [2129902] - ice: Add mpls+tso support (Petr Oros) [2129902] - ice: switch: convert packet template match code to rodata (Petr Oros) [2129902] - ice: switch: use convenience macros to declare dummy pkt templates (Petr Oros) [2129902] - ice: switch: use a struct to pass packet template params (Petr Oros) [2129902] - ice: switch: unobscurify bitops loop in ice_fill_adv_dummy_packet() (Petr Oros) [2129902] - ice: switch: add and use u16[] aliases to ice_adv_lkup_elem::{h, m}_u (Petr Oros) [2129902] - ice: Support GTP-U and GTP-C offload in switchdev (Petr Oros) [2129902] - ice: Remove useless DMA-32 fallback configuration (Petr Oros) [2129902] - ice: switch to napi_build_skb() (Petr Oros) [2129902] - nbd: fix race between nbd_alloc_config() and module removal (Ming Lei) [2127601] - nbd: call genl_unregister_family() first in nbd_cleanup() (Ming Lei) [2127601] - kselftests: memcg: speed up the memory.high test (Waiman Long) [1839057] - tools/testing/selftests/cgroup/cgroup_util.c: cg_read_strcmp: fix null pointer dereference (Waiman Long) [1839057] - kselftest/cgroup: fix incorrect test_core skip (Waiman Long) [1839057] - kselftest/cgroup: fix unexpected testing failure on test_core (Waiman Long) [1839057] - selftests: cgroup: fix cleanup path in test_memcg_subtree_control() (Waiman Long) [1839057] - cgroup: fix an error handling path in alloc_pagecache_max_30M() (Waiman Long) [1839057] - selftests: memcg: expect no low events in unprotected sibling (Waiman Long) [1839057] - selftests: memcg: fix compilation (Waiman Long) [1839057] - kseltest/cgroup: Make test_stress.sh work if run interactively (Waiman Long) [1839057] - cgroup: fix racy check in alloc_pagecache_max_30M() helper function (Waiman Long) [1839057] - cgroup: remove racy check in test_memcg_sock() (Waiman Long) [1839057] - cgroup: account for memory_localevents in test_memcg_oom_group_leaf_events() (Waiman Long) [1839057] - cgroup: account for memory_recursiveprot in test_memcg_low() (Waiman Long) [1839057] - cgroups: refactor children cgroups in memcg tests (Waiman Long) [1839057] - kselftest/cgroup: fix test_stress.sh to use OUTPUT dir (Waiman Long) [1839057] - selftests: cgroup: add a selftest for memory.reclaim (Waiman Long) [1839057] - selftests: cgroup: fix alloc_anon_noexit() instantly freeing memory (Waiman Long) [1839057] - selftests: cgroup: return -errno from cg_read()/cg_write() on failure (Waiman Long) [1839057] - memcg: introduce per-memcg reclaim interface (Waiman Long) [1839057] - kselftests: memcg: update the oom group leaf events test (Waiman Long) [1839057] - mm/memcontrol: return 1 from cgroup.memory __setup() handler (Waiman Long) [1839057] - memcg: synchronously enforce memory.high for large overcharges (Waiman Long) [1839057] - selftests: memcg: test high limit for single entry allocation (Waiman Long) [1839057] - memcg: unify force charging conditions (Waiman Long) [1839057] - memcg: refactor mem_cgroup_oom (Waiman Long) [1839057] - memcg: prohibit unconditional exceeding the limit of dying tasks (Waiman Long) [1839057] - mm, oom: do not trigger out_of_memory from the #PF (Waiman Long) [1839057] - mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks (Waiman Long) [1839057] - mm: memcontrol: fix root_mem_cgroup charging (Waiman Long) [1839057] - tests/cgroup: move cg_wait_for(), cg_prepare_for_wait() (Waiman Long) [1839057] - mm: memcontrol: don't count limit-setting reclaim as memory pressure (Waiman Long) [1839057] - selftests: Uninitialized variable in test_cgcore_proc_migration() (Waiman Long) [1839057] - kselftests: cgroup: Avoid the reuse of fd after it is deallocated (Waiman Long) [1839057] - selftests: cgroup: Run test_core under interfering stress (Waiman Long) [1839057] - selftests: cgroup: Add task migration tests (Waiman Long) [1839057] - selftests: cgroup: Simplify task self migration (Waiman Long) [1839057] - cgroup: kselftest: relax fs_spec checks (Waiman Long) [1839057] - kselftests: cgroup: remove duplicated include from test_freezer.c (Waiman Long) [1839057] - kselftest/cgroup: fix unexpected testing failure on test_memcontrol (Waiman Long) [1839057] - kselftests: cgroup: add freezer controller self-tests (Waiman Long) [1839057] - Add tests for memory.oom.group (Waiman Long) [1839057] - Fix cg_read_strcmp() (Waiman Long) [1839057] - cgroup: kselftests: add test_core to .gitignore (Waiman Long) [1839057] - selftests: cgroup: add gitignore file (Waiman Long) [1839057] - Add cgroup core selftests (Waiman Long) [1839057] - devdax: Fix soft-reservation memory description (Mark Langsdorf) [2122316] - arm64: cacheinfo: Fix incorrect assignment of signed error value to unsigned fw_level (Mark Langsdorf) [2122316] - ACPI: property: Remove default association from integer maximum values (Mark Langsdorf) [2122316] - ACPI: property: Ignore already existing data node tags (Mark Langsdorf) [2122316] - ACPI: property: Fix type detection of unified integer reading functions (Mark Langsdorf) [2122316] - ACPI: processor: Remove freq Qos request for all CPUs (Mark Langsdorf) [2122316] - ACPI: property: Fix error handling in acpi_init_properties() (Mark Langsdorf) [2122316] - ACPI/IORT: Fix build error implicit-function-declaration (Mark Langsdorf) [2122316] - ACPI/PCI: Remove useless NULL pointer checks (Mark Langsdorf) [2122316] - ACPI: property: Read buffer properties as integers (Mark Langsdorf) [2122316] - ACPI: property: Add support for parsing buffer property UUID (Mark Langsdorf) [2122316] - ACPI: property: Unify integer value reading functions (Mark Langsdorf) [2122316] - ACPI: property: Switch node property referencing from ifs to a switch (Mark Langsdorf) [2122316] - ACPI: property: Move property ref argument parsing into a new function (Mark Langsdorf) [2122316] - ACPI: property: Use acpi_object_type consistently in property ref parsing (Mark Langsdorf) [2122316] - ACPI: property: Tie data nodes to acpi handles (Mark Langsdorf) [2122316] - ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool (Mark Langsdorf) [2122316] - ACPI: CPPC: Do not prevent CPPC from working in the future (Mark Langsdorf) [2122316] - ACPI: PM: x86: Print messages regarding LPS0 idle support (Mark Langsdorf) [2122316] - ACPI: PPTT: Leave the table mapped for the runtime usage (Mark Langsdorf) [2122316] - ACPI: resource: skip IRQ override on AMD Zen platforms (Mark Langsdorf) [2122316] - ACPI: irq: Allow acpi_gsi_to_irq() to have an arch-specific fallback (Mark Langsdorf) [2122316] - APCI: irq: Add support for multiple GSI domains (Mark Langsdorf) [2122316] - irqchip/gic: Drop support for secondary GIC in non-DT systems (Mark Langsdorf) [2122316] - ACPI: video: Use native backlight on Dell Inspiron N4010 (Mark Langsdorf) [2122316] - ACPI: PM: s2idle: Use LPS0 idle if ACPI_FADT_LOW_POWER_S0 is unset (Mark Langsdorf) [2122316] - Revert "[acpi] ACPI / PM: LPIT: Register sysfs attributes based on FADT" (Mark Langsdorf) [2122316] - ACPI: utils: Add api to read _SUB from ACPI (Mark Langsdorf) [2122316] - ACPI: video: Shortening quirk list by identifying Clevo by board_name only (Mark Langsdorf) [2122316] - ACPI: video: Force backlight native for some TongFang devices (Mark Langsdorf) [2122316] - PCI/ACPI: Guard ARM64-specific mcfg_quirks (Mark Langsdorf) [2122316] - ACPI/IORT: Add a helper to retrieve RMR info directly (Mark Langsdorf) [2122316] - ACPI/IORT: Add support to retrieve IORT RMR reserved regions (Mark Langsdorf) [2122316] - ACPI/IORT: Provide a generic helper to retrieve reserve regions (Mark Langsdorf) [2122316] - ACPI/IORT: Make iort_iommu_msi_get_resv_regions() return void (Mark Langsdorf) [2122316] - iommu: Introduce a callback to struct iommu_resv_region (Mark Langsdorf) [2122316] - ACPI: PM: s2idle: Add support for upcoming AMD uPEP HID AMDI008 (Mark Langsdorf) [2122316] - ACPI: PPTT: Use table offset as fw_token instead of virtual address (Mark Langsdorf) [2122316] - ACPI: Move PRM config option under the main ACPI config (Mark Langsdorf) [2122316] - ACPI: Enable Platform Runtime Mechanism(PRM) support on ARM64 (Mark Langsdorf) [2122316] - efi: Simplify arch_efi_call_virt() macro (Mark Langsdorf) [2122316] - efi/x86: Avoid redundant cast of EFI firmware service pointer (Mark Langsdorf) [2122316] - efi/libstub: Annotate firmware routines as __efiapi (Mark Langsdorf) [2122316] - ACPI: PRM: Change handler_addr type to void pointer (Mark Langsdorf) [2122316] - ACPI: bus: Drop driver member of struct acpi_device (Mark Langsdorf) [2122316] - ACPI: bus: Drop redundant check in acpi_device_remove() (Mark Langsdorf) [2122316] - ACPI: APEI: Fix _EINJ vs EFI_MEMORY_SP (Mark Langsdorf) [2122316] - ACPI: LPSS: Fix missing check in register_device_clock() (Mark Langsdorf) [2122316] - ACPI: APEI: Better fix to avoid spamming the console with old error logs (Mark Langsdorf) [2122316] - ACPI: PM: save NVS memory for Lenovo G40-45 (Mark Langsdorf) [2122316] - ACPI: EC: Drop unused ident initializers from dmi_system_id tables (Mark Langsdorf) [2122316] - ACPI: EC: Re-use boot_ec when possible even when EC_FLAGS_TRUST_DSDT_GPE is set (Mark Langsdorf) [2122316] - ACPI: EC: Drop the EC_FLAGS_IGNORE_DSDT_GPE quirk (Mark Langsdorf) [2122316] - ACPI: EC: Remove duplicate ThinkPad X1 Carbon 6th entry from DMI quirks (Mark Langsdorf) [2122316] - ACPI: processor: Drop leftover acpi_processor_get_limit_info() declaration (Mark Langsdorf) [2122316] - ACPI: processor: Split out thermal initialization from ACPI PSS (Mark Langsdorf) [2122316] - redhat/configs: move CONFIG_ACPI_VIDEO to common/generic (Mark Langsdorf) [2122316] - ACPI: video: Drop X86 dependency from Kconfig (Mark Langsdorf) [2122316] - ACPI: video: Fix acpi_video_handles_brightness_key_presses() (Mark Langsdorf) [2122316] - ACPI: video: Change how we determine if brightness key-presses are handled (Mark Langsdorf) [2122316] - ACPI / MMC: PM: Unify fixing up device power (Mark Langsdorf) [2122316] - mmc: sdhci-acpi: Use the new soc_intel_is_byt() helper (Mark Langsdorf) [2122316] - mmc: sdhci-acpi: Remove special handling for GPD win/pocket devices (Mark Langsdorf) [2122316] - ACPI: scan: Walk ACPI device's children using driver core (Mark Langsdorf) [2122316] - ACPI: bus: Introduce acpi_dev_for_each_child_reverse() (Mark Langsdorf) [2122316] - ACPI: video: Use acpi_dev_for_each_child() (Mark Langsdorf) [2122316] - ACPI: property: Use acpi_dev_for_each_child() for child lookup (Mark Langsdorf) [2122316] - ACPI: container: Use acpi_dev_for_each_child() (Mark Langsdorf) [2122316] - ACPI: bus: Export acpi_dev_for_each_child() to modules (Mark Langsdorf) [2122316] - ACPI: glue: Introduce acpi_find_child_by_adr() (Mark Langsdorf) [2122316] - ACPI: glue: Introduce acpi_dev_has_children() (Mark Langsdorf) [2122316] - ACPI: glue: Use acpi_dev_for_each_child() (Mark Langsdorf) [2122316] - ACPI: APEI: Fix double word in a comment (Mark Langsdorf) [2122316] - ACPI: processor/idle: Annotate more functions to live in cpuidle section (Mark Langsdorf) [2122316] - ACPI: DPTF: Support Meteor Lake (Mark Langsdorf) [2122316] - ACPI: CPPC: fix typo in comment (Mark Langsdorf) [2122316] - ACPI: video: improve PM notifer callback (Mark Langsdorf) [2122316] - ACPI: utils: include UUID in _DSM evaluation warning (Mark Langsdorf) [2122316] - cpufreq: CPPC: Enable fast_switch (Mark Langsdorf) [2122316] - acpi/nfit: rely on mce->misc to determine poison granularity (Mark Langsdorf) [2122316] - ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default (Mark Langsdorf) [2122316] - ACPI: clean up white space in a few places for consistency (Mark Langsdorf) [2122316] - ACPI: glue: Rearrange find_child_checks() (Mark Langsdorf) [2122316] - ACPI: DPTF: Add support for high frequency impedance notification (Mark Langsdorf) [2122316] - ACPI: processor: idle: Expose max_cstate/nocst/bm_check_disable read-only in sysfs (Mark Langsdorf) [2122316] - ACPI: battery: Make "not-charging" the default on no charging or full info (Mark Langsdorf) [2122316] - PCI/ACPI: negotiate CXL _OSC (Mark Langsdorf) [2122316] - PCI/ACPI: Prefer CXL _OSC instead of PCIe _OSC for CXL host bridges (Mark Langsdorf) [2122316] - PCI/ACPI: add a helper for retrieving _OSC Control DWORDs (Mark Langsdorf) [2122316] - ACPI: bus: Avoid non-ACPI device objects in walks over children (Mark Langsdorf) [2122316] - ACPI: DPTF: Correct description of INT3407 / INT3532 attributes (Mark Langsdorf) [2122316] - ACPI: BGRT: use static for BGRT_SHOW kobj_attribute defines (Mark Langsdorf) [2122316] - ACPI, APEI, EINJ: Refuse to inject into the zero page (Mark Langsdorf) [2122316] - ACPI: PM: Always print final debug message in acpi_device_set_power() (Mark Langsdorf) [2122316] - ACPI: SPCR: Add support for NVIDIA 16550-compatible port subtype (Mark Langsdorf) [2122316] - ACPI: APEI: Fix missing ERST record id (Mark Langsdorf) [2122316] - ACPICA: Update version to 20220331 (Mark Langsdorf) [2122316] - ACPICA: IORT: Updates for revision E.d (Mark Langsdorf) [2122316] - ACPICA: iASL/MADT: Add OEM-defined subtable (Mark Langsdorf) [2122316] - ACPICA: Add support for ARM Performance Monitoring Unit Table. (Mark Langsdorf) [2122316] - ACPICA: Headers: Replace zero-length array with flexible-array member (Mark Langsdorf) [2122316] - ACPICA: Removed some tabs and // comments (Mark Langsdorf) [2122316] - ACPICA: Update copyright notices to the year 2022 (Mark Langsdorf) [2122316] - ACPICA: Clean up double word in comment (Mark Langsdorf) [2122316] - ACPICA: Add new ACPI 6.4 semantics for LoadTable() operator (Mark Langsdorf) [2122316] - ACPICA: Add new ACPI 6.4 semantics to the Load() operator (Mark Langsdorf) [2122316] - ACPICA: iASL: NHLT: Rename linux specific strucures to device_info (Mark Langsdorf) [2122316] - ACPICA: iASL: NHLT: Fix parsing undocumented bytes at the end of Endpoint Descriptor (Mark Langsdorf) [2122316] - ACPICA: iASL: NHLT: Treat Terminator as specific_config (Mark Langsdorf) [2122316] - ACPICA: Add the subtable CFMWS to the CEDT table (Mark Langsdorf) [2122316] - ACPICA: Add support for the Windows 11 _OSI string (Mark Langsdorf) [2122316] - ACPI: sysfs: Fix BERT error region memory mapping (Mark Langsdorf) [2122316] - ACPI: property: Release subnode properties with data nodes (Mark Langsdorf) [2122316] - PCI: ACPI: PM: Power up devices in D3cold before scanning them (Mark Langsdorf) [2122316] - ACPI: PM: Introduce acpi_dev_power_up_children_with_adr() (Mark Langsdorf) [2122316] - ACPI: bus: Introduce acpi_dev_for_each_child() (Mark Langsdorf) [2122316] - ACPI: PM: Unify debug messages in acpi_device_set_power() (Mark Langsdorf) [2122316] - ACPI: PM: Convert debug message in acpi_device_get_power() (Mark Langsdorf) [2122316] - device property: Add irq_get to fwnode operation (Mark Langsdorf) [2122316] - device property: Add iomap to fwnode operations (Mark Langsdorf) [2122316] - ACPI: property: Move acpi_fwnode_device_get_match_data() up (Mark Langsdorf) [2122316] - device property: Convert device_{dma_supported,get_dma_attr} to fwnode (Mark Langsdorf) [2122316] - ACPI: Add perf low power callback (Mark Langsdorf) [2122316] - s390: fix double free of GS and RI CBs on fork() failure (Brian Foster) [1944540] - wifi: iwlwifi: mvm: fix double list_add at iwl_mvm_mac_wake_tx_queue (other cases) (Jose Ignacio Tornos Martinez) [2086480] - wifi: iwlwifi: mvm: fix double list_add at iwl_mvm_mac_wake_tx_queue (Jose Ignacio Tornos Martinez) [2086480]- crypto: ecdh - disallow plain "ecdh" usage in FIPS mode (Vladis Dronov) [2129392] - crypto: dh - disallow plain "dh" usage in FIPS mode (Vladis Dronov) [2129392] - x86/cpu: Add new Raptor Lake CPU model number (Prarit Bhargava) [2120361] - mm, oom: fix missing tlb_finish_mmu() in __oom_reap_task_mm(). (Waiman Long) [2130954] - net: atlantic: remove aq_nic_deinit() when resume (Íñigo Huguet) [2130839] - net: atlantic: remove deep parameter on suspend/resume functions (Íñigo Huguet) [2130839] - efi: Allow EFI_MEMORY_XP and EFI_MEMORY_RO both to be cleared (Lenny Szubowicz) [2128172] - bonding: 3ad: make ad_ticks_per_sec a const (Jonathan Toppins) [2020773] - bonding: 802.3ad: fix no transmission of LACPDUs (Jonathan Toppins) [2020773] - redhat: workaround CKI cross compilation for scripts (Jan Stancek) [2123399] - nohz/full, sched/rt: Fix missed tick-reenabling bug in dequeue_task_rt() (Phil Auld) [2107238] - gfs2: Make sure FITRIM minlen is rounded up to fs block size (Andrew Price) [2118256] - ceph: don't truncate file in atomic_open (Xiubo Li) [2120924] - of: address: Work around missing device_type property in pcie nodes (Jerry Snitselaar) [2118732] - dma-mapping: introduce DMA range map, supplanting dma_pfn_offset (Jerry Snitselaar) [2118732] - of/address: check for invalid range.cpu_addr (Jerry Snitselaar) [2118732] - of: address: Fix parser address/size cells initialization (Jerry Snitselaar) [2118732] - of_address: Guard of_bus_pci_get_flags with CONFIG_PCI (Jerry Snitselaar) [2118732] - of_address: Add bus type match for pci ranges parser (Jerry Snitselaar) [2118732] - of/address: Support multiple 'dma-ranges' entries (Jerry Snitselaar) [2118732] - of/address: use range parser for of_dma_get_range (Jerry Snitselaar) [2118732] - of/address: Rework of_pci_range parsing for non-PCI buses (Jerry Snitselaar) [2118732] - of: Drop struct of_pci_range.pci_space field (Jerry Snitselaar) [2118732] - of/address: Move range parser code out of CONFIG_PCI (Jerry Snitselaar) [2118732] - of: Make of_dma_get_range() work on bus nodes (Jerry Snitselaar) [2118732] - Revert "arm64: dts: juno: add dma-ranges property" (Jerry Snitselaar) [2118732] - of/address: Fix of_pci_range_parser_one translation of DMA addresses (Jerry Snitselaar) [2118732] - of/address: Translate 'dma-ranges' for parent nodes missing 'dma-ranges' (Jerry Snitselaar) [2118732] - of: address: Follow DMA parent for "dma-coherent" (Jerry Snitselaar) [2118732] - of: Factor out #{addr,size}-cells parsing (Jerry Snitselaar) [2118732] - of/address: Introduce of_get_next_dma_parent() helper (Jerry Snitselaar) [2118732] - of: address: Report of_dma_get_range() errors meaningfully (Jerry Snitselaar) [2118732] - of: address: Add support for the parent DMA bus (Jerry Snitselaar) [2118732] - of: address: Retrieve a parent through a callback in __of_translate_address (Jerry Snitselaar) [2118732] - of: reserved_mem: fix reserve memory leak (Jerry Snitselaar) [2118732] - of: Use device_type helpers to access the node type (Jerry Snitselaar) [2118732] - of: make PowerMac cache node search conditional on CONFIG_PPC_PMAC (Jerry Snitselaar) [2118732]- crypto: qat - add limit to linked list parsing (Vladis Dronov) [2129897] - crypto: qat - use reference to structure in dma_map_single() (Vladis Dronov) [2129897] - Revert "crypto: qat - reduce size of mapped region" (Vladis Dronov) [2129897] - crypto: qat - fix DMA transfer direction (Vladis Dronov) [2129897] - crypto: qat - fix default value of WDT timer (Vladis Dronov) [2129897] - crypto: drivers - move from strlcpy with unused retval to strscpy (Vladis Dronov) [2129897] - crypto: qat - add check to validate firmware images (Vladis Dronov) [2129897] - Documentation: qat: rewrite description (Vladis Dronov) [2129897] - Documentation: qat: Use code block for qat sysfs example (Vladis Dronov) [2129897] - KVM: x86: Inject #UD on emulated XSETBV if XSAVES isn't enabled (Dr. David Alan Gilbert) [2079311] - KVM: x86: Always enable legacy FP/SSE in allowed user XFEATURES (Dr. David Alan Gilbert) [2079311] - KVM: x86: Reinstate kvm_vcpu_arch.guest_supported_xcr0 (Dr. David Alan Gilbert) [2079311] - bonding: fix NULL deref in bond_rr_gen_slave_id (Jonathan Toppins) [2051778] - tty: use new tty_insert_flip_string_and_push_buffer() in pty_write() (Rafael Aquini) [2078869] {CVE-2022-1462} - tty: extract tty_flip_buffer_commit() from tty_flip_buffer_push() (Rafael Aquini) [2078869] {CVE-2022-1462} - tty: drop tty_schedule_flip() (Rafael Aquini) [2078869] {CVE-2022-1462} - tty: the rest, stop using tty_schedule_flip() (Rafael Aquini) [2078869] {CVE-2022-1462} - tty: drivers/tty/, stop using tty_schedule_flip() (Rafael Aquini) [2078869] {CVE-2022-1462} - vt: keyboard, use tty_insert_flip_string in puts_queue (Rafael Aquini) [2078869] {CVE-2022-1462} - vt: use tty_insert_flip_string in respond_string (Rafael Aquini) [2078869] {CVE-2022-1462}- intel_th: pci: Add Raptor Lake-S CPU support (Michael Petlan) [2040035] - intel_th: pci: Add Raptor Lake-S PCH support (Michael Petlan) [2040035] - virtio-net: support XDP when not more queues (Eugenio Pérez) [2122225] - virtio_net: Don't process redirected XDP frames when XDP is disabled (Eugenio Pérez) [2122225] - virtio_net: Fix not restoring real_num_rx_queues (Eugenio Pérez) [2122225] - x86,config: Enable straight-line-speculation fix (Wander Lairson Costa) [2062175] {CVE-2021-26341} - x86/alternative: Relax text_poke_bp() constraint (Wander Lairson Costa) [2062175] {CVE-2021-26341} - perf/x86: Add support for perf text poke event for text_poke_bp_batch() callers (Wander Lairson Costa) [2062175] {CVE-2021-26341} - objtool: Add straight-line-speculation validation (Wander Lairson Costa) [2062175] {CVE-2021-26341} - objtool: Support conditional retpolines (Wander Lairson Costa) [2062175] {CVE-2021-26341} - objtool: Refactor sibling call detection logic (Wander Lairson Costa) [2062175] {CVE-2021-26341} - objtool: Change dead_end_function() to return boolean (Wander Lairson Costa) [2062175] {CVE-2021-26341} - x86/lib/atomic64_386_32: Rename things (Wander Lairson Costa) [2062175] {CVE-2021-26341} - KVM: arm64: Fix debug architecture version (Gavin Shan) [2123587] - thunderbolt: Add support for Intel Raptor Lake (Torez Smith) [2040037] - iommu/vt-d: Fix compile error with CONFIG_PCI_ATS not set (Myron Stowe) [2118428 2122515 2127028] - iommu/vt-d: Cure VF irqdomain hickup (Myron Stowe) [2118428 2122515 2127028] - x86/pci: Set default irq domain in pcibios_add_device() (Myron Stowe) [2118428 2122515 2127028] - iommm/amd: Store irq domain in struct device (Myron Stowe) [2118428 2122515 2127028] - iommm/vt-d: Store irq domain in struct device (Myron Stowe) [2118428 2122515 2127028] - PCI/MSI: Provide pci_dev_has_special_msi_domain() helper (Myron Stowe) [2118428 2122515 2127028] - x86/msi: Consolidate MSI allocation (Myron Stowe) [2118428 2122515 2127028] - PCI/MSI: Rework pci_msi_domain_calc_hwirq() (Myron Stowe) [2118428 2122515 2127028] - x86/irq: Consolidate UV domain allocation (Myron Stowe) [2118428 2122515 2127028] - x86/irq: Consolidate DMAR irq allocation (Myron Stowe) [2118428 2122515 2127028] - x86_ioapic_Consolidate_IOAPIC_allocation (Myron Stowe) [2118428 2122515 2127028] - x86/msi: Consolidate HPET allocation (Myron Stowe) [2118428 2122515 2127028] - iommu/irq_remapping: Consolidate irq domain lookup (Myron Stowe) [2118428 2122515 2127028] - iommu/amd: Consolidate irq domain getter (Myron Stowe) [2118428 2122515 2127028] - iommu/vt-d: Consolidate irq domain getter (Myron Stowe) [2118428 2122515 2127028] - x86/irq: Add allocation type for parent domain retrieval (Myron Stowe) [2118428 2122515 2127028] - irqdomain: Export irq_domain_update_bus_token (Myron Stowe) [2118428 2122515 2127028] - perf/x86/intel: Update the FRONTEND MSR mask on Sapphire Rapids (Michael Petlan) [2125349] - perf/x86/intel/uncore: Fix invalid unit check (Michael Petlan) [2125349]- KVM: s390: pv: don't present the ecall interrupt twice (Tobias Huschle) [2125236] - s390/mm: do not trigger write fault when vma does not allow VM_WRITE (Tobias Huschle) [2125218] - PCI: Print a debug message on PCI device release (Tobias Huschle) [2125216] - s390/pci: fix leak of PCI device structure (Tobias Huschle) [2125216] - s390/pci: refactor zpci_create_device() (Tobias Huschle) [2125216] - s390/pci: remove superfluous zdev->zbus check (Tobias Huschle) [2125216] - x86/boot/64: Add missing fixup_pointer() for next_early_pgt access (Rafael Aquini) [2082806] - x86/boot/64: Fix crash if kernel image crosses page table boundary (Rafael Aquini) [2082806] - mm/slab_common: fix possible double free of kmem_cache (Waiman Long) [2093781] - mm/slab_common: Deleting kobject in kmem_cache_destroy() without holding slab_mutex/cpu_hotplug_lock (Waiman Long) [2093781] - mm/slab_common: use WARN() if cache still has objects on destroy (Waiman Long) [2093781] - slab: use __func__ to trace function name (Waiman Long) [2093781] - s390/hugetlb: fix prepare_hugepage_range() check for 2 GB hugepages (Tobias Huschle) [2125215] - platform/x86: intel/pmc: Add Alder Lake N support to PMC core driver (Prarit Bhargava) [2072654] - crash_core: Increase crashkernel=auto size for x86_64, s390 and arm64 (Lichen Liu) [2122874] - virtio-net: fix use-after-free in skb_gro_receive (Cindy Lu) [2069047] - virtio-net: fix use-after-free in page_to_skb() (Cindy Lu) [2069047] - virtio-net: restrict build_skb() use to some arches (Cindy Lu) [2069047] - virtio-net: page_to_skb() use build_skb when there's sufficient tailroom (Cindy Lu) [2069047] - sched/fair: Consider CPU affinity when allowing NUMA imbalance in find_idlest_group() (Phil Auld) [2110020] - sched/numa: Adjust imb_numa_nr to a better approximation of memory channels (Phil Auld) [2110020] - sched/numa: Apply imbalance limitations consistently (Phil Auld) [2110020] - sched/numa: Do not swap tasks between nodes when spare capacity is available (Phil Auld) [2110020] - sched/numa: Initialise numa_migrate_retry (Phil Auld) [2110020] - cpufreq: intel_pstate: Handle no_turbo in frequency invariance (Phil Auld) [2100594] - sched/fair: Introduce SIS_UTIL to search idle CPU based on sum of util_avg (Phil Auld) [2100594] - i2c: piix4: Fix a memory leak in the EFCH MMIO support (Sudheesh Mavila) [2105160] - assoc_array: Fix BUG_ON during garbage collect (Dave Wysochanski) [1920523] - wait: Fix __wait_event_hrtimeout for RT/DL tasks (Derek Barbosa) [2125233]- raid1: ensure write behind bio has less than BIO_MAX_VECS sectors (Nigel Croxon) [2116209] - ceph: fix statfs for subdir mounts (Xiubo Li) [2120943] - ceph: try to queue a writeback if revoking fails (Xiubo Li) [2120940] - ceph: update the auth cap when the async create req is forwarded (Xiubo Li) [2120932] - ceph: make change_auth_cap_ses a global symbol (Xiubo Li) [2120932] - fs/dcache: export d_same_name() helper (Xiubo Li) [2120932] - ceph: wait for the first reply of inflight async unlink (Xiubo Li) [2120932] - redhat: Enable KASAN_VMALLOC (Nico Pache) [2108620] - arm64: select KASAN_VMALLOC for SW/HW_TAGS modes (Nico Pache) [2108620] - x86/crash: Fix crash_setup_memmap_entries() out-of-bounds access (Nico Pache) [2108620] - mm: defer kmemleak object creation of module_alloc() (Nico Pache) [2108620] - arm64: kaslr: keep modules inside module region when KASAN is enabled (Nico Pache) [2108620] - kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC (Nico Pache) [2108620] - arm64: Kconfig: select KASAN_VMALLOC if KANSAN_GENERIC is enabled (Nico Pache) [2108620] - arm64: kaslr: support randomized module area with KASAN_VMALLOC (Nico Pache) [2108620] - arm64: Kconfig: support CONFIG_KASAN_VMALLOC (Nico Pache) [2108620] - arm64: kasan: abstract _text and _end to KERNEL_START/END (Nico Pache) [2108620] - arm64: kasan: don't populate vmalloc area for CONFIG_KASAN_VMALLOC (Nico Pache) [2108620] - x86/kasan: support KASAN_VMALLOC (Nico Pache) [2108620] - ath9k: htc: clean up statistics macros (Jose Ignacio Tornos Martinez) [2084598] {CVE-2022-1679} - ath9k: hif_usb: simplify if-if to if-else (Jose Ignacio Tornos Martinez) [2084598] {CVE-2022-1679} - ath9k: fix use-after-free in ath9k_hif_usb_rx_cb (Jose Ignacio Tornos Martinez) [2084598] {CVE-2022-1679} - igmp: Add ip_mc_list lock in ip_check_mc_rcu (Hangbin Liu) [2114946] {CVE-2022-20141} - scsi: zfcp: Fix missing auto port scan and thus missing target ports (Tobias Huschle) [2121089] - vfio/type1: Unpin zero pages (Alex Williamson) [2123015]- iommu/vt-d: Make DMAR_UNITS_SUPPORTED default 1024 (Jerry Snitselaar) [2120412] - Revert "iommu/vt-d: Make DMAR_UNITS_SUPPORTED a config setting" (Jerry Snitselaar) [2120412] - ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE (Oleg Nesterov) [2121269] {CVE-2022-30594} - redhat: remove unused STAMP variable from genspec.sh (Herton R. Krzesinski) - internal: Update RHEL_MINOR for the start of RHEL-8.8 development (Lucas Zampieri)- EDAC/amd64: Add new register offset support and related changes (Aristeu Rozanski) [2048792] - EDAC/amd64: Set memory type per DIMM (Aristeu Rozanski) [2048792] - Revert "ixgbevf: Mailbox improvements" (Ken Cox) [2120545] - Revert "ixgbevf: Add support for new mailbox communication between PF and VF" (Ken Cox) [2120545] - drm/amdgpu: Only disable prefer_shadow on hawaii (Lyude Paul) [2118755]- redhat: configs: add CONFIG_SERIAL_MULTI_INSTANTIATE=m for x86_64 (Jaroslav Kysela) [2005073] - ACPI: scan: Add CLSA0101 Laptop Support (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Add CLSA0101 Laptop (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Sort ACPI IDs by HID (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Get rid of redundant 'else' (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Use while (i--) pattern to clean up (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Improve dev_err_probe() messaging (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Drop duplicate check (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Improve autodetection (Jaroslav Kysela) [2005073] - ACPI / scan: Create platform device for CS35L41 (Jaroslav Kysela) [2005073] - ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Add SPI support (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Reorganize I2C functions (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Rename it for a generic serial driver name (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Use the new i2c_acpi_client_count() helper (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Use device_get_match_data() to get driver data (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Simplify with dev_err_probe() (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Drop redundant ACPI_PTR() (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Replace zero-length array with flexible-array member (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Fail the probe if no IRQ provided (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Derive the device name from parent (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Use struct_size() helper (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Allow to have same slaves (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Introduce IOAPIC IRQ support (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Distinguish IRQ resource type (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Count I2cSerialBus() resources (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Get rid of obsolete conditional (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Defer probe when no adapter found (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Accept errors of i2c_acpi_new_device() (Jaroslav Kysela) [2005073] - serdev: Fix detection of UART devices on Apple machines. (Jaroslav Kysela) [2005073] - serdev: Add ACPI devices by ResourceSource field (Jaroslav Kysela) [2005073] - spi: Return deferred probe error when controller isn't yet available (Jaroslav Kysela) [2005073] - spi/acpi: avoid spurious matches during slave enumeration (Jaroslav Kysela) [2005073] - spi: Add API to count spi acpi resources (Jaroslav Kysela) [2005073] - spi: Support selection of the index of the ACPI Spi Resource before alloc (Jaroslav Kysela) [2005073] - ACPI: Test for ACPI_SUCCESS rather than !ACPI_FAILURE (Jaroslav Kysela) [2005073] - spi/acpi: fix incorrect ACPI parent check (Jaroslav Kysela) [2005073] - spi: Create helper API to lookup ACPI info for spi device (Jaroslav Kysela) [2005073] - spi/acpi: enumerate all SPI slaves in the namespace (Jaroslav Kysela) [2005073] - spi: kill useless initializer in spi_register_controller() (Jaroslav Kysela) [2005073] - spi: fix ctrl->num_chipselect constraint (Jaroslav Kysela) [2005073] - spi: Don't call spi_get_gpio_descs() before device name is set (Jaroslav Kysela) [2005073] - spi: Avoid undefined behaviour when counting unused native CSs (Jaroslav Kysela) [2005073] - spi: Allow to have all native CSs in use along with GPIOs (Jaroslav Kysela) [2005073] - spi: Add missing error handling for CS GPIOs (Jaroslav Kysela) [2005073] - spi: export tracepoint symbols to modules (Jaroslav Kysela) [2005073] - spi: Fix zero length xfer bug (Jaroslav Kysela) [2005073] - spi: Add generic support for unused native cs with cs-gpios (Jaroslav Kysela) [2005073] - spi: Reduce kthread priority (Jaroslav Kysela) [2005073] - spi: core: Use DEVICE_ATTR_RW() for SPI slave control sysfs attribute (Jaroslav Kysela) [2005073] - i2c: acpi: Add an i2c_acpi_client_count() helper function (Jaroslav Kysela) [2005073] - s390/qeth: cache link_info for ethtool (Michal Schmidt) [2117098] - nfp: amend removal of MODULE_VERSION (Stefan Assmann) [1955769] - x86/speculation: Add LFENCE to RSB fill sequence (Waiman Long) [2115080] {CVE-2022-26373} - x86/speculation: Add RSB VM Exit protections (Waiman Long) [2115080] {CVE-2022-26373} - tools headers cpufeatures: Sync with the kernel sources (Waiman Long) [2115080] - tools headers cpufeatures: Sync with the kernel sources (Waiman Long) [2115080] - x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n (Waiman Long) [2115080] - x86/bugs: Do not enable IBPB at firmware entry when IBPB is not available (Waiman Long) [2115080] - x86/amd: Use IBPB for firmware calls (Waiman Long) [2115080] - x86/bugs: Warn when "ibrs" mitigation is selected on Enhanced IBRS parts (Waiman Long) [2115080] - iavf: Fix reset error handling (Petr Oros) [2119759] - iavf: Fix NULL pointer dereference in iavf_get_link_ksettings (Petr Oros) [2119759] - iavf: Fix adminq error handling (Petr Oros) [2119759] - iavf: Fix missing state logs (Petr Oros) [2119759] - ixgbe: Add locking to prevent panic when setting sriov_numvfs to zero (Ken Cox) [1978613]- netfilter: ipset: fix suspicious RCU usage in find_set_and_id (Florian Westphal) [2118526] - net/mlx5e: Update netdev features after changing XDP state (Amir Tzin) [2049440] - net/mlx5e: CT: Use own workqueue instead of mlx5e priv (Amir Tzin) [2049440] - net/mlx5e: CT: Add ct driver counters (Amir Tzin) [2049440] - net/mlx5e: CT: Fix cleanup of CT before cleanup of TC ct rules (Amir Tzin) [2049440] - net/mlx5e: Align mlx5e_cleanup_uplink_rep_tx() with upstream code. (Amir Tzin) [2049440] - net/mlx5e: Correct the calculation of max channels for rep (Amir Tzin) [2049440] - Documentation: devlink: mlx5.rst: Fix htmldoc build warning (Amir Tzin) [2049440] - net/mlx5: fs, fail conflicting actions (Amir Tzin) [2049440] - net/mlx5: Rearm the FW tracer after each tracer event (Amir Tzin) [2049440] - net/mlx5: correct ECE offset in query qp output (Amir Tzin) [2049440] - net/mlx5e: Disable softirq in mlx5e_activate_rq to avoid race condition (Amir Tzin) [2049440] - net/mlx5e: TC NIC mode, fix tc chains miss table (Amir Tzin) [2049440] - net/mlx5: Don't use already freed action pointer (Amir Tzin) [2049440] - net/mlx5: fix typo in comment (Amir Tzin) [2049440] - IB/mlx5: Fix undefined behavior due to shift overflowing the constant (Amir Tzin) [2049440] - net/mlx5e: Force ethertype usage in mlx5_ct_fs_smfs_fill_mask() (Amir Tzin) [2049440] - net/mlx5: Drain fw_reset when removing device (Amir Tzin) [2049440] - net/mlx5e: CT: Fix setting flow_source for smfs ct tuples (Amir Tzin) [2049440] - net/mlx5e: CT: Fix support for GRE tuples (Amir Tzin) [2049440] - net/mlx5e: Remove HW-GRO from reported features (Amir Tzin) [2049440] - net/mlx5e: Properly block HW GRO when XDP is enabled (Amir Tzin) [2049440] - net/mlx5e: Properly block LRO when XDP is enabled (Amir Tzin) [2049440] - net/mlx5e: Block rx-gro-hw feature in switchdev mode (Amir Tzin) [2049440] - net/mlx5e: Wrap mlx5e_trap_napi_poll into rcu_read_lock (Amir Tzin) [2049440] - net/mlx5: Initialize flow steering during driver probe (Amir Tzin) [2049440] - net/mlx5: Fix matching on inner TTC (Amir Tzin) [2049440] - net/mlx5: Avoid double clear or set of sync reset requested (Amir Tzin) [2049440] - net/mlx5: Fix deadlock in sync reset flow (Amir Tzin) [2049440] - net/mlx5e: Fix trust state reset in reload (Amir Tzin) [2049440] - net/mlx5e: Avoid checking offload capability in post_parse action (Amir Tzin) [2049440] - net/mlx5e: CT: Fix queued up restore put() executing after relevant ft release (Amir Tzin) [2049440] - net/mlx5e: TC, Fix ct_clear overwriting ct action metadata (Amir Tzin) [2049440] - net/mlx5e: Lag, Don't skip fib events on current dst (Amir Tzin) [2049440] - net/mlx5e: Lag, Fix fib_info pointer assignment (Amir Tzin) [2049440] - net/mlx5e: Lag, Fix use-after-free in fib event handler (Amir Tzin) [2049440] - net/mlx5e: Fix the calling of update_buffer_lossy() API (Amir Tzin) [2049440] - net/mlx5e: Don't match double-vlan packets if cvlan is not set (Amir Tzin) [2049440] - net/mlx5: Fix slab-out-of-bounds while reading resource dump menu (Amir Tzin) [2049440] - RDMA/mlx5: Add a missing update of cache->last_add (Amir Tzin) [2049440] - RDMA/mlx5: Don't remove cache MRs when a delay is needed (Amir Tzin) [2049440] - net/mlx5e: HTB, remove unused function declaration (Amir Tzin) [2049440] - net/mlx5e: Statify function mlx5_cmd_trigger_completions (Amir Tzin) [2049440] - net/mlx5: Remove unused fill page array API function (Amir Tzin) [2049440] - net/mlx5: Remove unused exported contiguous coherent buffer allocation API (Amir Tzin) [2049440] - net/mlx5: CT: Remove extra rhashtable remove on tuple entries (Amir Tzin) [2049440] - net/mlx5: DR, Remove hw_ste from mlx5dr_ste to reduce memory (Amir Tzin) [2049440] - net/mlx5: DR, Remove 4 members from mlx5dr_ste_htbl to reduce memory (Amir Tzin) [2049440] - net/mlx5: DR, Remove num_of_entries byte_size from struct mlx5_dr_icm_chunk (Amir Tzin) [2049440] - net/mlx5: DR, Remove icm_addr from mlx5dr_icm_chunk to reduce memory (Amir Tzin) [2049440] - net/mlx5: DR, Remove mr_addr rkey from struct mlx5dr_icm_chunk (Amir Tzin) [2049440] - net/mlx5: DR, Adjust structure member to reduce memory hole (Amir Tzin) [2049440] - net/mlx5e: Drop cqe_bcnt32 from mlx5e_skb_from_cqe_mpwrq_linear (Amir Tzin) [2049440] - net/mlx5e: Drop the len output parameter from mlx5e_xdp_handle (Amir Tzin) [2049440] - net/mlx5e: RX, Test the XDP program existence out of the handler (Amir Tzin) [2049440] - net/mlx5e: Build SKB in place over the first fragment in non-linear legacy RQ (Amir Tzin) [2049440] - net/mlx5e: Add headroom only to the first fragment in legacy RQ (Amir Tzin) [2049440] - net/mlx5e: Validate MTU when building non-linear legacy RQ fragments info (Amir Tzin) [2049440] - net/mlx5e: MPLSoUDP encap, support action vlan pop_eth explicitly (Amir Tzin) [2049440] - net/mlx5e: MPLSoUDP decap, use vlan push_eth instead of pedit (Amir Tzin) [2049440] - RDMA/mlx5: Fix memory leak in error flow for subscribe event routine (Amir Tzin) [2049440] - net/mlx5e: Fix use-after-free in mlx5e_stats_grp_sw_update_stats (Amir Tzin) [2049440] - net/mlx5e: Remove overzealous validations in netlink EEPROM query (Amir Tzin) [2049440] - net/mlx5: Parse module mapping using mlx5_ifc (Amir Tzin) [2049440] - net/mlx5: Query the maximum MCIA register read size from firmware (Amir Tzin) [2049440] - net/mlx5: CT: Create smfs dr matchers dynamically (Amir Tzin) [2049440] - net/mlx5: CT: Add software steering ct flow steering provider (Amir Tzin) [2049440] - net/mlx5: Add smfs lib to export direct steering API to CT (Amir Tzin) [2049440] - net/mlx5: DR, Add helper to get backing dr table from a mlx5 flow table (Amir Tzin) [2049440] - net/mlx5: CT: Introduce a platform for multiple flow steering providers (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for the doorbell pgdir (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for UAR (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for the EQs (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for the EQ table (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for the IRQ table (Amir Tzin) [2049440] - net/mlx5: Delete useless module.h include (Amir Tzin) [2049440] - net/mlx5: DR, Add support for ConnectX-7 steering (Amir Tzin) [2049440] - net/mlx5: DR, Refactor ste_ctx handling for STE v0/1 (Amir Tzin) [2049440] - net/mlx5: DR, Rename action modify fields to reflect naming in HW spec (Amir Tzin) [2049440] - net/mlx5: DR, Fix handling of different actions on the same STE in STEv1 (Amir Tzin) [2049440] - net/mlx5: DR, Remove unneeded comments (Amir Tzin) [2049440] - net/mlx5: DR, Add support for matching on Internet Header Length (IHL) (Amir Tzin) [2049440] - net/mlx5: DR, Align mlx5dv_dr API vport action with FW behavior (Amir Tzin) [2049440] - net/mlx5: Add debugfs counters for page commands failures (Amir Tzin) [2049440] - net/mlx5: Add pages debugfs (Amir Tzin) [2049440] - net/mlx5: Move debugfs entries to separate struct (Amir Tzin) [2049440] - net/mlx5: Change release_all_pages cap bit location (Amir Tzin) [2049440] - net/mlx5: Remove redundant error on reclaim pages (Amir Tzin) [2049440] - net/mlx5: Remove redundant error on give pages (Amir Tzin) [2049440] - net/mlx5: Remove redundant notify fail on give pages (Amir Tzin) [2049440] - net/mlx5: Add command failures data to debugfs (Amir Tzin) [2049440] - net/mlx5e: TC, Fix use after free in mlx5e_clone_flow_attr_for_post_act() (Amir Tzin) [2049440] - net/mlx5: Support GRE conntrack offload (Amir Tzin) [2049440] - mlx5: add support for page_pool_get_stats (Amir Tzin) [2049440] - net/mlx5: Add migration commands definitions (Amir Tzin) [2049440] - net/mlx5: Introduce migration bits and structures (Amir Tzin) [2049440] - net/mlx5: Expose APIs to get/put the mlx5 core device (Amir Tzin) [2049440] - net/mlx5: Disable SRIOV before PF removal (Amir Tzin) [2049440] - net/mlx5: Reuse exported virtfn index function call (Amir Tzin) [2049440] - net/mlx5: Add clarification on sync reset failure (Amir Tzin) [2049440] - net/mlx5: Add reset_state field to MFRL register (Amir Tzin) [2049440] - RDMA/mlx5: Use new command interface API (Amir Tzin) [2049440] - net/mlx5: cmdif, Refactor error handling and reporting of async commands (Amir Tzin) [2049440] - net/mlx5: Use mlx5_cmd_do() in core create_{cq,dct} (Amir Tzin) [2049440] - net/mlx5: cmdif, Add new api for command execution (Amir Tzin) [2049440] - net/mlx5: cmdif, cmd_check refactoring (Amir Tzin) [2049440] - net/mlx5: cmdif, Return value improvements (Amir Tzin) [2049440] - net/mlx5: Lag, offload active-backup drops to hardware (Amir Tzin) [2049440] - net/mlx5: Lag, record inactive state of bond device (Amir Tzin) [2049440] - net/mlx5: Lag, don't use magic numbers for ports (Amir Tzin) [2049440] - net/mlx5: Lag, use local variable already defined to access E-Switch (Amir Tzin) [2049440] - net/mlx5: E-switch, add drop rule support to ingress ACL (Amir Tzin) [2049440] - net/mlx5: E-switch, remove special uplink ingress ACL handling (Amir Tzin) [2049440 2049580] - net/mlx5: E-Switch, reserve and use same uplink metadata across ports (Amir Tzin) [2049440 2049580] - net/mlx5: Add ability to insert to specific flow group (Amir Tzin) [2049440] - mlx5: remove unused static inlines (Amir Tzin) [2049440] - RDMA/mlx5: Reorder calls to pcie_relaxed_ordering_enabled() (Amir Tzin) [2049440] - RDMA/mlx5: Store ndescs instead of the translation table size (Amir Tzin) [2049440] - RDMA/mlx5: Merge similar flows of allocating MR from the cache (Amir Tzin) [2049440] - RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR (Amir Tzin) [2049440] - RDMA/mlx5: Remove redundant work in struct mlx5_cache_ent (Amir Tzin) [2049440] - net/mlx5e: TC, Allow sample action with CT (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Make post_act parse CT and sample actions (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Clean redundant counter flag from tc action parsers (Amir Tzin) [2049440 2049659] - net/mlx5e: Use multi table support for CT and sample actions (Amir Tzin) [2049440 2049659] - net/mlx5e: Create new flow attr for multi table actions (Amir Tzin) [2049440 2049659] - net/mlx5e: Add post act offload/unoffload API (Amir Tzin) [2049440 2049659] - net/mlx5e: Pass actions param to actions_match_supported() (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Move flow hashtable to be per rep (Amir Tzin) [2049440] - net/mlx5e: E-Switch, Add support for tx_port_ts in switchdev mode (Amir Tzin) [2049440] - net/mlx5e: E-Switch, Add PTP counters for uplink representor (Amir Tzin) [2049440] - net/mlx5e: RX, Restrict bulk size for small Striding RQs (Amir Tzin) [2049440] - net/mlx5e: Default to Striding RQ when not conflicting with CQE compression (Amir Tzin) [2049440] - net/mlx5e: Generalize packet merge error message (Amir Tzin) [2049440] - net/mlx5e: Add support for using xdp->data_meta (Amir Tzin) [2049440] - net/mlx5e: Fix spelling mistake "supoported" -> "supported" (Amir Tzin) [2049440] - net/mlx5e: Optimize the common case condition in mlx5e_select_queue (Amir Tzin) [2049440] - net/mlx5e: Optimize modulo in mlx5e_select_queue (Amir Tzin) [2049440] - net/mlx5e: Optimize mlx5e_select_queue (Amir Tzin) [2049440] - net/mlx5e: Use READ_ONCE/WRITE_ONCE for DCBX trust state (Amir Tzin) [2049440] - net/mlx5e: Move repeating code that gets TC prio into a function (Amir Tzin) [2049440] - net/mlx5e: Use select queue parameters to sync with control flow (Amir Tzin) [2049440] - net/mlx5e: Move mlx5e_select_queue to en/selq.c (Amir Tzin) [2049440] - net/mlx5e: Introduce select queue parameters (Amir Tzin) [2049440] - net/mlx5e: Sync txq2sq updates with mlx5e_xmit for HTB queues (Amir Tzin) [2049440] - net/mlx5e: Use a barrier after updating txq2sq (Amir Tzin) [2049440] - net/mlx5e: Disable TX queues before registering the netdev (Amir Tzin) [2049440] - net/mlx5e: Cleanup of start/stop all queues (Amir Tzin) [2049440] - net/mlx5e: Use FW limitation for max MPW WQEBBs (Amir Tzin) [2049440] - net/mlx5e: Read max WQEBBs on the SQ from firmware (Amir Tzin) [2049440] - net/mlx5e: Remove unused tstamp SQ field (Amir Tzin) [2049440] - RDMA/mlx5: Delete useless module.h include (Amir Tzin) [2049440] - RDMA/mlx5: Delete get_num_static_uars function (Amir Tzin) [2049440] - net/mlx5: VLAN push on RX, pop on TX (Amir Tzin) [2049440 2049616] - net/mlx5: Introduce software defined steering capabilities (Amir Tzin) [2049440 2049616] - net/mlx5: Remove unused TIR modify bitmask enums (Amir Tzin) [2049440] - net/mlx5e: CT, Remove redundant flow args from tc ct calls (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Store mapped tunnel id on flow attr (Amir Tzin) [2049440 2049659] - net/mlx5e: Test CT and SAMPLE on flow attr (Amir Tzin) [2049440 2049580 2049659] - net/mlx5e: Refactor eswitch attr flags to just attr flags (Amir Tzin) [2049440 2049580 2049659] - net/mlx5e: CT, Don't set flow flag CT for ct clear flow (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Hold sample_attr on stack instead of pointer (Amir Tzin) [2049440 2049580 2049659] - net/mlx5e: TC, Reject rules with multiple CT actions (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Refactor mlx5e_tc_add_flow_mod_hdr() to get flow attr (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Pass attr to tc_act can_offload() (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Split pedit offloads verify from alloc_tc_pedit_action() (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Move pedit_headers_action to parse_attr (Amir Tzin) [2049440 2049659] - net/mlx5e: Move counter creation call to alloc_flow_attr_counter() (Amir Tzin) [2049440 2049659] - net/mlx5e: Pass attr arg for attaching/detaching encaps (Amir Tzin) [2049440 2049659] - net/mlx5e: Move code chunk setting encap dests into its own function (Amir Tzin) [2049440 2049659] - net_sched: cls_route: remove from list when handle is 0 (Felix Maurer) [2116328] {CVE-2022-2588} - netfilter: nf_tables: do not allow RULE_ID to refer to another chain (Florian Westphal) [2116356] {CVE-2022-2586} - netfilter: nf_tables: do not allow SET_ID to refer to another table (Florian Westphal) [2116356] {CVE-2022-2586} - netfilter: nf_queue: do not allow packet truncation below transport header offset (Florian Westphal) [2116159] {CVE-2022-36946} - net: let flow have same hash in two directions (Ivan Vecera) [2111094] - ipv4: Fix data-races around sysctl_fib_multipath_hash_fields. (Ivan Vecera) [2111094] - net: Add notifications when multipath hash field change (Ivan Vecera) [2111094] - selftests: forwarding: Add test for custom multipath hash with IPv6 GRE (Ivan Vecera) [2111094] - selftests: forwarding: Add test for custom multipath hash with IPv4 GRE (Ivan Vecera) [2111094] - selftests: forwarding: Add test for custom multipath hash (Ivan Vecera) [2111094] - ipv6: Add custom multipath hash policy (Ivan Vecera) [2111094] - ipv6: Add a sysctl to control multipath hash fields (Ivan Vecera) [2111094] - ipv6: Calculate multipath hash inside switch statement (Ivan Vecera) [2111094] - ipv6: Use a more suitable label name (Ivan Vecera) [2111094] - ipv4: Add custom multipath hash policy (Ivan Vecera) [2111094] - ipv4: Add a sysctl to control multipath hash fields (Ivan Vecera) [2111094] - ipv4: Calculate multipath hash inside switch statement (Ivan Vecera) [2111094] - ipv6: Use math to point per net sysctls into the appropriate struct net (Ivan Vecera) [2111094] - selftest/net/forwarding: declare NETIFS p9 p10 (Ivan Vecera) [2111094] - ipv6: Fix sysctl max for fib_multipath_hash_policy (Ivan Vecera) [2111094] - selftests: forwarding: Test multipath hashing on inner IP pkts for GRE tunnel (Ivan Vecera) [2111094] - ipv6: Support multipath hashing on inner IP pkts (Ivan Vecera) [2111094] - ipv4: Multipath hashing on inner L3 needs to consider inner IPv6 pkts (Ivan Vecera) [2111094] - ipv4: Support multipath hashing on inner IP pkts for GRE tunnel (Ivan Vecera) [2111094] - ipv4: Initialize flowi4_multipath_hash in data path (Ivan Vecera) [2111094] - net: ipv4: Fix NULL pointer dereference in route lookup (Ivan Vecera) [2111094] - route: Add multipath_hash in flowi_common to make user-define hash (Ivan Vecera) [2111094]- drm/nouveau/kms/nv140-: Disable interlacing (Lyude Paul) [2097647] - rpm: convert gcc and libelf to Recommends (Jarod Wilson) [2114900] - redhat: add ca7 to redhat/git/files (Jarod Wilson)- net/mlx5e: TC, Remove redundant error logging (Amir Tzin) [2049436] - net/mlx5e: SHAMPO, reduce TIR indication (Amir Tzin) [2049436] - net/mlx5e: Lag, Only handle events from highest priority multipath entry (Amir Tzin) [2049436] - net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE (Amir Tzin) [2049436] - net/mlx5: Fix a race on command flush flow (Amir Tzin) [2049436] - net/mlx5: Fix size field in bufferx_reg struct (Amir Tzin) [2049436] - net/mlx5e: Fix VF min/max rate parameters interchange mistake (Amir Tzin) [2049436] - net/mlx5e: Add missing increment of count (Amir Tzin) [2049436] - net/mlx5e: MPLSoUDP decap, fix check for unsupported matches (Amir Tzin) [2049436] - net/mlx5e: Fix MPLSoUDP encap to use MPLS action information (Amir Tzin) [2049436] - net/mlx5e: Add feature check for set fec counters (Amir Tzin) [2049436 2049711] - net/mlx5e: TC, Skip redundant ct clear actions (Amir Tzin) [2049436] - net/mlx5e: TC, Reject rules with forward and drop actions (Amir Tzin) [2049436] - net/mlx5e: TC, Reject rules with drop and modify hdr action (Amir Tzin) [2049436] - net/mlx5e: kTLS, Use CHECKSUM_UNNECESSARY for device-offloaded packets (Amir Tzin) [2049436] - net/mlx5e: Use dma device access helper (add dropped hunk) (Amir Tzin) [2049436] - net/mlx5e: Fix wrong return value on ioctl EEPROM query failure (Amir Tzin) [2049436] - net/mlx5: Fix possible deadlock on rule deletion (Amir Tzin) [2049436] - net/mlx5: Fix tc max supported prio for nic mode (Amir Tzin) [2049436] - net/mlx5: Update log_max_qp value to be 17 at most (Amir Tzin) [2049436] - net/mlx5: DR, Don't allow match on IP w/o matching on full ethertype/ip_version (Amir Tzin) [2049436] - net/mlx5e: Avoid field-overflowing memcpy() (Amir Tzin) [2049436] - net/mlx5e: Use struct_group() for memcpy() region (Amir Tzin) [2049436] - net/mlx5e: IPsec: Fix tunnel mode crypto offload for non TCP/UDP traffic (Amir Tzin) [2049436 2052871] - net/mlx5e: IPsec: Fix crypto offload for non TCP/UDP encapsulated traffic (Amir Tzin) [2049436 2052871] - net/mlx5e: Don't treat small ceil values as unlimited in HTB offload (Amir Tzin) [2049436] - net/mlx5: E-Switch, Fix uninitialized variable modact (Amir Tzin) [2049436] - net/mlx5e: Fix handling of wrong devices during bond netevent (Amir Tzin) [2049436] - net/mlx5e: Fix broken SKB allocation in HW-GRO (Amir Tzin) [2049436] - net/mlx5e: Fix wrong calculation of header index in HW_GRO (Amir Tzin) [2049436] - net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE (Amir Tzin) [2049436] - net/mlx5e: TC, Reject rules with forward and drop actions (Amir Tzin) [2049436] - net/mlx5: Use del_timer_sync in fw reset flow of halting poll (Amir Tzin) [2049436] - net/mlx5e: Fix module EEPROM query (Amir Tzin) [2049436] - net/mlx5e: TC, Reject rules with drop and modify hdr action (Amir Tzin) [2049436] - net/mlx5: Bridge, ensure dev_name is null-terminated (Amir Tzin) [2049436] - net/mlx5: Bridge, take rtnl lock in init error handler (Amir Tzin) [2049436] - mlx5: Don't accidentally set RTO_ONLINK before mlx5e_route_lookup_ipv4_get() (Amir Tzin) [2049436] - net/mlx5e: Fix build error in fec_set_block_stats() (Amir Tzin) [2049436] - Revert "net/mlx5: Add retry mechanism to the command entry index allocation" (Amir Tzin) [2049436] - net/mlx5: Set command entry semaphore up once got index free (Amir Tzin) [2049436] - net/mlx5e: Sync VXLAN udp ports during uplink representor profile change (Amir Tzin) [2049436] - net/mlx5: Fix access to sf_dev_table on allocation failure (Amir Tzin) [2049436] - net/mlx5e: Fix matching on modified inner ip_ecn bits (Amir Tzin) [2049436] - Revert "net/mlx5e: Block offload of outer header csum for GRE tunnel" (Amir Tzin) [2049436] - Revert "net/mlx5e: Block offload of outer header csum for UDP tunnels" (Amir Tzin) [2049436] - net/mlx5e: Fix nullptr on deleting mirroring rule (Amir Tzin) [2049436] - net/mlx5e: Fix page DMA map/unmap attributes (Amir Tzin) [2049436] - net/mlx5: Use dma device access helper (add dropped hunk) (Amir Tzin) [2049436] - net/mlx5e: Add recovery flow in case of error CQE (Amir Tzin) [2049436] - net/mlx5e: Refactor set_pflag_cqe_based_moder (Amir Tzin) [2049436] - net/mlx5e: Move HW-GRO and CQE compression check to fix features flow (Amir Tzin) [2049436] - net/mlx5e: Fix feature check per profile (Amir Tzin) [2049436] - net/mlx5e: Unblock setting vid 0 for VF in case PF isn't eswitch manager (Amir Tzin) [2049436] - net/mlx5e: Expose FEC counters via ethtool (Amir Tzin) [2049436 2049711] - net/mlx5: Update log_max_qp value to FW max capability (Amir Tzin) [2049436] - net/mlx5: Use irq_set_affinity_and_hint() (Amir Tzin) [2049436] - net/mlx5: SF, Use all available cpu for setting cpu affinity (Amir Tzin) [2049436] - net/mlx5: Introduce API for bulk request and release of IRQs (Amir Tzin) [2049436] - net/mlx5: Split irq_pool_affinity logic to new file (Amir Tzin) [2049436] - net/mlx5: Move affinity assignment into irq_request (Amir Tzin) [2049436] - net/mlx5: Introduce control IRQ request API (Amir Tzin) [2049436] - net/mlx5: mlx5e_hv_vhca_stats_create return type to void (Amir Tzin) [2049436] - RDMA/mlx5: Print wc status on CQE error and dump needed (Amir Tzin) [2049436] - net: fixup build after bpf header changes (Amir Tzin) [2049436] - net/mlx5: CT: Set flow source hint from provided tuple device (Amir Tzin) [2049436] - net/mlx5: Set SMFS as a default steering mode if device supports it (Amir Tzin) [2049436] - net/mlx5: DR, Improve steering for empty or RX/TX-only matchers (Amir Tzin) [2049436] - net/mlx5: DR, Add support for matching on geneve_tlv_option_0_exist field (Amir Tzin) [2049436] - net/mlx5: DR, Support matching on tunnel headers 0 and 1 (Amir Tzin) [2049436] - net/mlx5: DR, Add misc5 to match_param structs (Amir Tzin) [2049436] - net/mlx5: Add misc5 flow table match parameters (Amir Tzin) [2049436] - net/mlx5: DR, Add support for UPLINK destination type (Amir Tzin) [2049436] - net/mlx5e: Use auxiliary_device driver data helpers (Amir Tzin) [2049436] - net/mlx5e: Take packet_merge params directly from the RX res struct (Amir Tzin) [2049436] - net/mlx5e: Allocate per-channel stats dynamically at first usage (Amir Tzin) [2049436] - net/mlx5e: Use dynamic per-channel allocations in stats (Amir Tzin) [2049436] - net/mlx5e: Allow profile-specific limitation on max num of channels (Amir Tzin) [2049436] - net/mlx5e: Save memory by using dynamic allocation in netdev priv (Amir Tzin) [2049436] - net/mlx5e: Add profile indications for PTP and QOS HTB features (Amir Tzin) [2049436] - net/mlx5e: Use bitmap field for profile features (Amir Tzin) [2049436] - net/mlx5: Remove the repeated declaration (Amir Tzin) [2049436] - net/mlx5: Let user configure max_macs generic param (Amir Tzin) [2049436] - net/mlx5: Let user configure event_eq_size param (Amir Tzin) [2049436] - net/mlx5: Let user configure io_eq_size param (Amir Tzin) [2049436] - net/mlx5: Introduce log_max_current_uc_list_wr_supported bit (Amir Tzin) [2049436] - net/mlx5e: Move goto action checks into tc_action goto post parse op (Amir Tzin) [2049436] - net/mlx5e: Move vlan action chunk into tc action vlan post parse op (Amir Tzin) [2049436] - net/mlx5e: Add post_parse() op to tc action infrastructure (Amir Tzin) [2049436] - net/mlx5e: Move sample attr allocation to tc_action sample parse op (Amir Tzin) [2049436] - net/mlx5e: TC action parsing loop (Amir Tzin) [2049436] - net/mlx5e: Add redirect ingress to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add sample and ptype to tc_action infra (Amir Tzin) [2049436] - net/mlx5e: Add ct to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add mirred/redirect to tc action infra (Amir Tzin) [2049436] - Revert "net/mlx5e: TC, Remove redundant error logging" (Amir Tzin) [2049436] - net/mlx5e: Add mpls push/pop to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add vlan push/pop/mangle to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add pedit to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add csum to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add tunnel encap/decap to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add goto to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add tc action infrastructure (Amir Tzin) [2049436] - RDMA/mlx5: Use memset_after() to zero struct mlx5_ib_mr (Amir Tzin) [2049436] - RDMA/mlx5: Add support to multiple priorities for FDB rules (Amir Tzin) [2049436] - net/mlx5: Create more priorities for FDB bypass namespace (Amir Tzin) [2049436] - net/mlx5: Refactor mlx5_get_flow_namespace (Amir Tzin) [2049436] - net/mlx5: Separate FDB namespace (Amir Tzin) [2049436] - net/mlx5: Dynamically resize flow counters query buffer (Amir Tzin) [2049436] - net/mlx5e: TC, Set flow attr ip_version earlier (Amir Tzin) [2049436] - net/mlx5e: TC, Move common flow_action checks into function (Amir Tzin) [2049436] - net/mlx5e: Remove redundant actions arg from vlan push/pop funcs (Amir Tzin) [2049436] - net/mlx5e: Remove redundant actions arg from validate_goto_chain() (Amir Tzin) [2049436] - net/mlx5e: TC, Remove redundant action stack var (Amir Tzin) [2049436] - net/mlx5e: Hide function mlx5e_num_channels_changed (Amir Tzin) [2049436] - net/mlx5e: SHAMPO, clean MLX5E_MAX_KLM_PER_WQE macro (Amir Tzin) [2049436] - net/mlx5: Print more info on pci error handlers (Amir Tzin) [2049436] - net/mlx5: SF, silence an uninitialized variable warning (Amir Tzin) [2049436] - net/mlx5: Fix error return code in esw_qos_create() (Amir Tzin) [2049436] - net/mlx5: E-switch, Create QoS on demand (Amir Tzin) [2049436] - net/mlx5: E-switch, Enable vport QoS on demand (Amir Tzin) [2049436] - net/mlx5: E-switch, move offloads mode callbacks to offloads file (Amir Tzin) [2049436] - net/mlx5: E-switch, Reuse mlx5_eswitch_set_vport_mac (Amir Tzin) [2049436] - net/mlx5: E-switch, Remove vport enabled check (Amir Tzin) [2049436] - net/mlx5e: Specify out ifindex when looking up decap route (Amir Tzin) [2049436] - net/mlx5e: TC, Move comment about mod header flag to correct place (Amir Tzin) [2049436] - net/mlx5e: TC, Move kfree() calls after destroying all resources (Amir Tzin) [2049436] - net/mlx5e: TC, Destroy nic flow counter if exists (Amir Tzin) [2049436] - net/mlx5: TC, using swap() instead of tmp variable (Amir Tzin) [2049436] - net/mlx5: CT: Allow static allocation of mod headers (Amir Tzin) [2049436] - net/mlx5e: Refactor mod header management API (Amir Tzin) [2049436] - net/mlx5: Avoid printing health buffer when firmware is unavailable (Amir Tzin) [2049436 2049717] - net/mlx5e: Support ethtool cq mode (Amir Tzin) [2049436 2049840] - Revert "RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow" (Amir Tzin) [2049435] - net/mlx5: Use first online CPU instead of hard coded CPU (Amir Tzin) [2049435] - net/mlx5e: SHAMPO, Fix constant expression result (Amir Tzin) [2049435] - net/mlx5: Fix access to a non-supported register (Amir Tzin) [2049435 2049717] - net/mlx5: Fix too early queueing of log timestamp work (Amir Tzin) [2049435 2049717] - net/mlx5: Fix use after free in mlx5_health_wait_pci_up (Amir Tzin) [2049435] - net/mlx5: Lag, Fix recreation of VF LAG (Amir Tzin) [2049435] - net/mlx5e: Sync TIR params updates against concurrent create/modify (Amir Tzin) [2049435] - RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow (Amir Tzin) [2049435] - net/mlx5: Fix flow counters SF bulk query len (Amir Tzin) [2049435] - net/mlx5: Lag, fix a potential Oops with mlx5_lag_create_definer() (Amir Tzin) [2049435] - net/mlx5e: Prevent HW-GRO and CQE-COMPRESS features operate together (Amir Tzin) [2049435] - net/mlx5e: Add HW-GRO offload (Amir Tzin) [2049435] - net/mlx5e: Add HW_GRO statistics (Amir Tzin) [2049435] - net/mlx5e: HW_GRO cqe handler implementation (Amir Tzin) [2049435] - net/mlx5e: Add data path for SHAMPO feature (Amir Tzin) [2049435] - net/mlx5e: Add handle SHAMPO cqe support (Amir Tzin) [2049435] - net/mlx5e: Add control path for SHAMPO feature (Amir Tzin) [2049435] - net/mlx5e: Add support to klm_umr_wqe (Amir Tzin) [2049435] - net/mlx5e: Rename TIR lro functions to TIR packet merge functions (Amir Tzin) [2049435] - net/mlx5e: Align mlx5e_resources with upstream code. (Amir Tzin) [2049435] - net/mlx5: Add SHAMPO caps, HW bits and enumerations (Amir Tzin) [2049435] - net/mlx5e: Rename lro_timeout to packet_merge_timeout (Amir Tzin) [2049435] - net/mlx5: SF_DEV Add SF device trace points (Amir Tzin) [2049435] - net/mlx5: SF, Add SF trace points (Amir Tzin) [2049435] - net/mlx5: Bridge, support replacing existing FDB entry (Amir Tzin) [2049435] - net/mlx5: Bridge, extract code to lookup and del/notify entry (Amir Tzin) [2049435] - net/mlx5: Add periodic update of host time to firmware (Amir Tzin) [2049435 2049717] - net/mlx5: Print health buffer by log level (Amir Tzin) [2049435 2049717] - net/mlx5: Extend health buffer dump (Amir Tzin) [2049435 2049717] - net/mlx5: Reduce flow counters bulk query buffer size for SFs (Amir Tzin) [2049435] - net/mlx5: Fix unused function warning of mlx5i_flow_type_mask (Amir Tzin) [2049435] - net/mlx5: Remove unnecessary checks for slow path flag (Amir Tzin) [2049435] - net/mlx5e: don't write directly to netdev->dev_addr (Amir Tzin) [2049435] - RDMA/mlx5: Use dev_addr_mod() (Amir Tzin) [2049435] - RDMA/mlx5: fix build error with INFINIBAND_USER_ACCESS=n (Amir Tzin) [2049435] - RDMA/mlx5: Attach ndescs to mlx5_ib_mkey (Amir Tzin) [2049435] - RDMA/mlx5: Move struct mlx5_core_mkey to mlx5_ib (Amir Tzin) [2049435] - RDMA/mlx5: Replace struct mlx5_core_mkey by u32 key (Amir Tzin) [2049435] - RDMA/mlx5: Align mlx5e_resources with upstream code. (Amir Tzin) [2049435] - RDMA/mlx5: Remove pd from struct mlx5_core_mkey (Amir Tzin) [2049435] - RDMA/mlx5: Remove size from struct mlx5_core_mkey (Amir Tzin) [2049435] - RDMA/mlx5: Remove iova from struct mlx5_core_mkey (Amir Tzin) [2049435] - net/mlx5: E-Switch, Increase supported number of forward destinations to 32 (Amir Tzin) [2049435] - net/mlx5: E-Switch, Use dynamic alloc for dest array (Amir Tzin) [2049435] - net/mlx5: Lag, use steering to select the affinity port in LAG (Amir Tzin) [2049435] - net/mlx5: Lag, add support to create/destroy/modify port selection (Amir Tzin) [2049435] - net/mlx5: Lag, add support to create TTC tables for LAG port selection (Amir Tzin) [2049435] - net/mlx5: Lag, add support to create definers for LAG (Amir Tzin) [2049435] - net/mlx5: Lag, set match mask according to the traffic type bitmap (Amir Tzin) [2049435] - net/mlx5: Lag, set LAG traffic type mapping (Amir Tzin) [2049435] - net/mlx5: Lag, move lag files into directory (Amir Tzin) [2049435] - net/mlx5: Introduce new uplink destination type (Amir Tzin) [2049435] - net/mlx5: Add support to create match definer (Amir Tzin) [2049435] - net/mlx5: Introduce port selection namespace (Amir Tzin) [2049435] - net/mlx5: Support partial TTC rules (Amir Tzin) [2049435] - mlx5: prevent 64bit divide (Amir Tzin) [2049435] - net/mlx5: Use system_image_guid to determine bonding (Amir Tzin) [2049435] - net/mlx5: Use native_port_num as 1st option of device index (Amir Tzin) [2049435] - net/mlx5: Introduce new device index wrapper (Amir Tzin) [2049435] - net/mlx5: Check return status first when querying system_image_guid (Amir Tzin) [2049435] - net/mlx5: DR, Prefer kcalloc over open coded arithmetic (Amir Tzin) [2049435] - net/mlx5e: Add extack msgs related to TC for better debug (Amir Tzin) [2049435] - net/mlx5: CT: Fix missing cleanup of ct nat table on init failure (Amir Tzin) [2049435] - Revert "net/mlx5e: TC, Skip redundant ct clear actions" (Amir Tzin) [2049435] - net/mlx5: Disable roce at HCA level (Amir Tzin) [2049435] - net/mlx5i: Enable Rx steering for IPoIB via ethtool (Amir Tzin) [2049435] - net/mlx5: Bridge, provide flow source hints (Amir Tzin) [2049435] - net/mlx5: Read timeout values from DTOR (Amir Tzin) [2049435] - net/mlx5: Read timeout values from init segment (Amir Tzin) [2049435] - net/mlx5: Add layout to support default timeouts register (Amir Tzin) [2049435] - net/mlx5: Set devlink reload feature bit for supported devices only (Amir Tzin) [2049435] - RDMA/mlx5: Add optional counter support in get_hw_stats callback (Amir Tzin) [2049435] - RDMA/mlx5: Add modify_op_stat() support (Amir Tzin) [2049435] - RDMA/mlx5: Add steering support in optional flow counters (Amir Tzin) [2049435] - RDMA/mlx5: Support optional counters in hw_stats initialization (Amir Tzin) [2049435] - net/mlx5: Add priorities for counters in RDMA namespaces (Amir Tzin) [2049435] - net/mlx5: Add ifc bits to support optional counters (Amir Tzin) [2049435] - net/mlx5: Enable single IRQ for PCI Function (Amir Tzin) [2049435] - net/mlx5: Shift control IRQ to the last index (Amir Tzin) [2049435] - net/mlx5: Bridge, pop VLAN on egress table miss (Amir Tzin) [2049435] - net/mlx5: Bridge, mark reg_c1 when pushing VLAN (Amir Tzin) [2049435] - net/mlx5: Bridge, extract VLAN pop code to dedicated functions (Amir Tzin) [2049435] - net/mlx5: Bridge, refactor eswitch instance usage (Amir Tzin) [2049435] - net/mlx5e: Support accept action (Amir Tzin) [2049435] - net/mlx5e: Specify out ifindex when looking up encap route (Amir Tzin) [2049435] - net/mlx5e: Reserve a value from TC tunnel options mapping (Amir Tzin) [2049435] - net/mlx5e: Move parse fdb check into actions_match_supported_fdb() (Amir Tzin) [2049435] - net/mlx5e: Split actions_match_supported() into a sub function (Amir Tzin) [2049435] - net/mlx5e: Move mod hdr allocation to a single place (Amir Tzin) [2049435] - net/mlx5e: TC, Refactor sample offload error flow (Amir Tzin) [2049435] - RDMA/mlx5: Avoid taking MRs from larger MR cache pools when a pool is empty (Amir Tzin) [2049435] - IB/mlx5: Flow through a more detailed return code from get_prefetchable_mr() (Amir Tzin) [2049435] - net/mlx5e: Use array_size() helper (Amir Tzin) [2049435] - net/mlx5: Use struct_size() helper in kvzalloc() (Amir Tzin) [2049435] - net/mlx5: Use kvcalloc() instead of kvzalloc() (Amir Tzin) [2049435] - net/mlx5: Tolerate failures in debug features while driver load (Amir Tzin) [2049435] - IB/mlx5: Enable UAR to have DevX UID (Amir Tzin) [2049435] - net/mlx5: Add uid field to UAR allocation structures (Amir Tzin) [2049435] - net/mlx5e: check return value of rhashtable_init (Amir Tzin) [2049435] - net/mlx5e: Enable TC offload for ingress MACVLAN (Amir Tzin) [2049435] - net/mlx5e: Enable TC offload for egress MACVLAN (Amir Tzin) [2049435] - net/mlx5e: loopback test is not supported in switchdev mode (Amir Tzin) [2049435] - net/mlx5e: Use NL_SET_ERR_MSG_MOD() for errors parsing tunnel attributes (Amir Tzin) [2049435] - net/mlx5e: Use tc sample stubs instead of ifdefs in source file (Amir Tzin) [2049435] - net/mlx5e: Remove redundant priv arg from parse_pedit_to_reformat() (Amir Tzin) [2049435] - net/mlx5e: Check action fwd/drop flag exists also for nic flows (Amir Tzin) [2049435] - net/mlx5e: Set action fwd flag when parsing tc action goto (Amir Tzin) [2049435] - net/mlx5e: Remove incorrect addition of action fwd flag (Amir Tzin) [2049435] - Revert "net/mlx5e: TC, Fix ct_clear overwriting ct action metadata" (Amir Tzin) [2049435] - net/mlx5e: Use correct return type (Amir Tzin) [2049435] - net/mlx5e: Add error flow for ethtool -X command (Amir Tzin) [2049435] - net/mlx5: Fix rdma aux device on devlink reload (Amir Tzin) [2049434] - RDMA/mlx5: Relax DCS QP creation checks (Amir Tzin) [2049434] - net/mellanox: switch from 'pci_' to 'dma_' API (Amir Tzin) [2049434] - net/mlx5e: Make use of netdev_warn() (Amir Tzin) [2049434] - net/mlx5: Initialize numa node for all core devices (Amir Tzin) [2049434] - net/mlx5: Allocate individual capability (Amir Tzin) [2049434] - net/mlx5: Reorganize current and maximal capabilities to be per-type (Amir Tzin) [2049434] - net/mlx5: SF, use recent sysfs api (Amir Tzin) [2049434] - net/mlx5: Refcount mlx5_irq with integer (Amir Tzin) [2049434] - net/mlx5: Change SF missing dedicated MSI-X err message to dbg (Amir Tzin) [2049434] - net/mlx5: Align mlx5_irq structure (Amir Tzin) [2049434] - net/mlx5: Delete impossible dev->state checks (Amir Tzin) [2049434] - net/mlx5: Support enable_vnet devlink dev param (Amir Tzin) [2049434] - net/mlx5: Support enable_rdma devlink dev param (Amir Tzin) [2049434] - net/mlx5: Support enable_eth devlink dev param (Amir Tzin) [2049434] - RDMA/mlx5: Drop in-driver verbs object creations (Amir Tzin) [2049434] - RDMA/mlx5: Delete device resource mutex that didn't protect anything (Amir Tzin) [2049434] - RDMA/mlx5: Cancel pkey work before destroying device resources (Amir Tzin) [2049434] - net/mlx5e: Return -EOPNOTSUPP if more relevant when parsing tc actions (Amir Tzin) [2049434] - net/mlx5e: Remove redundant assignment of counter to null (Amir Tzin) [2049434] - net/mlx5e: Remove redundant parse_attr arg (Amir Tzin) [2049434] - net/mlx5e: Remove redundant cap check for flow counter (Amir Tzin) [2049434] - net/mlx5e: Remove redundant filter_dev arg from parse_tc_fdb_actions() (Amir Tzin) [2049434] - net/mlx5e: Remove redundant tc act includes (Amir Tzin) [2049434] - IB/mlx5: Rename is_apu_thread_cq function to is_apu_cq (Amir Tzin) [2049434] - RDMA/mlx5: Add DCS offload support (Amir Tzin) [2049434] - RDMA/mlx5: Separate DCI QP creation logic (Amir Tzin) [2049434] - net/mlx5: Add DCS caps & fields support (Amir Tzin) [2049434] - KVM: nVMX: Inject #UD if VMXON is attempted with incompatible CR0/CR4 (Vitaly Kuznetsov) [2119233] - mm: Fix PASID use-after-free issue (Jerry Snitselaar) [2113046] - scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn() (Rahul Lakkireddy) [2105815] - scsi: csiostor: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Rahul Lakkireddy) [2105815] - scsi: csiostor: Fix a typo (Rahul Lakkireddy) [2105815] - scsi: csiostor: Assign boolean values to a bool variable (Rahul Lakkireddy) [2105815] - scsi: csiostor: Fix fall-through warnings for Clang (Rahul Lakkireddy) [2105815] - scsi: csiostor: Fix spelling mistake "couldnt" -> "couldn't" (Rahul Lakkireddy) [2105815] - scsi: csiostor: Add missing description for csio_rnode_fwevt_handler()'s 'fwevt' param (Rahul Lakkireddy) [2105815] - scsi: csiostor: Remove 2 unused variables {mc,edc}_bist_status_rdata_reg (Rahul Lakkireddy) [2105815] - scsi: csiostor: Demote kerneldoc that fails to meet the criteria (Rahul Lakkireddy) [2105815] - scsi: csiostor: Fix misnamed function parameter (Rahul Lakkireddy) [2105815] - scsi: csiostor: Adjust indentation in csio_device_reset (Rahul Lakkireddy) [2105815] - mediatek: mt76: eeprom: fix missing of_node_put() in mt76_find_power_limits_node() (Jose Ignacio Tornos Martinez) [2103625] - wifi: mac80211: consider EHT element size in assoc request (Jose Ignacio Tornos Martinez) [2103625] - wifi: mac80211: switch airtime fairness back to deficit round-robin scheduling (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7615: fix throughput regression on DFS channels (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix incorrect testmode ipg on band 1 caused by wmm_idx (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: enlarge maximum VHT MPDU length to 11454 (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: fix aggregation subframes setting to HE max (Jose Ignacio Tornos Martinez) [2103625] - wifi: mac80211_hwsim: set virtio device ready in probe() (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921s: fix possible sdio deadlock in command fail (Jose Ignacio Tornos Martinez) [2103625] - wifi: rtw89: 8852a: rfk: fix div 0 exception (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: do not update pm states in case of error (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7615: do not update pm stats in case of error (Jose Ignacio Tornos Martinez) [2103625] - ath11k: Avoid REO CMD failed prints during firmware recovery (Jose Ignacio Tornos Martinez) [2103625] - ath11k: Fix incorrect debug_mask mappings (Jose Ignacio Tornos Martinez) [2103625] - ath11k: fix missing skb drop on htc_tx_completion error (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921s: fix firmware download random fail (Jose Ignacio Tornos Martinez) [2103625] - ath11k: fix IRQ affinity warning on shutdown (Jose Ignacio Tornos Martinez) [2103625] - ath11k: fix netdev open race (Jose Ignacio Tornos Martinez) [2103625] - iwlwifi: fw: init SAR GEO table only if data is present (Jose Ignacio Tornos Martinez) [2103625] - ath10k: htt_tx: do not interpret Eth frames as WiFi (Jose Ignacio Tornos Martinez) [2103625] - ath11k: Don't check arvif->is_started before sending management frames (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix twt table_mask to u16 in mt7915_dev (Jose Ignacio Tornos Martinez) [2103625] - ath11k: reset 11d state in process of recovery (Jose Ignacio Tornos Martinez) [2103625] - brcmfmac: use ISO3166 country code and 0 rev as fallback on brcmfmac43602 chips (Jose Ignacio Tornos Martinez) [2103625] - mt76: fix tx status related use-after-free race on station removal (Jose Ignacio Tornos Martinez) [2103625] - mt76: do not attempt to reorder received 802.3 packets without agg session (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: fix kernel crash at mt7921_pci_remove (Jose Ignacio Tornos Martinez) [2103625] - mt76: fix antenna config missing in 6G cap (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: report rx mode value in mt7915_mac_fill_rx_rate (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: do not pass data pointer to mt7915_mcu_muru_debug_set (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix possible NULL pointer dereference in mt7915_mac_fill_rx_vector (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix possible uninitialized pointer dereference in mt7986_wmac_gpio_setup (Jose Ignacio Tornos Martinez) [2103625] - ath10k: enable napi on RX path for usb (Jose Ignacio Tornos Martinez) [2103625] - ath11k: fix the warning of dev_wake in mhi_pm_disable_transition() (Jose Ignacio Tornos Martinez) [2103625] - ath11k: acquire ab->base_lock in unassign when finding the peer by addr (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix unbounded shift in mt7915_mcu_beacon_mbss (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix DBDC default band selection on MT7915D (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: honor pm user configuration in mt7921_sniffer_interface_iter (Jose Ignacio Tornos Martinez) [2103625] - i40e: Fix tunnel checksum offload with fragmented traffic (Ivan Vecera) [2107977] - net/mlx5e: Fix matchall police parameters validation (Ivan Vecera) [2106271] - net/sched: act_police: allow 'continue' action offload (Ivan Vecera) [2106271] - net: Print hashed skb addresses for all net and qdisc events (Ivan Vecera) [2106271] - net: sched: fixed barrier to prevent skbuff sticking in qdisc backlog (Ivan Vecera) [2106271] - net/sched: act_pedit: sanitize shift argument before usage (Ivan Vecera) [2106271] - net/sched: act_pedit: really ensure the skb is writable (Ivan Vecera) [2106271] - net/sched: taprio: Check if socket flags are valid (Ivan Vecera) [2106271] - net/sched: flower: Avoid overwriting error messages (Ivan Vecera) [2106271] - net/sched: matchall: Avoid overwriting error messages (Ivan Vecera) [2106271] - net/sched: cls_api: Add extack message for unsupported action offload (Ivan Vecera) [2106271] - net/sched: act_vlan: Add extack message for offload failure (Ivan Vecera) [2106271] - net/sched: act_tunnel_key: Add extack message for offload failure (Ivan Vecera) [2106271] - net/sched: act_skbedit: Add extack messages for offload failure (Ivan Vecera) [2106271] - net/sched: act_police: Add extack messages for offload failure (Ivan Vecera) [2106271] - net/sched: act_pedit: Add extack message for offload failure (Ivan Vecera) [2106271] - net/sched: act_mpls: Add extack messages for offload failure (Ivan Vecera) [2106271] - net/sched: act_mirred: Add extack message for offload failure (Ivan Vecera) [2106271] - net/sched: act_gact: Add extack messages for offload failure (Ivan Vecera) [2106271] - net/sched: act_api: Add extack to offload_act_setup() callback (Ivan Vecera) [2106271] - net/sched: flower: Take verbose flag into account when logging error messages (Ivan Vecera) [2106271] - net/sched: matchall: Take verbose flag into account when logging error messages (Ivan Vecera) [2106271] - net/sched: fix incorrect vlan_push_eth dest field (Ivan Vecera) [2106271] - net/sched: add vlan push_eth and pop_eth action to the hardware IR (Ivan Vecera) [2106271] - selftests: tc-testing: Increase timeout in tdc config file (Ivan Vecera) [2106271] - flow_offload: improve extack msg for user when adding invalid filter (Ivan Vecera) [2106271] - flow_offload: reject offload for all drivers with invalid police parameters (Ivan Vecera) [2106271] - net: flow_offload: add tc police action parameters (Ivan Vecera) [2106271] - net: sched: avoid newline at end of message in NL_SET_ERR_MSG_MOD (Ivan Vecera) [2106271] - net_sched: add __rcu annotation to netdev->qdisc (Ivan Vecera) [2106271] - net/sched: act_police: more accurate MTU policing (Ivan Vecera) [2106271] - net/sched: Enable tc skb ext allocation on chain miss only when needed (Ivan Vecera) [2106271] - net: sched: remove qdisc_qlen_cpu() (Ivan Vecera) [2106271] - net: sched: remove psched_tdiff_bounded() (Ivan Vecera) [2106271] - net: sched: Clarify error message when qdisc kind is unknown (Ivan Vecera) [2106271] - sch_cake: revise Diffserv docs (Ivan Vecera) [2106271] - flow_offload: fix suspicious RCU usage when offloading tc action (Ivan Vecera) [2106271] - net/sched: use min() macro instead of doing it manually (Ivan Vecera) [2106271] - selftests: tc-testing: add action offload selftest for action and filter (Ivan Vecera) [2106271] - flow_offload: validate flags of filter and actions (Ivan Vecera) [2106271] - flow_offload: add reoffload process to update hw_count (Ivan Vecera) [2106271] - net: sched: save full flags for tc action (Ivan Vecera) [2106271] - flow_offload: add process to update action stats from hardware (Ivan Vecera) [2106271] - flow_offload: rename exts stats update functions with hw (Ivan Vecera) [2106271] - flow_offload: add skip_hw and skip_sw to control if offload the action (Ivan Vecera) [2106271] - flow_offload: allow user to offload tc action to net device (Ivan Vecera) [2106271] - flow_offload: add ops to tc_action_ops for flow action setup (Ivan Vecera) [2106271] - flow_offload: rename offload functions with offload instead of flow (Ivan Vecera) [2106271] - flow_offload: add index to flow_action_entry structure (Ivan Vecera) [2106271] - flow_offload: reject to offload tc actions in offload drivers (Ivan Vecera) [2106271] - flow_offload: fill flags to action structure (Ivan Vecera) [2106271] - sch_cake: do not call cake_destroy() from cake_init() (Ivan Vecera) [2106271] - net/sched: fq_pie: prevent dismantle issue (Ivan Vecera) [2106271] - selftests/tc-testing: Fix cannot create /sys/bus/netdevsim/new_device: Directory nonexistent (Ivan Vecera) [2106271] - selftests/tc-testing: add missing config (Ivan Vecera) [2106271] - selftests/tc-testing: add exit code (Ivan Vecera) [2106271] - net/sched: act_ct: Offload only ASSURED connections (Ivan Vecera) [2106271] - selftests/tc-testings: Be compatible with newer tc output (Ivan Vecera) [2106271] - selftests: forwarding: Fix packet matching in mirroring selftests (Ivan Vecera) [2106271] - net/sched: sch_taprio: fix undefined behavior in ktime_mono_to_any (Ivan Vecera) [2106271] - cls_flower: Fix inability to match GRE/IPIP packets (Ivan Vecera) [2106271] - sch_htb: Add extack messages for EOPNOTSUPP errors (Ivan Vecera) [2106271] - net: sch: simplify condtion for selecting mini_Qdisc_pair buffer (Ivan Vecera) [2106271] - net: sch: eliminate unnecessary RCU waits in mini_qdisc_pair_swap() (Ivan Vecera) [2106271] - net: sched: gred: dynamically allocate tc_gred_qopt_offload (Ivan Vecera) [2106271] - net: stats: Read the statistics in ___gnet_stats_copy_basic() instead of adding. (Ivan Vecera) [2106271] - net: sched: Allow statistics reads from softirq. (Ivan Vecera) [2106271] - net: sched: remove one pair of atomic operations (Ivan Vecera) [2106271] - net: sched: fix logic error in qdisc_run_begin() (Ivan Vecera) [2106271] - net: sch_tbf: Add a graft command (Ivan Vecera) [2106271] - net: sched: Remove Qdisc::running sequence counter (Ivan Vecera) [2106271] - net: sched: Merge Qdisc::bstats and Qdisc::cpu_bstats data types (Ivan Vecera) [2106271] - net: sched: Use _bstats_update/set() instead of raw writes (Ivan Vecera) [2106271] - net: sched: Protect Qdisc::bstats with u64_stats (Ivan Vecera) [2106271] - u64_stats: Introduce u64_stats_set() (Ivan Vecera) [2106271] - gen_stats: Move remaining users to gnet_stats_add_queue(). (Ivan Vecera) [2106271] - mq, mqprio: Use gnet_stats_add_queue(). (Ivan Vecera) [2106271] - gen_stats: Add gnet_stats_add_queue(). (Ivan Vecera) [2106271] - gen_stats: Add instead Set the value in __gnet_stats_copy_basic(). (Ivan Vecera) [2106271] - testing: selftests: tc_common: Add tc_check_at_least_x_packets() (Ivan Vecera) [2106271] - testing: selftests: forwarding.config.sample: Add tc flag (Ivan Vecera) [2106271] - net/sched: sch_taprio: properly cancel timer from taprio_destroy() (Ivan Vecera) [2106271] - net: sched: Use struct_size() helper in kvmalloc() (Ivan Vecera) [2106271] - net_sched: Use struct_size() and flex_array_size() helpers (Ivan Vecera) [2106271] - net: prevent user from passing illegal stab size (Ivan Vecera) [2106271] - net: sched: move and reuse mq_change_real_num_tx() (Ivan Vecera) [2106271] - selftests: net: test ethtool -L vs mq (Ivan Vecera) [2106271] - netdevsim: add ability to change channel count (Ivan Vecera) [2106271] - net: add netif_set_real_num_queues() for device reconfig (Ivan Vecera) [2106271] - net: sched: update default qdisc visibility after Tx queue cnt changes (Ivan Vecera) [2106271] - fix array-index-out-of-bounds in taprio_change (Ivan Vecera) [2106271] - Revert "flow_offload: action should not be NULL when it is referenced" (Ivan Vecera) [2106271] - sch_cake: fix srchost/dsthost hashing mode (Ivan Vecera) [2106271] - net/sched: cls_api, reset flags on replay (Ivan Vecera) [2106271] - net: sched: provide missing kdoc for tcf_pkt_info and tcf_ematch_ops (Ivan Vecera) [2106271] - net: flow_offload: correct comments mismatch with code (Ivan Vecera) [2106271] - net/sched: taprio: Fix init procedure (Ivan Vecera) [2106271] - net_sched: refactor TC action init API (Ivan Vecera) [2106271] - tc-testing: Add control-plane selftest for skbmod SKBMOD_F_ECN option (Ivan Vecera) [2106271] - net/sched: act_skbmod: Add SKBMOD_F_ECN option support (Ivan Vecera) [2106271] - qdisc: add new field for qdisc_enqueue tracepoint (Ivan Vecera) [2106271] - net/sched: act_skbmod: Skip non-Ethernet packets (Ivan Vecera) [2106271] - net/sched: Remove unnecessary if statement (Ivan Vecera) [2106271] - net_sched: introduce tracepoint trace_qdisc_enqueue() (Ivan Vecera) [2106271] - net_sched: use px to print skb address in trace_qdisc_dequeue() (Ivan Vecera) [2106271] - net: use px to print skb address in trace_netif_receive_skb (Ivan Vecera) [2106271] - net/sched: sch_taprio: fix typo in comment (Ivan Vecera) [2106271] - flow_offload: action should not be NULL when it is referenced (Ivan Vecera) [2106271] - net: sched: remove qdisc->empty for lockless qdisc (Ivan Vecera) [2106271] - net: sched: implement TCQ_F_CAN_BYPASS for lockless qdisc (Ivan Vecera) [2106271] - net: sched: avoid unnecessary seqcount operation for lockless qdisc (Ivan Vecera) [2106271] - Revert "net/sched: cls_flower: Remove match on n_proto" (Ivan Vecera) [2106271] - net: sched: add barrier to ensure correct ordering for lockless qdisc (Ivan Vecera) [2106271] - net: sched: fix error return code in tcf_del_walker() (Ivan Vecera) [2106271] - net/sched: cls_flower: Remove match on n_proto (Ivan Vecera) [2106271] - sch_cake: revise docs for RFC 8622 LE PHB support (Ivan Vecera) [2106271] - sch_cake: Fix out of bounds when parsing TCP options and header (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_lookup_leaf() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_do_events() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_charge_class() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_deactivate() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_activate() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_change_class_mode() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_class_mode() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_deactivate_prios() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_activate_prios() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_remove_class_from_row() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_add_class_to_row() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_next_rb_node() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_add_to_wait_tree() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_add_to_id_tree() (Ivan Vecera) [2106271] - net/sched: act_vlan: Test priority 0 modification (Ivan Vecera) [2106271] - net/sched: act_vlan: No dump for unset priority (Ivan Vecera) [2106271] - net: sched: Fix spelling mistakes (Ivan Vecera) [2106271] - net/sched: fq_pie: fix OOB access in the traffic path (Ivan Vecera) [2106271] - net/sched: fq_pie: re-factor fix for fq_pie endless loop (Ivan Vecera) [2106271] - net: taprio offload: enforce qdisc to netdev queue mapping (Ivan Vecera) [2106271] - net/sched: taprio: Drop unnecessary NULL check after container_of (Ivan Vecera) [2106271] - net: flow_offload: add FLOW_ACTION_PPPOE_PUSH (Ivan Vecera) [2106271] - gve: Recording rx queue before sending to napi (Jordan Kimbrough) [2018609] - gve: fix the wrong AdminQ buffer queue index check (Jordan Kimbrough) [2018609] - gve: Fix GFP flags when allocing pages (Jordan Kimbrough) [2018609] - gve: Add tx|rx-coalesce-usec for DQO (Jordan Kimbrough) [2018609] - gve: Add consumed counts to ethtool stats (Jordan Kimbrough) [2018609] - gve: Implement suspend/resume/shutdown (Jordan Kimbrough) [2018609] - gve: Add optional metadata descriptor type GVE_TXD_MTD (Jordan Kimbrough) [2018609] - gve: remove memory barrier around seqno (Jordan Kimbrough) [2018609] - gve: Update gve_free_queue_page_list signature (Jordan Kimbrough) [2018609] - gve: Move the irq db indexes out of the ntfy block struct (Jordan Kimbrough) [2018609] - gve: Correct order of processing device options (Jordan Kimbrough) [2018609] - gve: fix for null pointer dereference. (Jordan Kimbrough) [2018609] - gve: fix unmatched u64_stats_update_end() (Jordan Kimbrough) [2018609] - gve: Fix off by one in gve_tx_timeout() (Jordan Kimbrough) [2018609] - gve: Add a jumbo-frame device option. (Jordan Kimbrough) [2018609] - gve: Implement packet continuation for RX. (Jordan Kimbrough) [2018609] - gve: Add RX context. (Jordan Kimbrough) [2018609] - gve: Track RX buffer allocation failures (Jordan Kimbrough) [2018609] - gve: Allow pageflips on larger pages (Jordan Kimbrough) [2018609] - gve: Add netif_set_xps_queue call (Jordan Kimbrough) [2018609] - gve: Recover from queue stall due to missed IRQ (Jordan Kimbrough) [2018609] - gve: Do lazy cleanup in TX path (Jordan Kimbrough) [2018609] - gve: Add rx buffer pagecnt bias (Jordan Kimbrough) [2018609] - gve: Switch to use napi_complete_done (Jordan Kimbrough) [2018609] - gve: report 64bit tx_bytes counter from gve_handle_report_stats() (Jordan Kimbrough) [2018609] - gve: fix gve_get_stats() (Jordan Kimbrough) [2018609] - gve: Properly handle errors in gve_assign_qpl (Jordan Kimbrough) [2018609] - gve: Avoid freeing NULL pointer (Jordan Kimbrough) [2018609] - gve: Correct available tx qpl check (Jordan Kimbrough) [2018609] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Jordan Kimbrough) [2018609] - gve: Use kvcalloc() instead of kvzalloc() (Jordan Kimbrough) [2018609] - gve: DQO: avoid unused variable warnings (Jordan Kimbrough) [2018609] - gve: fix the wrong AdminQ buffer overflow check (Jordan Kimbrough) [2018609] - gve: DQO: Remove incorrect prefetch (Jordan Kimbrough) [2018609] - gve: Simplify code and axe the use of a deprecated API (Jordan Kimbrough) [2018609] - gve: Propagate error codes to caller (Jordan Kimbrough) [2018609] - gve: Fix an error handling path in 'gve_probe()' (Jordan Kimbrough) [2018609] - gve: DQO: Fix off by one in gve_rx_dqo() (Jordan Kimbrough) [2018609] - gve: Fix swapped vars when fetching max queues (Jordan Kimbrough) [2018609] - gve: Fix warnings reported for DQO patchset (Jordan Kimbrough) [2018609] - gve: DQO: Add RX path (Jordan Kimbrough) [2018609] - gve: DQO: Add TX path (Jordan Kimbrough) [2018609] - gve: DQO: Configure interrupts on device up (Jordan Kimbrough) [2018609] - gve: DQO: Add ring allocation and initialization (Jordan Kimbrough) [2018609] - gve: DQO: Add core netdev features (Jordan Kimbrough) [2018609] - gve: Update adminq commands to support DQO queues (Jordan Kimbrough) [2018609] - gve: Add DQO fields for core data structures (Jordan Kimbrough) [2018609] - gve: Add dqo descriptors (Jordan Kimbrough) [2018609] - gve: Add support for DQO RX PTYPE map (Jordan Kimbrough) [2018609] - gve: adminq: DQO specific device descriptor logic (Jordan Kimbrough) [2018609] - gve: Introduce per netdev `enum gve_queue_format` (Jordan Kimbrough) [2018609] - gve: Introduce a new model for device options (Jordan Kimbrough) [2018609] - gve: Make gve_rx_slot_page_info.page_offset an absolute offset (Jordan Kimbrough) [2018609] - gve: gve_rx_copy: Move padding to an argument (Jordan Kimbrough) [2018609] - gve: Move some static functions to a common file (Jordan Kimbrough) [2018609] - gve: Correct SKB queue index validation. (Jordan Kimbrough) [2018609] - gve: Upgrade memory barrier in poll routine (Jordan Kimbrough) [2018609] - gve: Add NULL pointer checks when freeing irqs. (Jordan Kimbrough) [2018609] - gve: Update mgmt_msix_idx if num_ntfy changes (Jordan Kimbrough) [2018609] - gve: Check TX QPL was actually assigned (Jordan Kimbrough) [2018609] - net: gve: remove duplicated allowed (Jordan Kimbrough) [2018609] - net: gve: convert strlcpy to strscpy (Jordan Kimbrough) [2018609] - gve: Add support for raw addressing in the tx path (Jordan Kimbrough) [2018609] - gve: Rx Buffer Recycling (Jordan Kimbrough) [2018609] - gve: Add support for raw addressing to the rx path (Jordan Kimbrough) [2018609] - gve: Add support for raw addressing device option (Jordan Kimbrough) [2018609] - net: don't include ethtool.h from netdevice.h (Jordan Kimbrough) [2018609] - gve: Replace zero-length array with flexible-array member (Jordan Kimbrough) [2018609] - gve: Enable Link Speed Reporting in the driver. (Jordan Kimbrough) [2018609] - gve: Use link status register to report link status (Jordan Kimbrough) [2018609] - gve: Batch AQ commands for creating and destroying queues. (Jordan Kimbrough) [2018609] - gve: NIC stats for report-stats and for ethtool (Jordan Kimbrough) [2018609] - gve: Add Gvnic stats AQ command and ethtool show/set-priv-flags. (Jordan Kimbrough) [2018609] - gve: Use dev_info/err instead of netif_info/err. (Jordan Kimbrough) [2018609] - gve: Add stats for gve. (Jordan Kimbrough) [2018609] - gve: Get and set Rx copybreak via ethtool (Jordan Kimbrough) [2018609] - redhat: update ppc64le secureboot signing key (Jarod Wilson) [2109215] - tools: add cpupower daemon reload when installed/upgraded (Jarod Wilson) [2042424] - sfc: fix use after free when disabling sriov (Íñigo Huguet) [2105999] - drm/nouveau: recognise GA103 (Karol Herbst) [1923125] - drm/aperture: Run fbdev removal before internal helpers (Michel Dänzer) [2088410] - drm/i915/ttm: fix 32b build (Michel Dänzer) [2088410] - drm/amd/display: Ensure valid event timestamp for cursor-only commits (Michel Dänzer) [2088410] - drm/amd/pm: Prevent divide by zero (Michel Dänzer) [2088410] - drm/amd/display: Only use depth 36 bpp linebuffers on DCN display engines. (Michel Dänzer) [2088410] - drm/amdkfd: correct the MEC atomic support firmware checking for GC 10.3.7 (Michel Dänzer) [2088410] - drm/i915/selftests: fix subtraction overflow bug (Michel Dänzer) [2088410] - drm/i915/gt: Serialize TLB invalidates with GT resets (Michel Dänzer) [2088410] - drm/i915/gt: Serialize GRDOM access between multiple engine resets (Michel Dänzer) [2088410] - drm/i915/ttm: fix sg_table construction (Michel Dänzer) [2088410] - drm/i915/selftests: fix a couple IS_ERR() vs NULL tests (Michel Dänzer) [2088410] - drm/i915/gvt: IS_ERR() vs NULL bug in intel_gvt_update_reg_whitelist() (Michel Dänzer) [2088410] - drm/i915/guc: ADL-N should use the same GuC FW as ADL-S (Michel Dänzer) [2088410] - drm/i915: fix a possible refcount leak in intel_dp_add_mst_connector() (Michel Dänzer) [2088410] - drm/amdgpu/display: disable prefer_shadow for generic fb helpers (Michel Dänzer) [2088410] - drm/amdgpu: keep fbdev buffers pinned during suspend (Michel Dänzer) [2088410] - drm/fourcc: fix integer type usage in uapi header (Michel Dänzer) [2088410] - drm/i915/dgfx: Disable d3cold at gfx root port (Michel Dänzer) [2088410] - drm/i915/gem: add missing else (Michel Dänzer) [2088410] - drm/amdgpu: To flush tlb for MMHUB of RAVEN series (Michel Dänzer) [2088410] - Revert "drm/amdgpu/display: set vblank_disable_immediate for DC" (Michel Dänzer) [2088410] - drm/amdgpu: fix adev variable used in amdgpu_device_gpu_recover() (Michel Dänzer) [2088410] - drm/amd: Revert "drm/amd/display: keep eDP Vdd on when eDP stream is already enabled" (Michel Dänzer) [2088410] - udmabuf: add back sanity check (Michel Dänzer) [2088410] - drm/amd/display: Fix typo in override_lane_settings (Michel Dänzer) [2088410] - amd/display/dc: Fix COLOR_ENCODING and COLOR_RANGE doing nothing for DCN20+ (Michel Dänzer) [2088410] - drm/i915: Implement w/a 22010492432 for adl-s (Michel Dänzer) [2088410] - drm/i915/uc: remove accidental static from a local variable (Michel Dänzer) [2088410] - drm/amd/display: Cap OLED brightness per max frame-average luminance (Michel Dänzer) [2088410] - drm/amdgpu: Fix GTT size reporting in amdgpu_ioctl (Michel Dänzer) [2088410] - drm/i915/reset: Fix error_state_read ptr + offset use (Michel Dänzer) [2088410] - drm/amdkfd: add pinned BOs to kfd_bo_list (Michel Dänzer) [2088410] - drm/amdkfd: Use mmget_not_zero in MMU notifier (Michel Dänzer) [2088410] - drm/amdgpu: Resolve RAS GFX error count issue after cold boot on Arcturus (Michel Dänzer) [2088410] - drm/amd/display: Read Golden Settings Table from VBIOS (Michel Dänzer) [2088410] - Revert "drm/amd/display: Fix DCN3 B0 DP Alt Mapping" (Michel Dänzer) [2088410] - drm/amdgpu: update VCN codec support for Yellow Carp (Michel Dänzer) [2088410] - drm/amd/display: remove stale config guards (Michel Dänzer) [2088410] - drm/amdgpu/jpeg2: Add jpeg vmid update under IB submit (Michel Dänzer) [2088410] - drm/atomic: Force bridge self-refresh-exit on CRTC switch (Michel Dänzer) [2088410] - drm/bridge: analogix_dp: Support PSR-exit to disable transition (Michel Dänzer) [2088410] - drm/amdkfd:Fix fw version for 10.3.6 (Michel Dänzer) [2088410] - drm/amd/pm: use bitmap_{from,to}_arr32 where appropriate (Michel Dänzer) [2088410] - drm/amd/pm: correct the metrics version for SMU 11.0.11/12/13 (Michel Dänzer) [2088410] - drm/amd/pm: Fix missing thermal throttler status (Michel Dänzer) [2088410] - drm/amd/pm: fix a potential gpu_metrics_table memory leak (Michel Dänzer) [2088410] - drm/radeon: fix a possible null pointer dereference (Michel Dänzer) [2088410] - drm/amd/display: Check zero planes for OTG disable W/A on clock change (Michel Dänzer) [2088410] - drm/amd/display: Check if modulo is 0 before dividing. (Michel Dänzer) [2088410] - drm/amdgpu: fix limiting AV1 to the first instance on VCN3 (Michel Dänzer) [2088410] - drm/bridge: ti-sn65dsi83: Handle dsi_lanes == 0 as invalid (Michel Dänzer) [2088410] - drm/amdgpu: Off by one in dm_dmub_outbox1_low_irq() (Michel Dänzer) [2088410] - gma500: fix an incorrect NULL check on list iterator (Michel Dänzer) [2088410] - drm/i915/dsi: fix VBT send packet port selection for ICL+ (Michel Dänzer) [2088410] - drm/bridge: analogix_dp: Grab runtime PM reference for DP-AUX (Michel Dänzer) [2088410] - drm/nouveau/kms/nv50-: atom: fix an incorrect NULL check on list iterator (Michel Dänzer) [2088410] - drm/nouveau/clk: Fix an incorrect NULL check on list iterator (Michel Dänzer) [2088410] - drm/nouveau/subdev/bus: Ratelimit logging for fault errors (Michel Dänzer) [2088410] - drm/amdgpu/cs: make commands with 0 chunks illegal behaviour. (Michel Dänzer) [2088410] - drm/amdgpu: add beige goby PCI ID (Michel Dänzer) [2088410] - drm/i915: Fix CFI violation with show_dynamic_id() (Michel Dänzer) [2088410] - drm/bridge: it6505: Send DPCD SET_POWER to downstream (Michel Dänzer) [2088410] - drm/panel: panel-simple: Fix proper bpc for AM-1280800N3TZQW-T00H (Michel Dänzer) [2088410] - drm/panel: simple: Add missing bus flags for Innolux G070Y2-L01 (Michel Dänzer) [2088410] - drm/bridge: Fix it6505 Kconfig DRM_DP_AUX_BUS dependency (Michel Dänzer) [2088410] - drm/bridge: Fix error handling in analogix_dp_probe (Michel Dänzer) [2088410] - drm/bridge: anx7625: Use uint8 for lane-swing arrays (Michel Dänzer) [2088410] - drm/amd/amdgpu: Remove static from variable in RLCG Reg RW (Michel Dänzer) [2088410] - drm/amd/amdgpu: Fix asm/hypervisor.h build error. (Michel Dänzer) [2088410] - drm/amd/amdgpu: Only reserve vram for firmware with vega9 MS_HYPERV host. (Michel Dänzer) [2088410] - drm: bridge: icn6211: Fix HFP_HSW_HBP_HI and HFP_MIN handling (Michel Dänzer) [2088410] - drm: bridge: icn6211: Fix register layout (Michel Dänzer) [2088410] - drm/bridge: adv7511: clean up CEC adapter when probe fails (Michel Dänzer) [2088410] - drm/bridge: anx7625: add missing destroy_workqueue() in anx7625_i2c_probe() (Michel Dänzer) [2088410] - drm/edid: fix invalid EDID extension block filtering (Michel Dänzer) [2088410] - drm/bridge: it6505: Fix build error (Michel Dänzer) [2088410] - drm: bridge: it66121: Fix the register page length (Michel Dänzer) [2088410] - drm/vmwgfx: Fix an invalid read (Michel Dänzer) [2088410] - drm/ssd130x: Reduce temporary buffer sizes (Michel Dänzer) [2088410] - drm/ssd130x: Fix rectangle updates (Michel Dänzer) [2088410] - drm/format-helper: Fix XRGB888 to monochrome conversion (Michel Dänzer) [2088410] - drm/format-helper: Rename drm_fb_xrgb8888_to_mono_reversed() (Michel Dänzer) [2088410] - drm/solomon: Make DRM_SSD130X depends on MMU (Michel Dänzer) [2088410] - drm: ssd130x: Always apply segment remap setting (Michel Dänzer) [2088410] - drm: ssd130x: Fix COM scan direction register mask (Michel Dänzer) [2088410] - drm/bridge: anx7625: check the return on anx7625_aux_trans (Michel Dänzer) [2088410] - drm/selftests: missing error code in igt_buddy_alloc_smoke() (Michel Dänzer) [2088410] - drm/bridge_connector: enable HPD by default if supported (Michel Dänzer) [2088410] - drm: fix EDID struct for old ARM OABI format (Michel Dänzer) [2088410] - drm/amdgpu: Move mutex_init(&smu->message_lock) to smu_early_init() (Michel Dänzer) [2088410] - drm/amd/pm: update smartshift powerboost calc for smu13 (Michel Dänzer) [2088410] - drm/amd/pm: update smartshift powerboost calc for smu12 (Michel Dänzer) [2088410] - drm/amdgpu/ucode: Remove firmware load type check in amdgpu_ucode_free_bo (Michel Dänzer) [2088410] - drm/amdgpu/psp: move PSP memory alloc from hw_init to sw_init (Michel Dänzer) [2088410] - drm/amd/pm: fix the compile warning (Michel Dänzer) [2088410] - drm/amdkfd: Fix circular lock dependency warning (Michel Dänzer) [2088410] - drm/plane: Move range check for format_count earlier (Michel Dänzer) [2088410] - drm/amdgpu/sdma: Fix incorrect calculations of the wptr of the doorbells (Michel Dänzer) [2088410] - drm/amd/pm: fix double free in si_parse_power_table() (Michel Dänzer) [2088410] - drm/amdgpu/pm: fix the null pointer while the smu is disabled (Michel Dänzer) [2088410] - drm/amd/display: Disabling Z10 on DCN31 (Michel Dänzer) [2088410] - drm/virtio: fix NULL pointer dereference in virtio_gpu_conn_get_modes (Michel Dänzer) [2088410] - drm/vmwgfx: validate the screen formats (Michel Dänzer) [2088410] - drm/selftests: fix a shift-out-of-bounds bug (Michel Dänzer) [2088410] - drm/i915: Fix -Wstringop-overflow warning in call to intel_read_wm_latency() (Michel Dänzer) [2088410] - selftests/xsk: Disable hanging BPF RES tests (Felix Maurer) [2116940] - NLM: Defend against file_lock changes after vfs_test_lock() (Benjamin Coddington) [2094884] - ice: Fix VF not able to send tagged traffic with no VLAN filters (Petr Oros) [2055446] - ice: Ignore error message when setting same promiscuous mode (Petr Oros) [2100683] - ice: Fix clearing of promisc mode with bridge over bond (Petr Oros) [2100683] - ice: Ignore EEXIST when setting promisc mode (Petr Oros) [2100683] - ice: Fix double VLAN error when entering promisc mode (Petr Oros) [2100683]- fs: dlm: fix build with CONFIG_IPV6 disabled (Alexander Aring) [2036988] - fs: dlm: don't call kernel_getpeername() in error_report() (Alexander Aring) [2036988] - fs: dlm: use sk->sk_socket instead of con->sock (Alexander Aring) [2036988] - x86: intel_epb: Allow model specific normal EPB value (Prarit Bhargava) [2101488] - x86: intel_epb: Do not build when CONFIG_PM is unset (Prarit Bhargava) [2101488] - x86: intel_epb: Take CONFIG_PM into account (Prarit Bhargava) [2101488] - PM / arch: x86: MSR_IA32_ENERGY_PERF_BIAS sysfs interface (Prarit Bhargava) [2101488] - PM / arch: x86: Rework the MSR_IA32_ENERGY_PERF_BIAS handling (Prarit Bhargava) [2101488] - thermal: int340x: Add Raptor Lake PCI device id (Prarit Bhargava) [2064828] - thermal: int340x: Support Raptor Lake (Prarit Bhargava) [2064828] - nvme-fc: restart admin queue if the caller needs to restart queue (Ewan D. Milne) [2095693] - netfilter: nf_tables: replace BUG_ON by element length check (Florian Westphal) [2104497] - netfilter: nf_log: incorrect offset to network header (Florian Westphal) [2104497] - netfilter: nft_set_pipapo: release elements in clone from abort path (Florian Westphal) [2104497] - netfilter: nf_tables: stricter validation of element data (Florian Westphal) [2104497] - netfilter: nft_dynset: restore set element counter when failing to update (Florian Westphal) [2104497] - netfilter: use get_random_u32 instead of prandom (Florian Westphal) [2104497] - netfilter: nf_tables: memleak flow rule from commit path (Florian Westphal) [2104497] - netfilter: nf_tables: hold mutex on netns pre_exit path (Florian Westphal) [2104497] - netfilter: conntrack: re-fetch conntrack after insertion (Florian Westphal) [2104497] - netfilter: flowtable: fix excessive hw offload attempts after failure (Florian Westphal) [2104497] - netfilter: flowtable: avoid possible false sharing (Florian Westphal) [2104497] - netfilter: nf_nat_h323: eliminate anonymous module_init & module_exit (Florian Westphal) [2104497] - netfilter: ip6t_rt: fix rt0_hdr parsing in rt_mt6 (Florian Westphal) [2104497] - netfilter: socket: icmp6: fix use-after-scope (Florian Westphal) [2104497] - netfilter: nft_fib_ipv6: skip ipv6 packets from any to link-local (Florian Westphal) [2104497] - net/mlx5: Remove ConnectX-7 device from the unsupported devices (Kamal Heib) [1899567] - fs: dlm: change posix lock sigint handling (Alexander Aring) [2088499] - fs: dlm: use dlm_plock_info for do_unlock_close (Alexander Aring) [2088499] - fs: dlm: change plock interrupted message to debug again (Alexander Aring) [2088499] - fs: dlm: add pid to debug log (Alexander Aring) [2088499] - fs: dlm: plock use list_first_entry (Alexander Aring) [2088499] - dlm: replace usage of found with dedicated list iterator variable (Alexander Aring) [2088499] - dlm: move global to static inits (Alexander Aring) [2088499] - dlm: remove unnecessary INIT_LIST_HEAD() (Alexander Aring) [2088499] - dlm: improve plock logging if interrupted (Alexander Aring) [2088499] - dlm: rearrange async condition return (Alexander Aring) [2088499] - dlm: cleanup plock_op vs plock_xop (Alexander Aring) [2088499] - dlm: replace sanity checks with WARN_ON (Alexander Aring) [2088499]- selftests: mptcp: make sendfile selftest work (Florian Westphal) [2109046] - selftests: mptcp: more stable simult_flows tests (Florian Westphal) [2109046] - be2net: Remove useless DMA-32 fallback configuration (Petr Oros) [2051324] - ethernet: constify references to netdev->dev_addr in drivers (Petr Oros) [2051324] - ethernet: Remove redundant 'flush_workqueue()' calls (Petr Oros) [2051324] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Petr Oros) [2051324] - ethernet: use eth_hw_addr_set() (Petr Oros) [2051324] - be2net: Use irq_update_affinity_hint() (Petr Oros) [2051324] - RedHat: ASoC: SOF: Intel: do not enable IMR boot when resuming by default (Jaroslav Kysela) [2114931] - ASoC: SOF: make ctx_store and ctx_restore as optional (Jaroslav Kysela) [2114931] - ASoC: SOF: ipc3-topology: Prevent double freeing of ipc_control_data via load_bytes (Jaroslav Kysela) [2114931] - ASoC: amd: yc: Update DMI table entries for AMD platforms (Jaroslav Kysela) [2114931] - ASoC: amd: yc: Update DMI table entries (Jaroslav Kysela) [2114931] - thunderbolt: Add DP OUT resource when DP tunnel is discovered (Torez Smith) [2107601] - iavf: Fix VLAN_V2 addition/rejection (Petr Oros) [2115618] - iavf: Fix deadlock in initialization (Petr Oros) [2054656] - qede: Reduce verbosity of ptp tx timestamp (Manish Chopra) [2080655] - dmaengine: idxd: Fixup merge conflict resolution from upstream (Jerry Snitselaar) [2100927] - dmaengine: idxd: skip clearing device context when device is read-only (Jerry Snitselaar) [2100927] - dmaengine: idxd: add RO check for wq max_transfer_size write (Jerry Snitselaar) [2100927] - dmaengine: idxd: add RO check for wq max_batch_size write (Jerry Snitselaar) [2100927] - dmaengine: idxd: fix device cleanup on disable (Jerry Snitselaar) [2100927] - Revert "dmaengine: idxd: Separate user and kernel pasid enabling" (Jerry Snitselaar) [2100927] - net: atlantic: always deep reset on pm op, fixing up my null deref regression (Foggy Liu) [2039680] - net: atlantic: invert deep par in pm functions, preventing null derefs (Foggy Liu) [2039680] - s390/ap: extend AP change bindings-complete uevent with counter (Mete Durlu) [2114907] - powerpc/memhotplug: Make lmb size 64bit (Diego Domingos) [2116517] - powerpc/drmem: Make lmb_size 64 bit (Diego Domingos) [2116517] - RHEL-only: tools: arm64: Use alternative.h header in sysreg.h (Eric Auger) [2118527]- vmxnet3: do not reschedule napi for rx processing (Kamal Heib) [2117263] - lockdown: also lock down previous kgdb use (Lenny Szubowicz) [2104748] {CVE-2022-21499} - sfc: fix kernel panic when creating VF (Íñigo Huguet) [2114738] - net/mlx4_en: use kzalloc (Amir Tzin) [2049433] - net/mlx4: Delete useless moduleparam include (Amir Tzin) [2049433] - RDMA/mlx4: remove redundant assignment to variable nreq (Amir Tzin) [2049433] - RDMA/mlx4: Delete useless module.h include (Amir Tzin) [2049433] - RDMA/mlx4: Don't continue event handler after memory allocation failure (Amir Tzin) [2049433] - net/mlx4: Use irq_update_affinity_hint() (Amir Tzin) [2049433] - RDMA/mlx4: Use bitmap_alloc() when applicable (Amir Tzin) [2049433] - net/mlx4_en: Update reported link modes for 1/10G (Amir Tzin) [2049433] - ethernet: Remove redundant 'flush_workqueue()' calls (Amir Tzin) [2049433] - mlx4: constify args for const dev_addr (Amir Tzin) [2049433] - mlx4: remove custom dev_addr clearing (Amir Tzin) [2049433] - mlx4: replace mlx4_u64_to_mac() with u64_to_ether_addr() (Amir Tzin) [2049433] - mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64() (Amir Tzin) [2049433] - net/mlx4_en: avoid one cache line miss to ring doorbell (Amir Tzin) [2049433] - net/mlx4_en: Add XDP_REDIRECT statistics (Amir Tzin) [2049433] - net/mlx4: Use array_size() helper in copy_to_user() (Amir Tzin) [2049433] - net: mlx4: Add support for XDP_REDIRECT (Amir Tzin) [2049433] - net/mellanox: switch from 'pci_' to 'dma_' API (Amir Tzin) [2049433] - net/mlx4: Use ARRAY_SIZE to get an array's size (Amir Tzin) [2049433] - net/mlx4: make the array states static const, makes object smaller (Amir Tzin) [2049433] - dma-direct: use the correct size for dma_set_encrypted() (Jerry Snitselaar) [2105608] - dma-debug: make things less spammy under memory pressure (Jerry Snitselaar) [2105608] - dma-iommu: Check that swiotlb is active before trying to use it (Jerry Snitselaar) [2105608] - cpufreq: powernow-k8: Re-order the init checks (Mark Langsdorf) [2072974] - cpufreq: unify show() and store() naming and use __ATTR_XX (Mark Langsdorf) [2072974] - cpufreq: amd-pstate: Add more tracepoint for AMD P-State module (Mark Langsdorf) [2072974] - cpufreq: CPPC: Fix performance/frequency conversion (Mark Langsdorf) [2072974] - cpufreq: Move to_gov_attr_set() to cpufreq.h (Mark Langsdorf) [2072974] - cpufreq: use default_groups in kobj_type (Mark Langsdorf) [2072974] - cpufreq: Fix initialization of min and max frequency QoS requests (Mark Langsdorf) [2072974] - cpufreq: Fix a comment in cpufreq_policy_free (Mark Langsdorf) [2072974] - cpufreq: Fix get_cpu_device() failure in add_cpu_dev_symlink() (Mark Langsdorf) [2072974] - cpufreq: schedutil: Destroy mutex before kobject_put() frees the memory (Mark Langsdorf) [2072974] - cpufreq: sh: Remove sh_cpufreq_cpu_ready() (Mark Langsdorf) [2072974] - cpufreq: acpi: Remove acpi_cpufreq_cpu_ready() (Mark Langsdorf) [2072974] - cpufreq: Fix fall-through warning for Clang (Mark Langsdorf) [2072974] - cpufreq: Remove ->resolve_freq() (Mark Langsdorf) [2072974] - cpufreq: Reuse cpufreq_driver_resolve_freq() in __cpufreq_driver_target() (Mark Langsdorf) [2072974] - cpufreq: Remove the ->stop_cpu() driver callback (Mark Langsdorf) [2072974] - cpufreq: powernv: Migrate to ->exit() callback instead of ->stop_cpu() (Mark Langsdorf) [2072974] - cpufreq: Make cpufreq_online() call driver->offline() on errors (Mark Langsdorf) [2072974] - cpufreq: sh: Remove unused linux/sched.h headers (Mark Langsdorf) [2072974] - cpufreq: stats: Clean up local variable in cpufreq_stats_create_table() (Mark Langsdorf) [2072974] - cpufreq: Remove unused for_each_policy macro (Mark Langsdorf) [2072974] - cpufreq: Rudimentary typos fix in the file s5pv210-cpufreq.c (Mark Langsdorf) [2072974] - ACPI: CPPC: Fix enabling CPPC on AMD systems with shared memory (Mark Langsdorf) [2067296] - ACPI: CPPC: Don't require flexible address space if X86_FEATURE_CPPC is supported (Mark Langsdorf) [2067296] - ACPI: CPPC: Don't require _OSC if X86_FEATURE_CPPC is supported (Mark Langsdorf) [2067296] - x86/ACPI: CPPC: Rename cppc_msr.c to cppc.c (Mark Langsdorf) [2067296] - ACPI: CPPC: Only probe for _CPC if CPPC v2 is acked (Mark Langsdorf) [2067296] - ACPI: CPPC: Assume no transition latency if no PCCT (Mark Langsdorf) [2067296] - ACPI: bus: Set CPPC _OSC bits for all and when CPPC_LIB is supported (Mark Langsdorf) [2067296] - ACPI: CPPC: Check _OSC for flexible address space (Mark Langsdorf) [2067296] - ACPI: processor: idle: Avoid falling back to C3 type C-states (Mark Langsdorf) [2067296] - Revert "ACPI: processor: idle: Only flush cache on entering C3" (Mark Langsdorf) [2067296] - ACPI: CPPC: Change default error code and clean up debug messages in probe (Mark Langsdorf) [2067296] - ACPI: CPPC: Avoid out of bounds access when parsing _CPC data (Mark Langsdorf) [2067296] - ACPI: tables: Make LAPIC_ADDR_OVR address readable in message (Mark Langsdorf) [2067296] - ACPI: IPMI: replace usage of found with dedicated list iterator variable (Mark Langsdorf) [2067296] - ACPI, APEI: Use the correct variable for sizeof() (Mark Langsdorf) [2067296] - clocksource: acpi_pm: fix return value of __setup handler (Mark Langsdorf) [2067296] - ACPI / x86: Add support for LPS0 callback handler (Mark Langsdorf) [2067296] - ACPI: bus: Avoid using CPPC if not supported by firmware (Mark Langsdorf) [2067296] - Revert "ACPI: Pass the same capabilities to the _OSC regardless of the query flag" (Mark Langsdorf) [2067296] - ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU (Mark Langsdorf) [2067296] - PM: hibernate: Honour ACPI hardware signature by default for virtual guests (Mark Langsdorf) [2067296] - ACPI: NFIT: Remove block aperture support (Mark Langsdorf) [2067296] - x86, ACPI: rename init_freq_invariance_cppc() to arch_init_invariance_cppc() (Mark Langsdorf) [2067296] - ACPI/APEI: Limit printable size of BERT table data (Mark Langsdorf) [2067296] - ACPI: APEI: fix return value of __setup handlers (Mark Langsdorf) [2067296] - ACPI / x86: Add skip i2c clients quirk for Lenovo Yoga Tablet 1050F/L (Mark Langsdorf) [2067296] - ACPI / x86: Add skip i2c clients quirk for Nextbook Ares 8 (Mark Langsdorf) [2067296] - ACPICA: Avoid walking the ACPI Namespace if it is not there (Mark Langsdorf) [2067296] - ACPI: processor idle: Check for architectural support for LPI (Mark Langsdorf) [2067296] - ACPI: battery: Add device HID and quirk for Microsoft Surface Go 3 (Mark Langsdorf) [2067296] - ACPI: fan: Add additional attributes for fine grain control (Mark Langsdorf) [2067296] - ACPI: fan: Properly handle fine grain control (Mark Langsdorf) [2067296] - ACPI: fan: Optimize struct acpi_fan_fif (Mark Langsdorf) [2067296] - ACPI: fan: Separate file for attributes creation (Mark Langsdorf) [2067296] - ACPI: fan: Fix error reporting to user space (Mark Langsdorf) [2067296] - ACPI: clean up double words in two comments (Mark Langsdorf) [2067296] - ACPI: property: Get rid of redundant 'else' (Mark Langsdorf) [2067296] - ACPI: EC: Rearrange code in acpi_ec_submit_event() (Mark Langsdorf) [2067296] - ACPI: EC: Reduce indentation level in acpi_ec_submit_event() (Mark Langsdorf) [2067296] - ACPI: EC: Do not return result from advance_transaction() (Mark Langsdorf) [2067296] - ACPI: EC / PM: Print additional debug message in acpi_ec_dispatch_gpe() (Mark Langsdorf) [2067296] - ACPI: PM: Print additional debug message in acpi_s2idle_wake() (Mark Langsdorf) [2067296] - ACPI: tables: Add CEDT signature to the list of known tables (Mark Langsdorf) [2067296] - ACPI: properties: Consistently return -ENOENT if there are no more references (Mark Langsdorf) [2067296] - ACPI: OSL: Fix and clean up acpi_os_read/write_port() (Mark Langsdorf) [2067296] - ACPICA: Use uintptr_t and offsetof() in Linux kernel builds (Mark Langsdorf) [2067296] - ACPI: processor: idle: Only flush cache on entering C3 (Mark Langsdorf) [2067296] - intel_idle: Add AlderLake support (Lenny Szubowicz) [2075709] - intel_idle: Fix SPR C6 optimization (Lenny Szubowicz) [2075709] - intel_idle: Fix the 'preferred_cstates' module parameter (Lenny Szubowicz) [2075709] - cpuidle: intel_idle: Update intel_idle() kerneldoc comment (Lenny Szubowicz) [2075709] - ice: Fix promiscuous mode not turning off (Petr Oros) [2088787] - ice: Introduce enabling promiscuous mode on multiple VF's (Petr Oros) [2088787] - PCI/IOV: Add pci_iov_get_pf_drvdata() to allow VF reaching the drvdata of a PF (Myron Stowe) [2106259] - PCI/IOV: Add pci_iov_vf_id() to get VF index (Myron Stowe) [2106259] - redhat: enable CONFIG_MAXLINEAR_GPHY as module (Petr Oros) [2071856] - net: phy: enhance GPY115 loopback disable function (Petr Oros) [2071856] - net: phy: add Maxlinear GPY115/21x/24x driver (Petr Oros) [2071856] - cgroup: Use css_tryget() instead of css_tryget_online() in task_get_css() (Vratislav Bendel) [2111491] - ASoC: mediatek: Fix error handling in mt8173_max98090_dev_probe (Jaroslav Kysela) [2065580] - ASoC: amd: Add support for enabling DMIC on acp6x via _DSD (Jaroslav Kysela) [2065580] - soundwire: intel: prevent pm_runtime resume prior to system suspend (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add quirk for Fiero SC-01 (fw v1.0.0) (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add quirk for Fiero SC-01 (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add quirks for MacroSilicon MS2100/MS2106 devices (Jaroslav Kysela) [2065580] - ASoC: cs35l41: Add ASP TX3/4 source to register patch (Jaroslav Kysela) [2065580] - ASoC: dapm: Initialise kcontrol data for mux/demux controls (Jaroslav Kysela) [2065580] - ASoC: rt711-sdca: fix kernel NULL pointer dereference when IO error (Jaroslav Kysela) [2065580] - ASoC: cs35l41: Correct some control names (Jaroslav Kysela) [2065580] - ASoC: wm5110: Fix DRE control (Jaroslav Kysela) [2065580] - ASoC: wm_adsp: Fix event for preloader (Jaroslav Kysela) [2065580] - ASoC: Intel: bytcr_wm5102: Fix GPIO related probe-ordering problem (Jaroslav Kysela) [2065580] - ASoC: SOF: Intel: hda-loader: Clarify the cl_dsp_init() flow (Jaroslav Kysela) [2065580] - ASoC: SOF: Intel: hda-loader: Make sure that the fw load sequence is followed (Jaroslav Kysela) [2065580] - ASoC: SOF: Intel: hda-dsp: Expose hda_dsp_core_power_up() (Jaroslav Kysela) [2065580] - ASoC: codecs: rt700/rt711/rt711-sdca: initialize workqueues in probe (Jaroslav Kysela) [2065580] - ASoC: rt7*-sdw: harden jack_detect_handler (Jaroslav Kysela) [2065580] - ASoC: rt711: fix calibrate mutex initialization (Jaroslav Kysela) [2065580] - ASoC: Intel: sof_sdw: handle errors on card registration (Jaroslav Kysela) [2065580] - ASoC: rt711-sdca-sdw: fix calibrate mutex initialization (Jaroslav Kysela) [2065580] - ASoC: Realtek/Maxim SoundWire codecs: disable pm_runtime on remove (Jaroslav Kysela) [2065580] - ASoC: ops: Fix off by one in range control validation (Jaroslav Kysela) [2065580] - ASoC: Intel: Skylake: Correct the handling of fmt_config flexible array (Jaroslav Kysela) [2065580] - ASoC: Intel: Skylake: Correct the ssp rate discovery in skl_get_ssp_clks() (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc221 (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: fix mute/micmute LEDs for HP machines (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671 (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Fix headset mic for Acer SF313-51 (Jaroslav Kysela) [2065580] - ALSA: hda/conexant: Apply quirk for another HP ProDesk 600 G3 model (Jaroslav Kysela) [2065580] - ALSA: hda - Add fixup for Dell Latitidue E5430 (Jaroslav Kysela) [2065580] - ASoC: SOF: Intel: hda: Fix compressed stream position tracking (Jaroslav Kysela) [2065580] - ASoC: SOF: ipc3-topology: Move and correct size checks in sof_ipc3_control_load_bytes() (Jaroslav Kysela) [2065580] - ASoC: codecs: rt700/rt711/rt711-sdca: resume bus/codec in .set_jack_detect (Jaroslav Kysela) [2065580] - ASoC: rt711-sdca: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2065580] - ASoC: rt711: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2065580] - ALSA: cs46xx: Fix missing snd_card_free() call at probe error (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add quirk for Clevo L140PU (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Workarounds for Behringer UMC 204/404 HD (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add quirk for Clevo NS50PU (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add quirk for Clevo PD70PNT (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Apply fixup for Lenovo Yoga Duet 7 properly (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - ALC897 headset MIC no sound (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add mute LED quirk for HP Omen laptop (Jaroslav Kysela) [2065580] - ALSA: hda/conexant: Fix missing beep setup (Jaroslav Kysela) [2065580] - ALSA: hda: Fix discovery of i915 graphics PCI device (Jaroslav Kysela) [2065580] - ALSA: hda/via: Fix missing beep setup (Jaroslav Kysela) [2065580] - ALSA: memalloc: Drop x86-specific hack for WC allocations (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Add HW8326 support (Jaroslav Kysela) [2065580] - ALSA: hda: MTL: add HD Audio PCI ID and HDMI codec vendor ID (Jaroslav Kysela) [2065580] - ASoC: es8328: Fix event generation for deemphasis control (Jaroslav Kysela) [2065580] - ASoC: cs42l51: Correct minimum value for SX volume control (Jaroslav Kysela) [2065580] - ASoC: cs42l56: Correct typo in minimum level for SX volume controls (Jaroslav Kysela) [2065580] - ASoC: cs42l52: Correct TLV for Bypass Volume (Jaroslav Kysela) [2065580] - ASoC: cs53l30: Correct number of volume levels on SX controls (Jaroslav Kysela) [2065580] - ASoC: cs35l36: Update digital volume TLV (Jaroslav Kysela) [2065580] - ASoC: cs42l52: Fix TLV scales for mixer controls (Jaroslav Kysela) [2065580] - ASoC: Intel: cirrus-common: fix incorrect channel mapping (Jaroslav Kysela) [2065580] - ASoC: nau8822: Add operation for internal PLL off and on (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add quirk for HP Dev One (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Fix for quirk to enable speaker output on the Lenovo Yoga DuetITL 2021 (Jaroslav Kysela) [2065580] - ALSA: hda/conexant - Fix loopback issue with CX20632 (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Set up (implicit) sync for Saffire 6 (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Skip generic sync EP parse for secondary EP (Jaroslav Kysela) [2065580] - ASoC: rt5640: Do not manipulate pin "Platform Clock" if the "Platform Clock" is not in the DAPM (Jaroslav Kysela) [2065580] - ASoC: SOF: amd: Fixed Build error (Jaroslav Kysela) [2065580] - ASoC: rt5514: Fix event generation for "DSP Voice Wake Up" control (Jaroslav Kysela) [2065580] - ASoC: max98090: Move check for invalid values before casting in max98090_put_enab_tlv() (Jaroslav Kysela) [2065580] - ALSA: pcm: Check for null pointer of pointer substream before dereferencing it (Jaroslav Kysela) [2065580] - ASoC: SOF: ipc3-topology: Set scontrol->priv to NULL after freeing it (Jaroslav Kysela) [2065580] - ASoC: cs35l41: Fix an out-of-bounds access in otp_packed_element_t (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Move generic implicit fb quirk entries into quirks.c (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add quirk bits for enabling/disabling generic implicit fb (Jaroslav Kysela) [2065580] - ASoC: amd: Add driver data to acp6x machine driver (Jaroslav Kysela) [2065580] - ASoC: rt1015p: remove dependency on GPIOLIB (Jaroslav Kysela) [2065580] - ASoC: max98357a: remove dependency on GPIOLIB (Jaroslav Kysela) [2065580] - ASoC: rt5645: Fix errorenous cleanup order (Jaroslav Kysela) [2065580] - ASoC: SOF: amd: add missing platform_device_unregister in acp_pci_rn_probe (Jaroslav Kysela) [2065580] - ASoC: Intel: sof_ssp_amp: fix no DMIC BE Link on Chromebooks (Jaroslav Kysela) [2065580] - ASoC: tscs454: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2065580] - ASoC: SOF: ipc3-topology: Correct get_control_data for non bytes payload (Jaroslav Kysela) [2065580] - ASoC: dapm: Don't fold register value changes into notifications (Jaroslav Kysela) [2065580] - ASoC: Intel: bytcr_rt5640: Add quirk for the HP Pro Tablet 408 (Jaroslav Kysela) [2065580] - ALSA: jack: Access input_dev under mutex (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9520 laptop (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Add new type for ALC245 (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Optimize TEAC clock quirk (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Configure sync endpoints before data (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add missing ep_idx in fixed EP quirks (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Workaround for clock setup on TEAC devices (Jaroslav Kysela) [2065580] - ALSA: ctxfi: Add SB046x PCI ID (Jaroslav Kysela) [2065580] - NFS: Fix initialisation of nfs_client cl_flags field (Scott Mayhew) [2114577] - Documentation: Add an explanation of NFSv4 client identifiers (Dave Wysochanski) [1801326]- crypto: chelsio/chcr - Remove useless MODULE_VERSION (Rahul Lakkireddy) [2105817] - crypto: chelsio - remove unused function (Rahul Lakkireddy) [2105817] - crypto: chelsio - Read rxchannel-id from firmware (Rahul Lakkireddy) [2105817] - crypto: chelsio - Fix some kernel-doc issues (Rahul Lakkireddy) [2105817] - crypto: chelsio - remove set but not used variable 'adap' (Rahul Lakkireddy) [2105817] - dm raid: fix address sanitizer warning in raid_resume (Benjamin Marzinski) [2115118] - dm raid: fix address sanitizer warning in raid_status (Benjamin Marzinski) [2115118] - dm: return early from dm_pr_call() if DM device is suspended (Benjamin Marzinski) [2115118] - dm thin: fix use-after-free crash in dm_sm_register_threshold_callback (Benjamin Marzinski) [2115118] - dm writecache: count number of blocks discarded, not number of discard bios (Benjamin Marzinski) [2115118] - dm writecache: count number of blocks written, not number of write bios (Benjamin Marzinski) [2115118] - dm writecache: count number of blocks read, not number of read bios (Benjamin Marzinski) [2115118] - dm writecache: return void from functions (Benjamin Marzinski) [2115118] - dm kcopyd: use __GFP_HIGHMEM when allocating pages (Benjamin Marzinski) [2115118] - dm writecache: set a default MAX_WRITEBACK_JOBS (Benjamin Marzinski) [2115118] - dm raid: fix KASAN warning in raid5_add_disks (Benjamin Marzinski) [2115118] - dm raid: fix KASAN warning in raid5_remove_disk (Benjamin Marzinski) [2115118] - KVM: x86: do not report preemption if the steal time cache is stale (Vitaly Kuznetsov) [2115240] - KVM: x86: revalidate steal time cache if MSR value changes (Vitaly Kuznetsov) [2115240] - KVM: nVMX: Always enable TSC scaling for L2 when it was enabled for L1 (Vitaly Kuznetsov) [2115240] - KVM: x86: Fully initialize 'struct kvm_lapic_irq' in kvm_pv_kick_cpu_op() (Vitaly Kuznetsov) [2115240] - KVM: SEV: Init target VMCBs in sev_migrate_from (Vitaly Kuznetsov) [2115240] - KVM: SVM: fix tsc scaling cache logic (Vitaly Kuznetsov) [2115240] - KVM: x86/mmu: Check every prev_roots in __kvm_mmu_free_obsolete_roots() (Vitaly Kuznetsov) [2115240] - KVM: LAPIC: Drop pending LAPIC timer injection when canceling the timer (Vitaly Kuznetsov) [2115240] - KVM: x86: avoid calling x86 emulator without a decoded instruction (Vitaly Kuznetsov) [2115240] - KVM: SVM: Use kzalloc for sev ioctl interfaces to prevent kernel data leak (Vitaly Kuznetsov) [2115240] - KVM: x86: avoid loading a vCPU after .vm_destroy was called (Vitaly Kuznetsov) [2115240] - KVM: nVMX: Clear IDT vectoring on nested VM-Exit for double/triple fault (Vitaly Kuznetsov) [2115240] - KVM: nVMX: Leave most VM-Exit info fields unmodified on failed VM-Entry (Vitaly Kuznetsov) [2115240] - KVM: x86: Drop WARNs that assert a triple fault never "escapes" from L2 (Vitaly Kuznetsov) [2115240] - sched/deadline: Fix BUG_ON condition for deboosted tasks (Phil Auld) [2111860] - scsi: qla2xxx: Fix excessive I/O error messages by default (Nilesh Javali) [2100728] - scsi: qla2xxx: Fix erroneous mailbox timeout after PCI error injection (Nilesh Javali) [2044160] - drm/radeon: fix build rules of *_reg_safe.h (Michel Dänzer) [2006451] - RDMA/irdma: Fix sleep from invalid context BUG (Kamal Heib) [2097318] - RDMA/irdma: Do not advertise 1GB page size for x722 (Kamal Heib) [2097318] - RDMA/cm: Fix memory leak in ib_cm_insert_listen (Kamal Heib) [2097318] - RDMA/hfi1: Fix potential integer multiplication overflow errors (Kamal Heib) [2097318] - RDMA/hfi1: Prevent use of lock before it is initialized (Kamal Heib) [2097318] - RDMA/rxe: Fix an error handling path in rxe_get_mcg() (Kamal Heib) [2097318] - RDMA/rxe: Generate a completion for unsupported/invalid opcode (Kamal Heib) [2097318] - scsi: target: cxgbit: Enable Delayed ACK (Rahul Lakkireddy) [2105813] - scsi: target: cxgbit: Increase max DataSegmentLength (Rahul Lakkireddy) [2105813] - cxgb4: Use the bitmap API to allocate bitmaps (Rahul Lakkireddy) [2105806] - cxgb4: Fix typo in string (Rahul Lakkireddy) [2105806] - cxgb4/cxgb4vf: Fix typo in comments (Rahul Lakkireddy) [2105806] - cxgb4vf: remove unexpected word "the" (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4: Avoid potential negative array offset (Rahul Lakkireddy) [2105806] - libcxgb: Don't accidentally set RTO_ONLINK in cxgb_find_route() (Rahul Lakkireddy) [2105806] - cxgb4vf: Remove useless DMA-32 fallback configuration (Rahul Lakkireddy) [2105806] - cxgb4: Remove useless DMA-32 fallback configuration (Rahul Lakkireddy) [2105806] - cxgb4: allow reading unrecognized port module eeprom (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4vf: Fix an error code in cxgb4vf_pci_probe() (Rahul Lakkireddy) [2105806] - cxgb4: Use struct_group() for memcpy() region (Rahul Lakkireddy) [2105806] - cxgb4: fix eeprom len when diagnostics not implemented (Rahul Lakkireddy) [2105806] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Rahul Lakkireddy) [2105806] - ethernet: chelsio: use eth_hw_addr_set() (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4vf: Make use of the helper function dev_err_probe() (Rahul Lakkireddy) [2105806] - cxgb4: improve printing NIC information (Rahul Lakkireddy) [2105806] - net: chelsio: switch from 'pci_' to 'dma_' API (Rahul Lakkireddy) [2105806] - cxgb4: make the array match_all_mac static, makes object smaller (Rahul Lakkireddy) [2105806] - cxgb4: fix IRQ free race during driver unload (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4: use eth_zero_addr() to assign zero address (Rahul Lakkireddy) [2105806] - cxgb4: Fix -Wunused-const-variable warning (Rahul Lakkireddy) [2105806] - cxgb4: clip_tbl: use list_del_init instead of list_del/INIT_LIST_HEAD (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4vf: Fix wrong function name in comments (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4: Fix wrong function name in comments (Rahul Lakkireddy) [2105806] - cxgb4: Remove redundant NULL check (Rahul Lakkireddy) [2105806] - net: ethernet: chelsiofix: spelling typo of 'rewriteing' (Rahul Lakkireddy) [2105806] - net: don't include ethtool.h from netdevice.h (Rahul Lakkireddy) [2105806] - cxgb4vf: convert to use DEFINE_SEQ_ATTRIBUTE macro (Rahul Lakkireddy) [2105806] - cxgb4vf: fix t4vf_eth_xmit()'s return type (Rahul Lakkireddy) [2105806] - cxgb4vf: update kernel-doc line comments (Rahul Lakkireddy) [2105806] - cxgb4: remove duplicate headers (Rahul Lakkireddy) [2105806] - cxgb4/cxgb4vf: Remove superfluous void * cast in debugfs_create_file() call (Rahul Lakkireddy) [2105806] - cxgb4: Add missing annotation for service_ofldq() (Rahul Lakkireddy) [2105806] - net: cxgb4vf: reject unsupported coalescing params (Rahul Lakkireddy) [2105806] - scsi: mpt3sas: Stop fw fault watchdog work item during system shutdown (Tomas Henzl) [2106413] - drm/amd/display: Fix new dmub notification enabling in DM (Mika Penttilä) [2107632] - Revert "crypto: chelsio - Inline single pdu only" (Rahul Lakkireddy) [2105818] - crypto/chcr: Moving chelsio's inline ipsec functionality to /drivers/net (Rahul Lakkireddy) [2105818] - net/xfrm: IPsec tunnel mode fix inner_ipproto setting in sec_path (Sabrina Dubroca) [2107200] - scsi: ch: Make it possible to open a ch device multiple times again (Ewan D. Milne) [2108649] - lpfc updates for rh8.7 14.0.0.15 (Paul Ely) [2107726] - scsi: lpfc: Copyright updates for 14.2.0.5 patches (Paul Ely) [2107726] - scsi: lpfc: Fix lost NVMe paths during LIF bounce stress test (Paul Ely) [2107726] - scsi: lpfc: Fix attempted FA-PWWN usage after feature disable (Paul Ely) [2107726] - scsi: lpfc: Fix possible memory leak when failing to issue CMF WQE (Paul Ely) [2107726] - scsi: lpfc: Remove extra atomic_inc on cmd_pending in queuecommand after VMID (Paul Ely) [2107726] - scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input (Paul Ely) [2107726] - scsi: lpfc: Fix uninitialized cqe field in lpfc_nvme_cancel_iocb() (Paul Ely) [2107726] - scsi: lpfc: Allow reduced polling rate for nvme_admin_async_event cmd completion (Paul Ely) [2107726] - scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology (Paul Ely) [2107726] - scsi: lpfc: Resolve NULL ptr dereference after an ELS LOGO is aborted (Paul Ely) [2107726] - scsi: lpfc: Correct BDE type for XMIT_SEQ64_WQE in lpfc_ct_reject_event() (Paul Ely) [2107726] - scsi: qla2xxx: Fix imbalance vha->vref_count (Nilesh Javali) [2108964] - scsi: smartpqi: Update version to 2.1.18-045 (Don Brace) [2101548] - scsi: smartpqi: Update copyright to current year (Don Brace) [2101548] - scsi: smartpqi: Add ctrl ready timeout module parameter (Don Brace) [2101548] - scsi: smartpqi: Update deleting a LUN via sysfs (Don Brace) [2101548] - scsi: smartpqi: Add module param to disable managed ints (Don Brace) [2101548] - scsi: smartpqi: Fix RAID map race condition (Don Brace) [2101548] - scsi: smartpqi: Fix DMA direction for RAID requests (Don Brace) [2101548] - scsi: smartpqi: Stop logging spurious PQI reset failures (Don Brace) [2101548] - scsi: smartpqi: Add PCI IDs for Lenovo controllers (Don Brace) [2101548] - scsi: smartpqi: Add PCI ID for Adaptec SmartHBA 2100-8i (Don Brace) [2101548] - scsi: smartpqi: Fix PCI control linkdown system hang (Don Brace) [2101548] - scsi: smartpqi: Add driver support for multi-LUN devices (Don Brace) [2101548] - scsi: smartpqi: Close write read holes (Don Brace) [2101548] - scsi: smartpqi: Add PCI IDs for ramaxel controllers (Don Brace) [2101548] - scsi: smartpqi: Add controller fw version to console log (Don Brace) [2101548] - scsi: smartpqi: Shorten drive visibility after removal (Don Brace) [2101548] - scsi: smartpqi: Fix typo in comment (Don Brace) [2101548] - docs: kdump: Update the crashkernel description for arm64 (Pingfan Liu) [2093920] - of: Support more than one crash kernel regions for kexec -s (Pingfan Liu) [2093920] - of: kexec: Remove FDT_PROP_* definitions (Pingfan Liu) [2093920] - arm64: kexec: Fix missing error code 'ret' warning in load_other_segments() (Pingfan Liu) [2093920] - arm64: Use common of_kexec_alloc_and_setup_fdt() (Pingfan Liu) [2093920] - of: Add a common kexec FDT setup function (Pingfan Liu) [2093920] - arm64: Use ELF fields defined in 'struct kimage' (Pingfan Liu) [2093920] - kexec: Move ELF fields to struct kimage (Pingfan Liu) [2093920] - of: fdt: Add memory for devices by DT property "linux,usable-memory-range" (Pingfan Liu) [2093920] - efi: apply memblock cap after memblock_add() (Pingfan Liu) [2093920] - of: fdt: Aggregate the processing of "linux,usable-memory-range" (Pingfan Liu) [2093920] - of/fdt: Rework early_init_dt_scan_memory() to call directly (Pingfan Liu) [2093920] - of/fdt: Rework early_init_dt_scan_root() to call directly (Pingfan Liu) [2093920] - of/fdt: Rework early_init_dt_scan_chosen() to call directly (Pingfan Liu) [2093920] - of: fdt: Rename reserve_elfcorehdr() to fdt_reserve_elfcorehdr() (Pingfan Liu) [2093920] - of: fdt: Add generic support for handling elf core headers property (Pingfan Liu) [2093920] - arm64: kdump: Reimplement crashkernel=X (Pingfan Liu) [2093920] - arm64: Use insert_resource() to simplify code (Pingfan Liu) [2093920] - kdump: return -ENOENT if required cmdline option does not exist (Pingfan Liu) [2093920]- sched: Add WARN_ONCE_SAFE for use during critical scheduler code. (Phil Auld) [2095898] - printk: remove NMI tracking [partial] (Phil Auld) [2095898] - ext4: make sure ext4_append() always allocates new block (Lukas Czerner) [2070216] - ext4: check if directory block is within i_size (Lukas Czerner) [2070216] - redhat: nvme/tcp mistakenly uses blk_mq_tag_to_rq(nvme_tcp_tagset(queue)) (John Meneghini) [2112036] - RDMA/cxgb4: Set queue pair state when being queried (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use non-atomic bitmap functions when possible (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use bitmap_set() when applicable (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use bitmap_zalloc() when applicable (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use helper function to set GUIDs (Rahul Lakkireddy) [2105809] - RDMA/iw_cxgb4: Fix refcount underflow while destroying cqs. (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use refcount_t instead of atomic_t for reference counting (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Fix missing error code in create_qp() (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Remove useless assignments (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: add missing qpid increment (Rahul Lakkireddy) [2105809] - RDMA/iw_cxgb4: Use DEFINE_SPINLOCK() for spinlock (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use sizeof() notation (Rahul Lakkireddy) [2105809] - drm/amd/display: Ignore First MST Sideband Message Return Error (Michel Dänzer) [2089853] - sched, cpuset: Fix dl_cpu_busy() panic due to empty cs->cpus_allowed (Waiman Long) [2115165] - sched/deadline: Merge dl_task_can_attach() and dl_cpu_busy() (Waiman Long) [2115165] - ibmvnic: Properly dispose of all skbs during a failover. (Steve Best) [2107560] - redhat/configs: Enable CONFIG_AMD_HSMP for x86_64 (John Allen) [2072233] - platform/x86: Add AMD system management interface (John Allen) [2072233] - ice: do not setup vlan for loopback VSI (Petr Oros) [2103845] - ice: check (DD | EOF) bits on Rx descriptor rather than (EOP | RS) (Petr Oros) [2103845] - ice: Fix VSIs unable to share unicast MAC (Petr Oros) [2080033] - ice: Fix max VLANs available for VF (Petr Oros) [2112298] - ice: change devlink code to read NVM in blocks (Petr Oros) [2093904] - ALSA: Enable more Intel and AMD x86 chipset drivers (Jaroslav Kysela) [2065575] - ALSA: Remove module symbols namespace (Jaroslav Kysela) [2065575] - ASoC: SOF: tokens: add token for Mediatek AFE (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Expand firmware loading search options (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Add trace caps to speaker protection FW (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Make compressed buffers optional (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Correct control read size when parsing compressed buffer (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Add support for "toggle" preloaders (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Fix overrun of unterminated control name string (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Clear core reset for cache (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Move lockdep asserts to avoid potential null pointer (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Allow creation of event controls (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add offset to cs_dsp read/write (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Clarify some kernel doc comments (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Perform NULL check in cs_dsp_coeff_write/read_ctrl (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add support for rev 2 coefficient files (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Print messages from bin files (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add pre_run callback (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add version checks on coefficient loading (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add lockdep asserts to interface functions (Jaroslav Kysela) [2065575] - firmware: cs_dsp: tidy includes in cs_dsp.c and cs_dsp.h (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Remove the wmfw_add_ctl helper function (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: wm_adsp_control_add() error: uninitialized symbol 'ret' (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: remove a repeated including (Jaroslav Kysela) [2065575] - firmware: cs_dsp: add driver to support firmware loading on Cirrus Logic DSPs (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Separate wm_adsp specifics in cs_dsp_client_ops (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Split out struct cs_dsp from struct wm_adsp (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: move firmware loading to client (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Pass firmware names as parameters when starting DSP core (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Move check of dsp->running to better place (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Separate generic cs_dsp_coeff_ctl handling (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Move sys_config_size to wm_adsp (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Split DSP power operations into helper functions (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Separate some ASoC and generic functions (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Introduce cs_dsp logging macros (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Rename generic DSP support (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Cancel ongoing work when removing controls (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Switch to using wm_coeff_read_ctrl for compressed buffers (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Move check for control existence (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Remove use of snd_ctl_elem_type_t (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Put debugfs_remove_recursive back in (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Let soc_cleanup_component_debugfs remove debugfs (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Remove pointless string comparison (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Add CCM_CORE_RESET to Halo start core (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Correct wm_coeff_tlv_get handling (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Fix control name parsing for multi-fw (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Fix uninitialized variable warnings (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Use snd_ctl_elem_type_t for control types (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Only use __be32 for big-endian data (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Improve handling of raw byte streams (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control() (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: fix error return code in wm_adsp_load() (Jaroslav Kysela) [2065575] - ASoC: rt5640: Add the binding include file for the HDA header support (Jaroslav Kysela) [2065575] - ALSA: uapi: use C90 comment style instead of C99 style (Jaroslav Kysela) [2065575] - ALSA: hda: intel-dsp-config: Add RaptorLake PCI IDs (Jaroslav Kysela) [2065575] - ALSA: hda/i915: Fix one too many pci_dev_put() (Jaroslav Kysela) [2065575] - ALSA: hda: intel-dsp-config: update AlderLake PCI IDs (Jaroslav Kysela) [2065575] - ALSA: hda/i915 - skip acomp init if no matching display (Jaroslav Kysela) [2065575] - ALSA: hda/i915 - avoid hung task timeout in i915 wait (Jaroslav Kysela) [2065575] - ALSA: intel-dspconfig: add ES8336 support for CNL (Jaroslav Kysela) [2065575] - ALSA: intel-dsp-config: add more ACPI HIDs for ES83x6 devices (Jaroslav Kysela) [2065575] - ALSA: hda: intel-dsp-config: reorder the config table (Jaroslav Kysela) [2065575] - ALSA: hda: intel-dsp-config: add JasperLake support (Jaroslav Kysela) [2065575] - ALSA: hda: Simplify DMIC-in-NHLT check (Jaroslav Kysela) [2065575] - ALSA: intel_hdmi: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: x86: Use standard mmap helper for Intel HDMI LPE audio (Jaroslav Kysela) [2065575] - ALSA: intel_hdmi: Fix reference to PCM buffer address (Jaroslav Kysela) [2065575] - ALSA: intel_hdmi: Check for error num after setting mask (Jaroslav Kysela) [2065575] - tools include uapi: Update asound.h copy (Jaroslav Kysela) [2065575] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2065575] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2065575] - ALSA: hda: Add helper macros for DSP capable devices (Jaroslav Kysela) [2065575] - ALSA: intel-nhlt: add helper to detect SSP link mask (Jaroslav Kysela) [2065575] - ASoC: soc-acpi: add information on I2S/TDM link mask (Jaroslav Kysela) [2065575] - ASoC: soc-acpi: fix kernel-doc descriptor (Jaroslav Kysela) [2065575] - ASoC: SOF: fix 32 signed bit overflow (Jaroslav Kysela) [2065575] - ALSA: hda: Add snd_hdac_ext_bus_link_at() helper (Jaroslav Kysela) [2065575] - ALSA: cleanup double word in comment (Jaroslav Kysela) [2065575] - ASoC: SOF: add _D3_PERSISTENT flag to fw_ready message (Jaroslav Kysela) [2065575] - ALSA: HDA: hdac_ext_stream: use consistent prefixes for variables (Jaroslav Kysela) [2065575] - ipc: debug: Add shared memory heap to memory scan (Jaroslav Kysela) [2065575] - ALSA: pcm: comment about relation between msbits hw parameter and [S|U]32 formats (Jaroslav Kysela) [2065575] - ALSA: hda: Fill gaps in NHLT endpoint-interface (Jaroslav Kysela) [2065575] - ASoC: SOF: IPC: Add new IPC command to free trace DMA (Jaroslav Kysela) [2065575] - soundwire: stream: make enable/disable/deprepare idempotent (Jaroslav Kysela) [2065575] - soundwire: stream: sdw_stream_add_ functions can be called multiple times (Jaroslav Kysela) [2065575] - soundwire: stream: introduce sdw_slave_rt_find() helper (Jaroslav Kysela) [2065575] - soundwire: stream: separate alloc and config within sdw_stream_add_xxx() (Jaroslav Kysela) [2065575] - soundwire: stream: move list addition to sdw_slave_alloc_rt() (Jaroslav Kysela) [2065575] - soundwire: stream: rename and move master/slave_rt_free routines (Jaroslav Kysela) [2065575] - soundwire: stream: group sdw_stream_ functions (Jaroslav Kysela) [2065575] - soundwire: stream: split sdw_alloc_slave_rt() in alloc and config (Jaroslav Kysela) [2065575] - soundwire: stream: move sdw_alloc_slave_rt() before 'master' helpers (Jaroslav Kysela) [2065575] - soundwire: stream: split sdw_alloc_master_rt() in alloc and config (Jaroslav Kysela) [2065575] - soundwire: stream: simplify sdw_alloc_master_rt() (Jaroslav Kysela) [2065575] - soundwire: stream: group sdw_port and sdw_master/slave_port functions (Jaroslav Kysela) [2065575] - soundwire: stream: add 'slave' prefix for port range checks (Jaroslav Kysela) [2065575] - soundwire: stream: split alloc and config in two functions (Jaroslav Kysela) [2065575] - soundwire: stream: split port allocation and configuration loops (Jaroslav Kysela) [2065575] - soundwire: stream: add alloc/config/free helpers for ports (Jaroslav Kysela) [2065575] - soundwire: stream: simplify check on port range (Jaroslav Kysela) [2065575] - soundwire: stream: add slave runtime to list earlier (Jaroslav Kysela) [2065575] - soundwire: stream: remove unused parameter in sdw_stream_add_slave (Jaroslav Kysela) [2065575] - soundwire: intel: fix wrong register name in intel_shim_wake (Jaroslav Kysela) [2065575] - soundwire: bus: add dev_warn() messages to track UNATTACHED devices (Jaroslav Kysela) [2065575] - soundwire: intel: remove PDM support (Jaroslav Kysela) [2065575] - soundwire: intel: remove unnecessary init (Jaroslav Kysela) [2065575] - ASoC/SoundWire: dai: expand 'stream' concept beyond SoundWire (Jaroslav Kysela) [2065575] - soundwire: intel: improve suspend flows (Jaroslav Kysela) [2065575] - soundwire: intel: Use auxiliary_device driver data helpers (Jaroslav Kysela) [2065575] - soundwire: qcom: remove redundant version number read (Jaroslav Kysela) [2065575] - ASoC: SOF: Fix NULL pointer exception in sof_pci_probe callback (Jaroslav Kysela) [2065575] - ASoC: ops: Validate input values in snd_soc_put_volsw_range() (Jaroslav Kysela) [2065575] - ASoC: dmaengine: Restore NULL prepare_slave_config() callback (Jaroslav Kysela) [2065575] - ASoC: max98090: Generate notifications on changes for custom control (Jaroslav Kysela) [2065575] - ASoC: max98090: Reject invalid values in custom control put() (Jaroslav Kysela) [2065575] - ASoC: rt9120: Correct the reg 0x09 size to one byte (Jaroslav Kysela) [2065575] - ASoC: soc-ops: fix error handling (Jaroslav Kysela) [2065575] - ASoC: da7219: Fix change notifications for tone generator frequency (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: fix sysclk shutdown (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: Add a quirk for Huawei Matebook D15 (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: add a quirk for headset at mic1 port (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: support a separate gpio to control headphone (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: simplify speaker gpio naming (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: correct device endpoints for max98373 (Jaroslav Kysela) [2065575] - ASoC: codecs: wcd934x: do not switch off SIDO Buck when codec is in use (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Fix memory leak in sof_control_load() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: cleanup dailinks on widget unload (Jaroslav Kysela) [2065575] - ASoC: rt711/5682: check if bus is active before deferred jack detection (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: Add support for max98360a speaker amp on SSP2 (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: Avoid NULL deref in asoc_simple_set_tdm() (Jaroslav Kysela) [2065575] - ASoC: soc-core: add debugfs_prefix member to snd_soc_component_driver (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix a shift-out-of-bounds warning found by UBSAN (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Add one more variable in the debug log (Jaroslav Kysela) [2065575] - ASoC: rt5682: fix an incorrect NULL check on list iterator (Jaroslav Kysela) [2065575] - ASoC: soc-dapm: fix two incorrect uses of list iterator (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: use GFP_KERNEL when the code is sleepable (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Fix memory leak of scontrol->name (Jaroslav Kysela) [2065575] - codecs: rt5682s: fix an incorrect NULL check on list iterator (Jaroslav Kysela) [2065575] - ASoC: topology: Correct error handling in soc_tplg_dapm_widget_create() (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Fix build error without SND_SOC_SOF_PCI_DEV (Jaroslav Kysela) [2065575] - ASoC: SOF: Add a new dai_get_clk topology IPC op (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Add ops for setting up and tearing down pipelines (Jaroslav Kysela) [2065575] - ASoC: SOF: expose sof_route_setup() (Jaroslav Kysela) [2065575] - ASoC: SOF: Add dai_link_fixup PCM op for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add trigger PCM op for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Define hw_params PCM op for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC3 PCM hw_free op (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: expose the sof_pcm_setup_connected_widgets() function (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC-specific PCM ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Add bytes_ext control IPC ops for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add bytes_get/put control IPC ops for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add enum_get/put control ops for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add switch get/put IPC3 ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Add volume_get/put IPC3 ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Add IPC3 topology control ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC ops for kcontrol IO (Jaroslav Kysela) [2065575] - ASoC: SOF: Make sof_suspend/resume IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: Make sof_widget_setup/free IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: set up scheduler widget before all other widgets in the pipeline (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Use kmemdup() to replace kzalloc + memcpy (Jaroslav Kysela) [2065575] - ASoC: ak4642: Use of_device_get_match_data() (Jaroslav Kysela) [2065575] - ASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call (Jaroslav Kysela) [2065575] - ASoC: amd: Fix reference to PCM buffer address (Jaroslav Kysela) [2065575] - ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_data (Jaroslav Kysela) [2065575] - ASoC: rt1308-sdw: get calibration params after power on (Jaroslav Kysela) [2065575] - ASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe (Jaroslav Kysela) [2065575] - ASoC: ti: Fix spelling mistake "cant" -> "can't" (Jaroslav Kysela) [2065575] - ASoC: samsung: i2s: check the return value of kstrdup() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: remove snd_sof_complete_pipeline() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make widget binding IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make control parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make DAI widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make route setup IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make effect widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: Replace zero-length array with flexible-array member (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make siggen widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make asrc widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make src widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make mux/demux widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make mixer widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make pga widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make buffer widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make scheduler widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC3 ops (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Add helper function for processing tuple arrays (Jaroslav Kysela) [2065575] - ASoC: SOF: IPC: Introduce IPC ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce struct snd_sof_dai_link (Jaroslav Kysela) [2065575] - ASoC: soc-compress: Change the check for codec_dai (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Code loading over HDA (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Code loading over CLDMA (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Implement CLDMA transfer (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: General code loading flow (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Dynamic firmware resources management (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Declare module configuration types (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Firmware resources management utilities (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add basefw runtime-parameter requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add ROM requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add power management requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add module management requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add pipeline management requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add code loading requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Inter process communication (Jaroslav Kysela) [2065575] - ASoC: Intel: Introduce AVS driver (Jaroslav Kysela) [2065575] - ASoC: Export DAI register and widget ctor and dctor functions (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: Don't reset clock of active DAI (Jaroslav Kysela) [2065575] - ASoC: SOF: Remove ipc_pcm_params() ops (Jaroslav Kysela) [2065575] - ASoC: SOF: imx: Convert to use the generic set_stream_data_offset ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Convert to use the generic set_stream_data_offset ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-ipc: Add hda_set_stream_data_offset() (Jaroslav Kysela) [2065575] - ASoC: SOF: stream-ipc: Add sof_set_stream_data_offset() (Jaroslav Kysela) [2065575] - ASoC: SOF: Mark snd_sof_dsp_ops.ipc_pcm_params() callback optional (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce optional callback to configure stream data offset (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: Remove sof_pcm_dsp_params() wrapper (Jaroslav Kysela) [2065575] - ASoC: SOF: Make pcm_hw_params snd_sof_dsp_ops callback IPC neutral (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-priv: Remove stale snd_sof_ipc_stream_pcm_params() declaration (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: Add entry for rt711-sdca-sdw in ADL match table (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: add topology overwrite for Taniks (Jaroslav Kysela) [2065575] - ASoC: SOF: trace: Use proper DMA direction for the trace data buffer (Jaroslav Kysela) [2065575] - ASoC: SOF: compress: fix null check after dereference (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: enable DMI L1 for playback streams (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc-msg-injector: Use devm_kzalloc() for the rx_buffer (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Remove unneeded semicolon (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Remove unneeded semicolon (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: fix randconfig issue (Jaroslav Kysela) [2065575] - ASoC: Intel: bytcht_es8316: move comment to the right place (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: add cfg-dmics component for UCM support (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: extend machine driver to support ES8326 codec (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: add support for JD inverted quirk (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: move comment to the right place (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: log all quirks (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: use NHLT information to set dmic and SSP (Jaroslav Kysela) [2065575] - ASoC: Intel: Revert "ASoC: Intel: sof_es8336: add quirk for Huawei D15 2021" (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: get codec device with ACPI instead of bus search (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: make gpio optional (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: add ESSX8336 support on Cannon Lake machines (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: add more ACPI HIDs for ES83x6 devices (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: quirk topology filename dynamically (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: report SSP link mask to machine driver (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: retrieve DMIC number for I2S boards (Jaroslav Kysela) [2065575] - ASoC: SOF: move definition of snd_sof_ipc to header file (Jaroslav Kysela) [2065575] - ASoC: SOF: make struct snd_sof_dai IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Rename arguments in sof_parse_tokens() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Rename arguments in sof_parse_token_sets() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Modify signature for token parsing functions (Jaroslav Kysela) [2065575] - ASoC: SOF: Add a tuples array to struct snd_sof_widget (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: make sof_route_load() IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: make struct snd_sof_widget IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: mxs: Fix error handling in mxs_sgtl5000_probe (Jaroslav Kysela) [2065575] - ASoC: dmaengine: do not use a NULL prepare_slave_config() callback (Jaroslav Kysela) [2065575] - ASoC: SOF: Add missing of_node_put() in imx8m_probe (Jaroslav Kysela) [2065575] - ASoC: rockchip: i2s: Fix missing clk_disable_unprepare() in rockchip_i2s_probe (Jaroslav Kysela) [2065575] - ASoC: amd: acp3x: Fix signedness bug in acp3x (Jaroslav Kysela) [2065575] - ASoC: amd: acp5x-pcm-dma: Fix signedness bug (Jaroslav Kysela) [2065575] - ASoC: Intel: catpt: use asoc_substream_to_rtd() (Jaroslav Kysela) [2065575] - ASoC: SOF: change comp_dai to a pointer in struct snd_sof_dai (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: expose some get_token ops (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Modify the get_token op for string tokens (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Drop the size parameter from struct sof_topology_token (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: remove redundant code in sof_link_afe_load() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: remove redundant code (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-audio: removed unused function (Jaroslav Kysela) [2065575] - ASoC: SOF: set swidget's core for scheduler widget (Jaroslav Kysela) [2065575] - ASoC: SOF: simplify snd_sof_device_remove() (Jaroslav Kysela) [2065575] - ASoC: SOF: remove snd_sof_pipeline_find() (Jaroslav Kysela) [2065575] - ASoC: amd: vg: fix signedness bug in acp5x_audio_probe() (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Remove unnecessary param (Jaroslav Kysela) [2065575] - ASoC: rt5682s: Stabilize the combo jack detection (Jaroslav Kysela) [2065575] - ASoC: wm8350: Handle error for wm8350_register_irq (Jaroslav Kysela) [2065575] - ASoC: amd: pcm-dma: Fix signedness bug in acp3x_audio_probe() (Jaroslav Kysela) [2065575] - ASoC: amd: pcm-dma: Fix signedness bug in acp_pdm_audio_probe() (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Fix signedness bug in renoir_audio_probe() (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_sdw: fix quirks for 2022 HP Spectre x360 13" (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: add GPIOLIB dependency where missed (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: remove explicit dependency on GPIOLIB when DMIC is used" (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: store full version instead of major/minor (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: simplify register poking in fsl_sai_set_bclk (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: simplify irq return value (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: Drop unnecessary defines (Jaroslav Kysela) [2065575] - ASoC: codecs: Add Awinic AW8738 audio amplifier driver (Jaroslav Kysela) [2065575] - ASoC: audio_graph_card2: Add support for variable slot widths (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: clarify operator precedence (Jaroslav Kysela) [2065575] - ASoC: SOF: debug: clarify operator precedence (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Increase ACP_HW_SEM_RETRY_COUNT value (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Move group register configuration to acp-loader (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Use semaphore register to synchronize ipc's irq (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Flush cache after ATU_BASE_ADDR_GRP register update (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Do not set ipc_pcm_params ops as it is optional (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: acp-pcm: Take buffer information directly from runtime (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: pci-tgl: add RPL-S support (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix DSP mbox start command and global enable order (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix max number of TX channels (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix GPIO2 configuration (Jaroslav Kysela) [2065575] - ASoC: bt-sco: fix bt-sco-pcm-wb dai widget don't connect to the endpoint (Jaroslav Kysela) [2065575] - ASoC: hdac_hda: Avoid unexpected match when pcm_name is "Analog" (Jaroslav Kysela) [2065575] - ASoC: soc-compress: prevent the potentially use of null pointer (Jaroslav Kysela) [2065575] - ASoC: soc-generic-dmaengine-pcm: set period_bytes_min based on maxburst (Jaroslav Kysela) [2065575] - ASoC: dwc-i2s: Handle errors for clk_enable (Jaroslav Kysela) [2065575] - ASoC: amd: use asoc_substream_to_rtd() (Jaroslav Kysela) [2065575] - ASoC: atmel_ssc_dai: Handle errors for clk_enable (Jaroslav Kysela) [2065575] - ASoC: mxs-saif: Handle errors for clk_enable (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: add entries in ADL match table (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_ssp_amp: rename driver and support cs35l41 amplifier (Jaroslav Kysela) [2065575] - ASoC: Intel: cirrus-common: support cs35l41 amplifier (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt1308: move rt1308 code to common module (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: create sof-realtek-common module (Jaroslav Kysela) [2065575] - ASoC: Intel: add RT1308 I2S machine driver and HDMI-in capture via I2S support. (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: fix spelling in comments (Jaroslav Kysela) [2065575] - ASoC: soc-acpi: remove sof_fw_filename (Jaroslav Kysela) [2065575] - ASoC: es7241: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98927: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98926: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98925: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max9867: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max9860: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max9850: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98390: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98371: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98095: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98088: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: uda134x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: ml26124: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm512x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm186x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm1681: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm3060: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: ti: davinci-i2s: Add check for clk_enable() (Jaroslav Kysela) [2065575] - ASoC: mc13783: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: isabelle: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: amd: vangogh: fix uninitialized symbol warning in machine driver (Jaroslav Kysela) [2065575] - ASoC: amd: vg: remove warnings and errors pointed out by checkpatch pl (Jaroslav Kysela) [2065575] - ASoC: amd: vg: update DAI link name (Jaroslav Kysela) [2065575] - ASoC: amd: vg: fix for pm resume callback sequence (Jaroslav Kysela) [2065575] - ASoC: es8328: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: inno_rk3036: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: es8316: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: wl1273: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: es7134: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: twl4030: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: uda1334: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: uda1380: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: si476x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: sti-sas: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: amd: pcm-dma: Use platform_get_irq() to get the interrupt (Jaroslav Kysela) [2065575] - ASoC: tscs454: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: tscs42xx: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: lm49453: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: qcom: lpass-platform: Update warning print to control excess logging (Jaroslav Kysela) [2065575] - ASoC: acp: check the return value of devm_kzalloc() in acp_legacy_dai_links_create() (Jaroslav Kysela) [2065575] - ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp() (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-priv: Drop duplicate sof_compressed_ops declaration (Jaroslav Kysela) [2065575] - ASoC: amd: Use platform_get_irq_byname() to get the interrupt (Jaroslav Kysela) [2065575] - ASoC: SOF: Declare sof_compress_ops in sof-priv.h (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add DMIC machine driver ops (Jaroslav Kysela) [2065575] - ASoC: amd: acp-legacy: Add legacy card support for new machines (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Change card name for Guybrush Machine (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: Add compress_ops for SOF platform component driver (Jaroslav Kysela) [2065575] - ASoC: rt5682s: Fix the wrong jack type detected (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi-byt: Add new WM5102 ACPI HID (Jaroslav Kysela) [2065575] - ASoC: amd: vg: update acp init and deinit sequence (Jaroslav Kysela) [2065575] - ASoC: amd: vg: apply sample bits pcm constraint (Jaroslav Kysela) [2065575] - ASoC: amd: vg: update platform clock control sequence (Jaroslav Kysela) [2065575] - ASoC: nau8821: enable no_capture_mute flag (Jaroslav Kysela) [2065575] - ASoC: amd: vangogh: refactor i2s master mode clock sequence code (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Add topology overwrite for Felwinter (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: add quirk for Huawei D15 2021 (Jaroslav Kysela) [2065575] - ASoC: intel: skylake: Set max DMA segment size (Jaroslav Kysela) [2065575] - ASoC: SOF: hda: Set max DMA segment size (Jaroslav Kysela) [2065575] - ASoC: SOF: core: unregister clients and machine drivers in .shutdown (Jaroslav Kysela) [2065575] - ASoC: cs4265: Fix the duplicated control name (Jaroslav Kysela) [2065575] - ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min (Jaroslav Kysela) [2065575] - ASoC: soc-core: skip zero num_dai component in searching dai name (Jaroslav Kysela) [2065575] - ASoC: SOF: Makefile: Fix randconfig sof-client build when SND_SOC_SOF=y (Jaroslav Kysela) [2065575] - ASoC: codec: wm8960: complete discharge on BIAS OFF->STANDBY (Jaroslav Kysela) [2065575] - ASoC: wm8731: Delete empty remove() function (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: remove numeric PCM3168A_NUM_SUPPLIES (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: refactor format handling (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: refactor hw_params routine (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: cleanup unintuitive mask usage (Jaroslav Kysela) [2065575] - ASoC: SOF: compr: Mark snd_compress_ops static (Jaroslav Kysela) [2065575] - ASoC: Intel: bytcr_wm5102: use GFP_KERNEL (Jaroslav Kysela) [2065575] - ASoC: SOF: Convert the generic probe support to SOF client (Jaroslav Kysela) [2065575] - ASoC: SOF: Convert the generic IPC message injector into SOF client (Jaroslav Kysela) [2065575] - ASoC: SOF: Convert the generic IPC flood test into SOF client (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-client: Add support for clients not managed by pm framework (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC SOF client support (Jaroslav Kysela) [2065575] - ASoC: SOF: Split up utils.c into sof-utils and iomem-utils (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Read and pass the whole message to handlers for IPC events (Jaroslav Kysela) [2065575] - ASoC: SOF: Move the definition of enum sof_dsp_power_states to global header (Jaroslav Kysela) [2065575] - ASoC: SOF: Drop unused DSP power states: D3_HOT and D3_COLD (Jaroslav Kysela) [2065575] - ASoC: rt5640: Remove the sysclk and sysclk_src checking (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hdac_ext_stream: consistent prefixes for variables/members (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: Enable combine mode soft (Jaroslav Kysela) [2065575] - ASoC: SOF: compr: Add compress ops implementation (Jaroslav Kysela) [2065575] - ASoC: SOF: dma-trace: Pass pointer to params_ext struct in trace_init() (Jaroslav Kysela) [2065575] - ASoC: SOF: intel: hda-trace: Pass the dma buffer pointer to hda_dsp_trace_prepare (Jaroslav Kysela) [2065575] - ASoC: zl38060: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: max9759: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: simple-amplifier: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: rt9120: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: dmic: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: rt5682: do not block workqueue if card is unbound (Jaroslav Kysela) [2065575] - ASoC: rt5668: do not block workqueue if card is unbound (Jaroslav Kysela) [2065575] - ASoC: rt5682s: do not block workqueue if card is unbound (Jaroslav Kysela) [2065575] - ASoC: tas2770: Insert post reset delay (Jaroslav Kysela) [2065575] - ASoC: samsung: Explicitly include gpiolib header (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Set gpio_spkr_en to None for max speaker amplifer in machine driver (Jaroslav Kysela) [2065575] - ASoC: ops: Fix stereo change notifications in snd_soc_put_xr_sx() (Jaroslav Kysela) [2065575] - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_range() (Jaroslav Kysela) [2065575] - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_sx() (Jaroslav Kysela) [2065575] - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw() (Jaroslav Kysela) [2065575] - ASoC: max98927: add missing header file (Jaroslav Kysela) [2065575] - ASoC: ops: Check for negative values before reading them (Jaroslav Kysela) [2065575] - ASoC: cs42l51: Improve error handling in cs42l51_remove() (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Do not allocate buffer for msg_data (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Drop header parameter from sof_ipc_tx_message_unlocked() (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: cnl: Use pm_gate->hdr.cmd in cnl_compact_ipc_compress() (Jaroslav Kysela) [2065575] - ASoC: amd: renoir: Add check for acp configuration flags (Jaroslav Kysela) [2065575] - ASoC: amd: acp: acp-legacy: Add DMIC dai link support for Renoir (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add ACP init()/deinit() callback for Renoir. (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add generic PCI driver module for ACP device (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add PDM controller based dmic dai for Renoir (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add generic support for PDM controller on ACP (Jaroslav Kysela) [2065575] - ASoC: rk3399_gru_sound: Wire up DP jack detection (Jaroslav Kysela) [2065575] - ASoC: rt5682: Fix deadlock on resume (Jaroslav Kysela) [2065575] - ASoC: hdmi-codec: Fix OOB memory accesses (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: Move debugfs removal out of spinlock (Jaroslav Kysela) [2065575] - ASoC: SOF: trace: Simplify count adjustment in trace_read (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: Remove link assignment limitation (Jaroslav Kysela) [2065575] - ASoC: ops: Reject out of bounds values in snd_soc_put_xr_sx() (Jaroslav Kysela) [2065575] - ASoC: ops: Reject out of bounds values in snd_soc_put_volsw_sx() (Jaroslav Kysela) [2065575] - ASoC: ops: Reject out of bounds values in snd_soc_put_volsw() (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: Add new system-clock-fixed flag (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: Set sysclk on all components (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: add 512FS MCLK clock configuration (Jaroslav Kysela) [2065575] - ASoC: amd: sof-mach: Add support for RT5682S and RT1019 card (Jaroslav Kysela) [2065575] - ASoC: soc-generic-dmaengine-pcm: separate max_buffer_size assignment (Jaroslav Kysela) [2065575] - ASoC: samsung: remove unneeded ret variable (Jaroslav Kysela) [2065575] - ASoC: codecs: remove redundant ret variable (Jaroslav Kysela) [2065575] - ASoC: fsl-asoc-card: Add optional dt property for setting mclk-id (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: Add support for platform without amplifier (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: add support for systems without i915 audio (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Compare sdw adr directly (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: match sdw version on link_slaves_found (Jaroslav Kysela) [2065575] - ASoC: add support for TAS5805M digital amplifier (Jaroslav Kysela) [2065575] - ASoC: topology: Optimize soc_tplg_dapm_graph_elems_load behavior (Jaroslav Kysela) [2065575] - ASoC: topology: Allow TLV control to be either read or write (Jaroslav Kysela) [2065575] - ASoC: topology: Remove superfluous error prints (Jaroslav Kysela) [2065575] - ASoC: SOF: add flag to disable IMR restore to sof_debug (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-loader: add IMR restore support (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-loader: add SSP helper (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: use inclusive language for SSP clocks (Jaroslav Kysela) [2065575] - ASoC: amd: acp-mach: Fix Left and Right rt1019 amp devices (Jaroslav Kysela) [2065575] - ASoC: max9759: fix underflow in speaker_gain_control_put() (Jaroslav Kysela) [2065575] - ASoC: cpcap: Check for NULL pointer after calling of_get_child_by_name (Jaroslav Kysela) [2065575] - ASoC: simple-card: fix probe failure on platform component (Jaroslav Kysela) [2065575] - ASoC: xilinx: xlnx_formatter_pcm: Make buffer bytes multiple of period bytes (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Add support for hibernate memory retention mode (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Update handling of test key registers (Jaroslav Kysela) [2065575] - ASoC: wcd9335: Keep a RX port value for each SLIM RX mux (Jaroslav Kysela) [2065575] - ASoC: amd: acp: acp-mach: Change default RT1019 amp dev id (Jaroslav Kysela) [2065575] - ASoC: topology: Fix typo (Jaroslav Kysela) [2065575] - ASoC: fsl_asrc: refine the check of available clock divider (Jaroslav Kysela) [2065575] - ASoC: Intel: bytcr_rt5640: Add support for external GPIO jack-detect (Jaroslav Kysela) [2065575] - ASoC: Intel: bytcr_rt5640: Support retrieving the codec IRQ from the AMCR0F28 ACPI dev (Jaroslav Kysela) [2065575] - ASoC: rt5640: Add support for boards with an external jack-detect GPIO (Jaroslav Kysela) [2065575] - ASoC: rt5640: Allow snd_soc_component_set_jack() to override the codec IRQ (Jaroslav Kysela) [2065575] - ASoC: rt5640: Change jack_work to a delayed_work (Jaroslav Kysela) [2065575] - ASoC: rt5640: Fix possible NULL pointer deref on resume (Jaroslav Kysela) [2065575] - ASoC: ak4375: Fix unused function error (Jaroslav Kysela) [2065575] - ASoC: cs4265: Add a remove() function (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Correct handling of some registers in the cache (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Correct DSP power down (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Remove incorrect comment (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Add cs35l51/53 IDs (Jaroslav Kysela) [2065575] - ASoC: fsl_mqs: fix MODULE_ALIAS (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Create shared function for boost configuration (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Create shared function for setting channels (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Create shared function for errata patches (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Move power initializations to reg_sequence (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Move cs35l41_otp_unpack to shared code (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Convert tables to shared source code (Jaroslav Kysela) [2065575] - ASoC: samsung: idma: Check of ioremap return value (Jaroslav Kysela) [2065575] - ASoC: cs4265: Fix part number ID error message (Jaroslav Kysela) [2065575] - ALSA/ASoC: hda: move/rename snd_hdac_ext_stop_streams to hdac_stream.c (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Power on/off the speaker enable gpio pin based on DAPM callback. (Jaroslav Kysela) [2065575] - ASoC: mediatek: mt8173: reduce log verbosity in probe() (Jaroslav Kysela) [2065575] - ASoC: mediatek: mt8183: fix device_node leak (Jaroslav Kysela) [2065575] - ASoC: mediatek: mt8173: fix device_node leak (Jaroslav Kysela) [2065575] - ASoC: Intel/SOF: use set_stream() instead of set_tdm_slots() for HDAudio (Jaroslav Kysela) [2065575] - ASoC/soundwire: intel: simplify callbacks for params/hw_free (Jaroslav Kysela) [2065575] - ASOC: SOF: Intel: use snd_soc_dai_get_widget() (Jaroslav Kysela) [2065575] - ASoC: msm8916-wcd-analog: Use separate outputs for HPH_L/HPH_R (Jaroslav Kysela) [2065575] - ASoC: qcom: common: Parse "pin-switches" and "widgets" from DT (Jaroslav Kysela) [2065575] - ASoC: core: Add snd_soc_of_parse_pin_switches() from simple-card-utils (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: Use DEBUG log level for optional prints (Jaroslav Kysela) [2065575] - ASoC: SOF: debug: Use DEBUG log level for optional prints (Jaroslav Kysela) [2065575] - ASoC: SOF: Add clarifying comments for sof_core_debug and DSP dump flags (Jaroslav Kysela) [2065575] - ASoC: SOF: Rename snd_sof_get_status() and add kernel log level parameter (Jaroslav Kysela) [2065575] - ASoC: SOF: dsp_arch_ops: add kernel log level parameter for oops and stack (Jaroslav Kysela) [2065575] - ASoC: SOF: ops: Always print DSP Panic message but use different message (Jaroslav Kysela) [2065575] - ASoc: SOF: core: Update the FW boot state transition diagram (Jaroslav Kysela) [2065575] - ASoC: SOF: pm: Force DSP off on suspend in BOOT_FAILED state also (Jaroslav Kysela) [2065575] - ASoC: SOF: Set SOF_FW_BOOT_FAILED in case we have failure during boot (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Only allow sending of an IPC in SOF_FW_BOOT_COMPLETE state (Jaroslav Kysela) [2065575] - ASoC: SOF: Rename 'enum snd_sof_fw_state' to 'enum sof_fw_state' (Jaroslav Kysela) [2065575] - ASoC: SOF: Move the definition of enum snd_sof_fw_state to global header (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce new firmware state: SOF_FW_BOOT_READY_OK (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce new firmware state: SOF_FW_CRASHED (Jaroslav Kysela) [2065575] - ASoC: SOF: Add a 'message' parameter to snd_sof_dsp_dbg_dump() (Jaroslav Kysela) [2065575] - ASoC: SOF: Add 'non_recoverable' parameter to snd_sof_dsp_panic() (Jaroslav Kysela) [2065575] - ASoC: SOF: Use sof_debug_check_flag() instead of sof_core_debug directly (Jaroslav Kysela) [2065575] - ASoC: SOF: core: Add simple wrapper to check flags in sof_core_debug (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-loader: Avoid re-defining the HDA_FW_BOOT_ATTEMPTS (Jaroslav Kysela) [2065575] - ASoC: SOF: ops: Use dev_warn() if the panic offsets differ (Jaroslav Kysela) [2065575] - ASoC: codecs: ak4375: Change invert controls to a stereo switch (Jaroslav Kysela) [2065575] - ASoC: Add AK4375 support (Jaroslav Kysela) [2065575] - ASoC: bcm: Use platform_get_irq() to get the interrupt (Jaroslav Kysela) [2065575] - ASoC: xlnx: Use platform_get_irq() to get the interrupt (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Remove duplicate dependency in Kconfig (Jaroslav Kysela) [2065575] - ASoC: SOF: AMD: simplify return status handling (Jaroslav Kysela) [2065575] - ASoC: amd: acp-config: Update sof_tplg_filename for SOF machines (Jaroslav Kysela) [2065575] - ASoC: amd: acp-config: Enable SOF audio for Google chrome boards. (Jaroslav Kysela) [2065575] - ASoC: sunxi: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: samsung: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: rockchip: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: qcom: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: mxs: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: img: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: generic: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: ti: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: ateml: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: tlv320aic31xx: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: ssm2305: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: simple-amplifier: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: sgtl5000: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: pcm3168a: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: max9860: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: max9759: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: es7241: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: ak4118: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: Intel: catpt: Streamline locals declaration for PCM-functions (Jaroslav Kysela) [2065575] - ASoC: Intel: catpt: Reduce size of catpt_component_open() (Jaroslav Kysela) [2065575] - ASoC: tegra20: spdif: Improve driver's code (Jaroslav Kysela) [2065575] - ASoC: tegra20: spdif: Support device-tree (Jaroslav Kysela) [2065575] - ASoC: tegra20: spdif: Set FIFO trigger level (Jaroslav Kysela) [2065575] - ASoC: SOF: Kconfig: Make the SOF_DEVELOPER_SUPPORT depend on SND_SOC_SOF (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Add null pointer check for substream->runtime (Jaroslav Kysela) [2065575] - ASoC: SOF: avoid casting "const" attribute away (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: remove support for RESUME in platform trigger (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: remove support for RESUME trigger (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: remove support for RESUME trigger (Jaroslav Kysela) [2065575] - ASoC: tegra20-spdif: stop setting slave_id (Jaroslav Kysela) [2065575] - ASoC: AMD: fix depend/select mistake on SND_AMD_ACP_CONFIG (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: read back control data from DSP (Jaroslav Kysela) [2065575] - ASoC: SOF: Drop ctrl_type parameter for snd_sof_ipc_set_get_comp_data() (Jaroslav Kysela) [2065575] - ASoC: SOF: control: Do not handle control notification with component type (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-audio: Drop the `cmd` member from struct snd_sof_control (Jaroslav Kysela) [2065575] - ASoC: SOF: Drop ctrl_cmd parameter for snd_sof_ipc_set_get_comp_data() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Set control_data->cmd alongside scontrol->cmd (Jaroslav Kysela) [2065575] - ASoC: SOF: Drop ipc_cmd parameter for snd_sof_ipc_set_get_comp_data() (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Rename send parameter in snd_sof_ipc_set_get_comp_data() (Jaroslav Kysela) [2065575] - ASoC: rt5663: Handle device_property_read_u32_array error codes (Jaroslav Kysela) [2065575] - ASoC: SOF: OF: Avoid reverse module dependency (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-probes: Constify sof_probe_compr_ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Remove pm_runtime_put_autosuspend() for SOF OF device (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: add comment on JasperLake support (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-dai: remove unused fields (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: add quirks for HDAudio DMA position information (Jaroslav Kysela) [2065575] - ASoC: SOF: hda-stream: only enable DPIB if needed (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-ctrl: apply symmetry for DPIB (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-stream: limit PROCEN workaround (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: ICL: move ICL-specific ops to icl.c (Jaroslav Kysela) [2065575] - ASoC: test-component: fix null pointer dereference. (Jaroslav Kysela) [2065575] - ASoC: amd: Convert to new style DAI format definitions (Jaroslav Kysela) [2065575] - ASoC: AMD: acp-config: fix missing dependency on SND_SOC_ACPI (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: Move rt1015 speaker amp to common file (Jaroslav Kysela) [2065575] - ASoC: rt5682s: add delay time to fix pop sound issue (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: add 'static' qualifiers for max98390 routes (Jaroslav Kysela) [2065575] - ASoC: amd: acp6x-pdm-dma: Constify static snd_soc_dai_ops (Jaroslav Kysela) [2065575] - ASoC: ti: davinci-mcasp: Get rid of duplicate of_node assignment (Jaroslav Kysela) [2065575] - ASoC: zl38060: Setup parent device and get rid of unnecessary of_node assignment (Jaroslav Kysela) [2065575] - ASoC: test-component: fix null pointer dereference. (Jaroslav Kysela) [2065575] - sound/soc: remove useless bool conversion to bool variable (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix undefined reference to core functions (Jaroslav Kysela) [2065575] - ASoC: rt5640: Fix the wrong state of the JD in the HDA header (Jaroslav Kysela) [2065575] - ASoC: codecs: wcd934x: remove redundant ret variable (Jaroslav Kysela) [2065575] - ASoC: tegra: Add master volume/mute control support (Jaroslav Kysela) [2065575] - ASoC: Intel: Skylake: Use NHLT API to search for blob (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: add max98390 2/4 speakers support (Jaroslav Kysela) [2065575] - ASoC: intel: boards: bytcht*: Constify static snd_soc_ops (Jaroslav Kysela) [2065575] - ASoC: Intel: hda_dsp_common: don't multiline PCM topology warning (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: tidyup soc_pcm_pointer()'s delay update method (Jaroslav Kysela) [2065575] - ASoC: intel: sst-mfld-platform-pcm: add .delay support (Jaroslav Kysela) [2065575] - ASoC: amd: acp-pcm-dma: add .delay support (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Use pR/pa to print resources/physical addresses (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix link problem (Jaroslav Kysela) [2065575] - ASoC: codecs/jz4770: Add missing gain control after DAC/ADC mixer (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: send DAI_CONFIG IPC during pause (Jaroslav Kysela) [2065575] - ASoC: SOF: IPC: dai: Expand DAI_CONFIG IPC flags (Jaroslav Kysela) [2065575] - ASoC: SOF: align the hw_free sequence with stop (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: move the check for prepared flag (Jaroslav Kysela) [2065575] - ASoC: SOF: Add a helper for freeing PCM stream (Jaroslav Kysela) [2065575] - ASoC: SOF: call platform hw_free for paused streams during suspend (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: invoke platform hw_free for STOP/SUSPEND triggers (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: reset stream before coupling host and link DMA's (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: Add a helper function for stream reset (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: clear stream before freeing the DAI widget (Jaroslav Kysela) [2065575] - ASoC: rt5640: Add the HDA header support (Jaroslav Kysela) [2065575] - ASoC: uniphier: drop selecting non-existing SND_SOC_UNIPHIER_AIO_DMA (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add missing of_node_put() in platform_parse_resource() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: don't use list_for_each_entry_reverse() (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: add .ack support for HDaudio platforms (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: add .ack callback support (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-pci-dev: use community key on all Up boards (Jaroslav Kysela) [2065575] - ASoC: stm32: spdifrx: add pm_runtime support (Jaroslav Kysela) [2065575] - ASoC: stm32: dfsdm: add pm_runtime support for audio (Jaroslav Kysela) [2065575] - ASoC: stm32: i2s: add pm_runtime support (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: free DAI widget during stop and suspend (Jaroslav Kysela) [2065575] - ASoC: SOF: add support for dynamic pipelines with multi-core (Jaroslav Kysela) [2065575] - ASoC: SOF: hda: don't use the core op for power up/power down (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: remove sof_load_pipeline_ipc() (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: CNL/ICL/APL: set core_get/core_put ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: TGL: set core_get/put ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Add ops for core_get and core_put (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce num_cores and ref count per core (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: expose get_chip_info() (Jaroslav Kysela) [2065575] - ASoC: SOF: imx8m: Implement reset callback (Jaroslav Kysela) [2065575] - ASoC: SOF: imx8m: Implement DSP start (Jaroslav Kysela) [2065575] - ASoC: SOF: imx8m: Add runtime PM / System PM support (Jaroslav Kysela) [2065575] - ASoC: SOF: imx8: Add runtime PM / System PM support (Jaroslav Kysela) [2065575] - ASoC: SOF: imx: Add code to manage DSP related clocks (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add DSP system PM callback for mt8195 (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add mt8195 dsp clock support (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add dai driver dsp ops callback for mt8195 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add mt8195 device descriptor (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add fw loader and mt8195 dsp ops to load firmware (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Add support for Mediatek AFE DAI (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add mt8195 hardware support (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add support for SOF firmware authentication (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add trace logger support (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Add support for AMD ACP DAIs (Jaroslav Kysela) [2065575] - ASoC: amd: acp-config: Remove legacy acpi based machine struct (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add Renoir PCI driver interface (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add machine driver dsp ops for Renoir platform (Jaroslav Kysela) [2065575] - ASoC: amd: Add module to determine ACP configuration (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add PCM stream callback for Renoir dai's (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add dai driver dsp ops callback for Renoir (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add IPC support for ACP IP block (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add fw loader and renoir dsp ops to load firmware (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add helper callbacks for ACP's DMA configuration (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add Renoir ACP HW support (Jaroslav Kysela) [2065575] - ASoC: stm32: sai: increase channels_max limit (Jaroslav Kysela) [2065575] - ASoC: SOF: debug: Add support for IPC message injection (Jaroslav Kysela) [2065575] - ASoC: SOF: intel: Use the generic helper to get the reply (Jaroslav Kysela) [2065575] - ASoC: SOF: imx: Use the generic helper to get the reply (Jaroslav Kysela) [2065575] - ASoC: SOF: utils: Add generic function to get the reply for a tx message (Jaroslav Kysela) [2065575] - ASoC: SOF: i.MX: simplify Kconfig (Jaroslav Kysela) [2065575] - ASoC: SOF: core: Unregister machine driver before IPC and debugfs (Jaroslav Kysela) [2065575] - ASoC: adau1701: Replace legacy gpio interface for gpiod (Jaroslav Kysela) [2065575] - ASoC: Intel: add sof-nau8825 machine driver (Jaroslav Kysela) [2065575] - ASoC: cs35l41: DSP Support (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: add link adr order check (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: remove get_next_be_id (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: remove sof_sdw_mic_codec_mockup_init (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: remove SOF_RT715_DAI_ID_FIX quirk (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: move DMIC link id overwrite to create_sdw_dailink (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: Use a fixed DAI link id for AMP (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: rename be_index/link_id to link_index (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_sdw: add SKU for Dell Latitude 9520 (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: return the original error number (Jaroslav Kysela) [2065575] - ASoC: SOF: trace: send DMA_TRACE_FREE IPC during release (Jaroslav Kysela) [2065575] - ASoC: SOF: IPC: update ipc_log_header() (Jaroslav Kysela) [2065575] - ALSA: mtpav: Don't call card private_free at probe error path (Jaroslav Kysela) [2065575] - ALSA: virmidi: Remove duplicated code (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machine (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for TongFang devices with pop noise (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for the Framework Laptop (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Dell Latitude 7520 (Jaroslav Kysela) [2065575] - ALSA: hda - fix unused Realtek function when PM is not enabled (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Yoga Duet 7 13ITL6 speakers (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Enable mute/micmute LEDs support for HP Laptops (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix mute led issue on thinkpad with cs35l41 s-codec (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Clevo NP70PNP (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on EliteBook 845/865 G9 (Jaroslav Kysela) [2065575] - ALSA: hda/hdmi: add HDMI codec VID for Raptorlake-P (Jaroslav Kysela) [2065575] - ALSA: hda/hdmi: fix warning about PCM count when used with SOF (Jaroslav Kysela) [2065575] - ALSA: nm256: Don't call card private_free at probe error path (Jaroslav Kysela) [2065575] - ALSA: rme9652: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: hdspm: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: hdsp: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: oxygen: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: lx6464es: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: cmipci: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: aw2: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: als300: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: lola: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: bt87x: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: sis7019: Fix the missing error handling (Jaroslav Kysela) [2065575] - ALSA: via82xx: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: sonicvibes: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: rme96: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: rme32: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: riptide: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: maestro3: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: korg1212: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: intel8x0: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ice1724: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: fm801: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: es1968: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: es1938: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ens137x: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: emu10k1x: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: cs5535audio: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: cs4281: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ca0106: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: azt3328: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: au88x0: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: atiixp: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: als4000: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ali5451: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ad1889: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: echoaudio: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: add quirk for Lenovo Thinkpad X12 speakers (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Clevo PD50PNT (Jaroslav Kysela) [2065575] - ALSA: hda: Avoid unsol event during RPM suspending (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020 (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Add new Dolphin HW variants (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Disable HSBIAS_SENSE_EN for Cyborg (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Support new Warlock MLK Variants (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Fix Full Scale Volume setting for all variants (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Re-order quirk table into ascending order (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Fix Warlock to use mono mic configuration (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Enable headset mic on Lenovo P360 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add mute and micmut LED support for Zbook Fury 17 G9 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add alc256-samsung-headphone fixup (Jaroslav Kysela) [2065575] - ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix LED on Zbook Studio G9 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines (Jaroslav Kysela) [2065575] - ALSA: cmipci: Restore aux vol on suspend/resume (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for ASUS GA402 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671 (Jaroslav Kysela) [2065575] - ALSA: hda: Add AlderLake-PS variant PCI ID (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Clevo NP50PNJ (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Clevo NP70PNJ (Jaroslav Kysela) [2065575] - ALSA: lola: add a check for the return of vmalloc() (Jaroslav Kysela) [2065575] - ALSA: echoaudio: remove redundant assignment to variable bytes (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Make use of the helper component_compare_dev_name (Jaroslav Kysela) [2065575] - ALSA: hda/tegra: Update scratch reg. communication (Jaroslav Kysela) [2065575] - ALSA: hda/tegra: Hardcode GCAP ISS value on T234 (Jaroslav Kysela) [2065575] - ALSA: hda/tegra: Add Tegra234 hda driver support (Jaroslav Kysela) [2065575] - ALSA: hda: Expose codec cleanup and power-save functions (Jaroslav Kysela) [2065575] - ALSA: hda: Update and expose codec register procedures (Jaroslav Kysela) [2065575] - ALSA: hda: Update and expose snd_hda_codec_device_init() (Jaroslav Kysela) [2065575] - ALSA: hda/hdmi: add keep-alive support for ADL-P and DG2 (Jaroslav Kysela) [2065575] - ALSA: hda: Set max DMA segment size (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix deadlock by COEF mutex (Jaroslav Kysela) [2065575] - ALSA: hda: Fix missing codec probe on Shenker Dock 15 (Jaroslav Kysela) [2065575] - ALSA: hda: Fix regression on forced probe mask option (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Legion Y9000X 2019 (Jaroslav Kysela) [2065575] - ALSA: hda: Add PCI and HDMI IDs for Intel Raptor Lake (Jaroslav Kysela) [2065575] - ALSA: ca0106: Rename register macro names (Jaroslav Kysela) [2065575] - ALSA: hda: Fix driver index handling at re-binding (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add support for HP Laptops (Jaroslav Kysela) [2065575] - ALSA: hda: Skip codec shutdown in case the codec is not registered (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for ASUS GU603 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix silent output on Gigabyte X570 Aorus Xtreme after reboot from Windows (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix silent output on Gigabyte X570S Aorus Master (newer chipset) (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add missing fixup-model entry for Gigabyte X570 ALC1220 quirks (Jaroslav Kysela) [2065575] - ALSA: hda: realtek: Fix race at concurrent COEF updates (Jaroslav Kysela) [2065575] - ALSA: hda: Fix signedness of sscanf() arguments (Jaroslav Kysela) [2065575] - ALSA: hda: Fix UAF of leds class devs at unbinding (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Add new Warlock SKUs to patch_cs8409 (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Make cs35l41_hda_remove() return void (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Tidyup code (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Make use of the helper function dev_err_probe() (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Add missing default cases (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Move cs35l41* calls to its own symbol namespace (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Add calls to newly added test key function (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Avoid overwriting register patch (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: fix speakers and micmute on HP 855 G8 (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: fix double free on error in probe() (Jaroslav Kysela) [2065575] - ALSA: hda: Fix dependencies of CS35L41 on SPI/I2C buses (Jaroslav Kysela) [2065575] - ALSA: hda: Fix dependency on ASoC cs35l41 codec (Jaroslav Kysela) [2065575] - ALSA: hda: ALC287: Add Lenovo IdeaPad Slim 9i 14ITL5 speaker quirk (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add CS35L41 support for Thinkpad laptops (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add support for Legion 7 16ACHg6 laptop (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems (Jaroslav Kysela) [2065575] - MAINTAINERS: Update Cirrus Logic codec driver maintainers (Jaroslav Kysela) [2065575] - ASoC: dt-bindings: cs42l42: Convert binding to yaml (Jaroslav Kysela) [2065575] - dt-bindings: remove 'interrupt-parent' from bindings (Jaroslav Kysela) [2065575] - ASoC: dt-bindings: cs42l42: Correct description of ts-inv (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Add warnings about DETECT_MODE and PLL_START (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Handle system suspend (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Change jack_detect_mutex to a lock of all IRQ handling (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Report full jack status when plug is detected (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Remove redundant pll_divout member (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Simplify reporting of jack unplug (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Remove redundant writes to RS_PLUG/RS_UNPLUG masks (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Remove redundant writes to DETECT_MODE (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Add control for audio slow-start switch (Jaroslav Kysela) [2065575] - ALSA: mixart: Add sanity check for timer notify streams (Jaroslav Kysela) [2065575] - ALSA: mixart: Reduce size of mixart_timer_notify (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Restore Rane SL-1 quirk (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Don't get sample rate for MCT Trigger 5 USB-to-HDMI (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Clear MIDI port active flag after draining (Jaroslav Kysela) [2065575] - ALSA: usb-audio: add mapping for MSI MAG X570S Torpedo MAX. (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Limit max buffer and period sizes per time (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Increase max buffer size (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Cap upper limits of buffer/period bytes for implicit fb (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Fix undefined behavior due to shift overflowing the constant (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB (Jaroslav Kysela) [2065575] - ALSA: scarlett2: Add support for the internal "standalone" switch (Jaroslav Kysela) [2065575] - ALSA: scarlett2: Split scarlett2_config_items[] into 3 sections (Jaroslav Kysela) [2065575] - ALSA: usb-audio: add mapping for new Corsair Virtuoso SE (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Don't abort resume upon errors (Jaroslav Kysela) [2065575] - ALSA: usb-audio: revert to IMPLICIT_FB_FIXED_DEV for M-Audio FastTrack Ultra (Jaroslav Kysela) [2065575] - ALSA: usb-audio: remove redundant assignment to variable c (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Correct quirk for VF0770 (Jaroslav Kysela) [2065575] - ALSA: usb-audio: initialize variables that could ignore errors (Jaroslav Kysela) [2065575] - ALSA: usb-audio: scarlett2: Use struct_size() helper in scarlett2_usb() (Jaroslav Kysela) [2065575] - ALSA: fireworks: fix wrong return count shorter than expected by 4 bytes (Jaroslav Kysela) [2065575] - ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction (Jaroslav Kysela) [2065575] - ALSA: memalloc: Add fallback SG-buffer allocations for x86 (Jaroslav Kysela) [2065575] - ALSA: core: Add snd_card_free_on_error() helper (Jaroslav Kysela) [2065575] - ALSA: pcm: Test for "silence" field in struct "pcm_format_data" (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock (Jaroslav Kysela) [2065575] - ALSA: pcm: Add stream lock during PCM reset ioctl operations (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix races among concurrent prealloc proc writes (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix races among concurrent prepare and hw_params/hw_free calls (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix races among concurrent read/write and buffer changes (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix races among concurrent hw_params and hw_free calls (Jaroslav Kysela) [2065575] - ALSA: oss: Release temporary buffers upon errors (Jaroslav Kysela) [2065575] - ALSA: oss: Fix PCM OSS buffer allocation overflow (Jaroslav Kysela) [2065575] - ALSA: core: Fix typo in 'PCM Timer Interface' help (Jaroslav Kysela) [2065575] - ALSA: seq: oss: fix typo (Jaroslav Kysela) [2065575] - ALSA: seq: oss: use kzalloc (Jaroslav Kysela) [2065575] - ALSA: memalloc: invalidate SG pages before sync (Jaroslav Kysela) [2065575] - ALSA: memalloc: Fix dma_need_sync() checks (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: Fix DPCM lockdep warning due to nested stream locks (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: fix BE handling of PAUSE_RELEASE (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: test refcount before triggering (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: serialize BE triggers (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: Fix and cleanup DPCM locking (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: align BE 'atomicity' with that of the FE (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: use GFP_ATOMIC for dpcm structure (Jaroslav Kysela) [2065575] - ASoC: soc-component: add snd_soc_pcm_component_delay() (Jaroslav Kysela) [2065575] - ASoC: soc-dai: update snd_soc_dai_delay() to snd_soc_pcm_dai_delay() (Jaroslav Kysela) [2065575] - ALSA: core: Simplify snd_power_ref_and_wait() with the standard macro (Jaroslav Kysela) [2065575] - ALSA: seq: virmidi: Add a drain operation (Jaroslav Kysela) [2065575] - ASoC: dai_dma: remove slave_id field (Jaroslav Kysela) [2065575] - ALSA: seq: Set upper limit of processed events (Jaroslav Kysela) [2065575] - ALSA: oss: remove useless NULL check before kfree (Jaroslav Kysela) [2065575] - ALSA: pcm: introduce INFO_NO_REWINDS flag (Jaroslav Kysela) [2065575] - ALSA: pcm: unconditionally check if appl_ptr is in 0..boundary range (Jaroslav Kysela) [2065575] - Revert "ASoC: Intel: soc-acpi: add entries in ADL match table" (Jaroslav Kysela) [2065575] - devlink: hold the instance lock during eswitch_mode callbacks (Petr Oros) [2101715] - netdevsim: replace vfs_lock with devlink instance lock (Petr Oros) [2101715] - netdevsim: replace port_list_lock with devlink instance lock (Petr Oros) [2101715] - devlink: add explicitly locked flavor of the rate node APIs (Petr Oros) [2101715] - bnxt: use the devlink instance lock to protect sriov (Petr Oros) [2101715] - devlink: pass devlink_port to port_split / port_unsplit callbacks (Petr Oros) [2101715] - devlink: hold the instance lock in port_split / port_unsplit callbacks (Petr Oros) [2101715] - eth: mlxsw: switch to explicit locking for port registration (Petr Oros) [2101715] - eth: nfp: replace driver's "pf" lock with devlink instance lock (Petr Oros) [2101715] - eth: nfp: wrap locking assertions in helpers (Petr Oros) [2101715] - devlink: expose instance locking and add locked port registering (Petr Oros) [2101715] - ethtool: don't drop the rtnl_lock half way thru the ioctl (Petr Oros) [2101715] - ethtool: handle info/flash data copying outside rtnl_lock (Petr Oros) [2101715] - ethtool: push the rtnl_lock into dev_ethtool() (Petr Oros) [2101715] - mlxsw: reg: Remove PMTM register (Ivan Vecera) [2101715] - mlxsw: spectrum: Use PMTDB register to obtain split info (Ivan Vecera) [2101715] - mlxsw: reg: Add Port Module To local DataBase Register (Ivan Vecera) [2101715] - mlxsw: spectrum: Use PLLP to get front panel number and split number (Ivan Vecera) [2101715] - mlxsw: reg: Add Port Local port to Label Port mapping Register (Ivan Vecera) [2101715] - mlxsw: spectrum: Move port SWID set before core port init (Ivan Vecera) [2101715] - mlxsw: spectrum: Move port module mapping before core port init (Ivan Vecera) [2101715] - mlxsw: spectrum: Bump minimum FW version to xx.2008.3326 (Ivan Vecera) [2101715] - bpf: fix build error due to missing bpf_perf_event.h header (Desnes A. Nunes do Rosario) [1908140] - powerpc/bpf: Fix use of user_pt_regs in uapi (Desnes A. Nunes do Rosario) [1908140] - net: ena: Do not waste napi skb cache (Michal Schmidt) [2097644] - net: ena: Extract recurring driver reset code into a function (Michal Schmidt) [2097644] - net: ena: Change the name of bad_csum variable (Michal Schmidt) [2097644] - net: ena: Add debug prints for invalid req_id resets (Michal Schmidt) [2097644] - net: ena: Remove ena_calc_queue_size_ctx struct (Michal Schmidt) [2097644] - net: ena: Move reset completion print to the reset function (Michal Schmidt) [2097644] - net: ena: Remove redundant return code check (Michal Schmidt) [2097644] - net: ena: Change ENI stats support check to use capabilities field (Michal Schmidt) [2097644] - net: ena: Add capabilities field with support for ENI stats capability (Michal Schmidt) [2097644] - net: ena: Change return value of ena_calc_io_queue_size() to void (Michal Schmidt) [2097644] - powerpc/ptrace: replace ptrace_report_syscall() with a tracehook call (Desnes A. Nunes do Rosario) [1992947] - powerpc/ptrace: Add support for PTRACE_SYSEMU (Desnes A. Nunes do Rosario) [1992947] - selftests/powerpc: New PTRACE_SYSEMU test (Desnes A. Nunes do Rosario) [1992947] - powerpc: Redefine TIF_32BITS thread flag (Desnes A. Nunes do Rosario) [1992947] - redhat: fix libnl3-devel BuildRequires for intel-speed-select (Jarod Wilson)- redhat: enable mtty module for internal testing (Jarod Wilson) [2071992] - tools/power/x86/intel-speed-select: v1.12 release (Martin McConnell) [2072658] - tools/power/x86/intel-speed-select: HFI support (Martin McConnell) [2072658] - tools/power/x86/intel-speed-select: OOB daemon mode (Martin McConnell) [2072658] - tools/power/x86/intel-speed-select: v1.11 release (Martin McConnell) [2072658] - tools/power/x86/intel-speed-select: Update max frequency (Martin McConnell) [2072658] - Spec fixes for intel-speed-select (Martin McConnell) [2072658] - Add BuildRequires libnl3-devel for intel-speed-select (Martin McConnell) [2072658] - xfs: fix soft lockup via spinning in filestream ag selection loop (Brian Foster) [2033293] - net: ping6: Fix memleak in ipv6_renew_options(). (Ivan Vecera) [2112339] - Input: i8042 - Add quirk for Fujitsu Lifebook T725 (Benjamin Tissoires) [2019942] - HID: amd_sfh: Modify the hid name (Benjamin Tissoires) [2090040] - HID: amd_sfh: Modify the bus name (Benjamin Tissoires) [2090040] - HID: amd_sfh: Add support for sensor discovery (Benjamin Tissoires) [2090040] - igc: Reinstate IGC_REMOVED logic and implement it properly (Corinna Vinschen) [2037969] - intel/igc:fix repeated words in comments (Corinna Vinschen) [2037969] - intel: remove unused macros (Corinna Vinschen) [2037969] - igc: Change type of the 'igc_check_downshift' method (Corinna Vinschen) [2037969] - igc: Remove unused phy_type enum (Corinna Vinschen) [2037969] - igc: Remove igc_set_spd_dplx method (Corinna Vinschen) [2037969] - igc: Fix suspending when PTM is active (Corinna Vinschen) [2037969] - igc: Fix BUG: scheduling while atomic (Corinna Vinschen) [2037969 2014971] - igc: Fix infinite loop in release_swfw_sync (Corinna Vinschen) [2037969] - igc: igc_write_phy_reg_gpy: drop premature return (Corinna Vinschen) [2037969] - igc: igc_read_phy_reg_gpy: drop premature return (Corinna Vinschen) [2037969] - igc: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb (Corinna Vinschen) [2037969] - igc: Remove useless DMA-32 fallback configuration (Corinna Vinschen) [2037969] - igc: Fix TX timestamp support for non-MSI-X platforms (Corinna Vinschen) [2037969] - igc: Do not enable crosstimestamping for i225-V models (Corinna Vinschen) [2037969] - igc: switch to napi_build_skb() (Corinna Vinschen) [2037969] - igc: Remove obsolete define (Corinna Vinschen) [2037969] - igc: Remove obsolete mask (Corinna Vinschen) [2037969] - igc: Remove obsolete nvm type (Corinna Vinschen) [2037969] - igc: Remove unused phy type (Corinna Vinschen) [2037969] - igc: Remove unused _I_PHY_ID define (Corinna Vinschen) [2037969] - igc: enable XDP metadata in driver (Corinna Vinschen) [2037969] - intel_idle: Fix false positive RCU splats due to incorrect hardirqs state (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/spec_ctrl: Enable RHEL only ibrs_always & retpoline,ibrs_user spectre_v2 options (Waiman Long) [2090229] - KVM: emulate: do not adjust size of fastop and setcc subroutines (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/kvm: fix FASTOP_SIZE when return thunks are enabled (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - efi/x86: use naked RET on mixed mode call wrapper (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Remove apostrophe typo (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Use DECLARE_PER_CPU for x86_spec_ctrl_current (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/entry: Remove UNTRAIN_RET from native_irq_return_ldt (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Mark retbleed_strings static (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/asm/32: Fix ANNOTATE_UNRET_SAFE use on 32-bit (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Disable RRSBA behavior (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/kexec: Disable RET on kexec (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Do not enable IBPB-on-entry when IBPB is not supported (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Add Cannon lake to RETBleed affected CPU list (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - redhat/configs: Add new mitigation configs for RetBleed CVEs (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/retbleed: Add fine grained Kconfig knobs (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/cpu/amd: Enumerate BTC_NO (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/common: Stamp out the stepping madness (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Prevent RSB underflow before vmenter (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Fill RSB on vmexit for IBRS (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Fix IBRS handling after vmexit (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Convert launched argument to flags (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Flatten __vmx_vcpu_run() (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Remove x86_spec_ctrl_mask (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Use cached host SPEC_CTRL value for guest entry/exit (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Fix SPEC_CTRL write on SMT state change (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Fix firmware entry SPEC_CTRL handling (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/cpu/amd: Add Spectral Chicken (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Do IBPB fallback check only once (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Add retbleed=ibpb (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - objtool: Update Retpoline validation (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - intel_idle: Disable IBRS during long idle (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Report Intel retbleed vulnerability (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Split spectre_v2_select_mitigation() and spectre_v2_user_select_mitigation() (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Add spectre_v2=ibrs option to support Kernel IBRS (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Optimize SPEC_CTRL MSR writes (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/entry: Add kernel IBRS implementation (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Keep a per-CPU IA32_SPEC_CTRL value (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Enable STIBP for JMP2RET (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Add AMD retbleed= boot parameter (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Report AMD retbleed vulnerability (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86: Add magic AMD return-thunk (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86: Use return-thunk in asm code (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/sev: Avoid using __x86_return_thunk (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/vsyscall_emu/64: Don't use RET in vsyscall emulation (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/kvm: Fix SETcc emulation for return thunks (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bpf: Use alternative RET encoding (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/ftrace: Use alternative RET encoding (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86,objtool: Create .return_sites (Josh Poimboeuf) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86: Undo return-thunk damage (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/retpoline: Use -mfunction-return (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/retpoline: Swizzle retpoline thunk (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/retpoline: Cleanup some #ifdefery (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/cpufeatures: Move RETPOLINE flags to word 11 (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/kvm/vmx: Make noinstr clean (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - arch/x86/boot/compressed: Add -D__DISABLE_EXPORTS to kbuild flags (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86: (Ab)use __DISABLE_EXPORTS to disable RETHUNK in real mode (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/entry: Remove skip_r11rcx (Waiman Long) [2090229] - cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE (Waiman Long) [2090229] - x86/speculation/srbds: Do not try to turn mitigation off when not supported (Waiman Long) [2090229] - x86/ibt,paravirt: Use text_gen_insn() for paravirt_patch() (Waiman Long) [2090229] - x86/text-patching: Make text_gen_insn() play nice with ANNOTATE_NOENDBR (Waiman Long) [2090229] - x86/module: Fix the paravirt vs alternative order (Waiman Long) [2090229] - x86: Add straight-line-speculation mitigation (Waiman Long) [2090229] - x86: Prepare inline-asm for straight-line-speculation (Waiman Long) [2090229] - x86: Prepare asm files for straight-line-speculation (Waiman Long) [2090229] - x86: Use -mindirect-branch-cs-prefix for RETPOLINE builds (Waiman Long) [2090229] - x86: Move RETPOLINE*_CFLAGS to arch Makefile (Waiman Long) [2090229] - x86/entry: Add a fence for kernel entry SWAPGS in paranoid_entry() (Waiman Long) [2090229] - Makefile: remove stale cc-option checks (Waiman Long) [2090229] - tools headers: Remove broken definition of __LITTLE_ENDIAN (Waiman Long) [2090229] - tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy' (Waiman Long) [2090229] - x86: Add insn_decode_kernel() (Waiman Long) [2090229] - tools/insn: Restore the relative include paths for cross building (Waiman Long) [2090229] - x86/alternative: Use insn_decode() (Waiman Long) [2090229] - x86/insn: Add an insn_decode() API (Waiman Long) [2090229] - x86/insn: Rename insn_decode() to insn_decode_from_regs() (Waiman Long) [2090229] - x86/paravirt: Add new features for paravirt patching (Waiman Long) [2090229] - x86/alternative: Support not-feature (Waiman Long) [2090229] - x86/alternative: Merge include files (Waiman Long) [2090229] - objtool: Fix error handling for STD/CLD warnings (Waiman Long) [2090229] - x86/alternatives: Teach text_poke_bp() to emulate RET (Waiman Long) [2090229] - x86/ftrace: Have ftrace trampolines turn read-only at the end of system boot up (Waiman Long) [2090229] - x86/speculation: Change FILL_RETURN_BUFFER to work with objtool (Waiman Long) [2090229] - objtool: Add support for intra-function calls (Waiman Long) [2090229] - objtool: Rework allocating stack_ops on decode (Waiman Long) [2090229] - objtool: Better handle IRET (Waiman Long) [2090229] - objtool: Support multiple stack_op per instruction (Waiman Long) [2090229] - objtool: Make BP scratch register warning more robust (Waiman Long) [2090229] - x86/kexec: Make relocate_kernel_64.S objtool clean (Waiman Long) [2090229] - objtool: Introduce validate_return() (Waiman Long) [2090229] - Makefile: disallow data races on gcc-10 as well (Waiman Long) [2090229] - objtool: Improve call destination function detection (Waiman Long) [2090229] - x86/alternatives: Implement a better poke_int3_handler() completion scheme (Waiman Long) [2090229] - lib/: fix Kconfig indentation (Waiman Long) [2090229] - x86/alternatives: Use INT3_INSN_SIZE (Waiman Long) [2090229] - x86/kprobes: Fix ordering while text-patching (Waiman Long) [2090229] - x86/kprobes: Convert to text-patching.h (Waiman Long) [2090229] - x86/alternative: Shrink text_poke_loc (Waiman Long) [2090229] - x86/alternative: Remove text_poke_loc::len (Waiman Long) [2090229] - x86/ftrace: Use text_gen_insn() (Waiman Long) [2090229] - x86/alternative: Add text_opcode_size() (Waiman Long) [2090229] - x86/ftrace: Use text_poke() (Waiman Long) [2090229] - x86/ftrace: Use vmalloc special flag (Waiman Long) [2090229] - x86/ftrace: Explicitly include vmalloc.h for set_vm_flush_reset_perms() (Waiman Long) [2090229] - x86/alternatives: Add and use text_gen_insn() helper (Waiman Long) [2090229] - x86/alternatives, jump_label: Provide better text_poke() batching interface (Waiman Long) [2090229] - x86/asm: Annotate relocate_kernel_{32,64}.c (Waiman Long) [2090229] - x86: kprobes: Prohibit probing on instruction which has emulate prefix (Waiman Long) [2090229] - x86: Correct misc typos (Waiman Long) [2090229] - x86/speculation/mds: Apply more accurate check on hypervisor platform (Waiman Long) [2090229] - objtool: Convert insn type to enum (Waiman Long) [2090229] - objtool: Track original function across branches (Waiman Long) [2090229] - objtool: Rename elf_open() to prevent conflict with libelf from elftoolchain (Waiman Long) [2090229] - x86/ftrace: Make enable parameter bool where applicable (Waiman Long) [2090229] - x86/CPU/AMD: Don't force the CPB cap when running under a hypervisor (Waiman Long) [2090229] - objtool: Fix function fallthrough detection (Waiman Long) [2090229] - x86/paravirt: Detect over-sized patching bugs in paravirt_patch_call() (Waiman Long) [2090229] - x86/cpu/amd: Exclude 32bit only assembler from 64bit build (Waiman Long) [2090229] - x86/asm: Mark all top level asm statements as .text (Waiman Long) [2090229] - x86/cpu/bugs: Use __initconst for 'const' init data (Waiman Long) [2090229] - objtool: Add Direction Flag validation (Waiman Long) [2090229] - objtool: Rewrite add_ignores() (Waiman Long) [2090229] - x86/nospec, objtool: Introduce ANNOTATE_IGNORE_ALTERNATIVE (Waiman Long) [2090229] - x86/ftrace: Fix warning and considate ftrace_jmp_replace() and ftrace_call_replace() (Waiman Long) [2090229] - kbuild: Disable extra debugging info in .s output (Waiman Long) [2090229] - x86/CPU/AMD: Set the CPB bit unconditionally on F17h (Waiman Long) [2090229] - x86/alternatives: Print containing function (Waiman Long) [2090229] - x86/ftrace: Do not call function graph from dynamic trampolines (Waiman Long) [2090229] - ftrace: Create new ftrace_internal.h header (Waiman Long) [2090229] - kprobes/x86: Fix instruction patching corruption when copying more than one RIP-relative instruction (Waiman Long) [2090229] - tracing/Makefile: Fix handling redefinition of CC_FLAGS_FTRACE (Waiman Long) [2090229] - x86/paravirt: Remove unused paravirt bits (Waiman Long) [2090229] - x86/paravirt: Remove clobbers parameter from paravirt patch functions (Waiman Long) [2090229] - x86/paravirt: Make paravirt_patch_call() and paravirt_patch_jmp() static (Waiman Long) [2090229] - x86/l1tf: Fix build error seen if CONFIG_KVM_INTEL is disabled (Waiman Long) [2090229] - ftrace: Remove unused pointer ftrace_swapper_pid (Waiman Long) [2090229] - x86/spec_ctrl: Temporarily remove RHEL specific IBRS code (Waiman Long) [2090229] - net: bonding: fix use-after-free after 802.3ad slave unbind (Jonathan Toppins) [2109327] - net: bonding: fix possible NULL deref in rlb code (Jonathan Toppins) [2109327] - bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers (Jonathan Toppins) [2109327] - bonding: do not discard lowest hash bit for non layer3+4 hashing (Jonathan Toppins) [2109327] - bonding: helper macro __ATTR_RO to make code more clear (Jonathan Toppins) [2109327] - bonding: force carrier update when releasing slave (Jonathan Toppins) [2109327] - bonding: fix data-races around agg_select_timer (Jonathan Toppins) [2109327] - bonding: switch bond_net_exit() to batch mode (Jonathan Toppins) [2109327] - bonding: pair enable_port with slave_arr_updates (Jonathan Toppins) [2109327] - net: bonding: fix bond_xmit_broadcast return value error bug (Jonathan Toppins) [2109327] - tracing: Show size of requested perf buffer (Michael Petlan) [2103836] - tracing: Increase PERF_MAX_TRACE_SIZE to handle Sentinel1 and docker together (Michael Petlan) [2103836] - drivers/base/memory: determine and store zone for single-zone memory blocks (David Hildenbrand) [1997803] - drivers/base/node: rename link_mem_sections() to register_memory_block_under_node() (David Hildenbrand) [1997803] - drivers/base/node: consolidate node device subsystem initialization in node_dev_init() (David Hildenbrand) [1997803] - drivers/base/memory: introduce memory_block_{online,offline} (David Hildenbrand) [1997803] - mm/memory_hotplug: remove stale function declarations (David Hildenbrand) [1997803] - mm/memory_hotplug: remove HIGHMEM leftovers (David Hildenbrand) [1997803] - redhat/configs: remove CONFIG_MEMORY_HOTPLUG_SPARSE (David Hildenbrand) [1997803] - mm/memory_hotplug: restrict CONFIG_MEMORY_HOTPLUG to 64 bit (David Hildenbrand) [1997803] - mm/memory_hotplug: remove CONFIG_MEMORY_HOTPLUG_SPARSE (David Hildenbrand) [1997803] - mm/memory_hotplug: remove CONFIG_X86_64_ACPI_NUMA dependency from CONFIG_MEMORY_HOTPLUG (David Hildenbrand) [1997803] - memory: remove unused CONFIG_MEM_BLOCK_SIZE (David Hildenbrand) [1997803] - mm/memory_hotplug: disable the functionality for 32b (David Hildenbrand) [1997803] - include/linux/memory.h: drop fields 'hw' and 'phys_callback' from struct memory_block (David Hildenbrand) [1997803] - iommu/vt-d: Fix PCI bus rescan device hot add (Jerry Snitselaar) [2101591] - iommu/vt-d: Fix RID2PASID setup/teardown failure (Jerry Snitselaar) [2101591]- cifs: support share failover when remounting (Ronnie Sahlberg) [2095258] - cifs: avoid starvation when refreshing dfs cache (Ronnie Sahlberg) [2095258] - cifs: fix path comparison and hash calc (Ronnie Sahlberg) [2095258] - cifs: handle different charsets in dfs cache (Ronnie Sahlberg) [2095258] - spi: amd: Limit max transfer and message size (Sudheesh Mavila) [2047996] - redhat/configs: enable CONFIG_SPI_AMD for x86_64 (Sudheesh Mavila) [2047996] - spi: amd: Fix building without ACPI enabled (Sudheesh Mavila) [2047996] - spi: amd: Add support for version AMDI0062 (Sudheesh Mavila) [2047996] - spi: amd: Remove needless rom_addr variable (Sudheesh Mavila) [2047996] - spi: amd: Use iopoll for busy waiting (Sudheesh Mavila) [2047996] - spi: amd: Don't wait for a write-only transfer to finish (Sudheesh Mavila) [2047996] - spi: amd: Remove unneeded variable (Sudheesh Mavila) [2047996] - spi: amd: Refactor amd_spi_busy_wait (Sudheesh Mavila) [2047996] - spi: amd: Refactor code to use less spi_master_get_devdata (Sudheesh Mavila) [2047996] - spi: amd: Use devm_platform_ioremap_resource() in amd_spi_probe (Sudheesh Mavila) [2047996] - spi: spi-amd: Do not define 'struct acpi_device_id' when !CONFIG_ACPI (Sudheesh Mavila) [2047996] - spi: amd: Drop superfluous member from struct amd_spi (Sudheesh Mavila) [2047996] - spi: amd: Fix refcount underflow on remove (Sudheesh Mavila) [2047996] - spi: amd: Drop duplicate driver data assignments (Sudheesh Mavila) [2047996] - spi: amd: Pass probe errors back to driver core (Sudheesh Mavila) [2047996] - spi: amd: Fix duplicate iounmap in error path (Sudheesh Mavila) [2047996] - spi: spi-amd: Fix a NULL vs IS_ERR() check in amd_spi_probe() (Sudheesh Mavila) [2047996] - spi: spi-amd: fix warning (Sudheesh Mavila) [2047996] - spi: spi-amd: Add AMD SPI controller driver support (Sudheesh Mavila) [2047996] - selftests/tc-testings: Be compatible with newer tc output (Hangbin Liu) [2100322] - selftests/net: enable lo.accept_local in psock_snd test (Hangbin Liu) [2100322] - selftests/net: Use kselftest skip code for skipped tests (Hangbin Liu) [2100322] - Bluetooth: SCO: Fix sco_send_frame returning skb->len (Gopal Tiwari) [1984641] - Bluetooth: Add bt_skb_sendmsg helper (Gopal Tiwari) [1984641] - Bluetooth: SCO: Replace use of memcpy_from_msg with bt_skb_sendmsg (Gopal Tiwari) [1984641] - Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg() (Gopal Tiwari) [1984641] - platform/mellanox: mlxbf-pmc: Fix an IS_ERR() vs NULL bug in mlxbf_pmc_map_counters (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-lc: fix error code in mlxreg_lc_create_static_devices() (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-lc: Add initial support for Nvidia line card devices (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-io: Extend number of hwmon attributes (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-hotplug: Extend logic for hotplug devices operations (Mark Langsdorf) [2068297] - platform_data/mlxreg: Add new type to support modular systems (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-io: Fix read access of n-bytes size attributes (Mark Langsdorf) [2068297] - platform/mellanox: mlxbf-pmc: fix kernel-doc notation (Mark Langsdorf) [2068297] - platform/mellanox: Typo fix in the file mlxbf-bootctl.c (Mark Langsdorf) [2068297] - redhat/configs: Support QAT devices for x86 only (Vladis Dronov) [2040724] - crypto: qat - expose device config through sysfs for 4xxx (Vladis Dronov) [2040724] - crypto: qat - relocate and rename adf_sriov_prepare_restart() (Vladis Dronov) [2040724] - crypto: qat - change behaviour of adf_cfg_add_key_value_param() (Vladis Dronov) [2040724] - crypto: qat - expose device state through sysfs for 4xxx (Vladis Dronov) [2040724] - crypto: qat - Removes the x86 dependency on the QAT drivers (Vladis Dronov) [2040724] - crypto: qat - replace get_current_node() with numa_node_id() (Vladis Dronov) [2040724] - crypto: qat - add support for 401xx devices (Vladis Dronov) [2040724] - crypto: qat - re-enable registration of algorithms (Vladis Dronov) [2040724] - crypto: qat - honor CRYPTO_TFM_REQ_MAY_SLEEP flag (Vladis Dronov) [2040724] - crypto: qat - add param check for DH (Vladis Dronov) [2040724] - crypto: qat - add param check for RSA (Vladis Dronov) [2040724] - crypto: qat - remove dma_free_coherent() for DH (Vladis Dronov) [2040724] - crypto: qat - remove dma_free_coherent() for RSA (Vladis Dronov) [2040724] - crypto: qat - fix memory leak in RSA (Vladis Dronov) [2040724] - crypto: qat - add backlog mechanism (Vladis Dronov) [2040724] - crypto: qat - refactor submission logic (Vladis Dronov) [2040724] - crypto: qat - use pre-allocated buffers in datapath (Vladis Dronov) [2040724] - crypto: qat - set to zero DH parameters before free (Vladis Dronov) [2040724] - crypto: qat - Fix unsigned function returning negative constant (Vladis Dronov) [2040724] - crypto: qat - remove line wrapping for pfvf_ops functions (Vladis Dronov) [2040724] - crypto: qat - use u32 variables in all GEN4 pfvf_ops (Vladis Dronov) [2040724] - crypto: qat - replace disable_vf2pf_interrupts() (Vladis Dronov) [2040724] - crypto: qat - leverage the GEN2 VF mask definiton (Vladis Dronov) [2040724] - crypto: qat - rework the VF2PF interrupt handling logic (Vladis Dronov) [2040724] - crypto: qat - fix off-by-one error in PFVF debug print (Vladis Dronov) [2040724] - crypto: qat - fix wording and formatting in code comment (Vladis Dronov) [2040724] - crypto: qat - test PFVF registers for spurious interrupts on GEN4 (Vladis Dronov) [2040724] - crypto: qat - add check for invalid PFVF protocol version 0 (Vladis Dronov) [2040724] - crypto: qat - add missing restarting event notification in VFs (Vladis Dronov) [2040724] - crypto: qat - remove unnecessary tests to detect PFVF support (Vladis Dronov) [2040724] - crypto: qat - remove unused PFVF stubs (Vladis Dronov) [2040724] - crypto: qat - remove unneeded braces (Vladis Dronov) [2040724] - crypto: qat - fix ETR sources enabled by default on GEN2 devices (Vladis Dronov) [2040724] - crypto: qat - set COMPRESSION capability for DH895XCC (Vladis Dronov) [2040724] - crypto: qat - set CIPHER capability for DH895XCC (Vladis Dronov) [2040724] - crypto: qat - stop using iommu_present() (Vladis Dronov) [2040724] - crypto: qat - fix initialization of pfvf rts_map_msg structures (Vladis Dronov) [2040724] - crypto: qat - fix initialization of pfvf cap_msg structures (Vladis Dronov) [2040724] - crypto: qat - remove unneeded assignment (Vladis Dronov) [2040724] - crypto: qat - disable registration of algorithms (Vladis Dronov) [2040724] - crypto: qat - enable power management for QAT GEN4 (Vladis Dronov) [2040724] - crypto: qat - move and rename GEN4 error register definitions (Vladis Dronov) [2040724] - crypto: qat - add misc workqueue (Vladis Dronov) [2040724] - crypto: qat - don't cast parameter in bit operations (Vladis Dronov) [2040724] - crypto: qat - fix access to PFVF interrupt registers for GEN4 (Vladis Dronov) [2040724] - crypto: qat - fix a signedness bug in get_service_enabled() (Vladis Dronov) [2040724] - dlm: fix missing lkb refcount handling (Alexander Aring) [2084606] - scsi: storvsc: Fix unsigned comparison to zero (Mohammed Gamal) [2020774] - scsi: storvsc: Fix validation for unsolicited incoming packets (Mohammed Gamal) [2020774] - scsi: storvsc: Fix storvsc_queuecommand() memory leak (Mohammed Gamal) [2020774] - x86/kvm: Add kexec support for SEV Live Migration. (Mohammed Gamal) [2018614] - x86/kvm: Add guest support for detecting and enabling SEV Live Migration feature. (Mohammed Gamal) [2018614] - mm: x86: Invoke hypercall when page encryption status is changed (Mohammed Gamal) [2018614] - hv_netvsc: Fix potential dereference of NULL pointer (Mohammed Gamal) [2086611] - hv_netvsc: Add support for XDP_REDIRECT (Mohammed Gamal) [2086611] - hv_netvsc: Print value of invalid ID in netvsc_send_{completion,tx_complete}() (Mohammed Gamal) [2086611] - net: hyperv: remove use of bpf_op_t (Mohammed Gamal) [2086611] - hv_netvsc: Add check for kvmalloc_array (Mohammed Gamal) [2086611] - net: netvsc: remove break after return (Mohammed Gamal) [2086611] - hv_netvsc: Use bitmap_zalloc() when applicable (Mohammed Gamal) [2086611] - SMB3: EBADF/EIO errors in rename/open caused by race condition in smb2_compound_op (Ronnie Sahlberg) [2108871] - vsock/virtio: enable VQs early on probe (Stefano Garzarella) [2107594] - vsock/virtio: initialize vdev->priv before using VQs (Stefano Garzarella) [2107594] - vsock: each transport cycles only on its own sockets (Stefano Garzarella) [2107594] - vhost/vsock: don't check owner in vhost_vsock_stop() while releasing (Stefano Garzarella) [2107594] - vsock: remove vsock from connected table when connect is interrupted by a signal (Stefano Garzarella) [2107594] - ipv6: take care of disable_policy when restoring routes (Andrea Claudi) [2103894] - tools/testing/nvdimm: Fix security_init() symbol collision (Jeff Moyer) [2096791] - redhat: make kernel-devel pkgs Requires elfutils and gcc (Jarod Wilson) [1701282] - xhci: Fix null pointer dereference in resume if xhci has only one roothub (Dean Nelson) [2061791] - usb: dwc3: gadget: Move null pinter check to proper place (Dean Nelson) [2061791] - xhci: Don't defer primary roothub registration if there is only one roothub (Dean Nelson) [2061791] - USB: serial: pl2303: fix type detection for odd device (Dean Nelson) [2061791] - media: pvrusb2: fix array-index-out-of-bounds in pvr2_i2c_core_init (Dean Nelson) [2061791] - usb: xhci-mtk: remove bandwidth budget table (Dean Nelson) [2061791] - usb: xhci-mtk: fix fs isoc's transfer error (Dean Nelson) [2061791] - xhci: Allow host runtime PM as default for Intel Alder Lake N xHCI (Dean Nelson) [2061791] - xhci: prevent U2 link power state if Intel tier policy prevented U1 (Dean Nelson) [2061791] - xhci: use generic command timer for stop endpoint commands. (Dean Nelson) [2061791] - usb: host: xhci-plat: omit shared hcd if either root hub has no ports (Dean Nelson) [2061791] - usb: host: xhci-plat: prepare operation w/o shared hcd (Dean Nelson) [2061791] - usb: host: xhci-plat: create shared hcd after having added main hcd (Dean Nelson) [2061791] - xhci: prepare for operation w/o shared hcd (Dean Nelson) [2061791] - xhci: factor out parts of xhci_gen_setup() (Dean Nelson) [2061791] - xhci: Set HCD flag to defer primary roothub registration (Dean Nelson) [2061791] - usb: core: hcd: Add support for deferring roothub registration (Dean Nelson) [2061791] - thunderbolt: Fix buffer allocation of devices with no DisplayPort adapters (Dean Nelson) [2061791] - media: uvcvideo: Fix bit overflow in uvc_probe_video (Dean Nelson) [2061791] - media: uvcvideo: Fix missing check to determine if element is found in list (Dean Nelson) [2061791] - usb: typec: tcpci: Don't skip cleanup in .remove() on error (Dean Nelson) [2061791] - usb: cdc-wdm: fix reading stuck on device close (Dean Nelson) [2061791] - thunderbolt: Ignore port locked error in tb_port_wait_for_link_width() (Dean Nelson) [2061791] - thunderbolt: Add debug logging when lane is enabled/disabled (Dean Nelson) [2061791] - usb: dwc3: gadget: Return proper request status (Dean Nelson) [2061791] - usb: typec: mux: Check dev_set_name() return value (Dean Nelson) [2061791] - usb: dwc3: pci: Fix pm_runtime_get_sync() error checking (Dean Nelson) [2061791] - usb: dwc3: gadget: Replace list_for_each_entry_safe() if using giveback (Dean Nelson) [2061791] - usb: dwc3: core: Only handle soft-reset in DCTL (Dean Nelson) [2061791] - usb: dwc3: Try usb-role-switch first in dwc3_drd_init (Dean Nelson) [2061791] - usb: dwc3: core: Fix tx/rx threshold settings (Dean Nelson) [2061791] - USB: storage: karma: fix rio_karma_init return (Dean Nelson) [2061791] - xhci: Enable runtime PM on second Alderlake controller (Dean Nelson) [2061791] - usb: misc: fix improper handling of refcount in uss720_probe() (Dean Nelson) [2061791] - usb: typec: ucsi: Fix role swapping (Dean Nelson) [2061791] - usb: typec: ucsi: Fix reuse of completion structure (Dean Nelson) [2061791] - thunderbolt: Use different lane for second DisplayPort tunnel (Dean Nelson) [2061791] - thunderbolt: Dump path config space entries during discovery (Dean Nelson) [2061791] - thunderbolt: Use decimal number with port numbers (Dean Nelson) [2061791] - xhci: increase usb U3 -> U0 link resume timeout from 100ms to 500ms (Dean Nelson) [2061791] - xhci: stop polling roothubs after shutdown (Dean Nelson) [2061791] - USB: Fix xhci event ring dequeue pointer ERDP update issue (Dean Nelson) [2061791] - USB: storage: ums-realtek: fix error code in rts51x_read_mem() (Dean Nelson) [2061791] - usb: early: xhci-dbc: Fix xdbc number parsing (Dean Nelson) [2061791] - usb: early: xhci-dbc: Remove duplicate keep parsing (Dean Nelson) [2061791] - USB: serial: pl2303: fix GS type detection (Dean Nelson) [2061791] - usb: host: xhci: Remove some unnecessary return value initializations (Dean Nelson) [2061791] - usb: host: xhci: add blank line in xhci_halt() (Dean Nelson) [2061791] - usb: host: xhci: update hci_version operation in xhci_gen_setup() (Dean Nelson) [2061791] - usb: host: xhci: fix a comment typo in xhci_mem_init() (Dean Nelson) [2061791] - usb: host: xhci: use ffs() in xhci_mem_init() (Dean Nelson) [2061791] - xhci: fix runtime PM imbalance in USB2 resume (Dean Nelson) [2061791] - xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx() (Dean Nelson) [2061791] - xhci: fix garbage USBSTS being logged in some cases (Dean Nelson) [2061791] - xhci: make xhci_handshake timeout for xhci_reset() adjustable (Dean Nelson) [2061791] - xhci: omit mem read just after allocation of trb (Dean Nelson) [2061791] - Revert "USB: serial: ch341: add new Product ID for CH341A" (Dean Nelson) [2061791] - usb: xhci: fix minmax.cocci warnings (Dean Nelson) [2061791] - usb: host: xhci: drop redundant checks (Dean Nelson) [2061791] - xhci: Allocate separate command structures for each LPM command (Dean Nelson) [2061791] - xhci: dbgtty: use IDR to support several dbc instances. (Dean Nelson) [2061791] - xhci: dbc: Don't call dbc_tty_init() on every dbc tty probe (Dean Nelson) [2061791] - xhci: dbc: Rename xhci_dbc_init and xhci_dbc_exit (Dean Nelson) [2061791] - xhci: dbc: create and remove dbc structure in dbgtty driver. (Dean Nelson) [2061791] - xhci: dbc: refactor xhci_dbc_init() (Dean Nelson) [2061791] - usb: dwc3: pci: Fix Bay Trail phy GPIO mappings (Dean Nelson) [2061791] - xhci: Prevent futile URB re-submissions due to incorrect return value. (Dean Nelson) [2061791] - xhci: re-initialize the HC during resume if HCE was set (Dean Nelson) [2061791] - usb: dwc3: pci: Add "snps,dis_u2_susphy_quirk" for Intel Bay Trail (Dean Nelson) [2061791] - usb: dwc3: pci: add support for the Intel Raptor Lake-S (Dean Nelson) [2061791] - usb: xhci-mtk: add support ip-sleep wakeup for mt8195 (Dean Nelson) [2061791] - usb: dwc3: gadget: Prevent core from processing stale TRBs (Dean Nelson) [2061791] - thunderbolt: Replace acpi_bus_get_device() (Dean Nelson) [2061791] - thunderbolt: Add internal xHCI connect flows for Thunderbolt 3 devices (Dean Nelson) [2061791] - thunderbolt: Add missing device ID to tb_switch_is_alpine_ridge() (Dean Nelson) [2061791] - thunderbolt: Disable LTTPR on Intel Titan Ridge (Dean Nelson) [2061791] - usb: ulpi: Call of_node_put correctly (Dean Nelson) [2061791] - usb: ulpi: Move of_node_put to ulpi_dev_release (Dean Nelson) [2061791] - usb: xhci-mtk: Use struct_size() helper in create_sch_ep() (Dean Nelson) [2061791] - usb: common: ulpi: Fix crash in ulpi_match() (Dean Nelson) [2061791] - usb: typec: tcpm: Do not disconnect when receiving VSAFE0V (Dean Nelson) [2061791] - usb: typec: tcpm: Do not disconnect while receiving VBUS off (Dean Nelson) [2061791] - xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set. (Dean Nelson) [2061791] - usb: typec: tcpci: don't touch CC line if it's Vconn source (Dean Nelson) [2061791] - thunderbolt: Remove useless DMA-32 fallback configuration (Dean Nelson) [2061791] - media: uvcvideo: Support devices that report an OT as an entity source (Dean Nelson) [2061791] - Revert "media: uvcvideo: Support devices that report an OT as an entity source" (Dean Nelson) [2061791] - thunderbolt: Add module parameter for CLx disabling (Dean Nelson) [2061791] - thunderbolt: Enable CL0s for Intel Titan Ridge (Dean Nelson) [2061791] - thunderbolt: Rename Intel TB_VSE_CAP_IECS capability (Dean Nelson) [2061791] - thunderbolt: Implement TMU time disruption for Intel Titan Ridge (Dean Nelson) [2061791] - thunderbolt: Move usb4_switch_wait_for_bit() to switch.c (Dean Nelson) [2061791] - thunderbolt: Add CL0s support for USB4 routers (Dean Nelson) [2061791] - thunderbolt: Add TMU uni-directional mode (Dean Nelson) [2061791] - xhci: use max() to make code cleaner (Dean Nelson) [2061791] - usb: ftdi-elan: fix memory leak on device disconnect (Dean Nelson) [2061791] - Revert "usb: early: convert to readl_poll_timeout_atomic()" (Dean Nelson) [2061791] - usb: typec: tcpm: fix tcpm unregister port but leave a pending timer (Dean Nelson) [2061791] - thunderbolt: Check return value of kmemdup() in icm_handle_event() (Dean Nelson) [2061791] - media: dw2102: Fix use after free (Dean Nelson) [2061791] - USB: serial: cp210x: fix CP2105 GPIO registration (Dean Nelson) [2061791] - usb: xhci-mtk: fix list_del warning when enable list debug (Dean Nelson) [2061791] - usb: core: config: fix validation of wMaxPacketValue entries (Dean Nelson) [2061791] - xhci: avoid race between disable slot command and host runtime suspend (Dean Nelson) [2061791] - xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime suspending (Dean Nelson) [2061791] - thunderbolt: Do not dereference fwnode in struct device (Dean Nelson) [2061791] - thunderbolt: Add debug logging of DisplayPort resource allocation (Dean Nelson) [2061791] - thunderbolt: Do not program path HopIDs for USB4 routers (Dean Nelson) [2061791] - thunderbolt: Do not allow subtracting more NFC credits than configured (Dean Nelson) [2061791] - thunderbolt: Runtime resume USB4 port when retimers are scanned (Dean Nelson) [2061791] - thunderbolt: Tear down existing tunnels when resuming from hibernate (Dean Nelson) [2061791] - thunderbolt: Runtime PM activate both ends of the device link (Dean Nelson) [2061791] - thunderbolt: xdomain: Avoid potential stack OOB read (Dean Nelson) [2061791] - media: uvcvideo: fix division by zero at stream start (Dean Nelson) [2061791] - usb: typec: tcpm: Wait in SNK_DEBOUNCED until disconnect (Dean Nelson) [2061791] - xhci: Fix commad ring abort, write all 64 bits to CRCR register. (Dean Nelson) [2061791] - usb: dwc3: gadget: Skip reading GEVNTSIZn (Dean Nelson) [2061791] - usb: dwc3: gadget: Ignore Update Transfer cmd params (Dean Nelson) [2061791] - usb: dwc3: gadget: Skip checking Update Transfer status (Dean Nelson) [2061791] - usb: hub: Fix locking issues with address0_mutex (Dean Nelson) [2061791] - media: dib0700: Only touch one bit when start/stop an adapter (Dean Nelson) [2061791] - media: dib0700: cleanup start/stop streaming logic (Dean Nelson) [2061791] - media: dib0700: fix undefined behavior in tuner shutdown (Dean Nelson) [2061791] - media: s2255: fix control-message timeouts (Dean Nelson) [2061791] - media: pvrusb2: fix control-message timeouts (Dean Nelson) [2061791] - media: flexcop-usb: fix control-message timeouts (Dean Nelson) [2061791] - usb: hub: Fix usb enumeration issue due to address0 race (Dean Nelson) [2061791] - usb: typec: fusb302: Fix masking of comparator and bc_lvl interrupts (Dean Nelson) [2061791] - usb: dwc3: gadget: Fix null pointer exception (Dean Nelson) [2061791] - usb: dwc3: gadget: Check for L1/L2/U3 for Start Transfer (Dean Nelson) [2061791] - usb: dwc3: gadget: Ignore NoStream after End Transfer (Dean Nelson) [2061791] - usb: xhci-mtk: fix random remote wakeup (Dean Nelson) [2061791] - usb: xhci-mtk: remove unnecessary error check (Dean Nelson) [2061791] - USB: serial: keyspan: fix memleak on probe errors (Dean Nelson) [2061791] - USB: iowarrior: fix control-message timeouts (Dean Nelson) [2061791] - usb: dwc3: gadget: Skip resizing EP's TX FIFO if already resized (Dean Nelson) [2061791] - usb: dwc3: gadget: Change to dev_dbg() when queuing to inactive gadget/ep (Dean Nelson) [2061791] - xhci: Enable trust tx length quirk for Fresco FL11 USB controller (Dean Nelson) [2061791] - xhci: Fix command ring pointer corruption while aborting a command (Dean Nelson) [2061791] - USB: xhci: dbc: fix tty registration race (Dean Nelson) [2061791] - xhci: add quirk for host controllers that don't update endpoint DCS (Dean Nelson) [2061791] - xhci: guard accesses to ep_state in xhci_endpoint_reset() (Dean Nelson) [2061791] - media: usb: dvd-usb: fix uninit-value bug in dibusb_read_eeprom_byte() (Dean Nelson) [2061791] - USB: cdc-acm: fix break reporting (Dean Nelson) [2061791] - USB: cdc-acm: fix racy tty buffer accesses (Dean Nelson) [2061791] - usb: typec: tcpm: handle SRC_STARTUP state if cc changes (Dean Nelson) [2061791] - usb: typec: tcpci: don't handle vSafe0V event if it's not enabled (Dean Nelson) [2061791] - usb: xhci-mtk: use xhci_dbg() to print log (Dean Nelson) [2061791] - media: mxl111sf: change mutex_init() location (Dean Nelson) [2061791] - media: tm6000: Avoid card name truncation (Dean Nelson) [2061791] - media: gspca: Limit frame size to sizeimage. (Dean Nelson) [2061791] - media: uvcvideo: Don't spam the log in uvc_ctrl_restore_values() (Dean Nelson) [2061791] - media: uvcvideo: Increase the size of UVC_METADATA_BUF_SIZE (Dean Nelson) [2061791] - media: uvcvideo: Return -EIO for control errors (Dean Nelson) [2061791] - media: uvcvideo: Remove unused including (Dean Nelson) [2061791] - media: m5602_ov7660: remove the repeated declaration (Dean Nelson) [2061791] - media: dvb-usb: fix ununit-value in az6027_rc_query (Dean Nelson) [2061791] - thunderbolt: Fix -Wrestrict warning (Dean Nelson) [2061791] - USB: serial: cp210x: fix dropped characters with CP2102 (Dean Nelson) [2061791] - usb: dwc3: gadget: Avoid starting DWC3 gadget during UDC unbind (Dean Nelson) [2061791] - USB: serial: option: remove duplicate USB device ID (Dean Nelson) [2061791] - USB: serial: mos7840: remove duplicated 0xac24 device ID (Dean Nelson) [2061791] - USB: cdc-acm: fix minor-number release (Dean Nelson) [2061791] - usb: dwc3: reference clock period configuration (Dean Nelson) [2061791] - usb: xhci-mtk: allow bandwidth table rollover (Dean Nelson) [2061791] - usb: xhci-mtk: modify the SOF/ITP interval for mt8195 (Dean Nelson) [2061791] - usb: xhci-mtk: add a member of num_esit (Dean Nelson) [2061791] - usb: xhci-mtk: check boundary before check tt (Dean Nelson) [2061791] - usb: xhci-mtk: update fs bus bandwidth by bw_budget_table (Dean Nelson) [2061791] - usb: xhci-mtk: support option to disable usb2 ports (Dean Nelson) [2061791] - usb: xhci-mtk: fix use-after-free of mtk->hcd (Dean Nelson) [2061791] - usb: dwc3: pci: add support for AMD's newer generation platform. (Dean Nelson) [2061791] - xhci: Add bus number to some debug messages (Dean Nelson) [2061791] - xhci: Add additional dynamic debug to follow URBs in cancel and error cases. (Dean Nelson) [2061791] - Revert "USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set" (Dean Nelson) [2061791] - xhci: Fix failure to give back some cached cancelled URBs. (Dean Nelson) [2061791] - xhci: fix even more unsafe memory usage in xhci tracing (Dean Nelson) [2061791] - xhci: fix unsafe memory usage in xhci tracing (Dean Nelson) [2061791] - usb: typec: tcpm: Support non-PD mode (Dean Nelson) [2061791] - USB: serial: cp210x: determine fw version for CP2105 and CP2108 (Dean Nelson) [2061791] - USB: serial: cp210x: clean up type detection (Dean Nelson) [2061791] - USB: serial: cp210x: clean up set-chars request (Dean Nelson) [2061791] - USB: serial: cp210x: clean up control-request timeout (Dean Nelson) [2061791] - USB: serial: cp210x: fix flow-control error handling (Dean Nelson) [2061791] - USB: serial: cp210x: fix control-characters error handling (Dean Nelson) [2061791] - tty: drop put_tty_driver (Dean Nelson) [2061791] - media: dvb-usb: fix uninit-value in vp702x_read_mac_addr (Dean Nelson) [2061791] - media: dvb-usb: fix uninit-value in dvb_usb_adapter_dvb_init (Dean Nelson) [2061791] - usb: renesas-xhci: Remove renesas_xhci_pci_exit() (Dean Nelson) [2061791] - usb: dwc3: Resize TX FIFOs to meet EP bursting requirements (Dean Nelson) [2061791] - memstick: rtsx_usb_ms: fix UAF (Dean Nelson) [2061791] - usb: dwc3: gadget: Clear DEP flags after stop transfers in ep disable (Dean Nelson) [2061791] - usb: dwc3: gadget: Set gadget_max_speed when set ssp_rate (Dean Nelson) [2061791] - usb: dwc3: gadget: Prevent EP queuing while stopping transfers (Dean Nelson) [2061791] - media: lmedm04: Fix misuse of comma (Dean Nelson) [2061791] - media: tm6000: Fix memleak in tm6000_start_stream (Dean Nelson) [2061791] - usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup (Dean Nelson) [2061791] - memstick: Skip allocating card when removing host (Dean Nelson) [2061791] - USB: Replace zero-length array with flexible-array member (Dean Nelson) [2061791] - USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd (Dean Nelson) [2061791] - Revert "[usb] USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd" (Dean Nelson) [2061791] - memstick: rtsx_usb_ms: Support runtime power management (Dean Nelson) [2061791] - memstick: rtsx_usb_ms: Use ms_dev() helper (Dean Nelson) [2061791] - memstick: Prevent memstick host from getting runtime suspended during card detection (Dean Nelson) [2061791] - misc: rtsx_usb: Use USB remote wakeup signaling for card insertion detection (Dean Nelson) [2061791] - memstick: rtsx_usb_ms: Add missing pm_runtime_disable() in probe function (Dean Nelson) [2061791]- RDMA/qedr: Fix reporting QP timeout attribute (Kamal Heib) [2083620] - NFSD: Handle COPYer - Not suppored in RHEL8 (Benjamin Coddington) [2108628] - NFSD add ca_source_server<> to COPY (Benjamin Coddington) [2108628] - NFS NFSD: defining nl4_servers structure needed by both (Benjamin Coddington) [2108628] - fix backport powerpc/uaccess: get rid of small constant size cases in raw_copy_{to,from}_user() (Diego Domingos) [2106984] - bpf: Enable bpf_ktime_get_coarse_ns helper (Viktor Malik) [2105133] - kernel/resource: Introduce request_mem_region_muxed() (Sudheesh Mavila) [2047999] - i2c: piix4: Enable EFCH MMIO for Family 17h+ (Sudheesh Mavila) [2047999] - i2c: piix4: Add EFCH MMIO support for SMBus port select (Sudheesh Mavila) [2047999] - i2c: piix4: Add EFCH MMIO support to SMBus base address detect (Sudheesh Mavila) [2047999] - i2c: piix4: Add EFCH MMIO support to region request and release (Sudheesh Mavila) [2047999] - i2c: piix4: Move SMBus port selection into function (Sudheesh Mavila) [2047999] - i2c: piix4: Move SMBus controller base address detect into function (Sudheesh Mavila) [2047999] - i2c: piix4: Move port I/O region request/release code into functions (Sudheesh Mavila) [2047999] - i2c: piix4: Replace hardcoded memory map size with a #define (Sudheesh Mavila) [2047999] - i2c: piix4: Detect secondary SMBus controller on AMD AM4 chipsets (Sudheesh Mavila) [2047999] - i2c: piix4: Add ACPI support (Sudheesh Mavila) [2047999] - i2c: piix4: Fix probing of reserved ports on AMD Family 16h Model 30h (Sudheesh Mavila) [2047999] - i2c: piix4: Fix port selection for AMD Family 16h Model 30h (Sudheesh Mavila) [2047999] - i2c-piix4: Add Hygon Dhyana SMBus support (Sudheesh Mavila) [2047999] - tracing: Remove WARN_ON in start_thread() (Jerome Marchand) [2090967] - net: usb: Fix spelling mistakes (José Ignacio Tornos Martínez) [1984353] - net: usb: cdc_ether: record speed in status method (José Ignacio Tornos Martínez) [1984353] - net: usb: usbnet: add method for reporting speed without MII (José Ignacio Tornos Martínez) [1984353] - e1000e: Fix possible overflow in LTR decoding (Ken Cox) [2037965] - e1000e: Print PHY register address when MDI read/write fails (Ken Cox) [2037965] - e1000e: Correct NVM checksum verification flow (Ken Cox) [2037965] - e1000e: Fix possible HW unit hang after an s0ix exit (Ken Cox) [2037965 2049952] - e1000e: Handshake with CSME starts from ADL platforms (Ken Cox) [2037965 2049952] - e1000e: Separate ADP board type from TGP (Ken Cox) [2037965 2049952] - e1000e: Remove useless DMA-32 fallback configuration (Ken Cox) [2037965] - e1000e: Remove redundant statement (Ken Cox) [2037965] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ken Cox) [2037965] - net: e1000e: solve insmod 'Unknown symbol mutex_lock' error (Ken Cox) [2037965] - RDMA/irdma: Add SW mechanism to generate completions on error (Kamal Heib) [2100316] - RDMA/irdma: Remove the redundant variable (Kamal Heib) [2100316] - RDMA/irdma: Add support for DSCP (Kamal Heib) [2100316] - RDMA/irdma: Use irq_update_affinity_hint() (Kamal Heib) [2100316] - RDMA/irdma: Set protocol based on PF rdma_mode flag (Kamal Heib) [2100316 2096481] - virtio-ring: fix DMA metadata flags (Cindy Lu) [1969742] - virtio_ring: fix typos in vring_desc_extra (Jason Wang) [1969742] - virtio-ring: store DMA metadata in desc_extra for split virtqueue (Jason Wang) [1969742] - virtio: use err label in __vring_new_virtqueue() (Jason Wang) [1969742] - virtio_ring: introduce virtqueue_desc_add_split() (Jason Wang) [1969742] - virtio_ring: secure handling of mapping errors (Jason Wang) [1969742] - virtio-ring: factor out desc_extra allocation (Jason Wang) [1969742] - virtio_ring: rename vring_desc_extra_packed (Jason Wang) [1969742] - virtio-ring: maintain next in extra state for packed virtqueue (Jason Wang) [1969742] - drivers/base: fix userspace break from using bin_attributes for cpumap and cpulist (Phil Auld) [2089715] - rpminspect: disable abidiff scanning (Jarod Wilson)- Netvsc: Call hv_unmap_memory() in the netvsc_device_remove() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Release cpu lock in error case (Mohammed Gamal) [2086613] - Drivers: hv: Fix syntax errors in comments (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Don't assign VMbus channel interrupts to isolated CPUs (Mohammed Gamal) [2086613] - hv_balloon: Fix balloon_probe() and balloon_remove() error handling (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: fix typo in comment (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Remove support for Hyper-V 2008 and Hyper-V 2008R2/Win7 (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Refactor the ring-buffer iterator functions (Mohammed Gamal) [2086613] - hv_sock: Copy packets sent by Hyper-V out of the ring buffer (Mohammed Gamal) [2086613] - hv_sock: Check hv_pkt_iter_first_raw()'s return value (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Accept hv_sock offers in isolated guests (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Introduce {lock,unlock}_requestor() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Introduce vmbus_request_addr_match() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Introduce vmbus_sendpacket_getid() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Fix handling of messages with transaction ID of zero (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Add VMbus IMC device to unsupported list (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Replace smp_store_mb() with virt_store_mb() (Mohammed Gamal) [2086613] - Drivers: hv: balloon: Disable balloon and hot-add accordingly (Mohammed Gamal) [2086613] - Drivers: hv: balloon: Support status report for larger page sizes (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Prevent load re-ordering when reading ring buffer (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Fix potential crash on module unload (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Fix initialization of device object in vmbus_device_register() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Deactivate sysctl_record_panic_msg by default in isolated guests (Mohammed Gamal) [2086613] - drivers: hv: log when enabling crash_kexec_post_notifiers (Mohammed Gamal) [2086613] - Drivers: hv: utils: Make use of the helper macro LIST_HEAD() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Rework use of DMA_BIT_MASK(64) (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Fix memory leak in vmbus_add_channel_kobj (Mohammed Gamal) [2086613] - Drivers: hv: Compare cpumasks and not their weights in init_vp_index() (Mohammed Gamal) [2086613] - Drivers: hv: Rename 'alloced' to 'allocated' (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Use struct_size() helper in kmalloc() (Mohammed Gamal) [2086613] - Drivers: hv: balloon: account for vmbus packet header in max_pkt_size (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Initialize request offers message for Isolation VM (Mohammed Gamal) [2086613] - Drivers: hv: Fix definition of hypercall input & output arg variables (Mohammed Gamal) [2086613] - net: netvsc: Add Isolation VM support for netvsc driver (Mohammed Gamal) [2086613] - scsi: storvsc: Add Isolation VM support for storvsc driver (Mohammed Gamal) [2086613] - Drivers: hv : vmbus: Adding NULL pointer check (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Remove unused code to check for subchannels (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Initialize VMbus ring buffer for Isolation VM (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Add SNP support for VMbus channel initiate message (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Mark vmbus ring buffer visible to host in Isolation VM (Mohammed Gamal) [2086613] - SUNRPC: Don't leak sockets in xs_local_connect() (Jeffrey Layton) [2089429] - SUNRPC: clean up some inconsistent indenting (Jeffrey Layton) [2089429] - SUNRPC: Ensure we flush any closed sockets before xs_xprt_free() (Jeffrey Layton) [2089429] - SUNRPC: Don't call connect() more than once on a TCP socket (Jeffrey Layton) [2089429] - net: openvswitch: fix misuse of the cached connection on tuple changes (Timothy Redaelli) [2099213] - sfc: fix considering that all channels have TX queues (Íñigo Huguet) [1851823] - sfc: fix wrong tx channel offset with efx_separate_tx_channels (Íñigo Huguet) [1851823] - intel/igb:fix repeated words in comments (Corinna Vinschen) [2037959] - igb: remove unexpected word "the" (Corinna Vinschen) [2037959] - igb: Make DMA faster when CPU is active on the PCIe link (Corinna Vinschen) [2037959] - igb: fix a use-after-free issue in igb_clean_tx_ring (Corinna Vinschen) [2037959] - igb: Remove duplicate defines (Corinna Vinschen) [2037959] - igb: skip phy status check where unavailable (Corinna Vinschen) [2037959] - igb: Convert kmap() to kmap_local_page() (Corinna Vinschen) [2037959] - igb: zero hwtstamp by default (Corinna Vinschen) [2037959] - igb: Remove useless DMA-32 fallback configuration (Corinna Vinschen) [2037959] - PCI: Work around Intel I210 ROM BAR overlap defect (Corinna Vinschen) [2037959] - igb: support EXTTS on 82580/i354/i350 (Corinna Vinschen) [2037959] - igb: support PEROUT on 82580/i354/i350 (Corinna Vinschen) [2037959] - igb: move PEROUT and EXTTS isr logic to separate functions (Corinna Vinschen) [2037959] - igb: move SDP config initialization to separate function (Corinna Vinschen) [2037959] - igb: switch to napi_build_skb() (Corinna Vinschen) [2037959] - igb: remove never changed variable `ret_val' (Corinna Vinschen) [2037959] - NFSv4: Add an fattr allocation to _nfs4_discover_trunking() (Scott Mayhew) [2096393] - sunrpc: set cl_max_connect when cloning an rpc_clnt (Scott Mayhew) [2096393] - NFSv4.1 mark qualified async operations as MOVEABLE tasks (Scott Mayhew) [2096393] - powerpc/rtas: Allow ibm,platform-dump RTAS call with null buffer address (Desnes A. Nunes do Rosario) [2095041] - audit: free module name (Richard Guy Briggs) [2100259] - bfq: fix blkio cgroup leakage v4 (Ming Lei) [2093206] - scsi: scsi_dh_alua: Properly handle the ALUA transitioning state (Ewan D. Milne) [1992870] - mm: sparse: remove __section_nr() function (Mark Langsdorf) [2067280] - mm: sparse: pass section_nr to find_memory_block (Mark Langsdorf) [2067280] - mm: sparse: pass section_nr to section_mark_present (Mark Langsdorf) [2067280] - headers/uninline: Uninline single-use function: kobject_has_children() (Mark Langsdorf) [2067280] - arch_topology: Do not set llc_sibling if llc_id is invalid (Mark Langsdorf) [2067280] - topology: make core_mask include at least cluster_siblings (Mark Langsdorf) [2067280] - regmap: allow a defined reg_base to be added to every address (Mark Langsdorf) [2067280] - regmap: add configurable downshift for addresses (Mark Langsdorf) [2067280] - drivers/base/dd.c : Remove the initial value of the global variable (Mark Langsdorf) [2067280] - devres: fix typos in comments (Mark Langsdorf) [2067280] - base: soc: Make soc_device_match() simpler and easier to read (Mark Langsdorf) [2067280] - driver core: Refactor sysfs and drv/bus remove hooks (Mark Langsdorf) [2067280] - driver core: Refactor multiple copies of device cleanup (Mark Langsdorf) [2067280] - arch_topology: obtain cpu capacity using information from CPPC (Mark Langsdorf) [2067280] - PM: core: keep irq flags in device_pm_check_callbacks() (Mark Langsdorf) [2067280] - PM: sleep: Add device name to suspend_report_result() (Mark Langsdorf) [2067280] - PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend() (Mark Langsdorf) [2067280] - PM: sleep: wakeup: Fix typos in comments (Mark Langsdorf) [2067280] - PM: domains: Fix sleep-in-atomic bug caused by genpd_debug_remove() (Mark Langsdorf) [2067280] - PM: domains: use dev_err_probe() to simplify error handling (Mark Langsdorf) [2067280] - PM: domains: Prevent power off for parent unless child is in deepest state (Mark Langsdorf) [2067280] - driver core: cleanup double words comments (Mark Langsdorf) [2067280] - device property: Don't split fwnode_get_irq*() APIs in the code (Mark Langsdorf) [2067280] - regmap: irq: cleanup comments (Mark Langsdorf) [2067280] - platform: use dev_err_probe() in platform_get_irq_byname() (Mark Langsdorf) [2067280] - devtmpfs: drop redundant fs parameters from internal fs (Mark Langsdorf) [2067280] - component: Replace most references to 'master' with 'aggregate device' (Mark Langsdorf) [2067280] - device property: Add fwnode_irq_get_byname (Mark Langsdorf) [2067280] - regmap-irq: Fix typo in comment (Mark Langsdorf) [2067280] - driver core: Free DMA range map when device is released (Mark Langsdorf) [2067280] - regmap-irq: Update interrupt clear register for proper reset (Mark Langsdorf) [2067280] - PM: s2idle: ACPI: Fix wakeup interrupts handling (Mark Langsdorf) [2067280] - devtmpfs regression fix: reconfigure on each mount (Mark Langsdorf) [2067280] - regmap: debugfs: Fix indentation (Mark Langsdorf) [2067280] - regmap: Call regmap_debugfs_exit() prior to _init() (Mark Langsdorf) [2067280] - driver core: Make bus notifiers in right order in really_probe() (Mark Langsdorf) [2067280] - driver core: Move driver_sysfs_remove() after driver_sysfs_add() (Mark Langsdorf) [2067280] - driver core: Simplify async probe test code by using ktime_ms_delta() (Mark Langsdorf) [2067280] - PM: runtime: Simplify locking in pm_runtime_put_suppliers() (Mark Langsdorf) [2067280] - software node: fix wrong node passed to find nargs_prop (Mark Langsdorf) [2067280] - driver core: platform: document registration-failure requirement (Mark Langsdorf) [2067280] - device property: Add fwnode_iomap() (Mark Langsdorf) [2067280] - device property: Use fwnode_graph_for_each_endpoint() macro (Mark Langsdorf) [2067280] - device property: Implement fwnode_graph_get_endpoint_count() (Mark Langsdorf) [2067280] - device property: Fix documentation for FWNODE_GRAPH_DEVICE_DISABLED (Mark Langsdorf) [2067280] - rtc: Check return value from mc146818_get_time() (Mark Langsdorf) [2067280] - device property: Check fwnode->secondary when finding properties (Mark Langsdorf) [2067280] - topology/sysfs: rework book and drawer topology ifdefery (Mark Langsdorf) [2067280] - topology/sysfs: export cluster attributes only if an architectures has support (Mark Langsdorf) [2067280] - topology/sysfs: export die attributes only if an architectures has support (Mark Langsdorf) [2067280] - driver core: Don't call device_remove_properties() from device_del() (Mark Langsdorf) [2067280] - regmap: allow to define reg_update_bits for no bus configuration (Mark Langsdorf) [2067280] - platform/x86: amd-pmc: Set QOS during suspend on CZN w/ timer wakeup (Mark Langsdorf) [2067250] - PM: sleep: Fix error handling in dpm_prepare() (Mark Langsdorf) [2067250] - PM: sleep: Avoid calling put_device() under dpm_list_mtx (Mark Langsdorf) [2067250] - PM: sleep: Fix runtime PM based cpuidle support (Mark Langsdorf) [2067250] - PM / wakeirq: support enabling wake-up irq after runtime_suspend called (Mark Langsdorf) [2067250] - device property: Drop redundant NULL checks (Mark Langsdorf) [2067250] - PM: sleep: Pause cpuidle later and resume it earlier during system transitions (Mark Langsdorf) [2067250] - PM: suspend: Do not pause cpuidle in the suspend-to-idle path (Mark Langsdorf) [2067250] - regmap: spi: Set regmap max raw r/w from max_transfer_size (Mark Langsdorf) [2067250] - PM: sleep: Do not let "syscore" devices runtime-suspend during system transitions (Mark Langsdorf) [2067250] - component: do not leave master devres group open after bind (Mark Langsdorf) [2067250] - driver core: Provide device_match_acpi_handle() helper (Mark Langsdorf) [2067250] - regmap: Fix possible double-free in regcache_rbtree_exit() (Mark Langsdorf) [2067250] - device property: build kunit tests without structleak plugin (Mark Langsdorf) [2067250] - driver core: Reject pointless SYNC_STATE_ONLY device links (Mark Langsdorf) [2067250] - firmware_loader: add a sanity check for firmware_request_builtin() (Mark Langsdorf) [2067250] - firmware_loader: split built-in firmware call (Mark Langsdorf) [2067250] - firmware_loader: fix pre-allocated buf built-in firmware use (Mark Langsdorf) [2067250] - drivers/base/component.c: remove superfluous header files from component.c (Mark Langsdorf) [2067250] - drivers/base/arch_topology.c: remove superfluous header (Mark Langsdorf) [2067250] - driver core: use NUMA_NO_NODE during device_initialize (Mark Langsdorf) [2067250] - driver core: Fix possible memory leak in device_link_add() (Mark Langsdorf) [2067250] - driver core: Add debug logs when fwnode links are added/deleted (Mark Langsdorf) [2067250] - driver core: Create __fwnode_link_del() helper function (Mark Langsdorf) [2067250] - driver core: Set deferred probe reason when deferred by driver core (Mark Langsdorf) [2067250] - driver core: fw_devlink: Add support for FWNODE_FLAG_NEEDS_CHILD_BOUND_ON_ADD (Mark Langsdorf) [2067250] - driver core: Clarify that dev_err_probe() is OK even w/out -EPROBE_DEFER (Mark Langsdorf) [2067250] - driver core: fw_devlink: Improve handling of cyclic dependencies (Mark Langsdorf) [2067250] - software node: balance refcount for managed software nodes (Mark Langsdorf) [2067250] - driver core: platform: Make use of the helper macro SET_RUNTIME_PM_OPS() (Mark Langsdorf) [2067250] - PM: base: power: don't try to use non-existing RTC for storing data (Mark Langsdorf) [2067250] - PM: sleep: core: Avoid setting power.must_resume to false (Mark Langsdorf) [2067250] - PM: sleep: wakeirq: drop useless parameter from dev_pm_attach_wake_irq() (Mark Langsdorf) [2067250] - PM: domains: Fix domain attach for CONFIG_PM_OPP=n (Mark Langsdorf) [2067250] - PM: runtime: add devm_pm_clk_create helper (Mark Langsdorf) [2067250] - PM: runtime: add devm_pm_runtime_enable helper (Mark Langsdorf) [2067250] - regmap: teach regmap to use raw spinlocks if requested in the config (Mark Langsdorf) [2067250] - PM: domains: Add support for 'required-opps' to set default perf state (Mark Langsdorf) [2067250] - Revert "media: device property: Call fwnode_graph_get_endpoint_by_id() for fwnode->secondary" (Mark Langsdorf) [2067250] - driver: base: Prefer unsigned int to bare use of unsigned (Mark Langsdorf) [2067250] - cacheinfo: clear cache_leaves(cpu) in free_cache_attributes() (Mark Langsdorf) [2067250] - driver core: Fix error return code in really_probe() (Mark Langsdorf) [2067250] - driver: base: Replace symbolic permissions with octal permissions (Mark Langsdorf) [2067250] - regmap: Prefer unsigned int to bare use of unsigned (Mark Langsdorf) [2067250] - regmap: fix the offset of register error log (Mark Langsdorf) [2067250] - bpf: Fix request_sock leak in sk lookup helpers (Antoine Tenart) [2085313] - crypto: fips - make proc files report fips module name and version (Vladis Dronov) [2103966] - net: tipc: fix possible refcount leak in tipc_sk_create() (Xin Long) [2106048] - tipc: move bc link creation back to tipc_node_create (Xin Long) [2106048] - tipc: fix use-after-free Read in tipc_named_reinit (Xin Long) [2106048] - tipc: check attribute length for bearer name (Xin Long) [2106048] - ice: Fix memory corruption in VF driver (Petr Oros) [2037937] - ice: Fix queue config fail handling (Petr Oros) [2037937] - ice: Sync VLAN filtering features for DVM (Petr Oros) [2037937] - ice: Fix PTP TX timestamp offset calculation (Petr Oros) [2037937] - ice: Fix interrupt moderation settings getting cleared (Petr Oros) [2037937] - ice: fix possible under reporting of ethtool Tx and Rx statistics (Petr Oros) [2037937] - ice: allow creating VFs for !CONFIG_NET_SWITCHDEV (Petr Oros) [2037937] - ice: add trace events for tx timestamps (Petr Oros) [2037937] - ice: fix return value check in ice_gnss.c (Petr Oros) [2037937] - ice: remove PF pointer from ice_check_vf_init (Petr Oros) [2037937] - ice: introduce ice_virtchnl.c and ice_virtchnl.h (Petr Oros) [2037937] - ice: cleanup long lines in ice_sriov.c (Petr Oros) [2037937] - ice: introduce ICE_VF_RESET_LOCK flag (Petr Oros) [2037937] - ice: introduce ICE_VF_RESET_NOTIFY flag (Petr Oros) [2037937] - ice: convert ice_reset_vf to take flags (Petr Oros) [2037937] - ice: convert ice_reset_vf to standard error codes (Petr Oros) [2037937] - ice: make ice_reset_all_vfs void (Petr Oros) [2037937] - ice: drop is_vflr parameter from ice_reset_all_vfs (Petr Oros) [2037937] - ice: move reset functionality into ice_vf_lib.c (Petr Oros) [2037937] - ice: fix a long line warning in ice_reset_vf (Petr Oros) [2037937] - ice: introduce VF operations structure for reset flows (Petr Oros) [2037937] - ice: fix incorrect dev_dbg print mistaking 'i' for vf->vf_id (Petr Oros) [2037937] - ice: introduce ice_vf_lib.c, ice_vf_lib.h, and ice_vf_lib_private.h (Petr Oros) [2037937] - ice: use ice_is_vf_trusted helper function (Petr Oros) [2037937] - ice: log an error message when eswitch fails to configure (Petr Oros) [2037937] - ice: cleanup error logging for ice_ena_vfs (Petr Oros) [2037937] - ice: move ice_set_vf_port_vlan near other .ndo ops (Petr Oros) [2037937] - ice: refactor spoofchk control code in ice_sriov.c (Petr Oros) [2037937] - ice: rename ICE_MAX_VF_COUNT to avoid confusion (Petr Oros) [2037937] - ice: remove unused definitions from ice_sriov.h (Petr Oros) [2037937] - ice: convert vf->vc_ops to a const pointer (Petr Oros) [2037937] - ice: remove circular header dependencies on ice.h (Petr Oros) [2037937] - ice: rename ice_virtchnl_pf.c to ice_sriov.c (Petr Oros) [2037937] - ice: rename ice_sriov.c to ice_vf_mbx.c (Petr Oros) [2037937] - ice: Fix FV offset searching (Petr Oros) [2037937] - ice: Add support for outer dest MAC for ADQ tunnels (Petr Oros) [2037937] - ice: avoid XDP checks in ice_clean_tx_irq() (Petr Oros) [2037937] - ice: change "can't set link" message to dbg level (Petr Oros) [2037937] - ice: Add slow path offload stats on port representor in switchdev (Petr Oros) [2037937] - ice: Add support for inner etype in switchdev (Petr Oros) [2037937] - ice: convert VF storage to hash table with krefs and RCU (Petr Oros) [2037937] - ice: introduce VF accessor functions (Petr Oros) [2037937] - ice: factor VF variables to separate structure (Petr Oros) [2037937] - ice: convert ice_for_each_vf to include VF entry iterator (Petr Oros) [2037937] - ice: use ice_for_each_vf for iteration during removal (Petr Oros) [2037937] - ice: remove checks in ice_vc_send_msg_to_vf (Petr Oros) [2037937] - ice: move VFLR acknowledge during ice_free_vfs (Petr Oros) [2037937] - ice: move clear_malvf call in ice_free_vfs (Petr Oros) [2037937] - ice: pass num_vfs to ice_set_per_vf_res() (Petr Oros) [2037937] - ice: store VF pointer instead of VF ID (Petr Oros) [2037937] - ice: refactor unwind cleanup in eswitch mode (Petr Oros) [2037937] - ice: add TTY for GNSS module for E810T device (Petr Oros) [2037937] - ice: Simplify tracking status of RDMA support (Petr Oros) [2037937] - ice: Add ability for PF admin to enable VF VLAN pruning (Petr Oros) [2037937] - ice: Add support for 802.1ad port VLANs VF (Petr Oros) [2037937] - ice: Advertise 802.1ad VLAN filtering and offloads for PF netdev (Petr Oros) [2037937] - ice: Support configuring the device to Double VLAN Mode (Petr Oros) [2037937] - ice: Add support for VIRTCHNL_VF_OFFLOAD_VLAN_V2 (Petr Oros) [2037937] - ice: Add hot path support for 802.1Q and 802.1ad VLAN offloads (Petr Oros) [2037937] - ice: Add outer_vlan_ops and VSI specific VLAN ops implementations (Petr Oros) [2037937] - ice: Adjust naming for inner VLAN operations (Petr Oros) [2037937] - ice: Use the proto argument for VLAN ops (Petr Oros) [2037937] - ice: Refactor vf->port_vlan_info to use ice_vlan (Petr Oros) [2037937] - ice: Introduce ice_vlan struct (Petr Oros) [2037937] - ice: Add new VSI VLAN ops (Petr Oros) [2037937] - ice: Add helper function for adding VLAN 0 (Petr Oros) [2037937] - ice: Refactor spoofcheck configuration functions (Petr Oros) [2037937] - Revert "ice: Allow to pass VLAN tagged packets to VF when port VLAN is configured" (Petr Oros) [2037937] - Revert "ice: Do not enable VLAN pruning when spoofchk is enabled" (Petr Oros) [2037937] - ice: Remove likely for napi_complete_done (Petr Oros) [2037937] - ice: add support for DSCP QoS for IDC (Petr Oros) [2037937] - ice: respect metadata on XSK Rx to skb (Petr Oros) [2037937] - ice: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb (Petr Oros) [2037937] - ice: respect metadata in legacy-rx/ice_construct_skb() (Petr Oros) [2037937] - ice: Fix broken IFF_ALLMULTI handling (Petr Oros) [2037937]- i40e: Fix call trace in setup_tx_descriptors (Ivan Vecera) [2037943] - i40e: Fix calculating the number of queue pairs (Ivan Vecera) [2037943] - i40e: Fix adding ADQ filter to TC0 (Ivan Vecera) [2037943] - i40e: i40e_main: fix a missing check on list iterator (Ivan Vecera) [2037943] - i40e, xsk: Get rid of redundant 'fallthrough' (Ivan Vecera) [2037943] - i40e, xsk: Diversify return values from xsk_wakeup call paths (Ivan Vecera) [2037943] - i40e, xsk: Terminate Rx side of NAPI when XSK Rx queue gets full (Ivan Vecera) [2037943] - i40e: Add Ethernet Connection X722 for 10GbE SFP+ support (Ivan Vecera) [2037943] - i40e: Add vsi.tx_restart to i40e ethtool stats (Ivan Vecera) [2037943] - i40e: Add tx_stopped stat (Ivan Vecera) [2037943] - i40e: Add support for MPLS + TSO (Ivan Vecera) [2037943] - i40e: little endian only valid checksums (Ivan Vecera) [2037943] - i40e: stop disabling VFs due to PF error responses (Ivan Vecera) [2037943] - i40e: remove dead stores on XSK hotpath (Ivan Vecera) [2037943] - i40e: Add a stat for tracking busy rx pages (Ivan Vecera) [2037943] - i40e: Add a stat for tracking pages waived (Ivan Vecera) [2037943] - i40e: Add a stat tracking new RX page allocations (Ivan Vecera) [2037943] - i40e: Aggregate and export RX page reuse stat (Ivan Vecera) [2037943] - i40e: Remove rx page reuse double count (Ivan Vecera) [2037943] - i40e: Fix race condition while adding/deleting MAC/VLAN filters (Ivan Vecera) [2037943] - i40e: Add new version of i40e_aq_add_macvlan function (Ivan Vecera) [2037943] - i40e: Add new versions of send ASQ command functions (Ivan Vecera) [2037943] - i40e: Add sending commands in atomic context (Ivan Vecera) [2037943] - i40e: Remove unused RX realloc stat (Ivan Vecera) [2037943] - i40e: Disable hw-tc-offload feature on driver load (Ivan Vecera) [2037943] - i40e: Fix reset path while removing the driver (Ivan Vecera) [2037943] - i40e: respect metadata on XSK Rx to skb (Ivan Vecera) [2037943] - i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb (Ivan Vecera) [2037943] - i40e: Remove useless DMA-32 fallback configuration (Ivan Vecera) [2037943] - i40e: fix unsigned stat widths (Ivan Vecera) [2037943] - i40e: Fix for failed to init adminq while VF reset (Ivan Vecera) [2037943] - i40e: Fix queues reservation for XDP (Ivan Vecera) [2037943] - i40e: Fix issue when maximum queues is exceeded (Ivan Vecera) [2037943] - i40e: Increase delay to 1 s after global EMP reset (Ivan Vecera) [2037943] - i40e: remove variables set but not used (Ivan Vecera) [2037943] - i40e: Remove non-inclusive language (Ivan Vecera) [2037943] - i40e: Update FW API version (Ivan Vecera) [2037943] - i40e: Minimize amount of busy-waiting during AQ send (Ivan Vecera) [2037943] - i40e: Add ensurance of MacVlan resources for every trusted VF (Ivan Vecera) [2037943] - i40e: Fix incorrect netdev's real number of RX/TX queues (Ivan Vecera) [2037943] - i40e: Fix for displaying message regarding NVM version (Ivan Vecera) [2037943] - i40e: fix use-after-free in i40e_sync_filters_subtask() (Ivan Vecera) [2037943] - i40e: Fix to not show opcode msg on unsuccessful VF MAC change (Ivan Vecera) [2037943] - i40e: switch to napi_build_skb() (Ivan Vecera) [2037943] - i40e: Use irq_update_affinity_hint() (Ivan Vecera) [2037943] - mptcp: fix race on unaccepted mptcp sockets (Davide Caratti) [2076971] - mptcp: fix local endpoint accounting (Davide Caratti) [2076971] - mptcp: fix race in overlapping signal events (Davide Caratti) [2076971] - mptcp: fix subflow accounting on close (Davide Caratti) [2076971] - mptcp: introduce implicit endpoints (Davide Caratti) [2076971] - mptcp: constify a bunch of of helpers (Davide Caratti) [2076971] - mptcp: drop port parameter of mptcp_pm_add_addr_signal (Davide Caratti) [2076971] - mptcp: fix removing ids bitmap setting (Davide Caratti) [2076971] - selftests: mptcp: be more conservative with cookie MPJ limits (Davide Caratti) [2076971] - selftests: mptcp: more robust signal race test (Davide Caratti) [2076971] - mptcp: cleanup MPJ subflow list handling (Davide Caratti) [2076971] - mptcp: do not block subflows creation on errors (Davide Caratti) [2076971] - mptcp: keep track of local endpoint still available for each msk (Davide Caratti) [2076971] - mptcp: clean up harmless false expressions (Davide Caratti) [2076971] - mptcp: fix per socket endpoint accounting (Davide Caratti) [2076971] - selftests: mptcp: add fullmesh testcases (Davide Caratti) [2076971] - selftests: mptcp: set and print the fullmesh flag (Davide Caratti) [2076971] - mptcp: local addresses fullmesh (Davide Caratti) [2076971] - mptcp: remote addresses fullmesh (Davide Caratti) [2076971] - mptcp: remove MPTCP_ADD_ADDR_IPV6 and MPTCP_ADD_ADDR_PORT (Davide Caratti) [2076971] - mptcp: build ADD_ADDR/echo-ADD_ADDR option according pm.add_signal (Davide Caratti) [2076971] - mptcp: fix ADD_ADDR and RM_ADDR maybe flush addr_signal each other (Davide Caratti) [2076971] - mptcp: make MPTCP_ADD_ADDR_SIGNAL and MPTCP_ADD_ADDR_ECHO separate (Davide Caratti) [2076971] - mptcp: move drop_other_suboptions check under pm lock (Davide Caratti) [2076971] - mptcp: drop flags and ifindex arguments (Davide Caratti) [2076971] - mptcp: allow to use port and non-signal in set_flags (Davide Caratti) [2076971] - NFSv4.1 support for NFS4_RESULT_PRESERVER_UNLINKED (Scott Mayhew) [2066369] - KVM: selftests: get-reg-list: Add KVM_REG_ARM_FW_REG(3) (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 miti (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Use the clearbhb instruction in mitigations (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: add ID_AA64ISAR2_EL1 sys register (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Mitigate spectre style branch history side channels (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - KVM: arm64: Add templates for BHB mitigation sequences (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spect (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Add percpu vectors for EL1 (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Add macro for reading symbol addresses from the trampolin (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Add vectors that have the bhb mitigation sequences (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Allow the trampoline text to occupy multiple pages (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Make the kpti trampoline's kpti sequence optional (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Move trampoline macros out of ifdef'd section (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Don't assume tramp_vectors is the start of the vectors (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Allow tramp_alias to access symbols after the 4K boundary (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Move the trampoline data page before the text page (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Free up another register on kpti's tramp_exit path (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Make the trampoline cleanup optional (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry.S: Add ventry overflow sanity checks (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Add Cortex-X2 CPU part definition (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Add Neoverse-N2, Cortex-A710 CPU part definition (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: syscall: exit userspace before unmasking exceptions (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: ptrace: Consistently use pseudo-singlestep exceptions (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - ethtool: Fix get module eeprom fallback (Ivan Vecera) [2091772] - xfs: use setattr_copy to set vfs inode attributes (Andrey Albershteyn) [2085622] - xfs: ensure log flush at the end of a synchronous fallocate call (Andrey Albershteyn) [2085622] - xfs: set prealloc flag in xfs_alloc_file_space() (Andrey Albershteyn) [2085622] - xfs: fallocate() should call file_modified() (Andrey Albershteyn) [2085622] - xfs: remove XFS_PREALLOC_SYNC (Andrey Albershteyn) [2085622] - drm/ast: Fix black screen when getting out of suspend (Jocelyn Falempe) [2097492] - drm/ast: Create the driver for ASPEED proprietory Display-Port (Jocelyn Falempe) [2097492] - x86: change default to spec_store_bypass_disable=prctl spectre_v2_user=prctl (Waiman Long) [2101938] - x86/speculation/mmio: Print SMT warning (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - KVM: x86/speculation: Disable Fill buffer clear within guests (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Reuse SRBDS mitigation for SBDS (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/srbds: Update SRBDS mitigation selection (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Add sysfs reporting for Processor MMIO Stale Data (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Enable CPU Fill buffer clearing on idle (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/bugs: Group MDS, TAA & Processor MMIO Stale Data mitigations (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Add mitigation for Processor MMIO Stale Data (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation: Add a common function for MD_CLEAR mitigation update (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Enumerate Processor MMIO Stale Data bug (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - Documentation: Add documentation for Processor MMIO Stale Data (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/tsx: Disable TSX development mode at boot (Waiman Long) [2090252] - x86/tsx: Use MSR_TSX_CTRL to clear CPUID bits (Waiman Long) [2090252] - x86/tsx: Clear CPUID bits when TSX always force aborts (Waiman Long) [2090252] - cpu/speculation: Add prototype for cpu_show_srbds() (Waiman Long) [2090252] - x86/cpu: Move arch_smt_update() to a neutral place (Waiman Long) [2090252] - serial: 8250_pci: rewrite pericom_do_set_divisor() (Myron Stowe) [2096364] - serial: 8250_pci: Fix ACCES entries in pci_serial_quirks array (Myron Stowe) [2096364] - serial: 8250_pci: Merge 8250_moxa to 8250_pci (Myron Stowe) [2096364] - serial: 8250: Use dev_get_drvdata where possible (Myron Stowe) [2096364] - serial: 8250: pericom_do_set_divisor can be static (Myron Stowe) [2096364] - serial: 8250: Add support for higher baud rates to Pericom chips (Myron Stowe) [2096364] - serial: 8250_pci: Have ACCES cards that use the four port Pericom PI7C9X7954 chip use the pci_pericom_setup() (Myron Stowe) [2096364] - serial: 8250_pci: Fix number of ports for ACCES serial cards (Myron Stowe) [2096364] - serial: 8250_pci: Replace custom code with pci_match_id() (Myron Stowe) [2096364] - net/sched: act_police: more accurate MTU policing (Davide Caratti) [2100893] - selinux: initialize proto variable in selinux_ip_postroute_compat() (Ondrej Mosnacek) [2005892] - selinux: fix a sock regression in selinux_ip_postroute_compat() (Ondrej Mosnacek) [2005892] - LSM: Avoid warnings about potentially unused hook variables (Ondrej Mosnacek) [2005892] - selinux: fix all of the W=1 build warnings (Ondrej Mosnacek) [2005892] - selinux: make better use of the nf_hook_state passed to the NF hooks (Ondrej Mosnacek) [2005892] - selinux: fix race condition when computing ocontext SIDs (Ondrej Mosnacek) [2005892 1969344] - selinux: remove unneeded ipv6 hook wrappers (Ondrej Mosnacek) [2005892] - lsm_audit: avoid overloading the "key" audit field (Ondrej Mosnacek) [2005892] - security: remove unneeded subdir-$(CONFIG_...) (Ondrej Mosnacek) [2005892] - selinux: return early for possible NULL audit buffers (Ondrej Mosnacek) [2005892] - selinux: correct the return value when loads initial sids (Ondrej Mosnacek) [2005892] - audit: remove unnecessary 'ret' initialization (Ondrej Mosnacek) [2005892] - selinux: kill 'flags' argument in avc_has_perm_flags() and avc_audit() (Ondrej Mosnacek) [2005892] - selinux: slow_avc_audit has become non-blocking (Ondrej Mosnacek) [2005892] - selinux: Fix kernel-doc (Ondrej Mosnacek) [2005892] - selinux: use __GFP_NOWARN with GFP_NOWAIT in the AVC (Ondrej Mosnacek) [2005892] - lsm_audit,selinux: pass IB device name by reference (Ondrej Mosnacek) [2005892] - selinux: Remove redundant assignment to rc (Ondrej Mosnacek) [2005892] - selinux: Corrected comment to match kernel-doc comment (Ondrej Mosnacek) [2005892] - selinux: delete selinux_xfrm_policy_lookup() useless argument (Ondrej Mosnacek) [2005892] - selinux: constify some avtab function arguments (Ondrej Mosnacek) [2005892] - selinux: simplify duplicate_policydb_cond_list() by using kmemdup() (Ondrej Mosnacek) [2005892] - selinux: add proper NULL termination to the secclass_map permissions (Ondrej Mosnacek) [2005892] - security: commoncap: clean up kernel-doc comments (Ondrej Mosnacek) [2005892] - security: commoncap: fix -Wstringop-overread warning (Ondrej Mosnacek) [2005892] - selinux: fix misspellings using codespell tool (Ondrej Mosnacek) [2005892] - selinux: fix misspellings using codespell tool (Ondrej Mosnacek) [2005892] - ext4: mballoc: Use this_cpu_read instead of this_cpu_ptr (Lukas Czerner) [2102619] - ext4: add reserved GDT blocks check (Lukas Czerner) [2099702] - ext4: make variable "count" signed (Lukas Czerner) [2099702] - ext4: fix bug_on ext4_mb_use_inode_pa (Lukas Czerner) [2099702] - ext4: fix super block checksum incorrect after mount (Lukas Czerner) [2099702] - ext4: fix bug_on in __es_tree_search (Lukas Czerner) [2099702] - ext4: avoid cycles in directory h-tree (Lukas Czerner) [2099702] - ext4: verify dir block before splitting it (Lukas Czerner) [2099702] - ext4: fix bug_on in ext4_writepages (Lukas Czerner) [2099702] - ext4: reject the 'commit' option on ext2 filesystems (Lukas Czerner) [2099702] - ext4: fix use-after-free in ext4_rename_dir_prepare (Lukas Czerner) [2099702] - ext4: fix warning in ext4_handle_inode_extension (Lukas Czerner) [2099702]- i915: Explicitly #include (Michel Dänzer) [2041811] - i915: Use mdev_type_kobj_to_group_id instead of mtype_get_type_group_id (Michel Dänzer) [2041811] - drm/i915: #include for k(un)map APIs (Michel Dänzer) [2041811] - Revert "mm: remove the extra ZONE_DEVICE struct page refcount" (Michel Dänzer) [2041811] - Merge DRM changes from upstream v5.17..v5.18 (Michel Dänzer) [2041811] - iosys-map: Add a few more helpers (Michel Dänzer) [2041811] - iosys-map: Add offset to iosys_map_memcpy_to() (Michel Dänzer) [2041811] - dma-buf-map: Rename to iosys-map (Michel Dänzer) [2041811] - Revert "drm/amdgpu/display: set vblank_disable_immediate for DC" (Michel Dänzer) [2041811] - Revert "drm: import DMA_BUF module namespace" (Michel Dänzer) [2041811] - drm/virtio: Do not use virtio_reset_device (Michel Dänzer) [2041811] - Merge DRM changes from upstream v5.16..v5.17 (Michel Dänzer) [2041811] - agp/intel-gtt: reduce intel-gtt dependencies more (Michel Dänzer) [2041811] - agp/intel-gtt: Replace kernel.h with the necessary inclusions (Michel Dänzer) [2041811] - x86/gpu: Reserve stolen memory for first integrated Intel GPU (Michel Dänzer) [2041811] - drm/i915/rpl-s: Add PCI IDS for Raptor Lake S (Michel Dänzer) [2041811] - drm/amdgpu: Use MCE_PRIO_FIRST instead of MCE_PRIO_UC (Michel Dänzer) [2041811] - Revert "drm/amdgpu: disable runpm if we are the primary adapter" (Michel Dänzer) [2041811] - Revert "treewide: Replace the use of mem_encrypt_active() with cc_platform_has()" (Michel Dänzer) [2041811] - Revert "dma-buf: move dma-buf symbols into the DMA_BUF module namespace" (Michel Dänzer) [2041811] - Revert "fix for "dma-buf: move dma-buf symbols into the DMA_BUF module namespace"" (Michel Dänzer) [2041811] - x86/MCE/AMD, EDAC/mce_amd: Support non-uniform MCA bank type enumeration (Michel Dänzer) [2041811] - Merge DRM changes from upstream v5.15..v5.16 (Michel Dänzer) [2041811] - drm/bochs: Explicitly #include (Michel Dänzer) [2041811] - Revert "gpu: Bulk conversion to generic_handle_domain_irq()" (Michel Dänzer) [2041811] - Revert "vfio/gvt: Fix open/close when multiple device FDs are open" (Michel Dänzer) [2041811] - drm: Drop linux/ prefix from stdarg.h include (Michel Dänzer) [2041811] - drm/i915: Convert to older tasklet API (Michel Dänzer) [2041811] - Merge DRM changes from upstream v5.14.21..v5.15 (Michel Dänzer) [2041811] - dma-buf: Fix kerneldoc comment for struct dma_fence_array (Michel Dänzer) [2041811] - Makefile: Add RHEL_DRM_EXTRAVERSION (Michel Dänzer) [2041811] - mei: me: add Alder Lake N device id. (Prarit Bhargava) [2072660] - pinctrl: alderlake: Fix register offsets for ADL-N variant (Prarit Bhargava) [2049965] - pinctrl: alderlake: Add Intel Alder Lake-N pin controller support (Prarit Bhargava) [2049965] - pinctrl: tigerlake: Revert "Add Alder Lake-M ACPI ID" (Prarit Bhargava) [2049965] - spi: pxa2xx: Add support for Intel Alder Lake PCH-M (Prarit Bhargava) [2089507] - RHEL-only: KVM: selftests: Compile rseq_test out on aarch64 (Eric Auger) [2078919] - KVM: arm64: Don't read a HW interrupt pending state in user context (Eric Auger) [2078919] - KVM: arm64: selftests: Add init ITS device test (Eric Auger) [2078919] - KVM: arm64: selftests: Add test for legacy GICv3 REDIST base partially above IPA range (Eric Auger) [2078919] - KVM: arm64: selftests: Add tests for GIC redist/cpuif partially above IPA range (Eric Auger) [2078919] - KVM: arm64: selftests: Add some tests for GICv2 in vgic_init (Eric Auger) [2078919] - KVM: arm64: selftests: Make vgic_init/vm_gic_create version agnostic (Eric Auger) [2078919] - KVM: arm64: selftests: Make vgic_init gic version agnostic (Eric Auger) [2078919] - KVM: arm64: vgic: Drop vgic_check_ioaddr() (Eric Auger) [2078919] - KVM: arm64: vgic-v3: Check ITS region is not above the VM IPA size (Eric Auger) [2078919] - KVM: arm64: vgic-v2: Check cpu interface region is not above the VM IPA size (Eric Auger) [2078919] - KVM: arm64: vgic-v3: Check redist region is not above the VM IPA size (Eric Auger) [2078919] - kvm: arm64: vgic: Introduce vgic_check_iorange (Eric Auger) [2078919] - Revert "RHEL-only: KVM: selftests: Fix AArch64 compilation" (Eric Auger) [2078919] - selftests: KVM: Free the GIC FD when cleaning up in arch_timer (Eric Auger) [2078919] - selftests: KVM: Don't leak GIC FD across dirty log test iterations (Eric Auger) [2078919] - KVM: arm64: selftests: Introduce vcpu_width_config (Eric Auger) [2078919] - KVM: arm64: mixed-width check should be skipped for uninitialized vCPUs (Eric Auger) [2078919] - KVM: arm64: Generalise VM features into a set of flags (Eric Auger) [2078919] - KVM: selftests: aarch64: Skip tests if we can't create a vgic-v3 (Eric Auger) [2078919] - kvm: selftests: aarch64: use a tighter assert in vgic_poke_irq() (Eric Auger) [2078919] - kvm: selftests: aarch64: fix some vgic related comments (Eric Auger) [2078919] - kvm: selftests: aarch64: fix the failure check in kvm_set_gsi_routing_irqchip_check (Eric Auger) [2078919] - kvm: selftests: aarch64: pass vgic_irq guest args as a pointer (Eric Auger) [2078919] - kvm: selftests: aarch64: fix assert in gicv3_access_reg (Eric Auger) [2078919] - KVM: selftests: Add vgic initialization for dirty log perf test for ARM (Eric Auger) [2078919] - KVM: arm64: vgic: Read HW interrupt pending state from the HW (Eric Auger) [2078919] - KVM: arm64: Emulate the OS Lock (Eric Auger) [2078919] - KVM: arm64: Allow guest to set the OSLK bit (Eric Auger) [2078919] - KVM: arm64: Stash OSLSR_EL1 in the cpu context (Eric Auger) [2078919] - KVM: arm64: Correctly treat writes to OSLSR_EL1 as undefined (Eric Auger) [2078919] - KVM: arm64: vgic: Replace kernel.h with the necessary inclusions (Eric Auger) [2078919] - KVM: arm64: Fix comment typo in kvm_vcpu_finalize_sve() (Eric Auger) [2078919] - KVM: arm64: selftests: get-reg-list: Add pauth configuration (Eric Auger) [2078919] - KVM: selftests: aarch64: Add test for restoring active IRQs (Eric Auger) [2078919] - KVM: selftests: aarch64: Add ISPENDR write tests in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Add tests for IRQFD in vgic_irq (Eric Auger) [2078919] - KVM: selftests: Add IRQ GSI routing library functions (Eric Auger) [2078919] - KVM: selftests: aarch64: Add test_inject_fail to vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Add tests for LEVEL_INFO in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Level-sensitive interrupts tests in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Add preemption tests in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Cmdline arg to set EOI mode in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Cmdline arg to set number of IRQs in vgic_irq test (Eric Auger) [2078919] - KVM: selftests: aarch64: Abstract the injection functions in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Add vgic_irq to test userspace IRQ injection (Eric Auger) [2078919] - KVM: selftests: aarch64: Add vGIC library functions to deal with vIRQ state (Eric Auger) [2078919] - KVM: selftests: Add kvm_irq_line library function (Eric Auger) [2078919] - KVM: selftests: aarch64: Add GICv3 register accessor library functions (Eric Auger) [2078919] - KVM: selftests: aarch64: Add function for accessing GICv3 dist and redist registers (Eric Auger) [2078919] - KVM: selftests: aarch64: Move gic_v3.h to shared headers (Eric Auger) [2078919] - KVM: selftests: arm64: Add support for various modes with 16kB page size (Eric Auger) [2078919] - KVM: selftests: arm64: Add support for VM_MODE_P36V48_{4K,64K} (Eric Auger) [2078919] - KVM: arm64: Fix comment on barrier in kvm_psci_vcpu_on() (Eric Auger) [2078919] - KVM: arm64: Fix comment for kvm_reset_vcpu() (Eric Auger) [2078919] - KVM: arm64: Use defined value for SCTLR_ELx_EE (Eric Auger) [2078919] - KVM: arm64: vgic: Demote userspace-triggered console prints to kvm_debug() (Eric Auger) [2078919] - KVM: arm64: Consolidate dist->ready setting into kvm_vgic_map_resources() (Eric Auger) [2078919] - arm64/kvm: Fix bitrotted comment for SVE handling in handle_exit.c (Eric Auger) [2078919] - KVM: arm64: Drop vcpu->arch.has_run_once for vcpu->pid (Eric Auger) [2078919] - KVM: arm64: Merge kvm_arch_vcpu_run_pid_change() and kvm_vcpu_first_run_init() (Eric Auger) [2078919] - KVM: arm64: Restructure the point where has_run_once is advertised (Eric Auger) [2078919] - KVM: arm64: Move kvm_arch_vcpu_run_pid_change() out of line (Eric Auger) [2078919] - KVM: arm64: Move SVE state mapping at HYP to finalize-time (Eric Auger) [2078919] - KVM: arm64: Move double-checked lock to kvm_vgic_map_resources() (Eric Auger) [2078919] - KVM: arm64: Constify kvm_io_gic_ops (Eric Auger) [2078919] - KVM: arm64: Avoid setting the upper 32 bits of TCR_EL2 and CPTR_EL2 to 1 (Eric Auger) [2078919] - selftests: KVM: Fix kvm device helper ioctl assertions (Eric Auger) [2078919] - ACPI: tables: Quiet ACPI table not found warning (Mark Langsdorf) [2067290] - ACPI/IORT: Check node revision for PMCG resources (Mark Langsdorf) [2067290] - PM: s2idle: ACPI: Fix wakeup interrupts handling (Mark Langsdorf) [2067290] - ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE (Mark Langsdorf) [2067290] - ACPI: PM: Revert "Only mark EC GPE for wakeup on Intel systems" (Mark Langsdorf) [2067290] - ACPI: require CRC32 to build (Mark Langsdorf) [2067290] - ACPI: DPTF: Support Raptor Lake (Mark Langsdorf) [2067290] - ACPI: scan: Rename label in acpi_scan_init() (Mark Langsdorf) [2067290] - ACPI: scan: Simplify initialization of power and sleep buttons (Mark Langsdorf) [2067290] - ACPI: scan: Change acpi_scan_init() return value type to void (Mark Langsdorf) [2067290] - ACPI: SPCR: check if table->serial_port.access_width is too wide (Mark Langsdorf) [2067290] - ACPI: APD: Check for NULL pointer after calling devm_ioremap() (Mark Langsdorf) [2067290] - ACPI: pfr_telemetry: Fix info leak in pfrt_log_ioctl() (Mark Langsdorf) [2067290] - ACPI: APD: Add a fmw property clk-name (Mark Langsdorf) [2067290] - ACPI: pfr_update: Fix return value check in pfru_write() (Mark Langsdorf) [2067290] - ACPI: processor: thermal: avoid cpufreq_get_policy() (Mark Langsdorf) [2067290] - ACPI / x86: Add acpi_quirk_skip_[i2c_client|serdev]_enumeration() helpers (Mark Langsdorf) [2067290] - ACPI: battery: Add the ThinkPad "Not Charging" quirk (Mark Langsdorf) [2067290] - acpi: Store CRC-32 hash of the _PLD in struct acpi_device (Mark Langsdorf) [2067290] - acpi: Export acpi_bus_type (Mark Langsdorf) [2067290] - ACPI: sysfs: use default_groups in kobj_type (Mark Langsdorf) [2067290] - ACPI: Introduce Platform Firmware Runtime Telemetry driver (Mark Langsdorf) [2067290] - ACPI: Introduce Platform Firmware Runtime Update device driver (Mark Langsdorf) [2067290] - efi: Introduce EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER and corresponding structures (Mark Langsdorf) [2067290] - ACPICA: Update version to 20211217 (Mark Langsdorf) [2067290] - ACPICA: iASL/NHLT table: "Specific Data" field support (Mark Langsdorf) [2067290] - ACPICA: iASL: Add suppport for AGDI table (Mark Langsdorf) [2067290] - ACPICA: iASL: Add TDEL table to both compiler/disassembler (Mark Langsdorf) [2067290] - ACPICA: Fixed a couple of warnings under MSVC (Mark Langsdorf) [2067290] - ACPICA: Change a return_ACPI_STATUS (AE_BAD_PARAMETER) (Mark Langsdorf) [2067290] - ACPICA: Hardware: Do not flush CPU cache when entering S4 and S5 (Mark Langsdorf) [2067290] - ACPICA: Add support for PCC Opregion special context data (Mark Langsdorf) [2067290] - ACPICA: Fix wrong interpretation of PCC address (Mark Langsdorf) [2067290] - ACPICA: Executer: Fix the REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R() (Mark Langsdorf) [2067290] - ACPICA: Utilities: Avoid deleting the same object twice in a row (Mark Langsdorf) [2067290] - ACPICA: Fix AEST Processor generic resource substructure data field byte length (Mark Langsdorf) [2067290] - ACPICA: iASL/Disassembler: Additional support for NHLT table (Mark Langsdorf) [2067290] - ACPICA: Avoid subobject buffer overflow when validating RSDP signature (Mark Langsdorf) [2067290] - ACPICA: Macros: Remove ACPI_PHYSADDR_TO_PTR (Mark Langsdorf) [2067290] - ACPICA: Use original pointer for virtual origin tables (Mark Langsdorf) [2067290] - ACPICA: Use original data_table_region pointer for accesses (Mark Langsdorf) [2067290] - ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions (Mark Langsdorf) [2067290] - ACPI: CPPC: Amend documentation in the comments (Mark Langsdorf) [2067290] - ACPI: NFIT: Import GUID before use (Mark Langsdorf) [2067290] - ACPI: PM: Remove redundant cache flushing (Mark Langsdorf) [2067290] - ACPI: Use acpi_fetch_acpi_dev() instead of acpi_bus_get_device() (Mark Langsdorf) [2067290] - ACPI: tables: Add AEST to the list of known table signatures (Mark Langsdorf) [2067290] - ACPI: PM: Avoid CPU cache flush when entering S4 (Mark Langsdorf) [2067290] - PM: hibernate: Allow ACPI hardware signature to be honoured (Mark Langsdorf) [2067290] - ACPI: PMIC: xpower: Fix _TMP ACPI errors (Mark Langsdorf) [2067290] - ACPI: PMIC: allow drivers to provide a custom lpat_raw_to_temp() function (Mark Langsdorf) [2067290] - ACPI: PMIC: constify all struct intel_pmic_opregion_data declarations (Mark Langsdorf) [2067290] - ACPI: EC: Mark the ec_sys write_support param as module_param_hw() (Mark Langsdorf) [2067290] - ACPI: EC: Relocate acpi_ec_create_query() and drop acpi_ec_delete_query() (Mark Langsdorf) [2067290] - ACPI: EC: Make the event work state machine visible (Mark Langsdorf) [2067290] - ACPI: EC: Avoid queuing unnecessary work in acpi_ec_submit_event() (Mark Langsdorf) [2067290] - ACPI: EC: Rename three functions (Mark Langsdorf) [2067290] - ACPI: EC: Simplify locking in acpi_ec_event_handler() (Mark Langsdorf) [2067290] - ACPI: EC: Rearrange the loop in acpi_ec_event_handler() (Mark Langsdorf) [2067290] - ACPI: EC: Fold acpi_ec_check_event() into acpi_ec_event_handler() (Mark Langsdorf) [2067290] - ACPI: EC: Pass one argument to acpi_ec_query() (Mark Langsdorf) [2067290] - ACPI: EC: Call advance_transaction() from acpi_ec_dispatch_gpe() (Mark Langsdorf) [2067290] - ACPI: EC: Rework flushing of EC work while suspended to idle (Mark Langsdorf) [2067290] - ACPI / x86: Add PWM2 on the Xiaomi Mi Pad 2 to the always_present list (Mark Langsdorf) [2067290] - ACPI / x86: Add not-present quirk for the PCI0.SDHB.BRC1 device on the GPD win (Mark Langsdorf) [2067290] - ACPI / x86: Allow specifying acpi_device_override_status() quirks by path (Mark Langsdorf) [2067290] - ACPI: Change acpi_device_always_present() into acpi_device_override_status() (Mark Langsdorf) [2067290] - ACPI / x86: Drop PWM2 device on Lenovo Yoga Book from always present table (Mark Langsdorf) [2067290] - ACPI: processor idle: Use swap() instead of open coding it (Mark Langsdorf) [2067290] - ACPI: processor: Replace kernel.h with the necessary inclusions (Mark Langsdorf) [2067290] - ACPI: DPTF: Update device ID in a comment (Mark Langsdorf) [2067290] - ACPI: PM: Emit debug messages when enabling/disabling wakeup power (Mark Langsdorf) [2067290] - ACPI: thermal: drop an always true check (Mark Langsdorf) [2067290] - ACPI: Add a context argument for table parsing handlers (Mark Langsdorf) [2067290] - ACPI: Teach ACPI table parsing about the CEDT header format (Mark Langsdorf) [2067290] - ACPI: Keep sub-table parsing infrastructure available for modules (Mark Langsdorf) [2067290] - cxgb4: fix wrong shift. (Raju Rangoju) [1977437] - cxgb4: fix wrong ethtool n-tuple rule lookup (Raju Rangoju) [1977437] - cxgb4: halt chip before flashing PHY firmware image (Raju Rangoju) [1977437] - cxgb4: fix sleep in atomic when flashing PHY firmware (Raju Rangoju) [1977437] - cxgb4: fix endianness when flashing boot image (Raju Rangoju) [1977437] - cxgb4: avoid link re-train during TC-MQPRIO configuration (Raju Rangoju) [1977437] - cxgb4: fix regression with HASH tc prio value update (Raju Rangoju) [1977437] - cxgb4: avoid accessing registers when clearing filters (Raju Rangoju) [1977437] - net:CXGB4: fix leak if sk_buff is not used (Raju Rangoju) [1977437] - cxgb4: Fix unintentional sign extension issues (Raju Rangoju) [1977437] - cxgb4: remove unneeded if-null-free check (Raju Rangoju) [1977437] - PCI: vmd: Assign VMD IRQ domain before enumeration (Myron Stowe) [2050850] - PCI: vmd: Prevent recursive locking on interrupt allocation (Myron Stowe) [2050850] - PCI: vmd: Add DID 8086:A77F for all Intel Raptor Lake SKU's (Myron Stowe) [2050850] - PCI: vmd: Honor ACPI _OSC on PCIe features (Myron Stowe) [2050850] - PCI: vmd: Clean up domain before enumeration (Myron Stowe) [2050850] - PCI: vmd: Use PCI_POSSIBLE_ERROR() to check config reads (Myron Stowe) [2050850] - PCI: Add PCI_ERROR_RESPONSE and related definitions (Myron Stowe) [2050850] - PCI: vmd: Drop redundant includes of , (Myron Stowe) [2050850] - PCI: vmd: Assign a number to each VMD controller (Myron Stowe) [2050850] - PCI: vmd: Disable MSI-X remapping when possible (Myron Stowe) [2050850] - PCI: vmd: Offset Client VMD MSI-X vectors (Myron Stowe) [2050850] - PCI: vmd: Use msi_msg shadow structs (Myron Stowe) [2050850] - Merge tag 'pci-v5.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/g (Myron Stowe) [2050850] - PCI: vmd: Update VMD PM to correctly use generic PCI PM (Myron Stowe) [2050850] - PCI: vmd: Create IRQ allocation helper (Myron Stowe) [2050850] - PCI: vmd: Create IRQ Domain configuration helper (Myron Stowe) [2050850] - PCI: vmd: Create bus offset configuration helper (Myron Stowe) [2050850] - PCI: vmd: Create physical offset helper (Myron Stowe) [2050850] - PCI_vmd_Mark_VMD_irqdomain_with_DOMAIN_BUS_VMD_MSI (Myron Stowe) [2050850] - irqdomain/msi: Provide DOMAIN_BUS_VMD_MSI (Myron Stowe) [2050850] - PCI: vmd: Dont abuse vector irqomain as parent (Myron Stowe) [2050850] - PCI: designware-ep: Fix the Header Type check (Myron Stowe) [2050850] - PCI: vmd: Use Shadow MEMBAR registers for QEMU/KVM guests (Myron Stowe) [2050850] - PCI: vmd: Filter resource type bits from shadow register (Myron Stowe) [2050850] - PCI: Fix indentation (Myron Stowe) [2050850] - scsi: iscsi: Fix session removal on shutdown (Chris Leech) [2101760] - scsi: qedi: Use QEDI_MODE_NORMAL for error handling (Chris Leech) [2101760] - scsi: iscsi: Add helper to remove a session from the kernel (Chris Leech) [2101760] - scsi: iscsi: Clean up bound endpoints during shutdown (Chris Leech) [2101760] - scsi: iscsi: Allow iscsi_if_stop_conn() to be called from kernel (Chris Leech) [2101760] - scsi: iscsi: Fix HW conn removal use after free (Chris Leech) [2101760] - scsi: iscsi: Make iscsi_unregister_transport() return void (Chris Leech) [2101760] - scsi: core: iscsi: Directly use ida_alloc()/ida_free() (Chris Leech) [2101760] - scsi: iscsi: Exclude zero from the endpoint ID range (Chris Leech) [2101760] - scsi: iscsi: Fix harmless double shift bug (Chris Leech) [2101760] - scsi: libiscsi: Remove unnecessary memset() in iscsi_conn_setup() (Chris Leech) [2101760] - scsi: libiscsi: Teardown iscsi_cls_conn gracefully (Chris Leech) [2101760] - scsi: libiscsi: Add iscsi_cls_conn to sysfs after initialization (Chris Leech) [2101760] - scsi: iscsi: Add helper functions to manage iscsi_cls_conn (Chris Leech) [2101760] - scsi: iscsi: Drop temp workq_name (Chris Leech) [2101760] - scsi: iscsi: Use the session workqueue for recovery (Chris Leech) [2101760] - scsi: iscsi: ql4xxx: Use per-session workqueue for unbinding (Chris Leech) [2101760] - scsi: iscsi: Remove iscsi_scan_finished() (Chris Leech) [2101760] - scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown() (Chris Leech) [2101760] - scsi: libiscsi: Move ehwait initialization to iscsi_session_setup() (Chris Leech) [2101760] - x86/sme: Explicitly map new EFI memmap table as encrypted (Chris von Recklinghausen) [2091831] - x86/sme: Use #define USE_EARLY_PGTABLE_L5 in mem_encrypt_identity.c (Chris von Recklinghausen) [2091831] - efi/x86: Fix boot regression on systems with invalid memmap entries (Chris von Recklinghausen) [2091831] - efi: Add tracking for dynamically allocated memmaps (Chris von Recklinghausen) [2091831] - efi: Add a flags parameter to efi_memory_map (Chris von Recklinghausen) [2091831] - x86/kexec: fix memory leak of elf header buffer (Tao Liu) [2014945] - net: sched: add barrier to fix packet stuck problem for lockless qdisc (Davide Caratti) [2103025] - powercap: intel_rapl: add support for ALDERLAKE_N (David Arcari) [2096964] - clk: fix invalid usage of list cursor in unregister (David Arcari) [2105258] - clk: fix invalid usage of list cursor in register (David Arcari) [2105258] - powercap: intel_rapl: add support for RaptorLake (David Arcari) [2076724] - lib/math: move int_pow() from pwm_bl.c for wider use (Ivan Vecera) [2101700] - x86/fpu: KVM: Set the base guest FPU uABI size to sizeof(struct kvm_xsave) (Paul Lai) [2092066]- net/sched: cls_u32: fix possible leak in u32_init_knode() (Davide Caratti) [2081283] - net/sched: cls_u32: fix netns refcount changes in u32_change() (Davide Caratti) [2081283] - net/sched: flower: fix parsing of ethertype following VLAN header (Davide Caratti) [2081283] - net: sched: limit TC_ACT_REPEAT loops (Davide Caratti) [2081283] - net_sched: add __rcu annotation to netdev->qdisc (Davide Caratti) [2081283] - sch_htb: Fail on unsupported parameters when offload is requested (Davide Caratti) [2081283] - net_sched: restore "mpu xxx" handling (Davide Caratti) [2081283] - net: sched: sch_netem: Refactor code in 4-state loss generator (Davide Caratti) [2081283] - net/mlx5e: TC, Fix ct_clear overwriting ct action metadata (Amir Tzin) [2100474] - bpftool: man: Add missing top level docs (Yauheni Kaliuta) [2097615] - net/mlx5: CT: Fix header-rewrite re-use for tupels (Amir Tzin) [2101162] - cpuidle: haltpoll: Call cpuidle_poll_state_init() later (Mark Langsdorf) [2067313] - cpuidle: use default_groups in kobj_type (Mark Langsdorf) [2067313] - cpuidle: Fix cpuidle_remove_state_sysfs() kerneldoc comment (Mark Langsdorf) [2067313] - cpuidle: menu: Fix typo in a comment (Mark Langsdorf) [2067313] - cpuidle: Fix kobject memory leaks in error paths (Mark Langsdorf) [2067313] - cpuidle: menu: Take negative "sleep length" values into account (Mark Langsdorf) [2067313] - HID: elo: Revert USB reference counting (Benjamin Tissoires) [2073833] - HID: elo: fix memory leak in elo_probe (Benjamin Tissoires) [2073833] - fs: dlm: filter user dlm messages for kernel locks (Alexander Aring) [2026116] - psample: Add a fwd declaration for skbuff (Ivan Vecera) [2101706] - platform/x86/intel/sdsi: Fix bug in multi packet reads (Prarit Bhargava) [2100948] - platform/x86/intel/sdsi: Poll on ready bit for writes (Prarit Bhargava) [2100948] - platform/x86/intel/sdsi: Handle leaky bucket (Prarit Bhargava) [2100948] - indirect_call_wrapper: extend indirect wrapper to support up to 4 calls (Petr Oros) [2101705] - block: Fix handling of offline queues in blk_mq_alloc_request_hctx() (Ming Lei) [2081913] - netfilter: br_netfilter: do not skip all hooks with 0 priority (Florian Westphal) [2099732] - net: openvswitch: fix parsing of nw_proto for IPv6 fragments (Eelco Chaudron) [2101537] - s390/smp,vdso: fix ASCE handling (Tobias Huschle) [2103887] - [s390] s390/pci: fix zpci_zdev_put() on reserve (Claudio Imbrenda) [2102305] - intel/igbvf:fix repeated words in comments (Corinna Vinschen) [2037962] - igbvf: Remove useless DMA-32 fallback configuration (Corinna Vinschen) [2037962] - SUNRPC: avoid race between mod_timer() and del_timer_sync() (Benjamin Coddington) [2104507] - iavf: Fix issue with MAC address of VF shown as zero (Petr Oros) [2037938] - iavf: switch to napi_build_skb() (Petr Oros) [2037938] - iavf: Remove non-inclusive language (Petr Oros) [2037938] - iavf: Fix incorrect use of assigning iavf_status to int (Petr Oros) [2037938] - iavf: stop leaking iavf_status as "errno" values (Petr Oros) [2037938] - iavf: Add usage of new virtchnl format to set default MAC (Petr Oros) [2037938] - iavf: refactor processing of VLAN V2 capability message (Petr Oros) [2037938] - iavf: Add support for 50G/100G in AIM algorithm (Petr Oros) [2037938] - iavf: remove redundant ret variable (Petr Oros) [2037938] - iavf: Remove useless DMA-32 fallback configuration (Petr Oros) [2037938] - cifs: fix potential double free during failed mount (Ronnie Sahlberg) [2088799] - cifs: escape spaces in share names (Dave Wysochanski) [2100367] - Documentation: add documentation for force_cgroup_v2_swappiness control (Nico Pache) [2084242] - Introduce force_cgroup_v2_swappiness tuneable to deprecate cgv1 per-cgroup swappiness (Nico Pache) [2084242] - redhat: trim rpminspect config file (Jarod Wilson)- powerpc/smp: Set numa node before updating mask (Diego Domingos) [2103833] - iommu/vt-d: Fix potential memory leak in intel_setup_irq_remapping() (Mohammed Gamal) [2088366] - irqdomain/treewide: Free firmware node after domain removal (Mohammed Gamal) [2088366] - x86/kvmclock: Fix Hyper-V Isolated VM's boot issue when vCPUs > 64 (Mohammed Gamal) [2088366] - x86/kvm: Don't waste memory if kvmclock is disabled (Mohammed Gamal) [2088366] - x86/pci: Create PCI/MSI irqdomain after x86_init.pci.arch_init() (Mohammed Gamal) [2088366] - x86/pci: Reducde #ifdeffery in PCI init code (Mohammed Gamal) [2088366] - hv_utils: Add comment about max VMbus packet size in VSS driver (Mohammed Gamal) [2088366] - x86/coco: Explicitly declare type of confidential computing platform (Mohammed Gamal) [2088366] - x86/hyper-v: Add hyperv Isolation VM check in the cc_platform_has() (Mohammed Gamal) [2088366] - x86/sev: Use CC_ATTR attribute to generalize string I/O unroll (Mohammed Gamal) [2088366] - random: remove unused irq_flags argument from add_interrupt_randomness() (Mohammed Gamal) [2088366] - x86/hyperv: Fix definition of hv_ghcb_pg variable (Mohammed Gamal) [2088366] - swiotlb: Add CONFIG_HAS_IOMEM check around swiotlb_mem_remap() (Mohammed Gamal) [2088366] - hyper-v: Enable swiotlb bounce buffer for Isolation VM (Mohammed Gamal) [2088366] - swiotlb: Add swiotlb bounce buffer remap function for HV IVM (Mohammed Gamal) [2088366] - x86/hyperv: Refactor hv_msi_domain_free_irqs() (Mohammed Gamal) [2088366] - x86/hyperv: Move required MSRs check to initial platform probing (Mohammed Gamal) [2088366] - x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails (Mohammed Gamal) [2088366] - x86/hyperv: Protect set_hv_tscchange_cb() against getting preempted (Mohammed Gamal) [2088366] - x86/hyperv: Remove duplicate include (Mohammed Gamal) [2088366] - x86/hyperv: Remove duplicated include in hv_init (Mohammed Gamal) [2088366] - x86/hyperv: Add ghcb hvcall support for SNP VM (Mohammed Gamal) [2088366] - x86/hyperv: Add Write/Read MSR registers via ghcb page (Mohammed Gamal) [2088366] - x86/hyperv: Add new hvcall guest address host visibility support (Mohammed Gamal) [2088366] - x86/hyperv: Initialize shared memory boundary in the Isolation VM. (Mohammed Gamal) [2088366] - x86/hyperv: Initialize GHCB page in Isolation VM (Mohammed Gamal) [2088366] - x86/sev: Replace occurrences of sev_es_active() with cc_platform_has() (Mohammed Gamal) [2088366] - x86/sev: Replace occurrences of sev_active() with cc_platform_has() (Mohammed Gamal) [2088366] - x86/sev-es: Do not unroll string I/O for SEV-ES guests (Mohammed Gamal) [2088366] - efi/x86: Avoid RWX mappings for all of DRAM (Mohammed Gamal) [2088366] - x86/sme: Replace occurrences of sme_active() with cc_platform_has() (Mohammed Gamal) [2088366] - x86/sev: Add an x86 version of cc_platform_has() (Mohammed Gamal) [2088366] - vmalloc: fix the owner argument for the new __vmalloc_node_range callers (Mohammed Gamal) [2088366] - mm: remove vmalloc_exec (Mohammed Gamal) [2088366] - arm64: use PAGE_KERNEL_ROX directly in alloc_insn_page (Mohammed Gamal) [2088366] - arm64/kprobes: set VM_FLUSH_RESET_PERMS on kprobe instruction pages (Mohammed Gamal) [2088366] - x86/hyperv: allocate the hypercall page with only read and execute bits (Mohammed Gamal) [2088366] - x86/hyperv: use vmalloc_exec for the hypercall page (Mohammed Gamal) [2088366] - drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status (Mohammed Gamal) [2088366] - x86/irq: Initialize PCI/MSI domain at PCI init time (Mohammed Gamal) [2088366] - x86/hyperv: implement an MSI domain for root partition (Mohammed Gamal) [2088366] - irqdomain/treewide: Keep firmware node unconditionally allocated (Mohammed Gamal) [2088366] - irqdomain/msi: Allow to override msi_domain_alloc/free_irqs() (Mohammed Gamal) [2088366] - x86/sev: Expose sev_es_ghcb_hv_call() for use by HyperV (Mohammed Gamal) [2088366] - x86/sev: Carve out HV call's return value verification (Mohammed Gamal) [2088366] - x86/sev: Fix noinstr for vc_ghcb_invalidate() (Mohammed Gamal) [2088366] - arch/cc: Introduce a function to check for confidential computing features (Mohammed Gamal) [2088366] - Revert "drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status" (Mohammed Gamal) [2088366] - Revert "drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status" (Mohammed Gamal) [2088366] - libperf tests: Fix typo in perf_evlist__open() failure error messages (Michael Petlan) [1878555] - libperf: Fix 32-bit build for tests uint64_t printf (Michael Petlan) [1878555] - libperf: Add arm64 support to perf_mmap__read_self() (Michael Petlan) [1878555] - libperf tests: Add test_stat_multiplexing test (Michael Petlan) [1878555] - libperf: Remove scaling process from perf_mmap__read_self() (Michael Petlan) [1878555] - libperf: Adopt perf_counts_values__scale() from tools/perf/util (Michael Petlan) [1878555] - arm64: perf: Don't register user access sysctl handler multiple times (Michael Petlan) [1878555] - Documentation: arm64: Document PMU counters access from userspace (Michael Petlan) [1878555] - arm64: perf: Enable PMU counter userspace access for perf event (Michael Petlan) [1878555] - arm64: perf: Add support for ARMv8.5-PMU 64-bit counters (Michael Petlan) [1878555] - arm64: perf: Clean up enable/disable calls (Michael Petlan) [1878555] - arm64: perf: Only advertise cap_user_time for arch_timer (Michael Petlan) [1878555] - arm64: perf: Implement correct cap_user_time (Michael Petlan) [1878555] - arm64: perf: Add userspace counter access disable switch (Michael Petlan) [1878555] - perf: Add a counter for number of user access events in context (Michael Petlan) [1878555] - x86: perf: Move RDPMC event flag to a common definition (Michael Petlan) [1878555] - Fix null ptr dereference crash due to premature release of ndlp. Upstream Status: RHEL-Only Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2034425 (Dick Kennedy) - lpfc updates for rh8.7 14.0.0.13 (Dick Kennedy) [2034425] - scsi: lpfc: Use sg_dma_address() and sg_dma_len() macros for NVMe I/O (Dick Kennedy) [2034425] - scsi: lpfc: Alter FPIN stat accounting logic (Dick Kennedy) [2034425] - scsi: lpfc: Decrement outstanding gidft_inp counter if lpfc_err_lost_link() (Dick Kennedy) [2034425] - scsi: lpfc: Use list_for_each_entry_safe() in rscn_recovery_check() (Dick Kennedy) [2034425] - scsi: lpfc: Fix ndlp put following a LOGO completion (Dick Kennedy) [2034425] - scsi: lpfc: Fix additional reference counting in lpfc_bsg_rport_els() (Dick Kennedy) [2034425] - scsi: lpfc: Fix resource leak in lpfc_sli4_send_seq_to_ulp() (Dick Kennedy) [2034425] - scsi: lpfc: Remove unneeded variable (Dick Kennedy) [2034425] - scsi: lpfc: Copyright updates for 14.2.0.2 patches (Dick Kennedy) [2034425] - scsi: lpfc: Expand setting ELS_ID field in ELS_REQUEST64_WQE (Dick Kennedy) [2034425] - scsi: lpfc: Update stat accounting for READ_STATUS mbox command (Dick Kennedy) [2034425] - scsi: lpfc: Change FA-PWWN detection methodology (Dick Kennedy) [2034425] - scsi: lpfc: Register for Application Services FC-4 type in Fabric topology (Dick Kennedy) [2034425] - scsi: lpfc: Remove false FDMI NVMe FC-4 support for NPIV ports (Dick Kennedy) [2034425] - scsi: lpfc: Revise FDMI reporting of supported port speed for trunk groups (Dick Kennedy) [2034425] - scsi: lpfc: Fix call trace observed during I/O with CMF enabled (Dick Kennedy) [2034425] - scsi: lpfc: Correct CRC32 calculation for congestion stats (Dick Kennedy) [2034425] - scsi: lpfc: Move MI module parameter check to handle dynamic disable (Dick Kennedy) [2034425] - scsi: lpfc: Remove unnecessary NULL pointer assignment for ELS_RDF path (Dick Kennedy) [2034425] - scsi: lpfc: Transition to NPR state upon LOGO cmpl if link down or aborted (Dick Kennedy) [2034425] - scsi: lpfc: Update fc_prli_sent outstanding only after guaranteed IOCB submit (Dick Kennedy) [2034425] - scsi: lpfc: Protect memory leak for NPIV ports sending PLOGI_RJT (Dick Kennedy) [2034425] - scsi: lpfc: Fix null pointer dereference after failing to issue FLOGI and PLOGI (Dick Kennedy) [2034425] - scsi: lpfc: Clear fabric topology flag before initiating a new FLOGI (Dick Kennedy) [2034425] - scsi: lpfc: Fix SCSI I/O completion and abort handler deadlock (Dick Kennedy) [2034425] - scsi: lpfc: Requeue SCSI I/O to upper layer when fw reports link down (Dick Kennedy) [2034425] - scsi: lpfc: Zero SLI4 fcp_cmnd buffer's fcpCntl0 field (Dick Kennedy) [2034425] - scsi: lpfc: Fix diagnostic fw logging after a function reset (Dick Kennedy) [2034425] - scsi: lpfc: Move cfg_log_verbose check before calling lpfc_dmp_dbg() (Dick Kennedy) [2034425] - scsi: lpfc: Tweak message log categories for ELS/FDMI/NVMe rescan (Dick Kennedy) [2034425] - scsi: lpfc: Fix queue failures when recovering from PCI parity error (Dick Kennedy) [2034425] - scsi: lpfc: Fix unload hang after back to back PCI EEH faults (Dick Kennedy) [2034425] - scsi: lpfc: Improve PCI EEH Error and Recovery Handling (Dick Kennedy) [2034425] - scsi: lpfc: Use kcalloc() (Dick Kennedy) [2034425] - scsi: lpfc: Fix typos in comments (Dick Kennedy) [2034425] - scsi: lpfc: Remove failing soft_wwn support (Dick Kennedy) [2034425] - scsi: lpfc: Reduce log messages seen after firmware download (Dick Kennedy) [2034425] - scsi: lpfc: Remove NVMe support if kernel has NVME_FC disabled (Dick Kennedy) [2034425] - scsi: lpfc: Remove redundant flush_workqueue() call (Dick Kennedy) [2034425] - scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write() (Dick Kennedy) [2034425] - scsi: lpfc: Use irq_set_affinity() (Dick Kennedy) [2034425] - time: Handle negative seconds correctly in timespec64_to_ns() (Íñigo Huguet) [2098634] - time: Prevent undefined behaviour in timespec64_to_ns() (Íñigo Huguet) [2098634] - mm,hwpoison: return -EBUSY when migration fails (Rafael Aquini) [2092671 2099510] - mm,hwpoison: remove drain_all_pages from shake_page (Rafael Aquini) [2092671] - mm,hwpoison: disable pcplists before grabbing a refcount (Rafael Aquini) [2092671] - mm,hwpoison: fix printing of page flags (Rafael Aquini) [2092671] - mm,hwpoison: refactor get_any_page (Rafael Aquini) [2092671] - mm,hwpoison: drop unneeded pcplist draining (Rafael Aquini) [2092671] - mm,hwpoison: drain pcplists before bailing out for non-buddy zero-refcount page (Rafael Aquini) [2092671] - redhat: Exclude cpufreq.h from kernel-headers (Patrick Talbert)- dm raid: fix accesses beyond end of raid member array (Benjamin Marzinski) [2012340] - dm mirror log: clear log bits up to BITS_PER_LONG boundary (Benjamin Marzinski) [2012340] - dm: fix BLK_STS_DM_REQUEUE handling when dm_io represents split bio (Benjamin Marzinski) [2012340] - dm mirror log: round up region bitmap size to BITS_PER_LONG (Benjamin Marzinski) [2012340] - dm: improve abnormal bio processing (Benjamin Marzinski) [2012340] - dm: simplify bio-based IO accounting further (Benjamin Marzinski) [2012340] - dm: don't grab target io reference in dm_zone_map_bio (Benjamin Marzinski) [2012340] - dm: improve bio splitting and associated IO accounting (Benjamin Marzinski) [2012340] - dm era: commit metadata in postsuspend after worker stops (Benjamin Marzinski) [2012340] - dm: fix race in dm_start_io_acct (Benjamin Marzinski) [2012340] - block: remove bioset_init_from_src (Benjamin Marzinski) [2012340] - dm: fix bio_set allocation (Benjamin Marzinski) [2012340] - dm verity: set DM_TARGET_IMMUTABLE feature flag (Benjamin Marzinski) [2012340] - dm cache metadata: remove unnecessary variable in __dump_mapping (Benjamin Marzinski) [2012340] - dm mpath: provide high-resolution timer to HST for bio-based (Benjamin Marzinski) [2012340] - dm crypt: make printing of the key constant-time (Benjamin Marzinski) [2012340] - dm integrity: fix error code in dm_integrity_ctr() (Benjamin Marzinski) [2012340] - dm stats: add cond_resched when looping over entries (Benjamin Marzinski) [2012340] - dm: improve dm_io reference counting (Benjamin Marzinski) [2012340] - dm: switch to bdev based IO accounting interfaces (Benjamin Marzinski) [2012340] - block: add sectors parameter to bio_start_io_acct_time() (Benjamin Marzinski) [2012340] - dm: pass dm_io instance to dm_io_acct directly (Benjamin Marzinski) [2012340] - dm: don't pass bio to __dm_start_io_acct and dm_end_io_acct (Benjamin Marzinski) [2012340] - dm: use bio_sectors in dm_aceept_partial_bio (Benjamin Marzinski) [2012340] - dm: simplify basic targets (Benjamin Marzinski) [2012340] - dm: conditionally enable branching for less used features (Benjamin Marzinski) [2012340] - dm: move hot dm_io members to same cacheline as dm_target_io (Benjamin Marzinski) [2012340] - dm: add local variables to clone_endio and __map_bio (Benjamin Marzinski) [2012340] - dm: mark various branches unlikely (Benjamin Marzinski) [2012340] - dm: simplify dm_start_io_acct (Benjamin Marzinski) [2012340] - dm: simplify dm_io access in dm_split_and_process_bio (Benjamin Marzinski) [2012340] - dm: factor out dm_io_set_error and __dm_io_dec_pending (Benjamin Marzinski) [2012340] - block: fix offset/size check in bio_trim() (Benjamin Marzinski) [2012340] - block: fix argument type of bio_trim() (Benjamin Marzinski) [2012340] - dm: allow dm_accept_partial_bio() for dm_io without duplicate bios (Benjamin Marzinski) [2012340] - dm mpath: only use ktime_get_ns() in historical selector (Benjamin Marzinski) [2012340] - dm: fix dm_io and dm_target_io flags race condition on Alpha (Benjamin Marzinski) [2012340] - dm integrity: set journal entry unused when shrinking device (Benjamin Marzinski) [2012340] - dm ioctl: log an error if the ioctl structure is corrupted (Benjamin Marzinski) [2012340] - dm: consolidate spinlocks in dm_io struct (Benjamin Marzinski) [2012340] - dm: reduce size of dm_io and dm_target_io structs (Benjamin Marzinski) [2012340] - dm: switch dm_target_io booleans over to proper flags (Benjamin Marzinski) [2012340] - dm: switch dm_io booleans over to proper flags (Benjamin Marzinski) [2012340] - dm: return void from __send_empty_flush (Benjamin Marzinski) [2012340] - dm: factor out dm_io_complete (Benjamin Marzinski) [2012340] - dm cache: use dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm: simplify dm_sumbit_bio_remap interface (Benjamin Marzinski) [2012340] - dm thin: use dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm: add WARN_ON_ONCE to dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm: requeue IO if mapping table not yet available (Benjamin Marzinski) [2012340] - dm thin metadata: remove unused dm_thin_remove_block and __remove (Benjamin Marzinski) [2012340] - dm thin: use time_is_before_jiffies instead of open coding it (Benjamin Marzinski) [2012340] - dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS (Benjamin Marzinski) [2012340] - dm ioctl: prevent potential spectre v1 gadget (Benjamin Marzinski) [2012340] - dm cache policy smq: make static read-only array table const (Benjamin Marzinski) [2012340] - dm delay: use dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm crypt: use dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm: add dm_submit_bio_remap interface (Benjamin Marzinski) [2012340] - dm: flag clones created by __send_duplicate_bios (Benjamin Marzinski) [2012340] - dm: reduce dm_io and dm_target_io struct sizes (Benjamin Marzinski) [2012340] - dm: move duplicate code from callers of alloc_tio into alloc_tio (Benjamin Marzinski) [2012340] - dm: record old_sector in dm_target_io before calling map function (Benjamin Marzinski) [2012340] - dm: remove legacy code only needed before submit_bio recursion (Benjamin Marzinski) [2012340] - dm: remove unused mapped_device argument from free_tio (Benjamin Marzinski) [2012340] - dm: remove impossible BUG_ON in __send_empty_flush (Benjamin Marzinski) [2012340] - dm: reduce code duplication in __map_bio (Benjamin Marzinski) [2012340] - dm: refactor dm_split_and_process_bio a bit (Benjamin Marzinski) [2012340] - dm: fold __clone_and_map_data_bio into __split_and_process_bio (Benjamin Marzinski) [2012340] - dm: rename split functions (Benjamin Marzinski) [2012340] - dm: eliminate copying of dm_io fields in dm_io_dec_pending (Benjamin Marzinski) [2012340] - dm ioctl: return UUID in DM_LIST_DEVICES_CMD result (Benjamin Marzinski) [2012340] - dm crypt: support using trusted keys (Benjamin Marzinski) [2012340] - dm crypt: replaced #if defined with IS_ENABLED (Benjamin Marzinski) [2012340] - ext4: add check to prevent attempting to resize an fs with sparse_super2 (Lukas Czerner) [2077760] - fscache: Avoid ASSERTCMP if two threads race into fscache_disable_cookie (Dave Wysochanski) [2073260] - lib: bitmap: Introduce node-aware alloc API (Ivan Vecera) [2101701] - exec: Force single empty string when argv is empty (Rafael Aquini) [2100955] - powerpc: Enable execve syscall exit tracepoint (Steve Best) [2095521] - cgroup: disable controllers at parse time (Waiman Long) [2098264] - init: initialize jump labels before command line option parsing (Waiman Long) [2098264] - smp: Make softirq handling RT safe in flush_smp_call_function_queue() (Phil Auld) [2097364] - smp: Rename flush_smp_call_function_from_idle() (Phil Auld) [2097364] - cpupower: Add "perf" option to print AMD P-State information (Steve Best) [2059365] - cpupower: Add function to print AMD P-State performance capabilities (Steve Best) [2059365] - cpupower: Move print_speed function into misc helper (Steve Best) [2059365] - cpupower: Enable boost state support for AMD P-State module (Steve Best) [2059365] - cpupower: Add AMD P-State sysfs definition and access helper (Steve Best) [2059365] - cpupower: Introduce ACPI CPPC library (Steve Best) [2059365] - cpupower: Add the function to get the sysfs value from specific table (Steve Best) [2059365] - cpupower: Initial AMD P-State capability (Steve Best) [2059365] - cpupower: Add the function to check AMD P-State enabled (Steve Best) [2059365] - cpupower: Add AMD P-State capability flag (Steve Best) [2059365] - tools/power/cpupower/{ToDo => TODO}: Rename the todo file (Steve Best) [2059365] - tools: cpupower: fix typo in cpupower-idle-set(1) manpage (Steve Best) [2059365] - ntb: intel: fix port config status offset for SPR (John W. Linville) [2048750] - NTB/msi: Use struct_size() helper in devm_kzalloc() (John W. Linville) [2048750] - ntb_hw_switchtec: Fix a minor issue in config_req_id_table() (John W. Linville) [2048750] - ntb_hw_switchtec: Remove code for disabling ID protection (John W. Linville) [2048750] - ntb_hw_switchtec: Update the way of getting VEP instance ID (John W. Linville) [2048750] - ntb_hw_switchtec: AND with the part_map for a valid tpart_vec (John W. Linville) [2048750] - ntb_hw_switchtec: Fix bug with more than 32 partitions (John W. Linville) [2048750] - ntb_hw_switchtec: Fix pff ioread to read into mmio_part_cfg_all (John W. Linville) [2048750] - ntb_hw_switchtec: fix the spelling of "its" (John W. Linville) [2048750] - NTB/msi: Fix ntbm_msi_request_threaded_irq() kernel-doc comment (John W. Linville) [2048750] - NTB: switch from 'pci_' to 'dma_' API (John W. Linville) [2048750] - ntb: ntb_pingpong: remove redundant initialization of variables msg_data and spad_data (John W. Linville) [2048750] - NTB: perf: Fix an error code in perf_setup_inbuf() (John W. Linville) [2048750] - NTB: Fix an error code in ntb_msit_probe() (John W. Linville) [2048750] - ntb: intel: remove invalid email address in header comment (John W. Linville) [2048750] - NTB: Add support for EPF PCI Non-Transparent Bridge (John W. Linville) [2048750] - ntb: intel: add Intel NTB LTR vendor support for gen4 NTB (John W. Linville) [2048750] - ntb: idt: fix error check in ntb_hw_idt.c (John W. Linville) [2048750]- KVM: x86: Fix the intel_pt PMI handling wrongly considered from guest (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Don't rebuild page when the page is synced and no tlb flushing is required (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Verify the pmu event filter matches the correct event (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Add the helper function create_pmu_event_filter (Vitaly Kuznetsov) [2074835] - kvm: x86/pmu: Fix the compare function used by the pmu event filter (Vitaly Kuznetsov) [2074835] - KVM: Free new dirty bitmap if creating a new memslot fails (Vitaly Kuznetsov) [2074835] - KVM: Initialize debugfs_dentry when a VM is created to avoid NULL deref (Vitaly Kuznetsov) [2074835] - tools arch x86: Sync asm/cpufeatures.h with the with the kernel (Vitaly Kuznetsov) [2074835] - KVM: PPC: Book3S HV: Fix kvm_unmap_gfn_range_hv() for Hash MMU (Vitaly Kuznetsov) [2074835] - KVM: PPC: Book3S HV: Fix conversion to gfn-based MMU notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: arm64: Fix boolreturn.cocci warnings (Vitaly Kuznetsov) [2074835] - KVM: VMX: Exit to userspace if vCPU has injected exception and invalid state (Vitaly Kuznetsov) [2074835] - KVM: SEV: Mark nested locking of vcpu->lock (Vitaly Kuznetsov) [2074835] - kvm: x86/cpuid: Only provide CPUID leaf 0xA if host has architectural PMU (Vitaly Kuznetsov) [2074835] - KVM: x86/svm: Account for family 17h event renumberings in amd_pmc_perf_hw_id (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Use atomic XCHG to write TDP MMU SPTEs with volatile bits (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move shadow-present check out of spte_has_volatile_bits() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Don't treat fully writable SPTEs as volatile (modulo A/D) (Vitaly Kuznetsov) [2074835] - selftests: kvm: add amx_test to .gitignore (Vitaly Kuznetsov) [2074835] - Revert "x86/mm: Introduce lookup_address_in_mm()" (Vitaly Kuznetsov) [2074835] - KVM: x86: work around QEMU issue with synthetic CPUID leaves (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: fix potential races when walking host page table (Vitaly Kuznetsov) [2074835] - Documentation: KVM: Update documentation to indicate KVM is arm64-only (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Do not create SPTEs for GFNs that exceed host.MAXPHYADDR (Vitaly Kuznetsov) [2074835] - kvm: selftests: introduce and use more page size-related constants (Vitaly Kuznetsov) [2074835] - kvm: selftests: do not use bitfields larger than 32-bits for PTEs (Vitaly Kuznetsov) [2074835] - KVM: SEV: add cache flush to solve SEV cache incoherency issues (Vitaly Kuznetsov) [2074835] - KVM: SVM: Flush when freeing encrypted pages even on SME_COHERENT CPUs (Vitaly Kuznetsov) [2074835] - KVM: SVM: Simplify and harden helper to flush SEV guest page(s) (Vitaly Kuznetsov) [2074835] - KVM: selftests: Silence compiler warning in the kvm_page_table_test (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Update AMD PMC sample period to fix guest NMI-watchdog (Vitaly Kuznetsov) [2074835] - x86/kvm: Preserve BSP MSR_KVM_POLL_CONTROL across suspend/resume (Vitaly Kuznetsov) [2074835] - KVM: x86: Skip KVM_GUESTDBG_BLOCKIRQ APICv update if APICv is disabled (Vitaly Kuznetsov) [2074835] - KVM: x86: Pend KVM_REQ_APICV_UPDATE during vCPU creation to fix a race (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Defer APICv updates while L2 is active until L1 is active (Vitaly Kuznetsov) [2074835] - KVM: x86: Tag APICv DISABLE inhibit, not ABSENT, if APICv is disabled (Vitaly Kuznetsov) [2074835] - KVM: Add helpers to wrap vcpu->srcu_idx and yell if it's abused (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't re-acquire SRCU lock in complete_emulated_io() (Vitaly Kuznetsov) [2074835] - tools headers UAPI: Sync linux/kvm.h with the kernel sources (Vitaly Kuznetsov) [2074835] - tools arch x86: Sync the msr-index.h copy with the kernel sources (Vitaly Kuznetsov) [2074835] - tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources (Vitaly Kuznetsov) [2074835] - tools headers UAPI: Sync linux/kvm.h with the kernel sources (Vitaly Kuznetsov) [2074835] - KVM: selftests: arm64: Check for supported page sizes (Vitaly Kuznetsov) [2074835] - KVM: selftests: arm64: Initialise default guest mode at test startup time (Vitaly Kuznetsov) [2074835] - KVM: selftests: arm64: Introduce a variable default IPA size (Vitaly Kuznetsov) [2074835] - KVM: selftests: arm64: Rework TCR_EL1 configuration (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Avoid writing to TSC page without an active vCPU (Vitaly Kuznetsov) [2074835] - KVM: SVM: Do not activate AVIC for SEV-enabled guest (Vitaly Kuznetsov) [2074835] - selftests: kvm: add tsc_scaling_sync to .gitignore (Vitaly Kuznetsov) [2074835] - KVM: Don't create VM debugfs files outside of the VM directory (Vitaly Kuznetsov) [2074835] - KVM: avoid NULL pointer dereference in kvm_dirty_ring_push (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: remove unnecessary flush_workqueue() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Resolve nx_huge_pages when kvm.ko is loaded (Vitaly Kuznetsov) [2074835] - KVM: SEV: Add cond_resched() to loop in sev_clflush_pages() (Vitaly Kuznetsov) [2074835] - KVM: x86: fix sending PV IPI (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: do compare-and-exchange of gPTE via the user address (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove redundant vm_entry_controls_clearbit() call (Vitaly Kuznetsov) [2074835] - KVM: x86: cleanup enter_rmode() (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: fix tsc scaling when the host doesn't support it (Vitaly Kuznetsov) [2074835] - kvm: x86: SVM: remove unused defines (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: move tsc ratio definitions to svm.h (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: fix avic spec based definitions again (Vitaly Kuznetsov) [2074835] - KVM: x86: Only do MSR filtering when access MSR by rdmsr/wrmsr (Vitaly Kuznetsov) [2074835] - KVM: x86/emulator: Emulate RDPID only if it is enabled in guest (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Fix and isolate TSX-specific performance event logic (Vitaly Kuznetsov) [2074835] - KVM: x86: mmu: trace kvm_mmu_set_spte after the new SPTE was set (Vitaly Kuznetsov) [2074835] - KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs (Vitaly Kuznetsov) [2074835] - KVM: x86: Trace all APICv inhibit changes and capture overall status (Vitaly Kuznetsov) [2074835] - KVM: x86: Add wrappers for setting/clearing APICv inhibits (Vitaly Kuznetsov) [2074835] - KVM: x86: Make APICv inhibit reasons an enum and cleanup naming (Vitaly Kuznetsov) [2074835] - KVM: X86: Handle implicit supervisor access with SMAP (Vitaly Kuznetsov) [2074835] - KVM: X86: Rename variable smap to not_smap in permission_fault() (Vitaly Kuznetsov) [2074835] - KVM: X86: Fix comments in update_permission_bitmask (Vitaly Kuznetsov) [2074835] - KVM: X86: Change the type of access u32 to u64 (Vitaly Kuznetsov) [2074835] - KVM: Remove dirty handling from gfn_to_pfn_cache completely (Vitaly Kuznetsov) [2074835] - KVM: Use enum to track if cached PFN will be used in guest and/or host (Vitaly Kuznetsov) [2074835] - KVM: SVM: Fix kvm_cache_regs.h inclusions for is_guest_mode() (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Use different raw event masks for AMD and Intel (Vitaly Kuznetsov) [2074835] - KVM: Don't actually set a request when evicting vCPUs for GFN cache invd (Vitaly Kuznetsov) [2074835] - KVM: avoid double put_page with gfn-to-pfn cache (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap only TDP MMU leafs in zap range and mmu_notifier unmap (Vitaly Kuznetsov) [2074835] - KVM: SVM: fix panic on out-of-bounds guest IRQ (Vitaly Kuznetsov) [2074835] - KVM: MMU: propagate alloc_workqueue failure (Vitaly Kuznetsov) [2074835] - KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated (Vitaly Kuznetsov) [2074835] - KVM: x86: Avoid theoretical NULL pointer dereference in kvm_irq_delivery_to_apic_fast() (Vitaly Kuznetsov) [2074835] - KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix clang -Wimplicit-fallthrough in do_host_cpuid() (Vitaly Kuznetsov) [2074835] - Revert "KVM: set owner of cpu and vm file operations" (Vitaly Kuznetsov) [2074835] - KVM: Prevent module exit until all VMs are freed (Vitaly Kuznetsov) [2074835] - KVM: use kvcalloc for array allocations (Vitaly Kuznetsov) [2074835] - KVM: x86: Introduce KVM_CAP_DISABLE_QUIRKS2 (Vitaly Kuznetsov) [2074835] - kvm: x86: Require const tsc for RT (Vitaly Kuznetsov) [2074835] - KVM: x86: synthesize CPUID leaf 0x80000021h if useful (Vitaly Kuznetsov) [2074835] - KVM: x86: add support for CPUID leaf 0x80000021 (Vitaly Kuznetsov) [2074835] - Revert "KVM: x86/mmu: Zap only TDP MMU leafs in kvm_zap_gfn_range()" (Vitaly Kuznetsov) [2074835] - kvm: x86/mmu: Flush TLB before zap_gfn_range releases RCU (Vitaly Kuznetsov) [2074835] - kvm/emulate: Fix SETcc emulation function offsets with SLS (Vitaly Kuznetsov) [2074835] - KVM: compat: riscv: Prevent KVM_COMPAT from being selected (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add test to populate a VM with the max possible guest mem (Vitaly Kuznetsov) [2074835] - KVM: selftests: Define cpu_relax() helpers for s390 and x86 (Vitaly Kuznetsov) [2074835] - KVM: selftests: Split out helper to allocate guest mem via memfd (Vitaly Kuznetsov) [2074835] - KVM: selftests: add shared hugetlbfs backing source type (Vitaly Kuznetsov) [2074835] - KVM: selftests: Move raw KVM_SET_USER_MEMORY_REGION helper to utils (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: WARN on any attempt to atomically update REMOVED SPTE (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Check for a REMOVED leaf SPTE before making the SPTE (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap defunct roots via asynchronous worker (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap roots in two passes to avoid inducing RCU stalls (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow yielding when zapping GFNs for defunct TDP MMU root (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap invalidated roots via asynchronous worker (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Defer TLB flush to caller when freeing TDP MMU shadow pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Do remote TLB flush before dropping RCU in TDP MMU resched (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap only TDP MMU leafs in kvm_zap_gfn_range() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Require mmu_lock be held for write to zap TDP MMU range (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Add dedicated helper to zap TDP MMU root shadow page (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Skip remote TLB flush when zapping all of TDP MMU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap only the target TDP MMU shadow page in NX recovery (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Refactor low-level TDP MMU set SPTE helper to take raw values (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: WARN if old _or_ new SPTE is REMOVED in non-atomic path (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Add helpers to read/write TDP MMU SPTEs and document RCU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop RCU after processing each root in MMU notifier hooks (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Batch TLB flushes from TDP MMU for MMU notifier change_spte (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Check for !leaf=>leaf, not PFN change, in TDP MMU SP removal (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: do not allow readers to acquire references to invalid roots (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: only perform eager page splitting on valid roots (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Require mmu_lock be held for write in unyielding root iter (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Document that zapping invalidated roots doesn't need to flush (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Formalize TDP MMU's (unintended?) deferred TLB flush logic (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fix wrong/misleading comments in TDP MMU fast zap (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU (Vitaly Kuznetsov) [2074835] - selftests: kvm: add generated file to the .gitignore (Vitaly Kuznetsov) [2074835] - KVM: x86: pull kvm->srcu read-side to kvm_arch_vcpu_ioctl_run (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Passing up the error state of mmu_alloc_shadow_roots() (Vitaly Kuznetsov) [2074835] - KVM: SVM: Disable preemption across AVIC load/put during APICv refresh (Vitaly Kuznetsov) [2074835] - KVM: SVM: Exit to userspace on ENOMEM/EFAULT GHCB errors (Vitaly Kuznetsov) [2074835] - KVM: WARN if is_unsync_root() is called on a root without a shadow page (Vitaly Kuznetsov) [2074835] - KVM: Drop KVM_REQ_MMU_RELOAD and update vcpu-requests.rst documentation (Vitaly Kuznetsov) [2074835] - KVM: s390: Replace KVM_REQ_MMU_RELOAD usage with arch specific request (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap only obsolete roots if a root shadow page is zapped (Vitaly Kuznetsov) [2074835] - KVM: Drop kvm_reload_remote_mmus(), open code request in x86 users (Vitaly Kuznetsov) [2074835] - KVM: x86: Invoke kvm_mmu_unload() directly on CR4.PCIDE change (Vitaly Kuznetsov) [2074835] - KVM: x86/emulator: Move the unhandled outer privilege level logic of far return into __load_segment_descriptor() (Vitaly Kuznetsov) [2074835] - KVM: x86/emulator: Fix wrong privilege check for code segment in __load_segment_descriptor() (Vitaly Kuznetsov) [2074835] - KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor() (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add test to verify KVM handling of ICR (Vitaly Kuznetsov) [2074835] - KVM: x86: Make kvm_lapic_set_reg() a "private" xAPIC helper (Vitaly Kuznetsov) [2074835] - KVM: x86: Treat x2APIC's ICR as a 64-bit register, not two 32-bit regs (Vitaly Kuznetsov) [2074835] - KVM: x86: Add helpers to handle 64-bit APIC MSR read/writes (Vitaly Kuznetsov) [2074835] - KVM: x86: Make kvm_lapic_reg_{read,write}() static (Vitaly Kuznetsov) [2074835] - KVM: x86: WARN if KVM emulates an IPI without clearing the BUSY flag (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't rewrite guest ICR on AVIC IPI virtualization failure (Vitaly Kuznetsov) [2074835] - KVM: SVM: Use common kvm_apic_write_nodecode() for AVIC write traps (Vitaly Kuznetsov) [2074835] - KVM: x86: Use "raw" APIC register read for handling APIC-write VM-Exit (Vitaly Kuznetsov) [2074835] - KVM: VMX: Handle APIC-write offset wrangling in VMX code (Vitaly Kuznetsov) [2074835] - KVM: x86: Do not change ICR on write to APIC_SELF_IPI (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix emulation in writing cr8 (Vitaly Kuznetsov) [2074835] - KVM: x86: flush TLB separately from MMU reset (Vitaly Kuznetsov) [2074835] - KVM: x86: Yield to IPI target vCPU only if it is busy (Vitaly Kuznetsov) [2074835] - x86/kvmclock: Fix Hyper-V Isolated VM's boot issue when vCPUs > 64 (Vitaly Kuznetsov) [2074835] - x86/kvm: Don't waste memory if kvmclock is disabled (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: clear MMIO cache when unloading the MMU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Always use current mmu's role when loading new PGD (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: load new PGD after the shadow MMU is initialized (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: look for a cached PGD when going from 32-bit to 64-bit (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: do not pass vcpu to root freeing functions (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: do not consult levels when freeing roots (Vitaly Kuznetsov) [2074835] - KVM: x86: use struct kvm_mmu_root_info for mmu->root (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: avoid NULL-pointer dereference on page freeing bugs (Vitaly Kuznetsov) [2074835] - KVM: x86: do not deliver asynchronous page faults if CR0.PG=0 (Vitaly Kuznetsov) [2074835] - KVM: x86: Reinitialize context if host userspace toggles EFER.LME (Vitaly Kuznetsov) [2074835] - KVM: selftests: Verify disabling PMU virtualization via KVM_CAP_CONFIG_PMU (Vitaly Kuznetsov) [2074835] - KVM: selftests: Carve out helper to create "default" VM without vCPUs (Vitaly Kuznetsov) [2074835] - KVM: x86: Provide per VM capability for disabling PMU virtualization (Vitaly Kuznetsov) [2074835] - KVM: Move VM's worker kthreads back to the original cgroup before exiting. (Vitaly Kuznetsov) [2074835] - KVM: VMX: Remove scratch 'cpu' variable that shadows an identical scratch var (Vitaly Kuznetsov) [2074835] - kvm: vmx: Fix typos comment in __loaded_vmcs_clear() (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Make setup/unsetup under the same conditions (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: HVCALL_SEND_IPI_EX is an XMM fast hypercall (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Fix the maximum number of sparse banks for XMM fast TLB flush hypercalls (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_flush_tlb() (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_send_ipi() (Vitaly Kuznetsov) [2074835] - Revert "KVM: VMX: Save HOST_CR3 in vmx_prepare_switch_to_guest()" (Vitaly Kuznetsov) [2074835] - Revert "KVM: VMX: Save HOST_CR3 in vmx_set_host_fs_gs()" (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: disallow userspace setting of MSR_AMD64_TSC_RATIO to non default value when tsc scaling disabled (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: make apf token non-zero to fix bug (Vitaly Kuznetsov) [2074835] - selftests: kvm: Add the uapi headers include variable (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add EXTRA_CFLAGS in top-level Makefile (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove MMU auditing (Vitaly Kuznetsov) [2074835] - KVM: x86: make several APIC virtualization callbacks optional (Vitaly Kuznetsov) [2074835] - KVM: x86: warn on incorrectly NULL members of kvm_x86_ops (Vitaly Kuznetsov) [2074835] - KVM: x86: remove KVM_X86_OP_NULL and mark optional kvm_x86_ops (Vitaly Kuznetsov) [2074835] - KVM: x86: use static_call_cond for optional callbacks (Vitaly Kuznetsov) [2074835] - KVM: x86: return 1 unconditionally for availability of KVM_CAP_VAPIC (Vitaly Kuznetsov) [2074835] - selftests: KVM: allow sev_migrate_tests on machines without SEV-ES (Vitaly Kuznetsov) [2074835] - KVM: SEV: Allow SEV intra-host migration of VM with mirrors (Vitaly Kuznetsov) [2074835] - x86/kvm: Fix compilation warning in non-x86_64 builds (Vitaly Kuznetsov) [2074835] - kvm: x86: Disable KVM_HC_CLOCK_PAIRING if tsc is in always catchup mode (Vitaly Kuznetsov) [2074835] - KVM: Fix lockdep false negative during host resume (Vitaly Kuznetsov) [2074835] - KVM: x86: Add KVM_CAP_ENABLE_CAP to x86 (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename AVIC helpers to use "avic" prefix instead of "svm" (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Use AMD64_RAW_EVENT_MASK for PERF_TYPE_RAW (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Don't truncate the PerfEvtSeln MSR when creating a perf event (Vitaly Kuznetsov) [2074835] - KVM: x86: Replace memset() "optimization" with normal per-field writes (Vitaly Kuznetsov) [2074835] - KVM: SVM: fix race between interrupt delivery and AVIC inhibition (Vitaly Kuznetsov) [2074835] - KVM: SVM: set IRR in svm_deliver_interrupt (Vitaly Kuznetsov) [2074835] - KVM: SVM: extract avic_ring_doorbell (Vitaly Kuznetsov) [2074835] - selftests: kvm: Remove absent target file (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use local pointer to vcpu_vmx in vmx_vcpu_after_set_cpuid() (Vitaly Kuznetsov) [2074835] - KVM: selftests: nSVM: Add enlightened MSR-Bitmap selftest (Vitaly Kuznetsov) [2074835] - KVM: selftests: nSVM: Update 'struct vmcb_control_area' definition (Vitaly Kuznetsov) [2074835] - KVM: selftests: nSVM: Set up MSR-Bitmap for SVM guests (Vitaly Kuznetsov) [2074835] - KVM: selftests: nVMX: Add enlightened MSR-Bitmap selftest (Vitaly Kuznetsov) [2074835] - KVM: selftests: nVMX: Properly deal with 'hv_clean_fields' (Vitaly Kuznetsov) [2074835] - KVM: selftests: Adapt hyperv_cpuid test to the newly introduced Enlightened MSR-Bitmap (Vitaly Kuznetsov) [2074835] - KVM: nSVM: Implement Enlightened MSR-Bitmap feature (Vitaly Kuznetsov) [2074835] - KVM: nSVM: Split off common definitions for Hyper-V on KVM and KVM on Hyper-V (Vitaly Kuznetsov) [2074835] - KVM: x86: Make kvm_hv_hypercall_enabled() static inline (Vitaly Kuznetsov) [2074835] - KVM: nSVM: Track whether changes in L0 require MSR bitmap for L2 to be rebuilt (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add an option to disable MANUAL_PROTECT_ENABLE and INITIALLY_SET (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Add tracepoint for splitting huge pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Split huge pages mapped by the TDP MMU during KVM_CLEAR_DIRTY_LOG (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Split huge pages mapped by the TDP MMU when dirty logging is enabled (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Separate TDP MMU shadow page allocation and initialization (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Derive page role for TDP MMU shadow pages from parent (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove redundant role overrides for TDP MMU shadow pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Refactor TDP MMU iterators to take kvm_mmu_page root (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move restore_acc_track_spte() to spte.h (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop new_spte local variable from restore_acc_track_spte() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove unnecessary warnings from restore_acc_track_spte() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Consolidate logic to atomically install a new TDP MMU page table (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename handle_removed_tdp_mmu_page() to handle_removed_pt() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename TDP MMU functions that handle shadow pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Change tdp_mmu_{set,zap}_spte_atomic() to return 0/-EBUSY (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Automatically update iter->old_spte if cmpxchg fails (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename __rmap_write_protect() to rmap_write_protect() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename rmap_write_protect() to kvm_vcpu_write_protect_gfn() (Vitaly Kuznetsov) [2074835] - KVM: x86: Add checks for reserved-to-zero Hyper-V hypercall fields (Vitaly Kuznetsov) [2074835] - KVM: x86: Reject fixeds-size Hyper-V hypercalls with non-zero "var_cnt" (Vitaly Kuznetsov) [2074835] - KVM: x86: Shove vp_bitmap handling down into sparse_set_to_vcpu_mask() (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't bother reading sparse banks that end up being ignored (Vitaly Kuznetsov) [2074835] - KVM: x86: Add a helper to get the sparse VP_SET for IPIs and TLB flushes (Vitaly Kuznetsov) [2074835] - KVM: x86: Refactor kvm_hv_flush_tlb() to reduce indentation (Vitaly Kuznetsov) [2074835] - KVM: x86: Get the number of Hyper-V sparse banks from the VARHEAD field (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Consolidate comments about {Host,MMU}-writable (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename DEFAULT_SPTE_MMU_WRITEABLE to DEFAULT_SPTE_MMU_WRITABLE (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move is_writable_pte() to spte.h (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Check SPTE writable invariants when setting leaf SPTEs (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move SPTE writable invariant checks to a helper function (Vitaly Kuznetsov) [2074835] - KVM: LAPIC: Enable timer posted-interrupt only when mwait/hlt is advertised (Vitaly Kuznetsov) [2074835] - KVM: VMX: Dont' send posted IRQ if vCPU == this vCPU and vCPU is IN_GUEST_MODE (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename hook implementations to conform to kvm_x86_ops' names (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename SEV implemenations to conform to kvm_x86_ops hooks (Vitaly Kuznetsov) [2074835] - KVM: x86: Use more verbose names for mem encrypt kvm_x86_ops hooks (Vitaly Kuznetsov) [2074835] - KVM: SVM: Remove unused MAX_INST_SIZE #define (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename svm_flush_tlb() to svm_flush_tlb_current() (Vitaly Kuznetsov) [2074835] - KVM: x86: Move get_cs_db_l_bits() helper to SVM (Vitaly Kuznetsov) [2074835] - KVM: VMX: Rename VMX functions to conform to kvm_x86_ops names (Vitaly Kuznetsov) [2074835] - KVM: x86: Use static_call() for copy/move encryption context ioctls() (Vitaly Kuznetsov) [2074835] - KVM: x86: Unexport kvm_x86_ops (Vitaly Kuznetsov) [2074835] - KVM: x86: Uninline and export hv_track_root_tdp() (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Refactor PMU refresh to avoid referencing kvm_x86_ops.pmu_ops (Vitaly Kuznetsov) [2074835] - KVM: xen: Use static_call() for invoking kvm_x86_ops hooks (Vitaly Kuznetsov) [2074835] - KVM: x86: Use static_call() for .vcpu_deliver_sipi_vector() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Call vmx_get_cpl() directly in handle_dr() (Vitaly Kuznetsov) [2074835] - KVM: x86: Rename kvm_x86_ops pointers to align w/ preferred vendor names (Vitaly Kuznetsov) [2074835] - KVM: x86: Drop export for .tlb_flush_current() static_call key (Vitaly Kuznetsov) [2074835] - KVM: x86: skip host CPUID call for hypervisor leaves (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove unused "flags" of kvm_pv_kick_cpu_op() (Vitaly Kuznetsov) [2074835] - KVM: Remove unused "kvm" of kvm_make_vcpu_request() (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove unused "vcpu" of kvm_scale_tsc() (Vitaly Kuznetsov) [2074835] - KVM: x86/emulate: Remove unused "tss_selector" of task_switch_{16, 32}() (Vitaly Kuznetsov) [2074835] - KVM: x86/emulate: Remove unused "ctxt" of setup_syscalls_segments() (Vitaly Kuznetsov) [2074835] - KVM: x86/ioapic: Remove unused "addr" and "length" of ioapic_read_indirect() (Vitaly Kuznetsov) [2074835] - KVM: x86/i8259: Remove unused "addr" of elcr_ioport_{read,write}() (Vitaly Kuznetsov) [2074835] - KVM: SVM: improve split between svm_prepare_guest_switch and sev_es_prepare_guest_switch (Vitaly Kuznetsov) [2074835] - KVM: x86/svm: Remove unused "vcpu" of svm_check_exit_valid() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu_audit: Remove unused "level" of audit_spte_after_sync() (Vitaly Kuznetsov) [2074835] - KVM: x86/tdp_mmu: Remove unused "kvm" of kvm_tdp_mmu_get_root() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove unused "vcpu" of reset_{tdp,ept}_shadow_zero_bits_mask() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove unused "kvm" of __rmap_write_protect() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove unused "kvm" of kvm_mmu_unlink_parents() (Vitaly Kuznetsov) [2074835] - KVM: x86: Skip APICv update if APICv is disable at the module level (Vitaly Kuznetsov) [2074835] - KVM: x86: Drop NULL check on kvm_x86_ops.check_apicv_inhibit_reasons (Vitaly Kuznetsov) [2074835] - KVM: x86: Unexport __kvm_request_apicv_update() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap _all_ roots when unmapping gfn range in TDP MMU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move "invalid" check out of kvm_tdp_mmu_get_root() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Use common TDP MMU zap helper for MMU notifier unmap hook (Vitaly Kuznetsov) [2074835] - KVM: x86/xen: Fix runstate updates to be atomic when preempting vCPU (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: move avic definitions from AMD's spec to svm.h (Vitaly Kuznetsov) [2074835] - KVM: x86: lapic: don't touch irr_pending in kvm_apic_update_apicv when inhibiting it (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: deal with L1 hypervisor that intercepts interrupts but lets L2 control them (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: expose clean bit support to the guest (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM/nVMX: set nested_run_pending on VM entry which is a result of RSM (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: mark vmcb01 as dirty when restoring SMM saved state (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: fix potential NULL derefernce on nested migration (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: don't passthrough SMAP/SMEP/PKE bits in !NPT && !gCR0.PG case (Vitaly Kuznetsov) [2074835] - Revert "svm: Add warning message for AVIC IPI invalid target" (Vitaly Kuznetsov) [2074835] - selftests: KVM: Test OS lock behavior (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add OSLSR_EL1 to the list of blessed regs (Vitaly Kuznetsov) [2074835] - KVM: x86: Report deprecated x87 features in supported CPUID (Vitaly Kuznetsov) [2074835] - x86/cpufeatures: Add FDP_EXCPTN_ONLY and ZERO_FCS_FDS (Vitaly Kuznetsov) [2074835] - KVM: x86: use the KVM side max supported fixed counter (Vitaly Kuznetsov) [2074835] - x86: Share definition of __is_canonical_address() (Vitaly Kuznetsov) [2074835] - perf/x86/intel/pt: Relax address filter validation (Vitaly Kuznetsov) [2074835] - KVM: x86: Move delivery of non-APICv interrupt into vendor code (Vitaly Kuznetsov) [2074835] - KVM: eventfd: Fix false positive RCU usage warning (Vitaly Kuznetsov) [2074835] - selftests: kvm: check dynamic bits against KVM_X86_XCOMP_GUEST_SUPP (Vitaly Kuznetsov) [2074835] - KVM: x86: Sync the states size with the XCR0/IA32_XSS at, any time (Vitaly Kuznetsov) [2074835] - KVM: x86: Update vCPU's runtime CPUID on write to MSR_IA32_XSS (Vitaly Kuznetsov) [2074835] - KVM: x86: Keep MSR_IA32_XSS unchanged for INIT (Vitaly Kuznetsov) [2074835] - KVM: x86: Free kvm_cpuid_entry2 array on post-KVM_RUN KVM_SET_CPUID{,2} (Vitaly Kuznetsov) [2074835] - KVM: nVMX: WARN on any attempt to allocate shadow VMCS for vmcs02 (Vitaly Kuznetsov) [2074835] - KVM: selftests: Don't skip L2's VMCALL in SMM test for SVM guest (Vitaly Kuznetsov) [2074835] - KVM: x86: Check .flags in kvm_cpuid_check_equal() too (Vitaly Kuznetsov) [2074835] - KVM: x86: Forcibly leave nested virt when SMM state is toggled (Vitaly Kuznetsov) [2074835] - KVM: SVM: drop unnecessary code in svm_hv_vmcb_dirty_nested_enlightenments() (Vitaly Kuznetsov) [2074835] - KVM: SVM: hyper-v: Enable Enlightened MSR-Bitmap support for real (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't kill SEV guest if SMAP erratum triggers in usermode (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't apply SEV+SMAP workaround on code fetch or PT access (Vitaly Kuznetsov) [2074835] - KVM: SVM: Inject #UD on attempted emulation for SEV guest w/o insn buffer (Vitaly Kuznetsov) [2074835] - KVM: SVM: WARN if KVM attempts emulation on #UD or #GP for SEV guests (Vitaly Kuznetsov) [2074835] - KVM: x86: Pass emulation type to can_emulate_instruction() (Vitaly Kuznetsov) [2074835] - KVM: SVM: Explicitly require DECODEASSISTS to enable SEV support (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't intercept #GP for SEV guests (Vitaly Kuznetsov) [2074835] - Revert "KVM: SVM: avoid infinite loop on NPF from bad address" (Vitaly Kuznetsov) [2074835] - KVM: SVM: Never reject emulation due to SMAP errata for !SEV guests (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: skip eax alignment check for non-SVM instructions (Vitaly Kuznetsov) [2074835] - KVM: LAPIC: Also cancel preemption timer during SET_LAPIC (Vitaly Kuznetsov) [2074835] - KVM: VMX: Remove vmcs_config.order (Vitaly Kuznetsov) [2074835] - KVM/X86: Make kvm_vcpu_reload_apic_access_page() static (Vitaly Kuznetsov) [2074835] - KVM: selftests: Re-enable access_tracking_perf_test (Vitaly Kuznetsov) [2074835] - KVM: VMX: Set vmcs.PENDING_DBG.BS on #DB in STI/MOVSS blocking shadow (Vitaly Kuznetsov) [2074835] - KVM: remove async parameter of hva_to_pfn_remapped() (Vitaly Kuznetsov) [2074835] - x86,kvm/xen: Remove superfluous .fixup usage (Vitaly Kuznetsov) [2074835] - KVM: VMX: Zero host's SYSENTER_ESP iff SYSENTER is NOT used (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Fix the warning in lib/x86_64/processor.c (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Fix the warning in pmu_event_filter_test.c (Vitaly Kuznetsov) [2074835] - kvm: selftests: Do not indent with spaces (Vitaly Kuznetsov) [2074835] - KVM: SVM: Nullify vcpu_(un)blocking() hooks if AVIC is disabled (Vitaly Kuznetsov) [2074835] - KVM: SVM: Move svm_hardware_setup() and its helpers below svm_x86_ops (Vitaly Kuznetsov) [2074835] - KVM: SVM: Drop AVIC's intermediate avic_set_running() helper (Vitaly Kuznetsov) [2074835] - KVM: VMX: Don't do full kick when handling posted interrupt wakeup (Vitaly Kuznetsov) [2074835] - KVM: VMX: Fold fallback path into triggering posted IRQ helper (Vitaly Kuznetsov) [2074835] - KVM: VMX: Pass desired vector instead of bool for triggering posted IRQ (Vitaly Kuznetsov) [2074835] - KVM: VMX: Don't do full kick when triggering posted interrupt "fails" (Vitaly Kuznetsov) [2074835] - KVM: SVM: Skip AVIC and IRTE updates when loading blocking vCPU (Vitaly Kuznetsov) [2074835] - KVM: SVM: Use kvm_vcpu_is_blocking() in AVIC load to handle preemption (Vitaly Kuznetsov) [2074835] - KVM: SVM: Remove unnecessary APICv/AVIC update in vCPU unblocking path (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't bother checking for "running" AVIC when kicking for IPIs (Vitaly Kuznetsov) [2074835] - KVM: SVM: Signal AVIC doorbell iff vCPU is in guest mode (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove defunct pre_block/post_block kvm_x86_ops hooks (Vitaly Kuznetsov) [2074835] - KVM: x86: Unexport LAPIC's switch_to_{hv,sw}_timer() helpers (Vitaly Kuznetsov) [2074835] - KVM: VMX: Move preemption timer <=> hrtimer dance to common x86 (Vitaly Kuznetsov) [2074835] - KVM: Move x86 VMX's posted interrupt list_head to vcpu_vmx (Vitaly Kuznetsov) [2074835] - KVM: Drop unused kvm_vcpu.pre_pcpu field (Vitaly Kuznetsov) [2074835] - KVM: VMX: Handle PI descriptor updates during vcpu_put/load (Vitaly Kuznetsov) [2074835] - KVM: avoid warning on s390 in mark_page_dirty (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add a test to force emulation with a pending exception (Vitaly Kuznetsov) [2074835] - KVM: VMX: Reject KVM_RUN if emulation is required with pending exception (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Add test for KVM_SET_PMU_EVENT_FILTER (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Introduce x86_model() (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Export x86_family() for use outside of processor.c (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Introduce is_amd_cpu() (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Parameterize the CPUID vendor string check (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Use binary search to check filtered events (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Improve TLB flush comment in kvm_mmu_slot_remove_write_access() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Document and enforce MMU-writable and Host-writable invariants (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Clear MMU-writable during changed_pte notifier (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fix write-protection of PTs mapped by the TDP MMU (Vitaly Kuznetsov) [2074835] - KVM: x86: Making the module parameter of vPMU more common (Vitaly Kuznetsov) [2074835] - KVM: selftests: Test KVM_SET_CPUID2 after KVM_RUN (Vitaly Kuznetsov) [2074835] - KVM: selftests: Rename 'get_cpuid_test' to 'cpuid_test' (Vitaly Kuznetsov) [2074835] - KVM: x86: Partially allow KVM_SET_CPUID{,2} after KVM_RUN (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Fix available_event_types check for REF_CPU_CYCLES event (Vitaly Kuznetsov) [2074835] - KVM: x86: Check for rmaps allocation (Vitaly Kuznetsov) [2074835] - KVM: SEV: Mark nested locking of kvm->lock (Vitaly Kuznetsov) [2074835] - KVM: SVM: include CR3 in initial VMSA state for SEV-ES guests (Vitaly Kuznetsov) [2074835] - KVM: VMX: Provide vmread version using asm-goto-with-outputs (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix wall clock writes in Xen shared_info not to mark page dirty (Vitaly Kuznetsov) [2074835] - KVM: x86/xen: Add KVM_IRQ_ROUTING_XEN_EVTCHN and event channel delivery (Vitaly Kuznetsov) [2074835] - KVM: x86/xen: Maintain valid mapping of Xen shared_info page (Vitaly Kuznetsov) [2074835] - KVM: Reinstate gfn_to_pfn_cache with invalidation support (Vitaly Kuznetsov) [2074835] - KVM: Warn if mark_page_dirty() is called without an active vCPU (Vitaly Kuznetsov) [2074835] - x86/kvm: Silence per-cpu pr_info noise about KVM clocks and steal time (Vitaly Kuznetsov) [2074835] - KVM: x86: Update vPMCs when retiring branch instructions (Vitaly Kuznetsov) [2074835] - KVM: x86: Update vPMCs when retiring instructions (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Add pmc->intr to refactor kvm_perf_overflow{_intr}() (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Reuse pmc_perf_hw_id() and drop find_fixed_event() (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Refactoring find_arch_event() to pmc_perf_hw_id() (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Setup pmc->eventsel for fixed PMCs (Vitaly Kuznetsov) [2074835] - KVM: x86: avoid out of bounds indices for fixed performance counters (Vitaly Kuznetsov) [2074835] - KVM: VMX: Mark VCPU_EXREG_CR3 dirty when !CR0_PG -> CR0_PG if EPT + !URG (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Reconstruct shadow page root if the guest PDPTEs is changed (Vitaly Kuznetsov) [2074835] - KVM: VMX: Save HOST_CR3 in vmx_set_host_fs_gs() (Vitaly Kuznetsov) [2074835] - Revert "KVM: X86: Update mmu->pdptrs only when it is changed" (Vitaly Kuznetsov) [2074835] - selftests: KVM: sev_migrate_tests: Add mirror command tests (Vitaly Kuznetsov) [2074835] - selftests: KVM: sev_migrate_tests: Fix sev_ioctl() (Vitaly Kuznetsov) [2074835] - selftests: KVM: sev_migrate_tests: Fix test_sev_mirror() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Wake vCPU when delivering posted IRQ even if vCPU == this vCPU (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add test to verify TRIPLE_FAULT on invalid L2 guest state (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Synthesize TRIPLE_FAULT for L2 if emulation is required (Vitaly Kuznetsov) [2074835] - KVM: VMX: Always clear vmx->fail on emulation_required (Vitaly Kuznetsov) [2074835] - selftests: KVM: Fix non-x86 compiling (Vitaly Kuznetsov) [2074835] - KVM: x86: Always set kvm_run->if_flag (Vitaly Kuznetsov) [2074835] - KVM: x86: remove PMU FIXED_CTR3 from msrs_to_save_all (Vitaly Kuznetsov) [2074835] - KVM: x86: Retry page fault if MMU reload is pending and root has no sp (Vitaly Kuznetsov) [2074835] - KVM: selftests: vmx_pmu_msrs_test: Drop tests mangling guest visible CPUIDs (Vitaly Kuznetsov) [2074835] - KVM: x86: Drop guest CPUID check for host initiated writes to MSR_IA32_PERF_CAPABILITIES (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add test to verify KVM doesn't explode on "bad" I/O (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't WARN if userspace mucks with RCX during string I/O exit (Vitaly Kuznetsov) [2074835] - KVM: X86: Raise #GP when clearing CR0_PG in 64 bit mode (Vitaly Kuznetsov) [2074835] - selftests: KVM: avoid failures due to reserved HyperTransport region (Vitaly Kuznetsov) [2074835] - KVM: x86: Ignore sparse banks size for an "all CPUs", non-sparse IPI req (Vitaly Kuznetsov) [2074835] - KVM: Add Makefile.kvm for common files, use it for x86 (Vitaly Kuznetsov) [2074835] - KVM: Introduce CONFIG_HAVE_KVM_DIRTY_RING (Vitaly Kuznetsov) [2074835] - KVM: x86: selftests: svm_int_ctl_test: fix intercept calculation (Vitaly Kuznetsov) [2074835] - KVM: VMX: Clean up PI pre/post-block WARNs (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Ensure vCPU honors event request if posting nested IRQ fails (Vitaly Kuznetsov) [2074835] - KVM: x86: add a tracepoint for APICv/AVIC interrupt delivery (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Implement Enlightened MSR Bitmap feature (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Track whether changes in L0 require MSR bitmap for L2 to be rebuilt (Vitaly Kuznetsov) [2074835] - KVM: VMX: Introduce vmx_msr_bitmap_l01_changed() helper (Vitaly Kuznetsov) [2074835] - KVM: x86: Exit to userspace if emulation prepared a completion callback (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Don't use Enlightened MSR Bitmap for L3 (Vitaly Kuznetsov) [2074835] - KVM: x86: Use different callback if msr access comes from the emulator (Vitaly Kuznetsov) [2074835] - KVM: x86: Add an emulation type to handle completion of user exits (Vitaly Kuznetsov) [2074835] - KVM: x86: Handle 32-bit wrap of EIP for EMULTYPE_SKIP with flat code seg (Vitaly Kuznetsov) [2074835] - KVM: Clear pv eoi pending bit only when it is set (Vitaly Kuznetsov) [2074835] - KVM: x86: don't print when fail to read/write pv eoi memory (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove mmu parameter from load_pdptrs() (Vitaly Kuznetsov) [2074835] - KVM: X86: Rename gpte_is_8_bytes to has_4_byte_gpte and invert the direction (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use ept_caps_to_lpage_level() in hardware_setup() (Vitaly Kuznetsov) [2074835] - KVM: X86: Add parameter huge_page_level to kvm_init_shadow_ept_mmu() (Vitaly Kuznetsov) [2074835] - KVM: X86: Add huge_page_level to __reset_rsvds_bits_mask_ept() (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove mmu->translate_gpa (Vitaly Kuznetsov) [2074835] - KVM: X86: Add parameter struct kvm_mmu *mmu into mmu->gva_to_gpa() (Vitaly Kuznetsov) [2074835] - KVM: X86: Calculate quadrant when !role.gpte_is_8_bytes (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove useless code to set role.gpte_is_8_bytes when role.direct (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove unused declaration of __kvm_mmu_free_some_pages() (Vitaly Kuznetsov) [2074835] - KVM: X86: Fix comment in __kvm_mmu_create() (Vitaly Kuznetsov) [2074835] - KVM: X86: Skip allocating pae_root for vcpu->arch.guest_mmu when !tdp_enabled (Vitaly Kuznetsov) [2074835] - KVM: SVM: Allocate sd->save_area with __GFP_ZERO (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename get_max_npt_level() to get_npt_level() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Change comments about vmx_get_msr() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use kvm_set_msr_common() for MSR_IA32_TSC_ADJUST in the default way (Vitaly Kuznetsov) [2074835] - KVM: VMX: Save HOST_CR3 in vmx_prepare_switch_to_guest() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Update msr value after kvm_set_user_return_msr() succeeds (Vitaly Kuznetsov) [2074835] - KVM: VMX: Avoid to rdmsrl(MSR_IA32_SYSENTER_ESP) (Vitaly Kuznetsov) [2074835] - KVM: X86: Update mmu->pdptrs only when it is changed (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove kvm_register_clear_available() (Vitaly Kuznetsov) [2074835] - KVM: vmx, svm: clean up mass updates to regs_avail/regs_dirty bits (Vitaly Kuznetsov) [2074835] - KVM: VMX: Update vmcs.GUEST_CR3 only when the guest CR3 is dirty (Vitaly Kuznetsov) [2074835] - KVM: X86: Mark CR3 dirty when vcpu->arch.cr3 is changed (Vitaly Kuznetsov) [2074835] - KVM: SVM: Remove references to VCPU_EXREG_CR3 (Vitaly Kuznetsov) [2074835] - KVM: SVM: Remove outdated comment in svm_load_mmu_pgd() (Vitaly Kuznetsov) [2074835] - KVM: X86: Move CR0 pdptr_bits into header file as X86_CR0_PDPTR_BITS (Vitaly Kuznetsov) [2074835] - KVM: VMX: Add and use X86_CR4_PDPTR_BITS when !enable_ept (Vitaly Kuznetsov) [2074835] - KVM: VMX: Add and use X86_CR4_TLBFLUSH_BITS when !enable_ept (Vitaly Kuznetsov) [2074835] - KVM: SVM: Track dirtiness of PDPTRs even if NPT is disabled (Vitaly Kuznetsov) [2074835] - KVM: VMX: Mark VCPU_EXREG_PDPTR available in ept_save_pdptrs() (Vitaly Kuznetsov) [2074835] - KVM: X86: Ensure that dirty PDPTRs are loaded (Vitaly Kuznetsov) [2074835] - KVM: x86/svm: Add module param to control PMU virtualization (Vitaly Kuznetsov) [2074835] - KVM: VMX: Remove vCPU from PI wakeup list before updating PID.NV (Vitaly Kuznetsov) [2074835] - KVM: VMX: Move Posted Interrupt ndst computation out of write loop (Vitaly Kuznetsov) [2074835] - KVM: VMX: Read Posted Interrupt "control" exactly once per loop iteration (Vitaly Kuznetsov) [2074835] - KVM: VMX: Save/restore IRQs (instead of CLI/STI) during PI pre/post block (Vitaly Kuznetsov) [2074835] - KVM: VMX: Drop pointless PI.NDST update when blocking (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use boolean returns for Posted Interrupt "test" helpers (Vitaly Kuznetsov) [2074835] - KVM: VMX: Drop unnecessary PI logic to handle impossible conditions (Vitaly Kuznetsov) [2074835] - KVM: VMX: Skip Posted Interrupt updates if APICv is hard disabled (Vitaly Kuznetsov) [2074835] - KVM: Add helpers to wake/query blocking vCPU (Vitaly Kuznetsov) [2074835] - KVM: x86: Invoke kvm_vcpu_block() directly for non-HALTED wait states (Vitaly Kuznetsov) [2074835] - KVM: x86: Directly block (instead of "halting") UNINITIALIZED vCPUs (Vitaly Kuznetsov) [2074835] - KVM: Don't redo ktime_get() when calculating halt-polling stop/deadline (Vitaly Kuznetsov) [2074835] - KVM: stats: Add stat to detect if vcpu is currently blocking (Vitaly Kuznetsov) [2074835] - KVM: Split out a kvm_vcpu_block() helper from kvm_vcpu_halt() (Vitaly Kuznetsov) [2074835] - KVM: Rename kvm_vcpu_block() => kvm_vcpu_halt() (Vitaly Kuznetsov) [2074835] - KVM: Drop obsolete kvm_arch_vcpu_block_finish() (Vitaly Kuznetsov) [2074835] - KVM: x86: Tweak halt emulation helper names to free up kvm_vcpu_halt() (Vitaly Kuznetsov) [2074835] - KVM: Don't block+unblock when halt-polling is successful (Vitaly Kuznetsov) [2074835] - KVM: Reconcile discrepancies in halt-polling stats (Vitaly Kuznetsov) [2074835] - KVM: Refactor and document halt-polling stats update helper (Vitaly Kuznetsov) [2074835] - KVM: Update halt-polling stats if and only if halt-polling was attempted (Vitaly Kuznetsov) [2074835] - KVM: Force PPC to define its own rcuwait object (Vitaly Kuznetsov) [2074835] - KVM: SVM: Ensure target pCPU is read once when signalling AVIC doorbell (Vitaly Kuznetsov) [2074835] - KVM: VMX: Don't unblock vCPU w/ Posted IRQ if IRQs are disabled in guest (Vitaly Kuznetsov) [2074835] - KVM: x86: change TLB flush indicator to bool (Vitaly Kuznetsov) [2074835] - KVM: Avoid atomic operations when kicking the running vCPU (Vitaly Kuznetsov) [2074835] - KVM: x86/MMU: Simplify flow of vmx_get_mt_mask (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Propagate memslot const qualifier (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove need for a vcpu from mmu_try_to_unsync_pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove need for a vcpu from kvm_slot_page_track_is_active (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Use shadow page role to detect PML-unfriendly pages for L2 (Vitaly Kuznetsov) [2074835] - KVM: nSVM: introduce struct vmcb_ctrl_area_cached (Vitaly Kuznetsov) [2074835] - KVM: nSVM: split out __nested_vmcb_check_controls (Vitaly Kuznetsov) [2074835] - KVM: nSVM: use svm->nested.save to load vmcb12 registers and avoid TOC/TOU races (Vitaly Kuznetsov) [2074835] - KVM: nSVM: use vmcb_save_area_cached in nested_vmcb_valid_sregs() (Vitaly Kuznetsov) [2074835] - KVM: nSVM: rename nested_load_control_from_vmcb12 in nested_copy_vmcb_control_to_cache (Vitaly Kuznetsov) [2074835] - KVM: nSVM: introduce svm->nested.save to cache save area before checks (Vitaly Kuznetsov) [2074835] - KVM: nSVM: move nested_vmcb_check_cr3_cr4 logic in nested_vmcb_valid_sregs (Vitaly Kuznetsov) [2074835] - KVM: Dynamically allocate "new" memslots from the get-go (Vitaly Kuznetsov) [2074835] - KVM: Wait 'til the bitter end to initialize the "new" memslot (Vitaly Kuznetsov) [2074835] - KVM: Optimize overlapping memslots check (Vitaly Kuznetsov) [2074835] - KVM: Optimize gfn lookup in kvm_zap_gfn_range() (Vitaly Kuznetsov) [2074835] - KVM: Call kvm_arch_flush_shadow_memslot() on the old slot in kvm_invalidate_memslot() (Vitaly Kuznetsov) [2074835] - KVM: Keep memslots in tree-based structures instead of array-based ones (Vitaly Kuznetsov) [2074835] - KVM: Use interval tree to do fast hva lookup in memslots (Vitaly Kuznetsov) [2074835] - KVM: Resolve memslot ID via a hash table instead of via a static array (Vitaly Kuznetsov) [2074835] - KVM: Move WARN on invalid memslot index to update_memslots() (Vitaly Kuznetsov) [2074835] - KVM: x86: Use nr_memslot_pages to avoid traversing the memslots array (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't call kvm_mmu_change_mmu_pages() if the count hasn't changed (Vitaly Kuznetsov) [2074835] - KVM: Don't make a full copy of the old memslot in __kvm_set_memory_region() (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't assume old/new memslots are non-NULL at memslot commit (Vitaly Kuznetsov) [2074835] - KVM: Use prepare/commit hooks to handle generic memslot metadata updates (Vitaly Kuznetsov) [2074835] - KVM: Stop passing kvm_userspace_memory_region to arch memslot hooks (Vitaly Kuznetsov) [2074835] - KVM: PPC: Avoid referencing userspace memory region in memslot updates (Vitaly Kuznetsov) [2074835] - KVM: x86: Use "new" memslot instead of userspace memory region (Vitaly Kuznetsov) [2074835] - KVM: s390: Use "new" memslot instead of userspace memory region (Vitaly Kuznetsov) [2074835] - KVM: arm64: Use "new" memslot instead of userspace memory region (Vitaly Kuznetsov) [2074835] - KVM: Let/force architectures to deal with arch specific memslot data (Vitaly Kuznetsov) [2074835] - KVM: Use "new" memslot's address space ID instead of dedicated param (Vitaly Kuznetsov) [2074835] - KVM: Resync only arch fields when slots_arch_lock gets reacquired (Vitaly Kuznetsov) [2074835] - KVM: Open code kvm_delete_memslot() into its only caller (Vitaly Kuznetsov) [2074835] - KVM: Require total number of memslot pages to fit in an unsigned long (Vitaly Kuznetsov) [2074835] - KVM: Convert kvm_for_each_vcpu() to using xa_for_each_range() (Vitaly Kuznetsov) [2074835] - KVM: arm64: vgic-v3: Fix vcpu index comparison (Vitaly Kuznetsov) [2074835] - KVM: Use 'unsigned long' as kvm_for_each_vcpu()'s index (Vitaly Kuznetsov) [2074835] - KVM: Convert the kvm->vcpus array to a xarray (Vitaly Kuznetsov) [2074835] - KVM: Move wiping of the kvm->vcpus array to common code (Vitaly Kuznetsov) [2074835] - KVM: MMU: update comment on the number of page role combinations (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Retry page fault if root is invalidated by memslot update (Vitaly Kuznetsov) [2074835] - KVM: VMX: Set failure code in prepare_vmcs02() (Vitaly Kuznetsov) [2074835] - KVM: ensure APICv is considered inactive if there is no APIC (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Fix reserved bits for AMD PerfEvtSeln register (Vitaly Kuznetsov) [2074835] - x86: Snapshot thread flags (Vitaly Kuznetsov) [2074835] - thread_info: Add helpers to snapshot thread flags (Vitaly Kuznetsov) [2074835] - KVM: fix avic_set_running for preemptable kernels (Vitaly Kuznetsov) [2074835] - KVM: VMX: clear vmx_x86_ops.sync_pir_to_irr if APICv is disabled (Vitaly Kuznetsov) [2074835] - KVM: SEV: accept signals in sev_lock_two_vms (Vitaly Kuznetsov) [2074835] - KVM: SEV: do not take kvm->lock when destroying (Vitaly Kuznetsov) [2074835] - KVM: SEV: Prohibit migration of a VM that has mirrors (Vitaly Kuznetsov) [2074835] - KVM: SEV: Do COPY_ENC_CONTEXT_FROM with both VMs locked (Vitaly Kuznetsov) [2074835] - selftests: sev_migrate_tests: add tests for KVM_CAP_VM_COPY_ENC_CONTEXT_FROM (Vitaly Kuznetsov) [2074835] - KVM: SEV: move mirror status to destination of KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM (Vitaly Kuznetsov) [2074835] - KVM: SEV: initialize regions_list of a mirror VM (Vitaly Kuznetsov) [2074835] - KVM: SEV: cleanup locking for KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM (Vitaly Kuznetsov) [2074835] - KVM: SEV: do not use list_replace_init on an empty list (Vitaly Kuznetsov) [2074835] - KVM: x86: Use a stable condition around all VT-d PI paths (Vitaly Kuznetsov) [2074835] - KVM: x86: check PIR even for vCPUs with disabled APICv (Vitaly Kuznetsov) [2074835] - KVM: VMX: prepare sync_pir_to_irr for running with APICv disabled (Vitaly Kuznetsov) [2074835] - KVM: selftests: page_table_test: fix calculation of guest_test_phys_mem (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Handle "default" period when selectively waking kthread (Vitaly Kuznetsov) [2074835] - KVM: MMU: shadow nested paging does not have PKU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove spurious TLB flushes in TDP MMU zap collapsible path (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Use yield-safe TDP MMU root iter in MMU notifier unmapping (Vitaly Kuznetsov) [2074835] - KVM: X86: Use vcpu->arch.walk_mmu for kvm_mmu_invlpg() (Vitaly Kuznetsov) [2074835] - KVM: selftests: Make sure kvm_create_max_vcpus test won't hit RLIMIT_NOFILE (Vitaly Kuznetsov) [2074835] - KVM: x86: Forbid KVM_SET_CPUID{,2} after KVM_RUN (Vitaly Kuznetsov) [2074835] - KVM: selftests: Avoid KVM_SET_CPUID2 after KVM_RUN in hyperv_features test (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Emulate guest TLB flush on nested VM-Enter with new vpid12 (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Abide to KVM_REQ_TLB_FLUSH_GUEST request on nested vmentry/vmexit (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Flush current VPID (L1 vs. L2) for KVM_REQ_TLB_FLUSH_GUEST (Vitaly Kuznetsov) [2074835] - KVM: SEV: expose KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM capability (Vitaly Kuznetsov) [2074835] - selftests: sev_migrate_tests: free all VMs (Vitaly Kuznetsov) [2074835] - selftests: fix check for circular KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM (Vitaly Kuznetsov) [2074835] - KVM: x86: ignore APICv if LAPIC is not enabled (Vitaly Kuznetsov) [2074835] - KVM: downgrade two BUG_ONs to WARN_ON_ONCE (Vitaly Kuznetsov) [2074835] - KVM: VMX: do not use uninitialized gfn_to_hva_cache (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Pass parameter flush as false in kvm_tdp_mmu_zap_collapsible_sptes() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Skip tlb flush if it has been done in zap_gfn_range() (Vitaly Kuznetsov) [2074835] - x86/kvm: remove unused ack_notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: Disallow user memslot with size that exceeds "unsigned long" (Vitaly Kuznetsov) [2074835] - KVM: Ensure local memslot copies operate on up-to-date arch-specific data (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fix TLB flush range when handling disconnected pt (Vitaly Kuznetsov) [2074835] - KVM: x86: Assume a 64-bit hypercall for guests with protected state (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add /x86_64/sev_migrate_tests to .gitignore (Vitaly Kuznetsov) [2074835] - KVM: SEV: Fix typo in and tweak name of cmd_allowed_from_miror() (Vitaly Kuznetsov) [2074835] - KVM: SEV: Drop a redundant setting of sev->asid during initialization (Vitaly Kuznetsov) [2074835] - KVM: SEV: WARN if SEV-ES is marked active but SEV is not (Vitaly Kuznetsov) [2074835] - KVM: SEV: Set sev_info.active after initial checks in sev_guest_init() (Vitaly Kuznetsov) [2074835] - KVM: SEV: Disallow COPY_ENC_CONTEXT_FROM if target has created vCPUs (Vitaly Kuznetsov) [2074835] - KVM: Kill kvm_map_gfn() / kvm_unmap_gfn() and gfn_to_pfn_cache (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Use a gfn_to_hva_cache for vmptrld (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Use kvm_read_guest_offset_cached() for nested VMCS check (Vitaly Kuznetsov) [2074835] - KVM: x86/xen: Use sizeof_field() instead of open-coding it (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Use kvm_{read,write}_guest_cached() for shadow_vmcs12 (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: include EFER.LMA in extended mmu role (Vitaly Kuznetsov) [2074835] - KVM: nVMX: don't use vcpu->arch.efer when checking host state on nested state load (Vitaly Kuznetsov) [2074835] - KVM: Fix steal time asm constraints (Vitaly Kuznetsov) [2074835] - KVM: x86: Move Intel Processor Trace interrupt handler to vmx.c (Vitaly Kuznetsov) [2074835] - KVM: Move x86's perf guest info callbacks to generic KVM (Vitaly Kuznetsov) [2074835] - KVM: x86: More precisely identify NMI from guest when handling PMI (Vitaly Kuznetsov) [2074835] - KVM: x86: Drop current_vcpu for kvm_running_vcpu + kvm_arch_vcpu variable (Vitaly Kuznetsov) [2074835] - perf/core: Rework guest callbacks to prepare for static_call support (Vitaly Kuznetsov) [2074835] - perf: Protect perf_guest_cbs with RCU (Vitaly Kuznetsov) [2074835] - KVM: x86: Register Processor Trace interrupt hook iff PT enabled in guest (Vitaly Kuznetsov) [2074835] - KVM: x86: Register perf callbacks after calling vendor's hardware_setup() (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix uninitialized eoi_exit_bitmap usage in vcpu_load_eoi_exitmap() (Vitaly Kuznetsov) [2074835] - KVM: selftests: Use perf_test_destroy_vm in memslot_modification_stress_test (Vitaly Kuznetsov) [2074835] - KVM: selftests: Wait for all vCPU to be created before entering guest mode (Vitaly Kuznetsov) [2074835] - KVM: selftests: Move vCPU thread creation and joining to common helpers (Vitaly Kuznetsov) [2074835] - KVM: selftests: Sync perf_test_args to guest during VM creation (Vitaly Kuznetsov) [2074835] - KVM: selftests: Fill per-vCPU struct during "perf_test" VM creation (Vitaly Kuznetsov) [2074835] - KVM: selftests: Start at iteration 0 instead of -1 (Vitaly Kuznetsov) [2074835] - KVM: selftests: Create VM with adjusted number of guest pages for perf tests (Vitaly Kuznetsov) [2074835] - KVM: selftests: Remove perf_test_args.host_page_size (Vitaly Kuznetsov) [2074835] - KVM: selftests: Move per-VM GPA into perf_test_args (Vitaly Kuznetsov) [2074835] - KVM: selftests: Use perf util's per-vCPU GPA/pages in demand paging test (Vitaly Kuznetsov) [2074835] - KVM: selftests: Capture per-vCPU GPA in perf_test_vcpu_args (Vitaly Kuznetsov) [2074835] - KVM: selftests: Use shorthand local var to access struct perf_tests_args (Vitaly Kuznetsov) [2074835] - KVM: selftests: Require GPA to be aligned when backed by hugepages (Vitaly Kuznetsov) [2074835] - KVM: selftests: Assert mmap HVA is aligned when using HugeTLB (Vitaly Kuznetsov) [2074835] - KVM: selftests: Expose align() helpers to tests (Vitaly Kuznetsov) [2074835] - KVM: selftests: Explicitly state indicies for vm_guest_mode_params array (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add event channel upcall support to xen_shinfo_test (Vitaly Kuznetsov) [2074835] - KVM: SEV: unify cgroup cleanup code for svm_vm_migrate_from (Vitaly Kuznetsov) [2074835] - KVM: x86: move guest_pv_has out of user_access section (Vitaly Kuznetsov) [2074835] - KVM: Move INVPCID type check from vmx and svm to the common kvm_handle_invpcid() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Add a helper function to retrieve the GPR index for INVPCID, INVVPID, and INVEPT (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Clean up x2APIC MSR handling for L2 (Vitaly Kuznetsov) [2074835] - KVM: VMX: Macrofy the MSR bitmap getters and setters (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Handle dynamic MSR intercept toggling (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Query current VMCS when determining if MSR bitmaps are in use (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't update vcpu->arch.pv_eoi.msr_val when a bogus value was written to MSR_KVM_PV_EOI_EN (Vitaly Kuznetsov) [2074835] - KVM: x86: Rename kvm_lapic_enable_pv_eoi() (Vitaly Kuznetsov) [2074835] - kvm: mmu: Use fast PF path for access tracking of huge pages when possible (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Properly dereference rcu-protected TDP MMU sptep iterator (Vitaly Kuznetsov) [2074835] - kvm: x86: Convert return type of *is_valid_rdpmc_ecx() to bool (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix recording of guest steal time / preempted status (Vitaly Kuznetsov) [2074835] - selftest: KVM: Add intra host migration tests (Vitaly Kuznetsov) [2074835] - selftest: KVM: Add open sev dev helper (Vitaly Kuznetsov) [2074835] - KVM: SEV: Add support for SEV-ES intra host migration (Vitaly Kuznetsov) [2074835] - KVM: SEV: Add support for SEV intra host migration (Vitaly Kuznetsov) [2074835] - KVM: SEV: provide helpers to charge/uncharge misc_cg (Vitaly Kuznetsov) [2074835] - KVM: generalize "bugged" VM to "dead" VM (Vitaly Kuznetsov) [2074835] - EFI: Introduce the new AMD Memory Encryption GUID. (Vitaly Kuznetsov) [2074835] - x86/kvm: Add AMD SEV specific Hypercall3 (Vitaly Kuznetsov) [2074835] - KVM: x86: SGX must obey the KVM_INTERNAL_ERROR_EMULATION protocol (Vitaly Kuznetsov) [2074835] - KVM: x86: On emulation failure, convey the exit reason, etc. to userspace (Vitaly Kuznetsov) [2074835] - KVM: x86: Get exit_reason as part of kvm_x86_ops.get_exit_info (Vitaly Kuznetsov) [2074835] - KVM: x86: Clarify the kvm_run.emulation_failure structure layout (Vitaly Kuznetsov) [2074835] - KVM: selftests: Fix nested SVM tests when built with clang (Vitaly Kuznetsov) [2074835] - kvm: x86: Remove stale declaration of kvm_no_apic_vcpu (Vitaly Kuznetsov) [2074835] - KVM: x86: Move SVM's APICv sanity check to common x86 (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Extract zapping of rmaps for gfn range to separate helper (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop a redundant remote TLB flush in kvm_zap_gfn_range() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop a redundant, broken remote TLB flush (Vitaly Kuznetsov) [2074835] - KVM: X86: Don't unload MMU in kvm_vcpu_flush_tlb_guest() (Vitaly Kuznetsov) [2074835] - KVM: X86: pair smp_wmb() of mmu_try_to_unsync_pages() with smp_rmb() (Vitaly Kuznetsov) [2074835] - KVM: emulate: Comment on difference between RDPMC implementation and manual (Vitaly Kuznetsov) [2074835] - KVM: x86: Add vendor name to kvm_x86_ops, use it for error messages (Vitaly Kuznetsov) [2074835] - kvm: x86: mmu: Make NX huge page recovery period configurable (Vitaly Kuznetsov) [2074835] - KVM: vPMU: Fill get_msr MSR_CORE_PERF_GLOBAL_OVF_CTRL w/ 0 (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename slot_handle_leaf to slot_handle_level_4k (Vitaly Kuznetsov) [2074835] - KVM: VMX: RTIT_CTL_BRANCH_EN has no dependency on other CPUID bit (Vitaly Kuznetsov) [2074835] - KVM: VMX: Rename pt_desc.addr_range to pt_desc.num_address_ranges (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use precomputed vmx->pt_desc.addr_range (Vitaly Kuznetsov) [2074835] - KVM: VMX: Restore host's MSR_IA32_RTIT_CTL when it's not zero (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: clean up prefetch/prefault/speculative naming (Vitaly Kuznetsov) [2074835] - KVM: cleanup allocation of rmaps and page tracking data (Vitaly Kuznetsov) [2074835] - selftests: KVM: Introduce system counter offset test (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add helpers for vCPU device attributes (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add test for KVM_{GET,SET}_CLOCK (Vitaly Kuznetsov) [2074835] - kvm: x86: protect masterclock with a seqcount (Vitaly Kuznetsov) [2074835] - KVM: x86: Report host tsc and realtime values in KVM_GET_CLOCK (Vitaly Kuznetsov) [2074835] - KVM: x86: avoid warning with -Wbitwise-instead-of-logical (Vitaly Kuznetsov) [2074835] - KVM: x86: only allocate gfn_track when necessary (Vitaly Kuznetsov) [2074835] - KVM: x86: add config for non-kvm users of page tracking (Vitaly Kuznetsov) [2074835] - nSVM: Check for reserved encodings of TLB_CONTROL in nested VMCB (Vitaly Kuznetsov) [2074835] - kvm: use kvfree() in kvm_arch_free_vm() (Vitaly Kuznetsov) [2074835] - KVM: x86: Expose Predictive Store Forwarding Disable (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Avoid memslot lookup in make_spte and mmu_try_to_unsync_pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Avoid memslot lookup in rmap_add (Vitaly Kuznetsov) [2074835] - KVM: MMU: pass struct kvm_page_fault to mmu_set_spte (Vitaly Kuznetsov) [2074835] - KVM: MMU: pass kvm_mmu_page struct to make_spte (Vitaly Kuznetsov) [2074835] - KVM: MMU: set ad_disabled in TDP MMU role (Vitaly Kuznetsov) [2074835] - KVM: MMU: remove unnecessary argument to mmu_set_spte (Vitaly Kuznetsov) [2074835] - KVM: MMU: clean up make_spte return value (Vitaly Kuznetsov) [2074835] - KVM: MMU: inline set_spte in FNAME(sync_page) (Vitaly Kuznetsov) [2074835] - KVM: MMU: inline set_spte in mmu_set_spte (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Avoid memslot lookup in page_fault_handle_page_track (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Pass the memslot around via struct kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: unify tdp_mmu_map_set_spte_atomic and tdp_mmu_set_spte_atomic_no_dirty_log (Vitaly Kuznetsov) [2074835] - KVM: MMU: mark page dirty in make_spte (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fold rmap_recycle into rmap_add (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Verify shadow walk doesn't terminate early in page faults (Vitaly Kuznetsov) [2074835] - KVM: MMU: change tracepoints arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change disallowed_hugepage_adjust() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change kvm_mmu_hugepage_adjust() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change fast_page_fault() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change tdp_mmu_map_handle_target_level() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change kvm_tdp_mmu_map() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change FNAME(fetch)() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change __direct_map() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change handle_abnormal_pfn() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change kvm_faultin_pfn() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change page_fault_handle_page_track() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change direct_page_fault() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change mmu->page_fault() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: Introduce struct kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: pass unadulterated gpa to direct_page_fault (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix potential race in KVM_GET_CLOCK (Vitaly Kuznetsov) [2074835] - KVM: x86: extract KVM_GET_CLOCK/KVM_SET_CLOCK to separate functions (Vitaly Kuznetsov) [2074835] - kvm: x86: abstract locking around pvclock_update_vm_gtod_copy (Vitaly Kuznetsov) [2074835] - KVM: X86: Move PTE present check from loop body to __shadow_walk_next() (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: implement nested TSC scaling (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: add module param to control TSC scaling (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: add module param to control LBR virtualization (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: don't copy pause related settings (Vitaly Kuznetsov) [2074835] - kvm: irqfd: avoid update unmodified entries of the routing (Vitaly Kuznetsov) [2074835] - KVM: X86: Don't check unsync if the original spte is writible (Vitaly Kuznetsov) [2074835] - KVM: X86: Don't unsync pagetables when speculative (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove FNAME(update_pte) (Vitaly Kuznetsov) [2074835] - KVM: X86: Zap the invalid list after remote tlb flushing (Vitaly Kuznetsov) [2074835] - KVM: X86: Change kvm_sync_page() to return true when remote flush is needed (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove kvm_mmu_flush_or_zap() (Vitaly Kuznetsov) [2074835] - KVM: X86: Don't flush current tlb on shadow page modification (Vitaly Kuznetsov) [2074835] - KVM: selftests: Fix kvm_vm_free() in cr4_cpuid_sync and vmx_tsc_adjust tests (Vitaly Kuznetsov) [2074835] - kvm: selftests: Fix spelling mistake "missmatch" -> "mismatch" (Vitaly Kuznetsov) [2074835] - KVM: x86: Manually retrieve CPUID.0x1 when getting FMS for RESET/INIT (Vitaly Kuznetsov) [2074835] - KVM: x86: WARN on non-zero CRs at RESET to detect improper initalization (Vitaly Kuznetsov) [2074835] - KVM: SVM: Move RESET emulation to svm_vcpu_reset() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Move RESET emulation to vmx_vcpu_reset() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Drop explicit zeroing of MSR guest values at vCPU creation (Vitaly Kuznetsov) [2074835] - KVM: x86: Fold fx_init() into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove defunct setting of XCR0 for guest during vCPU create (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove defunct setting of CR0.ET for guests during vCPU create (Vitaly Kuznetsov) [2074835] - KVM: x86: Simplify retrieving the page offset when loading PDTPRs (Vitaly Kuznetsov) [2074835] - KVM: x86: Subsume nested GPA read helper into load_pdptrs() (Vitaly Kuznetsov) [2074835] - kvm: rename KVM_MAX_VCPU_ID to KVM_MAX_VCPU_IDS (Vitaly Kuznetsov) [2074835] - KVM: Make kvm_make_vcpus_request_mask() use pre-allocated cpu_kick_mask (Vitaly Kuznetsov) [2074835] - KVM: Pre-allocate cpumasks for kvm_make_all_cpus_request_except() (Vitaly Kuznetsov) [2074835] - KVM: Drop 'except' parameter from kvm_make_vcpus_request_mask() (Vitaly Kuznetsov) [2074835] - KVM: Optimize kvm_make_vcpus_request_mask() a bit (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Avoid calling kvm_make_vcpus_request_mask() with vcpu_mask==NULL (Vitaly Kuznetsov) [2074835] - KVM: use vma_pages() helper (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Reset vmxon_ptr upon VMXOFF emulation. (Vitaly Kuznetsov) [2074835] - x86/kvm: Always inline to_svm() (Vitaly Kuznetsov) [2074835] - x86/kvm: Always inline vmload() / vmsave() (Vitaly Kuznetsov) [2074835] - x86/kvm: Always inline sev_*guest() (Vitaly Kuznetsov) [2074835] - KVM: Remove tlbs_dirty (Vitaly Kuznetsov) [2074835] - KVM: X86: fix lazy allocation of rmaps (Vitaly Kuznetsov) [2074835] - KVM: Remove unnecessary export of kvm_{inc,dec}_notifier_count() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop 'shared' param from tdp_mmu_link_page() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Add detailed page size stats (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: bump mmu notifier count in kvm_zap_gfn_range (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: fix parameters to kvm_flush_remote_tlbs_with_address (Vitaly Kuznetsov) [2074835] - Revert "KVM: x86/mmu: Allow zap gfn range to operate under the mmu read lock" (Vitaly Kuznetsov) [2074835] - KVM: X86: Introduce mmu_rmaps_stat per-vm debugfs file (Vitaly Kuznetsov) [2074835] - KVM: X86: Introduce kvm_mmu_slot_lpages() helpers (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Protect marking SPs unsync when using TDP MMU with spinlock (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Don't step down in the TDP iterator when zapping all SPTEs (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Don't leak non-leaf SPTEs when zapping all SPTEs (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename __gfn_to_rmap to gfn_to_rmap (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Leverage vcpu->last_used_slot in tdp_mmu_map_handle_target_level (Vitaly Kuznetsov) [2074835] - KVM: const-ify all relevant uses of struct kvm_memory_slot (Vitaly Kuznetsov) [2074835] - KVM: Don't take mmu_lock for range invalidation unless necessary (Vitaly Kuznetsov) [2074835] - KVM: Block memslot updates across range_start() and range_end() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Lazily allocate memslot rmaps (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Skip rmap operations if rmaps not allocated (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Tear down roots before kvm_mmu_zap_all_fast returns (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fast invalidation for TDP MMU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow enabling/disabling dirty logging under MMU read lock (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow zapping collapsible SPTEs to use MMU read lock (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow zap gfn range to operate under the mmu read lock (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow yielding during MMU notifier unmap/zap, if possible (Vitaly Kuznetsov) [2074835] - KVM: Take mmu_lock when handling MMU notifier iff the hva hits a memslot (Vitaly Kuznetsov) [2074835] - KVM: Move MMU notifier's mmu_lock acquisition into common helper (Vitaly Kuznetsov) [2074835] - KVM: Kill off the old hva-based MMU notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: PPC: Convert to the gfn-based MMU notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: arm64: Convert to the gfn-based MMU notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: Move x86's MMU notifier memslot walkers to generic code (Vitaly Kuznetsov) [2074835] - KVM: Assert that notifier count is elevated in .change_pte() (Vitaly Kuznetsov) [2074835] - KVM: Move arm64's MMU notifier trace events to generic code (Vitaly Kuznetsov) [2074835] - KVM: Switch to new MMU notifiers API (Vitaly Kuznetsov) [2074835] - scsi: qedi: Remove redundant flush_workqueue() calls (Nilesh Javali) [2044837] - scsi: qedi: Fix SYSFS_FLAG_FW_SEL_BOOT formatting (Nilesh Javali) [2044837] - xfs: reserve quota for dir expansion when linking/unlinking files (Carlos Maiolino) [2082833] - iwlwifi: fix use-after-free (Jose Ignacio Tornos Martinez) [2091539] - nfs: fix broken handling of the softreval mount option (Benjamin Coddington) [2083224] - ethtool: extend ringparam setting/getting API with rx_buf_len (Ivan Vecera) [2091857] - ethtool: add support to set/get rx buf len via ethtool (Ivan Vecera) [2091857] - ethtool: add support to set/get tx copybreak buf size via ethtool (Ivan Vecera) [2091857]- x86/apic: Make TSC deadline timer detection message visible (David Arcari) [2098086] - x86/apic: Move TSC deadline timer debug printk (David Arcari) [2098086] - [s390] KVM: s390: selftests: Add error memop tests (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Add more copy memop tests (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Add named stages for memop test (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Add macro as abstraction for MEM_OP (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Split memop tests (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Fix lockdep issue in vm memop (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Add missing vm MEM_OP size check (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Clarify key argument for MEM_OP in api docs (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Update api documentation for memop ioctl (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Add capability for storage key extension of MEM_OP IOCTL (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Rename existing vcpu memop functions (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Add vm IOCTL for key checked guest absolute memory access (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Add optional storage key checking to MEMOP IOCTL (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Test TEST PROTECTION emulation (Claudio Imbrenda) [1984917] - [s390] KVM: s390: handle_tprot: Honor storage keys (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Honor storage keys when accessing guest memory (Claudio Imbrenda) [1984917] - [s390] s390/uaccess: Add copy_from/to_user_key functions (Claudio Imbrenda) [1984917] - [s390] s390/uaccess: fix compile error (Claudio Imbrenda) [1984917] - [s390] s390/uaccess: introduce bit field for OAC specifier (Claudio Imbrenda) [1984917] - [s390] KVM: s390: gaccess: Cleanup access to guest pages (Claudio Imbrenda) [1984917] - [s390] KVM: s390: gaccess: Refactor access address range check (Claudio Imbrenda) [1984917] - [s390] KVM: s390: gaccess: Refactor gpa and length calculation (Claudio Imbrenda) [1984917] - xfs: reorder iunlink remove operation in xfs_ifree (Brian Foster) [2081146] - tcp: fix TCP socket rehash stats mis-accounting (Antoine Tenart) [2073082] - tcp: export count for rehash attempts (Antoine Tenart) [2073082] - tcp: add SRTT to SCM_TIMESTAMPING_OPT_STATS (Antoine Tenart) [2073082] - tcp: add new SNMP counter for drops when try to queue in rcv queue (Antoine Tenart) [2073082] - tcp: add SNMP counter for zero-window drops (Antoine Tenart) [2073082] - net: udp: introduce UDP_MIB_MEMERRORS for udp_mem (Antoine Tenart) [2073082] - context_tracking: Sync up lockdep and cpu irqs state to prevent false warnings (Waiman Long) [2098074] - platform/x86: ISST: Fix possible circular locking dependency detected (Prarit Bhargava) [2072659] - platform/x86: ISST: use semi-colons instead of commas (Prarit Bhargava) [2072659] - platform/x86: intel_speed_select_if: Move to intel sub-directory (Prarit Bhargava) [2072659] - x86/sgx: Free backing memory after faulting the enclave page (Vladis Dronov) [2081351] - x86/sgx: Fix missing poison handling in reclaimer (Vladis Dronov) [2081351] - x86/sgx: Silence softlockup detection when releasing large enclaves (Vladis Dronov) [2081351] - selftests/sgx: Treat CC as one argument (Vladis Dronov) [2081351] - selftests/x86: Add validity check and allow field splitting (Vladis Dronov) [2081351] - selftests/sgx: Remove extra newlines in test output (Vladis Dronov) [2081351] - selftests/sgx: Ensure enclave data available during debug print (Vladis Dronov) [2081351] - selftests/sgx: Do not attempt enclave build without valid enclave (Vladis Dronov) [2081351] - selftests/sgx: Fix NULL-pointer-dereference upon early test failure (Vladis Dronov) [2081351] - x86/sgx: Remove .fixup usage (Vladis Dronov) [2081351] - x86/sgx: Fix NULL pointer dereference on non-SGX systems (Vladis Dronov) [2081351] - x86/sgx: Add an attribute for the amount of SGX memory in a NUMA node (Vladis Dronov) [2081351] - vmxnet3: disable overlay offloads if UPT device does not support (Kamal Heib) [2100226] - vmxnet3: update to version 7 (Kamal Heib) [2100226] - vmxnet3: use ext1 field to indicate encapsulated packet (Kamal Heib) [2100226] - vmxnet3: limit number of TXDs used for TSO packet (Kamal Heib) [2100226] - vmxnet3: add command to set ring buffer sizes (Kamal Heib) [2100226] - vmxnet3: add support for out of order rx completion (Kamal Heib) [2100226] - vmxnet3: add support for large passthrough BAR register (Kamal Heib) [2100226] - vmxnet3: add support for capability registers (Kamal Heib) [2100226] - vmxnet3: prepare for version 7 changes (Kamal Heib) [2100226] - net: vmxnet3: fix possible NULL pointer dereference in vmxnet3_rq_cleanup() (Kamal Heib) [2100226] - net: vmxnet3: fix possible use-after-free bugs in vmxnet3_rq_alloc_rx_buf() (Kamal Heib) [2100226]- iommu/amd: Enable swiotlb in all cases (Jerry Snitselaar) [2072179] - iommu/arm-smmu-v3-sva: Fix mm use-after-free (Jerry Snitselaar) [2072179] - dma-direct: don't over-decrypt memory (Jerry Snitselaar) [2072179] - dma-direct: always leak memory that can't be re-encrypted (Jerry Snitselaar) [2072179] - dma-direct: clean up the remapping checks in dma_direct_alloc (Jerry Snitselaar) [2072179] - dma-direct: don't call dma_set_decrypted for remapped allocations (Jerry Snitselaar) [2072179] - dma-direct: factor out dma_set_{de,en}crypted helpers (Jerry Snitselaar) [2072179] - swiotlb: max mapping size takes min align mask into account (Jerry Snitselaar) [2072179] - dma-debug: change allocation mode from GFP_NOWAIT to GFP_ATIOMIC (Jerry Snitselaar) [2072179] - dma-direct: don't fail on highmem CMA pages in dma_direct_alloc_pages (Jerry Snitselaar) [2072179] - dma-direct: factor out a helper for DMA_ATTR_NO_KERNEL_MAPPING allocations (Jerry Snitselaar) [2072179] - swiotlb: make swiotlb_exit a no-op if SWIOTLB_FORCE is set (Jerry Snitselaar) [2072179] - dma-direct: use is_swiotlb_active in dma_direct_map_page (Jerry Snitselaar) [2072179] - iommu/vt-d: Calculate mask for non-aligned flushes (Jerry Snitselaar) [2072179] - iommu/amd: Call memunmap in error path (Jerry Snitselaar) [2072179] - iommu/vt-d: Drop duplicate check in dma_pte_free_pagetable() (Jerry Snitselaar) [2072179] - iommu/vt-d: Use correctly sized arguments for bit field (Jerry Snitselaar) [2072179] - Revert "iommu/arm-smmu-v3: Decrease the queue size of evtq and priq" (Jerry Snitselaar) [2072179] - iommu: Fix potential use-after-free during probe (Jerry Snitselaar) [2072179] - dma-direct: avoid redundant memory sync for swiotlb (Jerry Snitselaar) [2072179] - iommu/iova: Fix race between FQ timeout and teardown (Jerry Snitselaar) [2072179] - iommu/io-pgtable-arm: Fix table descriptor paddr formatting (Jerry Snitselaar) [2072179] - iommu: Extend mutex lock scope in iommu_probe_device() (Jerry Snitselaar) [2072179] - iommu/amd: X2apic mode: mask/unmask interrupts on suspend/resume (Jerry Snitselaar) [2072179] - iommu/amd: X2apic mode: setup the INTX registers on mask/unmask (Jerry Snitselaar) [2072179] - iommu/amd: X2apic mode: re-enable after resume (Jerry Snitselaar) [2072179] - iommu/amd: Restore GA log/tail pointer on host resume (Jerry Snitselaar) [2072179] - iommu/amd: Clarify AMD IOMMUv2 initialization messages (Jerry Snitselaar) [2072179] - iommu/vt-d: Avoid duplicate removing in __domain_mapping() (Jerry Snitselaar) [2072179] - iommu/vt-d: Fix an unbalanced rcu_read_lock/rcu_read_unlock() (Jerry Snitselaar) [2072179] - iommu/vt-d: Check FL and SL capability sanity in scalable mode (Jerry Snitselaar) [2072179] - iommu/vt-d: Add present bit check in pasid entry setup helpers (Jerry Snitselaar) [2072179] - iommu/vt-d: Preset A/D bits for user space DMA usage (Jerry Snitselaar) [2072179] - iommu/vt-d: Remove unnecessary oom message (Jerry Snitselaar) [2072179] - iommu/vt-d: Enable ATS for the devices in SATC table (Jerry Snitselaar) [1893460] - iommu/vt-d: Parse SATC reporting structure (Jerry Snitselaar) [1893460] - iommu/vt-d: Dump DMAR translation structure when DMA fault occurs (Jerry Snitselaar) [1868826] - nvme: fix typos in nvme status code values (Gopal Tiwari) [2091824] - Adding CONFIG_NVME_VERBOSE_ERRORS to RHEL-8. (Gopal Tiwari) [2091824] - nvme: add missing status values to verbose logging (Gopal Tiwari) [2091824] - nvme: don't print verbose errors for internal passthrough requests (Gopal Tiwari) [2091824] - nvme: add verbose error logging (Gopal Tiwari) [2091824] - perf/x86/msr: Add Raptor Lake CPU support (Michael Petlan) [2094572] - perf/x86: Add Intel Raptor Lake support (Michael Petlan) [2094572] - perf/x86/cstate: Add SAPPHIRERAPIDS_X CPU support (Michael Petlan) [2094572] - perf/x86/cstate: Add Raptor Lake support (Michael Petlan) [2094572] - [s390] s390/lcs: fix variable dereferenced before check (Mete Durlu) [2043835] - [s390] s390/ctcm: fix potential memory leak (Mete Durlu) [2043835] - [s390] s390/ctcm: fix variable dereferenced before check (Mete Durlu) [2043835] - [s390] s390/net: sort out physical vs virtual pointers usage (Mete Durlu) [2043835] - [s390] s390/qeth: remove check for packing mode in qeth_check_outbound_queue() (Mete Durlu) [2043835] - [s390] s390/qeth: fine-tune .ndo_select_queue() (Mete Durlu) [2043835] - [s390] s390/qeth: don't offer .ndo_bridge_* ops for OSA devices (Mete Durlu) [2043835] - [s390] s390/qeth: split up L2 netdev_ops (Mete Durlu) [2043835] - [s390] s390/qeth: simplify qeth_receive_skb() (Mete Durlu) [2043835] - [s390] s390/lcs: add braces around empty function body (Mete Durlu) [2043835] - [s390] s390/ctcm: add __printf format attribute to ctcm_dbf_longtext (Mete Durlu) [2043835] - [s390] s390/ctcm: fix format string (Mete Durlu) [2043835] - [s390] s390/qeth: allocate RX queue at probe time (Mete Durlu) [2043835] - [s390] s390/qeth: update kerneldoc for qeth_add_hw_header() (Mete Durlu) [2043835] - [s390] s390/qeth: fix kernel doc comments (Mete Durlu) [2043835] - [s390] s390/qeth: add __printf format attribute to qeth_dbf_longtext (Mete Durlu) [2043835] - [s390] s390/qeth: fix various format strings (Mete Durlu) [2043835] - [s390] s390/qeth: don't keep track of Input Queue count (Mete Durlu) [2043835] - [s390] s390/qeth: clarify remaining dev_kfree_skb_any() users (Mete Durlu) [2043835] - [s390] s390/qeth: move qdio's QAOB cache into qeth (Mete Durlu) [2043835] - [s390] s390/qeth: improve trace entries for MAC address (un)registration (Mete Durlu) [2043835] - [s390] s390/netiucv: remove incorrect kernel doc indicators (Mete Durlu) [2043835] - [s390] s390/lcs: remove incorrect kernel doc indicators (Mete Durlu) [2043835] - [s390] s390/ctcm: remove incorrect kernel doc indicators (Mete Durlu) [2043835] - [s390] s390/qeth: clean up device_type management (Mete Durlu) [2043835] - [s390] s390/qeth: clean up QETH_PROT_* naming (Mete Durlu) [2043835] - mm/memcg: Free percpu stats memory of dying memcg's (Waiman Long) [2004037] - netfilter: flowtable: fix TCP flow teardown (Florian Westphal) [2088234] - netfilter: conntrack: annotate data-races around ct->timeout (Florian Westphal) [2088234] - netfilter: conntrack: initialize ct->timeout (Florian Westphal) [2088234] - NFSv4: Fix free of uninitialized nfs4_label on referral lookup. (Scott Mayhew) [2090994] - md: fix double free of io_acct_set bioset (Nigel Croxon) [2094076] - md: Don't set mddev private to NULL in raid0 pers->free (Nigel Croxon) [2094076] - md: protect md_unregister_thread from reentrancy (Nigel Croxon) [2094076] - md: don't unregister sync_thread with reconfig_mutex held (Nigel Croxon) [2094076] - raid5: don't set the discard_alignment queue limit (Nigel Croxon) [2094076] - md: Replace role magic numbers with defined constants (Nigel Croxon) [2094076] - md/raid0: Ignore RAID0 layout if the second zone has only one device (Nigel Croxon) [2094076] - md/raid5: Annotate functions that hold device_lock with __must_hold (Nigel Croxon) [2094076] - md/raid5-ppl: Annotate with rcu_dereference_protected() (Nigel Croxon) [2094076] - md/raid5: Annotate rdev/replacement access when mddev_lock is held (Nigel Croxon) [2094076] - md/raid5: Annotate rdev/replacement accesses when nr_pending is elevated (Nigel Croxon) [2094076] - md/raid5: Add __rcu annotation to struct disk_info (Nigel Croxon) [2094076] - md/raid5: Un-nest struct raid5_percpu definition (Nigel Croxon) [2094076] - md/raid5: Cleanup setup_conf() error returns (Nigel Croxon) [2094076] - md: replace deprecated strlcpy & remove duplicated line (Nigel Croxon) [2094076] - md/bitmap: don't set sb values if can't pass sanity check (Nigel Croxon) [2094076] - md: fix an incorrect NULL check in md_reload_sb (Nigel Croxon) [2094076] - md: fix an incorrect NULL check in does_sb_need_changing (Nigel Croxon) [2094076] - md: use msleep() in md_notify_reboot() (Nigel Croxon) [2094076] - ext4: force overhead calculation if the s_overhead_cluster makes no sense (Lukas Czerner) [2079886] - ext4: fix overhead calculation to account for the reserved gdt blocks (Lukas Czerner) [2079886] - ext4: limit length to bitmap_maxbytes - blocksize in punch_hole (Lukas Czerner) [2079886] - ext4: fix use-after-free in ext4_search_dir (Lukas Czerner) [2079886] - ext4: fix symlink file size not match to file content (Lukas Czerner) [2079886] - ext4: fix fallocate to use file_modified to update permissions consistently (Lukas Czerner) [2085623] - ext4: remove unused macro MPAGE_DA_EXTENT_TAIL (Lukas Czerner) [2079886] - ext4: add missing braces in ext4_ext_drop_refs() (Lukas Czerner) [2079886] - ext4: remove obsolete comment from ext4_can_extents_be_merged() (Lukas Czerner) [2079886] - ext4: make some functions static in extents.c (Lukas Czerner) [2079886] - ext4: remove redundant S_ISREG() checks from ext4_fallocate() (Lukas Czerner) [2079886] - ext4: clean up len and offset checks in ext4_fallocate() (Lukas Czerner) [2079886] - ext4: remove ext4_{ind,ext}_calc_metadata_amount() (Lukas Czerner) [2079886] - ext4: fix fs corruption when tring to remove a non-empty directory with IO error (Lukas Czerner) [2079886] - ext4: fix error handling in ext4_restore_inline_data() (Lukas Czerner) [2079886] - jbd2: export jbd2_journal_[grab|put]_journal_head (Lukas Czerner) [2079886] - ext4: don't use the orphan list when migrating an inode (Lukas Czerner) [2079886] - ext4: set csum seed in tmp inode while migrating to extents (Lukas Czerner) [2079886] - ext4: fix an use-after-free issue about data=journal writeback mode (Lukas Czerner) [2079886] - ext4: fix bh ref count on error paths (Lukas Czerner) [2079886] - ext4: fix a possible ABBA deadlock due to busy PA (Lukas Czerner) [2079886] - ext4: discard preallocations before releasing group lock (Lukas Czerner) [2079886] - ext4: make ext_debug() implementation to use pr_debug() (Lukas Czerner) [2079886] - ext4: mballoc: make mb_debug() implementation to use pr_debug() (Lukas Czerner) [2079886] - ext4: improve ext_debug() msg in case of block allocation failure (Lukas Czerner) [2079886] - ext4: use BIT() macro for BH_** state bits (Lukas Czerner) [2079886] - ext4: balloc: use task_pid_nr() helper (Lukas Czerner) [2079886] - ext4: mballoc: fix possible NULL ptr & remove BUG_ONs from DOUBLE_CHECK (Lukas Czerner) [2079886] - ext4: mballoc: refactor code inside DOUBLE_CHECK into separate function (Lukas Czerner) [2079886] - ext4: mballoc: make ext4_mb_use_preallocated() return type as bool (Lukas Czerner) [2079886] - ext4: mballoc: simplify error handling in ext4_init_mballoc() (Lukas Czerner) [2079886] - ext4: mballoc: fix few other format specifier in mb_debug() (Lukas Czerner) [2079886] - ext4: mballoc: correct the mb_debug() format specifier for pa_len var (Lukas Czerner) [2079886] - ext4: mballoc: add more mb_debug() msgs (Lukas Czerner) [2079886] - ext4: mballoc: refactor ext4_mb_show_ac() (Lukas Czerner) [2079886] - ext4: mballoc: print bb_free info even when it is 0 (Lukas Czerner) [2079886] - ext4: fix dead loop in ext4_mb_new_blocks (Lukas Czerner) [2079886] - ext4: mballoc: use lock for checking free blocks while retrying (Lukas Czerner) [2079886] - ext4: mballoc: refactor ext4_mb_good_group() (Lukas Czerner) [2079886] - ext4: mballoc: introduce pcpu seqcnt for freeing PA to improve ENOSPC handling (Lukas Czerner) [2079886] - ext4: mballoc: refactor ext4_mb_discard_preallocations() (Lukas Czerner) [2079886] - ext4: mballoc: add blocks to PA list under same spinlock after allocating blocks (Lukas Czerner) [2079886] - ext4: fix lazy initialization next schedule time computation in more granular unit (Lukas Czerner) [2079886] - ext4: fix avefreec in find_group_orlov (Lukas Czerner) [2079886] - ext4: allow the dax flag to be set and cleared on inline directories (Lukas Czerner) [2079886] - ext4: annotate data race in jbd2_journal_dirty_metadata() (Lukas Czerner) [2079886] - ext4: annotate data race in start_this_handle() (Lukas Czerner) [2079886] - ext4: fix superblock checksum failure when setting password salt (Lukas Czerner) [2079886] - ext4: correctly report "not supported" for {usr,grp}jquota when !CONFIG_QUOTA (Lukas Czerner) [2079886] - jbd2: fix ocfs2 corrupt when clearing block group bits (Lukas Czerner) [2079886] - ext4: fix ext4_empty_dir() for directories with holes (Lukas Czerner) [2079886] - ext4: allow directory holes (Lukas Czerner) [2079886] - net/af_packet: make sure to pull mac header (Hangbin Liu) [2066976] - rcu/nocb: Make rcu_core() callbacks acceleration preempt-safe (Waiman Long) [2097549] - redhat: drop expired testing secureboot signing key (Jarod Wilson) [2095199]- atlantic: Fix issue in the pm resume flow. (Igor Russkikh) [2002395] - atlantic: Fix driver resume flow. (Igor Russkikh) [2002395] - Build intel_sdsi with {tools_make} (Prarit Bhargava) [1971951] - redhat/kernel.spec.template: Add intel_sdsi tool (Prarit Bhargava) [1971951] - redhat/configs: Add CONFIG_INTEL_SDSI (Prarit Bhargava) [1971951] - selftests: sdsi: test sysfs setup (Prarit Bhargava) [1971951] - tools arch x86: Add Intel SDSi provisiong tool (Prarit Bhargava) [1971951] - platform/x86: Add Intel Software Defined Silicon driver (Prarit Bhargava) [1971951] - platform/x86/intel: Fix 'rmmod pmt_telemetry' panic (Prarit Bhargava) [2080426] - x86/cpu: Add new Alderlake and Raptorlake CPU model numbers (Prarit Bhargava) [2040019 2040059] - netfilter: nf_tables: sanitize nft_set_desc_concat_parse() (Florian Westphal) [2096403] {CVE-2022-2078} - mt76: mt7921: Fix the error handling path of mt7921_pci_probe() (Íñigo Huguet) [2096758] - Watchdog: sp5100_tco: Enable Family 17h+ CPUs (Sudheesh Mavila) [2031643] - Watchdog: sp5100_tco: Add initialization using EFCH MMIO (Sudheesh Mavila) [2031643] - kernel/resource: Introduce request_mem_region_muxed() (Sudheesh Mavila) [2031643] - Watchdog: sp5100_tco: Refactor MMIO base address initialization (Sudheesh Mavila) [2031643] - Watchdog: sp5100_tco: Move timer initialization into function (Sudheesh Mavila) [2031643] - watchdog: sp5100_tco: Add support for get_timeleft (Sudheesh Mavila) [2031643] - watchdog: sp5100_tco: Enable watchdog on Family 17h devices if disabled (Sudheesh Mavila) [2031643] - watchdog: sp5100_tco: drop warning after registering device (Sudheesh Mavila) [2031643] - watchdog: sp5100_tco: drop warning after calling watchdog_init_timeout (Sudheesh Mavila) [2031643] - Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" (Chris von Recklinghausen) [2059701] {CVE-2022-0854} - swiotlb: fix info leak with DMA_FROM_DEVICE (Chris von Recklinghausen) [2059701] {CVE-2022-0854} - redhat/configs: Add CONFIG_S390_UV_UAPI (Claudio Imbrenda) [1984905] - [s390] s390/uv_uapi: depend on CONFIG_S390 (Claudio Imbrenda) [1984905] - [s390] drivers/s390/char: Add Ultravisor io device (Claudio Imbrenda) [1984905] - cpufreq: Specify default governor on command line (Prarit Bhargava) [2083766] - cpufreq: Fix locking issues with governors (Prarit Bhargava) [2083766] - cpufreq: Register governors at core_initcall (Prarit Bhargava) [2083766] - nvme: fix RCU hole that allowed for endless looping in multipath round robin (Gopal Tiwari) [2078806] - nvme-multipath: fix hang when disk goes live over reconnect (Gopal Tiwari) [2078806] - nvme-tcp: send H2CData PDUs based on MAXH2CDATA (Gopal Tiwari) [2078806] - nvme: also mark passthrough-only namespaces ready in nvme_update_ns_info (Gopal Tiwari) [2078806] - nvme: don't return an error from nvme_configure_metadata (Gopal Tiwari) [2078806] - nvme-tcp: fix bogus request completion when failing to send AER (Gopal Tiwari) [2078806] - nvme-fabrics: remove the unneeded ret variable in nvmf_dev_show (Gopal Tiwari) [2078806] - nvme-pci: add the IGNORE_DEV_SUBNQN quirk for Intel P4500/P4600 SSDs (Gopal Tiwari) [2078806] - nvme-fabrics: print out valid arguments when reading from /dev/nvme-fabrics (Gopal Tiwari) [2078806] - nvmet-tcp: fix possible list corruption for unexpected command failure (Gopal Tiwari) [2078806] - nvme: fix use after free when disconnecting a reconnecting ctrl (Gopal Tiwari) [2078806] - nvme-multipath: set ana_log_size to 0 after free ana_log_buf (Gopal Tiwari) [2078806] - nvme: disable namespace access for unsupported metadata (Gopal Tiwari) [2078806] - nvme: report write pointer for a full zone as zone start + zone len (Gopal Tiwari) [2078806] - nvme: show subsys nqn for duplicate cntlids (Gopal Tiwari) [2078806] - nvme-pci: add NO APST quirk for Kioxia device (Gopal Tiwari) [2078806] - nvme: fix write zeroes pi (Gopal Tiwari) [2078806] - nvmet: use flex_array_size and struct_size (Gopal Tiwari) [2078806] - nvme: drop scan_lock and always kick requeue list when removing namespaces (Gopal Tiwari) [2078806] - nvmet: use struct_size over open coded arithmetic (Gopal Tiwari) [2078806] - nvme-pci: clear shadow doorbell memory on resets (Gopal Tiwari) [2078806] - nvmet: use macro definitions for setting cmic value (Gopal Tiwari) [2078806] - nvme-rdma: fix error code in nvme_rdma_setup_ctrl (Gopal Tiwari) [2078806] - nvmet: use macro definition for setting nmic value (Gopal Tiwari) [2078806] - nvmet-rdma: implement get_max_queue_size controller op (Gopal Tiwari) [2078806] - nvmet: add get_max_queue_size op for controllers (Gopal Tiwari) [2078806] - nvme-rdma: limit the maximal queue size for RDMA controllers (Gopal Tiwari) [2078806] - nvme: paring quiesce/unquiesce (Gopal Tiwari) [2078806] - nvme: add APIs for stopping/starting admin queue (Gopal Tiwari) [2078806] - nvme: prepare for pairing quiescing and unquiescing (Gopal Tiwari) [2078806] - nvme: apply nvme API to quiesce/unquiesce admin queue (Gopal Tiwari) [2078806] - nvme: loop: clear NVME_CTRL_ADMIN_Q_STOPPED after admin queue is reallocated (Gopal Tiwari) [2078806] - nvme: remove the call to nvme_update_disk_info in nvme_ns_remove (Gopal Tiwari) [2078806] - nvme: remove the GENHD_FL_UP check in nvme_ns_remove (Gopal Tiwari) [2078806] - nvme-rdma: destroy cm id before destroy qp to avoid use after free (Gopal Tiwari) [2078806] - nvme: only call synchronize_srcu when clearing current path (Gopal Tiwari) [2078806] - nvme-multipath: revalidate paths during rescan (Gopal Tiwari) [2078806] - nvme: remove the unused NVME_NS_* enum (Gopal Tiwari) [2078806] - nvme: Have NVME_FABRICS select NVME_CORE instead of transport drivers (Gopal Tiwari) [2078806] - nvme-pci: disable hmb on idle suspend (Gopal Tiwari) [2078806] - nvme: allow user toggling hmb usage (Gopal Tiwari) [2078806] - nvme-fabrics: remove superfluous nvmf_host_put in nvmf_parse_options (Gopal Tiwari) [2078806] - nvme: add set feature tracing support (Gopal Tiwari) [2078806] - nvmet: add set feature tracing support (Gopal Tiwari) [2078806] - nvme-pci: cmb sysfs: one file, one value (Gopal Tiwari) [2078806] - nvme-pci: use attribute group for cmb sysfs (Gopal Tiwari) [2078806] - compiler.h: Introduce absolute_pointer macro (Gopal Tiwari) [2078806] - vdpa: Fix vdpa-vhost driver (Laurent Vivier) [2093851] - nl80211: fix locking in nl80211_set_tx_bitrate_mask() (Íñigo Huguet) [2059994] - mac80211_hwsim: call ieee80211_tx_prepare_skb under RCU protection (Íñigo Huguet) [2059994] - mac80211_hwsim: fix RCU protected chanctx access (Íñigo Huguet) [2059994] - mac80211: Reset MBSSID parameters upon connection (Íñigo Huguet) [2059994] - cfg80211: retrieve S1G operating channel number (Íñigo Huguet) [2059994] - nl80211: validate S1G channel width (Íñigo Huguet) [2059994] - mac80211: fix rx reordering with non explicit / psmp ack policy (Íñigo Huguet) [2059994] - ath11k: reduce the wait time of 11d scan and hw scan while add interface (Íñigo Huguet) [2059994] - iwlwifi: iwl-dbg: Use del_timer_sync() before freeing (Íñigo Huguet) [2059994] - bus: mhi: host: pci_generic: Flush recovery worker during freeze (Íñigo Huguet) [2059994] - bus: mhi: host: pci_generic: Add missing poweroff() PM callback (Íñigo Huguet) [2059994] - mac80211: fix ht_capa printout in debugfs (Íñigo Huguet) [2059994] - cfg80211: hold bss_lock while updating nontrans_list (Íñigo Huguet) [2059994] - nl80211: correctly check NL80211_ATTR_REG_ALPHA2 size (Íñigo Huguet) [2059994] - ath9k: Fix usage of driver-private space in tx_info (Íñigo Huguet) [2059994] - brcmfmac: sdio: Fix undefined behavior due to shift overflowing the constant (Íñigo Huguet) [2059994] - mt76: Fix undefined behavior due to shift overflowing the constant (Íñigo Huguet) [2059994] - Revert "ath11k: mesh: add support for 256 bitmap in blockack frames in 11ax" (Íñigo Huguet) [2059994] - ath9k: Properly clear TX status area before reporting to mac80211 (Íñigo Huguet) [2059994] - iwlwifi: mvm: Don't fail if PPAG isn't supported (Íñigo Huguet) [2059994] - bus: mhi: Make mhi_state_str[] array static inline and move to common.h (Íñigo Huguet) [2059994] - bus: mhi: Move common MHI definitions out of host directory (Íñigo Huguet) [2059994] - bus: mhi: host: Rename "struct mhi_tre" to "struct mhi_ring_element" (Íñigo Huguet) [2059994] - bus: mhi: Cleanup the register definitions used in headers (Íñigo Huguet) [2059994] - bus: mhi: Use bitfield operations for handling DWORDs of ring elements (Íñigo Huguet) [2059994] - bus: mhi: Use bitfield operations for register read and write (Íñigo Huguet) [2059994] - bus: mhi: Move host MHI code to "host" directory (Íñigo Huguet) [2059994] - bus: mhi: Fix MHI DMA structure endianness (Íñigo Huguet) [2059994] - bus: mhi: Fix pm_state conversion to string (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Add mru_default for Quectel EM1xx series (Íñigo Huguet) [2059994] - rfkill: make new event layout opt-in (Íñigo Huguet) [2059994] - rtw89: implement stop and resume channels transmission v1 (Íñigo Huguet) [2059994] - rtw89: extend mac tx_en bits from 16 to 32 (Íñigo Huguet) [2059994] - rtw89: change value assignment style of rtw89_mac_cfg_gnt() (Íñigo Huguet) [2059994] - rtw89: 8852c: add mac_ctrl_path and mac_cfg_gnt APIs (Íñigo Huguet) [2059994] - rtw89: disable FW and H2C function if CPU disabled (Íñigo Huguet) [2059994] - rtw89: initialize preload window of D-MAC (Íñigo Huguet) [2059994] - rtw89: modify MAC enable functions (Íñigo Huguet) [2059994] - rtw89: add config_rf_reg_v1 to configure RF parameter tables (Íñigo Huguet) [2059994] - rtw89: 8852c: add read/write rf register function (Íñigo Huguet) [2059994] - rtw89: 8852c: add setting of TB UL TX power offset (Íñigo Huguet) [2059994] - rtw89: 8852c: add write/read crystal function in CFO tracking (Íñigo Huguet) [2059994] - rtw89: modify dcfo_comp to share with chips (Íñigo Huguet) [2059994] - rtw89: Fix spelling mistake "Mis-Match" -> "Mismatch" (Íñigo Huguet) [2059994] - brcmfmac: p2p: Fix spelling mistake "Comback" -> "Comeback" (Íñigo Huguet) [2059994] - iwlwifi: mei: fix building iwlmei (Íñigo Huguet) [2059994] - mt76: fix monitor rx FCS error in DFS channel (Íñigo Huguet) [2059994] - mt76: mt7921: don't enable beacon filter when IEEE80211_CONF_CHANGE_MONITOR is set (Íñigo Huguet) [2059994] - mt76: fix wrong HE data rate in sniffer tool (Íñigo Huguet) [2059994] - mt76: mt7915: introduce 802.11ax multi-bss support (Íñigo Huguet) [2059994] - mt76: mt7921: move mt7921_init_hw in a dedicated work (Íñigo Huguet) [2059994] - mt76: mt7921: add mt7921u driver (Íñigo Huguet) [2059994] - mt76: mt7921: move mt7921_usb_sdio_tx_status_data in mac common code. (Íñigo Huguet) [2059994] - mt76: mt7921: move mt7921_usb_sdio_tx_complete_skb in common mac code. (Íñigo Huguet) [2059994] - mt76: mt7921: move mt7921_usb_sdio_tx_prepare_skb in common mac code (Íñigo Huguet) [2059994] - mt76: mt7921: update mt7921_skb_add_usb_sdio_hdr to support usb (Íñigo Huguet) [2059994] - mt76: mt7921: disable runtime pm for usb (Íñigo Huguet) [2059994] - mt76: usb: introduce __mt76u_init utility routine (Íñigo Huguet) [2059994] - mt76: usb: add req_type to ___mt76u_wr signature (Íñigo Huguet) [2059994] - mt76: usb: add req_type to ___mt76u_rr signature (Íñigo Huguet) [2059994] - mt76: mt7915: fix typos in comments (Íñigo Huguet) [2059994] - mt76: mt7915: fix phy cap in mt7915_set_stream_he_txbf_caps() (Íñigo Huguet) [2059994] - mt76: mt7915: fix beamforming mib stats (Íñigo Huguet) [2059994] - mt76: mt7915: set band1 TGID field in tx descriptor (Íñigo Huguet) [2059994] - mt76: fix invalid rssi report (Íñigo Huguet) [2059994] - mt76: use le32/16_get_bits() whenever possible (Íñigo Huguet) [2059994] - mt76: connac: make read-only array ba_range static const (Íñigo Huguet) [2059994] - mt76: mt7915: check for devm_pinctrl_get() failure (Íñigo Huguet) [2059994] - mt76: mt7921: get rid of mt7921_wait_for_mcu_init declaration (Íñigo Huguet) [2059994] - mt76: mt7915: add txpower init for 6GHz (Íñigo Huguet) [2059994] - mt76: mt7915: fix eeprom fields of txpower init values (Íñigo Huguet) [2059994] - mt76: mt7915: add 6 GHz support (Íñigo Huguet) [2059994] - mt76: connac: add 6 GHz support for wtbl and starec configuration (Íñigo Huguet) [2059994] - mt76: mt7915: allow beaconing on all chains (Íñigo Huguet) [2059994] - mt76: fix monitor mode crash with sdio driver (Íñigo Huguet) [2059994] - mt76: mt7921: fix mt7921_queues_acq implementation (Íñigo Huguet) [2059994] - mt76: mt7921: fix xmit-queue dump for usb and sdio (Íñigo Huguet) [2059994] - mt76: mt7921: make mt7921_init_tx_queues static (Íñigo Huguet) [2059994] - mt76: split single ldpc cap bit into bits (Íñigo Huguet) [2059994] - mt76: mt7915: fix DFS no radar detection event (Íñigo Huguet) [2059994] - mt76: mt7921: use mt76_hw instead of open coding it (Íñigo Huguet) [2059994] - mt76: mt7921: fix up the monitor mode (Íñigo Huguet) [2059994] - mt76: mt7663u: introduce mt7663u_mcu_power_on routine (Íñigo Huguet) [2059994] - mt76: mt7615: honor ret from mt7615_mcu_restart in mt7663u_mcu_init (Íñigo Huguet) [2059994] - rtw89: fix uninitialized variable of rtw89_append_probe_req_ie() (Íñigo Huguet) [2059994] - rtlwifi: rtl8821ae: fix typos in comments (Íñigo Huguet) [2059994] - rtlwifi: rtl8192cu: Add On Networks N150 (Íñigo Huguet) [2059994] - mwifiex: make read-only array wmm_oui static const (Íñigo Huguet) [2059994] - mac80211: update bssid_indicator in ieee80211_assign_beacon (Íñigo Huguet) [2059994] - mac80211: MBSSID channel switch (Íñigo Huguet) [2059994] - mac80211: MBSSID beacon handling in AP mode (Íñigo Huguet) [2059994] - mac80211: always have ieee80211_sta_restart() (Íñigo Huguet) [2059994] - mac80211: Add support to trigger sta disconnect on hardware restart (Íñigo Huguet) [2059994] - mac80211: fix potential double free on mesh join (Íñigo Huguet) [2059994] - mac80211: correct legacy rates check in ieee80211_calc_rx_airtime (Íñigo Huguet) [2059994] - nl80211: fix typo of NL80211_IF_TYPE_OCB in documentation (Íñigo Huguet) [2059994] - mac80211: Use GFP_KERNEL instead of GFP_ATOMIC when possible (Íñigo Huguet) [2059994] - mac80211: replace DEFINE_SIMPLE_ATTRIBUTE with DEFINE_DEBUGFS_ATTRIBUTE (Íñigo Huguet) [2059994] - rtw89: 8852c: process logic efuse map (Íñigo Huguet) [2059994] - rtw89: 8852c: process efuse of phycap (Íñigo Huguet) [2059994] - rtw89: support DAV efuse reading operation (Íñigo Huguet) [2059994] - rtw89: 8852c: add chip::dle_mem (Íñigo Huguet) [2059994] - rtw89: add page_regs to handle v1 chips (Íñigo Huguet) [2059994] - rtw89: add chip_info::{h2c,c2h}_reg to support more chips (Íñigo Huguet) [2059994] - rtw89: add hci_func_en_addr to support variant generation (Íñigo Huguet) [2059994] - rtw89: add power_{on/off}_func (Íñigo Huguet) [2059994] - rtw89: read chip version depends on chip ID (Íñigo Huguet) [2059994] - rtw89: pci: use a struct to describe all registers address related to DMA channel (Íñigo Huguet) [2059994] - rtw89: pci: add V1 of PCI channel address (Íñigo Huguet) [2059994] - rtw89: pci: add struct rtw89_pci_info (Íñigo Huguet) [2059994] - rtw89: 8852c: add 8852c empty files (Íñigo Huguet) [2059994] - brcmfmac: make the read-only array pktflags static const (Íñigo Huguet) [2059994] - rtlwifi: rtl8192ce: remove duplicated function '_rtl92ce_phy_set_rf_sleep' (Íñigo Huguet) [2059994] - ath10k: Fix error handling in ath10k_setup_msa_resources (Íñigo Huguet) [2059994] - ath11k: remove unneeded flush_workqueue (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 72 for AX devices (Íñigo Huguet) [2059994] - iwlwifi: acpi: move ppag code from mvm to fw/acpi (Íñigo Huguet) [2059994] - iwlwifi: dbg: check trigger data before access (Íñigo Huguet) [2059994] - iwlwifi: dbg: in sync mode don't call schedule (Íñigo Huguet) [2059994] - iwlwifi: use 4k queue size for Bz A-step (Íñigo Huguet) [2059994] - iwlwifi: pcie: fix SW error MSI-X mapping (Íñigo Huguet) [2059994] - iwlwifi: yoyo: dump IMR DRAM only for HW and FW error (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for IMR based on platform (Íñigo Huguet) [2059994] - iwlwifi: yoyo: disable IMR DRAM region if IMR is disabled (Íñigo Huguet) [2059994] - iwlwifi: mvm: remove cipher scheme support (Íñigo Huguet) [2059994] - iwlwifi: Configure FW debug preset via module param. (Íñigo Huguet) [2059994] - iwlwifi: mvm: add a flag to reduce power command. (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 71 for AX devices (Íñigo Huguet) [2059994] - ath9k: make array voice_priority static const (Íñigo Huguet) [2059994] - rtw89: declare HE capabilities in 6G band (Íñigo Huguet) [2059994] - rtw89: fix HE PHY bandwidth capability (Íñigo Huguet) [2059994] - rtw89: add tx_wake notify for low ps mode (Íñigo Huguet) [2059994] - rtw89: 8852a: add ieee80211_ops::hw_scan (Íñigo Huguet) [2059994] - Revert "ath: add support for special 0x0 regulatory domain" (Íñigo Huguet) [2059994] - rtw89: get channel parameters of 160MHz bandwidth (Íñigo Huguet) [2059994] - mt76: fix dfs state issue with 160 MHz channels (Íñigo Huguet) [2059994] - mt76: mt7915: simplify conditional (Íñigo Huguet) [2059994] - mt76: mt7921: fix injected MPDU transmission to not use HW A-MSDU (Íñigo Huguet) [2059994] - mt76: mt7915e: Enable thermal management by default (Íñigo Huguet) [2059994] - mt76: mt7915e: Add a hwmon attribute to get the actual throttle state. (Íñigo Huguet) [2059994] - mt76: mt7915e: Fix degraded performance after temporary overheat (Íñigo Huguet) [2059994] - mt76: improve signal strength reporting (Íñigo Huguet) [2059994] - mt76: mt7915: use min_t() to make code cleaner (Íñigo Huguet) [2059994] - mt76: mt7915: fix the muru tlv issue (Íñigo Huguet) [2059994] - mt76: mt7915: check band idx for bcc event (Íñigo Huguet) [2059994] - mt76: mt7615: Fix assigning negative values to unsigned variable (Íñigo Huguet) [2059994] - mt76: connac: adjust wlan_idx size from u8 to u16 (Íñigo Huguet) [2059994] - mt76: mt7915: fix endianness warnings in mt7915_mac_tx_free() (Íñigo Huguet) [2059994] - mt76: mt7915: fix endianness warnings in mt7915_debugfs_rx_fw_monitor (Íñigo Huguet) [2059994] - mt76: mt7615: fix compiler warning on frame size (Íñigo Huguet) [2059994] - mt76: mt7915: initialize smps mode in mt7915_mcu_sta_rate_ctrl_tlv() (Íñigo Huguet) [2059994] - mt76: mt7915: introduce band_idx in mt7915_phy (Íñigo Huguet) [2059994] - mt76: mt7915: add support for MT7986 (Íñigo Huguet) [2059994] - ath10k: fix pointer arithmetic error in trace call (Íñigo Huguet) [2059994] - ath11k: add dbring debug support (Íñigo Huguet) [2059994] - ath11k: translate HE status to radiotap format (Íñigo Huguet) [2059994] - ath11k: decode HE status tlv (Íñigo Huguet) [2059994] - ath11k: switch to using ieee80211_tx_status_ext() (Íñigo Huguet) [2059994] - mt76: mt7921s: fix missing fc type/sub-type for 802.11 pkts (Íñigo Huguet) [2059994] - mt76: mt7915: fix potential memory leak of fw monitor packets (Íñigo Huguet) [2059994] - mt76: mt7915: Fix channel state update error issue (Íñigo Huguet) [2059994] - mt76: fix endianness errors in reverse_frag0_hdr_trans (Íñigo Huguet) [2059994] - mt76: mt7615: introduce SAR support (Íñigo Huguet) [2059994] - mt76: mt7915: fix injected MPDU transmission to not use HW A-MSDU (Íñigo Huguet) [2059994] - rtw88: change rtw_info() to proper message level (Íñigo Huguet) [2059994] - rtw89: Limit the CFO boundaries of x'tal value (Íñigo Huguet) [2059994] - rtw89: phy: handle txpwr lmt/lmt_ru of 160M bandwidth (Íñigo Huguet) [2059994] - rtw89: phy: handle txpwr lmt/lmt_ru of 6G band (Íñigo Huguet) [2059994] - ath11k: Fix frames flush failure caused by deadlock (Íñigo Huguet) [2059994] - ath11k: Handle failure in qmi firmware ready (Íñigo Huguet) [2059994] - ath11k: Invalidate cached reo ring entry before accessing it (Íñigo Huguet) [2059994] - ath: Replace zero-length arrays with flexible-array members (Íñigo Huguet) [2059994] - ath11k: Replace zero-length arrays with flexible-array members (Íñigo Huguet) [2059994] - ath10k: Replace zero-length array with flexible-array member (Íñigo Huguet) [2059994] - ath9k: use hw_random API instead of directly dumping into random.c (Íñigo Huguet) [2059994] - ath11k: configure RDDM size to mhi for recovery by firmware (Íñigo Huguet) [2059994] - ath11k: fix invalid m3 buffer address (Íñigo Huguet) [2059994] - ath11k: add ath11k_qmi_free_resource() for recovery (Íñigo Huguet) [2059994] - rtw89: core.h: Replace zero-length array with flexible-array member (Íñigo Huguet) [2059994] - brcmfmac: Replace zero-length arrays with flexible-array members (Íñigo Huguet) [2059994] - rtw89: fix RCU usage in rtw89_core_txq_push() (Íñigo Huguet) [2059994] - rtw88: coex: Update rtl8822c COEX version to 22020720 (Íñigo Huguet) [2059994] - rtw88: coex: Add C2H/H2C handshake with BT mailbox for asking HID Info (Íñigo Huguet) [2059994] - rtw88: coex: Add WLAN MIMO power saving for Bluetooth gaming controller (Íñigo Huguet) [2059994] - rtw88: coex: update BT PTA counter regularly (Íñigo Huguet) [2059994] - rtw88: coex: Improve WLAN throughput when HFP COEX (Íñigo Huguet) [2059994] - rtw88: 8822ce: add support for TX/RX 1ss mode (Íñigo Huguet) [2059994] - iwlwifi: dbg_ini: Split memcpy() to avoid multi-field write (Íñigo Huguet) [2059994] - iwlwifi: mvm: Fix an error code in iwl_mvm_up() (Íñigo Huguet) [2059994] - iwlwifi: Fix -EIO error code that is never returned (Íñigo Huguet) [2059994] - iwlwifi: mvm: rfi: use kmemdup() to replace kzalloc + memcpy (Íñigo Huguet) [2059994] - iwlwifi: Fix syntax errors in comments (Íñigo Huguet) [2059994] - iwlwifi: dvm: use struct_size over open coded arithmetic (Íñigo Huguet) [2059994] - iwlwifi/fw: use struct_size over open coded arithmetic (Íñigo Huguet) [2059994] - iwlwifi: Make use of the helper macro LIST_HEAD() (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix off by one in iwl_mvm_stat_iterator_all_macs() (Íñigo Huguet) [2059994] - iwlwifi: yoyo: send hcmd to fw after dump collection completes. (Íñigo Huguet) [2059994] - iwlwifi: mvm: move only to an enabled channel (Íñigo Huguet) [2059994] - iwlwifi: mvm: update BAID allocation command again (Íñigo Huguet) [2059994] - iwlwifi: api: remove ttl field from TX command (Íñigo Huguet) [2059994] - iwlwifi: support new queue allocation command (Íñigo Huguet) [2059994] - iwlwifi: yoyo: support dump policy for the dump size (Íñigo Huguet) [2059994] - iwlwifi: pcie: iwlwifi: fix device id 7F70 struct (Íñigo Huguet) [2059994] - iwlwifi: tlc: Add logs in rs_fw_rate_init func to print TLC configuration (Íñigo Huguet) [2059994] - iwlwifi: mvm: remove iwl_mvm_disable_txq() flags argument (Íñigo Huguet) [2059994] - iwlwifi: remove command ID argument from queue allocation (Íñigo Huguet) [2059994] - iwlwifi: make iwl_txq_dyn_alloc_dma() return the txq (Íñigo Huguet) [2059994] - iwlwifi: fix small doc mistake for iwl_fw_ini_addr_val (Íñigo Huguet) [2059994] - iwlwifi: mvm: add additional info for boot info failures (Íñigo Huguet) [2059994] - iwlwifi: mvm: always remove the session protection after association (Íñigo Huguet) [2059994] - iwlwifi: mvm: make iwl_mvm_reconfig_scd() static (Íñigo Huguet) [2059994] - iwlwifi: mvm: refactor setting PPE thresholds in STA_HE_CTXT_CMD (Íñigo Huguet) [2059994] - iwlwifi: mvm: Disable WiFi bands selectively with BIOS (Íñigo Huguet) [2059994] - iwlwifi: mvm: add additional info for boot info failures (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't send BAID removal to the FW during hw_restart (Íñigo Huguet) [2059994] - iwlwifi: don't dump_stack() when we get an unexpected interrupt (Íñigo Huguet) [2059994] - iwlwifi: mvm: rfi: handle deactivation notification (Íñigo Huguet) [2059994] - iwlwifi: mvm: Consider P2P GO operation during scan (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 70 for AX devices (Íñigo Huguet) [2059994] - iwlwifi: mvm: Unify the scan iteration functions (Íñigo Huguet) [2059994] - iwlwifi: mei: use C99 initializer for device IDs (Íñigo Huguet) [2059994] - iwlwifi: debugfs: remove useless double condition (Íñigo Huguet) [2059994] - iwlwifi: remove unused macros (Íñigo Huguet) [2059994] - iwlwifi: eeprom: clean up macros (Íñigo Huguet) [2059994] - iwlwifi: drv: load tlv debug data earlier (Íñigo Huguet) [2059994] - iwlwifi: pcie: Adapt rx queue write pointer for Bz family (Íñigo Huguet) [2059994] - iwlwifi: pcie: adjust to Bz completion descriptor (Íñigo Huguet) [2059994] - iwlwifi: mvm: Passively scan non PSC channels only when requested so (Íñigo Huguet) [2059994] - iwlwifi: scan: Modify return value of a function (Íñigo Huguet) [2059994] - iwlwifi: yoyo: Avoid using dram data if allocation failed (Íñigo Huguet) [2059994] - iwlwifi: mvm: Correctly set fragmented EBS (Íñigo Huguet) [2059994] - iwlwifi: nvm: Correct HE capability (Íñigo Huguet) [2059994] - iwlwifi: mei: avoid -Wpointer-arith and -Wcast-qual warnings (Íñigo Huguet) [2059994] - iwlwifi: make some functions friendly to sparse (Íñigo Huguet) [2059994] - iwlwifi: avoid variable shadowing (Íñigo Huguet) [2059994] - iwlwifi: remove unused DC2DC_CONFIG_CMD definitions (Íñigo Huguet) [2059994] - iwlwifi: dbg-tlv: clean up iwl_dbg_tlv_update_drams() (Íñigo Huguet) [2059994] - iwlwifi: fw: make dump_start callback void (Íñigo Huguet) [2059994] - iwlwifi: pcie: make sure iwl_rx_packet_payload_len() will not underflow (Íñigo Huguet) [2059994] - iwlwifi: mvm: use debug print instead of WARN_ON() (Íñigo Huguet) [2059994] - iwlwifi: read and print OTP minor version (Íñigo Huguet) [2059994] - iwlwifi: add support for BZ-U and BZ-L HW (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for CT-KILL notification version 2 (Íñigo Huguet) [2059994] - iwlwifi: yoyo: remove DBGI_SRAM address reset writing (Íñigo Huguet) [2059994] - iwlwifi: mvm: support v3 of station HE context command (Íñigo Huguet) [2059994] - iwlwifi: yoyo: add IMR DRAM dump support (Íñigo Huguet) [2059994] - iwlwifi: yoyo: fix DBGC allocation flow (Íñigo Huguet) [2059994] - iwlwifi: pcie: add support for MS devices (Íñigo Huguet) [2059994] - iwlwifi: mvm: align locking in D3 test debugfs (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't iterate unadded vifs when handling FW SMPS req (Íñigo Huguet) [2059994] - iwlwifi: advertise support for HE - DCM BPSK RX/TX (Íñigo Huguet) [2059994] - iwlwifi: mvm: only enable HE DCM if we also support TX (Íñigo Huguet) [2059994] - iwlwifi: yoyo: fix DBGI_SRAM ini dump header. (Íñigo Huguet) [2059994] - iwlwifi: dbg: add infra for tracking free buffer size (Íñigo Huguet) [2059994] - iwlwifi: mvm: starting from 22000 we have 32 Rx AMPDU sessions (Íñigo Huguet) [2059994] - iwlwifi: mvm: support new BAID allocation command (Íñigo Huguet) [2059994] - iwlwifi: mvm: refactor iwl_mvm_sta_rx_agg() (Íñigo Huguet) [2059994] - iwlwifi: cfg: add support for 1K BA queue (Íñigo Huguet) [2059994] - iwlwifi: avoid void pointer arithmetic (Íñigo Huguet) [2059994] - iwlwifi: fix various more -Wcast-qual warnings (Íñigo Huguet) [2059994] - iwlwifi: propagate (const) type qualifier (Íñigo Huguet) [2059994] - iwlwifi: de-const properly where needed (Íñigo Huguet) [2059994] - iwlwifi: make iwl_fw_lookup_cmd_ver() take a cmd_id (Íñigo Huguet) [2059994] - iwlwifi: mvm: fw: clean up hcmd struct creation (Íñigo Huguet) [2059994] - iwlwifi: prefer WIDE_ID() over iwl_cmd_id() (Íñigo Huguet) [2059994] - iwlwifi: mvm: allow enabling UHB TAS in the USA via ACPI setting (Íñigo Huguet) [2059994] - iwlwifi: mvm: offload channel switch timing to FW (Íñigo Huguet) [2059994] - iwlwifi: mvm: Don't call iwl_mvm_sta_from_mac80211() with NULL sta (Íñigo Huguet) [2059994] - mac80211_hwsim: Advertise support for EHT capabilities (Íñigo Huguet) [2059994] - mac80211: parse AddBA request with extended AddBA element (Íñigo Huguet) [2059994] - mac80211: calculate max RX NSS for EHT mode (Íñigo Huguet) [2059994] - mac80211: Add support for storing station EHT capabilities (Íñigo Huguet) [2059994] - mac80211: Handle station association response with EHT (Íñigo Huguet) [2059994] - mac80211: Add EHT capabilities to association/probe request (Íñigo Huguet) [2059994] - mac80211: Add initial support for EHT and 320 MHz channels (Íñigo Huguet) [2059994] - mac80211: Support parsing EHT elements (Íñigo Huguet) [2059994] - cfg80211: Support configuration of station EHT capabilities (Íñigo Huguet) [2059994] - nl80211: fix NL80211_HE_MAX_CAPABILITY_LEN (Íñigo Huguet) [2059994] - cfg80211: add NO-EHT flag to regulatory (Íñigo Huguet) [2059994] - nl80211: add support for 320MHz channel limitation (Íñigo Huguet) [2059994] - nl80211: add EHT MCS support (Íñigo Huguet) [2059994] - cfg80211: Add support for EHT 320 MHz channel width (Íñigo Huguet) [2059994] - cfg80211: Add data structures to capture EHT capabilities (Íñigo Huguet) [2059994] - ieee80211: add EHT 1K aggregation definitions (Íñigo Huguet) [2059994] - ieee80211: Add EHT (802.11be) definitions (Íñigo Huguet) [2059994] - mac80211_hwsim: Add custom regulatory for 6GHz (Íñigo Huguet) [2059994] - mac80211_hwsim: don't shadow a global variable (Íñigo Huguet) [2059994] - mac80211_hwsim: check TX and STA bandwidth (Íñigo Huguet) [2059994] - nl80211: accept only HE capability elements with valid size (Íñigo Huguet) [2059994] - mac80211: parse only HE capability elements with valid size (Íñigo Huguet) [2059994] - ieee80211: add helper to check HE capability element size (Íñigo Huguet) [2059994] - nl80211: use RCU to read regdom in reg get/dump (Íñigo Huguet) [2059994] - mac80211_hwsim: Add debugfs to control rx status RSSI (Íñigo Huguet) [2059994] - ieee80211: use tab to indent struct ieee80211_neighbor_ap_info (Íñigo Huguet) [2059994] - rtw89: handle TX/RX 160M bandwidth (Íñigo Huguet) [2059994] - rtw89: declare if chip support 160M bandwidth (Íñigo Huguet) [2059994] - rtw89: add 6G support to rate adaptive mechanism (Íñigo Huguet) [2059994] - rtw89: extend subband for 6G band (Íñigo Huguet) [2059994] - rtw89: refine naming of rfk helpers with prefix (Íñigo Huguet) [2059994] - rtw89: make rfk helpers common across chips (Íñigo Huguet) [2059994] - brcmfmac: Add BCM43454/6 support (Íñigo Huguet) [2059994] - ath11k: fix destination monitor ring out of sync (Íñigo Huguet) [2059994] - ath11k: fix radar detection in 160 Mhz (Íñigo Huguet) [2059994] - ath11k: fix WARN_ON during ath11k_mac_update_vif_chan (Íñigo Huguet) [2059994] - ath11k: fix uninitialized rate_idx in ath11k_dp_tx_update_txcompl() (Íñigo Huguet) [2059994] - brcmfmac: of: remove redundant variable len (Íñigo Huguet) [2059994] - brcmfmac: p2p: Replace one-element arrays with flexible-array members (Íñigo Huguet) [2059994] - rtw89: coex: set EN bit to PLT register (Íñigo Huguet) [2059994] - rtw89: recover rates of rate adaptive mechanism (Íñigo Huguet) [2059994] - rtw88: recover rates of rate adaptive mechanism (Íñigo Huguet) [2059994] - rtw89: declare AP mode support (Íñigo Huguet) [2059994] - rtw89: debug: add stations entry to show ID assignment (Íñigo Huguet) [2059994] - rtw89: implement ieee80211_ops::start_ap and stop_ap (Íñigo Huguet) [2059994] - rtw89: maintain assoc/disassoc STA states of firmware and hardware (Íñigo Huguet) [2059994] - rtw89: only STA mode change vif_type mapping dynamically (Íñigo Huguet) [2059994] - rtw89: add addr_cam field to sta to support AP mode (Íñigo Huguet) [2059994] - rtw89: extend role_maintain to support AP mode (Íñigo Huguet) [2059994] - rtw88: fix use after free in rtw_hw_scan_update_probe_req() (Íñigo Huguet) [2059994] - mac80211: Remove redundent assignment channel_type (Íñigo Huguet) [2059994] - mac80211: remove useless ieee80211_vif_is_mesh() check (Íñigo Huguet) [2059994] - mac80211: fix struct ieee80211_tx_info size (Íñigo Huguet) [2059994] - mac80211: mlme: validate peer HE supported rates (Íñigo Huguet) [2059994] - mac80211: remove unused macros (Íñigo Huguet) [2059994] - cfg80211: pmsr: remove useless ifdef guards (Íñigo Huguet) [2059994] - mac80211: airtime: avoid variable shadowing (Íñigo Huguet) [2059994] - mac80211: mlme: add documentation from spec to code (Íñigo Huguet) [2059994] - mac80211: vht: use HE macros for parsing HE capabilities (Íñigo Huguet) [2059994] - ieee80211: radiotap: fix -Wcast-qual warnings (Íñigo Huguet) [2059994] - cfg80211: fix -Wcast-qual warnings (Íñigo Huguet) [2059994] - ieee80211: fix -Wcast-qual warnings (Íñigo Huguet) [2059994] - cfg80211: don't add non transmitted BSS to 6GHz scanned channels (Íñigo Huguet) [2059994] - ieee80211: fix HE SPR size calculation (Íñigo Huguet) [2059994] - cfg80211/mac80211: assume CHECKSUM_COMPLETE includes SNAP (Íñigo Huguet) [2059994] - mac80211: consider RX NSS in UHB connection (Íñigo Huguet) [2059994] - mac80211: limit bandwidth in HE capabilities (Íñigo Huguet) [2059994] - mt76: redefine mt76_for_each_q_rx to adapt mt7986 changes (Íñigo Huguet) [2059994] - mt76: dma: initialize skip_unmap in mt76_dma_rx_fill (Íñigo Huguet) [2059994] - mt76: do not always copy ethhdr in reverse_frag0_hdr_trans (Íñigo Huguet) [2059994] - mt76: mt76x02: use mt76_phy_dfs_state to determine radar detector state (Íñigo Huguet) [2059994] - mt76: mt7615: fix/rewrite the dfs state handling logic (Íñigo Huguet) [2059994] - mt76: mt7915: fix/rewrite the dfs state handling logic (Íñigo Huguet) [2059994] - mt76: mt76x02: improve tx hang detection (Íñigo Huguet) [2059994] - mt76x02: improve mac error check/reset reliability (Íñigo Huguet) [2059994] - mt76: mt7921s: run sleep mode by default (Íñigo Huguet) [2059994] - mt76: sdio: honor the largest Tx buffer the hardware can support (Íñigo Huguet) [2059994] - mt76: mt7915: fix the nss setting in bitrates (Íñigo Huguet) [2059994] - mt76: mt7915: update max_mpdu_size in mt7915_mcu_sta_amsdu_tlv() (Íñigo Huguet) [2059994] - mt76: mt7915: fix mcs_map in mt7915_mcu_set_sta_he_mcs() (Íñigo Huguet) [2059994] - mt76: mt7921s: fix a possible memory leak in mt7921_load_patch (Íñigo Huguet) [2059994] - mt76: mt7915: fix possible memory leak in mt7915_mcu_add_sta (Íñigo Huguet) [2059994] - mt76: stop the radar detector after leaving dfs channel (Íñigo Huguet) [2059994] - mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update (Íñigo Huguet) [2059994] - mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update (Íñigo Huguet) [2059994] - mt76: mt7663s: flush runtime-pm queue after waking up the device (Íñigo Huguet) [2059994] - mt76: mt7615: add support for LG LGSBWAC02 (MT7663BUN) (Íñigo Huguet) [2059994] - mt76: mt7921: remove duplicated code in mt7921_mac_decode_he_radiotap (Íñigo Huguet) [2059994] - mt76: mt7915: add missing DATA4_TB_SPTL_REUSE1 to mt7915_mac_decode_he_radiotap (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_lmac_mapping in mt76-connac module (Íñigo Huguet) [2059994] - mt76: mt7915: enable radar background detection (Íñigo Huguet) [2059994] - mt76: mt7915: report radar pattern if detected by rdd2 (Íñigo Huguet) [2059994] - mt76: mt7915: introduce rdd_monitor debugfs node (Íñigo Huguet) [2059994] - mt76: mt7915: enable radar trigger on rdd2 (Íñigo Huguet) [2059994] - mt76: mt7915: introduce mt7915_set_radar_background routine (Íñigo Huguet) [2059994] - mt76: mt7915: set bssinfo/starec command when adding interface (Íñigo Huguet) [2059994] - mt76: mt7921: toggle runtime-pm adding a monitor vif (Íñigo Huguet) [2059994] - mt76: mt7921: fix endianness issues in mt7921_mcu_set_tx() (Íñigo Huguet) [2059994] - mt76: sdio: disable interrupt in mt76s_sdio_irq (Íñigo Huguet) [2059994] - mt76: mt7921: fix crash when startup fails. (Íñigo Huguet) [2059994] - mt76: mt7921s: fix mt7921s_mcu_[fw|drv]_pmctrl (Íñigo Huguet) [2059994] - mt76: mt7921: fix ht mcs in mt7921_mac_add_txs_skb() (Íñigo Huguet) [2059994] - mt76: mt7915: fix ht mcs in mt7915_mac_add_txs_skb() (Íñigo Huguet) [2059994] - mt76: mt7615: fix a leftover race in runtime-pm (Íñigo Huguet) [2059994] - mt76: mt7921: fix a leftover race in runtime-pm (Íñigo Huguet) [2059994] - mt76: mt7921: do not always disable fw runtime-pm (Íñigo Huguet) [2059994] - mt76: mt7915: add support for passing chip/firmware debug data to user space (Íñigo Huguet) [2059994] - mt76: mt7615e: process txfree and txstatus without allocating skbs (Íñigo Huguet) [2059994] - mt76: mt7915: update bss_info with cipher after setting the group key (Íñigo Huguet) [2059994] - mt76: mt7615: update bss_info with cipher after setting the group key (Íñigo Huguet) [2059994] - mt76: connac: add support for passing the cipher field in bss_info (Íñigo Huguet) [2059994] - mt76: mt7921e: process txfree and txstatus without allocating skbs (Íñigo Huguet) [2059994] - mt76: mt7615: fix a possible race enabling/disabling runtime-pm (Íñigo Huguet) [2059994] - mt76: mt7921: set EDCA parameters with the MCU CE command (Íñigo Huguet) [2059994] - mt76: mt76_connac: fix MCU_CE_CMD_SET_ROC definition error (Íñigo Huguet) [2059994] - mt76: mt7921: forbid the doze mode when coredump is in progress (Íñigo Huguet) [2059994] - mt76: mt7921e: make dev->fw_assert usage consistent (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_rdd_cmd in mt76-connac module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_set_rts_thresh (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_gen_dl_mode in mt76-connac module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_init_download (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_patch_sem_ctrl/mt76_connac_mcu_start_patch (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_restart in common module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_start_firmware (Íñigo Huguet) [2059994] - mt76: mt7921: get rid of mt7921_mcu_get_eeprom (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_set_pm in connac module (Íñigo Huguet) [2059994] - mt76: connac: introduce is_connac_v1 utility routine (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_wtbl_update_hdr_trans in connac module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_hdr_trans_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_ht_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_smps_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_sta_uapsd (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_sta_basic_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_generic_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_sta_ba (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_ba_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_sta_ba_tlv (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_bss_basic_tlv in connac module (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_bss_ext_tlv in connac module (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_bss_omac_tlv in connac module (Íñigo Huguet) [2059994] - mt76: mt7915: remove duplicated defs in mcu.h (Íñigo Huguet) [2059994] - mt76: mt7915: move pci specific code back to pci.c (Íñigo Huguet) [2059994] - mt76: mt7921s: update mt7921s_wfsys_reset sequence (Íñigo Huguet) [2059994] - mt76: mt7921s: clear MT76_STATE_MCU_RUNNING immediately after reset (Íñigo Huguet) [2059994] - mt76: sdio: lock sdio when it is needed (Íñigo Huguet) [2059994] - mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta mode (Íñigo Huguet) [2059994] - mt76: make mt76_sar_capa static (Íñigo Huguet) [2059994] - mt76: mt7915: add device id for mt7916 (Íñigo Huguet) [2059994] - mt76: set wlan_idx_hi on mt7916 (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_add_key in connac module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_get_phy utilities (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_chan_bw in common code (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_get_cipher in common code (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_add_tlv routine (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_alloc_wtbl_req (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_alloc_sta_req (Íñigo Huguet) [2059994] - mt76: connac: fix sta_rec_wtbl tag len (Íñigo Huguet) [2059994] - mt76: mt7915: add mt7916 calibrated data support (Íñigo Huguet) [2059994] - mt76: mt7915: update mt7915_chan_mib_offs for mt7916 (Íñigo Huguet) [2059994] - mt76: mt7915: update rx rate reporting for mt7916 (Íñigo Huguet) [2059994] - mt76: mt7915: add txfree event v3 (Íñigo Huguet) [2059994] - mt76: mt7915: enlarge wcid size to 544 (Íñigo Huguet) [2059994] - mt76: mt7915: rework eeprom.c to adapt mt7916 changes (Íñigo Huguet) [2059994] - mt76: mt7915: add firmware support for mt7916 (Íñigo Huguet) [2059994] - mt76: mt7915: rework dma.c to adapt mt7916 changes (Íñigo Huguet) [2059994] - mt76: add MT_RXQ_MAIN_WA for mt7916 (Íñigo Huguet) [2059994] - mt76: mt7915: refine register definition (Íñigo Huguet) [2059994] - mt76: mt7915: add mt7915_mmio_probe() as a common probing function (Íñigo Huguet) [2059994] - mt76: mt7915: fix polling firmware-own status (Íñigo Huguet) [2059994] - brcmfmac: pcie: Read the console on init and shutdown (Íñigo Huguet) [2059994] - brcmfmac: fwil: Constify iovar name arguments (Íñigo Huguet) [2059994] - brcmfmac: of: Use devm_kstrdup for board_type & check for errors (Íñigo Huguet) [2059994] - brcmfmac: pcie: Fix crashes due to early IRQs (Íñigo Huguet) [2059994] - brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio (Íñigo Huguet) [2059994] - brcmfmac: pcie: Declare missing firmware files in pcie.c (Íñigo Huguet) [2059994] - brcmfmac: firmware: Allocate space for default boardrev in nvram (Íñigo Huguet) [2059994] - brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error path (Íñigo Huguet) [2059994] - rtlwifi: remove redundant initialization of variable ul_encalgo (Íñigo Huguet) [2059994] - ray_cs: Check ioremap return value (Íñigo Huguet) [2059994] - ath11k: add debugfs for TWT debug calls (Íñigo Huguet) [2059994] - ath11k: add WMI calls to manually add/del/pause/resume TWT dialogs (Íñigo Huguet) [2059994] - ath11k: Add debugfs interface to configure firmware debug log level (Íñigo Huguet) [2059994] - rtw88: rtw8821c: enable rfe 6 devices (Íñigo Huguet) [2059994] - rtw88: fix memory overrun and memory leak during hw_scan (Íñigo Huguet) [2059994] - rtw88: fix idle mode flow for hw scan (Íñigo Huguet) [2059994] - rtw88: check for validity before using a pointer (Íñigo Huguet) [2059994] - ath11k: mhi: use mhi_sync_power_up() (Íñigo Huguet) [2059994] - ath11k: pci: fix crash on suspend if board file is not found (Íñigo Huguet) [2059994] - ath11k: Fix missing rx_desc_get_ldpc_support in wcn6855_ops (Íñigo Huguet) [2059994] - ath11k: Fix uninitialized symbol 'rx_buf_sz' (Íñigo Huguet) [2059994] - ath11k: fix kernel panic during unload/load ath11k modules (Íñigo Huguet) [2059994] - ath11k: Rename ath11k_ahb_ext_irq_config (Íñigo Huguet) [2059994] - brcmfmac: add CYW43570 PCIE device (Íñigo Huguet) [2059994] - brcmfmac: use ISO3166 country code and 0 rev as fallback on some devices (Íñigo Huguet) [2059994] - rtw89: use pci_read/write_config instead of dbi read/write (Íñigo Huguet) [2059994] - rtw89: refine DIG feature to support 160M and CCK PD (Íñigo Huguet) [2059994] - rtw89: include subband type in channel params (Íñigo Huguet) [2059994] - rtw89: handle 6G band if supported by a chipset (Íñigo Huguet) [2059994] - rtw89: separate {init,deinit}_addr_cam functions (Íñigo Huguet) [2059994] - rtw89: set mac_id and port ID to TXWD (Íñigo Huguet) [2059994] - rtw89: send broadcast/multicast packets via HIQ if STAs are in sleep mode (Íñigo Huguet) [2059994] - rtw89: configure mac port HIQ registers (Íñigo Huguet) [2059994] - rtw89: rename vif_maintain to role_maintain (Íñigo Huguet) [2059994] - rtw89: extend firmware commands on states of sta_assoc and sta_disconnect (Íñigo Huguet) [2059994] - rtw89: allocate mac_id for each station in AP mode (Íñigo Huguet) [2059994] - rtw89: implement mac80211_ops::set_tim to indicate STA to receive packets (Íñigo Huguet) [2059994] - rtw89: add C2H handle of BCN_CNT (Íñigo Huguet) [2059994] - rtw89: download beacon content to firmware (Íñigo Huguet) [2059994] - rtw89: use hardware SSN to TX management frame (Íñigo Huguet) [2059994] - rtw89: configure rx_filter according to FIF_PROBE_REQ (Íñigo Huguet) [2059994] - rtw89: correct use of BA CAM (Íñigo Huguet) [2059994] - rtw89: encapsulate RX handlers to single function (Íñigo Huguet) [2059994] - rtw89: Add RX counters of VHT MCS-10/11 to debugfs (Íñigo Huguet) [2059994] - rtw89: remove duplicate definition of hardware port number (Íñigo Huguet) [2059994] - rtw89: extract modules by chipset (Íñigo Huguet) [2059994] - ath11k: avoid firmware crash when reg set for QCA6390/WCN6855 (Íñigo Huguet) [2059994] - ath11k: set WMI_PEER_40MHZ while peer assoc for 6 GHz (Íñigo Huguet) [2059994] - ath9k_htc: fix uninit value bugs (Íñigo Huguet) [2059994] - ath10k: abstract htt_rx_desc structure (Íñigo Huguet) [2059994] - ath9k: remove redundant status variable (Íñigo Huguet) [2059994] - ath11k: Reconfigure hardware rate for WCN6855 after vdev is started (Íñigo Huguet) [2059994] - ath: dfs_pattern_detector: Avoid open coded arithmetic in memory allocation (Íñigo Huguet) [2059994] - ath10k: Use platform_get_irq() to get the interrupt (Íñigo Huguet) [2059994] - ath11k: fix error code in ath11k_qmi_assign_target_mem_chunk() (Íñigo Huguet) [2059994] - ath11k: move function ath11k_dp_rx_process_mon_status (Íñigo Huguet) [2059994] - ath11k: enable RX PPDU stats in monitor co-exist mode (Íñigo Huguet) [2059994] - ath11k: free peer for station when disconnect from AP for QCA6390/WCN6855 (Íñigo Huguet) [2059994] - ath11k: add LDPC FEC type in 802.11 radiotap header (Íñigo Huguet) [2059994] - ath11k: Refactor the fallback routine when peer create fails (Íñigo Huguet) [2059994] - ath11k: fix workqueue not getting destroyed after rmmod (Íñigo Huguet) [2059994] - ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern (Íñigo Huguet) [2059994] - ath11k: add missing of_node_put() to avoid leak (Íñigo Huguet) [2059994] - rfkill: define rfill_soft_blocked() if !RFKILL (Íñigo Huguet) [2059994] - Revert "ath10k: drop beacon and probe response which leak from other channel" (Íñigo Huguet) [2059994] - iwlwifi: mvm: return value for request_ownership (Íñigo Huguet) [2059994] - nl80211: Update bss channel on channel switch for P2P_CLIENT (Íñigo Huguet) [2059994] - iwlwifi: fix build error for IWLMEI (Íñigo Huguet) [2059994] - mac80211: treat some SAE auth steps as final (Íñigo Huguet) [2059994] - nl80211: Handle nla_memdup failures in handle_nan_filter (Íñigo Huguet) [2059994] - iwlwifi: mvm: check debugfs_dir ptr before use (Íñigo Huguet) [2059994] - iwlwifi: don't advertise TWT support (Íñigo Huguet) [2059994] - mac80211: fix forwarded mesh frames AC & queue selection (Íñigo Huguet) [2059994] - mac80211: refuse aggregations sessions before authorized (Íñigo Huguet) [2059994] - mac80211: fix EAPoL rekey fail in 802.3 rx path (Íñigo Huguet) [2059994] - iwlwifi: fix use-after-free (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Add mru_default for Cinterion MV31-W (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Add mru_default for Foxconn SDX55 (Íñigo Huguet) [2059994] - cfg80211: fix race in netlink owner interface destruction (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't send SAR GEO command for 3160 devices (Íñigo Huguet) [2059994] - iwlwifi: remove deprecated broadcast filtering feature (Íñigo Huguet) [2059994] - iwlwifi: mei: report RFKILL upon register when needed (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't feed the hardware RFKILL into iwlmei (Íñigo Huguet) [2059994] - iwlwifi: mei: retry mapping the shared area (Íñigo Huguet) [2059994] - iwlwifi: mei: fix the pskb_may_pull check in ipv4 (Íñigo Huguet) [2059994] - iwlwifi: pcie: gen2: fix locking when "HW not ready" (Íñigo Huguet) [2059994] - iwlwifi: pcie: fix locking when "HW not ready" (Íñigo Huguet) [2059994] - iwlwifi: fix iwl_legacy_rate_to_fw_idx (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix condition which checks the version of rate_n_flags (Íñigo Huguet) [2059994] - mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work (Íñigo Huguet) [2059994] - mac80211_hwsim: report NOACK frames in tx_status (Íñigo Huguet) [2059994] - mac80211: mlme: check for null after calling kmemdup (Íñigo Huguet) [2059994] - brcmfmac: firmware: Fix crash in brcm_alt_fw_path (Íñigo Huguet) [2059994] - mac80211: use ieee80211_bss_get_elem() (Íñigo Huguet) [2059994] - nl80211: clarify comment for mesh PLINK_BLOCKED state (Íñigo Huguet) [2059994] - mac80211: Add stations iterator where the iterator function may sleep (Íñigo Huguet) [2059994] - mac80211: allow non-standard VHT MCS-10/11 (Íñigo Huguet) [2059994] - codel: remove unnecessary pkt_sched.h include (Íñigo Huguet) [2059994] - codel: remove unnecessary sock.h include (Íñigo Huguet) [2059994] - rtw88: don't consider deep PS mode when transmitting packet (Íñigo Huguet) [2059994] - ath11k: add support of firmware logging for WCN6855 (Íñigo Huguet) [2059994] - ath10k: replace strlcpy with strscpy (Íñigo Huguet) [2059994] - rtw88: support SAR via kernel common API (Íñigo Huguet) [2059994] - rtw88: 8822c: add ieee80211_ops::hw_scan (Íñigo Huguet) [2059994] - iwlwifi: mei: wait before mapping the shared area (Íñigo Huguet) [2059994] - iwlwifi: mei: clear the ownership when the driver goes down (Íñigo Huguet) [2059994] - iwlwifi: fw: fix some scan kernel-doc (Íñigo Huguet) [2059994] - iwlwifi: mvm: remove card state notification code (Íñigo Huguet) [2059994] - iwlwifi: mvm: drop too short packets silently (Íñigo Huguet) [2059994] - iwlwifi: return op_mode only in case the failure is from MEI (Íñigo Huguet) [2059994] - iwlwifi: mvm: support Bz TX checksum offload (Íñigo Huguet) [2059994] - iwlwifi: mvm: add US/CA to TAS block list if OEM isn't allowed (Íñigo Huguet) [2059994] - iwlwifi: mvm: correctly set schedule scan profiles (Íñigo Huguet) [2059994] - iwlwifi: mvm: correctly set channel flags (Íñigo Huguet) [2059994] - iwlwifi: mvm: always store the PPAG table as the latest version. (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 69 for AX devices (Íñigo Huguet) [2059994] - iwlwifi: yoyo: support TLV-based firmware reset (Íñigo Huguet) [2059994] - iwlwifi: mvm: change old-SN drop threshold (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't trust hardware queue number (Íñigo Huguet) [2059994] - iwlwifi: mvm: handle RX checksum on Bz devices (Íñigo Huguet) [2059994] - iwlwifi: mvm: use a define for checksum flags mask (Íñigo Huguet) [2059994] - iwlwifi: remove module loading failure message (Íñigo Huguet) [2059994] - iwlwifi: mvm: isolate offload assist (checksum) calculation (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for OCE scan (Íñigo Huguet) [2059994] - iwlwifi: dump RCM error tables (Íñigo Huguet) [2059994] - iwlwifi: dump both TCM error tables if present (Íñigo Huguet) [2059994] - iwlwifi: dump CSR scratch from outer function (Íñigo Huguet) [2059994] - iwlwifi: parse error tables from debug TLVs (Íñigo Huguet) [2059994] - iwlwifi: recognize missing PNVM data and then log filename (Íñigo Huguet) [2059994] - iwlwifi: rs: add support for TLC config command ver 4 (Íñigo Huguet) [2059994] - iwlwifi: mvm: rfi: update rfi table (Íñigo Huguet) [2059994] - iwlwifi: mvm: Add list of OEMs allowed to use TAS (Íñigo Huguet) [2059994] - iwlwifi: mvm: support revision 1 of WTAS table (Íñigo Huguet) [2059994] - iwlwifi: fw: remove dead error log code (Íñigo Huguet) [2059994] - iwlwifi: do not use __unused as variable name (Íñigo Huguet) [2059994] - iwlwifi: iwl-eeprom-parse: mostly dvm only (Íñigo Huguet) [2059994] - iwlwifi: mvm: clean up indenting in iwl_mvm_tlc_update_notif() (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix a stray tab (Íñigo Huguet) [2059994] - ath11k: add regdb.bin download for regdb offload (Íñigo Huguet) [2059994] - rtl8xxxu: Improve the A-MPDU retransmission rate with RTS/CTS protection (Íñigo Huguet) [2059994] - rtw88: don't check CRC of VHT-SIG-B in 802.11ac signal (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix imbalanced locking in iwl_mvm_start_get_nvm() (Íñigo Huguet) [2059994] - iwlwifi: mvm: add dbg_time_point to debugfs (Íñigo Huguet) [2059994] - iwlwifi: mvm: add missing min_size to kernel-doc (Íñigo Huguet) [2059994] - iwlwifi: mei: fix W=1 warnings (Íñigo Huguet) [2059994] - ath11k: add support for hardware rfkill for QCA6390 (Íñigo Huguet) [2059994] - ath11k: report tx bitrate for iw wlan station dump (Íñigo Huguet) [2059994] - ath11k: fix warning of RCU usage for ath11k_mac_get_arvif_by_vdev_id() (Íñigo Huguet) [2059994] - ath11k: add signal report to mac80211 for QCA6390 and WCN6855 (Íñigo Huguet) [2059994] - ath11k: report rssi of each chain to mac80211 for QCA6390/WCN6855 (Íñigo Huguet) [2059994] - cfg80211: Enable regulatory enforcement checks for drivers supporting mesh iface (Íñigo Huguet) [2059994] - rfkill: allow to get the software rfkill state (Íñigo Huguet) [2059994] - cfg80211: refactor cfg80211_get_ies_channel_number() (Íñigo Huguet) [2059994] - nl82011: clarify interface combinations wrt. channels (Íñigo Huguet) [2059994] - nl80211: Add support to offload SA Query procedures for AP SME device (Íñigo Huguet) [2059994] - nl80211: Add support to set AP settings flags with single attribute (Íñigo Huguet) [2059994] - mac80211: add more HT/VHT/HE state logging (Íñigo Huguet) [2059994] - cfg80211: Use the HE operation IE to determine a 6GHz BSS channel (Íñigo Huguet) [2059994] - cfg80211: rename offchannel_chain structs to background_chain to avoid confusion with ETSI standard (Íñigo Huguet) [2059994] - mac80211: Notify cfg80211 about association comeback (Íñigo Huguet) [2059994] - cfg80211: Add support for notifying association comeback (Íñigo Huguet) [2059994] - mac80211: introduce channel switch disconnect function (Íñigo Huguet) [2059994] - cfg80211: Fix order of enum nl80211_band_iftype_attr documentation (Íñigo Huguet) [2059994] - cfg80211: simplify cfg80211_chandef_valid() (Íñigo Huguet) [2059994] - mac80211: Remove a couple of obsolete TODO (Íñigo Huguet) [2059994] - mac80211: use coarse boottime for airtime fairness code (Íñigo Huguet) [2059994] - mt76: mt7921s: fix cmd timeout in throughput test (Íñigo Huguet) [2059994] - mt76: mt7921s: fix suspend error with enlarging mcu timeout value (Íñigo Huguet) [2059994] - mt76: mt7921s: make pm->suspended usage consistent (Íñigo Huguet) [2059994] - mt76: mt7921: clear pm->suspended in mt7921_mac_reset_work (Íñigo Huguet) [2059994] - mt76: connac: rely on le16_add_cpu in mt76_connac_mcu_add_nested_tlv (Íñigo Huguet) [2059994] - mt76: mt7921: remove dead definitions (Íñigo Huguet) [2059994] - mt76: mt7915: add mu-mimo and ofdma debugfs knobs (Íñigo Huguet) [2059994] - mt76: mt7915: introduce mt76_vif in mt7915_vif (Íñigo Huguet) [2059994] - mt76: mt7921: reduce log severity levels for informative messages (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac definitions (Íñigo Huguet) [2059994] - mt76: connac: rely on MCU_CMD macro (Íñigo Huguet) [2059994] - mt76: connac: introduce MCU_CE_CMD macro (Íñigo Huguet) [2059994] - mt76: connac: introduce MCU_UNI_CMD macro (Íñigo Huguet) [2059994] - mt76: connac: remove MCU_FW_PREFIX bit (Íñigo Huguet) [2059994] - mt76: connac: align MCU_EXT definitions with 7915 driver (Íñigo Huguet) [2059994] - mt76: connac: introduce MCU_EXT macros (Íñigo Huguet) [2059994] - mt76: mt7615: in debugfs queue stats, skip wmm index 3 on mt7663 (Íñigo Huguet) [2059994] - mt76: mt7915: process txfree and txstatus without allocating skbs (Íñigo Huguet) [2059994] - mt76: allow drivers to drop rx packets early (Íñigo Huguet) [2059994] - mt76: mt7663: disable 4addr capability (Íñigo Huguet) [2059994] - mt76: only access ieee80211_hdr after mt76_insert_ccmp_hdr (Íñigo Huguet) [2059994] - mt76: move sar_capa configuration in common code (Íñigo Huguet) [2059994] - mt76: mt7921s: fix possible kernel crash due to invalid Rx count (Íñigo Huguet) [2059994] - mt76: mt7921s: fix bus hang with wrong privilege (Íñigo Huguet) [2059994] - mt76: eeprom: tolerate corrected bit-flips (Íñigo Huguet) [2059994] - mt76: mt7603: improve reliability of tx powersave filtering (Íñigo Huguet) [2059994] - mt76: clear sta powersave flag after notifying driver (Íñigo Huguet) [2059994] - mt76: mt7915: introduce SAR support (Íñigo Huguet) [2059994] - mt76: mt7603: introduce SAR support (Íñigo Huguet) [2059994] - mt76: mt7915: improve wmm index allocation (Íñigo Huguet) [2059994] - mt76: mt7615: improve wmm index allocation (Íñigo Huguet) [2059994] - mt76: mt7921s: fix the device cannot sleep deeply in suspend (Íñigo Huguet) [2059994] - mt76: mt7615: fix decap offload corner case with 4-addr VLAN frames (Íñigo Huguet) [2059994] - mt76: mt7915: fix decap offload corner case with 4-addr VLAN frames (Íñigo Huguet) [2059994] - mt76: mt76x02: introduce SAR support (Íñigo Huguet) [2059994] - mt76: move sar utilities to mt76-core module (Íñigo Huguet) [2059994] - mt76: mt7921: honor mt76_connac_mcu_set_rate_txpower return value in mt7921_config (Íñigo Huguet) [2059994] - mt76: do not pass the received frame with decryption error (Íñigo Huguet) [2059994] - mt76: connac: remove PHY_MODE_AX_6G configuration in mt76_connac_get_phy_mode (Íñigo Huguet) [2059994] - mt76: mt7615: remove dead code in get_omac_idx (Íñigo Huguet) [2059994] - mt76: mt7921: introduce 160 MHz channel bandwidth support (Íñigo Huguet) [2059994] - mt76: mt7921: add support for PCIe ID 0x0608/0x0616 (Íñigo Huguet) [2059994] - mt76: testmode: add support to set MAC (Íñigo Huguet) [2059994] - mt76: mt7915: add default calibrated data support (Íñigo Huguet) [2059994] - mt76: only set rx radiotap flag from within decoder functions (Íñigo Huguet) [2059994] - mt76: reverse the first fragmented frame to 802.11 (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Introduce Sierra EM919X support (Íñigo Huguet) [2059994] - bus: mhi: core: Add an API for auto queueing buffers for DL channel (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Simplify code and axe the use of a deprecated API (Íñigo Huguet) [2059994] - bus: mhi: core: Use macros for execution environment features (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Add new device ID support for T99W175 (Íñigo Huguet) [2059994] - ath11k: Use reserved host DDR addresses from DT for PCI devices (Íñigo Huguet) [2059994] - ath11k: Change qcn9074 fw to operate in mode-2 (Íñigo Huguet) [2059994] - ath11k: add ab to TARGET_NUM_VDEVS & co (Íñigo Huguet) [2059994] - brcmfmac: Fix incorrect type assignments for keep-alive (Íñigo Huguet) [2059994] - ath11k: Avoid false DEADLOCK warning reported by lockdep (Íñigo Huguet) [2059994] - ath11k: set DTIM policy to stick mode for station interface (Íñigo Huguet) [2059994] - ath11k: support MAC address randomization in scan (Íñigo Huguet) [2059994] - ath10k: wmi: remove array of flexible structures (Íñigo Huguet) [2059994] - ath10k: htt: remove array of flexible structures (Íñigo Huguet) [2059994] - ath10k: drop beacon and probe response which leak from other channel (Íñigo Huguet) [2059994] - ath11k: Process full monitor mode rx support (Íñigo Huguet) [2059994] - ath11k: add software monitor ring descriptor for full monitor (Íñigo Huguet) [2059994] - ath11k: Add htt cmd to enable full monitor mode (Íñigo Huguet) [2059994] - ath11k: enable IEEE80211_HW_SINGLE_SCAN_ON_ALL_BANDS for WCN6855 (Íñigo Huguet) [2059994] - rtw88: refine tx_pwr_tbl debugfs to show channel and bandwidth (Íñigo Huguet) [2059994] - rtw88: add debugfs to fix tx rate (Íñigo Huguet) [2059994] - ath: regdom: extend South Korea regulatory domain support (Íñigo Huguet) [2059994] - ath11k: add wait operation for tx management packets for flush from mac80211 (Íñigo Huguet) [2059994] - ath11k: add 11d scan offload support (Íñigo Huguet) [2059994] - ath11k: add configure country code for QCA6390 and WCN6855 (Íñigo Huguet) [2059994] - ath11k: avoid deadlock by change ieee80211_queue_work for regd_update_work (Íñigo Huguet) [2059994] - iwlwifi: work around reverse dependency on MEI (Íñigo Huguet) [2059994] - iwlwifi: mvm: optionally suppress assert log (Íñigo Huguet) [2059994] - iwlwifi: fw: correctly detect HW-SMEM region subtype (Íñigo Huguet) [2059994] - iwlwifi: implement reset flow for Bz devices (Íñigo Huguet) [2059994] - iwlwifi: dbg: disable ini debug in 8000 family and below (Íñigo Huguet) [2059994] - iwlwifi: support SAR GEO Offset Mapping override via BIOS (Íñigo Huguet) [2059994] - iwlwifi: pcie: retake ownership after reset (Íñigo Huguet) [2059994] - iwlwifi: mvm: always use 4K RB size by default (Íñigo Huguet) [2059994] - iwlwifi: mvm/api: define system control command (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 68 for AX devices (Íñigo Huguet) [2059994] - iwlwifi: mvm: add some missing command strings (Íñigo Huguet) [2059994] - iwlwifi: fw: add support for splitting region type bits (Íñigo Huguet) [2059994] - iwlwifi: swap 1650i and 1650s killer struct names (Íñigo Huguet) [2059994] - iwlwifi: yoyo: support for DBGC4 for dram (Íñigo Huguet) [2059994] - iwlwifi: mvm: update rate scale in moving back to assoc state (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for statistics update version 15 (Íñigo Huguet) [2059994] - iwlwifi: mvm: Add support for a new version of scan request command (Íñigo Huguet) [2059994] - iwlwifi: mvm: remove session protection upon station removal (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for PHY context command v4 (Íñigo Huguet) [2059994] - iwlwifi: fw: api: add link to PHY context command struct v1 (Íñigo Huguet) [2059994] - iwlwifi: mvm: support RLC configuration command (Íñigo Huguet) [2059994] - iwlwifi: mvm: d3: support v12 wowlan status (Íñigo Huguet) [2059994] - iwlwifi: mvm: parse firmware alive message version 6 (Íñigo Huguet) [2059994] - iwlwifi: pcie: support Bz suspend/resume trigger (Íñigo Huguet) [2059994] - iwlwifi: mvm: d3: move GTK rekeys condition (Íñigo Huguet) [2059994] - ath11k: change to use dynamic memory for channel list of scan (Íñigo Huguet) [2059994] - ath11k: add support for WCN6855 hw2.1 (Íñigo Huguet) [2059994] - ath9k: switch to rate table based lookup (Íñigo Huguet) [2059994] - iwlwifi: mvm: demote non-compliant kernel-doc header (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix a possible NULL pointer deference (Íñigo Huguet) [2059994] - iwlwifi: mei: Fix spelling mistake "req_ownserhip" -> "req_ownership" (Íñigo Huguet) [2059994] - iwlwifi: mei: don't rely on the size from the shared area (Íñigo Huguet) [2059994] - iwlwifi: mei: fix linking when tracing is not enabled (Íñigo Huguet) [2059994] - ath11k: Avoid NULL ptr access during mgmt tx cleanup (Íñigo Huguet) [2059994] - rtlwifi: rtl8192de: Style clean-ups (Íñigo Huguet) [2059994] - brcmfmac: Configure keep-alive packet on suspend (Íñigo Huguet) [2059994] - ieee80211: change HE nominal packet padding value defines (Íñigo Huguet) [2059994] - cfg80211: use ieee80211_bss_get_elem() instead of _get_ie() (Íñigo Huguet) [2059994] - iwlwifi: mvm: read the rfkill state and feed it to iwlmei (Íñigo Huguet) [2059994] - iwlwifi: mvm: add vendor commands needed for iwlmei (Íñigo Huguet) [2059994] - iwlwifi: integrate with iwlmei (Íñigo Huguet) [2059994] - iwlwifi: mei: add debugfs hooks (Íñigo Huguet) [2059994] - iwlwifi: mei: add the driver to allow cooperation with CSME (Íñigo Huguet) [2059994] - mwifiex: Ensure the version string from the firmware is 0-terminated (Íñigo Huguet) [2059994] - mwifiex: Add quirk to disable deep sleep with certain hardware revision (Íñigo Huguet) [2059994] - mwifiex: Use a define for firmware version string length (Íñigo Huguet) [2059994] - rtw88: add debugfs to force lowest basic rate (Íñigo Huguet) [2059994] - rtw88: follow the AP basic rates for tx mgmt frame (Íñigo Huguet) [2059994] - mac80211: Use memset_after() to clear tx status (Íñigo Huguet) [2059994] - mac80211: notify non-transmitting BSS of color changes (Íñigo Huguet) [2059994] - mac80211: minstrel_ht: remove unused SAMPLE_SWITCH_THR define (Íñigo Huguet) [2059994] - cfg80211: allow continuous radar monitoring on offchannel chain (Íñigo Huguet) [2059994] - cfg80211: schedule offchan_cac_abort_wk in cfg80211_radar_event (Íñigo Huguet) [2059994] - cfg80211: delete redundant free code (Íñigo Huguet) [2059994] - mac80211: Remove unused assignment statements (Íñigo Huguet) [2059994] - cfg80211: fix possible NULL pointer dereference in cfg80211_stop_offchan_radar_detection (Íñigo Huguet) [2059994] - ath11k: Use memset_startat() for clearing queue descriptors (Íñigo Huguet) [2059994] - ath11k: Fix spelling mistake "detetction" -> "detection" (Íñigo Huguet) [2059994] - Revert "ath11k: add read variant from SMBIOS for download board data" (Íñigo Huguet) [2059994] - ath11k: add read variant from SMBIOS for download board data (Íñigo Huguet) [2059994] - ath11k: calculate the correct NSS of peer for HE capabilities (Íñigo Huguet) [2059994] - ath11k: change to treat alpha code na as world wide regdomain (Íñigo Huguet) [2059994] - cfg80211: move offchan_cac_event to a dedicated work (Íñigo Huguet) [2059994] - mac80211_hwsim: Fix spelling mistake "Droping" -> "Dropping" (Íñigo Huguet) [2059994] - mac80211: introduce set_radar_offchan callback (Íñigo Huguet) [2059994] - cfg80211: implement APIs for dedicated radar detection HW (Íñigo Huguet) [2059994] - ath11k: add support for BSS color change (Íñigo Huguet) [2059994] - ath11k: add trace log support (Íñigo Huguet) [2059994] - ath11k: Add missing qmi_txn_cancel() (Íñigo Huguet) [2059994] - ath11k: Disabling credit flow for WMI path (Íñigo Huguet) [2059994] - ath11k: Increment pending_mgmt_tx count before tx send invoke (Íñigo Huguet) [2059994] - ath11k: send proper txpower and maxregpower values to firmware (Íñigo Huguet) [2059994] - ath11k: move peer delete after vdev stop of station for QCA6390 and WCN6855 (Íñigo Huguet) [2059994] - ath11k: remove return for empty tx bitrate in mac_op_sta_statistics (Íñigo Huguet) [2059994] - ath11k: enable IEEE80211_VHT_EXT_NSS_BW_CAPABLE if NSS ratio enabled (Íñigo Huguet) [2059994] - ath11k: avoid unnecessary lock contention in tx_completion path (Íñigo Huguet) [2059994] - ath11k: add branch predictors in dp_tx path (Íñigo Huguet) [2059994] - ath11k: avoid while loop in ring selection of tx completion interrupt (Íñigo Huguet) [2059994] - ath11k: remove mod operator in dst ring processing (Íñigo Huguet) [2059994] - ath11k: allocate HAL_WBM2SW_RELEASE ring from cacheable memory (Íñigo Huguet) [2059994] - ath11k: add branch predictors in process_rx (Íñigo Huguet) [2059994] - ath11k: remove usage quota while processing rx packets (Íñigo Huguet) [2059994] - ath11k: avoid active pdev check for each msdu (Íñigo Huguet) [2059994] - ath11k: avoid additional access to ath11k_hal_srng_dst_num_free (Íñigo Huguet) [2059994] - ath11k: modify dp_rx desc access wrapper calls inline (Íñigo Huguet) [2059994] - ath11k: allocate dst ring descriptors from cacheable memory (Íñigo Huguet) [2059994] - ath11k: disable unused CE8 interrupts for ipq8074 (Íñigo Huguet) [2059994] - ath11k: avoid unnecessary BH disable lock in STA kickout event (Íñigo Huguet) [2059994] - ath11k: enable 802.11 power save mode in station mode (Íñigo Huguet) [2059994] - ath11k: convert ath11k_wmi_pdev_set_ps_mode() to use enum wmi_sta_ps_mode (Íñigo Huguet) [2059994] - ath9k: use swap() to make code cleaner (Íñigo Huguet) [2059994] - ath10k: fetch (pre-)calibration data via nvmem subsystem (Íñigo Huguet) [2059994] - Revert "ath11k: add support for WCN6855 hw2.1" (Íñigo Huguet) [2059994] - iommu/vt-d: Make DMAR_UNITS_SUPPORTED a config setting (Jerry Snitselaar) [2095498] - scsi: mpi3mr: Fix kernel-doc (Tomas Henzl) [2091878] - scsi: mpi3mr: Rework mrioc->bsg_device model to fix warnings (Tomas Henzl) [2091878] - scsi: mpi3mr: Add target device related sysfs attributes (Tomas Henzl) [2091878] - scsi: mpi3mr: Add shost related sysfs attributes (Tomas Henzl) [2091878] - scsi: mpi3mr: Return error if dma_alloc_coherent() fails (Tomas Henzl) [2091878] - scsi: mpi3mr: Fix a NULL vs IS_ERR() bug in mpi3mr_bsg_init() (Tomas Henzl) [2091878] - scsi: mpi3mr: Return I/Os to an unrecoverable HBA with DID_ERROR (Tomas Henzl) [2091878] - scsi: mpi3mr: Hidden drives not removed during soft reset (Tomas Henzl) [2091878] - scsi: mpi3mr: Increase I/O timeout value to 60s (Tomas Henzl) [2091878] - scsi: mpi3mr: Update driver version to 8.0.0.69.0 (Tomas Henzl) [2091878] - scsi: mpi3mr: Add support for NVMe passthrough (Tomas Henzl) [2091878] - scsi: mpi3mr: Expose adapter state to sysfs (Tomas Henzl) [2091878] - scsi: mpi3mr: Add support for PEL commands (Tomas Henzl) [2091878] - scsi: mpi3mr: Add support for MPT commands (Tomas Henzl) [2091878] - scsi: mpi3mr: Move data structures/definitions from MPI headers to uapi header (Tomas Henzl) [2091878] - scsi: mpi3mr: Add support for driver commands (Tomas Henzl) [2091878] - scsi: mpi3mr: Add bsg device support (Tomas Henzl) [2091878] - selftests/powerpc: Add PPC_FEATURE2_ARCH_3_1 and PPC_FEATURE2_EBB bits (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc: Add helper to exit on failure (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add interface test for mmcra register fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr3_src fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr2_fcs_fch fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr2_l2l3 field (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr1_comb field (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_pmc56 using pmc5 (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_fc56 field using pmc1 (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_pmcjce field (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_pmccext bit (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_cc56run field (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0 exception bits (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add macro to extract mmcr3 and mmcra fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add macro to extract mmcr0/mmcr1 fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add macros to extract mmcr fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add event_init_sampling function (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add utility functions to post process the mmap buffer (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add macros to parse event codes (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add support for perf sampling tests (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc: Add a test of counting larx/stcx (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Include mmap_buffer field as part of struct event (Desnes A. Nunes do Rosario) [2071113] - [s390] net/smc: Fix af_ops of child socket pointing to released memory (Tobias Huschle) [2043832] - [s390] net/smc: Fix NULL pointer dereference in smc_pnet_find_ib() (Tobias Huschle) [2043832] - [s390] net/smc: use memcpy instead of snprintf to avoid out of bounds read (Tobias Huschle) [2043832] - [s390] net/smc: Call trace_smc_tx_sendmsg when data corked (Tobias Huschle) [2043832] - [s390] net/smc: Fix cleanup when register ULP fails (Tobias Huschle) [2043832] - [s390] net/smc: fix connection leak (Tobias Huschle) [2043832] - [s390] net/smc: Use a mutex for locking "struct smc_pnettable" (Tobias Huschle) [2043832] - [s390] net/smc: unlock on error paths in __smc_setsockopt() (Tobias Huschle) [2043832] - [s390] net/smc: return ETIMEDOUT when smc_connect_clc() timeout (Tobias Huschle) [2043832] - [s390] net/smc: Add comment for smc_tx_pending (Tobias Huschle) [2043832] - [s390] net/smc: Add global configure for handshake limitation by netlink (Tobias Huschle) [2043832] - [s390] net/smc: Dynamic control handshake limitation by socket options (Tobias Huschle) [2043832] - [s390] net/smc: Limit SMC visits when handshake workqueue congested (Tobias Huschle) [2043832] - [s390] net/smc: Limit backlog connections (Tobias Huschle) [2043832] - [s390] net/smc: Make smc_tcp_listen_work() independent (Tobias Huschle) [2043832] - [s390] net/smc: Avoid overwriting the copies of clcsock callback functions (Tobias Huschle) [2043832] - [s390] Partially revert "net/smc: Add netlink net namespace support" (Tobias Huschle) [2043832] - [s390] net/smc: Cork when sendpage with MSG_SENDPAGE_NOTLAST flag (Tobias Huschle) [2043832] - [s390] net/smc: Remove corked dealyed work (Tobias Huschle) [2043832] - [s390] net/smc: Send directly when TCP_CORK is cleared (Tobias Huschle) [2043832] - [s390] net/smc: Forward wakeup to smc socket waitqueue after fallback (Tobias Huschle) [2043832] - [s390] net/smc: Transitional solution for clcsock race issue (Tobias Huschle) [2043832] - [s390] net/smc: Fix hung_task when removing SMC-R devices (Tobias Huschle) [2043832] - [s390] net/smc: Remove unused function declaration (Tobias Huschle) [2043832] - [s390] net/smc: Resolve the race between SMC-R link access and clear (Tobias Huschle) [2043832] - [s390] net/smc: Introduce a new conn->lgr validity check helper (Tobias Huschle) [2043832] - [s390] net/smc: Resolve the race between link group access and termination (Tobias Huschle) [2043832] - [s390] net/smc: Reset conn->lgr when link group registration fails (Tobias Huschle) [2043832] - [s390] net/smc: add comments for smc_link_{usable|sendable} (Tobias Huschle) [2043832] - [s390] net/smc: remove redundant re-assignment of pointer link (Tobias Huschle) [2043832] - [s390] net/smc: Introduce TCP ULP support (Tobias Huschle) [2043832] - [s390] net/smc: Add net namespace for tracepoints (Tobias Huschle) [2043832] - [s390] net/smc: Print net namespace in log (Tobias Huschle) [2043832] - [s390] net/smc: Add netlink net namespace support (Tobias Huschle) [2043832] - [s390] net/smc: Introduce net namespace support for linkgroup (Tobias Huschle) [2043832] - [s390] net/smc: Use the bitmap API when applicable (Tobias Huschle) [2043832] - [s390] net/smc: fix kernel panic caused by race of smc_sock (Tobias Huschle) [2043832] - [s390] net/smc: don't send CDC/LLC message if link not ready (Tobias Huschle) [2043832] - [s390] net/smc: fix using of uninitialized completions (Tobias Huschle) [2043832] - [s390] net/smc: Prevent smc_release() from long blocking (Tobias Huschle) [2043832] - [s390] net/smc: Clear memory when release and reuse buffer (Tobias Huschle) [2043832] - [s390] net/smc: Keep smc_close_final rc during active close (Tobias Huschle) [2043832] - [s390] net/smc: fix wrong list_del in smc_lgr_cleanup_early (Tobias Huschle) [2043832] - [s390] net/smc: Don't call clcsock shutdown twice when smc shutdown (Tobias Huschle) [2043832] - [s390] net/smc: Fix loop in smc_listen (Tobias Huschle) [2043832] - [s390] net/smc: Fix NULL pointer dereferencing in smc_vlan_by_tcpsk() (Tobias Huschle) [2043832] - [s390] net/smc: Ensure the active closing peer first closes clcsock (Tobias Huschle) [2043832] - [s390] net/smc: Clean up local struct sock variables (Tobias Huschle) [2043832] - [s390] net/smc: Avoid warning of possible recursive locking (Tobias Huschle) [2043832] - [s390] net/smc: Make sure the link_id is unique (Tobias Huschle) [2043832] - [s390] net/smc: Transfer remaining wait queue entries during fallback (Tobias Huschle) [2043832] - [s390] net/smc: fix sk_refcnt underflow on linkdown and fallback (Tobias Huschle) [2043832] - [s390] net/smc: Print function name in smcr_link_down tracepoint (Tobias Huschle) [2043832] - [s390] net/smc: Introduce tracepoint for smcr link down (Tobias Huschle) [2043832] - [s390] net/smc: Introduce tracepoints for tx and rx msg (Tobias Huschle) [2043832] - [s390] net/smc: Introduce tracepoint for fallback (Tobias Huschle) [2043832] - [s390] net/smc: Correct spelling mistake to TCPF_SYN_RECV (Tobias Huschle) [2043832] - [s390] net/smc: Fix smc_link->llc_testlink_time overflow (Tobias Huschle) [2043832] - [s390] net/smc: stop links when their GID is removed (Tobias Huschle) [2043832] - [s390] net/smc: add netlink support for SMC-Rv2 (Tobias Huschle) [2043832] - [s390] net/smc: extend LLC layer for SMC-Rv2 (Tobias Huschle) [2043832] - [s390] net/smc: add v2 support to the work request layer (Tobias Huschle) [2043832] - [s390] net/smc: retrieve v2 gid from IB device (Tobias Huschle) [2043832] - [s390] net/smc: add v2 format of CLC decline message (Tobias Huschle) [2043832] - [s390] net/smc: add listen processing for SMC-Rv2 (Tobias Huschle) [2043832] - [s390] net/smc: add SMC-Rv2 connection establishment (Tobias Huschle) [2043832] - [s390] net/smc: prepare for SMC-Rv2 connection (Tobias Huschle) [2043832] - [s390] net/smc: save stack space and allocate smc_init_info (Tobias Huschle) [2043832] - [s390] net/smc: add generic netlink support for system EID (Tobias Huschle) [2043832] - [s390] net/smc: keep static copy of system EID (Tobias Huschle) [2043832] - [s390] net/smc: add support for user defined EIDs (Tobias Huschle) [2043832] - [s390] net/smc: Allow SMC-D 1MB DMB allocations (Tobias Huschle) [2043832] - [s390] net/smc: no need to flush smcd_dev's event_wq before destroying it (Tobias Huschle) [2043832] - [s390] net/smc: avoid possible duplicate dmb unregistration (Tobias Huschle) [2043832] - [s390] net/smc: remove device from smcd_dev_list after failed device_add() (Tobias Huschle) [2043832]- bnxt_en: parse and report result field when NVRAM package install fails (Ken Cox) [2043782] - bnxt_en: Fix unnecessary dropping of RX packets (Ken Cox) [2043782] - bnxt_en: Initiallize bp->ptp_lock first before using it (Ken Cox) [2043782] - bnxt_en: Fix possible bnxt_open() failure caused by wrong RFS flag (Ken Cox) [2043782] - bnxt_en: Prevent XDP redirect from running when stopping TX queue (Ken Cox) [2043782 1944997] - bnxt_en: reserve space inside receive page for skb_shared_info (Ken Cox) [2043782 1944997] - bnxt_en: Synchronize tx when xdp redirects happen on same ring (Ken Cox) [2043782 1944997] - net: bnxt_ptp: fix compilation error (Ken Cox) [2043782] - bnxt: revert hastily merged uAPI aberrations (Ken Cox) [2043782] - bnxt_en: add an nvm test for hw diagnose (Ken Cox) [2043782] - bnxt_en: implement hw health reporter (Ken Cox) [2043782] - bnxt_en: Do not destroy health reporters during reset (Ken Cox) [2043782] - bnxt_en: Eliminate unintended link toggle during FW reset (Ken Cox) [2043782] - bnxt_en: Properly report no pause support on some cards (Ken Cox) [2043782] - bnxt_en: introduce initial link state of unknown (Ken Cox) [2043782] - bnxt_en: parse result field when NVRAM package install fails (Ken Cox) [2043782] - bnxt_en: add more error checks to HWRM_NVM_INSTALL_UPDATE (Ken Cox) [2043782] - bnxt_en: refactor error handling of HWRM_NVM_INSTALL_UPDATE (Ken Cox) [2043782] - bnxt_en: Increase firmware message response DMA wait time (Ken Cox) [2043782] - bnxt_en: Fix incorrect multicast rx mask setting when not requested (Ken Cox) [2043782] - bnxt_en: Fix occasional ethtool -t loopback test failures (Ken Cox) [2043782] - bnxt_en: Fix offline ethtool selftest with RDMA enabled (Ken Cox) [2043782] - bnxt_en: Fix active FEC reporting to ethtool (Ken Cox) [2043782] - bnxt_en: Fix devlink fw_activate (Ken Cox) [2043782] - bnxt_en: Restore the resets_reliable flag in bnxt_open() (Ken Cox) [2043782] - bnxt_en: Handle async event when the PHC is updated in RTC mode (Ken Cox) [2043782] - bnxt_en: Implement .adjtime() for PTP RTC mode (Ken Cox) [2043782] - bnxt_en: Add driver support to use Real Time Counter for PTP (Ken Cox) [2043782] - bnxt_en: PTP: Refactor PTP initialization functions (Ken Cox) [2043782] - bnxt_en: Update firmware interface to 1.10.2.73 (Ken Cox) [2043782] - bnxt_en: improve firmware timeout messaging (Ken Cox) [2043782] - bnxt_en: use firmware provided max timeout for messages (Ken Cox) [2043782] - bnxt_en: improve VF error messages when PF is unavailable (Ken Cox) [2043782] - bnxt_en: add dynamic debug support for HWRM messages (Ken Cox) [2043782] - bnxt_en: Use page frag RX buffers for better software GRO performance (Ken Cox) [2043782] - bnxt_en: convert to xdp_do_flush (Ken Cox) [2043782] - bnxt_en: Support CQE coalescing mode in ethtool (Ken Cox) [2043782] - bnxt_en: Support configurable CQE coalescing mode (Ken Cox) [2043782] - bnxt_en: enable interrupt sampling on 5750X for DIM (Ken Cox) [2043782] - bnxt_en: Log error report for dropped doorbell (Ken Cox) [2043782] - bnxt_en: Add event handler for PAUSE Storm event (Ken Cox) [2043782] - flow_offload: reject to offload tc actions in offload drivers (Ken Cox) [2043782] - bnxt_en: Fix compile error regression when CONFIG_BNXT_SRIOV is not set (Ken Cox) [2043782] - bnxt_en: fix format specifier in live patch error message (Ken Cox) [2043782] - bnxt_en: extend RTNL to VF check in devlink driver_reinit (Ken Cox) [2043782] - bnxt_en: avoid newline at end of message in NL_SET_ERR_MSG_MOD (Ken Cox) [2043782] - bnxt_en: Remove not used other ULP define (Ken Cox) [2043782] - bnxt_en: Provide stored devlink "fw" version on older firmware (Ken Cox) [2043782] - bnxt_en: implement firmware live patching (Ken Cox) [2043782] - bnxt_en: Update firmware interface to 1.10.2.63 (Ken Cox) [2043782] - bnxt_en: implement dump callback for fw health reporter (Ken Cox) [2043782] - bnxt_en: extract coredump command line from current task (Ken Cox) [2043782] - bnxt_en: Retrieve coredump and crashdump size via FW command (Ken Cox) [2043782] - bnxt_en: Add compression flags information in coredump segment header (Ken Cox) [2043782] - bnxt_en: move coredump functions into dedicated file (Ken Cox) [2043782] - bnxt_en: Refactor coredump functions (Ken Cox) [2043782] - bnxt_en: improve fw diagnose devlink health messages (Ken Cox) [2043782] - bnxt_en: consolidate fw devlink health reporters (Ken Cox) [2043782] - bnxt_en: remove fw_reset devlink health reporter (Ken Cox) [2043782] - bnxt_en: improve error recovery information messages (Ken Cox) [2043782] - bnxt_en: add enable_remote_dev_reset devlink parameter (Ken Cox) [2043782] - bnxt_en: implement devlink dev reload fw_activate (Ken Cox) [2043782] - bnxt_en: implement devlink dev reload driver_reinit (Ken Cox) [2043782] - bnxt_en: refactor cancellation of resource reservations (Ken Cox) [2043782] - bnxt_en: refactor printing of device info (Ken Cox) [2043782] - bnxt: use netif_is_rxfh_configured instead of open code (Ken Cox) [2043782] - ethernet: use eth_hw_addr_set() (Ken Cox) [2043782] - bnxt_en: Fix TX timeout when TX ring size is set to the smallest (Ken Cox) [2043782] - net/{mlx5|nfp|bnxt}: Remove unnecessary RTNL lock assert (Ken Cox) [2043782] - bnxt_en: make bnxt_free_skbs() safe to call after bnxt_free_mem() (Ken Cox) [2043782] - netfilter: nat: really support inet nat without l3 address (Phil Sutter) [2092424] - netfilter: nf_tables: use kfree_rcu(ptr, rcu) to release hooks in clean_net path (Phil Sutter) [2094236] - netfilter: nf_tables: double hook unregistration in netns path (Phil Sutter) [2094236] - video: fbdev: hyperv_fb: Allow resolutions with size > 64 MB for Gen1 (Mohammed Gamal) [1948442] - cpufreq: intel_pstate: Use firmware default EPP (Steve Best) [2072671] - cpufreq: intel_pstate: Update cpuinfo.max_freq on HWP_CAP changes (Steve Best) [2072671] - cpufreq: intel_pstate: Update EPP for AlderLake mobile (Steve Best) [2072671] - cpufreq: intel_pstate: Drop redundant intel_pstate_get_hwp_cap() call (Steve Best) [2072671] - cpufreq: intel_pstate: ITMT support for overclocked system (Steve Best) [2072671] - cpufreq: intel_pstate: Fix active mode offline/online EPP handling (Steve Best) [2072671] - cpufreq: intel_pstate: Clear HWP Status during HWP Interrupt enable (Steve Best) [2072671] - cpufreq: intel_pstate: Fix unchecked MSR 0x773 access (Steve Best) [2072671] - cpufreq: intel_pstate: Clear HWP desired on suspend/shutdown and offline (Steve Best) [2072671] - cpufreq: intel_pstate: Process HWP Guaranteed change notification (Steve Best) [2072671] - cpufreq: intel_pstate: Override parameters if HWP forced by BIOS (Steve Best) [2072671] - Revert "cpufreq: intel_pstate: Process HWP Guaranteed change notification" (Steve Best) [2072671] - cpufreq: intel_pstate: Process HWP Guaranteed change notification (Steve Best) [2072671] - cpuidle: intel_idle: Drop redundant backslash at line end (Steve Best) [2072893] - intel_idle: add core C6 optimization for SPR (Steve Best) [2072893] - intel_idle: add 'preferred_cstates' module argument (Steve Best) [2072893] - intel_idle: add SPR support (Steve Best) [2072893] - intel_idle: enable interrupts before C1 on Xeons (Steve Best) [2072893]- [s390] s390/airq: use DMA memory for summary indicators (Tobias Huschle) [2043905] - [s390] s390/zcrypt: Provide target domain for EP11 cprbs to scheduling function (Tobias Huschle) [2043905] - [s390] s390/zcrypt: change reply buffer size offering (Tobias Huschle) [2043905] - [s390] s390/zcrypt: Support CPRB minor version T7 (Tobias Huschle) [2043905] - [s390] s390/zcrypt: handle checkstopped cards with new state (Tobias Huschle) [2043905] - [s390] s390/zcrypt: CEX8S exploitation support (Tobias Huschle) [2043905] - [s390] s390/ap/zcrypt: debug feature improvements (Tobias Huschle) [2043905] - [s390] s390/zcrypt: rework of debug feature messages (Tobias Huschle) [2043905] - powerpc/perf: Fix the threshold compare group constraint for power10 (Steve Best) [2090058] - arch/x86: Disable system wide bus lock rate limiting (Prarit Bhargava) [2028252] - rtnetlink: return ENODEV when IFLA_ALT_IFNAME is used in dellink (Xin Long) [2062780] - rtnetlink: enable alt_ifname for setlink/newlink (Xin Long) [2062780] - rtnetlink: return ENODEV when ifname does not exist and group is given (Xin Long) [2062780] - rtnetlink: Return correct error on changing device netns (Xin Long) [2062780] - net: remove the new_ifindex argument from dev_change_net_namespace (Xin Long) [2062780] - net: Allow to specify ifindex when device is moved to another namespace (Xin Long) [2062780] - net: rtnetlink: add possibility to use alternative names as message handle (Xin Long) [2062780] - net: rtnetlink: introduce helper to get net_device instance by ifname (Xin Long) [2062780] - net: rtnetlink: unify the code in __rtnl_newlink get dev with the rest (Xin Long) [2062780] - net: rtnetlink: put alternative names to getlink message (Xin Long) [2062780] - block-map: add __GFP_ZERO flag for alloc_page in function bio_copy_kern (Ewan D. Milne) [2049198] {CVE-2022-0494} - [s390] s390/dasd: prevent double format of tracks for ESE devices (Mete Durlu) [2094296] - [s390] s390/dasd: fix data corruption for ESE devices (Mete Durlu) [2094296] - [s390] s390/dasd: Fix read inconsistency for ESE DASD devices (Mete Durlu) [2094294] - [s390] s390/dasd: Fix read for ESE with blksize < 4k (Mete Durlu) [2094294] - xfs: validate inode fork size against fork format (Andrey Albershteyn) [2089447] - selftests/tc-testing: match any qdisc type (Petr Oros) [2021843] - tc-testing: Add control-plane selftests for sch_mq (Petr Oros) [2021843] - netdevsim: Zero-initialize memory for new map's value in function nsim_bpf_map_alloc (Petr Oros) [2021843] - netdevsim: don't overwrite read only ethtool parms (Petr Oros) [2021843] - netdevsim: fix uninit value in nsim_drv_configure_vfs() (Petr Oros) [2021843] - netdevsim: rename 'driver' entry points (Petr Oros) [2021843] - netdevsim: move max vf config to dev (Petr Oros) [2021843] - netdevsim: move details of vf config to dev (Petr Oros) [2021843] - netdevsim: move vfconfig to nsim_dev (Petr Oros) [2021843] - netdevsim: take rtnl_lock when assigning num_vfs (Petr Oros) [2021843] - netdevsim: Protect both reload_down and reload_up paths (Petr Oros) [2021843] - netdevsim: make array res_ids static const, makes object smaller (Petr Oros) [2021843] - netdevsim: Add multi-queue support (Petr Oros) [2021843] - net: netdevsim: use xso.real_dev instead of xso.dev in callback functions of struct xfrmdev_ops (Petr Oros) [2021843] - netdevsim: delete unnecessary debugfs checking (Petr Oros) [2021843] - netdevsim: switch to memdup_user_nul() (Petr Oros) [2021843] - netdevsim: init u64 stats for 32bit hardware (Petr Oros) [2021843] - dm: fix bio length of empty flush (Ming Lei) [2090940] - block: initialize the target bio in __bio_clone_fast (Ming Lei) [2090940] - dm: use bio_clone_fast in alloc_io/alloc_tio (Ming Lei) [2090940] - block: clone crypto and integrity data in __bio_clone_fast (Ming Lei) [2090940] - dm-cache: remove __remap_to_origin_clear_discard (Ming Lei) [2090940] - dm: simplify the single bio fast path in __send_duplicate_bios (Ming Lei) [2090940] - dm: retun the clone bio from alloc_tio (Ming Lei) [2090940] - dm: pass the bio instead of tio to __map_bio (Ming Lei) [2090940] - dm: move cloning the bio into alloc_tio (Ming Lei) [2090940] - dm: fold __send_duplicate_bios into __clone_and_map_simple_bio (Ming Lei) [2090940] - dm: fold clone_bio into __clone_and_map_data_bio (Ming Lei) [2090940] - dm: add a clone_to_tio helper (Ming Lei) [2090940] - block: make bio_crypt_clone() able to fail (Ming Lei) [2090940] - perf/x86/uncore: Add new Alder Lake and Raptor Lake support (Michael Petlan) [2088831] - perf/x86/uncore: Clean up uncore_pci_ids[] (Michael Petlan) [2088831] - perf/x86/uncore: Add Raptor Lake uncore support (Michael Petlan) [2088831] - perf/x86/cstate: Add new Alder Lake and Raptor Lake support (Michael Petlan) [2088831] - perf/x86/cstate: Add Raptor Lake support (Michael Petlan) [2088831] - perf/x86/msr: Add new Alder Lake and Raptor Lake support (Michael Petlan) [2088831] - perf/x86/msr: Add Raptor Lake CPU support (Michael Petlan) [2088831] - perf/x86: Add new Alder Lake and Raptor Lake support (Michael Petlan) [2088831] - perf/x86: Add Intel Raptor Lake support (Michael Petlan) [2088831] - x86/cpu: Add new Alderlake and Raptorlake CPU model numbers (Michael Petlan) [2088831] - x86/intel: Add common OPTDIFFs (Michael Petlan) [2088831] - x86/cpu: Explain Intel model naming convention (Michael Petlan) [2088831] - KVM: s390: vsie/gmap: reduce gmap_rmap overhead (Thomas Huth) [2072387] - KVM: s390x: fix SCK locking (Thomas Huth) [2072387] - s390/kvm: use union tod_clock (Thomas Huth) [2072387] - s390/time: introduce new store_tod_clock_ext() (Thomas Huth) [2072387] - s390/time: introduce union tod_clock (Thomas Huth) [2072387] - KVM: s390: Clarify SIGP orders versus STOP/RESTART (Thomas Huth) [2043868] - KVM: s390: Clear valid_wakeup in kvm_s390_handle_wait(), not in arch hook (Thomas Huth) [2072387] - KVM: s390: Ensure kvm_arch_no_poll() is read once when blocking vCPU (Thomas Huth) [2072387] - KVM: s390: Introduce kvm_s390_get_gfn_end() (Thomas Huth) [2072387] - KVM: Integrate gfn_to_memslot_approx() into search_memslots() (Thomas Huth) [2072387] - KVM: s390: Use kvm_get_vcpu() instead of open-coded access (Thomas Huth) [2072387] - KVM: s390: add debug statement for diag 318 CPNC data (Thomas Huth) [2072387] - KVM: s390: pv: properly handle page flags for protected guests (Thomas Huth) [2072387] - KVM: s390: Add a routine for setting userspace CPU state (Thomas Huth) [2072387] - net: sfc: ef10: fix memory leak in efx_ef10_mtd_probe() (Íñigo Huguet) [2042840] - net: sfc: fix memory leak due to ptp channel (Íñigo Huguet) [2042840] - net: sfc: fix using uninitialized xdp tx_queue (Íñigo Huguet) [2042840] - sfc: Do not free an empty page_ring (Íñigo Huguet) [2042840] - net: sfc: add missing xdp queue reinitialization (Íñigo Huguet) [2042840] - sfc: Avoid NULL pointer dereference on systems without numa awareness (Íñigo Huguet) [2042840] - sfc: extend the locking on mcdi->seqno (Íñigo Huguet) [2042840] - sfc: set affinity hints in local NUMA node only (Íñigo Huguet) [2042840] - sfc: default config to 1 channel/core in local NUMA node only (Íñigo Huguet) [2042840] - sfc: The size of the RX recycle ring should be more flexible (Íñigo Huguet) [2042840] - sfc: Use swap() instead of open coding it (Íñigo Huguet) [2042840] - ethernet/sfc: remove redundant rc variable (Íñigo Huguet) [2042840] - PCI/ACPI: Allow D3 only if Root Port can signal and wake from D3 (Myron Stowe) [2015785] - thunderbolt: Do not make DROM read success compulsory (Myron Stowe) [2015785] - thunderbolt: Do not resume routers if UID is not set (Myron Stowe) [2015785] - thunderbolt: Retry DROM reads for more failure scenarios (Myron Stowe) [2015785] - PCI/ACPI: Replace acpi_bus_get_device() with acpi_fetch_acpi_dev() (Myron Stowe) [2015785] - ACPI: scan: Introduce acpi_fetch_acpi_dev() (Myron Stowe) [2015785] - PCI: PM: Fix ordering of operations in pci_back_from_sleep() (Myron Stowe) [2015785] - PCI: PM: Do not call platform_pci_power_manageable() unnecessarily (Myron Stowe) [2015785] - PCI: PM: Make pci_choose_state() call pci_target_state() (Myron Stowe) [2015785] - PCI: PM: Rearrange pci_target_state() (Myron Stowe) [2015785] - PCI: PM: Simplify acpi_pci_power_manageable() (Myron Stowe) [2015785] - PCI: PM: Drop struct pci_platform_pm_ops (Myron Stowe) [2015785] - PCI: ACPI: PM: Do not use pci_platform_pm_ops for ACPI (Myron Stowe) [2015785] - PCI: PM: Do not use pci_platform_pm_ops for Intel MID PM (Myron Stowe) [2015785] - ACPI: glue: Look for ACPI bus type only if ACPI companion is not known (Myron Stowe) [2015785] - ACPI: glue: Drop cleanup callback from struct acpi_bus_type (Myron Stowe) [2015785] - PCI: ACPI: Drop acpi_pci_bus (Myron Stowe) [2015785] - PCI: ACPI: Check parent pointer in acpi_pci_find_companion() (Myron Stowe) [2015785] - PCI/ACPI: Don't reset a fwnode set by OF (Myron Stowe) [2015785] - PCI: VMD: ACPI: Make ACPI companion lookup work for VMD bus (Myron Stowe) [2015785] - PCI: Change the type of probe argument in reset functions (Myron Stowe) [2015785] - PCI: Add support for ACPI _RST reset method (Myron Stowe) [2015785] - PCI: Setup ACPI fwnode early and at the same time with OF (Myron Stowe) [2015785] - PCI: Use acpi_pci_power_manageable() (Myron Stowe) [2015785] - PCI: Add pci_set_acpi_fwnode() to set ACPI_COMPANION (Myron Stowe) [2015785] - PCI: Allow userspace to query and set device reset mechanism (Myron Stowe) [2015785] - PCI: Remove reset_fn field from pci_dev (Myron Stowe) [2015785] - PCI: Add array to track reset method ordering (Myron Stowe) [2015785] - PCI: Add pcie_reset_flr() with 'probe' argument (Myron Stowe) [2015785] - PCI: Cache PCIe Device Capabilities register (Myron Stowe) [2015785] - driver core: Split device_platform_notify() (Myron Stowe) [2015785] - software nodes: Split software_node_notify() (Myron Stowe) [2015785] - PCI: PM: Enable PME if it can be signaled from D3cold (Myron Stowe) [2015785] - PCI: PM: Avoid forcing PCI_D0 for wakeup reasons inconsistently (Myron Stowe) [2015785] - PCI: Use pci_update_current_state() in pci_enable_device_flags() (Myron Stowe) [2015785] - PCI: Add pci_reset_bus_function() Secondary Bus Reset interface (Myron Stowe) [2015785] - ACPI: scan: Rearrange code related to acpi_get_device_data() (Myron Stowe) [2015785] - PCI/ACPI: Whitelist hotplug ports for D3 if power managed by ACPI (Myron Stowe) [2015785] - crypto: cavium/nitrox - use pcie_flr instead of duplicating it (Myron Stowe) [2015785] - NFSv4 only print the label when its queried (Scott Mayhew) [2030827] - NFSv4.1 provide mount option to toggle trunking discovery (Scott Mayhew) [2030827] - NFSv4.1 test and add 4.1 trunking transport (Scott Mayhew) [2030827] - SUNRPC allow for unspecified transport time in rpc_clnt_add_xprt (Scott Mayhew) [2030827] - NFSv4 handle port presence in fs_location server string (Scott Mayhew) [2030827] - NFSv4 expose nfs_parse_server_name function (Scott Mayhew) [2030827] - NFSv4.1 query for fs_location attr on a new file system (Scott Mayhew) [2030827] - NFSv4 store server support for fs_location attribute (Scott Mayhew) [2030827] - NFSv4 remove zero number of fs_locations entries error check (Scott Mayhew) [2030827] - NFSv4.1 add network transport when session trunking is detected (Scott Mayhew) [2030827] - SUNRPC enforce creation of no more than max_connect xprts (Scott Mayhew) [2030827] - NFSv4 introduce max_connect mount options (Scott Mayhew) [2030827] - SUNRPC add xps_nunique_destaddr_xprts to xprt_switch_info in sysfs (Scott Mayhew) [2030827] - SUNRPC keep track of number of transports to unique addresses (Scott Mayhew) [2030827] - powerpc/papr_scm: Make 'perf_stats' invisible if perf-stats unavailable (Diego Domingos) [1986188] - powerpc/papr_scm: Fix warnings about undeclared variable (Diego Domingos) [1986188] - VMCI: Add support for ARM64 (Cathy Avery) [2080095] - VMCI: Release notification_bitmap in error path (Cathy Avery) [2080095] - VMCI: Check exclusive_vectors when freeing interrupt 1 (Cathy Avery) [2080095] - VMCI: Fix some error handling paths in vmci_guest_probe_device() (Cathy Avery) [2080095] - VMCI: No need to clear memory after a dma_alloc_coherent() call (Cathy Avery) [2080095] - VMCI: Fix the description of vmci_check_host_caps() (Cathy Avery) [2080095] - VMCI: dma dg: add support for DMA datagrams receive (Cathy Avery) [2080095] - VMCI: dma dg: add support for DMA datagrams sends (Cathy Avery) [2080095] - VMCI: dma dg: allocate send and receive buffers for DMA datagrams (Cathy Avery) [2080095] - VMCI: dma dg: register dummy IRQ handlers for DMA datagrams (Cathy Avery) [2080095] - VMCI: dma dg: set OS page size (Cathy Avery) [2080095] - VMCI: dma dg: whitespace formatting change for vmci register defines (Cathy Avery) [2080095] - VMCI: dma dg: detect DMA datagram capability (Cathy Avery) [2080095] - VMCI: Use BIT() macro for bit definitions (Cathy Avery) [2080095] - VMCI: dma dg: add MMIO access to registers (Cathy Avery) [2080095] - misc: vmw_vmci: Switch to kvfree_rcu() API (Cathy Avery) [2080095] - VMCI: fix NULL pointer dereference when unmapping queue pair (Cathy Avery) [2080095] - misc: vmci: remove redundant variable is_local (Cathy Avery) [2080095] - misc: vmw_vmci: return the correct errno code (Cathy Avery) [2080095] - misc: vmw_vmci: explicitly initialize vmci_datagram payload (Cathy Avery) [2080095] - misc: vmw_vmci: explicitly initialize vmci_notify_bm_set_msg struct (Cathy Avery) [2080095] - vmci_host: print unexpanded names of ioctl requests in debug messages (Cathy Avery) [2080095] - drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue (Cathy Avery) [2080095] - VMCI: Enforce queuepair max size for IOCTL_VMCI_QUEUEPAIR_ALLOC (Cathy Avery) [2080095] - VMCI: Use set_page_dirty_lock() when unregistering guest memory (Cathy Avery) [2080095] - misc/vmw_vmci: fix typo (Cathy Avery) [2080095] - misc: vmw_vmci: fix kernel info-leak by initializing dbells in vmci_ctx_get_chkpt_doorbells() (Cathy Avery) [2080095] - VMCI: check return value of get_user_pages_fast() for errors (Cathy Avery) [2080095] - vmci_host: get rid of pointless access_ok() (Cathy Avery) [2080095] - treewide: Add SPDX license identifier - Makefile/Kconfig (Cathy Avery) [2080095] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 321 (Cathy Avery) [2080095] - VMCI: Use memdup_user() rather than duplicating its implementation (Cathy Avery) [2080095] - VMCI: remove set but not used variable 'cid' (Cathy Avery) [2080095] - vmci: type promotion bug in qp_host_get_user_memory() (Cathy Avery) [2080095]- misc: pvpanic: introduce device capability (Emanuele Giuseppe Esposito) [2088457] - misc: pvpanic: add crash loaded event (Emanuele Giuseppe Esposito) [2088457] - misc: pvpanic: move bit definition to uapi header file (Emanuele Giuseppe Esposito) [2088457] - rfkill: make new event layout opt-in (Jose Ignacio Tornos Martinez) [2023175] - lib/sbitmap: fix sb->map leak (Ming Lei) [2093549] - openvswitch: fix OOB access in reserve_sfa_size() (Antoine Tenart) [2082023] - net: openvswitch: don't send internal clone attribute to the userspace. (Antoine Tenart) [2082023 2085509] - openvswitch: Add recirc_id to recirc warning (Antoine Tenart) [2082023] - openvswitch: Fixed nd target mask field in the flow dump. (Antoine Tenart) [2082023] - net: openvswitch: Remove redundant if statements (Antoine Tenart) [2082023] - netfilter: nf_tables: disallow non-stateful expression in sets earlier (Phil Sutter) [2092987] {CVE-2022-1966} - cachefiles: Drop superfluous readpages aops NULL check (Dave Wysochanski) [2083136] - audit: fix AUDIT_DISABLED undeclared error when AUDITSYSCALL unconfigured (Richard Guy Briggs) [2035123] - audit: log AUDIT_TIME_* records only from rules (Richard Guy Briggs) [2035123] - audit: improve audit queue handling when "audit=1" on cmdline (Richard Guy Briggs) [2035123] - audit: replace zero-length array with flexible-array member (Richard Guy Briggs) [2035123] - audit: use struct_size() helper in audit_[send|make]_reply() (Richard Guy Briggs) [2035123] - audit: ensure userspace is penalized the same as the kernel when under pressure (Richard Guy Briggs) [2035123] - audit: use struct_size() helper in kmalloc() (Richard Guy Briggs) [2035123] - audit: improve robustness of the audit queue handling (Richard Guy Briggs) [2035123] - audit: return early if the filter rule has a lower priority (Richard Guy Briggs) [2035123] - lsm_audit: avoid overloading the "key" audit field (Richard Guy Briggs) [2035123] - audit: Convert to SPDX identifier (Richard Guy Briggs) [2035123] - audit: rename struct node to struct audit_node to prevent future name collisions (Richard Guy Briggs) [2035123] - audit: prepare audit_context for use in calling contexts beyond syscalls (Richard Guy Briggs) [2035123] - audit: fix possible null-pointer dereference in audit_filter_rules (Richard Guy Briggs) [2035123] - audit: add header protection to kernel/audit.h (Richard Guy Briggs) [2035123] - audit: remove unnecessary 'ret' initialization (Richard Guy Briggs) [2035123] - audit: remove trailing spaces and tabs (Richard Guy Briggs) [2035123] - audit: Use list_move instead of list_del/list_add (Richard Guy Briggs) [2035123] - audit: Rename enum audit_state constants to avoid AUDIT_DISABLED redefinition (Richard Guy Briggs) [2035123] - selftests/bpf: Fix btf_dump test under new clang (Yauheni Kaliuta) [2087050] - perf: Fix sys_perf_event_open() race against self (Michael Petlan) [2087949] - scsi: fnic: Finish scsi_cmnd before dropping the spinlock (John Meneghini) [2062905] - [s390] s390/setup: Fix secure ipl message (Mete Durlu) [2058619] - perf evlist: Fix failed to use cpu list for uncore events (Michael Petlan) [2088835] - perf tools: Enable on a list of CPUs for hybrid (Michael Petlan) [2088835] - perf tools: Create hybrid flag in target (Michael Petlan) [2088835] - libperf: Add perf_cpu_map__default_new() (Michael Petlan) [2088835] - drm/i915: Stop force enabling pipe bottom color gammma/csc (Foggy Liu) [2054487] - blk-mq: fix blk_mq_flush_plug_list (Ming Lei) [2088397] - kernel/resource: move and rename IORESOURCE_MEM_DRIVER_MANAGED (Nico Pache) [2028988] - powerpc/numa: Handle partially initialized numa nodes (Nico Pache) [2028988] - mm: make free_area_init_node aware of memory less nodes (Nico Pache) [2028988] - mm, memory_hotplug: reorganize new pgdat initialization (Nico Pache) [2028988] - mm, memory_hotplug: drop arch_free_nodedata (Nico Pache) [2028988] - mm: handle uninitialized numa nodes gracefully (Nico Pache) [2028988] - mm, memory_hotplug: make arch_alloc_nodedata independent on CONFIG_MEMORY_HOTPLUG (Nico Pache) [2028988] - kexec_file: don't place kexec images on IORESOURCE_MEM_DRIVER_MANAGED (Nico Pache) [2028988] - mm/memory_hotplug: handle memblock_add_node() failures in add_memory_resource() (Nico Pache) [2028988] - mm/memory_hotplug: introduce add_memory_driver_managed() (Nico Pache) [2028988] - mm/memory_hotplug: handle memblocks only with CONFIG_ARCH_KEEP_MEMBLOCK (Nico Pache) [2028988] - mm/memory_hotplug: set node_start_pfn of hotadded pgdat to 0 (Nico Pache) [2028988] - mm/hotplug: reorder memblock_[free|remove]() calls in try_remove_memory() (Nico Pache) [2028988] - mm: memblock: make keeping memblock memory opt-in rather than opt-out (Nico Pache) [2028988] - [s390] s390/cpumf: add new extended counter set for IBM z16 (Mete Durlu) [2047728]- [s390] s390/qdio: clarify logical vs absolute in QIB's kerneldoc (Mete Durlu) [2043836] - [s390] s390/qdio: remove unneeded sanity check in qdio_do_sqbs() (Mete Durlu) [2043836] - [s390] s390/qdio: split do_QDIO() (Mete Durlu) [2043836] - [s390] s390/qdio: split qdio_inspect_queue() (Mete Durlu) [2043836] - [s390] s390/qdio: clarify handler logic for qdio_handle_activate_check() (Mete Durlu) [2043836] - [s390] s390/qdio: clean up access to queue in qdio_handle_activate_check() (Mete Durlu) [2043836] - [s390] s390/qdio: avoid allocating the qdio_irq with GFP_DMA (Mete Durlu) [2043836] - [s390] s390/qdio: improve handling of CIWs (Mete Durlu) [2043836] - [s390] s390/qdio: remove QDIO_SBAL_SIZE macro (Mete Durlu) [2043836] - [s390] scsi: zfcp: fix kernel doc comments (Mete Durlu) [2043836] - [s390] s390/qdio: remove unused support for SLIB parameters (Mete Durlu) [2043836] - [s390] s390/qdio: consolidate QIB code (Mete Durlu) [2043836] - [s390] s390/qdio: use dev_info() in qdio_print_subchannel_info() (Mete Durlu) [2043836] - [s390] s390/qdio: fine-tune the queue sync (Mete Durlu) [2043836] - [s390] s390/qdio: clean up SIGA capability tracking (Mete Durlu) [2043836] - [s390] s390/qdio: remove unused sync-after-IRQ infrastructure (Mete Durlu) [2043836] - [s390] s390/qdio: use absolute data address in ESTABLISH ccw (Mete Durlu) [2043836] - [s390] s390/qdio: remove unused macros (Mete Durlu) [2043836] - [s390] s390/qdio: clarify reporting of errors to the drivers (Mete Durlu) [2043836] - [s390] s390/qdio: remove unneeded siga-sync for Output Queue (Mete Durlu) [2043836] - [s390] s390/qdio: remove remaining tasklet & timer code (Mete Durlu) [2043836] - ice: clear stale Tx queue settings before configuring (Petr Oros) [2079926] - ice: fix crash when writing timestamp on RX rings (Petr Oros) [2079926] - ice: Fix race during aux device (un)plugging (Petr Oros) [2079926] - ice: fix PTP stale Tx timestamps cleanup (Petr Oros) [2079926] - ice: ice_sched: fix an incorrect NULL check on list iterator (Petr Oros) [2079926] - ice: fix use-after-free when deinitializing mailbox snapshot (Petr Oros) [2079926] - ice: wait 5 s for EMP reset after firmware flash (Petr Oros) [2079926] - ice: Protect vf_state check by cfg_lock in ice_vc_process_vf_msg() (Petr Oros) [2079926] - ice: Fix incorrect locking in ice_vc_process_vf_msg() (Petr Oros) [2079926] - ice: Fix memory leak in ice_get_orom_civd_data() (Petr Oros) [2079926] - ice: fix crash in switchdev mode (Petr Oros) [2079926] - Revert "iavf: Fix deadlock occurrence during resetting VF interface" (Petr Oros) [2079926] - ice: arfs: fix use-after-free when freeing @rx_cpu_rmap (Petr Oros) [2079926] - ice: clear cmd_type_offset_bsz for TX rings (Petr Oros) [2079926] - ice: xsk: fix VSI state check in ice_xsk_wakeup() (Petr Oros) [2079926] - ice: synchronize_rcu() when terminating rings (Petr Oros) [2079926] - ice: Do not skip not enabled queues in ice_vc_dis_qs_msg (Petr Oros) [2079926] - ice: Set txq_teid to ICE_INVAL_TEID on ring creation (Petr Oros) [2079926] - ice: Fix broken IFF_ALLMULTI handling (Petr Oros) [2079926] - ice: Fix MAC address setting (Petr Oros) [2079926] - redhat/configs: Remove CONFIG_MFD_INTEL_PMT (Prarit Bhargava) [2058805] - redhat/configs: Add CONFIG_INTEL_VSEC (Prarit Bhargava) [2058805] - platform/x86/intel: Move intel_pmt from MFD to Auxiliary Bus (Prarit Bhargava) [2058805] - PCI: Add #defines for accessing PCIe DVSEC fields (Prarit Bhargava) [2058805] - platform/x86: intel_pmt_telemetry: Ignore zero sized entries (Prarit Bhargava) [2058805] - platform/x86/intel: pmt: Use y instead of objs in Makefile (Prarit Bhargava) [2058805] - platform/x86/intel: Move Intel PMT drivers to new subfolder (Prarit Bhargava) [2058805] - dlm: fix plock invalid read (Alexander Aring) [2053095] - NFS: LOOKUP_DIRECTORY is also ok with symlinks (Scott Mayhew) [2059727] - NFSv4: nfs_atomic_open() can race when looking up a non-regular file (Scott Mayhew) [2059727] - NFSv4: Handle case where the lookup of a directory fails (Scott Mayhew) [2059727] - redhat: always tag non-maintainer builds with .gXXXX (Jarod Wilson) - mm, compaction: fast_find_migrateblock() should return pfn in the target zone (Rafael Aquini) [2067130] - [s390] s390/pci: expose a PCI device's UID as its index (Mete Durlu) [1939916] - [s390] s390/pci: expose UID uniqueness guarantee (Mete Durlu) [1939916] - [s390] s390/pci: Documentation for zPCI (Mete Durlu) [1939916] - powerpc/fadump: print start of preserved area (Diego Domingos) [2075092] - powerpc/fadump: align destination address to pagesize (Diego Domingos) [2075092] - powerpc/fadump: fix PT_LOAD segment for boot memory area (Diego Domingos) [2075092] - dmaengine: idxd: make idxd_wq_enable() return 0 if wq is already enabled (Jerry Snitselaar) [2083414] - dmaengine: idxd: Remove unnecessary synchronize_irq() before free_irq() (Jerry Snitselaar) [2083414] - dmaengine: idxd: add missing callback function to support DMA_INTERRUPT (Jerry Snitselaar) [2083414] - dmaengine: idxd: skip irq free when wq type is not kernel (Jerry Snitselaar) [2083414] - dmaengine: idxd: make idxd_register/unregister_dma_channel() static (Jerry Snitselaar) [2083414] - dmaengine: idxd: remove redudant idxd_wq_disable_cleanup() call (Jerry Snitselaar) [2083414] - dmaengine: idxd: free irq before wq type is reset (Jerry Snitselaar) [2083414] - dmaengine: idxd: fix lockdep warning on device driver removal (Jerry Snitselaar) [2083414] - dmaengine: idxd: Separate user and kernel pasid enabling (Jerry Snitselaar) [2083414] - dmaengine: idxd: refactor wq driver enable/disable operations (Jerry Snitselaar) [2083414] - dmaengine: idxd: move wq irq enabling to after device enable (Jerry Snitselaar) [2083414] - dmaengine: idxd: set max_xfer and max_batch for RO device (Jerry Snitselaar) [2083414] - dmaengine: idxd: Fix the error handling path in idxd_cdev_register() (Jerry Snitselaar) [2083414] - dmaengine: idxd: set DMA_INTERRUPT cap bit (Jerry Snitselaar) [2083414] - dmaengine: add verification of DMA_INTERRUPT capability for dmatest (Jerry Snitselaar) [2083414] - dmaengine: idxd: remove trailing white space on input str for wq name (Jerry Snitselaar) [2083414] - dmaengine: idxd: don't load pasid config until needed (Jerry Snitselaar) [2083414] - dmaengine: idxd: fix retry value to be constant for duration of function call (Jerry Snitselaar) [2075705] - dmaengine: idxd: match type for retries var in idxd_enqcmds() (Jerry Snitselaar) [2075705] - net: mana: Reuse XDP dropped page (Mohammed Gamal) [2086556] - net: mana: Add counter for XDP_TX (Mohammed Gamal) [2086556] - net: mana: Add counter for packet dropped by XDP (Mohammed Gamal) [2086556] - net: mana: Use struct_size() helper in mana_gd_create_dma_region() (Mohammed Gamal) [2086556] - SUNRPC release the transport of a relocated task with an assigned transport (Scott Mayhew) [2023840] - SUNRPC: Do not dereference non-socket transports in sysfs (Scott Mayhew) [2023840] - SUNRPC don't resend a task on an offlined transport (Scott Mayhew) [2023840] - SUNRPC: lock against ->sock changing during sysfs read (Scott Mayhew) [2023840] - SUNRPC: Check if the xprt is connected before handling sysfs reads (Scott Mayhew) [2023840] - SUNRPC: Add dst_port to the sysfs xprt info file (Scott Mayhew) [2023840] - SUNRPC: Add srcaddr as a file in sysfs (Scott Mayhew) [2023840] - sunrpc: Fix return value of get_srcport() (Scott Mayhew) [2023840] - sunrpc: remove an offlined xprt using sysfs (Scott Mayhew) [2023840] - sunrpc: display xprt's queuelen of assigned tasks via sysfs (Scott Mayhew) [2023840] - SUNRPC: take a xprt offline using sysfs (Scott Mayhew) [2023840] - SUNRPC for TCP display xprt's source port in sysfs xprt_info (Scott Mayhew) [2023840] - SUNRPC query transport's source port (Scott Mayhew) [2023840] - SUNRPC display xprt's main value in sysfs's xprt_info (Scott Mayhew) [2023840] - SUNRPC mark the first transport (Scott Mayhew) [2023840] - NFSv4.1 identify and mark RPC tasks that can move between transports (Scott Mayhew) [2023840] - sunrpc: provide showing transport's state info in the sysfs directory (Scott Mayhew) [2023840] - sunrpc: provide multipath info in the sysfs directory (Scott Mayhew) [2023840] - sunrpc: provide transport info in the sysfs directory (Scott Mayhew) [2023840] - sunrpc: add dst_attr attributes to the sysfs xprt directory (Scott Mayhew) [2023840] - sunrpc: add add sysfs directory per xprt under each xprt_switch (Scott Mayhew) [2023840] - sunrpc: add a symlink from rpc-client directory to the xprt_switch (Scott Mayhew) [2023840] - sunrpc: add xprt_switch direcotry to sunrpc's sysfs (Scott Mayhew) [2023840] - sunrpc: keep track of the xprt_class in rpc_xprt structure (Scott Mayhew) [2023840] - sunrpc: add IDs to multipath (Scott Mayhew) [2023840] - sunrpc: add xprt id (Scott Mayhew) [2023840] - sunrpc: Create per-rpc_clnt sysfs kobjects (Scott Mayhew) [2023840] - sunrpc: Create a client/ subdirectory in the sunrpc sysfs (Scott Mayhew) [2023840] - sunrpc: Create a sunrpc directory under /sys/kernel/ (Scott Mayhew) [2023840] - vfs: check fd has read access in kernel_read_file_from_fd() (Ian Kent) [2040615] - SUNRPC: Fix NFSD's request deferral on RDMA transports (Benjamin Coddington) [2090525] - vdpa/mlx5: Use consistent RQT size (Cindy Lu) [2063108] - vdpa/mlx5: add validation for VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command (Cindy Lu) [2063108] - vdpa/mlx5: should verify CTRL_VQ feature exists for MQ (Cindy Lu) [2063108] - gfs2: Stop using glock holder auto-demotion for now (Andreas Gruenbacher) [2054855] - gfs2: buffered write prefaulting (Andreas Gruenbacher) [2054855] - gfs2: Align read and write chunks to the page cache (Andreas Gruenbacher) [2054855] - gfs2: Pull return value test out of should_fault_in_pages (Andreas Gruenbacher) [2054855] - gfs2: Clean up use of fault_in_iov_iter_{read,write}able (Andreas Gruenbacher) [2054855] - gfs2: Variable rename (Andreas Gruenbacher) [2054855] - gfs2: Fix filesystem block deallocation for short writes (Andreas Gruenbacher) [2054855] - iomap: iomap_write_end cleanup (Andreas Gruenbacher) [2054855] - iomap: iomap_write_failed fix (Andreas Gruenbacher) [2054855] - gfs2: Don't re-check for write past EOF unnecessarily (Andreas Gruenbacher) [2054855] - gfs2: No short reads or writes upon glock contention (Andreas Gruenbacher) [2054855] - fs/iomap: Fix buffered write page prefaulting (Andreas Gruenbacher) [2054855] - generic_perform_write()/iomap_write_actor(): saner logics for short copy (Andreas Gruenbacher) [2054855] - iomap: Convert iomap_write_end types (Andreas Gruenbacher) [2054855] - gfs2: Make sure not to return short direct writes (Andreas Gruenbacher) [2054855] - gfs2: Remove dead code in gfs2_file_read_iter (Andreas Gruenbacher) [2054855] - gfs2: Fix gfs2_file_buffered_write endless loop workaround (Andreas Gruenbacher) [2054855] - gfs2: Minor retry logic cleanup (Andreas Gruenbacher) [2054855] - gfs2: Disable page faults during lockless buffered reads (Andreas Gruenbacher) [2054855] - gfs2: Fix should_fault_in_pages() logic (Andreas Gruenbacher) [2054855] - mm: gup: make fault_in_safe_writeable() use fixup_user_fault() (Andreas Gruenbacher) [2054855] - gfs2: Initialize gh_error in gfs2_glock_nq (Andreas Gruenbacher) [2054855] - gfs2: Switch lock order of inode and iopen glock (Andreas Gruenbacher) [2054855] - gfs2: cancel timed-out glock requests (Andreas Gruenbacher) [2054855] - gfs2: Expect -EBUSY after canceling dlm locking requests (Andreas Gruenbacher) [2054855] - gfs2: gfs2_setattr_size error path fix (Andreas Gruenbacher) [2054855] - gfs2: assign rgrp glock before compute_bitstructs (Bob Peterson) [2054855] - gfs2: Fix gfs2_release for non-writers regression (Bob Peterson) [1955591] - gfs2: gfs2_create_inode rework (Andreas Gruenbacher) [1955591] - gfs2: gfs2_inode_lookup rework (Andreas Gruenbacher) [1955591] - gfs2: gfs2_inode_lookup cleanup (Andreas Gruenbacher) [1955591] - gfs2: Fix remote demote of weak glock holders (Andreas Gruenbacher) [1955591] - gfs2: Fix glock_hash_walk bugs (Andreas Gruenbacher) [1955591] - gfs2: Cancel remote delete work asynchronously (Bob Peterson) [1955591] - gfs2: set glock object after nq (Bob Peterson) [1955591] - gfs2: remove RDF_UPTODATE flag (Bob Peterson) [1955591] - gfs2: Eliminate GIF_INVALID flag (Bob Peterson) [1955591] - gfs2: Fix atomic bug in gfs2_instantiate (Andreas Gruenbacher) [1955591] - gfs2: fix GL_SKIP node_scope problems (Bob Peterson) [1955591] - gfs2: Add some flags missing from glock output (Bob Peterson) [1955591] - gfs2: split glock instantiation off from do_promote (Bob Peterson) [1955591] - gfs2: further simplify do_promote (Bob Peterson) [1955591] - gfs2: re-factor function do_promote (Bob Peterson) [1955591] - gfs2: Remove 'first' trace_gfs2_promote argument (Andreas Gruenbacher) [1955591] - gfs2: change go_lock to go_instantiate (Bob Peterson) [1955591] - gfs2: Switch some BUG_ON to GLOCK_BUG_ON for debug (Bob Peterson) [1955591] - gfs2: move GL_SKIP check from glops to do_promote (Bob Peterson) [1955591] - gfs2: Add GL_SKIP holder flag to dump_holder (Bob Peterson) [1955591] - gfs2: remove redundant check in gfs2_rgrp_go_lock (Bob Peterson) [1955591] - gfs2: Fix mmap + page fault deadlocks for direct I/O (Andreas Gruenbacher) [1955591] - iov_iter: Introduce ITER_IOVEC_FLAG_NOFAULT flag to disable page faults (Andreas Gruenbacher) [1955591] - gup: Introduce FOLL_NOFAULT flag to disable page faults (Andreas Gruenbacher) [1955591] - iomap: Add done_before argument to iomap_dio_rw (Andreas Gruenbacher) [1955591] - iomap: Support partial direct I/O on user copy failures (Andreas Gruenbacher) [1955591] - iomap: Fix iomap_dio_rw return value for user copies (Andreas Gruenbacher) [1955591] - iomap: support reading inline data from non-zero pos (Andreas Gruenbacher) [1955591] - gfs2: Only dereference i->iov when iter_is_iovec(i) (Andreas Gruenbacher) [1955591] - gfs2: Prevent endless loops in gfs2_file_buffered_write (Andreas Gruenbacher) [1955591] - gfs2: Fix mmap + page fault deadlocks for buffered I/O (Andreas Gruenbacher) [1955591] - gfs2: Eliminate ip->i_gh (Andreas Gruenbacher) [1955591] - gfs2: Move the inode glock locking to gfs2_file_buffered_write (Andreas Gruenbacher) [1955591] - gfs2: Fix "Introduce flag for glock holder auto-demotion" (Andreas Gruenbacher) [1955591] - gfs2: Introduce flag for glock holder auto-demotion (Bob Peterson) [1955591] - gfs2: fix scheduling while atomic bug in glocks (Bob Peterson) [1955591] - gfs2: Clean up function may_grant (Andreas Gruenbacher) [1955591] - gfs2: Add wrapper for iomap_file_buffered_write (Andreas Gruenbacher) [1955591] - iov_iter: Introduce fault_in_iov_iter_writeable (Andreas Gruenbacher) [1955591] - iov_iter: Turn iov_iter_fault_in_readable into fault_in_iov_iter_readable (Andreas Gruenbacher) [1955591] - gup: Turn fault_in_pages_{readable,writeable} into fault_in_{readable,writeable} (Andreas Gruenbacher) [1955591] - powerpc/signal64: Don't opencode page prefaulting (Andreas Gruenbacher) [1955591] - sanitize iov_iter_fault_in_readable() (Andreas Gruenbacher) [1955591] - [xarray] iov_iter_fault_in_readable() should do nothing in xarray case (Andreas Gruenbacher) [1955591] - powerpc/kvm: Fix kvm_use_magic_page (Andreas Gruenbacher) [1955591] - iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return value (Andreas Gruenbacher) [1955591] - gfs2: Fix length of holes reported at end-of-file (Andreas Gruenbacher) [1955591] - gfs2: Remove redundant check from gfs2_glock_dq (Bob Peterson) [1955591] - gfs2: release iopen glock early in evict (Bob Peterson) [1955591] - mm: change fault_in_pages_* to have an unsigned size parameter (Andreas Gruenbacher) [1955591] - gfs2: Eliminate vestigial HIF_FIRST (Bob Peterson) [1955591] - iomap: remove the iomap arguments to ->page_{prepare,done} (Andreas Gruenbacher) [1955591] - net: sched: fix use-after-free in tc_new_tfilter() (Ivan Vecera) [2071704]- Bluetooth: virtio_bt: fix memory leak in virtbt_rx_handle() (Gopal Tiwari) [2076180] - powerpc/papr_scm: Fix buffer overflow issue with CONFIG_FORTIFY_SOURCE (Gustavo Walbon) [2069468] - powerpc/papr_scm: Fix build failure when (Gustavo Walbon) [2069468] - drivers/nvdimm: Fix build failure when CONFIG_PERF_EVENTS is not set (Gustavo Walbon) [2069468] - powerpc/papr_scm: Add perf interface support (Gustavo Walbon) [2069468] - drivers/nvdimm: Add perf interface to expose nvdimm performance stats (Gustavo Walbon) [2069468] - drivers/nvdimm: Add nvdimm pmu structure (Gustavo Walbon) [2069468] - mptcp: Fix crash due to tcp_tsorted_anchor was initialized before release skb (Davide Caratti) [2084048] - mptcp: Correctly set DATA_FIN timeout when number of retransmits is large (Davide Caratti) [2084048] - mptcp: add mibs counter for ignored incoming options (Davide Caratti) [2084048] - mptcp: fix race in incoming ADD_ADDR option processing (Davide Caratti) [2084048] - mptcp: netlink: process IPv6 addrs in creating listening sockets (Davide Caratti) [2084048] - mptcp: use delegate action to schedule 3rd ack retrans (Davide Caratti) [2084048] - mptcp: fix delack timer (Davide Caratti) [2084048] - powerpc/module_64: use module_init_section instead of patching names (Jan Stancek) [1985851] - module: check for exit sections in layout_sections() instead of module_init_section() (Jan Stancek) [1985851] - module: treat exit sections the same as init sections when !CONFIG_MODULE_UNLOAD (Jan Stancek) [1985851] - module: allow arch overrides for .exit section names (Jan Stancek) [1985851] - ARM: 8976/1: module: allow arch overrides for .init section names (Jan Stancek) [1985851] - KVM: s390: pv: make use of ultravisor AIV support (Thomas Huth) [2043870] - redhat: Enable VM kselftests (Nico Pache) [1978539] - selftests: vm: Makefile: rename TARGETS to VMTARGETS (Nico Pache) [1978539] - redhat: enable CONFIG_TEST_VMALLOC for vm selftests (Nico Pache) [1978539] - redhat: enable GUP TEST for kselftests (Nico Pache) [1978539] - redhat: Enable HMM test to be used by the kselftest test suite (Nico Pache) [1978539] - selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random (Nico Pache) [1978539] - selftests/vm: fix display of page size in map_hugetlb (Nico Pache) [1978539] - selftests/vm: fix building protection keys test (Nico Pache) [1978539] - lib/test_vmalloc.c: do not create cpumask_t variable on stack (Nico Pache) [1978539] - vmalloc: add test driver to analyse vmalloc allocator (Nico Pache) [1978539] - vmalloc: export __vmalloc_node_range for CONFIG_TEST_VMALLOC_MODULE (Nico Pache) [1978539] - selftests/vm: add protection_keys_32 / protection_keys_64 to gitignore (Nico Pache) [1978539] - selftests/vm: rename file run_vmtests to run_vmtests.sh (Nico Pache) [1978539] - mm/gup_benchmark: support threading (Nico Pache) [1978539] - selftests/vm: gup_test: test faulting in kernel, and verify pinnable pages (Nico Pache) [1978539] - selftests/vm: gup_test: fix test flag (Nico Pache) [1978539] - selftests/vm: fix out-of-tree build (Nico Pache) [1978539] - selftests/vm: 2x speedup for run_vmtests.sh (Nico Pache) [1978539] - selftests/vm: hmm-tests: remove the libhugetlbfs dependency (Nico Pache) [1978539] - selftests/vm: run_vmtests.sh: update and clean up gup_test invocation (Nico Pache) [1978539] - selftests/vm: gup_test: introduce the dump_pages() sub-test (Nico Pache) [1978539] - selftests/vm: only some gup_test items are really benchmarks (Nico Pache) [1978539] - selftests/vm: minor cleanup: Makefile and gup_test.c (Nico Pache) [1978539] - selftests/vm: rename run_vmtests --> run_vmtests.sh (Nico Pache) [1978539] - selftests/vm: use a common gup_test.h (Nico Pache) [1978539] - mm/gup_benchmark: rename to mm/gup_test (Nico Pache) [1978539] - tools/testing/selftests/vm: fix build error (Nico Pache) [1978539] - selftests: vm: add fragment CONFIG_GUP_BENCHMARK (Nico Pache) [1978539] - selftests/vm: 8x compaction_test speedup (Nico Pache) [1978539] - selftests/vm: fix incorrect gcc invocation in some cases (Nico Pache) [1978539] - selftests/vm: fix false build success on the second and later attempts (Nico Pache) [1978539] - mm/gup: don't permit users to call get_user_pages with FOLL_LONGTERM (Nico Pache) [1978539] - mm/gup_benchmark: use pin_user_pages for FOLL_LONGTERM flag (Nico Pache) [1978539] - mm/gup_benchmark: update the documentation in Kconfig (Nico Pache) [1978539] - khugepaged: selftests: fix timeout condition in wait_for_scan() (Nico Pache) [1978539] - selftests: vm: pkeys: fix multilib builds for x86 (Nico Pache) [1978539] - selftests: vm: pkeys: use the correct page size on powerpc (Nico Pache) [1978539] - selftests/vm/pkeys: override access right definitions on powerpc (Nico Pache) [1978539] - selftests/vm/pkeys: test correct behaviour of pkey-0 (Nico Pache) [1978539] - selftests/vm/pkeys: introduce a sub-page allocator (Nico Pache) [1978539] - selftests/vm/pkeys: detect write violation on a mapped access-denied-key page (Nico Pache) [1978539] - selftests/vm/pkeys: associate key on a mapped page and detect write violation (Nico Pache) [1978539] - selftests/vm/pkeys: associate key on a mapped page and detect access violation (Nico Pache) [1978539] - selftests/vm/pkeys: improve checks to determine pkey support (Nico Pache) [1978539] - selftests/vm/pkeys: fix assertion in test_pkey_alloc_exhaust() (Nico Pache) [1978539] - selftests/vm/pkeys: fix number of reserved powerpc pkeys (Nico Pache) [1978539] - selftests/vm/pkeys: introduce powerpc support (Nico Pache) [1978539] - selftests/vm/pkeys: introduce generic pkey abstractions (Nico Pache) [1978539] - selftests: vm: pkeys: use the correct huge page size (Nico Pache) [1978539] - selftests/vm/pkeys: fix alloc_random_pkey() to make it really random (Nico Pache) [1978539] - selftests/vm/pkeys: fix assertion in pkey_disable_set/clear() (Nico Pache) [1978539] - selftests/vm/pkeys: fix pkey_disable_clear() (Nico Pache) [1978539] - selftests: vm: pkeys: add helpers for pkey bits (Nico Pache) [1978539] - selftests: vm: pkeys: Use sane types for pkey register (Nico Pache) [1978539] - selftests/vm/pkeys: make gcc check arguments of sigsafe_printf() (Nico Pache) [1978539] - selftests/vm/pkeys: move some definitions to arch-specific header (Nico Pache) [1978539] - selftests/vm/pkeys: move generic definitions to header file (Nico Pache) [1978539] - selftests/vm/pkeys: rename all references to pkru to a generic name (Nico Pache) [1978539] - selftests/x86/pkeys: move selftests to arch-neutral directory (Nico Pache) [1978539] - selftests/vm: 10x speedup for hmm-tests (Nico Pache) [1978539] - mm/migrate: add migrate-shared test for migrate_vma_*() (Nico Pache) [1978539] - mm/migrate: optimize migrate_vma_setup() for holes (Nico Pache) [1978539] - lib/test_hmm: use vma_lookup() in dmirror_migrate() (Nico Pache) [1978539] - lib/test_hmm.c: fix an error code in dmirror_allocate_chunk() (Nico Pache) [1978539] - lib/test_hmm.c: remove unused dmirror_zero_page (Nico Pache) [1978539] - mm/memremap_pages: support multiple ranges per invocation (Nico Pache) [1978539] - mm/memremap_pages: convert to 'struct range' (Nico Pache) [1978539] - tools/testing/selftests/vm/hmm-tests.c: use the new SKIP() macro (Nico Pache) [1978539] - mm/hmm/test: use the new migration invalidation (Nico Pache) [1978539] - lib/test_hmm.c: add a flag parameter to migrate_vma (Nico Pache) [1978539] - mm/hmm: add tests for hmm_pfn_to_map_order() (Nico Pache) [1978539] - lib: fix test_hmm.c reference after free (Nico Pache) [1978539] - mm/hmm/test: add selftests for HMM (Nico Pache) [1978539] - mm/hmm/test: add selftest driver for HMM (Nico Pache) [1978539] - mm: convert insert_pfn() to vm_fault_t (Nico Pache) [1978539] - selftests/vm/.gitignore: add mremap_dontunmap (Nico Pache) [1978539] - selftests: vm: Fix 64-bit test builds for powerpc64le (Nico Pache) [1978539] - selftests: vm: Do not override definition of ARCH (Nico Pache) [1978539] - selftests/vm: fix map_hugetlb length used for testing read and write (Nico Pache) [1978539] - selftests/vm: add missed tests in run_vmtests (Nico Pache) [1978539] - selftests: vm: add fragment CONFIG_TEST_VMALLOC (Nico Pache) [1978539] - selftests: vm: Build/Run 64bit tests only on 64bit arch (Nico Pache) [1978539] - selftests: vm: Fix test build failure when built by itself (Nico Pache) [1978539] - selftests: vm: install test_vmalloc.sh for run_vmtests (Nico Pache) [1978539] - tools: mark 'test_vmalloc.sh' executable (Nico Pache) [1978539] - tools/selftest/vm: allow choosing mem size and page size in map_hugetlb (Nico Pache) [1978539] - selftests/vm: add script helper for CONFIG_TEST_VMALLOC_MODULE (Nico Pache) [1978539] - tools/testing/selftests/vm/map_fixed_noreplace.c: add test for MAP_FIXED_NOREPLACE (Nico Pache) [1978539] - tools/testing/selftests/vm/: add MAP_POPULATE test (Nico Pache) [1978539] - xfs: return errors in xfs_fs_sync_fs (Andrey Albershteyn) [2087991] - vfs: make sync_filesystem return errors from ->sync_fs (Andrey Albershteyn) [2087991] - PCI: hv: Remove unused hv_set_msi_entry_from_desc() (Mohammed Gamal) [2086560] - PCI: hv: Avoid the retarget interrupt hypercall in irq_unmask() on ARM64 (Mohammed Gamal) [2086560] - PCI: hv: Fix NUMA node assignment when kernel boots with custom NUMA topology (Mohammed Gamal) [2086560] - PCI: hv: Use PCI_ERROR_RESPONSE to identify config read errors (Mohammed Gamal) [2086560] - vdpa: clean up get_config_size ret value handling (Cindy Lu) [2059841] - vdpa: mlx5: synchronize driver status with CVQ (Jason Wang) [2048009] - vdpa: mlx5: prevent cvq work from hogging CPU (Jason Wang) [2048009] - vdpa/mlx5: Avoid processing works if workqueue was destroyed (Cindy Lu) [2048009] - cpufreq: Cancel policy update work scheduled before freeing (Prarit Bhargava) [2083728] - tcp: fix potential xmit stalls caused by TCP_NOTSENT_LOWAT (Paolo Abeni) [2081411] - tcp: ensure to use the most recently sent skb when filling the rate sample (Paolo Abeni) [2081411] - tcp: make sure treq->af_specific is initialized (Paolo Abeni) [2081411] - tcp: md5: incorrect tcp_header_len for incoming connections (Paolo Abeni) [2081411] - tcp: ensure PMTU updates are processed during fastopen (Paolo Abeni) [2081411] - tcp: add missing tcp_skb_can_collapse() test in tcp_shift_skb_data() (Paolo Abeni) [2081411] - inet: fully convert sk->sk_rx_dst to RCU rules (Paolo Abeni) [2081411] - tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited flows (Paolo Abeni) [2081411]- selftests/bpf/test_xdp_redirect_multi: use temp netns for testing (Felix Maurer) [2017875] - selftests/bpf/xdp_redirect_multi: Limit the tests in netns (Jiri Benc) [2017875] - selftests/bpf/xdp_redirect_multi: Give tcpdump a chance to terminate cleanly (Jiri Benc) [2017875] - selftests/bpf/xdp_redirect_multi: Use arping to accurate the arp number (Jiri Benc) [2017875] - selftests/bpf/xdp_redirect_multi: Put the logs to tmp folder (Jiri Benc) [2017875] - bpf, sockmap: Zap ingress queues after stopping strparser (Jiri Benc) [2017875] - xdp, net: Fix use-after-free in bpf_xdp_link_release (Jiri Benc) [2017875] - doc, af_xdp: Fix bind flags option typo (Jiri Benc) [2017875] - bpf, devmap: Convert remaining READ_ONCE() to rcu_dereference_check() (Jiri Benc) [2017875] - xdp: Move the rxq_info.mem clearing to unreg_mem_model() (Jiri Benc) [2017875] - bpf, sched: Remove unneeded rcu_read_lock() around BPF program invocation (Jiri Benc) [2017875] - xdp: Add proper __rcu annotations to redirect map entries (Jiri Benc) [2017875] - doc: Give XDP as example of non-obvious RCU reader/updater pairing (Jiri Benc) [2017875] - doc: Clarify and expand RCU updaters and corresponding readers (Jiri Benc) [2017875] - bpfilter: Specify the log level for the kmsg message (Jiri Benc) [2017875] - docs, af_xdp: Consistent indentation in examples (Jiri Benc) [2017875] - xsk: Fix missing validation for skb and unaligned mode (Jiri Benc) [2017875] - bpf: Support all gso types in bpf_skb_change_proto() (Jiri Benc) [2017875] - bpf: Do not change gso_size during bpf_skb_change_proto() (Jiri Benc) [2017875] - Revert "bpf: Check for BPF_F_ADJ_ROOM_FIXED_GSO when bpf_skb_change_proto" (Jiri Benc) [2017875] - selftests/bpf: Add xdp_redirect_multi into .gitignore (Jiri Benc) [2017875] - bpf, devmap: Remove drops variable from bq_xmit_all() (Jiri Benc) [2017875] - locking/atomic: net: use linux/atomic.h for xchg & cmpxchg (Jiri Benc) [2017875] - xsk: Use kvcalloc to support large umems (Jiri Benc) [2017875] - selftests/bpf: Add xdp_redirect_multi test (Jiri Benc) [2017875] - sample/bpf: Add xdp_redirect_map_multi for redirect_map broadcast test (Jiri Benc) [2017875] - xdp: Extend xdp_redirect_map with broadcast support (Jiri Benc) [2017875] - bpf: Let bpf_warn_invalid_xdp_action() report more info (Felix Maurer) [2017875] - bpf: Run devmap xdp_prog on flush instead of bulk enqueue (Jiri Benc) [2017875] - skmsg: Remove unused parameters of sk_msg_wait_data() (Jiri Benc) [2017875] - bpf: Use struct_size() in kzalloc() (Jiri Benc) [2017875] - bpf: Check for BPF_F_ADJ_ROOM_FIXED_GSO when bpf_skb_change_proto (Jiri Benc) [2017875] - treewide: Replace zero-length arrays with flexible-array members (Tomas Henzl) [2049660] - scsi: mpi3mr: Bump driver version to 8.0.0.68.0 (Tomas Henzl) [2049660] - scsi: mpi3mr: Update the copyright year (Tomas Henzl) [2049660] - scsi: mpi3mr: Update MPI3 headers (Tomas Henzl) [2049660] - scsi: mpi3mr: Fix formatting problems in some kernel-doc comments (Tomas Henzl) [2049660] - scsi: mpi3mr: Fix some spelling mistakes (Tomas Henzl) [2049660] - scsi: mpi3mr: Bump driver version to 8.0.0.61.0 (Tomas Henzl) [2049660] - scsi: mpi3mr: Add io_uring interface support in I/O-polled mode (Tomas Henzl) [2049660] - scsi: mpi3mr: Print cable mngnt and temp threshold events (Tomas Henzl) [2049660] - scsi: mpi3mr: Support Prepare for Reset event (Tomas Henzl) [2049660] - scsi: mpi3mr: Add Event acknowledgment logic (Tomas Henzl) [2049660] - scsi: mpi3mr: Gracefully handle online FW update operation (Tomas Henzl) [2049660] - scsi: mpi3mr: Detect async reset that occurred in firmware (Tomas Henzl) [2049660] - scsi: mpi3mr: Add IOC reinit function (Tomas Henzl) [2049660] - scsi: mpi3mr: Handle offline FW activation in graceful manner (Tomas Henzl) [2049660] - scsi: mpi3mr: Code refactor of IOC init - part2 (Tomas Henzl) [2049660] - scsi: mpi3mr: Code refactor of IOC init - part1 (Tomas Henzl) [2049660] - scsi: mpi3mr: Fault IOC when internal command gets timeout (Tomas Henzl) [2049660] - scsi: mpi3mr: Display IOC firmware package version (Tomas Henzl) [2049660] - scsi: mpi3mr: Handle unaligned PLL in unmap cmnds (Tomas Henzl) [2049660] - scsi: mpi3mr: Add support for PCIe Managed Switch SES device (Tomas Henzl) [2049660] - [s390] s390/cio: verify the driver availability for path_event call (Mete Durlu) [2058620] - selinux: fix bad cleanup on error in hashtab_duplicate() (Ondrej Mosnacek) [2005890] - selinux: fix race between old and new sidtab (Ondrej Mosnacek) [2005890] - selinux: fix cond_list corruption when changing booleans (Ondrej Mosnacek) [2005890] - selinux: make nslot handling in avtab more robust (Ondrej Mosnacek) [2005890] - selinuxfs: unify policy load error reporting (Ondrej Mosnacek) [2005890] - selinux: fix variable scope issue in live sidtab conversion (Ondrej Mosnacek) [2005890] - selinux: don't log MAC_POLICY_LOAD record on failed policy load (Ondrej Mosnacek) [2005890] - selinux: simplify away security_policydb_len() (Ondrej Mosnacek) [2005890] - selinux: move policy mutex to selinux_state, use in lockdep checks (Ondrej Mosnacek) [2005890] - selinux: fix error handling bugs in security_load_policy() (Ondrej Mosnacek) [2005890] - selinux: convert policy read-write lock to RCU (Ondrej Mosnacek) [2005890] - selinux: Create new booleans and class dirs out of tree (Ondrej Mosnacek) [2005890] - selinux: Standardize string literal usage for selinuxfs directory names (Ondrej Mosnacek) [2005890] - selinux: Refactor selinuxfs directory populating functions (Ondrej Mosnacek) [2005890] - selinux: Create function for selinuxfs directory cleanup (Ondrej Mosnacek) [2005890] - selinux: fix memdup.cocci warnings (Ondrej Mosnacek) [2005890] - selinux: avoid dereferencing the policy prior to initialization (Ondrej Mosnacek) [2005890] - selinux: fix allocation failure check on newpolicy->sidtab (Ondrej Mosnacek) [2005890] - selinux: refactor changing booleans (Ondrej Mosnacek) [2005890] - selinux: move policy commit after updating selinuxfs (Ondrej Mosnacek) [2005890] - selinux: encapsulate policy state, refactor policy load (Ondrej Mosnacek) [2005890] - Revert "selinux: fix deadlock in security_set_bools()" (Ondrej Mosnacek) [2005890] - thunderx nic: mark device as deprecated (Íñigo Huguet) [2060286] - cpufreq: intel_pstate: Add Ice Lake server to out-of-band IDs (Vitaly Kuznetsov) [2091523] - [s390] s390/hypfs: include z/VM guests with access control group set (Mete Durlu) [2058621] - scsi: mpt3sas: Fix a few kernel-doc issues (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix a typo (Tomas Henzl) [2049623] - scsi: mpt3sas: Update driver version to 42.100.00.00 (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix junk chars displayed while printing ChipName (Tomas Henzl) [2049623] - scsi: mpt3sas: Use cached ATA Information VPD page (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix adapter replyPostRegisterIndex declaration (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix event callback log_code value handling (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix ioc->base_readl() use (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix writel() use (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix _ctl_set_task_mid() TaskMID check (Tomas Henzl) [2049623] - scsi: mpt3sas: Fail reset operation if config request timed out (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix use after free in _scsih_expander_node_remove() (Tomas Henzl) [2049623] - scsi: mpt3sas: Page fault in reply q processing (Tomas Henzl) [2049623] - scsi: mpt3sas: Convert to flexible arrays (Tomas Henzl) [2049623] - scsi: mpt3sas: Update persistent trigger pages from sysfs interface (Tomas Henzl) [2049623] - Revert "netfilter: conntrack: tag conntracks picked up in local out hook" (Florian Westphal) [2062870] - Revert "netfilter: nat: force port remap to prevent shadowing well-known ports" (Florian Westphal) [2062870] - drm/amdgpu: vi: disable ASPM on Intel Alder Lake based systems (Michel Dänzer) [2066918] - drm/amd: Use amdgpu_device_should_use_aspm on navi umd pstate switching (Michel Dänzer) [2066918] - drm/amd: Refactor `amdgpu_aspm` to be evaluated per device (Michel Dänzer) [2066918] - drm/amd: Check if ASPM is enabled from PCIe subsystem (Michel Dänzer) [2066918] - [s390] s390/tape: fix timer initialization in tape_std_assign() (Mete Durlu) [2085420] - powerpc/pseries/vas: Use QoS credits from the userspace (Steve Best) [2075174] - thermal: don't make THERMAL_NETLINK 'default y' (Prarit Bhargava) [2040062] - redhat/configs: Add CONFIG_INTEL_HFI_THERMAL (Prarit Bhargava) [2040062] - thermal/drivers/core: Remove module unload code (Prarit Bhargava) [2040062] - thermal: core: Fix TZ_GET_TRIP NULL pointer dereference (Prarit Bhargava) [2040062] - thermal: intel: hfi: INTEL_HFI_THERMAL depends on NET (Prarit Bhargava) [2040062] - thermal: netlink: Fix parameter type of thermal_genl_cpu_capability_event() stub (Prarit Bhargava) [2040062] - thermal: intel: hfi: Notify user space for HFI events (Prarit Bhargava) [2040062] - thermal: netlink: Add a new event to notify CPU capabilities change (Prarit Bhargava) [2040062] - thermal: intel: hfi: Enable notification interrupt (Prarit Bhargava) [2040062] - thermal: intel: hfi: Handle CPU hotplug events (Prarit Bhargava) [2040062] - thermal: intel: hfi: Minimally initialize the Hardware Feedback Interface (Prarit Bhargava) [2040062] - x86/cpu: Add definitions for the Intel Hardware Feedback Interface (Prarit Bhargava) [2040062] - x86/Documentation: Describe the Intel Hardware Feedback Interface (Prarit Bhargava) [2040062] - thermal: intel: Allow processing of HWP interrupt (Prarit Bhargava) [2040062] - x86/thermal: Fix LVT thermal setup for SMI delivery mode (Prarit Bhargava) [2040062] - thermal: Move therm_throt there from x86/mce (Prarit Bhargava) [2040062] - thermal: core: Adding missing nlmsg_free() in thermal_genl_sampling_temp() (Prarit Bhargava) [2040062] - thermal: move to smaller ops wherever possible (Prarit Bhargava) [2040062] - thermal: add small version of ops (Prarit Bhargava) [2040062] - thermal: netlink: Improve the initcall ordering (Prarit Bhargava) [2040062] - thermal: core: remove redundant initialization of variable ret (Prarit Bhargava) [2040062] - thermal: netlink: Fix compilation error when CONFIG_NET=n (Prarit Bhargava) [2040062] - thermal: core: Fix thermal zone lookup by ID (Prarit Bhargava) [2040062] - thermal: core: Get thermal zone by id (Prarit Bhargava) [2040062] - thermal: core: Add helpers to browse the cdev, tz and governor list (Prarit Bhargava) [2040062] - thermal: Remove netlink support (Prarit Bhargava) [2040062] - thermal: core: genetlink support for events/cmd/sampling (Prarit Bhargava) [2040062]- mailbox: pcc: Handle all PCC subtypes correctly in pcc_mbox_irq (Mark Langsdorf) [1997698] - i2c: xgene-slimpro: Fix wrong pointer passed to PTR_ERR() (Mark Langsdorf) [1997698] - ACPI: Make acpi_node_get_parent() local (Mark Langsdorf) [1997698] - ACPI: Get acpi_device's parent from the parent field (Mark Langsdorf) [1997698] - ACPI: PM: Fix device wakeup power reference counting error (Mark Langsdorf) [1997698] - ACPI: video: use platform backlight driver on Xiaomi Mi Pad 2 (Mark Langsdorf) [1997698] - ACPI: video: Drop dmi_system_id.ident settings from video_detect_dmi_table[] (Mark Langsdorf) [1997698] - ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses (Mark Langsdorf) [1997698] - ACPI: EC: Use ec_no_wakeup on HP ZHAN 66 Pro (Mark Langsdorf) [1997698] - ACPI: Add a convenience function to tell a device is in D0 state (Mark Langsdorf) [1997698] - ACPI: scan: Obtain device's desired enumeration power state (Mark Langsdorf) [1997698] - perf: qcom_l2_pmu: ACPI: Use ACPI_COMPANION() directly (Mark Langsdorf) [1997698] - ACPI/PCC: Add maintainer for PCC mailbox driver (Mark Langsdorf) [1997698] - mailbox: pcc: Add support for PCCT extended PCC subspaces(type 3/4) (Mark Langsdorf) [1997698] - mailbox: pcc: Drop handling invalid bit-width in {read,write}_register (Mark Langsdorf) [1997698] - mailbox: pcc: Avoid accessing PCCT table in pcc_send_data and pcc_mbox_irq (Mark Langsdorf) [1997698] - mailbox: pcc: Add PCC register bundle and associated accessor functions (Mark Langsdorf) [1997698] - mailbox: pcc: Rename doorbell ack to platform interrupt ack register (Mark Langsdorf) [1997698] - mailbox: pcc: Use PCC mailbox channel pointer instead of standard (Mark Langsdorf) [1997698] - mailbox: pcc: Add pcc_mbox_chan structure to hold shared memory region info (Mark Langsdorf) [1997698] - mailbox: pcc: Consolidate subspace doorbell register parsing (Mark Langsdorf) [1997698] - mailbox: pcc: Consolidate subspace interrupt information parsing (Mark Langsdorf) [1997698] - mailbox: pcc: Refactor all PCC channel information into a structure (Mark Langsdorf) [1997698] - mailbox: pcc: Fix kernel doc warnings (Mark Langsdorf) [1997698] - ACPI: glue: Use acpi_device_adr() in acpi_find_child_device() (Mark Langsdorf) [1997698] - ACPI: APEI: mark apei_hest_parse() static (Mark Langsdorf) [1997698] - ACPI: APEI: EINJ: Relax platform response timeout to 1 second (Mark Langsdorf) [1997698] - ACPI: resources: Add one more Medion model in IRQ override quirk (Mark Langsdorf) [1997698] - ACPI: AC: Quirk GK45 to skip reading _PSR (Mark Langsdorf) [1997698] - ACPI: PM: sleep: Do not set suspend_ops unnecessarily (Mark Langsdorf) [1997698] - ACPI: PRM: Handle memory allocation and memory remap failure (Mark Langsdorf) [1997698] - ACPI: PRM: Remove unnecessary blank lines (Mark Langsdorf) [1997698] - ACPI: PM: Turn off wakeup power resources on _DSW/_PSW errors (Mark Langsdorf) [1997698] - ACPI: PM: Fix sharing of wakeup power resources (Mark Langsdorf) [1997698] - ACPI: PM: Turn off unused wakeup power resources (Mark Langsdorf) [1997698] - ACPI: PM: Check states of power resources during initialization (Mark Langsdorf) [1997698] - hwmon: (acpi_power_meter) Use acpi_bus_get_acpi_device() (Mark Langsdorf) [1997698] - ACPI: replace snprintf() in "show" functions with sysfs_emit() (Mark Langsdorf) [1997698] - ACPI: LPSS: Use ACPI_COMPANION() directly (Mark Langsdorf) [1997698] - ACPI: battery: Accept charges over the design capacity as full (Mark Langsdorf) [1997698] - ACPICA: Update version to 20210930 (Mark Langsdorf) [1997698] - ACPICA: iASL table disassembler: Added disassembly support for the NHLT ACPI table (Mark Langsdorf) [1997698] - ACPICA: ACPI 6.4 SRAT: add Generic Port Affinity type (Mark Langsdorf) [1997698] - ACPICA: Add support for Windows 2020 _OSI string (Mark Langsdorf) [1997698] - ACPICA: Avoid evaluating methods too early during system resume (Mark Langsdorf) [1997698] - ACPI: processor: idle: fix lockup regression on 32-bit ThinkPad T40 (Mark Langsdorf) [1997698] - ACPI: processor idle: Allow playing dead in C3 state (Mark Langsdorf) [1997698] - ACPI: Kconfig: Fix a typo in Kconfig (Mark Langsdorf) [1997698] - ACPI: PNP: remove duplicated BRI0A49 and BDP3336 entries (Mark Langsdorf) [1997698] - ACPI: resources: Add DMI-based legacy IRQ override quirk (Mark Langsdorf) [1997698] - ACPICA: Add support for MADT online enabled bit (Mark Langsdorf) [1997698] - acpi/arm64: fix next_platform_timer() section mismatch error (Mark Langsdorf) [1997697] - ACPI: PM: Include alternate AMDI0005 id in special behaviour (Mark Langsdorf) [1997697] - MAINTAINERS: Change Rafael's e-mail address (Mark Langsdorf) [1997697] - ACPI: scan: Remove unneeded header linux/nls.h (Mark Langsdorf) [1997697] - ACPI: PM: s2idle: Run both AMD and Microsoft methods if both are supported (Mark Langsdorf) [1997697] - ACPI: power: Drop name from struct acpi_power_resource (Mark Langsdorf) [1997697] - ACPI: power: Use acpi_handle_debug() to print debug messages (Mark Langsdorf) [1997697] - ACPI: button: Add DMI quirk for Lenovo Yoga 9 (14INTL5) (Mark Langsdorf) [1997697] - ACPI: SPCR: Add support for the new 16550-compatible Serial Port Subtype (Mark Langsdorf) [1997697] - ACPI: platform-profile: call sysfs_notify() from platform_profile_store() (Mark Langsdorf) [1997697] - ACPICA: Update version to 20210730 (Mark Langsdorf) [1997697] - ACPICA: Add method name "_DIS" For use with aslmethod.c (Mark Langsdorf) [1997697] - ACPICA: iASL: Fix for WPBT table with no command-line arguments (Mark Langsdorf) [1997697] - ACPICA: Headers: Add new DBG2 Serial Port Subtypes (Mark Langsdorf) [1997697] - ACPICA: Macros should not use a trailing semicolon (Mark Langsdorf) [1997697] - ACPICA: Fix an if statement (add parens) (Mark Langsdorf) [1997697] - ACPICA: iASL: Add support for the AEST table (data compiler) (Mark Langsdorf) [1997697] - clk: fractional-divider: Introduce POWER_OF_TWO_PS flag (Mark Langsdorf) [1997697] - clk: fractional-divider: add explicit big endian support (Mark Langsdorf) [1997697] - clk: gate: add explicit big endian support (Mark Langsdorf) [1997697] - clk: fractional-divider: add CLK_FRAC_DIVIDER_ZERO_BASED flag support (Mark Langsdorf) [1997697] - ACPI: processor: Replace deprecated CPU-hotplug functions (Mark Langsdorf) [1997697] - ABI: sysfs-platform-dptf: Add tables markup to a table (Mark Langsdorf) [1997697] - ACPI: DPTF: Add new PCH FIVR methods (Mark Langsdorf) [1997697] - clk: x86: Rename clk-lpt to more specific clk-lpss-atom (Mark Langsdorf) [1997697] - ACPI: configfs: Make get_header() to return error pointer (Mark Langsdorf) [1997697] - ACPI: configfs: Use sysfs_emit() in "show" functions (Mark Langsdorf) [1997697] - ACPI: glue: Eliminate acpi_platform_notify() (Mark Langsdorf) [1997697] - ACPI: bus: Rename functions to avoid name collision (Mark Langsdorf) [1997697] - ACPI: glue: Change return type of two functions to void (Mark Langsdorf) [1997697] - ACPI: glue: Rearrange acpi_device_notify() (Mark Langsdorf) [1997697] - ACPI: Add LoongArch support for ACPI_PROCESSOR/ACPI_NUMA (Mark Langsdorf) [1997697] - ACPI / PMIC: XPower: optimize MIPI PMIQ sequence I2C-bus accesses (Mark Langsdorf) [1997697] - ACPI / PMIC: XPower: optimize I2C-bus accesses (Mark Langsdorf) [1997697] - stddef: Introduce DECLARE_FLEX_ARRAY() helper (Josef Oskera) [2062594] - Revert "iavf: Fix deadlock occurrence during resetting VF interface" (Ivan Vecera) [2066693] - scsi: core: Fix sbitmap depth in scsi_realloc_sdev_budget_map() (Ewan D. Milne) [2071831] - lib/sbitmap: allocate sb->map via kvzalloc_node (Ewan D. Milne) [2071831] - mm: move kvmalloc-related functions to slab.h (Ewan D. Milne) [2071831] - scsi: core: sd: Add silence_suspend flag to suppress some PM messages (Ewan D. Milne) [2071831] - scsi: scsi_transport_fc: Fix FPIN Link Integrity statistics counters (Ewan D. Milne) [2071831] - sd: call sd_zbc_release_disk before releasing the scsi_device reference (Ewan D. Milne) [2071831] - scsi: core: Reallocate device's budget map on queue depth change (Ewan D. Milne) [2071831] - scsi: sr: Don't use GFP_DMA (Ewan D. Milne) [2071831] - scsi: core: Fix scsi_device_max_queue_depth() (Ewan D. Milne) [2071831] - scsi: scsi_debug: Fix buffer size of REPORT ZONES command (Ewan D. Milne) [2071831] - scsi: sd_zbc: Clean up sd_zbc_parse_report() setting of wp (Ewan D. Milne) [2071831] - scsi: sd_zbc: Simplify zone full condition check (Ewan D. Milne) [2071831] - scsi: core: Show SCMD_LAST in text form (Ewan D. Milne) [2071831] - scsi: scsi_debug: Zero clear zones at reset write pointer (Ewan D. Milne) [2071831] - scsi: core: sysfs: Fix setting device state to SDEV_RUNNING (Ewan D. Milne) [2071831] - scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select() (Ewan D. Milne) [2071831] - scsi: scsi_debug: Fix type in min_t to avoid stack OOB (Ewan D. Milne) [2071831] - scsi: core: Simplify control flow in scmd_eh_abort_handler() (Ewan D. Milne) [2071831] - scsi: core: sysfs: Fix hang when device state is set via sysfs (Ewan D. Milne) [2071831] - scsi: scsi_debug: Don't call kcalloc() if size arg is zero (Ewan D. Milne) [2071831] - scsi: sr: Remove duplicate assignment (Ewan D. Milne) [2071831] - scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs() (Ewan D. Milne) [2071831] - scsi: scsi_debug: Fix out-of-bound read in resp_readcap16() (Ewan D. Milne) [2071831] - scsi: sd: Print write through due to no caching mode page as warning (Ewan D. Milne) [2071831] - scsi: sd: Fix crashes in sd_resume_runtime() (Ewan D. Milne) [2071831] - scsi: core: Fix shost->cmd_per_lun calculation in scsi_add_host_with_dma() (Ewan D. Milne) [2071831] - scsi: core: Fix spelling in a source code comment (Ewan D. Milne) [2071831] - scsi: sd: Fix sd_do_mode_sense() buffer length handling (Ewan D. Milne) [2071831] - scsi: core: Fix scsi_mode_select() buffer length handling (Ewan D. Milne) [2071831] - scsi: core: Fix scsi_mode_sense() buffer length handling (Ewan D. Milne) [2071831] - scsi: core: Remove include from scsi_cmnd.h (Ewan D. Milne) [2071831] - scsi: sd_zbc: Support disks with more than 2**32 logical blocks (Ewan D. Milne) [2071831] - scsi: sd: Make sd_spinup_disk() less noisy (Ewan D. Milne) [2071831] - scsi: sr: Fix spelling mistake "does'nt" -> "doesn't" (Ewan D. Milne) [2071831] - scsi: sd_zbc: Ensure buffer size is aligned to SECTOR_SIZE (Ewan D. Milne) [2071831] - scsi: sd: Do not exit sd_spinup_disk() quietly (Ewan D. Milne) [2071831] - scsi: core: Add helper to return number of logical blocks in a request (Ewan D. Milne) [2071831] - scsi: scsi_debug: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: scsi_transport_spi: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: scsi_transport_fc: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: sr: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: sd: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: core: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: core: Introduce the scsi_cmd_to_rq() function (Ewan D. Milne) [2071831] - scsi: core: Add BLIST_IGN_MEDIA_CHANGE for Ultra HS-SD/MMC USB card readers (Ewan D. Milne) [2071831] - scsi: sd: REQUEST SENSE for BLIST_IGN_MEDIA_CHANGE devices in runtime_resume() (Ewan D. Milne) [2071831] - scsi: core: Add new flag BLIST_IGN_MEDIA_CHANGE (Ewan D. Milne) [2071831] - scsi: scsi_debug: Improve RDPROTECT/WRPROTECT handling (Ewan D. Milne) [2071831] - scsi: scsi_debug: Remove dump_sector() (Ewan D. Milne) [2071831] - scsi: core: Add scsi_prot_ref_tag() helper (Ewan D. Milne) [2071831] - scsi: core: Add scsi_msg_to_host_byte() (Ewan D. Milne) [2071831] - scsi: core: Add get_{status,host}_byte() accessor functions (Ewan D. Milne) [2071831] - scsi: core: Cap scsi_host cmd_per_lun at can_queue (Ewan D. Milne) [2071831] - scsi: Fix spelling mistakes in header files (Ewan D. Milne) [2071831] - scsi: core: Treat device offline as a failure (Ewan D. Milne) [2071831] - sched/topology: Skip updating masks for non-online nodes (Diego Domingos) [1946251] - powerpc/numa: Update cpu_cpu_map on CPU online/offline (Diego Domingos) [1946251] - powerpc/numa: Print debug statements only when required (Diego Domingos) [1946251] - powerpc/numa: convert printk to pr_xxx (Diego Domingos) [1946251] - powerpc/numa: Drop dbg in favour of pr_debug (Diego Domingos) [1946251] - livepatch: Fix missing unlock on error in klp_enable_patch() (Julia Denham) [2069340] - livepatch: Fix kobject refcount bug on klp_init_patch_early failure path (Julia Denham) [2069340] - Documentation: livepatch: Add livepatch API page (Julia Denham) [2069340] - scsi: megaraid_sas: Remove unnecessary memset (Tomas Henzl) [2049686] - scsi: megaraid_sas: Target with invalid LUN ID is deleted during scan (Tomas Henzl) [2049686] - scsi: megasas: Clean up some inconsistent indenting (Tomas Henzl) [2049686] - scsi: megasas: Stop using the SCSI pointer (Tomas Henzl) [2049686] - aarch64: enable memory hotplug (Baoquan He) [1818517] - mm/memory_hotplug: introduce default dummy memory_add_physaddr_to_nid() (Baoquan He) [1818517] - arm64/mm: Add one hunk back missed in earlier back porting (Baoquan He) [1818517] - arm64/mm: Hold memory hotplug lock while walking for kernel page table dump (Baoquan He) [1818517] - ARM64: dump: Convert to use DEFINE_SHOW_ATTRIBUTE macro (Baoquan He) [1818517] - net/mlx5: DR, Ignore modify TTL on RX if device doesn't support it (Amir Tzin) [2072934] - net: bridge: switchdev: check br_vlan_group() return value (Ivan Vecera) [2080332] - net: bridge: mst: Restrict info size queries to bridge ports (Ivan Vecera) [2080332] - net: bridge: mst: prevent NULL deref in br_mst_info_size() (Ivan Vecera) [2080332] - selftests: forwarding: Use same VRF for port and VLAN upper (Ivan Vecera) [2080332] - selftests: forwarding: Disable learning before link up (Ivan Vecera) [2080332] - net: bridge: mst: Add helper to query a port's MST state (Ivan Vecera) [2080332] - net: bridge: mst: Add helper to check if MST is enabled (Ivan Vecera) [2080332] - net: bridge: mst: Add helper to map an MSTI to a VID set (Ivan Vecera) [2080332] - net: bridge: mst: Notify switchdev drivers of MST state changes (Ivan Vecera) [2080332] - net: bridge: mst: Notify switchdev drivers of VLAN MSTI migrations (Ivan Vecera) [2080332] - net: bridge: mst: Notify switchdev drivers of MST mode changes (Ivan Vecera) [2080332] - net: bridge: mst: Support setting and reporting MST port states (Ivan Vecera) [2080332] - net: bridge: mst: Allow changing a VLAN's MSTI (Ivan Vecera) [2080332] - net: bridge: mst: Multiple Spanning Tree (MST) mode (Ivan Vecera) [2080332] - net: switchdev: remove lag_mod_cb from switchdev_handle_fdb_event_to_device (Ivan Vecera) [2080332] - selftests: forwarding: tests of locked port feature (Ivan Vecera) [2080332] - net: bridge: Add support for offloading of locked port flag (Ivan Vecera) [2080332] - net: bridge: Add support for bridge port in locked mode (Ivan Vecera) [2080332] - net: switchdev: avoid infinite recursion from LAG to bridge with port object handler (Ivan Vecera) [2080332] - bridge: switch br_net_exit to batch mode (Ivan Vecera) [2080332] - net: bridge: multicast: notify switchdev driver whenever MC processing gets disabled (Ivan Vecera) [2080332] - net: switchdev: introduce switchdev_handle_port_obj_{add,del} for foreign interfaces (Ivan Vecera) [2080332] - net: switchdev: rename switchdev_lower_dev_find to switchdev_lower_dev_find_rcu (Ivan Vecera) [2080332] - net: bridge: switchdev: replay all VLAN groups (Ivan Vecera) [2080332] - net: bridge: make nbp_switchdev_unsync_objs() follow reverse order of sync() (Ivan Vecera) [2080332] - net: bridge: switchdev: differentiate new VLANs from changed ones (Ivan Vecera) [2080332] - net: bridge: vlan: notify switchdev only when something changed (Ivan Vecera) [2080332] - net: bridge: vlan: make __vlan_add_flags react only to PVID and UNTAGGED (Ivan Vecera) [2080332] - net: bridge: vlan: don't notify to switchdev master VLANs without BRENTRY flag (Ivan Vecera) [2080332] - net: bridge: vlan: check early for lack of BRENTRY flag in br_vlan_add_existing (Ivan Vecera) [2080332] - net: bridge: vlan: check for errors from __vlan_del in __vlan_flush (Ivan Vecera) [2080332] - net/switchdev: use struct_size over open coded arithmetic (Ivan Vecera) [2080332] - net: bridge: vlan: fix single net device option dumping (Ivan Vecera) [2080332] - net: bridge: mcast: fix br_multicast_ctx_vlan_global_disabled helper (Ivan Vecera) [2080332] - net: bridge: mcast: add and enforce startup query interval minimum (Ivan Vecera) [2080332] - net: bridge: mcast: add and enforce query interval minimum (Ivan Vecera) [2080332] - netfilter: bridge: add support for pppoe filtering (Ivan Vecera) [2080332] - bridge: use __set_bit in __br_vlan_set_default_pvid (Ivan Vecera) [2080332] - net: bridge: Allow base 16 inputs in sysfs (Ivan Vecera) [2080332] - net/bridge: replace simple_strtoul to kstrtol (Ivan Vecera) [2080332] - net: bridge: Slightly optimize 'find_portno()' (Ivan Vecera) [2080332] - net: bridge: switchdev: fix shim definition for br_switchdev_mdb_notify (Ivan Vecera) [2080332] - net: bridge: switchdev: consistent function naming (Ivan Vecera) [2080332] - net: bridge: mdb: move all switchdev logic to br_switchdev.c (Ivan Vecera) [2080332] - net: bridge: split out the switchdev portion of br_mdb_notify (Ivan Vecera) [2080332] - net: bridge: move br_vlan_replay to br_switchdev.c (Ivan Vecera) [2080332] - net: bridge: provide shim definition for br_vlan_flags (Ivan Vecera) [2080332] - net: switchdev: merge switchdev_handle_fdb_{add,del}_to_device (Ivan Vecera) [2080332] - net: bridge: create a common function for populating switchdev FDB entries (Ivan Vecera) [2080332] - net: bridge: move br_fdb_replay inside br_switchdev.c (Ivan Vecera) [2080332] - net: bridge: reduce indentation level in fdb_create (Ivan Vecera) [2080332] - net: bridge: rename br_fdb_insert to br_fdb_add_local (Ivan Vecera) [2080332] - net: bridge: rename fdb_insert to fdb_add_local (Ivan Vecera) [2080332] - net: bridge: remove fdb_insert forward declaration (Ivan Vecera) [2080332] - net: bridge: remove fdb_notify forward declaration (Ivan Vecera) [2080332] - net: make use of helper netif_is_bridge_master() (Ivan Vecera) [2080332] - net: use eth_hw_addr_set() (Ivan Vecera) [2080332] - net: bridge: Use array_size() helper in copy_to_user() (Ivan Vecera) [2080332] - net/mlx5: DR, Fix missing flow_source when creating multi-destination FW table (Amir Tzin) [2072920] - net/mlx5: DR, Fix slab-out-of-bounds in mlx5_cmd_dr_create_fte (Amir Tzin) [2072920] - ixgbevf: Require large buffers for build_skb on 82599VF (Ken Cox) [2037956] - ixgbevf: Remove useless DMA-32 fallback configuration (Ken Cox) [2037956] - ixgbevf: switch to napi_build_skb() (Ken Cox) [2037956] - ixgbevf: Add support for new mailbox communication between PF and VF (Ken Cox) [2037956] - ixgbevf: Mailbox improvements (Ken Cox) [2037956] - ixgbevf: Add legacy suffix to old API mailbox functions (Ken Cox) [2037956] - ixgbevf: Improve error handling in mailbox (Ken Cox) [2037956] - ixgbevf: Rename MSGTYPE to SUCCESS and FAILURE (Ken Cox) [2037956] - net: ixgbevf: Remove redundant initialization of variable ret_val (Ken Cox) [2037956] - selftests: mptcp: fix diag instability (Hangbin Liu) [2077358] - selftests: mptcp: fix ipv6 routing setup (Hangbin Liu) [2077358] - selftests: mptcp: clean tmp files in simult_flows (Hangbin Liu) [2077358] - selftests: netfilter: fix exit value for nft_concat_range (Hangbin Liu) [2077358] - selftests: netfilter: remove stray bash debug line (Hangbin Liu) [2077358] - selftests: Fix IPv6 address bind tests (Hangbin Liu) [2077358] - selftests: Fix raw socket bind tests with VRF (Hangbin Liu) [2077358] - selftests: net: Correct case name (Hangbin Liu) [2077358] - selftests: pmtu.sh: Kill nettest processes launched in subshell. (Hangbin Liu) [2077358] - selftests: pmtu.sh: Kill tcpdump processes launched by subshell. (Hangbin Liu) [2077358] - selftests: net: Fix a typo in udpgro_fwd.sh (Hangbin Liu) [2077358] - selftests/net: udpgso_bench_tx: fix dst ip argument (Hangbin Liu) [2077358] - selftests/net: udpgso_bench_rx: fix port argument (Hangbin Liu) [2077358] - selftests: net: tls: remove unused variable and code (Hangbin Liu) [2077358] - selftest: net: fix typo in altname test (Hangbin Liu) [2077358]- net/mlx5: DR, Fix the threshold that defines when pool sync is initiated (Amir Tzin) [2062715] - net/mlx5: DR, Cache STE shadow memory (Amir Tzin) [2062715] - perf/x86/intel/lbr: Add static_branch for LBR INFO flags (Michael Petlan) [2039998] - perf/x86/intel/lbr: Support LBR format V7 (Michael Petlan) [2039998] - net/mlx5e: TC, fix decap fallback to uplink when int port not supported (Amir Tzin) [2077048] - net/mlx5e: Fix wrong source vport matching on tunnel rule (Amir Tzin) [2064589] - hv_balloon: rate-limit "Unhandled message" warning (Vitaly Kuznetsov) [2087270] - tcp: drop the hash_32() part from the index calculation (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: increase source port perturb table to 2^16 (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: dynamically allocate the perturb table used by source ports (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: add small random increments to the source port (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: resalt the secret every 10 seconds (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: use different parts of the port_offset for index and offset (Guillaume Nault) [2064876] {CVE-2022-1012} - secure_seq: use the 64 bits of the siphash for port offset calculation (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: add some entropy in __inet_hash_connect() (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: change source port randomizarion at connect() time (Guillaume Nault) [2064876] {CVE-2022-1012} - net/mlx5e: TC, Skip redundant ct clear actions (Amir Tzin) [2055590] - spi: pxa2xx: Add support for Intel Raptor Lake PCH-S (Prarit Bhargava) [2040031] - mfd: intel-lpss: Add Intel Raptor Lake PCH-S PCI IDs (Prarit Bhargava) [2040031] - pinctrl: alderlake: Add Raptor Lake-S ACPI ID (Prarit Bhargava) [2040033] - i2c: i801: Add support for Intel Raptor Lake PCH-S (Prarit Bhargava) [2040027 2040029] - redhat/configs: Add CONFIG_INTEL_IDXD_PERFMON (Jerry Snitselaar) [1921296] - x86/fpu/xstate: Consolidate size calculations (Jerry Snitselaar) [2071461] - x86/fpu/xstate: Handle supervisor states in XSTATE permissions (Jerry Snitselaar) [2071461] - x86/fpu/xsave: Handle compacted offsets correctly with supervisor states (Jerry Snitselaar) [2071461] - x86/fpu: Cache xfeature flags from CPUID (Jerry Snitselaar) [2071461] - x86/fpu/xsave: Initialize offset/size cache early (Jerry Snitselaar) [2071461] - x86/fpu: Remove unused supervisor only offsets (Jerry Snitselaar) [2071461] - dmaengine: idxd: Change license on idxd.h to LGPL (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix delta_rec and crc size field for completion record (Jerry Snitselaar) [1971892] - dmaengine: idxd: Remove useless DMA-32 fallback configuration (Jerry Snitselaar) [2072156] - dmaengine: idxd: restore traffic class defaults after wq reset (Jerry Snitselaar) [2046469] - dmaengine: idxd: deprecate token sysfs attributes for read buffers (Jerry Snitselaar) [2040042] - dmaengine: idxd: change bandwidth token to read buffers (Jerry Snitselaar) [2040042] - dmaengine: idxd: fix wq settings post wq disable (Jerry Snitselaar) [2040045] - dmaengine: idxd: change MSIX allocation based on per wq activation (Jerry Snitselaar) [2040495] - edmaengine: idxd: fix descriptor flushing locking (Jerry Snitselaar) [2040495] - dmaengine: idxd: embed irq_entry in idxd_wq struct (Jerry Snitselaar) [2040495] - dmaengine: idxd: fix calling wq quiesce inside spinlock (Jerry Snitselaar) [2040040] - dmaengine: idxd: add knob for enqcmds retries (Jerry Snitselaar) [2040047] - dmaengine: idxd: set defaults for wq configs (Jerry Snitselaar) [2040047] - dmaengine: idxd: handle interrupt handle revoked event (Jerry Snitselaar) [2040051] - dmaengine: idxd: handle invalid interrupt handle descriptors (Jerry Snitselaar) [2040051] - dmaengine: idxd: create locked version of idxd_quiesce() call (Jerry Snitselaar) [2040051] - dmaengine: idxd: add helper for per interrupt handle drain (Jerry Snitselaar) [2040051] - dmaengine: idxd: move interrupt handle assignment (Jerry Snitselaar) [2040051] - dmaengine: idxd: int handle management refactoring (Jerry Snitselaar) [2040051] - dmaengine: idxd: rework descriptor free path on failure (Jerry Snitselaar) [2040051] - dmaengine: idxd: fix missed completion on abort path (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix resource leak on dmaengine driver disable (Jerry Snitselaar) [2040040] - dmaengine: idxd: cleanup completion record allocation (Jerry Snitselaar) [2040040] - dmaengine: idxd: reconfig device after device reset command (Jerry Snitselaar) [2072156] - dmaengine: idxd: add halt interrupt support (Jerry Snitselaar) [2040047] - dmaengine: idxd: Use list_move_tail instead of list_del/list_add_tail (Jerry Snitselaar) [2072156] - dmanegine: idxd: fix resource free ordering on driver removal (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove kernel wq type set when load configuration (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove gen cap field per spec 1.2 update (Jerry Snitselaar) [2040040] - dmaengine: idxd: check GENCAP config support for gencfg register (Jerry Snitselaar) [2040040] - dmaengine: idxd: move out percpu_ref_exit() to ensure it's outside submission (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove interrupt disable for dev_lock (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove interrupt disable for cmd_lock (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix setting up priv mode for dwq (Jerry Snitselaar) [2040040] - dmaengine: idxd: set descriptor allocation size to threshold for swq (Jerry Snitselaar) [2040040] - dmaengine: idxd: make submit failure path consistent on desc freeing (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove interrupt flag for completion list spinlock (Jerry Snitselaar) [2040040] - dmaengine: idxd: make I/O interrupt handler one shot (Jerry Snitselaar) [2040040] - dmaengine: idxd: clear block on fault flag when clear wq (Jerry Snitselaar) [2040040] - dmaengine: idxd: add capability check for 'block on fault' attribute (Jerry Snitselaar) [2040040] - dmaengine: idxd: Remove unused status variable in irq_process_work_list() (Jerry Snitselaar) [2072156] - dmaengine: idxd: Fix a possible NULL pointer dereference (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix abort status check (Jerry Snitselaar) [2040040] - dmanegine: idxd: add software command status (Jerry Snitselaar) [2040047] - dmaengine: idxd: rotate portal address for better performance (Jerry Snitselaar) [2040047] - dmaengine: idxd: fix wq slot allocation index check (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix uninit var for alt_drv (Jerry Snitselaar) [2072156] - dmaengine: idxd: Set defaults for GRPCFG traffic class (Jerry Snitselaar) [2040047] - dmaengine: idxd: remove fault processing code (Jerry Snitselaar) [2040040] - dmaengine: idxd: move dsa_drv support to compatible mode (Jerry Snitselaar) [1971961] - dmaengine: dsa: move dsa_bus_type out of idxd driver to standalone (Jerry Snitselaar) [1971961] - dmaengine: idxd: create user driver for wq 'device' (Jerry Snitselaar) [1971961] - dmaengine: idxd: create dmaengine driver for wq 'device' (Jerry Snitselaar) [1971961] - dmaengine: idxd: create idxd_device sub-driver (Jerry Snitselaar) [1971961] - dmaengine: idxd: add type to driver in order to allow device matching (Jerry Snitselaar) [1971961] - dmanegine: idxd: open code the dsa_drv registration (Jerry Snitselaar) [1971961] - dmaengine: idxd: idxd: move remove() bits for idxd 'struct device' to device.c (Jerry Snitselaar) [1971961] - dmaengine: idxd: move probe() bits for idxd 'struct device' to device.c (Jerry Snitselaar) [1971961] - dmaengine: idxd: fix bus_probe() and bus_remove() for dsa_bus (Jerry Snitselaar) [1971961] - dmaengine: idxd: remove iax_bus_type prototype (Jerry Snitselaar) [1971961] - dmaengine: idxd: remove bus shutdown (Jerry Snitselaar) [1971961] - dmaengine: idxd: move wq_disable() to device.c (Jerry Snitselaar) [1971961] - dmaengine: idxd: move wq_enable() to device.c (Jerry Snitselaar) [1971961] - dmaengine: idxd: remove IDXD_DEV_CONF_READY (Jerry Snitselaar) [1971961] - dmaengine: idxd: add 'struct idxd_dev' as wrapper for conf_dev (Jerry Snitselaar) [1971961] - dmaengine: idxd: add driver name (Jerry Snitselaar) [1971961] - dmaengine: idxd: add driver register helper (Jerry Snitselaar) [1971961] - dmaengine: idxd: depends on !UML (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix PCI_MSI build errors (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix submission race window (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix sequence for pci driver remove() and shutdown() (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix setup sequence for MSIXPERM table (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix array index when int_handles are being used (Jerry Snitselaar) [2040040] - dmaengine: idxd: assign MSIX vectors to each WQ rather than roundrobin (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix desc->vector that isn't being updated (Jerry Snitselaar) [2040040] - dmaengine: idxd: add missing percpu ref put on failure (Jerry Snitselaar) [2072156] - dmaengine: idxd: have command status always set (Jerry Snitselaar) [1973882] - dmanegine: idxd: cleanup all device related bits after disabling device (Jerry Snitselaar) [2072156] - dmaengine: idxd: Simplify code and axe the use of a deprecated API (Jerry Snitselaar) [2072156] - dmaengine: idxd: remove devm allocation for idxd->int_handles (Jerry Snitselaar) [2072156] - dmaengine: idxd: Remove redundant variable cdev_ctx (Jerry Snitselaar) [2072156] - dmaengine: idxd: Add missing cleanup for early error out in probe call (Jerry Snitselaar) [1971892] - dmaengine: idxd: Enable IDXD performance monitor support (Jerry Snitselaar) [1921296] - dmaengine: idxd: Add IDXD performance monitor support (Jerry Snitselaar) [1921296] - dmaengine: idxd: device cmd should use dedicated lock (Jerry Snitselaar) [1971892] - dmaengine: idxd: support reporting of halt interrupt (Jerry Snitselaar) [1971890] - dmaengine: idxd: convert sprintf() to sysfs_emit() for all usages (Jerry Snitselaar) [1971890] - dmaengine: idxd: add interrupt handle request and release support (Jerry Snitselaar) [1971890] - dmaengine: idxd: add support for readonly config mode (Jerry Snitselaar) [1971890] - dmaengine: idxd: add percpu_ref to descriptor submission path (Jerry Snitselaar) [1971949] - dmaengine: idxd: remove detection of device type (Jerry Snitselaar) [1971963] - Documentation/x86: Update documentation for SVA (Shared Virtual Addressing) (Jerry Snitselaar) [2071461] - tools/objtool: Check for use of the ENQCMD instruction in the kernel (Jerry Snitselaar) [2071461] - x86/cpufeatures: Re-enable ENQCMD (Jerry Snitselaar) [2071461] - x86/traps: Demand-populate PASID MSR via #GP (Jerry Snitselaar) [2071461] - sched: Define and initialize a flag to identify valid PASID in the task (Jerry Snitselaar) [2071461] - x86/fpu: Clear PASID when copying fpstate (Jerry Snitselaar) [2071461] - iommu/sva: Assign a PASID to mm on PASID allocation and free it on mm exit (Jerry Snitselaar) [2071461] - iommu/ioasid: Introduce a helper to check for valid PASIDs (Jerry Snitselaar) [2071461] - kernel/fork: Initialize mm's PASID (Jerry Snitselaar) [2071461] - mm: Change CONFIG option for mm->pasid field (Jerry Snitselaar) [2071461] - mm/fork: clear PASID for new mm (Jerry Snitselaar) [2071461] - iommu/sva: Rename CONFIG_IOMMU_SVA_LIB to CONFIG_IOMMU_SVA (Jerry Snitselaar) [2071461] - turbostat: fix PC6 displaying on some systems (Steve Best) [2040078]- quota: make dquot_quota_sync return errors from ->sync_fs (Lukas Czerner) [2083057] - redhat: disable more noisy rpminspect tests (Jarod Wilson) - mm: thp: replace the page lock with the seqlock for the THP mapcount (Andrea Arcangeli) [1958020] - mm: do_wp_page: deduplicate smart_lock_page (Andrea Arcangeli) [1958020] - mm: hugetlbfs: gup_must_unshare() cleanup (Andrea Arcangeli) [1958020] - mm: GUP: cleanup FOLL_UNSHARE (Andrea Arcangeli) [1958020] - mm: COW: skip the page lock in the COW copy path (Andrea Arcangeli) [1958020] - mm: gup: gup_must_unshare() use can_read_pin_swap_page() (Andrea Arcangeli) [1958020] - mm: hugetlbfs: gup: gup_must_unshare(): enable hugetlbfs (Andrea Arcangeli) [1958020] - mm: hugetlbfs: FOLL_FAULT_UNSHARE (Andrea Arcangeli) [1958020] - mm: hugetlbfs: COR: copy-on-read fault (Andrea Arcangeli) [1958020] - mm: gup: FOLL_UNSHARE RHEL (Andrea Arcangeli) [1958020] - mm: gup: FOLL_NOUNSHARE: optimize follow_page (Andrea Arcangeli) [1958020] - mm: gup: FOLL_UNSHARE (Andrea Arcangeli) [1958020] - mm: gup: gup_must_unshare() (Andrea Arcangeli) [1958020] - mm: gup: COR: copy-on-read fault (Andrea Arcangeli) [1958020] - mm: thp: introduce page_trans_huge_anon_shared (Andrea Arcangeli) [1958020] - mm: thp: stabilize the THP mapcount in page_remove_anon_compound_rmap (Andrea Arcangeli) [1958020] - mm: thp: make the THP mapcount atomic with a seqlock (Andrea Arcangeli) [1958020] - mm: thp: consolidate mapcount logic on THP split (David Hildenbrand) [1958020] - vmxnet3: Remove useless DMA-32 fallback configuration (Kamal Heib) [2083561] - vmxnet3: fix minimum vectors alloc issue (Kamal Heib) [2083561] - net: vmxnet3: remove multiple false checks in vmxnet3_ethtool.c (Kamal Heib) [2083561] - vmxnet3: do not stop tx queues after netif_device_detach() (Kamal Heib) [2083561] - block: limit request dispatch loop duration (Ming Lei) [2005082] - esp: limit skb_page_frag_refill use to a single page (Sabrina Dubroca) [2062115] {CVE-2022-27666} - esp: Fix possible buffer overflow in ESP transformation (Sabrina Dubroca) [2062115] {CVE-2022-27666} - can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path (Chris von Recklinghausen) [2080376] {CVE-2022-28390} - NFSD: Deprecate NFS_OFFSET_MAX (Scott Mayhew) [2064216] - NFSD: Fix offset type in I/O trace points (Scott Mayhew) [2064216] - NFSD: COMMIT operations must not return NFS?ERR_INVAL (Scott Mayhew) [2064216] - NFSD: Clamp WRITE offsets (Scott Mayhew) [2064216] - NFSD: Fix NFSv3 SETATTR/CREATE's handling of large file sizes (Scott Mayhew) [2064216] - NFSD: Fix ia_size underflow (Scott Mayhew) [2064216] - NFSD: Fix the behavior of READ near OFFSET_MAX (Scott Mayhew) [2064216] - NFSD: Fix READDIR buffer overflow (Scott Mayhew) [2064216] - nfsd: Fix nsfd startup race (again) (Scott Mayhew) [2064216] - NFS: Add a tracepoint to show the results of nfs_set_cache_invalid() (Scott Mayhew) [2064216] - NFSv42: Don't fail clone() unless the OP_CLONE operation failed (Scott Mayhew) [2064216] - NFSD: Fix exposure in nfsd4_decode_bitmap() (Scott Mayhew) [2064216] - NFSv4: Sanity check the parameters in nfs41_update_target_slotid() (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from decode_getattr_*() functions (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from nfs_setsecurity (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from nfs_fhget() (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from nfs_add_or_obtain() (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from nfs_instantiate() (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs_setattrres (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs4_getattr_res (Scott Mayhew) [2064216] - NFS: Remove the f_label from the nfs4_opendata and nfs_openres (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs4_lookupp_res struct (Scott Mayhew) [2064216] - NFS: Remove the label from the nfs4_lookup_res struct (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs4_link_res struct (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs4_create_res struct (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs_entry struct (Scott Mayhew) [2064216] - NFS: Create a new nfs_alloc_fattr_with_label() function (Scott Mayhew) [2064216] - NFS: Always initialise fattr->label in nfs_fattr_alloc() (Scott Mayhew) [2064216] - NFSv4: Remove unnecessary 'minor version' check (Scott Mayhew) [2064216] - NFSv4: Fix potential Oops in decode_op_map() (Scott Mayhew) [2064216] - NFSv4: Ensure decode_compound_hdr() sanity checks the tag (Scott Mayhew) [2064216] - NFS: Don't trace an uninitialised value (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to OFFLOAD_CANCEL (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to CB_OFFLOAD (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to CLONE (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to COPY (Scott Mayhew) [2064216] - NFSv4.2 add tracepoints to FALLOCATE and DEALLOCATE (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to SEEK (Scott Mayhew) [2064216] - nfs4: take a reference on the nfs_client when running FREE_STATEID (Scott Mayhew) [2064216] - NFS: Move NFS protocol display macros to global header (Scott Mayhew) [2064216] - NFS: Move generic FS show macros to global header (Scott Mayhew) [2064216] - SUNRPC: Clean up xs_tcp_setup_sock() (Scott Mayhew) [2064216] - NFSv4: Fix a regression in nfs_set_open_stateid_locked() (Scott Mayhew) [2064216] - NFS: Remove redundant call to __set_page_dirty_nobuffers (Scott Mayhew) [2064216] - NFS: Unexport nfs_probe_fsinfo() (Scott Mayhew) [2064216] - NFS: Call nfs_probe_server() during a fscontext-reconfigure event (Scott Mayhew) [2064216] - NFS: Replace calls to nfs_probe_fsinfo() with nfs_probe_server() (Scott Mayhew) [2064216] - NFS: Move nfs_probe_destination() into the generic client (Scott Mayhew) [2064216] - NFS: Create an nfs4_server_set_init_caps() function (Scott Mayhew) [2064216] - NFS: Remove --> and <-- dprintk call sites (Scott Mayhew) [2064216] - SUNRPC: Trace calls to .rpc_call_done (Scott Mayhew) [2064216] - NFS: Replace dprintk callsites in nfs_readpage(s) (Scott Mayhew) [2064216] - SUNRPC: Use BIT() macro in rpc_show_xprt_state() (Scott Mayhew) [2064216] - SUNRPC: Tracepoints should display tk_pid and cl_clid as a fixed-size field (Scott Mayhew) [2064216] - xprtrdma: Remove rpcrdma_ep::re_implicit_roundup (Scott Mayhew) [2064216] - xprtrdma: Provide a buffer to pad Write chunks of unaligned length (Scott Mayhew) [2064216] - Fix user namespace leak (Scott Mayhew) [2064216] - NFS: Save some space in the inode (Scott Mayhew) [2064216] - NFS: Fix WARN_ON due to unionization of nfs_inode.nrequests (Scott Mayhew) [2064216] - NFSv4: Fixes for nfs4_inode_return_delegation() (Scott Mayhew) [2064216] - NFS: Fix an Oops in pnfs_mark_request_commit() (Scott Mayhew) [2064216] - NFS: Fix up commit deadlocks (Scott Mayhew) [2064216] - NFSD:fix boolreturn.cocci warning (Scott Mayhew) [2064216] - nfsd: update create verifier comment (Scott Mayhew) [2064216] - SUNRPC: Change return value type of .pc_encode (Scott Mayhew) [2064216] - SUNRPC: Replace the "__be32 *p" parameter to .pc_encode (Scott Mayhew) [2064216] - NFSD: Save location of NFSv4 COMPOUND status (Scott Mayhew) [2064216] - SUNRPC: Change return value type of .pc_decode (Scott Mayhew) [2064216] - SUNRPC: Replace the "__be32 *p" parameter to .pc_decode (Scott Mayhew) [2064216] - SUNRPC: De-duplicate .pc_release() call sites (Scott Mayhew) [2064216] - SUNRPC: Simplify the SVC dispatch code path (Scott Mayhew) [2064216] - NFS: Fix deadlocks in nfs_scan_commit_list() (Scott Mayhew) [2064216] - NFS: Instrument i_size_write() (Scott Mayhew) [2064216] - SUNRPC: Per-rpc_clnt task PIDs (Scott Mayhew) [2064216] - NFS: Remove unnecessary TRACE_DEFINE_ENUM()s (Scott Mayhew) [2064216] - SUNRPC: Capture value of xdr_buf::page_base (Scott Mayhew) [2064216] - svcrdma: Split svcrmda_wc_{read,write} tracepoints (Scott Mayhew) [2064216] - svcrdma: Split the svcrdma_wc_send() tracepoint (Scott Mayhew) [2064216] - svcrdma: Split the svcrdma_wc_receive() tracepoint (Scott Mayhew) [2064216] - pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds (Scott Mayhew) [2064216] - NFS: Remove unnecessary page cache invalidations (Scott Mayhew) [2064216] - NFS: Fix dentry verifier races (Scott Mayhew) [2064216] - NFS: Further optimisations for 'ls -l' (Scott Mayhew) [2064216] - NFS: Fix up nfs_readdir_inode_mapping_valid() (Scott Mayhew) [2064216] - NFS: Ignore the directory size when marking for revalidation (Scott Mayhew) [2064216] - NFS: Don't set NFS_INO_DATA_INVAL_DEFER and NFS_INO_INVALID_DATA (Scott Mayhew) [2064216] - NFS: Default change_attr_type to NFS4_CHANGE_TYPE_IS_UNDEFINED (Scott Mayhew) [2064216] - NFSv4: Retrieve ACCESS on open if we're not using NFS4_CREATE_EXCLUSIVE (Scott Mayhew) [2064216] - NFS: Fix a few more clear_bit() instances that need release semantics (Scott Mayhew) [2064216] - SUNRPC: xprt_clear_locked() only needs release memory semantics (Scott Mayhew) [2064216] - SUNRPC: Remove unnecessary memory barriers (Scott Mayhew) [2064216] - SUNRPC: Remove WQ_HIGHPRI from xprtiod (Scott Mayhew) [2064216] - SUNRPC: Add cond_resched() at the appropriate point in __rpc_execute() (Scott Mayhew) [2064216] - SUNRPC: Partial revert of commit 6f9f17287e78 (Scott Mayhew) [2064216] - NFS: Fix up nfs_ctx_key_to_expire() (Scott Mayhew) [2064216] - NFS: Label the dentry with a verifier in nfs_rmdir() and nfs_unlink() (Scott Mayhew) [2064216] - NFS: Label the dentry with a verifier in nfs_link(), nfs_symlink() (Scott Mayhew) [2064216] - NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment() (Scott Mayhew) [2064216] - SUNRPC: xdr_stream_subsegment() must handle non-zero page_bases (Scott Mayhew) [2064216] - NFSD: simplify struct nfsfh (Scott Mayhew) [2064216] - NFSD: drop support for ancient filehandles (Scott Mayhew) [2064216] - NFSD: move filehandle format declarations out of "uapi". (Scott Mayhew) [2064216] - UNRPC: Return specific error code on kmalloc failure (Scott Mayhew) [2064216] - NFSD: Optimize DRC bucket pruning (Scott Mayhew) [2064216] - nfsd: don't alloc under spinlock in rpc_parse_scope_id (Scott Mayhew) [2064216] - NFSD: Keep existing listeners on portlist error (Scott Mayhew) [2064216] - nfs: Fix kerneldoc warning shown up by W=1 (Scott Mayhew) [2064216] - nfsd: back channel stuck in SEQ4_STATUS_CB_PATH_DOWN (Scott Mayhew) [2064216] - NLM: Fix svcxdr_encode_owner() (Scott Mayhew) [2064216] - SUNRPC: improve error response to over-size gss credential (Scott Mayhew) [2064216] - NFS: Always provide aligned buffers to the RPC read layers (Scott Mayhew) [2064216] - NFSv3: Delete duplicate judgement in nfs3_async_handle_jukebox (Scott Mayhew) [2064216] - SUNRPC: Tweak TCP socket shutdown in the RPC client (Scott Mayhew) [2064216] - svcrdma: xpt_bc_xprt is already clear in __svc_rdma_free() (Scott Mayhew) [2064216] - rpc: fix gss_svc_init cleanup on failure (Scott Mayhew) [2064216] - SUNRPC: Add RPC_AUTH_TLS protocol numbers (Scott Mayhew) [2064216] - NFSD: remove vanity comments (Scott Mayhew) [2064216] - svcrdma: Convert rdma->sc_rw_ctxts to llist (Scott Mayhew) [2064216] - svcrdma: Relieve contention on sc_send_lock. (Scott Mayhew) [2064216] - svcrdma: Fewer calls to wake_up() in Send completion handler (Scott Mayhew) [2064216] - NFSD: Use new __string_len C macros for nfsd_clid_class (Scott Mayhew) [2064216] - NFSD: Use new __string_len C macros for the nfs_dirent tracepoint (Scott Mayhew) [2064216] - tracing: Add trace_event helper macros __string_len() and __assign_str_len() (Scott Mayhew) [2064216] - NFSD: Clean up splice actor (Scott Mayhew) [2064216] - NFS: Clean up the synopsis of callback process_op() (Scott Mayhew) [2064216] - NFS: Extract the xdr_init_encode/decode() calls from decode_compound (Scott Mayhew) [2064216] - NFS: Remove unused callback void decoder (Scott Mayhew) [2064216] - NFS: Add a private local dispatcher for NFSv4 callback operations (Scott Mayhew) [2064216] - SUNRPC: Eliminate the RQ_AUTHERR flag (Scott Mayhew) [2064216] - SUNRPC: Set rq_auth_stat in the pg_authenticate() callout (Scott Mayhew) [2064216] - SUNRPC: Add svc_rqst::rq_auth_stat (Scott Mayhew) [2064216] - NFSv4/pNFS: Remove dead code (Scott Mayhew) [2064216] - SUNRPC: Convert rpc_client refcount to use refcount_t (Scott Mayhew) [2064216] - xprtrdma: Eliminate rpcrdma_post_sends() (Scott Mayhew) [2064216] - xprtrdma: Add an xprtrdma_post_send_err tracepoint (Scott Mayhew) [2064216] - xprtrdma: Add xprtrdma_post_recvs_err() tracepoint (Scott Mayhew) [2064216] - xprtrdma: Add an rpcrdma_mr_completion_class (Scott Mayhew) [2064216] - xprtrdma: Don't display r_xprt memory addresses in tracepoints (Scott Mayhew) [2064216] - xprtrdma: Disconnect after an ib_post_send() immediate error (Scott Mayhew) [2064216] - SUNRPC: Record timeout value in xprt_retransmit tracepoint (Scott Mayhew) [2064216] - SUNRPC: xprt_retransmit() displays the the NULL procedure incorrectly (Scott Mayhew) [2064216] - treewide: Add missing semicolons to __assign_str uses (Scott Mayhew) [2064216] - SUNRPC: Remove unneeded TRACE_DEFINE_ENUMs (Scott Mayhew) [2064216] - SUNRPC: Unset RPC_TASK_NO_RETRANS_TIMEOUT for NULL RPCs (Scott Mayhew) [2064216] - SUNRPC: Refactor rpc_ping() (Scott Mayhew) [2064216] - nfsd: fix NULL dereference in nfs3svc_encode_getaclres (Scott Mayhew) [2064216] - lockd: Update the NLMv4 SHARE results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 nlm_res results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 TEST results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 void results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 FREE_ALL arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 SHARE arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 SM_NOTIFY arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 nlm_res arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 UNLOCK arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 CANCEL arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 LOCK arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 TEST arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 void arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 SHARE results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 nlm_res results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 TEST results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 void results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 FREE_ALL arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 SHARE arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 SM_NOTIFY arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 nlm_res arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 UNLOCK arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 CANCEL arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 LOCK arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 TEST arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 void argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Common NLM XDR helpers (Scott Mayhew) [2064216] - lockd: Create a simplified .vs_dispatch method for NLM requests (Scott Mayhew) [2064216] - lockd: Remove stale comments (Scott Mayhew) [2064216] - nfsd: rpc_peeraddr2str needs rcu lock (Scott Mayhew) [2064216] - rpc: remove redundant initialization of variable status (Scott Mayhew) [2064216] - NFSv4: setlease should return EAGAIN if locks are not available (Scott Mayhew) [2064216] - NFS: Avoid duplicate resets of attribute cache timeouts (Scott Mayhew) [2064216] - NFSv4: Fix handling of non-atomic change attrbute updates (Scott Mayhew) [2064216] - NFS: Fix up inode attribute revalidation timeouts (Scott Mayhew) [2064216] - NFSv4: Add support for application leases underpinned by a delegation (Scott Mayhew) [2064216] - NFSv4: Add lease breakpoints in case of a delegation recall or return (Scott Mayhew) [2064216] - NFSv4: Fix delegation return in cases where we have to retry (Scott Mayhew) [2064216] - nfsd: move some commit_metadata()s outside the inode lock (Scott Mayhew) [2064216] - NFSD: Update nfsd_cb_args tracepoint (Scott Mayhew) [2064216] - NFSD: Remove the nfsd_cb_work and nfsd_cb_done tracepoints (Scott Mayhew) [2064216] - NFSD: Add an nfsd_cb_probe tracepoint (Scott Mayhew) [2064216] - NFSD: Replace the nfsd_deleg_break tracepoint (Scott Mayhew) [2064216] - NFSD: Add an nfsd_cb_offload tracepoint (Scott Mayhew) [2064216] - NFSD: Add an nfsd_cb_lm_notify tracepoint (Scott Mayhew) [2064216] - NFSD: Enhance the nfsd_cb_setup tracepoint (Scott Mayhew) [2064216] - NFSD: Remove spurious cb_setup_err tracepoint (Scott Mayhew) [2064216] - NFSD: Adjust cb_shutdown tracepoint (Scott Mayhew) [2064216] - NFSD: Add cb_lost tracepoint (Scott Mayhew) [2064216] - NFSD: Drop TRACE_DEFINE_ENUM for NFSD4_CB_ macros (Scott Mayhew) [2064216] - NFSD: Capture every CB state transition (Scott Mayhew) [2064216] - NFSD: Constify @fh argument of knfsd_fh_hash() (Scott Mayhew) [2064216] - NFSD: Add tracepoints for EXCHANGEID edge cases (Scott Mayhew) [2064216] - NFSD: Add tracepoints for SETCLIENTID edge cases (Scott Mayhew) [2064216] - NFSD: Add a couple more nfsd_clid_expired call sites (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_destroyed tracepoint (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_reclaim_complete tracepoint (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_confirmed tracepoint (Scott Mayhew) [2064216] - NFSD: Remove trace_nfsd_clid_inuse_err (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_verf_mismatch tracepoint (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_cred_mismatch tracepoint (Scott Mayhew) [2064216] - NFSD: Add an RPC authflavor tracepoint display helper (Scott Mayhew) [2064216] - NFS: Ensure the NFS_CAP_SECURITY_LABEL capability is set when appropriate (Scott Mayhew) [2064216] - NFS: Split attribute support out from the server capabilities (Scott Mayhew) [2064216] - NFS: Don't store NFS_INO_REVAL_FORCED (Scott Mayhew) [2064216] - NFSv4: link must update the inode nlink. (Scott Mayhew) [2064216] - NFSv4: nfs4_inc/dec_nlink_locked should also invalidate ctime (Scott Mayhew) [2064216] - NFS: Another inode revalidation improvement (Scott Mayhew) [2064216] - NFS: Use information about the change attribute to optimise updates (Scott Mayhew) [2064216] - NFSv4: Add support for the NFSv4.2 "change_attr_type" attribute (Scott Mayhew) [2064216] - NFS: Simplify cache consistency in nfs_check_inode_attributes() (Scott Mayhew) [2064216] - NFS: Remove a line of code that has no effect in nfs_update_inode() (Scott Mayhew) [2064216] - NFS: Fix up handling of outstanding layoutcommit in nfs_update_inode() (Scott Mayhew) [2064216] - NFS: Separate tracking of file mode cache validity from the uid/gid (Scott Mayhew) [2064216] - NFS: Separate tracking of file nlinks cache validity from the mode/uid/gid (Scott Mayhew) [2064216] - NFSv4: Fix nfs4_bitmap_copy_adjust() (Scott Mayhew) [2064216] - NFS: Don't set NFS_INO_REVAL_PAGECACHE in the inode cache validity (Scott Mayhew) [2064216] - NFS: Replace use of NFS_INO_REVAL_PAGECACHE when checking cache validity (Scott Mayhew) [2064216] - NFS: Add a cache validity flag argument to nfs_revalidate_inode() (Scott Mayhew) [2064216] - NFS: nfs_setattr_update_inode() should clear the suid/sgid bits (Scott Mayhew) [2064216] - NFS: Fix up statx() results (Scott Mayhew) [2064216] - NFS: Don't revalidate attributes that are not being asked for (Scott Mayhew) [2064216] - NFSD: Clean up after updating NFSv3 ACL encoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 SETACL result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 GETACL result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Clean up after updating NFSv2 ACL encoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 ACL ACCESS result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 ACL GETATTR result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SETACL result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 GETACL result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Add an xdr_stream-based encoder for NFSv2/3 ACLs (Scott Mayhew) [2064216] - NFSD: Remove unused NFSv2 directory entry encoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READDIR entry encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READDIR result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Count bytes instead of pages in the NFSv2 READDIR encoder (Scott Mayhew) [2064216] - NFSD: Add a helper that encodes NFSv3 directory offset cookies (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 STATFS result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READ result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READLINK result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 diropres encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 attrstat encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 stat encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Reduce svc_rqst::rq_pages churn during READDIR operations (Scott Mayhew) [2064216] - NFSD: Remove unused NFSv3 directory entry encoders (Scott Mayhew) [2064216] - NFSD: Update NFSv3 READDIR entry encoders to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 READDIR3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Count bytes instead of pages in the NFSv3 READDIR encoder (Scott Mayhew) [2064216] - NFSD: Add a helper that encodes NFSv3 directory offset cookies (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 COMMIT3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 PATHCONF3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 FSINFO3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 FSSTAT3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 LINK3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 RENAMEv3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 CREATE family of encoders to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 WRITE3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 READ3res encode to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 READLINK3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 wccstat result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 LOOKUP3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 ACCESS3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the GETATTR3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Extract the svcxdr_init_encode() helper (Scott Mayhew) [2064216] - NFSD: Clean up after updating NFSv3 ACL decoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 GETACL argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Clean up after updating NFSv2 ACL decoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 ACL ACCESS argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 ACL GETATTR argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Add an xdr_stream-based decoder for NFSv2/3 ACLs (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 GETACL argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Remove argument length checking in nfsd_dispatch() (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SYMLINK argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 CREATE argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SETATTR argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 LINK argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 RENAME argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update NFSv2 diropargs decoding to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READDIR argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Add helper to set up the pages where the dirlist is encoded (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READLINK argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 WRITE argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READ argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 GETATTR argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the MKNOD3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the SYMLINK3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the MKDIR3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the CREATE3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the SETATTR3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the LINK3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the RENAME3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 DIROPargs decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update COMMIT3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update READDIR3args decoders to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Add helper to set up the pages where the dirlist is encoded (Scott Mayhew) [2064216] - NFSD: Fix returned READDIR offset cookie (Scott Mayhew) [2064216] - NFSD: Update READLINK3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update WRITE3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update READ3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update ACCESS3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update GETATTR3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - SUNRPC: Move definition of XDR_UNIT (Scott Mayhew) [2064216] - rpcrdma: Capture bytes received in Receive completion tracepoints (Scott Mayhew) [2064216] - NFSD: Restore NFSv4 decoding's SAVEMEM functionality (Scott Mayhew) [2064216] - NFSD: Remove macros that are no longer used (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_compound() (Scott Mayhew) [2064216] - NFSD: Make nfsd4_ops::opnum a u32 (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_listxattrs() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_setxattr() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_xattr_name() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_clone() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_seek() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_offload_status() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_copy() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_fallocate() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_reclaim_complete() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_destroy_clientid() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_test_stateid() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_sequence() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_secinfo_no_name() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_layoutreturn() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_layoutget() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_layoutcommit() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_getdeviceinfo() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_free_stateid() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_destroy_session() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_create_session() (Scott Mayhew) [2064216] - NFSD: Add a helper to decode channel_attrs4 (Scott Mayhew) [2064216] - NFSD: Add a helper to decode nfs_impl_id4 (Scott Mayhew) [2064216] - NFSD: Add a helper to decode state_protect4_a (Scott Mayhew) [2064216] - NFSD: Add a separate decoder for ssv_sp_parms (Scott Mayhew) [2064216] - NFSD: Add a separate decoder to handle state_protect_ops (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_bind_conn_to_session() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_backchannel_ctl() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_cb_sec() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_release_lockowner() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_write() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_verify() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_setclientid_confirm() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_setclientid() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_setattr() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_secinfo() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_renew() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_rename() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_remove() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_readdir() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_read() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_putfh() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_open_downgrade() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_open_confirm() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_open() (Scott Mayhew) [2064216] - NFSD: Add helper to decode OPEN's open_claim4 argument (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_share_deny() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_share_access() (Scott Mayhew) [2064216] - NFSD: Add helper to decode OPEN's openflag4 argument (Scott Mayhew) [2064216] - NFSD: Add helper to decode OPEN's createhow4 argument (Scott Mayhew) [2064216] - NFSD: Add helper to decode NFSv4 verifiers (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_lookup() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_locku() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_lockt() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_lock() (Scott Mayhew) [2064216] - NFSD: Add helper for decoding locker4 (Scott Mayhew) [2064216] - NFSD: Add helpers to decode a clientid4 and an NFSv4 state owner (Scott Mayhew) [2064216] - NFSD: Relocate nfsd4_decode_opaque() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_link() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_getattr() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_delegreturn() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_create() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_fattr() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 umask attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 security label attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 time_set attributes (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 owner_group attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 owner attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 mode attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 acl attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 size attribute (Scott Mayhew) [2064216] - NFSD: Change the way the expected length of a fattr4 is checked (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_commit() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_close() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_access() (Scott Mayhew) [2064216] - NFSD: Replace the internals of the READ_BUF() macro (Scott Mayhew) [2064216] - nfsd/nfs3: remove unused macro nfsd3_fhandleres (Scott Mayhew) [2064216] - vt: vt_ioctl: fix race in VT_RESIZEX (Čestmír Kalina) [2068338] - net/mlx5: Bridge, Fix devlink deadlock on net namespace deletion (Amir Tzin) [2055580] - openvswitch: Fix setting ipv6 fields causing hw csum failure (Eelco Chaudron) [1974356]- Fix up versioning for maintainer builds (Jarod Wilson) - powerpc/iommu: Enable remaining IOMMU Pagesizes present in LoPAR (Gustavo Walbon) [1987109] - sizes.h: add SZ_8G/SZ_16G/SZ_32G macros (Gustavo Walbon) [1987109] - x86/cpu: Add Xeon Icelake-D to list of CPUs that support PPIN (Puneet Sethi) [2040336] - dm integrity: fix memory corruption when tag_size is less than digest size (Benjamin Marzinski) [2081775] - sctp: check asoc strreset_chunk in sctp_generate_reconf_event (Xin Long) [2079980] - sctp: Initialize daddr on peeled off socket (Xin Long) [2079980] - sctp: fix kernel-infoleak for SCTP sockets (Xin Long) [2079980] - sctp: do not update transport pathmtu if SPP_PMTUD_ENABLE is not set (Xin Long) [2079980] - dm crypt: fix copy and paste bug in crypt_alloc_req_aead (Benjamin Marzinski) [2073431] - dm crypt: defer decryption to a tasklet if interrupts disabled (Benjamin Marzinski) [2073431] - dm crypt: do not call bio_endio() from the dm-crypt tasklet (Benjamin Marzinski) [2073431] - dm crypt: use GFP_ATOMIC when allocating crypto requests from softirq (Benjamin Marzinski) [2073431] - dm crypt: do not wait for backlogged crypto request completion in softirq (Benjamin Marzinski) [2073431] - dm crypt: document new no_workqueue flags (Benjamin Marzinski) [2073431] - dm crypt: add flags to optionally bypass kcryptd workqueues (Benjamin Marzinski) [2073431] - tracing/osnoise: Force quiescent states while tracing (Jerome Marchand) [2069710] - tracing/osnoise: Do not unregister events twice (Jerome Marchand) [2069710] - tracing/osnoise: Make osnoise_main to sleep for microseconds (Jerome Marchand) [2069710] - tracing/osnoise: Properly unhook events if start_per_cpu_kthreads() fails (Jerome Marchand) [2069710] - tracing/osnoise: Make osnoise_instances static (Jerome Marchand) [2069710] - tracing/osnoise: Remove PREEMPT_RT ifdefs from inside functions (Jerome Marchand) [2069710] - tracing/osnoise: Remove STACKTRACE ifdefs from inside functions (Jerome Marchand) [2069710] - tracing/osnoise: Allow multiple instances of the same tracer (Jerome Marchand) [2069710] - tracing/osnoise: Remove TIMERLAT ifdefs from inside functions (Jerome Marchand) [2069710] - tracing/osnoise: Support a list of trace_array *tr (Jerome Marchand) [2069710] - tracing/osnoise: Use start/stop_per_cpu_kthreads() on osnoise_cpus_write() (Jerome Marchand) [2069710] - tracing/osnoise: Split workload start from the tracer start (Jerome Marchand) [2069710] - tracing/osnoise: Improve comments about barrier need for NMI callbacks (Jerome Marchand) [2069710] - tracing/osnoise: Do not follow tracing_cpumask (Jerome Marchand) [2069710] - trace/timerlat: Add migrate-disabled field to the timerlat header (Jerome Marchand) [2069710] - trace/osnoise: Add migrate-disabled field to the osnoise header (Jerome Marchand) [2069710] - tracing/doc: Fix typos on the timerlat tracer documentation (Jerome Marchand) [2069710] - trace/osnoise: Fix an ifdef comment (Jerome Marchand) [2069710] - redhat: indicate HEAD state in tarball/rpm name (Jarod Wilson) - selftest: net: Test IPv4 PMTU exceptions with DSCP and ECN (Guillaume Nault) [2081453] - ipv4: Fix route lookups when handling ICMP redirects and PMTU updates (Guillaume Nault) [2081453] - ipv4: tcp: send zero IPID in SYNACK messages (Guillaume Nault) [2081453] - ipv4: raw: lock the socket in raw_bind() (Guillaume Nault) [2081453] - net/af_packet: add VLAN support for AF_PACKET SOCK_RAW GSO (Hangbin Liu) [2066976] - net/packet: fix packet_sock xmit return value checking (Hangbin Liu) [2066976] - doc/ip-sysctl: add bc_forwarding (Xin Long) [2080486] - net/packet: fix packet_sock xmit return value checking (Xin Long) [2080486] - net: handle ARPHRD_PIMREG in dev_is_mac_header_xmit() (Xin Long) [2080486] - net/packet: fix slab-out-of-bounds access in packet_recvmsg() (Xin Long) [2080486] - veth: fix races around rq->rx_notify_masked (Xin Long) [2080486] - af_packet: fix data-race in packet_setsockopt / packet_setsockopt (Xin Long) [2080486] - ipv4: remove sparse error in ip_neigh_gw4() (Xin Long) [2080486] - af_unix: annote lockless accesses to unix_tot_inflight & gc_in_progress (Xin Long) [2080486] - veth: Do not record rx queue hint in veth_xmit (Xin Long) [2080486] - veth: ensure skb entering GRO are not cloned. (Xin Long) [2080486] - ethtool: Fix link extended state for big endian (Xin Long) [2080486] - ethtool: do not perform operations on net devices being unregistered (Xin Long) [2080486] - ethtool: Add transceiver module extended state (Xin Long) [2080486] - ethtool: runtime-resume netdev parent in ethnl_ops_begin (Xin Long) [2080486] - ethtool: move netif_device_present check from ethnl_parse_header_dev_get to ethnl_ops_begin (Xin Long) [2080486] - ethtool: move implementation of ethnl_ops_begin/complete to netlink.c (Xin Long) [2080486] - net: validate lwtstate->data before returning from skb_tunnel_info() (Xin Long) [2080486]- bnx2x: fix napi API usage sequence (Manish Chopra) [2080659] - netfilter: fix use-after-free in __nf_register_net_hook() (Florian Westphal) [2080272] - netfilter: nf_tables: unregister flowtable hooks on netns exit (Florian Westphal) [2080272] - netfilter: nftables: add helper function to release hooks of one single table (Florian Westphal) [2080272] - netfilter: nft_socket: only do sk lookups when indev is available (Florian Westphal) [2080272] - netfilter: nf_conntrack_tcp: re-init for syn packets only (Florian Westphal) [2080272] - netfilter: nft_set_rbtree: overlap detection with element re-addition after deletion (Florian Westphal) [2080272] - netfilter: nf_tables: fix memory leak during stateful obj update (Florian Westphal) [2080272] - netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options (Florian Westphal) [2080272] - netfilter: ctnetlink: disable helper autoassign (Florian Westphal) [2080272] - netfilter: nft_payload: don't allow th access for fragments (Florian Westphal) [2080272] - netfilter: nft_payload: simplify vlan header handling (Florian Westphal) [2080272] - RDMA/rxe: Change mcg_lock to a _bh lock (Kamal Heib) [2056500] - RDMA/rxe: Do not call dev_mc_add/del() under a spinlock (Kamal Heib) [2056500] - RDMA/rxe: Recheck the MR in when generating a READ reply (Kamal Heib) [2056500] - RDMA/rxe: Fix "Replace mr by rkey in responder resources" (Kamal Heib) [2056500] - RDMA/siw: Fix a condition race issue in MPA request processing (Kamal Heib) [2056500] - RDMA/irdma: Fix possible crash due to NULL netdev in notifier (Kamal Heib) [2056500] - RDMA/irdma: Reduce iWARP QP destroy time (Kamal Heib) [2056500] - RDMA/irdma: Flush iWARP QP if modified to ERR from RTR state (Kamal Heib) [2056500] - RDMA/irdma: Fix deadlock in irdma_cleanup_cm_core() (Kamal Heib) [2056500] - RDMA/hfi1: Fix use-after-free bug for mm struct (Kamal Heib) [2056500] - IB/rdmavt: add lock to call to rvt_error_qp to prevent a race condition (Kamal Heib) [2056500] - IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD (Kamal Heib) [2056500] - RDMA/nldev: Prevent underflow in nldev_stat_set_counter_dynamic_doit() (Kamal Heib) [2056500] - IB/iser: Fix error flow in case of registration failure (Kamal Heib) [2056500] - IB/iser: Generalize map/unmap dma tasks (Kamal Heib) [2056500] - IB/iser: Use iser_fr_desc as registration context (Kamal Heib) [2056500] - IB/iser: Remove iser_reg_data_sg helper function (Kamal Heib) [2056500] - RDMA/rxe: Use standard names for ref counting (Kamal Heib) [2056500] - RDMA/rxe: Replace red-black trees by xarrays (Kamal Heib) [2056500] - RDMA/rxe: Shorten pool names in rxe_pool.c (Kamal Heib) [2056500] - RDMA/rxe: Move max_elem into rxe_type_info (Kamal Heib) [2056500] - RDMA/rxe: Replace obj by elem in declaration (Kamal Heib) [2056500] - RDMA/rxe: Delete _locked() APIs for pool objects (Kamal Heib) [2056500] - RDMA/rxe: Reverse the sense of RXE_POOL_NO_ALLOC (Kamal Heib) [2056500] - RDMA/rxe: Replace mr by rkey in responder resources (Kamal Heib) [2056500] - RDMA/rxe: Fix ref error in rxe_av.c (Kamal Heib) [2056500] - RDMA/irdma: Add support for address handle re-use (Kamal Heib) [2056500] - Revert "RDMA/core: Fix ib_qp_usecnt_dec() called when error" (Kamal Heib) [2056500] - RDMA/rxe: Remove useless argument for update_state() (Kamal Heib) [2056500] - RDMA/rxe: Change variable and function argument to proper type (Kamal Heib) [2056500] - RDMA/irdma: Prevent some integer underflows (Kamal Heib) [2056500] - RDMA/core: Fix ib_qp_usecnt_dec() called when error (Kamal Heib) [2056500] - IB/hfi1: Allow larger MTU without AIP (Kamal Heib) [2056500] - RDMA/core: Remove unnecessary statements (Kamal Heib) [2056500] - RDMA/irdma: Remove incorrect masking of PD (Kamal Heib) [2056500] - RDMA/irdma: Fix Passthrough mode in VM (Kamal Heib) [2056500] - RDMA/irdma: Fix netdev notifications for vlan's (Kamal Heib) [2056500] - RDMA/irdma: Make irdma_create_mg_ctx return a void (Kamal Heib) [2056500] - RDMA/irdma: Move union irdma_sockaddr to header file (Kamal Heib) [2056500] - RDMA/irdma: Remove the unnecessary variable saddr (Kamal Heib) [2056500] - RDMA/irdma: Use net_type to check network type (Kamal Heib) [2056500] - RDMA/rxe: Cleanup rxe_mcast.c (Kamal Heib) [2056500] - RDMA/rxe: Collect cleanup mca code in a subroutine (Kamal Heib) [2056500] - RDMA/rxe: Collect mca init code in a subroutine (Kamal Heib) [2056500] - RDMA/rxe: Warn if mcast memory is not freed (Kamal Heib) [2056500] - RDMA/irdma: Remove excess error variables (Kamal Heib) [2056500] - RDMA/irdma: Propagate error codes (Kamal Heib) [2056500] - RDMA/irdma: Remove enum irdma_status_code (Kamal Heib) [2056500] - RDMA/ib_srp: Add more documentation (Kamal Heib) [2056500] - IB/cma: Allow XRC INI QPs to set their local ACK timeout (Kamal Heib) [2056500] - RDMA/rxe: Remove mcg from rxe pools (Kamal Heib) [2056500] - RDMA/rxe: Remove key'ed object support (Kamal Heib) [2056500] - RDMA/rxe: Replace pool key by rxe->mcg_tree (Kamal Heib) [2056500] - RDMA/rxe: Replace int num_qp by atomic_t qp_num (Kamal Heib) [2056500] - RDMA/rxe: Replace grp by mcg, mce by mca (Kamal Heib) [2056500] - RDMA/rxe: Use kzmalloc/kfree for mca (Kamal Heib) [2056500] - RDMA/rxe: Move mcg_lock to rxe (Kamal Heib) [2056500] - RDMA/hfi: Replace cpumask_weight with cpumask_empty where appropriate (Kamal Heib) [2056500] - RDMA/irdma: Refactor DCB bits in prep for DSCP support (Kamal Heib) [2056500] - RDMA/opa: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/iser: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/ipoib: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/rxe: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/usnic: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/hfi1: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/core: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/core: Set MR type in ib_reg_user_mr (Kamal Heib) [2056500] - md: Set MD_BROKEN for RAID1 and RAID10 (Nigel Croxon) [2042729] - raid5: introduce MD_BROKEN (Nigel Croxon) [2042729] - RHEL only Changes to support block changes not picked up (Nigel Croxon) [2042729] - md: fix NULL pointer deref with nowait but no mddev->queue (Nigel Croxon) [2042729] - md: use default_groups in kobj_type (Nigel Croxon) [2042729] - md: Move alloc/free acct bioset in to personality (Nigel Croxon) [2042729] - md: fix spelling of "its" (Nigel Croxon) [2042729] - md: raid456 add nowait support (Nigel Croxon) [2042729] - md: raid10 add nowait support (Nigel Croxon) [2042729] - md: raid1 add nowait support (Nigel Croxon) [2042729] - md: add support for REQ_NOWAIT (Nigel Croxon) [2042729] - md/raid5: play nice with PREEMPT_RT (Nigel Croxon) [2042729] - md/raid1: fix missing bitmap update w/o WriteMostly devices (Nigel Croxon) [2042729] - md: fix double free of mddev->private in autorun_array() (Nigel Croxon) [2042729] - md: fix update super 1.0 on rdev size change (Nigel Croxon) [2042729] - raid5-ppl: use swap() to make code cleaner (Nigel Croxon) [2042729] - md/bitmap: don't set max_write_behind if there is no write mostly device (Nigel Croxon) [2042729] - md: update superblock after changing rdev flags in state_store (Nigel Croxon) [2042729] - md: remove unused argument from md_new_event (Nigel Croxon) [2042729] - md/raid5: call roundup_pow_of_two in raid5_run (Nigel Croxon) [2042729] - md/raid1: use rdev in raid1_write_request directly (Nigel Croxon) [2042729] - md/raid1: only allocate write behind bio for WriteMostly device (Nigel Croxon) [2042729] - md: properly unwind when failing to add the kobject in md_alloc (Nigel Croxon) [2042729] - md: extend disks_mutex coverage (Nigel Croxon) [2042729] - md: add the bitmap group to the default groups for the md kobject (Nigel Croxon) [2042729] - md: add error handling support for add_disk() (Nigel Croxon) [2042729] - md: fix a lock order reversal in md_alloc (Nigel Croxon) [2042729] - scsi: qedf: Stop using the SCSI pointer (Nilesh Javali) [2044843] - scsi: qedf: Change context reset messages to ratelimited (Nilesh Javali) [2044843] - scsi: qedf: Fix refcount issue when LOGO is received during TMF (Nilesh Javali) [2044843] - scsi: qedf: Add stag_work to all the vports (Nilesh Javali) [2044843] - scsi: qedf: Fix potential dereference of NULL pointer (Nilesh Javali) [2044843] - eth: fwnode: remove the addr len from mac helpers (Íñigo Huguet) [2069565] - eth: fwnode: change the return type of mac address helpers (Íñigo Huguet) [2069565] - device property: move mac addr helpers to eth.c (Íñigo Huguet) [2069565] - net: thunderx: Use fwnode_get_mac_address() (Íñigo Huguet) [2069565] - qede: confirm skb is allocated before using (Manish Chopra) [2040267] - qed: fix ethtool register dump (Manish Chopra) [2040267] - qed: remove unnecessary memset in qed_init_fw_funcs (Manish Chopra) [2040267] - qed: return status of qed_iov_get_link (Manish Chopra) [2040267] - net: qlogic: check the return value of dma_alloc_coherent() in qed_vf_hw_prepare() (Manish Chopra) [2040267] - qed: validate and restrict untrusted VFs vlan promisc mode (Manish Chopra) [2040267] - qed: display VF trust config (Manish Chopra) [2040267] - qed: prevent a fw assert during device shutdown (Manish Chopra) [2040267] - qed: use msleep() in qed_mcp_cmd() and add qed_mcp_cmd_nosleep() for udelay. (Manish Chopra) [2040267] - qed: Use dma_set_mask_and_coherent() and simplify code (Manish Chopra) [2040267] - qed*: esl priv flag support through ethtool (Manish Chopra) [2040267] - qed*: enhance tx timeout debug info (Manish Chopra) [2040267] - qede: validate non LSO skb length (Manish Chopra) [2040267] - qed: Enhance rammod debug prints to provide pretty details (Manish Chopra) [2040267] - net: qed: fix the array may be out of bound (Manish Chopra) [2040267] - qed: Use the bitmap API to simplify some functions (Manish Chopra) [2040267] - RDMA/qed: Use helper function to set GUIDs (Manish Chopra) [2040267] - net: qed_dev: fix check of true !rc expression (Manish Chopra) [2040267] - net: qed_ptp: fix check of true !rc expression (Manish Chopra) [2040267] - RDMA/qedr: Remove unsupported qedr_resize_cq callback (Manish Chopra) [2040267] - qed: Change the TCP common variable - "iscsi_ooo" (Manish Chopra) [2040267] - qed: Optimize the ll2 ooo flow (Manish Chopra) [2040267] - net: qed_debug: fix check of false (grc_param < 0) expression (Manish Chopra) [2040267] - qed: Fix missing error code in qed_slowpath_start() (Manish Chopra) [2040267] - qed: Fix compilation for CONFIG_QED_SRIOV undefined scenario (Manish Chopra) [2040267] - qed: Initialize debug string array (Manish Chopra) [2040267] - qed: Fix spelling mistake "ctx_bsaed" -> "ctx_based" (Manish Chopra) [2040267] - qed: fix ll2 establishment during load of RDMA driver (Manish Chopra) [2040267] - qed: Update the TCP active termination 2 MSL timer ("TIME_WAIT") (Manish Chopra) [2040267] - qed: Update TCP silly-window-syndrome timeout for iwarp, scsi (Manish Chopra) [2040267] - qed: Update debug related changes (Manish Chopra) [2040267] - qed: Add '_GTT' suffix to the IRO RAM macros (Manish Chopra) [2040267] - qed: Update FW init functions to support FW 8.59.1.0 (Manish Chopra) [2040267] - qed: Use enum as per FW 8.59.1.0 in qed_iro_hsi.h (Manish Chopra) [2040267] - qed: Update qed_hsi.h for fw 8.59.1.0 (Manish Chopra) [2040267] - qed: Update qed_mfw_hsi.h for FW ver 8.59.1.0 (Manish Chopra) [2040267] - qed: Update common_hsi for FW ver 8.59.1.0 (Manish Chopra) [2040267] - qed: Split huge qed_hsi.h header file (Manish Chopra) [2040267] - qed: Remove e4_ and _e4 from FW HSI (Manish Chopra) [2040267] - qed: Fix kernel-doc warnings (Manish Chopra) [2040267] - qed: Don't ignore devlink allocation failures (Manish Chopra) [2040267] - qed: Improve the stack space of filter_config() (Manish Chopra) [2040267] - RDMA/qedr: Move variables reset to qedr_set_common_qp_params() (Manish Chopra) [2040267] - ip_gre, ip6_gre: Fix race condition on o_seqno in collect_md mode (Guillaume Nault) [2081030] - ip6_gre: Make o_seqno start from 0 in native mode (Guillaume Nault) [2081030] - ip_gre: Make o_seqno start from 0 in native mode (Guillaume Nault) [2081030] - ip6_gre: Fix skb_under_panic in __gre6_xmit() (Guillaume Nault) [2081030] - ip6_gre: Avoid updating tunnel->tun_hlen in __gre6_xmit() (Guillaume Nault) [2081030] - ipv6_tunnel: Rate limit warning messages (Guillaume Nault) [2081030] - net: fix up skbs delta_truesize in UDP GRO frag_list (Hangbin Liu) [2082388] - drop_monitor: fix data-race in dropmon_net_event / trace_napi_poll_hit (Hangbin Liu) [2082388] - rtnetlink: make sure to refresh master_dev/m_ops in __rtnl_newlink() (Hangbin Liu) [2082388] - netns: add schedule point in ops_exit_list() (Hangbin Liu) [2082388] - lwtunnel: Validate RTA_ENCAP_TYPE attribute length (Hangbin Liu) [2082388] - net, neigh: clear whole pneigh_entry at alloc time (Hangbin Liu) [2082388] - net: annotate data-races on txq->xmit_lock_owner (Hangbin Liu) [2082388] - sock: fix /proc/net/sockstat underflow in sk_clone_lock() (Hangbin Liu) [2082388] - net: stream: don't purge sk_error_queue in sk_stream_kill_queues() (Hangbin Liu) [2082388] - rtnetlink: fix if_nlmsg_stats_size() under estimation (Hangbin Liu) [2082388] - net: watchdog: hold device global xmit lock during tx disable (Hangbin Liu) [2082388] - torture: Fix incorrectly redirected "exit" in kvm-remote.sh (Waiman Long) [2065993] - rcu: Allow rcu_irq_enter_check_tick() from NMI (Waiman Long) [2065993] - srcu: Early test SRCU polling start (Waiman Long) [2065993] - rcu/nocb: Unify timers (Waiman Long) [2065993] - rcu/nocb: Prepare for fine-grained deferred wakeup (Waiman Long) [2065993] - rcu/nocb: Only cancel nocb timer if not polling (Waiman Long) [2065993] - rcu/nocb: Delete bypass_timer upon nocb_gp wakeup (Waiman Long) [2065993] - rcu/nocb: Cancel nocb_timer upon nocb_gp wakeup (Waiman Long) [2065993] - rcu/nocb: Allow de-offloading rdp leader (Waiman Long) [2065993] - rcu/nocb: Directly call __wake_nocb_gp() from bypass timer (Waiman Long) [2065993] - refscale: Avoid false-positive warnings in ref_scale_reader() (Waiman Long) [2065993] - scftorture: Avoid false-positive warnings in scftorture_invoker() (Waiman Long) [2065993] - rcu-tasks: Don't delete holdouts within trc_wait_for_one_reader() (Waiman Long) [2065993] - rcu-tasks: Don't delete holdouts within trc_inspect_reader() (Waiman Long) [2065993] - rcutorture: Move mem_dump_obj() tests into separate function (Waiman Long) [2065993] - rcu: Remove obsolete rcu_read_unlock() deadlock commentary (Waiman Long) [2065993] - rcu: Improve comments describing RCU read-side critical sections (Waiman Long) [2065993] - rcu: Add missing __releases() annotation (Waiman Long) [2065993] - kvfree_rcu: Fix comments according to current code (Waiman Long) [2065993] - torture: Don't cap remote runs by build-system number of CPUs (Waiman Long) [2065993] - torture: Make kvm-remote.sh account for network failure in pathname checks (Waiman Long) [2065993] - rcu: Create an unrcu_pointer() to remove __rcu from a pointer (Waiman Long) [2065993] - kvfree_rcu: Refactor kfree_rcu_monitor() (Waiman Long) [2065993] - srcu: Fix broken node geometry after early ssp init (Waiman Long) [2065993] - rcu: Point to documentation of ordering guarantees (Waiman Long) [2065993] - rcu: Don't penalize priority boosting when there is nothing to boost (Waiman Long) [2065993] - kvfree_rcu: Use kfree_rcu_monitor() instead of open-coded variant (Waiman Long) [2065993] - kvfree_rcu: Update "monitor_todo" once a batch is started (Waiman Long) [2065993] - kvfree_rcu: Add a bulk-list check when a scheduler is run (Waiman Long) [2065993] - kvfree_rcu: Use [READ/WRITE]_ONCE() macros to access to nr_bkv_objs (Waiman Long) [2065993] - kvfree_rcu: Release a page cache under memory pressure (Waiman Long) [2065993] - rcu: Shrink each possible cpu krcp (Waiman Long) [2065993] - rcu/segcblist: Prevent useless GP start if no CBs to accelerate (Waiman Long) [2065993] - rcutorture: Don't count CPU-stalled time against priority boosting (Waiman Long) [2065993] - rcu: Make rcu_gp_cleanup() be noinline for tracing (Waiman Long) [2065993] - rcutorture: Add BUSTED-BOOST to test RCU priority boosting tests (Waiman Long) [2065993] - srcu: Initialize SRCU after timers (Waiman Long) [2065993] - srcu: Unconditionally embed struct lockdep_map (Waiman Long) [2065993] - rcutorture: Forgive RCU boost failures when CPUs don't pass through QS (Waiman Long) [2065993] - rcutorture: Test start_poll_synchronize_rcu() and poll_state_synchronize_rcu() (Waiman Long) [2065993] - rcu: Provide polling interfaces for Tree RCU grace periods (Waiman Long) [2065993] - rcutorture: Make rcu_torture_boost_failed() check for GP end (Waiman Long) [2065993] - rcutorture: Consolidate rcu_torture_boost() timing and statistics (Waiman Long) [2065993] - rcutorture: Delay-based false positives for RCU priority boosting tests (Waiman Long) [2065993] - rcu: Restrict RCU_STRICT_GRACE_PERIOD to at most four CPUs (Waiman Long) [2065993] - rcu: Make show_rcu_gp_kthreads() dump rcu_node structures blocking GP (Waiman Long) [2065993] - rcu: Add quiescent states and boost states to show_rcu_gp_kthreads() output (Waiman Long) [2065993] - rcu: Make RCU priority boosting work on single-CPU rcu_node structures (Waiman Long) [2065993] - rcu: Reject RCU_LOCKDEP_WARN() false positives (Waiman Long) [2065993] - lockdep: Explicitly flag likely false-positive report (Waiman Long) [2065993] - rcu: Add ->gp_max to show_rcu_gp_kthreads() output (Waiman Long) [2065993] - rcu: Add ->rt_priority and ->gp_start to show_rcu_gp_kthreads() output (Waiman Long) [2065993] - srcu: Remove superfluous sdp->srcu_lock_count zero filling (Waiman Long) [2065993] - srcu: Remove superfluous ssp initialization for early callbacks (Waiman Long) [2065993] - torture: Set kvm.sh language to English (Waiman Long) [2065993] - torture: Correctly fetch number of CPUs for non-English languages (Waiman Long) [2065993] - rcu: Invoke rcu_spawn_core_kthreads() from rcu_spawn_gp_kthread() (Waiman Long) [2065993] - rcutorture: Judge RCU priority boosting on grace periods, not callbacks (Waiman Long) [2065993] - sched,rcutorture: Convert to sched_set_fifo_low() (Waiman Long) [2065993] - rcu: Improve tree.c comments and add code cleanups (Waiman Long) [2065993] - rcu: Abstract out rcu_irq_enter_check_tick() from rcu_nmi_enter() (Waiman Long) [2065993] - rcu: Remove the unused rcu_irq_exit_preempt() function (Waiman Long) [2065993] - torture: Make kvm-find-errors.sh account for kvm-remote.sh (Waiman Long) [2065993] - torture: Make the build machine control N in "make -jN" (Waiman Long) [2065993] - torture: Make kvm.sh use abstracted kvm-end-run-stats.sh (Waiman Long) [2065993] - torture: Abstract end-of-run summary (Waiman Long) [2065993] - rcu: Fix typo in comment: kthead -> kthread (Waiman Long) [2065993] - rcutorture: Abstract read-lock-held checks (Waiman Long) [2065993] - refscale: Add acqrel, lock, and lock-irq (Waiman Long) [2065993] - torture: Add kvm-remote.sh script for distributed rcutorture test runs (Waiman Long) [2065993] - refscale: Allow CPU hotplug to be enabled (Waiman Long) [2065993] - torture: Make kvm-again.sh use "scenarios" rather than "batches" file (Waiman Long) [2065993] - torture: Add "scenarios" option to kvm.sh --dryrun parameter (Waiman Long) [2065993] - rcu-tasks: Add block comment laying out RCU Rude design (Waiman Long) [2065993] - torture: Fix remaining erroneous torture.sh instance of $* (Waiman Long) [2065993] - rcu/tree: Add a trace event for RCU CPU stall warnings (Waiman Long) [2065993] - torture: Fix kvm.sh --datestamp regex check (Waiman Long) [2065993] - rcu: Add explicit barrier() to __rcu_read_unlock() (Waiman Long) [2065993] - rcu-tasks: Add block comment laying out RCU Tasks Trace design (Waiman Long) [2065993] - rcu: Make nocb_nobypass_lim_per_jiffy static (Waiman Long) [2065993] - torture: Consolidate qemu-cmd duration editing into kvm-transform.sh (Waiman Long) [2065993] - torture: Print proper vmlinux path for kvm-again.sh runs (Waiman Long) [2065993] - torture: Make TORTURE_TRUST_MAKE available in kvm-again.sh environment (Waiman Long) [2065993] - docs: Correctly spell Stephen Hemminger's name (Waiman Long) [2065993] - rcu/nocb: Use the rcuog CPU's ->nocb_timer (Waiman Long) [2065993] - rcu/nocb: Move trace_rcu_nocb_wake() calls outside nocb_lock when possible (Waiman Long) [2065993] - rcu/nocb: Remove stale comment above rcu_segcblist_offload() (Waiman Long) [2065993] - rcu/nocb: Disable bypass when CPU isn't completely offloaded (Waiman Long) [2065993] - rcu/nocb: Fix missed nocb_timer requeue (Waiman Long) [2065993] - rcu/nocb: Trigger self-IPI on late deferred wake up before user resume (Waiman Long) [2065993] - torture: Make kvm-transform.sh update jitter commands (Waiman Long) [2065993] - torture: Add --duration argument to kvm-again.sh (Waiman Long) [2065993] - rcu: deprecate "all" option to rcu_nocbs= (Waiman Long) [2065993] - torture: Rename SRCU-t and SRCU-u to avoid lowercase characters (Waiman Long) [2065993] - torture: Add kvm-again.sh to rerun a previous torture-test (Waiman Long) [2065993] - torture: Create a "batches" file for build reuse (Waiman Long) [2065993] - torture: De-capitalize TORTURE_SUITE (Waiman Long) [2065993] - rcuscale: Add kfree_rcu() single-argument scale test (Waiman Long) [2065993] - torture: Make upper-case-only no-dot no-slash scenario names official (Waiman Long) [2065993] - torture: Remove no-mpstat error message (Waiman Long) [2065993] - torture: Record kvm-test-1-run.sh and kvm-test-1-run-qemu.sh PIDs (Waiman Long) [2065993] - torture: Record jitter start/stop commands (Waiman Long) [2065993] - softirq: Don't try waking ksoftirqd before it has been spawned (Waiman Long) [2065993] - torture: Extract kvm-test-1-run-qemu.sh from kvm-test-1-run.sh (Waiman Long) [2065993] - torture: Record TORTURE_KCONFIG_GDB_ARG in qemu-cmd (Waiman Long) [2065993] - torture: Abstract jitter.sh start/stop into scripts (Waiman Long) [2065993] - torture: Reverse jittering and duration parameters for jitter.sh (Waiman Long) [2065993] - torture: Eliminate jitter_pids file (Waiman Long) [2065993] - torture: Use "jittering" file to control jitter.sh execution (Waiman Long) [2065993] - torture: Use file-based protocol to mark batch's runs complete (Waiman Long) [2065993] - torture: Move build/run synchronization files into scenario directories (Waiman Long) [2065993] - torture: Make jitter.sh handle large systems (Waiman Long) [2065993] - torture: Improve readability of the testid.txt file (Waiman Long) [2065993] - torture: Provide bare-metal modprobe-based advice (Waiman Long) [2065993] - kvfree_rcu: Use same set of GFP flags as does single-argument (Waiman Long) [2065993] - kvfree_rcu: Replace __GFP_RETRY_MAYFAIL by __GFP_NORETRY (Waiman Long) [2065993] - torture: Allow 1G of memory for torture.sh kvfree testing (Waiman Long) [2065993] - torture: Do Kconfig analysis only once per scenario (Waiman Long) [2065993] - torture: Compress KASAN vmlinux files (Waiman Long) [2065993] - torture: Add --kcsan-kmake-arg to torture.sh for KCSAN (Waiman Long) [2065993] - torture: Add command and results directory to torture.sh log (Waiman Long) [2065993] - torture: Allow scenarios to be specified to torture.sh (Waiman Long) [2065993] - torture: Drop log.long generation from torture.sh (Waiman Long) [2065993] - torture: Make torture.sh refuse to do zero-length runs (Waiman Long) [2065993] - torture: Make torture.sh throttle VERBOSE_TOROUT_*() for refscale (Waiman Long) [2065993] - torture: Make torture.sh allmodconfig retain and label output (Waiman Long) [2065993] - torture: Create doyesno helper function for torture.sh (Waiman Long) [2065993] - torture: Make torture.sh refscale runs use verbose_batched module parameter (Waiman Long) [2065993] - torture: Make torture.sh rcuscale and refscale deal with allmodconfig (Waiman Long) [2065993] - torture: Enable torture.sh argument checking (Waiman Long) [2065993] - torture: Auto-size SCF and scaling runs based on number of CPUs (Waiman Long) [2065993] - torture: Add "make allmodconfig" to torture.sh (Waiman Long) [2065993] - torture: Remove use of "eval" in torture.sh (Waiman Long) [2065993] - torture: Make torture.sh use common time-duration bash functions (Waiman Long) [2065993] - torture: Add torture.sh torture-everything script (Waiman Long) [2065993] - refscale: Disable verbose torture-test output (Waiman Long) [2065993] - rcuscale: Disable verbose torture-test output (Waiman Long) [2065993] - rcu/nocb: Rename nocb_gp_update_state to nocb_gp_update_state_deoffloading (Waiman Long) [2065993] - rcu/nocb: Avoid confusing double write of rdp->nocb_cb_sleep (Waiman Long) [2065993] - rcu/nocb: Only (re-)initialize segcblist when needed on CPU up (Waiman Long) [2065993] - rcu/nocb: Forbid NOCB toggling on offline CPUs (Waiman Long) [2065993] - rcu/nocb: Comment the reason behind BH disablement on batch processing (Waiman Long) [2065993] - rcu: Make rcu_read_unlock_special() expedite strict grace periods (Waiman Long) [2065993] - rcu-tasks: Rectify kernel-doc for struct rcu_tasks (Waiman Long) [2065993] - rcutorture: Replace rcu_torture_stall string with s (Waiman Long) [2065993] - torture: Replace torture_init_begin string with s (Waiman Long) [2065993] - rcutorture: Use "all" and "N" in "nohz_full" and "rcu_nocbs" (Waiman Long) [2065993] - kvfree_rcu: Make krc_this_cpu_unlock() use raw_spin_unlock_irqrestore() (Waiman Long) [2065993] - kvfree_rcu: Use __GFP_NOMEMALLOC for single-argument kvfree_rcu() (Waiman Long) [2065993] - kvfree_rcu: Directly allocate page for single-argument case (Waiman Long) [2065993] - rcutorture: Fix testing of RCU priority boosting (Waiman Long) [2065993] - rculist: Replace reference to atomic_ops.rst (Waiman Long) [2065993] - rcutorture: Make TREE03 use real-time tree.use_softirq setting (Waiman Long) [2065993] - rcu: Expedite deboost in case of deferred quiescent state (Waiman Long) [2065993] - rcu: Fix CPU-offline trace in rcutree_dying_cpu (Waiman Long) [2065993] - rcu: Remove superfluous rdp fetch (Waiman Long) [2065993] - torturescript: Don't rerun failed rcutorture builds (Waiman Long) [2065993] - rcutorture: Add crude tests for mem_dump_obj() (Waiman Long) [2065993] - mm: Don't build mm_dump_obj() on CONFIG_PRINTK=n kernels (Waiman Long) [2065993] - rcu/nocb: Detect unsafe checks for offloaded rdp (Waiman Long) [2065993] - sched/pelt: Fix attach_entity_load_avg() corner case (Phil Auld) [2056383] - devlink: Clarifies max_macs generic devlink param (Petr Oros) [2076586] - devlink: Add new "event_eq_size" generic device param (Petr Oros) [2076586] - devlink: Add new "io_eq_size" generic device param (Petr Oros) [2076586] - devlink: fix netns refcount leak in devlink_nl_cmd_reload() (Petr Oros) [2076586] - devlink: Simplify devlink resources unregister call (Petr Oros) [2076586] - devlink: Remove misleading internal_flags from health reporter dump (Petr Oros) [2076586] - devlink: Don't throw an error if flash notification sent before devlink visible (Petr Oros) [2076586] - devlink: fix flexible_array.cocci warning (Petr Oros) [2076586] - devlink: expose get/put functions (Petr Oros) [2076586] - devlink: make all symbols GPL-only (Petr Oros) [2076586] - devlink: Simplify internal devlink params implementation (Petr Oros) [2076586] - devlink: Clean not-executed param notifications (Petr Oros) [2076586] - devlink: Delete obsolete parameters publish API (Petr Oros) [2076586] - devlink: Remove extra device_lock assert checks (Petr Oros) [2076586] - devlink: Delete reload enable/disable interface (Petr Oros) [2076586] - devlink: Allow control devlink ops behavior through feature mask (Petr Oros) [2076586] - devlink: Annotate devlink API calls (Petr Oros) [2076586] - devlink: Move netdev_to_devlink helpers to devlink.c (Petr Oros) [2076586] - devlink: Reduce struct devlink exposure (Petr Oros) [2076586] - devlink: report maximum number of snapshots with regions (Petr Oros) [2076586] - devlink: Add missed notifications iterators (Petr Oros) [2076586] - netdevsim: Move devlink registration to be last devlink command (Petr Oros) [2076586] - qed: Move devlink registration to be last devlink command (Petr Oros) [2076586] - ionic: Move devlink registration to be last devlink command (Petr Oros) [2076586] - nfp: Move delink_register to be last command (Petr Oros) [2076586] - mlxsw: core: Register devlink instance last (Petr Oros) [2076586] - net/mlx5: Accept devlink user input after driver initialization complete (Petr Oros) [2076586] - net/mlx4: Move devlink_register to be the last initialization command (Petr Oros) [2076586] - ice: Open devlink when device is ready (Petr Oros) [2076586] - liquidio: Overcome missing device lock protection in init/remove flows (Petr Oros) [2076586] - bnxt_en: Register devlink instance at the end devlink configuration (Petr Oros) [2076586] - devlink: Notify users when objects are accessible (Petr Oros) [2076586] - devlink: Remove single line function obfuscations (Petr Oros) [2076586] - devlink: Delete not used port parameters APIs (Petr Oros) [2076586] - bnxt_en: Properly remove port parameter support (Petr Oros) [2076586] - bnxt_en: Check devlink allocation and registration status (Petr Oros) [2076586] - devlink: Make devlink_register to be void (Petr Oros) [2076586] - devlink: Delete not-used devlink APIs (Petr Oros) [2076586] - devlink: Delete not-used single parameter notification APIs (Petr Oros) [2076586] - devlink: Use xarray to store devlink instances (Petr Oros) [2076586] - devlink: Count struct devlink consumers (Petr Oros) [2076586] - devlink: Remove check of always valid devlink pointer (Petr Oros) [2076586] - devlink: Simplify devlink_pernet_pre_exit call (Petr Oros) [2076586] - devlink: Add APIs to publish, unpublish individual parameter (Petr Oros) [2076586] - devlink: Add API to register and unregister single parameter (Petr Oros) [2076586] - devlink: Create a helper function for one parameter registration (Petr Oros) [2076586] - devlink: Fix port_type_set function pointer check (Petr Oros) [2076586] - devlink: Set device as early as possible (Petr Oros) [2076586] - devlink: Simplify devlink port API calls (Petr Oros) [2076586] - devlink: Allocate devlink directly in requested net namespace (Petr Oros) [2076586] - devlink: Break parameter notification sequence to be before/after unload/load driver (Petr Oros) [2076586] - devlink: Remove duplicated registration check (Petr Oros) [2076586] - net/mlx5: Don't rely on always true registered field (Petr Oros) [2076586] - devlink: Unlock on error in dumpit() (Petr Oros) [2076586] - devlink: Fix some error codes (Petr Oros) [2076586] - net: devlink: Add support for port regions (Petr Oros) [2076586] - netdevsim: Forbid devlink reload when adding or deleting ports (Petr Oros) [2076586] - netdevsim: dev: Initialize FIB module after debugfs (Petr Oros) [2076586] - pidfd: fix a poll race when setting exit_state (Oleg Nesterov) [2044587] - fork: fix pidfd_poll()'s return type (Oleg Nesterov) [2044587] - pidfd: add polling support (Oleg Nesterov) [2044587] - kabi: introduce the kabi_aux_*() helpers (Oleg Nesterov) [2044587] - tg3: Remove redundant assignments (Ken Cox) [2043792] - ethernet: Remove redundant statement (Ken Cox) [2043792] - ethernet: tg3: remove direct netdev->dev_addr writes (Ken Cox) [2043792] - net: tg3: fix redundant check of true expression (Ken Cox) [2043792] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ken Cox) [2043792] - net: ethernet: Use existing define with polynomial (Ken Cox) [2043792]- scsi: mpt3sas: Fix mpt3sas_check_same_4gb_region() kdoc comment (Tomas Henzl) [2068045] - scsi: mpt3sas: Fix incorrect 4GB boundary check (Tomas Henzl) [2068045] - genirq/affinity: Consider that CPUs on nodes can be unbalanced (Ming Lei) [2074317] - scsi: target: pscsi: Set SCF_TREAT_READ_AS_NORMAL flag only if there is valid data (Maurizio Lombardi) [2074246] - audit: don't deref the syscall args when checking the openat2 open_how::flags (Carlos Maiolino) [2026590] - audit: add OPENAT2 record to list "how" info (Carlos Maiolino) [2026590] - audit: add support for the openat2 syscall (Carlos Maiolino) [2026590] - audit: replace magic audit syscall class numbers with macros (Carlos Maiolino) [2026590] - tools include UAPI: Sync x86's syscalls_64.tbl, generic unistd.h and fcntl.h to pick up openat2 and pidfd_getfd (Carlos Maiolino) [2026590] - open: don't silently ignore unknown O-flags in openat2() (Carlos Maiolino) [2026590] - openat2: reject RESOLVE_BENEATH|RESOLVE_IN_ROOT (Carlos Maiolino) [2026590] - open: introduce openat2(2) syscall (Carlos Maiolino) [2026590] - namei: LOOKUP_{IN_ROOT,BENEATH}: permit limited ".." resolution (Carlos Maiolino) [2026590] - namei: LOOKUP_IN_ROOT: chroot-like scoped resolution (Carlos Maiolino) [2026590] - namei: LOOKUP_BENEATH: O_BENEATH-like scoped resolution (Carlos Maiolino) [2026590] - namei: LOOKUP_NO_XDEV: block mountpoint crossing (Carlos Maiolino) [2026590] - namei: LOOKUP_NO_MAGICLINKS: block magic-link resolution (Carlos Maiolino) [2026590] - namei: LOOKUP_NO_SYMLINKS: block symlink resolution (Carlos Maiolino) [2026590] - namei: allow set_root() to produce errors (Carlos Maiolino) [2026590] - namei: allow nd_jump_link() to produce errors (Carlos Maiolino) [2026590] - nsfs: clean-up ns_get_path() signature to return int (Carlos Maiolino) [2026590] - namei: only return -ECHILD from follow_dotdot_rcu() (Carlos Maiolino) [2026590] - make path_init() unconditionally paired with terminate_walk() (Carlos Maiolino) [2026590] - nsfs: unobfuscate (Carlos Maiolino) [2026590] - ASoC: Intel: soc-acpi: add entries in ADL match table (Jaroslav Kysela) [2052011] - nvme-fc: add support for ->map_queues (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix typos in comments (Nilesh Javali) [2044833] - scsi: qla2xxx: Update version to 10.02.07.400-k (Nilesh Javali) [2044833] - scsi: qla2xxx: Increase max limit of ql2xnvme_queues (Nilesh Javali) [2044833] - scsi: qla2xxx: Use correct feature type field during RFF_ID processing (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix stuck session of PRLI reject (Nilesh Javali) [2044833] - scsi: qla2xxx: Reduce false trigger to login (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix laggy FC remote port session recovery (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix hang due to session stuck (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix N2N inconsistent PLOGI (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix crash during module load unload test (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requests (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix loss of NVMe namespaces after driver reload test (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix incorrect reporting of task management failure (Nilesh Javali) [2044833] - scsi: qla2xxx: Use named initializers for q_dev_state (Nilesh Javali) [2044833] - scsi: qla2xxx: Use named initializers for port_[d]state_str (Nilesh Javali) [2044833] - scsi: qla2xxx: Stop using the SCSI pointer (Nilesh Javali) [2044833] - scsi: qla2xxx: Remove unused qla_sess_op_cmd_list from scsi_qla_host_t (Nilesh Javali) [2044833] - scsi: qla2xxx: Add qla2x00_async_done() for async routines (Nilesh Javali) [2044833] - scsi: qla2xxx: Update version to 10.02.07.300-k (Nilesh Javali) [2044833] - scsi: qla2xxx: Check for firmware dump already collected (Nilesh Javali) [2044833] - scsi: qla2xxx: Add devids and conditionals for 28xx (Nilesh Javali) [2044833] - scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair() (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix T10 PI tag escape and IP guard options for 28XX adapters (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix clang warning (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix warning for missing error code (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix device reconnect in loop topology (Nilesh Javali) [2044833] - scsi: qla2xxx: Add ql2xnvme_queues module param to configure number of NVMe queues (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix wrong FDMI data for 64G adapter (Nilesh Javali) [2044833] - scsi: qla2xxx: Add retry for exec firmware (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix scheduling while atomic (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix premature hw access after PCI error (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix warning message due to adisc being flushed (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix stuck session in gpdb (Nilesh Javali) [2044833] - scsi: qla2xxx: Implement ref count for SRB (Nilesh Javali) [2044833] - scsi: qla2xxx: Refactor asynchronous command initialization (Nilesh Javali) [2044833] - scsi: qla2xxx: Synchronize rport dev_loss_tmo setting (Nilesh Javali) [2044833] - scsi: qla2xxx: Format log strings only if needed (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix off by one bug in qla_edif_app_getfcinfo() (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix mailbox direction flags in qla2xxx_get_adapter_id() (Nilesh Javali) [2044833] - scsi: qla2xxx: Update version to 10.02.07.200-k (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix EDIF bsg (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix inconsistent check of db_flags (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Increase ELS payload (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Reduce connection thrash (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Tweak trace message (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Replace list_for_each_safe with list_for_each_entry_safe (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Flush stale events and msgs on session down (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix app start delay (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix app start fail (Nilesh Javali) [2044833] - scsi: qla2xxx: Turn off target reset during issue_lip (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix gnl list corruption (Nilesh Javali) [2044833] - scsi: qla2xxx: Relogin during fabric disturbance (Nilesh Javali) [2044833] - qla2xxx: add ->map_queues support for nvme (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix unmap of already freed sgl (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix a memory leak in an error path of qla2x00_process_els() (Nilesh Javali) [2044833] - scsi: qla2xxx: Return -ENOMEM if kzalloc() fails (Nilesh Javali) [2044833] - scsi: qla2xxx: Remove a declaration (Nilesh Javali) [2044833] - scsi: target: qla2xxx: Replace enable attr with ops.enable (Nilesh Javali) [2044833] - scsi: qla2xxx: Restore initiator in dual mode (Nilesh Javali) [2044833] - scsi: qla2xxx: Remove redundant initialization of pointer req (Nilesh Javali) [2044833] - scsi: qla2xxx: Update version to 10.02.07.100-k (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix use after free in eh_abort path (Nilesh Javali) [2044833] - scsi: qla2xxx: Move heartbeat handling from DPC thread to workqueue (Nilesh Javali) [2044833] - scsi: qla2xxx: Call process_response_queue() in Tx path (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Use link event to wake up app (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix crash in NVMe abort path (Nilesh Javali) [2044833] - scsi: qla2xxx: Check for firmware capability before creating QPair (Nilesh Javali) [2044833] - scsi: qla2xxx: Display 16G only as supported speeds for 3830c card (Nilesh Javali) [2044833] - scsi: qla2xxx: Indicate correct supported speeds for Mezz card (Nilesh Javali) [2044833] - scsi: qla2xxx: Add support for mailbox passthru (Nilesh Javali) [2044833] - scsi: qla2xxx: Open-code qla2xxx_eh_device_reset() (Nilesh Javali) [2044833] - scsi: qla2xxx: Open-code qla2xxx_eh_target_reset() (Nilesh Javali) [2044833] - scsi: qla2xxx: Do not call fc_block_scsi_eh() during bus reset (Nilesh Javali) [2044833] - sctp: count singleton chunks in assoc user stats (Jamie Bainbridge) [2073913] - hrtimer: Unbreak hrtimer_force_reprogram() (Fernando Pacheco) [2071776] - hrtimer: Use raw_cpu_ptr() in clock_was_set() (Fernando Pacheco) [2071776] - hrtimer: Avoid more SMP function calls in clock_was_set() (Fernando Pacheco) [2071776] - hrtimer: Avoid unnecessary SMP function calls in clock_was_set() (Fernando Pacheco) [2071776] - hrtimer: Add bases argument to clock_was_set() (Fernando Pacheco) [2071776] - time/timekeeping: Avoid invoking clock_was_set() twice (Fernando Pacheco) [2071776] - timekeeping: Distangle resume and clock-was-set events (Fernando Pacheco) [2071776] - timerfd: Provide timerfd_resume() (Fernando Pacheco) [2071776] - hrtimer: Force clock_was_set() handling for the HIGHRES=n, NOHZ=y case (Fernando Pacheco) [2071776] - hrtimer: Ensure timerfd notification for HIGHRES=n (Fernando Pacheco) [2071776] - hrtimer: Consolidate reprogramming code (Fernando Pacheco) [2071776] - hrtimer: Avoid double reprogramming in __hrtimer_start_range_ns() (Fernando Pacheco) [2071776] - hrtimer: Update softirq_expires_next correctly after __hrtimer_get_next_event() (Fernando Pacheco) [2071776] - hrtimer: Annotate lockless access to timer->state (Fernando Pacheco) [2071776] - drm/i915/display: Remove check for low voltage sku for max dp source rate (Jocelyn Falempe) [2063931] - s390/kexec: handle R_390_PLT32DBL rela in arch_kexec_apply_relocations_add() (Philipp Rudo) [2039278] - s390/kexec_file: fix error handling when applying relocations (Philipp Rudo) [2039278] - s390/kexec_file: print some more error messages (Philipp Rudo) [2039278] - ixgbe: respect metadata on XSK Rx to skb (Ken Cox) [2037952] - ixgbe: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb (Ken Cox) [2037952] - ixgbe: pass bi->xdp to ixgbe_construct_skb_zc() directly (Ken Cox) [2037952] - ixgbe: Remove useless DMA-32 fallback configuration (Ken Cox) [2037952] - ixgbe: switch to napi_build_skb() (Ken Cox) [2037952] - ixgbe: set X550 MDIO speed before talking to PHY (Ken Cox) [2037952] - ixgbe: Document how to enable NBASE-T support (Ken Cox) [2037952] - xsk: Wipe out dead zero_copy_allocator declarations (Ken Cox) [2037952] - ixgbe: let the xdpdrv work with more than 64 cpus (Ken Cox) [2037952] - scsi: fcoe: Fix I/O path allocation (Ken Cox) [2037952] - ixgbe: extend PTP gettime function to read system clock (Ken Cox) [2037952] - ixgbe: Replace GFP_ATOMIC with GFP_KERNEL (Ken Cox) [2037952] - net: mpls: Fix notifications when deleting a device (Guillaume Nault) [2081757]- sched/cputime, proc/stat: Fix incorrect guest nice cpustat value (Waiman Long) [2017382] - procfs: Use all-in-one vtime aware kcpustat accessor (Waiman Long) [2017382] - procfs: Use vtime aware kcpustat accessor to fetch CPUTIME_SYSTEM (Waiman Long) [2017382] - proc: read kernel cpu stat pointer once (Waiman Long) [2017382] - proc: use "unsigned int" in /proc/stat hook (Waiman Long) [2017382] - sched/cputime: Support other fields on kcpustat_field() (Waiman Long) [2017382] - sched/cputime: Add vtime guest task state (Waiman Long) [2017382] - sched/cputime: Add vtime idle task state (Waiman Long) [2017382] - sched/cputime: Spare a seqcount lock/unlock cycle on context switch (Waiman Long) [2017382] - sched/vtime: Move task_struct_rh->vtime_cpu back to vtime structure (Waiman Long) [2017382] - usb: xhci-plat: fix crash when suspend if remote wake enable (Mark Langsdorf) [2065730] - PM: domains: Improve runtime PM performance state handling (Mark Langsdorf) [2065730] - firmware_loader: fix use-after-free in firmware_fallback_sysfs (Mark Langsdorf) [2065730] - firmware_loader: use -ETIMEDOUT instead of -EAGAIN in fw_load_sysfs_fallback (Mark Langsdorf) [2065730] - driver core: Prevent warning when removing a device link from unregistered consumer (Mark Langsdorf) [2065730] - PM: domains: Shrink locking area of the gpd_list_lock (Mark Langsdorf) [2065730] - PM: sleep: Use ktime_us_delta() in initcall_debug_report() (Mark Langsdorf) [2065730] - driver core: Export device_driver_attach() (Mark Langsdorf) [2065730] - driver core: Don't return EPROBE_DEFER to userspace during sysfs bind (Mark Langsdorf) [2065730] - driver core: Flow the return code from ->probe() through to sysfs bind (Mark Langsdorf) [2065730] - driver core: Better distinguish probe errors in really_probe (Mark Langsdorf) [2065730] - driver core: Pull required checks into driver_probe_device() (Mark Langsdorf) [2065730] - driver core: add a helper to setup both the of_node and fwnode of a device (Mark Langsdorf) [2065730] - devres: Enable trace events (Mark Langsdorf) [2065730] - devres: No need to call remove_nodes() when there none present (Mark Langsdorf) [2065730] - devres: Use list_for_each_safe_from() in remove_nodes() (Mark Langsdorf) [2065730] - devres: Make locking straight forward in release_nodes() (Mark Langsdorf) [2065730] - regmap: mdio: Reject invalid addresses (Mark Langsdorf) [2065730] - regmap: mdio: Fix regmap_bus pointer constness (Mark Langsdorf) [2065730] - PM: runtime: Allow unassigned ->runtime_suspend|resume callbacks (Mark Langsdorf) [2065730] - PM: runtime: Improve path in rpm_idle() when no callback (Mark Langsdorf) [2065730] - PM: domains: Drop/restore performance state votes for devices at runtime PM (Mark Langsdorf) [2065730] - PM: domains: Return early if perf state is already set for the device (Mark Langsdorf) [2065730] - PM: domains: Split code in dev_pm_genpd_set_performance_state() (Mark Langsdorf) [2065730] - PM: domains: fix some kernel-doc issues (Mark Langsdorf) [2065730] - regmap: mdio: Add clause-45 support (Mark Langsdorf) [2065730] - regmap: mdio: Clean up invalid clause-22 addresses (Mark Langsdorf) [2065730] - regmap-irq: Introduce inverted status registers support (Mark Langsdorf) [2065730] - ACPI: property: Constify stubs for CONFIG_ACPI=n case (Mark Langsdorf) [2065730] - device property: Unify access to of_node (Mark Langsdorf) [2065730] - drivers/base: Constify static attribute_group structs (Mark Langsdorf) [2065730] - devcoredump: remove contact information (Mark Langsdorf) [2065730] - component: Rename 'dev' to 'parent' (Mark Langsdorf) [2065730] - component: Drop 'dev' argument to component_match_realloc() (Mark Langsdorf) [2065730] - device property: Don't check for NULL twice in the loops (Mark Langsdorf) [2065730] - regmap: add support for 7/17 register formating (Mark Langsdorf) [2065730] - PM: wakeirq: Set IRQF_NO_AUTOEN when requesting the IRQ (Mark Langsdorf) [2065730] - drivers/base/node.c: make CACHE_ATTR define static DEVICE_ATTR_RO (Mark Langsdorf) [2065730] - regmap: mdio: Don't modify output if error happened (Mark Langsdorf) [2065730] - regmap: Add MDIO bus support (Mark Langsdorf) [2065730] - regmap-i2c: Set regmap max raw r/w from quirks (Mark Langsdorf) [2065730] - driver core: attribute_container: fix W=1 warnings (Mark Langsdorf) [2065730] - driver core: replace open-coded device_lock_assert() (Mark Langsdorf) [2065730] - device property: Retrieve fwnode from of_node via accessor (Mark Langsdorf) [2065730] - cpufreq: Kconfig: fix documentation links (Mark Langsdorf) [2065730] - PM: wakeup: remove redundant assignment to variable retval (Mark Langsdorf) [2065730] - PM / wakeup: use dev_set_name() directly (Mark Langsdorf) [2065730] - PM: clk: remove kernel-doc warning (Mark Langsdorf) [2065730] - PM: wakeup: fix kernel-doc warnings and fix typos (Mark Langsdorf) [2065730] - PM: runtime: remove kernel-doc warnings (Mark Langsdorf) [2065730] - software node: Introduce SOFTWARE_NODE_REFERENCE() helper macro (Mark Langsdorf) [2065730] - software node: Imply kobj_to_swnode() to be no-op (Mark Langsdorf) [2065730] - software node: Deduplicate code in fwnode_create_software_node() (Mark Langsdorf) [2065730] - software node: Introduce software_node_alloc()/software_node_free() (Mark Langsdorf) [2065730] - software node: Free resources explicitly when swnode_register() fails (Mark Langsdorf) [2065730] - driver core: add helper for deferred probe reason setting (Mark Langsdorf) [2065730] - driver core: Improve fw_devlink & deferred_probe_timeout interaction (Mark Langsdorf) [2065730] - driver core: Replace printf() specifier and drop unneeded casting (Mark Langsdorf) [2065730] - driver core: Cast to (void *) with __force for __percpu pointer (Mark Langsdorf) [2065730] - devcoredump: fix kernel-doc warning (Mark Langsdorf) [2065730] - platform-msi: fix kernel-doc warnings (Mark Langsdorf) [2065730] - driver core: attribute_container: remove kernel-doc warnings (Mark Langsdorf) [2065730] - driver core: remove kernel-doc warnings (Mark Langsdorf) [2065730] - base: dd: fix error return code of driver_sysfs_add() (Mark Langsdorf) [2065730] - driver core: Use unbound workqueue for deferred probes (Mark Langsdorf) [2065730] - devcoredump: avoid -Wempty-body warnings (Mark Langsdorf) [2065730] - device property: Add test cases for fwnode_property_count_*() APIs (Mark Langsdorf) [2065730] - device property: Sync descriptions of swnode array and group APIs (Mark Langsdorf) [2065730] - driver core: Update device link status properly for device_bind_driver() (Mark Langsdorf) [2065730] - driver core: Avoid pointless deferred probe attempts (Mark Langsdorf) [2065730] - drivers/base/cpu: remove redundant assignment of variable retval (Mark Langsdorf) [2065730] - driver core: dd: remove deferred_devices variable (Mark Langsdorf) [2065730] - driver core: component: remove dentry pointer in "struct master" (Mark Langsdorf) [2065730] - driver core: auxiliary bus: Remove unneeded module bits (Mark Langsdorf) [2065730] - PM: domains: Don't runtime resume devices at genpd_prepare() (Mark Langsdorf) [2065730] - redhat/configs: Add CONFIG_X86_AMD_PSTATE (Prarit Bhargava) - ACPI: CPPC: Drop redundant local variable from cpc_read() (Prarit Bhargava) [1961726] - ACPI: CPPC: Fix up I/O port access in cpc_read() (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Fix Kconfig dependencies for AMD P-State (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Fix struct amd_cpudata kernel-doc comment (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add AMD P-State performance attributes (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add AMD P-State frequencies attributes (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add boost mode support for AMD P-State (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add trace for AMD P-State module (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Introduce the support for the processors with shared memory solution (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add fast switch function for AMD P-State (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Introduce a new AMD P-State driver to support future processors (Prarit Bhargava) [1961726] - ACPI: CPPC: Add CPPC enable register function (Prarit Bhargava) [1961726] - ACPI: CPPC: Check present CPUs for determining _CPC is valid (Prarit Bhargava) [1961726] - ACPI: CPPC: Implement support for SystemIO registers (Prarit Bhargava) [1961726] - x86/msr: Add AMD CPPC MSR definitions (Prarit Bhargava) [1961726] - x86/cpufeatures: Add AMD Collaborative Processor Performance Control feature flag (Prarit Bhargava) [1961726] - cpufreq: remove useless INIT_LIST_HEAD() (Prarit Bhargava) [1961726] - cpufreq: CPPC: Pass structure instance by reference (Prarit Bhargava) [1961726] - cpufreq: CPPC: Fix potential memleak in cppc_cpufreq_cpu_init (Prarit Bhargava) [1961726] - cpufreq: CPPC: Migrate to ->exit() callback instead of ->stop_cpu() (Prarit Bhargava) [1961726] - cpufreq: cppc: simplify default delay_us setting (Prarit Bhargava) [1961726] - cppc_cpufreq: replace per-cpu data array with a list (Prarit Bhargava) [1961726] - cppc_cpufreq: expose information on frequency domains (Prarit Bhargava) [1961726] - cppc_cpufreq: clarify support for coordination types (Prarit Bhargava) [1961726] - cppc_cpufreq: use policy->cpu as driver of frequency setting (Prarit Bhargava) [1961726] - cppc_cpufreq: simplify use of performance capabilities (Prarit Bhargava) [1961726] - cppc_cpufreq: clean up cpu, cpu_num and cpunum variable use (Prarit Bhargava) [1961726] - cppc_cpufreq: fix misspelling, code style and readability issues (Prarit Bhargava) [1961726] - cpufreq: CPPC: Reuse caps variable in few routines (Prarit Bhargava) [1961726] - cpufreq: cppc: Reorder code and remove apply_hisi_workaround variable (Prarit Bhargava) [1961726] - cpufreq: CPPC: add SW BOOST support (Prarit Bhargava) [1961726] - net/sched: act_ct: fix ref leak when switching zones (Marcelo Ricardo Leitner) [2014027] - net/sched: act_ct: Fix flow table lookup after ct clear or switching zones (Marcelo Ricardo Leitner) [2014027] - genirq: Provide new interfaces for affinity hints (Ivan Vecera) [2070044] - af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register (Xin Long) [2075181] - ipv6: make ip6_rt_gc_expire an atomic_t (Hangbin Liu) [2077365] - ipv6: fix panic when forwarding a pkt with no in6 dev (Hangbin Liu) [2077365] - net: ipv6: ensure we call ipv6_mc_down() at most once (Hangbin Liu) [2077365] - ipv6/addrconf: use a boolean to choose between UNREGISTER/DOWN (Hangbin Liu) [2077365] - ipv6/addrconf: call addrconf_ifdown with consistent values (Hangbin Liu) [2077365] - ipmr,ip6mr: acquire RTNL before calling ip[6]mr_free_table() on failure path (Hangbin Liu) [2077365] - ipv6: annotate accesses to fn->fn_sernum (Hangbin Liu) [2077365] - ipv6: correct comments about fib6_node sernum (Hangbin Liu) [2077365] - ipv6: fix typos in __ip6_finish_output() (Hangbin Liu) [2077365] - oom_kill.c: futex: delay the OOM reaper to allow time for proper futex cleanup (Nico Pache) [1778048] - KVM: PPC: Fix TCE handling for VFIO (Daniel Henrique Barboza) [2062687] - udf: Restore i_lenAlloc when inode expansion fails (Carlos Maiolino) [2054653] {CVE-2022-0617} - udf: Fix NULL ptr deref when converting from inline format (Carlos Maiolino) [2054653] {CVE-2022-0617} - net/tls: fix slab-out-of-bounds bug in decrypt_internal (Sabrina Dubroca) [2080344] - tls: fix replacing proto_ops (Sabrina Dubroca) [2080344] - net/tls: use semicolons rather than commas to separate statements (Sabrina Dubroca) [2080344] - redhat: further rpminspect tuning (Jarod Wilson)- tun: annotate access to queue->trans_start (Ivan Vecera) [2069673] - net: annotate accesses to queue->trans_start (Ivan Vecera) [2069673] - ntb_hw_amd: Add NTB PCI ID for new gen CPU (Sudheesh Mavila) [2037287] - ipmi: initialize len variable (Tony Camuso) [2069839] - ipmi: kcs: aspeed: Remove old bindings support (Tony Camuso) [2069839] - ipmi:ipmb: Add the ability to have a separate slave and master device (Tony Camuso) [2069839] - ipmi:ipmi_ipmb: Unregister the SMI on remove (Tony Camuso) [2069839] - ipmi: kcs: aspeed: Add AST2600 compatible string (Tony Camuso) [2069839] - ipmi: ssif: replace strlcpy with strscpy (Tony Camuso) [2069839] - ipmi/watchdog: Constify ident (Tony Camuso) [2069839] - ipmi: Fix UAF when uninstall ipmi_si and ipmi_msghandler module (Tony Camuso) [2069839] - ipmi: fix initialization when workqueue allocation fails (Tony Camuso) [2069839] - ipmi: bail out if init_srcu_struct fails (Tony Camuso) [2069839] - ipmi: ssif: initialize ssif_info->client early (Tony Camuso) [2069839] - ipmi: msghandler: Make symbol 'remove_work_wq' static (Tony Camuso) [2069839] - ipmi: Move remove_work to dedicated workqueue (Tony Camuso) [2069839] - ipmi: kcs_bmc: Fix a memory leak in the error handling path of 'kcs_bmc_serio_add_device()' (Tony Camuso) [2069839] - char: ipmi: replace snprintf in show functions with sysfs_emit (Tony Camuso) [2069839] - ipmi: ipmb: fix dependencies to eliminate build error (Tony Camuso) [2069839] - ipmi:ipmb: Add OF support (Tony Camuso) [2069839] - ipmi: bt: Add ast2600 compatible string (Tony Camuso) [2069839] - ipmi: bt-bmc: Use registers directly (Tony Camuso) [2069839] - ipmi: ipmb: Fix off-by-one size check on rcvlen (Tony Camuso) [2069839] - ipmi:ssif: Use depends on, not select, for I2C (Tony Camuso) [2069839] - ipmi:ipmb: Add initial support for IPMI over IPMB (Tony Camuso) [2069839] - ipmi: Export ipmb_checksum() (Tony Camuso) [2069839] - ipmi: Check error code before processing BMC response (Tony Camuso) [2069839] - ipmi:devintf: Return a proper error when recv buffer too small (Tony Camuso) [2069839] - ipmi: Disable some operations during a panic (Tony Camuso) [2069839] - ipmi:watchdog: Set panic count to proper value on a panic (Tony Camuso) [2069839] - char: ipmi: use DEVICE_ATTR helper macro (Tony Camuso) [2069839] - ipmi: rate limit ipmi smi_event failure message (Tony Camuso) [2069839] - cifs: fix NULL ptr dereference in smb2_ioctl_query_info() (Ronnie Sahlberg) [2074316] - cifs: prevent bad output lengths in smb2_ioctl_query_info() (Ronnie Sahlberg) [2074316] - net: tcp better handling of reordering then loss cases (Marcelo Ricardo Leitner) [2074566] - tcp: tcp_mark_head_lost is only valid for sack-tcp (Marcelo Ricardo Leitner) [2074566] - udp6: allow SO_MARK ctrl msg to affect routing (Xin Long) [2066598] - ip: Fix SO_MARK in RST, ACK and ICMP packets (Xin Long) [2066598] - ip: support SO_MARK cmsg (Xin Long) [2066598] - ip: unconditionally set cork gso_size (Xin Long) [2066598] - ip: remove tx_flags from ipcm_cookie and use same logic for v4 and v6 (Xin Long) [2066598] - ipv6: fold sockcm_cookie into ipcm6_cookie (Xin Long) [2066598] - sock: sockc cookie initializer (Xin Long) [2066598] - ipv6: ipcm6_cookie initializer (Xin Long) [2066598] - ipv4: ipcm_cookie initializers (Xin Long) [2066598] - s390/kexec: fix memory leak of ipl report buffer (Lichen Liu) [2001758] - s390/kexec: fix return code handling (Lichen Liu) [2001758] - block: don't try to throttle split bio if iops limit isn't set (Ming Lei) [2027241] - block: throttle split bio in case of iops limit (Ming Lei) [2027241] - block: don't check bio in blk_throtl_dispatch_work_fn (Ming Lei) [2027241] - x86/apic/vector: Fix ordering in vector assignment (Frank Ramsay) [2076607] - mt76: mt7921e: fix possible probe failure after reboot (Íñigo Huguet) [2078877] - veth: Ensure eth header is in skb's linear part (Guillaume Nault) [1966887] - net: annotate accesses to dev->gso_max_segs (Ivan Vecera) [2080317] - net: annotate accesses to dev->gso_max_size (Ivan Vecera) [2080317] - NFS: Don't loop forever in nfs_do_recoalesce() (Scott Mayhew) [2080467] - tipc: fix the timer expires after interval 100ms (Xin Long) [2080369] - tipc: Fix end of loop tests for list_for_each_entry() (Xin Long) [2080369] - tipc: fix a bit overflow in tipc_crypto_key_rcv() (Xin Long) [2080369] - tipc: rate limit warning for received illegal binding update (Xin Long) [2080369] - net: tipc: remove unused static inlines (Xin Long) [2080369] - tipc: fix unique bearer names sanity check (Xin Long) [2080369] - net/tipc: fix missing destroy_workqueue() on error in tipc_crypto_start() (Xin Long) [2080369] - tipc: add extack messages for bearer/media failure (Xin Long) [2080369] - scsi: smartpqi: Fix unused variable pqi_pm_ops for clang (Don Brace) [2012227] - scsi: smartpqi: Update version to 2.1.14-035 (Don Brace) [2012227] - scsi: smartpqi: Fix lsscsi -t SAS addresses (Don Brace) [2012227] - scsi: smartpqi: Fix hibernate and suspend (Don Brace) [2012227] - scsi: smartpqi: Fix BUILD_BUG_ON() statements (Don Brace) [2012227] - scsi: smartpqi: Fix NUMA node not updated during init (Don Brace) [2012227] - scsi: smartpqi: Expose SAS address for SATA drives (Don Brace) [2012227] - scsi: smartpqi: Speed up RAID 10 sequential reads (Don Brace) [2012227] - scsi: smartpqi: Fix kdump issue when controller is locked up (Don Brace) [2012227] - scsi: smartpqi: Update volume size after expansion (Don Brace) [2012227] - scsi: smartpqi: Avoid drive spin-down during suspend (Don Brace) [2012227] - scsi: smartpqi: Resolve delay issue with PQI_HZ value (Don Brace) [2012227] - scsi: smartpqi: Fix a typo in func pqi_aio_submit_io() (Don Brace) [2012227] - scsi: smartpqi: Fix a name typo and cleanup code (Don Brace) [2012227] - scsi: smartpqi: Quickly propagate path failures to SCSI midlayer (Don Brace) [2012227] - scsi: smartpqi: Eliminate drive spin down on warm boot (Don Brace) [2012227] - scsi: smartpqi: Enable SATA NCQ priority in sysfs (Don Brace) [2012227] - scsi: smartpqi: Add PCI IDs (Don Brace) [2012227] - scsi: smartpqi: Fix rmmod stack trace (Don Brace) [2012227] - ibmvnic: fix race between xmit and reset (Diego Domingos) [2051354] - ibmvnic: Allow queueing resets during probe (Diego Domingos) [2051354] - ibmvnic: clear fop when retrying probe (Diego Domingos) [2051354] - ibmvnic: init init_done_rc earlier (Diego Domingos) [2051354] - ibmvnic: register netdev after init of adapter (Diego Domingos) [2051354] - ibmvnic: complete init_done on transport events (Diego Domingos) [2051354] - ibmvnic: define flush_reset_queue helper (Diego Domingos) [2051354] - ibmvnic: initialize rc before completing wait (Diego Domingos) [2051354] - ibmvnic: free reset-work-item when flushing (Diego Domingos) [2051354] - ibmvnic: schedule failover only if vioctl fails (Diego Domingos) [2051354] - net/ibmvnic: Cleanup workaround doing an EOI after partition migration (Diego Domingos) [2051354]- xfs: don't expose misaligned extszinherit hints to userspace (Brian Foster) [2072552] - xfs: correct the narrative around misaligned rtinherit/extszinherit dirs (Brian Foster) [2072552] - xfs: fix endianness issue in xfs_ag_shrink_space (Brian Foster) [2072552] - xfs: bunmapi has unnecessary AG lock ordering issues (Brian Foster) [2072552] - xfs: btree format inode forks can have zero extents (Brian Foster) [2072552] - xfs: validate extsz hints against rt extent size when rtinherit is set (Brian Foster) [2072552] - xfs: standardize extent size hint validation (Brian Foster) [2072552] - xfs: check free AG space when making per-AG reservations (Brian Foster) [2072552] - xfs: retry allocations when locality-based search fails (Brian Foster) [2072552] - xfs: adjust rt allocation minlen when extszhint > rtextsize (Brian Foster) [2072552] - iomap: remove unused private field from ioend (Brian Foster) [2072552] - xfs: don't allow log writes if the data device is readonly (Brian Foster) [2072552] - xfs: count free space btree blocks when scrubbing pre-lazysbcount fses (Brian Foster) [2072552] - xfs: update superblock counters correctly for !lazysbcount (Brian Foster) [2072552] - xfs: don't check agf_btreeblks on pre-lazysbcount filesystems (Brian Foster) [2072552] - xfs: rename struct xfs_legacy_ictimestamp (Brian Foster) [2072552] - xfs: rename xfs_ictimestamp_t (Brian Foster) [2072552] - xfs: remove xfs_quiesce_attr declaration (Brian Foster) [2072552] - xfs: remove XFS_IFEXTENTS (Brian Foster) [2072552] - xfs: remove XFS_IFINLINE (Brian Foster) [2072552] - xfs: remove XFS_IFBROOT (Brian Foster) [2072552] - xfs: only look at the fork format in xfs_idestroy_fork (Brian Foster) [2072552] - xfs: simplify xfs_attr_remove_args (Brian Foster) [2072552] - xfs: rename and simplify xfs_bmap_one_block (Brian Foster) [2072552] - xfs: move the XFS_IFEXTENTS check into xfs_iread_extents (Brian Foster) [2072552] - xfs: get rid of the ip parameter to xchk_setup_* (Brian Foster) [2072552] - xfs: move the check for post-EOF mappings into xfs_can_free_eofblocks (Brian Foster) [2072552] - xfs: move the xfs_can_free_eofblocks call under the IOLOCK (Brian Foster) [2072552] - xfs: precalculate default inode attribute offset (Brian Foster) [2072552] - xfs: default attr fork size does not handle device inodes (Brian Foster) [2072552] - xfs: inode fork allocation depends on XFS_IFEXTENT flag (Brian Foster) [2072552] - xfs: eager inode attr fork init needs attr feature awareness (Brian Foster) [2072552] - xfs: scrub: Disable check for unoptimized data fork bmbt node (Brian Foster) [2072552] - xfs: Use struct xfs_bmdr_block instead of struct xfs_btree_block to calculate root node size (Brian Foster) [2072552] - xfs: merge _xfs_dic2xflags into xfs_ip2xflags (Brian Foster) [2072552] - xfs: move the di_crtime field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_flags2 field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_flags field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_forkoff field to struct xfs_inode (Brian Foster) [2072552] - xfs: use a union for i_cowextsize and i_flushiter (Brian Foster) [2072552] - xfs: use XFS_B_TO_FSB in xfs_ioctl_setattr (Brian Foster) [2072552] - xfs: cleanup xfs_fill_fsxattr (Brian Foster) [2072552] - xfs: move the di_flushiter field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_cowextsize field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_extsize field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_nblocks field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_size field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_projid field to struct xfs_inode (Brian Foster) [2072552] - xfs: don't clear the "dinode core" in xfs_inode_alloc (Brian Foster) [2072552] - xfs: remove the di_dmevmask and di_dmstate fields from struct xfs_icdinode (Brian Foster) [2072552] - xfs: remove the unused xfs_icdinode_has_bigtime helper (Brian Foster) [2072552] - xfs: handle crtime more carefully in xfs_bulkstat_one_int (Brian Foster) [2072552] - xfs: consistently initialize di_flags2 (Brian Foster) [2072552] - xfs: split xfs_imap_to_bp (Brian Foster) [2072552] - xfs: scrub: Remove incorrect check executed on block format directories (Brian Foster) [2072552] - xfs: add error injection for per-AG resv failure (Brian Foster) [2072552] - xfs: support shrinking unused space in the last AG (Brian Foster) [2072552] - xfs: introduce xfs_ag_shrink_space() (Brian Foster) [2072552] - xfs: hoist out xfs_resizefs_init_new_ags() (Brian Foster) [2072552] - xfs: update lazy sb counters immediately for resizefs (Brian Foster) [2072552] - xfs: __percpu_counter_compare() inode count debug too expensive (Brian Foster) [2072552] - xfs: reduce debug overhead of dir leaf/node checks (Brian Foster) [2072552] - xfs: No need for inode number error injection in __xfs_dir3_data_check (Brian Foster) [2072552] - xfs: type verification is expensive (Brian Foster) [2072552] - xfs: optimise xfs_buf_item_size/format for contiguous regions (Brian Foster) [2072552] - xfs: xfs_buf_item_size_segment() needs to pass segment offset (Brian Foster) [2072552] - xfs: reduce buffer log item shadow allocations (Brian Foster) [2072552] - xfs: initialise attr fork on inode create (Brian Foster) [2072552] - xfs: ensure xfs_errortag_random_default matches XFS_ERRTAG_MAX (Brian Foster) [2072552] - xfs: rename variable mp to parsing_mp (Brian Foster) [2072552] - xfs: rename the blockgc workqueue (Brian Foster) [2072552] - xfs: validate ag btree levels using the precomputed values (Brian Foster) [2072552] - xfs: remove return value from xchk_ag_btcur_init (Brian Foster) [2072552] - xfs: set the scrub AG number in xchk_ag_read_headers (Brian Foster) [2072552] - xfs: bail out of scrub immediately if scan incomplete (Brian Foster) [2072552] - xfs: drop freeze protection when running GETFSMAP (Brian Foster) [2072552] - selftest/powerpc: Add PAPR sysfs attributes sniff test (Steve Best) [1986183] - powerpc/pseries: Interface to represent PAPR firmware attributes (Steve Best) [1986183] - net: mana: Remove unnecessary check of cqe_type in mana_process_rx_cqe() (Mohammed Gamal) [2051719] - net: mana: Add handling of CQE_RX_TRUNCATED (Mohammed Gamal) [2051719] - RDMA/rxe: Revert changes from irqsave to bh locks (Kamal Heib) [2056499] - RDMA/rxe: Check the last packet by RXE_END_MASK (Kamal Heib) [2056499] - RDMA/rxe: Remove qp->grp_lock and qp->grp_list (Kamal Heib) [2056499] - RDMA/rxe: Remove rxe_drop_all_macst_groups (Kamal Heib) [2056499] - RDMA/rxe: Enforce IBA o10-2.2.3 (Kamal Heib) [2056499] - RDMA/rxe: Rename rxe_mc_grp and rxe_mc_elem (Kamal Heib) [2056499] - RDMA/rxe: Move rxe_mcast_attach/detach to rxe_mcast.c (Kamal Heib) [2056499] - RDMA/rxe: Move rxe_mcast_add/delete to rxe_mcast.c (Kamal Heib) [2056499] - RDMA/cma: Do not change route.addr.src_addr outside state checks (Kamal Heib) [2056499] - RDMA/ib_srp: Fix a deadlock (Kamal Heib) [2056499] - RDMA/siw: Fix broken RDMA Read Fence/Resume logic. (Kamal Heib) [2056499] - IB/cm: Release previously acquired reference counter in the cm_id_priv (Kamal Heib) [2056499] - RDMA/siw: Fix refcounting leak in siw_create_qp() (Kamal Heib) [2056499] - RDMA/ucma: Protect mc during concurrent multicast leaves (Kamal Heib) [2056499] - RDMA/cma: Use correct address when leaving multicast group (Kamal Heib) [2056499] - IB/hfi1: Fix tstats alloc and dealloc (Kamal Heib) [2056499 2049845] - IB/hfi1: Fix AIP early init panic (Kamal Heib) [2056499 2049845] - IB/hfi1: Fix alloc failure with larger txqueuelen (Kamal Heib) [2056499 2049845] - IB/hfi1: Fix panic with larger ipoib send_queue_size (Kamal Heib) [2056499 2049845] - all: replace find_next{,_zero}_bit with find_first{,_zero}_bit where appropriate (Kamal Heib) [2056499] - RDMA/irdma: Remove the redundant return (Kamal Heib) [2056499 2037972] - RDMA/rxe: Use the standard method to produce udp source port (Kamal Heib) [2056499] - RDMA/irdma: Make the source udp port vary (Kamal Heib) [2056499 2037972] - RDMA/core: Calculate UDP source port based on flow label or lqpn/rqpn (Kamal Heib) [2056499] - IB/iser: Align coding style across driver (Kamal Heib) [2056499] - IB/iser: Remove un-needed casting to/from void pointer (Kamal Heib) [2056499] - IB/iser: Don't suppress send completions (Kamal Heib) [2056499] - IB/iser: Rename ib_ret local variable (Kamal Heib) [2056499] - IB/iser: Fix RNR errors (Kamal Heib) [2056499] - IB/iser: Remove deprecated pi_guard module param (Kamal Heib) [2056499] - IB/mlx5: Expose NDR speed through MAD (Kamal Heib) [2056499] - RDMA/rxe: Delete deprecated module parameters interface (Kamal Heib) [2056499] - RDMA/mad: Delete duplicated init_query_mad functions (Kamal Heib) [2056499] - RDMA/rxe: Fix indentations and operators sytle (Kamal Heib) [2056499] - RDMA: Use default_groups in kobj_type (Kamal Heib) [2056499] - RDMA/rxe: Fix a typo in opcode name (Kamal Heib) [2056499] - RDMA/rxe: Remove the unused xmit_errors member (Kamal Heib) [2056499] - RDMA/rxe: Remove redundant err variable (Kamal Heib) [2056499] - RDMA/irdma: Use auxiliary_device driver data helpers (Kamal Heib) [2056499 2037972] - driver core: auxiliary bus: Add driver data helpers (Kamal Heib) [2056499] - RDMA/cma: Let cma_resolve_ib_dev() continue search even after empty entry (Kamal Heib) [2056499] - RDMA/core: Let ib_find_gid() continue search even after empty entry (Kamal Heib) [2056499] - RDMA/core: Modify rdma_query_gid() to return accurate error codes (Kamal Heib) [2056499] - RDMA/rxe: Remove the unnecessary variable (Kamal Heib) [2056499] - RDMA/irdma: Fix the type used to declare a bitmap (Kamal Heib) [2056499 2037972] - RDMA/uverbs: Remove the unnecessary assignment (Kamal Heib) [2056499] - RDMA/siw: Use max() instead of doing it manually (Kamal Heib) [2056499] - RDMA/pvrdma: Use non-atomic bitmap functions when possible (Kamal Heib) [2056499] - RDMA/pvrdma: Use bitmap_zalloc() when applicable (Kamal Heib) [2056499] - IB/hfi1: Use bitmap_zalloc() when applicable (Kamal Heib) [2056499 2049845] - RDMA/siw: Use helper function to set sys_image_guid (Kamal Heib) [2056499] - RDMA/cma: Remove open coding of overflow checking for private_data_len (Kamal Heib) [2056499] - RDMA/rxe: Remove some #defines from rxe_pool.h (Kamal Heib) [2056499] - RDMA/rxe: Remove #include "rxe_loc.h" from rxe_pool.c (Kamal Heib) [2056499] - RDMA/rxe: Save object pointer in pool element (Kamal Heib) [2056499] - RDMA/rxe: Copy setup parameters into rxe_pool (Kamal Heib) [2056499] - RDMA/rxe: Cleanup rxe_pool_entry (Kamal Heib) [2056499] - RDMA/rxe: Replace irqsave locks with bh locks (Kamal Heib) [2056499] - RDMA/usnic: Clean up usnic_ib_alloc_pd() (Kamal Heib) [2056499] - RDMA/irdma: Use helper function to set GUIDs (Kamal Heib) [2056499 2037972] - RDMA/rxe: Prevent double freeing rxe_map_set() (Kamal Heib) [2056498] - IB/hfi1: Fix leak of rcvhdrtail_dummy_kvaddr (Kamal Heib) [2056498 2049845] - IB/hfi1: Fix early init panic (Kamal Heib) [2056498 2049845] - IB/hfi1: Insure use of smp_processor_id() is preempt disabled (Kamal Heib) [2056498 2049845] - IB/hfi1: Correct guard on eager buffer deallocation (Kamal Heib) [2056498 2049845] - RDMA: Fix use-after-free in rxe_queue_cleanup (Kamal Heib) [2056498] - RDMA/nldev: Check stat attribute before accessing it (Kamal Heib) [2056498] - IB/hfi1: Properly allocate rdma counter desc memory (Kamal Heib) [2056498 2049845] - RDMA/core: Set send and receive CQ before forwarding to the driver (Kamal Heib) [2056498] - RDMA/netlink: Add __maybe_unused to static inline in C file (Kamal Heib) [2056498] - RDMA/core: Require the driver to set the IOVA correctly during rereg_mr (Kamal Heib) [2056498] - RDMA/irdma: optimize rx path by removing unnecessary copy (Kamal Heib) [2056498 2037972] - IB/opa_vnic: Rebranding of OPA VNIC driver to Cornelis Networks (Kamal Heib) [2056498] - IB/hfi1: Rebranding of hfi1 driver to Cornelis Networks (Kamal Heib) [2056498 2049845] - RDMA/rxe: Make rxe_type_info static const (Kamal Heib) [2056498] - RDMA/rxe: Use 'bitmap_zalloc()' when applicable (Kamal Heib) [2056498] - RDMA/rxe: Save a few bytes from struct rxe_pool (Kamal Heib) [2056498] - RDMA/irdma: Remove the unused variable local_qp (Kamal Heib) [2056498 2037972] - RDMA/core: Fix missed initialization of rdma_hw_stats::lock (Kamal Heib) [2056498] - RDMA/irdma: Remove the unused spin lock in struct irdma_qp_uk (Kamal Heib) [2056498 2037972] - RDMA: Constify netdev->dev_addr accesses (Kamal Heib) [2056498] - RDMA/ipoib: Use dev_addr_mod() (Kamal Heib) [2056498] - RDMA/core: Use kvzalloc when allocating the struct ib_port (Kamal Heib) [2056498] - RDMA/irdma: Make irdma_uk_cq_init() return a void (Kamal Heib) [2056498 2037972] - RDMA/rxe: Convert kernel UD post send to use ah_num (Kamal Heib) [2056498] - RDMA/rxe: Lookup kernel AH from ah index in UD WQEs (Kamal Heib) [2056498] - RDMA/rxe: Replace ah->pd by ah->ibah.pd (Kamal Heib) [2056498] - RDMA/rxe: Create AH index and return to user space (Kamal Heib) [2056498] - RDMA/rxe: Change AH objects to indexed (Kamal Heib) [2056498] - RDMA/rxe: Move AV from rxe_send_wqe to rxe_send_wr (Kamal Heib) [2056498] - RDMA/irdma: Remove irdma_cqp_up_map_cmd() (Kamal Heib) [2056498 2037972] - RDMA/irdma: Remove irdma_get_hw_addr() (Kamal Heib) [2056498 2037972] - RDMA/irdma: Remove irdma_sc_send_lsmm_nostag() (Kamal Heib) [2056498 2037972] - RDMA/irdma: Remove irdma_uk_mw_bind() (Kamal Heib) [2056498 2037972] - RDMA: Remove redundant 'flush_workqueue()' calls (Kamal Heib) [2056498] - RDMA/iwpm: Remove redundant initialization of pointer err_str (Kamal Heib) [2056498] - RDMA/nldev: Allow optional-counter status configuration through RDMA netlink (Kamal Heib) [2056498] - RDMA/nldev: Split nldev_stat_set_mode_doit out of nldev_stat_set_doit (Kamal Heib) [2056498] - RDMA/nldev: Add support to get status of all counters (Kamal Heib) [2056498] - RDMA/counter: Add optional counter support (Kamal Heib) [2056498] - RDMA/counter: Add an is_disabled field in struct rdma_hw_stats (Kamal Heib) [2056498] - RDMA/core: Add a helper API rdma_free_hw_stats_struct (Kamal Heib) [2056498] - RDMA/bnxt_re: Fix kernel panic when trying to access bnxt_re_stat_descs (Kamal Heib) [2056499] - RDMA/counter: Add a descriptor in struct rdma_hw_stats (Kamal Heib) [2056498] - RDMA/bnxt_re: Update statistics counter name (Kamal Heib) [2056498] - RDMA/bnxt_re: Add extended statistics counters (Kamal Heib) [2056498] - RDMA/efa: CQ notifications (Kamal Heib) [2056498] - RDMA/rxe: Remove duplicate settings (Kamal Heib) [2056498] - RDMA/rxe: Set partial attributes when completion status != IBV_WC_SUCCESS (Kamal Heib) [2056498] - RDMA/rxe: Change the is_user member of struct rxe_cq to bool (Kamal Heib) [2056498] - RDMA/rxe: Remove the is_user members of struct rxe_sq/rxe_rq/rxe_srq (Kamal Heib) [2056498] - RDMA/irdma: Delete unused struct irdma_bth (Kamal Heib) [2056498 2037972] - IB/hf1: Use string_upper() instead of an open coded variant (Kamal Heib) [2056498] - RDMA/cma: Split apart the multiple uses of the same list heads (Kamal Heib) [2056498] - RDMA/rxe: Remove unused WR_READ_WRITE_OR_SEND_MASK (Kamal Heib) [2056498] - RDMA/rxe: Add MASK suffix for RXE_READ_OR_ATOMIC and RXE_WRITE_OR_SEND (Kamal Heib) [2056498] - RDMA/rxe: Add new RXE_READ_OR_WRITE_MASK (Kamal Heib) [2056498] - RDMA/hfi1: Use struct_size() and flex_array_size() helpers (Kamal Heib) [2056498 2049845] - IB/hfi1: Add ring consumer and producers traces (Kamal Heib) [2056498 2049845] - IB/hfi1: Remove atomic completion count (Kamal Heib) [2056498 2049845] - IB/hfi1: Tune netdev xmit cachelines (Kamal Heib) [2056498 2049845] - IB/hfi1: Get rid of tx priv backpointer (Kamal Heib) [2056498 2049845] - IB/hfi1: Get rid of hot path divide (Kamal Heib) [2056498 2049845] - IB/hfi1: Remove cache and embed txreq in ring (Kamal Heib) [2056498 2049845] - RDMA/rxe: Only allow invalidate for appropriate MRs (Kamal Heib) [2056498] - RDMA/rxe: Create duplicate mapping tables for FMRs (Kamal Heib) [2056498] - RDMA/rxe: Separate HW and SW l/rkeys (Kamal Heib) [2056498] - RDMA/rxe: Cleanup MR status and type enums (Kamal Heib) [2056498] - RDMA/rxe: Add memory barriers to kernel queues (Kamal Heib) [2056498] - RDMA/rxe: remove the unnecessary variable (Kamal Heib) [2056498] - RDMA/rxe: remove the redundant variable (Kamal Heib) [2056498] - RDMA/rxe: Fix wrong port_cap_flags (Kamal Heib) [2056498] - RDMA/rdmavt: Fix error code in rvt_create_qp() (Kamal Heib) [2056497 2049845] - IB/hfi1: Fix abba locking issue with sc_disable() (Kamal Heib) [2056497 2049845] - RDMA/hfi1: Fix kernel pointer leak (Kamal Heib) [2056497 2049845] - RDMA/usnic: Lock VF with mutex instead of spinlock (Kamal Heib) [2056497] - RDMA/cma: Do not change route.addr.src_addr.ss_family (Kamal Heib) [2056497] - IB/hfi1: make hist static (Kamal Heib) [2056497 2049845] - RDMA/hfi1: Convert to SPDX identifier (Kamal Heib) [2056497 2049845] - IB/rdmavt: Convert to SPDX identifier (Kamal Heib) [2056497 2049845] - RDMA/core/sa_query: Retry SA queries (Kamal Heib) [2056497] - IB/core: Remove deprecated current_seq comments (Kamal Heib) [2056497] - RDMA/efa: Rename vector field in efa_irq struct to irqn (Kamal Heib) [2056497] - RDMA/efa: Remove unused cpu field from irq struct (Kamal Heib) [2056497] - RDMA/core/sa_query: Remove unused function (Kamal Heib) [2056497] - RDMA/hfi1: Stop using seq_get_buf in _driver_stats_seq_show (Kamal Heib) [2056497 2049845] - RDMA/core: Create clean QP creations interface for uverbs (Kamal Heib) [2056497] - RDMA/core: Properly increment and decrement QP usecnts (Kamal Heib) [2056497] - RDMA/core: Configure selinux QP during creation (Kamal Heib) [2056497] - RDMA/core: Reorganize create QP low-level functions (Kamal Heib) [2056497] - RDMA/core: Remove protection from wrong in-kernel API usage (Kamal Heib) [2056497] - RDMA/core: Delete duplicated and unreachable code (Kamal Heib) [2056497] - rdma/qedr: Fix crash due to redundant release of device's qp memory (Kamal Heib) [2056497] - RDMA: Globally allocate and release QP memory (Kamal Heib) [2056497] - RDMA/mlx5: Rework custom driver QP type creation (Kamal Heib) [2056497] - RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp (Kamal Heib) [2056497] - RDMA/rdmavt: Decouple QP and SGE lists allocations (Kamal Heib) [2056497 2049845] - RDMA/efa: Remove double QP type assignment (Kamal Heib) [2056497] - RDMA/hfi1: Fix typo in comments (Kamal Heib) [2056497 2049845] - RDMA/iwpm: Rely on the rdma_nl_[un]register() to ensure that requests are valid (Kamal Heib) [2056497] - RDMA/iwpm: Remove not-needed reference counting (Kamal Heib) [2056497] - RDMA/hfi1: Convert from atomic_t to refcount_t on hfi1_devdata->user_refcount (Kamal Heib) [2056497 2049845] - IB/hfi1: Adjust pkey entry in index 0 (Kamal Heib) [2056497 2049845] - IB/hfi1: Indicate DMA wait when txq is queued for wakeup (Kamal Heib) [2056497 2049845] - RDMA/rxe: Fix types in rxe_icrc.c (Kamal Heib) [2056497] - RDMA/rxe: Add kernel-doc comments to rxe_icrc.c (Kamal Heib) [2056497] - RDMA/rxe: Move crc32 init code to rxe_icrc.c (Kamal Heib) [2056497] - RDMA/rxe: Fixup rxe_icrc_hdr (Kamal Heib) [2056497] - RDMA/rxe: Move rxe_crc32 to a subroutine (Kamal Heib) [2056497] - RDMA/rxe: Move ICRC generation to a subroutine (Kamal Heib) [2056497] - RDMA/rxe: Fixup rxe_send and rxe_loopback (Kamal Heib) [2056497] - RDMA/rxe: Move rxe_xmit_packet to a subroutine (Kamal Heib) [2056497] - RDMA/rxe: Move ICRC checking to a subroutine (Kamal Heib) [2056497] - IB/core: Read subnet_prefix in ib_query_port via cache. (Kamal Heib) [2056497] - IB/core: Shifting initialization of device->cache_lock (Kamal Heib) [2056497] - IB/core: Updating cache for subnet_prefix in config_non_roce_gid_cache() (Kamal Heib) [2056497] - RDMA/efa: Split hardware stats to device and port stats (Kamal Heib) [2056497] - RDMA/rxe: Remove the repeated 'mr->umem = umem' (Kamal Heib) [2056497] - RDMA/siw: Convert siw_tx_hdt() to kmap_local_page() (Kamal Heib) [2056497] - RDMA/siw: Remove kmap() (Kamal Heib) [2056497] - treewide: Add missing semicolons to __assign_str uses (Kamal Heib) [2056497] - RDMA/hfi1: Remove use of kmap() (Kamal Heib) [2056497 2049845] - RDMA: Delete not-used static inline functions (Kamal Heib) [2056497] - mm/page_owner.c: record tgid (Waiman Long) [2069294] - mm/page_owner: record task command name (Waiman Long) [2069294] - mm/page_owner: print memcg information (Waiman Long) [2069294] - mm/page_owner: use scnprintf() to avoid excessive buffer overrun check (Waiman Long) [2069294] - lib/vsprintf: avoid redundant work with 0 size (Waiman Long) [2069294] - lib, stackdepot: add helper to print stack entries into buffer (Waiman Long) [2069294] - lib, stackdepot: add helper to print stack entries (Waiman Long) [2069294] - lib, stackdepot: check stackdepot handle before accessing slabs (Waiman Long) [2069294] - stacktrace: move filter_irq_stacks() to kernel/stacktrace.c (Waiman Long) [2069294] - lib/stackdepot: introduce __stack_depot_save() (Waiman Long) [2069294] - mm: introduce PAGEFLAGS_MASK to replace ((1UL << NR_PAGEFLAGS) - 1) (Waiman Long) [2069294] - mm/page_owner: constify dump_page_owner (Waiman Long) [2069294] - mm: page_owner: detect page_owner recursion via task_struct (Waiman Long) [2069294] - mm: page_owner: use kstrtobool() to parse bool option (Waiman Long) [2069294] - mm: page_owner: fetch backtrace only for tracked pages (Waiman Long) [2069294] - mm, page_owner: remove unused parameter in __set_page_owner_handle (Waiman Long) [2069294] - mm/page_owner: record the timestamp of all pages during free (Waiman Long) [2069294] - mm/page_owner: use helper function zone_end_pfn() to get end_pfn (Waiman Long) [2069294] - mm/page_owner: record timestamp and pid (Waiman Long) [2069294] - x86/platform/uv: Log gap hole end size (Frank Ramsay) [2074098] - x86/platform/uv: Update TSC sync state for UV5 (Frank Ramsay) [2074098] - x86/platform/uv: Update NMI Handler for UV5 (Frank Ramsay) [2074098] - x86/platform/uv: Remove unused variable in UV5 NMI handler (Frank Ramsay) [2074098] - timekeeping: Boot should be boottime for coarse ns accessor (Ivan Vecera) [2076879]- net_tstamp: define new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX (Petr Oros) [2070041] - net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX (Petr Oros) [2070041] - net: fix NULL pointer reference in cipso_v4_doi_free (Guillaume Nault) [2074597] - partitions/efi: Fix partition name parsing in GUID partition entry (Ming Lei) [2075085] - psi: Fix uaf issue when psi trigger is destroyed while being polled (Waiman Long) [2046396] - cgroup/cpuset: Make child cpusets restrict parents on v1 hierarchy (Waiman Long) [2046396] - cgroup/cpuset: Don't let child cpusets restrict parent in default hierarchy (Waiman Long) [2046396] - mm/page_alloc: detect allocation forbidden by cpuset and bail out early (Waiman Long) [2046396] - cgroup: Fix rootcg cpu.stat guest double counting (Waiman Long) [2046396] - cgroup: no need for cgroup_mutex for /proc/cgroups (Waiman Long) [2046396] - cgroup: remove cgroup_mutex from cgroupstats_build (Waiman Long) [2046396] - cgroup: Fix memory leak caused by missing cgroup_bpf_offline (Waiman Long) [2046396] - cgroup: cgroup-v1: do not exclude cgrp_dfl_root (Waiman Long) [2046396] - bpf, test, cgroup: Use sk_{alloc,free} for test cases (Waiman Long) [2046396] - bpf, cgroup: Assign cgroup in cgroup_sk_alloc when called from interrupt (Waiman Long) [2046396] - bpf, cgroups: Fix cgroup v2 fallback on v1/v2 mixed mode (Waiman Long) [2046396] - cgroup/cpuset: Change references of cpuset_mutex to cpuset_rwsem (Waiman Long) [2046396] - cgroup: Replace deprecated CPU-hotplug functions. (Waiman Long) [2046396] - cgroup/cpuset: Fix a partition bug with hotplug (Waiman Long) [2046396] - cgroup/cpuset: Miscellaneous code cleanup (Waiman Long) [2046396] - cgroup/cpuset: fix typos in comments (Waiman Long) [2046396] - enable DAMON configs (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/reclaim: document statistics parameters (Chris von Recklinghausen) [2004233] - mm/damon: hide kernel pointer from tracepoint event (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: hide kernel pointer from damon_va_three_regions() failure log (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: use pr_debug() for damon_va_three_regions() failure logging (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: remove an unnecessary variable (Chris von Recklinghausen) [2004233] - mm/damon: move the implementation of damon_insert_region to damon.h (Chris von Recklinghausen) [2004233] - mm/damon: add access checking for hugetlb pages (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: update for schemes statistics (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support all DAMOS stats (Chris von Recklinghausen) [2004233] - mm/damon/reclaim: provide reclamation statistics (Chris von Recklinghausen) [2004233] - mm/damon/schemes: account how many times quota limit has exceeded (Chris von Recklinghausen) [2004233] - mm/damon/schemes: account scheme actions that successfully applied (Chris von Recklinghausen) [2004233] - mm/damon: remove a mistakenly added comment for a future feature (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: update for kdamond_pid and (mk|rm)_contexts (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: mention tracepoint at the beginning (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: remove redundant information (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: update for scheme quotas and watermarks (Chris von Recklinghausen) [2004233] - mm/damon: convert macro functions to static inline functions (Chris von Recklinghausen) [2004233] - mm/damon: modify damon_rand() macro to static inline function (Chris von Recklinghausen) [2004233] - mm/damon: move damon_rand() definition into damon.h (Chris von Recklinghausen) [2004233] - mm/damon/schemes: add the validity judgment of thresholds (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: remove swap_ranges() and replace it with swap() (Chris von Recklinghausen) [2004233] - mm/damon: remove some unneeded function definitions in damon.h (Chris von Recklinghausen) [2004233] - mm/damon/core: use abs() instead of diff_of() (Chris von Recklinghausen) [2004233] - mm/damon: unified access_check function naming rules (Chris von Recklinghausen) [2004233] - mm/damon: add 'age' of region tracepoint support (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()' (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: protect targets destructions with kdamond_lock (Chris von Recklinghausen) [2004233] - selftests/damon: split test cases (Chris von Recklinghausen) [2004233] - selftests/damon: test debugfs file reads/writes with huge count (Chris von Recklinghausen) [2004233] - selftests/damon: test wrong DAMOS condition ranges input (Chris von Recklinghausen) [2004233] - selftests/damon: test DAMON enabling with empty target_ids case (Chris von Recklinghausen) [2004233] - selftests/damon: skip test if DAMON is running (Chris von Recklinghausen) [2004233] - mm/damon/vaddr-test: remove unnecessary variables (Chris von Recklinghausen) [2004233] - mm/damon/vaddr-test: split a test function having >1024 bytes frame size (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: remove an unnecessary warning message (Chris von Recklinghausen) [2004233] - mm/damon/core: remove unnecessary error messages (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: remove an unnecessary error message (Chris von Recklinghausen) [2004233] - mm/damon/core: use better timer mechanisms selection threshold (Chris von Recklinghausen) [2004233] - mm/damon/core: fix fake load reports due to uninterruptible sleeps (Chris von Recklinghausen) [2004233] - timers: implement usleep_idle_range() (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: fix missed use of damon_dbgfs_lock (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation (Chris von Recklinghausen) [2004233] - mm/damon: remove return value from before_terminate callback (Chris von Recklinghausen) [2004233] - mm/damon: fix a few spelling mistakes in comments and a pr_debug message (Chris von Recklinghausen) [2004233] - mm/damon: simplify stop mechanism (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/start: simplify the content (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/start: fix a wrong link (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/start: fix wrong example commands (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: add adaptive_targets list check before enable monitor_on (Chris von Recklinghausen) [2004233] - mm/damon: remove unnecessary variable initialization (Chris von Recklinghausen) [2004233] - Documentation/admin-guide/mm/damon: add a document for DAMON_RECLAIM (Chris von Recklinghausen) [2004233] - mm/damon: introduce DAMON-based Reclamation (DAMON_RECLAIM) (Chris von Recklinghausen) [2004233] - selftests/damon: support watermarks (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support watermarks (Chris von Recklinghausen) [2004233] - mm/damon/schemes: activate schemes based on a watermarks mechanism (Chris von Recklinghausen) [2004233] - tools/selftests/damon: update for regions prioritization of schemes (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support prioritization weights (Chris von Recklinghausen) [2004233] - mm/damon/vaddr,paddr: support pageout prioritization (Chris von Recklinghausen) [2004233] - mm/damon/schemes: prioritize regions within the quotas (Chris von Recklinghausen) [2004233] - mm/damon/selftests: support schemes quotas (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support quotas of schemes (Chris von Recklinghausen) [2004233] - mm/damon/schemes: implement time quota (Chris von Recklinghausen) [2004233] - mm/damon/schemes: skip already charged targets and regions (Chris von Recklinghausen) [2004233] - mm/damon/schemes: implement size quota for schemes application speed control (Chris von Recklinghausen) [2004233] - mm/damon/paddr: support the pageout scheme (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: remove unnecessary variables (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: constify static mm_walk_ops (Chris von Recklinghausen) [2004233] - Docs/DAMON: document physical memory monitoring support (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support physical memory monitoring (Chris von Recklinghausen) [2004233] - mm/damon: implement primitives for physical address space monitoring (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: separate commonly usable functions (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs-test: add a unit test case for 'init_regions' (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon: document 'init_regions' feature (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon: document DAMON-based Operation Schemes (Chris von Recklinghausen) [2004233] - docs/vm/damon: remove broken reference (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: allow users to set initial monitoring target regions (Chris von Recklinghausen) [2004233] - selftests/damon: add 'schemes' debugfs tests (Chris von Recklinghausen) [2004233] - mm/damon/schemes: implement statistics feature (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support DAMON-based Operation Schemes (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: support DAMON-based Operation Schemes (Chris von Recklinghausen) [2004233] - mm/damon/core: implement DAMON-based Operation Schemes (DAMOS) (Chris von Recklinghausen) [2004233] - mm/damon/core: account age of target regions (Chris von Recklinghausen) [2004233] - mm/damon/core: nullify pointer ctx->kdamond with a NULL (Chris von Recklinghausen) [2004233] - mm/damon: needn't hold kdamond_lock to print pid of kdamond (Chris von Recklinghausen) [2004233] - mm/damon: remove unnecessary do_exit() from kdamond (Chris von Recklinghausen) [2004233] - mm/damon/core: print kdamond start log in debug mode only (Chris von Recklinghausen) [2004233] - mm/damon: grammar s/works/work/ (Chris von Recklinghausen) [2004233] - mm/damon/core-test: fix wrong expectations for 'damon_split_regions_of()' (Chris von Recklinghausen) [2004233] - mm/damon: don't use strnlen() with known-bogus source length (Chris von Recklinghausen) [2004233] - mm/damon: add kunit tests (Chris von Recklinghausen) [2004233] - Documentation: add documents for DAMON (Chris von Recklinghausen) [2004233] - mm/damon: add user space selftests (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support multiple contexts (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: export kdamond pid to the user space (Chris von Recklinghausen) [2004233] - mm/damon: implement a debugfs-based user space interface (Chris von Recklinghausen) [2004233] - mm/damon: add a tracepoint (Chris von Recklinghausen) [2004233] - mm/damon: implement primitives for the virtual memory address spaces (Chris von Recklinghausen) [2004233] - mm/damon: adaptively adjust regions (Chris von Recklinghausen) [2004233] - mm/damon/core: implement region-based sampling (Chris von Recklinghausen) [2004233] - mm: introduce Data Access MONitor (DAMON) (Chris von Recklinghausen) [2004233] - khugepaged: use helper khugepaged_test_exit() in __khugepaged_enter() (Chris von Recklinghausen) [2004233] - mm/madvise: pass mm to do_madvise (Chris von Recklinghausen) [2004233] - ceph: fix possible NULL pointer dereference for req->r_session (Xiubo Li) [2076165] - thermal: int340x: Fix VCoRefLow MMIO bit offset for TGL (Prarit Bhargava) [2039994] - MAINTAINERS: sort field names for all entries (Joel Savitz) [2064843] - parse-maintainers: Do not sort section content by default (Joel Savitz) [2064843] - parse-maintainers: Mark as executable (Joel Savitz) [2064843] - KVM: x86: Use ERR_PTR_USR() to return -EFAULT as a __user pointer (Paul Lai) [2074679] - KVM: x86: add system attribute to retrieve full set of supported xsave states (Paul Lai) [2074679] - KVM: x86: Add a helper to retrieve userspace address from kvm_device_attr (Paul Lai) [2074679] - tools: arch: x86: pull in pvclock headers (Paul Lai) [2074679] - KVM: x86: Expose TSC offset controls to userspace (Paul Lai) [2074679] - KVM: x86: Refactor tsc synchronization code (Paul Lai) [2074679] - selftests: kvm: move vm_xsave_req_perm call to amx_test (Paul Lai) [2074679] - powerpc/pseries/vas: Add VAS migration handler (Steve Best) [2028678] - powerpc/pseries/vas: Modify reconfig open/close functions for migration (Steve Best) [2028678] - powerpc/pseries/vas: Define global hv_cop_caps struct (Steve Best) [2028678] - powerpc/pseries/vas: Add 'update_total_credits' entry for QoS capabilities (Steve Best) [2028678] - powerpc/pseries/vas: sysfs interface to export capabilities (Steve Best) [2028678] - powerpc/pseries/vas: Reopen windows with DLPAR core add (Steve Best) [2028678] - powerpc/pseries/vas: Close windows with DLPAR core removal (Steve Best) [2028678] - powerpc/vas: Map paste address only if window is active (Steve Best) [2028678] - powerpc/vas: Return paste instruction failure if no active window (Steve Best) [2028678] - powerpc/vas: Add paste address mmap fault handler (Steve Best) [2028678] - powerpc/pseries/vas: Save PID in pseries_vas_window struct (Steve Best) [2028678] - powerpc/pseries/vas: Use common names in VAS capability structure (Steve Best) [2028678] - perf powerpc: Update global/local variants for p_stage_cyc (Desnes A. Nunes do Rosario) [2051358] - perf sort: Include global and local variants for p_stage_cyc sort key (Desnes A. Nunes do Rosario) [2051358] - perf sort: Fix the 'p_stage_cyc' sort key behavior (Desnes A. Nunes do Rosario) [2051358] - perf sort: Fix the 'ins_lat' sort key behavior (Desnes A. Nunes do Rosario) [2051358] - perf sort: Fix the 'weight' sort key behavior (Desnes A. Nunes do Rosario) [2051358] - block: loop:use kstatfs.f_bsize of backing file to set discard granularity (Ming Lei) [2069472] - blk-cgroup: set blkg iostat after percpu stat aggregation (Ming Lei) [2069472] - block: update io_ticks when io hang (Ming Lei) [2069472] - block: don't delete queue kobject before its children (Ming Lei) [2069472] - block/wbt: fix negative inflight counter when remove scsi device (Ming Lei) [2069472] - block: bio-integrity: Advance seed correctly for larger interval sizes (Ming Lei) [2069472] - block: fix async_depth sysfs interface for mq-deadline (Ming Lei) [2069472] - bfq: Do not let waker requests skip proper accounting (Ming Lei) [2069472] - block: Fix fsync always failed if once failed (Ming Lei) [2069472] - blktrace: fix use after free for struct blk_trace (Ming Lei) [2069472] - block: Check ADMIN before NICE for IOPRIO_CLASS_RT (Ming Lei) [2069472] - blk-cgroup: fix missing put device in error path from blkg_conf_pref() (Ming Lei) [2069472] - blkcg: Remove extra blkcg_bio_issue_init (Ming Lei) [2069472] - nbd: Fix use-after-free in pid_show (Ming Lei) [2069472] - block/mq-deadline: Improve request accounting further (Ming Lei) [2069472] - block, bfq: fix UAF problem in bfqg_stats_init() (Ming Lei) [2069472] - blk-cgroup: synchronize blkg creation against policy deactivation (Ming Lei) [2069472] - block, bfq: reset last_bfqq_created on group change (Ming Lei) [2069472] - block: bfq: fix bfq_set_next_ioprio_data() (Ming Lei) [2069472] - sched/topology: Remove redundant variable and fix incorrect type in build_sched_domains (Phil Auld) [2065200] - sched/fair: Adjust the allowed NUMA imbalance when SD_NUMA spans multiple LLCs (Phil Auld) [2065200] - sched/fair: Improve consistency of allowed NUMA balance calculations (Phil Auld) [2065200] - Revert: sched: Disable allowing small imbalance to preserve RHEL performance (Phil Auld) [2065200] - NFSv4.1: handle NFS4ERR_NOSPC by CREATE_SESSION (Steve Dickson) [2023844] - SUNRPC: use different lock keys for INET6 and LOCAL (Guillaume Nault) [2061651] - arm64: Restore forced disabling of KPTI on ThunderX (Mark Salter) [1999157] - arm64: mte: initialize RGSR_EL1.SEED in __cpu_setup (Mark Salter) [1999157] - arm64: Remove exporting cpu_logical_map symbol (Mark Salter) [1999157] - arm64: tlb: fix the TTL value of tlb_get_level (Mark Salter) [1999157] - arm64: Validate tagged addresses in access_ok() called from kernel threads (Mark Salter) [1999157] - arm64: ptrace: Fix seccomp of traced syscall -1 (NO_SYSCALL) (Mark Salter) [1999157] - arm64: ptrace: Use NO_SYSCALL instead of -1 in syscall_trace_enter() (Mark Salter) [1999157] - arm64: mm: Fix TLBI vs ASID rollover (Mark Salter) [1999157] - arm64: errata: Fix exec handling in erratum 1418040 workaround (Mark Salter) [1999157] - arm64: Generate cpucaps.h (Mark Salter) [1999157] - arm64/sve: Skip flushing Z registers with 128 bit vectors (Mark Salter) [1999157] - arm64/sve: Rework SVE access trap to convert state in registers (Mark Salter) [1999157] - arm64/sve: Use the sve_flush macros in sve_load_from_fpsimd_state() (Mark Salter) [1999157] - arm64/sve: Split _sve_flush macro into separate Z and predicate flushes (Mark Salter) [1999157] - arm64: fix inline asm in load_unaligned_zeropad() (Mark Salter) [1999157] - arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55 (Mark Salter) [1999157] - arm64/fpsimd: add to to fix fpsimd build (Mark Salter) [1999157] - arm64: cpu_errata: Apply Erratum 845719 to KRYO2XX Silver (Mark Salter) [1999157] - arm64: kpti: Add KRYO2XX gold/silver CPU cores to kpti safelist (Mark Salter) [1999157] - arm64: Add MIDR value for KRYO2XX gold/silver CPU cores (Mark Salter) [1999157] - arm64: errata: Fix handling of 1418040 with late CPU onlining (Mark Salter) [1999157] - arm64: cpufeature: upgrade hyp caps to final (Mark Salter) [1999157] - arm64: cpufeature: reorder cpus_have_{const, final}_cap() (Mark Salter) [1999157] - arm64: Add workaround for Arm Cortex-A77 erratum 1508412 (Mark Salter) [1999157] - arm64: Add part number for Arm Cortex-A77 (Mark Salter) [1999157] - arm64: reject prctl(PR_PAC_RESET_KEYS) on compat tasks (Mark Salter) [1999157] - arm64: Treat SSBS as a non-strict system feature (Mark Salter) [1999157] - arm64: Group start_thread() functions together (Mark Salter) [1999157] - arm64: Remove Spectre-related CONFIG_* options (Mark Salter) [1999157] - arm64: Run ARCH_WORKAROUND_2 enabling code on all CPUs (Mark Salter) [1999157] - arm64: Run ARCH_WORKAROUND_1 enabling code on all CPUs (Mark Salter) [1999157] - arm64: mte: CPU feature detection and initial sysreg configuration (Mark Salter) [1999157] - arm64: cpufeature: Export symbol read_sanitised_ftr_reg() (Mark Salter) [1999157] - arm64/fpsimd: Fix missing-prototypes in fpsimd.c (Mark Salter) [1999157] - arm64: traps: Add str of description to panic() in die() (Mark Salter) [1999157] - arm64/sve: Implement a helper to load SVE registers from FPSIMD state (Mark Salter) [1999157] - arm64/sve: Implement a helper to flush SVE registers (Mark Salter) [1999157] - arm64/fpsimdmacros: Allow the macro "for" to be used in more cases (Mark Salter) [1999157] - arm64/fpsimdmacros: Introduce a macro to update ZCR_EL1.LEN (Mark Salter) [1999157] - arm64/signal: Update the comment in preserve_sve_context (Mark Salter) [1999157] - arm64/fpsimd: Update documentation of do_sve_acc (Mark Salter) [1999157] - arm64: cpufeature: Modify address authentication cpufeature to exact (Mark Salter) [1999157] - arm64: ptrauth: Introduce Armv8.3 pointer authentication enhancements (Mark Salter) [1999157] - arm64: traps: Allow force_signal_inject to pass esr error code (Mark Salter) [1999157] - arm64/cpuinfo: Define HWCAP name arrays per their actual bit definitions (Mark Salter) [1999157] - arm64: Reserve HWCAP2_MTE as (1 << 18) (Mark Salter) [1999157] - arm64: Allow CPUs unffected by ARM erratum 1418040 to come in late (Mark Salter) [1999157] - arm64: Allow booting of late CPUs affected by erratum 1418040 (Mark Salter) [1999157] - arm64: Drop unnecessary include from asm/smp.h (Mark Salter) [1999157] - arm64: Move handling of erratum 1418040 into C code (Mark Salter) [1999157] - arm64: Fix __cpu_logical_map undefined issue (Mark Salter) [1999157] - arm64: tlb: don't set the ttl value in flush_tlb_page_nosync (Mark Salter) [1999157] - arm64: Shift the __tlbi_level() indentation left (Mark Salter) [1999157] - arm64: tlb: Set the TTL field in flush_*_tlb_range (Mark Salter) [1999157] - arm64: tlb: Set the TTL field in flush_tlb_range (Mark Salter) [1999157] - arm64: Add tlbi_user_level TLB invalidation helper (Mark Salter) [1999157] - arm64: Add level-hinted TLB invalidation helper (Mark Salter) [1999157] - arm64: Document SW reserved PTE/PMD bits in Stage-2 descriptors (Mark Salter) [1999157] - arm64/cpufeature: Validate feature bits spacing in arm64_ftr_regs[] (Mark Salter) [1999157] - arm64/cpufeature: Replace all open bits shift encodings with macros (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_AA64MMFR2 register (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_AA64MMFR1 register (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_AA64MMFR0 register (Mark Salter) [1999157] - arm64: csum: Fix handling of bad packets (Mark Salter) [1999157] - arm64: Add missing sentinel to erratum_1463225 (Mark Salter) [1999157] - arm64: Documentation: Fix broken table in generated HTML (Mark Salter) [1999157] - arm64: kgdb: Fix single-step exception handling oops (Mark Salter) [1999157] - arm64: entry: Tidy up block comments and label numbers (Mark Salter) [1999157] - arm64: Rework ARM_ERRATUM_1414080 handling (Mark Salter) [1999157] - arm64: entry: Fix the typo in the comment of el1_dbg() (Mark Salter) [1999157] - arm64: Add KRYO4XX silver CPU cores to erratum list 1530923 and 1024718 (Mark Salter) [1999157] - arm64: Add KRYO4XX gold CPU cores to erratum list 1463225 and 1418040 (Mark Salter) [1999157] - arm64: Add MIDR value for KRYO4XX gold CPU cores (Mark Salter) [1999157] - arm64: Add KRYO{3,4}XX silver CPU cores to SSB safelist (Mark Salter) [1999157] - arm64: kpti: Add KRYO{3, 4}XX silver CPU cores to kpti safelist (Mark Salter) [1999157] - arm64: sve: Fix build failure when ARM64_SVE=y and SYSCTL=n (Mark Salter) [1999157] - arm64: mm: reset address tag set by kasan sw tagging (Mark Salter) [1999157] - arm64: traps: Dump registers prior to panic() in bad_mode() (Mark Salter) [1999157] - arm64/sve: Eliminate data races on sve_default_vl (Mark Salter) [1999157] - arm64: csum: Disable KASAN for do_csum() (Mark Salter) [1999157] - arm64/cpufeature: Add get_arm64_ftr_reg_nowarn() (Mark Salter) [1999157] - arm64/cpuinfo: Add ID_MMFR4_EL1 into the cpuinfo_arm64 context (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_AA64PFR0 register (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_MMFR4 register (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_PFR0 register (Mark Salter) [1999157] - arm64/cpufeature: Introduce ID_MMFR5 CPU register (Mark Salter) [1999157] - arm64/cpufeature: Introduce ID_DFR1 CPU register (Mark Salter) [1999157] - arm64/cpufeature: Introduce ID_PFR2 CPU register (Mark Salter) [1999157] - arm64/cpufeature: Make doublelock a signed feature in ID_AA64DFR0 (Mark Salter) [1999157] - arm64/cpufeature: Drop TraceFilt feature exposure from ID_DFR0 register (Mark Salter) [1999157] - arm64/cpufeature: Add explicit ftr_id_isar0[] for ID_ISAR0 register (Mark Salter) [1999157] - arm64: cpufeature: Group indexed system register definitions by name (Mark Salter) [1999157] - arm64: cpufeature: Extend comment to describe absence of field info (Mark Salter) [1999157] - arm64: drop duplicate definitions of ID_AA64MMFR0_TGRAN constants (Mark Salter) [1999157] - arm64: cpufeature: Add an overview comment for the cpufeature framework (Mark Salter) [1999157] - arm64: cpufeature: Relax checks for AArch32 support at EL[0-2] (Mark Salter) [1999157] - arm64: cpufeature: Relax AArch32 system checks if EL1 is 64-bit only (Mark Salter) [1999157] - arm64: cpufeature: Factor out checking of AArch32 features (Mark Salter) [1999157] - arm64: cpufeature: Remove redundant call to id_aa64pfr0_32bit_el0() (Mark Salter) [1999157] - arm64: cpufeature: Spell out register fields for ID_ISAR4 and ID_PFR1 (Mark Salter) [1999157] - arm64: cpufeature: Relax check for IESB support (Mark Salter) [1999157] - arm64: mm: Add asid_gen_match() helper (Mark Salter) [1999157] - arm64: Call debug_traps_init() from trap_init() to help early kgdb (Mark Salter) [1999157] - arm64: cacheflush: Fix KGDB trap detection (Mark Salter) [1999157] - arm64/cpuinfo: Move device_initcall() near cpuinfo_regs_init() (Mark Salter) [1999157] - arm64: kexec_file: print appropriate variable (Mark Salter) [1999157] - arm: mm: use __pfn_to_section() to get mem_section (Mark Salter) [1999157] - arm64: Reorder the macro arguments in the copy routines (Mark Salter) [1999157] - KVM: arm64: Drop PTE_S2_MEMATTR_MASK (Mark Salter) [1999157] - arm64/kernel: Fix range on invalidating dcache for boot page tables (Mark Salter) [1999157] - arm64: set TEXT_OFFSET to 0x0 in preparation for removing it entirely (Mark Salter) [1999157] - arm64/mm: Use phys_to_page() to access pgtable memory (Mark Salter) [1999157] - arm64: smp: Make cpus_stuck_in_kernel static (Mark Salter) [1999157] - arm64: entry: remove unneeded semicolon in el1_sync_handler() (Mark Salter) [1999157] - arm64: cpufeature: Add "or" to mitigations for multiple errata (Mark Salter) [1999157] - arm64: Sort vendor-specific errata (Mark Salter) [1999157] - arm64: simplify ptrauth initialization (Mark Salter) [1999157] - arm64: remove ptrauth_keys_install_kernel sync arg (Mark Salter) [1999157] - arm64: insn: Provide a better name for aarch64_insn_is_nop() (Mark Salter) [1999157] - arm64: kernel: Convert to modern annotations for assembly functions (Mark Salter) [1999157] - arm64: entry: Refactor and modernise annotation for ret_to_user (Mark Salter) [1999157] - arm64: BTI: Reset BTYPE when skipping emulated instructions (Mark Salter) [1999157] - arm64: traps: Shuffle code to eliminate forward declarations (Mark Salter) [1999157] - arm64: unify native/compat instruction skipping (Mark Salter) [1999157] - arm64: BTI: Decode BYTPE bits when printing PSTATE (Mark Salter) [1999157] - arm64: Basic Branch Target Identification support (Mark Salter) [1999157] - arm64/kernel: Fix return value when cpu_online() fails in __cpu_up() (Mark Salter) [1999157] - arm64: Add get_user() type annotation on the !access_ok() path (Mark Salter) [1999157] - arm64: Fix PTRACE_SYSEMU semantics (Mark Salter) [1999157] - arm64: fix the flush_icache_range arguments in machine_kexec (Mark Salter) [1999157] - Documentation: arm64: fix amu.rst doc warnings (Mark Salter) [1999157] - arm64: sync kernel APIAKey when installing (Mark Salter) [1999157] - arm64: Delete the space separator in __emit_inst (Mark Salter) [1999157] - arm64: remove CONFIG_DEBUG_ALIGN_RODATA feature (Mark Salter) [1999157] - arm64: head: Convert install_el2_stub to SYM_INNER_LABEL (Mark Salter) [1999157] - arm64: Introduce get_cpu_ops() helper function (Mark Salter) [1999157] - arm64: Rename cpu_read_ops() to init_cpu_ops() (Mark Salter) [1999157] - arm64: Declare ACPI parking protocol CPU operation if needed (Mark Salter) [1999157] - arm64: move kimage_vaddr to .rodata (Mark Salter) [1999157] - arm64: sdei: Annotate SDEI entry points using new style annotations (Mark Salter) [1999157] - arm64: kernel: Convert to modern annotations for assembly data (Mark Salter) [1999157] - arm64: head: Annotate stext and preserve_boot_args as code (Mark Salter) [1999157] - arm64: head.S: Convert to modern annotations for assembly functions (Mark Salter) [1999157] - arm64: entry: Additional annotation conversions for entry.S (Mark Salter) [1999157] - arm64: entry: Annotate ret_from_fork as code (Mark Salter) [1999157] - arm64: entry: Annotate vector table and handlers as code (Mark Salter) [1999157] - kconfig: Add support for 'as-option' (Mark Salter) [1999157] - arm64: suspend: restore the kernel ptrauth keys (Mark Salter) [1999157] - arm64: __show_regs: strip PAC from lr in printk (Mark Salter) [1999157] - arm64: unwind: strip PAC from kernel addresses (Mark Salter) [1999157] - arm64/crash_core: Export KERNELPACMASK in vmcoreinfo (Mark Salter) [1999157] - arm64: mask PAC bits of __builtin_return_address (Mark Salter) [1999157] - compiler.h: Allow arch-specific asm/compiler.h (Mark Salter) [1999157] - arm64: initialize ptrauth keys for kernel booting task (Mark Salter) [1999157] - arm64: initialize and switch ptrauth kernel keys (Mark Salter) [1999157] - arm64: enable ptrauth earlier (Mark Salter) [1999157] - arm64: cpufeature: handle conflicts based on capability (Mark Salter) [1999157] - arm64: cpufeature: Move cpu capability helpers inside C file (Mark Salter) [1999157] - arm64: ptrauth: Add bootup/runtime flags for __cpu_setup (Mark Salter) [1999157] - arm64: install user ptrauth keys at kernel exit time (Mark Salter) [1999157] - arm64: rename ptrauth key structures to be user-specific (Mark Salter) [1999157] - arm64: cpufeature: add pointer auth meta-capabilities (Mark Salter) [1999157] - arm64: cpufeature: Fix meta-capability cpufeature check (Mark Salter) [1999157] - arm64: define __alloc_zeroed_user_highpage (Mark Salter) [1999157] - arm64/kernel: Simplify __cpu_up() by bailing out early (Mark Salter) [1999157] - arm64: smp: Mark expected switch fall-through (Mark Salter) [1999157] - arm64: remove redundant blank for '=' operator (Mark Salter) [1999157] - arm64: kexec_file: Fixed code style. (Mark Salter) [1999157] - arm64: add blank after 'if' (Mark Salter) [1999157] - arm64: fix spelling mistake "ca not" -> "cannot" (Mark Salter) [1999157] - arm64: entry: unmask IRQ in el0_sp() (Mark Salter) [1999157] - arm64: efi: add efi-entry.o to targets instead of extra-$(CONFIG_EFI) (Mark Salter) [1999157] - arm64: csum: Optimise IPv6 header checksum (Mark Salter) [1999157] - arch/arm64: fix typo in a comment (Mark Salter) [1999157] - arm64: remove gratuitious/stray .ltorg stanzas (Mark Salter) [1999157] - arm64: Update comment for ASID() macro (Mark Salter) [1999157] - arm64: mm: convert cpu_do_switch_mm() to C (Mark Salter) [1999157] - Documentation: arm64: document support for the AMU extension (Mark Salter) [1999157] - arm64: trap to EL1 accesses to AMU counters from EL0 (Mark Salter) [1999157] - arm64: add support for the AMU extension v1 (Mark Salter) [1999157] - arm64: smp: fix crash_smp_send_stop() behaviour (Mark Salter) [1999157] - arm64: smp: fix smp_send_stop() behaviour (Mark Salter) [1999157] - arm64: context: Fix ASID limit in boot messages (Mark Salter) [1999157] - docs: arm64: fix trivial spelling enought to enough in memory.rst (Mark Salter) [1999157] - arm64: time: Replace by (Mark Salter) [1999157] - arm64: ssbs: Fix context-switch when SSBS is present on all CPUs (Mark Salter) [1999157] - arm64: use shared sysctl constants (Mark Salter) [1999157] - arm64: Drop do_el0_ia_bp_hardening() & do_sp_pc_abort() declarations (Mark Salter) [1999157] - arm64: entry: Avoid empty alternatives entries (Mark Salter) [1999157] - arm64: Kconfig: select HAVE_FUTEX_CMPXCHG (Mark Salter) [1999157] - arm64: Use macros instead of hard-coded constants for MAIR_EL1 (Mark Salter) [1999157] - arm64: Add KRYO{3,4}XX CPU cores to spectre-v2 safe list (Mark Salter) [1999157] - arm64: context: Free up kernel ASIDs if KPTI is not in use (Mark Salter) [1999157] - arm64: Remove __exception_text_start and __exception_text_end from asm/section.h (Mark Salter) [1999157] - arm64: armv8_deprecated: update the comments of armv8_deprecated_init() (Mark Salter) [1999157] - arm64: kpti: Add Broadcom Brahma-B53 core to the KPTI whitelist (Mark Salter) [1999157] - arm64: csum: Fix pathological zero-length calls (Mark Salter) [1999157] - arm64: Implement optimised checksum routine (Mark Salter) [1999157] - arm64: entry: cleanup sp_el0 manipulation (Mark Salter) [1999157] - arm64: entry: cleanup el0 svc handler naming (Mark Salter) [1999157] - arm64: entry: mark all entry code as notrace (Mark Salter) [1999157] - arm64: assembler: remove smp_dmb macro (Mark Salter) [1999157] - arm64: assembler: remove inherit_daif macro (Mark Salter) [1999157] - arm64: signal: nofpsimd: Handle fp/simd context for signal frames (Mark Salter) [1999157] - arm64: ptrace: nofpsimd: Fail FP/SIMD regset operations (Mark Salter) [1999157] - arm64: cpufeature: Set the FP/SIMD compat HWCAP bits properly (Mark Salter) [1999157] - arm64: cpufeature: Fix the type of no FP/SIMD capability (Mark Salter) [1999157] - arm64: fpsimd: Make sure SVE setup is complete before SIMD is used (Mark Salter) [1999157] - arm64: kernel: Correct annotation of end of el0_sync (Mark Salter) [1999157] - arm64: asm: Remove ENDPIPROC() (Mark Salter) [1999157] - arm64: mm: Use modern annotations for assembly functions (Mark Salter) [1999157] - arm64: lib: Use modern annotations for assembly functions (Mark Salter) [1999157] - arm64: asm: Add new-style position independent function annotations (Mark Salter) [1999157] - arm64: kernel: avoid x18 in __cpu_soft_restart (Mark Salter) [1999157] - arm64/lib: copy_page: avoid x18 register in assembler code (Mark Salter) [1999157] - arm64: mm: avoid x18 in idmap_kpti_install_ng_mappings (Mark Salter) [1999157] - arm64: cpu_errata: Add Hisilicon TSV110 to spectre-v2 safe list (Mark Salter) [1999157] - arm64: entry: refine comment of stack overflow check (Mark Salter) [1999157] - arm64: kpti: Add NVIDIA's Carmel core to the KPTI whitelist (Mark Salter) [1999157] - arm64: mm: simplify the page end calculation in __create_pgd_mapping() (Mark Salter) [1999157] - arm64: print additional fault message when executing non-exec memory (Mark Salter) [1999157] - arm64: pgtable: Correct typo in comment (Mark Salter) [1999157] - arm64: cpufeature: Fix typos in comment (Mark Salter) [1999157] - arm64: entry-common: don't touch daif before bp-hardening (Mark Salter) [1999157] - arm64: Remove asmlinkage from updated functions (Mark Salter) [1999157] - arm64: entry: convert el0_sync to C (Mark Salter) [1999157] - arm64: entry: convert el1_sync to C (Mark Salter) [1999157] - arm64: Add prototypes for functions called by entry.S (Mark Salter) [1999157] - arm64: remove __exception annotations (Mark Salter) [1999157] - arm64: kprobes: Move exception_text check in blacklist (Mark Salter) [1999157] - arm64: kprobes: Remove unneeded RODATA check (Mark Salter) [1999157] - arm64: kprobes: Move extable address check into arch_prepare_kprobe() (Mark Salter) [1999157] - arm64: cpufeature: introduce helper cpu_has_hw_af() (Mark Salter) [1999157] - arm64: Document ICC_CTLR_EL3.PMHE setting requirements (Mark Salter) [1999157] - firmware: arm_sdei: use common SMCCC_CONDUIT_* (Mark Salter) [1999157] - arm64: uaccess: Remove uaccess_*_not_uao asm macros (Mark Salter) [1999157] - arm64: uaccess: Ensure PAN is re-enabled after unhandled uaccess fault (Mark Salter) [1999157] - arm64: Do not mask out PTE_RDONLY in pte_same() (Mark Salter) [1999157] - arm64: apply ARM64_ERRATUM_843419 workaround for Brahma-B53 core (Mark Salter) [1999157] - arm64: Brahma-B53 is SSB and spectre v2 safe (Mark Salter) [1999157] - arm64: apply ARM64_ERRATUM_845719 workaround for Brahma-B53 core (Mark Salter) [1999157] - arm64: cpufeature: Enable Qualcomm Falkor errata 1009 for Kryo (Mark Salter) [1999157] - arm64: cpufeature: Enable Qualcomm Falkor/Kryo errata 1003 (Mark Salter) [1999157] - arm64: Ensure VM_WRITE|VM_SHARED ptes are clean by default (Mark Salter) [1999157] - arm64: mm: fix inverted PAR_EL1.F check (Mark Salter) [1999157] - arm64: hibernate: check pgd table allocation (Mark Salter) [1999157] - arm64: armv8_deprecated: Checking return value for memory allocation (Mark Salter) [1999157] - arm64: mm: fix spurious fault detection (Mark Salter) [1999157] - arm64: ftrace: Ensure synchronisation in PLT setup for Neoverse-N1 #1542419 (Mark Salter) [1999157] - arm64: mm: avoid virt_to_phys(init_mm.pgd) (Mark Salter) [1999157] - docs: arm64: Fix indentation and doc formatting (Mark Salter) [1999157] - arm64: errata: Update stale comment (Mark Salter) [1999157] - arm64: consider stack randomization for mmap base only when necessary (Mark Salter) [1999157] - arm64: make use of is_compat_task instead of hardcoding this test (Mark Salter) [1999157] - arm64: kpti: ensure patched kernel text is fetched from PoU (Mark Salter) [1999157] - arm64: Clarify when cpu_enable() is called (Mark Salter) [1999157] - arm64: constify sys64_hook instances (Mark Salter) [1999157] - arm64: constify aarch64_insn_encoding_class[] (Mark Salter) [1999157] - arm64: constify icache_policy_str[] (Mark Salter) [1999157] - arm64: prefer __section from compiler_attributes.h (Mark Salter) [1999157] - arm64/ptrace: Fix typoes in sve_set() comment (Mark Salter) [1999157] - arm64: mm: print hexadecimal EC value in mem_abort_decode() (Mark Salter) [1999157] - ahci: thunderx2: Fix workaround to use new inline function (Mark Salter) [1999157] - arm64/prefetch: fix a -Wtype-limits warning (Mark Salter) [1999157] - arm64: Move TIF_* documentation to individual definitions (Mark Salter) [1999157] - arm64: mm: free the initrd reserved memblock in a aligned manner (Mark Salter) [1999157] - arm64: io: Relax implicit barriers in default I/O accessors (Mark Salter) [1999157] - arm64: Remove unused cpucap_multi_entry_cap_cpu_enable() (Mark Salter) [1999157] - arm64: sysreg: Remove unused and rotting SCTLR_ELx field definitions (Mark Salter) [1999157] - arm64: esr: Add ESR exception class encoding for trapped ERET (Mark Salter) [1999157] - arm64/kexec: Use consistent convention of initializing 'kxec_buf.mem' with KEXEC_BUF_MEM_UNKNOWN (Mark Salter) [1999157] - arm64: remove pointless __KERNEL__ guards (Mark Salter) [1999157] - arm64: Remove unused assembly macro (Mark Salter) [1999157] - arm64: memory: Cosmetic cleanups (Mark Salter) [1999157] - arm64: memory: Add comments to end of non-trivial #ifdef blocks (Mark Salter) [1999157] - arm64: memory: Simplify virt_to_page() implementation (Mark Salter) [1999157] - arm64: memory: Rewrite default page_to_virt()/virt_to_page() (Mark Salter) [1999157] - arm64: mm: Ignore spurious translation faults taken from the kernel (Mark Salter) [1999157] - arm64: mm: Add ISB instruction to set_pgd() (Mark Salter) [1999157] - arm64: tlb: Ensure we execute an ISB following walk cache invalidation (Mark Salter) [1999157] - Revert "arm64: Remove unnecessary ISBs from set_{pte,pmd,pud}" (Mark Salter) [1999157] - arm64: pgtable: Implement p[mu]d_valid() and check in set_p[mu]d() (Mark Salter) [1999157] - arm64: Change the tagged_addr sysctl control semantics to only prevent the opt-in (Mark Salter) [1999157] - redhat/configs: Add CONFIG_ARM64_TAGGED_ADDR_ABI (Mark Salter) [1999157] - arm64: Introduce prctl() options to control the tagged user addresses ABI (Mark Salter) [1999157] - arm64: smp: Treat unknown boot failures as being 'stuck in kernel' (Mark Salter) [1999157] - arm64: smp: Don't enter kernel with NULL stack pointer or task struct (Mark Salter) [1999157] - arm64: map FDT as RW for early_init_dt_scan() (Mark Salter) [1999157] - arm64: ftrace: Ensure module ftrace trampoline is coherent with I-side (Mark Salter) [1999157] - arch: replace _BITUL() in kernel-space headers with BIT() (Mark Salter) [1999157] - arm64: move jump_label_init() before parse_early_param() (Mark Salter) [1999157] - arm64: don't use asm-generic/ptrace.h (Mark Salter) [1999157] - arm64: rename dump_instr as dump_kernel_instr (Mark Salter) [1999157] - arm64/mm: Drop [PTE|PMD]_TYPE_FAULT (Mark Salter) [1999157] - arm64: module: create module allocations without exec permissions (Mark Salter) [1999157] - acpi/arm64: ignore 5.1 FADTs that are reported as 5.0 (Mark Salter) [1999157] - arm64: remove redundant 'default n' from Kconfig (Mark Salter) [1999157] - arm64: mm: avoid redundant READ_ONCE(*ptep) (Mark Salter) [1999157] - arm64/mm: Document write abort detection from ESR (Mark Salter) [1999157] - arm64: Fix comment after #endif (Mark Salter) [1999157] - arm64: ptrace: add support for syscall emulation (Mark Salter) [1999157] - arm64: add PTRACE_SYSEMU{,SINGLESTEP} definations to uapi headers (Mark Salter) [1999157] - arm64/mm: Identify user instruction aborts (Mark Salter) [1999157] - arm64/mm: Change BUG_ON() to VM_BUG_ON() in [pmd|pud]_set_huge() (Mark Salter) [1999157] - arm64: kernel: use aff3 instead of aff2 in comment (Mark Salter) [1999157] - arm64/mm: Simplify protection flag creation for kernel huge mappings (Mark Salter) [1999157] - arm64/mm: Move PTE_VALID from SW defined to HW page table entry definitions (Mark Salter) [1999157] - arm64/sve: should not depend on (Mark Salter) [1999157] - arm64: ssbd: explicitly depend on (Mark Salter) [1999157] - ARM64: trivial: s/TIF_SECOMP/TIF_SECCOMP/ comment typo fix (Mark Salter) [1999157] - arm64: smp: Moved cpu_logical_map[] to smp.h (Mark Salter) [1999157] - arm64: use the correct function type for __arm64_sys_ni_syscall (Mark Salter) [1999157] - arm64: use the correct function type in SYSCALL_DEFINE0 (Mark Salter) [1999157] - arm64: fix syscall_fn_t type (Mark Salter) [1999157] - signal/arm64: Use force_sig not force_sig_fault for SIGKILL (Mark Salter) [1999157] - arm64: Fix the arm64_personality() syscall wrapper redirection (Mark Salter) [1999157] - arm64: Remove useless message during oops (Mark Salter) [1999157] - arm64: don't trash config with compat symbol if COMPAT is disabled (Mark Salter) [1999157] - arm64: assembler: Update comment above cond_yield_neon() macro (Mark Salter) [1999157] - arm64: Fix size of __early_cpu_boot_status (Mark Salter) [1999157] - arm64: mm: Remove pte_unmap_nested() (Mark Salter) [1999157] - arm64: Fix compiler warning from pte_unmap() with -Wunused-but-set-variable (Mark Salter) [1999157] - arm64: compat: Reduce address limit for 64K pages (Mark Salter) [1999157] - arm64: mmap: Ensure file offset is treated as unsigned (Mark Salter) [1999157] - arm64: instrument smp_{load_acquire,store_release} (Mark Salter) [1999157] - arm64: mm: check virtual addr in virt_to_page() if CONFIG_DEBUG_VIRTUAL=y (Mark Salter) [1999157] - arm64: ptrace: Add function argument access API (Mark Salter) [1999157] - arm64: compat: Reduce address limit (Mark Salter) [1999157] - arm64: Save and restore OSDLR_EL1 across suspend/resume (Mark Salter) [1999157] - arm64: Clear OSDLR_EL1 on CPU boot (Mark Salter) [1999157] - arm64: debug: Separate debug hooks based on target exception level (Mark Salter) [1999157] - arm64: debug: Remove meaningless comment (Mark Salter) [1999157] - arm64: debug: Rename addr parameter for non-watchpoint exception hooks (Mark Salter) [1999157] - arm64: Use defines instead of magic numbers (Mark Salter) [1999157] - arm64: cpu_ops: fix a leaked reference by adding missing of_node_put (Mark Salter) [1999157] - arm64: mm: Make show_pte() a static function (Mark Salter) [1999157] - arm64: setup min_low_pfn (Mark Salter) [1999157] - arm64: mm: fix incorrect assignment of 'max_mapnr' (Mark Salter) [1999157] - arm64: perf_event: Remove wrongfully used inline (Mark Salter) [1999157] - arm64: backtrace: Don't bother trying to unwind the userspace stack (Mark Salter) [1999157] - arm64: replace memblock_alloc_low with memblock_alloc (Mark Salter) [1999157] - arm64: kdump: no need to mark crashkernel pages manually PG_reserved (Mark Salter) [1999157] - arm64: kexec: no need to ClearPageReserved() (Mark Salter) [1999157] - arm64: mmu: drop paging_init comments (Mark Salter) [1999157] - arm64: debug: Ensure debug handlers check triggering exception level (Mark Salter) [1999157] - arm64: io: Hook up __io_par() for inX() ordering (Mark Salter) [1999157] - arm64: Rename get_thread_info() (Mark Salter) [1999157] - arm64: Remove documentation about TIF_USEDFPU (Mark Salter) [1999157] - arm64: uaccess: Cleanup get/put_user() (Mark Salter) [1999157] - arm64: Remove asm/memblock.h (Mark Salter) [1999157] - arm64: default NR_CPUS to 256 (Mark Salter) [1999157] - arm64: perf: remove misleading comment (Mark Salter) [1999157] - arm64: Relax GIC version check during early boot (Mark Salter) [1999157] - arm64, mm, efi: Account for GICv3 LPI tables in static memblock reserve table (Mark Salter) [1999157] - arm64: hibernate: Clean the __hyp_text to PoC after resume (Mark Salter) [1999157] - arm64: hyp-stub: Forbid kprobing of the hyp-stub (Mark Salter) [1999157] - arm64: kprobe: Always blacklist the KVM world-switch code (Mark Salter) [1999157] - kasan, arm64: remove redundant ARCH_SLAB_MINALIGN define (Mark Salter) [1999157] - arm64: asm-prototypes: Fix fat-fingered typo in comment (Mark Salter) [1999157] - arm64: compat: Hook up io_pgetevents() for 32-bit tasks (Mark Salter) [1999157] - arm64: compat: Don't pull syscall number from regs in arm_compat_syscall (Mark Salter) [1999157] - arm64: compat: Avoid sending SIGILL for unallocated syscall numbers (Mark Salter) [1999157] - arm64: kaslr: Reserve size of ARM64_MEMSTART_ALIGN in linear region (Mark Salter) [1999157] - arm64: smp: Fix compilation error (Mark Salter) [1999157] - arm64: select ACPI PCI code only when both features are enabled (Mark Salter) [1999157] - arm64: kaslr: print PHYS_OFFSET in dump_kernel_offset() (Mark Salter) [1999157] - arm64: sysreg: Use _BITUL() when defining register bits (Mark Salter) [1999157] - arm64: perf: Treat EXCLUDE_EL* bit definitions as unsigned (Mark Salter) [1999157] - arm64: percpu: Fix LSE implementation of value-returning pcpu atomics (Mark Salter) [1999157] - arm64: smp: Handle errors reported by the firmware (Mark Salter) [1999157] - arm64: smp: Rework early feature mismatched detection (Mark Salter) [1999157] - arm64: percpu: Rewrite per-cpu ops to allow use of LSE atomics (Mark Salter) [1999157] - arm64: crypto: add NEON accelerated XOR implementation (Mark Salter) [1999157] - arm64/neon: add workaround for ambiguous C99 stdint.h types (Mark Salter) [1999157] - arm64: ftrace: always pass instrumented pc in x0 (Mark Salter) [1999157] - arm64: ftrace: use GLOBAL() (Mark Salter) [1999157] - arm64: io: Ensure value passed to __iormb() is held in a 64-bit register (Mark Salter) [1999157] - arm64: acpi: Prepare for longer MADTs (Mark Salter) [1999157] - arm64: io: Ensure calls to delay routines are ordered against prior readX() (Mark Salter) [1999157] - arm64: perf: Fix typos in comment (Mark Salter) [1999157] - arm64: function_graph: Simplify with function_graph_enter() (Mark Salter) [1999157] - arm64: sysreg: fix sparse warnings (Mark Salter) [1999157] - arm64: mm: define NET_IP_ALIGN to 0 (Mark Salter) [1999157] - arm64: kprobe: make page to RO mode when allocate it (Mark Salter) [1999157] - arm64: kdump: fix small typo (Mark Salter) [1999157] - arm64: mm: Use #ifdef for the __PAGETABLE_P?D_FOLDED defines (Mark Salter) [1999157] - arm64: Trap WFI executed in userspace (Mark Salter) [1999157] - arm64/mm: Use ESR_ELx_FSC macro while decoding fault exception (Mark Salter) [1999157] - arm64: compat: Add CNTFRQ trap handler (Mark Salter) [1999157] - arm64: compat: Add CNTVCT trap handler (Mark Salter) [1999157] - arm64: compat: Add cp15_32 and cp15_64 handler arrays (Mark Salter) [1999157] - arm64: compat: Add condition code checks and IT advance (Mark Salter) [1999157] - arm64: Add decoding macros for CP15_32 and CP15_64 traps (Mark Salter) [1999157] - arm64: Remove unused VGA console support (Mark Salter) [1999157] - arm64: Kconfig: Remove ARCH_HAS_HOLES_MEMORYMODEL (Mark Salter) [1999157] - arm64/cpufeatures: Emulate MRS instructions by parsing ESR_ELx.ISS (Mark Salter) [1999157] - arm64/cpufeatures: Factorize emulate_mrs() (Mark Salter) [1999157] - arm64: fix for bad_mode() handler to always result in panic (Mark Salter) [1999157] - arm64: force_signal_inject: WARN if called from kernel context (Mark Salter) [1999157] - arm64: tlb: Adjust stride and type of TLBI according to mmu_gather (Mark Salter) [1999157] - arm64: percpu: Initialize ret in the default case (Mark Salter) [1999157] - arm64: mm: always enable CONFIG_HOLES_IN_ZONE (Mark Salter) [1999157] - arm64: Avoid calling stop_machine() when patching jump labels (Mark Salter) [1999157] - arm64: Drop asmlinkage qualifier from syscall_trace_{enter,exit} (Mark Salter) [1999157] - arm64: zero GPRs upon entry from EL0 (Mark Salter) [1999157] - arm64: don't reload GPRs after apply_ssbd (Mark Salter) [1999157] - arm64: consistently use unsigned long for thread flags (Mark Salter) [1999157] - arm64: insn: Don't fallback on nosync path for general insn patching (Mark Salter) [1999157] - arm64: remove unused COMPAT_PSR definitions (Mark Salter) [1999157] - kvm/arm: use PSR_AA32 definitions (Mark Salter) [1999157] - arm64: use PSR_AA32 definitions (Mark Salter) [1999157] - arm64: compat: map SPSR_ELx<->PSR for signals (Mark Salter) [1999157]- RDMA/qedr: Fix reporting max_{send/recv}_wr attrs (Kamal Heib) [2051524] - thermal/drivers/int340x: Fix RFIM mailbox write commands (Prarit Bhargava) [2040065] - thermal: int340x: Limit Kconfig to 64-bit (Prarit Bhargava) [2040065] - thermal: int340x: fix build on 32-bit targets (Prarit Bhargava) [2040065] - thermal/drivers/int340x: processor_thermal: Suppot 64 bit RFIM responses (Prarit Bhargava) [2040065] - PCI/MSI: Clear PCI_MSIX_FLAGS_MASKALL on error (Myron Stowe) [1911591] - PCI/MSI: Skip masking MSI-X on Xen PV (Myron Stowe) [1911591] - PCI/MSI: Mask all unused MSI-X entries (Myron Stowe) [1911591] - PCI/MSI: Enable and mask MSI-X early (Myron Stowe) [1911591] - genirq: Use rcu in kstat_irqs_usr() (Waiman Long) [2068445] - scsi: target: Allow changing dbroot if there are no registered devices (Maurizio Lombardi) [2073435] - powerpc/pseries: Fix use after free in remove_phb_dynamic() (Steve Best) [2073707] - sctp: use the correct skb for security_sctp_assoc_request (Xin Long) [2070915] - s390/mm: check 2KB-fragment page on release (Rafael Aquini) [2026578] - s390/mm: better annotate 2KB pagetable fragments handling (Rafael Aquini) [2026578] - s390/mm: fix 2KB pgtable release race (Rafael Aquini) [2026578] - s390/mm: fix phys vs virt confusion in pgtable allocation routines (Rafael Aquini) [2026578] - net: openvswitch: fix leak of nested actions (Eelco Chaudron) [2073538] - bpf: Let bpf_warn_invalid_xdp_action() report more info (Petr Oros) [2069671] - bpf: Do not WARN in bpf_warn_invalid_xdp_action() (Petr Oros) [2069671]- scsi: qedi: Fix failed disconnect handling (Chris Leech) [2071519] - scsi: iscsi: Fix unbound endpoint error handling (Chris Leech) [2071519] - scsi: iscsi: Fix conn cleanup and stop race during iscsid restart (Chris Leech) [2071519] - scsi: iscsi: Fix endpoint reuse regression (Chris Leech) [2071519] - scsi: iscsi: Release endpoint ID when its freed (Chris Leech) [2071519] - scsi: iscsi: Fix offload conn cleanup when iscsid restarts (Chris Leech) [2071519] - Revert "scsi: iscsi: Fix offload conn cleanup when iscsid restarts" (Chris Leech) [2071519] - scsi: iscsi: Speed up session unblocking and removal (Chris Leech) [2071519] - scsi: iscsi: Fix recovery and unblocking race (Chris Leech) [2071519] - scsi: iscsi: Unblock session then wake up error handler (Chris Leech) [2071519] - bnxt_en: make hw-tc-offload default to off (Ken Cox) [2005101] - bnxt_en: reject indirect blk offload when hw-tc-offload is off (Ken Cox) [2005101]- bpf, test_offload.py: Skip base maps without names (Yauheni Kaliuta) [2025787] - bnx2x: truncate value to original sizing (Manish Chopra) [2040271] - bnx2x: use correct format characters (Manish Chopra) [2040271] - bnx2x: fix built-in kernel driver load failure (Manish Chopra) [2040271] - bnx2x: fix driver load from initrd (Manish Chopra) [2040271] - bnx2x: Replace one-element array with flexible-array member (Manish Chopra) [2040271] - bnx2x: Remove useless DMA-32 fallback configuration (Manish Chopra) [2040271] - bnx2x: Invalidate fastpath HSI version for VFs (Manish Chopra) [2040271] - bnx2x: Utilize firmware 7.13.21.0 (Manish Chopra) [2040271] - bnx2x: constify static inline stub for dev_addr (Manish Chopra) [2040271] - net: bnx2x: fix variable dereferenced before check (Manish Chopra) [2040271] - ethernet: bnx2x: use eth_hw_addr_set() (Manish Chopra) [2040271] - bnx2x: Fix enabling network interfaces without VFs (Manish Chopra) [2040271] - bnx2x: fix an error code in bnx2x_nic_load() (Manish Chopra) [2040271] - bnx2x: remove unused variable 'cur_data_offset' (Manish Chopra) [2040271] - bnx2x: Remove the repeated declaration (Manish Chopra) [2040271] - bnx2x: Fix missing error code in bnx2x_iov_init_one() (Manish Chopra) [2040271] - net: broadcom: bnx2x: Fix wrong function name in comments (Manish Chopra) [2040271] - bnx2x: Remove redundant assignment to err (Manish Chopra) [2040271] - bnx2x: Use fallthrough pseudo-keyword (Manish Chopra) [2040271] - bnx2x: use true,false for bool variables (Manish Chopra) [2040271] - bnx2x: Fix some kernel-doc warnings (Manish Chopra) [2040271] - bnx2x: convert to new udp_tunnel_nic infra (Manish Chopra) [2040271] - bnx2x: Remove hw_reset_t function casts (Manish Chopra) [2040271] - bnx2x: Remove format_fw_ver_t function casts (Manish Chopra) [2040271] - bnx2x: Remove config_init_t function casts (Manish Chopra) [2040271] - bnx2x: Remove read_status_t function casts (Manish Chopra) [2040271] - bnx2x: Drop redundant callback function casts (Manish Chopra) [2040271] - bnx2x: Use napi_alloc_frag() (Manish Chopra) [2040271] - HID: intel-ish-hid: fix module device-id handling (Tony Camuso) [1921300] - mod_devicetable: fix kdocs for ishtp_device_id (Tony Camuso) [1921300] - HID: intel-ish-hid: add support for MODULE_DEVICE_TABLE() (Tony Camuso) [1921300] - platform/x86: isthp_eclite: only load for matching devices (Tony Camuso) [1921300] - platform/x86: Add Intel ishtp eclite driver (Tony Camuso) [1921300] - platform/x86: Add config file for Intel ishtp eclite driver (Tony Camuso) [1921300] - modpost: add guid_t type definition (Tony Camuso) [1921300] - squashfs: provide backing_dev_info in order to disable read-ahead (Brian Foster) [2025351] - mm: fix readahead_page_batch for retry entries (Brian Foster) [2025351] - iomap: convert from readpages to readahead (Brian Foster) [2025351] - fs: convert mpage_readpages to mpage_readahead (Brian Foster) [2025351] - mm: use memalloc_nofs_save in readahead path (Brian Foster) [2025351] - mm: document why we don't set PageReadahead (Brian Foster) [2025351] - mm: add page_cache_readahead_unbounded (Brian Foster) [2025351] - mm: move end_index check out of readahead loop (Brian Foster) [2025351] - mm: add readahead address space operation (Brian Foster) [2025351] - mm: put readahead pages in cache earlier (Brian Foster) [2025351] - mm: remove 'page_offset' from readahead loop (Brian Foster) [2025351] - mm: rename readahead loop variable to 'i' (Brian Foster) [2025351] - mm: rename various 'offset' parameters to 'index' (Brian Foster) [2025351] - mm: use readahead_control to pass arguments (Brian Foster) [2025351] - mm: add new readahead_control API (Brian Foster) [2025351] - mm: move readahead nr_pages check into read_pages (Brian Foster) [2025351] - mm: ignore return value of ->readpages (Brian Foster) [2025351] - mm: return void from various readahead functions (Brian Foster) [2025351] - mm: move readahead prototypes from mm.h (Brian Foster) [2025351] - mpage: mpage_readpages() should submit IO as read-ahead (Brian Foster) [2025351] - mpage: add argument structure for do_mpage_readpage() (Brian Foster) [2025351] - redhat/configs: enable CONFIG_AMD_PTDMA for x86_64 (Sudheesh Mavila) [2027231] - dmaengine: ptdma: handle the cases based on DMA is complete (Sudheesh Mavila) [2027231] - dmaengine: ptdma: fix concurrency issue with multiple dma transfer (Sudheesh Mavila) [2027231] - dmaengine: ptdma: Fix the error handling path in pt_core_init() (Sudheesh Mavila) [2027231] - MAINTAINERS: Fix AMD PTDMA DRIVER entry (Sudheesh Mavila) [2027231] - dmaengine: ptdma: remove PT_OFFSET to avoid redefnition (Sudheesh Mavila) [2027231] - dmaengine: ptdma: Add debugfs entries for PTDMA (Sudheesh Mavila) [2027231] - dmaengine: ptdma: register PTDMA controller as a DMA resource (Sudheesh Mavila) [2027231] - dmaengine: ptdma: Initial driver for the AMD PTDMA (Sudheesh Mavila) [2027231] - isert: support for unsolicited NOPIN with no response (Maurizio Lombardi) [2035915] - iscsit: increment max_cmd_sn for isert on command release (Maurizio Lombardi) [2035915] - sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa (Phil Auld) [2062841] - sched/numa: initialize numa statistics when forking new task (Phil Auld) [2062841] - cgroup: Fix suspicious rcu_dereference_check() usage warning (Phil Auld) [2062841] - sched/cpuacct: Remove redundant RCU read lock (Phil Auld) [2062841] - sched/cpuacct: Optimize away RCU read lock (Phil Auld) [2062841] - sched/cpuacct: Fix charge percpu cpuusage (Phil Auld) [2062841] - sched: replace cpumask_weight with cpumask_empty where appropriate (Phil Auld) [2062841] - sched/rt: Plug rt_mutex_setprio() vs push_rt_task() race (Phil Auld) [2062841] - psi: fix possible trigger missing in the window (Phil Auld) [2062841] - sched: Avoid double preemption in __cond_resched_*lock*() (Phil Auld) [2062841] - sched/fair: Fix all kernel-doc warnings (Phil Auld) [2062841] - sched/rt: Try to restart rt period timer when rt runtime exceeded (Phil Auld) [2062841] - sched/fair: Fix detection of per-CPU kthreads waking a task (Phil Auld) [2062841] - locking: Remove rt_rwlock_is_contended(). (Phil Auld) [2062841] - sched: Trigger warning if ->migration_disabled counter underflows. (Phil Auld) [2062841] - sched/cpuacct: Make user/system times in cpuacct.stat more precise (Phil Auld) [2062841] - sched/cpuacct: Fix user/system in shown cpuacct.usage* (Phil Auld) [2062841] - cpuacct: Convert BUG_ON() to WARN_ON_ONCE() (Phil Auld) [2062841] - cputime, cpuacct: Include guest time in user time in cpuacct.stat (Phil Auld) [2062841] - sched/fair: Document the slow path and fast path in select_task_rq_fair (Phil Auld) [2062841] - drm/i915/ehl: Remove require_force_probe protection (Michel Dänzer) [2048674] - net/sched: fix initialization order when updating chain 0 head (Marcelo Ricardo Leitner) [2044711] - smp: Process pending softirqs in flush_smp_call_function_from_idle() (Waiman Long) [2066087] - irq_work: Optimize irq_work_single() (Waiman Long) [2066087] - irq_work: Cleanup (Waiman Long) [2066087] - smp, irq_work: Continue smp_call_function*() and irq_work*() integration (Waiman Long) [2066087] - irq_work: Define irq_work_single() on !CONFIG_IRQ_WORK too (Waiman Long) [2066087] - sched/headers: Split out open-coded prototypes into kernel/sched/smp.h (Waiman Long) [2066087] - sched: Replace rq::wake_list (Waiman Long) [2066087] - sched: Add rq::ttwu_pending (Waiman Long) [2066087] - irq_work, smp: Allow irq_work on call_single_queue (Waiman Long) [2066087] - smp: Optimize send_call_function_single_ipi() (Waiman Long) [2066087] - smp: Move irq_work_run() out of flush_smp_call_function_queue() (Waiman Long) [2066087] - smp: Optimize flush_smp_call_function_queue() (Waiman Long) [2066087] - sched: Fix smp_call_function_single_async() usage for ILB (Waiman Long) [2066087] - sched: Make scheduler_ipi inline (Waiman Long) [2066087] - sched: Clean up scheduler_ipi() (Waiman Long) [2066087] - sched/core: Remove rq.hrtick_csd_pending (Waiman Long) [2066087] - sched/fair: Clean up comment in nohz_idle_balance() (Waiman Long) [2066087] - context_tracking: Rename context_tracking_is_enabled() => context_tracking_enabled() (Waiman Long) [2066087] - context_tracking: Remove context_tracking_active() (Waiman Long) [2066087] - redhat: configs: Disable CONFIG_MPLS for s390x/zfcpdump (Guillaume Nault) [2051659] - KVM: PPC: Book3S HV: Add infrastructure to support 2nd DAWR (Laurent Vivier) [2059318] - KVM: PPC: Book3S HV: Rename current DAWR macros and variables (Laurent Vivier) [2059318] - uapi/linux/stddef.h: Add include guards (Michel Dänzer) [2072125] - stddef: Introduce struct_group() helper macro (Michel Dänzer) [2072125] - component: Add common helper for compare/release functions (Michel Dänzer) [2072125] - PCI/VGA: Move vgaarb to drivers/pci (Michel Dänzer) [2072125] - vgaarb: don't pass a cookie to vga_client_register (Michel Dänzer) [2072125] - vgaarb: remove the unused irq_set_state argument to vga_client_register (Michel Dänzer) [2072125] - vgaarb: provide a vga_client_unregister wrapper (Michel Dänzer) [2072125] - vgaarb: cleanup vgaarb.h (Michel Dänzer) [2072125] - vgaarb: move the kerneldoc for vga_set_legacy_decoding to vgaarb.c (Michel Dänzer) [2072125] - vgaarb: remove vga_conflicts (Michel Dänzer) [2072125] - vgaarb: remove VGA_DEFAULT_DEVICE (Michel Dänzer) [2072125] - lib/string_helpers: Consolidate string helpers implementation (Michel Dänzer) [2072125] - include/linux/string_helpers.h: add linux/string.h for strlen() (Michel Dänzer) [2072125] - kernel.h: split out container_of() and typeof_member() macros (Michel Dänzer) [2072125] - mm/vmscan: add sync_shrinkers function v3 (Michel Dänzer) [2072125] - lib: devres: Add managed arch_io_reserve_memtype_wc() (Michel Dänzer) [2072125] - lib: devres: Add managed arch_phys_wc_add() (Michel Dänzer) [2072125] - kernel/locking: Use a pointer in ww_mutex_trylock(). (Michel Dänzer) [2072125] - locking/ww-mutex: Fix uninitialized use of ret in test_aa() (Michel Dänzer) [2072125] - kernel/locking: Add context to ww_mutex_trylock() (Michel Dänzer) [2072125] - locking/lockdep: Provide lockdep_assert{,_once}() helpers (Michel Dänzer) [2072125] - mm: gup: pack has_pinned in MMF_HAS_PINNED (Chris von Recklinghausen) [2073217] - mm: gup: allow FOLL_PIN to scale in SMP (Chris von Recklinghausen) [2073217] - CI: Drop baseline runs (Veronika Kabatova)- powerpc/xive: Export XIVE IPI information for online-only processors. (Steve Best) [2038448] - netfilter: conntrack: fix reading nf_conntrack_buckets (Phil Sutter) [2053628] - netfilter: nf_tables: initialize registers in nft_do_chain() (Florian Westphal) [2067966] {CVE-2022-1016} - x86/sev-es: Use __put_user()/__get_user() for data accesses (Vitaly Kuznetsov) [2063719] - x86/sev-es: Handle string port IO to kernel memory properly (Vitaly Kuznetsov) [2063719] - x86/sev: Return an error on a returned non-zero SW_EXITINFO1[31:0] (Vitaly Kuznetsov) [2063719] - x86/sev-es: Use __copy_from_user_inatomic() (Vitaly Kuznetsov) [2063719] - x86/sev-es: Check regs->sp is trusted before adjusting #VC IST stack (Vitaly Kuznetsov) [2063719] - x86/sev-es: Introduce ip_within_syscall_gap() helper (Vitaly Kuznetsov) [2063719] - x86/sev-es: Forward page-faults which happen during emulation (Vitaly Kuznetsov) [2063719] - x86/sev-es: Don't return NULL from sev_es_get_ghcb() (Vitaly Kuznetsov) [2063719] - x86/sev-es: Invalidate the GHCB after completing VMGEXIT (Vitaly Kuznetsov) [2063719] - x86/sev-es: Move sev_es_put_ghcb() in prep for follow on patch (Vitaly Kuznetsov) [2063719] - x86/sev: Fix stack type check in vc_switch_off_ist() (Vitaly Kuznetsov) [2063719] - x86/sev: Allow #VC exceptions on the VC2 stack (Vitaly Kuznetsov) [2063719] - x86/sev-es: Enable #VC specific entry point for real (Vitaly Kuznetsov) [2063719] - x86/cpu: Use pinning mask for CR4 bits needing to be 0 (Vitaly Kuznetsov) [2063719] - x86/asm: Move native_write_cr0/4() out of line (Vitaly Kuznetsov) [2063719] - x86/asm: Pin sensitive CR4 bits (Vitaly Kuznetsov) [2063719] - x86/asm: Pin sensitive CR0 bits (Vitaly Kuznetsov) [2063719] - powerpc/mce: Modify the real address error logging messages (Desnes A. Nunes do Rosario) [2068761] - selftests/powerpc: Add test for real address error handling (Desnes A. Nunes do Rosario) [2068761] - powerpc/pseries: Parse control memory access error (Desnes A. Nunes do Rosario) [2068761] - powerpc/pseries/mce: Fix a typo in error type assignment (Desnes A. Nunes do Rosario) [2068761] - netfilter: nf_tables: validate registers coming from userspace. (Florian Westphal) [2065357] {CVE-2022-1015} - PCI: hv: Propagate coherence from VMbus device to PCI device (Vitaly Kuznetsov) [2068429] - Drivers: hv: vmbus: Propagate VMbus coherence to each VMbus device (Vitaly Kuznetsov) [2068429] - Revert "xfs: actually bump warning counts when we send warnings" (Carlos Maiolino) [2059262] - perf/x86/intel: Add a quirk for the calculation of the number of counters on Alder Lake (Michael Petlan) [2039996] - perf stat: Support --cputype option for hybrid events (Michael Petlan) [1971941] - perf/x86/intel/uncore: Add IMC uncore support for ADL (Michael Petlan) [2042217] - tipc: fix kernel panic when enabling bearer (Xin Long) [2061233] - media: v4l: ioctl: Fix memory leak in video_usercopy (Jarod Wilson) [1954604] {CVE-2021-30002}- esp6: fix check on ipv6_skip_exthdr's return value (Sabrina Dubroca) [2054075] - scsi: iscsi: Fix nop handling during conn recovery (Chris Leech) [2069969] - scsi: iscsi: Merge suspend fields (Chris Leech) [2069969] - scsi: iscsi: Fix offload conn cleanup when iscsid restarts (Chris Leech) [2069969] - scsi: iscsi: Move iscsi_ep_disconnect (Chris Leech) [2069969] - CI: Remove deprecated option (Veronika Kabatova)- redhat: add new KUNIT tests to mod-internal.list (Nico Pache) [2065444] - kasan: test: prevent cache merging in kmem_cache_double_destroy (Nico Pache) [2065444] - kasan: test: fix compatibility with FORTIFY_SOURCE (Nico Pache) [2065444] - kasan: test: add test case for double-kmem_cache_destroy() (Nico Pache) [2065444] - kasan: add ability to detect double-kmem_cache_destroy() (Nico Pache) [2065444] - kasan: test: add globals left-out-of-bounds test (Nico Pache) [2065444] - kasan: test: silence intentional read overflow warnings (Nico Pache) [2065444] - kasan: test: bypass __alloc_size checks (Nico Pache) [2065444] - kasan: test: add memcpy test that avoids out-of-bounds write (Nico Pache) [2065444] - kasan: test: clean up ksize_uaf (Nico Pache) [2065444] - kasan: test: disable kmalloc_memmove_invalid_size for HW_TAGS (Nico Pache) [2065444] - kasan: test: only do kmalloc_uaf_memset for generic mode (Nico Pache) [2065444] - kasan: test: avoid corrupting memory via memset (Nico Pache) [2065444] - kasan: test: avoid writing invalid memory (Nico Pache) [2065444] - kasan: test: rework kmalloc_oob_right (Nico Pache) [2065444] - Documentation: kunit: remove claims that kunit is a mocking framework (Nico Pache) [2065444] - kunit: Reset suite count after running tests (Nico Pache) [2065444] - kunit: drop assumption in kunit-log-test about current suite (Nico Pache) [2065444] - string.h: Introduce memset_startat() for wiping trailing members and padding (Nico Pache) [2065444] - string.h: Introduce memset_after() for wiping trailing members/padding (Nico Pache) [2065444] - lib: Introduce CONFIG_MEMCPY_KUNIT_TEST (Nico Pache) [2065444] - kunit: fix kernel-doc warnings due to mismatched arg names (Nico Pache) [2065444] - kunit: fix reference count leak in kfree_at_end (Nico Pache) [2065444] - kunit: Print test statistics on failure (Nico Pache) [2065444] - fat: Add KUnit tests for checksums and timestamps (Nico Pache) [2065444] - kunit: add unit test for filtering suites by names (Nico Pache) [2065444] - kunit: test: Add example tests which are always skipped (Nico Pache) [2065444] - kunit: Support skipped tests (Nico Pache) [2065444] - redhat: remove TEST_LIST_SORT config definitions (Nico Pache) [2065444] - lib/test: convert test_sort.c to use KUnit (Nico Pache) [2065444] - lib/test: convert lib/test_list_sort.c to use KUnit (Nico Pache) [2065444] - kunit: introduce kunit_kmalloc_array/kunit_kcalloc() helpers (Nico Pache) [2065444] - kunit: Add gnu_printf specifiers (Nico Pache) [2065444] - lib/cmdline_kunit: Remove a cast which are no-longer required (Nico Pache) [2065444] - kernel/sysctl-test: Remove some casts which are no-longer required (Nico Pache) [2065444] - device property: Remove some casts in property-entry-test (Nico Pache) [2065444] - Documentation: kunit: Clean up some string casts in examples (Nico Pache) [2065444] - kunit: Assign strings to 'const char*' in STREQ assertions (Nico Pache) [2065444] - kunit: Do not typecheck binary assertions (Nico Pache) [2065444] - Documentation: kunit: document support for QEMU in kunit_tool (Nico Pache) [2065444] - kunit: Add 'kunit_shutdown' option (Nico Pache) [2065444] - Documentation: kunit: Update kunit_tool page (Nico Pache) [2065444] - Documentation: kunit: add tips for running KUnit (Nico Pache) [2065444] - slub: remove resiliency_test() function (Nico Pache) [2065444] - mm/slub, kunit: add a KUnit test for SLUB debugging functionality (Nico Pache) [2065444] - kunit: make test->lock irq safe (Nico Pache) [2065444] - docs: dev-tools: kunit: avoid using ReST :doc:`foo` markup (Nico Pache) [2065444] - docs: dev-tools: kunit: don't use a table for docs name (Nico Pache) [2065444] - kunit: make KUNIT_EXPECT_STREQ() quote values, don't print literals (Nico Pache) [2065444] - kunit: Match parenthesis alignment to improve code readability (Nico Pache) [2065444] - openvswitch: always update flow key after nat (Aaron Conole) [2066885] - md: initialize percpu refcounters using PERCU_REF_ALLOW_REINIT (Nigel Croxon) [2032272] - net: fix a memleak when uncloning an skb dst and its metadata (Hangbin Liu) [2068355] - net: do not keep the dst cache when uncloning an skb dst and its metadata (Hangbin Liu) [2068355] - net: phy: at803x: move page selection fix to config_init (Petr Oros) [2021822] - net: phylink: rejig SFP interface selection in ksettings_set() (Petr Oros) [2021822] - ptp: dp83640: don't define PAGE0 (Petr Oros) [2021822] - net: phylink: Update SFP selected interface on advertising changes (Petr Oros) [2021822] - net: phy: marvell10g: fix broken PHY interrupts for anyone after us in the driver probe list (Petr Oros) [2021822] - net: phy: marvell: Add WAKE_PHY support to WOL event (Petr Oros) [2021822] - net: phy: micrel: Fix link detection on ksz87xx switch" (Petr Oros) [2021822] - net: phy: micrel: Fix detection of ksz87xx switch (Petr Oros) [2021822] - net: phy: broadcom: re-add check for PHY_BRCM_DIS_TXCRXC_NOENRGY on the BCM54811 PHY (Petr Oros) [2021822] - net: phy: at803x: simplify custom phy id matching (Petr Oros) [2021822] - net: phy: intel-xway: Add RGMII internal delay configuration (Petr Oros) [2021822] - net: phylink: cleanup ksettings_set (Petr Oros) [2021822] - net: phylink: add phy change pause mode debug (Petr Oros) [2021822] - net: phy: add API to read 802.3-c45 IDs (Petr Oros) [2021822] - net: phy: Fix data type in DP83822 dp8382x_disable_wol() (Petr Oros) [2021822] - net: phy: marvell10g: enable WoL for 88X3310 and 88E2110 (Petr Oros) [2021822] - net: phy: marvell10g: fix differentiation of 88X3310 from 88X3340 (Petr Oros) [2021822] - net: phy: replace if-else statements with switch (Petr Oros) [2021822] - net: phy: remove unnecessary line continuation (Petr Oros) [2021822] - net: phy: print the function name by __func__ instead of an fixed string (Petr Oros) [2021822] - net: phy: fix formatting issues with braces (Petr Oros) [2021822] - net: phy: fix space alignment issues (Petr Oros) [2021822] - net: phy: delete repeated words of comments (Petr Oros) [2021822] - net: phy: correct format of block comments (Petr Oros) [2021822] - net: phy: change format of some declarations (Petr Oros) [2021822] - net: phy: micrel: remove redundant assignment to pointer of_node (Petr Oros) [2021822] - net: phy: dp83867: perform soft reset and retain established link (Petr Oros) [2021822] - net: phy: do not print dump stack if device was removed (Petr Oros) [2021822] - net: phy: probe for C45 PHYs that return PHY ID of zero in C22 space (Petr Oros) [2021822] - net: phy: marvell: use phy_modify_changed() for marvell_set_polarity() (Petr Oros) [2021822] - net: phy: Fix inconsistent indenting (Petr Oros) [2021822] - net: mdiobus: get rid of a BUG_ON() (Petr Oros) [2021822] - net: phy: marvell: enable downshift by default (Petr Oros) [2021822] - net: phy: marvell: add downshift support for M88E1240 (Petr Oros) [2021822] - net: phy: marvell: fix m88e1111_set_downshift (Petr Oros) [2021822] - net: phy: marvell: fix m88e1011_set_downshift (Petr Oros) [2021822] - net: phy: marvell: don't use empty switch default case (Petr Oros) [2021822] - net: phy: intel-xway: enable integrated led functions (Petr Oros) [2021822] - net: phy: at803x: fix probe error if copper page is selected (Petr Oros) [2021822] - net: phy: marvell: add support for Amethyst internal PHY (Petr Oros) [2021822] - net: dsa: mv88e6xxx: simulate Amethyst PHY model number (Petr Oros) [2021822] - net: phy: marvell: use assignment by bitwise AND operator (Petr Oros) [2021822] - net: phy: marvell: fix HWMON enable register for 6390 (Petr Oros) [2021822] - net: phy: marvell: refactor HWMON OOP style (Petr Oros) [2021822] - net: phy: at803x: select correct page on config init (Petr Oros) [2021822] - net: phy: marvell: fix detection of PHY on Topaz switches (Petr Oros) [2021822] - net: phy: marvell10g: change module description (Petr Oros) [2021822] - net: phy: marvell10g: differentiate 88E2110 vs 88E2111 (Petr Oros) [2021822] - net: phy: add constants for 2.5G and 5G speed in PCS speed register (Petr Oros) [2021822] - net: phy: marvell10g: fix driver name for mv88e2110 (Petr Oros) [2021822] - net: phy: marvell10g: add separate structure for 88X3340 (Petr Oros) [2021822] - net: phy: marvell10g: support other MACTYPEs (Petr Oros) [2021822] - net: phy: marvell10g: store temperature read method in chip strucutre (Petr Oros) [2021822] - net: phy: marvell10g: check for correct supported interface mode (Petr Oros) [2021822] - net: phy: marvell10g: support all rate matching modes (Petr Oros) [2021822] - net: phy: marvell10g: add MACTYPE definitions for 88E21xx (Petr Oros) [2021822] - net: phy: marvell10g: add all MACTYPE definitions for 88X33x0 (Petr Oros) [2021822] - net: phy: marvell10g: indicate 88X33x0 only port control registers (Petr Oros) [2021822] - net: phy: marvell10g: allow 5gbase-r and usxgmii (Petr Oros) [2021822] - net: phy: marvell10g: fix typo (Petr Oros) [2021822] - net: phy: marvell10g: rename register (Petr Oros) [2021822] - net: fec: use mac-managed PHY PM (Petr Oros) [2021822] - net: phy: broadcom: Add statistics for all Gigabit PHYs (Petr Oros) [2021822] - net: phy: broadcom: Only advertise EEE for supported modes (Petr Oros) [2021822] - net: phy: remove repeated word (Petr Oros) [2021822] - net: phy: Correct function name mdiobus_register_board_info() in comment (Petr Oros) [2021822] - net: phy: lan87xx: fix access to wrong register of LAN87xx (Petr Oros) [2021822] - net: phy: at803x: remove at803x_aneg_done() (Petr Oros) [2021822] - net: phy: broadcom: Fix RGMII delays for BCM50160 and BCM50610M (Petr Oros) [2021822] - docs: networking: phy: Improve placement of parenthesis (Petr Oros) [2021822] - net: phy: broadcom: Add power down exit reset state delay (Petr Oros) [2021822] - net: phy: make mdio_bus_phy_suspend/resume as __maybe_unused (Petr Oros) [2021822] - net: mdio: Remove of_phy_attach() (Petr Oros) [2021822] - net: phy: broadcom: Do not modify LED configuration for SFP module PHYs (Petr Oros) [2021822] - net: phy: Add is_on_sfp_module flag and phy_on_sfp helper (Petr Oros) [2021822] - net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S (Petr Oros) [2021822] - net: phy: marvell: Ensure SGMII auto-negotiation is enabled for 88E1111 (Petr Oros) [2021822] - net: phylink: Add 5gbase-r support (Petr Oros) [2021822] - net: phy: Add 5GBASER interface mode (Petr Oros) [2021822] - net: phy: rename PHY_IGNORE_INTERRUPT to PHY_MAC_INTERRUPT (Petr Oros) [2021822] - net: phy: at803x: add MDIX support to AR8031/33 (Petr Oros) [2021822] - net: phy: broadcom: Allow BCM54210E to configure APD (Petr Oros) [2021822] - net: phy: broadcom: Remove unused flags (Petr Oros) [2021822] - net: phy: broadcom: Avoid forward for bcm54xx_config_clock_delay() (Petr Oros) [2021822] - net: phy: consider that suspend2ram may cut off PHY power (Petr Oros) [2021822] - net: phy: bcm7xxx: Add an entry for BCM72116 (Petr Oros) [2021822] - net: mdiobus: Remove WARN_ON_ONCE(in_interrupt()) (Petr Oros) [2021822] - net: Use kobj_to_dev() API (Petr Oros) [2021822] - net: phy: Fixup kernel doc (Petr Oros) [2021822] - net: phy: bcm7xxx: Add an entry for BCM72113 (Petr Oros) [2021822] - net: phy: mchp: Add support for LAN8814 QUAD PHY (Petr Oros) [2021822] - net: dp83867: Fix WoL SecureOn password (Petr Oros) [2021822] - net: phy: at803x: constify static regulator_ops (Petr Oros) [2021822] - net: phy: marvell10g: support XFI rate matching mode (Petr Oros) [2021822] - net: switch to using PHY_INTERFACE_MODE_10GBASER rather than 10GKR (Petr Oros) [2021822] - netfilter: conntrack: Add and use nf_ct_set_auto_assign_helper_warned() (Phil Sutter) [1896241] - net: do not reuse skbuff allocated from skbuff_fclone_cache in the skb cache (Ivan Vecera) [2069781] - skbuff: queue NAPI_MERGED_FREE skbs into NAPI cache instead of freeing (Ivan Vecera) [2069781] - skbuff: allow to use NAPI cache from __napi_alloc_skb() (Ivan Vecera) [2069781] - skbuff: allow to optionally use NAPI cache from __alloc_skb() (Ivan Vecera) [2069781] - skbuff: introduce {,__}napi_build_skb() which reuses NAPI cache heads (Ivan Vecera) [2069781] - skbuff: move NAPI cache declarations upper in the file (Ivan Vecera) [2069781] - skbuff: remove __kfree_skb_flush() (Ivan Vecera) [2069781] - skbuff: use __build_skb_around() in __alloc_skb() (Ivan Vecera) [2069781] - skbuff: simplify __alloc_skb() a bit (Ivan Vecera) [2069781] - skbuff: make __build_skb_around() return void (Ivan Vecera) [2069781] - skbuff: simplify kmalloc_reserve() (Ivan Vecera) [2069781] - skbuff: move __alloc_skb() next to the other skb allocation functions (Ivan Vecera) [2069781] - net: Introduce {netdev,napi}_alloc_frag_align() (Ivan Vecera) [2069781] - mm: page_frag: Introduce page_frag_alloc_align() (Ivan Vecera) [2069781] - perf tests attr: Add missing topdown metrics events (Michael Petlan) [1986275] - cifs: Return correct error code from smb2_get_enc_key (Ronnie Sahlberg) [2058369] - ipv4: avoid using shared IP generator for connected sockets (Paolo Abeni) [2062427] {CVE-2020-36516} - crypto: cryptd - Fix skcipher instance memory leak (Vladis Dronov) [2004344] - EVM: fix the evm= __setup handler return value (Bruno Meneguele) [2063900] - integrity: include keyring name for unknown key request (Bruno Meneguele) [2063900] - ima: limit secure boot feedback scope for appraise (Bruno Meneguele) [2063900] - integrity: invalid kernel parameters feedback (Bruno Meneguele) [2063900] - ima: add check for enforced appraise option (Bruno Meneguele) [2063900] - ima: Allow template selection with ima_template[_fmt]= after ima_hash= (Bruno Meneguele) [2063900] - ima: Remove ima_policy file before directory (Bruno Meneguele) [2063900] - integrity: check the return value of audit_log_start() (Bruno Meneguele) [2063900] - ima: fix deadlock when traversing "ima_default_rules". (Bruno Meneguele) [2063900] - evm: Introduce evm_revalidate_status() (Bruno Meneguele) [2063900] - evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded (Bruno Meneguele) [2063900] - evm: Load EVM key in ima_load_x509() to avoid appraisal (Bruno Meneguele) [2063900] - evm: Execute evm_inode_init_security() only when an HMAC key is loaded (Bruno Meneguele) [2063900] - fs/kernel_read_file: Remove FIRMWARE_PREALLOC_BUFFER enum (Bruno Meneguele) [2063900] - RHEL-only: KVM: selftests: Fix AArch64 compilation (Andrew Jones) [2071997] - tools arch x86: Sync the msr-index.h copy with the kernel sources (Andrew Jones) [2071997] - RHEL-only: KVM: selftests: Remove unused modes (Andrew Jones) [2071997]- netfilter: nf_tables_offload: incorrect flow offload action array size (Florian Westphal) [2056728] {CVE-2022-25636} - netfilter: nftables_offload: KASAN slab-out-of-bounds Read in nft_flow_rule_create (Florian Westphal) [2056728] - KVM: SVM: Allow AVIC support on system w/ physical APIC ID > 255 (Bandan Das) [2033068] - PCI/ACPI: Fix acpi_pci_osc_control_set() kernel-doc comment (Mark Langsdorf) [2049209] - PCI/ACPI: Check for _OSC support in acpi_pci_osc_control_set() (Mark Langsdorf) [2049209] - PCI/ACPI: Move _OSC query checks to separate function (Mark Langsdorf) [2049209] - PCI/ACPI: Move supported and control calculations to separate functions (Mark Langsdorf) [2049209] - PCI/ACPI: Remove OSC_PCI_SUPPORT_MASKS and OSC_PCI_CONTROL_MASKS (Mark Langsdorf) [2049209] - kabi: Adding symbol blkdev_get_by_dev (fs/block_dev.c) (Čestmír Kalina) [2010296] - kabi: Adding symbol thaw_bdev (fs/block_dev.c) (Čestmír Kalina) [2010296] - kabi: Adding symbol freeze_bdev (fs/block_dev.c) (Čestmír Kalina) [2010296] - s390/cio: make ccw_device_dma_* more robust (Thomas Huth) [2066709] - perf/x86/intel/uncore: Make uncore_discovery clean for 64 bit addresses (Michael Petlan) [2069237] - redhat: switch secureboot kernel image signing to release keys (Augusto Caringi) - ice: xsk: Stop Rx processing when ntc catches ntu (Ivan Vecera) [2069082] - ice: xsk: Fix indexing in ice_tx_xsk_pool() (Ivan Vecera) [2069082] - ice: Fix kernel crash in XDP scenario (Ivan Vecera) [2069082]- do_wait: make PIDTYPE_PID case O(1) instead of O(n) (Nico Pache) [2055973] - n_tty: wake up poll(POLLRDNORM) on receiving data (Rafael Aquini) [2033338] - powerpc/papr_scm: Implement initial support for injecting smart errors (Steve Best) [1987103] - mm: memcg: synchronize objcg lists with a dedicated spinlock (Rafael Aquini) [2064847] - kasan: fix quarantine conflicting with init_on_free (Rafael Aquini) [2064847] - mm/hwpoison: clear MF_COUNT_INCREASED before retrying get_any_page() (Rafael Aquini) [2064847] - mm/memcg: relocate mod_objcg_mlstate(), get_obj_stock() and put_obj_stock() (Rafael Aquini) [2064847] - mm: move node_reclaim_distance to fix NUMA without SMP (Rafael Aquini) [2064847] - vmalloc: choose a better start address in vm_area_register_early() (Rafael Aquini) [2064847] - mm/vmalloc: check various alignments when debugging (Rafael Aquini) [2064847] - mm/vmalloc: don't allow VM_NO_GUARD on vmap() (Rafael Aquini) [2064847] - mm, thp: bail out early in collapse_file for writeback page (Rafael Aquini) [2064847] - mm/sparse: set SECTION_NID_SHIFT to 6 (Rafael Aquini) [2064847] - mm/memory_hotplug: fix kerneldoc comment for __remove_memory (Rafael Aquini) [2064847] - mm: fix memory_failure() handling of dax-namespace metadata (Rafael Aquini) [2064847] - mm: teach pfn_to_online_page() about ZONE_DEVICE section collisions (Rafael Aquini) [2064847] - mm: teach pfn_to_online_page() to consider subsection validity (Rafael Aquini) [2064847] - mm: move pfn_to_online_page() out of line (Rafael Aquini) [2064847] - Revert "mm: use early_pfn_to_nid in page_ext_init" (Rafael Aquini) [2064847] - x86/mm: Fix kern_addr_valid() to cope with existing but not present entries (Rafael Aquini) [2064847] - powerpc/book3s64: Fix error handling in mm_iommu_do_alloc() (Rafael Aquini) [2064847] - powerpc/pkeys: remove unused pkey_allows_readwrite (Rafael Aquini) [2064847] - x86/hyperv: Output host build info as normal Windows version number (Vitaly Kuznetsov) [2060700] - powerpc/smp: Update cpu_core_map on all PowerPc systems (Diego Domingos) [2064104] - crypto: ccp - ccp_dmaengine_unregister release dma channels (Vladis Dronov) [2015374] - crypto: ccp - remove redundant ret variable (Vladis Dronov) [2015374] - crypto: ccp - Ensure psp_ret is always init'd in __sev_platform_init_locked() (Vladis Dronov) [2015374] - crypto: ccp - remove unneeded semicolon (Vladis Dronov) [2015374] - crypto: ccp - Add SEV_INIT_EX support (Vladis Dronov) [2015374] - crypto: ccp - Add psp_init_on_probe module parameter (Vladis Dronov) [2015374] - crypto: ccp - Refactor out sev_fw_alloc() (Vladis Dronov) [2015374] - crypto: ccp - Move SEV_INIT retry for corrupted data (Vladis Dronov) [2015374] - crypto: ccp - Add SEV_INIT rc error logging on init (Vladis Dronov) [2015374] - crypto: ccp - no need to initialise statics to 0 (Vladis Dronov) [2015374] - ccp: ccp - add support for Green Sardine (Vladis Dronov) [2015374] - crypto: ccp - fix command queuing to TEE ring buffer (Vladis Dronov) [2015374] - crypto: ccp - reduce tee command status polling interval from 5ms to 1ms (Vladis Dronov) [2015374] - crypto: ccp - provide in-kernel API to submit TEE commands (Vladis Dronov) [2015374] - crypto: ccp - add TEE support for Raven Ridge (Vladis Dronov) [2015374] - crypto: ccp - check whether PSP supports SEV or TEE before initialization (Vladis Dronov) [2015374] - ice: Allow to pass VLAN tagged packets to VF when port VLAN is configured (Ivan Vecera) [2071027] - tools headers UAPI: Sync linux/perf_event.h with the kernel sources (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Fix power_pmu_disable to call clear_pmi_irq_pending only if PMI is pending (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Only define power_pmu_wants_prompt_pmi() for CONFIG_PPC64 (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Add data source encodings for power10 platform (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Add encodings to represent data based on newer composite PERF_MEM_LVLNUM* fields (Desnes A. Nunes do Rosario) [1992813] - perf: Add new macros for mem_hops field (Desnes A. Nunes do Rosario) [1992813] - tools headers UAPI: Add new macros for mem_hops field to perf_event.h (Desnes A. Nunes do Rosario) [1992813] - bpf: Remove config check to enable bpf support for branch records (Desnes A. Nunes do Rosario) [1992813] - perf powerpc: Update global/local variants for p_stage_cyc (Desnes A. Nunes do Rosario) [1992813] - perf sort: Include global and local variants for p_stage_cyc sort key (Desnes A. Nunes do Rosario) [1992813] - perf sort: Fix the 'p_stage_cyc' sort key behavior (Desnes A. Nunes do Rosario) [1992813] - perf sort: Fix the 'ins_lat' sort key behavior (Desnes A. Nunes do Rosario) [1992813] - perf sort: Fix the 'weight' sort key behavior (Desnes A. Nunes do Rosario) [1992813] - perf vendor events power10: Add metric events JSON file for power10 platform (Desnes A. Nunes do Rosario) [1992813] - perf powerpc: Add support to expose instruction and data address registers as part of extended regs (Desnes A. Nunes do Rosario) [1992813] - perf powerpc: Refactor the code definition of perf reg extended mask in tools side header file (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Expose instruction and data address registers as part of extended regs (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Refactor the code definition of perf reg extended mask (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Fix data source encodings for L2.1 and L3.1 accesses (Desnes A. Nunes do Rosario) [1992813] - tools/perf: Add mem_hops field in perf_mem_data_src structure (Desnes A. Nunes do Rosario) [1992813] - perf: Add mem_hops field in perf_mem_data_src structure (Desnes A. Nunes do Rosario) [1992813] - perf: Add comment about current state of PERF_MEM_LVL_* namespace and remove an extra line (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Fix the check for SIAR value (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Drop the case of returning 0 as instruction pointer (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Use stack siar instead of mfspr (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf/hv-gpci: Fix counter value parsing (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Fix PMU callbacks to clear pending PMI before resetting an overflown PMC (Desnes A. Nunes do Rosario) [1992813] - CI: Remove deprecated option (Veronika Kabatova)- bareudp: use ipv6_mod_enabled to check if IPv6 enabled (Hangbin Liu) [2063813] - powerpc/mm/numa: skip NUMA_NO_NODE onlining in parse_numa_properties() (Diego Domingos) [2048218] - redhat: copy rpminspect to dist-git repo (Jarod Wilson) - configs: enable CONFIG_RMI4_F3A (Benjamin Tissoires) [2067219] - Input: synaptics-rmi4 - add support for F3A (Benjamin Tissoires) [2067219] - RDMA/cma: Do not change route.addr.src_addr.ss_family (Kamal Heib) [2032074] {CVE-2021-4028} - drm/i915/adl_s: Remove require_force_probe protection (Michel Dänzer) [2025896] - drm/i915/adl_s: Update ADL-S PCI IDs (Michel Dänzer) [2025896] - drm/i915: Limit Wa_22010178259 to affected platforms (Michel Dänzer) [2025896] - drm/i915/adl_s: Fix dma_mask_size to 39 bit (Michel Dänzer) [2025896] - drm/i915/dmc: Update DMC to v2.14 on ADL-P (Michel Dänzer) [2060051] - drm/i915: Update memory bandwidth formulae (Michel Dänzer) [2060051] - drm/i915/fb: Fold modifier CCS type/tiling attribute to plane caps (Michel Dänzer) [2060051] - drm/i915/fb: Don't store bitmasks in the intel_plane_caps enum (Michel Dänzer) [2060051] - drm/i915/adl_p: Add ddc pin mapping (Michel Dänzer) [2060051] - iommu/amd: Fix I/O page table memory leak (Jerry Snitselaar) [2053210] - iommu/amd: Recover from event log overflow (Jerry Snitselaar) [2053210]- redhat: tune rpminspect w/additions from rhel9 branch (Jarod Wilson) - powerpc/pseries/ddw: Revert "Extend upper limit for huge DMA window for persistent memory" (Steve Best) [2056080] - x86/tsc: Disable clocksource watchdog for TSC on qualified platorms (Prarit Bhargava) [1971939] - x86/tsc: Add a timer to make sure TSC_adjust is always checked (Prarit Bhargava) [1971939] - x86/hpet: Use another crystalball to evaluate HPET usability (Prarit Bhargava) [1971939] - x86/tsc: Respect tsc command line paraemeter for clocksource_tsc_early (Prarit Bhargava) [1971939] - [s390] s390/pci: fix zpci_zdev_put() on reserve (Claudio Imbrenda) [2039185] - [s390] s390/pci: fix use after free of zpci_dev (Claudio Imbrenda) [2039185] - [s390] s390/cio: make ccw_device_dma_* more robust (Claudio Imbrenda) [2039186] - [s390] s390/pci: add s390_iommu_aperture kernel parameter (Claudio Imbrenda) [2039181] - tools headers UAPI: Sync linux/kvm.h with the kernel sources (Paul Lai) [1918929] - kvm: selftests: sync uapi/linux/kvm.h with Linux header (Paul Lai) [1918929] - kvm: selftests: conditionally build vm_xsave_req_perm() (Paul Lai) [1918929] - x86/kvm/fpu: Remove kvm_vcpu_arch.guest_supported_xcr0 (Paul Lai) [1918929] - x86/kvm/fpu: Limit guest user_xfeatures to supported bits of XCR0 (Paul Lai) [1918929] - KVM: x86/cpuid: Exclude unpermitted xfeatures sizes at KVM_GET_SUPPORTED_CPUID (Paul Lai) [1918929] - KVM: x86: Move CPUID.(EAX=0x12,ECX=1) mangling to __kvm_update_cpuid_runtime() (Paul Lai) [1918929] - KVM: x86/cpuid: Clear XFD for component i if the base feature is missing (Paul Lai) [1918929] - KVM: x86: Do runtime CPUID update before updating vcpu->arch.cpuid_entries (Paul Lai) [1918929] - x86/fpu: Fix inline prefix warnings (Paul Lai) [1918929] - selftest: kvm: Add amx selftest (Paul Lai) [1918929] - selftest: kvm: Move struct kvm_x86_state to header (Paul Lai) [1918929] - selftest: kvm: Reorder vcpu_load_state steps for AMX (Paul Lai) [1918929] - kvm: x86: Disable interception for IA32_XFD on demand (Paul Lai) [1918929] - x86/fpu: Provide fpu_sync_guest_vmexit_xfd_state() (Paul Lai) [1918929] - kvm: selftests: Add support for KVM_CAP_XSAVE2 (Paul Lai) [1918929] - kvm: x86: Add support for getting/setting expanded xstate buffer (Paul Lai) [1918929] - x86/fpu: Add uabi_size to guest_fpu (Paul Lai) [1918929] - kvm: x86: Add CPUID support for Intel AMX (Paul Lai) [1918929] - kvm: x86: Add XCR0 support for Intel AMX (Paul Lai) [1918929] - kvm: x86: Disable RDMSR interception of IA32_XFD_ERR (Paul Lai) [1918929] - kvm: x86: Emulate IA32_XFD_ERR for guest (Paul Lai) [1918929] - kvm: x86: Intercept #NM for saving IA32_XFD_ERR (Paul Lai) [1918929] - x86/fpu: Prepare xfd_err in struct fpu_guest (Paul Lai) [1918929] - kvm: x86: Add emulation for IA32_XFD (Paul Lai) [1918929] - x86/fpu: Provide fpu_update_guest_xfd() for IA32_XFD emulation (Paul Lai) [1918929] - kvm: x86: Enable dynamic xfeatures at KVM_SET_CPUID2 (Paul Lai) [1918929] - x86/fpu: Provide fpu_enable_guest_xfd_features() for KVM (Paul Lai) [1918929] - x86/fpu: Add guest support to xfd_enable_feature() (Paul Lai) [1918929] - x86/fpu: Make XFD initialization in __fpstate_reset() a function argument (Paul Lai) [1918929] - kvm: x86: Exclude unpermitted xfeatures at KVM_GET_SUPPORTED_CPUID (Paul Lai) [1918929] - kvm: x86: Fix xstate_required_size() to follow XSTATE alignment rule (Paul Lai) [1918929] - x86/fpu: Prepare guest FPU for dynamically enabled FPU features (Paul Lai) [1918929] - x86/fpu: Extend fpu_xstate_prctl() with guest permissions (Paul Lai) [1918929] - kvm: selftests: move ucall declarations into ucall_common.h (Paul Lai) [1918929] - kvm: selftests: move base kvm_util.h declarations to kvm_util_base.h (Paul Lai) [1918929] - cpuid: kvm_find_kvm_cpuid_features() should be declared 'static' (Paul Lai) [1918929] - KVM: x86: Make sure KVM_CPUID_FEATURES really are KVM_CPUID_FEATURES (Paul Lai) [1918929] - KVM: x86: Add helper to consolidate core logic of SET_CPUID{2} flows (Paul Lai) [1918929]- scsi: mpi3mr: Fix flushing !WQ_MEM_RECLAIM events warning (Tomas Henzl) [2052278] - scsi: mpi3mr: Fix memory leaks (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix reporting of actual data transfer size (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix cmnd getting marked as in use forever (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix hibernation issue (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix printing of pending I/O count (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix deadlock while canceling the fw event (Tomas Henzl) [2054814] - scsi: mpi3mr: Fixes around reply request queues (Tomas Henzl) [2054814] - scsi: mpi3mr: Enhanced Task Management Support Reply handling (Tomas Henzl) [2054814] - scsi: mpi3mr: Use TM response codes from MPI3 headers (Tomas Henzl) [2054814] - scsi: mpi3mr: Increase internal cmnds timeout to 60s (Tomas Henzl) [2054814] - scsi: mpi3mr: Do access status validation before adding devices (Tomas Henzl) [2054814] - scsi: mpi3mr: Update MPI3 headers - part2 (Tomas Henzl) [2054814] - scsi: mpi3mr: Update MPI3 headers - part1 (Tomas Henzl) [2054814] - scsi: mpi3mr: Don't reset IOC if cmnds flush with reset status (Tomas Henzl) [2054814] - scsi: mpi3mr: Replace spin_lock() with spin_lock_irqsave() (Tomas Henzl) [2054814] - scsi: mpi3mr: Add debug APIs based on logging_level bits (Tomas Henzl) [2054814] - scsi: mpt3sas: Remove scsi_dma_map() error messages (Tomas Henzl) [2057021] - net/mlx5: Fix wrong limitation of metadata match on ecpf (Amir Tzin) [2049094] - nfsd: fix use-after-free due to delegation race (Thiago Becker) [2053262] - dma-buf: cma_heap: Fix mutex locking section (Michel Dänzer) [2044440] - drm/amdkfd: Check for null pointer after calling kmemdup (Michel Dänzer) [2044440] - drm/atomic: Check new_crtc_state->active to determine if CRTC needs disable in self refresh mode (Michel Dänzer) [2044440] - drm/amd: avoid suspend on dGPUs w/ s2idle support when runtime PM enabled (Michel Dänzer) [2044440] - drm/i915/overlay: Prevent divide by zero bugs in scaling (Michel Dänzer) [2044440] - dma-buf: heaps: Fix potential spectre v1 gadget (Michel Dänzer) [2044440] - drm/amd/display: Force link_rate as LINK_RATE_RBR2 for 2018 15" Apple Retina panels (Michel Dänzer) [2044440] - drm/amd/display: watermark latencies is not enough on DCN31 (Michel Dänzer) [2044440] - drm/amd/pm: correct the MGpuFanBoost support for Beige Goby (Michel Dänzer) [2044440] - drm/i915/adlp: Fix TypeC PHY-ready status readout (Michel Dänzer) [2044440] - drm/nouveau: fix off by one in BIOS boundary checking (Michel Dänzer) [2044440] - drm/i915: Disable DSB usage for now (Michel Dänzer) [2044440] - Revert "drm/ast: Support 1600x900 with 108MHz PCLK" (Michel Dänzer) [2044440] - drm/amd/display: Fix FP start/end for dcn30_internal_validate_bw. (Michel Dänzer) [2044440] - drm/atomic: Add the crtc to affected crtc only if uapi.enable = true (Michel Dänzer) [2044440] - drm/amdgpu: Use correct VIEWPORT_DIMENSION for DCN2 (Michel Dänzer) [2044440] - drm/amd/display: reset dcn31 SMU mailbox on failures (Michel Dänzer) [2044440] - drm/vmwgfx: Remove explicit transparent hugepages support (Michel Dänzer) [2044440] - drm/radeon: fix error handling in radeon_driver_open_kms (Michel Dänzer) [2044440] - drm/i915/display/ehl: Update voltage swing table (Michel Dänzer) [2044440] - drm/nouveau/kms/nv04: use vzalloc for nv04_display (Michel Dänzer) [2044440] - drm/amd/display: Fix the uninitialized variable in enable_stream_features() (Michel Dänzer) [2044440] - amdgpu/pm: Make sysfs pm attributes as read-only for VFs (Michel Dänzer) [2044440] - drm/amdgpu: fixup bad vram size on gmc v8 (Michel Dänzer) [2044440] - drm/amd/amdgpu: fix gmc bo pin count leak in SRIOV (Michel Dänzer) [2044440] - drm/amd/amdgpu: fix psp tmr bo pin count leak in SRIOV (Michel Dänzer) [2044440] - drm/amdkfd: Fix error handling in svm_range_add (Michel Dänzer) [2044440] - drm/vmwgfx: Introduce a new placement for MOB page tables (Michel Dänzer) [2044440] - drm/vmwgfx: Release ttm memory if probe fails (Michel Dänzer) [2044440] - drm/amd/display: add else to avoid double destroy clk_mgr (Michel Dänzer) [2044440] - drm/amdgpu/display: set vblank_disable_immediate for DC (Michel Dänzer) [2044440] - drm/amd/display: check top_pipe_to_program pointer (Michel Dänzer) [2044440] - drm: panel-orientation-quirks: Add quirk for the Lenovo Yoga Book X91F/L (Michel Dänzer) [2044440] - drm/amd/display: Fix out of bounds access on DNC31 stream encoder regs (Michel Dänzer) [2044440] - drm/amd/display: Fix bug in debugfs crc_win_update entry (Michel Dänzer) [2044440] - drm/radeon/radeon_kms: Fix a NULL pointer dereference in radeon_driver_open_kms() (Michel Dänzer) [2044440] - drm/amdgpu: Fix a NULL pointer dereference in amdgpu_connector_lcd_native_mode() (Michel Dänzer) [2044440] - drm/vmwgfx: Fail to initialize on broken configs (Michel Dänzer) [2044440] - drm/vmwgfx: Remove the deprecated lower mem limit (Michel Dänzer) [2044440] - drm/vboxvideo: fix a NULL vs IS_ERR() check (Michel Dänzer) [2044440] - drm: fix null-ptr-deref in drm_dev_init_release() (Michel Dänzer) [2044440] - drm/ttm: Put BO in its memory manager's lru list (Michel Dänzer) [2044440] - dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled() (Michel Dänzer) [2044440] - drm/amd/display: explicitly set is_dsc_supported to false before use (Michel Dänzer) [2044440] - drm/i915: Avoid bitwise vs logical OR warning in snb_wm_latency_quirk() (Michel Dänzer) [2044440] - drm/amd/pm: keep the BACO feature enabled for suspend (Michel Dänzer) [2044440] - Revert "drm/amdgpu: stop scheduler when calling hw_fini (v2)" (Michel Dänzer) [2044440] - drm/amd/display: Added power down for DCN10 (Michel Dänzer) [2044440] - drm/amd/display: fix B0 TMDS deepcolor no dislay issue (Michel Dänzer) [2044440] - drm/amdgpu: put SMU into proper state on runpm suspending for BOCO capable platform (Michel Dänzer) [2044440] - drm/amd/pm: skip setting gfx cgpg in the s0ix suspend-resume (Michel Dänzer) [2044440] - drm/amd/pm: Fix xgmi link control on aldebaran (Michel Dänzer) [2044440] - drm/amdgpu: fix dropped backing store handling in amdgpu_dma_buf_move_notify (Michel Dänzer) [2044440] - drm/amd/display: Changed pipe split policy to allow for multi-display pipe split (Michel Dänzer) [2044440] - drm/amdgpu: add support for IP discovery gc_info table v2 (Michel Dänzer) [2044440] - drm/amdgpu: When the VCN(1.0) block is suspended, powergating is explicitly enabled (Michel Dänzer) [2044440] - drm/nouveau: wait for the exclusive fence after the shared ones v2 (Michel Dänzer) [2044440] - drm/nouveau: always wait for the exclusive fence (Michel Dänzer) [2044440] - drm/amd/display: Set optimize_pwr_state for DCN31 (Michel Dänzer) [2044440] - drm/amd/display: Send s0i2_rdy in stream_count == 0 optimization (Michel Dänzer) [2044440] - drm/amd/pm: fix reading SMU FW version from amdgpu_firmware_info on YC (Michel Dänzer) [2044440] - drm/amdgpu: don't override default ECO_BITs setting (Michel Dänzer) [2044440] - drm/amdgpu: correct register access for RLC_JUMP_TABLE_RESTORE (Michel Dänzer) [2044440] - drm/amd/pm: fix a potential gpu_metrics_table memory leak (Michel Dänzer) [2044440] - drm/amd/display: Set exit_optimized_pwr_state for DCN31 (Michel Dänzer) [2044440] - drm/i915/display: Fix an unsigned subtraction which can never be negative. (Michel Dänzer) [2044440] - drm/ast: potential dereference of null pointer (Michel Dänzer) [2044440] - drm: simpledrm: fix wrong unit with pixel clock (Michel Dänzer) [2044440] - Revert "drm/fb-helper: improve DRM fbdev emulation device names" (Michel Dänzer) [2044440] - drm/i915/hdmi: Turn DP++ TMDS output buffers back on in encoder->shutdown() (Michel Dänzer) [2044440] - drm/i915/hdmi: convert intel_hdmi_to_dev to intel_hdmi_to_i915 (Michel Dänzer) [2044440] - drm/amdkfd: process_info lock not needed for svm (Michel Dänzer) [2044440] - drm/amd/display: add connector type check for CRC source set (Michel Dänzer) [2044440] - drm/amdkfd: fix double free mem structure (Michel Dänzer) [2044440] - drm/amd/display: Fix for the no Audio bug with Tiled Displays (Michel Dänzer) [2044440] - drm/amdgpu: check atomic flag to differeniate with legacy path (Michel Dänzer) [2044440] - drm/amd/display: Fix DPIA outbox timeout after S3/S4/reset (Michel Dänzer) [2044440] - drm/syncobj: Deal with signalled fences in drm_syncobj_find_fence. (Michel Dänzer) [2044440] - drm/i915/dp: Perform 30ms delay after source OUI write (Michel Dänzer) [2044440] - drm/amd/display: Allow DSC on supported MST branch devices (Michel Dänzer) [2044440] - dma-buf: system_heap: Use 'for_each_sgtable_sg' in pages free flow (Michel Dänzer) [2044440] - drm/amd/amdgpu: fix potential memleak (Michel Dänzer) [2044440] - drm/amd/amdkfd: Fix kernel panic when reset failed and been triggered again (Michel Dänzer) [2044440] - drm/amd/pm: Remove artificial freq level on Navi1x (Michel Dänzer) [2044440] - drm/amdgpu/gfx9: switch to golden tsc registers for renoir+ (Michel Dänzer) [2044440] - drm/amd/display: Set plane update flags for all planes in reset (Michel Dänzer) [2044440] - drm/amd/display: Fix DPIA outbox timeout after GPU reset (Michel Dänzer) [2044440] - drm/aspeed: Fix vga_pw sysfs output (Michel Dänzer) [2044440] - drm/nouveau/acr: fix a couple NULL vs IS_ERR() checks (Michel Dänzer) [2044440] - drm/amd/display: Fix OLED brightness control on eDP (Michel Dänzer) [2044440] - drm/amdgpu: IH process reset count when restart (Michel Dänzer) [2044440] - drm/amd/pm: avoid duplicate powergate/ungate setting (Michel Dänzer) [2044440] - drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga and dvi connectors (Michel Dänzer) [2044440] - drm/i915: Fix type1 DVI DP dual mode adapter heuristic for modern platforms (Michel Dänzer) [2044440] - drm/i915/dp: Ensure max link params are always valid (Michel Dänzer) [2044440] - drm/i915/dp: Ensure sink rate values are always valid (Michel Dänzer) [2044440] - drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap (Michel Dänzer) [2044440] - drm/udl: fix control-message timeout (Michel Dänzer) [2044440] - drm/amd/display: Limit max DSC target bpp for specific monitors (Michel Dänzer) [2044440] - drm/amd/display: Update swizzle mode enums (Michel Dänzer) [2044440] - drm/cma-helper: Release non-coherent memory with dma_free_noncoherent() (Michel Dänzer) [2044440] - Revert "drm/i915/tgl/dsi: Gate the ddi clocks after pll mapping" (Michel Dänzer) [2044440] - drm/nouveau: hdmigv100.c: fix corrupted HDMI Vendor InfoFrame (Michel Dänzer) [2044440] - x86/speculation: Check CPU capability before applying IBRS spectre v2 mitigation (Waiman Long) [2062156 2062166] {CVE-2022-0001 CVE-2022-0002 CVE-2021-26401} - x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMT (Waiman Long) [2062156 2062166] {CVE-2022-0001 CVE-2022-0002 CVE-2021-26401} - x86/speculation: Warn about Spectre v2 LFENCE mitigation (Waiman Long) [2062156 2062166] {CVE-2022-0001 CVE-2022-0002 CVE-2021-26401} - x86/speculation: Update link to AMD speculation whitepaper (Waiman Long) [2062166] {CVE-2021-26401} - x86/speculation: Use generic retpoline by default on AMD (Waiman Long) [2062166] {CVE-2021-26401} - x86/speculation: Include unprivileged eBPF status in Spectre v2 mitigation reporting (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - Documentation/hw-vuln: Update spectre doc (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - x86/speculation: Add eIBRS + Retpoline options (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - x86,bugs: Unconditionally allow spectre_v2=retpoline,amd (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - x86: deduplicate the spectre_v2_user documentation (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - fuse: fix pipe buffer lifetime for direct_io (Miklos Szeredi) [2064863] {CVE-2022-1011} - ice: Do not enable VLAN pruning when spoofchk is enabled (Ivan Vecera) [2062343] - ice: don't allow to run ice_send_event_to_aux() in atomic ctx (Ivan Vecera) [2062343] - ice: fix 'scheduling while atomic' on aux critical err interrupt (Ivan Vecera) [2062343] - ice: Fix MAC address setting (Ivan Vecera) [2062343] - ice: Clear default forwarding VSI during release (Ivan Vecera) [2062343] - ice: Fix broken IFF_ALLMULTI handling (Ivan Vecera) [2062343] - iavf: Fix hang during reboot/shutdown (Ivan Vecera) [2062343] - iavf: Fix double free in iavf_reset_task (Ivan Vecera) [2062343] - ice: destroy flow director filter mutex after releasing VSIs (Ivan Vecera) [2062343] - ice: fix NULL pointer dereference in ice_update_vsi_tx_ring_stats() (Ivan Vecera) [2062343] - iavf: Fix adopting new combined setting (Ivan Vecera) [2062343] - iavf: Fix handling of vlan strip virtual channel messages (Ivan Vecera) [2062343] - iavf: Fix __IAVF_RESETTING state usage (Ivan Vecera) [2062343] - iavf: Fix missing check for running netdev (Ivan Vecera) [2062343] - iavf: Fix deadlock in iavf_reset_task (Ivan Vecera) [2062343] - iavf: Fix race in init state (Ivan Vecera) [2062343] - iavf: Fix locking for VIRTCHNL_OP_GET_OFFLOAD_VLAN_V2_CAPS (Ivan Vecera) [2062343] - iavf: Fix init state closure on remove (Ivan Vecera) [2062343] - iavf: Add waiting so the port is initialized in remove (Ivan Vecera) [2062343] - iavf: Rework mutexes for better synchronisation (Ivan Vecera) [2062343] - iavf: remove an unneeded variable (Ivan Vecera) [2062343] - iavf: Fix limit of total number of queues to active queues of VF (Ivan Vecera) [2062343] - iavf: Restrict maximum VLAN filters for VIRTCHNL_VF_OFFLOAD_VLAN_V2 (Ivan Vecera) [2062343] - iavf: Add support for VIRTCHNL_VF_OFFLOAD_VLAN_V2 offload enable/disable (Ivan Vecera) [2062343] - iavf: Add support for VIRTCHNL_VF_OFFLOAD_VLAN_V2 hotpath (Ivan Vecera) [2062343] - iavf: Add support VIRTCHNL_VF_OFFLOAD_VLAN_V2 during netdev config (Ivan Vecera) [2062343] - iavf: Add support for VIRTCHNL_VF_OFFLOAD_VLAN_V2 negotiation (Ivan Vecera) [2062343] - virtchnl: Add support for new VLAN capabilities (Ivan Vecera) [2062343] - virtchnl: Use the BIT() macro for capability/offload flags (Ivan Vecera) [2062343] - virtchnl: Remove unused VIRTCHNL_VF_OFFLOAD_RSVD define (Ivan Vecera) [2062343] - virtchnl: Add missing padding to virtchnl_proto_hdrs (Ivan Vecera) [2062343] - ice: Fix race condition during interface enslave (Ivan Vecera) [2062343] - ice: Fix curr_link_speed advertised speed (Ivan Vecera) [2062343] - ice: Don't use GFP_KERNEL in atomic context (Ivan Vecera) [2062343] - ice: Fix error with handling of bonding MTU (Ivan Vecera) [2062343] - ice: stop disabling VFs due to PF error responses (Ivan Vecera) [2062343] - ice: initialize local variable 'tlv' (Ivan Vecera) [2062343] - ice: check the return of ice_ptp_gettimex64 (Ivan Vecera) [2062343] - ice: fix concurrent reset and removal of VFs (Ivan Vecera) [2062343] - ice: fix setting l4 port flag when adding filter (Ivan Vecera) [2062343] - ice: Match on all profiles in slow-path (Ivan Vecera) [2062343] - ice: enable parsing IPSEC SPI headers for RSS (Ivan Vecera) [2062343] - ice: Avoid RTNL lock when re-creating auxiliary device (Ivan Vecera) [2062343] - ice: Fix KASAN error in LAG NETDEV_UNREGISTER handler (Ivan Vecera) [2062343] - ice: fix IPIP and SIT TSO offload (Ivan Vecera) [2062343] - ice: fix an error code in ice_cfg_phy_fec() (Ivan Vecera) [2062343] - ice: Use bitmap_free() to free bitmap (Ivan Vecera) [2062343] - ice: Optimize a few bitmap operations (Ivan Vecera) [2062343] - ice: Slightly simply ice_find_free_recp_res_idx (Ivan Vecera) [2062343] - ice: improve switchdev's slow-path (Ivan Vecera) [2062343] - ice: replay advanced rules after reset (Ivan Vecera) [2062343] - ice: Add flow director support for channel mode (Ivan Vecera) [2062343] - ice: trivial: fix odd indenting (Ivan Vecera) [2062343] - ice: support crosstimestamping on E822 devices if supported (Ivan Vecera) [2062343] - ice: exit bypass mode once hardware finishes timestamp calibration (Ivan Vecera) [2062343] - ice: ensure the hardware Clock Generation Unit is configured (Ivan Vecera) [2062343] - ice: implement basic E822 PTP support (Ivan Vecera) [2062343] - ice: convert clk_freq capability into time_ref (Ivan Vecera) [2062343] - ice: introduce ice_ptp_init_phc function (Ivan Vecera) [2062343] - ice: use 'int err' instead of 'int status' in ice_ptp_hw.c (Ivan Vecera) [2062343] - ice: PTP: move setting of tstamp_config (Ivan Vecera) [2062343] - ice: introduce ice_base_incval function (Ivan Vecera) [2062343] - ice: xsk: fix cleaned_count setting (Ivan Vecera) [2062343] - ice: xsk: allow empty Rx descriptors on XSK ZC data path (Ivan Vecera) [2062343] - ice: xsk: allocate separate memory for XDP SW ring (Ivan Vecera) [2062343] - ice: xsk: return xsk buffers back to pool when cleaning the ring (Ivan Vecera) [2062343] - ice: use modern kernel API for kick (Ivan Vecera) [2062343] - ice: tighter control over VSI_DOWN state (Ivan Vecera) [2062343] - ice: use prefetch methods (Ivan Vecera) [2062343] - ice: update to newer kernel API (Ivan Vecera) [2062343] - ice: support immediate firmware activation via devlink reload (Ivan Vecera) [2062343] - ice: reduce time to read Option ROM CIVD data (Ivan Vecera) [2062343] - ice: move ice_devlink_flash_update and merge with ice_flash_pldm_image (Ivan Vecera) [2062343] - ice: move and rename ice_check_for_pending_update (Ivan Vecera) [2062343] - ice: devlink: add shadow-ram region to snapshot Shadow RAM (Ivan Vecera) [2062343] - ice: Remove unused ICE_FLOW_SEG_HDRS_L2_MASK (Ivan Vecera) [2062343] - ice: Remove unnecessary casts (Ivan Vecera) [2062343] - ice: Propagate error codes (Ivan Vecera) [2062343] - ice: Remove excess error variables (Ivan Vecera) [2062343] - ice: Cleanup after ice_status removal (Ivan Vecera) [2062343] - ice: Remove enum ice_status (Ivan Vecera) [2062343] - ice: Use int for ice_status (Ivan Vecera) [2062343] - ice: Remove string printing for ice_status (Ivan Vecera) [2062343] - ice: Refactor status flow for DDP load (Ivan Vecera) [2062343] - ice: Refactor promiscuous functions (Ivan Vecera) [2062343] - ice: refactor PTYPE validating (Ivan Vecera) [2062343] - ice: Add package PTYPE enable information (Ivan Vecera) [2062343] - ice: safer stats processing (Ivan Vecera) [2062343] - ice: fix adding different tunnels (Ivan Vecera) [2062343] - ice: fix choosing UDP header type (Ivan Vecera) [2062343] - ice: ignore dropped packets during init (Ivan Vecera) [2062343] - ice: rearm other interrupt cause register after enabling VFs (Ivan Vecera) [2062343] - net/ice: Remove unused enum (Ivan Vecera) [2062343] - net/ice: Fix boolean assignment (Ivan Vecera) [2062343] - net/ice: Add support for enable_iwarp and enable_roce devlink param (Ivan Vecera) [2062343] - ice: avoid bpf_prog refcount underflow (Ivan Vecera) [2062343] - ice: fix vsi->txq_map sizing (Ivan Vecera) [2062343] - ice: Hide bus-info in ethtool for PRs in switchdev mode (Ivan Vecera) [2062343] - ice: Clear synchronized addrs when adding VFs in switchdev mode (Ivan Vecera) [2062343] - ice: fix error return code in ice_get_recp_frm_fw() (Ivan Vecera) [2062343] - ice: Fix clang -Wimplicit-fallthrough in ice_pull_qvec_from_rc() (Ivan Vecera) [2062343] - ice: Add support to print error on PHY FW load failure (Ivan Vecera) [2062343] - ice: Add support for changing MTU on PR in switchdev mode (Ivan Vecera) [2062343] - ice: send correct vc status in switchdev (Ivan Vecera) [2062343] - ice: support for GRE in eswitch (Ivan Vecera) [2062343] - ice: low level support for tunnels (Ivan Vecera) [2062343] - ice: VXLAN and Geneve TC support (Ivan Vecera) [2062343] - ice: support for indirect notification (Ivan Vecera) [2062343] - ice: Add tc-flower filter support for channel (Ivan Vecera) [2062343] - ice: enable ndo_setup_tc support for mqprio_qdisc (Ivan Vecera) [2062343] - ice: Add infrastructure for mqprio support via ndo_setup_tc (Ivan Vecera) [2062343] - ice: fix an error code in ice_ena_vfs() (Ivan Vecera) [2062343] - ice: use devm_kcalloc() instead of devm_kzalloc() (Ivan Vecera) [2062343] - ice: Make use of the helper function devm_add_action_or_reset() (Ivan Vecera) [2062343] - ice: Refactor PR ethtool ops (Ivan Vecera) [2062343] - ice: Forbid trusted VFs in switchdev mode (Ivan Vecera) [2062343] - ice: Manage act flags for switchdev offloads (Ivan Vecera) [2062343] - ice: introduce XDP_TX fallback path (Ivan Vecera) [2062343] - ice: optimize XDP_TX workloads (Ivan Vecera) [2062343] - ice: propagate xdp_ring onto rx_ring (Ivan Vecera) [2062343] - ice: do not create xdp_frame on XDP_TX (Ivan Vecera) [2062343] - ice: unify xdp_rings accesses (Ivan Vecera) [2062343] - ice: ndo_setup_tc implementation for PR (Ivan Vecera) [2062343] - ice: ndo_setup_tc implementation for PF (Ivan Vecera) [2062343] - ice: Allow changing lan_en and lb_en on all kinds of filters (Ivan Vecera) [2062343] - ice: cleanup rules info (Ivan Vecera) [2062343] - ice: allow deleting advanced rules (Ivan Vecera) [2062343] - ice: allow adding advanced rules (Ivan Vecera) [2062343] - ice: create advanced switch recipe (Ivan Vecera) [2062343] - ice: manage profiles and field vectors (Ivan Vecera) [2062343] - ice: implement low level recipes functions (Ivan Vecera) [2062343] - ice: add port representor ethtool ops and stats (Ivan Vecera) [2062343] - ice: switchdev slow path (Ivan Vecera) [2062343] - ice: rebuild switchdev when resetting all VFs (Ivan Vecera) [2062343] - ice: enable/disable switchdev when managing VFs (Ivan Vecera) [2062343] - ice: introduce new type of VSI for switchdev (Ivan Vecera) [2062343] - ice: set and release switchdev environment (Ivan Vecera) [2062343] - net: export metadata_dst_free() (Ivan Vecera) [2062343] - ice: allow changing lan_en and lb_en on dflt rules (Ivan Vecera) [2062343] - ice: manage VSI antispoof and destination override (Ivan Vecera) [2062343] - ice: allow process VF opcodes in different ways (Ivan Vecera) [2062343] - ice: introduce VF port representor (Ivan Vecera) [2062343] - ice: Move devlink port to PF/VF struct (Ivan Vecera) [2062343] - ice: support basic E-Switch mode control (Ivan Vecera) [2062343] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ivan Vecera) [2062343] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Ivan Vecera) [2062343] - ice: Use xdp_buf instead of rx_buf for xsk zero-copy (Ivan Vecera) [2062343] - ice: fix FDIR init missing when reset VF (Ivan Vecera) [2062343] - intel: Remove rcu_read_lock() around XDP program invocation (Ivan Vecera) [2062343] - intel: Update drivers to use ethtool_sprintf (Ivan Vecera) [2062343] - ice: fix conversion to new udp_tunnel infrastructure (Ivan Vecera) [2062343] - intel-ethernet: clean up W=1 warnings in kdoc (Ivan Vecera) [2062343] - PCI: Use 'pci_channel_state_t' instead of 'enum pci_channel_state' (Ivan Vecera) [2062343] - treewide: Use sizeof_field() macro (Ivan Vecera) [2062343] - devlink: Add 'enable_iwarp' generic device param (Ivan Vecera) [2062343] - devlink: Add new "enable_vnet" generic device param (Ivan Vecera) [2062343] - devlink: Add new "enable_rdma" generic device param (Ivan Vecera) [2062343] - devlink: Add new "enable_eth" generic device param (Ivan Vecera) [2062343] - gfs2: dequeue iopen holder in gfs2_inode_lookup error (Bob Peterson) [2061665] - redhat/configs: Increase CONFIG_LOCKDEP_CHAINS_BITS from 16 to 17 (Waiman Long) [2057339] - redhat: spec: trigger dracut when modules are installed separately (Jan Stancek) [2060237 2016948]- makefile: Add dist-* targets (Prarit Bhargava) - Fonts: Replace discarded const qualifier (Nico Pache) [1904374] - Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts (Nico Pache) [1904374] - fbdev, newport_con: Move FONT_EXTRA_WORDS macros into linux/font.h (Nico Pache) [1904374] - x86/cpu: Drop spurious underscore from RAPTOR_LAKE #define (Prarit Bhargava) [2040021] - x86/cpu: Add Raptor Lake to Intel family (Prarit Bhargava) [2040021] - powerpc/64: Move paca allocation later in boot (Desnes A. Nunes do Rosario) [2016335] - powerpc/prom: fix early DEBUG messages (Desnes A. Nunes do Rosario) [2016335] - powerpc: Set crashkernel offset to mid of RMA region (Desnes A. Nunes do Rosario) [2016335] - KVM: x86/mmu: Don't advance iterator after restart due to yielding (Nico Pache) [2058907] - igb: refactor XDP registration (Corinna Vinschen) [2040171] - igc: avoid kernel warning when changing RX ring parameters (Corinna Vinschen) [2040171] - scsi: qedi: Fix cmd_cleanup_cmpl counter mismatch issue (Nilesh Javali) [2054565] - EDAC/amd64: Save max number of controllers for F19 M70 (Aristeu Rozanski) [2064285] - CI: Use 8.6-rt branch for rhel8 realtime_check (Chris White) - blk-mq: avoid extending delays of active hctx from blk_mq_delay_run_hw_queues (Ming Lei) [2046525] - tipc: fix incorrect order of state message data sanity check (Xin Long) [2048971] - tipc: improve size validations for received domain records (Xin Long) [2048971] {CVE-2022-0435} - efi/x86: Call efi_parse_options() from efi_main() (Lenny Szubowicz) [2049233]- net/mlx5e: TC, Remove redundant error logging (Amir Tzin) [2023907] - net/mlx5: DR, Warn on failure to destroy objects due to refcount (Amir Tzin) [2022325] - net/mlx5: DR, Add support for dumping steering info (Amir Tzin) [2022325] - net/mlx5: DR, Add missing reserved fields to dr_match_param (Amir Tzin) [2022325] - net/mlx5: DR, Add check for flex parser ID value (Amir Tzin) [2022325] - net/mlx5: DR, Rename list field in matcher struct to list_node (Amir Tzin) [2022325] - net/mlx5: DR, Remove unused struct member in matcher (Amir Tzin) [2022325] - net/mlx5: DR, Fix error flow in creating matcher (Amir Tzin) [2022325] - net/mlx5e: Avoid implicit modify hdr for decap drop rule (Amir Tzin) [2015434] - net/mlx5e: TC, Fix memory leak with rules with internal port (Amir Tzin) [2015434] - net/mlx5e: Fix skb memory leak when TC classifier action offloads are disabled (Amir Tzin) [2015434] - net/mlx5: Fix some error handling paths in 'mlx5e_tc_add_fdb_flow()' (Amir Tzin) [2015434] - net/mlx5: E-Switch, Check group pointer before reading bw_share value (Amir Tzin) [2015434] - net/mlx5: E-Switch, fix single FDB creation on BlueField (Amir Tzin) [2015434] - net/mlx5: E-switch, Respect BW share of the new group (Amir Tzin) [2015434] - net/mlx5: DR, Fix check for unsupported fields in match param (Amir Tzin) [2015434] - net/mlx5: E-Switch, rebuild lag only when needed (Amir Tzin) [2015434] - net/mlx5e: Delete forward rule for ct or sample action (Amir Tzin) [2015434] - net/mlx5: E-Switch, Use indirect table only if all destinations support it (Amir Tzin) [2015434] - net/mlx5: Support internal port as decap route device (Amir Tzin) [2015434] - net/mlx5e: Term table handling of internal port rules (Amir Tzin) [2015434] - net/mlx5e: Add indirect tc offload of ovs internal port (Amir Tzin) [2015434] - net/{mlx5|nfp|bnxt}: Remove unnecessary RTNL lock assert (Amir Tzin) [2015434] - net/mlx5e: Offload internal port as encap route device (Amir Tzin) [2015434] - net/mlx5e: Offload tc rules that redirect to ovs internal port (Amir Tzin) [2015434] - net/mlx5e: Accept action skbedit in the tc actions list (Amir Tzin) [2015434] - net/mlx5: E-Switch, Add ovs internal port mapping to metadata support (Amir Tzin) [2015434] - net/mlx5e: Use generic name for the forwarding dev pointer (Amir Tzin) [2015434] - net/mlx5e: Refactor rx handler of represetor device (Amir Tzin) [2015434] - net/mlx5: DR, Add check for unsupported fields in match param (Amir Tzin) [2015434] - net/mlx5: Allow skipping counter refresh on creation (Amir Tzin) [2015434] - net/mlx5e: IPsec: Refactor checksum code in tx data path (Amir Tzin) [2015434] - net/mlx5: CT: Remove warning of ignore_flow_level support for VFs (Amir Tzin) [2015434] - net/mlx5: Add esw assignment back in mlx5e_tc_sample_unoffload() (Amir Tzin) [2015434] - net/mlx5: Bridge, fix uninitialized variable usage (Amir Tzin) [2015434] - net/mlx5: Lag, don't update lag if lag isn't supported (Amir Tzin) [2015434] - net/mlx5: E-switch, Return correct error code on group creation failure (Amir Tzin) [2015434] - net/mlx5: Bridge, support LAG (Amir Tzin) [2015434] - net/mlx5: Bridge, allow merged eswitch connectivity (Amir Tzin) [2015434] - net/mlx5: Bridge, extract FDB delete notification to function (Amir Tzin) [2015434] - net/mlx5: Bridge, identify port by vport_num+esw_owner_vhca_id pair (Amir Tzin) [2015434] - net/mlx5: Bridge, obtain core device from eswitch instead of priv (Amir Tzin) [2015434] - net/mlx5: Bridge, release bridge in same function where it is taken (Amir Tzin) [2015434] - net/mlx5: Lag, Create shared FDB when in switchdev mode (Amir Tzin) [2015434] - net/mlx5: E-Switch, add logic to enable shared FDB (Amir Tzin) [2015434] - net/mlx5: Lag, properly lock eswitch if needed (Amir Tzin) [2015434] - net/mlx5: Add send to vport rules on paired device (Amir Tzin) [2015434] - net/mlx5: E-Switch, Add event callback for representors (Amir Tzin) [2015434] - net/mlx5e: Use shared mappings for restoring from metadata (Amir Tzin) [2015434] - net/mlx5e: Add an option to create a shared mapping (Amir Tzin) [2015434] - net/mlx5: E-Switch, set flow source for send to uplink rule (Amir Tzin) [2015434] - RDMA/mlx5: Add shared FDB support (Amir Tzin) [2015434] - {net, RDMA}/mlx5: Extend send to vport rules (Amir Tzin) [2015434] - RDMA/mlx5: Fill port info based on the relevant eswitch (Amir Tzin) [2015434] - net/mlx5: Lag, add initial logic for shared FDB (Amir Tzin) [2015434] - net/mlx5: Return mdev from eswitch (Amir Tzin) [2015434] - net/mlx5: E-switch, Add QoS tracepoints (Amir Tzin) [2015434] - net/mlx5: E-switch, Allow to add vports to rate groups (Amir Tzin) [2015434] - net/mlx5: E-switch, Allow setting share/max tx rate limits of rate groups (Amir Tzin) [2015434] - net/mlx5: E-switch, Introduce rate limiting groups API (Amir Tzin) [2015434] - net/mlx5: E-switch, Enable devlink port tx_{share|max} rate control (Amir Tzin) [2015434] - net/mlx5: E-switch, Move QoS related code to dedicated file (Amir Tzin) [2015434] - net/mlx5e: TC, Support sample offload action for tunneled traffic (Amir Tzin) [2015434] - net/mlx5e: TC, Restore tunnel info for sample offload (Amir Tzin) [2015434] - net/mlx5e: TC, Remove CONFIG_NET_TC_SKB_EXT dependency when restoring tunnel (Amir Tzin) [2015434] - net/mlx5e: Refactor ct to use post action infrastructure (Amir Tzin) [2015434] - net/mlx5e: Introduce post action infrastructure (Amir Tzin) [2015434] - net/mlx5e: CT, Use xarray to manage fte ids (Amir Tzin) [2015434] - net/mlx5e: Move sample attribute to flow attribute (Amir Tzin) [2015434] - net/mlx5e: Move esw/sample to en/tc/sample (Amir Tzin) [2015434] - net/mlx5e: Remove mlx5e dependency from E-Switch sample (Amir Tzin) [2015434] - net/mlx5: DR, Fix querying eswitch manager vport for ECPF (Amir Tzin) [2018097] - net/mlx5: DR, Handle eswitch manager and uplink vports separately (Amir Tzin) [2018097] - net/mlx5: DR, Add missing string for action type SAMPLER (Amir Tzin) [2018097] - net/mlx5: DR, init_next_match only if needed (Amir Tzin) [2018097] - net/mlx5: DR, Increase supported num of actions to 32 (Amir Tzin) [2018097] - net/mlx5: DR, Add support for SF vports (Amir Tzin) [2018097] - net/mlx5: DR, Support csum recalculation flow table on SFs (Amir Tzin) [2018097] - net/mlx5: DR, Align error messages for failure to obtain vport caps (Amir Tzin) [2018097] - net/mlx5: DR, Add missing query for vport 0 (Amir Tzin) [2018097] - net/mlx5: DR, Replace local WIRE_PORT macro with the existing MLX5_VPORT_UPLINK (Amir Tzin) [2018097] - scsi: lpfc: Fix pt2pt NVMe PRLI reject LOGO loop (Dick Kennedy) [1943202] - nvme-tcp: change target from tech-preview to unmaintained (John Meneghini) [2061577] - drm/amd/display: Don't reinitialize DMCUB on s0ix resume (Karol Herbst) [2059680] - tcp: Add snd_wnd to TCP_INFO (Davide Caratti) [2056608] - tcp: Add TCP_INFO counter for packets received out-of-order (Davide Caratti) [2056608] - net/mlx5: Move MODIFY_RQT command to ignore list in internal error state (Amir Tzin) [1982236] - net/mlx5e: Add TX max rate support for MQPRIO channel mode (Amir Tzin) [1982236] - net/mlx5e: Specify SQ stats struct for mlx5e_open_txqsq() (Amir Tzin) [1982236] - net/mlx5e: Allow only complete TXQs partition in MQPRIO channel mode (Amir Tzin) [1982236] - net/mlx5e: Mutually exclude setting of TX-port-TS and MQPRIO in channel mode (Amir Tzin) [1982236] - net/mlx5e: Fix condition when retrieving PTP-rqn (Amir Tzin) [1982236] - net/mlx5: Fix inner TTC table creation (Amir Tzin) [1982236] - net/mlx5e: Fix division by 0 in mlx5e_select_queue for representors (Amir Tzin) [1982236] - net/mlx5e: Improve MQPRIO resiliency (Amir Tzin) [1982236] - net/mlx5e: Support MQPRIO channel mode (Amir Tzin) [1982236] - net/mlx5e: Handle errors of netdev_set_num_tc() (Amir Tzin) [1982236] - net/mlx5e: Maintain MQPRIO mode parameter (Amir Tzin) [1982236] - net/mlx5e: Abstract MQPRIO params (Amir Tzin) [1982236] - net/mlx5e: Support flow classification into RSS contexts (Amir Tzin) [1982236] - net/mlx5e: Support multiple RSS contexts (Amir Tzin) [1982236] - net/mlx5e: Dynamically allocate TIRs in RSS contexts (Amir Tzin) [1982236] - net/mlx5e: Convert RSS to a dedicated object (Amir Tzin) [1982236] - net/mlx5e: Introduce abstraction of RSS context (Amir Tzin) [1982236] - net/mlx5e: Introduce TIR create/destroy API in rx_res (Amir Tzin) [1982236] - net/mlx5e: Do not try enable RSS when resetting indir table (Amir Tzin) [1982236] - net/mlx5: Embed mlx5_ttc_table (Amir Tzin) [1982236] - net/mlx5: Move TTC logic to fs_ttc (Amir Tzin) [1982236] - net/mlx5e: Decouple TTC logic from mlx5e (Amir Tzin) [1982236] - net/mlx5e: Rename some related TTC args and functions (Amir Tzin) [1982236] - net/mlx5e: Rename traffic type enums (Amir Tzin) [1982236] - net/mlx5e: Allocate the array of channels according to the real max_nch (Amir Tzin) [1982236] - net/mlx5e: Hide all implementation details of mlx5e_rx_res (Amir Tzin) [1982236] - net/mlx5e: Introduce mlx5e_channels API to get RQNs (Amir Tzin) [1982236] - net/mlx5e: Use a new initializer to build uniform indir table (Amir Tzin) [1982236] - net/mlx5e: Use the new TIR API for kTLS (Amir Tzin) [1982236] - net/mlx5e: Move management of indir traffic types to rx_res (Amir Tzin) [1982236] - net/mlx5e: Convert TIR to a dedicated object (Amir Tzin) [1982236] - net/mlx5e: Create struct mlx5e_rss_params_hash (Amir Tzin) [1982236] - net/mlx5e: Remove mdev from mlx5e_build_indir_tir_ctx_common() (Amir Tzin) [1982236] - net/mlx5e: Remove lro_param from mlx5e_build_indir_tir_ctx_common() (Amir Tzin) [1982236] - net/mlx5e: Remove mlx5e_priv usage from mlx5e_build_*tir_ctx*() (Amir Tzin) [1982236] - net/mlx5e: Use mlx5e_rqt_get_rqtn to access RQT hardware id (Amir Tzin) [1982236] - net/mlx5e: Take RQT out of TIR and group RX resources (Amir Tzin) [1982236] - net/mlx5e: Move RX resources to a separate struct (Amir Tzin) [1982236] - net/mlx5e: Move mlx5e_build_rss_params() call to init_rx (Amir Tzin) [1982236] - net/mlx5e: Convert RQT to a dedicated object (Amir Tzin) [1982236] - net/mlx5e: Check if inner FT is supported outside of create/destroy functions (Amir Tzin) [1982236] - net/mlx5: Take TIR destruction out of the TIR list lock (Amir Tzin) [1982236] - PCI: pciehp: Ignore Link Down/Up caused by error-induced Hot Reset (Myron Stowe) [2060122] - PCI/portdrv: Rename pm_iter() to pcie_port_device_iter() (Myron Stowe) [2060122] - iommu/vt-d: Fix double list_add when enabling VMD in scalable mode (Jerry Snitselaar) [2062094] - redhat/configs: Disable CONFIG_SENSORS_NCT6683 in RHEL for arm/aarch64 (Dean Nelson) [2059695] - redhat: drop the -sha512 suffix from default rhpkg invocation (Jarod Wilson) - sysctl: return -EINVAL if val violates minmax (Rafael Aquini) [2062571] - kernel/sysctl.c: switch to bitmap_zalloc() (Rafael Aquini) [2062571] - netlabel: remove unused parameter in netlbl_netlink_auditinfo() (William Zhao) [1985319] - netlabel: Fix memory leak in netlbl_mgmt_add_common (William Zhao) [1985319] - bpftool: Fix indent in option lists in the documentation (Yauheni Kaliuta) [2014861] - libbpf: Fix memleak in libbpf_netlink_recv() (Yauheni Kaliuta) [2014861] - libbpf: Use dynamically allocated buffer when receiving netlink messages (Yauheni Kaliuta) [2014861] - libbpf: Clean gen_loader's attach kind. (Yauheni Kaliuta) [2014861] - powerpc/bpf: Use bctrl for making function calls (Jiri Olsa) [2014861] - powerpc/signal: Use PPC_RAW_xx() macros (Jiri Olsa) [2014861] - powerpc/ebpf64: Use PPC_RAW_MFLR() (Jiri Olsa) [2014861] - powerpc/opcodes: Add shorter macros for registers for use with PPC_RAW_xx() (Jiri Olsa) [2014861] - lib/test: fix spelling mistakes (Jiri Olsa) [2014861] - tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing (Jiri Olsa) [2014861] - bpf: Allow bpf_get_current_ancestor_cgroup_id for tracing (Jiri Olsa) [2014861] - docs: bpf: bpf_lsm.rst: avoid using ReST :doc:`foo` markup (Jiri Olsa) [2014861] - bpf, docs: Add llvm_reloc.rst to explain llvm bpf relocations (Jiri Olsa) [2014861] - bpf, arm64: Remove redundant switch case about BPF_DIV and BPF_MOD (Jiri Olsa) [2014861] - bpf, arm64: Replace STACK_ALIGN() with round_up() to align stack size (Jiri Olsa) [2014861] - selftests, bpf: Test that dead ldx_w insns are accepted (Jiri Olsa) [2014861] - bpf, selftests: Add test cases for pointer alu from multiple paths (Jiri Olsa) [2014861] - bpf: Selftest to verify mixing bpf2bpf calls and tailcalls with insn patch (Jiri Olsa) [2014861] - selftests/bpf: Fix ringbuf test fetching map FD (Jiri Olsa) [2014861] - selftests/bpf: Whitelist test_progs.h from .gitignore (Jiri Olsa) [2014861] - selftests, bpf: Make docs tests fail more reliably (Jiri Olsa) [2014861] - selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks (Jiri Olsa) [2014861] - selftests/bpf: Add bpf_lookup_and_delete_elem tests (Jiri Olsa) [2014861] - selftests/bpf: Convert test trace_printk to lskel. (Jiri Olsa) [2014861] - selftests/bpf: Convert test printk to use rodata. (Jiri Olsa) [2014861] - selftests/bpf: Convert atomics test to light skeleton. (Yauheni Kaliuta) [2014861] - selftests/bpf: Convert few tests to light skeleton. (Jiri Olsa) [2014861] - selftests/bpf: Test for btf_load command. (Jiri Olsa) [2014861] - selftests/bpf: Test for syscall program type (Jiri Olsa) [2014861] - libbpf: Add selftests for TC-BPF management API (Jiri Olsa) [2014861] - selftests/bpf: Validate skeleton gen handles skipped fields (Jiri Olsa) [2014861] - selftests/bpf: Stop using static variables for passing data to/from user-space (Jiri Olsa) [2014861] - tools: bpftool: Document and add bash completion for -L, -B options (Jiri Olsa) [2014861] - tools: bpftool: Update and synchronise option list in doc and help msg (Jiri Olsa) [2014861] - bpftool: Remove unused includes to (Jiri Olsa) [2014861] - powerpc/bpf: Fix write protecting JIT code (Jiri Olsa) [2014861] - libbpf: Fix lookup_and_delete_elem_flags error reporting (Jiri Olsa) [2014861] - bpftool: Check malloc return value in mount_bpffs_for_pin (Jiri Olsa) [2014861] - tools: bpf: Fix error in 'make -C tools/ bpf_install' (Jiri Olsa) [2014861] - bpftool: Properly close va_list 'ap' by va_end() on error (Jiri Olsa) [2014861] - bpf: Fix libelf endian handling in resolv_btfids (Jiri Olsa) [2014861] - tools/bpftool: Fix error return code in do_batch() (Jiri Olsa) [2014861] - tools/bpftool: Fix cross-build (Jiri Olsa) [2014861] - bpftool: Set errno on skeleton failures and propagate errors (Jiri Olsa) [2014861] - bpftool: Use syscall/loader program in "prog load" and "gen skeleton" command. (Jiri Olsa) [2014861] - bpftool: Stop emitting static variables in BPF skeleton (Jiri Olsa) [2014861] - bpftool: Strip const/volatile/restrict modifiers from .bss and .data vars (Jiri Olsa) [2014861] - bpf: Add missing bpf_read_[un]lock_trace() for syscall program (Jiri Olsa) [2014861] - libbpf: Fix skel_internal.h to set errno on loader retval < 0 (Jiri Olsa) [2014861] - libbpf: Fix segfault in light skeleton for objects without BTF (Jiri Olsa) [2014861] - libbpf: Return non-null error on failures in libbpf_find_prog_btf_id() (Jiri Olsa) [2014861] - libbpf, doc: Eliminate warnings in libbpf_naming_convention (Jiri Olsa) [2014861] - net, core: Allow netdev_lower_get_next_private_rcu in bh context (Jiri Olsa) [2014861] - samples/bpf: Fix the error return code of xdp_redirect's main() (Jiri Olsa) [2014861] - samples/bpf: Fix Segmentation fault for xdp_redirect command (Jiri Olsa) [2014861] - samples/bpf: Add missing option to xdp_sample_pkts usage (Jiri Olsa) [2014861] - samples/bpf: Add missing option to xdp_fwd usage (Jiri Olsa) [2014861] - samples, bpf: Suppress compiler warning (Jiri Olsa) [2014861] - file: Rename __close_fd to close_fd and remove the files parameter (Jiri Olsa) [2014861] - bpf: Fix ringbuf helper function compatibility (Jiri Olsa) [2014861] - bpf: Clear zext_dst of dead insns (Jiri Olsa) [2014861] - bpf: Add rcu_read_lock in bpf_get_current_[ancestor_]cgroup_id() helpers (Jiri Olsa) [2014861] - bpf, core: Fix kernel-doc notation (Jiri Olsa) [2014861] - libbpf: Do not close un-owned FD 0 on errors (Jiri Olsa) [2014861] - libbpf: Fix probe for BPF_PROG_TYPE_CGROUP_SOCKOPT (Jiri Olsa) [2014861] - s390/bpf: Perform r1 range checking before accessing jit->seen_reg[r1] (Jiri Olsa) [2014861] - libbpf: Restore errno return for functions that were already returning it (Jiri Olsa) [2014861] - powerpc/bpf: Write protect JIT code (Jiri Olsa) [2014861] - powerpc/bpf: Remove bpf_jit_free() (Jiri Olsa) [2014861] - bpf: Fix integer overflow in argument calculation for bpf_map_area_alloc (Jiri Olsa) [2014861] - bpf: Fix false positive kmemleak report in bpf_ringbuf_area_alloc() (Jiri Olsa) [2014861] - bpf: Allow RCU-protected lookups to happen from bh context (Jiri Olsa) [2014861] - bpf, x86: Remove unused cnt increase from EMIT macro (Jiri Olsa) [2014861] - libbpf: Switch to void * casting in netlink helpers (Jiri Olsa) [2014861] - libbpf: Add request buffer type for netlink messages (Jiri Olsa) [2014861] - libbpf: Add extra BPF_PROG_TYPE check to bpf_object__probe_loading (Jiri Olsa) [2014861] - bpf: Add documentation for libbpf including API autogen (Jiri Olsa) [2014861] - bpf: Fix up register-based shifts in interpreter to silence KUBSAN (Jiri Olsa) [2014861] - libbpf: Fail compilation if target arch is missing (Jiri Olsa) [2014861] - bpf: Fix typo in kernel/bpf/bpf_lsm.c (Jiri Olsa) [2014861] - bpf: Support BPF_FUNC_get_socket_cookie() for BPF_PROG_TYPE_SK_REUSEPORT. (Jiri Olsa) [2014861] - libbpf: Set NLM_F_EXCL when creating qdisc (Jiri Olsa) [2014861] - libbpf: Remove unneeded check for flags during tc detach (Jiri Olsa) [2014861] - libbpf: Simplify the return expression of bpf_object__init_maps function (Jiri Olsa) [2014861] - libbpf: Fix pr_warn type warnings on 32bit (Jiri Olsa) [2014861] - libbpf: Install skel_internal.h header used from light skeletons (Jiri Olsa) [2014861] - libbpf: Refactor header installation portions of Makefile (Jiri Olsa) [2014861] - libbpf: Move few APIs from 0.4 to 0.5 version (Jiri Olsa) [2014861] - bpf, tnums: Provably sound, faster, and more precise algorithm for tnum_mul (Jiri Olsa) [2014861] - libbpf: Move BPF_SEQ_PRINTF and BPF_SNPRINTF to bpf_helpers.h (Jiri Olsa) [2014861] - libbpf: Streamline error reporting for high-level APIs (Jiri Olsa) [2014861] - libbpf: Streamline error reporting for low-level APIs (Jiri Olsa) [2014861] - libbpf: Add libbpf_set_strict_mode() API to turn on libbpf 1.0 behaviors (Jiri Olsa) [2014861] - bpf: Fix spelling mistakes (Jiri Olsa) [2014861] - bpf: Extend libbpf with bpf_map_lookup_and_delete_elem_flags (Jiri Olsa) [2014861] - bpf: Add lookup_and_delete_elem support to hashtab (Jiri Olsa) [2014861] - libbpf: Skip bpf_object__probe_loading for light skeleton (Jiri Olsa) [2014861] - bpf: Make some symbols static (Jiri Olsa) [2014861] - bpf: Add cmd alias BPF_PROG_RUN (Jiri Olsa) [2014861] - libbpf: Introduce bpf_map__initial_value(). (Jiri Olsa) [2014861] - libbpf: Cleanup temp FDs when intermediate sys_bpf fails. (Jiri Olsa) [2014861] - libbpf: Generate loader program out of BPF ELF file. (Jiri Olsa) [2014861] - libbpf: Preliminary support for fd_idx (Jiri Olsa) [2014861] - libbpf: Add bpf_object pointer to kernel_supports(). (Jiri Olsa) [2014861] - libbpf: Change the order of data and text relocations. (Jiri Olsa) [2014861] - bpf: Add bpf_sys_close() helper. (Jiri Olsa) [2014861] - bpf: Add bpf_btf_find_by_name_kind() helper. (Jiri Olsa) [2014861] - bpf: Introduce fd_idx (Jiri Olsa) [2014861] - bpf: Make btf_load command to be bpfptr_t compatible. (Jiri Olsa) [2014861] - libbpf: Support for syscall program type (Jiri Olsa) [2014861] - bpf: Prepare bpf syscall to be used from kernel and user space. (Jiri Olsa) [2014861] - bpf: Introduce bpfptr_t user/kernel pointer. (Jiri Olsa) [2014861] - bpf: Introduce bpf_sys_bpf() helper and program type. (Jiri Olsa) [2014861] - libbpf: Add low level TC-BPF management API (Jiri Olsa) [2014861] - libbpf: Add various netlink helpers (Jiri Olsa) [2014861] - libbpf: Reject static entry-point BPF programs (Jiri Olsa) [2014861] - libbpf: Reject static maps (Jiri Olsa) [2014861] - libbpf: Treat STV_INTERNAL same as STV_HIDDEN for functions (Jiri Olsa) [2014861] - libbpf: Add per-file linker opts (Jiri Olsa) [2014861] - bpf: verifier: Use copy_array for jmp_history (Jiri Olsa) [2014861] - bpf: verifier: Improve function state reallocation (Jiri Olsa) [2014861]- ice: fix getting UDP tunnel entry (Jonathan Toppins) [2015409] - ice: convert to new udp_tunnel infrastructure (Jonathan Toppins) [2015409] - selftests: kvm: Check whether SIDA memop fails for normal guests (Thomas Huth) [2050807] - KVM: s390: Return error on SIDA memop on normal guest (Thomas Huth) [2050807] {CVE-2022-0516} - lib/iov_iter: initialize "flags" in new pipe_buffer (Jan Stancek) [2060875] {CVE-2022-0847} - fget: clarify and improve __fget_files() implementation (Patrick Talbert) [2032303] - fget: check that the fd still exists after getting a ref to it (Patrick Talbert) [2032303] {CVE-2021-4083} - drm/ast: Create threshold values for AST2600 (Jocelyn Falempe) [2053358] - cgroup-v1: Correct privileges check in release_agent writes (Waiman Long) [2052167] - cgroup-v1: Require capabilities to set release_agent (Waiman Long) [2052167] {CVE-2022-0492} - spec: Fix separate tools build (Yauheni Kaliuta) [2056301] - net/mlx5: DR, Add support for update FTE (Amir Tzin) [2047231] - net/mlx5: DR, Improve rule tracking memory consumption (Amir Tzin) [2047231] - net/mlx5: DR, Remove rehash ctrl struct from dr_htbl (Amir Tzin) [2047231] - net/mlx5: DR, Remove HW specific STE type from nic domain (Amir Tzin) [2047231] - net/mlx5: DR, Merge DR_STE_SIZE enums (Amir Tzin) [2047231] - net/mlx5: DR, Skip source port matching on FDB RX domain (Amir Tzin) [2047231] - net/mlx5: DR, Add ignore_flow_level support for multi-dest flow tables (Amir Tzin) [2047231] - net/mlx5: DR, replace uintN_t with kernel-style types (Amir Tzin) [2047231] - net/mlx5: DR, Support IPv6 matching on flow label for STEv0 (Amir Tzin) [2047231] - net/mlx5: DR, Reduce print level for FT chaining level check (Amir Tzin) [2047231] - net/mlx5: DR, Warn and ignore SW steering rule insertion on QP err (Amir Tzin) [2047231] - net/mlx5: DR, Improve error flow in actions_build_ste_arr (Amir Tzin) [2047231] - net/mlx5: DR, Enable QP retransmission (Amir Tzin) [2047231] - net/mlx5: DR, Enable VLAN pop on TX and VLAN push on RX (Amir Tzin) [2047231] - net/mlx5: DR, Split modify VLAN state to separate pop/push states (Amir Tzin) [2047231] - net/mlx5: DR, Added support for REMOVE_HEADER packet reformat (Amir Tzin) [2047231] - net/mlx4_en: Resolve bad operstate value (Amir Tzin) [1982190] - net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources() (Amir Tzin) [1982190] - RDMA/mlx4: Do not fail the registration on port stats (Amir Tzin) [1982190] - RDMA/mlx4: Return missed an error if device doesn't support steering (Amir Tzin) [1982190] - net/mlx4_en: Don't allow aRFS for encapsulated packets (Amir Tzin) [1982190] - mlx4: Fix missing error code in mlx4_load_one() (Amir Tzin) [1982190] - net/mlx4: Fix fall-through warning for Clang (Amir Tzin) [1982190] - mlx4: Remove rcu_read_lock() around XDP program invocation (Amir Tzin) [1982190] - IB/mlx4: Avoid field-overflowing memcpy() (Amir Tzin) [1982190] - RDMA/mlx4: Do not map the core_clock page to user space unless enabled (Amir Tzin) [1982190] - net/mlx4: Treat VFs fair when handling comm_channel_events (Amir Tzin) [1982190] - RDMA/mlx4: Remove an unused variable (Amir Tzin) [1982190] - megaraid_sas: Add new messaging - a fix (Tomas Henzl) [2055248] - HID: amd_sfh: Add interrupt handler to process interrupts (Benjamin Tissoires) [2054929] - HID: amd_sfh: Add functionality to clear interrupts (Benjamin Tissoires) [2054929] - HID: amd_sfh: Disable the interrupt for all command (Benjamin Tissoires) [2054929] - HID: amd_sfh: Correct the structure field name (Benjamin Tissoires) [2054929] - HID: amd_sfh: Handle amd_sfh work buffer in PM ops (Benjamin Tissoires) [2054929] - HID: amd_sfh: Add illuminance mask to limit ALS max value (Benjamin Tissoires) [2054929] - HID: amd_sfh: Increase sensor command timeout (Benjamin Tissoires) [2054929] - HID: amd_sfh: Update Copyright details (Benjamin Tissoires) [2054929] - HID: amd_sfh: switch from 'pci_' to 'dev_' API (Benjamin Tissoires) [2054929] - HID: amd_sfh: Use dma_set_mask_and_coherent() (Benjamin Tissoires) [2054929] - HID: amd_sfh: switch from 'pci_' to 'dma_' API (Benjamin Tissoires) [2054929] - dm stats: fix too short end duration_ns when using precise_timestamps (Benjamin Marzinski) [2057166] - dm: fix double accounting of flush with data (Benjamin Marzinski) [2057166] - dm: interlock pending dm_io and dm_wait_for_bios_completion (Benjamin Marzinski) [2057166] - x86/MCE/AMD, EDAC/mce_amd: Support non-uniform MCA bank type enumeration (Aristeu Rozanski) [2050410 2048786 2050412] - x86/MCE/AMD, EDAC/mce_amd: Add new SMCA bank types (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC: Add RDDR5 and LRDDR5 memory types (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Handle three rank interleaving mode (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Set proper family type for Family 19h Models 20h-2Fh (Aristeu Rozanski) [2050410 2048786 2050412] - netfilter: nf_queue: handle socket prefetch (Florian Westphal) [2009786] - netfilter: nf_queue: fix possible use-after-free (Florian Westphal) [2009786] - selftests: netfilter: add nfqueue TCP_NEW_SYN_RECV socket race test (Florian Westphal) [2009786] - netfilter: nf_queue: don't assume sk is full socket (Florian Westphal) [2009786] - Enable HSA_AMD_SVM config (Donald Dutile) [2025123] - mm/memremap_pages: support multiple ranges per invocation (Donald Dutile) [2025123] - mm/memremap_pages: convert to 'struct range' (Donald Dutile) [2025123] - device-dax: add an allocation interface for device-dax instances (Donald Dutile) [2025123] - device-dax: make pgmap optional for instance creation (Donald Dutile) [2025123] - device-dax: move instance creation parameters to 'struct dev_dax_data' (Donald Dutile) [2025123] - device-dax: drop the dax_region.pfn_flags attribute (Donald Dutile) [2025123] - memremap: rename MEMORY_DEVICE_DEVDAX to MEMORY_DEVICE_GENERIC (Donald Dutile) [2025123] - PCI/P2PDMA: Introduce private pagemap structure (Donald Dutile) [2025123] - security: implement sctp_assoc_established hook in selinux (Ondrej Mosnacek) [2015525 2048251] - security: add sctp_assoc_established hook (Ondrej Mosnacek) [2015525 2048251] - security: call security_sctp_assoc_request in sctp_sf_do_5_1D_ce (Ondrej Mosnacek) [2015525 2048251] - security: pass asoc to sctp_assoc_request and sctp_sk_clone (Ondrej Mosnacek) [2015525 2048251] - net: sctp: Fix some typos (Ondrej Mosnacek) [2015525 2048251] - iwlwifi: mvm: read 6E enablement flags from DSM and pass to FW (Íñigo Huguet) [1923170 1936001] - net/mlx5: Lag, Make mlx5_lag_is_multipath() be static inline (Amir Tzin) [1982193] - net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove() (Amir Tzin) [1982193] - net/mlx5: DR, Ignore modify TTL if device doesn't support it (Amir Tzin) [1982193 2028504] - net/mlx5: Warn for devlink reload when there are VFs alive (Amir Tzin) [1982193] - net/mlx5: DR, Fix lower case macro prefix "mlx5_" to "MLX5_" (Amir Tzin) [1982193] - net/mlx5e: Fix wrong features assignment in case of error (Amir Tzin) [1982193] - net/mlx5e: Fix ICOSQ recovery flow for XSK (Amir Tzin) [1982193] - net/mlx5e: Fix interoperability between XSK and ICOSQ recovery flow (Amir Tzin) [1982193] - net/mlx5e: Wrap the tx reporter dump callback to extract the sq (Amir Tzin) [1982193] - net/mlx5: Fix tc max supported prio for nic mode (Amir Tzin) [1982193] - net/mlx5: Fix SF health recovery flow (Amir Tzin) [1982193] - net/mlx5: Fix error print in case of IRQ request failed (Amir Tzin) [1982193] - net/mlx5: DR, Fix NULL vs IS_ERR checking in dr_domain_init_resources (Amir Tzin) [1982193] - mlx5: fix mlx5i_grp_sw_update_stats() stack usage (Amir Tzin) [1982193] - mlx5: fix psample_sample_packet link error (Amir Tzin) [1982193] - net/mlx5: Fix format-security build warnings (Amir Tzin) [1982193] - net/mlx5e: Fix missing IPsec statistics on uplink representor (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix Software parser inner l3 type setting in case of encapsulation (Amir Tzin) [1982193] - net/mlx5: E-Switch, return error if encap isn't supported (Amir Tzin) [1982193] - net/mlx5: Lag, update tracker when state change event received (Amir Tzin) [1982193] - net/mlx5e: CT, Fix multiple allocations and memleak of mod acts (Amir Tzin) [1982193 2017675] - net/mlx5: Update error handler for UCTX and UMEM (Amir Tzin) [1982193] - net/mlx5: E-Switch, Fix resetting of encap mode when entering switchdev (Amir Tzin) [1982193] - net/mlx5e: Wait for concurrent flow deletion during neigh/fib events (Amir Tzin) [1982193] - net/mlx5e: kTLS, Fix crash in RX resync flow (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix work queue entry ethernet segment checksum flags (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix a misuse of the software parser's fields (Amir Tzin) [1982193] - net/mlx5e: Fix vlan data lost during suspend flow (Amir Tzin) [1982193] - net/mlx5: Lag, change multipath and bonding to be mutually exclusive (Amir Tzin) [1982193] - net/mlx5: Lag, move lag destruction to a workqueue (Amir Tzin) [1982193] - RDMA/mlx5: Initialize the ODP xarray when creating an ODP MR (Amir Tzin) [1982193] - net/mlx5e: Mutually exclude RX-FCS and RX-port-timestamp (Amir Tzin) [1982193] - net/mlx5e: Switchdev representors are not vlan challenged (Amir Tzin) [1982193] - net/mlx5e: Fix memory leak in mlx5_core_destroy_cq() error path (Amir Tzin) [1982193] - net/mlx5: Fix cleanup of bridge delayed work (Amir Tzin) [1982193] - RDMA/mlx5: Set user priority for DCT (Amir Tzin) [1982193] - net/mlx5: DR, Fix typo 'offeset' to 'offset' (Amir Tzin) [1982193] - net/mlx5: DR, Fix vport number data type to u16 (Amir Tzin) [1982193] - net/mlx5e: Fix the presented RQ index in PTP stats (Amir Tzin) [1982193] - net/mlx5: Fix setting number of EQs of SFs (Amir Tzin) [1982193] - net/mlx5: Fix length of irq_index in chars (Amir Tzin) [1982193] - net/mlx5: Avoid generating event after PPS out in Real time mode (Amir Tzin) [1982193] - net/mlx5: Force round second at 1PPS out start time (Amir Tzin) [1982193] - net/mlx5: E-Switch, Fix double allocation of acl flow counter (Amir Tzin) [1982193] - net/mlx5e: Keep the value for maximum number of channels in-sync (Amir Tzin) [1982193] - net/mlx5e: IPSEC RX, enable checksum complete (Amir Tzin) [1982193] - net/mlx5: DR, Fix code indentation in dr_ste_v1 (Amir Tzin) [1982193] - RDMA/mlx5: Fix xlt_chunk_align calculation (Amir Tzin) [1982193] - RDMA/mlx5: Fix number of allocated XLT entries (Amir Tzin) [1982193] - net/mlx5e: Fix mutual exclusion between CQE compression and HW TS (Amir Tzin) [1982193] - net/mlx5: Fix potential sleeping in atomic context (Amir Tzin) [1982193] - net/mlx5: FWTrace, cancel work on alloc pd error flow (Amir Tzin) [1982193] - net/mlx5: DR, fix a potential use-after-free bug (Amir Tzin) [1982193] - net/mlx5e: Use correct eswitch for stack devices with lag (Amir Tzin) [1982193] - net/mlx5: E-Switch, Set vhca id valid flag when creating indir fwd group (Amir Tzin) [1982193] - net/mlx5: Remove all auxiliary devices at the unregister event (Amir Tzin) [1982193] - net/mlx5: Lag, fix multipath lag activation (Amir Tzin) [1982193] - net/mlx5: Fix variable type to match 64bit (Amir Tzin) [1982193] - net/mlx5: Fix typo in comments (Amir Tzin) [1982193] - net/mlx5e: Remove Duplicated hunk in function __parse_cls_flower() (Amir Tzin) [1982193] - net/mlx5: Fix unpublish devlink parameters (Amir Tzin) [1982193] - RDMA/mlx5: Delete not-available udata check (Amir Tzin) [1982193] - net/mlx5: Fix missing return value in mlx5_devlink_eswitch_inline_mode_set() (Amir Tzin) [1982193] - net/mlx5e: Block LRO if firmware asks for tunneled LRO (Amir Tzin) [1982193] - net/mlx5e: Prohibit inner indir TIRs in IPoIB (Amir Tzin) [1982193] - net: switchdev: zero-initialize struct switchdev_notifier_fdb_info emitted by drivers towards the bridge (Amir Tzin) [1982193] - net/mlx5: Fix return value from tracer initialization (Amir Tzin) [1982193] - net/mlx5: Synchronize correct IRQ when destroying CQ (Amir Tzin) [1982193 1982219] - net/mlx5e: TC, Fix error handling memory leak (Amir Tzin) [1982193] - net/mlx5: Destroy pool->mutex (Amir Tzin) [1982193] - net/mlx5: Set all field of mlx5_irq before inserting it to the xarray (Amir Tzin) [1982193] - net/mlx5: Fix order of functions in mlx5_irq_detach_nb() (Amir Tzin) [1982193] - net/mlx5: Block switchdev mode while devlink traps are active (Amir Tzin) [1982193] - net/mlx5e: Destroy page pool after XDP SQ to fix use-after-free (Amir Tzin) [1982193] - net/mlx5: Bridge, fix ageing time (Amir Tzin) [1982193] - net/mlx5e: Avoid creating tunnel headers for local route (Amir Tzin) [1982193] - net/mlx5: DR, Add fail on error check on decap (Amir Tzin) [1982193] - net/mlx5: Don't skip subfunction cleanup in case of error in module init (Amir Tzin) [1982193] - RDMA/mlx5: Delay emptying a cache entry when a new MR is added to it recently (Amir Tzin) [1982193] - net/mlx5: Fix mlx5_vport_tbl_attr chain from u16 to u32 (Amir Tzin) [1982193] - net/mlx5e: Fix nullptr in mlx5e_hairpin_get_mdev() (Amir Tzin) [1982193] - net/mlx5: Unload device upon firmware fatal error (Amir Tzin) [1982193] - net/mlx5e: Fix page allocation failure for ptp-RQ over SF (Amir Tzin) [1982193] - net/mlx5e: Fix page allocation failure for trap-RQ over SF (Amir Tzin) [1982193] - net/mlx5e: Consider PTP-RQ when setting RX VLAN stripping (Amir Tzin) [1982193] - net/mlx5e: Add NETIF_F_HW_TC to hw_features when HTB offload is available (Amir Tzin) [1982193] - net/mlx5e: RX, Avoid possible data corruption when relaxed ordering and LRO combined (Amir Tzin) [1982193] - net/mlx5: E-Switch, handle devcom events only for ports on the same device (Amir Tzin) [1982193] - net/mlx5: E-Switch, Set destination vport vhca id only when merged eswitch is supported (Amir Tzin) [1982193] - net/mlx5e: Disable Rx ntuple offload for uplink representor (Amir Tzin) [1982193] - net/mlx5e: kTLS, Add stats for number of deleted kTLS TX offloaded connections (Amir Tzin) [1982193] - net/mlx5: SF, Improve performance in SF allocation (Amir Tzin) [1982193] - net/mlx5: Increase hairpin buffer size (Amir Tzin) [1982193] - net/mlx5: DR, Add support for flow sampler offload (Amir Tzin) [1982193] - net/mlx5: Compare sampler flow destination ID in fs_core (Amir Tzin) [1982193] - net/mlx5: remove "default n" from Kconfig (Amir Tzin) [1982193] - net/mlx5: Fix spelling mistake "enught" -> "enough" (Amir Tzin) [1982193] - net/mlx5: Use cpumask_available() in mlx5_eq_create_generic() (Amir Tzin) [1982193] - net/mlx5: Fix missing error code in mlx5_init_fs() (Amir Tzin) [1982193] - RDMA/mlx5: Support real-time timestamp directly from the device (Amir Tzin) [1982193] - RDMA/mlx5: Refactor get_ts_format functions to simplify code (Amir Tzin) [1982193] - RDMA/mlx5: Enable Relaxed Ordering by default for kernel ULPs (Amir Tzin) [1982193] - net/mlx5: Round-Robin EQs over IRQs (Amir Tzin) [1982193] - net/mlx5: Separate between public and private API of sf.h (Amir Tzin) [1982193] - net/mlx5: Enlarge interrupt field in CREATE_EQ (Amir Tzin) [1982193] - net/mlx5: Allocating a pool of MSI-X vectors for SFs (Amir Tzin) [1982193] - net/mlx5: Change IRQ storage logic from static to dynamic (Amir Tzin) [1982193] - net/mlx5: Moving rmap logic to EQs (Amir Tzin) [1982193] - net/mlx5: Extend mlx5_irq_request to request IRQ from the kernel (Amir Tzin) [1982193] - net/mlx5: Removing rmap per IRQ (Amir Tzin) [1982193] - net/mlx5: Clean license text in eq.[c|h] files (Amir Tzin) [1982193] - net/mlx5: Provide cpumask at EQ creation phase (Amir Tzin) [1982193] - net/mlx5: Introduce API for request and release IRQs (Amir Tzin) [1982193] - net/mlx5: Delay IRQ destruction till all users are gone (Amir Tzin) [1982193] - net/mlx5: Change ownership model for lag (Amir Tzin) [1982193] - net/mlx5: Lag, Don't rescan if the device is going down (Amir Tzin) [1982193] - net/mlx5: Lag, refactor disable flow (Amir Tzin) [1982193] - net/mlx5: Bridge, add tracepoints (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, filter tagged packets that didn't match tagged fg (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, support pvid and untagged vlan configurations (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, match FDB entry vlan tag (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, implement infrastructure for vlans (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, dynamic entry ageing (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, handle FDB events (Amir Tzin) [1982193 1982234] - docs: networking: Add missing mlx5 documentation (Amir Tzin) [1982193] - net/mlx5: Bridge, add offload infrastructure (Amir Tzin) [1982193 1982234] - net/mlx5e: Refactor mlx5e_eswitch_{*}rep() helpers (Amir Tzin) [1982193 1982234] - net/mlx5: Create TC-miss priority and table (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Support EMD tag in modify header for STEv1 (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Added support for INSERT_HEADER reformat type (Amir Tzin) [1982193 1982234] - net/mlx5: Added new parameters to reformat context (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Allow encap action for RX for supporting devices (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Split reformat state to Encap and Decap (Amir Tzin) [1982193 1982234] - net/mlx5: mlx5_ifc support for header insert/remove (Amir Tzin) [1982193 1982234] - net/mlx5e: Remove unreachable code in mlx5e_xmit() (Amir Tzin) [1982193] - net/mlx5e: RX, Re-place page pool numa node change logic (Amir Tzin) [1982193] - net/mlx5e: Zero-init DIM structures (Amir Tzin) [1982193] - net/mlx5e: IPoIB, Add support for NDR speed (Amir Tzin) [1982193] - net/mlx5e: Remove the repeated declaration (Amir Tzin) [1982193] - net/mlx5: check for allocation failure in mlx5_ft_pool_init() (Amir Tzin) [1982193] - mlx5: count all link events (Amir Tzin) [1982193] - net/mlx5: Expose FW version over defined keyword (Amir Tzin) [1982193] - net/mlx5: Use boolean arithmetic to evaluate roce_lag (Amir Tzin) [1982193] - net/mlx5: Remove unnecessary spin lock protection (Amir Tzin) [1982193] - net/mlx5: Cap the maximum flow group size to 16M entries (Amir Tzin) [1982193] - net/mlx5: DR, Set max table size to 2G entries (Amir Tzin) [1982193] - net/mlx5: Move chains ft pool to be used by all firmware steering (Amir Tzin) [1982193] - net/mlx5: Move table size calculation to steering cmd layer (Amir Tzin) [1982193] - net/mlx5: Add case for FS_FT_NIC_TX FT in MLX5_CAP_FLOWTABLE_TYPE (Amir Tzin) [1982193] - net/mlx5: DR, Remove unused field of send_ring struct (Amir Tzin) [1982193] - net/mlx5e: RX, Remove unnecessary check in RX CQE compression handling (Amir Tzin) [1982193] - net/mlx5: CT: Avoid reusing modify header context for natted entries (Amir Tzin) [1982193] - net/mlx5e: CT, Remove newline from ct_dbg call (Amir Tzin) [1982193] - RDMA/mlx5: Take qp type from mlx5_ib_qp (Amir Tzin) [1982193] - RDMA/mlx5: Add SQD2RTS bit to the alloc ucontext response (Amir Tzin) [1982193] - RDMA/mlx5: Support SQD2RTS for modify QP (Amir Tzin) [1982193] - RDMA/mlx5: Remove redundant assignment to ret (Amir Tzin) [1982193] - firewire: fix support status (Tomas Henzl) [2055319] - dlci: fix support status (Tomas Henzl) [2055319] - dlink: fix support status (Tomas Henzl) [2055319] - rxe: fix support status (Tomas Henzl) [2055319] - qic: fix support status (Tomas Henzl) [2055319] - Revert "ceph: enable async dirops by default" (Jeffrey Layton) [2052542] - libceph: optionally use bounce buffer on recv path in crc mode (Jeffrey Layton) [2024725] - libceph: make recv path in secure mode work the same as send path (Jeffrey Layton) [2024725] - mm: use kmap_local_page in memzero_page (Jeffrey Layton) [2024725] - mm: call flush_dcache_page() in memcpy_to_page() and memzero_page() (Jeffrey Layton) [2024725] - iov_iter: lift memzero_page() to highmem.h (Jeffrey Layton) [2024725] - mm/highmem: Convert memcpy_[to|from]_page() to kmap_local_page() (Jeffrey Layton) [2024725] - mm/highmem: Lift memcpy_[to|from]_page to core (Jeffrey Layton) [2024725] - ceph: set pool_ns in new inode layout for async creates (Jeffrey Layton) [2046021] - ceph: properly put ceph_string reference after async create attempt (Jeffrey Layton) [2046021] - ceph: put the requests/sessions when it fails to alloc memory (Jeffrey Layton) [2046021] - ceph: remove redundant Lsx caps check (Jeffrey Layton) [2046021] - ceph: don't check for quotas on MDS stray dirs (Jeffrey Layton) [2046021] - ceph: drop send metrics debug message (Jeffrey Layton) [2046021] - ceph: Fix incorrect statfs report for small quota (Jeffrey Layton) [2011104] - scsi: qla2xxx: stop timer in shutdown path (Nilesh Javali) [2056055] - Revert "PCI: Add support for dev_groups to struct pci_driver" (Michel Dänzer) [2054595] - drm/amdgpu: Assign amdgpu_sysfs_groups to struct device_driver directly (Michel Dänzer) [2054595] - EDAC/i10nm: Retrieve and print retry_rd_err_log registers (Aristeu Rozanski) [1998359] - redhat: enable zstream release numbering for rhel 8.6 (Augusto Caringi) - redhat: generate distgit changelog in genspec.sh as well (Jan Stancek) - redhat: always upload kabi tarballs (Jan Stancek) - redhat: make genspec prefer metadata from git notes (Jan Stancek) - internal: update RHEL_MINOR for the start of RHEL-8.7 development (Jarod Wilson)- ice: fix getting UDP tunnel entry (Jonathan Toppins) [2015409] - ice: convert to new udp_tunnel infrastructure (Jonathan Toppins) [2015409] - selftests: kvm: Check whether SIDA memop fails for normal guests (Thomas Huth) [2050807] - KVM: s390: Return error on SIDA memop on normal guest (Thomas Huth) [2050807] {CVE-2022-0516} - lib/iov_iter: initialize "flags" in new pipe_buffer (Jan Stancek) [2060875] {CVE-2022-0847} - fget: clarify and improve __fget_files() implementation (Patrick Talbert) [2032303] - fget: check that the fd still exists after getting a ref to it (Patrick Talbert) [2032303] {CVE-2021-4083} - drm/ast: Create threshold values for AST2600 (Jocelyn Falempe) [2053358] - cgroup-v1: Correct privileges check in release_agent writes (Waiman Long) [2052167] - cgroup-v1: Require capabilities to set release_agent (Waiman Long) [2052167] {CVE-2022-0492} - spec: Fix separate tools build (Yauheni Kaliuta) [2056301] - net/mlx5: DR, Add support for update FTE (Amir Tzin) [2047231] - net/mlx5: DR, Improve rule tracking memory consumption (Amir Tzin) [2047231] - net/mlx5: DR, Remove rehash ctrl struct from dr_htbl (Amir Tzin) [2047231] - net/mlx5: DR, Remove HW specific STE type from nic domain (Amir Tzin) [2047231] - net/mlx5: DR, Merge DR_STE_SIZE enums (Amir Tzin) [2047231] - net/mlx5: DR, Skip source port matching on FDB RX domain (Amir Tzin) [2047231] - net/mlx5: DR, Add ignore_flow_level support for multi-dest flow tables (Amir Tzin) [2047231] - net/mlx5: DR, replace uintN_t with kernel-style types (Amir Tzin) [2047231] - net/mlx5: DR, Support IPv6 matching on flow label for STEv0 (Amir Tzin) [2047231] - net/mlx5: DR, Reduce print level for FT chaining level check (Amir Tzin) [2047231] - net/mlx5: DR, Warn and ignore SW steering rule insertion on QP err (Amir Tzin) [2047231] - net/mlx5: DR, Improve error flow in actions_build_ste_arr (Amir Tzin) [2047231] - net/mlx5: DR, Enable QP retransmission (Amir Tzin) [2047231] - net/mlx5: DR, Enable VLAN pop on TX and VLAN push on RX (Amir Tzin) [2047231] - net/mlx5: DR, Split modify VLAN state to separate pop/push states (Amir Tzin) [2047231] - net/mlx5: DR, Added support for REMOVE_HEADER packet reformat (Amir Tzin) [2047231] - net/mlx4_en: Resolve bad operstate value (Amir Tzin) [1982190] - net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources() (Amir Tzin) [1982190] - RDMA/mlx4: Do not fail the registration on port stats (Amir Tzin) [1982190] - RDMA/mlx4: Return missed an error if device doesn't support steering (Amir Tzin) [1982190] - net/mlx4_en: Don't allow aRFS for encapsulated packets (Amir Tzin) [1982190] - mlx4: Fix missing error code in mlx4_load_one() (Amir Tzin) [1982190] - net/mlx4: Fix fall-through warning for Clang (Amir Tzin) [1982190] - mlx4: Remove rcu_read_lock() around XDP program invocation (Amir Tzin) [1982190] - IB/mlx4: Avoid field-overflowing memcpy() (Amir Tzin) [1982190] - RDMA/mlx4: Do not map the core_clock page to user space unless enabled (Amir Tzin) [1982190] - net/mlx4: Treat VFs fair when handling comm_channel_events (Amir Tzin) [1982190] - RDMA/mlx4: Remove an unused variable (Amir Tzin) [1982190]- megaraid_sas: Add new messaging - a fix (Tomas Henzl) [2055248] - HID: amd_sfh: Add interrupt handler to process interrupts (Benjamin Tissoires) [2054929] - HID: amd_sfh: Add functionality to clear interrupts (Benjamin Tissoires) [2054929] - HID: amd_sfh: Disable the interrupt for all command (Benjamin Tissoires) [2054929] - HID: amd_sfh: Correct the structure field name (Benjamin Tissoires) [2054929] - HID: amd_sfh: Handle amd_sfh work buffer in PM ops (Benjamin Tissoires) [2054929] - HID: amd_sfh: Add illuminance mask to limit ALS max value (Benjamin Tissoires) [2054929] - HID: amd_sfh: Increase sensor command timeout (Benjamin Tissoires) [2054929] - HID: amd_sfh: Update Copyright details (Benjamin Tissoires) [2054929] - HID: amd_sfh: switch from 'pci_' to 'dev_' API (Benjamin Tissoires) [2054929] - HID: amd_sfh: Use dma_set_mask_and_coherent() (Benjamin Tissoires) [2054929] - HID: amd_sfh: switch from 'pci_' to 'dma_' API (Benjamin Tissoires) [2054929] - dm stats: fix too short end duration_ns when using precise_timestamps (Benjamin Marzinski) [2057166] - dm: fix double accounting of flush with data (Benjamin Marzinski) [2057166] - dm: interlock pending dm_io and dm_wait_for_bios_completion (Benjamin Marzinski) [2057166] - x86/MCE/AMD, EDAC/mce_amd: Support non-uniform MCA bank type enumeration (Aristeu Rozanski) [2050410 2048786 2050412] - x86/MCE/AMD, EDAC/mce_amd: Add new SMCA bank types (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC: Add RDDR5 and LRDDR5 memory types (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Handle three rank interleaving mode (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Set proper family type for Family 19h Models 20h-2Fh (Aristeu Rozanski) [2050410 2048786 2050412] - netfilter: nf_queue: handle socket prefetch (Florian Westphal) [2009786] - netfilter: nf_queue: fix possible use-after-free (Florian Westphal) [2009786] - selftests: netfilter: add nfqueue TCP_NEW_SYN_RECV socket race test (Florian Westphal) [2009786] - netfilter: nf_queue: don't assume sk is full socket (Florian Westphal) [2009786] - Enable HSA_AMD_SVM config (Donald Dutile) [2025123] - mm/memremap_pages: support multiple ranges per invocation (Donald Dutile) [2025123] - mm/memremap_pages: convert to 'struct range' (Donald Dutile) [2025123] - device-dax: add an allocation interface for device-dax instances (Donald Dutile) [2025123] - device-dax: make pgmap optional for instance creation (Donald Dutile) [2025123] - device-dax: move instance creation parameters to 'struct dev_dax_data' (Donald Dutile) [2025123] - device-dax: drop the dax_region.pfn_flags attribute (Donald Dutile) [2025123] - memremap: rename MEMORY_DEVICE_DEVDAX to MEMORY_DEVICE_GENERIC (Donald Dutile) [2025123] - PCI/P2PDMA: Introduce private pagemap structure (Donald Dutile) [2025123] - security: implement sctp_assoc_established hook in selinux (Ondrej Mosnacek) [2015525 2048251] - security: add sctp_assoc_established hook (Ondrej Mosnacek) [2015525 2048251] - security: call security_sctp_assoc_request in sctp_sf_do_5_1D_ce (Ondrej Mosnacek) [2015525 2048251] - security: pass asoc to sctp_assoc_request and sctp_sk_clone (Ondrej Mosnacek) [2015525 2048251] - net: sctp: Fix some typos (Ondrej Mosnacek) [2015525 2048251] - iwlwifi: mvm: read 6E enablement flags from DSM and pass to FW (Íñigo Huguet) [1923170 1936001] - net/mlx5: Lag, Make mlx5_lag_is_multipath() be static inline (Amir Tzin) [1982193] - net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove() (Amir Tzin) [1982193] - net/mlx5: DR, Ignore modify TTL if device doesn't support it (Amir Tzin) [1982193 2028504] - net/mlx5: Warn for devlink reload when there are VFs alive (Amir Tzin) [1982193] - net/mlx5: DR, Fix lower case macro prefix "mlx5_" to "MLX5_" (Amir Tzin) [1982193] - net/mlx5e: Fix wrong features assignment in case of error (Amir Tzin) [1982193] - net/mlx5e: Fix ICOSQ recovery flow for XSK (Amir Tzin) [1982193] - net/mlx5e: Fix interoperability between XSK and ICOSQ recovery flow (Amir Tzin) [1982193] - net/mlx5e: Wrap the tx reporter dump callback to extract the sq (Amir Tzin) [1982193] - net/mlx5: Fix tc max supported prio for nic mode (Amir Tzin) [1982193] - net/mlx5: Fix SF health recovery flow (Amir Tzin) [1982193] - net/mlx5: Fix error print in case of IRQ request failed (Amir Tzin) [1982193] - net/mlx5: DR, Fix NULL vs IS_ERR checking in dr_domain_init_resources (Amir Tzin) [1982193] - mlx5: fix mlx5i_grp_sw_update_stats() stack usage (Amir Tzin) [1982193] - mlx5: fix psample_sample_packet link error (Amir Tzin) [1982193] - net/mlx5: Fix format-security build warnings (Amir Tzin) [1982193] - net/mlx5e: Fix missing IPsec statistics on uplink representor (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix Software parser inner l3 type setting in case of encapsulation (Amir Tzin) [1982193] - net/mlx5: E-Switch, return error if encap isn't supported (Amir Tzin) [1982193] - net/mlx5: Lag, update tracker when state change event received (Amir Tzin) [1982193] - net/mlx5e: CT, Fix multiple allocations and memleak of mod acts (Amir Tzin) [1982193 2017675] - net/mlx5: Update error handler for UCTX and UMEM (Amir Tzin) [1982193] - net/mlx5: E-Switch, Fix resetting of encap mode when entering switchdev (Amir Tzin) [1982193] - net/mlx5e: Wait for concurrent flow deletion during neigh/fib events (Amir Tzin) [1982193] - net/mlx5e: kTLS, Fix crash in RX resync flow (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix work queue entry ethernet segment checksum flags (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix a misuse of the software parser's fields (Amir Tzin) [1982193] - net/mlx5e: Fix vlan data lost during suspend flow (Amir Tzin) [1982193] - net/mlx5: Lag, change multipath and bonding to be mutually exclusive (Amir Tzin) [1982193] - net/mlx5: Lag, move lag destruction to a workqueue (Amir Tzin) [1982193] - RDMA/mlx5: Initialize the ODP xarray when creating an ODP MR (Amir Tzin) [1982193] - net/mlx5e: Mutually exclude RX-FCS and RX-port-timestamp (Amir Tzin) [1982193] - net/mlx5e: Switchdev representors are not vlan challenged (Amir Tzin) [1982193] - net/mlx5e: Fix memory leak in mlx5_core_destroy_cq() error path (Amir Tzin) [1982193] - net/mlx5: Fix cleanup of bridge delayed work (Amir Tzin) [1982193] - RDMA/mlx5: Set user priority for DCT (Amir Tzin) [1982193] - net/mlx5: DR, Fix typo 'offeset' to 'offset' (Amir Tzin) [1982193] - net/mlx5: DR, Fix vport number data type to u16 (Amir Tzin) [1982193] - net/mlx5e: Fix the presented RQ index in PTP stats (Amir Tzin) [1982193] - net/mlx5: Fix setting number of EQs of SFs (Amir Tzin) [1982193] - net/mlx5: Fix length of irq_index in chars (Amir Tzin) [1982193] - net/mlx5: Avoid generating event after PPS out in Real time mode (Amir Tzin) [1982193] - net/mlx5: Force round second at 1PPS out start time (Amir Tzin) [1982193] - net/mlx5: E-Switch, Fix double allocation of acl flow counter (Amir Tzin) [1982193] - net/mlx5e: Keep the value for maximum number of channels in-sync (Amir Tzin) [1982193] - net/mlx5e: IPSEC RX, enable checksum complete (Amir Tzin) [1982193] - net/mlx5: DR, Fix code indentation in dr_ste_v1 (Amir Tzin) [1982193] - RDMA/mlx5: Fix xlt_chunk_align calculation (Amir Tzin) [1982193] - RDMA/mlx5: Fix number of allocated XLT entries (Amir Tzin) [1982193] - net/mlx5e: Fix mutual exclusion between CQE compression and HW TS (Amir Tzin) [1982193] - net/mlx5: Fix potential sleeping in atomic context (Amir Tzin) [1982193] - net/mlx5: FWTrace, cancel work on alloc pd error flow (Amir Tzin) [1982193] - net/mlx5: DR, fix a potential use-after-free bug (Amir Tzin) [1982193] - net/mlx5e: Use correct eswitch for stack devices with lag (Amir Tzin) [1982193] - net/mlx5: E-Switch, Set vhca id valid flag when creating indir fwd group (Amir Tzin) [1982193] - net/mlx5: Remove all auxiliary devices at the unregister event (Amir Tzin) [1982193] - net/mlx5: Lag, fix multipath lag activation (Amir Tzin) [1982193] - net/mlx5: Fix variable type to match 64bit (Amir Tzin) [1982193] - net/mlx5: Fix typo in comments (Amir Tzin) [1982193] - net/mlx5e: Remove Duplicated hunk in function __parse_cls_flower() (Amir Tzin) [1982193] - net/mlx5: Fix unpublish devlink parameters (Amir Tzin) [1982193] - RDMA/mlx5: Delete not-available udata check (Amir Tzin) [1982193] - net/mlx5: Fix missing return value in mlx5_devlink_eswitch_inline_mode_set() (Amir Tzin) [1982193] - net/mlx5e: Block LRO if firmware asks for tunneled LRO (Amir Tzin) [1982193] - net/mlx5e: Prohibit inner indir TIRs in IPoIB (Amir Tzin) [1982193] - net: switchdev: zero-initialize struct switchdev_notifier_fdb_info emitted by drivers towards the bridge (Amir Tzin) [1982193] - net/mlx5: Fix return value from tracer initialization (Amir Tzin) [1982193] - net/mlx5: Synchronize correct IRQ when destroying CQ (Amir Tzin) [1982193 1982219] - net/mlx5e: TC, Fix error handling memory leak (Amir Tzin) [1982193] - net/mlx5: Destroy pool->mutex (Amir Tzin) [1982193] - net/mlx5: Set all field of mlx5_irq before inserting it to the xarray (Amir Tzin) [1982193] - net/mlx5: Fix order of functions in mlx5_irq_detach_nb() (Amir Tzin) [1982193] - net/mlx5: Block switchdev mode while devlink traps are active (Amir Tzin) [1982193] - net/mlx5e: Destroy page pool after XDP SQ to fix use-after-free (Amir Tzin) [1982193] - net/mlx5: Bridge, fix ageing time (Amir Tzin) [1982193] - net/mlx5e: Avoid creating tunnel headers for local route (Amir Tzin) [1982193] - net/mlx5: DR, Add fail on error check on decap (Amir Tzin) [1982193] - net/mlx5: Don't skip subfunction cleanup in case of error in module init (Amir Tzin) [1982193] - RDMA/mlx5: Delay emptying a cache entry when a new MR is added to it recently (Amir Tzin) [1982193] - net/mlx5: Fix mlx5_vport_tbl_attr chain from u16 to u32 (Amir Tzin) [1982193] - net/mlx5e: Fix nullptr in mlx5e_hairpin_get_mdev() (Amir Tzin) [1982193] - net/mlx5: Unload device upon firmware fatal error (Amir Tzin) [1982193] - net/mlx5e: Fix page allocation failure for ptp-RQ over SF (Amir Tzin) [1982193] - net/mlx5e: Fix page allocation failure for trap-RQ over SF (Amir Tzin) [1982193] - net/mlx5e: Consider PTP-RQ when setting RX VLAN stripping (Amir Tzin) [1982193] - net/mlx5e: Add NETIF_F_HW_TC to hw_features when HTB offload is available (Amir Tzin) [1982193] - net/mlx5e: RX, Avoid possible data corruption when relaxed ordering and LRO combined (Amir Tzin) [1982193] - net/mlx5: E-Switch, handle devcom events only for ports on the same device (Amir Tzin) [1982193] - net/mlx5: E-Switch, Set destination vport vhca id only when merged eswitch is supported (Amir Tzin) [1982193] - net/mlx5e: Disable Rx ntuple offload for uplink representor (Amir Tzin) [1982193] - net/mlx5e: kTLS, Add stats for number of deleted kTLS TX offloaded connections (Amir Tzin) [1982193] - net/mlx5: SF, Improve performance in SF allocation (Amir Tzin) [1982193] - net/mlx5: Increase hairpin buffer size (Amir Tzin) [1982193] - net/mlx5: DR, Add support for flow sampler offload (Amir Tzin) [1982193] - net/mlx5: Compare sampler flow destination ID in fs_core (Amir Tzin) [1982193] - net/mlx5: remove "default n" from Kconfig (Amir Tzin) [1982193] - net/mlx5: Fix spelling mistake "enught" -> "enough" (Amir Tzin) [1982193] - net/mlx5: Use cpumask_available() in mlx5_eq_create_generic() (Amir Tzin) [1982193] - net/mlx5: Fix missing error code in mlx5_init_fs() (Amir Tzin) [1982193] - RDMA/mlx5: Support real-time timestamp directly from the device (Amir Tzin) [1982193] - RDMA/mlx5: Refactor get_ts_format functions to simplify code (Amir Tzin) [1982193] - RDMA/mlx5: Enable Relaxed Ordering by default for kernel ULPs (Amir Tzin) [1982193] - net/mlx5: Round-Robin EQs over IRQs (Amir Tzin) [1982193] - net/mlx5: Separate between public and private API of sf.h (Amir Tzin) [1982193] - net/mlx5: Enlarge interrupt field in CREATE_EQ (Amir Tzin) [1982193] - net/mlx5: Allocating a pool of MSI-X vectors for SFs (Amir Tzin) [1982193] - net/mlx5: Change IRQ storage logic from static to dynamic (Amir Tzin) [1982193] - net/mlx5: Moving rmap logic to EQs (Amir Tzin) [1982193] - net/mlx5: Extend mlx5_irq_request to request IRQ from the kernel (Amir Tzin) [1982193] - net/mlx5: Removing rmap per IRQ (Amir Tzin) [1982193] - net/mlx5: Clean license text in eq.[c|h] files (Amir Tzin) [1982193] - net/mlx5: Provide cpumask at EQ creation phase (Amir Tzin) [1982193] - net/mlx5: Introduce API for request and release IRQs (Amir Tzin) [1982193] - net/mlx5: Delay IRQ destruction till all users are gone (Amir Tzin) [1982193] - net/mlx5: Change ownership model for lag (Amir Tzin) [1982193] - net/mlx5: Lag, Don't rescan if the device is going down (Amir Tzin) [1982193] - net/mlx5: Lag, refactor disable flow (Amir Tzin) [1982193] - net/mlx5: Bridge, add tracepoints (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, filter tagged packets that didn't match tagged fg (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, support pvid and untagged vlan configurations (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, match FDB entry vlan tag (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, implement infrastructure for vlans (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, dynamic entry ageing (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, handle FDB events (Amir Tzin) [1982193 1982234] - docs: networking: Add missing mlx5 documentation (Amir Tzin) [1982193] - net/mlx5: Bridge, add offload infrastructure (Amir Tzin) [1982193 1982234] - net/mlx5e: Refactor mlx5e_eswitch_{*}rep() helpers (Amir Tzin) [1982193 1982234] - net/mlx5: Create TC-miss priority and table (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Support EMD tag in modify header for STEv1 (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Added support for INSERT_HEADER reformat type (Amir Tzin) [1982193 1982234] - net/mlx5: Added new parameters to reformat context (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Allow encap action for RX for supporting devices (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Split reformat state to Encap and Decap (Amir Tzin) [1982193 1982234] - net/mlx5: mlx5_ifc support for header insert/remove (Amir Tzin) [1982193 1982234] - net/mlx5e: Remove unreachable code in mlx5e_xmit() (Amir Tzin) [1982193] - net/mlx5e: RX, Re-place page pool numa node change logic (Amir Tzin) [1982193] - net/mlx5e: Zero-init DIM structures (Amir Tzin) [1982193] - net/mlx5e: IPoIB, Add support for NDR speed (Amir Tzin) [1982193] - net/mlx5e: Remove the repeated declaration (Amir Tzin) [1982193] - net/mlx5: check for allocation failure in mlx5_ft_pool_init() (Amir Tzin) [1982193] - mlx5: count all link events (Amir Tzin) [1982193] - net/mlx5: Expose FW version over defined keyword (Amir Tzin) [1982193] - net/mlx5: Use boolean arithmetic to evaluate roce_lag (Amir Tzin) [1982193] - net/mlx5: Remove unnecessary spin lock protection (Amir Tzin) [1982193] - net/mlx5: Cap the maximum flow group size to 16M entries (Amir Tzin) [1982193] - net/mlx5: DR, Set max table size to 2G entries (Amir Tzin) [1982193] - net/mlx5: Move chains ft pool to be used by all firmware steering (Amir Tzin) [1982193] - net/mlx5: Move table size calculation to steering cmd layer (Amir Tzin) [1982193] - net/mlx5: Add case for FS_FT_NIC_TX FT in MLX5_CAP_FLOWTABLE_TYPE (Amir Tzin) [1982193] - net/mlx5: DR, Remove unused field of send_ring struct (Amir Tzin) [1982193] - net/mlx5e: RX, Remove unnecessary check in RX CQE compression handling (Amir Tzin) [1982193] - net/mlx5: CT: Avoid reusing modify header context for natted entries (Amir Tzin) [1982193] - net/mlx5e: CT, Remove newline from ct_dbg call (Amir Tzin) [1982193] - RDMA/mlx5: Take qp type from mlx5_ib_qp (Amir Tzin) [1982193] - RDMA/mlx5: Add SQD2RTS bit to the alloc ucontext response (Amir Tzin) [1982193] - RDMA/mlx5: Support SQD2RTS for modify QP (Amir Tzin) [1982193] - RDMA/mlx5: Remove redundant assignment to ret (Amir Tzin) [1982193] - firewire: fix support status (Tomas Henzl) [2055319] - dlci: fix support status (Tomas Henzl) [2055319] - dlink: fix support status (Tomas Henzl) [2055319] - rxe: fix support status (Tomas Henzl) [2055319] - qic: fix support status (Tomas Henzl) [2055319] - Revert "ceph: enable async dirops by default" (Jeffrey Layton) [2052542] - libceph: optionally use bounce buffer on recv path in crc mode (Jeffrey Layton) [2024725] - libceph: make recv path in secure mode work the same as send path (Jeffrey Layton) [2024725] - mm: use kmap_local_page in memzero_page (Jeffrey Layton) [2024725] - mm: call flush_dcache_page() in memcpy_to_page() and memzero_page() (Jeffrey Layton) [2024725] - iov_iter: lift memzero_page() to highmem.h (Jeffrey Layton) [2024725] - mm/highmem: Convert memcpy_[to|from]_page() to kmap_local_page() (Jeffrey Layton) [2024725] - mm/highmem: Lift memcpy_[to|from]_page to core (Jeffrey Layton) [2024725] - ceph: set pool_ns in new inode layout for async creates (Jeffrey Layton) [2046021] - ceph: properly put ceph_string reference after async create attempt (Jeffrey Layton) [2046021] - ceph: put the requests/sessions when it fails to alloc memory (Jeffrey Layton) [2046021] - ceph: remove redundant Lsx caps check (Jeffrey Layton) [2046021] - ceph: don't check for quotas on MDS stray dirs (Jeffrey Layton) [2046021] - ceph: drop send metrics debug message (Jeffrey Layton) [2046021] - ceph: Fix incorrect statfs report for small quota (Jeffrey Layton) [2011104] - scsi: qla2xxx: stop timer in shutdown path (Nilesh Javali) [2056055] - Revert "PCI: Add support for dev_groups to struct pci_driver" (Michel Dänzer) [2054595] - drm/amdgpu: Assign amdgpu_sysfs_groups to struct device_driver directly (Michel Dänzer) [2054595] - EDAC/i10nm: Retrieve and print retry_rd_err_log registers (Aristeu Rozanski) [1998359] - redhat: enable zstream release numbering for rhel 8.6 (Augusto Caringi) - redhat: generate distgit changelog in genspec.sh as well (Jan Stancek) - redhat: always upload kabi tarballs (Jan Stancek) - redhat: make genspec prefer metadata from git notes (Jan Stancek)- xfs: don't generate selinux audit messages for capability testing (Brian Foster) [2059835]- ice: Implement support for SMA and U.FL on E810-T (Jonathan Toppins) [1975007] - ice: Add support for SMA control multiplexer (Jonathan Toppins) [1975007] - ice: Implement functions for reading and setting GPIO pins (Jonathan Toppins) [1975007] - ice: Refactor ice_aqc_link_topo_addr (Jonathan Toppins) [1975007] - xfs: restore speculative_cow_prealloc_lifetime sysctl (Bill O'Donnell) [2015621] - xfs: Fix the free logic of state in xfs_attr_node_hasname (Bill O'Donnell) [2015621 2037498] - xfs: punch out data fork delalloc blocks on COW writeback failure (Bill O'Donnell) [2015621 2012872] - xfs: use kmem_cache_free() for kmem_cache objects (Bill O'Donnell) [2015621] - xfs: logging the on disk inode LSN can make it go backwards (Bill O'Donnell) [2015621] - xfs: only reset incore inode health state flags when reclaiming an inode (Bill O'Donnell) [2015621] - xfs: remove obsolete AGF counter debugging (Bill O'Donnell) [2015621] - xfs: Initialize xfs_alloc_arg->total correctly when allocating minlen extents (Bill O'Donnell) [2015621] - xfs: Fix dax inode extent calculation when direct write is performed on an unwritten extent (Bill O'Donnell) [2015621] - xfs: mark a data structure sick if there are cross-referencing errors (Bill O'Donnell) [2015621] - xfs: fix maxlevels comparisons in the btree staging code (Bill O'Donnell) [2015621] - xfs: fix incorrect unit conversion in scrub tracepoint (Bill O'Donnell) [2015621] - xfs: fix log intent recovery ENOSPC shutdowns when inactivating inodes (Bill O'Donnell) [2015621] - xfs: fix radix tree tag signs (Bill O'Donnell) [2015621] - xfs: force log and push AIL to clear pinned inodes when aborting mount (Bill O'Donnell) [2015621] - xfs: use current->journal_info for detecting transaction recursion (Bill O'Donnell) [2015621] - xfs: don't nest transactions when scanning for eofblocks (Bill O'Donnell) [2015621] - xfs: fix boolreturn.cocci warnings (Bill O'Donnell) [2015621] - xfs: get rid of xfs_growfs_{data,log}_t (Bill O'Donnell) [2015621] - xfs: rename `new' to `delta' in xfs_growfs_data_private() (Bill O'Donnell) [2015621] - xfs: don't bounce the iolock between free_{eof,cow}blocks (Bill O'Donnell) [2015621] - xfs: expose the blockgc workqueue knobs publicly (Bill O'Donnell) [2015621] - xfs: parallelize block preallocation garbage collection (Bill O'Donnell) [2015621] - xfs: rename block gc start and stop functions (Bill O'Donnell) [2015621] - xfs: only walk the incore inode tree once per blockgc scan (Bill O'Donnell) [2015621] - xfs: consolidate the eofblocks and cowblocks workers (Bill O'Donnell) [2015621] - xfs: consolidate incore inode radix tree posteof/cowblocks tags (Bill O'Donnell) [2015621] - xfs: remove trivial eof/cowblocks functions (Bill O'Donnell) [2015621] - xfs: hide xfs_icache_free_cowblocks (Bill O'Donnell) [2015621] - xfs: hide xfs_icache_free_eofblocks (Bill O'Donnell) [2015621] - xfs: relocate the eofb/cowb workqueue functions (Bill O'Donnell) [2015621] - xfs: set WQ_SYSFS on all workqueues in debug mode (Bill O'Donnell) [2015621] - xfs: increase the default parallelism levels of pwork clients (Bill O'Donnell) [2015621] - xfs: flush speculative space allocations when we run out of space (Bill O'Donnell) [2015621] - xfs: refactor xfs_icache_free_{eof,cow}blocks call sites (Bill O'Donnell) [2015621] - xfs: add a tracepoint for blockgc scans (Bill O'Donnell) [2015621] - xfs: flush eof/cowblocks if we can't reserve quota for chown (Bill O'Donnell) [2015621] - xfs: flush eof/cowblocks if we can't reserve quota for inode creation (Bill O'Donnell) [2015621] - xfs: flush eof/cowblocks if we can't reserve quota for file blocks (Bill O'Donnell) [2015621] - xfs: try worst case space reservation upfront in xfs_reflink_remap_extent (Bill O'Donnell) [2015621] - xfs: pass flags and return gc errors from xfs_blockgc_free_quota (Bill O'Donnell) [2015621] - xfs: move and rename xfs_inode_free_quota_blocks to avoid conflicts (Bill O'Donnell) [2015621] - xfs: xfs_inode_free_quota_blocks should scan project quota (Bill O'Donnell) [2015621] - xfs: don't stall cowblocks scan if we can't take locks (Bill O'Donnell) [2015621] - xfs: trigger all block gc scans when low on quota space (Bill O'Donnell) [2015621] - xfs: shut down the filesystem if we screw up quota reservation (Bill O'Donnell) [2015621] - xfs: rename code to error in xfs_ioctl_setattr (Bill O'Donnell) [2015621] - xfs: remove xfs_qm_vop_chown_reserve (Bill O'Donnell) [2015621] - xfs: refactor inode ownership change transaction/inode/quota allocation idiom (Bill O'Donnell) [2015621] - xfs: refactor inode creation transaction/inode/quota allocation idiom (Bill O'Donnell) [2015621] - xfs: refactor reflink functions to use xfs_trans_alloc_inode (Bill O'Donnell) [2015621] - xfs: allow reservation of rtblocks with xfs_trans_alloc_inode (Bill O'Donnell) [2015621] - xfs: refactor common transaction/inode/quota allocation idiom (Bill O'Donnell) [2015621] - xfs: reserve data and rt quota at the same time (Bill O'Donnell) [2015621] - xfs: clean up icreate quota reservation calls (Bill O'Donnell) [2015621] - xfs: remove xfs_trans_unreserve_quota_nblks completely (Bill O'Donnell) [2015621] - xfs: create convenience wrappers for incore quota block reservations (Bill O'Donnell) [2015621] - xfs: clean up quota reservation callsites (Bill O'Donnell) [2015621] - xfs: reduce quota reservation when doing a dax unwritten extent conversion (Bill O'Donnell) [2015621] - xfs: reduce exclusive locking on unaligned dio (Bill O'Donnell) [2015621] - xfs: split the unaligned DIO write code out (Bill O'Donnell) [2015621] - xfs: improve the reflink_bounce_dio_write tracepoint (Bill O'Donnell) [2015621] - xfs: simplify the read/write tracepoints (Bill O'Donnell) [2015621] - xfs: remove the buffered I/O fallback assert (Bill O'Donnell) [2015621] - xfs: cleanup the read/write helper naming (Bill O'Donnell) [2015621] - xfs: make xfs_file_aio_write_checks IOCB_NOWAIT-aware (Bill O'Donnell) [2015621] - xfs: factor out a xfs_ilock_iocb helper (Bill O'Donnell) [2015621] - xfs: Fix 'set but not used' warning in xfs_bmap_compute_alignments() (Bill O'Donnell) [2015621] - xfs: fix unused log variable in xfs_log_cover() (Bill O'Donnell) [2015621] - iomap: add a IOMAP_DIO_OVERWRITE_ONLY flag (Bill O'Donnell) [2015621] - iomap: pass a flags argument to iomap_dio_rw (Bill O'Donnell) [2015621] - iomap: rename the flags variable in __iomap_dio_rw (Bill O'Donnell) [2015621] - iomap: Allow filesystem to call iomap_dio_complete without i_rwsem (Bill O'Donnell) [2015621] - xfs: reduce ilock acquisitions in xfs_file_fsync (Bill O'Donnell) [2015621] - xfs: refactor xfs_file_fsync (Bill O'Donnell) [2015621] - xfs: cover the log on freeze instead of cleaning it (Bill O'Donnell) [2015621] - xfs: remove xfs_quiesce_attr() (Bill O'Donnell) [2015621] - xfs: remove duplicate wq cancel and log force from attr quiesce (Bill O'Donnell) [2015621] - xfs: fold sbcount quiesce logging into log covering (Bill O'Donnell) [2015621] - xfs: don't reset log idle state on covering checkpoints (Bill O'Donnell) [2015621] - xfs: cover the log during log quiesce (Bill O'Donnell) [2015621] - xfs: separate log cleaning from log quiesce (Bill O'Donnell) [2015621] - xfs: lift writable fs check up into log worker task (Bill O'Donnell) [2015621] - xfs: set inode size after creating symlink (Bill O'Donnell) [2015621] - xfs: remove a stale comment from xfs_file_aio_write_checks() (Bill O'Donnell) [2015621] - xfs: Introduce error injection to allocate only minlen size extents for files (Bill O'Donnell) [2015621] - xfs: Process allocated extent in a separate function (Bill O'Donnell) [2015621] - xfs: Compute bmap extent alignments in a separate function (Bill O'Donnell) [2015621] - xfs: Remove duplicate assert statement in xfs_bmap_btalloc() (Bill O'Donnell) [2015621] - xfs: Introduce error injection to reduce maximum inode fork extent count (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when swapping extents (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when remapping an extent (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when moving extent from cow to data fork (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when writing to unwritten extent (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when adding/removing xattrs (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when renaming dir entries (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when removing dir entries (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when adding dir entries (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when punching a hole (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when trivally adding a new extent (Bill O'Donnell) [2015621] - xfs: Add helper for checking per-inode extent count overflow (Bill O'Donnell) [2015621] - iwlwifi: pcie: add killer devices to the driver (Íñigo Huguet) [2043453] - iwlwifi: add support for BNJ HW (Íñigo Huguet) [2043453] - iwlwifi: Fix FW name for gl (Íñigo Huguet) [2043453] - iwlwifi: Read the correct addresses when getting the crf id (Íñigo Huguet) [2043453] - iwlwifi: pcie: add jacket bit to device configuration parsing (Íñigo Huguet) [2043453] - iwlwifi: add new ax1650 killer device (Íñigo Huguet) [2043453] - iwlwifi: add new Qu-Hr device (Íñigo Huguet) [2043453] - iwlwifi: add missing entries for Gf4 with So and SoF (Íñigo Huguet) [2043453] - iwlwifi: remove unused iwlax210_2ax_cfg_so_hr_a0 structure (Íñigo Huguet) [2043453] - iwlwifi: add support for Bz-Z HW (Íñigo Huguet) [2043453] - iwlwifi: support 4-bits in MAC step value (Íñigo Huguet) [2043453] - iwlwifi: mvm: Increase the scan timeout guard to 30 seconds (Íñigo Huguet) [2043453] - iwlwifi: mvm: Use div_s64 instead of do_div in iwl_mvm_ftm_rtt_smoothing() (Íñigo Huguet) [2043453] - mt76: mt7921: fix a possible race enabling/disabling runtime-pm (Íñigo Huguet) [2043453] - ath11k: Fix unexpected return buffer manager error for QCA6390 (Íñigo Huguet) [2043453] - ath11k: Fix napi related hang (Íñigo Huguet) [2043453] - iwlwifi: yoyo: fix issue with new DBGI_SRAM region read. (Íñigo Huguet) [2043453] - iwlwifi: pcie: make sure prph_info is set when treating wakeup IRQ (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix AUX ROC removal (Íñigo Huguet) [2043453] - iwlwifi: mvm: set protected flag only for NDP ranging (Íñigo Huguet) [2043453] - iwlwifi: mvm: perform 6GHz passive scan after suspend (Íñigo Huguet) [2043453] - iwlwifi: mvm: Fix calculation of frame length (Íñigo Huguet) [2043453] - iwlwifi: mvm: test roc running status bits before removing the sta (Íñigo Huguet) [2043453] - iwlwifi: don't pass actual WGDS revision number in table_revision (Íñigo Huguet) [2043453] - iwlwifi: fix leaks/bad data after failed firmware load (Íñigo Huguet) [2043453] - iwlwifi: fix debug TLV parsing (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix 32-bit build in FTM (Íñigo Huguet) [2043453] - iwlwifi: fix Bz NMI behaviour (Íñigo Huguet) [2043453] - rtlwifi: rtl8192cu: Fix WARNING when calling local_irq_restore() with interrupts enabled (Íñigo Huguet) [2043453] - rtw88: 8822c: update rx settings to prevent potential hw deadlock (Íñigo Huguet) [2043453] - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE (Íñigo Huguet) [2043453] - ath9k: Fix out-of-bound memcpy in ath9k_hif_usb_rx_stream (Íñigo Huguet) [2043453] - ath9k_htc: fix NULL pointer dereference at ath9k_htc_tx_get_packet() (Íñigo Huguet) [2043453] - ath9k_htc: fix NULL pointer dereference at ath9k_htc_rxep() (Íñigo Huguet) [2043453] - mac80211: fix FEC flag in radio tap header (Íñigo Huguet) [2043453] - mt76: mt7921: fix possible resume failure (Íñigo Huguet) [2043453] - mt76: mt7921: move mt76_connac_mcu_set_hif_suspend to bus-related files (Íñigo Huguet) [2043453] - mt76: mt7921: fix network buffer leak by txs missing (Íñigo Huguet) [2043453] - mt76: mt7615: clear mcu error interrupt status on mt7663 (Íñigo Huguet) [2043453] - mt76: connac: fix last_chan configuration in mt76_connac_mcu_rate_txpower_band (Íñigo Huguet) [2043453] - mt76: mt7921: use correct iftype data on 6GHz cap init (Íñigo Huguet) [2043453] - mt76: mt7921: fix boolreturn.cocci warning (Íñigo Huguet) [2043453] - mt76: mt7615: fix unused tx antenna mask in testmode (Íñigo Huguet) [2043453] - mt76: fix the wiphy's available antennas to the correct value (Íñigo Huguet) [2043453] - mt76: connac: fix a theoretical NULL pointer dereference in mt76_connac_get_phy_mode (Íñigo Huguet) [2043453] - mt76: mt7921: fix possible NULL pointer dereference in mt7921_mac_write_txwi (Íñigo Huguet) [2043453] - mt76: fix possible OOB issue in mt76_calculate_default_rate (Íñigo Huguet) [2043453] - mt76: debugfs: fix queue reporting for mt76-usb (Íñigo Huguet) [2043453] - mt76: mt7915: fix SMPS operation fail (Íñigo Huguet) [2043453] - mt76: mt7915: fix return condition in mt7915_tm_reg_backup_restore() (Íñigo Huguet) [2043453] - mt76: mt7921: fix MT7921E reset failure (Íñigo Huguet) [2043453] - mt76: mt7615: fix possible deadlock while mt7615_register_ext_phy() (Íñigo Huguet) [2043453] - mt76: mt7921: drop offload_flags overwritten (Íñigo Huguet) [2043453] - mt76: mt7915: get rid of mt7915_mcu_set_fixed_rate routine (Íñigo Huguet) [2043453] - bus: mhi: core: Use correctly sized arguments for bit field (Íñigo Huguet) [2043453] - bus: mhi: core: Fix race while handling SYS_ERR at power up (Íñigo Huguet) [2043453] - bus: mhi: core: Fix reading wake_capable channel configuration (Íñigo Huguet) [2043453] - bus: mhi: core: Minor style and comment fixes (Íñigo Huguet) [2043453] - bus: mhi: pci_generic: Graceful shutdown on freeze (Íñigo Huguet) [2043453] - ath11k: Fix a NULL pointer dereference in ath11k_mac_op_hw_scan() (Íñigo Huguet) [2043453] - mt76: remove variable set but not used (Íñigo Huguet) [2043453] - ath11k: Fix deleting uninitialized kernel timer during fragment cache flush (Íñigo Huguet) [2043453] - ath11k: add spectral/CFR buffer validation support (Íñigo Huguet) [2043453] - ath11k: Fix buffer overflow when scanning with extraie (Íñigo Huguet) [2043453] - mwifiex: Fix possible ABBA deadlock (Íñigo Huguet) [2043453] - ath10k: fix scan abort when duration is set for hw scan (Íñigo Huguet) [2043453] - ath10k: Fix tx hanging (Íñigo Huguet) [2043453] - iwlwifi: acpi: fix wgds rev 3 size (Íñigo Huguet) [2043453] - iwlwifi: mvm: avoid clearing a just saved session protection id (Íñigo Huguet) [2043453] - iwlwifi: mvm: Fix wrong documentation for scan request command (Íñigo Huguet) [2043453] - iwlwifi: mvm: synchronize with FW after multicast commands (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix delBA vs. NSSN queue sync race (Íñigo Huguet) [2043453] - ath11k: Fix QMI file type enum value (Íñigo Huguet) [2043453] - ath11k: add support for WCN6855 hw2.1 (Íñigo Huguet) [2043453] - ath10k: Fix the MTU size on QCA9377 SDIO (Íñigo Huguet) [2043453] - wireless: iwlwifi: Fix a double free in iwl_txq_dyn_alloc_dma (Íñigo Huguet) [2043453] - mwifiex: Ignore BTCOEX events from the 88W8897 firmware (Íñigo Huguet) [2043453] - mwifiex: Fix skb_over_panic in mwifiex_usb_recv() (Íñigo Huguet) [2043453] - ath11k: Use host CE parameters for CE interrupts configuration (Íñigo Huguet) [2043453] - ath11k: Fix mon status ring rx tlv processing (Íñigo Huguet) [2043453] - ath11k: skip sending vdev down for channel switch (Íñigo Huguet) [2043453] - ath11k: fix read fail for htt_stats and htt_peer_stats for single pdev (Íñigo Huguet) [2043453] - ath11k: Set IRQ affinity to CPU0 in case of one MSI vector (Íñigo Huguet) [2043453] - ath11k: do not restore ASPM in case of single MSI vector (Íñigo Huguet) [2043453] - ath11k: add support one MSI vector (Íñigo Huguet) [2043453] - ath11k: refactor multiple MSI vector implementation (Íñigo Huguet) [2043453] - ath11k: use ATH11K_PCI_IRQ_DP_OFFSET for DP IRQ (Íñigo Huguet) [2043453] - ath11k: add CE and ext IRQ flag to indicate irq_handler (Íñigo Huguet) [2043453] - ath11k: get msi_data again after request_irq is called (Íñigo Huguet) [2043453] - ath9k: fix intr_txqs setting (Íñigo Huguet) [2043453] - ath11k: add hw_param for wakeup_mhi (Íñigo Huguet) [2043453] - ath11k: reset RSN/WPA present state for open BSS (Íñigo Huguet) [2043453] - ath11k: clear the keys properly via DISABLE_KEY (Íñigo Huguet) [2043453] - ath11k: Fix crash caused by uninitialized TX ring (Íñigo Huguet) [2043453] - ath11k: use cache line aligned buffers for dbring (Íñigo Huguet) [2043453] - ath11k: Fix ETSI regd with weather radar overlap (Íñigo Huguet) [2043453] - ath11k: fix FCS_ERR flag in radio tap header (Íñigo Huguet) [2043453] - ath11k: fix the value of msecs_to_jiffies in ath11k_debugfs_fw_stats_request (Íñigo Huguet) [2043453] - ath11k: fix firmware crash during channel switch (Íñigo Huguet) [2043453] - ath11k: Fix 'unused-but-set-parameter' error (Íñigo Huguet) [2043453] - ath11k: fix DMA memory free in CE pipe cleanup (Íñigo Huguet) [2043453] - ath11k: fix error routine when fallback of add interface fails (Íñigo Huguet) [2043453] - ath11k: fix fw crash due to peer get authorized before key install (Íñigo Huguet) [2043453] - ath11k: Clear auth flag only for actual association in security mode (Íñigo Huguet) [2043453] - ath11k: Send PPDU_STATS_CFG with proper pdev mask to firmware (Íñigo Huguet) [2043453] - ath11k: set correct NL80211_FEATURE_DYNAMIC_SMPS for WCN6855 (Íñigo Huguet) [2043453] - mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh (Íñigo Huguet) [2043453] - mac80211: initialize variable have_higher_than_11mbit (Íñigo Huguet) [2043453] - mac80211: fix locking in ieee80211_start_ap error path (Íñigo Huguet) [2043453] - mac80211: do drv_reconfig_complete() before restarting all (Íñigo Huguet) [2043453] - mac80211: mark TX-during-stop for TX in in_reconfig (Íñigo Huguet) [2043453] - mac80211: update channel context before station state (Íñigo Huguet) [2043453] - mac80211: Fix the size used for building probe request (Íñigo Huguet) [2043453] - mac80211: fix lookup when adding AddBA extension element (Íñigo Huguet) [2043453] - mac80211: validate extended element ID is present (Íñigo Huguet) [2043453] - cfg80211: Acquire wiphy mutex on regulatory work (Íñigo Huguet) [2043453] - mac80211: agg-tx: don't schedule_and_wake_txq() under sta->lock (Íñigo Huguet) [2043453] - nl80211: remove reload flag from regulatory_request (Íñigo Huguet) [2043453] - mac80211: send ADDBA requests using the tid/queue of the aggregation session (Íñigo Huguet) [2043453] - bus: mhi: core: Add support for forced PM resume (Íñigo Huguet) [2043453] - mt76: mt7921: fix build regression (Íñigo Huguet) [2043453] - brcmsmac: rework LED dependencies (Íñigo Huguet) [2043453] - iwlwifi: fix LED dependencies (Íñigo Huguet) [2043453] - iwlwifi: mvm: don't crash on invalid rate w/o STA (Íñigo Huguet) [2043453] - bus: mhi: pci_generic: Fix device recovery failed issue (Íñigo Huguet) [2043453] - mt76: fix key pointer overwrite in mt7921s_write_txwi/mt7663_usb_sdio_write_txwi (Íñigo Huguet) [2043453] - rt2x00: do not mark device gone on EPROTO errors during start (Íñigo Huguet) [2043453] - nl80211: reset regdom when reloading regdb (Íñigo Huguet) [2043453] - mac80211: add docs for ssn in struct tid_ampdu_tx (Íñigo Huguet) [2043453] - mac80211: fix a memory leak where sta_info is not freed (Íñigo Huguet) [2043453] - mac80211: set up the fwd_skb->dev for mesh forwarding (Íñigo Huguet) [2043453] - mac80211: fix regression in SSN handling of addba tx (Íñigo Huguet) [2043453] - mac80211: fix rate control for retransmitted frames (Íñigo Huguet) [2043453] - mac80211: track only QoS data frames for admission control (Íñigo Huguet) [2043453] - mac80211: fix TCP performance on mesh interface (Íñigo Huguet) [2043453] - mt76: fix possible pktid leak (Íñigo Huguet) [2043453] - mt76: fix timestamp check in tx_status (Íñigo Huguet) [2043453] - mt76: mt7915: fix NULL pointer dereference in mt7915_get_phy_mode (Íñigo Huguet) [2043453] - iwlwifi: Fix memory leaks in error handling path (Íñigo Huguet) [2043453] - iwlwifi: fix warnings produced by kernel debug options (Íñigo Huguet) [2043453] - iwlwifi: mvm: retry init flow if failed (Íñigo Huguet) [2043453] - iwlwifi: Fix missing error code in iwl_pci_probe() (Íñigo Huguet) [2043453] - iwlwifi: pcie: fix constant-conversion warning (Íñigo Huguet) [2043453] - mac80211: fix throughput LED trigger (Íñigo Huguet) [2043453] - mac80211: fix monitor_sdata RCU/locking assertions (Íñigo Huguet) [2043453] - mac80211: drop check for DONT_REORDER in __ieee80211_select_queue (Íñigo Huguet) [2043453] - mac80211: fix radiotap header generation (Íñigo Huguet) [2043453] - mac80211: do not access the IV when it was stripped (Íñigo Huguet) [2043453] - nl80211: fix radio statistics in survey dump (Íñigo Huguet) [2043453] - cfg80211: call cfg80211_stop_ap when switch from P2P_GO type (Íñigo Huguet) [2043453] - mwifiex: fix division by zero in fw download path (Íñigo Huguet) [2043453] - iwlwifi: bump FW API to 67 for AX devices (Íñigo Huguet) [2043453] - iwlwifi: mvm: extend session protection on association (Íñigo Huguet) [2043453] - iwlwifi: rename CHANNEL_SWITCH_NOA_NOTIF to CHANNEL_SWITCH_START_NOTIF (Íñigo Huguet) [2043453] - iwlwifi: mvm: remove session protection on disassoc (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix WGDS table print in iwl_mvm_chub_update_mcc() (Íñigo Huguet) [2043453] - iwlwifi: rename GEO_TX_POWER_LIMIT to PER_CHAIN_LIMIT_OFFSET_CMD (Íñigo Huguet) [2043453] - iwlwifi: mvm: d3: use internal data representation (Íñigo Huguet) [2043453] - iwlwifi: mvm: update RFI TLV (Íñigo Huguet) [2043453] - iwlwifi: mvm: don't get address of mvm->fwrt just to dereference as a pointer (Íñigo Huguet) [2043453] - iwlwifi: yoyo: support for ROM usniffer (Íñigo Huguet) [2043453] - iwlwifi: fw: uefi: add missing include guards (Íñigo Huguet) [2043453] - iwlwifi: dump host monitor data when NIC doesn't init (Íñigo Huguet) [2043453] - iwlwifi: pcie: simplify iwl_pci_find_dev_info() (Íñigo Huguet) [2043453] - iwlwifi: ACPI: support revision 3 WGDS tables (Íñigo Huguet) [2043453] - iwlwifi: pcie: update sw error interrupt for BZ family (Íñigo Huguet) [2043453] - iwlwifi: add new pci SoF with JF (Íñigo Huguet) [2043453] - iwlwifi: mvm: Use all Rx chains for roaming scan (Íñigo Huguet) [2043453] - iwlwifi: pcie: remove two duplicate PNJ device entries (Íñigo Huguet) [2043453] - iwlwifi: pcie: refactor dev_info lookup (Íñigo Huguet) [2043453] - iwlwifi: pcie: remove duplicate entry (Íñigo Huguet) [2043453] - iwlwifi: pcie: fix killer name matching for AX200 (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix some kerneldoc issues (Íñigo Huguet) [2043453] - ath10k: fix division by zero in send path (Íñigo Huguet) [2043453] - ath10k: fix control-message timeout (Íñigo Huguet) [2043453] - ath10k: fix module load regression with iram-recovery feature (Íñigo Huguet) [2043453] - ath10k: fix invalid dma_addr_t token assignment (Íñigo Huguet) [2043453] - ath11k: change return buffer manager for QCA6390 (Íñigo Huguet) [2043453] - mt76: connac: fix unresolved symbols when CONFIG_PM is unset (Íñigo Huguet) [2043453] - mt76: Make use of the helper macro kthread_run() (Íñigo Huguet) [2043453] - mt76: Print error message when reading EEPROM from mtd failed (Íñigo Huguet) [2043453] - mt76: mt7921: disable 4addr capability (Íñigo Huguet) [2043453] - mt76: mt7915: add debugfs knobs for MCU utilization (Íñigo Huguet) [2043453] - mt76: mt7915: add WA firmware log support (Íñigo Huguet) [2043453] - mt76: mt7915: fix endiannes warning mt7915_mcu_beacon_check_caps (Íñigo Huguet) [2043453] - mt76: mt7915: rework debugfs fixed-rate knob (Íñigo Huguet) [2043453] - mt76: mt7915: rework .set_bitrate_mask() to support more options (Íñigo Huguet) [2043453] - mt76: mt7915: remove mt7915_mcu_add_he() (Íñigo Huguet) [2043453] - mt76: mt7615: apply cached RF data for DBDC (Íñigo Huguet) [2043453] - mt76: mt7615: mt7622: fix ibss and meshpoint (Íñigo Huguet) [2043453] - mt76: mt7921: fix Wformat build warning (Íñigo Huguet) [2043453] - mt76: mt7921: fix mt7921s Kconfig (Íñigo Huguet) [2043453] - iwlwifi: pnvm: print out the version properly (Íñigo Huguet) [2043453] - iwlwifi: dbg: treat non active regions as unsupported regions (Íñigo Huguet) [2043453] - iwlwifi: mvm: Read acpi dsm to get channel activation bitmap (Íñigo Huguet) [2043453] - iwlwifi: add new device id 7F70 (Íñigo Huguet) [2043453] - iwlwifi: mvm: improve log when processing CSA (Íñigo Huguet) [2043453] - iwlwifi: mvm: set BT-coex high priority for 802.1X/4-way-HS (Íñigo Huguet) [2043453] - iwlwifi: dbg: treat dbgc allocation failure when tlv is missing (Íñigo Huguet) [2043453] - iwlwifi: add new killer devices to the driver (Íñigo Huguet) [2043453] - iwlwifi: mvm: set inactivity timeouts also for PS-poll (Íñigo Huguet) [2043453] - iwlwifi: pcie: try to grab NIC access early (Íñigo Huguet) [2043453] - iwlwifi: mvm: reduce WARN_ON() in TX status path (Íñigo Huguet) [2043453] - iwlwifi: allow rate-limited error messages (Íñigo Huguet) [2043453] - iwlwifi: mvm: remove session protection after auth/assoc (Íñigo Huguet) [2043453] - iwlwifi: remove redundant iwl_finish_nic_init() argument (Íñigo Huguet) [2043453] - iwlwifi: mvm: Add RTS and CTS flags to iwl_tx_cmd_flags. (Íñigo Huguet) [2043453] - iwlwifi: mvm: remove csi from iwl_mvm_pass_packet_to_mac80211() (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support new rate_n_flags for REPLY_RX_MPDU_CMD and RX_NO_DATA_NOTIF (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support new TX_RSP and COMPRESSED_BA_RES versions (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support new version of BEACON_TEMPLATE_CMD. (Íñigo Huguet) [2043453] - iwlwifi: mvm: Add support for new rate_n_flags in tx_cmd. (Íñigo Huguet) [2043453] - iwlwifi: BZ Family SW reset support (Íñigo Huguet) [2043453] - iwlwifi: BZ Family BUS_MASTER_DISABLE_REQ code duplication (Íñigo Huguet) [2043453] - iwlwifi: yoyo: fw debug config from context info and preset (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support new version of ranging response notification (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support version 3 of tlc_update_notif. (Íñigo Huguet) [2043453] - iwlwifi: mvm: convert old rate & flags to the new format. (Íñigo Huguet) [2043453] - iwlwifi: mvm: add definitions for new rate & flags (Íñigo Huguet) [2043453] - iwlwifi: mvm: update definitions due to new rate & flags (Íñigo Huguet) [2043453] - iwlwifi: mvm: scrub key material in firmware dumps (Íñigo Huguet) [2043453] - iwlwifi: parse debug exclude data from firmware file (Íñigo Huguet) [2043453] - iwlwifi: fw dump: add infrastructure for dump scrubbing (Íñigo Huguet) [2043453] - iwlwifi: mvm: correct sta-state logic for TDLS (Íñigo Huguet) [2043453] - iwlwifi: api: fix struct iwl_wowlan_status_v7 kernel-doc (Íñigo Huguet) [2043453] - iwlwifi: fix fw/img.c license statement (Íñigo Huguet) [2043453] - iwlwifi: remove contact information (Íñigo Huguet) [2043453] - iwlwifi: remove MODULE_AUTHOR() statements (Íñigo Huguet) [2043453] - iwlwifi: api: remove unused RX status bits (Íñigo Huguet) [2043453] - iwlwifi: add some missing kernel-doc in struct iwl_fw (Íñigo Huguet) [2043453] - iwlwifi: mvm: Remove antenna c references (Íñigo Huguet) [2043453] - iwlwifi: mvm: add support for 160Mhz in ranging measurements (Íñigo Huguet) [2043453] - iwlwifi: add vendor specific capabilities for some RFs (Íñigo Huguet) [2043453] - iwlwifi: mvm: add lmac/umac PC info in case of error (Íñigo Huguet) [2043453] - iwlwifi: mvm: disable RX-diversity in powersave (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix ieee80211_get_he_iftype_cap() iftype (Íñigo Huguet) [2043453] - iwlwifi: Start scratch debug register for Bz family (Íñigo Huguet) [2043453] - iwlwifi: Add support for more BZ HWs (Íñigo Huguet) [2043453] - iwlwifi: Add support for getting rf id with blank otp (Íñigo Huguet) [2043453] - cfg80211: fix kernel-doc for MBSSID EMA (Íñigo Huguet) [2043453] - mac80211: Prevent AP probing during suspend (Íñigo Huguet) [2043453] - nl80211: Add LC placeholder band definition to nl80211_band (Íñigo Huguet) [2043453] - mac80211: split beacon retrieval functions (Íñigo Huguet) [2043453] - cfg80211: separate get channel number from ies (Íñigo Huguet) [2043453] - mac80211: use ieee80211_bss_get_elem() in most places (Íñigo Huguet) [2043453] - cfg80211: scan: use element finding functions in easy cases (Íñigo Huguet) [2043453] - nl80211: use element finding functions (Íñigo Huguet) [2043453] - mac80211: fils: use cfg80211_find_ext_elem() (Íñigo Huguet) [2043453] - mac80211: fix memory leaks with element parsing (Íñigo Huguet) [2043453] - cfg80211: prepare for const netdev->dev_addr (Íñigo Huguet) [2043453] - mac80211: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - wireless: mac80211_hwsim: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - mac80211: debugfs: calculate free buffer size correctly (Íñigo Huguet) [2043453] - fq_codel: generalise ce_threshold marking for subset of traffic (Íñigo Huguet) [2043453] - wl3501_cs: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - ray_cs: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - brcmfmac: prepare for const netdev->dev_addr (Íñigo Huguet) [2043453] - wireless: use eth_hw_addr_set() instead of ether_addr_copy() (Íñigo Huguet) [2043453] - wireless: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - iwlwifi: cfg: set low-latency-xtal for some integrated So devices (Íñigo Huguet) [2043453] - iwlwifi: pnvm: read EFI data only if long enough (Íñigo Huguet) [2043453] - iwlwifi: pnvm: don't kmemdup() more than we have (Íñigo Huguet) [2043453] - iwlwifi: change all JnP to NO-160 configuration (Íñigo Huguet) [2043453] - iwlwifi: mvm: reset PM state on unsuccessful resume (Íñigo Huguet) [2043453] - mwifiex: Deactive host sleep using HSCFG after it was activated manually (Íñigo Huguet) [2043453] - mwifiex: Send DELBA requests according to spec (Íñigo Huguet) [2043453] - mwifiex: Fix an incorrect comment (Íñigo Huguet) [2043453] - mwifiex: Log an error on command failure during key-material upload (Íñigo Huguet) [2043453] - mwifiex: Don't log error on suspend if wake-on-wlan is disabled (Íñigo Huguet) [2043453] - mt76: mt7915: change max rx len limit of hw modules (Íñigo Huguet) [2043453] - mt76: mt7915: fix missing HE phy cap (Íñigo Huguet) [2043453] - mt76: mt7915: rework mt7915_mcu_sta_muru_tlv() (Íñigo Huguet) [2043453] - mt76: mt7915: enable HE UL MU-MIMO (Íñigo Huguet) [2043453] - mt76: mt7921: add per-vif counters in ethtool (Íñigo Huguet) [2043453] - mt76: mt7921: move tx amsdu stats in mib_stats (Íñigo Huguet) [2043453] - mt76: mt7921: add sta stats accounting in mt7921_mac_add_txs_skb (Íñigo Huguet) [2043453] - mt76: mt7921: introduce stats reporting through ethtool (Íñigo Huguet) [2043453] - mt76: mt7921: add some more MIB counters (Íñigo Huguet) [2043453] - mt76: do not reset MIB counters in get_stats callback (Íñigo Huguet) [2043453] - mt76: mt7915: move tx amsdu stats in mib_stats (Íñigo Huguet) [2043453] - mt76: mt7915: run mt7915_get_et_stats holding mt76 mutex (Íñigo Huguet) [2043453] - mt76: move mt76_ethtool_worker_info in mt76 module (Íñigo Huguet) [2043453] - mt76: move mt76_sta_stats in mt76.h (Íñigo Huguet) [2043453] - mt76: mt76x0: correct VHT MCS 8/9 tx power eeprom offset (Íñigo Huguet) [2043453] - mt76: mt7921s: add reset support (Íñigo Huguet) [2043453] - mt76: mt7921: introduce mt7921s support (Íñigo Huguet) [2043453] - mt76: mt7921: refactor mt7921_mcu_send_message (Íñigo Huguet) [2043453] - mt76: mt7921: rely on mcu_get_nic_capability (Íñigo Huguet) [2043453] - mt76: connac: extend mcu_get_nic_capability (Íñigo Huguet) [2043453] - mt76: sdio: extend sdio module to support CONNAC2 (Íñigo Huguet) [2043453] - mt76: sdio: introduce parse_irq callback (Íñigo Huguet) [2043453] - mt76: sdio: move common code in mt76_sdio module (Íñigo Huguet) [2043453] - mt76: mt7921: use physical addr to unify register access (Íñigo Huguet) [2043453] - mt76: mt7921: make all event parser reusable between mt7921s and mt7921e (Íñigo Huguet) [2043453] - mt76: mt7663s: rely on mcu reg access utility (Íñigo Huguet) [2043453] - mt76: connac: move mcu reg access utility routines in mt76_connac_lib module (Íñigo Huguet) [2043453] - mt76: mt7921: add MT7921_COMMON module (Íñigo Huguet) [2043453] - mt76: mt7921: refactor init.c to be bus independent (Íñigo Huguet) [2043453] - mt76: mt7921: refactor mcu.c to be bus independent (Íñigo Huguet) [2043453] - mt76: mt7921: refactor dma.c to be pcie specific (Íñigo Huguet) [2043453] - mt76: mt7921: refactor mac.c to be bus independent (Íñigo Huguet) [2043453] - mt76: mt7921: add MU EDCA cmd support (Íñigo Huguet) [2043453] - mt76: mt7915: remove dead code in debugfs code (Íñigo Huguet) [2043453] - mt76: sdio: export mt76s_alloc_rx_queue and mt76s_alloc_tx routines (Íñigo Huguet) [2043453] - mt76: mt7915: improve code readability for xmit-queue handler (Íñigo Huguet) [2043453] - mt76: mt7915: introduce mt76 debugfs sub-dir for ext-phy (Íñigo Huguet) [2043453] - mt76: rely on phy pointer in mt76_register_debugfs_fops routine signature (Íñigo Huguet) [2043453] - mt76: mt7915: set muru platform type (Íñigo Huguet) [2043453] - mt76: mt7915: set VTA bit in tx descriptor (Íñigo Huguet) [2043453] - mt76: mt7915: fix muar_idx in mt7915_mcu_alloc_sta_req() (Íñigo Huguet) [2043453] - mt76: mt7915: rework starec TLV tags (Íñigo Huguet) [2043453] - mt76: mt7915: fix sta_rec_wtbl tag len (Íñigo Huguet) [2043453] - mt76: mt7915: improve starec readability of txbf (Íñigo Huguet) [2043453] - mt76: mt7915: fix txbf starec TLV issues (Íñigo Huguet) [2043453] - mt76: mt7915: introduce mt7915_mcu_beacon_check_caps() (Íñigo Huguet) [2043453] - mt76: connac: fix possible NULL pointer dereference in mt76_connac_get_phy_mode_v2 (Íñigo Huguet) [2043453] - mt76: do not access 802.11 header in ccmp check for 802.3 rx skbs (Íñigo Huguet) [2043453] - mt76: use a separate CCMP PN receive counter for management frames (Íñigo Huguet) [2043453] - mt76: mt7921: add delay config for sched scan (Íñigo Huguet) [2043453] - mt76: mt7615: fix monitor mode tear down crash (Íñigo Huguet) [2043453] - mt76: debugfs: improve queue node readability (Íñigo Huguet) [2043453] - mt76: mt7915: add twt_stats knob in debugfs (Íñigo Huguet) [2043453] - mt76: mt7915: enable twt responder capability (Íñigo Huguet) [2043453] - mt76: mt7915: introduce mt7915_mac_add_twt_setup routine (Íñigo Huguet) [2043453] - mt76: mt7915: introduce mt7915_mcu_twt_agrt_update mcu command (Íñigo Huguet) [2043453] - mt76: mt7915: introduce __mt7915_get_tsf routine (Íñigo Huguet) [2043453] - mt76: drop MCU header size from buffer size in __mt76_mcu_send_firmware (Íñigo Huguet) [2043453] - mt76: introduce __mt76_mcu_send_firmware routine (Íñigo Huguet) [2043453] - mt76: support reading EEPROM data embedded in fdt (Íñigo Huguet) [2043453] - mt76: schedule status timeout at dma completion (Íñigo Huguet) [2043453] - mt76: substitute sk_buff_head status_list with spinlock_t status_lock (Íñigo Huguet) [2043453] - mt76: remove mt76_wcid pointer from mt76_tx_status_check signature (Íñigo Huguet) [2043453] - mt76: introduce packet_id idr (Íñigo Huguet) [2043453] - mt76: mt7921: add 6GHz support (Íñigo Huguet) [2043453] - mt76: add 6GHz support (Íñigo Huguet) [2043453] - mt76: connac: enable hw amsdu @ 6GHz (Íñigo Huguet) [2043453] - mt76: connac: add 6GHz support to mt76_connac_mcu_uni_add_bss (Íñigo Huguet) [2043453] - mt76: connac: add 6GHz support to mt76_connac_mcu_sta_tlv (Íñigo Huguet) [2043453] - mt76: connac: set 6G phymode in single-sku support (Íñigo Huguet) [2043453] - mt76: connac: add 6GHz support to mt76_connac_mcu_set_channel_domain (Íñigo Huguet) [2043453] - mt76: connac: enable 6GHz band for hw scan (Íñigo Huguet) [2043453] - mt76: connac: set 6G phymode in mt76_connac_get_phy_mode{,v2} (Íñigo Huguet) [2043453] - mt76: mt7915: add mib counters to ethtool stats (Íñigo Huguet) [2043453] - mt76: mt7915: add more MIB registers (Íñigo Huguet) [2043453] - mt76: mt7915: add tx mu/su counters to mib (Íñigo Huguet) [2043453] - mt76: mt7915: add some per-station tx stats to ethtool (Íñigo Huguet) [2043453] - mt76: mt7915: add tx stats gathered from tx-status callbacks (Íñigo Huguet) [2043453] - mt76: mt7915: add ethtool stats support (Íñigo Huguet) [2043453] - mt76: mt7921: fix retrying release semaphore without end (Íñigo Huguet) [2043453] - mt76: mt7921: robustify hardware initialization flow (Íñigo Huguet) [2043453] - mt76: mt7915: fix possible infinite loop release semaphore (Íñigo Huguet) [2043453] - mt76: mt7915: honor all possible error conditions in mt7915_mcu_init() (Íñigo Huguet) [2043453] - mt76: move spin_lock_bh to spin_lock in tasklet (Íñigo Huguet) [2043453] - mt76: mt7921: remove mt7921_sta_stats (Íñigo Huguet) [2043453] - mt76: mt7921: remove mcu rate reporting code (Íñigo Huguet) [2043453] - mt76: mt7921: report tx rate directly from tx status (Íñigo Huguet) [2043453] - mt76: mt7921: add support for tx status reporting (Íñigo Huguet) [2043453] - mt76: mt7921: start reworking tx rate reporting (Íñigo Huguet) [2043453] - mt76: mt7615: fix hwmon temp sensor mem use-after-free (Íñigo Huguet) [2043453] - mt76: mt7915: fix hwmon temp sensor mem use-after-free (Íñigo Huguet) [2043453] - mt76: mt7915: enable configured beacon tx rate (Íñigo Huguet) [2043453] - mt76: disable BH around napi_schedule() calls (Íñigo Huguet) [2043453] - mt76: fill boottime_ns in Rx path (Íñigo Huguet) [2043453] - mt76: switch from 'pci_' to 'dma_' API (Íñigo Huguet) [2043453] - mt76: fix boolreturn.cocci warnings (Íñigo Huguet) [2043453] - mt76: mt7921: update mib counters dumping phy stats (Íñigo Huguet) [2043453] - mt76: mt7921: always wake device if necessary in debugfs (Íñigo Huguet) [2043453] - mt76: mt7915: rename debugfs tx-queues (Íñigo Huguet) [2043453] - mt76: mt7915: rework debugfs queue info (Íñigo Huguet) [2043453] - mt76: mt7921: move mt7921_queue_rx_skb to mac.c (Íñigo Huguet) [2043453] - mt76: mt7915: fix WMM index on DBDC cards (Íñigo Huguet) [2043453] - mt76: mt7915: improve code readability in mt7915_mcu_sta_bfer_ht (Íñigo Huguet) [2043453] - mt76: mt7915: introduce bss coloring support (Íñigo Huguet) [2043453] - mt76: mt7915: add LED support (Íñigo Huguet) [2043453] - mt76: mt7915: fix potential NPE in TXS processing (Íñigo Huguet) [2043453] - mt76: mt7915: fix he_mcs capabilities for 160mhz (Íñigo Huguet) [2043453] - mt76: use IEEE80211_OFFLOAD_ENCAP_ENABLED instead of MT_DRV_AMSDU_OFFLOAD (Íñigo Huguet) [2043453] - mt76: mt7915: update mac timing settings (Íñigo Huguet) [2043453] - mt76: mt7921: fix endianness warnings in mt7921_mac_decode_he_mu_radiotap (Íñigo Huguet) [2043453] - mt76: mt7921: fix kernel warning from cfg80211_calculate_bitrate (Íñigo Huguet) [2043453] - mt76: mt7921: fix firmware usage of RA info using legacy rates (Íñigo Huguet) [2043453] - mt76: mt7915: add HE-LTF into fixed rate command (Íñigo Huguet) [2043453] - mt76: mt7921: report HE MU radiotap (Íñigo Huguet) [2043453] - mt76: mt7615: move mt7615_mcu_set_p2p_oppps in mt76_connac module (Íñigo Huguet) [2043453] - mt76: overwrite default reg_ops if necessary (Íñigo Huguet) [2043453] - mt76: mt7921: introduce mt7921_mcu_set_beacon_filter utility routine (Íñigo Huguet) [2043453] - mt76: mt7921: get rid of mt7921_mac_set_beacon_filter (Íñigo Huguet) [2043453] - mt76: mt7921: get rid of monitor_vif (Íñigo Huguet) [2043453] - mt76: connac: add support for limiting to maximum regulatory Tx power (Íñigo Huguet) [2043453] - mt76: connac: fix GTK rekey offload failure on WPA mixed mode (Íñigo Huguet) [2043453] - mt76: mt7921: fix dma hang in rmmod (Íñigo Huguet) [2043453] - mt76: add support for setting mcast rate (Íñigo Huguet) [2043453] - mt76: mt7915: fix bit fields for HT rate idx (Íñigo Huguet) [2043453] - mt76: mt7915: switch proper tx arbiter mode in testmode (Íñigo Huguet) [2043453] - mt76: mt7915: fix potential overflow of eeprom page index (Íñigo Huguet) [2043453] - mt76: mt7921: send EAPOL frames at lowest rate (Íñigo Huguet) [2043453] - mt76: mt7915: send EAPOL frames at lowest rate (Íñigo Huguet) [2043453] - mt76: mt7915: add control knobs for thermal throttling (Íñigo Huguet) [2043453] - mt76: mt7921: Add mt7922 support (Íñigo Huguet) [2043453] - mt76: mt7615: fix skb use-after-free on mac reset (Íñigo Huguet) [2043453] - mt76: mt7921: Fix out of order process by invalid event pkt (Íñigo Huguet) [2043453] - mt76: mt7915: fix mgmt frame using unexpected bitrate (Íñigo Huguet) [2043453] - mt76: mt7921: fix mgmt frame using unexpected bitrate (Íñigo Huguet) [2043453] - mt76: add mt76_default_basic_rate more devices can rely on (Íñigo Huguet) [2043453] - mt76: mt7921: introduce testmode support (Íñigo Huguet) [2043453] - mt76: mt7915: remove mt7915_sta_stats (Íñigo Huguet) [2043453] - mt76: mt7915: report tx rate directly from tx status (Íñigo Huguet) [2043453] - mt76: mt7915: cleanup -Wunused-but-set-variable (Íñigo Huguet) [2043453] - mt76: mt7915: take RCU read lock when calling ieee80211_bss_get_elem() (Íñigo Huguet) [2043453] - mt76: mt7915: fix an off-by-one bound check (Íñigo Huguet) [2043453] - mt76: mt7921: add .set_sar_specs support (Íñigo Huguet) [2043453] - mt76: mt7915: adapt new firmware to update BA winsize for Rx session (Íñigo Huguet) [2043453] - mt76: mt7915: report HE MU radiotap (Íñigo Huguet) [2043453] - mt76: mt76x02: fix endianness warnings in mt76x02_mac.c (Íñigo Huguet) [2043453] - mt76: mt7921: fix survey-dump reporting (Íñigo Huguet) [2043453] - mt76: fix build error implicit enumeration conversion (Íñigo Huguet) [2043453] - mt76: mt7921: enable aspm by default (Íñigo Huguet) [2043453] - mt76: connac: fix mt76_connac_gtk_rekey_tlv usage (Íñigo Huguet) [2043453] - mt76: mt7915: fix calling mt76_wcid_alloc with incorrect parameter (Íñigo Huguet) [2043453] - mt76: mt7915: fix info leak in mt7915_mcu_set_pre_cal() (Íñigo Huguet) [2043453] - mt76: mt7615: fix endianness warning in mt7615_mac_write_txwi (Íñigo Huguet) [2043453] - mt76: mt7921: fix endianness warning in mt7921_update_txs (Íñigo Huguet) [2043453] - mt76: mt7915: fix endianness warning in mt7915_mac_add_txs_skb (Íñigo Huguet) [2043453] - mt76: mt7921: avoid unnecessary spin_lock/spin_unlock in mt7921_mcu_tx_done_event (Íñigo Huguet) [2043453] - mt76: mt7921: fix endianness in mt7921_mcu_tx_done_event (Íñigo Huguet) [2043453] - mwifiex: Try waking the firmware until we get an interrupt (Íñigo Huguet) [2043453] - mwifiex: Read a PCI register after writing the TX ring write pointer (Íñigo Huguet) [2043453] - fq_codel: implement L4S style ce_threshold_ect1 marking (Íñigo Huguet) [2043453] - net: add skb_get_dsfield() helper (Íñigo Huguet) [2043453] - wireless: Remove redundant 'flush_workqueue()' calls (Íñigo Huguet) [2043453] - mt7601u: Remove redundant initialization of variable ret (Íñigo Huguet) [2043453] - rtlwifi: rtl8192ee: Remove redundant initialization of variable version (Íñigo Huguet) [2043453] - ath10k: fix max antenna gain unit (Íñigo Huguet) [2043453] - ath9k: fix an IS_ERR() vs NULL check (Íñigo Huguet) [2043453] - ath11k: Identify DFS channel when sending scan channel list command (Íñigo Huguet) [2043453] - ath9k: support DT ieee80211-freq-limit property to limit channels (Íñigo Huguet) [2043453] - ath11k: Change number of TCL rings to one for QCA6390 (Íñigo Huguet) [2043453] - ath11k: Handle MSI enablement during rmmod and SSR (Íñigo Huguet) [2043453] - ath: dfs_pattern_detector: Fix possible null-pointer dereference in channel_detector_create() (Íñigo Huguet) [2043453] - ath11k: Use kcalloc() instead of kzalloc() (Íñigo Huguet) [2043453] - ath11k: Remove redundant assignment to variable fw_size (Íñigo Huguet) [2043453] - ath11k: fix m68k and xtensa build failure in ath11k_peer_assoc_h_smps() (Íñigo Huguet) [2043453] - ath11k: Fix spelling mistake "incompaitiblity" -> "incompatibility" (Íñigo Huguet) [2043453] - ath11k: Remove unused variable in ath11k_dp_rx_mon_merg_msdus() (Íñigo Huguet) [2043453] - ath9k: Fix potential interrupt storm on queue reset (Íñigo Huguet) [2043453] - ath9k: add option to reset the wifi chip via debugfs (Íñigo Huguet) [2043453] - ath10k: Don't always treat modem stop events as crashes (Íñigo Huguet) [2043453] - rtl8xxxu: Use lower tx rates for the ack packet (Íñigo Huguet) [2043453] - brcmfmac: Add DMI nvram filename quirk for Cyberbook T116 tablet (Íñigo Huguet) [2043453] - rtw88: refine fw_crash debugfs to show non-zero while triggering (Íñigo Huguet) [2043453] - rtw88: fix RX clock gate setting while fifo dump (Íñigo Huguet) [2043453] - net: qrtr: combine nameservice into main module (Íñigo Huguet) [2043453] - ath10k: sdio: Add missing BH locking around napi_schdule() (Íñigo Huguet) [2043453] - ath10k: Fix missing frame timestamp for beacon/probe-resp (Íñigo Huguet) [2043453] - ath10k: high latency fixes for beacon buffer (Íñigo Huguet) [2043453] - ath11k: Change DMA_FROM_DEVICE to DMA_TO_DEVICE when map reinjected packets (Íñigo Huguet) [2043453] - ath11k: support SMPS configuration for 6 GHz (Íñigo Huguet) [2043453] - ath11k: add 6 GHz params in peer assoc command (Íñigo Huguet) [2043453] - ieee80211: Add new A-MPDU factor macro for HE 6 GHz peer caps (Íñigo Huguet) [2043453] - ath11k: indicate to mac80211 scan complete with aborted flag for ATH11K_SCAN_STARTING state (Íñigo Huguet) [2043453] - ath11k: indicate scan complete for scan canceled when scan running (Íñigo Huguet) [2043453] - ath11k: add handler for scan event WMI_SCAN_EVENT_DEQUEUED (Íñigo Huguet) [2043453] - ath11k: add HTT stats support for new stats (Íñigo Huguet) [2043453] - ath11k: Change masking and shifting in htt stats (Íñigo Huguet) [2043453] - ath11k: Remove htt stats fixed size array usage (Íñigo Huguet) [2043453] - ath11k: Replace HTT_DBG_OUT with scnprintf (Íñigo Huguet) [2043453] - ath11k: Rename macro ARRAY_TO_STRING to PRINT_ARRAY_TO_BUF (Íñigo Huguet) [2043453] - ath11k: Fix memory leak in ath11k_qmi_driver_event_work (Íñigo Huguet) [2043453] - ath11k: Fix inaccessible debug registers (Íñigo Huguet) [2043453] - ath11k: Drop MSDU with length error in DP rx path (Íñigo Huguet) [2043453] - ath11k: copy cap info of 6G band under WMI_HOST_WLAN_5G_CAP for WCN6855 (Íñigo Huguet) [2043453] - ath11k: enable 6G channels for WCN6855 (Íñigo Huguet) [2043453] - ath11k: re-enable ht_cap/vht_cap for 5G band for WCN6855 (Íñigo Huguet) [2043453] - ath11k: fix survey dump collection in 6 GHz (Íñigo Huguet) [2043453] - ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status (Íñigo Huguet) [2043453] - ath11k: add channel 2 into 6 GHz channel list (Íñigo Huguet) [2043453] - mac80211: MBSSID support in interface handling (Íñigo Huguet) [2043453] - ath11k: Add wmi peer create conf event in wmi_tlv_event_id (Íñigo Huguet) [2043453] - ath11k: Avoid "No VIF found" warning message (Íñigo Huguet) [2043453] - ath11k: Fix crash during firmware recovery on reo cmd ring access (Íñigo Huguet) [2043453] - ath11k: Assign free_vdev_map value before ieee80211_register_hw (Íñigo Huguet) [2043453] - ath11k: Add vdev start flag to disable hardware encryption (Íñigo Huguet) [2043453] - ath11k: Avoid race during regd updates (Íñigo Huguet) [2043453] - ath11k: Avoid reg rules update during firmware recovery (Íñigo Huguet) [2043453] - ath11k: Update pdev tx and rx firmware stats (Íñigo Huguet) [2043453] - ath11k: Fix pktlog lite rx events (Íñigo Huguet) [2043453] - ath11k: Add support for RX decapsulation offload (Íñigo Huguet) [2043453] - ath11k: fix some sleeping in atomic bugs (Íñigo Huguet) [2043453] - ath11k: qmi: avoid error messages when dma allocation fails (Íñigo Huguet) [2043453] - ath11k: Replace one-element array with flexible-array member (Íñigo Huguet) [2043453] - ath11k: add caldata download support from EEPROM (Íñigo Huguet) [2043453] - ath11k: add caldata file for multiple radios (Íñigo Huguet) [2043453] - ath11k: clean up BDF download functions (Íñigo Huguet) [2043453] - ath11k: use hw_params to access board_size and cal_offset (Íñigo Huguet) [2043453] - ath11k: Wstringop-overread warning (Íñigo Huguet) [2043453] - ath11k: Add spectral scan support for QCN9074 (Íñigo Huguet) [2043453] - ath11k: Fix the spectral minimum FFT bin count (Íñigo Huguet) [2043453] - ath11k: Introduce spectral hw configurable param (Íñigo Huguet) [2043453] - ath11k: Refactor spectral FFT bin size (Íñigo Huguet) [2043453] - ath11k: add support for 80P80 and 160 MHz bandwidth (Íñigo Huguet) [2043453] - ath11k: add support for setting fixed HE rate/gi/ltf (Íñigo Huguet) [2043453] - nl80211: MBSSID and EMA support in AP mode (Íñigo Huguet) [2043453] - nl80211: don't kfree() ERR_PTR() value (Íñigo Huguet) [2043453] - cfg80211: always free wiphy specific regdomain (Íñigo Huguet) [2043453] - mac80211: save transmit power envelope element and power constraint (Íñigo Huguet) [2043453] - mac80211: add parse regulatory info in 6 GHz operation information (Íñigo Huguet) [2043453] - ieee80211: add power type definition for 6 GHz (Íñigo Huguet) [2043453] - mac80211: twt: don't use potentially unaligned pointer (Íñigo Huguet) [2043453] - cfg80211: AP mode driver offload for FILS association crypto (Íñigo Huguet) [2043453] - ath11k: monitor mode clean up to use separate APIs (Íñigo Huguet) [2043453] - ath11k: add separate APIs for monitor mode (Íñigo Huguet) [2043453] - ath11k: move static function ath11k_mac_vdev_setup_sync to top (Íñigo Huguet) [2043453] - rtw88: 8821c: correct 2.4G tx power for type 2/4 NIC (Íñigo Huguet) [2043453] - rtw88: 8821c: support RFE type4 wifi NIC (Íñigo Huguet) [2043453] - brcmfmac: Replace zero-length array with flexible array member (Íñigo Huguet) [2043453] - mac80211_hwsim: enable 6GHz channels (Íñigo Huguet) [2043453] - mac80211: use ieee802_11_parse_elems() in ieee80211_prep_channel() (Íñigo Huguet) [2043453] - nl80211: don't put struct cfg80211_ap_settings on stack (Íñigo Huguet) [2043453] - mac80211: always allocate struct ieee802_11_elems (Íñigo Huguet) [2043453] - mac80211: mlme: find auth challenge directly (Íñigo Huguet) [2043453] - mac80211: move CRC into struct ieee802_11_elems (Íñigo Huguet) [2043453] - mac80211: mesh: clean up rx_bcn_presp API (Íñigo Huguet) [2043453] - mac80211: reduce stack usage in debugfs (Íñigo Huguet) [2043453] - nl80211: prefer struct_size over open coded arithmetic (Íñigo Huguet) [2043453] - mac80211: check hostapd configuration parsing twt requests (Íñigo Huguet) [2043453] - cfg80211: honour V=1 in certificate code generation (Íñigo Huguet) [2043453] - rt2x00: remove duplicate USB device ID (Íñigo Huguet) [2043453] - mwifiex: Fix copy-paste mistake when creating virtual interface (Íñigo Huguet) [2043453] - mwifiex: Properly initialize private structure on interface type changes (Íñigo Huguet) [2043453] - mwifiex: Handle interface type changes from AP to STATION (Íñigo Huguet) [2043453] - mwifiex: Allow switching interface type from P2P_CLIENT to P2P_GO (Íñigo Huguet) [2043453] - mwifiex: Update virtual interface counters right after setting bss_type (Íñigo Huguet) [2043453] - mwifiex: Use helper function for counting interface types (Íñigo Huguet) [2043453] - mwifiex: Run SET_BSS_MODE when changing from P2P to STATION vif-type (Íñigo Huguet) [2043453] - mwifiex: Use function to check whether interface type change is allowed (Íñigo Huguet) [2043453] - mwifiex: Small cleanup for handling virtual interface type changes (Íñigo Huguet) [2043453] - rtw88: move adaptivity mechanism to firmware (Íñigo Huguet) [2043453] - rtw88: support adaptivity for ETSI/JP DFS region (Íñigo Huguet) [2043453] - rtw88: add regulatory strategy by chip type (Íñigo Huguet) [2043453] - rtw88: upgrade rtw_regulatory mechanism and mapping (Íñigo Huguet) [2043453] - brcmfmac: fix incorrect error prints (Íñigo Huguet) [2043453] - ath11k: Align bss_chan_info structure with firmware (Íñigo Huguet) [2043453] - ath11k: add support in survey dump with bss_chan_info (Íñigo Huguet) [2043453] - ath11k: Rename atf_config to flag1 in target_resource_config (Íñigo Huguet) [2043453] - ath11k: fix 4addr multicast packet tx (Íñigo Huguet) [2043453] - ath11k: fix 4-addr tx failure for AP and STA modes (Íñigo Huguet) [2043453] - ath9k: owl-loader: fetch pci init values through nvmem (Íñigo Huguet) [2043453] - ath9k: fetch calibration data via nvmem subsystem (Íñigo Huguet) [2043453] - ath9k: Use tasklet_disable_in_atomic() (Íñigo Huguet) [2043453] - mt76: fix wrong conflict resolution in previous backport (Íñigo Huguet) [2043453] - mac80211: Allow HE operation to be longer than expected. (Íñigo Huguet) [2043453] - revert ath11k: add support for WCN6855 hw2.1 (Íñigo Huguet) [2043453] - RDMA/mlx5: Delete right entry from MR signature database (Amir Tzin) [1982191] - net/mlx5e: Fix select queue to consider SKBTX_HW_TSTAMP (Amir Tzin) [1982191] - net/mlx5e: Don't update netdev RQs with PTP-RQ (Amir Tzin) [1982191] - net/mlx5e: Fix an error code in mlx5e_arfs_create_tables() (Amir Tzin) [1982191] - net/mlx5e: Fix conflict with HW TS and CQE compression (Amir Tzin) [1982191] - net/mlx5e: Fix HW TS with CQE compression according to profile (Amir Tzin) [1982191] - mlx5e: add add missing BH locking around napi_schdule() (Amir Tzin) [1982191] - net/mlx5: Don't overwrite HCA capabilities when setting MSI-X count (Amir Tzin) [1982191] - net/mlx5: Fix err prints and return when creating termination table (Amir Tzin) [1982191] - RDMA/mlx5: Verify that DM operation is reasonable (Amir Tzin) [1982191] - RDMA/mlx5: Expose private query port (Amir Tzin) [1982191] - RDMA/mlx5: Fix type assignment for ICM DM (Amir Tzin) [1982191] - net/mlx5: DR, Add support for isolate_vl_tc QP (Amir Tzin) [1982191] - net/mlx5: DR, Add support for force-loopback QP (Amir Tzin) [1982191] - net/mlx5: DR, Add support for matching tunnel GTP-U (Amir Tzin) [1982191] - net/mlx5: DR, Set flex parser for TNL_MPLS dynamically (Amir Tzin) [1982191] - net/mlx5: DR, Add support for matching on geneve TLV option (Amir Tzin) [1982191] - net/mlx5: DR, Set STEv0 ICMP flex parser dynamically (Amir Tzin) [1982191] - net/mlx5: DR, Add support for dynamic flex parser (Amir Tzin) [1982191] - net/mlx5: DR, Remove protocol-specific flex_parser_3 definitions (Amir Tzin) [1982191] - net/mlx5: mlx5_ifc updates for flex parser (Amir Tzin) [1982191] - net/mlx5: E-Switch, Improve error messages in term table creation (Amir Tzin) [1982191] - net/mlx5: DR, Rename an argument in dr_rdma_segments (Amir Tzin) [1982191] - net/mlx5e: RX, Add checks for calculated Striding RQ attributes (Amir Tzin) [1982191] - net/mlx5e: Fix possible non-initialized struct usage (Amir Tzin) [1982191] - mlx5: implement ethtool standard stats (Amir Tzin) [1982191] - net/mlx5: Enhance diagnostics info for TX/RX reporters (Amir Tzin) [1982191] - net/mlx5: Add helper to initialize 1PPS (Amir Tzin) [1982191] - net/mlx5e: Add ethtool extended link state (Amir Tzin) [1982191 1982232] - net/mlx5: Add register layout to support extended link state (Amir Tzin) [1982191 1982232] - net/mlx5: Allocate FC bulk structs with kvzalloc() instead of kzalloc() (Amir Tzin) [1982191] - net/mlx5e: Cleanup safe switch channels API by passing params (Amir Tzin) [1982191] - net/mlx5e: Refactor on-the-fly configuration changes (Amir Tzin) [1982191] - net/mlx5e: Use mlx5e_safe_switch_channels when channels are closed (Amir Tzin) [1982191] - net/mlx5e: Allow mlx5e_safe_switch_channels to work with channels closed (Amir Tzin) [1982191] - mlx5: implement ethtool::get_fec_stats (Amir Tzin) [1982191] - net/mlx5e: Fix RQ creation flow for queues which doesn't support XDP (Amir Tzin) [1982191] - net/mlx5: Remove return statement exist at the end of void function (Amir Tzin) [1982191] - net/mlx5: Add a blank line after declarations (Amir Tzin) [1982191] - net/mlx5: DR, Alloc cmd buffer with kvzalloc() instead of kzalloc() (Amir Tzin) [1982191] - net/mlx5: DR, Use variably sized data structures for different actions (Amir Tzin) [1982191] - RDMA/mlx5: Expose UAPI to query DM (Amir Tzin) [1982191 1926606 1926603] - RDMA/mlx5: Add support in MEMIC operations (Amir Tzin) [1982191 1926606 1926603] - RDMA/mlx5: Add support to MODIFY_MEMIC command (Amir Tzin) [1982191 1926606 1926603] - RDMA/mlx5: Re-organize the DM code (Amir Tzin) [1982191 1926606 1926603] - RDMA/mlx5: Move all DM logic to separate file (Amir Tzin) [1982191 1926606 1926603] - net/mlx5: Add MEMIC operations related bits (Amir Tzin) [1982191 1926606 1926603] - net/mlx5: Add support for DSFP module EEPROM dumps (Amir Tzin) [1982191 1982233] - net/mlx5: Implement get_module_eeprom_by_page() (Amir Tzin) [1982191 1982233] - net/mlx5: Refactor module EEPROM query (Amir Tzin) [1982191 1982233] - IB/mlx5: Reduce max order of memory allocated for xlt update (Amir Tzin) [1982191] - net/mlx5: Implement sriov_get_vf_total_msix/count() callbacks (Amir Tzin) [1982191 1982230] - net/mlx5: Dynamically assign MSI-X vectors count (Amir Tzin) [1982191 1982230] - net/mlx5: Add dynamic MSI-X capabilities bits (Amir Tzin) [1982191 1982230] - net/mlx5e: Dynamic alloc vlan table for netdev when needed (Amir Tzin) [1982191] - net/mlx5e: Dynamic alloc arfs table for netdev when needed (Amir Tzin) [1982191] - net/mlx5: Use ida_alloc_range() instead of ida_simple_alloc() (Amir Tzin) [1982191] - net/mlx5e: Update ethtool setting of CQE compression (Amir Tzin) [1982191] - net/mlx5e: Allow coexistence of CQE compression and HW TS PTP (Amir Tzin) [1982191] - net/mlx5e: Add PTP Flow Steering support (Amir Tzin) [1982191] - net/mlx5e: Introduce Flow Steering ANY API (Amir Tzin) [1982191] - net/mlx5e: Introduce Flow Steering UDP API (Amir Tzin) [1982191] - net/mlx5e: Cleanup Flow Steering level (Amir Tzin) [1982191] - net/mlx5e: Add PTP RQ to RX reporter (Amir Tzin) [1982191] - net/mlx5e: Refactor RX reporter diagnostics (Amir Tzin) [1982191] - net:mlx5e: Add PTP-TIR and PTP-RQT (Amir Tzin) [1982191] - net/mlx5e: Add PTP-RX statistics (Amir Tzin) [1982191] - net/mlx5e: Add RQ to PTP channel (Amir Tzin) [1982191] - net/mlx5e: Add states to PTP channel (Amir Tzin) [1982191] - RDMA/mlx5: Set ODP caps only if device profile support ODP (Amir Tzin) [1982191] - net/mlx5e: Cleanup PTP (Amir Tzin) [1982191] - net/mlx5e: Generalize PTP implementation (Amir Tzin) [1982191] - net/mlx5e: Generalize direct-TIRs and direct-RQTs API (Amir Tzin) [1982191] - net/mlx5e: Generalize close RQ (Amir Tzin) [1982191] - net/mlx5e: Generalize RQ activation (Amir Tzin) [1982191] - net/mlx5e: Generalize open RQ (Amir Tzin) [1982191] - net/mlx5: Add helper to set time-stamp translator on a queue (Amir Tzin) [1982191] - net/mlx5e: Allow creating mpwqe info without channel (Amir Tzin) [1982191] - net/mlx5e: alloc the correct size for indirection_rqt (Amir Tzin) [1982191] - net: ethernet: indir_table.h is included twice (Amir Tzin) [1982191 1982195] - RDMA/mlx5: Create ODP EQ only when ODP MR is created (Amir Tzin) [1982191] - RDMA/mlx5: Add missing returned error check of mlx5_ib_dereg_mr (Amir Tzin) [1982191] - net/mlx5: Move devlink port from mlx5e priv to mlx5e resources (Amir Tzin) [1982191] - net/mlx5e: Allow to match on ICMP parameters (Amir Tzin) [1982191] - net/mlx5: Display the command index in command mailbox dump (Amir Tzin) [1982191] - net/mlx5e: allocate 'indirection_rqt' buffer dynamically (Amir Tzin) [1982191] - net/mlx5e: Dump ICOSQ WQE descriptor on CQE with error events (Amir Tzin) [1982191] - net/mlx5e: Use net_prefetchw instead of prefetchw in MPWQE TX datapath (Amir Tzin) [1982191] - net/mlx5e: Remove redundant newline in NL_SET_ERR_MSG_MOD (Amir Tzin) [1982191] - net/mlx5: Read congestion counters from all ports when lag is active (Amir Tzin) [1982191] - net/mlx5: remove unneeded semicolon (Amir Tzin) [1982191] - net/mlx5: DR, Remove unneeded rx_decap_l3 function for STEv1 (Amir Tzin) [1982191] - net/mlx5: Use order-0 allocations for EQs (Amir Tzin) [1982191] - net/mlx5: Add IFC bits needed for single FDB mode (Amir Tzin) [1982191] - net/mlx5: E-Switch, Refactor send to vport to be more generic (Amir Tzin) [1982191 1982195] - RDMA/mlx5: Use representor E-Switch when getting netdev and metadata (Amir Tzin) [1982191] - net/mlx5: E-Switch, Add eswitch pointer to each representor (Amir Tzin) [1982191 1982195] - net/mlx5: E-Switch, Add match on vhca id to default send rules (Amir Tzin) [1982191 1982195] - net/mlx5: Remove unused mlx5_core_health member recover_work (Amir Tzin) [1982191] - net/mlx5: simplify the return expression of mlx5_esw_offloads_pair() (Amir Tzin) [1982191 1982195] - net/mlx5: Cleanup prototype warning (Amir Tzin) [1982191] - RDMA/mlx5: Allow larger pages in DevX umem (Amir Tzin) [1982191] - RDMA/mlx5: Rename mlx5_mr_cache_invalidate() to revoke_mr() (Amir Tzin) [1982191] - RDMA/mlx5: Consolidate MR destruction to mlx5_ib_dereg_mr() (Amir Tzin) [1982191] - RDMA/mlx5: Use a union inside mlx5_ib_mr (Amir Tzin) [1982191] - platform/mellanox: mlxbf-tmfifo: Fix a memory barrier issue (Amir Tzin) [2018145] - mmc: dw_mmc-bluefield: : Fix the license information (Amir Tzin) [2018145] - mmc: dw_mmc-bluefield: simplify the probe() function (Amir Tzin) [2018145] - benet: mark device 0xe220 (Lancer) as deprecated (Michal Schmidt) [2054409] - myri10ge: mark as deprecated (Michal Schmidt) [2054409] - liquidio: mark as deprecated, not unmaintained (Michal Schmidt) [2054409] - netxen_nic: remove unmaintained mark, keep deprecated (Michal Schmidt) [2054409] - bnx2: mark as deprecated, not unmaintained (Michal Schmidt) [2054409] - SUNRPC: Don't dereference xprt->snd_task if it's a cookie (Dave Wysochanski) [2046545] - SUNRPC: Add source address/port to rpc_socket* traces (Dave Wysochanski) [2046545] - netfilter: conntrack: re-init state for retransmitted syn-ack (Florian Westphal) [2043093] - netfilter: conntrack: move synack init code to helper (Florian Westphal) [2043093]- ibmvnic: remove unused defines (Diego Domingos) [2047920] - ibmvnic: Update driver return codes (Diego Domingos) [2047920] - ARM: iop32x: disable N2100 PCI parity reporting (Josef Oskera) [2031880] - r8169: fix incorrect mac address assignment (Josef Oskera) [2031880] - r8169: Add device 10ec:8162 to driver r8169 (Josef Oskera) [2031880] - ethernet: r8169: use eth_hw_addr_set() (Josef Oskera) [2031880] - net: phy: realtek: add support for RTL8365MB-VC internal PHYs (Josef Oskera) [2031880] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Josef Oskera) [2031880] - r8169: enable ASPM L0s state (Josef Oskera) [2031880] - r8169: rename rtl_csi_access_enable to rtl_set_aspm_entry_latency (Josef Oskera) [2031880] - r8169: change the L0/L1 entrance latencies for RTL8106e (Josef Oskera) [2031880] - Revert "r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM" (Josef Oskera) [2031880] - r8169: Avoid duplicate sysfs entry creation error (Josef Oskera) [2031880] - r8169: Avoid memcpy() over-reading of ETH_SS_STATS (Josef Oskera) [2031880] - r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM (Josef Oskera) [2031880] - net: phy: realtek: net: Fix less than zero comparison of a u16 (Josef Oskera) [2031880] - net: phy: realtek: add delay to fix RXC generation issue (Josef Oskera) [2031880] - net: phy: realtek: add dt property to enable ALDPS mode (Josef Oskera) [2031880] - net: phy: realtek: add dt property to disable CLKOUT clock (Josef Oskera) [2031880] - r8169: Fix fall-through warning for Clang (Josef Oskera) [2031880] - r8169: use KBUILD_MODNAME instead of own module name definition (Josef Oskera) [2031880] - r8169: keep pause settings on interface down/up cycle (Josef Oskera) [2031880] - r8169: add support for pause ethtool ops (Josef Oskera) [2031880] - r8169: use mac-managed PHY PM (Josef Oskera) [2031880] - r8169: remove rtl_hw_start_8168c_3 (Josef Oskera) [2031880] - r8169: add support for ethtool get_ringparam (Josef Oskera) [2031880] - r8169: use lower_32_bits/upper_32_bits macros (Josef Oskera) [2031880] - net: phy: make PHY PM ops a no-op if MAC driver manages PHY PM (Josef Oskera) [2031880] - mm/gup: remove unused get_user_pages_locked() (Chris von Recklinghausen) [2048650] - mm: change lookup_node() to use get_user_pages_fast() (Chris von Recklinghausen) [2048650] - mm/gup: remove unused pin_user_pages_locked() (Chris von Recklinghausen) [2048650] - mm/gup: follow_pfn_pte(): -EEXIST cleanup (Chris von Recklinghausen) [2048650] - mm: fix invalid page pointer returned with FOLL_PIN gups (Chris von Recklinghausen) [2048650] - mm: fix typos in comments (Chris von Recklinghausen) [2048650] - vfio/iommu_type1: replace kfree with kvfree (Alex Williamson) [2046547] - vfio/pci: Fix error return code in vfio_ecap_init() (Alex Williamson) [2046547] - vfio/pci: Add missing range check in vfio_pci_mmap (Alex Williamson) [2046547] - vfio/mdev: Do not allow a mdev_type to have a NULL parent pointer (Alex Williamson) [2046547] - vfio/mdev: Make to_mdev_device() into a static inline (Alex Williamson) [2046547] - vfio/iommu_type1: Mantain a counter for non_pinned_groups (Alex Williamson) [2046547] - vfio/iommu_type1: Fix some sanity checks in detach group (Alex Williamson) [2046547] - vfio/iommu_type1: Populate full dirty when detach non-pinned group (Alex Williamson) [2046547] - vfio/pci: Move dummy_resources_list init in vfio_pci_probe() (Alex Williamson) [2046547] - vfio/virqfd: Drain events from eventfd in virqfd_wakeup() (Alex Williamson) [2046547] - ext4: fix direct I/O read error (Lukas Czerner) [1868258] - usb: xhci: Extend support for runtime power management for AMD's Yellow carp. (Renjith Pananchikkal) [2015775] - usb: xhci: Enable runtime-pm by default on AMD Yellow Carp platform (Renjith Pananchikkal) [2015775] - thunderbolt: Enable retry logic for intra-domain control packets (David Arcari) [2028287] - nvme-fabrics: fix state check in nvmf_ctlr_matches_baseopts() (Gopal Tiwari) [2043755] - smb3: do not error on fsync when readonly (Ronnie Sahlberg) [2037811] - cifs: serialize all mount attempts (Ronnie Sahlberg) [2008434] - ALSA: memalloc: Unify x86 SG-buffer handling (take#3) (Jaroslav Kysela) [2049437] - ALSA: usb-audio: add mapping for MSI MPG X570S Carbon Max Wifi. (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Drop CONFIG_PM ifdefs (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Fix dB level of Bose Revolve+ SoundLink (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Add minimal-mute notion in dB mapping table (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Use int for dB map values (Jaroslav Kysela) [2049437] - ALSA: hda/tegra: Fix Tegra194 HDA reset failure (Jaroslav Kysela) [2049437] - ALSA: hda/realtek: Use ALC285_FIXUP_HP_GPIO_LED on another HP laptop (Jaroslav Kysela) [2049437] - ALSA: hda: Add new AlderLake-P variant PCI ID (Jaroslav Kysela) [2049437] - ALSA: hda: Add AlderLake-N PCI ID (Jaroslav Kysela) [2049437] - ALSA: hda: use swap() to make code cleaner (Jaroslav Kysela) [2049437] - ALSA: Fix some typo (Jaroslav Kysela) [2049437] - ALSA: hda/hdmi: Consider ELD is invalid when no SAD is present (Jaroslav Kysela) [2049437] - ALSA: hda: Remove redundant runtime PM calls (Jaroslav Kysela) [2049437] - ALSA: hda: Do disconnect jacks at codec unbind (Jaroslav Kysela) [2049437] - ALSA: hda: intel: More comprehensive PM runtime setup for controller driver (Jaroslav Kysela) [2049437] - ASoC: SOF: Intel: fix build issue related to CODEC_PROBE_ENTRIES (Jaroslav Kysela) [2049437] - ASoC: cs42l42: Report initial jack state (Jaroslav Kysela) [2049437] - ALSA: hda/realtek: Re-order quirk entries for Lenovo (Jaroslav Kysela) [2049437] - ALSA: hda/realtek: Add quirk for Legion Y9000X 2020 (Jaroslav Kysela) [2049437] - ALSA: hda/realtek: Add speaker fixup for some Yoga 15ITL5 devices (Jaroslav Kysela) [2049437] - tools headers UAPI: Sync sound/asound.h with the kernel sources (Jaroslav Kysela) [2049437] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2049437] - tools include UAPI: Sync sound/asound.h copy (Jaroslav Kysela) [2049437] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2049437] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2049437] - ASoC: SOF: handle paused streams during system suspend (Jaroslav Kysela) [2049437] - ASoC: SOF: sof-audio: setup sched widgets during pipeline complete step (Jaroslav Kysela) [2049437] - ASoC: SOF: free widgets in sof_tear_down_pipelines() for static pipelines (Jaroslav Kysela) [2049437] - ALSA: hda/cs8409: Fix Jack detection after resume (Jaroslav Kysela) [2049437] - ALSA: hda/cs8409: Increase delay during jack detection (Jaroslav Kysela) [2049437] - ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master after reboot from Windows (Jaroslav Kysela) [2049437] - ASoC: Intel: catpt: Test dmaengine_submit() result before moving on (Jaroslav Kysela) [2049437] - ASoC: amd: Fix dependency for SPI master (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Drop superfluous '0' in Presonus Studio 1810c's ID (Jaroslav Kysela) [2049437] - ALSA: oss: fix compile error when OSS_DEBUG is enabled (Jaroslav Kysela) [2049437] - ALSA: hda: Make proper use of timecounter (Jaroslav Kysela) [2049437] - ALSA: led: Use restricted type for iface assignment (Jaroslav Kysela) [2049437] - ALSA: hda: Fix potential deadlock at codec unbinding (Jaroslav Kysela) [2049437] - ALSA: hda: Add missing rwsem around snd_ctl_remove() calls (Jaroslav Kysela) [2049437] - ALSA: PCM: Add missing rwsem around snd_ctl_remove() calls (Jaroslav Kysela) [2049437] - ALSA: jack: Add missing rwsem around snd_ctl_remove() calls (Jaroslav Kysela) [2049437] - ASoC: Intel: sof_sdw: fix jack detection on HP Spectre x360 convertible (Jaroslav Kysela) [2049437] - kernel: fork: properly initialize mm->mm_rh in dup_mm() and mm_alloc() (Rafael Aquini) [2047242] - vdpa/mlx5: Fix tracking of current number of VQs (Cindy Lu) [2052849] - vdpa/mlx5: Fix is_index_valid() to refer to features (Cindy Lu) [2052849] - vdpa: Protect vdpa reset with cf_mutex (Cindy Lu) [2052849] - vdpa: Avoid taking cf_mutex lock on get status (Cindy Lu) [2052849] - vdpa/vdpa_sim_net: Report max device capabilities (Cindy Lu) [2052849] - vdpa: Use BIT_ULL for bit operations (Cindy Lu) [2052849] - vdpa/vdpa_sim: Configure max supported virtqueues (Cindy Lu) [2052849] - vdpa/mlx5: Report max device capabilities (Cindy Lu) [2052849] - vdpa: Support reporting max device capabilities (Cindy Lu) [2052849] - vdpa/mlx5: Restore cur_num_vqs in case of failure in change_num_qps() (Cindy Lu) [2052849] - vdpa: Add support for returning device configuration information (Cindy Lu) [2052849] - vdpa/mlx5: Support configuring max data virtqueue (Cindy Lu) [2052849] - vdpa/mlx5: Fix config_attr_mask assignment (Cindy Lu) [2052849] - vdpa: Allow to configure max data virtqueues (Cindy Lu) [2052849] - vdpa: Read device configuration only if FEATURES_OK (Cindy Lu) [2052849] - vdpa: Sync calls set/get config/status with cf_mutex (Cindy Lu) [2052849] - vdpa/mlx5: Distribute RX virtqueues in RQT object (Cindy Lu) [2052849] - vdpa: Provide interface to read driver features (Cindy Lu) [2052849] - vdpa/mlx5: Fix wrong configuration of virtio_version_1_0 (Cindy Lu) [2052849] - vdpa: Mark vdpa_config_ops.get_vq_notification as optional (Cindy Lu) [2052849] - vdpa: Avoid duplicate call to vp_vdpa get_status (Cindy Lu) [2052849] - net/mlx5_vdpa: Offer VIRTIO_NET_F_MTU when setting MTU (Cindy Lu) [2052849] - vdpa: add driver_override support (Cindy Lu) [2052849] - docs: document sysfs ABI for vDPA bus (Cindy Lu) [2052849] - ifcvf/vDPA: fix misuse virtio-net device config size for blk dev (Cindy Lu) [2052849] - Revert "efi/libstub: arm64: Double check image alignment at entry" (Vitaly Kuznetsov) [2046303] - ethtool: ioctl: fix potential NULL deref in ethtool_set_coalesce() (William Zhao) [2046342] - cifs: Do not leak EDEADLK to dgetents64 for STATUS_USER_SESSION_DELETED (Ronnie Sahlberg) [1994393] - cifs: constify pathname arguments in a bunch of helpers (Ronnie Sahlberg) [1994393] - cgroup: Use open-time cgroup namespace for process migration perm checks (Chris von Recklinghausen) [2035766] - cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv (Chris von Recklinghausen) [2035766] - cgroup: Use open-time credentials for process migraton perm checks (Chris von Recklinghausen) [2035766] - cgroup: make per-cgroup pressure stall tracking configurable (Chris von Recklinghausen) [2035766] - powerpc/idle: Don't corrupt back chain when going idle (Laurent Vivier) [2052793] - powerpc64/idle: Fix SP offsets when saving GPRs (Laurent Vivier) [2052793] - sfc: ef10: implement ethtool::get_fec_stats (Íñigo Huguet) [2042798] - sfc: The RX page_ring is optional (Íñigo Huguet) [2042798] - sfc: Check null pointer of rx_queue->page_ring (Íñigo Huguet) [2042798] - sfc_ef100: potential dereference of null pointer (Íñigo Huguet) [2042798] - sfc: Don't use netif_info before net_device setup (Íñigo Huguet) [2042798] - sfc: Export fibre-specific supported link modes (Íñigo Huguet) [2042798] - sfc: Fix reading non-legacy supported link modes (Íñigo Huguet) [2042798] - ethernet: constify references to netdev->dev_addr in drivers (Íñigo Huguet) [2042798] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Íñigo Huguet) [2042798] - ethernet: use eth_hw_addr_set() (Íñigo Huguet) [2042798] - sfc: last resort fallback for lack of xdp tx queues (Íñigo Huguet) [2042798 1995444] - sfc: fallback for lack of xdp tx queues (Íñigo Huguet) [2042798 1995444] - ext4: fix potential uninitialized access to retval in kmmpd (Lukas Czerner) [2046355] - ext4: fix possible UAF when remounting r/o a mmp-protected file system (Lukas Czerner) [2046355] - ext4: fix memory leak in ext4_fill_super (Lukas Czerner) [2046355] - quota: check block number when reading the block in quota file (Lukas Czerner) [2046999] - quota: correct error number in free_dqentry() (Lukas Czerner) [2046999] - quota: Fix memory leak when handling corrupted quota file (Lukas Czerner) [2046999] - quota: Sanity-check quota file headers on load (Lukas Czerner) [2046999] - quota: clear padding in v2r1_mem2diskdqb() (Lukas Czerner) [2046999] - quota: Check that quota is not dirty before release (Lukas Czerner) [2046999] - quota: fix livelock in dquot_writeback_dquots (Lukas Czerner) [2046999] - ext4: fix e2fsprogs checksum failure for mounted filesystem (Lukas Czerner) [1937180] - ext4: prevent partial update of the extent blocks (Lukas Czerner) [2035877] - ext4: check for inconsistent extents between index and leaf block (Lukas Czerner) [2035877] - ext4: check for out-of-order index extents in ext4_valid_extent_entries() (Lukas Czerner) [2035877] - ext4: avoid trim error on fs with small groups (Lukas Czerner) [2046355] - ext4: fix null-ptr-deref in '__ext4_journal_ensure_credits' (Lukas Czerner) [2046355] - ext4: make sure to reset inode lockdep class when quota enabling fails (Lukas Czerner) [2046355] - ext4: make sure quota gets properly shutdown on error (Lukas Czerner) [2046355] - ext4: Fix BUG_ON in ext4_bread when write quota data (Lukas Czerner) [2046355] - ext4: refresh the ext4_ext_path struct after dropping i_data_sem. (Lukas Czerner) [2046355] - ext4: ensure enough credits in ext4_ext_shift_path_extents (Lukas Czerner) [2046355] - ext4: fix potential infinite loop in ext4_dx_readdir() (Lukas Czerner) [2046355] - ext4: fix loff_t overflow in ext4_max_bitmap_size() (Lukas Czerner) [2046355] - ext4: fix reserved space counter leakage (Lukas Czerner) [2046355] - ext4: fix race writing to an inline_data file while its xattrs are changing (Lukas Czerner) [2046355] - ext4: fix potential htree corruption when growing large_dir directories (Lukas Czerner) [2046355] - ext4: use ext4_grp_locked_error in mb_find_extent (Lukas Czerner) [2046355] - ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit (Lukas Czerner) [2046355] - ext4: remove check for zero nr_to_scan in ext4_es_scan() (Lukas Czerner) [2046355] - ext4: return error code when ext4_fill_flex_info() fails (Lukas Czerner) [2046355] - ext4: cleanup in-core orphan list if ext4_truncate() failed to get a transaction handle (Lukas Czerner) [2046355] - ext4: fix kernel infoleak via ext4_extent_header (Lukas Czerner) [2046355] - ext4: fix memory leak in ext4_fill_super (Lukas Czerner) [2046355] - ext4: fix bug on in ext4_es_cache_extent as ext4_split_extent_at failed (Lukas Czerner) [2046355] - ext4: fix error code in ext4_commit_super (Lukas Czerner) [2046355] - crash_core, vmcoreinfo: append 'SECTION_SIZE_BITS' to vmcoreinfo (Pingfan Liu) [2046631] - arm64/crash_core: Export TCR_EL1.T1SZ in vmcoreinfo (Pingfan Liu) [2046631] - arm64: kernel: arch_crash_save_vmcoreinfo() should depend on CONFIG_CRASH_CORE (Mark Salter) [2046631] - Revert "[arm64] arm64, vmcoreinfo : Append 'MAX_PHYSMEM_BITS' to vmcoreinfo" (Pingfan Liu) [2046631] - crash_core, vmcoreinfo: Append 'MAX_PHYSMEM_BITS' to vmcoreinfo (Pingfan Liu) [2046631] - ibmvnic: don't release napi in __ibmvnic_open() (Gustavo Walbon) [2051793]- EDAC/igen6: Add Intel Alder Lake SoC support (Aristeu Rozanski) [1971965 1783145] - EDAC/igen6: Add Intel Tiger Lake SoC support (Aristeu Rozanski) [1971965 1783145] - EDAC/igen6: Add Intel ICL-NNPI SoC support (Aristeu Rozanski) [1971965 1783145] - EDAC/i10nm: Add support for high bandwidth memory (Aristeu Rozanski) [1971965 1783145] - EDAC/i10nm: Add detection of memory levels for ICX/SPR servers (Aristeu Rozanski) [1971965 1783145] - EDAC/skx_common: Add new ADXL components for 2-level memory (Aristeu Rozanski) [1971965 1783145] - EDAC, skx: Retrieve and print retry_rd_err_log registers (Aristeu Rozanski) [1971965 1783145] - EDAC, skx_common: Refactor so that we initialize "dev" in result of adxl decode. (Aristeu Rozanski) [1971965 1783145] - selinux: parse contexts for mount options early (Scott Mayhew) [1984355] - selinux: try to use preparsed sid before calling parse_sid() (Scott Mayhew) [1984355] - selinux: Fix selinux_sb_mnt_opts_compat() (Scott Mayhew) [1984355] - selinux: access superblock_security_struct in LSM blob way (Scott Mayhew) [1984355] - selinux: minor tweaks to selinux_add_opt() (Scott Mayhew) [1984355] - selinux: fix potential memleak in selinux_add_opt() (Scott Mayhew) [1984355] - selinux: fix sleeping function called from invalid context (Scott Mayhew) [1984355] - LSM: Infrastructure management of the superblock (Scott Mayhew) [1984355] - selinux: drop super_block backpointer from superblock_security_struct (Scott Mayhew) [1984355] - selinux: remove redundant allocation and helper functions (Scott Mayhew) [1984355] - ath11k: add support for WCN6855 hw2.1 (Íñigo Huguet) [1970036 1988269] - ath11k: add string type to search board data in board-2.bin for WCN6855 (Íñigo Huguet) [1970036 1988269] - firmware: smccc: Fix check for ARCH_SOC_ID not implemented (Vitaly Kuznetsov) [2053450] - bpf, arm64: Use emit_addr_mov_i64() for BPF_PSEUDO_FUNC (Yauheni Kaliuta) [2051789] - bpf/selftests: disable a verifier test for powerpc (Viktor Malik) [2046032] - bpf/selftests: allow disabling verifier tests (Viktor Malik) [2046032] - vfs: check dentry is still valid in get_link() (Ian Kent) [2014846] - xfs: don't expose internal symlink metadata buffers to the vfs (Brian Foster) [2014846] - scsi: vmw_pvscsi: Set residual data length conditionally (Cathy Avery) [2052345] - scsi: mpt3sas: Fix incorrect system timestamp (Tomas Henzl) [2026212] - scsi: mpt3sas: Fix system going into read-only mode (Tomas Henzl) [2026212] - scsi: mpt3sas: Fix kernel panic during drive powercycle test (Tomas Henzl) [2026212] - scsi: mpt3sas: Clean up some inconsistent indenting (Tomas Henzl) [2026212] - scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state (Ewan D. Milne) [2028290] - blktrace: switch trace spinlock to a raw spinlock (Wander Lairson Costa) [1905749] - blktrace: Fix uaf in blk_trace access after removing by sysfs (Wander Lairson Costa) [1905749] - blk-wbt: export internal state via debugfs (Ming Lei) [2047313] - platform/x86: ISST: Fix optimization with use of numa (Prarit Bhargava) [2023820] - platform/x86: ISST: Use numa node id for cpu pci dev mapping (Prarit Bhargava) [2023818] - platform/x86: ISST: Optimize CPU to PCI device mapping (Prarit Bhargava) [2023818] - efi/x86: drop task_lock() from efi_switch_mm() (Fernando Pacheco) [2035415] - configs: enable LOGITECH_FF (Benjamin Tissoires) [1945987] - Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl (Benjamin Tissoires) [1974089] - Input: joydev - prevent potential read overflow in ioctl (Benjamin Tissoires) [1974089] - xfs: Fix CIL throttle hang when CIL space used going backwards (Thiago Becker) [2040371] - netfilter: nf_conntrack_netbios_ns: fix helper module alias (Florian Westphal) [2038015] - selftests: nft_concat_range: add test for reload with no element add/del (Florian Westphal) [2046309] - netfilter: fix regression in looped (broad|multi)cast's MAC handling (Florian Westphal) [2046309] - selftests: netfilter: Add correctness test for mac,net set type (Florian Westphal) [2046309] - netfilter: flowtable: fix IPv6 tunnel addr match (Florian Westphal) [2046309] - netfilter: conntrack: don't increment invalid counter on NF_REPEAT (Florian Westphal) [2046309] - netfilter: nft_set_pipapo: allocate pcpu scratch maps on clone (Florian Westphal) [2046309] - netfilter: nft_payload: do not update layer 4 checksum when mangling fragments (Florian Westphal) [2046309] - netfilter: ipvs: Fix reuse connection if RS weight is 0 (Florian Westphal) [2046309] - netfilter: ctnetlink: do not erase error code with EINVAL (Florian Westphal) [2046309] - netfilter: ctnetlink: fix filtering with CTA_TUPLE_REPLY (Florian Westphal) [2046309] - netfilter: nfnetlink_queue: fix OOB when mac header was cleared (Florian Westphal) [2046309] - netfilter: nft_dynset: relax superfluous check on set updates (Florian Westphal) [2046309] - netfilter: use kvmalloc_array to allocate memory for hashtable (Phil Sutter) [2001762] - netfilter: nf_tables: skip netdev events generated on netns removal (Phil Sutter) [2053436] - xfrm: add state hashtable keyed by seq (Sabrina Dubroca) [1926538]- cgroup/cpuset: Fix "suspicious RCU usage" lockdep warning (Waiman Long) [2050418] - cpuset: Fix the bug that subpart_cpus updated wrongly in update_cpumask() (Waiman Long) [2050418] - IB/rdmavt: Validate remote_addr during loopback atomic tests (Kamal Heib) [2033480] - in wb_init, use gfp instead of GFP_KERNEL when allocating bw_dwork (Chris von Recklinghausen) [2046179] - scsi: bnx2fc: Make bnx2fc_recv_frame() mp safe (John Meneghini) [2051691] - scsi: bnx2fc: Flush destroy_work queue before calling bnx2fc_interface_put() (John Meneghini) [1973208] - nvme: drop unused variable ctrl in nvme_setup_cmd (John Meneghini) [2033384] - nvme: increment request genctr on completion (John Meneghini) [2033384] - nvme-pci: Fix abort command id (John Meneghini) [2033384] - nvme: add command id quirk for apple controllers (John Meneghini) [2033384] - nvme: move nvme_multi_css into nvme.h (John Meneghini) [2033384] - nvme: code command_id with a genctr for use-after-free validation (John Meneghini) [2033384] - nvme-pci: limit maximum queue depth to 4095 (John Meneghini) [2033384] - params: lift param_set_uint_minmax to common code (John Meneghini) [2033384] - CI: Enable baseline realtime checks (Veronika Kabatova) - CI: Rename pipelines to include release names (Veronika Kabatova) - sched/pelt: Relax the sync of load_sum with load_avg (Phil Auld) [2037123] - sched/pelt: Relax the sync of runnable_sum with runnable_avg (Phil Auld) [2037123] - sched/pelt: Continue to relax the sync of util_sum with util_avg (Phil Auld) [2037123] - sched/pelt: Relax the sync of util_sum with util_avg (Phil Auld) [2037123] - cifs: fix memory leak of smb3_fs_context_dup::server_hostname (Ronnie Sahlberg) [2044670] - cifs: To match file servers, make sure the server hostname matches (Ronnie Sahlberg) [2044670] - perf/x86/intel/uncore: Fix Intel SPR M3UPI event constraints (Michael Petlan) [1837402] - perf/x86/intel/uncore: Fix Intel SPR M2PCIE event constraints (Michael Petlan) [1837402] - perf/x86/intel/uncore: Fix Intel SPR IIO event constraints (Michael Petlan) [1837402] - perf/x86/intel/uncore: Fix Intel SPR CHA event constraints (Michael Petlan) [1837402] - perf/x86/intel/uncore: Support IMC free-running counters on Sapphire Rapids server (Michael Petlan) [1837402] - perf/x86/intel/uncore: Support IIO free-running counters on Sapphire Rapids server (Michael Petlan) [1837402] - perf/x86/intel/uncore: Factor out snr_uncore_mmio_map() (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add alias PMU name (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server MDF support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server M3UPI support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server UPI support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server M2M support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server IMC support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server PCU support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server M2PCIe support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server IRP support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server IIO support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server CHA support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server framework (Michael Petlan) [1837402] - ovl: fix deadlock in splice write (Miklos Szeredi) [2028998] - selinux: fix NULL-pointer dereference when hashtab allocation fails (Ondrej Mosnacek) [2021467] - selinux: fix double free of cond_list on error paths (Ondrej Mosnacek) [2043605] - ibmvnic: remove unused ->wait_capability (Diego Domingos) [2049368] - ibmvnic: don't spin in tasklet (Diego Domingos) [2049368] - ibmvnic: init ->running_cap_crqs early (Diego Domingos) [2049368] - ibmvnic: Allow extra failures before disabling (Diego Domingos) [2049368] - hpsa: add new messaging (Tomas Henzl) [1801777] - aacraid: add new messaging (Tomas Henzl) [2044365] - Revert "[scsi] Revert "[scsi] aacraid: add removed id table"" (Tomas Henzl) [2044365] - mpt3sas: Add new messaging (Tomas Henzl) [2044366] - Revert "[scsi] mpt*: remove certain deprecated pci-ids" (Tomas Henzl) [2044366] - mptsas: add new messaging (Tomas Henzl) [2044366] - sctp: hold endpoint before calling cb in sctp_transport_lookup_process (Xin Long) [2043822] - sctp: use call_rcu to free endpoint (Xin Long) [2043822] - sctp: move hlist_node and hashent out of sctp_ep_common (Xin Long) [2043822] - net: Use nlmsg_unicast() instead of netlink_unicast() (Xin Long) [2043822] - video: hyperv_fb: Fix validation of screen resolution (Mohammed Gamal) [1952821] - powerpc/pseries: extract host bridge from pci_bus prior to bus removal (Diego Domingos) [2051509] - dm: properly fix redundant bio-based IO accounting (Mike Snitzer) [2051803] - dm: revert partial fix for redundant bio-based IO accounting (Mike Snitzer) [2051803] - block: add bio_start_io_acct_time() to control start_time (Mike Snitzer) [2051803] - block: document iostat changes for disk busy time accounting (Mike Snitzer) [2051803]- tee: optee: Fix incorrect page free bug (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: handle lookup of shm with reference count 0 (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: smc_abi.c: add missing #include (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: isolate smc abi (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: refactor driver with internal callbacks (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: simplify optee_release() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Fix missing devices unregister during optee_remove (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee/optee/shm_pool: fix application of sizeof to pointer (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: add tee_shm_alloc_kernel_buf() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: Clear stale cache entries during initialization (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: fix tee out of memory failure seen during kexec reboot (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: Refuse to load the driver under the kdump kernel (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: Fix memory leak when failing to register shm pages (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: use export_uuid() to copy client UUID (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: do not check memref size on return from Secure World (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: fix build error caused by recent optee tracepoints feature (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: add invoke_fn tracepoints (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: simplify i2c access (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: remove need_resched() before cond_resched() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: sync OP-TEE headers (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: replace might_sleep with cond_resched (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - drivers: optee: fix i2c build issue (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: convert get_user_pages() --> pin_user_pages() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - drivers: optee: allow op-tee to access devices on the i2c bus (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - driver: tee: Handle NULL pointer indication from client (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: enable support for multi-stage bus enumeration (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: use uuid for sysfs driver entry (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Add support for session login client UUID generation (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: enable support to register kernel memory (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: remove unnecessary NULL check in tee_shm_alloc() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: don't assign shm id for private shms (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: remove unused tee_shm_priv_alloc() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: tee_shm_op_mmap(): use TEE_SHM_USER_MAPPED (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: remove redundant teedev in struct tee_shm (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: remove linked list of struct tee_shm (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: Fix multi page dynamic shm pool alloc (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: model OP-TEE as a platform device/driver (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: fix device enumeration error handling (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Fix dynamic shm pool allocations (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee/shm: untag user pointers in tee_shm_register (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: add might_sleep for RPC requests (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: allow to work without static shared memory (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: update optee_msg.h and optee_smc.h to dual license (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: add missing of_node_put after of_device_is_available (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Fix unsigned comparison with less than zero (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: fix possible error pointer ctx dereferencing (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Initialize some structs using memset instead of braces (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: add TEE bus device enumeration support (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: add supp_nowait flag in tee_context struct (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: log message if dynamic shm is enabled (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: add kernel internal client interface (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: take DT status property into account (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: making OPTEE_SHM_NUM_PRIV_PAGES configurable via Kconfig (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - x86/mce: Add Xeon Sapphire Rapids to list of CPUs that support PPIN (David Arcari) [2035286] - regset: kill ->get() (Prarit Bhargava) [2032854] - arm64: switch to ->regset_get() (Prarit Bhargava) [2032854] - arm64: take fetching compat reg out of pt_regs into a new helper (Prarit Bhargava) [2032854] - powerpc: switch to ->regset_get() (Prarit Bhargava) [2032854] - s390: switch to ->regset_get() (Prarit Bhargava) [2032854] - introduction of regset ->get() wrappers, switching ELF coredumps to those (Prarit Bhargava) [2032854] - mm/page_alloc.c: do not warn allocation failure on zone DMA if no managed pages (Baoquan He) [2024011] - dma/pool: create dma atomic pool only if dma zone has managed pages (Baoquan He) [2024011] - mm_zone: add function to check if managed dma zone exists (Baoquan He) [2024011] - tipc: discard MSG_CRYPTO msgs when key_exchange_enabled is not set (Xin Long) [2043825] - tipc: delete the unlikely branch in tipc_aead_encrypt (Xin Long) [2043825] - tipc: check for null after calling kmemdup (Xin Long) [2043825] - tipc: only accept encrypted MSG_CRYPTO msgs (Xin Long) [2043825] - powerpc/pseries: use slab context cpumask allocation in CPU hotplug init (Waiman Long) [2048220] - powerpc/pseries: Fix build error when NUMA=n (Waiman Long) [2048220] - lpfc: Add new messaging (Ewan D. Milne) [1841323] - cpu/hotplug: Cure the cpusets trainwreck (Phil Auld) [1904593] - scsi: ses: Fix unsigned comparison with less than zero (Tomas Henzl) [1995086] - scsi: ses: Retry failed Send/Receive Diagnostic commands (Tomas Henzl) [1995086] - serial: exar: Fix GPIO configuration for Sealevel cards based on XR17V35X (John W. Linville) [2022906] - PCI: vmd: Add indirection layer to vmd irq lists (Scott Wood) [2048202] - redhat/configs: Enable CONFIG_PCI_HYPERV on Aarch64 (Vitaly Kuznetsov) [2024853] - PCI: hv: Add arm64 Hyper-V vPCI support (Vitaly Kuznetsov) [2024853] - PCI: hv: Make the code arch neutral by adding arch specific interfaces (Vitaly Kuznetsov) [2024853] - PCI: hv: Remove unnecessary use of hx (Vitaly Kuznetsov) [2024853] - nvme-rdma: fix possible use-after-free in transport error_recovery work (Chris Leech) [1988361] - nvme-tcp: fix possible use-after-free in transport error_recovery work (Chris Leech) [1988361] - nvme: fix a possible use-after-free in controller reset during load (Chris Leech) [1988361] - ipv6: check return value of ipv6_skip_exthdr (Sabrina Dubroca) [2046234] - selftests: Calculate udpgso segment count without header adjustment (Xin Long) [2044133] - udp: using datalen to cap ipv6 udp max gso segments (Xin Long) [2044133] - inet_diag: fix kernel-infoleak for UDP sockets (Xin Long) [2044133] - udp: using datalen to cap max gso segments (Xin Long) [2044133] - [s390] s390/cpumf: Support for CPU Measurement Facility CSVN 7 (Mete Durlu) [2048980] - [s390] s390/cpumf: Support for CPU Measurement Sampling Facility LS bit (Mete Durlu) [2048980] - tools/power/x86/intel-speed-select: v1.10 release (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Fix uncore memory frequency display (Prarit Bhargava) [2023909] - platform/x86: ISST: Account for increased timeout in some cases (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Add options to force online (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Drop __DATE__ and __TIME__ macros (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: v1.9 release (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Process mailbox read error for core-power (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Increase string size (Prarit Bhargava) [2023909] - qla2xxx: Add new messaging (Ewan D. Milne) [1900072]- platform/x86: amd-pmc: only use callbacks for suspend (David Arcari) [2016039] - platform/x86: amd-pmc: Add support for AMD Smart Trace Buffer (David Arcari) [2016039] - platform/x86: amd-pmc: Simplify error handling and store the pci_dev in amd_pmc_dev structure (David Arcari) [2016039] - platform/x86: amd-pmc: Fix s2idle failures on certain AMD laptops (David Arcari) [2016039] - platform/x86: amd-pmc: Make CONFIG_AMD_PMC depend on RTC_CLASS (David Arcari) [2016039] - platform/x86: amd-pmc: Drop check for valid alarm time (David Arcari) [2016039] - platform/x86: amd-pmc: Downgrade dev_info message to dev_dbg (David Arcari) [2016039] - platform/x86: amd-pmc: fix compilation without CONFIG_RTC_SYSTOHC_DEVICE (David Arcari) [2016039] - platform/x86: amd-pmc: Add special handling for timer based S0i3 wakeup (David Arcari) [2016039] - platform/x86: amd-pmc: adjust arguments for `amd_pmc_send_cmd` (David Arcari) [2016039] - platform/x86: amd-pmc: Add alternative acpi id for PMC controller (David Arcari) [2016039] - platform/x86: amd-pmc: Add a message to print resume time info (David Arcari) [2016039] - platform/x86: amd-pmc: Send command to dump data after clearing OS_HINT (David Arcari) [2016039] - platform/x86: amd-pmc: Fix compilation when CONFIG_DEBUGFS is disabled (David Arcari) [2016039] - platform/x86: amd-pmc: Export Idlemask values based on the APU (David Arcari) [2016039] - platform/x86: amd-pmc: Check s0i3 cycle status (David Arcari) [2016039] - scsi: lpfc: Fix non-recovery of remote ports following an unsolicited LOGO (Dick Kennedy) [2027558] - sch_api: Don't skip qdisc attach on ingress (Davide Caratti) [2044806] - sch_qfq: prevent shift-out-of-bounds in qfq_init_qdisc (Davide Caratti) [2044806] - flow_offload: return EOPNOTSUPP for the unsupported mpls action type (Davide Caratti) [2044806] - selftests: bpf: Less strict size check in sockopt_sk (Felix Maurer) [2025809] - net-zerocopy: Fast return if inq < PAGE_SIZE (Felix Maurer) [2025809] - tcp: Fix sign comparison bug in getsockopt(TCP_ZEROCOPY_RECEIVE) (Felix Maurer) [2025809] - tcp-zerocopy: Ensure excess getsockopt buffer is zeroed (Felix Maurer) [2025809] - tcp-zerocopy: Update returned getsockopt() optlen. (Felix Maurer) [2025809] - tcp-zerocopy: Fix getsockopt buffer size check (Felix Maurer) [2025809] - gre: Don't accidentally set RTO_ONLINK in gre_fill_metadata_dst() (Guillaume Nault) [2046339] - net: fix use-after-free in tw_timer_handler (Guillaume Nault) [2046339] - ALSA: core: Fix SSID quirk lookup for subvendor=0 (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Restore hardware state on runtime PM resume (Jaroslav Kysela) [2003613] - ALSA: RHEL - update kernel configs for RHEL 8.6 (Jaroslav Kysela) [2003613] - ASoC: remove module namespaces (Jaroslav Kysela) [2003613] - ASoC: codecs: rt5682(s): use the older clock API calls, but keep some modern (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: Cleanup logging (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: Use snd_soc_jack to report jack events (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: convert into a helper library for codec drivers (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: Use arizona->dev for runtime-pm (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: Move jack-detect variables to struct arizona_priv (Jaroslav Kysela) [2003613] - ASoC/extcon: arizona: Move arizona jack code to sound/soc/codecs/arizona-jack.c (Jaroslav Kysela) [2003613] - extcon: arizona: Always use pm_runtime_get_sync() when we need the device to be awake (Jaroslav Kysela) [2003613] - extcon: arizona: Fix flags parameter to the gpiod_get("wlf,micd-pol") call (Jaroslav Kysela) [2003613] - extcon: arizona: Fix various races on driver unbind (Jaroslav Kysela) [2003613] - extcon: arizona: Fix some issues when HPDET IRQ fires after the jack has been unplugged (Jaroslav Kysela) [2003613] - extcon: arizona: Fix runtime PM imbalance on error (Jaroslav Kysela) [2003613] - extcon: arizona: Factor out microphone and button detection (Jaroslav Kysela) [2003613] - extcon: arizona: Factor out microphone impedance into a function (Jaroslav Kysela) [2003613] - extcon: arizona: Invert logic of check in arizona_hpdet_do_id (Jaroslav Kysela) [2003613] - extcon: arizona: Remove excessive WARN_ON (Jaroslav Kysela) [2003613] - extcon: arizona: Remove unnecessary sets of ACCDET_MODE (Jaroslav Kysela) [2003613] - extcon: arizona: Tidy up transition from mic to headphone detect (Jaroslav Kysela) [2003613] - extcon: arizona: Clear jack status regardless of detection type (Jaroslav Kysela) [2003613] - extcon: arizona: Move pdata extraction to probe (Jaroslav Kysela) [2003613] - extcon: arizona: Make rev A register sequences atomic (Jaroslav Kysela) [2003613] - extcon: arizona: Correct clean up if arizona_identify_headphone fails (Jaroslav Kysela) [2003613] - extcon: arizona: Switch to use device_property_count_u32() (Jaroslav Kysela) [2003613] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Jaroslav Kysela) [2003613] - extcon: arizona: Correct error handling on regmap_update_bits_check (Jaroslav Kysela) [2003613] - extcon: arizona: Disable mic detect if running when driver is removed (Jaroslav Kysela) [2003613] - mfd: arizona: Fix rumtime PM imbalance on error (Jaroslav Kysela) [2003613] - mfd: arizona: Split of_match table into I2C and SPI versions (Jaroslav Kysela) [2003613] - mfd: arizona: Make some symbols static (Jaroslav Kysela) [2003613] - mfd: arizona: Add support for ACPI enumeration of WM5102 connected over SPI (Jaroslav Kysela) [2003613] - mfd: arizona: Add MODULE_SOFTDEP("pre: arizona_ldo1") (Jaroslav Kysela) [2003613] - mfd: arizona: Drop arizona-extcon cells (Jaroslav Kysela) [2003613] - mfd: arizona: Replace arizona_of_get_type() with device_get_match_data() (Jaroslav Kysela) [2003613] - mfd: arizona: Ensure 32k clock is put on driver unbind and error (Jaroslav Kysela) [2003613] - mfd: arizona: Remove BUG_ON usage (Jaroslav Kysela) [2003613] - mfd: arizona: Switch to using devm_gpiod_get() (Jaroslav Kysela) [2003613] - mfd: arizona: Fix undefined behavior (Jaroslav Kysela) [2003613] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jaroslav Kysela) [2003613] - mfd: arizona: Correct calling of runtime_put_sync (Jaroslav Kysela) [2003613] - mfd: arizona: Don't use regmap_read_poll_timeout (Jaroslav Kysela) [2003613] - clkdev: Hold clocks_mutex while iterating clocks list (Jaroslav Kysela) [2003613] - clkdev: add managed clkdev lookup registration (Jaroslav Kysela) [2003613] - genirq: Add IRQF_NO_AUTOEN for request_irq/nmi() (Jaroslav Kysela) [2003613] - ALSA: es1688: Avoid devres management for es1688 object creation (Jaroslav Kysela) [2003613] - ALSA: gus: Fix repeated probes of snd_gus_create() (Jaroslav Kysela) [2003613] - ALSA: x86: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: x86: simplify with sync_stop PCM ops (Jaroslav Kysela) [2003613] - ALSA: x86: fix spelling mistakes (Jaroslav Kysela) [2003613] - ALSA: virtio: Replace zero-length array with flexible-array member (Jaroslav Kysela) [2003613] - ALSA: emux: fix spelling mistakes (Jaroslav Kysela) [2003613] - ALSA: synth: missing check for possible NULL after the call to kstrdup (Jaroslav Kysela) [2003613] - ALSA: synth: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: sparc: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ASoC: tegra: Set driver name explicitly (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Remove handing of disabled runtime PM (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Use devm_clk_get() (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Correct driver removal order (Jaroslav Kysela) [2003613] - ASoC: tegra20: spdif: Remove handing of disabled runtime PM (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Remove handing of disabled runtime PM (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Use devm_clk_get() (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Add system level suspend-resume callbacks (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Add reset control (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Correct driver removal order (Jaroslav Kysela) [2003613] - ASoC: tegra: tegra20_das: align function prototypes (Jaroslav Kysela) [2003613] - ASoC: tegra: tegra20_das: clarify expression (Jaroslav Kysela) [2003613] - ASoC: tegra: remove unneeded semicolon (Jaroslav Kysela) [2003613] - ASoC: tegra: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [2003613] - ASoC: tegra20: ac97: Add reset control (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add support for SoundWire of TGL-H-RVP (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add mutual exclusion between PCH DMIC and RT715 (Jaroslav Kysela) [2003613] - ASoC: codecs: wsa881x: fix return values from kcontrol put (Jaroslav Kysela) [2003613] - ASoc: wm8731: Drop empty spi_driver remove callback (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: channel -> channels rename (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: Fix TAS2505/TAS2521 channel count (Jaroslav Kysela) [2003613] - ASoC: wcd9335: Disable irq on slave ports in the remove function (Jaroslav Kysela) [2003613] - ASoC: wcd9335: Fix a double irq free in the remove function (Jaroslav Kysela) [2003613] - ASoC: wcd9335: Fix a memory leak in the error handling path of the probe function (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: make array clocks static, makes object smaller (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: Fix TAS2505/TAS2521 processing block selection (Jaroslav Kysela) [2003613] - ASoC: da7218: Drop CONFIG_OF ifdef (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: Fix TAS2505 volume controls (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: Make aic32x4_remove() return void (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: add support for TAS2505 (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: add type to device private data struct (Jaroslav Kysela) [2003613] - ASoC: tlv320aic31xx: fix reversed bclk/wclk master bits (Jaroslav Kysela) [2003613] - ASoC: tlv320aic31xx: Fix jack detection after suspend (Jaroslav Kysela) [2003613] - ASoC: tlv320aic31xx: Make regmap cache only on probe() (Jaroslav Kysela) [2003613] - ASoC: sigmadsp: Remove the repeated declaration (Jaroslav Kysela) [2003613] - ASoC: rt286: Remove redundant assignment to d_len_code (Jaroslav Kysela) [2003613] - ASoC: codecs: rt1019: clarify expression (Jaroslav Kysela) [2003613] - ASoC: rt1019: Add non_legacy_dai_naming config (Jaroslav Kysela) [2003613] - ASoC: rk3328: fix missing clk_disable_unprepare() on error in rk3328_platform_probe() (Jaroslav Kysela) [2003613] - ASoC: mediatek: mt6359: Fix unexpected error in bind/unbind flow (Jaroslav Kysela) [2003613] - ASoc: codecs: mt6359: remove useless initializations (Jaroslav Kysela) [2003613] - ASoC: mediatek: mt6359: convert to use module_platform_driver (Jaroslav Kysela) [2003613] - ASoC: ics43432: add CMM-4030D-261 support (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Fix return value in hdmi_codec_set_jack() (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Get ELD in before reporting plugged event (Jaroslav Kysela) [2003613] - ASoC: cs53l30: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs43130: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs42l52: Minor tidy up of error paths (Jaroslav Kysela) [2003613] - ASoC: cs42l73: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs4265: Minor tidy up of error paths (Jaroslav Kysela) [2003613] - ASoC: cs35l36: Remove unneeded variable initialisation (Jaroslav Kysela) [2003613] - ASoC: cs35l35: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs35l35: Correct errata handling (Jaroslav Kysela) [2003613] - ASoC: cs35l34: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs35l33: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cirrus: Add helper function for reading the device ID (Jaroslav Kysela) [2003613] - ASoC: cs35l32: Add missing regmap use_single config (Jaroslav Kysela) [2003613] - ASoC: cs35l32: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: adav80x: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: codecs: Fix fall-through warnings for Clang (Jaroslav Kysela) [2003613] - ASoC: codecs: Use fallthrough pseudo-keyword (Jaroslav Kysela) [2003613] - ASoC: ab8500: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: codecs: fix spelling mistake in Kconfig "comunicate" -> "communicate" (Jaroslav Kysela) [2003613] - ASoC: 88pm860x: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: amd: renoir: Remove redundant assignment to pdm_ctrl and pdm_enable and pdm_dma_enable (Jaroslav Kysela) [2003613] - ASoC: amd: add missing break (Jaroslav Kysela) [2003613] - ALSA: sh: Fix compile warning wrt const (Jaroslav Kysela) [2003613] - ALSA: sh: Fix unused variable warnings (Jaroslav Kysela) [2003613] - ALSA: sh: Constify snd_device_ops definitions (Jaroslav Kysela) [2003613] - ALSA: sh: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [2003613] - ALSA: sh: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ALSA: aica: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ALSA: sh: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [2003613] - ALSA: ps3: fix spelling typo of values (Jaroslav Kysela) [2003613] - ALSA: ppc: drop if block with always false condition (Jaroslav Kysela) [2003613] - ALSA: ppc: remove redundant checks in PS3 driver probe (Jaroslav Kysela) [2003613] - ALSA: ppc: fix error return code in snd_pmac_probe() (Jaroslav Kysela) [2003613] - ALSA: ppc: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [2003613] - ALSA: ppc: Constify snd_device_ops definitions (Jaroslav Kysela) [2003613] - ALSA: ppc: keywest: remove outdated comment (Jaroslav Kysela) [2003613] - ALSA: poewrmac: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: pcmcia: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: pci: vx222: fix kernel-doc warning (Jaroslav Kysela) [2003613] - ALSA: Remove trailing semicolon in macros (Jaroslav Kysela) [2003613] - ALSA: hda: generic: Remove redundant assignment to dac (Jaroslav Kysela) [2003613] - ALSA: hda: Allow model option to specify PCI SSID alias (Jaroslav Kysela) [2003613] - ALSA: asihpi: fix comment syntax in file headers (Jaroslav Kysela) [2003613] - ALSA: harmony: Drop superfluous address setup (Jaroslav Kysela) [2003613] - ALSA: parisc: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: vx: fix kernel-doc warning (Jaroslav Kysela) [2003613] - ALSA: aloop: Constify ops structs (Jaroslav Kysela) [2003613] - ASoC: SOF: Drop resindex_dma_base, dma_engine, dma_size from sof_dev_desc (Jaroslav Kysela) [2003613] - ALSA: wavefront: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: wavefront: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: sscape: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sc6000: Use explicit cast for __iomem pointer (Jaroslav Kysela) [2003613] - ALSA: sc6000: Assign vport directly on card's private_data (Jaroslav Kysela) [2003613] - ALSA: sc6000: Fix incorrect sizeof operator (Jaroslav Kysela) [2003613] - ALSA: sc6000: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sb: Fix fall-through warnings for Clang (Jaroslav Kysela) [2003613] - Revert "ALSA: sb: fix a missing check of snd_ctl_add" (Jaroslav Kysela) [2003613] - ALSA: sb: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sb8: Add a comment note regarding an unused pointer (Jaroslav Kysela) [2003613] - ALSA: sb: Fix potential ABBA deadlock in CSP driver (Jaroslav Kysela) [2003613] - ALSA: sb: Fix potential double-free of CSP mixer elements (Jaroslav Kysela) [2003613] - ALSA: sb: Minor coding style fixes (Jaroslav Kysela) [2003613] - ALSA: sb: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: sb: Fix two use after free in snd_sb_qsound_build (Jaroslav Kysela) [2003613] - ALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer (Jaroslav Kysela) [2003613] - ALSA: opti9xx: fix missing { } around an if block (Jaroslav Kysela) [2003613] - ALSA: opti9xx: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: opti9xx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: opl3sa2: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: opl3sa2: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: msnd: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: msnd: Use proper mmap method (Jaroslav Kysela) [2003613] - ALSA: gus: Fix repeated probe for ISA interwave card (Jaroslav Kysela) [2003613] - Revert "ALSA: gus: add a check of the status of snd_ctl_add" (Jaroslav Kysela) [2003613] - ALSA: gus: fix null pointer dereference on pointer block (Jaroslav Kysela) [2003613] - ALSA: gus: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: gus: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: gus: Replace unsafe strcpy() with strscpy() (Jaroslav Kysela) [2003613] - ALSA: galaxy: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: Replace with fallthrough pseudo keyword in the remaining places (Jaroslav Kysela) [2003613] - ALSA: es18xx: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: es18xx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: isa: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: es1688: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: wss: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs423x: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs423x: Fix assignment in if condition (Jaroslav Kysela) [2003613] - sound/oss/dmasound: Remove superfluous "break" (Jaroslav Kysela) [2003613] - sound/oss/dmasound: Remove superfluous "break" (Jaroslav Kysela) [2003613] - ALSA: cmi8330: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: isa: Fix error return code in snd_cmi8330_probe() (Jaroslav Kysela) [2003613] - ALSA: cmi8330: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cmi8328: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: azt2320: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: azt2320: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: als100: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: als100: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: adlib: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ad1848: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ad1816a: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ad1816a: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: i2c: tea6330t: Remove redundant initialization of variable err (Jaroslav Kysela) [2003613] - ALSA: i2c: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: hda: intel-sdw-acpi: add missing include files (Jaroslav Kysela) [2003613] - ALSA: Use fallthrough pseudo-keyword (Jaroslav Kysela) [2003613] - ALSA: aoa: remove unnecessary oom message (Jaroslav Kysela) [2003613] - ALSA: arm: Remove unnecessary variables (Jaroslav Kysela) [2003613] - ALSA: ac97: fix PM reference leak in ac97_bus_remove() (Jaroslav Kysela) [2003613] - ALSA: ac97: Constify static struct attribute_group (Jaroslav Kysela) [2003613] - ALSA: virtio: fix kernel-doc (Jaroslav Kysela) [2003613] - ALSA: virtio: use module_virtio_driver() to simplify the code (Jaroslav Kysela) [2003613] - ALSA: virtio: introduce device suspend/resume support (Jaroslav Kysela) [2003613] - ALSA: virtio: introduce PCM channel map support (Jaroslav Kysela) [2003613] - ALSA: virtio: introduce jack support (Jaroslav Kysela) [2003613] - ALSA: virtio: PCM substream operators (Jaroslav Kysela) [2003613] - ALSA: virtio: handling control and I/O messages for the PCM device (Jaroslav Kysela) [2003613] - ALSA: virtio: build PCM devices and substream hardware descriptors (Jaroslav Kysela) [2003613] - ALSA: virtio: handling control messages (Jaroslav Kysela) [2003613] - ALSA: virtio: add virtio sound driver (Jaroslav Kysela) [2003613] - uapi: virtio_ids: add a sound device type ID from OASIS spec (Jaroslav Kysela) [2003613] - ALSA: firewire: Fix C++ style comments in uapi header (Jaroslav Kysela) [2003613] - ALSA: uapi: Fix a C++ style comment in asound.h (Jaroslav Kysela) [2003613] - ASoC: topology: Fix stub for snd_soc_tplg_component_remove() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: indicate dai_fmt if exist (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: indicate missing CPU/Codec numbers for debug (Jaroslav Kysela) [2003613] - ASoC: SOF: dai-intel: add SOF_DAI_INTEL_SSP_CLKCTRL_MCLK/BCLK_ES bits (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: tidyup dev_dbg() to use 1 line (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: tidyup debug info for clock (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Increase maximum DAI links limit to 512 (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: add simple_props_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Use set_jack ops to set jack (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add Codec2Codec sample (Multi) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add Codec2Codec sample (Single) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add DPCM sample (Multi) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add DPCM sample (Single) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add Sample DT for Normal (Nulti) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add Sample DT for Normal (Single) (Jaroslav Kysela) [2003613] - ASoC: add Audio Graph Card2 Custom Sample (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2: add Codec2Codec support (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2: add DPCM support (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2: add Multi CPU/Codec support (Jaroslav Kysela) [2003613] - ASoC: add Audio Graph Card2 driver (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: add codec2codec support (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: add asoc_graph_is_ports0() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Fixup CPU endpoint hw_params in a BE<->BE link (Jaroslav Kysela) [2003613] - ASoC: audio-graph: respawn Platform Support (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Avoid over-allocating DLCs (Jaroslav Kysela) [2003613] - ASoC: audio-graph: tidyup graph_parse_node() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: tidyup graph_dai_link_of_dpcm() (Jaroslav Kysela) [2003613] - ASoC: simple-card: add simple_link_init() (Jaroslav Kysela) [2003613] - ASoC: simple-card: add simple_parse_node() (Jaroslav Kysela) [2003613] - ASoC: simple-card: Fix breakage on kontron-sl28-var3-ads2 (Jaroslav Kysela) [2003613] - ASoC: audio-graph: tidyup graph_dai_link_of_dpcm() (Jaroslav Kysela) [2003613] - ASoC: simple-card: add simple_link_init() (Jaroslav Kysela) [2003613] - ASoC: simple-card: add simple_parse_node() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: add graph_link_init() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: add graph_parse_node() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: remove Platform support (Jaroslav Kysela) [2003613] - ASoC: audio-graph: remove unused "node" from graph_parse_mclk_fs() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: remove "audio-graph-card, " preix support (Jaroslav Kysela) [2003613] - ASoC: audio-graph: check ports if exists (Jaroslav Kysela) [2003613] - ASoC: audio-graph: move audio_graph_remove() to simple-card-utils.c (Jaroslav Kysela) [2003613] - ASoC: tegra: Add driver remove() callback (Jaroslav Kysela) [2003613] - ASoC: audio-graph: move audio_graph_card_probe() to simple-card-utils.c (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Allocate link info structure on heap (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Increase maximum number of links to 128 (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Propagate errors on too many links (Jaroslav Kysela) [2003613] - ASoC: audio-graph: use simple_props_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: audio-graph: use asoc_link_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: simple-card: use simple_props_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: simple-card: use asoc_link_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: simple-card: remove unused variable from simple_parse_of() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: tidyup asoc_simple_parse_convert() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: multi support at asoc_simple_canonicalize_cpu/platform() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: care multi DAI at asoc_simple_clean_reference() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: remove asoc_simple_parse_xxx() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: use for_each_prop_xxx() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: remove li->dais/li->conf (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: setup dai_props cpu_dai/codec_dai at initial timing (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: share dummy DAI and reduce memory (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: enable flexible CPU/Codec/Platform (Jaroslav Kysela) [2003613] - ASoC: simple-card: fix possible uninitialized single_cpu local variable (Jaroslav Kysela) [2003613] - ASoC: simple-card: cleanup graph_for_each_link() (Jaroslav Kysela) [2003613] - ASoC: simple-card: count DAI / link numbers as in order (Jaroslav Kysela) [2003613] - ASoC: audio-graph: cleanup graph_for_each_link() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: count DAI / link numbers as in order (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: alloc dai_link information for CPU/Codec/Platform (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils.c: remove old comment (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Do not handle device clock (Jaroslav Kysela) [2003613] - ASoC: generic: simple-card-utils: remove useless assignment (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Fix device module clock (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Rename functions needed for export (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Expose helpers from audio graph (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Expose new members for asoc_simple_priv (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Support empty Codec endpoint (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Identify 'no_pcm' DAI links for DPCM (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Use of_node and DAI for DPCM DAI link names (Jaroslav Kysela) [2003613] - ALSA: memalloc: Drop superfluous snd_dma_buffer_sync() declaration (Jaroslav Kysela) [2003613] - ASoC: SOF: dai: include new flags for DAI_CONFIG (Jaroslav Kysela) [2003613] - ASoC: SOF: dai: mirror group_id definition added in firmware (Jaroslav Kysela) [2003613] - ALSA: core: Use READ_ONCE() / WRITE_ONCE() for power state change (Jaroslav Kysela) [2003613] - ALSA: hda_audio_ext: fix kernel-doc (Jaroslav Kysela) [2003613] - ALSA: make snd_kcontrol_new name a normal string (Jaroslav Kysela) [2003613] - ASoC: constify of_phandle_args in snd_soc_get_dai_name() (Jaroslav Kysela) [2003613] - ASoC: tas2770: Fix setting of high sample rates (Jaroslav Kysela) [2003613] - ASoC: rt5682: fix the wrong jack type detected (Jaroslav Kysela) [2003613] - ASoC: tegra: Restore headphones jack name on Nyan Big (Jaroslav Kysela) [2003613] - ASoC: tegra: Add DAPM switches for headphones and mic jack (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: pci-tgl: add new ADL-P variant (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: pci-tgl: add ADL-N support (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Retry codec probing if it fails (Jaroslav Kysela) [2003613] - ASoC: amd: fix uninitialized variable in snd_acp6x_probe() (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Fix crash due to out of scope stack vars (Jaroslav Kysela) [2003613] - ASoC: rt5682: Fix crash due to out of scope stack vars (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for ADX (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for AMX (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for Mixer (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for MVC (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for SFC (Jaroslav Kysela) [2003613] - ASoC: tegra: Balance runtime PM count (Jaroslav Kysela) [2003613] - ASoC: SOF: hda: reset DAI widget before reconfiguring it (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Set the max SPI speed for the whole device (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add entry for ESSX8336 on CML (Jaroslav Kysela) [2003613] - ASoC: soc-acpi: Set mach->id field on comp_ids matches (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in Mixer (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in ADX (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in AMX (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in SFC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in MVC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in AHUB (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in DSPK (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in DMIC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in I2S (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in ADMAIF (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in MVC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in SFC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in DSPK (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in DMIC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in I2S (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in ADMAIF (Jaroslav Kysela) [2003613] - ASoC: topology: Add missing rwsem around snd_ctl_remove() calls (Jaroslav Kysela) [2003613] - ASoC: SOF: build compression interface into snd_sof.ko (Jaroslav Kysela) [2003613] - ASoC: rt5682: Re-detect the combo jack after resuming (Jaroslav Kysela) [2003613] - ASoC: rt5682: Avoid the unexpected IRQ event during going to suspend (Jaroslav Kysela) [2003613] - ASoC: rt1011: revert 'I2S Reference' to SOC_ENUM_EXT (Jaroslav Kysela) [2003613] - ASoC: rt9120: Add the compatibility with rt9120s (Jaroslav Kysela) [2003613] - ASoC: rt9120: Fix clock auto sync issue when fs is the multiple of 48 (Jaroslav Kysela) [2003613] - ASoC: rt9120: Update internal ocp level to the correct value (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B12 product (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add SKU 0B29 SoundWire configuration (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B29 product (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add SKU 0B13 SoundWire configuration (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B13 product (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B11 product (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B00 and 0B01 products (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add SKU 0AF3 SoundWire configuration (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0AF3 product (Jaroslav Kysela) [2003613] - ASoC: DAPM: Cover regression by kctl change notification fix (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: fix hotplug when only codec is suspended (Jaroslav Kysela) [2003613] - ASoC: SOF:control: Fix variable type in snd_sof_refresh_control() (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Change monitor widgets to siggens (Jaroslav Kysela) [2003613] - ASoC: tlv320aic3x: Make aic3x_remove() return void (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: use const for all uses of snd_soc_acpi_codecs (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi-cht: shrink tables using compatible IDs (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi-byt: shrink tables using compatible IDs (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: use comp_ids to enumerate rt5682s (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: detect codec variant in probe function (Jaroslav Kysela) [2003613] - ASoC: soc-acpi: add comp_ids field for machine driver matching (Jaroslav Kysela) [2003613] - ASoC: Stop dummy from overriding hwparams (Jaroslav Kysela) [2003613] - ASoC: topology: Change topology device to card device (Jaroslav Kysela) [2003613] - ASoC: topology: Use correct device for prints (Jaroslav Kysela) [2003613] - ASoC: topology: Check for dapm widget completeness (Jaroslav Kysela) [2003613] - ASoC: topology: Add header payload_size verification (Jaroslav Kysela) [2003613] - ASoC: core: Remove invalid snd_soc_component_set_jack call (Jaroslav Kysela) [2003613] - ASoC: amd: acp: select CONFIG_SND_SOC_ACPI (Jaroslav Kysela) [2003613] - ASoC: Intel: glk_rt5682_max98357a: support ALC5682I-VS codec (Jaroslav Kysela) [2003613] - ASoC: es8316: add support for ESSX8336 ACPI _HID (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Correct configuring of switch inversion from ts-inv (Jaroslav Kysela) [2003613] - ASoC: fix unmet dependencies on GPIOLIB for SND_SOC_DMIC (Jaroslav Kysela) [2003613] - ASoC: amd: acp: fix Kconfig dependencies (Jaroslav Kysela) [2003613] - ASoC: rt5682-i2c: Use devm_clk_get_optional for optional clock (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add entry for ESSX8336 on JSL (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Fix return value check in acp_machine_select() (Jaroslav Kysela) [2003613] - ASoC: max98520: add max98520 audio amplifier driver (Jaroslav Kysela) [2003613] - ASoC: nau8821: clarify out-of-bounds check (Jaroslav Kysela) [2003613] - ASoC: nau8821: fix kernel-doc (Jaroslav Kysela) [2003613] - ASoC: rt5682s: use 'static' qualifier (Jaroslav Kysela) [2003613] - ASoC: topology: handle endianness warning (Jaroslav Kysela) [2003613] - ASoC: amd: acp: SND_SOC_AMD_ACP_COMMON should depend on X86 && PCI (Jaroslav Kysela) [2003613] - ASoC: amd: acp: SND_SOC_AMD_{LEGACY_MACH,SOF_MACH} should depend on X86 && PCI && I2C (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Wrap AMD Audio ACP components in SND_SOC_AMD_ACP_COMMON (Jaroslav Kysela) [2003613] - ASoC: cs42l42: free_irq() before powering-down on probe() fail (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Reset and power-down on remove() and failed probe() (Jaroslav Kysela) [2003613] - ASoC: nau8825: add clock management for power saving (Jaroslav Kysela) [2003613] - ASoC: nau8825: add set_jack coponment support (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Prevent NULL pointer deref in interrupt handler (Jaroslav Kysela) [2003613] - ASoC: wm8962: Convert to devm_clk_get_optional() (Jaroslav Kysela) [2003613] - ASoC: fix unmet dependency on GPIOLIB for SND_SOC_MAX98357A (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Make cs35l41_remove() return void (Jaroslav Kysela) [2003613] - ASoC: tegra: Set default card name for Trimslice (Jaroslav Kysela) [2003613] - ASoC: tegra: Restore AC97 support (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add acp_machine struct for renoir platform. (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Downsizing the DAC volume scale (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Remove unused runtime_suspend/runtime_resume callbacks (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add support for ACPI table match entry (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Use device_property API instead of of_property (Jaroslav Kysela) [2003613] - ASoC: Intel: Move soc_intel_is_foo() helpers to a generic header (Jaroslav Kysela) [2003613] - ASoC: amd: enable Yellow Carp platform machine driver build (Jaroslav Kysela) [2003613] - ASoC: amd: add YC machine driver using dmic (Jaroslav Kysela) [2003613] - ASoC: amd: create platform device for acp6x machine driver (Jaroslav Kysela) [2003613] - ASoC: amd: enable Yellow carp acp6x drivers build (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x pdm driver pm ops (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x pci driver pm ops (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x pdm driver dma ops (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x irq handler (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x pdm platform driver (Jaroslav Kysela) [2003613] - ASoC: amd: add platform devices for acp6x pdm driver and dmic driver (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x init/de-init functions (Jaroslav Kysela) [2003613] - ASoC: amd: add Yellow Carp ACP PCI driver (Jaroslav Kysela) [2003613] - ASoC: amd: add Yellow Carp ACP6x IP register header (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add support for RT5682-VS codec (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add support for Maxim amplifier codec (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add SOF audio support on Chrome board (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add legacy sound card support for Chrome audio (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add generic machine driver support for ACP cards (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add callback for machine driver on ACP (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add I2S support on Renoir platform (Jaroslav Kysela) [2003613] - ASoC: amd: Add common framework to support I2S on ACP SOC (Jaroslav Kysela) [2003613] - ASoC: soc-core: tidyup empty function (Jaroslav Kysela) [2003613] - ASoC: soc-component: add snd_soc_component_is_codec() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: tidyup soc_pcm_hw_clean() - step2 (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: tidyup soc_pcm_hw_clean() - step1 (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Always enable TS_PLUG and TS_UNPLUG interrupts (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix WARN in remove() if running without an interrupt (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Mark OSC_SWITCH_STATUS register volatile (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Set correct SRC MCLK (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Allow time for HP/ADC to power-up after enable (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Use PLL for SCLK > 12.288MHz (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Don't claim to support 192k (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Defer probe if request_threaded_irq() returns EPROBE_DEFER (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Don't set defaults for volatile registers (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Correct some register default values (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Always configure both ASP TX channels (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Don't reconfigure the PLL while it is running (Jaroslav Kysela) [2003613] - ASoC: soc-component: improve error reporting for register access (Jaroslav Kysela) [2003613] - ASoC: amd: enable vangogh platform machine driver build (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh machine driver (Jaroslav Kysela) [2003613] - ASoc: amd: create platform device for VG machine driver (Jaroslav Kysela) [2003613] - ASoC: test-component: add Test Component for Sound debug/test (Jaroslav Kysela) [2003613] - ASoC: rt5682: fix a little pop while playback (Jaroslav Kysela) [2003613] - ASoC: rt1011: Fix 'I2S Reference' enum control (Jaroslav Kysela) [2003613] - ASoC: rt9120: Add rt9210 audio amplifier support (Jaroslav Kysela) [2003613] - ASoC: amd: vangogh: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [2003613] - ASoC: rt9120: Drop rt9210 audio amplifier support (Jaroslav Kysela) [2003613] - ASoC: rt1011: Fix 'I2S Reference' enum control caused error (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Ensure 0dB full scale volume is used for headsets (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: Utilize dev_err_probe() to avoid log saturation (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: use devm_clk_get_optional() for mclk (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: Use temporary variable for struct device (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: switch to using devm_fwnode_gpiod_get() (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: Get platform data via dev_get_platdata() (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Utilize dev_err_probe() to avoid log saturation (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: use devm_clk_get_optional() for mclk (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Use temporary variable for struct device (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Get platform data via dev_get_platdata() (Jaroslav Kysela) [2003613] - ASoC: amd: Kconfig: Select fch clock support with machine driver (Jaroslav Kysela) [2003613] - ASoC: soc-core: fix null-ptr-deref in snd_soc_del_component_unlocked() (Jaroslav Kysela) [2003613] - ASoC: SOF: prepare code to allocate IPC messages in fw_ready (Jaroslav Kysela) [2003613] - ASoC: rt9120: Add rt9210 audio amplifier support (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: restore mixer functionality (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Fix hp pop produced immediately after resuming (Jaroslav Kysela) [2003613] - ASoC: SOF: Introduce fragment elapsed notification API (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: Use newly introduced generic IPC stream ops (Jaroslav Kysela) [2003613] - ASoC: SOF: Make Intel IPC stream ops generic (Jaroslav Kysela) [2003613] - ASoC: SOF: Introduce snd_sof_mailbox_read / snd_sof_mailbox_write callbacks (Jaroslav Kysela) [2003613] - ASoC: SOF: pipelines: Harmonize all functions to use struct snd_sof_dev (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: do not power down primary core during topology removal (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: Dump registers and stack when SOF_DBG_DUMP_REGS is set (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-loader: Drop SOF_DBG_DUMP_REGS flag from dbg_dump calls (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Drop SOF_DBG_DUMP_REGS flag when firmware start fails (Jaroslav Kysela) [2003613] - ASoC: SOF: core: Clean up snd_sof_get_status() prints (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: hda: Drop 'error' prefix from error dump functions (Jaroslav Kysela) [2003613] - ASoC: SOF: Introduce macro to set the firmware state (Jaroslav Kysela) [2003613] - ASoC: SOF: ops: Force DSP panic dumps to be printed (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Re-enable dumps after successful IPC tx (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: Print out the fw_state along with the DSP dump (Jaroslav Kysela) [2003613] - ASoC: SOF: Drop SOF_DBG_DUMP_FORCE_ERR_LEVEL and sof_dev_dbg_or_err (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: hda-loader: Use snd_sof_dsp_dbg_dump() for DSP dump (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: Add SOF_DBG_DUMP_OPTIONAL flag for DSP dumping (Jaroslav Kysela) [2003613] - ASoC: SOF: debug/ops: Move the IPC and DSP dump functions out from the header (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: atom: No need to do a DSP dump in atom_run() (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Print the DSP dump if boot fails (Jaroslav Kysela) [2003613] - ASoC: SOF: Print the dbg_dump and ipc_dump once to reduce kernel log noise (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc and dsp dump: Add markers for better visibility (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: Swap the dsp_dump and ipc_dump sequence for fw_exception (Jaroslav Kysela) [2003613] - ASoC: SOF: core: debug: force all processing on primary core (Jaroslav Kysela) [2003613] - ASoC: max98927: Handle reset gpio when probing i2c (Jaroslav Kysela) [2003613] - ASoC: DAPM: Fix missing kctl change notifications (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcht_es8316: Utilize dev_err_probe() to avoid log saturation (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcht_es8316: Switch to use gpiod_get_optional() (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcht_es8316: Use temporary variable for struct device (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcht_es8316: Get platform data via dev_get_platdata() (Jaroslav Kysela) [2003613] - ASoC: SOF: OF: Add fw_path and tplg_path parameters (Jaroslav Kysela) [2003613] - ASoC: amd: acp-rt5645: Constify static snd_soc_ops (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: return error if sof_connect_dai_widget() fails (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: allow for dynamic pipelines override for debug (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: show clks_control value in dynamic debug (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-dai: improve SSP DAI handling for dynamic pipelines (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: add new flags for DAI_CONFIG (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add missing quirk for Dell SKU 0A45 (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add missing quirk for TGL SDCA single amp (Jaroslav Kysela) [2003613] - ASoC: Intel: add machine driver for SOF+ES8336 (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: apl/glk/tgl: add entry for devices based on ES8336 codec (Jaroslav Kysela) [2003613] - ASoC: Intel: cht_bsw_nau8824: Set card.components string (Jaroslav Kysela) [2003613] - ASoC: nau8824: Add a nau8824_components() helper (Jaroslav Kysela) [2003613] - ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect (Jaroslav Kysela) [2003613] - ASoC: nau8824: Fix NAU8824_JACK_LOGIC define (Jaroslav Kysela) [2003613] - ASoC: rt5651: Use IRQF_NO_AUTOEN when requesting the IRQ (Jaroslav Kysela) [2003613] - ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ (Jaroslav Kysela) [2003613] - ASoC: nau8821: new driver (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: Add kernel parameter for topology verification (Jaroslav Kysela) [2003613] - ASoC: SOF: Add support for dynamic pipelines (Jaroslav Kysela) [2003613] - treewide: Use fallthrough pseudo-keyword (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: make sure DAI widget is set up before IPC (Jaroslav Kysela) [2003613] - ASoC: SOF: Introduce widget use_count (Jaroslav Kysela) [2003613] - ASoC: SOF: Don't set up widgets during topology parsing (Jaroslav Kysela) [2003613] - ASoC: SOF: restore kcontrols for widget during set up (Jaroslav Kysela) [2003613] - ASoC: SOF: Add new fields to snd_sof_route (Jaroslav Kysela) [2003613] - AsoC: dapm: export a couple of functions (Jaroslav Kysela) [2003613] - ASoC: SOF: sof-audio: add helpers for widgets, kcontrols and dai config set up (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: Add new token for dynamic pipeline (Jaroslav Kysela) [2003613] - ASoC: SOF: control: Add access field in struct snd_sof_control (Jaroslav Kysela) [2003613] - ASoC: topology: change the complete op in snd_soc_tplg_ops to return int (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Fix HP noise caused by SAR mode switch when the system resumes (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Enable ASRC auto-disable to fix pop during jack plug-in while playback (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: Add support for max98360a speaker amp (Jaroslav Kysela) [2003613] - ASoC: tegra: Constify static snd_soc_ops (Jaroslav Kysela) [2003613] - ASoC: rt5682: move clk related code to rt5682_i2c_probe (Jaroslav Kysela) [2003613] - ASoC: rt5682: Use clk_hw based APIs for registration (Jaroslav Kysela) [2003613] - ASoC: rt5682: Drop usage of __clk_get_name() (Jaroslav Kysela) [2003613] - ASoC: SOF: Change SND_SOC_SOF_TOPLEVEL from config to menuconfig (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Revise the macro RT5682S_PLLB_SRC_MASK (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Use dev_dbg instead of pr_debug (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Remove the volatile SW reset register from reg_default (Jaroslav Kysela) [2003613] - ASoC: nau8824: Fix headphone vs headset, button-press detection no longer working (Jaroslav Kysela) [2003613] - ASoC: intel: sof_rt5682: update platform device name for Maxim amplifier (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Make the error prints consistent in tx_wait_done() (Jaroslav Kysela) [2003613] - ASoC: SOF: prefix some terse and cryptic dev_dbg() with __func__ (Jaroslav Kysela) [2003613] - ASoC: SOF: add error handling to snd_sof_ipc_msg_data() (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: add header file for ops (Jaroslav Kysela) [2003613] - ASoC: SOF: pm: fix a stale comment (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-stream: Print stream name on STREAM_SD_OFFSET timeout (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-dai: fix potential locking issue (Jaroslav Kysela) [2003613] - ASoC: ak4458: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: ak5558: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: dwc-i2s: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: ak4671: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: alc5623: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: bcm: Convert to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: cpcap: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: codecs: Fix spelling mistake "Unsupport" -> "Unsupported" (Jaroslav Kysela) [2003613] - ASoC: ad193x: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: tegra: Constify static snd_soc_dai_ops structs (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Use two thresholds and increased wait time for manual type detection (Jaroslav Kysela) [2003613] - ASoC: adau1977: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: adau17x1: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: adau1701: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: adau1373: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: adau1372: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: ad1836: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: ep93xx: Convert to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: samsung: add missing "fallthrough;" (Jaroslav Kysela) [2003613] - ASoC: ak4642: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: wcd9335: Use correct version to initialize Class H (Jaroslav Kysela) [2003613] - ASoC: alc5632: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: ak4104: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: ak4118: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: zl38060: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: cs4341: Add SPI device ID table (Jaroslav Kysela) [2003613] - ASoC: pcm179x: Add missing entries SPI to device ID table (Jaroslav Kysela) [2003613] - ASoC: pl1022_rdk: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: pl1022_ds: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: mpc8610_hpcd: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: imx-sgtl5000: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: imx-es8328: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: imx-audmix: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: fsl_sai: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: fsl-mqs: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: fsl-esai: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: fsl-audmix: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: eureka-tlv320: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: cros_ec_codec: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: pcm512x: Mend accesses to the I2S_1 and I2S_2 registers (Jaroslav Kysela) [2003613] - ASoC: codecs: max98390: simplify getting the adapter of a client (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: SOF: Remove struct sof_ops_table and sof_get_ops() macro (Jaroslav Kysela) [2003613] - ASoC: rt5682s: make rt5682s_aif2_dai_ops and rt5682s_soc_component_dev (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based Mixer driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based ADX driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based AMX driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based SFC driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based MVC driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add routes for few AHUB modules (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: Don't reconnect an already active BE (Jaroslav Kysela) [2003613] - ASoC: compress/component: Use module_get_when_open/put_when_close for cstream (Jaroslav Kysela) [2003613] - ASoC: soc-component: Convert the mark_module to void* (Jaroslav Kysela) [2003613] - ASoC: SOF: Rename sof_arch_ops to dsp_arch_ops (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Remove redundant error check from sof_ipc_tx_message_unlocked (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Print 0x prefix for errors in ipc_trace/stream_message() (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Clarify the parameter name for ipc_trace_message() (Jaroslav Kysela) [2003613] - ASoC: SOF: trace: Omit error print when waking up trace sleepers (Jaroslav Kysela) [2003613] - misc: cs35l41: Remove unused pdn variable (Jaroslav Kysela) [2003613] - ASoC: SOF: imx8m: add SAI1 info (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Minor fix all errors reported by checkpatch.pl script (Jaroslav Kysela) [2003613] - ASoC: SOF: core: Move probe work related code under a single if () branch (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Implement Manual Type detection as fallback (Jaroslav Kysela) [2003613] - ASoC: SOF: sof-probes: Correct the function names used for snd_soc_cdai_ops (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Rename hda-compress.c to hda-probes.c (Jaroslav Kysela) [2003613] - ASoC: SOF: probe: Merge and clean up the probe and compress files (Jaroslav Kysela) [2003613] - ASoC: SOF: compress: move and export sof_probe_compr_ops (Jaroslav Kysela) [2003613] - ASoC: SOF: pcm: Remove non existent CONFIG_SND_SOC_SOF_COMPRESS reference (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Add probe message logging to ipc_log_header() (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Re-phrase the missing firmware error to avoid duplication (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: release_firmware() on load failure to avoid batching (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: No need to export the snd_sof_debugfs_io_item() (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Use the generic ops for region debugfs handling (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Provide debugfs_add_region_item ops for core (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: Provide debugfs_add_region_item ops for core (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: Add generic API and ops for DSP regions (Jaroslav Kysela) [2003613] - ASoC: SOF: core: Do not use 'bar' as parameter for block_read/write (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: No need to export snd_sof_fw_parse_ext_data() (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: Do not initialize the snd_sof_dsp_ops.read64 (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Remove snd_sof_dsp_mailbox_init() (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: bdw: Set the mailbox offset directly in bdw_probe (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: imx8m: Bar index is only valid for IRAM and SRAM types (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: imx8: Bar index is only valid for IRAM and SRAM types (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Fix a bunch of trivial code formating/style issues (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Fixup the error messages (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Don't overwrite returned error code (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Combine adjacent register writes (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Use regmap_read_poll_timeout to wait for OTP boot (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Fix use of an uninitialised variable (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: load_firmware callback is mandatory, treat it like that (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: Relocate inline definitions from hda.h to hda.c for sdw (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: Remove boot_firmware skl and iccmax_icl declarations (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-dsp: Declare locally used functions as static (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: Do no initialize resindex_dma_base (Jaroslav Kysela) [2003613] - ASoC: intel: sof_rt5682: support jsl_rt5682s_mx98360a board (Jaroslav Kysela) [2003613] - ASoC: intel: sof_rt5682: support jsl_rt5682s_rt1015 board (Jaroslav Kysela) [2003613] - ASoC: intel: sof_rt5682: support jsl_rt5682s_rt1015p board (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: support ALC5682I-VS codec (Jaroslav Kysela) [2003613] - ASoC: SOF: Fix DSP oops stack dump output contents (Jaroslav Kysela) [2003613] - ASoC: pcm5102a: increase rate from 192k to 384k (Jaroslav Kysela) [2003613] - ASoC: rt1011: add i2s reference control for rt1011 (Jaroslav Kysela) [2003613] - ASoC: SOF: Handle control change notification from firmware (Jaroslav Kysela) [2003613] - ASoC: SOF: control: fix a typo in put operations for kcontrol (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Add driver for ALC5682I-VS codec (Jaroslav Kysela) [2003613] - ASoC: SOF: core: allow module parameter to override dma trace Kconfig (Jaroslav Kysela) [2003613] - ASoC: soc-topology: Move template info print soc_tplg_dapm_widget_create() (Jaroslav Kysela) [2003613] - ASoC: amd: acp: declare and add prefix to 'bt_uart_enable' symbol (Jaroslav Kysela) [2003613] - ASoC: cs35l41: CS35L41 Boosted Smart Amplifier (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: tag SoundWire BEs as non-atomic (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: Fix CONFIG_SND_SOC_SDW_MOCKUP select (Jaroslav Kysela) [2003613] - ASoC: rt5682: fix headset background noise when S3 state (Jaroslav Kysela) [2003613] - ASoC: Revert PCM trigger changes (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: test refcount before triggering (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: protect BE dailink state changes in trigger (Jaroslav Kysela) [2003613] - ASoC: dwc: Get IRQ optionally (Jaroslav Kysela) [2003613] - ASoC: rt5682: Fix the vol+ button detection issue (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Make rt5640_jack_gpio/rt5640_jack2_gpio static (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: remove duplicate include (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: move common ATOM stuff to module (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: byt: prepare split between Baytrail and Merrifield (Jaroslav Kysela) [2003613] - ASoC: rt1015: remove possible unused variable `bclk_ms' (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Mark hp_elitepad_1000g2_jack?_check functions static (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Select first entry for singular pipe config arrays (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Properly configure modules with generic extension (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Support modules with generic extension (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Support multiple format configs (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Simplify m_state for loadable modules (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Fix passing loadable flag for module (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Fix module configuration for KPB and MIXER (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Fix module resource and format selection (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Select proper format for NHLT blob (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Leave data as is when invoking TLV IPCs (Jaroslav Kysela) [2003613] - ASoC: Intel: kbl_da7219_max98927: Fix format selection for max98373 (Jaroslav Kysela) [2003613] - ASoC: intel: atom: Revert PCM buffer address setup workaround again (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add support for HP Elite Pad 1000G2 jack-detect (Jaroslav Kysela) [2003613] - ASoC: Intel: bytct_rt5640: Add a separate "Headset Mic 2" DAPM pin for the mic on the 2nd jack (Jaroslav Kysela) [2003613] - ASoC: rt5640: Add rt5640_set_ovcd_params() helper (Jaroslav Kysela) [2003613] - ASoC: rt5640: Add optional hp_det_gpio parameter to rt5640_detect_headset() (Jaroslav Kysela) [2003613] - ASoC: rt5640: Delay requesting IRQ until the machine-drv calls set_jack (Jaroslav Kysela) [2003613] - ASoC: rt5640: Move rt5640_disable_jack_detect() up in the rt5640.c file (Jaroslav Kysela) [2003613] - ASoC: intel: atom: Fix breakage for PCM buffer address setup (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Use cfg-lineout:2 in the components string (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Fix incorrect usage of of_device_get_match_data (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Fix incorrect usage of of_device_get_match_data (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Use of_device_get_match_data (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Use of_device_get_match_data (Jaroslav Kysela) [2003613] - ASoC: soc-ac97: cleanup cppcheck warning (Jaroslav Kysela) [2003613] - ASoC: soc-component: cleanup cppcheck warning at snd_soc_pcm_component_pm_runtime_get() (Jaroslav Kysela) [2003613] - ASoC: soc-jack: cleanup cppcheck warning for CONFIG_GPIOLIB (Jaroslav Kysela) [2003613] - ASoC: soc-jack: cleanup cppcheck warning at snd_soc_jack_report() (Jaroslav Kysela) [2003613] - ASoC: soc-dai: cleanup cppcheck warning at snd_soc_pcm_dai_new() (Jaroslav Kysela) [2003613] - ASoC: soc-dai: cleanup cppcheck warning at snd_soc_dai_link_set_capabilities() (Jaroslav Kysela) [2003613] - ASoC: soc-generic-dmaengine-pcm: cleanup cppcheck warning at dmaengine_copy_user() (Jaroslav Kysela) [2003613] - ASoC: soc-generic-dmaengine-pcm: cleanup cppcheck warning at dmaengine_pcm_new() (Jaroslav Kysela) [2003613] - ASoC: soc-generic-dmaengine-pcm: cleanup cppcheck warning at dmaengine_pcm_hw_params() (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw_rt711*: keep codec device reference until remove (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: pass card information to init/exit functions (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: get codec device with ACPI instead of bus search (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: handle errors with acpi_dev_get_first_match_dev() (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: harden codec property handling (Jaroslav Kysela) [2003613] - ASoC: rt5682: Remove unused variable in rt5682_i2c_remove() (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: make DMI L1 selection more robust (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: simplify logic for DMI_L1 handling (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-stream: remove always true condition (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Kconfig: clarify DMI L1 option description (Jaroslav Kysela) [2003613] - ASoC: rt5682: Properly turn off regulators if wrong device ID (Jaroslav Kysela) [2003613] - ASoC: rt5682: Implement remove callback (Jaroslav Kysela) [2003613] - ASoC: rt5682: Disable irq on shutdown (Jaroslav Kysela) [2003613] - ASoC: rt5682: Adjust headset volume button threshold again (Jaroslav Kysela) [2003613] - ASoC: Intel: Fix platform ID matching (Jaroslav Kysela) [2003613] - ASoC: rt1015p: add new acpi id and comapatible id (Jaroslav Kysela) [2003613] - ASoC: max98390: Add support change dsm param name (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Update module authors (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Assume 24-bit samples are in 32-bit slots (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Validate dai_set_sysclk() frequency (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add PLL configuration for 44.1kHz/16-bit (Jaroslav Kysela) [2003613] - ASoC: rt5640: Silence warning message about missing interrupt (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix mono playback (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Constrain sample rate to prevent illegal SCLK (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix LRCLK frame start edge (Jaroslav Kysela) [2003613] - ASoC: cs42l42: PLL must be running when changing MCLK_SRC_SEL (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add support for set_jack calls (Jaroslav Kysela) [2003613] - ASoC: mt6359-accdet.c: remove useless assignments (Jaroslav Kysela) [2003613] - ASoC: max98090: remove duplicate status reads and useless assignmment (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at soc_dapm_dai_stream_event() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at snd_soc_dapm_new_controls() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at snd_soc_dapm_weak_routes() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at snd_soc_dapm_add_routes() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at snd_soc_dapm_del_route() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_seq_run() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_seq_check_event() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_new_dai_link() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_new_pga() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_set_mixer_path_status() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_connect_mux() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_wcache_lookup() (Jaroslav Kysela) [2003613] - ASoC: amd: vangogh: Drop superfluous mmap callback (Jaroslav Kysela) [2003613] - ASoC: sprd: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: qcom: qdsp6: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: mpc5200: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: fsl_dma: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: fsl_asrc_dma: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: tegra: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: fsl: imx-pcm-fiq: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: bcm: Use managed PCM buffer allocation (Jaroslav Kysela) [2003613] - ALSA: pxa2xx: Use managed PCM buffer allocation (Jaroslav Kysela) [2003613] - ASoC: rt5514: make array div static const, makes object smaller (Jaroslav Kysela) [2003613] - ASoC: codecs: ad193x: add support for 96kHz and 192kHz playback rates (Jaroslav Kysela) [2003613] - ASoC: soc-ops: cleanup cppcheck warning at snd_soc_put_xr_sx() (Jaroslav Kysela) [2003613] - ASoC: soc-ops: cleanup cppcheck warning at snd_soc_get_xr_sx() (Jaroslav Kysela) [2003613] - ASoC: soc-ops: cleanup cppcheck warning at snd_soc_limit_volume() (Jaroslav Kysela) [2003613] - ASoC: soc-ops: cleanup cppcheck warning at snd_soc_put_volsw_sx() (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw_max98373: remove useless inits (Jaroslav Kysela) [2003613] - ASoC: Intel: update sof_pcm512x quirks (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Remove duplicate control for WNF filter frequency (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix inversion of ADC Notch Switch control (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-ipc: fix reply size checking (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Kconfig: fix SoundWire dependencies (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Fix HP ElitePad 1000 G2 quirk (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add support for a second headset mic input (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add support for a second headphones output (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add a byt_rt5640_get_codec_dai() helper (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add line-out support (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Move "Platform Clock" routes to the maps for the matching in-/output (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: add snd_sof_dsp_check_sdw_irq ops (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: move sof_intel_dsp_desc() forward (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: hda: remove HDA_DSP_REG_SNDW_WAKE_STS definition (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: add sdw_shim/alh_base to sof_intel_dsp_desc (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at snd_soc_find_dai_link() (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at soc_tplg_kcontrol_elems_load() (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at soc_tplg_dapm_widget_elems_load() (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at soc_tplg_dai_elems_load() (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at soc_tplg_process_headers() (Jaroslav Kysela) [2003613] - ASoC: amd: Fix reference to PCM buffer address (Jaroslav Kysela) [2003613] - soundwire: add flag to ignore all command/control for mockup devices (Jaroslav Kysela) [2003613] - ASoC: nau8824: Fix open coded prefix handling (Jaroslav Kysela) [2003613] - ASoC: uniphier: Fix reference to PCM buffer address (Jaroslav Kysela) [2003613] - ASoC: xilinx: Fix reference to PCM buffer address (Jaroslav Kysela) [2003613] - ASoC: intel: atom: Fix reference to PCM buffer address (Jaroslav Kysela) [2003613] - ASoC: intel: skylake: Drop superfluous mmap callback (Jaroslav Kysela) [2003613] - ASoC: amd: Drop superfluous mmap callbacks (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix bclk calculation for mono (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Don't allow SND_SOC_DAIFMT_LEFT_J (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Correct definition of ADC Volume control (Jaroslav Kysela) [2003613] - ASoC: v253_init: eliminate pointer to string (Jaroslav Kysela) [2003613] - ASoC: samsung: Constify static snd_soc_ops (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_of_parse_audio_routing() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_of_parse_audio_simple_widgets() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_add_controls() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_unregister_component() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_daifmt_parse_format() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_get_dai_name() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_set_dmi_name() (Jaroslav Kysela) [2003613] - ASoC: Intel: Fix spelling contraction "cant" -> "can't" (Jaroslav Kysela) [2003613] - ASoC: component: Remove misplaced prefix handling in pin control functions (Jaroslav Kysela) [2003613] - ASoC: amd: fix an IS_ERR() vs NULL bug in probe (Jaroslav Kysela) [2003613] - ASoC: rt5682: enable SAR ADC power saving mode during suspend (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at dpcm_runtime_setup_be_chan() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at dpcm_be_is_active() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at soc_get_playback_capture() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at soc_pcm_components_close() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at soc_pcm_apply_msb() (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: enforce exclusion between HDaudio and SoundWire (Jaroslav Kysela) [2003613] - ASoC: topology: Select SND_DYNAMIC_MINORS (Jaroslav Kysela) [2003613] - ASoC: rt1015: Remove unnecessary flush work on rt1015 driver (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_da7219_mx98360a: fail to initialize soundcard (Jaroslav Kysela) [2003613] - ASoC: amd: Use dev_probe_err helper (Jaroslav Kysela) [2003613] - ASoC: amd: Don't show messages about deferred probing by default (Jaroslav Kysela) [2003613] - ASoC: amd: enable stop_dma_first flag for cz_dai_7219_98357 dai link (Jaroslav Kysela) [2003613] - ASoC: amd: enable vangogh acp5x driver build (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh i2s dma driver pm ops (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh pci driver pm ops (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh i2s dai driver ops (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh i2s controller driver (Jaroslav Kysela) [2003613] - ASoC: amd: add ACP5x pcm dma driver ops (Jaroslav Kysela) [2003613] - ASoC: amd: irq handler changes for ACP5x PCM dma driver (Jaroslav Kysela) [2003613] - ASoC: amd: add ACP5x PCM platform driver (Jaroslav Kysela) [2003613] - ASoC: amd: create acp5x platform devices (Jaroslav Kysela) [2003613] - ASoc: amd: add acp5x init/de-init functions (Jaroslav Kysela) [2003613] - ASoC: amd: add Vangogh ACP PCI driver (Jaroslav Kysela) [2003613] - ASoC: amd: add Vangogh ACP5x IP register header (Jaroslav Kysela) [2003613] - ASoC: amd: renoir: Run hibernation callbacks (Jaroslav Kysela) [2003613] - ASoC: rt5682: Adjust headset volume button threshold (Jaroslav Kysela) [2003613] - ASOC: Intel: sof_sdw: add quirk for Intel 'Bishop County' NUC M15 (Jaroslav Kysela) [2003613] - ASoC: rt5682: Fix the issue of garbled recording after powerd_dbus_suspend (Jaroslav Kysela) [2003613] - ASoC: amd: reverse stop sequence for stoneyridge platform (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: add a flag to reverse the stop sequence (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: sof_sdw: add SoundWire mockup codecs for tests (Jaroslav Kysela) [2003613] - ASoC: soc-acpi: tgl: add table for SoundWire mockup devices (Jaroslav Kysela) [2003613] - ASoC: soc-acpi: cnl: add table for SoundWire mockup devices (Jaroslav Kysela) [2003613] - ASoC: codecs: add SoundWire mockup device support (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: update quirk for jack detection in ADL RVP (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: include rt711.h for RT711 JD mode (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: extends SOF_RT711_JDSRC to 4 bits (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: code refactor for max98360a (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: code refactor for max98357a (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: Enable Bluetooth offload on tgl and adl (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_cs42l42: add support for jsl_cs4242_mx98360a (Jaroslav Kysela) [2003613] - ASoC: Intel: maxim-common: support max98360a (Jaroslav Kysela) [2003613] - ASoC: Intel: maxim-common: support max98357a (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_cs42l42: support arbitrary DAI link sequence (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Update ADL descriptor to use ACPI power states (Jaroslav Kysela) [2003613] - ASoC: rt5631: Fix regcache sync errors on resume (Jaroslav Kysela) [2003613] - ASoC: amd: fix spelling mistakes (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_cs42l42: use helper function to get bclk frequency (Jaroslav Kysela) [2003613] - ASoC: SOF: add a helper to get topology configured bclk (Jaroslav Kysela) [2003613] - ASoC: tegra: Use ADMAIF component for DMA allocations (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: fix xrun issue on platform with max98373 (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: tegra: mark runtime-pm functions as __maybe_unused (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Remove handing of disabled runtime PM (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Correct suspend-resume callbacks (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Reset global variable (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Switch to use reset-bulk API (Jaroslav Kysela) [2003613] - ASoC: tegra: ahub: Reset hardware properly (Jaroslav Kysela) [2003613] - ASoC: tegra: ahub: Use clk_bulk helpers (Jaroslav Kysela) [2003613] - ASoC: tegra: ahub: Add missing resets (Jaroslav Kysela) [2003613] - ASoC: tegra: tegra210_admaif: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: tegra20: spdif: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: simple-card: Fill in driver name (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: Add missing of_node_put() in imx8_probe() (Jaroslav Kysela) [2003613] - ASoC: Intel: skl_hda_dsp_generic: Update Kconfig documentation (Jaroslav Kysela) [2003613] - ASoC: Intel: use MODULE_DEVICE_TABLE with platform_device_id tables (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add ull suffix for SoundWire _ADR values (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: fix signed/unsigned warning (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_da7219_max98373: shrink platform_id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: kbl_da7219_max98357a: shrink platform_id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: glk_rt5682_max98357a: shrink platform_id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: shrink platform_id names below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: remove hdac-hdmi support (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: use mach data for ADL RVP DMIC count (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix a NULL vs IS_ERR() check (Jaroslav Kysela) [2003613] - ASoC: rt711: add two jack detection modes (Jaroslav Kysela) [2003613] - ASoC: samsung: s3c24xx-i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: samsung: s3c2412-i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: samsung: pcm: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: samsung: i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: soc-core: remove snd_soc_of_parse_daifmt() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: switch to use snd_soc_daifmt_parse_format/clock_provider() (Jaroslav Kysela) [2003613] - ASoC: soc-core: add snd_soc_daifmt_parse_format/clock_provider() (Jaroslav Kysela) [2003613] - ASoC: soc-core: add snd_soc_daifmt_clock_provider_fliped() (Jaroslav Kysela) [2003613] - ASoC: soc-core: add snd_soc_daifmt_clock_provider_from_bitmap() (Jaroslav Kysela) [2003613] - ASoC: rt711-sdca-sdw: fix race condition on system suspend (Jaroslav Kysela) [2003613] - ASoC: rt5682-sdw: fix race condition on system suspend (Jaroslav Kysela) [2003613] - ASoC: rt711-sdw: fix race condition on system suspend (Jaroslav Kysela) [2003613] - ASoC: rt700-sdw: fix race condition on system suspend (Jaroslav Kysela) [2003613] - ASoC: fsi: fix spelling mistake (Jaroslav Kysela) [2003613] - ASoC: Intel: bdw-rt5677: remove unnecessary oom message (Jaroslav Kysela) [2003613] - ASoC: spear: spdif_out: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: sprd: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: soc-core: Fix the error return code in snd_soc_of_parse_audio_routing() (Jaroslav Kysela) [2003613] - ASoC: sti: sti_uniperif: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: stm32: spdifrx: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: stm32: sai: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: stm32: i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: make hdmi_codec_controls static (Jaroslav Kysela) [2003613] - ASoC: rockchip: spdif: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: rockchip: pdm: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: rockchip: i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK (Jaroslav Kysela) [2003613] - ASoC: hisilicon: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: jz4740-i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-spdif-out: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-spdif-in: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-parallel-out: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-i2s-out: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-i2s-in: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: dwc: dwc-i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: tegra: Squash utils into common machine driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Specify components string for each card (Jaroslav Kysela) [2003613] - ASoC: tegra: Unify ASoC machine drivers (Jaroslav Kysela) [2003613] - ASoC: tegra: SND_SOC_TEGRA_AUDIO_GRAPH_CARD should depend on SND_SOC_TEGRA (Jaroslav Kysela) [2003613] - ASoC: tegra20-spdif: remove "default m" (Jaroslav Kysela) [2003613] - ASoC: tegra: Add audio graph based card driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Set driver_name=tegra for all machine drivers (Jaroslav Kysela) [2003613] - ASoC: rt5640: Make codec selectable (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Add a prepare hook (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Add iec958 controls (Jaroslav Kysela) [2003613] - ASoC: rt5645: Avoid upgrading static warnings to errors (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Rework to support more controls (Jaroslav Kysela) [2003613] - ASoC: soc-core: don't use discriminatory terms on snd_soc_runtime_get_dai_fmt() (Jaroslav Kysela) [2003613] - ASoC: rt711-sdca: handle mbq_regmap in rt711_sdca_io_init (Jaroslav Kysela) [2003613] - ASoC: rt711-sdca-sdw: add readable for SDW_SDCA_CTL() registers (Jaroslav Kysela) [2003613] - ASoC: rt5682-sdw: set regcache_cache_only false before reading RT5682_DEVICE_ID (Jaroslav Kysela) [2003613] - ASoC: rt5682: Fix a problem with error handling in the io init function of the soundwire (Jaroslav Kysela) [2003613] - ASoC: rt715-sdca: fix clock stop prepare timeout issue (Jaroslav Kysela) [2003613] - ASoC: rt715-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt715-sdca-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt711-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt711-sdca-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt700-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt5682-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt1316-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt1308-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: max98373-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: max98373-sdw: add missing memory allocation check (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: add .auto_selectable_formats support (Jaroslav Kysela) [2003613] - ASoC: fsi: add .auto_selectable_formats support (Jaroslav Kysela) [2003613] - ASoC: pcm3168a: add .auto_selectable_formats support (Jaroslav Kysela) [2003613] - ASoC: ak4613: add .auto_selectable_formats support (Jaroslav Kysela) [2003613] - ASoC: soc-core: add snd_soc_runtime_get_dai_fmt() (Jaroslav Kysela) [2003613] - ASoC: soc-core: move snd_soc_runtime_set_dai_fmt() to upside (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: use DEVICE_ATTR_RO macro (Jaroslav Kysela) [2003613] - mfd: arizona: Allow building arizona MFD-core as module (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: pci-tgl: add ADL-M support (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: don't print ROM status if cl_dsp_init() fails (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: clean up hda_dsp_dump() (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Constify sof_probe_compressed_ops (Jaroslav Kysela) [2003613] - ASoC: wm5110: Constify static struct snd_compress_ops (Jaroslav Kysela) [2003613] - ASoC: wm5102: Constify static struct snd_compress_ops (Jaroslav Kysela) [2003613] - ASoC: cs47125: Constify static struct snd_compress_ops (Jaroslav Kysela) [2003613] - ASoC: cs42l52: use DEVICE_ATTR_WO macro (Jaroslav Kysela) [2003613] - ASoC: cs35l3x: Use neutral language in amp drivers (Jaroslav Kysela) [2003613] - ASoC: cs43130: Use DEVICE_ATTR_RO macro (Jaroslav Kysela) [2003613] - ASoC: wm8962: Use DEVICE_ATTR_WO macro (Jaroslav Kysela) [2003613] - ASoC: cs42l56: use DEVICE_ATTR_WO macro (Jaroslav Kysela) [2003613] - ASoC: tlv320aic26: use DEVICE_ATTR_RW macro (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Check jack status before reporting button events (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add support for 2400000 Bit clock (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add support for 2304000 Bit clock (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix 1536000 Bit Clock instability (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add SOF_RT715_DAI_ID_FIX for AlderLake (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: remove .nonatomic for BE dailinks (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add support for Bluetooth offload (Jaroslav Kysela) [2003613] - ASoC: Intel: common: Add entries for sdw codecs in ADL match table (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add entries for i2s machines in ADL match table (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: Remove conditions against CONFIG_PCI (Jaroslav Kysela) [2003613] - ASoC: SOF: ops: don't return void value (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: fix assignment to use le32_to_cpu (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Use snd_sof_dsp_block_read() instead sof_block_read() (Jaroslav Kysela) [2003613] - ASoC: SOF: ops: print out the polling register (Jaroslav Kysela) [2003613] - ASoC: SOF: pci: No need to cast second time to save the desc (Jaroslav Kysela) [2003613] - ASoC: SOF: Check desc->ops directly in acpi/pci/of probe functions (Jaroslav Kysela) [2003613] - ASoC: topology: Fix using uninitialized pointer (Jaroslav Kysela) [2003613] - ASoC: soc-dai: fix up hw params only if it is needed (Jaroslav Kysela) [2003613] - ASoC: soc-core: use DEVICE_ATTR_RO macro (Jaroslav Kysela) [2003613] - ASoC: topology: Add support for multiple kcontrol types to a widget (Jaroslav Kysela) [2003613] - ASoC: intel/boards: add missing MODULE_DEVICE_TABLE (Jaroslav Kysela) [2003613] - ASoC: cs43130: handle errors in cs43130_probe() properly (Jaroslav Kysela) [2003613] - Revert "ASoC: cs43130: fix a NULL pointer dereference" (Jaroslav Kysela) [2003613] - ASoC: cs42l42: make HSBIAS_SENSE_EN optional (Jaroslav Kysela) [2003613] - ASoC: wm2200: remove include of wmfw.h (Jaroslav Kysela) [2003613] - ASoC: wm_adsp: mark more data structures with the const qualifier (Jaroslav Kysela) [2003613] - ASoC: Intel: bxt_da7219_max98357a: shrink platform_id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_cs42l42: shrink platform id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: add sof-cs42l42 machine driver (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: create sof-maxim-common module (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: handle hda-dsp-common as a module (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: add support for adl boards in sof-rt5682 (Jaroslav Kysela) [2003613] - ASoC: Intel: Boards: tgl_max98373: Add BT offload support (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: fix index used in inner loop (Jaroslav Kysela) [2003613] - ALSA: fireworks: add support for Loud Onyx 1200f quirk (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU Track 16 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU Traveler mk3 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: remove TODO for interaction with userspace about control message (Jaroslav Kysela) [2003613] - ALSA: oxfw: fix functional regression for Mackie Onyx 1640i in v5.14 or later (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: export meter information to userspace as float value (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: refine parser for meter information in register DSP models (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix null pointer dereference when polling hwdep character device (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: notify event for parameter change in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: queue event for parameter change in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add ioctl command to read cached parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for input parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for line input parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for output parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for mixer output parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for mixer source parameters in register-DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add ioctl command to read cached hardware meter (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add message parser for meter information in command DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add message parser to gather meter information in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix truncated bytes in message tracepoints (Jaroslav Kysela) [2003613] - ALSA: oxfw: fix transmission method for Loud models based on OXFW971 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU 896HD (Jaroslav Kysela) [2003613] - ALSA: oxfw: fix functioal regression for silence in Apogee Duet FireWire (Jaroslav Kysela) [2003613] - ALSA: bebob: correct duplicated entries with TerraTec OUI (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: Fix 'amdtp_domain_start()' when no AMDTP_OUT_STREAM stream is found (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix register handling for 896 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix register handling for 828 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: use macro instead of magic number for clock source in v3 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: code refactoring for source detection of sampling clock in v3 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: code refactoring for packet format detection in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: use macro instead of magic number for clock source in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for AES/EBU clock source in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: code refactoring for detection of clock source in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix detection for S/PDIF source on optical interface in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: bebob: add support for ToneWeal FW66 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix rx packet format at higher rate for MOTU 828 mk3 Hybrid (Jaroslav Kysela) [2003613] - ALSA: bebob: fix rx packet format for Yamaha GO44/GO46, Terratec Phase 24/x24 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix stream format for MOTU 8pre FireWire (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU 896 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU 828 (Jaroslav Kysela) [2003613] - ALSA: bebob: Fix bit flag quirk constants (Jaroslav Kysela) [2003613] - ALSA: firewire: fill Kconfig with entries for devices based on DICE ASICs (Jaroslav Kysela) [2003613] - ALSA: bebob: correct device entries for Phonic Helix Board and FireFly series (Jaroslav Kysela) [2003613] - ALSA: bebob: code refactoring for M-Audio models (Jaroslav Kysela) [2003613] - ALSA: bebob: correct device entry for Acoustic Reality eAR Master One, Eroica, Figaro, and Ciaccona (Jaroslav Kysela) [2003613] - ALSA: bebob: correct device entry for Mackie D.2 FireWire option card (Jaroslav Kysela) [2003613] - ALSA: fireworks: fulfil device entries (Jaroslav Kysela) [2003613] - ALSA: bebob: fulfil device entries (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: replace in_interrupt() with in_softirq() (Jaroslav Kysela) [2003613] - ALSA: bebob: code refactoring for model-dependent quirks (Jaroslav Kysela) [2003613] - ALSA: bebob: delete workaround for protocol version 3 (Jaroslav Kysela) [2003613] - ALSA: bebob: dismiss sleep after breaking connections (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: obsolete workqueue for period update (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: operate for period elapse event in process context (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: delete unused kernel API (Jaroslav Kysela) [2003613] - ALSA: fireface: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: firewire-tascam: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: firewire-digi00x: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: dice: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: oxfw: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: fireworks: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: bebob: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for hybrid model of MOTU Ultralite mk3 (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: remove useless operations for kernel preemption (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: fix error codes for allocation failure (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix error return code in snd_motu_stream_reserve_duplex() (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: sequence replay for source packet header (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: cache event ticks in source packet header per data block (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: use macro for magic numbers relevant to IEC 61883-1 (Jaroslav Kysela) [2003613] - ALSA: bebob: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: dice: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: dice: wait just for NOTIFY_CLOCK_ACCEPTED after GLOBAL_CLOCK_SELECT operation (Jaroslav Kysela) [2003613] - ALSA: fireface: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: firewire-tascam: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: firewire-digi00x: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: oxfw: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: fireworks: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: fireworks: delete SYTMATCH clock source (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: support NO_PERIOD_WAKEUP in ALSA PCM runtime (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: transfer rx packets on-the-fly when replaying (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: replay sequence of incoming packets for outgoing packets (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: add replay target to cache sequence of packet (Jaroslav Kysela) [2003613] - ALSA: bebob: distinguish M-Audio ProFire Lightbridge quirk (Jaroslav Kysela) [2003613] - ALSA: bebob: cancel switching connection order (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: obsolete callbacked member (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: drop initial NODATA or empty packet (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for transfer delay (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for generation of data block sequence (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for generation of syt sequence (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for generation of packet descriptors (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: pool sequence of packet in IT context independently (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: add flag to unaware of syt in CIP header (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: Fix uninitialized variable err issue (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: change waking up timing to process packets (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: start processing content of packet at the same cycle in several IT contexts (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring to start several IT/IR contexts (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: skip initial packets instead of scheduling IR context (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: start processing content of packet at the same cycle in several IR contexts (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for selection of IT context header length (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for calculation of context payload (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for size of CIP header (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: insert descriptor for skipped cycle (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: check cycle continuity (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for check of CIP header about payload size (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for parser of IR context header (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for helper function to compute OHCI 1394 cycle (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for sequence descriptor' (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: handle the case that empty isochronous packet payload for CIP (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring to refer the same frame count per period in domain structure (Jaroslav Kysela) [2003613] - ALSA: oxfw: add quirk flag for blocking transmission method (Jaroslav Kysela) [2003613] - ALSA: oxfw: code refactoring for wrong_dbs quirk (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for jumbo payload quirk (Jaroslav Kysela) [2003613] - ALSA: oxfw: code refactoring for jumbo-payload quirk in OXFW970 (Jaroslav Kysela) [2003613] - ALSA: oxfw: add comment for the type of ASICs (Jaroslav Kysela) [2003613] - ALSA: oxfw: add explicit device entry for Loud Technologies Mackie Onyx Sattelite (Jaroslav Kysela) [2003613] - ALSA: oxfw: add explicit device entry for Loud Technologies Tapco Link.FireWire 4x6 (Jaroslav Kysela) [2003613] - ALSA: oxfw: code refactoring to detect mackie models (Jaroslav Kysela) [2003613] - ALSA: oxfw: code refactoring for existent device entry with specifier_id and version (Jaroslav Kysela) [2003613] - ALSA: firewire-lib/motu: use int type for the value of bitwise OR with enumerator-constant (Jaroslav Kysela) [2003613] - Revert "ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro" (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix quirk for Clevo NJ51CU (Jaroslav Kysela) [2003613] - ALSA: hda/hdmi: Disable silent stream on GLK (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add new alc285-hp-amp-init model (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Amp init fixup for HP ZBook 15 G6 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix quirk for TongFang PHxTxX1 (Jaroslav Kysela) [2003613] - ALSA: hda/hdmi: fix HDA codec entry table order for ADL-P (Jaroslav Kysela) [2003613] - ALSA: hda: Add Intel DG2 PCI ID and HDMI codec vid (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Set PMSG_ON earlier inside cs8409 driver (Jaroslav Kysela) [2003613] - ALSA: ctxfi: Fix out-of-range access (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix LED on HP ProBook 435 G7 (Jaroslav Kysela) [2003613] - ALSA: cmipci: Drop stale variable assignment (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for ASRock NUC Box 1100 (Jaroslav Kysela) [2003613] - ALSA: hda: fix general protection fault in azx_runtime_idle (Jaroslav Kysela) [2003613] - ALSA: hda: Free card instance properly at probe errors (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for HP EliteBook 840 G7 mute LED (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for ASUS UX550VE (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add a quirk for Acer Spin SP513-54N (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Headset fixup for Clevo NH77HJQ (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for Clevo PC70HS (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add a quirk for HP OMEN 15 mute LED (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix mic mute LED for the HP Spectre x360 14 (Jaroslav Kysela) [2003613] - ALSA: ISA: not for M68K (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fixes HP Spectre x360 15-eb1xxx speakers (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for Clevo PC50HS (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix the mic type detection issue for ASUS G551JW (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix for quirk to enable speaker output on the Lenovo 13s Gen2 (Jaroslav Kysela) [2003613] - ALSA: hda: intel: Allow repeatedly probing on codec configuration errors (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for TongFang PHxTxX1 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek - ALC236 headset MIC recording issue (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for Clevo X170KM-G (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Complete partial device name to avoid ambiguity (Jaroslav Kysela) [2003613] - ALSA: hda - Enable headphone mic on Dell Latitude laptops with ALC3254 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Enable 4-speaker output for Dell Precision 5560 laptop (Jaroslav Kysela) [2003613] - ALSA: hda: Use position buffer for SKL+ again (Jaroslav Kysela) [2003613] - ALSA: hda: Reduce udelay() at SKL+ position reporting (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Setup Dolphin Headset Mic as Phantom Jack (Jaroslav Kysela) [2003613] - ALSA: pcxhr: "fix" PCXHR_REG_TO_PORT definition (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Quirks to enable speaker output for Lenovo Legion 7i 15IMHG05, Yoga 7i 14ITL5/15ITL5, and 13s Gen2 laptops. (Jaroslav Kysela) [2003613] - Revert "ALSA: hda: Drop workaround for a hang at shutdown again" (Jaroslav Kysela) [2003613] - ALSA: vx222: fix null-ptr-deref (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Initialize Codec only in init fixup. (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Ensure Type Detection is only run on startup when necessary (Jaroslav Kysela) [2003613] - ALSA: hda: Disable runtime resume at shutdown (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup (Jaroslav Kysela) [2003613] - ALSA: hda: Code refactoring snd_hda_pick_fixup() (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Workaround for conflicting SSID on ASUS ROG Strix G17 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Limit mic boost on HP ProBook 445 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/analog - Sink ad198x_shutup() and shuffle CONFIG_PM guards (Jaroslav Kysela) [2003613] - ALSA: hda/sigmatel - Sink stac_shutup() into stac_suspend() (Jaroslav Kysela) [2003613] - ALSA: hda: Drop workaround for a hang at shutdown again (Jaroslav Kysela) [2003613] - ALSA: hda/via: Apply runtime PM workaround for ASUS B23E (Jaroslav Kysela) [2003613] - ALSA: hda: Fix hang during shutdown due to link reset (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9510 laptop (Jaroslav Kysela) [2003613] - ALSA: hda: Nuke unused reboot_notify callback (Jaroslav Kysela) [2003613] - ALSA: hda: Suspend codec at shutdown (Jaroslav Kysela) [2003613] - ALSA: hda: conexant: Turn off EAPD at suspend, too (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Prevent pops and clicks during suspend (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Unmute/Mute codec when stream starts/stops (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Follow correct CS42L42 power down sequence for suspend (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Remove unnecessary delays (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Use timeout rather than retries for I2C transaction waits (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Set fixed sample rate of 48kHz for CS42L42 (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Enable Full Scale Volume for Line Out Codec on Dolphin (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Add support for dolphin (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Add Support to disable jack type detection for CS42L42 (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Support multiple sub_codecs for Suspend/Resume/Unsol events (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Move codec properties to its own struct (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Separate CS8409, CS42L42 and project functions (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Support i2c bulk read/write functions (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Avoid re-setting the same page as the last access (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Avoid setting the same I2C address for every access (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Dont disable I2C clock between consecutive accesses (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Generalize volume controls (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Prevent I2C access during suspend time (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Simplify CS42L42 jack detect. (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Mask CS42L42 wake events (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Disable unsolicited response for the first boot (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Disable unsolicited responses during suspend (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Disable unnecessary Ring Sense for Cyborg/Warlock/Bullseye (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Reduce HS pops/clicks for Cyborg (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Mask all CS42L42 interrupts on initialization (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Use enums for register names and coefficients (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Move arrays of configuration to a new file (Jaroslav Kysela) [2003613] - ALSA: hda/cirrus: Move CS8409 HDA bridge to separate module (Jaroslav Kysela) [2003613] - ALSA: hda - fix the 'Capture Switch' value change notifications (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 650 G8 Notebook PC (Jaroslav Kysela) [2003613] - ALSA: pci: cs46xx: Fix set up buffer type properly (Jaroslav Kysela) [2003613] - ALSA: hda: Add quirk for ASUS Flow x13 (Jaroslav Kysela) [2003613] - ALSA: pci/korg1212: completely remove 'set but not used' warnings (Jaroslav Kysela) [2003613] - ALSA: pcxhr: use __func__ to get funcion's name in an output message (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: add mic quirk for Acer SF314-42 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix headset mic for Acer SWIFT SF314-56 (ALC256) (Jaroslav Kysela) [2003613] - ALSA: korg1212: Fix wrongly shuffled firmware loader code (Jaroslav Kysela) [2003613] - ALSA: als300: Fix missing chip initialization (Jaroslav Kysela) [2003613] - ALSA: cs4281: Fix missing chip initialization (Jaroslav Kysela) [2003613] - ALSA: hda/hdmi: Add quirk to force pin connectivity on NUC10 (Jaroslav Kysela) [2003613] - ALSA: nm256: Fix error return code in snd_nm256_create() (Jaroslav Kysela) [2003613] - ALSA: ymfpci: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: vx222: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: trident: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: pci: rme: Fix unaligned buffer addresses (Jaroslav Kysela) [2003613] - ALSA: pci: rme: Set up buffer type properly (Jaroslav Kysela) [2003613] - ALSA: rme9652: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: rme9652: don't disable if not enabled (Jaroslav Kysela) [2003613] - ALSA: hdspm: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: hdspm: don't disable if not enabled (Jaroslav Kysela) [2003613] - ALSA: hdspm: Fix fall-through warnings for Clang (Jaroslav Kysela) [2003613] - ALSA: hdsp: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: riptide: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: riptide: Replace tasklet with threaded irq (Jaroslav Kysela) [2003613] - ALSA: riptide: convert tasklets to use new tasklet_setup() API (Jaroslav Kysela) [2003613] - ALSA: oxygen: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: nm256: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: lx6464es: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: lola: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: korg1212: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ice1724: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ali5451: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ice1724: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ice1712: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: emu10k1x: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: emu10k1: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: echoaudio: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs5535audio: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs46xx: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ca0106: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: aw2: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: au88x0: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ali5451: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: via82xx: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sonicvibes: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sis7019: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: rme96: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: rme32: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: maestro3: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: fm801: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: es1968: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: es1938: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ens137x: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs5530: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs4281: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cmipci: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: bt87x: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: azt3328: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: als4000: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: als300: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ad1889: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: hda: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: atiixp: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: intel8x0: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix pop noise and 2 Front Mic issues on a machine (Jaroslav Kysela) [2003613] - ALSA: hdmi: Expose all pins on MSI MS-7C94 board (Jaroslav Kysela) [2003613] - ALSA: intel8x0: Skip ac97 clock measurement on VM (Jaroslav Kysela) [2003613] - ALSA: hda/hdmi: Add option to enable all pins forcibly (Jaroslav Kysela) [2003613] - ALSA: ice1724: Remove superfluous loop over model table (Jaroslav Kysela) [2003613] - ALSA: hda/ca0132: remove redundant initialization of variable status (Jaroslav Kysela) [2003613] - ALSA: intel8x0: Fix breakage at ac97 clock measurement (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute led of the HP Pavilion 15-eh1xxx series (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 630 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 450 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek - Add ALC285 HP init procedure (Jaroslav Kysela) [2003613] - ALSA: hda/realtek - Add type for ALC287 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 830 G8 Notebook PC (Jaroslav Kysela) [2003613] - ALSA: hda: Release codec display power during shutdown/reboot (Jaroslav Kysela) [2003613] - ALSA: hda: Release controller display power during shutdown/reboot (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Apply LED fixup for HP Dragonfly G1, too (Jaroslav Kysela) [2003613] - ALSA: hdsp: fix a test for copy_to_user() failure (Jaroslav Kysela) [2003613] - ALSA: hda: Add IRQ check for platform_get_irq() (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix bass speaker DAC mapping for Asus UM431D (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Improve fixup for HP Spectre x360 15-df0xxx (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add another ALC236 variant support (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook x360 830 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/tegra: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ALSA: trident: Fix build error (Jaroslav Kysela) [2003613] - ALSA: trident: Drop shadow TLB pointer table (Jaroslav Kysela) [2003613] - ALSA: ymfpci: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: vx222: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: trident: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: rme9652: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: hdsp: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: riptide: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: pcxhr: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: nm256: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: mixart: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: korg1212: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ice1712: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: emu10k1x: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: emu10k1: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: echoaudio: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cs5535audio: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cs46xx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ca0106: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: au88x0: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ac97: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: via82xx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: sonicvibes: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: rme96: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: rme32: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: maestro3: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: intel8x0: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: fm801: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: es1968: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: es1938: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ens137x: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cs4281: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cmipci: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: bt87x: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: azt3328: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: atiixp: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: als4000: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: als300: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ak4531: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ad1889: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Change device names for quirks to barebone names (Jaroslav Kysela) [2003613] - ALSA: hda/ca0132: Make a const array static, makes object smaller (Jaroslav Kysela) [2003613] - ALSA: pci: lx6464es: remove useless self-comparison (Jaroslav Kysela) [2003613] - ALSA: drivers: opl3: Fix incorrect use of vp->state (Jaroslav Kysela) [2003613] - ALSA: pcsp: Make hrtimer forwarding more robust (Jaroslav Kysela) [2003613] - ALSA: pcsp: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: dummy: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: aloop: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: mpu401: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: serial-u16550: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: mtpav: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: virmidi: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: vx: Manage vx_core object with devres (Jaroslav Kysela) [2003613] - ALSA: aloop: Fix spelling mistake "synchronization" -> "synchronization" (Jaroslav Kysela) [2003613] - ALSA: serial: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: opl3: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: vx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: mpu401: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: drivers: opl3: fix useless self-comparison (Jaroslav Kysela) [2003613] - ALSA: hda: intel-sdw-acpi: go through HDAS ACPI at max depth of 2 (Jaroslav Kysela) [2003613] - ALSA: hda: intel-sdw-acpi: harden detection of controller (Jaroslav Kysela) [2003613] - ALSA: intel-dsp-config: add quirk for CML devices based on ES8336 codec (Jaroslav Kysela) [2003613] - ALSA: intel-dsp-config: add quirk for JSL devices based on ES8336 codec (Jaroslav Kysela) [2003613] - ALSA: hda: avoid write to STATESTS if controller is in reset (Jaroslav Kysela) [2003613] - ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336 codec (Jaroslav Kysela) [2003613] - ALSA: hda: hdac_ext_stream: fix potential locking issues (Jaroslav Kysela) [2003613] - ALSA: hda: hdac_stream: fix potential locking issue in snd_hdac_stream_assign() (Jaroslav Kysela) [2003613] - ALSA: hda: intel-dsp-cfg: add missing ElkhartLake PCI ID (Jaroslav Kysela) [2003613] - ALSA: usb-audio: usx2y - use GFP_NOIO flag (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Reorder snd_djm_devices[] entries (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Don't start stream for capture at prepare (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Switch back to non-latency mode at a later point (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add quirk for Audient iD14 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Line6 HX-Stomp XL USB_ID for 48k-fixed quirk (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add registration quirk for JBL Quantum 400 (Jaroslav Kysela) [2003613] - ALSA: ua101: fix division by zero at probe (Jaroslav Kysela) [2003613] - ALSA: line6: fix control and interrupt message timeouts (Jaroslav Kysela) [2003613] - ALSA: 6fire: fix control and bulk message timeouts (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix null pointer dereference on pointer cs_desc (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix microphone sound on Jieli webcam. (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Provide quirk for Sennheiser GSP670 Headset (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Initialize every feature unit once at probe time (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Drop superfluous error message after disconnection (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Downgrade error message in get_ctl_value_v2() (Jaroslav Kysela) [2003613] - ALSA: usb-audio: add Schiit Hel device to quirk table (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add quirk for VF0770 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Less restriction for low-latency playback mode (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add support for the Pioneer DJM 750MK2 Mixer/Soundcard (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Pass JOINT_DUPLEX info flag for implicit fb streams (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Enable rate validation for Scarlett devices (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix packet size calculation regression (Jaroslav Kysela) [2003613] - ALSA: usb-audio: disable implicit feedback sync for Behringer UFX1204 and UFX1604 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Avoid killing in-flight URBs during draining (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Improved lowlatency playback support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add spinlock to stop_urbs() (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Check available frames for the next packet size (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Disable low-latency mode for implicit feedback sync (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Disable low-latency playback for free-wheel mode (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix possible race at sync of urb completions (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Restrict rates for the shared clocks (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix a missing error check in scarlett gen2 mixer (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix comment reference in __uac_clock_find_source (Jaroslav Kysela) [2003613] - ALSA: usx2y: Prefer struct_size over open coded arithmetic (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Unify mixer resume and reset_resume procedure (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add registration quirk for JBL Quantum 800 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add lowlatency module option (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Work around for XRUN with low latency playback (Jaroslav Kysela) [2003613] - ASoC: dmaengine: Introduce module option prealloc_buffer_size_kbytes (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move set-interface-first workaround into common quirk (Jaroslav Kysela) [2003613] - ALSA: doc: Fix indentation warning (Jaroslav Kysela) [2003613] - ALSA: hda: Update documentation for aliasing via the model option (Jaroslav Kysela) [2003613] - ALSA: doc: Add the description of quirk_flags option for snd-usb-audio (Jaroslav Kysela) [2003613] - ALSA: doc: Fix reference to mixart.rst (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Update the documentation for the new delayed_register option (Jaroslav Kysela) [2003613] - ALSA: hda - Update descriptions about new position_fix values (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix regression on Sony WALKMAN NW-A45 DAC (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Input source control - digidesign mbox (Jaroslav Kysela) [2003613] - ALSA: usb-audio: make array static const, makes object smaller (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add quirk_flags module option (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move generic DSD raw detection into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move ignore_ctl_error check into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move autosuspend quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move rate validation quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move interface setup delay into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move control message delay quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move ITF-USB DSD quirk handling into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move clock setup quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move playback_first flag into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move tx_length quirk handling to quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move txfr_quirk handling to quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move media-controller API quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Introduce quirk_flags field (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Avoid unnecessary or invalid connector selection at resume (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add registration quirk for JBL Quantum 600 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix superfluous autosuspend recovery (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix incorrect clock source setting (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix line out/speaker switching notifications (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Correct channel mute status after mute button pressed (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix Direct Monitor control name for 2i2 (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix Mute/Dim/MSD Mode control names (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add registration quirk for JBL Quantum headsets (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add missing proc text entry for BESPOKEN type (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Reduce latency at playback start, take#2 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix spelling mistakes (Jaroslav Kysela) [2003613] - ALSA: usx2y: fix spelling mistakes (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix for loop increment in scarlett2_usb_get_config (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix scarlett2_*_ctl_put() return values again (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix pad count for 18i8 Gen 3 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add support for the talkback feature (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Update get_config to do endian conversion (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add speaker switching support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Update mux controls to allow updates (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add sw_hw_ctls and mux_ctls (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Split up sw_hw_enum_ctl_put() (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Label 18i8 Gen 3 line outputs correctly (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add direct monitor support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add phantom power switch support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add "air" switch support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add support for Solo and 2i2 Gen 3 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Allow bit-level access to config (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Move get config above set config (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add Gen 3 MSD mode switch (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add support for "input-other" notify (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add Gen 3 mixer support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix wrong resume call (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix Level Meter control (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Split struct scarlett2_ports (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Allow arbitrary ordering of mux entries (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add mute support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add scarlett2_vol_ctl_write() helper (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove repeated device info comments (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Move info lookup out of init function (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Improve device info lookup (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Reformat scarlett2_config_items[] (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Merge common line in capture strings (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add "Sync Status" control (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Always enable interrupt polling (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix 6i6 Gen 2 line out descriptions (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Update initialisation sequence (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add usb_tx/rx functions (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix OOB access at proc output (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove hard-coded USB #defines (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Don't copy struct scarlett2_config (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix union usage in mixer control callbacks (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix scarlett2_*_ctl_put() return values (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix data_mutex lock (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add temp variable for consistency (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Rename struct scarlett2_mixer_data (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Rename buttons/interrupts/vol (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove redundant info->button_count (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove interrupt debug message (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove unused/useless code (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Coding style improvements (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix 18i8 Gen 2 PCM Input count (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove incorrect S/PDIF comment (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix rate on Ozone Z90 USB headset (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add support for Denon DN-X1600 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Read mux at init time (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Read mixer volumes at init time (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Factor out DSD bitrev copy function (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Refactoring delay account code (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Pre-calculate buffer byte size (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Make snd_usb_pcm_delay() static (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Remove the repeated declaration (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix uninitialized variable at __uac_clock_find_source() (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Handle error for the current selector gracefully (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Refactoring UAC2/3 clock setup code (Jaroslav Kysela) [2003613] - ALSA: usx2y: Nuke pcm_list (Jaroslav Kysela) [2003613] - ALSA: usx2y: Cleanup probe and disconnect callbacks (Jaroslav Kysela) [2003613] - ALSA: usx2y: Don't call free_pages_exact() with NULL address (Jaroslav Kysela) [2003613] - ALSA: usx2y: Fix shmem initialization (Jaroslav Kysela) [2003613] - ALSA: usxy2: Fix potential doubly allocations (Jaroslav Kysela) [2003613] - ALSA: usx2y: Fix potential memory leaks (Jaroslav Kysela) [2003613] - ALSA: usx2y: Avoid self-killing (Jaroslav Kysela) [2003613] - ALSA: usx2y: Fix potential leaks of uninitialized memory (Jaroslav Kysela) [2003613] - ALSA: usx2y: Coding style fixes (Jaroslav Kysela) [2003613] - ALSA: usx2y: Fix spaces (Jaroslav Kysela) [2003613] - ALSA: usx2y: Avoid camelCase (Jaroslav Kysela) [2003613] - module: remove never implemented MODULE_SUPPORTED_DEVICE (Jaroslav Kysela) [2003613] - ALSA: pcm: Allow exact buffer preallocation (Jaroslav Kysela) [2003613] - ALSA: core: Add device-managed request_dma() (Jaroslav Kysela) [2003613] - ALSA: core: use DEVICE_ATTR_*() macro (Jaroslav Kysela) [2003613] - ALSA: core: Fix double calls of snd_card_free() via devres (Jaroslav Kysela) [2003613] - ALSA: core: Add managed card creation (Jaroslav Kysela) [2003613] - ALSA: pcm: Fix mmap without buffer preallocation (Jaroslav Kysela) [2003613] - ALSA: pcm: Call substream ack() method upon compat mmap commit (Jaroslav Kysela) [2003613] - ALSA: pcm: Fix mmap breakage without explicit buffer setup (Jaroslav Kysela) [2003613] - ALSA: pcm - fix mmap capability check for the snd-dummy driver (Jaroslav Kysela) [2003613] - ALSA: pcm: fix divide error in snd_pcm_lib_ioctl (Jaroslav Kysela) [2003613] - ALSA: memalloc: Catch call with NULL snd_dma_buffer pointer (Jaroslav Kysela) [2003613] - ALSA: memalloc: Remove a stale comment (Jaroslav Kysela) [2003613] - ALSA: memalloc: Use proper SG helpers for noncontig allocations (Jaroslav Kysela) [2003613] - ALSA: memalloc: Fix a typo in snd_dma_buffer_sync() description (Jaroslav Kysela) [2003613] - ALSA: PCM: Fix NULL dereference at mmap checks (Jaroslav Kysela) [2003613] - ALSA: pcm: Check mmap capability of runtime dma buffer at first (Jaroslav Kysela) [2003613] - ALSA: pcm: Fix mmap capability check (Jaroslav Kysela) [2003613] - ALSA: pcm: use krealloc_array() (Jaroslav Kysela) [2003613] - ALSA: pcm: Add SNDRV_PCM_INFO_EXPLICIT_SYNC flag (Jaroslav Kysela) [2003613] - ALSA: pcm: Add more disconnection checks at file ops (Jaroslav Kysela) [2003613] - mm: don't include asm/pgtable.h if linux/mm.h is already included (Jaroslav Kysela) [2003613] - ALSA: memalloc: Fix mmap of SG-buffer with WC pages (Jaroslav Kysela) [2003613] - ALSA: memalloc: Support for non-coherent page allocation (Jaroslav Kysela) [2003613] - ALSA: memalloc: Support for non-contiguous page allocation (Jaroslav Kysela) [2003613] - ALSA: pcm: Unify snd_pcm_delay() and snd_pcm_hwsync() (Jaroslav Kysela) [2003613] - ALSA: core: Fix build error due to missing PAGE_SIZE (Jaroslav Kysela) [2003613] - ALSA: pcm: Workaround for a wrong offset in SYNC_PTR compat ioctl (Jaroslav Kysela) [2003613] - ALSA: memalloc: Count continuous pages in vmalloc buffer handler (Jaroslav Kysela) [2003613] - ALSA: memalloc: Store snd_dma_buffer.addr for continuous pages, too (Jaroslav Kysela) [2003613] - ALSA: memalloc: Fix pgprot for WC mmap on x86 (Jaroslav Kysela) [2003613] - ALSA: memalloc: Support WC allocation on all architectures (Jaroslav Kysela) [2003613] - ALSA: memalloc: Correctly name as WC (Jaroslav Kysela) [2003613] - ALSA: memalloc: Minor refactoring (Jaroslav Kysela) [2003613] - ALSA: memalloc: Fix regression with SNDRV_DMA_TYPE_CONTINUOUS (Jaroslav Kysela) [2003613] - ALSA: core: Add device-managed page allocator helper (Jaroslav Kysela) [2003613] - ALSA: core: Add continuous and vmalloc mmap ops (Jaroslav Kysela) [2003613] - ALSA: core: Move mmap handler into memalloc ops (Jaroslav Kysela) [2003613] - ALSA: core: Abstract memory alloc helpers (Jaroslav Kysela) [2003613] - ALSA: pcm: add snd_pcm_period_elapsed() variant without acquiring lock of PCM substream (Jaroslav Kysela) [2003613] - ALSA: pcm: Block the release until the system resume finishes (Jaroslav Kysela) [2003613] - ALSA: Drop superfluous argument from snd_power_wait() (Jaroslav Kysela) [2003613] - ALSA: pcm: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: core: Drop snd_sgbuf_get_ptr() (Jaroslav Kysela) [2003613] - ALSA: jack: Check the return value of kstrdup() (Jaroslav Kysela) [2003613] - ALSA: seq: oss: Fix error check at system port creation (Jaroslav Kysela) [2003613] - ALSA: seq: Fix comments of wrong client number for MIDI Passthrough (Jaroslav Kysela) [2003613] - ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*() (Jaroslav Kysela) [2003613] - ALSA: pcm: oss: Limit the period size to 16MB (Jaroslav Kysela) [2003613] - ALSA: pcm: oss: Fix negative period/buffer sizes (Jaroslav Kysela) [2003613] - ALSA: iec958: Split status creation and fill (Jaroslav Kysela) [2003613] - ALSA: rawmidi - fix the uninitalized user_pversion (Jaroslav Kysela) [2003613] - ALSA: rawmidi: introduce SNDRV_RAWMIDI_IOCTL_USER_PVERSION (Jaroslav Kysela) [2003613] - ALSA: rawmidi: fix incorrect array bounds check on clock_names (Jaroslav Kysela) [2003613] - ALSA: rawmidi: Add framing mode (Jaroslav Kysela) [2003613] - ALSA: seq: Fix racy deletion of subscriber (Jaroslav Kysela) [2003613] - ALSA: seq: Fix a potential UAF by wrong private_free call order (Jaroslav Kysela) [2003613] - ALSA: seq: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: timer: Unconditionally unlink slave instances, too (Jaroslav Kysela) [2003613] - ALSA: timer: Fix use-after-free problem (Jaroslav Kysela) [2003613] - ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume (Jaroslav Kysela) [2003613] - ALSA: mixer: oss: Fix racy access to slots (Jaroslav Kysela) [2003613] - ALSA: oss: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: core: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: core: control_led: use strscpy instead of strlcpy (Jaroslav Kysela) [2003613] - ALSA: control_led - use DEVICE_ATTR_*() macro (Jaroslav Kysela) [2003613] - ALSA: ctl: Fix copy of updated id with element read/write (Jaroslav Kysela) [2003613] - ALSA: compress: Initialize mutex in snd_compress_new() (Jaroslav Kysela) [2003613] - ALSA: control: Minor optimization for SNDRV_CTL_IOCTL_POWER_STATE (Jaroslav Kysela) [2003613] - ALSA: control: Drop superfluous snd_power_wait() calls (Jaroslav Kysela) [2003613] - ALSA: control: Track in-flight control read/write/tlv accesses (Jaroslav Kysela) [2003613] - ALSA: compress: Drop unused functions (Jaroslav Kysela) [2003613] - regmap: sdw-mbq: use MODULE_LICENSE("GPL") (Jaroslav Kysela) [2003613] - regmap: sdw: use no_pm routines for SoundWire 1.2 MBQ (Jaroslav Kysela) [2003613] - regmap: sdw: use _no_pm functions in regmap_read/write (Jaroslav Kysela) [2003613] - soundwire: stream: Fix test for DP prepare complete (Jaroslav Kysela) [2003613] - soundwire/ASoC: add leading zeroes in peripheral device name (Jaroslav Kysela) [2003613] - soundwire: bandwidth allocation: improve error messages (Jaroslav Kysela) [2003613] - soundwire: dmi-quirks: remove duplicate initialization (Jaroslav Kysela) [2003613] - soundwire: cadence: remove the repeated declaration (Jaroslav Kysela) [2003613] - soundwire: bus: stop dereferencing invalid slave pointer (Jaroslav Kysela) [2003613] - soundwire: bus: add missing \n in dynamic debug (Jaroslav Kysela) [2003613] - soundwire: bus: handle -ENODATA errors in clock stop/start sequences (Jaroslav Kysela) [2003613] - soundwire: qcom: add debugfs entry for soundwire register dump (Jaroslav Kysela) [2003613] - soundwire: debugfs: use controller id and link_id for debugfs (Jaroslav Kysela) [2003613] - soundwire: cadence: do not extend reset delay (Jaroslav Kysela) [2003613] - soundwire: intel: conditionally exit clock stop mode on system suspend (Jaroslav Kysela) [2003613] - soundwire: intel: skip suspend/resume/wake when link was not started (Jaroslav Kysela) [2003613] - soundwire: intel: fix potential race condition during power down (Jaroslav Kysela) [2003613] - soundwire: intel: introduce shim and alh base (Jaroslav Kysela) [2003613] - soundwire: move intel sdw register definitions to sdw_intel.h (Jaroslav Kysela) [2003613] - soundwire: cadence: override PDI configurations to create loopback (Jaroslav Kysela) [2003613] - soundwire: cadence: add debugfs interface for PDI loopbacks (Jaroslav Kysela) [2003613] - soundwire: stream: don't program mockup device ports (Jaroslav Kysela) [2003613] - soundwire: bus: squelch error returned by mockup devices (Jaroslav Kysela) [2003613] - soundwire: stream: don't abort bank switch on Command_Ignored/-ENODATA (Jaroslav Kysela) [2003613] - soundwire: cadence: add paranoid check on self-clearing bits (Jaroslav Kysela) [2003613] - soundwire: dmi-quirks: add quirk for Intel 'Bishop County' NUC M15 (Jaroslav Kysela) [2003613] - soundwire: bus: update Slave status in sdw_clear_slave_status (Jaroslav Kysela) [2003613] - soundwire: cadence: Remove ret variable from sdw_cdns_irq() (Jaroslav Kysela) [2003613] - soundwire: bus: filter out more -EDATA errors on clock stop (Jaroslav Kysela) [2003613] - soundwire: dmi-quirks: add ull suffix for SoundWire _ADR values (Jaroslav Kysela) [2003613] - soundwire: export sdw_update() and sdw_update_no_pm() (Jaroslav Kysela) [2003613] - soundwire: bus: Make sdw_nwrite() data pointer argument const (Jaroslav Kysela) [2003613] - soundwire: intel: move to auxiliary bus (Jaroslav Kysela) [2003613] - soundwire: add missing kernel-doc description (Jaroslav Kysela) [2003613] - soundwire: cadence_master: always set CMD_ACCEPT (Jaroslav Kysela) [2003613] - soundwire: bus: only use CLOCK_STOP_MODE0 and fix confusions (Jaroslav Kysela) [2003613] - software node: Handle software node injection to an existing device properly (Mark Langsdorf) [2032600] - software node: Allow node addition to already existing device (Mark Langsdorf) [2032600] - driver core: clear deferred probe reason on probe retry (Mark Langsdorf) [2032600] - driver core: add deferring probe reason to devices_deferred property (Mark Langsdorf) [2032600] - driver core: Fix locking bug in deferred_probe_timeout_work_func() (Mark Langsdorf) [2032600] - PM: runtime: Fix race getting/putting suppliers at probe (Mark Langsdorf) [2032600] - PM: runtime: Fix ordering in pm_runtime_get_suppliers() (Mark Langsdorf) [2032600] - PM: runtime: Defer suspending suppliers (Mark Langsdorf) [2032600] - software node: Fix device_add_software_node() (Mark Langsdorf) [2032600] - software node: Fix node registration (Mark Langsdorf) [2032600] - drivers/base/memory: don't store phys_device in memory blocks (Mark Langsdorf) [2032600] - arch_numa: fix common code printing of phys_addr_t (Mark Langsdorf) [2032600] - driver core: platform: Drop of_device_node_put() wrapper (Mark Langsdorf) [2032600] - regmap: sdw-mbq: use MODULE_LICENSE("GPL") (Mark Langsdorf) [2032600] - regmap: sdw: use no_pm routines for SoundWire 1.2 MBQ (Mark Langsdorf) [2032600] - regmap: sdw: use _no_pm functions in regmap_read/write (Mark Langsdorf) [2032600] - PM: domains: Mark fwnodes when their powerdomain is added/removed (Mark Langsdorf) [2032600] - driver core: fw_devlink: Handle suppliers that don't use driver core (Mark Langsdorf) [2032600] - driver core: Add fw_devlink.strict kernel param (Mark Langsdorf) [2032600] - driver core: platform: Emit a warning if a remove callback returned non-zero (Mark Langsdorf) [2032600] - PM: domains: Simplify the calculation of variables (Mark Langsdorf) [2032600] - PM: sleep: Use dev_printk() when possible (Mark Langsdorf) [2032600] - media: software_node: Add support for fwnode_graph*() family of functions (Mark Langsdorf) [2032600] - media: software_node: unregister software_nodes in reverse order (Mark Langsdorf) [2032600] - media: software_node: Enforce parent before child ordering of nodes arrays (Mark Langsdorf) [2032600] - media: device property: Call fwnode_graph_get_endpoint_by_id() for fwnode->secondary (Mark Langsdorf) [2032600] - media: device property: Return true in fwnode_device_is_available for NULL ops (Mark Langsdorf) [2032600] - media: software_node: Fix refcounts in software_node_get_next_child() (Mark Langsdorf) [2032600] - PM: domains: Add "performance" column to debug summary (Mark Langsdorf) [2032600] - PM: domains: Make of_genpd_add_subdomain() return -EPROBE_DEFER (Mark Langsdorf) [2032600] - PM: domains: Make set_performance_state() callback optional (Mark Langsdorf) [2032600] - PM: domains: use device's next wakeup to determine domain idle state (Mark Langsdorf) [2032600] - PM: domains: inform PM domain of a device's next wakeup (Mark Langsdorf) [2032600] - PM: runtime: Fix resposible -> responsible in runtime.c (Mark Langsdorf) [2032600] - PM: domains: Restore comment indentation for generic_pm_domain.child_links (Mark Langsdorf) [2032600] - PM: domains: Fix up terminology with parent/child (Mark Langsdorf) [2032600] - regmap: Assign boolean values to a bool variable (Mark Langsdorf) [2032600] - software node: Introduce device_add_software_node() (Mark Langsdorf) [2032600] - numa: Move numa implementation to common code (Mark Langsdorf) [2032600] - arm64, numa: Change the numa init functions name to be generic (Mark Langsdorf) [2032600] - driver core: fw_devlink_relax_cycle() can be static (Mark Langsdorf) [2032600] - driver core: Handle cycles in device links created by fw_devlink (Mark Langsdorf) [2032600] - driver core: Have fw_devlink use DL_FLAG_INFERRED (Mark Langsdorf) [2032600] - driver core: Add device link support for INFERRED flag (Mark Langsdorf) [2032600] - drivers: base: Kconfig: fix spelling mistake "heterogenous" -> "heterogeneous" (Mark Langsdorf) [2032600] - driver core: Add debug logs for device link related probe deferrals (Mark Langsdorf) [2032600] - drivers: base: remove unused function find_bus() (Mark Langsdorf) [2032600] - PM: runtime: Drop runtime PM references to supplier on link removal (Mark Langsdorf) [2032600] - dmaengine: idxd: Add wq occupancy information to sysfs attribute (Julia Denham) [1971887] - vdpa/mlx5: Forward only packets with allowed MAC address (Cindy Lu) [2031595] - vdpa/mlx5: Support configuration of MAC (Cindy Lu) [2031595] - vdpa/mlx5: Fix clearing of VIRTIO_NET_F_MAC feature bit (Cindy Lu) [2031595] - vdpa_sim_net: Enable user to set mac address and mtu (Cindy Lu) [2031595] - vdpa: Enable user to set mac and mtu of vdpa device (Cindy Lu) [2031595] - vdpa: Use kernel coding style for structure comments (Cindy Lu) [2031595] - vdpa: Introduce query of device config layout (Cindy Lu) [2031595] - vdpa: Introduce and use vdpa device get, set config helpers (Cindy Lu) [2031595] - vdpa/mlx5: Propagate link status from device to vdpa driver (Cindy Lu) [2031595] - vdpa/mlx5: Rename control VQ workqueue to vdpa wq (Cindy Lu) [2031595] - vdpa/mlx5: Remove mtu field from vdpa net device (Cindy Lu) [2031595] - eni_vdpa: add vDPA driver for Alibaba ENI (Cindy Lu) [2031595] - vdpa: add new attribute VDPA_ATTR_DEV_MIN_VQ_SIZE (Cindy Lu) [2031595] - virtio_vdpa: setup correct vq size with callbacks get_vq_num_{max,min} (Cindy Lu) [2031595] - vdpa: min vq num of vdpa device cannot be greater than max vq num (Cindy Lu) [2031595] - vdpa: add new callback get_vq_num_min in vdpa_config_ops (Cindy Lu) [2031595] - vp_vdpa: add vq irq offloading support (Cindy Lu) [2031595] - vdpa: fix typo (Cindy Lu) [2031595] - vhost-vdpa: Fix the wrong input in config_cb (Cindy Lu) [2031595] - vhost_vdpa: unset vq irq before freeing irq (Cindy Lu) [2031595] - vdpa: potential uninitialized return in vhost_vdpa_va_map() (Cindy Lu) [2031595] - vdpa/mlx5: Avoid executing set_vq_ready() if device is reset (Cindy Lu) [2031595] - vdpa/mlx5: Clear ready indication for control VQ (Cindy Lu) [2031595] - vdpa: Support transferring virtual addressing during DMA mapping (Cindy Lu) [2031595] - vdpa: factor out vhost_vdpa_pa_map() and vhost_vdpa_pa_unmap() (Cindy Lu) [2031595] - vdpa: Add an opaque pointer for vdpa_config_ops.dma_map() (Cindy Lu) [2031595] - vhost-iotlb: Add an opaque pointer for vhost IOTLB (Cindy Lu) [2031595] - vhost-vdpa: Handle the failure of vdpa_reset() (Cindy Lu) [2031595] - vdpa: Add reset callback in vdpa_config_ops (Cindy Lu) [2031595] - vdpa: Fix some coding style issues (Cindy Lu) [2031595] - vdpa: Make use of PFN_PHYS/PFN_UP/PFN_DOWN helper macro (Cindy Lu) [2031595] - vdpa_sim: Use iova_shift() for the size passed to alloc_iova() (Cindy Lu) [2031595] - vdpa/mlx5: Add multiqueue support (Cindy Lu) [2031595] - vdpa/mlx5: Add support for control VQ and MAC setting (Cindy Lu) [2031595] - vdpa/mlx5: Ensure valid indices are provided (Cindy Lu) [2031595] - vdpa/mlx5: Decouple virtqueue callback from struct mlx5_vdpa_virtqueue (Cindy Lu) [2031595] - vdpa/mlx5: function prototype modifications in preparation to control VQ (Cindy Lu) [2031595] - vdpa/mlx5: Remove redundant header file inclusion (Cindy Lu) [2031595] - vDPA/ifcvf: enable multiqueue and control vq (Cindy Lu) [2031595] - vDPA/ifcvf: detect and use the onboard number of queues directly (Cindy Lu) [2031595] - vDPA/ifcvf: implement management netlink framework for ifcvf (Cindy Lu) [2031595] - vDPA/ifcvf: introduce get_dev_type() which returns virtio dev id (Cindy Lu) [2031595] - vdpa/mlx5: Fix queue type selection logic (Cindy Lu) [2031595] - vdpa/mlx5: Avoid destroying MR on empty iotlb (Cindy Lu) [2031595] - virtio_vdpa: reject invalid vq indices (Cindy Lu) [2031595] - vdpa: Add documentation for vdpa_alloc_device() macro (Cindy Lu) [2031595] - vDPA/ifcvf: Fix return value check for vdpa_alloc_device() (Cindy Lu) [2031595] - vp_vdpa: Fix return value check for vdpa_alloc_device() (Cindy Lu) [2031595] - vdpa_sim: Fix return value check for vdpa_alloc_device() (Cindy Lu) [2031595] - vhost: Fix the calculation in vhost_overflow() (Cindy Lu) [2031595] - vhost-vdpa: Fix integer overflow in vhost_vdpa_process_iotlb_update() (Cindy Lu) [2031595] - iommu/vt-d: Fix unmap_pages support (Jerry Snitselaar) [2027765] - dm sysfs: use default_groups in kobj_type (Benjamin Marzinski) [2047358] - dm space map common: add bounds check to sm_ll_lookup_bitmap() (Benjamin Marzinski) [2047358] - dm btree: add a defensive bounds check to insert_at() (Benjamin Marzinski) [2047358] - dm btree remove: change a bunch of BUG_ON() calls to proper errors (Benjamin Marzinski) [2047358] - dm btree spine: eliminate duplicate le32_to_cpu() in node_check() (Benjamin Marzinski) [2047358] - dm btree spine: remove extra node_check function declaration (Benjamin Marzinski) [2047358] - selftests/bpf: Adding delay in socketmap_listen to reduce flakyness (Felix Maurer) [2026433] - net: openvswitch: Fix ct_state nat flags for conns arriving from tc (Marcelo Ricardo Leitner) [2040334] - net: openvswitch: Fix matching zone id for invalid conns arriving from tc (Marcelo Ricardo Leitner) [2040452] - net/sched: flow_dissector: Fix matching on zone id for invalid conns (Marcelo Ricardo Leitner) [2040452] - net/sched: Extend qdisc control block with tc control block (Marcelo Ricardo Leitner) [2040452] - mm: Fix an use-after-free error in mm_struct (Waiman Long) [2046161] - rh_flags: Rename rh_features to rh_flags (Prarit Bhargava) [2021700] - redhat: add initial rpminspect configuration (Augusto Caringi)- can: raw: raw_setsockopt(): fix raw_rcv panic for sock UAF (Balazs Nemeth) [2026692] - drm/vmwgfx: Fix stale file descriptors on failed usercopy (Dave Airlie) [2047602] {CVE-2022-22942} - drm/i915: Flush TLBs before releasing backing store (Dave Airlie) [2044329] {CVE-2022-0330} - [s390] s390/pci: move pseudo-MMIO to prevent MIO overlap (Mete Durlu) [2047757] - [s390] scsi: zfcp: Fix failed recovery on gone remote port with non-NPIV FCP devices (Mete Durlu) [2048919] - tun: fix bonding active backup with arp monitoring (Jonathan Toppins) [2024964] - x86/hyperv: Properly deal with empty cpumasks in hyperv_flush_tlb_multi() (Vitaly Kuznetsov) [2044237] - xfs: check sb_meta_uuid for dabuf buffer recovery (Bill O'Donnell) [2020764] - vfs: fs_context: fix up param length parsing in legacy_parse_param (Carlos Maiolino) [2040586] {CVE-2022-0185} - KVM: nVMX: Allow VMREAD when Enlightened VMCS is in use (Vitaly Kuznetsov) [2012105] - KVM: nVMX: Implement evmcs_field_offset() suitable for handle_vmread() (Vitaly Kuznetsov) [2012105] - KVM: nVMX: Rename vmcs_to_field_offset{,_table} (Vitaly Kuznetsov) [2012105] - KVM: nVMX: eVMCS: Filter out VM_EXIT_SAVE_VMX_PREEMPTION_TIMER (Vitaly Kuznetsov) [2012105] - KVM: nVMX: Also filter MSR_IA32_VMX_TRUE_PINBASED_CTLS when eVMCS (Vitaly Kuznetsov) [2012105] - KVM: nVMX: Use INVALID_GPA for pointers used in nVMX. (Vitaly Kuznetsov) [2012105] - x86/kvm: Always inline evmcs_write64() (Vitaly Kuznetsov) [2012105] - powerpc/powernv: Remove POWER9 PVR version check for entry and uaccess flushes (Diego Domingos) [2030954] - powerpc/pesries: Get STF barrier requirement from H_GET_CPU_CHARACTERISTICS (Diego Domingos) [2030954] - powerpc/security: Add a security feature for STF barrier (Diego Domingos) [2030954] - powerpc/pseries: Get entry and uaccess flush required bits from H_GET_CPU_CHARACTERISTICS (Diego Domingos) [2030954] - drm/nouveau/disp/dp: add support for eDP link rates (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: add support for hbr3 (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: add support for lttprs (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: fixup cr/eq delays for 1.4 (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: add support for tps4 (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: generate supported link rates table at detect time (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: explicitly control scrambling when setting pattern (Ben Skeggs) [2043523] - drm/nouveau/disp: remove some remnant of a rework (Ben Skeggs) [2043523] - drm/nouveau: recognise GA106 (Ben Skeggs) [2043523] - redhat/scripts: Update merge-subtrees.sh (Prarit Bhargava)- pinctrl: amd: Fix wakeups when IRQ is shared with SCI (Renjith Pananchikkal) [2039124] - bonding: fix ad_actor_system option setting to default (Jonathan Toppins) [2042564 1931881] - bonding: make tx_rebalance_counter an atomic (Jonathan Toppins) [2042564] - bonding: Fix a use-after-free problem when bond_sysfs_slave_add() failed (Jonathan Toppins) [2042564] - bonding: 3ad: pass parameter bond_params by reference (Jonathan Toppins) [2042564] - bonding: complain about missing route only once for A/B ARP probes (Jonathan Toppins) [2042564] - bonding: improve nl error msg when device can't be enslaved because of IFF_MASTER (Jonathan Toppins) [2042564] - bonding: combine netlink and console error messages (Jonathan Toppins) [2042564] - bonding: add new option lacp_active (Jonathan Toppins) [2042564] - bonding: 3ad: fix the concurrency between __bond_release_one() and bond_3ad_state_machine_handler() (Jonathan Toppins) [2042564] - bonding: fix build issue (Jonathan Toppins) [2042564] - bonding: fix incorrect return value of bond_ipsec_offload_ok() (Jonathan Toppins) [2042564] - bonding: fix suspicious RCU usage in bond_ipsec_offload_ok() (Jonathan Toppins) [2042564] - bonding: Add struct bond_ipesc to manage SA (Jonathan Toppins) [2042564] - bonding: disallow setting nested bonding + ipsec offload (Jonathan Toppins) [2042564] - bonding: fix suspicious RCU usage in bond_ipsec_del_sa() (Jonathan Toppins) [2042564] - bonding: fix null dereference in bond_ipsec_add_sa() (Jonathan Toppins) [2042564] - bonding: fix suspicious RCU usage in bond_ipsec_add_sa() (Jonathan Toppins) [2042564] - net: bonding: Use per-cpu rr_tx_counter (Jonathan Toppins) [2042564] - bonding: remove redundant initialization of variable ret (Jonathan Toppins) [2042564] - net: bonding: Use strscpy_pad() instead of manually-truncated strncpy() (Jonathan Toppins) [2042564] - bonding: init notify_work earlier to avoid uninitialized use (Jonathan Toppins) [2042564] - bonding: 3ad: Fix the conflict between bond_update_slave_arr and the state machine (Jonathan Toppins) [2042564] - scsi: lpfc: Update lpfc version to 14.0.0.4 (Dick Kennedy) [2034276] - scsi: lpfc: Add additional debugfs support for CMF (Dick Kennedy) [2034276] - scsi: lpfc: Cap CMF read bytes to MBPI (Dick Kennedy) [2034276] - scsi: lpfc: Adjust CMF total bytes and rxmonitor (Dick Kennedy) [2034276] - scsi: lpfc: Trigger SLI4 firmware dump before doing driver cleanup (Dick Kennedy) [2034276] - scsi: lpfc: Fix NPIV port deletion crash (Dick Kennedy) [2034276] - scsi: lpfc: Fix lpfc_force_rscn ndlp kref imbalance (Dick Kennedy) [2034276] - scsi: lpfc: Change return code on I/Os received during link bounce (Dick Kennedy) [2034276] - scsi: lpfc: Fix leaked lpfc_dmabuf mbox allocations with NPIV (Dick Kennedy) [2034276] - ppp: ensure minimum packet size in ppp_write() (Guillaume Nault) [2042937] - KVM: VMX: switch blocked_vcpu_on_cpu_lock to raw spinlock (Marcelo Tosatti) [2034126] - configs: Enable CONFIG_THINKPAD_LMI on x86_64 (Mark Pearson) [2030772] - platform/x86: think-lmi: Abort probe on analyze failure (Mark Pearson) [2030772] - platform/x86: think-lmi: add debug_cmd (Mark Pearson) [2030772] - platform/x86: think-lmi: Fix possible mem-leaks on tlmi_analyze() error-exit (Mark Pearson) [2030772] - platform/x86: think-lmi: Split kobject_init() and kobject_add() calls (Mark Pearson) [2030772] - platform/x86: think-lmi: Move pending_reboot_attr to the attributes sysfs dir (Mark Pearson) [2030772] - platform/x86: think-lmi: Add pending_reboot support (Mark Pearson) [2030772] - platform/x86: think-lmi: Move kfree(setting->possible_values) to tlmi_attr_setting_release() (Mark Pearson) [2030772] - platform/x86: think-lmi: Split current_value to reflect only the value (Mark Pearson) [2030772] - platform/x86: think-lmi: Fix issues with duplicate attributes (Mark Pearson) [2030772] - platform/x86: think-lmi: Return EINVAL when kbdlang gets set to a 0 length string (Mark Pearson) [2030772] - platform/x86: think-lmi: Add missing MODULE_DEVICE_TABLE (Mark Pearson) [2030772] - platform/x86: think-lmi: Avoid potential read before start of the buffer (Mark Pearson) [2030772] - platform/x86: think-lmi: Fix check for admin password being set (Mark Pearson) [2030772] - platform/x86: dell-wmi-sysman/think-lmi: Make fw_attr_class global static (Mark Pearson) [2030772] - platform/x86: thinkpad-lmi: Remove unused display_name member from struct tlmi_pwd_setting (Mark Pearson) [2030772] - platform/x86: think-lmi: Add WMI interface support on Lenovo platforms (Mark Pearson) [2030772] - platform/x86: dell-wmi-sysman: fw_attr_inuse can be static (Mark Pearson) [2030772] - platform/x86: dell-wmi-sysman: Use firmware_attributes_class helper (Mark Pearson) [2030772] - platform/x86: firmware_attributes_class: Create helper file for handling firmware-attributes class registration events (Mark Pearson) [2030772] - x86/apic: Handle missing global clockevent gracefully (Lenny Szubowicz) [2033197] - RDMA/core: Don't infoleak GRH fields (Kamal Heib) [2036597] - RDMA/uverbs: Check for null return of kmalloc_array (Kamal Heib) [2036597] - RDMA/sa_query: Use strscpy_pad instead of memcpy to copy a string (Kamal Heib) [2036597] - RDMA/rw: switch to dma_map_sgtable() (Kamal Heib) [2036597] - RDMA/cma: Ensure rdma_addr_cancel() happens before issuing more requests (Kamal Heib) [2036597] - RDMA/cma: Fix listener leak in rdma_cma_listen_on_all() failure (Kamal Heib) [2036597] - RDMA/iwcm: Release resources if iw_cm module initialization fails (Kamal Heib) [2036597] - net: Set true network header for ECN decapsulation (Antoine Tenart) [2045059] - powerpc/bpf: Update ldimm64 instructions during extra pass (Yauheni Kaliuta) [2035973] - selftests: bpf: Fix bind on used port (Felix Maurer) [2025795] - bpf/selftests: Fix namespace mount setup in tc_redirect (Jiri Olsa) [2036016] - selftests/bpf: Fix possible/online index mismatch in perf_buffer test (Yauheni Kaliuta) [2039602] - selftests/bpf: Fix perf_buffer test on system with offline cpus (Yauheni Kaliuta) [2039602] - tracing: Tag trace_percpu_buffer as a percpu pointer (Jerome Marchand) [2031604] - tracing: Fix check for trace_percpu_buffer validity in get_trace_buf() (Jerome Marchand) [2031604] - hwmon: (k10temp) Support up to 12 CCDs on AMD Family of processors (David Arcari) [2022539] - hwmon: (k10temp) Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh (David Arcari) [2022539] - hwmon: (k10temp) Remove unused definitions (David Arcari) [2022539] - x86/amd_nb: Add AMD Family 19h Models (10h-1Fh) and (A0h-AFh) PCI IDs (David Arcari) [2022539] - hwmon: (k10temp) Remove residues of current and voltage (David Arcari) [2022539] - hwmon: (k10temp) Update driver documentation (David Arcari) [2022539] - hwmon: (k10temp) Update documentation and add temp2_input info (David Arcari) [2022539] - docs: hwmon: k10temp: convert to ReST format (David Arcari) [2022539] - mptcp: fix deadlock in __mptcp_push_pending() (Davide Caratti) [2043598] - mptcp: clear 'kern' flag from fallback sockets (Davide Caratti) [2043598] - mptcp: remove tcp ulp setsockopt support (Davide Caratti) [2043598] - mptcp: never allow the PM to close a listener subflow (Davide Caratti) [2043598]- redhat: set LC_ALL=C before sorting config content (Frantisek Hrbata) - net: mana: Add RX fencing (Mohammed Gamal) [2030132] - net: mana: Add XDP support (Mohammed Gamal) [2030132] - net: mana: Fix memory leak in mana_hwc_create_wq (Mohammed Gamal) [2030132] - net: mana: Fix spelling mistake "calledd" -> "called" (Mohammed Gamal) [2030132] - net: mana: Support hibernation and kexec (Mohammed Gamal) [2030132] - net: mana: Improve the HWC error handling (Mohammed Gamal) [2030132] - net: mana: Report OS info to the PF driver (Mohammed Gamal) [2030132] - net: mana: Fix the netdev_err()'s vPort argument in mana_init_port() (Mohammed Gamal) [2030132] - net: mana: Allow setting the number of queues while the NIC is down (Mohammed Gamal) [2030132] - net: stmmac: Add GFP_DMA32 for rx buffers if no 64 capability (Mark Salter) [1989540] - net: stmmac: Fix potential integer overflow (Mark Salter) [1989540] - net: stmmac: fix issue where clk is being unprepared twice (Mark Salter) [1989540] - net: stmmac: fix kernel panic due to NULL pointer dereference of mdio_bus_data (Mark Salter) [1989540] - net: stmmac: fix system hang if change mac address after interface ifdown (Mark Salter) [1989540] - net: stmmac: correct clocks enabled in stmmac_vlan_rx_kill_vid() (Mark Salter) [1989540] - net: remove the mutex_acquire from __lock_sock_fast (Xin Long) [2026612] - net: core: Correct the sock::sk_lock.owned lockdep annotations (Xin Long) [2026612] - inet: use bigger hash table for IP ID generation (Xin Long) [2039969] {CVE-2021-45486} - net: revert "net: get rid of an signed integer overflow in ip_idents_reserve()" (Xin Long) [2039969] - net/mlx5: DR, Use FW API when updating FW-owned flow table (Michal Schmidt) [2042651] - ipv6: Continue processing multipath route even if gateway attribute is invalid (Hangbin Liu) [2041375] - ipv6: Check attribute length for RTA_GATEWAY when deleting multipath route (Hangbin Liu) [2041375] - ipv6: Do cleanup if attribute validation fails in multipath route (Hangbin Liu) [2041375] - ipv6: Check attribute length for RTA_GATEWAY in multipath route (Hangbin Liu) [2041375] - rtw89: fix maybe-uninitialized error (Íñigo Huguet) [2033291] - rtw89: enable driver and device RTL8852AE (Íñigo Huguet) [2033291] - rtw89: fix maybe-uninitialized error (RHEL only) (Íñigo Huguet) [2033291] - rtw89: 8852a: correct bit definition of dfs_en (Íñigo Huguet) [2033291] - rtw89: coex: Update COEX to 5.5.8 (Íñigo Huguet) [2033291] - rtw89: coex: Cancel PS leaving while C2H comes (Íñigo Huguet) [2033291] - rtw89: coex: Update BT counters while receiving report (Íñigo Huguet) [2033291] - rtw89: coex: Define LPS state for BTC using (Íñigo Huguet) [2033291] - rtw89: coex: Add MAC API to get BT polluted counter (Íñigo Huguet) [2033291] - rtw89: coex: Not to send H2C when WL not ready and count H2C (Íñigo Huguet) [2033291] - rtw89: coex: correct C2H header length (Íñigo Huguet) [2033291] - rtw89: don't kick off TX DMA if failed to write skb (Íñigo Huguet) [2033291] - rtw89: remove cch_by_bw which is not used (Íñigo Huguet) [2033291] - rtw89: fix sending wrong rtwsta->mac_id to firmware to fill address CAM (Íñigo Huguet) [2033291] - rtw89: fix incorrect channel info during scan (Íñigo Huguet) [2033291] - rtw89: update scan_mac_addr during scanning period (Íñigo Huguet) [2033291] - rtw89: use inline function instead macro to set H2C and CAM (Íñigo Huguet) [2033291] - rtw89: add const in the cast of le32_get_bits() (Íñigo Huguet) [2033291] - rtw89: add AXIDMA and TX FIFO dump in mac_mem_dump (Íñigo Huguet) [2033291] - rtw89: fix potentially access out of range of RF register array (Íñigo Huguet) [2033291] - rtw89: remove unneeded variable (Íñigo Huguet) [2033291] - rtw89: remove unnecessary conditional operators (Íñigo Huguet) [2033291] - rtw89: update rtw89_regulatory map to R58-R31 (Íñigo Huguet) [2033291] - rtw89: update tx power limit/limit_ru tables to R54 (Íñigo Huguet) [2033291] - rtw89: update rtw89 regulation definition to R58-R31 (Íñigo Huguet) [2033291] - rtw89: fill regd field of limit/limit_ru tables by enum (Íñigo Huguet) [2033291] - rtw89: update partition size of firmware header on skb->data (Íñigo Huguet) [2033291] - rtw89: Fix variable dereferenced before check 'sta' (Íñigo Huguet) [2033291] - rtw89: fix return value in hfc_pub_cfg_chk (Íñigo Huguet) [2033291] - rtw89: remove duplicate register definitions (Íñigo Huguet) [2033291] - rtw89: fix error function parameter (Íñigo Huguet) [2033291] - rtw89: remove unneeded semicolon (Íñigo Huguet) [2033291] - rtw89: fix return value check in rtw89_cam_send_sec_key_cmd() (Íñigo Huguet) [2033291] - rtw89: Remove redundant check of ret after call to rtw89_mac_enable_bb_rf (Íñigo Huguet) [2033291] - rtw89: Fix two spelling mistakes in debug messages (Íñigo Huguet) [2033291] - rtw89: add Realtek 802.11ax driver (Íñigo Huguet) [2033291] - powerpc/doc: Fix htmldocs errors (Diego Domingos) [2004798] - pseries/drmem: update LMBs after LPM (Diego Domingos) [2004798] - powerpc/pseries: Add support for FORM2 associativity (Diego Domingos) [2004798] - powerpc/pseries: Add a helper for form1 cpu distance (Diego Domingos) [2004798] - powerpc/pseries: Consolidate different NUMA distance update code paths (Diego Domingos) [2004798] - powerpc/pseries: Rename TYPE1_AFFINITY to FORM1_AFFINITY (Diego Domingos) [2004798] - powerpc/pseries: rename min_common_depth to primary_domain_index (Diego Domingos) [2004798] - powerpc/numa: Fix build when CONFIG_NUMA=n (Diego Domingos) [2004798] - pseries/hotplug-memory: hot-add: skip redundant LMB lookup (Diego Domingos) [2004798] - selftests: icmp_redirect: pass xfail=0 to log_test() (Hangbin Liu) [2041308] - selftests: net: Correct ping6 expected rc from 2 to 1 (Hangbin Liu) [2041308] - mt76: enable new device MT7921E (Íñigo Huguet) [2024056 1972045] - vrf: Reset IPCB/IP6CB when processing outbound pkts in vrf dev xmit (Antoine Tenart) [2044254] - SUNRPC: prevent port reuse on transports which don't request it. (Benjamin Coddington) [2016646] - SUNRPC: Fix races when closing the socket (Benjamin Coddington) [2016646] - SUNRPC: Prevent immediate close+reconnect (Benjamin Coddington) [2016646] - SUNRPC: Clean up scheduling of autoclose (Benjamin Coddington) [2016646] - SUNRPC: Fix potential memory corruption (Benjamin Coddington) [2016646] - sunrpc: remove unnecessary test in rpc_task_set_client() (Benjamin Coddington) [2016646] - SUNRPC: Replace use of socket sk_callback_lock with sock_lock (Benjamin Coddington) [2016646] - arm64: numa: simplify dummy_numa_init() (Vitaly Kuznetsov) [2029774] - ACPI: NUMA: Process hotpluggable memblocks when !CONFIG_MEMORY_HOTPLUG (Vitaly Kuznetsov) [2029774] - s390/sclp: fix Secure-IPL facility detection (Stefan Schulze Frielinghaus) [2039182] - powerpc/pseries/mobility: ignore ibm, platform-facilities updates (Diego Domingos) [2031827] - of: Fix property name in of_node_get_device_type (Diego Domingos) [2031827] - of: Add device_type access helper functions (Diego Domingos) [2031827] - powerpc/watchdog: help remote CPUs to flush NMI printk output (Diego Domingos) [2030259] - powerpc/watchdog: Fix wd_smp_last_reset_tb reporting (Diego Domingos) [2030259] - powerpc/watchdog: read TB close to where it is used (Diego Domingos) [2030259] - powerpc/watchdog: Avoid holding wd_smp_lock over printk and smp_send_nmi_ipi (Diego Domingos) [2030259] - powerpc/watchdog: tighten non-atomic read-modify-write access (Diego Domingos) [2030259] - powerpc/watchdog: Fix missed watchdog reset due to memory ordering race (Diego Domingos) [2030259] - selftests/sgx: Fix corrupted cpuid macro invocation (Vladis Dronov) [1920030] - x86/sgx: Fix minor documentation issues (Vladis Dronov) [1920030] - selftests/sgx: Add test for multiple TCS entry (Vladis Dronov) [1920030] - selftests/sgx: Enable multiple thread support (Vladis Dronov) [1920030] - selftests/sgx: Add page permission and exception test (Vladis Dronov) [1920030] - selftests/sgx: Rename test properties in preparation for more enclave tests (Vladis Dronov) [1920030] - selftests/sgx: Provide per-op parameter structs for the test enclave (Vladis Dronov) [1920030] - selftests/sgx: Add a new kselftest: Unclobbered_vdso_oversubscribed (Vladis Dronov) [1920030] - selftests/sgx: Move setup_test_encl() to each TEST_F() (Vladis Dronov) [1920030] - selftests/sgx: Encpsulate the test enclave creation (Vladis Dronov) [1920030] - selftests/sgx: Dump segments and /proc/self/maps only on failure (Vladis Dronov) [1920030] - selftests/sgx: Create a heap for the test enclave (Vladis Dronov) [1920030] - selftests/sgx: Make data measurement for an enclave segment optional (Vladis Dronov) [1920030] - selftests/sgx: Assign source for each segment (Vladis Dronov) [1920030] - selftests/sgx: Fix a benign linker warning (Vladis Dronov) [1920030] - x86/sgx: Fix free page accounting (Vladis Dronov) [1920030] - x86/sgx: Add check for SGX pages to ghes_do_memory_failure() (Vladis Dronov) [1920030] - x86/sgx: Add hook to error injection address validation (Vladis Dronov) [1920030] - x86/sgx: Hook arch_memory_failure() into mainline code (Vladis Dronov) [1920030] - x86/sgx: Add SGX infrastructure to recover from poison (Vladis Dronov) [1920030] - x86/sgx: Initial poison handling for dirty and free pages (Vladis Dronov) [1920030] - x86/sgx: Add infrastructure to identify SGX EPC pages (Vladis Dronov) [1920030] - x86/sgx: Add new sgx_epc_page flag bit to mark free pages (Vladis Dronov) [1920030] - selftests/sgx: Fix Q1 and Q2 calculation in sigstruct.c (Vladis Dronov) [1920030] - selftests/sgx: remove checks for file execute permissions (Vladis Dronov) [1920030] - selftests/sgx: Refine the test enclave to have storage (Vladis Dronov) [1920030] - selftests/sgx: Add EXPECT_EEXIT() macro (Vladis Dronov) [1920030] - selftests/sgx: Dump enclave memory map (Vladis Dronov) [1920030] - selftests/sgx: Migrate to kselftest harness (Vladis Dronov) [1920030] - selftests/sgx: Rename 'eenter' and 'sgx_call_vdso' (Vladis Dronov) [1920030] - x86/sgx: Add missing xa_destroy() when virtual EPC is destroyed (Vladis Dronov) [1920030] - x86/sgx: Correct kernel-doc's arg name in sgx_encl_release() (Vladis Dronov) [1920030] - x86: Fix leftover comment typos (Vladis Dronov) [1920030] - mm,hwpoison: return -EHWPOISON to denote that the page has already been poisoned (Vladis Dronov) [1920030] - mm/memory-failure: use a mutex to avoid memory_failure() races (Vladis Dronov) [1920030] - mm,hwpoison: take free pages off the buddy freelists (Vladis Dronov) [1920030] - sched/fair: Consider SMT in ASYM_PACKING load balance (Prarit Bhargava) [1971924] - sched/fair: Carve out logic to mark a group for asymmetric packing (Prarit Bhargava) [1971924] - sched/fair: Provide update_sg_lb_stats() with sched domain statistics (Prarit Bhargava) [1971924] - sched/fair: Optimize checking for group_asym_packing (Prarit Bhargava) [1971924] - sched/topology: Introduce sched_group::flags (Prarit Bhargava) [1971924] - x86/sched: Decrease further the priorities of SMT siblings (Prarit Bhargava) [1971924]- nvme-fc: remove freeze/unfreeze around update_nr_hw_queues (Ewan D. Milne) [1996109] - nvme-fc: avoid race between time out and tear down (Ewan D. Milne) [1996109] - nvme-fc: update hardware queues before using them (Ewan D. Milne) [1996109] - igbvf: Refactor trace (Corinna Vinschen) [2039886] - igbvf: fix double free in `igbvf_probe` (Corinna Vinschen) [2039886] - mm/memory_hotplug: remove is_mem_section_removable() (David Hildenbrand) [2008072] - powerpc/pseries/hotplug-memory: stop checking is_mem_section_removable() (David Hildenbrand) [2008072] - drivers/base/memory.c: indicate all memory blocks as removable (David Hildenbrand) [2008072] - drivers/base/memory.c: fixup documentation of removable/phys_index/block_size_bytes (David Hildenbrand) [2008072] - Revert "mpi3mr: mark as tech preview" (Tomas Henzl) [1989634] - scsi: core: Avoid printing an error if target_alloc() returns -ENXIO (Tomas Henzl) [1977833] - scsi: mpi3mr: Use scnprintf() instead of snprintf() (Tomas Henzl) [1998599] - scsi: mpi3mr: Fix duplicate device entries when scanning through sysfs (Tomas Henzl) [1998599] - scsi: mpi3mr: Clean up mpi3mr_print_ioc_info() (Tomas Henzl) [1989634] - scsi: mpi3mr: Set up IRQs in resume path (Tomas Henzl) [1991577] - Revert "scsi: lpfc: ls_rjt erroneus FLOGIs" (Dick Kennedy) [2032488] - pseries/eeh: Fix the kdump kernel crash during eeh_pseries_init (Steve Best) [2028253] - arm64: smp: Add missing prototype for some smp.c functions (Mark Salter) [1996738] - irqchip/gic-v3-its: Remove unnecessary oom message (Mark Salter) [1996738] - irqchip/gic-v2m: Remove unnecessary oom message (Mark Salter) [1996738] - irqchip/gic: Split vGIC probing information from the GIC code (Mark Salter) [1996738] - irqchip/gic-v3: Workaround inconsistent PMR setting on NMI entry (Mark Salter) [1996738] - irqchip/gic-v3: Do not enable irqs when handling spurious interrups (Mark Salter) [1996738] - irqchip/gic-v4.1: Disable vSGI upon (GIC CPUIF < v4.1) detection (Mark Salter) [1996738] - irqchip/gic-v3: Fix OF_BAD_ADDR error handling (Mark Salter) [1996738] - arm64: Move ICH_ sysreg bits from arm-gic-v3.h to sysreg.h (Mark Salter) [1996738] - irqchip/gic-v3-its: Drop the setting of PTZ altogether (Mark Salter) [1996738] - irqchip/gic-v3-its: Add a cache invalidation right after vPE unmapping (Mark Salter) [1996738] - irqchip/gic-v3: Fix typos in PMR/RPR SCR_EL3.FIQ handling explanation (Mark Salter) [1996738] - genirq/msi: Initialize msi_alloc_info before calling msi_domain_prepare_irqs() (Mark Salter) [1996738] - irqchip/gic: Spelling s/REturn/Return/ (Mark Salter) [1996738] - irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend (Mark Salter) [1996738] - irq-chip/gic-v3-its: Fix crash if ITS is in a proximity domain without processor or memory (Mark Salter) [1996738] - irqchip/gic: Cleanup Franken-GIC handling (Mark Salter) [1996738] - arm64: Implement panic_smp_self_stop() (Mark Salter) [1996738] - arm64: Improve parking of stopped CPUs (Mark Salter) [1996738] - genirq: Allow interrupts to be excluded from /proc/interrupts (Mark Salter) [1996738] - irqchip/gic-v3: Support pseudo-NMIs when SCR_EL3.FIQ == 0 (Mark Salter) [1996738] - irqchip/gic-v3: Spell out when pseudo-NMIs are enabled (Mark Salter) [1996738] - irqchip/gic-v2, v3: Prevent SW resends entirely (Mark Salter) [1996738] - irqchip/git-v3-its: Implement irq_retrigger callback for device-triggered LPIs (Mark Salter) [1996738] - irqchip/gic-v2, v3: Implement irq_chip->irq_retrigger() (Mark Salter) [1996738] - irqchip/gic-v4.1: Use GFP_ATOMIC flag in allocate_vpe_l1_table() (Mark Salter) [1996738] - irqchip/gic-v4.1: Ensure accessing the correct RD when writing INVALLR (Mark Salter) [1996738] - irqchip/gic-v3: Remove unused register definition (Mark Salter) [1996738] - drivers/irqchip: Use new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY (Mark Salter) [1996738] - drivers/acpi: Add new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY (Mark Salter) [1996738] - KVM: arm64: vgic-v4: Plug race between non-residency and v4.1 doorbell (Mark Salter) [1996738] - irqchip/gic: Atomically update affinity (Mark Salter) [1996738] - irqchip/gic-v4.1: Use readx_poll_timeout_atomic() to fix sleep in atomic (Mark Salter) [1996738] - irqchip/gic-v2, v3: Drop extra IRQ_NOAUTOEN setting for (E)PPIs (Mark Salter) [1996738] - irqchip/gic-v3-its: Balance initial LPI affinity across CPUs (Mark Salter) [1996738] - irqchip/gic-v3-its: Track LPI distribution on a per CPU basis (Mark Salter) [1996738] - irqchip/gic-v3: Fix missing "__init" for gic_smp_init() (Mark Salter) [1996738] - selftests/bpf: Enlarge select() timeout for test_maps (Jiri Benc) [1869444] - PCI: Do not enable AtomicOps on VFs (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Fix stats counters (Selvin Xavier) [1987081 1984339 2001893] - RDMA/bnxt_re: Prefer kcalloc over open coded arithmetic (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Remove unpaired rtnl unlock in bnxt_re_dev_init() (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Add missing spin lock initialization (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Fix uninitialized struct bit field rsvd1 (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Update ABI to pass wqe-mode to user space (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Enable global atomic ops if platform supports (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Drop unnecessary NULL checks after container_of (Selvin Xavier) [1987081 1984339] - dm btree remove: fix use after free in rebalance_children() (Benjamin Marzinski) [2034424] - dm table: log table creation error code (Benjamin Marzinski) [2034424] - dm: make workqueue names device-specific (Benjamin Marzinski) [2034424] - dm writecache: Make use of the helper macro kthread_run() (Benjamin Marzinski) [2034424] - dm crypt: Make use of the helper macro kthread_run() (Benjamin Marzinski) [2034424] - dm: fix mempool NULL pointer race when completing IO (Benjamin Marzinski) [2034424] - dm rq: don't queue request to blk-mq during DM suspend (Benjamin Marzinski) [1891486] - dm verity: skip redundant verity_handle_err() on I/O errors (Benjamin Marzinski) [2034424] - dm writecache: add event counters (Benjamin Marzinski) [2034424] - dm writecache: report invalid return from writecache_map helpers (Benjamin Marzinski) [2034424] - dm writecache: further writecache_map() cleanup (Benjamin Marzinski) [2034424] - dm writecache: factor out writecache_map_remap_origin() (Benjamin Marzinski) [2034424] - dm writecache: split up writecache_map() to improve code readability (Benjamin Marzinski) [2034424] - dm btree remove: assign new_root only when removal succeeds (Benjamin Marzinski) [2034424] - dm ps io affinity: remove redundant continue statement (Benjamin Marzinski) [2034424] - dm: rearrange core declarations for extended use from dm-zone.c (Benjamin Marzinski) [2034424] - dm space map disk: cache a small number of index entries (Benjamin Marzinski) [2034424] - dm space maps: improve performance with inc/dec on ranges of blocks (Benjamin Marzinski) [2034424] - dm space maps: don't reset space map allocation cursor when committing (Benjamin Marzinski) [2034424] - dm btree: improve btree residency (Benjamin Marzinski) [2034424] - dm integrity: fix sparse warnings (Benjamin Marzinski) [2034424] - dm: replace dm_vcalloc() (Benjamin Marzinski) [2034424] - dm integrity: add the "reset_recalculate" feature flag (Benjamin Marzinski) [2034424] - dm cache: remove needless request_queue NULL pointer checks (Benjamin Marzinski) [2034424] - dm thin: remove needless request_queue NULL pointer check (Benjamin Marzinski) [2034424] - dm ioctl: replace device hash with red-black tree (Benjamin Marzinski) [2034424] - recordmcount.pl: fix typo in s390 mcount regex (Jerome Marchand) [2025890] - recordmcount.pl: look for jgnop instruction as well as bcrl on s390 (Jerome Marchand) [2025890] - KVM: x86: Wait for IPIs to be delivered when handling Hyper-V TLB flush hypercall (Vitaly Kuznetsov) [1868572] - HID: magicmouse: prevent division by 0 on scroll (Benjamin Tissoires) [2022814] - HID: input: set usage type to key on keycode remap (Benjamin Tissoires) [2022814] - HID: input: Fix parsing of HID_CP_CONSUMER_CONTROL fields (Benjamin Tissoires) [2022814] - HID: u2fzero: properly handle timeouts in usb_submit_urb (Benjamin Tissoires) [2022814] - HID: u2fzero: clarify error check and length calculations (Benjamin Tissoires) [2022814] - HID: amd_sfh: Fix potential NULL pointer dereference (Benjamin Tissoires) [2022814] - HID: u2fzero: ignore incomplete packets without data (Benjamin Tissoires) [2022814] - HID: amd_sfh: Fix potential NULL pointer dereference (Benjamin Tissoires) [2022814] - HID: wacom: Add new Intuos BT (CTL-4100WL/CTL-6100WL) device IDs (Benjamin Tissoires) [2022814] - HID: apple: Fix logical maximum and usage maximum of Magic Keyboard JIS (Benjamin Tissoires) [2022814] - HID: betop: fix slab-out-of-bounds Write in betop_probe (Benjamin Tissoires) [2022814] - HID: usbhid: Simplify code in hid_submit_ctrl() (Benjamin Tissoires) [2022814] - HID: usbhid: Fix warning caused by 0-length input reports (Benjamin Tissoires) [2022814] - HID: usbhid: Fix flood of "control queue full" messages (Benjamin Tissoires) [2022814] - HID: sony: Fix more ShanWan clone gamepads to not rumble when plugged in. (Benjamin Tissoires) [2022814] - HID: sony: support for the ghlive ps4 dongles (Benjamin Tissoires) [2022814] - HID: thrustmaster: clean up Makefile and adapt quirks (Benjamin Tissoires) [2022814] - HID: i2c-hid: Fix Elan touchpad regression (Benjamin Tissoires) [2022814] - HID: asus: Prevent Claymore sending suspend event (Benjamin Tissoires) [2022814] - HID: amd_sfh: Add dyndbg prints for debugging (Benjamin Tissoires) [2022814] - HID: amd_sfh: Add support for PM suspend and resume (Benjamin Tissoires) [2022814] - HID: amd_sfh: Move hid probe after sensor is enabled (Benjamin Tissoires) [2022814] - HID: amd_sfh: Add command response to check command status (Benjamin Tissoires) [2022814] - HID: amd_sfh: Fix period data field to enable sensor (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: battery: provide CAPACITY property for newer devices (Benjamin Tissoires) [2022814] - HID: thrustmaster: Fix memory leak in thrustmaster_interrupts() (Benjamin Tissoires) [2022814] - HID: thrustmaster: Fix memory leak in remove (Benjamin Tissoires) [2022814] - HID: thrustmaster: Fix memory leaks in probe (Benjamin Tissoires) [2022814] - HID: elo: update the reference count of the usb device structure (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: Use 'atomic_inc_return' instead of hand-writing it (Benjamin Tissoires) [2022814] - HID: ft260: fix device removal due to USB disconnect (Benjamin Tissoires) [2022814] - HID: apple: Add missing scan code event for keys handled by hid-apple (Benjamin Tissoires) [2022814] - HID: cmedia: add support for HS-100B mute button (Benjamin Tissoires) [2022814] - HID: i2c-hid: goodix: Use the devm variant of regulator_register_notifier() (Benjamin Tissoires) [2022814] - HID: wacom: Refactor touch input mute checks into a common function (Benjamin Tissoires) [2022814] - HID: wacom: Avoid sending empty sync events (Benjamin Tissoires) [2022814] - HID: wacom: Short-circuit processing of touch when it is disabled (Benjamin Tissoires) [2022814] - HID: wacom: set initial hardware touch switch state to 'off' (Benjamin Tissoires) [2022814] - HID: wacom: Skip processing of touches with negative slot values (Benjamin Tissoires) [2022814] - HID: wacom: Re-enable touch by default for Cintiq 24HDT / 27QHDT (Benjamin Tissoires) [2022814] - HID: Kconfig: Fix spelling mistake "Uninterruptable" -> "Uninterruptible" (Benjamin Tissoires) [2022814] - HID: apple: Add support for Keychron K1 wireless keyboard (Benjamin Tissoires) [2022814] - HID: usbhid: free raw_report buffers in usbhid_stop (Benjamin Tissoires) [2022814] - HID: fix typo in Kconfig (Benjamin Tissoires) [2022814] - HID: ft260: fix format type warning in ft260_word_show() (Benjamin Tissoires) [2022814] - HID: i2c-hid: goodix: Tie the reset line to true state of the regulator (Benjamin Tissoires) [2022814] - HID: amd_sfh: Use correct MMIO register for DMA address (Benjamin Tissoires) [2022814] - HID: magicmouse: high-resolution scroll threshold (Benjamin Tissoires) [2022814] - HID: magicmouse: enable high-resolution scroll (Benjamin Tissoires) [2022814] - HID: asus: Remove check for same LED brightness on set (Benjamin Tissoires) [2022814] - HID: input: do not report stylus battery state as "full" (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: use async resume function (Benjamin Tissoires) [2022814] - HID: thrustmaster: Switch to kmemdup() when allocate change_request (Benjamin Tissoires) [2022814] - HID: multitouch: Disable event reporting on suspend when the device is not a wakeup-source (Benjamin Tissoires) [2022814] - HID: logitech-dj: Implement may_wakeup ll-driver callback (Benjamin Tissoires) [2022814] - HID: usbhid: Implement may_wakeup ll-driver callback (Benjamin Tissoires) [2022814] - HID: core: Add hid_hw_may_wakeup() function (Benjamin Tissoires) [2022814] - HID: input: Add support for Programmable Buttons (Benjamin Tissoires) [2022814] - HID: wacom: Correct base usage for capacitive ExpressKey status bits (Benjamin Tissoires) [2022814] - HID: amd_sfh: Add initial support for HPD sensor (Benjamin Tissoires) [2022814 1961759] - HID: amd_sfh: Extend ALS support for newer AMD platform (Benjamin Tissoires) [2022814 1961759] - HID: amd_sfh: Extend driver capabilities for multi-generation support (Benjamin Tissoires) [2022814 1961759] - HID: surface-hid: Fix get-report request (Benjamin Tissoires) [2022814] - HID: sony: fix freeze when inserting ghlive ps3/wii dongles (Benjamin Tissoires) [2022814] - HID: usbkbd: Avoid GFP_ATOMIC when GFP_KERNEL is possible (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Specify that EHL no cache snooping (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ishtp: Add dma_no_cache_snooping() callback (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Set ISH driver depends on x86 (Benjamin Tissoires) [2022814] - HID: hid-input: add Surface Go battery quirk (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Fix minor typos in comments (Benjamin Tissoires) [2022814] - HID: magicmouse: fix NULL-deref on disconnect (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Add Alder Lake device IDs (Benjamin Tissoires) [2022814] - HID: i2c-hid: fix format string mismatch (Benjamin Tissoires) [2022814] - HID: amd_sfh: Fix memory leak in amd_sfh_work (Benjamin Tissoires) [2022814] - HID: amd_sfh: Use devm_kzalloc() instead of kzalloc() (Benjamin Tissoires) [2022814] - HID: ft260: improve error handling of ft260_hid_feature_report_get() (Benjamin Tissoires) [2022814] - HID: asus: Cleanup Asus T101HA keyboard-dock handling (Benjamin Tissoires) [2022814] - HID: magicmouse: fix crash when disconnecting Magic Trackpad 2 (Benjamin Tissoires) [2022814] - HID: gt683r: add missing MODULE_DEVICE_TABLE (Benjamin Tissoires) [2022814] - HID: pidff: fix error return code in hid_pidff_init() (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: initialize level variable (Benjamin Tissoires) [2022814] - HID: multitouch: Disable event reporting on suspend on the Asus T101HA touchpad (Benjamin Tissoires) [2022814] - HID: core: Remove extraneous empty line before EXPORT_SYMBOL_GPL(hid_check_keys_pressed) (Benjamin Tissoires) [2022814] - HID: usbmouse: Avoid GFP_ATOMIC when GFP_KERNEL is possible (Benjamin Tissoires) [2022814] - HID: hid-sensor-custom: Process failure of sensor_hub_set_feature() (Benjamin Tissoires) [2022814] - HID: i2c-hid: Skip ELAN power-on command after reset (Benjamin Tissoires) [2022814] - HID: usbhid: fix info leak in hid_submit_ctrl (Benjamin Tissoires) [2022814] - HID: Add BUS_VIRTUAL to hid_connect logging (Benjamin Tissoires) [2022814] - HID: input: replace outdated HID numbers+comments with macros (Benjamin Tissoires) [2022814] - HID: multitouch: set Stylus suffix for Stylus-application devices, too (Benjamin Tissoires) [2022814] - HID: multitouch: require Finger field to mark Win8 reports as MT (Benjamin Tissoires) [2022814] - HID: remove the unnecessary redefinition of a macro (Benjamin Tissoires) [2022814] - HID: quirks: Add quirk for Lenovo optical mouse (Benjamin Tissoires) [2022814] - HID: asus: filter G713/G733 key event to prevent shutdown (Benjamin Tissoires) [2022814] - HID: lg-g15 + ite: Add MODULE_AUTHOR (Benjamin Tissoires) [2022814] - HID: lg-g15: Add support for the Logitech Z-10 speakers (Benjamin Tissoires) [2022814] - HID: lg-g15: Make the LED-name used by lg_g15_register_led() a parameter (Benjamin Tissoires) [2022814] - HID: lg-g15: Add a lg_g15_init_input_dev() helper function (Benjamin Tissoires) [2022814] - HID: lg-g15: Add a lg_g15_handle_lcd_menu_keys() helper function (Benjamin Tissoires) [2022814] - HID: lg-g15: Remove unused size argument from lg_*_event() functions (Benjamin Tissoires) [2022814] - HID: hid-sensor-hub: Return error for hid_set_field() failure (Benjamin Tissoires) [2022814] - HID: ft260: check data size in ft260_smbus_write() (Benjamin Tissoires) [2022814] - HID: surface-hid: Fix integer endian conversion (Benjamin Tissoires) [2022814] - HID: hid-debug: recognize KEY_ASSISTANT and KEY_KBD_LAYOUT_NEXT (Benjamin Tissoires) [2022814] - HID: hid-input: add mapping for emoji picker key (Benjamin Tissoires) [2022814] - HID: a4tech: use A4_2WHEEL_MOUSE_HACK_B8 for A4TECH NB-95 (Benjamin Tissoires) [2022814] - HID: logitech-dj/hidpp: Add info/warn/err messages about 27 MHz keyboard encryption (Benjamin Tissoires) [2022814] - HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K15A keyboard-dock (Benjamin Tissoires) [2022814] - HID: thrustmaster: fix return value check in thrustmaster_probe() (Benjamin Tissoires) [2022814] - HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for Saitek X65 (Benjamin Tissoires) [2022814] - HID: do not use down_interruptible() when unbinding devices (Benjamin Tissoires) [2022814] - HID: asus: Filter keyboard EC for old ROG keyboard (Benjamin Tissoires) [2022814] - HID: semitek: new driver for GK6X series keyboards (Benjamin Tissoires) [2022814] - HID: wacom: Setup pen input capabilities to the targeted tools (Benjamin Tissoires) [2022814] - HID: hid-sensor-hub: Move 'hsdev' description to correct struct definition (Benjamin Tissoires) [2022814] - HID: hid-sensor-hub: Remove unused struct member 'quirks' (Benjamin Tissoires) [2022814] - HID: wacom_sys: Demote kernel-doc abuse (Benjamin Tissoires) [2022814] - HID: hid-sensor-custom: Remove unused variable 'ret' (Benjamin Tissoires) [2022814] - HID: hid-uclogic-params: Ensure function names are present and correct in kernel-doc headers (Benjamin Tissoires) [2022814] - HID: hid-uclogic-rdesc: Kernel-doc is for functions and structs (Benjamin Tissoires) [2022814] - HID: hid-logitech-hidpp: Fix conformant kernel-doc header and demote abuses (Benjamin Tissoires) [2022814] - HID: hid-picolcd_core: Remove unused variable 'ret' (Benjamin Tissoires) [2022814] - HID: hid-kye: Fix incorrect function name for kye_tablet_enable() (Benjamin Tissoires) [2022814] - HID: hid-core: Fix incorrect function name in header (Benjamin Tissoires) [2022814] - HID: hid-alps: Correct struct misnaming (Benjamin Tissoires) [2022814] - HID: usbhid: hid-pidff: Demote a couple kernel-doc abuses (Benjamin Tissoires) [2022814] - HID: usbhid: Repair a formatting issue in a struct description (Benjamin Tissoires) [2022814] - HID: ishtp-hid-client: Fix 'suggest-attribute=format' compiler warning (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ishtp-fw-loader: Fix a bunch of formatting issues (Benjamin Tissoires) [2022814] - HID: ishtp-hid-client: Fix incorrect function name report_bad_packet() (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Correct fw_reset_work_fn() function name in header (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Fix potential copy/paste error (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Fix a little doc-rot (Benjamin Tissoires) [2022814] - HID: intel-ish: Fix a naming disparity and a formatting error (Benjamin Tissoires) [2022814] - HID: intel-ish: Supply some missing param descriptions (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: pci-ish: Remove unused variable 'ret' (Benjamin Tissoires) [2022814] - HID: ishtp-hid-client: Move variable to where it's actually used (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Remove unused variable 'err' (Benjamin Tissoires) [2022814] - HID: hid-thrustmaster: Demote a bunch of kernel-doc abuses (Benjamin Tissoires) [2022814] - HID: input: map battery capacity (00850065) (Benjamin Tissoires) [2022814] - HID: magicmouse: fix reconnection of Magic Mouse 2 (Benjamin Tissoires) [2022814] - HID: magicmouse: fix 3 button emulation of Mouse 2 (Benjamin Tissoires) [2022814] - HID: magicmouse: add Apple Magic Mouse 2 support (Benjamin Tissoires) [2022814] - HID: lenovo: Add support for Thinkpad X1 Tablet Thin keyboard (Benjamin Tissoires) [2022814] - HID: lenovo: Rework how the tp10ubkbd code decides which USB interface to use (Benjamin Tissoires) [2022814] - HID: lenovo: Set default_triggers for the mute and micmute LEDs (Benjamin Tissoires) [2022814] - HID: lenovo: Map mic-mute button to KEY_F20 instead of KEY_MICMUTE (Benjamin Tissoires) [2022814] - HID: lenovo: Set LEDs max_brightness value (Benjamin Tissoires) [2022814] - HID: lenovo: Remove lenovo_led_brightness_get() (Benjamin Tissoires) [2022814] - HID: lenovo: Check hid_get_drvdata() returns non NULL in lenovo_event() (Benjamin Tissoires) [2022814] - HID: lenovo: Fix lenovo_led_set_tp10ubkbd() error handling (Benjamin Tissoires) [2022814] - HID: lenovo: Use brightness_set_blocking callback for setting LEDs brightness (Benjamin Tissoires) [2022814] - HID: elan: Remove elan_mute_led_get_brigtness() (Benjamin Tissoires) [2022814] - HID: elan: Set default_trigger for the mute LED (Benjamin Tissoires) [2022814] - HID: elan: Silence mute LED errors being logged when the device is unplugged (Benjamin Tissoires) [2022814] - HID: fix memdup.cocci warnings (Benjamin Tissoires) [2022814] - HID: surface-hid: Add support for legacy keyboard interface (Benjamin Tissoires) [2022814] - HID: Add support for Surface Aggregator Module HID transport (Benjamin Tissoires) [2022814] - HID: thrustmaster: introduce proper USB dependency (Benjamin Tissoires) [2022814] - HID: intel_ish-hid: HBM: Use connected standby state bit during suspend/resume (Benjamin Tissoires) [2022814] - HID: ft260: fix an error message in ft260_i2c_write_read() (Benjamin Tissoires) [2022814] - HID: support for initialization of some Thrustmaster wheels (Benjamin Tissoires) [2022814] - HID: wacom: set EV_KEY and EV_ABS only for non-HID_GENERIC type of devices (Benjamin Tissoires) [2022814] - HID: ft260: add usb hid to i2c host bridge driver (Benjamin Tissoires) [2022814] - iio: Add relative sensitivity support (Benjamin Tissoires) [2022814] - iio: hid-sensors: Move get sensitivity attribute to hid-sensor-common (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Make remove callback return void (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Simplify logic in ishtp_cl_device_remove() (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Drop if block with an always false condition (Benjamin Tissoires) [2022814] - AMD_SFH: Add DMI quirk table for BIOS-es which don't set the activestatus bits (Benjamin Tissoires) [2022814] - AMD_SFH: Add sensor_mask module parameter (Benjamin Tissoires) [2022814] - AMD_SFH: Removed unused activecontrolstatus member from the amd_mp2_dev struct (Benjamin Tissoires) [2022814] - HID: wacom: Assign boolean values to a bool variable (Benjamin Tissoires) [2022814] - HID cp2112: fix support for multiple gpiochips (Benjamin Tissoires) [2022814] - HID: alps: fix error return code in alps_input_configured() (Benjamin Tissoires) [2022814] - HID: asus: Add support for 2021 ASUS N-Key keyboard (Benjamin Tissoires) [2022814] - HID: hiddev: Return specific error codes on connect failure (Benjamin Tissoires) [2022814] - HID: plantronics: Workaround for double volume key presses (Benjamin Tissoires) [2022814] - HID: logitech-dj: Handle newer quad/bt2.0 receivers in HID proxy mode (Benjamin Tissoires) [2022814] - HID: logitech-dj: Use hid-ids.h defines for USB device-ids for all supported devices (Benjamin Tissoires) [2022814] - HID: google: add don USB id (Benjamin Tissoires) [2022814] - HID: i2c-hid: acpi: Drop redundant ACPI_PTR() (Benjamin Tissoires) [2022814] - HID: i2c-hid: acpi: Move GUID out of function and described it (Benjamin Tissoires) [2022814] - HID: i2c-hid: acpi: Switch to new style i2c-driver probe function (Benjamin Tissoires) [2022814] - HID: i2c-hid: acpi: Get ACPI companion only once and reuse it (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense player LED support. (Benjamin Tissoires) [2022814] - HID: playstation: add microphone mute support for DualSense. (Benjamin Tissoires) [2022814] - HID: playstation: add initial DualSense lightbar support. (Benjamin Tissoires) [2022814] - HID: wacom: Ignore attempts to overwrite the touch_max value from HID (Benjamin Tissoires) [2022814] - HID: playstation: fix array size comparison (off-by-one) (Benjamin Tissoires) [2022814] - HID: playstation: fix unused variable in ps_battery_get_property. (Benjamin Tissoires) [2022814] - HID: playstation: report DualSense hardware and firmware version. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense classic rumble support. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense Bluetooth support. (Benjamin Tissoires) [2022814] - HID: playstation: track devices in list. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense accelerometer and gyroscope support. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense touchpad support. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense battery support. (Benjamin Tissoires) [2022814] - HID: playstation: use DualSense MAC address as unique identifier. (Benjamin Tissoires) [2022814] - HID: playstation: initial DualSense USB support. (Benjamin Tissoires) [2022814] - HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch 10E (Benjamin Tissoires) [2022814] - HID: Ignore battery for Elan touchscreen on HP Spectre X360 15-df0xxx (Benjamin Tissoires) [2022814] - HID: logitech-dj: add support for the new lightspeed connection iteration (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Add Tiger Lake H PCI device ID (Benjamin Tissoires) [2022814] - HID: logitech-dj: add support for keyboard events in eQUAD step 4 Gaming (Benjamin Tissoires) [2022814] - HID: i2c-hid: Add I2C_HID_QUIRK_NO_IRQ_AFTER_RESET for ITE8568 EC on Voyo Winpad A15 (Benjamin Tissoires) [2022814] - HID: displays: convert sysfs sprintf/snprintf family to sysfs_emit (Benjamin Tissoires) [2022814] - HID: wacom: convert sysfs sprintf/snprintf family to sysfs_emit (Benjamin Tissoires) [2022814] - HID: lg-g15: make a const array static, makes object smaller (Benjamin Tissoires) [2022814] - HID: google: Get HID report on probe to confirm tablet switch state (Benjamin Tissoires) [2022814] - HID: hid-input: avoid splitting keyboard, system and consumer controls (Benjamin Tissoires) [2022814] - HID: correct kernel-doc notation in hid-quirks.c (Benjamin Tissoires) [2022814] - HID: correct kernel-doc notation in (Benjamin Tissoires) [2022814] - HID: wacom: Correct NULL dereference on AES pen proximity (Benjamin Tissoires) [2022814] - HID: multitouch: Set to high latency mode on suspend. (Benjamin Tissoires) [2022814] - HID: multitouch: Apply MT_QUIRK_CONFIDENCE quirk for multi-input devices (Benjamin Tissoires) [2022814] - HID: hid-sensor-custom: Add custom sensor iio support (Benjamin Tissoires) [2022814] - HID: i2c-hid: Introduce goodix-i2c-hid using i2c-hid core (Benjamin Tissoires) [2022814] - redhat: HID: enable I2C_HID_ACPI (Benjamin Tissoires) [2022814] - HID: i2c-hid: Reorganize so ACPI and OF are separate modules (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: add support for Unified Battery (1004) feature (Benjamin Tissoires) [2022814] - HID: sony: Add support for tilt on guitar hero guitars (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: Add product ID for MX Ergo in Bluetooth mode (Benjamin Tissoires) [2022814] - HID: chicony: Add Wireless Radio Control feature for Chicony devices (Benjamin Tissoires) [2022814] - HID: Ignore battery for Elan touchscreen on ASUS UX550 (Benjamin Tissoires) [2022814] - HID: logitech-dj: add the G602 receiver (Benjamin Tissoires) [2022814] - HID: core: detect and skip invalid inputs to snto32() (Benjamin Tissoires) [2022814] - HID: uclogic: Improve support for Trust Panora (Benjamin Tissoires) [2022814] - HID: wiimote: remove h from printk format specifier (Benjamin Tissoires) [2022814] - HID: uclogic: remove h from printk format specifier (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Address EHL Sx resume issues (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: finish power flow for EHL OOB (Benjamin Tissoires) [2022814] - HID: sony: select CONFIG_CRC32 (Benjamin Tissoires) [2022814] - HID: sfh: fix address space confusion (Benjamin Tissoires) [2022814] - HID: multitouch: Enable multi-input for Synaptics pointstick/touchpad device (Benjamin Tissoires) [2022814] - HID: wacom: Fix memory leakage caused by kfifo_alloc (Benjamin Tissoires) [2022814] - HID: i2c-hid: add Vero K147 to descriptor override (Benjamin Tissoires) [2022814] - HID: ite: Add support for Acer S1002 keyboard-dock (Benjamin Tissoires) [2022814] - HID: sony: support for ghlive ps3/wii u dongles (Benjamin Tissoires) [2022814] - HID: hidraw: Add additional hidraw input/output report ioctls. (Benjamin Tissoires) [2022814] - HID: Increase HID maximum report size to 16KB (Benjamin Tissoires) [2022814] - HID: elecom: drop stray comment (Benjamin Tissoires) [2022814] - HID: mf: add support for 0079:1846 Mayflash/Dragonrise USB Gamecube Adapter (Benjamin Tissoires) [2022814] - HID: elecom: add support for EX-G M-XGL20DLBK wireless mouse (Benjamin Tissoires) [2022814] - HID: elecom: rewrite report based on model specific parameters (Benjamin Tissoires) [2022814] - HID: wacom: Constify attribute_groups (Benjamin Tissoires) [2022814] - HID: input: Fix fall-through warnings for Clang (Benjamin Tissoires) [2022814] - HID: usbhid: Fix fall-through warnings for Clang (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: Add hid_device_id for V470 bluetooth mouse (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Remove unnecessary assignment to variable rv (Benjamin Tissoires) [2022814] - HID: sony: Workaround for DS4 dongle hotplug kernel crash. (Benjamin Tissoires) [2022814] - HID: sony: Don't use fw_version/hw_version for sysfs cleanup. (Benjamin Tissoires) [2022814] - HID: sony: Report more accurate DS4 power status. (Benjamin Tissoires) [2022814] - SFH: fix error return check for -ERESTARTSYS (Benjamin Tissoires) [2022814] - HID: Add Logitech Dinovo Edge battery quirk (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for the Dinovo Edge (Benjamin Tissoires) [2022814] - HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices (Benjamin Tissoires) [2022814] - HID: mcp2221: Fix GPIO output handling (Benjamin Tissoires) [2022814] - HID: hid-sensor-hub: Fix issue with devices with no report ID (Benjamin Tissoires) [2022814] - HID: hid-input: occasionally report stylus battery even if not changed (Benjamin Tissoires) [2022814] - timekeeping: Add missing _ns functions for coarse accessors (Benjamin Tissoires) [2022814] - HID: i2c-hid: show the error when failing to fetch the HID descriptor (Benjamin Tissoires) [2022814] - AMD_SFH: Fix for incorrect Sensor index (Benjamin Tissoires) [2022814] - HID: asus: Add support for ASUS N-Key keyboard (Benjamin Tissoires) [2022814] - HID: i2c-hid: Put ACPI enumerated devices in D3 on shutdown (Benjamin Tissoires) [2022814] - HID: add support for Sega Saturn (Benjamin Tissoires) [2022814] - HID: cypress: Support Varmilo Keyboards' media hotkeys (Benjamin Tissoires) [2022814] - HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses (Benjamin Tissoires) [2022814] - SFH: Create HID report to Enable support of AMD sensor fusion Hub (SFH) (Benjamin Tissoires) [2022814] - SFH:Transport Driver to add support of AMD Sensor Fusion Hub (SFH) (Benjamin Tissoires) [2022814] - redhat: HID: enable AMD_SFH_HUB (Benjamin Tissoires) [1965674] - SFH: PCIe driver to add support of AMD sensor fusion hub (Benjamin Tissoires) [2022814] - HID: uclogic: Add ID for Trust Flex Design Tablet (Benjamin Tissoires) [2022814] - HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle (Benjamin Tissoires) [2022814] - HID: add vivaldi HID driver (Benjamin Tissoires) [2022814] - HID: i2c-hid: fix kerneldoc warnings in i2c-hid-core.c (Benjamin Tissoires) [2022814] - HID: core: fix kerneldoc warnings in hid-core.c (Benjamin Tissoires) [2022814] - HID: multitouch: Lenovo X1 Tablet Gen2 trackpoint and buttons (Benjamin Tissoires) [2022814] - HID: alps: clean up indentation issue (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: simplify the return expression of ishtp_bus_remove_device() (Benjamin Tissoires) [2022814] - HID: hid-debug: fix nonblocking read semantics wrt EIO/ERESTARTSYS (Benjamin Tissoires) [2022814] - HID: i2c-hid: Prefer asynchronous probe (Benjamin Tissoires) [2022814] - HID: wiimote: narrow spinlock range in wiimote_hid_event() (Benjamin Tissoires) [2022814] - HID: wiimote: make handlers[] const (Benjamin Tissoires) [2022814] - HID: logitech-dj: Fix spelling in comment (Benjamin Tissoires) [2022814] - HID: apple: Add support for Matias wireless keyboard (Benjamin Tissoires) [2022814] - Input: elan_i2c - reduce the resume time for controller in Whitebox (Benjamin Tissoires) [2022814] - Input: parkbd - switch to use module_parport_driver() (Benjamin Tissoires) [2022814] - Input: i8042 - fix typos in comments (Benjamin Tissoires) [2022814] - Input: elantech - Prepare a complete software node for the device (Benjamin Tissoires) [2022814] - Input: apbps2 - remove useless variable (Benjamin Tissoires) [2022814] - Input: elan_i2c - fix a typo in parameter name (Benjamin Tissoires) [2022814] - Input: i8042 - fix Pegatron C15B ID entry (Benjamin Tissoires) [2022814] - Input: elan_i2c - reduce the resume time for new devices (Benjamin Tissoires) [2022814] - Input: i8042 - add ASUS Zenbook Flip to noselftest list (Benjamin Tissoires) [2022814] - Input: add missing dependencies on CONFIG_HAS_IOMEM (Benjamin Tissoires) [2022814] - ARM: 9048/1: sa1111: make sa1111 bus's remove callback return void (Benjamin Tissoires) [2022814] - Input: synaptics - replace NOOP with suitable commentary (Benjamin Tissoires) [2022814] - Input: i8042 - unbreak Pegatron C15B (Benjamin Tissoires) [2022814] - Input: parkbd - convert comma to semicolon (Benjamin Tissoires) [2022814] - Input: elantech - fix protocol errors for some trackpoints in SMBus mode (Benjamin Tissoires) [2022814] - Input: elan_i2c - add new trackpoint report type 0x5F (Benjamin Tissoires) [2022814] - Input: i8042 - add Acer laptops to the i8042 reset list (Benjamin Tissoires) [2022814] - Input: i8042 - add ByteSpeed touchpad to noloop table (Benjamin Tissoires) [2022814] - Input: i8042 - fix error return code in i8042_setup_aux() (Benjamin Tissoires) [2022814] - Input: libps2 - fix fall-through warnings for Clang (Benjamin Tissoires) [2022814] - Input: synaptics - demote non-conformant kernel-doc header (Benjamin Tissoires) [2022814] - Input: elan_i2c_core - move header inclusion inside (Benjamin Tissoires) [2022814] - Input: elan_i2c - fix firmware update on newer ICs (Benjamin Tissoires) [2022814] - Input: elantech - demote obvious abuse of kernel-doc header (Benjamin Tissoires) [2022814] - Input: i8042 - allow insmod to succeed on devices without an i8042 controller (Benjamin Tissoires) [2022814] - Input: synaptics - enable InterTouch for ThinkPad T14 Gen 1 (Benjamin Tissoires) [2022814] - Input: synaptics - enable InterTouch for ThinkPad P1/X1E gen 2 (Benjamin Tissoires) [2022814] - Input: synaptics-rmi4 - rename f30_data to gpio_data (Benjamin Tissoires) [2022814] - Input: sun4i-ps2 - fix handling of platform_get_irq() error (Benjamin Tissoires) [2022814] - Input: allocate keycode for Fn + right shift (Benjamin Tissoires) [2022814] - Input: allocate keycodes for notification-center, pickup-phone and hangup-phone (Benjamin Tissoires) [2022814] - HID: cp2112: Use irqchip template (Benjamin Tissoires) [2022814] - HID: mcp2221: Replace HTTP links with HTTPS ones (Benjamin Tissoires) [2022814] - treewide: replace '---help---' in Kconfig files with 'help' (Benjamin Tissoires) [2022814] - HID: asus: Add depends on USB_HID to HID_ASUS Kconfig option (Benjamin Tissoires) [2022814] - HID: asus: Fix mute and touchpad-toggle keys on Medion Akoya E1239T (Benjamin Tissoires) [2022814] - HID: asus: Add support for multi-touch touchpad on Medion Akoya E1239T (Benjamin Tissoires) [2022814] - HID: asus: Add report_size to struct asus_touchpad_info (Benjamin Tissoires) [2022814] - HID: asus: Add hid_is_using_ll_driver(usb_hid_driver) check (Benjamin Tissoires) [2022814] - HID: asus: Simplify skipping of mappings for Asus T100CHI keyboard-dock (Benjamin Tissoires) [2022814] - HID: asus: Only set EV_REP if we are adding a mapping (Benjamin Tissoires) [2022814] - HID: mcp2221: add gpiolib dependency (Benjamin Tissoires) [2022814] - HID: mcp2221: add GPIO functionality support (Benjamin Tissoires) [2022814] - HID: mcp2221: add usb to i2c-smbus host bridge (Benjamin Tissoires) [2022814] - HID: asus: Ignore Asus vendor-page usage-code 0xff events (Benjamin Tissoires) [2022814] - HID: sb0540: add support for Creative SB0540 IR receivers (Benjamin Tissoires) [2022814] - gpio: pass lookup and descriptor flags to request_own (Benjamin Tissoires) [2022814] - HID: hid-asus: select CONFIG_POWER_SUPPLY (Benjamin Tissoires) [2022814] - HID: hid-asus: Add BT keyboard dock battery monitoring support (Benjamin Tissoires) [2022814] - HID: hid-asus: Add Transbook T90CHI support (Benjamin Tissoires) [2022814] - HID: asus: Add support for the ASUS T101HA keyboard dock (Benjamin Tissoires) [2022814] - HID: asus: Add support for the ASUS FX503VD laptop (Benjamin Tissoires) [2022814] - HID: asus: Add event handler to catch unmapped Asus Vendor UsagePage codes (Benjamin Tissoires) [2022814] - af_unix: fix garbage collect vs MSG_PEEK (Patrick Talbert) [2031975] {CVE-2021-0920} - net: add kerneldoc comment for sk_peer_lock (Guillaume Nault) [2037782] - af_unix: fix races in sk_peer_pid and sk_peer_cred accesses (Guillaume Nault) [2037782] {CVE-2021-4203} - netfilter: nat: force port remap to prevent shadowing well-known ports (Florian Westphal) [2006167] {CVE-2021-3773} - netfilter: conntrack: tag conntracks picked up in local out hook (Florian Westphal) [2006167] - selftests: nft_nat: switch port shadow test cases to socat (Florian Westphal) [2006167] - selftests: nft_nat: Simplify port shadow notrack test (Florian Westphal) [2006167] - selftests: nft_nat: Improve port shadow test stability (Florian Westphal) [2006167] - selftests: nft_nat: add udp hole punch test case (Florian Westphal) [2006167] - ipv6: use prandom_u32() for ID generation (Hangbin Liu) [2040158] {CVE-2021-45485} - igc: fix tunnel offloading (Corinna Vinschen) [1910885] - virtio/vsock: fix the transport to work with VMADDR_CID_ANY (Stefano Garzarella) [2026442] - vhost/vsock: cleanup removing `len` variable (Stefano Garzarella) [2026442] - vhost/vsock: fix incorrect used length reported to the guest (Stefano Garzarella) [2026442] - vsock: prevent unnecessary refcnt inc for nonblocking connect (Stefano Garzarella) [2026442] - vsock/virtio: avoid potential deadlock when vsock device remove (Stefano Garzarella) [2026442] - VSOCK: handle VIRTIO_VSOCK_OP_CREDIT_REQUEST (Stefano Garzarella) [2026442] - vsock: notify server to shutdown when client has pending signal (Stefano Garzarella) [2026442] - virtio/vsock: simplify credit update function API (Stefano Garzarella) [2026442] - virtio/vsock: set packet's type in virtio_transport_send_pkt_info() (Stefano Garzarella) [2026442] - net: vlan: fix underflow for the real_dev refcnt (Balazs Nemeth) [2026375] - net: vlan: fix a UAF in vlan_dev_real_dev() (Balazs Nemeth) [2026375]- xfs: map unwritten blocks in XFS_IOC_{ALLOC,FREE}SP just like fallocate (Carlos Maiolino) [2034865] {CVE-2021-4155} - isdn: cpai: check ctr->cnr to avoid array index out of bound (Chris von Recklinghausen) [2016491] {CVE-2021-43389} - vt: keyboard: avoid signed integer overflow in k_ascii (Chris von Recklinghausen) [2017044] {CVE-2020-13974} - USB: serial: pl2303: fix GC type detection (Torez Smith) [1975985] - usb: dwc3: leave default DMA for PCI devices (Torez Smith) [1975985] - usb: xhci: tegra: Check padctrl interrupt presence in device tree (Torez Smith) [1975985] - usb: dwc3: core: Revise GHWPARAMS9 offset (Torez Smith) [1975985] - xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good delay (Torez Smith) [1975985] - usb: typec: tipd: Remove dependency on "connector" child fwnode (Torez Smith) [1975985] - usb: xhci: tegra: mark PM functions as __maybe_unused (Torez Smith) [1975985] - media: ttusb-dec: avoid release of non-acquired mutex (Torez Smith) [1975985] - ABI: sysfs-devices-removable: make a table valid as ReST markup (Torez Smith) [1975985] - usb: dwc3: core: balance phy init and exit (Torez Smith) [1975985] - USB: serial: pl2303: fix GL type detection (Torez Smith) [1975985] - usb: xhci-mtk: Do not use xhci's virt_dev in drop_endpoint (Torez Smith) [1975985] - usb: xhci-mtk: fix issue of out-of-bounds array access (Torez Smith) [1975985] - usb: dwc3: Decouple USB 2.0 L1 & L2 events (Torez Smith) [1975985] - media: em28xx-input: fix refcount bug in em28xx_usb_disconnect (Torez Smith) [1975985] - media: dvb-usb: Fix error handling in dvb_usb_i2c_init (Torez Smith) [1975985] - power: supply: Fix build error when CONFIG_POWER_SUPPLY is not enabled. (Torez Smith) [1975985] - thunderbolt: test: split up test cases in tb_test_credit_alloc_all (Torez Smith) [1975985] - thunderbolt: Handle ring interrupt by reading interrupt status register (Torez Smith) [1975985] - thunderbolt: Add vendor specific NHI quirk for auto-clearing interrupt status (Torez Smith) [1975985] - thunderbolt: Fix port linking by checking all adapters (Torez Smith) [1975985] - thunderbolt: Do not read control adapter config space (Torez Smith) [1975985] - thunderbolt: Add authorized value to the KOBJ_CHANGE uevent (Torez Smith) [1975985] - usb: typec: tcpm: Raise vdm_sm_running flag only when VDM SM is running (Torez Smith) [1975985] - usb: dwc3: gadget: Stop EP0 transfers during pullup disable (Torez Smith) [1975985] - usb: dwc3: gadget: Fix dwc3_calc_trbs_left() (Torez Smith) [1975985] - Revert "USB: serial: ch341: fix character loss at high transfer rates" (Torez Smith) [1975985] - USB: serial: option: add new VID/PID to support Fibocom FG150 (Torez Smith) [1975985] - usb: typec: tcpm: Fix VDMs sometimes not being forwarded to alt-mode drivers (Torez Smith) [1975985] - Revert "usb: dwc3: gadget: Use list_replace_init() before traversing lists" (Torez Smith) [1975985] - usb: typec: tcpm: Keep other events when receiving FRS and Sourcing_vbus events (Torez Smith) [1975985] - usb: dwc3: gadget: Avoid runtime resume if disabling pullup (Torez Smith) [1975985] - usb: dwc3: gadget: Use list_replace_init() before traversing lists (Torez Smith) [1975985] - USB: serial: ftdi_sio: add device ID for Auto-M3 OP-COM v2 (Torez Smith) [1975985] - USB: serial: pl2303: fix GT type detection (Torez Smith) [1975985] - USB: serial: option: add Telit FD980 composition 0x1056 (Torez Smith) [1975985] - USB: serial: pl2303: fix HX type detection (Torez Smith) [1975985] - media: rtl28xxu: fix zero-length control request (Torez Smith) [1975985] - media: Revert "media: rtl28xxu: fix zero-length control request" (Torez Smith) [1975985] - USB: serial: ch341: fix character loss at high transfer rates (Torez Smith) [1975985] - usb: otg-fsm: Fix hrtimer list corruption (Torez Smith) [1975985] - USB: usbtmc: Fix RCU stall warning (Torez Smith) [1975985] - USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick (Torez Smith) [1975985] - Revert "USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem" (Torez Smith) [1975985] - usb: dwc2: gadget: Fix sending zero length packet in DDMA mode. (Torez Smith) [1975985] - usb: dwc2: Skip clock gating on Samsung SoCs (Torez Smith) [1975985] - usb: dwc2: gadget: Fix GOUTNAK flow for Slave mode. (Torez Smith) [1975985] - usb: xhci: avoid renesas_usb_fw.mem when it's unusable (Torez Smith) [1975985] - usb: dwc3: avoid NULL access of usb_gadget_driver (Torez Smith) [1975985] - usb: typec: stusb160x: Don't block probing of consumer of "connector" nodes (Torez Smith) [1975985] - usb: typec: stusb160x: register role switch before interrupt registration (Torez Smith) [1975985] - USB: usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS (Torez Smith) [1975985] - usb: hub: Disable USB 3 device initiated lpm if exit latency is too high (Torez Smith) [1975985] - usb: hub: Fix link power management max exit latency (MEL) calculations (Torez Smith) [1975985] - usb: typec: tipd: Don't block probing of consumer of "connector" nodes (Torez Smith) [1975985] - xhci: Fix lost USB 2 remote wake (Torez Smith) [1975985] - USB: serial: cp210x: fix comments for GE CS1000 (Torez Smith) [1975985] - USB: core: Fix incorrect pipe calculation in do_proc_control() (Torez Smith) [1975985] - USB: serial: option: add support for u-blox LARA-R6 family (Torez Smith) [1975985] - thunderbolt: test: Reinstate a few casts of bitfields (Torez Smith) [1975985] - USB: cdc-acm: blacklist Heimann USB Appset device (Torez Smith) [1975985] - usb: xhci-mtk: allow multiple Start-Split in a microframe (Torez Smith) [1975985] - usb: ftdi-elan: remove redundant continue statement in a while-loop (Torez Smith) [1975985] - thunderbolt: test: Remove some casts which are no longer required (Torez Smith) [1975985] - xhci: remove redundant continue statement (Torez Smith) [1975985] - usb: dwc3: Fix debugfs creation flow (Torez Smith) [1975985] - docs: driver-api: usb: avoid using ReST :doc:`foo` markup (Torez Smith) [1975985] - xhci: solve a double free problem while doing s4 (Torez Smith) [1975985] - xhci: handle failed buffer copy to URB sg list and fix a W=1 copiler warning (Torez Smith) [1975985] - xhci: Add adaptive interrupt rate for isoch TRBs with XHCI_AVOID_BEI quirk (Torez Smith) [1975985] - xhci: Remove unused defines for ERST_SIZE and ERST_ENTRIES (Torez Smith) [1975985] - usb: typec: Add the missed altmode_id_remove() in typec_register_altmode() (Torez Smith) [1975985] - usb: typec: tcpm: Relax disconnect threshold during power negotiation (Torez Smith) [1975985] - usb: typec: tcpm: Ignore Vsafe0v in PR_SWAP_SNK_SRC_SOURCE_ON state (Torez Smith) [1975985] - usb: typec: tcpci: Fix up sink disconnect thresholds for PD (Torez Smith) [1975985] - usb: core: hub: Disable autosuspend for Cypress CY7C65632 (Torez Smith) [1975985] - usb: host: xhci-tegra: Use devm_platform_get_and_ioremap_resource() (Torez Smith) [1975985] - usb: host: xhci-tegra: Add missing of_node_put() in tegra_xusb_probe() (Torez Smith) [1975985] - usb: host: xhci-tegra: add missing put_device() in tegra_xusb_probe() (Torez Smith) [1975985] - media: usb: cpia2: Fixed Coding Style issues (Torez Smith) [1975985] - media: ttusb-dec: cleanup an error handling logic (Torez Smith) [1975985] - cypress_m8: switch data_bits to real character bits (Torez Smith) [1975985] - thunderbolt: Fix DROM handling for USB4 DROM (Torez Smith) [1975985] - usb: xhci: tegra: Enable ELPG for runtime/system PM (Torez Smith) [1975985] - usb: xhci: tegra: Unlink power domain devices (Torez Smith) [1975985] - thunderbolt: Bond lanes only when dual_link_port != NULL in alloc_dev_default() (Torez Smith) [1975985] - thunderbolt: No need to include in usb4_port.c (Torez Smith) [1975985] - thunderbolt: Poll 10ms for REG_FW_STS_NVM_AUTH_DONE to be set (Torez Smith) [1975985] - thunderbolt: Add device links only when software connection manager is used (Torez Smith) [1975985] - thunderbolt: Add support for Intel Alder Lake (Torez Smith) [1975985] - usb: typec: mux: Fix copy-paste mistake in typec_mux_match (Torez Smith) [1975985] - usb: typec: ucsi: Clear PPM capability data in ucsi_init() error path (Torez Smith) [1975985] - usb: typec: wcove: Use LE to CPU conversion when accessing msg->header (Torez Smith) [1975985] - usb: typec: ucsi: Fix a comment in ucsi_init() (Torez Smith) [1975985] - USB: dwc3: remove debugfs root dentry storage (Torez Smith) [1975985] - USB: serial: cp210x: fix CP2102N-A01 modem control (Torez Smith) [1975985] - USB: serial: cp210x: fix alternate function for CP2102N QFN20 (Torez Smith) [1975985] - usb: dwc2: Don't reset the core after setting turnaround time (Torez Smith) [1975985] - usb: dwc3: support 64 bit DMA in platform driver (Torez Smith) [1975985] - USB: core: Avoid WARNings for 0-length descriptor requests (Torez Smith) [1975985] - usb: dwc3: core: fix kernel panic when do reboot (Torez Smith) [1975985] - usb: dwc3: ep0: fix NULL pointer exception (Torez Smith) [1975985] - usb: typec: intel_pmc_mux: Put ACPI device using acpi_dev_put() (Torez Smith) [1975985] - usb: typec: intel_pmc_mux: Add missed error check for devm_ioremap_resource() (Torez Smith) [1975985] - usb: typec: intel_pmc_mux: Put fwnode in error case during ->probe() (Torez Smith) [1975985] - usb: typec: tcpm: Do not finish VDM AMS for retrying Responses (Torez Smith) [1975985] - media: cinergyt2: make properties const (Torez Smith) [1975985] - media: dvd_usb: memory leak in cinergyt2_fe_attach (Torez Smith) [1975985] - USB: serial: ftdi_sio: add NovaTech OrionMX product ID (Torez Smith) [1975985] - usb: typec: tcpm: cancel send discover hrtimer when unregister tcpm port (Torez Smith) [1975985] - usb: typec: tcpm: cancel frs hrtimer when unregister tcpm port (Torez Smith) [1975985] - usb: typec: tcpm: cancel vdm and state machine hrtimer when unregister tcpm port (Torez Smith) [1975985] - usb: typec: tcpm: Properly handle Alert and Status Messages (Torez Smith) [1975985] - usb: dwc3: meson-g12a: Disable the regulator in the error handling path of the probe (Torez Smith) [1975985] - usb: typec: tcpm: Fix misuses of AMS invocation (Torez Smith) [1975985] - usb: typec: tcpm: Introduce snk_vdo_v1 for SVDM version 1.0 (Torez Smith) [1975985] - dt-bindings: connector: Add PD rev 2.0 VDO definition (Torez Smith) [1975985] - usb: typec: tcpm: Correct the responses in SVDM Version 2.0 DFP (Torez Smith) [1975985] - Revert "usb: dwc3: core: Add shutdown callback for dwc3" (Torez Smith) [1975985] - dt-bindings: connector: Replace BIT macro with generic bit ops (Torez Smith) [1975985] - media: gspca: ov519: replace RIGHT SINGLE QUOTATION MARK (Torez Smith) [1975985] - usb: typec: intel_pmc_mux: Update IOM port status offset for AlderLake (Torez Smith) [1975985] - usb: pd: Set PD_T_SINK_WAIT_CAP to 310ms (Torez Smith) [1975985] - usb: dwc3: gadget: Bail from dwc3_gadget_exit() if dwc->gadget is NULL (Torez Smith) [1975985] - usb: dwc3: gadget: Disable gadget IRQ during pullup disable (Torez Smith) [1975985] - usb: dwc3: debugfs: Add and remove endpoint dirs dynamically (Torez Smith) [1975985] - Revert "usb: typec: mux: Remove requirement for the "orientation-switch" device property" (Torez Smith) [1975985] - media: rtl28xxu: fix zero-length control request (Torez Smith) [1975985] - media: gspca/sunplus: fix zero-length control requests (Torez Smith) [1975985] - media: gspca/gl860: fix zero-length control requests (Torez Smith) [1975985] - media: gspca/sq905: fix control-request direction (Torez Smith) [1975985] - media: dtv5100: fix control-request directions (Torez Smith) [1975985] - media: drivers/media/usb/gspca/cpia1.c : fix spelling typo (Torez Smith) [1975985] - media: drivers/media/usb/em28xx/em28xx-cards.c : fix typo issues (Torez Smith) [1975985] - media: zr364xx: fix memory leak in zr364xx_start_readpipe (Torez Smith) [1975985] - media: em28xx: Fix possible memory leak of em28xx struct (Torez Smith) [1975985] - thunderbolt: Check for NVM authentication status after the operation started (Torez Smith) [1975985] - thunderbolt: Add WRITE_ONLY and AUTHENTICATE_ONLY NVM operations for retimers (Torez Smith) [1975985] - thunderbolt: Allow router NVM authenticate separately (Torez Smith) [1975985] - thunderbolt: Move nvm_write_ops to tb.h (Torez Smith) [1975985] - thunderbolt: Log the link as TBT instead of TBT3 (Torez Smith) [1975985] - thunderbolt: Add support for retimer NVM upgrade when there is no link (Torez Smith) [1975985] - thunderbolt: Add additional USB4 port operations for retimer access (Torez Smith) [1975985] - thunderbolt: Add support for ACPI _DSM to power on/off retimers (Torez Smith) [1975985] - thunderbolt: Add USB4 port devices (Torez Smith) [1975985] - thunderbolt: Add KUnit tests for credit allocation (Torez Smith) [1975985] - thunderbolt: Allocate credits according to router preferences (Torez Smith) [1975985] - USB: core: Check buffer length matches wLength for control transfers (Torez Smith) [1975985] - usb: typec: ucsi: Fix copy/paste issue for 'ucsi_set_drvdata()' (Torez Smith) [1975985] - usb: dwc2: gadget: Repair 'dwc2_hsotg_core_init_disconnected()'s documentation (Torez Smith) [1975985] - usb: dwc2: pci: Fix possible copy/paste issue (Torez Smith) [1975985] - usb: dwc2: hcd_queue: Fix typeo in function name 'dwc2_hs_pmap_unschedule()' (Torez Smith) [1975985] - usb: dwc2: params: Fix naming of 'dwc2_get_hwparams()' in the docs (Torez Smith) [1975985] - usb: common: ulpi: Add leading underscores for function name '__ulpi_register_driver()' (Torez Smith) [1975985] - usb: dwc2: platform: Provide function name for 'dwc2_check_core_version()' (Torez Smith) [1975985] - driver core: Move the "removable" attribute from USB to core (Torez Smith) [1975985] - usb: dwc3: trace: Remove unused fields in dwc3_log_trb (Torez Smith) [1975985] - usb: typec: mux: Remove requirement for the "orientation-switch" device property (Torez Smith) [1975985] - usb: typec: mux: Use device type instead of device name for matching (Torez Smith) [1975985] - usb: common: usb-conn-gpio: use usb_role_string() to print role status (Torez Smith) [1975985] - usb: roles: add helper usb_role_string() (Torez Smith) [1975985] - USB: serial: omninet: update driver description (Torez Smith) [1975985] - USB: serial: omninet: add device id for Zyxel Omni 56K Plus (Torez Smith) [1975985] - USB: serial: quatech2: fix control-request directions (Torez Smith) [1975985] - usb: typec: tcpci: Make symbol 'tcpci_apply_rc' static (Torez Smith) [1975985] - USB: usbfs: remove double evaluation of usb_sndctrlpipe() (Torez Smith) [1975985] - usb: typec: tcpm: Respond Not_Supported if no snk_vdo (Torez Smith) [1975985] - usb: typec: tcpm: Properly interrupt VDM AMS (Torez Smith) [1975985] - media: lmedm04: delete lme2510_get_adapter_count() (Torez Smith) [1975985] - media: dvb-usb: fix wrong definition (Torez Smith) [1975985] - USB: core: WARN if pipe direction != setup packet direction (Torez Smith) [1975985] - USB: trancevibrator: fix control-request direction (Torez Smith) [1975985] - USB: dwc2: drop irq-flags initialisations (Torez Smith) [1975985] - usb: typec: tcpci: Implement callback for apply_rc (Torez Smith) [1975985] - usb: typec: tcpm: Move TCPC to APPLY_RC state during PR_SWAP (Torez Smith) [1975985] - usb: typec: tcpm: Refactor logic to enable/disable auto vbus dicharge (Torez Smith) [1975985] - usb: typec: tcpm: Fix up PR_SWAP when vsafe0v is signalled (Torez Smith) [1975985] - usb: atm: cxacru: Fix typo in comment (Torez Smith) [1975985] - usb: isp1760: remove platform data struct and code (Torez Smith) [1975985] - usb: fix spelling mistakes in header files (Torez Smith) [1975985] - USB: serial: digi_acceleport: add chars_in_buffer locking (Torez Smith) [1975985] - USB: serial: digi_acceleport: reduce chars_in_buffer over-reporting (Torez Smith) [1975985] - usb: Restore the usb_header label (Torez Smith) [1975985] - usb: typec: tcpm: Use LE to CPU conversion when accessing msg->header (Torez Smith) [1975985] - usb: typec: mux: Fix matching with typec_altmode_desc (Torez Smith) [1975985] - misc/uss720: fix memory leak in uss720_probe (Torez Smith) [1975985] - usb: dwc3: gadget: Properly track pending and queued SG (Torez Smith) [1975985] - USB: usbfs: Don't WARN about excessively large memory allocations (Torez Smith) [1975985] - usb: common: usb-conn-gpio: use dev_err_probe() to print log (Torez Smith) [1975985] - usb: common: usb-conn-gpio: fix NULL pointer dereference of charger (Torez Smith) [1975985] - Revert "USB: Add reset-resume quirk for WD19's Realtek Hub" (Torez Smith) [1975985] - USB: Verify the port status when timeout happens during port suspend (Torez Smith) [1975985] - usb: typec: wcove: Fx wrong kernel doc format (Torez Smith) [1975985] - media: pvrusb2: fix warning in pvr2_i2c_core_done (Torez Smith) [1975985] - media: rtl2832_sdr/vivid/airspy/hackrf/msi2500: drop memset of fmt.sdr.reserved (Torez Smith) [1975985] - media: cpia2: fix memory leak in cpia2_usb_probe (Torez Smith) [1975985] - media: s2255drv: remove redundant assignment to variable field (Torez Smith) [1975985] - media: gspca: properly check for errors in po1030_probe() (Torez Smith) [1975985] - Revert "media: gspca: Check the return value of write_bridge for timeout" (Torez Smith) [1975985] - media: gspca: mt9m111: Check write_bridge for timeout (Torez Smith) [1975985] - Revert "media: gspca: mt9m111: Check write_bridge for timeout" (Torez Smith) [1975985] - Revert "media: usb: gspca: add a missed check for goto_low_power" (Torez Smith) [1975985] - usb: core: hcd: use map_urb_for_dma for single step set feature urb (Torez Smith) [1975985] - usb: dwc3: pci: Fix DEFINE for Intel Elkhart Lake (Torez Smith) [1975985] - usb: core: hub: fix race condition about TRSMRCY of resume (Torez Smith) [1975985] - usb: typec: tcpm: Fix SINK_DISCOVERY current limit for Rp-default (Torez Smith) [1975985] - xhci: Add reset resume quirk for AMD xhci controller. (Torez Smith) [1975985] - usb: xhci: Increase timeout for HC halt (Torez Smith) [1975985] - xhci: Do not use GFP_KERNEL in (potentially) atomic context (Torez Smith) [1975985] - xhci: Fix giving back cancelled URBs even if halted endpoint can't reset (Torez Smith) [1975985] - xhci-pci: Allow host runtime PM as default for Intel Alder Lake xHCI (Torez Smith) [1975985] - usb: typec: tcpm: Don't block probing of consumers of "connector" nodes (Torez Smith) [1975985] - usb: xhci-mtk: use first-fit for LS/FS (Torez Smith) [1975985] - usb: xhci-mtk: remove unnecessary assignments in periodic TT scheduler (Torez Smith) [1975985] - usb: xhci-mtk: remove unnecessary setting of has_ippc (Torez Smith) [1975985] - usb: xhci-mtk: use bitfield instead of bool (Torez Smith) [1975985] - usb: typec: tcpm: Fix wrong handling for Not_Supported in VDM AMS (Torez Smith) [1975985] - usb: typec: tcpm: Send DISCOVER_IDENTITY from dedicated work (Torez Smith) [1975985] - usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4 (Torez Smith) [1975985] - usb: dwc3: omap: improve extcon initialization (Torez Smith) [1975985] - usb: typec: ucsi: Put fwnode in any case during ->probe() (Torez Smith) [1975985] - usb: dwc2: Remove obsolete MODULE_ constants from platform.c (Torez Smith) [1975985] - usb: dwc3: imx8mp: fix error return code in dwc3_imx8mp_probe() (Torez Smith) [1975985] - usb: dwc3: imx8mp: detect dwc3 core node via compatible string (Torez Smith) [1975985] - usb: dwc3: gadget: Return success always for kick transfer in ep queue (Torez Smith) [1975985] - usb: dwc3: gadget: Free gadget structure only after freeing endpoints (Torez Smith) [1975985] - usb: dwc2: Fix gadget DMA unmap direction (Torez Smith) [1975985] - usb: dwc3: gadget: Rename EOPF event macros to Suspend (Torez Smith) [1975985] - usb: dwc3: gadget: Enable suspend events (Torez Smith) [1975985] - usb: Restore the reference to ch9.h (Torez Smith) [1975985] - usb: dwc3: core: Add missing GHWPARAMS9 doc (Torez Smith) [1975985] - usb: dwc3: pci: Enable usb2-gadget-lpm-disable for Intel Merrifield (Torez Smith) [1975985] - cdc-wdm: untangle a circular dependency between callback and softint (Torez Smith) [1975985] - usb: dwc3: remove repeated setting of current_dr_role (Torez Smith) [1975985] - USB: serial: pl2303: add device id for ADLINK ND-6530 GC (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: add startech.com device id (Torez Smith) [1975985] - USB: serial: option: add Telit LE910-S1 compositions 0x7010, 0x7011 (Torez Smith) [1975985] - USB: serial: ftdi_sio: add IDs for IDS GmbH Products (Torez Smith) [1975985] - usb: Fix up movement of USB core kerneldoc location (Torez Smith) [1975985] - usb: dwc3: gadget: Handle DEV_TXF_FLUSH_BYPASS capability (Torez Smith) [1975985] - usb: dwc3: Capture new capability register GHWPARAMS9 (Torez Smith) [1975985] - usb: dwc3: core: Do core softreset when switch mode (Torez Smith) [1975985] - usb: dwc2: Get rid of useless error checks in suspend interrupt (Torez Smith) [1975985] - usb: dwc2: Update dwc2_handle_usb_suspend_intr function. (Torez Smith) [1975985] - usb: dwc2: Add exit hibernation mode before removing drive (Torez Smith) [1975985] - usb: dwc2: Add hibernation exiting flow by system resume (Torez Smith) [1975985] - usb: dwc2: Add hibernation entering flow by system suspend (Torez Smith) [1975985] - usb: dwc2: Allow exit hibernation in urb enqueue (Torez Smith) [1975985] - usb: dwc2: Move exit hibernation to dwc2_port_resume() function (Torez Smith) [1975985] - usb: dwc2: Move enter hibernation to dwc2_port_suspend() function (Torez Smith) [1975985] - usb: dwc2: Clear GINTSTS_RESTOREDONE bit after restore is generated. (Torez Smith) [1975985] - usb: dwc2: Clear fifo_map when resetting core. (Torez Smith) [1975985] - usb: dwc2: Allow exiting hibernation from gpwrdn rst detect (Torez Smith) [1975985] - usb: dwc2: Fix hibernation between host and device modes. (Torez Smith) [1975985] - usb: dwc2: Fix host mode hibernation exit with remote wakeup flow. (Torez Smith) [1975985] - usb: dwc2: Reset DEVADDR after exiting gadget hibernation. (Torez Smith) [1975985] - usb: dwc2: Update exit hibernation when port reset is asserted (Torez Smith) [1975985] - usb: dwc3: gadget: Remove FS bInterval_m1 limitation (Torez Smith) [1975985] - usb: xhci-mtk: remove bus status check (Torez Smith) [1975985] - usb: dwc2: Enable RPi in ACPI mode (Torez Smith) [1975985] - USB: Add reset-resume quirk for WD19's Realtek Hub (Torez Smith) [1975985] - usb: storage: datafab: remove redundant assignment of variable result (Torez Smith) [1975985] - usb: misc: adutux: fix whitespace coding style issue (Torez Smith) [1975985] - usb: dwc3: gadget: Fix START_TRANSFER link state check (Torez Smith) [1975985] - usb: typec: tcpm: Fix error while calculating PPS out values (Torez Smith) [1975985] - usb: xhci-mtk: remove unused members (Torez Smith) [1975985] - usb: xhci-mtk: use clock bulk to get clocks (Torez Smith) [1975985] - usb: xhci-mtk: add support runtime PM (Torez Smith) [1975985] - usb: xhci-mtk: check return value in suspend/resume hooks (Torez Smith) [1975985] - usb: typec: tcpm: Allow slow charging loops to comply to pSnkStby (Torez Smith) [1975985] - usb: typec: tcpm: Honour pSnkStdby requirement during negotiation (Torez Smith) [1975985] - usb: dwc3: gadget: Check for disabled LPM quirk (Torez Smith) [1975985] - usb: dwc3: core: Add shutdown callback for dwc3 (Torez Smith) [1975985] - usb: dwc3: gadget: Ignore Packet Pending bit (Torez Smith) [1975985] - USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet (Torez Smith) [1975985] - usb: typec: silence a static checker warning (Torez Smith) [1975985] - USB: cdc-acm: add more Maxlinear/Exar models to ignore list (Torez Smith) [1975985] - USB: serial: xr: add copyright notice (Torez Smith) [1975985] - USB: serial: xr: reset FIFOs on open (Torez Smith) [1975985] - USB: serial: xr: add support for XR22801, XR22802, XR22804 (Torez Smith) [1975985] - USB: serial: xr: add support for XR21B1411 (Torez Smith) [1975985] - USB: serial: xr: add support for XR21B1421, XR21B1422 and XR21B1424 (Torez Smith) [1975985] - USB: serial: xr: add type abstraction (Torez Smith) [1975985] - USB: serial: xr: drop type prefix from shared defines (Torez Smith) [1975985] - USB: serial: xr: move pin configuration to probe (Torez Smith) [1975985] - USB: serial: xr: rename GPIO-pin defines (Torez Smith) [1975985] - USB: serial: xr: rename GPIO-mode defines (Torez Smith) [1975985] - USB: serial: xr: add support for XR21V1412 and XR21V1414 (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: clean up termios CSIZE handling (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: use kernel types consistently (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: add port-command helpers (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: clean up vendor-request helpers (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: drop unnecessary packed attributes (Torez Smith) [1975985] - USB: serial: io_ti: drop unnecessary packed attributes (Torez Smith) [1975985] - USB: serial: io_ti: use kernel types consistently (Torez Smith) [1975985] - USB: serial: io_ti: add read-port-command helper (Torez Smith) [1975985] - USB: serial: io_ti: add send-port-command helper (Torez Smith) [1975985] - USB: serial: io_ti: clean up vendor-request helpers (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: drop drain delay for 3410 (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: reduce drain delay to one char (Torez Smith) [1975985] - USB: serial: io_ti: document reason for drain delay (Torez Smith) [1975985] - usb: dwc2: Add exit clock gating before removing driver (Torez Smith) [1975985] - usb: dwc2: Add clock gating exiting flow by system resume (Torez Smith) [1975985] - usb: dwc2: Add clock gating entering flow by system suspend (Torez Smith) [1975985] - usb: dwc2: Allow exit clock gating in urb enqueue (Torez Smith) [1975985] - usb: dwc2: Update exit clock gating when port is resumed (Torez Smith) [1975985] - usb: dwc2: Update enter clock gating when port is suspended (Torez Smith) [1975985] - usb: dwc2: Add exit clock gating when port reset is asserted (Torez Smith) [1975985] - usb: dwc2: Add exit clock gating from session request interrupt (Torez Smith) [1975985] - usb: dwc2: Add exit clock gating from wakeup interrupt (Torez Smith) [1975985] - usb: dwc2: Allow entering clock gating from USB_SUSPEND interrupt (Torez Smith) [1975985] - usb: dwc2: Add host clock gating support functions (Torez Smith) [1975985] - usb: dwc2: Add device clock gating support functions (Torez Smith) [1975985] - Revert "usb: Link the ports to the connectors they are attached to" (Torez Smith) [1975985] - USB: serial: cp210x: add gpio-configuration debug printk (Torez Smith) [1975985] - USB: serial: cp210x: provide gpio valid mask (Torez Smith) [1975985] - usb: dwc3: qcom: Detect DWC3 DT-nodes using compatible string (Torez Smith) [1975985] - usb: dwc3: qcom: Remove redundant dev_err call in dwc3_qcom_probe() (Torez Smith) [1975985] - usb: core: reduce power-on-good delay time of root hub (Torez Smith) [1975985] - USB:ehci:fix Kunpeng920 ehci hardware problem (Torez Smith) [1975985] - USB: serial: do not use tty class device for debugging (Torez Smith) [1975985] - USB: cdc-acm: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: cdc-acm: fix unprivileged TIOCCSERIAL (Torez Smith) [1975985] - Revert "USB: cdc-acm: fix rounding error in TIOCSSERIAL" (Torez Smith) [1975985] - usb: typec: tcpm: Add support for altmodes (Torez Smith) [1975985] - usb: typec: Add typec_port_register_altmodes() (Torez Smith) [1975985] - usb: roles: Call try_module_get() from usb_role_switch_find_by_fwnode() (Torez Smith) [1975985] - usb: dwc3: xilinx: Remove the extra freeing of clocks (Torez Smith) [1975985] - usb: dwc3: Resolve kernel-doc warning for Xilinx DWC3 driver (Torez Smith) [1975985] - usb: core: hub: Fix PM reference leak in usb_port_resume() (Torez Smith) [1975985] - usb: dwc3: pci: add support for the Intel Alder Lake-M (Torez Smith) [1975985] - usb: typec: Link all ports during connector registration (Torez Smith) [1975985] - usb: Iterator for ports (Torez Smith) [1975985] - usb: Link the ports to the connectors they are attached to (Torez Smith) [1975985] - usb: typec: Port mapping utility (Torez Smith) [1975985] - usb: typec: tcpm: update power supply once partner accepts (Torez Smith) [1975985] - usb: typec: tcpm: Address incorrect values of tcpm psy for pps supply (Torez Smith) [1975985] - usb: typec: tcpm: Address incorrect values of tcpm psy for fixed supply (Torez Smith) [1975985] - usb: dwc2: Add exit partial power down before removing driver (Torez Smith) [1975985] - usb: dwc2: Fix partial power down exiting by system resume (Torez Smith) [1975985] - usb: dwc2: Update partial power down entering by system suspend (Torez Smith) [1975985] - usb: dwc2: Fix session request interrupt handler (Torez Smith) [1975985] - usb: dwc2: Allow exit partial power down in urb enqueue (Torez Smith) [1975985] - usb: dwc2: Add part. power down exit from dwc2_conn_id_status_change(). (Torez Smith) [1975985] - usb: dwc2: Add exit partial power down when port reset is asserted (Torez Smith) [1975985] - usb: dwc2: Add exit partial power down when port is resumed (Torez Smith) [1975985] - usb: dwc2: Add enter partial power down when port is suspended (Torez Smith) [1975985] - usb: dwc2: Update port suspend/resume function definitions. (Torez Smith) [1975985] - usb: dwc2: Add partial power down exit flow in wakeup intr. (Torez Smith) [1975985] - usb: dwc2: Update enter and exit partial power down functions (Torez Smith) [1975985] - usb: dwc2: Add host partial power down functions (Torez Smith) [1975985] - usb: dwc2: Add device partial power down functions (Torez Smith) [1975985] - media: gscpa/stv06xx: fix memory leak (Torez Smith) [1975985] - media: gspca: Fix memory leak in probe (Torez Smith) [1975985] - media: dvb-usb: avoid -Wempty-body warnings (Torez Smith) [1975985] - media: flexcop: avoid -Wempty-body warning (Torez Smith) [1975985] - media: dvb-usb: fix memory leak in dvb_usb_adapter_init (Torez Smith) [1975985] - media: dvb-usb-remote: fix dvb_usb_nec_rc_key_to_event type mismatch (Torez Smith) [1975985] - thunderbolt: Add details to router uevent (Torez Smith) [1975985] - USB: serial: io_edgeport: drop unused definitions (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: switch to 30-second closing wait (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: drop closing_wait module parameter (Torez Smith) [1975985] - USB: serial: io_ti: switch to 30-second closing wait (Torez Smith) [1975985] - USB: serial: io_ti: drop closing_wait module parameter (Torez Smith) [1975985] - USB: serial: ftdi_sio: clean up TIOCSSERIAL (Torez Smith) [1975985] - USB: serial: ftdi_sio: simplify TIOCGSERIAL permission check (Torez Smith) [1975985] - USB: serial: ftdi_sio: ignore baud_base changes (Torez Smith) [1975985] - USB: serial: stop reporting legacy UART types (Torez Smith) [1975985] - USB: serial: add generic support for TIOCSSERIAL (Torez Smith) [1975985] - USB: serial: fix return value for unsupported ioctls (Torez Smith) [1975985] - USB: serial: whiteheat: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: usb_wwan: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: usb_wwan: fix unprivileged TIOCCSERIAL (Torez Smith) [1975985] - USB: serial: usb_wwan: fix TIOCSSERIAL jiffies conversions (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: fix TIOCSSERIAL permission check (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: ssu100: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: quatech2: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: pl2303: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: opticon: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: mos7840: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: mos7720: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: io_ti: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: io_edgeport: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: ftdi_sio: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: ark3116: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - media: em28xx/em28xx.h: Remove duplicate struct declaration (Torez Smith) [1975985] - media: cx231xx/cx231xx.h: Remove repeated struct declaration (Torez Smith) [1975985] - xhci: prevent double-fetch of transfer and transfer event TRBs (Torez Smith) [1975985] - xhci: fix potential array out of bounds with several interrupters (Torez Smith) [1975985] - xhci: check control context is valid before dereferencing it. (Torez Smith) [1975985] - xhci: check port array allocation was successful before dereferencing it (Torez Smith) [1975985] - media: em28xx: fix memory leak (Torez Smith) [1975985] - usb: typec: Declare the typec_class static (Torez Smith) [1975985] - usb: typec: Organize the private headers properly (Torez Smith) [1975985] - usb: xhci-mtk: support quirk to disable usb2 lpm (Torez Smith) [1975985] - usb: xhci-mtk: fix oops when unbind driver (Torez Smith) [1975985] - usb: xhci-mtk: fix wrong remainder of bandwidth budget (Torez Smith) [1975985] - usb: dwc2: delete duplicate word in the comment (Torez Smith) [1975985] - usb: dwc2: add parenthess and space around * (Torez Smith) [1975985] - usb: dwc3: add cancelled reasons for dwc3 requests (Torez Smith) [1975985] - usb: dwc3: fix incorrect kernel-doc comment syntax in files (Torez Smith) [1975985] - usb: dwc3: st: fix incorrect kernel-doc comment syntax in file (Torez Smith) [1975985] - usb: dwc3: imx8mp: fix incorrect kernel-doc comment syntax (Torez Smith) [1975985] - USB: serial: xr: claim both interfaces (Torez Smith) [1975985] - USB: serial: add support for multi-interface functions (Torez Smith) [1975985] - USB: serial: refactor endpoint classification (Torez Smith) [1975985] - USB: serial: drop unused suspending flag (Torez Smith) [1975985] - USB: serial: xr: fix CSIZE handling (Torez Smith) [1975985] - USB: serial: iuu_phoenix: remove redundant variable 'error' (Torez Smith) [1975985] - usb: dwc3: Create helper function getting MDWIDTH (Torez Smith) [1975985] - usb: xhci-mtk: remove MODULE_ALIAS (Torez Smith) [1975985] - usb: xhci-mtk: drop CONFIG_OF (Torez Smith) [1975985] - usb: misc: usbsevseg: update to use usb_control_msg_send() (Torez Smith) [1975985] - usb: misc: ezusb: update to use usb_control_msg_send() (Torez Smith) [1975985] - usb: dwc3: gadget: modify the scale in vbus_draw callback (Torez Smith) [1975985] - usb: xhci-mtk: add support ip-sleep wakeup for mT8192 (Torez Smith) [1975985] - usb: xhci-mtk: support ip-sleep wakeup for MT8183 (Torez Smith) [1975985] - usb: dwc3: trace: Print register read and write offset (Torez Smith) [1975985] - usb: typec: tcpci_maxim: Make symbol 'max_tcpci_tcpci_write_table' static (Torez Smith) [1975985] - usbip: tools: add usage of device mode in usbip_list.c (Torez Smith) [1975985] - usbip: tools: add options and examples in man page related to device mode (Torez Smith) [1975985] - tools: usbip: list.h: fix kernel-doc for list_del() (Torez Smith) [1975985] - xhci: Fix uninitialized errors (Torez Smith) [1975985] - usb: typec: Fix a typo (Torez Smith) [1975985] - usb: xhci: Remove unused function (Torez Smith) [1975985] - usb: xhci: Rewrite xhci_create_usb3_bos_desc() (Torez Smith) [1975985] - usb: xhci: Fix port minor revision (Torez Smith) [1975985] - usb: xhci: Init root hub SSP rate (Torez Smith) [1975985] - thunderbolt: Unlock on error path in tb_domain_add() (Torez Smith) [1975985] - usb: core: sysfs: Check for SSP rate in speed attr (Torez Smith) [1975985] - usb: core: hub: Print speed name based on ssp rate (Torez Smith) [1975985] - usb: core: hub: Remove port_speed_is_ssp() (Torez Smith) [1975985] - usb: core: Track SuperSpeed Plus GenXxY (Torez Smith) [1975985] - usb: dwc3: gadget: Avoid continuing preparing TRBs during teardown (Torez Smith) [1975985] - USB: xhci: drop workaround for forced irq threading (Torez Smith) [1975985] - usb: dwc3: Add driver for Xilinx platforms (Torez Smith) [1975985] - USB: core: rename usb_driver_claim_interface() data parameter (Torez Smith) [1975985] - USB: core: drop outdated interface-binding comment (Torez Smith) [1975985] - media: media/usb: fix kernel-doc header issues (Torez Smith) [1975985] - media: gspca/sq905.c: fix uninitialized variable (Torez Smith) [1975985] - media: media/usb/gspca/w996Xcf.c: /** -> /* (Torez Smith) [1975985] - media: flexcop-usb: delete unneeded return (Torez Smith) [1975985] - thunderbolt: Add KUnit tests for DMA tunnels (Torez Smith) [1975985] - thunderbolt: Add support for USB4 DROM (Torez Smith) [1975985] - thunderbolt: Check quirks in tb_switch_add() (Torez Smith) [1975985] - thunderbolt: Add KUnit tests for XDomain properties (Torez Smith) [1975985] - thunderbolt: Drop unused tb_port_set_initial_credits() (Torez Smith) [1975985] - thunderbolt: Use dedicated flow control for DMA tunnels (Torez Smith) [1975985] - thunderbolt: Allow multiple DMA tunnels over a single XDomain connection (Torez Smith) [1975985] - thunderbolt: Add support for maxhopid XDomain property (Torez Smith) [1975985] - thunderbolt: Add tb_property_copy_dir() (Torez Smith) [1975985] - thunderbolt: Align XDomain protocol timeouts with the spec (Torez Smith) [1975985] - thunderbolt: Use pseudo-random number as initial property block generation (Torez Smith) [1975985] - thunderbolt: Do not re-establish XDomain DMA paths automatically (Torez Smith) [1975985] - thunderbolt: Decrease control channel timeout for software connection manager (Torez Smith) [1975985] - thunderbolt: Disable retry logic for intra-domain control packets (Torez Smith) [1975985] - thunderbolt: Do not pass timeout for tb_cfg_reset() (Torez Smith) [1975985] - thunderbolt: Add more logging to XDomain connections (Torez Smith) [1975985] - usb: typec: tcpm: PD3.0 sinks can send Discover Identity even in device mode (Torez Smith) [1975985] - drivers: usb: Fix a typo in dwc3-qcom.c (Torez Smith) [1975985] - usb: webcam: Invalid size of Processing Unit Descriptor (Torez Smith) [1975985] - usb: typec: tcpci: Added few missing TCPCI register definitions (Torez Smith) [1975985] - USB: serial: pl2303: TA & TB alternate divider with non-standard baud rates (Torez Smith) [1975985] - USB: serial: pl2303: add device-type names (Torez Smith) [1975985] - USB: serial: pl2303: tighten type HXN (G) detection (Torez Smith) [1975985] - USB: serial: pl2303: rename legacy PL2303H type (Torez Smith) [1975985] - USB: serial: pl2303: amend and tighten type detection (Torez Smith) [1975985] - USB: serial: pl2303: clean up type detection (Torez Smith) [1975985] - USB: serial: io_edgeport: drop unneeded forward declarations (Torez Smith) [1975985] - USB: serial: keyspan: drop unneeded forward declarations (Torez Smith) [1975985] - usb: typec: tipd: Separate file for tracepoint creation (Torez Smith) [1975985] - usb: typec: tps6598x: Move the driver under its own subdirectory (Torez Smith) [1975985] - usb: typec: tps6598x: Fix tracepoint header file (Torez Smith) [1975985] - usb: typec: tcpci: Refactor tcpc_presenting_cc1_rd macro (Torez Smith) [1975985] - thunderbolt: debugfs: Show all accessible dwords (Torez Smith) [1975985] - media: fix incorrect kernel doc usages (Torez Smith) [1975985] - media: drivers/media/usb: fix memory leak in zr364xx_probe (Torez Smith) [1975985] - media: anysee: simplify the return expression of anysee_ci_* function (Torez Smith) [1975985] - media: media/usb:Remove superfluous "breaks" in the ttusb_dec.c (Torez Smith) [1975985] - media: media/usb:Remove superfluous "breaks" (Torez Smith) [1975985] - media: usbtv: constify static structs (Torez Smith) [1975985] - media: em28xx: Add pid for bulk revision of Hauppauge 461eV2 (Torez Smith) [1975985] - media: em28xx: Add pid for bulk revision of Hauppauge 461e (Torez Smith) [1975985] - media: dvb-usb: Fix use-after-free access (Torez Smith) [1975985] - media: dvb-usb: Fix memory leak at error in dvb_usb_device_init() (Torez Smith) [1975985] - media: dvb-usb: make dvb_usb_device_properties const (Torez Smith) [1975985] - usb: typec: tps6598x: Fix return value check in tps6598x_probe() (Torez Smith) [1975985] - usb: typec: stusb160x: fix return value check in stusb160x_probe() (Torez Smith) [1975985] - usb: typec: tcpm: turn tcpm_ams_finish into void function (Torez Smith) [1975985] - usb: typec: tcpci: Check ROLE_CONTROL while interpreting CC_STATUS (Torez Smith) [1975985] - usb: common: move function's kerneldoc next to its definition (Torez Smith) [1975985] - usb: xhci-mtk: print debug info of endpoint interval (Torez Smith) [1975985] - usb: common: add function to get interval expressed in us unit (Torez Smith) [1975985] - usb: xhci-mtk: support to build xhci-mtk-hcd.ko (Torez Smith) [1975985] - usb: xhci-mtk: remove declaration of xhci_mtk_setup() (Torez Smith) [1975985] - usb: xhci-mtk: add some schedule error number (Torez Smith) [1975985] - usb: xhci-mtk: rebuild the way to get bandwidth domain (Torez Smith) [1975985] - usb: xhci-mtk: use @tt_info to check the FS/LS device is under a HS hub (Torez Smith) [1975985] - usb: xhci-mtk: add a member @speed in mu3h_sch_ep_info struct (Torez Smith) [1975985] - usb: xhci-mtk: use clear type instead of void (Torez Smith) [1975985] - usb: xhci-mtk: remove unnecessary members of mu3h_sch_tt struct (Torez Smith) [1975985] - usb: xhci-mtk: add a function to get bandwidth boundary (Torez Smith) [1975985] - usb: xhci-mtk: add a function to (un)load bandwidth info (Torez Smith) [1975985] - usb: xhci-mtk: use @sch_tt to check whether need do TT schedule (Torez Smith) [1975985] - usb: xhci-mtk: add only one extra CS for FS/LS INTR (Torez Smith) [1975985] - usb: xhci-mtk: get the microframe boundary for ESIT (Torez Smith) [1975985] - usb: dwc3: Fix dereferencing of null dwc->usb_psy (Torez Smith) [1975985] - media: uvc: don't do DMA on stack (Torez Smith) [1975985] - usb: dwc3: document usb_psy in struct dwc3 (Torez Smith) [1975985] - media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K (Torez Smith) [1975985] - USB: typec: tcpm: create debugfs subdir for the driver (Torez Smith) [1975985] - usb: dwc2: Add STM32 related debugfs entries (Torez Smith) [1975985] - media: uvcvideo: Support devices that report an OT as an entity source (Torez Smith) [1975985] - media: uvcvideo: Fix XU id print in forward scan (Torez Smith) [1975985] - USB: typec: fusb302: create debugfs subdir for the driver (Torez Smith) [1975985] - media: uvcvideo: Use dma_alloc_noncontiguous API (Torez Smith) [1975985] - USB: host: uhci: remove dentry pointer for debugfs (Torez Smith) [1975985] - media: uvc: strncpy -> strscpy (Torez Smith) [1975985] - media: uvcvideo: Rename debug functions (Torez Smith) [1975985] - media: uvcvideo: use dev_printk() for uvc_trace() (Torez Smith) [1975985] - media: uvcvideo: New macro uvc_trace_cont (Torez Smith) [1975985] - USB: core: no need to save usb_devices_root (Torez Smith) [1975985] - media: uvcvideo: Use dev_ printk aliases (Torez Smith) [1975985] - usb: dwc3: add an alternate path in vbus_draw callback (Torez Smith) [1975985] - media: uvcvideo: Add Privacy control based on EXT_GPIO (Torez Smith) [1975985] - usb: dwc3: add a power supply for current control (Torez Smith) [1975985] - media: uvcvideo: Implement UVC_EXT_GPIO_UNIT (Torez Smith) [1975985] - usb: typec: tps6598x: Add trace event for data status (Torez Smith) [1975985] - media: uvcvideo: Allow entity-defined get_info and get_cur (Torez Smith) [1975985] - media: uvcvideo: Provide sync and async uvc_ctrl_status_event (Torez Smith) [1975985] - usb: typec: tps6598x: Add trace event for power status register (Torez Smith) [1975985] - media: uvcvideo: Allow entities with no pads (Torez Smith) [1975985] - usb: typec: tps6598x: Add trace event for status register (Torez Smith) [1975985] - media: uvcvideo: Allow extra entities (Torez Smith) [1975985] - usb: typec: tps6598x: Add trace event for IRQ events (Torez Smith) [1975985] - tty: make everyone's write_room return >= 0 (Torez Smith) [1975985] - media: uvcvideo: Move guid to entity (Torez Smith) [1975985] - USB: serial: xr: fix NULL-deref on disconnect (Torez Smith) [1975985] - media: uvcvideo: Accept invalid bFormatIndex and bFrameIndex values (Torez Smith) [1975985] - thunderbolt: Drop unused functions tb_switch_is_[ice|tiger]_lake() (Torez Smith) [1975985] - media: uvcvideo: Force UVC version to 1.0a for 1bcf:0b40 (Torez Smith) [1975985] - thunderbolt: debugfs: Handle fail reading block (Torez Smith) [1975985] - media: uvcvideo: Use DIV_ROUND_CLOSEST directly to make it readable (Torez Smith) [1975985] - media: usb: uvc: no need to check return value of debugfs_create functions (Torez Smith) [1975985] - media: uvcvideo: Convey full colorspace information to V4L2 (Torez Smith) [1975985] - driver core: fw_devlink: Detect supplier devices that will never be added (Torez Smith) [1975985] - media: uvcvideo: Ensure all probed info is returned to v4l2 (Torez Smith) [1975985] - media: uvcvideo: Silence shift-out-of-bounds warning (Torez Smith) [1975985] - media: uvcvideo: Fix dereference of out-of-bound list iterator (Torez Smith) [1975985] - media: zr364xx: fix memory leaks in probe() (Torez Smith) [1975985] - media: uvcvideo: Cleanup uvc_ctrl_add_info() error handling (Torez Smith) [1975985] - USB: serial: xr: fix B0 handling (Torez Smith) [1975985] - media: uvcvideo: Fix uvc_ctrl_fixup_xu_info() not having any effect (Torez Smith) [1975985] - USB: serial: xr: fix pin configuration (Torez Smith) [1975985] - media: uvcvideo: Replace HTTP links with HTTPS ones (Torez Smith) [1975985] - USB: serial: xr: fix gpio-mode handling (Torez Smith) [1975985] - media: uvcvideo: Set media controller entity functions (Torez Smith) [1975985] - USB: serial: xr: simplify line-speed logic (Torez Smith) [1975985] - media: uvcvideo: Add mapping for HEVC payloads (Torez Smith) [1975985] - USB: serial: xr: clean up line-settings handling (Torez Smith) [1975985] - media: uvcvideo: Fix annotation for uvc_video_clock_update() (Torez Smith) [1975985] - USB: serial: xr: document vendor-request recipient (Torez Smith) [1975985] - USB: serial: xr: use termios flag helpers (Torez Smith) [1975985] - USB: serial: xr: use subsystem usb_device at probe (Torez Smith) [1975985] - media: media/usb: rename VFL_TYPE_GRABBER to _VIDEO (Torez Smith) [1975985] - USB: serial: xr: fix interface leak at disconnect (Torez Smith) [1975985] - media: rename VFL_TYPE_GRABBER to _VIDEO (Torez Smith) [1975985] - USB: serial: xr: fix NULL-deref at probe (Torez Smith) [1975985] - USB: cdc-acm: ignore Exar XR21V141X when serial driver is built (Torez Smith) [1975985] - media: uvcvideo: drop error check of debugfs_create_dir() (Torez Smith) [1975985] - USB: serial: add MaxLinear/Exar USB to Serial driver (Torez Smith) [1975985] - media: uvcvideo: Fix a typo in UVC_METATADA_BUF_SIZE (Torez Smith) [1975985] - media: uvcvideo: Fix error path in control parsing failure (Torez Smith) [1975985] - media: drivers/media: don't set pix->priv = 0 (Torez Smith) [1975985] - media: Bulk remove BUG_ON(in_interrupt()) (Torez Smith) [1975985] - media: zr364xx: propagate errors from zr364xx_start_readpipe() (Torez Smith) [1975985] - media: uvcvideo: Add a D4M camera description (Torez Smith) [1975985] - media: em28xx: Enable Hauppauge 461e rev2 (Torez Smith) [1975985] - crypto: qat - fix definition of ring reset results (Vladis Dronov) [1960307] - crypto: qat - add support for compression for 4xxx (Vladis Dronov) [1960307] - crypto: qat - allow detection of dc capabilities for 4xxx (Vladis Dronov) [1960307] - crypto: qat - add PFVF support to enable the reset of ring pairs (Vladis Dronov) [1960307] - crypto: qat - add PFVF support to the GEN4 host driver (Vladis Dronov) [1960307] - crypto: qat - config VFs based on ring-to-svc mapping (Vladis Dronov) [1960307] - crypto: qat - exchange ring-to-service mappings over PFVF (Vladis Dronov) [1960307] - crypto: qat - support fast ACKs in the PFVF protocol (Vladis Dronov) [1960307] - crypto: qat - exchange device capabilities over PFVF (Vladis Dronov) [1960307] - crypto: qat - introduce support for PFVF block messages (Vladis Dronov) [1960307] - crypto: qat - store the ring-to-service mapping (Vladis Dronov) [1960307] - crypto: qat - store the PFVF protocol version of the endpoints (Vladis Dronov) [1960307] - crypto: qat - improve the ACK timings in PFVF send (Vladis Dronov) [1960307] - crypto: qat - leverage read_poll_timeout in PFVF send (Vladis Dronov) [1960307] - crypto: qat - leverage bitfield.h utils for PFVF messages (Vladis Dronov) [1960307] - crypto: qat - abstract PFVF messages with struct pfvf_message (Vladis Dronov) [1960307] - crypto: qat - set PFVF_MSGORIGIN just before sending (Vladis Dronov) [1960307] - crypto: qat - make PFVF send and receive direction agnostic (Vladis Dronov) [1960307] - crypto: qat - make PFVF message construction direction agnostic (Vladis Dronov) [1960307] - crypto: qat - add the adf_get_pmisc_base() helper function (Vladis Dronov) [1960307] - crypto: qat - support the reset of ring pairs on PF (Vladis Dronov) [1960307] - crypto: qat - extend crypto capability detection for 4xxx (Vladis Dronov) [1960307] - crypto: qat - set COMPRESSION capability for QAT GEN2 (Vladis Dronov) [1960307] - crypto: qat - set CIPHER capability for QAT GEN2 (Vladis Dronov) [1960307] - crypto: qat - get compression extended capabilities (Vladis Dronov) [1960307] - crypto: qat - improve logging of PFVF messages (Vladis Dronov) [1960307] - crypto: qat - fix VF IDs in PFVF log messages (Vladis Dronov) [1960307] - crypto: qat - do not rely on min version (Vladis Dronov) [1960307] - crypto: qat - refactor pfvf version request messages (Vladis Dronov) [1960307] - crypto: qat - pass the PF2VF responses back to the callers (Vladis Dronov) [1960307] - crypto: qat - use enums for PFVF protocol codes (Vladis Dronov) [1960307] - crypto: qat - reorganize PFVF protocol definitions (Vladis Dronov) [1960307] - crypto: qat - reorganize PFVF code (Vladis Dronov) [1960307] - crypto: qat - abstract PFVF receive logic (Vladis Dronov) [1960307] - crypto: qat - abstract PFVF send function (Vladis Dronov) [1960307] - crypto: qat - differentiate between pf2vf and vf2pf offset (Vladis Dronov) [1960307] - crypto: qat - add pfvf_ops (Vladis Dronov) [1960307] - crypto: qat - relocate PFVF disabled function (Vladis Dronov) [1960307] - crypto: qat - relocate PFVF VF related logic (Vladis Dronov) [1960307] - crypto: qat - relocate PFVF PF related logic (Vladis Dronov) [1960307] - crypto: qat - handle retries due to collisions in adf_iov_putmsg() (Vladis Dronov) [1960307] - crypto: qat - split PFVF message decoding from handling (Vladis Dronov) [1960307] - crypto: qat - re-enable interrupts for legacy PFVF messages (Vladis Dronov) [1960307] - crypto: qat - change PFVF ACK behaviour (Vladis Dronov) [1960307] - crypto: qat - move interrupt code out of the PFVF handler (Vladis Dronov) [1960307] - crypto: qat - move VF message handler to adf_vf2pf_msg.c (Vladis Dronov) [1960307] - crypto: qat - move vf2pf interrupt helpers (Vladis Dronov) [1960307] - crypto: qat - refactor PF top half for PFVF (Vladis Dronov) [1960307] - crypto: qat - fix undetected PFVF timeout in ACK loop (Vladis Dronov) [1960307] - crypto: qat - do not handle PFVF sources for qat_4xxx (Vladis Dronov) [1960307] - crypto: qat - simplify adf_enable_aer() (Vladis Dronov) [1960307] - crypto: qat - share adf_enable_pf2vf_comms() from adf_pf2vf_msg.c (Vladis Dronov) [1960307] - crypto: qat - extract send and wait from adf_vf2pf_request_version() (Vladis Dronov) [1960307] - crypto: qat - add VF and PF wrappers to common send function (Vladis Dronov) [1960307] - crypto: qat - rename pfvf collision constants (Vladis Dronov) [1960307] - crypto: qat - move pfvf collision detection values (Vladis Dronov) [1960307] - crypto: qat - make pfvf send message direction agnostic (Vladis Dronov) [1960307] - crypto: qat - use hweight for bit counting (Vladis Dronov) [1960307] - crypto: qat - remove duplicated logic across GEN2 drivers (Vladis Dronov) [1960307] - crypto: qat - fix handling of VF to PF interrupts (Vladis Dronov) [1960307] - crypto: qat - remove unnecessary collision prevention step in PFVF (Vladis Dronov) [1960307] - crypto: qat - disregard spurious PFVF interrupts (Vladis Dronov) [1960307] - crypto: qat - detect PFVF collision after ACK (Vladis Dronov) [1960307] - crypto: qat - power up 4xxx device (Vladis Dronov) [1960307] - crypto: qat - remove unneeded packed attribute (Vladis Dronov) [1960307] - crypto: qat - free irq in case of failure (Vladis Dronov) [1960307] - crypto: qat - free irqs only if allocated (Vladis Dronov) [1960307] - crypto: qat - remove unmatched CPU affinity to cluster IRQ (Vladis Dronov) [1960307] - crypto: qat - replace deprecated MSI API (Vladis Dronov) [1960307] - crypto: qat - store vf.compatible flag (Vladis Dronov) [1960307] - crypto: qat - do not export adf_iov_putmsg() (Vladis Dronov) [1960307] - crypto: qat - flush vf workqueue at driver removal (Vladis Dronov) [1960307] - crypto: qat - remove the unnecessary get_vintmsk_offset() (Vladis Dronov) [1960307] - crypto: qat - fix naming of PF/VF enable functions (Vladis Dronov) [1960307] - crypto: qat - complete all the init steps before service notification (Vladis Dronov) [1960307] - crypto: qat - move IO virtualization functions (Vladis Dronov) [1960307] - crypto: qat - fix naming for init/shutdown VF to PF notifications (Vladis Dronov) [1960307] - crypto: qat - protect interrupt mask CSRs with a spinlock (Vladis Dronov) [1960307] - crypto: qat - move pf2vf interrupt [en|dis]able to adf_vf_isr.c (Vladis Dronov) [1960307] - crypto: qat - fix reuse of completion variable (Vladis Dronov) [1960307] - crypto: qat - remove intermediate tasklet for vf2pf (Vladis Dronov) [1960307] - crypto: qat - rename compatibility version definition (Vladis Dronov) [1960307] - crypto: qat - prevent spurious MSI interrupt in PF (Vladis Dronov) [1960307] - crypto: qat - prevent spurious MSI interrupt in VF (Vladis Dronov) [1960307] - crypto: qat - handle both source of interrupt in VF ISR (Vladis Dronov) [1960307] - crypto: qat - do not ignore errors from enable_vf2pf_comms() (Vladis Dronov) [1960307] - crypto: qat - enable interrupts only after ISR allocation (Vladis Dronov) [1960307] - crypto: qat - remove empty sriov_configure() (Vladis Dronov) [1960307] - crypto: qat - use proper type for vf_mask (Vladis Dronov) [1960307] - crypto: qat - fix a typo in a comment (Vladis Dronov) [1960307] - crypto: qat - disable AER if an error occurs in probe functions (Vladis Dronov) [1960307] - crypto: qat - set DMA mask to 48 bits for Gen2 (Vladis Dronov) [1960307] - crypto: qat - simplify code and axe the use of a deprecated API (Vladis Dronov) [1960307] - crypto: qat - ratelimit invalid ioctl message and print the invalid cmd (Vladis Dronov) [1960307] - lib: crc8: pointer to data block should be const (Vladis Dronov) [1960307] - redhat/configs: disable CONFIG_HYPERV_BALLOON on Aarch64 (Vitaly Kuznetsov) [2035292] - net/mlx5e: Fix possible use-after-free deleting fdb rule (Amir Tzin) [2000003] - e1000e: Fix packet loss on Tiger Lake and later (Ken Cox) [1952803] - e1000e: Separate TGP board type from SPT (Ken Cox) [1952803] - e1000e: Add support for the next LOM generation (Ken Cox) [1952803] - e1000e: Add support for Lunar Lake (Ken Cox) [1952803] - ACPI: tables: FPDT: Do not print FW_BUG message if record types are reserved (Mark Langsdorf) [1999906] - powerpc/xmon: Dump XIVE information for online-only processors. (Steve Best) [2037639] - of: net: pass the dst buffer to of_get_mac_address() (Petr Oros) [2026468] - net: ethernet: improve eth_platform_get_mac_address (Petr Oros) [2026468] - net: ethernet: fix similar warning reported by kbuild test robot (Petr Oros) [2026468] - net: ethernet: support of_get_mac_address new ERR_PTR error (Petr Oros) [2026468] - [s390] s390: add HWCAP_S390_PCI_MIO to ELF hwcaps (Mete Durlu) [2030641] - [s390] s390: make PCI mio support a machine flag (Mete Durlu) [2030641] - Allocate bw_dwork as a pointer and introduce a backpointer in the work struct (Nico Pache) [1990580] - writeback: use READ_ONCE for unlocked reads of writeback stats (Nico Pache) [1990580] - writeback: rename domain_update_bandwidth() (Nico Pache) [1990580] - writeback: fix bandwidth estimate for spiky workload (Nico Pache) [1990580] - writeback: reliably update bandwidth estimation (Nico Pache) [1990580] - writeback: track number of inodes under writeback (Nico Pache) [1990580] - bdi: replace BDI_CAP_NO_{WRITEBACK,ACCT_DIRTY} with a single flag (Nico Pache) [1990580] - bdi: invert BDI_CAP_NO_ACCT_WB (Nico Pache) [1990580] - bdi: replace BDI_CAP_STABLE_WRITES with a queue and a sb flag (Nico Pache) [1990580] - mm: use SWP_SYNCHRONOUS_IO more intelligently (Nico Pache) [1990580] - bdi: remove BDI_CAP_SYNCHRONOUS_IO (Nico Pache) [1990580] - bcache: inherit the optimal I/O size (Nico Pache) [1990580] - fs: remove the unused SB_I_MULTIROOT flag (Nico Pache) [1990580] - Revert "bdi: replace BDI_CAP_NO_{WRITEBACK,ACCT_DIRTY} with a single flag" (Nico Pache) [1990580] - mm/page_io.c: annotate refault stalls from swap_readpage (Nico Pache) [1990580] - mmc: mmc_spi: Enable stable writes (Nico Pache) [1990580] - virtio-blk: modernize sysfs attribute creation (Nico Pache) [1990580] - aoe: register default groups with device_add_disk() (Nico Pache) [1990580] - block: make QUEUE_SYSFS_BIT_FNS more useful (Nico Pache) [1990580] - block: add helper macros for queue sysfs entries (Nico Pache) [1990580] - cifs: sanitize multiple delimiters in prepath (Thiago Becker) [2031200] - igc: Fix typo in i225 LTR functions (Corinna Vinschen) [1970667] - igc: AF_XDP zero-copy metadata adjust breaks SKBs on XDP_PASS (Corinna Vinschen) [1970667] - igc: Change Device Reset to Port Reset (Corinna Vinschen) [1970667] - igc: Add new device ID (Corinna Vinschen) [1970667] - igc: Remove media type checking on the PHY initialization (Corinna Vinschen) [1970667] - igc: Update I226_K device ID (Corinna Vinschen) [1970667] - net: intel: igc_ptp: fix build for UML (Corinna Vinschen) [1970667] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Corinna Vinschen) [1970667] - igc: Add support for CBS offloading (Corinna Vinschen) [1970667] - igc: Simplify TSN flags handling (Corinna Vinschen) [1970667] - igc: Use default cycle 'start' and 'end' values for queues (Corinna Vinschen) [1970667] - igc: Add support for PTP getcrosststamp() (Corinna Vinschen) [1970667] - igc: Enable PCIe PTM (Corinna Vinschen) [1970667] - igc: Use num_tx_queues when iterating over tx_ring queue (Corinna Vinschen) [1970667] - igc: fix page fault when thunderbolt is unplugged (Corinna Vinschen) [1970667] - igc: Increase timeout value for Speed 100/1000/2500 (Corinna Vinschen) [1970667] - igc: Set QBVCYCLET_S to 0 for TSN Basic Scheduling (Corinna Vinschen) [1970667] - igc: Remove phy->type checking (Corinna Vinschen) [1970667] - igc: Remove _I_PHY_ID checking (Corinna Vinschen) [1970667] - igc: Check if num of q_vectors is smaller than max before array access (Corinna Vinschen) [1970667] - Revert "igc: Export LEDs" (Corinna Vinschen) [1970667] - igc: Export LEDs (Corinna Vinschen) [1970667] - igc: Make flex filter more flexible (Corinna Vinschen) [1970667] - igc: Allow for Flex Filters to be installed (Corinna Vinschen) [1970667] - igc: Integrate flex filter into ethtool ops (Corinna Vinschen) [1970667] - igc: Add possibility to add flex filter (Corinna Vinschen) [1970667] - igc: Fix an error handling path in 'igc_probe()' (Corinna Vinschen) [1970667] - igc: change default return of igc_read_phy_reg() (Corinna Vinschen) [1970667] - igc: Fix use-after-free error during reset (Corinna Vinschen) [1970667] - intel: Remove rcu_read_lock() around XDP program invocation (Corinna Vinschen) [1970667] - igc: Enable HW VLAN Insertion and HW VLAN Stripping (Corinna Vinschen) [1970667] - igc: Indentation fixes (Corinna Vinschen) [1970667] - igc: Remove unused MDICNFG register (Corinna Vinschen) [1970667] - igc: Remove unused asymmetric pause bit from igc defines (Corinna Vinschen) [1970667] - igc: Update driver to use ethtool_sprintf (Corinna Vinschen) [1970667] - igc: add correct exception tracing for XDP (Corinna Vinschen) [1970667] - igb/igc: use strongly typed pointer (Corinna Vinschen) [1970667] - intel: remove checker warning (Corinna Vinschen) [1970667] - igc: Enable TX via AF_XDP zero-copy (Corinna Vinschen) [1970667] - igc: Enable RX via AF_XDP zero-copy (Corinna Vinschen) [1970667] - igc: Replace IGC_TX_FLAGS_XDP flag by an enum (Corinna Vinschen) [1970667] - igc: Introduce igc_unmap_tx_buffer() helper (Corinna Vinschen) [1970667] - igc: Introduce TX/RX stats helpers (Corinna Vinschen) [1970667] - igc: Refactor XDP rxq info registration (Corinna Vinschen) [1970667] - igc: Refactor igc_clean_rx_ring() (Corinna Vinschen) [1970667] - igc: Refactor __igc_xdp_run_prog() (Corinna Vinschen) [1970667] - igc: Move igc_xdp_is_enabled() (Corinna Vinschen) [1970667] - igc: use XDP helpers (Corinna Vinschen) [1970667] - igc: Expose LPI counters (Corinna Vinschen) [1970667] - igc: enable auxiliary PHC functions for the i225 (Corinna Vinschen) [1970667] - igc: Enable internal i225 PPS (Corinna Vinschen) [1970667] - igc: Add support for XDP_REDIRECT action (Corinna Vinschen) [1970667] - igc: Add support for XDP_TX action (Corinna Vinschen) [1970667] - igc: Add initial XDP support (Corinna Vinschen) [1970667] - drivers: net: mhi: fix error path in mhi_net_newlink (Íñigo Huguet) [2004141] - cfg80211: correct bridge/4addr mode check (Íñigo Huguet) [2004141] - cfg80211: fix management registrations locking (Íñigo Huguet) [2004141] - cfg80211: scan: fix RCU in cfg80211_add_nontrans_list() (Íñigo Huguet) [2004141] - mac80211: mesh: fix HE operation element length check (Íñigo Huguet) [2004141] - mwifiex: avoid null-pointer-subtraction warning (Íñigo Huguet) [2004141] - Revert "brcmfmac: use ISO3166 country code and 0 rev as fallback" (Íñigo Huguet) [2004141] - iwlwifi: pcie: add configuration of a Wi-Fi adapter on Dell XPS 15 (Íñigo Huguet) [2004141] - mac80211: Fix Ptk0 rekey documentation (Íñigo Huguet) [2004141] - mac80211: check return value of rhashtable_init (Íñigo Huguet) [2004141] - mac80211: fix use-after-free in CCMP/GCMP RX (Íñigo Huguet) [2004141] - mac80211-hwsim: fix late beacon hrtimer handling (Íñigo Huguet) [2004141] - mac80211: mesh: fix potentially unaligned access (Íñigo Huguet) [2004141] - mac80211: limit injected vht mcs/nss in ieee80211_parse_tx_radiotap (Íñigo Huguet) [2004141] - mac80211: Drop frames from invalid MAC address in ad-hoc mode (Íñigo Huguet) [2004141] - mac80211: Fix ieee80211_amsdu_aggregate frag_tail bug (Íñigo Huguet) [2004141] - Revert "mac80211: do not use low data rates for data frames with no ack flag" (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: missing unlock in iwl_mvm_wowlan_program_keys() (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: Fix off by ones in iwl_mvm_wowlan_get_rsc_v5_data() (Íñigo Huguet) [2004141] - iwlwifi: mvm: Fix possible NULL dereference (Íñigo Huguet) [2004141] - iwlwifi: fix printk format warnings in uefi.c (Íñigo Huguet) [2004141] - iwlwifi: pnvm: Fix a memory leak in 'iwl_pnvm_get_from_fs()' (Íñigo Huguet) [2004141] - iwlwifi: bump FW API to 66 for AX devices (Íñigo Huguet) [2004141] - iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Íñigo Huguet) [2004141] - iwlwifi: mvm: add rtnl_lock() in iwl_mvm_start_get_nvm() (Íñigo Huguet) [2004141] - net: qrtr: revert check in qrtr_endpoint_post() (Íñigo Huguet) [2004141] - net: qrtr: make checks in qrtr_endpoint_post() stricter (Íñigo Huguet) [2004141] - intel: switch from 'pci_' to 'dma_' API (Íñigo Huguet) [2004141] - mwifiex: pcie: add reset_d3cold quirk for Surface gen4+ devices (Íñigo Huguet) [2004141] - mwifiex: pcie: add DMI-based quirk implementation for Surface devices (Íñigo Huguet) [2004141] - brcmfmac: pcie: fix oops on failure to resume and reprobe (Íñigo Huguet) [2004141] - brcmfmac: Add WPA3 Personal with FT to supported cipher suites (Íñigo Huguet) [2004141] - rtlwifi: rtl8192de: Fix initialization of place in _rtl92c_phy_get_rightchnlplace() (Íñigo Huguet) [2004141] - rtw88: add quirk to disable pci caps on HP Pavilion 14-ce0xxx (Íñigo Huguet) [2004141] - ath9k: fix sleeping in atomic context (Íñigo Huguet) [2004141] - ath9k: fix OOB read ar9300_eeprom_restore_internal (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't use FW key ID in beacon protection (Íñigo Huguet) [2004141] - iwlwifi: mvm: Fix scan channel flags settings (Íñigo Huguet) [2004141] - iwlwifi: mvm: support broadcast TWT alone (Íñigo Huguet) [2004141] - iwlwifi: mvm: introduce iwl_stored_beacon_notif_v3 (Íñigo Huguet) [2004141] - iwlwifi: move get pnvm file name to a separate function (Íñigo Huguet) [2004141] - iwlwifi: mvm: add support for responder config command version 9 (Íñigo Huguet) [2004141] - iwlwifi: mvm: add support for range request command version 13 (Íñigo Huguet) [2004141] - iwlwifi: allow debug init in RF-kill (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't schedule the roc_done_wk if it is already running (Íñigo Huguet) [2004141] - iwlwifi: yoyo: support for new DBGI_SRAM region (Íñigo Huguet) [2004141] - iwlwifi: add 'Rx control frame to MBSSID' HE capability (Íñigo Huguet) [2004141] - iwlwifi: fw: fix debug dump data declarations (Íñigo Huguet) [2004141] - iwlwifi: api: remove datamember from struct (Íñigo Huguet) [2004141] - iwlwifi: fix __percpu annotation (Íñigo Huguet) [2004141] - iwlwifi: pcie: avoid dma unmap/remap in crash dump (Íñigo Huguet) [2004141] - iwlwifi: acpi: fill in SAR tables with defaults (Íñigo Huguet) [2004141] - iwlwifi: acpi: fill in WGDS table with defaults (Íñigo Huguet) [2004141] - iwlwifi: bump FW API to 65 for AX devices (Íñigo Huguet) [2004141] - iwlwifi: acpi: support reading and storing WGDS revision 2 (Íñigo Huguet) [2004141] - iwlwifi: mvm: load regdomain at INIT stage (Íñigo Huguet) [2004141] - iwlwifi: mvm: Read the PPAG and SAR tables at INIT stage (Íñigo Huguet) [2004141] - iwlwifi: mvm: trigger WRT when no beacon heard (Íñigo Huguet) [2004141] - iwlwifi: fw: correctly limit to monitor dump (Íñigo Huguet) [2004141] - iwlwifi: skip first element in the WTAS ACPI table (Íñigo Huguet) [2004141] - iwlwifi: mvm: support version 11 of wowlan statuses notification (Íñigo Huguet) [2004141] - iwlwifi: convert flat GEO profile table to a struct version (Íñigo Huguet) [2004141] - iwlwifi: remove unused ACPI_WGDS_TABLE_SIZE definition (Íñigo Huguet) [2004141] - iwlwifi: support reading and storing EWRD revisions 1 and 2 (Íñigo Huguet) [2004141] - iwlwifi: acpi: support reading and storing WRDS revision 1 and 2 (Íñigo Huguet) [2004141] - iwlwifi: pass number of chains and sub-bands to iwl_sar_set_profile() (Íñigo Huguet) [2004141] - iwlwifi: remove ACPI_SAR_NUM_TABLES definition (Íñigo Huguet) [2004141] - iwlwifi: convert flat SAR profile table to a struct version (Íñigo Huguet) [2004141] - iwlwifi: rename ACPI_SAR_NUM_CHAIN_LIMITS to ACPI_SAR_NUM_CHAINS (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix access to BSS elements (Íñigo Huguet) [2004141] - iwlwifi: mvm: Refactor setting of SSIDs for 6GHz scan (Íñigo Huguet) [2004141] - iwlwifi: mvm: silently drop encrypted frames for unknown station (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: implement RSC command version 5 (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: make key reprogramming iteration optional (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: add separate key iteration for GTK type (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: refactor TSC/RSC configuration (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: remove fixed cmd_flags argument (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: separate TKIP data from key iteration (Íñigo Huguet) [2004141] - iwlwifi: mvm: simplify __iwl_mvm_set_sta_key() (Íñigo Huguet) [2004141] - iwlwifi: mvm: support new station key API (Íñigo Huguet) [2004141] - iwlwifi: mvm: Fix umac scan request probe parameters (Íñigo Huguet) [2004141] - iwlwifi: pcie: implement Bz reset flow (Íñigo Huguet) [2004141] - iwlwifi: implement Bz NMI behaviour (Íñigo Huguet) [2004141] - iwlwifi: pcie: implement Bz device startup (Íñigo Huguet) [2004141] - iwlwifi: read MAC address from correct place on Bz (Íñigo Huguet) [2004141] - iwlwifi: give Bz devices their own name (Íñigo Huguet) [2004141] - iwlwifi: split off Bz devices into their own family (Íñigo Huguet) [2004141] - iwlwifi: yoyo: cleanup internal buffer allocation in D3 (Íñigo Huguet) [2004141] - iwlwifi: mvm: treat MMPDUs in iwl_mvm_mac_tx() as bcast (Íñigo Huguet) [2004141] - iwlwifi: mvm: clean up number of HW queues (Íñigo Huguet) [2004141] - iwlwifi: mvm: avoid static queue number aliasing (Íñigo Huguet) [2004141] - iwlwifi: use DEFINE_MUTEX() for mutex lock (Íñigo Huguet) [2004141] - iwlwifi: remove trailing semicolon in macro definition (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix a memory leak in iwl_mvm_mac_ctxt_beacon_changed (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix old-style static const declaration (Íñigo Huguet) [2004141] - iwlwifi: mvm: remove check for vif in iwl_mvm_vif_from_mac80211() (Íñigo Huguet) [2004141] - iwlwifi: pcie: remove spaces from queue names (Íñigo Huguet) [2004141] - iwlwifi: mvm: restrict FW SMPS request (Íñigo Huguet) [2004141] - iwlwifi: mvm: set replay counter on key install (Íñigo Huguet) [2004141] - iwlwifi: mvm: remove trigger EAPOL time event (Íñigo Huguet) [2004141] - iwlwifi: iwl-dbg-tlv: add info about loading external dbg bin (Íñigo Huguet) [2004141] - iwlwifi: mvm: Add support for hidden network scan on 6GHz band (Íñigo Huguet) [2004141] - iwlwifi: mvm: Do not use full SSIDs in 6GHz scan (Íñigo Huguet) [2004141] - iwlwifi: print PNVM complete notification status in hexadecimal (Íñigo Huguet) [2004141] - iwlwifi: pcie: dump error on FW reset handshake failures (Íñigo Huguet) [2004141] - iwlwifi: prepare for synchronous error dumps (Íñigo Huguet) [2004141] - iwlwifi: pcie: free RBs during configure (Íñigo Huguet) [2004141] - iwlwifi: pcie: optimise struct iwl_rx_mem_buffer layout (Íñigo Huguet) [2004141] - iwlwifi: mvm: avoid FW restart while shutting down (Íñigo Huguet) [2004141] - iwlwifi: nvm: enable IEEE80211_HE_PHY_CAP10_HE_MU_M1RU_MAX_LTF (Íñigo Huguet) [2004141] - iwlwifi: mvm: set BROADCAST_TWT_SUPPORTED in MAC policy (Íñigo Huguet) [2004141] - iwlwifi: iwl-nvm-parse: set STBC flags for HE phy capabilities (Íñigo Huguet) [2004141] - cfg80211: use wiphy DFS domain if it is self-managed (Íñigo Huguet) [2004141] - mac80211: parse transmit power envelope element (Íñigo Huguet) [2004141] - ieee80211: add definition for transmit power envelope element (Íñigo Huguet) [2004141] - ieee80211: add definition of regulatory info in 6 GHz operation information (Íñigo Huguet) [2004141] - mac80211: introduce individual TWT support in AP mode (Íñigo Huguet) [2004141] - ieee80211: add TWT element definitions (Íñigo Huguet) [2004141] - brcmsmac: make array addr static const, makes object smaller (Íñigo Huguet) [2004141] - rtw88: Remove unnecessary check code (Íñigo Huguet) [2004141] - rtw88: wow: fix size access error of probe request (Íñigo Huguet) [2004141] - rtw88: wow: report wow reason through mac80211 api (Íñigo Huguet) [2004141] - rtw88: wow: build wow function only if CONFIG_PM is on (Íñigo Huguet) [2004141] - rtw88: refine the setting of rsvd pages for different firmware (Íñigo Huguet) [2004141] - rtw88: use read_poll_timeout instead of fixed sleep (Íñigo Huguet) [2004141] - rtw88: 8822ce: set CLKREQ# signal to low during suspend (Íñigo Huguet) [2004141] - rtw88: change beacon filter default mode (Íñigo Huguet) [2004141] - rtw88: 8822c: add tx stbc support under HT mode (Íñigo Huguet) [2004141] - rtw88: adjust the log level for failure of tx report (Íñigo Huguet) [2004141] - rtl8xxxu: Fix the handling of TX A-MPDU aggregation (Íñigo Huguet) [2004141] - rtl8xxxu: disable interrupt_in transfer for 8188cu and 8192cu (Íñigo Huguet) [2004141] - mwifiex: make arrays static const, makes object smaller (Íñigo Huguet) [2004141] - mwifiex: usb: Replace one-element array with flexible-array member (Íñigo Huguet) [2004141] - mwifiex: drop redundant null-pointer check in mwifiex_dnld_cmd_to_fw() (Íñigo Huguet) [2004141] - rtlwifi: rtl8192de: make arrays static const, makes object smaller (Íñigo Huguet) [2004141] - rtlwifi: rtl8192de: Remove redundant variable initializations (Íñigo Huguet) [2004141] - ray_cs: Split memcpy() to avoid bounds check warning (Íñigo Huguet) [2004141] - ray_cs: use *ph to print small buffer (Íñigo Huguet) [2004141] - brcmfmac: add 43752 SDIO ids and initialization (Íñigo Huguet) [2004141] - brcmfmac: Set SDIO workqueue as WQ_HIGHPRI (Íñigo Huguet) [2004141] - brcmfmac: use separate firmware for 43430 revision 2 (Íñigo Huguet) [2004141] - brcmfmac: support chipsets with different core enumeration space (Íñigo Huguet) [2004141] - brcmfmac: add xtlv support to firmware interface layer (Íñigo Huguet) [2004141] - brcmfmac: increase core revision column aligning core list (Íñigo Huguet) [2004141] - brcmfmac: use different error value for invalid ram base address (Íñigo Huguet) [2004141] - brcmfmac: firmware: Fix firmware loading (Íñigo Huguet) [2004141] - net: qrtr: fix another OOB Read in qrtr_endpoint_post (Íñigo Huguet) [2004141] - cfg80211: fix BSS color notify trace enum confusion (Íñigo Huguet) [2004141] - mac80211: fix locking in ieee80211_restart_work() (Íñigo Huguet) [2004141] - mac80211: Fix insufficient headroom issue for AMSDU (Íñigo Huguet) [2004141] - mac80211: add support for BSS color change (Íñigo Huguet) [2004141] - nl80211: add support for BSS coloring (Íñigo Huguet) [2004141] - mac80211: Use flex-array for radiotap header bitmap (Íñigo Huguet) [2004141] - mac80211: radiotap: Use BIT() instead of shifts (Íñigo Huguet) [2004141] - mac80211: Remove unnecessary variable and label (Íñigo Huguet) [2004141] - mac80211: include (Íñigo Huguet) [2004141] - mac80211: Fix monitor MTU limit so that A-MSDUs get through (Íñigo Huguet) [2004141] - mac80211: remove unnecessary NULL check in ieee80211_register_hw() (Íñigo Huguet) [2004141] - mac80211: Reject zero MAC address in sta_info_insert_check() (Íñigo Huguet) [2004141] - mt76: fix enum type mismatch (Íñigo Huguet) [2004141] - bus: mhi: core: Improve debug messages for power up (Íñigo Huguet) [2004141] - bus: mhi: core: Replace DMA allocation wrappers with original APIs (Íñigo Huguet) [2004141] - bus: mhi: core: Add range checks for BHI and BHIe (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Set register access length for MHI driver (Íñigo Huguet) [2004141] - ath11k: set register access length for MHI driver (Íñigo Huguet) [2004141] - bus: mhi: Add MMIO region length to controller structure (Íñigo Huguet) [2004141] - bus: mhi: core: Set BHI and BHIe pointers to NULL in clean-up (Íñigo Huguet) [2004141] - bus: mhi: core: Set BHI/BHIe offsets on power up preparation (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add Cinterion MV31-W PCIe to MHI (Íñigo Huguet) [2004141] - Revert "mhi: Fix networking tree build." (Íñigo Huguet) [2004141] - mhi: Fix networking tree build. (Íñigo Huguet) [2004141] - brcmfmac: firmware: Allow per-board firmware binaries (Íñigo Huguet) [2004141] - iwlwifi: add new so-jf devices (Íñigo Huguet) [2004141] - iwlwifi: add new SoF with JF devices (Íñigo Huguet) [2004141] - iwlwifi: pnvm: accept multiple HW-type TLVs (Íñigo Huguet) [2004141] - cfg80211: Fix possible memory leak in function cfg80211_bss_update (Íñigo Huguet) [2004141] - nl80211: limit band information in non-split data (Íñigo Huguet) [2004141] - mac80211: fix enabling 4-address mode on a sta vif after assoc (Íñigo Huguet) [2004141] - mac80211: fix starting aggregation sessions on mesh interfaces (Íñigo Huguet) [2004141] - mac80211: Do not strip skb headroom on monitor frames (Íñigo Huguet) [2004141] - net: mhi: Remove MBIM protocol (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Fix inbound IPCR channel (Íñigo Huguet) [2004141] - bus: mhi: core: Validate channel ID when processing command completions (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Apply no-op for wake using sideband wake boolean (Íñigo Huguet) [2004141] - net: mhi: Improve MBIM packet counting (Íñigo Huguet) [2004141] - bus: mhi: pci-generic: configurable network interface MRU (Íñigo Huguet) [2004141] - mt76: mt7921: Fix fall-through warning for Clang (Íñigo Huguet) [2004141] - mt76: mt7921: continue to probe driver when fw already downloaded (Íñigo Huguet) [2004141] - ath11k: Remove some duplicate code (Íñigo Huguet) [2004141] - ath: switch from 'pci_' to 'dma_' API (Íñigo Huguet) [2004141] - iwlwifi: acpi: remove unused function iwl_acpi_eval_dsm_func() (Íñigo Huguet) [2004141] - rtw88: fix c2h memory leak (Íñigo Huguet) [2004141] - brcmfmac: support parse country code map from DT (Íñigo Huguet) [2004141] - bus: mhi: pci-generic: Add missing 'pci_disable_pcie_error_reporting()' calls (Íñigo Huguet) [2004141] - bus: mhi: Wait for M2 state during system resume (Íñigo Huguet) [2004141] - bus: mhi: core: Fix power down latency (Íñigo Huguet) [2004141] - brcmfmac: Silence error messages about unsupported firmware features (Íñigo Huguet) [2004141] - cfg80211: Add wiphy_info_once() (Íñigo Huguet) [2004141] - mac80211: Switch to a virtual time-based airtime scheduler (Íñigo Huguet) [2004141] - Revert "mac80211: HE STA disassoc due to QOS NULL not sent" (Íñigo Huguet) [2004141] - mac80211: remove iwlwifi specific workaround NDPs of null_response (Íñigo Huguet) [2004141] - mac80211: fix NULL ptr dereference during mesh peer connection for non HE devices (Íñigo Huguet) [2004141] - mac80211: Enable power save after receiving NULL packet ACK (Íñigo Huguet) [2004141] - mac80211: add HE 6 GHz capability only if supported (Íñigo Huguet) [2004141] - mac80211: notify driver on mgd TX completion (Íñigo Huguet) [2004141] - mac80211: always include HE 6GHz capability in probe request (Íñigo Huguet) [2004141] - mac80211: add vendor-specific capabilities to assoc request (Íñigo Huguet) [2004141] - cfg80211: allow advertising vendor-specific capabilities (Íñigo Huguet) [2004141] - cfg80211: set custom regdomain after wiphy registration (Íñigo Huguet) [2004141] - cfg80211: Support hidden AP discovery over 6GHz band (Íñigo Huguet) [2004141] - mac80211: conditionally advertise HE in probe requests (Íñigo Huguet) [2004141] - cfg80211: add cfg80211_any_usable_channels() (Íñigo Huguet) [2004141] - cfg80211: reg: improve bad regulatory warning (Íñigo Huguet) [2004141] - nl80211: Fix typo pmsr->pmsr (Íñigo Huguet) [2004141] - mac80211: fix some spelling mistakes (Íñigo Huguet) [2004141] - cfg80211: remove ieee80211_get_he_sta_cap() (Íñigo Huguet) [2004141] - mac80211: remove use of ieee80211_get_he_sta_cap() (Íñigo Huguet) [2004141] - cfg80211: trace more information in assoc trace event (Íñigo Huguet) [2004141] - mac80211: improve AP disconnect message (Íñigo Huguet) [2004141] - mac80211: rearrange struct txq_info for fewer holes (Íñigo Huguet) [2004141] - ieee80211: add defines for HE PHY cap byte 10 (Íñigo Huguet) [2004141] - mac80211: Properly WARN on HW scan before restart (Íñigo Huguet) [2004141] - nl80211/cfg80211: add BSS color to NDP ranging parameters (Íñigo Huguet) [2004141] - mac80211: add to bss_conf if broadcast TWT is supported (Íñigo Huguet) [2004141] - mac80211: move SMPS mode setting after ieee80211_prep_connection (Íñigo Huguet) [2004141] - mac80211: free skb in WEP error case (Íñigo Huguet) [2004141] - mac80211: handle rate control (RC) racing with chanctx definition (Íñigo Huguet) [2004141] - ieee80211: define timing measurement in extended capabilities IE (Íñigo Huguet) [2004141] - mac80211_hwsim: record stats in non-netlink path (Íñigo Huguet) [2004141] - ieee80211: add the value for Category '6' in "rtw_ieee80211_category" (Íñigo Huguet) [2004141] - mac80211: remove iwlwifi specific workaround that broke sta NDP tx (Íñigo Huguet) [2004141] - mac80211: allow SMPS requests only in client mode (Íñigo Huguet) [2004141] - mac80211: check per vif offload_flags in Tx path (Íñigo Huguet) [2004141] - mac80211: add rate control support for encap offload (Íñigo Huguet) [2004141] - mac80211: call ieee80211_tx_h_rate_ctrl() when dequeue (Íñigo Huguet) [2004141] - mac80211: move A-MPDU session check from minstrel_ht to mac80211 (Íñigo Huguet) [2004141] - cfg80211: expose the rfkill device to the low level driver (Íñigo Huguet) [2004141] - wireless: add check of field VHT Extended NSS BW Capable for 160/80+80 MHz setting (Íñigo Huguet) [2004141] - mac80211_hwsim: add concurrent channels scanning support over virtio (Íñigo Huguet) [2004141] - mac80211: don't open-code LED manipulations (Íñigo Huguet) [2004141] - mac80211: consider per-CPU statistics if present (Íñigo Huguet) [2004141] - cfg80211: fix default HE tx bitrate mask in 2G band (Íñigo Huguet) [2004141] - mac80211: remove the repeated declaration (Íñigo Huguet) [2004141] - mac80211: refactor rc_no_data_or_no_ack_use_min function (Íñigo Huguet) [2004141] - mac80211: do not use low data rates for data frames with no ack flag (Íñigo Huguet) [2004141] - mac80211: add ieee80211_is_tx_data helper function (Íñigo Huguet) [2004141] - mac80211: simplify ieee80211_add_station() (Íñigo Huguet) [2004141] - mac80211: use sdata->skb_queue for TDLS (Íñigo Huguet) [2004141] - mac80211: refactor SKB queue processing a bit (Íñigo Huguet) [2004141] - mac80211: unify queueing SKB to iface (Íñigo Huguet) [2004141] - mac80211: minstrel_ht: ignore frame that was sent with noAck flag (Íñigo Huguet) [2004141] - cfg80211: clean up variable use in cfg80211_parse_colocated_ap() (Íñigo Huguet) [2004141] - cfg80211: remove CFG80211_MAX_NUM_DIFFERENT_CHANNELS (Íñigo Huguet) [2004141] - mac80211: Remove redundant assignment to ret (Íñigo Huguet) [2004141] - net: wireless: wext_compat.c: Remove redundant assignment to ps (Íñigo Huguet) [2004141] - wireless: wext-spy: Fix out-of-bounds warning (Íñigo Huguet) [2004141] - ath11k: Avoid memcpy() over-reading of he_cap (Íñigo Huguet) [2004141] - mt7601u: add USB device ID for some versions of XiaoDu WiFi Dongle. (Íñigo Huguet) [2004141] - mwifiex: Avoid memset() over-write of WEP key_material (Íñigo Huguet) [2004141] - rtlwifi: rtl8192de: Fully initialize curvecount_val (Íñigo Huguet) [2004141] - rtw88: coex: remove unnecessary variable and label (Íñigo Huguet) [2004141] - rtw88: add quirks to disable pci capabilities (Íñigo Huguet) [2004141] - rtw88: refine unwanted h2c command (Íñigo Huguet) [2004141] - rtw88: dump FW crash via devcoredump (Íñigo Huguet) [2004141] - rtw88: notify fw when driver in scan-period to avoid potential problem (Íñigo Huguet) [2004141] - rtw88: add rtw_fw_feature_check api (Íñigo Huguet) [2004141] - rtw88: 8822c: update RF parameter tables to v62 (Íñigo Huguet) [2004141] - rtw88: Remove duplicate include of coex.h (Íñigo Huguet) [2004141] - rtw88: 8822c: fix lc calibration timing (Íñigo Huguet) [2004141] - rtw88: add path diversity (Íñigo Huguet) [2004141] - rtw88: add beacon filter support (Íñigo Huguet) [2004141] - iwlwifi: bump FW API to 64 for AX devices (Íñigo Huguet) [2004141] - iwlwifi: fw: dump TCM error table if present (Íñigo Huguet) [2004141] - iwlwifi: add 9560 killer device (Íñigo Huguet) [2004141] - iwlwifi: move error dump to fw utils (Íñigo Huguet) [2004141] - iwlwifi: support loading the reduced power table from UEFI (Íñigo Huguet) [2004141] - iwlwifi: move UEFI code to a separate file (Íñigo Huguet) [2004141] - iwlwifi: mvm: introduce iwl_wowlan_get_status_cmd (Íñigo Huguet) [2004141] - iwlwifi: mvm: introduce iwl_wowlan_kek_kck_material_cmd_v4 (Íñigo Huguet) [2004141] - iwlwifi: mvm: update iwl_wowlan_patterns_cmd (Íñigo Huguet) [2004141] - iwlwifi: mvm: introduce iwl_proto_offload_cmd_v4 (Íñigo Huguet) [2004141] - iwlwifi: fix NUM_IWL_UCODE_TLV_* definitions to avoid sparse errors (Íñigo Huguet) [2004141] - iwlwifi: pcie: free some DMA memory earlier (Íñigo Huguet) [2004141] - iwlwifi: mvm: fill phy_data.d1 for no-data RX (Íñigo Huguet) [2004141] - iwlwifi: pcie: fix context info freeing (Íñigo Huguet) [2004141] - iwlwifi: pcie: free IML DMA memory allocation (Íñigo Huguet) [2004141] - iwlwifi: mvm: support LONG_GROUP for WOWLAN_GET_STATUSES version (Íñigo Huguet) [2004141] - iwlwifi: support ver 6 of WOWLAN_CONFIGURATION and ver 10 of WOWLAN_GET_STATUSES (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't request mac80211 to disable/enable sta's queues (Íñigo Huguet) [2004141] - iwlwifi: mvm: Explicitly stop session protection before unbinding (Íñigo Huguet) [2004141] - iwlwifi: pcie: remove TR/CR tail allocations (Íñigo Huguet) [2004141] - iwlwifi: mvm: Read acpi dsm to get unii4 enable/disable bitmap. (Íñigo Huguet) [2004141] - iwlwifi: pcie: fix some kernel-doc comments (Íñigo Huguet) [2004141] - iwlwifi: advertise broadcast TWT support (Íñigo Huguet) [2004141] - iwlwifi: mvm: support LMR feedback (Íñigo Huguet) [2004141] - iwlwifi: correct HE capabilities (Íñigo Huguet) [2004141] - iwlwifi: mvm: Call NMI instead of REPLY_ERROR (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix error print when session protection ends (Íñigo Huguet) [2004141] - iwlwifi: mvm: honour firmware SMPS requests (Íñigo Huguet) [2004141] - iwlwifi: mvm: apply RX diversity per PHY context (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't request SMPS in AP mode (Íñigo Huguet) [2004141] - iwlwifi: pcie: identify the RF module (Íñigo Huguet) [2004141] - iwlwifi: yoyo: support region TLV version 2 (Íñigo Huguet) [2004141] - iwlwifi: remove duplicate iwl_ax201_cfg_qu_hr declaration (Íñigo Huguet) [2004141] - iwlwifi: pcie: remove CSR_HW_RF_ID_TYPE_CHIP_ID (Íñigo Huguet) [2004141] - iwlwifi: pcie: print interrupt number, not index (Íñigo Huguet) [2004141] - iwlwifi: pcie: Add support for AX231 radio module with Ma devices (Íñigo Huguet) [2004141] - iwlwifi: increase PNVM load timeout (Íñigo Huguet) [2004141] - iwlwifi: pcie: handle pcim_iomap_table() failures better (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't change band on bound PHY contexts (Íñigo Huguet) [2004141] - iwlwifi: remove unused REMOTE_WAKE_CONFIG_CMD definitions (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix indentation in some scan functions (Íñigo Huguet) [2004141] - iwlwifi: mvm: pass the clock type to iwl_mvm_get_sync_time() (Íñigo Huguet) [2004141] - iwlwifi: mvm: support BIOS enable/disable for 11ax in Russia (Íñigo Huguet) [2004141] - ath11k: Enable QCN9074 device (Íñigo Huguet) [2004141] - ath10k: demote chan info without scan request warning (Íñigo Huguet) [2004141] - rtl8xxxu: avoid parsing short RX packet (Íñigo Huguet) [2004141] - rtl8xxxu: Fix device info for RTL8192EU devices (Íñigo Huguet) [2004141] - mt76: mt7921: allow chip reset during device restart (Íñigo Huguet) [2004141] - mt76: mt7615: set macwork timeout according to runtime-pm (Íñigo Huguet) [2004141] - mt76: mt7663s: enable runtime-pm (Íñigo Huguet) [2004141] - mt76: mt7663s: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx path (Íñigo Huguet) [2004141] - mt76: mt7663s: rely on pm reference counting (Íñigo Huguet) [2004141] - mt76: sdio: do not run mt76_txq_schedule directly (Íñigo Huguet) [2004141] - mt76: mt7921: enable HE BFee capability (Íñigo Huguet) [2004141] - mt76: disable TWT capabilities for the moment (Íñigo Huguet) [2004141] - mt76: fix iv and CCMP header insertion (Íñigo Huguet) [2004141] - mt76: mt7921: fix the coredump is being truncated (Íñigo Huguet) [2004141] - mt76: mt7921: fix kernel warning when reset on vif is not sta (Íñigo Huguet) [2004141] - mt76: mt7921: introduce dedicated control for deep_sleep (Íñigo Huguet) [2004141] - mt76: mt7921: limit txpower according to userlevel power (Íñigo Huguet) [2004141] - mt76: mt7921: improve code readability for mt7921_update_txs (Íñigo Huguet) [2004141] - mt76: mt7915: fix IEEE80211_HE_PHY_CAP7_MAX_NC for station mode (Íñigo Huguet) [2004141] - mt76: use SPDX header file comment style (Íñigo Huguet) [2004141] - mt76: add a space between comment char and SPDX tag (Íñigo Huguet) [2004141] - mt76: mt7915: improve MU stability (Íñigo Huguet) [2004141] - mt76: mt7921: add deep sleep control to runtime-pm knob (Íñigo Huguet) [2004141] - mt76: mt7921: enable deep sleep at runtime (Íñigo Huguet) [2004141] - mt76: mt7915: introduce mt7915_mcu_set_txbf() (Íñigo Huguet) [2004141] - mt76: make mt76_update_survey() per phy (Íñigo Huguet) [2004141] - mt76: move mt76_get_next_pkt_id in mt76.h (Íñigo Huguet) [2004141] - mt76: reduce rx buffer size to 2048 (Íñigo Huguet) [2004141] - mt76: connac: fix the maximum interval schedule scan can support (Íñigo Huguet) [2004141] - mt76: mt7915: fix rx fcs error count in testmode (Íñigo Huguet) [2004141] - mt76: testmode: move chip-specific stats dump before common stats (Íñigo Huguet) [2004141] - mt76: connac: add mt76_connac_mcu_get_nic_capability utility routine (Íñigo Huguet) [2004141] - mt76: connac: check band caps in mt76_connac_mcu_set_rate_txpower (Íñigo Huguet) [2004141] - mt76: mt7915: drop the use of repeater entries for station interfaces (Íñigo Huguet) [2004141] - mt76: mt7921: enable VHT BFee capability (Íñigo Huguet) [2004141] - mt76: mt7921: make mt7921_set_channel static (Íñigo Huguet) [2004141] - mt76: mt7921: wake the device before dumping power table (Íñigo Huguet) [2004141] - mt76: connac: add mt76_connac_power_save_sched in mt76_connac_pm_unref (Íñigo Huguet) [2004141] - mt76: connac: fix UC entry is being overwritten (Íñigo Huguet) [2004141] - mt76: mt7615: update radar parameters (Íñigo Huguet) [2004141] - mt76: mt7915: setup drr group for peers (Íñigo Huguet) [2004141] - mt76: mt7921: enable random mac address during sched_scan (Íñigo Huguet) [2004141] - mt76: mt7921: remove mt7921_get_wtbl_info routine (Íñigo Huguet) [2004141] - mt76: mt7915: fix MT_EE_CAL_GROUP_SIZE (Íñigo Huguet) [2004141] - mt76: mt7915: improve error recovery reliability (Íñigo Huguet) [2004141] - mt76: mt7921: enable hw offloading for wep keys (Íñigo Huguet) [2004141] - mt76: mt7915: read all eeprom fields from fw in efuse mode (Íñigo Huguet) [2004141] - mt76: mt7921: set MT76_RESET during mac reset (Íñigo Huguet) [2004141] - mt76: mt7921: introduce mac tx done handling (Íñigo Huguet) [2004141] - mt76: allow hw driver code to overwrite wiphy interface_modes (Íñigo Huguet) [2004141] - mt76: mt7921: update statistic in active mode only (Íñigo Huguet) [2004141] - mt76: mt7915: use mt7915_mcu_get_mib_info() to get survey data (Íñigo Huguet) [2004141] - mt76: mt7615: fix potential overflow on large shift (Íñigo Huguet) [2004141] - mt76: testmode: remove undefined behaviour in mt76_testmode_alloc_skb (Íñigo Huguet) [2004141] - mt76: testmode: remove unnecessary function calls in mt76_testmode_free_skb (Íñigo Huguet) [2004141] - mt76: testmode: fix memory leak in mt76_testmode_alloc_skb (Íñigo Huguet) [2004141] - mt76: mt7615: remove useless if condition in mt7615_add_interface() (Íñigo Huguet) [2004141] - mt76: mt7915: use mt7915_mcu_get_txpower_sku() to get per-rate txpower (Íñigo Huguet) [2004141] - mt76: mt7615: add .offset_tsf callback (Íñigo Huguet) [2004141] - mt76: mt7915: add .offset_tsf callback (Íñigo Huguet) [2004141] - mt76: mt7921: reset wfsys during hw probe (Íñigo Huguet) [2004141] - mt76: mt7921: do not schedule hw reset if the device is not running (Íñigo Huguet) [2004141] - mt76: mt7921: return proper error value in mt7921_mac_init (Íñigo Huguet) [2004141] - mt76: mt7921: enable runtime pm by default (Íñigo Huguet) [2004141] - mt76: mt7921: fix OMAC idx usage (Íñigo Huguet) [2004141] - mt76: mt7921: fix invalid register access in wake_work (Íñigo Huguet) [2004141] - mt76: mt7921: avoid unnecessary consecutive WiFi resets (Íñigo Huguet) [2004141] - mt76: connac: update BA win size in Rx direction (Íñigo Huguet) [2004141] - mt76: connac: add bss color support for sta mode (Íñigo Huguet) [2004141] - mt76: mt7615: add thermal sensor device support (Íñigo Huguet) [2004141] - mt76: mt7915: add thermal cooling device support (Íñigo Huguet) [2004141] - mt76: mt7915: add thermal sensor device support (Íñigo Huguet) [2004141] - mt76: mt7921: fix reset under the deep sleep is enabled (Íñigo Huguet) [2004141] - mt76: mt7921: add back connection monitor support (Íñigo Huguet) [2004141] - mt76: mt7921: consider the invalid value for to_rssi (Íñigo Huguet) [2004141] - mt76: connac: fix WoW with disconnetion and bitmap pattern (Íñigo Huguet) [2004141] - mt76: connac: fw_own rely on all packet memory all being free (Íñigo Huguet) [2004141] - mt76: mt7921: Don't alter Rx path classifier (Íñigo Huguet) [2004141] - mt76: mt7921: fix mt7921_wfsys_reset sequence (Íñigo Huguet) [2004141] - mt76: mt7663: enable hw rx header translation (Íñigo Huguet) [2004141] - mt76: mt7615: free irq if mt7615_mmio_probe fails (Íñigo Huguet) [2004141] - mt76: mt76x0: use dev_debug instead of dev_err for hw_rf_ctrl (Íñigo Huguet) [2004141] - mt76: mt7921: enable rx csum offload (Íñigo Huguet) [2004141] - mt76: mt7921: enable rx header traslation offload (Íñigo Huguet) [2004141] - mt76: connac: add missing configuration in mt76_connac_mcu_wtbl_hdr_trans_tlv (Íñigo Huguet) [2004141] - mt76: mt7921: enable rx hw de-amsdu (Íñigo Huguet) [2004141] - mt76: mt7915: fix a signedness bug in mt7915_mcu_apply_tx_dpd() (Íñigo Huguet) [2004141] - mt76: mt7615: fix NULL pointer dereference in tx_prepare_skb() (Íñigo Huguet) [2004141] - mt76: fix possible NULL pointer dereference in mt76_tx (Íñigo Huguet) [2004141] - mt76: mt7915: add .set_bitrate_mask() callback (Íñigo Huguet) [2004141] - mt76: mt7915: cleanup mt7915_mcu_sta_rate_ctrl_tlv() (Íñigo Huguet) [2004141] - mt76: mt7915: fix tssi indication field of DBDC NICs (Íñigo Huguet) [2004141] - mt76: move mt76_rates in mt76 module (Íñigo Huguet) [2004141] - mac80211: reset profile_periodicity/ema_ap (Íñigo Huguet) [2004141] - mac80211: handle various extensible elements correctly (Íñigo Huguet) [2004141] - cfg80211: avoid double free of PMSR request (Íñigo Huguet) [2004141] - cfg80211: make certificate generation more robust (Íñigo Huguet) [2004141] - mac80211: minstrel_ht: fix sample time check (Íñigo Huguet) [2004141] - mt76: mt7915: add support for tx status reporting (Íñigo Huguet) [2004141] - mt76: mt7915: rework tx rate reporting (Íñigo Huguet) [2004141] - mt76: dma: use ieee80211_tx_status_ext to free packets when tx fails (Íñigo Huguet) [2004141] - mt76: improve tx status codepath (Íñigo Huguet) [2004141] - mt76: intialize tx queue entry wcid to 0xffff by default (Íñigo Huguet) [2004141] - mt76: mt7603: avoid use of ieee80211_tx_info_clear_status (Íñigo Huguet) [2004141] - mt76: mt7615: avoid use of ieee80211_tx_info_clear_status (Íñigo Huguet) [2004141] - mt76: mt7615: fix fixed-rate tx status reporting (Íñigo Huguet) [2004141] - mt76: mt7915: move mt7915_queue_rx_skb to mac.c (Íñigo Huguet) [2004141] - mt76: mt7915: disable ASPM (Íñigo Huguet) [2004141] - mt76: mt7915: add MSI support (Íñigo Huguet) [2004141] - ath11k: send beacon template after vdev_start/restart during csa (Íñigo Huguet) [2004141] - ath10k: Use devm_platform_get_and_ioremap_resource() (Íñigo Huguet) [2004141] - ath10k: remove the repeated declaration (Íñigo Huguet) [2004141] - ath10k: Fix an error code in ath10k_add_interface() (Íñigo Huguet) [2004141] - ath11k: Fix an error handling path in ath11k_core_fetch_board_data_api_n() (Íñigo Huguet) [2004141] - ath: Fix wrong function name in comments (Íñigo Huguet) [2004141] - rtlwifi: Fix spelling of 'download' (Íñigo Huguet) [2004141] - rtlwifi: Remove redundant assignments to ul_enc_algo (Íñigo Huguet) [2004141] - rtlwifi: rtl8723ae: remove redundant initialization of variable rtstatus (Íñigo Huguet) [2004141] - rtlwifi: btcoex: 21a 2ant: Delete several duplicate condition branch codes (Íñigo Huguet) [2004141] - rtlwifi: 8821a: btcoexist: add comments to explain why if-else branches are identical (Íñigo Huguet) [2004141] - rt2x00: do not set timestamp for injected frames (Íñigo Huguet) [2004141] - rndis_wlan: simplify is_associated() (Íñigo Huguet) [2004141] - rt2x00: remove leading spaces before tabs (Íñigo Huguet) [2004141] - rtlwifi: Fix wrong function name in comments (Íñigo Huguet) [2004141] - brcmsmac: Remove the repeated declaration (Íñigo Huguet) [2004141] - brcmsmac: mac80211_if: Fix a resource leak in an error handling path (Íñigo Huguet) [2004141] - brcmsmac: Drop unnecessary NULL check after container_of (Íñigo Huguet) [2004141] - brcmsmac: improve readability on addresses copy (Íñigo Huguet) [2004141] - brcmfmac: Add clm_blob firmware files to modinfo (Íñigo Huguet) [2004141] - brcmfmac: Delete second brcm folder hierarchy (Íñigo Huguet) [2004141] - brcmfmac: Fix a double-free in brcmf_sdio_bus_reset (Íñigo Huguet) [2004141] - brcmfmac: Demote non-compliant kernel-doc headers (Íñigo Huguet) [2004141] - brcmfmac: correctly report average RSSI in station info (Íñigo Huguet) [2004141] - brcmfmac: fix setting of station info chains bitmask (Íñigo Huguet) [2004141] - brcmfmac: use ISO3166 country code and 0 rev as fallback (Íñigo Huguet) [2004141] - ath10k: remove unused more_frags variable (Íñigo Huguet) [2004141] - ath10k: add missing error return code in ath10k_pci_probe() (Íñigo Huguet) [2004141] - ath10k: go to path err_unsupported when chip id is not supported (Íñigo Huguet) [2004141] - ath11k: don't call ath11k_pci_set_l1ss for WCN6855 (Íñigo Huguet) [2004141] - ath11k: add support for WCN6855 (Íñigo Huguet) [2004141] - ath11k: add support to get peer id for WCN6855 (Íñigo Huguet) [2004141] - ath11k: setup WBM_IDLE_LINK ring once again (Íñigo Huguet) [2004141] - ath11k: setup REO for WCN6855 (Íñigo Huguet) [2004141] - ath11k: add dp support for WCN6855 (Íñigo Huguet) [2004141] - ath11k: add hw reg support for WCN6855 (Íñigo Huguet) [2004141] - ath9k: Fix kernel NULL pointer dereference during ath_reset_internal() (Íñigo Huguet) [2004141] - mwifiex: bring down link before deleting interface (Íñigo Huguet) [2004141] - mt76: mt7615: Use devm_platform_get_and_ioremap_resource() (Íñigo Huguet) [2004141] - wwan: core: add WWAN common private data for netdev (Íñigo Huguet) [2004141] - wwan: core: support default netdev creation (Íñigo Huguet) [2004141] - wwan: core: no more hold netdev ops owning module (Íñigo Huguet) [2004141] - net: mhi_net: Update the transmit handler prototype (Íñigo Huguet) [2004141] - bus: mhi: pci-generic: Fix hibernation (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Fix possible use-after-free in mhi_pci_remove() (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: T99W175: update channel name from AT to DUN (Íñigo Huguet) [2004141] - mac80211: drop multicast fragments (Íñigo Huguet) [2004141] - mac80211: move interface shutdown out of wiphy lock (Íñigo Huguet) [2004141] - cfg80211: shut down interfaces on failed resume (Íñigo Huguet) [2004141] - cfg80211: fix phy80211 symlink creation (Íñigo Huguet) [2004141] - mac80211: fix 'reset' debugfs locking (Íñigo Huguet) [2004141] - mac80211: fix deadlock in AP/VLAN handling (Íñigo Huguet) [2004141] - mac80211: Fix NULL ptr deref for injected rate info (Íñigo Huguet) [2004141] - mac80211: fix skb length check in ieee80211_scan_rx() (Íñigo Huguet) [2004141] - mac80211: correct ieee80211_iterate_active_interfaces_mtx() locking comments (Íñigo Huguet) [2004141] - cfg80211: call cfg80211_leave_ocb when switching away from OCB (Íñigo Huguet) [2004141] - mac80211_hwsim: drop pending frames on stop (Íñigo Huguet) [2004141] - mac80211: remove warning in ieee80211_get_sband() (Íñigo Huguet) [2004141] - mt76: mt7921: remove leftover 80+80 HE capability (Íñigo Huguet) [2004141] - mt76: mt7615: do not set MT76_STATE_PM at bootstrap (Íñigo Huguet) [2004141] - ath9k: ar9003_mac: read STBC indicator from rx descriptor (Íñigo Huguet) [2004141] - ath10k/ath11k: fix spelling mistake "requed" -> "requeued" (Íñigo Huguet) [2004141] - mwifiex: re-fix for unaligned accesses (Íñigo Huguet) [2004141] - mt76: mt76x0e: fix device hang during suspend/resume (Íñigo Huguet) [2004141] - mt76: mt7921: fix max aggregation subframes setting (Íñigo Huguet) [2004141] - mt76: connac: fix HT A-MPDU setting field in STA_REC_PHY (Íñigo Huguet) [2004141] - mt76: connac: do not schedule mac_work if the device is not running (Íñigo Huguet) [2004141] - mt76: mt7921: fix possible AOOB issue in mt7921_mcu_tx_rate_report (Íñigo Huguet) [2004141] - brcmfmac: properly check for bus register errors (Íñigo Huguet) [2004141] - Revert "brcmfmac: add a check for the status of usb_register" (Íñigo Huguet) [2004141] - net: rtlwifi: properly check for alloc_workqueue() failure (Íñigo Huguet) [2004141] - Revert "rtlwifi: fix a potential NULL pointer dereference" (Íñigo Huguet) [2004141] - wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join (Íñigo Huguet) [2004141] - wl3501_cs: Fix out-of-bounds warnings in wl3501_send_pkt (Íñigo Huguet) [2004141] - iwlwifi: mvm: tt: Replace thermal_notify_framework (Íñigo Huguet) [2004141] - mt76: debugfs: introduce napi_threaded node (Íñigo Huguet) [2004141] - wl3501: fix typo of 'Networks' in comment (Íñigo Huguet) [2004141] - mt76: use threaded NAPI (Íñigo Huguet) [2004141] - net: mhi_net: make mhi_wwan_ops static (Íñigo Huguet) [2004141] - net: mhi_net: Register wwan_ops for link creation (Íñigo Huguet) [2004141] - net: mhi: remove pointless conditional before kfree_skb() (Íñigo Huguet) [2004141] - net: mhi: Allow decoupled MTU/MRU (Íñigo Huguet) [2004141] - net: mhi: Add support for non-linear MBIM skb processing (Íñigo Huguet) [2004141] - bus: mhi: fix typo in comments for struct mhi_channel_config (Íñigo Huguet) [2004141] - bus: mhi: core: Fix shadow declarations (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Constify mhi_controller_config struct definitions (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Introduce Foxconn T99W175 support (Íñigo Huguet) [2004141] - bus: mhi: core: Sanity check values from remote device before use (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add FIREHOSE channels (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Implement PCI shutdown callback (Íñigo Huguet) [2004141] - bus: mhi: Improve documentation on channel transfer setup APIs (Íñigo Huguet) [2004141] - bus: mhi: core: Remove __ prefix for MHI channel unprepare function (Íñigo Huguet) [2004141] - bus: mhi: core: Check channel execution environment before issuing reset (Íñigo Huguet) [2004141] - bus: mhi: core: Clear configuration from channel context during reset (Íñigo Huguet) [2004141] - bus: mhi: core: Hold device wake for channel update commands (Íñigo Huguet) [2004141] - bus: mhi: core: Update debug messages to use client device (Íñigo Huguet) [2004141] - bus: mhi: core: Improvements to the channel handling state machine (Íñigo Huguet) [2004141] - bus: mhi: core: Clear context for stopped channels from remove() (Íñigo Huguet) [2004141] - bus: mhi: core: Allow sending the STOP channel command (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add SDX65 based modem support (Íñigo Huguet) [2004141] - bus: mhi: core: Remove pre_init flag used for power purposes (Íñigo Huguet) [2004141] - bus: mhi: pm: reduce PM state change verbosity (Íñigo Huguet) [2004141] - bus: mhi: core: Fix MHI runtime_pm behavior (Íñigo Huguet) [2004141] - bus: mhi: core: Move to polling method to wait for MHI ready (Íñigo Huguet) [2004141] - bus: mhi: core: Introduce internal register poll helper function (Íñigo Huguet) [2004141] - bus: mhi: core: Improve state strings for debug messages (Íñigo Huguet) [2004141] - bus: mhi: core: Wait for MHI READY state in most scenarios (Íñigo Huguet) [2004141] - bus: mhi: core: Identify Flash Programmer as a mission mode use case (Íñigo Huguet) [2004141] - bus: mhi: core: Add support for Flash Programmer execution environment (Íñigo Huguet) [2004141] - bus: mhi: core: Handle EDL mode entry appropriately (Íñigo Huguet) [2004141] - bus: mhi: core: Wait for ready after an EDL firmware download (Íñigo Huguet) [2004141] - bus: mhi: core: Rely on accurate method to determine EDL mode (Íñigo Huguet) [2004141] - bus: mhi: core: Check state before processing power_down (Íñigo Huguet) [2004141] - bus: mhi: core: Return EAGAIN if MHI ring is full (Íñigo Huguet) [2004141] - net: export dev_set_threaded symbol (Íñigo Huguet) [2004141] - bus: mhi: core: remove redundant initialization of variables state and ee (Íñigo Huguet) [2004141] - bus: mhi: Make firmware image optional for controller (Íñigo Huguet) [2004141] - bus: mhi: core: Add missing checks for MMIO register entries (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add support for runtime PM (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Use generic PCI power management (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: No-Op for device_wake operations (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add SDX24 based modem support (Íñigo Huguet) [2004141] - bus: mhi: Early MHI resume failure in non M3 state (Íñigo Huguet) [2004141] - bus: mhi: core: Update debug prints to include local device state (Íñigo Huguet) [2004141] - bus: mhi: core: Process execution environment changes serially (Íñigo Huguet) [2004141] - bus: mhi: core: Download AMSS image from appropriate function (Íñigo Huguet) [2004141] - bus: mhi: core: Destroy SBL devices when moving to mission mode (Íñigo Huguet) [2004141] - bus: mhi: core: Rename debugfs directory name (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Introduce quectel EM1XXGR-L support (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Parametrable element count for events (Íñigo Huguet) [2004141] - ath10k: Detect conf_mutex held ath10k_drain_tx() calls (Íñigo Huguet) [2004141] - net: mhi: Add mbim proto (Íñigo Huguet) [2004141] - net: mhi: Add rx_length_errors stat (Íñigo Huguet) [2004141] - net: mhi: Create mhi.h (Íñigo Huguet) [2004141] - net: mhi: Add dedicated folder (Íñigo Huguet) [2004141] - net: mhi: Add protocol support (Íñigo Huguet) [2004141] - net: mhi-net: Add re-aggregation of fragmented packets (Íñigo Huguet) [2004141] - net: mhi: Get rid of local rx queue count (Íñigo Huguet) [2004141] - net: mhi: Get RX queue size from MHI core (Íñigo Huguet) [2004141] - net: mhi: Set wwan device type (Íñigo Huguet) [2004141] - net: mhi: Add raw IP mode support (Íñigo Huguet) [2004141] - net: mhi: Fix unexpected queue wake (Íñigo Huguet) [2004141] - net: Add mhi-net driver (Íñigo Huguet) [2004141] - ipv4: make exception cache less predictible (Antoine Tenart) [2015111] {CVE-2021-20322} - ipv4: use siphash instead of Jenkins in fnhe_hashfun() (Antoine Tenart) [2015111] {CVE-2021-20322} - iommu/dma: Account for min_align_mask w/swiotlb (Jerry Snitselaar) [2018601] - swiotlb: Support aligned swiotlb buffers (Jerry Snitselaar) [2018601] - iommu/dma: Check CONFIG_SWIOTLB more broadly (Jerry Snitselaar) [2018601] - iommu/dma: Fold _swiotlb helpers into callers (Jerry Snitselaar) [2018601] - iommu/dma: Skip extra sync during unmap w/swiotlb (Jerry Snitselaar) [2018601] - iommu/dma: Fix arch_sync_dma for map (Jerry Snitselaar) [2018601] - iommu/dma: Fix sync_sg with swiotlb (Jerry Snitselaar) [2018601] - redhat/configs: Add CONFIG_DMA_RESTRICTED_POOL (Jerry Snitselaar) [2018601] - swiotlb: use depends on for DMA_RESTRICTED_POOL (Jerry Snitselaar) [2018601] - powerpc/svm: Don't issue ultracalls if !mem_encrypt_active() (Jerry Snitselaar) [2018601] - s390/pv: fix the forcing of the swiotlb (Jerry Snitselaar) [2018601] - swiotlb: Free tbl memory in swiotlb_exit() (Jerry Snitselaar) [2018601] - swiotlb: Emit diagnostic in swiotlb_exit() (Jerry Snitselaar) [2018601] - swiotlb: Convert io_default_tlb_mem to static allocation (Jerry Snitselaar) [2018601] - swiotlb: fix implicit debugfs declarations (Jerry Snitselaar) [2018601] - swiotlb: Add restricted DMA pool initialization (Jerry Snitselaar) [2018601] - swiotlb: Add restricted DMA alloc/free support (Jerry Snitselaar) [2018601] - swiotlb: Refactor swiotlb_tbl_unmap_single (Jerry Snitselaar) [2018601] - swiotlb: Move alloc_size to swiotlb_find_slots (Jerry Snitselaar) [2018601] - swiotlb: Use is_swiotlb_force_bounce for swiotlb data bouncing (Jerry Snitselaar) [2018601] - swiotlb: Update is_swiotlb_active to add a struct device argument (Jerry Snitselaar) [2018601] - swiotlb: Update is_swiotlb_buffer to add a struct device argument (Jerry Snitselaar) [2018601] - swiotlb: Set dev->dma_io_tlb_mem to the swiotlb pool used (Jerry Snitselaar) [2018601] - swiotlb: Refactor swiotlb_create_debugfs (Jerry Snitselaar) [2018601] - swiotlb: Refactor swiotlb init functions (Jerry Snitselaar) [2018601] - of: Drop superfluous ULL suffix for ~0 (Jerry Snitselaar) [2018601] - dma-mapping: fix 32-bit overflow with CONFIG_ARM_LPAE=n (Jerry Snitselaar) [2018601] - of/device: Update dma_range_map only when dev has valid dma-ranges (Jerry Snitselaar) [2018601] - drivers core: Fix oops when driver probe fails (Jerry Snitselaar) [2018601] - drivers core: Free dma_range_map when driver probe failed (Jerry Snitselaar) [2018601] - driver core: Postpone DMA tear-down until after devres release for probe failure (Jerry Snitselaar) [2018601] - powerpc/pseries/iommu: Fix window size for direct mapping with pmem (Jerry Snitselaar) [2018601] - dma-mapping: add a dma_init_global_coherent helper (Jerry Snitselaar) [2018601] - dma-mapping: simplify dma_init_coherent_memory (Jerry Snitselaar) [2018601] - dma-debug: fix debugfs initialization order (Jerry Snitselaar) [2018601] - dma-debug: teach add_dma_entry() about DMA_ATTR_SKIP_CPU_SYNC (Jerry Snitselaar) [2018601] - dma-debug: fix sg checks in debug_dma_map_sg() (Jerry Snitselaar) [2018601] - swiotlb-xen: ensure to issue well-formed XENMEM_exchange requests (Jerry Snitselaar) [2018601] - dma-debug: prevent an error message from causing runtime problems (Jerry Snitselaar) [2018601] - swiotlb-xen: drop DEFAULT_NSLABS (Jerry Snitselaar) [2018601] - swiotlb-xen: arrange to have buffer info logged (Jerry Snitselaar) [2018601] - swiotlb-xen: drop leftover __ref (Jerry Snitselaar) [2018601] - swiotlb-xen: limit init retries (Jerry Snitselaar) [2018601] - swiotlb-xen: suppress certain init retries (Jerry Snitselaar) [2018601] - swiotlb-xen: maintain slab count properly (Jerry Snitselaar) [2018601] - swiotlb-xen: fix late init retry (Jerry Snitselaar) [2018601] - swiotlb-xen: avoid double free (Jerry Snitselaar) [2018601] - dma-mapping: handle vmalloc addresses in dma_common_{mmap,get_sgtable} (Jerry Snitselaar) [2018601] - dma-debug: report -EEXIST errors in add_dma_entry (Jerry Snitselaar) [2018601] - dma-mapping: remove a trailing space (Jerry Snitselaar) [2018601] - dma-mapping: add unlikely hint to error path in dma_mapping_error (Jerry Snitselaar) [2018601] - dma-mapping: remove a pointless empty line in dma_alloc_coherent (Jerry Snitselaar) [2018601] - swiotlb: Make SWIOTLB_NO_FORCE perform no allocation (Jerry Snitselaar) [2018601] - swiotlb: remove swiotlb_nr_tbl (Jerry Snitselaar) [2018601] - xen/swiotlb: check if the swiotlb has already been initialized (Jerry Snitselaar) [2018601] - swiotlb: add overflow checks to swiotlb_bounce (Jerry Snitselaar) [2002023] - swiotlb: don't override user specified size in swiotlb_adjust_size (Jerry Snitselaar) [2002023] - swiotlb: dynamically allocate io_tlb_default_mem (Jerry Snitselaar) [2002023] - swiotlb: move global variables into a new io_tlb_mem structure (Jerry Snitselaar) [2002023] - xen-swiotlb: remove the unused size argument from xen_swiotlb_fixup (Jerry Snitselaar) [2018601] - xen-swiotlb: split xen_swiotlb_init (Jerry Snitselaar) [2018601] - swiotlb: lift the double initialization protection from xen-swiotlb (Jerry Snitselaar) [2002023] - xen-swiotlb: remove xen_io_tlb_start and xen_io_tlb_nslabs (Jerry Snitselaar) [2018601] - xen-swiotlb: remove xen_set_nslabs (Jerry Snitselaar) [2018601] - xen-swiotlb: use io_tlb_end in xen_swiotlb_dma_supported (Jerry Snitselaar) [2018601] - xen-swiotlb: use is_swiotlb_buffer in is_xen_swiotlb_buffer (Jerry Snitselaar) [2018601] - swiotlb: split swiotlb_tbl_sync_single (Jerry Snitselaar) [2002023] - swiotlb: manipulate orig_addr when tlb_addr has offset (Jerry Snitselaar) [2002023] - swiotlb: move orig addr and size validation into swiotlb_bounce (Jerry Snitselaar) [2002023] - swiotlb: remove the alloc_size parameter to swiotlb_tbl_unmap_single (Jerry Snitselaar) [2002023] - swiotlb: Fix the type of index (Jerry Snitselaar) [2018601] - swiotlb: Validate bounce size in the sync/unmap path (Jerry Snitselaar) [2002023] - powerpc/svm: stop using io_tlb_start (Jerry Snitselaar) [2002023] - nvme-pci: set min_align_mask (Jerry Snitselaar) [2002023] - swiotlb: respect min_align_mask (Jerry Snitselaar) [2002023] - swiotlb: don't modify orig_addr in swiotlb_tbl_sync_single (Jerry Snitselaar) [2002023] - swiotlb: refactor swiotlb_tbl_map_single (Jerry Snitselaar) [2002023] - swiotlb: clean up swiotlb_tbl_unmap_single (Jerry Snitselaar) [2002023] - swiotlb: factor out a nr_slots helper (Jerry Snitselaar) [2002023] - swiotlb: factor out an io_tlb_offset helper (Jerry Snitselaar) [2002023] - swiotlb: add a IO_TLB_SIZE define (Jerry Snitselaar) [2002023] - driver core: add a min_align_mask field to struct device_dma_parameters (Jerry Snitselaar) [2002023] - sdhci: stop poking into swiotlb internals (Jerry Snitselaar) [2018601] - driver core: lift dma_default_coherent into common code (Jerry Snitselaar) [2018601] - dma-pool: no need to check return value of debugfs_create functions (Jerry Snitselaar) [2018601] - powerpc/dma: Fallback to dma_ops when persistent memory present (Jerry Snitselaar) [2018601] - dma-mapping: Allow mixing bypass and mapped DMA operation (Jerry Snitselaar) [2018601] - dma-mapping: remove the dma_direct_set_offset export (Jerry Snitselaar) [2018601] - dma-mapping: move more functions to dma-map-ops.h (Jerry Snitselaar) [2018601] - dma-mapping: merge into (Jerry Snitselaar) [2018601] - dma-mapping: move large parts of to kernel/dma (Jerry Snitselaar) [2018601] - dma-mapping: add (back) arch_dma_mark_clean for ia64 (Jerry Snitselaar) [2018601] - dma-mapping: move dma-debug.h to kernel/dma/ (Jerry Snitselaar) [2018601] - dma-mapping: split (Jerry Snitselaar) [2018601] - dma-mapping: introduce DMA range map, supplanting dma_pfn_offset (Jerry Snitselaar) [2018601] - of: Make of_dma_get_range() private (Jerry Snitselaar) [2018601] - swiotlb: fix comment on swiotlb_bounce() (Jerry Snitselaar) [2018601] - xen/arm: introduce phys/dma translations in xen_dma_sync_for_* (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to xen_dma_sync_for_device (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to xen_dma_sync_for_cpu (Jerry Snitselaar) [2018601] - swiotlb-xen: introduce phys_to_dma/dma_to_phys translations (Jerry Snitselaar) [2018601] - swiotlb-xen: remove XEN_PFN_PHYS (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to is_xen_swiotlb_buffer (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to xen_bus_to_phys (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to xen_phys_to_bus (Jerry Snitselaar) [2018601] - swiotlb-xen: use vmalloc_to_page on vmalloc virt addresses (Jerry Snitselaar) [2018601] - swiotlb-xen: Convert to use macro (Jerry Snitselaar) [2018601] - swiotlb-xen: merge xen_unmap_single into xen_swiotlb_unmap_page (Jerry Snitselaar) [2018601] - swiotlb-xen: remove xen_swiotlb_dma_mmap and xen_swiotlb_dma_get_sgtable (Jerry Snitselaar) [2018601] - xen/swiotlb: remember having called xen_create_contiguous_region() (Jerry Snitselaar) [2018601] - xen/swiotlb: simplify range_straddles_page_boundary() (Jerry Snitselaar) [2018601] - xen/swiotlb: fix condition for calling xen_destroy_contiguous_region() (Jerry Snitselaar) [2018601] - xen/swiotlb: don't initialize swiotlb twice on arm64 (Jerry Snitselaar) [2018601] - xen-swiotlb: use actually allocated size on check physical continuous (Jerry Snitselaar) [2018601] - igb: fix deadlock caused by taking RTNL in RPM resume path (Corinna Vinschen) [2039882] - igb: Fix removal of unicast MAC filters of VFs (Corinna Vinschen) [2039882] - net: ena: Fix error handling when calculating max IO queues number (Petr Oros) [2038158] - net: ena: Fix wrong rx request id by resetting device (Petr Oros) [2038158] - net: ena: Fix undefined state when tx request id is out of bounds (Petr Oros) [2038158] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Petr Oros) [2038158] - ena: Remove rcu_read_lock() around XDP program invocation (Petr Oros) [2038158] - net: ena: make symbol 'ena_alloc_map_page' static (Petr Oros) [2038158] - net: ena: fix DMA mapping function issues in XDP (Petr Oros) [2038158] - net: ena: re-organize code to improve readability (Petr Oros) [2038158] - net: ena: Use dev_alloc() in RX buffer allocation (Petr Oros) [2038158] - net: ena: aggregate doorbell common operations into a function (Petr Oros) [2038158] - net: ena: fix RST format in ENA documentation file (Petr Oros) [2038158] - net: ena: Remove module param and change message severity (Petr Oros) [2038158] - net: ena: add jiffies of last napi call to stats (Petr Oros) [2038158] - net: ena: use build_skb() in RX path (Petr Oros) [2038158] - net: ena: Improve error logging in driver (Petr Oros) [2038158] - net: ena: Remove unused code (Petr Oros) [2038158] - net: ena: optimize data access in fast-path code (Petr Oros) [2038158] - kasan, slub: reset tag when printing address (Nico Pache) [1954335] - kasan: fix Kconfig check of CC_HAS_WORKING_NOSANITIZE_ADDRESS (Nico Pache) [1954335] - Documentation: kunit: add tips for using current->kunit_test (Nico Pache) [1954335] - kunit: fix -Wunused-function warning for __kunit_fail_current_test (Nico Pache) [1954335] - kunit: support failure from dynamic analysis tools (Nico Pache) [1954335] - Add KASAN KUNIT Tests to Redhat kernel-modules-internal (Nico Pache) [1954335] - kasan, mm: fix resetting page_alloc tags for HW_TAGS (Nico Pache) [1954335] - kasan, mm: fix conflicts with init_on_alloc/free (Nico Pache) [1954335] - powerpc/uaccess: get rid of small constant size cases in raw_copy_{to,from}_user() (Nico Pache) [1954335] - kasan: remove redundant config option (Nico Pache) [1954335] - kasan: fix hwasan build for gcc (Nico Pache) [1954335] - lib/test_kasan_module.c: suppress unused var warning (Nico Pache) [1954335] - kasan: fix conflict with page poisoning (Nico Pache) [1954335] - kasan: fix per-page tags for non-page_alloc pages (Nico Pache) [1954335] - kasan: fix KASAN_STACK dependency for HW_TAGS (Nico Pache) [1954335] - kasan: clarify that only first bug is reported in HW_TAGS (Nico Pache) [1954335] - kasan: inline HW_TAGS helper functions (Nico Pache) [1954335] - kasan: ensure poisoning size alignment (Nico Pache) [1954335] - kasan, mm: optimize krealloc poisoning (Nico Pache) [1954335] - kasan, mm: fail krealloc on freed objects (Nico Pache) [1954335] - kasan: rework krealloc tests (Nico Pache) [1954335] - kasan: unify large kfree checks (Nico Pache) [1954335] - kasan: clean up setting free info in kasan_slab_free (Nico Pache) [1954335] - kasan: optimize large kmalloc poisoning (Nico Pache) [1954335] - kasan, mm: optimize kmalloc poisoning (Nico Pache) [1954335] - kasan, mm: don't save alloc stacks twice (Nico Pache) [1954335] - kasan: don't run tests when KASAN is not enabled (Nico Pache) [1954335] - kasan: add a test for kmem_cache_alloc/free_bulk (Nico Pache) [1954335] - kasan: add proper page allocator tests (Nico Pache) [1954335] - kasan: fix bug detection via ksize for HW_TAGS mode (Nico Pache) [1954335] - kasan: move _RET_IP_ to inline wrappers (Nico Pache) [1954335] - kasan: fix memory corruption in kasan_bitops_tags test (Nico Pache) [1954335] - kasan: rename CONFIG_TEST_KASAN_MODULE (Nico Pache) [1954335] - kasan: add match-all tag tests (Nico Pache) [1954335] - kasan: add macros to simplify checking test constraints (Nico Pache) [1954335] - kasan: clean up comments in tests (Nico Pache) [1954335] - kasan: clarify HW_TAGS impact on TBI (Nico Pache) [1954335] - kasan: prefix global functions with kasan_ (Nico Pache) [1954335] - kasan: fix stack traces dependency for HW_TAGS (Nico Pache) [1954335] - kasan: make addr_has_metadata() return true for valid addresses (Nico Pache) [1954335] - kasan: add explicit preconditions to kasan_report() (Nico Pache) [1954335] - kasan: fix HW_TAGS boot parameters (Nico Pache) [1954335] - kasan: fix null pointer dereference in kasan_record_aux_stack (Nico Pache) [1954335] - kasan: update documentation (Nico Pache) [1954335] - kasan, mm: allow cache merging with no metadata (Nico Pache) [1954335] - kasan: sanitize objects when metadata doesn't fit (Nico Pache) [1954335] - kasan: clarify comment in __kasan_kfree_large (Nico Pache) [1954335] - kasan: simplify assign_tag and set_tag calls (Nico Pache) [1954335] - kasan: don't round_up too much (Nico Pache) [1954335] - kasan, mm: rename kasan_poison_kfree (Nico Pache) [1954335] - kasan, mm: check kasan_enabled in annotations (Nico Pache) [1954335] - kasan: add and integrate kasan boot parameters (Nico Pache) [1954335] - kasan: inline (un)poison_range and check_invalid_free (Nico Pache) [1954335] - kasan: open-code kasan_unpoison_slab (Nico Pache) [1954335] - kasan: inline random_tag for HW_TAGS (Nico Pache) [1954335] - kasan: inline kasan_reset_tag for tag-based modes (Nico Pache) [1954335] - kasan: remove __kasan_unpoison_stack (Nico Pache) [1954335] - kasan: allow VMAP_STACK for HW_TAGS mode (Nico Pache) [1954335] - kasan, arm64: unpoison stack only with CONFIG_KASAN_STACK (Nico Pache) [1954335] - kasan: introduce set_alloc_info (Nico Pache) [1954335] - kasan: rename get_alloc/free_info (Nico Pache) [1954335] - kasan: simplify quarantine_put call site (Nico Pache) [1954335] - kasan: add documentation for hardware tag-based mode (Nico Pache) [1954335] - kasan, mm: reset tags when accessing metadata (Nico Pache) [1954335] - kasan, arm64: print report from tag fault handler (Nico Pache) [1954335] - kasan, arm64: implement HW_TAGS runtime (Nico Pache) [1954335] - kasan, arm64: expand CONFIG_KASAN checks (Nico Pache) [1954335] - string.h: fix incompatibility between FORTIFY_SOURCE and KASAN (Nico Pache) [1954335] - kasan, x86, s390: update undef CONFIG_KASAN (Nico Pache) [1954335] - kasan: define KASAN_GRANULE_SIZE for HW_TAGS (Nico Pache) [1954335] - arm64: kasan: add arch layer for memory tagging helpers (Nico Pache) [1954335] - kasan, mm: untag page address in free_reserved_area (Nico Pache) [1954335] - mm: Allow non-direct-map arguments to free_reserved_area() (Nico Pache) [1954335] - kasan: introduce CONFIG_KASAN_HW_TAGS (Nico Pache) [1954335] - kasan: separate metadata_fetch_row for each mode (Nico Pache) [1954335] - kasan: rename SHADOW layout macros to META (Nico Pache) [1954335] - kasan: rename print_shadow_for_address to print_memory_metadata (Nico Pache) [1954335] - kasan: rename addr_has_shadow to addr_has_metadata (Nico Pache) [1954335] - kasan, arm64: rename kasan_init_tags and mark as __init (Nico Pache) [1954335] - kasan, arm64: move initialization message (Nico Pache) [1954335] - kasan, arm64: only use kasan_depth for software modes (Nico Pache) [1954335] - kasan, arm64: only init shadow for software modes (Nico Pache) [1954335] - kasan: decode stack frame only with KASAN_STACK_ENABLE (Nico Pache) [1954335] - kasan: hide invalid free check implementation (Nico Pache) [1954335] - kasan: don't duplicate config dependencies (Nico Pache) [1954335] - kasan: rename report and tags files (Nico Pache) [1954335] - kasan: define KASAN_MEMORY_PER_SHADOW_PAGE (Nico Pache) [1954335] - kasan: split out shadow.c from common.c (Nico Pache) [1954335] - kasan: only build init.c for software modes (Nico Pache) [1954335] - kasan: rename KASAN_SHADOW_* to KASAN_GRANULE_* (Nico Pache) [1954335] - kasan: rename (un)poison_shadow to (un)poison_range (Nico Pache) [1954335] - fork: support VMAP_STACK with KASAN_VMALLOC (Nico Pache) [1954335] - kasan: shadow declarations only for software modes (Nico Pache) [1954335] - kasan: group vmalloc code (Nico Pache) [1954335] - kasan: KASAN_VMALLOC depends on KASAN_GENERIC (Nico Pache) [1954335] - kasan: drop unnecessary GPL text from comment headers (Nico Pache) [1954335] - kasan: update documentation for generic kasan (Nico Pache) [1954335] - kasan: print workqueue stack (Nico Pache) [1954335] - kasan: fix object remaining in offline per-cpu quarantine (Nico Pache) [1954335] - kasan: adopt KUNIT tests to SW_TAGS mode (Nico Pache) [1954335] - docs: kasan.rst: add two missing blank lines (Nico Pache) [1954335] - mm: kasan: do not panic if both panic_on_warn and kasan_multishot set (Nico Pache) [1954335] - KASAN: Testing Documentation (Nico Pache) [1954335] - KASAN: port KASAN Tests to KUnit (Nico Pache) [1954335] - KUnit: KASAN Integration (Nico Pache) [1954335] - kasan/kunit: add KUnit Struct to Current Task (Nico Pache) [1954335] - kasan: remove mentions of unsupported Clang versions (Nico Pache) [1954335] - kbuild: move CFLAGS_{KASAN,UBSAN,KCSAN} exports to relevant Makefiles (Nico Pache) [1954335] - s390/kasan: make shadow memory noexec (Nico Pache) [1954335] - kasan: adjust kasan_stack_oob for tag-based mode (Nico Pache) [1954335] - kasan: allow enabling stack tagging for tag-based mode (Nico Pache) [1954335] - kasan: don't tag stacks allocated with pagealloc (Nico Pache) [1954335] - lib/test_kasan.c: fix KASAN unit tests for tag-based KASAN (Nico Pache) [1954335] - kasan: remove kasan_unpoison_stack_above_sp_to() (Nico Pache) [1954335] - kasan: add tests for call_rcu stack recording (Nico Pache) [1954335] - kprobes: Remove show_registers() function prototype (Nico Pache) [1954335] - kasan: stop tests being eliminated as dead code with FORTIFY_SOURCE (Nico Pache) [1954335] - kasan: move kasan_report() into report.c (Nico Pache) [1954335] - kasan: stackdepot: move filter_irq_stacks() to stackdepot.c (Nico Pache) [1954335] - lib/stackdepot.c: check depot_index before accessing the stack slab (Nico Pache) [1954335] - lib/stackdepot: Remove obsolete functions (Nico Pache) [1954335] - kasan: add test for invalid size in memmove (Nico Pache) [1954335] - mm/memory-failure.c: use page_shift() in add_to_kill() (Nico Pache) [1954335] - x86: get rid of small constant size cases in raw_copy_{to,from}_user() (Nico Pache) [1954335] - s390/kasan: add KASAN_VMALLOC support (Nico Pache) [1954335] - s390: move vmalloc option parsing to startup code (Nico Pache) [1954335] - kasan: add test for vmalloc (Nico Pache) [1954335] - ehea: replace with page_shift() in ehea_is_hugepage() (Nico Pache) [1954335] - mm: introduce page_shift() (Nico Pache) [1954335] - lib/test_kasan.c: add roundtrip tests (Nico Pache) [1954335] - lib/test_kasan: Add test for double-kzfree detection (Nico Pache) [1954335] - lib/test_kasan: add bitops tests (Nico Pache) [1954335] - asm-generic, x86: add bitops instrumentation for KASAN (Nico Pache) [1954335] - x86: use static_cpu_has in uaccess region to avoid instrumentation (Nico Pache) [1954335] - x86/asm: Use stricter assembly constraints in bitops (Nico Pache) [1954335] - x86/asm: Remove dead __GNUC__ conditionals (Nico Pache) [1954335] - s390/kasan: adapt disabled_wait usage to avoid build error (Nico Pache) [1954335] - s390: simplify disabled_wait (Nico Pache) [1954335] - lib/test_kasan.c: add tests for several string/memory API functions (Nico Pache) [1954335] - arm64: Fix typo in a comment in arch/arm64/mm/kasan_init.c (Nico Pache) [1954335] - kprobes: Remove jprobe stub API (Nico Pache) [1954335] - Documentation/kprobes: Add how to change the execution path (Nico Pache) [1954335] - kprobes/x86: Do not disable preempt on int3 path (Nico Pache) [1954335] - bpf/error-inject/kprobes: Clear current_kprobe and enable preempt in kprobe (Nico Pache) [1954335] - s390/kprobes: Don't call the ->break_handler() in s390 kprobes code (Nico Pache) [1954335] - powerpc/kprobes: Don't call the ->break_handler() in powerpc kprobes code (Nico Pache) [1954335] - arm64/kprobes: Don't call the ->break_handler() in arm64 kprobes code (Nico Pache) [1954335] - kprobes/x86: Don't call the ->break_handler() in x86 kprobes (Nico Pache) [1954335] - kprobes: Don't check the ->break_handler() in generic kprobes code (Nico Pache) [1954335] - kprobes/x86: Remove jprobe implementation (Nico Pache) [1954335] - s390/kprobes: Remove jprobe implementation (Nico Pache) [1954335] - powerpc/kprobes: Remove jprobe powerpc implementation (Nico Pache) [1954335] - arm64/kprobes: Remove jprobe implementation (Nico Pache) [1954335] - kprobes: Remove jprobe API implementation (Nico Pache) [1954335] - Documentation/kprobes: Remove jprobes related leftover (Nico Pache) [1954335] - redhat: config: explicitly set CONFIG_ARM64_VA_BITS_48 for ARM64 (Nico Pache) [1954335] - arm64: mm: use a 48-bit ID map when possible on 52-bit VA builds (Nico Pache) [1954335] - arm64: mm: limit linear region to 51 bits for KVM in nVHE mode (Nico Pache) [1954335] - Documentation/arm64: fix RST layout of memory.rst (Nico Pache) [1954335] - arm64: mm: Remove MAX_USER_VA_BITS definition (Nico Pache) [1954335] - arm64: Use simpler arithmetics for the linear map macros (Nico Pache) [1954335] - arm64: mm: use single quantity to represent the PA to VA translation (Nico Pache) [1954335] - kasan/arm64: fix CONFIG_KASAN_SW_TAGS && KASAN_INLINE (Nico Pache) [1954335] - arm64: Do not pass tagged addresses to __is_lm_address() (Nico Pache) [1954335] - arm64: Fix kernel address detection of __is_lm_address() (Nico Pache) [1954335] - arm64: mm: extend linear region for 52-bit VA configurations (Nico Pache) [1954335] - arm64: Fix kcore macros after 52-bit virtual addressing fallout (Nico Pache) [1954335] - arm64: fix fixmap copy for 16K pages and 48-bit VA (Nico Pache) [1954335] - arm64: memory: rename VA_START to PAGE_END (Nico Pache) [1954335] - arm64: memory: Simplify _VA_START and _PAGE_OFFSET definitions (Nico Pache) [1954335] - arm64: memory: fix flipped VA space fallout (Nico Pache) [1954335] - arm64: memory: Fix virt_addr_valid() using __is_lm_address() (Nico Pache) [1954335] - arm64: memory: Ensure address tag is masked in conversion macros (Nico Pache) [1954335] - arm64: mm: Simplify definition of virt_addr_valid() (Nico Pache) [1954335] - docs: arm64: Add layout and 52-bit info to memory document (Nico Pache) [1954335] - arm64: mm: Remove vabits_user (Nico Pache) [1954335] - arm64: mm: Introduce 52-bit Kernel VAs (Nico Pache) [1954335] - arm64: mm: Modify calculation of VMEMMAP_SIZE (Nico Pache) [1954335] - arm64: mm: Separate out vmemmap (Nico Pache) [1954335] - arm64: mm: Logic to make offset_ttbr1 conditional (Nico Pache) [1954335] - arm64: mm: Introduce vabits_actual (Nico Pache) [1954335] - arm64: Print physical address of page table base in show_pte() (Nico Pache) [1954335] - arm64: mm: Introduce VA_BITS_MIN (Nico Pache) [1954335] - arm64: dump: De-constify VA_START and KASAN_SHADOW_START (Nico Pache) [1954335] - arm64: kasan: Switch to using KASAN_SHADOW_OFFSET (Nico Pache) [1954335] - arm64: mm: Flip kernel VA space (Nico Pache) [1954335] - arm64: mm: Remove bit-masking optimisations for PAGE_OFFSET and VMEMMAP_START (Nico Pache) [1954335] - arm64: dump: Use consistent capitalisation for page-table dumps (Nico Pache) [1954335] - kernel/rwsem: Use proper directories for rwsem_init.c (Scott Wood) [2040087] - redhat: Cleanup use of mark_hardware_removed (Prarit Bhargava) [2019378] - redhat: Cleanup use of mark_hardware_unsupported (Prarit Bhargava) [2019378] - redhat: clean up mark_hardware_deprecated() (Prarit Bhargava) [2019378] - nvme: Mark NVMe over FC Target support unmaintained (Prarit Bhargava) [2019378] - hdlc_fr: Mark driver unmaintained (Prarit Bhargava) [2019378] - sfc: Mark siena driver deprecated (Prarit Bhargava) [2019378] - qla3xxx: Mark driver unmaintained (Prarit Bhargava) [2019378] - netxen: Mark nic driver unmaintained (Prarit Bhargava) [2019378] - ethoc: Mark driver unmaintained (Prarit Bhargava) [2019378] - dnet: Mark driver unmaintained (Prarit Bhargava) [2019378] - drivers/pci/pci-driver.c: Fix if/ifdef typo (Prarit Bhargava) [2019378] - kernel/rh_taint.c: Update to new messaging (Prarit Bhargava) [2019378] - drm/i915/dmc: Change max DMC FW size on ADL-P (Michel Dänzer) [1988103] - drm/i915: Add workaround numbers to GEN7_COMMON_SLICE_CHICKEN1 whitelisting (Michel Dänzer) [1988103] - drm/i915: Fix Memory BW formulae for ADL-P (Michel Dänzer) [1988103] - drm/i915: Restore memory mapping for DPT FBs across system suspend/resume (Michel Dänzer) [1988103] - drm/i915: Factor out i915_ggtt_suspend_vm/i915_ggtt_resume_vm() (Michel Dänzer) [1988103] - drm/i915/adlp/fb: Remove restriction on CCS AUX plane strides (Michel Dänzer) [1988103] - drm/i915/adlp/fb: Remove restriction on semiplanar UV plane offset (Michel Dänzer) [1988103] - drm/i915/fb: Rename i915_color_plane_view::stride to mapping_stride (Michel Dänzer) [1988103] - drm/i915/adlp/fb: Fix remapping of linear CCS AUX surfaces (Michel Dänzer) [1988103] - drm/i915/fb: Factor out functions to remap contiguous FB obj pages (Michel Dänzer) [1988103] - drm/i915/adlp/fb: Prevent the mapping of redundant trailing padding NULL pages (Michel Dänzer) [1988103] - drm/i915: Add functions to check for RC CCS CC and MC CCS modifiers (Michel Dänzer) [1988103] - drm/i915: Move is_ccs_modifier() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915: Add a platform independent way to check for CCS AUX planes (Michel Dänzer) [1988103] - drm/i915: Handle CCS CC planes separately from CCS AUX planes (Michel Dänzer) [1988103] - drm/i915: Add a platform independent way to get the RC CCS CC plane (Michel Dänzer) [1988103] - drm/i915: Move intel_format_info_is_yuv_semiplanar() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915: Unexport is_semiplanar_uv_plane() (Michel Dänzer) [1988103] - drm/i915: Simplify the modifier check for interlaced scanout support (Michel Dänzer) [1988103] - drm/i915: Add tiling attribute to the modifier descriptor (Michel Dänzer) [1988103] - drm/i915: Move intel_get_format_info() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915: Add a table with a descriptor for all i915 modifiers (Michel Dänzer) [1988103] - drm/i915/adlp: Implement workaround 16013190616 (Michel Dänzer) [1988103] - drm/i915/adlp: Extend PSR2 support in transcoder B (Michel Dänzer) [1988103] - drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (Michel Dänzer) [1988103] - drm/i915/display/adlp: Allow PSR2 to be enabled (Michel Dänzer) [1988103] - drm/i915/display/adlp: Optimize PSR2 power-savings in corner cases (Michel Dänzer) [1988103] - drm/i915/display: Fix glitches when moving cursor with PSR2 selective fetch enabled (Michel Dänzer) [1988103] - drm/i915/display: Handle frontbuffer rendering when PSR2 selective fetch is enabled (Michel Dänzer) [1988103] - drm/i915/display: Drop unnecessary frontbuffer flushes (Michel Dänzer) [1988103] - drm/i915/display/psr: Do full fetch when handling multi-planar formats (Michel Dänzer) [1988103] - drm/i915/display/psr: Handle plane and pipe restrictions at every page flip (Michel Dänzer) [1988103] - drm/i915/display: Only keep PSR enabled if there is active planes (Michel Dänzer) [1988103] - drm/i915/display: Match PSR2 selective fetch sequences with specification (Michel Dänzer) [1988103] - drm/i915/display/dmc: Set DC_STATE_DEBUG_MASK_CORES after firmware load (Michel Dänzer) [1988103] - drm/i915: Nuke intel_prepare_shared_dpll() (Michel Dänzer) [1988103] - drm/i915: Fold ibx_pch_dpll_prepare() into ibx_pch_dpll_enable() (Michel Dänzer) [1988103] - drm/i915: Fold i9xx_set_pll_dividers() into i9xx_enable_pll() (Michel Dänzer) [1988103] - drm/i915: Reuse ilk_needs_fb_cb_tune() for the reduced clock as well (Michel Dänzer) [1988103] - drm/i915: Call {vlv,chv}_prepare_pll() from {vlv,chv}_enable_pll() (Michel Dänzer) [1988103] - drm/i915: Program DPLL P1 dividers consistently (Michel Dänzer) [1988103] - drm/i915: Remove the 'reg' local variable (Michel Dänzer) [1988103] - drm/i915: Clean up variable names in old dpll functions (Michel Dänzer) [1988103] - drm/i915: Clean dpll calling convention (Michel Dänzer) [1988103] - drm/i915: Constify struct dpll all over (Michel Dänzer) [1988103] - drm/i915: Extract ilk_update_pll_dividers() (Michel Dänzer) [1988103] - drm/i915: Clean up gen2 DPLL readout (Michel Dänzer) [1988103] - drm/i915: Set output_types to EDP for vlv/chv DPLL forcing (Michel Dänzer) [1988103] - drm/i915: Silence __iomem sparse warn (Michel Dänzer) [1988103] - drm/i915: split fdi link training from display vtable. (Michel Dänzer) [1988103] - drm/i915: split irq hotplug function from display vtable (Michel Dänzer) [1988103] - drm/i915: split cdclk functions from display vtable. (Michel Dänzer) [1988103] - drm/i915: split audio functions from display vtable (Michel Dänzer) [1988103] - drm/i915: split color functions from display vtable (Michel Dänzer) [1988103] - drm/i915: split watermark vfuncs from display vtable. (Michel Dänzer) [1988103] - drm/i915: split clock gating init from display vtable (Michel Dänzer) [1988103] - drm/i915/display: add intel_fdi_link_train wrapper. (Michel Dänzer) [1988103] - drm/i915: add wrappers around cdclk vtable funcs. (Michel Dänzer) [1988103] - drm/i915/wm: provide wrappers around watermark vfuncs calls (v3) (Michel Dänzer) [1988103] - drm/i915: make update_wm take a dev_priv. (Michel Dänzer) [1988103] - drm/i915/pm: drop get_fifo_size vfunc. (Michel Dänzer) [1988103] - drm/i915: Clean up pre-skl wm calling convention (Michel Dänzer) [1988103] - drm/i915/dmc: Update to DMC v2.12 (Michel Dänzer) [1988103] - drm/i915: Implement PSF GV point support (Michel Dänzer) [1988103] - drm/i915: Extend QGV point restrict mask to 0x3 (Michel Dänzer) [1988103] - drm/i915/display: Disable audio, DRRS and PSR before planes (Michel Dänzer) [1988103] - drm/i915: Make display workaround upper bounds exclusive (Michel Dänzer) [1988103] - drm/i915: Program DFR enable/disable as a GT workaround (Michel Dänzer) [1988103] - drm/i915/step: s/_revid_tbl/_revids (Michel Dänzer) [1988103] - drm/i915/display: Settle on "adl-x" in WA comments (Michel Dänzer) [1988103] - drm/i915: Settle on "adl-x" in WA comments (Michel Dänzer) [1988103] - drm/i915/display/adlp: Disable underrun recovery (Michel Dänzer) [1988103] - drm/i915/tc: Fix system hang on ADL-P during TypeC PHY disconnect (Michel Dänzer) [1988103] - drm/i915/tc: Drop extra TC cold blocking from intel_tc_port_connected() (Michel Dänzer) [1988103] - drm/i915/tc: Fix TypeC PHY connect/disconnect logic on ADL-P (Michel Dänzer) [1988103] - drm/i915/icl/tc: Remove the ICL special casing during TC-cold blocking (Michel Dänzer) [1988103] - drm/i915/tc: Avoid using legacy AUX PW in TBT mode (Michel Dänzer) [1988103] - drm/i915/tc: Refactor TC-cold block/unblock helpers (Michel Dänzer) [1988103] - drm/i915/tc: Add a mode for the TypeC PHY's disconnected state (Michel Dänzer) [1988103] - drm/i915/tc: Don't keep legacy TypeC ports in connected state w/o a sink (Michel Dänzer) [1988103] - drm/i915/tc: Add/use helpers to retrieve TypeC port properties (Michel Dänzer) [1988103] - drm/i915/tc: Check for DP-alt, legacy sinks before taking PHY ownership (Michel Dänzer) [1988103] - drm/i915/tc: Remove waiting for PHY complete during releasing ownership (Michel Dänzer) [1988103] - drm/i915/adlp/tc: Fix PHY connected check for Thunderbolt mode (Michel Dänzer) [1988103] - drm/i915: Force a TypeC PHY disconnect during suspend/shutdown (Michel Dänzer) [1988103] - drm/i915/adlp: Add support for remapping CCS FBs (Michel Dänzer) [1988103] - drm/i915: Follow a new->old platform check order in intel_fb_stride_alignment (Michel Dänzer) [1988103] - drm/i915/adlp: Assert that VMAs in DPT start at 0 (Michel Dänzer) [1988103] - drm/i915/adlp: Require always a power-of-two sized CCS surface stride (Michel Dänzer) [1988103] - drm/i915: Use tile block based dimensions for CCS origin x, y check (Michel Dänzer) [1988103] - drm/i915/fb: move user framebuffer stuff to intel_fb.c (Michel Dänzer) [1988103] - drm/i915/display: split out dpt out of intel_display.c (Michel Dänzer) [1988103] - drm/i915/fb: move intel_surf_alignment() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915: add HAS_ASYNC_FLIPS feature macro (Michel Dänzer) [1988103] - drm/i915/fb: move intel_fb_align_height() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915/fb: move intel_tile_width_bytes() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915/display/adlp: Add new PSR2 workarounds (Michel Dänzer) [1988103] - drm/i915: Program chicken bit during DP MST sequence on TGL+ (Michel Dänzer) [1988103] - drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled (Michel Dänzer) [1988103] - drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (Michel Dänzer) [1988103] - drm/i915: Update memory bandwidth parameters (Michel Dänzer) [1988103] - drm/i915/dp: fix for ADL_P/S dp/edp max source rates (Michel Dänzer) [1988103] - drm/i915/dp: fix DG1 and RKL max source rates (Michel Dänzer) [1988103] - drm/i915/dp: fix EHL/JSL max source rates calculation (Michel Dänzer) [1988103] - drm/i915/dp: fix TGL and ICL max source rates (Michel Dänzer) [1988103] - drm/i915/dp: Fix eDP max rate for display 11+ (Michel Dänzer) [1988103] - drm/i915/dp: fix DG2 max source rate check (Michel Dänzer) [1988103] - drm/i915/dg2: add DG2 UHBR source rates (Michel Dänzer) [1988103] - drm/i915/display: remove explicit CNL handling from intel_dp.c (Michel Dänzer) [1988103] - drm/i915/dsi/xelpd: Enable mipi dsi support. (Michel Dänzer) [1988103] - drm/i915/dsi/xelpd: Add WA to program LP to HS wakeup guardband (Michel Dänzer) [1988103] - drm/i915/display: Update small joiner ram size (Michel Dänzer) [1988103] - drm/i915/adl_p: Also disable underrun recovery with MSO (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Correctly program MBUS DBOX A credits (Michel Dänzer) [1988103] - drm/i915: Apply CMTG clock disabling WA while DPLL0 is enabled (Michel Dänzer) [1988103] - drm/i915/adl_p: Add ddi buf translation tables for combo PHY (Michel Dänzer) [1988103] - drm/i915/adl_s: Update ddi buf translation tables (Michel Dänzer) [1988103] - drm/i915: Add the missing adls vswing tables (Michel Dänzer) [1988103] - drm/i915/adlp: Add workaround to disable CMTG clock gating (Michel Dänzer) [1988103] - drm/i915/adl_p: Allow underrun recovery when possible (Michel Dänzer) [1988103] - drm/i915: Add dummy IS_DG2 definition (Michel Dänzer) [1988103] - drm/i915: Extend Wa_1406941453 to adl-p (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Implement PSR changes (Michel Dänzer) [1988103] - drm/i915/debugfs: DISPLAY_VER 13 lpsp capability (Michel Dänzer) [1988103] - drm/i915/adlp: Add ADL-P GuC/HuC firmware files (Michel Dänzer) [1988103] - drm/i915/huc: Update TGL and friends to HuC 7.9.3 (Michel Dänzer) [1988103] - drm/i915/guc: Update firmware to v62.0.0 (Michel Dänzer) [1988103] - drm/i915/guc: Introduce unified HXG messages (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Implement Wa_16011303918 (Michel Dänzer) [1988103] - drm/i915/xelpd: Handle PSR2 SDP indication in the prior scanline (Michel Dänzer) [1988103] - drm/i915/display/psr: Handle SU Y granularity (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Implement Wa_16011168373 (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Implement Wa_22012278275 (Michel Dänzer) [1988103] - drm/i915: Nuke buf_trans hdmi functions (Michel Dänzer) [1988103] - drm/i915: Clean up jsl/ehl buf trans functions (Michel Dänzer) [1988103] - drm/i915: Fix ehl edp hbr2 vswing table (Michel Dänzer) [1988103] - drm/i915: Deduplicate icl DP HBR2 vs. eDP HBR3 table (Michel Dänzer) [1988103] - drm/i915: Fix dg1 buf trans tables (Michel Dänzer) [1988103] - drm/i915: Introduce rkl_get_combo_buf_trans() (Michel Dänzer) [1988103] - drm/i915: Clean up hsw/bdw/skl/kbl buf trans funcs (Michel Dänzer) [1988103] - drm/i915: Introduce encoder->get_buf_trans() (Michel Dänzer) [1988103] - drm/i915: Store the HDMI default entry in the bug trans struct (Michel Dänzer) [1988103] - drm/i915; Return the whole buf_trans struct from get_buf_trans() (Michel Dänzer) [1988103] - drm/i915: Introduce intel_get_buf_trans() (Michel Dänzer) [1988103] - drm/i915: Wrap the buf trans tables into a struct (Michel Dänzer) [1988103] - drm/i915: Rename dkl phy buf trans tables (Michel Dänzer) [1988103] - drm/i915: Wrap the platform specific buf trans structs into a union (Michel Dänzer) [1988103] - drm/i915: Introduce hsw_get_buf_trans() (Michel Dänzer) [1988103] - drm/i915: s/intel/hsw/ for hsw/bdw/skl buf trans (Michel Dänzer) [1988103] - drm/i915/adl_p: Load DMC (Michel Dänzer) [1988103] - drm/i915/adl_p: Pipe B DMC Support (Michel Dänzer) [1988103] - drm/i915/xelpd: Pipe A DMC plugging (Michel Dänzer) [1988103] - drm/i915/dmc: Introduce DMC_FW_MAIN (Michel Dänzer) [1988103] - drm/i915/adl_p: Add initial ADL_P Workarounds (Michel Dänzer) [1988103] - drm/i915/xelpd: break feature inheritance (Michel Dänzer) [1988103] - backlight: backlight: Make of_find_backlight static (Jérôme Glisse) [1988103] - backlight: backlight: Drop backlight_put() (Jérôme Glisse) [1988103] - backlight: backlight: Introduce backlight_get_brightness() (Jérôme Glisse) [1988103] - backlight: backlight: Drop extern from prototypes (Jérôme Glisse) [1988103] - backlight: generic_bl: Remove this driver as it is unused (Michel Dänzer) [1988103] - backlight: backlight: Document enums in backlight.h (Jérôme Glisse) [1988103] - backlight: backlight: Document inline functions in backlight.h (Jérôme Glisse) [1988103] - backlight: backlight: Improve backlight_device documentation (Jérôme Glisse) [1988103] - backlight: backlight: Improve backlight_properties documentation (Jérôme Glisse) [1988103] - backlight: backlight: Improve backlight_ops documentation (Jérôme Glisse) [1988103] - backlight: backlight: Add backlight_is_blank() (Jérôme Glisse) [1988103] - backlight: Add backlight_device_get_by_name() (Jérôme Glisse) [1988103] - backlight: Expose brightness curve type through sysfs (Michel Dänzer) [1988103] - backlight: Remove obsolete comment for ->state (Jérôme Glisse) [1988103] - x86/gpu: add JasperLake to gen11 early quirks (Michel Dänzer) [1988103] - drm/i915/adl_p: ADL_P device info enabling (Michel Dänzer) [1988103] - redhat/configs: Disable CONFIG_DRM_VMWGFX on aarch64 (Michel Dänzer) [1988103] - drm/amd/display: Reduce stack size for dml31 UseMinimumDCFCLK (Michel Dänzer) [1988103] - drm/amd/display: Reduce stack size for dml31_ModeSupportAndSystemConfigurationFull (Michel Dänzer) [1988103] - drm/amdgpu: Initialize max/min_dpm_level (Michel Dänzer) [1988103] - redhat/configs: Disable CONFIG_HSA_AMD_SVM for now (Michel Dänzer) [1988103] - i915: Convert to older tasklet API (Michel Dänzer) [1988103] - drm/ttm: Include asm/pgtable.h (Michel Dänzer) [1988103] - Merge DRM changes from upstream v5.13..v5.14.21 (Michel Dänzer) [1988103] - PCI: Add support for dev_groups to struct pci_driver (Jérôme Glisse) [1988103] - drm: Initialize some local variables to avoid compiler warnings (Jérôme Glisse) [1988103] - drm: Use swiotlb_nr_tbl instead of is_swiotlb_active (Jérôme Glisse) [1988103] - i915: Use mdev_type_kobj_to_group_id instead of mtype_get_type_group_id (Jérôme Glisse) [1988103] - i915: Convert to older tasklet API (Jérôme Glisse) [1988103] - drm: Drop const from list_sort compare function prototypes (Jérôme Glisse) [1988103] - Merge DRM changes from upstream v5.12.14..v5.13 (Michel Dänzer) [1988103] - vfio/mdev: add helper to get index of mdev_type sysfs file (Jérôme Glisse) [1988103] - drm/syncobj: make lockdep complain on WAIT_FOR_SUBMIT v3 (Jérôme Glisse) [1988103] - Revert "drm/i915: Implement Wa_1508744258" (Michel Dänzer) [1988103] - Revert "drm/i915: Add the missing adls vswing tables" (Michel Dänzer) [1988103] - x86/gpu: Add Alderlake-S stolen memory support (Michel Dänzer) [1988103] - x86/gpu: add RKL stolen memory support (Michel Dänzer) [1988103] - x86/gpu: add TGL stolen memory support (Michel Dänzer) [1988103] - x86/gpu: add ElkhartLake to gen11 early quirks (Michel Dänzer) [1988103] - x86/gpu: reserve ICL's graphics stolen memory (Michel Dänzer) [1988103] - selftest/x86/signal: Include test cases for validating sigaltstack (Prarit Bhargava) [1837321] - x86/signal: Detect and prevent an alternate signal stack overflow (Prarit Bhargava) [1837321] - selftest/sigaltstack: Use the AT_MINSIGSTKSZ aux vector if available (Prarit Bhargava) [1837321] - x86/fpu: Additional cleanups (Prarit Bhargava) [1837321] - binfmt_elf: Respect error return from `regset->active' (Prarit Bhargava) [1837321] - x86/fpu: Optimize out sigframe xfeatures when in init state (Prarit Bhargava) [1837321] - Documentation/x86: Add documentation for using dynamic XSTATE features (Prarit Bhargava) [1837321] - selftests/x86/amx: Add context switch test (Prarit Bhargava) [1837321] - selftests/x86/amx: Add test cases for AMX state management (Prarit Bhargava) [1837321] - x86/fpu: Include vmalloc.h for vzalloc() (Prarit Bhargava) [1837321] - x86/fpu/amx: Enable the AMX feature in 64-bit mode (Prarit Bhargava) [1837321] - x86/fpu: Add XFD handling for dynamic states (Prarit Bhargava) [1837321] - x86/fpu: Calculate the default sizes independently (Prarit Bhargava) [1837321] - x86/fpu/amx: Define AMX state components and have it used for boot-time checks (Prarit Bhargava) [1837321] - x86/fpu/xstate: Prepare XSAVE feature table for gaps in state component numbers (Prarit Bhargava) [1837321] - x86/fpu/xstate: Add fpstate_realloc()/free() (Prarit Bhargava) [1837321] - x86/fpu/xstate: Add XFD #NM handler (Prarit Bhargava) [1837321] - x86/fpu: Update XFD state where required (Prarit Bhargava) [1837321] - x86/fpu: Add sanity checks for XFD (Prarit Bhargava) [1837321] - x86/fpu: Add XFD state to fpstate (Prarit Bhargava) [1837321] - x86/msr-index: Add MSRs for XFD (Prarit Bhargava) [1837321] - x86/cpufeatures: Add eXtended Feature Disabling (XFD) feature bit (Prarit Bhargava) [1837321] - x86/fpu: Reset permission and fpstate on exec() (Prarit Bhargava) [1837321] - x86/fpu: Prepare fpu_clone() for dynamically enabled features (Prarit Bhargava) [1837321] - x86/fpu/signal: Prepare for variable sigframe length (Prarit Bhargava) [1837321] - x86/signal: Use fpu::__state_user_size for sigalt stack validation (Prarit Bhargava) [1837321] - x86/fpu: Add basic helpers for dynamically enabled features (Prarit Bhargava) [1837321] - x86/arch_prctl: Add controls for dynamic XSTATE components (Prarit Bhargava) [1837321] - x86/fpu: Add fpu_state_config::legacy_features (Prarit Bhargava) [1837321] - x86/fpu: Add members to struct fpu to cache permission information (Prarit Bhargava) [1837321] - x86/fpu/xstate: Provide xstate_calculate_size() (Prarit Bhargava) [1837321] - x86/signal: Implement sigaltstack size validation (Prarit Bhargava) [1837321] - signal: Add an optional check for altstack size (Prarit Bhargava) [1837321] - x86/fpu: Remove old KVM FPU interface (Prarit Bhargava) [1837321] - x86/kvm: Convert FPU handling to a single swap buffer (Prarit Bhargava) [1837321] - x86/fpu: Provide infrastructure for KVM FPU cleanup (Prarit Bhargava) [1837321] - x86/fpu: Prepare for sanitizing KVM FPU code (Prarit Bhargava) [1837321] - x86/fpu/xstate: Move remaining xfeature helpers to core (Prarit Bhargava) [1837321] - x86/fpu: Rework restore_regs_from_fpstate() (Prarit Bhargava) [1837321] - x86/fpu: Mop up xfeatures_mask_uabi() (Prarit Bhargava) [1837321] - x86/fpu: Move xstate feature masks to fpu_*_cfg (Prarit Bhargava) [1837321] - x86/fpu: Move xstate size to fpu_*_cfg (Prarit Bhargava) [1837321] - x86/fpu/xstate: Cleanup size calculations (Prarit Bhargava) [1837321] - x86/fpu: Cleanup fpu__init_system_xstate_size_legacy() (Prarit Bhargava) [1837321] - x86/fpu: Provide struct fpu_config (Prarit Bhargava) [1837321] - x86/fpu/signal: Use fpstate for size and features (Prarit Bhargava) [1837321] - x86/fpu/xstate: Use fpstate for copy_uabi_to_xstate() (Prarit Bhargava) [1837321] - x86/fpu: Use fpstate in __copy_xstate_to_uabi_buf() (Prarit Bhargava) [1837321] - x86/fpu: Use fpstate in fpu_copy_kvm_uabi_to_fpstate() (Prarit Bhargava) [1837321] - x86/fpu/xstate: Use fpstate for xsave_to_user_sigframe() (Prarit Bhargava) [1837321] - x86/fpu/xstate: Use fpstate for os_xsave() (Prarit Bhargava) [1837321] - x86/fpu: Use fpstate::size (Prarit Bhargava) [1837321] - x86/fpu: Add size and mask information to fpstate (Prarit Bhargava) [1837321] - x86/process: Move arch_thread_struct_whitelist() out of line (Prarit Bhargava) [1837321] - x86/fpu: Do not leak fpstate pointer on fork (Prarit Bhargava) [1837321] - x86/fpu: Remove fpu::state (Prarit Bhargava) [1837321] - x86/math-emu: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu/core: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu/signal: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu/regset: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu: Convert tracing to fpstate (Prarit Bhargava) [1837321] - x86/KVM: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu: Replace KVMs xstate component clearing (Prarit Bhargava) [1837321] - x86/fpu: Convert restore_fpregs_from_fpstate() to struct fpstate (Prarit Bhargava) [1837321] - x86/fpu: Convert fpstate_init() to struct fpstate (Prarit Bhargava) [1837321] - fpu/types.h: KABI fix Part I (Prarit Bhargava) [1837321] - x86/fpu: Provide struct fpstate (Prarit Bhargava) [1837321] - x86/fpu: Replace KVMs home brewed FPU copy to user (Prarit Bhargava) [1837321] - x86/fpu: Provide a proper function for ex_handler_fprestore() (Prarit Bhargava) [1837321] - x86/fpu: Replace the includes of fpu/internal.h (Prarit Bhargava) [1837321] - x86/fpu: Mop up the internal.h leftovers (Prarit Bhargava) [1837321] - x86/sev: Include fpu/xcr.h (Prarit Bhargava) [1837321] - x86/fpu: Remove internal.h dependency from fpu/signal.h (Prarit Bhargava) [1837321] - x86/fpu: Move fpstate functions to api.h (Prarit Bhargava) [1837321] - x86/fpu: Move mxcsr related code to core (Prarit Bhargava) [1837321] - x86/fpu: Move fpregs_restore_userregs() to core (Prarit Bhargava) [1837321] - x86/fpu: Make WARN_ON_FPU() private (Prarit Bhargava) [1837321] - x86/fpu: Move legacy ASM wrappers to core (Prarit Bhargava) [1837321] - x86/fpu: Move os_xsave() and os_xrstor() to core (Prarit Bhargava) [1837321] - x86/fpu: Make os_xrstor_booting() private (Prarit Bhargava) [1837321] - x86/fpu: Clean up CPU feature tests (Prarit Bhargava) [1837321] - x86/fpu: Move context switch and exit to user inlines into sched.h (Prarit Bhargava) [1837321] - x86/fpu: Mark fpu__init_prepare_fx_sw_frame() as __init (Prarit Bhargava) [1837321] - x86/fpu: Rework copy_xstate_to_uabi_buf() (Prarit Bhargava) [1837321] - x86/fpu: Replace KVMs home brewed FPU copy from user (Prarit Bhargava) [1837321] - x86/fpu: Move KVMs FPU swapping to FPU core (Prarit Bhargava) [1837321] - x86/fpu/xstate: Mark all init only functions __init (Prarit Bhargava) [1837321] - x86/fpu/xstate: Provide and use for_each_xfeature() (Prarit Bhargava) [1837321] - x86/fpu: Cleanup xstate xcomp_bv initialization (Prarit Bhargava) [1837321] - x86/fpu: Do not inherit FPU context for kernel and IO worker threads (Prarit Bhargava) [1837321] - x86/process: Clone FPU in copy_thread() (Prarit Bhargava) [1837321] - x86/fpu: Remove pointless memset in fpu_clone() (Prarit Bhargava) [1837321] - x86/fpu: Cleanup the on_boot_cpu clutter (Prarit Bhargava) [1837321] - x86/fpu: Restrict xsaves()/xrstors() to independent states (Prarit Bhargava) [1837321] - x86/pkru: Remove useless include (Prarit Bhargava) [1837321] - x86/fpu: Update stale comments (Prarit Bhargava) [1837321] - x86/fpu: Remove pointless argument from switch_fpu_finish() (Prarit Bhargava) [1837321] - x86/fpu: Mask out the invalid MXCSR bits properly (Prarit Bhargava) [1837321] - x86/fpu: Restore the masking out of reserved MXCSR bits (Prarit Bhargava) [1837321] - x86/fpu/signal: Fix missed conversion to correct boolean retval in save_xstate_epilog() (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return code of restore_fpregs_from_user() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return code of check_xstate_in_sigframe() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return type of __fpu_restore_sig() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return type of fpu__restore_sig() to boolean (Prarit Bhargava) [1837321] - x86/signal: Change return type of restore_sigcontext() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return type of copy_fpregs_to_sigframe() helpers to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return type of copy_fpstate_to_sigframe() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Move xstate clearing out of copy_fpregs_to_sigframe() (Prarit Bhargava) [1837321] - x86/fpu/signal: Move header zeroing out of xsave_to_user_sigframe() (Prarit Bhargava) [1837321] - x86/fpu/signal: Clarify exception handling in restore_fpregs_from_user() (Prarit Bhargava) [1837321] - x86/elf: Support a new ELF aux vector AT_MINSIGSTKSZ (Prarit Bhargava) [1837321] - uapi/auxvec: Define the aux vector AT_MINSIGSTKSZ (Prarit Bhargava) [1837321] - x86: get rid of get_user_ex() in restore_sigcontext() (Prarit Bhargava) [1837321] - x86: get rid of get_user_ex() in ia32_restore_sigcontext() (Prarit Bhargava) [1837321] - x86: Remove force_iret() (Prarit Bhargava) [1837321] - x86/uaccess, signal: Fix AC=1 bloat (Prarit Bhargava) [1837321] - x86/ia32: Fix ia32_restore_sigcontext() AC leak (Prarit Bhargava) [1837321] - x86/tsc: Add tsc_early_khz command line parameter (Prarit Bhargava) [1957375] - x86/debug: Support negative polarity DR6 bits (Prarit Bhargava) [2017958]- KVM: SVM: Do not terminate SEV-ES guests on GHCB validation failure (Vitaly Kuznetsov) [2032931] - KVM: SEV: Fall back to vmalloc for SEV-ES scratch area if necessary (Vitaly Kuznetsov) [2032931] - KVM: SEV: Return appropriate error codes if SEV-ES scratch setup fails (Vitaly Kuznetsov) [2032931] - KVM: SEV: Refactor out sev_es_state struct (Vitaly Kuznetsov) [2032931] - s390: mm: Fix secure storage access exception handling (Thomas Huth) [1984910] - KVM: PPC: Book3S HV: Make idle_kvm_start_guest() return 0 if it went to guest (Jon Maloy) [2018960] {CVE-2021-43056} - KVM: PPC: Book3S HV: Fix stack handling in idle_kvm_start_guest() (Jon Maloy) [2018960] {CVE-2021-43056} - KVM: arm64: selftests: arch_timer: Support vCPU migration (Gavin Shan) [2024808] - KVM: arm64: selftests: Add arch_timer test (Gavin Shan) [2024808] - KVM: arm64: selftests: Add host support for vGIC (Gavin Shan) [2024808] - KVM: arm64: selftests: Add basic GICv3 support (Gavin Shan) [2024808] - KVM: arm64: selftests: Add light-weight spinlock support (Gavin Shan) [2024808] - KVM: arm64: selftests: Add guest support to get the vcpuid (Gavin Shan) [2024808] - KVM: arm64: selftests: Maintain consistency for vcpuid type (Gavin Shan) [2024808] - KVM: arm64: selftests: Add support to disable and enable local IRQs (Gavin Shan) [2024808] - KVM: arm64: selftests: Add basic support to generate delays (Gavin Shan) [2024808] - KVM: arm64: selftests: Add basic support for arch_timers (Gavin Shan) [2024808] - KVM: arm64: selftests: Add support for cpu_relax (Gavin Shan) [2024808] - KVM: arm64: selftests: Introduce ARM64_SYS_KVM_REG (Gavin Shan) [2024808] - tools: arm64: Import sysreg.h (Gavin Shan) [2024808] - KVM: arm64: selftests: Add MMIO readl/writel support (Gavin Shan) [2024808] - selftests: KVM: Introduce psci_cpu_on_test (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: actually enable pmu regs in pmu sublist (Gavin Shan) [2024808] - KVM: arm64: Update MAINTAINERS to include selftests (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Split base and pmu registers (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Remove get-reg-list-sve (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Provide config selection option (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Prepare to run multiple configs at once (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Introduce vcpu configs (Gavin Shan) [2024808] - sctp: make the raise timer more simple and accurate (Xin Long) [2020474] - Enable flowtable ipv4/ipv6 support (Phil Sutter) [1850324] - ip6_vti: initialize __ip6_tnl_parm struct in vti6_siocdevprivate (William Zhao) [1941928] - svcrdma: Fix a crash in svcrdma_counter_handler (Benjamin Coddington) [2037213] - fbcon: Fix global-out-of-bounds read in fbcon_get_font() (Lyude Paul) [1904374] - bnxt_en: Clean up completion ring page arrays completely (Ken Cox) [1987074] - bnxt_en: Fix error recovery regression (Ken Cox) [1987074] - bnxt_en: Fix possible unintended driver initiated error recovery (Ken Cox) [1987074] - bnxt_en: Fix UDP tunnel logic (Ken Cox) [1987074] - bnxt_en: Fix asic.rev in devlink dev info command (Ken Cox) [1987074] - bnxt_en: fix read of stored FW_PSID version on P5 devices (Ken Cox) [1987074] - bnxt_en: fix stored FW_PSID version masks (Ken Cox) [1987074] - bnxt_en: fix kernel doc warnings in bnxt_hwrm.c (Ken Cox) [1987074] - bnxt_en: Fix 64-bit doorbell operation on 32-bit kernels (Ken Cox) [1987074] - bnxt_en: support multiple HWRM commands in flight (Ken Cox) [1987074] - bnxt_en: remove legacy HWRM interface (Ken Cox) [1987074] - bnxt_en: update all firmware calls to use the new APIs (Ken Cox) [1987074] - bnxt_en: use link_lock instead of hwrm_cmd_lock to protect link_info (Ken Cox) [1987074] - bnxt_en: add support for HWRM request slices (Ken Cox) [1987074] - bnxt_en: add HWRM request assignment API (Ken Cox) [1987074] - bnxt_en: discard out of sequence HWRM responses (Ken Cox) [1987074] - bnxt_en: introduce new firmware message API based on DMA pools (Ken Cox) [1987074] - bnxt_en: move HWRM API implementation into separate file (Ken Cox) [1987074] - bnxt_en: Refactor the HWRM_VER_GET firmware calls (Ken Cox) [1987074] - bnxt_en: remove DMA mapping for KONG response (Ken Cox) [1987074] - bnxt: count discards due to memory allocation errors (Ken Cox) [1987074] - bnxt: count packets discarded because of netpoll (Ken Cox) [1987074] - net: broadcom: switch from 'pci_' to 'dma_' API (Ken Cox) [1987074] - bnxt_en: Add missing DMA memory barriers (Ken Cox) [1987074] - bnxt_en: Disable aRFS if running on 212 firmware (Ken Cox) [1987074] - bnxt: count Tx drops (Ken Cox) [1987074] - bnxt: make sure xmit_more + errors does not miss doorbells (Ken Cox) [1987074] - bnxt: disable napi before canceling DIM (Ken Cox) [1987074] - bnxt: don't lock the tx queue from napi poll (Ken Cox) [1987074] - bnxt_en: Use register window 6 instead of 5 to read the PHC (Ken Cox) [1987074] - bnxt_en: Update firmware call to retrieve TX PTP timestamp (Ken Cox) [1987074] - bnxt_en: Update firmware interface to 1.10.2.52 (Ken Cox) [1987074] - bnxt_en: Increase maximum RX ring size if jumbo ring is not used (Ken Cox) [1987074] - bnxt_en: Don't use static arrays for completion ring pages (Ken Cox) [1987074] - bnxt_en: Add missing periodic PHC overflow check (Ken Cox) [1987074] - bnxt_en: Log if an invalid signal detected on TSIO pin (Ken Cox) [1987074] - bnxt_en: Event handler for PPS events (Ken Cox) [1987074 1990156] - bnxt_en: 1PPS functions to configure TSIO pins (Ken Cox) [1987074 1990156] - bnxt_en: 1PPS support for 5750X family chips (Ken Cox) [1987074 1990156] - bnxt_en: Do not read the PTP PHC during chip reset (Ken Cox) [1987074 1990156] - bnxt_en: Move bnxt_ptp_init() from bnxt_open() back to bnxt_init_one() (Ken Cox) [1987074 1990156] - bnxt_en: Fix PTP capability discovery (Ken Cox) [1987074] - bnxt_en: Move bnxt_ptp_init() to bnxt_open() (Ken Cox) [1987074] - bnxt: Remove rcu_read_lock() around XDP program invocation (Ken Cox) [1987074] - bnxt_en: Enable hardware PTP support (Ken Cox) [1987074] - bnxt_en: Transmit and retrieve packet timestamps (Ken Cox) [1987074] - bnxt_en: Get the RX packet timestamp (Ken Cox) [1987074] - bnxt_en: Get the full 48-bit hardware timestamp periodically (Ken Cox) [1987074] - bnxt_en: Add PTP clock APIs, ioctls, and ethtool methods (Ken Cox) [1987074] - bnxt_en: Get PTP hardware capability from firmware (Ken Cox) [1987074] - bnxt_en: Update firmware interface to 1.10.2.47 (Ken Cox) [1987074] - bnxt_en: Fix fall-through warnings for Clang (Ken Cox) [1987074] - bnxt_en: Fix and improve .ndo_features_check(). (Ken Cox) [1987074] - bnxt_en: Implement .ndo_features_check(). (Ken Cox) [1987074] - bnxt_en: Support IFF_SUPP_NOFCS feature to transmit without ethernet FCS. (Ken Cox) [1987074] - bnxt_en: Call bnxt_approve_mac() after the PF gives up control of the VF MAC. (Ken Cox) [1987074] - bnxt_en: Move bnxt_approve_mac(). (Ken Cox) [1987074] - bnxt_en: allow VF config ops when PF is closed (Ken Cox) [1987074] - bnxt_en: Add support for fw managed link down feature. (Ken Cox) [1987074] - bnxt_en: Add a new phy_flags field to the main driver structure. (Ken Cox) [1987074] - bnxt_en: report signal mode in link up messages (Ken Cox) [1987074] - bnxt: add more ethtool standard stats (Ken Cox) [1987074] - bnxt: implement ethtool standard stats (Ken Cox) [1987074] - bnxt: implement ethtool::get_fec_stats (Ken Cox) [1987074] - bnxt_en: Free and allocate VF-Reps during error recovery. (Ken Cox) [1987074] - bnxt_en: Refactor __bnxt_vf_reps_destroy(). (Ken Cox) [1987074] - bnxt_en: Refactor bnxt_vf_reps_create(). (Ken Cox) [1987074] - bnxt_en: Invalidate health register mapping at the end of probe. (Ken Cox) [1987074] - bnxt_en: Treat health register value 0 as valid in bnxt_try_reover_fw(). (Ken Cox) [1987074] - bnxt_en: Enhance retry of the first message to the firmware. (Ken Cox) [1987074] - bnxt_en: Set BNXT_STATE_FW_RESET_DET flag earlier for the RDMA driver. (Ken Cox) [1987074] - bnxt_en: check return value of bnxt_hwrm_func_resc_qcaps (Ken Cox) [1987074] - bnxt_en: don't fake firmware response success when PCI is disabled (Ken Cox) [1987074] - bnxt_en: Improve wait for firmware commands completion (Ken Cox) [1987074] - bnxt_en: Improve the status_reliable flag in bp->fw_health. (Ken Cox) [1987074] - Bluetooth: fix use-after-free error in lock_sock_nested() (Gopal Tiwari) [2005689] - rpmspec: add release string to kernel doc directory name (Jan Stancek) [1824836] - cpufreq: intel_pstate: Fix cpu->pstate.turbo_freq initialization (Mark Langsdorf) [2031830] - ACPI: CPPC: Add NULL pointer check to cppc_get_perf() (Mark Langsdorf) [2031830] - cpufreq: intel_pstate: hybrid: Rework HWP calibration (Mark Langsdorf) [2031830] - ACPI: CPPC: Introduce cppc_get_nominal_perf() (Mark Langsdorf) [2031830] - cpufreq: Replace deprecated CPU-hotplug functions (Mark Langsdorf) [2031830] - cpufreq: intel_pstate: hybrid: Fix build with CONFIG_ACPI unset (Mark Langsdorf) [2031830] - cpufreq: intel_pstate: hybrid: CPU-specific scaling factor (Mark Langsdorf) [2031830] - cpufreq: intel_pstate: hybrid: Avoid exposing two global attributes (Mark Langsdorf) [2031830] - ASoC: amd: renoir: Run hibernation callbacks (Renjith Pananchikkal) [1987617] - hugetlb: fix hugetlb cgroup refcounting during vma split (Waiman Long) [2032811] - hugetlb_cgroup: fix imbalanced css_get and css_put pair for shared mappings (Waiman Long) [2032811] - mm/hugetlb: change hugetlb_reserve_pages() to type bool (Waiman Long) [2032811] - hugetlb: fix an error code in hugetlb_reserve_pages() (Waiman Long) [2032811] - hugetlb_cgroup: fix offline of hugetlb cgroup with reservations (Waiman Long) [2032811] - hugetlb_cgroup: fix reservation accounting (Waiman Long) [2032811] - mm/hugetlb: narrow the hugetlb_lock protection area during preparing huge page (Waiman Long) [2032811] - mm/hugetlb: a page from buddy is not on any list (Waiman Long) [2032811] - mm/hugetlb: not necessary to coalesce regions recursively (Waiman Long) [2032811] - selftests/vm/write_to_hugetlbfs.c: fix unused variable warning (Waiman Long) [2032811] - hugetlb_cgroup: add hugetlb_cgroup reservation tests (Waiman Long) [2032811] - hugetlb: support file_region coalescing again (Waiman Long) [2032811] - hugetlb_cgroup: support noreserve mappings (Waiman Long) [2032811] - hugetlb_cgroup: add accounting for shared mappings (Waiman Long) [2032811] - hugetlb: disable region_add file_region coalescing (Waiman Long) [2032811] - hugetlb_cgroup: add reservation accounting for private mappings (Waiman Long) [2032811] - mm/hugetlb_cgroup: fix hugetlb_cgroup migration (Waiman Long) [2032811] - hugetlb_cgroup: add interface for charge/uncharge hugetlb reservations (Waiman Long) [2032811] - hugetlb_cgroup: add hugetlb_cgroup reservation counter (Waiman Long) [2032811] - mm/vma: move VM_NO_KHUGEPAGED into generic header (Waiman Long) [2032811] - mm/cma.c: switch to bitmap_zalloc() for cma bitmap allocation (Waiman Long) [2032811] - hugetlb: remove duplicated code (Waiman Long) [2032811] - hugetlb: region_chg provides only cache entry (Waiman Long) [2032811] - arm64/mm: Refactor __do_page_fault() (Waiman Long) [2032811] - arm64/mm: Drop task_struct argument from __do_page_fault() (Waiman Long) [2032811] - hugetlbfs: always use address space in inode for resv_map pointer (Waiman Long) [2032811] - mm: remove redundant 'default n' from Kconfig-s (Waiman Long) [2032811] - hugetlbfs: fix potential over/underflow setting node specific nr_hugepages (Waiman Long) [2032811] - hugetlb: allow to free gigantic pages regardless of the configuration (Waiman Long) [2032811] - mm/cma.c: fix crash on CMA allocation if bitmap allocation fails (Waiman Long) [2032811] - mm/cma.c: fix the bitmap status to show failed allocation reason (Waiman Long) [2032811] - mm/cma_debug.c: fix the break condition in cma_maxchunk_get() (Waiman Long) [2032811] - mm: no need to check return value of debugfs_create functions (Waiman Long) [2032811] - x86/mm: Break out user address space handling (Waiman Long) [2032811] - fs: add vfs_parse_fs_param_source() helper (Waiman Long) [2034609] - cgroup: verify that source is a string (Waiman Long) [2034609] - ice: Fix E810 PTP reset flow (Jonathan Toppins) [2013478] - ice: Use div64_u64 instead of div_u64 in adjfine (Jonathan Toppins) [2013478] - ice: Don't put stale timestamps in the skb (Jonathan Toppins) [2013478] - ice: Fix problems with DSCP QoS implementation (Jonathan Toppins) [2030400] - ice: fix software generating extra interrupts (Jonathan Toppins) [2030400] - ice: fix rate limit update after coalesce change (Jonathan Toppins) [2030400] - ice: update dim usage and moderation (Jonathan Toppins) [2030400] - ice: make use of ice_for_each_* macros (Jonathan Toppins) [2030400] - ice: Remove boolean vlan_promisc flag from function (Jonathan Toppins) [2030400] - ice: check whether PTP is initialized in ice_ptp_release() (Jonathan Toppins) [2030400] - ice: devlink: Make devlink_register to be void (Jonathan Toppins) [2030400] - ice: split ice_ring onto Tx/Rx separate structs (Jonathan Toppins) [2030400] - ice: Prefer kcalloc over open coded arithmetic (Jonathan Toppins) [2030400] - ice: Fix macro name for IPv4 fragment flag (Jonathan Toppins) [2030400] - ice: refactor devlink getter/fallback functions to void (Jonathan Toppins) [2030400] - ice: Fix link mode handling (Jonathan Toppins) [2030400] - ice: Add feature bitmap, helpers and a check for DSCP (Jonathan Toppins) [2030400] - ice: Add DSCP support (Jonathan Toppins) [2030400]- fanotify: Make waits for fanotify events only killable (Miklos Szeredi) [1897416] - fanotify: Use interruptible wait when waiting for permission events (Miklos Szeredi) [1897416] - fanotify: Track permission event state (Miklos Szeredi) [1897416] - fanotify: Simplify cleaning of access_list (Miklos Szeredi) [1897416] - fsnotify: Create function to remove event from notification list (Miklos Szeredi) [1897416] - fanotify: Move locking inside get_one_event() (Miklos Szeredi) [1897416] - fanotify: Fold dequeue_event() into process_access_response() (Miklos Szeredi) [1897416] - fanotify: rename struct fanotify_{,perm_}event_info (Miklos Szeredi) [1897416] - RDMA/mlx5: Fix crash when unbind multiport slave (Amir Tzin) [1997386] - redhat: Fix mock.cfg cleanup in redhat/Makefile (Benjamin Coddington) - timekeeping: Use proper clock specifier names in functions (Josef Oskera) [2026471] - leds: ledtrig-activity: use ktime_get_boot_ns() (Josef Oskera) [2026471] - iio: use timespec64 based interfaces for iio_get_time_ns() (Josef Oskera) [2026471] - drivers: net: netdevsim: fix devlink_trap selftests failing (Petr Oros) [2021837] - netdevsim: remove max_vfs dentry (Petr Oros) [2021837] - netdevsim: Fix unsigned being compared to less than zero (Petr Oros) [2021837] - devlink: Protect rate list with lock while switching modes (Petr Oros) [2021837] - devlink: Remove eswitch mode check for mode set call (Petr Oros) [2021837] - devlink: Decrease refcnt of parent rate object on leaf destroy (Petr Oros) [2021837] - docs: networking: devlink: avoid using ReST :doc:`foo` markup (Petr Oros) [2021837] - testing: selftests: drivers: net: netdevsim: devlink: add test case for hard drop statistics (Petr Oros) [2021837] - drivers: net: netdevsim: add devlink trap_drop_counter_get implementation (Petr Oros) [2021837] - testing: selftests: net: forwarding: add devlink-required functionality to test (hard) dropped stats field (Petr Oros) [2021837] - net: core: devlink: add dropped stats traps field (Petr Oros) [2021837] - devlink: Fix error message in devlink_rate_set_ops_supported() (Petr Oros) [2021837] - Documentation: devlink rate objects (Petr Oros) [2021837] - selftest: netdevsim: Add devlink rate grouping test (Petr Oros) [2021837] - netdevsim: Allow setting parent node of rate objects (Petr Oros) [2021837] - devlink: Allow setting parent node of rate objects (Petr Oros) [2021837] - selftest: netdevsim: Add devlink rate nodes test (Petr Oros) [2021837] - netdevsim: Implement support for devlink rate nodes (Petr Oros) [2021837] - devlink: Introduce rate nodes (Petr Oros) [2021837] - selftest: netdevsim: Add devlink port shared/max tx rate test (Petr Oros) [2021837] - netdevsim: Implement devlink rate leafs tx rate support (Petr Oros) [2021837] - devlink: Allow setting tx rate for devlink rate leaf objects (Petr Oros) [2021837] - selftest: netdevsim: Add devlink rate test (Petr Oros) [2021837] - netdevsim: Register devlink rate leaf objects per VF (Petr Oros) [2021837] - devlink: Introduce rate object (Petr Oros) [2021837] - netdevsim: Implement legacy/switchdev mode for VFs (Petr Oros) [2021837] - netdevsim: Implement VFs (Petr Oros) [2021837] - netdevsim: Implement port types and indexing (Petr Oros) [2021837] - netdevsim: Disable VFs on nsim_dev_reload_destroy() call (Petr Oros) [2021837] - netdevsim: Add max_vfs to bus_dev (Petr Oros) [2021837] - devlink: append split port number to the port name (Petr Oros) [2021837] - devlink: Correct VIRTUAL port to not have phys_port attributes (Petr Oros) [2021837] - docs: net: add missing devlink health cmd - trigger (Petr Oros) [2021837] - docs: net: tweak devlink health documentation (Petr Oros) [2021837] - devlink: fix typo in documentation (Petr Oros) [2021837] - devlink: Extend devlink port documentation for subfunctions (Petr Oros) [2021837] - udp: Validate checksum in udp_read_sock() (Jiri Benc) [1947007] - bpf, sockmap: sk_skb data_end access incorrect when src_reg = dst_reg (Jiri Benc) [1947007] - bpf: sockmap, strparser, and tls are reusing qdisc_skb_cb and colliding (Jiri Benc) [1947007] - selftests, bpf: Add one test for sockmap with strparser (Jiri Benc) [1947007] - selftests, bpf: Fix test_txmsg_ingress_parser error (Jiri Benc) [1947007] - skmsg: Lose offset info in sk_psock_skb_ingress (Jiri Benc) [1947007] - bpf, sockmap: Fix potential memory leak on unlikely error case (Jiri Benc) [1947007] - tcp_bpf: Fix one concurrency problem in the tcp_bpf_send_verdict function (Jiri Benc) [1947007] - bpf, sockmap, tcp: sk_prot needs inuse_idx set for proc stats (Jiri Benc) [1947007] - bpf, sockmap: Fix memleak on ingress msg enqueue (Jiri Benc) [1947007] - bpf, sockmap: On cleanup we additionally need to remove cached skb (Jiri Benc) [1947007] - skmsg: Increase sk->sk_drops when dropping packets (Jiri Benc) [1947007] - skmsg: Pass source psock to sk_psock_skb_redirect() (Jiri Benc) [1947007] - skmsg: Teach sk_psock_verdict_apply() to return errors (Jiri Benc) [1947007] - skmsg: Fix a memory leak in sk_psock_verdict_apply() (Jiri Benc) [1947007] - skmsg: Clear skb redirect pointer before dropping it (Jiri Benc) [1947007] - udp: Fix a memory leak in udp_read_sock() (Jiri Benc) [1947007] - selftests/bpf: Retry for EAGAIN in udp_redir_to_connected() (Jiri Benc) [1947007] - skmsg: Improve udp_bpf_recvmsg() accuracy (Jiri Benc) [1947007] - bpf: Limit static tcp-cc functions in the .BTF_ids list to x86 (Jiri Benc) [1947007] - flow_dissector: Fix out-of-bounds warning in __skb_flow_bpf_to_target() (Jiri Benc) [1947007] - sock_map: Fix a potential use-after-free in sock_map_close() (Jiri Benc) [1947007] - skmsg: Pass psock pointer to ->psock_update_sk_prot() (Jiri Benc) [1947007] - bpf, udp: Remove some pointless comments (Jiri Benc) [1947007] - selftests/bpf: Add a test case for loading BPF_SK_SKB_VERDICT (Jiri Benc) [1947007] - selftests/bpf: Add a test case for udp sockmap (Jiri Benc) [1947007] - sock_map: Update sock type checks for UDP (Jiri Benc) [1947007] - udp: Implement udp_bpf_recvmsg() for sockmap (Jiri Benc) [1947007] - skmsg: Extract __tcp_bpf_recvmsg() and tcp_bpf_wait_data() (Jiri Benc) [1947007] - udp: Implement ->read_sock() for sockmap (Jiri Benc) [1947007] - sock: Introduce sk->sk_prot->psock_update_sk_prot() (Jiri Benc) [1947007] - sock_map: Introduce BPF_SK_SKB_VERDICT (Jiri Benc) [1947007] - sock_map: Kill sock_map_link_no_progs() (Jiri Benc) [1947007] - sock_map: Simplify sock_map_link() a bit (Jiri Benc) [1947007] - skmsg: Use GFP_KERNEL in sk_psock_create_ingress_msg() (Jiri Benc) [1947007] - skmsg: Use rcu work for destroying psock (Jiri Benc) [1947007] - skmsg: Avoid lock_sock() in sk_psock_backlog() (Jiri Benc) [1947007] - net: Introduce skb_send_sock() for sock_map (Jiri Benc) [1947007] - skmsg: Introduce a spinlock to protect ingress_msg (Jiri Benc) [1947007] - skmsg: Lock ingress_skb when purging (Jiri Benc) [1947007] - bpf: tcp: Limit calling some tcp cc functions to CONFIG_DYNAMIC_FTRACE (Jiri Benc) [1947007] - bpf: tcp: Fix an error in the bpf_tcp_ca_kfunc_ids list (Jiri Benc) [1947007] - bpf: tcp: Remove comma which is causing build error (Jiri Benc) [1947007] - bpf: tcp: Put some tcp cong functions in allowlist for bpf-tcp-cc (Jiri Benc) [1947007] - tcp: Rename bictcp function prefix to cubictcp (Jiri Benc) [1947007] - bpf: Add getter and setter for SO_REUSEPORT through bpf_{g,s}etsockopt (Jiri Benc) [1947007] - bpf, devmap: Move drop error path to devmap for XDP_REDIRECT (Jiri Benc) [1947007] - xsk: Update rings for load-acquire/store-release barriers (Jiri Benc) [1947007] - skmsg: Add function doc for skb->_sk_redir (Jiri Benc) [1947007] - skmsg: Remove unused sk_psock_stop() declaration (Jiri Benc) [1947007] - skmsg: Get rid of sk_psock_bpf_run() (Jiri Benc) [1947007] - skmsg: Make __sk_psock_purge_ingress_msg() static (Jiri Benc) [1947007] - sock_map: Make sock_map_prog_update() static (Jiri Benc) [1947007] - sock_map: Rename skb_parser and skb_verdict (Jiri Benc) [1947007] - skmsg: Move sk_redir from TCP_SKB_CB to skb (Jiri Benc) [1947007] - bpf: Compute data_end dynamically with JIT code (Jiri Benc) [1947007] - skmsg: Get rid of struct sk_psock_parser (Jiri Benc) [1947007] - bpf: Clean up sockmap related Kconfigs (Jiri Benc) [1947007] - xsk: Build skb by page (aka generic zerocopy xmit) (Jiri Benc) [1947007] - xsk: Respect device's headroom and tailroom on generic xmit path (Jiri Benc) [1947007] - virtio-net: Support IFF_TX_SKB_NO_LINEAR flag (Jiri Benc) [1947007] - net: Add priv_flags for allow tx skb without linear (Jiri Benc) [1947007] - netdevice: Add missing IFF_PHONY_HEADROOM self-definition (Jiri Benc) [1947007] - skmsg: Make sk_psock_destroy() static (Jiri Benc) [1947007] - skmsg: Use fallthrough pseudo-keyword (Jiri Benc) [1947007] - net: dev_is_mac_header_xmit() true for ARPHRD_RAWIP (Jiri Benc) [1947007] - virtio_net: Account for tx bytes and packets on sending xdp_frames (Jiri Benc) [1947007] - inet: udp{4|6}_lib_lookup_skb() skb argument is const (Jiri Benc) [1947007] - inet: constify inet_sdif() argument (Jiri Benc) [1947007] - udp: move gro declarations to net/udp.h (Jiri Benc) [1947007] - net: move tcp gro declarations to net/tcp.h (Jiri Benc) [1947007] - tcp: add declarations to avoid warnings (Jiri Benc) [1947007] - tcp: remove indirect calls for icsk->icsk_af_ops->send_check (Jiri Benc) [1947007] - tcp: remove indirect calls for icsk->icsk_af_ops->queue_xmit (Jiri Benc) [1947007] - net: remove unused skb_send_sock() (Jiri Benc) [1947007] - net: Use skb_frag_off accessors (Jiri Benc) [1947007] - net: Use skb accessors in network core (Jiri Benc) [1947007] - skbuff: fix compilation warnings in skb_dump() (Jiri Benc) [1947007] - skbuff: increase verbosity when dumping skb data (Jiri Benc) [1947007] - net: dump more useful information in netdev_rx_csum_fault() (Jiri Benc) [1947007] - net: avoid indirect calls in L4 checksum calculation (Jiri Benc) [1947007] - net/core: Allow the compiler to verify declaration and definition consistency (Jiri Benc) [1947007] - efi/arm64: Drop erroneous '__pure' attribute from set_nokaslr() (Vitaly Kuznetsov) [2026995] - drm/nouveau: clean up all clients on device removal (Karol Herbst) [1901903] {CVE-2020-27820} - drm/nouveau: Add a dedicated mutex for the clients list (Karol Herbst) [1901903] {CVE-2020-27820} - drm/nouveau: use drm_dev_unplug() during device removal (Karol Herbst) [1901903] {CVE-2020-27820} - block: avoid to quiesce queue in elevator_init_mq (Ming Lei) [2025759] - blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and disk_release() (Ming Lei) [2021399] - PCI/portdrv: Enable Bandwidth Notification only if port supports it (Myron Stowe) [1981738] - cifs: keep referral server sessions alive (Ronnie Sahlberg) [2030880] - cifs: check pointer before freeing (Ronnie Sahlberg) [2030880] - cifs: constify path argument of ->make_node() (Ronnie Sahlberg) [2030880] - cifs: constify get_normalized_path() properly (Ronnie Sahlberg) [2030880] - cifs: don't cargo-cult strndup() (Ronnie Sahlberg) [2030880] - cifs: cleanup misc.c (Ronnie Sahlberg) [2030880] - cifs: get rid of @noreq param in __dfs_cache_find() (Ronnie Sahlberg) [2030880] - cifs: do not send tree disconnect to ipc shares (Ronnie Sahlberg) [2030880] - cifs: fix doc warnings in cifs_dfs_ref.c (Ronnie Sahlberg) [2030880] - cifs: introduce helper for finding referral server to improve DFS target resolution (Ronnie Sahlberg) [2030880] - cifs: check all path components in resolved dfs target (Ronnie Sahlberg) [2030880] - cifs: fix DFS failover (Ronnie Sahlberg) [2030880] - Enable CONFIG_SCHED_CLUSTER (Phil Auld) [1920645] - sched,x86: Don't use cluster topology for x86 hybrid CPUs (Phil Auld) [1920645] - arch_topology: Fix missing clear cluster_cpumask in remove_cpu_topology() (Phil Auld) [1920645] - x86/smp: Factor out parts of native_smp_prepare_cpus() (Phil Auld) [1920645] - sched,x86: Fix L2 cache mask (Phil Auld) [1920645] - sched: Add cluster scheduler level for x86 (Phil Auld) [1920645] - sched: Add cluster scheduler level in core and related Kconfig for ARM64 (Phil Auld) [1920645] - topology: Represent clusters of CPUs within a die (Phil Auld) [1920645] - cpumask: Omit terminating null byte in cpumap_print_{list,bitmask}_to_buf (Phil Auld) [1920645] - drivers/base/node.c: use bin_attribute to break the size limitation of cpumap ABI (Phil Auld) [1920645] - topology: use bin_attribute to break the size limitation of cpumap ABI (Phil Auld) [1920645] - cpumask: introduce cpumap_print_list/bitmask_to_buf to support large bitmask and list (Phil Auld) [1920645] - x86/cpu: Add get_llc_id() helper function (Phil Auld) [1920645] - x86/smp: Add a per-cpu view of SMT state (Phil Auld) [1920645] - ARM: 8943/1: Fix topology setup in case of CPU hotplug for CONFIG_SCHED_MC (Phil Auld) [1920645] - arm: Use common cpu_topology structure and functions. (Phil Auld) [1920645] - cpu-topology: Move cpu topology code to common code. (Phil Auld) [1920645] - netfilter: ctnetlink: allow to filter dump by status bits (Florian Westphal) [1991526] - netfilter: ctnetlink: add and use a helper for mark parsing (Florian Westphal) [1991526] - netfilter: ctnetlink: suspicious RCU usage in ctnetlink_dump_helpinfo (Florian Westphal) [1991526] - netfilter: ctnetlink: add timeout and protoinfo to destroy events (Florian Westphal) [1991526] - netfilter: ctnetlink: fix mark based dump filtering regression (Florian Westphal) [1991526] - netfilter: ctnetlink: memleak in filter initialization error path (Florian Westphal) [1991526] - netfilter: ctnetlink: add kernel side filtering for dump (Florian Westphal) [1991526] - netfilter: ctnetlink: don't dump ct extensions of unconfirmed conntracks (Florian Westphal) [1991526] - netfilter: ctnetlink: be more strict when NF_CONNTRACK_MARK is not set (Florian Westphal) [1991526] - netfilter: ctnetlink: Fix regression in conntrack entry deletion (Florian Westphal) [1991526] - netfilter: ctnetlink: Resolve conntrack L3-protocol flush regression (Florian Westphal) [1991526] - netfilter: ctnetlink: always honor CTA_MARK_MASK (Florian Westphal) [1991526] - netfilter: ctnetlink: must check mark attributes vs NULL (Florian Westphal) [1991526] - netfilter: ctnetlink: Support L3 protocol-filter on flush (Florian Westphal) [1991526] - netfilter: nftables: fix incorrect increment of loop counter (Phil Sutter) [1983635] - netfilter: nf_tables: initialize set before expression setup (Phil Sutter) [1983635] - netfilter: nftables: add set expression flags (Phil Sutter) [1983635] - netfilter: nft_dynset: report EOPNOTSUPP on missing set feature (Phil Sutter) [1983635] - netfilter: nft_dynset: dump expressions when set definition contains no expressions (Phil Sutter) [1983635] - netfilter: nft_dynset: honor stateful expressions in set definition (Phil Sutter) [1983635] - netfilter: nf_tables: do not leave dangling pointer in nf_tables_set_alloc_name (Phil Sutter) [1983635] - netfilter: nftables: clone set element expression template (Phil Sutter) [1983635] - netfilter: nftables: relax check for stateful expressions in set definition (Phil Sutter) [1983635] - netfilter: nftables: netlink support for several set element expressions (Phil Sutter) [1983635] - netfilter: nf_tables: skip set types that do not support for expressions (Phil Sutter) [1983635] - netfilter: nft_dynset: allow dynamic updates of non-anonymous set (Phil Sutter) [1983635] - netfilter: nftables: generalize set extension to support for several expressions (Phil Sutter) [1983635] - netfilter: nf_tables: do not update stateful expressions if lookup is inverted (Phil Sutter) [1983635] - netfilter: nftables: move nft_expr before nft_set (Phil Sutter) [1983635] - netfilter: nf_tables: Align nft_expr private data to 64-bit (Phil Sutter) [1983635] - netfilter: nftables: generalize set expressions support (Phil Sutter) [1983635] - netfilter: nft_dynset: validate set expression definition (Phil Sutter) [1983635] - netfilter: nf_tables: add nft_set_elem_expr_destroy() and use it (Phil Sutter) [1983635] - netfilter: nf_tables: fix double-free on set expression from the error path (Phil Sutter) [1983635] - netfilter: nf_tables: allow to specify stateful expression in set definition (Phil Sutter) [1983635] - netfilter: nf_tables: bogus EBUSY when deleting set after flush (Phil Sutter) [1983635] - netfilter: nf_tables: pass context to nft_set_destroy() (Phil Sutter) [1983635] - netfilter: nf_tables: move nft_expr_clone() to nf_tables_api.c (Phil Sutter) [1983635] - netfilter: nf_tables: relocate header content to consumer (Phil Sutter) [1983635] - netfilter: nft_lookup: update element stateful expression (Phil Sutter) [1983635] - netfilter: nf_tables: add nft_set_elem_update_expr() helper function (Phil Sutter) [1983635] - netfilter: nf_tables: add elements with stateful expressions (Phil Sutter) [1983635] - netfilter: nf_tables: statify nft_expr_init() (Phil Sutter) [1983635] - netfilter: nf_tables: add nft_set_elem_expr_alloc() (Phil Sutter) [1983635] - netfilter: nf_tables: enable set expiration time for set elements (Phil Sutter) [1983635] - hugetlbfs: flush TLBs correctly after huge_pmd_unshare (Rafael Aquini) [2026376] {CVE-2021-4002} - tlb: mmu_gather: add tlb_flush_*_range APIs (Rafael Aquini) [2026376] {CVE-2021-4002} - ACPI: PM: Do not turn off power resources in unknown state (Mark Langsdorf) [1997696] - ACPI: PRM: Find PRMT table before parsing it (Mark Langsdorf) [1997696] - ACPI: NFIT: Fix support for virtual SPA ranges (Mark Langsdorf) [1997696] - ACPI: DPTF: Fix reading of attributes (Mark Langsdorf) [1997696] - ACPI: PM: Add support for upcoming AMD uPEP HID AMDI007 (Mark Langsdorf) [1997696] - ACPI: Kconfig: Fix table override from built-in initrd (Mark Langsdorf) [1997696] - ACPI: video: Add quirk for the Dell Vostro 3350 (Mark Langsdorf) [1997696] - ACPI: AMBA: Fix resource name in /proc/iomem (Mark Langsdorf) [1997696] - ACPI: PM: postpone bringing devices to D0 unless we need them (Mark Langsdorf) [1997696] - ACPI: tables: Add custom DSDT file as makefile prerequisite (Mark Langsdorf) [1997696] - ACPI: bgrt: Use sysfs_emit (Mark Langsdorf) [1997696] - ACPI: bgrt: Fix CFI violation (Mark Langsdorf) [1997696] - ACPI: EC: trust DSDT GPE for certain HP laptop (Mark Langsdorf) [1997696] - ACPI: scan: Simplify acpi_table_events_fn() (Mark Langsdorf) [1997696] - ACPI: sysfs: Remove tailing return statement in void function (Mark Langsdorf) [1997696] - ACPI: sysfs: Use __ATTR_RO() and __ATTR_RW() macros (Mark Langsdorf) [1997696] - ACPI: sysfs: Sort headers alphabetically (Mark Langsdorf) [1997696] - ACPI: sysfs: Refactor param_get_trace_state() to drop dead code (Mark Langsdorf) [1997696] - ACPI: sysfs: Unify pattern of memory allocations (Mark Langsdorf) [1997696] - ACPI: sysfs: Allow bitmap list to be supplied to acpi_mask_gpe (Mark Langsdorf) [1997696] - ACPI: sysfs: Make sparse happy about address space in use (Mark Langsdorf) [1997696] - ACPI: scan: Fix race related to dropping dependencies (Mark Langsdorf) [1997696] - ACPI: scan: Reorganize acpi_device_add() (Mark Langsdorf) [1997696] - ACPI: scan: Fix device object rescan in acpi_scan_clear_dep() (Mark Langsdorf) [1997696] - ACPI: scan: Make acpi_walk_dep_device_list() (Mark Langsdorf) [1997696] - ACPI: scan: Rearrange acpi_dev_get_first_consumer_dev_cb() (Mark Langsdorf) [1997696] - ACPI: scan: Define acpi_bus_put_acpi_device() as static inline (Mark Langsdorf) [1997696] - ACPI: NVS: fix doc warnings in nvs.c (Mark Langsdorf) [1997696] - ACPI: sysfs: fix doc warnings in device_sysfs.c (Mark Langsdorf) [1997696] - ACPI: APEI: fix synchronous external aborts in user-mode (Mark Langsdorf) [1997696] - mfd: tps68470: Remove tps68470 MFD driver (Mark Langsdorf) [1997696] - ACPI: power: Use dev_dbg() to print some messages (Mark Langsdorf) [1997696] - ACPI: Add quirks for AMD Renoir/Lucienne CPUs to force the D3 hint (Mark Langsdorf) [1997696] - ACPI: processor_throttling: Fix several coding style issues (Mark Langsdorf) [1997696] - ACPI: sysfs: Drop four redundant return statements (Mark Langsdorf) [1997696] - ACPI: video: Drop three redundant return statements (Mark Langsdorf) [1997696] - ACPI: sleep: Fix acpi_pm_pre_suspend() kernel-doc (Mark Langsdorf) [1997696] - ACPI: processor_throttling: Remove redundant initialization of 'obj' (Mark Langsdorf) [1997696] - ACPI: utils: Introduce acpi_get_local_address() (Mark Langsdorf) [1997696] - ACPI: scan: initialize local variable to avoid garbage being returned (Mark Langsdorf) [1997696] - ACPI: Remove redundant clearing of context->ret.pointer from acpi_run_osc() (Mark Langsdorf) [1997696] - redhat/configs: Add Enable CONFIG_ACPI_PRMT (Mark Langsdorf) [1997696] - ACPI: PRM: Deal with table not present or no module found (Mark Langsdorf) [1997696] - ACPI: Do not singal PRM support if not enabled (Mark Langsdorf) [1997696] - ACPI: Kconfig: Provide help text for the ACPI_PRMT option (Mark Langsdorf) [1997696] - ACPI: PRM: make symbol 'prm_module_list' static (Mark Langsdorf) [1997696] - ACPI: Correct \_SB._OSC bit definition for PRM (Mark Langsdorf) [1997696] - ACPI: Add \_SB._OSC bit for PRM (Mark Langsdorf) [1997696] - ACPI: PRM: implement OperationRegion handler for the PlatformRtMechanism subtype (Mark Langsdorf) [1997696] - ACPICA: Add PRMT module header to facilitate parsing (Mark Langsdorf) [1997696] - ACPI: scan: Add function to fetch dependent of ACPI device (Mark Langsdorf) [1997696] - ACPI: scan: Extend acpi_walk_dep_device_list() (Mark Langsdorf) [1997696] - i2c: core: Restore acpi_walk_dep_device_list() getting called after registering the ACPI i2c devs (Mark Langsdorf) [1997696] - ACPI: NUMA: fix typo in a comment (Mark Langsdorf) [1997696] - ACPI: sysfs: Fix a buffer overrun problem with description_show() (Mark Langsdorf) [1997696] - ACPI: LPSS: Use kstrtol() instead of simple_strtol() (Mark Langsdorf) [1997696] - ACPI: tables: FPDT: Add missing acpi_put_table() in acpi_init_fpdt() (Mark Langsdorf) [1997696] - ACPI: tables: PPTT: Populate cache-id if provided by firmware (Mark Langsdorf) [1997696] - ACPI: OSL: Use DEFINE_RES_IO_NAMED() to simplify code (Mark Langsdorf) [1997696] - ACPI: bus: Call kobject_put() in acpi_init() error path (Mark Langsdorf) [1997696] - ACPI: bus: Remove unneeded assignment (Mark Langsdorf) [1997696] - ACPI: sleep: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: sbs: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: scan: Unify the log message printing (Mark Langsdorf) [1997696] - ACPI: sbshc: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: sysfs: Cleanup message printing (Mark Langsdorf) [1997696] - ACPI: reboot: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: processor_throttling: Cleanup the printing messages (Mark Langsdorf) [1997696] - ACPI: processor_perflib: Cleanup print messages (Mark Langsdorf) [1997696] - ACPI: processor_thermal: Remove unused PREFIX for printing (Mark Langsdorf) [1997696] - ACPI: pci_root: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: osl: Remove the duplicated PREFIX for message printing (Mark Langsdorf) [1997696] - ACPI: nvs: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: glue: Clean up the printing messages (Mark Langsdorf) [1997696] - ACPI: event: Use pr_*() macros to replace printk() (Mark Langsdorf) [1997696] - ACPI: bus: Use pr_*() macros to replace printk() (Mark Langsdorf) [1997696] - ACPI: blacklist: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: cmos_rtc: Using pr_fmt() and remove PREFIX (Mark Langsdorf) [1997696] - ACPI: scan: Constify acpi_dma_supported() helper function (Mark Langsdorf) [1997696] - ACPICA: Update version to 20210604 (Mark Langsdorf) [1997696] - ACPICA: Add support for PlatformRtMechanism OperationRegion handler (Mark Langsdorf) [1997696] - ACPICA: iASL: add disassembler support for PRMT (Mark Langsdorf) [1997696] - ACPICA: Add the CFMWS structure definition to the CEDT table (Mark Langsdorf) [1997696] - ACPICA: Add defines for the CXL Host Bridge Structure (CHBS) (Mark Langsdorf) [1997696] - ACPICA: iASL: Add support for the BDAT ACPI table (Mark Langsdorf) [1997696] - ACPICA: Add _PLD panel positions (Mark Langsdorf) [1997696] - ACPICA: Use ACPI_FALLTHROUGH (Mark Langsdorf) [1997696] - ACPICA: iASL Table Compiler: Add full support for RGRT ACPI table (Mark Langsdorf) [1997696] - ACPICA: iASL: Add support for the SVKL table (Mark Langsdorf) [1997696] - ACPICA: iASL: Finish support for the IVRS ACPI table (Mark Langsdorf) [1997696] - ACPICA: Add SVKL table headers (Mark Langsdorf) [1997696] - ACPICA: ACPI 6.4: MADT: add Multiprocessor Wakeup Mailbox Structure (Mark Langsdorf) [1997696] - ACPI: power: Rework turning off unused power resources (Mark Langsdorf) [1997696] - ACPI: power: Save the last known state of each power resource (Mark Langsdorf) [1997696] - ACPI: power: Use u8 as the power resource state data type (Mark Langsdorf) [1997696] - ACPI: configfs: Replace ACPI_INFO() with pr_debug() (Mark Langsdorf) [1997696] - ACPI: ipmi: Remove address space handler in error path (Mark Langsdorf) [1997696] - ACPI: EC: Make more Asus laptops use ECDT _GPE (Mark Langsdorf) [1997696] - ACPI: event: Remove redundant initialization of local variable (Mark Langsdorf) [1997696] - ACPI: sbshc: Fix fall-through warning for Clang (Mark Langsdorf) [1997696] - ACPI: PM / fan: Put fan device IDs into separate header file (Mark Langsdorf) [1997696] - ACPI: APEI: Don't warn if ACPI is disabled (Mark Langsdorf) [1997696] - ACPI: processor idle: Fix up C-state latency if not ordered (Mark Langsdorf) [1997696] - ACPI: scan: Rearrange dep_unmet initialization (Mark Langsdorf) [1997696] - ACPI: DPTF: Add battery participant for Intel SoCs (Mark Langsdorf) [1997696] - md/raid5: avoid device_lock in read_one_chunk() (Nigel Croxon) [1985919] - md: add comments in md_integrity_register (Nigel Croxon) [1985919] - md: check level before create and exit io_acct_set (Nigel Croxon) [1985919] - md/raid10: enable io accounting (Nigel Croxon) [1985919] - md/raid1: enable io accounting (Nigel Croxon) [1985919] - md/raid5: avoid redundant bio clone in raid5_read_one_chunk (Nigel Croxon) [1985919] - md/raid5: move checking badblock before clone bio in raid5_read_one_chunk (Nigel Croxon) [1985919] - md: add io accounting for raid0 and raid5 (Nigel Croxon) [1985919] - md: revert io stats accounting (Nigel Croxon) [1985919] - md/raid5: remove an incorrect assert in in_chunk_boundary (Nigel Croxon) [1985919] - md: use rdev_read_only in restart_array (Nigel Croxon) [1985919] - md/raid6: refactor raid5_read_one_chunk (Nigel Croxon) [1985919] - md: remove md_bio_alloc_sync (Nigel Croxon) [1985919] - md: simplify sync_page_io (Nigel Croxon) [1985919] - md: remove bio_alloc_mddev (Nigel Croxon) [1985919] - md: use part_[begin|end]_io_acct instead of disk_[begin|end]_io_acct (Nigel Croxon) [1985919] - md: improve io stats accounting (Nigel Croxon) [1985919]- ethernet: use eth_hw_addr_set() for dev->addr_len cases (Corinna Vinschen) [1970663] - igbvf: convert to strongly typed descriptors (Corinna Vinschen) [1970663] - intel: call csum functions with well formatted arguments (Corinna Vinschen) [1970663] - igb: handle vlan types with checker enabled (Corinna Vinschen) [1970663] - igb: fix netpoll exit with traffic (Corinna Vinschen) [1970662] - igb: unbreak I2C bit-banging on i350 (Corinna Vinschen) [1970662] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Corinna Vinschen) [1970662] - igb: Avoid memcpy() over-reading of ETH_SS_STATS (Corinna Vinschen) [1970662] - igb: Add counter to i21x doublecheck (Corinna Vinschen) [1970662] - igb: Fix position of assignment to *ring (Corinna Vinschen) [1970662] - igb: Check if num of q_vectors is smaller than max before array access (Corinna Vinschen) [1970662] - igb: Fix an error handling path in 'igb_probe()' (Corinna Vinschen) [1970662] - igb: Fix use-after-free error during reset (Corinna Vinschen) [1970662] - intel: Remove rcu_read_lock() around XDP program invocation (Corinna Vinschen) [1970662] - igb: add correct exception tracing for XDP (Corinna Vinschen) [1970662] - igb: Fix XDP with PTP enabled (Corinna Vinschen) [1970662] - igb: Fix -Wunused-const-variable warning (Corinna Vinschen) [1970662] - igb: override two checker warnings (Corinna Vinschen) [1970662] - igb: fix assignment on big endian machines (Corinna Vinschen) [1970662] - igb: handle vlan types with checker enabled (Corinna Vinschen) [1970662] - igb/igc: use strongly typed pointer (Corinna Vinschen) [1970662] - intel: remove checker warning (Corinna Vinschen) [1970662] - i40e: Fix NULL pointer dereference in i40e_dbg_dump_desc (Stefan Assmann) [1970651] - i40e: Fix pre-set max number of queues for VF (Stefan Assmann) [1970651] - i40e: Fix failed opcode appearing if handling messages from VF (Stefan Assmann) [1970651] - i40e: Fix display error code in dmesg (Stefan Assmann) [1970651] - i40e: Fix creation of first queue by omitting it if is not power of two (Stefan Assmann) [1970651] - i40e: Fix warning message and call stack during rmmod i40e driver (Stefan Assmann) [1970651] - i40e: Fix ping is lost after configuring ADq on VF (Stefan Assmann) [1970651] - i40e: Fix changing previously set num_queue_pairs for PFs (Stefan Assmann) [1970651] - i40e: Fix NULL ptr dereference on VSI filter sync (Stefan Assmann) [1970651] - i40e: Fix correct max_pkt_size on VF RX queue (Stefan Assmann) [1970651] - ethernet: constify references to netdev->dev_addr in drivers (Stefan Assmann) [1970651] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Stefan Assmann) [1970651] - i40e: Fix ATR queue selection (Stefan Assmann) [1970651] - i40e: Fix spelling mistake "dissable" -> "disable" (Stefan Assmann) [1970651] - iavf: do not override the adapter state in the watchdog task (again) (Stefan Assmann) [1970650] - iavf: missing unlocks in iavf_watchdog_task() (Stefan Assmann) [1970650] - iavf: Fix reporting when setting descriptor count (Stefan Assmann) [1970650] - iavf: restore MSI state on reset (Stefan Assmann) [1970650] - iavf: Fix displaying queue statistics shown by ethtool (Stefan Assmann) [1970650] - iavf: Refactor string format to avoid static analysis warnings (Stefan Assmann) [1970650] - iavf: Refactor text of informational message (Stefan Assmann) [1970650] - iavf: Fix static code analysis warning (Stefan Assmann) [1970650] - iavf: Refactor iavf_mac_filter struct memory usage (Stefan Assmann) [1970650] - iavf: Enable setting RSS hash key (Stefan Assmann) [1970650] - iavf: Add trace while removing device (Stefan Assmann) [1970650] - iavf: return errno code instead of status code (Stefan Assmann) [1970650] - iavf: Log info when VF is entering and leaving Allmulti mode (Stefan Assmann) [1970650] - iavf: Add change MTU message (Stefan Assmann) [1970650] - iavf: Fix VLAN feature flags after VFR (Stefan Assmann) [1970650] - iavf: Fix refreshing iavf adapter stats on ethtool request (Stefan Assmann) [1970650] - iavf: Fix deadlock occurrence during resetting VF interface (Stefan Assmann) [1970650] - iavf: Prevent changing static ITR values if adaptive moderation is on (Stefan Assmann) [1970650] - iavf: Restore VLAN filters after link down (Stefan Assmann) [1970650] - iavf: Fix for setting queues to 0 (Stefan Assmann) [1970650] - iavf: Fix for the false positive ASQ/ARQ errors while issuing VF reset (Stefan Assmann) [1970650] - iavf: validate pointers (Stefan Assmann) [1970650] - iavf: prevent accidental free of filter structure (Stefan Assmann) [1970650] - iavf: Fix failure to exit out from last all-multicast mode (Stefan Assmann) [1970650] - iavf: don't clear a lock we don't hold (Stefan Assmann) [1970650] - iavf: free q_vectors before queues in iavf_disable_vf (Stefan Assmann) [1970650] - iavf: check for null in iavf_fix_features (Stefan Assmann) [1970650] - iavf: Fix return of set the new channel count (Stefan Assmann) [1970650] - iavf: Fix kernel BUG in free_msi_irqs (Stefan Assmann) [1970650] - iavf: Add helper function to go from pci_dev to adapter (Stefan Assmann) [1970650] - iavf: Combine init and watchdog state machines (Stefan Assmann) [1970650] - iavf: Add __IAVF_INIT_FAILED state (Stefan Assmann) [1970650] - iavf: Refactor iavf state machine tracking (Stefan Assmann) [1970650] - iavf: fix double unlock of crit_lock (Stefan Assmann) [1970650] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Stefan Assmann) [1970650] - iavf: Fix ping is lost after untrusted VF had tried to change MAC (Stefan Assmann) [1970650] - iavf: use mutexes for locking of critical sections (Stefan Assmann) [1970650] - qed: rdma - don't wait for resources under hw error recovery flow (Manish Chopra) [1998195] - qed: Handle management FW error (Manish Chopra) [1998195] - qede: Fix memset corruption (Manish Chopra) [1998195] - qed: Enable automatic recovery on error condition. (Manish Chopra) [1998195] - qed: Fix the VF msix vectors flow (Manish Chopra) [1998195] - qed: Fix null-pointer dereference in qed_rdma_create_qp() (Manish Chopra) [1998195] - qed: qed ll2 race condition fixes (Manish Chopra) [1998195] - qed: Remove duplicated include of kernel.h (Manish Chopra) [1998195] - qed: Remove redundant prints from the iWARP SYN handling (Manish Chopra) [1998195] - qed: Skip DORQ attention handling during recovery (Manish Chopra) [1998195] - qed: Avoid db_recovery during recovery (Manish Chopra) [1998195] - qede: fix crash in rmmod qede while automatic debug collection (Manish Chopra) [1998195] - RDMA/qedr: Improve error logs for rdma_alloc_tid error return (Manish Chopra) [1998195] - RDMA/qed: Use accurate error num in qed_cxt_dynamic_ilt_alloc (Manish Chopra) [1998195] - net: qed: remove unneeded return variables (Manish Chopra) [1998195] - net: qede: Fix end of loop tests for list_for_each_entry (Manish Chopra) [1998195] - qede: Remove rcu_read_lock() around XDP program invocation (Manish Chopra) [1998195] - net: qed: Fix memcpy() overflow of qed_dcbx_params() (Manish Chopra) [1998195] - net: qede: Use list_for_each_entry() to simplify code (Manish Chopra) [1998195] - qed: Fix duplicate included linux/kernel.h (Manish Chopra) [1998195] - qed: Add IP services APIs support (Manish Chopra) [1998195] - qed: Add NVMeTCP Offload IO Level FW Initializations (Manish Chopra) [1998195] - qed: Add NVMeTCP Offload IO Level FW and HW HSI (Manish Chopra) [1998195] - qed: Add support of HW filter block (Manish Chopra) [1998195] - qed: Add NVMeTCP Offload Connection Level FW and HW HSI (Manish Chopra) [1998195] - qed: Add NVMeTCP Offload PF Level FW and HW HSI (Manish Chopra) [1998195] - qed: Add TCP_ULP FW resource layout (Manish Chopra) [1998195] - net: qed: remove redundant initialization of variable rc (Manish Chopra) [1998195] - net: qed: remove unused including (Manish Chopra) [1998195] - qede: remove unused including (Manish Chopra) [1998195] - linux/qed: Mundane spelling fixes throughout the file (Manish Chopra) [1998195] - qed: Fix fall-through warnings for Clang (Manish Chopra) [1998195] - RDMA/qedr: Use true and false for bool variable (Manish Chopra) [1998195] - qede: preserve per queue stats across up/down of interface (Manish Chopra) [1998195] - qede: add per queue coalesce support for qede driver (Manish Chopra) [1998195] - qede: add netpoll support for qede driver (Manish Chopra) [1998195] - RDMA/qedr: Remove in_irq() usage from debug output (Manish Chopra) [1998195] - linux/qed: fix spelling typo in qed_chain.h (Manish Chopra) [1998195] - qed: select CONFIG_CRC32 (Manish Chopra) [1998195] - IB/qedr: Fix fall-through warnings for Clang (Manish Chopra) [1998195] - RDMA/qedr: Endianness warnings cleanup (Manish Chopra) [1998195] - qed/qed_ll2: Replace one-element array with flexible-array member (Manish Chopra) [1998195] - net: qed: use true,false for bool variables (Manish Chopra) [1998195] - RDMA/qedr: Fix reported max_pkeys (Manish Chopra) [1998195] - qed: align adjacent indent (Manish Chopra) [1998195] - qed: fix kconfig help entries (Manish Chopra) [1998195] - sched/cputime: Fix getrusage(RUSAGE_THREAD) with nohz_full (Phil Auld) [1992387] - net: tg3: fix obsolete check of !err (Ken Cox) [1987082] - net: broadcom: switch from 'pci_' to 'dma_' API (Ken Cox) [1987082] - tg3: Remove unused PHY_BRCM flags (Ken Cox) [1987082] - net: check skb sec_path when re-initializing slow_gro in gro_list_prepare (Xin Long) [2030476] - e1000e: Fix the max snoop/no-snoop latency for 10M (Ken Cox) [1970665] - net/e1000e: Fix spelling mistake "The" -> "This" (Ken Cox) [1970665] - e1000e: Add space to the debug print (Ken Cox) [1970665] - e1000e: Additional PHY power saving in S0ix (Ken Cox) [1970665] - e1000e: Add polling mechanism to indicate CSME DPG exit (Ken Cox) [1970665] - e1000e: Add handshake with the CSME to support S0ix (Ken Cox) [1970665] - e1000e: Fix an error handling path in 'e1000_probe()' (Ken Cox) [1970665] - e1000e: Check the PCIm state (Ken Cox) [1970665] - net: e1000e: fix misspell word "retreived" (Ken Cox) [1970665] - net: e1000e: remove repeated word "slot" for netdev.c (Ken Cox) [1970665] - net: e1000e: remove repeated word "the" for ich8lan.c (Ken Cox) [1970665] - ppc64: Fix incorrect qrwlock use in debug kernel (Waiman Long) [2027200] - locking: Remove spin_lock_flags() etc (Waiman Long) [2027200] - Bluetooth: btusb: Add one more Bluetooth part for WCN6855 (Gopal Tiwari) [2007903] - Bluetooth: btusb: Add the new support IDs for WCN6855 (Gopal Tiwari) [2007903] - Bluetooth: btusb: re-definition for board_id in struct qca_version (Gopal Tiwari) [2007903] - Bluetooth: btusb: Add support using different nvm for variant WCN6855 controller (Gopal Tiwari) [2007903] - bpf/selftests: enable atomic_bounds test (Viktor Malik) [2030572] - Revert "bpf: Remove atomics tests from test_progs" (Viktor Malik) [2030572] - bpf/selftests: disable tests failing on RHEL 8.6 (Viktor Malik) [2025797 2025801 2025810 2025812 2025813] - bpf/selftests: allow disabling prog_tests (Viktor Malik) [2030572] - xfs: drop experimental warnings for bigtime and inobtcount (Bill O'Donnell) [2022903] - libxfs: expose inobtcount in xfs geometry (Bill O'Donnell) [2022903] - xfs: enable new inode btree counters feature (Bill O'Donnell) [2022903] - xfs: enable big timestamps (Bill O'Donnell) [2022903] - selftests: net: bridge: fix typo in vlan_filtering dependency test (Ivan Vecera) [2019055] - selftests: net: bridge: add test for vlan_filtering dependency (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_router tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast query and query response interval tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_querier_interval tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_membership_interval test (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_startup_query_count/interval tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_last_member_count/interval tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast igmp/mld version tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast querier test (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast snooping control test (Ivan Vecera) [2019055] - selftests: net: bridge: update IGMP/MLD membership interval value (Ivan Vecera) [2019055] - net: bridge: mcast: use multicast_membership_interval for IGMPv3 (Ivan Vecera) [2019055] - net: bridge: fix under estimation in br_get_linkxstats_size() (Ivan Vecera) [2019055] - net: bridge: use nla_total_size_64bit() in br_get_linkxstats_size() (Ivan Vecera) [2019055] - net: bridge: mcast: Associate the seqcount with its protecting lock. (Ivan Vecera) [2019055] - net: bridge: mcast: fix vlan port router deadlock (Ivan Vecera) [2019055] - net: bridge: use mld2r_ngrec instead of icmpv6_dataun (Ivan Vecera) [2019055] - net: bridge: change return type of br_handle_ingress_vlan_tunnel (Ivan Vecera) [2019055] - net: bridge: vlan: convert mcast router global option to per-vlan entry (Ivan Vecera) [2019055] - net: bridge: mcast: br_multicast_set_port_router takes multicast context as argument (Ivan Vecera) [2019055] - net: bridge: mcast: toggle also host vlan state in br_multicast_toggle_vlan (Ivan Vecera) [2019055] - net: bridge: mcast: use the correct vlan group helper (Ivan Vecera) [2019055] - net: bridge: vlan: account for router port lists when notifying (Ivan Vecera) [2019055] - net: bridge: vlan: enable mcast snooping for existing master vlans (Ivan Vecera) [2019055] - net: bridge: mcast: account for ipv6 size when dumping querier state (Ivan Vecera) [2019055] - net: bridge: mcast: drop sizeof for nest attribute's zero size (Ivan Vecera) [2019055] - net: bridge: mcast: don't dump querier state if snooping is disabled (Ivan Vecera) [2019055] - net: bridge: vlan: dump mcast ctx querier state (Ivan Vecera) [2019055] - net: bridge: mcast: dump ipv6 querier state (Ivan Vecera) [2019055] - net: bridge: mcast: dump ipv4 querier state (Ivan Vecera) [2019055] - net: bridge: mcast: consolidate querier selection for ipv4 and ipv6 (Ivan Vecera) [2019055] - net: bridge: mcast: make sure querier port/address updates are consistent (Ivan Vecera) [2019055] - net: bridge: mcast: record querier port device ifindex instead of pointer (Ivan Vecera) [2019055] - net: bridge: vlan: use br_rports_fill_info() to export mcast router ports (Ivan Vecera) [2019055] - net: bridge: mcast: use the proper multicast context when dumping router ports (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast router global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast querier global option (Ivan Vecera) [2019055] - net: bridge: mcast: querier and query state affect only current context type (Ivan Vecera) [2019055] - net: bridge: mcast: move querier state to the multicast context (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast startup query interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast query response interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast query interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast querier interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast membership interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast last member interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast startup query count global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast last member count global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast igmp/mld version global options (Ivan Vecera) [2019055] - net: switchdev: zero-initialize struct switchdev_notifier_fdb_info emitted by drivers towards the bridge (Ivan Vecera) [2019055] - net: bridge: fix flags interpretation for extern learn fdb entries (Ivan Vecera) [2019055] - net: bridge: vlan: fix global vlan option range dumping (Ivan Vecera) [2019055] - net: bridge: fix memleak in br_add_if() (Ivan Vecera) [2019055] - net: make switchdev_bridge_port_{,unoffload} loosely coupled with the bridge (Ivan Vecera) [2019055] - net: bridge: switchdev: fix incorrect use of FDB flags when picking the dst device (Ivan Vecera) [2019055] - net: bridge: validate the NUD_PERMANENT bit when adding an extern_learn FDB entry (Ivan Vecera) [2019055] - net: bridge: switchdev: treat local FDBs the same as entries towards the bridge (Ivan Vecera) [2019055] - net: bridge: switchdev: replay the entire FDB for each port (Ivan Vecera) [2019055] - net: bridge: add a helper for retrieving port VLANs from the data path (Ivan Vecera) [2019055] - net: bridge: update BROPT_VLAN_ENABLED before notifying switchdev in br_vlan_filter_toggle (Ivan Vecera) [2019055] - net: bridge: fix build when setting skb->offload_fwd_mark with CONFIG_NET_SWITCHDEV=n (Ivan Vecera) [2019055] - net: bridge: switchdev: allow the TX data plane forwarding to be offloaded (Ivan Vecera) [2019055] - net: switchdev: fix FDB entries towards foreign ports not getting propagated to us (Ivan Vecera) [2019055] - net: bridge: move the switchdev object replay helpers to "push" mode (Ivan Vecera) [2019055] - net: bridge: guard the switchdev replay helpers against a NULL notifier block (Ivan Vecera) [2019055] - net: bridge: switchdev: let drivers inform which bridge ports are offloaded (Ivan Vecera) [2019055] - net: bridge: switchdev: recycle unused hwdoms (Ivan Vecera) [2019055] - net: bridge: disambiguate offload_fwd_mark (Ivan Vecera) [2019055] - net: bridge: multicast: add context support for host-joined groups (Ivan Vecera) [2019055] - net: bridge: multicast: add mdb context support (Ivan Vecera) [2019055] - net: bridge: multicast: fix igmp/mld port context null pointer dereferences (Ivan Vecera) [2019055] - net: switchdev: recurse into __switchdev_handle_fdb_del_to_device (Ivan Vecera) [2019055] - net: switchdev: remove stray semicolon in switchdev_handle_fdb_del_to_device shim (Ivan Vecera) [2019055] - net: bridge: vlan: add mcast snooping control (Ivan Vecera) [2019055] - net: bridge: vlan: notify when global options change (Ivan Vecera) [2019055] - net: bridge: vlan: add support for dumping global vlan options (Ivan Vecera) [2019055] - net: bridge: vlan: add support for global options (Ivan Vecera) [2019055] - net: bridge: multicast: include router port vlan id in notifications (Ivan Vecera) [2019055] - net: bridge: multicast: add vlan querier and query support (Ivan Vecera) [2019055] - net: bridge: multicast: check if should use vlan mcast ctx (Ivan Vecera) [2019055] - net: bridge: multicast: use the port group to port context helper (Ivan Vecera) [2019055] - net: bridge: multicast: add helper to get port mcast context from port group (Ivan Vecera) [2019055] - net: bridge: add vlan mcast snooping knob (Ivan Vecera) [2019055] - net: bridge: multicast: add vlan state initialization and control (Ivan Vecera) [2019055] - net: bridge: vlan: add global and per-port multicast context (Ivan Vecera) [2019055] - net: bridge: multicast: use multicast contexts instead of bridge or port (Ivan Vecera) [2019055] - net: bridge: multicast: factor out bridge multicast context (Ivan Vecera) [2019055] - net: bridge: multicast: factor out port multicast context (Ivan Vecera) [2019055] - net: switchdev: introduce a fanout helper for SWITCHDEV_FDB_{ADD,DEL}_TO_DEVICE (Ivan Vecera) [2019055] - net: switchdev: introduce helper for checking dynamically learned FDB entries (Ivan Vecera) [2019055] - net: bridge: do not replay fdb entries pointing towards the bridge twice (Ivan Vecera) [2019055] - net: bridge: multicast: fix MRD advertisement router port marking race (Ivan Vecera) [2019055] - net: bridge: multicast: fix PIM hello router port marking race (Ivan Vecera) [2019055] - net: bridge: sync fdb to new unicast-filtering ports (Ivan Vecera) [2019055] - net: bridge: allow br_fdb_replay to be called for the bridge device (Ivan Vecera) [2019055] - net: bridge: switchdev: send FDB notifications for host addresses (Ivan Vecera) [2019055] - net: bridge: use READ_ONCE() and WRITE_ONCE() compiler barriers for fdb->dst (Ivan Vecera) [2019055] - net: bridge: allow the switchdev replay functions to be called for deletion (Ivan Vecera) [2019055] - net: bridge: constify variables in the replay helpers (Ivan Vecera) [2019055] - net: bridge: ignore switchdev events for LAG ports which didn't request replay (Ivan Vecera) [2019055] - net: switchdev: add a context void pointer to struct switchdev_notifier_info (Ivan Vecera) [2019055] - net: bridge: include the is_local bit in br_fdb_replay (Ivan Vecera) [2019055] - net: bridge: mrp: Update the Test frames for MRA (Ivan Vecera) [2019055] - bridge: cfm: remove redundant return (Ivan Vecera) [2019055] - net: bridge: remove redundant continue statement (Ivan Vecera) [2019055] - net: bridge: fix vlan tunnel dst refcnt when egressing (Ivan Vecera) [2019055] - net: bridge: fix vlan tunnel dst null pointer dereference (Ivan Vecera) [2019055] - net: bridge: mrp: Update ring transitions. (Ivan Vecera) [2019055] - net: bridge: remove redundant assignment (Ivan Vecera) [2019055] - net: bridge: fix br_multicast_is_router stub when igmp is disabled (Ivan Vecera) [2019055] - net: bridge: fix build when IPv6 is disabled (Ivan Vecera) [2019055] - net: bridge: mcast: export multicast router presence adjacent to a port (Ivan Vecera) [2019055] - net: bridge: mcast: add ip4+ip6 mcast router timers to mdb netlink (Ivan Vecera) [2019055] - net: bridge: mcast: split multicast router state for IPv4 and IPv6 (Ivan Vecera) [2019055] - net: bridge: mcast: split router port del+notify for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare add-router function for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare expiry functions for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare is-router function for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare query reception for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare mdb netlink for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: add wrappers for router node retrieval (Ivan Vecera) [2019055] - net: bridge: mcast: rename multicast router lists and timers (Ivan Vecera) [2019055] - bridge: Fix possible races between assigning rx_handler_data and setting IFF_BRIDGE_PORT bit (Ivan Vecera) [2019055] - net: bridge: mcast: fix broken length + header check for MRDv6 Adv. (Ivan Vecera) [2019055] - net: bridge: fix error in br_multicast_add_port when CONFIG_NET_SWITCHDEV=n (Ivan Vecera) [2019055] - net: bridge: propagate error code and extack from br_mc_disabled_update (Ivan Vecera) [2019055] - net: bridge: Fix missing return assignment from br_vlan_replay_one call (Ivan Vecera) [2019055] - bridge: mrp: Disable roles before deleting the MRP instance (Ivan Vecera) [2019055] - net: bridge: add helper to replay VLANs installed on port (Ivan Vecera) [2019055] - net: bridge: add helper to replay port and local fdb entries (Ivan Vecera) [2019055] - net: bridge: add helper to replay port and host-joined mdb entries (Ivan Vecera) [2019055] - net: bridge: add helper to retrieve the current ageing time (Ivan Vecera) [2019055] - net: bridge: add helper for retrieving the current bridge port STP state (Ivan Vecera) [2019055] - net: bridge: when suppression is enabled exclude RARP packets (Ivan Vecera) [2019055] - net: bridge: declare br_vlan_tunnel_lookup argument tunnel_id as __be64 (Ivan Vecera) [2019055] - Documentation: networking: switchdev: add missing "and" word (Ivan Vecera) [2019055] - Documentation: networking: switchdev: separate bulleted items with new line (Ivan Vecera) [2019055] - Documentation: networking: switchdev: fix command for static FDB entries (Ivan Vecera) [2019055] - Documentation: networking: switchdev: clarify device driver behavior (Ivan Vecera) [2019055] - net: bridge: mcast: factor out common allow/block EHT handling (Ivan Vecera) [2019055] - net: bridge: mcast: remove unreachable EHT code (Ivan Vecera) [2019055] - net: bridge: Fix fall-through warnings for Clang (Ivan Vecera) [2019055] - bridge: mrp: Update br_mrp to use new return values of br_mrp_switchdev (Ivan Vecera) [2019055] - bridge: mrp: Extend br_mrp_switchdev to detect better the errors (Ivan Vecera) [2019055] - bridge: mrp: Add 'enum br_mrp_hw_support' (Ivan Vecera) [2019055] - switchdev: mrp: Extend ring_role_mrp and in_role_mrp (Ivan Vecera) [2019055] - switchdev: mrp: Remove CONFIG_BRIDGE_MRP (Ivan Vecera) [2019055] - net: bridge: fix br_vlan_filter_toggle stub when CONFIG_BRIDGE_VLAN_FILTERING=n (Ivan Vecera) [2019055] - net: bridge: fix switchdev_port_attr_set stub when CONFIG_SWITCHDEV=n (Ivan Vecera) [2019055] - net: bridge: propagate extack through switchdev_port_attr_set (Ivan Vecera) [2019055] - net: bridge: propagate extack through store_bridge_parm (Ivan Vecera) [2019055] - net: bridge: remove __br_vlan_filter_toggle (Ivan Vecera) [2019055] - net: switchdev: pass flags and mask to both {PRE_,}BRIDGE_FLAGS attributes (Ivan Vecera) [2019055] - net: bridge: don't print in br_switchdev_set_port_flag (Ivan Vecera) [2019055] - net: bridge: offload all port flags at once in br_setport (Ivan Vecera) [2019055] - net: switchdev: propagate extack to port attributes (Ivan Vecera) [2019055] - switchdev: mrp: Remove SWITCHDEV_ATTR_ID_MRP_PORT_STAT (Ivan Vecera) [2019055] - bridge: mrp: Fix the usage of br_mrp_port_switchdev_set_state (Ivan Vecera) [2019055] - net: bridge: mcast: Use ERR_CAST instead of ERR_PTR(PTR_ERR()) (Ivan Vecera) [2019055] - net: bridge: add warning comments to avoid extending sysfs (Ivan Vecera) [2019055] - net: bridge: mcast: drop hosts limit sysfs support (Ivan Vecera) [2019055] - net: bridge: multicast: make tracked EHT hosts limit configurable (Ivan Vecera) [2019055] - net: bridge: multicast: add per-port EHT hosts limit (Ivan Vecera) [2019055] - net: switchdev: use obj-$(CONFIG_NET_SWITCHDEV) form in net/Makefile (Ivan Vecera) [2019055] - net: switchdev: don't set port_obj_info->handled true when -EOPNOTSUPP (Ivan Vecera) [2019055] - net: bridge: multicast: fix br_multicast_eht_set_entry_lookup indentation (Ivan Vecera) [2019055] - bridge: Use PTR_ERR_OR_ZERO instead if(IS_ERR(...)) + PTR_ERR (Ivan Vecera) [2019055] - net: mrp: move struct definitions out of uapi (Ivan Vecera) [2019055] - net: mrp: fix definitions of MRP test packets (Ivan Vecera) [2019055] - net: bridge: multicast: mark IGMPv3/MLDv2 fast-leave deletes (Ivan Vecera) [2019055] - net: bridge: multicast: handle block pg delete for all cases (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT host filter_mode handling (Ivan Vecera) [2019055] - net: bridge: multicast: optimize TO_INCLUDE EHT timeouts (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT include and exclude handling (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT allow/block handling (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT host delete function (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT source set handling functions (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT host handling functions (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT structures and definitions (Ivan Vecera) [2019055] - net: bridge: multicast: calculate idx position without changing ptr (Ivan Vecera) [2019055] - net: bridge: multicast: __grp_src_block_incl can modify pg (Ivan Vecera) [2019055] - net: bridge: multicast: pass host src address to IGMPv3/MLDv2 functions (Ivan Vecera) [2019055] - net: bridge: multicast: rename src_size to addr_size (Ivan Vecera) [2019055] - net: bridge: check vlan with eth_type_vlan() method (Ivan Vecera) [2019055] - net: switchdev: delete the transaction object (Ivan Vecera) [2019055] - mlxsw: spectrum_switchdev: remove transactional logic for VLAN objects (Ivan Vecera) [2019055] - net: switchdev: remove the transaction structure from port attributes (Ivan Vecera) [2019055] - net: switchdev: delete switchdev_port_obj_add_now (Ivan Vecera) [2019055] - net: switchdev: remove the transaction structure from port object notifiers (Ivan Vecera) [2019055] - net: switchdev: remove vid_begin -> vid_end range from VLAN objects (Ivan Vecera) [2019055] - net: bridge: fix misspellings using codespell tool (Ivan Vecera) [2019055] - net: bridge: notify switchdev of disappearance of old FDB entry upon migration (Ivan Vecera) [2019055] - bridge: Fix a deadlock when enabling multicast snooping (Ivan Vecera) [2019055] - bridge: mrp: Implement LC mode for MRP (Ivan Vecera) [2019055] - net: bridge: switch to net core statistics counters handling (Ivan Vecera) [2019055] - net: bridge: replace struct br_vlan_stats with pcpu_sw_netstats (Ivan Vecera) [2019055] - bridge: mrp: Use hlist_head instead of list_head for mrp (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 *,g auto-add (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exclude timeout (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> block report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> block report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> to_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> is_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> is_include report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> allow report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> to_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> is_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> is_include report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> allow report (Ivan Vecera) [2019055] - selftests: net: bridge: add initial MLDv2 include test (Ivan Vecera) [2019055] - selftests: net: bridge: factor out and rename sg state functions (Ivan Vecera) [2019055] - selftests: net: lib: add support for IPv6 mcast packet test (Ivan Vecera) [2019055] - selftests: net: bridge: factor out mcast_packet_test (Ivan Vecera) [2019055] - net: bridge: mcast: fix stub definition of br_multicast_querier_exists (Ivan Vecera) [2019055] - net: bridge: explicitly convert between mdb entry state and port group flags (Ivan Vecera) [2019055] - net: bridge: mcast: add support for raw L2 multicast groups (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 *,g auto-add (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exclude timeout (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> block report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 inc -> block report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> to_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> is_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> is_include report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> allow report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 inc -> to_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 inc -> is_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 inc -> is_include report (Ivan Vecera) [2019055] - selftests: net: bridge: add tests for igmpv3 is_include and inc -> allow reports (Ivan Vecera) [2019055] - selftests: net: bridge: igmp: add IGMPv3 entries' state helpers (Ivan Vecera) [2019055] - selftests: net: bridge: igmp: check for specific udp ip protocol (Ivan Vecera) [2019055] - selftests: net: bridge: igmp: add support for packet source address (Ivan Vecera) [2019055] - selftests: net: bridge: rename current igmp tests to igmpv2 (Ivan Vecera) [2019055] - net: bridge: fix uninitialized variables when BRIDGE_CFM is disabled (Ivan Vecera) [2019055] - bridge: cfm: Netlink Notifications. (Ivan Vecera) [2019055] - bridge: cfm: Netlink GET status Interface. (Ivan Vecera) [2019055] - bridge: cfm: Netlink GET configuration Interface. (Ivan Vecera) [2019055] - bridge: cfm: Netlink SET configuration Interface. (Ivan Vecera) [2019055] - bridge: cfm: Kernel space implementation of CFM. CCM frame RX added. (Ivan Vecera) [2019055] - bridge: cfm: Kernel space implementation of CFM. CCM frame TX added. (Ivan Vecera) [2019055] - bridge: cfm: Kernel space implementation of CFM. MEP create/delete. (Ivan Vecera) [2019055] - bridge: uapi: cfm: Added EtherType used by the CFM protocol. (Ivan Vecera) [2019055] - bridge: cfm: Add BRIDGE_CFM to Kconfig. (Ivan Vecera) [2019055] - net: bridge: extend the process of special frames (Ivan Vecera) [2019055] - bridge: Netlink interface fix. (Ivan Vecera) [2019055] - net: bridge: mcast: remove only S,G port groups from sg_port hash (Ivan Vecera) [2019055] - net: switchdev: Fixed kerneldoc warning (Ivan Vecera) [2019055] - net: bridge: mcast: when forwarding handle filter mode and blocked flag (Ivan Vecera) [2019055] - net: bridge: mcast: handle host state (Ivan Vecera) [2019055] - net: bridge: mcast: add support for blocked port groups (Ivan Vecera) [2019055] - net: bridge: mcast: handle port group filter modes (Ivan Vecera) [2019055] - net: bridge: mcast: install S,G entries automatically based on reports (Ivan Vecera) [2019055] - net: bridge: mcast: add sg_port rhashtable (Ivan Vecera) [2019055] - net: bridge: mcast: add rt_protocol field to the port group struct (Ivan Vecera) [2019055] - net: bridge: mcast: when igmpv3/mldv2 are enabled lookup (S,G) first, then (*,G) (Ivan Vecera) [2019055] - net: bridge: mdb: add support for add/del/dump of entries with source (Ivan Vecera) [2019055] - net: bridge: mdb: add support to extend add/del commands (Ivan Vecera) [2019055] - net: bridge: mcast: rename br_ip's u member to dst (Ivan Vecera) [2019055] - net: bridge: mcast: use br_ip's src for src groups and querier address (Ivan Vecera) [2019055] - net: bridge: add src field to br_ip (Ivan Vecera) [2019055] - net: bridge: mdb: use extack in br_mdb_add() and br_mdb_add_group() (Ivan Vecera) [2019055] - net: bridge: mdb: move all port and bridge checks to br_mdb_add (Ivan Vecera) [2019055] - net: bridge: mdb: use extack in br_mdb_parse() (Ivan Vecera) [2019055] - net: bridge: delete duplicated words (Ivan Vecera) [2019055] - net: bridge: mcast: don't ignore return value of __grp_src_toex_excl (Ivan Vecera) [2019055] - __netif_receive_skb_core: don't untag vlan from skb on DSA master (Ivan Vecera) [2019055] - bridge: mcast: Fix incomplete MDB dump (Ivan Vecera) [2019055] - net: bridge: mcast: fix unused br var when lockdep isn't defined (Ivan Vecera) [2019055] - net: bridge: mcast: destroy all entries via gc (Ivan Vecera) [2019055] - net: bridge: mcast: improve IGMPv3/MLDv2 query processing (Ivan Vecera) [2019055] - net: bridge: mcast: support for IGMPV3/MLDv2 BLOCK_OLD_SOURCES report (Ivan Vecera) [2019055] - net: bridge: mcast: support for IGMPV3/MLDv2 CHANGE_TO_INCLUDE/EXCLUDE report (Ivan Vecera) [2019055] - net: bridge: mcast: support for IGMPV3/MLDv2 MODE_IS_INCLUDE/EXCLUDE report (Ivan Vecera) [2019055] - net: bridge: mcast: support for IGMPv3/MLDv2 ALLOW_NEW_SOURCES report (Ivan Vecera) [2019055] - net: bridge: mcast: delete expired port groups without srcs (Ivan Vecera) [2019055] - net: bridge: mdb: use mdb and port entries in notifications (Ivan Vecera) [2019055] - net: bridge: mdb: push notifications in __br_mdb_add/del (Ivan Vecera) [2019055] - net: bridge: mcast: add support for group query retransmit (Ivan Vecera) [2019055] - net: bridge: mcast: add support for group-and-source specific queries (Ivan Vecera) [2019055] - net: bridge: mcast: add support for src list and filter mode dumping (Ivan Vecera) [2019055] - net: bridge: mcast: add support for group source list (Ivan Vecera) [2019055] - net: bridge: mcast: factor out port group del (Ivan Vecera) [2019055] - net: bridge: mdb: arrange internal structs so fast-path fields are close (Ivan Vecera) [2019055] - netlink: consistently use NLA_POLICY_EXACT_LEN() (Ivan Vecera) [2019055] - net: bridge: Add port attribute IFLA_BRPORT_MRP_IN_OPEN (Ivan Vecera) [2019055] - bridge: mrp: Extend br_mrp_fill_info (Ivan Vecera) [2019055] - bridge: uapi: mrp: Extend MRP_INFO attributes for interconnect status (Ivan Vecera) [2019055] - bridge: mrp: Extend MRP netlink interface for configuring MRP interconnect (Ivan Vecera) [2019055] - bridge: mrp: Implement the MRP Interconnect API (Ivan Vecera) [2019055] - bridge: switchdev: mrp: Extend MRP API for switchdev for MRP Interconnect (Ivan Vecera) [2019055] - bridge: mrp: Add br_mrp_in_port_open function (Ivan Vecera) [2019055] - bridge: mrp: Rename br_mrp_port_open to br_mrp_ring_port_open (Ivan Vecera) [2019055] - bridge: mrp: Extend br_mrp for MRP interconnect (Ivan Vecera) [2019055] - bridge: mrp: Extend bridge interface (Ivan Vecera) [2019055] - bridge: uapi: mrp: Extend MRP attributes for MRP interconnect (Ivan Vecera) [2019055] - switchdev: mrp: Extend switchdev API for MRP Interconnect (Ivan Vecera) [2019055] - net: bridge: fix undefined br_vlan_can_enter_range in tunnel code (Ivan Vecera) [2019055] - net: switchdev: kerneldoc fixes (Ivan Vecera) [2019055] - net: bridge: notify on vlan tunnel changes done via the old api (Ivan Vecera) [2019055] - bridge: Extend br_fill_ifinfo to return MPR status (Ivan Vecera) [2019055] - bridge: mrp: Add br_mrp_fill_info (Ivan Vecera) [2019055] - bridge: uapi: mrp: Extend MRP attributes to get the status (Ivan Vecera) [2019055] - bridge: mrp: Fix endian conversion and some other warnings (Ivan Vecera) [2019055] - net: bridge: add a flag to avoid refreshing fdb when changing/adding (Ivan Vecera) [2019055] - net: bridge: add option to allow activity notifications for any fdb entries (Ivan Vecera) [2019055] - net: neighbor: add fdb extended attribute (Ivan Vecera) [2019055] - net: bridge: fdb_add_entry takes ndm as argument (Ivan Vecera) [2019055] - bridge: mrp: Validate when setting the port role (Ivan Vecera) [2019055] - bridge: uapi: mrp: Fix MRP_PORT_ROLE (Ivan Vecera) [2019055] - bridge: mrp: Add support for role MRA (Ivan Vecera) [2019055] - bridge: mrp: Set the priority of MRP instance (Ivan Vecera) [2019055] - bridge: mrp: Update MRP frame type (Ivan Vecera) [2019055] - bridge: multicast: work around clang bug (Ivan Vecera) [2019055] - bridge: mrp: Rework the MRP netlink interface (Ivan Vecera) [2019055] - bridge: mrp: Fix out-of-bounds read in br_mrp_parse (Ivan Vecera) [2019055] - bridge: mrp: Restore port state when deleting MRP instance (Ivan Vecera) [2019055] - switchdev: mrp: Remove the variable mrp_ring_state (Ivan Vecera) [2019055] - bridge: mrp: Add br_mrp_unique_ifindex function (Ivan Vecera) [2019055] - net: bridge: allow enslaving some DSA master network devices (Ivan Vecera) [2019055] - net: remove newlines in NL_SET_ERR_MSG_MOD (Ivan Vecera) [2019055] - net: bridge: return false in br_mrp_enabled() (Ivan Vecera) [2019055] - docs: networking: convert switchdev.txt to ReST (Ivan Vecera) [2019055] - net: bridge: Add checks for enabling the STP. (Ivan Vecera) [2019055] - bridge: mrp: Integrate MRP into the bridge (Ivan Vecera) [2019055] - bridge: mrp: Implement netlink interface to configure MRP (Ivan Vecera) [2019055] - bridge: mrp: Connect MRP API with the switchdev API (Ivan Vecera) [2019055] - bridge: switchdev: mrp: Implement MRP API for switchdev (Ivan Vecera) [2019055] - switchdev: mrp: Extend switchdev API to offload MRP (Ivan Vecera) [2019055] - bridge: mrp: Add MRP interface. (Ivan Vecera) [2019055] - net: bridge: Add port attribute IFLA_BRPORT_MRP_RING_OPEN (Ivan Vecera) [2019055] - bridge: mrp: Extend bridge interface (Ivan Vecera) [2019055] - bridge: mrp: Update Kconfig (Ivan Vecera) [2019055] - bridge: uapi: mrp: Add mrp attributes. (Ivan Vecera) [2019055] - net: bridge: vlan options: move the tunnel command to the nested attribute (Ivan Vecera) [2019055] - net: bridge: vlan options: nest the tunnel id into a tunnel info attribute (Ivan Vecera) [2019055] - net: bridge: vlan: include stats in dumps if requested (Ivan Vecera) [2019055] - net: bridge: vlan options: add support for tunnel mapping set/del (Ivan Vecera) [2019055] - net: bridge: vlan options: add support for tunnel id dumping (Ivan Vecera) [2019055] - net: bridge: vlan tunnel: constify bridge and port arguments (Ivan Vecera) [2019055] - net: bridge: vlan options: rename br_vlan_opts_eq to br_vlan_opts_eq_range (Ivan Vecera) [2019055] - net: switchdev: do not propagate bridge updates across bridges (Ivan Vecera) [2019055] - bridge: br_stp: Use built-in RCU list checking (Ivan Vecera) [2019055] - net: switchdev: Replace zero-length array with flexible-array member (Ivan Vecera) [2019055] - net: bridge: vlan: add per-vlan state (Ivan Vecera) [2019055] - net: bridge: vlan: add basic option setting support (Ivan Vecera) [2019055] - net: bridge: vlan: add basic option dumping support (Ivan Vecera) [2019055] - net: bridge: check port state before br_allowed_egress (Ivan Vecera) [2019055] - net: bridge: vlan: notify on vlan add/delete/change flags (Ivan Vecera) [2019055] - net: bridge: vlan: add rtnetlink group and notify support (Ivan Vecera) [2019055] - net: bridge: vlan: add rtm range support (Ivan Vecera) [2019055] - net: bridge: vlan: add del rtm message support (Ivan Vecera) [2019055] - net: bridge: vlan: add new rtm message support (Ivan Vecera) [2019055] - net: bridge: vlan: add rtm definitions and dump support (Ivan Vecera) [2019055] - net: bridge: netlink: add extack error messages when processing vlans (Ivan Vecera) [2019055] - net: bridge: vlan: add helpers to check for vlan id/range validity (Ivan Vecera) [2019055] - net: bridge: add STP xstats (Ivan Vecera) [2019055] - treewide: Use sizeof_field() macro (Ivan Vecera) [2019055] - bridge: implement get_link_ksettings ethtool method (Ivan Vecera) [2019055] - net: bridge: fdb: eliminate extra port state tests from fast-path (Ivan Vecera) [2019055] - net: bridge: fdb: restore unlikely() when taking over externally added entries (Ivan Vecera) [2019055] - net: bridge: fdb: avoid two atomic bitops in br_fdb_external_learn_add() (Ivan Vecera) [2019055] - net: bridge: fdb: br_fdb_update can take flags directly (Ivan Vecera) [2019055] - net: bridge: Populate the pvid flag in br_vlan_get_info (Ivan Vecera) [2019055] - net: fix __ip_mc_inc_group usage (Ivan Vecera) [2019055] - net: bridge: mdb: allow add/delete for host-joined groups (Ivan Vecera) [2019055] - net: bridge: mdb: dump host-joined entries as well (Ivan Vecera) [2019055] - net: bridge: mdb: factor out mdb filling (Ivan Vecera) [2019055] - net: bridge: mdb: move vlan comments (Ivan Vecera) [2019055] - net: bridge: mcast: add delete due to fast-leave mdb flag (Ivan Vecera) [2019055] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Ivan Vecera) [2019055] - treewide: Add SPDX license identifier for missed files (Ivan Vecera) [2019055] - treewide: Add SPDX license identifier - Makefile/Kconfig (Ivan Vecera) [2019055] - bridge: Fix error path for kobject_init_and_add() (Ivan Vecera) [2019055] - bridge: only include nf_queue.h if needed (Ivan Vecera) [2019055] - bridge: broute: make broute a real ebtables table (Ivan Vecera) [2019055] - bridge: netfilter: unroll NF_HOOK helper in bridge input path (Ivan Vecera) [2019055] - bridge: reduce size of input cb to 16 bytes (Ivan Vecera) [2019055] - net: bridge: update multicast stats from maybe_deliver() (Ivan Vecera) [2019055] - net: bridge: mcast: remove unused br_ip_equal function (Ivan Vecera) [2019055] - net: bridge: optimize backup_port fdb convergence (Ivan Vecera) [2019055] - net: bridge: use netif_is_bridge_port() (Ivan Vecera) [2019055] - net: bridge: use eth_broadcast_addr() to assign broadcast address (Ivan Vecera) [2019055] - tools headers uapi: Update linux/in.h copy (Ivan Vecera) [2019055] - switchdev: Remove unused transaction item queue (Ivan Vecera) [2019055] - bridge: remove redundant check on err in br_multicast_ipv4_rcv (Ivan Vecera) [2019055] - net: Fix ip_mc_{dec,inc}_group allocation context (Ivan Vecera) [2019055] - bridge: remove duplicated include from br_multicast.c (Ivan Vecera) [2019055] - bridge: Snoop Multicast Router Advertisements (Ivan Vecera) [2019055] - bridge: join all-snoopers multicast address (Ivan Vecera) [2019055] - bridge: simplify ip_mc_check_igmp() and ipv6_mc_check_mld() internals (Ivan Vecera) [2019055] - tools include uapi: Sync linux/if_link.h copy with the kernel sources (Ivan Vecera) [2019055] - net: bridge: fix a bug on using a neighbour cache entry without checking its state (Ivan Vecera) [2019055] - net: bridge: remove unneeded variable 'err' (Ivan Vecera) [2019055] - net: bridge: remove redundant checks for null p->dev and p->br (Ivan Vecera) [2019055] - net: bridge: export supported boolopts (Ivan Vecera) [2019055] - net: bridge: add no_linklocal_learn bool option (Ivan Vecera) [2019055] - net: bridge: add support for user-controlled bool options (Ivan Vecera) [2019055] - bridge: use __vlan_hwaccel helpers (Ivan Vecera) [2019055] - netfilter: bridge: define INT_MIN & INT_MAX in userspace (Ivan Vecera) [2019055] - docs: fix some broken documentation references (Ivan Vecera) [2019055] - bridge: Switch to bitmap_zalloc() (Ivan Vecera) [2019055] - netfilter: bridge: Expose nf_tables bridge hook priorities through uapi (Ivan Vecera) [2019055] - net: bridge: add support for backup port (Ivan Vecera) [2019055] - net: bridge: add support for raw sysfs port options (Ivan Vecera) [2019055] - docs: networking: Convert bridge.txt to rst (Ivan Vecera) [2019055] - net: switchdev: consolidate RH_KABI macros usage (Ivan Vecera) [2019055] - kcov: Remove kcov include from sched.h and move it to its users. (Josef Oskera) [2026467] - tasklets: Provide tasklet_disable_in_atomic() (Ivan Vecera) [2026475] - tasklets: Use static inlines for stub implementations (Ivan Vecera) [2026475] - net: sock: introduce sk_error_report (Ivan Vecera) [2026469] - redhat: Add CONFIG_RHEL_DIFFERENCES (Prarit Bhargava) [2021571]- serial: 8520_port: Fix function param documentation (Waiman Long) [1970241] - serial: 8250: Optimize irq enable after console write (Waiman Long) [1970241] - serial: 8250: Fix rs485 delay after console write (Waiman Long) [1970241] - serial: 8250: Support console on software emulated rs485 ports (Waiman Long) [1970241] - serial: 8250: Generalize rs485 software emulation (Waiman Long) [1970241] - serial: 8250: Deduplicate rs485 active_timer assignment (Waiman Long) [1970241] - serial: 8250: Sanitize rs485 config harder (Waiman Long) [1970241] - serial: 8250: Deduplicate ->rs485_config() callback (Waiman Long) [1970241] - serial: 8250: Support rs485 devicetree properties (Waiman Long) [1970241] - serial: 8250_port: Don't use power management for kernel console (Waiman Long) [1970241] - console: Introduce ->exit() callback (Waiman Long) [1970241] - console: Don't notify user space when unregister non-listed console (Waiman Long) [1970241] - tty: 8250_of: Use software emulated RS485 direction control (Waiman Long) [1970241] - serial: 8250: Add MSR/MCR TIOCM conversion wrapper functions (Waiman Long) [1970241] - serial: 8250_of: Use of_device_get_match_data() (Waiman Long) [1970241] - serial: 8250_of: Fix for lack of interrupt support (Waiman Long) [1970241] - serial: 8250: of: Defer probe on missing IRQ (Waiman Long) [1970241] - serial: 8250: of: Correct of_platform_serial_setup() error handling (Waiman Long) [1970241] - mm/vmstat: protect per cpu variables with preempt disable on RT (Scott Wood) [2011667] - mm, slub: convert kmem_cpu_slab protection to local_lock (Scott Wood) [2011667] - mm, slub: use migrate_disable() on PREEMPT_RT (Scott Wood) [2011667] - mm, slub: protect put_cpu_partial() with disabled irqs instead of cmpxchg (Scott Wood) [2011667] - mm, slub: make slab_lock() disable irqs with PREEMPT_RT (Scott Wood) [2011667] - mm: slub: make object_map_lock a raw_spinlock_t (Scott Wood) [2011667] - mm: slub: move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context (Scott Wood) [2011667] - mm, slab: split out the cpu offline variant of flush_slab() (Scott Wood) [2011667] - mm, slub: don't disable irqs in slub_cpu_dead() (Scott Wood) [2011667] - mm, slub: only disable irq with spin_lock in __unfreeze_partials() (Scott Wood) [2011667] - mm, slub: separate detaching of partial list in unfreeze_partials() from unfreezing (Scott Wood) [2011667] - mm, slub: detach whole partial list at once in unfreeze_partials() (Scott Wood) [2011667] - mm, slub: discard slabs in unfreeze_partials() without irqs disabled (Scott Wood) [2011667] - mm, slub: move irq control into unfreeze_partials() (Scott Wood) [2011667] - mm, slub: call deactivate_slab() without disabling irqs (Scott Wood) [2011667] - mm, slub: make locking in deactivate_slab() irq-safe (Scott Wood) [2011667] - mm, slub: move reset of c->page and freelist out of deactivate_slab() (Scott Wood) [2011667] - mm, slub: stop disabling irqs around get_partial() (Scott Wood) [2011667] - mm, slub: check new pages with restored irqs (Scott Wood) [2011667] - mm, slub: validate slab from partial list or page allocator before making it cpu slab (Scott Wood) [2011667] - mm, slub: restore irqs around calling new_slab() (Scott Wood) [2011667] - mm, slub: move disabling irqs closer to get_partial() in ___slab_alloc() (Scott Wood) [2011667] - mm, slub: do initial checks in ___slab_alloc() with irqs enabled (Scott Wood) [2011667] - mm, slub: move disabling/enabling irqs to ___slab_alloc() (Scott Wood) [2011667] - mm, slub: simplify kmem_cache_cpu and tid setup (Scott Wood) [2011667] - mm, slub: restructure new page checks in ___slab_alloc() (Scott Wood) [2011667] - mm, slub: return slab page from get_partial() and set c->page afterwards (Scott Wood) [2011667] - mm, slub: dissolve new_slab_objects() into ___slab_alloc() (Scott Wood) [2011667] - mm, slub: extract get_partial() from new_slab_objects() (Scott Wood) [2011667] - mm, slub: remove redundant unfreeze_partials() from put_cpu_partial() (Scott Wood) [2011667] - mm, slub: don't disable irq for debug_check_no_locks_freed() (Scott Wood) [2011667] - mm, slub: allocate private object map for validate_slab_cache() (Scott Wood) [2011667] - mm, slub: allocate private object map for debugfs listings (Scott Wood) [2011667] - mm, slub: don't call flush_all() from slab_debug_trace_open() (Scott Wood) [2011667] - mm/slub.c: drop lockdep_assert_held() from put_map() (Scott Wood) [2011667] - mm/slub.c: replace cpu_slab->partial with wrapped APIs (Scott Wood) [2011667] - mm/slub.c: replace kmem_cache->cpu_partial with wrapped APIs (Scott Wood) [2011667] - sched/rt, mm: Use CONFIG_PREEMPTION (Scott Wood) [2011667] - tcp: fix page frag corruption on page fault (Paolo Abeni) [1996074] - net: fix sk_page_frag() recursion from memory reclaim (Paolo Abeni) [1996074] - net: udp6: replace __UDP_INC_STATS() with __UDP6_INC_STATS() (Xin Long) [2020407] - net: udp: annotate data race around udp_sk(sk)->corkflag (Xin Long) [2020407] - net/ipv4/udp_tunnel_core.c: remove superfluous header files from udp_tunnel_core.c (Xin Long) [2020407] - udp_tunnel: Fix udp_tunnel_nic work-queue type (Xin Long) [2020407] - net, gro: Set inner transport header offset in tcp/udp GRO hook (Xin Long) [2020407] - bareudp: Add extack support to bareudp_configure() (Guillaume Nault) [1946040] - bareudp: Move definition of struct bareudp_conf to bareudp.c (Guillaume Nault) [1946040] - bareudp: Remove bareudp_dev_create() (Guillaume Nault) [1946040] - net: bareudp: simplify error paths calling dellink (Guillaume Nault) [1946040] - mptcp: re-arm retransmit timer if data is pending (Paolo Abeni) [2019493] - mptcp: remove tx_pending_data (Paolo Abeni) [2019493] - mptcp: do not shrink snd_nxt when recovering (Paolo Abeni) [2019493] - mptcp: drop unused sk in mptcp_push_release (Paolo Abeni) [2019493] - selftests: mptcp: fix proto type in link_failure tests (Paolo Abeni) [2019493] - selftests: mptcp: add testcase for active-back (Paolo Abeni) [2019493] - mptcp: backup flag from incoming MPJ ack option (Paolo Abeni) [2019493] - mptcp: add mibs for stale subflows processing (Paolo Abeni) [2019493] - mptcp: faster active backup recovery (Paolo Abeni) [2019493] - mptcp: cleanup sysctl data and helpers (Paolo Abeni) [2019493] - mptcp: handle pending data on closed subflow (Paolo Abeni) [2019493] - mptcp: less aggressive retransmission strategy (Paolo Abeni) [2019493] - mptcp: more accurate timeout (Paolo Abeni) [2019493] - mptcp: stop relying on tcp_tx_skb_cache (Paolo Abeni) [2019493] - tcp: expose the tcp_mark_push() and tcp_skb_entail() helpers (Paolo Abeni) [2019493] - selftests: KVM: avoid failures due to reserved HyperTransport region (Vitaly Kuznetsov) [2009340] - KVM: X86: Fix when shadow_root_level=5 && guest root_level<4 (Vitaly Kuznetsov) [2009340] - KVM: x86: inhibit APICv when KVM_GUESTDBG_BLOCKIRQ active (Vitaly Kuznetsov) [2009340] - KVM: x86/xen: Fix get_attr of KVM_XEN_ATTR_TYPE_SHARED_INFO (Vitaly Kuznetsov) [2009340] - KVM: x86: Use rw_semaphore for APICv lock to allow vCPU parallelism (Vitaly Kuznetsov) [2009340] - KVM: selftests: test KVM_GUESTDBG_BLOCKIRQ (Vitaly Kuznetsov) [2009340] - x86/sgx/virt: implement SGX_IOC_VEPC_REMOVE ioctl (Vitaly Kuznetsov) [2009340] - x86/sgx/virt: extract sgx_vepc_remove_page (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Complete prefetch for trailing SPTEs for direct, legacy MMU (Vitaly Kuznetsov) [2009340] - KVM: x86: Do not mark all registers as avail/dirty during RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: SVM: don't set VMLOAD/VMSAVE intercepts on vCPU reset (Vitaly Kuznetsov) [2009340] - KVM: VMX: Unregister posted interrupt wakeup handler on hardware unsetup (Vitaly Kuznetsov) [2009340] - Revert "x86/kvm: fix vcpu-id indexed array sizes" (Vitaly Kuznetsov) [2009340] - KVM: X86: Cache CR3 in prev_roots when PCID is disabled (Vitaly Kuznetsov) [2009340] - KVM: X86: Fix tlb flush for tdp in kvm_invalidate_pcid() (Vitaly Kuznetsov) [2009340] - KVM: X86: Don't reset mmu context when toggling X86_CR4_PGE (Vitaly Kuznetsov) [2009340] - KVM: X86: Don't reset mmu context when X86_CR4_PCIDE 1->0 (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: kvm_faultin_pfn has to return false if pfh is returned (Vitaly Kuznetsov) [2009340] - KVM: x86: Take srcu lock in post_kvm_run_save() (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: fix another issue with string I/O VMGEXITs (Vitaly Kuznetsov) [2009340] - KVM: x86/xen: Fix kvm_xen_has_interrupt() sleeping in kvm_vcpu_block() (Vitaly Kuznetsov) [2009340] - KVM: x86: switch pvclock_gtod_sync_lock to a raw spinlock (Vitaly Kuznetsov) [2009340] - KVM: selftests: Refactor help message for -s backing_src (Vitaly Kuznetsov) [2009340] - KVM: selftests: Change backing_src flag to -s in demand_paging_test (Vitaly Kuznetsov) [2009340] - tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: go over the sev_pio_data buffer in multiple passes if needed (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: keep INS functions together (Vitaly Kuznetsov) [2009340] - KVM: x86: remove unnecessary arguments from complete_emulator_pio_in (Vitaly Kuznetsov) [2009340] - KVM: x86: split the two parts of emulator_pio_in (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: clean up kvm_sev_es_ins/outs (Vitaly Kuznetsov) [2009340] - KVM: x86: leave vcpu->arch.pio.count alone in emulator_pio_in_out (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: rename guest_ins_data to sev_pio_data (Vitaly Kuznetsov) [2009340] - KVM: SEV: Flush cache on non-coherent systems before RECEIVE_UPDATE_DATA (Vitaly Kuznetsov) [2009340] - KVM: MMU: Reset mmu->pkru_mask to avoid stale data (Vitaly Kuznetsov) [2009340] - KVM: nVMX: promptly process interrupts delivered while in guest mode (Vitaly Kuznetsov) [2009340] - KVM: x86: check for interrupts before deciding whether to exit the fast path (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: reduce ghcb_sa_len to 32 bits (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove redundant handling of bus lock vmexit (Vitaly Kuznetsov) [2009340] - KVM: x86: WARN if APIC HW/SW disable static keys are non-zero on unload (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: fix length of string I/O (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: Set guest_state_protected after VMSA update (Vitaly Kuznetsov) [2009340] - KVM: kvm_stat: do not show halt_wait_ns (Vitaly Kuznetsov) [2009340] - Revert "KVM: x86: Open code necessary bits of kvm_lapic_set_base() at vCPU RESET" (Vitaly Kuznetsov) [2009340] - KVM: s390: restore old debugfs names (Vitaly Kuznetsov) [2009340] - tools headers UAPI: Sync linux/kvm.h with the kernel sources (Vitaly Kuznetsov) [2009340] - tools headers UAPI: Synch KVM's svm.h header with the kernel (Vitaly Kuznetsov) [2009340] - KVM: selftests: introduce P44V64 for z196 and EC12 (Vitaly Kuznetsov) [2009340] - KVM: selftests: introduce P47V64 for s390x (Vitaly Kuznetsov) [2009340] - x86/sev: Use "SEV: " prefix for messages from sev.c (Vitaly Kuznetsov) [2009340] - KVM: stats: remove dead stores (Vitaly Kuznetsov) [2009340] - kvm: x86: Add AMD PMU MSRs to msrs_to_save_all[] (Vitaly Kuznetsov) [2009340] - kvm: fix objtool relocation warning (Vitaly Kuznetsov) [2009340] - KVM: selftests: Ensure all migrations are performed when test is affined (Vitaly Kuznetsov) [2009340] - KVM: x86: Swap order of CPUID entry "index" vs. "significant flag" checks (Vitaly Kuznetsov) [2009340] - x86/kvmclock: Move this_cpu_pvti into kvmclock.h (Vitaly Kuznetsov) [2009340] - selftests: KVM: Don't clobber XMM register when read (Vitaly Kuznetsov) [2009340] - KVM: VMX: Fix a TSX_CTRL_CPUID_CLEAR field mask issue (Vitaly Kuznetsov) [2009340] - selftests: KVM: Explicitly use movq to read xmm registers (Vitaly Kuznetsov) [2009340] - selftests: KVM: Call ucall_init when setting up in rseq_test (Vitaly Kuznetsov) [2009340] - KVM: X86: Synchronize the shadow pagetable before link it (Vitaly Kuznetsov) [2009340] - KVM: X86: Fix missed remote tlb flush in rmap_write_protect() (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: don't copy virt_ext from vmcb12 (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: test eax for 4K alignment for GP errata workaround (Vitaly Kuznetsov) [2009340] - KVM: x86: selftests: test simultaneous uses of V_IRQ from L1 and L0 (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: restore int_vector in svm_clear_vintr (Vitaly Kuznetsov) [2009340] - KVM: x86: nVMX: re-evaluate emulation_required on nested VM exit (Vitaly Kuznetsov) [2009340] - KVM: x86: nVMX: don't fail nested VM entry on invalid guest state if !from_vmentry (Vitaly Kuznetsov) [2009340] - KVM: x86: VMX: synthesize invalid VM exit when emulating invalid guest state (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: refactor svm_leave_smm and smm_enter_smm (Vitaly Kuznetsov) [2009340] - KVM: x86: SVM: call KVM_REQ_GET_NESTED_STATE_PAGES on exit from SMM mode (Vitaly Kuznetsov) [2009340] - KVM: x86: reset pdptrs_from_userspace when exiting smm (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: restore the L1 host state prior to resuming nested guest on SMM exit (Vitaly Kuznetsov) [2009340] - KVM: KVM: Use cpumask_available() to check for NULL cpumask when kicking vCPUs (Vitaly Kuznetsov) [2009340] - KVM: Clean up benign vcpu->cpu data races when kicking vCPUs (Vitaly Kuznetsov) [2009340] - KVM: x86: Fix stack-out-of-bounds memory access from ioapic_write_indirect() (Vitaly Kuznetsov) [2009340] - KVM: selftests: Create a separate dirty bitmap per slot (Vitaly Kuznetsov) [2009340] - KVM: SEV: Allow some commands for mirror VM (Vitaly Kuznetsov) [2009340] - KVM: SEV: Update svm_vm_copy_asid_from for SEV-ES (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Fix nested bus lock VM exit (Vitaly Kuznetsov) [2009340] - KVM: x86: Identify vCPU0 by its vcpu_idx instead of its vCPUs array entry (Vitaly Kuznetsov) [2009340] - KVM: x86: Query vcpu->vcpu_idx directly and drop its accessor (Vitaly Kuznetsov) [2009340] - kvm: fix wrong exception emulation in check_rdtsc (Vitaly Kuznetsov) [2009340] - KVM: SEV: Pin guest memory for write for RECEIVE_UPDATE_DATA (Vitaly Kuznetsov) [2009340] - KVM: SVM: fix missing sev_decommission in sev_receive_start (Vitaly Kuznetsov) [2009340] - KVM: SEV: Acquire vcpu mutex when updating VMSA (Vitaly Kuznetsov) [2009340] - KVM: do not shrink halt_poll_ns below grow_start (Vitaly Kuznetsov) [2009340] - KVM: nVMX: fix comments of handle_vmon() (Vitaly Kuznetsov) [2009340] - KVM: x86: Handle SRCU initialization failure during page track init (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove defunct "nr_active_uret_msrs" field (Vitaly Kuznetsov) [2009340] - selftests: KVM: Align SMCCC call with the spec in steal_time (Vitaly Kuznetsov) [2009340] - selftests: KVM: Fix check for !POLLIN in demand_paging_test (Vitaly Kuznetsov) [2009340] - KVM: x86: Clear KVM's cached guest CR3 at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: Mark all registers as avail/dirty at vCPU creation (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add a test for KVM_RUN+rseq to detect task migration bugs (Vitaly Kuznetsov) [2009340] - tools: Move x86 syscall number fallbacks to .../uapi/ (Vitaly Kuznetsov) [2009340] - selftests: kvm: fix get_run_delay() ignoring fscanf() return warn (Vitaly Kuznetsov) [2009340] - selftests: kvm: move get_run_delay() into lib/test_util (Vitaly Kuznetsov) [2009340] - selftests:kvm: fix get_trans_hugepagesz() ignoring fscanf() return warn (Vitaly Kuznetsov) [2009340] - selftests:kvm: fix get_warnings_count() ignoring fscanf() return warn (Vitaly Kuznetsov) [2009340] - tools: rename bitmap_alloc() to bitmap_zalloc() (Vitaly Kuznetsov) [2009340] - KVM: Drop unused kvm_dirty_gfn_invalid() (Vitaly Kuznetsov) [2009340] - KVM: MMU: mark role_regs and role accessors as maybe unused (Vitaly Kuznetsov) [2009340] - x86/kvm: Don't enable IRQ when IRQ enabled in kvm_wait (Vitaly Kuznetsov) [2009340] - KVM: stats: Add VM stat for remote tlb flush requests (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Move lpage_disallowed_link further "down" in kvm_mmu_page (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Relocate kvm_mmu_page.tdp_mmu_page for better cache locality (Vitaly Kuznetsov) [2009340] - Revert "KVM: x86: mmu: Add guest physical address check in translate_gpa()" (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove unused field mmio_cached in struct kvm_mmu_page (Vitaly Kuznetsov) [2009340] - KVM: VMX: avoid running vmx_handle_exit_irqoff in case of emulation (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Don't freak out if pml5_root is NULL on 4-level host (Vitaly Kuznetsov) [2009340] - KVM: SVM: Add 5-level page table support for SVM (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Support shadowing NPT when 5-level paging is enabled in host (Vitaly Kuznetsov) [2009340] - KVM: x86: Allow CPU to force vendor-specific TDP level (Vitaly Kuznetsov) [2009340] - KVM: x86: clamp host mapping level to max_level in kvm_mmu_max_mapping_level (Vitaly Kuznetsov) [2009340] - KVM: x86: implement KVM_GUESTDBG_BLOCKIRQ (Vitaly Kuznetsov) [2009340] - KVM: SVM: split svm_handle_invalid_exit (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Avoid collision with !PRESENT SPTEs in TDP MMU lpage stats (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove redundant spte present check in mmu_set_spte (Vitaly Kuznetsov) [2009340] - KVM: stats: Add halt polling related histogram stats (Vitaly Kuznetsov) [2009340] - KVM: stats: Add halt_wait_ns stats for all architectures (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add checks for histogram stats bucket_size field (Vitaly Kuznetsov) [2009340] - KVM: stats: Update doc for histogram statistics (Vitaly Kuznetsov) [2009340] - KVM: stats: Support linear and logarithmic histogram statistics (Vitaly Kuznetsov) [2009340] - KVM: SVM: AVIC: drop unsupported AVIC base relocation code (Vitaly Kuznetsov) [2009340] - KVM: SVM: call avic_vcpu_load/avic_vcpu_put when enabling/disabling AVIC (Vitaly Kuznetsov) [2009340] - KVM: SVM: move check for kvm_vcpu_apicv_active outside of avic_vcpu_{put|load} (Vitaly Kuznetsov) [2009340] - KVM: SVM: avoid refreshing avic if its state didn't change (Vitaly Kuznetsov) [2009340] - KVM: SVM: remove svm_toggle_avic_for_irq_window (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Deactivate APICv only when AutoEOI feature is in use (Vitaly Kuznetsov) [2009340] - KVM: SVM: add warning for mistmatch between AVIC vcpu state and AVIC inhibition (Vitaly Kuznetsov) [2009340] - KVM: x86: APICv: fix race in kvm_request_apicv_update on SVM (Vitaly Kuznetsov) [2009340] - KVM: x86: don't disable APICv memslot when inhibited (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: allow APICv memslot to be enabled but invisible (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: allow kvm_faultin_pfn to return page fault handling code (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: rename try_async_pf to kvm_faultin_pfn (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: add comment explaining arguments to kvm_zap_gfn_range (Vitaly Kuznetsov) [2009340] - KVM: Allow to have arch-specific per-vm debugfs files (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Unconditionally clear nested.pi_pending on nested VM-Enter (Vitaly Kuznetsov) [2009340] - KVM: x86: Clean up redundant ROL16(val, n) macro definition (Vitaly Kuznetsov) [2009340] - KVM: x86: Move declaration of kvm_spurious_fault() to x86.h (Vitaly Kuznetsov) [2009340] - KVM: x86: Kill off __ex() and __kvm_handle_fault_on_reboot() (Vitaly Kuznetsov) [2009340] - KVM: VMX: Hide VMCS control calculators in vmx.c (Vitaly Kuznetsov) [2009340] - KVM: VMX: Drop caching of KVM's desired sec exec controls for vmcs01 (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Pull KVM L0's desired controls directly from vmcs01 (Vitaly Kuznetsov) [2009340] - KVM: VMX: Reset DR6 only when KVM_DEBUGREG_WONT_EXIT (Vitaly Kuznetsov) [2009340] - KVM: X86: Set host DR6 only on VMX and for KVM_DEBUGREG_WONT_EXIT (Vitaly Kuznetsov) [2009340] - KVM: X86: Remove unneeded KVM_DEBUGREG_RELOAD (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Use vmx_need_pf_intercept() when deciding if L0 wants a #PF (Vitaly Kuznetsov) [2009340] - kvm: vmx: Sync all matching EPTPs when injecting nested EPT fault (Vitaly Kuznetsov) [2009340] - KVM: x86: remove dead initialization (Vitaly Kuznetsov) [2009340] - KVM: x86: Allow guest to set EFER.NX=1 on non-PAE 32-bit kernels (Vitaly Kuznetsov) [2009340] - x86: Fix typo s/ECLR/ELCR/ for the PIC register (Vitaly Kuznetsov) [2009340] - KVM: VMX: Use current VMCS to query WAITPKG support for MSR emulation (Vitaly Kuznetsov) [2009340] - KVM: selftests: Move vcpu_args_set into perf_test_util (Vitaly Kuznetsov) [2009340] - KVM: selftests: Support multiple slots in dirty_log_perf_test (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Leverage vcpu->last_used_slot for rmap_add and rmap_recycle (Vitaly Kuznetsov) [2009340] - KVM: Cache the last used slot index per vCPU (Vitaly Kuznetsov) [2009340] - KVM: Move last_used_slot logic out of search_memslots (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix per-cpu counter corruption on 32-bit builds (Vitaly Kuznetsov) [2009340] - KVM: xen: do not use struct gfn_to_hva_cache (Vitaly Kuznetsov) [2009340] - KVM: selftests: fix hyperv_clock test (Vitaly Kuznetsov) [2009340] - KVM: SVM: improve the code readability for ASID management (Vitaly Kuznetsov) [2009340] - KVM: SVM: Fix off-by-one indexing when nullifying last used SEV VMCB (Vitaly Kuznetsov) [2009340] - KVM: Do not leak memory for duplicate debugfs directories (Vitaly Kuznetsov) [2009340] - KVM: x86/pmu: Introduce pmc->is_paused to reduce the call time of perf interfaces (Vitaly Kuznetsov) [2009340] - KVM: X86: Optimize zapping rmap (Vitaly Kuznetsov) [2009340] - KVM: X86: Optimize pte_list_desc with per-array counter (Vitaly Kuznetsov) [2009340] - KVM: X86: MMU: Tune PTE_LIST_EXT to be bigger (Vitaly Kuznetsov) [2009340] - KVM: selftests: Test access to XMM fast hypercalls (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Check if guest is allowed to use XMM registers for hypercall input (Vitaly Kuznetsov) [2009340] - KVM: x86: Introduce trace_kvm_hv_hypercall_done() (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Check access to hypercall before reading XMM registers (Vitaly Kuznetsov) [2009340] - KVM: nSVM: remove useless kvm_clear_*_queue (Vitaly Kuznetsov) [2009340] - KVM: x86: Preserve guest's CR0.CD/NW on INIT (Vitaly Kuznetsov) [2009340] - KVM: SVM: Drop redundant clearing of vcpu->arch.hflags at INIT/RESET (Vitaly Kuznetsov) [2009340] - KVM: SVM: Emulate #INIT in response to triple fault shutdown (Vitaly Kuznetsov) [2009340] - KVM: VMX: Move RESET-only VMWRITE sequences to init_vmcs() (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove redundant write to set vCPU as active at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Smush x2APIC MSR bitmap adjustments into single function (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove unnecessary initialization of msr_bitmap_mode (Vitaly Kuznetsov) [2009340] - KVM: VMX: Don't redo x2APIC MSR bitmaps when userspace filter is changed (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Remove obsolete MSR bitmap refresh at nested transitions (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove obsolete MSR bitmap refresh at vCPU RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: Move setting of sregs during vCPU RESET/INIT to common x86 (Vitaly Kuznetsov) [2009340] - KVM: VMX: Don't _explicitly_ reconfigure user return MSRs on vCPU INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Refresh list of user return MSRs after setting guest CPUID (Vitaly Kuznetsov) [2009340] - KVM: VMX: Skip pointless MSR bitmap update when setting EFER (Vitaly Kuznetsov) [2009340] - KVM: SVM: Stuff save->dr6 at during VMSA sync, not at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: SVM: Drop redundant writes to vmcb->save.cr4 at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: SVM: Tweak order of cr0/cr4/efer writes at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Don't evaluate "emulation required" on nested VM-Exit (Vitaly Kuznetsov) [2009340] - KVM: VMX: Skip emulation required checks during pmode/rmode transitions (Vitaly Kuznetsov) [2009340] - KVM: VMX: Process CR0.PG side effects after setting CR0 assets (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Skip the permission_fault() check on MMIO if CR0.PG=0 (Vitaly Kuznetsov) [2009340] - KVM: VMX: Pull GUEST_CR3 from the VMCS iff CR3 load exiting is disabled (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Do not clear CR3 load/store exiting bits if L1 wants 'em (Vitaly Kuznetsov) [2009340] - KVM: VMX: Fold ept_update_paging_mode_cr0() back into vmx_set_cr0() (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove direct write to vcpu->arch.cr0 during vCPU RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Invert handling of CR0.WP for EPT without unrestricted guest (Vitaly Kuznetsov) [2009340] - KVM: SVM: Don't bother writing vmcb->save.rip at vCPU RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: Move EDX initialization at vCPU RESET to common code (Vitaly Kuznetsov) [2009340] - KVM: x86: Consolidate APIC base RESET initialization code (Vitaly Kuznetsov) [2009340] - KVM: x86: Open code necessary bits of kvm_lapic_set_base() at vCPU RESET (Vitaly Kuznetsov) [2009340] - KVM: VMX: Stuff vcpu->arch.apic_base directly at vCPU RESET (Vitaly Kuznetsov) [2009340] - KVM: x86: Set BSP bit in reset BSP vCPU's APIC base by default (Vitaly Kuznetsov) [2009340] - KVM: x86: Don't force set BSP bit when local APIC is managed by userspace (Vitaly Kuznetsov) [2009340] - KVM: x86: Migrate the PIT only if vcpu0 is migrated, not any BSP (Vitaly Kuznetsov) [2009340] - KVM: x86: Remove defunct BSP "update" in local APIC reset (Vitaly Kuznetsov) [2009340] - KVM: x86: WARN if the APIC map is dirty without an in-kernel local APIC (Vitaly Kuznetsov) [2009340] - KVM: SVM: Drop explicit MMU reset at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove explicit MMU reset in enter_rmode() (Vitaly Kuznetsov) [2009340] - KVM: SVM: Fall back to KVM's hardcoded value for EDX at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: SVM: Require exact CPUID.0x1 match when stuffing EDX at INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Set EDX at INIT with CPUID.0x1, Family-Model-Stepping (Vitaly Kuznetsov) [2009340] - KVM: SVM: Zero out GDTR.base and IDTR.base on INIT (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Set LDTR to its architecturally defined value on nested VM-Exit (Vitaly Kuznetsov) [2009340] - KVM: x86: Flush the guest's TLB on INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: APICv: drop immediate APICv disablement on current vCPU (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: fast_page_fault support for the TDP MMU (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Make walk_shadow_page_lockless_{begin,end} interoperate with the TDP MMU (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix use of enums in trace_fast_page_fault (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Rename cr2_or_gpa to gpa in fast_page_fault (Vitaly Kuznetsov) [2009340] - KVM: Introduce kvm_get_kvm_safe() (Vitaly Kuznetsov) [2009340] - x86/kvm: remove non-x86 stuff from arch/x86/kvm/ioapic.h (Vitaly Kuznetsov) [2009340] - KVM: X86: Add per-vm stat for max rmap list size (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Return old SPTE from mmu_spte_clear_track_bits() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Refactor shadow walk in __direct_map() to reduce indentation (Vitaly Kuznetsov) [2009340] - KVM: x86: Hoist kvm_dirty_regs check out of sync_regs() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Mark VM as bugged if page fault returns RET_PF_INVALID (Vitaly Kuznetsov) [2009340] - KVM: x86: Use KVM_BUG/KVM_BUG_ON to handle bugs that are fatal to the VM (Vitaly Kuznetsov) [2009340] - KVM: Export kvm_make_all_cpus_request() for use in marking VMs as bugged (Vitaly Kuznetsov) [2009340] - KVM: Add infrastructure and macro to mark VM as bugged (Vitaly Kuznetsov) [2009340] - KVM: Get rid of kvm_get_pfn() (Vitaly Kuznetsov) [2009340] - KVM: arm64: Use get_page() instead of kvm_get_pfn() (Vitaly Kuznetsov) [2009340] - KVM: x86: accept userspace interrupt only if no event is injected (Vitaly Kuznetsov) [2009340] - KVM: add missing compat KVM_CLEAR_DIRTY_LOG (Vitaly Kuznetsov) [2009340] - KVM: use cpu_relax when halt polling (Vitaly Kuznetsov) [2009340] - KVM: SVM: use vmcb01 in svm_refresh_apicv_exec_ctrl (Vitaly Kuznetsov) [2009340] - KVM: SVM: tweak warning about enabled AVIC on nested entry (Vitaly Kuznetsov) [2009340] - KVM: SVM: svm_set_vintr don't warn if AVIC is active but is about to be deactivated (Vitaly Kuznetsov) [2009340] - KVM: SVM: delay svm_vcpu_init_msrpm after svm->vmcb is initialized (Vitaly Kuznetsov) [2009340] - KVM: selftests: Introduce access_tracking_perf_test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix missing break in dirty_log_perf_test arg parsing (Vitaly Kuznetsov) [2009340] - x86/kvm: fix vcpu-id indexed array sizes (Vitaly Kuznetsov) [2009340] - KVM: x86: Check the right feature bit for MSR_KVM_ASYNC_PF_ACK access (Vitaly Kuznetsov) [2009340] - KVM: Documentation: Fix KVM_CAP_ENFORCE_PV_FEATURE_CPUID name (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Swap the parameter order for svm_copy_vmrun_state()/svm_copy_vmloadsave_state() (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Rename nested_svm_vmloadsave() to svm_copy_vmloadsave_state() (Vitaly Kuznetsov) [2009340] - docs: virt: kvm: api.rst: replace some characters (Vitaly Kuznetsov) [2009340] - docs: kvm: properly format code blocks and lists (Vitaly Kuznetsov) [2009340] - docs: kvm: fix build warnings (Vitaly Kuznetsov) [2009340] - KVM: selftests: Address extra memslot parameters in vm_vaddr_alloc (Vitaly Kuznetsov) [2009340] - kvm: debugfs: fix memory leak in kvm_create_vm_debugfs (Vitaly Kuznetsov) [2009340] - Revert "KVM: x86: WARN and reject loading KVM if NX is supported but not enabled" (Vitaly Kuznetsov) [2009340] - KVM: selftests: x86: Address missing vm_install_exception_handler conversions (Vitaly Kuznetsov) [2009340] - KVM: selftests: change pthread_yield to sched_yield (Vitaly Kuznetsov) [2009340] - KVM: x86: rename apic_access_page_done to apic_access_memslot_enabled (Vitaly Kuznetsov) [2009340] - kvm: x86: disable the narrow guest module parameter on unload (Vitaly Kuznetsov) [2009340] - selftests: kvm: Allows userspace to handle emulation errors. (Vitaly Kuznetsov) [2009340] - kvm: x86: Allow userspace to handle emulation errors (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Let guest use GBPAGES if supported in hardware and TDP is on (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Get CR4.SMEP from MMU, not vCPU, in shadow page fault (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Get CR0.WP from MMU, not vCPU, in shadow page fault (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop redundant rsvd bits reset for nested NPT (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Optimize and clean up so called "last nonleaf level" logic (Vitaly Kuznetsov) [2009340] - KVM: x86: Enhance comments for MMU roles and nested transition trickiness (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: WARN on any reserved SPTE value when making a valid SPTE (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add helpers to do full reserved SPTE checks w/ generic MMU (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to determine PTTYPE (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Collapse 32-bit PAE and 64-bit statements for helpers (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add a helper to calculate root from role_regs (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add helper to update paging metadata (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Don't update nested guest's paging bitmasks if CR0.PG=0 (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Consolidate reset_rsvds_bits_mask() calls (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU role_regs to get LA57, and drop vCPU LA57 helper (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Get nested MMU's root level from the MMU's role (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop "nx" from MMU context now that there are no readers (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to get EFER.NX during MMU configuration (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role/role_regs to compute context's metadata (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to detect EFER.NX in guest page walk (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's roles to compute last non-leaf level (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to compute PKRU bitmask (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to compute permission bitmask (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop vCPU param from reserved bits calculator (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to get CR4.PSE for computing rsvd bits (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Don't grab CR4.PSE for calculating shadow reserved bits (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Always set new mmu_role immediately after checking old role (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Set CR4.PKE/LA57 in MMU role iff long mode is active (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Do not set paging-related bits in MMU role if CR0.PG=0 (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add accessors to query mmu_role bits (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Rename "nxe" role bit to "efer_nx" for macro shenanigans (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role_regs, not vCPU state, to compute mmu_role (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Ignore CR0 and CR4 bits in nested EPT MMU role (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Consolidate misc updates into shadow_mmu_init_context() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add struct and helpers to retrieve MMU role bits from regs (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Grab shadow root level from mmu_role for shadow MMUs (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Move nested NPT reserved bit calculation into MMU proper (Vitaly Kuznetsov) [2009340] - KVM: x86: Read and pass all CR0/CR4 role bits to shadow MMU helper (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop smep_andnot_wp check from "uses NX" for shadow MMUs (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Add a comment to document why nNPT uses vmcb01, not vCPU state (Vitaly Kuznetsov) [2009340] - KVM: x86: Fix sizes used to pass around CR0, CR4, and EFER (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Rename unsync helper and update related comments (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop the intermediate "transient" __kvm_sync_page() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: comment on kvm_mmu_get_page's syncing of pages (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: WARN and zap SP when sync'ing if MMU role mismatches (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU role to check for matching guest page sizes (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Unconditionally zap unsync SPs when creating >4k SP at GFN (Vitaly Kuznetsov) [2009340] - Revert "KVM: MMU: record maximum physical address width in kvm_mmu_extended_role" (Vitaly Kuznetsov) [2009340] - KVM: x86: Alert userspace that KVM_SET_CPUID{,2} after KVM_RUN is broken (Vitaly Kuznetsov) [2009340] - KVM: debugfs: Reuse binary stats descriptors (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add selftest for KVM statistics data binary interface (Vitaly Kuznetsov) [2009340] - KVM: stats: Add documentation for binary statistics interface (Vitaly Kuznetsov) [2009340] - KVM: stats: Support binary stats retrieval for a VCPU (Vitaly Kuznetsov) [2009340] - KVM: stats: Support binary stats retrieval for a VM (Vitaly Kuznetsov) [2009340] - KVM: stats: Add fd-based API to read binary stats data (Vitaly Kuznetsov) [2009340] - KVM: stats: Separate generic stats from architecture specific ones (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Don't WARN on a NULL shadow page in TDP MMU check (Vitaly Kuznetsov) [2009340] - KVM: sefltests: Add x86-64 test to verify MMU reacts to CPUID updates (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add hugepage support for x86-64 (Vitaly Kuznetsov) [2009340] - KVM: selftests: Genericize upper level page table entry struct (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add PTE helper for x86-64 in preparation for hugepages (Vitaly Kuznetsov) [2009340] - KVM: selftests: Rename x86's page table "address" to "pfn" (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add wrapper to allocate page table page (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally allocate EPT tables in memslot 0 (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally use memslot '0' for page table allocations (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally use memslot 0 for vaddr allocations (Vitaly Kuznetsov) [2009340] - KVM: selftests: Use "standard" min virtual address for CPUID test alloc (Vitaly Kuznetsov) [2009340] - KVM: selftests: Use alloc page helper for xAPIC IPI test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Use alloc_page helper for x86-64's GDT/IDT/TSS allocations (Vitaly Kuznetsov) [2009340] - KVM: selftests: Lower the min virtual address for misc page allocations (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add helpers to allocate N pages of virtual memory (Vitaly Kuznetsov) [2009340] - KVM: selftests: Use "standard" min virtual address for Hyper-V pages (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally use memslot 0 for x86's GDT/TSS setup (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally use memslot 0 when loading elf binary (Vitaly Kuznetsov) [2009340] - KVM: selftests: Zero out the correct page in the Hyper-V features test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Remove errant asm/barrier.h include to fix arm64 build (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix uninitialized boolean variable flush (Vitaly Kuznetsov) [2009340] - KVM: selftests: fix triple fault if ept=0 in dirty_log_test (Vitaly Kuznetsov) [2009340] - KVM: x86: Print CPU of last attempted VM-entry when dumping VMCS/VMCB (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Dynamically compute max VMCS index for vmcs12 (Vitaly Kuznetsov) [2009340] - KVM: VMX: Skip #PF(RSVD) intercepts when emulating smaller maxphyaddr (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove redundant root_hpa checks (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Refactor is_tdp_mmu_root into is_tdp_mmu (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove redundant is_tdp_mmu_enabled check (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove redundant is_tdp_mmu_root check (Vitaly Kuznetsov) [2009340] - KVM: x86: Stub out is_tdp_mmu_root on 32-bit hosts (Vitaly Kuznetsov) [2009340] - KVM: x86: WARN and reject loading KVM if NX is supported but not enabled (Vitaly Kuznetsov) [2009340] - KVM: SVM: Refuse to load kvm_amd if NX support is not available (Vitaly Kuznetsov) [2009340] - KVM: VMX: Refuse to load kvm_intel if EPT and NX are disabled (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix TDP MMU page table level (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix pf_fixed count in tdp_mmu_map_handle_target_level() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix return value in tdp_mmu_map_handle_target_level() (Vitaly Kuznetsov) [2009340] - KVM: LAPIC: Keep stored TMCCT register value 0 after KVM_SET_LAPIC (Vitaly Kuznetsov) [2009340] - KVM: X86: Introduce KVM_HC_MAP_GPA_RANGE hypercall (Vitaly Kuznetsov) [2009340] - KVM: switch per-VM stats to u64 (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Grab nx_lpage_splits as an unsigned long before division (Vitaly Kuznetsov) [2009340] - KVM: x86: Check for pending interrupts when APICv is getting disabled (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Drop redundant checks on vmcs12 in EPTP switching emulation (Vitaly Kuznetsov) [2009340] - KVM: nVMX: WARN if subtly-impossible VMFUNC conditions occur (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop pointless @reset_roots from kvm_init_mmu() (Vitaly Kuznetsov) [2009340] - KVM: x86: Defer MMU sync on PCID invalidation (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Use fast PGD switch when emulating VMFUNC[EPTP_SWITCH] (Vitaly Kuznetsov) [2009340] - KVM: x86: Use KVM_REQ_TLB_FLUSH_GUEST to handle INVPCID(ALL) emulation (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Free only guest_mode (L2) roots on INVVPID w/o EPT (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Consolidate VM-Enter/VM-Exit TLB flush and MMU sync logic (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop skip MMU sync and TLB flush params from "new PGD" helpers (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Move TLB flushing logic (or lack thereof) to dedicated helper (Vitaly Kuznetsov) [2009340] - KVM: x86: Uncondtionally skip MMU sync/TLB flush in MOV CR3's PGD switch (Vitaly Kuznetsov) [2009340] - KVM: x86: Invalidate all PGDs for the current PCID on MOV CR3 w/ flush (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Don't clobber nested MMU's A/D status on EPTP switch (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Ensure 64-bit shift when checking VMFUNC bitmap (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Sync all PGDs on nested transition with shadow paging (Vitaly Kuznetsov) [2009340] - KVM: x86: avoid loading PDPTRs after migration when possible (Vitaly Kuznetsov) [2009340] - KVM: x86: Introduce KVM_GET_SREGS2 / KVM_SET_SREGS2 (Vitaly Kuznetsov) [2009340] - KVM: x86: introduce kvm_register_clear_available (Vitaly Kuznetsov) [2009340] - KVM: nVMX: delay loading of PDPTRs to KVM_REQ_GET_NESTED_STATE_PAGES (Vitaly Kuznetsov) [2009340] - KVM: nSVM: refactor the CR3 reload on migration (Vitaly Kuznetsov) [2009340] - KVM: x86: Always load PDPTRs on CR3 load for SVM w/o NPT and a PAE guest (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Drop pointless pdptrs_changed() check on nested transition (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Drop obsolete (and pointless) pdptrs_changed() check (Vitaly Kuznetsov) [2009340] - KVM: selftests: Introduce hyperv_features test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Move evmcs.h to x86_64/ (Vitaly Kuznetsov) [2009340] - KVM: selftests: move Hyper-V MSR definitions to hyperv.h (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_X64_CLUSTER_IPI_RECOMMENDED bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_DEBUGGING privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_SIGNAL_EVENTS privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_POST_MESSAGES privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Check access to HVCALL_NOTIFY_LONG_SPIN_WAIT hypercall (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Prepare to check access to Hyper-V hypercalls (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_STIMER_DIRECT_MODE_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Inverse the default in hv_check_msr_access() (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_FEATURE_DEBUG_MSRS_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_ACCESS_REENLIGHTENMENT privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_ACCESS_FREQUENCY_MSRS privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_APIC_ACCESS_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_SYNTIMER_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_SYNIC_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_REFERENCE_TSC_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_RESET_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_VP_INDEX_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_TIME_REF_COUNT_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_VP_RUNTIME_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_HYPERCALL_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Prepare to check access to Hyper-V MSRs (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Cache guest CPUID leaves determining features availability (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Introduce KVM_CAP_HYPERV_ENFORCE_CPUID (Vitaly Kuznetsov) [2009340] - asm-generic/hyperv: add HV_STATUS_ACCESS_DENIED definition (Vitaly Kuznetsov) [2009340] - KVM: SVM: hyper-v: Direct Virtual Flush support (Vitaly Kuznetsov) [2009340] - KVM: SVM: hyper-v: Enlightened MSR-Bitmap support (Vitaly Kuznetsov) [2009340] - KVM: SVM: hyper-v: Remote TLB flush for SVM (Vitaly Kuznetsov) [2009340] - KVM: SVM: Software reserved fields (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Move the remote TLB flush logic out of vmx (Vitaly Kuznetsov) [2009340] - KVM: nVMX: nSVM: Add a new VCPU statistic to show if VCPU is in guest mode (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop "pre_" from enter/leave_smm() helpers (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop .post_leave_smm(), i.e. the manual post-RSM MMU reset (Vitaly Kuznetsov) [2009340] - KVM: x86: Rename SMM tracepoint to make it reflect reality (Vitaly Kuznetsov) [2009340] - KVM: x86: Move "entering SMM" tracepoint into kvm_smm_changed() (Vitaly Kuznetsov) [2009340] - KVM: x86: Move (most) SMM hflags modifications into kvm_smm_changed() (Vitaly Kuznetsov) [2009340] - KVM: x86: Invoke kvm_smm_changed() immediately after clearing SMM flag (Vitaly Kuznetsov) [2009340] - KVM: x86: Replace .set_hflags() with dedicated .exiting_smm() helper (Vitaly Kuznetsov) [2009340] - KVM: x86: Emulate triple fault shutdown if RSM emulation fails (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop vendor specific functions for APICv/AVIC enablement (Vitaly Kuznetsov) [2009340] - KVM: x86: Use common 'enable_apicv' variable for both APICv and AVIC (Vitaly Kuznetsov) [2009340] - kvm: x86: implement KVM PM-notifier (Vitaly Kuznetsov) [2009340] - kvm: add PM-notifier (Vitaly Kuznetsov) [2009340] - KVM: selftests: Introduce x2APIC register manipulation functions (Vitaly Kuznetsov) [2009340] - KVM: selftests: Hoist APIC functions out of individual tests (Vitaly Kuznetsov) [2009340] - KVM: selftests: Move APIC definitions into a separate file (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Disable vmcs02 posted interrupts if vmcs12 PID isn't mappable (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Fail on MMIO completion for nested posted interrupts (Vitaly Kuznetsov) [2009340] - KVM: x86: Add a return code to kvm_apic_accept_events (Vitaly Kuznetsov) [2009340] - KVM: x86: Add a return code to inject_pending_event (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Add a return code to vmx_complete_nested_posted_interrupt (Vitaly Kuznetsov) [2009340] - KVM: x86: Remove guest mode check from kvm_check_nested_events (Vitaly Kuznetsov) [2009340] - KVM: selftests: x86: Add vmx_nested_tsc_scaling_test (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Enable nested TSC scaling (Vitaly Kuznetsov) [2009340] - KVM: X86: Add vendor callbacks for writing the TSC multiplier (Vitaly Kuznetsov) [2009340] - KVM: X86: Move write_l1_tsc_offset() logic to common code and rename it (Vitaly Kuznetsov) [2009340] - KVM: X86: Add functions that calculate the nested TSC fields (Vitaly Kuznetsov) [2009340] - KVM: X86: Add functions for retrieving L2 TSC fields from common code (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Add a TSC multiplier field in VMCS12 (Vitaly Kuznetsov) [2009340] - KVM: X86: Add a ratio parameter to kvm_scale_tsc() (Vitaly Kuznetsov) [2009340] - KVM: X86: Rename kvm_compute_tsc_offset() to kvm_compute_l1_tsc_offset() (Vitaly Kuznetsov) [2009340] - KVM: X86: Store L1's TSC scaling ratio in 'struct kvm_vcpu_arch' (Vitaly Kuznetsov) [2009340] - math64.h: Add mul_s64_u64_shr() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add a field to control memslot rmap allocation (Vitaly Kuznetsov) [2009340] - KVM: mmu: Add slots_arch_lock for memslot arch fields (Vitaly Kuznetsov) [2009340] - KVM: mmu: Refactor memslot copy (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Factor out allocating memslot rmap (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Deduplicate rmap freeing (Vitaly Kuznetsov) [2009340] - KVM: x86: Do not write protect huge page in initially-all-set mode (Vitaly Kuznetsov) [2009340] - KVM: x86: Support write protecting only large pages (Vitaly Kuznetsov) [2009340] - KVM: hyper-v: Advertise support for fast XMM hypercalls (Vitaly Kuznetsov) [2009340] - KVM: x86: kvm_hv_flush_tlb use inputs from XMM registers (Vitaly Kuznetsov) [2009340] - KVM: hyper-v: Collect hypercall params into struct (Vitaly Kuznetsov) [2009340] - KVM: x86: Move FPU register accessors into fpu.h (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Make is_nx_huge_page_enabled an inline function (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix kvm_check_cap() assertion (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add aarch64/debug-exceptions test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add exception handling support for aarch64 (Vitaly Kuznetsov) [2009340] - KVM: selftests: Move GUEST_ASSERT_EQ to utils header (Vitaly Kuznetsov) [2009340] - KVM: selftests: Introduce UCALL_UNHANDLED for unhandled vector reporting (Vitaly Kuznetsov) [2009340] - KVM: selftests: Complete x86_64/sync_regs_test ucall (Vitaly Kuznetsov) [2009340] - KVM: selftests: Rename vm_handle_exception (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix compiling errors when initializing the static structure (Vitaly Kuznetsov) [2009340] - selftests: kvm: Add support for customized slot0 memory size (Vitaly Kuznetsov) [2009340] - selftests: kvm: fix overlapping addresses in memslot_perf_test (Vitaly Kuznetsov) [2009340] - selftests: kvm: do only 1 memslot_perf_test run by default (Vitaly Kuznetsov) [2009340] - KVM: X86: Use _BITUL() macro in UAPI headers (Vitaly Kuznetsov) [2009340] - KVM: selftests: create alias mappings when using shared memory (Vitaly Kuznetsov) [2009340] - KVM: selftests: add shmem backing source type (Vitaly Kuznetsov) [2009340] - KVM: selftests: refactor vm_mem_backing_src_type flags (Vitaly Kuznetsov) [2009340] - KVM: selftests: allow different backing source types (Vitaly Kuznetsov) [2009340] - KVM: selftests: compute correct demand paging size (Vitaly Kuznetsov) [2009340] - KVM: selftests: simplify setup_demand_paging error handling (Vitaly Kuznetsov) [2009340] - KVM: selftests: Print a message if /dev/kvm is missing (Vitaly Kuznetsov) [2009340] - KVM: selftests: trivial comment/logging fixes (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix hang in hardware_disable_test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Ignore CPUID.0DH.1H in get_cpuid_test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix 32-bit truncation of vm_get_max_gfn() (Vitaly Kuznetsov) [2009340] - KVM: selftests: add a memslot-related performance benchmark (Vitaly Kuznetsov) [2009340] - KVM: selftests: Keep track of memslots more efficiently (Vitaly Kuznetsov) [2009340] - selftests: kvm: fix potential issue with ELF loading (Vitaly Kuznetsov) [2009340] - selftests: kvm: make allocation of extra memory take effect (Vitaly Kuznetsov) [2009340] - docs: virt: api.rst: fix a pointer to SGX documentation (Vitaly Kuznetsov) [2009340] - docs: vcpu-requests.rst: fix reference for atomic ops (Vitaly Kuznetsov) [2009340] - x86/msr: Rename MSR_K8_SYSCFG to MSR_AMD64_SYSCFG (Vitaly Kuznetsov) [2009340] - x86/sev: Move GHCB MSR protocol and NAE definitions in a common header (Vitaly Kuznetsov) [2009340] - x86/sev-es: Rename sev-es.{ch} to sev.{ch} (Vitaly Kuznetsov) [2009340] - x86/sev-es: Replace open-coded hlt-loops with sev_es_terminate() (Vitaly Kuznetsov) [2009340] - tools/kvm_stat: Fix documentation typo (Vitaly Kuznetsov) [2009340] - KVM: x86: Hide RDTSCP and RDPID if MSR_TSC_AUX probing failed (Vitaly Kuznetsov) [2009340] - KVM: x86: Tie Intel and AMD behavior for MSR_TSC_AUX to guest CPU model (Vitaly Kuznetsov) [2009340] - KVM: x86: Move uret MSR slot management to common x86 (Vitaly Kuznetsov) [2009340] - KVM: x86: Export the number of uret MSRs to vendor modules (Vitaly Kuznetsov) [2009340] - KVM: VMX: Disable loading of TSX_CTRL MSR the more conventional way (Vitaly Kuznetsov) [2009340] - KVM: VMX: Use common x86's uret MSR list as the one true list (Vitaly Kuznetsov) [2009340] - KVM: VMX: Use flag to indicate "active" uret MSRs instead of sorting list (Vitaly Kuznetsov) [2009340] - KVM: VMX: Configure list of user return MSRs at module init (Vitaly Kuznetsov) [2009340] - KVM: x86: Add support for RDPID without RDTSCP (Vitaly Kuznetsov) [2009340] - selftests: kvm: remove reassignment of non-absolute variables (Vitaly Kuznetsov) [2009340] - doc/kvm: Fix wrong entry for KVM_CAP_X86_MSR_FILTER (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix kdoc of __handle_changed_spte (Vitaly Kuznetsov) [2009340] - KVM: documentation: fix sphinx warnings (Vitaly Kuznetsov) [2009340] - KVM: x86: document behavior of measurement ioctls with len==0 (Vitaly Kuznetsov) [2009340] - documentation/kvm: additional explanations on KVM_SET_BOOT_CPU_ID (Vitaly Kuznetsov) [2009340] - docs: kvm: Fix a typo ("althought") (Vitaly Kuznetsov) [2009340] - KVM: move EXIT_FASTPATH_REENTER_GUEST to common code (Vitaly Kuznetsov) [2009340] - mm, kvm: account kvm_vcpu_mmap to kmemcg (Vitaly Kuznetsov) [2009340] - x86/kvm: Use msi_msg shadow structs (Vitaly Kuznetsov) [2009340] - ceph: fix up non-directory creation in SGID directories (Jeffrey Layton) [2017796] - ceph: initialize pathlen variable in reconnect_caps_cb (Jeffrey Layton) [2017796] - ceph: initialize i_size variable in ceph_sync_read (Jeffrey Layton) [2017796] - ceph: fix duplicate increment of opened_inodes metric (Jeffrey Layton) [2017796] - ceph: add a new metric to keep track of remote object copies (Jeffrey Layton) [2017796] - libceph, ceph: move ceph_osdc_copy_from() into cephfs code (Jeffrey Layton) [2017796] - ceph: clean-up metrics data structures to reduce code duplication (Jeffrey Layton) [2017796] - ceph: split 'metric' debugfs file into several files (Jeffrey Layton) [2017796] - ceph: return the real size read when it hits EOF (Jeffrey Layton) [2017796] - ceph: properly handle statfs on multifs setups (Jeffrey Layton) [2017796] - ceph: shut down mount on bad mdsmap or fsmap decode (Jeffrey Layton) [2017796] - ceph: fix mdsmap decode when there are MDS's beyond max_mds (Jeffrey Layton) [2017796] - ceph: ignore the truncate when size won't change with Fx caps issued (Jeffrey Layton) [2017796] - ceph: don't rely on error_string to validate blocklisted session. (Jeffrey Layton) [2017796] - ceph: just use ci->i_version for fscache aux info (Jeffrey Layton) [2017796] - ceph: shut down access to inode when async create fails (Jeffrey Layton) [2017796] - ceph: refactor remove_session_caps_cb (Jeffrey Layton) [2017796] - ceph: fix auth cap handling logic in remove_session_caps_cb (Jeffrey Layton) [2017796] - ceph: drop private list from remove_session_caps_cb (Jeffrey Layton) [2017796] - ceph: don't use -ESTALE as special return code in try_get_cap_refs (Jeffrey Layton) [2017796] - ceph: print inode numbers instead of pointer values (Jeffrey Layton) [2017796] - ceph: enable async dirops by default (Jeffrey Layton) [2017796] - libceph: drop ->monmap and err initialization (Jeffrey Layton) [2017796] - ceph: convert to noop_direct_IO (Jeffrey Layton) [2017796] - ceph: fix off by one bugs in unsafe_request_wait() (Jeffrey Layton) [2017796] - ceph: fix handling of "meta" errors (Jeffrey Layton) [2017796] - ceph: drop the mdsc_get_session/put_session dout messages (Jeffrey Layton) [2017796] - ceph: lockdep annotations for try_nonblocking_invalidate (Jeffrey Layton) [2017796] - ceph: don't WARN if we're forcibly removing the session caps (Jeffrey Layton) [2017796] - ceph: don't WARN if we're force umounting (Jeffrey Layton) [2017796] - ceph: remove the capsnaps when removing caps (Jeffrey Layton) [2017796] - ceph: request Fw caps before updating the mtime in ceph_write_iter (Jeffrey Layton) [2017796] - ceph: reconnect to the export targets on new mdsmaps (Jeffrey Layton) [2017796] - ceph: print more information when we can't find snaprealm (Jeffrey Layton) [2017796] - ceph: add ceph_change_snap_realm() helper (Jeffrey Layton) [2017796] - ceph: remove redundant initializations from mdsc and session (Jeffrey Layton) [2017796] - ceph: cancel delayed work instead of flushing on mdsc teardown (Jeffrey Layton) [2017796] - ceph: add a new vxattr to return auth mds for an inode (Jeffrey Layton) [2017796] - ceph: flush the mdlog before waiting on unsafe reqs (Jeffrey Layton) [2017796] - ceph: flush mdlog before umounting (Jeffrey Layton) [2017796] - ceph: make iterate_sessions a global symbol (Jeffrey Layton) [2017796] - ceph: make ceph_create_session_msg a global symbol (Jeffrey Layton) [2017796] - ceph: fix comment about short copies in ceph_write_end (Jeffrey Layton) [2017796] - ceph: fix memory leak on decode error in ceph_handle_caps (Jeffrey Layton) [2017796] - RDMA/irdma: Fix a potential memory allocation issue in 'irdma_prm_add_pble_mem()' (Kamal Heib) [1970672] - RDMA/irdma: Don't arm the CQ more than two times if no CE for this CQ (Kamal Heib) [1970672] - RDMA/irdma: Fix a user-after-free in add_pble_prm (Kamal Heib) [1970672] - RDMA/irdma: Report correct WC errors (Kamal Heib) [1970672] - RDMA/irdma: Do not hold qos mutex twice on QP resume (Kamal Heib) [1970672] - RDMA/irdma: Set VLAN in UD work completion correctly (Kamal Heib) [1970672] - RDMA/irdma: Process extended CQ entries correctly (Kamal Heib) [1970672] - RDMA/irdma: Report correct WC error when there are MW bind errors (Kamal Heib) [1970672] - RDMA/irdma: Report correct WC error when transport retry counter is exceeded (Kamal Heib) [1970672] - RDMA/irdma: Validate number of CQ entries on create CQ (Kamal Heib) [1970672] - RDMA/irdma: Skip CQP ring during a reset (Kamal Heib) [1970672] - RDMA/irdma: Remove the repeated declaration (Kamal Heib) [1970672] - RDMA/irdma: Use correct kconfig symbol for AUXILIARY_BUS (Kamal Heib) [1970672] - RDMA/irdma: Change returned type of irdma_setup_virt_qp to void (Kamal Heib) [1970672] - RDMA/irdma: Change the returned type of irdma_set_hw_rsrc to void (Kamal Heib) [1970672] - RDMA/irdma: change the returned type of irdma_sc_repost_aeq_entries to void (Kamal Heib) [1970672] - RDMA/irdma: Check vsi pointer before using it (Kamal Heib) [1970672] - RDMA/irdma: Change the returned type to void (Kamal Heib) [1970672] - RDMA/irdma: Make spdxcheck.py happy (Kamal Heib) [1970672] - RDMA/irdma: Fix unused variable total_size warning (Kamal Heib) [1970672] - RDMA/irdma: Fix potential overflow expression in irdma_prm_get_pbles (Kamal Heib) [1970672] - RDMA/irdma: Check contents of user-space irdma_mem_reg_req object (Kamal Heib) [1970672] - RDMA/irdma: Remove use of kmap() (Kamal Heib) [1970672] - RDMA/irdma: Use the queried port attributes (Kamal Heib) [1970672] - RDMA/irdma: Check return value from ib_umem_find_best_pgsz (Kamal Heib) [1970672] - RDMA: Split the alloc_hw_stats() ops to port and device variants (Kamal Heib) [1970672] - RDMA/irdma: Store PBL info address a pointer type (Kamal Heib) [1970672] - RDMA/irdma: Use list_last_entry/list_first_entry (Kamal Heib) [1970672] - RDMA/irdma: Use list_move instead of list_del/list_add (Kamal Heib) [1970672] - RDMA/irdma: Fix return error sign from irdma_modify_qp (Kamal Heib) [1970672] - RDMA/irdma: Fix spelling mistake "Allocal" -> "Allocate" (Kamal Heib) [1970672] - RDMA/irdma: remove redundant initialization of variable val (Kamal Heib) [1970672] - RDMA/irdma: remove extraneous indentation on a statement (Kamal Heib) [1970672] - RDMA/irdma: Fix issues with u8 left shift operation (Kamal Heib) [1970672] - RDMA/irdma: Add irdma Kconfig/Makefile and remove i40iw (Kamal Heib) [1970672] - RDMA/irdma: Add ABI definitions (Kamal Heib) [1970672] - RDMA/irdma: Add dynamic tracing for CM (Kamal Heib) [1970672] - RDMA/irdma: Add miscellaneous utility definitions (Kamal Heib) [1970672] - RDMA/irdma: Add user/kernel shared libraries (Kamal Heib) [1970672] - RDMA/irdma: Add RoCEv2 UD OP support (Kamal Heib) [1970672] - RDMA/irdma: Implement device supported verb APIs (Kamal Heib) [1970672] - RDMA/irdma: Add PBLE resource manager (Kamal Heib) [1970672] - RDMA/irdma: Add connection manager (Kamal Heib) [1970672] - RDMA/irdma: Add QoS definitions (Kamal Heib) [1970672] - RDMA/irdma: Add privileged UDA queue implementation (Kamal Heib) [1970672] - RDMA/irdma: Add HMC backing store setup functions (Kamal Heib) [1970672] - RDMA/irdma: Implement HW Admin Queue OPs (Kamal Heib) [1970672] - RDMA/irdma: Implement device initialization definitions (Kamal Heib) [1970672] - RDMA/irdma: Register auxiliary driver and implement private channel OPs (Kamal Heib) [1970672] - i40e: Register auxiliary devices to provide RDMA (Kamal Heib) [1970672] - i40e: Prep i40e header for aux bus conversion (Kamal Heib) [1970672] - i40e: Replace one-element array with flexible-array member (Kamal Heib) [1970672] - ibmvnic: drop bad optimization in reuse_tx_pools() (Gustavo Walbon) [2028722] - ibmvnic: drop bad optimization in reuse_rx_pools() (Gustavo Walbon) [2028722] - /proc//cmdline: add back the setproctitle() special case (Ian Kent) [1979446] - /proc//cmdline: remove all the special cases (Ian Kent) [1979446] - perf tests vmlinux-kallsyms: Ignore hidden symbols (Michael Petlan) [1903157] - net/sched: sch_ets: don't remove idle classes from the round-robin list (Davide Caratti) [2013073] - net/sched: sch_ets: don't peek at classes beyond 'nbands' (Davide Caratti) [2013073] - net/sched: sch_ets: properly init all active DRR list handles (Davide Caratti) [2013073] - serial: 8250: fix racy uartclk update (Puneet Sethi) [1784121] - serial: 8250: Skip uninitialized TTY port baud rate update (Puneet Sethi) [1784121] - serial: 8250: Discard RTS/DTS setting from clock update method (Puneet Sethi) [1784121] - serial: 8250: Add 8250 port clock update method (Puneet Sethi) [1784121] - serial: 8250_dw: drop bogus uartclk optimisation (Puneet Sethi) [1784121] - serial: 8250_lpss: Enable PSE UART Auto Flow Control (Puneet Sethi) [1784121] - serial: 8250_lpss: Extract dw8250_do_set_termios() for common use (Puneet Sethi) [1784121] - serial: 8250_dw: Fix the trivial typo in the comment (Puneet Sethi) [1784121] - serial: 8250_dw: Re-use temporary variable for of_node (Puneet Sethi) [1784121] - serial: 8250_dw: Drop wrong use of ACPI_PTR() (Puneet Sethi) [1784121] - serial: 8250_lpss: Enable DMA on Intel Elkhart Lake (Puneet Sethi) [1784121] - serial: 8250_dw: Add device HID for new AMD UART controller (Puneet Sethi) [1784121] - serial: 8250_dw: Fix clk-notifier/port suspend deadlock (Puneet Sethi) [1784121] - serial: 8250_dw: Fix common clocks usage race condition (Puneet Sethi) [1784121] - serial: 8250_dw: Pass the same rate to the clk round and set rate methods (Puneet Sethi) [1784121] - serial: 8250_dw: Simplify the ref clock rate setting procedure (Puneet Sethi) [1784121] - serial: 8250_dw: Use devm_clk_get_optional() to get the input clock (Puneet Sethi) [1784121] - serial: 8250_dw: Avoid double error messaging when IRQ absent (Puneet Sethi) [1784121] - serial: 8250_dw: switch to use 8250_dwlib library (Puneet Sethi) [1784121] - serial: 8250_dw: use pointer to uart local variable (Puneet Sethi) [1784121] - serial: 8250_dw: Use a unified new dev variable in remove (Puneet Sethi) [1784121] - serial: 8250_dw: always set baud rate in dw8250_set_termios (Puneet Sethi) [1784121] - serial: 8250_dw: add fractional divisor support (Puneet Sethi) [1784121] - serial: 8250_dw: Introduce IO accessors to extended registers (Puneet Sethi) [1784121] - dmaengine: dw: Program xBAR hardware for Elkhart Lake (Puneet Sethi) [1784121] - dmaengine: dw: Make it dependent to HAS_IOMEM (Puneet Sethi) [1784121] - dmaengine dw: Revert "dmaengine: dw: Enable runtime PM" (Puneet Sethi) [1784121] - dmaengine: dw: Enable runtime PM (Puneet Sethi) [1784121] - dmaengine: dw: Add DMA-channels mask cell support (Puneet Sethi) [1784121] - dmaengine: dw: Ignore burst setting for memory peripherals (Puneet Sethi) [1784121] - dmaengine: dw: Discard dlen from the dev-to-mem xfer width calculation (Puneet Sethi) [1784121] - dmaengine: dw: Activate FIFO-mode for memory peripherals only (Puneet Sethi) [1784121] - dmaengine: dw: Initialize max_sg_burst capability (Puneet Sethi) [1784121] - dmaengine: dw: Introduce max burst length hw config (Puneet Sethi) [1784121] - dmaengine: dw: Initialize min and max burst DMA device capability (Puneet Sethi) [1784121] - dmaengine: dw: Set DMA device max segment size parameter (Puneet Sethi) [1784121] - dmaengine: dw: Take HC_LLP flag into account for noLLP auto-config (Puneet Sethi) [1784121] - dmaengine: Introduce DMA-device device_caps callback (Puneet Sethi) [1784121] - dmaengine: Introduce max SG burst capability (Puneet Sethi) [1784121] - dmaengine: Introduce min burst length capability (Puneet Sethi) [1784121] - dmaengine: dw: Initialize channel before each transfer (Puneet Sethi) [1784121] - dmaengine: dw: Replace 'objs' by 'y' (Puneet Sethi) [1784121] - dmaengine: dw: Register ACPI DMA controller for PCI that has companion (Puneet Sethi) [1784121] - dmaengine: dw: platform: Mark 'hclk' clock optional (Puneet Sethi) [1784121] - dmaengine: dw: platform: Split OF helpers to separate module (Puneet Sethi) [1784121] - dmaengine: dw: platform: Split ACPI helpers to separate module (Puneet Sethi) [1784121] - dmaengine: dw: platform: Move handle check to dw_dma_acpi_controller_register() (Puneet Sethi) [1784121] - dmaengine: dw: platform: Switch to acpi_dma_controller_register() (Puneet Sethi) [1784121] - dmaengine: dw: platform: Use devm_platform_ioremap_resource() (Puneet Sethi) [1784121] - dmaengine: dw: platform: Enable iDMA 32-bit on Intel Elkhart Lake (Puneet Sethi) [1784121] - dmaengine: dw: platform: Use struct dw_dma_chip_pdata (Puneet Sethi) [1784121] - dmaengine: dw: Export struct dw_dma_chip_pdata for wider use (Puneet Sethi) [1784121] - dmaengine: dw: Update Intel Elkhart Lake Service Engine acronym (Puneet Sethi) [1784121] - dmaengine: dw: Enable iDMA 32-bit on Intel Elkhart Lake (Puneet Sethi) [1784121] - dmaengine: dw: Distinguish ->remove() between DW and iDMA 32-bit (Puneet Sethi) [1784121] - dmaengine: dw: convert to SPDX identifiers (Puneet Sethi) [1784121] - dmaengine: dw: Don't pollute CTL_LO on iDMA 32-bit (Puneet Sethi) [1784121] - dmaengine: dw: Reset DRAIN bit when resume the channel (Puneet Sethi) [1784121] - dmaengine: dw: Split DW and iDMA 32-bit operations (Puneet Sethi) [1784121] - dmaengine: dw: Remove unused internal property (Puneet Sethi) [1784121] - dmaengine: dw: Add missed multi-block support for iDMA 32-bit (Puneet Sethi) [1784121] - dmaengine: dw: drop useless LIST_HEAD (Puneet Sethi) [1784121] - dmaengine: dw: Fix FIFO size for Intel Merrifield (Puneet Sethi) [1784121] - dmaengine: dw-dmac: implement dma protection control setting (Puneet Sethi) [1784121] - dmaengine: dw: remove dma_slave_config direction usage (Puneet Sethi) [1784121] - dmaengine: dw: Add alternative ACPI HIDs for Cherry Trail DMA controllers (Puneet Sethi) [1784121] - perf/arm-cmn: Fix invalid pointer when access dtc object sharing the same IRQ number (Mark Langsdorf) [1997732] - drivers/perf: Simplify EVENT ATTR macro in SMMU PMU driver (Mark Langsdorf) [1997732] - perf/smmuv3: Don't trample existing events with global filter (Mark Langsdorf) [1997732] - perf: qcom: Remove redundant dev_err call in qcom_l3_cache_pmu_probe() (Mark Langsdorf) [1997732] - perf: arm_spe: use DEVICE_ATTR_RO macro (Mark Langsdorf) [1997732] - perf: xgene_pmu: use DEVICE_ATTR_RO macro (Mark Langsdorf) [1997732] - perf: qcom: use DEVICE_ATTR_RO macro (Mark Langsdorf) [1997732] - perf: arm_pmu: use DEVICE_ATTR_RO macro (Mark Langsdorf) [1997732] - drivers/perf: arm-cci: Fix checkpatch spacing error (Mark Langsdorf) [1997732] - drivers/perf: arm-cmn: Add space after ',' (Mark Langsdorf) [1997732] - drivers/perf: arm_pmu: Fix some coding style issues (Mark Langsdorf) [1997732] - drivers/perf: arm_spe_pmu: Fix some coding style issues (Mark Langsdorf) [1997732] - drivers/perf: Remove redundant dev_err call in tx2_uncore_pmu_init_dev() (Mark Langsdorf) [1997732] - perf/arm-smmuv3: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-dsu: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-dmc620: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-cmn: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-ccn: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-ccn: Clean up CPU hotplug handling (Mark Langsdorf) [1997732] - perf/arm-cci: Remove broken race mitigation (Mark Langsdorf) [1997732] - genirq: Export affinity setter for modules (Mark Langsdorf) [1997732] - perf/arm_pmu_platform: Clean up with dev_printk (Mark Langsdorf) [1997732] - perf/arm_pmu_platform: Fix error handling (Mark Langsdorf) [1997732] - perf/arm_pmu_platform: Use dev_err_probe() for IRQ errors (Mark Langsdorf) [1997732] - drivers/perf: Simplify the SMMUv3 PMU event attributes (Mark Langsdorf) [1997732] - perf: Constify static struct attribute_group (Mark Langsdorf) [1997732] - perf: qcom: Constify static struct attribute_group (Mark Langsdorf) [1997732] - drivers/perf: Add support for ARMv8.3-SPE (Mark Langsdorf) [1997732] - driver/perf: Remove ARM_SMMU_V3_PMU dependency on ARM_SMMU_V3 (Mark Langsdorf) [1997732] - perf/smmuv3: Support sysfs identifier file (Mark Langsdorf) [1997732] - perf: remove duplicate check on fwnode (Mark Langsdorf) [1997732] - redhat/configs: enable ARM_DMC620_PMU memory controller perf counters (Mark Langsdorf) [1997732] - perf/arm_dmc620_pmu: Fix error return code in dmc620_pmu_device_probe() (Mark Langsdorf) [1997732] - drivers/perf: Prevent forced unbinding of ARM_DMC620_PMU drivers (Mark Langsdorf) [1997732] - driver/perf: Add PMU driver for the ARM DMC-620 memory controller (Mark Langsdorf) [1997732] - drivers/perf: thunderx2_pmu: Fix memory resource error handling (Mark Langsdorf) [1997732] - drivers/perf: xgene_pmu: Fix uninitialized resource struct (Mark Langsdorf) [1997732] - perf: arm_dsu: Support DSU ACPI devices (Mark Langsdorf) [1997732] - perf/smmuv3: To simplify code for ioremap page in pmcg (Mark Langsdorf) [1997732] - drivers/perf: Prevent forced unbinding of PMU drivers (Mark Langsdorf) [1997732] - drivers/perf: Fix kernel panic when rmmod PMU modules during perf sampling (Mark Langsdorf) [1997732] - pmu/smmuv3: Clear IRQ affinity hint on device removal (Mark Langsdorf) [1997732] - drivers/perf: arm_spe_pmu: Avoid duplicate printouts (Mark Langsdorf) [1997732] - drivers/perf: arm_dsu_pmu: Avoid duplicate printouts (Mark Langsdorf) [1997732] - drivers/perf: Open access for CAP_PERFMON privileged process (Mark Langsdorf) [1997732] - perf/smmuv3: Remove the leftover put_cpu() in error path (Mark Langsdorf) [1997732] - perf: arm-ccn: Enable stats for CCN-512 interconnect (Mark Langsdorf) [1997732] - perf/smmuv3: use devm_platform_ioremap_resource() to simplify code (Mark Langsdorf) [1997732] - perf/arm-cci: use devm_platform_ioremap_resource() to simplify code (Mark Langsdorf) [1997732] - perf/arm-ccn: use devm_platform_ioremap_resource() to simplify code (Mark Langsdorf) [1997732] - perf: xgene: use devm_platform_ioremap_resource() to simplify code (Mark Langsdorf) [1997732] - perf/smmuv3: Validate groups for global filtering (Mark Langsdorf) [1997732] - perf/smmuv3: Validate group size (Mark Langsdorf) [1997732] - perf/smmuv3: Enable HiSilicon Erratum 162001800 quirk (Mark Langsdorf) [1997732] - perf/smmuv3: Add MSI irq support (Mark Langsdorf) [1997732] - perf/smmuv3: Add arm64 smmuv3 pmu driver (Mark Langsdorf) [1997732] - perf: xgene: Remove set but not used variable 'config' (Mark Langsdorf) [1997732] - perf/drivers: Strengthen exclusion checks with PERF_PMU_CAP_NO_EXCLUDE (Mark Langsdorf) [1997732] - For drivers that do not support context exclusion let's advertise the PERF_PMU_CAP_NO_EXCLUDE capability. This ensures that perf will prevent us from handling events where any exclusion flags are set. Let's also remove the now unnecessary check for exclusion flags. (Mark Langsdorf) [1997732] - perf/core, arch/arm: Use PERF_PMU_CAP_NO_EXCLUDE conditionally (Mark Langsdorf) [1997732] - drivers/perf: arm-ccn: Use devm_ioremap_resource() to map memory (Mark Langsdorf) [1997732] - drivers/perf: Initialise return value in armpmu_request_irqs() (Mark Langsdorf) [1997732] - perf/arm-cci: Remove VLA usage (Mark Langsdorf) [1997732] - tools/power turbostat: version 2021.05.04 (Prarit Bhargava) [2030472] - tools/power turbostat: Support "turbostat --hide idle" (Prarit Bhargava) [2030472] - tools/power turbostat: elevate priority of interval mode (Prarit Bhargava) [2030472] - tools/power turbostat: formatting (Prarit Bhargava) [2030472] - tools/power turbostat: rename tcc variables (Prarit Bhargava) [2030472] - tools/power turbostat: save original CPU model (Prarit Bhargava) [2030472] - tools/power turbostat: add TCC Offset support (Prarit Bhargava) [2030472] - tools/power turbostat: Fix Core C6 residency on Atom CPUs (Prarit Bhargava) [2030472] - tools/power turbostat: Print the C-state Pre-wake settings (Prarit Bhargava) [2030472] - tools/power turbostat: unmark non-kernel-doc comment (Prarit Bhargava) [2030472] - tools/power/turbostat: Remove Package C6 Retention on Ice Lake Server (Prarit Bhargava) [2030472] - tools/power turbostat: Fix offset overflow issue in index converting (Prarit Bhargava) [2030472] - tools/power/turbostat: Fix turbostat for AMD Zen CPUs (Prarit Bhargava) [2030472] - Revert "tools/power turbostat: adjust for temperature offset" (Prarit Bhargava) [2030472] - tools/power turbostat: Fix DRAM Energy Unit on SKX (Prarit Bhargava) [2030472] - tools/power turbostat: print microcode patch level (Prarit Bhargava) [2030472] - tools/power turbostat: add built-in-counter for IPC -- Instructions per Cycle (Prarit Bhargava) [2030472]- [s390] virtio: write back F_VERSION_1 before validate (Claudio Imbrenda) [2026234] - cpufreq: powernv: Fix init_chip_info initialization in numa=off (Steve Best) [2017665] - tcp: don't free a FIN sk_buff in tcp_remove_empty_skb() (Guillaume Nault) [2016210] - tipc: fix size validations for the MSG_CRYPTO type (Xin Long) [2020507] {CVE-2021-43267} - tipc: increase timeout in tipc_sk_enqueue() (Xin Long) [2020401] - Revert "tipc: Return the correct errno code" (Xin Long) [2020401] - tipc: fix an use-after-free issue in tipc_recvmsg (Xin Long) [2020401] - tipc: keep the skb in rcv queue until the whole data is read (Xin Long) [2020401] - powerpc/perf: Fix cycles/instructions as PM_CYC/PM_INST_CMPL in power10 (Steve Best) [2025400] - PCI: Increase D3 delay for AMD Renoir/Cezanne XHCI (Myron Stowe) [2028298] - media: uvcvideo: Avoid cyclic entity chains due to malformed USB descriptors (Dean Nelson) [1921871] {CVE-2020-0404} - sctp: fix transport encap_port update in sctp_vtag_verify (Xin Long) [2020393] - sctp: account stream padding length for reconf chunk (Xin Long) [2020393] - sctp: break out if skb_header_pointer returns NULL in sctp_rcv_ootb (Xin Long) [2020393] - net: cipso: fix warnings in netlbl_cipsov4_add_std (Balazs Nemeth) [2026691] - net/sched: act_ct: fix err check for nf_conntrack_confirm (Davide Caratti) [2018109] - net/sched: act_ct: Fix byte count on fragmented packets (Davide Caratti) [2018109] - mqprio: Correct stats in mqprio_dump_class_stats(). (Davide Caratti) [2018109] - net_sched: fix NULL deref in fifo_set_limit() (Davide Caratti) [2018109] - net: sched: flower: protect fl_walk() with rcu (Davide Caratti) [2018109] - fq_codel: reject silly quantum parameters (Davide Caratti) [2018109] - net: sched: Fix qdisc_rate_table refcount leak when get tcf_block failed (Davide Caratti) [2018109] - sch_htb: Fix inconsistency when leaf qdisc creation fails (Davide Caratti) [2018109] - net: sched: fix lockdep_set_class() typo error for sch->seqlock (Davide Caratti) [2018109] - net: sched: cls_api: Fix the the wrong parameter (Davide Caratti) [2018109] - net/sched: act_vlan: Fix modify to allow 0 (Davide Caratti) [2018109] - net-sysfs: initialize uid and gid before calling net_ns_get_ownership (Xin Long) [1979820] - net: fix sysfs permssions when device changes network namespace (Xin Long) [1979820] - net-sysfs: add queue_change_owner() (Xin Long) [1979820] - net-sysfs: add netdev_change_owner() (Xin Long) [1979820] - drivers/base/power: add dpm_sysfs_change_owner() (Xin Long) [1979820] - device: add device_change_owner() (Xin Long) [1979820] - sysfs: Fix regression when adding a file to an existing group (Xin Long) [1979820] - bridge: make sure objects belong to container's owner (Xin Long) [1979820] - net: create reusable function for getting ownership info of sysfs inodes (Xin Long) [1979820] - net-sysfs: make sure objects belong to container's owner (Xin Long) [1979820] - net-sysfs: require net admin in the init ns for setting tx_maxrate (Xin Long) [1979820] - driver core: set up ownership of class devices in sysfs (Xin Long) [1979820] - kobject: kset_create_and_add() - fetch ownership info from parent (Xin Long) [1979820] - sysfs, kobject: allow creating kobject belonging to arbitrary users (Xin Long) [1979820] - NFSv42: Fix pagecache invalidation after COPY/CLONE (Benjamin Coddington) [2017166] - SUNRPC: fix sign error causing rpcsec_gss drops (Benjamin Coddington) [2017166] - nfsd4: Handle the NFSv4 READDIR 'dircount' hint being zero (Benjamin Coddington) [2017166] - nfsd: fix error handling of register_pernet_subsys() in init_nfsd() (Benjamin Coddington) [2017166] - SUNRPC: Simplify socket shutdown when not reusing TCP ports (Benjamin Coddington) [2017166] - nfsd4: Fix forced-expiry locking (Benjamin Coddington) [2017166] - SUNRPC/xprtrdma: Fix reconnection locking (Benjamin Coddington) [2017166] - NFSv4/pnfs: The layout barrier indicate a minimal value for the seqid (Benjamin Coddington) [2017166] - NFSv4/pNFS: Always allow update of a zero valued layout barrier (Benjamin Coddington) [2017166] - NFSv4/pNFS: Fix a layoutget livelock loop (Benjamin Coddington) [2017166] - xprtrdma: Put rpcrdma_reps before waking the tear-down completion (Benjamin Coddington) [2017166] - NFSD: Fix TP_printk() format specifier in nfsd_clid_class (Benjamin Coddington) [2017166] - NFSv42: Copy offload should update the file size when appropriate (Benjamin Coddington) [2017166] - SUNRPC: Fix XPT_BUSY flag leakage in svc_handle_xprt()... (Benjamin Coddington) [2017166] - NFSv4/pNFS: Return an error if _nfs4_pnfs_v3_ds_connect can't load NFSv3 (Benjamin Coddington) [2017166] - NFSv4/pNFS: Don't call _nfs4_pnfs_v3_ds_connect multiple times (Benjamin Coddington) [2017166] - NFSv4/pnfs: Clean up layout get on open (Benjamin Coddington) [2017166] - NFSv4/pnfs: Fix layoutget behaviour after invalidation (Benjamin Coddington) [2017166] - NFSv4/pnfs: Fix the layout barrier update (Benjamin Coddington) [2017166] - NFSD: Prevent a possible oops in the nfs_dirent() tracepoint (Benjamin Coddington) [2017166] - nfsd: remove redundant assignment to pointer 'this' (Benjamin Coddington) [2017166] - nfs_common: fix doc warning (Benjamin Coddington) [2017166] - nfsd4: Expose the callback address and state of each NFS4 client (Benjamin Coddington) [2017166] - xprtrdma: Fix spelling mistakes (Benjamin Coddington) [2017166] - NFS: nfs_find_open_context() may only select open files (Benjamin Coddington) [2017166] - SUNRPC: Should wake up the privileged task firstly. (Benjamin Coddington) [2017166] - SUNRPC: Fix the batch tasks count wraparound. (Benjamin Coddington) [2017166] - nfs: update has_sec_mnt_opts after cloning lsm options from parent (Benjamin Coddington) [2017166] - nfs: fix acl memory leak of posix_acl_create() (Benjamin Coddington) [2017166] - rpc: remove redundant initialization of variable status (Benjamin Coddington) [2017166] - NFSv4: Initialise connection to the server in nfs4_alloc_client() (Benjamin Coddington) [2017166] - nfsd: Prevent truncation of an unlinked inode from blocking access to its directory (Benjamin Coddington) [2017166] - xprtrdma: Fix a maybe-uninitialized compiler warning (Benjamin Coddington) [2017166] - NFSv4: Fix second deadlock in nfs4_evict_inode() (Benjamin Coddington) [2017166] - NFSv4: Fix deadlock between nfs4_evict_inode() and nfs4_opendata_get_inode() (Benjamin Coddington) [2017166] - NFS: FMODE_READ and friends are C macros, not enum types (Benjamin Coddington) [2017166] - NFS: Fix a potential NULL dereference in nfs_get_client() (Benjamin Coddington) [2017166] - NFS: Fix use-after-free in nfs4_init_client() (Benjamin Coddington) [2017166] - NFSv4: nfs4_proc_set_acl needs to restore NFS_CAP_UIDGID_NOMAP on error. (Benjamin Coddington) [2017166] - nfs: Remove trailing semicolon in macros (Benjamin Coddington) [2017166] - NFSv4: Fix v4.0/v4.1 SEEK_DATA return -ENOTSUPP when set NFS_V4_2 config (Benjamin Coddington) [2017166] - NFS: Clean up reset of the mirror accounting variables (Benjamin Coddington) [2017166] - NFS: Don't corrupt the value of pg_bytes_written in nfs_do_recoalesce() (Benjamin Coddington) [2017166] - NFS: Fix an Oopsable condition in __nfs_pageio_add_request() (Benjamin Coddington) [2017166] - SUNRPC: More fixes for backlog congestion (Benjamin Coddington) [2017166] - SUNRPC: Fix Oops in xs_tcp_send_request() when transport is disconnected (Benjamin Coddington) [2017166] - NFSv4: Fix a NULL pointer dereference in pnfs_mark_matching_lsegs_return() (Benjamin Coddington) [2017166] - SUNRPC in case of backlog, hand free slots directly to waiting task (Benjamin Coddington) [2017166] - pNFS/NFSv4: Remove redundant initialization of 'rd_size' (Benjamin Coddington) [2017166] - NFS: fix an incorrect limit in filelayout_decode_layout() (Benjamin Coddington) [2017166] - fs/nfs: Use fatal_signal_pending instead of signal_pending (Benjamin Coddington) [2017166] - xprtrdma: Fix a NULL dereference in frwr_unmap_sync() (Benjamin Coddington) [2017166] - sunrpc: Fix misplaced barrier in call_decode (Benjamin Coddington) [2017166] - SUNRPC: set rq_page_end differently (Benjamin Coddington) [2017166] - xprtrdma: Move fr_mr field to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Move the Work Request union to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Move fr_linv_done field to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Move cqe to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Move fr_cid to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Remove the RPC/RDMA QP event handler (Benjamin Coddington) [2017166] - xprtrdma: Add tracepoints showing FastReg WRs and remote invalidation (Benjamin Coddington) [2017166] - xprtrdma: Avoid Send Queue wrapping (Benjamin Coddington) [2017166] - xprtrdma: Do not wake RPC consumer on a failed LocalInv (Benjamin Coddington) [2017166] - xprtrdma: Do not recycle MR after FastReg/LocalInv flushes (Benjamin Coddington) [2017166] - xprtrdma: Clarify use of barrier in frwr_wc_localinv_done() (Benjamin Coddington) [2017166] - xprtrdma: Rename frwr_release_mr() (Benjamin Coddington) [2017166] - xprtrdma: rpcrdma_mr_pop() already does list_del_init() (Benjamin Coddington) [2017166] - xprtrdma: Delete rpcrdma_recv_buffer_put() (Benjamin Coddington) [2017166] - xprtrdma: Fix cwnd update ordering (Benjamin Coddington) [2017166] - xprtrdma: Improve locking around rpcrdma_rep creation (Benjamin Coddington) [2017166] - xprtrdma: Improve commentary around rpcrdma_reps_unmap() (Benjamin Coddington) [2017166] - xprtrdma: Improve locking around rpcrdma_rep destruction (Benjamin Coddington) [2017166] - xprtrdma: Put flushed Receives on free list instead of destroying them (Benjamin Coddington) [2017166] - xprtrdma: Do not refresh Receive Queue while it is draining (Benjamin Coddington) [2017166] - xprtrdma: Avoid Receive Queue wrapping (Benjamin Coddington) [2017166] - SUNRPC: fix ternary sign expansion bug in tracing (Benjamin Coddington) [2017166] - nfsd: Fix fall-through warnings for Clang (Benjamin Coddington) [2017166] - nfsd: reshuffle some code (Benjamin Coddington) [2017166] - nfsd: track filehandle aliasing in nfs4_files (Benjamin Coddington) [2017166] - nfsd: hash nfs4_files by inode number (Benjamin Coddington) [2017166] - NFSv4.1: Simplify layout return in pnfs_layout_process() (Benjamin Coddington) [2017166] - NFSv4: Don't discard segments marked for return in _pnfs_return_layout() (Benjamin Coddington) [2017166] - nfsd: ensure new clients break delegations (Benjamin Coddington) [2017166] - NFS: Don't discard pNFS layout segments that are marked for return (Benjamin Coddington) [2017166] - NFSv4.x: Don't return NFS4ERR_NOMATCHING_LAYOUT if we're unmounting (Benjamin Coddington) [2017166] - nfsd: remove unused function (Benjamin Coddington) [2017166] - svcrdma: Pass a useful error code to the send_err tracepoint (Benjamin Coddington) [2017166] - svcrdma: Rename goto labels in svc_rdma_sendto() (Benjamin Coddington) [2017166] - svcrdma: Don't leak send_ctxt on Send errors (Benjamin Coddington) [2017166] - SUNRPC: Remove trace_xprt_transmit_queued (Benjamin Coddington) [2017166] - SUNRPC: Add tracepoint that fires when an RPC is retransmitted (Benjamin Coddington) [2017166] - SUNRPC: Move fault injection call sites (Benjamin Coddington) [2017166] - pNFS/flexfiles: fix incorrect size check in decode_nfs_fh() (Benjamin Coddington) [2017166] - NFSv4: Catch and trace server filehandle encoding errors (Benjamin Coddington) [2017166] - NFSv4: Convert nfs_xdr_status tracepoint to an event class (Benjamin Coddington) [2017166] - NFSv4: Add tracing for COMPOUND errors (Benjamin Coddington) [2017166] - NFSv4: Don't modify the change attribute cached in the inode (Benjamin Coddington) [2017166] - NFSv4: Fix value of decode_fsinfo_maxsz (Benjamin Coddington) [2017166] - NFS: Fix up revalidation of space used (Benjamin Coddington) [2017166] - NFS: NFS_INO_REVAL_PAGECACHE should mark the change attribute invalid (Benjamin Coddington) [2017166] - NFS: Mask out unsupported attributes in nfs_getattr() (Benjamin Coddington) [2017166] - NFS: Fix up inode cache tracing (Benjamin Coddington) [2017166] - NFS: Deal correctly with attribute generation counter overflow (Benjamin Coddington) [2017166] - NFSv4.2: Always flush out writes in nfs42_proc_fallocate() (Benjamin Coddington) [2017166] - NFS: Fix attribute bitmask in _nfs42_proc_fallocate() (Benjamin Coddington) [2017166] - NFS: nfs4_bitmask_adjust() must not change the server global bitmasks (Benjamin Coddington) [2017166] - NFSD: Use DEFINE_SPINLOCK() for spinlock (Benjamin Coddington) [2017166] - sunrpc: Remove unused function ip_map_lookup (Benjamin Coddington) [2017166] - NFS: Fix fscache invalidation in nfs_set_cache_invalid() (Benjamin Coddington) [2017166] - SUNRPC: Ensure the transport backchannel association (Benjamin Coddington) [2017166] - nfs: hornor timeo and retrans option when mounting NFSv3 (Benjamin Coddington) [2017166] - sunrpc: honor rpc_task's timeout value in rpcb_create() (Benjamin Coddington) [2017166] - nfs: Fix a typo in the file nfs42xattr.c (Benjamin Coddington) [2017166] - NFS: fs_context: validate UDP retrans to prevent shift out-of-bounds (Benjamin Coddington) [2017166] - NFS: Fix up incorrect documentation (Benjamin Coddington) [2017166] - NFSv4: Simplify nfs4_retry_setlk() (Benjamin Coddington) [2017166] - UAPI: nfsfh.h: Replace one-element array with flexible-array member (Benjamin Coddington) [2017166] - svcrdma: Clean up dto_q critical section in svc_rdma_recvfrom() (Benjamin Coddington) [2017166] - svcrdma: Remove svc_rdma_recv_ctxt::rc_pages and ::rc_arg (Benjamin Coddington) [2017166] - svcrdma: Remove sc_read_complete_q (Benjamin Coddington) [2017166] - svcrdma: Single-stage RDMA Read (Benjamin Coddington) [2017166] - SUNRPC: Move svc_xprt_received() call sites (Benjamin Coddington) [2017166] - SUNRPC: Export svc_xprt_received() (Benjamin Coddington) [2017166] - svcrdma: Retain the page backing rq_res.head[0].iov_base (Benjamin Coddington) [2017166] - svcrdma: Remove unused sc_pages field (Benjamin Coddington) [2017166] - svcrdma: Normalize Send page handling (Benjamin Coddington) [2017166] - svcrdma: Add a "deferred close" helper (Benjamin Coddington) [2017166] - svcrdma: Maintain a Receive water mark (Benjamin Coddington) [2017166] - svcrdma: Use svc_rdma_refresh_recvs() in wc_receive (Benjamin Coddington) [2017166] - svcrdma: Add a batch Receive posting mechanism (Benjamin Coddington) [2017166] - svcrdma: Remove stale comment for svc_rdma_wc_receive() (Benjamin Coddington) [2017166] - svcrdma: Provide an explanatory comment in CMA event handler (Benjamin Coddington) [2017166] - svcrdma: RPCDBG_FACILITY is no longer used (Benjamin Coddington) [2017166] - nfsd: don't ignore high bits of copy count (Benjamin Coddington) [2017166] - nfsd: COPY with length 0 should copy to end of file (Benjamin Coddington) [2017166] - nfsd: Fix typo "accesible" (Benjamin Coddington) [2017166] - nfsd: Ensure knfsd shuts down when the "nfsd" pseudofs is unmounted (Benjamin Coddington) [2017166] - nfsd: Log client tracking type log message as info instead of warning (Benjamin Coddington) [2017166] - nfsd: helper for laundromat expiry calculations (Benjamin Coddington) [2017166] - NFSD: Clean up NFSDDBG_FACILITY macro (Benjamin Coddington) [2017166] - NFSD: Add a tracepoint to record directory entry encoding (Benjamin Coddington) [2017166] - rpc: fix NULL dereference on kmalloc failure (Benjamin Coddington) [2017166] - sunrpc: fix refcount leak for rpc auth modules (Benjamin Coddington) [2017166] - NFSD: Repair misuse of sv_lock in 5.10.16-rt30. (Benjamin Coddington) [2017166] - svcrdma: disable timeouts on rdma backchannel (Benjamin Coddington) [2017166] - svcrdma: Hold private mutex while invoking rdma_accept() (Benjamin Coddington) [2017166] - NFS: Don't set NFS_INO_INVALID_XATTR if there is no xattr cache (Benjamin Coddington) [2017166] - NFS: Always clear an invalid mapping when attempting a buffered write (Benjamin Coddington) [2017166] - NFS: Optimise sparse writes past the end of file (Benjamin Coddington) [2017166] - NFS: Fix documenting comment for nfs_revalidate_file_size() (Benjamin Coddington) [2017166] - rpcrdma: Fix comments about reverse-direction operation (Benjamin Coddington) [2017166] - xprtrdma: Refactor invocations of offset_in_page() (Benjamin Coddington) [2017166] - xprtrdma: Simplify rpcrdma_convert_kvec() and frwr_map() (Benjamin Coddington) [2017166] - xprtrdma: Remove FMR support in rpcrdma_convert_iovs() (Benjamin Coddington) [2017166] - NFS: Fix fscache read from NFS after cache error (Benjamin Coddington) [2017166] - NFS: Ensure nfs_readpage returns promptly when internal error occurs (Benjamin Coddington) [2017166] - NFS: Remove unnecessary inode parameter from nfs_pageio_complete_read() (Benjamin Coddington) [2017166] - NFS: Add nfs_pageio_complete_read() and remove nfs_readpage_async() (Benjamin Coddington) [2017166] - NFS: Call readpage_async_filler() from nfs_readpage_async() (Benjamin Coddington) [2017166] - NFS: Refactor nfs_readpage() and nfs_readpage_async() to use nfs_readdesc (Benjamin Coddington) [2017166] - NFS: In nfs_readpage() only increment NFSIOS_READPAGES when read succeeds (Benjamin Coddington) [2017166] - NFS: Clean up nfs_readpage() and nfs_readpages() (Benjamin Coddington) [2017166] - nfs: Fix fall-through warnings for Clang (Benjamin Coddington) [2017166] - SUNRPC: Fix fall-through warnings for Clang (Benjamin Coddington) [2017166] - net: sunrpc: xprtsock.c: Corrected few spellings ,in comments (Benjamin Coddington) [2017166] - SUNRPC: correct error code comment in xs_tcp_setup_socket() (Benjamin Coddington) [2017166] - nfsd: cstate->session->se_client -> cstate->clp (Benjamin Coddington) [2017166] - nfsd: simplify nfsd4_check_open_reclaim (Benjamin Coddington) [2017166] - nfsd: remove unused set_client argument (Benjamin Coddington) [2017166] - nfs/blocklayout: remove cruft in bl_alloc_init_bio (Benjamin Coddington) [2017166] - nfsd: refactor set_client (Benjamin Coddington) [2017166] - nfsd: rename lookup_clientid->set_client (Benjamin Coddington) [2017166] - nfsd: simplify nfsd_renew (Benjamin Coddington) [2017166] - nfsd: simplify process_lock (Benjamin Coddington) [2017166] - nfsd4: simplify process_lookup1 (Benjamin Coddington) [2017166] - SUNRPC: Correct a comment (Benjamin Coddington) [2017166] - svcrdma: DMA-sync the receive buffer in svc_rdma_recvfrom() (Benjamin Coddington) [2017166] - svcrdma: Restore read and write stats (Benjamin Coddington) [2017166] - svcrdma: Convert rdma_stat_sq_starve to a per-CPU counter (Benjamin Coddington) [2017166] - svcrdma: Convert rdma_stat_recv to a per-CPU counter (Benjamin Coddington) [2017166] - svcrdma: Refactor svc_rdma_init() and svc_rdma_clean_up() (Benjamin Coddington) [2017166] - nfsd: remove fault injection code (Benjamin Coddington) [2017166] - SUNRPC: Fix a NULL pointer deref in trace_svc_stats_latency() (Benjamin Coddington) [2017166] - SUNRPC: Display RPC procedure names instead of proc numbers (Benjamin Coddington) [2017166] - SUNRPC: Make trace_svc_process() display the RPC procedure symbolically (Benjamin Coddington) [2017166] - EDAC/mce_amd: Do not load edac_mce_amd module on guests (Aristeu Rozanski) [2000776] - tracing: Map all PIDs to command lines (Jerome Marchand) [1913211] - mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and zs_unregister_migration() (Rafael Aquini) [2016441] - mm: mark the OOM reaper thread as freezable (Rafael Aquini) [2016441] - mm/page_isolation: guard against possible putback unisolated page (Rafael Aquini) [2016441] - mm/page_isolation: fix potential missing call to unset_migratetype_isolate() (Rafael Aquini) [2016441] - mm/page_alloc: use accumulated load when building node fallback list (Rafael Aquini) [2016441] - mm/vmalloc: do not adjust the search size for alignment overhead (Rafael Aquini) [2016441] - mm/vmalloc: make sure to dump unpurged areas in /proc/vmallocinfo (Rafael Aquini) [2016441] - Revert "mm, slub: consider rest of partial list if acquire_slab() fails" (Rafael Aquini) [2016441] - mm, slub: consider rest of partial list if acquire_slab() fails (Rafael Aquini) [2016441] - mm, slub: fix incorrect memcg slab count for bulk free (Rafael Aquini) [2016441] - mm, slub: fix mismatch between reconstructed freelist depth and cnt (Rafael Aquini) [2016441] - slub: add back check for free nonslab objects (Rafael Aquini) [2016441] - slub: fix kmalloc_pagealloc_invalid_free unit test (Rafael Aquini) [2016441] - slub: fix unreclaimable slab stat for bulk free (Rafael Aquini) [2016441] - mm/slub: add taint after the errors are printed (Rafael Aquini) [2016441] - mm/slab.c: remove useless lines in enable_cpucache() (Rafael Aquini) [2016441] - kasan: fix tag for large allocations when using CONFIG_SLAB (Rafael Aquini) [2016441] - mm/hmm: bypass devmap pte when all pfn requested flags are fulfilled (Rafael Aquini) [2016441] - mm: memcontrol: set the correct memcg swappiness restriction (Rafael Aquini) [2016441] - memcg: replace in_interrupt() by !in_task() in active_memcg() (Rafael Aquini) [2016441] - huge tmpfs: fix split_huge_page() after FALLOC_FL_KEEP_SIZE (Rafael Aquini) [2016441] - huge tmpfs: fix fallocate(vanilla) advance over huge pages (Rafael Aquini) [2016441] - huge tmpfs: revert shmem's use of transhuge_vma_enabled() (Rafael Aquini) [2016441] - mm/huge_memory.c: remove unnecessary tlb_remove_page_size() for huge zero pmd (Rafael Aquini) [2016441] - mm/huge_memory.c: add missing read-only THP checking in transparent_hugepage_enabled() (Rafael Aquini) [2016441] - mm/huge_memory.c: use page->deferred_list (Rafael Aquini) [2016441] - mm/huge_memory.c: remove dedicated macro HPAGE_CACHE_INDEX_MASK (Rafael Aquini) [2016441] - mm/thp: decrease nr_thps in file's mapping on THP split (Rafael Aquini) [2016441] - mm/thp: fix page_address_in_vma() on file THP tails (Rafael Aquini) [2016441] - mm/thp: try_to_unmap() use TTU_SYNC for safe splitting (Rafael Aquini) [2016441] - mm/thp: make is_huge_zero_pmd() safe and quicker (Rafael Aquini) [2016441] - mm/thp: fix __split_huge_pmd_locked() on shmem migration entry (Rafael Aquini) [2016441] - mm/truncate: fix truncation for pages of arbitrary size (Rafael Aquini) [2016441] - mm/rmap: fix potential pte_unmap on an not mapped pte (Rafael Aquini) [2016441] - mm/rmap: correct obsolete comment of page_get_anon_vma() (Rafael Aquini) [2016441] - mm/rmap: use page_not_mapped in try_to_unmap() (Rafael Aquini) [2016441] - mm/rmap: fix obsolete comment in __page_check_anon_rmap() (Rafael Aquini) [2016441] - mm/rmap: remove unneeded semicolon in page_not_mapped() (Rafael Aquini) [2016441] - mm/rmap: correct some obsolete comments of anon_vma (Rafael Aquini) [2016441] - mm/pgtable-generic.c: optimize the VM_BUG_ON condition in pmdp_huge_clear_flush() (Rafael Aquini) [2016441] - mm/pgtable-generic.c: simplify the VM_BUG_ON condition in pmdp_huge_clear_flush() (Rafael Aquini) [2016441] - mm: prevent a warning when casting void* -> enum (Rafael Aquini) [2016441] - mm/hugeltb: simplify the return code of __vma_reservation_common() (Rafael Aquini) [2016441] - mm,thp,shmem: make khugepaged obey tmpfs mount flags (Rafael Aquini) [2016441] - mm/vma: make is_vma_temporary_stack() available for general use (Rafael Aquini) [2016441] - mm/vma: make vma_is_foreign() available for general use (Rafael Aquini) [2016441] - hugetlb: fix copy_huge_page_from_user contig page struct assumption (Rafael Aquini) [2016441] - mm/sparsemem: pfn_to_page is not valid yet on SPARSEMEM (Rafael Aquini) [2016441] - mm/sparse.c: use __nr_to_section(section_nr) to get mem_section (Rafael Aquini) [2016441] - mm/huge_memory.c: thp: fix conflict of above-47bit hint address and PMD alignment (Rafael Aquini) [2016441] - mm/huge_memory.c: make __thp_get_unmapped_area static (Rafael Aquini) [2016441] - mm/mempolicy.c: fix checking unmapped holes for mbind (Rafael Aquini) [2016441] - s390/mm: fix VMA and page table handling code in storage key handling functions (Rafael Aquini) [2016441] - s390/mm: validate VMA in PGSTE manipulation functions (Rafael Aquini) [2016441] - s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap() (Rafael Aquini) [2016441] - s390/gmap: validate VMA in __gmap_zap() (Rafael Aquini) [2016441] - s390: mm: Fix secure storage access exception handling (Rafael Aquini) [2016441] - powerpc/numa: Consider the max NUMA node for migratable LPAR (Rafael Aquini) [2016441] - powerpc/64s: Fix pte update for kernel memory on radix (Rafael Aquini) [2016441] - powerpc/mm: sanity_check_fault() should work for all, not only BOOK3S (Rafael Aquini) [2016441] - powerpc/book3s64/pkeys: Use PVR check instead of cpu feature (Rafael Aquini) [2016441] - powerpc/mm: Fix reporting of kernel execute faults on the 8xx (Rafael Aquini) [2016441] - powerpc/mm/hash: Handle user access of kernel address gracefully (Rafael Aquini) [2016441] - powerpc/mm: Add missing tracepoint for tlbie (Rafael Aquini) [2016441] - arm64: hugetlb: avoid potential NULL dereference (Rafael Aquini) [2016441] - arm64/numa: Report correct memblock range for the dummy node (Rafael Aquini) [2016441] - x86/pat: Pass valid address to sanitize_phys() (Rafael Aquini) [2016441] - x86/mm: Check for pfn instead of page in vmalloc_sync_one() (Rafael Aquini) [2016441] - x86/mm/tlb: Revert "x86/mm: Align TLB invalidation info" (Rafael Aquini) [2016441] - x86/mm: Report which part of kernel image is freed (Rafael Aquini) [2016441] - mm: make free_reserved_area() return "const char *" (Rafael Aquini) [2016441] - x86/mm/init: Remove freed kernel image areas from alias mapping (Rafael Aquini) [2016441] - x86/mm/init: Add helper for freeing kernel image pages (Rafael Aquini) [2016441] - x86/mm/init: Pass unconverted symbol addresses to free_init_pages() (Rafael Aquini) [2016441] - x86/mm: Add TLB purge to free pmd/pte page interfaces (Rafael Aquini) [2016441] - mm/mmu_notifier: Make drm-backport/linux/mmu_notifier.h use RH_MMU_NOTIFIER_V2 (Waiman Long) [1946746] - mm/migrate: fix migrate_pgmap_owner w/o CONFIG_MMU_NOTIFIER (Waiman Long) [1946746] - mm/notifier: add migration invalidation type (Waiman Long) [1946746] - mm/migrate: add a flags parameter to migrate_vma (Waiman Long) [1946746] - mm/mmu_notifiers: ensure range_end() is paired with range_start() (Waiman Long) [1946746] - mm: track mmu notifiers in fs_reclaim_acquire/release (Waiman Long) [1946746] - mm: mmu_notifier: fix and extend kerneldoc (Waiman Long) [1946746] - mm/mmu_notifier: silence PROVE_RCU_LIST warnings (Waiman Long) [1946746] - mm/mmu_notifiers: Use 'interval_sub' as the variable for mmu_interval_notifier (Waiman Long) [1946746] - mm/mmu_notifiers: Use 'subscription' as the variable name for mmu_notifier (Waiman Long) [1946746] - mm/mmu_notifier: Rename struct mmu_notifier_mm to mmu_notifier_subscriptions (Waiman Long) [1946746] - mm, notifier: Catch sleeping/blocking for !blockable (Waiman Long) [1946746] - mm/mmu_notifiers: use the right return code for WARN_ON (Waiman Long) [1946746] - mm/mmu_notifiers: check if mmu notifier callbacks are allowed to fail (Waiman Long) [1946746] - mm/mmu_notifier: mmu_notifier_range_update_to_read_only() helper (Waiman Long) [1946746] - mm/mmu_notifier: pass down vma and reasons why mmu notifier is happening (Waiman Long) [1946746] - mm/mmu_notifier: use structure for invalidate_range_start/end callback (Waiman Long) [1946746] - Revert "mm, mmu_notifier: annotate mmu notifiers with blockable invalidate callbacks" (Waiman Long) [1946746] - mm, mmu_notifier: be explicit about range invalition non-blocking mode (Waiman Long) [1946746] - mm/oom_kill.c: clean up oom_reap_task_mm() (Waiman Long) [1946746] - mm, oom: distinguish blockable mode for mmu notifiers (Waiman Long) [1946746] - mm/mmu_notifier: helper to test if a range invalidation is blockable (Waiman Long) [1946746] - mm/mmu_notifier: Relocate mmu_notifier_put() (Waiman Long) [1946746] - mm/mmu_notifier: Add mmu_notifier versioning mechanism (Waiman Long) [1946746] - af_unix: Return errno instead of NULL in unix_create1(). (Balazs Nemeth) [2026690] - netfilter: nf_tables: fix audit memory leak in nf_tables_commit (Phil Sutter) [2028926] - ethtool: Validate module EEPROM offset as part of policy (Ivan Vecera) [2019090] - ethtool: Validate module EEPROM length as part of policy (Ivan Vecera) [2019090] - ethtool: Use kernel data types for internal EEPROM struct (Ivan Vecera) [2019090] - ethtool: Document behavior when module EEPROM bank attribute is omitted (Ivan Vecera) [2019090] - ethtool: Decrease size of module EEPROM get policy array (Ivan Vecera) [2019090] - ethtool: Document correct attribute type (Ivan Vecera) [2019090] - ethtool: Use correct command name in title (Ivan Vecera) [2019090] - net: fix mistake path for netdev_features_strings (Ivan Vecera) [2019089 2019090 2019092] - ethtool: add a stricter length check (Ivan Vecera) [2019089 2019090 2019092] - ethtool: Fix a typo (Ivan Vecera) [2019089 2019090 2019092] - net: ethtool: clear heap allocations for ethtool function (Ivan Vecera) [2019090] - ethtool: Fix NULL pointer dereference during module EEPROM dump (Ivan Vecera) [2019090] - ethtool: stats: Fix a copy-paste error (Ivan Vecera) [2019092] - ethtool: add missing EEPROM to list of messages (Ivan Vecera) [2019090] - ethtool: stats: clarify the initialization to ETHTOOL_STAT_NOT_SET (Ivan Vecera) [2019092] - ethtool: ioctl: Fix out-of-bounds warning in store_link_ksettings_for_user() (Ivan Vecera) [2019092] - ethtool: add interface to read RMON stats (Ivan Vecera) [2019092] - ethtool: add interface to read standard MAC Ctrl stats (Ivan Vecera) [2019092] - ethtool: add interface to read standard MAC stats (Ivan Vecera) [2019092] - ethtool: add a new command for reading standard stats (Ivan Vecera) [2019092] - docs: ethtool: document standard statistics (Ivan Vecera) [2019092] - docs: networking: extend the statistics documentation (Ivan Vecera) [2019092] - ethtool: add FEC statistics (Ivan Vecera) [2019089] - docs: net: statistics.rst: remove a duplicated kernel-doc (Ivan Vecera) [2019089] - ethtool: fec_prepare_data() - jump to error handling (Ivan Vecera) [2019089] - ethtool: move ethtool_stats_init (Ivan Vecera) [2019089] - ethtool: wire in generic SFP module access (Ivan Vecera) [2019090] - phy: sfp: add netlink SFP support to generic SFP code (Ivan Vecera) [2019090] - ethtool: Add fallback to get_module_eeprom from netlink command (Ivan Vecera) [2019090] - net: ethtool: Export helpers for getting EEPROM info (Ivan Vecera) [2019090] - ethtool: Allow network drivers to dump arbitrary EEPROM data (Ivan Vecera) [2019090] - docs: ethtool: correct quotes (Ivan Vecera) [2019090] - selftests: ethtool: add a netdevsim FEC test (Ivan Vecera) [2019089] - netdevsim: add FEC settings support (Ivan Vecera) [2019089] - ethtool: support FEC settings over netlink (Ivan Vecera) [2019089] - ethtool: document the enum values not defines (Ivan Vecera) [2019089] - ethtool: fec: fix FEC_NONE check (Ivan Vecera) [2019089] - ethtool: fec: add note about reuse of reserved (Ivan Vecera) [2019089] - ethtool: clarify the ethtool FEC interface (Ivan Vecera) [2019089] - ethtool: fec: sanitize ethtool_fecparam->fec (Ivan Vecera) [2019089] - ethtool: fec: sanitize ethtool_fecparam->active_fec (Ivan Vecera) [2019089] - ethtool: fec: sanitize ethtool_fecparam->reserved (Ivan Vecera) [2019089] - ethtool: fec: remove long structure description (Ivan Vecera) [2019089] - ethtool: fec: fix typo in kdoc (Ivan Vecera) [2019089] - net: Remove redundant if statements (Petr Oros) [2026472] - netdevice: add the case if dev is NULL (Petr Oros) [2026472] - nvmet: use IOCB_NOWAIT only if the filesystem supports it (Chris Leech) [2015563] - nvmet-tcp: fix incomplete data digest send (Chris Leech) [2015563] - nvmet-tcp: fix memory leak when performing a controller reset (Chris Leech) [2015563] - nvmet-tcp: add an helper to free the cmd buffers (Chris Leech) [2015563] - nvmet-tcp: fix a race condition between release_queue and io_work (Chris Leech) [2015563] - nvmet-tcp: fix use-after-free when a port is removed (Chris Leech) [2015563] - nvmet-rdma: fix use-after-free when a port is removed (Chris Leech) [2015563] - nvmet: fix use-after-free when a port is removed (Chris Leech) [2015563] - nvmet-tcp: fix header digest verification (Chris Leech) [2015563] - nvmet-tcp: fix data digest pointer calculation (Chris Leech) [2015563] - nvmet-tcp: fix a memory leak when releasing a queue (Chris Leech) [2015563] - nvmet: fix a width vs precision bug in nvmet_subsys_attr_serial_show() (Chris Leech) [2015563] - nvmet: fixup buffer overrun in nvmet_subsys_attr_serial() (Chris Leech) [2015563] - nvmet: return bool from nvmet_passthru_ctrl and nvmet_is_passthru_req (Chris Leech) [2015563] - nvmet: looks at the passthrough controller when initializing CAP (Chris Leech) [2015563] - nvmet: check that host sqsize does not exceed ctrl MQES (Chris Leech) [2015563] - nvmet: avoid duplicate qid in connect cmd (Chris Leech) [2015563] - nvmet: pass back cntlid on successful completion (Chris Leech) [2015563] - nvmet: remove redundant assignments of variable status (Chris Leech) [2015563] - nvme-fabrics: ignore invalid fast_io_fail_tmo values (Chris Leech) [2015563] - nvme-tcp: fix memory leak when freeing a queue (Chris Leech) [2015563] - nvme-tcp: validate R2T PDU in nvme_tcp_handle_r2t() (Chris Leech) [2015563] - nvme-tcp: fix data digest pointer calculation (Chris Leech) [2015563] - nvme-tcp: fix possible req->offset corruption (Chris Leech) [2015563] - nvme-tcp: fix H2CData PDU send accounting (again) (Chris Leech) [2015563] - nvme: keep ctrl->namespaces ordered (Chris Leech) [2015563] - nvme-tcp: fix incorrect h2cdata pdu offset accounting (Chris Leech) [2015563] - nvme-tcp: fix io_work priority inversion (Chris Leech) [2015563] - nvme-multipath: fix ANA state updates when a namespace is not present (Chris Leech) [2015563] - nvme: avoid race in shutdown namespace removal (Chris Leech) [2015563] - nvme: update keep alive interval when kato is modified (Chris Leech) [2015563] - nvme: use return value from blk_execute_rq() (Chris Leech) [2015563] - nvme-tcp: Do not reset transport on data digest errors (Chris Leech) [2015563] - nvme-rdma: don't update queue count when failing to set io queues (Chris Leech) [2015563] - nvme-tcp: don't update queue count when failing to set io queues (Chris Leech) [2015563] - nvme-tcp: pair send_mutex init with destroy (Chris Leech) [2015563] - nvme-tcp: don't check blk_mq_tag_to_rq when receiving pdu data (Chris Leech) [2015563] - RDMA/rxe: Bump up default maximum values used via uverbs (Kamal Heib) [2029675]- scsi: qedi: Fix error codes in qedi_alloc_global_queues() (Nilesh Javali) [1983905] - scsi: qedi: Add support for fastpath doorbell recovery (Nilesh Javali) [1983905] - scsi: qedi: Use DEVICE_ATTR_RO() macro (Nilesh Javali) [1983905] - scsi: qedi: Fix host removal with running sessions (Nilesh Javali) [1983905] - scsi: qedi: Wake up if cmd_cleanup_req is set (Nilesh Javali) [1983905] - scsi: qedi: Complete TMF works before disconnect (Nilesh Javali) [1983905] - scsi: qedi: Pass send_iscsi_tmf task to abort (Nilesh Javali) [1983905] - scsi: qedi: Fix cleanup session block/unblock use (Nilesh Javali) [1983905] - scsi: qedi: Fix TMF session block/unblock use (Nilesh Javali) [1983905] - scsi: qedi: Use GFP_NOIO for TMF allocation (Nilesh Javali) [1983905] - scsi: qedi: Fix TMF tid allocation (Nilesh Javali) [1983905] - scsi: qedi: Fix use after free during abort cleanup (Nilesh Javali) [1983905] - scsi: qedi: Fix race during abort timeouts (Nilesh Javali) [1983905] - scsi: qedi: Fix null ref during abort handling (Nilesh Javali) [1983905] - vrf: Fix fast path output packet handling with async Netfilter rules (Antoine Tenart) [2019333] - ipv6: do not drop vrf udp multicast packets (Antoine Tenart) [2019333] - ipv6: handling of multicast packets received in VRF (Antoine Tenart) [2019333] - vrf: Do not attempt to create IPv6 mcast rule if IPv6 is disabled (Antoine Tenart) [2019333] - ipv6: add vrf table handling code for ipv6 mcast (Antoine Tenart) [2019333] - ipv4: Allow sending multicast packets on specific i/f using VRF socket (Antoine Tenart) [2019333] - xfs: fix I_DONTCACHE (Carlos Maiolino) [2024969] - kernfs: don't create a negative dentry if inactive node exists (Ian Kent) [2001597] - kernfs: also call kernfs_set_rev() for positive dentry (Ian Kent) [2001597] - ixgbevf: use xso.real_dev instead of xso.dev in callback functions of struct xfrmdev_ops (Ken Cox) [1970656] - ixgbe: Fix NULL pointer dereference in ixgbe_xdp_setup (Ken Cox) [1970653] - ixgbe, xsk: clean up the resources in ixgbe_xsk_pool_enable error path (Ken Cox) [1970653] - powerpc/perf: Fix missing is_sier_aviable() during build (Gustavo Walbon) [2011687] - perf script: Fix PERF_SAMPLE_WEIGHT_STRUCT support (Michael Petlan) [2026390] - RDMA/core: Set sgtable nents when using ib_dma_virt_map_sg() (Kamal Heib) [2025496] - RDMA: Use the sg_table directly and remove the opencoded version from umem (Kamal Heib) [2025496] - ovs: clear skb->tstamp in forwarding path (Antoine Tenart) [2020160] - net: openvswitch: fix kernel-doc warnings in flow.c (Antoine Tenart) [2020160] - openvswitch: Optimize operation for key comparison (Antoine Tenart) [2020160] - net: openvswitch: Remove unnecessary skb_nfct() (Antoine Tenart) [2020160] - openvswitch: meter: fix race when getting now_ms. (Antoine Tenart) [2020160] - net: openvswitch: Use 'skb_push_rcsum()' instead of hand coding it (Antoine Tenart) [2020160] - openvswitch: Fix a typo (Antoine Tenart) [2020160] - openvswitch: Warn over-mtu packets only if iface is UP. (Antoine Tenart) [2020160] - openvswitch: meter: remove rate from the bucket size calculation (Antoine Tenart) [2020160] - net: openvswitch: use core API to update/provide stats (Antoine Tenart) [2020160] - net: openvswitch: use new function dev_fetch_sw_netstats (Antoine Tenart) [2020160] - net: openvswitch: use dev_sw_netstats_rx_add() (Antoine Tenart) [2020160] - net: openvswitch: Constify static struct genl_small_ops (Antoine Tenart) [2020160] - selftests: add a test case for mirred egress to ingress (Xin Long) [1983894] - net: sched: act_mirred: drop dst for the direction from egress to ingress (Xin Long) [1983894] - usb: hso: fix error handling code of hso_create_net_device (José Ignacio Tornos Martínez) [1986489] {CVE-2021-37159} - i40e: Fix freeing of uninitialized misc IRQ vector (Stefan Assmann) [1990683] - x86/topology: Make __max_die_per_package available unconditionally (Aristeu Rozanski) [1949284] - x86/cpu/amd: Set __max_die_per_package on AMD (Aristeu Rozanski) [1949284] - x86/topology: Set cpu_die_id only if DIE_TYPE found (Aristeu Rozanski) [1949284] - x86/mce: Drop AMD-specific "DEFERRED" case from Intel severity rule list (Aristeu Rozanski) [1949284] - EDAC/mce_amd: Add new error descriptions for existing types (Aristeu Rozanski) [1949284] - x86/mce/amd, edac: Remove report_gart_errors (Aristeu Rozanski) [1949284] - x86/mce/amd: Make threshold bank setting hotplug robust (Aristeu Rozanski) [1949284] - x86/mce/amd: Cleanup threshold device remove path (Aristeu Rozanski) [1949284] - x86/mce/amd: Straighten CPU hotplug path (Aristeu Rozanski) [1949284] - x86/mce/amd: Sanitize thresholding device creation hotplug path (Aristeu Rozanski) [1949284] - x86/mce/amd: Protect a not-fully initialized bank from the thresholding interrupt (Aristeu Rozanski) [1949284] - x86/mce/amd: Init thresholding machinery only on relevant vendors (Aristeu Rozanski) [1949284] - x86/mce/amd: Do proper cleanup on error paths (Aristeu Rozanski) [1949284] - x86/mce/amd: Fix kobject lifetime (Aristeu Rozanski) [1949284] - x86/mce/amd: Publish the bank pointer only after setup has succeeded (Aristeu Rozanski) [1949284] - x86/mce/amd: Make disable_err_thresholding() static (Aristeu Rozanski) [1949284] - x86/MCE: Determine MCA banks' init state properly (Aristeu Rozanski) [1949284] - x86/MCE: Group AMD function prototypes in (Aristeu Rozanski) [1949284] - x86/MCE: Switch to use the new generic UUID API (Aristeu Rozanski) [1949284] - ipv4: fix endianness issue in inet_rtm_getroute_build_skb() (Guillaume Nault) [2022057] - net: igmp: fix data-race in igmp_ifc_timer_expire() (Guillaume Nault) [2022057] - net/ipv4: swap flow ports when validating source (Guillaume Nault) [2022057] - tools headers UAPI: Sync linux/in.h copy with the kernel sources (Guillaume Nault) [2022057] - icmp: don't send out ICMP messages with a source address of 0.0.0.0 (Guillaume Nault) [2022057] - cipso: correct comments of cipso_v4_cache_invalidate() (Guillaume Nault) [2022057] - crypto: ccp - Make use of the helper macro kthread_run() (Vladis Dronov) [1997593] - crypto: ccp - Fix whitespace in sev_cmd_buffer_len() (Vladis Dronov) [1997593] - crypto: ccp - fix resource leaks in ccp_run_aes_gcm_cmd() (Vladis Dronov) [1997593] - crypto: jitter - consider 32 LSB for APT (Herbert Xu) [1994390] - rcu: Tighten rcu_advance_cbs_nowake() checks (Daniel Vacek) [2013408] - cxgb3: Remove seeprom_write and use VPD API (Myron Stowe) [2019086] - cxgb3: Use VPD API in t3_seeprom_wp() (Myron Stowe) [2019086] - cxgb3: Remove t3_seeprom_read and use VPD API (Myron Stowe) [2019086] - PCI/VPD: Use pci_read_vpd_any() in pci_vpd_size() (Myron Stowe) [2019086] - PCI/VPD: Add pci_read/write_vpd_any() (Myron Stowe) [2019086] - PCI/VPD: Defer VPD sizing until first access (Myron Stowe) [2019086] - PCI/VPD: Use unaligned access helpers (Myron Stowe) [2019086] - PCI/VPD: Clean up public VPD defines and inline functions (Myron Stowe) [2019086] - cxgb4: Use pci_vpd_find_id_string() to find VPD ID string (Myron Stowe) [2019086] - PCI/VPD: Add pci_vpd_find_id_string() (Myron Stowe) [2019086] - PCI/VPD: Include post-processing in pci_vpd_find_tag() (Myron Stowe) [2019086] - PCI/VPD: Stop exporting pci_vpd_find_info_keyword() (Myron Stowe) [2019086] - PCI/VPD: Stop exporting pci_vpd_find_tag() (Myron Stowe) [2019086] - scsi: cxlflash: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - cxgb4: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - cxgb4: Remove unused vpd_param member ec (Myron Stowe) [2019086] - cxgb4: Validate VPD checksum with pci_vpd_check_csum() (Myron Stowe) [2019086] - bnxt: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - bnxt: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - bnx2x: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - bnx2x: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - bnx2: Replace open-coded byte swapping with swab32s() (Myron Stowe) [2019086] - bnx2: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - sfc: falcon: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - sfc: falcon: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - tg3: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - tg3: Validate VPD checksum with pci_vpd_check_csum() (Myron Stowe) [2019086] - tg3: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - sfc: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - sfc: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - PCI/VPD: Add pci_vpd_check_csum() (Myron Stowe) [2019086] - PCI/VPD: Add pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - PCI/VPD: Add pci_vpd_alloc() (Myron Stowe) [2019086] - PCI/VPD: Treat invalid VPD like missing VPD capability (Myron Stowe) [2019086] - PCI/VPD: Determine VPD size in pci_vpd_init() (Myron Stowe) [2019086] - PCI/VPD: Embed struct pci_vpd in struct pci_dev (Myron Stowe) [2019086] - PCI/VPD: Remove struct pci_vpd.valid member (Myron Stowe) [2019086] - PCI/VPD: Remove struct pci_vpd_ops (Myron Stowe) [2019086] - PCI/VPD: Reorder pci_read_vpd(), pci_write_vpd() (Myron Stowe) [2019086] - PCI/VPD: Remove struct pci_vpd.flag (Myron Stowe) [2019086] - PCI/VPD: Make pci_vpd_wait() uninterruptible (Myron Stowe) [2019086] - PCI/VPD: Remove pci_vpd_size() old_size argument (Myron Stowe) [2019086] - PCI/VPD: Allow access to valid parts of VPD if some is invalid (Myron Stowe) [2019086] - PCI/VPD: Don't check Large Resource Item Names for validity (Myron Stowe) [2019086] - PCI/VPD: Reject resource tags with invalid size (Myron Stowe) [2019086] - PCI/VPD: Treat initial 0xff as missing EEPROM (Myron Stowe) [2019086] - PCI/VPD: Check Resource Item Names against those valid for type (Myron Stowe) [2019086] - PCI/VPD: Correct diagnostic for VPD read failure (Myron Stowe) [2019086] - net: create netdev->dev_addr assignment helpers (Josef Oskera) [2016478] - scsi: ibmvfc: Fix up duplicate response detection (Steve Best) [2015732] - scsi: core: Avoid leaving shost->last_reset with stale value if EH does not run (Ewan D. Milne) [2011330] - libbpf: Add support for new llvm bpf relocations (Yauheni Kaliuta) [1944799] - libbpf: Fix memory leak in strset (Yauheni Kaliuta) [1944799] - selftests: bpf: skip test_doc_build.sh (Yauheni Kaliuta) [1944799] - bpf: Stop caching subprog index in the bpf_pseudo_func insn (Yauheni Kaliuta) [1944799] - redhat/configs: enable CONFIG_BPF_UNPRIV_DEFAULT_OFF (Yauheni Kaliuta) [1944799] - kbuild: Quote OBJCOPY var to avoid a pahole call break the build (Yauheni Kaliuta) [1944799] - bpf: Fix BPF_JIT kconfig symbol dependency (Yauheni Kaliuta) [1944799] - bpf: Add kconfig knob for disabling unpriv bpf by default (Yauheni Kaliuta) [1944799] - bpf, kconfig: Add consolidated menu entry for bpf with core options (Yauheni Kaliuta) [1944799] - tools/resolve_btfids: Fix warnings (Yauheni Kaliuta) [1944799] - tools/runqslower: Allow substituting custom vmlinux.h for the build (Yauheni Kaliuta) [1944799] - lib/string.c: allow searching for NUL with strnchr (Yauheni Kaliuta) [1944799] - rpmspec: update manpages installation after 5.13 rebase (bpf-helpers, bpf-syscall) (Yauheni Kaliuta) [1944799] - libbpf: Fix segfault in static linker for objects without BTF (Yauheni Kaliuta) [1944799] - bpf: Avoid using ARRAY_SIZE on an uninitialized pointer (Yauheni Kaliuta) [1944799] - bpf: Remove superfluous aux sanitation on subprog rejection (Yauheni Kaliuta) [1944799] - bpf: Clarify a bpf_bprintf_prepare macro (Yauheni Kaliuta) [1944799] - bpf: Fix nested bpf_bprintf_prepare with more per-cpu buffers (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix the snprintf test (Yauheni Kaliuta) [1944799] - bpf: Implement formatted output helpers with bstr_printf (Yauheni Kaliuta) [1944799] - seq_file: Add a seq_bprintf function (Yauheni Kaliuta) [1944799] - bpf: Notify user if we ever hit a bpf_snprintf verifier bug (Yauheni Kaliuta) [1944799] - selftests/bpf: Add a series of tests for bpf_snprintf (Yauheni Kaliuta) [1944799] - bpf: Lock bpf_trace_printk's tmp buf before it is written to (Yauheni Kaliuta) [1944799] - bpf: Add a bpf_snprintf helper (Yauheni Kaliuta) [1944799] - bpf: Factorize bpf_trace_printk and bpf_seq_printf (Yauheni Kaliuta) [1944799] - Stop the ad-hoc games with -Wno-maybe-initialized (Yauheni Kaliuta) [1944799] - kbuild: compute false-positive -Wmaybe-uninitialized cases in Kconfig (Yauheni Kaliuta) [1944799] - bpf: Fix potentially incorrect results with bpf_get_local_storage() (Yauheni Kaliuta) [1944799] - bpf, samples: Fix xdpsock with '-M' parameter missing unload process (Yauheni Kaliuta) [1944799] - libbpf: Don't crash on object files with no symbol tables (Yauheni Kaliuta) [1944799] - libbpf: Fix ELF symbol visibility update logic (Yauheni Kaliuta) [1944799] - bpf, selftests: Adjust few selftest outcomes wrt unreachable code (Yauheni Kaliuta) [1944799] - bpf: Do not mark insn as seen under speculative path verification (Yauheni Kaliuta) [1944799] - bpf: Inherit expanded/patched seen count from old aux data (Yauheni Kaliuta) [1944799] - bpf, selftests: Adjust few selftest result_unpriv outcomes (Yauheni Kaliuta) [1944799] - bpf: Fix BPF_LSM kconfig symbol dependency (Yauheni Kaliuta) [1944799] - selftests/bpf: Add test for l3 use of bpf_redirect_peer (Yauheni Kaliuta) [1944799] - bpftool: Add sock_release help info for cgroup attach/prog load command (Yauheni Kaliuta) [1944799] - bpf, offload: Reorder offload callback 'prepare' in verifier (Yauheni Kaliuta) [1944799] - selftests/bpf: Test ringbuf mmap read-only and read-write restrictions (Yauheni Kaliuta) [1944799] - selftests/bpf: Convert static to global in tc_redirect progs (Yauheni Kaliuta) [1944799] - selftests/bpf: Rewrite test_tc_redirect.sh as prog_tests/tc_redirect.c (Yauheni Kaliuta) [1944799] - libbpf: Provide GELF_ST_VISIBILITY() define for older libelf (Yauheni Kaliuta) [1944799] - bpf: Add deny list of btf ids check for tracing programs (Yauheni Kaliuta) [1944799] - bpf: Forbid trampoline attach for functions with variable arguments (Yauheni Kaliuta) [1944799] - samples/bpf: Consider frame size in tx_only of xdpsock sample (Yauheni Kaliuta) [1944799] - libbpf: Add NULL check to add_dummy_ksym_var (Yauheni Kaliuta) [1944799] - libbpf: Fix signed overflow in ringbuf_process_ring (Yauheni Kaliuta) [1944799] - bpf, selftests: Update array map tests for per-cpu batched ops (Yauheni Kaliuta) [1944799] - bpf: Add batched ops support for percpu array (Yauheni Kaliuta) [1944799] - bpf, docs: Fix literal block for example code (Yauheni Kaliuta) [1944799] - bpf, cpumap: Bulk skb using netif_receive_skb_list (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix field existence CO-RE reloc tests (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix BPF_CORE_READ_BITFIELD() macro (Yauheni Kaliuta) [1944799] - selftests/bpf: Use ASSERT macros in lsm test (Yauheni Kaliuta) [1944799] - selftests/bpf: Test that module can't be unloaded with attached trampoline (Yauheni Kaliuta) [1944799] - selftests/bpf: Add re-attach test to lsm test (Yauheni Kaliuta) [1944799] - selftests/bpf: Add re-attach test to fexit_test (Yauheni Kaliuta) [1944799] - selftests/bpf: Add re-attach test to fentry_test (Yauheni Kaliuta) [1944799] - bpf: Allow trampoline re-attach for tracing and lsm programs (Yauheni Kaliuta) [1944799] - bpf: Document the pahole release info related to libbpf in bpf_devel_QA.rst (Yauheni Kaliuta) [1944799] - selftests/bpf: Document latest Clang fix expectations for linking tests (Yauheni Kaliuta) [1944799] - selftests/bpf: Add map linking selftest (Yauheni Kaliuta) [1944799] - selftests/bpf: Add global variables linking selftest (Yauheni Kaliuta) [1944799] - selftests/bpf: Add function linking selftest (Yauheni Kaliuta) [1944799] - selftests/bpf: Omit skeleton generation for multi-linked BPF object files (Yauheni Kaliuta) [1944799] - selftests/bpf: Use -O0 instead of -Og in selftests builds (Yauheni Kaliuta) [1944799] - libbpf: Support extern resolution for BTF-defined maps in .maps section (Yauheni Kaliuta) [1944799] - libbpf: Add linker extern resolution support for functions and global variables (Yauheni Kaliuta) [1944799] - libbpf: Tighten BTF type ID rewriting with error checking (Yauheni Kaliuta) [1944799] - libbpf: Extend sanity checking ELF symbols with externs validation (Yauheni Kaliuta) [1944799] - libbpf: Make few internal helpers available outside of libbpf.c (Yauheni Kaliuta) [1944799] - libbpf: Factor out symtab and relos sanity checks (Yauheni Kaliuta) [1944799] - libbpf: Refactor BTF map definition parsing (Yauheni Kaliuta) [1944799] - libbpf: Allow gaps in BPF program sections to support overriden weak functions (Yauheni Kaliuta) [1944799] - libbpf: Mark BPF subprogs with hidden visibility as static for BPF verifier (Yauheni Kaliuta) [1944799] - libbpf: Suppress compiler warning when using SEC() macro with externs (Yauheni Kaliuta) [1944799] - bpftool: Dump more info about DATASEC members (Yauheni Kaliuta) [1944799] - bpftool: Support dumping BTF VAR's "extern" linkage (Yauheni Kaliuta) [1944799] - bpf: Remove unnecessary map checks for ARG_PTR_TO_CONST_STR (Yauheni Kaliuta) [1944799] - xsk: Align XDP socket batch size with DPDK (Yauheni Kaliuta) [1944799] - bpf, doc: Fix some invalid links in bpf_devel_QA.rst (Yauheni Kaliuta) [1944799] - net, xdp: Update pkt_type if generic XDP changes unicast MAC (Yauheni Kaliuta) [1944799] - powerpc/ebpf32: Use standard function call for functions within 32M distance (Yauheni Kaliuta) [1944799] - selftests/bpf: Add docs target as all dependency (Yauheni Kaliuta) [1944799] - bpf/selftests: Add bpf_get_task_stack retval bounds test_prog (Yauheni Kaliuta) [1944799] - bpf/selftests: Add bpf_get_task_stack retval bounds verifier test (Yauheni Kaliuta) [1944799] - bpf: Refine retval for bpf_get_task_stack helper (Yauheni Kaliuta) [1944799] - samples/bpf: Fix broken tracex1 due to kprobe argument change (Yauheni Kaliuta) [1944799] - libbpf: Introduce a BPF_SNPRINTF helper macro (Yauheni Kaliuta) [1944799] - libbpf: Initialize the bpf_seq_printf parameters array field by field (Yauheni Kaliuta) [1944799] - bpf: Add a ARG_PTR_TO_CONST_STR argument type (Yauheni Kaliuta) [1944799] - bpftool: Fix a clang compilation warning (Yauheni Kaliuta) [1944799] - selftests/bpf: Silence clang compilation warnings (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix test_cpp compilation failure with clang (Yauheni Kaliuta) [1944799] - selftests: Set CC to clang in lib.mk if LLVM is set (Yauheni Kaliuta) [1944799] - libbpf: Remove unused field. (Yauheni Kaliuta) [1944799] - tools/testing: Remove unused variable (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix the ASSERT_ERR_PTR macro (Yauheni Kaliuta) [1944799] - selftests/bpf: Add tests for target information in bpf_link info queries (Yauheni Kaliuta) [1944799] - bpf: Return target info when a tracing bpf_link is queried (Yauheni Kaliuta) [1944799] - libbpf: Clarify flags in ringbuf helpers (Yauheni Kaliuta) [1944799] - bpf: Sync bpf headers in tooling infrastucture (Yauheni Kaliuta) [1944799] - bpf: Document PROG_TEST_RUN limitations (Yauheni Kaliuta) [1944799] - bpf, inode: Remove second initialization of the bpf_preload_lock (Yauheni Kaliuta) [1944799] - libbpf: Fix KERNEL_VERSION macro (Yauheni Kaliuta) [1944799] - bpf: selftests: Specify CONFIG_DYNAMIC_FTRACE in the testing config (Yauheni Kaliuta) [1944799] - powerpc/bpf: Reallocate BPF registers to volatile registers when possible on PPC32 (Yauheni Kaliuta) [1944799] - powerpc/bpf: Change values of SEEN_ flags (Yauheni Kaliuta) [1944799] - powerpc/bpf: Move common functions into bpf_jit_comp.c (Yauheni Kaliuta) [1944799] - powerpc/bpf: Remove classical BPF support for PPC32 (Yauheni Kaliuta) [1944799] - powerpc/bpf: Move common helpers into bpf_jit.h (Yauheni Kaliuta) [1944799] - powerpc/bpf: Change register numbering for bpf_set/is_seen_register() (Yauheni Kaliuta) [1944799] - libbpf: Remove redundant semi-colon (Yauheni Kaliuta) [1944799] - bpf: Remove repeated struct btf_type declaration (Yauheni Kaliuta) [1944799] - bpf, cgroup: Delete repeated struct bpf_prog declaration (Yauheni Kaliuta) [1944799] - bpf: Remove unused parameter from ___bpf_prog_run (Yauheni Kaliuta) [1944799] - bpf, selftests: test_maps generating unrecognized data section (Yauheni Kaliuta) [1944799] - selftests/bpf: Add an option for a debug shell in vmtest.sh (Yauheni Kaliuta) [1944799] - bpf: Remove redundant assignment of variable id (Yauheni Kaliuta) [1944799] - bpf: Remove unused bpf_load_pointer (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove unused defines (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove mutex and condition variable (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove thread attribute (Yauheni Kaliuta) [1944799] - selftests: xsk: Implement bpf_link test (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove sync_mutex_tx and atomic var (Yauheni Kaliuta) [1944799] - selftests: xsk: Refactor teardown/bidi test cases and testapp_validate (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove Tx synchronization resources (Yauheni Kaliuta) [1944799] - selftests: xsk: Split worker thread (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove thread for netns switch (Yauheni Kaliuta) [1944799] - samples: bpf: Do not unload prog within xdpsock (Yauheni Kaliuta) [1944799] - libbpf: xsk: Use bpf_link (Yauheni Kaliuta) [1944799] - selftests: xsk: Simplify frame traversal in dumping thread (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove inline keyword from source file (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove unused function (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove struct ifaceconfigobj (Yauheni Kaliuta) [1944799] - selftests: xsk: Don't call worker_pkt_dump() for stats test (Yauheni Kaliuta) [1944799] - libbpf: Fix memory leak when emitting final btf_ext (Yauheni Kaliuta) [1944799] - bpf: selftests: Update clang requirement in README.rst for testing kfunc call (Yauheni Kaliuta) [1944799] - bpf: Update bpf_design_QA.rst to clarify the kfunc call is not ABI (Yauheni Kaliuta) [1944799] - bpf: selftests: Add kfunc_call test (Yauheni Kaliuta) [1944799] - bpf: selftests: Bpf_cubic and bpf_dctcp calling kernel functions (Yauheni Kaliuta) [1944799] - bpf: selftests: Rename bictcp to bpf_cubic (Yauheni Kaliuta) [1944799] - libbpf: Support extern kernel function (Yauheni Kaliuta) [1944799] - libbpf: Record extern sym relocation first (Yauheni Kaliuta) [1944799] - libbpf: Rename RELO_EXTERN to RELO_EXTERN_VAR (Yauheni Kaliuta) [1944799] - libbpf: Refactor codes for finding btf id of a kernel symbol (Yauheni Kaliuta) [1944799] - libbpf: Refactor bpf_object__resolve_ksyms_btf_id (Yauheni Kaliuta) [1944799] - bpf: Support bpf program calling kernel function (Yauheni Kaliuta) [1944799] - bpf: Refactor btf_check_func_arg_match (Yauheni Kaliuta) [1944799] - bpf: Simplify freeing logic in linfo and jited_linfo (Yauheni Kaliuta) [1944799] - libbpf: Preserve empty DATASEC BTFs during static linking (Yauheni Kaliuta) [1944799] - bpf: struct sock is declared twice in bpf_sk_storage header (Yauheni Kaliuta) [1944799] - bpf: Remove unused headers (Yauheni Kaliuta) [1944799] - libbpf: Add bpf object kern_version attribute setter (Yauheni Kaliuta) [1944799] - bpf: selftests: Add tests for batched ops in LPM trie maps (Yauheni Kaliuta) [1944799] - bpf: Add support for batched ops in LPM trie maps (Yauheni Kaliuta) [1944799] - selftests/bpf: Better error messages for ima_setup.sh failures (Yauheni Kaliuta) [1944799] - bpf: Fix NULL pointer dereference in bpf_get_local_storage() helper (Yauheni Kaliuta) [1944799] - libbpf: Constify few bpf_program getters (Yauheni Kaliuta) [1944799] - bpf: Fix typo 'accesible' into 'accessible' (Yauheni Kaliuta) [1944799] - tracing: Fix various typos in comments (Yauheni Kaliuta) [1944799] - libbpf: Skip BTF fixup if object file has no BTF (Yauheni Kaliuta) [1944799] - bpf: Remove insn_buf[] declaration in inner block (Yauheni Kaliuta) [1944799] - selftests/bpf: Add multi-file statically linked BPF object file test (Yauheni Kaliuta) [1944799] - selftests/bpf: Pass all BPF .o's through BPF static linker (Yauheni Kaliuta) [1944799] - selftests/bpf: Re-generate vmlinux.h and BPF skeletons if bpftool changed (Yauheni Kaliuta) [1944799] - bpftool: Add `gen object` command to perform BPF static linking (Yauheni Kaliuta) [1944799] - bpftool: Add ability to specify custom skeleton object name (Yauheni Kaliuta) [1944799] - libbpf: Add BPF static linker BTF and BTF.ext support (Yauheni Kaliuta) [1944799] - libbpf: Add BPF static linker APIs (Yauheni Kaliuta) [1944799] - libbpf: Add generic BTF type shallow copy API (Yauheni Kaliuta) [1944799] - libbpf: Extract internal set-of-strings datastructure APIs (Yauheni Kaliuta) [1944799] - libbpf: Rename internal memory-management helpers (Yauheni Kaliuta) [1944799] - libbpf: Generalize BTF and BTF.ext type ID and strings iteration (Yauheni Kaliuta) [1944799] - libbpf: Expose btf_type_by_id() internally (Yauheni Kaliuta) [1944799] - x86: Fix various typos in comments (Yauheni Kaliuta) [1944799] - selftests/bpf: drop custom NULL #define in skb_pkt_end selftest (Yauheni Kaliuta) [1944799] - libbpf: provide NULL and KERNEL_VERSION macros in bpf_helpers.h (Yauheni Kaliuta) [1944799] - bpf: net: Emit anonymous enum with BPF_TCP_CLOSE value explicitly (Yauheni Kaliuta) [1944799] - selftests/bpf: Use nanosleep() syscall instead of sleep() in get_cgroup_id (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix warning comparing pointer to 0 (Yauheni Kaliuta) [1944799] - selftests/bpf: Build everything in debug mode (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix maybe-uninitialized warning in xdpxceiver test (Yauheni Kaliuta) [1944799] - bpftool: Fix maybe-uninitialized warnings (Yauheni Kaliuta) [1944799] - libbpf: Add explicit padding to bpf_xdp_set_link_opts (Yauheni Kaliuta) [1944799] - kernel/bpf/: Fix misspellings using codespell tool (Yauheni Kaliuta) [1944799] - s390/bpf: Implement new atomic ops (Yauheni Kaliuta) [1944799] - bpf: selftests: Remove unused 'nospace_err' in tests for batched ops in array maps (Yauheni Kaliuta) [1944799] - samples: bpf: Fix a spelling typo in do_hbm_test.sh (Yauheni Kaliuta) [1944799] - libbpf: Avoid inline hint definition from 'linux/stddef.h' (Yauheni Kaliuta) [1944799] - libbpf: xsk: Move barriers from libbpf_util.h to xsk.h (Yauheni Kaliuta) [1944799] - libbpf: xsk: Remove linux/compiler.h header (Yauheni Kaliuta) [1944799] - bpf: Fix warning comparing pointer to 0 (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix warning comparing pointer to 0 (Yauheni Kaliuta) [1944799] - bpf, xdp: Restructure redirect actions (Yauheni Kaliuta) [1944799] - bpf, xdp: Make bpf_redirect_map() a map operation (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix compiler warning in BPF_KPROBE definition in loop6.c (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix typo in Makefile (Yauheni Kaliuta) [1944799] - libbpf: Fix arm64 build (Yauheni Kaliuta) [1944799] - libbpf, xsk: Add libbpf_smp_store_release libbpf_smp_load_acquire (Yauheni Kaliuta) [1944799] - selftests, bpf: Extend test_tc_tunnel test with vxlan (Yauheni Kaliuta) [1944799] - bpf: Add bpf_skb_adjust_room flag BPF_F_ADJ_ROOM_ENCAP_L2_ETH (Yauheni Kaliuta) [1944799] - selftests/bpf: Simplify the calculation of variables (Yauheni Kaliuta) [1944799] - bpf: Simplify the calculation of variables (Yauheni Kaliuta) [1944799] - selftests: bpf: Don't run sk_lookup in verifier tests (Yauheni Kaliuta) [1944799] - selftests: bpf: Check that PROG_TEST_RUN repeats as requested (Yauheni Kaliuta) [1944799] - selftests: bpf: Convert sk_lookup ctx access tests to PROG_TEST_RUN (Yauheni Kaliuta) [1944799] - bpf: Add PROG_TEST_RUN support for sk_lookup programs (Yauheni Kaliuta) [1944799] - bpf: Consolidate shared test timing code (Yauheni Kaliuta) [1944799] - docs/bpf: Add bpf() syscall command reference (Yauheni Kaliuta) [1944799] - selftests/bpf: Test syscall command parsing (Yauheni Kaliuta) [1944799] - selftests/bpf: Templatize man page generation (Yauheni Kaliuta) [1944799] - tools/bpf: Remove bpf-helpers from bpftool docs (Yauheni Kaliuta) [1944799] - scripts/bpf: Add syscall commands printer (Yauheni Kaliuta) [1944799] - tools: Sync uapi bpf.h header with latest changes (Yauheni Kaliuta) [1944799] - scripts/bpf: Abstract eBPF API target parameter (Yauheni Kaliuta) [1944799] - bpf: Document BPF_MAP_*_BATCH syscall commands (Yauheni Kaliuta) [1944799] - bpf: Document BPF_PROG_QUERY syscall command (Yauheni Kaliuta) [1944799] - bpf: Document BPF_PROG_TEST_RUN syscall command (Yauheni Kaliuta) [1944799] - bpf: Document BPF_PROG_ATTACH syscall command (Yauheni Kaliuta) [1944799] - bpf: Document BPF_PROG_PIN syscall command (Yauheni Kaliuta) [1944799] - bpf: Document BPF_F_LOCK in syscall commands (Yauheni Kaliuta) [1944799] - bpf: Add minimal bpf() command documentation (Yauheni Kaliuta) [1944799] - bpf: Import syscall arg documentation (Yauheni Kaliuta) [1944799] - libbpf: Fix whitespace in btf_add_composite() comment (Yauheni Kaliuta) [1944799] - selftests/bpf: Add a verifier scale test with unknown bounded loop (Yauheni Kaliuta) [1944799] - tools, bpf_asm: Exit non-zero on errors (Yauheni Kaliuta) [1944799] - tools, bpf_asm: Hard error on out of range jumps (Yauheni Kaliuta) [1944799] - selftests/bpf: Add arraymap test for bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - selftests/bpf: Add hashmap test for bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - bpftool: Print subprog address properly (Yauheni Kaliuta) [1944799] - libbpf: Support subprog address relocation (Yauheni Kaliuta) [1944799] - libbpf: Move function is_ldimm64() earlier in libbpf.c (Yauheni Kaliuta) [1944799] - bpf: Add arraymap support for bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - bpf: Add hashtab support for bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - bpf: Add bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - bpf: Change return value of verifier function add_subprog() (Yauheni Kaliuta) [1944799] - bpf: Refactor check_func_call() to allow callback function (Yauheni Kaliuta) [1944799] - bpf: Factor out verbose_invalid_scalar() (Yauheni Kaliuta) [1944799] - bpf: Factor out visit_func_call_insn() in check_cfg() (Yauheni Kaliuta) [1944799] - selftests/bpf: Copy extras in out-of-srctree builds (Yauheni Kaliuta) [1944799] - selftests/bpf: Propagate error code of the command to vmtest.sh (Yauheni Kaliuta) [1944799] - selftests/bpf: Introduce xsk statistics tests (Yauheni Kaliuta) [1944799] - selftests/bpf: Restructure xsk selftests (Yauheni Kaliuta) [1944799] - selftests/bpf: Expose and rename debug argument (Yauheni Kaliuta) [1944799] - selftest/bpf: Make xsk tests less verbose (Yauheni Kaliuta) [1944799] - bpf: Rename fixup_bpf_calls and add some comments (Yauheni Kaliuta) [1944799] - bpf: Use MAX_BPF_FUNC_REG_ARGS macro (Yauheni Kaliuta) [1944799] - bpf: runqslower: Prefer using local vmlimux to generate vmlinux.h (Yauheni Kaliuta) [1944799] - bpf: Add kernel/modules BTF presence checks to bpftool feature command (Yauheni Kaliuta) [1944799]- netfilter: log: work around missing softdep backend module (Florian Westphal) [2017794] - netfilter: nft_ct: protect nft_ct_pcpu_template_refcnt with mutex (Florian Westphal) [2017794] - netfilter: Fix fall-through warnings for Clang (Florian Westphal) [2017794] - netfilter: nft_nat: allow to specify layer 4 protocol NAT only (Florian Westphal) [2017794] - netfilter: conntrack: adjust stop timestamp to real expiry value (Florian Westphal) [2017794] - netfilter: ipvs: make global sysctl readonly in non-init netns (Florian Westphal) [2017794] - ipvs: fix possible memory leak in ip_vs_control_net_init (Florian Westphal) [2017794] - ipvs: fix the connection sync failed in some cases (Florian Westphal) [2017794] - net: Fix offloading indirect devices dependency on qdisc order creation (Davide Caratti) [1997381] - net/core: Remove unused field from struct flow_indr_dev (Davide Caratti) [1997381] - Drivers: hv: balloon: Use VMBUS_RING_SIZE() wrapper for dm_ring_size (Vitaly Kuznetsov) [2019101] - hv_balloon: Remove redundant assignment to region_start (Vitaly Kuznetsov) [2019101] - hv_balloon: disable warning when floor reached (Vitaly Kuznetsov) [2019101] - net/tls: Fix flipped sign in async_wait.err assignment (Sabrina Dubroca) [2019176] - net/tls: Fix flipped sign in tls_err_abort() calls (Sabrina Dubroca) [2019176] - tls: prevent oversized sendfile() hangs by ignoring MSG_MORE (Sabrina Dubroca) [2019176] - tls splice: remove inappropriate flags checking for MSG_PEEK (Sabrina Dubroca) [2019176] - net/tls: Fix use-after-free after the TLS device goes down and up (Sabrina Dubroca) [2019176] - net/tls: Replace TLS_RX_SYNC_RUNNING with RCU (Sabrina Dubroca) [2019176] - tls splice: check SPLICE_F_NONBLOCK instead of MSG_DONTWAIT (Sabrina Dubroca) [2019176] - net/tls: Remove redundant initialization of record (Sabrina Dubroca) [2019176] - ibmvnic: don't stop queue in xmit (Diego Domingos) [2011995] - selftests: net: switch to socat in the GSO GRE test (Hangbin Liu) [2018059] - selftests: net: properly support IPv6 in GSO GRE test (Hangbin Liu) [2018059] - kselftests/net: add missed setup_loopback.sh/setup_veth.sh to Makefile (Hangbin Liu) [2018059] - selftests: add simple GSO GRE test (Hangbin Liu) [2018059] - selftests/net: allow GRO coalesce test on veth (Hangbin Liu) [2018059] - selftests/net: GRO coalesce test (Hangbin Liu) [2018059] - perf/x86: Reset destroy callback on event init failure (Michael Petlan) [2003982] - x86/msr: Define new bits in TSX_FORCE_ABORT MSR (Michael Petlan) [2003982] - perf script: Fix --list-dlfilters documentation (Michael Petlan) [2003982] - perf/x86/intel/uncore: Fix IIO cleanup mapping procedure for SNR/ICX (Michael Petlan) [2003982] - Revert "perf map: Fix dso->nsinfo refcounting" (Michael Petlan) [2003982] - perf pmu: Fix alias matching (Michael Petlan) [2003982] - perf cs-etm: Split --dump-raw-trace by AUX records (Michael Petlan) [2003982] - perf sched: Fix record failure when CONFIG_SCHEDSTATS is not set (Michael Petlan) [2003982] - perf probe: Fix add event failure when running 32-bit perf in a 64-bit kernel (Michael Petlan) [2003982] - perf data: Close all files in close_dir() (Michael Petlan) [2003982] - perf probe-file: Delete namelist in del_events() on the error path (Michael Petlan) [2003982] - perf test bpf: Free obj_buf (Michael Petlan) [2003982] - perf trace: Free strings in trace__parse_events_option() (Michael Petlan) [2003982] - perf trace: Free syscall tp fields in evsel->priv (Michael Petlan) [2003982] - perf trace: Free syscall->arg_fmt (Michael Petlan) [2003982] - perf trace: Free malloc'd trace fields on exit (Michael Petlan) [2003982] - perf lzma: Close lzma stream on exit (Michael Petlan) [2003982] - perf script: Fix memory 'threads' and 'cpus' leaks on exit (Michael Petlan) [2003982] - perf script: Release zstd data (Michael Petlan) [2003982] - perf session: Cleanup trace_event (Michael Petlan) [2003982] - perf inject: Close inject.output on exit (Michael Petlan) [2003982] - perf report: Free generated help strings for sort option (Michael Petlan) [2003982] - perf env: Fix memory leak of cpu_pmu_caps (Michael Petlan) [2003982] - perf test maps__merge_in: Fix memory leak of maps (Michael Petlan) [2003982] - perf dso: Fix memory leak in dso__new_map() (Michael Petlan) [2003982] - perf test event_update: Fix memory leak of unit (Michael Petlan) [2003982] - perf test event_update: Fix memory leak of evlist (Michael Petlan) [2003982] - perf test session_topology: Delete session->evlist (Michael Petlan) [2003982] - perf env: Fix sibling_dies memory leak (Michael Petlan) [2003982] - perf probe: Fix dso->nsinfo refcounting (Michael Petlan) [2003982] - perf map: Fix dso->nsinfo refcounting (Michael Petlan) [2003982] - perf inject: Fix dso->nsinfo refcounting (Michael Petlan) [2003982] - perf cs-etm: Split Coresight decode by aux records (Michael Petlan) [2003982] - perf sched: Cast PTHREAD_STACK_MIN to int as it may turn into sysconf(__SC_THREAD_STACK_MIN_VALUE) (Michael Petlan) [2003982] - libperf: Fix build error with LIBPFM4=1 (Michael Petlan) [2003982] - perf stat: Merge uncore events by default for hybrid platform (Michael Petlan) [2003982] - perf tests: Fix 'Convert perf time to TSC' on core-only system (Michael Petlan) [2003982] - perf tests: Fix 'Roundtrip evsel->name' on core-only system (Michael Petlan) [2003982] - perf tests: Fix 'Parse event definition strings' on core-only system (Michael Petlan) [2003982] - perf pmu: Skip invalid hybrid pmu (Michael Petlan) [2003982] - perf test: Add free() calls for scandir() returned dirent entries (Michael Petlan) [2003982] - libperf: Add tests for perf_evlist__set_leader() (Michael Petlan) [2003982] - libperf: Remove BUG_ON() from library code in get_group_fd() (Michael Petlan) [2003982] - libperf: Add group support to perf_evsel__open() (Michael Petlan) [2003982] - perf tools: Fix pattern matching for same substring in different PMU type (Michael Petlan) [2003982] - perf record: Add a dummy event on hybrid systems to collect metadata records (Michael Petlan) [2003982] - perf stat: Add Topdown metrics L2 events as default events (Michael Petlan) [2003982] - libperf: Adopt evlist__set_leader() from tools/perf as perf_evlist__set_leader() (Michael Petlan) [2003982] - libperf: Move 'nr_groups' from tools/perf to evlist::nr_groups (Michael Petlan) [2003982] - libperf: Move 'leader' from tools/perf to perf_evsel::leader (Michael Petlan) [2003982] - libperf: Move 'idx' from tools/perf to perf_evsel::idx (Michael Petlan) [2003982] - libperf: Change tests to single static and shared binaries (Michael Petlan) [2003982] - perf intel-pt: Add a config for max loops without consuming a packet (Michael Petlan) [2003982] - perf stat: Disable the NMI watchdog message on hybrid (Michael Petlan) [2003982] - perf trace: Fix the perf trace link location (Michael Petlan) [2003982] - perf top: Fix overflow in elf_sec__is_text() (Michael Petlan) [2003982] - perf annotate: Fix 's' on source line when disasm is empty (Michael Petlan) [2003982] - perf probe: Do not show @plt function by default (Michael Petlan) [2003982] - perf symbol-elf: Decode dynsym even if symtab exists (Michael Petlan) [2003982] - perf probe: Fix debuginfo__new() to enable build-id based debuginfo (Michael Petlan) [2003982] - perf stat: Enable BPF counter with --for-each-cgroup (Michael Petlan) [2003982] - perf report: Fix --task and --stat with pipe input (Michael Petlan) [2003982] - perf session: Add missing evlist__delete when deleting a session (Michael Petlan) [2003982] - perf annotate: Allow 's' on source code lines (Michael Petlan) [2003982] - perf dlfilter: Add object_code() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf dlfilter: Add attr() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf dlfilter: Add srcline() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf dlfilter: Add insn() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf dlfilter: Add resolve_address() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf build: Install perf_dlfilter.h (Michael Petlan) [2003982] - perf script: Add option to pass arguments to dlfilters (Michael Petlan) [2003982] - perf script: Add option to list dlfilters (Michael Petlan) [2003982] - perf script: Add dlfilter__filter_event_early() (Michael Petlan) [2003982] - perf script: Add API for filtering via dynamically loaded shared object (Michael Petlan) [2003982] - perf llvm: Return -ENOMEM when asprintf() fails (Michael Petlan) [2003982] - perf cs-etm: Delay decode of non-timeless data until cs_etm__flush_events() (Michael Petlan) [2003982] - perf arm-spe: Don't wait for PERF_RECORD_EXIT event (Michael Petlan) [2003982] - perf arm-spe: Bail out if the trace is later than perf event (Michael Petlan) [2003982] - perf arm-spe: Assign kernel time to synthesized event (Michael Petlan) [2003982] - perf arm-spe: Convert event kernel time to counter value (Michael Petlan) [2003982] - perf arm-spe: Save clock parameters from TIME_CONV event (Michael Petlan) [2003982] - perf cs-etm: Remove callback cs_etm_find_snapshot() (Michael Petlan) [2003982] - perf bpf_counter: Move common functions to bpf_counter.h (Michael Petlan) [2003982] - perf tools: Add cgroup_is_v2() helper (Michael Petlan) [2003982] - perf tools: Add read_cgroup_id() function (Michael Petlan) [2003982] - tools lib: Adopt bitmap_intersects() operation from the kernel sources (Michael Petlan) [2003982] - perf top: Add cgroup support for perf top (-G) (Michael Petlan) [2003982] - perf script: Share addr_al between functions (Michael Petlan) [2003982] - perf script: Move filtering before scripting (Michael Petlan) [2003982] - perf script: Move filter_cpu() earlier (Michael Petlan) [2003982] - perf test: Pass the verbose option to shell tests (Michael Petlan) [2003982] - perf probe: Add --bootconfig to output definition in bootconfig format (Michael Petlan) [2003982] - perf probe: Cleanup synthesize_probe_trace_command() (Michael Petlan) [2003982] - perf probe: Support probes on init functions for offline kernel (Michael Petlan) [2003982] - perf test: Make stat bpf counters test more robust (Michael Petlan) [2003982] - perf test: Add verbose skip output for bpf counters (Michael Petlan) [2003982] - perf annotate: Add itrace options support (Michael Petlan) [2003982] - perf mem-events: Remove duplicate #undef (Michael Petlan) [2003982] - perf evsel: Adjust hybrid event and global event mixed group (Michael Petlan) [2003982] - perf probe: Provide clearer message permission error for tracefs access (Michael Petlan) [2003982] - perf auxtrace: Change to use SMP memory barriers (Michael Petlan) [2003982] - perf srccode: Use list_move() instead of equivalent list_del() + list_add() sequence (Michael Petlan) [2003982] - perf probe: Report possible permission error for map__load() failure (Michael Petlan) [2003982] - perf probe: Add permission and sysctl notice to man page (Michael Petlan) [2003982] - perf c2c: Support record for hybrid platform (Michael Petlan) [2003982] - perf mem: Disable 'mem-loads-aux' group before reporting (Michael Petlan) [2003982] - perf mem: Fix wrong verbose output for recording events (Michael Petlan) [2003982] - perf mem: Support record for hybrid platform (Michael Petlan) [2003982] - perf tools: Check if mem_events is supported for hybrid platform (Michael Petlan) [2003982] - perf tools: Support pmu prefix for mem-store event (Michael Petlan) [2003982] - perf tools: Support pmu prefix for mem-load event (Michael Petlan) [2003982] - perf tools: Check mem-loads auxiliary event (Michael Petlan) [2003982] - perf scripting python: intel-pt-events.py: Add --insn-trace and --src-trace (Michael Petlan) [2003982] - perf scripting python: exported-sql-viewer.py: Factor out libxed.py (Michael Petlan) [2003982] - perf scripting python: Update documentation for srcline etc (Michael Petlan) [2003982] - perf scripting python: Add perf_sample_srcline() and perf_sample_srccode() (Michael Petlan) [2003982] - perf scripting python: Add perf_set_itrace_options() (Michael Petlan) [2003982] - perf auxtrace: Factor out itrace_do_parse_synth_opts() (Michael Petlan) [2003982] - perf scripting python: Add perf_sample_insn() (Michael Petlan) [2003982] - perf script: Factor out script_fetch_insn() (Michael Petlan) [2003982] - perf scripting python: Assign perf_script_context (Michael Petlan) [2003982] - perf scripting: Add perf_session to scripting_context (Michael Petlan) [2003982] - perf scripting: Add scripting_context__update() (Michael Petlan) [2003982] - perf scripting python: Simplify perf-trace-context module functions (Michael Petlan) [2003982] - perf scripting python: Remove unnecessary 'static' (Michael Petlan) [2003982] - perf test: Test 2 libpfm4 error cases (Michael Petlan) [2003982] - perf test: Iterate over shell tests in alphabetical order (Michael Petlan) [2003982] - perf probe: Provide more detail with relocation warning (Michael Petlan) [2003982] - perf parse-events: Add bison --file-prefix-map option (Michael Petlan) [2003982] - perf inject: Do not inject BUILD_ID record if MMAP2 has it (Michael Petlan) [2003982] - perf inject: Call dso__put() even if dso->hit is set (Michael Petlan) [2003982] - perf scripts python: intel-pt-events.py: Add branches to script (Michael Petlan) [2003982] - perf scripting python: Add auxtrace error (Michael Petlan) [2003982] - perf scripting python: Add context switch (Michael Petlan) [2003982] - perf scripting python: Add cpumode (Michael Petlan) [2003982] - perf scripting python: Add IPC (Michael Petlan) [2003982] - perf scripting python: Add sample flags (Michael Petlan) [2003982] - perf script: Factor out perf_sample__sprintf_flags() (Michael Petlan) [2003982] - perf scripting python: Add 'addr_location' for 'addr' (Michael Petlan) [2003982] - perf scripting python: Factor out set_sym_in_dict() (Michael Petlan) [2003982] - perf scripting python: Fix tuple_set_u64() (Michael Petlan) [2003982] - perf auxtrace: Make perf_event__process_auxtrace*() callable (Michael Petlan) [2003982] - perf script: Find script file relative to exec path (Michael Petlan) [2003982] - perf arm-spe: Remove redundant checking for "full_auxtrace" (Michael Petlan) [2003982] - perf arm-spe: Enable timestamp for per-cpu mode (Michael Petlan) [2003982] - perf arm-spe: Correct sample flags for dummy event (Michael Petlan) [2003982] - perf arm-spe: Correct sample flags for SPE event (Michael Petlan) [2003982] - perf vendor events intel: Update event list for Icelake Client (Michael Petlan) [2003982] - perf vendor events intel: Add uncore event list for Icelake Server (Michael Petlan) [2003982] - perf vendor events intel: Add core event list for Icelake Server (Michael Petlan) [2003982] - perf tests: Drop __maybe_unused on x86 test declarations (Michael Petlan) [2003982] - perf tests: Consolidate test__arch_unwind_sample declaration (Michael Petlan) [2003982] - perf build: Improve error message for old/missing clang (Michael Petlan) [2003982] - perf tools: Test build with libbpf/LIBBPF_DYNAMIC=1 (Michael Petlan) [2003982] - perf tools: Test build with libopencsd/CORESIGHT=1 (Michael Petlan) [2003982] - perf cs-etm: Prevent and warn on underflows during timestamp calculation. (Michael Petlan) [2003982] - perf cs-etm: Start reading 'Z' --itrace option (Michael Petlan) [2003982] - perf cs-etm: Move synth_opts initialisation (Michael Petlan) [2003982] - perf header: Support HYBRID_CPU_PMU_CAPS feature (Michael Petlan) [2003982] - perf header: Support HYBRID_TOPOLOGY feature (Michael Petlan) [2003982] - perf cs-etm: Set time on synthesised samples to preserve ordering (Michael Petlan) [2003982] - perf cs-etm: Refactor timestamp variable names (Michael Petlan) [2003982] - perf x86 kvm-stat: Support to analyze kvm MSR (Michael Petlan) [2003982] - perf stat: Use aggregated counts directly (Michael Petlan) [2003982] - perf record: Set timestamp boundary for AUX area events (Michael Petlan) [2003982] - perf intel-pt: Parse VM Time Correlation options and set up decoding (Michael Petlan) [2003982] - perf intel-pt: Add VM Time Correlation to decoder (Michael Petlan) [2003982] - perf intel-pt: Better 7-byte timestamp wraparound logic (Michael Petlan) [2003982] - perf intel-pt: Pass the first timestamp to the decoder (Michael Petlan) [2003982] - perf intel-pt: Add a tree for VMCS information (Michael Petlan) [2003982] - perf intel-pt: Let overlap detection handle VM timestamps (Michael Petlan) [2003982] - perf auxtrace: Allow buffers to be mapped read / write (Michael Petlan) [2003982] - perf inject: Add --vm-time-correlation option (Michael Petlan) [2003982] - perf inject: Add facility to do in place update (Michael Petlan) [2003982] - perf intel-pt: Support Z itrace option for timeless decoding (Michael Petlan) [2003982] - perf intel-pt: Move synth_opts initialization earlier (Michael Petlan) [2003982] - perf auxtrace: Add Z itrace option for timeless decoding (Michael Petlan) [2003982] - perf/x86/amd/power: Assign pmu.module (Michael Petlan) [2003982] - perf/x86/amd/ibs: Extend PERF_PMU_CAP_NO_EXCLUDE to IBS Op (Michael Petlan) [2003982] - perf/x86/amd/ibs: Work around erratum #1197 (Michael Petlan) [2003982] - perf/x86/intel/uncore: Fix integer overflow on 23 bit left shift of a u32 (Michael Petlan) [2003982] - perf/x86/intel/pt: Fix mask of num_address_ranges (Michael Petlan) [2003982] - perf/x86: Fix out of bound MSR access (Michael Petlan) [2003982] - perf/x86/cstate: Add ICELAKE_X and ICELAKE_D support (Michael Petlan) [2003982] - perf: MAP_EXECUTABLE does not indicate VM_MAYEXEC (Michael Petlan) [2003982] - arm64: perf: Simplify EVENT ATTR macro in perf_event.c (Michael Petlan) [2003982] - arm64: perf: Simplify the ARMv8 PMUv3 event attributes (Michael Petlan) [2003982] - arm64: perf: Remove unused macro (Michael Petlan) [2003982] - drivers/perf: Simplify EVENT ATTR macro in qcom_l2_pmu.c (Michael Petlan) [2003982] - drivers/perf: Simplify EVENT ATTR macro in qcom_l3_pmu.c (Michael Petlan) [2003982] - drivers/perf: Simplify EVENT ATTR macro in xgene_pmu.c (Michael Petlan) [2003982] - drivers/perf: convert sysfs sprintf family to sysfs_emit (Michael Petlan) [2003982] - drivers/perf: convert sysfs scnprintf family to sysfs_emit_at() and sysfs_emit() (Michael Petlan) [2003982] - perf: arm-ccn: Use scnprintf() for robustness (Michael Petlan) [2003982] - drivers/perf: convert sysfs snprintf family to sysfs_emit (Michael Petlan) [2003982] - perf: Add EVENT_ATTR_ID to simplify event attributes (Michael Petlan) [2003982] - perf/x86/intel: Fix instructions:ppp support in Sapphire Rapids (Michael Petlan) [2003982] - perf/x86/intel: Add more events requires FRONTEND MSR on Sapphire Rapids (Michael Petlan) [2003982] - perf/x86: Reset the dirty counter to prevent the leak for an RDPMC task (Michael Petlan) [2003982] - uprobes: Update uprobe_write_opcode() kernel-doc comment (Michael Petlan) [2003982] - perf/hw_breakpoint: Fix DocBook warnings in perf hw_breakpoint (Michael Petlan) [2003982] - perf/core: Fix DocBook warnings (Michael Petlan) [2003982] - perf/core: Make local function perf_pmu_snapshot_aux() static (Michael Petlan) [2003982] - perf/x86/intel/uncore: Enable I/O stacks to IIO PMON mapping on ICX (Michael Petlan) [2003982] - perf/x86/intel/uncore: Enable I/O stacks to IIO PMON mapping on SNR (Michael Petlan) [2003982] - perf/x86/intel/uncore: Generalize I/O stacks to PMON mapping procedure (Michael Petlan) [2003982] - perf/x86/intel/uncore: Drop unnecessary NULL checks after container_of() (Michael Petlan) [2003982] - x86/events/intel: Do not deploy TSX force abort workaround when TSX is deprecated (Michael Petlan) [2003982] - netpoll: don't require irqs disabled in rt kernels (Wander Lairson Costa) [1905440] - net/netif_receive_skb_core: Use migrate_disable() (Luis Claudio R. Goncalves) [2024168] - RDMA/qedr: Fix NULL deref for query_qp on the GSI QP (Kamal Heib) [2006260 1984280] - RDMA/core: Always release restrack object (Kamal Heib) [2006260] - RDMA/core: Fix incorrect print format specifier (Kamal Heib) [2006260] - RDMA: Remove rdma_set_device_sysfs_group() (Kamal Heib) [2006260] - RDMA/core: Allow port_groups to be used with namespaces (Kamal Heib) [2006260] - RDMA: Change ops->init_port to ops->port_groups (Kamal Heib) [2006260] - RDMA/hfi1: Use attributes for the port sysfs (Kamal Heib) [2006260 1989164] - RDMA/cm: Use an attribute_group on the ib_port_attribute intead of kobj's (Kamal Heib) [2006260] - RDMA/core: Expose the ib port sysfs attribute machinery (Kamal Heib) [2006260] - RDMA/core: Remove the kobject_uevent() NOP (Kamal Heib) [2006260] - RDMA/core: Create the device hw_counters through the normal groups mechanism (Kamal Heib) [2006260] - RDMA/core: Simplify how the port sysfs is created (Kamal Heib) [2006260] - RDMA/core: Simplify how the gid_attrs sysfs is created (Kamal Heib) [2006260] - RDMA/core: Split gid_attrs related sysfs from add_port() (Kamal Heib) [2006260] - RDMA/core: Split port and device counter sysfs attributes (Kamal Heib) [2006260] - RDMA/core: Replace the ib_port_data hw_stats pointers with a ib_port pointer (Kamal Heib) [2006260] - RDMA: Split the alloc_hw_stats() ops to port and device variants (Kamal Heib) [2006260] - RDMA/rxe: Zero out index member of struct rxe_queue (Kamal Heib) [2006260] - RDMA/efa: Free IRQ vectors on error flow (Kamal Heib) [2006260] - RDMA/rxe: Fix memory allocation while in a spin lock (Kamal Heib) [2006260] - IB/hfi1: Fix possible null-pointer dereference in _extend_sdma_tx_descs() (Kamal Heib) [2006260 1989164] - RDMA/rxe: Restore setting tot_len in the IPv4 header (Kamal Heib) [2006260] - RDMA/rxe: Use the correct size of wqe when processing SRQ (Kamal Heib) [2006260] - RDMA/cma: Revert INIT-INIT patch (Kamal Heib) [2006260] - RDMA/rxe: Fix memory leak in error path code (Kamal Heib) [2006260] - RDMA/rxe: Missing unlock on error in get_srq_wqe() (Kamal Heib) [2006260] - RDMA/cma: Fix rdma_resolve_route() memory leak (Kamal Heib) [2006260] - RDMA/core/sa_query: Remove unused argument (Kamal Heib) [2006260] - RDMA/cma: Fix incorrect Packet Lifetime calculation (Kamal Heib) [2006260] - RDMA/cma: Protect RMW with qp_mutex (Kamal Heib) [2006260] - RDMA/cma: Remove unnecessary INIT->INIT transition (Kamal Heib) [2006260] - RDMA/rxe: Fix redundant skb_put_zero (Kamal Heib) [2006260] - RDMA/rxe: Fix extra copy in prepare_ack_packet (Kamal Heib) [2006260] - RDMA/rxe: Fix over copying in get_srq_wqe (Kamal Heib) [2006260] - RDMA/rxe: Fix extra copies in build_rdma_network_hdr (Kamal Heib) [2006260] - RDMA/rxe: Fix redundant call to ip_send_check (Kamal Heib) [2006260] - RDMA/rxe: Fix useless copy in send_atomic_ack (Kamal Heib) [2006260] - RDMA/core: Use flexible array for mad data (Kamal Heib) [2006260] - RDMA/rxe: Don't overwrite errno from ib_umem_get() (Kamal Heib) [2006260] - IB/core: Shuffle locks in ib_port_data to save memory (Kamal Heib) [2006260] - IB/core: Removed port validity check from ib_get_cached_subnet_prefix (Kamal Heib) [2006260] - RDMA: Fix kernel-doc warnings about wrong comment (Kamal Heib) [2006260] - RDMA/rxe: Disallow MR dereg and invalidate when bound (Kamal Heib) [2006260] - RDMA/rxe: Implement memory access through MWs (Kamal Heib) [2006260] - RDMA/rxe: Implement invalidate MW operations (Kamal Heib) [2006260] - RDMA/rxe: Add support for bind MW work requests (Kamal Heib) [2006260] - RDMA/rxe: Move local ops to subroutine (Kamal Heib) [2006260] - RDMA/rxe: Replace WR_REG_MASK by WR_LOCAL_OP_MASK (Kamal Heib) [2006260] - RDMA/rxe: Add ib_alloc_mw and ib_dealloc_mw verbs (Kamal Heib) [2006260] - RDMA/rxe: Enable MW object pool (Kamal Heib) [2006260] - RDMA/rxe: Return errors for add index and key (Kamal Heib) [2006260] - RDMA/rxe: Add bind MW fields to rxe_send_wr (Kamal Heib) [2006260] - RDMA/rxe: Fix qp reference counting for atomic ops (Kamal Heib) [2006260] - IB/cm: Remove dgid from the cm_id_priv av (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of ib_uverbs_device (Kamal Heib) [2006260] - RDMA/ipoib: Use refcount_t instead of atomic_t for reference counting (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of mcast_port (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of mcast_member (Kamal Heib) [2006260] - RDMA/core: Remove refcount from struct ib_mad_snoop_private (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of iwpm_admin_data (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of iwcm_id_private (Kamal Heib) [2006260] - RDMA/rxe: Protext kernel index from user space (Kamal Heib) [2006260] - RDMA/rxe: Protect user space index loads/stores (Kamal Heib) [2006260] - RDMA/rxe: Add a type flag to rxe_queue structs (Kamal Heib) [2006260] - IB/cm: Protect cm_dev, cm_ports and mad_agent with kref and lock (Kamal Heib) [2006260] - IB/cm: Improve the calling of cm_init_av_for_lap and cm_init_av_by_path (Kamal Heib) [2006260] - IB/cm: Simplify ib_cancel_mad() and ib_modify_mad() calls (Kamal Heib) [2006260] - Revert "IB/cm: Mark stale CM id's whenever the mad agent was unregistered" (Kamal Heib) [2006260] - IB/cm: Tidy remaining cm_msg free paths (Kamal Heib) [2006260] - IB/cm: Call the correct message free functions in cm_send_handler() (Kamal Heib) [2006260] - IB/cm: Split cm_alloc_msg() (Kamal Heib) [2006260] - IB/cm: Pair cm_alloc_response_msg() with a cm_free_response_msg() (Kamal Heib) [2006260] - RDMA/core: Sanitize WQ state received from the userspace (Kamal Heib) [2006260] - RDMA/srp: Use DEVICE_ATTR_*() macros (Kamal Heib) [2006260] - RDMA/core: Use the DEVICE_ATTR_RO macro (Kamal Heib) [2006260] - IB/ipoib: Use DEVICE_ATTR_*() macros (Kamal Heib) [2006260] - IB/core: Only update PKEY and GID caches on respective events (Kamal Heib) [2006260] - RDMA/srp: Fix a recently introduced memory leak (Kamal Heib) [2006260] - RDMA/srp: Add more structure size checks (Kamal Heib) [2006260] - IB/hfi1: Move a function from a header file into a .c file (Kamal Heib) [2006260 1989164] - IB/hfi1: Remove the repeated declaration (Kamal Heib) [2006260 1989164] - IB/hfi1: Delete an unneeded bool conversion (Kamal Heib) [2006260 1989164] - RDMA: Remove unnecessary struct declaration (Kamal Heib) [2006260] - RDMA/core: Remove never used ib_modify_wq function call (Kamal Heib) [2006260] - IB/srpt: Remove redundant assignment to ret (Kamal Heib) [2006260] - RDMA/ucma: Cleanup to reduce duplicate code (Kamal Heib) [2006260] - RDMA/umem: batch page unpin in __ib_umem_release() (Kamal Heib) [2006259] - RDMA/rxe: Return CQE error if invalid lkey was supplied (Kamal Heib) [2006259] - RDMA/nldev: Add copy-on-fork attribute to get sys command (Kamal Heib) [2006259] - IB/hfi1: Remove redundant variable rcd (Kamal Heib) [2006259 1989164] - RDMA/nldev: Add QP numbers to SRQ information (Kamal Heib) [2006259] - RDMA/nldev: Return SRQ information (Kamal Heib) [2006259] - RDMA/restrack: Add support to get resource tracking for SRQ (Kamal Heib) [2006259] - RDMA/nldev: Return context information (Kamal Heib) [2006259] - RDMA/cma: Skip device which doesn't support CM (Kamal Heib) [2006259 1957239] - IB/ipoib: Remove unnecessary struct declaration (Kamal Heib) [2006259] - IB/ipoib: Improve latency in ipoib/cm connection formation (Kamal Heib) [2006259] - RDMA/ipoib: Print a message if only child interface is UP (Kamal Heib) [2006259] - RDMA/uverbs: Make UVERBS_OBJECT_METHODS to consider line number (Kamal Heib) [2006259] - IB/hfi1: Rework AIP and VNIC dummy netdev usage (Kamal Heib) [2006259 1989164] - IB/cma: Introduce rdma_set_min_rnr_timer() (Kamal Heib) [2006259] - RDMA/core: Correct format of block comments (Kamal Heib) [2006259] - RDMA/core: Correct format of braces (Kamal Heib) [2006259] - RDMA/core: Remove redundant spaces (Kamal Heib) [2006259] - RDMA/core: Add necessary spaces (Kamal Heib) [2006259] - RDMA/core: Remove the redundant return statements (Kamal Heib) [2006259] - RDMA/core: Print the function name by __func__ instead of an fixed string (Kamal Heib) [2006259] - RDMA/rxe: Fix missing acks from responder (Kamal Heib) [2006259] - RDMA/core: Make the wc status prompt message clearer (Kamal Heib) [2006259] - IB/hfi1: Remove indirect call to hfi1_ipoib_send_dma() (Kamal Heib) [2006259 1989164] - IB/hfi1: Use napi_schedule_irqoff() for tx napi (Kamal Heib) [2006259 1989164] - IB/hfi1: Correct oversized ring allocation (Kamal Heib) [2006259 1989164] - IB/{ipoib,hfi1}: Add a timeout handler for rdma_netdev (Kamal Heib) [2006259 1989164] - IB/hfi1: Add AIP tx traces (Kamal Heib) [2006259 1989164] - RDMA/uverbs: Fix -Wunused-function warning (Kamal Heib) [2006259] - RDMA/iser: struct iscsi_iser_task is declared twice (Kamal Heib) [2006259] - RDMA/rxe: Split MEM into MR and MW (Kamal Heib) [2006259] - RDMA/efa: Use strscpy instead of strlcpy (Kamal Heib) [2006259] - RDMA: Fix a typo (Kamal Heib) [2006259] - IB/hfi1: Fix a typo (Kamal Heib) [2006259 1989164] - RDMA/core: Correct misspellings of two words in comments (Kamal Heib) [2006259] - RDMA/uverbs: Refactor rdma_counter_set_auto_mode and __counter_set_mode (Kamal Heib) [2006259] - RDMA: Support more than 255 rdma ports (Kamal Heib) [2006259 1957239] - RDMA/include: Mundane typo fixes throughout the file (Kamal Heib) [2006259] - RDMA/cma: Remove unused leftovers in cma code (Kamal Heib) [2006259] - RDMA: Fix kernel-doc compilation warnings (Kamal Heib) [2006259] - RDMA/hw/i40iw/i40iw_virtchnl: Fix a bunch of kernel-doc issues (Kamal Heib) [2006259] - RDMA/hw/i40iw/i40iw_utils: Fix some misspellings and missing param descriptions (Kamal Heib) [2006259] - IB/core: Split uverbs_get_const/default to consider target type (Kamal Heib) [2006259] - IB/core: Drop WARN_ON() from ib_umem_find_best_pgsz() (Kamal Heib) [2006259] - RDMA/core: Remove unused req_ncomp_notif device operation (Kamal Heib) [2006259] - RDMA/iwcm: Allow AFONLY binding for IPv6 addresses (Kamal Heib) [2006259] - IB/hfi1: switch to core handling of rx/tx byte/packet counters (Kamal Heib) [2006259 1989164] - RDMA: Convert various random sprintf sysfs _show uses to sysfs_emit (Kamal Heib) [2006259] - RDMA: Manual changes for sysfs_emit and neatening (Kamal Heib) [2006259] - RDMA: Convert sysfs device * show functions to use sysfs_emit() (Kamal Heib) [2006259] - IB/hfi1: use new function dev_fetch_sw_netstats (Kamal Heib) [2006259 1989164] - RDMA/ipoib: Convert to use DEFINE_SEQ_ATTRIBUTE macro (Kamal Heib) [2006259] - include/linux/seq_file.h: introduce DEFINE_SEQ_ATTRIBUTE() helper macro (Kamal Heib) [2006259] - ibmvnic: delay complete() (Diego Domingos) [2019210] - ibmvnic: Process crqs after enabling interrupts (Diego Domingos) [2019210] - Documentation: sysrq: update description about sysrq crash (Chris von Recklinghausen) [2019943] - sysrq: Use panic() to force a crash (Chris von Recklinghausen) [2019943] - ethtool: extend coalesce setting uAPI with CQE mode (Ivan Vecera) [2006829] - ethtool: add two coalesce attributes for CQE mode (Ivan Vecera) [2006829] - ice: Add support for VF rate limiting (Jonathan Toppins) [1973187] - net: Prevent infinite while loop in skb_tx_hash() (Paolo Abeni) [2018437] - napi: fix race inside napi_enable (Paolo Abeni) [2018437] - net/af_unix: fix a data-race in unix_dgram_poll (Paolo Abeni) [2018437] - devlink: Clear whole devlink_flash_notify struct (Paolo Abeni) [2018437] - net: linkwatch: fix failure to restore device state across suspend/resume (Paolo Abeni) [2018437] - gro: fix napi_gro_frags() Fast GRO breakage due to IP alignment check (Paolo Abeni) [2018437] - gro: ensure frag0 meets IP header alignment (Paolo Abeni) [2018437] - net: core: allow fast GRO for skbs with Ethernet header in head (Paolo Abeni) [2018437] - udp: fix skb_copy_and_csum_datagram with odd segment sizes (Paolo Abeni) [2018437] - skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too (Paolo Abeni) [2018437] - selftests/net: remove min gso test in packet_snd (Paolo Abeni) [2018437] - net: be more gentle about silly gso requests coming from user (Paolo Abeni) [2018437] - virtio_net: Do not pull payload in skb->head (Paolo Abeni) [2018437] - net: check untrusted gso_size at kernel entry (Paolo Abeni) [2018437] - net: stricter validation of untrusted gso packets$ (Paolo Abeni) [2018437] - net: avoid 32 x truesize under-estimation for tiny skbs (Paolo Abeni) [2018437] - ionic: no devlink_unregister if not registered (Jonathan Toppins) [2016705] - ionic: tame the filter no space message (Jonathan Toppins) [2016705 1959512 2002943] - ionic: allow adminq requests to override default error message (Jonathan Toppins) [2016705 1959512 2002943] - ionic: handle vlan id overflow (Jonathan Toppins) [2016705 1959512 2002943] - ionic: generic filter delete (Jonathan Toppins) [2016705 1959512 2002943] - ionic: generic filter add (Jonathan Toppins) [2016705 1959512 2002943] - ionic: add generic filter search (Jonathan Toppins) [2016705 1959512 2002943] - ionic: remove mac overflow flags (Jonathan Toppins) [2016705 1959512 2002943] - ionic: move lif mac address functions (Jonathan Toppins) [2016705 1959512 2002943] - ionic: add filterlist to debugfs (Jonathan Toppins) [2016705 1959512 2002943] - ionic: don't remove netdev->dev_addr when syncing uc list (Jonathan Toppins) [2016705 2012030] - ionic: move filter sync_needed bit set (Jonathan Toppins) [2016705] - ionic: add lif param to ionic_qcq_disable (Jonathan Toppins) [2016705] - ionic: have ionic_qcq_disable decide on sending to hardware (Jonathan Toppins) [2016705] - ionic: add polling to adminq wait (Jonathan Toppins) [2016705] - ionic: widen queue_lock use around lif init and deinit (Jonathan Toppins) [2016705] - ionic: move lif mutex setup and delete (Jonathan Toppins) [2016705] - ionic: check for binary values in FW ver string (Jonathan Toppins) [2016705] - ionic: remove debug stats (Jonathan Toppins) [2016705] - ionic: fix gathering of debug stats (Jonathan Toppins) [2016705] - ionic: fix a sleeping in atomic bug (Jonathan Toppins) [2016705] - ionic: fix double use of queue-lock (Jonathan Toppins) [2016705] - ionic: recreate hwstamp queues on ifup (Jonathan Toppins) [2016705 1981590] - ionic: pull hwstamp queue_lock up a level (Jonathan Toppins) [2016705 1981590] - ionic: add queue lock around open and stop (Jonathan Toppins) [2016705 1981590] - ionic: fill mac addr earlier in add_addr (Jonathan Toppins) [2016705 1981590] - ionic: squelch unnecessary fw halted message (Jonathan Toppins) [2016705 1981590] - ionic: fire watchdog again after fw_down (Jonathan Toppins) [2016705 1981590] - ionic: handle mac filter overflow (Jonathan Toppins) [2016705 1981590] - ionic: refactor ionic_lif_addr to remove a layer (Jonathan Toppins) [2016705 1981590] - ionic: sync the filters in the work task (Jonathan Toppins) [2016705 1981590] - ionic: flatten calls to set-rx-mode (Jonathan Toppins) [2016705 1981590] - ionic: remove old work task types (Jonathan Toppins) [2016705 1981590] - ionic: add function tag to debug string (Jonathan Toppins) [2016705] - ionic: enable rxhash only with multiple queues (Jonathan Toppins) [2016705] - ionic: block some ethtool operations when fw in reset (Jonathan Toppins) [2016705] - ionic: remove unneeded comp union fields (Jonathan Toppins) [2016705] - ionic: increment num-vfs before configure (Jonathan Toppins) [2016705] - ionic: use fewer inits on the buf_info struct (Jonathan Toppins) [2016705] - ionic: init reconfig err to 0 (Jonathan Toppins) [2016705] - ionic: print firmware version on identify (Jonathan Toppins) [2016705] - ionic: monitor fw status generation (Jonathan Toppins) [2016705] - ionic: minimize resources when under kdump (Jonathan Toppins) [2016705] - ionic: cleanly release devlink instance (Jonathan Toppins) [2016705] - ionic: drop useless check of PCI driver data validity (Jonathan Toppins) [2016705] - ionic: Remove unused function pointer typedef ionic_reset_cb (Jonathan Toppins) [2016705] - ACPI: Use fwnode_init() to set up fwnode (Mark Langsdorf) [1982374] - device property: Add missed header in fwnode.h (Mark Langsdorf) [1982374] - regmap: set debugfs_name to NULL after it is freed (Mark Langsdorf) [1982374] - mfd: cpcap: Fix interrupt regression with regmap clear_ack (Mark Langsdorf) [1982374] - driver core: Fix device link device name collision (Mark Langsdorf) [1982374] - driver core: Extend device_is_dependent() (Mark Langsdorf) [1982374] - device property: add description of fwnode cases (Mark Langsdorf) [1982374] - Revert "device property: Keep secondary firmware node secondary by type" (Mark Langsdorf) [1982374] - regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init() (Mark Langsdorf) [1982374] - regmap: debugfs: Fix a memory leak when calling regmap_attach_dev (Mark Langsdorf) [1982374] - driver core: platform: Add extra error check in devm_platform_get_irqs_affinity() (Mark Langsdorf) [1982374] - driver core: platform: don't oops in platform_shutdown() on unbound devices (Mark Langsdorf) [1982374] - PM: domains: create debugfs nodes when adding power domains (Mark Langsdorf) [1982374] - driver core: platform: Add devm_platform_get_irqs_affinity() (Mark Langsdorf) [1982374] - platform-msi: Track shared domain allocation (Mark Langsdorf) [1982374] - driver core: platform: Introduce platform_get_mem_or_io() (Mark Langsdorf) [1982374] - soc: fix comment for freeing soc_dev_attr (Mark Langsdorf) [1982374] - driver core: platform: use bus_type functions (Mark Langsdorf) [1982374] - driver core: platform: change logic implementing platform_driver_probe (Mark Langsdorf) [1982374] - driver core: platform: reorder functions (Mark Langsdorf) [1982374] - driver core: make driver_probe_device() static (Mark Langsdorf) [1982374] - driver core: Fix a couple of typos (Mark Langsdorf) [1982374] - driver core: Refactor fw_devlink feature (Mark Langsdorf) [1982374] - efi: Update implementation of add_links() to create fwnode links (Mark Langsdorf) [1982374] - of: property: Update implementation of add_links() to create fwnode links (Mark Langsdorf) [1982374] - driver core: Use device's fwnode to check if it is waiting for suppliers (Mark Langsdorf) [1982374] - driver core: Add fw_devlink_parse_fwtree() (Mark Langsdorf) [1982374] - driver core: Redefine the meaning of fwnode_operations.add_links() (Mark Langsdorf) [1982374] - device property: Add fwnode_is_ancestor_of() and fwnode_get_next_parent_dev() (Mark Langsdorf) [1982374] - driver core: Allow only unprobed consumers for SYNC_STATE_ONLY device links (Mark Langsdorf) [1982374] - driver core: Add fwnode link support (Mark Langsdorf) [1982374] - driver core: Add fwnode_init() (Mark Langsdorf) [1982374] - Revert "[base] driver core: fw_devlink: Add support for batching fwnode parsing" (Mark Langsdorf) [1982374] - Revert "[base] driver core: Remove check in driver_deferred_probe_force_trigger()" (Mark Langsdorf) [1982374] - Revert "[base] driver core: Don't do deferred probe in parallel with kernel_init thread" (Mark Langsdorf) [1982374] - Revert "[base] driver core: Rename dev_links_info.defer_sync to defer_hook" (Mark Langsdorf) [1982374] - Revert "[base] driver core: Avoid deferred probe due to fw_devlink_pause/resume()" (Mark Langsdorf) [1982374] - regmap: Remove duplicate `type` field from regmap `regcache_sync` trace event (Mark Langsdorf) [1982374] - PM: sleep: Add dev_wakeup_path() helper (Mark Langsdorf) [1982374] - regmap: Fix order of regmap write log (Mark Langsdorf) [1982374] - regmap: use less #ifdef for LOG_DEVICE (Mark Langsdorf) [1982374] - PM: domains: Enable dev_pm_genpd_suspend|resume() for suspend-to-idle (Mark Langsdorf) [1982374] - PM: domains: Rename pm_genpd_syscore_poweroff|poweron() (Mark Langsdorf) [1982374] - PM: sleep: Print driver flags for all devices during suspend/resume (Mark Langsdorf) [1982374] - driver core: Fix lockdep warning on wfs_lock (Mark Langsdorf) [1982374] - regmap: irq: Convert to use irq_domain_create_legacy() (Mark Langsdorf) [1982374] - irqdomain: Introduce irq_domain_create_legacy() API (Mark Langsdorf) [1982374] - irqdomain: Replace open coded of_node_to_fwnode() (Mark Langsdorf) [1982374] - irqdomain: Add forward declaration of fwnode_handle (Mark Langsdorf) [1982374] - irqdomain: Remove unused of_device_id forward declaration (Mark Langsdorf) [1982374] - regmap-irq: use fwnode instead of device node in add_irq_chip() (Mark Langsdorf) [1982374] - regmap: mmio: add config option to allow relaxed MMIO accesses (Mark Langsdorf) [1982374] - PM: sleep: remove unreachable break (Mark Langsdorf) [1982374] - PM: domains: enable domain idle state accounting (Mark Langsdorf) [1982374] - PM: domains: Add curly braces to delimit comment + statement block (Mark Langsdorf) [1982374] - PM: domains: Add support for PM domain on/off notifiers for genpd (Mark Langsdorf) [1982374] - PM / Domains: Simplify genpd_lookup_dev() (Mark Langsdorf) [1982374] - regmap: irq: Add support to clear ack registers (Mark Langsdorf) [1982374] - PM: domains: Allow to abort power off when no ->power_off() callback (Mark Langsdorf) [1982374] - PM: domains: Rename power state enums for genpd (Mark Langsdorf) [1982374] - regmap: debugfs: use semicolons rather than commas to separate statements (Mark Langsdorf) [1982374] - drivers core: node: Use a more typical macro definition style for ACCESS_ATTR (Mark Langsdorf) [1982374] - drivers core: Use sysfs_emit for shared_cpu_map_show and shared_cpu_list_show (Mark Langsdorf) [1982374] - efi: Rename arm-init to efi-init common for all arch (Mark Langsdorf) [1982374] - efi/arm: Defer probe of PCIe backed efifb on DT systems (Mark Langsdorf) [1982374] - net/smc: improved fix wait on already cleared link (Sumanth Korikkar) [1984991] - net/smc: fix 'workqueue leaked lock' in smc_conn_abort_work (Sumanth Korikkar) [1984991] - net/smc: add missing error check in smc_clc_prfx_set() (Sumanth Korikkar) [1984991] - net/smc: Correct smc link connection counter in case of smc client (Sumanth Korikkar) [1984991] - net/smc: fix wait on already cleared link (Sumanth Korikkar) [1984991] - KVM: s390: Fix handle_sske page fault handling (Thomas Huth) [2022731] - KVM: s390: Simplify SIGP Set Arch handling (Thomas Huth) [2022731] - KVM: s390: pv: avoid stalls when making pages secure (Thomas Huth) [2022731] - KVM: s390: pv: avoid stalls for kvm_s390_pv_init_vm (Thomas Huth) [2022731] - KVM: s390: pv: avoid double free of sida page (Thomas Huth) [2022731] - KVM: s390: pv: add macros for UVC CC values (Thomas Huth) [2022731] - s390/uv: fully validate the VMA before calling follow_page() (Thomas Huth) [2022731] - s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap() (Thomas Huth) [2022731] - s390/gmap: validate VMA in __gmap_zap() (Thomas Huth) [2022731] - KVM: s390: preserve deliverable_mask in __airqs_kick_single_vcpu (Thomas Huth) [2022731] - KVM: s390: clear kicked_mask before sleeping again (Thomas Huth) [2022731] - KVM: s390: Function documentation fixes (Thomas Huth) [2022731] - s390/mm: fix kernel doc comments (Thomas Huth) [2022731] - KVM: s390: index kvm->arch.idle_mask by vcpu_idx (Thomas Huth) [2022731] - KVM: s390: generate kvm hypercall functions (Thomas Huth) [2022731] - KVM: Rename lru_slot to last_used_slot (Thomas Huth) [2022731] - s390: mm: Fix secure storage access exception handling (Thomas Huth) [2022731] - virtio/s390: get rid of open-coded kvm hypercall (Thomas Huth) [2022731] - KVM: s390: get rid of register asm usage (Thomas Huth) [2022731] - powerpc/vas: Fix potential NULL pointer dereference (Steve Best) [1907522] - powerpc/pseries/vas: Declare pseries_vas_fault_thread_fn() as static (Steve Best) [1907522] - crypto/nx: Register and unregister VAS interface on PowerVM (Steve Best) [1907522] - crypto/nx: Add sysfs interface to export NX capabilities (Steve Best) [1907522] - crypto/nx: Get NX capabilities for GZIP coprocessor type (Steve Best) [1907522] - crypto/nx: Rename nx-842-pseries file name to nx-common-pseries (Steve Best) [1907522] - powerpc/pseries/vas: Setup IRQ and fault handling (Steve Best) [1907522] - powerpc/pseries/vas: Integrate API with open/close windows (Steve Best) [1907522] - powerpc/pseries/vas: Implement getting capabilities from hypervisor (Steve Best) [1907522] - powerpc/pseries/vas: Add hcall wrappers for VAS handling (Steve Best) [1907522] - powerpc/vas: Define QoS credit flag to allocate window (Steve Best) [1907522] - powerpc/pseries/vas: Define VAS/NXGZIP hcalls and structs (Steve Best) [1907522] - powerpc/vas: Define and use common vas_window struct (Steve Best) [1907522] - powerpc/powernv: no need to check return value of debugfs_create functions (Steve Best) [1907522] - powerpc/vas: Move update_csb/dump_crb to common book3s platform (Steve Best) [1907522] - powerpc/vas: Create take/drop pid and mm reference functions (Steve Best) [1907522] - powerpc/vas: Add platform specific user window operations (Steve Best) [1907522] - powerpc/powernv/vas: Rename register/unregister functions (Steve Best) [1907522] - powerpc/vas: Move VAS API to book3s common platform (Steve Best) [1907522] - powerpc/powernv/vas: Release reference to tgid during window close (Steve Best) [1907522] - powerpc/pseries: Prevent free CPU ids being reused on another node (Desnes A. Nunes do Rosario) [2004808] - powerpc/numa: Consider the max NUMA node for migratable LPAR (Desnes A. Nunes do Rosario) [2004808]- zram: replace fsync_bdev with sync_blockdev (Ming Lei) [2015755] - zram: avoid race between zram_remove and disksize_store (Ming Lei) [2015755] - zram: don't fail to remove zram during unloading module (Ming Lei) [2015755] - zram: fix race between zram_reset_device() and disksize_store() (Ming Lei) [2015755] - zram: register default groups with device_add_disk() (Ming Lei) [2015755] - hyperv/vmbus: include linux/bitops.h (Mohammed Gamal) [2008565] - hv: vmbus: Avoid -Werror=maybe-uninitialized error (Mohammed Gamal) [2008565] - Drivers: hv: vmbus: Fix kernel crash upon unbinding a device from uio_hv_generic driver (Mohammed Gamal) [2008565] - Drivers: hv: vmbus: Fix duplicate CPU assignments within a device (Mohammed Gamal) [2008565] - drivers: hv: Fix missing error code in vmbus_connect() (Mohammed Gamal) [2008565] - hv_utils: Fix passing zero to 'PTR_ERR' warning (Mohammed Gamal) [2008565] - ice: Fix VF true promiscuous mode (Jonathan Toppins) [1970643] - ice: Remove toggling of antispoof for VF trusted promiscuous mode (Jonathan Toppins) [1970643] - ice: Fix replacing VF hardware MAC to existing MAC filter (Jonathan Toppins) [1970643] - ice: Fix not stopping Tx queues for VFs (Jonathan Toppins) [1970643] - ice: Fix race conditions between virtchnl handling and VF ndo ops (Jonathan Toppins) [1970643] - ice: move ice_container_type onto ice_ring_container (Jonathan Toppins) [1970643] - ice: remove ring_active from ice_ring (Jonathan Toppins) [1970643] - ice: Print the api_patch as part of the fw.mgmt.api (Jonathan Toppins) [1970643] - ice: Avoid crash from unnecessary IDA free (Jonathan Toppins) [1970643] - ice: Fix failure to re-add LAN/RDMA Tx queues (Jonathan Toppins) [1970643] - ice: Add missing E810 device ids (Jonathan Toppins) [1970643] - ice: fix locking for Tx timestamp tracking flush (Jonathan Toppins) [1970643] - ice: Delete always true check of PF pointer (Jonathan Toppins) [1970643] - ice: Correctly deal with PFs that do not support RDMA (Jonathan Toppins) [1970643] - ice: add lock around Tx timestamp tracker flush (Jonathan Toppins) [1970643] - ice: remove dead code for allocating pin_config (Jonathan Toppins) [1970643] - ice: do not abort devlink info if board identifier can't be found (Jonathan Toppins) [1970643] - ice: Fix a memory leak in an error handling path in 'ice_pf_dcb_cfg()' (Jonathan Toppins) [1970643] - ice: remove unnecessary VSI assignment (Jonathan Toppins) [1970643] - ice: remove the VSI info from previous agg (Jonathan Toppins) [1970643] - ice: add tracepoints (Jonathan Toppins) [1970643] - ice: report hash type such as L2/L3/L4 (Jonathan Toppins) [1970643] - ice: remove redundant continue statement in a for-loop (Jonathan Toppins) [1970643] - net: ice: ptp: fix compilation warning if PTP_1588_CLOCK is disabled (Jonathan Toppins) [1970643] - ice: remove unnecessary NULL checks before ptp_read_system_* (Jonathan Toppins) [1970643] - ice: Remove the repeated declaration (Jonathan Toppins) [1970643] - ice: remove local variable (Jonathan Toppins) [1970643] - ice: reduce scope of variables (Jonathan Toppins) [1970643] - ice: mark PTYPE 2 as reserved (Jonathan Toppins) [1970643] - ice: fix incorrect payload indicator on PTYPE (Jonathan Toppins) [1970643] - ice: parameterize functions responsible for Tx ring management (Jonathan Toppins) [1970643] - ice: add ndo_bpf callback for safe mode netdev ops (Jonathan Toppins) [1970643] - ice: fix clang warning regarding deadcode.DeadStores (Jonathan Toppins) [1970643] - ice: downgrade error print to debug print (Jonathan Toppins) [1970643] - ice: Detect and report unsupported module power levels (Jonathan Toppins) [1970643] - ice: (re)initialize NVM fields when rebuilding (Jonathan Toppins) [1970643] - ice: wait for reset before reporting devlink info (Jonathan Toppins) [1970643] - ice: add error message when pldmfw_flash_image fails (Jonathan Toppins) [1970643] - ice: add extack when unable to read device caps (Jonathan Toppins) [1970643] - ice: use static inline for dummy functions (Jonathan Toppins) [1970643] - ice: Re-organizes reqstd/avail {R, T}XQ check/code for efficiency (Jonathan Toppins) [1970643] - ice: set the value of global config lock timeout longer (Jonathan Toppins) [1970643] - ice: Refactor VIRTCHNL_OP_CONFIG_VSI_QUEUES handling (Jonathan Toppins) [1970643] - ice: Refactor ice_setup_rx_ctx (Jonathan Toppins) [1970643] - ice: Save VF's MAC across reboot (Jonathan Toppins) [1970643] - ice: Manage VF's MAC address for both legacy and new cases (Jonathan Toppins) [1970643] - ice: Register auxiliary device to provide RDMA (Jonathan Toppins) [1970643] - ice: Implement iidc operations (Jonathan Toppins) [1970643] - virtchnl: Use pad byte in virtchnl_ether_addr to specify MAC type (Jonathan Toppins) [1970643] - iidc: Introduce iidc.h (Jonathan Toppins) [1970643] - ice: Initialize RDMA support (Jonathan Toppins) [1970643] - ice: Respond to a NETDEV_UNREGISTER event for LAG (Jonathan Toppins) [1970643] - Revert "Revert "ice: Add initial support framework for LAG"" (Jonathan Toppins) [1970643] - ice: reduce scope of variable (Jonathan Toppins) [1970643] - ice: remove return variable (Jonathan Toppins) [1970643] - ice: suppress false cppcheck issues (Jonathan Toppins) [1970643] - ice: Set vsi->vf_id as ICE_INVAL_VFID for non VF VSI types (Jonathan Toppins) [1970643] - ice: remove unused struct member (Jonathan Toppins) [1970643] - ice: use local for consistency (Jonathan Toppins) [1970643] - ice: print name in /proc/iomem (Jonathan Toppins) [1970643] - ice: Reimplement module reads used by ethtool (Jonathan Toppins) [1970643] - ice: refactor ITR data structures (Jonathan Toppins) [1970643] - ice: manage interrupts during poll exit (Jonathan Toppins) [1970643] - ice: replace custom AIM algorithm with kernel's DIM library (Jonathan Toppins) [1970643] - ice: refactor interrupt moderation writes (Jonathan Toppins) [1970643] - ice: Add new VSI states to track netdev alloc/registration (Jonathan Toppins) [1970643] - ice: Drop leading underscores in enum ice_pf_state (Jonathan Toppins) [1970643] - ice: use kernel definitions for IANA protocol ports and ether-types (Jonathan Toppins) [1970643] - ice: Remove unnecessary blank line (Jonathan Toppins) [1970643] - ice: Remove unnecessary checks in add/kill_vid ndo ops (Jonathan Toppins) [1970643] - ice: Remove rx_gro_dropped stat (Jonathan Toppins) [1970643] - ice: Use local variable instead of pointer derefs (Jonathan Toppins) [1970643] - ice: Remove unnecessary variable (Jonathan Toppins) [1970643] - ice: Limit forced overrides based on FW version (Jonathan Toppins) [1970643] - ice: Use default configuration mode for PHY configuration (Jonathan Toppins) [1970643] - ice: Replace some memsets and memcpys with assignment (Jonathan Toppins) [1970643] - ice: Fix error return codes in ice_set_link_ksettings (Jonathan Toppins) [1970643] - ice: Rename a couple of variables (Jonathan Toppins) [1970643] - ice: Remove unnecessary checker loop (Jonathan Toppins) [1970643] - ice: Ignore EMODE return for opcode 0x0605 (Jonathan Toppins) [1970643] - ice: Align macro names to the specification (Jonathan Toppins) [1970643] - ice: Modify recursive way of adding nodes (Jonathan Toppins) [1970643] - ice: Re-send some AQ commands, as result of EBUSY AQ error (Jonathan Toppins) [1970643] - ice: Correct comment block style (Jonathan Toppins) [1970643] - ice: cleanup style issues (Jonathan Toppins) [1970643] - ice: rename ptype bitmap (Jonathan Toppins) [1970643] - ice: correct memory allocation call (Jonathan Toppins) [1970643] - ice: Check for bail out condition early (Jonathan Toppins) [1970643] - ice: remove unnecessary duplicated AQ command flag setting (Jonathan Toppins) [1970643] - ice: change link misconfiguration message (Jonathan Toppins) [1970643] - ice: Update to use package info from ice segment (Jonathan Toppins) [1970643] - ice: Delay netdev registration (Jonathan Toppins) [1970643] - ice: Add Support for XPS (Jonathan Toppins) [1970643] - ice: Fix fall-through warnings for Clang (Jonathan Toppins) [1970643] - ice: Fix prototype warnings (Jonathan Toppins) [1970643] - ice: move headroom initialization to ice_setup_rx_ctx (Jonathan Toppins) [1970643] - ice: store the result of ice_rx_offset() onto ice_ring (Jonathan Toppins) [1970643] - sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain() (Phil Auld) [2011436] - sched/fair: Prevent dead task groups from regaining cfs_rq's (Phil Auld) [2011436] - sched/fair: Removed useless update of p->recent_used_cpu (Phil Auld) [2011436] - sched: Always inline is_percpu_thread() (Phil Auld) [2011436] - sched/fair: Add ancestors of unthrottled undecayed cfs_rq (Phil Auld) [2011436] - sched: Remove unused inline function __rq_clock_broken() (Phil Auld) [2011436] - sched: Prevent balance_push() on remote runqueues (Phil Auld) [2011436] - cpumask/hotplug: Fix cpu_dying() state tracking (Phil Auld) [2011436] - sched: Use cpu_dying() to fix balance_push vs hotplug-rollback (Phil Auld) [2011436] - cpumask: Introduce DYING mask (Phil Auld) [2011436] - cpumask: Make cpu_{online,possible,present,active}() inline (Phil Auld) [2011436] - cpu/hotplug: Cache number of online CPUs (Phil Auld) [2011436] - sched: Switch wait_task_inactive to HRTIMER_MODE_REL_HARD (Phil Auld) [2011436] - psi: Fix race between psi_trigger_create/destroy (Phil Auld) [2011436] - sctp: add vtag check in sctp_sf_ootb (Xin Long) [2001767] - sctp: add vtag check in sctp_sf_do_8_5_1_E_sa (Xin Long) [2001767] - sctp: add vtag check in sctp_sf_violation (Xin Long) [2001767] - sctp: fix the processing for COOKIE_ECHO chunk (Xin Long) [2001767] - sctp: fix the processing for INIT_ACK chunk (Xin Long) [2001767] - sctp: fix the processing for INIT chunk (Xin Long) [2001767] - sctp: use init_tag from inithdr for ABORT chunk (Xin Long) [2001767]- KVM: arm64: Extract ESR_ELx.EC only (Gavin Shan) [2008070] - KVM: arm64: vgic-v3: Align emulated cpuif LPI state machine with the pseudocode (Gavin Shan) [2008070] - KVM: arm64: vgic-v3: Don't advertise ICC_CTLR_EL1.SEIS (Gavin Shan) [2008070] - KVM: arm64: Fix reporting of endianess when the access originates at EL0 (Gavin Shan) [2008070] - KVM: arm64: Trim guest debug exception handling (Gavin Shan) [2008070] - KVM: arm64: Upgrade VMID accesses to {READ,WRITE}_ONCE (Gavin Shan) [2008070] - KVM: arm64: vgic: Drop WARN from vgic_get_irq (Gavin Shan) [2008070] - KVM: arm64: Enforce reserved bits for PSCI target affinities (Gavin Shan) [2008070] - KVM: arm64: Handle PSCI resets before userspace touches vCPU state (Gavin Shan) [2008070] - KVM: arm64: Fix read-side race on updates to vcpu reset state (Gavin Shan) [2008070] - KVM: arm64: Restore PMU configuration on first run (Gavin Shan) [2008070] - KVM: arm64: Don't zero the cycle count register when PMCR_EL0.P is set (Gavin Shan) [2008070] - KVM: arm64: Prevent mixed-width VM creation (Gavin Shan) [2008070] - KVM: arm64: Fix debug register indexing (Gavin Shan) [2008070] - KVM: arm64: Reject VM creation when the default IPA size is unsupported (Gavin Shan) [2008070] - KVM: arm64: Limit the debug architecture to ARMv8.0 (Gavin Shan) [2008070] - KVM: arm64: Handle SCXTNUM_ELx traps (Gavin Shan) [2008070] - arm64: kvm: mte: Hide the MTE CPUID information from the guests (Gavin Shan) [2008070] - arm64: mte: Fix typo in macro definition (Gavin Shan) [2008070] - arm64/cpufeature: Add remaining feature bits in ID_AA64PFR1 register (Gavin Shan) [2008070] - arm64: mte: system register definitions (Gavin Shan) [2008070] - arm64: sysreg: Clean up instructions for modifying PSTATE fields (Gavin Shan) [2008070] - KVM: arm64: Only reschedule if MMU_NOTIFIER_RANGE_BLOCKABLE is not set (Gavin Shan) [2008070] - arm64: kvm: Fix IDMAP overlap with HYP VA (Gavin Shan) [2008070] - packet: rework packet_pick_tx_queue() to use common code selection (Petr Oros) [2016477] - net: dev: rename queue selection helpers. (Petr Oros) [2016477] - Revert "cpuset: Make cpuset hotplug synchronous" (Waiman Long) [2023783] - tcp: fix TLP timer not set when CA_STATE changes from DISORDER to OPEN (Paolo Abeni) [2018546] - net: Only allow init netns to set default tcp cong to a restricted algo (Paolo Abeni) [2018546] - ipv6: tcp: drop silly ICMPv6 packet too big messages (Paolo Abeni) [2018546] - tcp: annotate data races around tp->mtu_info (Paolo Abeni) [2018546] - net: send SYNACK packet with accepted fwmark (Paolo Abeni) [2018546] - tcp: call sk_wmem_schedule before sk_mem_charge in zerocopy path (Paolo Abeni) [2018546] - net/tcp_fastopen: fix data races around tfo_active_disable_stamp (Paolo Abeni) [2018546] - net/tcp_fastopen: remove obsolete extern (Paolo Abeni) [2018546] - net, gro: Set inner transport header offset in tcp/udp GRO hook (Paolo Abeni) [2018546] - tcp_bbr: fix u32 wrap bug in round logic if bbr_init() called after 2B packets (Paolo Abeni) [2018546] - tcp: seq_file: Avoid skipping sk during tcp_seek_last_pos (Paolo Abeni) [2018546] - tcp: fix tp->undo_retrans accounting in tcp_sacktag_one() (Paolo Abeni) [2018546] - evm: mark evm_fixmode as __ro_after_init (Bruno Meneguele) [2017155] - IMA: remove -Wmissing-prototypes warning (Bruno Meneguele) [2017155] - ima: Set correct casting types (Bruno Meneguele) [2017155] - evm: Don't return an error in evm_write_xattrs() if audit is not enabled (Bruno Meneguele) [2017155] - evm: fix writing /evm overflow (Bruno Meneguele) [2017155] - ima: Fix function name error in comment. (Bruno Meneguele) [2017155] - ima: Fix the error code for restoring the PCR value (Bruno Meneguele) [2017155] - integrity: double check iint_cache was initialized (Bruno Meneguele) [2017155] - certs: Fix blacklist flag type confusion (Bruno Meneguele) [2017155] - integrity: Make function integrity_add_key() static (Bruno Meneguele) [2017155] - ima: Free IMA measurement buffer after kexec syscall (Bruno Meneguele) [2017155] - ima: Free IMA measurement buffer on error (Bruno Meneguele) [2017155] - evm: Fix memleak in init_desc (Bruno Meneguele) [2017155] - crypto: shash - remove shash_desc::flags (Bruno Meneguele) [2017155] - ima: Don't modify file descriptor mode on the fly (Bruno Meneguele) [2017155] - evm: Check size of security.evm before using it (Bruno Meneguele) [2017155] - ima: Remove semicolon at the end of ima_get_binary_runtime_size() (Bruno Meneguele) [2017155] - ima: Don't ignore errors from crypto_shash_update() (Bruno Meneguele) [2017155] - integrity: remove redundant initialization of variable ret (Bruno Meneguele) [2017155] - ima: Fail rule parsing when appraise_flag=blacklist is unsupportable (Bruno Meneguele) [2017155] - ima: Fail rule parsing when the KEXEC_CMDLINE hook is combined with an invalid cond (Bruno Meneguele) [2017155] - ima: Fail rule parsing when buffer hook functions have an invalid action (Bruno Meneguele) [2017155] - ima: Free the entire rule if it fails to parse (Bruno Meneguele) [2017155] - ima: Free the entire rule when deleting a list of rules (Bruno Meneguele) [2017155] - evm: Fix possible memory leak in evm_calc_hmac_or_hash() (Bruno Meneguele) [2017155] - ima: Fix ima digest hash table key calculation (Bruno Meneguele) [2017155] - ima: Fix return value of ima_write_policy() (Bruno Meneguele) [2017155] - evm: Fix a small race in init_desc() (Bruno Meneguele) [2017155] - crypto: drop mask=CRYPTO_ALG_ASYNC from 'shash' tfm allocations (Bruno Meneguele) [2017155] - evm: Don't deadlock if a crypto algorithm is unavailable (Bruno Meneguele) [2017155] - evm: Check also if *tfm is an error pointer in init_desc() (Bruno Meneguele) [2017155] - ima: avoid appraise error for hash calc interrupt (Bruno Meneguele) [2017155] - integrity: remove pointless subdir-$(CONFIG_...) (Bruno Meneguele) [2017155] - integrity: remove unneeded, broken attempt to add -fshort-wchar (Bruno Meneguele) [2017155] - x86/cpu: Fix migration safety with X86_BUG_NULL_SEL (Vitaly Kuznetsov) [2016961] - fs/xfs: convert comma to semicolon (Bill O'Donnell) [2009521] - xfs: remove xfs_buf_t typedef (Bill O'Donnell) [2009521] - xfs: open code updating i_mode in xfs_set_acl (Bill O'Donnell) [2009521] - xfs: remove xfs_vn_setattr_nonsize (Bill O'Donnell) [2009521] - xfs: remove unneeded return value check for *init_cursor() (Bill O'Donnell) [2009521] - xfs: introduce xfs_validate_stripe_geometry() (Bill O'Donnell) [2009521] - xfs: show the proper user quota options (Bill O'Donnell) [2009521] - xfs: remove the unused XFS_B_FSB_OFFSET macro (Bill O'Donnell) [2009521] - xfs: remove unnecessary null check in xfs_generic_create (Bill O'Donnell) [2009521] - xfs: directly return if the delta equal to zero (Bill O'Donnell) [2009521] - xfs: delete duplicated tp->t_dqinfo null check and allocation (Bill O'Donnell) [2009521] - xfs: rename xfs_fc_* back to xfs_fs_* (Bill O'Donnell) [2009521] - xfs: refactor file range validation (Bill O'Donnell) [2009521] - xfs: refactor realtime volume extent validation (Bill O'Donnell) [2009521] - xfs: refactor data device extent validation (Bill O'Donnell) [2009521] - xfs: scrub should mark a directory corrupt if any entries cannot be iget'd (Bill O'Donnell) [2009521] - xfs: detect overflows in bmbt records (Bill O'Donnell) [2009521] - xfs: trace log intent item recovery failures (Bill O'Donnell) [2009521] - xfs: validate feature support when recovering rmap/refcount intents (Bill O'Donnell) [2009521] - xfs: improve the code that checks recovered extent-free intent items (Bill O'Donnell) [2009521] - xfs: hoist recovered extent-free intent checks out of xfs_efi_item_recover (Bill O'Donnell) [2009521] - xfs: improve the code that checks recovered refcount intent items (Bill O'Donnell) [2009521] - xfs: hoist recovered refcount intent checks out of xfs_cui_item_recover (Bill O'Donnell) [2009521] - xfs: improve the code that checks recovered rmap intent items (Bill O'Donnell) [2009521] - xfs: hoist recovered rmap intent checks out of xfs_rui_item_recover (Bill O'Donnell) [2009521] - xfs: improve the code that checks recovered bmap intent items (Bill O'Donnell) [2009521] - xfs: hoist recovered bmap intent checks out of xfs_bui_item_recover (Bill O'Donnell) [2009521] - xfs: move kernel-specific superblock validation out of libxfs (Bill O'Donnell) [2009521] - platform/x86: amd-pmc: Increase the response register timeout (David Arcari) [2005064] - ARM: 9093/1: drivers: firmwapsci: Register with kernel restart handler (Mark Salter) [1996748] - arm64/kernel: Remove needless Call Frame Information annotations (Mark Salter) [1996748] - arm64: smccc: Add support for SMCCCv1.2 extended input/output registers (Mark Salter) [1996748] - psci: Remove unneeded semicolon (Mark Salter) [1996748] - firmware: smccc: Add SMCCC TRNG function call IDs (Mark Salter) [1996748] - arm64: Add support for SMCCC TRNG entropy source (Mark Salter) [1996748] - firmware: smccc: Introduce SMCCC TRNG framework (Mark Salter) [1996748] - arm64: random: Remove no longer needed prototypes (Mark Salter) [1996748] - arm64: kaslr: Use standard early random function (Mark Salter) [1996748] - random: random.h should include archrandom.h, not the other way around (Mark Salter) [1996748] - arm64: add credited/trusted RNG support (Mark Salter) [1996748] - arm64: Use v8.5-RNG entropy for KASLR seed (Mark Salter) [1996748] - arm64: kaslr: Check command line before looking for a seed (Mark Salter) [1996748] - arm64: kaslr: Announce KASLR status on boot (Mark Salter) [1996748] - psci: Add accessor for psci_0_1_function_ids (Mark Salter) [1996748] - psci: Replace psci_function_id array with a struct (Mark Salter) [1996748] - psci: Split functions to v0.1 and v0.2+ variants (Mark Salter) [1996748] - psci: Support psci_ops.get_version for v0.1 (Mark Salter) [1996748] - arm64: psci: Avoid printing in cpu_psci_cpu_die() (Mark Salter) [1996748] - firmware: psci: Extend psci_set_osi_mode() to allow reset to PC mode (Mark Salter) [1996748] - smccc: Use separate variables for args and results (Mark Salter) [1996748] - smccc: Define vendor hyp owned service call region (Mark Salter) [1996748] - firmware: smccc: Export both smccc functions (Mark Salter) [1996748] - sched,psci: Convert to sched_set_fifo*() (Mark Salter) [1996748] - firmware: smccc: Add ARCH_SOC_ID support (Mark Salter) [1996748] - base: soc: Add serial_number attribute to soc (Mark Salter) [1996748] - drivers/firmware/psci: Assign @err directly in hotplug_tests() (Mark Salter) [1996748] - drivers/firmware/psci: Fix memory leakage in alloc_init_cpu_groups() (Mark Salter) [1996748] - firmware: smccc: Fix missing prototype warning for arm_smccc_version_init (Mark Salter) [1996748] - firmware: smccc: Add function to fetch SMCCC version (Mark Salter) [1996748] - firmware: smccc: Refactor SMCCC specific bits into separate file (Mark Salter) [1996748] - firmware: smccc: Drop smccc_version enum and use ARM_SMCCC_VERSION_1_x instead (Mark Salter) [1996748] - firmware: smccc: Add HAVE_ARM_SMCCC_DISCOVERY to identify SMCCC v1.1 and above (Mark Salter) [1996748] - firmware: psci: Replace cpu_up/down() with add/remove_cpu() (Mark Salter) [1996748] - firmware: psci: Export functions to manage the OSI mode (Mark Salter) [1996748] - arm64: psci: Reduce the waiting time for cpu_psci_cpu_kill() (Mark Salter) [1996748] - firmware/psci: use common SMCCC_CONDUIT_* (Mark Salter) [1996748] - arm64: smp: disable hotplug on trusted OS resident CPU (Mark Salter) [1996748] - PSCI: cpuidle: Refactor CPU suspend power_state parameter handling (Mark Salter) [1996748] - ARM: psci: cpuidle: Enable PSCI CPUidle driver (Mark Salter) [1996748] - drivers: firmware: psci: Decouple checker from generic ARM CPUidle (Mark Salter) [1996748] - firmware/psci: psci_checker: Park kthreads before stopping them (Mark Salter) [1996748] - firmware/psci: add support for SYSTEM_RESET2 (Mark Salter) [1996748] - drivers: firmware: psci: Announce support for OS initiated suspend mode (Mark Salter) [1996748] - drivers: firmware: psci: Simplify error path of psci_dt_init() (Mark Salter) [1996748] - drivers: firmware: psci: Split psci_dt_cpu_init_idle() (Mark Salter) [1996748] - drivers: firmware: psci: Move psci to separate directory (Mark Salter) [1996748] - arm64: remove unused asm/compiler.h header file (Mark Salter) [1996748] - ppc64: Adding read_lock definition to nvme (Gopal Tiwari) [1990475] - nvme: fix per-namespace chardev deletion (Gopal Tiwari) [1990475] - nvme: set the PRACT bit when using Write Zeroes with T10 PI (Gopal Tiwari) [1990475] - nvme: fix nvme_setup_command metadata trace event (Gopal Tiwari) [1990475] - nvme-pci: don't WARN_ON in nvme_reset_work if ctrl.state is not RESETTING (Gopal Tiwari) [1990475] - nvme: fix refcounting imbalance when all paths are down (Gopal Tiwari) [1990475] - nvme-pci: do not call nvme_dev_remove_admin from nvme_remove (Gopal Tiwari) [1990475] - nvme-pci: fix multiple races in nvme_setup_io_queues (Gopal Tiwari) [1990475] - nvme-tcp: use __dev_get_by_name instead dev_get_by_name for OPT_HOST_IFACE (Gopal Tiwari) [1990475] - nvme-tcp: can't set sk_user_data without write_lock (Gopal Tiwari) [1990475] - nvme: use blk_execute_rq() for passthrough commands (Gopal Tiwari) [1990475] - nvmet: use NVMET_MAX_NAMESPACES to set nn value (Gopal Tiwari) [1990475] - nvme-pci: remove zeroout memset call for struct (Gopal Tiwari) [1990475] - nvme: remove zeroout memset call for struct (Gopal Tiwari) [1990475] - nvmet: add ZBD over ZNS backend support (Gopal Tiwari) [1990475] - nvmet: remove zeroout memset call for struct (Gopal Tiwari) [1990475] - nvmet: use req->cmd directly in file-ns fast path (Gopal Tiwari) [1990475] - nvmet: add Command Set Identifier support (Gopal Tiwari) [1990475] - nvmet: add nvmet_req_bio put helper for backends (Gopal Tiwari) [1990475] - nvmet: use nvme status value directly (Gopal Tiwari) [1990475] - nvmet: use u32 for nvmet_subsys max_nsid (Gopal Tiwari) [1990475] - nvmet: remove local variable (Gopal Tiwari) [1990475] - nvmet: add req cns error complete helper (Gopal Tiwari) [1990475] - nvmet: use req->cmd directly in bdev-ns fast path (Gopal Tiwari) [1990475] - nvmet: use u32 type for the local variable nsid (Gopal Tiwari) [1990475] - nvme-fabrics: remove memset in connect io q (Gopal Tiwari) [1990475] - nvme-fabrics: remove memset in nvmf_reg_write32() (Gopal Tiwari) [1990475] - nvme-fabrics: remove memset in connect admin q (Gopal Tiwari) [1990475] - nvmet: make ver stable once connection established (Gopal Tiwari) [1990475] - nvmet: make sn stable once connection was established (Gopal Tiwari) [1990475] - nvmet: change sn size and check validity (Gopal Tiwari) [1990475] - nvme-tcp: use ctrl sgl check helper (Gopal Tiwari) [1990475] - nvmet-fc: do not check for invalid target port in nvmet_fc_handle_fcp_rqst() (Gopal Tiwari) [1990475] - nvme-fabrics: remove memset in nvmf_reg_read64() (Gopal Tiwari) [1990475] - nvmet: allow mn change if subsys not discovered (Gopal Tiwari) [1990475] - nvme-fc: use ctrl sgl check helper (Gopal Tiwari) [1990475] - nvme-pci: fix var. type for increasing cq_head (Gopal Tiwari) [1990475] - nvme: add a helper to check ctrl sgl support (Gopal Tiwari) [1990475] - nvme: factor out a nvme_validate_passthru_nsid helper (Gopal Tiwari) [1990475] - nvme-tcp: fix error codes in nvme_tcp_setup_ctrl() (Gopal Tiwari) [1990475] - nvme: fix grammar in the CONFIG_NVME_MULTIPATH kconfig help text (Gopal Tiwari) [1990475] - nvme: verify MNAN value if ANA is enabled (Gopal Tiwari) [1990475] - ACPI: Check StorageD3Enable _DSD property in ACPI code (Gopal Tiwari) [1990475] - nvmet: move ka_work initialization to nvmet_alloc_ctrl (Gopal Tiwari) [1990475] - nvme: remove nvme_{get,put}_ns_from_disk (Gopal Tiwari) [1990475] - nvme: split nvme_report_zones (Gopal Tiwari) [1990475] - nvmet: remove a superfluous variable (Gopal Tiwari) [1990475] - nvme: open code nvme_put_ns_from_disk in nvme_ns_head_chr_ioctl (Gopal Tiwari) [1990475] - nvme: move the CSI sanity check into nvme_ns_report_zones (Gopal Tiwari) [1990475] - nvme-fabrics: remove extra braces (Gopal Tiwari) [1990475] - nvme: open code nvme_{get,put}_ns_from_disk in nvme_ns_head_ioctl (Gopal Tiwari) [1990475] - nvme: add a sparse annotation to nvme_ns_head_ctrl_ioctl (Gopal Tiwari) [1990475] - nvme-fabrics: remove an extra comment (Gopal Tiwari) [1990475] - nvme-fabrics: remove extra new lines in the switch (Gopal Tiwari) [1990475] - nvme: open code nvme_put_ns_from_disk in nvme_ns_head_ctrl_ioctl (Gopal Tiwari) [1990475] - nvme: extend and modify the APST configuration algorithm (Gopal Tiwari) [1990475] - nvme-tcp: allow selecting the network interface for connections (Gopal Tiwari) [1990475] - nvme-fabrics: fix the kerneldco comment for nvmf_log_connect_error() (Gopal Tiwari) [1990475] - nvme: remove redundant initialization of variable ret (Gopal Tiwari) [1990475] - nvmet: fix freeing unallocated p2pmem (Gopal Tiwari) [1990475] - nvme-loop: reset queue count to 1 in nvme_loop_destroy_io_queues() (Gopal Tiwari) [1990475] - nvme-loop: do not warn for deleted controllers during reset (Gopal Tiwari) [1990475] - nvme-loop: check for NVME_LOOP_Q_LIVE in nvme_loop_destroy_admin_queue() (Gopal Tiwari) [1990475] - nvme-loop: clear NVME_LOOP_Q_LIVE when nvme_loop_configure_admin_queue() fails (Gopal Tiwari) [1990475] - nvme-rdma: fix in-casule data send for chained sgls (Gopal Tiwari) [1990475] - nvmet: fix false keep-alive timeout when a controller is torn down (Gopal Tiwari) [1990475] - nvmet-tcp: fix inline data size comparison in nvmet_tcp_queue_response (Gopal Tiwari) [1990475] - nvme-tcp: remove incorrect Kconfig dep in BLK_DEV_NVME (Gopal Tiwari) [1990475] - nvme-fabrics: decode host pathing error for connect (Gopal Tiwari) [1990475] - nvme-fc: short-circuit reconnect retries (Gopal Tiwari) [1990475] - nvme: fix potential memory leaks in nvme_cdev_add (Gopal Tiwari) [1990475] - nvme-fc: clear q_live at beginning of association teardown (Gopal Tiwari) [1990475] - nvme-tcp: rerun io_work if req_list is not empty (Gopal Tiwari) [1990475] - nvme-tcp: fix possible use-after-completion (Gopal Tiwari) [1990475] - nvme-loop: fix memory leak in nvme_loop_create_ctrl() (Gopal Tiwari) [1990475] - nvmet: fix memory leak in nvmet_alloc_ctrl() (Gopal Tiwari) [1990475] - nvmet: seset ns->file when open fails (Gopal Tiwari) [1990475] - nvmet: demote fabrics cmd parse err msg to debug (Gopal Tiwari) [1990475] - nvmet: fix inline bio check for passthru (Gopal Tiwari) [1990475] - nvmet: fix inline bio check for bdev-ns (Gopal Tiwari) [1990475] - nvmet: use helper to remove the duplicate code (Gopal Tiwari) [1990475] - nvmet: demote discovery cmd parse err msg to debug (Gopal Tiwari) [1990475] - nvmet: remove unsupported command noise (Gopal Tiwari) [1990475] - nvme-pci: fix controller reset hang when racing with nvme_timeout (Gopal Tiwari) [1990475] - nvme: move the fabrics queue ready check routines to core (Gopal Tiwari) [1990475] - nvme: avoid memset for passthrough requests (Gopal Tiwari) [1990475] - nvme: add nvme_get_ns helper (Gopal Tiwari) [1990475] - nvme: fix controller ioctl through ns_head (Gopal Tiwari) [1990475] - nvme: introduce generic per-namespace chardev (Gopal Tiwari) [1990475] - nvme: cleanup nvme_configure_apst (Gopal Tiwari) [1990475] - nvme: do not try to reconfigure APST when the controller is not live (Gopal Tiwari) [1990475] - nvme: sanitize KATO setting (Gopal Tiwari) [1990475] - nvmet: avoid queuing keep-alive timer if it is disabled (Gopal Tiwari) [1990475] - nvme: fix NULL derefence in nvme_ctrl_fast_io_fail_tmo_show/store (Gopal Tiwari) [1990475] - nvme: let namespace probing continue for unsupported features (Gopal Tiwari) [1990475] - nvme: factor out nvme_ns_open and nvme_ns_release helpers (Gopal Tiwari) [1990475] - nvme: move nvme_ns_head_ops to multipath.c (Gopal Tiwari) [1990475] - nvme: factor out a nvme_tryget_ns_head helper (Gopal Tiwari) [1990475] - nvme: move the ioctl code to a separate file (Gopal Tiwari) [1990475] - nvme: don't bother to look up a namespace for controller ioctls (Gopal Tiwari) [1990475] - nvme: simplify block device ioctl handling for the !multipath case (Gopal Tiwari) [1990475] - nvme: simplify the compat ioctl handling (Gopal Tiwari) [1990475] - nvme-multipath: remove single trailing whitespace (Gopal Tiwari) [1990475] - nvme: pass a user pointer to nvme_nvm_ioctl (Gopal Tiwari) [1990475] - nvme: factor out a nvme_ns_ioctl helper (Gopal Tiwari) [1990475] - nvme: cleanup setting the disk name (Gopal Tiwari) [1990475] - nvme: remove single trailing whitespace (Gopal Tiwari) [1990475] - nvme-pci: remove single trailing whitespace (Gopal Tiwari) [1990475] - nvme: add a nvme_ns_head_multipath helper (Gopal Tiwari) [1990475] - nvmet: fix a spelling mistake "nubmer" -> "number" (Gopal Tiwari) [1990475] - nvmet-fc: simplify nvmet_fc_alloc_hostport (Gopal Tiwari) [1990475] - nvmet-tcp: fix a segmentation fault during io parsing error (Gopal Tiwari) [1990475] - lightnvm: use kobj_to_dev() (Gopal Tiwari) [1990475] - nvme: fix handling of large MDTS values (Gopal Tiwari) [1990475] - nvme: implement non-mdts command limits (Gopal Tiwari) [1990475] - nvme: disallow passthru cmd from targeting a nsid != nsid of the block dev (Gopal Tiwari) [1990475] - nvme: use sysfs_emit instead of sprintf (Gopal Tiwari) [1990475] - nvme-fc: check sgl supported by target (Gopal Tiwari) [1990475] - nvme: remove superfluous else in nvme_ctrl_loss_tmo_store (Gopal Tiwari) [1990475] - nvme: warn of unhandled effects only once (Gopal Tiwari) [1990475] - nvmet-tcp: enable optional queue idle period tracking (Gopal Tiwari) [1990475] - nvmet-tcp: fix incorrect locking in state_change sk callback (Gopal Tiwari) [1990475] - nvme-tcp: block BH in sk state_change sk callback (Gopal Tiwari) [1990475] - nvmet: return proper error code from discovery ctrl (Gopal Tiwari) [1990475] - nvme-tcp: check sgl supported by target (Gopal Tiwari) [1990475] - nvme: use driver pdu command for passthrough (Gopal Tiwari) [1990475] - nvmet: remove unnecessary ctrl parameter (Gopal Tiwari) [1990475] - nvmet-fc: update function documentation (Gopal Tiwari) [1990475] - nvme-pci: allocate nvme_command within driver pdu (Gopal Tiwari) [1990475] - nvmet: do not allow model_number exceed 40 bytes (Gopal Tiwari) [1990475] - nvme-fc: fix the function documentation comment (Gopal Tiwari) [1990475] - nvme: add new line after variable declatation (Gopal Tiwari) [1990475] - nvme: don't check nvme_req flags for new req (Gopal Tiwari) [1990475] - nvme: mark nvme_setup_passsthru() inline (Gopal Tiwari) [1990475] - nvme: split init identify into helper (Gopal Tiwari) [1990475] - nvme: rename nvme_init_identify() (Gopal Tiwari) [1990475] - nvme: reduce checks for zero command effects (Gopal Tiwari) [1990475] - nvmet: update error log page in nvmet_alloc_ctrl() (Gopal Tiwari) [1990475] - nvmet: remove an unnecessary function parameter to nvmet_check_ctrl_status (Gopal Tiwari) [1990475] - nvmet: remove a duplicate status assignment in nvmet_alloc_ctrl (Gopal Tiwari) [1990475] - nvmet: replace white spaces with tabs (Gopal Tiwari) [1990475] - nvme: use NVME_CTRL_CMIC_ANA macro (Gopal Tiwari) [1990475] - nvme-pci: cleanup nvme_irq() (Gopal Tiwari) [1990475] - nvme-pci: remove the barriers in nvme_irq() (Gopal Tiwari) [1990475] - nvmet-tcp: fix kmap leak when data digest in use (Gopal Tiwari) [1990475] - nvmet: don't check iosqes,iocqes for discovery controllers (Gopal Tiwari) [1990475] - nvme-tcp: fix a NULL deref when receiving a 0-length r2t PDU (Gopal Tiwari) [1990475] - nvme-rdma: fix possible hang when failing to set io queues (Gopal Tiwari) [1990475] - nvme-tcp: fix possible hang when failing to set io queues (Gopal Tiwari) [1990475] - nvme-fabrics: only reserve a single tag (Gopal Tiwari) [1990475] - nvme: allocate the keep alive request using BLK_MQ_REQ_NOWAIT (Gopal Tiwari) [1990475] - nvme: merge nvme_keep_alive into nvme_keep_alive_work (Gopal Tiwari) [1990475] - nvme-hwmon: Return error code when registration fails (Gopal Tiwari) [1990475] - nvme: update enumerations for status codes (Gopal Tiwari) [1990475]- scsi: mpt3sas: Fix incorrectly assigned error return and check (Tomas Henzl) [1990535] - scsi: mpt3sas: Introduce sas_ncq_prio_supported sysfs sttribute (Tomas Henzl) [1990535] - scsi: mpt3sas: Update driver version to 39.100.00.00 (Tomas Henzl) [1990535] - scsi: mpt3sas: Use firmware recommended queue depth (Tomas Henzl) [1990535] - scsi: mpt3sas: Bump driver version to 38.100.00.00 (Tomas Henzl) [1990535] - scsi: mpt3sas: Transition IOC to Ready state during shutdown (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix error return value in _scsih_expander_add() (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix Coverity reported issue (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix fall-through warnings for Clang (Tomas Henzl) [1990535] - scsi: mpt3sas: Handle firmware faults during second half of IOC init (Tomas Henzl) [1990535] - scsi: mpt3sas: Handle firmware faults during first half of IOC init (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix deadlock while cancelling the running firmware event (Tomas Henzl) [1990535] - scsi: mpt3sas: Documentation cleanup (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix two kernel-doc headers (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix out-of-bounds warnings in _ctl_addnl_diag_query (Tomas Henzl) [1990535] - scsi: megaraid_sas: Driver version update to 07.719.03.00-rc1 (Tomas Henzl) [1989643] - scsi: megaraid_sas: Add helper functions for irq_context (Tomas Henzl) [1989643] - scsi: megaraid: Clean up some inconsistent indenting (Tomas Henzl) [1989643] - scsi: megaraid: Fix Coccinelle warning (Tomas Henzl) [1989643] - IB/cma: Do not send IGMP leaves for sendonly Multicast groups (Kamal Heib) [2007269] - hv_netvsc: Add comment of netvsc_xdp_xmit() (Mohammed Gamal) [2008560] - hv_netvsc: use netif_is_bond_master() instead of open code (Mohammed Gamal) [2008560] - hv_netvsc: Avoid field-overflowing memcpy() (Mohammed Gamal) [2008560] - hv_netvsc: Set needed_headroom according to VF (Mohammed Gamal) [2008560] - netfilter: conntrack: fix error path in nf_conntrack_pernet_init() (Florian Westphal) [1922568] - netfilter: nf_conntrack: provide modparam to always register conntrack hooks (Florian Westphal) [1922568] - sctp: return true only for pathmtu update in sctp_transport_pl_toobig (Xin Long) [1890383] - sctp: subtract sctphdr len in sctp_transport_pl_hlen (Xin Long) [1890383] - sctp: reset probe_timer in sctp_transport_pl_update (Xin Long) [1890383] - sctp: allow IP fragmentation when PLPMTUD enters Error state (Xin Long) [1890383] - sctp: send pmtu probe only if packet loss in Search Complete state (Xin Long) [1890383] - sctp: improve the code for pmtu probe send and recv update (Xin Long) [1890383] - sctp: prevent info leak in sctp_make_heartbeat() (Xin Long) [1890383] - sctp: check pl.raise_count separately from its increment (Xin Long) [1890383] - sctp: send the next probe immediately once the last one is acked (Xin Long) [1890383] - sctp: do black hole detection in search complete state (Xin Long) [1890383] - sctp: process sctp over udp icmp err on sctp side (Xin Long) [1890383] - sctp: extract sctp_v4_err_handle function from sctp_v4_err (Xin Long) [1890383] - sctp: extract sctp_v6_err_handle function from sctp_v6_err (Xin Long) [1890383] - sctp: remove the unessessary hold for idev in sctp_v6_err (Xin Long) [1890383] - sctp: enable PLPMTUD when the transport is ready (Xin Long) [1890383] - sctp: do state transition when receiving an icmp TOOBIG packet (Xin Long) [1890383] - sctp: do state transition when a probe succeeds on HB ACK recv path (Xin Long) [1890383] - sctp: do state transition when PROBE_COUNT == MAX_PROBES on HB send path (Xin Long) [1890383] - sctp: do the basic send and recv for PLPMTUD probe (Xin Long) [1890383] - sctp: add the probe timer in transport for PLPMTUD (Xin Long) [1890383] - sctp: add the constants/variables and states and some APIs for transport (Xin Long) [1890383] - sctp: add SCTP_PLPMTUD_PROBE_INTERVAL sockopt for sock/asoc/transport (Xin Long) [1890383] - sctp: add probe_interval in sysctl and sock/asoc/transport (Xin Long) [1890383] - sctp: add pad chunk and its make function and event table (Xin Long) [1890383] - blk-mq: still set q->make_request_fn for blk-mq (Ming Lei) [1999728] - PCI: Add AMD RS690 quirk to enable 64-bit DMA (Myron Stowe) [1993279] - PCI: Add ACS quirk for Broadcom BCM57414 NIC (Myron Stowe) [1993279] - PCI: Mark some NVIDIA GPUs to avoid bus reset (Myron Stowe) [1993279] - PCI: of: Clear 64-bit flag for non-prefetchable memory below 4GB (Myron Stowe) [1993279] - x86/PCI: Remove unused alloc_pci_root_info() return value (Myron Stowe) [1993279] - PCI: Delay after FLR of Intel DC P4510 NVMe (Myron Stowe) [1993279] - PCI: Delay after FLR of Intel DC P3700 NVMe (Myron Stowe) [1993279] - PCI: Disable Samsung SM961/PM961 NVMe before FLR (Myron Stowe) [1993279] - PCI/sysfs: Use sysfs_emit() and sysfs_emit_at() in "show" functions (Myron Stowe) [1993279] - PCI/sysfs: Rearrange smbios_attr_group and acpi_attr_group (Myron Stowe) [1993279] - PCI/sysfs: Tidy SMBIOS & ACPI label attributes (Myron Stowe) [1993279] - PCI/sysfs: Convert "index", "acpi_index", "label" to static attributes (Myron Stowe) [1993279] - PCI/sysfs: Define SMBIOS label attributes with DEVICE_ATTR*() (Myron Stowe) [1993279] - PCI/sysfs: Define ACPI label attributes with DEVICE_ATTR*() (Myron Stowe) [1993279] - PCI/sysfs: Rename device_has_dsm() to device_has_acpi_name() (Myron Stowe) [1993279] - PCI/sysfs: Convert "vpd" to static attribute (Myron Stowe) [1993279] - PCI/sysfs: Rename "vpd" attribute accessors (Myron Stowe) [1993279] - PCI/sysfs: Convert "reset" to static attribute (Myron Stowe) [1993279] - PCI/sysfs: Convert "rom" to static attribute (Myron Stowe) [1993279] - PCI/sysfs: Convert "config" to static attribute (Myron Stowe) [1993279] - PCI: Allow VPD access for QLogic ISP2722 (Myron Stowe) [1993279] - PCI/VPD: Add helper pci_get_func0_dev() (Myron Stowe) [1993279] - PCI/VPD: Remove pci_vpd_find_tag() SRDT handling (Myron Stowe) [1993279] - PCI/VPD: Remove pci_vpd_find_tag() 'offset' argument (Myron Stowe) [1993279] - PCI/VPD: Change pci_vpd_init() return type to void (Myron Stowe) [1993279] - PCI/VPD: Make missing VPD message less alarming (Myron Stowe) [1993279] - PCI/VPD: Remove pci_set_vpd_size() (Myron Stowe) [1993279] - PCI/VPD: Remove sysfs accessor size checking dead code (Myron Stowe) [1993279] - PCI/VPD: Remove obsolete Broadcom NIC quirk (Myron Stowe) [1993279] - PCI/ACPI: Fix acpi_pci_set_power_state() debug message (Myron Stowe) [1993279] - PCI: acpiphp: Fix whitespace issue (Myron Stowe) [1993279] - PCI: shpchp: Remove unused shpc_writeb() (Myron Stowe) [1993279] - PCI: cpqphp: Use DEFINE_SPINLOCK() for int15_lock (Myron Stowe) [1993279] - ACPI / hotplug / PCI: Fix reference count leak in enable_slot() (Myron Stowe) [1993279] - PCI: Add pci_disable_parity() (Myron Stowe) [1993279] - PCI: Release OF node in pci_scan_device()'s error path (Myron Stowe) [1993279] - fs: dlm: fix check for multi-homed hosts (Alexander Aring) [1889887] - iommu: remove iommu_domain_{get,set}_attr (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: enable the liodn when attaching a device (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: replace DOMAIN_ATTR_FSL_PAMU_STASH with a direct call (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: remove ->domain_window_enable (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: remove support for multiple windows (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: remove fsl_pamu_get_domain_attr (Jerry Snitselaar) [2004349] - iommu: remove the unused domain_window_disable method (Jerry Snitselaar) [2004349] - iommu: Remove .domain_{get,set}_windows (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Decrease the queue size of evtq and priq (Jerry Snitselaar) [2004349] - iommu/vt-d: Use pasid_pte_is_present() helper function (Jerry Snitselaar) [2004349] - iommu/vt-d: Update the virtual command related registers (Jerry Snitselaar) [2004349] - ACPI: IORT: Handle device properties with software node API (Jerry Snitselaar) [2004349] - iommu: Update "iommu.strict" documentation (Jerry Snitselaar) [2004349] - iommu/dma: Remove redundant "!dev" checks (Jerry Snitselaar) [2004349] - iommu/virtio: Drop IOVA cookie management (Jerry Snitselaar) [2004349] - iommu/vt-d: Drop IOVA cookie management (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Drop IOVA cookie management (Jerry Snitselaar) [2004349] - iommu/amd: Drop IOVA cookie management (Jerry Snitselaar) [2004349] - iommu: Pull IOVA cookie management into the core (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Stop pre-zeroing batch commands (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Extract reusable function __arm_smmu_cmdq_skip_err() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Add and use static helper function arm_smmu_get_cmdq() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Remove some unneeded init in arm_smmu_cmdq_issue_cmdlist() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Add and use static helper function arm_smmu_cmdq_issue_cmd_with_sync() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Use command queue batching helpers to improve performance (Jerry Snitselaar) [2004349] - iommu/amd: Use only natural aligned flushes in a VM (Jerry Snitselaar) [2004349] - iommu/amd: Sync once for scatter-gather operations (Jerry Snitselaar) [2004349] - iommu/amd: Tailored gather logic for AMD (Jerry Snitselaar) [2004349] - iommu: Factor iommu_iotlb_gather_is_disjoint() out (Jerry Snitselaar) [2004349] - iommu: Improve iommu_iotlb_gather helpers (Jerry Snitselaar) [2004349] - iommu/amd: Do not use flush-queue when NpCache is on (Jerry Snitselaar) [2004349] - iommu/amd: Selective flush on unmap (Jerry Snitselaar) [2004349] - iommu/amd: Convert from atomic_t to refcount_t on pasid_state->count (Jerry Snitselaar) [2004349] - iommu: Streamline iommu_iova_to_phys() (Jerry Snitselaar) [2004349] - iommu/vt-d: Allow devices to have more than 32 outstanding PRs (Jerry Snitselaar) [1920744] - iommu/vt-d: Drop "0x" prefix from PCI bus & device addresses (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix a deadlock in intel_svm_drain_prq() (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix PASID leak in intel_svm_unbind_mm() (Jerry Snitselaar) [2004349] - iommu/amd: Fix printing of IOMMU events when rate limiting kicks in (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Fix missing unlock on error in arm_smmu_device_group() (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Fix race condition during iommu_group creation (Jerry Snitselaar) [2004349] - iommu: Fix race condition during default domain allocation (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Implement the map_pages() IOMMU driver callback (Jerry Snitselaar) [1971977] - iommu/arm-smmu-v3: Implement the unmap_pages() IOMMU driver callback (Jerry Snitselaar) [1971977] - iommu/vt-d: Move clflush'es from iotlb_sync_map() to map_pages() (Jerry Snitselaar) [1971977] - iommu/vt-d: Implement map/unmap_pages() iommu_ops callback (Jerry Snitselaar) [1971977] - iommu/vt-d: Report real pgsize bitmap to iommu core (Jerry Snitselaar) [1971977] - iommu/arm-smmu: Implement the map_pages() IOMMU driver callback (Jerry Snitselaar) [1971977] - iommu/arm-smmu: Implement the unmap_pages() IOMMU driver callback (Jerry Snitselaar) [1971977] - iommu/io-pgtable-arm: Implement arm_lpae_map_pages() (Jerry Snitselaar) [1971977] - iommu/io-pgtable-arm: Implement arm_lpae_unmap_pages() (Jerry Snitselaar) [1971977] - iommu/io-pgtable-arm: Prepare PTE methods for handling multiple entries (Jerry Snitselaar) [1971977] - iommu: Add support for the map_pages() callback (Jerry Snitselaar) [1971977] - iommu: Hook up '->unmap_pages' driver callback (Jerry Snitselaar) [1971977] - iommu: Split 'addr_merge' argument to iommu_pgsize() into separate parts (Jerry Snitselaar) [1971977] - iommu: Use bitmap to calculate page size in iommu_pgsize() (Jerry Snitselaar) [1971977] - iommu: Add a map_pages() op for IOMMU drivers (Jerry Snitselaar) [1971977] - iommu/io-pgtable: Introduce map_pages() as a page table op (Jerry Snitselaar) [1971977] - iommu: Add an unmap_pages() op for IOMMU drivers (Jerry Snitselaar) [1971977] - iommu/io-pgtable: Introduce unmap_pages() as a page table op (Jerry Snitselaar) [1971977] - iommu/vt-d: Fix incomplete cache flush in intel_pasid_tear_down_entry() (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix PASID reference leak (Jerry Snitselaar) [2004349] - iommu: Check if group is NULL before remove device (Jerry Snitselaar) [2004349] - iommu/dma: Fix leak in non-contiguous API (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Fix fall-through warning for Clang (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix clearing real DMA device's scalable-mode context entries (Jerry Snitselaar) [2004349] - iommu/vt-d: Global devTLB flush when present context entry changed (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Use Tegra implementation on Tegra186 (Jerry Snitselaar) [2004349] - iommu: Delete a duplicate check in iommu_change_dev_def_domain() (Jerry Snitselaar) [2004349] - iommu/dma: Fix compile warning in 32-bit builds (Jerry Snitselaar) [2004349] - iommu: Drop unnecessary of_iommu.h includes (Jerry Snitselaar) [2004349] - iommu: Remove unused of_get_dma_window() (Jerry Snitselaar) [2004349] - iommu/iova: Put free_iova_mem() outside of spinlock iova_rbtree_lock (Jerry Snitselaar) [2004349] - iommu/dma: Fix IOVA reserve dma ranges (Jerry Snitselaar) [2004349] - iommu/virtio: Enable x86 support (Jerry Snitselaar) [2004349] - iommu/dma: Pass address limit rather than size to iommu_setup_dma_ops() (Jerry Snitselaar) [2004349] - iommu/amd: Fix section mismatch warning for detect_ivrs() (Jerry Snitselaar) [2004349] - iommu/amd: Add amd_iommu=force_enable option (Jerry Snitselaar) [2004349] - iommu/amd: Fix extended features logging (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix dereference of pointer info before it is null checked (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix linker error on 32-bit (Jerry Snitselaar) [2004349] - iommu/vt-d: No need to typecast (Jerry Snitselaar) [2004349] - iommu/vt-d: Define counter explicitly as unsigned int (Jerry Snitselaar) [2004349] - iommu/vt-d: Remove unnecessary braces (Jerry Snitselaar) [2004349] - iommu/vt-d: Removed unused iommu_count in dmar domain (Jerry Snitselaar) [2004349] - iommu/vt-d: Use bitfields for DMAR capabilities (Jerry Snitselaar) [2004349] - iommu/vt-d: Use DEVICE_ATTR_RO macro (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix out-bounds-warning in intel/svm.c (Jerry Snitselaar) [2004349] - iommu/vt-d: Add PRQ handling latency sampling (Jerry Snitselaar) [1971935] - iommu/vt-d: Add cache invalidation latency sampling (Jerry Snitselaar) [1971935] - iommu/vt-d: Expose latency monitor data through debugfs (Jerry Snitselaar) [1971935] - iommu/vt-d: Add common code for dmar latency performance monitors (Jerry Snitselaar) [1971935] - iommu/vt-d: Add prq_report trace event (Jerry Snitselaar) [1971973] - iommu/vt-d: Report prq to io-pgfault framework (Jerry Snitselaar) [1971971] - iommu/vt-d: Allocate/register iopf queue for sva devices (Jerry Snitselaar) [1971971] - iommu/vt-d: Refactor prq_event_thread() (Jerry Snitselaar) [1971971] - iommu/vt-d: Use common helper to lookup svm devices (Jerry Snitselaar) [1971971] - iommu/vt-d: Use iommu_sva_alloc(free)_pasid() helpers (Jerry Snitselaar) [1971971] - iommu/vt-d: Add pasid private data helpers (Jerry Snitselaar) [1971971] - iommu/vt-d: Support asynchronous IOMMU nested capabilities (Jerry Snitselaar) [2004349] - iommu/vt-d: Select PCI_ATS explicitly (Jerry Snitselaar) [2004349] - iommu/vt-d: Tweak the description of a DMA fault (Jerry Snitselaar) [1971975] - iommu/vt-d: Fix kernel-doc syntax in file header (Jerry Snitselaar) [2004349] - iommu/vt-d: Remove redundant assignment to variable agaw (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Check smmu->impl pointer before dereferencing (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Implement ->probe_finalize() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Remove unnecessary oom message (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Fix arm_smmu_device refcount leak in address translation (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Fix arm_smmu_device refcount leak when arm_smmu_rpm_get fails (Jerry Snitselaar) [2004349] - PM: runtime: Add documentation for pm_runtime_resume_and_get() (Jerry Snitselaar) [2004349] - PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter (Jerry Snitselaar) [2004349] - iommu/arm: Cleanup resources in case of probe error path (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Ratelimit event dump (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Add stall support for platform devices (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Change *array into *const array (Jerry Snitselaar) [2004349] - iommu/amd: Remove redundant assignment of err (Jerry Snitselaar) [2004349] - iommu/amd: Tidy up DMA ops init (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Add support for driver IOMMU fault handlers (Jerry Snitselaar) [2004349] - iommu/virtio: Add missing MODULE_DEVICE_TABLE (Jerry Snitselaar) [2004349] - iommu/amd: Fix wrong parentheses on page-specific invalidations (Jerry Snitselaar) [2004349] - iommu: Streamline registration interface (Jerry Snitselaar) [2004349] - iommu: Statically set module owner (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_IO_PGTABLE_CFG (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_DMA_USE_FLUSH_QUEUE (Jerry Snitselaar) [2004349] - iommu: remove iommu_set_cmd_line_dma_api and iommu_cmd_line_dma_api (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_NESTING (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_GEOMETRY (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_PAGING (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Maintain a SID->device structure (Jerry Snitselaar) [2004349] - iommu: Add a page fault handler (Jerry Snitselaar) [2004349] - iommu/vt-d: Support IOMMU_DEV_FEAT_IOPF (Jerry Snitselaar) [2004349] - iommu: Separate IOMMU_DEV_FEAT_IOPF from IOMMU_DEV_FEAT_SVA (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Use device properties for pasid-num-bits (Jerry Snitselaar) [2004349] - of/device: Add input id to of_dma_configure() (Jerry Snitselaar) [2004349] - of/iommu: Make of_map_rid() PCI agnostic (Jerry Snitselaar) [2004349] - iommu: Fix comment for struct iommu_fwspec (Jerry Snitselaar) [2004349] - iommu/amd: Remove duplicate check of devid (Jerry Snitselaar) [2004349] - iommu/amd: Page-specific invalidations for more than one page (Jerry Snitselaar) [2004349] - iommu/amd: Move a few prototypes to include/linux/amd-iommu.h (Jerry Snitselaar) [2004349] - iommu/amd: Remove a few unused exports (Jerry Snitselaar) [2004349] - iommu/amd: Remove the unused amd_iommu_get_v2_domain function (Jerry Snitselaar) [2004349] - iommu/amd: Remove the unused device errata code (Jerry Snitselaar) [2004349] - iommu/amd: Remove duplicate check of pasids (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix lockdep splat in intel_pasid_get_entry() (Jerry Snitselaar) [2004349] - iommu/amd: Remove iommu_init_ga() (Jerry Snitselaar) [1998265] - iommu/amd: Relocate GAMSup check to early_enable_iommus (Jerry Snitselaar) [1998265] - x86/Kconfig: Do not enable AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT automatically (Prarit Bhargava) [2021219] - hyper-v: Replace uuid.h with types.h (Mohammed Gamal) [2008563] - x86/hyperv: Avoid erroneously sending IPI to 'self' (Mohammed Gamal) [2008563] - asm-generic/hyperv: provide cpumask_to_vpset_noself (Mohammed Gamal) [2008563] - asm-generic/hyperv: Add missing function prototypes per -W1 warnings (Mohammed Gamal) [2008563] - hv: hyperv.h: Remove unused inline functions (Mohammed Gamal) [2008563] - hv: hyperv.h: a few mundane typo fixes (Mohammed Gamal) [2008563] - hv: hyperv.h: Replace one-element array with flexible-array in struct icmsg_negotiate (Mohammed Gamal) [2008563] - x86/hyperv: add comment describing TSC_INVARIANT_CONTROL MSR setting bit 0 (Mohammed Gamal) [2008563] - x86/hyperv: fix for unwanted manipulation of sched_clock when TSC marked unstable (Mohammed Gamal) [2008563] - hyperv: Detect Nested virtualization support for SVM (Mohammed Gamal) [2008563] - hyperv: SVM enlightened TLB flush support flag (Mohammed Gamal) [2008563] - x86/hyperv: remove on-stack cpumask from hv_send_ipi_mask_allbutself (Mohammed Gamal) [2008563] - drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status (Mohammed Gamal) [2008563] - x86/hyperv: remove unused linux/version.h header (Mohammed Gamal) [2008563] - x86/hyperv: Fix unused variable 'hi' warning in hv_apic_read (Mohammed Gamal) [2008563] - x86/hyperv: Fix unused variable 'msr_val' warning in hv_qlock_wait (Mohammed Gamal) [2008563] - PCI: hv: Fix sleep while in non-sleep context when removing child devices from the bus (Mohammed Gamal) [2008562] - PCI: hv: Add check for hyperv_initialized in init_hv_pci_drv() (Mohammed Gamal) [2008562] - PCI: hv: Drop msi_controller structure (Mohammed Gamal) [2008562] - PCI/IOV: Add sysfs MSI-X vector assignment interface (Myron Stowe) [2019087] - x86: ACPI: cstate: Optimize C3 entry on AMD CPUs (David Arcari) [1998529] - Bluetooth: Move shutdown callback before flushing tx and rx queue (Gopal Tiwari) [1990477] - Bluetooth: btusb: check conditions before enabling USB ALT 3 for WBS (Gopal Tiwari) [1990477] - Bluetooth: Fix VIRTIO_ID_BT assigned number (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Fix wrong opcode in the response for add_adv cmd (Gopal Tiwari) [1990477] - Bluetooth: defer cleanup of resources in hci_unregister_dev() (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: Fix handling of HCI_LE_Advertising_Set_Terminated event (Gopal Tiwari) [1990477] - Bluetooth: Fix Set Extended (Scan Response) Data (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language when filtering devices (Gopal Tiwari) [1990477] - Bluetooth: smp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language in HCI role comments (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language when tracking connections (Gopal Tiwari) [1990477] - Bluetooth: sco: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: a2mp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: 6lowpan: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: amp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: cmtp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: bnep: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: hidp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language in comments (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language in SMP (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language in HCI LE features (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language to describe CPB (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Fix slab-out-of-bounds in tlv_data_is_valid (Gopal Tiwari) [1990477] - Bluetooth: disable filter dup when scan for adv monitor (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Fix the command returns garbage parameter value (Gopal Tiwari) [1990477] - Bluetooth: RFCOMM: Use DEVICE_ATTR_RO macro (Gopal Tiwari) [1990477] - Bluetooth: Translate additional address type during le_conn_comp (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix invalid access on ECRED Connection response (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix invalid access if ECRED Reconfigure fails (Gopal Tiwari) [1990477] - Bluetooth: Remove spurious error message (Gopal Tiwari) [1990477] - Bluetooth: Shutdown controller after workqueues are flushed or cancelled (Gopal Tiwari) [1990477] - Bluetooth: Add ncmd=0 recovery handling (Gopal Tiwari) [1990477] - Bluetooth: 6lowpan: remove unused function (Gopal Tiwari) [1990477] - Bluetooth: Fix alt settings for incoming SCO with transparent coding format (Gopal Tiwari) [1990477] - Bluetooth: Fix the HCI to MGMT status conversion table (Gopal Tiwari) [1990477] - Bluetooth: cmtp: fix file refcount when cmtp_attach_device fails (Gopal Tiwari) [1990477] - Bluetooth: 6lowpan: delete unneeded variable initialization (Gopal Tiwari) [1990477] - Bluetooth: Return whether a connection is outbound (Gopal Tiwari) [1990477] - Bluetooth: SMP: Fix crash when receiving new connection when debug is enabled (Gopal Tiwari) [1990477] - Bluetooth: Fix spelling mistakes (Gopal Tiwari) [1990477] - Bluetooth: Set defaults for le_scan_{int,window}_adv_monitor (Gopal Tiwari) [1990477] - Bluetooth: Allow Microsoft extension to indicate curve validation (Gopal Tiwari) [1990477] - Bluetooth: Add support for reading AOSP vendor capabilities (Gopal Tiwari) [1990477] - Bluetooth: LL privacy allow RPA (Gopal Tiwari) [1990477] - Bluetooth: Handle own address type change with HCI_ENABLE_LL_PRIVACY (Gopal Tiwari) [1990477] - Bluetooth: Do not set cur_adv_instance in adv param MGMT request (Gopal Tiwari) [1990477] - Bluetooth: Use ext adv handle from requests in CCs (Gopal Tiwari) [1990477] - Bluetooth: use the correct print format for L2CAP debug statements (Gopal Tiwari) [1990477] - Bluetooth: SMP: Fix variable dereferenced before check 'conn' (Gopal Tiwari) [1990477] - Bluetooth: Check inquiry status before sending one (Gopal Tiwari) [1990477] - Bluetooth: Coding style fix (Gopal Tiwari) [1990477] - Bluetooth: Remove 'return' in void function (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: Move the advertisement monitor events to correct list (Gopal Tiwari) [1990477] - Bluetooth: Add missing entries for PHY configuration commands (Gopal Tiwari) [1990477] - Bluetooth: Fix mgmt status for LL Privacy experimental feature (Gopal Tiwari) [1990477] - Bluetooth: Fix wrong opcode error for read advertising features (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Rudimentary typo fixes (Gopal Tiwari) [1990477] - Bluetooth: Remove trailing semicolon in macros (Gopal Tiwari) [1990477] - Bluetooth: check for zapped sk before connecting (Gopal Tiwari) [1990477] - Bluetooth: fix set_ecdh_privkey() prototype (Gopal Tiwari) [1990477] - Bluetooth: initialize skb_queue_head at l2cap_chan_create() (Gopal Tiwari) [1990477] - Bluetooth: Set CONF_NOT_COMPLETE as l2cap_chan default (Gopal Tiwari) [1990477] - Bluetooth: Fix incorrect status handling in LE PHY UPDATE event (Gopal Tiwari) [1990477] - Bluetooth: avoid deadlock between hci_dev->lock and socket lock (Gopal Tiwari) [1990477] - Bluetooth: SMP: Convert BT_ERR/BT_DBG to bt_dev_err/bt_dev_dbg (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix not checking for maximum number of DCID (Gopal Tiwari) [1990477] - Bluetooth: Cancel le_scan_restart work when stopping discovery (Gopal Tiwari) [1990477] - Bluetooth: SMP: Fail if remote and local public keys are identical (Gopal Tiwari) [1990477] - Bluetooth: Allow scannable adv with extended MGMT APIs (Gopal Tiwari) [1990477] - Bluetooth: Remove unneeded commands for suspend (Gopal Tiwari) [1990477] - Bluetooth: Notify suspend on le conn failed (Gopal Tiwari) [1990477] - Bluetooth: hci_uart: Remove redundant assignment to fw_ptr (Gopal Tiwari) [1990477] - Bluetooth: btmrvl: remove redundant continue statement (Gopal Tiwari) [1990477] - Bluetooth: btusb: use default nvm if boardID is 0 for wcn6855. (Gopal Tiwari) [1990477] - Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc. (Gopal Tiwari) [1990477] - Bluetooth: btmtkuart: using pm_runtime_resume_and_get instead of pm_runtime_get_sync (Gopal Tiwari) [1990477] - Bluetooth: btrtl: rename USB fw for RTL8761 (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add 0x0b05:0x190e Realtek 8761BU (ASUS BT500) device. (Gopal Tiwari) [1990477] - Bluetooth: hci_h5: Add RTL8822CS capabilities (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add support USB ALT 3 for WBS (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add a new QCA_ROME device (0cf3:e500) (Gopal Tiwari) [1990477] - Bluetooth: btqca: Don't modify firmware contents in-place (Gopal Tiwari) [1990477] - Bluetooth: btbcm: Add entry for BCM43430B0 UART Bluetooth (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: fix potential GPF (Gopal Tiwari) [1990477] - Bluetooth: btusb: fix memory leak (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fixed too many in-token issue for Mediatek Chip. (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add support for Lite-On Mediatek Chip (Gopal Tiwari) [1990477] - Bluetooth: virtio_bt: add missing null pointer check on alloc_skb call return (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fix failing to init controllers with operation firmware (Gopal Tiwari) [1990477] - Bluetooth: Add a new USB ID for RTL8822CE (Gopal Tiwari) [1990477] - Bluetooth: btusb: Revert Fix the autosuspend enable and disable (Gopal Tiwari) [1990477] - Bluetooth: Add support for virtio transport driver (Gopal Tiwari) [1990477] - Bluetooth: btusb: Enable quirk boolean flag for Mediatek Chip. (Gopal Tiwari) [1990477] - Bluetooth: btintel: Skip reading firmware file version while in bootloader mode (Gopal Tiwari) [1990477] - Bluetooth: btintel: Collect tlv based active firmware build info in FW mode (Gopal Tiwari) [1990477] - Bluetooth: btintel: Reorganized bootloader mode tlv checks in intel_version_tlv parsing (Gopal Tiwari) [1990477] - Bluetooth: btusb: Consolidate code for waiting firmware to boot (Gopal Tiwari) [1990477] - Bluetooth: btusb: Consolidate code for waiting firmware download (Gopal Tiwari) [1990477] - Bluetooth: btintel: Consolidate intel_version parsing (Gopal Tiwari) [1990477] - Bluetooth: btintel: Consolidate intel_version_tlv parsing (Gopal Tiwari) [1990477] - Bluetooth: btintel: Move operational checks after version check (Gopal Tiwari) [1990477] - Bluetooth: btintel: Check firmware version before download (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Mundane typo fix (Gopal Tiwari) [1990477] - Bluetooth: btbcm: Add BCM4330 and BCM4334 compatibles (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Add device_may_wakeup support (Gopal Tiwari) [1990477] - Bluetooth: btintel: Fix offset calculation boot address parameter (Gopal Tiwari) [1990477] - Bluetooth: btusb: print firmware file name on error loading firmware (Gopal Tiwari) [1990477] - Bluetooth: btbcm: Obtain and handle reset GPIO (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fix incorrect type in assignment and uninitialized symbol (Gopal Tiwari) [1990477] - Bluetooth: btusb: support 0cb5:c547 Realtek 8822CE device (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Fixed issue during suspend (Gopal Tiwari) [1990477] - Bluetooth: btusb: fix excessive stack usage (Gopal Tiwari) [1990477] - Bluetooth: btusb: remove set but not used variable in btusb_mtk_setup_firmware_79xx (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fix typo and correct the log print (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fix memory leak in btusb_mtk_wmt_recv (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add protocol support for MediaTek MT7921U USB devices (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fine-tune mt7663 mechanism. (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: check for SSR triggered flag while suspend (Gopal Tiwari) [1990477] - Bluetooth: btrtl: Enable WBS for the specific Realtek devices (Gopal Tiwari) [1990477] - Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Wait for SSR completion during suspend (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Fix memleak in qca_controller_memdump (Gopal Tiwari) [1990477] - Bluetooth: hci_h5: Add support for binding RTL8723DS with device tree (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add support for GarfieldPeak controller (Gopal Tiwari) [1990477] - Bluetooth: btrtl: Add null check in setup (Gopal Tiwari) [1990477] - Bluetooth: btrtl: Enable central-peripheral role (Gopal Tiwari) [1990477] - Bluetooth: btusb: Remove duplicate newlines from logging (Gopal Tiwari) [1990477] - Bluetooth: btmtksdio: Fixed switch and case should be at the same indent (Gopal Tiwari) [1990477] - Revert "Bluetooth: btintel: Fix endianness issue for TLV version information" (Gopal Tiwari) [1990477] - Bluetooth: hci_bcm: Add support for ISO packets (Gopal Tiwari) [1990477] - Bluetooth: btusb: add shutdown function for wcn6855 (Gopal Tiwari) [1990477] - Bluetooth: hci_uart: Fix a race for write_work scheduling (Gopal Tiwari) [1990477] - Bluetooth: btqca: Add support to read FW build version for WCN3991 BTSoC (Gopal Tiwari) [1990477] - Bluetooth: btusb: Always fallback to alt 1 for WBS (Gopal Tiwari) [1990477] - Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the probe function (Gopal Tiwari) [1990477] - Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data (Gopal Tiwari) [1990477] - Bluetooth: Skip eSCO 2M params when not supported (Gopal Tiwari) [1990477] - Bluetooth: fix indentation and alignment reported by checkpatch (Gopal Tiwari) [1990477] - Bluetooth: fix coccicheck warnings debugfs (Gopal Tiwari) [1990477] - Bluetooth: Add new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Try harder to accept device not knowing options (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix handling fragmented length (Gopal Tiwari) [1990477] - Bluetooth: btusb: fix memory leak on suspend and resume (Gopal Tiwari) [1990477] - Bluetooth: Put HCI device if inquiry procedure interrupts (Gopal Tiwari) [1990477] - Bluetooth: drop HCI device reference before return (Gopal Tiwari) [1990477] - Bluetooth: avoid u128_xor() on potentially misaligned inputs (Gopal Tiwari) [1990477] - Bluetooth: Fix initializing response id after clearing struct (Gopal Tiwari) [1990477] - Bluetooth: Cancel Inquiry before Create Connection (Gopal Tiwari) [1990477] - Bluetooth: Pause service discovery for suspend (Gopal Tiwari) [1990477] - Bluetooth: Remove hci_req_le_suspend_config (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: Set missing suspend task bits (Gopal Tiwari) [1990477] - Bluetooth: Change MGMT security info CMD to be more generic (Gopal Tiwari) [1990477] - Bluetooth: Query LE tx power on startup (Gopal Tiwari) [1990477] - Bluetooth: Use intervals and tx power from mgmt cmds (Gopal Tiwari) [1990477] - Bluetooth: Break add adv into two mgmt commands (Gopal Tiwari) [1990477] - Bluetooth: Add helper to set adv data (Gopal Tiwari) [1990477] - Bluetooth: Add toggle to switch off interleave scan (Gopal Tiwari) [1990477] - Bluetooth: Refactor read default sys config for various types (Gopal Tiwari) [1990477] - Bluetooth: Handle active scan case (Gopal Tiwari) [1990477] - Bluetooth: Handle system suspend resume case (Gopal Tiwari) [1990477] - Bluetooth: Interleave with allowlist scan (Gopal Tiwari) [1990477] - Bluetooth: Fix attempting to set RPA timeout when unsupported (Gopal Tiwari) [1990477] - Bluetooth: Rename get_adv_instance_scan_rsp (Gopal Tiwari) [1990477] - Bluetooth: Fix not sending Set Extended Scan Response (Gopal Tiwari) [1990477] - Bluetooth: Fix for Bluetooth SIG test L2CAP/COS/CFD/BV-14-C (Gopal Tiwari) [1990477] - Bluetooth: sco: Fix crash when using BT_SNDMTU/BT_RCVMTU option (Gopal Tiwari) [1990477] - Bluetooth: Replace BT_DBG with bt_dev_dbg in HCI request (Gopal Tiwari) [1990477] - Bluetooth: consolidate error paths in hci_phy_link_complete_evt() (Gopal Tiwari) [1990477] - Bluetooth: Enforce key size of 16 bytes on FIPS level (Gopal Tiwari) [1990477] - Bluetooth: hidp: use correct wait queue when removing ctrl_wait (Gopal Tiwari) [1990477] - Bluetooth: Move force_bredr_smp debugfs into hci_debugfs_create_bredr (Gopal Tiwari) [1990477] - Bluetooth: Fix: LL PRivacy BLE device fails to connect (Gopal Tiwari) [1990477] - Bluetooth: Resume advertising after LE connection (Gopal Tiwari) [1990477] - Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt() (Gopal Tiwari) [1990477] - Bluetooth: Replace zero-length array with flexible-array member (Gopal Tiwari) [1990477] - Bluetooth: MGMT: Fix not checking if BT_HS is enabled (Gopal Tiwari) [1990477] - Bluetooth: Disable High Speed by default (Gopal Tiwari) [1990477] - Bluetooth: Fix update of own_addr_type if ll_privacy supported (Gopal Tiwari) [1990477] - Bluetooth: Fix auto-creation of hci_conn at Conn Complete event (Gopal Tiwari) [1990477] - Bluetooth: Set scan parameters for ADV Monitor (Gopal Tiwari) [1990477] - Bluetooth: Update Adv monitor count upon removal (Gopal Tiwari) [1990477] - net: bluetooth: delete duplicated words (Gopal Tiwari) [1990477] - Bluetooth: pause/resume advertising around suspend (Gopal Tiwari) [1990477] - Bluetooth: Emit controller suspend and resume events (Gopal Tiwari) [1990477] - Bluetooth: Add suspend reason for device disconnect (Gopal Tiwari) [1990477] - Bluetooth: Add mgmt suspend and resume events (Gopal Tiwari) [1990477] - Bluetooth: Set ext scan response only when it exists (Gopal Tiwari) [1990477] - Bluetooth: Only mark socket zapped after unlocking (Gopal Tiwari) [1990477] - Bluetooth: Add MGMT capability flags for tx power and ext advertising (Gopal Tiwari) [1990477] - Bluetooth: Report num supported adv instances for hw offloading (Gopal Tiwari) [1990477] - Bluetooth: sco: new getsockopt options BT_SNDMTU/BT_RCVMTU (Gopal Tiwari) [1990477] - Bluetooth: Re-order clearing suspend tasks (Gopal Tiwari) [1990477] - Bluetooth: Fix memory leak in read_adv_mon_features() (Gopal Tiwari) [1990477] - Bluetooth: Clear suspend tasks on unregister (Gopal Tiwari) [1990477] - Bluetooth: Remove CRYPTO_ALG_INTERNAL flag (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: use the proper scan params when conn is pending (Gopal Tiwari) [1990477] - Bluetooth: Enable controller RPA resolution using Experimental feature (Gopal Tiwari) [1990477] - Bluetooth: Let controller creates RPA during le create conn (Gopal Tiwari) [1990477] - Bluetooth: Translate additional address type during le_conn (Gopal Tiwari) [1990477] - Bluetooth: Enable RPA Timeout (Gopal Tiwari) [1990477] - Bluetooth: Enable/Disable address resolution during le create conn (Gopal Tiwari) [1990477] - Bluetooth: Configure controller address resolution if available (Gopal Tiwari) [1990477] - Bluetooth: Translate additional address type correctly (Gopal Tiwari) [1990477] - Bluetooth: Update resolving list when updating whitelist (Gopal Tiwari) [1990477] - Bluetooth: Fix suspend notifier race (Gopal Tiwari) [1990477] - Bluetooth: Return NOTIFY_DONE for hci_suspend_notifier (Gopal Tiwari) [1990477] - Bluetooth: Add per-instance adv disable/remove (Gopal Tiwari) [1990477] - Replace HTTP links with HTTPS ones: BLUETOOTH SUBSYSTEM (Gopal Tiwari) [1990477] - Bluetooth: RFCOMM: Use fallthrough pseudo-keyword (Gopal Tiwari) [1990477] - Bluetooth: core: Use fallthrough pseudo-keyword (Gopal Tiwari) [1990477] - Bluetooth: Use whitelist for scan policy when suspending (Gopal Tiwari) [1990477] - Bluetooth: le_simult_central_peripheral experimental feature (Gopal Tiwari) [1990477] - Bluetooth: Fix kernel oops triggered by hci_adv_monitors_clear() (Gopal Tiwari) [1990477] - Bluetooth: use configured default params for active scans (Gopal Tiwari) [1990477] - Bluetooth: Adding a configurable autoconnect timeout (Gopal Tiwari) [1990477] - Bluetooth: Don't restart scanning if paused (Gopal Tiwari) [1990477] - Bluetooth: add a mutex lock to avoid UAF in do_enale_set (Gopal Tiwari) [1990477] - Bluetooth: use configured params for ext adv (Gopal Tiwari) [1990477] - Bluetooth: Add hci_dev_lock to get/set device flags (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Use command complete on success for set system config (Gopal Tiwari) [1990477] - Bluetooth: Terminate the link if pairing is cancelled (Gopal Tiwari) [1990477] - Bluetooth: Update background scan and report device based on advertisement monitors (Gopal Tiwari) [1990477] - Bluetooth: Notify adv monitor removed event (Gopal Tiwari) [1990477] - Bluetooth: Notify adv monitor added event (Gopal Tiwari) [1990477] - Bluetooth: Add handler of MGMT_OP_REMOVE_ADV_MONITOR (Gopal Tiwari) [1990477] - Bluetooth: Add handler of MGMT_OP_ADD_ADV_PATTERNS_MONITOR (Gopal Tiwari) [1990477] - Bluetooth: Add handler of MGMT_OP_READ_ADV_MONITOR_FEATURES (Gopal Tiwari) [1990477] - Bluetooth: Add definitions for advertisement monitor features (Gopal Tiwari) [1990477] - Bluetooth: Add get/set device flags mgmt op (Gopal Tiwari) [1990477] - Bluetooth: Replace wakeable in hci_conn_params (Gopal Tiwari) [1990477] - Bluetooth: Replace wakeable list with flag (Gopal Tiwari) [1990477] - Bluetooth: Add bdaddr_list_with_flags for classic whitelist (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Add commands for runtime configuration (Gopal Tiwari) [1990477] - Bluetooth: implement read/set default system parameters mgmt (Gopal Tiwari) [1990477] - Bluetooth: mgmt: read/set system parameter definitions (Gopal Tiwari) [1990477] - Bluetooth: centralize default value initialization. (Gopal Tiwari) [1990477] - Bluetooth: Use only 8 bits for the HCI CMSG state flags (Gopal Tiwari) [1990477] - Bluetooth: Add support for BT_PKT_STATUS CMSG data for SCO connections (Gopal Tiwari) [1990477] - Bluetooth: Removing noisy dbg message (Gopal Tiwari) [1990477] - Bluetooth: Fix update of connection state in `hci_encrypt_cfm` (Gopal Tiwari) [1990477] - Bluetooth: Fix assuming EIR flags can result in SSP authentication (Gopal Tiwari) [1990477] - Bluetooth: Consolidate encryption handling in hci_encrypt_cfm (Gopal Tiwari) [1990477] - Bluetooth: Add SCO fallback for invalid LMP parameters error (Gopal Tiwari) [1990477] - Bluetooth: Fix for GAP/SEC/SEM/BI-10-C (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: add support for waiting disconnection resp (Gopal Tiwari) [1990477] - Bluetooth: Handle Inquiry Cancel error after Inquiry Complete (Gopal Tiwari) [1990477] - Bluetooth: Rename BT_SUSPEND_COMPLETE (Gopal Tiwari) [1990477] - Bluetooth: Introduce debug feature when dynamic debug is disabled (Gopal Tiwari) [1990477] - Bluetooth: Fix advertising handle is set to 0 (Gopal Tiwari) [1990477] - Bluetooth: Introduce HCI_MGMT_HDEV_OPTIONAL option (Gopal Tiwari) [1990477] - Bluetooth: Add support for experimental features configuration (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix errors during L2CAP_CREDIT_BASED_CONNECTION_REQ (0x17) (Gopal Tiwari) [1990477] - Bluetooth: Add MGMT_EV_PHY_CONFIGURATION_CHANGED to supported list (Gopal Tiwari) [1990477] - Bluetooth: use crypto_shash_tfm_digest() (Gopal Tiwari) [1990477] - Bluetooth: allow scatternet connections if supported. (Gopal Tiwari) [1990477] - Bluetooth: Enhanced Connection Complete event belongs to LL Privacy (Gopal Tiwari) [1990477] - Bluetooth: Enable LE Enhanced Connection Complete event. (Gopal Tiwari) [1990477] - Bluetooth: Use extra variable to make code more readable (Gopal Tiwari) [1990477] - Bluetooth: log advertisement packet length if it gets corrected (Gopal Tiwari) [1990477] - Bluetooth: Always request for user confirmation for Just Works (LE SC) (Gopal Tiwari) [1990477] - Bluetooth: Simplify / fix return values from tk_request (Gopal Tiwari) [1990477] - Bluetooth: debugfs option to unset MITM flag (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: replace zero-length array with flexible-array member (Gopal Tiwari) [1990477] - Bluetooth: Add support for reading security information (Gopal Tiwari) [1990477] - Bluetooth: Add support for Read Local Simple Pairing Options (Gopal Tiwari) [1990477] - Bluetooth: Add framework for Microsoft vendor extension (Gopal Tiwari) [1990477] - Bluetooth: Move debugfs configuration above the selftests (Gopal Tiwari) [1990477] - Bluetooth: fixing minor typo in comment (Gopal Tiwari) [1990477] - Bluetooth: Prioritize SCO traffic (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix handling LE modes by L2CAP_OPTIONS (Gopal Tiwari) [1990477] - Bluetooth: Always request for user confirmation for Just Works (Gopal Tiwari) [1990477] - Bluetooth: Add BT_MODE socket option (Gopal Tiwari) [1990477] - crypto: shash - remove shash_desc::flags (Gopal Tiwari) [1990477] - cifs: On cifs_reconnect, resolve the hostname again. (Ronnie Sahlberg) [2018046] - cifs: Handle witness client move notification (Ronnie Sahlberg) [2018046] - cifs: Send witness register messages to userspace daemon in echo task (Ronnie Sahlberg) [2018046] - cifs: Add witness information to debug data dump (Ronnie Sahlberg) [2018046] - cifs: Set witness notification handler for messages from userspace daemon (Ronnie Sahlberg) [2018046] - cifs: Send witness register and unregister commands to userspace daemon (Ronnie Sahlberg) [2018046] - cifs: Register generic netlink family (Ronnie Sahlberg) [2018046] - cifs: add witness mount option and data structs (Ronnie Sahlberg) [2018046] - cifs: Simplify reconnect code when dfs upcall is enabled (Ronnie Sahlberg) [2018046] - file: fix close_range() for unshare+cloexec (Pavel Reichl) [1950248] - scsi: lpfc: Update lpfc version to 14.0.0.3 (Dick Kennedy) [1989265] - scsi: lpfc: Allow fabric node recovery if recovery is in progress before devloss (Dick Kennedy) [1989265] - scsi: lpfc: Fix link down processing to address NULL pointer dereference (Dick Kennedy) [1989265] - scsi: lpfc: Allow PLOGI retry if previous PLOGI was aborted (Dick Kennedy) [1989265] - scsi: lpfc: Fix use-after-free in lpfc_unreg_rpi() routine (Dick Kennedy) [1989265] - scsi: lpfc: Correct sysfs reporting of loop support after SFP status change (Dick Kennedy) [1989265] - scsi: lpfc: Wait for successful restart of SLI3 adapter during host sg_reset (Dick Kennedy) [1989265] - scsi: lpfc: Revert LOG_TRACE_EVENT back to LOG_INIT prior to driver_resource_setup() (Dick Kennedy) [1989265] - scsi: lpfc: Fix memory overwrite during FC-GS I/O abort handling (Dick Kennedy) [1989265] - scsi: lpfc: Add support for optional PLDV handling (Dick Kennedy) [1989265] - scsi: lpfc: Return NULL rather than a plain 0 integer (Dick Kennedy) [1989265] - scsi: lpfc: Fix a function name in comments (Dick Kennedy) [1989265] - scsi: lpfc: Fix mailbox command failure during driver initialization (Dick Kennedy) [1989265] - scsi: lpfc: Fix gcc -Wstringop-overread warning, again (Dick Kennedy) [1989265] - scsi: lpfc: Use correct scnprintf() limit (Dick Kennedy) [1989265] - scsi: lpfc: Fix sprintf() overflow in lpfc_display_fpin_wwpn() (Dick Kennedy) [1989265] - scsi: lpfc: Update lpfc version to 14.0.0.2 (Dick Kennedy) [1989265] - scsi: lpfc: Improve PBDE checks during SGL processing (Dick Kennedy) [1989265] - scsi: lpfc: Zero CGN stats only during initial driver load and stat reset (Dick Kennedy) [1989265] - scsi: lpfc: Fix I/O block after enabling managed congestion mode (Dick Kennedy) [1989265] - scsi: lpfc: Adjust bytes received vales during cmf timer interval (Dick Kennedy) [1989265] - scsi: fc: Add EDC ELS definition (Dick Kennedy) [1989265] - scsi: lpfc: Fix EEH support for NVMe I/O (Dick Kennedy) [1989265] - scsi: lpfc: Fix FCP I/O flush functionality for TMF routines (Dick Kennedy) [1989265] - scsi: lpfc: Fix NVMe I/O failover to non-optimized path (Dick Kennedy) [1989265] - scsi: lpfc: Don't remove ndlp on PRLI errors in P2P mode (Dick Kennedy) [1989265] - scsi: lpfc: Fix rediscovery of tape device after LIP (Dick Kennedy) [1989265] - scsi: lpfc: Fix hang on unload due to stuck fport node (Dick Kennedy) [1989265] - scsi: lpfc: Fix premature rpi release for unsolicited TPLS and LS_RJT (Dick Kennedy) [1989265] - scsi: lpfc: Don't release final kref on Fport node while ABTS outstanding (Dick Kennedy) [1989265] - scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq() (Dick Kennedy) [1989265] - scsi: lpfc: Remove unneeded variable (Dick Kennedy) [1989265] - scsi: lpfc: Fix compilation errors on kernels with no CONFIG_DEBUG_FS (Dick Kennedy) [1989265] - scsi: lpfc: Fix CPU to/from endian warnings introduced by ELS processing (Dick Kennedy) [1989265] - scsi: lpfc: Copyright updates for 14.0.0.1 patches (Dick Kennedy) [1989265] - scsi: lpfc: Update lpfc version to 14.0.0.1 (Dick Kennedy) [1989265] - scsi: lpfc: Add bsg support for retrieving adapter cmf data (Dick Kennedy) [1989265] - scsi: lpfc: Add cmf_info sysfs entry (Dick Kennedy) [1989265] - scsi: lpfc: Add debugfs support for cm framework buffers (Dick Kennedy) [1989265] - scsi: lpfc: Add support for maintaining the cm statistics buffer (Dick Kennedy) [1989265] - scsi: lpfc: Add rx monitoring statistics (Dick Kennedy) [1989265] - scsi: lpfc: Add support for the CM framework (Dick Kennedy) [1989265] - scsi: lpfc: Add cmfsync WQE support (Dick Kennedy) [1989265] - scsi: lpfc: Add support for cm enablement buffer (Dick Kennedy) [1989265] - scsi: lpfc: Add cm statistics buffer support (Dick Kennedy) [1989265] - scsi: lpfc: Add EDC ELS support (Dick Kennedy) [1989265] - scsi: lpfc: Expand FPIN and RDF receive logging (Dick Kennedy) [1989265] - scsi: lpfc: Add MIB feature enablement support (Dick Kennedy) [1989265] - scsi: lpfc: Add SET_HOST_DATA mbox cmd to pass date/time info to firmware (Dick Kennedy) [1989265] - scsi: lpfc: Fix possible ABBA deadlock in nvmet_xri_aborted() (Dick Kennedy) [1989265] - scsi: lpfc: Remove redundant assignment to pointer pcmd (Dick Kennedy) [1989265] - scsi: lpfc: Copyright updates for 14.0.0.0 patches (Dick Kennedy) [1989265] - scsi: lpfc: Update lpfc version to 14.0.0.0 (Dick Kennedy) [1989265] - scsi: lpfc: Add 256 Gb link speed support (Dick Kennedy) [1989265] - scsi: lpfc: Revise Topology and RAS support checks for new adapters (Dick Kennedy) [1989265] - scsi: lpfc: Fix cq_id truncation in rq create (Dick Kennedy) [1989265] - scsi: lpfc: Add PCI ID support for LPe37000/LPe38000 series adapters (Dick Kennedy) [1989265] - scsi: lpfc: Copyright updates for 12.8.0.11 patches (Dick Kennedy) [1989265] - scsi: lpfc: Update lpfc version to 12.8.0.11 (Dick Kennedy) [1989265] - scsi: lpfc: Skip issuing ADISC when node is in NPR state (Dick Kennedy) [1989265] - scsi: lpfc: Skip reg_vpi when link is down for SLI3 in ADISC cmpl path (Dick Kennedy) [1989265] - scsi: lpfc: Call discovery state machine when handling PLOGI/ADISC completions (Dick Kennedy) [1989265] - scsi: lpfc: Delay unregistering from transport until GIDFT or ADISC completes (Dick Kennedy) [1989265] - scsi: lpfc: Enable adisc discovery after RSCN by default (Dick Kennedy) [1989265] - scsi: lpfc: Use PBDE feature enabled bit to determine PBDE support (Dick Kennedy) [1989265] - scsi: lpfc: Clear outstanding active mailbox during PCI function reset (Dick Kennedy) [1989265] - scsi: lpfc: Fix KASAN slab-out-of-bounds in lpfc_unreg_rpi() routine (Dick Kennedy) [1989265] - scsi: lpfc: Remove REG_LOGIN check requirement to issue an ELS RDF (Dick Kennedy) [1989265] - scsi: lpfc: Fix NULL ptr dereference with NPIV ports for RDF handling (Dick Kennedy) [1989265] - scsi: lpfc: Fix target reset handler from falsely returning FAILURE (Dick Kennedy) [1989265] - scsi: lpfc: Discovery state machine fixes for LOGO handling (Dick Kennedy) [1989265] - scsi: lpfc: Fix function description comments for vmid routines (Dick Kennedy) [1989265] - scsi: lpfc: Improve firmware download logging (Dick Kennedy) [1989265] - scsi: lpfc: Remove use of kmalloc() in trace event logging (Dick Kennedy) [1989265] - scsi: lpfc: Fix NVMe support reporting in log message (Dick Kennedy) [1989265] - scsi: lpfc: Fix build error in lpfc_scsi.c (Dick Kennedy) [1989265] - scsi: lpfc: Use list_move_tail() instead of list_del()/list_add_tail() (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Introduce VMID in I/O path (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Add QFPA and VMID timeout check in worker thread (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Timeout implementation for VMID (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Append the VMID to the wqe before sending (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Implement CT commands for appid (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Functions to manage VMIDs (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Implement ELS commands for appid (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Add support for VMID in mailbox command (Dick Kennedy) [1989265] - scsi: lpfc: vmid: VMID parameter initialization (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Add datastructure for supporting VMID in lpfc (Dick Kennedy) [1989265] - redhat/config: Rename CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE to CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE (Waiman Long) [2018425] - kasan, kmemleak: reset tags when scanning block (Waiman Long) [2018425] - mm/kmemleak: rely on rcu for task stack scanning (Waiman Long) [2018425] - mm/kmemleak: silence KCSAN splats in checksum (Waiman Long) [2018425] - mm/kmemleak: turn kmemleak_lock and object->lock to raw_spinlock_t (Waiman Long) [2018425] - kmemleak: Do not corrupt the object_list during clean-up (Waiman Long) [2018425] - mm: kmemleak: use the memory pool for early allocations (Waiman Long) [2018425] - mm: kmemleak: simple memory allocation pool for kmemleak objects (Waiman Long) [2018425] - mm: kmemleak: make the tool tolerant to struct scan_area allocation failures (Waiman Long) [2018425] - kmemleak: increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE default to 16K (Waiman Long) [2018425] - mm: kmemleak: disable early logging in case of error (Waiman Long) [2018425] - mm/kmemleak.c: fix unused-function warning (Waiman Long) [2018425] - kmemleak: powerpc: skip scanning holes in the .bss section (Waiman Long) [2018425] - mm: kmemleak: no need to check return value of debugfs_create functions (Waiman Long) [2018425]- powerpc/smp: Use existing L2 cache_map cpumask to find L3 cache siblings (Desnes A. Nunes do Rosario) [2013537] - powerpc/cacheinfo: Remove the redundant get_shared_cpu_map() (Desnes A. Nunes do Rosario) [2013537] - powerpc/cacheinfo: Lookup cache by dt node and thread-group id (Desnes A. Nunes do Rosario) [2013537] - Revert "thunderbolt: Hide authorized attribute if router does not support PCIe tunnels" (Torez Smith) [1969444] - thunderbolt: Add quirk for Intel Goshen Ridge DP credits (Torez Smith) [1969444] - thunderbolt: Update port credits after bonding is enabled/disabled (Torez Smith) [1969444] - thunderbolt: Wait for the lanes to actually bond (Torez Smith) [1969444] - thunderbolt: Read router preferred credit allocation information (Torez Smith) [1969444] - thunderbolt: Make tb_port_type() take const parameter (Torez Smith) [1969444] - thunderbolt: Move nfc_credits field to struct tb_path_hop (Torez Smith) [1969444] - thunderbolt: Align USB4 router wakes configuration with the CM guide (Torez Smith) [1969444] - thunderbolt: Add wake from DisplayPort (Torez Smith) [1969444] - thunderbolt: Use generic tb_nvm_[read|write]_data() for Thunderbolt 2/3 devices (Torez Smith) [1969444] - thunderbolt: Split NVM read/write generic functions out from usb4.c (Torez Smith) [1969444] - thunderbolt: Add self-authenticate support for new dock (Torez Smith) [1969444] - thunderbolt: usb4: Fix NVM read buffer bounds and offset issue (Torez Smith) [1969444] - thunderbolt: dma_port: Fix NVM read buffer bounds and offset issue (Torez Smith) [1969444] - thunderbolt: Hide authorized attribute if router does not support PCIe tunnels (Torez Smith) [1969444] - x86/mce: Avoid infinite loop for copy from user recovery (Prarit Bhargava) [1999550] - x86/mce: Rename kill_it to kill_current_task (Prarit Bhargava) [1999550] - x86/mce: Recover from poison found while copying from user space (Prarit Bhargava) [1999550] - x86/mce: Delay clearing IA32_MCG_STATUS to the end of do_machine_check() (Prarit Bhargava) [1999550] - x86/mce: Send #MC singal from task work (Prarit Bhargava) [1999550] - redhat/config: Enable Nitro Enclaves on aarch64 (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Add fixes for checkpatch match open parenthesis reports (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Update copyright statement to include 2021 (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Add fix for the kernel-doc report (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Enable Arm64 support (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Set Bus Master for the NE PCI device (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Fixup type and simplify logic of the poll mask setup (Vitaly Kuznetsov) [2001581] - mptcp: Make mptcp_pm_nl_mp_prio_send_ack() static (Davide Caratti) [2020198] - mptcp: fix possible stall on recvmsg() (Davide Caratti) [2020198] - mptcp: don't clear MPTCP_DATA_READY in sk_wait_event() (Davide Caratti) [2020198] - net: introduce and use lock_sock_fast_nested() (Davide Caratti) [2020198] - net: add annotation for sock_{lock,unlock}_fast (Davide Caratti) [2020198] - mptcp: allow changing the 'backup' bit when no sockets are open (Davide Caratti) [2020198] - mptcp: don't return sockets in foreign netns (Davide Caratti) [2020198] - mptcp: ensure tx skbs always have the MPTCP ext (Davide Caratti) [2020198] - mptcp: full fully established support after ADD_ADDR (Davide Caratti) [2020198] - redhat/configs: Move Hyper-V configs to 'generic' (Vitaly Kuznetsov) [1949614] - redhat/configs: enable CONFIG_INPUT_KEYBOARD on Aarch64 (Vitaly Kuznetsov) [1949614] - efi/libstub/random: Align allocate size to EFI_ALLOC_ALIGN (Vitaly Kuznetsov) [1949614] - efi/libstub: arm64: Double check image alignment at entry (Vitaly Kuznetsov) [1949614] - efi/arm64: Update debug prints to reflect other entropy sources (Vitaly Kuznetsov) [1949614] - efi/arm64: libstub: Deal gracefully with EFI_RNG_PROTOCOL failure (Vitaly Kuznetsov) [1949614] - Drivers: hv: Enable Hyper-V code to be built on ARM64 (Vitaly Kuznetsov) [1949614] - x86/Kconfig: Add new X86_HV_CALLBACK_VECTOR config symbol (Vitaly Kuznetsov) [1949614] - arm64: efi: Export screen_info (Vitaly Kuznetsov) [1949614] - arm64: hyperv: Initialize hypervisor on boot (Vitaly Kuznetsov) [1949614] - arm64: hyperv: Add panic handler (Vitaly Kuznetsov) [1949614] - arm64: hyperv: Add Hyper-V hypercall and register access utilities (Vitaly Kuznetsov) [1949614] - arm64: add arch/arm64/Kbuild (Vitaly Kuznetsov) [1949614] - PCI: hv: Turn on the host bridge probing on ARM64 (Vitaly Kuznetsov) [1949614] - PCI: hv: Set up MSI domain at bridge probing time (Vitaly Kuznetsov) [1949614] - PCI: hv: Set ->domain_nr of pci_host_bridge at probing time (Vitaly Kuznetsov) [1949614] - PCI: hv: Generify PCI probing (Vitaly Kuznetsov) [1949614] - arm64: PCI: Support root bridge preparation for Hyper-V (Vitaly Kuznetsov) [1949614] - arm64: PCI: Restructure pcibios_root_bridge_prepare() (Vitaly Kuznetsov) [1949614] - PCI: Support populating MSI domains of root buses via bridges (Vitaly Kuznetsov) [1949614] - PCI: Introduce domain_nr in pci_host_bridge (Vitaly Kuznetsov) [1949614] - drivers: hv: Decouple Hyper-V clock/timer code from VMbus drivers (Vitaly Kuznetsov) [1949614] - Drivers: hv: Move Hyper-V misc functionality to arch-neutral code (Vitaly Kuznetsov) [1949614] - x86/hyperv: handling hypercall page setup for root (Vitaly Kuznetsov) [1949614] - Drivers: hv: Add arch independent default functions for some Hyper-V handlers (Vitaly Kuznetsov) [1949614] - Drivers: hv: Make portions of Hyper-V init code be arch neutral (Vitaly Kuznetsov) [1949614] - asm-generic/hyperv: Add missing #include of nmi.h (Vitaly Kuznetsov) [1949614] - PCI: hv: Support for create interrupt v3 (Vitaly Kuznetsov) [1949614] - Drivers: hv: Move Hyper-V extended capability check to arch neutral code (Vitaly Kuznetsov) [1949614] - clocksource/drivers/hyper-v: Re-enable VDSO_CLOCKMODE_HVCLOCK on X86 (Vitaly Kuznetsov) [1949614] - clocksource/drivers/hyper-v: Handle vDSO differences inline (Vitaly Kuznetsov) [1949614] - arm64: smccc: Add support for SMCCCv1.2 extended input/output registers (Vitaly Kuznetsov) [1949614] - smccc: Define vendor hyp owned service call region (Vitaly Kuznetsov) [1949614] - scsi: smartpqi: Update version to 2.1.12-055 (Don Brace) [2018317] - scsi: smartpqi: Add 3252-8i PCI id (Don Brace) [2018317] - scsi: smartpqi: Fix duplicate device nodes for tape changers (Don Brace) [2018317] - scsi: smartpqi: Fix boot failure during LUN rebuild (Don Brace) [2018317] - scsi: smartpqi: Add extended report physical LUNs (Don Brace) [2018317] - scsi: smartpqi: Avoid failing I/Os for offline devices (Don Brace) [2018317] - scsi: smartpqi: Add TEST UNIT READY check for SANITIZE operation (Don Brace) [2018317] - scsi: smartpqi: Update LUN reset handler (Don Brace) [2018317] - scsi: smartpqi: Capture controller reason codes (Don Brace) [2018317] - scsi: smartpqi: Add controller handshake during kdump (Don Brace) [2018317] - scsi: smartpqi: Update device removal management (Don Brace) [2018317] - KVM: PPC: Tick accounting should defer vtime accounting 'til after IRQ handling (Laurent Vivier) [2009312] - vhost_net: fix OoB on sendmsg() failure. (Paolo Abeni) [1922828] - scsi: qla2xxx: Update version to 10.02.06.200-k (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Fix returnvar.cocci warnings (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix NVMe session down detection (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix NVMe retry (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix hang on NVMe command timeouts (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix NVMe | FCP personality change (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Do secure PLOGI when auth app is present (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add N2N support for EDIF (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix hang during NVMe session tear down (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Fix EDIF enable flag (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Reject AUTH ELS on session down (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Fix stale session (Nilesh Javali) [1983874] - scsi: qla2xxx: Update version to 10.02.06.100-k (Nilesh Javali) [1983874] - scsi: qla2xxx: Sync queue idx with queue_pair_map idx (Nilesh Javali) [1983874] - scsi: qla2xxx: Changes to support kdump kernel for NVMe BFS (Nilesh Javali) [1983874] - scsi: qla2xxx: Changes to support kdump kernel (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix NPIV create erroneous error (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix unsafe removal from linked list (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix port type info (Nilesh Javali) [1983874] - scsi: qla2xxx: Add debug print of 64G link speed (Nilesh Javali) [1983874] - scsi: qla2xxx: Show OS name and version in FDMI-1 (Nilesh Javali) [1983874] - scsi: qla2xxx: Changes to support FCP2 Target (Nilesh Javali) [1983874] - scsi: qla2xxx: Adjust request/response queue size for 28xx (Nilesh Javali) [1983874] - scsi: qla2xxx: Add host attribute to trigger MPI hang (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove redundant initialization of variable num_cnt (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix use after free in debug code (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix spelling mistakes "allloc" -> "alloc" (Nilesh Javali) [1983874] - scsi: qla2xxx: Update version to 10.02.00.107-k (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Increment command and completion counts (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add encryption to I/O path (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add doorbell notification for app (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add detection of secure device (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add authentication pass + fail bsgs (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add key update (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add extraction of auth_els from the wire (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add send, receive, and accept for auth_els (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add getfcinfo and statistic bsgs (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add start + stop bsgs (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove unused variable 'status' (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove redundant continue statement in a for-loop (Nilesh Javali) [1983874] - scsi: qla2xxx: Add heartbeat check (Nilesh Javali) [1983874] - scsi: qla2xxx: Use list_move_tail() instead of list_del()/list_add_tail() (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove duplicate declarations (Nilesh Javali) [1983874] - scsi: qla2xxx: Log PCI address in qla_nvme_unregister_remote_port() (Nilesh Javali) [1983874] - scsi: target: qla2xxx: Wait for stop_phase1 at WWN removal (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove redundant assignment to rval (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix error return code in qla82xx_write_flash_dword() (Nilesh Javali) [1983874] - scsi: qla2xxx: Prevent PRLI in target mode (Nilesh Javali) [1983874] - scsi: qla2xxx: Reuse existing error handling path (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove unneeded if-null-free check (Nilesh Javali) [1983874] - thermal/drivers/int340x: Do not set a wrong tcc offset on resume (David Arcari) [1997757] - thermal: core: Add new event for sending keep alive notifications (David Arcari) [1997757] - thermal/drivers/int340x/processor_thermal: Fix tcc setting (David Arcari) [1997757] - thermal/drivers/int340x/processor_thermal: Fix warning for return value (David Arcari) [1997757] - thermal/drivers/int340x/processor_thermal: Add PCI MMIO based thermal driver (David Arcari) [1997757] - thermal/drivers/int340x/processor_thermal: Split enumeration and processing part (David Arcari) [1997757] - thermal/drivers/int340x: processor_thermal: Export additional attributes (David Arcari) [1997757] - thermal/drivers/int340x: processor_thermal: Export mailbox interface (David Arcari) [1997757] - thermal/drivers/intel: Initialize RW trip to THERMAL_TEMP_INVALID (David Arcari) [1997757] - thermal: int340x: Fix unexpected shutdown at critical temperature (David Arcari) [1997757] - thermal: int340x: Support Alder Lake (David Arcari) [1997757] - thermal: int340x: processor_thermal: Correct workload type name (David Arcari) [1997757] - thermal: int340x: processor_thermal: Add mailbox driver (David Arcari) [1997757] - thermal: int340x: processor_thermal: Add RFIM driver (David Arcari) [1997757] - thermal: int340x: processor_thermal: Add AlderLake PCI device id (David Arcari) [1997757] - thermal: int340x: processor_thermal: Refactor MMIO interface (David Arcari) [1997757] - thermal: int340x: Add keep alive response method (David Arcari) [1997757] - thermal: int340x: Provide notification for OEM variable change (David Arcari) [1997757] - treewide: Add SPDX license identifier - Makefile/Kconfig (David Arcari) [1997757] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (David Arcari) [1997757] - intel_idle: Adjust the SKX C6 parameters if PC6 is disabled (David Arcari) [2003731] - intel_idle: update ICX C6 data (David Arcari) [2003731] - nbd: provide a way for userspace processes to identify device backends (Ming Lei) [1997338] - Revert "block, bfq: honor already-setup queue merges" (Ming Lei) [1997338] - blk-cgroup: fix UAF by grabbing blkcg lock before destroying blkg pd (Ming Lei) [1997338] - blkcg: fix memory leak in blk_iolatency_init (Ming Lei) [1997338] - blk-mq: avoid to iterate over stale request (Ming Lei) [1997338] - blk-mq: allow 4x BLK_MAX_REQUEST_COUNT at blk_plug for multiple_queues (Ming Lei) [1997338] - block, bfq: honor already-setup queue merges (Ming Lei) [1997338] - block/mq-deadline: Move dd_queued() to fix defined but not used warning (Ming Lei) [1997338] - cryptoloop: add a deprecation warning (Ming Lei) [1997338] - Revert "block/mq-deadline: Prioritize high-priority requests" (Ming Lei) [1997338] - mq-deadline: Fix request accounting (Ming Lei) [1997338] - nbd: Aovid double completion of a request (Ming Lei) [1997338] - blk-mq: clear active_queues before clearing BLK_MQ_F_TAG_QUEUE_SHARED (Ming Lei) [1997338] - Revert "block/mq-deadline: Add cgroup support" (Ming Lei) [1997338] - kyber: make trace_block_rq call consistent with documentation (Ming Lei) [1997338] - blk-iolatency: error out if blk_get_queue() failed in iolatency_set_limit() (Ming Lei) [1997338] - blk-mq-sched: Fix blk_mq_sched_alloc_tags() error handling (Ming Lei) [1997338] - loop: reintroduce global lock for safe loop_validate_file() traversal (Ming Lei) [1997338] - blk-cgroup: prevent rcu_sched detected stalls warnings while iterating blkgs (Ming Lei) [1997338] - block: fix the problem of io_ticks becoming smaller (Ming Lei) [1997338] - block: return errors from blk_execute_rq() (Ming Lei) [1997338] - block: support polling through blk_execute_rq (Ming Lei) [1997338] - loop: rewrite loop_exit using idr_for_each_entry (Ming Lei) [1997338] - loop: split loop_lookup (Ming Lei) [1997338] - loop: don't allow deleting an unspecified loop device (Ming Lei) [1997338] - loop: move loop_ctl_mutex locking into loop_add (Ming Lei) [1997338] - loop: split loop_control_ioctl (Ming Lei) [1997338] - loop: don't call loop_lookup before adding a loop device (Ming Lei) [1997338] - loop: remove the l argument to loop_add (Ming Lei) [1997338] - loop: reduce loop_ctl_mutex coverage in loop_exit (Ming Lei) [1997338] - loop: reorder loop_exit (Ming Lei) [1997338] - loop: Fix missing discard support when using LOOP_CONFIGURE (Ming Lei) [1997338] - block: export blk_next_bio() (Ming Lei) [1997338] - rsxx: Use struct_size() in vmalloc() (Ming Lei) [1997338] - block/mq-deadline: Remove a WARN_ON_ONCE() call (Ming Lei) [1997338] - blk: Fix lock inversion between ioc lock and bfqd lock (Ming Lei) [1997338] - bfq: Remove merged request already in bfq_requests_merged() (Ming Lei) [1997338] - block: fix trace completion for chained bio (Ming Lei) [1997338] - block/partitions/msdos: Fix typo inidicator -> indicator (Ming Lei) [1997338] - block, bfq: reset waker pointer with shared queues (Ming Lei) [1997338] - block, bfq: check waker only for queues with no in-flight I/O (Ming Lei) [1997338] - block, bfq: avoid delayed merge of async queues (Ming Lei) [1997338] - block, bfq: boost throughput by extending queue-merging times (Ming Lei) [1997338] - block, bfq: consider also creation time in delayed stable merge (Ming Lei) [1997338] - block, bfq: fix delayed stable merge check (Ming Lei) [1997338] - block, bfq: let also stably merged queues enjoy weight raising (Ming Lei) [1997338] - blk-wbt: make sure throttle is enabled properly (Ming Lei) [1997338] - blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled() (Ming Lei) [1997338] - block/mq-deadline: Prioritize high-priority requests (Ming Lei) [1997338] - block/mq-deadline: Add cgroup support (Ming Lei) [1997338] - block/mq-deadline: Track I/O statistics (Ming Lei) [1997338] - block/mq-deadline: Add I/O priority support (Ming Lei) [1997338] - block/mq-deadline: Micro-optimize the batching algorithm (Ming Lei) [1997338] - block/mq-deadline: Reserve 25 of scheduler tags for synchronous requests (Ming Lei) [1997338] - block/mq-deadline: Improve the sysfs show and store macros (Ming Lei) [1997338] - block/mq-deadline: Improve compile-time argument checking (Ming Lei) [1997338] - block: mq-deadline: Fix queue restart handling (Ming Lei) [1997338] - block/mq-deadline: Rename dd_init_queue() and dd_exit_queue() (Ming Lei) [1997338] - block/mq-deadline: Remove two local variables (Ming Lei) [1997338] - block/mq-deadline: Add two lockdep_assert_held() statements (Ming Lei) [1997338] - block/mq-deadline: Add several comments (Ming Lei) [1997338] - block: Introduce the ioprio rq-qos policy (Ming Lei) [1997338] - block/blk-rq-qos: Move a function from a header file into a C file (Ming Lei) [1997338] - block/blk-cgroup: Swap the blk_throtl_init() and blk_iolatency_init() calls (Ming Lei) [1997338] - blkcg: fix memleak for iolatency (Ming Lei) [1997338] - blk-wbt: remove outdated comment (Ming Lei) [1997338] - block: Remove unnecessary elevator operation checks (Ming Lei) [1997338] - blk-mq: factor out a blk_mq_alloc_sq_tag_set helper (Ming Lei) [1997338] - block: Update blk_update_request() documentation (Ming Lei) [1997338] - blkcg: drop CLONE_IO check in blkcg_can_attach() (Ming Lei) [1997338] - aoe: remove unnecessary mutex_init() (Ming Lei) [1997338] - block: loop: fix deadlock between open and remove (Ming Lei) [1997338] - loop: scale loop device by introducing per device lock (Ming Lei) [1997338] - block/partitions/efi.c: Fix the efi_partition() kernel-doc header (Ming Lei) [1997338] - nbd: share nbd_put and return by goto put_nbd (Ming Lei) [1997338] - nbd: Fix NULL pointer in flush_workqueue (Ming Lei) [1997338] - blkdev.h: remove unused codes blk_account_rq (Ming Lei) [1997338] - block, bfq: avoid circular stable merges (Ming Lei) [1997338] - block: uapi: fix comment about block device ioctl (Ming Lei) [1997338] - block: reexpand iov_iter after read/write (Ming Lei) [1997338] - bfq/mq-deadline: remove redundant check for passthrough request (Ming Lei) [1997338] - blk-mq: bypass IO scheduler's limit_depth for passthrough request (Ming Lei) [1997338] - block: Fix sys_ioprio_set(.which=IOPRIO_WHO_PGRP) task iteration (Ming Lei) [1997338] - blk-mq: Always use blk_mq_is_sbitmap_shared (Ming Lei) [1997338] - block: add sysfs entry for virt boundary mask (Ming Lei) [1997338] - block, bfq: merge bursts of newly-created queues (Ming Lei) [1997338] - block, bfq: keep shared queues out of the waker mechanism (Ming Lei) [1997338] - block, bfq: fix weight-raising resume with !low_latency (Ming Lei) [1997338] - block, bfq: make shared queues inherit wakers (Ming Lei) [1997338] - block, bfq: put reqs of waker and woken in dispatch list (Ming Lei) [1997338] - block, bfq: always inject I/O of queues blocked by wakers (Ming Lei) [1997338] - blk-mq: Sentence reconstruct for better readability (Ming Lei) [1997338] - block: update a few comments in uapi/linux/blkpg.h (Ming Lei) [1997338] - block: don't ignore REQ_NOWAIT for direct IO (Ming Lei) [1997338] - block: clear GD_NEED_PART_SCAN later in bdev_disk_changed (Ming Lei) [1997338] - block: Discard page cache of zone reset target range (Ming Lei) [1997338] - block: Suppress uevent for hidden device when removed (Ming Lei) [1997338] - block: rsxx: fix error return code of rsxx_pci_probe() (Ming Lei) [1997338] - block: Fix REQ_OP_ZONE_RESET_ALL handling (Ming Lei) [1997338] - blk-cgroup: Fix the recursive blkg rwstat (Ming Lei) [1997338] - rsxx: Return -EFAULT if copy_to_user() fails (Ming Lei) [1997338] - block/bfq: update comments and default value in docs for fifo_expire (Ming Lei) [1997338] - block: Drop leftover references to RQF_SORTED (Ming Lei) [1997338] - blktrace: fix documentation for blk_fill_rw() (Ming Lei) [1997338] - blktrace: remove debugfs file dentries from struct blk_trace (Ming Lei) [1997338] - block: get rid of the trace rq insert wrapper (Ming Lei) [1997338] - blktrace: fix blk_rq_merge documentation (Ming Lei) [1997338] - blktrace: fix blk_rq_issue documentation (Ming Lei) [1997338] - blktrace: add blk_fill_rwbs documentation comment (Ming Lei) [1997338] - block: remove superfluous param in blk_fill_rwbs() (Ming Lei) [1997338] - block: Remove unused blk_pm_*() function definitions (Ming Lei) [1997338] - blk-mq: Use llist_head for blk_cpu_done (Ming Lei) [1997338] - blk-mq: Always complete remote completions requests in softirq (Ming Lei) [1997338] - block: use bi_max_vecs to find the bvec pool (Ming Lei) [1997338] - md/raid10: remove dead code in reshape_request (Ming Lei) [1997338] - block: remove the 1 and 4 vec bvec_slabs entries (Ming Lei) [1997338] - block: streamline bvec_alloc (Ming Lei) [1997338] - block: factor out a bvec_alloc_gfp helper (Ming Lei) [1997338] - block: move struct biovec_slab to bio.c (Ming Lei) [1997338] - block: reuse BIO_INLINE_VECS for integrity bvecs (Ming Lei) [1997338] - block: move three bvec helpers declaration into private helper (Ming Lei) [1997338] - blk-cgroup: Remove obsolete macro (Ming Lei) [1997338] - block: use an on-stack bio in blkdev_issue_flush (Ming Lei) [1997338] - blkcg: delete redundant get/put operations for queue (Ming Lei) [1997338] - block: unexport truncate_bdev_range (Ming Lei) [1997338] - blk: wbt: remove unused parameter from wbt_should_throttle (Ming Lei) [1997338] - bdev: Do not return EBUSY if bdev discard races with write (Ming Lei) [1997338] - bfq: don't duplicate code for different paths (Ming Lei) [1997338] - block: remove the request_queue to argument request based tracepoints (Ming Lei) [1997338] - virtio_net: disable cb aggressively (Stefan Hajnoczi) [1965914] - virtio: fix up virtio_disable_cb (Stefan Hajnoczi) [1965914] - virtio_net: move txq wakeups under tx q lock (Stefan Hajnoczi) [1965914] - virtio_net: move tx vq operation under tx queue lock (Stefan Hajnoczi) [1965914] - virtio_net: bulk free tx skbs (Stefan Hajnoczi) [1965914] - [s390] s390/qdio: propagate error when cancelling a ccw fails (Mete Durlu) [1984989] - [s390] s390/qdio: improve roll-back after error on ESTABLISH ccw (Mete Durlu) [1984989] - [s390] s390/qdio: cancel the ESTABLISH ccw after timeout (Mete Durlu) [1984989] - [s390] scsi: zfcp: Lift Request Queue tasklet & timer from qdio (Mete Durlu) [1984989] - [s390] scsi: zfcp: Move the position of put_device() (Mete Durlu) [1984989] - [s390] scsi: zfcp: Clean up sysfs code for SFP diagnostics (Mete Durlu) [1984989] - [s390] scsi: zfcp: Fix sysfs roll-back on error in zfcp_adapter_enqueue() (Mete Durlu) [1984989] - [s390] scsi: zfcp: Fix indentation coding style issue (Mete Durlu) [1984989] - [s390] scsi: zfcp: Remove unneeded INIT_LIST_HEAD() for FSF requests (Mete Durlu) [1984989] - x86/fpu/xstate: Clear xstate header in copy_xstate_to_uabi_buf() again (Prarit Bhargava) [1981448] - x86/fpu/signal: Let xrstor handle the features to init (Prarit Bhargava) [1981448] - x86/fpu/signal: Handle #PF in the direct restore path (Prarit Bhargava) [1981448] - x86/fpu: Return proper error codes from user access functions (Prarit Bhargava) [1981448] - x86/fpu/signal: Split out the direct restore code (Prarit Bhargava) [1981448] - x86/fpu/signal: Sanitize copy_user_to_fpregs_zeroing() (Prarit Bhargava) [1981448] - x86/fpu/signal: Sanitize the xstate check on sigframe (Prarit Bhargava) [1981448] - x86/fpu/signal: Remove the legacy alignment check (Prarit Bhargava) [1981448] - x86/fpu/signal: Move initial checks into fpu__restore_sig() (Prarit Bhargava) [1981448] - x86/fpu: Mark init_fpstate __ro_after_init (Prarit Bhargava) [1981448] - x86/pkru: Remove xstate fiddling from write_pkru() (Prarit Bhargava) [1981448] - x86/fpu: Don't store PKRU in xstate in fpu_reset_fpstate() (Prarit Bhargava) [1981448] - x86/fpu: Remove PKRU handling from switch_fpu_finish() (Prarit Bhargava) [1981448] - x86/fpu: Mask PKRU from kernel XRSTOR[S] operations (Prarit Bhargava) [1981448] - x86/fpu: Hook up PKRU into ptrace() (Prarit Bhargava) [1981448] - x86/fpu: Add PKRU storage outside of task XSAVE buffer (Prarit Bhargava) [1981448] - x86/fpu: Dont restore PKRU in fpregs_restore_userspace() (Prarit Bhargava) [1981448] - x86/fpu: Rename xfeatures_mask_user() to xfeatures_mask_uabi() (Prarit Bhargava) [1981448] - x86/fpu: Move FXSAVE_LEAK quirk info __copy_kernel_to_fpregs() (Prarit Bhargava) [1981448] - x86/fpu: Rename copy_kernel_to_fpregs() to restore_fpregs_from_fpstate() (Prarit Bhargava) [1981448] - x86/fpu: Rename __fpregs_load_activate() to fpregs_restore_userregs() (Prarit Bhargava) [1981448] - x86/fpu: Clean up the fpu__clear() variants (Prarit Bhargava) [1981448] - x86/fpu: Rename fpu__clear_all() to fpu_flush_thread() (Prarit Bhargava) [1981448] - x86/fpu: Use pkru_write_default() in copy_init_fpstate_to_fpregs() (Prarit Bhargava) [1981448] - x86/cpu: Write the default PKRU value when enabling PKE (Prarit Bhargava) [1981448] - x86/pkru: Provide pkru_write_default() (Prarit Bhargava) [1981448] - x86/pkru: Provide pkru_get_init_value() (Prarit Bhargava) [1981448] - x86/cpu: Sanitize X86_FEATURE_OSPKE (Prarit Bhargava) [1981448] - x86/pkeys: Move read_pkru() and write_pkru() (Prarit Bhargava) [1981448] - x86/fpu: Rename and sanitize fpu__save/copy() (Prarit Bhargava) [1981448] - x86/fpu/xstate: Sanitize handling of independent features (Prarit Bhargava) [1981448] - x86/fpu: Rename "dynamic" XSTATEs to "independent" (Prarit Bhargava) [1981448] - x86/fpu: Rename initstate copy functions (Prarit Bhargava) [1981448] - x86/fpu: Get rid of the FNSAVE optimization (Prarit Bhargava) [1981448] - x86/fpu: Rename copy_fpregs_to_fpstate() to save_fpregs_to_fpstate() (Prarit Bhargava) [1981448] - x86/fpu: Deduplicate copy_uabi_from_user/kernel_to_xstate() (Prarit Bhargava) [1981448] - x86/fpu: Rename xstate copy functions which are related to UABI (Prarit Bhargava) [1981448] - x86/fpu: Rename fregs-related copy functions (Prarit Bhargava) [1981448] - x86/math-emu: Rename frstor() (Prarit Bhargava) [1981448] - x86/fpu: Rename fxregs-related copy functions (Prarit Bhargava) [1981448] - x86/fpu: Get rid of CONFIG_AS_FXSAVEQ (Prarit Bhargava) [1981448] - x86/fpu: Rename copy_user_to_xregs() and copy_xregs_to_user() (Prarit Bhargava) [1981448] - x86/fpu: Rename copy_xregs_to_kernel() and copy_kernel_to_xregs() (Prarit Bhargava) [1981448] - x86/fpu: Get rid of copy_supervisor_to_kernel() (Prarit Bhargava) [1981448] - x86/fpu: Cleanup arch_set_user_pkey_access() (Prarit Bhargava) [1981448] - x86/kvm: Avoid looking up PKRU in XSAVE buffer (Prarit Bhargava) [1981448] - x86/fpu: Get rid of using_compacted_format() (Prarit Bhargava) [1981448] - x86/fpu: Move fpu__write_begin() to regset (Prarit Bhargava) [1981448] - x86/fpu/regset: Move fpu__read_begin() into regset (Prarit Bhargava) [1981448] - x86/fpu: Remove fpstate_sanitize_xstate() (Prarit Bhargava) [1981448] - x86/fpu: Use copy_xstate_to_uabi_buf() in fpregs_get() (Prarit Bhargava) [1981448] - x86/fpu: Use copy_xstate_to_uabi_buf() in xfpregs_get() (Prarit Bhargava) [1981448] - x86/fpu: Make copy_xstate_to_kernel() usable for [x]fpregs_get() (Prarit Bhargava) [1981448] - x86/fpu: Clean up fpregs_set() (Prarit Bhargava) [1981448] - x86/fpu: Fail ptrace() requests that try to set invalid MXCSR values (Prarit Bhargava) [1981448] - x86/fpu: Rewrite xfpregs_set() (Prarit Bhargava) [1981448] - x86/fpu: Simplify PTRACE_GETREGS code (Prarit Bhargava) [1981448] - x86/fpu: Reject invalid MXCSR values in copy_kernel_to_xstate() (Prarit Bhargava) [1981448] - x86/fpu: Sanitize xstateregs_set() (Prarit Bhargava) [1981448] - x86/fpu: Move inlines where they belong (Prarit Bhargava) [1981448] - x86/fpu: Get rid of fpu__get_supported_xfeatures_mask() (Prarit Bhargava) [1981448] - x86/fpu: Make xfeatures_mask_all __ro_after_init (Prarit Bhargava) [1981448] - x86/fpu: Mark various FPU state variables __ro_after_init (Prarit Bhargava) [1981448] - x86/pkeys: Revert a5eff7259790 ("x86/pkeys: Add PKRU value to init_fpstate") (Prarit Bhargava) [1981448] - x86/fpu: Fix copy_xstate_to_kernel() gap handling (Prarit Bhargava) [1981448] - x86/fpu: Limit xstate copy size in xstateregs_set() (Prarit Bhargava) [1981448] - x86/fpu: Make init_fpstate correct with optimized XSAVE (Prarit Bhargava) [1981448] - x86/fpu: Preserve supervisor states in sanitize_restored_user_xstate() (Prarit Bhargava) [1981448] - x86/fpu: Reset state for all signal restore failures (Prarit Bhargava) [1981448] - x86/signal: Introduce helpers to get the maximum signal frame size (Prarit Bhargava) [1981448] - x86/fpu: Fix various typos in comments (Prarit Bhargava) [1981448] - x86/fpu/xstate: Use sizeof() instead of a constant (Prarit Bhargava) [1981448] - x86/fpu: Handle FPU-related and clearcpuid command line arguments earlier (Prarit Bhargava) [1981448] - x86/fpu: Allow multiple bits in clearcpuid= parameter (Prarit Bhargava) [1981448] - x86: switch to ->regset_get() (Prarit Bhargava) [1981448] - regset: new method and helpers for it (Prarit Bhargava) [1981448] - copy_regset_to_user(): do all copyout at once. (Prarit Bhargava) [1981448] - introduction of regset ->get() wrappers, switching ELF coredumps to those (Prarit Bhargava) [1981448] - user_regset_copyout_zero(): use clear_user() (Prarit Bhargava) [1981448] - x86: kill dump_fpu() (Prarit Bhargava) [1981448] - x86: copy_fpstate_to_sigframe(): have fpregs_soft_get() use kernel buffer (Prarit Bhargava) [1981448] - x86/pkeys: Add check for pkey "overflow" (Prarit Bhargava) [1981448] - x86/fpu: Deactivate FPU state after failure during state load (Prarit Bhargava) [1981448] - x86/fpu: Use sizeof_field() macro (Prarit Bhargava) [1981448] - x86/fpu: Inline fpu__xstate_clear_all_cpu_caps() (Prarit Bhargava) [1981448] - x86/fpu: Make 'no387' and 'nofxsr' command line options useful (Prarit Bhargava) [1981448] - x86/fpu: Remove the fpu__save() export (Prarit Bhargava) [1981448] - x86/process: Add AVX-512 usage elapsed time to /proc/pid/arch_status (Prarit Bhargava) [1981448] - x86/fpu: Add SPDX license identifier - Makefile/Kconfig (Prarit Bhargava) [1981448] - x86/fpu: Add SPDX license identifier for missed files (Prarit Bhargava) [1981448] - x86/fpu: Fix __user annotations (Prarit Bhargava) [1981448] - x86/fpu: Move init_xstate_size() to __init section (Prarit Bhargava) [1981448] - x86/fpu: Update comment for __raw_xsave_addr() (Prarit Bhargava) [1981448] - scsi: qla2xxx: Fix kernel crash when accessing port_speed sysfs file (Nilesh Javali) [1981433] - scsi: core: Put LLD module refcnt after SCSI device is released (Ming Lei) [1996509] - scsi: iscsi: Fix set_param() handling (Chris Leech) [2011470] - scsi: iscsi: Fix iscsi_task use after free (Chris Leech) [2011470] - scsi: iscsi: Adjust iface sysfs attr detection (Chris Leech) [2011470] - scsi: iscsi: Fix iface sysfs attr detection (Chris Leech) [2011470] - scsi: iscsi: Move pool freeing (Chris Leech) [2011470] - scsi: iscsi: Hold task ref during TMF timeout handling (Chris Leech) [2011470] - scsi: iscsi: Flush block work before unblock (Chris Leech) [2011470] - scsi: iscsi: Fix completion check during abort races (Chris Leech) [2011470] - scsi: iscsi: Fix shost->max_id use (Chris Leech) [2011470] - scsi: iscsi: Fix conn use after free during resets (Chris Leech) [2011470] - scsi: iscsi: Get ref to conn during reset handling (Chris Leech) [2011470] - scsi: iscsi: Have abort handler get ref to conn (Chris Leech) [2011470] - scsi: iscsi: Add iscsi_cls_conn refcount helpers (Chris Leech) [2011470] - scsi: iscsi: iscsi_tcp: Start socket shutdown during conn stop (Chris Leech) [2011470] - scsi: iscsi: iscsi_tcp: Set no linger (Chris Leech) [2011470] - scsi: iscsi: Fix in-kernel conn failure handling (Chris Leech) [2011470] - scsi: iscsi: Rel ref after iscsi_lookup_endpoint() (Chris Leech) [2011470] - scsi: iscsi: Use system_unbound_wq for destroy_work (Chris Leech) [2011470] - scsi: iscsi: Force immediate failure during shutdown (Chris Leech) [2011470] - scsi: iscsi: Drop suspend calls from ep_disconnect (Chris Leech) [2011470] - scsi: iscsi: Stop queueing during ep_disconnect (Chris Leech) [2011470] - scsi: iscsi: Add task completion helper (Chris Leech) [2011470] - scsi: iscsi: Fix iSCSI cls conn state (Chris Leech) [2011470] - scsi: iscsi: Fix race condition between login and sync thread (Chris Leech) [2011470] - scsi: iscsi: Drop session lock in iscsi_session_chkready() (Chris Leech) [2011470] - scsi: libiscsi: Reset max/exp cmdsn during recovery (Chris Leech) [2011470] - scsi: iscsi_tcp: Fix shost can_queue initialization (Chris Leech) [2011470] - scsi: libiscsi: Add helper to calculate max SCSI cmds per session (Chris Leech) [2011470] - scsi: libiscsi: Fix iSCSI host workq destruction (Chris Leech) [2011470] - scsi: libiscsi: Fix iscsi_task use after free() (Chris Leech) [2011470] - scsi: libiscsi: Drop taskqueuelock (Chris Leech) [2011470] - scsi: libiscsi: Fix iscsi_prep_scsi_cmd_pdu() error handling (Chris Leech) [2011470] - scsi: iscsi: Fix inappropriate use of put_device() (Chris Leech) [2011470] - scsi: iscsi: Fail session and connection on transport registration failure (Chris Leech) [2011470] - scsi: drivers: base: Propagate errors through the transport component (Chris Leech) [2011470] - scsi: drivers: base: Support atomic version of attribute_container_device_trigger (Chris Leech) [2011470] - scsi: libiscsi: Fix NOP race condition (Chris Leech) [2011470] - scsi: libiscsi: use sendpage_ok() in iscsi_tcp_segment_map() (Chris Leech) [2011470] - scsi: iscsi: iscsi_tcp: Avoid holding spinlock while calling getpeername() (Chris Leech) [2011470] - scsi: iscsi: Do not put host in iscsi_set_flashnode_param() (Chris Leech) [2011470] - scsi: iscsi: Register sysfs for workqueue iscsi_destroy (Chris Leech) [2011470] - scsi: iscsi: Remove sessdestroylist (Chris Leech) [2011470] - scsi: iscsi: Optimize work queue flush use (Chris Leech) [2011470] - scsi: iscsi: Delay freeing target_id (Chris Leech) [2011470] - scsi: iscsi: Change iSCSI workqueue max_active back to 1 (Chris Leech) [2011470] - scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj (Chris Leech) [2011470]- scsi: qedf: Fix error codes in qedf_alloc_global_queues() (Nilesh Javali) [1983908] - scsi: qedf: Add check to synchronize abort and flush (Nilesh Javali) [1983908] - scsi: qedf: Use DEVICE_ATTR_RO() macro (Nilesh Javali) [1983908] - scsi: qedf: Use vzalloc() instead of vmalloc()/memset(0) (Nilesh Javali) [1983908] - scsi: qedf: Drop unnecessary NULL checks after container_of() (Nilesh Javali) [1983908] - scsi: qedf: Use devlink to report errors and recovery (Nilesh Javali) [1983908] - scsi: qedf: Enable devlink support (Nilesh Javali) [1983908] - scsi: qedf: Remove unused include of linux/version.h (Nilesh Javali) [1983908] - qed: implement devlink dump (Nilesh Javali) [1983908] - qed*: make use of devlink recovery infrastructure (Nilesh Javali) [1983908] - qed: use devlink logic to report errors (Nilesh Javali) [1983908] - qed: health reporter init deinit seq (Nilesh Javali) [1983908] - qed: implement devlink info request (Nilesh Javali) [1983908] - qed/qede: make devlink survive recovery (Nilesh Javali) [1983908] - qed: move out devlink logic into a new file (Nilesh Javali) [1983908] - i40e: fix endless loop under rtnl (Stefan Assmann) [1903921] - ovl: fix missing negative dentry check in ovl_rename() (Miklos Szeredi) [2010887] {CVE-2021-20321} - [RHEL8.6 BZ 1849234] cifs: report error instead of invalid when revalidating a dentry fails (Ronnie Sahlberg) [1849234] - mei: me: emmitsburg workstation DID (David Arcari) [2014195] - redhat/configs: Add CONFIG_INTEL_QEP (Prarit Bhargava) [1783559] - redhat/configs: Add CONFIG_COUNTER (Prarit Bhargava) [1783559] - counter: Rename counter_count_function to counter_function (Prarit Bhargava) [1783559] - counter: Rename counter_signal_value to counter_signal_level (Prarit Bhargava) [1783559] - counter: Standardize to ERANGE for limit exceeded errors (Prarit Bhargava) [1783559] - counter: intel-qep: Remove linux/bitops.h include (Prarit Bhargava) [1783559] - counter: intel-qep: Use to_pci_dev() helper (Prarit Bhargava) [1783559] - counter: intel-qep: Mark PM callbacks with __maybe_unused (Prarit Bhargava) [1783559] - counter: Add support for Intel Quadrature Encoder Peripheral (Prarit Bhargava) [1783559] - counter: Simplify the count_read and count_write callbacks (Prarit Bhargava) [1783559] - drivers/counter: Add SPDX license identifier - Makefile/Kconfig (Prarit Bhargava) [1783559] - counter: Introduce the Generic Counter interface (Prarit Bhargava) [1783559] - bpf: Fix integer overflow in prealloc_elems_and_freelist() (Yauheni Kaliuta) [2010492] {CVE-2021-41864} - audit: move put_tree() to avoid trim_trees refcount underflow and UAF (Richard Guy Briggs) [1978123] - tpm: ibmvtpm: Avoid error message when process gets signal while waiting (Štěpán Horáček) [1981473] - efi/tpm: Differentiate missing and invalid final event log table. (Štěpán Horáček) [1981473] - tpm: Replace WARN_ONCE() with dev_err_once() in tpm_tis_status() (Štěpán Horáček) [1981473] - tpm_tis: Use DEFINE_RES_MEM() to simplify code (Štěpán Horáček) [1981473] - tpm: fix some doc warnings in tpm1-cmd.c (Štěpán Horáček) [1981473] - tpm_tis_spi: add missing SPI device ID entries (Štěpán Horáček) [1981473] - tpm: add longer timeout for TPM2_CC_VERIFY_SIGNATURE (Štěpán Horáček) [1981473] - tpm_tis_spi: set default probe function if device id not match (Štěpán Horáček) [1981473] - tpm_crb: Use IOMEM_ERR_PTR when function returns iomem (Štěpán Horáček) [1981473] - tools/testing/scatterlist: Fix overflow of max segment size (Rafael Aquini) [2016426] - drm: Remove SCATTERLIST_MAX_SEGMENT (Rafael Aquini) [2016426] - lib/scatterlist: Fix wrong update of orig_nents (Rafael Aquini) [2016426] - lib/scatterlist: Provide a dedicated function to support table append (Rafael Aquini) [2016426] - tools/testing/scatterlist: Test dynamic __sg_alloc_table_from_pages (Rafael Aquini) [2016426] - tools/testing/scatterlist: Fix test to compile and run (Rafael Aquini) [2016426] - tools/testing/scatterlist: Show errors in human readable form (Rafael Aquini) [2016426] - tools/testing/scatterlist: Rejuvenate bit-rotten test (Rafael Aquini) [2016426] - Kconfig.debug: drop selecting non-existing HARDLOCKUP_DETECTOR_ARCH (Rafael Aquini) [2016426] - buildid: only consider GNU notes for build ID parsing (Rafael Aquini) [2016426] - lib/decompressors: remove set but not used variabled 'level' (Rafael Aquini) [2016426] - lib/math/rational.c: fix divide by zero (Rafael Aquini) [2016426] - lockdep/selftests: Fix selftests vs PROVE_RAW_LOCK_NESTING (Rafael Aquini) [2016426] - kunit: Fix result propagation for parameterised tests (Rafael Aquini) [2016426] - bug: Remove redundant condition check in report_bug (Rafael Aquini) [2016426] - zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c (Rafael Aquini) [2016426] - zlib: export S390 symbols for zlib modules (Rafael Aquini) [2016426] - lib/crc32test: remove extra local_irq_disable/enable (Rafael Aquini) [2016426] - random32: add a selftest for the prandom32 code (Rafael Aquini) [2016426] - random32: add noise from network and scheduling activity (Rafael Aquini) [2016426] - random32: make prandom_u32() output unpredictable (Rafael Aquini) [2016426] - lib: Correct comment of prandom_seed (Rafael Aquini) [2016426] - lib/crc32.c: fix trivial typo in preprocessor condition (Rafael Aquini) [2016426] - lib/crc: Use consistent naming for CRC-32 polynomials (Rafael Aquini) [2016426] - lib/crc: Move polynomial definition to separate header (Rafael Aquini) [2016426] - kstrto*: do not describe simple_strto*() as obsolete/replaced (Rafael Aquini) [2016426] - kstrto*: correct documentation references to simple_strto*() (Rafael Aquini) [2016426] - kernel.h: update comment about simple_strto() functions (Rafael Aquini) [2016426] - lib/bitmap.c: fix bitmap_cut() for partial overlapping case (Rafael Aquini) [2016426] - devres: keep both device name and resource name in pretty name (Rafael Aquini) [2016426] - crc-t10dif: Fix potential crypto notify dead-lock (Rafael Aquini) [2016426] - vsprintf: don't obfuscate NULL and error pointers (Rafael Aquini) [2016426] - lib/stackdepot.c: fix global out-of-bounds in stack_slabs (Rafael Aquini) [2016426] - lib/scatterlist.c: adjust indentation in __sg_alloc_table (Rafael Aquini) [2016426] - lib/stackdepot: Fix outdated comments (Rafael Aquini) [2016426] - lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more() (Rafael Aquini) [2016426] - lib: Remove select of inexistant GENERIC_IO (Rafael Aquini) [2016426] - lib: test_user_copy: style cleanup (Rafael Aquini) [2016426] - usercopy: Add parentheses around assignment in test_copy_struct_from_user (Rafael Aquini) [2016426] - lib: textsearch: fix escapes in example code (Rafael Aquini) [2016426] - Partially revert "kfifo: fix kfifo_alloc() and kfifo_init()" (Rafael Aquini) [2016426] - lib: logic_pio: Fix RCU usage (Rafael Aquini) [2016426] - lib/test_overflow.c: avoid tainting the kernel and fix wrap size (Rafael Aquini) [2016426] - lib/test_string.c: avoid masking memset16/32/64 failures (Rafael Aquini) [2016426] - lib/scatterlist: Fix mapping iterator when sg->offset is greater than PAGE_SIZE (Rafael Aquini) [2016426] - lib/mpi: Fix karactx leak in mpi_powm (Rafael Aquini) [2016426] - sbitmap: fix improper use of smp_mb__before_atomic() (Rafael Aquini) [2016426] - kobject: Don't trigger kobject_uevent(KOBJ_REMOVE) twice. (Rafael Aquini) [2016426] - lib/div64.c: off by one in shift (Rafael Aquini) [2016426] - assoc_array: Fix shortcut creation (Rafael Aquini) [2016426] - lib/test_kmod.c: potential double free in error handling (Rafael Aquini) [2016426] - devres: always use dev_name() in devm_ioremap_resource() (Rafael Aquini) [2016426] - lib: fix build failure in CONFIG_DEBUG_VIRTUAL test (Rafael Aquini) [2016426] - test_firmware: fix error return getting clobbered (Rafael Aquini) [2016426] - lib: Fix ia64 bootloader linkage (Rafael Aquini) [2016426] - lib/test_hexdump.c: fix failure on big endian cpu (Rafael Aquini) [2016426] - hv_utils: Set the maximum packet size for VSS driver to the length of the receive buffer (Cathy Avery) [2012842] - scsi: storvsc: Log TEST_UNIT_READY errors as warnings (Cathy Avery) [2012842] - scsi: storvsc: Correctly handle multiple flags in srb_status (Cathy Avery) [2012842] - scsi: storvsc: Update error logging (Cathy Avery) [2012842] - scsi: storvsc: Miscellaneous code cleanups (Cathy Avery) [2012842] - scsi: storvsc: Use blk_mq_unique_tag() to generate requestIDs (Cathy Avery) [2012842] - Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer (Cathy Avery) [2012842] - scsi: core: Fix hang of freezing queue between blocking and running device (Ewan D. Milne) [2012323] - scsi: core: Fix capacity set to zero after offlinining device (Ewan D. Milne) [2012323] - scsi: sr: Return correct event when media event code is 3 (Ewan D. Milne) [2012323] - scsi: core: Avoid printing an error if target_alloc() returns -ENXIO (Ewan D. Milne) [2012323] - scsi: scsi_dh_rdac: Avoid crash during rdac_bus_attach() (Ewan D. Milne) [2012323] - scsi: core: Fix bad pointer dereference when ehandler kthread is invalid (Ewan D. Milne) [2012323] - scsi: core: Fix the documentation of the scsi_execute() time parameter (Ewan D. Milne) [2012323] - scsi: core: Retry I/O for Notify (Enable Spinup) Required error (Ewan D. Milne) [2012323] - scsi: sd: Call sd_revalidate_disk() for ioctl(BLKRRPART) (Ewan D. Milne) [2012323] - scsi: core: Inline scsi_mq_alloc_queue() (Ewan D. Milne) [2012323] - scsi: sr: Return appropriate error code when disk is ejected (Ewan D. Milne) [2012323] - scsi: core: Only put parent device if host state differs from SHOST_CREATED (Ewan D. Milne) [2012323] - scsi: core: Put .shost_dev in failure path if host state changes to RUNNING (Ewan D. Milne) [2012323] - scsi: core: Fix failure handling of scsi_add_host_with_dma() (Ewan D. Milne) [2012323] - scsi: core: Fix error handling of scsi_host_alloc() (Ewan D. Milne) [2012323] - scsi: st: Return error code in st_scsi_execute() (Ewan D. Milne) [2012323] - scsi: scsi_dh_alua: Retry RTPG on a different path after failure (Ewan D. Milne) [2012323] - scsi: scsi_transport_fc: Remove double FC_FPORT_DELETED in mask creation (Ewan D. Milne) [2012323] - scsi: core: Fix a comment in function scsi_host_dev_release() (Ewan D. Milne) [2012323] - scsi: scsi_debug: Drop if with an always false condition (Ewan D. Milne) [2012323] - scsi: scsi_debug: Fix cmd_per_lun, set to max_queue (Ewan D. Milne) [2012323] - scsi: sd: Introduce a new local variable in sd_check_events() (Ewan D. Milne) [2012323] - scsi: core: Modify the scsi_send_eh_cmnd() return value for the SDEV_BLOCK case (Ewan D. Milne) [2012323] - scsi: core: Rename scsi_softirq_done() into scsi_complete() (Ewan D. Milne) [2012323] - scsi: core: Remove an incorrect comment (Ewan D. Milne) [2012323] - scsi: core: Make the scsi_alloc_sgtables() documentation more accurate (Ewan D. Milne) [2012323] - scsi: scsi_dh_alua: Prevent duplicate pg info print in alua_rtpg() (Ewan D. Milne) [2012323] - scsi: core: scsi_host_cmd_pool is declared twice (Ewan D. Milne) [2012323] - scsi: core: Remove duplicate declarations (Ewan D. Milne) [2012323] - scsi: core: Fix comment typo (Ewan D. Milne) [2012323] - scsi: scsi_dh: Fix a typo (Ewan D. Milne) [2012323] - scsi: sd: Fix function name in header (Ewan D. Milne) [2012323] - scsi: sd_zbc: Place function name into header (Ewan D. Milne) [2012323] - scsi: sd_zbc: Update write pointer offset cache (Ewan D. Milne) [2012323] - scsi: st: Fix a use after free in st_open() (Ewan D. Milne) [2012323] - scsi: scsi_debug: Fix cmd duration calculation (Ewan D. Milne) [2012323] - scsi: core: Set shost as hctx driver_data (Ewan D. Milne) [2012323] - scsi: scsi_debug: Add new defer type for mq_poll (Ewan D. Milne) [2012323] - scsi: scsi_debug: mq_poll support (Ewan D. Milne) [2012323] - scsi: core: Add mq_poll support to SCSI layer (Ewan D. Milne) [2012323] - scsi: sd: Remove obsolete variable in sd_remove() (Ewan D. Milne) [2012323] - scsi: handle zone resources errors (Ewan D. Milne) [2012323] - scsi: scsi_debug: Fix scp is NULL errors (Ewan D. Milne) [2012323] - scsi: scsi_debug: Improve command duration calculation (Ewan D. Milne) [2012323] - x86/platform: Increase maximum GPIO number for X86_64 (David Arcari) [2016796] - pinctrl: pinconf-generic: Add function parameter description 'pctldev' (David Arcari) [2016796] - pinctrl: core: Remove duplicated word from devm_pinctrl_unregister() (David Arcari) [2016796] - pinctrl: tigerlake: Fix GPIO mapping for newer version of software (David Arcari) [2016796] - pinctrl: tigerlake: Add Alder Lake-M ACPI ID (David Arcari) [2016796] - docs: update pin-control.rst references (David Arcari) [2016796] - pinctrl: Keep enum pin_config_param ordered by name (part 2) (David Arcari) [2016796] - pinctrl: core: Show pin numbers for the controllers with base = 0 (David Arcari) [2016796] - pinctrl: Add PIN_CONFIG_MODE_PWM to enum pin_config_param (David Arcari) [2016796] - pinctrl: Introduce MODE group in enum pin_config_param (David Arcari) [2016796] - pinctrl: Keep enum pin_config_param ordered by name (David Arcari) [2016796] - pinctrl: core: Fix kernel doc string for pin_get_name() (David Arcari) [2016796] - pinctrl: intel: check REVID register value for device presence (David Arcari) [2016796] - pinctrl: intel: No need to disable IRQs in the handler (David Arcari) [2016796] - pinctrl: core: Set ret to 0 when group is skipped (David Arcari) [2016796] - pinctrl: core: Handling pinmux and pinconf separately (David Arcari) [2016796] - Documentation: rename pinctl to pin-control (David Arcari) [2016796] - pinctrl: pinmux: Add pinmux-select debugfs file (David Arcari) [2016796] - pinctrl: use to octal permissions for debugfs files (David Arcari) [2016796] - pinctrl: intel: Show the GPIO base calculation explicitly (David Arcari) [2016796] - pinctrl: pinmux: add function selector to pinmux-functions (David Arcari) [2016796] - pinctrl: intel: Convert capability list to features (David Arcari) [2016796] - pinctrl: intel: Drop unnecessary check for predefined features (David Arcari) [2016796] - pinctrl: intel: Split intel_pinctrl_add_padgroups() for better maintenance (David Arcari) [2016796] - pinctrl: remove empty lines in pinctrl subsystem (David Arcari) [2016796] - pinctrl: intel: Actually disable Tx and Rx buffers on GPIO request (David Arcari) [2016796] - pinctrl: Remove hole in pinctrl_gpio_range (David Arcari) [2016796] - pinctrl: core: Add missing #ifdef CONFIG_GPIOLIB (David Arcari) [2016796] - pinctrl: intel: Set default bias in case no particular value given (David Arcari) [2016796] - pinctrl: intel: Fix 2 kOhm bias which is 833 Ohm (David Arcari) [2016796] - pinctrl: core: print gpio in pins debugfs file (David Arcari) [2016796] - pinctrl: pinmux: Add some missing parameter descriptions (David Arcari) [2016796] - pinctrl: core: Fix a bunch of kerneldoc issues (David Arcari) [2016796] - pinctrl: Define of_pinctrl_get() dummy for !PINCTRL (David Arcari) [2016796] - pinctrl: core: Remove extra kref_get which blocks hogs being freed (David Arcari) [2016796] - pinctrl: Export some needed symbols at module load time (David Arcari) [2016796] - pinctrl: core: Add pinctrl_select_default_state() and export it (David Arcari) [2016796] - pinctrl: make pinconf.h self-contained (David Arcari) [2016796] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 (David Arcari) [2016796] - pinctrl: remove pinctrl/machine.h inclusion from pinctrl/pinconf.h (David Arcari) [2016796] - pinctrl: Document pin_config_group_get() return codes like pin_config_get() (David Arcari) [2016796] - pinctrl: intel: Convert to use SPDX identifier (David Arcari) [2016796] - mm/swapfile: fix an integer overflow in swap_show() (Rafael Aquini) [2008812] - mm: swapfile: fix /proc/swaps heading and Size/Used/Priority alignment (Rafael Aquini) [2008812] - Makefile: update early devel phase flag (Augusto Caringi) [2000679] - KVM: s390: Enable specification exception interpretation (Thomas Huth) [1984894] - KVM: x86: Update vCPU's hv_clock before back to guest when tsc_offset is adjusted (Marcelo Tosatti) [2007928] - ibmvnic: Remove the proper scrq flush (Desnes A. Nunes do Rosario) [2014097] - selftests/net/ipsec: Add test for xfrm_spdattr_type_t (Hangbin Liu) [2018056] - selftest/net/ipsec.c: Remove unneeded semicolon (Hangbin Liu) [2018056] - selftest/net/xfrm: Add test for ipsec tunnel (Hangbin Liu) [2018056] - ipv6: add ip6_sock_set_v6only (Josef Oskera) [2008908] - ipv6: When forwarding count rx stats on the orig netdev (Hangbin Liu) [2017704] - ipv6: make exception cache less predictible (Hangbin Liu) [2017704] - ipv6: use siphash in rt6_exception_hash() (Hangbin Liu) [2017704] - ipv6: use jhash2() in rt6_exception_hash() (Hangbin Liu) [2017704] - net/l2tp: Fix reference count leak in l2tp_udp_recv_core (Guillaume Nault) [2020380] - netfilter: nft_flow_offload: fix underflow in flowtable reference counter (Phil Sutter) [2008551] - net: xfrm: Fix end of loop tests for list_for_each_entry (Sabrina Dubroca) [2019168] - xfrm: Fix error reporting in xfrm_state_construct. (Sabrina Dubroca) [2019168]- nvme-mpath: replace direct_make_request with generic_make_request (Gopal Tiwari) [2013505] - net-sysfs: try not to restart the syscall if it will fail eventually (Antoine Tenart) [2016005] - net: mana: Fix error handling in mana_create_rxq() (Mohammed Gamal) [2011886] - net: mana: Prefer struct_size over open coded arithmetic (Mohammed Gamal) [2011886] - net: mana: Add WARN_ON_ONCE in case of CQE read overflow (Mohammed Gamal) [2011886] - net: mana: Add support for EQ sharing (Mohammed Gamal) [2011886] - net: mana: Move NAPI from EQ to CQ (Mohammed Gamal) [2011886] - net: mana: Fix a memory leak in an error handling path in 'mana_create_txq()' (Mohammed Gamal) [2011886] - net: mana: Use struct_size() in kzalloc() (Mohammed Gamal) [2011886] - vmxnet3: switch from 'pci_' to 'dma_' API (Kamal Heib) [2013202] - vmxnet3: update to version 6 (Kamal Heib) [2013202] - vmxnet3: increase maximum configurable mtu to 9190 (Kamal Heib) [2013202] - vmxnet3: set correct hash type based on rss information (Kamal Heib) [2013202] - vmxnet3: add support for ESP IPv6 RSS (Kamal Heib) [2013202] - vmxnet3: remove power of 2 limitation on the queues (Kamal Heib) [2013202] - vmxnet3: add support for 32 Tx/Rx queues (Kamal Heib) [2013202] - vmxnet3: prepare for version 6 changes (Kamal Heib) [2013202] - vmxnet3: fix cksum offload issues for tunnels with non-default udp ports (Kamal Heib) [2013202] - treewide: Use fallthrough pseudo-keyword (Kamal Heib) [2013202] - net: Use skb_frag_off accessors (Kamal Heib) [2013202] - net: Use skb accessors in network drivers (Kamal Heib) [2013202] - vmxnet3: Remove call to memset after dma_alloc_coherent (Kamal Heib) [2013202] - cgroup/debug: Fix lockdep splat with "pK" format specifier (Waiman Long) [2007919] - configs: Enable FC_APPID (Ewan D. Milne) [1643346] - configs: Enable BLK_CGROUP_FC_APPID (Ewan D. Milne) [1643346] - scsi: nvme: Added a new sysfs attribute appid_store (Ewan D. Milne) [1643346] - scsi: blkcg: Add app identifier support for blkcg (Ewan D. Milne) [1643346] - scsi: cgroup: Add cgroup_get_from_id() (Ewan D. Milne) [1643346] - perf iostat: Fix Segmentation fault from NULL 'struct perf_counts_values *' (Michael Petlan) [2003981] - perf iostat: Use system-wide mode if the target cpu_list is unspecified (Michael Petlan) [2003981] - perf beauty: Update copy of linux/socket.h with the kernel sources (Michael Petlan) [2003981] - perf test: Fix non-bash issue with stat bpf counters (Michael Petlan) [2003981] - perf machine: Fix refcount usage when processing PERF_RECORD_KSYMBOL (Michael Petlan) [2003981] - perf metricgroup: Return error code from metricgroup__add_metric_sys_event_iter() (Michael Petlan) [2003981] - perf metricgroup: Fix find_evsel_group() event selector (Michael Petlan) [2003981] - perf session: Correct buffer copying when peeking events (Michael Petlan) [2003981] - perf env: Fix memory leak of bpf_prog_info_linear member (Michael Petlan) [2003981] - perf symbol-elf: Fix memory leak by freeing sdt_note.args (Michael Petlan) [2003981] - perf stat: Honor event config name on --no-merge (Michael Petlan) [2003981] - perf test: Test 17 fails with make LIBPFM4=1 on s390 z/VM (Michael Petlan) [2003981] - perf stat: Fix error return code in bperf__load() (Michael Petlan) [2003981] - perf record: Move probing cgroup sampling support (Michael Petlan) [2003981] - perf probe: Fix NULL pointer dereference in convert_variable_location() (Michael Petlan) [2003981] - perf tools: Copy uapi/asm/perf_regs.h from the kernel for MIPS (Michael Petlan) [2003981] - perf stat: Fix error check for bpf_program__attach (Michael Petlan) [2003981] - perf jevents: Fix getting maximum number of fds (Michael Petlan) [2003981] - perf stat: Skip evlist__[enable|disable] when all events uses BPF (Michael Petlan) [2003981] - perf script: Add missing PERF_IP_FLAG_CHARS for VM-Entry and VM-Exit (Michael Petlan) [2003981] - perf scripts python: exported-sql-viewer.py: Fix warning display (Michael Petlan) [2003981] - perf scripts python: exported-sql-viewer.py: Fix Array TypeError (Michael Petlan) [2003981] - perf scripts python: exported-sql-viewer.py: Fix copy to clipboard from Top Calls by elapsed Time report (Michael Petlan) [2003981] - perf parse-events: Check if the software events array slots are populated (Michael Petlan) [2003981] - perf tools: Add 'cgroup-switches' software event (Michael Petlan) [2003981] - perf intel-pt: Remove redundant setting of ptq->insn_len (Michael Petlan) [2003981] - perf intel-pt: Fix sample instruction bytes (Michael Petlan) [2003981] - perf intel-pt: Fix transaction abort handling (Michael Petlan) [2003981] - perf test: Fix libpfm4 support (63) test error for nested event groups (Michael Petlan) [2003981] - perf buildid-list: Initialize zstd_data (Michael Petlan) [2003981] - tools build: Fix quiet cmd indentation (Michael Petlan) [2003981] - perf tools: Fix a build error on arm64 with clang (Michael Petlan) [2003981] - perf tools: Fix dynamic libbpf link (Michael Petlan) [2003981] - perf session: Fix swapping of cpu_map and stat_config records (Michael Petlan) [2003981] - perf jevents: Silence warning for ArchStd files (Michael Petlan) [2003981] - perf build: Defer printing detected features to the end of all feature checks (Michael Petlan) [2003981] - tools build: Allow deferring printing the results of feature detection (Michael Petlan) [2003981] - perf build: Regenerate the FEATURE_DUMP file after extra feature checks (Michael Petlan) [2003981] - perf session: Dump PERF_RECORD_TIME_CONV event (Michael Petlan) [2003981] - perf session: Add swap operation for event TIME_CONV (Michael Petlan) [2003981] - perf jit: Let convert_timestamp() to be backwards-compatible (Michael Petlan) [2003981] - perf tools: Change fields type in perf_record_time_conv (Michael Petlan) [2003981] - perf tools: Enable libtraceevent dynamic linking (Michael Petlan) [2003981] - perf report: Print percentage of each event statistics (Michael Petlan) [2003981] - perf report: Make --skip-empty as default (Michael Petlan) [2003981] - perf report: Add --skip-empty option to suppress 0 event stat (Michael Petlan) [2003981] - perf report: Show event sample counts in --stat output (Michael Petlan) [2003981] - perf hists: Split hists_stats from events_stats (Michael Petlan) [2003981] - perf top: Use evlist->events_stat to count events (Michael Petlan) [2003981] - perf data: Add JSON export (Michael Petlan) [2003981] - perf stat: Introduce bpf_counter_ops->disable() (Michael Petlan) [2003981] - perf stat: Introduce ':b' modifier (Michael Petlan) [2003981] - perf stat: Introduce config stat.bpf-counter-events (Michael Petlan) [2003981] - perf bpf: check perf_attr_map is compatible with the perf binary (Michael Petlan) [2003981] - perf util: Move bpf_perf definitions to a libperf header (Michael Petlan) [2003981] - perf tools: Update topdown documentation to permit rdpmc calls (Michael Petlan) [2003981] - perf tools: Add a build-test variant to use in builds from a tarball (Michael Petlan) [2003981] - perf arm64: Fix off-by-one directory paths. (Michael Petlan) [2003981] - perf: Update .gitignore file (Michael Petlan) [2003981] - perf stat: Enable iostat mode for x86 platforms (Michael Petlan) [2003981] - perf stat: Helper functions for PCIe root ports list in iostat mode (Michael Petlan) [2003981] - perf stat: Basic support for iostat in perf (Michael Petlan) [2003981] - libperf xyarray: Add bounds checks to xyarray__entry() (Michael Petlan) [2003981] - libperf: Add support for user space counter access (Michael Petlan) [2003981] - libperf tests: Add support for verbose printing (Michael Petlan) [2003981] - libperf: Add evsel mmap support (Michael Petlan) [2003981] - tools include: Add an initial math64.h (Michael Petlan) [2003981] - perf beauty: Fix fsconfig generator (Michael Petlan) [2003981] - perf record: Improve 'Workload failed' message printing events + what was exec'ed (Michael Petlan) [2003981] - perf evlist: Add a method to return the list of evsels as a string (Michael Petlan) [2003981] - perf annotate: Fix sample events lost in stdio mode (Michael Petlan) [2003981] - perf vendor events amd: Add Zen3 events (Michael Petlan) [2003981] - perf vendor events amd: Use 0x02x format for event code and umask (Michael Petlan) [2003981] - perf vendor events amd: Use lowercases for all the eventcodes and umasks (Michael Petlan) [2003981] - perf vendor events amd: Fix broken L2 Cache Hits from L2 HWPF metric (Michael Petlan) [2003981] - perf vendor events arm64: Add Hisi hip08 L3 metrics (Michael Petlan) [2003981] - perf vendor events arm64: Add Hisi hip08 L2 metrics (Michael Petlan) [2003981] - perf vendor events arm64: Add Hisi hip08 L1 metrics (Michael Petlan) [2003981] - perf pmu: Add pmu_events_map__find() function to find the common PMU map for the system (Michael Petlan) [2003981] - perf test: Handle metric reuse in pmu-events parsing test (Michael Petlan) [2003981] - perf metricgroup: Make find_metric() public with name change (Michael Petlan) [2003981] - perf mem-events: Remove unnecessary 'struct mem_info' forward declaration (Michael Petlan) [2003981] - perf evsel: Remove duplicate 'struct target' forward declaration (Michael Petlan) [2003981] - perf annotate: Add --demangle and --demangle-kernel (Michael Petlan) [2003981] - perf tools: Preserve identifier id in OCaml demangler (Michael Petlan) [2003981] - perf daemon: Remove duplicate includes (Michael Petlan) [2003981] - perf tools: Remove duplicate struct forward declarations (Michael Petlan) [2003981] - perf test: Add CSV summary test (Michael Petlan) [2003981] - perf stat: Align CSV output for summary mode (Michael Petlan) [2003981] - perf test: Add a shell test for 'perf stat --bpf-counters' new option (Michael Petlan) [2003981] - perf stat: Measure 't0' and 'ref_time' after enable_counters() (Michael Petlan) [2003981] - perf stat: Introduce 'bperf' to share hardware PMCs with BPF (Michael Petlan) [2003981] - perf tools: Fix various typos in comments (Michael Petlan) [2003981] - perf test: Add 30s timeout for wait for daemon start. (Michael Petlan) [2003981] - perf test: Cleanup daemon if test is interrupted. (Michael Petlan) [2003981] - perf test: Remove unused argument (Michael Petlan) [2003981] - perf stat: Improve readability of shadow stats (Michael Petlan) [2003981] - perf stat: Elaborate use cases for the -n/--null command line option (Michael Petlan) [2003981] - perf evlist: Change the COMM when preparing the workload (Michael Petlan) [2003981] - perf machine: Assign boolean values to a bool variable (Michael Petlan) [2003981] - perf tools: use ARRAY_SIZE (Michael Petlan) [2003981] - perf stat: Fixup __perf_stat_evsel__is() prefix (Michael Petlan) [2003981] - perf script: Fixup 'struct evsel_script' method prefix (Michael Petlan) [2003981] - perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars (Michael Petlan) [2003981] - tools include: Add __sum16 and __wsum definitions. (Michael Petlan) [2003981] - perf annotate: Show full source location with 'l' hotkey (Michael Petlan) [2003981] - perf bench: Fix misspellings using codespell (Michael Petlan) [2003981] - perf config: Add annotate.demangle{,_kernel} (Michael Petlan) [2003981] - perf bpf: Minor whitespace cleanup. (Michael Petlan) [2003981] - perf tools: Enable warnings when compiling BPF programs (Michael Petlan) [2003981] - perf skel: Remove some unused variables. (Michael Petlan) [2003981] - perf report: Create option to disable raw event ordering (Michael Petlan) [2003981] - perf metric: Remove unneeded semicolon (Michael Petlan) [2003981] - perf cs-etm: Detect pid in VMID for kernel running at EL2 (Michael Petlan) [2003981] - perf cs-etm: Add helper cs_etm__get_pid_fmt() (Michael Petlan) [2003981] - perf cs-etm: Support PID tracing in config (Michael Petlan) [2003981] - perf cs-etm: Fix bitmap for option (Michael Petlan) [2003981] - perf cs-etm: Update ETM metadata format (Michael Petlan) [2003981] - perf vendor events power9: Remove unsupported metrics (Michael Petlan) [2003981] - perf buildid-cache: Add test for PE executable (Michael Petlan) [2003981] - perf docs: Add man pages to see also (Michael Petlan) [2003981] - perf tools: Generate mips syscalls_n64.c syscall table (Michael Petlan) [2003981] - perf s390: Move syscall.tbl check into check-headers.sh (Michael Petlan) [2003981] - perf tools: Support MIPS unwinding and dwarf-regs (Michael Petlan) [2003981] - tools: do not include scripts/Kbuild.include (Michael Petlan) [2003981] - tools: Allow proper CC/CXX/... override with LLVM=1 in Makefile.include (Michael Petlan) [2003981] - perf intel-pt: Use aux_watermark (Michael Petlan) [2003981] - perf/x86/intel/uncore: Fix M2M event umask for Ice Lake server (Michael Petlan) [2003981] - perf/x86/intel/uncore: Fix a kernel WARNING triggered by maxcpus=1 (Michael Petlan) [2003981] - perf: Fix data race between pin_count increment/decrement (Michael Petlan) [2003981] - perf/x86: Avoid touching LBR_TOS MSR for Arch LBR (Michael Petlan) [2003981] - perf/x86: Allow for 8running into P4 specific code (Michael Petlan) [2003981] - perf: Add support for event removal on exec (Michael Petlan) [2003981] - perf: Support only inheriting events if cloned with CLONE_THREAD (Michael Petlan) [2003981] - perf: Apply PERF_EVENT_IOC_MODIFY_ATTRIBUTES to children (Michael Petlan) [2003981] - perf: Rework perf_event_exit_event() (Michael Petlan) [2003981] - perf: Cap allocation order at aux_watermark (Michael Petlan) [2003981] - perf/x86/intel/uncore: Enable IIO stacks to PMON mapping for multi-segment SKX (Michael Petlan) [2003981] - perf core: Allocate perf_event in the target node memory (Michael Petlan) [2003981] - perf core: Add a kmem_cache for struct perf_event (Michael Petlan) [2003981] - perf core: Allocate perf_buffer in the target node memory (Michael Petlan) [2003981] - x86: Remove unusual Unicode characters from comments (Michael Petlan) [2003981] - redhat/configs: Add CONFIG_TIMERLAT_TRACER (Jerome Marchand) [1979382] - redhat/configs: Add CONFIG_OSNOISE_TRACER (Jerome Marchand) [1979382] - tracing/osnoise: Fix missed cpus_read_unlock() in start_per_cpu_kthreads() (Jerome Marchand) [1979382] - tracing: Replace deprecated CPU-hotplug functions. (Jerome Marchand) [1979382] - trace/osnoise: Print a stop tracing message (Jerome Marchand) [1979382] - trace/timerlat: Add a header with PREEMPT_RT additional fields (Jerome Marchand) [1979382] - trace/osnoise: Add a header with PREEMPT_RT additional fields (Jerome Marchand) [1979382] - tracing: Quiet smp_processor_id() use in preemptable warning in hwlat (Jerome Marchand) [1979382] - trace/timerlat: Fix indentation on timerlat_main() (Jerome Marchand) [1979382] - trace/osnoise: Make 'noise' variable s64 in run_osnoise() (Jerome Marchand) [1979382] - tracing: Fix spelling in osnoise tracer "interferences" -> "interference" (Jerome Marchand) [1979382] - Documentation: Fix a typo on trace/osnoise-tracer (Jerome Marchand) [1979382] - trace/osnoise: Fix return value on osnoise_init_hotplug_support (Jerome Marchand) [1979382] - trace/osnoise: Make interval u64 on osnoise_main (Jerome Marchand) [1979382] - trace/osnoise: Fix 'no previous prototype' warnings (Jerome Marchand) [1979382] - tracing: Have osnoise_main() add a quiescent state for task rcu (Jerome Marchand) [1979382] - trace/osnoise: Support hotplug operations (Jerome Marchand) [1979382] - trace/hwlat: Support hotplug operations (Jerome Marchand) [1979382] - trace/hwlat: Protect kdata->kthread with get/put_online_cpus (Jerome Marchand) [1979382] - trace: Add timerlat tracer (Jerome Marchand) [1979382] - trace: Add osnoise tracer (Jerome Marchand) [1979382] - trace: Add __print_ns_to_secs() and __print_ns_without_secs() helpers (Jerome Marchand) [1979382] - trace/hwlat: Remove printk from sampling loop (Jerome Marchand) [1979382] - trace/hwlat: Use trace_min_max_param for width and window params (Jerome Marchand) [1979382] - trace: Add a generic function to read/write u64 values from tracefs (Jerome Marchand) [1979382] - trace/hwlat: Implement the per-cpu mode (Jerome Marchand) [1979382] - trace/hwlat: Switch disable_migrate to mode none (Jerome Marchand) [1979382] - trace/hwlat: Implement the mode config option (Jerome Marchand) [1979382] - uio_hv_generic: Fix another memory leak in error handling paths (Mohammed Gamal) [2008561] - uio_hv_generic: Fix a memory leak in error handling paths (Mohammed Gamal) [2008561] - mfd: intel-lpss: Add Intel Alder Lake-M PCI IDs (David Arcari) [1929498] - xfs: fix up non-directory creation in SGID directories (Brian Foster) [2004810] - xfs: kill ialloced in xfs_dialloc() (Brian Foster) [2004810] - xfs: spilt xfs_dialloc() into 2 functions (Brian Foster) [2004810] - xfs: move xfs_dialloc_roll() into xfs_dialloc() (Brian Foster) [2004810] - xfs: move on-disk inode allocation out of xfs_ialloc() (Brian Foster) [2004810] - xfs: introduce xfs_dialloc_roll() (Brian Foster) [2004810] - xfs: convert noroom, okalloc in xfs_dialloc() to bool (Brian Foster) [2004810] - xfs: check tp->t_dqinfo value instead of the XFS_TRANS_DQ_DIRTY flag (Brian Foster) [2004810] - scsi: vmw_pvscsi: Set correct residual data length (Cathy Avery) [2012237] - scsi: vmw_pvscsi: MAINTAINERS: Update maintainer (Cathy Avery) [2012237] - treewide: Use fallthrough pseudo-keyword (Cathy Avery) [2012237] - scsi: be2iscsi: Fix use-after-free during IP updates (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix some missing space in some messages (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe() (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Remove redundant initialization (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Demote incomplete/non-conformant kernel-doc header (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Ensure function follows directly after its header (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix beiscsi_phys_port()'s name in header (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Provide missing function name in header (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix incorrect naming of beiscsi_iface_config_vlan() (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Mark beiscsi_attrs with static keyword (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()" (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs() (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Correct misdocumentation of function param 'ep' (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Add missing function parameter description (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix misdocumentation of 'pcontext' (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix API/documentation slip (Maurizio Lombardi) [1984347] - powerpc/spinlock: Properly define pv_spinlocks_init() (Waiman Long) [2014363] - ACPI: Pass the same capabilities to the _OSC regardless of the query flag (Mark Langsdorf) [1982319] - Revert "[acpi] ACPI: sleep: Put the FACS table after using it" (Mark Langsdorf) [1982319] - ACPICA: Clean up context mutex during object deletion (Mark Langsdorf) [1982319] - ACPI: power: Refine turning off unused power resources (Mark Langsdorf) [1982319] - ACPI: NFIT: Fix support for variable 'SPA' structure size (Mark Langsdorf) [1982319] - ACPI: custom_method: fix a possible memory leak (Mark Langsdorf) [1982319] - ACPI: custom_method: fix potential use-after-free issue (Mark Langsdorf) [1982319] - ACPI: irq: Prevent unregistering of GIC SGIs (Mark Langsdorf) [1982319] - ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure (Mark Langsdorf) [1982319] - ACPI: video: use native backlight for GA401/GA502/GA503 (Mark Langsdorf) [1982319] - ACPI: APEI: remove redundant assignment to variable rc (Mark Langsdorf) [1982319] - ACPI: utils: Capitalize abbreviations in the comments (Mark Langsdorf) [1982319] - ACPI: utils: Document for_each_acpi_dev_match() macro (Mark Langsdorf) [1982319] - ACPI: bus: Introduce acpi_dev_get() and reuse it in ACPI code (Mark Langsdorf) [1982319] - ACPI: scan: Utilize match_string() API (Mark Langsdorf) [1982319] - ACPI: CPPC: Replace cppc_attr with kobj_attribute (Mark Langsdorf) [1982319] - ACPI: scan: Call acpi_get_object_info() from acpi_set_pnp_ids() (Mark Langsdorf) [1982319] - ACPI: scan: Drop sta argument from acpi_init_device_object() (Mark Langsdorf) [1982319] - ACPI: scan: Drop sta argument from acpi_add_single_object() (Mark Langsdorf) [1982319] - ACPI: scan: Rearrange checks in acpi_bus_check_add() (Mark Langsdorf) [1982319] - ACPI: scan: Fold acpi_bus_type_and_status() into its caller (Mark Langsdorf) [1982319] - ACPI: video: Check LCD flag on ACPI-reduced-hardware devices (Hans de Goede) [1982319] - ACPI: utils: Add acpi_reduced_hardware() helper (Mark Langsdorf) [1982319] - ACPI: dock: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: sysfs: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: PM: add a missed blank line after declarations (Mark Langsdorf) [1982319] - ACPI: custom_method: fix a coding style issue (Mark Langsdorf) [1982319] - ACPI: CPPC: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: button: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: battery: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: acpi_pad: add a missed blank line after declarations (Mark Langsdorf) [1982319] - ACPI: LPSS: add a missed blank line after declarations (Mark Langsdorf) [1982319] - ACPI: ipmi: remove useless return statement for void function (Mark Langsdorf) [1982319] - ACPI: processor: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: APD: fix a block comment align issue (Mark Langsdorf) [1982319] - ACPI: AC: fix some coding style issues (Mark Langsdorf) [1982319] - ACPICA: Update version to 20210331 (Mark Langsdorf) [1982319] - ACPICA: IORT: Updates for revision E.b (Mark Langsdorf) [1982319] - ACPICA: iASL: Decode subtable type field for VIOT (Mark Langsdorf) [1982319] - ACPICA: iASL: Add support for CEDT table (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add support for PHAT table (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add CSI2Bus resource template (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: PMTT: add new fields/structures (Mark Langsdorf) [1982319] - ACPICA: CXL 2.0: CEDT: Add new CEDT table (Mark Langsdorf) [1982319] - ACPICA: acpisrc: Add missing conversion for VIOT support (Mark Langsdorf) [1982319] - ACPICA: iASL: Add definitions for the VIOT table (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add SDEV secure access components (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: Add new flags in SRAT (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: HMAT: add new fields/flags (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: NFIT: add Location Cookie field (Mark Langsdorf) [1982319] - ACPICA: Tree-wide: fix various typos and spelling mistakes (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: PPTT: add new version of subtable type 1 (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: PCCT: add support for subtable type 5 (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: MADT: add Multiprocessor Wakeup Structure (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add CXL ACPI device ID and _CBR object (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add USB4 capabilities UUID (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: Add new predefined objects _BPC, _BPS, and _BPT (Mark Langsdorf) [1982319] - ACPICA: Add parsing for IVRS IVHD 40h and device entry F0h (Mark Langsdorf) [1982319] - ACPI: CPPC: Add emtpy stubs of functions for CONFIG_ACPI_CPPC_LIB unset (Mark Langsdorf) [1982319] - ACPI: scan: Turn off unused power resources during initialization (Mark Langsdorf) [1982319] - ACPI: power: Turn off unused power resources unconditionally (Mark Langsdorf) [1982319] - ACPI: fix various typos in comments (Mark Langsdorf) [1982319] - ACPI: utils: Introduce acpi_evaluation_failure_warn() (Mark Langsdorf) [1982319] - ACPI: processor: perflib: Eliminate redundant status check (Mark Langsdorf) [1982319] - ACPI: Drop unused ACPI_*_COMPONENT definitions and update documentation (Mark Langsdorf) [1982319] - ACPI: sysfs: Get rid of ACPICA message printing (Mark Langsdorf) [1982319] - ACPI: HED: Drop unused ACPI_MODULE_NAME() definition (Mark Langsdorf) [1982319] - ACPI: processor: Get rid of ACPICA message printing (Mark Langsdorf) [1982319] - ACPI: processor: idle: Drop extra prefix from pr_notice() (Mark Langsdorf) [1982319] - ACPI: processor: Remove initialization of static variable (Mark Langsdorf) [1982319] - ACPI: PCI: Replace direct printk() invocations in pci_link.c (Mark Langsdorf) [1982319] - ACPI: PCI: Drop ACPI_PCI_COMPONENT that is not used any more (Mark Langsdorf) [1982319] - ACPI: PCI: Replace ACPI_DEBUG_PRINT() and ACPI_EXCEPTION() (Mark Langsdorf) [1982319] - ACPI: PCI: IRQ: Consolidate printing diagnostic messages (Mark Langsdorf) [1982319] - arm64: compat: Poison the compat sigpage (C. Erastus Toe) [1983849] {CVE-2021-21781} - ARM: ensure the signal page contains defined contents (C. Erastus Toe) [1983849] {CVE-2021-21781} - powerpc/pseries: Fix update of LPAR security flavor after LPM (Steve Best) [1997294] - s390/qeth: Update MACs of LEARNING_SYNC device (Robin Dapp) [1919227] - s390/qeth: Switchdev event handler (Robin Dapp) [1919227] - s390/qeth: Register switchdev event handler (Robin Dapp) [1919227] - PCI: Add pcie_ptm_enabled() (Petr Oros) [2006834] - Revert "PCI: Make pci_enable_ptm() private" (Petr Oros) [2006834] - x86/cpufeatures: Force disable X86_FEATURE_ENQCMD and remove update_pasid() (Jerry Snitselaar) [2004577] - s390: report more CPU capabilities (Robin Dapp) [1984839] - s390/disassembler: add instructions (Robin Dapp) [1984839] - s390/opcodes: rename selhhhr to selfhr (Robin Dapp) [1984839] - s390/disassembler: update opcode table (Robin Dapp) [1984839] - s390/opcodes: add missing instructions to the disassembler (Robin Dapp) [1984839] - CI: Add template for baseline gcov build (Israel Santana Aleman) - futex: Remove unused variable 'vpid' in futex_proxy_trylock_atomic() (Waiman Long) [2000293] - futex: Prevent inconsistent state and exit race (Waiman Long) [2000293] - locking/ww_mutex: Initialize waiter.ww_ctx properly (Waiman Long) [2000293] - futex: Return error code instead of assigning it without effect (Waiman Long) [2000293] - Documentation: seqlock: s/LOCKTYPE/LOCKNAME/g (Waiman Long) [2000293] - lib/test_lockup.c: fix return value of test_lockup_init() (Waiman Long) [2000293] - locking/rwbase: Take care of ordering guarantee for fastpath reader (Waiman Long) [2000293] - locking/rwbase: Extract __rwbase_write_trylock() (Waiman Long) [2000293] - locking/rwbase: Properly match set_and_save_state() to restore_state() (Waiman Long) [2000293] - locking/rtmutex: Fix ww_mutex deadlock check (Waiman Long) [2000293] - locking/rwsem: Add missing __init_rwsem() for PREEMPT_RT (Waiman Long) [2000293] - locking/rtmutex: Return success on deadlock for ww_mutex waiters (Waiman Long) [2000293] - locking/rtmutex: Prevent spurious EDEADLK return caused by ww_mutexes (Waiman Long) [2000293] - locking/rtmutex: Dequeue waiter on ww_mutex deadlock (Waiman Long) [2000293] - locking/rtmutex: Dont dereference waiter lockless (Waiman Long) [2000293] - locking/local_lock: Add PREEMPT_RT support (Waiman Long) [2000293] - locking/spinlock/rt: Prepare for RT local_lock (Waiman Long) [2000293] - locking/rtmutex: Add adaptive spinwait mechanism (Waiman Long) [2000293] - locking/rtmutex: Implement equal priority lock stealing (Waiman Long) [2000293] - preempt: Adjust PREEMPT_LOCK_OFFSET for RT (Waiman Long) [2000293] - locking/rtmutex: Prevent lockdep false positive with PI futexes (Waiman Long) [2000293] - futex: Prevent requeue_pi() lock nesting issue on RT (Waiman Long) [2000293] - futex: Simplify handle_early_requeue_pi_wakeup() (Waiman Long) [2000293] - futex: Reorder sanity checks in futex_requeue() (Waiman Long) [2000293] - futex: Clarify comment in futex_requeue() (Waiman Long) [2000293] - futex: Restructure futex_requeue() (Waiman Long) [2000293] - futex: Correct the number of requeued waiters for PI (Waiman Long) [2000293] - futex: Remove bogus condition for requeue PI (Waiman Long) [2000293] - futex: Clarify futex_requeue() PI handling (Waiman Long) [2000293] - futex: Clean up stale comments (Waiman Long) [2000293] - futex: Validate waiter correctly in futex_proxy_trylock_atomic() (Waiman Long) [2000293] - lib/test_lockup: Adapt to changed variables (Waiman Long) [2000293] - locking/rtmutex: Add mutex variant for RT (Waiman Long) [2000293] - locking/ww_mutex: Implement rtmutex based ww_mutex API functions (Waiman Long) [2000293] - locking/rtmutex: Extend the rtmutex core to support ww_mutex (Waiman Long) [2000293] - locking/ww_mutex: Add rt_mutex based lock type and accessors (Waiman Long) [2000293] - locking/ww_mutex: Add RT priority to W/W order (Waiman Long) [2000293] - locking/ww_mutex: Implement rt_mutex accessors (Waiman Long) [2000293] - locking/ww_mutex: Abstract out internal lock accesses (Waiman Long) [2000293] - locking/ww_mutex: Abstract out mutex types (Waiman Long) [2000293] - locking/ww_mutex: Abstract out mutex accessors (Waiman Long) [2000293] - locking/ww_mutex: Abstract out waiter enqueueing (Waiman Long) [2000293] - locking/ww_mutex: Abstract out the waiter iteration (Waiman Long) [2000293] - locking/ww_mutex: Remove the __sched annotation from ww_mutex APIs (Waiman Long) [2000293] - locking/ww_mutex: Split out the W/W implementation logic into kernel/locking/ww_mutex.h (Waiman Long) [2000293] - locking/ww_mutex: Split up ww_mutex_unlock() (Waiman Long) [2000293] - locking/ww_mutex: Gather mutex_waiter initialization (Waiman Long) [2000293] - locking/ww_mutex: Simplify lockdep annotations (Waiman Long) [2000293] - locking/mutex: Make mutex::wait_lock raw (Waiman Long) [2000293] - locking/ww_mutex: Move the ww_mutex definitions from into (Waiman Long) [2000293] - locking/mutex: Move the 'struct mutex_waiter' definition from to the internal header (Waiman Long) [2000293] - locking/mutex: Consolidate core headers, remove kernel/locking/mutex-debug.h (Waiman Long) [2000293] - locking/rtmutex: Squash !RT tasks to DEFAULT_PRIO (Waiman Long) [2000293] - locking/rwlock: Provide RT variant (Waiman Long) [2000293] - locking/spinlock: Provide RT variant (Waiman Long) [2000293] - locking/rtmutex: Provide the spin/rwlock core lock function (Waiman Long) [2000293] - locking/spinlock: Provide RT variant header: (Waiman Long) [2000293] - locking/spinlock: Provide RT specific spinlock_t (Waiman Long) [2000293] - locking/rtmutex: Reduce header dependencies, only include (Waiman Long) [2000293] - rbtree: Split out the rbtree type definitions into (Waiman Long) [2000293] - locking/lockdep: Reduce header dependencies in (Waiman Long) [2000293] - locking/rtmutex: Prevent future include recursion hell (Waiman Long) [2000293] - locking/spinlock: Split the lock types header, and move the raw types into (Waiman Long) [2000293] - locking/rtmutex: Guard regular sleeping locks specific functions (Waiman Long) [2000293] - locking/rtmutex: Prepare RT rt_mutex_wake_q for RT locks (Waiman Long) [2000293] - locking/rtmutex: Use rt_mutex_wake_q_head (Waiman Long) [2000293] - locking/rtmutex: Provide rt_wake_q_head and helpers (Waiman Long) [2000293] - locking/rtmutex: Add wake_state to rt_mutex_waiter (Waiman Long) [2000293] - locking/rwsem: Add rtmutex based R/W semaphore implementation (Waiman Long) [2000293] - locking/rt: Add base code for RT rw_semaphore and rwlock (Waiman Long) [2000293] - locking/rtmutex: Provide rt_mutex_base_is_locked() (Waiman Long) [2000293] - locking/rtmutex: Provide rt_mutex_slowlock_locked() (Waiman Long) [2000293] - locking/rtmutex: Split out the inner parts of 'struct rtmutex' (Waiman Long) [2000293] - locking/rtmutex: Split API from implementation (Waiman Long) [2000293] - locking/rtmutex: Convert macros to inlines (Waiman Long) [2000293] - locking/rtmutex: Remove rt_mutex_is_locked() (Waiman Long) [2000293] - sched/wake_q: Provide WAKE_Q_HEAD_INITIALIZER() (Waiman Long) [2000293] - sched/core: Provide a scheduling point for RT locks (Waiman Long) [2000293] - sched/core: Rework the __schedule() preempt argument (Waiman Long) [2000293] - sched/wakeup: Prepare for RT sleeping spin/rwlocks (Waiman Long) [2000293] - sched/wakeup: Reorganize the current::__state helpers (Waiman Long) [2000293] - sched/wakeup: Introduce the TASK_RTLOCK_WAIT state bit (Waiman Long) [2000293] - sched/wakeup: Split out the wakeup ->__state check (Waiman Long) [2000293] - locking/rtmutex: Set proper wait context for lockdep (Waiman Long) [2000293] - locking/local_lock: Add missing owner initialization (Waiman Long) [2000293] - locking/rtmutex: Use the correct rtmutex debugging config option (Waiman Long) [2000293] - tools/runqslower: Use __state instead of state (Waiman Long) [2000293] - locking/rwsem: Remove an unused parameter of rwsem_wake() (Waiman Long) [2000293] - locking/mutex: Add MUTEX_WARN_ON (Waiman Long) [2000293] - locking/mutex: Introduce __mutex_trylock_or_handoff() (Waiman Long) [2000293] - locking/mutex: Fix HANDOFF condition (Waiman Long) [2000293] - locking/mutex: Use try_cmpxchg() (Waiman Long) [2000293] - sched: Change task_struct::state (Waiman Long) [2000293] - isdn/hisax: Use get_current_state() (Waiman Long) [2000293] - sched,timer: Use __set_current_state() (Waiman Long) [2000293] - sched: Add get_current_state() (Waiman Long) [2000293] - sched,perf,kvm: Fix preemption condition (Waiman Long) [2000293] - sched: Introduce task_is_running() (Waiman Long) [2000293] - sched: Unbreak wakeups (Waiman Long) [2000293] - seqlock: Remove trailing semicolon in macros (Waiman Long) [2000293] - locking/mutex: clear MUTEX_FLAGS if wait_list is empty due to signal (Waiman Long) [2000293] - ptrace: make ptrace() fail if the tracee changed its pid unexpectedly (Waiman Long) [2000293] - sched: Rename sched_info_{queued,dequeued} (Waiman Long) [2000293] - locking/rwsem: Fix comment typo (Waiman Long) [2000293] - bpf: runqslower: Use task local storage (Waiman Long) [2000293] - lib/test_lockup.c: minimum fix to get it compiled on PREEMPT_RT (Waiman Long) [2000293] - seqlock: kernel-doc: Specify when preemption is automatically altered (Waiman Long) [2000293] - seqlock: Prefix internal seqcount_t-only macros with a "do_" (Waiman Long) [2000293] - rcu: Check and report missed fqs timer wakeup on RCU stall (Waiman Long) [2000293] - softirq: Move related code into one section (Waiman Long) [2000293] - seqlock: Rename __seqprop() users (Waiman Long) [2000293] - seqlock: avoid -Wshadow warnings (Waiman Long) [2000293] - locking/seqlocks: Fix kernel-doc warnings (Waiman Long) [2000293] - locking/seqlock: Tweak DEFINE_SEQLOCK() kernel doc (Waiman Long) [2000293] - seqlock: Unbreak lockdep (Waiman Long) [2000293] - seqlock: PREEMPT_RT: Do not starve seqlock_t writers (Waiman Long) [2000293] - seqlock: seqcount_LOCKNAME_t: Introduce PREEMPT_RT support (Waiman Long) [2000293] - seqlock: seqcount_t: Implement all read APIs as statement expressions (Waiman Long) [2000293] - seqlock: Use unique prefix for seqcount_t property accessors (Waiman Long) [2000293] - seqlock: seqcount_LOCKNAME_t: Standardize naming convention (Waiman Long) [2000293] - seqlock: seqcount latch APIs: Only allow seqcount_latch_t (Waiman Long) [2000293] - rbtree_latch: Use seqcount_latch_t (Waiman Long) [2000293] - x86/tsc: Use seqcount_latch_t (Waiman Long) [2000293] - timekeeping: Use seqcount_latch_t (Waiman Long) [2000293] - time/sched_clock: Mark sched_clock_read_begin/retry() as notrace (Waiman Long) [2000293] - time/sched_clock: Use raw_read_seqcount_latch() (Waiman Long) [2000293] - time/sched_clock: Use raw_read_seqcount_latch() during suspend (Waiman Long) [2000293] - time/sched_clock: Use seqcount_latch_t (Waiman Long) [2000293] - sched_clock: Expose struct clock_read_data (Waiman Long) [2000293] - timers/sched_clock: Include local timekeeping.h for missing declarations (Waiman Long) [2000293] - sched/clock: Move sched clock initialization and merge with generic clock (Waiman Long) [2000293] - userfaultfd: simplify fault handling (Waiman Long) [2000293] - rwsem: fix commas in initialisation (Waiman Long) [2000293] - lib/test_lockup.c: make test_inode static (Waiman Long) [2000293] - genirq: Provide irq_enter/exit_rcu() (Waiman Long) [2000293] - lib/test_lockup.c: add parameters for locking generic vfs locks (Waiman Long) [2000293] - lib/test_lockup.c: fix spelling mistake "iteraions" -> "iterations" (Waiman Long) [2000293] - lib/test_lockup: test module to generate lockups (Waiman Long) [2000293] - x86/tsc: Move inline keyword to the beginning of function declarations (Waiman Long) [2000293] - softirq: Don't skip softirq execution when softirq thread is parking (Waiman Long) [2000293] - sched/core: Convert task_struct.stack_refcount to refcount_t (Waiman Long) [2000293] - kernel/hung_task.c: break RCU locks based on jiffies (Waiman Long) [2000293] - x86/process: Avoid unnecessary NULL check in get_wchan() (Waiman Long) [2000293] - kernel/rwsem: Remove ifdef __init_rwsem code from rwsem.c (Waiman Long) [2000293] - misc: hpilo: map iLO shared memory by PCI revision id (Joseph Szczypek) [1985076] - misc: hpilo: MAINTAINERS: add entry for hpilo (Joseph Szczypek) [1985076] - misc: hpilo: avoid a useless memset (Joseph Szczypek) [1985076] - misc: hpilo: switch from 'pci_' to 'dma_' API (Joseph Szczypek) [1985076] - hpilo: Replace one-element array with flexible-array member (Joseph Szczypek) [1985076] - perf flamegraph: flamegraph.py script improvements (Michael Petlan) [2010269]- ceph: skip existing superblocks that are blocklisted or shut down when mounting (Jeffrey Layton) [2011462] - cpufreq: intel_pstate: Combine ->stop_cpu() and ->offline() (David Arcari) [2003695] - cpufreq: intel_pstate: Add Cometlake support in no-HWP mode (David Arcari) [2003695] - cpufreq: intel_pstate: Add Icelake servers support in no-HWP mode (David Arcari) [2003695] - i2c: i801: Add support for Intel Alder Lake PCH-M (David Arcari) [1929497] - i2c: i801: Add Block Write-Block Read Process Call support (David Arcari) [1929497] - pinctrl: tigerlake: Add Alder Lake-M ACPI ID (David Arcari) [1929501] - x86/microcode: Check for offline CPUs before requesting new microcode (Puneet Sethi) [1971878] - x86/resctrl: Fix a maybe-uninitialized build warning treated as error (Terry Bowman) [1994090] - x86/resctrl: Fix default monitoring groups reporting (Terry Bowman) [1994090] - PCI: Remove WARN_ON(in_interrupt()) (Myron Stowe) [1993262] - PCI: Apply CONFIG_PCI_DEBUG to entire drivers/pci hierarchy (Myron Stowe) [1993262] - PCI: Add Silicom Denmark vendor ID (Myron Stowe) [1993262] - PCI: Align checking of syscall user config accessors (Myron Stowe) [1993262] - PCI: Decline to resize resources if boot config must be preserved (Myron Stowe) [1993262] - PCI/LINK: Remove bandwidth notification (Myron Stowe) [1993262] - PCI: acpiphp: Remove unused acpiphp_callback typedef (Myron Stowe) [1993262] - PCI: Fix pci_register_io_range() memory leak (Myron Stowe) [1993262] - EDAC/amd64: Add AMD family 17h model 60h PCI IDs (Aristeu Rozanski) [1930489] - EDAC/amd64: Add PCI device IDs for family 17h, model 70h (Aristeu Rozanski) [1930489] - scsi: bnx2fc: Remove meaningless bnx2fc_abts_cleanup() return value assignment (Nilesh Javali) [1983956] - scsi: bnx2fc: Return failure if io_req is already in ABTS processing (Nilesh Javali) [1983956] - scsi: target: ibmvscsi_tgt: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: Fix sense key for invalid EXTENDED COPY request (Maurizio Lombardi) [2004470] - scsi: target: Allows backend drivers to fail with specific sense codes (Maurizio Lombardi) [2004470] - scsi: target: pscsi: Fix possible null-pointer dereference in pscsi_complete_cmd() (Maurizio Lombardi) [2004470] - scsi: target: core: Drop unnecessary se_cmd ASC/ASCQ members (Maurizio Lombardi) [2004470] - scsi: target: sbp: Drop incorrect ASC/ASCQ usage (Maurizio Lombardi) [2004470] - scsi: target: core: Avoid using lun_tg_pt_gp after unlock (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Add new feature KEEP_BUF (Maurizio Lombardi) [2004470] - scsi: target: Remove redundant assignment to variable ret (Maurizio Lombardi) [2004470] - scsi: target: Fix NULL dereference on XCOPY completion (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Remove redundant continue statement (Maurizio Lombardi) [2004470] - scsi: target: Use standard SAM status types (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Fix boolreturn.cocci warnings (Maurizio Lombardi) [2004470] - scsi: target: core: Add the VERSION DESCRIPTOR fields to the INQUIRY data (Maurizio Lombardi) [2004470] - scsi: target: core: Bump INQUIRY VERSION to SPC-4 (Maurizio Lombardi) [2004470] - scsi: target: core: Add configurable IEEE Company ID attribute (Maurizio Lombardi) [2004470] - scsi: target: core: Unify NAA identifier generation (Maurizio Lombardi) [2004470] - scsi: target: sbp_target: Remove redundant assignment to pg_size (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Rename TCM_DEV_BIT_PLUGGED to TCMU_DEV_BIT_PLUGGED (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Drop unnecessary container_of() (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Switch to kmemdup_nul() (Maurizio Lombardi) [2004470] - scsi: target: iblock: Fix smp_processor_id() BUG messages (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Fix xarray RCU warning (Maurizio Lombardi) [2004470] - scsi: target: core: Avoid smp_processor_id() in preemptible code (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Return from tcmu_handle_completions() if cmd_id not found (Maurizio Lombardi) [2004470] - scsi: target: tcm_fc: Fix a kernel-doc header (Maurizio Lombardi) [2004470] - scsi: target: Shorten ALUA error messages (Maurizio Lombardi) [2004470] - scsi: target: Fix two format specifiers (Maurizio Lombardi) [2004470] - scsi: target: Compare explicitly with SAM_STAT_GOOD (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Make data_pages_per_blk changeable via configfs (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Replace block size definitions with new udev members (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Remove function tcmu_get_block_page() (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Support DATA_BLOCK_SIZE = N * PAGE_SIZE (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Prepare for PAGE_SIZE != DATA_BLOCK_SIZE (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Adjust names of variables and definitions (Maurizio Lombardi) [2004470] - scsi: target: Make the virtual LUN 0 device (Maurizio Lombardi) [2004470] - scsi: target: Add the DUMMY flag to rd_mcp (Maurizio Lombardi) [2004470] - scsi: target: Fix htmldocs warning in target_submit_prep() (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Adjust parameter in call to tcmu_blocks_release() (Maurizio Lombardi) [2004470] - scsi: target: core: file: Don't duplicate memset(0xff) (Maurizio Lombardi) [2004470] - scsi: target: core: pr: Initialize arrays at declaration time (Maurizio Lombardi) [2004470] - scsi: target: configfs: Initialize arrays at declaration time (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Initialize arrays at declaration time (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Remove unused macro PRINT_BUF (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Remove unused macro TEXT_LEN (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Remove unused macro ISCSI_INST_LAST_FAILURE_TYPE (Maurizio Lombardi) [2004470] - scsi: target: core: Remove unused macros NONE and ISPRINT (Maurizio Lombardi) [2004470] - scsi: target: core: Get rid of warning in compare_and_write_do_cmp() (Maurizio Lombardi) [2004470] - scsi: target: pscsi: Remove unused macro ISPRINT (Maurizio Lombardi) [2004470] - scsi: target: pscsi: Fix warning in pscsi_complete_cmd() (Maurizio Lombardi) [2004470] - scsi: target: iblock: Fix type of logs_per_phys (Maurizio Lombardi) [2004470] - scsi: target: iblock: Trim line longer than 80 characters (Maurizio Lombardi) [2004470] - scsi: target: iblock: Remove an extra argument (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Use GFP_NOIO while handling cmds or holding cmdr_lock (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Replace radix_tree with XArray (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Replace IDR by XArray (Maurizio Lombardi) [2004470] - scsi: target: core: Make completion affinity configurable (Maurizio Lombardi) [2004470] - scsi: target: core: Flush submission work during TMR processing (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Add backend plug/unplug callouts (Maurizio Lombardi) [2004470] - scsi: target: iblock: Add backend plug/unplug callouts (Maurizio Lombardi) [2004470] - scsi: target: core: Fix backend plugging (Maurizio Lombardi) [2004470] - scsi: target: tcm_loop: Use LIO wq cmd submission helper (Maurizio Lombardi) [2004470] - scsi: target: tcm_loop: Use block cmd allocator for se_cmds (Maurizio Lombardi) [2004470] - scsi: target: core: Add workqueue based cmd submission (Maurizio Lombardi) [2004470] - scsi: target: core: Add gfp_t arg to target_cmd_init_cdb() (Maurizio Lombardi) [2004470] - scsi: target: core: Remove target_submit_cmd_map_sgls() (Maurizio Lombardi) [2004470] - scsi: target: srpt: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: qla2xxx: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: tcm_qla2xxx: Remove BUG_ON(in_interrupt()) (Maurizio Lombardi) [2004470] - scsi: qla2xxx: Move sess cmd list/lock to driver (Maurizio Lombardi) [2004470] - scsi: qla2xxx: Drop TARGET_SCF_LOOKUP_LUN_FROM_TAG (Maurizio Lombardi) [2004470] - scsi: target: tcm_fc: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: sbp_target: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: tcm_loop: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: core: Break up target_submit_cmd_map_sgls() (Maurizio Lombardi) [2004470] - scsi: target: core: Rename transport_init_se_cmd() (Maurizio Lombardi) [2004470] - scsi: target: core: Drop kref_get_unless_zero() in target_get_sess_cmd() (Maurizio Lombardi) [2004470] - scsi: target: core: Move t_task_cdb initialization (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Fix zero tag inside a trace event (Maurizio Lombardi) [2004470] - nfsd: move fsnotify on client creation outside spinlock (Steve Dickson) [1719330] - nfsd: report client confirmation status in "info" file (Steve Dickson) [1719330] - nfsd: fsnotify on rmdir under nfsd/clients/ (Steve Dickson) [1719330]- mm: gup: fix potential pgmap refcnt leak in __gup_device_huge() (Waiman Long) [2009258] - mm/gup: check for isolation errors (Waiman Long) [2009258] - mm/gup: return an error on migration failure (Waiman Long) [2009258] - mm/gup: check every subpage of a compound page during isolation (Waiman Long) [2009258] - mm/gup: don't pin migrated cma pages in movable zone (Waiman Long) [2009258] - mm/gup: add a range variant of unpin_user_pages_dirty_lock() (Waiman Long) [2009258] - mm/gup: decrement head page once for group of subpages (Waiman Long) [2009258] - mm/gup: add compound page list iterator (Waiman Long) [2009258] - mm/gup: protect unpin_user_pages() against npages==-ERRNO (Waiman Long) [2009258] - mm, memcg: remove unused functions (Waiman Long) [2008341] - mm,vmscan: fix divide by zero in get_scan_count (Waiman Long) [2008341] - mm: memcontrol: fix occasional OOMs due to proportional memory.low reclaim (Waiman Long) [2008341] - mm/memcg: fix incorrect flushing of lruvec data in obj_stock (Waiman Long) [2008341] - mm/memcg: fix NULL pointer dereference in memcg_slab_free_hook() (Waiman Long) [2008341] - mm: memcontrol: fix blocking rstat function called from atomic cgroup1 thresholding code (Waiman Long) [2008341] - cgroup: rstat: fix A-A deadlock on 32bit around u64_stats_sync (Waiman Long) [2008341] - percpu: flush tlb in pcpu_reclaim_populated() (Waiman Long) [2008341] - mm/memcontrol.c: fix kerneldoc comment for mem_cgroup_calculate_protection (Waiman Long) [2008341] - memcontrol: use flexible-array member (Waiman Long) [2008341] - mm: vmscan: remove noinline_for_stack (Waiman Long) [2008341] - mm: memcontrol: move obj_cgroup_uncharge_pages() out of css_set_lock (Waiman Long) [2008341] - mm: memcontrol: simplify the logic of objcg pinning memcg (Waiman Long) [2008341] - mm: memcontrol: rename lruvec_holds_page_lru_lock to page_matches_lruvec (Waiman Long) [2008341] - mm: memcontrol: simplify lruvec_holds_page_lru_lock (Waiman Long) [2008341] - mm: memcontrol: remove the pgdata parameter of mem_cgroup_page_lruvec (Waiman Long) [2008341] - mm: memcontrol: bail out early when !mm in get_mem_cgroup_from_mm (Waiman Long) [2008341] - mm: memcontrol: fix page charging in page replacement (Waiman Long) [2008341] - percpu: optimize locking in pcpu_balance_workfn() (Waiman Long) [2008341] - percpu: initialize best_upa variable (Waiman Long) [2008341] - percpu: rework memcg accounting (Waiman Long) [2008341] - mm, memcg: introduce mem_cgroup_kmem_disabled() (Waiman Long) [2008341] - mm, memcg: mark cgroup_memory_nosocket, nokmem and noswap as __ro_after_init (Waiman Long) [2008341] - mm: vmscan: shrink deferred objects proportional to priority (Waiman Long) [2008341] - mm: memcontrol: reparent nr_deferred when memcg offline (Waiman Long) [2008341] - mm: vmscan: don't need allocate shrinker->nr_deferred for memcg aware shrinkers (Waiman Long) [2008341] - mm: vmscan: use per memcg nr_deferred of shrinker (Waiman Long) [2008341] - mm: vmscan: add per memcg shrinker nr_deferred (Waiman Long) [2008341] - mm: vmscan: use a new flag to indicate shrinker is registered (Waiman Long) [2008341] - mm: vmscan: add shrinker_info_protected() helper (Waiman Long) [2008341] - mm: memcontrol: rename shrinker_map to shrinker_info (Waiman Long) [2008341] - mm: vmscan: use kvfree_rcu instead of call_rcu (Waiman Long) [2008341] - mm: vmscan: remove memcg_shrinker_map_size (Waiman Long) [2008341] - mm: vmscan: use shrinker_rwsem to protect shrinker_maps allocation (Waiman Long) [2008341] - mm: vmscan: consolidate shrinker_maps handling code (Waiman Long) [2008341] - mm: vmscan: use nid from shrink_control for tracepoint (Waiman Long) [2008341] - linux/memcontrol.h: remove duplicate struct declaration (Waiman Long) [2008341] - memcg: charge before adding to swapcache on swapin (Waiman Long) [2008341] - kselftests: cgroup: update kmem test for new vmstat implementation (Waiman Long) [2008341] - mm: memcontrol: consolidate lruvec stat flushing (Waiman Long) [2008341] - mm: memcontrol: switch to rstat (Waiman Long) [2008341] - cgroup: rstat: punt root-level optimization to individual controllers (Waiman Long) [2008341] - cgroup: rstat: support cgroup1 (Waiman Long) [2008341] - mm: memcontrol: privatize memcg_page_state query functions (Waiman Long) [2008341] - mm: memcontrol: kill mem_cgroup_nodeinfo() (Waiman Long) [2008341] - memcg: enable memcg oom-kill for __GFP_NOFAIL (Waiman Long) [2008341] - memcg: cleanup root memcg checks (Waiman Long) [2008341] - mm: memcontrol: fix kernel stack account (Waiman Long) [2008341] - mm: page-writeback: simplify memcg handling in test_clear_page_writeback() (Waiman Long) [2008341] - percpu: implement partial chunk depopulation (Waiman Long) [2008341] - percpu: use pcpu_free_slot instead of pcpu_nr_slots - 1 (Waiman Long) [2008341] - percpu: factor out pcpu_check_block_hint() (Waiman Long) [2008341] - percpu: split __pcpu_balance_workfn() (Waiman Long) [2008341] - percpu: fix a comment about the chunks ordering (Waiman Long) [2008341] - mm/compaction: remove rcu_read_lock during page compaction (Waiman Long) [2008341] - mm/vmscan.c: make lruvec_lru_size() static (Waiman Long) [2008341] - include/linux/mm_inline.h: fold __update_lru_size() into its sole caller (Waiman Long) [2008341] - include/linux/mm_inline.h: fold page_lru_base_type() into its sole caller (Waiman Long) [2008341] - mm: VM_BUG_ON lru page flags (Waiman Long) [2008341] - mm: add __clear_page_lru_flags() to replace page_off_lru() (Waiman Long) [2008341] - mm/swap.c: don't pass "enum lru_list" to del_page_from_lru_list() (Waiman Long) [2008341] - mm/swap.c: don't pass "enum lru_list" to trace_mm_lru_insertion() (Waiman Long) [2008341] - mm: don't pass "enum lru_list" to lru list addition functions (Waiman Long) [2008341] - include/linux/mm_inline.h: shuffle lru list addition and deletion functions (Waiman Long) [2008341] - mm/vmscan.c: use add_page_to_lru_list() (Waiman Long) [2008341] - mm: fix VM_BUG_ON(PageTail) and BUG_ON(PageWriteback) (Waiman Long) [2008341] - mm: remove superfluous __ClearPageActive() (Waiman Long) [2008341] - mm, memcg: decouple e{low,min} state mutations from protection checks (Waiman Long) [2008341] - Revert "cgroup: Add memory barriers to plug cgroup_rstat_updated() race window" (Waiman Long) [2008341] - mm/memcontrol.c: allocate shrinker_map on appropriate NUMA node (Waiman Long) [2008341] - include/bitmap.h: add new functions to documentation (Waiman Long) [2008341] - include/bitmap.h: add missing parameter in docs (Waiman Long) [2008341] - bitmap: genericize percpu bitmap region iterators (Waiman Long) [2008341] - cgroup, rstat: Don't flush subtree root unless necessary (Waiman Long) [2008341] - mm/memcg: Move mem_cgroup kABI compatibility structure into rh_kabi_memcg.h (Waiman Long) [2008341] - mm/swap: consider max pages in iomap_swapfile_add_extent (Brian Foster) [1969326] - mm/slub: Fix backtrace of objects to handle redzone adjustment (Waiman Long) [2008340] - powerpc/powernv: Fix CPU idle to be called with IRQs disabled (Waiman Long) [2008340] - torture: Fix grace-period rate output (Waiman Long) [2008340] - rcu: Fix kfree_rcu() docbook errors (Waiman Long) [2008340] - rcu/nocb: Perform deferred wake up before last idle's need_resched() check (Waiman Long) [2008340] - rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers (Waiman Long) [2008340] - idle: Prevent late-arriving interrupts from disrupting offline (Waiman Long) [2008340] - torture: Maintain torture-specific set of CPUs-online books (Waiman Long) [2008340] - torture: Clean up after torture-test CPU hotplugging (Waiman Long) [2008340] - rcutorture: Make object_debug also double call_rcu() heap object (Waiman Long) [2008340] - torture: Throttle VERBOSE_TOROUT_*() output (Waiman Long) [2008340] - torture: Make refscale throttle high-rate printk()s (Waiman Long) [2008340] - rcutorture: Use hrtimers for reader and writer delays (Waiman Long) [2008340] - torture: Make stutter use torture_hrtimeout_*() functions (Waiman Long) [2008340] - rcutorture: Use torture_hrtimeout_jiffies() to avoid busy-waits (Waiman Long) [2008340] - torture: Add fuzzed hrtimer-based sleep functions (Waiman Long) [2008340] - rcutorture: Make rcu_torture_fakewriter() use blocking wait primitives (Waiman Long) [2008340] - rcutorture: Make synctype[] and nsynctype be static global (Waiman Long) [2008340] - rcutorture: Require entire stutter period be post-boot (Waiman Long) [2008340] - refscale: Allow summarization of verbose output (Waiman Long) [2008340] - torture: Allow standalone kvm-recheck.sh run detect --trust-make (Waiman Long) [2008340] - torture: Simplify exit-code plumbing for kvm-recheck.sh and kvm-find-errors.sh (Waiman Long) [2008340] - torture: s/STOP/STOP.1/ to avoid scenario collision (Waiman Long) [2008340] - torture: Add --dryrun batches to help schedule a distributed run (Waiman Long) [2008340] - torture: Stop hanging on panic (Waiman Long) [2008340] - torture: Add kvm.sh test summary to end of log file (Waiman Long) [2008340] - torture: Make kvm.sh include --kconfig arguments in CPU calculation (Waiman Long) [2008340] - torture: Make kvm.sh return failure upon build failure (Waiman Long) [2008340] - torture: Print run duration at end of kvm.sh execution (Waiman Long) [2008340] - torture: Make kvm.sh arguments accumulate (Waiman Long) [2008340] - torture: Make kvm.sh "Test Summary" date be end of test (Waiman Long) [2008340] - tools/rcutorture: Make identify_qemu_vcpus() independent of local language (Waiman Long) [2008340] - torture: Add config2csv.sh script to compare torture scenarios (Waiman Long) [2008340] - torture: Prepare for splitting qemu execution from kvm-test-1-run.sh (Waiman Long) [2008340] - torture: Allow kvm.sh --datestamp to specify subdirectories (Waiman Long) [2008340] - torture: Make kvm.sh "--dryrun sched" summarize number of builds (Waiman Long) [2008340] - torture: Make kvm.sh "--dryrun sched" summarize number of batches (Waiman Long) [2008340] - torture: Make --kcsan specify lockdep (Waiman Long) [2008340] - rcu: Do not NMI offline CPUs (Waiman Long) [2008340] - rcu: For RCU grace-period kthread starvation, dump last CPU it ran on (Waiman Long) [2008340] - rcu: Mark obtuse portion of stall warning as internal debug (Waiman Long) [2008340] - scftorture: Add debug output for wrong-CPU warning (Waiman Long) [2008340] - rcutorture: Add testing for RCU's global memory ordering (Waiman Long) [2008340] - rcutorture: Add reader-side tests of polling grace-period API (Waiman Long) [2008340] - rcutorture: Add writer-side tests of polling grace-period API (Waiman Long) [2008340] - rcutorture: Prepare for ->start_gp_poll and ->poll_gp_state (Waiman Long) [2008340] - srcu: Add comment explaining cookie overflow/wrap (Waiman Long) [2008340] - srcu: Document polling interfaces for Tree SRCU grace periods (Waiman Long) [2008340] - srcu: Provide polling interfaces for Tree SRCU grace periods (Waiman Long) [2008340] - srcu: Provide polling interfaces for Tiny SRCU grace periods (Waiman Long) [2008340] - srcu: Provide internal interface to start a Tree SRCU grace period (Waiman Long) [2008340] - srcu: Provide internal interface to start a Tiny SRCU grace period (Waiman Long) [2008340] - srcu: Make Tiny SRCU use multi-bit grace-period counter (Waiman Long) [2008340] - rcu: Enable rcu_normal_after_boot unconditionally for RT (Waiman Long) [2008340] - rcu: Unconditionally use rcuc threads on PREEMPT_RT (Waiman Long) [2008340] - rcu: Make RCU_BOOST default on CONFIG_PREEMPT_RT (Waiman Long) [2008340] - rcu: Eliminate the __kvfree_rcu() macro (Waiman Long) [2008340] - rcu: Introduce kfree_rcu() single-argument macro (Waiman Long) [2008340] - rcu: Record kvfree_call_rcu() call stack for KASAN (Waiman Long) [2008340] - rcu: Do any deferred nocb wakeups at CPU offline time (Waiman Long) [2008340] - rcu/nocb: Code-style nits in callback-offloading toggling (Waiman Long) [2008340] - rcu/nocb: Add nocb CB kthread list to show_rcu_nocb_state() output (Waiman Long) [2008340] - rcu/nocb: Add grace period and task state to show_rcu_nocb_state() output (Waiman Long) [2008340] - tools/rcutorture: Support nocb toggle in TREE01 (Waiman Long) [2008340] - rcutorture: Test runtime toggling of CPUs' callback offloading (Waiman Long) [2008340] - cpu/hotplug: Add lockdep_is_cpus_held() (Waiman Long) [2008340] - rcu/nocb: Locally accelerate callbacks as long as offloading isn't complete (Waiman Long) [2008340] - rcu/nocb: Process batch locally as long as offloading isn't complete (Waiman Long) [2008340] - rcu/nocb: Only cond_resched() from actual offloaded batch processing (Waiman Long) [2008340] - rcu/nocb: Set SEGCBLIST_SOFTIRQ_ONLY at the very last stage of de-offloading (Waiman Long) [2008340] - rcu/nocb: Flush bypass before setting SEGCBLIST_SOFTIRQ_ONLY (Waiman Long) [2008340] - rcu/nocb: Shutdown nocb timer on de-offloading (Waiman Long) [2008340] - rcu/nocb: Re-offload support (Waiman Long) [2008340] - rcu/nocb: De-offloading GP kthread (Waiman Long) [2008340] - rcu/nocb: Don't deoffload an offline CPU with pending work (Waiman Long) [2008340] - rcu/nocb: De-offloading CB kthread (Waiman Long) [2008340] - rcu/nocb: Always init segcblist on CPU up (Waiman Long) [2008340] - rcu/nocb: Provide basic callback offloading state machine bits (Waiman Long) [2008340] - rcu/nocb: Turn enabled/offload states into a common flag (Waiman Long) [2008340] - rcu/segcblist: Add debug checks for segment lengths (Waiman Long) [2008340] - rcu/trace: Add tracing for how segcb list changes (Waiman Long) [2008340] - rcu/tree: segcblist: Remove redundant smp_mb()s (Waiman Long) [2008340] - rcu/segcblist: Add counters to segcblist datastructure (Waiman Long) [2008340] - rcu/segcblist: Add additional comments to explain smp_mb() (Waiman Long) [2008340] - rcu/tree: Make rcu_do_batch count how many callbacks were executed (Waiman Long) [2008340] - rcu: Make call_rcu() print mem_dump_obj() info for double-freed callback (Waiman Long) [2008340] - mm: Make mem_obj_dump() vmalloc() dumps include start and length (Waiman Long) [2008340] - mm: Make mem_dump_obj() handle vmalloc() memory (Waiman Long) [2008340] - mm: Make mem_dump_obj() handle NULL and zero-sized pointers (Waiman Long) [2008340] - mm: Add mem_dump_obj() to print source of memory block (Waiman Long) [2008340] - rcu: Make TASKS_TRACE_RCU select IRQ_WORK (Waiman Long) [2008340] - rcu-tasks: Add RCU-tasks self tests (Waiman Long) [2008340] - rcu-tasks: Move RCU-tasks initialization to before early_initcall() (Waiman Long) [2008340] - rcu: Add lockdep_assert_irqs_disabled() to raw_spin_unlock_rcu_node() macros (Waiman Long) [2008340] - rcu: Add lockdep_assert_irqs_disabled() to rcu_sched_clock_irq() and callees (Waiman Long) [2008340] - rcutorture: Don't do need_resched() testing if ->sync is NULL (Waiman Long) [2008340] - scftorture: Add full-test stutter capability (Waiman Long) [2008340] - torture: Allow alternative forms of kvm.sh command-line arguments (Waiman Long) [2008340] - rcutorture: Small code cleanups (Waiman Long) [2008340] - torture: Accept time units on kvm.sh --duration argument (Waiman Long) [2008340] - rcutorture: Make stutter_wait() caller restore priority (Waiman Long) [2008340] - torture: Force weak-hashed pointers on console log (Waiman Long) [2008340] - rcutorture: Prevent hangs for invalid arguments (Waiman Long) [2008340] - torture: Prevent jitter processes from delaying failed run (Waiman Long) [2008340] - rcutorture: Adjust scenarios SRCU-t and SRCU-u to make kconfig happy (Waiman Long) [2008340] - refscale: Prevent hangs for invalid arguments (Waiman Long) [2008340] - rcuscale: Prevent hangs for invalid arguments (Waiman Long) [2008340] - torture: Exclude "NOHZ tick-stop error" from fatal errors (Waiman Long) [2008340] - rcuscale: Avoid divide by zero (Waiman Long) [2008340] - rcuscale: Add RCU Tasks Trace (Waiman Long) [2008340] - scftorture: Add an alternative IPI vector (Waiman Long) [2008340] - torture: Make torture_stutter() use hrtimer (Waiman Long) [2008340] - torture: Periodically pause in stutter_wait() (Waiman Long) [2008340] - torture: Don't kill gdb sessions (Waiman Long) [2008340] - refscale: Bounds-check module parameters (Waiman Long) [2008340] - rcu-tasks: Make the units of ->init_fract be jiffies (Waiman Long) [2008340] - rcutorture: Make grace-period kthread report match RCU flavor being tested (Waiman Long) [2008340] - rcu-tasks: Convert rcu_tasks_wait_gp() for-loop to while-loop (Waiman Long) [2008340] - rcutorture: Make preemptible TRACE02 enable lockdep (Waiman Long) [2008340] - srcu: Use a more appropriate lockdep helper (Waiman Long) [2008340] - srcu: Take early exit on memory-allocation failure (Waiman Long) [2008340] - rcu: Fix a typo in rcu_blocking_is_gp() header comment (Waiman Long) [2008340] - rcu: Prevent lockdep-RCU splats on lock acquisition/release (Waiman Long) [2008340] - rcu/tree: nocb: Avoid raising softirq for offloaded ready-to-execute CBs (Waiman Long) [2008340] - rcu/tree: Make struct kernel_param_ops definitions const (Waiman Long) [2008340] - rcu/tree: Add a warning if CPU being onlined did not report QS already (Waiman Long) [2008340] - rcu: Clarify nocb kthreads naming in RCU_NOCB_CPU config (Waiman Long) [2008340] - rcu: Fix single-CPU check in rcu_blocking_is_gp() (Waiman Long) [2008340] - rcu: Implement rcu_segcblist_is_offloaded() config dependent (Waiman Long) [2008340] - list.h: Update comment to explicitly note circular lists (Waiman Long) [2008340] - rcu: Panic after fixed number of stalls (Waiman Long) [2008340] - x86/smpboot: Move rcu_cpu_starting() earlier (Waiman Long) [2008340] - torture: Replace cpu_up/down() with add/remove_cpu() (Waiman Long) [2008340] - PCI/PTM: Remove error message at boot (Myron Stowe) [1993252] - PCI: Mark AMD Navi14 GPU ATS as broken (Myron Stowe) [1993252] - PCI: vmd: Update type of the __iomem pointers (Myron Stowe) [1993252] - PCI: Unify ECAM constants in native PCI Express drivers (Myron Stowe) [1993252] - PCI: Add function 1 DMA alias quirk for Marvell 9215 SATA controller (Myron Stowe) [1993252] - PCI: Mark AMD Raven iGPU ATS as broken in some platforms (Myron Stowe) [1993252] - PCI: Disable PTM during suspend to save power (Myron Stowe) [1993252] - PCI/PTM: Save/restore Precision Time Measurement Capability for suspend/resume (Myron Stowe) [1993252] - PCI: Add sysfs attribute for device power state (Myron Stowe) [1993252] - PCI/MSI: Set device flag indicating only 32-bit MSI support (Myron Stowe) [1993252] - PCI/MSI: Move MSI/MSI-X flags updaters to msi.c (Myron Stowe) [1993252] - PCI/MSI: Move MSI/MSI-X init to msi.c (Myron Stowe) [1993252] - PCI: Use predefined Pericom Vendor ID (Myron Stowe) [1993252] - PCI: Disable MSI for Pericom PCIe-USB adapter (Myron Stowe) [1993252] - PCI: Reduce pci_set_cacheline_size() message to debug level (Myron Stowe) [1993252] - PCI: Remove unused HAVE_PCI_SET_MWI (Myron Stowe) [1993252] - PCI: Fix overflow in command-line resource alignment requests (Myron Stowe) [1993252] - PCI: Bounds-check command-line resource alignment requests (Myron Stowe) [1993252] - PCI: Fix kernel-doc markup (Myron Stowe) [1993252] - PCI: ibmphp: Remove unneeded break (Myron Stowe) [1993252] - PCI/ACPI: Fix companion lookup for device 0 on the root bus (Myron Stowe) [1993252] - PCI: Keep both device and resource name for config space remaps (Myron Stowe) [1993252] - PCI: Return u16 from pci_find_ext_capability() and similar (Myron Stowe) [1993252] - PCI: Return u8 from pci_find_capability() and similar (Myron Stowe) [1993252] - PCI: Avoid duplicate IDs in driver dynamic IDs list (Myron Stowe) [1993252] - PCI: Move pci_match_device() ahead of new_id_store() (Myron Stowe) [1993252] - PCI: Decode PCIe 64 GT/s link speed (Myron Stowe) [1993252] - PCI: host-generic: Support building as modules (Myron Stowe) [1993252] - ata: sata_nv: Fix retrieving of active qcs (Tomas Henzl) [1921465] - ata: pata_ns87415.c: Document support on parisc with superio chip (Tomas Henzl) [1921465] - ata: fix some kernel-doc markups (Tomas Henzl) [1921465] - sata, highbank: simplify the return expression of ahci_highbank_suspend (Tomas Henzl) [1921465] - libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks (Tomas Henzl) [1921465] - ata: ahci: use ata_link_info() instead of ata_link_printk() (Tomas Henzl) [1921465] - libata: Use per port sync for detach (Tomas Henzl) [1921465] - ata/libata: Fix usage of page address by page_address in ata_scsi_mode_select_xlat function (Tomas Henzl) [1921465] - sata_rcar: handle pm_runtime_get_sync failure cases (Tomas Henzl) [1921465] - ata: sata_inic162x fix a spelling issue (Tomas Henzl) [1921465] - ata: libata-core: fix a doc warning (Tomas Henzl) [1921465] - ata: ahci: Add sysfs attribute to show remapped NVMe device count (Tomas Henzl) [1921465] - ata: ahci-imx: remove redundant assignment to ret (Tomas Henzl) [1921465] - libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set (Tomas Henzl) [1921465] - ata: move ata_eh_analyze_ncq_error() & co. to libata-sata.c (Tomas Henzl) [1921465] - ata: start separating SATA specific code from libata-eh.c (Tomas Henzl) [1921465] - ata: move ata_sas_*() to libata-sata.c (Tomas Henzl) [1921465] - ata: start separating SATA specific code from libata-scsi.c (Tomas Henzl) [1921465] - ata: move sata_deb_timing_*() to libata-sata.c (Tomas Henzl) [1921465] - ata: move ata_qc_complete_multiple() to libata-sata.c (Tomas Henzl) [1921465] - ata: move sata_link_hardreset() to libata-sata.c (Tomas Henzl) [1921465] - ata: move sata_link_{debounce,resume}() to libata-sata.c (Tomas Henzl) [1921465] - ata: move *sata_set_spd*() to libata-sata.c (Tomas Henzl) [1921465] - ata: move sata_scr_*() to libata-sata.c (Tomas Henzl) [1921465] - ata: start separating SATA specific code from libata-core.c (Tomas Henzl) [1921465] - ata: fix CodingStyle issues in PATA timings code (Tomas Henzl) [1921465] - ata: remove EXPORT_SYMBOL_GPL()s not used by modules (Tomas Henzl) [1921465] - ata: move EXPORT_SYMBOL_GPL()s close to exported code (Tomas Henzl) [1921465] - ata: optimize ata_scsi_rbuf[] size (Tomas Henzl) [1921465] - ata: optimize struct ata_force_param size (Tomas Henzl) [1921465] - ata: use COMMAND_LINE_SIZE for ata_force_param_buf[] size (Tomas Henzl) [1921465] - ata: simplify ata_scsiop_inq_89() (Tomas Henzl) [1921465] - sata_promise: use ata_cable_sata() (Tomas Henzl) [1921465] - ata: make SATA_PMP option selectable only if any SATA host driver is enabled (Tomas Henzl) [1921465] - ata: expose ncq_enable_prio sysfs attribute only on NCQ capable hosts (Tomas Henzl) [1921465] - ata: remove stale maintainership information from core code (Tomas Henzl) [1921465] - libata: Assign OF node to the SCSI device (Tomas Henzl) [1921465] - libata: Remove extra scsi_host_put() in ata_scsi_add_hosts() (Tomas Henzl) [1921465] - libata: transport: Use scnprintf() for avoiding potential buffer overflow (Tomas Henzl) [1921465] - ata/acard_ahci: remove unused variable n_elem (Tomas Henzl) [1921465] - ata: ahci_brcm: BCM7216 reset is self de-asserting (Tomas Henzl) [1921465] - ata: ahci_brcm: Perform reset after obtaining resources (Tomas Henzl) [1921465] - ata: brcm: fix reset controller API usage (Tomas Henzl) [1921465] - ata: brcm: mark PM functions as __maybe_unused (Tomas Henzl) [1921465] - ata: ahci_brcm: Support BCM7216 reset controller name (Tomas Henzl) [1921465] - ata: ahci_brcm: Add a shutdown callback (Tomas Henzl) [1921465] - ata: ahci_brcm: Manage reset line during suspend/resume (Tomas Henzl) [1921465] - ata: ahci_brcm: Add missing clock management during recovery (Tomas Henzl) [1921465] - ata: ahci_brcm: BCM7425 AHCI requires AHCI_HFLAG_DELAY_ENGINE (Tomas Henzl) [1921465] - ata: ahci_brcm: Fix AHCI resources management (Tomas Henzl) [1921465] - ata: libahci_platform: Export again ahci_platform_able_phys() (Tomas Henzl) [1921465] - libata: Fix retrieving of active qcs (Tomas Henzl) [1921465] - ata: pata_artop: make arrays static const, makes object smaller (Tomas Henzl) [1921465] - ata_piix: remove open-coded dmi_match(DMI_OEM_STRING) (Tomas Henzl) [1921465] - ata: sata_mv, avoid trigerrable BUG_ON (Tomas Henzl) [1921465] - ata: make qc_prep return ata_completion_errors (Tomas Henzl) [1921465] - ata: define AC_ERR_OK (Tomas Henzl) [1921465] - libata: Ensure ata_port probe has completed before detach (Tomas Henzl) [1921465] - ahci: tegra: use regulator_bulk_set_supply_names() (Tomas Henzl) [1921465] - ahci: Add support for Amazon's Annapurna Labs SATA controller (Tomas Henzl) [1921465] - ata: libahci_platform: Fix regulator_get_optional() misuse (Tomas Henzl) [1921465] - ata: ahci-imx: Covert to use GPIO descriptor (Tomas Henzl) [1921465] - libata/ahci: Fix PCS quirk application (Tomas Henzl) [1921465] - libata/ahci: Drop PCS quirk for Denverton and beyond (Tomas Henzl) [1921465] - libata: switch remaining drivers to use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - sata_sil24: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - sata_qstor: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - sata_nv: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - sata_mv: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - pdc_adma: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - ahci: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - acard_ahci: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - libata: add SG safety checks in SFF pio transfers (Tomas Henzl) [1921465] - libata: have ata_scsi_rw_xlat() fail invalid passthrough requests (Tomas Henzl) [1921465] - ata: rb532_cf: Fix unused variable warning in rb532_pata_driver_probe (Tomas Henzl) [1921465] - ata: libahci: do not complain in case of deferred probe (Tomas Henzl) [1921465] - libata: zpodd: Fix small read overflow in zpodd_get_mech_type() (Tomas Henzl) [1921465] - ata: libahci_platform: remove redundant dev_err message (Tomas Henzl) [1921465] - drivers: ata: ahci_sunxi: Increased SATA/AHCI DMA TX/RX FIFOs (Tomas Henzl) [1921465] - libata: Drop firmware version check from the ST1000LM024 quirk (Tomas Henzl) [1921465] - ata: sata_sil24: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata:sata_qstor: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata: sata_nv: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata: pdc_adma: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata: libahci: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata: acard-ahci: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - libata: don't request sense data on !ZAC ATA devices (Tomas Henzl) [1921465] - libata: Extend quirks for the ST1000LM024 drives with NOLPM quirk (Tomas Henzl) [1921465] - sata_rcar: Remove ata_host_alloc() error printing (Tomas Henzl) [1921465] - libata: fix using DMA buffers on stack (Tomas Henzl) [1921465] - ata: libahci: Only warn for AHCI_HFLAG_MULTI_MSI set when genuine custom irq handler implemented (Tomas Henzl) [1921465] - libata: fix a typo in comment (Tomas Henzl) [1921465] - sata_rcar: fix deferred probing (Tomas Henzl) [1921465] - ata: sata_highbank: Convert to use GPIO descriptors (Tomas Henzl) [1921465] - sata_rcar: convert to SPDX identifiers (Tomas Henzl) [1921465] - ata: ep93xx: Use proper enums for directions (Tomas Henzl) [1921465] - ata: ahci_brcm: Allow using driver or DSL SoCs (Tomas Henzl) [1921465] - ata: ahci_brcm: Match BCM63138 compatible strings (Tomas Henzl) [1921465] - ata: ahci_brcm: Allow optional reset controller to be used (Tomas Henzl) [1921465] - libata: mask swap internal and hardware tag (Tomas Henzl) [1921465] - pata_atiixp: Remove unnecessary parentheses (Tomas Henzl) [1921465] - ata: ahci_sunxi: add support for r40 (Tomas Henzl) [1921465] - ata: ahci_platform: add support for PHY controller regulator (Tomas Henzl) [1921465] - ata: ahci_platform: add support for AHCI controller regulator (Tomas Henzl) [1921465] - libata: Use SMART LBAM/LBAH password defines (Tomas Henzl) [1921465] - ata: ahci: Convert to using pOFn instead of device_node.name (Tomas Henzl) [1921465] - ata: ftide010: Add a quirk for SQ201 (Tomas Henzl) [1921465] - ata: ahci_platform: enable to get and control reset (Tomas Henzl) [1921465] - ata: libahci_platform: add reset control support (Tomas Henzl) [1921465] - ata: add an extra argument to ahci_platform_get_resources() (Tomas Henzl) [1921465] - ata: sata_rcar: exclude setting of PHY registers in Gen3 (Tomas Henzl) [1921465] - ata: sata_rcar: really mask all interrupts on Gen2 and later (Tomas Henzl) [1921465] - ata: libahci: Allow reconfigure of DEVSLP register (Tomas Henzl) [1921465] - ata: libahci: Correct setting of DEVSLP register (Tomas Henzl) [1921465] - ata: ahci: Enable DEVSLP by default on x86 with SLP_S0 (Tomas Henzl) [1921465] - ata: ahci: Support state with min power but Partial low power state (Tomas Henzl) [1921465] - Revert "ata: ahci_platform: convert kcalloc to devm_kcalloc" (Tomas Henzl) [1921465] - ata: sata_rcar: Add rudimentary Runtime PM support (Tomas Henzl) [1921465] - ata: sata_rcar: Provide a short-hand for &pdev->dev (Tomas Henzl) [1921465] - ata: Only output sg element mapped number in verbose debug (Tomas Henzl) [1921465] - ata: Guard ata_scsi_dump_cdb() by ATA_VERBOSE_DEBUG (Tomas Henzl) [1921465] - ata: ahci_platform: convert kcalloc to devm_kcalloc (Tomas Henzl) [1921465] - ata: ahci_platform: convert kzallloc to kcalloc (Tomas Henzl) [1921465] - ata: ahci_platform: correct parameter documentation for ahci_platform_shutdown (Tomas Henzl) [1921465] - libata: remove ata_sff_data_xfer_noirq() (Tomas Henzl) [1921465] - scsi: target: Fix the pgr/alua_support_store functions (Maurizio Lombardi) [1995935] - sched/deadline: Fix missing clock update in migrate_task_rq_dl() (Phil Auld) [1992254] - sched/fair: Avoid a second scan of target in select_idle_cpu (Phil Auld) [1992254] - sched/fair: Use prev instead of new target as recent_used_cpu (Phil Auld) [1992254] - sched: Replace deprecated CPU-hotplug functions. (Phil Auld) [1992254] - sched/deadline: Fix reset_on_fork reporting of DL tasks (Phil Auld) [1992254] - sched/numa: Fix is_core_idle() (Phil Auld) [1992254] - sched/fair: Sync load_sum with load_avg after dequeue (Phil Auld) [1992254] - sched/fair: Fix CFS bandwidth hrtimer expiry type (Phil Auld) [1992254] - sched/fair: Ensure _sum and _avg values stay consistent (Phil Auld) [1992254] - sched/fair: Ensure that the CFS parent is added after unthrottling (Phil Auld) [1992254] - sched/rt: Fix Deadline utilization tracking during policy change (Phil Auld) [1992254] - sched/rt: Fix RT utilization tracking during policy change (Phil Auld) [1992254] - sched/fair: Age the average idle time (Phil Auld) [1992254] - wait: use LIST_HEAD_INIT() to initialize wait_queue_head (Phil Auld) [1992254] - sched: Optimize housekeeping_cpumask() in for_each_cpu_and() (Phil Auld) [1992254] - sched/fair: Fix util_est UTIL_AVG_UNCHANGED handling (Phil Auld) [1992254] - sched/pelt: Check that *_avg are null when *_sum are (Phil Auld) [1992254] - sched/fair: Correctly insert cfs_rq's to list on unthrottle (Phil Auld) [1992254] - sched/pelt: Ensure that *_sum is always synced with *_avg (Phil Auld) [1992254] - sched/fair: Return early from update_tg_cfs_load() if delta == 0 (Phil Auld) [1992254] - sched/fair: Make sure to update tg contrib for blocked load (Phil Auld) [1992254] - sched/fair: Keep load_avg and load_sum synced (Phil Auld) [1992254] - sched: Stop PF_NO_SETAFFINITY from being inherited by various init system threads (Phil Auld) [1992254] - sched: Fix a stale comment in pick_next_task() (Phil Auld) [1992254] - sched/fair: Fix ascii art by relpacing tabs (Phil Auld) [1992254] - tick/nohz: Call tick_nohz_task_switch() with interrupts disabled (Phil Auld) [1992254] - sched/fair: Fix clearing of has_idle_cores flag in select_idle_cpu() (Phil Auld) [1992254] - sched/core: Remove the pointless BUG_ON(!task) from wake_up_q() (Phil Auld) [1992254] - sched: Make the idle task quack like a per-CPU kthread (Phil Auld) [1992254] - sched/fair: Fix unfairness caused by missing load decay (Phil Auld) [1992254] - sched: Make nr_iowait_cpu() return 32-bit value (Phil Auld) [1992254] - sched: Make nr_iowait() return 32-bit value (Phil Auld) [1992254] - sched: Make nr_running() return 32-bit value (Phil Auld) [1992254] - sched/isolation: Reconcile rcu_nocbs= and nohz_full= (Phil Auld) [1992254] - sched/fair: Introduce a CPU capacity comparison helper (Phil Auld) [1992254] - sched/fair: Clean up active balance nr_balance_failed trickery (Phil Auld) [1992254] - sched/fair: Move update_nohz_stats() to the CONFIG_NO_HZ_COMMON block to simplify the code & fix an unused function warning (Phil Auld) [1992254] - sched/fair: Bring back select_idle_smt(), but differently (Phil Auld) [1992254] - sched,fair: Alternative sched_slice() (Phil Auld) [1992254] - sched/topology: Remove redundant cpumask_and() in init_overlap_sched_group() (Phil Auld) [1992254] - sched/numa: Allow runtime enabling/disabling of NUMA balance without SCHED_DEBUG (Phil Auld) [1992254] - sched/fair: Optimize test_idle_cores() for !SMT (Phil Auld) [1992254] - sched: Fix various typos (Phil Auld) [1992254] - sched: Remove unnecessary variable from schedule_tail() (Phil Auld) [1992254] - sched: Optimize __calc_delta() (Phil Auld) [1992254] - sched: Provide raw_spin_rq_*lock*() helpers (Phil Auld) [1992254] - sched/pelt: Fix task util_est update filtering (Phil Auld) [1992254] - sched/fair: use lsub_positive in cpu_util_next() (Phil Auld) [1992254] - sched/fair: Reduce the window for duplicated update (Phil Auld) [1992254] - sched/fair: Reorder newidle_balance pulled_task tests (Phil Auld) [1992254] - sched/fair: Remove unused parameter of update_nohz_stats (Phil Auld) [1992254] - sched/fair: Remove unused return of _nohz_idle_balance (Phil Auld) [1992254] - sched/fair: Remove update of blocked load from newidle_balance (Phil Auld) [1992254] - sched/topology: fix the issue groups don't span domain->span for NUMA diameter > 2 (Phil Auld) [1992254] - sched/fair: Merge select_idle_core/cpu() (Phil Auld) [1992254] - sched/fair: Remove select_idle_smt() (Phil Auld) [1992254] - sched/fair: Move avg_scan_cost calculations under SIS_PROP (Phil Auld) [1992254] - sched/fair: Remove SIS_AVG_CPU (Phil Auld) [1992254] - sched/eas: Don't update misfit status if the task is pinned (Phil Auld) [1992254] - sched/fair: Avoid stale CPU util_est value for schedutil in task dequeue (Phil Auld) [1992254] - sched/fair: Add a few assertions (Phil Auld) [1992254] - cpufreq: schedutil: Simplify sugov_update_next_freq() (Phil Auld) [1992254] - sched/topology: Warn when NUMA diameter > 2 (Phil Auld) [1992254] - sched: Use task_current() instead of 'rq->curr == p' (Phil Auld) [1992254] - sched/core: Allow try_invoke_on_locked_down_task() with irqs disabled (Phil Auld) [1992254] - sched/fair: Exclude the current CPU from find_new_ilb() (Phil Auld) [1992254] - rbtree, sched/deadline: Use rb_add_cached() (Phil Auld) [1992254] - rbtree, sched/fair: Use rb_add_cached() (Phil Auld) [1992254] - sched/isolation: Prefer housekeeping CPU in local node (Phil Auld) [1992254] - sched: Fix various typos in comments (Phil Auld) [1992254] - s390/qeth: fix deadlock during failing recovery (Sumanth Korikkar) [1984990] - s390/qeth: Fix deadlock in remove_discipline (Sumanth Korikkar) [1984990] - s390/qeth: fix NULL deref in qeth_clear_working_pool_list() (Sumanth Korikkar) [1984990] - s390/qdio: fix roll-back after timeout on ESTABLISH ccw (Sumanth Korikkar) [1984990] - s390/qdio: get rid of register asm (Sumanth Korikkar) [1984990] - s390/netiuvc: get rid of forward declarations (Sumanth Korikkar) [1984990] - s390/qeth: Consider dependency on SWITCHDEV module (Sumanth Korikkar) [1984990] - s390/qeth: shrink TX buffer struct (Sumanth Korikkar) [1984990] - s390/qeth: remove TX buffer's pointer to its queue (Sumanth Korikkar) [1984990] - s390/qeth: remove QAOB's pointer to its TX buffer (Sumanth Korikkar) [1984990] - s390/qeth: consolidate completion of pending TX buffers (Sumanth Korikkar) [1984990] - s390/qeth: use ethtool_sprintf() (Sumanth Korikkar) [1984990] - s390/qeth: unify the tracking of active cmds on ccw device (Sumanth Korikkar) [1984990] - s390/qeth: also use TX NAPI for non-IQD devices (Sumanth Korikkar) [1984990] - s390/qeth: count TX completion interrupts (Sumanth Korikkar) [1984990] - powerpc/stacktrace: Include linux/delay.h (Steve Best) [2010674] - powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi() (Steve Best) [2010674] - powerpc/xmon: Reset RCU and soft lockup watchdogs (Steve Best) [2010674] - bpf, sockmap: Fix sk->prot unhash op reset (Jiri Benc) [1947006] - xdp: fix xdp_return_frame() kernel BUG throw for page_pool memory model (Jiri Benc) [1947006] - selftests/bpf: Tests using bpf_check_mtu BPF-helper input mtu_len param (Jiri Benc) [1947006] - bpf: BPF-helper for MTU checking add length input (Jiri Benc) [1947006] - xsk: Remove dangling function declaration from header file (Jiri Benc) [1947006] - bpf: Remove blank line in bpf helper description comment (Jiri Benc) [1947006] - libbpf: Use AF_LOCAL instead of AF_INET in xsk.c (Jiri Benc) [1947006] - selftests/bpf: Tests using bpf_check_mtu BPF-helper (Jiri Benc) [1947006] - selftests/bpf: Use bpf_check_mtu in selftest test_cls_redirect (Jiri Benc) [1947006] - bpf: Drop MTU check when doing TC-BPF redirect to ingress (Jiri Benc) [1947006] - bpf: Add BPF-helper for MTU checking (Jiri Benc) [1947006] - bpf: bpf_fib_lookup return MTU value as output when looked up (Jiri Benc) [1947006] - bpf: Fix bpf_fib_lookup helper MTU check for SKB ctx (Jiri Benc) [1947006] - bpf: Remove MTU check in __bpf_skb_max_len (Jiri Benc) [1947006] - net, veth: Alloc skb in bulk for ndo_xdp_xmit (Jiri Benc) [1947006] - bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_UDP{4,6}_RECVMSG (Jiri Benc) [1947006] - selftests/bpf: Rewrite recvmsg{4,6} asm progs to c in test_sock_addr (Jiri Benc) [1947006] - bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_INET{4,6}_GET{PEER,SOCK}NAME (Jiri Benc) [1947006] - bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_UDP{4,6}_SENDMSG (Jiri Benc) [1947006] - selftests/bpf: Verify that rebinding to port < 1024 from BPF works (Jiri Benc) [1947006] - bpf: Allow rewriting to ports under ip_unprivileged_port_start (Jiri Benc) [1947006] - net: port < inet_prot_sock(net) --> inet_port_requires_bind_service(net, port) (Jiri Benc) [1947006] - net: inet_is_local_reserved_port() should return bool not int (Jiri Benc) [1947006] - libbpf, xsk: Select AF_XDP BPF program based on kernel version (Jiri Benc) [1947006] - xsk: Fold xp_assign_dev and __xp_assign_dev (Jiri Benc) [1947006] - xsk: Remove explicit_free parameter from __xsk_rcv() (Jiri Benc) [1947006] - bpf: Split cgroup_bpf_enabled per attach type (Jiri Benc) [1947006] - bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE (Jiri Benc) [1947006] - net, xdp: Introduce xdp_build_skb_from_frame utility routine (Jiri Benc) [1947006] - net, xdp: Introduce __xdp_build_skb_from_frame utility routine (Jiri Benc) [1947006] - bpf: Extend bind v4/v6 selftests for mark/prio/bindtoifindex (Jiri Benc) [1947006] - bpf: Allow to retrieve sol_socket opts from sock_addr progs (Jiri Benc) [1947006] - bpf: Replace fput with sockfd_put in sock map (Jiri Benc) [1947006] - tools: bpf: add SO_BINDTOIFINDEX to socket.h in tools (Jiri Benc) [1947006] - media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt() (Lucas Zampieri) [1956472] {CVE-2021-3542}- mm/hmm: make HMM_MIRROR an implicit option (Rafael Aquini) [1998534] - mm/hmm: allow HMM_MIRROR on all architectures with MMU (Rafael Aquini) [1998534] - mm: don't select MIGRATE_VMA_HELPER from HMM_MIRROR (Rafael Aquini) [1998534] - mm: sort out the DEVICE_PRIVATE Kconfig mess (Rafael Aquini) [1998534] - s390/ap/zcrypt: notify userspace with online, config and mode info (Stefan Schulze Frielinghaus) [1984895] - docs: livepatch: Fix a typo and remove the unnecessary gaps in a sentence (C. Erastus Toe) [1995447] - Documentation: livepatch: document reliable stacktrace (C. Erastus Toe) [1995447] - Documentation: livepatch: Convert to automatically generated contents (C. Erastus Toe) [1995447] - scsi: ibmvfc: Reinitialize sub-CRQs and perform channel enquiry after LPM (Desnes A. Nunes do Rosario) [1932217] - scsi: ibmvfc: Store return code of H_FREE_SUB_CRQ during cleanup (Desnes A. Nunes do Rosario) [1932217] - scsi: ibmvfc: Treat H_CLOSED as success during sub-CRQ registration (Desnes A. Nunes do Rosario) [1932217] - scsi: ibmvfc: Fix invalid sub-CRQ handles after hard reset (Desnes A. Nunes do Rosario) [1932217] - scsi: ibmvfc: Simplify handling of sub-CRQ initialization (Desnes A. Nunes do Rosario) [1932217] - exec: Transform exec_update_mutex into a rw_semaphore (Chris von Recklinghausen) [1993665] - perf: Break deadlock involving exec_update_mutex (Chris von Recklinghausen) [1993665] - pidfd: Add missing sock updates for pidfd_getfd() (Chris von Recklinghausen) [1993665] - exec: Move the call of prepare_binprm into search_binary_handler (Chris von Recklinghausen) [1993665] - exec: Allow load_misc_binary to call prepare_binprm unconditionally (Chris von Recklinghausen) [1993665] - exec: Convert security_bprm_set_creds into security_bprm_repopulate_creds (Chris von Recklinghausen) [1993665] - exec: Factor security_bprm_creds_for_exec out of security_bprm_set_creds (Chris von Recklinghausen) [1993665] - exec: Move would_dump into flush_old_exec (Chris von Recklinghausen) [1993665] - exec: Rename flush_old_exec begin_new_exec (Chris von Recklinghausen) [1993665] - exec: Move most of setup_new_exec into flush_old_exec (Chris von Recklinghausen) [1993665] - exec: In setup_new_exec cache current in the local variable me (Chris von Recklinghausen) [1993665] - exec: Merge install_exec_creds into setup_new_exec (Chris von Recklinghausen) [1993665] - exec: Rename the flag called_exec_mmap point_of_no_return (Chris von Recklinghausen) [1993665] - exec: Make unlocking exec_update_mutex explict (Chris von Recklinghausen) [1993665] - binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf (Chris von Recklinghausen) [1993665] - pidfd: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - perf: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - proc: io_accounting: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - proc: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - kernel/kcmp.c: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - kernel: doc: remove outdated comment cred.c (Chris von Recklinghausen) [1993665] - mm: docs: Fix a comment in process_vm_rw_core (Chris von Recklinghausen) [1993665] - selftests/ptrace: add test cases for dead-locks (Chris von Recklinghausen) [1993665] - exec: Fix a deadlock in strace (Chris von Recklinghausen) [1993665] - exec: Add exec_update_mutex to replace cred_guard_mutex (Chris von Recklinghausen) [1993665] - exec: Move exec_mmap right after de_thread in flush_old_exec (Chris von Recklinghausen) [1993665] - exec: Move cleanup of posix timers on exec out of de_thread (Chris von Recklinghausen) [1993665] - exec: Factor unshare_sighand out of de_thread and call it separately (Chris von Recklinghausen) [1993665] - exec: Only compute current once in flush_old_exec (Chris von Recklinghausen) [1993665] - pid: Implement pidfd_getfd syscall (Chris von Recklinghausen) [1993665] - pidfd: add P_PIDFD to waitid() (Chris von Recklinghausen) [1993665] - fork: return proper negative error code (Chris von Recklinghausen) [1993665] - copy_process(): don't use ksys_close() on cleanups (Chris von Recklinghausen) [1993665] - fork: don't check parent_tidptr with CLONE_PIDFD (Chris von Recklinghausen) [1993665] - fs/exec.c: move ->recursion_depth out of critical sections (Chris von Recklinghausen) [1993665] - clone: add CLONE_PIDFD (Chris von Recklinghausen) [1993665] - signal: support CLONE_PIDFD with pidfd_send_signal (Chris von Recklinghausen) [1993665] - arch: add pidfd and io_uring syscalls everywhere (Chris von Recklinghausen) [1993665] - signal: don't silently convert SI_USER signals to non-current pidfd (Chris von Recklinghausen) [1993665] - signal: add pidfd_send_signal() syscall (Chris von Recklinghausen) [1993665] - sched/core: Convert signal_struct.sigcnt to refcount_t (Chris von Recklinghausen) [1993665] - sched/core: Convert sighand_struct.count to refcount_t (Chris von Recklinghausen) [1993665] - exec: make prepare_bprm_creds static (Chris von Recklinghausen) [1993665] - fork: don't copy inconsistent signal handler state to child (Chris von Recklinghausen) [1993665] - Revert "perf: Break deadlock involving exec_update_mutex" (Chris von Recklinghausen) [1993665] - powerpc/mm/highmem: use __set_pte_at() for kmap_local() (Nico Pache) [2001854] - mm: extract might_alloc() debug check (Nico Pache) [2001854] - mm/mempolicy: use vma_lookup() in __access_remote_vm() (Nico Pache) [2001854] - mm/memory.c: use vma_lookup() in __access_remote_vm() (Nico Pache) [2001854] - mm/mremap: use vma_lookup() in vma_to_resize() (Nico Pache) [2001854] - mm/migrate: use vma_lookup() in do_pages_stat_array() (Nico Pache) [2001854] - mm/ksm: use vma_lookup() in find_mergeable_vma() (Nico Pache) [2001854] - kernel/events/uprobes: use vma_lookup() in find_active_uprobe() (Nico Pache) [2001854] - misc/sgi-gru/grufault: use vma_lookup() in gru_find_vma() (Nico Pache) [2001854] - media: videobuf2: use vma_lookup() in get_vaddr_frames() (Nico Pache) [2001854] - drm/amdgpu: use vma_lookup() in amdgpu_ttm_tt_get_user_pages() (Nico Pache) [2001854] - net/ipv5/tcp: use vma_lookup() in tcp_zerocopy_receive() (Nico Pache) [2001854] - vfio: use vma_lookup() instead of find_vma_intersection() (Nico Pache) [2001854] - virt/kvm: use vma_lookup() instead of find_vma_intersection() (Nico Pache) [2001854] - x86/sgx: use vma_lookup() in sgx_encl_find() (Nico Pache) [2001854] - arch/powerpc/kvm/book3s: use vma_lookup() in kvmppc_hv_setup_htab_rma() (Nico Pache) [2001854] - arch/powerpc/kvm/book3s_hv_uvmem: use vma_lookup() instead of find_vma_intersection() (Nico Pache) [2001854] - arch/arm64/kvm: use vma_lookup() instead of find_vma_intersection() (Nico Pache) [2001854] - drm/i915/selftests: use vma_lookup() in __igt_mmap() (Nico Pache) [2001854] - mm: add vma_lookup(), update find_vma_intersection() comments (Nico Pache) [2001854] - i915_vma: Rename vma_lookup to i915_vma_lookup (Nico Pache) [2001854] - media: videobuf2: Move frame_vector into media subsystem (Nico Pache) [2001854] - mm/frame-vector: Use FOLL_LONGTERM (Nico Pache) [2001854] - vhost: convert get_user_pages() --> pin_user_pages() (Nico Pache) [2001854] - docs: mm/gup: pin_user_pages.rst: add a "case 5" (Nico Pache) [2001854] - mm/gup: documentation fix for pin_user_pages*() APIs (Nico Pache) [2001854] - mm/gup: frame_vector: convert get_user_pages() --> pin_user_pages() (Nico Pache) [2001854] - mm/gup: update pin_user_pages.rst for "case 3" (mmu notifiers) (Nico Pache) [2001854] - mm: untag user pointers in get_vaddr_frames (Nico Pache) [2001854] - media: videobuf2-vmalloc: get_userptr: buffers are always writable (Nico Pache) [2001854] - net: expand textsearch ts_state to fit skb_seq_state (Nico Pache) [2001854] - esp: avoid unneeded kmap_atomic call (Nico Pache) [2001854] - net: compound page support in skb_seq_read (Nico Pache) [2001854] - net: support kmap_local forced debugging in skb_frag_foreach (Nico Pache) [2001854] - mm/highmem: fix CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP (Nico Pache) [2001854] - x86/crashdump/32: Simplify copy_oldmem_page() (Nico Pache) [2001854] - io-mapping: Provide iomap_local variant (Nico Pache) [2001854] - mm/highmem: Provide kmap_local* (Nico Pache) [2001854] - sched: highmem: Store local kmaps in task struct (Nico Pache) [2001854] - x86: Support kmap_local() forced debugging (Nico Pache) [2001854] - mm/highmem: Provide CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP (Nico Pache) [2001854] - mm/highmem: Provide and use CONFIG_DEBUG_KMAP_LOCAL (Nico Pache) [2001854] - mm/highmem: Take kmap_high_get() properly into account (Nico Pache) [2001854] - highmem: High implementation details and document API (Nico Pache) [2001854] - Documentation/io-mapping: Remove outdated blurb (Nico Pache) [2001854] - io-mapping: Cleanup atomic iomap (Nico Pache) [2001854] - mm/highmem: Remove the old kmap_atomic cruft (Nico Pache) [2001854] - highmem: Get rid of kmap_types.h (Nico Pache) [2001854] - powerpc/mm/highmem: Switch to generic kmap atomic (Nico Pache) [2001854] - x86/mm/highmem: Use generic kmap atomic implementation (Nico Pache) [2001854] - highmem: Make DEBUG_HIGHMEM functional (Nico Pache) [2001854] - highmem: Provide generic variant of kmap_atomic* (Nico Pache) [2001854] - asm-generic: Provide kmap_size.h (Nico Pache) [2001854] - fs: Remove asm/kmap_types.h includes (Nico Pache) [2001854] - highmem: Remove unused functions (Nico Pache) [2001854] - mm/highmem: Un-EXPORT __kmap_atomic_idx() (Nico Pache) [2001854] - kmap: consolidate kmap_prot definitions (Nico Pache) [2001854] - parisc/kmap: remove duplicate kmap code (Nico Pache) [2001854] - arch/kmap: define kmap_atomic_prot() for all arch's (Nico Pache) [2001854] - arch/kmap: ensure kmap_prot visibility (Nico Pache) [2001854] - arch/kunmap_atomic: consolidate duplicate code (Nico Pache) [2001854] - arch/kmap_atomic: consolidate duplicate code (Nico Pache) [2001854] - {x86,powerpc,microblaze}/kmap: move preempt disable (Nico Pache) [2001854] - arch/kunmap: remove duplicate kunmap implementations (Nico Pache) [2001854] - arch/kmap: remove redundant arch specific kmaps (Nico Pache) [2001854] - arch/kmap: remove BUG_ON() (Nico Pache) [2001854] - ipc: remove memcg accounting for sops objects in do_semtimedop() (Rafael Aquini) [1999705] {CVE-2021-3759} - memcg: enable accounting of ipc resources (Rafael Aquini) [1999705] {CVE-2021-3759} - ipc: use kmalloc for msg_queue and shmid_kernel (Rafael Aquini) [1999705] {CVE-2021-3759} - ipc sem: use kvmalloc for sem_undo allocation (Rafael Aquini) [1999705] {CVE-2021-3759} - ipc/sem.c: replace kvmalloc/memset with kvzalloc and use struct_size (Rafael Aquini) [1999705] {CVE-2021-3759} - x86: sev-es: Restore SEV-ES-specific version of copy_from_kernel_nofault() (Vitaly Kuznetsov) [2010082] - perf machine: Initialize srcline string member in add_location struct (Michael Petlan) [1981880] - ipmi: kcs_bmc_aspeed: Fix less than zero comparison of a unsigned int (Tony Camuso) [2003186] - ipmi: kcs_bmc_aspeed: Optionally apply status address (Tony Camuso) [2003186] - ipmi: kcs_bmc_aspeed: Fix IBFIE typo from datasheet (Tony Camuso) [2003186] - ipmi: kcs_bmc_aspeed: Implement KCS SerIRQ configuration (Tony Camuso) [2003186] - ipmi: kcs_bmc: Add serio adaptor (Tony Camuso) [2003186] - ipmi: kcs_bmc: Enable IBF on open (Tony Camuso) [2003186] - ipmi: kcs_bmc: Allow clients to control KCS IRQ state (Tony Camuso) [2003186] - ipmi: kcs_bmc: Decouple the IPMI chardev from the core (Tony Camuso) [2003186] - ipmi: kcs_bmc: Strip private client data from struct kcs_bmc (Tony Camuso) [2003186] - ipmi: kcs_bmc: Split headers into device and client (Tony Camuso) [2003186] - ipmi: kcs_bmc: Turn the driver data-structures inside-out (Tony Camuso) [2003186] - ipmi: kcs_bmc: Split out kcs_bmc_cdev_ipmi (Tony Camuso) [2003186] - ipmi: kcs_bmc: Rename {read,write}_{status,data}() functions (Tony Camuso) [2003186] - ipmi: kcs_bmc: Make status update atomic (Tony Camuso) [2003186] - ipmi: kcs_bmc_aspeed: Use of match data to extract KCS properties (Tony Camuso) [2003186] - ipmi/watchdog: Stop watchdog timer when the current action is 'none' (Tony Camuso) [2003186] - ipmi: kcs: aspeed: Adapt to new LPC DTS layout (Tony Camuso) [2003186] - ipmi_si: Join string literals back (Tony Camuso) [2003186] - ipmi_si: Drop redundant check before calling put_device() (Tony Camuso) [2003186] - ipmi_si: Use strstrip() to remove surrounding spaces (Tony Camuso) [2003186] - ipmi_si: Get rid of ->addr_source_cleanup() (Tony Camuso) [2003186] - ipmi_si: Reuse si_to_str[] array in ipmi_hardcode_init_one() (Tony Camuso) [2003186] - ipmi_si: Introduce ipmi_panic_event_str[] array (Tony Camuso) [2003186] - ipmi_si: Use proper ACPI macros to check error code for failures (Tony Camuso) [2003186] - ipmi_si: Utilize temporary variable to hold device pointer (Tony Camuso) [2003186] - ipmi_si: Remove bogus err_free label (Tony Camuso) [2003186] - ipmi: Handle device properties with software node API (Tony Camuso) [2003186] - ipmi:ssif: make ssif_i2c_send() void (Tony Camuso) [2003186] - ipmi: Refine retry conditions for getting device id (Tony Camuso) [2003186] - redhat/configs: enable CONFIG_IMA_WRITE_POLICY (Bruno Meneguele) [2010530] - Disable CONFIG_CRYPTO_SM4 on aarch64 (Vladis Dronov) [2008943] - powerpc/iommu: Report the correct most efficient DMA mask for PCI devices (Steve Best) [2007425] - powerpc/dma: Fix dma_map_ops::get_required_mask (Steve Best) [2007425] - ibmvnic: Reuse tx pools when possible (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Reuse rx pools when possible (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Reuse LTB when possible (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use bitmap for LTB map_ids (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: init_tx_pools move loop-invariant code (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use/rename local vars in init_tx_pools (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use/rename local vars in init_rx_pools (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Fix up some comments and messages (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Consolidate code in replenish_rx_pool() (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: check failover_pending in login response (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: retry reset if there are no other resets (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: parenthesize a check (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: free tx_pool if tso_pool alloc fails (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: set ltb->buff to NULL after freeing (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: account for bufs already saved in indir_buf (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: clean pending indirect buffs during reset (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use strscpy() instead of strncpy() (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: fix send_request_map incompatible argument (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: fix kernel build warnings in build_hdr_descs_arr (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: fix kernel build warning (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: fix kernel build warning in strncpy (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Allow device probe if the device is not ready at boot (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use list_for_each_entry() to simplify code in ibmvnic.c (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: remove default label from to_string switch (Desnes A. Nunes do Rosario) [1998677] - intel_th: pci: Add Alder Lake-M support (Jiri Olsa) [1929502] - i2c: designware: Fix indentation in the header (David Arcari) [2004468] - i2c: designware: Use DIV_ROUND_CLOSEST() macro (David Arcari) [2004468] - math64: New DIV_S64_ROUND_CLOSEST helper (David Arcari) [2004468] - units: Add SI metric prefix definitions (David Arcari) [2004468] - i2c: busses: i2c-designware-master: Fix misnaming of 'i2c_dw_init_master()' (David Arcari) [2004468] - MAINTAINERS: adjust to removing i2c designware platform data (David Arcari) [2004468] - i2c: designware: Get rid of legacy platform data (David Arcari) [2004468] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (David Arcari) [2004468] - i2c: designware: Switch over to i2c_freq_mode_string() (David Arcari) [2004468] - i2c: core: add api to provide frequency mode strings (David Arcari) [2004468] - i2c: designware: Fix return value check in navi_amd_register_client() (David Arcari) [2004468] - i2c: drivers: Use generic definitions for bus frequencies (part 2) (David Arcari) [2004468] - i2c: designware: Add driver support for AMD NAVI GPU (David Arcari) [2004468] - i2c: designware: Adjust bus_freq_hz when refuse high speed mode set (David Arcari) [2004468] - i2c: designware: Get right data length (David Arcari) [2004468] - i2c: designware: Make register offsets all of the same width (David Arcari) [2004468] - i2c: designware: Switch header to use BIT() and GENMASK() (David Arcari) [2004468] - i2c: designware: slave should do WRITE_REQUESTED before WRITE_RECEIVED (David Arcari) [2004468] - i2c: designware: call i2c_dw_read_clear_intrbits_slave() once (David Arcari) [2004468] - i2c: busses: Use fallthrough pseudo-keyword (David Arcari) [2004468] - i2c: designware: platdrv: Set class based on DMI (David Arcari) [2004468] - i2c: designware: Adjust bus speed independently of ACPI (David Arcari) [2004468] - i2c: designware: Add Baikal-T1 System I2C support (David Arcari) [2004468] - i2c: designware: Move reg-space remapping into a dedicated function (David Arcari) [2004468] - i2c: designware: Retrieve quirk flags as early as possible (David Arcari) [2004468] - i2c: designware: Convert driver to using regmap API (David Arcari) [2004468] - i2c: designware: Discard Cherry Trail model flag (David Arcari) [2004468] - i2c: designware: Drop hard coded FIFO depth assignment (David Arcari) [2004468] - i2c: designware: Read counters from ACPI for PCI driver (David Arcari) [2004468] - i2c: designware: Move ACPI parts into common module (David Arcari) [2004468] - i2c: designware: Drop unneeded condition in i2c_dw_validate_speed() (David Arcari) [2004468] - i2c: designware: Move i2c_dw_validate_speed() helper to a common code (David Arcari) [2004468] - i2c: designware: Include proper headers in i2c-desingware-core.h (David Arcari) [2004468] - i2c: designware: Get rid of PCI driver specifics in common code (David Arcari) [2004468] - i2c: designware: Allow slave mode for PCI enumerated devices (David Arcari) [2004468] - i2c: designware: Rename i2c_dw_probe() to i2c_dw_probe_master() (David Arcari) [2004468] - i2c: designware: Switch PCI driver to use i2c_dw_configure_master() (David Arcari) [2004468] - i2c: designware: Move configuration routines to respective modules (David Arcari) [2004468] - i2c: designware: Use devm_platform_ioremap_resource() to simplify code (David Arcari) [2004468] - i2c: designware: Calculate SCL timing parameter for High Speed Mode (David Arcari) [2004468] - i2c: designware: Calculate SCL timing parameter for Fast Mode Plus (David Arcari) [2004468] - i2c: designware: platdrv: Remove DPM_FLAG_SMART_SUSPEND flag on BYT and CHT (David Arcari) [2004468] - i2c: drivers: Use generic definitions for bus frequencies (David Arcari) [2004468] - i2c: core: Provide generic definitions for bus frequencies (David Arcari) [2004468] - i2c: designware: Fix spelling typos in the comments (David Arcari) [2004468] - i2c: designware: Discard i2c_dw_read_comp_param() function (David Arcari) [2004468] - i2c: designware: Detect the FIFO size in the common code (David Arcari) [2004468] - i2c: designware: Add ACPI HID for Hisilicon Hip08-Lite I2C controller (David Arcari) [2004468] - i2c: designware: Fix optional reset error handling (David Arcari) [2004468] - i2c: designware: assert reset when error happen at ->probe() (David Arcari) [2004468] - i2c: designware: Synchronize IRQs when unregistering slave client (David Arcari) [2004468] - i2c: designware: Fix unused variable warning (David Arcari) [2004468] - i2c: designware: make use of devm_gpiod_get_optional (David Arcari) [2004468] - i2c: busses: Use dev_get_drvdata where possible (David Arcari) [2004468] - i2c: designware: ratelimit 'transfer when suspended' errors (David Arcari) [2004468] - i2c: designware: Add support for an interface clock (David Arcari) [2004468] - i2c: i2c-designware-platdrv: Always use a dynamic adapter number (David Arcari) [2004468] - i2c: i2c-designware-platdrv: Cleanup setting of the adapter number (David Arcari) [2004468] - i2c: designware: Do not allow i2c_dw_xfer() calls while suspended (David Arcari) [2004468] - i2c: designware: Cleanup bus lock handling (David Arcari) [2004468] - i2c: designware: Set IRQF_NO_SUSPEND flag for all BYT and CHT controllers (David Arcari) [2004468] - i2c: designware: Call i2c_dw_clk_rate() only when calculating timings (David Arcari) [2004468] - i2c: designware: Remove Cherry Trail PMIC I2C bus pm_disabled workaround (David Arcari) [2004468] - i2c: designware: add MSCC Ocelot support (David Arcari) [2004468] - i2c: designware: allow IP specific sda_hold_time (David Arcari) [2004468] - i2c: designware: move #ifdef CONFIG_OF to the top (David Arcari) [2004468] - i2c: designware: use generic table matching (David Arcari) [2004468] - i2c: designware: Add SPDX license tag (David Arcari) [2004468] - i2c: designware: Convert to use struct i2c_timings (David Arcari) [2004468] - i2c: designware-pcidrv: Mark expected switch fall-through (David Arcari) [2004468] - i2c: designware-master: use core to detect 'no zero length' quirk (David Arcari) [2004468] - i2c: designware: Add debug print for bus speed (David Arcari) [2004468] - i2c: designware: Add debug print for SDA hold time value (David Arcari) [2004468] - i2c: designware: Separate timing parameter setting from HW initalization (David Arcari) [2004468] - i2c: designware: Move SDA hold time configuration to common code (David Arcari) [2004468] - i2c: designware: Call i2c_dw_clk_rate() only once in i2c_dw_init_master() (David Arcari) [2004468] - i2c: designware: Don't use internal ___constant_swab32 (David Arcari) [2004468] - i2c: designware: Move register access detection to common code (David Arcari) [2004468] - i2c: designware: Remove needless variable from i2c_dw_init_slave() (David Arcari) [2004468]- x86/amd_nb: Add AMD family 17h model 60h PCI IDs (David Arcari) [1987067] - x86/amd_nb: Check vendor in AMD-only functions (David Arcari) [1987067] - hwmon: (k10temp) Add support for yellow carp (David Arcari) [1987067] - x86/amd_nb: Add AMD family 19h model 50h PCI ids (David Arcari) [1987067] - x86: Fix various typos in comments, take #2 (David Arcari) [1987067] - x86/amd_nb, char/amd64-agp: Use amd_nb_num() accessor (David Arcari) [1987067] - x86/amd_nb: Add PCI device IDs for family 17h, model 70h (David Arcari) [1987067] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 477 (David Arcari) [1987067] - x86/amd_nb: Make hygon_nb_misc_ids static (David Arcari) [1987067] - x86/pci, x86/amd_nb: Add Hygon Dhyana support to PCI and northbridge (David Arcari) [1987067] - x86/cpu: Create Hygon Dhyana architecture support file (David Arcari) [1987067] - hwmon: (k10temp) Rework the temperature offset calculation (David Arcari) [1987067] - hwmon: (k10temp) Don't show Tdie for all Zen/Zen2/Zen3 CPU/APU (David Arcari) [1987067] - hwmon: (k10temp) Add additional missing Zen2 and Zen3 APUs (David Arcari) [1987067] - hwmon: (k10temp) support Zen3 APUs (David Arcari) [1987067] - CI: Fix RT branch name (Veronika Kabatova) - platform/x86/intel: pmc/core: Add GBE Package C10 fix for Alder Lake PCH (David Arcari) [1962965] - platform/x86/intel: pmc/core: Add Alder Lake low power mode support for pmc core (David Arcari) [1962965] - platform/x86/intel: pmc/core: Add Latency Tolerance Reporting (LTR) support to Alder Lake (David Arcari) [1962965] - platform/x86/intel: pmc/core: Add Alderlake support to pmc core driver (David Arcari) [1962965] - redhat/configs: Add CONFIG_X86_PLATFORM_DRIVERS_INTEL (David Arcari) [1962965] - platform/x86: intel_pmc_core: Move to intel sub-directory (David Arcari) [1962965] - platform/x86: intel_skl_int3472: Move to intel/ subfolder (David Arcari) [1962965] - platform/x86: intel_pmc_core: Prevent possibile overflow (David Arcari) [1962965] - ipvs: check that ip_vs_conn_tab_bits is between 8 and 20 (Andrea Claudi) [1816769] - KVM: nVMX: Filter out all unsupported controls when eVMCS was activated (Vitaly Kuznetsov) [2001915] - pinctrl: amd: Handle wake-up interrupt (David Arcari) [2000228] - pinctrl: amd: Add irq field data (David Arcari) [2000228] - pinctrl: amd: Fix an issue with shutdown when system set to s0ix (David Arcari) [2000228] - pinctrl/amd: Add device HID for new AMD GPIO controller (David Arcari) [2000228] - pinctrl: amd: Implement irq_set_wake (David Arcari) [2000228] - genirq/PM: Introduce IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND flag (David Arcari) [2000228] - pinctrl: amd: remove debounce filter setting in IRQ type setting (David Arcari) [2000228] - pinctrl: amd: print debounce filter info in debugfs (David Arcari) [2000228] - pinctrl: amd: use higher precision for 512 RtcClk (David Arcari) [2000228] - pinctrl: amd: fix incorrect way to disable debounce filter (David Arcari) [2000228] - pinctrl: amd: Use irqchip template (David Arcari) [2000228] - pinctrl: pinctrl-amd: Do not define 'struct acpi_device_id' when !CONFIG_ACPI (David Arcari) [2000228] - pinctrl: amd: Honor IRQ trigger type requested by the caller (David Arcari) [2000228] - pinctrl: Use new GPIO_LINE_DIRECTION (David Arcari) [2000228] - remove ioremap_nocache and devm_ioremap_nocache (David Arcari) [2000228] - pinctrl: amd: fix __iomem annotation in amd_gpio_irq_handler() (David Arcari) [2000228] - pinctrl: amd: disable spurious-firing GPIO IRQs (David Arcari) [2000228] - pinctrl: Remove dev_err() usage after platform_get_irq() (David Arcari) [2000228] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 (David Arcari) [2000228] - pinctrl/amd: fix typo (David Arcari) [2000228] - pinctrl: pinctrl-amd: simplify getting .driver_data (David Arcari) [2000228] - pinctrl/amd: poll InterruptEnable bits in amd_gpio_irq_set_type (David Arcari) [2000228] - pinctrl: Include nothing else (David Arcari) [2000228] - pinctrl/amd: only handle irq if it is pending and unmasked (David Arcari) [2000228] - pinctrl/amd: fix gpio irq level in debugfs (David Arcari) [2000228] - smartpqi: Update version to 2.1.10-025 (Don Brace) [1980106] - scsi: smartpqi: Replace one-element array with flexible-array member (Don Brace) [1980106] - scsi: smartpqi: Fix an error code in pqi_get_raid_map() (Don Brace) [1980106] - scsi: smartpqi: Update version to 2.1.10-020 (Don Brace) [1980106] - scsi: smartpqi: Fix ISR accessing uninitialized data (Don Brace) [1980106] - scsi: smartpqi: Add PCI IDs for new ZTE controllers (Don Brace) [1980106] - scsi: smartpqi: Add PCI ID for new ntcom controller (Don Brace) [1980106] - scsi: smartpqi: Add SCSI cmd info for resets (Don Brace) [1980106] - scsi: smartpqi: Change Kconfig menu entry to Microchip (Don Brace) [1980106] - scsi: smartpqi: Change driver module macros to Microchip (Don Brace) [1980106] - scsi: smartpqi: Update copyright notices (Don Brace) [1980106] - scsi: smartpqi: Add PCI IDs for H3C P4408 controllers (Don Brace) [1980106]- lib/linear_ranges: fix repeated words & one typo (Nico Pache) [2006475] - lib: linear_ranges: Add missing MODULE_LICENSE() (Nico Pache) [2006475] - bpf: Fix regression on BPF_OBJ_GET with non-O_RDWR flags (Jiri Olsa) [1944798] - bpf, x86: Fix extable offset calculation (Jiri Olsa) [1944798] - bpftool: Add Makefile target bootstrap (Jiri Olsa) [1944798] - bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args (Jiri Olsa) [1944798] - docs, bpf: Add minimal markup to address doc warning (Jiri Olsa) [1944798] - test_bpf: Remove EXPECTED_FAIL flag from bpf_fill_maxinsns11 (Jiri Olsa) [1944798] - trace: bpf: Allow bpf to attach to bare tracepoints (Jiri Olsa) [1944798] - docs: bpf: Clarify -mcpu=v3 requirement for atomic ops (Jiri Olsa) [1944798] - tools, headers: Sync struct bpf_perf_event_data (Jiri Olsa) [1944798] - selftests/bpf: Add missing cleanup in atomic_bounds test (Jiri Olsa) [1944798] - docs: bpf: Clarify BPF_CMPXCHG wording (Jiri Olsa) [1944798] - docs: bpf: Fixup atomics markup (Jiri Olsa) [1944798] - bpf: Document new atomic instructions (Jiri Olsa) [1944798] - kbuild: Do not clean resolve_btfids if the output does not exist (Jiri Olsa) [1944798] - kbuild: Add resolve_btfids clean to root clean target (Jiri Olsa) [1944798] - bpf: Introduce task_vma bpf_iter (Jiri Olsa) [1944798] - bpf: Allow bpf_d_path in bpf_iter program (Jiri Olsa) [1944798] - selftests/bpf: Add test for bpf_iter_task_vma (Jiri Olsa) [1944798] - bpf: Don't do bpf_cgroup_storage_set() for kuprobe/tp programs (Jiri Olsa) [1944798] - libbpf: Use SOCK_CLOEXEC when opening the netlink socket (Jiri Olsa) [1944798] - bpf: Update selftests to reflect new error states (Jiri Olsa) [1944798] - bpf, x86: Validate computation of branch displacements for x86-32 (Jiri Olsa) [1944798] - bpf, x86: Validate computation of branch displacements for x86-64 (Jiri Olsa) [1944798] - bpf: program: Refuse non-O_RDWR flags in BPF_OBJ_GET (Jiri Olsa) [1944798] - bpf: Take module reference for trampoline in module (Jiri Olsa) [1944798] - bpf/selftests: Test that kernel rejects a TCP CC with an invalid license (Jiri Olsa) [1944798] - bpf: Enforce that struct_ops programs be GPL-only (Jiri Olsa) [1944798] - libbpf: Fix bail out from 'ringbuf_process_ring()' on error (Jiri Olsa) [1944798] - selftests/bpf: Add selftest for pointer-to-array-of-struct BTF dump (Jiri Olsa) [1944798] - libbpf: Fix BTF dump of pointer-to-array-of-struct (Jiri Olsa) [1944798] - bpf, selftests: Fix up some test_verifier cases for unprivileged (Jiri Olsa) [1944798] - bpf, x86: Use kvmalloc_array instead kmalloc_array in bpf_jit_comp (Jiri Olsa) [1944798] - libbpf: Fix INSTALL flag order (Jiri Olsa) [1944798] - libbpf: Clear map_info before each bpf_obj_get_info_by_fd (Jiri Olsa) [1944798] - samples, bpf: Add missing munmap in xdpsock (Jiri Olsa) [1944798] - tools/resolve_btfids: Fix build error with older host toolchains (Jiri Olsa) [1944798] - selftests/bpf: Fix a compiler warning in global func test (Jiri Olsa) [1944798] - bpf: Drop imprecise log message (Jiri Olsa) [1944798] - bpf: Clear percpu pointers in bpf_prog_clone_free() (Jiri Olsa) [1944798] - bpf: Fix a warning message in mark_ptr_not_null_reg() (Jiri Olsa) [1944798] - selftests/bpf: Add unit tests for pointers in global functions (Jiri Olsa) [1944798] - bpf: Support pointers in global func args (Jiri Olsa) [1944798] - bpf: Extract nullable reg type conversion into a helper function (Jiri Olsa) [1944798] - bpf: Rename bpf_reg_state variables (Jiri Olsa) [1944798] - tools/resolve_btfids: Add /libbpf to .gitignore (Jiri Olsa) [1944798] - bpf: selftests: Add non function pointer test to struct_ops (Jiri Olsa) [1944798] - libbpf: Ignore non function pointer member in struct_ops (Jiri Olsa) [1944798] - bpf: Clear per_cpu pointers during bpf_prog_realloc (Jiri Olsa) [1944798] - selftests/bpf: Add a selftest for the tracing bpf_get_socket_cookie (Jiri Olsa) [1944798] - selftests/bpf: Use vmlinux.h in socket_cookie_prog.c (Jiri Olsa) [1944798] - selftests/bpf: Integrate the socket_cookie test to test_progs (Jiri Olsa) [1944798] - bpf: Expose bpf_get_socket_cookie to tracing programs (Jiri Olsa) [1944798] - selftests/bpf: Convert test_xdp_redirect.sh to bash (Jiri Olsa) [1944798] - selftests/bpf: Add a test for map-in-map and per-cpu maps in sleepable progs (Jiri Olsa) [1944798] - bpf: Allows per-cpu maps and map-in-map in sleepable programs (Jiri Olsa) [1944798] - selftests/bpf: Improve recursion selftest (Jiri Olsa) [1944798] - selftest/bpf: Add a recursion test (Jiri Olsa) [1944798] - bpf: Count the number of times recursion was prevented (Jiri Olsa) [1944798] - bpf: Add per-program recursion prevention mechanism (Jiri Olsa) [1944798] - bpf: Compute program stats for sleepable programs (Jiri Olsa) [1944798] - bpf: Run sleepable programs with migration disabled (Jiri Olsa) [1944798] - bpf: Optimize program stats (Jiri Olsa) [1944798] - selftests/bpf: Simplify the calculation of variables (Jiri Olsa) [1944798] - selftest/bpf: Add test for var-offset stack access (Jiri Olsa) [1944798] - tools/resolve_btfids: Set srctree variable unconditionally (Jiri Olsa) [1944798] - tools/resolve_btfids: Check objects before removing (Jiri Olsa) [1944798] - tools/resolve_btfids: Build libbpf and libsubcmd in separate directories (Jiri Olsa) [1944798] - bpf: Simplify bool comparison (Jiri Olsa) [1944798] - selftests/bpf: Remove unneeded semicolon (Jiri Olsa) [1944798] - bpf/benchs/bench_ringbufs: Remove unneeded semicolon (Jiri Olsa) [1944798] - bpf: Refactor BPF_PSEUDO_CALL checking as a helper function (Jiri Olsa) [1944798] - bpf/selftests: Update the IMA test to use BPF ring buffer (Jiri Olsa) [1944798] - bpf: Allow usage of BPF ringbuffer in sleepable programs (Jiri Olsa) [1944798] - bpf/selftests: Add a short note about vmtest.sh in README.rst (Jiri Olsa) [1944798] - bpf: Helper script for running BPF presubmit tests (Jiri Olsa) [1944798] - bpf: Emit explicit NULL pointer checks for PROBE_LDX instructions. (Jiri Olsa) [1944798] - libbpf: Stop using feature-detection Makefiles (Jiri Olsa) [1944798] - selftest/bpf: Testing for multiple logs on REJECT (Jiri Olsa) [1944798] - samples: bpf: Remove unneeded semicolon (Jiri Olsa) [1944798] - bpf: Propagate stack bounds to registers in atomics w/ BPF_FETCH (Jiri Olsa) [1944798] - samples/bpf: Add include dir for MIPS Loongson64 to fix build errors (Jiri Olsa) [1944798] - bpf: Simplify cases in bpf_base_func_proto (Jiri Olsa) [1944798] - samples/bpf: Set flag __SANE_USERSPACE_TYPES__ for MIPS to fix build warnings (Jiri Olsa) [1944798] - selftests/bpf: Avoid useless void *-casts (Jiri Olsa) [1944798] - selftests/bpf: Consistent malloc/calloc usage (Jiri Olsa) [1944798] - selftests/bpf: Avoid heap allocation (Jiri Olsa) [1944798] - selftests/bpf: Define local variables at the beginning of a block (Jiri Olsa) [1944798] - selftests/bpf: Change type from void * to struct generic_data * (Jiri Olsa) [1944798] - selftests/bpf: Change type from void * to struct ifaceconfigobj * (Jiri Olsa) [1944798] - selftests/bpf: Remove casting by introduce local variable (Jiri Olsa) [1944798] - selftests/bpf: Improve readability of xdpxceiver/worker_pkt_validate() (Jiri Olsa) [1944798] - selftests/bpf: Remove memory leak (Jiri Olsa) [1944798] - selftests/bpf: Fix style warnings (Jiri Olsa) [1944798] - selftests/bpf: Remove unused enums (Jiri Olsa) [1944798] - selftests/bpf: Remove a lot of ifobject casting (Jiri Olsa) [1944798] - samples/bpf: Add xdp program on egress for xdp_redirect_map (Jiri Olsa) [1944798] - bpf: Fix typo in scalar{,32}_min_max_rsh comments (Jiri Olsa) [1944798] - bpf, docs: Update build procedure for manually compiling LLVM and Clang (Jiri Olsa) [1944798] - selftest/bpf: Fix typo (Jiri Olsa) [1944798] - libbpf: Use string table index from index table if needed (Jiri Olsa) [1944798] - bpf: Try to avoid kzalloc in cgroup/{s,g}etsockopt (Jiri Olsa) [1944798] - bpf: Permit size-0 datasec (Jiri Olsa) [1944798] - selftests: bpf: Add a new test for bare tracepoints (Jiri Olsa) [1944798] - selftests/bpf: Add verifier tests for x64 jit jump padding (Jiri Olsa) [1944798] - bpf,x64: Pad NOPs to make images converge more easily (Jiri Olsa) [1944798] - tools/bpftool: Add -Wall when building BPF programs (Jiri Olsa) [1944798] - bpf: Declare __bpf_free_used_maps() unconditionally (Jiri Olsa) [1944798] - bpf: Add bpf_patch_call_args prototype to include/linux/bpf.h (Jiri Olsa) [1944798] - kernel.spec: Add support to use vmlinux.h (Jiri Olsa) [1989087] - spec: Add vmlinux.h to kernel-devel package (Jiri Olsa) [1989087] - lib/test_scanf: Handle n_bits == 0 in random tests (Chris von Recklinghausen) [1985062] - printk/console: Check consistent sequence number when handling race in console_unlock() (Chris von Recklinghausen) [1985062] - printk: fix cpu lock ordering (Chris von Recklinghausen) [1985062] - lib/dump_stack: move cpu lock to printk.c (Chris von Recklinghausen) [1985062] - random32: Fix implicit truncation warning in prandom_seed_state() (Chris von Recklinghausen) [1985062] - lib: test_scanf: Remove pointless use of type_min() with unsigned types (Chris von Recklinghausen) [1985062] - selftests: lib: Add wrapper script for test_scanf (Chris von Recklinghausen) [1985062] - lib: test_scanf: Add tests for sscanf number conversion (Chris von Recklinghausen) [1985062] - lib: vsprintf: Fix handling of number field widths in vsscanf (Chris von Recklinghausen) [1985062] - lib: vsprintf: scanf: Negative number must have field width > 1 (Chris von Recklinghausen) [1985062] - usb: host: xhci-tegra: Switch to use ptTs (Chris von Recklinghausen) [1985062] - nilfs2: Switch to use ptTs (Chris von Recklinghausen) [1985062] - kdb: Switch to use ptTs (Chris von Recklinghausen) [1985062] - lib/vsprintf: Allow to override ISO 8601 date and time separator (Chris von Recklinghausen) [1985062] - printk: Remove trailing semicolon in macros (Chris von Recklinghausen) [1985062] - printk: Move EXPORT_SYMBOL() closer to vprintk definition (Chris von Recklinghausen) [1985062] - kernel/printk.c: Fixed mundane typos (Chris von Recklinghausen) [1985062] - printk: rename vprintk_func to vprintk (Chris von Recklinghausen) [1985062] - printk: console: remove unnecessary safe buffer usage (Chris von Recklinghausen) [1985062] - printk: kmsg_dump: remove _nolock() variants (Chris von Recklinghausen) [1985062] - printk: remove logbuf_lock (Chris von Recklinghausen) [1985062] - printk: introduce a kmsg_dump iterator (Chris von Recklinghausen) [1985062] - printk: kmsg_dumper: remove @active field (Chris von Recklinghausen) [1985062] - printk: add syslog_lock (Chris von Recklinghausen) [1985062] - printk: use atomic64_t for devkmsg_user.seq (Chris von Recklinghausen) [1985062] - printk: use seqcount_latch for clear_seq (Chris von Recklinghausen) [1985062] - printk: introduce CONSOLE_LOG_MAX (Chris von Recklinghausen) [1985062] - printk: consolidate kmsg_dump_get_buffer/syslog_print_all code (Chris von Recklinghausen) [1985062] - printk: refactor kmsg_dump_get_buffer() (Chris von Recklinghausen) [1985062] - printk: kmsg_dump: remove unused fields (Chris von Recklinghausen) [1985062] - printk: limit second loop of syslog_print_all (Chris von Recklinghausen) [1985062] - mtd: mtdoops: synchronize kmsg_dumper (Chris von Recklinghausen) [1985062] - vsprintf: dump full information of page flags in pGp (Chris von Recklinghausen) [1985062] - mm, slub: don't combine pr_err with INFO (Chris von Recklinghausen) [1985062] - mm, slub: use pGp to print page flags (Chris von Recklinghausen) [1985062] - lib/vsprintf.c: remove leftover 'f' and 'F' cases from bstr_printf() (Chris von Recklinghausen) [1985062] - printk: clarify the documentation for plain pointer printing (Chris von Recklinghausen) [1985062] - lib/vsprintf: do not show no_hash_pointers message multiple times (Chris von Recklinghausen) [1985062] - kdb: Refactor env variables get/set code (Chris von Recklinghausen) [1985062] - kernel: debug: Ordinary typo fixes in the file gdbstub.c (Chris von Recklinghausen) [1985062] - kdb: Simplify kdb commands registration (Chris von Recklinghausen) [1985062] - seqlock,lockdep: Fix seqcount_latch_init() (Chris von Recklinghausen) [1985062] - printk: avoid prb_first_valid_seq() where possible (Chris von Recklinghausen) [1985062] - printk: rectify kernel-doc for prb_rec_init_wr() (Chris von Recklinghausen) [1985062] - lib/vsprintf: no_hash_pointers prints all addresses as unhashed (Chris von Recklinghausen) [1985062] - kselftest: add support for skipped tests (Chris von Recklinghausen) [1985062] - lib: use KSTM_MODULE_GLOBALS macro in kselftest drivers (Chris von Recklinghausen) [1985062] - printk: fix deadlock when kernel panic (Chris von Recklinghausen) [1985062] - torture: Remove "Failed to add ttynull console" false positive (Chris von Recklinghausen) [1985062] - printk: fix string termination for record_print_text() (Chris von Recklinghausen) [1985062] - printk: fix buffer overflow potential for print_text() (Chris von Recklinghausen) [1985062] - printk: fix kmsg_dump_get_buffer length calulations (Chris von Recklinghausen) [1985062] - printk: ringbuffer: fix line counting (Chris von Recklinghausen) [1985062] - Revert "init/console: Use ttynull as a fallback when there is no console" (Chris von Recklinghausen) [1985062] - printk: remove obsolete dead assignment (Chris von Recklinghausen) [1985062] - printk: ringbuffer: Reference text_data_ring directly in callees. (Chris von Recklinghausen) [1985062] - printk/console: Allow to disable console output by using console="" or console=null (Chris von Recklinghausen) [1985062] - init/console: Use ttynull as a fallback when there is no console (Chris von Recklinghausen) [1985062] - printk: remove logbuf_lock writer-protection of ringbuffer (Chris von Recklinghausen) [1985062] - printk: inline log_output(),log_store() in vprintk_store() (Chris von Recklinghausen) [1985062] - printk: remove unneeded dead-store assignment (Chris von Recklinghausen) [1985062] - printk: finalize records with trailing newlines (Chris von Recklinghausen) [1985062] - printk: ringbuffer: Wrong data pointer when appending small string (Chris von Recklinghausen) [1985062] - printk: reduce setup_text_buf size to LOG_LINE_MAX (Chris von Recklinghausen) [1985062] - printk: avoid and/or handle record truncation (Chris von Recklinghausen) [1985062] - printk: remove dict ring (Chris von Recklinghausen) [1985062] - printk: move dictionary keys to dev_printk_info (Chris von Recklinghausen) [1985062] - printk: move printk_info into separate array (Chris von Recklinghausen) [1985062] - printk: reimplement log_cont using record extension (Chris von Recklinghausen) [1985062] - printk: ringbuffer: add finalization/extension support (Chris von Recklinghausen) [1985062] - printk: ringbuffer: change representation of states (Chris von Recklinghausen) [1985062] - printk: ringbuffer: clear initial reserved fields (Chris von Recklinghausen) [1985062] - printk: ringbuffer: add BLK_DATALESS() macro (Chris von Recklinghausen) [1985062] - printk: ringbuffer: relocate get_data() (Chris von Recklinghausen) [1985062] - printk: ringbuffer: avoid memcpy() on state_var (Chris von Recklinghausen) [1985062] - printk: ringbuffer: fix setting state in desc_read() (Chris von Recklinghausen) [1985062] - seqlock: Introduce seqcount_latch_t (Chris von Recklinghausen) [1985062] - scripts/gdb: update for lockless printk ringbuffer (Chris von Recklinghausen) [1985062] - scripts/gdb: add utils.read_ulong() (Chris von Recklinghausen) [1985062] - printk: reduce LOG_BUF_SHIFT range for H8300 (Chris von Recklinghausen) [1985062] - printk: ringbuffer: support dataless records (Chris von Recklinghausen) [1985062] - MAINTAIERS: Add John Ogness as printk reviewer (Chris von Recklinghausen) [1985062] - printk: use the lockless ringbuffer (Chris von Recklinghausen) [1985062] - Revert "printk: lock/unlock console only for new logbuf entries" (Chris von Recklinghausen) [1985062] - printk: add lockless ringbuffer (Chris von Recklinghausen) [1985062] - crash: add VMCOREINFO macro to define offset in a struct declared by typedef (Chris von Recklinghausen) [1985062] - printk: Use fallthrough pseudo-keyword (Chris von Recklinghausen) [1985062] - kernel.h: Move oops_in_progress to printk.h (Chris von Recklinghausen) [1985062] - serial: 8250: change lock order in serial8250_do_startup() (Chris von Recklinghausen) [1985062] - kernel: printk: delete repeated words in comments (Chris von Recklinghausen) [1985062] - random32: Restore __latent_entropy attribute on net_rand_state (Chris von Recklinghausen) [1985062] - random32: add a tracepoint for prandom_u32() (Chris von Recklinghausen) [1985062] - init: open code setting up stdin/stdout/stderr (Chris von Recklinghausen) [1985062] - hvc: unify console setup naming (Chris von Recklinghausen) [1985062] - console: Fix trivia typo 'change' -> 'chance' (Chris von Recklinghausen) [1985062] - console: Propagate error code from console ->setup() (Chris von Recklinghausen) [1985062] - tty: hvc: Return proper error code from console ->setup() hook (Chris von Recklinghausen) [1985062] - lib/vsprintf: Force type of flags value for gfp_t (Chris von Recklinghausen) [1985062] - lib/vsprintf: Replace custom spec to print decimals with generic one (Chris von Recklinghausen) [1985062] - lib/vsprintf: Replace hidden BUILD_BUG_ON() with static_assert() (Chris von Recklinghausen) [1985062] - printk: Make linux/printk.h self-contained (Chris von Recklinghausen) [1985062] - doc:kmsg: explicitly state the return value in case of SEEK_CUR (Chris von Recklinghausen) [1985062] - Replace HTTP links with HTTPS ones: vsprintf (Chris von Recklinghausen) [1985062] - Revert "kernel/printk: add kmsg SEEK_CUR handling" (Chris von Recklinghausen) [1985062] - random32: move the pseudo-random 32-bit definitions to prandom.h (Chris von Recklinghausen) [1985062] - printk/kdb: Redirect printk messages into kdb in any context (Chris von Recklinghausen) [1985062] - usb: pulse8-cec: Switch to use ptT (Chris von Recklinghausen) [1985062] - lib/vsprintf: Print time64_t in human readable format (Chris von Recklinghausen) [1985062] - printk: Remove pr_cont_once() (Chris von Recklinghausen) [1985062] - printk: handle blank console arguments passed in. (Chris von Recklinghausen) [1985062] - kernel/printk: add kmsg SEEK_CUR handling (Chris von Recklinghausen) [1985062] - printk: Fix a typo in comment "interator"->"iterator" (Chris von Recklinghausen) [1985062] - printk: Correctly set CON_CONSDEV even when preferred console was not registered (Chris von Recklinghausen) [1985062] - printk: Fix preferred console selection with multiple matches (Chris von Recklinghausen) [1985062] - printk: Move console matching logic into a separate function (Chris von Recklinghausen) [1985062] - lib/vsprintf: update comment about simple_strto() functions (Chris von Recklinghausen) [1985062] - printk: Convert a use of sprintf to snprintf in console_unlock (Chris von Recklinghausen) [1985062] - lib/dynamic_debug.c: use address-of operator on section symbols (Chris von Recklinghausen) [1985062] - printk: fix exclusive_console replaying (Chris von Recklinghausen) [1985062] - Revert "fs: remove ksys_dup()" (Chris von Recklinghausen) [1985062] - early init: fix error handling when opening /dev/console (Chris von Recklinghausen) [1985062] - device.h: move dev_printk()-like functions to dev_printk.h (Chris von Recklinghausen) [1985062] - docs: printk-formats: add ptrdiff_t type to printk-formats (Chris von Recklinghausen) [1985062] - fs: remove ksys_dup() (Chris von Recklinghausen) [1985062] - MAINTAINERS: Add VSPRINTF (Chris von Recklinghausen) [1985062] - tools lib api: Renaming pr_warning to pr_warn (Chris von Recklinghausen) [1985062] - lib: cpu_rmap: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - trace: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - vgacon: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - scsi: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - platform/x86: intel_oaktrail: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - platform/x86: asus-laptop: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - platform/x86: eeepc-laptop: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - oprofile: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - of: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - macintosh: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - idsn: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - ide: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - crypto: n2: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - clocksource: samsung_pwm_timer: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - gdrom: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - drbd: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - x86: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - arm64: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - dump_stack: avoid the livelock of the dump_lock (Chris von Recklinghausen) [1985062] - lib/vsprintf: Add pfw conversion specifier for printing fwnode names (Chris von Recklinghausen) [1985062] - lib/vsprintf: Make use of fwnode API to obtain node names and separators (Chris von Recklinghausen) [1985062] - ABI: Update dev-kmsg documentation to match current kernel behaviour (Chris von Recklinghausen) [1985062] - printk: Replace strncmp() with str_has_prefix() (Chris von Recklinghausen) [1985062] - lib/test_printf: Remove obvious comments from pd and pD tests (Chris von Recklinghausen) [1985062] - lib/test_printf: Add test of null/invalid pointer dereference for dentry (Chris von Recklinghausen) [1985062] - vsprintf: Prevent crash when dereferencing invalid pointers for pD (Chris von Recklinghausen) [1985062] - printk: Do not lose last line in kmsg buffer dump (Chris von Recklinghausen) [1985062] - scripts/gdb: fix lx-dmesg when CONFIG_PRINTK_CALLER is set (Chris von Recklinghausen) [1985062] - lib/vsprintf: Remove support for pF and pf in favour of pS and ps (Chris von Recklinghausen) [1985062] - tracing: kdb: Allow ftdump to skip all but the last few entries (Chris von Recklinghausen) [1985062] - tracing: kdb: The skip_lines parameter should have been skip_entries (Chris von Recklinghausen) [1985062] - tracing: Add trace_total_entries() / trace_total_entries_cpu() (Chris von Recklinghausen) [1985062] - tty: Add NULL TTY driver (Chris von Recklinghausen) [1985062] - treewide: Switch printk users from pf and pF to ps and pS, respectively (Chris von Recklinghausen) [1985062] - iio: adc: fix warning in Qualcomm PM8xxx HK/XOADC driver (Chris von Recklinghausen) [1985062] - device.h: Add __cold to dev_ logging functions (Chris von Recklinghausen) [1985062] - dynamic_debug: move pr_err from module.c to ddebug_add_module (Chris von Recklinghausen) [1985062] - dynamic_debug: don't duplicate modname in ddebug_add_module (Chris von Recklinghausen) [1985062] - kdb: use bool for binary state indicators (Chris von Recklinghausen) [1985062] - panic: avoid deadlocks in re-entrant console drivers (Chris von Recklinghausen) [1985062] - x86/apic: Trivial coding style fixes (Chris von Recklinghausen) [1985062] - video/console/vgacon: Print big fat warning with nomodeset (Chris von Recklinghausen) [1985062] - device: Add #define dev_fmt similar to #define pr_fmt (Chris von Recklinghausen) [1985062] - bcache: replace 'pF' by 'pS' in seq_printf() (Chris von Recklinghausen) [1985062] - Revert "Merge: redhat: switch secureboot kernel image signing to release keys" (Augusto Caringi) - drm/nouveau/fifo/ga102: initialise chid on return from channel creation (Ben Skeggs) [1997878] - drm/nouveau/ga102-: support ttm buffer moves via copy engine (Ben Skeggs) [1997878] - drm/nouveau/kms/tu102-: delay enabling cursor until after assign_windows (Ben Skeggs) [1997878] - drm/nouveau/kms/nv50: workaround EFI GOP window channel format differences (Ben Skeggs) [1997878] - drm/nouveau/disp: power down unused DP links during init (Ben Skeggs) [1997878] - drm/nouveau: recognise GA107 (Ben Skeggs) [1997878] - PCI: Mark TI C667X to avoid bus reset (Alex Williamson) [1975768] - redhat: switch secureboot kernel image signing to release keys (Bruno Meneguele) - CI: handle RT branches in a single config (Veronika Kabatova) - CI: Fix RT check branch name (Veronika Kabatova) - CI: Drop private CI config (Veronika Kabatova) - CI: extend template use (Veronika Kabatova) - Revert "Merge: mt7921e: enable new Mediatek wireless hardware" (Bruno Meneguele) [2009501] - megaraid_sas: fix concurrent access to ISR between IRQ polling and real interrupt (Tomas Henzl) [2009022] - scsi: megaraid_sas: mq_poll support (Tomas Henzl) [2009022] - [PATCH v2] scsi: qla2xxx: Suppress unnecessary log messages during login (Nilesh Javali) [1982186] - scsi: qla2xxx: Fix excessive messages during device logout (Nilesh Javali) [1982186] - PCI: pciehp: Ignore Link Down/Up caused by DPC (Myron Stowe) [1981741] - arm64: kpti: Fix "kpti=off" when KASLR is enabled (Mark Salter) [1979731] - arm64: Fix CONFIG_ARCH_RANDOM=n build (Mark Salter) [1979731] - redhat/configs: aarch64: add CONFIG_ARCH_RANDOM (Mark Salter) [1979731] - arm64: Implement archrandom.h for ARMv8.5-RNG (Mark Salter) [1979731] - arm64: kconfig: Fix alignment of E0PD help text (Mark Salter) [1979731] - arm64: Use register field helper in kaslr_requires_kpti() (Mark Salter) [1979731] - arm64: Simplify early check for broken TX1 when KASLR is enabled (Mark Salter) [1979731] - arm64: Use a variable to store non-global mappings decision (Mark Salter) [1979731] - arm64: Don't use KPTI where we have E0PD (Mark Salter) [1979731] - arm64: Factor out checks for KASLR in KPTI code into separate function (Mark Salter) [1979731] - redhat/configs: Add CONFIG_ARM64_E0PD (Mark Salter) [1979731] - arm64: Add initial support for E0PD (Mark Salter) [1979731] - arm64: cpufeature: Export matrix and other features to userspace (Mark Salter) [1980098] - arm64: docs: cpu-feature-registers: Document ID_AA64PFR1_EL1 (Mark Salter) [1980098] - docs/arm64: cpu-feature-registers: Rewrite bitfields that don't follow [e, s] (Mark Salter) [1980098] - docs/arm64: cpu-feature-registers: Documents missing visible fields (Mark Salter) [1980098] - arm64: Introduce system_capabilities_finalized() marker (Mark Salter) [1980098] - arm64: entry.S: Do not preempt from IRQ before all cpufeatures are enabled (Mark Salter) [1980098] - docs/arm64: elf_hwcaps: Document HWCAP_SB (Mark Salter) [1980098] - docs/arm64: elf_hwcaps: sort the HWCAP{, 2} documentation by ascending value (Mark Salter) [1980098] - arm64: cpufeature: Treat ID_AA64ZFR0_EL1 as RAZ when SVE is not enabled (Mark Salter) [1980098] - arm64: cpufeature: Effectively expose FRINT capability to userspace (Mark Salter) [1980098] - arm64: cpufeature: Fix feature comparison for CTR_EL0.{CWG,ERG} (Mark Salter) [1980098] - arm64: Expose FRINT capabilities to userspace (Mark Salter) [1980098] - arm64: Expose ARMv8.5 CondM capability to userspace (Mark Salter) [1980098] - docs: arm64: convert perf.txt to ReST format (Mark Salter) [1980098] - docs: arm64: convert docs to ReST and rename to .rst (Mark Salter) [1980098] - Documentation/arm64: HugeTLB page implementation (Mark Salter) [1980098] - Documentation/arm64/sve: Couple of improvements and typos (Mark Salter) [1980098] - arm64: cpufeature: Fix missing ZFR0 in __read_sysreg_by_encoding() (Mark Salter) [1980098] - arm64: Expose SVE2 features for userspace (Mark Salter) [1980098] - arm64: Advertise ARM64_HAS_DCPODP cpu feature (Mark Salter) [1980098] - arm64: add CVADP support to the cache maintenance helper (Mark Salter) [1980098] - arm64: Fix minor issues with the dcache_by_line_op macro (Mark Salter) [1980098] - arm64: Expose DC CVADP to userspace (Mark Salter) [1980098] - arm64: Handle trapped DC CVADP (Mark Salter) [1980098] - arm64: HWCAP: encapsulate elf_hwcap (Mark Salter) [1980098] - arm64: HWCAP: add support for AT_HWCAP2 (Mark Salter) [1980098] - x86/MCE/AMD, EDAC/mce_amd: Add new SMCA bank types (Aristeu Rozanski) [1965331] - x86/MCE/AMD, EDAC/mce_amd: Remove struct smca_hwid.xec_bitmap (Aristeu Rozanski) [1965331] - EDAC, mce_amd: Print ExtErrorCode and description on a single line (Aristeu Rozanski) [1965331]- scsi: ibmvfc: Fix command state accounting and stale response detection (Steve Best) [1988157] - tasklist_lock, ppc64: Convert tasklist_lock to use qrwlock for ppc64 (Waiman Long) [1978377] - tasklist_lock, ppc64: Provide infrastructure to support specific use of qrwlock (Waiman Long) [1978377] - redhat/configs: Disable CONFIG_PPC_QUEUED_SPINLOCKS (Waiman Long) [1978377] - qspinlock: use signed temporaries for cmpxchg (Waiman Long) [1978377] - powerpc/qspinlock: Optimised atomic_try_cmpxchg_lock() that adds the lock hint (Waiman Long) [1978377] - powerpc/pseries: Implement paravirt qspinlocks for SPLPAR (Waiman Long) [1978377] - powerpc/64s: Implement queued spinlocks and rwlocks (Waiman Long) [1978377] - powerpc: Move spinlock implementation to simple_spinlock (Waiman Long) [1978377] - locking/spinlocks: Remove an instruction from spin and write locks (Waiman Long) [1978377] - net: Fix skb->csum update in inet_proto_csum_replace16(). (Balazs Nemeth) [1975193] - [s390] s390/dasd: fix use after free in dasd path handling (Claudio Imbrenda) [1996764] - powerpc/bpf: Fix detecting BPF atomic instructions (Viktor Malik) [1931483] - selftests/bpf: ringbuf_multi: Test bpf_map__set_inner_map_fd (Viktor Malik) [1931483] - selftests/bpf: ringbuf_multi: Use runtime page size (Viktor Malik) [1931483] - libbpf: Add bpf_map__inner_map API (Viktor Malik) [1931483] - selftests/bpf: ringbuf: Use runtime page size (Viktor Malik) [1931483] - selftests/bpf: mmap: Use runtime page size (Viktor Malik) [1931483] - selftests/bpf: Pass page size from userspace in map_ptr (Viktor Malik) [1931483] - selftests/bpf: Pass page size from userspace in sockopt_sk (Viktor Malik) [1931483] - selftests/bpf: test_progs/sockopt_sk: Convert to use BPF skeleton (Viktor Malik) [1931483] - selftests/bpf: test_progs/sockopt_sk: Remove version (Viktor Malik) [1931483] - powerpc/64s: Fix crashes when toggling entry flush barrier (Diego Domingos) [1894804] - powerpc/64s: flush L1D after user accesses (Diego Domingos) [1894804] - powerpc/uaccess: Evaluate macro arguments once, before user access is allowed (Diego Domingos) [1894804] - powerpc: Fix __clear_user() with KUAP enabled (Diego Domingos) [1894804] - powerpc: Implement user_access_begin and friends (Diego Domingos) [1894804] - powerpc: Add a framework for user access tracking (Diego Domingos) [1894804] - powerpc/64s: flush L1D on kernel entry (Diego Domingos) [1894804] - redhat: enable CONFIG_SLAB_FREELIST_HARDENED (Rafael Aquini) [1862283] - include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for swap (Rafael Aquini) [1862283] - uapi: rename ext2_swab() to swab() and share globally in swab.h (Rafael Aquini) [1862283] - lib/timerqueue: Rely on rbtree semantics for next timer (Phil Auld) [1984798] - e1000e: Do not take care about recovery NVM checksum (Ken Cox) [1984558] - qrtr: disable CONFIG_QRTR for non x86_64 archs (Íñigo Huguet) [1999642] - ceph: fix possible null-pointer dereference in ceph_mdsmap_decode() (Jeff Layton) [1989999] - ceph: fix dereference of null pointer cf (Jeff Layton) [1989999] - ceph: correctly handle releasing an embedded cap flush (Jeff Layton) [1989999] - ceph: take snap_empty_lock atomically with snaprealm refcount change (Jeff Layton) [1989999] - ceph: don't WARN if we're still opening a session to an MDS (Jeff Layton) [1989999] - rbd: don't hold lock_rwsem while running_list is being drained (Jeff Layton) [1989999] - rbd: always kick acquire on "acquired" and "released" notifications (Jeff Layton) [1989999] - ceph: take reference to req->r_parent at point of assignment (Jeff Layton) [1989999] - ceph: eliminate ceph_async_iput() (Jeff Layton) [1989999] - ceph: don't take s_mutex in ceph_flush_snaps (Jeff Layton) [1989999] - ceph: don't take s_mutex in try_flush_caps (Jeff Layton) [1989999] - ceph: don't take s_mutex or snap_rwsem in ceph_check_caps (Jeff Layton) [1989999] - ceph: eliminate session->s_gen_ttl_lock (Jeff Layton) [1989999] - ceph: allow ceph_put_mds_session to take NULL or ERR_PTR (Jeff Layton) [1989999] - ceph: clean up locking annotation for ceph_get_snap_realm and __lookup_snap_realm (Jeff Layton) [1989999] - ceph: add some lockdep assertions around snaprealm handling (Jeff Layton) [1989999] - ceph: decoding error in ceph_update_snap_realm should return -EIO (Jeff Layton) [1989999] - ceph: add IO size metrics support (Jeff Layton) [1989999] - ceph: update and rename __update_latency helper to __update_stdev (Jeff Layton) [1989999] - ceph: simplify the metrics struct (Jeff Layton) [1989999] - libceph: fix doc warnings in cls_lock_client.c (Jeff Layton) [1989999] - libceph: remove unnecessary ret variable in ceph_auth_init() (Jeff Layton) [1989999] - libceph: kill ceph_none_authorizer::reply_buf (Jeff Layton) [1989999] - ceph: make ceph_queue_cap_snap static (Jeff Layton) [1989999] - ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty (Jeff Layton) [1989999] - libceph: set global_id as soon as we get an auth ticket (Jeff Layton) [1989999] - libceph: don't pass result into ac->ops->handle_reply() (Jeff Layton) [1989999] - ceph: fix error handling in ceph_atomic_open and ceph_lookup (Jeff Layton) [1989999] - ceph: must hold snap_rwsem when filling inode for async create (Jeff Layton) [1989999] - libceph: Fix spelling mistakes (Jeff Layton) [1989999] - libceph: don't set global_id until we get an auth ticket (Jeff Layton) [1989999] - libceph: bump CephXAuthenticate encoding version (Jeff Layton) [1989999] - ceph: don't allow access to MDS-private inodes (Jeff Layton) [1989999] - ceph: fix up some bare fetches of i_size (Jeff Layton) [1989999] - ceph: support getting ceph.dir.rsnaps vxattr (Jeff Layton) [1989999] - ceph: drop pinned_page parameter from ceph_get_caps (Jeff Layton) [1989999] - ceph: fix inode leak on getattr error in __fh_to_dentry (Jeff Layton) [1989999] - ceph: only check pool permissions for regular files (Jeff Layton) [1989999] - ceph: send opened files/pinned caps/opened inodes metrics to MDS daemon (Jeff Layton) [1989999] - ceph: avoid counting the same request twice or more (Jeff Layton) [1989999] - ceph: rename the metric helpers (Jeff Layton) [1989999] - ceph: fix kerneldoc copypasta over ceph_start_io_direct (Jeff Layton) [1989999] - ceph: don't use d_add in ceph_handle_snapdir (Jeff Layton) [1989999] - ceph: don't clobber i_snap_caps on non-I_NEW inode (Jeff Layton) [1989999] - ceph: fix fall-through warnings for Clang (Jeff Layton) [1989999] - net: ceph: Fix a typo in osdmap.c (Jeff Layton) [1989999] - ceph: don't allow type or device number to change on non-I_NEW inodes (Jeff Layton) [1989999] - ceph: defer flushing the capsnap if the Fb is used (Jeff Layton) [1989999] - ceph: allow queueing cap/snap handling after putting cap references (Jeff Layton) [1989999] - ceph: clean up inode work queueing (Jeff Layton) [1989999] - ceph: fix flush_snap logic after putting caps (Jeff Layton) [1989999] - libceph: fix "Boolean result is used in bitwise operation" warning (Jeff Layton) [1989999] - new helper: inode_wrong_type() (Jeff Layton) [1989999] - kabi: Adding symbol single_release (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol single_open (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol seq_read (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol seq_printf (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol seq_lseek (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol unregister_chrdev_region (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol cdev_init (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol cdev_del (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol cdev_alloc (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol cdev_add (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol alloc_chrdev_region (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol pcie_capability_read_word (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pcie_capability_read_dword (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pcie_capability_clear_and_set_word (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_write_config_dword (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_write_config_byte (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_set_power_state (drivers/pci/pci.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_read_config_dword (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_read_config_byte (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_irq_vector (drivers/pci/msi.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_get_device (drivers/pci/search.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_free_irq_vectors (drivers/pci/msi.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_alloc_irq_vectors_affinity (drivers/pci/msi.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol kexec_crash_loaded (kernel/kexec_core.c) (Čestmír Kalina) [1945491] - perf/x86/intel: Fix PEBS-via-PT reload base value for Extended PEBS (Michael Petlan) [1998051] - perf/x86/intel/uncore: Fix Add BW copypasta (Michael Petlan) [1998051] - perf/x86/intel/uncore: Add BW counters for GT, IA and IO breakdown (Michael Petlan) [1998051] - Revert "ice: Add initial support framework for LAG" (Michal Schmidt) [1999016] - net: re-initialize slow_gro flag at gro_list_prepare time (Paolo Abeni) [2002367] - cxgb4: dont touch blocked freelist bitmap after free (Rahul Lakkireddy) [1998148] - cxgb4vf: configure ports accessible by the VF (Rahul Lakkireddy) [1961329] - scsi: lpfc: Fix memory leaks in error paths while issuing ELS RDF/SCR request (Dick Kennedy) [1976332] - scsi: lpfc: Keep NDLP reference until after freeing the IOCB after ELS handling (Dick Kennedy) [1976332] - scsi: lpfc: Move initialization of phba->poll_list earlier to avoid crash (Dick Kennedy) [1976332]- md/raid10: properly indicate failure when ending a failed write request (Nigel Croxon) [1983859] - md: Constify attribute_group structs (Nigel Croxon) [1983859] - md: mark some personalities as deprecated (Nigel Croxon) [1983859] - md/raid1: rename print_msg with r1bio_existed (Nigel Croxon) [1983859] - async_xor: check src_offs is not NULL before updating it (Nigel Croxon) [1983859] - async_xor: increase src_offs when dropping destination page (Nigel Croxon) [1983859] - md/raid5: reallocate page array after setting new stripe_size (Nigel Croxon) [1983859] - md/raid5: resize stripe_head when reshape array (Nigel Croxon) [1983859] - md/raid5: let multiple devices of stripe_head share page (Nigel Croxon) [1983859] - md/raid6: let async recovery function support different page offset (Nigel Croxon) [1983859] - md/raid6: let syndrome computor support different page offset (Nigel Croxon) [1983859] - md/raid5: convert to new xor compution interface (Nigel Croxon) [1983859] - md/raid5: add new xor function to support different page offset (Nigel Croxon) [1983859] - md/raid5: make async_copy_data() to support different page offset (Nigel Croxon) [1983859] - md/raid5: add a new member of offset into r5dev (Nigel Croxon) [1983859] - x86/cpu: Update cached HLE state on write to TSX_CTRL_CPUID_CLEAR (Jay Shin) [1994421] - crypto: ccp - Add support for new CCP/PSP device ID (Vladis Dronov) [1987094] - crypto: ccp - shutdown SEV firmware on kexec (Vladis Dronov) [1987094] - crypto: ccp - Use list_move_tail instead of list_del/list_add_tail in ccp-dmaengine.c (Vladis Dronov) [1987094] - crypto: ccp: ccp-dev: Fix a little doc-rot (Vladis Dronov) [1987094] - crypto: ccp - Fix a resource leak in an error handling path (Vladis Dronov) [1987094] - crypto: ccp - Annotate SEV Firmware file names (Vladis Dronov) [1987094] - crypto: ccp - Make ccp_dev_suspend and ccp_dev_resume void functions (Vladis Dronov) [1987094] - crypto: ccp - Use DEFINE_SPINLOCK() for spinlock (Vladis Dronov) [1987094] - crypto: ccp - A value assigned to a variable is never used (Vladis Dronov) [1987094] - crypto: ccp - Don't initialize SEV support without the SEV feature (Vladis Dronov) [1987094] - crypto: ccp - fix error handling (Vladis Dronov) [1987094] - crypto: ccp - use generic power management (Vladis Dronov) [1987094] - crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1987094] - crypto: ahash - remove useless setting of type flags (Vladis Dronov) [1987094] - crypto: ccp - Silence strncpy warning (Vladis Dronov) [1987094] - crypto: ccp - permit asynchronous skcipher as fallback (Vladis Dronov) [1987094] - crypto: ccp - Fix sparse warnings (Vladis Dronov) [1987094] - crypto: ccp - Update CCP driver maintainer information (Vladis Dronov) [1987094] - crypto: ccp - Fix use of merged scatterlists (Vladis Dronov) [1987094] - crypto: ccp - remove redundant assignment to variable ret (Vladis Dronov) [1987094] - crypto: ccp - use crypto_shash_tfm_digest() (Vladis Dronov) [1987094] - crypto: hash - introduce crypto_shash_tfm_digest() (Vladis Dronov) [1987094] - crypto: ccp -- don't "select" CONFIG_DMADEVICES (Vladis Dronov) [1987094] - crypto: ccp - Update MAINTAINERS for CCP driver (Vladis Dronov) [1987094] - crypto: ccp - switch from ablkcipher to skcipher (Vladis Dronov) [1987094] - ipc: replace costly bailout check in sysvipc_find_ipc() (Rafael Aquini) [1980619 1987128] {CVE-2021-3669} - ipc/util.c: sysvipc_find_ipc() incorrectly updates position index (Rafael Aquini) [1980619 1987128] {CVE-2021-3669} - ipc/util.c: sysvipc_find_ipc() should increase position index (Rafael Aquini) [1980619 1987128] {CVE-2021-3669} - psi: Fix psi state corruption when schedule() races with cgroup move (Waiman Long) [2002025] - psi: Optimize task switch inside shared cgroups (Waiman Long) [2002025] - kthread: Fix PF_KTHREAD vs to_kthread() race (Waiman Long) [2002025] - sched/fair: Ignore percpu threads for imbalance pulls (Waiman Long) [2002025] - sched: Fix get_push_task() vs migrate_disable() (Waiman Long) [2002025] - sched: Don't defer CPU pick to migration_cpu_stop() (Waiman Long) [2002025] - sched: Simplify migration_cpu_stop() (Waiman Long) [2002025] - sched: Simplify set_affinity_pending refcounts (Waiman Long) [2002025] - sched: Fix affine_move_task() self-concurrency (Waiman Long) [2002025] - sched: Optimize migration_cpu_stop() (Waiman Long) [2002025] - sched: Collate affine_move_task() stoppers (Waiman Long) [2002025] - sched: Simplify migration_cpu_stop() (Waiman Long) [2002025] - sched: Fix migration_cpu_stop() requeueing (Waiman Long) [2002025] - sched: Relax the set_cpus_allowed_ptr() semantics (Waiman Long) [2002025] - sched: Fix CPU hotplug / tighten is_per_cpu_kthread() (Waiman Long) [2002025] - sched: Prepare to use balance_push in ttwu() (Waiman Long) [2002025] - workqueue: Restrict affinity change to rescuer (Waiman Long) [2002025] - workqueue: Tag bound workers with KTHREAD_IS_PER_CPU (Waiman Long) [2002025] - kthread: Extract KTHREAD_IS_PER_CPU (Waiman Long) [2002025] - sched: Don't run cpu-online with balance_push() enabled (Waiman Long) [2002025] - workqueue: Use cpu_possible_mask instead of cpu_active_mask to break affinity (Waiman Long) [2002025] - sched/core: Print out straggler tasks in sched_cpu_dying() (Waiman Long) [2002025] - sched: Optimize finish_lock_switch() (Waiman Long) [2002025] - sched: Fix migration_cpu_stop() WARN (Waiman Long) [2002025] - sched/core: Add missing completion for affine_move_task() waiters (Waiman Long) [2002025] - stop_machine, rcu: Mark functions as notrace (Waiman Long) [2002025] - sched: Comment affine_move_task() (Waiman Long) [2002025] - sched: Deny self-issued __set_cpus_allowed_ptr() when migrate_disable() (Waiman Long) [2002025] - sched/proc: Print accurate cpumask vs migrate_disable() (Waiman Long) [2002025] - sched: Make migrate_disable/enable() independent of RT (Waiman Long) [2002025] - sched: Fix migrate_disable() vs rt/dl balancing (Waiman Long) [2002025] - sched, lockdep: Annotate ->pi_lock recursion (Waiman Long) [2002025] - sched,rt: Use the full cpumask for balancing (Waiman Long) [2002025] - sched,rt: Use cpumask_any*_distribute() (Waiman Long) [2002025] - sched/core: Make migrate disable and CPU hotplug cooperative (Waiman Long) [2002025] - sched: Fix migrate_disable() vs set_cpus_allowed_ptr() (Waiman Long) [2002025] - sched: Add migrate_disable() (Waiman Long) [2002025] - sched: Massage set_cpus_allowed() (Waiman Long) [2002025] - sched: Fix hotplug vs CPU bandwidth control (Waiman Long) [2002025] - sched/hotplug: Consolidate task migration on CPU unplug (Waiman Long) [2002025] - workqueue: Manually break affinity on hotplug (Waiman Long) [2002025] - sched/core: Wait for tasks being pushed away on hotplug (Waiman Long) [2002025] - sched/hotplug: Ensure only per-cpu kthreads run during hotplug (Waiman Long) [2002025] - sched: Fix balance_callback() (Waiman Long) [2002025] - maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault (Waiman Long) [2002025] - s390/ftrace: fix potential crashes when switching tracers (Waiman Long) [2002025] - psi: Move PF_MEMSTALL out of task->flags (Waiman Long) [2002025] - psi: Optimize switching tasks inside shared cgroups (Waiman Long) [2002025] - psi: Fix cpu.pressure for cpu.max and competing cgroups (Waiman Long) [2002025] - stop_machine: Make stop_cpus() static (Waiman Long) [2002025] - stop_machine: remove try_stop_cpus helper (Waiman Long) [2002025] - kernel.h: Add non_block_start/end() (Waiman Long) [2002025] - processor: get rid of cpu_relax_yield (Waiman Long) [2002025] - processor: remove spin_cpu_yield (Waiman Long) [2002025] - s390: improve wait logic of stop_machine (Waiman Long) [2002025] - sched/core: Fix typo in comment (Waiman Long) [2002025] - ia64/tlb: Eradicate tlb_migrate_finish() callback (Waiman Long) [2002025] - sched/core: Remove unnecessary unlikely() in push_*_task() (Waiman Long) [2002025] - sched/fair: Reduce long-tail newly idle balance cost (Phil Auld) [1971918] - hwmon: (acpi_power_meter) Fix lockdep splat (Waiman Long) [1997807] - redhat: open the RHEL-8.6 development (Augusto Caringi) [2000679] - rcu: Avoid unneeded function call in rcu_read_unlock() (Waiman Long) [1997500] - mt76: connac: do not schedule mac_work if the device is not running (Íñigo Huguet) [1956419 1972045] - mt7921e: enable module in config (Íñigo Huguet) [1956419 1972045] - Revert tools/power/cpupower: Read energy_perf_bias from sysfs (Steve Best) [1999926] - libnvdimm/namespace: Differentiate between probe mapping and runtime mapping (Jeff Moyer) [1795719] - libnvdimm/pfn_dev: Don't clear device memmap area during generic namespace probe (Jeff Moyer) [1795719] - perf/x86/intel/uncore: Clean up error handling path of iio mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Fix for iio mapping on Skylake Server (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the MMIO type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the PCI type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Rename uncore_notifier to uncore_pci_sub_notifier (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the MSR type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Parse uncore discovery tables (Michael Petlan) [1837330] - perf/x86/intel/uncore: Expose an Uncore unit to IIO PMON mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Wrap the max dies calculation into an accessor (Michael Petlan) [1837330] - perf/x86/intel/uncore: Expose an Uncore unit to PMON mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Validate MMIO address before accessing (Michael Petlan) [1837330] - perf/x86/intel/uncore: Record the size of mapped area (Michael Petlan) [1837330] - perf/x86/intel/uncore: Fix oops when counting IMC uncore events on some TGL (Michael Petlan) [1837330] - crypto: qat - remove unused macro in FW loader (Vladis Dronov) [1920086] - crypto: qat - check return code of qat_hal_rd_rel_reg() (Vladis Dronov) [1920086] - crypto: qat - report an error if MMP file size is too large (Vladis Dronov) [1920086] - crypto: qat - check MMP size before writing to the SRAM (Vladis Dronov) [1920086] - crypto: qat - return error when failing to map FW (Vladis Dronov) [1920086] - crypto: qat - enable detection of accelerators hang (Vladis Dronov) [1920086] - crypto: qat - Fix a double free in adf_create_ring (Vladis Dronov) [1920086] - crypto: qat - fix error path in adf_isr_resource_alloc() (Vladis Dronov) [1920086] - crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init (Vladis Dronov) [1920086] - crypto: qat - don't release uninitialized resources (Vladis Dronov) [1920086] - crypto: qat - fix use of 'dma_map_single' (Vladis Dronov) [1920086] - crypto: qat - fix unmap invalid dma address (Vladis Dronov) [1920086] - crypto: qat - fix spelling mistake: "messge" -> "message" (Vladis Dronov) [1920086] - crypto: qat - reduce size of mapped region (Vladis Dronov) [1920086] - crypto: qat - change format string and cast ring size (Vladis Dronov) [1920086] - crypto: qat - fix potential spectre issue (Vladis Dronov) [1920086] - crypto: qat - configure arbiter mapping based on engines enabled (Vladis Dronov) [1920086] - selftest: netfilter: add test case for unreplied tcp connections (Florian Westphal) [1991523] - netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state (Florian Westphal) [1991523] - net/sched: store the last executed chain also for clsact egress (Davide Caratti) [1980537] - ice: fix Tx queue iteration for Tx timestamp enablement (Ken Cox) [1999743] - perf evsel: Add missing cloning of evsel->use_config_name (Michael Petlan) [1838635] - perf Documentation: Document intel-hybrid support (Michael Petlan) [1838635] - perf tests: Skip 'perf stat metrics (shadow stat) test' for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Convert perf time to TSC' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Session topology' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Parse and process metrics' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Track with sched_switch' test for hybrid (Michael Petlan) [1838635] - perf tests: Skip 'Setup struct perf_event_attr' test for hybrid (Michael Petlan) [1838635] - perf tests: Add hybrid cases for 'Roundtrip evsel->name' test (Michael Petlan) [1838635] - perf tests: Add hybrid cases for 'Parse event definition strings' test (Michael Petlan) [1838635] - perf record: Uniquify hybrid event name (Michael Petlan) [1838635] - perf stat: Warn group events from different hybrid PMU (Michael Petlan) [1838635] - perf stat: Filter out unmatched aggregation for hybrid event (Michael Petlan) [1838635] - perf stat: Add default hybrid events (Michael Petlan) [1838635] - perf record: Create two hybrid 'cycles' events by default (Michael Petlan) [1838635] - perf parse-events: Support event inside hybrid pmu (Michael Petlan) [1838635] - perf parse-events: Compare with hybrid pmu name (Michael Petlan) [1838635] - perf parse-events: Create two hybrid raw events (Michael Petlan) [1838635] - perf parse-events: Create two hybrid cache events (Michael Petlan) [1838635] - perf parse-events: Create two hybrid hardware events (Michael Petlan) [1838635] - perf stat: Uniquify hybrid event name (Michael Petlan) [1838635] - perf pmu: Add hybrid helper functions (Michael Petlan) [1838635] - perf pmu: Save detected hybrid pmus to a global pmu list (Michael Petlan) [1838635] - perf pmu: Save pmu name (Michael Petlan) [1838635] - perf pmu: Simplify arguments of __perf_pmu__new_alias (Michael Petlan) [1838635] - perf jevents: Support unit value "cpu_core" and "cpu_atom" (Michael Petlan) [1838635] - tools headers uapi: Update tools's copy of linux/perf_event.h (Michael Petlan) [1838635]- rcu: Avoid unneeded function call in rcu_read_unlock() (Waiman Long) [1997500] - mt76: connac: do not schedule mac_work if the device is not running (Íñigo Huguet) [1956419 1972045] - mt7921e: enable module in config (Íñigo Huguet) [1956419 1972045] - Revert tools/power/cpupower: Read energy_perf_bias from sysfs (Steve Best) [1999926] - libnvdimm/namespace: Differentiate between probe mapping and runtime mapping (Jeff Moyer) [1795719] - libnvdimm/pfn_dev: Don't clear device memmap area during generic namespace probe (Jeff Moyer) [1795719] - perf/x86/intel/uncore: Clean up error handling path of iio mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Fix for iio mapping on Skylake Server (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the MMIO type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the PCI type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Rename uncore_notifier to uncore_pci_sub_notifier (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the MSR type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Parse uncore discovery tables (Michael Petlan) [1837330] - perf/x86/intel/uncore: Expose an Uncore unit to IIO PMON mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Wrap the max dies calculation into an accessor (Michael Petlan) [1837330] - perf/x86/intel/uncore: Expose an Uncore unit to PMON mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Validate MMIO address before accessing (Michael Petlan) [1837330] - perf/x86/intel/uncore: Record the size of mapped area (Michael Petlan) [1837330] - perf/x86/intel/uncore: Fix oops when counting IMC uncore events on some TGL (Michael Petlan) [1837330] - crypto: qat - remove unused macro in FW loader (Vladis Dronov) [1920086] - crypto: qat - check return code of qat_hal_rd_rel_reg() (Vladis Dronov) [1920086] - crypto: qat - report an error if MMP file size is too large (Vladis Dronov) [1920086] - crypto: qat - check MMP size before writing to the SRAM (Vladis Dronov) [1920086] - crypto: qat - return error when failing to map FW (Vladis Dronov) [1920086] - crypto: qat - enable detection of accelerators hang (Vladis Dronov) [1920086] - crypto: qat - Fix a double free in adf_create_ring (Vladis Dronov) [1920086] - crypto: qat - fix error path in adf_isr_resource_alloc() (Vladis Dronov) [1920086] - crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init (Vladis Dronov) [1920086] - crypto: qat - don't release uninitialized resources (Vladis Dronov) [1920086] - crypto: qat - fix use of 'dma_map_single' (Vladis Dronov) [1920086] - crypto: qat - fix unmap invalid dma address (Vladis Dronov) [1920086] - crypto: qat - fix spelling mistake: "messge" -> "message" (Vladis Dronov) [1920086] - crypto: qat - reduce size of mapped region (Vladis Dronov) [1920086] - crypto: qat - change format string and cast ring size (Vladis Dronov) [1920086] - crypto: qat - fix potential spectre issue (Vladis Dronov) [1920086] - crypto: qat - configure arbiter mapping based on engines enabled (Vladis Dronov) [1920086]- selftest: netfilter: add test case for unreplied tcp connections (Florian Westphal) [1991523] - netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state (Florian Westphal) [1991523] - net/sched: store the last executed chain also for clsact egress (Davide Caratti) [1980537] - ice: fix Tx queue iteration for Tx timestamp enablement (Ken Cox) [1999743] - perf evsel: Add missing cloning of evsel->use_config_name (Michael Petlan) [1838635] - perf Documentation: Document intel-hybrid support (Michael Petlan) [1838635] - perf tests: Skip 'perf stat metrics (shadow stat) test' for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Convert perf time to TSC' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Session topology' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Parse and process metrics' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Track with sched_switch' test for hybrid (Michael Petlan) [1838635] - perf tests: Skip 'Setup struct perf_event_attr' test for hybrid (Michael Petlan) [1838635] - perf tests: Add hybrid cases for 'Roundtrip evsel->name' test (Michael Petlan) [1838635] - perf tests: Add hybrid cases for 'Parse event definition strings' test (Michael Petlan) [1838635] - perf record: Uniquify hybrid event name (Michael Petlan) [1838635] - perf stat: Warn group events from different hybrid PMU (Michael Petlan) [1838635] - perf stat: Filter out unmatched aggregation for hybrid event (Michael Petlan) [1838635] - perf stat: Add default hybrid events (Michael Petlan) [1838635] - perf record: Create two hybrid 'cycles' events by default (Michael Petlan) [1838635] - perf parse-events: Support event inside hybrid pmu (Michael Petlan) [1838635] - perf parse-events: Compare with hybrid pmu name (Michael Petlan) [1838635] - perf parse-events: Create two hybrid raw events (Michael Petlan) [1838635] - perf parse-events: Create two hybrid cache events (Michael Petlan) [1838635] - perf parse-events: Create two hybrid hardware events (Michael Petlan) [1838635] - perf stat: Uniquify hybrid event name (Michael Petlan) [1838635] - perf pmu: Add hybrid helper functions (Michael Petlan) [1838635] - perf pmu: Save detected hybrid pmus to a global pmu list (Michael Petlan) [1838635] - perf pmu: Save pmu name (Michael Petlan) [1838635] - perf pmu: Simplify arguments of __perf_pmu__new_alias (Michael Petlan) [1838635] - perf jevents: Support unit value "cpu_core" and "cpu_atom" (Michael Petlan) [1838635] - tools headers uapi: Update tools's copy of linux/perf_event.h (Michael Petlan) [1838635]- mptcp: Only send extra TCP acks in eligible socket states (Paolo Abeni) [1997178] - mptcp: fix possible divide by zero (Paolo Abeni) [1997178] - mptcp: drop tx skb cache (Paolo Abeni) [1997178] - mptcp: fix memory leak on address flush (Paolo Abeni) [1997178] - ice: Only lock to update netdev dev_addr (Michal Schmidt) [1995868] - ice: restart periodic outputs around time changes (Ken Cox) [1992750] - ice: Fix perout start time rounding (Ken Cox) [1992750] - net/sched: ets: fix crash when flipping from 'strict' to 'quantum' (Davide Caratti) [1981184] - ovl: prevent private clone if bind mount is not allowed (Miklos Szeredi) [1993131] {CVE-2021-3732} - gfs2: Don't call dlm after protocol is unmounted (Bob Peterson) [1997193] - gfs2: don't stop reads while withdraw in progress (Bob Peterson) [1997193] - gfs2: Mark journal inodes as "don't cache" (Bob Peterson) [1997193] - bpf: bpftool: Add -fno-asynchronous-unwind-tables to BPF Clang invocation (Yauheni Kaliuta) [1997124] - perf/x86/intel: Apply mid ACK for small core (Michael Petlan) [1838573] - perf/x86/intel/lbr: Zero the xstate buffer on allocation (Michael Petlan) [1838573] - perf: Fix task context PMU for Hetero (Michael Petlan) [1838573] - perf/x86/intel: Fix fixed counter check warning for some Alder Lake (Michael Petlan) [1838573] - perf/x86/lbr: Remove cpuc->lbr_xsave allocation from atomic context (Michael Petlan) [1838573] - x86/fpu/xstate: Fix an xstate size check warning with architectural LBRs (Michael Petlan) [1838573] - perf/x86/rapl: Add support for Intel Alder Lake (Michael Petlan) [1838573] - perf/x86/cstate: Add Alder Lake CPU support (Michael Petlan) [1838573] - perf/x86/msr: Add Alder Lake CPU support (Michael Petlan) [1838573] - perf/x86/intel/uncore: Add Alder Lake support (Michael Petlan) [1838573] - perf: Extend PERF_TYPE_HARDWARE and PERF_TYPE_HW_CACHE (Michael Petlan) [1838573] - perf/x86/intel: Add Alder Lake Hybrid support (Michael Petlan) [1838573] - perf/x86: Support filter_match callback (Michael Petlan) [1838573] - perf/x86/intel: Add attr_update for Hybrid PMUs (Michael Petlan) [1838573] - perf/x86: Add structures for the attributes of Hybrid PMUs (Michael Petlan) [1838573] - perf/x86: Register hybrid PMUs (Michael Petlan) [1838573] - perf/x86: Factor out x86_pmu_show_pmu_cap (Michael Petlan) [1838573] - perf/x86: Remove temporary pmu assignment in event_init (Michael Petlan) [1838573] - perf/x86/intel: Factor out intel_pmu_check_extra_regs (Michael Petlan) [1838573] - perf/x86/intel: Factor out intel_pmu_check_event_constraints (Michael Petlan) [1838573] - perf/x86/intel: Factor out intel_pmu_check_num_counters (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for extra_regs (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for event constraints (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for hardware cache event (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for unconstrained (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for counters (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for intel_ctrl (Michael Petlan) [1838573] - perf/x86/intel: Hybrid PMU support for perf capabilities (Michael Petlan) [1838573] - perf/x86: Track pmu in per-CPU cpu_hw_events (Michael Petlan) [1838573] - perf/x86/intel/lbr: Support XSAVES for arch LBR read (Michael Petlan) [1838573] - perf/x86/intel/lbr: Support XSAVES/XRSTORS for LBR context switch (Michael Petlan) [1838573] - x86/fpu/xstate: Add helpers for LBR dynamic supervisor feature (Michael Petlan) [1838573] - x86/fpu/xstate: Support dynamic supervisor feature for LBR (Michael Petlan) [1838573] - x86/fpu: Use proper mask to replace full instruction mask (Michael Petlan) [1838573] - x86/cpu: Add helper function to get the type of the current hybrid CPU (Michael Petlan) [1838573] - x86/cpufeatures: Enumerate Intel Hybrid Technology feature bit (Michael Petlan) [1838573] - HID: make arrays usage and value to be the same (Benjamin Tissoires) [1974942] - ACPI: PM: s2idle: Invert Microsoft UUID entry and exit (David Arcari) [1960440] - platform/x86: amd-pmc: Fix undefined reference to __udivdi3 (David Arcari) [1960440] - platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (David Arcari) [1960440] - platform/x86: amd-pmc: Use return code on suspend (David Arcari) [1960440] - platform/x86: amd-pmc: Add new acpi id for future PMC controllers (David Arcari) [1960440] - platform/x86: amd-pmc: Add support for ACPI ID AMDI0006 (David Arcari) [1960440] - platform/x86: amd-pmc: Add support for logging s0ix counters (David Arcari) [1960440] - platform/x86: amd-pmc: Add support for logging SMU metrics (David Arcari) [1960440] - platform/x86: amd-pmc: call dump registers only once (David Arcari) [1960440] - platform/x86: amd-pmc: Fix SMU firmware reporting mechanism (David Arcari) [1960440] - platform/x86: amd-pmc: Fix command completion code (David Arcari) [1960440] - usb: pci-quirks: disable D3cold on xhci suspend for s2idle on AMD Renoir (David Arcari) [1960440] - ACPI: PM: Only mark EC GPE for wakeup on Intel systems (David Arcari) [1960440] - ACPI: PM: Adjust behavior for field problems on AMD systems (David Arcari) [1960440] - ACPI: PM: s2idle: Add support for new Microsoft UUID (David Arcari) [1960440] - ACPI: PM: s2idle: Add support for multiple func mask (David Arcari) [1960440] - ACPI: PM: s2idle: Refactor common code (David Arcari) [1960440] - ACPI: PM: s2idle: Use correct revision id (David Arcari) [1960440] - ACPI: PM: s2idle: Add missing LPS0 functions for AMD (David Arcari) [1960440] - lockd: Fix invalid lockowner cast after vfs_test_lock (Benjamin Coddington) [1986138]- blk-mq: fix is_flush_rq (Ming Lei) [1992700] - blk-mq: fix kernel panic during iterating over flush request (Ming Lei) [1992700]- smb2: fix use-after-free in smb2_ioctl_query_info() (Ronnie Sahlberg) [1952781] - dm crypt: Avoid percpu_counter spinlock contention in crypt_page_alloc() (Mike Snitzer) [1996854] - md/raid10: Remove rcu_dereference when it doesn't need rcu lock to protect (Nigel Croxon) [1978115] - scsi: csiostor: Mark known unused variable as __always_unused (Raju Rangoju) [1961333] - scsi: csiostor: Fix wrong return value in csio_hw_prep_fw() (Raju Rangoju) [1961333] - scsi: csiostor: Remove set but not used variable 'rln' (Raju Rangoju) [1961333] - scsi: csiostor: Return value not required for csio_dfs_destroy (Raju Rangoju) [1961333] - scsi: csiostor: Fix NULL check before debugfs_remove_recursive (Raju Rangoju) [1961333] - scsi: csiostor: Don't enable IRQs too early (Raju Rangoju) [1961333] - scsi: csiostor: Fix spelling typos (Raju Rangoju) [1961333] - scsi: csiostor: Prefer pcie_capability_read_word() (Raju Rangoju) [1961333] - scsi: target: cxgbit: Unmap DMA buffer before calling target_execute_cmd() (Raju Rangoju) [1961394] - net: Use skb_frag_off accessors (Raju Rangoju) [1961394] - net: Use skb accessors in network drivers (Raju Rangoju) [1961394] - cxgb4/chtls/cxgbit: Keeping the max ofld immediate data size same in cxgb4 and ulds (Raju Rangoju) [1961394] - scsi: libcxgbi: Fix a use after free in cxgbi_conn_xmit_pdu() (Raju Rangoju) [1961394] - scsi: libcxgbi: Use kvzalloc instead of opencoded kzalloc/vzalloc (Raju Rangoju) [1961394] - scsi: libcxgbi: Remove unnecessary NULL checks for 'tdata' pointer (Raju Rangoju) [1961394] - scsi: cxgb4i: Remove an unnecessary NULL check for 'cconn' pointer (Raju Rangoju) [1961394] - scsi: cxgb4i: Clean up a debug printk (Raju Rangoju) [1961394] - scsi: cxgb4i: Fix dereference of pointer tdata before it is null checked (Raju Rangoju) [1961394] - scsi: libcxgbi: fix NULL pointer dereference in cxgbi_device_destroy() (Raju Rangoju) [1961394] - scsi: libcxgbi: remove unused function to stop warning (Raju Rangoju) [1961394] - scsi: libcxgbi: add a check for NULL pointer in cxgbi_check_route() (Raju Rangoju) [1961394] - net/chelsio: Delete drive and module versions (Raju Rangoju) [1961394] - chelsio: Replace zero-length array with flexible-array member (Raju Rangoju) [1961394] - [netdrv] treewide: prefix header search paths with $(srctree)/ (Raju Rangoju) [1961394] - libcxgb: fix incorrect ppmax calculation (Raju Rangoju) [1961394] - scsi: cxgb4i: Fix TLS dependency (Raju Rangoju) [1961394] - [target] treewide: Use fallthrough pseudo-keyword (Raju Rangoju) [1961394] - scsi: cxgb4i: Add support for iSCSI segmentation offload (Raju Rangoju) [1961394] - [target] treewide: Use sizeof_field() macro (Raju Rangoju) [1961394] - [target] treewide: replace '---help---' in Kconfig files with 'help' (Raju Rangoju) [1961394] - scsi: cxgb4i: Remove superfluous null check (Raju Rangoju) [1961394]- KVM: nSVM: avoid picking up unsupported bits from L2 in int_ctl (CVE-2021-3653) (Jon Maloy) [1985413] {CVE-2021-3653} - KVM: nSVM: always intercept VMLOAD/VMSAVE when nested (CVE-2021-3656) (Jon Maloy) [1985430] {CVE-2021-3656} - drm/i915/rkl: Remove require_force_probe protection (Lyude Paul) [1985159] - drm/i915/display: support ddr5 mem types (Lyude Paul) [1992233] - drm/i915/adl_s: Update ddi buf translation tables (Lyude Paul) [1992233] - drm/i915/adl_s: Wa_14011765242 is also needed on A1 display stepping (Lyude Paul) [1992233] - drm/i915/adl_s: Extend Wa_1406941453 (Lyude Paul) [1992233] - drm/i915: Implement Wa_1508744258 (Lyude Paul) [1992233] - drm/i915/adl_s: Fix dma_mask_size to 39 bit (Lyude Paul) [1992233] - drm/i915: Add the missing adls vswing tables (Lyude Paul) [1992233] - drm/i915: Add Wa_14011060649 (Lyude Paul) [1992233] - drm/i915/adl_s: Add Interrupt Support (Lyude Paul) [1992233] - drm/amdgpu: add another Renoir DID (Lyude Paul) [1980900]- net/mlx5: Fix flow table chaining (Amir Tzin) [1987139] - openvswitch: fix sparse warning incorrect type (Mark Gray) [1992773] - openvswitch: fix alignment issues (Mark Gray) [1992773] - openvswitch: update kdoc OVS_DP_ATTR_PER_CPU_PIDS (Mark Gray) [1992773] - openvswitch: Introduce per-cpu upcall dispatch (Mark Gray) [1992773] - KVM: X86: Expose bus lock debug exception to guest (Paul Lai) [1842322] - KVM: X86: Add support for the emulation of DR6_BUS_LOCK bit (Paul Lai) [1842322] - scsi: libfc: Fix array index out of bound exception (Chris Leech) [1972643] - scsi: libfc: FDMI enhancements (Chris Leech) [1972643] - scsi: libfc: Add FDMI-2 attributes (Chris Leech) [1972643] - scsi: qedf: Add vendor identifier attribute (Chris Leech) [1972643] - scsi: libfc: Initialisation of RHBA and RPA attributes (Chris Leech) [1972643] - scsi: libfc: Correct the condition check and invalid argument passed (Chris Leech) [1972643] - scsi: libfc: Work around -Warray-bounds warning (Chris Leech) [1972643] - scsi: fc: FDMI enhancement (Chris Leech) [1972643] - scsi: libfc: Move scsi/fc_encode.h to libfc (Chris Leech) [1972643] - scsi: fc: Correct RHBA attributes length (Chris Leech) [1972643] - block: return ELEVATOR_DISCARD_MERGE if possible (Ming Lei) [1991976] - x86/fpu: Prevent state corruption in __fpu__restore_sig() (Terry Bowman) [1970086] - x86/fpu: Invalidate FPU state after a failed XRSTOR from a user buffer (Terry Bowman) [1970086] - x86/pkru: Write hardware init value to PKRU when xstate is init (Terry Bowman) [1970086] - x86/process: Check PF_KTHREAD and not current->mm for kernel threads (Terry Bowman) [1970086] - x86/fpu: Add address range checks to copy_user_to_xstate() (Terry Bowman) [1970086] - selftests/x86: Test signal frame XSTATE header corruption handling (Terry Bowman) [1970086] - Bump DRM backport version to 5.12.14 (Lyude Paul) [1944405] - drm/i915: Use the correct max source link rate for MST (Lyude Paul) [1944405 1966599] - drm/dp_mst: Use Extended Base Receiver Capability DPCD space (Lyude Paul) [1944405 1966599] - drm/i915/display: Defeature PSR2 for RKL and ADL-S (Lyude Paul) [1944405] - drm/i915/adl_s: ADL-S platform Update PCI ids for Mobile BGA (Lyude Paul) [1944405] - drm/amdgpu: wait for moving fence after pinning (Lyude Paul) [1944405] - drm/radeon: wait for moving fence after pinning (Lyude Paul) [1944405] - drm/nouveau: wait for moving fence after pinning v2 (Lyude Paul) [1944405] - radeon: use memcpy_to/fromio for UVD fw upload (Lyude Paul) [1944405] - drm/amd/amdgpu:save psp ring wptr to avoid attack (Lyude Paul) [1944405] - drm/amd/display: Fix potential memory leak in DMUB hw_init (Lyude Paul) [1944405] - drm/amdgpu: refine amdgpu_fru_get_product_info (Lyude Paul) [1944405] - drm/amd/display: Allow bandwidth validation for 0 streams. (Lyude Paul) [1944405] - drm: Lock pointer access in drm_master_release() (Lyude Paul) [1944405] - drm: Fix use-after-free read in drm_getunique() (Lyude Paul) [1944405] - drm/amdgpu: make sure we unpin the UVD BO (Lyude Paul) [1944405] - drm/amdgpu: Don't query CE and UE errors (Lyude Paul) [1944405] - drm/amdgpu/jpeg3: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdgpu/jpeg2.5: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdgpu/vcn3: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - amdgpu: fix GEM obj leak in amdgpu_display_user_framebuffer_create (Lyude Paul) [1944405] - drm/i915/selftests: Fix return value check in live_breadcrumbs_smoketest() (Lyude Paul) [1944405] - drm/amdgpu: stop touching sched.ready in the backend (Lyude Paul) [1944405] - drm/amd/amdgpu: fix a potential deadlock in gpu reset (Lyude Paul) [1944405] - drm/amdgpu: Fix a use-after-free (Lyude Paul) [1944405] - drm/amd/amdgpu: fix refcount leak (Lyude Paul) [1944405] - drm/amd/display: Disconnect non-DP with no EDID (Lyude Paul) [1944405] - drm/amdgpu/jpeg2.0: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdgpu/vcn2.5: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdgpu/vcn2.0: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdkfd: correct sienna_cichlid SDMA RLC register offset error (Lyude Paul) [1944405] - drm/amdgpu/vcn1: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amd/pm: correct MGpuFanBoost setting (Lyude Paul) [1944405] - drm/i915: Reenable LTTPR non-transparent LT mode for DPCD_REV<1.4 (Lyude Paul) [1944405] - drm/i915/gt: Disable HiZ Raw Stall Optimization on broken gen7 (Lyude Paul) [1944405] - dma-buf: fix unintended pin/unpin warnings (Lyude Paul) [1944405] - drm/amdgpu: update sdma golden setting for Navi12 (Lyude Paul) [1944405] - drm/amdgpu: update gc golden setting for Navi12 (Lyude Paul) [1944405] - drm/amdgpu: disable 3DCGCG on picasso/raven1 to avoid compute hang (Lyude Paul) [1944405] - drm/amdgpu: Fix GPU TLB update error when PAGE_SIZE > AMDGPU_PAGE_SIZE (Lyude Paul) [1944405] - drm/radeon: use the dummy page for GART if needed (Lyude Paul) [1944405] - drm/amd/display: Use the correct max downscaling value for DCN3.x family (Lyude Paul) [1944405] - drm/i915/gem: Pin the L-shape quirked object as unshrinkable (Lyude Paul) [1944405] - drm/ttm: Do not add non-system domain BO into swap list (Lyude Paul) [1944405] - drm/amd/display: Fix two cursor duplication when using overlay (Lyude Paul) [1944405] - amdgpu/pm: Prevent force of DCEFCLK on NAVI10 and SIENNA_CICHLID (Lyude Paul) [1944405] - drm/i915/display: fix compiler warning about array overrun (Lyude Paul) [1944405] - drm/i915: Fix crash in auto_retire (Lyude Paul) [1944405] - drm/i915/overlay: Fix active retire callback alignment (Lyude Paul) [1944405] - drm/i915: Read C0DRB3/C1DRB3 as 16 bits again (Lyude Paul) [1944405] - drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp (Lyude Paul) [1944405] - drm/i915/dp: Use slow and wide link training for everything (Lyude Paul) [1944405] - drm/i915: Avoid div-by-zero on gen2 (Lyude Paul) [1944405] - drm/amd/display: Initialize attribute for hdcp_srm sysfs file (Lyude Paul) [1944405] - drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected (Lyude Paul) [1944405] - drm/radeon: Avoid power table parsing memory leaks (Lyude Paul) [1944405] - drm/radeon: Fix off-by-one power_state index heap overwrite (Lyude Paul) [1944405] - drm/amdgpu: Add mem sync flag for IB allocated by SA (Lyude Paul) [1944405] - drm/amd/display: add handling for hdcp2 rx id list validation (Lyude Paul) [1944405] - drm/amd/display: fixed divide by zero kernel crash during dsc enablement (Lyude Paul) [1944405] - drm/amd/display: Force vsync flip when reconfiguring MPCC (Lyude Paul) [1944405] - arm64: enable tlbi range instructions (Jeremy Linton) [1861872] - arm64: tlb: Use the TLBI RANGE feature in arm64 (Jeremy Linton) [1861872] - arm64: tlb: Detect the ARMv8.4 TLBI RANGE feature (Jeremy Linton) [1861872] - arm64/cpufeature: Add remaining feature bits in ID_AA64ISAR0 register (Jeremy Linton) [1861872] - arm64: tlbflush: Ensure start/end of address range are aligned to stride (Jeremy Linton) [1861872] - arm64: Detect the ARMv8.4 TTL feature (Jeremy Linton) [1861872] - arm64: tlbi: Set MAX_TLBI_OPS to PTRS_PER_PTE (Jeremy Linton) [1861872]- bpf: Fix integer overflow involving bucket_size (Jiri Olsa) [1992588] - bpf: Fix leakage due to insufficient speculative store bypass mitigation (Jiri Olsa) [1992588] - bpf: Introduce BPF nospec instruction for mitigating Spectre v4 (Jiri Olsa) [1992588] - bpf: Fix OOB read when printing XDP link fdinfo (Jiri Olsa) [1992588] - bpf, test: fix NULL pointer dereference on invalid expected_attach_type (Jiri Olsa) [1992588] - bpf: Fix tail_call_reachable rejection for interpreter when jit failed (Jiri Olsa) [1992588] - bpf: Track subprog poke descriptors correctly and fix use-after-free (Jiri Olsa) [1992588] - bpf: Fix null ptr deref with mixed tail calls and subprogs (Jiri Olsa) [1992588] - bpf: Fix leakage under speculation on mispredicted branches (Jiri Olsa) [1992588] - bpf: Set mac_len in bpf_skb_change_head (Jiri Olsa) [1992588] - bpf: Prevent writable memory-mapping of read-only ringbuf pages (Jiri Olsa) [1992588] - bpf: Fix alu32 const subreg bound tracking on bitwise operations (Jiri Olsa) [1992588] - xsk: Fix broken Tx ring validation (Jiri Olsa) [1992588] - xsk: Fix for xp_aligned_validate_desc() when len == chunk_size (Jiri Olsa) [1992588] - bpf: link: Refuse non-O_RDWR flags in BPF_OBJ_GET (Jiri Olsa) [1992588] - bpf: Refcount task stack in bpf_get_task_stack (Jiri Olsa) [1992588] - bpf: Use NOP_ATOMIC5 instead of emit_nops(&prog, 5) for BPF_TRAMP_F_CALL_ORIG (Jiri Olsa) [1992588] - selftest/bpf: Add a test to check trampoline freeing logic. (Jiri Olsa) [1992588] - bpf: Fix fexit trampoline. (Jiri Olsa) [1992588] - ftrace: Fix modify_ftrace_direct. (Jiri Olsa) [1992588] - ftrace: Add a helper function to modify_ftrace_direct() to allow arch optimization (Jiri Olsa) [1992588] - ftrace: Add helper find_direct_entry() to consolidate code (Jiri Olsa) [1992588] - bpf: Fix truncation handling for mod32 dst reg wrt zero (Jiri Olsa) [1992588] - bpf: Fix an unitialized value in bpf_iter (Jiri Olsa) [1992588] - bpf_lru_list: Read double-checked variable once without lock (Jiri Olsa) [1992588] - mt76: validate rx A-MSDU subframes (Íñigo Huguet) [1991459] {CVE-2020-24588 CVE-2020-26144} - ath11k: Drop multicast fragments (Íñigo Huguet) [1991459] {CVE-2020-26145} - ath11k: Clear the fragment cache during key install (Íñigo Huguet) [1991459] {CVE-2020-24587} - ath10k: Validate first subframe of A-MSDU before processing the list (Íñigo Huguet) [1991459] {CVE-2020-24588 CVE-2020-26144} - ath10k: Fix TKIP Michael MIC verification for PCIe (Íñigo Huguet) [1991459] {CVE-2020-26141} - ath10k: drop MPDU which has discard flag set by firmware for SDIO (Íñigo Huguet) [1991459] {CVE-2020-24588} - ath10k: drop fragments with multicast DA for SDIO (Íñigo Huguet) [1991459] {CVE-2020-26145} - ath10k: drop fragments with multicast DA for PCIe (Íñigo Huguet) [1991459] {CVE-2020-26145} - ath10k: add CCMP PN replay protection for fragmented frames for PCIe (Íñigo Huguet) [1991459] - mac80211: extend protection against mixed key and fragment cache attacks (Íñigo Huguet) [1991459] {CVE-2020-24586 CVE-2020-24587} - mac80211: do not accept/forward invalid EAPOL frames (Íñigo Huguet) [1991459] {CVE-2020-26139} - mac80211: prevent attacks on TKIP/WEP as well (Íñigo Huguet) [1991459] {CVE-2020-26141} - mac80211: check defrag PN against current frame (Íñigo Huguet) [1991459] - mac80211: add fragment cache to sta_info (Íñigo Huguet) [1991459] {CVE-2020-24586 CVE-2020-24587} - mac80211: drop A-MSDUs on old ciphers (Íñigo Huguet) [1991459] {CVE-2020-24588} - cfg80211: mitigate A-MSDU aggregation attacks (Íñigo Huguet) [1991459] {CVE-2020-24588 CVE-2020-26144} - mac80211: properly handle A-MSDUs that start with an RFC 1042 header (Íñigo Huguet) [1991459] - mac80211: prevent mixed key and fragment cache attacks (Íñigo Huguet) [1991459] {CVE-2020-24586 CVE-2020-24587} - mac80211: assure all fragments are encrypted (Íñigo Huguet) [1991459] {CVE-2020-26147} - tipc: call tipc_wait_for_connect only when dlen is not 0 (Xin Long) [1989361] - mptcp: remove tech preview warning (Florian Westphal) [1985120] - tcp: consistently disable header prediction for mptcp (Florian Westphal) [1985120] - selftests: mptcp: fix case multiple subflows limited by server (Florian Westphal) [1985120] - selftests: mptcp: turn rp_filter off on each NIC (Florian Westphal) [1985120] - selftests: mptcp: display proper reason to abort tests (Florian Westphal) [1985120] - mptcp: properly account bulk freed memory (Florian Westphal) [1985120] - mptcp: fix 'masking a bool' warning (Florian Westphal) [1985120] - mptcp: refine mptcp_cleanup_rbuf (Florian Westphal) [1985120] - mptcp: use fast lock for subflows when possible (Florian Westphal) [1985120] - mptcp: avoid processing packet if a subflow reset (Florian Westphal) [1985120] - mptcp: add sk parameter for mptcp_get_options (Florian Westphal) [1985120] - mptcp: fix syncookie process if mptcp can not_accept new subflow (Florian Westphal) [1985120] - mptcp: fix warning in __skb_flow_dissect() when do syn cookie for subflow join (Florian Westphal) [1985120] - mptcp: avoid race on msk state changes (Florian Westphal) [1985120] - mptcp: fix 32 bit DSN expansion (Florian Westphal) [1985120] - mptcp: fix bad handling of 32 bit ack wrap-around (Florian Westphal) [1985120] - tcp: parse mptcp options contained in reset packets (Florian Westphal) [1985120] - ionic: count csum_none when offload enabled (Jonathan Toppins) [1991646] - ionic: fix up dim accounting for tx and rx (Jonathan Toppins) [1991646] - ionic: remove intr coalesce update from napi (Jonathan Toppins) [1991646] - ionic: catch no ptp support earlier (Jonathan Toppins) [1991646] - ionic: make all rx_mode work threadsafe (Jonathan Toppins) [1991646] - dmaengine: idxd: Fix missing error code in idxd_cdev_open() (Jerry Snitselaar) [1990637] - dmaengine: idxd: add missing dsa driver unregister (Jerry Snitselaar) [1990637] - dmaengine: idxd: add engine 'struct device' missing bus type assignment (Jerry Snitselaar) [1990637] - dmaengine: idxd: remove MSIX masking for interrupt handlers (Jerry Snitselaar) [1990637] - dmaengine: idxd: Use cpu_feature_enabled() (Jerry Snitselaar) [1990637] - dmaengine: idxd: enable SVA feature for IOMMU (Jerry Snitselaar) [1990637] - dmagenine: idxd: Don't add portal offset in idxd_submit_desc (Jerry Snitselaar) [1990637] - ethtool: strset: fix message length calculation (Balazs Nemeth) [1989003] - net: add strict checks in netdev_name_node_alt_destroy() (Andrea Claudi) [1859038] - net: rtnetlink: fix bugs in rtnl_alt_ifname() (Andrea Claudi) [1859038] - net: rtnetlink: add linkprop commands to add and delete alternative ifnames (Andrea Claudi) [1859038] - net: check all name nodes in __dev_alloc_name (Andrea Claudi) [1859038] - net: fix a leak in register_netdevice() (Andrea Claudi) [1859038] - tun: fix memory leak in error path (Andrea Claudi) [1859038] - net: propagate errors correctly in register_netdevice() (Andrea Claudi) [1859038] - net: introduce name_node struct to be used in hashlist (Andrea Claudi) [1859038] - net: procfs: use index hashlist instead of name hashlist (Andrea Claudi) [1859038] - configs: Enable CONFIG_CHELSIO_INLINE_CRYPTO (Raju Rangoju) [1961368] - cxgb4/ch_ktls: Clear resources when pf4 device is removed (Raju Rangoju) [1961374] - ch_ktls: Remove redundant variable result (Raju Rangoju) [1961374] - ch_ktls: do not send snd_una update to TCB in middle (Raju Rangoju) [1961374] - ch_ktls: tcb close causes tls connection failure (Raju Rangoju) [1961374] - ch_ktls: fix device connection close (Raju Rangoju) [1961374] - ch_ktls: Fix kernel panic (Raju Rangoju) [1961374] - ch_ktls: fix enum-conversion warning (Raju Rangoju) [1961374] - net: ethernet: chelsio: inline_crypto: Mundane typos fixed throughout the file chcr_ktls.c (Raju Rangoju) [1961374] - ch_ipsec: Remove initialization of rxq related data (Raju Rangoju) [1961388] - ch_ktls: fix build warning for ipv4-only config (Raju Rangoju) [1961374] - ch_ktls: lock is not freed (Raju Rangoju) [1961374] - ch_ktls: stop the txq if reaches threshold (Raju Rangoju) [1961374] - ch_ktls: tcb update fails sometimes (Raju Rangoju) [1961374] - ch_ktls/cxgb4: handle partial tag alone SKBs (Raju Rangoju) [1961374] - ch_ktls: don't free skb before sending FIN (Raju Rangoju) [1961374] - ch_ktls: packet handling prior to start marker (Raju Rangoju) [1961374] - ch_ktls: Correction in middle record handling (Raju Rangoju) [1961374] - ch_ktls: missing handling of header alone (Raju Rangoju) [1961374] - ch_ktls: Correction in trimmed_len calculation (Raju Rangoju) [1961374] - cxgb4/ch_ktls: creating skbs causes panic (Raju Rangoju) [1961374] - ch_ktls: Update cheksum information (Raju Rangoju) [1961374] - ch_ktls: Correction in finding correct length (Raju Rangoju) [1961374] - cxgb4/ch_ktls: decrypted bit is not enough (Raju Rangoju) [1961374] - cxgb4/ch_ipsec: Replace the module name to ch_ipsec from chcr (Raju Rangoju) [1961388] - cxgb4/ch_ktls: ktls stats are added at port level (Raju Rangoju) [1961374] - ch_ktls: Issue if connection offload fails (Raju Rangoju) [1961374] - chelsio/chtls: Re-add dependencies on CHELSIO_T4 to fix modular CHELSIO_T4 (Raju Rangoju) [1961388] - chelsio/chtls: CHELSIO_INLINE_CRYPTO should depend on CHELSIO_T4 (Raju Rangoju) [1961388] - crypto: chelsio - fix minor indentation issue (Raju Rangoju) [1961368] - crypto/chcr: move nic TLS functionality to drivers/net (Raju Rangoju) [1961368] - cxgb4/ch_ipsec: Registering xfrmdev_ops with cxgb4 (Raju Rangoju) [1961388] - crypto/chcr: Moving chelsio's inline ipsec functionality to /drivers/net (Raju Rangoju) [1961368] - chelsio/chtls: separate chelsio tls driver from crypto driver (Raju Rangoju) [1961368] - crypto: chelsio - Fix some pr_xxx messages (Raju Rangoju) [1961368] - crypto: chelsio - Avoid some code duplication (Raju Rangoju) [1961368] - crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY (Raju Rangoju) [1961368] - crypto: aead - remove useless setting of type flags (Raju Rangoju) [1961368] - crypto: Replace zero-length array with flexible-array (Raju Rangoju) [1961368] - [Crypto] treewide: replace '---help---' in Kconfig files with 'help' (Raju Rangoju) [1961368] - Crypto/chcr: Checking cra_refcnt before unregistering the algorithms (Raju Rangoju) [1961368] - Crypto/chcr: Calculate src and dst sg lengths separately for dma map (Raju Rangoju) [1961368] - Crypto/chcr: Fixes a coccinile check error (Raju Rangoju) [1961368] - Crypto/chcr: Fixes compilations warnings (Raju Rangoju) [1961368] - crypto/chcr: IPV6 code needs to be in CONFIG_IPV6 (Raju Rangoju) [1961368] - crypto: lib/sha1 - remove unnecessary includes of linux/cryptohash.h (Raju Rangoju) [1961368] - Crypto/chcr: fix for hmac(sha) test fails (Raju Rangoju) [1961368] - Crypto/chcr: fix for ccm(aes) failed test (Raju Rangoju) [1961368] - Crypto/chcr: fix ctr, cbc, xts and rfc3686-ctr failed tests (Raju Rangoju) [1961368] - crypto: chelsio - remove redundant assignment to variable error (Raju Rangoju) [1961368] - chcr: Fix CPU hard lockup (Raju Rangoju) [1961368] - crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN (Raju Rangoju) [1961368] - crypto: chelsio - switch to skcipher API (Raju Rangoju) [1961368] - crypto: chelsio - Remove VLA usage of skcipher (Raju Rangoju) [1961368]- tracing: Fix bug in rb_per_cpu_empty() that might cause deadloop. (Chris von Recklinghausen) [1989485] {CVE-2021-3679} - vmlinux.lds.h: Keep .ctors.* with .ctors (Jan Stancek) [1993208] - spi: pxa2xx: Add support for Intel Alder Lake PCH-P (Steve Best) [1978463] - bnxt_en: allow promiscuous mode for trusted VFs (Jonathan Toppins) [1730616] - arm64: memory: Add missing brackets to untagged_addr() macro (Chris von Recklinghausen) [1955809] - arm64: tags: Preserve tags for addresses translated via TTBR1 (Chris von Recklinghausen) [1955809] - arm64: entry: Move ct_user_exit before any other exception (Chris von Recklinghausen) [1955809] - arm64: memory: Implement __tag_set() as common function (Chris von Recklinghausen) [1955809] - arm64: mm: Really fix sparse warning in untagged_addr() (Chris von Recklinghausen) [1955809] - arm64: untag user pointers in access_ok and __uaccess_mask_ptr (Chris von Recklinghausen) [1955809] - arm64/mm: fix variable 'tag' set but not used (Chris von Recklinghausen) [1955809] - arm64: entry: SP Alignment Fault doesn't write to FAR_EL1 (Chris von Recklinghausen) [1955809] - arm64: compat: Add separate CP15 trapping hook (Chris von Recklinghausen) [1955809] - arm64: don't restore GPRs when context tracking (Chris von Recklinghausen) [1955809]- bareudp: Fix invalid read beyond skb's linear data (Guillaume Nault) [1990938] - perf/x86/amd: Don't touch the AMD64_EVENTSEL_HOSTONLY bit inside the guest (Michael Petlan) [1990695] - net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands (Balazs Nemeth) [1956825] - net: dcb: Validate netlink message in DCB handler (Balazs Nemeth) [1956825] - xfrm: Fix RCU vs hash_resize_mutex lock inversion (Sabrina Dubroca) [1988405] - Revert "xfrm: policy: Read seqcount outside of rcu-read side in xfrm_policy_lookup_bytype" (Sabrina Dubroca) [1988405] - xfrm: policy: Read seqcount outside of rcu-read side in xfrm_policy_lookup_bytype (Sabrina Dubroca) [1988405] - [s390] s390/AP: support new dynamic AP bus size limit (Claudio Imbrenda) [1974581] - net: sched: act_mirred: Reset ct info when mirror/redirect skb (Hangbin Liu) [1980532] - ucounts: Move max_time_namespace according to ucount_type (Alex Gladkov) [1982954] - perf vendor events power10: Adds 24x7 nest metric events for power10 platform (Diego Domingos) [1946650] - perf/core: fix backport of PERF_SAMPLE_WEIGHT_STRUCT (Diego Domingos) [1946650] - perf/core: Add support for PERF_SAMPLE_CODE_PAGE_SIZE (Diego Domingos) [1946650] - perf vendor events powerpc: Fix eventcode of power10 JSON events (Diego Domingos) [1946650] - perf vendor events: Initial JSON/events list for power10 platform (Diego Domingos) [1946650] - powerpc/perf: Fix sampled instruction type for larx/stcx (Diego Domingos) [1946650] - powerpc/perf: Fix the threshold event selection for memory events in power10 (Diego Domingos) [1946650] - perf sort: Display sort dimension p_stage_cyc only on supported archs (Diego Domingos) [1946650] - perf tools: Support pipeline stage cycles for powerpc (Diego Domingos) [1946650] - perf powerpc: Add support for PERF_SAMPLE_WEIGHT_STRUCT (Diego Domingos) [1946650] - perf sort: Add dynamic headers for perf report columns (Diego Domingos) [1946650] - powerpc/perf: Expose processor pipeline stage cycles using PERF_SAMPLE_WEIGHT_STRUCT (Diego Domingos) [1946650] - Documentation/admin-guide: kernel-parameters: fix "disable_ddw" wording (Diego Domingos) [1946650] - powerpc/perf: Support PERF_SAMPLE_DATA_PAGE_SIZE (Diego Domingos) [1946650] - perf/core: Add PERF_SAMPLE_DATA_PAGE_SIZE (Diego Domingos) [1946650] - powerpc/perf: Infrastructure to support checking of attr.config* (Diego Domingos) [1946650] - powerpc/perf: Add platform specific check_attr_config (Diego Domingos) [1946650] - ice: add support for auxiliary input/output pins (Jonathan Toppins) [1956913] - ice: enable transmit timestamps for E810 devices (Jonathan Toppins) [1944818] - ice: enable receive hardware timestamping (Jonathan Toppins) [1944818] - ice: report the PTP clock index in ethtool .get_ts_info (Jonathan Toppins) [1944818] - ice: register 1588 PTP clock device object for E810 devices (Jonathan Toppins) [1944818] - ice: add low level PTP clock access functions (Jonathan Toppins) [1944818] - ice: add support for set/get of driver-stored firmware parameters (Jonathan Toppins) [1944818] - ice: process 1588 PTP capabilities during initialization (Jonathan Toppins) [1944818] - ice: add support for sideband messages (Jonathan Toppins) [1944818]- bnxt_en: Fix static checker warning in bnxt_fw_reset_task() (Jonathan Toppins) [1989274] - bnxt_en: Check abort error state in bnxt_half_open_nic() (Jonathan Toppins) [1989274] - bnxt_en: fix error path of FW reset (Jonathan Toppins) [1989274] - bnxt_en: Add missing check for BNXT_STATE_ABORT_ERR in bnxt_fw_rset_task() (Jonathan Toppins) [1989274] - bnxt_en: Refresh RoCE capabilities in bnxt_ulp_probe() (Jonathan Toppins) [1989274] - bnxt_en: reject ETS settings that will starve a TC (Jonathan Toppins) [1989274] - bnxt_en: don't disable an already disabled PCI device (Jonathan Toppins) [1989274] - bnxt_en: Remove the read of BNXT_FW_RESET_INPROG_REG after firmware reset. (Jonathan Toppins) [1989274] - i40e: Fix log TC creation failure when max num of queues is exceeded (Stefan Assmann) [1920274] - i40e: Fix queue-to-TC mapping on Tx (Stefan Assmann) [1920274] - i40e: Add additional info to PHY type error (Stefan Assmann) [1920274] - i40e: Fix firmware LLDP agent related warning (Stefan Assmann) [1920274] - i40e: Fix logic of disabling queues (Stefan Assmann) [1920274] - i40e: add support for PTP external synchronization clock (Stefan Assmann) [1920274] - i40e: improve locking of mac_filter_hash (Stefan Assmann) [1920274] - i40e: Fix missing rtnl locking when setting up pf switch (Stefan Assmann) [1920274] - i40e: fix PTP on 5Gb links (Stefan Assmann) [1920274] - i40e: Fix autoneg disabling for non-10GBaseT links (Stefan Assmann) [1920274] - i40e: Fix error handling in i40e_vsi_open (Stefan Assmann) [1920274] - intel: Remove rcu_read_lock() around XDP program invocation (Stefan Assmann) [1920274] - i40e: clean up packet type lookup table (Stefan Assmann) [1920274] - i40e: add correct exception tracing for XDP (Stefan Assmann) [1920274] - i40e: Remove LLDP frame filters (Stefan Assmann) [1920274] - i40e: Fix PHY type identifiers for 2.5G and 5G adapters (Stefan Assmann) [1920274] - i40e: Fix use-after-free in i40e_client_subtask() (Stefan Assmann) [1920274] - i40e: fix broken XDP support (Stefan Assmann) [1920274] - i40e: refactor repeated link state reporting code (Stefan Assmann) [1920274] - i40e: optimize for XDP_REDIRECT in xsk path (Stefan Assmann) [1920274] - i40e: fix the panic when running bpf in xdpdrv mode (Stefan Assmann) [1920274] - i40e: Fix sparse warning: missing error code 'err' (Stefan Assmann) [1920274] - i40e: Fix sparse error: 'vsi->netdev' could be null (Stefan Assmann) [1920274] - i40e: Fix sparse error: uninitialized symbol 'ring' (Stefan Assmann) [1920274] - i40e: Fix sparse errors in i40e_txrx.c (Stefan Assmann) [1920274] - i40e: Fix display statistics for veb_tc (Stefan Assmann) [1920274] - i40e: fix receiving of single packets in xsk zero-copy mode (Stefan Assmann) [1920274] - i40e: Fix inconsistent indenting (Stefan Assmann) [1920274] - i40e: Fix oops at i40e_rebuild() (Stefan Assmann) [1920274] - i40e: Fix kernel oops when i40e driver removes VF's (Stefan Assmann) [1920274] - i40e: Added Asym_Pause to supported link modes (Stefan Assmann) [1920274] - net: i40e: remove repeated words (Stefan Assmann) [1920274] - bpf, devmap: Move drop error path to devmap for XDP_REDIRECT (Stefan Assmann) [1920274] - intel: clean up mismatched header comments (Stefan Assmann) [1920274] - intel: Update drivers to use ethtool_sprintf (Stefan Assmann) [1920274] - i40e: move headroom initialization to i40e_configure_rx_ring (Stefan Assmann) [1920274] - i40e: Fix endianness conversions (Stefan Assmann) [1920274] - i40e: Fix add TC filter for IPv6 (Stefan Assmann) [1920274] - i40e: Fix addition of RX filters after enabling FW LLDP agent (Stefan Assmann) [1920274] - i40e: Fix overwriting flow control settings during driver loading (Stefan Assmann) [1920274] - i40e: Add zero-initialization of AQ command structures (Stefan Assmann) [1920274] - i40e: Fix memory leak in i40e_probe (Stefan Assmann) [1920274] - i40e: Fix flow for IPv6 next header (extension header) (Stefan Assmann) [1920274] - i40e: Fix incorrect argument in call to ipv6_addr_any() (Stefan Assmann) [1920274] - i40e: store the result of i40e_rx_offset() onto i40e_ring (Stefan Assmann) [1920274] - i40e: Simplify the do-while allocation loop (Stefan Assmann) [1920274] - i40e: adjust i40e_is_non_eop (Stefan Assmann) [1920274] - i40e: drop misleading function comments (Stefan Assmann) [1920274] - i40e: drop redundant check when setting xdp prog (Stefan Assmann) [1920274] - i40e: remove the useless value assignment in i40e_clean_adminq_subtask (Stefan Assmann) [1920274] - i40e: VLAN field for flow director (Stefan Assmann) [1920274] - i40e: Add flow director support for IPv6 (Stefan Assmann) [1920274] - i40e: Add EEE status getting & setting implementation (Stefan Assmann) [1920274] - i40e: Fix uninitialized variable mfs_max (Stefan Assmann) [1920274] - i40e: Add netlink callbacks support for software based DCB (Stefan Assmann) [1920274] - i40e: Add init and default config of software based DCB (Stefan Assmann) [1920274] - i40e: Add hardware configuration for software based DCB (Stefan Assmann) [1920274] - i40e: Log error for oversized MTU on device (Stefan Assmann) [1920274] - i40e: consolidate handling of XDP program actions (Stefan Assmann) [1920274] - i40e: remove the redundant buffer info updates (Stefan Assmann) [1920274] - i40e: remove unnecessary cleaned_count updates (Stefan Assmann) [1920274] - i40e: remove unnecessary memory writes of the next to clean pointer (Stefan Assmann) [1920274] - i40e: Use batched xsk Tx interfaces to increase performance (Stefan Assmann) [1920274] - i40e: convert to new udp_tunnel infrastructure (Stefan Assmann) [1920274] - netfilter: nf_tables: skip module reference count bump on object updates (Fernando Fernandez Mancera) [1944487] - netfilter: nf_tables: fix unexpected EOPNOTSUPP error (Fernando Fernandez Mancera) [1944487] - netfilter: nf_tables: Fix an Oops in nf_tables_updobj() error handling (Fernando Fernandez Mancera) [1944487] - netfilter: nf_tables: fix possible null-pointer dereference in object update (Fernando Fernandez Mancera) [1944487] - netfilter: nft_quota: add quota object update support (Fernando Fernandez Mancera) [1944487] - netfilter: nf_tables: Introduce stateful object update operation (Fernando Fernandez Mancera) [1944487] - cifs: retry lookup and readdir when EAGAIN is returned. (Ronnie Sahlberg) [1972411] - netfilter: nf_tables: Fix dereference of null pointer flow (Florian Westphal) [1985087] - netfilter: nf_tables: memleak in hw offload abort path (Florian Westphal) [1985087] - netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols (Florian Westphal) [1985087] - netfilter: synproxy: Fix out of bounds when parsing TCP options (Florian Westphal) [1985087] - netfilter: nfnetlink_cthelper: hit EBUSY on updates if size mismatches (Florian Westphal) [1985087] - ipvs: ignore IP_VS_SVC_F_HASHED flag when adding service (Florian Westphal) [1985087] - netfilter: nftables: avoid overflows in nft_hash_buckets() (Florian Westphal) [1985087] - netfilter: nfnetlink_osf: Fix a missing skb_header_pointer() NULL check (Florian Westphal) [1985087] - netfilter: nf_tables_offload: check FLOW_DISSECTOR_KEY_BASIC in VLAN transfer logic (Florian Westphal) [1985087] - netfilter: nftables_offload: special ethertype handling for VLAN (Florian Westphal) [1985087] - netfilter: nftables_offload: VLAN id needs host byteorder in flow dissector (Florian Westphal) [1985087] - netfilter: nft_payload: fix C-VLAN offload support (Florian Westphal) [1985087] - ipvs: allow connection reuse for unconfirmed conntrack (Florian Westphal) [1985087] - net: fix GRO skb truesize update (Paolo Abeni) [1987391] - sk_buff: avoid potentially clearing 'slow_gro' field (Paolo Abeni) [1987391] - veth: use skb_prepare_for_gro() (Paolo Abeni) [1987391] - skbuff: allow 'slow_gro' for skb carring sock reference (Paolo Abeni) [1987391] - net: optimize GRO for the common case. (Paolo Abeni) [1987391] - sk_buff: track extension status in slow_gro (Paolo Abeni) [1987391] - sk_buff: track dst status in slow_gro (Paolo Abeni) [1987391] - sk_buff: introduce 'slow_gro' flags (Paolo Abeni) [1987391] - skbuff: Fix build with SKB extensions disabled (Paolo Abeni) [1987391] - skbuff: Release nfct refcount on napi stolen or re-used skbs (Paolo Abeni) [1987391] - selftests: net: veth: add tests for set_channel (Paolo Abeni) [1987391] - veth: create by default nr_possible_cpus queues (Paolo Abeni) [1987391] - veth: implement support for set_channel ethtool op (Paolo Abeni) [1987391] - veth: factor out initialization helper (Paolo Abeni) [1987391] - veth: always report zero combined channels (Paolo Abeni) [1987391] - veth: Implement ethtool's get_channelis() callback (Paolo Abeni) [1987391] - net: add GSO UDP L4 and GSO fraglists to the list of software-backed types (Paolo Abeni) [1987391] - ice: Support RSS configure removal for AVF (Jonathan Toppins) [1946726] - ice: Enable RSS configure for AVF (Jonathan Toppins) [1946726] - ice: Add helper function to get the VF's VSI (Jonathan Toppins) [1946726] - ice: remove redundant assignment to pointer vsi (Jonathan Toppins) [1946726] - ice: Advertise virtchnl UDP segmentation offload capability (Jonathan Toppins) [1946726] - ice: Allow ignoring opcodes on specific VF (Jonathan Toppins) [1946726] - ice: warn about potentially malicious VFs (Jonathan Toppins) [1946726] - ice: Consolidate VSI state and flags (Jonathan Toppins) [1946726] - ice: Refactor ice_set/get_rss into LUT and key specific functions (Jonathan Toppins) [1946726] - ice: Refactor get/set RSS LUT to use struct parameter (Jonathan Toppins) [1946726] - ice: Change ice_vsi_setup_q_map() to not depend on RSS (Jonathan Toppins) [1946726] - ice: Check FDIR program status for AVF (Jonathan Toppins) [1946726] - ice: Add more FDIR filter type for AVF (Jonathan Toppins) [1946726] - ice: Add GTPU FDIR filter for AVF (Jonathan Toppins) [1946726] - ice: Add non-IP Layer2 protocol FDIR filter for AVF (Jonathan Toppins) [1946726] - ice: Add new actions support for VF FDIR (Jonathan Toppins) [1946726] - ice: Add FDIR pattern action parser for VF (Jonathan Toppins) [1946726] - ice: Enable FDIR Configure for AVF (Jonathan Toppins) [1946726] - ice: Add support for per VF ctrl VSI enabling (Jonathan Toppins) [1946726] - ice: Enhanced IPv4 and IPv6 flow filter (Jonathan Toppins) [1946726] - ice: Support to separate GTP-U uplink and downlink (Jonathan Toppins) [1946726] - ice: Add more advanced protocol support in flow filter (Jonathan Toppins) [1946726] - ice: Support non word aligned input set field (Jonathan Toppins) [1946726] - ice: Add more basic protocol support for flow filter (Jonathan Toppins) [1946726] - sctp: move the active_key update after sh_keys is added (Xin Long) [1986966] - sctp: fix return value check in __sctp_rcv_asconf_lookup (Xin Long) [1986966] - sctp: delete addr based on sin6_scope_id (Xin Long) [1986966] - sctp: update active_key for asoc when old key is being replaced (Xin Long) [1986966] - sctp: move 198 addresses from unusable to private scope (Xin Long) [1986966] - sctp: add param size validation for SCTP_PARAM_SET_PRIMARY (Xin Long) [1986966] - sctp: validate chunk size in __rcv_asconf_lookup (Xin Long) [1986966] - sctp: add size validation when walking chunks (Xin Long) [1986966] - sctp: validate from_addr_param return (Xin Long) [1986966] - sctp: fix the proc_handler for sysctl encap_port (Xin Long) [1986966] - sctp: add the missing setting for asoc encap_port (Xin Long) [1986966] - sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b (Xin Long) [1986966] - sctp: Fix out-of-bounds warning in sctp_process_asconf_param() (Xin Long) [1986966] - sctp: Fix COMM_LOST/CANT_STR_ASSOC err reporting on big-endian platforms (Xin Long) [1986966] - bonding: allow nesting of bonding device (Antoine Tenart) [1989099] - bonding: avoid adding slave device with IFF_MASTER flag (Antoine Tenart) [1989099] - ice: don't remove netdev->dev_addr from uc sync list (Ken Cox) [1873969 1961018] - ice: Stop processing VF messages during teardown (Ken Cox) [1986451] - ice: Prevent probing virtual functions (Ken Cox) [1952810] - ima: extend boot_aggregate with kernel measurements (Bruno Meneguele) [1977422] - selftest/bpf: Verifier tests for var-off access (Jiri Olsa) [1960944] {CVE-2021-29155} - selftest/bpf: Adjust expected verifier errors (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: No need to simulate speculative domain for immediates (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Fix mask direction swap upon off reg sign change (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Wrap aux data inside bpf_sanitize_info container (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Fix pointer arithmetic mask tightening under state pruning (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Fix leakage of uninitialized bpf stack under speculation (Jiri Olsa) [1960944 1958070] {CVE-2021-29155 CVE-2021-31829} - bpf: Fix masking negation logic upon negative dst register (Jiri Olsa) [1960944 1958070] {CVE-2021-29155 CVE-2021-31829} - bpf: verifier: Allocate idmap scratch in verifier env (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Tighten speculative pointer arithmetic mask (Jiri Olsa) [1960944 1972496] {CVE-2021-29155 CVE-2021-33200} - bpf: Move sanitize_val_alu out of op switch (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Refactor and streamline bounds check into helper (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Allow variable-offset stack access (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Improve verifier error messages for users (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Rework ptr_limit into alu_limit and add common error path (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Ensure off_reg has no mixed signed bounds for all types (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Move off_reg into sanitize_ptr_alu (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Use correct permission flag for mixed signed bounds arithmetic (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Add sanity check for upper ptr_limit (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Simplify alu_limit masking for pointer arithmetic (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Fix off-by-one for area size in creating mask to left (Jiri Olsa) [1960944] {CVE-2021-29155} - Documentation/x86: Add ratelimit in buslock.rst (Prarit Bhargava) [1948048] - Documentation/admin-guide: Add bus lock ratelimit (Prarit Bhargava) [1948048] - x86/bus_lock: Set rate limit for bus lock (Prarit Bhargava) [1948048] - Documentation/x86: Add buslock.rst (Prarit Bhargava) [1948048] - [s390] net/smc: Ensure correct state of the socket in send path (Claudio Imbrenda) [1731026] - [s390] net/smc: Fix ENODATA tests in smc_nl_get_fback_stats() (Claudio Imbrenda) [1731026] - [s390] net/smc: Make SMC statistics network namespace aware (Claudio Imbrenda) [1731026] - [s390] net/smc: Add netlink support for SMC fallback statistics (Claudio Imbrenda) [1731026] - [s390] net/smc: Add netlink support for SMC statistics (Claudio Imbrenda) [1731026] - [s390] net/smc: Add SMC statistics support (Claudio Imbrenda) [1731026] - [s390] s390/ap: Fix hanging ioctl caused by wrong msg counter (Claudio Imbrenda) [1984762] - KVM: PPC: Book3S: Fix H_RTAS rets buffer overflow (Jon Maloy) [1988226] {CVE-2021-37576} - NFSv4: Fix an Oops in pnfs_mark_request_commit() when doing O_DIRECT (Benjamin Coddington) [1983793] - selftests/powerpc: EBB selftest for MMCR0 control for PMU SPRs in ISA v3.1 (Desnes A. Nunes do Rosario) [1991753] - selftests/powerpc: Fix "no_handler" EBB selftest (Desnes A. Nunes do Rosario) [1991753] - powerpc/perf: Fix crash in perf_instruction_pointer() when ppmu is not set (Desnes A. Nunes do Rosario) [1991753] - powerpc/pmu: Make the generic compat PMU use the architected events (Desnes A. Nunes do Rosario) [1991753] - perf script python: Fix buffer size to report iregs in perf script (Desnes A. Nunes do Rosario) [1991753] - ceph: reduce contention in ceph_check_delayed_caps() (Jeff Layton) [1953430]- net: mac802154: Fix general protection fault (Chris von Recklinghausen) [1984571] {CVE-2021-3659} - Bluetooth: fix the erroneous flush_work() order (Chris von Recklinghausen) [1964559] {CVE-2021-3564} - Bluetooth: use correct lock to prevent UAF of hdev object (Chris von Recklinghausen) [1968214] {CVE-2021-3573} - usb: ehci: Prevent missed ehci interrupts with edge-triggered MSI (Torez Smith) [1972139] - usb: ehci: do not initialise static variables (Torez Smith) [1972139] - usb: host: move EH SINGLE_STEP_SET_FEATURE implementation to core (Torez Smith) [1972139] - USB: ehci: drop workaround for forced irq threading (Torez Smith) [1972139] - usb: ehci: add spurious flag to disable overcurrent checking (Torez Smith) [1972139] - perf test: Handle fd gaps in test__dso_data_reopen (Michael Petlan) [1871785] - tty: vt: always invoke vc->vc_sw->con_resize callback (Maxim Levitsky) [1957611] - iavf: fix locking of critical sections (Stefan Assmann) [1975245] - iavf: do not override the adapter state in the watchdog task (Stefan Assmann) [1975245] - ixgbe: Fix packet corruption due to missing DMA sync (Ken Cox) [1920269] - ixgbe: Fix an error handling path in 'ixgbe_probe()' (Ken Cox) [1920269] - intel: Remove rcu_read_lock() around XDP program invocation (Ken Cox) [1920269] - ixgbe: add correct exception tracing for XDP (Ken Cox) [1920269] - ixgbe: Fix out-bounds warning in ixgbe_host_interface_command() (Ken Cox) [1920269] - ixgbe: reduce checker warnings (Ken Cox) [1920269] - ixgbe: use checker safe conversions (Ken Cox) [1920269] - ixgbe: fix large MTU request from VF (Ken Cox) [1920269] - net: ethernet: intel: Fix a typo in the file ixgbe_dcb_nl.c (Ken Cox) [1920269] - net: intel: Remove unused function pointer typedef ixgbe_mc_addr_itr (Ken Cox) [1920269] - ixgbe: Support external GBE SerDes PHY BCM54616s (Ken Cox) [1920269] - ixgbe: fix unbalanced device enable/disable in suspend/resume (Ken Cox) [1920269] - ixgbe: Fix NULL pointer dereference in ethtool loopback test (Ken Cox) [1920269] - ixgbe: Fix fall-through warnings for Clang (Ken Cox) [1920269] - intel: clean up mismatched header comments (Ken Cox) [1920269] - bpf, devmap: Move drop error path to devmap for XDP_REDIRECT (Ken Cox) [1920269] - intel: Update drivers to use ethtool_sprintf (Ken Cox) [1920269] - ixgbe: optimize for XDP_REDIRECT in xsk path (Ken Cox) [1920269] - ixgbe: move headroom initialization to ixgbe_configure_rx_ring (Ken Cox) [1920269] - ixgbe: Fix memleak in ixgbe_configure_clsu32 (Ken Cox) [1920269] - ixgbe: fail to create xfrm offload of IPsec tunnel mode SA (Ken Cox) [1920269] - ixgbe: store the result of ixgbe_rx_offset() onto ixgbe_ring (Ken Cox) [1920269] - net: ixgbe: use skb_csum_is_sctp instead of protocol check (Ken Cox) [1920269] - ixgbe: avoid premature Rx buffer reuse (Ken Cox) [1920269] - net: remove unneeded break (Ken Cox) [1920269] - ixgbe: add pause frame stats (Ken Cox) [1920269] - iavf: Set RSS LUT and key in reset handle path (Ken Cox) [1910853] - [netdrv] chelsio: Replace zero-length array with flexible-array member (Raju Rangoju) [1955208] - cxgb4: avoid collecting SGE_QBASE regs during traffic (Raju Rangoju) [1955208] - cxgb4: collect serial config version from register (Raju Rangoju) [1955208] - cxgb4: remove unused vpd_cap_addr (Raju Rangoju) [1955208] - cxgb4: remove bogus CHELSIO_VPD_UNIQUE_ID constant (Raju Rangoju) [1955208] - cxgb4: Assign boolean values to a bool variable (Raju Rangoju) [1955208] - cxgb4: enable interrupt based Tx completions for T5 (Raju Rangoju) [1955208] - cxgb4: fix the panic caused by non smac rewrite (Raju Rangoju) [1955208] - cxgb4: Fix the -Wmisleading-indentation warning (Raju Rangoju) [1955208] - cxgb4: set up filter action after rewrites (Raju Rangoju) [1955208] - cxgb4: handle 4-tuple PEDIT to NAT mode translation (Raju Rangoju) [1955208] - [netdrv] net: rename flow_action_hw_stats_types* -> flow_action_hw_stats* (Raju Rangoju) [1955208] - net: cxbg4: Remove pointless in_interrupt() check (Raju Rangoju) [1955208] - cxgb4: Avoid log flood (Raju Rangoju) [1955208] - cxgb4: fix memory leak during module unload (Raju Rangoju) [1955208] - cxgb4: Fix offset when clearing filter byte counters (Raju Rangoju) [1955208] - cxgb4: add error handlers to LE intr_handler (Raju Rangoju) [1955208] - cxgb4: insert IPv6 filter rules in next free region (Raju Rangoju) [1955208] - cxgb4: Fix race between loopback and normal Tx path (Raju Rangoju) [1955208] - cxgb4: Fix work request size calculation for loopback test (Raju Rangoju) [1955208] - cxgb4: add TC-MATCHALL IPv6 support (Raju Rangoju) [1955208] - cxgb4: fix extracting IP addresses in TC-FLOWER rules (Raju Rangoju) [1955208] - cxgb4: fix check for running offline ethtool selftest (Raju Rangoju) [1955208] - cxgb4: add loopback ethtool self-test (Raju Rangoju) [1955208] - net: cxgb4: reject unsupported coalescing params (Raju Rangoju) [1955208] - cxgb4: use eth_zero_addr() to clear mac address (Raju Rangoju) [1955208] - cxgb4: add missing release on skb in uld_send() (Raju Rangoju) [1955208] - cxgb4: convert to new udp_tunnel_nic infra (Raju Rangoju) [1955208] - cxgb4: fix all-mask IP address comparison (Raju Rangoju) [1955208] - cxgb4: add main VI to mirror VI config replication (Raju Rangoju) [1955208] - cxgb4: add support for mirror Rxqs (Raju Rangoju) [1955208] - cxgb4: add mirror action to TC-MATCHALL offload (Raju Rangoju) [1955208] - net: cxgb4: fix return error value in t4_prep_fw (Raju Rangoju) [1955208] - cxgb4: move device dump arrays in header to C file (Raju Rangoju) [1955208] - cxgb4: always sync access when flashing PHY firmware (Raju Rangoju) [1955208] - cxgb4: update kernel-doc line comments (Raju Rangoju) [1955208] - cxgb4: fix set but unused variable when DCB is disabled (Raju Rangoju) [1955208] - cxgb4: move DCB version extern to header file (Raju Rangoju) [1955208] - cxgb4: remove cast when saving IPv4 partial checksum (Raju Rangoju) [1955208] - cxgb4: fix SGE queue dump destination buffer context (Raju Rangoju) [1955208] - cxgb4: use correct type for all-mask IP address comparison (Raju Rangoju) [1955208] - cxgb4: fix endian conversions for L4 ports in filters (Raju Rangoju) [1955208] - cxgb4: parse TC-U32 key values and masks natively (Raju Rangoju) [1955208] - cxgb4: use unaligned conversion for fetching timestamp (Raju Rangoju) [1955208] - cxgb4: move PTP lock and unlock to caller in Tx path (Raju Rangoju) [1955208] - cxgb4: move handling L2T ARP failures to caller (Raju Rangoju) [1955208] - cxgb4: Use struct_size() helper (Raju Rangoju) [1955208] - cxgb4: add action to steer flows to specific Rxq (Raju Rangoju) [1955208] - cxgb4: add support to fetch ethtool n-tuple filters (Raju Rangoju) [1955208] - cxgb4: add ethtool n-tuple filter deletion (Raju Rangoju) [1955208] - cxgb4: add ethtool n-tuple filter insertion (Raju Rangoju) [1955208] - [netdrv] flow_offload: check for basic action hw stats type (Raju Rangoju) [1955208] - cxgb4: add skeleton for ethtool n-tuple filters (Raju Rangoju) [1955208] - cxgb4: add support to read serial flash (Raju Rangoju) [1955208] - cxgb4: add support to flash boot cfg image (Raju Rangoju) [1955208] - cxgb4: add support to flash boot image (Raju Rangoju) [1955208] - cxgb4: add support to flash PHY image (Raju Rangoju) [1955208] - cxgb4: update set_flash to flash different images (Raju Rangoju) [1955208] - cxgb4: Use kfree() instead kvfree() where appropriate (Raju Rangoju) [1955208] - cxgb4: Use pM format specifier for MAC addresses (Raju Rangoju) [1955208] - net: sock: fix in-kernel mark setting (Alexander Aring) [1509204] - sock: Reset dst when changing sk_mark via setsockopt (Alexander Aring) [1509204] - fs: dlm: fix mark setting deadlock (Alexander Aring) [1509204] - fs: dlm: fix mark per nodeid setting (Alexander Aring) [1509204] - fs: dlm: remove lock dependency warning (Alexander Aring) [1509204] - fs: dlm: set skb mark per peer socket (Alexander Aring) [1509204] - fs: dlm: set skb mark for listen socket (Alexander Aring) [1509204] - net: sock: add sock_set_mark (Alexander Aring) [1509204] - Bluetooth: btusb: Add support for GarfieldPeak controller (Gopal Tiwari) [1959110] - can: gw: synchronize rcu operations before removing gw job entry (Balazs Nemeth) [1986334] - can: bcm: fix infoleak in struct bcm_msg_head (Balazs Nemeth) [1986334] - can: af_can: prevent potential access of uninitialized member in canfd_rcv() (Balazs Nemeth) [1956730] - can: af_can: prevent potential access of uninitialized member in can_rcv() (Balazs Nemeth) [1956730] - can: proc: can_remove_proc(): silence remove_proc_entry warning (Balazs Nemeth) [1956730] - cifs: add missing parsing of backupuid (Ronnie Sahlberg) [1987126] - cifs: use helpers when parsing uid/gid mount options and validate them (Ronnie Sahlberg) [1987126] - kernfs: dont call d_splice_alias() under kernfs node lock (Ian Kent) [1939133] - kernfs: use i_lock to protect concurrent inode updates (Ian Kent) [1939133] - kernfs: switch kernfs to use an rwsem (Ian Kent) [1939133] - kernfs: use VFS negative dentry caching (Ian Kent) [1939133] - kernfs: add a revision to identify directory node changes (Ian Kent) [1939133] - kernfs: move revalidate to be near lookup (Ian Kent) [1939133]- mlxsw: spectrum_mr: Update egress RIF list before route's action (Ivan Vecera) [1941938] - selftests: mlxsw: Fix mausezahn invocation in ERSPAN scale test (Ivan Vecera) [1941938] - selftests: mlxsw: Increase the tolerance of backlog buildup (Ivan Vecera) [1941938] - selftests: mlxsw: Return correct error code in resource scale tests (Ivan Vecera) [1941938] - selftests: mlxsw: Remove a redundant if statement in tc_flower_scale test (Ivan Vecera) [1941938] - selftests: mlxsw: Remove a redundant if statement in port_scale test (Ivan Vecera) [1941938] - selftests: mlxsw: sch_red_ets: Test proper counter cleaning in ETS (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Index future FIFOs by band number (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Allocate child qdiscs dynamically (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Guard all qdisc accesses with a lock (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Track children per qdisc (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Promote backlog reduction to mlxsw_sp_qdisc_destroy() (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Track tclass_num as int, not u8 (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Drop an always-true condition (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Simplify mlxsw_sp_qdisc_compare() (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Drop one argument from check_params callback (Ivan Vecera) [1941938] - mlxsw: core: Remove critical trip points from thermal zones (Ivan Vecera) [1941938] - selftests: mlxsw: Test vetoing of double sampling (Ivan Vecera) [1941938] - mlxsw: spectrum: Veto sampling if already enabled on port (Ivan Vecera) [1941938] - selftests: mlxsw: Test matchall failure with protocol match (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Perform priority checks earlier (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Convert if statements to a switch statement (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Perform protocol check earlier (Ivan Vecera) [1941938] - selftests: forwarding: vxlan_bridge_1d: Add more ECN decap test cases (Ivan Vecera) [1941938] - mlxsw: spectrum: Fix ECN marking in tunnel decapsulation (Ivan Vecera) [1941938] - selftests: net: forwarding: Fix a typo (Ivan Vecera) [1941938] - selftests: mlxsw: spectrum-2: Remove q_in_vni_veto test (Ivan Vecera) [1941938] - selftests: forwarding: Add test for dual VxLAN bridge (Ivan Vecera) [1941938] - mlxsw: Allow 802.1d and .1ad VxLAN bridges to coexist on Spectrum>=2 (Ivan Vecera) [1941938] - mlxsw: Add struct mlxsw_sp_switchdev_ops per ASIC (Ivan Vecera) [1941938] - mlxsw: spectrum: Add mlxsw_sp_port_egress_ethtype_set() (Ivan Vecera) [1941938] - mlxsw: reg: Add Switch Port Egress VLAN EtherType Register (Ivan Vecera) [1941938] - mlxsw: reg: Add egr_et_set field to SPVID (Ivan Vecera) [1941938] - selftests: mlxsw: Test egress sampling limitation on Spectrum-1 only (Ivan Vecera) [1941938] - selftests: mlxsw: Add tc sample tests for new triggers (Ivan Vecera) [1941938] - mlxsw: spectrum_acl: Offload FLOW_ACTION_SAMPLE (Ivan Vecera) [1941938] - mlxsw: core_acl_flex_actions: Add mirror sampler action (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Add support for egress sampling (Ivan Vecera) [1941938] - mlxsw: spectrum: Start using sampling triggers hash table (Ivan Vecera) [1941938] - mlxsw: spectrum: Track sampling triggers in a hash table (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Pass matchall entry to sampling operations (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Push sampling checks to per-ASIC operations (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Propagate extack further (Ivan Vecera) [1941938] - selftests: mlxsw: Add tc sample tests (Ivan Vecera) [1941938] - mlxsw: spectrum: Report extra metadata to psample module (Ivan Vecera) [1941938] - mlxsw: spectrum: Remove mlxsw_sp_sample_receive() (Ivan Vecera) [1941938] - mlxsw: spectrum: Remove unnecessary RCU read-side critical section (Ivan Vecera) [1941938] - mlxsw: pci: Set extra metadata in skb control block (Ivan Vecera) [1941938] - mlxsw: Create dedicated field for Rx metadata in skb control block (Ivan Vecera) [1941938] - mlxsw: pci: Add more metadata fields to CQEv2 (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Implement sampling using mirroring (Ivan Vecera) [1941938] - mlxsw: spectrum_trap: Split sampling traps between ASICs (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Split sampling support between ASICs (Ivan Vecera) [1941938] - mlxsw: spectrum_span: Add SPAN probability rate support (Ivan Vecera) [1941938] - mlxsw: reg: Extend mirroring registers with probability rate field (Ivan Vecera) [1941938] - mlxsw: spectrum_span: Add SPAN session identifier support (Ivan Vecera) [1941938] - mlxsw: Adjust some MFDE fields shift and size to fw implementation (Ivan Vecera) [1941938] - mlxsw: core: Expose MFDE.log_ip to devlink health (Ivan Vecera) [1941938] - mlxsw: reg: Extend MFDE register with new log_ip field (Ivan Vecera) [1941938] - mlxsw: spectrum: Bump minimum FW version to xx.2008.2406 (Ivan Vecera) [1941938] - mlxsw: reg: Fix comment about slot_index field in PMAOS register (Ivan Vecera) [1941938] - mlxsw: spectrum: Reword an error message for Q-in-Q veto (Ivan Vecera) [1941938] - mlxsw: spectrum_ethtool: Add an external speed to PTYS register (Ivan Vecera) [1941938] - mlxsw: spectrum_span: Do not overwrite policer configuration (Ivan Vecera) [1941938] - selftests: forwarding: Specify interface when invoking mausezahn (Ivan Vecera) [1941938] - selftests: mlxsw: Add a scale test for physical ports (Ivan Vecera) [1941938] - mlxsw: Register physical ports as a devlink resource (Ivan Vecera) [1941938] - mlxsw: pci: switch from 'pci_' to 'dma_' API (Ivan Vecera) [1941938] - mlxsw: core: Increase critical threshold for ASIC thermal zone (Ivan Vecera) [1941938] - mlxsw: core: Add validation of transceiver temperature thresholds (Ivan Vecera) [1941938] - selftests: mlxsw: Set headroom size of correct port (Ivan Vecera) [1941938] - net/mlxfw: Use kzalloc for allocating only one thing (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use eXtended mezzanine to offload IPv4 router (Ivan Vecera) [1941938] - mlxsw: spectrum: Set KVH XLT cache mode for Spectrum2/3 (Ivan Vecera) [1941938] - mlxsw: spectrum_router_xm: Introduce basic XM cache flushing (Ivan Vecera) [1941938] - mlxsw: reg: Add Router LPM Cache Enable Register (Ivan Vecera) [1941938] - mlxsw: reg: Add Router LPM Cache ML Delete Register (Ivan Vecera) [1941938] - mlxsw: spectrum_router_xm: Implement L-value tracking for M-index (Ivan Vecera) [1941938] - mlxsw: reg: Add XM Router M Table Register (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce per-ASIC XM initialization (Ivan Vecera) [1941938] - mlxsw: reg: Add XM Lookup Table Query Register (Ivan Vecera) [1941938] - mlxsw: reg: Add Router XLT M select Register (Ivan Vecera) [1941938] - mlxsw: Ignore ports that are connected to eXtended mezanine (Ivan Vecera) [1941938] - mlxsw: pci: Obtain info about ports used by eXtended mezanine (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce XM implementation of router low-level ops (Ivan Vecera) [1941938] - mlxsw: reg: Add Router XLT Enable Register (Ivan Vecera) [1941938] - mlxsw: reg: Add XM Direct Register (Ivan Vecera) [1941938] - selftests: mlxsw: Add Q-in-VNI veto tests (Ivan Vecera) [1941938] - selftests: forwarding: Add Q-in-VNI test (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Allow joining VxLAN to 802.1ad bridge (Ivan Vecera) [1941938] - mlxsw: Veto Q-in-VNI for Spectrum-1 ASIC (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Use ops->vxlan_join() when adding VLAN to VxLAN device (Ivan Vecera) [1941938] - mlxsw: spectrum_nve_vxlan: Add support for Q-in-VNI for Spectrum-2 ASIC (Ivan Vecera) [1941938] - mlxsw: spectrum: Publish mlxsw_sp_ethtype_to_sver_type() (Ivan Vecera) [1941938] - mlxsw: Save EtherType as part of mlxsw_sp_nve_config (Ivan Vecera) [1941938] - mlxsw: Save EtherType as part of mlxsw_sp_nve_params (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Create common function for joining VxLAN to VLAN-aware bridge (Ivan Vecera) [1941938] - mlxsw: reg: Add support for tunnel port in SPVID register (Ivan Vecera) [1941938] - mlxsw: reg: Add Switch Port VLAN Stacking Register (Ivan Vecera) [1941938] - mlxsw: Use one enum for all registers that contain tunnel_port field (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Reduce mlxsw_sp_ipip_fib_entry_op_gre4() (Ivan Vecera) [1941938] - mlxsw: spectrum: Bump minimum FW version to xx.2008.2018 (Ivan Vecera) [1941938] - mlxsw: core_acl: Use an array instead of a struct with a zero-length array (Ivan Vecera) [1941938] - mlxsw: spectrum_mr: Use flexible-array member instead of zero-length array (Ivan Vecera) [1941938] - mlxsw: core: Trace EMAD events (Ivan Vecera) [1941938] - selftests: mlxsw: Test RIF's reference count when joining a LAG (Ivan Vecera) [1941938] - mlxsw: spectrum: Apply RIF configuration when joining a LAG (Ivan Vecera) [1941938] - selftests: forwarding: Add QinQ veto testing (Ivan Vecera) [1941938] - mlxsw: Add QinQ configuration vetoes (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Add support of QinQ traffic (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Create common functions for VLAN-aware bridge (Ivan Vecera) [1941938] - mlxsw: Make EtherType configurable when pushing VLAN at ingress (Ivan Vecera) [1941938] - mlxsw: spectrum: Only treat 802.1q packets as tagged packets (Ivan Vecera) [1941938] - mlxsw: reg: Add et_vlan field to SPVID register (Ivan Vecera) [1941938] - mlxsw: reg: Add Switch Port VLAN Classification Register (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Update adjacency index more efficiently (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Track nexthop group virtual router membership (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Rollback virtual router adjacency pointer update (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass virtual router parameters directly instead of pointer (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Fix error handling issue (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Resolve RIF from nexthop struct instead of neighbour (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use loopback RIF for unresolved nexthops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use different trap identifier for unresolved nexthops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Create loopback RIF during initialization (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Allow returning errors from mlxsw_sp_nexthop_group_refresh() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Add an indication if a nexthop group can be destroyed (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Re-order mlxsw_sp_nexthop6_group_get() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Set FIB entry's type based on nexthop group (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Set FIB entry's type after creating nexthop group (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass ifindex to mlxsw_sp_ipip_entry_find_by_decap() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Set ifindex for IPv4 nexthops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Fix wrong kfree() in error path (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Remove outdated comment (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Consolidate mlxsw_sp_nexthop{4, 6}_type_fini() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Consolidate mlxsw_sp_nexthop{4, 6}_type_init() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Remove unused argument from mlxsw_sp_nexthop6_type_init() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass nexthop netdev to mlxsw_sp_nexthop4_type_init() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass nexthop netdev to mlxsw_sp_nexthop6_type_init() (Ivan Vecera) [1941938] - mlxsw: spectrum_ipip: Remove overlay protocol from can_offload() callback (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Split nexthop group configuration to a different struct (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Move IPv4 FIB info into a union in nexthop group struct (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Remove unused field 'prio' from IPv4 FIB entry struct (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Store FIB info in route (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Associate neighbour table with nexthop instead of group (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use nexthop group type in hash table key (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Add nexthop group type field (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Compare key with correct object type (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce FIB entry update op (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Track FIB entry committed state and skip uncommitted on delete (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce fib_entry priv for low-level ops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Have FIB entry op context allocated for the instance (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Prepare work context for possible bulking (Ivan Vecera) [1941938] - mlxsw: spectrum: Push RALUE packing and writing into low-level router ops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use RALUE pack helper from abort function (Ivan Vecera) [1941938] - mlxsw: reg: Allow to pass NULL pointer to mlxsw_reg_ralue_pack4/6() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass destination IP as a pointer to mlxsw_reg_ralue_pack4() (Ivan Vecera) [1941938] - mlxsw: spectrum: Export RALUE pack helper and use it from IPIP (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Push out RALUE pack into separate helper (Ivan Vecera) [1941938] - mlxsw: spectrum: Propagate context from work handler containing RALUE payload (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce FIB event queue instead of separate works (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use RALUE-independent op arg (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass non-register proto enum to __mlxsw_sp_router_set_abort_trap() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce low-level ops and implement them for RALXX regs (Ivan Vecera) [1941938] - mlxsw: reg: Add XRALXX Registers (Ivan Vecera) [1941938] - hwmon: (mlxreg-fan) Add support for fan drawers capability and present registers (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Add callback to notify mux creation completion (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Extend supported mux number (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Extend driver to support word address space devices (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Get rid of adapter numbers enforcement (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Prepare mux selection infrastructure for two-byte support (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Convert driver to platform driver (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Move header file out of x86 realm (Ivan Vecera) [1941938] - platform/x86: mlxcpld: Update module license (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Update module license (Ivan Vecera) [1941938] - i2c: mlxcpld: Add support for I2C bus frequency setting (Ivan Vecera) [1941938] - i2c: mlxcpld: Decrease polling time for performance improvement (Ivan Vecera) [1941938] - i2c: mlxcpld: Update module license (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx system (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx systems (Ivan Vecera) [1941938] - platform/x86: mlx-platform: remove an unused variable (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Remove PSU EEPROM from default platform configuration (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Add capability field to platform FAN description (Ivan Vecera) [1941938] - platform_data/mlxreg: Extend core platform structure (Ivan Vecera) [1941938] - platform_data/mlxreg: Update module license (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Fix extended topology configuration for power supply units (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Remove PSU EEPROM configuration (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Extend FAN platform data description (Ivan Vecera) [1941938] - platform_data/mlxreg: Add presence register field for FAN devices (Ivan Vecera) [1941938] - Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-io: Add support for complex attributes (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Add more definitions for system attributes (Ivan Vecera) [1941938] - platform_data/mlxreg: Add support for complex attributes (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-hotplug: Add environmental data to uevent (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-hotplug: Use capability register for attribute creation (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-hotplug: Modify module license (Ivan Vecera) [1941938] - lib/string_helpers: Introduce string_upper() and string_lower() helpers (Ivan Vecera) [1941938] - i2c: mlxcpld: check correct size of maximum RECV_LEN packet (Ivan Vecera) [1941938] - docs: watchdog: mlx-wdt: Add description of new watchdog type 3 (Ivan Vecera) [1941938] - watchdog: mlx-wdt: support new watchdog type with longer timeout period (Ivan Vecera) [1941938] - platform/x86: mlx-platform: support new watchdog type with longer timeout (Ivan Vecera) [1941938] - platform_data/mlxreg: support new watchdog type with longer timeout period (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-hotplug: convert to use i2c_new_client_device() (Ivan Vecera) [1941938] - selftests: icmp_redirect: IPv6 PMTU info should be cleared after redirect (Hangbin Liu) [1986227] - selftests: icmp_redirect: remove from checking for IPv6 route get (Hangbin Liu) [1986227] - selftests: icmp_redirect: support expected failures (Hangbin Liu) [1986227] - selftests: disable rp_filter for icmp_redirect.sh (Hangbin Liu) [1986227] - selftests: icmp_redirect: Add support for routing via nexthop objects (Hangbin Liu) [1986227] - selftest: Fixes for icmp_redirect test (Hangbin Liu) [1986227] - selftests: Add redirect tests (Hangbin Liu) [1986227] - redhat: enable vdpa_sim_net vdpa_sim_block vp_vdpa (Cindy Lu) [1975173] - virtio/vdpa: clear the virtqueue state during probe (Cindy Lu) [1975173] - vp_vdpa: allow set vq state to initial state after reset (Cindy Lu) [1975173] - virtio-pci library: introduce vp_modern_get_driver_features() (Cindy Lu) [1975173] - vdpa: support packed virtqueue for set/get_vq_state() (Cindy Lu) [1975173] - vdpa/mlx5: Clear vq ready indication upon device reset (Cindy Lu) [1975173] - vdpa/mlx5: Add support for doorbell bypassing (Cindy Lu) [1975173] - vdpa/mlx5: Add support for running with virtio_vdpa (Cindy Lu) [1975173] - vdp/mlx5: Fix setting the correct dma_device (Cindy Lu) [1975173] - vdpa/mlx5: Support creating resources with uid == 0 (Cindy Lu) [1975173] - vdpa/mlx5: Fix possible failure in umem size calculation (Cindy Lu) [1975173] - vdpa/mlx5: Fix umem sizes assignments on VQ create (Cindy Lu) [1975173] - vp_vdpa: correct the return value when fail to map notification (Cindy Lu) [1975173] - virtio_net: Fix error handling in virtnet_restore() (Cindy Lu) [1975173] - virtio-blk: Fix memory leak among suspend/resume procedure (Cindy Lu) [1975173] - vDPA/ifcvf: reuse pre-defined macros for device ids and vendor ids (Cindy Lu) [1975173] - virtio: update virtio id table, add transitional ids (Cindy Lu) [1975173] - vDPA/ifcvf: implement doorbell mapping for ifcvf (Cindy Lu) [1975173] - vDPA/ifcvf: record virtio notify base (Cindy Lu) [1975173] - vdpa_sim_blk: remove duplicate include of linux/blkdev.h (Cindy Lu) [1975173] - {net,vdpa}/mlx5: Configure interface MAC into mpfs L2 table (Cindy Lu) [1975173] - virtio_pci_modern: correct sparse tags for notify (Cindy Lu) [1975173] - virtio_pci_modern: __force cast the notify mapping (Cindy Lu) [1975173] - vDPA/ifcvf: get_config_size should return dev specific config size (Cindy Lu) [1975173] - vDPA/ifcvf: enable Intel C5000X-PL virtio-block for vDPA (Cindy Lu) [1975173] - vDPA/ifcvf: deduce VIRTIO device ID when probe (Cindy Lu) [1975173] - vdpa_sim_blk: add support for vdpa management tool (Cindy Lu) [1975173] - vdpa_sim_blk: handle VIRTIO_BLK_T_GET_ID (Cindy Lu) [1975173] - vdpa_sim_blk: implement ramdisk behaviour (Cindy Lu) [1975173] - vdpa: add vdpa simulator for block device (Cindy Lu) [1975173] - vhost/vdpa: Remove the restriction that only supports virtio-net devices (Cindy Lu) [1975173] - vhost/vdpa: use get_config_size callback in vhost_vdpa_config_validate() (Cindy Lu) [1975173] - vdpa: add get_config_size callback in vdpa_config_ops (Cindy Lu) [1975173] - vdpa_sim: cleanup kiovs in vdpasim_free() (Cindy Lu) [1975173] - vringh: add vringh_kiov_length() helper (Cindy Lu) [1975173] - vringh: implement vringh_kiov_advance() (Cindy Lu) [1975173] - vringh: explain more about cleaning riov and wiov (Cindy Lu) [1975173] - vringh: reset kiov 'consumed' field in __vringh_iov() (Cindy Lu) [1975173] - vringh: add 'iotlb_lock' to synchronize iotlb accesses (Cindy Lu) [1975173] - vdpa_sim: use iova module to allocate IOVA addresses (Cindy Lu) [1975173] - vDPA/ifcvf: deduce VIRTIO device ID from pdev ids (Cindy Lu) [1975173] - vDPA/ifcvf: verify mandatory feature bits for vDPA (Cindy Lu) [1975173] - vDPA/ifcvf: fetch device feature bits when probe (Cindy Lu) [1975173] - vDPA/ifcvf: remove the version number string (Cindy Lu) [1975173] - vDPA/ifcvf: rename original IFCVF dev ids to N3000 ids (Cindy Lu) [1975173] - vDPA/ifcvf: enable Intel C5000X-PL virtio-net for vDPA (Cindy Lu) [1975173] - vDPA/ifcvf: get_vendor_id returns a device specific vendor id (Cindy Lu) [1975173] - vhost-vdpa: fix vm_flags for virtqueue doorbell mapping (Cindy Lu) [1975173] - vp_vdpa: report doorbell address (Cindy Lu) [1975173] - virtio-pci library: report resource address (Cindy Lu) [1975173] - virito_pci libray: hide vp_modern_map_capability() (Cindy Lu) [1975173] - virtio_pci_modern: hide vp_modern_get_queue_notify_off() (Cindy Lu) [1975173] - vp_vdpa: switch to use vp_modern_map_vq_notify() (Cindy Lu) [1975173] - virtio-pci library: switch to use vp_modern_map_vq_notify() (Cindy Lu) [1975173] - virtio_pci_modern: introduce helper to map vq notify area (Cindy Lu) [1975173] - virtio-net: don't allocate control_buf if not supported (Cindy Lu) [1975173] - vdpa: Follow kdoc comment style (Cindy Lu) [1975173] - vdpa: Follow kdoc comment style (Cindy Lu) [1975173] - vdpa/mlx5: Enable user to add/delete vdpa device (Cindy Lu) [1975173] - vdpa: introduce virtio pci driver (Cindy Lu) [1975173] - vdpa/mlx5: Set err = -ENOMEM in case dma_map_sg_attrs fails (Cindy Lu) [1975173] - vhost-vdpa: protect concurrent access to vhost device iotlb (Cindy Lu) [1975173] - vdpa/mlx5: Fix suspend/resume index restoration (Cindy Lu) [1975173] - vdpa/mlx5: Fix wrong use of bit numbers (Cindy Lu) [1975173] - vdpa/mlx5: should exclude header length and fcs from mtu (Cindy Lu) [1975173] - vhost-vdpa: set v->config_ctx to NULL if eventfd_ctx_fdget() fails (Cindy Lu) [1975173] - vhost-vdpa: fix use-after-free of v->config_ctx (Cindy Lu) [1975173] - vhost_vdpa: fix the missing irq_bypass_unregister_producer() invocation (Cindy Lu) [1975173] - vdpa_sim: Skip typecasting from void* (Cindy Lu) [1975173] - vdpa: set the virtqueue num during register (Cindy Lu) [1975173] - vdpa/mlx5: fix param validation in mlx5_vdpa_get_config() (Cindy Lu) [1975173] - virtio_vdpa: don't warn when fail to disable vq (Cindy Lu) [1975173] - virtio-pci: introduce modern device module (Cindy Lu) [1975173] - virito-pci-modern: rename map_capability() to vp_modern_map_capability() (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper to get notification offset (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper for getting queue nums (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper for setting/geting queue size (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper to set/get queue_enable (Cindy Lu) [1975173] - virtio-pci-modern: introduce vp_modern_queue_address() (Cindy Lu) [1975173] - virtio-pci-modern: introduce vp_modern_set_queue_vector() (Cindy Lu) [1975173] - virtio-pci-modern: introduce vp_modern_generation() (Cindy Lu) [1975173] - virtio-pci-modern: introduce helpers for setting and getting features (Cindy Lu) [1975173] - virtio-pci-modern: introduce helpers for setting and getting status (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper to set config vector (Cindy Lu) [1975173] - virtio-pci-modern: introduce vp_modern_remove() (Cindy Lu) [1975173] - virtio-pci-modern: factor out modern device initialization logic (Cindy Lu) [1975173] - virtio-pci: split out modern device (Cindy Lu) [1975173] - virtio-pci: do not access iomem via struct virtio_pci_device directly (Cindy Lu) [1975173] - vdpa_sim_net: Add support for user supported devices (Cindy Lu) [1975173] - vdpa: Enable user to query vdpa device info (Cindy Lu) [1975173] - vdpa: Enable a user to add and delete a vdpa device (Cindy Lu) [1975173] - vdpa: Define vdpa mgmt device, ops and a netlink interface (Cindy Lu) [1975173] - vdpa: Extend routine to accept vdpa device name (Cindy Lu) [1975173] - vdpa_sim_net: Make mac address array static (Cindy Lu) [1975173] - vdpa/mlx5: Restore the hardware used index after change map (Cindy Lu) [1975173] - vdpa/mlx5: Fix memory key MTT population (Cindy Lu) [1975173] - vdpa: Use simpler version of ida allocation (Cindy Lu) [1975173] - vdpa: Add missing comment for virtqueue count (Cindy Lu) [1975173] - vdpa: split vdpasim to core and net modules (Cindy Lu) [1975173] - vdpa_sim: split vdpasim_virtqueue's iov field in out_iov and in_iov (Cindy Lu) [1975173] - vdpa_sim: make vdpasim->buffer size configurable (Cindy Lu) [1975173] - vdpa_sim: use kvmalloc to allocate vdpasim->buffer (Cindy Lu) [1975173] - vdpa_sim: set vringh notify callback (Cindy Lu) [1975173] - vdpa_sim: add set_config callback in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: add get_config callback in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: make 'config' generic and usable for any device type (Cindy Lu) [1975173] - vdpa_sim: store parsed MAC address in a buffer (Cindy Lu) [1975173] - vdpa_sim: add work_fn in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: add supported_features field in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: add device id field in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: add struct vdpasim_dev_attr for device attributes (Cindy Lu) [1975173] - vdpa_sim: rename vdpasim_config_ops variables (Cindy Lu) [1975173] - vdpa_sim: make IOTLB entries limit configurable (Cindy Lu) [1975173] - vdpa_sim: remove hard-coded virtq count (Cindy Lu) [1975173] - vdpa_sim: remove unnecessary headers inclusion (Cindy Lu) [1975173] - vdpa: remove unnecessary 'default n' in Kconfig entries (Cindy Lu) [1975173] - vdpa: ifcvf: Use dma_set_mask_and_coherent to simplify code (Cindy Lu) [1975173] - vhost_vdpa: switch to vmemdup_user() (Cindy Lu) [1975173] - vhost: vringh: use krealloc_array() (Cindy Lu) [1975173] - vringh: fix vringh_iov_push_*() documentation (Cindy Lu) [1975173] - vringh: fix __vringh_iov() when riov and wiov are different (Cindy Lu) [1975173] - net: sched: fix memory leak in tcindex_partial_destroy_work (Davide Caratti) [1987042] - net/sched: act_ct: remove and free nf_table callbacks (Davide Caratti) [1987042] - net: sched: fix warning in tcindex_alloc_perfect_hash (Davide Caratti) [1987042] - pkt_sched: sch_qfq: fix qfq_change_class() error path (Davide Caratti) [1987042] - sch_htb: fix refcount leak in htb_parent_to_leaf_offload (Davide Caratti) [1987042] - sch_dsmark: fix a NULL deref in qdisc_reset() (Davide Caratti) [1987042] - sch_red: fix off-by-one checks in red_check_params() (Davide Caratti) [1987042] - ipv6: fix 'disable_policy' for fwd packets (Hangbin Liu) [1985837] - net: ipv6: fix return value of ip6_skb_dst_mtu (Hangbin Liu) [1985837] - ipv6: fix out-of-bound access in ip6_parse_tlv() (Hangbin Liu) [1985837] - ipv6: exthdrs: do not blindly use init_net (Hangbin Liu) [1985837] - ipv6: record frag_max_size in atomic fragments in input path (Hangbin Liu) [1985837] - selftests: net: devlink_port_split.py: skip the test if no devlink device (Hangbin Liu) [1985836] - selftests/net: bump timeout to 5 minutes (Hangbin Liu) [1985836] - selftests: net: forwarding: Fix a typo (Hangbin Liu) [1985836] - selftests/net: so_txtime: remove unneeded semicolon (Hangbin Liu) [1985836] - tools: selftests: add test for changing routes with PTMU exceptions (Hangbin Liu) [1985836] - selftests: fix the return value for UDP GRO test (Hangbin Liu) [1985836] - selftests: pmtu.sh: improve the test result processing (Hangbin Liu) [1985836] - selftests: pmtu.sh: use $ksft_skip for skipped return code (Hangbin Liu) [1985836] - selftests/net: timestamping: add ptp v2 support (Hangbin Liu) [1985836] - ixgbevf: add correct exception tracing for XDP (Ken Cox) [1920268] - intel: call csum functions with well formatted arguments (Ken Cox) [1920268] - net: intel: Remove unused function pointer typedef ixgbe_mc_addr_itr (Ken Cox) [1920268] - ixgbevf: Fix fall-through warnings for Clang (Ken Cox) [1920268] - intel: clean up mismatched header comments (Ken Cox) [1920268] - ixgbe: fail to create xfrm offload of IPsec tunnel mode SA (Ken Cox) [1920268] - net: ixgbevf: use skb_csum_is_sctp instead of protocol check (Ken Cox) [1920268] - treewide: Use sizeof_field() macro (Ken Cox) [1920268] - selftests: net: add ESP-in-UDP PMTU test (Xin Long) [1986599] - udp: check encap socket in __udp_lib_err (Xin Long) [1986599] - udp: fix possible user after free in error handler (Xin Long) [1986599] - udpv6: fix possible user after free in error handler (Xin Long) [1986599] - udp: Support for error handlers of tunnels with arbitrary destination port (Xin Long) [1986599] - bpf, sockmap, udp: sk_prot needs inuse_idx set for proc stats (Xin Long) [1986599] - udp: properly flush normal packet at GRO time (Xin Long) [1986599] - udp: annotate data races around unix_sk(sk)->gso_size (Xin Long) [1986599] - udp: fix race between close() and udp_abort() (Xin Long) [1986599] - netfilter: conntrack: remove offload_pickup sysctl again (Florian Westphal) [1987101] - bpf, samples: Add -fno-asynchronous-unwind-tables to BPF Clang invocation (Yauheni Kaliuta) [1977162] - net/af_unix: fix a data-race in unix_dgram_sendmsg / unix_release_sock (Balazs Nemeth) [1986845] - netfilter: nf_tables: fix flowtable list del corruption (Jay Shin) [1977137] - net: qrtr: fix memory leaks (Íñigo Huguet) [1981236] - net: qrtr: fix OOB Read in qrtr_endpoint_post (Íñigo Huguet) [1981236] - net: qrtr: ns: Fix error return code in qrtr_ns_init() (Íñigo Huguet) [1981236] - net: qrtr: Avoid potential use after free in MHI send (Íñigo Huguet) [1981236] - qrtr: Convert qrtr_ports from IDR to XArray (Íñigo Huguet) [1981236] - net: qrtr: Fix memory leak on qrtr_tx_wait failure (Íñigo Huguet) [1981236] - net: qrtr: fix a kernel-infoleak in qrtr_recvmsg() (Íñigo Huguet) [1981236] - net: qrtr: fix error return code of qrtr_sendmsg() (Íñigo Huguet) [1981236] - net/qrtr: fix __netdev_alloc_skb call (Íñigo Huguet) [1981236] - net: qrtr: Fix memory leak in qrtr_tun_open (Íñigo Huguet) [1981236] - net/qrtr: restrict user-controlled length in qrtr_tun_write_iter() (Íñigo Huguet) [1981236] - net: qrtr: fix null-ptr-deref in qrtr_ns_remove (Íñigo Huguet) [1981236] - net: qrtr: Unprepare MHI channels during remove (Íñigo Huguet) [1981236] - net: qrtr: Start MHI channels during init (Íñigo Huguet) [1981236] - net: qrtr: Release distant nodes along the bridge node (Íñigo Huguet) [1981236] - net: qrtr: Add GFP flags parameter to qrtr_alloc_ctrl_packet (Íñigo Huguet) [1981236] - net: qrtr: Allow non-immediate node routing (Íñigo Huguet) [1981236] - net: qrtr: Allow forwarded services (Íñigo Huguet) [1981236] - net: qrtr: Fix port ID for control messages (Íñigo Huguet) [1981236] - net: qrtr: ns: Fix the incorrect usage of rcu_read_lock() (Íñigo Huguet) [1981236] - net: qrtr: ns: Protect radix_tree_deref_slot() using rcu read locks (Íñigo Huguet) [1981236] - net: qrtr: check skb_put_padto() return value (Íñigo Huguet) [1981236] - net: qrtr: fix usage of idr in port assignment to socket (Íñigo Huguet) [1981236] - qrtr: orphan socket in qrtr_release() (Íñigo Huguet) [1981236] - net: qrtr: Fix an out of bounds read qrtr_endpoint_post() (Íñigo Huguet) [1981236] - net: qrtr: free flow in __qrtr_node_release (Íñigo Huguet) [1981236] - treewide: replace '---help---' in Kconfig files with 'help' (Íñigo Huguet) [1981236] - net: qrtr: Allocate workqueue before kernel_bind (Íñigo Huguet) [1981236] - net: qrtr: Fix passing invalid reference to qrtr_local_enqueue() (Íñigo Huguet) [1981236] - net: qrtr: Add MHI transport layer (Íñigo Huguet) [1981236] - net: qrtr: Add tracepoint support (Íñigo Huguet) [1981236] - net: qrtr: send msgs from local of same id as broadcast (Íñigo Huguet) [1981236] - net: qrtr: Fix FIXME related to qrtr_ns_init() (Íñigo Huguet) [1981236] - net: qrtr: Respond to HELLO message (Íñigo Huguet) [1981236] - net: qrtr: Fix error pointer vs NULL bugs (Íñigo Huguet) [1981236] - net: qrtr: fix spelling mistake "serivce" -> "service" (Íñigo Huguet) [1981236] - net: qrtr: Fix the local node ID as 1 (Íñigo Huguet) [1981236] - net: qrtr: Migrate nameservice to kernel from userspace (Íñigo Huguet) [1981236] - net: qrtr: Remove receive worker (Íñigo Huguet) [1981236] - net: qrtr: Make qrtr_port_lookup() use RCU (Íñigo Huguet) [1981236] - net: qrtr: Migrate node lookup tree to spinlock (Íñigo Huguet) [1981236] - net: qrtr: Implement outgoing flow control (Íñigo Huguet) [1981236] - net: qrtr: Move resume-tx transmission to recvmsg (Íñigo Huguet) [1981236] - net: qrtr: fix len of skb_put_padto in qrtr_node_enqueue (Íñigo Huguet) [1981236] - net: qrtr: Simplify 'qrtr_tun_release()' (Íñigo Huguet) [1981236] - net: qrtr: Stop rx_worker before freeing node (Íñigo Huguet) [1981236] - net: qrtr: fix memort leak in qrtr_tun_write_iter (Íñigo Huguet) [1981236] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 (Íñigo Huguet) [1981236] - treewide: Add SPDX license identifier - Makefile/Kconfig (Íñigo Huguet) [1981236] - net: qrtr: Fix message type of outgoing packets (Íñigo Huguet) [1981236] - net: qrtr: use protocol endiannes variable (Íñigo Huguet) [1981236] - net: fix hangup on napi_disable for threaded napi (Paolo Abeni) [1949546] - net: fix race between napi kthread mode and busy poll (Paolo Abeni) [1949546] - net: add sysfs attribute to control napi threaded mode (Paolo Abeni) [1949546] - net: implement threaded-able napi poll loop support (Paolo Abeni) [1949546] - net: extract napi poll functionality to __napi_poll() (Paolo Abeni) [1949546] - mfd: intel-lpss: Use devm_ioremap_uc for MMIO (Steve Best) [1986715] - lib: devres: add a helper function for ioremap_uc (Steve Best) [1986715] - sched/rt: Fix double enqueue caused by rt_effective_prio (Juri Lelli) [1990566] - x86/crash: Remove crash_reserve_low_1M() (Lianbo Jiang) [1904318] - x86/setup: Remove CONFIG_X86_RESERVE_LOW and reservelow= options (Lianbo Jiang) [1904318] - x86/setup: Always reserve the first 1M of RAM (Lianbo Jiang) [1904318] - powerpc/kexec: blacklist functions called in real mode for kprobe (Desnes A. Nunes do Rosario) [1987281] - [s390] scsi: zfcp: Report port fc_security as unknown early during remote cable pull (Claudio Imbrenda) [1989910] - x86/boot: Use common BUILD_BUG_ON (Prarit Bhargava) [1979940] - net: phy: icplus: call phy_restore_page() when phy_select_page() fails (Petr Oros) [1955165] - net: phy: ti: take into account all possible interrupt sources (Petr Oros) [1955165] - net: phy: smsc: add missed clk_disable_unprepare in smsc_phy_probe() (Petr Oros) [1955165] - net: phy: Expose phydev::dev_flags through sysfs (Petr Oros) [1955165] - net: phy: fix save wrong speed and duplex problem if autoneg is on (Petr Oros) [1955165] - net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ8081 (Petr Oros) [1955165] - net: phy: icplus: add MDI/MDIX support for IP101A/G (Petr Oros) [1955165] - net: phy: icplus: add PHY counter for IP101G (Petr Oros) [1955165] - net: phy: icplus: fix paged register access (Petr Oros) [1955165] - net: phy: icplus: don't set APS_EN bit on IP101G (Petr Oros) [1955165] - net: phy: icplus: split IP101A/G driver (Petr Oros) [1955165] - net: phy: icplus: use the .soft_reset() of the phy-core (Petr Oros) [1955165] - net: phy: icplus: drop address operator for functions (Petr Oros) [1955165] - net: phy: icplus: use PHY_ID_MATCH_EXACT() for IP101A/G (Petr Oros) [1955165] - net: phy: icplus: use PHY_ID_MATCH_MODEL() macro (Petr Oros) [1955165] - net: phy: drop explicit genphy_read_status() op (Petr Oros) [1955165] - net: phy: broadcom: remove BCM5482 1000Base-BX support (Petr Oros) [1955165] - net: mdiobus: Prevent spike on MDIO bus reset signal (Petr Oros) [1955165] - net: phy: realtek: Add support for RTL9000AA/AN (Petr Oros) [1955165] - mdio, phy: fix -Wshadow warnings triggered by nested container_of() (Petr Oros) [1955165] - net: phy: national: remove definition of DEBUG (Petr Oros) [1955165] - net: phy: ar803x: disable extended next page bit (Petr Oros) [1955165] - net: phy: smsc: fix clk error handling (Petr Oros) [1955165] - net: phy: at803x: use phy_modify_mmd() (Petr Oros) [1955165] - net: phy: replace mutex_is_locked with lockdep_assert_held in phylib (Petr Oros) [1955165] - net: phy: micrel: Add KS8851 PHY support (Petr Oros) [1955165] - net: phy: marvell: replace phy_modify() (Petr Oros) [1955165] - net: phy: micrel: fix interrupt handling (Petr Oros) [1955165] - net: phy: remove the .did_interrupt() and .ack_interrupt() callback (Petr Oros) [1955165] - net: phy: qsemi: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: qsemi: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: ti: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: ti: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: national: remove the use of the .ack_interrupt() (Petr Oros) [1955165] - net: phy: national: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: micrel: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: micrel: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: icplus: remove the use .ack_interrupt() (Petr Oros) [1955165] - net: phy: icplus: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: intel-xway: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: intel-xway: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - mdio_bus: suppress err message for reset gpio EPROBE_DEFER (Petr Oros) [1955165] - net: phy: don't duplicate driver name in phy_attached_print (Petr Oros) [1955165] - net: phy: ste10Xp: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: ste10Xp: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: smsc: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: smsc: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: amd: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: amd: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: lxt: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: lxt: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: marvell: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: marvell: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: microchip: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: microchip: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: vitesse: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: vitesse: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: aquantia: do not return an error on clearing pending IRQs (Petr Oros) [1955165] - net: phy: microchip_t1: Don't set .config_aneg (Petr Oros) [1955165] - docs: networking: phy: s/2.5 times faster/2.5 times as fast/ (Petr Oros) [1955165] - net: phy: realtek: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: realtek: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: add genphy_handle_interrupt_no_ack() (Petr Oros) [1955165] - net: phy: davicom: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: davicom: implement generic .handle_interrupt() calback (Petr Oros) [1955165] - net: phy: cicada: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: cicada: implement the generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: broadcom: remove use of ack_interrupt() (Petr Oros) [1955165] - net: phy: broadcom: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: aquantia: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: aquantia: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: mscc: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: mscc: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: at803x: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: at803x: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: make .ack_interrupt() optional (Petr Oros) [1955165] - net: phy: add a shutdown procedure (Petr Oros) [1955165] - net: phy: export phy_error and phy_trigger_machine (Petr Oros) [1955165] - drivers: net: phy: Fix spelling in comment defalut to default (Petr Oros) [1955165] - net: phy: marvell: add special handling of Finisar modules with 88E1111 (Petr Oros) [1955165] - net: phylink: disable BMCR_ISOLATE in phylink_mii_c22_pcs_config (Petr Oros) [1955165] - gpiolib: Extract gpiod_not_found() helper (Petr Oros) [1955165] - net: phy: marvell: Use phy_read_paged() instead of open coding it (Petr Oros) [1955165] - net: phy: dp83869: fix unsigned comparisons against less than zero values (Petr Oros) [1955165] - net: phy: dp83869: Add speed optimization feature (Petr Oros) [1955165] - net: phy: dp83869: support Wake on LAN (Petr Oros) [1955165] - net: phy: dp83822: Update the fiber advertisement for speed (Petr Oros) [1955165] - net: dp83869: Add ability to advertise Fiber connection (Petr Oros) [1955165] - net: phy: Do not warn in phy_stop() on PHY_DOWN (Petr Oros) [1955165] - net: phy: Avoid NPD upon phy_detach() when driver is unbound (Petr Oros) [1955165] - net: phy: bcm7xxx: request and manage GPHY clock (Petr Oros) [1955165] - net: phy: smsc: LAN8710/20: add phy refclk in support (Petr Oros) [1955165] - net: phy: smsc: simplify config_init callback (Petr Oros) [1955165] - net: phy: smsc: skip ENERGYON interrupt if disabled (Petr Oros) [1955165] - net: phy: dp83867: Fix various styling and space issues (Petr Oros) [1955165] - net: mdiobus: add clause 45 mdiobus write accessor (Petr Oros) [1955165] - net: phylink: consider QSGMII interface mode in phylink_mii_c22_pcs_get_state (Petr Oros) [1955165] - net: phylink: add helper function to decode USXGMII word (Petr Oros) [1955165] - net: phy: DP83822: Add ability to advertise Fiber connection (Petr Oros) [1955165] - net: dp83869: Fix RGMII internal delay configuration (Petr Oros) [1955165] - net: mdio-mux-gpio: use devm_gpiod_get_array() (Petr Oros) [1955165] - net: phy: add USXGMII link partner ability constants (Petr Oros) [1955165] - net: phy: mdio-octeon: Cleanup module loading dependencies (Petr Oros) [1955165] - net: phy: cavium: Improve __iomem mess (Petr Oros) [1955165] - net: phy: Add a helper to return the index for of the internal delay (Petr Oros) [1955165] - dt-bindings: net: Add RGMII internal delay for DP83869 (Petr Oros) [1955165] - net: dp83869: Add RGMII internal delay configuration (Petr Oros) [1955165] - net: phy: DP83822: Add setting the fixed internal delay (Petr Oros) [1955165] - net: dp83869: Fix OF_MDIO config check (Petr Oros) [1955165] - net: dp83867: Fix OF_MDIO config check (Petr Oros) [1955165] - net: marvell: Fix OF_MDIO config check (Petr Oros) [1955165] - net: phy: mscc: use mdiobus_get_phy() (Petr Oros) [1955165] - net: phy: improve phy_driver callback handle_interrupt (Petr Oros) [1955165]- net/mlx5e: Add IPsec support to uplink representor (Alaa Hleihel) [1980171 1926098] - net/mlx5e: TC: Reserved bit 31 of REG_C1 for IPsec offload (Alaa Hleihel) [1980171 1926098] - net/mlx5e: TC: Use bit counts for register mapping (Alaa Hleihel) [1980171 1926098] - RDMA/mlx5: Don't access NULL-cleared mpi pointer (Alaa Hleihel) [1980171] - RDMA/mlx5: Split mlx5_ib_update_xlt() into ODP and non-ODP cases (Alaa Hleihel) [1980171] - ip6_tunnel: allow redirecting ip6gre and ipxip6 packets to eth devices (Guillaume Nault) [1921539] - gre: let mac_header point to outer header only when necessary (Guillaume Nault) [1921539] - sit: allow redirecting ip6ip, ipip and mplsip packets to eth devices (Guillaume Nault) [1921539] - ipip: allow redirecting ipip and mplsip packets to eth devices (Guillaume Nault) [1921539] - bareudp: allow redirecting bareudp packets to eth devices (Guillaume Nault) [1921539] - net: handle ARPHRD_IP6GRE in dev_is_mac_header_xmit() (Guillaume Nault) [1921539] - net: ipv4: fix memory leak in ip_mc_add1_src (Guillaume Nault) [1987605] - net: ipv4: fix memory leak in netlbl_cipsov4_add_std (Guillaume Nault) [1987605] - ixgbe: fix probing of multi-port devices with one MDIO (Ken Cox) [1968696] - [s390] s390/qdio: let driver manage the QAOB (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove RX VLAN filter stubs in L3 driver (Claudio Imbrenda) [1919250] - [s390] s390/qeth: enable napi_consume_skb() for pending TX buffers (Claudio Imbrenda) [1919250] - [s390] s390/qeth: allocate initial TX Buffer structs with GFP_KERNEL (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix notification for pending buffers during teardown (Claudio Imbrenda) [1919250] - [s390] s390/qeth: schedule TX NAPI on QAOB completion (Claudio Imbrenda) [1919250] - [s390] s390/qeth: improve completion of pending TX buffers (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix memory leak after failed TX Buffer allocation (Claudio Imbrenda) [1919250] - [s390] s390/qeth: don't fake a TX completion interrupt after TX error (Claudio Imbrenda) [1919250] - [s390] s390/qeth: make cast type selection for af_iucv skbs robust (Claudio Imbrenda) [1919250] - [s390] s390/qeth: pass proto to qeth_l3_get_cast_type() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove qeth_get_ip_version() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: clean up load/remove code for disciplines (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix L2 header access in qeth_l3_osa_features_check() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix locking for discipline setup / removal (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix deadlock during recovery (Claudio Imbrenda) [1919250] - [s390] s390/qeth: make qeth_qdio_handle_aob() more robust (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove QETH_QDIO_BUF_HANDLED_DELAYED state (Claudio Imbrenda) [1919250] - [s390] s390/qeth: don't replace a fully completed async TX buffer (Claudio Imbrenda) [1919250] - [s390] s390/qeth: use dev->groups for common sysfs attributes (Claudio Imbrenda) [1919250] - [s390] s390/ccwgroup: use bus->dev_groups for bus-based sysfs attributes (Claudio Imbrenda) [1919250] - [s390] s390/qeth: don't call INIT_LIST_HEAD() on iob's list entry (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix tear down of async TX buffers (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix af_iucv notification race (Claudio Imbrenda) [1919250] - [s390] s390/qeth: improve selection of ethtool link modes (Claudio Imbrenda) [1919250] - [s390] s390/qeth: use QUERY OAT for initial link info (Claudio Imbrenda) [1919250] - [s390] s390/qeth: clean up default cases for ethtool link mode (Claudio Imbrenda) [1919250] - [s390] s390/qeth: set static link info during initialization (Claudio Imbrenda) [1919250] - [s390] s390/qeth: improve QUERY CARD INFO processing (Claudio Imbrenda) [1919250] - [s390] s390/qeth: tolerate error when querying card info (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove useless if/else (Claudio Imbrenda) [1919250] - [s390] s390/qeth: reduce rtnl locking for switchdev events (Claudio Imbrenda) [1919250] - [s390] s390/qeth: static checker cleanups (Claudio Imbrenda) [1919250] - [s390] s390/qeth: use netdev_name() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: constify the disciplines (Claudio Imbrenda) [1919250] - [s390] s390/qeth: allow configuration of TX queues for OSA devices (Claudio Imbrenda) [1919250] - [s390] s390/qeth: de-magic the QIB parm area (Claudio Imbrenda) [1919250] - [s390] s390/qeth: keep track of wanted TX queues (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove forward declarations in L2 code (Claudio Imbrenda) [1919250] - [s390] s390/qeth: consolidate teardown code (Claudio Imbrenda) [1919250] - [s390] s390/qeth: consolidate online code (Claudio Imbrenda) [1919250] - [s390] s390/qeth: cancel cmds earlier during teardown (Claudio Imbrenda) [1919250] - [s390] s390/qeth: tighten ucast IP locking (Claudio Imbrenda) [1919250] - [s390] s390/qeth: replace deprecated simple_stroul() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: clean up string ops in qeth_l3_parse_ipatoe() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: relax locking for ipato config data (Claudio Imbrenda) [1919250] - [s390] s390/qeth: don't init refcount twice for mcast IPs (Claudio Imbrenda) [1919250] - mm, page_alloc: check for max order in hot path (Jay Shin) [1982466] - be2net: Fix an error handling path in 'be_probe()' (Petr Oros) [1980665] - net: emulex: benet: simplify the return expression of be_if_create() (Petr Oros) [1980665] - treewide: Use fallthrough pseudo-keyword (Petr Oros) [1980665] - be2net: convert to new udp_tunnel_nic infra (Petr Oros) [1980665] - benet: use generic power management (Petr Oros) [1980665] - treewide: replace '---help---' in Kconfig files with 'help' (Petr Oros) [1980665] - hwmon: (k10temp) Zen3 Ryzen Desktop CPUs support (David Arcari) [1980072] - hwmon: (k10temp) Remove support for displaying voltage and current on Zen CPUs (David Arcari) [1980072] - hwmon: (k10temp) Add support for Zen3 CPUs (David Arcari) [1980072] - hwmon: (k10temp) Take out debugfs code (David Arcari) [1980072] - hwmon: (k10temp) Define SVI telemetry and current factors for Zen2 CPUs (David Arcari) [1980072] - hwmon: (k10temp) Create common functions and macros for Zen CPU families (David Arcari) [1980072] - hwmon: (k10temp) Add AMD family 17h model 60h PCI match (David Arcari) [1980072] - hwmon: (k10temp) make some symbols static (David Arcari) [1980072] - hwmon: (k10temp) Reorganize and simplify temperature support detection (David Arcari) [1980072] - hwmon: (k10temp) Swap Tdie and Tctl on Family 17h CPUs (David Arcari) [1980072] - hwmon: (k10temp) Display up to eight sets of CCD temperatures (David Arcari) [1980072] - hwmon: (k10temp) Add debugfs support (David Arcari) [1980072] - hwmon: (k10temp) Don't show temperature limits on Ryzen (Zen) CPUs (David Arcari) [1980072] - hwmon: (k10temp) Show core and SoC current and voltages on Ryzen CPUs (David Arcari) [1980072] - hwmon: (k10temp) Report temperatures per CPU die (David Arcari) [1980072] - hmon: (k10temp) Convert to use devm_hwmon_device_register_with_info (David Arcari) [1980072] - hwmon: (k10temp) Use bitops (David Arcari) [1980072] - hwmon: (k10temp) Add support for AMD family 17h, model 70h CPUs (David Arcari) [1980072] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 56 (David Arcari) [1980072] - hwmon: (k10temp) Add Hygon Dhyana support (David Arcari) [1980072] - hwmon: (k10temp) Auto-convert to use SENSOR_DEVICE_ATTR_{RO, RW, WO} (David Arcari) [1980072] - hwmon: (k10temp) Support all Family 15h Model 6xh and Model 7xh processors (David Arcari) [1980072] - hwmon: k10temp: Support Threadripper 2920X, 2970WX; simplify offset table (David Arcari) [1980072] - hwmon: (k10temp) 27C Offset needed for Threadripper2 (David Arcari) [1980072] - x86/amd_nb: Add AMD family 17h model 60h PCI IDs (David Arcari) [1980072] - x86/amd_nb: Add PCI device IDs for family 17h, model 70h (David Arcari) [1980072] - x86/pci, x86/amd_nb: Add Hygon Dhyana support to PCI and northbridge (David Arcari) [1980072] - Revert "[hwmon] hwmon: (k10temp) Add support for Zen3 CPUs" (David Arcari) [1980072] - serial: 8250: Process sysrq at port unlock time (Prarit Bhargava) [1982016] - serial: core: Include console.h from serial_core.h (Prarit Bhargava) [1982016] - serial: core: Allow processing sysrq at port unlock time (Prarit Bhargava) [1982016] - [s390] s390/dasd: add missing discipline function (Claudio Imbrenda) [1981804] - bnxt_en: Validate vlan protocol ID on RX packets (Jonathan Toppins) [1960961] - KVM: do not allow mapping valid but non-reference-counted pages (Jon Maloy) [1975515] - gfs2: Fix error handling in init_statfs (Andreas Gruenbacher) [1872440] - gfs2: Fix underflow in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: Pass glock holder to gfs2_file_direct_{read,write} (Andreas Gruenbacher) [1872440] - gfs2: Prevent direct-I/O write fallback errors from getting lost (Andreas Gruenbacher) [1872440] - gfs2: Improve mmap write vs. truncate consistency (Andreas Gruenbacher) [1872440] - iomap: Permit pages without an iop to enter writeback (Andreas Gruenbacher) [1872440] - iomap: Don't create iomap_page objects for inline files (Andreas Gruenbacher) [1872440] - gfs2: Clean up gfs2_unstuff_dinode (Andreas Gruenbacher) [1872440] - gfs2: Unstuff before locking page in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: Clean up the error handling in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: Fix end-of-file handling in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: Use resource group glock sharing (Andreas Gruenbacher) [1442151] - gfs2: Allow node-wide exclusive glock sharing (Andreas Gruenbacher) [1442151] - gfs2: Add local resource group locking (Andreas Gruenbacher) [1442151] - gfs2: Add per-reservation reserved block accounting (Andreas Gruenbacher) [1442151] - gfs2: Rename rs_{free -> requested} and rd_{reserved -> requested} (Andreas Gruenbacher) [1442151] - gfs2: Check for active reservation in gfs2_release (Andreas Gruenbacher) [1442151] - gfs2: Don't search for unreserved space twice (Andreas Gruenbacher) [1442151] - gfs2: Only pass reservation down to gfs2_rbm_find (Andreas Gruenbacher) [1442151] - gfs2: Also reflect single-block allocations in rgd->rd_extfail_pt (Andreas Gruenbacher) [1442151] - gfs2: Set GBF_FULL flags when reading resource group (Andreas Gruenbacher) [1442151] - gfs2: Don't clear GBF_FULL flags in rs_deltree (Andreas Gruenbacher) [1442151] - Revert "gfs2: Don't reject a supposedly full bitmap if we have blocks reserved" (Andreas Gruenbacher) [1442151] - gfs2: Minor gfs2_inplace_reserve cleanup (Andreas Gruenbacher) [1442151] - gfs2: Get rid of unnecessary variable in gfs2_alloc_blocks (Andreas Gruenbacher) [1442151] - gfs2: Only use struct gfs2_rbm for bitmap manipulations (Andreas Gruenbacher) [1442151] - gfs2: Turn gfs2_rbm_incr into gfs2_rbm_add (Andreas Gruenbacher) [1872440] - gfs2: Replace gfs2_lblk_to_dblk with gfs2_get_extent (Andreas Gruenbacher) [1872440] - gfs2: Turn gfs2_extent_map into gfs2_{get,alloc}_extent (Andreas Gruenbacher) [1872440] - gfs2: Add new gfs2_iomap_get helper (Andreas Gruenbacher) [1872440] - gfs2: Make inode operations static (Andreas Gruenbacher) [1872440] - gfs2: use iomap for buffered I/O in ordered and writeback mode (Andreas Gruenbacher) [1872440] - gfs2: Never call gfs2_block_zero_range with an open transaction (Andreas Gruenbacher) [1872440] - gfs2: Upgrade shared glocks for atime updates (Andreas Gruenbacher) [1872440] - gfs2: Rework read and page fault locking (Andreas Gruenbacher) [1872440] - fs: Add IOCB_NOIO flag for generic_file_read_iter (Andreas Gruenbacher) [1872440] - gfs2: Remove duplicate call from gfs2_create_inode (Andreas Gruenbacher) [1872440] - gfs2: Multi-block allocations in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: implement gfs2_block_zero_range using iomap_zero_range (Andreas Gruenbacher) [1872440] - gfs2: Add support for IOMAP_ZERO (Andreas Gruenbacher) [1872440] - gfs2: gfs2_iomap_begin cleanup (Andreas Gruenbacher) [1872440] - gfs2: Remove unused gfs2_iomap_alloc argument (Andreas Gruenbacher) [1872440] - gfs2: don't use buffer_heads in gfs2_allocate_page_backing (Andreas Gruenbacher) [1872440] - gfs2: use iomap_bmap instead of generic_block_bmap (Andreas Gruenbacher) [1872440] - gfs2: mark stuffed_readpage static (Andreas Gruenbacher) [1872440] - gfs2: merge gfs2_writepage_common into gfs2_writepage (Andreas Gruenbacher) [1872440] - gfs2: merge gfs2_writeback_aops and gfs2_ordered_aops (Andreas Gruenbacher) [1872440] - gfs2: remove the unused gfs2_stuffed_write_end function (Andreas Gruenbacher) [1872440] - gfs2: use page_offset in gfs2_page_mkwrite (Andreas Gruenbacher) [1442151] - gfs2: Add new sysfs file for gfs2 status (Andreas Gruenbacher) [1442151] - gfs2: Per-revoke accounting in transactions (Andreas Gruenbacher) [1442151] - gfs2: Rework the log space allocation logic (Andreas Gruenbacher) [1442151] - gfs2: Minor calc_reserved cleanup (Andreas Gruenbacher) [1442151] - gfs2: Move function gfs2_ail_empty_tr (Andreas Gruenbacher) [1442151] - gfs2: Get rid of current_tail() (Andreas Gruenbacher) [1442151] - gfs2: Use a tighter bound in gfs2_trans_begin (Andreas Gruenbacher) [1442151] - gfs2: Clean up gfs2_log_reserve (Andreas Gruenbacher) [1442151] - gfs2: Don't wait for journal flush in clean_journal (Andreas Gruenbacher) [1442151] - gfs2: Move lock flush locking to gfs2_trans_{begin,end} (Andreas Gruenbacher) [1442151] - gfs2: Get rid of sd_reserving_log (Andreas Gruenbacher) [1442151] - gfs2: Clean up on-stack transactions (Andreas Gruenbacher) [1442151] - gfs2: Use sb_start_intwrite in gfs2_ail_empty_gl (Andreas Gruenbacher) [1442151] - gfs2: Clean up ail2_empty (Andreas Gruenbacher) [1442151] - gfs2: Rename gfs2_{write => flush}_revokes (Andreas Gruenbacher) [1442151] - gfs2: Minor debugging improvement (Andreas Gruenbacher) [1442151] - gfs2: Some documentation updates (Andreas Gruenbacher) [1442151] - gfs2: Minor gfs2_write_revokes cleanups (Andreas Gruenbacher) [1442151] - gfs2: Simplify the buf_limit and databuf_limit definitions (Andreas Gruenbacher) [1442151] - gfs2: Un-obfuscate function jdesc_find_i (Andreas Gruenbacher) [1442151] - gfs2: Fix fall-through warnings for Clang (Andreas Gruenbacher) [1442151] - gfs2: Make gfs2_setattr_simple static (Andreas Gruenbacher) [1442151] - gfs2: Turn gfs2_meta_indirect_buffer into gfs2_meta_buffer (Andreas Gruenbacher) [1442151] - gfs2: Remove unused variable sb_format (Andreas Gruenbacher) [1442151] - gfs2: Fix dir.c function parameter descriptions (Andreas Gruenbacher) [1442151] - gfs2: Eliminate gh parameter from go_xmote_bh func (Andreas Gruenbacher) [1442151] - gfs2: don't create empty buffers for NO_CREATE (Andreas Gruenbacher) [1442151] - gfs2: Flag a withdraw if init_threads() fails (Andreas Gruenbacher) [1442151] - gfs2: bypass log flush if the journal is not live (Andreas Gruenbacher) [1442151] - gfs2: bypass signal_our_withdraw if no journal (Andreas Gruenbacher) [1442151] - gfs2: fix use-after-free in trans_drain (Andreas Gruenbacher) [1442151] - gfs2: make function gfs2_make_fs_ro() to void type (Andreas Gruenbacher) [1442151] - whack-a-mole: don't open-code iminor/imajor (Andreas Gruenbacher) [1442151] - gfs2: amend SLAB_RECLAIM_ACCOUNT on gfs2 related slab cache (Andreas Gruenbacher) [1442151] - gfs2: Remove sb_start_write from gfs2_statfs_sync (Andreas Gruenbacher) [1442151] - gfs2: check for empty rgrp tree in gfs2_ri_update (Andreas Gruenbacher) [1442151] - gfs2: set lockdep subclass for iopen glocks (Andreas Gruenbacher) [1442151] - gfs2: Fix deadlock dumping resource group glocks (Andreas Gruenbacher) [1442151] - gfs2: Wake up when sd_glock_disposal becomes zero (Andreas Gruenbacher) [1442151] - gfs2: Split up gfs2_meta_sync into inode and rgrp versions (Andreas Gruenbacher) [1442151] - gfs2: Don't ignore inode write errors during inode_go_sync (Andreas Gruenbacher) [1442151] - gfs2: Ignore subsequent errors after withdraw in rgrp_go_sync (Andreas Gruenbacher) [1442151] - gfs2: Eliminate gl_vm (Andreas Gruenbacher) [1442151] - gfs2: Fix comments to glock_hash_walk (Andreas Gruenbacher) [1442151] - gfs2: eliminate GLF_QUEUED flag in favor of list_empty(gl_holders) (Andreas Gruenbacher) [1442151] - gfs2: Fix invalid block size message (Andreas Gruenbacher) [1442151] - gfs2: add validation checks for size of superblock (Andreas Gruenbacher) [1442151] - gfs2: use-after-free in sysfs deregistration (Andreas Gruenbacher) [1442151] - Revert "GFS2: Prevent delete work from occurring on glocks used for create" (Andreas Gruenbacher) [1442151] - gfs2: Don't skip dlm unlock if glock has an lvb (Andreas Gruenbacher) [1442151] - gfs2: Lock imbalance on error path in gfs2_recover_one (Andreas Gruenbacher) [1442151] - gfs2: keep bios separate for each journal (Bob Peterson) [1442151] - gfs2: change from write to read lock for sd_log_flush_lock in journal replay (Bob Peterson) [1442151] - gfs2: don't lock sd_log_flush_lock in try_rgrp_unlink (Bob Peterson) [1442151] - gfs2: fix glock confusion in function signal_our_withdraw (Bob Peterson) [1442151] - gfs2: Don't write log headers after file system withdraw (Andreas Gruenbacher) [1442151] - gfs2: make gfs2_log_write_page static (Andreas Gruenbacher) [1442151] - gfs2: fix possible reference leak in gfs2_check_blk_type (Andreas Gruenbacher) [1442151] - gfs2: Fix NULL pointer dereference in gfs2_rgrp_dump (Andreas Gruenbacher) [1442151] - gfs2: remove unused LBIT macros (Andreas Gruenbacher) [1925121] - gfs2: add missing log_blocks trace points in gfs2_write_revokes (Andreas Gruenbacher) [1925121] - gfs2: print details on transactions that aren't properly ended (Andreas Gruenbacher) [1925121] - gfs2: fix use-after-free on transaction ail lists (Andreas Gruenbacher) [1925121] - gfs2: new slab for transactions (Andreas Gruenbacher) [1925121] - gfs2: initialize transaction tr_ailX_lists earlier (Andreas Gruenbacher) [1925121] - gfs2: eliminate ssize parameter from gfs2_struct2blk (Andreas Gruenbacher) [1925121] - gfs2: Fix error path kobject memory leak (Andreas Gruenbacher) [1925121] - gfs2: Rename gfs2_trans_{add_unrevoke => remove_revoke} (Andreas Gruenbacher) [1925121] - gfs2: Remove unnecessary extern declarations (Andreas Gruenbacher) [1925121] - gfs2: Fix sign extension bug in gfs2_update_stats (Andreas Gruenbacher) [1925121] - gfs2: Fix an incorrect gfs2_assert() (Bob Peterson) [1925121] - gfs2: Remove vestigial bd_ops (Andreas Gruenbacher) [1925121] - gfs2: Fix the gfs2_invalidatepage description (Andreas Gruenbacher) [1925121] - gfs2: Clean up gfs2_is_{ordered,writeback} (Andreas Gruenbacher) [1925121] - gfs2: Pass resource group to rgblk_free (Andreas Gruenbacher) [1925121] - gfs2: Remove unnecessary gfs2_rlist_alloc parameter (Andreas Gruenbacher) [1925121] - gfs2: Fix some minor typos (Andreas Gruenbacher) [1925121] - gfs2: Remove unused RGRP_RSRV_MINBYTES definition (Andreas Gruenbacher) [1925121] - gfs2: Move rs_{sizehint, rgd_gh} fields into the inode (Andreas Gruenbacher) [1925121] - gfs2: Clean up out-of-bounds check in gfs2_rbm_from_block (Andreas Gruenbacher) [1925121] - gfs2: Always check the result of gfs2_rbm_from_block (Andreas Gruenbacher) [1925121] - gfs: no need to check return value of debugfs_create functions (Andreas Gruenbacher) [1925121] - serial_core: switch to ->[sg]et_serial() (Artem Savkov) [1952415]- tipc: fix sleeping in tipc accept routine (Xin Long) [1986549] - tipc: fix implicit-connect for SYN+ (Xin Long) [1986549] - net: tipc: fix FB_MTU eat two pages (Xin Long) [1986549] - tipc: Return the correct errno code (Xin Long) [1986549] - net/mlx5: Fix checksum issue of VXLAN and IPsec crypto offload (Alaa Hleihel) [1979901] - net/mlx5: Optimize mlx5e_feature_checks for non IPsec packet (Alaa Hleihel) [1979901] - bpf, selftests: Fold test_current_pid_tgid_new_ns into test_progs. (Jiri Olsa) [1869447] - libbpf: Support BTF_KIND_FLOAT during type compatibility checks in CO-RE (Jiri Olsa) [1984486] - bpf: Generate BTF_KIND_FLOAT when linking vmlinux (Jiri Olsa) [1984486] - selftests/bpf: Add BTF_KIND_FLOAT to btf_dump_test_case_syntax (Jiri Olsa) [1984486] - selftests/bpf: Add BTF_KIND_FLOAT to test_core_reloc_size (Jiri Olsa) [1984486] - bpf: Document BTF_KIND_FLOAT in btf.rst (Jiri Olsa) [1984486] - selftests/bpf: Add BTF_KIND_FLOAT to the existing deduplication tests (Jiri Olsa) [1984486] - selftest/bpf: Add BTF_KIND_FLOAT tests (Jiri Olsa) [1984486] - bpf: Add BTF_KIND_FLOAT support (Jiri Olsa) [1984486] - selftests/bpf: Use the 25th bit in the "invalid BTF_INFO" test (Jiri Olsa) [1984486] - tools/bpftool: Add BTF_KIND_FLOAT support (Jiri Olsa) [1984486] - libbpf: Add BTF_KIND_FLOAT support (Jiri Olsa) [1984486] - bpf: Add BTF_KIND_FLOAT to uapi (Jiri Olsa) [1984486] - libbpf: Add explicit padding to btf_dump_emit_type_decl_opts (Jiri Olsa) [1984486] - selftests/bpf: Fix test_attach_probe for powerpc uprobes (Jiri Olsa) [1931531] - selftests/bpf: Mask bpf_csum_diff() return value to 16 bits in test_verifier (Jiri Olsa) [1942513] - openvswitch: add trace points (Aaron Conole) [1979680] - vxlan: add missing rcu_read_lock() in neigh_reduce() (Guillaume Nault) [1987310] - net: ip6_tunnel: Unregister catch-all devices (Guillaume Nault) [1987310] - net: sit: Unregister catch-all devices (Guillaume Nault) [1987310] - cpuidle: pseries: Do not cap the CEDE0 latency in fixup_cede0_latency() (Diego Domingos) [1952809] - cpuidle: pseries: Fixup CEDE0 latency only for POWER10 onwards (Diego Domingos) [1952809] - mm/swap: fix for "mm: workingset: age nonresident information alongside anonymous pages" (Rafael Aquini) [1984173] - mm/thp: remap_page() is only needed on anonymous THP (Rafael Aquini) [1984173] - mm/compaction: fix 'limit' in fast_isolate_freepages (Rafael Aquini) [1984173] - mm/huge_memory.c: don't discard hugepage if other processes are mapping it (Rafael Aquini) [1984173] - slub: restore slub_debug=- behavior (Rafael Aquini) [1984173] - mm/gup: fix try_grab_compound_head() race with split_huge_page() (Rafael Aquini) [1984173] - mm, futex: fix shared futex pgoff on shmem huge page (Rafael Aquini) [1984173] - x86/mm: Avoid truncating memblocks for SGX memory (Rafael Aquini) [1984173] - mm/thp: fix vma_address() if virtual address below file offset (Rafael Aquini) [1984173] - mm, thp: use head page in __migration_entry_wait() (Rafael Aquini) [1984173] - mm/slub.c: include swab.h (Rafael Aquini) [1984173] - mm/memory-failure: make sure wait for page writeback in memory_failure (Rafael Aquini) [1984173] - mm/slub: fix redzoning for small allocations (Rafael Aquini) [1984173] - mm, hugetlb: fix simple resv_huge_pages underflow on UFFDIO_COPY (Rafael Aquini) [1984173] - mm/page_alloc: fix counting of free pages after take off from buddy (Rafael Aquini) [1984173] - userfaultfd: release page in error path to avoid BUG_ON (Rafael Aquini) [1984173] - ksm: fix potential missing rmap_item for stable_node (Rafael Aquini) [1984173] - mm/migrate.c: fix potential indeterminate pte entry in migrate_vma_insert_page() (Rafael Aquini) [1984173] - mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts() (Rafael Aquini) [1984173] - khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate() (Rafael Aquini) [1984173] - mm/memory-failure: unnecessary amount of unmapping (Rafael Aquini) [1984173] - mm: page_alloc: ignore init_on_free=1 for debug_pagealloc=1 (Rafael Aquini) [1984173] - mm/sparse: add the missing sparse_buffer_fini() in error branch (Rafael Aquini) [1984173] - mm: memcontrol: fix cpuhotplug statistics flushing (Rafael Aquini) [1984173] - x86/mem_encrypt: Correct physical address calculation in __set_clr_pte_enc() (Rafael Aquini) [1984173] - zsmalloc: account the number of compacted pages correctly (Rafael Aquini) [1984173] - mm/compaction: fix misbehaviors of fast_find_migrateblock() (Rafael Aquini) [1984173] - hugetlb: fix update_and_free_page contig page struct assumption (Rafael Aquini) [1984173] - mm/hugetlb: fix potential double free in hugetlb_register_node() error path (Rafael Aquini) [1984173] - mm/memory.c: fix potential pte_unmap_unlock pte error (Rafael Aquini) [1984173] - mm/memory.c: fix potential pte_unmap_unlock pte error (Rafael Aquini) [1984173] - mm/hugetlb: fix potential missing huge page size info (Rafael Aquini) [1984173] - x86/mm: Fix leak of pmd ptlock (Rafael Aquini) [1984173] - mm/zswap: fix passing zero to 'PTR_ERR' warning (Rafael Aquini) [1984173] - mm/page_isolation: do not isolate the max order page (Rafael Aquini) [1984173] - mm,memory_failure: always pin the page in madvise_inject_error (Rafael Aquini) [1984173] - mm/page_alloc: speed up the iteration of max_order (Rafael Aquini) [1984173] - x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP (Rafael Aquini) [1984173] - x86/mm/ident_map: Check for errors from ident_pud_init() (Rafael Aquini) [1984173] - mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary (Rafael Aquini) [1984173] - mm/page_alloc.c: fix freeing non-compound pages (Rafael Aquini) [1984173] - mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged (Rafael Aquini) [1984173] - percpu: fix first chunk size calculation for populated bitmap (Rafael Aquini) [1984173] - x86, fakenuma: Fix invalid starting node ID (Rafael Aquini) [1984173] - mm: include CMA pages in lowmem_reserve at boot (Rafael Aquini) [1984173] - mm/rodata_test.c: fix missing function declaration (Rafael Aquini) [1984173] - mm/page_counter: fix various data races at memsw (Rafael Aquini) [1984173] - khugepaged: retract_page_tables() remember to test exit (Rafael Aquini) [1984173] - mm/page_counter.c: fix protection usage propagation (Rafael Aquini) [1984173] - x86/mm/numa: Remove uninitialized_var() usage (Rafael Aquini) [1984173] - shmem: fix possible deadlocks on shmlock_user_lock (Rafael Aquini) [1984173] - mm: swap: use smp_mb__after_atomic() to order LRU bit set (Rafael Aquini) [1984173] - cgroup: memcg: net: do not associate sock with unrelated cgroup (Rafael Aquini) [1984173] - mm: fix gup_pud_range (Rafael Aquini) [1984173] - x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd (Rafael Aquini) [1984173] - mm/shmem.c: thp, shmem: fix conflict of above-47bit hint address and PMD alignment (Rafael Aquini) [1984173] - mm: Implement no-MMU variant of vmalloc_user_node_flags (Rafael Aquini) [1984173] - usercopy: Avoid HIGHMEM pfn warning (Rafael Aquini) [1984173] - x86/mm: Don't exceed the valid physical address space (Rafael Aquini) [1984173] - x86/mm/mem_encrypt: Fix erroneous sizeof() (Rafael Aquini) [1984173] - s390/mm: fix addressing exception after suspend/resume (Rafael Aquini) [1984173] - blk-mq: fix use-after-free in blk_mq_exit_sched (Ming Lei) [1969726] - nvmet: use new ana_log_size instead the old one (Maurizio Lombardi) [1949777] - nvme-multipath: fix double initialization of ANA state (Maurizio Lombardi) [1949777] - configs: enable CONFIG_LEDS_BRIGHTNESS_HW_CHANGED (Benjamin Tissoires) [1922973]- Revert "xfs: enable new inode btree counters feature" (Bill O'Donnell) [1976969] - Revert "xfs: enable big timestamps" (Bill O'Donnell) [1976969] - Revert "xfs: remove kmem_realloc()" (Bill O'Donnell) [1976969] - xfs: prevent metadata files from being inactivated (Bill O'Donnell) [1976969] - quota: widen timestamps for the fs_disk_quota structure (Bill O'Donnell) [1976969] - cifs: fix fallocate when trying to allocate a hole. (Ronnie Sahlberg) [1866684] - cifs: only write 64kb at a time when fallocating a small region of a file (Ronnie Sahlberg) [1866684] - cifs: improve fallocate emulation (Ronnie Sahlberg) [1866684] - cifs: Do not use the original cruid when following DFS links for multiuser mounts (Ronnie Sahlberg) [1812436] - cifs: ignore relatime in smb3_fs_context_parse_monolithic() (Ronnie Sahlberg) [1812436] - cifs: fix regression when mounting shares with prefix paths (Ronnie Sahlberg) [1812436] - cifs: fix leak in cifs_smb3_do_mount() ctx (Ronnie Sahlberg) [1812436] - cifs: add fs_context param to parsing helpers (Ronnie Sahlberg) [1812436] - cifs: make fs_context error logging wrapper (Ronnie Sahlberg) [1812436] - cifs: warn and fail if trying to use rootfs without the config option (Ronnie Sahlberg) [1812436] - cifs: fix nodfs mount option (Ronnie Sahlberg) [1812436] - cifs: fix handling of escaped ',' in the password mount argument (Ronnie Sahlberg) [1812436] - cifs: Add new parameter "acregmax" for distinct file and directory metadata timeout (Ronnie Sahlberg) [1812436] - cifs: convert revalidate of directories to using directory metadata cache timeout (Ronnie Sahlberg) [1812436] - cifs: Add new mount parameter "acdirmax" to allow caching directory metadata (Ronnie Sahlberg) [1812436] - cifs: fix trivial typo (Ronnie Sahlberg) [1812436] - cifs: Set CIFS_MOUNT_USE_PREFIX_PATH flag on setting cifs_sb->prepath. (Ronnie Sahlberg) [1812436] - cifs: In the new mount api we get the full devname as source= (Ronnie Sahlberg) [1812436] - cifs: do not disable noperm if multiuser mount option is not provided (Ronnie Sahlberg) [1812436] - cifs: fix dfs-links (Ronnie Sahlberg) [1812436] - cifs: fix dfs domain referrals (Ronnie Sahlberg) [1812436] - cifs: returning mount parm processing errors correctly (Ronnie Sahlberg) [1812436] - cifs: fix mounts to subdirectories of target (Ronnie Sahlberg) [1812436] - cifs: ignore auto and noauto options if given (Ronnie Sahlberg) [1812436] - cifs: connect: style: Simplify bool comparison (Ronnie Sahlberg) [1812436] - fs: cifs: remove unneeded variable in smb3_fs_context_dup (Ronnie Sahlberg) [1812436] - cifs: Fix support for remount when not changing rsize/wsize (Ronnie Sahlberg) [1812436] - cifs: handle "guest" mount parameter (Ronnie Sahlberg) [1812436] - cifs: correct four aliased mount parms to allow use of previous names (Ronnie Sahlberg) [1812436] - cifs: fix use after free in cifs_smb3_do_mount() (Ronnie Sahlberg) [1812436] - cifs: fix rsize/wsize to be negotiated values (Ronnie Sahlberg) [1812436] - cifs: update super_operations to show_devname (Ronnie Sahlberg) [1812436] - cifs: fix uninitialized variable in smb3_fs_context_parse_param (Ronnie Sahlberg) [1812436] - cifs: update mnt_cifs_flags during reconfigure (Ronnie Sahlberg) [1812436] - cifs: move update of flags into a separate function (Ronnie Sahlberg) [1812436] - cifs: remove ctx argument from cifs_setup_cifs_sb (Ronnie Sahlberg) [1812436] - cifs: do not allow changing posix_paths during remount (Ronnie Sahlberg) [1812436] - cifs: uncomplicate printing the iocharset parameter (Ronnie Sahlberg) [1812436] - cifs: don't create a temp nls in cifs_setup_ipc (Ronnie Sahlberg) [1812436] - cifs: simplify handling of cifs_sb/ctx->local_nls (Ronnie Sahlberg) [1812436] - cifs: we do not allow changing username/password/unc/... during remount (Ronnie Sahlberg) [1812436] - cifs: add initial reconfigure support (Ronnie Sahlberg) [1812436] - cifs: move [brw]size from cifs_sb to cifs_sb->ctx (Ronnie Sahlberg) [1812436] - cifs: move cifs_cleanup_volume_info[_content] to fs_context.c (Ronnie Sahlberg) [1812436] - cifs: Add missing sentinel to smb3_fs_parameters (Ronnie Sahlberg) [1812436] - cifs: remove actimeo from cifs_sb (Ronnie Sahlberg) [1812436] - cifs: remove [gu]id/backup[gu]id/file_mode/dir_mode from cifs_sb (Ronnie Sahlberg) [1812436] - cifs: minor kernel style fixes for comments (Ronnie Sahlberg) [1812436] - linux/parser.h: add include guards (Ronnie Sahlberg) [1812436] - cifs: Make extract_sharename function public (Ronnie Sahlberg) [1812436] - cifs: Make extract_hostname function public (Ronnie Sahlberg) [1812436] - cifs: get rid of cifs_sb->mountdata (Ronnie Sahlberg) [1812436] - cifs: add an smb3_fs_context to cifs_sb (Ronnie Sahlberg) [1812436] - cifs: remove the devname argument to cifs_compose_mount_options (Ronnie Sahlberg) [1812436] - cifs: switch to new mount api (Ronnie Sahlberg) [1812436] - cifs: move cifs_parse_devname to fs_context.c (Ronnie Sahlberg) [1812436] - cifs: move the enum for cifs parameters into fs_context.h (Ronnie Sahlberg) [1812436] - cifs: rename dup_vol to smb3_fs_context_dup and move it into fs_context.c (Ronnie Sahlberg) [1812436] - cifs: rename smb_vol as smb3_fs_context and move it to fs_context.h (Ronnie Sahlberg) [1812436] - cifs: Fix fall-through warnings for Clang (Ronnie Sahlberg) [1812436] - cifs: refactor create_sd_buf() and and avoid corrupting the buffer (Ronnie Sahlberg) [1812436] - scsi: lpfc: Fix failure to transmit ABTS on FC link (Dick Kennedy) [1964670] - scsi: lpfc: Update lpfc version to 12.8.0.10 (Dick Kennedy) [1964670] - scsi: lpfc: Reregister FPIN types if ELS_RDF is received from fabric controller (Dick Kennedy) [1964670] - scsi: lpfc: Add a option to enable interlocked ABTS before job completion (Dick Kennedy) [1964670] - scsi: lpfc: Fix crash when lpfc_sli4_hba_setup() fails to initialize the SGLs (Dick Kennedy) [1964670] - scsi: lpfc: Ignore GID-FT response that may be received after a link flip (Dick Kennedy) [1964670] - scsi: lpfc: Fix node handling for Fabric Controller and Domain Controller (Dick Kennedy) [1964670] - scsi: lpfc: Fix Node recovery when driver is handling simultaneous PLOGIs (Dick Kennedy) [1964670] - scsi: lpfc: Add ndlp kref accounting for resume RPI path (Dick Kennedy) [1964670] - scsi: lpfc: Fix "Unexpected timeout" error in direct attach topology (Dick Kennedy) [1964670] - scsi: lpfc: Fix non-optimized ERSP handling (Dick Kennedy) [1964670] - scsi: lpfc: Fix unreleased RPIs when NPIV ports are created (Dick Kennedy) [1964670] - scsi: lpfc: Remove redundant assignment to pointer temp_hdr (Dick Kennedy) [1964670] - Documentation: add more details in tipc.rst (Xin Long) [1872308] - net/tipc: add TIPC chapter to networking Documentation (Xin Long) [1872308] - scsi: qla2xxx: Reserve extra IRQ vectors (Nilesh Javali) [1964834] - tracing/hwlat: Honor the tracing_cpumask (Jerome Marchand) [1920595] - tracing/hwlat: Drop the duplicate assignment in start_kthread() (Jerome Marchand) [1920595] - sfc: add logs explaining XDP_TX/REDIRECT is not available (Íñigo Huguet) [1976756] - sfc: ensure correct number of XDP queues (Íñigo Huguet) [1976756] - sfc: fix lack of XDP TX queues - error XDP TX failed (-22) (Íñigo Huguet) [1976756] - sfc: Remove rcu_read_lock() around XDP program invocation (Íñigo Huguet) [1976756] - sfc: use DEVICE_ATTR_*() macro (Íñigo Huguet) [1976756] - sfc: farch: fix compile warning in efx_farch_dimension_resources() (Íñigo Huguet) [1976756] - sfc: don't use netif_info et al before net_device is registered (Íñigo Huguet) [1976756] - net: stmmac: Do not enable RX FIFO overflow interrupts (Mark Salter) [1905243] - net: stmmac: Clear receive all(RA) bit when promiscuous mode is off (Mark Salter) [1905243] - net: stmmac: cleared __FPE_REMOVING bit in stmmac_fpe_start_wq() (Mark Salter) [1905243] - stmmac: intel: Enable HW descriptor prefetch by default (Mark Salter) [1905243] - net: stmmac: Add HW descriptor prefetch setting for DWMAC Core 5.20 onwards (Mark Salter) [1905243] - net: stmmac: fix TSO and TBS feature enabling during driver open (Mark Salter) [1905243] - stmmac: intel: set TSO/TBS TX Queues default settings (Mark Salter) [1905243] - stmmac: intel: unlock on error path in intel_crosststamp() (Mark Salter) [1905243] - net: stmmac: use __napi_schedule() for PREEMPT_RT (Mark Salter) [1905243] - stmmac: intel: Enable SERDES PHY rx clk for PSE (Mark Salter) [1905243] - stmmac: intel: Drop duplicate ID in the list of PCI device IDs (Mark Salter) [1905243] - stmmac: intel: add cross time-stamping freq difference adjustment (Mark Salter) [1905243] - net: stmmac: Add support for external trigger timestamping (Mark Salter) [1905243] - net: stmmac: fix dma physical address of descriptor when display ring (Mark Salter) [1905243] - net: stmmac: fix wrongly set buffer2 valid when sph unsupport (Mark Salter) [1905243] - net: stmmac: arrange Tx tail pointer update to stmmac_flush_tx_descriptors (Mark Salter) [1905243] - net: stmmac: make SPH enable/disable to be configurable (Mark Salter) [1905243] - net: stmmac: set IRQ affinity hint for multi MSI vectors (Mark Salter) [1905243] - net: stmmac: remove unnecessary pci_enable_msi() call (Mark Salter) [1905243] - stmmac: intel: use managed PCI function on probe and resume (Mark Salter) [1905243] - net: stmmac: enable MTL ECC Error Address Status Over-ride by default (Mark Salter) [1905243] - net: ethernet: stmicro: Remove duplicate struct declaration (Mark Salter) [1905243] - net: stmmac: fix missing unlock on error in stmmac_suspend() (Mark Salter) [1905243] - net: stmmac: Fix kernel panic due to NULL pointer dereference of fpe_cfg (Mark Salter) [1905243] - net: stmmac: use interrupt mode INTM=1 for multi-MSI (Mark Salter) [1905243] - stmmac: intel: add support for multi-vector msi and msi-x (Mark Salter) [1905243] - net: stmmac: introduce MSI Interrupt routines for mac, safety, RX & TX (Mark Salter) [1905243] - net: stmmac: make stmmac_interrupt() function more friendly to MSI (Mark Salter) [1905243] - net: stmmac: introduce DMA interrupt status masking per traffic direction (Mark Salter) [1905243] - net: phy: marvell10g: Add PHY loopback support (Mark Salter) [1905243] - net: phy: add genphy_c45_loopback (Mark Salter) [1905243] - net: phylink: Fix phylink_err() function name error in phylink_major_config (Mark Salter) [1905243] - net: stmmac: support FPE link partner hand-shaking procedure (Mark Salter) [1905243] - net: stmmac: Add hardware supported cross-timestamp (Mark Salter) [1905243] - net: stmmac: platform: fix build error with !CONFIG_PM_SLEEP (Mark Salter) [1905243] - stmmac: intel: Add PSE and PCH PTP clock source selection (Mark Salter) [1905243] - net: stmmac: Add EST errors into ethtool statistic (Mark Salter) [1905243] - net: stmmac: EST interrupts handling and error reporting (Mark Salter) [1905243] - net: stmmac: add RX frame steering based on VLAN priority in tc flower (Mark Salter) [1905243] - net: stmmac: restructure tc implementation for RX VLAN Priority steering (Mark Salter) [1905243] - net: stmmac: add per-queue TX & RX coalesce ethtool support (Mark Salter) [1905243] - net: stmmac: Use hrtimer for TX coalescing (Mark Salter) [1905243] - net: stmmac: add timestamp correction to rid CDC sync error (Mark Salter) [1905243] - net: stmmac: add platform level clocks management (Mark Salter) [1905243] - net: stmmac: add clocks management for gmac driver (Mark Salter) [1905243] - stmmac: intel: add pcs-xpcs for Intel mGbE controller (Mark Salter) [1905243] - net: stmmac: ensure phydev is attached to phylink for C37 AN (Mark Salter) [1905243] - net: stmmac: make in-band AN mode parsing is supported for non-DT (Mark Salter) [1905243] - net: phylink: make phylink_parse_mode() support non-DT platform (Mark Salter) [1905243] - net: pcs: add C37 SGMII AN support for intel mGbE controller (Mark Salter) [1905243] - net: pcs: rearrange C73 functions to prepare for C37 support later (Mark Salter) [1905243] - net: phy: leds: Deduplicate link LED trigger registration (Mark Salter) [1905243] - net: stmmac: Fix VLAN filter delete timeout issue in Intel mGBE SGMII (Mark Salter) [1905243] - net: stmmac: fix incorrect DMA channel intr enable setting of EQoS v4.10 (Mark Salter) [1905243] - net: stmmac: fix CBS idleslope and sendslope calculation (Mark Salter) [1905243] - net: stmmac: set TxQ mode back to DCB after disabling CBS (Mark Salter) [1905243] - net: stmmac: allow stmmac to probe for C45 PHY devices (Mark Salter) [1905243] - net: stmmac: Enable EEE HW LPI timer with auto SW/HW switching (Mark Salter) [1905243] - net: pcs-xpcs: depend on MDIO_BUS instead of selecting it (Mark Salter) [1905243] - net: pcs: Move XPCS into new PCS subdirectory (Mark Salter) [1905243] - net: stmmac: Add XLGMII support (Mark Salter) [1905243] - net: phy: xpcs: Add XLGMII support (Mark Salter) [1905243] - net: phy: xpcs: Restart AutoNeg if outcome was invalid (Mark Salter) [1905243] - net: phy: xpcs: Set Link down if AutoNeg is enabled and did not finish (Mark Salter) [1905243] - net: phy: xpcs: Reset XPCS upon probe (Mark Salter) [1905243] - net: phy: xpcs: Return error when 10GKR link errors are found (Mark Salter) [1905243] - stmmac/intel: mark driver as tech preview (Mark Salter) [1905243] - redhat/configs: Add CONFIG_DWMAC_INTEL (Mark Salter) [1905243] - stmmac: intel: Fixes clock registration error seen for multiple interfaces (Mark Salter) [1905243] - stmmac: intel: Fix mdio bus registration issue for TGL-H/ADL-S (Mark Salter) [1905243] - net: stmmac: Add PCI bus info to ethtool driver query output (Mark Salter) [1905243] - stmmac: intel: Add ADL-S 1Gbps PCI IDs (Mark Salter) [1905243] - stmmac: intel: Configure EHL PSE0 GbE and PSE1 GbE to 32 bits DMA addressing (Mark Salter) [1905243] - stmmac: intel: Add PCI IDs for TGL-H platform (Mark Salter) [1905243] - stmmac: intel: change all EHL/TGL to auto detect phy addr (Mark Salter) [1905243] - net: stmmac: overwrite the dma_cap.addr64 according to HW design (Mark Salter) [1905243] - stmmac: intel: Fix kernel panic on pci probe (Mark Salter) [1905243] - stmmac: intel: Adding ref clock 1us tic for LPI cntr (Mark Salter) [1905243] - net: stmmac: Add option for VLAN filter fail queue enable (Mark Salter) [1905243] - net: stmmac: Fix clock handling on remove path (Mark Salter) [1905243] - stmmac: intel: Place object in the Makefile according to the order (Mark Salter) [1905243] - stmmac: intel: Fix indentation to put on one line affected code (Mark Salter) [1905243] - stmmac: intel: Eliminate useless conditions and variables (Mark Salter) [1905243] - stmmac: intel: Convert to use pci_alloc_irq_vectors() API (Mark Salter) [1905243] - stmmac: intel: Remove unnecessary loop for PCI BARs (Mark Salter) [1905243] - stmmac: intel: Fix clock handling on error and remove paths (Mark Salter) [1905243] - net: stmmac: Enable SERDES power up/down sequence (Mark Salter) [1905243] - net: stmmac: add EHL 2.5Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: add EHL PSE0 & PSE1 1Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: create dwmac-intel.c to contain all Intel platform (Mark Salter) [1905243] - net: stmmac: Get rid of custom STMMAC_DEVICE() macro (Mark Salter) [1905243] - net: stmmac: update pci platform data to use phy_interface (Mark Salter) [1905243] - net: stmmac: pci: Enable TBS on GMAC5 IPK PCI entry (Mark Salter) [1905243] - net: stmmac: pci: remove the duplicate code of set phy_mask (Mark Salter) [1905243] - PCI: Add PCI_STD_NUM_BARS for the number of standard BARs (Mark Salter) [1905243] - net: stmmac: pci: Add HAPS support using GMAC5 (Mark Salter) [1905243] - net: stmmac: setup higher frequency clk support for EHL & TGL (Mark Salter) [1905243] - net: stmmac: add EHL RGMII 1Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: add TGL SGMII 1Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: add EHL SGMII 1Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: Make MDIO bus reset optional (Mark Salter) [1905243] - stmmac: pci: Use pci_dev_id() helper (Mark Salter) [1905243] - stmmac: pci: Fix typo in IOT2000 comment (Mark Salter) [1905243] - stmmac: pci: Adjust IOT2000 matching (Mark Salter) [1905243] - net: stmmac: Fix PCI module removal leak (Mark Salter) [1905243] - net: stmmac: mark PM functions as __maybe_unused (Mark Salter) [1905243] - ibmveth: Set CHECKSUM_PARTIAL if NULL TCP CSUM. (Diego Domingos) [1939996] - IB/core: Add missing pin_user_pages*() usage (Waiman Long) [1972078] - mm/gup/writeback: Fix incorrect inaccessible pages handling (Waiman Long) [1972078] - netfilter: nf_tables: bogus EBUSY when deleting flowtable after flush (Phil Sutter) [1983245] - ipv4: Fix device used for dst_alloc with local routes (Antoine Tenart) [1976789] - vrf: fix a comment about loopback device (Antoine Tenart) [1976789] - net: vrf: Fix operation not supported when set vrf mac (Antoine Tenart) [1976789] - vrf: prevent adding upper devices (Antoine Tenart) [1976789] - vrf: fix maximum MTU (Antoine Tenart) [1976789] - net: vrf: Fix ping failed when vrf mtu is set to 0 (Antoine Tenart) [1976789] - net: vrf: remove MTU limits for vrf device (Antoine Tenart) [1976789]- block: fix discard request merge (Ming Lei) [1970316] - blk-mq: update hctx->dispatch_busy in case of real scheduler (Ming Lei) [1976679] - block: Do not pull requests from the scheduler when we cannot dispatch them (Ming Lei) [1976679] - powerpc/pseries/mobility: handle premature return from H_JOIN (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: use struct for shared state (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: refactor node lookup during DT update (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: remove rtas_ibm_suspend_me_unsafe() (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: dispatch partition migration requests to pseries (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: retry partition suspend after error (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: signal suspend cancellation to platform (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: use stop_machine for join/suspend (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: extract VASI session polling logic (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: use rtas_activate_firmware() on resume (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: error message improvements (Desnes A. Nunes do Rosario) [1979798] - powerpc/hvcall: add token and codes for H_VASI_SIGNAL (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: add rtas_activate_firmware() (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: add rtas_ibm_suspend_me() (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: rtas_ibm_suspend_me -> rtas_ibm_suspend_me_unsafe (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: complete ibm,suspend-me status codes (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: Add pr_debug() for device tree changes (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: Set pr_fmt() (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries: remove obsolete memory hotplug DT notifier code (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries: remove dlpar_cpu_readd() (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries: remove memory "re-add" implementation (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries: remove prrn special case from DT update path (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove arch_update_cpu_topology (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove prrn_is_enabled() (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtasd: simplify handle_rtas_event(), emit message on events (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove start/stop_topology_update() (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove timed_topology_update() (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: Handle extra hcall_vphn error cases (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: Suppress "VPHN is not supported" messages (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: stub out numa_update_cpu_topology() (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove vphn_enabled and prrn_enabled internal flags (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove unreachable topology workqueue code (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove unreachable topology timer code (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: make vphn_enabled, prrn_enabled flags const (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove unreachable topology update code (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove ability to enable topology updates (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: don't online CPUs for partition suspend (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: Unexport rtas_online_cpus_mask, rtas_offline_cpus_mask (Desnes A. Nunes do Rosario) [1979798] - mm/page_alloc: bail out on fatal signal during reclaim/compaction retry attempt (Aaron Tomlin) [1919765] - RHEL: Revert "powerpc/kvm: Fix PR KVM with KUAP/MEM_KEYS enabled" (Paolo Bonzini) [1956950] - KVM: selftests: smm_test: Test SMM enter from L2 (Paolo Bonzini) [1956950] - KVM: nSVM: Restore nested control upon leaving SMM (Paolo Bonzini) [1956950] - KVM: nSVM: Fix L1 state corruption upon return from SMM (Paolo Bonzini) [1956950] - KVM: nSVM: Introduce svm_copy_vmrun_state() (Paolo Bonzini) [1956950] - KVM: nSVM: Check that VM_HSAVE_PA MSR was set before VMRUN (Paolo Bonzini) [1956950] - KVM: nVMX: nSVM: 'nested_run' should count guest-entry attempts that make it to guest code (Paolo Bonzini) [1956950] - KVM: nSVM: Check the value written to MSR_VM_HSAVE_PA (Paolo Bonzini) [1956950] - KVM: SVM: Fix sev_pin_memory() error checks in SEV migration utilities (Paolo Bonzini) [1956950] - KVM: SVM: Return -EFAULT if copy_to_user() for SEV mig packet header fails (Paolo Bonzini) [1956950] - KVM: SVM: add module param to control the #SMI interception (Paolo Bonzini) [1956950] - KVM: SVM: remove INIT intercept handler (Paolo Bonzini) [1956950] - KVM: SVM: #SMI interception must not skip the instruction (Paolo Bonzini) [1956950] - KVM: VMX: Remove vmx_msr_index from vmx.h (Paolo Bonzini) [1956950] - KVM: X86: Disable hardware breakpoints unconditionally before kvm_x86->run() (Paolo Bonzini) [1956950] - KVM: x86/pmu: Clear anythread deprecated bit when 0xa leaf is unsupported on the SVM (Paolo Bonzini) [1956950] - KVM: mmio: Fix use-after-free Read in kvm_vm_ioctl_unregister_coalesced_mmio (Paolo Bonzini) [1956950] - KVM: SVM: Revert clearing of C-bit on GPA in #NPF handler (Paolo Bonzini) [1956950] - KVM: x86/mmu: Do not apply HPA (memory encryption) mask to GPAs (Paolo Bonzini) [1956950] - KVM: x86: Use kernel's x86_phys_bits to handle reduced MAXPHYADDR (Paolo Bonzini) [1956950] - KVM: x86: Use guest MAXPHYADDR from CPUID.0x8000_0008 iff TDP is enabled (Paolo Bonzini) [1956950] - KVM: selftests: do not require 64GB in set_memory_region_test (Paolo Bonzini) [1956950] - KVM: selftests: Fix mapping length truncation in m{,un}map() (Paolo Bonzini) [1956950] - KVM: x86: Force all MMUs to reinitialize if guest CPUID is modified (Paolo Bonzini) [1956950] - Revert "KVM: x86/mmu: Drop kvm_mmu_extended_role.cr4_la57 hack" (Paolo Bonzini) [1956950] - KVM: x86/mmu: Use MMU's role to detect CR4.SMEP value in nested NPT walk (Paolo Bonzini) [1956950] - KVM: x86: Properly reset MMU context at vCPU RESET/INIT (Paolo Bonzini) [1956950] - KVM: x86/mmu: Treat NX as used (not reserved) for all !TDP shadow MMUs (Paolo Bonzini) [1956950] - KVM: x86/mmu: Remove broken WARN that fires on 32-bit KVM w/ nested EPT (Paolo Bonzini) [1956950] - KVM: nVMX: Handle split-lock #AC exceptions that happen in L2 (Paolo Bonzini) [1956950] - KVM: x86/mmu: Calculate and check "full" mmu_role for nested MMU (Paolo Bonzini) [1956950] - KVM: X86: Fix x86_emulator slab cache leak (Paolo Bonzini) [1956950] - KVM: SVM: Call SEV Guest Decommission if ASID binding fails (Paolo Bonzini) [1956950] - KVM: x86: Immediately reset the MMU context when the SMM flag is cleared (Paolo Bonzini) [1956950] - KVM: x86: Fix fall-through warnings for Clang (Paolo Bonzini) [1956950] - KVM: SVM: fix doc warnings (Paolo Bonzini) [1956950] - kvm: LAPIC: Restore guard to prevent illegal APIC register access (Paolo Bonzini) [1956950] - kvm: fix previous commit for 32-bit builds (Paolo Bonzini) [1956950] - kvm: avoid speculation-based attacks from out-of-range memslot accesses (Paolo Bonzini) [1956950] - KVM: x86: Ensure liveliness of nested VM-Enter fail tracepoint message (Paolo Bonzini) [1956950] - KVM: x86: Ensure PV TLB flush tracepoint reflects KVM behavior (Paolo Bonzini) [1956950] - KVM: X86: MMU: Use the correct inherited permissions to get shadow page (Paolo Bonzini) [1956950] - KVM: LAPIC: Write 0 to TMICT should also cancel vmx-preemption timer (Paolo Bonzini) [1956950] - KVM: SVM: Fix SEV SEND_START session length & SEND_UPDATE_DATA query length after commit 238eca821cee (Paolo Bonzini) [1956950] - KVM: X86: Kill off ctxt->ud (Paolo Bonzini) [1956950] - KVM: X86: Fix warning caused by stale emulation context (Paolo Bonzini) [1956950] - KVM: X86: Use kvm_get_linear_rip() in single-step and #DB/#BP interception (Paolo Bonzini) [1956950] - KVM: x86/mmu: Fix comment mentioning skip_4k (Paolo Bonzini) [1956950] - KVM: VMX: update vcpu posted-interrupt descriptor when assigning device (Paolo Bonzini) [1956950] - KVM: rename KVM_REQ_PENDING_TIMER to KVM_REQ_UNBLOCK (Paolo Bonzini) [1956950] - KVM: x86: add start_assignment hook to kvm_x86_ops (Paolo Bonzini) [1956950] - KVM: LAPIC: Narrow the timer latency between wait_lapic_expire and world switch (Paolo Bonzini) [1956950] - KVM: X86: Fix vCPU preempted state from guest's point of view (Paolo Bonzini) [1956950] - KVM: X86: Bail out of direct yield in case of under-committed scenarios (Paolo Bonzini) [1956950] - KVM: SVM: make the avic parameter a bool (Paolo Bonzini) [1956950] - KVM: VMX: Drop unneeded CONFIG_X86_LOCAL_APIC check (Paolo Bonzini) [1956950] - KVM: SVM: Drop unneeded CONFIG_X86_LOCAL_APIC check (Paolo Bonzini) [1956950] - KVM: SVM: Move GHCB unmapping to fix RCU warning (Paolo Bonzini) [1956950] - KVM: SVM: Invert user pointer casting in SEV {en,de}crypt helpers (Paolo Bonzini) [1956950] - kvm: Cap halt polling at kvm->max_halt_poll_ns (Paolo Bonzini) [1956950] - KVM: x86: Prevent deadlock against tk_core.seq (Paolo Bonzini) [1956950] - KVM: x86: Cancel pvclock_gtod_work on module removal (Paolo Bonzini) [1956950] - KVM: x86: Prevent KVM SVM from loading on kernels with 5-level paging (Paolo Bonzini) [1956950] - KVM: SVM: Probe and load MSR_TSC_AUX regardless of RDTSCP support in host (Paolo Bonzini) [1956950] - KVM: VMX: Disable preemption when probing user return MSRs (Paolo Bonzini) [1956950] - KVM: x86: Move RDPID emulation intercept to its own enum (Paolo Bonzini) [1956950] - KVM: SVM: Inject #UD on RDTSCP when it should be disabled in the guest (Paolo Bonzini) [1956950] - KVM: x86: Emulate RDPID only if RDTSCP is supported (Paolo Bonzini) [1956950] - KVM: VMX: Do not advertise RDPID if ENABLE_RDTSCP control is unsupported (Paolo Bonzini) [1956950] - KVM: nSVM: always restore the L1's GIF on migration (Paolo Bonzini) [1956950] - KVM: x86: Hoist input checks in kvm_add_msr_filter() (Paolo Bonzini) [1956950] - KVM: nVMX: Properly pad 'struct kvm_vmx_nested_state_hdr' (Paolo Bonzini) [1956950] - KVM/VMX: Invoke NMI non-IST entry instead of IST entry (Paolo Bonzini) [1956950] - KVM: x86: Fix potential fput on a null source_kvm_file (Paolo Bonzini) [1956950] - KVM: nSVM: leave the guest mode prior to loading a nested state (Paolo Bonzini) [1956950] - KVM: nSVM: fix few bugs in the vmcb02 caching logic (Paolo Bonzini) [1956950] - KVM: nSVM: fix a typo in svm_leave_nested (Paolo Bonzini) [1956950] - KVM: PPC: exit halt polling on need_resched() (Paolo Bonzini) [1956950] - kvm: exit halt polling on need_resched() as well (Paolo Bonzini) [1956950] - KVM: LAPIC: Accurately guarantee busy wait for timer to expire when using hv_timer (Paolo Bonzini) [1956950] - kvm/x86: Fix 'lpages' kvm stat for TDM MMU (Paolo Bonzini) [1956950] - KVM: x86/mmu: Avoid unnecessary page table allocation in kvm_tdp_mmu_map() (Paolo Bonzini) [1956950] - KVM: selftests: Speed up set_memory_region_test (Paolo Bonzini) [1956950] - selftests: kvm: Fix the check of return value (Paolo Bonzini) [1956950] - KVM: x86: Take advantage of kvm_arch_dy_has_pending_interrupt() (Paolo Bonzini) [1956950] - KVM: SVM: Skip SEV cache flush if no ASIDs have been used (Paolo Bonzini) [1956950] - KVM: SVM: Remove an unnecessary prototype declaration of sev_flush_asids() (Paolo Bonzini) [1956950] - KVM: SVM: Drop redundant svm_sev_enabled() helper (Paolo Bonzini) [1956950] - KVM: SVM: Move SEV VMCB tracking allocation to sev.c (Paolo Bonzini) [1956950] - KVM: SVM: Explicitly check max SEV ASID during sev_hardware_setup() (Paolo Bonzini) [1956950] - KVM: SVM: Unconditionally invoke sev_hardware_teardown() (Paolo Bonzini) [1956950] - KVM: SVM: Enable SEV/SEV-ES functionality by default (when supported) (Paolo Bonzini) [1956950] - KVM: SVM: Condition sev_enabled and sev_es_enabled on CONFIG_KVM_AMD_SEV=y (Paolo Bonzini) [1956950] - KVM: SVM: Append "_enabled" to module-scoped SEV/SEV-ES control variables (Paolo Bonzini) [1956950] - KVM: SEV: Mask CPUID[0x8000001F].eax according to supported features (Paolo Bonzini) [1956950] - KVM: SVM: Move SEV module params/variables to sev.c (Paolo Bonzini) [1956950] - svm/sev: Register SEV and SEV-ES ASIDs to the misc controller (Paolo Bonzini) [1956950] - KVM: SVM: Disable SEV/SEV-ES if NPT is disabled (Paolo Bonzini) [1956950] - KVM: SVM: Free sev_asid_bitmap during init if SEV setup fails (Paolo Bonzini) [1956950] - KVM: SVM: Zero out the VMCB array used to track SEV ASID association (Paolo Bonzini) [1956950] - KVM: x86: Move reverse CPUID helpers to separate header file (Paolo Bonzini) [1956950] - KVM: x86: Rename GPR accessors to make mode-aware variants the defaults (Paolo Bonzini) [1956950] - KVM: SVM: Use default rAX size for INVLPGA emulation (Paolo Bonzini) [1956950] - KVM: x86/xen: Drop RAX[63:32] when processing hypercall (Paolo Bonzini) [1956950] - KVM: nVMX: Truncate base/index GPR value on address calc in !64-bit (Paolo Bonzini) [1956950] - KVM: nVMX: Truncate bits 63:32 of VMCS field on nested check in !64-bit (Paolo Bonzini) [1956950] - KVM: VMX: Truncate GPR value for DR and CR reads in !64-bit mode (Paolo Bonzini) [1956950] - KVM: SVM: Truncate GPR value for DR and CR accesses in !64-bit mode (Paolo Bonzini) [1956950] - KVM: x86: Check CR3 GPA for validity regardless of vCPU mode (Paolo Bonzini) [1956950] - KVM: x86: Remove emulator's broken checks on CR0/CR3/CR4 loads (Paolo Bonzini) [1956950] - KVM: VMX: Intercept FS/GS_BASE MSR accesses for 32-bit KVM (Paolo Bonzini) [1956950] - KVM: SVM: Delay restoration of host MSR_TSC_AUX until return to userspace (Paolo Bonzini) [1956950] - KVM: SVM: Clear MSR_TSC_AUX[63:32] on write (Paolo Bonzini) [1956950] - KVM: SVM: Inject #GP on guest MSR_TSC_AUX accesses if RDTSCP unsupported (Paolo Bonzini) [1956950] - KVM: VMX: Invert the inlining of MSR interception helpers (Paolo Bonzini) [1956950] - KVM: X86: Fix failure to boost kernel lock holder candidate in SEV-ES guests (Paolo Bonzini) [1956950] - KVM: x86: Properly handle APF vs disabled LAPIC situation (Paolo Bonzini) [1956950] - KVM: VMX: use EPT_VIOLATION_GVA_TRANSLATED instead of 0x100 (Paolo Bonzini) [1956950] - KVM: x86: Support KVM VMs sharing SEV context (Paolo Bonzini) [1956950] - KVM: x86: Remove unused function declaration (Paolo Bonzini) [1956950] - KVM: x86/mmu: Drop trace_kvm_age_page() tracepoint (Paolo Bonzini) [1956950] - KVM: Move prototypes for MMU notifier callbacks to generic code (Paolo Bonzini) [1956950] - KVM: Pass MMU notifier range flags to kvm_unmap_hva_range() (Paolo Bonzini) [1956950] - KVM: x86/mmu: preserve pending TLB flush across calls to kvm_tdp_mmu_zap_sp (Paolo Bonzini) [1956950] - KVM: x86: disable interrupts while pvclock_gtod_sync_lock is taken (Paolo Bonzini) [1956950] - KVM: x86: reduce pvclock_gtod_sync_lock critical sections (Paolo Bonzini) [1956950] - kvm: x86: annotate RCU pointers (Paolo Bonzini) [1956950] - KVM: x86: remove misplaced comment on active_mmu_pages (Paolo Bonzini) [1956950] - x86/sev: Drop redundant and potentially misleading 'sev_enabled' (Paolo Bonzini) [1956950] - x86/cpufeatures: Assign dedicated feature word for CPUID_0x8000001F[EAX] (Paolo Bonzini) [1956950] - cgroup: Add misc cgroup controller (Paolo Bonzini) [1956950] - x86: Remove duplicate TSC DEADLINE MSR definitions (Paolo Bonzini) [1956950] - KVM: s390: allow facility 192 (vector-packed-decimal-enhancement facility 2) (Thomas Huth) [1977289] - KVM: s390: gen_facilities: allow facilities 165, 193, 194 and 196 (Thomas Huth) [1977289] - mpi3mr: mark as tech preview (Tomas Henzl) [1858804] - add the mpi3mr config (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix W=1 compilation warnings (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix warnings reported by smatch (Tomas Henzl) [1858804] - scsi: mpi3mr: Make some symbols static (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix error return code in mpi3mr_init_ioc() (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix missing unlock on error (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix error handling in mpi3mr_setup_isr() (Tomas Henzl) [1858804] - scsi: mpi3mr: Delete unnecessary NULL check (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix a double free (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix fall-through warning for Clang (Tomas Henzl) [1858804] - scsi: mpi3mr: Add event handling debug prints (Tomas Henzl) [1858804] - scsi: mpi3mr: Add EEDP DIF DIX support (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for DSN secure firmware check (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for PM suspend and resume (Tomas Henzl) [1858804] - scsi: mpi3mr: Wait for pending I/O completions upon detection of VD I/O timeout (Tomas Henzl) [1858804] - scsi: mpi3mr: Print pending host I/Os for debugging (Tomas Henzl) [1858804] - scsi: mpi3mr: Complete support for soft reset (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for threaded ISR (Tomas Henzl) [1858804] - scsi: mpi3mr: Hardware workaround for UNMAP commands to NVMe drives (Tomas Henzl) [1858804] - scsi: mpi3mr: Allow certain commands during pci-remove hook (Tomas Henzl) [1858804] - scsi: mpi3mr: Add change queue depth support (Tomas Henzl) [1858804] - scsi: mpi3mr: Implement SCSI error handler hooks (Tomas Henzl) [1858804] - scsi: mpi3mr: Add bios_param SCSI host template hook (Tomas Henzl) [1858804] - scsi: mpi3mr: Print IOC info for debugging (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for timestamp sync with firmware (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for recovering controller (Tomas Henzl) [1858804] - scsi: mpi3mr: Additional event handling (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for PCIe device event handling (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for device add/remove event handling (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for internal watchdog thread (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for queue command processing (Tomas Henzl) [1858804] - scsi: mpi3mr: Create operational request and reply queue pair (Tomas Henzl) [1858804] - scsi: mpi3mr: Base driver code (Tomas Henzl) [1858804] - scsi: mpi3mr: Add mpi30 Rev-R headers and Kconfig (Tomas Henzl) [1858804] - e1000e: Fix prototype warning (Ken Cox) [1920290] - e1000e: Mark e1000e_pm_prepare() as __maybe_unused (Ken Cox) [1920290] - e1000e: Fix duplicate include guard (Ken Cox) [1920290] - e1000e: Remove the runtime suspend restriction on CNP+ (Ken Cox) [1920290] - e1000e: Leverage direct_complete to speed up s2ram (Ken Cox) [1920290] - e1000e: Fix error handling in e1000_set_d0_lplu_state_82571 (Ken Cox) [1920290] - e1000e: add rtnl_lock() to e1000_reset_task (Ken Cox) [1920290] - e1000e: remove the redundant value assignment in e1000_update_nvm_checksum_spt (Ken Cox) [1920290] - e1000e: Export S0ix flags to ethtool (Ken Cox) [1920290] - e1000e: bump up timeout to wait when ME un-configures ULP mode (Ken Cox) [1920290] - e1000e: Only run S0ix flows if shutdown succeeded (Ken Cox) [1920290] - scsi: ipr: System crashes when seeing type 20 error (Desnes A. Nunes do Rosario) [1977532] - scsi: ipr: Use scnprintf() for avoiding potential buffer overflow (Desnes A. Nunes do Rosario) [1977532] - tipc: do not write skb_shinfo frags when doing decrytion (Xin Long) [1974627] - bnxt_en: Call bnxt_ethtool_free() in bnxt_init_one() error path (Jonathan Toppins) [1921449] - bnxt_en: Fix TQM fastpath ring backing store computation (Jonathan Toppins) [1921449] - bnxt_en: Rediscover PHY capabilities after firmware reset (Jonathan Toppins) [1921449] - bnxt_en: Fix context memory setup for 64K page size. (Jonathan Toppins) [1921449] - bnxt_en: Include new P5 HV definition in VF check. (Jonathan Toppins) [1921449] - bnxt_en: Add PCI IDs for Hyper-V VF devices. (Jonathan Toppins) [1921449] - bnxt_en: Fix RX consumer index logic in the error path. (Jonathan Toppins) [1921449] - bnxt_en: fix ternary sign extension bug in bnxt_show_temp() (Jonathan Toppins) [1921449] - bnxt_en: reliably allocate IRQ table on reset to avoid crash (Jonathan Toppins) [1921449] - bnxt_en: Fix race between firmware reset and driver remove. (Jonathan Toppins) [1921449] - bnxt_en: Improve logging of error recovery settings information. (Jonathan Toppins) [1921449] - bnxt_en: Reply to firmware's echo request async message. (Jonathan Toppins) [1921449] - bnxt_en: Initialize "context kind" field for context memory blocks. (Jonathan Toppins) [1921449] - bnxt_en: Add context memory initialization infrastructure. (Jonathan Toppins) [1921449] - bnxt_en: Implement faster recovery for firmware fatal error. (Jonathan Toppins) [1921449] - bnxt_en: selectively allocate context memories (Jonathan Toppins) [1921449] - bnxt_en: Update firmware interface spec to 1.10.2.16. (Jonathan Toppins) [1921449] - bnxt_en: Fix devlink info's stored fw.psid version format. (Jonathan Toppins) [1921449] - bnxt_en: reverse order of TX disable and carrier off (Jonathan Toppins) [1921449] - bnxt_en: Convert to use netif_level() helpers. (Jonathan Toppins) [1921449] - bnxt_en: Do not process completion entries after fatal condition detected. (Jonathan Toppins) [1921449] - bnxt_en: Consolidate firmware reset event logging. (Jonathan Toppins) [1921449] - bnxt_en: Improve firmware fatal error shutdown sequence. (Jonathan Toppins) [1921449] - bnxt_en: Modify bnxt_disable_int_sync() to be called more than once. (Jonathan Toppins) [1921449] - bnxt_en: Add a new BNXT_STATE_NAPI_DISABLED flag to keep track of NAPI state. (Jonathan Toppins) [1921449] - bnxt_en: Add bnxt_fw_reset_timeout() helper. (Jonathan Toppins) [1921449] - bnxt_en: Retry open if firmware is in reset. (Jonathan Toppins) [1921449] - bnxt_en: attempt to reinitialize after aborted reset (Jonathan Toppins) [1921449] - bnxt_en: log firmware debug notifications (Jonathan Toppins) [1921449] - bnxt_en: Add an upper bound for all firmware command timeouts. (Jonathan Toppins) [1921449] - bnxt_en: Move reading VPD info after successful handshake with fw. (Jonathan Toppins) [1921449] - bnxt_en: Retry sending the first message to firmware if it is under reset. (Jonathan Toppins) [1921449] - bnxt_en: handle CRASH_NO_MASTER during bnxt_open() (Jonathan Toppins) [1921449] - bnxt_en: Define macros for the various health register states. (Jonathan Toppins) [1921449] - bnxt_en: Update firmware interface to 1.10.2.11. (Jonathan Toppins) [1921449] - bnxt_en: Clear DEFRAG flag in firmware message when retry flashing. (Jonathan Toppins) [1921449] - bnxt_en: Improve stats context resource accounting with RDMA driver loaded. (Jonathan Toppins) [1921449] - bnxt_en: Use kzalloc for allocating only one thing (Jonathan Toppins) [1921449] - bnxt_en: Check TQM rings for maximum supported value. (Jonathan Toppins) [1921449] - bnxt_en: Fix AER recovery. (Jonathan Toppins) [1921449] - bnxt_en: Enable batch mode when using HWRM_NVM_MODIFY to flash packages. (Jonathan Toppins) [1921449] - bnxt_en: Retry installing FW package under NO_SPACE error condition. (Jonathan Toppins) [1921449] - bnxt_en: Restructure bnxt_flash_package_from_fw_obj() to execute in a loop. (Jonathan Toppins) [1921449] - bnxt_en: Rearrange the logic in bnxt_flash_package_from_fw_obj(). (Jonathan Toppins) [1921449] - bnxt_en: Refactor bnxt_flash_nvram. (Jonathan Toppins) [1921449] - bnxt_en: Release PCI regions when DMA mask setup fails during probe. (Jonathan Toppins) [1921449] - bnxt_en: fix error return code in bnxt_init_board() (Jonathan Toppins) [1921449] - bnxt_en: fix error return code in bnxt_init_one() (Jonathan Toppins) [1921449] - bnxt_en: Avoid unnecessary NVM_GET_DEV_INFO cmd error log on VFs. (Jonathan Toppins) [1921449] - bnxt_en: Fix counter overflow logic. (Jonathan Toppins) [1921449] - bnxt_en: Free port stats during firmware reset. (Jonathan Toppins) [1921449] - bnxt_en: read EEPROM A2h address using page 0 (Jonathan Toppins) [1921449] - bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally. (Jonathan Toppins) [1921449] - bnxt_en: Check abort error state in bnxt_open_nic(). (Jonathan Toppins) [1921449] - bnxt_en: Re-write PCI BARs after PCI fatal error. (Jonathan Toppins) [1921449] - bnxt_en: Invoke cancel_delayed_work_sync() for PFs also. (Jonathan Toppins) [1921449] - bnxt_en: Fix regression in workqueue cleanup logic in bnxt_remove_one(). (Jonathan Toppins) [1921449] - bnxt_en: Add stored FW version info to devlink info_get cb. (Jonathan Toppins) [1921449] - bnxt_en: Refactor bnxt_dl_info_get(). (Jonathan Toppins) [1921449] - bnxt_en: Add bnxt_hwrm_nvm_get_dev_info() to query NVM info. (Jonathan Toppins) [1921449] - bnxt_en: Log unknown link speed appropriately. (Jonathan Toppins) [1921449] - bnxt_en: Log event_data1 and event_data2 when handling RESET_NOTIFY event. (Jonathan Toppins) [1921449] - bnxt_en: Simplify bnxt_async_event_process(). (Jonathan Toppins) [1921449] - bnxt_en: Set driver default message level. (Jonathan Toppins) [1921449] - bnxt_en: Enable online self tests for multi-host/NPAR mode. (Jonathan Toppins) [1921449] - bnxt_en: Return -EROFS to user space, if NVM writes are not permitted. (Jonathan Toppins) [1921449] - bnxt_en: Eliminate unnecessary RX resets. (Jonathan Toppins) [1921449] - bnxt_en: Reduce unnecessary message log during RX errors. (Jonathan Toppins) [1921449] - bnxt_en: Add a software counter for RX ring reset. (Jonathan Toppins) [1921449] - bnxt_en: Implement RX ring reset in response to buffer errors. (Jonathan Toppins) [1921449] - bnxt_en: Refactor bnxt_init_one_rx_ring(). (Jonathan Toppins) [1921449] - bnxt_en: Refactor bnxt_free_rx_skbs(). (Jonathan Toppins) [1921449] - bnxt_en: Log FW health status info, if reset is aborted. (Jonathan Toppins) [1921449] - bnxt_en: perform no master recovery during startup (Jonathan Toppins) [1921449] - bnxt_en: log firmware status on firmware init failure (Jonathan Toppins) [1921449] - bnxt_en: refactor bnxt_alloc_fw_health() (Jonathan Toppins) [1921449] - bnxt_en: Update firmware interface spec to 1.10.1.68. (Jonathan Toppins) [1921449] - bnxt_en: Improve preset max value for ethtool -l. (Jonathan Toppins) [1921449] - bnxt_en: Implement ethtool set_fec_param() method. (Jonathan Toppins) [1921449] - bnxt_en: Report Active FEC encoding during link up. (Jonathan Toppins) [1921449] - bnxt_en: Report FEC settings to ethtool. (Jonathan Toppins) [1921449] - bnxt_en: avoid link reset if speed is not changed (Jonathan Toppins) [1921449] - bnxt_en: Handle ethernet link being disabled by firmware. (Jonathan Toppins) [1921449] - bnxt_en: ethtool: support PAM4 link speeds up to 200G (Jonathan Toppins) [1921449] - bnxt_en: add basic infrastructure to support PAM4 link speeds (Jonathan Toppins) [1921449] - bnxt_en: refactor bnxt_get_fw_speed() (Jonathan Toppins) [1921449] - bnxt_en: refactor code to limit speed advertising (Jonathan Toppins) [1921449] - bnxt_en: Update firmware interface spec to 1.10.1.65. (Jonathan Toppins) [1921449] - bnxt: add pause frame stats (Jonathan Toppins) [1921449] - xfrm: Fix xfrm offload fallback fail case (Andrea Claudi) [1976424] - sctp: trim optlen when it's a huge value in sctp_setsockopt (Xin Long) [1983864] - netfilter: flowtable: Set offload timeouts according to proto values (Phil Sutter) [1979184] - netfilter: conntrack: Introduce udp offload timeout configuration (Phil Sutter) [1979184] - netfilter: conntrack: Introduce tcp offload timeout configuration (Phil Sutter) [1979184] - veth: check for NAPI instead of xdp_prog before xmit of XDP frame (Paolo Abeni) [1952835] - self-tests: add veth tests (Paolo Abeni) [1952835] - veth: refine napi usage (Paolo Abeni) [1952835] - veth: allow enabling NAPI even without XDP (Paolo Abeni) [1952835] - veth: use skb_orphan_partial instead of skb_orphan (Paolo Abeni) [1952835] - net: really orphan skbs tied to closing sk (Paolo Abeni) [1952835] - net: let skb_orphan_partial wake-up waiters. (Paolo Abeni) [1952835] - veth: Store queue_mapping independently of XDP prog presence (Paolo Abeni) [1952835] - net/xfrm: Add inner_ipproto into sec_path (Petr Oros) [1981429] - net, xdp: Introduce xdp_prepare_buff utility routine (Jiri Benc) [1983730] - net, xdp: Introduce xdp_init_buff utility routine (Jiri Benc) [1983730] - bridge: switchdev: Notify about VLAN protocol changes (Ivan Vecera) [1981461] - net: bridge: br_vlan_get_pvid_rcu() should dereference the VLAN group under RCU (Ivan Vecera) [1981461] - bridge: add br_vlan_get_proto() (Ivan Vecera) [1981461] - bridge: add br_vlan_get_pvid_rcu() (Ivan Vecera) [1981461] - RDMA/bnxt_re: Fix a double free in bnxt_qplib_alloc_res (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Get rid of custom module reference counting (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Create direct symbol link between bnxt modules (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Depend on bnxt ethernet driver and not blindly select it (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix Kconfig indentation (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix error return code in bnxt_qplib_cq_process_terminal() (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Move device to error state upon device crash (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Allow bigger MR creation (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Code refactor while populating user MRs (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix max_qp_wrs reported (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix entry size during SRQ create (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix sizeof mismatch for allocation of pbl_tbl. (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Use rdma_umem_for_each_dma_block() (Selvin Xavier) [1921454 1923026] - [s390] tools/kvm_stat: Exempt time-based counters (Claudio Imbrenda) [1981802] - Documentation/admin-guide: intel_pstate: drop doubled word (David Arcari) [1973225] - Documentation: fix multiple typos found in the admin-guide subdirectory (David Arcari) [1973225] - cpufreq: intel_pstate: Fix active mode setting from command line (David Arcari) [1973225] - cpufreq: intel_pstate: Use passive mode by default without HWP (David Arcari) [1973225] - cpufreq: intel_pstate: Use HWP if enabled by platform firmware (David Arcari) [1973225] - cpufreq: intel_pstate: Simplify intel_pstate_update_perf_limits() (David Arcari) [1973225] - cpufreq: intel_pstate: Clean up frequency computations (David Arcari) [1973225] - cpufreq/intel_pstate: Fix wrong macro conversion (David Arcari) [1973225] - cpufreq: Convert to new X86 CPU match macros (David Arcari) [1973225] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (David Arcari) [1973225] - selftests/fpu: Fix debugfs_simple_attr.cocci warning (Vitaly Kuznetsov) [1919182] - selftest/fpu: avoid clang warning (Vitaly Kuznetsov) [1919182] - redhat/configs: Add Enable CONFIG_TEST_FPU (Vitaly Kuznetsov) [1919182] - selftests/fpu: Add an FPU selftest (Vitaly Kuznetsov) [1919182] - x86/fpu/64: Don't FNINIT in kernel_fpu_begin() (Vitaly Kuznetsov) [1919182] - x86/fpu: Make the EFI FPU calling convention explicit (Vitaly Kuznetsov) [1919182] - x86/mmx: Use KFPU_387 for MMX string operations (Vitaly Kuznetsov) [1919182] - x86/fpu: Add kernel_fpu_begin_mask() to selectively initialize state (Vitaly Kuznetsov) [1919182] - x86/fpu: Simplify kernel_fpu_begin() (Vitaly Kuznetsov) [1919182] - x86/fpu: Simplify kernel_fpu_end() (Vitaly Kuznetsov) [1919182] - x86/fpu: Don't use current->mm to check for a kthread (Vitaly Kuznetsov) [1919182] - x86/fpu: Don't export __kernel_fpu_{begin,end}() (Vitaly Kuznetsov) [1919182] - intel_th: pci: Add Alder Lake-P support (Tony Camuso) [1929493 1929494]- can: bcm: delay release of struct bcm_op after synchronize_rcu() (Hangbin Liu) [1975059] {CVE-2021-3609} - seq_file: Disallow extremely large seq buffer allocations (Ian Kent) [1975182] - nvme-pci: look for StorageD3Enable on companion ACPI device instead (Gopal Tiwari) [1965660] - prctl: exe link permission error changed from -EINVAL to -EPERM (Adrian Reber) [1960708] - prctl: Allow local CAP_CHECKPOINT_RESTORE to change /proc/self/exe (Adrian Reber) [1960708] - prctl_set_mm: refactor checks from validate_prctl_map (Adrian Reber) [1960708] - proc: allow access in init userns for map_files with CAP_CHECKPOINT_RESTORE (Adrian Reber) [1960708] - pid_namespace: use checkpoint_restore_ns_capable() for ns_last_pid (Adrian Reber) [1960708] - capabilities: Introduce CAP_CHECKPOINT_RESTORE (Adrian Reber) [1960708] - scripts: skip empty CAP_* strings (Adrian Reber) [1960708] - VMCI: Release resource if the work is already queued (Cathy Avery) [1978518] - perf vendor events arm64: Add Fujitsu A64FX pmu event (Michael Petlan) [1908109] - perf vendor events arm64: Add more common and uarch events (Michael Petlan) [1908109] - sunrpc: Avoid a KASAN slab-out-of-bounds bug in xdr_set_page_base() (Benjamin Coddington) [1969751] - xfs: sync lazy sb accounting on quiesce of read-only mounts (Bill O'Donnell) [1917220] - drm/dp_mst: Avoid to mess up payload table by ports in stale topology (Lyude Paul) [1944404] - drm/dp_mst: Do not set proposed vcpi directly (Lyude Paul) [1944404] - drm/qxl: add lock asserts to qxl_bo_vmap_locked + qxl_bo_vunmap_locked (Lyude Paul) [1944404 1907341] - drm/qxl: rework cursor plane (Lyude Paul) [1944404 1907341] - drm/qxl: move shadow handling to new qxl_prepare_shadow() (Lyude Paul) [1944404 1907341] - drm/qxl: fix monitors object vmap (Lyude Paul) [1944404 1907341] - drm/qxl: fix prime vmap (Lyude Paul) [1944404 1907341] - drm/qxl: add qxl_bo_vmap/qxl_bo_vunmap (Lyude Paul) [1944404 1907341] - drm/qxl: rename qxl_bo_kmap -> qxl_bo_vmap_locked (Lyude Paul) [1944404 1907341] - drm/qxl: more fence wait rework (Lyude Paul) [1944404 1907341] - drm/qxl: properly handle device init failures (Lyude Paul) [1944404 1907341] - drm/qxl: allocate dumb buffers in ram (Lyude Paul) [1944404 1907341] - drm/qxl: simplify qxl_fence_wait (Lyude Paul) [1944404 1907341] - drm/qxl: properly free qxl releases (Lyude Paul) [1944404 1907341] - drm/qxl: handle shadow in primary destroy (Lyude Paul) [1944404 1907341] - drm/qxl: properly pin/unpin shadow (Lyude Paul) [1944404 1907341] - drm/qxl: use drmm_mode_config_init (Lyude Paul) [1944404 1907341] - drm/i915/icp+: Use icp_hpd_irq_setup() instead of spt_hpd_irq_setup() (Lyude Paul) [1944404] - drm/i915/gen9_bc: Add W/A for missing STRAP config on TGP PCH + CML combos (Lyude Paul) [1944404] - drm/i915/gen9_bc: Introduce HPD pin mappings for TGP PCH + CML combos (Lyude Paul) [1944404] - drm/i915/gen9_bc: Introduce TGP PCH DDC pin mappings (Lyude Paul) [1944404] - drm/i915/gen9_bc: Recognize TGP PCH + CML combos (Lyude Paul) [1944404] - drm/i915: rename i915_rev_steppings->intel_step_info (Lyude Paul) [1944404] - drm/i915: rename disp_stepping->display_step and gt_stepping->gt_step (Lyude Paul) [1944404] - drm/i915: rename DISP_STEPPING->DISPLAY_STEP and GT_STEPPING->GT_STEP (Lyude Paul) [1944404] - drm/i915: switch TGL and ADL to the new stepping scheme (Lyude Paul) [1944404] - drm/i915: switch KBL to the new stepping scheme (Lyude Paul) [1944404] - drm/i915: add new helpers for accessing stepping info (Lyude Paul) [1944404] - drm/i915: split out stepping info to a new file (Lyude Paul) [1944404] - drm/i915: Add DISPLAY_VER() and related macros (Lyude Paul) [1944404] - drm/i915/display: Do not allow DC3CO if PSR SF is enabled (Lyude Paul) [1944404] - drm/i915: s/dev_priv/i915/ for the remainder of DDI clock routing (Lyude Paul) [1944404] - drm/i915: Relocate icl_sanitize_encoder_pll_mapping() (Lyude Paul) [1944404] - drm/i915: Use .disable_clock() for pll sanitation (Lyude Paul) [1944404] - drm/i915: Split adl-s/rkl from icl_ddi_combo_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Extract _cnl_ddi_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Sprinkle WARN(!pll) into icl/dg1 .clock_enable() (Lyude Paul) [1944404] - drm/i915: Sprinkle a few missing locks around shared DDI clock registers (Lyude Paul) [1944404] - drm/i915: Use intel_de_rmw() for DDI clock routing (Lyude Paul) [1944404] - drm/i915: Extract icl+ .{enable,disable}_clock() vfuncs (Lyude Paul) [1944404] - drm/i915: Convert DG1 over to .{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i195: Extract cnl_ddi_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Extract skl_ddi_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Extract hsw_ddi_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Introduce .{enable,disable}_clock() encoder vfuncs (Lyude Paul) [1944404] - drm/i915: Use intel_ddi_clk_select() for FDI (Lyude Paul) [1944404] - drm/i915/adl_s: Add GT and CTX WAs for ADL-S (Lyude Paul) [1944404] - drm/i915/adl_s: Add display WAs for ADL-S (Lyude Paul) [1944404] - drm/i915/display: Add HAS_D12_PLANE_MINIMIZATION (Lyude Paul) [1944404] - drm/i915/adl_s: Re-use TGL GuC/HuC firmware (Lyude Paul) [1944404] - drm/i915/adl_s: Add power wells (Lyude Paul) [1944404] - drm/i915/adl_s: Update PHY_MISC programming (Lyude Paul) [1944404] - drm/i915/adl_s: Update combo PHY master/slave relationships (Lyude Paul) [1944404] - drm/i915/adl_s: Add vbt port and aux channel settings for adls (Lyude Paul) [1944404] - drm/i915/adl_s: Add adl-s ddc pin mapping (Lyude Paul) [1944404] - drm/i915/adl_s: Initialize display for ADL-S (Lyude Paul) [1944404] - drm/i915/adl_s: Configure Port clock registers for ADL-S (Lyude Paul) [1944404] - drm/i915/adl_s: Configure DPLL for ADL-S (Lyude Paul) [1944404] - drm/i915/adl_s: Add PHYs for Alderlake S (Lyude Paul) [1944404] - drm/i915/adl_s: Add PCH support (Lyude Paul) [1944404] - drm/i915/adl_s: Add ADL-S platform info and PCI ids (Lyude Paul) [1944404] - drm/i915/tgl: Use TGL stepping info for applying WAs (Lyude Paul) [1944404] - redhat/configs: Update CONFIG_HSA_AMD (Lyude Paul) - redhat/configs: Update CONFIG_DRM_AMDGPU_USERPTR (Lyude Paul) - DRM Backport v5.11 -> v5.12.4 (Lyude Paul) [1944404] - include/linux/kernel.h: add typeof_member() macro (Lyude Paul) [1944404] - drm: Use USB controller's DMA mask when importing dmabufs (Lyude Paul) [1944404] - PM: runtime: Add pm_runtime_get_if_active() (Lyude Paul) [1944404] - PCI: Add pci_rebar_bytes_to_size() (Lyude Paul) [1944404] - PCI: Export pci_rebar_get_possible_sizes() (Lyude Paul) [1944404] - DRM backport v5.10->v5.11 (Lyude Paul) [1944404] - dma-buf: Use struct dma_buf_map in dma_buf_vunmap() interfaces (Lyude Paul) [1944404] - dma-buf: Use struct dma_buf_map in dma_buf_vmap() interfaces (Lyude Paul) [1944404] - dma-buf: Add struct dma-buf-map for storing struct dma_buf.vaddr_ptr (Lyude Paul) [1944404] - PCI/PM: Do not generate wakeup event when runtime resuming device (Lyude Paul) [1944404] - PCI/PM: Rename pci_wakeup_bus() to pci_resume_bus() (Lyude Paul) [1944404] - blktrace: make relay callbacks const (Lyude Paul) [1944404] - drm/i915: make relay callbacks const (Lyude Paul) [1944404] - relay: allow the use of const callback structs (Lyude Paul) [1944404] - relay: make create_buf_file and remove_buf_file callbacks mandatory (Lyude Paul) [1944404] - relay: require non-NULL callbacks in relay_open() (Lyude Paul) [1944404] - relay: remove unused buf_mapped and buf_unmapped callbacks (Lyude Paul) [1944404] - drm/edid: fix objtool warning in drm_cvt_modes() (Lyude Paul) [1944404] - drm/edid: Fix uninitialized variable in drm_cvt_modes() (Lyude Paul) [1944404] - DRM backport v5.9.y -> v5.10 (Lyude Paul) [1944404] - time: Introduce jiffies64_to_msecs() (Lyude Paul) [1944404] - virtio: add dma-buf support for exported objects (Lyude Paul) [1944404] - objtool: Rename frame.h -> objtool.h (Lyude Paul) [1944404] - moduleparams: Add hexint type parameter (Lyude Paul) [1944404] - iommu/vt-d: Move intel_iommu_gfx_mapped to Intel IOMMU header (Lyude Paul) [1944404]- [s390] s390/zcrypt/pkey: introduce zcrypt_wait_api_operational() function (Claudio Imbrenda) [1881833] - [s390] s390/ap: ap bus userspace notifications for some bus conditions (Claudio Imbrenda) [1881833] - [s390] s390/pkey: fix paes selftest failure with paes and pkey static build (Claudio Imbrenda) [1881833] - KVM: nSVM: Avoid tainiting kernel by default (Vitaly Kuznetsov) [1982248] - KVM: s390x: implement KVM_CAP_SET_GUEST_DEBUG2 (Thomas Huth) [1945752] - KVM: s390: fix guarded storage control register handling (Thomas Huth) [1945752] - s390/protvirt: fix error return code in uv_info_init() (Thomas Huth) [1945752] - s390/uv: fix prot virt host indication compilation (Thomas Huth) [1945752] - KVM: s390: VSIE: fix MVPG handling for prefixing and MSO (Thomas Huth) [1945752] - KVM: s390: split kvm_s390_real_to_abs (Thomas Huth) [1945752] - KVM: s390: VSIE: correctly handle MVPG when in VSIE (Thomas Huth) [1945752] - KVM: s390: extend kvm_s390_shadow_fault to return entry pointer (Thomas Huth) [1945752] - s390/uv: add prot virt guest/host indication files (Thomas Huth) [1945752] - KVM: s390: split kvm_s390_logical_to_effective (Thomas Huth) [1945752] - KVM: s390: Fix comment spelling in kvm_s390_vcpu_start() (Thomas Huth) [1945752] - s390: uv: Fix sysfs max number of VCPUs reporting (Thomas Huth) [1945752] - KVM: s390: track synchronous pfault events in kvm_stat (Thomas Huth) [1945752] - s390/gmap: make gmap memcg aware (Thomas Huth) [1945752] - KVM: s390: Add memcg accounting to KVM allocations (Thomas Huth) [1945752] - s390/uv: handle destroy page legacy interface (Thomas Huth) [1945752] - KVM: s390: pv: Mark mm as protected after the set secure parameters and improve cleanup (Thomas Huth) [1945752] - virtio/s390: implement virtio-ccw revision 2 correctly (Thomas Huth) [1945752] - sfc: deprecate SFC9020 family (Siena) (Íñigo Huguet) [1926379] - NFS: Fix open coded versions of nfs_set_cache_invalid() in NFSv4 (Benjamin Coddington) [1936478] - NFS: Fix open coded versions of nfs_set_cache_invalid() (Benjamin Coddington) [1936478] - NFS: Clean up function nfs_mark_dir_for_revalidate() (Benjamin Coddington) [1936478] - NFSD: Mark exports of NFS as tech-preview (Benjamin Coddington) [1972229] - perf vendor events intel: Add missing skylake & icelake model numbers (Michael Petlan) [1971959] - tc-testing: add test for ct DNAT tuple collision (Marcelo Ricardo Leitner) [1964578] - tc-testing: add support for sending various scapy packets (Marcelo Ricardo Leitner) [1964578] - tc-testing: fix list handling (Marcelo Ricardo Leitner) [1964578] - net/sched: act_ct: handle DNAT tuple collision (Marcelo Ricardo Leitner) [1964578] - net/packet: remove data races in fanout operations (Balazs Nemeth) [1957270] - net/packet: remove locking from packet_rcv_has_room() (Balazs Nemeth) [1957270] - net: packetmmap: fix only tx timestamp on request (Balazs Nemeth) [1970404] - x86/sgx: Add TAINT_TECH_PREVIEW for virtual EPC (Bandan Das) [1977474] - cxgb4: fix thermal zone device registration (Raju Rangoju) [1954012] - powerpc/64s: Fix crashes when toggling stf barrier (Desnes A. Nunes do Rosario) [1964484] - iavf: Fix an error handling path in 'iavf_probe()' (Stefan Assmann) [1920276] - iavf: clean up packet type lookup table (Stefan Assmann) [1920276] - iavf: redefine the magic number for FDIR GTP-U header fields (Stefan Assmann) [1920276] - iavf: enhance the duplicated FDIR list scan handling (Stefan Assmann) [1920276] - iavf: change the flex-byte support number to macro definition (Stefan Assmann) [1920276] - iavf: remove duplicate free resources calls (Stefan Assmann) [1920276] - iavf: Support for modifying SCTP RSS flow hashing (Stefan Assmann) [1920276] - iavf: Support for modifying UDP RSS flow hashing (Stefan Assmann) [1920276] - iavf: Support for modifying TCP RSS flow hashing (Stefan Assmann) [1920276] - iavf: Add framework to enable ethtool RSS config (Stefan Assmann) [1920276] - iavf: add support for UDP Segmentation Offload (Stefan Assmann) [1920276] - intel: clean up mismatched header comments (Stefan Assmann) [1920276] - iavf: Enable flex-bytes support (Stefan Assmann) [1920276] - iavf: Support Ethernet Type Flow Director filters (Stefan Assmann) [1920276] - iavf: Support IPv6 Flow Director filters (Stefan Assmann) [1920276] - iavf: Support IPv4 Flow Director filters (Stefan Assmann) [1920276] - iavf: Add framework to enable ethtool ntuple filters (Stefan Assmann) [1920276] - net: intel: iavf: fix error return code of iavf_init_get_resources() (Stefan Assmann) [1920276] - workqueue: Move the position of debug_work_activate() in __queue_work() (Waiman Long) [1977537] - workqueue: remove useless unlock() and lock() in series (Waiman Long) [1977537] - workqueue: Convert the pool::lock and wq_mayday_lock to raw_spinlock_t (Waiman Long) [1977537] - workqueue: Use rcuwait for wq_manager_wait (Waiman Long) [1977537] - workqueue: Remove unnecessary kfree() call in rcu_free_wq() (Waiman Long) [1977537] - workqueue: Fix an use after free in init_rescuer() (Waiman Long) [1977537] - workqueue: Use IS_ERR and PTR_ERR instead of PTR_ERR_OR_ZERO. (Waiman Long) [1977537] - workqueue: don't use wq_select_unbound_cpu() for bound works (Waiman Long) [1977537] - workqueue: Use pr_warn instead of pr_warning (Waiman Long) [1977537] - workqueue: more destroy_workqueue() fixes (Waiman Long) [1977537] - workqueue: Minor follow-ups to the rescuer destruction change (Waiman Long) [1977537] - kernel/workqueue: Document wq_worker_last_func() argument (Waiman Long) [1977537] - workqueue: Only unregister a registered lockdep key (Waiman Long) [1977537] - kernel: workqueue: clarify wq_worker_last_func() caller requirements (Waiman Long) [1977537] - workqueue: Fix spelling in source code comments (Waiman Long) [1977537] - workqueue: fix typo in comment (Waiman Long) [1977537] - ice: add correct exception tracing for XDP (Jonathan Toppins) [1920278] - ice: optimize for XDP_REDIRECT in xsk path (Jonathan Toppins) [1920278] - ice: Allow all LLDP packets from PF to Tx (Jonathan Toppins) [1920278] - ice: report supported and advertised autoneg using PHY capabilities (Jonathan Toppins) [1920278] - ice: handle the VF VSI rebuild failure (Jonathan Toppins) [1920278] - ice: Fix VFR issues for AVF drivers that expect ATQLEN cleared (Jonathan Toppins) [1920278] - ice: Fix allowing VF to request more/less queues via virtchnl (Jonathan Toppins) [1920278] - ice: track AF_XDP ZC enabled queues in bitmap (Jonathan Toppins) [1920278] - ice: handle increasing Tx or Rx ring sizes (Jonathan Toppins) [1920278] - ice: Fix potential infinite loop when using u8 loop counter (Jonathan Toppins) [1920278] - ice: fix memory leak of aRFS after resuming from suspend (Jonathan Toppins) [1920278] - ice: Cleanup fltr list in case of allocation issues (Jonathan Toppins) [1920278] - ice: Use port number instead of PF ID for WoL (Jonathan Toppins) [1920278] - ice: Fix for dereference of NULL pointer (Jonathan Toppins) [1920278] - ice: remove DCBNL_DEVRESET bit from PF state (Jonathan Toppins) [1920278] - ice: fix memory allocation call (Jonathan Toppins) [1920278] - ice: prevent ice_open and ice_stop during reset (Jonathan Toppins) [1920278] - ice: Recognize 860 as iSCSI port in CEE mode (Jonathan Toppins) [1920278] - ice: Increase control queue timeout (Jonathan Toppins) [1920278] - ice: Continue probe on link/PHY errors (Jonathan Toppins) [1920278] - ice: fix napi work done reporting in xsk path (Jonathan Toppins) [1920278] - ice: update the number of available RSS queues (Jonathan Toppins) [1920278] - ice: Fix state bits on LLDP mode switch (Jonathan Toppins) [1920278] - ice: Account for port VLAN in VF max packet size calculation (Jonathan Toppins) [1920278] - ice: Set trusted VF as default VSI when setting allmulti on (Jonathan Toppins) [1920278] - ice: report correct max number of TCs (Jonathan Toppins) [1920278] - ice: skip NULL check against XDP prog in ZC path (Jonathan Toppins) [1920278] - ice: remove redundant checks in ice_change_mtu (Jonathan Toppins) [1920278] - ice: move skb pointer from rx_buf to rx_ring (Jonathan Toppins) [1920278] - ice: simplify ice_run_xdp (Jonathan Toppins) [1920278] - ice: Improve MSI-X fallback logic (Jonathan Toppins) [1920278] - ice: Fix trivial error message (Jonathan Toppins) [1920278] - ice: remove unnecessary casts (Jonathan Toppins) [1920278] - ice: Refactor DCB related variables out of the ice_port_info struct (Jonathan Toppins) [1920278] - ice: fix writeback enable logic (Jonathan Toppins) [1920278] - ice: Use PSM clock frequency to calculate RL profiles (Jonathan Toppins) [1920278] - ice: create scheduler aggregator node config and move VSIs (Jonathan Toppins) [1920278 1940527 1940535 1940542] {CVE-2020-24504 CVE-2020-24503 CVE-2020-24502} - ice: Add initial support framework for LAG (Jonathan Toppins) [1920278] - ice: Remove xsk_buff_pool from VSI structure (Jonathan Toppins) [1920278] - ice: implement new LLDP filter command (Jonathan Toppins) [1920278] - ice: log message when trusted VF goes in/out of promisc mode (Jonathan Toppins) [1920278] - ice: remove dead code (Jonathan Toppins) [1920278] - ice: use flex_array_size where possible (Jonathan Toppins) [1920278] - ice: Replace one-element array with flexible-array member (Jonathan Toppins) [1920278] - ice: display stored UNDI firmware version via devlink info (Jonathan Toppins) [1920278] - ice: display stored netlist versions via devlink info (Jonathan Toppins) [1920278] - ice: display some stored NVM versions via devlink info (Jonathan Toppins) [1920278] - ice: introduce function for reading from flash modules (Jonathan Toppins) [1920278] - ice: cache NVM module bank information (Jonathan Toppins) [1920278] - ice: introduce context struct for info report (Jonathan Toppins) [1920278] - ice: create flash_info structure and separate NVM version (Jonathan Toppins) [1920278] - ice: report timeout length for erasing during devlink flash (Jonathan Toppins) [1920278] - ice: Implement flow for IPv6 next header (extension header) (Jonathan Toppins) [1920278] - ice: fix FDir IPv6 flexbyte (Jonathan Toppins) [1920278] - ice: drop dead code in ice_receive_skb() (Jonathan Toppins) [1920278] - ice, xsk: Move Rx allocation out of while-loop (Jonathan Toppins) [1920278] - ice: avoid premature Rx buffer reuse (Jonathan Toppins) [1920278] - ice: Add space to unknown speed (Jonathan Toppins) [1920278] - ice: join format strings to same line as ice_debug (Jonathan Toppins) [1920278] - ice: silence static analysis warning (Jonathan Toppins) [1920278] - ice: cleanup misleading comment (Jonathan Toppins) [1920278] - ice: Remove vlan_ena from vsi structure (Jonathan Toppins) [1920278] - ice: Remove gate to OROM init (Jonathan Toppins) [1920278] - ice: Enable Support for FW Override (E82X) (Jonathan Toppins) [1920278] - ice: don't always return an error for Get PHY Abilities AQ command (Jonathan Toppins) [1920278] - ice: cleanup stack hog (Jonathan Toppins) [1920278] - mm: migrate: fix missing update page_private to hugetlb_page_subpool (Chris von Recklinghausen) [1981661] - mm,hugetlb: drop clearing of flag from prep_new_huge_page (Chris von Recklinghausen) [1981661] - hugetlb: fix uninitialized subpool pointer (Chris von Recklinghausen) [1981661] - include/linux/hugetlb.h: add synchronization information for new hugetlb specific flags (Chris von Recklinghausen) [1981661] - hugetlb: convert PageHugeFreed to HPageFreed flag (Chris von Recklinghausen) [1981661] - hugetlb: convert PageHugeTemporary() to HPageTemporary flag (Chris von Recklinghausen) [1981661] - mm: hugetlb: fix a race between freeing and dissolving the page (Chris von Recklinghausen) [1981661] - mm: don't let userspace spam allocations warnings (Xin Long) [1976699] - dm writecache: make writeback pause configurable (Mike Snitzer) [1978369] - dm writecache: pause writeback if cache full and origin being written directly (Mike Snitzer) [1978369] - dm io tracker: factor out IO tracker (Mike Snitzer) [1978369] - dm writecache: add optional "metadata_only" parameter (Mike Snitzer) [1978369] - dm writecache: add "cleaner" and "max_age" to Documentation (Mike Snitzer) [1978369] - dm writecache: write at least 4k when committing (Mike Snitzer) [1978369] - dm writecache: have ssd writeback wait if the kcopyd workqueue is busy (Mike Snitzer) [1978369] - dm writecache: use list_move instead of list_del_list_add in writecache_writeback() (Mike Snitzer) [1978369] - dm writecache: commit just one block, not a full page (Mike Snitzer) [1978369] - dm writecache: remove unused gfp_t argument from wc_add_block() (Mike Snitzer) [1978369] - dm writecache: interrupt writeback if suspended (Mike Snitzer) [1978369] - dm writecache: don't split bios when overwriting contiguous cache content (Mike Snitzer) [1978369] - dm kcopyd: avoid spin_lock_irqsave from process context (Mike Snitzer) [1978369] - dm kcopyd: avoid useless atomic operations (Mike Snitzer) [1978369] - x86/asm: Optimize memcpy_flushcache() (Mike Snitzer) [1978369] - IB/isert: Align target max I/O size to initiator size (Kamal Heib) [1930955] - IB/isert: set rdma cm afonly flag (Kamal Heib) [1930955]- xsk: Rollback reservation at NETDEV_TX_BUSY (Jiri Benc) [1882711] - xsk: Fix race in SKB mode transmit with shared cq (Jiri Benc) [1882711] - bpf: Only provide bpf_sock_from_file with CONFIG_NET (Jiri Benc) [1882711] - xsk: Validate socket state in xsk_recvmsg, prior touching socket members (Jiri Benc) [1882711] - samples/bpf: Fix spelling mistake "recieving" -> "receiving" (Jiri Benc) [1882711] - samples/bpf: Sample application for eBPF load and socket creation split (Jiri Benc) [1882711] - bpf: Adds support for setting window clamp (Jiri Benc) [1882711] - tcp: declare tcp_mmap() only when CONFIG_MMU is set (Jiri Benc) [1882711] - bpf: Remove trailing semicolon in macro definition (Jiri Benc) [1882711] - bpf: Allow bpf_{s,g}etsockopt from cgroup bind{4,6} hooks (Jiri Benc) [1882711] - bpf: Eliminate rlimit-based memory accounting infra for bpf maps (Jiri Benc) [1882711] - bpf: Eliminate rlimit-based memory accounting for xskmap maps (Jiri Benc) [1882711] - bpf: Eliminate rlimit-based memory accounting for sockmap and sockhash maps (Jiri Benc) [1882711] - bpf: Refine memcg-based memory accounting for xskmap maps (Jiri Benc) [1882711] - bpf: Refine memcg-based memory accounting for sockmap and sockhash maps (Jiri Benc) [1882711] - net, xdp, xsk: fix __sk_mark_napi_id_once napi_id error (Jiri Benc) [1882711] - samples/bpf: Add option to set the busy-poll budget (Jiri Benc) [1882711] - samples/bpf: Add busy-poll support to xdpsock (Jiri Benc) [1882711] - xsk: Propagate napi_id to XDP socket Rx path (Jiri Benc) [1882711] - xsk: Add busy-poll support for {recv,send}msg() (Jiri Benc) [1882711] - xsk: Check need wakeup flag in sendmsg() (Jiri Benc) [1882711] - xsk: Add support for recvmsg() (Jiri Benc) [1882711] - net: Add SO_BUSY_POLL_BUDGET socket option (Jiri Benc) [1882711] - net: Introduce preferred busy-polling (Jiri Benc) [1882711] - net: napi: use READ_ONCE()/WRITE_ONCE() (Jiri Benc) [1882711] - net: napi: add hard irqs deferral feature (Jiri Benc) [1882711] - fs/eventpoll.c: simply CONFIG_NET_RX_BUSY_POLL ifdefery (Jiri Benc) [1882711] - xdp: Remove the functions xsk_map_inc and xsk_map_put (Jiri Benc) [1882711] - xsk: Introduce batched Tx descriptor interfaces (Jiri Benc) [1882711] - xsk: Introduce padding between more ring pointers (Jiri Benc) [1882711] - net: page_pool: Add bulk support for ptr_ring (Jiri Benc) [1882711] - net: xdp: Introduce bulking for xdp tx return path (Jiri Benc) [1882711] - bpf: Rename some functions in bpf_sk_storage (Jiri Benc) [1882711] - bpf: Folding omem_charge() into sk_storage_charge() (Jiri Benc) [1882711] - net/smc: properly handle workqueue allocation failure (Andrea Claudi) [1955178] - Revert "net/smc: fix a NULL pointer dereference" (Andrea Claudi) [1955178] - KVM: selftests: evmcs_test: Test that KVM_STATE_NESTED_EVMCS is never lost (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Request to sync eVMCS from VMCS12 after migration (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Reset eVMCS clean fields data from prepare_vmcs02() (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Force enlightened VMCS sync from nested_vmx_failValid() (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Ignore 'hv_clean_fields' data when eVMCS data is copied in vmx_get_nested_state() (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Release enlightened VMCS on VMCLEAR (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Introduce 'EVMPTR_MAP_PENDING' post-migration state (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Make copy_vmcs12_to_enlightened()/copy_enlightened_to_vmcs12() return 'void' (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Release eVMCS when enlightened VMENTRY was disabled (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Don't set 'dirty_vmcs12' flag on enlightened VMPTRLD (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Use '-1' in 'hv_evmcs_vmptr' to indicate that eVMCS is not in use (Vitaly Kuznetsov) [1940837] - KVM: selftests: evmcs_test: Check that VMCS12 is alway properly synced to eVMCS after restore (Vitaly Kuznetsov) [1940837] - KVM: selftests: evmcs_test: Check that VMLAUNCH with bogus EVMPTR is causing #UD (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Always make an attempt to map eVMCS after migration (Vitaly Kuznetsov) [1940837] - Bluetooth: btusb: Some Qualcomm Bluetooth adapters stop working (Gopal Tiwari) [1973909] - KVM: x86: Unload MMU on guest TLB flush if TDP disabled to force MMU sync (Vitaly Kuznetsov) [1906634] - scsi: sbitmap: Silence a debug kernel warning triggered by sbitmap_put() (Ewan D. Milne) [1761937] - scsi: core: Replace sdev->device_busy with sbitmap (Ewan D. Milne) [1761937] - scsi: core: Make sure sdev->queue_depth is <= max(shost->can_queue, 1024) (Ewan D. Milne) [1761937] - scsi: core: Add scsi_device_busy() wrapper (Ewan D. Milne) [1761937] - scsi: blk-mq: Return budget token from .get_budget callback (Ewan D. Milne) [1761937] - scsi: blk-mq: Add callbacks for storing & retrieving budget token (Ewan D. Milne) [1761937] - scsi: sbitmap: Add sbitmap_calculate_shift() helper (Ewan D. Milne) [1761937] - scsi: sbitmap: Export sbitmap_weight (Ewan D. Milne) [1761937] - scsi: sbitmap: Move allocation hint into sbitmap (Ewan D. Milne) [1761937] - scsi: sbitmap: Add helpers for updating allocation hint (Ewan D. Milne) [1761937] - scsi: sbitmap: Maintain allocation round_robin in sbitmap (Ewan D. Milne) [1761937] - scsi: sbitmap: Remove sbitmap_clear_bit_unlock (Ewan D. Milne) [1761937] - blk-mq: pass request queue into get/put budget callback (Ewan D. Milne) [1761937] - dma-iommu: implement ->alloc_noncontiguous (Jerry Snitselaar) [1955767] - dma-iommu: refactor iommu_dma_alloc_remap (Jerry Snitselaar) [1955767] - dma-mapping: add a dma_alloc_noncontiguous API (Jerry Snitselaar) [1955767] - dma-mapping: refactor dma_{alloc,free}_pages (Jerry Snitselaar) [1955767] - dma-mapping: add a dma_mmap_pages helper (Jerry Snitselaar) [1955767] - dma-mapping: remove the {alloc,free}_noncoherent methods (Jerry Snitselaar) [1955767] - iommu/vt-d: Make unnecessarily global functions static (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove unused function declarations (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove SVM_FLAG_PRIVATE_PASID (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove svm_dev_ops (Jerry Snitselaar) [1955767] - iommu/vt-d: Use Real PCI DMA device for IRTE (Jerry Snitselaar) [1955767] - iommu/vt-d: Calculate and set flags for handle_mm_fault (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix build error of pasid_enable_wpe() with !X86 (Jerry Snitselaar) [1955767] - iommu/vt-d: Avoid unnecessary cache flush in pasid entry teardown (Jerry Snitselaar) [1955767] - iommu/vt-d: Enable write protect propagation from guest (Jerry Snitselaar) [1955767] - iommu/vt-d: Enable write protect for supervisor SVM (Jerry Snitselaar) [1955767] - iommu/vt-d: Report more information about invalidation errors (Jerry Snitselaar) [1955767] - iommu/vt-d: Disable SVM when ATS/PRI/PASID are not enabled in the device (Jerry Snitselaar) [1955767] - iommu: Stop exporting free_iova_fast() (Jerry Snitselaar) [1955767] - iommu: Delete iommu_dma_free_cpu_cached_iovas() (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove IOVA domain rcache flushing for CPU offlining (Jerry Snitselaar) [1955767] - iova: Add CPU hotplug handler to flush rcaches (Jerry Snitselaar) [1955767] - iommu/iova: Improve restart logic (Jerry Snitselaar) [1955767] - iommu/iova: Add rbtree entry helper (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Remove the unused fields for PREFETCH_CONFIG command (Jerry Snitselaar) [1955767] - iommu/vt-d: Use user privilege for RID2PASID translation (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix sysfs leak in alloc_iommu() (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add a check to avoid invalid iotlb sync (Jerry Snitselaar) [1955767] - x86/events/amd/iommu: Fix invalid Perf result due to IOMMU PMC power-gating (Jerry Snitselaar) [1955767] - iommu: Fix a boundary issue to avoid performance drop (Jerry Snitselaar) [1955767] - iommu/vt-d: Check for allocation failure in aux_detach_device() (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove unused dma map/unmap trace events (Jerry Snitselaar) [1955767] - iommu/amd: Clear DMA ops when switching domain (Jerry Snitselaar) [1955767] - iommu/amd: Remove performance counter pre-initialization test (Jerry Snitselaar) [1955767] - Revert "iommu/amd: Fix performance counter initialization" (Jerry Snitselaar) [1955767] - iommu/dma: Resurrect the "forcedac" option (Jerry Snitselaar) [1955767] - iommu: Check dev->iommu in iommu_dev_xxx functions (Jerry Snitselaar) [1955767] - iommu/amd: Put newline after closing bracket in warning (Jerry Snitselaar) [1955767] - iommu/vt-d: Force to flush iotlb before creating superpage (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix an error handling path in 'intel_prepare_irq_remapping()' (Jerry Snitselaar) [1955767] - iommu/vt-d: Invalidate PASID cache when root/context entry changed (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove WO permissions on second-level paging entries (Jerry Snitselaar) [1955767] - iommu/vt-d: Report the right page fault address (Jerry Snitselaar) [1955767] - iommu/vt-d: Report right snoop capability when using FL for IOVA (Jerry Snitselaar) [1955767] - iommu/vt-d: Don't set then clear private data in prq_event_thread() (Jerry Snitselaar) [1955767] - iommu/vt-d: Reject unsupported page request modes (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: add bit field SFM into GERROR_ERR_MASK (Jerry Snitselaar) [1955767] - iommu/amd: Keep track of amd_iommu_irq_remap state (Jerry Snitselaar) [1955767] - iommu/amd: Don't call early_amd_iommu_init() when AMD IOMMU is disabled (Jerry Snitselaar) [1955767] - iommu/amd: Move Stoney Ridge check to detect_ivrs() (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix status code for Allocate/Free PASID command (Jerry Snitselaar) [1955767] - iommu: Don't use lazy flush for untrusted device (Jerry Snitselaar) [1955767] - iommu/amd: Fix sleeping in atomic in increase_address_space() (Jerry Snitselaar) [1955767] - iommu: Delete iommu_dev_has_feature() (Jerry Snitselaar) [1955767] - iommu: Delete iommu_domain_window_disable() (Jerry Snitselaar) [1955767] - iommu: Stop exporting iommu_map_sg_atomic() (Jerry Snitselaar) [1955767] - iova: Stop exporting some more functions (Jerry Snitselaar) [1955767] - iova: Delete copy_reserved_iova() (Jerry Snitselaar) [1955767] - iova: Make has_iova_flush_queue() private (Jerry Snitselaar) [1955767] - iommu/vt-d: Add iotlb_sync_map callback (Jerry Snitselaar) [1955767] - iommu/vt-d: Move capability check code to cap_audit files (Jerry Snitselaar) [1921289] - iommu/vt-d: Audit IOMMU Capabilities and add helper functions (Jerry Snitselaar) [1921289] - iommu/vt-d: Fix 'physical' typos (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix compile error [-Werror=implicit-function-declaration] (Jerry Snitselaar) [1955767] - iommu/vt-d: Use INVALID response code instead of FAILURE (Jerry Snitselaar) [1920726] - iommu/vt-d: Clear PRQ overflow only when PRQ is empty (Jerry Snitselaar) [1955767] - iommu/vt-d: Preset Access/Dirty bits for IOVA over FL (Jerry Snitselaar) [1955767] - iommu/vt-d: Add qi_submit trace event (Jerry Snitselaar) [1955767] - iommu/vt-d: Consolidate duplicate cache invaliation code (Jerry Snitselaar) [1955767] - iommu/amd: Adopt IO page table framework for AMD IOMMU v1 page table (Jerry Snitselaar) [1955767] - iommu/amd: Introduce iommu_v1_map_page and iommu_v1_unmap_page (Jerry Snitselaar) [1955767] - iommu/amd: Introduce iommu_v1_iova_to_phys (Jerry Snitselaar) [1955767] - iommu/amd: Refactor fetch_pte to use struct amd_io_pgtable (Jerry Snitselaar) [1955767] - iommu/amd: Rename variables to be consistent with struct io_pgtable_ops (Jerry Snitselaar) [1955767] - iommu/amd: Remove amd_iommu_domain_get_pgtable (Jerry Snitselaar) [1955767] - iommu/amd: Restructure code for freeing page table (Jerry Snitselaar) [1955767] - iommu/amd: Move IO page table related functions (Jerry Snitselaar) [1955767] - iommu/amd: Declare functions as extern (Jerry Snitselaar) [1955767] - iommu/amd: Convert to using amd_io_pgtable (Jerry Snitselaar) [1955767] - iommu/amd: Move pt_root to struct amd_io_pgtable (Jerry Snitselaar) [1955767] - iommu/amd: Prepare for generic IO page table framework (Jerry Snitselaar) [1955767] - iommu/amd: Re-define amd_iommu_domain_encode_pgtable as inline (Jerry Snitselaar) [1955767] - iommu/amd: remove h from printk format specifier (Jerry Snitselaar) [1955767] - iommu/amd: Use DEFINE_SPINLOCK() for spinlock (Jerry Snitselaar) [1955767] - iommu/amd: Remove unnecessary assignment (Jerry Snitselaar) [1955767] - iommu: Properly pass gfp_t in _iommu_map() to avoid atomic sleeping (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm-v7s: Add cfg as a param in some macros (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm-v7s: Clarify LVL_SHIFT/BITS macro (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm-v7s: Use ias to check the valid iova in unmap (Jerry Snitselaar) [1955767] - iommu/io-pgtable: Remove TLBI_ON_MAP quirk (Jerry Snitselaar) [1955767] - iommu/io-pgtable: Allow io_pgtable_tlb ops optional (Jerry Snitselaar) [1955767] - iommu: Switch gather->end to the inclusive end (Jerry Snitselaar) [1955767] - iommu: Add iova and size as parameters in iotlb_sync_map (Jerry Snitselaar) [1955767] - iommu: Move iotlb_sync_map out from __iommu_map (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add support for VHE (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Make BTM optional for SVA (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Split arm_smmu_tlb_inv_range() (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Use DEFINE_RES_MEM() to simplify code (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Remove the page 1 fixup (Jerry Snitselaar) [1955767] - x86,swiotlb: Adjust SWIOTLB bounce buffer size for SEV guests (Jerry Snitselaar) [1955767] - iommu: Check dev->iommu in dev_iommu_priv_get() before dereferencing it (Jerry Snitselaar) [1955767] - iommu/vt-d: Do not use flush-queue when caching-mode is on (Jerry Snitselaar) [1955767] - iommu/vt-d: Correctly check addr alignment in qi_flush_dev_iotlb_pasid() (Jerry Snitselaar) [1955767] - iommu/amd: Use IVHD EFR for early initialization of IOMMU features (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix unaligned addresses for intel_flush_svm_range_dev() (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix ineffective devTLB invalidation for subdevices (Jerry Snitselaar) [1920750 1920749] - iommu/vt-d: Fix general protection fault in aux_detach_device() (Jerry Snitselaar) [1920748] - iommu/vt-d: Move intel_iommu info from struct intel_svm to struct intel_svm_dev (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix lockdep splat in sva bind()/unbind() (Jerry Snitselaar) [1955767] - Revert "iommu: Add quirk for Intel graphic devices in map_sg" (Jerry Snitselaar) [1955767] - iommu/intel: Fix memleak in intel_irq_remapping_alloc (Jerry Snitselaar) [1955767] - iommu/iova: fix 'domain' typos (Jerry Snitselaar) [1955767] - dma-iommu: remove __iommu_dma_mmap (Jerry Snitselaar) [1955767] - iommu/io-pgtable: Remove tlb_flush_leaf (Jerry Snitselaar) [1955767] - iommu/vt-d: Avoid GFP_ATOMIC where it is not needed (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove set but not used variable (Jerry Snitselaar) [1955767] - iommu/vt-d: Cleanup after converting to dma-iommu ops (Jerry Snitselaar) [1955767] - iommu/vt-d: Convert intel iommu driver to the iommu ops (Jerry Snitselaar) [1955767] - iommu/vt-d: Don't clear GFP_DMA and GFP_DMA32 flags (Jerry Snitselaar) [1955767] - iommu/vt-d: Update domain geometry in iommu_ops.at(de)tach_dev (Jerry Snitselaar) [1955767] - iommu: Add quirk for Intel graphic devices in map_sg (Jerry Snitselaar) [1955767] - swiotlb: remove the tbl_dma_addr argument to swiotlb_tbl_map_single (Jerry Snitselaar) [1955767] - swiotlb-xen: remove start_dma_addr (Jerry Snitselaar) [1955767] - iommu: Allow the dma-iommu api to use bounce buffers (Jerry Snitselaar) [1955767] - iommu: Add iommu_dma_free_cpu_cached_iovas() (Jerry Snitselaar) [1955767] - iommu: Handle freelists when using deferred flushing in iommu drivers (Jerry Snitselaar) [1955767] - iommu/sva: Add PASID helpers (Jerry Snitselaar) [1955767] - iommu/ioasid: Add ioasid references (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm: Remove unused 'level' parameter from iopte_type() macro (Jerry Snitselaar) [1955767] - iommu: Defer the early return in arm_(v7s/lpae)_map (Jerry Snitselaar) [1955767] - iommu: Improve the performance for direct_mapping (Jerry Snitselaar) [1955767] - iommu: return error code when it can't get group (Jerry Snitselaar) [1955767] - iommu: Modify the description of iommu_sva_unbind_device (Jerry Snitselaar) [1955767] - iommu: Stop exporting free_iova_mem() (Jerry Snitselaar) [1955767] - iommu: Stop exporting alloc_iova_mem() (Jerry Snitselaar) [1955767] - iommu: Delete split_and_remove_iova() (Jerry Snitselaar) [1955767] - iommu: avoid taking iova_rbtree_lock twice (Jerry Snitselaar) [1955767] - iommu/iova: Free global iova rcache on iova alloc failure (Jerry Snitselaar) [1955767] - iommu/iova: Retry from last rb tree node if iova search fails (Jerry Snitselaar) [1955767] - iommu: Fix htmldocs warnings in sysfs-kernel-iommu_groups (Jerry Snitselaar) [1955767] - iommu: Document usage of "/sys/kernel/iommu_groups//type" file (Jerry Snitselaar) [1838589] - iommu: Take lock before reading iommu group default domain type (Jerry Snitselaar) [1838589] - iommu: Add support to change default domain of an iommu group (Jerry Snitselaar) [1838589] - iommu: Move def_domain type check for untrusted device into core (Jerry Snitselaar) [1838589] - iommu/arm-smmu-v3: Hook up ATC invalidation to mm ops (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Implement iommu_sva_bind/unbind() (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Move non-strict mode to use io_pgtable_domain_attr (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Add support for pagetable config domain attribute (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Assign boolean values to a bool variable (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm: Add support to use system cache (Jerry Snitselaar) [1955767] - iommu/io-pgtable: Add a domain attribute for pagetable configuration (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm: Support coherency for Mali LPAE (Jerry Snitselaar) [1955767] - dma-mapping: document dma_{alloc,free}_pages (Jerry Snitselaar) [1955767] - dma-direct: simplify the DMA_ATTR_NO_KERNEL_MAPPING handling (Jerry Snitselaar) [1955767] - dma-direct: factor out a dma_direct_alloc_from_pool helper (Jerry Snitselaar) [1955767] - dma-direct check for highmem pages in dma_direct_alloc_pages (Jerry Snitselaar) [1955767] - firewire-ohci: use dma_alloc_pages (Jerry Snitselaar) [1955767] - dma-iommu: implement ->alloc_noncoherent (Jerry Snitselaar) [1955767] - dma-mapping: add new {alloc,free}_noncoherent dma_map_ops methods (Jerry Snitselaar) [1955767] - dma-mapping: add a new dma_alloc_pages API (Jerry Snitselaar) [1955767] - dma-mapping: add a new dma_alloc_noncoherent API (Jerry Snitselaar) [1955767] - drm/nouveau/gk20a: stop setting DMA_ATTR_NON_CONSISTENT (Jerry Snitselaar) [1955767] - mm: turn alloc_pages into an inline function (Jerry Snitselaar) [1955767] - dma-mapping: better document dma_addr_t and DMA_MAPPING_ERROR (Jerry Snitselaar) [1955767] - dma-mapping: move valid_dma_direction to dma-direction.h (Jerry Snitselaar) [1955767] - dma-debug: convert comma to semicolon (Jerry Snitselaar) [1955767] - dma-direct: Fix potential NULL pointer dereference (Jerry Snitselaar) [1955767] - dma-mapping: move the dma_declare_coherent_memory documentation (Jerry Snitselaar) [1955767] - dma-mapping: move dma_common_{mmap,get_sgtable} out of mapping.c (Jerry Snitselaar) [1955767] - dma-mapping: make support for dma ops optional (Jerry Snitselaar) [1955767] - dma-direct: rename and cleanup __phys_to_dma (Jerry Snitselaar) [1955767] - dma-direct: remove __dma_to_phys (Jerry Snitselaar) [1955767] - dma-direct: use phys_to_dma_direct in dma_direct_alloc (Jerry Snitselaar) [1955767] - dma-direct: lift gfp_t manipulation out of__dma_direct_alloc_pages (Jerry Snitselaar) [1955767] - dma-direct: remove dma_direct_{alloc,free}_pages (Jerry Snitselaar) [1955767] - dma-debug: remove most exports (Jerry Snitselaar) [1955767] - dma-mapping: remove the dma_dummy_ops export (Jerry Snitselaar) [1955767] - dma-mapping: set default segment_boundary_mask to ULONG_MAX (Jerry Snitselaar) [1955767] - dma-mapping: introduce dma_get_seg_boundary_nr_pages() (Jerry Snitselaar) [1955767] - swiotlb: using SIZE_MAX needs limits.h included (Jerry Snitselaar) [1955767] - swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb" (Jerry Snitselaar) [1955767] - swiotlb: Mark max_segment with static keyword (Jerry Snitselaar) [1955767] - swiotlb: Declare swiotlb_late_init_with_default_size() in header (Jerry Snitselaar) [1955767] - swiotlb: Use pa to print phys_addr_t variables (Jerry Snitselaar) [1955767] - dma-debug: remove debug_dma_assert_idle() function (Jerry Snitselaar) [1955767] - dma-mapping: move debug configuration options to kernel/dma (Jerry Snitselaar) [1955767] - dma-debug: fix debug_dma_assert_idle(), use rcu_read_lock() (Jerry Snitselaar) [1955767] - iommu: Check return of __iommu_attach_device() (Jerry Snitselaar) [1955767] - iommu/amd: Enforce 4k mapping for certain IOMMU data structures (Jerry Snitselaar) [1955767] - iommu: Fix a check in iommu_check_bind_data() (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix a bug for PDP check in prq_event_thread (Jerry Snitselaar) [1955767] - iommu/vt-d: Check UAPI data processed by IOMMU core (Jerry Snitselaar) [1955767] - iommu/uapi: Handle data and argsz filled by users (Jerry Snitselaar) [1955767] - iommu/uapi: Rename uapi functions (Jerry Snitselaar) [1955767] - iommu/uapi: Use named union for user data (Jerry Snitselaar) [1955767] - iommu/uapi: Add argsz for user filled data (Jerry Snitselaar) [1955767] - docs: IOMMU user API (Jerry Snitselaar) [1955767] - iommu/dma: Handle init_iova_flush_queue() failure in dma-iommu path (Jerry Snitselaar) [1955767] - iommu/iova: Replace cmpxchg with xchg in queue_iova (Jerry Snitselaar) [1955767] - iommu/dma: Remove broken huge page handling (Jerry Snitselaar) [1955767] - iommu: Rename iommu_tlb_* functions to iommu_iotlb_* (Jerry Snitselaar) [1955767] - iommu/vt-d: Use device numa domain if RHSA is missing (Jerry Snitselaar) [1955767] - iommu/vt-d: Drop kerneldoc marker from regular comment (Jerry Snitselaar) [1955767] - iommu/amd: Re-purpose Exclusion range registers to support SNP CWWB (Jerry Snitselaar) [1955767] - iommu/amd: Add support for RMP_PAGE_FAULT and RMP_HW_ERR (Jerry Snitselaar) [1955767] - iommu/amd: Use 4K page for completion wait write-back semaphore (Jerry Snitselaar) [1955767] - iommu/amd: Add missing function prototypes to fix -Wmissing-prototypes (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add SVA device feature (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Check for SVA features (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Seize private ASID (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Share process page tables (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Move definitions to a header (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm: Move some definitions to a header (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Ensure queue is read after updating prod pointer (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Constify some helpers (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Prepare for the adreno-smmu implementation (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Add support for split pagetables (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Pass io-pgtable config to implementation specific function (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Fix endianness annotations (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: permit users to disable msi polling (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: replace module_param_named by module_param for disable_bypass (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: replace symbolic permissions by octal permissions for module parameter (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Fix l1 stream table size in the error message (Jerry Snitselaar) [1955767] - ACPI: Do not create new NUMA domains from ACPI static tables that are not SRAT (Jerry Snitselaar) [1955767] - iommu/amd: Prevent NULL pointer dereference (Jerry Snitselaar) [1955767] - treewide: Use fallthrough pseudo-keyword (Jerry Snitselaar) [1955767] - virtio-iommu: convert to LE accessors (Jerry Snitselaar) [1955767] - virtio_iommu: correct tags for config space fields (Jerry Snitselaar) [1955767] - mmap locking API: use coccinelle to convert mmap_sem rwsem call sites (Jerry Snitselaar) [1955767] - iommu/iova: Unify format of the printed messages (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Move Arm SMMU drivers into their own subdirectory (Jerry Snitselaar) [1955767] - iommu/arm-smmu: move TLB timeout and spin count macros (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Call configuration impl hook before consuming features (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Manage ASIDs with xarray (Jerry Snitselaar) [1955767] - redhat/configs: Add CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Break insecure users by disabling bypass by default (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Workaround for Marvell Armada-AP806 SoC erratum #582743 (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Allow client devices to select direct mapping (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Add global/context fault implementation hooks (Jerry Snitselaar) [1955767] - iommu/arm-smmu: add NVIDIA implementation for ARM MMU-500 usage (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Fix trivial typo (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Update impl quirks comment (Jerry Snitselaar) [1955767] - iommu: arm-smmu-impl: Convert to a generic reset implementation (Jerry Snitselaar) [1955767] - iommu: arm-smmu-impl: Add sdm845 implementation hook (Jerry Snitselaar) [1955767] - firmware/qcom_scm: Add scm call to handle smmu errata (Jerry Snitselaar) [1955767] - firmware: qcom_scm-64: Add atomic version of qcom_scm_call (Jerry Snitselaar) [1955767] - firmware: qcom: scm: Ensure 'a0' status code is treated as signed (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Batch context descriptor invalidation (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Write level-1 descriptors atomically (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add support for PCI PASID (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add second level of context descriptor table (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Prepare for handling arm_smmu_write_ctx_desc() failure (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Propagate ssid_bits (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add support for Substream IDs (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add context descriptor tables allocators (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Prepare arm_smmu_s1_cfg for SSID support (Jerry Snitselaar) [1955767] - dt-bindings: document PASID property for IOMMU masters (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Don't display an error when IRQ lines are missing (Jerry Snitselaar) [1955767] - selftests: net: add UDP GRO forwarding self-tests (Paolo Abeni) [1948493] - bareudp: allow UDP L4 GRO passthrou (Paolo Abeni) [1948493] - geneve: allow UDP L4 GRO passthrou (Paolo Abeni) [1948493] - vxlan: allow L4 GRO passthrough (Paolo Abeni) [1948493] - udp: never accept GSO_FRAGLIST packets (Paolo Abeni) [1948493] - udp: properly complete L4 GRO over UDP tunnel packet (Paolo Abeni) [1948493] - udp: skip L4 aggregation for UDP tunnel packets (Paolo Abeni) [1948493] - udp: fixup csum for GSO receive slow path (Paolo Abeni) [1948493] - udp: allow forwarding of plain (non-fraglisted) UDP GRO packets (Paolo Abeni) [1948493] - net: introduce a netdev feature for UDP GRO forwarding (Paolo Abeni) [1948493] - [s390] s390/pkey: support CCA and EP11 secure ECC private keys (Claudio Imbrenda) [1780669] - [s390] s390/zcrypt: Support for CCA APKA master keys (Claudio Imbrenda) [1780669] - [s390] s390/zcrypt: remove set_fs() invocation in zcrypt device driver (Claudio Imbrenda) [1780669] - [s390] s390/zcrypt: simplify cca_findcard2 loop code (Claudio Imbrenda) [1780669] - cxgb4: Add new T6 PCI device id 0x6092 (Rahul Lakkireddy) [1950186] - KVM: VMX: Don't use vcpu->run->internal.ndata as an array index (Jon Maloy) [1954219] {CVE-2021-3501} - Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_with_rssi_evt() (Gopal Tiwari) [1978598] - Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_evt() (Gopal Tiwari) [1978598] - Bluetooth: Fix slab-out-of-bounds read in hci_extended_inquiry_result_evt() (Gopal Tiwari) [1978598] - x86/cpu: Avoid cpuinfo-induced IPIing of idle CPUs (Waiman Long) [1970499] - x86/cpu: Avoid cpuinfo-induced IPI pileups (Waiman Long) [1970499] - x86/cpu: Disable frequency requests via aperfmperf IPI for nohz_full CPUs (Waiman Long) [1970499] - x86: Convert some slow-path static_cpu_has() callers to boot_cpu_has() (Waiman Long) [1970499] - x86/ldt: Enable LDT user-mapping for PAE (Waiman Long) [1970499] - fanotify: fix merging marks masks with FAN_ONDIR (Miklos Szeredi) [1832099] - sfc: avoid duplicated code in ef10_sriov (Íñigo Huguet) [1931779] - sfc: explain that "attached" VFs only refer to Xen (Íñigo Huguet) [1931779] - sfc: error code if SRIOV cannot be disabled (Íñigo Huguet) [1931779] - sfc: avoid double pci_remove of VFs (Íñigo Huguet) [1931779] - tpm: fix error return code in tpm2_get_cc_attrs_tbl() (Jerry Snitselaar) [1920812] - tpm, tpm_tis: Reserve locality in tpm_tis_resume() (Jerry Snitselaar) [1920812] - tpm, tpm_tis: Extend locality handling to TPM2 in tpm_tis_gen_interrupt() (Jerry Snitselaar) [1920812] - tpm: vtpm_proxy: Avoid reading host log when using a virtual device (Jerry Snitselaar) [1920812] - tpm: acpi: Check eventlog signature before using it (Jerry Snitselaar) [1920812] - tpm: efi: Use local variable for calculating final log size (Jerry Snitselaar) [1920812] - tpm: Remove unintentional dump_stack() call (Jerry Snitselaar) [1920812] - tpm, tpm_tis: Decorate tpm_tis_gen_interrupt() with request_locality() (Jerry Snitselaar) [1920812] - tpm, tpm_tis: Decorate tpm_get_timeouts() with request_locality() (Jerry Snitselaar) [1920812] - KEYS: trusted: Reserve TPM for seal and unseal operations (Jerry Snitselaar) [1920812] - tpm/ppi: Constify static struct attribute_group (Jerry Snitselaar) [1920812] - tpm: add sysfs exports for all banks of PCR registers (Jerry Snitselaar) [1920812] - tpm: Remove tpm_dev_wq_lock (Jerry Snitselaar) [1920812] - tpm: Fix fall-through warnings for Clang (Jerry Snitselaar) [1920812] - tpm_tis: Clean up locality release (Jerry Snitselaar) [1920812] - tpm_tis: Disable interrupts on ThinkPad T490s (Jerry Snitselaar) [1920812] - tpm_tis: Fix check_locality for correct locality acquisition (Jerry Snitselaar) [1920812] - fuse: invalidate attrs when page writeback completes (Vivek Goyal) [1966424] - net/sched: act_ct: remove rh_mark_used_feature mark (Marcelo Ricardo Leitner) [1973381] - selftests: netfilter: Pass family parameter "-f" to conntrack tool (Hangbin Liu) [1979203] - selftests: netfilter: remove unused cnt and simplify command testing (Hangbin Liu) [1979203] - selftests: netfilter: fix nft_meta.sh error reporting (Hangbin Liu) [1979203] - selftests: netfilter: add cpu counter check (Hangbin Liu) [1979203] - selftests: netfilter: add meta iif/oif match test (Hangbin Liu) [1979203] - NFS: Only change the cookie verifier if the directory page cache is empty (Benjamin Coddington) [1982825] - NFS: Fix handling of cookie verifier in uncached_readdir() (Benjamin Coddington) [1982825] - nfs: Subsequent READDIR calls should carry non-zero cookieverifier (Benjamin Coddington) [1982825] - Revert "[netdrv] net/mlx5e: Rx, Update page pool numa node when changed" (Alaa Hleihel) [1915308] - mlx5: net: zero-initialize tc skb extension on allocation (Alaa Hleihel) [1915308 1965418] - RDMA/mlx5: Don't add slave port to unaffiliated list (Alaa Hleihel) [1915308] - net/mlx5: Reset mkey index on creation (Alaa Hleihel) [1915308] - net/mlx5e: Don't create devices during unload flow (Alaa Hleihel) [1915308] - net/mlx5: DR, Fix STEv1 incorrect L3 decapsulation padding (Alaa Hleihel) [1915308] - net/mlx5: SF_DEV, remove SF device on invalid state (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Allow setting GUID for host PF vport (Alaa Hleihel) [1915308 1967488] - net/mlx5: E-Switch, Read PF mac address (Alaa Hleihel) [1915308 1967488] - net/mlx5: Check that driver was probed prior attaching the device (Alaa Hleihel) [1915308] - net/mlx5: Fix error path for set HCA defaults (Alaa Hleihel) [1915308] - net/mlx5e: Disable TLS device offload in kdump mode (Alaa Hleihel) [1915308 1946647] - net/mlx5e: Disable TX MPWQE in kdump mode (Alaa Hleihel) [1915308 1946647] - net/mlx5e: kTLS, Add resiliency to RX resync failures (Alaa Hleihel) [1915308] - net/mlx5e: TX, Inline function mlx5e_tls_handle_tx_wqe() (Alaa Hleihel) [1915308] - net/mlx5e: TX, Inline TLS skb check (Alaa Hleihel) [1915308] - net/mlx5e: Cleanup unused function parameter (Alaa Hleihel) [1915308] - net/mlx5e: Remove non-essential TLS SQ state bit (Alaa Hleihel) [1915308] - net/mlx5e: Restrict usage of mlx5e_priv in params logic functions (Alaa Hleihel) [1915308] - net/mlx5e: Fix lost changes during code movements (Alaa Hleihel) [1915308] - net/mlx5e: Move params logic into its dedicated file (Alaa Hleihel) [1915308] - net/mlx5e: Pass q_counter indentifier as parameter to rq_param builders (Alaa Hleihel) [1915308] - net/mlx5e: Block offload of outer header csum for GRE tunnel (Alaa Hleihel) [1915308] - net/mlx5e: Block offload of outer header csum for UDP tunnels (Alaa Hleihel) [1915308] - Revert "net/mlx5: Arm only EQs with EQEs" (Alaa Hleihel) [1915308] - net/mlx5e: Verify dev is present in get devlink port ndo (Alaa Hleihel) [1915308] - net/mlx5: DR, Don't use SW steering when RoCE is not supported (Alaa Hleihel) [1915308] - net/mlx5: Consider RoCE cap before init RDMA resources (Alaa Hleihel) [1915308] - net/mlx5e: Fix page reclaim for dead peer hairpin (Alaa Hleihel) [1915308] - net/mlx5e: Remove dependency in IPsec initialization flows (Alaa Hleihel) [1915308] - net/mlx5e: Fix use-after-free of encap entry in neigh update handler (Alaa Hleihel) [1915308] - IB/mlx5: Fix initializing CQ fragments buffer (Alaa Hleihel) [1915308 1974263] - RDMA/mlx5: Block FDB rules when not in switchdev mode (Alaa Hleihel) [1915308] - RDMA/mlx5: Use different doorbell memory for different processes (Alaa Hleihel) [1915308] - net/mlx5: Fix duplicate included vhca_event.h (Alaa Hleihel) [1915308] - net/mlx5: Fix lag port remapping logic (Alaa Hleihel) [1915308] - net/mlx5e: IPsec/rep_tc: Fix rep_tc_update_skb drops IPsec packet (Alaa Hleihel) [1915308] - net/mlx5: DR, Create multi-destination flow table with level less than 64 (Alaa Hleihel) [1915308] - net/mlx5e: Fix adding encap rules to slow path (Alaa Hleihel) [1915308] - net/mlx5e: Check for needed capability for cvlan matching (Alaa Hleihel) [1915308] - net/mlx5: Check firmware sync reset requested is set before trying to abort it (Alaa Hleihel) [1915308] - net/mlx5e: Disable TLS offload for uplink representor (Alaa Hleihel) [1915308] - net/mlx5e: Fix incompatible casting (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix query DCT via DEVX (Alaa Hleihel) [1915308] - RDMA/mlx5: Recover from fatal event in dual port mode (Alaa Hleihel) [1915308] - net/mlx5: Set term table as an unmanaged flow table (Alaa Hleihel) [1915308] - net/mlx5e: Fix error path of updating netdev queues (Alaa Hleihel) [1915308] - net/mlx5e: Reject mirroring on source port change encap rules (Alaa Hleihel) [1915308] - net/mlx5e: Fix multipath lag activation (Alaa Hleihel) [1915308] - net/mlx5e: reset XPS on error flow if netdev isn't registered yet (Alaa Hleihel) [1915308] - net/mlx5e: Make sure fib dev exists in fib event (Alaa Hleihel) [1915308] - net/mlx5e: Fix null deref accessing lag dev (Alaa Hleihel) [1915308] - net/mlx5e: Fix nullptr in mlx5e_tc_add_fdb_flow() (Alaa Hleihel) [1915308] - net/mlx5: SF, Fix show state inactive when its inactivated (Alaa Hleihel) [1915308] - net/mlx5: Set reformat action when needed for termination rules (Alaa Hleihel) [1915308] - net/mlx5e: Fix nullptr in add_vlan_push_action() (Alaa Hleihel) [1915308] - {net, RDMA}/mlx5: Fix override of log_max_qp by other device (Alaa Hleihel) [1915308] - net/mlx5: DR, Fix SQ/RQ in doorbell bitmask (Alaa Hleihel) [1915308] - net/mlx5: Fix bit-wise and with zero (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix drop packet rule in egress table (Alaa Hleihel) [1915308] - net/mlx5: Fix spelling mistakes in mlx5_core_info message (Alaa Hleihel) [1915308] - net/mlx5: DR, Fixed typo in STE v0 (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix mlx5 rates to IB rates map (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix query RoCE port (Alaa Hleihel) [1915308] - RDMA/mlx5: Zero out ODP related items in the mlx5_ib_mr (Alaa Hleihel) [1915308] - net/mlx5e: Alloc flow spec using kvzalloc instead of kzalloc (Alaa Hleihel) [1915308] - net/mlx5: Avoid unnecessary operation (Alaa Hleihel) [1915308] - net/mlx5e: rep: Improve reg_cX conditions (Alaa Hleihel) [1915308] - net/mlx5: SF, Fix return type (Alaa Hleihel) [1915308] - net/mlx5e: mlx5_tc_ct_init does not fail (Alaa Hleihel) [1915308] - net/mlx5: Fix indir stable stubs (Alaa Hleihel) [1915308] - net/mlx5e: Add missing include (Alaa Hleihel) [1915308] - net/mlx5e: fix mlx5e_tc_tun_update_header_ipv6 dummy definition (Alaa Hleihel) [1915308] - net/mlx5e: CT, Avoid false lock dependency warning (Alaa Hleihel) [1915308] - net/mlx5: Check returned value from health recover sequence (Alaa Hleihel) [1915308] - net/mlx5: Don't rely on interface state bit (Alaa Hleihel) [1915308] - net/mlx5: Remove second FW tracer check (Alaa Hleihel) [1915308] - net/mlx5: Separate probe vs. reload flows (Alaa Hleihel) [1915308] - net/mlx5: Remove impossible checks of interface state (Alaa Hleihel) [1915308] - net/mlx5: Don't skip vport check (Alaa Hleihel) [1915308] - net/mlx5e: Register nic devlink port for SF ports (Alaa Hleihel) [1915308] - vdpa/mlx5: Retrieve BAR address suitable any function (Alaa Hleihel) [1915308] - vdpa/mlx5: Use the correct dma device when registering memory (Alaa Hleihel) [1915308] - net/mlx5: SF, Extend SF table for additional SF id range (Alaa Hleihel) [1915308] - net/mlx5: SF, Split mlx5_sf_hw_table into two parts (Alaa Hleihel) [1915308] - net/mlx5: SF, Use helpers for allocation and free (Alaa Hleihel) [1915308] - net/mlx5: SF, Consider own vhca events of SF devices (Alaa Hleihel) [1915308] - net/mlx5: SF, Store and use start function id (Alaa Hleihel) [1915308] - net/mlx5: SF, Rely on hw table for SF devlink port allocation (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Consider SF ports of host PF (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Use xarray for vport number to vport and rep mapping (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Prepare to return total vports from eswitch struct (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Return eswitch max ports when eswitch is supported (Alaa Hleihel) [1915308] - net/mlx5: SF, Reuse stored hardware function id (Alaa Hleihel) [1915308] - net/mlx5: SF, Use device pointer directly (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Initialize eswitch acls ns when eswitch is enabled (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Move legacy code to a individual file (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Convert a macro to a helper routine (Alaa Hleihel) [1915308] - net/mlx5: E-Switch Make cleanup sequence mirror of init (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Make vport number u16 (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Skip querying SF enabled bits (Alaa Hleihel) [1915308] - IB/mlx5: Set right RoCE l3 type and roce version while deleting GID (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, move QoS specific fields to existing qos struct (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, cut down mlx5_vport_info structure size by 8 bytes (Alaa Hleihel) [1915308] - net/mlx5: Pair mutex_destory with mutex_init for rate limit table (Alaa Hleihel) [1915308] - net/mlx5: Allocate rate limit table when rate is configured (Alaa Hleihel) [1915308] - net/mlx5: Use helper to increment, decrement rate entry refcount (Alaa Hleihel) [1915308] - net/mlx5: Use helpers to allocate and free rl table entries (Alaa Hleihel) [1915308] - net/mlx5: Do not hold mutex while reading table constants (Alaa Hleihel) [1915308] - net/mlx5: Pack mlx5_rl_entry structure (Alaa Hleihel) [1915308] - net/mlx5: Use unsigned int for free_count (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, move QoS specific fields to existing qos struct (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, cut down mlx5_vport_info structure size by 8 bytes (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, let user to enable disable metadata (Alaa Hleihel) [1915308] - net/mlx5e: TC, Add support to offload sample action (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Handle sampled packets (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Refactor tc update skb function (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Add sampler restore handle API (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Add sampler object API (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Add sampler termination table API (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Parse sample action (Alaa Hleihel) [1915308 1919649] - net/mlx5: Instantiate separate mapping objects for FDB and NIC tables (Alaa Hleihel) [1915308 1919649] - net/mlx5: Map register values to restore objects (Alaa Hleihel) [1915308 1919649] - net/mlx5: E-switch, Set per vport table default group number (Alaa Hleihel) [1915308 1919649] - net/mlx5: E-switch, Generalize per vport table API (Alaa Hleihel) [1915308 1919649] - net/mlx5: E-switch, Rename functions to follow naming convention. (Alaa Hleihel) [1915308 1919649] - net/mlx5: E-switch, Move vport table functions to a new file (Alaa Hleihel) [1915308 1919649] - net/mlx5: CT: Add support for mirroring (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Protect changing mode while adding rules (Alaa Hleihel) [1915308 1790457] - net/mlx5: E-Switch, Change mode lock from mutex to rw semaphore (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Do not reload ethernet ports when changing eswitch mode (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Unregister eth-reps devices first (Alaa Hleihel) [1915308 1790457] - net/mlx5: Move mlx5e hw resources into a sub object (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Register nic devlink port with switch id (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Verify dev is present in some ndos (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Use nic mode netdev ndos and ethtool ops for uplink representor (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Add offload stats ndos to nic netdev ops (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Distinguish nic and esw offload in tc setup block cb (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Allow legacy vf ndos only if in legacy mode (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Same max num channels for both nic and uplink profiles (Alaa Hleihel) [1915308 1790457] - net/mlx5e: fix ingress_ifindex check in mlx5e_flower_parse_meta (Alaa Hleihel) [1915308] - net/mlx5e: Fix setting of RS FEC mode (Alaa Hleihel) [1915308] - net/mlx5: Fix setting of devlink traps in switchdev mode (Alaa Hleihel) [1915308] - net/mlx5: DR, Add missing vhca_id consume from STEv1 (Alaa Hleihel) [1915308] - net/mlx5: fix kfree mismatch in indir_table.c (Alaa Hleihel) [1915308] - net/mlx5: Fix PBMC register mapping (Alaa Hleihel) [1915308] - net/mlx5: Fix PPLM register mapping (Alaa Hleihel) [1915308] - net/mlx5: Fix placement of log_max_flow_counter (Alaa Hleihel) [1915308] - net/mlx5: Fix HW spec violation configuring uplink (Alaa Hleihel) [1915308] - net/mlx5e: Guarantee room for XSK wakeup NOP on async ICOSQ (Alaa Hleihel) [1915308] - net/mlx5e: Consider geneve_opts for encap contexts (Alaa Hleihel) [1915308] - net/mlx5: Don't request more than supported EQs (Alaa Hleihel) [1915308] - net/mlx5e: kTLS, Fix RX counters atomicity (Alaa Hleihel) [1915308] - net/mlx5e: kTLS, Fix TX counters atomicity (Alaa Hleihel) [1915308] - net/mlx5: E-switch, Create vport miss group only if src rewrite is supported (Alaa Hleihel) [1915308 1915310] - net/mlx5e: Fix ethtool indication of connector type (Alaa Hleihel) [1915308] - net/mlx5: Delete auxiliary bus driver eth-rep first (Alaa Hleihel) [1915308] - net/mlx5e: Fix mapping of ct_label zero (Alaa Hleihel) [1915308] - net/mlx5: SF, do not use ecpu bit for vhca state processing (Alaa Hleihel) [1915308] - net/mlx5e: Fix division by 0 in mlx5e_select_queue (Alaa Hleihel) [1915308] - net/mlx5e: Fix error path for ethtool set-priv-flag (Alaa Hleihel) [1915308] - net/mlx5e: Offload tuple rewrite for non-CT flows (Alaa Hleihel) [1915308] - net/mlx5e: Allow to match on MPLS parameters only for MPLS over UDP (Alaa Hleihel) [1915308] - net/mlx5: Add back multicast stats for uplink representor (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix typo in destroy_mkey inbox (Alaa Hleihel) [1915308] - net/mlx5: DR, Fix potential shift wrapping of 32-bit value in STEv1 getter (Alaa Hleihel) [1915308] - net/mlx5: SF: Fix error flow of SFs allocation flow (Alaa Hleihel) [1915308] - net/mlx5: SF: Fix memory leak of work item (Alaa Hleihel) [1915308] - net/mlx5: SF, Correct vhca context size (Alaa Hleihel) [1915308] - net/mlx5e: E-switch, Fix rate calculation division (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix timestamp default mode (Alaa Hleihel) [1915308] - net/mlx5: Set QP timestamp mode to default (Alaa Hleihel) [1915308] - net/mlx5e: Fix error flow in change profile (Alaa Hleihel) [1915308] - net/mlx5: Disable VF tunnel TX offload if ignore_flow_level isn't supported (Alaa Hleihel) [1915308 1915310] - net/mlx5e: Check correct ip_version in decapsulation route resolution (Alaa Hleihel) [1915308] - net/mlx5: Fix turn-off PPS command (Alaa Hleihel) [1915308] - net/mlx5e: Don't match on Geneve options in case option masks are all zero (Alaa Hleihel) [1915308] - net/mlx5e: Revert parameters on errors when changing PTP state without reset (Alaa Hleihel) [1915308] - net/mlx5e: When changing XDP program without reset, take refs for XSK RQs (Alaa Hleihel) [1915308] - net/mlx5e: Set PTP channel pointer explicitly to NULL (Alaa Hleihel) [1915308] - net/mlx5e: Accumulate port PTP TX stats with other channels stats (Alaa Hleihel) [1915308] - net/mlx5e: RX, Mind the MPWQE gaps when calculating offsets (Alaa Hleihel) [1915308] - net/mlx5e: Enforce minimum value check for ICOSQ size (Alaa Hleihel) [1915308] - RDMA/mlx5: Set correct kernel-doc identifier (Alaa Hleihel) [1915308] - IB/mlx5: Add missing error code (Alaa Hleihel) [1915308] - configs: Enable mlx5 subfunction device support (Alaa Hleihel) [1915308 1851717] - net/mlx5: Add cyc2time HW translation mode support (Alaa Hleihel) [1915308 1919657] - net/mlx5: Move some PPS logic into helper functions (Alaa Hleihel) [1915308 1919657] - net/mlx5: Move all internal timer metadata into a dedicated struct (Alaa Hleihel) [1915308 1919657] - net/mlx5: Refactor init clock function (Alaa Hleihel) [1915308 1919657] - net/mlx5: Add register layout to support real-time time-stamp (Alaa Hleihel) [1915308 1919657] - RDMA/mlx5: Fail QP creation if the device can not support the CQE TS (Alaa Hleihel) [1915308] - RDMA/mlx5: Allow CQ creation without attached EQs (Alaa Hleihel) [1915308] - net/mlx5: Add new timestamp mode bits (Alaa Hleihel) [1915308 1919657] - net/mlx5: Remove TLS dependencies on XPS (Alaa Hleihel) [1915308] - net/mlx5: SF, Fix error return code in mlx5_sf_dev_probe() (Alaa Hleihel) [1915308 1851717] - net/mlx5e: Fix error return code in mlx5e_tc_esw_init() (Alaa Hleihel) [1915308 1919647] - net/mlx5: Fix a NULL vs IS_ERR() check (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Fix tc_tun.h to verify MLX5_ESWITCH config (Alaa Hleihel) [1915308 1919647] - net/mlx5: Assign boolean values to a bool variable (Alaa Hleihel) [1915308] - net/mlx5e: Fix spelling mistake "Unknouwn" -> "Unknown" (Alaa Hleihel) [1915308] - net/mlx5e: Fix spelling mistake "channles" -> "channels" (Alaa Hleihel) [1915308] - net/mlx5: Delete device list leftover (Alaa Hleihel) [1915308] - net/mlx5_core: remove unused including (Alaa Hleihel) [1915308] - net/mlx5: fix spelling mistake in Kconfig "accelaration" -> "acceleration" (Alaa Hleihel) [1915308] - RDMA/mlx5: Support 400Gbps IB rate in mlx5 driver (Alaa Hleihel) [1915308] - RDMA/mlx5: Cleanup the synchronize_srcu() from the ODP flow (Alaa Hleihel) [1915308] - net/mlx5e: Handle FIB events to update tunnel endpoint device (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Rename some encap-specific API to generic names (Alaa Hleihel) [1915308 1919647] - net/mlx5e: TC preparation refactoring for routing update event (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Refactor neigh update infrastructure (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Create route entry infrastructure (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Extract tc tunnel encap/decap code to dedicated file (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Match recirculated packet miss in slow table using reg_c1 (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5e: Refactor reg_c1 usage (Alaa Hleihel) [1915308 1919647] - net/mlx5e: VF tunnel RX traffic offloading (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5e: Remove redundant match on tunnel destination mac (Alaa Hleihel) [1915308 1919647] - net/mlx5: E-Switch, Indirect table infrastructure (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5e: Refactor tun routing helpers (Alaa Hleihel) [1915308 1919647] - net/mlx5e: VF tunnel TX traffic offloading (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5: E-Switch, Refactor rule offload forward action processing (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5e: Always set attr mdev pointer (Alaa Hleihel) [1915308 1919647] - net/mlx5e: E-Switch, Maintain vhca_id to vport_num mapping (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5: E-Switch, Refactor setting source port (Alaa Hleihel) [1915308 1915310 1919647] - IB/mlx5: Use rdma_for_each_port for port iteration (Alaa Hleihel) [1915308] - RDMA/core: Introduce and use API to read port immutable data (Alaa Hleihel) [1915308] - IB/mlx5: Improve query port for representor port (Alaa Hleihel) [1915308] - IB/mlx5: Avoid calling query device for reading pkey table length (Alaa Hleihel) [1915308] - IB/mlx5: Move mlx5_port_caps from mlx5_core_dev to mlx5_ib_dev (Alaa Hleihel) [1915308] - IB/mlx5: Support default partition key for representor port (Alaa Hleihel) [1915308] - net/mlx5: DR, Avoid unnecessary csum recalculation on supporting devices (Alaa Hleihel) [1915308] - net/mlx5e: CT: remove useless conversion to PTR_ERR then ERR_PTR (Alaa Hleihel) [1915308] - net/mlx5e: accel, remove redundant space (Alaa Hleihel) [1915308] - net/mlx5e: kTLS, Improve TLS RX workqueue scope (Alaa Hleihel) [1915308] - net/mlx5e: remove h from printk format specifier (Alaa Hleihel) [1915308] - net/mlx5e: Increase indirection RQ table size to 256 (Alaa Hleihel) [1915308] - net/mlx5e: Enable napi in channel's activation stage (Alaa Hleihel) [1915308] - net/mlx5e: Move representor neigh init into profile enable (Alaa Hleihel) [1915308] - net/mlx5e: Avoid false lock depenency warning on tc_ht (Alaa Hleihel) [1915308] - net/mlx5e: Move set vxlan nic info to profile init (Alaa Hleihel) [1915308] - net/mlx5e: Move netif_carrier_off() out of mlx5e_priv_init() (Alaa Hleihel) [1915308] - net/mlx5e: Refactor mlx5e_netdev_init/cleanup to mlx5e_priv_init/cleanup (Alaa Hleihel) [1915308] - net/mxl5e: Add change profile method (Alaa Hleihel) [1915308] - net/mlx5e: Separate between netdev objects and mlx5e profiles initialization (Alaa Hleihel) [1915308] - net/mlx5: DR, Allow SW steering for sw_owner_v2 devices (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Copy all 64B whenever replacing STE in the head of miss-list (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Use HW specific logic API when writing STE (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Use the right size when writing partial STE into HW (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add STEv1 modify header logic (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add STEv1 action apply logic (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add STEv1 setters and getters (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Allow native protocol support for HW STEv1 (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add HW STEv1 match logic (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add match STEv1 structs to ifc (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Fix potential shift wrapping of 32-bit value (Alaa Hleihel) [1915308 1851712] - net/mlx5e: Enable traps according to link state (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add listener to DMAC filter trap event (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add listener to trap event (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add trap entity to ETH driver (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Expose RX dma info helpers (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add flow steering DMAC trap rule (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add flow steering VLAN trap rule (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Optimize promiscuous mode (Alaa Hleihel) [1915308 1919652] - net/mlx5: Notify on trap action by blocking event (Alaa Hleihel) [1915308 1919652] - net/mlx5: Rename events notifier header (Alaa Hleihel) [1915308 1919652] - net/mlx5: Register to devlink DMAC filter trap (Alaa Hleihel) [1915308 1919652] - net/mlx5: Register to devlink ingress VLAN filter trap (Alaa Hleihel) [1915308 1919652] - net/mlx5: Add support for devlink traps in mlx5 core driver (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Support HTB offload (Alaa Hleihel) [1915308] - net/mlx5: SF, Port function state change support (Alaa Hleihel) [1915308 1851717] - net/mlx5: SF, Add port add delete functionality (Alaa Hleihel) [1915308 1851717] - net/mlx5: E-switch, Add eswitch helpers for SF vport (Alaa Hleihel) [1915308 1915310 1851717] - net/mlx5: E-switch, Prepare eswitch to handle SF vport (Alaa Hleihel) [1915308 1915310 1851717] - net/mlx5: SF, Add auxiliary device driver (Alaa Hleihel) [1915308 1851717] - net/mlx5: SF, Add auxiliary device support (Alaa Hleihel) [1915308 1851717] - net/mlx5: Introduce vhca state event notifier (Alaa Hleihel) [1915308 1851717] - RDMA/hw/mlx5/qp: Demote non-conformant kernel-doc header (Alaa Hleihel) [1915308] - RDMA/hw/mlx5/odp: Fix formatting and add missing descriptions in 'pagefault_data_segments()' (Alaa Hleihel) [1915308] - IB/mlx5: Make function static (Alaa Hleihel) [1915308] - net/mlx5e: IPsec, Remove unnecessary config flag usage (Alaa Hleihel) [1915308] - net/mlx5e: IPsec, Inline feature_check fast-path function (Alaa Hleihel) [1915308] - net/mlx5e: IPsec, Avoid unreachable return (Alaa Hleihel) [1915308] - net/mlx5e: IPsec, Enclose csum logic under ipsec config (Alaa Hleihel) [1915308] - net/mlx5e: CT: Remove redundant usage of zone mask (Alaa Hleihel) [1915308] - net/mlx5e: Remove redundant initialization to null (Alaa Hleihel) [1915308] - net/mlx5e: CT: Pass null instead of zero spec (Alaa Hleihel) [1915308] - net/mlx5e: E-Switch, Offload all chain 0 priorities when modify header and forward action is not supported (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, use new cap as condition for mpls over udp (Alaa Hleihel) [1915308] - net/mlx5e: Simplify condition on esw_vport_enable_qos() (Alaa Hleihel) [1915308] - net/mlx5: Add HW definition of reg_c_preserve (Alaa Hleihel) [1915308] - net/mlx5: DR, Move STEv0 modify header logic (Alaa Hleihel) [1915308] - net/mlx5: DR, Add STE modify header actions per-device API (Alaa Hleihel) [1915308] - net/mlx5: DR, Move STEv0 action apply logic (Alaa Hleihel) [1915308] - net/mlx5: DR, Add STE tx/rx actions per-device API (Alaa Hleihel) [1915308] - net/mlx5: DR, Move STEv0 setters and getters (Alaa Hleihel) [1915308] - net/mlx5: DR, Add STE setters and getters per-device API (Alaa Hleihel) [1915308] - net/mlx5: DR, Move action apply logic to dr_ste (Alaa Hleihel) [1915308] - net/mlx5: DR, Refactor ICMP STE builder (Alaa Hleihel) [1915308] - net/mlx5: DR, Move STEv0 look up types from mlx5_ifc_dr header (Alaa Hleihel) [1915308] - net/mlx5: DR, Merge similar DR STE SET macros (Alaa Hleihel) [1915308] - net/mlx5: DR, Fix STEv0 source_eswitch_owner_vhca_id support (Alaa Hleihel) [1915308] - net/mlx5: DR, Remove unused macro definition from dr_ste (Alaa Hleihel) [1915308] - net/mlx5: DR, Move HW STEv0 match logic to a separate file (Alaa Hleihel) [1915308] - net/mlx5: DR, Use the new HW specific STE infrastructure (Alaa Hleihel) [1915308] - net/mlx5: DR, Move macros from dr_ste.c to header (Alaa Hleihel) [1915308] - net/mlx5: DR, Add infrastructure for supporting several steering formats (Alaa Hleihel) [1915308] - ext4: handle read only external journal device (Lukas Czerner) [1860929] - vfio/pci: Handle concurrent vma faults (Alex Williamson) [1976551] - vfio-pci: Use io_remap_pfn_range() for PCI IO memory (Alex Williamson) [1976551] - net: flow_dissector: Parse PTP L2 packet header (Ivan Vecera) [1971687] - net: vlan: Add parse protocol header ops (Ivan Vecera) [1971687] - PCI: hv: Remove bus device removal unused refcount/functions (Mohammed Gamal) [1982482] - PCI: hv: Fix a race condition when removing the device (Mohammed Gamal) [1982482] - RDMA/cxgb4: check for ipv6 address properly while destroying listener (Raju Rangoju) [1961313] - RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening server (Raju Rangoju) [1961313] - RDMA: Convert sysfs device * show functions to use sysfs_emit() (Raju Rangoju) [1961313] - RDMA/iw_cxgb4: Disable delayed ack by default (Raju Rangoju) [1961313] - [infiniband] treewide: Remove uninitialized_var() usage (Raju Rangoju) [1961313] - RDMA/iw_cxgb4: cleanup device debugfs entries on ULD remove (Raju Rangoju) [1961313] - vfs: allow unprivileged whiteout creation (Miklos Szeredi) [1983608] - Documentation: kdump: update kdump guide (Baoquan He) [1938067] - docs: admin-guide: add kdump documentation into it (Baoquan He) [1938067] - docs: kdump: convert docs to ReST and rename to *.rst (Baoquan He) [1938067]- Revert "be2net: disable bh with spin_lock in be_process_mcc" (Petr Oros) [1973504] - nvmet-rdma: Fix NULL deref when SEND is completed with error (Gopal Tiwari) [1959856] - netfilter: nft_exthdr: Search chunks in SCTP packets only (Phil Sutter) [1868228] - netfilter: nft_exthdr: Fix for unsafe packet data read (Phil Sutter) [1868228] - netfilter: nft_exthdr: Support SCTP chunks (Phil Sutter) [1868228] - xfs: fix deadlock retry tracepoint arguments (Bill O'Donnell) [1937116] - xfs: fix xfs_reflink_unshare usage of filemap_write_and_wait_range (Bill O'Donnell) [1937116] - xfs: fix return of uninitialized value in variable error (Bill O'Donnell) [1937116] - xfs: fix scrub and remount-ro protection when running scrub (Bill O'Donnell) [1937116] - xfs: fix xfs_trans slab cache name (Bill O'Donnell) [1937116] - xfs: Fix a typo (Bill O'Donnell) [1937116] - xfs: Rudimentary spelling fix (Bill O'Donnell) [1937116] - xfs: Rudimentary typo fixes (Bill O'Donnell) [1937116] - xfs: fix dquot scrub loop cancellation (Bill O'Donnell) [1937116] - xfs: fix uninitialized variables in xrep_calc_ag_resblks (Bill O'Donnell) [1937116] - xfs: fix incorrect root dquot corruption error when switching group/project quota types (Bill O'Donnell) [1937116] - xfs: fix up build warnings when quotas are disabled (Bill O'Donnell) [1937116] - xfs: fix chown leaking delalloc quota blocks when fssetxattr fails (Bill O'Donnell) [1937116] - xfs: Fix assert failure in xfs_setattr_size() (Bill O'Donnell) [1937116] - xfs: fix an ABBA deadlock in xfs_rename (Bill O'Donnell) [1937116 1966609] - xfs: fix the forward progress assertion in xfs_iwalk_run_callbacks (Bill O'Donnell) [1937116] - xfs: fix parent pointer scrubber bailing out on unallocated inodes (Bill O'Donnell) [1937116] - xfs: revert "xfs: fix rmap key and record comparison functions" (Bill O'Donnell) [1937116] - xfs: don't allow NOWAIT DIO across extent boundaries (Bill O'Donnell) [1937116] - xfs: return corresponding errcode if xfs_initialize_perag() fail (Bill O'Donnell) [1937116] - xfs: ensure inobt record walks always make forward progress (Bill O'Donnell) [1937116] - xfs: fix forkoff miscalculation related to XFS_LITINO(mp) (Bill O'Donnell) [1937116] - xfs: directory scrub should check the null bestfree entries too (Bill O'Donnell) [1937116] - xfs: strengthen rmap record flags checking (Bill O'Donnell) [1937116] - xfs: fix the minrecs logic when dealing with inode root child blocks (Bill O'Donnell) [1937116] - xfs: fix a missing unlock on error in xfs_fs_map_blocks (Bill O'Donnell) [1937116] - xfs: fix brainos in the refcount scrubber's rmap fragment processor (Bill O'Donnell) [1937116] - xfs: fix rmap key and record comparison functions (Bill O'Donnell) [1937116] - xfs: set the unwritten bit in rmap lookup flags in xchk_bmap_get_rmapextents (Bill O'Donnell) [1937116] - xfs: fix flags argument to rmap lookup when converting shared file rmaps (Bill O'Donnell) [1937116] - xfs: only flush the unshared range in xfs_reflink_unshare (Bill O'Donnell) [1937116] - xfs: fix scrub flagging rtinherit even if there is no rt device (Bill O'Donnell) [1937116] - xfs: fix missing CoW blocks writeback conversion retry (Bill O'Donnell) [1937116] - xfs: set xefi_discard when creating a deferred agfl free log intent item (Bill O'Donnell) [1937116] - xfs: cancel intents immediately if process_intents fails (Bill O'Donnell) [1937116] - xfs: fix fallocate functions when rtextsize is larger than 1 (Bill O'Donnell) [1937116] - xfs: fix high key handling in the rt allocator's query_range function (Bill O'Donnell) [1937116] - xfs: annotate grabbing the realtime bitmap/summary locks in growfs (Bill O'Donnell) [1937116] - xfs: make xfs_growfs_rt update secondary superblocks (Bill O'Donnell) [1937116] - xfs: fix realtime bitmap/summary file truncation when growing rt volume (Bill O'Donnell) [1937116] - xfs: fix the indent in xfs_trans_mod_dquot (Bill O'Donnell) [1937116] - xfs: do the ASSERT for the arguments O_{u,g,p}dqpp (Bill O'Donnell) [1937116] - xfs: fix deadlock and streamline xfs_getfsmap performance (Bill O'Donnell) [1937116] - xfs: limit entries returned when counting fsmap records (Bill O'Donnell) [1937116] - xfs: only relog deferred intent items if free space in the log gets low (Bill O'Donnell) [1937116] - xfs: expose the log push threshold (Bill O'Donnell) [1937116] - xfs: periodically relog deferred intent items (Bill O'Donnell) [1937116] - xfs: change the order in which child and parent defer ops are finished (Bill O'Donnell) [1937116] - xfs: fix an incore inode UAF in xfs_bui_recover (Bill O'Donnell) [1937116] - xfs: clean up xfs_bui_item_recover iget/trans_alloc/ilock ordering (Bill O'Donnell) [1937116] - xfs: clean up bmap intent item recovery checking (Bill O'Donnell) [1937116] - xfs: xfs_defer_capture should absorb remaining transaction reservation (Bill O'Donnell) [1937116] - xfs: xfs_defer_capture should absorb remaining block reservations (Bill O'Donnell) [1937116] - xfs: proper replay of deferred ops queued during log recovery (Bill O'Donnell) [1937116] - xfs: remove XFS_LI_RECOVERED (Bill O'Donnell) [1937116] - xfs: remove xfs_defer_reset (Bill O'Donnell) [1937116] - xfs: fix finobt btree block recovery ordering (Bill O'Donnell) [1937116] - xfs: directly call xfs_generic_create() for ->create() and ->mkdir() (Bill O'Donnell) [1937116] - xfs: avoid shared rmap operations for attr fork extents (Bill O'Donnell) [1937116] - xfs: drop the obsolete comment on filestream locking (Bill O'Donnell) [1937116] - xfs: code cleanup in xfs_attr_leaf_entsize_{remote,local} (Bill O'Donnell) [1937116] - xfs: do the assert for all the log done items in xfs_trans_cancel (Bill O'Donnell) [1937116] - xfs: remove the unused parameter id from xfs_qm_dqattach_one (Bill O'Donnell) [1937116] - xfs: remove the redundant crc feature check in xfs_attr3_rmt_verify (Bill O'Donnell) [1937116] - xfs: fix some comments (Bill O'Donnell) [1937116] - xfs: remove the unnecessary xfs_dqid_t type cast (Bill O'Donnell) [1937116] - xfs: use the existing type definition for di_projid (Bill O'Donnell) [1937116] - xfs: remove the unused SYNCHRONIZE macro (Bill O'Donnell) [1937116] - xfs: clean up calculation of LR header blocks (Bill O'Donnell) [1937116] - xfs: avoid LR buffer overrun due to crafted h_len (Bill O'Donnell) [1937116] - xfs: don't release log intent items when recovery fails (Bill O'Donnell) [1937116] - xfs: attach inode to dquot in xfs_bui_item_recover (Bill O'Donnell) [1937116] - xfs: log new intent items created as part of finishing recovered intent items (Bill O'Donnell) [1937116] - xfs: check dabtree node hash values when loading child blocks (Bill O'Donnell) [1937116] - xfs: don't free rt blocks when we're doing a REMAP bunmapi call (Bill O'Donnell) [1937116] - xfs: Set xfs_buf's b_ops member when zeroing bitmap/summary files (Bill O'Donnell) [1937116] - xfs: Set xfs_buf type flag when growing summary/bitmap files (Bill O'Donnell) [1937116] - xfs: drop extra transaction roll from inode extent truncate (Bill O'Donnell) [1937116] - xfs: don't propagate RTINHERIT -> REALTIME when there is no rtdev (Bill O'Donnell) [1937116] - xfs: ensure that fpunch, fcollapse, and finsert operations are aligned to rt extent size (Bill O'Donnell) [1937116] - xfs: refactor inode flags propagation code (Bill O'Donnell) [1937116] - xfs: make sure the rt allocator doesn't run off the end (Bill O'Donnell) [1937116] - xfs: Remove unneeded semicolon (Bill O'Donnell) [1937116] - xfs: force the log after remapping a synchronous-writes file (Bill O'Donnell) [1937116] - xfs: Convert xfs_attr_sf macros to inline functions (Bill O'Donnell) [1937116] - xfs: Use variable-size array for nameval in xfs_attr_sf_entry (Bill O'Donnell) [1937116] - xfs: Remove typedef xfs_attr_shortform_t (Bill O'Donnell) [1937116] - xfs: remove typedef xfs_attr_sf_entry_t (Bill O'Donnell) [1937116] - xfs: Remove kmem_zalloc_large() (Bill O'Donnell) [1937116] - xfs: enable big timestamps (Bill O'Donnell) [1937116] - xfs: trace timestamp limits (Bill O'Donnell) [1937116] - xfs: widen ondisk quota expiration timestamps to handle y2038+ (Bill O'Donnell) [1937116] - xfs: widen ondisk inode timestamps to deal with y2038+ (Bill O'Donnell) [1937116] - xfs: redefine xfs_ictimestamp_t (Bill O'Donnell) [1937116] - xfs: redefine xfs_timestamp_t (Bill O'Donnell) [1937116] - xfs: move xfs_log_dinode_to_disk to the log recovery code (Bill O'Donnell) [1937116] - xfs: refactor quota timestamp coding (Bill O'Donnell) [1937116] - xfs: refactor default quota grace period setting code (Bill O'Donnell) [1937116] - xfs: refactor quota expiration timer modification (Bill O'Donnell) [1937116] - xfs: explicitly define inode timestamp range (Bill O'Donnell) [1937116] - xfs: enable new inode btree counters feature (Bill O'Donnell) [1937116] - xfs: support inode btree blockcounts in online repair (Bill O'Donnell) [1937116] - xfs: support inode btree blockcounts in online scrub (Bill O'Donnell) [1937116] - xfs: use the finobt block counts to speed up mount times (Bill O'Donnell) [1937116] - xfs: store inode btree block counts in AGI header (Bill O'Donnell) [1937116] - xfs: reuse _xfs_buf_read for re-reading the superblock (Bill O'Donnell) [1937116] - xfs: remove xfs_getsb (Bill O'Donnell) [1937116] - xfs: simplify xfs_trans_getsb (Bill O'Donnell) [1937116] - xfs: remove xlog_recover_iodone (Bill O'Donnell) [1937116] - xfs: clear the read/write flags later in xfs_buf_ioend (Bill O'Donnell) [1937116] - xfs: use xfs_buf_item_relse in xfs_buf_item_done (Bill O'Donnell) [1937116] - xfs: simplify the xfs_buf_ioend_disposition calling convention (Bill O'Donnell) [1937116] - xfs: lift the XBF_IOEND_FAIL handling into xfs_buf_ioend_disposition (Bill O'Donnell) [1937116] - xfs: remove xfs_buf_ioerror_retry (Bill O'Donnell) [1937116] - xfs: refactor xfs_buf_ioerror_fail_without_retry (Bill O'Donnell) [1937116] - xfs: fold xfs_buf_ioend_finish into xfs_ioend (Bill O'Donnell) [1937116] - xfs: move the buffer retry logic to xfs_buf.c (Bill O'Donnell) [1937116] - xfs: refactor xfs_buf_ioend (Bill O'Donnell) [1937116] - xfs: mark xfs_buf_ioend static (Bill O'Donnell) [1937116] - xfs: refactor the buf ioend disposition code (Bill O'Donnell) [1937116] - xfs: xfs_iflock is no longer a completion (Bill O'Donnell) [1937116] - xfs: remove kmem_realloc() (Bill O'Donnell) [1937116] - xfs: don't update mtime on COW faults (Bill O'Donnell) [1937116] - xfs: fix xfs_bmap_validate_extent_raw when checking attr fork of rt files (Bill O'Donnell) [1937116] - xfs: initialize the shortform attr header padding entry (Bill O'Donnell) [1937116] - xfs: fix off-by-one in inode alloc block reservation calculation (Bill O'Donnell) [1937116] - xfs: finish dfops on every insert range shift iteration (Bill O'Donnell) [1937116] - xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init (Bill O'Donnell) [1937116] - xfs: delete duplicated words + other fixes (Bill O'Donnell) [1937116] - xfs: Lift -ENOSPC handler from xfs_attr_leaf_addname (Bill O'Donnell) [1937116] - xfs: Simplify xfs_attr_node_addname (Bill O'Donnell) [1937116] - xfs: Simplify xfs_attr_leaf_addname (Bill O'Donnell) [1937116] - xfs: Add helper function xfs_attr_node_removename_rmt (Bill O'Donnell) [1937116] - xfs: Add helper function xfs_attr_node_removename_setup (Bill O'Donnell) [1937116] - xfs: Add remote block helper functions (Bill O'Donnell) [1937116] - xfs: Add helper function xfs_attr_leaf_mark_incomplete (Bill O'Donnell) [1937116] - xfs: Add helpers xfs_attr_is_shortform and xfs_attr_set_shortform (Bill O'Donnell) [1937116] - xfs: Remove xfs_trans_roll in xfs_attr_node_removename (Bill O'Donnell) [1937116] - xfs: Remove unneeded xfs_trans_roll_inode calls (Bill O'Donnell) [1937116] - xfs: Add helper function xfs_attr_node_shrink (Bill O'Donnell) [1937116] - xfs: Pull up xfs_attr_rmtval_invalidate (Bill O'Donnell) [1937116] - xfs: Refactor xfs_attr_rmtval_remove (Bill O'Donnell) [1937116] - xfs: Pull up trans roll in xfs_attr3_leaf_clearflag (Bill O'Donnell) [1937116] - xfs: Factor out xfs_attr_rmtval_invalidate (Bill O'Donnell) [1937116] - xfs: Pull up trans roll from xfs_attr3_leaf_setflag (Bill O'Donnell) [1937116] - xfs: Refactor xfs_attr_try_sf_addname (Bill O'Donnell) [1937116] - xfs: Split apart xfs_attr_leaf_addname (Bill O'Donnell) [1937116] - xfs: Pull up trans handling in xfs_attr3_leaf_flipflags (Bill O'Donnell) [1937116] - xfs: Factor out new helper functions xfs_attr_rmtval_set (Bill O'Donnell) [1937116] - xfs: Check for -ENOATTR or -EEXIST (Bill O'Donnell) [1937116] - xfs: Add xfs_has_attr and subroutines (Bill O'Donnell) [1937116] - xfs: Refactor xfs_da_state_alloc() helper (Bill O'Donnell) [1937116] - xfs: remove xfs_zone_{alloc,zalloc} helpers (Bill O'Donnell) [1937116] - xfs: Modify xlog_ticket_alloc() to use kernel's MM API (Bill O'Donnell) [1937116] - xfs: Remove kmem_zone_zalloc() usage (Bill O'Donnell) [1937116] - xfs: Remove kmem_zone_alloc() usage (Bill O'Donnell) [1937116] - xfs: xfs_btree_staging.h: delete duplicated words (Bill O'Donnell) [1937116] - xfs: rename the ondisk dquot d_flags to d_type (Bill O'Donnell) [1937116] - xfs: improve ondisk dquot flags checking (Bill O'Donnell) [1937116] - xfs: create xfs_dqtype_t to represent quota types (Bill O'Donnell) [1937116] - xfs: replace a few open-coded XFS_DQTYPE_REC_MASK uses (Bill O'Donnell) [1937116] - xfs: remove unnecessary quota type masking (Bill O'Donnell) [1937116] - xfs: always use xfs_dquot_type when extracting type from a dquot (Bill O'Donnell) [1937116] - xfs: refactor quota type testing (Bill O'Donnell) [1937116] - xfs: remove the XFS_QM_IS[UGP]DQ macros (Bill O'Donnell) [1937116] - xfs: refactor testing if a particular dquot is being enforced (Bill O'Donnell) [1937116] - xfs: rename XFS_DQ_{USER,GROUP,PROJ} to XFS_DQTYPE_* (Bill O'Donnell) [1937116] - xfs: drop the type parameter from xfs_dquot_verify (Bill O'Donnell) [1937116] - xfs: add more dquot tracepoints (Bill O'Donnell) [1937116] - xfs: actually bump warning counts when we send warnings (Bill O'Donnell) [1937116] - xfs: assume the default quota limits are always set in xfs_qm_adjust_dqlimits (Bill O'Donnell) [1937116] - xfs: refactor xfs_trans_apply_dquot_deltas (Bill O'Donnell) [1937116] - xfs: refactor xfs_trans_dqresv (Bill O'Donnell) [1937116] - xfs: refactor xfs_qm_scall_setqlim (Bill O'Donnell) [1937116] - xfs: refactor quota exceeded test (Bill O'Donnell) [1937116] - xfs: remove unnecessary arguments from quota adjust functions (Bill O'Donnell) [1937116] - xfs: refactor default quota limits by resource (Bill O'Donnell) [1937116] - xfs: remove qcore from incore dquots (Bill O'Donnell) [1937116] - xfs: stop using q_core timers in the quota code (Bill O'Donnell) [1937116] - xfs: stop using q_core warning counters in the quota code (Bill O'Donnell) [1937116] - xfs: stop using q_core counters in the quota code (Bill O'Donnell) [1937116] - xfs: stop using q_core limits in the quota code (Bill O'Donnell) [1937116] - xfs: use a per-resource struct for incore dquot data (Bill O'Donnell) [1937116] - xfs: stop using q_core.d_id in the quota code (Bill O'Donnell) [1937116] - xfs: stop using q_core.d_flags in the quota code (Bill O'Donnell) [1937116] - xfs: make XFS_DQUOT_CLUSTER_SIZE_FSB part of the ondisk format (Bill O'Donnell) [1937116] - xfs: rename dquot incore state flags (Bill O'Donnell) [1937116] - xfs: refactor quotacheck flags usage (Bill O'Donnell) [1937116] - xfs: move the flags argument of xfs_qm_scall_trunc_qfiles to XFS_QMOPT_* (Bill O'Donnell) [1937116] - xfs: validate ondisk/incore dquot flags (Bill O'Donnell) [1937116] - xfs: fix inode quota reservation checks (Bill O'Donnell) [1937116] - xfs: clear XFS_DQ_FREEING if we can't lock the dquot buffer to flush (Bill O'Donnell) [1937116] - xfs: drain the buf delwri queue before xfsaild idles (Bill O'Donnell) [1937116] - xfs: remove duplicated include from xfs_buf_item.c (Bill O'Donnell) [1937116] - xfs: remove SYNC_WAIT and SYNC_TRYLOCK (Bill O'Donnell) [1937116] - xfs: get rid of unnecessary xfs_perag_{get,put} pairs (Bill O'Donnell) [1937116] - xfs: rtbitmap scrubber should check inode size (Bill O'Donnell) [1937116] - xfs: rtbitmap scrubber should verify written extents (Bill O'Donnell) [1937116] - xfs: remove xfs_inobp_check() (Bill O'Donnell) [1937116] - xfs: factor xfs_iflush_done (Bill O'Donnell) [1937116] - xfs: rework xfs_iflush_cluster() dirty inode iteration (Bill O'Donnell) [1937116] - xfs: rename xfs_iflush_int() (Bill O'Donnell) [1937116] - xfs: xfs_iflush() is no longer necessary (Bill O'Donnell) [1937116] - xfs: attach inodes to the cluster buffer when dirtied (Bill O'Donnell) [1937116] - xfs: rework stale inodes in xfs_ifree_cluster (Bill O'Donnell) [1937116] - xfs: clean up inode reclaim comments (Bill O'Donnell) [1937116] - xfs: remove SYNC_WAIT from xfs_reclaim_inodes() (Bill O'Donnell) [1937116] - xfs: remove SYNC_TRYLOCK from inode reclaim (Bill O'Donnell) [1937116] - xfs: don't block inode reclaim on the ILOCK (Bill O'Donnell) [1937116] - xfs: allow multiple reclaimers per AG (Bill O'Donnell) [1937116] - xfs: remove IO submission from xfs_reclaim_inode() (Bill O'Donnell) [1937116] - xfs: make inode reclaim almost non-blocking (Bill O'Donnell) [1937116] - xfs: pin inode backing buffer to the inode log item (Bill O'Donnell) [1937116] - xfs: move xfs_clear_li_failed out of xfs_ail_delete_one() (Bill O'Donnell) [1937116] - xfs: unwind log item error flagging (Bill O'Donnell) [1937116] - xfs: handle buffer log item IO errors directly (Bill O'Donnell) [1937116] - xfs: get rid of log item callbacks (Bill O'Donnell) [1937116] - xfs: clean up the buffer iodone callback functions (Bill O'Donnell) [1937116] - xfs: use direct calls for dquot IO completion (Bill O'Donnell) [1937116] - xfs: make inode IO completion buffer centric (Bill O'Donnell) [1937116] - xfs: clean up whacky buffer log item list reinit (Bill O'Donnell) [1937116] - xfs: call xfs_buf_iodone directly (Bill O'Donnell) [1937116] - xfs: mark log recovery buffers for completion (Bill O'Donnell) [1937116] - xfs: mark dquot buffers in cache (Bill O'Donnell) [1937116] - xfs: mark inode buffers in cache (Bill O'Donnell) [1937116] - xfs: add an inode item lock (Bill O'Donnell) [1937116] - xfs: remove logged flag from inode log item (Bill O'Donnell) [1937116] - xfs: Don't allow logging of XFS_ISTALE inodes (Bill O'Donnell) [1937116] - xfs: remove useless definitions in xfs_linux.h (Bill O'Donnell) [1937116] - xfs: use MMAPLOCK around filemap_map_pages() (Bill O'Donnell) [1937116] - xfs: move helpers that lock and unlock two inodes against userspace IO (Bill O'Donnell) [1937116] - xfs: refactor locking and unlocking two inodes against userspace IO (Bill O'Donnell) [1937116] - xfs: fix xfs_reflink_remap_prep calling conventions (Bill O'Donnell) [1937116] - xfs: reflink can skip remap existing mappings (Bill O'Donnell) [1937116] - xfs: only reserve quota blocks if we're mapping into a hole (Bill O'Donnell) [1937116] - xfs: only reserve quota blocks for bmbt changes if we're changing the data fork (Bill O'Donnell) [1937116] - xfs: redesign the reflink remap loop to fix blkres depletion crash (Bill O'Donnell) [1937116] - xfs: rename xfs_bmap_is_real_extent to is_written_extent (Bill O'Donnell) [1937116] - xfs: Couple of typo fixes in comments (Bill O'Donnell) [1937116] - xfs: fix use-after-free on CIL context on shutdown (Bill O'Donnell) [1937116] - xfs: flag files as supporting buffered async reads (Bill O'Donnell) [1937116] - fs: add FMODE_BUF_RASYNC (Bill O'Donnell) [1937116] - xfs: more lockdep whackamole with kmem_alloc* (Bill O'Donnell) [1937116 1965923] - xfs: rearrange xfs_inode_walk_ag parameters (Bill O'Donnell) [1937116] - xfs: straighten out all the naming around incore inode tree walks (Bill O'Donnell) [1937116] - xfs: move xfs_inode_ag_iterator to be closer to the perag walking code (Bill O'Donnell) [1937116] - xfs: use bool for done in xfs_inode_ag_walk (Bill O'Donnell) [1937116] - xfs: fix inode ag walk predicate function return values (Bill O'Donnell) [1937116] - xfs: refactor eofb matching into a single helper (Bill O'Donnell) [1937116] - xfs: remove __xfs_icache_free_eofblocks (Bill O'Donnell) [1937116] - xfs: remove flags argument from xfs_inode_ag_walk (Bill O'Donnell) [1937116] - xfs: remove xfs_inode_ag_iterator_flags (Bill O'Donnell) [1937116] - xfs: remove unused xfs_inode_ag_iterator function (Bill O'Donnell) [1937116] - xfs: replace open-coded XFS_ICI_NO_TAG (Bill O'Donnell) [1937116] - xfs: move eofblocks conversion function to xfs_ioctl.c (Bill O'Donnell) [1937116] - xfs: remove the m_active_trans counter (Bill O'Donnell) [1937116] - xfs: separate read-only variables in struct xfs_mount (Bill O'Donnell) [1937116] - xfs: reduce free inode accounting overhead (Bill O'Donnell) [1937116] - xfs: gut error handling in xfs_trans_unreserve_and_mod_sb() (Bill O'Donnell) [1937116] - xfs: cleanup xfs_idestroy_fork (Bill O'Donnell) [1937116] - xfs: move the fork format fields into struct xfs_ifork (Bill O'Donnell) [1937116] - xfs: move the per-fork nextents fields into struct xfs_ifork (Bill O'Donnell) [1937116] - xfs: remove xfs_ifree_local_data (Bill O'Donnell) [1937116] - xfs: remove the XFS_DFORK_Q macro (Bill O'Donnell) [1937116] - xfs: clean up xchk_bmap_check_rmaps usage of XFS_IFORK_Q (Bill O'Donnell) [1937116] - xfs: remove the NULL fork handling in xfs_bmapi_read (Bill O'Donnell) [1937116] - xfs: remove the special COW fork handling in xfs_bmapi_read (Bill O'Donnell) [1937116] - xfs: improve local fork verification (Bill O'Donnell) [1937116] - xfs: refactor xfs_inode_verify_forks (Bill O'Donnell) [1937116] - xfs: remove xfs_ifork_ops (Bill O'Donnell) [1937116] - xfs: remove xfs_iread (Bill O'Donnell) [1937116] - xfs: don't reset i_delayed_blks in xfs_iread (Bill O'Donnell) [1937116] - xfs: call xfs_dinode_verify from xfs_inode_from_disk (Bill O'Donnell) [1937116] - xfs: handle unallocated inodes in xfs_inode_from_disk (Bill O'Donnell) [1937116] - xfs: split xfs_iformat_fork (Bill O'Donnell) [1937116] - xfs: call xfs_iformat_fork from xfs_inode_from_disk (Bill O'Donnell) [1937116] - xfs: xfs_bmapi_read doesn't take a fork id as the last argument (Bill O'Donnell) [1937116] - xfs: fix the warning message in xfs_validate_sb_common() (Bill O'Donnell) [1937116] - xfs: don't allow SWAPEXT if we'd screw up quota accounting (Bill O'Donnell) [1937116] - xfs: use ordered buffers to initialize dquot buffers during quotacheck (Bill O'Donnell) [1937116] - xfs: don't fail verifier on empty attr3 leaf block (Bill O'Donnell) [1937116] - xfs: Use the correct style for SPDX License Identifier (Bill O'Donnell) [1937116] - xfs: Replace zero-length array with flexible-array (Bill O'Donnell) [1937116] - xfs: ensure f_bfree returned by statfs() is non-negative (Bill O'Donnell) [1937116] - xfs: remove duplicate headers (Bill O'Donnell) [1937116] - xfs: fix unused variable warning in buffer completion on !DEBUG (Bill O'Donnell) [1937116] - xfs: remove unnecessary includes from xfs_log_recover.c (Bill O'Donnell) [1937116] - xfs: move log recovery buffer cancellation code to xfs_buf_item_recover.c (Bill O'Donnell) [1937116] - xfs: hoist setting of XFS_LI_RECOVERED to caller (Bill O'Donnell) [1937116] - xfs: refactor intent item iop_recover calls (Bill O'Donnell) [1937116] - xfs: refactor intent item RECOVERED flag into the log item (Bill O'Donnell) [1937116] - xfs: refactor adding recovered intent items to the log (Bill O'Donnell) [1937116] - xfs: refactor releasing finished intents during log recovery (Bill O'Donnell) [1937116] - xfs: refactor xlog_item_is_intent now that we're done converting (Bill O'Donnell) [1937116] - xfs: refactor recovered BUI log item playback (Bill O'Donnell) [1937116] - xfs: refactor recovered CUI log item playback (Bill O'Donnell) [1937116] - xfs: refactor recovered RUI log item playback (Bill O'Donnell) [1937116] - xfs: refactor recovered EFI log item playback (Bill O'Donnell) [1937116] - xfs: remove log recovery quotaoff item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery BUI item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery CUI item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery RUI item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery EFI item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery icreate item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery dquot item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery inode item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery buffer item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery item dispatch for pass1 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery item dispatch for pass2 readhead functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery item sorting into a generic dispatch structure (Bill O'Donnell) [1937116] - xfs: convert xfs_log_recover_item_t to struct xfs_log_recover_item (Bill O'Donnell) [1937116] - xfs: remove unused iget_flags param from xfs_imap_to_bp() (Bill O'Donnell) [1937116] - xfs: remove unused shutdown types (Bill O'Donnell) [1937116] - xfs: random buffer write failure errortag (Bill O'Donnell) [1937116] - xfs: remove unused iflush stale parameter (Bill O'Donnell) [1937116] - xfs: combine xfs_trans_ail_[remove|delete]() (Bill O'Donnell) [1937116] - xfs: drop unused shutdown parameter from xfs_trans_ail_remove() (Bill O'Donnell) [1937116] - xfs: use delete helper for items expected to be in AIL (Bill O'Donnell) [1937116] - xfs: acquire ->ail_lock from xfs_trans_ail_delete() (Bill O'Donnell) [1937116] - xfs: abort consistently on dquot flush failure (Bill O'Donnell) [1937116] - xfs: ratelimit unmount time per-buffer I/O error alert (Bill O'Donnell) [1937116] - xfs: refactor ratelimited buffer error messages into helper (Bill O'Donnell) [1937116] - xfs: reset buffer write failure state on successful completion (Bill O'Donnell) [1937116] - xfs: remove unnecessary shutdown check from xfs_iflush() (Bill O'Donnell) [1937116] - xfs: simplify inode flush error handling (Bill O'Donnell) [1937116] - xfs: factor out buffer I/O failure code (Bill O'Donnell) [1937116] - xfs: refactor failed buffer resubmission into xfsaild (Bill O'Donnell) [1937116] - xfs: spell out the parameter name for ->cancel_item (Bill O'Donnell) [1937116] - xfs: use a xfs_btree_cur for the ->finish_cleanup state (Bill O'Donnell) [1937116] - xfs: turn dfp_done into a xfs_log_item (Bill O'Donnell) [1937116] - xfs: refactor xfs_defer_finish_noroll (Bill O'Donnell) [1937116] - xfs: turn dfp_intent into a xfs_log_item (Bill O'Donnell) [1937116] - xfs: merge the ->diff_items defer op into ->create_intent (Bill O'Donnell) [1937116] - xfs: merge the ->log_item defer op into ->create_intent (Bill O'Donnell) [1937116] - xfs: factor out a xfs_defer_create_intent helper (Bill O'Donnell) [1937116] - xfs: remove the xfs_inode_log_item_t typedef (Bill O'Donnell) [1937116] - xfs: remove the xfs_efd_log_item_t typedef (Bill O'Donnell) [1937116] - xfs: remove the xfs_efi_log_item_t typedef (Bill O'Donnell) [1937116] - xfs: refactor xlog_recover_buffer_pass1 (Bill O'Donnell) [1937116] - xfs: simplify xlog_recover_inode_ra_pass2 (Bill O'Donnell) [1937116] - xfs: factor out a xlog_buf_readahead helper (Bill O'Donnell) [1937116] - xfs: rename inode_list xlog_recover_reorder_trans (Bill O'Donnell) [1937116] - xfs: refactor the buffer cancellation table helpers (Bill O'Donnell) [1937116] - xfs: define printk_once variants for xfs messages (Bill O'Donnell) [1937116] - xfs: stop CONFIG_XFS_DEBUG from changing compiler flags (Bill O'Donnell) [1937116] - xfs: remove unnecessary check of the variable resblks in xfs_symlink (Bill O'Donnell) [1937116] - xfs: simplify the flags setting in xfs_qm_scall_quotaon (Bill O'Donnell) [1937116] - xfs: remove unnecessary assertion from xfs_qm_vop_create_dqattach (Bill O'Donnell) [1937116] - xfs: remove unnecessary variable udqp from xfs_ioctl_setattr (Bill O'Donnell) [1937116] - xfs: reserve quota inode transaction space only when needed (Bill O'Donnell) [1937116] - xfs: combine two if statements with same condition (Bill O'Donnell) [1937116] - xfs: trace quota allocations for all quota types (Bill O'Donnell) [1937116] - xfs: report unrecognized log item type codes during recovery (Bill O'Donnell) [1937116] - xfs: move inode flush to the sync workqueue (Bill O'Donnell) [1937116] - xfs: fix partially uninitialized structure in xfs_reflink_remap_extent (Bill O'Donnell) [1937116] - xfs: fix inode number overflow in ifree cluster helper (Bill O'Donnell) [1937116] - xfs: remove redundant variable assignment in xfs_symlink() (Bill O'Donnell) [1937116] - xfs: ratelimit inode flush on buffered write ENOSPC (Bill O'Donnell) [1937116] - xfs: return locked status of inode buffer on xfsaild push (Bill O'Donnell) [1937116] - xfs: trylock underlying buffer on dquot flush (Bill O'Donnell) [1937116] - xfs: remove unnecessary ternary from xfs_create (Bill O'Donnell) [1937116] - xfs: don't write a corrupt unmount record to force summary counter recalc (Bill O'Donnell) [1937116] - xfs: factor inode lookup from xfs_ifree_cluster (Bill O'Donnell) [1937116] - xfs: tail updates only need to occur when LSN changes (Bill O'Donnell) [1937116] - xfs: factor common AIL item deletion code (Bill O'Donnell) [1937116] - xfs: correctly acount for reclaimable slabs (Bill O'Donnell) [1937116] - xfs: Improve metadata buffer reclaim accountability (Bill O'Donnell) [1937116] - xfs: don't allow log IO to be throttled (Bill O'Donnell) [1937116] - xfs: Throttle commits on delayed background CIL push (Bill O'Donnell) [1937116] - xfs: Lower CIL flush limit for large logs (Bill O'Donnell) [1937116] - xfs: remove some stale comments from the log code (Bill O'Donnell) [1937116] - xfs: refactor unmount record writing (Bill O'Donnell) [1937116] - xfs: merge xlog_commit_record with xlog_write_done (Bill O'Donnell) [1937116] - xfs: split xlog_ticket_done (Bill O'Donnell) [1937116] - xfs: kill XLOG_TIC_INITED (Bill O'Donnell) [1937116] - xfs: refactor and split xfs_log_done() (Bill O'Donnell) [1937116] - xfs: re-order initial space accounting checks in xlog_write (Bill O'Donnell) [1937116] - xfs: don't try to write a start record into every iclog (Bill O'Donnell) [1937116] - xfs: validate the realtime geometry in xfs_validate_sb_common (Bill O'Donnell) [1937116] - xfs: shutdown on failure to add page to log bio (Bill O'Donnell) [1937116] - xfs: directory bestfree check should release buffers (Bill O'Donnell) [1937116] - xfs: drop all altpath buffers at the end of the sibling check (Bill O'Donnell) [1937116] - xfs: remove xlog_state_want_sync (Bill O'Donnell) [1937116] - xfs: move the ioerror check out of xlog_state_clean_iclog (Bill O'Donnell) [1937116] - xfs: refactor xlog_state_clean_iclog (Bill O'Donnell) [1937116] - xfs: remove the aborted parameter to xlog_state_done_syncing (Bill O'Donnell) [1937116] - xfs: simplify log shutdown checking in xfs_log_release_iclog (Bill O'Donnell) [1937116] - xfs: simplify the xfs_log_release_iclog calling convention (Bill O'Donnell) [1937116] - xfs: factor out a xlog_wait_on_iclog helper (Bill O'Donnell) [1937116] - xfs: merge xlog_cil_push into xlog_cil_push_work (Bill O'Donnell) [1937116] - xfs: remove the di_version field from struct icdinode (Bill O'Donnell) [1937116] - xfs: simplify a check in xfs_ioctl_setattr_check_cowextsize (Bill O'Donnell) [1937116] - xfs: simplify di_flags2 inheritance in xfs_ialloc (Bill O'Donnell) [1937116] - xfs: only check the superblock version for dinode size calculation (Bill O'Donnell) [1937116] - xfs: add a new xfs_sb_version_has_v3inode helper (Bill O'Donnell) [1937116] - xfs: add support for rmap btree staging cursors (Bill O'Donnell) [1937116] - xfs: add support for refcount btree staging cursors (Bill O'Donnell) [1937116] - xfs: add support for inode btree staging cursors (Bill O'Donnell) [1937116] - xfs: add support for free space btree staging cursors (Bill O'Donnell) [1937116] - xfs: support bulk loading of staged btrees (Bill O'Donnell) [1937116] - xfs: introduce fake roots for inode-rooted btrees (Bill O'Donnell) [1937116] - xfs: introduce fake roots for ag-rooted btrees (Bill O'Donnell) [1937116] - xfs: replace open-coded bitmap weight logic (Bill O'Donnell) [1937116] - xfs: rename xfs_bitmap to xbitmap (Bill O'Donnell) [1937116] - xfs: xrep_reap_extents should not destroy the bitmap (Bill O'Donnell) [1937116] - xfs: cleanup xfs_log_unmount_write (Bill O'Donnell) [1937116] - xfs: remove dead code from xfs_log_unmount_write (Bill O'Donnell) [1937116] - xfs: remove the unused return value from xfs_log_unmount_write (Bill O'Donnell) [1937116] - xfs: remove the unused XLOG_UNMOUNT_REC_TYPE define (Bill O'Donnell) [1937116] - xfs: mark XLOG_FORCED_SHUTDOWN as unlikely (Bill O'Donnell) [1937116] - xfs: make the btree ag cursor private union anonymous (Bill O'Donnell) [1937116] - xfs: make the btree cursor union members named structure (Bill O'Donnell) [1937116] - xfs: make btree cursor private union anonymous (Bill O'Donnell) [1937116] - xfs: rename btree cursor private btree member flags (Bill O'Donnell) [1937116] - xfs: convert btree cursor inode-private member names (Bill O'Donnell) [1937116] - xfs: convert btree cursor ag-private member name (Bill O'Donnell) [1937116] - xfs: introduce new private btree cursor names (Bill O'Donnell) [1937116] - xfs: Use scnprintf() for avoiding potential buffer overflow (Bill O'Donnell) [1937116] - xfs: mark extended attr corrupt when lookup-by-hash fails (Bill O'Donnell) [1937116] - xfs: mark dir corrupt when lookup-by-hash fails (Bill O'Donnell) [1937116] - xfs: check owner of dir3 blocks (Bill O'Donnell) [1937116] - xfs: check owner of dir3 data blocks (Bill O'Donnell) [1937116] - xfs: check owner of dir3 free blocks (Bill O'Donnell) [1937116] - xfs: fix buffer corruption reporting when xfs_dir3_free_header_check fails (Bill O'Donnell) [1937116] - xfs: xfs_buf_corruption_error should take __this_address (Bill O'Donnell) [1937116] - xfs: add a function to deal with corrupt buffers post-verifiers (Bill O'Donnell) [1937116] - xfs: remove XFS_BUF_TO_SBP (Bill O'Donnell) [1937116] - xfs: remove XFS_BUF_TO_AGF (Bill O'Donnell) [1937116] - xfs: remove XFS_BUF_TO_AGI (Bill O'Donnell) [1937116] - xfs: remove the xfs_agfl_t typedef (Bill O'Donnell) [1937116] - xfs: remove the agfl_bno member from struct xfs_agfl (Bill O'Donnell) [1937116] - xfs: switch xfs_attrmulti_attr_get to lazy attr buffer allocation (Bill O'Donnell) [1937116] - xfs: only allocate the buffer size actually needed in __xfs_set_acl (Bill O'Donnell) [1937116] - xfs: clean up bufsize alignment in xfs_ioc_attr_list (Bill O'Donnell) [1937116] - xfs: embedded the attrlist cursor into struct xfs_attr_list_context (Bill O'Donnell) [1937116] - xfs: remove XFS_DA_OP_INCOMPLETE (Bill O'Donnell) [1937116] - xfs: clean up the attr flag confusion (Bill O'Donnell) [1937116] - xfs: clean up the ATTR_REPLACE checks (Bill O'Donnell) [1937116] - xfs: improve xfs_forget_acl (Bill O'Donnell) [1937116] - xfs: lift cursor copy in/out into xfs_ioc_attr_list (Bill O'Donnell) [1937116] - xfs: lift buffer allocation into xfs_ioc_attr_list (Bill O'Donnell) [1937116] - xfs: lift common checks into xfs_ioc_attr_list (Bill O'Donnell) [1937116] - xfs: rename xfs_attr_list_int to xfs_attr_list (Bill O'Donnell) [1937116] - xfs: move the legacy xfs_attr_list to xfs_ioctl.c (Bill O'Donnell) [1937116] - xfs: open code ATTR_ENTSIZE (Bill O'Donnell) [1937116] - xfs: remove the unused ATTR_ENTRY macro (Bill O'Donnell) [1937116] - xfs: cleanup struct xfs_attr_list_context (Bill O'Donnell) [1937116] - xfs: factor out a xfs_attr_match helper (Bill O'Donnell) [1937116] - xfs: replace ATTR_KERNOTIME with XFS_DA_OP_NOTIME (Bill O'Donnell) [1937116] - xfs: remove ATTR_ALLOC and XFS_DA_OP_ALLOCVAL (Bill O'Donnell) [1937116] - xfs: remove ATTR_KERNOVAL (Bill O'Donnell) [1937116] - xfs: remove the xfs_inode argument to xfs_attr_get_ilocked (Bill O'Donnell) [1937116] - xfs: pass an initialized xfs_da_args to xfs_attr_get (Bill O'Donnell) [1937116] - xfs: pass an initialized xfs_da_args structure to xfs_attr_set (Bill O'Donnell) [1937116] - xfs: turn xfs_da_args.value into a void pointer (Bill O'Donnell) [1937116] - xfs: remove the MAXNAMELEN check from xfs_attr_args_init (Bill O'Donnell) [1937116] - xfs: remove the name == NULL check from xfs_attr_args_init (Bill O'Donnell) [1937116] - xfs: factor out a helper for a single XFS_IOC_ATTRMULTI_BY_HANDLE op (Bill O'Donnell) [1937116] - xfs: use strndup_user in XFS_IOC_ATTRMULTI_BY_HANDLE (Bill O'Donnell) [1937116] - xfs: merge xfs_attrmulti_attr_remove into xfs_attrmulti_attr_set (Bill O'Donnell) [1937116] - xfs: merge xfs_attr_remove into xfs_attr_set (Bill O'Donnell) [1937116] - xfs: remove the ATTR_INCOMPLETE flag (Bill O'Donnell) [1937116] - xfs: reject invalid flags combinations in XFS_IOC_ATTRLIST_BY_HANDLE (Bill O'Donnell) [1937116] - xfs: rework collapse range into an atomic operation (Bill O'Donnell) [1937116] - xfs: rework insert range into an atomic operation (Bill O'Donnell) [1937116] - xfs: open code insert range extent split helper (Bill O'Donnell) [1937116] - xfs: Add missing annotation to xfs_ail_check() (Bill O'Donnell) [1937116] - xfs: fix an undefined behaviour in _da3_path_shift (Bill O'Donnell) [1937116] - xfs: ratelimit xfs_discard_page messages (Bill O'Donnell) [1937116] - xfs: ratelimit xfs_buf_ioerror_alert messages (Bill O'Donnell) [1937116] - xfs: remove the kuid/kgid conversion wrappers (Bill O'Donnell) [1937116] - xfs: remove the icdinode di_uid/di_gid members (Bill O'Donnell) [1937116] - xfs: ensure that the inode uid/gid match values match the icdinode ones (Bill O'Donnell) [1937116] - xfs: improve error message when we can't allocate memory for xfs_buf (Bill O'Donnell) [1937116] - ceph: fix test for whether we can skip read when writing beyond EOF (Jeff Layton) [1971101] - redhat/configs: Add CONFIG_X86_SGX_KVM (Bandan Das) [1494649] - KVM: x86: Fix implicit enum conversion goof in scattered reverse CPUID code (Bandan Das) [1494649] - KVM: x86: Add capability to grant VM access to privileged SGX attribute (Bandan Das) [1494649] - KVM: VMX: Enable SGX virtualization for SGX1, SGX2 and LC (Bandan Das) [1494649] - KVM: VMX: Add ENCLS[EINIT] handler to support SGX Launch Control (LC) (Bandan Das) [1494649] - KVM: VMX: Add emulation of SGX Launch Control LE hash MSRs (Bandan Das) [1494649] - KVM: VMX: Add SGX ENCLS[ECREATE] handler to enforce CPUID restrictions (Bandan Das) [1494649] - KVM: VMX: Frame in ENCLS handler for SGX virtualization (Bandan Das) [1494649] - KVM: VMX: Add basic handling of VM-Exit from SGX enclave (Bandan Das) [1494649] - KVM: x86: Add reverse-CPUID lookup support for scattered SGX features (Bandan Das) [1494649] - KVM: x86: Add support for reverse CPUID lookup of scattered features (Bandan Das) [1494649] - KVM: x86: Define new #PF SGX error code bit (Bandan Das) [1494649] - KVM: x86: Export kvm_mmu_gva_to_gpa_{read,write}() for SGX (VMX) (Bandan Das) [1494649] - x86/sgx: Mark sgx_vepc_vm_ops static (Bandan Das) [1494649] - x86/sgx: Do not update sgx_nr_free_pages in sgx_setup_epc_section() (Bandan Das) [1494649] - x86/sgx: Move provisioning device creation out of SGX driver (Bandan Das) [1494649] - x86/sgx: Add helpers to expose ECREATE and EINIT to KVM (Bandan Das) [1494649] - x86/sgx: Add helper to update SGX_LEPUBKEYHASHn MSRs (Bandan Das) [1494649] - x86/sgx: Add encls_faulted() helper (Bandan Das) [1494649] - x86/sgx: Add SGX2 ENCLS leaf definitions (EAUG, EMODPR and EMODT) (Bandan Das) [1494649] - x86/sgx: Move ENCLS leaf definitions to sgx.h (Bandan Das) [1494649] - x86/sgx: Expose SGX architectural definitions to the kernel (Bandan Das) [1494649] - x86/sgx: Initialize virtual EPC driver even when SGX driver is disabled (Bandan Das) [1494649] - x86/cpu/intel: Allow SGX virtualization without Launch Control support (Bandan Das) [1494649] - x86/sgx: Introduce virtual EPC for use by KVM guests (Bandan Das) [1494649] - x86/sgx: Add SGX_CHILD_PRESENT hardware error code (Bandan Das) [1494649] - x86/sgx: Wipe out EREMOVE from sgx_free_epc_page() (Bandan Das) [1494649] - x86/cpufeatures: Add SGX1 and SGX2 sub-features (Bandan Das) [1494649] - x86/cpufeatures: Make SGX_LC feature bit depend on SGX bit (Bandan Das) [1494649] - x86/sgx: Remove unnecessary kmap() from sgx_ioc_enclave_init() (Bandan Das) [1494649] - selftests/sgx: Use getauxval() to simplify test code (Bandan Das) [1494649] - selftests/sgx: Improve error detection and messages (Bandan Das) [1494649] - x86/sgx: Add a basic NUMA allocation scheme to sgx_alloc_epc_page() (Bandan Das) [1494649] - x86/sgx: Replace section->init_laundry_list with sgx_dirty_page_list (Bandan Das) [1494649] - x86/sgx: Maintain encl->refcount for each encl->mm_list entry (Bandan Das) [1494649] - MAINTAINERS: Add Dave Hansen as reviewer for INTEL SGX (Bandan Das) [1494649] - x86/NUMA: Provide a range-to-target_node lookup facility (Bandan Das) [1494649] - x86/mm: Introduce CONFIG_NUMA_KEEP_MEMINFO (Bandan Das) [1494649] - configs: Enable CONFIG_MLXBF_GIGE on aarch64 (Alaa Hleihel) [1803489] - Add Mellanox BlueField Gigabit Ethernet driver (Alaa Hleihel) [1803489] - integrity: Use current_uid() in integrity_audit_message() (Richard Guy Briggs) [1957052] - ima: AppArmor satisfies the audit rule requirements (Richard Guy Briggs) [1957052] - IMA: Add audit log for failure conditions (Richard Guy Briggs) [1957052] - integrity: Add errno field in audit message (Richard Guy Briggs) [1957052] - audit: add blank line after variable declarations (Richard Guy Briggs) [1957052] - audit: drop /proc/PID/loginuid documentation Format field (Richard Guy Briggs) [1957052] - audit: avoid -Wempty-body warning (Richard Guy Briggs) [1957052] - audit: document /proc/PID/sessionid (Richard Guy Briggs) [1957052] - audit: document /proc/PID/loginuid (Richard Guy Briggs) [1957052] - MAINTAINERS: update audit files (Richard Guy Briggs) [1957052] - audit: further cleanup of AUDIT_FILTER_ENTRY deprecation (Richard Guy Briggs) [1957052] - netfilter: nftables: fix a warning message in nf_tables_commit_audit_collect() (Richard Guy Briggs) [1957052] - audit: log nftables configuration change events once per table (Richard Guy Briggs) [1957052] - audit_alloc_mark(): don't open-code ERR_CAST() (Richard Guy Briggs) [1957052] - make dump_common_audit_data() safe to be called from RCU pathwalk (Richard Guy Briggs) [1957052] - new helper: d_find_alias_rcu() (Richard Guy Briggs) [1957052] - audit: Make audit_filter_syscall() return void (Richard Guy Briggs) [1957052] - audit: Remove leftover reference to the audit_tasklet (Richard Guy Briggs) [1957052] - kernel/audit: convert comma to semicolon (Richard Guy Briggs) [1957052] - dump_common_audit_data(): fix racy accesses to ->d_name (Richard Guy Briggs) [1957052] - audit: replace atomic_add_return() (Richard Guy Briggs) [1957052] - x86/audit: Fix a -Wmissing-prototypes warning for ia32_classify_syscall() (Richard Guy Briggs) [1957052] - ethtool: fix kdoc attr name (Ivan Vecera) [1967261] - ethtool: Remove link_mode param and derive link params from driver (Ivan Vecera) [1967261] - ethtool: Add lanes parameter for ETHTOOL_LINK_MODE_10000baseR_FEC_BIT (Ivan Vecera) [1967261] - ethtool: fix kdoc in headers (Ivan Vecera) [1967261] - ethtool: document reserved fields in the uAPI (Ivan Vecera) [1967261] - ethtool: un-kdocify extended link state (Ivan Vecera) [1967261] - ethtool: document PHY tunable callbacks (Ivan Vecera) [1967261] - docs: ethtool: fix some copy-paste errors (Ivan Vecera) [1967261] - ethtool: fix incorrect datatype in set_eee ops (Ivan Vecera) [1967261] - net: selftests: Add lanes setting test (Ivan Vecera) [1967261] - mlxsw: ethtool: Pass link mode in use to ethtool (Ivan Vecera) [1967261] - mlxsw: ethtool: Add support for setting lanes when autoneg is off (Ivan Vecera) [1967261] - mlxsw: ethtool: Remove max lanes filtering (Ivan Vecera) [1967261] - ethtool: Expose the number of lanes in use (Ivan Vecera) [1967261] - ethtool: Get link mode in use instead of speed and duplex parameters (Ivan Vecera) [1967261] - ethtool: prepare __ethtool_get_link_ksettings for subsequent changes (Ivan Vecera) [1967261] - ethtool: Extend link modes settings uAPI with lanes (Ivan Vecera) [1967261] - ethtool: Validate master slave configuration before rtnl_lock() (Ivan Vecera) [1967261] - ethtool: fix string set id check (Ivan Vecera) [1967261] - ethtool: fix stack overflow in ethnl_parse_bitset() (Ivan Vecera) [1967261] - selftests: add ring and coalesce selftests (Ivan Vecera) [1967261] - selftests: refactor get_netdev_name function (Ivan Vecera) [1967261] - selftests: extract common functions in ethtool-common.sh (Ivan Vecera) [1967261] - netdevsim: support ethtool ring and coalesce settings (Ivan Vecera) [1967261] - netdevsim: move ethtool pause params in separate struct (Ivan Vecera) [1967261] - ethtool: add ETHTOOL_COALESCE_ALL_PARAMS define (Ivan Vecera) [1967261] - ethtool: netlink: add missing netdev_features_change() call (Ivan Vecera) [1967261] - ethtool: remove unneeded semicolon (Ivan Vecera) [1967261] - ethtool: allow netdev driver to define phy tunables (Ivan Vecera) [1967261] - ethtool: mark netlink family as __ro_after_init (Ivan Vecera) [1967261] - ethtool: Add 100base-FX link mode entries (Ivan Vecera) [1967261] - ethtool: fix error handling in ethtool_phys_id (Ivan Vecera) [1967261] - ethtool: allow flow-type ether without IP protocol field (Ivan Vecera) [1967261] - net: phy: Uninline PHY ethtool statistics operations (Ivan Vecera) [1967261] - net: phy: Define PHY statistics ethtool_phy_ops (Ivan Vecera) [1967261] - net: ethtool: Remove PHYLIB direct dependency (Ivan Vecera) [1967261] - net: phy: Register ethtool PHY operations (Ivan Vecera) [1967261] - genksyms: Ignore module scoped _Static_assert() (Ivan Vecera) [1967261] - net: ethtool: Introduce ethtool_phy_ops (Ivan Vecera) [1967261] - Documentation: networking: fix ethtool-netlink table formats (Ivan Vecera) [1967261] - ethtool: ioctl: Use array_size() in copy_to_user() (Ivan Vecera) [1967261] - net: ethtool: cabletest: Make ethnl_act_cable_test_tdr_cfg static (Ivan Vecera) [1967261] - SUNRPC: Handle major timeout in xprt_adjust_timeout() (Scott Mayhew) [1979070] - gro_cells: reduce number of synchronize_net() calls (Ivan Vecera) [1959015] - net: make sure napi_list is safe for RCU traversal (Ivan Vecera) [1959015] - net: manage napi add/del idempotence explicitly (Ivan Vecera) [1959015] - net: remove napi_hash_del() from driver-facing API (Ivan Vecera) [1959015] - net: disable netpoll on fresh napis (Ivan Vecera) [1959015] - usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled (Torez Smith) [1942772] - xhci: Fix 5.12 regression of missing xHC cache clearing command after a Stall (Torez Smith) [1942772] - xhci: fix giving back URB with incorrect status regression in 5.12 (Torez Smith) [1942772] - usb: typec: ucsi: Clear pending after acking connector change (Torez Smith) [1942772] - net: hso: check for allocation failure in hso_create_bulk_serial_device() (Torez Smith) [1942772] - usb: typec: tcpm: Fix wrong handling in GET_SINK_CAP (Torez Smith) [1942772] - net: hso: fix NULL-deref on disconnect regression (Torez Smith) [1942772] - USB: CDC-ACM: fix poison/unpoison imbalance (Torez Smith) [1942772] - usbip: vudc: fix missing unlock on error in usbip_sockfd_store() (Torez Smith) [1942772] - usb: xhci-mtk: improve bandwidth scheduling with TT (Torez Smith) [1942772] - usb: xhci-mtk: remove or operator for setting schedule parameters (Torez Smith) [1942772] - usb: typec: tcpm: Wait for vbus discharge to VSAFE0V before toggling (Torez Smith) [1942772] - software node: Provide replacement for device_add_properties() (Torez Smith) [1942772] - driver core: platform: Reimplement devm_platform_ioremap_resource (Torez Smith) [1942772] - USB: usblp: initialize newChannel (Torez Smith) [1942772] - net: hso: fix null-ptr-deref during tty device unregistration (Torez Smith) [1942772] - usbip: synchronize event handler with sysfs code paths (Torez Smith) [1942772] - usbip: vudc synchronize sysfs code paths (Torez Smith) [1942772] - usbip: stub-dev synchronize sysfs code paths (Torez Smith) [1942772] - usbip: add sysfs_lock to synchronize sysfs code paths (Torez Smith) [1942772] - drivers: net: fix memory leak in peak_usb_create_dev (Torez Smith) [1942772] - thunderbolt: Fix off by one in tb_port_find_retimer() (Torez Smith) [1942772] - thunderbolt: Fix a leak in tb_retimer_add() (Torez Smith) [1942772] - usb: dwc2: Prevent core suspend when port connection flag is 0 (Torez Smith) [1942772] - usb: dwc2: Fix HPRT0.PrtSusp bit setting for HiKey 960 board. (Torez Smith) [1942772] - usb: xhci-mtk: fix broken streams issue on 0.96 xHCI (Torez Smith) [1942772] - usbip: vhci_hcd fix shift out-of-bounds in vhci_hub_control() (Torez Smith) [1942772] - USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem (Torez Smith) [1942772] - USB: cdc-acm: do not log successful probe on later errors (Torez Smith) [1942772] - USB: cdc-acm: always claim data interface (Torez Smith) [1942772] - USB: cdc-acm: use negation for NULL checks (Torez Smith) [1942772] - USB: cdc-acm: clean up probe error labels (Torez Smith) [1942772] - USB: cdc-acm: drop redundant driver-data reset (Torez Smith) [1942772] - USB: cdc-acm: drop redundant driver-data assignment (Torez Smith) [1942772] - USB: cdc-acm: fix use-after-free after probe failure (Torez Smith) [1942772] - USB: cdc-acm: fix double free on probe failure (Torez Smith) [1942772] - USB: cdc-acm: downgrade message to debug (Torez Smith) [1942772] - USB: cdc-acm: untangle a circular dependency between callback and softint (Torez Smith) [1942772] - cdc-acm: fix BREAK rx code path adding necessary calls (Torez Smith) [1942772] - usb: dwc3: pci: Enable dis_uX_susphy_quirk for Intel Merrifield (Torez Smith) [1942772] - usb: dwc3: qcom: skip interconnect init for ACPI probe (Torez Smith) [1942772] - can: peak_usb: Revert "can: peak_usb: add forgotten supported devices" (Torez Smith) [1942772] - r8152: limit the RX buffer size of RTL8153A for USB 2.0 (Torez Smith) [1942772] - net: cdc-phonet: fix data-interface release on probe failure (Torez Smith) [1942772] - usb: typec: tcpm: Skip sink_cap query only when VDM sm is busy (Torez Smith) [1942772] - usb: typec: tcpm: Invoke power_supply_changed for tcpm-source-psy- (Torez Smith) [1942772] - usb: typec: Remove vdo[3] part of tps6598x_rx_identity_reg struct (Torez Smith) [1942772] - usb-storage: Add quirk to defeat Kindle's automatic unload (Torez Smith) [1942772] - usbip: Fix incorrect double assignment to udc->ud.tcp_rx (Torez Smith) [1942772] - can: kvaser_usb: Add support for USBcan Pro 4xHS (Torez Smith) [1942772] - can: peak_usb: add forgotten supported devices (Torez Smith) [1942772] - xhci: Fix repeated xhci wake after suspend due to uncleared internal wake state (Torez Smith) [1942772] - usb: xhci: Fix ASMedia ASM1042A and ASM3242 DMA addressing (Torez Smith) [1942772] - xhci: Improve detection of device initiated wake signal. (Torez Smith) [1942772] - usb: xhci: do not perform Soft Retry for some xHCI hosts (Torez Smith) [1942772] - usbip: fix vudc usbip_sockfd_store races leading to gpf (Torez Smith) [1942772] - usbip: fix vhci_hcd attach_store() races leading to gpf (Torez Smith) [1942772] - usbip: fix stub_dev usbip_sockfd_store() races leading to gpf (Torez Smith) [1942772] - usbip: fix vudc to check for stream socket (Torez Smith) [1942772] - usbip: fix vhci_hcd to check for stream socket (Torez Smith) [1942772] - usbip: fix stub_dev to check for stream socket (Torez Smith) [1942772] - USB: usblp: fix a hang in poll() if disconnected (Torez Smith) [1942772] - usb: dwc3: qcom: Add missing DWC3 OF node refcount decrement (Torez Smith) [1942772] - usb: dwc3: qcom: Honor wakeup enabled/disabled state (Torez Smith) [1942772] - usb: dwc3: qcom: add ACPI device id for sc8180x (Torez Smith) [1942772] - Goodix Fingerprint device is not a modem (Torez Smith) [1942772] - USB: serial: io_edgeport: fix memory leak in edge_startup (Torez Smith) [1942772] - USB: serial: ch341: add new Product ID (Torez Smith) [1942772] - USB: serial: cp210x: add some more GE USB IDs (Torez Smith) [1942772] - USB: serial: cp210x: add ID for Acuity Brands nLight Air Adapter (Torez Smith) [1942772] - net: usb: log errors to dmesg/syslog (Torez Smith) [1942772] - net: usb: cdc_ncm: emit dev_err on error paths (Torez Smith) [1942772] - thunderbolt: Increase runtime PM reference count on DP tunnel discovery (Torez Smith) [1942772] - thunderbolt: Initialize HopID IDAs in tb_switch_alloc() (Torez Smith) [1942772] - net: usb: qmi_wwan: allow qmimux add/del with master up (Torez Smith) [1942772] - Revert "r8152: adjust the settings about MAC clock speed down for RTL8153" (Torez Smith) [1942772] - net: usb: qmi_wwan: support ZTE P685M modem (Torez Smith) [1942772] - r8152: spilt rtl_set_eee_plus and r8153b_green_en (Torez Smith) [1942772] - r8152: replace netif_err with dev_err (Torez Smith) [1942772] - r8152: check if the pointer of the function exists (Torez Smith) [1942772] - r8152: enable U1/U2 for USB_SPEED_SUPER (Torez Smith) [1942772] - usb: misc: usb3503: Fix logic in usb3503_init() (Torez Smith) [1942772] - usb: Replace lkml.org links with lore (Torez Smith) [1942772] - usb: quirks: add quirk to start video capture on ELMO L-12F document camera reliable (Torez Smith) [1942772] - USB: quirks: sort quirk entries (Torez Smith) [1942772] - USB: serial: drop bogus to_usb_serial_port() checks (Torez Smith) [1942772] - USB: serial: drop if with an always false condition (Torez Smith) [1942772] - usb: typec: tcpm: Get Sink VDO from fwnode (Torez Smith) [1942772] - dt-bindings: connector: Add SVDM VDO properties (Torez Smith) [1942772] - usb: typec: displayport: Fill the negotiated SVDM Version in the header (Torez Smith) [1942772] - usb: typec: ucsi: Determine common SVDM Version (Torez Smith) [1942772] - usb: typec: tcpm: Determine common SVDM Version (Torez Smith) [1942772] - usb: pd: Make SVDM Version configurable in VDM header (Torez Smith) [1942772] - usb: typec: Manage SVDM version (Torez Smith) [1942772] - usb: dwc3: gadget: Fix dep->interval for fullspeed interrupt (Torez Smith) [1942772] - usb: dwc3: gadget: Fix setting of DEPCFG.bInterval_m1 (Torez Smith) [1942772] - USB: serial: option: update interface mapping for ZTE P685M (Torez Smith) [1942772] - usb: dwc3: gadget: Track connected SSP rate and lane count (Torez Smith) [1942772] - usb: dwc3: gadget: Implement setting of SSP rate (Torez Smith) [1942772] - usb: dwc3: core: Check maximum_speed SSP genXxY (Torez Smith) [1942772] - usb: common: Parse for USB SSP genXxY (Torez Smith) [1942772] - usb: dwc2: Fix endpoint direction check in ep_from_windex (Torez Smith) [1942772] - usb: dwc3: fix clock issue during resume in OTG mode (Torez Smith) [1942772] - xhci: ext-caps: Use software node API with the properties (Torez Smith) [1942772] - usb: dwc3: host: Use software node API with the properties (Torez Smith) [1942772] - r8152: replace several functions about phy patch request (Torez Smith) [1942772] - usb: dwc3: qcom: Constify the software node (Torez Smith) [1942772] - usb: dwc3: haps: Constify the software node (Torez Smith) [1942772] - usb: dwc2: pci: Drop the empty quirk function (Torez Smith) [1942772] - thunderbolt: Add support for native USB4 _OSC (Torez Smith) [1942772] - thunderbolt: Allow disabling XDomain protocol (Torez Smith) [1942772] - thunderbolt: Add support for PCIe tunneling disabled (SL5) (Torez Smith) [1942772] - thunderbolt: dma_test: Drop unnecessary include (Torez Smith) [1942772] - thunderbolt: Add clarifying comments about USB4 terms router and adapter (Torez Smith) [1942772] - thunderbolt: switch: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - thunderbolt: nhi: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - thunderbolt: path: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - thunderbolt: eeprom: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - thunderbolt: ctl: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - usb: pd: Reland VDO definitions of PD2.0 (Torez Smith) [1942772] - NET: usb: qmi_wwan: Adding support for Cinterion MV31 (Torez Smith) [1942772] - usb: pd: Update VDO definitions (Torez Smith) [1942772] - xhci: fix bounce buffer usage for non-sg list case (Torez Smith) [1942772] - usb: xhci-mtk: break loop when find the endpoint to drop (Torez Smith) [1942772] - usb: typec: Return void in typec_partner_set_pd_revision (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Enable data path when partner is USB Comm capable (Torez Smith) [1942772] - usb: typec: tcpci: Add Callback to Usb Communication capable partner (Torez Smith) [1942772] - usb: typec: tcpm: Add Callback to Usb Communication capable partner (Torez Smith) [1942772] - usb: typec: tcpm: Set in_ams flag when Source caps have been received (Torez Smith) [1942772] - usb: typec: tcpm: Handle vbus shutoff when in source mode (Torez Smith) [1942772] - usb: typec: Add typec_partner_set_pd_revision (Torez Smith) [1942772] - usb: typec: Provide PD Specification Revision for cable and partner (Torez Smith) [1942772] - usb: typec: Standardize PD Revision format with Type-C Revision (Torez Smith) [1942772] - usb: xhci-mtk: skip dropping bandwidth of unchecked endpoints (Torez Smith) [1942772] - USB: serial: ftdi_sio: restore divisor-encoding comments (Torez Smith) [1942772] - USB: serial: ftdi_sio: fix FTX sub-integer prescaler (Torez Smith) [1942772] - USB: serial: cp210x: clean up auto-RTS handling (Torez Smith) [1942772] - USB: serial: cp210x: fix RTS handling (Torez Smith) [1942772] - USB: serial: cp210x: clean up printk zero padding (Torez Smith) [1942772] - USB: serial: cp210x: clean up flow-control debug message (Torez Smith) [1942772] - USB: serial: cp210x: drop shift macros (Torez Smith) [1942772] - USB: serial: cp210x: fix modem-control handling (Torez Smith) [1942772] - USB: serial: cp210x: suppress modem-control errors (Torez Smith) [1942772] - xhci: handle halting transfer event properly after endpoint stop and halt raced. (Torez Smith) [1942772] - xhci: Check for pending reset endpoint command before queueing a new one. (Torez Smith) [1942772] - xhci: remove obsolete dequeue pointer moving code (Torez Smith) [1942772] - xhci: introduce a new move_dequeue_past_td() function to replace old code. (Torez Smith) [1942772] - xhci: handle stop endpoint command completion with endpoint in running state. (Torez Smith) [1942772] - xhci: Fix halted endpoint at stop endpoint command completion (Torez Smith) [1942772] - xhci: split handling halted endpoints into two steps (Torez Smith) [1942772] - xhci: move and rename xhci_cleanup_halted_endpoint() (Torez Smith) [1942772] - xhci: turn cancelled td cleanup to its own function (Torez Smith) [1942772] - xhci: store TD status in the td struct instead of passing it along (Torez Smith) [1942772] - xhci: use xhci_td_cleanup() helper when giving back cancelled URBs (Torez Smith) [1942772] - xhci: move xhci_td_cleanup so it can be called by more functions (Torez Smith) [1942772] - xhci: Add xhci_reset_halted_ep() helper function (Torez Smith) [1942772] - xhci: flush endpoint start to reduce race risk with stop endpoint command. (Torez Smith) [1942772] - xhci: Check link TRBs when updating ring enqueue and dequeue pointers. (Torez Smith) [1942772] - xhci: avoid DMA double fetch when reading event trb type. (Torez Smith) [1942772] - xhci: remove extra loop in interrupt context (Torez Smith) [1942772] - xhci: check slot_id is valid before gathering slot info (Torez Smith) [1942772] - xhci: prevent a theoretical endless loop while preparing rings. (Torez Smith) [1942772] - xhci: remove xhci_stream_id_to_ring() helper (Torez Smith) [1942772] - xhci: add xhci_virt_ep_to_ring() helper (Torez Smith) [1942772] - xhci: check virt_dev is valid before dereferencing it (Torez Smith) [1942772] - xhci: add xhci_get_virt_ep() helper (Torez Smith) [1942772] - xhci: remove unused event parameter from completion handlers (Torez Smith) [1942772] - xhci: adjust parameters passed to cleanup_halted_endpoint() (Torez Smith) [1942772] - xhci: get isochronous ring directly from endpoint structure (Torez Smith) [1942772] - xhci: Avoid parsing transfer events several times (Torez Smith) [1942772] - net: qmi_wwan: Add pass through mode (Torez Smith) [1942772] - net: usb: qmi_wwan: add qmap id sysfs file for qmimux interfaces (Torez Smith) [1942772] - net: usb: cdc_ether: added support for Thales Cinterion PLSx3 modem family. (Torez Smith) [1942772] - thunderbolt: Fix possible NULL pointer dereference in tb_acpi_add_link() (Torez Smith) [1942772] - thunderbolt: switch: Fix function name in the header (Torez Smith) [1942772] - thunderbolt: tunnel: Fix misspelling of 'receive_path' (Torez Smith) [1942772] - thunderbolt: icm: Fix a couple of formatting issues (Torez Smith) [1942772] - thunderbolt: switch: Demote a bunch of non-conformant kernel-doc headers (Torez Smith) [1942772] - thunderbolt: tb: Kernel-doc function headers should document their parameters (Torez Smith) [1942772] - thunderbolt: nhi: Demote some non-conformant kernel-doc headers (Torez Smith) [1942772] - thunderbolt: xdomain: Fix 'tb_unregister_service_driver()'s 'drv' param (Torez Smith) [1942772] - thunderbolt: eeprom: Demote non-conformant kernel-doc headers to standard comment blocks (Torez Smith) [1942772] - USB: serial: mos7720: fix error code in mos7720_write() (Torez Smith) [1942772] - thunderbolt: ctl: Demote non-conformant kernel-doc headers (Torez Smith) [1942772] - thunderbolt: cap: Fix kernel-doc formatting issue (Torez Smith) [1942772] - thunderbolt: dma_port: Check 'dma_port_flash_write_block()'s return value (Torez Smith) [1942772] - USB: serial: option: Adding support for Cinterion MV31 (Torez Smith) [1942772] - can: mcba_usb: remove h from printk format specifier (Torez Smith) [1942772] - usbnet: fix the indentation of one code snippet (Torez Smith) [1942772] - usb: usb251xb: Use of_device_get_match_data() (Torez Smith) [1942772] - usb: dwc2: Make "trimming xfer length" a debug message (Torez Smith) [1942772] - usb: dwc2: Abort transaction after errors with unknown reason (Torez Smith) [1942772] - usb: dwc2: Do not update data length if it is 0 on inbound transfers (Torez Smith) [1942772] - usb: xhci-mtk: fix unreleased bandwidth data (Torez Smith) [1942772] - USB: serial: mos7840: fix error code in mos7840_write() (Torez Smith) [1942772] - USB: usblp: don't call usb_set_interface if there's a single alt (Torez Smith) [1942772] - USB: serial: cp210x: add pid/vid for WSDA-200-USB (Torez Smith) [1942772] - usb: typec: tcpci_maxim: add terminating newlines to logging (Torez Smith) [1942772] - usb: typec: tcpci_maxim: remove redundant assignment (Torez Smith) [1942772] - usb: typec: tcpm: Create legacy PDOs for PD2 connection (Torez Smith) [1942772] - net: usb: qmi_wwan: added support for Thales Cinterion PLSx3 modem family (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Drop GPIO includes (Torez Smith) [1942772] - usb: typec: tcpm: Respond Wait if VDM state machine is running (Torez Smith) [1942772] - usb: typec: tcpm: Protocol Error handling (Torez Smith) [1942772] - usb: typec: tcpm: AMS and Collision Avoidance (Torez Smith) [1942772] - net: usb: cdc_ncm: don't spew notifications (Torez Smith) [1942772] - usb: typec: ucsi: Add conditional dependency on USB role switch (Torez Smith) [1942772] - usb: ch9: Add USB 3.2 SSP attributes (Torez Smith) [1942772] - USB: serial: f81232: drop short control-transfer checks (Torez Smith) [1942772] - USB: serial: io_ti: fix a debug-message copy-paste error (Torez Smith) [1942772] - USB: serial: io_ti: drop short control-transfer check (Torez Smith) [1942772] - USB: serial: upd78f0730: drop short control-transfer check (Torez Smith) [1942772] - USB: serial: cp210x: add copyright notice (Torez Smith) [1942772] - USB: serial: cp210x: drop unused includes (Torez Smith) [1942772] - USB: serial: cp210x: drop short control-transfer checks (Torez Smith) [1942772] - USB: serial: cp210x: update control-characters on every change (Torez Smith) [1942772] - USB: serial: cp210x: set IXOFF thresholds (Torez Smith) [1942772] - USB: serial: cp210x: add support for software flow control (Torez Smith) [1942772] - USB: serial: pl2303: fix line-speed handling on newer chips (Torez Smith) [1942772] - xhci: tegra: Delay for disabling LFPS detector (Torez Smith) [1942772] - xhci: make sure TRB is fully written before giving it to the controller (Torez Smith) [1942772] - usb: dwc3: qcom: add URS Host support for sdm845 ACPI boot (Torez Smith) [1942772] - usb: dwc3: pci: add support for the Intel Alder Lake-P (Torez Smith) [1942772] - usb: dwc3: pci: ID for Tiger Lake CPU (Torez Smith) [1942772] - usb: dwc3: pci: Register a software node for the dwc3 platform device (Torez Smith) [1942772] - thunderbolt: Add support for de-authorizing devices (Torez Smith) [1942772] - nt: usb: USB_RTL8153_ECM should not default to y (Torez Smith) [1942772] - USB: dwc3: document gadget_max_speed (Torez Smith) [1942772] - usb: dwc3: gadget: Disable Vendor Test LMP Received event (Torez Smith) [1942772] - USB: serial: cp210x: add new VID/PID for supporting Teraoka AD2000 (Torez Smith) [1942772] - r8153_ecm: Add Lenovo Powered USB-C Hub as a fallback of r8152 (Torez Smith) [1942772] - r8152: Add Lenovo Powered USB-C Travel Hub (Torez Smith) [1942772] - USB: ehci: fix an interrupt calltrace error (Torez Smith) [1942772] - ehci: fix EHCI host controller initialization sequence (Torez Smith) [1942772] - usb: typec: ucsi: Add support for USB role switch (Torez Smith) [1942772] - usb: dwc2: disable Link Power Management on STM32MP15 HS OTG (Torez Smith) [1942772] - usb: dwc2: enable FS/LS PHY clock select on STM32MP15 FS OTG (Torez Smith) [1942772] - usb: dwc2: set ahbcfg parameter for STM32MP15 OTG HS and FS (Torez Smith) [1942772] - usb: dwc3: Simplify with dev_err_probe() (Torez Smith) [1942772] - usb: dwc3: keystone: Simplify with dev_err_probe() (Torez Smith) [1942772] - usb: dwc3: core: Replace devm_reset_control_array_get() (Torez Smith) [1942772] - USB: serial: mos7720: improve OOM-handling in read_mos_reg() (Torez Smith) [1942772] - rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request (Torez Smith) [1942772] - thunderbolt: Start lane initialization after sleep (Torez Smith) [1942772] - thunderbolt: Constify static attribute_group structs (Torez Smith) [1942772] - qmi_wwan: Increase headroom for QMAP SKBs (Torez Smith) [1942772] - usb: usbip: Use DEFINE_SPINLOCK() for spinlock (Torez Smith) [1942772] - usb: dwc3: gadget: Clear wait flag on dequeue (Torez Smith) [1942772] - usb: typec: Send uevent for num_altmodes update (Torez Smith) [1942772] - usb: typec: Fix copy paste error for NVIDIA alt-mode description (Torez Smith) [1942772] - kcov, usb: hide in_serving_softirq checks in __usb_hcd_giveback_urb (Torez Smith) [1942772] - thunderbolt: Drop duplicated 0x prefix from format string (Torez Smith) [1942772] - net: cdc_ncm: correct overhead in delayed_ndp_size (Torez Smith) [1942772] - net: usb: Use DEFINE_SPINLOCK() for spinlock (Torez Smith) [1942772] - usb: uas: Add PNY USB Portable SSD to unusual_uas (Torez Smith) [1942772] - net: usb: qmi_wwan: add Quectel EM160R-GL (Torez Smith) [1942772] - usb: usbip: vhci_hcd: protect shift size (Torez Smith) [1942772] - USB: usblp: fix DMA to stack (Torez Smith) [1942772] - usb: dwc3: gadget: Preserve UDC max speed setting (Torez Smith) [1942772] - usb: dwc3: gadget: Allow runtime suspend if UDC unbinded (Torez Smith) [1942772] - usb: dwc3: gadget: Introduce a DWC3 VBUS draw callback (Torez Smith) [1942772] - usb: dwc3: add imx8mp dwc3 glue layer driver (Torez Smith) [1942772] - USB: serial: iuu_phoenix: fix DMA from stack (Torez Smith) [1942772] - USB: serial: option: add LongSung M5710 module support (Torez Smith) [1942772] - USB: serial: option: add Quectel EM160R-GL (Torez Smith) [1942772] - CDC-NCM: remove "connected" log message (Torez Smith) [1942772] - usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression (Torez Smith) [1942772] - usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one (Torez Smith) [1942772] - usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion (Torez Smith) [1942772] - usb: dwc3: drd: Improve dwc3_get_extcon() style (Torez Smith) [1942772] - usb: dwc3: drd: Avoid error when extcon is missing (Torez Smith) [1942772] - USB: usbtmc: Bump USBTMC_API_VERSION value (Torez Smith) [1942772] - USB: usbtmc: Add separate USBTMC_IOCTL_GET_SRQ_STB (Torez Smith) [1942772] - USB: usbtmc: Add USBTMC_IOCTL_GET_STB (Torez Smith) [1942772] - USB: usbtmc: Fix reading stale status byte (Torez Smith) [1942772] - kcov, usbip: collect coverage from vhci_rx_loop (Torez Smith) [1942772] - USB: yurex: fix control-URB timeout handling (Torez Smith) [1942772] - usb: dwc3: meson-g12a: disable clk on error handling path in probe (Torez Smith) [1942772] - USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set (Torez Smith) [1942772] - usb: typec: intel_pmc_mux: Configure HPD first for HPD+IRQ request (Torez Smith) [1942772] - USB: cdc-wdm: Fix use after free in service_outstanding_interrupt(). (Torez Smith) [1942772] - USB: cdc-acm: blacklist another IR Droid device (Torez Smith) [1942772] - thunderbolt: Use kmemdup instead of kzalloc and memcpy (Torez Smith) [1942772] - usb: ucsi: convert comma to semicolon (Torez Smith) [1942772] - usb: typec: tcpm: convert comma to semicolon (Torez Smith) [1942772] - usb: typec: tcpm: Update vbus_vsafe0v on init (Torez Smith) [1942772] - usb: typec: tcpci: Enable bleed discharge when auto discharge is enabled (Torez Smith) [1942772] - usb: typec: Add class for plug alt mode device (Torez Smith) [1942772] - USB: typec: tcpci: Add Bleed discharge to POWER_CONTROL definition (Torez Smith) [1942772] - USB: typec: tcpm: Add a 30ms room for tPSSourceOn in PR_SWAP (Torez Smith) [1942772] - USB: typec: tcpm: Fix PR_SWAP error handling (Torez Smith) [1942772] - USB: typec: tcpm: Hard Reset after not receiving a Request (Torez Smith) [1942772] - usb: typec: intel_pmc_mux: Configure cable generation value for USB4 (Torez Smith) [1942772] - net: usb: convert comma to semicolon (Torez Smith) [1942772] - USB: UAS: introduce a quirk to set no_write_same (Torez Smith) [1942772] - USB: serial: ftdi_sio: log the CBUS GPIO validity (Torez Smith) [1942772] - USB: serial: ftdi_sio: drop GPIO line checking dead code (Torez Smith) [1942772] - USB: serial: ftdi_sio: report the valid GPIO lines to gpiolib (Torez Smith) [1942772] - drivers: usb: atm: use atm_info() instead of atm_printk(KERN_INFO ... (Torez Smith) [1942772] - drivers: usb: atm: reduce noise (Torez Smith) [1942772] - USB: serial: option: add interface-number sanity check to flag handling (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Enable VSAFE0V signalling (Torez Smith) [1942772] - usb: typec: tcpci: Add support to report vSafe0V (Torez Smith) [1942772] - usb: typec: tcpm: Introduce vsafe0v for vbus (Torez Smith) [1942772] - usb: typec: tcpm: Clear send_discover in tcpm_check_send_discover (Torez Smith) [1942772] - usb: typec: tcpm: Pass down negotiated rev to update retry count (Torez Smith) [1942772] - usb: typec: intel_pmc_mux: Use correct response message bits (Torez Smith) [1942772] - xhci: Give USB2 ports time to enter U3 in bus suspend (Torez Smith) [1942772] - xhci-pci: Allow host runtime PM as default for Intel Maple Ridge xHCI (Torez Smith) [1942772] - xhci-pci: Allow host runtime PM as default for Intel Alpine Ridge LP (Torez Smith) [1942772] - usb: xhci: Use temporary buffer to consolidate SG (Torez Smith) [1942772] - usb: xhci: Set quirk for XHCI_SG_TRB_CACHE_SIZE_QUIRK (Torez Smith) [1942772] - USB: legotower: fix logical error in recent commit (Torez Smith) [1942772] - USB: legousbtower: use usb_control_msg_recv() (Torez Smith) [1942772] - USB: add RESET_RESUME quirk for Snapscan 1212 (Torez Smith) [1942772] - usb: typec: tps6598x: Export some power supply properties (Torez Smith) [1942772] - usb: typec: tps6598x: Select USB_ROLE_SWITCH and REGMAP_I2C (Torez Smith) [1942772] - USB: core: drop pipe-type check from new control-message helpers (Torez Smith) [1942772] - USB: core: return -EREMOTEIO on short usb_control_msg_recv() (Torez Smith) [1942772] - USB: core: drop short-transfer check from usb_control_msg_send() (Torez Smith) [1942772] - USB: apple-mfi-fastcharge: Fix use after free in probe (Torez Smith) [1942772] - Revert "usb-storage: fix sdev->host->dma_dev" (Torez Smith) [1942772] - Revert "uas: fix sdev->host->dma_dev" (Torez Smith) [1942772] - Revert "uas: bump hw_max_sectors to 2048 blocks for SS or faster drives" (Torez Smith) [1942772] - USB: serial: cp210x: clean up dtr_rts() (Torez Smith) [1942772] - USB: serial: cp210x: refactor flow-control handling (Torez Smith) [1942772] - USB: serial: cp210x: drop flow-control debugging (Torez Smith) [1942772] - USB: serial: cp210x: set terminal settings on open (Torez Smith) [1942772] - USB: serial: cp210x: clean up line-control handling (Torez Smith) [1942772] - USB: serial: cp210x: return early on unchanged termios (Torez Smith) [1942772] - USB: serial: kl5kusb105: fix memleak on open (Torez Smith) [1942772] - USB: serial: ch341: sort device-id entries (Torez Smith) [1942772] - USB: serial: ch341: add new Product ID for CH341A (Torez Smith) [1942772] - USB: serial: option: fix Quectel BG96 matching (Torez Smith) [1942772] - can: pcan_usb_core: fix fall-through warnings for Clang (Torez Smith) [1942772] - usb: typec: stusb160x: fix power-opmode property with typec-power-opmode (Torez Smith) [1942772] - USB: serial: option: add support for Thales Cinterion EXS82 (Torez Smith) [1942772] - usb: typec: Add type sysfs attribute file for partners (Torez Smith) [1942772] - usb: common: ulpi: Constify static attribute_group struct (Torez Smith) [1942772] - usb: typec: Constify static attribute_group structs (Torez Smith) [1942772] - USB: core: Constify static attribute_group structs (Torez Smith) [1942772] - usb: typec: tcpm: Stay in SNK_TRY_WAIT_DEBOUNCE_CHECK_VBUS till Rp is seen (Torez Smith) [1942772] - usb: typec: tcpm: Disregard vbus off while in PR_SWAP_SNK_SRC_SOURCE_ON (Torez Smith) [1942772] - usb: typec: Expose Product Type VDOs via sysfs (Torez Smith) [1942772] - usb: pd: DFP product types (Torez Smith) [1942772] - usb: Fix fall-through warnings for Clang (Torez Smith) [1942772] - usbnet: ipheth: fix connectivity with iOS 14 (Torez Smith) [1942772] - USB: core: Change pK for __user pointers to px (Torez Smith) [1942772] - USB: core: Fix regression in Hercules audio card (Torez Smith) [1942772] - USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card (Torez Smith) [1942772] - can: kvaser_usb: Add new Kvaser hydra devices (Torez Smith) [1942772] - can: kvaser_usb: kvaser_usb_hydra: Add support for new device variant (Torez Smith) [1942772] - can: kvaser_usb: Add new Kvaser Leaf v2 devices (Torez Smith) [1942772] - can: kvaser_usb: Add USB_{LEAF,HYDRA}_PRODUCT_ID_END defines (Torez Smith) [1942772] - USB: serial: option: add Fibocom NL668 variants (Torez Smith) [1942772] - usb: typec: Fix num_altmodes kernel-doc error (Torez Smith) [1942772] - r8153_ecm: avoid to be prior to r8152 driver (Torez Smith) [1942772] - net: usb: qmi_wwan: Set DTR quirk for MR400 (Torez Smith) [1942772] - usb: typec: Add plug num_altmodes sysfs attr (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Fix the compatible string (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Fix uninitialized return variable (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Enable auto discharge disconnect (Torez Smith) [1942772] - usb: typec: tcpci: Implement Auto discharge disconnect callbacks (Torez Smith) [1942772] - usb: typec: tcpm: Implement enabling Auto Discharge disconnect support (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Fix vbus stuck on upon diconnecting sink (Torez Smith) [1942772] - usb: typec: tcpci: frs sourcing vbus callback (Torez Smith) [1942772] - usb: typec: tcpm: frs sourcing vbus callback (Torez Smith) [1942772] - usb: typec: tcpm: Refactor logic for new-source-frs-typec-current (Torez Smith) [1942772] - usb: typec: Add number of altmodes partner attr (Torez Smith) [1942772] - usb: pd: Add captive Type C cable type (Torez Smith) [1942772] - USB: apple-mfi-fastcharge: Fix kfree after failed kzalloc (Torez Smith) [1942772] - usb: typec: Remove one bit support for the Thunderbolt rounded/non-rounded cable (Torez Smith) [1942772] - usb: typec: intel_pmc_mux: Configure Thunderbolt cable generation bits (Torez Smith) [1942772] - usb: typec: Correct the bit values for the Thunderbolt rounded/non-rounded cable support (Torez Smith) [1942772] - can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits (Torez Smith) [1942772] - cx82310_eth: fix error return code in cx82310_bind() (Torez Smith) [1942772] - usb: typec: qcom-pmic-typec: fix builtin build errors (Torez Smith) [1942772] - can: peak_usb: fix potential integer overflow on shift of a int (Torez Smith) [1942772] - can: mcba_usb: mcba_usb_start_xmit(): first fill skb, then pass to can_put_echo_skb() (Torez Smith) [1942772] - usb: hcd.h: Remove RUN_CONTEXT (Torez Smith) [1942772] - USB: storage: avoid use of uninitialized values in error path (Torez Smith) [1942772] - usb: fix a few cases of -Wfallthrough (Torez Smith) [1942772] - usbnet: switch to core handling of rx/tx byte/packet counters (Torez Smith) [1942772] - qmi_wwan: switch to core handling of rx/tx byte/packet counters (Torez Smith) [1942772] - net: usb: fix spelling typo in cdc_ncm.c (Torez Smith) [1942772] - usb: typec: ucsi: Work around PPM losing change information (Torez Smith) [1942772] - usb: typec: ucsi: acpi: Always decode connector change information (Torez Smith) [1942772] - net/usb/r8153_ecm: support ECM mode for RTL8153 (Torez Smith) [1942772] - USB: serial: mos7720: fix parallel-port state restore (Torez Smith) [1942772] - USB: serial: remove write wait queue (Torez Smith) [1942772] - USB: serial: digi_acceleport: fix write-wakeup deadlocks (Torez Smith) [1942772] - USB: serial: keyspan_pda: drop redundant usb-serial pointer (Torez Smith) [1942772] - USB: serial: keyspan_pda: use BIT() macro (Torez Smith) [1942772] - USB: serial: keyspan_pda: add write-fifo support (Torez Smith) [1942772] - USB: serial: keyspan_pda: increase transmitter threshold (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix write implementation (Torez Smith) [1942772] - USB: serial: keyspan_pda: refactor write-room handling (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix write unthrottling (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix tx-unthrottle use-after-free (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix write-wakeup use-after-free (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix stalled writes (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix write deadlock (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix dropped unthrottle interrupts (Torez Smith) [1942772] - net: usb: r8152: Fix a couple of spelling errors in fw_phy_nc's docs (Torez Smith) [1942772] - net: usb: lan78xx: Remove lots of set but unused 'ret' variables (Torez Smith) [1942772] - net: usb: r8152: Provide missing documentation for some struct members (Torez Smith) [1942772] - can: peak_usb: peak_usb_get_ts_time(): fix timestamp wrapping (Torez Smith) [1942772] - can: peak_usb: add range checking in decode operations (Torez Smith) [1942772] - net: usb: qmi_wwan: add Telit LE910Cx 0x1230 composition (Torez Smith) [1942772] - kcov, usb: only collect coverage from __usb_hcd_giveback_urb in softirq (Torez Smith) [1942772] - dt-bindings: connector: Add property to set initial current cap for FRS (Torez Smith) [1942772] - usb: xhci: Remove in_interrupt() checks (Torez Smith) [1942772] - usbip: Remove in_interrupt() check (Torez Smith) [1942772] - usb: core: Replace in_interrupt() in comments (Torez Smith) [1942772] - usb: atm: Replace in_interrupt() usage in comment (Torez Smith) [1942772] - USB: sisusbvga: Make console support depend on BROKEN (Torez Smith) [1942772] - usb: host: xhci-mem: remove unneeded break (Torez Smith) [1942772] - usb: storage: freecom: remove unneeded break (Torez Smith) [1942772] - usb: misc: iowarrior: remove unneeded break (Torez Smith) [1942772] - usb: host: ehci-sched: add comment about find_tt() not returning error (Torez Smith) [1942772] - usb: dwc3: ep0: Fix delay status handling (Torez Smith) [1942772] - USB: serial: iuu_phoenix: remove unneeded break (Torez Smith) [1942772] - USB: serial: digi_acceleport: remove in_interrupt() usage (Torez Smith) [1942772] - usb: dwc3: pci: add support for the Intel Alder Lake-S (Torez Smith) [1942772] - net: usb: rtl8150: don't incorrectly assign random MAC addresses (Torez Smith) [1942772] - net: usbnet: use new function dev_fetch_sw_netstats (Torez Smith) [1942772] - net: usb: qmi_wwan: use new function dev_fetch_sw_netstats (Torez Smith) [1942772] - cx82310_eth: use netdev_err instead of dev_err (Torez Smith) [1942772] - cx82310_eth: re-enable ethernet mode after router reboot (Torez Smith) [1942772] - net: usbnet: remove driver version (Torez Smith) [1942772] - net: usb: qmi_wwan: add Cellient MPL200 card (Torez Smith) [1942772] - usbip: vhci_hcd: fix calling usb_hcd_giveback_urb() with irqs enabled (Torez Smith) [1942772] - net: usb: rtl8150: set random MAC address when set_ethernet_addr() fails (Torez Smith) [1942772] - usbnet: Use fallthrough pseudo-keyword (Torez Smith) [1942772] - net/smscx5xx: change to of_get_mac_address() eth_platform_get_mac_address() (Torez Smith) [1942772] - net: usb: pegasus: Proper error handing when setting pegasus' MAC address (Torez Smith) [1942772] - usb: dwc3: gadget: Support up to max stream id (Torez Smith) [1942772] - usb: dwc2: Fix INTR OUT transfers in DDMA mode. (Torez Smith) [1942772] - usb: dwc3: of-simple: Add compatible string for Intel Keem Bay platform (Torez Smith) [1942772] - net: rtl8150: Use the new usb control message API. (Torez Smith) [1942772] - net: pegasus: Use the new usb control message API. (Torez Smith) [1942772] - usb: dwc3: gadget: Return early if no TRB update (Torez Smith) [1942772] - usb: dwc3: gadget: Keep TRBs in request order (Torez Smith) [1942772] - usb: dwc3: gadget: Revise setting IOC when no TRB left (Torez Smith) [1942772] - usb: dwc3: gadget: Look ahead when setting IOC (Torez Smith) [1942772] - usb: dwc3: gadget: Allow restarting a transfer (Torez Smith) [1942772] - usb: dwc3: Stop active transfers before halting the controller (Torez Smith) [1942772] - usb: dwc3: gadget: Rename misleading function names (Torez Smith) [1942772] - usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor preparing last TRBs (Torez Smith) [1942772] - usb: dwc3: gadget: Set IOC if not enough for extra TRBs (Torez Smith) [1942772] - usb: dwc3: gadget: Check for number of TRBs prepared (Torez Smith) [1942772] - usb: dwc3: gadget: Return the number of prepared TRBs (Torez Smith) [1942772] - usb: dwc3: ep0: Fix ZLP for OUT ep0 requests (Torez Smith) [1942772] - usb: dwc3: gadget: Improve TRB ZLP setup (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor preparing extra TRB (Torez Smith) [1942772] - usb: dwc3: gadget: Reclaim extra TRBs after request completion (Torez Smith) [1942772] - usb: dwc3: gadget: Check MPS of the request length (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor ep command completion (Torez Smith) [1942772] - usb: dwc3: allocate gadget structure dynamically (Torez Smith) [1942772] - usb: dwc3: core: add phy cleanup for probe error handling (Torez Smith) [1942772] - usb: dwc3: core: don't trigger runtime pm when remove driver (Torez Smith) [1942772] - usb: dwc3: debugfs: do not queue work if try to change mode on non-drd (Torez Smith) [1942772] - usb: dwc3: pci: Allow Elkhart Lake to utilize DSM method for PM functionality (Torez Smith) [1942772] - usb: dwc2: add support for APM82181 USB OTG (Torez Smith) [1942772] - usb: dwc-meson-g12a: Add support for USB on AXG SoCs (Torez Smith) [1942772] - usb: dwc3: gadget: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: core: do not queue work if dr_mode is not USB_DR_MODE_OTG (Torez Smith) [1942772] - usb: dwc3: debugfs: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: qcom: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: ep0: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: core: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: debug: fix checkpatch warning (Torez Smith) [1942772] - usb: dwc3: trace: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: ulpi: fix checkpatch warning (Torez Smith) [1942772] - usb: dwc3: meson: fix checkpatch errors and warnings (Torez Smith) [1942772] - usb: dwc3: debug: fix sparse warning (Torez Smith) [1942772] - usb: dwc3: meson: fix coccinelle WARNING (Torez Smith) [1942772] - usb: dwc3: qcom: Add interconnect support in dwc3 driver (Torez Smith) [1942772] - net: usb: net1080: Remove in_interrupt() comment (Torez Smith) [1942772] - net: usb: kaweth: Remove last user of kaweth_control() (Torez Smith) [1942772] - net: usb: kaweth: Replace kaweth_control() with usb_control_msg() (Torez Smith) [1942772] - net: usb: ax88179_178a: add MCT usb 3.0 adapter (Torez Smith) [1942772] - net: usb: ax88179_178a: fix missing stop entry in driver_info (Torez Smith) [1942772] - net: usb: ax88179_178a: add Toshiba usb 3.0 adapter (Torez Smith) [1942772] - Revert "usbip: Implement a match function to fix usbip" (Torez Smith) [1942772] - usb: dwc2: Fix parameter type in function pointer prototype (Torez Smith) [1942772] - usb: dwc3: core: Print warning on unsupported speed (Torez Smith) [1942772] - usb: dwc3: core: Properly default unspecified speed (Torez Smith) [1942772] - usb: dwc2: Add missing cleanups when usb_add_gadget_udc() fails (Torez Smith) [1942772] - usb: dwc3: gadget: END_TRANSFER before CLEAR_STALL command (Torez Smith) [1942772] - usb: dwc3: gadget: Resume pending requests after CLEAR_STALL (Torez Smith) [1942772] - can: peak_usb: convert to use le32_add_cpu() (Torez Smith) [1942772] - can: pcan_usb: add support of rxerr/txerr counters (Torez Smith) [1942772] - can: pcan_usb: Document the commands sent to the device (Torez Smith) [1942772] - can: mcba_usb: remove redundant initialization of variable err (Torez Smith) [1942772] - usb: dwc2: Always disable regulators on driver teardown (Torez Smith) [1942772] - usbip: simplify the return expression of usbip_core_init() (Torez Smith) [1942772] - rndis_host: increase sleep time in the query-response loop (Torez Smith) [1942772] - Revert "usb: dwc3: meson-g12a: fix shared reset control use" (Torez Smith) [1942772] - net: usb: dm9601: Add USB ID of Keenetic Plus DSL (Torez Smith) [1942772] - smsc95xx: add phylib support (Torez Smith) [1942772] - smsc95xx: use usbnet->driver_priv (Torez Smith) [1942772] - smsc95xx: remove redundant function arguments (Torez Smith) [1942772] - net: usb: Fix uninit-was-stored issue in asix_read_phy_addr() (Torez Smith) [1942772] - net: cdc_ncm: Fix build error (Torez Smith) [1942772] - tools: usb: move to tools buildsystem (Torez Smith) [1942772] - usbip: Implement a match function to fix usbip (Torez Smith) [1942772] - usb: dwc3: gadget: Handle ZLP for sg requests (Torez Smith) [1942772] - usb: dwc3: gadget: Fix handling ZLP (Torez Smith) [1942772] - usb: dwc3: gadget: Don't setup more than requested (Torez Smith) [1942772] - r8152: Use MAC address from correct device tree node (Torez Smith) [1942772] - usb: hso: remove bogus check for EINPROGRESS (Torez Smith) [1942772] - usb: hso: no complaint about kmalloc failure (Torez Smith) [1942772] - hso: fix bailout in error case of probe (Torez Smith) [1942772] - usb: dwc3: convert to devm_platform_ioremap_resource_byname (Torez Smith) [1942772] - net: lan78xx: replace bogus endpoint lookup (Torez Smith) [1942772] - net: lan78xx: fix transfer-buffer memory leak (Torez Smith) [1942772] - net: lan78xx: add missing endpoint sanity check (Torez Smith) [1942772] - usb: hso: check for return value in hso_serial_common_create() (Torez Smith) [1942772] - Revert "usb: dwc2: override PHY input signals with usb role switch support" (Torez Smith) [1942772] - Revert "usb: dwc2: don't use ID/Vbus detection if usb-role-switch on STM32MP15 SoCs" (Torez Smith) [1942772] - usb: dwc3: gadget: when the started list is empty stop the active xfer (Torez Smith) [1942772] - usb: dwc3: gadget: make starting isoc transfers more robust (Torez Smith) [1942772] - usb: dwc3: gadget: add frame number mask (Torez Smith) [1942772] - usb: dwc2: Fix error path in gadget registration (Torez Smith) [1942772] - usb: dwc3: meson-g12a: fix shared reset control use (Torez Smith) [1942772] - usb: dwc2: don't use ID/Vbus detection if usb-role-switch on STM32MP15 SoCs (Torez Smith) [1942772] - usb: dwc2: override PHY input signals with usb role switch support (Torez Smith) [1942772] - net: cdc_ncm: hook into set_rx_mode to admit multicast traffic (Torez Smith) [1942772] - net: cdc_ncm: add .ndo_set_rx_mode to cdc_ncm_netdev_ops (Torez Smith) [1942772] - net: usbnet: export usbnet_set_rx_mode() (Torez Smith) [1942772] - net: cdc_ether: export usbnet_cdc_update_filter (Torez Smith) [1942772] - net: cdc_ether: use dev->intf to get interface information (Torez Smith) [1942772] - ax88172a: fix ax88172a_unbind() failures (Torez Smith) [1942772] - usb: dwc2: gadget: Avoid pointless read of EP control register (Torez Smith) [1942772] - usb: dwc2: gadget: Make use of GINTMSK2 (Torez Smith) [1942772] - usb: dwc3: Replace HTTP links with HTTPS ones (Torez Smith) [1942772] - tools: usb: usbip: Replace HTTP links with HTTPS ones (Torez Smith) [1942772] - usb: hso: Fix debug compile warning on sparc32 (Torez Smith) [1942772] - usbip: Use fallthrough pseudo-keyword (Torez Smith) [1942772] - Documentation/driver-api: usb/URB: drop doubled word (Torez Smith) [1942772] - usb: dwc3: dwc3-qcom: Do not define 'struct acpi_device_id' when !CONFIG_ACPI (Torez Smith) [1942772] - usb: dwc3: pci: add support for the Intel Jasper Lake (Torez Smith) [1942772] - usb: dwc2: Fix shutdown callback in platform (Torez Smith) [1942772] - usb: dwc3: pci: add support for the Intel Tiger Lake PCH -H variant (Torez Smith) [1942772] - net: usb: qmi_wwan: add support for Quectel EG95 LTE modem (Torez Smith) [1942772] - smsc95xx: avoid memory leak in smsc95xx_bind (Torez Smith) [1942772] - smsc95xx: check return value of smsc95xx_reset (Torez Smith) [1942772] - usb: dwc2: gadget: Remove assigned but never used 'maxsize' (Torez Smith) [1942772] - usb: dwc3: dwc3-of-simple: Function headers are not good candidates for kerneldoc (Torez Smith) [1942772] - usb: dwc3: dwc3-haps: Function headers are not suitable for kerneldoc (Torez Smith) [1942772] - usb: dwc3: dwc3-omap: Do not read DMA status (Torez Smith) [1942772] - usb: dwc3: ulpi: File headers are not doc headers (Torez Smith) [1942772] - usb: dwc3: drd: File headers are not doc headers (Torez Smith) [1942772] - usbnet: ipheth: fix ipheth_tx()'s return type (Torez Smith) [1942772] - usbip: tools: add in man page how to load the client's module (Torez Smith) [1942772] - usbip: tools: fix build error for multiple definition (Torez Smith) [1942772] - usbip: tools: fix module name in man page (Torez Smith) [1942772] - Revert "usb: dwc3: exynos: Add support for Exynos5422 suspend clk" (Torez Smith) [1942772] - usb: dwc3: pci: Fix reference count leak in dwc3_pci_resume_work (Torez Smith) [1942772] - media: USB: cdc-acm: blacklist IR Droid / IR Toy device (Torez Smith) [1942772] - usbnet: smsc95xx: Fix use-after-free after removal (Torez Smith) [1942772] - usb: dwc2: Postponed gadget registration to the udc class driver (Torez Smith) [1942772] - usb: dwc2: use well defined macros for power_down (Torez Smith) [1942772] - net: usb: ax88179_178a: fix packet alignment padding (Torez Smith) [1942772] - usb: dwc3: meson-g12a: fix USB2 PHY initialization on G12A and A1 SoCs (Torez Smith) [1942772] - usb: dwc3: meson-g12a: fix error path when fetching the reset line fails (Torez Smith) [1942772] - net: usb: qmi_wwan: add Telit LE910C1-EUX composition (Torez Smith) [1942772] - usb: dwc3: keystone: Turn on USB3 PHY before controller (Torez Smith) [1942772] - usb: dwc2: Update Core Reset programming flow. (Torez Smith) [1942772] - usb: dwc3: gadget: Check for prepared TRBs (Torez Smith) [1942772] - usb: dwc3: Increase timeout for CmdAct cleared by device controller (Torez Smith) [1942772] - usb: dwc3: gadget: Use SET_EP_PRIME for NoStream (Torez Smith) [1942772] - usb: dwc3: gadget: Handle stream transfers (Torez Smith) [1942772] - usb: dwc3: gadget: Don't prepare beyond a transfer (Torez Smith) [1942772] - usb: dwc3: gadget: Wait for transfer completion (Torez Smith) [1942772] - usb: dwc3: gadget: Handle XferComplete for streams (Torez Smith) [1942772] - usb: dwc3: gadget: Enable XferComplete event (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor TRB completion handler (Torez Smith) [1942772] - usb: dwc3: gadget: Check for in-progress END_TRANSFER (Torez Smith) [1942772] - usb: dwc3: Get MDWIDTH for DWC_usb32 (Torez Smith) [1942772] - usb: dwc3: Add support for DWC_usb32 IP (Torez Smith) [1942772] - usb: dwc3: use true,false for dwc->otg_restart_host (Torez Smith) [1942772] - usb: dwc2: gadget: move gadget resume after the core is in L0 state (Torez Smith) [1942772] - usb: dwc3: meson-g12a: add support for GXL and GXM SoCs (Torez Smith) [1942772] - usb: dwc3: meson-g12a: support the GXL/GXM DWC3 host phy disconnect (Torez Smith) [1942772] - usb: dwc3: meson-g12a: refactor usb init (Torez Smith) [1942772] - usb: dwc3: gadget: Continue to process pending requests (Torez Smith) [1942772] - r8152: support additional Microsoft Surface Ethernet Adapter variant (Torez Smith) [1942772] - r8152: Use MAC address from device tree if available (Torez Smith) [1942772] - net: usb: qmi_wwan: remove redundant assignment to variable status (Torez Smith) [1942772] - net: huawei_cdc_ncm: remove redundant assignment to variable ret (Torez Smith) [1942772] - net: usb: ax88179_178a: remove redundant assignment to variable ret (Torez Smith) [1942772] - usb: dwc3: select USB_ROLE_SWITCH (Torez Smith) [1942772] - usb: dwc3: pci: Enable extcon driver for Intel Merrifield (Torez Smith) [1942772] - dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg() (Torez Smith) [1942772] - usb: hso: correct debug message (Torez Smith) [1942772] - net: sierra_net: Remove unused inline function (Torez Smith) [1942772] - usb: dwc3: gadget: WARN on no-resource status (Torez Smith) [1942772] - usb: dwc3: gadget: Issue END_TRANSFER to retry isoc transfer (Torez Smith) [1942772] - usb: dwc3: gadget: Store resource index of start cmd (Torez Smith) [1942772] - usb: dwc3: core: Use role-switch default dr_mode (Torez Smith) [1942772] - usb: dwc3: drd: Don't free non-existing irq (Torez Smith) [1942772] - usb: dwc3: gadget: Properly handle failed kick_transfer (Torez Smith) [1942772] - usb: dwc3: meson-g12a: refactor usb2 phy init (Torez Smith) [1942772] - usb: dwc3: meson-g12a: check return of dwc3_meson_g12a_usb_init (Torez Smith) [1942772] - usb: dwc3: meson-g12a: get the reset as shared (Torez Smith) [1942772] - usb: dwc3: meson-g12a: handle the phy and glue registers separately (Torez Smith) [1942772] - usb: dwc3: meson-g12a: specify phy names in soc data (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor dwc3_gadget_ep_dequeue (Torez Smith) [1942772] - usb: dwc3: gadget: Remove unnecessary checks (Torez Smith) [1942772] - usb: dwc3: gadget: Give back staled requests (Torez Smith) [1942772] - usb: dwc3: gadget: Properly handle ClearFeature(halt) (Torez Smith) [1942772] - usb: dwc3: support continuous runtime PM with dual role (Torez Smith) [1942772] - USB: dwc3: Use the correct style for SPDX License Identifier (Torez Smith) [1942772] - net: usb: qmi_wwan: add support for DW5816e (Torez Smith) [1942772] - net: usb: ax88179_178a: Implement ethtool_ops set_eeprom (Torez Smith) [1942772] - usb: dwc3: gadget: Fix request completion check (Torez Smith) [1942772] - USB: dwc2: Use the correct style for SPDX License Identifier (Torez Smith) [1942772] - usb: dwc3: gadget: Do link recovery for SS and SSP (Torez Smith) [1942772] - usb: dwc3: gadget: Properly set maxpacket limit (Torez Smith) [1942772] - usb: dwc3: Fix GTXFIFOSIZ.TXFDEP macro name (Torez Smith) [1942772] - Documentation: driver-api/usb/writing_usb_driver.rst Updates documentation links (Torez Smith) [1942772] - pegasus: Remove pegasus' own workqueue (Torez Smith) [1942772] - usb: dwc2: convert to devm_platform_get_and_ioremap_resource (Torez Smith) [1942772] - usb: host: hisilicon: convert to devm_platform_get_and_ioremap_resource (Torez Smith) [1942772] - usb: host: xhci-plat: convert to devm_platform_get_and_ioremap_resource (Torez Smith) [1942772] - net: qmi_wwan: add support for ASKEY WWHC050 (Torez Smith) [1942772] - usb: dwc3: fix up for role switch API change (Torez Smith) [1942772] - usb: dwc2: Silence warning about supplies during deferred probe (Torez Smith) [1942772] - usb: dwc2: Implement set_selfpowered() (Torez Smith) [1942772] - usb: dwc3: core: don't do suspend for device mode if already suspended (Torez Smith) [1942772] - usb: dwc3: Rework resets initialization to be more flexible (Torez Smith) [1942772] - usb: dwc3: Rework clock initialization to be more flexible (Torez Smith) [1942772] - usb: dwc3: Add support for role-switch-default-mode binding (Torez Smith) [1942772] - usb: dwc3: Registering a role switch in the DRD code. (Torez Smith) [1942772] - usb: dwc3: core: add support for disabling SS instances in park mode (Torez Smith) [1942772] - usb: dwc3: gadget: Wrap around when skip TRBs (Torez Smith) [1942772] - usb: dwc3: gadget: Don't clear flags before transfer ended (Torez Smith) [1942772] - usb: dwc3: Remove kernel doc annotation where it's not needed (Torez Smith) [1942772] - usb: dwc3: Add ACPI support for xHCI ports (Torez Smith) [1942772] - usb: dwc3: exynos: Add support for Exynos5422 suspend clk (Torez Smith) [1942772] - usb: dwc3: meson-g12a: Don't use ret uninitialized in dwc3_meson_g12a_otg_init (Torez Smith) [1942772] - usb: dwc3: trace: print enqueue/dequeue pointers too (Torez Smith) [1942772] - usb: dwc2: add support for STM32MP15 SoCs USB OTG HS and FS (Torez Smith) [1942772] - usb: dwc3: Add Amlogic A1 DWC3 glue (Torez Smith) [1942772] - cdc_ncm: Fix the build warning (Torez Smith) [1942772] - cdc_ncm: Implement the 32-bit version of NCM Transfer Block (Torez Smith) [1942772] - r8152: reject unsupported coalescing params (Torez Smith) [1942772] - usb: dwc3: gadget: Update chain bit correctly when using sg list (Torez Smith) [1942772] - r8152: Replace zero-length array with flexible-array member (Torez Smith) [1942772] - r8152: check disconnect status after long sleep (Torez Smith) [1942772] - net: usb: qmi_wwan: restore mtu min/max values after raw_ip switch (Torez Smith) [1942772] - USB: Replace zero-length array with flexible-array member (Torez Smith) [1942772] - r8152: use new helper tcp_v6_gso_csum_prep (Torez Smith) [1942772] - net: usb: cdc-phonet: Replace zero-length array with flexible-array member (Torez Smith) [1942772] - usb: dwc3: qcom: Replace by (Torez Smith) [1942772] - usb: dwc3: gadget: Check for IOC/LST bit in TRB->ctrl fields (Torez Smith) [1942772] - usb: dwc2: Fix in ISOC request length checking (Torez Smith) [1942772] - usb: dwc2: Fix SET/CLEAR_FEATURE and GET_STATUS flows (Torez Smith) [1942772] - usb: dwc3: debug: fix string position formatting mixup with ret and len (Torez Smith) [1942772] - qmi_wwan: unconditionally reject 2 ep interfaces (Torez Smith) [1942772] - qmi_wwan: re-add DW5821e pre-production variant (Torez Smith) [1942772] - r8152: Add MAC passthrough support to new device (Torez Smith) [1942772] - r8152: disable DelayPhyPwrChg (Torez Smith) [1942772] - r8152: avoid the MCU to clear the lanwake (Torez Smith) [1942772] - r8152: don't enable U1U2 with USB_SPEED_HIGH for RTL8153B (Torez Smith) [1942772] - r8152: disable test IO for RTL8153B (Torez Smith) [1942772] - r8152: Disable PLA MCU clock speed down (Torez Smith) [1942772] - r8152: disable U2P3 for RTL8153B (Torez Smith) [1942772] - r8152: get default setting of WOL before initializing (Torez Smith) [1942772] - r8152: reset flow control patch when linking on for RTL8153B (Torez Smith) [1942772] - r8152: fix runtime resume for linking change (Torez Smith) [1942772] - usb: dwc3: pci: add ID for the Intel Comet Lake -V variant (Torez Smith) [1942772] - net: usb: lan78xx: Add .ndo_features_check (Torez Smith) [1942772] - usb: dwc2: Drop unlock/lock upon queueing a work item (Torez Smith) [1942772] - usb: dwc3: gadget: Remove END_TRANSFER delay (Torez Smith) [1942772] - usb: dwc3: gadget: Delay starting transfer (Torez Smith) [1942772] - usb: dwc3: gadget: Check END_TRANSFER completion (Torez Smith) [1942772] - usb: dwc3: turn off VBUS when leaving host mode (Torez Smith) [1942772] - usb: dwc2: fix debugfs FIFO count (Torez Smith) [1942772] - usb: dwc2: Fix IN FIFO allocation (Torez Smith) [1942772] - usb: dwc2: Fix Stalling a Non-Isochronous OUT EP (Torez Smith) [1942772] - usb: dwc3: gadget: Clear DCTL.ULSTCHNGREQ before set (Torez Smith) [1942772] - usb: dwc2: Fix NULL qh in dwc2_queue_transaction (Torez Smith) [1942772] - usb: dwc3: gadget: Set link state to RX_Detect on disconnect (Torez Smith) [1942772] - usb: dwc3: gadget: Don't send unintended link state change (Torez Smith) [1942772] - r8152: add missing endpoint sanity check (Torez Smith) [1942772] - net: usb: lan78xx: limit size of local TSO packets (Torez Smith) [1942772] - qmi_wwan: Add support for Quectel RM500Q (Torez Smith) [1942772] - usbip: Fix unsafe unaligned pointer usage (Torez Smith) [1942772] - usb: dwc3: use proper initializers for property entries (Torez Smith) [1942772] - net: r8152: use skb_list_walk_safe helper for gso segments (Torez Smith) [1942772] - net: usb: lan78xx: fix possible skb leak (Torez Smith) [1942772] - net: ch9200: remove unnecessary return (Torez Smith) [1942772] - net: ch9200: use __func__ in debug message (Torez Smith) [1942772] - tools: usb: usbip: Get rid of driver name printout in README (Torez Smith) [1942772] - can: gs_usb: gs_usb_probe(): use descriptors of current altsetting (Torez Smith) [1942772] - can: kvaser_usb: fix interface sanity check (Torez Smith) [1942772] - usb: dwc3: gadget: Fix request complete check (Torez Smith) [1942772] - thunderbolt: Update documentation with the USB4 information (Torez Smith) [1942772] - usbip: Fix error path of vhci_recv_ret_submit() (Torez Smith) [1942772] - usbip: Fix receive error in vhci-hcd when using scatter-gather (Torez Smith) [1942772] - net: usb: lan78xx: Fix error message format specifier (Torez Smith) [1942772] - net: usb: lan78xx: Fix suspend/resume PHY register access error (Torez Smith) [1942772] - usb: dwc3: pci: add ID for the Intel Comet Lake -H variant (Torez Smith) [1942772] - usb: dwc3: ep0: Clear started flag on completion (Torez Smith) [1942772] - usb: dwc3: gadget: Clear started flag for non-IOC (Torez Smith) [1942772] - usb: dwc3: gadget: Fix logical condition (Torez Smith) [1942772] - can: kvaser_usb: kvaser_usb_leaf: Fix some info-leaks to USB devices (Torez Smith) [1942772] - can: ucan: fix non-atomic allocation in completion handler (Torez Smith) [1942772] - net: usb: aqc111: Use the correct style for SPDX License Identifier (Torez Smith) [1942772] - net: usbnet: Fix -Wcast-function-type (Torez Smith) [1942772] - net: hso: Fix -Wcast-function-type (Torez Smith) [1942772] - ax88179_178a: add ethtool_op_get_ts_info() (Torez Smith) [1942772] - r8152: avoid to call napi_disable twice (Torez Smith) [1942772] - r8152: Re-order napi_disable in rtl8152_close (Torez Smith) [1942772] - ax88172a: fix information leak on short answers (Torez Smith) [1942772] - usb: dwc2: create debugfs directory under usb root (Torez Smith) [1942772] - usb: dwc3: create debugfs directory under usb root (Torez Smith) [1942772] - net: cdc_ncm: Signedness bug in cdc_ncm_set_dgram_size() (Torez Smith) [1942772] - net: usb: qmi_wwan: add support for Foxconn T77W968 LTE modules (Torez Smith) [1942772] - usbip: Fix uninitialized symbol 'nents' in stub_recv_cmd_submit() (Torez Smith) [1942772] - USBIP: add config dependency for SGL_ALLOC (Torez Smith) [1942772] - net: usb: qmi_wwan: add support for DW5821e with eSIM support (Torez Smith) [1942772] - CDC-NCM: handle incomplete transfer of MTU (Torez Smith) [1942772] - usbip: tools: fix fd leakage in the function of read_attr_usbip_status (Torez Smith) [1942772] - can: peak_usb: fix a potential out-of-sync while decoding packets (Torez Smith) [1942772] - can: usb_8dev: fix use-after-free on disconnect (Torez Smith) [1942772] - can: mcba_usb: fix use-after-free on disconnect (Torez Smith) [1942772] - can: peak_usb: report bus recovery as well (Torez Smith) [1942772] - can: gs_usb: gs_can_open(): prevent memory leak (Torez Smith) [1942772] - usb: Spelling s/enpoint/endpoint/ (Torez Smith) [1942772] - usb: dwc3: gadget: fix race when disabling ep with cancelled xfers (Torez Smith) [1942772] - usb: dwc3: of-simple: add a shutdown (Torez Smith) [1942772] - usbip: Fix free of unallocated memory in vhci tx (Torez Smith) [1942772] - usbip: tools: Fix read_usb_vudc_device() error path handling (Torez Smith) [1942772] - usb: dwc3: pci: prevent memory leak in dwc3_pci_probe (Torez Smith) [1942772] - usb: dwc3: remove the call trace of USBx_GFLADJ (Torez Smith) [1942772] - usb: dwc3: select CONFIG_REGMAP_MMIO (Torez Smith) [1942772] - r8152: check the pointer rtl_fw->fw before using it (Torez Smith) [1942772] - net: lan78xx: remove set but not used variable 'event' (Torez Smith) [1942772] - usb: dwc3: debug: Remove newline printout (Torez Smith) [1942772] - r8152: support firmware of PHY NC for RTL8153A (Torez Smith) [1942772] - r8152: move r8153_patch_request forward (Torez Smith) [1942772] - r8152: add checking fw_offset field of struct fw_mac (Torez Smith) [1942772] - r8152: rename fw_type_1 with fw_mac (Torez Smith) [1942772] - usb: dwc2: use a longer core rest timeout in dwc2_core_reset() (Torez Smith) [1942772] - usb: dwc3: Disable phy suspend after power-on reset (Torez Smith) [1942772] - r8152: add device id for Lenovo ThinkPad USB-C Dock Gen 2 (Torez Smith) [1942772] - net: usb: lan78xx: Connect PHY before registering MAC (Torez Smith) [1942772] - usb: hso: obey DMA rules in tiocmget (Torez Smith) [1942772] - r8152: support request_firmware for RTL8153 (Torez Smith) [1942772] - net: usb: sr9800: fix uninitialized local variable (Torez Smith) [1942772] - net: usb: ax88179_178a: write mac to hardware in get_mac_addr (Torez Smith) [1942772] - net: usb: qmi_wwan: add Telit 0x1050 composition (Torez Smith) [1942772] - usb: dwc3: Remove dev_err() on platform_get_irq() failure (Torez Smith) [1942772] - usb: dwc3: Switch to platform_get_irq_byname_optional() (Torez Smith) [1942772] - r8152: Set macpassthru in reset_resume callback (Torez Smith) [1942772] - qmi_wwan: add support for Cinterion CLS8 devices (Torez Smith) [1942772] - usbip: clean up an indentation issue (Torez Smith) [1942772] - usbip: vhci_hcd indicate failed message (Torez Smith) [1942772] - r8152: Add identifier names for function pointers (Torez Smith) [1942772] - r8152: Use guard clause and fix comment typos (Torez Smith) [1942772] - hso: fix NULL-deref on tty open (Torez Smith) [1942772] - net: usb: ax88179_178a: allow optionally getting mac address from device tree (Torez Smith) [1942772] - r8152: Factor out OOB link list waits (Torez Smith) [1942772] - usbnet: ignore endpoints with invalid wMaxPacketSize (Torez Smith) [1942772] - cdc_ncm: fix divide-by-zero caused by invalid wMaxPacketSize (Torez Smith) [1942772] - usbnet: sanity checking of packet sizes and device mtu (Torez Smith) [1942772] - r8152: adjust the settings of ups flags (Torez Smith) [1942772] - r8152: modify rtl8152_set_speed function (Torez Smith) [1942772] - usb: dwc3: remove generic PHY calibrate() calls (Torez Smith) [1942772] - usb: gadget: net2280: Move all "ll" registers in one structure (Torez Smith) [1942772] - usb: dwc3: gadget: Workaround Mirosoft's BESL check (Torez Smith) [1942772] - usb: dwc3: meson-g12a: fix suspend resume regulator unbalanced disables (Torez Smith) [1942772] - usb: gadget: composite: Set recommended BESL values (Torez Smith) [1942772] - usb: dwc3: gadget: Set BESL config parameter (Torez Smith) [1942772] - usb: dwc3: Separate field holding multiple properties (Torez Smith) [1942772] - usb: dwc3: don't set gadget->is_otg flag (Torez Smith) [1942772] - usb: dwc3: st: Add of_dev_put() in probe function (Torez Smith) [1942772] - usb: dwc3: st: Add of_node_put() before return in probe function (Torez Smith) [1942772] - r8152: add a helper function about setting EEE (Torez Smith) [1942772] - r8152: saving the settings of EEE (Torez Smith) [1942772] - net: usb: Delete unnecessary checks before the macro call “dev_kfree_skb” (Torez Smith) [1942772] - r8152: divide the tx and rx bottom functions (Torez Smith) [1942772] - r8152: fix accessing skb after napi_gro_receive (Torez Smith) [1942772] - r8152: change rx_copybreak and rx_pending through ethtool (Torez Smith) [1942772] - r8152: support skb_add_rx_frag (Torez Smith) [1942772] - r8152: use alloc_pages for rx buffer (Torez Smith) [1942772] - r8152: replace array with linking list for rx information (Torez Smith) [1942772] - r8152: separate the rx buffer size (Torez Smith) [1942772] - usb: dwc3: Use clk_bulk_prepare_enable() (Torez Smith) [1942772] - usb: dwc3: Use devres to get clocks (Torez Smith) [1942772] - usb: dwc3: remove generic PHYs forwarding for XHCI device (Torez Smith) [1942772] - USB: usbip: convert to use dev_groups (Torez Smith) [1942772] - usb: dwc3: Update soft-reset wait polling rate (Torez Smith) [1942772] - usb: dwc2: gadget: Fix kill_all_requests race (Torez Smith) [1942772] - usb: dwc3: omap: use devm_platform_ioremap_resource() to simplify code (Torez Smith) [1942772] - usb: dwc3: keystone: use devm_platform_ioremap_resource() to simplify code (Torez Smith) [1942772] - usb: dwc3: omap: squash include/linux/platform_data/dwc3-omap.h (Torez Smith) [1942772] - usb: dwc3: meson-g12a: use devm_platform_ioremap_resource() to simplify code (Torez Smith) [1942772] - usbip: tools: fix GCC8 warning for strncpy (Torez Smith) [1942772] - usb: dwc3: Switch to use device_property_count_u32() (Torez Smith) [1942772] - usb: dwc2: Switch to use device_property_count_u32() (Torez Smith) [1942772] - can: kvaser_usb: Use struct_size() in alloc_candev() (Torez Smith) [1942772] - net: usb: Merge cpu_to_le32s + memcpy to put_unaligned_le32 (Torez Smith) [1942772] - ax88179_178a: Merge memcpy + le32_to_cpus to get_unaligned_le32 (Torez Smith) [1942772] - usbnet: smsc75xx: Merge memcpy + le32_to_cpus to get_unaligned_le32 (Torez Smith) [1942772] - net: lan78xx: Merge memcpy + lexx_to_cpus to get_unaligned_lexx (Torez Smith) [1942772] - bluetooth: eliminate the potential race condition when removing the HCI controller (Gopal Tiwari) [1971488]- bareudp: add NETIF_F_FRAGLIST flag for dev features (Paolo Abeni) [1977850] - vxlan: add NETIF_F_FRAGLIST flag for dev features (Paolo Abeni) [1977850] - geneve: add NETIF_F_FRAGLIST flag for dev features (Paolo Abeni) [1977850] - RDMA/siw: Release xarray entry (Kamal Heib) [1971483] - RDMA/siw: Properly check send and receive CQ pointers (Kamal Heib) [1971483] - RDMA/siw: Fix a use after free in siw_alloc_mr (Kamal Heib) [1971483] - RDMA/rxe: Clear all QP fields if creation failed (Kamal Heib) [1971483] - RDMA/rxe: Fix a bug in rxe_fill_ip_info() (Kamal Heib) [1971483] - RDMA/rxe: Remove rxe_dma_device declaration (Kamal Heib) [1971483] - IB/hfi1: Fix error return code in parse_platform_config() (Kamal Heib) [1971483] - IB/hfi1: Remove unused function (Kamal Heib) [1971483] - RDMA/srpt: Fix error return code in srpt_cm_req_recv() (Kamal Heib) [1971483] - IB/isert: Fix a use after free in isert_connect_request (Kamal Heib) [1971483] - RDMA: Verify port when creating flow rule (Kamal Heib) [1971483] - RDMA/uverbs: Fix a NULL vs IS_ERR() bug (Kamal Heib) [1971483] - RDMA/core: Don't access cm_id after its destruction (Kamal Heib) [1971483] - RDMA/core: Prevent divide-by-zero error triggered by the user (Kamal Heib) [1971483] - RDMA/core: Add CM to restrack after successful attachment to a device (Kamal Heib) [1971483] - RDMA/core: Unify RoCE check and re-factor code (Kamal Heib) [1971483] - RDMA/core: Fix corrupted SL on passive side (Kamal Heib) [1971483] - mm: vmalloc: add cond_resched() in __vunmap() (Rafael Aquini) [1978469] - /proc/PID/smaps: Add PMD migration entry parsing (Nico Pache) [1977066] - s390: add 3f program exception handler (Nico Pache) [1977066] - x86/ioremap: Fix CONFIG_EFI=n build (Nico Pache) [1977066] - mm, slub: move slub_debug static key enabling outside slab_mutex (Nico Pache) [1977066] - mm, slub: enable slub_debug static key when creating cache with explicit debug flags (Nico Pache) [1977066] - locking/mutex: Remove repeated declaration (Nico Pache) [1977066] - percpu: make pcpu_nr_empty_pop_pages per chunk type (Nico Pache) [1977066] - mm/swap: don't SetPageWorkingset unconditionally during swapin (Nico Pache) [1977066] - s390/tlb: make cleared_pXs flags consistent with generic code (Nico Pache) [1977066] - mm, compaction: make fast_isolate_freepages() stay within zone (Nico Pache) [1977066] - mm/vmscan: restore zone_reclaim_mode ABI (Nico Pache) [1977066] - mm, compaction: move high_pfn to the for loop scope (Nico Pache) [1977066] - memblock: do not start bottom-up allocations with kernel_end (Nico Pache) [1977066] - mm, page_alloc: disable pcplists during memory offline (Nico Pache) [1977066] - mm, page_alloc: move draining pcplists to page isolation users (Nico Pache) [1977066] - mm, page_alloc: cache pageset high and batch in struct zone (Nico Pache) [1977066] - mm, page_alloc: simplify pageset_update() (Nico Pache) [1977066] - mm, page_alloc: fix core hung in free_pcppages_bulk() (Nico Pache) [1977066] - mm, page_alloc: remove setup_pageset() (Nico Pache) [1977066] - mm, page_alloc: calculate pageset high and batch once per zone (Nico Pache) [1977066] - mm, pcp: share common code between memory hotplug and percpu sysctl handler (Nico Pache) [1977066] - mm, page_alloc: clean up pageset high and batch update (Nico Pache) [1977066] - s390/uv: handle destroy page legacy interface (Nico Pache) [1977066] - mm/filemap: fix filemap_map_pages for THP (Nico Pache) [1977066] - mm: filemap: add missing FGP_ flags in kerneldoc comment for pagecache_get_page (Nico Pache) [1977066] - mm/filemap.c: rewrite pagecache_get_page documentation (Nico Pache) [1977066] - mm: filemap: clear idle flag for writes (Nico Pache) [1977066] - mm: document semantics of ZONE_MOVABLE (Nico Pache) [1977066] - mm/page_isolation: cleanup set_migratetype_isolate() (Nico Pache) [1977066] - mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate() (Nico Pache) [1977066] - mm/page_isolation: exit early when pageblock is isolated in set_migratetype_isolate() (Nico Pache) [1977066] - mm/page_alloc: tweak comments in has_unmovable_pages() (Nico Pache) [1977066] - mm: reuse only-pte-mapped KSM page in do_wp_page() (Nico Pache) [1977066] - mm/memory.c: skip spurious TLB flush for retried page fault (Nico Pache) [1977066] - /proc/PID/smaps: consistent whitespace output format (Nico Pache) [1977066] - mm/memcontrol.c: prevent missed memory.low load tears (Nico Pache) [1977066] - mm, memcg: prevent mem_cgroup_protected store tearing (Nico Pache) [1977066] - mm, memcg: prevent memory.min load/store tearing (Nico Pache) [1977066] - mm, mempolicy: fix up gup usage in lookup_node (Nico Pache) [1977066] - mm/page_ext.c: drop pfn_present() check when onlining (Nico Pache) [1977066] - drivers/base/memory.c: drop pages_correctly_probed() (Nico Pache) [1977066] - drivers/base/memory.c: drop section_count (Nico Pache) [1977066] - include/linux/mm.h: remove dead code totalram_pages_set() (Nico Pache) [1977066] - tools headers uapi: Sync asm-generic/mman-common.h with the kernel (Nico Pache) [1977066] - mm/memcg: Relocate tcpmem to below memory in struct mem_cgroup (Waiman Long) [1959772] - mm/memcg: optimize user context object stock access (Waiman Long) [1959772] - mm/memcg: improve refill_obj_stock() performance (Waiman Long) [1959772] - mm/memcg: cache vmstat data in percpu memcg_stock_pcp (Waiman Long) [1959772] - mm/memcg: move mod_objcg_state() to memcontrol.c (Waiman Long) [1959772] - mm: memcontrol: move PageMemcgKmem to the scope of CONFIG_MEMCG_KMEM (Waiman Long) [1959772] - mm: memcontrol: inline __memcg_kmem_{un}charge() into obj_cgroup_{un}charge_pages() (Waiman Long) [1959772] - mm: memcontrol: use obj_cgroup APIs to charge kmem pages (Waiman Long) [1959772] - mm: memcontrol: change ug->dummy_page only if memcg changed (Waiman Long) [1959772] - mm: memcontrol: directly access page->memcg_data in mm/page_alloc.c (Waiman Long) [1959772] - mm: memcontrol: introduce obj_cgroup_{un}charge_pages (Waiman Long) [1959772] - mm: memcontrol: slab: fix obtain a reference to a freeing memcg (Waiman Long) [1959772] - mm: memmap defer init doesn't work as expected (Baoquan He) [1906271] - mm: check nr_initialised with PAGES_PER_SECTION directly in defer_init() (Baoquan He) [1906271] - mm/memory_hotplug: mark pageblocks MIGRATE_ISOLATE while onlining memory (Baoquan He) [1906271] - mm, memory_hotplug: update pcp lists everytime onlining a memory block (Baoquan He) [1906271] - mm: pass migratetype into memmap_init_zone() and move_pfn_range_to_zone() (Baoquan He) [1906271] - nfs: account for selinux security context when deciding to share superblock (Scott Mayhew) [1927027] - nfs: remove unneeded null check in nfs_fill_super() (Scott Mayhew) [1927027] - lsm,selinux: add new hook to compare new mount to an existing mount (Scott Mayhew) [1927027] - libceph: allow addrvecs with a single NONE/blank address (Jeff Layton) [1972278] - scsi: megaraid_sas: Update driver version to 07.717.02.00-rc1 (Tomas Henzl) [1968170] - scsi: megaraid_sas: Handle missing interrupts while re-enabling IRQs (Tomas Henzl) [1968170] - scsi: megaraid_sas: Early detection of VD deletion through RaidMap update (Tomas Henzl) [1968170] - scsi: megaraid_sas: Fix resource leak in case of probe failure (Tomas Henzl) [1968170] - scsi: megaraid_sas: Send all non-RW I/Os for TYPE_ENCLOSURE device through firmware (Tomas Henzl) [1968170] - scsi: megaraid_sas: Use DEFINE_SPINLOCK() for spinlock (Tomas Henzl) [1968170] - scsi: scsi_devinfo: Add blacklist entry for HPE OPEN-V (Ewan D. Milne) [1927508] - drivers: do not build devm_platform_get_and_ioremap_resource() for s390x (Jaroslav Kysela) [1917388] - redhat: update ALSA configs and add regmap-sdw-mbq to redhat/filter-modules.sh (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fix the return value in dpcm_apply_symmetry() (Jaroslav Kysela) [1917388] - alsa: control_led - fix initialization in the mode show callback (Jaroslav Kysela) [1917388] - ALSA: seq: Fix race of snd_seq_timer_open() (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ZBook Power G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: headphone and mic don't work on an Acer laptop (Jaroslav Kysela) [1917388] - ALSA: firewire-lib: fix the context to call snd_pcm_stop_xrun() (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 840 Aero G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP EliteBook x360 1040 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Elite Dragonfly G2 (Jaroslav Kysela) [1917388] - ASoC: rt5682: Fix the fast discharge for headset unplugging in soundwire mode (Jaroslav Kysela) [1917388] - ASoC: tas2562: Fix TDM_CFG0_SAMPRATE values (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir: Remove fix for DMI entry on Lenovo 2020 platforms (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - add DMI entry for Lenovo 2020 AMD platforms (Jaroslav Kysela) [1917388] - ASoC: SOF: reset enabled_cores state at suspend (Jaroslav Kysela) [1917388] - ASoC: fsl-asoc-card: Set .owner attribute when registering card. (Jaroslav Kysela) [1917388] - ASoC: topology: Fix spelling mistake "vesion" -> "version" (Jaroslav Kysela) [1917388] - ASoC: rt5659: Fix the lost powers for the HDA header (Jaroslav Kysela) [1917388] - ASoC: core: Fix Null-point-dereference in fmt_single_name() (Jaroslav Kysela) [1917388] - spi: pxa2xx: Drop useless comment in the pxa2xx_ssp.h (Jaroslav Kysela) [1917388] - spi: pxa2xx: Switch to use BIT() and GENMASK() in pxa2xx_ssp.h (Jaroslav Kysela) [1917388] - spi: pxa2xx: Update header block in pxa2xx_ssp.h (Jaroslav Kysela) [1917388] - spi: pxa2xx: Add SSC2 and SSPSP2 SSP registers (Jaroslav Kysela) [1917388] - ASoC: pxa: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: pxa: pxa-ssp: Remove redundant null check before clk_prepare_enable/clk_disable_unprepare (Jaroslav Kysela) [1917388] - ASoC: mmp-sspa: drop unneeded snd_soc_dai_set_drvdata (Jaroslav Kysela) [1917388] - ASoC: mmp-sspa: set phase two word length register (Jaroslav Kysela) [1917388] - ASoC: pxa: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: Fix 7/8 spaces indentation in Kconfig (Jaroslav Kysela) [1917388] - ASoC: jz4740-i2s: Remove manual DMA peripheral ID assignment (Jaroslav Kysela) [1917388] - ASoC: jz4740-i2s: add missed checks for clk_get() (Jaroslav Kysela) [1917388] - ASoC: Intel: fix error code cnl_set_dsp_D0() (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: Unassign ram_read and read_write ops (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove haswell solution (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove sst_dsp_get_thread_context (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove unused DSP interface fields (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: remove unneeded semicolon (Jaroslav Kysela) [1917388] - catpt: Switch to use list_entry_is_head() helper (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Optimize applying user settings (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Correct clock selection for dai trigger (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Skip position update for unprepared streams (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Relax clock selection conditions (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Fix compilation when CONFIG_MODULES is disabled (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Cleanup after power routines streamlining (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Replace open coded variant of resource_intersection() (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Streamline power routines across LPT and WPT (Jaroslav Kysela) [1917388] - ASoC: Intel: haswell: Add missing pm_ops (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_nau8824: Change SSP2-Codec DAI id to 0 (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_nau8824: Drop compress-cpu-dai bits (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5651: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1917388] - ASoC: Intel: broadwell: add missing pm_ops (Jaroslav Kysela) [1917388] - ASoC: Intel: bdw-rt5677: add missing pm_ops (Jaroslav Kysela) [1917388] - ASoC: Intel: broadwell: set card and driver name dynamically (Jaroslav Kysela) [1917388] - ASoC: Intel: bdw-rt5650: Mark FE DAIs as nonatomic (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove rt5640 support for baytrail solution (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove max98090 support for baytrail solution (Jaroslav Kysela) [1917388] - ASoC: Intel: atom: use inclusive language for SSP bclk/fsync (Jaroslav Kysela) [1917388] - ASoC: Intel: Atom: add dynamic selection of DSP driver (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: select WANT_DEV_COREDUMP (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: add dynamic selection of DSP driver (Jaroslav Kysela) [1917388] - ASoC: intel: SND_SOC_INTEL_KEEMBAY should depend on ARCH_KEEMBAY (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Add explicit DMADEVICES kconfig dependency (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove baytrail solution (Jaroslav Kysela) [1917388] - ASoC: Intel: atom: Remove duplicate kconfigs (Jaroslav Kysela) [1917388] - ASoC: remove zte zx drivers (Jaroslav Kysela) [1917388] - ASoC: codecs: wsa881x: add missing stream rates and format (Jaroslav Kysela) [1917388] - ASoC: wm_adsp: Remove unused control callback structure (Jaroslav Kysela) [1917388] - ASoC: wm8994: Fix PM disable depth imbalance on error (Jaroslav Kysela) [1917388] - ASoC: wm8903: remove useless assignments (Jaroslav Kysela) [1917388] - ASoC: wm8523: Fix a typo in a comment (Jaroslav Kysela) [1917388] - ASoC: wm8350: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1917388] - ASoC: wm5102: Use get_unaligned_be16() for dac_comp_coeff (Jaroslav Kysela) [1917388] - ASoC: codecs: wcd934x: Set digital gain range correctly (Jaroslav Kysela) [1917388] - ASoC: wcd9335: Remove unnecessary conversion to bool (Jaroslav Kysela) [1917388] - ASoC: rt715: remove unused parameter (Jaroslav Kysela) [1917388] - ASoC: mediatek: mt6359: add the calibration functions (Jaroslav Kysela) [1917388] - ASoC: rt5682: clock driver must use the clock provider API (Jaroslav Kysela) [1917388] - ASoC: rt1015: enable BCLK detection after calibration (Jaroslav Kysela) [1917388] - ASoC: pcm512x: Add support for more data formats (Jaroslav Kysela) [1917388] - ASoC: pcm512x: Move format check into `set_fmt()` (Jaroslav Kysela) [1917388] - ASoC: pcm512x: Rearrange operations in `hw_params()` (Jaroslav Kysela) [1917388] - ASoC: pcm512x: Fix not setting word length if DAIFMT_CBS_CFS (Jaroslav Kysela) [1917388] - ASoC: mediatek: mt6359: Fix regulator_dev_lookup() fails for id "LDO_VAUD18" (Jaroslav Kysela) [1917388] - ASoC: Remove mt6359_platform_driver_remove (Jaroslav Kysela) [1917388] - ASoC: Fix vaud18 power leakage of mt6359 (Jaroslav Kysela) [1917388] - ASoC: es8316: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Fix Bitclock polarity inversion (Jaroslav Kysela) [1917388] - ASoC: cs35l33: fix an error code in probe() (Jaroslav Kysela) [1917388] - ASoC: cs35l34: Add missing regmap use_single config (Jaroslav Kysela) [1917388] - ASoC: wm8998: Fix PM disable depth imbalance on error (Jaroslav Kysela) [1917388] - ASoC: codecs: wcd9335: Set digital gain range correctly (Jaroslav Kysela) [1917388] - ASoC: TSCS454: remove unneeded semicolon (Jaroslav Kysela) [1917388] - ASoC: TSCS42xx: remove unneeded semicolon (Jaroslav Kysela) [1917388] - ASoC: ts3a227e: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: tlv320: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: tas571x: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: tas*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: tas2562: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: remove remnants of sirf prima/atlas audio codec (Jaroslav Kysela) [1917388] - ASoC: rt5645: add error checking to rt5645_probe function (Jaroslav Kysela) [1917388] - Revert "ASoC: rt5645: fix a NULL pointer dereference" (Jaroslav Kysela) [1917388] - ASoC: rt1015: modify calibration sequence for better performance (Jaroslav Kysela) [1917388] - ASoC: rk3328: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: pcm179x: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: pcm1789: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: nau8315: revise the power event of EN_PIN dapm widget for symmetry (Jaroslav Kysela) [1917388] - ASoC: nau8315: add codec driver (Jaroslav Kysela) [1917388] - ASoC: gtm601: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: es8328: Remove redundant null check before clk_disable_unprepare (Jaroslav Kysela) [1917388] - ASoC: es7241: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: es7134: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: da9055: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: da7219: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Add DAPM widget to set HP out to cap-less mode (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Don't change cap-couple setting in HP PMU/PMD (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Adjust timeouts for cap-coupled outputs (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Reset interrupt flags in bias PREPARE (Jaroslav Kysela) [1917388] - ASoC: codecs/jz47xx: Use regmap_{set,clear}_bits (Jaroslav Kysela) [1917388] - treewide: Use fallthrough pseudo-keyword (Jaroslav Kysela) [1917388] - ASoC: inno_rk3036: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: hdac_hdmi: remove cancel_work_sync in runtime suspend (Jaroslav Kysela) [1917388] - ASoC: hdmi-codec: Add RX support (Jaroslav Kysela) [1917388] - ALSA: cx46xx: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ASoC: topology: KUnit: Convert from cpu to data format (Jaroslav Kysela) [1917388] - ASoC: topology: KUnit: Add KUnit tests passing topology with PCM to snd_soc_tplg_component_load (Jaroslav Kysela) [1917388] - ASoC: topology: KUnit: Add KUnit tests passing empty topology with variants to snd_soc_tplg_component_load (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1917388] - ASoC: tegra: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ASoC: tegra: Don't warn on probe deferral (Jaroslav Kysela) [1917388] - ASoC: tegra: tegra_rt5640: use devm_snd_soc_register_card() (Jaroslav Kysela) [1917388] - ASoC: tegra: tegra_wm8753: use devm_snd_soc_register_card() (Jaroslav Kysela) [1917388] - ASoC: tegra: trimslice.c: use devm_snd_soc_register_card() (Jaroslav Kysela) [1917388] - ASoC: ti: davinci-evm: Remove redundant null check before clk_disable_unprepare (Jaroslav Kysela) [1917388] - ASoC: ti: davinci: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: ti: j721e-evm: Fix compiler warning when CONFIG_OF=n (Jaroslav Kysela) [1917388] - ASoC: ti: omap-abe-twl6040: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: ti: omap-mcsp: remove duplicate test (Jaroslav Kysela) [1917388] - ASoC: uniphier: Simplify the return expression of uniphier_aio_startup (Jaroslav Kysela) [1917388] - ASoC: uniphier: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: ux500: mop500: rename shadowing variable (Jaroslav Kysela) [1917388] - ASoC: ux500: mop500: align function prototype (Jaroslav Kysela) [1917388] - ALSA: x86: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams (Jaroslav Kysela) [1917388] - ASoC: cs42l56: fix up error handling in probe (Jaroslav Kysela) [1917388] - ASoC: cs42l52: Minor tidy up of error paths (Jaroslav Kysela) [1917388] - ASoC: cs42l51: manage mclk shutdown delay (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Wait for PLL to lock before switching to it (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Only start PLL if it is needed (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Wait at least 150us after writing SCLK_PRESENT (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Use bclk from hw_params if set_sysclk was not called (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Report jack and button detection (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Add Capture Support (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Fix channel width support (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Always wait at least 3ms after reset (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Don't enable/disable regulator at Bias Level (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Fix mixer volume control (Jaroslav Kysela) [1917388] - ASoC: cs*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: bd28623: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: alc5632: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: ak4458: Add MODULE_DEVICE_TABLE (Jaroslav Kysela) [1917388] - ASoC: ak4118: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: alc5623: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: ak5558: Correct the dai name for ak5552 (Jaroslav Kysela) [1917388] - ASoC: ak5558: change function name to ak5558_reset (Jaroslav Kysela) [1917388] - ASoC: ak5558: Add support for ak5552 (Jaroslav Kysela) [1917388] - ASoC: ak5558: Add MODULE_DEVICE_TABLE (Jaroslav Kysela) [1917388] - ASoC: ak5558: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: adau1977: remove platform data and move micbias bindings include (Jaroslav Kysela) [1917388] - ASoC: adau17x1: Remove redundant null check before clk_disable_unprepare (Jaroslav Kysela) [1917388] - ASoC: adau*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: Add ADAU1372 audio CODEC support (Jaroslav Kysela) [1917388] - ASoC: amd: fix for pcm_read() error (Jaroslav Kysela) [1917388] - ASoC: amd: drop S24_LE format support (Jaroslav Kysela) [1917388] - ASoC: amd: Add support for ALC1015P codec in acp3x machine driver (Jaroslav Kysela) [1917388] - ASoC: amd: renoir: acp3x-pdm-dma: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: amd: raven: acp3x-i2s: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: amd: renoir: acp3x-pdm-dma: remove unnecessary assignments (Jaroslav Kysela) [1917388] - ASoC: amd: fix acpi dependency kernel warning (Jaroslav Kysela) [1917388] - ASoC: amd: update spdx license for acp machine driver (Jaroslav Kysela) [1917388] - ASoC: amd: Add support for RT5682 codec in machine driver (Jaroslav Kysela) [1917388] - ASoC: amd: Adding DAI LINK for rt1015 codec (Jaroslav Kysela) [1917388] - ASoC: amd: Adding support for ALC1015 codec in machine driver (Jaroslav Kysela) [1917388] - ASoC: amd: AMD RV RT5682 should depends on CROS_EC (Jaroslav Kysela) [1917388] - ASoC: amd: renoir: remove invalid kernel-doc comment (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - refine DMI entries for some Lenovo products (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad X395 (Jaroslav Kysela) [1917388] - ASoC: amd: Replacing MSI with Legacy IRQ model (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad E14 Gen 2 (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - add DMI table to avoid the ACP mic probe (broken BIOS) (Jaroslav Kysela) [1917388] - ASoC: AMD Raven/Renoir - fix the PCI probe (PCI revision) (Jaroslav Kysela) [1917388] - ASoC: amd: change clk_get() to devm_clk_get() and add missed checks (Jaroslav Kysela) [1917388] - ASoC: amd: Return -ENODEV for non-existing ACPI call (Jaroslav Kysela) [1917388] - ASoC: amd: support other audio modes for raven (Jaroslav Kysela) [1917388] - ASoC: topology: adhere to KUNIT formatting standard (Jaroslav Kysela) [1917388] - ASoC: topology: KUnit: Add KUnit tests passing various arguments to snd_soc_tplg_component_load (Jaroslav Kysela) [1917388] - ALSA: trident: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: sonicvibes: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: sis7019: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: remove unneeded break (Jaroslav Kysela) [1917388] - ALSA: hdsp: don't disable if not enabled (Jaroslav Kysela) [1917388] - ALSA: hdsp: hardware output loopback (Jaroslav Kysela) [1917388] - ALSA: pci: mixart: fix kernel-doc warning (Jaroslav Kysela) [1917388] - ALSA: maestro: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: lola: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: intel8x0: Fix missing check in snd_intel8x0m_create (Jaroslav Kysela) [1917388] - ALSA: intel8x0: Don't update period unless prepared (Jaroslav Kysela) [1917388] - ALSA: hda: Avoid spurious unsol event handling during S3/S4 (Jaroslav Kysela) [1917388] - ALSA: ens1370: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: emu10k1: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: emu10k1: Use dma_set_mask_and_coherent to simplify code (Jaroslav Kysela) [1917388] - ALSA: ctxfi: fix comment syntax in file headers (Jaroslav Kysela) [1917388] - ALSA: ctxfi: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: ctxfi: cthw20k2: fix mask on conf to allow 4 bits (Jaroslav Kysela) [1917388] - ALSA: bt87x: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: azt3328: Assign boolean values to a bool variable (Jaroslav Kysela) [1917388] - ALSA: asihpi: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: dice: fix stream format for TC Electronic Konnekt Live at high sampling transfer frequency (Jaroslav Kysela) [1917388] - ALSA: dice: disable double_pcm_frames mode for M-Audio Profire 610, 2626 and Avid M-Box 3 Pro (Jaroslav Kysela) [1917388] - ALSA: firewire-lib: fix amdtp_packet tracepoints event for packet_index field (Jaroslav Kysela) [1917388] - ALSA: firewire-lib: fix calculation for size of IR context payload (Jaroslav Kysela) [1917388] - ALSA: firewire-lib: fix check for the size of isochronous packet payload (Jaroslav Kysela) [1917388] - ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro (Jaroslav Kysela) [1917388] - ALSA: dice: fix stream format at middle sampling rate for Alesis iO 26 (Jaroslav Kysela) [1917388] - ALSA: bebob: enable to deliver MIDI messages for multiple ports (Jaroslav Kysela) [1917388] - ALSA: bebob: detect the number of available MIDI ports (Jaroslav Kysela) [1917388] - ALSA: bebob: code refactoring for stream format detection (Jaroslav Kysela) [1917388] - ALSA: dice: fix null pointer dereference when node is disconnected (Jaroslav Kysela) [1917388] - ALSA: fireface: fix to parse sync status register of latter protocol (Jaroslav Kysela) [1917388] - ALSA: bebob: remove an unnecessary condition in hwdep_read() (Jaroslav Kysela) [1917388] - ALSA: fireface: remove unnecessary condition in hwdep_read() (Jaroslav Kysela) [1917388] - ALSA: oxfw: remove an unnecessary condition in hwdep_read() (Jaroslav Kysela) [1917388] - ALSA: dice: add support for Lexicon I-ONIX FW810s (Jaroslav Kysela) [1917388] - ALSA: firewire-tascam: Fix integer overflow in midi_port_work() (Jaroslav Kysela) [1917388] - ALSA: fireface: Fix integer overflow in transmit_midi_msg() (Jaroslav Kysela) [1917388] - ALSA: firewire: Clean up a locking issue in copy_resp_to_buf() (Jaroslav Kysela) [1917388] - ALSA: firewire: fix comparison to bool warning (Jaroslav Kysela) [1917388] - ALSA: firewire: Replace tasklet with work (Jaroslav Kysela) [1917388] - ALSA: firewire: convert tasklets to use new tasklet_setup() API (Jaroslav Kysela) [1917388] - ALSA: vx: Use roundup() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: pcsp: Fix fall-through warnings for Clang (Jaroslav Kysela) [1917388] - ALSA: dummy: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: aloop: Fix initialization of controls (Jaroslav Kysela) [1917388] - ALSA: aloop: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: atmel: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1917388] - ASoC: SOF: ext_manifest: use explicit number for elem_type (Jaroslav Kysela) [1917388] - ASoC: soc-acpi: allow for partial match in parent name (Jaroslav Kysela) [1917388] - ASoC: soc-acpi: add helper to identify parent driver. (Jaroslav Kysela) [1917388] - ASoC: soc-acpi: add new fields for mach_params (Jaroslav Kysela) [1917388] - ASoC: rt5682: Add a new property for the DMIC clock driving (Jaroslav Kysela) [1917388] - ALSA: hda: Change AZX_MAX_BUF_SIZE from 1GB to 4MB (Jaroslav Kysela) [1917388] - soundwire: sysfs: Constify static struct attribute_group (Jaroslav Kysela) [1917388] - ALSA: remove trailing semicolon in macro definition (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: don't send DAI_CONFIG IPC for older firmware (Jaroslav Kysela) [1917388] - ASoC: SOF: use current DAI config during resume (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: Update ADL P to use its own descriptor (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: add missing use_acpi_target_states for TGL platforms (Jaroslav Kysela) [1917388] - ASoC: SOF: topology: remove useless code (Jaroslav Kysela) [1917388] - ASoC: SOF: Kconfig: fix typo of SND_SOC_SOF_PCI (Jaroslav Kysela) [1917388] - ASOC: SOF: simplify nocodec mode (Jaroslav Kysela) [1917388] - ASoC: SOF: pcm: export snd_pcm_dai_link_fixup (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: update set_mach_params() (Jaroslav Kysela) [1917388] - ASoC: SOF: change signature of set_mach_params() callback (Jaroslav Kysela) [1917388] - ASoC: SOF: add Kconfig option for probe workqueues (Jaroslav Kysela) [1917388] - ASoC: SOF: Simplify sof_probe_complete handling for acpi/pci/of (Jaroslav Kysela) [1917388] - ASoC: SOF: core: Add missing error prints to device probe operation (Jaroslav Kysela) [1917388] - ASoC: SOF: match SSP config with pcm hw params (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: HDA: add hw params callback for SSP DAIs (Jaroslav Kysela) [1917388] - ASoC: SOF: parse multiple SSP DAI and hw configs (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: drop display power on/off in D0i3 flows (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: move ELH chip info (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: APL: set shutdown callback to hda_dsp_shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: CNL: set shutdown callback to hda_dsp_shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: ICL: set shutdown callback to hda_dsp_shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: TGL: set shutdown callback to hda_dsp_shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: TGL: fix EHL ops (Jaroslav Kysela) [1917388] - ASoC: SOF: core: harden shutdown helper (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: HDA: fix core status verification (Jaroslav Kysela) [1917388] - ASoC: SOF: add a helper to get topology configured mclk (Jaroslav Kysela) [1917388] - ASoC: SOF: only allocate debugfs cache buffers for IPC flood entries (Jaroslav Kysela) [1917388] - ASoC: SOF: fix debugfs initialisation error handling (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: enable async suspend (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: turn off display power in resume (Jaroslav Kysela) [1917388] - ASoC: SOF: intel: fix wrong poll bits in dsp power down (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: unregister DMIC device on probe error (Jaroslav Kysela) [1917388] - ALSA: hda: move Intel SoundWire ACPI scan to dedicated module (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: SoundWire: simplify Kconfig (Jaroslav Kysela) [1917388] - ASoC: SOF: pci: move DSP_CONFIG use to platform-specific drivers (Jaroslav Kysela) [1917388] - ASoC: SOF: pci: split PCI into different drivers (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: add sof_icl_ops for ICL platforms (Jaroslav Kysela) [1917388] - ASoC: SOF: ACPI: avoid reverse module dependency (Jaroslav Kysela) [1917388] - ASoC: SOF: relax ABI checks and avoid unnecessary warnings (Jaroslav Kysela) [1917388] - ASoC: SOF: fix runtime pm usage mismatch after probe errors (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: add dev_dbg() when DMIC number is overridden (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: HDA: don't keep a temporary variable (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: detect DMIC number in SoundWire mixed config (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: SoundWire: refine ACPI match (Jaroslav Kysela) [1917388] - ASoC: SOF: HDA: (cosmetic) simplify hda_dsp_d0i3_work() (Jaroslav Kysela) [1917388] - ASoC: SOF: remove unused functions (Jaroslav Kysela) [1917388] - ASoC: SOF: fix string format for errors (Jaroslav Kysela) [1917388] - ASoC: SOF: add missing pm debug (Jaroslav Kysela) [1917388] - ASoC: SOF: sof-pci-dev: add missing Up-Extreme quirk (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: release display power at link_power (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: use hdac_ext fine-grained link management (Jaroslav Kysela) [1917388] - ASoC: SOF: debug: Fix a potential issue on string buffer termination (Jaroslav Kysela) [1917388] - ASoC: SOF: add be_hw_params_fixup() for ALH (Jaroslav Kysela) [1917388] - ASoC: SOF: topology: Prevent NULL pointer dereference with no TLV (Jaroslav Kysela) [1917388] - ASoC: SOF: intel: hda-loader: use snd_sof_dsp_core_power_down/up APIs (Jaroslav Kysela) [1917388] - ASoC: SOF: Filter out unneeded core power up/downs (Jaroslav Kysela) [1917388] - ASoC: SOF: update dsp core power status in common APIs (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda-loader: keep init cores alive (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: use snd_sof_dsp_core_power_up/down API (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: cancel D0i3 work during runtime suspend (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: Enable DMI L1 for trace (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: enable DMI L1 for D0i3-compatible streams (Jaroslav Kysela) [1917388] - ASoC: SOF: add a pointer to download repo in case FW request fails (Jaroslav Kysela) [1917388] - ASoC: SOF: SND_INTEL_DSP_CONFIG dependency (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: soundwire: fix select/depend unmet dependencies (Jaroslav Kysela) [1917388] - ASoC: SOF: intel: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: initial support to AlderLake-P (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: tgl: do thorough remove at .shutdown() callback (Jaroslav Kysela) [1917388] - ASoC: SOF: sof-pci-dev: add .shutdown() callback (Jaroslav Kysela) [1917388] - ASoC: SOF: add snd_sof_device_shutdown() helper for shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: add .shutdown() callback to snd_sof_dsp_ops (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: Avoid checking jack on system suspend (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: Modify existing helper to disable WAKEEN (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: Resume codec to do jack detection (Jaroslav Kysela) [1917388] - ASoC: SOF: add mutex to protect the dsp_power_state access (Jaroslav Kysela) [1917388] - ASoC: SOF: Fix spelling mistake in Kconfig "ond" -> "and" (Jaroslav Kysela) [1917388] - ASoC: SOF: imx: update kernel-doc description (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: add SoundWire support for ADL-S (Jaroslav Kysela) [1917388] - ASoC: SOF: control: fix cppcheck warning in snd_sof_volume_info() (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: allow for coexistence between SOF and catpt drivers (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: allow for coexistence between SOF and Atom/SST drivers (Jaroslav Kysela) [1917388] - ASoC: SOF: acpi: add dynamic selection of DSP driver (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: initial support for Alderlake-S (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: fix Kconfig dependency for SND_INTEL_DSP_CONFIG (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: fix Kconfig punctuation and wording (Jaroslav Kysela) [1917388] - ASoC: SOF: Kconfig: fix Kconfig punctuation and wording (Jaroslav Kysela) [1917388] - ASoC: SOF: imx: fix Kconfig punctuation (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Lenovo Miix 3-830 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Glavey TM800A550L tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: KMB: Fix random noise at the HDMI output (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add quirk for new ADL-P Rvp (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: add ADL jack-less SoundWire configurations (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: add ADL SoundWire base configurations (Jaroslav Kysela) [1917388] - ASoC: Intel: kbl_da7219_max98927: Fix kabylake_ssp_fixup function (Jaroslav Kysela) [1917388] - ASoC: Intel: KMB: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoc: Intel: board: add BE DAI link for WoV (Jaroslav Kysela) [1917388] - ASoC: Intel: kbl: Add MST route change to kbl machine drivers (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_rt5672: Set card.components string (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_rt5672: Add support for Bay Trail CR / SSP0 (Jaroslav Kysela) [1917388] - ASoC: Intel: Baytrail: Add quirk for the Dell Venue 10 Pro 5055 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: Unify the thinkpad10 and aegex10 byt-match quirks (Jaroslav Kysela) [1917388] - ASoC: Intel: Boards: cml_da7219_max98390: add capture stream for echo reference (Jaroslav Kysela) [1917388] - ASoC: Intel: Fix a typo (Jaroslav Kysela) [1917388] - ASoC: Intel: Fix a typo (Jaroslav Kysela) [1917388] - ASoC: Intel: Fix a typo (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Hi8 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: add max98390 echo reference support (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_wm5102: Add jack detect support (Jaroslav Kysela) [1917388] - ASoC: intel: atom: Remove 44100 sample-rate from the media and deep-buffer DAI descriptions (Jaroslav Kysela) [1917388] - ASoC: intel: atom: Stop advertising non working S24LE support (Jaroslav Kysela) [1917388] - ASoC: intel: sof_rt5682: use the topology mclk (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_rt5682: Add ALC1015Q-VB speaker amp support (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: skl-topology: fix -frame-larger-than (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add used AIF to the components string (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Enable jack-detect support on Asus T100TAF (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_wm5102: remove unused static variable (Jaroslav Kysela) [1917388] - ASoC: Intel: atom: fix kernel-doc (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: remove TGL RVP mixed SoundWire/TDM config (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: remove unused TGL table with rt5682 only (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: Compile when any configuration is selected (Jaroslav Kysela) [1917388] - ASoC: Intel: boards: sof-wm8804: add check for PLL setting (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 10-p0XX OVCD current threshold (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5651: Add quirk for the Jumper EZpad 7 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: add ACPI matching table for HP Spectre x360 (Jaroslav Kysela) [1917388] - ASoC: intel: sof_sdw: add trace for dai links (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: detect DMIC number based on mach params (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add mic:dmic and cfg-mics component strings (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add quirk for HP Spectre x360 convertible (Jaroslav Kysela) [1917388] - ASoC: Intel: sof-sdw: indent and add quirks consistently (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: reorganize quirks by generation (Jaroslav Kysela) [1917388] - ASoC: Intel: boards: max98373: get dapm from cpu_dai (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_wm5102: Add machine driver for BYT/WM5102 (Jaroslav Kysela) [1917388] - ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr() (Jaroslav Kysela) [1917388] - ASoC: Intel: KMB: Support IEC958 encoded PCM format (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A3E (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A32 (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A5E (Jaroslav Kysela) [1917388] - ASoC: Intel: remove unneeded semicolon (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Wake up device before configuring SSP port (Jaroslav Kysela) [1917388] - ASoC: Intel: remove duplicate MODULE_LICENSE/DESCRIPTION tags (Jaroslav Kysela) [1917388] - ASoC: Intel: adl: remove sof_fw_filename setting in ADL snd_soc_acpi_mach (Jaroslav Kysela) [1917388] - ASoC: Intel: common: add ACPI matching tables for Alder Lake (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: Zero snd_ctl_elem_value (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: skl-topology: Fix OOPs ib skl_tplg_complete (Jaroslav Kysela) [1917388] - ASoC: intel: skl: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_nau8824: Move snd_soc_dai_set_tdm_slot call to cht_codec_fixup (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Mele PCG03 Mini PC (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add new BYT_RT5640_NO_INTERNAL_MIC_MAP input-mapping (Jaroslav Kysela) [1917388] - ASoC: Intel: byt/cht: set pm ops dynamically (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove sst_pdata structure (Jaroslav Kysela) [1917388] - ASoC: Intel: Make atom components independent of sst-dsp (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove SST-legacy specific constants (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove unused DSP operations (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove SST firmware components (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove SST ACPI component (Jaroslav Kysela) [1917388] - ASoC: Intel: Select catpt and deprecate haswell (Jaroslav Kysela) [1917388] - ASoC: Intel: bdw-5677: Remove haswell-solution specific code (Jaroslav Kysela) [1917388] - ASoC: Intel: bdw-5650: Remove haswell-solution specific code (Jaroslav Kysela) [1917388] - ASoC: Intel: broadwell: Remove haswell-solution specific code (Jaroslav Kysela) [1917388] - ASoC: Intel: haswell: Remove haswell-solution specific code (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Simple sysfs attributes (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Event tracing (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Device driver lifecycle (Jaroslav Kysela) [1917388] - drivers: provide devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: PCM operations (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Firmware loading and context restore (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Define DSP operations (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Add IPC message handlers (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Implement IPC protocol (Jaroslav Kysela) [1917388] - ASoC: Intel: Add catpt base members (Jaroslav Kysela) [1917388] - resource: Introduce resource_intersection() for overlapping resources (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for ARCHOS Cesium 140 (Jaroslav Kysela) [1917388] - ASoC: Intel: boards: byt/cht: set card and driver name at run time (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add new BYT_RT5640_NO_SPEAKERS quirk-flag (Jaroslav Kysela) [1917388] - ASoC: Intel: KMB: Enable DMA transfer mode (Jaroslav Kysela) [1917388] - ASoC: Intel: keembay: use inclusive language for bclk and fsync (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcht_es8316: Remove comment about SSP0 being untested (Jaroslav Kysela) [1917388] - ASoC: rt1015: remove bclk_ratio (Jaroslav Kysela) [1917388] - ASoC: cs42l73: Add missing regmap use_single config (Jaroslav Kysela) [1917388] - ASoC: cs53l30: Add missing regmap use_single config (Jaroslav Kysela) [1917388] - ASoC: sti-sas: add missing MODULE_DEVICE_TABLE (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Regmap must use_single_read/write (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: fix the function number of SDCA control for feature unit 0x1E (Jaroslav Kysela) [1917388] - ASoC: da7219: do not request a new clock consummer reference (Jaroslav Kysela) [1917388] - ASoC: max98088: fix ni clock divider calculation (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: add the notification when volume changed (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: change capture switch controls (Jaroslav Kysela) [1917388] - ASoC: da7219: properly get clk from the provider (Jaroslav Kysela) [1917388] - ASoC: wcd934x: use the clock provider API (Jaroslav Kysela) [1917388] - ASoC: adau17x1: Avoid overwriting CHPF (Jaroslav Kysela) [1917388] - ASoC: ak4458: enable daisy chain (Jaroslav Kysela) [1917388] - ASoC: rt1015p: add support on format S32_LE (Jaroslav Kysela) [1917388] - ASoC: rt286: Generalize support for ALC3263 codec (Jaroslav Kysela) [1917388] - ASoC: rt298: Configure combo jack for headphones (Jaroslav Kysela) [1917388] - ASoC: rt286: Configure combo jack for headphones (Jaroslav Kysela) [1917388] - ASoC: sigmadsp: Disable cache mechanism for readbacks (Jaroslav Kysela) [1917388] - ASoC: rt286: Make RT286_SET_GPIO_* readable and writable (Jaroslav Kysela) [1917388] - ASoC: rt286: Fix upper byte in DMIC2 configuration (Jaroslav Kysela) [1917388] - ASoC: ak4458: check reset control status (Jaroslav Kysela) [1917388] - ASoC: codecs: rt5682: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt715: remove kcontrols which no longer be used (Jaroslav Kysela) [1917388] - ASoC: rt715: add main capture switch and main capture volume (Jaroslav Kysela) [1917388] - ASoC: rt715: modification for code simplicity (Jaroslav Kysela) [1917388] - ASoC: codecs: wcd934x: Fix missing IRQF_ONESHOT as only threaded handler (Jaroslav Kysela) [1917388] - ASoC: cs35l35: remove unused including (Jaroslav Kysela) [1917388] - ASoC: ak5558: correct reset polarity (Jaroslav Kysela) [1917388] - ASoC: cs35l36: Fix an error handling path in 'cs35l36_i2c_probe()' (Jaroslav Kysela) [1917388] - ASoC: cs35l35: Fix an error handling path in 'cs35l35_i2c_probe()' (Jaroslav Kysela) [1917388] - ASoC: wcd9335: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: rt1019: remove registers to sync with rt1019 datasheet (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: wcd934x: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: rt715-sdca: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: tas2770: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: cx2072x: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: rt1019: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: add AIC3106 (Jaroslav Kysela) [1917388] - ASoC: codecs: wsa881x: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: codecs: Fix runtime PM imbalance in tas2552_probe (Jaroslav Kysela) [1917388] - ASoC: rt1011: remove pack_id check in rt1011 (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: add SPI support (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: move I2C to separated file (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: rename probe function (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: move model definitions (Jaroslav Kysela) [1917388] - ASoC: max98390: Add support for tx slot configuration. (Jaroslav Kysela) [1917388] - ASoC: ak5558: Fix s/show/slow/ typo (Jaroslav Kysela) [1917388] - ASoC: tlv320aic32x4: Register clocks before registering component (Jaroslav Kysela) [1917388] - ASoC: tlv320aic32x4: Increase maximum register in regmap (Jaroslav Kysela) [1917388] - ASoC: rt5670: Add a rt5670_components() helper (Jaroslav Kysela) [1917388] - ASoC: rt5670: Add a quirk for the Dell Venue 10 Pro 5055 (Jaroslav Kysela) [1917388] - ASoC: da732x: simplify code (Jaroslav Kysela) [1917388] - ASoC: lm49453: fix useless assignment before return (Jaroslav Kysela) [1917388] - ASoC: mediatek: mt6359: Fix spelling mistake "reate" -> "create" (Jaroslav Kysela) [1917388] - ASoC: mediatek: mt6359: add MT6359 accdet jack driver (Jaroslav Kysela) [1917388] - ASoC: max98373: Added 30ms turn on/off time delay (Jaroslav Kysela) [1917388] - ASoC: max98373: Changed amp shutdown register as volatile (Jaroslav Kysela) [1917388] - ASoC: wm8960: Remove bitclk relax condition in wm8960_configure_sysclk (Jaroslav Kysela) [1917388] - ASoC: max98373: Added controls for autorestart config (Jaroslav Kysela) [1917388] - ASoC: rt1015: Add bclk detection and dc detection (Jaroslav Kysela) [1917388] - ASoC: wm8960: Fix wrong bclk and lrclk with pll enabled for some chips (Jaroslav Kysela) [1917388] - ASoC: rt1019: make symbol 'rt1019_i2c_driver' static (Jaroslav Kysela) [1917388] - ASoC: rt1019: add rt1019 amplifier driver (Jaroslav Kysela) [1917388] - ASoC: tscs454: remove useless test on PLL disable (Jaroslav Kysela) [1917388] - ASoC: tlv320dac33: clarify expression (Jaroslav Kysela) [1917388] - ASoC: tas2770: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: tas2562: remove warning on return value (Jaroslav Kysela) [1917388] - ASoC: tas2562: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: sti-sas: remove unused struct members (Jaroslav Kysela) [1917388] - ASoC: sigmadsp: align function prototype (Jaroslav Kysela) [1917388] - ASoC: pcm1681: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: nau8825: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: mt6359: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: mt6358: remove useless initializations (Jaroslav Kysela) [1917388] - ASoC: max98090: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: hdmi-codec: remove unused spk_mask member (Jaroslav Kysela) [1917388] - ASoC: hdmi-codec: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: hdac_hdmi: align function arguments (Jaroslav Kysela) [1917388] - ASoC: hdac_hdmi: remove useless initializations (Jaroslav Kysela) [1917388] - ASoC: da7219-aad: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: cx2070x: remove duplicate else branch (Jaroslav Kysela) [1917388] - ASoC: cx2070x: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: adau1977: remove useless return (Jaroslav Kysela) [1917388] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 (Jaroslav Kysela) [1917388] - ASoC: ad1836: remove useless return (Jaroslav Kysela) [1917388] - ASoC: ab8500-codec: remove useless structure (Jaroslav Kysela) [1917388] - ASoC: rt711: add snd_soc_component remove callback (Jaroslav Kysela) [1917388] - ASoC: rt5659: Update MCLK rate in set_sysclk() (Jaroslav Kysela) [1917388] - ASoC: rt5640: Rename 'Mono DAC Playback Volume' to 'DAC2 Playback Volume' (Jaroslav Kysela) [1917388] - ASoC: rt1015p: add acpi device id for rt1015p (Jaroslav Kysela) [1917388] - ASoC: wm_hubs: align function prototype (Jaroslav Kysela) [1917388] - ASoC: wm_adsp: simplify return value (Jaroslav Kysela) [1917388] - ASoC: wm8996: clarify expression (Jaroslav Kysela) [1917388] - ASoC: wm8994: align function prototype (Jaroslav Kysela) [1917388] - ASoC: wm8978: clarify expression (Jaroslav Kysela) [1917388] - ASoC: wm8958-dsp2: rename local 'control' arrays (Jaroslav Kysela) [1917388] - ASoC: arizona: fix function argument (Jaroslav Kysela) [1917388] - ASoC: wm2200: remove unused structure (Jaroslav Kysela) [1917388] - ASoC: rt5682: add delay time of workqueue to control next IRQ event (Jaroslav Kysela) [1917388] - ASoC: rt715-sdca: Remove unused including (Jaroslav Kysela) [1917388] - ASoC: rt715-sdca: Fix return value check in rt715_sdca_sdw_probe() (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Set clock source for both ways of stream (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Provide finer control on playback path (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Disable regulators if probe fails (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Remove power if the driver is being removed (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: Add RT711 SDCA vendor-specific driver (Jaroslav Kysela) [1917388] - ASoC: rt5645: The ALC3270 variant does not have a headset-mic pin (Jaroslav Kysela) [1917388] - ASoC: rt5645: Move rt5645_platform_data to sound/soc/codecs/rt5645.c (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Remove superfluous error message (Jaroslav Kysela) [1917388] - ASoC: rt715-sdca: Add RT715 sdca vendor-specific driver (Jaroslav Kysela) [1917388] - ASoC: wm8962: Relax bit clock divider searching (Jaroslav Kysela) [1917388] - ASoC: rt1316: Fix return value check in rt1316_sdw_probe() (Jaroslav Kysela) [1917388] - ASoC: sgtl5000: Fix identation of .driver elements (Jaroslav Kysela) [1917388] - ASoC: codec: Omit superfluous error message in jz4760_codec_probe() (Jaroslav Kysela) [1917388] - ASoC: sigmadsp-regmap: fix kernel-doc warning (Jaroslav Kysela) [1917388] - ASoC: rt5631: fix kernel-doc warning (Jaroslav Kysela) [1917388] - ASoC: jz4760: fix set but not used warning (Jaroslav Kysela) [1917388] - ASoC: cs4270: fix kernel-doc (Jaroslav Kysela) [1917388] - ASoC: rt5682: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: rt5682: remove useless assignments (Jaroslav Kysela) [1917388] - ASoC: rt5682: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5677: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: rt5677: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5670: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5668: remove useless assignments (Jaroslav Kysela) [1917388] - ASoC: rt5668: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5665: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5663: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5660: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5659: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5651: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: rt5651: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5645: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5645: use logical OR (Jaroslav Kysela) [1917388] - ASoC: rt5640: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1308: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1305: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1016: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1015: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1011: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1011: remove redundant test (Jaroslav Kysela) [1917388] - ASoC: rt1011: use logical OR (Jaroslav Kysela) [1917388] - ASoC: wm8524: Do not print probe defer error (Jaroslav Kysela) [1917388] - ASoC: codecs: nau8825: fix kernel-doc (Jaroslav Kysela) [1917388] - ASoC: rt1316: Add RT1316 SDCA vendor-specific driver (Jaroslav Kysela) [1917388] - ASoc: rt5631: Constify static struct coeff_clk_div (Jaroslav Kysela) [1917388] - ASoC: rt*: Constify static struct acpi_device_id (Jaroslav Kysela) [1917388] - ASoC: rt*: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: rt*: Constify static struct sdw_slave_ops (Jaroslav Kysela) [1917388] - ASoC: wcd934x: remove useless return (Jaroslav Kysela) [1917388] - ASoC: wcd9335: clarify return value (Jaroslav Kysela) [1917388] - ASoC: wcd-clsh-v2: align function prototypes (Jaroslav Kysela) [1917388] - ASoC: codecs: wcd934x: add a sanity check in set channel map (Jaroslav Kysela) [1917388] - ASoC: es8316: Simplify adc_pga_gain_tlv table (Jaroslav Kysela) [1917388] - ASoC: sgtl5000: set DAP_AVC_CTRL register to correct default value on probe (Jaroslav Kysela) [1917388] - ASoC: rt5651: Fix dac- and adc- vol-tlv values being off by a factor of 10 (Jaroslav Kysela) [1917388] - ASoC: rt5640: Fix dac- and adc- vol-tlv values being off by a factor of 10 (Jaroslav Kysela) [1917388] - ASoC: rt5670: Add emulated 'DAC1 Playback Switch' control (Jaroslav Kysela) [1917388] - ASoC: rt5670: Remove ADC vol-ctrl mute bits poking from Sto1 ADC mixer settings (Jaroslav Kysela) [1917388] - ASoC: rt5670: Remove 'HP Playback Switch' control (Jaroslav Kysela) [1917388] - ASoC: rt5670: Remove 'OUT Channel Switch' control (Jaroslav Kysela) [1917388] - ASoC: rt1015: fix i2c communication error (Jaroslav Kysela) [1917388] - ASoC: codec: Add driver for JZ4760 internal codec (Jaroslav Kysela) [1917388] - ASoC: codec/ingenic: Depend on MACH_INGENIC (Jaroslav Kysela) [1917388] - ASoC: codec: hdmi-codec: Support IEC958 encoded PCM format (Jaroslav Kysela) [1917388] - ASoC: rt5682: Fix panic in rt5682_jack_detect_handler happening during system shutdown (Jaroslav Kysela) [1917388] - ASoC: rt5682: do nothing in rt5682_suspend/resume in sdw mode (Jaroslav Kysela) [1917388] - ASoC: rt5682-sdw: cancel_work_sync() in .remove and .suspend (Jaroslav Kysela) [1917388] - ASoC: rt711-sdw: use cancel_work_sync() for .remove (Jaroslav Kysela) [1917388] - ASoC: rt700-sdw: use cancel_work_sync() in .remove as well as .suspend (Jaroslav Kysela) [1917388] - ASoC: mt6359: reduce log verbosity for optional DT properties (Jaroslav Kysela) [1917388] - ASoC: codecs: add missing max_register in regmap config (Jaroslav Kysela) [1917388] - ASoC: cpcap: fix microphone timeslot mask (Jaroslav Kysela) [1917388] - ASoC: rt5659: Add Kconfig prompt (Jaroslav Kysela) [1917388] - ASoC: max98373: Fixes a typo in max98373_feedback_get (Jaroslav Kysela) [1917388] - ASoC: ak4458: correct reset polarity (Jaroslav Kysela) [1917388] - ASoC: rt5682: remove connection with LDO2 in DAPM graph (Jaroslav Kysela) [1917388] - ASoC: ml26124: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: lm49453: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: inno_rk3036: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: cx2072x: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: alc5632: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: ab8500: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: lochnagar-sc: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: mt6660: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: mc13783: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: sgtl5000: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: ssm2602: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: zl38060: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: jz4740: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: ak*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: tscs*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: max*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: es*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: da*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: nau*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: rt*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: tlv*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: wm*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: remove sirf prima/atlas drivers (Jaroslav Kysela) [1917388] - ASoC: codecs: soundwire: increase resume timeout (Jaroslav Kysela) [1917388] - ASoC: es8316: Fix possible NULL pointer deref in es8316_disable_jack_detect() (Jaroslav Kysela) [1917388] - ASoC: rt5682: enable fast discharge for headset unplugging (Jaroslav Kysela) [1917388] - ASoC: rt5682: fix getting the wrong device id when the suspend_stress_test (Jaroslav Kysela) [1917388] - ASoC: rt5645: Enable internal microphone and JD on ECS EF20 (Jaroslav Kysela) [1917388] - ASoC: rt5645: add inv_hp_det flag (Jaroslav Kysela) [1917388] - ASoC: rt5645: Add ACPI-defined GPIO for ECS EF20 series (Jaroslav Kysela) [1917388] - ASoC: rt5645: Introduce mapping for ACPI-defined GPIO (Jaroslav Kysela) [1917388] - ASoC: rt1015: re-calibrate again when resuming (Jaroslav Kysela) [1917388] - ASoC: rt5645: Remove the redundant delay time (Jaroslav Kysela) [1917388] - ASoC: rt1015: remove unneeded variables in rt1015_priv (Jaroslav Kysela) [1917388] - ASoC: rt1015: refactor retry loop and rt1015_priv allocation (Jaroslav Kysela) [1917388] - ASoC: rt1015: return error if any when setting bypass_boost (Jaroslav Kysela) [1917388] - ASoC: rt1015: save boost_mode only if valid (Jaroslav Kysela) [1917388] - ASoC: rt1015: sort header inclusions (Jaroslav Kysela) [1917388] - ASoC: Intel: common: Fix some typos (Jaroslav Kysela) [1917388] - ASoC: soc.h: remove for_each_rtd_dais_rollback() (Jaroslav Kysela) [1917388] - ASoC: soc.h: return error if multi platform at snd_soc_fixup_dai_links_platform_name() (Jaroslav Kysela) [1917388] - ASoC: soc.h: fixup return timing for snd_soc_fixup_dai_links_platform_name() (Jaroslav Kysela) [1917388] - ASoC: soc.h: add asoc_link_to_cpu/codec/platform() macro (Jaroslav Kysela) [1917388] - ASoC: add soc-jack.h (Jaroslav Kysela) [1917388] - ASoC: soc-dai.h: Align the word of comment for SND_SOC_DAIFMT_CBC_CFC (Jaroslav Kysela) [1917388] - ASoC: soc-core: fix always-false condition (Jaroslav Kysela) [1917388] - ASoC: soc-core: fix signed/unsigned issue (Jaroslav Kysela) [1917388] - ASoC: soc-acpi: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: ignore dummy-DAI at soc_pcm_params_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-utils: add snd_soc_component_is_dummy() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate DAI name if soc_pcm_params_symmetry() failed (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: don't use "name" on __soc_pcm_params_symmetry() macro (Jaroslav Kysela) [1917388] - ASoC: core: Don't set platform name when of_node is set (Jaroslav Kysela) [1917388] - ASoC: soc-compress: lock pcm_mutex to resolve lockdep error (Jaroslav Kysela) [1917388] - ASoC: soc-core: use device_unregister() if rtd allocation failed (Jaroslav Kysela) [1917388] - ASoC: soc-core: add comment for rtd freeing (Jaroslav Kysela) [1917388] - ASoC: soc-component: Add snd_soc_pcm_component_ack (Jaroslav Kysela) [1917388] - ASoC: don't indicate error message for snd_soc_[pcm_]component_xxx() (Jaroslav Kysela) [1917388] - ASoC: don't indicate error message for snd_soc_[pcm_]dai_xxx() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: don't indicate error message for dpcm_be_dai_hw_free() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: don't indicate error message for soc_pcm_hw_free() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_fe/be_dai_prepare() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_fe/be_dai_hw_params() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_fe/be_dai_startup() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_run_update_startup/shutdown() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_apply_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_be_dai_trigger() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_path_get() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at soc_pcm_prepare() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at soc_pcm_hw_params() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at soc_pcm_open() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: share DPCM BE DAI stop operation (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove unneeded !rtd->dai_link check (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fixup dpcm_be_dai_startup() user count (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_hw_sanity_check() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_update_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: direct copy at snd_soc_set_runtime_hwparams() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_cpu/codec_dai_name() macro (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: check DAI activity under soc_pcm_apply_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-core: fix DMI handling (Jaroslav Kysela) [1917388] - ASoC: soc-dai: fix kernel-doc (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add error log (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove shadowing variable (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove redundant assignment (Jaroslav Kysela) [1917388] - ASoC: soc-ops: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: unpack dpcm_set_fe_runtime() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add dpcm_runtime_setup() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add dpcm_runtime_setup_fe() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: unpack dpcm_init_runtime_hw() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove strange format storing (Jaroslav Kysela) [1917388] - ASoC: soc-core: Prevent warning if no DMI table is present (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fix hw param limits calculation for multi-DAI (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fix hwparams min/max init for dpcm (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_hw_update_format() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_hw_update_chan() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_hw_update_rate() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: change error message to debug message (Jaroslav Kysela) [1917388] - ASoC: dapm: use component prefix when checking widget names (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fixup snd_pcm_limit_hw_rates() timing (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: use snd_pcm_hardware at dpcm_runtime_merge_xxx() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_create_pcm() and simplify soc_new_pcm() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_get_playback_capture() and simplify soc_new_pcm() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: tidyup pcm setting (Jaroslav Kysela) [1917388] - ASoC: soc-component: fix undefined reference to __ffssi2 (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_read/write_field() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: cleanup soc_pcm_params_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: cleanup soc_pcm_apply_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-dai.h: remove symmetric_rates/samplebits (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_set_dai_params() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add dpcm_set_be_update_state() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: move dpcm_set_fe_update_state() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: Fix an uninitialized error code (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: return correct -ERRNO in failure path (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: disconnect BEs if the FE is not ready (Jaroslav Kysela) [1917388] - ASoC: dapm: remove widget from dirty list on free (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: care trigger rollback (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove dpcm_do_trigger() (Jaroslav Kysela) [1917388] - ASoC: pcm: send DAPM_STREAM_STOP event in dpcm_fe_dai_shutdown (Jaroslav Kysela) [1917388] - ASoC: soc-core: tidyup jack.h (Jaroslav Kysela) [1917388] - ASoC: soc-core: add soc_dapm_suspend_resume() (Jaroslav Kysela) [1917388] - ASoC: soc-core: add soc_playback_digital_mute() (Jaroslav Kysela) [1917388] - ASoC: soc-compress: add soc_compr_clean() and call it from soc_compr_open/free() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add mark for snd_soc_link_compr_startup/shutdown() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add mark for snd_soc_component_compr_open/free() (Jaroslav Kysela) [1917388] - ASoC: soc-dai: add mark for snd_soc_dai_compr_startup/shutdown() (Jaroslav Kysela) [1917388] - ASoC: soc-compress: move soc_compr_free() next to soc_compr_open() (Jaroslav Kysela) [1917388] - ASoC: pcm: call snd_soc_dapm_stream_stop() in soc_pcm_hw_clean (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_get_metadata() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_set_metadata() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_copy() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_pointer() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_ack() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_get_codec_caps() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_get_caps() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_get_params() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_set_params() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_trigger() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_free() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_open() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: Get all BEs along DAPM path (Jaroslav Kysela) [1917388] - ASoC: soc-core: Fix component name_prefix parsing (Jaroslav Kysela) [1917388] - ASoC: soc-compress: assume SNDRV_PCM_STREAM_xxx and SND_COMPRESS_xxx are same (Jaroslav Kysela) [1917388] - ASoC: soc-compress: tidyup STREAM vs COMPRESS (Jaroslav Kysela) [1917388] - ASoC: soc-topology: clarify expression (Jaroslav Kysela) [1917388] - ASoC: sync parameter naming : rate / sample_bits (Jaroslav Kysela) [1917388] - ASoC: topology: Check if ops is set before dereference (Jaroslav Kysela) [1917388] - ASoC: topology: Ensure that needed parameters are set (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_hw_clean() and call it from soc_pcm_hw_params/free() (Jaroslav Kysela) [1917388] - ASoC: soc-dai: add mark for snd_soc_dai_hw_params/free() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add mark for snd_soc_pcm_component_hw_params/free() (Jaroslav Kysela) [1917388] - ASoC: soc-link: add mark for snd_soc_link_hw_params/free() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: move soc_pcm_hw_free() next to soc_pcm_hw_params() (Jaroslav Kysela) [1917388] - ASoC: dapm: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1917388] - ASoC: dmaengine: Document support for TX only or RX only streams (Jaroslav Kysela) [1917388] - ASoC: soc-core: use devm_snd_soc_register_card() (Jaroslav Kysela) [1917388] - ALSA: usb: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix control 'access overflow' errors from chmap (Jaroslav Kysela) [1917388] - ALSA: line6: Fix racy initialization of LINE6 MIDI (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Disable sample read check if firmware doesn't give back (Jaroslav Kysela) [1917388] - ALSA: usb-audio: scarlett2: snd_scarlett_gen2_controls_create() can be static (Jaroslav Kysela) [1917388] - ALSA: usb-audio: scarlett2: Improve driver startup messages (Jaroslav Kysela) [1917388] - ALSA: usb-audio: scarlett2: Fix device hang with ehci-pci (Jaroslav Kysela) [1917388] - ALSA: usb-audio: fix control-request direction (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix potential out-of-bounce access in MIDI EP parser (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Validate MS endpoint descriptors (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add dB range mapping for Sennheiser Communications Headset PC 8 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Remove redundant assignment to len (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix implicit sync clearance at stopping stream (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Generic application of implicit fb to Roland/BOSS devices (Jaroslav Kysela) [1917388] - Revert "ALSA: usb-audio: Add support for many Roland devices..." (Jaroslav Kysela) [1917388] - ALSA: usb: midi: don't return -ENOMEM when usb_urb_ep_type_check fails (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Re-apply implicit feedback mode to Pioneer devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: DJM-750: ensure format is set (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add support for many Roland devices' implicit feedback quirks (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Apply implicit feedback mode for BOSS devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Explicitly set up the clock selector (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Skip probe of UA-101 devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop implicit fb quirk entries dubbed for capture (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit feeback support for the BOSS GT-1 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add error checks for usb_driver_claim_interface() calls (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Apply sample rate quirk to Logitech Connect (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Check connector value on resume (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Carve out connector value checking into a helper (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix unintentional sign extension issue (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Apply the control quirk to Plantronics headsets (Jaroslav Kysela) [1917388] - ALSA: usb: Add Plantronics C320-M USB ctrl msg delay quirk (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix "cannot get freq eq" errors on Dell AE515 sound bar (Jaroslav Kysela) [1917388] - ALSA: usb-audio: fix Pioneer DJM-850 control label info (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Configure Pioneer DJM-850 samplerate (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Declare Pioneer DJM-850 mixer controls (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add Pioneer DJM-850 to quirks-table (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix Pioneer DJM devices URB_CONTROL request direction to set samplerate (Jaroslav Kysela) [1917388] - ALSA: usb-audio: use Corsair Virtuoso mapping for Corsair Virtuoso SE (Jaroslav Kysela) [1917388] - ALSA: usb-audio: generate midi streaming substream names from jack names (Jaroslav Kysela) [1917388] - ALSA: usb-audio: use usb headers rather than define structs locally (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Allow modifying parameters with succeeding hw_params calls (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop bogus dB range in too low level (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Don't abort even if the clock rate differs (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit fb quirk for BOSS GP-10 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add quirk for RC-505 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Don't avoid stopping the stream at disconnection (Jaroslav Kysela) [1917388] - ALSA: usb-audio: More strict state change in EP (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Handle invalid running state at releasing EP (Jaroslav Kysela) [1917388] - ALSA: usb-audio: add mixer quirks for Pioneer DJM-900NXS2 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add DJM750 to Pioneer mixer quirk (Jaroslav Kysela) [1917388] - ALSA: Convert strlcpy to strscpy when return value is unused (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Correct document for snd_usb_endpoint_free_all() (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add DJM-450 to the quirks table (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add DJM450 to Pioneer format quirk (Jaroslav Kysela) [1917388] - ALSA: usb-audio: workaround for iface reset issue (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix "RANGE setting not yet supported" errors (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Skip the clock selector inquiry for single connections (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix hw constraints dependencies (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add support for Pioneer DJM-750 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Avoid implicit feedback on Pioneer devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Set sample rate for all sharing EPs on UAC1 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix UAC1 rate setup for secondary endpoints (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Convert the last strlcpy() usage (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Convert remaining strlcpy() to strscpy() (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Always apply the hw constraints for implicit fb sync (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix implicit feedback sync setup for Pioneer devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Annotate the endpoint index in audioformat (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Avoid unnecessary interface re-setup (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Choose audioformat of a counter-part substream (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix the missing endpoints creations for quirks (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add quirk for BOSS AD-10 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add alias entry for ASUS PRIME TRX40 PRO-S (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix potential out-of-bounds shift (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit fb support for Steinberg UR22 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add support for Pioneer DJ DDJ-RR controller (Jaroslav Kysela) [1917388] - ALSA: usb-audio: US16x08: fix value count for level meters (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix MOTU M-Series quirks (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix quirks for other BOSS devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit_fb module option (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add generic implicit fb parsing (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Factor out the implicit feedback quirk code (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Quirk for BOSS GT-001 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Show sync endpoint information in proc outputs (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Use unsigned char for iface and altsettings fields (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Replace slave/master terms (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Simplify rate_min/max and rates set up (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Unify the code for the next packet size calculation (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop unneeded snd_usb_substream fields (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Refactoring endpoint URB deactivation (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Use atomic_t for endpoint use_count (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Constify audioformat pointer references (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix possible stall of implicit fb packet ring-buffer (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Refactor endpoint management (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix EP matching for continuous rates (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Always set up the parameters after resume (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add quirk for Pioneer DJ DDJ-SR2 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Set callbacks via snd_usb_endpoint_set_callback() (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Stop both endpoints properly at error (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Simplify snd_usb_init_pitch() arguments (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Simplify snd_usb_init_sample_rate() arguments (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Don't set altsetting before initializing sample rate (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Pass snd_usb_audio object to quirk functions (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add snd_usb_get_host_interface() helper (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop keep_interface flag again (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Create endpoint objects at parsing phase (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Avoid doubly initialization for implicit fb (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop debug.h (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Simplify hw_params rules (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add hw constraint for implicit fb sync (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Move snd_usb_autoresume() call out of setup_hw_info() (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Track implicit fb sync endpoint in audioformat list (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Improve some debug prints (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Set and clear sync EP link properly (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add snd_usb_get_endpoint() helper (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Check implicit feedback EP generically for UAC2 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Check valid altsetting at parsing rates for UAC2/3 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Don't call usb_set_interface() at trigger callback (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Handle discrete rates properly in hw constraints (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add delay quirk for all Logitech USB devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Use ALC1220-VB-DT mapping for ASUS ROG Strix TRX40 mobo (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit feedback quirk for Qu-16 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit feedback quirk for MODX (Jaroslav Kysela) [1917388] - ALSA: usb-audio: add usb vendor id as DSD-capable for Khadas devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Line6 Pod Go interface requires static clock rate quirk (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add mixer support for Pioneer DJ DJM-250MK2 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: reset eapd coeff to default value for alc287 (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: Cancel pending works before suspend (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132: Fix compile warning without PCI (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132: Move unsol callback setups to parser (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132: make some const arrays static, makes object smaller (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Add ZxR surround DAC setup. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Add 8051 PLL write helper functions. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Remove now unnecessary DSP setup functions. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Ensure DSP is properly setup post-firmware download. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Add 8051 exram helper functions. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Add stream port remapping function. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Reset codec upon initialization. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Change Input Source enum strings. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Fix AE-5 rear headphone pincfg. (Jaroslav Kysela) [1917388] - ALSA: hda: Reinstate runtime_allow() for all hda controllers (Jaroslav Kysela) [1917388] - ACPI: Test for ACPI_SUCCESS rather than !ACPI_FAILURE (Jaroslav Kysela) [1917388] - ALSA: hda: Flush pending unsolicited events before suspend (Jaroslav Kysela) [1917388] - ALSA: hda: Re-add dropped snd_poewr_change_state() calls (Jaroslav Kysela) [1917388] - ALSA: hda: Add missing sanity checks in PM prepare/complete callbacks (Jaroslav Kysela) [1917388] - ALSA: hda: Separate runtime and system suspend (Jaroslav Kysela) [1917388] - ALSA: hda: update the power_state during the direct-complete (Jaroslav Kysela) [1917388] - ALSA: hda: Balance runtime/system PM if direct-complete is disabled (Jaroslav Kysela) [1917388] - ALSA: hda: Refactor codec PM to use direct-complete optimization (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Set Initial DMIC volume to -26 dB (Jaroslav Kysela) [1917388] - ALSA: hda: Fix a regression in Capture Switch mixer read (Jaroslav Kysela) [1917388] - ALSA: hda: Add AlderLake-M PCI ID (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Zbook Fury 17 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Zbook Fury 15 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Zbook G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 855 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Chain in pop reduction fixup for ThinkStation P340 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: the bass speaker can't output sound on Yoga 9i (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Headphone volume is controlled by Front mixer (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add some CLOVE SSIDs of ALC293 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add fixup for HP Spectre x360 15-df0xxx (Jaroslav Kysela) [1917388] - ALSA: hda: fixup headset for ASUS GU502 laptop (Jaroslav Kysela) [1917388] - ALSA: hda: Fix for mute key LED for HP Pavilion 15-CK0xx (Jaroslav Kysela) [1917388] - ALSA: hda: generic: change the DAC ctl name for LO+SPK or LO+HP (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add fixup for HP OMEN laptop (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Fix speaker amp on HP Envy AiO 32 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Fix silent headphone output on ASUS UX430UA (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: ALC285 Thinkpad jack pin quirk is unreachable (Jaroslav Kysela) [1917388] - ALSA: hda/conexant: Re-order CX5066 quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Remove redundant entry for ALC861 Haier/Uniwill devices (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC662 quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order remaining ALC269 quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 Lenovo quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 Sony quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 ASUS quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 Dell quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 Acer quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 HP quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC882 Clevo quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC882 Sony quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC882 Acer quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add quirk for Intel Clevo PCx0Dx (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Use CS8409 filter to fix abnormal sounds on Bullseye (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Set Initial DMIC volume for Bullseye to -26 dB (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix static noise on ALC285 Lenovo laptops (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on EliteBook 845 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek - Headset Mic issue on HP platform (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: GA503 use same quirks as GA401 (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: fix race in handling acomp ELD notification at resume (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G7 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add quirk for Lenovo Ideapad S740 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mic boost on Intel NUC 8 (Jaroslav Kysela) [1917388] - ALSA: HDA: Add access description in __snd_hda_add_vmaster (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1 (Jaroslav Kysela) [1917388] - ALSA: hda/conexant: Apply quirk for another HP ZBook G5 model (Jaroslav Kysela) [1917388] - ALSA: HDA - remove the custom implementation for the audio LED trigger (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 640 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: fix max DP-MST dev_num for Intel TGL+ platforms (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: call alc_update_headset_mode() in hp_automute_hook (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 850 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 440 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Make CS8409 driver more generic by using fixups. (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Fix CS42L42 Headset Mic volume control name (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Cleanup patch_cirrus.c code. (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Add error handling into CS8409 I2C functions (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 840 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: apply pin quirk for XiaomiNotebook Pro (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Apply headset-mic quirks for Xiaomi Redmibook Air (Jaroslav Kysela) [1917388] - ALSA: hda: generic: Fix the micmute led init state (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132: Add Sound BlasterX AE-5 Plus support (Jaroslav Kysela) [1917388] - ALSA: hda: Drop the BATCH workaround for AMD controllers (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Add Headphone and Headset MIC Volume Control (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Add jack detect interrupt support from CS42L42 companion codec. (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Add support for CS8409 HDA bridge and CS42L42 companion codec. (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Increase AUTO_CFG_MAX_INS from 8 to 18 (Jaroslav Kysela) [1917388] - ALSA: hda/conexant: Add quirk for mute LED control on HP ZBook G5 (Jaroslav Kysela) [1917388] - ALSA: hda - bind headset buttons to the headphone jack (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Apply dual codec quirks for MSI Godlike X570 board (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add quirk for Intel NUC 10 (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: let new platforms assign the pcm slot dynamically (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add quirk for Clevo NH55RZQ (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Enable headset mic of Acer SWIFT with ALC256 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup (Jaroslav Kysela) [1917388] - ALSA: hda: Add another CometLake-H PCI ID (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: Drop bogus check at closing a stream (Jaroslav Kysela) [1917388] - ALSA: hda: Drop power save deny list entry for Clevo W65_67SB (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: modify EAPD in the ALC886 (Jaroslav Kysela) [1917388] - ALSA: hda/via: Apply the workaround generically for Clevo machines (Jaroslav Kysela) [1917388] - ALSA: hda/tegra: Remove unnecessary null-check from hda_tegra_runtime_resume() (Jaroslav Kysela) [1917388] - ALSA: hda/tegra: Reset hardware (Jaroslav Kysela) [1917388] - ALSA: hda/tegra: Use clk_bulk helpers (Jaroslav Kysela) [1917388] - ALSA: hda: Assign boolean values to a bool variable (Jaroslav Kysela) [1917388] - ALSA: hda: boolean values to a bool variable (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Enable headset of ASUS B1400CEPE with ALC256 (Jaroslav Kysela) [1917388] - ALSA: pci: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ALSA: hda/via: Add minimum mute flag (Jaroslav Kysela) [1917388] - ALSA: hda/realtek - Limit int mic boost on Acer Aspire E5-575T (Jaroslav Kysela) [1917388] - ALSA: hda: Add AlderLake-P PCI ID and HDMI codec vid (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi - enable runtime pm for CI AMD display audio (Jaroslav Kysela) [1917388] - ALSA: hda/tegra: fix tegra-hda on tegra30 soc (Jaroslav Kysela) [1917388] - ALSA: hda: Revert "ALSA: hda: Allow setting preallocation again for x86" (Jaroslav Kysela) [1917388] - ALSA: hda: Fix spelling mistakes (Jaroslav Kysela) [1917388] - ALSA: hda: ignore invalid NHLT table (Jaroslav Kysela) [1917388] - ALSA: hda: intel-nhlt: verify config type (Jaroslav Kysela) [1917388] - ALSA: hda: fix kernel-doc warnings (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: add Alder Lake support (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: Add SND_INTEL_BYT_PREFER_SOF Kconfig option (Jaroslav Kysela) [1917388] - ALSA: hda: add link_power op to hdac_bus_ops (Jaroslav Kysela) [1917388] - ALSA: hda: Constify static attribute_group (Jaroslav Kysela) [1917388] - ALSA: hda: Use DIV_ROUND_UP()/roundup() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: ignore dsp_driver parameter for PCI legacy devices (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: add Broadwell ACPI DSP driver selection (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: add helper for ACPI DSP driver selection (Jaroslav Kysela) [1917388] - ALSA: pcm: Fix missing check of the new non-cached buffer type (Jaroslav Kysela) [1917388] - ALSA: pcm: use dma_can_mmap() to check if a device supports dma_mmap_* (Jaroslav Kysela) [1917388] - ALSA: timer: Fix master timer notification (Jaroslav Kysela) [1917388] - ALSA: control led: fix memory leak in snd_ctl_led_register (Jaroslav Kysela) [1917388] - ALSA: control: Fix racy management of user ctl memory size account (Jaroslav Kysela) [1917388] - ALSA: control_led - fix the stack usage (control element ops) (Jaroslav Kysela) [1917388] - ALSA: control - double free in snd_ctl_led_init() (Jaroslav Kysela) [1917388] - ALSA: control: Add memory consumption limit to user controls (Jaroslav Kysela) [1917388] - ALSA: control - off by one in store_mode() (Jaroslav Kysela) [1917388] - ALSA: control led - improve the set_led_id() parser (Jaroslav Kysela) [1917388] - ALSA: control - add the missing prev_lops2 initialization (Jaroslav Kysela) [1917388] - ALSA: led control - add sysfs kcontrol LED marking layer (Jaroslav Kysela) [1917388] - ALSA: control - add sysfs support to the LED trigger module (Jaroslav Kysela) [1917388] - ALSA: control - add generic LED trigger module as the new control layer (Jaroslav Kysela) [1917388] - ALSA: control - add layer registration routines (Jaroslav Kysela) [1917388] - ALSA: control - introduce snd_ctl_notify_one() helper (Jaroslav Kysela) [1917388] - ALSA: core: remove redundant spin_lock pair in snd_card_disconnect (Jaroslav Kysela) [1917388] - ALSA: pcm: Fix couple of typos (Jaroslav Kysela) [1917388] - ALSA: core: avoid -Wempty-body warnings (Jaroslav Kysela) [1917388] - ALSA: pcm: Add debug print on memory allocation failure (Jaroslav Kysela) [1917388] - ALSA: core - add missing compress device type to /proc/asound/devices (Jaroslav Kysela) [1917388] - ALSA: pcm: Use for_each_pcm_substream() macro (Jaroslav Kysela) [1917388] - ALSA: pcm: Don't call sync_stop if it hasn't been stopped (Jaroslav Kysela) [1917388] - ALSA: pcm: Assure sync with the pending stop operation at suspend (Jaroslav Kysela) [1917388] - ALSA: pcm: Call sync_stop at disconnection (Jaroslav Kysela) [1917388] - ASoC: dmaengine_pcm: add peripheral configuration (Jaroslav Kysela) [1917388] - ALSA: core: Fix the debugfs removal at snd_card_free() (Jaroslav Kysela) [1917388] - ALSA: jack: implement software jack injection via debugfs (Jaroslav Kysela) [1917388] - ALSA: pcm: One more dependency for hw constraints (Jaroslav Kysela) [1917388] - ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info() (Jaroslav Kysela) [1917388] - ALSA: oss: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: core: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: core: Remove redundant comments (Jaroslav Kysela) [1917388] - ALSA: pcm: oss: Fix a few more UBSAN fixes (Jaroslav Kysela) [1917388] - ALSA: pcm: Clear the full allocated memory at hw_params (Jaroslav Kysela) [1917388] - ALSA: memalloc: Align buffer allocations in page size (Jaroslav Kysela) [1917388] - ALSA: pcm: Remove snd_pcm_lib_preallocate_dma_free() (Jaroslav Kysela) [1917388] - ALSA: core: memalloc: add page alignment for iram (Jaroslav Kysela) [1917388] - ALSA: pcm: oss: Fix potential out-of-bounds shift (Jaroslav Kysela) [1917388] - ALSA: rawmidi: Access runtime->avail always in spinlock (Jaroslav Kysela) [1917388] - ALSA: seq: Use bool for snd_seq_queue internal flags (Jaroslav Kysela) [1917388] - ALSA: compress: allow pause and resume during draining (Jaroslav Kysela) [1917388] - ALSA: ctl: fix error path at adding user-defined element set (Jaroslav Kysela) [1917388] - ALSA: seq: remove useless function (Jaroslav Kysela) [1917388] - ALSA: fix kernel-doc markups (Jaroslav Kysela) [1917388] - soundwire: SDCA: add helper macro to access controls (Jaroslav Kysela) [1917388] - soundwire: add static port mapping support (Jaroslav Kysela) [1917388] - soundwire: add definition for DPn BlockPackingMode (Jaroslav Kysela) [1917388] - soundwire: add master quirks for bus clash and parity (Jaroslav Kysela) [1917388] - soundwire: intel: don't return error when clock stop failed (Jaroslav Kysela) [1917388] - soundwire: intel: Use kzalloc for allocating only one thing (Jaroslav Kysela) [1917388] - soundwire: cadence: add status in dev_dbg 'State change' log (Jaroslav Kysela) [1917388] - soundwire: cadence: adjust verbosity in response handling (Jaroslav Kysela) [1917388] - soundwire: cadence: fix ACK/NAK handling (Jaroslav Kysela) [1917388] - soundwire: cadence: reduce timeout on transactions (Jaroslav Kysela) [1917388] - soundwire: bus: use consistent tests for return values (Jaroslav Kysela) [1917388] - soundwire: qcom: fix handling of qcom,ports-block-pack-mode (Jaroslav Kysela) [1917388] - soundwire: intel_init: test link->cdns (Jaroslav Kysela) [1917388] - soundwire: qcom: handle return correctly in qcom_swrm_transport_params (Jaroslav Kysela) [1917388] - soundwire: qcom: cleanup internal port config indexing (Jaroslav Kysela) [1917388] - soundwire: qcom: wait for fifo space to be available before read/write (Jaroslav Kysela) [1917388] - soundwire: qcom: add static port map support (Jaroslav Kysela) [1917388] - soundwire: qcom: update port map allocation bit mask (Jaroslav Kysela) [1917388] - soundwire: stream: fix memory leak in stream config error path (Jaroslav Kysela) [1917388] - soundwire: qcom: use signed variable for error return (Jaroslav Kysela) [1917388] - soundwire: qcom: wait for enumeration to be complete in probe (Jaroslav Kysela) [1917388] - soundwire: qcom: add auto enumeration support (Jaroslav Kysela) [1917388] - soundwire: export sdw_compare_devid, sdw_extract_slave_id and sdw_slave_add (Jaroslav Kysela) [1917388] - soundwire: qcom: add support to new interrupts (Jaroslav Kysela) [1917388] - soundwire: qcom: update register read/write routine (Jaroslav Kysela) [1917388] - soundwire: qcom: start the clock during initialization (Jaroslav Kysela) [1917388] - soundwire: qcom: set continue execution flag for ignored commands (Jaroslav Kysela) [1917388] - soundwire: qcom: add support to missing transport params (Jaroslav Kysela) [1917388] - soundwire: cadence: only prepare attached devices on clock stop (Jaroslav Kysela) [1917388] - soundwire: generic_allocation: fix confusion between group and packing (Jaroslav Kysela) [1917388] - soundwire: bus: Fix device found flag correctly (Jaroslav Kysela) [1917388] - soundwire: cadence_master: fix kernel-doc (Jaroslav Kysela) [1917388] - soundwire: stream: remove useless bus initializations (Jaroslav Kysela) [1917388] - soundwire: stream: remove useless initialization (Jaroslav Kysela) [1917388] - soundwire: qcom: check of_property_read status (Jaroslav Kysela) [1917388] - soundwire: intel: remove useless readl (Jaroslav Kysela) [1917388] - soundwire: generic_bandwidth_allocation: remove useless init (Jaroslav Kysela) [1917388] - soundwire: bus: remove useless initialization (Jaroslav Kysela) [1917388] - soundwire: bus: uniquify dev_err() for SCP_INT access (Jaroslav Kysela) [1917388] - soundwire: bus: demote clock stop prepare log to dev_dbg() (Jaroslav Kysela) [1917388] - soundwire: bus: clarify dev_err/dbg device references (Jaroslav Kysela) [1917388] - soundwire: bus: fix confusion on device used by pm_runtime (Jaroslav Kysela) [1917388] - soundwire: export sdw_write/read_no_pm functions (Jaroslav Kysela) [1917388] - soundwire: bus: use no_pm IO routines for all interrupt handling (Jaroslav Kysela) [1917388] - soundwire: bus: use sdw_write_no_pm when setting the bus scale registers (Jaroslav Kysela) [1917388] - soundwire: bus: use sdw_update_no_pm when initializing a device (Jaroslav Kysela) [1917388] - soundwire: return earlier if no slave is attached (Jaroslav Kysela) [1917388] - soundwire: bus: add better dev_dbg to track complete() calls (Jaroslav Kysela) [1917388] - soundwire: bus: add more details to track failed transfers (Jaroslav Kysela) [1917388] - soundwire: use consistent format for Slave devID logs (Jaroslav Kysela) [1917388] - soundwire: bus: test read status (Jaroslav Kysela) [1917388] - soundwire: bus: use correct driver name in error messages (Jaroslav Kysela) [1917388] - soundwire: qcom: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: stream: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: cadence: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: bandwidth_allocation: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: intel: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: intel: add master quirks for bus clash and parity (Jaroslav Kysela) [1917388] - soundwire: bus: handle master quirks for bus clash and parity (Jaroslav Kysela) [1917388] - soundwire: Intel: add DMI quirk for Dell SKU 0A3E (Jaroslav Kysela) [1917388] - soundwire: Intel: introduce DMI quirks for HP Spectre x360 Convertible (Jaroslav Kysela) [1917388] - soundwire: add override addr ops (Jaroslav Kysela) [1917388] - regmap/SoundWire: sdw: add support for SoundWire 1.2 MBQ (Jaroslav Kysela) [1917388] - tracing: Fix __print_hex_dump scope (Jaroslav Kysela) [1917388] - tracing: Use seq_buf_hex_dump() to dump buffers (Jaroslav Kysela) [1917388] - seq_buf: Add printing formatted hex dumps (Jaroslav Kysela) [1917388] - powerpc/64: Don't trace code that runs with the soft irq mask unreconciled (Desnes A. Nunes do Rosario) [1921631] - powerpc/64: Disable irq restore warning for now (Desnes A. Nunes do Rosario) [1921631] - powerpc/64s: make PACA_IRQ_HARD_DIS track MSR[EE] closely (Desnes A. Nunes do Rosario) [1921631]- watchdog/hpwdt: New PCI IDs (Joseph Szczypek) [1967765] - watchdog: hpwdt: Assign boolean values to a bool variable (Joseph Szczypek) [1967765] - scsi: libfc: Avoid invoking response handler twice if ep is already completed (Chris Leech) [1867301] - Bluetooth: SMP: Fail if remote and local public keys are identical (Gopal Tiwari) [1965083] - rq-qos: fix missed wake-ups in rq_qos_throttle try two (Ming Lei) [1972111] - mm: memcg/slab: disable cache merging for KMALLOC_NORMAL caches (Waiman Long) [1955561] - mm: memcg/slab: create a new set of kmalloc-cg- caches (Waiman Long) [1955561] - mm: memcg/slab: properly set up gfp flags for objcg pointer array (Waiman Long) [1955561] - mm/vmalloc.c:__vmalloc_area_node(): avoid 32-bit overflow (Rafael Aquini) [1970194] - mm: remove the filename in the top of file comment in vmalloc.c (Rafael Aquini) [1970194] - mm: cleanup the gfp_mask handling in __vmalloc_area_node (Rafael Aquini) [1970194] - mm/vmalloc.c: remove unnecessary highmem_mask from parameter of gfpflags_allow_blocking() (Rafael Aquini) [1970194] - mm/swap: fix pte_same_as_swp() not removing uffd-wp bit when compare (Chris von Recklinghausen) [1945442] - userfaultfd: hugetlbfs: fix new flag usage in error path (Chris von Recklinghausen) [1945442] - mm/hugetlb: fix cow where page writtable in child (Chris von Recklinghausen) [1945442] - ovl: fix reference counting in ovl_mmap error path (Chris von Recklinghausen) [1945442] - hugetlb: do early cow when page pinned on src mm (Chris von Recklinghausen) [1945442] - mm: introduce page_needs_cow_for_dma() for deciding whether cow (Chris von Recklinghausen) [1945442] - hugetlb: convert page_huge_active() HPageMigratable flag (Chris von Recklinghausen) [1945442] - hugetlb: use page.private for hugetlb specific page flags (Chris von Recklinghausen) [1945442] - x86/mm: Remove duplicate definition of _PAGE_PAT_LARGE (Chris von Recklinghausen) [1945442] - mm: hugetlbfs: fix cannot migrate the fallocated HugeTLB page (Chris von Recklinghausen) [1945442] - mm: hugetlb: fix a race between isolating and freeing page (Chris von Recklinghausen) [1945442] - mm: hugetlb: remove VM_BUG_ON_PAGE from page_huge_active (Chris von Recklinghausen) [1945442] - mm: introduce vma_set_file function v5 (Chris von Recklinghausen) [1945442] - mm: mmap: fix fput in error path v2 (Chris von Recklinghausen) [1945442] - mm/gup: prevent gup_fast from racing with COW during fork (Chris von Recklinghausen) [1945442] - mm/gup: reorganize internal_get_user_pages_fast() (Chris von Recklinghausen) [1945442] - mm: remove src/dst mm parameter in copy_page_range() (Chris von Recklinghausen) [1945442] - mm: avoid early COW write protect games during fork() (Chris von Recklinghausen) [1945442] - mm/thp: Split huge pmds/puds if they're pinned when fork() (Chris von Recklinghausen) [1945442] - mm: Do early cow for pinned pages during fork() for ptes (Chris von Recklinghausen) [1945442] - mm/fork: Pass new vma pointer into copy_page_range() (Chris von Recklinghausen) [1945442] - mm: move the copy_one_pte() pte_present check into the caller (Chris von Recklinghausen) [1945442] - mm: split out the non-present case from copy_one_pte() (Chris von Recklinghausen) [1945442] - mm/gup: Remove enfornced COW mechanism (Chris von Recklinghausen) [1945442] - mm/hmm.c: delete duplicated word (Chris von Recklinghausen) [1945442] - mm/hmm: provide the page mapping order in hmm_range_fault() (Chris von Recklinghausen) [1945442] - mmap locking API: add mmap_assert_locked() and mmap_assert_write_locked() (Chris von Recklinghausen) [1945442] - mm/gup: introduce pin_user_pages_locked() (Chris von Recklinghausen) [1945442] - mm/gup: introduce pin_user_pages_unlocked (Chris von Recklinghausen) [1945442] - mm: remove the prot argument from vm_map_ram (Chris von Recklinghausen) [1945442] - mm: remove unmap_vmap_area (Chris von Recklinghausen) [1945442] - mm: don't return the number of pages from map_kernel_range{,_noflush} (Chris von Recklinghausen) [1945442] - x86: fix vmap arguments in map_irq_stack (Chris von Recklinghausen) [1945442] - mm/memory: remove unnecessary pte_devmap case in copy_one_pte() (Chris von Recklinghausen) [1945442] - mm/hmm: remove the customizable pfn format from hmm_range_fault (Chris von Recklinghausen) [1945442] - mm/hmm: remove HMM_PFN_SPECIAL (Chris von Recklinghausen) [1945442] - mm/hmm: make hmm_range_fault return 0 or -1 (Chris von Recklinghausen) [1945442] - mm/hugetlb: fix build failure with HUGETLB_PAGE but not HUGEBTLBFS (Chris von Recklinghausen) [1945442] - mm/hmm: return error for non-vma snapshots (Chris von Recklinghausen) [1945442] - mm/hmm: do not set pfns when returning an error code (Chris von Recklinghausen) [1945442] - mm/hmm: do not unconditionally set pfns when returning EBUSY (Chris von Recklinghausen) [1945442] - mm/hmm: use device_private_entry_to_pfn() (Chris von Recklinghausen) [1945442] - mm/hmm: remove HMM_FAULT_SNAPSHOT (Chris von Recklinghausen) [1945442] - mm/hmm: remove unused code and tidy comments (Chris von Recklinghausen) [1945442] - mm/hmm: return the fault type from hmm_pte_need_fault() (Chris von Recklinghausen) [1945442] - mm/hmm: remove pgmap checking for devmap pages (Chris von Recklinghausen) [1945442] - mm/hmm: check the device private page owner in hmm_range_fault() (Chris von Recklinghausen) [1945442] - mm: simplify device private page handling in hmm_range_fault (Chris von Recklinghausen) [1945442] - mm: merge hmm_vma_do_fault into into hmm_vma_walk_hole_ (Chris von Recklinghausen) [1945442] - mm/hmm: don't handle the non-fault case in hmm_vma_walk_hole_() (Chris von Recklinghausen) [1945442] - mm/hmm: simplify hmm_vma_walk_hugetlb_entry() (Chris von Recklinghausen) [1945442] - mm/hmm: remove the unused HMM_FAULT_ALLOW_RETRY flag (Chris von Recklinghausen) [1945442] - mm/hmm: don't provide a stub for hmm_range_fault() (Chris von Recklinghausen) [1945442] - mm/hmm: do not check pmd_protnone twice in hmm_vma_handle_pmd() (Chris von Recklinghausen) [1945442] - mm/hmm: return -EFAULT when setting HMM_PFN_ERROR on requested valid pages (Chris von Recklinghausen) [1945442] - mm/hmm: reorganize how !pte_present is handled in hmm_vma_handle_pte() (Chris von Recklinghausen) [1945442] - mm/hmm: add missing call to hmm_range_need_fault() before returning EFAULT (Chris von Recklinghausen) [1945442] - mm/hmm: add missing pfns set to hmm_vma_walk_pmd() (Chris von Recklinghausen) [1945442] - mm/hmm: remove hmm_range_dma_map and hmm_range_dma_unmap (Chris von Recklinghausen) [1945442] - mm/hmm: make full use of walk_page_range() (Chris von Recklinghausen) [1945442] - mm/hmm: remove hmm_mirror and related (Chris von Recklinghausen) [1945442] - mm/hmm: define the pre-processor related parts of hmm.h even if disabled (Chris von Recklinghausen) [1945442] - mm/hmm: allow hmm_range to be used with a mmu_interval_notifier or hmm_mirror (Chris von Recklinghausen) [1945442] - mm/hmm: hmm_range_fault() infinite loop (Chris von Recklinghausen) [1945442] - mm/hmm: hmm_range_fault() NULL pointer bug (Chris von Recklinghausen) [1945442] - hmm: use mmu_notifier_get/put for 'struct hmm' (Chris von Recklinghausen) [1945442] - mm/hmm: cleanup the hmm_vma_handle_pmd stub (Chris von Recklinghausen) [1945442] - mm/hmm: only define hmm_vma_walk_pud if needed (Chris von Recklinghausen) [1945442] - mm/hmm: cleanup the hmm_vma_walk_hugetlb_entry stub (Chris von Recklinghausen) [1945442] - mm/hmm: don't abuse pte_index() in hmm_vma_handle_pmd (Chris von Recklinghausen) [1945442] - mm/hmm: comment on VM_FAULT_RETRY semantics in handle_mm_fault (Chris von Recklinghausen) [1945442] - mm/hmm: remove the legacy hmm_pfn_* APIs (Chris von Recklinghausen) [1945442] - mm/hmm: remove the mask variable in hmm_vma_walk_hugetlb_entry (Chris von Recklinghausen) [1945442] - mm/hmm: remove the page_shift member from struct hmm_range (Chris von Recklinghausen) [1945442] - mm/hmm: remove superfluous arguments from hmm_range_register (Chris von Recklinghausen) [1945442] - mm/hmm: remove the unused vma argument to hmm_range_dma_unmap (Chris von Recklinghausen) [1945442] - mm/hmm: remove hmm_range vma (Chris von Recklinghausen) [1945442] - mm/hmm: remove hugetlbfs check in hmm_vma_walk_pmd (Chris von Recklinghausen) [1945442] - mm/hmm: merge hmm_range_snapshot into hmm_range_fault (Chris von Recklinghausen) [1945442] - mm/hmm: replace the block argument to hmm_range_fault with a flags value (Chris von Recklinghausen) [1945442] - mm/large system hash: use vmalloc for size > MAX_ORDER when !hashdist (Chris von Recklinghausen) [1945442] - mm/hmm: update HMM documentation (Chris von Recklinghausen) [1945442] - mm: remove the HMM config option (Chris von Recklinghausen) [1945442] - hugetlbfs: on restore reserve error path retain subpool reservation (Chris von Recklinghausen) [1945442] - mm/vmalloc.c: fix potential memory leak (Chris von Recklinghausen) [1945442] - mm/vmalloc: separate put pages and flush VM flags (Chris von Recklinghausen) [1945442] - zsmalloc: switch from alloc_vm_area to get_vm_area (Chris von Recklinghausen) [1945442] - mm: allow a NULL fn callback in apply_to_page_range (Chris von Recklinghausen) [1945442] - mm: add a vmap_pfn function (Chris von Recklinghausen) [1945442] - mm: add a VM_MAP_PUT_PAGES flag for vmap (Chris von Recklinghausen) [1945442] - mm: update the documentation for vfree (Chris von Recklinghausen) [1945442] - mm, slub: use kmem_cache_debug_flags() in deactivate_slab() (Chris von Recklinghausen) [1945442] - mm, slab, slub: clear the slab_cache field when freeing page (Chris von Recklinghausen) [1945442] - mm: slab: provide krealloc_array() (Chris von Recklinghausen) [1945442] - mm: slab: clarify krealloc()'s behavior with __GFP_ZERO (Chris von Recklinghausen) [1945442] - mm/slab_common.c: use list_for_each_entry in dump_unreclaimable_slab() (Chris von Recklinghausen) [1945442] - mm/slub: make add_full() condition more explicit (Chris von Recklinghausen) [1945442] - mm/slub: fix missing ALLOC_SLOWPATH stat when bulk alloc (Chris von Recklinghausen) [1945442] - mm/slub.c: branch optimization in free slowpath (Chris von Recklinghausen) [1945442] - include/linux/slab.h: fix a typo error in comment (Chris von Recklinghausen) [1945442] - mm/vmalloc.c: fix a warning while make xmldocs (Chris von Recklinghausen) [1945442] - mm/userfaultfd: fix memory corruption due to writeprotect (Chris von Recklinghausen) [1945442] - mm/migrate: fixup setting UFFD_WP flag (Chris von Recklinghausen) [1945442] - mm/rmap: fixup copying of soft dirty and uffd ptes (Chris von Recklinghausen) [1945442] - mm/userfaultfd: disable userfaultfd-wp on x86_32 (Chris von Recklinghausen) [1945442] - userfaultfd: selftests: fix SIGSEGV if huge mmap fails (Chris von Recklinghausen) [1945442] - mm: do not rely on mm == current->mm in __get_user_pages_locked (Chris von Recklinghausen) [1945442] - mm: Introduce mm_struct.has_pinned (Chris von Recklinghausen) [1945442] - mm/gup: might_lock_read(mmap_sem) in get_user_pages_fast() (Chris von Recklinghausen) [1945442] - mm: enforce that vmap can't map pages executable (Chris von Recklinghausen) [1945442] - mm: remove map_vm_range (Chris von Recklinghausen) [1945442] - mm: rename vmap_page_range to map_kernel_range (Chris von Recklinghausen) [1945442] - mm: remove vmap_page_range_noflush and vunmap_page_range (Chris von Recklinghausen) [1945442] - mm: only allow page table mappings for built-in zsmalloc (Chris von Recklinghausen) [1945442] - mm: unexport unmap_kernel_range_noflush (Chris von Recklinghausen) [1945442] - userfaultfd: selftests: add write-protect test (Chris von Recklinghausen) [1945442] - userfaultfd: selftests: refactor statistics (Chris von Recklinghausen) [1945442] - userfaultfd: selftest: fix compiler warning (Chris von Recklinghausen) [1945442] - hugetlbfs: call VM_BUG_ON_PAGE earlier in free_huge_page() (Chris von Recklinghausen) [1945442] - userfaultfd: selftest: recycle lock threads first (Chris von Recklinghausen) [1945442] - userfaultfd: selftest: generalize read and poll (Chris von Recklinghausen) [1945442] - userfaultfd: selftest: cleanup help messages (Chris von Recklinghausen) [1945442] - userfaultfd: wp: declare _UFFDIO_WRITEPROTECT conditionally (Chris von Recklinghausen) [1945442] - userfaultfd: wp: UFFDIO_REGISTER_MODE_WP documentation update (Chris von Recklinghausen) [1945442] - userfaultfd: wp: don't wake up when doing write protect (Chris von Recklinghausen) [1945442] - userfaultfd: wp: enabled write protection in userfaultfd API (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add the writeprotect API to userfaultfd ioctl (Chris von Recklinghausen) [1945442] - userfaultfd: wp: support write protection for userfault vma range (Chris von Recklinghausen) [1945442] - khugepaged: skip collapse if uffd-wp detected (Chris von Recklinghausen) [1945442] - userfaultfd: wp: support swap and page migration (Chris von Recklinghausen) [1945442] - mm/mprotect.c: fix compilation warning because of unused 'mm' variable (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add pmd_swp_*uffd_wp() helpers (Chris von Recklinghausen) [1945442] - userfaultfd: wp: drop _PAGE_UFFD_WP properly when fork (Chris von Recklinghausen) [1945442] - userfaultfd: wp: apply _PAGE_UFFD_WP bit (Chris von Recklinghausen) [1945442] - mm: merge parameters for change_protection() (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add UFFDIO_COPY_MODE_WP (Chris von Recklinghausen) [1945442] - userfaultfd: wp: userfaultfd_pte/huge_pmd_wp() helpers (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add WP pagetable tracking to x86 (Chris von Recklinghausen) [1945442] - userfaultfd: wp: hook userfault handler to write protection fault (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add helper for writeprotect check (Chris von Recklinghausen) [1945442] - userfaultfd: untag user pointers (Chris von Recklinghausen) [1945442] - x86/mm/pat: Fix typo in the Kconfig help text (Chris von Recklinghausen) [1945442] - x86/mm/pat: Clean up externs (Chris von Recklinghausen) [1945442] - x86/mm/pat: Rename => (Chris von Recklinghausen) [1945442] - x86/mm/pat: Standardize on memtype_*() prefix for APIs (Chris von Recklinghausen) [1945442] - x86/mm/pat: Move the memtype related files to arch/x86/mm/pat/ (Chris von Recklinghausen) [1945442] - x86/mm/pat: Clean up PAT initialization flags (Chris von Recklinghausen) [1945442] - x86/mm/pat: Harmonize 'struct memtype *' local variable and function parameter use (Chris von Recklinghausen) [1945442] - x86/mm/pat: Simplify the free_memtype() control flow (Chris von Recklinghausen) [1945442] - x86/mm/pat: Create fixed width output in /sys/kernel/debug/x86/pat_memtype_list, similar to the E820 debug printouts (Chris von Recklinghausen) [1945442] - x86/mm/pat: Disambiguate PAT-disabled boot messages (Chris von Recklinghausen) [1945442] - x86/mm/pat: Update the comments in pat.c and pat_interval.c and refresh the code a bit (Chris von Recklinghausen) [1945442] - x86/mm/pat: Fix off-by-one bugs in interval tree search (Chris von Recklinghausen) [1945442] - x86/mm/pat: Rename pat_rbtree.c to pat_interval.c (Chris von Recklinghausen) [1945442] - x86/mm/pat: Drop the rbt_ prefix from external memtype calls (Chris von Recklinghausen) [1945442] - x86/mm/pat: Do not pass 'rb_root' down the memtype tree helper functions (Chris von Recklinghausen) [1945442] - x86/mm/pat: Convert the PAT tree to a generic interval tree (Chris von Recklinghausen) [1945442] - x86/mm: Tabulate the page table encoding definitions (Chris von Recklinghausen) [1945442] - x86/mm: Remove the unused set_memory_wt() function (Chris von Recklinghausen) [1945442] - x86/mm: Remove set_pages_x() and set_pages_nx() (Chris von Recklinghausen) [1945442] - x86/mm: Remove the unused set_memory_array_*() functions (Chris von Recklinghausen) [1945442] - x86/mm: Unexport set_memory_x() and set_memory_nx() (Chris von Recklinghausen) [1945442] - x86/Kconfig: Fix spelling mistake "effectivness" -> "effectiveness" (Chris von Recklinghausen) [1945442] - x86/mm: Remove unused variable 'old_pte' (Chris von Recklinghausen) [1945442] - Revert "x86/mm/pat: Rename pat_rbtree.c to pat_interval.c" (Chris von Recklinghausen) [1945442] - Revert "x86/mm/pat: Move the memtype related files to arch/x86/mm/pat/" (Chris von Recklinghausen) [1945442] - ipv6: Allow the l3mdev to be a loopback (Antoine Tenart) [1973229] - vrf: do not push non-ND strict packets with a source LLA through packet taps again (Antoine Tenart) [1965600] - vrf: packets with lladdr src needs dst at input with orig_iif when needs strict (Antoine Tenart) [1965600] - ipv6: Fix handling of LLA with VRF and sockets bound to VRF (Antoine Tenart) [1965600] - ipv6: allow ping to link-local address in VRF (Antoine Tenart) [1965600] - vrf: mark skb for multicast or link-local as enslaved to VRF (Antoine Tenart) [1965600] - net: allow traceroute with a specified interface in a vrf (Antoine Tenart) [1965600] - virtchnl: Enable RSS configure for AVF (Ivan Vecera) [1966954] - virtchnl: Advertise virtchnl UDP segmentation offload capability (Ivan Vecera) [1966954] - virtchnl: Allow ignoring opcodes on specific VF (Ivan Vecera) [1966954] - virtchnl: Fix layout of RSS structures (Ivan Vecera) [1966954] - virtchnl: Enable FDIR Configure for AVF (Ivan Vecera) [1966954] - virtchnl: Add missing explicit padding to structures (Ivan Vecera) [1966954] - virtchnl: use u8 type for a field in the virtchnl_filter struct (Ivan Vecera) [1966954] - tools headers uapi: Sync tools/include/uapi/linux/perf_event.h (Michael Petlan) [1944685] - tools headers uapi: Update tools's copy of linux/perf_event.h (Michael Petlan) [1944685] - bpf: Add size arg to build_id_parse function (Michael Petlan) [1944685] - bpf: Move stack_map_get_build_id into lib (Michael Petlan) [1944685] - perf map: Fix error return code in maps__clone() (Michael Petlan) [1944685] - perf ftrace: Fix access to pid in array when setting a pid filter (Michael Petlan) [1944685] - perf auxtrace: Fix potential NULL pointer dereference (Michael Petlan) [1944685] - perf data: Fix error return code in perf_data__create_dir() (Michael Petlan) [1944685] - perf arm-spe: Avoid potential buffer overrun (Michael Petlan) [1944685] - perf report: Fix wrong LBR block sorting (Michael Petlan) [1944685] - perf inject: Fix repipe usage (Michael Petlan) [1944685] - perf test: Change to use bash for daemon test (Michael Petlan) [1944685] - perf record: Fix memory leak in vDSO found using ASAN (Michael Petlan) [1944685] - perf test: Remove now useless failing sub test "BPF relocation checker" (Michael Petlan) [1944685] - perf daemon: Return from kill functions (Michael Petlan) [1944685] - perf daemon: Force waipid for all session on SIGCHLD delivery (Michael Petlan) [1944685] - perf top: Fix BPF support related crash with perf_event_paranoid=3 + kptr_restrict (Michael Petlan) [1944685] - perf pmu: Validate raw event with sysfs exported format bits (Michael Petlan) [1944685] - perf synthetic events: Avoid write of uninitialized memory when generating PERF_RECORD_MMAP* records (Michael Petlan) [1944685] - perf synthetic-events: Fix uninitialized 'kernel_thread' variable (Michael Petlan) [1944685] - perf auxtrace: Fix auxtrace queue conflict (Michael Petlan) [1944685] - perf cs-etm: Fix bitmap for option (Michael Petlan) [1944685] - perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches (Michael Petlan) [1944685] - perf report: Fix -F for branch & mem modes (Michael Petlan) [1944685] - perf tests x86: Move insn.h include to make sure it finds stddef.h (Michael Petlan) [1944685] - perf test: Support the ins_lat check in the X86 specific test (Michael Petlan) [1944685] - perf test: Fix sample-parsing failure on non-x86 platforms (Michael Petlan) [1944685] - perf archive: Fix filtering of empty build-ids (Michael Petlan) [1944685] - perf daemon: Fix compile error with Asan (Michael Petlan) [1944685] - perf stat: Fix use-after-free when -r option is used (Michael Petlan) [1944685] - libperf: Add perf_evlist__reset_id_hash() (Michael Petlan) [1944685] - perf stat: Fix wrong skipping for per-die aggregation (Michael Petlan) [1944685] - tools headers UAPI: Update tools' copy of linux/coresight-pmu.h (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in perf_time_to_tsc test (Michael Petlan) [1944685] - perf test: Fix cpu map leaks in cpu_map_print test (Michael Petlan) [1944685] - perf test: Fix a memory leak in thread_map_remove test (Michael Petlan) [1944685] - perf test: Fix a thread map leak in thread_map_synthesize test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in switch_tracking test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in keep_tracking test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in code_reading test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in sw_clock_freq test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in task_exit test (Michael Petlan) [1944685] - perf test: Fix a memory leak in attr test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in basic mmap test (Michael Petlan) [1944685] - perf tools: Fix event's PMU name parsing (Michael Petlan) [1944685] - perf daemon: Fix running test for non root user (Michael Petlan) [1944685] - perf daemon: Fix control fifo permissions (Michael Petlan) [1944685] - perf build: Fix ccache usage in $(CC) when generating arch errno table (Michael Petlan) [1944685] - perf tools: Fix documentation of verbose options (Michael Petlan) [1944685] - perf traceevent: Ensure read cmdlines are null terminated. (Michael Petlan) [1944685] - perf diff: Don't crash on freeing errno-session on the error path (Michael Petlan) [1944685] - perf tools: Clean 'generated' directory used for creating the syscall table on x86 (Michael Petlan) [1944685] - perf build: Move feature cleanup under tools/build (Michael Petlan) [1944685] - perf tools: Cast (struct timeval).tv_sec when printing (Michael Petlan) [1944685] - perf buildid-cache: Don't skip 16-byte build-ids (Michael Petlan) [1944685] - perf buildid-cache: Add test for 16-byte build-id (Michael Petlan) [1944685] - perf symbol: Remove redundant libbfd checks (Michael Petlan) [1944685] - perf test: Output the sub testing result in cs-etm (Michael Petlan) [1944685] - perf test: Suppress logs in cs-etm testing (Michael Petlan) [1944685] - perf tools: Fix arm64 build error with gcc-11 (Michael Petlan) [1944685] - perf intel-pt: Add documentation for tracing virtual machines (Michael Petlan) [1944685] - perf intel-pt: Split VM-Entry and VM-Exit branches (Michael Petlan) [1944685] - perf intel-pt: Adjust sample flags for VM-Exit (Michael Petlan) [1944685] - perf intel-pt: Allow for a guest kernel address filter (Michael Petlan) [1944685] - perf intel-pt: Support decoding of guest kernel (Michael Petlan) [1944685] - perf machine: Factor out machine__idle_thread() (Michael Petlan) [1944685] - perf machine: Factor out machines__find_guest() (Michael Petlan) [1944685] - perf intel-pt: Amend decoder to track the NR flag (Michael Petlan) [1944685] - perf intel-pt: Retain the last PIP packet payload as is (Michael Petlan) [1944685] - perf intel_pt: Add vmlaunch and vmresume as branches (Michael Petlan) [1944685] - perf script: Add branch types for VM-Entry and VM-Exit (Michael Petlan) [1944685] - perf auxtrace: Automatically group aux-output events (Michael Petlan) [1944685] - perf test: Fix unaligned access in sample parsing test (Michael Petlan) [1944685] - perf tools: Support arch specific PERF_SAMPLE_WEIGHT_STRUCT processing (Michael Petlan) [1944685] - perf intel-pt: Add PSB events (Michael Petlan) [1944685] - perf intel-pt: Fix IPC with CYC threshold (Michael Petlan) [1944685] - perf intel-pt: Fix premature IPC (Michael Petlan) [1944685] - perf intel-pt: Fix missing CYC processing in PSB (Michael Petlan) [1944685] - perf record: Fix continue profiling after draining the buffer (Michael Petlan) [1944685] - perf tools: Simplify the calculation of variables (Michael Petlan) [1944685] - perf vendor events arm64: Add JSON metrics for imx8mp DDR Perf (Michael Petlan) [1944685] - perf vendor events arm64: Add JSON metrics for imx8mq DDR Perf (Michael Petlan) [1944685] - perf vendor events arm64: Add JSON metrics for imx8mn DDR Perf (Michael Petlan) [1944685] - perf vendor events arm64: Fix indentation of brackets in imx8mm metrics (Michael Petlan) [1944685] - perf annotate: Do not jump after 'k' is pressed (Michael Petlan) [1944685] - perf metricgroup: Remove unneeded semicolon (Michael Petlan) [1944685] - perf tools: Add OCaml demangling (Michael Petlan) [1944685] - tools api fs: Cache cgroupfs mount point (Michael Petlan) [1944685] - tools api fs: Diet cgroupfs_find_mountpoint() (Michael Petlan) [1944685] - tools api fs: Prefer cgroup v1 path in cgroupfs_find_mountpoint() (Michael Petlan) [1944685] - perf symbols: Resolve symbols against debug file first (Michael Petlan) [1944685] - perf probe: Fix kretprobe issue caused by GCC bug (Michael Petlan) [1944685] - perf symbols: Fix return value when loading PE DSO (Michael Petlan) [1944685] - perf symbols: Make dso__load_bfd_symbols() load PE files from debug cache only (Michael Petlan) [1944685] - perf symbols: Use (long) for iterator for bfd symbols (Michael Petlan) [1944685] - perf annotate: Fix jump parsing for C++ code. (Michael Petlan) [1944685] - perf arm-spe: Set sample's data source field (Michael Petlan) [1944685] - perf arm-spe: Synthesize memory event (Michael Petlan) [1944685] - perf arm-spe: Fill address info for samples (Michael Petlan) [1944685] - perf arm-spe: Store operation type in packet (Michael Petlan) [1944685] - perf arm-spe: Store memory address in packet (Michael Petlan) [1944685] - perf arm-spe: Enable sample type PERF_SAMPLE_DATA_SRC (Michael Petlan) [1944685] - perf env: Remove unneeded internal/cpumap inclusions (Michael Petlan) [1944685] - perf tools: Remove unused xyarray.c as it was moved to tools/lib/perf (Michael Petlan) [1944685] - perf tools: Replace lkml.org links with lore (Michael Petlan) [1944685] - perf tests: Add daemon 'lock' test (Michael Petlan) [1944685] - perf tests: Add daemon 'ping' command test (Michael Petlan) [1944685] - perf tests: Add daemon 'signal' command test (Michael Petlan) [1944685] - perf tests: Add daemon 'stop' command test (Michael Petlan) [1944685] - perf tests: Add daemon reconfig test (Michael Petlan) [1944685] - perf tests: Add daemon 'list' command test (Michael Petlan) [1944685] - perf daemon: Add examples to man page (Michael Petlan) [1944685] - perf daemon: Add up time for daemon/session list (Michael Petlan) [1944685] - perf daemon: Use control to stop session (Michael Petlan) [1944685] - perf daemon: Add 'ping' command (Michael Petlan) [1944685] - perf daemon: Set control fifo for session (Michael Petlan) [1944685] - perf daemon: Allow only one daemon over base directory (Michael Petlan) [1944685] - perf daemon: Add 'stop' command (Michael Petlan) [1944685] - perf daemon: Add 'signal' command (Michael Petlan) [1944685] - perf daemon: Add 'list' command (Michael Petlan) [1944685] - perf daemon: Add signalfd support (Michael Petlan) [1944685] - perf daemon: Add background support (Michael Petlan) [1944685] - perf daemon: Add config file change check (Michael Petlan) [1944685] - perf daemon: Add config file support (Michael Petlan) [1944685] - perf daemon: Add client socket support (Michael Petlan) [1944685] - perf daemon: Add server socket support (Michael Petlan) [1944685] - perf daemon: Add base option (Michael Petlan) [1944685] - perf daemon: Add config option (Michael Petlan) [1944685] - perf daemon: Add daemon command (Michael Petlan) [1944685] - perf script: Simplify bool conversion (Michael Petlan) [1944685] - perf arm64/s390: Fix printf conversion specifier for IP addresses (Michael Petlan) [1944685] - perf script: Support filtering by hex address (Michael Petlan) [1944685] - perf intlist: Change 'struct intlist' int member to 'unsigned long' (Michael Petlan) [1944685] - perf tools: Update topdown documentation for Sapphire Rapids (Michael Petlan) [1944685] - perf stat: Support L2 Topdown events (Michael Petlan) [1944685] - perf test: Support PERF_SAMPLE_WEIGHT_STRUCT (Michael Petlan) [1944685] - perf report: Support instruction latency (Michael Petlan) [1944685] - perf tools: Support PERF_SAMPLE_WEIGHT_STRUCT (Michael Petlan) [1944685] - perf c2c: Support data block and addr block (Michael Petlan) [1944685] - perf tools: Support data block and addr block (Michael Petlan) [1944685] - perf tools: Support the auxiliary event (Michael Petlan) [1944685] - perf probe: Add protection to avoid endless loop (Michael Petlan) [1944685] - perf trace-event-info: Rename for_each_event. (Michael Petlan) [1944685] - perf inject jit: Add namespaces support (Michael Petlan) [1944685] - perf namespaces: Add 'in_pidns' to nsinfo struct (Michael Petlan) [1944685] - perf tools: Use scandir() to iterate threads when synthesizing PERF_RECORD_ events (Michael Petlan) [1944685] - perf tools: Skip PERF_RECORD_MMAP event synthesis for kernel threads (Michael Petlan) [1944685] - perf tools: Use /proc//task//status for PERF_RECORD_ event synthesis (Michael Petlan) [1944685] - perf vendor events arm64: Reference common and uarch events for A76 (Michael Petlan) [1944685] - perf vendor events arm64: Reference common and uarch events for Ampere eMag (Michael Petlan) [1944685] - perf vendor events arm64: Add common and uarch event JSON (Michael Petlan) [1944685] - perf vendor events arm64: Fix Ampere eMag event typo (Michael Petlan) [1944685] - perf script: Support DSO filter like in other perf tools (Michael Petlan) [1944685] - perf tools: Fix DSO filtering when not finding a map for a sampled address (Michael Petlan) [1944685] - perf stat: Add Topdown metrics events as default events (Michael Petlan) [1944685] - perf test: Add parse-metric memory bandwidth testcase (Michael Petlan) [1944685] - perf tools: Add 'ping' control command (Michael Petlan) [1944685] - perf tools: Add 'stop' control command (Michael Petlan) [1944685] - perf config: Make perf_config_global() global (Michael Petlan) [1944685] - perf config: Make perf_config_system() global (Michael Petlan) [1944685] - perf config: Add perf_home_perfconfig function (Michael Petlan) [1944685] - perf debug: Add debug_set_display_time function (Michael Petlan) [1944685] - perf config: Add config set interface (Michael Petlan) [1944685] - perf config: Make perf_config_from_file() static (Michael Petlan) [1944685] - perf test: Add test case for PERF_SAMPLE_CODE_PAGE_SIZE (Michael Petlan) [1944685] - perf report: Add support for PERF_SAMPLE_CODE_PAGE_SIZE (Michael Petlan) [1944685] - perf script: Add support for PERF_SAMPLE_CODE_PAGE_SIZE (Michael Petlan) [1944685] - perf record: Add support for PERF_SAMPLE_CODE_PAGE_SIZE (Michael Petlan) [1944685] - perf mem: Support data page size (Michael Petlan) [1944685] - perf mem: Clean up output format (Michael Petlan) [1944685] - perf cs-etm: Update ARM's CoreSight hardware tracing OpenCSD library to v1.0.0 (Michael Petlan) [1944685] - perf c2c: Add local variables for output metrics (Michael Petlan) [1944685] - perf c2c: Refactor node display (Michael Petlan) [1944685] - perf c2c: Fix argument type for percent() (Michael Petlan) [1944685] - perf c2c: Refactor display filter (Michael Petlan) [1944685] - perf c2c: Refactor hist entry validation (Michael Petlan) [1944685] - perf c2c: Rename for shared cache line stats (Michael Petlan) [1944685] - perf stat: Enable counting events for BPF programs (Michael Petlan) [1944685] - perf build: Support build BPF skeletons with perf (Michael Petlan) [1944685] - perf record: Tweak "Lowering..." warning in record_opts__config_freq (Michael Petlan) [1944685] - perf buildid-list: Add support for mmap2's buildid events (Michael Petlan) [1944685] - perf buildid-cache: Add --debuginfod option to specify a server to fetch debug files (Michael Petlan) [1944685] - perf tools: Add support to display build ids when available in PERF_RECORD_MMAP2 events (Michael Petlan) [1944685] - perf record: Add --buildid-mmap option to enable PERF_RECORD_MMAP2's build id (Michael Petlan) [1944685] - perf tools: Allow synthesizing the build id for kernel/modules/tasks in PERF_RECORD_MMAP2 (Michael Petlan) [1944685] - perf tools: Allow using PERF_RECORD_MMAP2 to synthesize the kernel modules maps (Michael Petlan) [1944685] - perf tools: Allow using PERF_RECORD_MMAP2 to synthesize the kernel map (Michael Petlan) [1944685] - perf tools: Store build id when available in PERF_RECORD_MMAP2 metadata events (Michael Petlan) [1944685] - perf tools: Do not swap mmap2 fields in case it contains build id (Michael Petlan) [1944685] - perf arm64: Add argument support for SDT (Michael Petlan) [1944685] - perf probe: Fixup Arm64 SDT arguments (Michael Petlan) [1944685] - perf/x86/kvm: Fix Broadwell Xeon stepping in isolation_ucodes[] (Michael Petlan) [1944685] - perf/x86/intel: Fix unchecked MSR access error caused by VLBR_EVENT (Michael Petlan) [1944685] - perf/x86/intel: Fix a crash caused by zero PEBS status (Michael Petlan) [1944685] - perf/x86/intel: Set PERF_ATTACH_SCHED_CB for large PEBS and LBR (Michael Petlan) [1944685] - perf/core: Flush PMU internal buffers for per-CPU events (Michael Petlan) [1944685] - perf/x86/rapl: Fix psys-energy event on Intel SPR platform (Michael Petlan) [1944685] - perf/x86/rapl: Only check lower 32bits for RAPL energy counters (Michael Petlan) [1944685] - perf/x86/rapl: Add msr mask support (Michael Petlan) [1944685] - perf/x86/kvm: Add Cascade Lake Xeon steppings to isolation_ucodes[] (Michael Petlan) [1944685] - perf/x86/intel: Support CPUID 10.ECX to disable fixed counters (Michael Petlan) [1944685] - perf/x86/intel: Add perf core PMU support for Sapphire Rapids (Michael Petlan) [1944685] - perf/x86/intel: Filter unsupported Topdown metrics event (Michael Petlan) [1944685] - perf/x86/intel: Factor out intel_update_topdown_event() (Michael Petlan) [1944685] - perf/core: Add PERF_SAMPLE_WEIGHT_STRUCT (Michael Petlan) [1944685] - perf/intel: Remove Perfmon-v4 counter_freezing support (Michael Petlan) [1944685] - perf: Add build id data in mmap2 event (Michael Petlan) [1944685] - bpf: Remove atomics tests from test_progs (Jiri Olsa) [1874007] - libbpf: Fixes incorrect rx_ring_setup_done (Jiri Olsa) [1874007] - error-injection: Consolidate override function definition (Jiri Olsa) [1874007] - selftests/bpf: Fix endianness issues in atomic tests (Jiri Olsa) [1874007] - bpf: Fix a spelling typo in bpf_atomic_alu_string disasm (Jiri Olsa) [1874007] - bpf, x86: Fix BPF_FETCH atomic and/or/xor with r0 as src (Jiri Olsa) [1874007] - bpf: Explicitly zero-extend R0 after 32-bit cmpxchg (Jiri Olsa) [1874007] - bpf: Account for BPF_FETCH in insn_has_def32() (Jiri Olsa) [1874007] - bpf: Fix subreg optimization for BPF_FETCH (Jiri Olsa) [1874007] - bpf: Fix the irq and nmi check in bpf_sk_storage for tracing usage (Jiri Olsa) [1874007] - selftests/bpf: Fix a compiler warning in local_storage test (Jiri Olsa) [1874007] - bpf: Change 'BPF_ADD' to 'BPF_AND' in print_bpf_insn() (Jiri Olsa) [1874007] - selftests/bpf: Don't exit on failed bpf_testmod unload (Jiri Olsa) [1874007] - bpf: Avoid old-style declaration warnings (Jiri Olsa) [1874007] - bpf: Dont allow vmlinux BTF to be used in map_create and prog_load. (Jiri Olsa) [1874007] - tools: Factor Clang, LLC and LLVM utils definitions (Jiri Olsa) [1874007] - tools/runqslower: Build bpftool using HOSTCC (Jiri Olsa) [1874007] - tools/runqslower: Enable out-of-tree build (Jiri Olsa) [1874007] - tools/runqslower: Use Makefile.include (Jiri Olsa) [1874007] - bpf: Expose bpf_sk_storage_* to iterator programs (Jiri Olsa) [1874007] - tools/resolve_btfids: Warn when having multiple IDs for single type (Jiri Olsa) [1874007] - tools/resolve_btfids: Fix some error messages (Jiri Olsa) [1874007] - samples/bpf: Add BPF_ATOMIC_OP macro for BPF samples (Jiri Olsa) [1874007] - samples/bpf: Fix possible hang in xdpsock with multiple threads (Jiri Olsa) [1874007] - bpf: samples: Do not touch RLIMIT_MEMLOCK (Jiri Olsa) [1874007] - samples/bpf: Use recvfrom() in xdpsock/l2fwd (Jiri Olsa) [1874007] - samples/bpf: Use recvfrom() in xdpsock/rxdrop (Jiri Olsa) [1874007] - samples: bpf: Remove bpf_load loader completely (Jiri Olsa) [1874007] - samples: bpf: Fix lwt_len_hist reusing previous BPF map (Jiri Olsa) [1874007] - samples: bpf: Refactor test_overhead program with libbpf (Jiri Olsa) [1874007] - samples: bpf: Refactor task_fd_query program with libbpf (Jiri Olsa) [1874007] - samples: bpf: Refactor test_cgrp2_sock2 program with libbpf (Jiri Olsa) [1874007] - samples: bpf: Refactor hbm program with libbpf (Jiri Olsa) [1874007] - samples/bpf: Increment Tx stats at sending (Jiri Olsa) [1874007] - samples/bpf: Remove unused test_ipip.sh (Jiri Olsa) [1874007] - samples/bpf: Remove duplicate include in hbm (Jiri Olsa) [1874007] - bpftool: Fix compilation failure for net.o with older glibc (Jiri Olsa) [1874007] - tools/bpftool: Auto-detect split BTFs in common cases (Jiri Olsa) [1874007] - tools/bpftool: Emit name for anonymous BTFs (Jiri Olsa) [1874007] - bpftool: Add {i,d}tlb_misses support for bpftool profile (Jiri Olsa) [1874007] - tools/bpf: Always run the *-clean recipes (Jiri Olsa) [1874007] - tools/bpf: Add bootstrap/ to .gitignore (Jiri Olsa) [1874007] - tools/bpftool: Fix cross-build (Jiri Olsa) [1874007] - tools/bpftool: Force clean of out-of-tree build (Jiri Olsa) [1874007] - tools/bpftool: Add support for in-kernel and named BTF in `btf show` (Jiri Olsa) [1874007] - bpftool: Add support for task local storage (Jiri Olsa) [1874007] - tools/bpftool: Add bpftool support for split BTF (Jiri Olsa) [1874007] - bpf: Unbreak BPF_PROG_TYPE_KPROBE when kprobe is called via do_int3 (Jiri Olsa) [1874007] - bpf: Fix bpf_put_raw_tracepoint()'s use of __module_address() (Jiri Olsa) [1874007] - bpf: Expose bpf_d_path helper to sleepable LSM hooks (Jiri Olsa) [1874007] - bpf: Allow using bpf_sk_storage in FENTRY/FEXIT/RAW_TP (Jiri Olsa) [1874007] - selftests/bpf: Add remaining ASSERT_xxx() variants (Jiri Olsa) [1874007] - libbpf: Fix potential NULL pointer dereference (Jiri Olsa) [1874007] - libbpf: Only create rx and tx XDP rings when necessary (Jiri Olsa) [1874007] - libbpf: Ensure umem pointer is non-NULL before dereferencing (Jiri Olsa) [1874007] - libbpf: Restore umem state after socket create failure (Jiri Olsa) [1874007] - selftests/bpf: Fix core_reloc test runner (Jiri Olsa) [1874007] - bpf: Fix umd memory leak in copy_process() (Jiri Olsa) [1874007] - libbpf: Fix error path in bpf_object__elf_init() (Jiri Olsa) [1874007] - bpf: Change inode_storage's lookup_elem return value from NULL to -EBADF (Jiri Olsa) [1874007] - bpf: Prohibit alu ops for pointer types not defining ptr_limit (Jiri Olsa) [1874007] - selftests/bpf: Use the last page in test_snprintf_btf on s390 (Jiri Olsa) [1874007] - bpf: Be less specific about socket cookies guarantees (Jiri Olsa) [1874007] - bpf: Fix 32 bit src register truncation on div/mod (Jiri Olsa) [1874007] - bpf: Fix verifier jmp32 pruning decision logic (Jiri Olsa) [1874007] - bpf: Fix verifier jsgt branch analysis on max bound (Jiri Olsa) [1874007] - bpf: Check for integer overflow when using roundup_pow_of_two() (Jiri Olsa) [1874007] - bpf, preload: Fix build when $(O) points to a relative path (Jiri Olsa) [1874007] - bpf: Drop disabled LSM hooks from the sleepable set (Jiri Olsa) [1874007] - bpf, cgroup: Fix problematic bounds check (Jiri Olsa) [1874007] - bpf, cgroup: Fix optlen WARN_ON_ONCE toctou (Jiri Olsa) [1874007] - bpf: Fix signed_{sub,add32}_overflows type handling (Jiri Olsa) [1874007] - bpf: Fix helper bpf_map_peek_elem_proto pointing to wrong callback (Jiri Olsa) [1874007] - selftests/bpf: Add verifier test for PTR_TO_MEM spill (Jiri Olsa) [1874007] - bpf: Support PTR_TO_MEM{,_OR_NULL} register spilling (Jiri Olsa) [1874007] - libbpf: Allow loading empty BTFs (Jiri Olsa) [1874007] - bpf: Allow empty module BTFs (Jiri Olsa) [1874007] - bpf: Don't leak memory in bpf getsockopt when optlen == 0 (Jiri Olsa) [1874007] - bpf: Update local storage test to check handling of null ptrs (Jiri Olsa) [1874007] - bpf: Fix typo in bpf_inode_storage.c (Jiri Olsa) [1874007] - bpf: Add size arg to build_id_parse function (Jiri Olsa) [1874007] - bpf: Move stack_map_get_build_id into lib (Jiri Olsa) [1874007] - bpf: Add tests for new BPF atomic operations (Jiri Olsa) [1874007] - bpf: Add bitwise atomic instructions (Jiri Olsa) [1874007] - bpf: Pull out a macro for interpreting atomic ALU operations (Jiri Olsa) [1874007] - bpf: Add instructions for atomic_[cmp]xchg (Jiri Olsa) [1874007] - bpf: Add BPF_FETCH field / create atomic_fetch_add instruction (Jiri Olsa) [1874007] - bpf: Move BPF_STX reserved field check into BPF_STX verifier code (Jiri Olsa) [1874007] - bpf: Rename BPF_XADD and prepare to encode other atomics in .imm (Jiri Olsa) [1874007] - bpf: x86: Factor out a lookup table for some ALU opcodes (Jiri Olsa) [1874007] - bpf: x86: Factor out emission of REX byte (Jiri Olsa) [1874007] - bpf: x86: Factor out emission of ModR/M for *(reg + off) (Jiri Olsa) [1874007] - bpf, libbpf: Avoid unused function warning on bpf_tail_call_static (Jiri Olsa) [1874007] - selftests/bpf: Install btf_dump test cases (Jiri Olsa) [1874007] - selftests/bpf: Fix installation of urandom_read (Jiri Olsa) [1874007] - selftests/bpf: Move generated test files to $(TEST_GEN_FILES) (Jiri Olsa) [1874007] - selftests/bpf: Fix out-of-tree build (Jiri Olsa) [1874007] - selftests/bpf: Enable cross-building (Jiri Olsa) [1874007] - selftests/bpf: Test kernel module ksym externs (Jiri Olsa) [1874007] - libbpf: Support kernel module ksym externs (Jiri Olsa) [1874007] - bpf: Support BPF ksym variables in kernel modules (Jiri Olsa) [1874007] - selftests/bpf: Sync RCU before unloading bpf_testmod (Jiri Olsa) [1874007] - bpf: Fix a verifier message for alloc size helper arg (Jiri Olsa) [1874007] - bpf: Clarify return value of probe str helpers (Jiri Olsa) [1874007] - libbpf: Clarify kernel type use with USER variants of CORE reading macros (Jiri Olsa) [1874007] - selftests/bpf: Remove duplicate include in test_lsm (Jiri Olsa) [1874007] - bpf: Remove unnecessary include from preload/iterators (Jiri Olsa) [1874007] - selftests/bpf: Add tests for user- and non-CO-RE BPF_CORE_READ() variants (Jiri Olsa) [1874007] - libbpf: Add non-CO-RE variants of BPF_CORE_READ() macro family (Jiri Olsa) [1874007] - selftests/bpf: Fix a compile error for BPF_F_BPRM_SECUREEXEC (Jiri Olsa) [1874007] - bpf: Use thread_group_leader() (Jiri Olsa) [1874007] - bpf: Save correct stopping point in file seq iteration (Jiri Olsa) [1874007] - selftests/bpf: Work-around EBUSY errors from hashmap update/delete (Jiri Olsa) [1874007] - bpf: Add schedule point in htab_init_buckets() (Jiri Olsa) [1874007] - bpf: Remove unused including (Jiri Olsa) [1874007] - selftests/bpf: Fix spelling mistake "tranmission" -> "transmission" (Jiri Olsa) [1874007] - selftests/bpf: Clarify build error if no vmlinux (Jiri Olsa) [1874007] - tweewide: Fix most Shebang lines (Jiri Olsa) [1874007] - bpf: In bpf_task_fd_query use fget_task (Jiri Olsa) [1874007] - selftests/bpf: Add a test for ptr_to_map_value on stack for helper access (Jiri Olsa) [1874007] - bpf: Permits pointers on stack for helper calls (Jiri Olsa) [1874007] - libbpf: Expose libbpf ring_buffer epoll_fd (Jiri Olsa) [1874007] - selftests/bpf: Add set_attach_target() API selftest for module target (Jiri Olsa) [1874007] - libbpf: Support modules in bpf_program__set_attach_target() API (Jiri Olsa) [1874007] - selftests/bpf: Silence ima_setup.sh when not running in verbose mode. (Jiri Olsa) [1874007] - selftests/bpf: Drop the need for LLVM's llc (Jiri Olsa) [1874007] - selftests/bpf: fix bpf_testmod.ko recompilation logic (Jiri Olsa) [1874007] - selftests/bpf: Make selftest compilation work on clang 11 (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - adding xdpxceiver to .gitignore (Jiri Olsa) [1874007] - selftests/bpf: Drop tcp-{client,server}.py from Makefile (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - Bi-directional Sockets - SKB, DRV (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - Socket Teardown - SKB, DRV (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - DRV POLL, NOPOLL (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - SKB POLL, NOPOLL (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests framework (Jiri Olsa) [1874007] - bpf: Return -ENOTSUPP when attaching to non-kernel BTF (Jiri Olsa) [1874007] - bpf: Propagate __user annotations properly (Jiri Olsa) [1874007] - bpf: Avoid overflows involving hash elem_size (Jiri Olsa) [1874007] - selftests/bpf: Test bpf_sk_storage_get in tcp iterators (Jiri Olsa) [1874007] - selftests/bpf: Add an iterator selftest for bpf_sk_storage_get (Jiri Olsa) [1874007] - selftests/bpf: Add an iterator selftest for bpf_sk_storage_delete (Jiri Olsa) [1874007] - bpf: Add a bpf_sock_from_file helper (Jiri Olsa) [1874007] - selftests/bpf: Avoid errno clobbering (Jiri Olsa) [1874007] - selftests/bpf: Print reason when a tester could not run a program (Jiri Olsa) [1874007] - selftests/bpf: Fix invalid use of strncat in test_sockmap (Jiri Olsa) [1874007] - libbpf: Use memcpy instead of strncpy to please GCC (Jiri Olsa) [1874007] - selftests/bpf: Add fentry/fexit/fmod_ret selftest for kernel module (Jiri Olsa) [1874007] - selftests/bpf: Add tp_btf CO-RE reloc test for modules (Jiri Olsa) [1874007] - libbpf: Support attachment of BPF tracing programs to kernel modules (Jiri Olsa) [1874007] - libbpf: Factor out low-level BPF program loading helper (Jiri Olsa) [1874007] - bpf: Allow to specify kernel module BTFs when attaching BPF programs (Jiri Olsa) [1874007] - bpf: Remove hard-coded btf_vmlinux assumption from BPF verifier (Jiri Olsa) [1874007] - selftests/bpf: Add CO-RE relocs selftest relying on kernel module BTF (Jiri Olsa) [1874007] - selftests/bpf: Add support for marking sub-tests as skipped (Jiri Olsa) [1874007] - selftests/bpf: Add bpf_testmod kernel module for testing (Jiri Olsa) [1874007] - libbpf: Add kernel module BTF support for CO-RE relocations (Jiri Olsa) [1874007] - libbpf: Refactor CO-RE relocs to not assume a single BTF object (Jiri Olsa) [1874007] - libbpf: Add internal helper to load BTF data by FD (Jiri Olsa) [1874007] - selftests/bpf: Add Userspace tests for TCP_WINDOW_CLAMP (Jiri Olsa) [1874007] - bpf: Fix cold build of test_progs-no_alu32 (Jiri Olsa) [1874007] - libbpf: Cap retries in sys_bpf_prog_load (Jiri Olsa) [1874007] - libbpf: Sanitise map names before pinning (Jiri Olsa) [1874007] - libbpf: Fail early when loading programs with unspecified type (Jiri Olsa) [1874007] - selftests/bpf: Indent ima_setup.sh with tabs. (Jiri Olsa) [1874007] - selftests/bpf: Add config dependency on BLK_DEV_LOOP (Jiri Olsa) [1874007] - selftests/bpf: Ensure securityfs mount before writing ima policy (Jiri Olsa) [1874007] - selftests/bpf: Update ima_setup.sh for busybox (Jiri Olsa) [1874007] - libbpf: Separate XDP program load with xsk socket creation (Jiri Olsa) [1874007] - selftests/bpf: Copy file using read/write in local storage test (Jiri Olsa) [1874007] - libbpf: Add base BTF accessor (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for bpf progs (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for bpf local storage maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for stackmap maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for bpf ringbuffer (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for reuseport_array maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for queue_stack_maps maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for lpm_trie maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for hashtab maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for devmap maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for cgroup storage maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for cpumap maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for bpf_struct_ops maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for arraymap maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for bpf local storage maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for bpf ringbuffer (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for lpm_trie maps (Jiri Olsa) [1874007] - bpf: Refine memcg-based memory accounting for hashtab maps (Jiri Olsa) [1874007] - bpf: Refine memcg-based memory accounting for devmap maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for cgroup storage maps (Jiri Olsa) [1874007] - bpf: Refine memcg-based memory accounting for cpumap maps (Jiri Olsa) [1874007] - bpf: Refine memcg-based memory accounting for arraymap maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for bpf maps (Jiri Olsa) [1874007] - bpf: Prepare for memcg-based memory accounting for bpf maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for bpf progs (Jiri Olsa) [1874007] - selftests/bpf: Extend bind{4,6} programs with a call to bpf_setsockopt (Jiri Olsa) [1874007] - selftests/bpf: Rewrite test_sock_addr bind bpf into C (Jiri Olsa) [1874007] - selftests/bpf: Fix flavored variants of test_ima (Jiri Olsa) [1874007] - libbpf: Replace size_t with __u32 in xsk interfaces (Jiri Olsa) [1874007] - bpf: Add a selftest for bpf_ima_inode_hash (Jiri Olsa) [1874007] - bpf: Add a BPF helper for getting the IMA hash of an inode (Jiri Olsa) [1874007] - libbpf: Add support for canceling cached_cons advance (Jiri Olsa) [1874007] - bpf: Refactor check_cfg to use a structured loop. (Jiri Olsa) [1874007] - selftest/bpf: Fix rst formatting in readme (Jiri Olsa) [1874007] - selftest/bpf: Fix link in readme (Jiri Olsa) [1874007] - bpf: Simplify task_file_seq_get_next() (Jiri Olsa) [1874007] - selftests/bpf: Mark tests that require unaligned memory access (Jiri Olsa) [1874007] - selftests/bpf: Avoid running unprivileged tests with alignment requirements (Jiri Olsa) [1874007] - selftests/bpf: Fix broken riscv build (Jiri Olsa) [1874007] - bpf: Add bpf_ktime_get_coarse_ns helper (Jiri Olsa) [1874007] - bpf: Add tests for bpf_bprm_opts_set helper (Jiri Olsa) [1874007] - bpf: Add bpf_bprm_opts_set helper (Jiri Olsa) [1874007] - libbpf: bpf__find_by_name[_kind] should use btf__get_nr_types() (Jiri Olsa) [1874007] - selftest/bpf: Fix IPV6FR handling in flow dissector (Jiri Olsa) [1874007] - bpf: Augment the set of sleepable LSM hooks (Jiri Olsa) [1874007] - bpf: selftest: Use bpf_sk_storage in FENTRY/FEXIT/RAW_TP (Jiri Olsa) [1874007] - selftests/bpf: Add asm tests for pkt vs pkt_end comparison. (Jiri Olsa) [1874007] - selftests/bpf: Add skb_pkt_end test (Jiri Olsa) [1874007] - bpf: Support for pointers beyond pkt_end. (Jiri Olsa) [1874007] - bpf: Compile out btf_parse_module() if module BTF is not enabled (Jiri Olsa) [1874007] - selftest/bpf: Add missed ip6ip6 test back (Jiri Olsa) [1874007] - bpf: Keep module's btf_data_size intact after load (Jiri Olsa) [1874007] - bpf: Sanitize BTF data pointer after module is loaded (Jiri Olsa) [1874007] - bpf: Load and verify kernel module BTFs (Jiri Olsa) [1874007] - bpf: Assign ID to vmlinux BTF and return extra info for BTF in GET_OBJ_INFO (Jiri Olsa) [1874007] - bpf: Add in-kernel split BTF support (Jiri Olsa) [1874007] - bpf, btf: Remove the duplicate btf_ids.h include (Jiri Olsa) [1874007] - selftests/bpf: Fix selftest build with old libc (Jiri Olsa) [1874007] - bpf: Exercise syscall operations for inode and sk storage (Jiri Olsa) [1874007] - bpf: Add tests for task_local_storage (Jiri Olsa) [1874007] - bpf: Update selftests for local_storage to use vmlinux.h (Jiri Olsa) [1874007] - bpf: Implement get_current_task_btf and RET_PTR_TO_BTF_ID (Jiri Olsa) [1874007] - libbpf: Add support for task local storage (Jiri Olsa) [1874007] - bpf: Implement task local storage (Jiri Olsa) [1874007] - bpf: Allow LSM programs to use bpf spin locks (Jiri Olsa) [1874007] - bpf: Lift hashtab key_size limit (Jiri Olsa) [1874007] - selftests/bpf: Add split BTF dedup selftests (Jiri Olsa) [1874007] - libbpf: Accomodate DWARF/compiler bug with duplicated identical arrays (Jiri Olsa) [1874007] - libbpf: Support BTF dedup of split BTFs (Jiri Olsa) [1874007] - libbpf: Fix BTF data layout checks and allow empty BTF (Jiri Olsa) [1874007] - selftests/bpf: Add checking of raw type dump in BTF writer APIs selftests (Jiri Olsa) [1874007] - selftests/bpf: Add split BTF basic test (Jiri Olsa) [1874007] - libbpf: Implement basic split BTF support (Jiri Olsa) [1874007] - libbpf: Unify and speed up BTF string deduplication (Jiri Olsa) [1874007] - selftest/bpf: Relax btf_dedup test checks (Jiri Olsa) [1874007] - libbpf: Factor out common operations in BTF writing APIs (Jiri Olsa) [1874007] - selftest/bpf: Use global variables instead of maps for test_tcpbpf_kern (Jiri Olsa) [1874007] - selftests/bpf: Migrate tcpbpf_user.c to use BPF skeleton (Jiri Olsa) [1874007] - selftests/bpf: Replace EXPECT_EQ with ASSERT_EQ and refactor verify_results (Jiri Olsa) [1874007] - selftests/bpf: Drop python client/server in favor of threads (Jiri Olsa) [1874007] - selftests/bpf: Move test_tcppbf_user into test_progs (Jiri Olsa) [1874007] - bpf: Fix error path in htab_map_alloc() (Jiri Olsa) [1874007] - bpf: Avoid hashtab deadlock with map_locked (Jiri Olsa) [1874007] - bpf: Use separate lockdep class for each hashtab (Jiri Olsa) [1874007] - fault-injection: handle EI_ETYPE_TRUE (Jiri Olsa) [1874007] - vfs, fdtable: Add fget_task helper (Jiri Olsa) [1874007] - [s390] vfio-pci/zdev: Add zPCI capabilities to VFIO_DEVICE_GET_INFO (Claudio Imbrenda) [1858844] - [s390] vfio: Introduce capability definitions for VFIO_DEVICE_GET_INFO (Claudio Imbrenda) [1858844] - [s390] s390/pci: track whether util_str is valid in the zpci_dev (Claudio Imbrenda) [1858844] - [s390] s390/pci: stash version in the zpci_dev (Claudio Imbrenda) [1858844]- Enable CRYPTO_SHA512 and _SSSE3 so these are available in FIPS mode (Vladis Dronov) [1973106] - crypto: drbg - self test for HMAC(SHA-512) (Vladis Dronov) [1973106] - xfrm: xfrm_state_mtu should return at least 1280 for ipv6 (Sabrina Dubroca) [1919786] - xfrm: remove get_mtu indirection from xfrm_type (Sabrina Dubroca) [1919786] - netfilter: move endif to correct location (Florian Westphal) [1971991] - netfilter: nft_compat: remove flush counter optimization (Florian Westphal) [1974323] - mptcp: fix soft lookup in subflow_error_report() (Florian Westphal) [1936368] - selftests: mptcp: enable syncookie only in absence of reorders (Florian Westphal) [1936368] - mptcp: do not warn on bad input from the network (Florian Westphal) [1936368] - mptcp: wake-up readers only for in sequence data (Florian Westphal) [1936368] - mptcp: try harder to borrow memory from subflow under pressure (Florian Westphal) [1936368] - mptcp: Fix out of bounds when parsing TCP options (Florian Westphal) [1936368] - selftests: mptcp_connect: add SO_TIMESTAMPNS cmsg support (Florian Westphal) [1936368] - mptcp: receive path cmsg support (Florian Westphal) [1936368] - tcp: export timestamp helpers for mptcp (Florian Westphal) [1936368] - mptcp: setsockopt: handle SOL_SOCKET in one place only (Florian Westphal) [1936368] - mptcp: sockopt: propagate timestamp request to subflows (Florian Westphal) [1936368] - sock: expose so_timestamping options for mptcp (Florian Westphal) [1936368] - mptcp: restrict values of 'enabled' sysctl (Florian Westphal) [1936368] - mptcp: support SYSCTL only if enabled (Florian Westphal) [1936368] - mptcp: make sure flag signal is set when add addr with port (Florian Westphal) [1936368] - mptcp: remove redundant initialization in pm_nl_init_net() (Florian Westphal) [1936368] - mptcp: generate subflow hmac after mptcp_finish_join() (Florian Westphal) [1936368] - mptcp: using TOKEN_MAX_RETRIES instead of magic number (Florian Westphal) [1936368] - mptcp: fix pr_debug in mptcp_token_new_connect (Florian Westphal) [1936368] - mptcp: update selftest for fallback due to OoO (Florian Westphal) [1936368] - mptcp: do not reset MP_CAPABLE subflow on mapping errors (Florian Westphal) [1936368] - mptcp: always parse mptcp options for MPC reqsk (Florian Westphal) [1936368] - mptcp: fix sk_forward_memory corruption on retransmission (Florian Westphal) [1936368] - mptcp: validate 'id' when stopping the ADD_ADDR retransmit timer (Florian Westphal) [1936368] - mptcp: avoid error message on infinite mapping (Florian Westphal) [1936368] - mptcp: drop unconditional pr_warn on bad opt (Florian Westphal) [1936368] - mptcp: avoid OOB access in setsockopt() (Florian Westphal) [1936368] - mptcp: fix data stream corruption (Florian Westphal) [1936368] - mptcp: fix splat when closing unaccepted socket (Florian Westphal) [1936368] - selftests: mptcp: add a test case for MSG_PEEK (Florian Westphal) [1936368] - mptcp: add MSG_PEEK support (Florian Westphal) [1936368] - mptcp: ignore unsupported msg flags (Florian Westphal) [1936368] - mptcp: implement MSG_TRUNC support (Florian Westphal) [1936368] - mptcp: implement dummy MSG_ERRQUEUE support (Florian Westphal) [1936368] - mptcp: Retransmit DATA_FIN (Florian Westphal) [1936368] - selftests: mptcp: add packet mark test case (Florian Westphal) [1936368] - selftests: mptcp: add the net device name testcase (Florian Westphal) [1936368] - selftests: mptcp: dump more info on mpjoin errors (Florian Westphal) [1936368] - selftests: mptcp: init nstat history (Florian Westphal) [1936368] - selftests: mptcp: launch mptcp_connect with timeout (Florian Westphal) [1936368] - selftests: mptcp: remove id 0 address testcases (Florian Westphal) [1936368] - selftests: mptcp: add addr argument for del_addr (Florian Westphal) [1936368] - selftests: mptcp: avoid calling pm_nl_ctl with bad IDs (Florian Westphal) [1936368] - selftests: mptcp: signal addresses testcases (Florian Westphal) [1936368] - selftests: mptcp: timeout testcases for multi addresses (Florian Westphal) [1936368] - selftests: mptcp: add cfg_do_w for cfg_remove (Florian Westphal) [1936368] - selftests: mptcp: Restore packet capture option in join tests (Florian Westphal) [1936368] - selftests: mptcp: add testcases for removing addrs (Florian Westphal) [1936368] - selftests: mptcp: set addr id for removing testcases (Florian Westphal) [1936368] - selftests: mptcp: add invert argument for chk_rm_nr (Florian Westphal) [1936368] - selftests: mptcp: fail if not enough SYN/3rd ACK (Florian Westphal) [1936368] - selftests: mptcp: display warnings on one line (Florian Westphal) [1936368] - selftests: mptcp: fix ACKRX debug message (Florian Westphal) [1936368] - selftests: mptcp: dump more info on errors (Florian Westphal) [1936368] - selftests: mptcp: add command line arguments for mptcp_join.sh (Florian Westphal) [1936368] - selftests: mptcp: add testcases for ADD_ADDR with port (Florian Westphal) [1936368] - selftests: mptcp: add port argument for pm_nl_ctl (Florian Westphal) [1936368] - selftests: mptcp: add testcases for newly added addresses (Florian Westphal) [1936368] - selftests: mptcp: use minus values for removing address numbers (Florian Westphal) [1936368] - selftests: increase timeout to 10 min (Florian Westphal) [1936368] - selftests: mptcp: add IPv4-mapped IPv6 testcases (Florian Westphal) [1936368] - mptcp: use mptcp_for_each_subflow in mptcp_close (Florian Westphal) [1936368] - mptcp: add tracepoint in subflow_check_data_avail (Florian Westphal) [1936368] - mptcp: add tracepoint in ack_update_msk (Florian Westphal) [1936368] - mptcp: add tracepoint in get_mapping_status (Florian Westphal) [1936368] - mptcp: add tracepoint in mptcp_subflow_get_send (Florian Westphal) [1936368] - mptcp: export mptcp_subflow_active (Florian Westphal) [1936368] - mptcp: fix format specifiers for unsigned int (Florian Westphal) [1936368] - mptcp: sockopt: add TCP_CONGESTION and TCP_INFO (Florian Westphal) [1936368] - mptcp: setsockopt: SO_DEBUG and no-op options (Florian Westphal) [1936368] - mptcp: setsockopt: add SO_INCOMING_CPU (Florian Westphal) [1936368] - mptcp: setsockopt: add SO_MARK support (Florian Westphal) [1936368] - mptcp: setsockopt: support SO_LINGER (Florian Westphal) [1936368] - mptcp: setsockopt: handle receive/send buffer and device bind (Florian Westphal) [1936368] - mptcp: setsockopt: handle SO_KEEPALIVE and SO_PRIORITY (Florian Westphal) [1936368] - mptcp: tag sequence_seq with socket state (Florian Westphal) [1936368] - mptcp: add skeleton to sync msk socket options to subflows (Florian Westphal) [1936368] - mptcp: only admit explicitly supported sockopt (Florian Westphal) [1936368] - mptcp: move sockopt function into a new file (Florian Westphal) [1936368] - mptcp: drop all sub-options except ADD_ADDR when the echo bit is set (Florian Westphal) [1936368] - mptcp: unify add_addr(6)_generate_hmac (Florian Westphal) [1936368] - mptcp: drop MPTCP_ADDR_IPVERSION_4/6 (Florian Westphal) [1936368] - mptcp: use mptcp_addr_info in mptcp_options_received (Florian Westphal) [1936368] - mptcp: drop OPTION_MPTCP_ADD_ADDR6 (Florian Westphal) [1936368] - mptcp: use mptcp_addr_info in mptcp_out_options (Florian Westphal) [1936368] - mptcp: move flags and ifindex out of mptcp_addr_info (Florian Westphal) [1936368] - mptcp: add mptcp reset option support (Florian Westphal) [1936368] - mptcp: remove unneeded check on first subflow (Florian Westphal) [1936368] - mptcp: add active MPC mibs (Florian Westphal) [1936368] - mptcp: add mib for token creation fallback (Florian Westphal) [1936368] - mptcp: remove id 0 address (Florian Westphal) [1936368] - mptcp: unify RM_ADDR and RM_SUBFLOW receiving (Florian Westphal) [1936368] - mptcp: remove all subflows involving id 0 address (Florian Westphal) [1936368] - mptcp: subflow.c: Fix a typo (Florian Westphal) [1936368] - mptcp: rename mptcp_pm_nl_add_addr_send_ack (Florian Westphal) [1936368] - mptcp: send ack for rm_addr (Florian Westphal) [1936368] - mptcp: drop useless addr_signal clear (Florian Westphal) [1936368] - mptcp: move to next addr when subflow creation fail (Florian Westphal) [1936368] - mptcp: export lookup_anno_list_by_saddr (Florian Westphal) [1936368] - mptcp: move to next addr when timeout (Florian Westphal) [1936368] - mptcp: drop unused subflow in mptcp_pm_subflow_established (Florian Westphal) [1936368] - mptcp: skip connecting the connected address (Florian Westphal) [1936368] - mptcp: drop argument port from mptcp_pm_announce_addr (Florian Westphal) [1936368] - mptcp: clean-up the rtx path (Florian Westphal) [1936368] - mptcp: fix ADD_ADDR HMAC in case port is specified (Florian Westphal) [1936368] - mptcp: remove a list of addrs when flushing (Florian Westphal) [1936368] - mptcp: remove multi addresses and subflows in PM (Florian Westphal) [1936368] - mptcp: remove multi subflows in PM (Florian Westphal) [1936368] - mptcp: remove multi addresses in PM (Florian Westphal) [1936368] - mptcp: add rm_list_rx in mptcp_pm_data (Florian Westphal) [1936368] - mptcp: add rm_list in mptcp_options_received (Florian Westphal) [1936368] - mptcp: add rm_list_tx in mptcp_pm_data (Florian Westphal) [1936368] - mptcp: add rm_list in mptcp_out_options (Florian Westphal) [1936368] - mptcp: fix bit MPTCP_PUSH_PENDING tests (Florian Westphal) [1936368] - mptcp: fix length of ADD_ADDR with port sub-option (Florian Westphal) [1936368] - mptcp: free resources when the port number is mismatched (Florian Westphal) [1936368] - mptcp: fix missing wakeup (Florian Westphal) [1936368] - mptcp: fix race in release_cb (Florian Westphal) [1936368] - mptcp: factor out __mptcp_retrans helper() (Florian Westphal) [1936368] - mptcp: reset 'first' and ack_hint on subflow close (Florian Westphal) [1936368] - mptcp: dispose initial struct socket when its subflow is closed (Florian Westphal) [1936368] - mptcp: fix memory accounting on allocation error (Florian Westphal) [1936368] - mptcp: put subflow sock on connect error (Florian Westphal) [1936368] - mptcp: reset last_snd on subflow close (Florian Westphal) [1936368] - mptcp: do not wakeup listener for MPJ subflows (Florian Westphal) [1936368] - mptcp: fix DATA_FIN generation on early shutdown (Florian Westphal) [1936368] - mptcp: fix DATA_FIN processing for orphaned sockets (Florian Westphal) [1936368] - mptcp: add local addr info in mptcp_info (Florian Westphal) [1936368] - mptcp: add netlink event support (Florian Westphal) [1936368] - mptcp: avoid lock_fast usage in accept path (Florian Westphal) [1936368] - netlink: don't call ->netlink_bind with table lock held (Florian Westphal) [1936368] - genetlink: restrict upcoming mptcp netlink events to CAP_NET_ADMIN (Florian Westphal) [1936368] - mptcp: pass subflow socket to a few helpers (Florian Westphal) [1936368] - mptcp: move subflow close loop after sk close check (Florian Westphal) [1936368] - mptcp: schedule worker when subflow is closed (Florian Westphal) [1936368] - mptcp: split __mptcp_close_ssk helper (Florian Westphal) [1936368] - mptcp: move pm netlink work into pm_netlink (Florian Westphal) [1936368] - mptcp: add a missing retransmission timer scheduling (Florian Westphal) [1936368] - mptcp: better msk receive window updates (Florian Westphal) [1936368] - mptcp: init mptcp request socket earlier (Florian Westphal) [1936368] - mptcp: fix spurious retransmissions (Florian Westphal) [1936368] - mptcp: fix poll after shutdown (Florian Westphal) [1936368] - mptcp: deliver ssk errors to msk (Florian Westphal) [1936368] - mptcp: pm: add lockdep assertions (Florian Westphal) [1936368] - mptcp: add the mibs for ADD_ADDR with port (Florian Westphal) [1936368] - mptcp: deal with MPTCP_PM_ADDR_ATTR_PORT in PM netlink (Florian Westphal) [1936368] - mptcp: enable use_port when invoke addresses_equal (Florian Westphal) [1936368] - mptcp: add port number check for MP_JOIN (Florian Westphal) [1936368] - mptcp: add a new helper subflow_req_create_thmac (Florian Westphal) [1936368] - mptcp: drop unused skb in subflow_token_join_request (Florian Westphal) [1936368] - mptcp: create the listening socket for new port (Florian Westphal) [1936368] - mptcp: create subflow or signal addr for newly added address (Florian Westphal) [1936368] - mptcp: drop *_max fields in mptcp_pm_data (Florian Westphal) [1936368] - mptcp: use WRITE_ONCE for the pernet *_max (Florian Westphal) [1936368] - mptcp: pm nl: reduce variable scope (Florian Westphal) [1936368] - mptcp: pm nl: support IPv4 mapped in v6 addresses (Florian Westphal) [1936368] - mptcp: support MPJoin with IPv4 mapped in v6 sk (Florian Westphal) [1936368] - mptcp: use sha256() instead of open coding (Florian Westphal) [1936368] - crypto: lib/sha256 - add sha256() function (Florian Westphal) [1936368] - mptcp: use SHA256_BLOCK_SIZE, not SHA_MESSAGE_BYTES (Florian Westphal) [1936368] - xprtrdma: Pad optimization, revisited (Steve Dickson) [1926957] - ibmvnic: remove set but not used variable 'netdev' (Diego Domingos) [1922193] - net/ibmvnic: Remove tests of member address (Diego Domingos) [1922193] - ibmvnic: remove duplicate napi_schedule call in do_reset function (Diego Domingos) [1922193] - ibmvnic: avoid calling napi_disable() twice (Diego Domingos) [1922193] - ibmvnic: queue reset work in system_long_wq (Diego Domingos) [1922193] - ibmvnic: correctly use dev_consume/free_skb_irq (Diego Domingos) [1922193] - ibmvnic: improve failover sysfs entry (Diego Domingos) [1922193] - ibmvnic: print adapter state as a string (Diego Domingos) [1922193] - ibmvnic: print reset reason as a string (Diego Domingos) [1922193] - ibmvnic: clean up the remaining debugfs data structures (Diego Domingos) [1922193] - ibmvnic: Use 'skb_frag_address()' instead of hand coding it (Diego Domingos) [1922193] - ibmvnic: remove excessive irqsave (Diego Domingos) [1922193] - ibmvnic: always store valid MAC address (Diego Domingos) [1922193] - ibmvnic: Fix possibly uninitialized old_num_tx_queues variable warning. (Diego Domingos) [1922193] - vio: make remove callback return void (Diego Domingos) [1922193] - tty: hvcs: Drop unnecessary if block (Diego Domingos) [1922193] - ibmvnic: serialize access to work queue on remove (Diego Domingos) [1922193] - ibmvnic: skip send_request_unmap for timeout reset (Diego Domingos) [1922193] - ibmvnic: add memory barrier to protect long term buffer (Diego Domingos) [1922193] - ibmvnic: substitute mb() with dma_wmb() for send_*crq* functions (Diego Domingos) [1922193] - ibmvnic: prefer strscpy over strlcpy (Diego Domingos) [1922193] - ibmvnic: remove unused spinlock_t stats_lock definition (Diego Domingos) [1922193] - ibmvnic: add comments for spinlock_t definitions (Diego Domingos) [1922193] - ibmvnic: fix miscellaneous checks (Diego Domingos) [1922193] - ibmvnic: avoid multiple line dereference (Diego Domingos) [1922193] - ibmvnic: fix braces (Diego Domingos) [1922193] - ibmvnic: fix block comments (Diego Domingos) [1922193] - ibmvnic: prefer 'unsigned long' over 'unsigned long int' (Diego Domingos) [1922193] - ibmvnic: remove unnecessary rmb() inside ibmvnic_poll (Diego Domingos) [1922193] - ibmvnic: rework to ensure SCRQ entry reads are properly ordered (Diego Domingos) [1922193] - ibmvnic: Ensure that CRQ entry read are correctly ordered (Diego Domingos) [1922193] - net: ethernet: ibm: ibmvnic: Fix some kernel-doc misdemeanours (Diego Domingos) [1922193] - powerpc/hmi: Fix kernel hang when TB is in error state. (Gustavo Walbon) [1924091] - powerpc/eeh: Fix EEH handling for hugepages in ioremap space. (Gustavo Walbon) [1924090] - powerpc/pseries: Only register vio drivers if vio bus exists (Gustavo Walbon) [1924090] - powerpc/pci: Remove unimplemented prototypes (Gustavo Walbon) [1924090] - powerpc/powernv/pci: Use kzalloc() for phb related allocations (Gustavo Walbon) [1924090] - powerpc/pasemi: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/embedded6xx/mve5100: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/embedded6xx/mpc7448: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/embedded6xx/linkstation: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/embedded6xx/holly: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/chrp: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/amigaone: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/83xx: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/82xx/*: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/52xx/mpc5200_simple: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/52xx/media5200: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/52xx/lite5200: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/52xx/efika: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/512x: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/pci: Move PHB discovery for PCI_DN using platforms (Gustavo Walbon) [1924090] - powerpc/maple: Fix declaration made after definition (Gustavo Walbon) [1924090] - powerpc/pci: Add ppc_md.discover_phbs() (Gustavo Walbon) [1924090] - powerpc/pci: Delete traverse_pci_dn() (Gustavo Walbon) [1924090] - powerpc/eeh: Rework pci_dev lookup in debugfs attributes (Gustavo Walbon) [1924090] - selftests/powerpc: Add VF recovery tests (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Make pseries_send_allow_unfreeze() static (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Make pseries_pcibios_bus_add_device() static (Gustavo Walbon) [1924090] - selftests/powerpc: Make the test check in eeh-basic.sh posix compliant (Gustavo Walbon) [1924090] - powernv/pci: Print an error when device enable is blocked (Gustavo Walbon) [1924090] - selftests/powerpc/eeh: disable kselftest timeout setting for eeh-basic (Gustavo Walbon) [1924090] - powerpc/eeh_cache: Fix a possible debugfs deadlock (Gustavo Walbon) [1924090] - powerpc/eeh: Fix eeh_dev_check_failure() for PE#0 (Gustavo Walbon) [1924090] - selftests/powerpc: Fix eeh-basic.sh exit codes (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Fix use of uninitialised variable (Gustavo Walbon) [1924090] - powerpc/eeh: Delete eeh_pe->config_addr (Gustavo Walbon) [1924090] - powerpc/eeh: Clean up PE addressing (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Allow zero to be a valid PE configuration address (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Rework device EEH PE determination (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Clean up pe_config_addr lookups (Gustavo Walbon) [1924090] - powerpc/eeh: Move EEH initialisation to an arch initcall (Gustavo Walbon) [1924090] - powerpc/eeh: Delete eeh_ops->init (Gustavo Walbon) [1924090] - powerpc/pseries: Stop using eeh_ops->init() (Gustavo Walbon) [1924090] - powerpc/powernv: Stop using eeh_ops->init() (Gustavo Walbon) [1924090] - powerpc/eeh: Rework EEH initialisation (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Fix dumb linebreaks (Gustavo Walbon) [1924090] - selftests/powerpc: Squash spurious errors due to device removal (Gustavo Walbon) [1924090] - powerpc/eeh: Move PE tree setup into the platform (Gustavo Walbon) [1924090] - powerpc/eeh: Drop pdn use in eeh_pe_tree_insert() (Gustavo Walbon) [1924090] - powerpc/eeh: Rename eeh_{add_to|remove_from}_parent_pe() (Gustavo Walbon) [1924090] - powerpc/eeh: Remove class code field from edev (Gustavo Walbon) [1924090] - powerpc/eeh: Remove spurious use of pci_dn in eeh_dump_dev_log (Gustavo Walbon) [1924090] - powerpc/eeh: Pass eeh_dev to eeh_ops->{read|write}_config() (Gustavo Walbon) [1924090] - powerpc/eeh: Pass eeh_dev to eeh_ops->resume_notify() (Gustavo Walbon) [1924090] - powerpc/eeh: Pass eeh_dev to eeh_ops->restore_config() (Gustavo Walbon) [1924090] - powerpc/eeh: Remove VF config space restoration (Gustavo Walbon) [1924090] - powerpc/eeh: Kill off eeh_ops->get_pe_addr() (Gustavo Walbon) [1924090] - powerpc/pseries: Stop using pdn->pe_number (Gustavo Walbon) [1924090] - powerpc/eeh: Move vf_index out of pci_dn and into eeh_dev (Gustavo Walbon) [1924090] - powerpc/eeh: Remove eeh_dev.c (Gustavo Walbon) [1924090] - powerpc/eeh: Remove eeh_dev_phb_init_dynamic() (Gustavo Walbon) [1924090] - powerpc/powernv: Make pnv_pci_sriov_enable() and friends static (Gustavo Walbon) [1924090] - powerpc/pseries: Make vio and ibmebus initcalls pseries specific (Gustavo Walbon) [1924090] - powerpc/eeh: Release EEH device state synchronously (Gustavo Walbon) [1924090] - powerpc/eeh: Rework eeh_ops->probe() (Gustavo Walbon) [1924090] - powerpc/eeh: Make early EEH init pseries specific (Gustavo Walbon) [1924090] - powerpc/eeh: Remove PHB check in probe (Gustavo Walbon) [1924090] - powerpc/eeh: Do early EEH init only when required (Gustavo Walbon) [1924090] - powerpc/eeh: Only dump stack once if an MMIO loop is detected (Gustavo Walbon) [1924090] - powernv/pci: Add a debugfs entry to dump PHB's IODA PE state (Gustavo Walbon) [1924090] - powernv/pci: Allow any write trigger the diag dump (Gustavo Walbon) [1924090] - powernv/pci: Use pnv_phb as the private data for debugfs entries (Gustavo Walbon) [1924090] - powerpc/powernv/npu: Fix debugfs_simple_attr.cocci warnings (Gustavo Walbon) [1924090] - powerpc/pcidn: Warn when sriov pci_dn management is used incorrectly (Gustavo Walbon) [1924090] - powerpc/pcidn: Make VF pci_dn management CONFIG_PCI_IOV specific (Gustavo Walbon) [1924090] - powerpc/sriov: Remove VF eeh_dev state when disabling SR-IOV (Gustavo Walbon) [1924090] - powerpc/eeh_sysfs: Make clearing EEH_DEV_SYSFS saner (Gustavo Walbon) [1924090] - powerpc/eeh_sysfs: Remove double pci_dn lookup. (Gustavo Walbon) [1924090] - powerpc/eeh_sysfs: ifdef pseries sr-iov sysfs properties (Gustavo Walbon) [1924090] - powerpc/eeh_cache: Don't use pci_dn when inserting new ranges (Gustavo Walbon) [1924090] - powerpc/eeh: differentiate duplicate detection message (Gustavo Walbon) [1924090] - powerpc/eeh: Handle hugepages in ioremap space (Gustavo Walbon) [1924090] - powerpc/powernv-eeh: Consisely desribe what this file does (Gustavo Walbon) [1924090] - powerpc/eeh_cache: fix a W=1 kernel-doc warning (Gustavo Walbon) [1924090] - powerpc/eeh_cache: Add a way to dump the EEH address cache (Gustavo Walbon) [1924090] - powerpc/powernv: Escalate reset when IODA reset fails (Gustavo Walbon) [1924090] - powerpc/powernv/eeh/npu: Fix uninitialized variables in opal_pci_eeh_freeze_status (Gustavo Walbon) [1924090] - powerpc: eeh_event: convert semaphore to completion (Gustavo Walbon) [1924090] - powerpc/eeh: Declare pci_ers_result_name() as static (Gustavo Walbon) [1924090] - Bluetooth: verify AMP hci_chan before amp_destroy (Gopal Tiwari) [1962546] {CVE-2021-33034} - NFSv4.2 fix handling of sr_eof in SEEK's reply (Steve Dickson) [1948015] - SUNRPC: Fix null pointer dereference in svc_rqst_free() (Benjamin Coddington) [1952008] - NFSv4: Use sequence counter with associated spinlock (Benjamin Coddington) [1952008] - NFSv4.2: fix return value of _nfs4_get_security_label() (Benjamin Coddington) [1952008] - NFSD: fix error handling in NFSv4.0 callbacks (Benjamin Coddington) [1952008] - NFS: Don't gratuitously clear the inode cache when lookup failed (Benjamin Coddington) [1952008] - NFS: Don't revalidate the directory permissions on a lookup failure (Benjamin Coddington) [1952008] - nfsd: register pernet ops last, unregister first (Benjamin Coddington) [1952008] - SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() (Benjamin Coddington) [1952008] - lockd: fix access beyond unterminated strings in prints (Benjamin Coddington) [1952008] - tty: Protect disc_data in n_tty_close and n_tty_flush_buffer (Rafael Aquini) [1879861] - hwmon: (amd_energy) Add AMD family 19h model 30h x86 match (Terry Bowman) [1949280]- redhat/configs: Re-enable dptf_power module (Prarit Bhargava) [1962349] - net/sched: act_ct: Offload connections with commit action (Marcelo Ricardo Leitner) [1965817] - netfilter: flowtable: Remove redundant hw refresh bit (Marcelo Ricardo Leitner) [1965817] - inet_diag: add support for tw_mark (Xin Long) [1972967] - mm: thp: fix MADV_REMOVE deadlock on shmem THP (Waiman Long) [1974659] {CVE-2020-29368} - mm: thp: make the THP mapcount atomic against __split_huge_pmd_locked() (Waiman Long) [1974659] {CVE-2020-29368} - mmap locking API: add mmap_lock_is_contended() (Waiman Long) [1970177] - mm: madvise: fix vma user-after-free (Waiman Long) [1970177] - khugepaged: collapse_pte_mapped_thp() protect the pmd lock (Waiman Long) [1970177] - khugepaged: collapse_pte_mapped_thp() flush the right range (Waiman Long) [1970177] - mm/mmap.c: close race between munmap() and expand_upwards()/downwards() (Waiman Long) [1970177] - mm: document warning in move_normal_pmd() and make it warn only once (Waiman Long) [1970177] - mmap locking API: convert mmap_sem comments (Waiman Long) [1970177] - mmap locking API: convert mmap_sem API comments (Waiman Long) [1970177] - mmap locking API: rename mmap_sem to mmap_lock (Waiman Long) [1970177] - mmap locking API: add mmap_assert_locked() and mmap_assert_write_locked() (Waiman Long) [1970177] - mmap locking API: add MMAP_LOCK_INITIALIZER (Waiman Long) [1970177] - mmap locking API: convert nested write lock sites (Waiman Long) [1970177] - mmap locking API: convert mmap_sem call sites missed by coccinelle (Waiman Long) [1970177] - mmap locking API: use coccinelle to convert mmap_sem rwsem call sites (Waiman Long) [1970177] - MMU notifier: use the new mmap locking API (Waiman Long) [1970177] - mm/gup.c: further document vma_permits_fault() (Waiman Long) [1970177] - mm/gup.c: update the documentation (Waiman Long) [1970177] - mm/ksm: fix NULL pointer dereference when KSM zero page is enabled (Waiman Long) [1970177] - proc: inline vma_stop into m_stop (Waiman Long) [1970177] - mm: remove CONFIG_TRANSPARENT_HUGE_PAGECACHE (Waiman Long) [1970177] - fs/io_uring: set FOLL_PIN via pin_user_pages() (Waiman Long) [1970177] - shmem: pin the file in shmem_fault() if mmap_sem is dropped (Waiman Long) [1970177] - mm/gup.c: fix comments of __get_user_pages() and get_user_pages_remote() (Waiman Long) [1970177] - mm/init-mm.c: include for vm_committed_as_batch (Waiman Long) [1970177] - lib/generic-radix-tree.c: add kmemleak annotations (Waiman Long) [1970177] - mm: Remove BUG_ON mmap_sem not held from xxx_trans_huge_lock() (Waiman Long) [1970177] - lib/generic-radix-tree.c: make 2 functions static inline (Waiman Long) [1970177] - x86/mm: Clean up the pmd_read_atomic() comments (Waiman Long) [1970177] - x86/mm: Fix function name typo in pmd_read_atomic() comment (Waiman Long) [1970177] - khugepaged: enable collapse pmd for pte-mapped THP (Waiman Long) [1970177] - mm: Handle MADV_WILLNEED through vfs_fadvise() (Waiman Long) [1970177] - pagewalk: use lockdep_assert_held for locking validation (Waiman Long) [1970177] - mm: use down_read_killable for locking mmap_sem in access_remote_vm (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/map_files (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/clear_refs (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/pagemap (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/smaps_rollup (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/maps (Waiman Long) [1970177] - mm/filemap.c: correct the comment about VM_FAULT_RETRY (Waiman Long) [1970177] - mm: mmu_gather: remove __tlb_reset_range() for force flush (Waiman Long) [1970177] - arm64/mm: Drop mmap_sem before calling __do_kernel_fault() (Waiman Long) [1970177] - docs/vm: Minor editorial changes in the THP and hugetlbfs (Waiman Long) [1970177] - x86/mpx, mm/core: Fix recursive munmap() corruption (Waiman Long) [1970177] - doc: mm: migration doesn't use FOLL_SPLIT anymore (Waiman Long) [1970177] - filemap: add a comment about FAULT_FLAG_RETRY_NOWAIT behavior (Waiman Long) [1970177] - proc: commit to genradix (Waiman Long) [1970177] - generic radix trees (Waiman Long) [1970177] - mm: swap: add comment for swap_vma_readahead (Waiman Long) [1970177] - x86/mm: Make set_pmd_at() paravirt aware (Waiman Long) [1970177] - mm: select HAVE_MOVE_PMD on x86 for faster mremap (Waiman Long) [1970177] - mm: speed up mremap by 20x on large regions (Waiman Long) [1970177] - mm/mmap.c: remove verify_mm_writelocked() (Waiman Long) [1970177] - x86/fault: Check user_mode(regs) when avoiding an mmap_sem deadlock (Waiman Long) [1970177] - mm: brk: downgrade mmap_sem to read when shrinking (Waiman Long) [1970177] - mm: mremap: downgrade mmap_sem to read when shrinking (Waiman Long) [1970177] - mm: unmap VM_PFNMAP mappings with optimized path (Waiman Long) [1970177] - mm: unmap VM_HUGETLB mappings with optimized path (Waiman Long) [1970177] - mm: mmap: zap pages with read mmap_sem in munmap (Waiman Long) [1970177] - x86/mm: Fix exception table comments (Waiman Long) [1970177] - ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade() (Mark Langsdorf) [1946282] - acpi/drivers/thermal: Remove TRIPS_NONE cooling device binding (Mark Langsdorf) [1946282] - thermal/drivers/acpi: Use hot and critical ops (Mark Langsdorf) [1946282] - thermal/core: Add critical and hot ops (Mark Langsdorf) [1946282] - thermal/core: Emit a warning if the thermal zone is updated without ops (Mark Langsdorf) [1946282] - ACPI: scan: Fix _STA getting called on devices with unmet dependencies (Mark Langsdorf) [1946282] - ACPI: tables: x86: Reserve memory occupied by ACPI tables (Mark Langsdorf) [1946282] - ACPICA: Always create namespace nodes using acpi_ns_create_node() (Mark Langsdorf) [1946282] - ACPI: platform: Add balanced-performance platform profile (Mark Langsdorf) [1946282] - ACPI: platform: Hide ACPI_PLATFORM_PROFILE option (Mark Langsdorf) [1946282] - ACPICA: Remove some code duplication from acpi_ev_address_space_dispatch (Mark Langsdorf) [1946282] - ACPICA: Fix race in generic_serial_bus (I2C) and GPIO op_region parameter handling (Mark Langsdorf) [1946282] - ACPI: property: Satisfy kernel doc validator (part 2) (Mark Langsdorf) [1946282] - ACPI: property: Satisfy kernel doc validator (part 1) (Mark Langsdorf) [1946282] - ACPI: property: Make acpi_node_prop_read() static (Mark Langsdorf) [1946282] - ACPI: property: Remove dead code (Mark Langsdorf) [1946282] - iommu/amd: Fix performance counter initialization (Mark Langsdorf) [1946282] - ACPI: property: Fix fwnode string properties matching (Mark Langsdorf) [1946282] - ACPI / NUMA: add a stub function for node_to_pxm() (Mark Langsdorf) [1946282] - ACPI: OSL: Rework acpi_check_resource_conflict() (Mark Langsdorf) [1946282] - ACPI: APEI: ERST: remove unneeded semicolon (Mark Langsdorf) [1946282] - iommu/vt-d: Add new enum value and structure for SATC (Mark Langsdorf) [1946282] - ACPI: Add support for native USB4 control _OSC (Mark Langsdorf) [1946282] - ACPI: Execute platform _OSC also with query bit clear (Mark Langsdorf) [1946282] - redhat/configs: Add CONFIG_ACPI_FPDT (Mark Langsdorf) [1946282] - ACPI: tables: introduce support for FPDT table (Mark Langsdorf) [1946282] - ACPI: APEI: Add is_generic_error() to identify GHES sources (Mark Langsdorf) [1946282] - ACPI: platform-profile: Fix possible deadlock in platform_profile_remove() (Mark Langsdorf) [1946282] - ACPI: platform-profile: Introduce object pointers to callbacks (Mark Langsdorf) [1946282] - PCI/ACPI: Clarify message about _OSC failure (Mark Langsdorf) [1946282] - PCI/ACPI: Remove unnecessary osc_lock (Mark Langsdorf) [1946282] - PCI/ACPI: Make acpi_pci_osc_control_set() static (Mark Langsdorf) [1946282] - media: ACPI / bus: Add acpi_dev_get_next_match_dev() and helper macro (Mark Langsdorf) [1946282] - ACPI: scan: Adjust white space in acpi_device_add() (Mark Langsdorf) [1946282] - ACPI: scan: Rearrange memory allocation in acpi_device_add() (Mark Langsdorf) [1946282] - ACPI: platform-profile: Drop const qualifier for cur_profile (Mark Langsdorf) [1946282] - ACPI: configfs: add missing check after configfs_register_default_group() (Mark Langsdorf) [1946282] - ACPI: CPPC: initialise vaddr pointers to NULL (Mark Langsdorf) [1946282] - ACPI: CPPC: add __iomem annotation to generic_comm_base pointer (Mark Langsdorf) [1946282] - ACPI: CPPC: remove __iomem annotation for cpc_reg's address (Mark Langsdorf) [1946282] - ACPI: Use DEVICE_ATTR_ macros (Mark Langsdorf) [1946282] - ACPICA: Update version to 20210105 (Mark Langsdorf) [1946282] - ACPICA: Updated all copyrights to 2021 (Mark Langsdorf) [1946282] - ACPICA: Remove the VRTC table (Mark Langsdorf) [1946282] - ACPICA: Remove the MTMR (Mid-Timer) table (Mark Langsdorf) [1946282] - ACPICA: Update version to 20201217 (Mark Langsdorf) [1946282] - ACPICA: add type casts for string functions (Mark Langsdorf) [1946282] - ACPICA: fix -Wfallthrough (Mark Langsdorf) [1946282] - ACPICA: Clean up exception code class checks (Mark Langsdorf) [1946282] - ACPICA: Fix exception code class checks (Mark Langsdorf) [1946282] - redhat/configs: Add CONFIG_ACPI_PLATFORM_PROFILE (Mark Langsdorf) [1946282] - ACPI: platform: Add platform profile support (Mark Langsdorf) [1946282] - NTB/msi: Use irq_has_action() (Myron Stowe) [1933153] - NTB: Use struct_size() helper in devm_kzalloc() (Myron Stowe) [1933153] - ntb: intel: Fix memleak in intel_ntb_pci_probe (Myron Stowe) [1933153] - NTB: hw: amd: fix an issue about leak system resources (Myron Stowe) [1933153] - ntb: hw: remove the code that sets the DMA mask (Myron Stowe) [1933153] - [s390] s390/qdio: remove 'merge_pending' mechanism (Claudio Imbrenda) [1919251] - [s390] s390/qdio: improve handling of PENDING buffers for QEBSM devices (Claudio Imbrenda) [1919251] - [s390] s390/qdio: rework q->qdio_error indication (Claudio Imbrenda) [1919251] - [s390] s390/qdio: inline qdio_kick_handler() (Claudio Imbrenda) [1919251] - [s390] s390/qdio: track time of last data IRQ for each device (Claudio Imbrenda) [1919251] - [s390] s390/qdio: make thinint registration symmetric (Claudio Imbrenda) [1919251] - [s390] s390/qdio: adopt new tasklet API (Claudio Imbrenda) [1919251] - [s390] s390/qdio: remove qdio_inbound_q_moved() wrapper (Claudio Imbrenda) [1919251] - [s390] s390/qdio: remove Input tasklet code (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Do not set COMMAND_COMPLETE (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Handle event-lost notification for Version Change events (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Process Version Change events (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Clarify & assert the stat_lock locking in zfcp_qdio_send() (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Remove orphaned function declarations (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Lift Input Queue tasklet from qdio (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Clarify access to erp_action in zfcp_fsf_req_complete() (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Use list_first_entry_or_null() in zfcp_erp_thread() (Claudio Imbrenda) [1919251] - [s390] s390/qdio: always use dev_name() for device name in QIB (Claudio Imbrenda) [1919251] - [s390] s390/qdio: clean up QDR setup (Claudio Imbrenda) [1919251] - [s390] s390/qdio: make qdio_handle_aobs() more robust (Claudio Imbrenda) [1919251] - [s390] s390/cpumf: disable preemption when accessing per-cpu variable (Claudio Imbrenda) [1925527] - [s390] s390/cpumf: rename header file to hwctrset.h (Claudio Imbrenda) [1925527] - [s390] s390/cpumf: remove 60 seconds read limit (Claudio Imbrenda) [1925527] - [s390] s390/cpumf: Add support for complete counter set extraction (Claudio Imbrenda) [1925527]- KVM: X86: hyper-v: Task srcu lock when accessing kvm_memslots() (Vitaly Kuznetsov) [1904570] - KVM: nSVM: remove a warning about vmcb01 VM exit reason (Vitaly Kuznetsov) [1904570] - KVM: x86: Consolidate guest enter/exit logic to common helpers (Vitaly Kuznetsov) [1904570] - KVM: x86: Defer vtime accounting 'til after IRQ handling (Vitaly Kuznetsov) [1904570] - context_tracking: Move guest exit vtime accounting to separate helpers (Vitaly Kuznetsov) [1904570] - context_tracking: Move guest exit context tracking to separate helpers (Vitaly Kuznetsov) [1904570] - context_tracking: Make guest_enter/exit() .noinstr ready (Vitaly Kuznetsov) [1904570] - sched/cputime: Rename vtime_account_system() to vtime_account_kernel() (Vitaly Kuznetsov) [1904570] - x86/kvm/svm: Move guest enter/exit into .noinstr.text (Vitaly Kuznetsov) [1904570] - x86/kvm/vmx: Move guest enter/exit into .noinstr.text (Vitaly Kuznetsov) [1904570] - x86/kvm/svm: Add hardirq tracing on guest enter/exit (Vitaly Kuznetsov) [1904570] - x86/kvm/vmx: Add hardirq tracing to guest enter/exit (Vitaly Kuznetsov) [1904570] - x86/kvm: Move context tracking where it belongs (Vitaly Kuznetsov) [1904570] - Move some more variables to kernel job templates (Michael Hofmann) - Use a different branch name for realtime pipelines (Michael Hofmann) - block: mark queue init done at the end of blk_register_queue (Ming Lei) [1963766] - block: fix race between adding/removing rq qos and normal IO (Ming Lei) [1963766] - netfilter: x_tables: Use correct memory barriers. (Phil Sutter) [1949090] - Revert "netfilter: x_tables: Switch synchronization to RCU" (Phil Sutter) [1949090] - vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU (Gustavo Walbon) [1891589] - powerpc/powernv/npu: Do not attempt NPU2 setup on POWER8NVL NPU (Gustavo Walbon) [1891589] - cpupower: Add cpuid cap flag for MSR_AMD_HWCR support (Steve Best) [1949161] - cpupower: Remove family arg to decode_pstates() (Steve Best) [1949161] - cpupower: Condense pstate enabled bit checks in decode_pstates() (Steve Best) [1949161] - cpupower: Update family checks when decoding HW pstates (Steve Best) [1949161] - cpupower: Remove unused pscur variable. (Steve Best) [1949161] - cpupower: Add CPUPOWER_CAP_AMD_HW_PSTATE cpuid caps flag (Steve Best) [1949161] - cpupower: Correct macro name for CPB caps flag (Steve Best) [1949161] - cpupower: Update msr_pstate union struct naming (Steve Best) [1949161] - cpupower: add Makefile dependencies for install targets (Steve Best) [1949161] - tools/power/cpupower: Read energy_perf_bias from sysfs (Steve Best) [1949161] - tools: Avoid comma separated statements (Steve Best) [1949161] - cpupower: speed up generating git version string (Steve Best) [1949161] - cpupowerutils: fix spelling mistake "dependant" -> "dependent" (Steve Best) [1949161] - ext4: fix ext4_error_err save negative errno into superblock (Lukas Czerner) [1964928] - ext4: do not set SB_ACTIVE in ext4_orphan_cleanup() (Lukas Czerner) [1964928] - ext4: fix check to prevent false positive report of incorrect used inodes (Lukas Czerner) [1964928] - ext4: fix potential error in ext4_do_update_inode (Lukas Czerner) [1964928] - ext4: do not try to set xattr into ea_inode if value is empty (Lukas Czerner) [1964928] - ext4: fix potential htree index checksum corruption (Lukas Czerner) [1964928] - ext4: don't leak old mountpoint samples (Lukas Czerner) [1964928] - ext4: don't remount read-only with errors=continue on reboot (Lukas Czerner) [1964928] - ext4: fix deadlock with fs freezing and EA inodes (Lukas Czerner) [1964928] - ext4: fix a memory leak of ext4_free_data (Lukas Czerner) [1964928] - ext4: find old entry again if failed to rename whiteout (Lukas Czerner) [1945503] - ext4: fix bug for rename with RENAME_WHITEOUT (Lukas Czerner) [1945503] - mount: fix mounting of detached mounts onto targets that reside on shared mounts (Carlos Maiolino) [1959172] - fs: fix lazytime expiration handling in __writeback_single_inode() (Carlos Maiolino) [1936260] - tty: Don't hold ldisc lock in tty_reopen() if ldisc present (Waiman Long) [1968271] - tty/ldsem: Add lockdep asserts for ldisc_sem (Waiman Long) [1968271] - tty: Simplify tty->count math in tty_reopen() (Waiman Long) [1968271] - tty: Don't block on IO when ldisc change is pending (Waiman Long) [1968271] - tty: Hold tty_ldisc_lock() during tty_reopen() (Waiman Long) [1968271] - tty: Drop tty->count on tty_reopen() failure (Waiman Long) [1968271] - net: udp: Add support for getsockopt(..., ..., UDP_GRO, ..., ...); (Xin Long) [1951679] - net: Fix gro aggregation for udp encaps with zero csum (Xin Long) [1951679] - udp: ipv4: manipulate network header of NATed UDP GRO fraglist (Xin Long) [1951679] - udp: not remove the CRC flag from dev features when need_csum is false (Xin Long) [1951679] - udp: mask TOS bits in udp_v4_early_demux() (Xin Long) [1951679] - net: fix use-after-free when UDP GRO with shared fraglist (Xin Long) [1951679] - x86, sched: Treat Intel SNC topology as default, COD as exception (David Arcari) [1920040] - dmaengine: idxd: iax bus removal (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix cdev setup and free device lifetime issues (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix group conf_dev lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix engine conf_dev lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix wq conf_dev 'struct device' lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix idxd conf_dev 'struct device' lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: use ida for device instance enumeration (Jerry Snitselaar) [1955744] - dmaengine: idxd: removal of pcim managed mmio mapping (Jerry Snitselaar) [1955744] - dmaengine: idxd: cleanup pci interrupt vector allocation management (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix dma device lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: Fix potential null dereference on pointer status (Jerry Snitselaar) [1927070] - dmaengine: idxd: fix wq cleanup of WQCFG registers (Jerry Snitselaar) [1955744] - dmaengine: idxd: clear MSIX permission entry on shutdown (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix wq size store permission state (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix opcap sysfs attribute output (Jerry Snitselaar) [1955744] - dmaengine: idxd: Fix clobbering of SWERR overflow bit on writeback (Jerry Snitselaar) [1955744] - dmaengine: idxd: add module parameter to force disable of SVA (Jerry Snitselaar) [1920734] - dmaengine: idxd: set DMA channel to be private (Jerry Snitselaar) [1920759] - dma: idxd: use DEFINE_MUTEX() for mutex lock (Jerry Snitselaar) [1955744] - dmaengine: idxd: check device state before issue command (Jerry Snitselaar) [1927070] - dmaengine: move channel device_node deletion to driver (Jerry Snitselaar) [1920721] - dmaengine: idxd: fix misc interrupt completion (Jerry Snitselaar) [1920757] - dmaengine: idxd: Fix list corruption in description completion (Jerry Snitselaar) [1920746] - dmaengine: idxd: add IAX configuration support in the IDXD driver (Jerry Snitselaar) [1837233] - dmaengine: idxd: add ATS disable knob for work queues (Jerry Snitselaar) [1921291] - dmaengine: idxd: define table offset multiplier (Jerry Snitselaar) [1921290] - dmaengine: idxd: Update calculation of group offset to be more readable (Jerry Snitselaar) [1955744]- redhat/config: Double MAX_LOCKDEP_ENTRIES (Waiman Long) [1945937] - dm writecache: flush origin device when writing and cache is full (Mike Snitzer) [1970513] - dm snapshot: properly fix a crash when an origin has no snapshots (Mike Snitzer) [1970513] - dm verity: fix require_signatures module_param permissions (Mike Snitzer) [1970513] - dm snapshot: fix crash with transient storage and zero chunk size (Mike Snitzer) [1970513] - dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails (Mike Snitzer) [1970513] - dm integrity: increase RECALC_SECTORS to improve recalculate speed (Mike Snitzer) [1970513] - dm integrity: don't re-write metadata if discarding same blocks (Mike Snitzer) [1970513] - dm raid: fix inconclusive reshape layout on fast raid4/5/6 table reload sequences (Mike Snitzer) [1970513] - dm raid: fix fall-through warning in rs_check_takeover() for Clang (Mike Snitzer) [1970513] - dm integrity: fix missing goto in bitmap_flush_interval error handling (Mike Snitzer) [1970513] - dm space map common: fix division bug in sm_ll_find_free_block() (Mike Snitzer) [1970513] - dm persistent data: packed struct should have an aligned() attribute too (Mike Snitzer) [1970513] - dm btree spine: remove paranoid node_check call in node_prep_for_write() (Mike Snitzer) [1970513] - dm space map disk: remove redundant calls to sm_disk_get_nr_free() (Mike Snitzer) [1970513] - dm persistent data: remove unused return from exit_shadow_spine() (Mike Snitzer) [1970513] - dm verity: allow only one error handling mode (Mike Snitzer) [1970513] - dm: remove useless loop in __split_and_process_bio (Mike Snitzer) [1970513] - redhat/configs: Update CONFIG_PINCTRL_AMD (David Arcari) [1964588] - ionic: fix ptp support config breakage (Jonathan Toppins) [1951826] - ionic: return -EFAULT if copy_to_user() fails (Jonathan Toppins) [1951826] - ionic: git_ts_info bit shifters (Jonathan Toppins) [1951826] - ionic: extend ts_config set locking (Jonathan Toppins) [1951826] - ionic: add ts_config replay (Jonathan Toppins) [1951826] - ionic: ignore EBUSY on queue start (Jonathan Toppins) [1951826] - ionic: re-start ptp after queues up (Jonathan Toppins) [1951826] - ionic: add SKBTX_IN_PROGRESS (Jonathan Toppins) [1951826] - ionic: check for valid tx_mode on SKBTX_HW_TSTAMP xmit (Jonathan Toppins) [1951826] - ionic: remove unnecessary compat ifdef (Jonathan Toppins) [1951826] - ionic: fix up a couple of code style nits (Jonathan Toppins) [1951826] - ionic: advertise support for hardware timestamps (Jonathan Toppins) [1951826] - ionic: ethtool ptp stats (Jonathan Toppins) [1951826] - ionic: add ethtool support for PTP (Jonathan Toppins) [1951826] - ionic: add and enable tx and rx timestamp handling (Jonathan Toppins) [1951826] - ethtool: add timestamping related string sets (Jonathan Toppins) [1951826] - net: Introduce peer to peer one step PTP time stamping. (Jonathan Toppins) [1951826] - ionic: set up hw timestamp queues (Jonathan Toppins) [1951826] - ionic: add rx filtering for hw timestamp steering (Jonathan Toppins) [1951826] - ionic: link in the new hw timestamp code (Jonathan Toppins) [1951826] - ionic: add hw timestamp support files (Jonathan Toppins) [1951826] - ionic: split adminq post and wait calls (Jonathan Toppins) [1951826] - ionic: add hw timestamp structs to interface (Jonathan Toppins) [1951826] - ionic: add handling of larger descriptors (Jonathan Toppins) [1951826] - ionic: add new queue features to interface (Jonathan Toppins) [1951826] - ionic: pull per-q stats work out of queue loops (Jonathan Toppins) [1951826] - ionic: avoid races in ionic_heartbeat_check (Jonathan Toppins) [1951826] - ionic: fix sizeof usage (Jonathan Toppins) [1951826] - ionic: count dma errors (Jonathan Toppins) [1951826] - ionic: protect adminq from early destroy (Jonathan Toppins) [1951826] - ionic: stop watchdog when in broken state (Jonathan Toppins) [1951826] - ionic: block actions during fw reset (Jonathan Toppins) [1951826] - ionic: update ethtool support bits for BASET (Jonathan Toppins) [1951826] - ionic: fix unchecked reference (Jonathan Toppins) [1951826] - ionic: simplify the intr_index use in txq_init (Jonathan Toppins) [1951826] - ionic: code cleanup details (Jonathan Toppins) [1951826] - ionic: Update driver to use ethtool_sprintf (Jonathan Toppins) [1951826] - ionic: aggregate Tx byte counting calls (Jonathan Toppins) [1951826] - ionic: simplify tx clean (Jonathan Toppins) [1951826] - ionic: generic tx skb mapping (Jonathan Toppins) [1951826] - ionic: simplify TSO descriptor mapping (Jonathan Toppins) [1951826] - ionic: simplify use of completion types (Jonathan Toppins) [1951826] - ionic: rebuild debugfs on qcq swap (Jonathan Toppins) [1951826] - ionic: simplify rx skb alloc (Jonathan Toppins) [1951826] - ionic: optimize fastpath struct usage (Jonathan Toppins) [1951826] - ionic: implement Rx page reuse (Jonathan Toppins) [1951826] - ionic: move rx_page_alloc and free (Jonathan Toppins) [1951826] - drivers: net: ionic: simplify the return expression of ionic_set_rxfh() (Jonathan Toppins) [1951826] - ionic: change mtu after queues are stopped (Jonathan Toppins) [1951826] - ionic: remove some unnecessary oom messages (Jonathan Toppins) [1951826] - ionic: useful names for booleans (Jonathan Toppins) [1951826] - ionic: change set_rx_mode from_ndo to can_sleep (Jonathan Toppins) [1951826] - ionic: flatten calls to ionic_lif_rx_mode (Jonathan Toppins) [1951826] - ionic: batch rx buffer refilling (Jonathan Toppins) [1951826] - ionic: add lif quiesce (Jonathan Toppins) [1951826] - ionic: check for link after netdev registration (Jonathan Toppins) [1951826] - ionic: check port ptr before use (Jonathan Toppins) [1951826] - platform/x86: hp-wireless: add AMD's hardware id to the supported list (David Arcari) [1960472] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 (David Arcari) [1960472] - net/bond: revert deletion of driver and module versions (Jarod Wilson) [1955702] - net:sfc: fix non-freed irq in legacy irq mode (Íñigo Huguet) [1906728] - devlink: Extend SF port attributes to have external attribute (Petr Oros) [1959002] - netfilter: xt_SECMARK: add new revision to fix structure layout (Phil Sutter) [1961714] - xfrm: ipcomp: remove unnecessary get_cpu() (Sabrina Dubroca) [1946885] - platform/x86: intel_pmc_core: Add support for Alder Lake PCH-P (David Arcari) [1838624] - scsi: qedf: Update the max_id value in host structure (Nilesh Javali) [1954876] - scsi: qedf: Add pointer checks in qedf_update_link_speed() (Nilesh Javali) [1871687] - [s390] s390/nvme: support firmware-assisted dump to NVMe disks (Claudio Imbrenda) [1847447] - [s390] s390: nvme dump support (Claudio Imbrenda) [1847447] - [s390] s390/boot: add build-id to decompressor (Philipp Rudo) [1897093] - genirq: Reduce irqdebug cacheline bouncing (Gustavo Walbon) [1957729]- CI: Merge MR, baseline and private configs (Michael Hofmann) - RDMA/rxe: Fix failure during driver load (Kamal Heib) [1930263] - xfrm: remove the fragment check for ipv6 beet mode (Xin Long) [1965185] - SUNRPC: Fix NFS READs that start at non-page-aligned offsets (Benjamin Coddington) [1950303] - pNFS/NFSv4: Improve rejection of out-of-order layouts (Benjamin Coddington) [1950303] - pNFS/NFSv4: Update the layout barrier when we schedule a layoutreturn (Benjamin Coddington) [1950303] - pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process() (Benjamin Coddington) [1950303] - SUNRPC: Move the svc_xdr_recvfrom tracepoint again (Benjamin Coddington) [1950303] - nfsd4: readdirplus shouldn't return parent of export (Benjamin Coddington) [1950303] - NFS: nfs_igrab_and_active must first reference the superblock (Benjamin Coddington) [1950303] - NFS: nfs_delegation_find_inode_server must first reference the superblock (Benjamin Coddington) [1950303] - NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter (Benjamin Coddington) [1950303] - NFS/pNFS: Don't leak DS commits in pnfs_generic_retry_commit() (Benjamin Coddington) [1950303] - NFS/pNFS: Don't call pnfs_free_bucket_lseg() before removing the request (Benjamin Coddington) [1950303] - pNFS: Stricter ordering of layoutget and layoutreturn (Benjamin Coddington) [1950303] - pNFS: Clean up pnfs_layoutreturn_free_lsegs() (Benjamin Coddington) [1950303] - pNFS: We want return-on-close to complete when evicting the inode (Benjamin Coddington) [1950303] - pNFS: Mark layout for return if return-on-close was not sent (Benjamin Coddington) [1950303] - net: sunrpc: interpret the return value of kstrtou32 correctly (Benjamin Coddington) [1950303] - SUNRPC: Handle TCP socket sends with kernel_sendpage() again (Benjamin Coddington) [1950303] - NFS/pNFS: Fix a typo in ff_layout_resend_pnfs_read() (Benjamin Coddington) [1950303] - pNFS/flexfiles: Avoid spurious layout returns in ff_layout_choose_ds_for_read (Benjamin Coddington) [1950303] - NFSv4/pnfs: Add tracing for the deviceid cache (Benjamin Coddington) [1950303] - fs/lockd: convert comma to semicolon (Benjamin Coddington) [1950303] - SUNRPC: When expanding the buffer, we may need grow the sparse pages (Benjamin Coddington) [1950303] - SUNRPC: Cleanup - constify a number of xdr_buf helpers (Benjamin Coddington) [1950303] - SUNRPC: Clean up open coded setting of the xdr_stream 'nwords' field (Benjamin Coddington) [1950303] - SUNRPC: _copy_to/from_pages() now check for zero length (Benjamin Coddington) [1950303] - SUNRPC: Cleanup xdr_shrink_bufhead() (Benjamin Coddington) [1950303] - SUNRPC: Fix xdr_expand_hole() (Benjamin Coddington) [1950303] - SUNRPC: Fixes for xdr_align_data() (Benjamin Coddington) [1950303] - SUNRPC: _shift_data_left/right_pages should check the shift length (Benjamin Coddington) [1950303] - NFSv4.1: use BITS_PER_LONG macro in nfs4session.h (Benjamin Coddington) [1950303] - xprtrdma: Fix XDRBUF_SPARSE_PAGES support (Benjamin Coddington) [1950303] - sunrpc: fix xs_read_xdr_buf for partial pages receive (Benjamin Coddington) [1950303] - Revert "nfsd4: support change_attr_type attribute" (Benjamin Coddington) [1950303] - nfsd4: don't query change attribute in v2/v3 case (Benjamin Coddington) [1950303] - nfsd: minor nfsd4_change_attribute cleanup (Benjamin Coddington) [1950303] - nfsd: simplify nfsd4_change_info (Benjamin Coddington) [1950303] - nfsd: only call inode_query_iversion in the I_VERSION case (Benjamin Coddington) [1950303] - nfs_common: need lock during iterate through the list (Benjamin Coddington) [1950303] - nfsd: Fix message level for normal termination (Benjamin Coddington) [1950303] - NFS: switch nfsiod to be an UNBOUND workqueue. (Benjamin Coddington) [1950303] - lockd: don't use interval-based rebinding over TCP (Benjamin Coddington) [1950303] - net: sunrpc: Fix 'snprintf' return value check in 'do_xprt_debugfs' (Benjamin Coddington) [1950303] - NFSv4: Refactor to use user namespaces for nfs4idmap (Benjamin Coddington) [1950303] - NFS: NFSv2/NFSv3: Use cred from fs_context during mount (Benjamin Coddington) [1950303] - NFSv4: Fix a pNFS layout related use-after-free race when freeing the inode (Benjamin Coddington) [1950303] - SUNRPC: Fix up xdr_set_page() (Benjamin Coddington) [1950303] - SUNRPC: Fix open coded xdr_stream_remaining() (Benjamin Coddington) [1950303] - pNFS: Clean up open coded xdr string decoding (Benjamin Coddington) [1950303] - SUNRPC: Fix up open coded kmemdup_nul() (Benjamin Coddington) [1950303] - pNFS/flexfiles: Fix up layoutstats reporting for non-TCP transports (Benjamin Coddington) [1950303] - NFSv4/pNFS: Store the transport type in struct nfs4_pnfs_ds_addr (Benjamin Coddington) [1950303] - pNFS: Add helpers for allocation/free of struct nfs4_pnfs_ds_addr (Benjamin Coddington) [1950303] - NFSv4/pNFS: Use connections to a DS that are all of the same protocol family (Benjamin Coddington) [1950303] - SUNRPC: Remove unused function xprt_load_transport() (Benjamin Coddington) [1950303] - NFS: Switch mount code to use xprt_find_transport_ident() (Benjamin Coddington) [1950303] - SUNRPC: Add a helper to return the transport identifier given a netid (Benjamin Coddington) [1950303] - SUNRPC: Close a race with transport setup and module put (Benjamin Coddington) [1950303] - SUNRPC: xprt_load_transport() needs to support the netid "rdma6" (Benjamin Coddington) [1950303] - SUNRPC: rpc_wake_up() should wake up tasks in the correct order (Benjamin Coddington) [1950303] - NFSv4: Observe the NFS_MOUNT_SOFTREVAL flag in _nfs4_proc_lookupp (Benjamin Coddington) [1950303] - NFSv3: Add emulation of the lookupp() operation (Benjamin Coddington) [1950303] - NFSv3: Refactor nfs3_proc_lookup() to split out the dentry (Benjamin Coddington) [1950303] - SUNRPC: Remove XDRBUF_SPARSE_PAGES flag in gss_proxy upcall (Benjamin Coddington) [1950303] - NFSD: Add tracepoints in nfsd4_decode/encode_compound() (Benjamin Coddington) [1950303] - NFSD: Add tracepoints in nfsd_dispatch() (Benjamin Coddington) [1950303] - NFSD: Add common helpers to decode void args and encode void results (Benjamin Coddington) [1950303] - SUNRPC: Prepare for xdr_stream-style decoding on the server-side (Benjamin Coddington) [1950303] - SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer() (Benjamin Coddington) [1950303] - NFSD: Add SPDX header for fs/nfsd/trace.c (Benjamin Coddington) [1950303] - SUNRPC: Move the svc_xdr_recvfrom() tracepoint (Benjamin Coddington) [1950303] - NFSD: Add SPDX header for fs/nfsd/trace.c (Benjamin Coddington) [1950303] - NFSD: A semicolon is not needed after a switch statement. (Benjamin Coddington) [1950303] - svcrdma: support multiple Read chunks per RPC (Benjamin Coddington) [1950303] - svcrdma: Use the new parsed chunk list when pulling Read chunks (Benjamin Coddington) [1950303] - svcrdma: Rename info::ri_chunklen (Benjamin Coddington) [1950303] - svcrdma: Clean up chunk tracepoints (Benjamin Coddington) [1950303] - svcrdma: Remove chunk list pointers (Benjamin Coddington) [1950303] - svcrdma: Support multiple Write chunks in svc_rdma_send_reply_chunk (Benjamin Coddington) [1950303] - svcrdma: Support multiple Write chunks in svc_rdma_map_reply_msg() (Benjamin Coddington) [1950303] - svcrdma: Support multiple write chunks when pulling up (Benjamin Coddington) [1950303] - svcrdma: Use parsed chunk lists to encode Reply transport headers (Benjamin Coddington) [1950303] - svcrdma: Use parsed chunk lists to construct RDMA Writes (Benjamin Coddington) [1950303] - svcrdma: Use parsed chunk lists to detect reverse direction replies (Benjamin Coddington) [1950303] - svcrdma: Use parsed chunk lists to derive the inv_rkey (Benjamin Coddington) [1950303] - svcrdma: Add a "parsed chunk list" data structure (Benjamin Coddington) [1950303] - svcrdma: Clean up svc_rdma_encode_reply_chunk() (Benjamin Coddington) [1950303] - svcrdma: Post RDMA Writes while XDR encoding replies (Benjamin Coddington) [1950303] - NFSD: Invoke svc_encode_result_payload() in "read" NFSD encoders (Benjamin Coddington) [1950303] - SUNRPC: Rename svc_encode_read_payload() (Benjamin Coddington) [1950303] - svcrdma: Refactor the RDMA Write path (Benjamin Coddington) [1950303] - svcrdma: Const-ify the xdr_buf arguments (Benjamin Coddington) [1950303] - SUNRPC: Adjust synopsis of xdr_buf_subsegment() (Benjamin Coddington) [1950303] - svcrdma: Catch another Reply chunk overflow case (Benjamin Coddington) [1950303] - xprtrdma: Micro-optimize MR DMA-unmapping (Benjamin Coddington) [1950303] - xprtrdma: Move rpcrdma_mr_put() (Benjamin Coddington) [1950303] - xprtrdma: Trace unmap_sync calls (Benjamin Coddington) [1950303] - xprtrdma: Display the task ID when reporting MR events (Benjamin Coddington) [1950303] - xprtrdma: Clean up trace_xprtrdma_nomrs() (Benjamin Coddington) [1950303] - xprtrdma: Clean up xprtrdma callback tracepoints (Benjamin Coddington) [1950303] - xprtrdma: Clean up tracepoints in the reply path (Benjamin Coddington) [1950303] - xprtrdma: Clean up reply parsing error tracepoints (Benjamin Coddington) [1950303] - xprtrdma: Clean up trace_xprtrdma_post_linv (Benjamin Coddington) [1950303] - xprtrdma: Introduce FRWR completion IDs (Benjamin Coddington) [1950303] - xprtrdma: Introduce Send completion IDs (Benjamin Coddington) [1950303] - xprtrdma: Introduce Receive completion IDs (Benjamin Coddington) [1950303] - xprtrdma: Replace dprintk call sites in ERR_CHUNK path (Benjamin Coddington) [1950303] - xprtrdma: Fix a BUG when tracing is enabled with NFSv4.1 on RDMA (Benjamin Coddington) [1950303] - drm: virtio: fix common struct sg_table related issues (Eric Auger) [1971821] - net/mlx5e: Release skb in case of failure in tc update skb (Alaa Hleihel) [1915307] - net/mlx5: Release devlink object if adev fails (Alaa Hleihel) [1915307] - net/mlx5: Fix compilation warning for 32-bit platform (Alaa Hleihel) [1915307] - net/mlx5: Use effective interrupt affinity (Alaa Hleihel) [1915307] - net/mlx5: Replace irq_to_desc() abuse (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove unneeded semicolon (Alaa Hleihel) [1915307] - net: mlx5: convert comma to semicolon (Alaa Hleihel) [1915307] - net/mlx5e: Fill mlx5e_create_cq_param in a function (Alaa Hleihel) [1915307] - net/mlx5e: Split between RX/TX tunnel FW support indication (Alaa Hleihel) [1915307] - net/mlx5: Arm only EQs with EQEs (Alaa Hleihel) [1915307] - net/mlx5e: Remove duplicated include (Alaa Hleihel) [1915307] - net/mlx5e: Add TX port timestamp support (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Add TX PTP port object support (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Move MLX5E_RX_ERR_CQE macro (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Split SW group counters update function (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Change skb fifo push/pop API to be used without SQ (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Allow SQ outside of channel context (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Allow RQ outside of channel context (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Allow CQ outside of channel context (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Free drop RQ in a dedicated function (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove IB representors dead code (Alaa Hleihel) [1915307] - net/mlx5: Simplify eswitch mode check (Alaa Hleihel) [1915307] - net/mlx5: Delete custom device management logic (Alaa Hleihel) [1915307] - RDMA/mlx5: Convert mlx5_ib to use auxiliary bus (Alaa Hleihel) [1915307] - net/mlx5e: Connect ethernet part to auxiliary bus (Alaa Hleihel) [1915307] - vdpa/mlx5: Connect mlx5_vdpa to auxiliary bus (Alaa Hleihel) [1915307] - net/mlx5: Register mlx5 devices to auxiliary virtual bus (Alaa Hleihel) [1915307] - vdpa/mlx5: Make hardware definitions visible to all mlx5 devices (Alaa Hleihel) [1915307] - net/mlx5_core: Clean driver version and name (Alaa Hleihel) [1915307] - net/mlx5: Treat host PF vport as other (non eswitch manager) vport (Alaa Hleihel) [1915307] - net/mlx5: Export steering related functions (Alaa Hleihel) [1915307] - net/mlx5: Expose other function ifc bits (Alaa Hleihel) [1915307] - net/mlx5: Expose IP-in-IP TX and RX capability bits (Alaa Hleihel) [1915307] - net/mlx5: Update the hardware interface definition for vhca state (Alaa Hleihel) [1915307] - net/mlx5: Avoid exposing driver internal command helpers (Alaa Hleihel) [1915307] - net/mlx5: Add ts_cqe_to_dest_cqn related bits (Alaa Hleihel) [1915307] - net/mlx5: Add misc4 to mlx5_ifc_fte_match_param_bits (Alaa Hleihel) [1915307] - net/mlx5: Check dr mask size against mlx5_match_param size (Alaa Hleihel) [1915307] - net/mlx5: Add sampler destination type (Alaa Hleihel) [1915307] - net/mlx5: Add sample offload hardware bits and structures (Alaa Hleihel) [1915307] - RDMA/mlx5: Use PCI device for dma mappings (Alaa Hleihel) [1915307] - RDMA/mlx5: Silence the overflow warning while building offset mask (Alaa Hleihel) [1915307] - RDMA/mlx5: Check for ERR_PTR from uverbs_zalloc() (Alaa Hleihel) [1915307] - RDMA/mlx5: Enable querying AH for XRC QP types (Alaa Hleihel) [1915307] - RDMA/mlx5: Lower setting the umem's PAS for SRQ (Alaa Hleihel) [1915307] - RDMA/mlx5: Use ib_umem_find_best_pgsz() for devx (Alaa Hleihel) [1915307] - RDMA/mlx5: mlx5_umem_find_best_quantized_pgoff() for CQ (Alaa Hleihel) [1915307] - RDMA/mlx5: Use mlx5_umem_find_best_quantized_pgoff() for QP (Alaa Hleihel) [1915307] - RDMA/mlx5: Directly compute the PAS list for raw QP RQ's (Alaa Hleihel) [1915307] - RDMA/mlx5: Use mlx5_umem_find_best_quantized_pgoff() for WQ (Alaa Hleihel) [1915307] - RDMA/mlx5: Use ib_umem_find_best_pgoff() for SRQ (Alaa Hleihel) [1915307] - net: mlx5: Replace in_irq() usage (Alaa Hleihel) [1915307] - net/mlx5: Cleanup kernel-doc warnings (Alaa Hleihel) [1915307] - net/mlx5e: Validate stop_room size upon user input (Alaa Hleihel) [1915307] - net/mlx5: DR, Free unused buddy ICM memory (Alaa Hleihel) [1915307] - net/mlx5: DR, ICM memory pools sync optimization (Alaa Hleihel) [1915307] - net/mlx5: DR, Sync chunks only during free (Alaa Hleihel) [1915307] - net/mlx5: DR, Handle ICM memory via buddy allocation instead of buckets (Alaa Hleihel) [1915307] - net/mlx5: DR, Add buddy allocator utilities (Alaa Hleihel) [1915307] - net/mlx5: DR, Rename matcher functions to be more HW agnostic (Alaa Hleihel) [1915307] - net/mlx5: DR, Rename builders HW specific names (Alaa Hleihel) [1915307] - net/mlx5: DR, Remove unused member of action struct (Alaa Hleihel) [1915307] - IB/mlx5: Add support for NDR link speed (Alaa Hleihel) [1915307 1926596] - RDMA/mlx5: Use ib_umem_find_best_pgsz() for mkc's (Alaa Hleihel) [1915307] - RDMA/mlx5: Split the WR setup out of mlx5_ib_update_xlt() (Alaa Hleihel) [1915307] - RDMA/mlx5: Move xlt_emergency_page_mutex into mr.c (Alaa Hleihel) [1915307] - RDMA/mlx5: Change mlx5_ib_populate_pas() to use rdma_for_each_block() (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove npages from mlx5_ib_cont_pages() (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove ncont from mlx5_ib_cont_pages() (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove order from mlx5_ib_cont_pages() (Alaa Hleihel) [1915307] - RDMA/mlx5: Move mlx5_ib_cont_pages() to the creation of the mlx5_ib_mr (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove mlx5_ib_mr->order (Alaa Hleihel) [1915307] - net/mlx5: fix error return code in mlx5e_tc_nic_init() (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Fix IPsec packet drop by mlx5e_tc_update_skb (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Use spin_lock_bh for async_icosq_lock (Alaa Hleihel) [1915306 1915307] - net/mlx5: Replace zero-length array with flexible-array member (Alaa Hleihel) [1915306 1915307] - net/mlx5: Fix uininitialized pointer read on pointer attr (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add support for devlink reload limit no reset (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add support for fw live patch event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add devlink param enable_remote_dev_reset support (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add support for devlink reload action fw activate (Alaa Hleihel) [1915306 1915307] - net/mlx5: Handle sync reset abort event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Handle sync reset now event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Handle sync reset request event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Set cap for pci sync for fw update event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add functions to set/query MFRL register (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Fix potential null pointer dereference (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Fix dereference on pointer attr after null check (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Use dma device access helper (Alaa Hleihel) [1915306 1915307] - mlx5: cross-tree: phase out dma_zalloc_coherent() (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-Switch, Support flow source for local vport (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-switch, Move devlink eswitch ports closer to eswitch (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-switch, Use helper function to load unload representor (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-switch, Add helper to check egress ACL need (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-switch, Use PF num in metadata reg c0 (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Add support for rule creation with flow source hint (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Call ste_builder directly with tag pointer (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Remove unneeded local variable (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Remove unneeded vlan check from L2 builder (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Remove unneeded check from source port builder (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Replace the check for valid STE entry (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Delete not needed GSI QP signal QP type (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Change GSI QP to have same creation flow like other QPs (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Reuse existing fields in parent QP storage object (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Embed GSI QP into general mlx5_ib QP (Alaa Hleihel) [1915306 1915307] - net/mlx5: remove unreachable return (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Use kfree() to free fd->g in accel_fs_tcp_create_groups() (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Keep direct reference to mlx5_core_dev in tc ct (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Support CT offload for tc nic flows (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: rework ct offload init messages (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Add tc chains offload support for nic flows (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Refactor tc flow attributes structure (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Split nic tc flow allocation and creation (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Tc nic flows to use mlx5_chains flow tables (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Allow ft level ignore for nic rx tables (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Refactor multi chains and prios support (Alaa Hleihel) [1915306 1915307 1919642] - RDMA/mlx5: Don't call to restrack recursively (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Expose TIR and QP ICM address for sw_owner_v2 devices (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Allow DM allocation for sw_owner_v2 enabled devices (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Add sw_owner_v2 bit capability (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Delete duplicated mlx5_ptys_width enum (Alaa Hleihel) [1915306 1915307] - net/mlx5: IPsec: make spdxcheck.py happy (Alaa Hleihel) [1915306 1915307] - mlx5: add pause frame stats (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Add CQE compression support for multi-strides packets (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Add support for tc trap (Alaa Hleihel) [1915306 1915307 1919643] - net/mlx5: E-Switch, Use vport metadata matching by default (Alaa Hleihel) [1915306 1915307] - net/mlx5: remove erroneous fallthrough (Alaa Hleihel) [1915306 1915307] - IB/mlx5: Add DCT RoCE LAG support (Alaa Hleihel) [1915306 1915307] - IB/mlx5: Add tx_affinity support for DCI QP (Alaa Hleihel) [1915306 1915307] - net/mlx5e: RX, Add a prefetch command for small L1_CACHE_BYTES (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Enable sniffer when device is in switchdev mode (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Add new IB rates support (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Replace open-coded offsetofend() macro (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Simplify multiple else-if cases with switch keyword (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Link non uplink representors to PCI device (Alaa Hleihel) [1915306 1915307 1959367] - perf stat: Use nftw() instead of ftw() (Michael Petlan) [1944684] - perf unwind: Set userdata for all __report_module() paths (Michael Petlan) [1944684] - perf debug: Move debug initialization earlier (Michael Petlan) [1944684] - perf script: Fix overrun issue for dynamically-allocated PMU type number (Michael Petlan) [1944684] - perf metricgroup: Fix system PMU metrics (Michael Petlan) [1944684] - perf metricgroup: Fix for metrics containing duration_time (Michael Petlan) [1944684] - perf evlist: Fix id index for heterogeneous systems (Michael Petlan) [1944684] - perf inject: Correct event attribute sizes (Michael Petlan) [1944684] - perf intel-pt: Fix 'CPU too large' error (Michael Petlan) [1944684] - perf stat: Take cgroups into account for shadow stats (Michael Petlan) [1944684] - perf stat: Introduce struct runtime_stat_data (Michael Petlan) [1944684] - libperf tests: Fail when failing to get a tracepoint id (Michael Petlan) [1944684] - libperf tests: If a test fails return non-zero (Michael Petlan) [1944684] - libperf tests: Avoid uninitialized variable warning (Michael Petlan) [1944684] - perf test: Fix shadow stat test for non-bash shells (Michael Petlan) [1944684] - perf bpf examples: Fix bpf.h header include directive in 5sec.c example (Michael Petlan) [1944684] - perf probe: Fix memory leak when synthesizing SDT probes (Michael Petlan) [1944684] - perf stat aggregation: Add separate thread member (Michael Petlan) [1944684] - perf stat aggregation: Add separate core member (Michael Petlan) [1944684] - perf stat aggregation: Add separate die member (Michael Petlan) [1944684] - perf stat aggregation: Add separate socket member (Michael Petlan) [1944684] - perf stat aggregation: Add separate node member (Michael Petlan) [1944684] - perf stat aggregation: Start using cpu_aggr_id in map (Michael Petlan) [1944684] - perf cpumap: Drop in cpu_aggr_map struct (Michael Petlan) [1944684] - perf cpumap: Add new map type for aggregation (Michael Petlan) [1944684] - perf stat: Replace aggregation ID with a struct (Michael Petlan) [1944684] - perf cpumap: Add new struct for cpu aggregation (Michael Petlan) [1944684] - perf cpumap: Use existing allocator to avoid using malloc (Michael Petlan) [1944684] - perf tests: Improve topology test to check all aggregation types (Michael Petlan) [1944684] - perf powerpc: Move syscall.tbl check to check-headers.sh (Michael Petlan) [1944684] - tools arch x86: Sync the msr-index.h copy with the kernel sources (Michael Petlan) [1944684] - perf mem: Factor out a function to generate sort order (Michael Petlan) [1944684] - perf sort: Add sort option for data page size (Michael Petlan) [1944684] - perf script: Support data page size (Michael Petlan) [1944684] - tools headers UAPI: Sync linux/stat.h with the kernel sources (Michael Petlan) [1944684] - tools: Factor HOSTCC, HOSTLD, HOSTAR definitions (Michael Petlan) [1944684] - perf config: Fix example command in manpage to conform to syntax specified in the SYNOPSIS section. (Michael Petlan) [1944684] - perf test: Make sample-parsing test aware of PERF_SAMPLE_{CODE,DATA}_PAGE_SIZE (Michael Petlan) [1944684] - perf tools: Add support to read build id from compressed elf (Michael Petlan) [1944684] - perf debug: Add debug_set_file function (Michael Petlan) [1944684] - perf evlist: Support pipe mode display (Michael Petlan) [1944684] - perf report: Support --header-only for pipe mode (Michael Petlan) [1944684] - perf vendor events: Add JSON metrics for imx8mm DDR Perf (Michael Petlan) [1944684] - perf metricgroup: Support adding metrics for system PMUs (Michael Petlan) [1944684] - perf metricgroup: Support printing metric groups for system PMUs (Michael Petlan) [1944684] - perf metricgroup: Split up metricgroup__print() (Michael Petlan) [1944684] - perf metricgroup: Fix metrics using aliases covering multiple PMUs (Michael Petlan) [1944684] - perf evlist: Change evlist__splice_list_tail() ordering (Michael Petlan) [1944684] - perf pmu: Add pmu_add_sys_aliases() (Michael Petlan) [1944684] - perf pmu: Add pmu_id() (Michael Petlan) [1944684] - perf jevents: Add support for system events tables (Michael Petlan) [1944684] - perf jevents: Add support for an extra directory level (Michael Petlan) [1944684] - perf evsel: Emit warning about kernel not supporting the data page size sample_type bit (Michael Petlan) [1944684] - perf record: Support new sample type for data page size (Michael Petlan) [1944684] - perf unwind: Fix separate debug info files when using elfutils' libdw's unwinder (Michael Petlan) [1944684] - perf record: Fix memory leak when using '--user-regs=?' to list registers (Michael Petlan) [1944684] - tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1944684] - tools build: Add missing libcap to test-all.bin target (Michael Petlan) [1944684] - perf test: Fix metric parsing test (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' record methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' diff methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' nr_threads method (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' deliver event method (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' header methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' raw samples methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' mmap pages parsing method (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' event attribute config methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for alternative 'struct evlist' constructors (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' event selection methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' event group methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' create maps methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' print methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' evsel list methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' pause/resume methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' id_pos methods (Michael Petlan) [1944684] - perf tools: Add aarch64 registers to --user-regs (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' tracking event methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' browser methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' sample id lookup methods (Michael Petlan) [1944684] - perf evlist: Ditch unused set/reset sample_bit methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' sample parsing methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' sideband thread methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' 'filter' methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' stats methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' 'workload' methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' methods: evlist__set_leader() (Michael Petlan) [1944684] - perf evsel: Convert last 'struct evsel' methods to the right evsel__ prefix (Michael Petlan) [1944684] - perf test: Add shadow stat test (Michael Petlan) [1944684] - perf build-id: Add build_id_cache__add function (Michael Petlan) [1944684] - perf build-id: Add __perf_session__cache_build_ids function (Michael Petlan) [1944684] - perf build-id: Use machine__for_each_dso in perf_session__cache_build_ids (Michael Petlan) [1944684] - perf data: Add is_perf_data function (Michael Petlan) [1944684] - perf symbols: Try to load vmlinux from buildid database (Michael Petlan) [1944684] - perf tools: Use struct extra_kernel_map in machine__process_kernel_mmap_event (Michael Petlan) [1944684] - perf build-id: Add check for existing link in buildid dir (Michael Petlan) [1944684] - perf tools: Add filename__decompress function (Michael Petlan) [1944684] - perf tools: Add build_id__is_defined function (Michael Petlan) [1944684] - tools lib: Adopt memchr_inv() from kernel (Michael Petlan) [1944684] - perf arm-spe: Add support for ARMv8.3-SPE (Michael Petlan) [1944684] - perf arm_spe: Decode memory tagging properties (Michael Petlan) [1944684] - perf arm-spe: Add more sub classes for operation packet (Michael Petlan) [1944684] - perf arm-spe: Refactor operation packet handling (Michael Petlan) [1944684] - perf arm-spe: Add new function arm_spe_pkt_desc_op_type() (Michael Petlan) [1944684] - perf arm-spe: Remove size condition checking for events (Michael Petlan) [1944684] - perf arm-spe: Refactor event type handling (Michael Petlan) [1944684] - perf arm-spe: Add new function arm_spe_pkt_desc_event() (Michael Petlan) [1944684] - perf arm-spe: Refactor counter packet handling (Michael Petlan) [1944684] - perf arm-spe: Add new function arm_spe_pkt_desc_counter() (Michael Petlan) [1944684] - perf arm-spe: Refactor context packet handling (Michael Petlan) [1944684] - perf arm_spe: Fixup top byte for data virtual address (Michael Petlan) [1944684] - perf arm-spe: Refactor address packet handling (Michael Petlan) [1944684] - perf arm-spe: Add new function arm_spe_pkt_desc_addr() (Michael Petlan) [1944684] - perf arm-spe: Refactor packet header parsing (Michael Petlan) [1944684] - perf arm-spe: Refactor printing string to buffer (Michael Petlan) [1944684] - perf expr: Force encapsulation on expr_id_data (Michael Petlan) [1944684] - perf vendor events: Update Skylake client events to v50 (Michael Petlan) [1944684] - perf data: Allow to use stdio functions for pipe mode (Michael Petlan) [1944684] - perf arm-spe: Fix packet length handling (Michael Petlan) [1944684] - perf arm-spe: Refactor arm_spe_get_events() (Michael Petlan) [1944684] - perf arm-spe: Refactor payload size calculation (Michael Petlan) [1944684] - perf arm-spe: Fix a typo in comment (Michael Petlan) [1944684] - perf arm-spe: Include bitops.h for BIT() macro (Michael Petlan) [1944684] - perf mem: Support ARM SPE events (Michael Petlan) [1944684] - perf c2c: Support AUX trace (Michael Petlan) [1944684] - perf mem: Support AUX trace (Michael Petlan) [1944684] - perf auxtrace: Add itrace option '-M' for memory events (Michael Petlan) [1944684] - perf mem: Only initialize memory event for recording (Michael Petlan) [1944684] - perf c2c: Support memory event PERF_MEM_EVENTS__LOAD_STORE (Michael Petlan) [1944684] - perf mem: Support new memory event PERF_MEM_EVENTS__LOAD_STORE (Michael Petlan) [1944684] - perf mem: Introduce weak function perf_mem_events__ptr() (Michael Petlan) [1944684] - perf mem: Search event name with more flexible path (Michael Petlan) [1944684] - perf jevents: Add test for arch std events (Michael Petlan) [1944684] - perf jevents: Tidy error handling (Michael Petlan) [1944684] - perf trace beauty: Allow header files in a different path (Michael Petlan) [1944684] - perf stat: Add --quiet option (Michael Petlan) [1944684] - perf stat: Support regex pattern in --for-each-cgroup (Michael Petlan) [1944684] - perf kvm: Add kvm-stat for arm64 (Michael Petlan) [1944684] - perf env: Conditionally compile BPF support code on having HAVE_LIBBPF_SUPPORT (Michael Petlan) [1944684] - perf annotate: Move bpf header inclusion to inside HAVE_LIBBPF_SUPPORT (Michael Petlan) [1944684] - perf tests: Skip the llvm and bpf tests if HAVE_LIBBPF_SUPPORT isn't defined (Michael Petlan) [1944684] - perf bpf: Enclose libbpf.h include within HAVE_LIBBPF_SUPPORT (Michael Petlan) [1944684] - perf test: Implement skip_reason callback for watchpoint tests (Michael Petlan) [1944684] - perf tests tsc: Add checking helper is_supported() (Michael Petlan) [1944684] - perf tests tsc: Make tsc testing as a common testing (Michael Petlan) [1944684] - perf mem2node: Improve warning if detected no memory nodes (Michael Petlan) [1944684] - perf version: Add a feature for libpfm4 (Michael Petlan) [1944684] - perf annotate mips: Add perf arch instructions annotate handlers (Michael Petlan) [1944684] - perf/x86/intel: Add Tremont Topdown support (Michael Petlan) [1944684] - perf/x86: Fix fall-through warnings for Clang (Michael Petlan) [1944684] - perf/x86/intel/lbr: Fix the return type of get_lbr_cycles() (Michael Petlan) [1944684] - perf/x86/intel: Fix rtm_abort_event encoding on Ice Lake (Michael Petlan) [1944684] - perf: Break deadlock involving exec_update_mutex (Michael Petlan) [1944684] - perf/x86/intel: Add event constraint for CYCLE_ACTIVITY.STALLS_MEM_ANY (Michael Petlan) [1944684] - perf/x86: Avoid TIF_IA32 when checking 64bit mode (Michael Petlan) [1944684] - bpf, ringbuf: Deny reserve of buffers larger than ringbuf (Wander Lairson Costa) [1968591] - bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds (Wander Lairson Costa) [1965938] - tools/power turbostat: Support Alder Lake Mobile (Steve Best) [1962291] - ACPI: PM: Add ACPI ID of Alder Lake Fan (Steve Best) [1961617] - powercap/intel_rapl: add support for AlderLake Mobile (Steve Best) [1961816] - platform/x86: intel_pmc_core: Uninitialized data in pmc_core_lpm_latch_mode_write() (David Arcari) [1783557] - platform/x86: intel_pmc_core: add ACPI dependency (David Arcari) [1783557] - platform/x86: intel_pmc_core: Fix "unsigned 'ret' is never less than zero" smatch warning (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add LTR registers for Tiger Lake (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add option to set/clear LPM mode (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add requirements file to debugfs (David Arcari) [1783557] - platform/x86: intel_pmc_core: Get LPM requirements for Tiger Lake (David Arcari) [1783557] - platform/x86: intel_pmc_core: Show LPM residency in microseconds (David Arcari) [1783557] - platform/x86: intel_pmc_core: Handle sub-states generically (David Arcari) [1783557] - platform/x86: intel_pmc_core: Remove global struct pmc_dev (David Arcari) [1783557] - platform/x86: intel_pmc_core: Don't use global pmcdev in quirks (David Arcari) [1783557] - platform/x86: intel_pmc_core: export platform global reset bits via etr3 sysfs file (David Arcari) [1783557] - MAINTAINERS: Update maintainers for pmc_core driver (David Arcari) [1783557] - MAINTAINERS: intel_pmc_core: Update MAINTAINERS (David Arcari) [1783557] - platform/x86: intel_pmc_core: Ignore GBE LTR on Tiger Lake platforms (David Arcari) [1783557] - platform/x86: intel_pmc_core: Assign boolean values to a bool variable (David Arcari) [1783557] - platform/x86: intel_pmc_core: fix: Replace dev_dbg macro with dev_info() (David Arcari) [1783557] - platform/x86: intel_pmc_core: Clean up: Remove the duplicate comments and reorganize (David Arcari) [1783557] - platform/x86: intel_pmc_core: Fix the slp_s0 counter displayed value (David Arcari) [1783557] - platform/x86: intel_pmc_core: Fix TigerLake power gating status map (David Arcari) [1783557] - platform/x86: pmc_core: Use descriptive names for LPM registers (David Arcari) [1783557] - platform/x86: intel_pmc_core: Change Jasper Lake S0ix debug reg map back to ICL (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add Atom based Jasper Lake (JSL) platform support (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add Intel Elkhart Lake support (David Arcari) [1783557] - [s390] s390/ipl: support NVMe IPL kernel parameters (Claudio Imbrenda) [1963120] - [s390] net/smc: use memcpy instead of snprintf to avoid out of bounds read (Claudio Imbrenda) [1919249] - [s390] smc: fix out of bound access in smc_nl_get_sys_info() (Claudio Imbrenda) [1919249] - [s390] net/smc: fix access to parent of an ib device (Claudio Imbrenda) [1919249] - [s390] s390/vtime: fix increased steal time accounting (Claudio Imbrenda) [1963075] - [s390] tools/kvm_stat: Add restart delay (Claudio Imbrenda) [1963082] - [s390] s390/dasd: fix hanging IO request during DASD driver unbind (Claudio Imbrenda) [1963077] - [s390] s390/dasd: fix hanging DASD driver unbind (Claudio Imbrenda) [1963077]- Add New KUNIT Tests to Redhat kernel-modules-internal (Nico Pache) [1939309] - kunit: lib: adhear to KUNIT formatting standard (Nico Pache) [1939309] - kunit: mptcp: adhere to KUNIT formatting standard (Nico Pache) [1939309] - ASoC: topology: adhere to KUNIT formatting standard (Nico Pache) [1939309] - kunit: software node: adhear to KUNIT formatting standard (Nico Pache) [1939309] - resource: provide meaningful MODULE_LICENSE() in test suite (Nico Pache) [1939309] - resource: Add test cases for new resource API (Nico Pache) [1939309] - resource: Introduce resource_intersection() for overlapping resources (Nico Pache) [1939309] - resource: Introduce resource_union() for overlapping resources (Nico Pache) [1939309] - mm/resource: Use resource_overlaps() to simplify region_intersects() (Nico Pache) [1939309] - kernel.h: split out min()/max() et al. helpers (Nico Pache) [1939309] - lib/math/rational.c: fix possible incorrect result from rational fractions helper (Nico Pache) [1939309] - lib: Move mathematic helpers to separate folder (Nico Pache) [1939309] - lib/cmdline: remove an unneeded local variable in next_arg() (Nico Pache) [1939309] - lib/cmdline: Allow get_options() to take 0 to validate the input (Nico Pache) [1939309] - lib/cmdline: Update documentation to reflect behaviour (Nico Pache) [1939309] - lib/cmdline_kunit: add a new test case for get_options() (Nico Pache) [1939309] - ext4: add .kunitconfig fragment to enable ext4-specific tests (Nico Pache) [1939309] - ext: EXT4_KUNIT_TESTS should depend on EXT4_FS instead of selecting it (Nico Pache) [1939309] - kunit: tool: fix unintentional statefulness in run_kernel() (Nico Pache) [1939309] - kunit: tool: add support for filtering suites by glob (Nico Pache) [1939309] - kunit: add kunit.filter_glob cmdline option to filter suites (Nico Pache) [1939309] - kunit: don't show `1 == 1` in failed assertion messages (Nico Pache) [1939309] - kunit: make kunit_tool accept optional path to .kunitconfig fragment (Nico Pache) [1939309] - Documentation: kunit: add tips.rst for small examples (Nico Pache) [1939309] - KUnit: Docs: make start.rst example Kconfig follow style.rst (Nico Pache) [1939309] - kunit: tool: simplify kconfig is_subset_of() logic (Nico Pache) [1939309] - minor: kunit: tool: fix unit test so it can run from non-root dir (Nico Pache) [1939309] - kunit: tool: use `with open()` in unit test (Nico Pache) [1939309] - kunit: tool: stop using bare asserts in unit test (Nico Pache) [1939309] - kunit: tool: fix unit test cleanup handling (Nico Pache) [1939309] - ASoC: topology: KUnit: Convert from cpu to data format (Nico Pache) [1939309] - drivers/base: build kunit tests without structleak plugin (Nico Pache) [1939309] - ASoC: topology: KUnit: Add KUnit tests passing topology with PCM to snd_soc_tplg_component_load (Nico Pache) [1939309] - ASoC: topology: KUnit: Add KUnit tests passing empty topology with variants to snd_soc_tplg_component_load (Nico Pache) [1939309] - ASoC: topology: KUnit: Add KUnit tests passing various arguments to snd_soc_tplg_component_load (Nico Pache) [1939309] - ASoC: topology: Check if ops is set before dereference (Nico Pache) [1939309] - ASoC: topology: Ensure that needed parameters are set (Nico Pache) [1939309] - kunit: tool: move kunitconfig parsing into __init__, make it optional (Nico Pache) [1939309] - kunit: tool: fix minor typing issue with None status (Nico Pache) [1939309] - kunit: tool: surface and address more typing issues (Nico Pache) [1939309] - Documentation: kunit: include example of a parameterized test (Nico Pache) [1939309] - kunit: tool: Fix spelling of "diagnostic" in kunit_parser (Nico Pache) [1939309] - kunit: tool: Force the use of the 'tty' console for UML (Nico Pache) [1939309] - lib/cmdline_kunit: add a new test suite for cmdline API (Nico Pache) [1939309] - lib/cmdline: allow NULL to be an output for get_option() (Nico Pache) [1939309] - lib/cmdline: fix get_option() for strings starting with hyphen (Nico Pache) [1939309] - lib/cmdline.c: mark expected switch fall-throughs (Nico Pache) [1939309] - lib/test_bits.c: add tests of GENMASK (Nico Pache) [1939309] - linux/bits.h: add compile time sanity check of GENMASK inputs (Nico Pache) [1939309] - linux/build_bug.h: change type to int (Nico Pache) [1939309] - fs: ext4: Modify inode-test.c to use KUnit parameterized testing feature (Nico Pache) [1939309] - kunit: Support for Parameterized Testing (Nico Pache) [1939309] - kunit: kunit_tool: Correctly parse diagnostic messages (Nico Pache) [1939309] - Documentation: kunit: provide guidance for testing many inputs (Nico Pache) [1939309] - kunit: Introduce get_file_path() helper (Nico Pache) [1939309] - kunit: fix display of failed expectations for strings (Nico Pache) [1939309] - kunit: tool: fix extra trailing \n in raw + parsed test output (Nico Pache) [1939309] - kunit: tool: print out stderr from make (like build warnings) (Nico Pache) [1939309] - KUnit: Docs: usage: wording fixes (Nico Pache) [1939309] - KUnit: Docs: style: fix some Kconfig example issues (Nico Pache) [1939309] - KUnit: Docs: fix a wording typo (Nico Pache) [1939309] - kunit: Do not pollute source directory with generated files (test.log) (Nico Pache) [1939309] - kunit: Do not pollute source directory with generated files (.kunitconfig) (Nico Pache) [1939309] - kunit: tool: fix pre-existing python type annotation errors (Nico Pache) [1939309] - kunit: Fix kunit.py parse subcommand (use null build_dir) (Nico Pache) [1939309] - kunit: test: fix remaining kernel-doc warnings (Nico Pache) [1939309] - lib: kunit: Fix compilation test when using TEST_BIT_FIELD_COMPILE (Nico Pache) [1939309] - kunit: test.h: fix a bad kernel-doc markup (Nico Pache) [1939309] - kunit: test.h: solve kernel-doc warnings (Nico Pache) [1939309] - lib: kunit: add bitfield test conversion to KUnit (Nico Pache) [1939309] - Documentation: kunit: add a brief blurb about kunit_test_suite (Nico Pache) [1939309] - kunit: test: add test plan to KUnit TAP format (Nico Pache) [1939309] - init: main: add KUnit to kernel init (Nico Pache) [1939309] - init: unify opening /dev/console as stdin/stdout/stderr (Nico Pache) [1939309] - kunit: test: create a single centralized executor for all tests (Nico Pache) [1939309] - Documentation: test.h - fix warnings (Nico Pache) [1939309] - vmlinux.lds.h: add linker section for KUnit test suites (Nico Pache) [1939309] - Documentation: kunit: Add naming guidelines (Nico Pache) [1939309] - kunit: tool: fix display of make errors (Nico Pache) [1939309] - kunit: tool: handle when .kunit exists but .kunitconfig does not (Nico Pache) [1939309] - kunit: tool: fix --alltests flag (Nico Pache) [1939309] - kunit: tool: allow generating test results in JSON (Nico Pache) [1939309] - kunit: tool: fix running kunit_tool from outside kernel tree (Nico Pache) [1939309] - lib: add linear ranges helpers (Nico Pache) [1939309] - PCI/RCEC: Fix RCiEP device to RCEC association (Myron Stowe) [1895942] - PCI/portdrv: Report reset for frozen channel (Myron Stowe) [1895942] - PCI/AER: Specify the type of Port that was reset (Myron Stowe) [1895942] - PCI/ERR: Retain status from error notification (Myron Stowe) [1895942] - PCI/AER: Clear AER status from Root Port when resetting Downstream Port (Myron Stowe) [1895942] - PCI/ERR: Clear status of the reporting device (Myron Stowe) [1895942] - PCI/AER: Add RCEC AER error injection support (Myron Stowe) [1895942] - PCI/PME: Add pcie_walk_rcec() to RCEC PME handling (Myron Stowe) [1895942] - PCI/AER: Add pcie_walk_rcec() to RCEC AER handling (Myron Stowe) [1895942] - PCI/ERR: Recover from RCiEP AER errors (Myron Stowe) [1895942] - PCI/ERR: Add pcie_link_rcec() to associate RCiEPs (Myron Stowe) [1895942] - PCI/ERR: Recover from RCEC AER errors (Myron Stowe) [1895942] - PCI/ERR: Clear AER status only when we control AER (Myron Stowe) [1895942] - PCI/ERR: Add pci_walk_bridge() to pcie_do_recovery() (Myron Stowe) [1895942] - PCI/ERR: Avoid negated conditional for clarity (Myron Stowe) [1895942] - PCI/ERR: Use "bridge" for clarity in pcie_do_recovery() (Myron Stowe) [1895942] - PCI/ERR: Simplify by computing pci_pcie_type() once (Myron Stowe) [1895942] - PCI/ERR: Simplify by using pci_upstream_bridge() (Myron Stowe) [1895942] - PCI/ERR: Rename reset_link() to reset_subordinates() (Myron Stowe) [1895942] - PCI/ERR: Cache RCEC EA Capability offset in pci_init_capabilities() (Myron Stowe) [1895942] - PCI/ERR: Bind RCEC devices to the Root Port driver (Myron Stowe) [1895942] - PCI/AER: Write AER Capability only when we control it (Myron Stowe) [1895942] - PCI: Export pcie_has_flr() (Myron Stowe) [1895942] - xfs: don't reuse busy extents on extent trim (Brian Foster) [1960380] - nvme: add 'kato' sysfs attribute (Gopal Tiwari) [1970260] - scsi: qla2xxx: Update version to 10.02.00.106-k (Nilesh Javali) [1925465] - scsi: qla2xxx: Add marginal path handling support (Nilesh Javali) [1925465] - scsi: qla2xxx: Do logout even if fabric scan retries got exhausted (Nilesh Javali) [1925465] - scsi: qla2xxx: Update default AER debug mask (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix mailbox recovery during PCIe error (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix crash in PCIe error handling (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix RISC RESET completion polling (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix crash in qla2xxx_mqueuecommand() (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix use after free in bsg (Nilesh Javali) [1925465] - scsi: qla2xxx: Consolidate zio threshold setting for both FCP & NVMe (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix stuck session (Nilesh Javali) [1925465] - scsi: qla2xxx: Add H:C:T info in the log message for fc ports (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix IOPS drop seen in some adapters (Nilesh Javali) [1925465] - scsi: qla2xxx: Check kzalloc() return value (Nilesh Javali) [1925465] - scsi: qla2xxx: Always check the return value of qla24xx_get_isp_stats() (Nilesh Javali) [1925465] - scsi: qla2xxx: Simplify qla8044_minidump_process_control() (Nilesh Javali) [1925465] - scsi: qla2xxx: Suppress Coverity complaints about dseg_r* (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix endianness annotations (Nilesh Javali) [1925465] - scsi: qla2xxx: Constify struct qla_tgt_func_tmpl (Nilesh Javali) [1925465] - scsi: qla2xxx: Use dma_pool_zalloc() (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix a couple of misdocumented functions (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix incorrectly named function qla8044_check_temp() (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix a couple of misnamed functions (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix some incorrect formatting/spelling issues (Nilesh Javali) [1925465] - scsi: qla2xxx: Replace __qla2x00_marker()'s missing underscores (Nilesh Javali) [1925465] - scsi: Revert "qla2xxx: Make sure that aborted commands are freed" (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix broken #endif placement (Nilesh Javali) [1925465] - scsi: qla2xxx: Simplify if statement (Nilesh Javali) [1925465] - scsi: qla2xxx: Simplify the calculation of variables (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix some memory corruption (Nilesh Javali) [1925465] - scsi: qla2xxx: Remove redundant NULL check (Nilesh Javali) [1925465] - scsi: qla2xxx: Remove unnecessary NULL check (Nilesh Javali) [1925465] - scsi: qla2xxx: Assign boolean values to a bool variable (Nilesh Javali) [1925465] - scsi: qla2xxx: fc_remote_port_chkready() returns a SCSI result value (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix description for parameter ql2xenforce_iocb_limit (Nilesh Javali) [1925465] - scsi: qla2xxx: Update version to 10.02.00.105-k (Nilesh Javali) [1925465] - scsi: qla2xxx: Enable NVMe CONF (BIT_7) when enabling SLER (Nilesh Javali) [1925465] - scsi: qla2xxx: Wait for ABTS response on I/O timeouts for NVMe (Nilesh Javali) [1925465] - scsi: qla2xxx: Move some messages from debug to normal log level (Nilesh Javali) [1925465] - scsi: qla2xxx: Add error counters to debugfs node (Nilesh Javali) [1925465] - scsi: qla2xxx: Implementation to get and manage host, target stats and initiator port (Nilesh Javali) [1925465] - scsi: ibmvfc: Reinit target retries (Steve Best) [1965010] - scsi: ibmvfc: Avoid move login if fast fail is enabled (Steve Best) [1965010] - scsi: ibmvfc: Handle move login failure (Steve Best) [1965010] - scsi: ibmvfc: Fix invalid state machine BUG_ON() (Steve Best) [1965010] - scsi: qedf: Do not put host in qedf_vport_create() unconditionally (Nilesh Javali) [1899384] - scsi: storvsc: Enable scatterlist entry lengths > 4Kbytes (Cathy Avery) [1941664] - scsi: storvsc: Parameterize number hardware queues (Cathy Avery) [1941664] - scsi: storvsc: Return DID_ERROR for invalid commands (Cathy Avery) [1941664] - scsi: storvsc: Validate length of incoming packet in storvsc_on_channel_callback() (Cathy Avery) [1941664] - scsi: storvsc: Resolve data race in storvsc_probe() (Cathy Avery) [1941664] - scsi: storvsc: Fix max_outstanding_req_per_channel for Win8 and newer (Cathy Avery) [1941664] - scsi: storvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening (Cathy Avery) [1941664] - RDMA/ipoib: Fix warning caused by destroying non-initial netns (Kamal Heib) [1961815] - can: dev: Move device back to init netns on owning netns delete (Kamal Heib) [1961815] - net: ena: remove extra words from comments (Petr Oros) [1955155] - net: ena: fix inaccurate print type (Petr Oros) [1955155] - ena: Update driver to use ethtool_sprintf (Petr Oros) [1955155] - docs: net: ena: Fix ena_start_xmit() function name typo (Petr Oros) [1955155] - ethernet: amazon: ena: A typo fix in the file ena_com.h (Petr Oros) [1955155] - net: ena: Update XDP verdict upon failure (Petr Oros) [1955155] - net: ena: introduce ndo_xdp_xmit() function for XDP_REDIRECT (Petr Oros) [1955155] - net: ena: use xdp_return_frame() to free xdp frames (Petr Oros) [1955155] - net: ena: introduce XDP redirect implementation (Petr Oros) [1955155] - net: ena: use xdp_frame in XDP TX flow (Petr Oros) [1955155] - net: ena: aggregate stats increase into a function (Petr Oros) [1955155] - net: ena: fix coding style nits (Petr Oros) [1955155] - net: ena: store values in their appropriate variables types (Petr Oros) [1955155] - net: ena: add device distinct log prefix to files (Petr Oros) [1955155] - net: ena: use constant value for net_device allocation (Petr Oros) [1955155] - net: ena: set initial DMA width to avoid intel iommu issue (Petr Oros) [1955155] - net: ena: update ena documentation (Petr Oros) [1955155] - net: ena: Fix all static chekers' warnings (Petr Oros) [1955155] - net: ena: Change RSS related macros and variables names (Petr Oros) [1955155] - net: ena: Remove redundant print of placement policy (Petr Oros) [1955155] - net: ena: Capitalize all log strings and improve code readability (Petr Oros) [1955155] - net: ena: Change log message to netif/dev function (Petr Oros) [1955155] - net: ena: Change license into format to SPDX in all files (Petr Oros) [1955155] - net: ena: xdp: add queue counters for xdp actions (Petr Oros) [1955155] - net: ena: ethtool: add stats printing to XDP queues (Petr Oros) [1955155] - net: ena: ethtool: Add new device statistics (Petr Oros) [1955155] - net: ena: ethtool: convert stat_offset to 64 bit resolution (Petr Oros) [1955155] - net: ena: Make missed_tx stat incremental (Petr Oros) [1955155] - net: ena: Prevent reset after device destruction (Petr Oros) [1955155] - treewide: replace '---help---' in Kconfig files with 'help' (Petr Oros) [1955155] - treewide: Add SPDX license identifier - Makefile/Kconfig (Petr Oros) [1955155] - cross-tree: phase out dma_zalloc_coherent() (Petr Oros) [1955155] - net: ena: fix compilation error in xtensa architecture (Petr Oros) [1955155] - docs: networking: reorganize driver documentation again (Petr Oros) [1955155] - docs: networking: device drivers: convert amazon/ena.txt to ReST (Petr Oros) [1955155] - net: ena: documentation: update ena.txt (Petr Oros) [1955155] - net: documentation: build a directory structure for drivers (Petr Oros) [1955155] - xfrm: interface: fix ipv4 pmtu check to honor ip header df (Sabrina Dubroca) [1931942] - vti: fix ipv4 pmtu check to honor ip header df (Sabrina Dubroca) [1931942] - vti6: fix ipv4 pmtu check to honor ip header df (Sabrina Dubroca) [1931942] - net/sched: act_ct: Fix ct template allocation for zone 0 (Marcelo Ricardo Leitner) [1881824] - uio: Fix use-after-free in uio_unregister_device() (Myron Stowe) [1897285] - uio: free uio id after uio file node is freed (Myron Stowe) [1897285] - drivers: uio: remove redundant assignment to variable retval (Myron Stowe) [1897285] - driver: uio: fix possible use-after-free in __uio_register_device (Myron Stowe) [1897285] - driver: uio: fix possible memory leak in __uio_register_device (Myron Stowe) [1897285] - uio: remove redundant check (Myron Stowe) [1897285] - uio: fix potential memory leak in error case (Myron Stowe) [1897285] - uio: dismiss waiters on device unregistration (Myron Stowe) [1897285] - uio: Fix an Oops on load (Myron Stowe) [1897285] - uio: make symbol 'uio_class_registered' static (Myron Stowe) [1897285] - uio: convert to vm_fault_t (Myron Stowe) [1897285] - uio: ensure class is registered before devices (Myron Stowe) [1897285] - uio: potential double frees if __uio_register_device() fails (Myron Stowe) [1897285] - uio: fix possible circular locking dependency (Myron Stowe) [1897285] - uio: fix wrong return value from uio_mmap() (Myron Stowe) [1897285] - uio: add SPDX license tag (Myron Stowe) [1897285] - net: zero-initialize tc skb extension on allocation (Ivan Vecera) [1946986] - net: sched: fix tx action reschedule issue with stopped queue (Ivan Vecera) [1946986] - net: sched: fix tx action rescheduling issue during deactivation (Ivan Vecera) [1946986] - net: sched: fix packet stuck problem for lockless qdisc (Ivan Vecera) [1946986] - net/sched: act_ct: Remove redundant ct get and check (Ivan Vecera) [1946986] - net: sched: tapr: prevent cycle_time == 0 in parse_taprio_schedule (Ivan Vecera) [1946986] - tc-testing: add simple action test to verify batch change cleanup (Ivan Vecera) [1946986] - tc-testing: add simple action test to verify batch add cleanup (Ivan Vecera) [1946986] - tc-testing: add simple action change test (Ivan Vecera) [1946986] - selftests: forwarding: Add tc-police tests for packets per second (Ivan Vecera) [1946986] - selftests: tc-testing: add action police selftest for packets per second (Ivan Vecera) [1946986] - net: sched: Mundane typo fixes (Ivan Vecera) [1946986] - net/sched: cls_flower: use nla_get_be32 for TCA_FLOWER_KEY_FLAGS (Ivan Vecera) [1946986] - net/sched: cls_flower: use ntohs for struct flow_dissector_key_ports (Ivan Vecera) [1946986] - taprio: Handle short intervals and large packets (Ivan Vecera) [1946986] - net/sched: cls_flower: fix only mask bit check in the validate_ct_state (Ivan Vecera) [1946986] - treewide: Remove uninitialized_var() usage (Ivan Vecera) [1946986] - lockdep: Provide dummy forward declaration of *_is_held() helpers (Ivan Vecera) [1946986] - net: sched: Remove broken definitions and un-hide for !LOCKDEP (Ivan Vecera) [1946986] - net: sched: sch_teql: fix null-pointer dereference (Ivan Vecera) [1946986] - net: sched: fix err handler in tcf_action_init() (Ivan Vecera) [1946986] - net: sched: fix action overwrite reference counting (Ivan Vecera) [1946986] - Revert "net: sched: bump refcount for new action in ACT replace mode" (Ivan Vecera) [1946986] - net: cls_api: Fix uninitialised struct field bo->unlocked_driver_cb (Ivan Vecera) [1946986] - net: sched: bump refcount for new action in ACT replace mode (Ivan Vecera) [1946986] - net/sched: act_api: fix miss set post_ct for ovs after do conntrack in act_ct (Ivan Vecera) [1946986] - net/sched: act_police: add support for packet-per-second policing (Ivan Vecera) [1946986] - flow_offload: reject configuration of packet-per-second policing in offload drivers (Ivan Vecera) [1946986] - flow_offload: add support for packet-per-second policing (Ivan Vecera) [1946986] - net: sched: validate stab values (Ivan Vecera) [1946986] - net: add a helper to avoid issues with HW TX timestamping and SO_TXTIME (Ivan Vecera) [1946986] - sched: act_sample: Implement stats_update callback (Ivan Vecera) [1946986] - net: sched: avoid duplicates in classes dump (Ivan Vecera) [1946986] - net/sched: cls_flower: validate ct_state for invalid and reply flags (Ivan Vecera) [1946986] - net: sched: fix police ext initialization (Ivan Vecera) [1946986] - selftests: tc: Add generic mpls matching support for tc-flower (Ivan Vecera) [1946986] - selftests: tc: Add basic mpls_* matching support for tc-flower (Ivan Vecera) [1946986] - selftests: tc-testing: u32: Add tests covering sample option (Ivan Vecera) [1946986] - net: sched: Return the correct errno code (Ivan Vecera) [1946986] - net: sched: replaced invalid qdisc tree flush helper in qdisc_replace (Ivan Vecera) [1946986] - selftests: forwarding: Fix spelling mistake "succeded" -> "succeeded" (Ivan Vecera) [1946986] - taprio: boolean values to a bool variable (Ivan Vecera) [1946986] - net_sched: fix RTNL deadlock again caused by request_module() (Ivan Vecera) [1946986] - cls_flower: call nla_ok() before nla_next() (Ivan Vecera) [1946986] - net/sched: sch_taprio: ensure to reset/destroy all child qdiscs (Ivan Vecera) [1946986] - net/sched: sch_taprio: reset child qdiscs before freeing them (Ivan Vecera) [1946986] - net: sched: incorrect Kconfig dependencies on Netfilter modules (Ivan Vecera) [1946986] - treewide: replace '---help---' in Kconfig files with 'help' (Ivan Vecera) [1946986] - net/sched: cls_u32: simplify the return expression of u32_reoffload_knode() (Ivan Vecera) [1946986] - net: sched: fix spelling mistake in Kconfig "trys" -> "tries" (Ivan Vecera) [1946986] - net/sched: fq_pie: initialize timer earlier in fq_pie_init() (Ivan Vecera) [1946986] - net: sched: remove redundant 'rtnl_held' argument (Ivan Vecera) [1946986] - selftests: tc-testing: enable CONFIG_NET_SCH_RED as a module (Ivan Vecera) [1946986] - net: sched: alias action flags with TCA_ACT_ prefix (Ivan Vecera) [1946986] - treewide: rename nla_strlcpy to nla_strscpy. (Ivan Vecera) [1946986] - Modify return value of nla_strlcpy to match that of strscpy. (Ivan Vecera) [1946986] - Fix unefficient call to memset before memcpu in nla_strlcpy. (Ivan Vecera) [1946986] - net: sched: fix misspellings using misspell-fixer tool (Ivan Vecera) [1946986] - selftest: fix flower terse dump tests (Ivan Vecera) [1946986] - net: sched: implement action-specific terse dump (Ivan Vecera) [1946986] - net: cls_api: remove unneeded local variable in tc_dump_chain() (Ivan Vecera) [1946986] - openvswitch: fix send of uninitialized stack memory in ct limit reply (Antoine Tenart) [1950022] - net/sched: act_api: fix miss set post_ct for ovs after do conntrack in act_ct (Antoine Tenart) [1950022] - xsk: Clear pool even for inactive queues (Jiri Benc) [1882710] - xsk: Fix memory leak for failed bind (Jiri Benc) [1882710] - xsk: Return error code if force_zc is set (Jiri Benc) [1882710] - xsk: Change the tx writeable condition (Jiri Benc) [1882710] - xsk: Replace datagram_poll by sock_poll_wait (Jiri Benc) [1882710] - xdp: Handle MEM_TYPE_XSK_BUFF_POOL correctly in xdp_return_buff() (Jiri Benc) [1882710] - xsk: Fix incorrect netdev reference count (Jiri Benc) [1882710] - xsk: Fix umem cleanup bug at socket destruct (Jiri Benc) [1882710] - netdevsim: set .owner to THIS_MODULE (Jiri Benc) [1882710] - bpf: selftest: Use static globals in tcp_hdr_options and btf_skc_cls_ingress (Jiri Benc) [1882710] - xsk: Fix possible memory leak at socket close (Jiri Benc) [1882710] - samples/bpf: Set rlimit for memlock to infinity in all samples (Jiri Benc) [1882710] - bpf, selftests: Extend test_tc_redirect to use modified bpf_redirect_neigh() (Jiri Benc) [1882710] - bpf: Fix bpf_redirect_neigh helper api to support supplying nexthop (Jiri Benc) [1882710] - bpf, selftest: Fix flaky tcp_hdr_options test when adding addr to lo (Jiri Benc) [1882710] - bpf, selftests: Add redirect_peer selftest (Jiri Benc) [1882710] - bpf, selftests: Make redirect_neigh test more extensible (Jiri Benc) [1882710] - bpf: Add redirect_peer helper (Jiri Benc) [1882710] - bpf: Improve bpf_redirect_neigh helper description (Jiri Benc) [1882710] - bpf: Always return target ifindex in bpf_fib_lookup (Jiri Benc) [1882710] - xsk: Introduce padding between ring pointers (Jiri Benc) [1882710] - xsk: Remove internal DMA headers (Jiri Benc) [1882710] - bpf: selftest: Ensure the child sk inherited all bpf_sock_ops_cb_flags (Jiri Benc) [1882710] - bpf: tcp: Do not limit cb_flags when creating child sk from listen sk (Jiri Benc) [1882710] - bpf, selftests: Add redirect_neigh selftest (Jiri Benc) [1882710] - bpf: Add redirect_neigh helper as redirect drop-in (Jiri Benc) [1882710] - tools, bpf: Synchronise BPF UAPI header with tools (Jiri Benc) [1882710] - bpf: Fix formatting in documentation for BPF helpers (Jiri Benc) [1882710] - xsk: Fix a documentation mistake in xsk_queue.h (Jiri Benc) [1882710] - xsk: Fix possible crash in socket_release when out-of-memory (Jiri Benc) [1882710] - xsk: Fix refcount warning in xp_dma_map (Jiri Benc) [1882710] - tcp: Only init congestion control if not initialized already (Jiri Benc) [1882710] - xsk: Fix null check on error return path (Jiri Benc) [1882710] - xsk: Fix possible segfault at xskmap entry insertion (Jiri Benc) [1882710] - xsk: Fix possible segfault in xsk umem diagnostics (Jiri Benc) [1882710] - xsk: Fix use-after-free in failed shared_umem bind (Jiri Benc) [1882710] - xsk: Documentation for XDP_SHARED_UMEM between queues and netdevs (Jiri Benc) [1882710] - xsk: Add shared umem support between devices (Jiri Benc) [1882710] - xsk: Add shared umem support between queue ids (Jiri Benc) [1882710] - xsk: i40e: ice: ixgbe: mlx5: Test for dma_need_sync earlier for better performance (Jiri Benc) [1882710] - xsk: Rearrange internal structs for better performance (Jiri Benc) [1882710] - xsk: Enable sharing of dma mappings (Jiri Benc) [1882710] - xsk: Move addrs from buffer pool to umem (Jiri Benc) [1882710] - xsk: Move xsk_tx_list and its lock to buffer pool (Jiri Benc) [1882710] - xsk: Move queue_id, dev and need_wakeup to buffer pool (Jiri Benc) [1882710] - xsk: Move fill and completion rings to buffer pool (Jiri Benc) [1882710] - xsk: Create and free buffer pool independently from umem (Jiri Benc) [1882710] - xsk: i40e: ice: ixgbe: mlx5: Rename xsk zero-copy driver interfaces (Jiri Benc) [1882710] - xsk: i40e: ice: ixgbe: mlx5: Pass buffer pool to driver instead of umem (Jiri Benc) [1882710] - tcp: bpf: Optionally store mac header in TCP_SAVE_SYN (Jiri Benc) [1882710] - bpf: selftests: Tcp header options (Jiri Benc) [1882710] - bpf: selftests: Add fastopen_connect to network_helpers (Jiri Benc) [1882710] - bpf: tcp: Allow bpf prog to write and parse TCP header option (Jiri Benc) [1882710] - bpf: sock_ops: Change some members of sock_ops_kern from u32 to u8 (Jiri Benc) [1882710] - bpf: tcp: Add bpf_skops_hdr_opt_len() and bpf_skops_write_hdr_opt() (Jiri Benc) [1882710] - bpf: tcp: Add bpf_skops_parse_hdr() (Jiri Benc) [1882710] - bpf: tcp: Add bpf_skops_established() (Jiri Benc) [1882710] - tcp: Add saw_unknown to struct tcp_options_received (Jiri Benc) [1882710] - tcp: bpf: Add TCP_BPF_RTO_MIN for bpf_setsockopt (Jiri Benc) [1882710] - tcp: bpf: Add TCP_BPF_DELACK_MAX setsockopt (Jiri Benc) [1882710] - tcp: Use a struct to represent a saved_syn (Jiri Benc) [1882710] - tcp: tcp_init_buffer_space can be static (Jiri Benc) [1882710] - tcp: refactor setting the initial congestion window (Jiri Benc) [1882710] - tcp: fix code style in tcp_recvmsg() (Jiri Benc) [1882710] - tcp: duplicate clear of icsk_backoff (Jiri Benc) [1882710] - tcp: move rx_opt & syn_data_acked init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: move tp->rack init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: move app_limited init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: move retrans_out, sacked_out, tlp_high_seq, last_oow_ack_time init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: do not clear urg_data in tcp_create_openreq_child (Jiri Benc) [1882710] - tcp: move snd_cwnd & snd_cwnd_cnt init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: move mdev_us init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: do not clear srtt_us in tcp_create_openreq_child (Jiri Benc) [1882710] - tcp: do not clear packets_out in tcp_create_openreq_child() (Jiri Benc) [1882710] - tcp: move icsk_rto init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: do not set snd_ssthresh in tcp_create_openreq_child() (Jiri Benc) [1882710] - net-veth: Add type safety to veth_xdp_to_ptr() and veth_ptr_to_xdp() (Jiri Benc) [1882710] - net-tun: Eliminate two tun/xdp related function calls from vhost-net (Jiri Benc) [1882710] - net-tun: Add type safety to tun_xdp_to_ptr() and tun_ptr_to_xdp() (Jiri Benc) [1882710] - ipv4: Add helpers for neigh lookup for nexthop (Jiri Benc) [1882710] - net: bpf: remove XDP_QUERY_XSK_UMEM enumerator (Jiri Benc) [1882710] - tipc: better validate user input in tipc_nl_retrieve_key() (Xin Long) [1950093] - tipc: simplify the finalize work queue (Xin Long) [1958456] - tipc: wait and exit until all work queues are done (Xin Long) [1958456] - [s390] KVM: s390: diag9c (directed yield) forwarding (Claudio Imbrenda) [1874105] - kvm/svm: Reenable nesting (Dr. David Alan Gilbert) [1790949] - powerpc/papr_scm: Reduce error severity if nvdimm stats inaccessible (Steve Best) [1965193] - Revert "[redhat] redhat/configs: Update CONFIG_ARM64_CNP" (Mark Salter) [1949533] - arm64: kernel: disable CNP on Carmel (Mark Salter) [1949533]- redhat/configs: Enable CONFIG_MICROSOFT_MANA=m (Vitaly Kuznetsov) [1957820] - net: mana: Use int to check the return value of mana_gd_poll_cq() (Vitaly Kuznetsov) [1957820] - net: mana: fix PCI_HYPERV dependency (Vitaly Kuznetsov) [1957820] - net: mana: remove redundant initialization of variable err (Vitaly Kuznetsov) [1957820] - net: mana: Add a driver for Microsoft Azure Network Adapter (MANA) (Vitaly Kuznetsov) [1957820] - hv_netvsc: Make netvsc/VF binding check both MAC and serial number (Vitaly Kuznetsov) [1957820] - net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown (Balazs Nemeth) [1957223] - net: evaluate net.ipv4.conf.all.proxy_arp_pvlan (Balazs Nemeth) [1957223] - netfilter: nf_log_syslog: Unset bridge logger in pernet exit (Phil Sutter) [1938214] - netfilter: nft_log: perform module load from nf_tables (Phil Sutter) [1938214] - netfilter: nft_dynset: fix timeouts later than 23 days (Phil Sutter) [1938214] - netfilter: nft_compat: make sure xtables destructors have run (Phil Sutter) [1938214] - netfilter: nftables: Add __printf() attribute (Phil Sutter) [1938214] - netfilter: nf_log: add module softdeps (Phil Sutter) [1938214] - netfilter: nf_log_common: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: nf_log_bridge: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: nf_log_netdev: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: nf_log_ipv6: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: move inline nf_ip6_ext_hdr() function to a more appropriate header. (Phil Sutter) [1938214] - ipv6: Use ipv6_authlen for len (Phil Sutter) [1938214] - netfilter: nf_log_arp: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: nf_log_ipv4: rename to nf_log_syslog (Phil Sutter) [1938214] - net/sched: cls_api: increase max_reclassify_loop (Davide Caratti) [1955136] - vsock/vmci: Remove redundant assignment to err (Stefano Garzarella) [1956861] - vsock/virtio: free queued packets when closing socket (Stefano Garzarella) [1956861] - net: vsock: Fix a typo (Stefano Garzarella) [1956861] - selinux: vsock: Set SID for socket returned by accept() (Stefano Garzarella) [1956861] - af_vsock: Assign the vsock transport considering the vsock address flags (Stefano Garzarella) [1956861] - af_vsock: Set VMADDR_FLAG_TO_HOST flag on the receive path (Stefano Garzarella) [1956861] - vsock_addr: Check for supported flag values (Stefano Garzarella) [1956861] - vm_sockets: Add VMADDR_FLAG_TO_HOST vsock flag (Stefano Garzarella) [1956861] - vm_sockets: Add flags field in the vsock address data structure (Stefano Garzarella) [1956861] - hv_sock: Remove the accept port restriction (Stefano Garzarella) [1956861] - hv_sock: use HV_HYP_PAGE_SIZE for Hyper-V communication (Stefano Garzarella) [1956861] - net: add a helper to avoid issues with HW TX timestamping and SO_TXTIME (Corinna Vinschen) [1958988] - net: ensure mac header is set in virtio_net_hdr_to_skb() (Balazs Nemeth) [1955441] - devlink: Fix dmac_filter trap name, align to its documentation (Petr Oros) [1935701] - devlink: Add DMAC filter generic packet trap (Petr Oros) [1935701] - devlink: Add blackhole_nexthop trap (Petr Oros) [1935701] - stm class: Fix module init return on allocation failure (Jiri Olsa) [1907791] - stm class: ftrace: Use different channel accroding to CPU (Jiri Olsa) [1907791] - stm class: ftrace: Enable supported trace export flag (Jiri Olsa) [1907791] - stm class: ftrace: Change dependency to TRACING (Jiri Olsa) [1907791] - stm class: Replace zero-length array with flexible-array (Jiri Olsa) [1907791] - stm class: sys-t: Fix the use of time_after() (Jiri Olsa) [1907791] - stm class: Lose the protocol driver when dropping its reference (Jiri Olsa) [1907791] - stm class: Fix a double free of stm_source_device (Jiri Olsa) [1907791] - stm class: Fix channel bitmap on 32-bit systems (Jiri Olsa) [1907791] - stm class: Fix channel free in stm output free path (Jiri Olsa) [1907791] - stm class: Prevent division by zero (Jiri Olsa) [1907791] - stm class: Fix an endless loop in channel allocation (Jiri Olsa) [1907791] - stm class: Fix a module refcount leak in policy creation error path (Jiri Olsa) [1907791] - stm class: Use memcat_p() (Jiri Olsa) [1907791] - stm class: heartbeat: Fix whitespace (Jiri Olsa) [1907791] - stm class: p_sys-t: Add support for CLOCKSYNC packets (Jiri Olsa) [1907791] - stm class: Add MIPI SyS-T protocol support (Jiri Olsa) [1907791] - stm class: Switch over to the protocol driver (Jiri Olsa) [1907791] - stm class: Factor out default framing protocol (Jiri Olsa) [1907791] - stm class: Add a helper for writing data packets (Jiri Olsa) [1907791] - stm class: Introduce framing protocol drivers (Jiri Olsa) [1907791] - stm class: Clean up stp_configfs_init (Jiri Olsa) [1907791] - stm class: Clarify configfs root type/operations names (Jiri Olsa) [1907791] - stm class: Rework policy node fallback (Jiri Olsa) [1907791] - lib: Add memcat_p(): paste 2 pointer arrays together (Jiri Olsa) [1907791] - tracing: Add trace_export support for trace_marker (Jiri Olsa) [1907791] - tracing: Add trace_export support for event trace (Jiri Olsa) [1907791] - tracing: Add flag to control different traces (Jiri Olsa) [1907791] - tracing: Make function ‘ftrace_exports’ static (Jiri Olsa) [1907791] - tipc: increment the tmp aead refcnt before attaching it (Xin Long) [1931312] - tipc: skb_linearize the head skb when reassembling msgs (Xin Long) [1912376] - scsi: target: core: Fix warning on realtime kernels (Maurizio Lombardi) [1956416] - scsi: bnx2fc: Fix a typo (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix misnaming of bnx2fc_free_session_resc() (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix typo in bnx2fc_indicate_kcqe() (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix Kconfig warning & CNIC build errors (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix comparison to bool warning (Nilesh Javali) [1921617] - scsi: bnx2fc: Remove unneeded semicolon (Nilesh Javali) [1921617] - scsi: bnx2fc: Make a bunch of symbols static in bnx2fc_fcoe.c (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix spelling mistake "couldnt" -> "couldn't" (Nilesh Javali) [1921617] - scsi: bnx2fc: Demote obvious misuse of kerneldoc to standard comment blocks (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix a couple of bitrotted function documentation headers (Nilesh Javali) [1921617] - scsi: bnx2fc: Repair a range of kerneldoc issues (Nilesh Javali) [1921617] - scsi: bnx2fc: Removal of unused variables (Nilesh Javali) [1921617] - scsi: bnx2fc: Remove unneeded semicolon in bnx2fc_fcoe.c (Nilesh Javali) [1921617] - scsi: bnx2fc: Add missing annotation for bnx2fc_abts_cleanup() (Nilesh Javali) [1921617] - tools/power turbostat: Enable tsc_tweak for Elkhart Lake and Jasper Lake (Puneet Sethi) [1920704] - selinux: Allow context mounts for unpriviliged overlayfs (Miklos Szeredi) [1956486] - md-cluster: fix use-after-free issue when removing rdev (Nigel Croxon) [1956355] - md/bitmap: wait for external bitmap writes to complete during tear down (Nigel Croxon) [1956355] - md: do not return existing mddevs from mddev_find_or_alloc (Nigel Croxon) [1956355] - md: refactor mddev_find_or_alloc (Nigel Croxon) [1956355] - md: factor out a mddev_alloc_unit helper from mddev_find (Nigel Croxon) [1956355] - md: split mddev_find (Nigel Croxon) [1956355] - md: factor out a mddev_find_locked helper from mddev_find (Nigel Croxon) [1956355] - md: md_open returns -EBUSY when entering racing area (Nigel Croxon) [1956355] - md: Fix missing unused status line of /proc/mdstat (Nigel Croxon) [1956355] - md/raid10: improve discard request for far layout (Xiao Ni) [1956355] - md/raid10: improve raid10 discard request (Nigel Croxon) [1956355] - md/raid10: pull the code that wait for blocked dev into one function (Xiao Ni) [1956355] - md/raid10: extend r10bio devs to raid disks (Xiao Ni) [1956355] - md: add md_submit_discard_bio() for submitting discard bio (Nigel Croxon) [1956355] - leds: trigger: fix potential deadlock with libata (Waiman Long) [1963373] - x86/kvm: Unify kvm_pv_guest_cpu_reboot() with kvm_guest_cpu_offline() (Lenny Szubowicz) [1934273] - x86/kvm: Disable all PV features on crash (Lenny Szubowicz) [1934273] - x86/kvm: Disable kvmclock on all CPUs on shutdown (Lenny Szubowicz) [1934273] - x86/kvm: Teardown PV features on boot CPU as well (Lenny Szubowicz) [1934273] - x86/kvm: Fix pr_info() for async PF setup/teardown (Lenny Szubowicz) [1934273] - RDMA/qedr: Fix error return code in qedr_iw_connect() (Manish Chopra) [1914922] - qede: Use 'skb_add_rx_frag()' instead of hand coding it (Manish Chopra) [1914922] - qede: Remove a erroneous ++ in 'qede_rx_build_jumbo()' (Manish Chopra) [1914922] - qede: fix offload for IPIP tunnel packets (Manish Chopra) [1914922] - RDMA/qedr: iWARP invalid(zero) doorbell address fix (Manish Chopra) [1914922] - qed: fix ILT configuration of SRC block (Manish Chopra) [1914922] - qed: fix error return code in qed_iwarp_ll2_start() (Manish Chopra) [1914922] - RDMA/qedr: Fix resource leak in qedr_create_qp (Manish Chopra) [1914922] - qede: make driver reliable on unload after failures (Manish Chopra) [1914922] - net: qed: Remove unnecessary cast (Manish Chopra) [1914922] - nvme: fix NULL derefence in nvme_ctrl_fast_io_fail_tmo_show/store (Gopal Tiwari) [1935135] - nvme: export fast_io_fail_tmo to sysfs (Gopal Tiwari) [1935135] - EDAC: enable CONFIG_EDAC_IGEN6 (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/igen6: ecclog_llist can be static (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/i10nm: Add Intel Sapphire Rapids server support (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC: Add DDR5 new memory type (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/i10nm: Use readl() to access MMIO registers (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/igen6: Add debugfs interface for Intel client SoC EDAC driver (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/igen6: Add EDAC driver for Intel client SoCs using IBECC (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC: Add three new memory types (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC, {skx,i10nm}: Use CPU stepping macro to pass configurations (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/skx: Use the mcmtr register to retrieve close_pg/bank_xor_enable (Aristeu Rozanski) [1837389 1783539 1861479] - x86/cpu: Add a X86_MATCH_INTEL_FAM6_MODEL_STEPPINGS() macro (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC: Add missing MEM_LRDDR4 entry in edac_mem_types[] (Aristeu Rozanski) [1837389 1783539 1861479] - x86: export x86_match_cpu_v2 (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/amd64: Fix PCI component registration (Aristeu Rozanski) [1918583] - EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId (Aristeu Rozanski) [1918583] - x86/CPU/AMD: Remove amd_get_nb_id() (Aristeu Rozanski) [1918583] - EDAC/mce_amd: Make fam_ops static global (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Allow Reserved types to be overwritten in smca_banks[] (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Do not use rdmsr_safe_on_cpu() in smca_configure() (Aristeu Rozanski) [1918583] - EDAC/amd64: Get rid of the ECC disabled long message (Aristeu Rozanski) [1918583] - EDAC/amd64: Check for memory before fully initializing an instance (Aristeu Rozanski) [1918583] - EDAC/amd64: Use cached data when checking for ECC (Aristeu Rozanski) [1918583] - x86/MCE: Make the number of MCA banks a per-CPU variable (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Don't cache block addresses on SMCA systems (Aristeu Rozanski) [1918583] - x86/MCE: Make mce_banks a per-CPU array (Aristeu Rozanski) [1918583] - x86/MCE: Make struct mce_banks[] static (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Don't report L1 BTB MCA errors on some family 17h models (Aristeu Rozanski) [1918583] - EDAC/mce_amd: Decode MCA_STATUS in bit definition order (Aristeu Rozanski) [1918583] - EDAC/mce_amd: Decode MCA_STATUS[Scrub] bit (Aristeu Rozanski) [1918583] - EDAC, mce_amd: Match error descriptions to latest documentation (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Carve out the MC4_MISC thresholding quirk (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Turn off MC4_MISC thresholding on all family 0x15 models (Aristeu Rozanski) [1918583] - powerpc/64s: Fix unrelocated interrupt trampoline address test (Waiman Long) [1966462] - intel_th: pci: Add Alder Lake CPU support (Jiri Olsa) [1840246] - intel_th: pci: Add Alder Lake-S support (Jiri Olsa) [1840246] - mfd: intel_pmt: Add support for DG1 (David Arcari) [1783144] - mfd: intel_pmt: Fix nuisance messages and handling of disabled capabilities (David Arcari) [1783144] - redhat/configs: Add CONFIG_INTEL_PMT_CRASHLOG (David Arcari) [1783144] - redhat/configs: Add CONFIG_INTEL_PMT_TELEMETRY (David Arcari) [1783144] - redhat/configs: Add CONFIG_MFD_INTEL_PMT (David Arcari) [1783144] - platform/x86: intel_pmt_crashlog: Add dependency on MFD_INTEL_PMT (David Arcari) [1783144] - platform/x86: intel_pmt_telemetry: Add dependency on MFD_INTEL_PMT (David Arcari) [1783144] - platform/x86: intel_pmt: Make INTEL_PMT_CLASS non-user-selectable (David Arcari) [1783144] - platform/x86: intel_pmt_crashlog: Fix incorrect macros (David Arcari) [1783144] - platform/x86: intel_pmt_class: Initial resource to 0 (David Arcari) [1783144] - mfd: Standardise MFD_CELL_* helper names (David Arcari) [1783144] - platform/x86: pmt: Fix a potential Oops on error in probe (David Arcari) [1783144] - platform/x86: Intel PMT Crashlog capability driver (David Arcari) [1783144] - platform/x86: Intel PMT Telemetry capability driver (David Arcari) [1783144] - platform/x86: Intel PMT class driver (David Arcari) [1783144] - mfd: Intel Platform Monitoring Technology support (David Arcari) [1783144] - mfd: mfd-core: Ensure disabled devices are ignored without error (David Arcari) [1783144] - mfd: core: Fix double-free in mfd_remove_devices_fn() (David Arcari) [1783144] - mfd: mfd-core: Add mechanism for removal of a subset of children (David Arcari) [1783144] - mfd: core: Add OF_MFD_CELL_REG() helper (David Arcari) [1783144] - mfd: core: Fix formatting of MFD helpers (David Arcari) [1783144] - mfd: core: Make a best effort attempt to match devices with the correct of_nodes (David Arcari) [1783144] - mfd: mfd-core: Complete kerneldoc header for devm_mfd_add_devices() (David Arcari) [1783144] - mfd: Constify properties in mfd_cell (David Arcari) [1783144] - mfd: mfd-core: Honour Device Tree's request to disable a child-device (David Arcari) [1783144] - mfd: mfd-core: Move pdev->mfd_cell creation back into mfd_add_device() (David Arcari) [1783144] - mfd: mfd-core: Remove usage counting for .{en,dis}able() call-backs (David Arcari) [1783144] - mfd: mfd-core: Protect against NULL call-back function pointer (David Arcari) [1783144] - mfd: mfd-core: Remove mfd_clone_cell() (David Arcari) [1783144] - mfd: Provide MACRO to declare commonly defined MFD cell attributes (David Arcari) [1783144] - mfd: core: Set fwnode for created devices (David Arcari) [1783144] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (David Arcari) [1783144] - mfd: mfd-core: Document mfd_add_devices() (David Arcari) [1783144] - PCI: Add defines for Designated Vendor-Specific Extended Capability (David Arcari) [1783144] - tick/nohz: Update idle_exittime on actual idle exit (Phil Auld) [1962632] - tick/nohz: Remove superflous check for CONFIG_VIRT_CPU_ACCOUNTING_NATIVE (Phil Auld) [1962632] - tick/nohz: Conditionally restart tick on idle exit (Phil Auld) [1962632] - x86, sched: Fix the AMD CPPC maximum performance value on certain AMD Ryzen generations (Phil Auld) [1960687] - pinctrl: devicetree: Avoid taking direct reference to device name string (Aristeu Rozanski) [1922904] {CVE-2020-0427} - redhat: ppc64: enable CONFIG_PPC_RTAS_FILTER (Aristeu Rozanski) [1906444] {CVE-2020-27777} - powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter (Aristeu Rozanski) [1906444] {CVE-2020-27777} - powerpc/rtas: Restrict RTAS requests from userspace (Aristeu Rozanski) [1906444] {CVE-2020-27777}- docs: vxlan: add info about device features (Petr Oros) [1941739] - selftests: net: add a test for static UDP tunnel ports (Petr Oros) [1941739] - netdevsim: support the static IANA VXLAN port flag (Petr Oros) [1941739] - selftests: net: add a test for shared UDP tunnel info tables (Petr Oros) [1941739] - netdevsim: shared UDP tunnel port table support (Petr Oros) [1941739] - netdevsim: add warnings on unexpected UDP tunnel port errors (Petr Oros) [1941739] - udp_tunnel: add the ability to share port tables (Petr Oros) [1941739] - docs: networking: convert vxlan.txt to ReST (Petr Oros) [1941739] - net: Treat __napi_schedule_irqoff() as __napi_schedule() on PREEMPT_RT (Ivan Vecera) [1960528] - ethtool: fix incorrect datatype in set_eee ops (Balazs Nemeth) [1956698] - ethtool: fix missing NLM_F_MULTI flag when dumping (Antoine Tenart) [1953847] - y2038: remove CONFIG_64BIT_TIME (Waiman Long) [1965360] - net/mlx4: Fix EEPROM dump support (Alaa Hleihel) [1915305] - net/mlx4_en: update moderation when config reset (Alaa Hleihel) [1915305] - net/mlx4_core: Add missed mlx4_free_cmd_mailbox() (Alaa Hleihel) [1915305] - IB/mlx4: Use port iterator and validation APIs (Alaa Hleihel) [1915305] - net/mlx4: Use effective interrupt affinity (Alaa Hleihel) [1915302 1915305] - net/mlx4: Replace irq_to_desc() abuse (Alaa Hleihel) [1915302 1915305] - net/mlx4: simplify the return expression of mlx4_init_srq_table() (Alaa Hleihel) [1915302 1915305] - RDMA/mlx4: Remove bogus dev_base_lock usage (Alaa Hleihel) [1915302 1915305] - net/mlx4: simplify the return expression of mlx4_init_cq_table() (Alaa Hleihel) [1915302 1915305] - net/mlx4: Remove unused #define MAX_MSIX_P_PORT (Alaa Hleihel) [1915302 1915305] - RDMA/mlx4: Enable querying AH for XRC QP types (Alaa Hleihel) [1915302 1915305] - IB/mlx4: Fix fall-through warnings for Clang (Alaa Hleihel) [1915302 1915305] - net/mlx4_en: Remove unused performance counters (Alaa Hleihel) [1915302 1915305] - net/mlx4: Assign boolean values to a bool variable (Alaa Hleihel) [1915302 1915305] - net/mlx4: Cleanup kernel-doc warnings (Alaa Hleihel) [1915302 1915305] - net/mlx4_core : remove unneeded semicolon (Alaa Hleihel) [1915302 1915305] - net/mlx4_core: Fix init_hca fields offset (Alaa Hleihel) [1915301 1915305] - mlx4: handle non-napi callers to napi_poll (Alaa Hleihel) [1915301 1915305] - mlx4: drivers/net/ethernet: clean up unused assignments (Alaa Hleihel) [1915301 1915305] - mlx4: add pause frame stats (Alaa Hleihel) [1915301 1915305] - mlx4: make sure to always set the port type (Alaa Hleihel) [1915301 1915305] - net/mlx4_en: RX, Add a prefetch command for small L1_CACHE_BYTES (Alaa Hleihel) [1915301 1915305] - cnic: remove redundant assignment to variable ret (Nilesh Javali) [1921619] - net: cnic: fix spelling mistake "reserverd" -> "reserved" (Nilesh Javali) [1921619] - cnic: Explicitly initialize all reference counts to 0. (Nilesh Javali) [1921619] - cfg80211: fix locking in netlink owner interface destruction (Jarod Wilson) [1937053] - brcmfmac: Avoid GFP_ATOMIC when GFP_KERNEL is enough (Jarod Wilson) [1937053] - ath11k: fix warning in ath11k_mhi_config (Jarod Wilson) [1937053] - ath11k: qmi: Fix spelling mistake "requeqst" -> "request" (Jarod Wilson) [1937053] - ath10k: Fix ath10k_wmi_tlv_op_pull_peer_stats_info() unlock without lock (Jarod Wilson) [1937053] - ath10k: Fix a use after free in ath10k_htc_send_bundle (Jarod Wilson) [1937053] - ath9k: Fix error check in ath9k_hw_read_revisions() for PCI devices (Jarod Wilson) [1937053] - mt76: mt7921: reinit wpdma during drv_own if necessary (Jarod Wilson) [1937053] - mt76: move mt76_token_init in mt76_alloc_device (Jarod Wilson) [1937053] - mt76: mt7921: fix a precision vs width bug in printk (Jarod Wilson) [1937053] - mt76: mt7915: fix a precision vs width bug in printk (Jarod Wilson) [1937053] - mt76: mt7615: fix a precision vs width bug in printk (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_mcu_sta_add routine (Jarod Wilson) [1937053] - mt76: mt7921: mt7921_stop should put device in fw_own state (Jarod Wilson) [1937053] - mt76: connac: unschedule mac_work before going to sleep (Jarod Wilson) [1937053] - mt76: mt7663: add awake and doze time accounting (Jarod Wilson) [1937053] - mt76: mt7921: improve doze opportunity (Jarod Wilson) [1937053] - mt76: mt7921: get rid of mcu_reset function pointer (Jarod Wilson) [1937053] - mt76: mt7915: do not read rf value from efuse in flash mode (Jarod Wilson) [1937053] - mt76: move token utilities in mt76 common module (Jarod Wilson) [1937053] - mt76: move token_lock, token and token_count in mt76_dev (Jarod Wilson) [1937053] - mt76: mt7921: fix possible invalid register access (Jarod Wilson) [1937053] - mt76: mt7921: enable deep sleep when the device suspends (Jarod Wilson) [1937053] - mt76: connac: introduce mt76_connac_mcu_set_deep_sleep utility (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_wpdma_reinit_cond utility routine (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_dma_{enable,disable} utilities (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_wpdma_reset utility routine (Jarod Wilson) [1937053] - mt76: mt7921: move mt7921_dma_reset in dma.c (Jarod Wilson) [1937053] - mt76: mt7615: Fix a dereference of pointer sta before it is null checked (Jarod Wilson) [1937053] - mt76: mt7921: enable sw interrupts (Jarod Wilson) [1937053] - mt76: mt7921: add awake and doze time accounting (Jarod Wilson) [1937053] - mt76: remove MT76_STATE_PM in tx path (Jarod Wilson) [1937053] - mt76: connac: use waitqueue for runtime-pm (Jarod Wilson) [1937053] - mt76: connac: do not run mt76_txq_schedule_all directly (Jarod Wilson) [1937053] - mt76: mt7615: rely on pm refcounting in mt7615_led_set_config (Jarod Wilson) [1937053] - mt76: connac: alaways wake the device before scanning (Jarod Wilson) [1937053] - mt76: mt7921: get rid of useless MT76_STATE_PM in mt7921_mac_work (Jarod Wilson) [1937053] - mt76: connac: remove MT76_STATE_PM in mac_tx_free (Jarod Wilson) [1937053] - mt76: connac: check wake refcount in mcu_fw_pmctrl (Jarod Wilson) [1937053] - mt76: connac: unschedule ps_work in mt76_connac_pm_wake (Jarod Wilson) [1937053] - mt76: mt7663: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx/rx napi (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx/rx napi (Jarod Wilson) [1937053] - mt76: dma: add the capability to define a custom rx napi poll routine (Jarod Wilson) [1937053] - mt76: mt7663: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx path (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx path (Jarod Wilson) [1937053] - mt76: connac: introduce wake counter for fw_pmctrl synchronization (Jarod Wilson) [1937053] - mt76: mt7663: fix a race between mt7615_mcu_drv_pmctrl and mt7615_mcu_fw_pmctrl (Jarod Wilson) [1937053] - mt76: mt7921: fix a race between mt7921_mcu_drv_pmctrl and mt7921_mcu_fw_pmctrl (Jarod Wilson) [1937053] - mt76: mt7921: remove leftover function declaration (Jarod Wilson) [1937053] - mt76: connac: move mcu_update_arp_filter in mt76_connac module (Jarod Wilson) [1937053] - mt76: mt7921: do not use 0 as NULL pointer (Jarod Wilson) [1937053] - mt76: mt7915: directly read per-rate tx power from registers (Jarod Wilson) [1937053] - mt76: mt7915: rework the flow of txpower setting (Jarod Wilson) [1937053] - mt76: mt7915: add support for DT rate power limits (Jarod Wilson) [1937053] - mt76: mt7921: abort uncompleted scan by wifi reset (Jarod Wilson) [1937053] - mt76: mt7921: add wifisys reset support in debugfs (Jarod Wilson) [1937053] - mt76: mt7921: run mt7921_mcu_fw_log_2_host holding mt76 mutex (Jarod Wilson) [1937053] - mt76: improve mcu error logging (Jarod Wilson) [1937053] - mt76: mt7921: move hw configuration in mt7921_register_device (Jarod Wilson) [1937053] - mt76: mt7915: add support for applying pre-calibration data (Jarod Wilson) [1937053] - mt76: mt7615: load ROM patch before checking patch semaphore status (Jarod Wilson) [1937053] - mt76: mt7615: fix entering driver-own state on mt7663 (Jarod Wilson) [1937053] - mt76: mt7615: fix hardware error recovery for mt7663 (Jarod Wilson) [1937053] - mt76: mt7921: add dumping Tx power table (Jarod Wilson) [1937053] - mt76: introduce single-sku support for mt7663/mt7921 (Jarod Wilson) [1937053] - mt76: mt7615: do not use mt7615 single-sku values for mt7663 (Jarod Wilson) [1937053] - mt76: mt7615: implement support for using DT rate power limits (Jarod Wilson) [1937053] - mt76: extend DT rate power limits to support 11ax devices (Jarod Wilson) [1937053] - mt76: add functions for parsing rate power limits from DT (Jarod Wilson) [1937053] - mt76: flush tx status queue on DMA reset (Jarod Wilson) [1937053] - mt76: mt7921: add mt7921_dma_cleanup in mt7921_unregister_device (Jarod Wilson) [1937053] - mt76: mt7615: use ieee80211_free_txskb() in mt7615_tx_token_put() (Jarod Wilson) [1937053] - mt76: mt7615: only free skbs after mt7615_dma_reset() when reset happens (Jarod Wilson) [1937053] - mt76: mt7915: only free skbs after mt7915_dma_reset() when reset happens (Jarod Wilson) [1937053] - mt76: mt7915: fix memleak when mt7915_unregister_device() (Jarod Wilson) [1937053] - mt76: mt7615: fix memleak when mt7615_unregister_device() (Jarod Wilson) [1937053] - mt76: mt7915: fix rate setting of tx descriptor in testmode (Jarod Wilson) [1937053] - mt76: mt7915: rework mt7915_tm_set_tx_len() (Jarod Wilson) [1937053] - mt76: testmode: add support to send larger packet (Jarod Wilson) [1937053] - rtlwifi: implement set_tim by update beacon content (Jarod Wilson) [1937053] - rtw88: refine napi deinit flow (Jarod Wilson) [1937053] - rtw88: Fix potential unrecoverable tx queue stop (Jarod Wilson) [1937053] - rtw88: 8821c: Don't set RX_FLAG_DECRYPTED if packet has no encryption (Jarod Wilson) [1937053] - rtw88: 8822c: debug: allow debugfs to enable/disable TXGAPK (Jarod Wilson) [1937053] - rtw88: 8822c: Add gap-k calibration to improve long range performance (Jarod Wilson) [1937053] - rtw88: 8822c: reorder macro position according to the register number (Jarod Wilson) [1937053] - iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_gen2_enqueue_hcmd() (Jarod Wilson) [1937053] - cfg80211: scan: drop entry from hidden_list on overflow (Jarod Wilson) [1937053] - wireless: fix spelling of A-MSDU in HE capabilities (Jarod Wilson) [1937053] - wireless: align HE capabilities A-MPDU Length Exponent Extension (Jarod Wilson) [1937053] - wireless: align some HE capabilities with the spec (Jarod Wilson) [1937053] - mac80211: drop the connection if firmware crashed while in CSA (Jarod Wilson) [1937053] - nl80211: Add new RSNXE related nl80211 extended features (Jarod Wilson) [1937053] - mac80211: properly drop the connection in case of invalid CSA IE (Jarod Wilson) [1937053] - mac80211: make ieee80211_vif_to_wdev work when the vif isn't in the driver (Jarod Wilson) [1937053] - nl80211/cfg80211: add a flag to negotiate for LMR feedback in NDP ranging (Jarod Wilson) [1937053] - ieee80211: add the values of ranging parameters max LTF total field (Jarod Wilson) [1937053] - mac80211: aes_cmac: check crypto_shash_setkey() return value (Jarod Wilson) [1937053] - mac80211: minstrel_ht: remove extraneous indentation on if statement (Jarod Wilson) [1937053] - mac80211: properly process TXQ management frames (Jarod Wilson) [1937053] - cfg80211: constify ieee80211_get_response_rate return (Jarod Wilson) [1937053] - cfg80211: fix a few kernel-doc warnings (Jarod Wilson) [1937053] - cfg80211: fix an htmldoc warning (Jarod Wilson) [1937053] - rtw88: 8822c: add CFO tracking (Jarod Wilson) [1937053] - iwlwifi: pcie: don't enable BHs with IRQs disabled (Jarod Wilson) [1937053] - rtw88: Fix array overrun in rtw_get_tx_power_params() (Jarod Wilson) [1937053] - brcmfmac: Remove duplicate struct declaration (Jarod Wilson) [1937053] - rtw88: update statistics to fw for fine-tuning performance (Jarod Wilson) [1937053] - brcmfmac: A typo fix (Jarod Wilson) [1937053] - rtl8xxxu: Simplify locking of a skb list accesses (Jarod Wilson) [1937053] - mwifiex: Remove unneeded variable: "ret" (Jarod Wilson) [1937053] - rtl8xxxu: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - mwifiex: don't print SSID to logs (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: Use DEFINE_SPINLOCK() for spinlock (Jarod Wilson) [1937053] - rtlwifi: Simplify locking of a skb list accesses (Jarod Wilson) [1937053] - rtlwifi: remove rtl_get_tid_h (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: remove redundant assignment of variable rtlpriv->btcoexist.reg_bt_sco (Jarod Wilson) [1937053] - rtlwifi: remove redundant assignment to variable err (Jarod Wilson) [1937053] - rtlwifi: Few mundane typo fixes (Jarod Wilson) [1937053] - rtlwifi: 8821ae: upgrade PHY and RF parameters (Jarod Wilson) [1937053] - iwlwifi: dbg: disable ini debug in 9000 family and below (Jarod Wilson) [1937053] - iwlwifi: pcie: Change ma product string name (Jarod Wilson) [1937053] - iwlwifi: fw: print out trigger delay when collecting data (Jarod Wilson) [1937053] - iwlwifi: trans/pcie: defer transport initialisation (Jarod Wilson) [1937053] - iwlwifi: bump FW API to 63 for AX devices (Jarod Wilson) [1937053] - iwlwifi: mvm: don't WARN if we can't remove a time event (Jarod Wilson) [1937053] - iwlwifi: mvm: don't disconnect immediately if we don't hear beacons after CSA (Jarod Wilson) [1937053] - iwlwifi: rs-fw: don't support stbc for HE 160 (Jarod Wilson) [1937053] - iwlwifi: warn on SKB free w/o op-mode (Jarod Wilson) [1937053] - iwlwifi: mvm: add support for version 3 of LARI_CONFIG_CHANGE command. (Jarod Wilson) [1937053] - iwlwifi: pcie: add ISR debug info for msix debug (Jarod Wilson) [1937053] - iwlwifi: pcie: merge napi_poll_msix functions (Jarod Wilson) [1937053] - iwlwifi: mvm: don't lock mutex in RCU critical section (Jarod Wilson) [1937053] - iwlwifi: mvm: remove PS from lower rates. (Jarod Wilson) [1937053] - iwlwifi: mvm: umac error table mismatch (Jarod Wilson) [1937053] - iwlwifi: queue: avoid memory leak in reset flow (Jarod Wilson) [1937053] - iwlwifi: don't warn if we can't wait for empty tx queues (Jarod Wilson) [1937053] - iwlwifi: remove remaining software checksum code (Jarod Wilson) [1937053] - iwlwifi: remove TCM events (Jarod Wilson) [1937053] - iwlwifi: mvm: Use IWL_INFO in fw_reset_handshake() (Jarod Wilson) [1937053] - iwlwifi: mvm: refactor ACPI DSM evaluation function (Jarod Wilson) [1937053] - iwlwifi: mvm: support BIOS enable/disable for 11ax in Ukraine (Jarod Wilson) [1937053] - iwlwifi: move iwl_configure_rxq to be used by other op_modes (Jarod Wilson) [1937053] - iwlwifi: add new so-gf device (Jarod Wilson) [1937053] - iwlwifi: mvm: enable PPAG in China (Jarod Wilson) [1937053] - iwlwifi: mvm: Add support for 6GHz passive scan (Jarod Wilson) [1937053] - iwlwifi: add ax201 killer device (Jarod Wilson) [1937053] - iwlwifi: mvm: when associated with PMF, use protected NDP ranging negotiation (Jarod Wilson) [1937053] - iwlwifi: mvm: clean up queue sync implementation (Jarod Wilson) [1937053] - iwlwifi: mvm: write queue_sync_state only for sync (Jarod Wilson) [1937053] - iwlwifi: mvm: responder: support responder config command version 8 (Jarod Wilson) [1937053] - iwlwifi: mvm: support range request command version 12 (Jarod Wilson) [1937053] - iwlwifi: pcie: make cfg vs. trans_cfg more robust (Jarod Wilson) [1937053] - iwlwifi: pcie: clear only FH bits handle in the interrupt (Jarod Wilson) [1937053] - iwlwifi: add 160Mhz to killer 1550 name (Jarod Wilson) [1937053] - iwlwifi: change name to AX 211 and 411 family (Jarod Wilson) [1937053] - iwlwifi: change step in so-gf struct (Jarod Wilson) [1937053] - iwlwifi: pcie: Add support for Bz Family (Jarod Wilson) [1937053] - iwlwifi: mvm: don't allow CSA if we haven't been fully associated (Jarod Wilson) [1937053] - iwlwifi: pcie: normally grab NIC access for inflight-hcmd (Jarod Wilson) [1937053] - iwlwifi: pcie: avoid unnecessarily taking spinlock (Jarod Wilson) [1937053] - iwlwifi: mvm: enable TX on new CSA channel before disconnecting (Jarod Wilson) [1937053] - mt76: mt7921: add rcu section in mt7921_mcu_tx_rate_report (Jarod Wilson) [1937053] - mt76: mt7921: introduce MCU_EVENT_LP_INFO event parsing (Jarod Wilson) [1937053] - mt76: mt7615: always add rx header translation tlv when adding stations (Jarod Wilson) [1937053] - mt76: mt7615: add missing SPDX tag in mmio.c (Jarod Wilson) [1937053] - mt76: mt7915: add mmio.c (Jarod Wilson) [1937053] - mt76: report Rx timestamp (Jarod Wilson) [1937053] - mt76: mt7921: remove 80+80 MHz support capabilities (Jarod Wilson) [1937053] - mt76: fix potential DMA mapping leak (Jarod Wilson) [1937053] - mt76: mt7921: reduce the data latency during hw scan (Jarod Wilson) [1937053] - mt76: mt7921: fix the insmod hangs (Jarod Wilson) [1937053] - mt76: mt7921: fix kernel crash when the firmware fails to download (Jarod Wilson) [1937053] - mt76: mt7921: fix the dwell time control (Jarod Wilson) [1937053] - mt76: mt7921: fix inappropriate WoW setup with the missing ARP informaiton (Jarod Wilson) [1937053] - mt76: mt7921: introduce MT_WFDMA_DUMMY_CR definition (Jarod Wilson) [1937053] - mt76: mt7915: add wifi subsystem reset (Jarod Wilson) [1937053] - mt76: mt7915: fix mt7915_mcu_add_beacon (Jarod Wilson) [1937053] - mt76: mt7615: fix .add_beacon_offload() (Jarod Wilson) [1937053] - mt76: mt7921: rework mt7921_mcu_debug_msg_event routine (Jarod Wilson) [1937053] - mt76: mt7921: always wake the device in mt7921_remove_interface (Jarod Wilson) [1937053] - mt76: mt7921: fix key set/delete issue (Jarod Wilson) [1937053] - mt76: mt7915: fix txpower init for TSSI off chips (Jarod Wilson) [1937053] - mt76: mt7915: limit firmware log message printk to buffer length (Jarod Wilson) [1937053] - mt76: mt7615: limit firmware log message printk to buffer length (Jarod Wilson) [1937053] - mt76: mt7615: fix chip reset on MT7622 and MT7663e (Jarod Wilson) [1937053] - mt76: mt7915: cleanup mcu tx queue in mt7915_dma_reset() (Jarod Wilson) [1937053] - mt76: mt7915: keep mcu_add_bss_info enabled till interface removal (Jarod Wilson) [1937053] - mt76: mt7615: keep mcu_add_bss_info enabled till interface removal (Jarod Wilson) [1937053] - mt76: mt7622: trigger hif interrupt for system reset (Jarod Wilson) [1937053] - mt76: mt7615: cleanup mcu tx queue in mt7615_dma_reset() (Jarod Wilson) [1937053] - mt76: mt7615: only enable DFS test knobs for mt7615 (Jarod Wilson) [1937053] - mt76: mt7921: properly configure rcpi adding a sta to the fw (Jarod Wilson) [1937053] - mt76: connac: introduce mt76_sta_cmd_info data structure (Jarod Wilson) [1937053] - mt76: mt7921: get rid of mt7921_mac_wtbl_lmac_addr (Jarod Wilson) [1937053] - mt76: mt7915: refresh repeater entry MAC address when setting BSSID (Jarod Wilson) [1937053] - mt76: mt7915: fix key set/delete issue (Jarod Wilson) [1937053] - mt76: mt7921: remove duplicated macros in mcu.h (Jarod Wilson) [1937053] - mt76: mt7921: remove redundant check on type (Jarod Wilson) [1937053] - mt76: mt7921: remove leftovers from dbdc configuration (Jarod Wilson) [1937053] - mt76: mt7921: add wifi reset support (Jarod Wilson) [1937053] - mt76: dma: export mt76_dma_rx_cleanup routine (Jarod Wilson) [1937053] - mt76: dma: introduce mt76_dma_queue_reset routine (Jarod Wilson) [1937053] - mt76: mt7921: introduce __mt7921_start utility routine (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_run_firmware utility routine. (Jarod Wilson) [1937053] - mt76: introduce mcu_reset function pointer in mt76_mcu_ops structure (Jarod Wilson) [1937053] - mt76: mt7921: reduce mcu timeouts for suspend, offload and hif_ctrl msg (Jarod Wilson) [1937053] - mt76: mt7915: fix possible deadlock while mt7915_register_ext_phy() (Jarod Wilson) [1937053] - mt76: mt7615: add missing capabilities for DBDC (Jarod Wilson) [1937053] - mt76: mt7663s: fix the possible device hang in high traffic (Jarod Wilson) [1937053] - mt76: mt7663s: make all of packets 4-bytes aligned in sdio tx aggregation (Jarod Wilson) [1937053] - mt76: mt7663: fix when beacon filter is being applied (Jarod Wilson) [1937053] - mt76: mt7615: check mcu returned values in mt7615_ops (Jarod Wilson) [1937053] - mt76: mt7915: check mcu returned values in mt7915_ops (Jarod Wilson) [1937053] - mt76: mt7915: fix txrate reporting (Jarod Wilson) [1937053] - mt76: mt7915: fix rxrate reporting (Jarod Wilson) [1937053] - mt76: mt76x0u: Add support for TP-Link T2UHP(UN) v1 (Jarod Wilson) [1937053] - mt76: mt7915: fix PHY mode for DBDC (Jarod Wilson) [1937053] - mt76: mt7915: stop ext_phy queue when mac reset happens (Jarod Wilson) [1937053] - mt76: mt7915: fix CSA notification for DBDC (Jarod Wilson) [1937053] - mt76: mt7615: stop ext_phy queue when mac reset happens (Jarod Wilson) [1937053] - mt76: mt7615: fix CSA notification for DBDC (Jarod Wilson) [1937053] - mt76: mt7915: add missing capabilities for DBDC (Jarod Wilson) [1937053] - mt76: mt7921: check mcu returned values in mt7921_start (Jarod Wilson) [1937053] - mt76: mt7921: fix the base of the dynamic remap (Jarod Wilson) [1937053] - mt76: mt7921: fix the base of PCIe interrupt (Jarod Wilson) [1937053] - mt76: mt7921: get rid of mt7921_sta_rc_update routine (Jarod Wilson) [1937053] - mt76: check return value of mt76_txq_send_burst in mt76_txq_schedule_list (Jarod Wilson) [1937053] - mt76: connac: fix kernel warning adding monitor interface (Jarod Wilson) [1937053] - mt76: mt7915: fix mib stats counter reporting to mac80211 (Jarod Wilson) [1937053] - mt76: mt7615: fix mib stats counter reporting to mac80211 (Jarod Wilson) [1937053] - mt76: mt7615: remove hdr->fw_ver check (Jarod Wilson) [1937053] - mt76: mt7615: fix TSF configuration (Jarod Wilson) [1937053] - mt76: mt7921: fix stats register definitions (Jarod Wilson) [1937053] - mt76: mt7921: remove unneeded semicolon (Jarod Wilson) [1937053] - mt76: mt7915: fix aggr len debugfs node (Jarod Wilson) [1937053] - mt76: mt7921: fix aggr length histogram (Jarod Wilson) [1937053] - mt76: mt7615: fix memory leak in mt7615_coredump_work (Jarod Wilson) [1937053] - mt76: mt7615: add support for rx decapsulation offload (Jarod Wilson) [1937053] - mt76: mt7615: add rx checksum offload support (Jarod Wilson) [1937053] - mt76: mt7615: enable hw rx-amsdu de-aggregation (Jarod Wilson) [1937053] - mt76: connac: update sched_scan cmd usage (Jarod Wilson) [1937053] - mt76: mt7921: add flush operation (Jarod Wilson) [1937053] - mt76: mt7921: fixup rx bitrate statistics (Jarod Wilson) [1937053] - mt76: connac: fix up the setting for ht40 mode in mt76_connac_mcu_uni_add_bss (Jarod Wilson) [1937053] - mt76: mt7921: switch to new api for hardware beacon filter (Jarod Wilson) [1937053] - mt76: mt7921: fix memory leak in mt7921_coredump_work (Jarod Wilson) [1937053] - mt76: mt7921: fix suspend/resume sequence (Jarod Wilson) [1937053] - mt76: use PCI_VENDOR_ID_MEDIATEK to avoid open coded (Jarod Wilson) [1937053] - mt76: mt7915: always check return value from mt7915_mcu_alloc_wtbl_req (Jarod Wilson) [1937053] - mt76: connac: always check return value from mt76_connac_mcu_alloc_wtbl_req (Jarod Wilson) [1937053] - mt76: mt76x0: disable GTK offloading (Jarod Wilson) [1937053] - mt76: always use WTBL_MAX_SIZE for tlv allocation (Jarod Wilson) [1937053] - mt76: mt7921: removed unused definitions in mcu.h (Jarod Wilson) [1937053] - mt76: mt7921: remove unnecessary variable (Jarod Wilson) [1937053] - mt76: mt7921: enable random mac addr during scanning (Jarod Wilson) [1937053] - mt76: mt7615: support loading EEPROM for MT7613BE (Jarod Wilson) [1937053] - mt76: mt7915: fix tx skb dma unmap (Jarod Wilson) [1937053] - mt76: mt7615: fix tx skb dma unmap (Jarod Wilson) [1937053] - mt76: mt7615: fix key set/delete issues (Jarod Wilson) [1937053] - mt76: mt7915: add support for rx decapsulation offload (Jarod Wilson) [1937053] - mt76: mt7915: add rx checksum offload support (Jarod Wilson) [1937053] - mt76: mt7915: enable hw rx-amsdu de-aggregation (Jarod Wilson) [1937053] - mt76: add support for 802.3 rx frames (Jarod Wilson) [1937053] - cfg80211: Remove wrong RNR IE validation check (Jarod Wilson) [1937053] - mac80211: bail out if cipher schemes are invalid (Jarod Wilson) [1937053] - mac80211: clear the beacon's CRC after channel switch (Jarod Wilson) [1937053] - mac80211: Set priority and queue mapping for injected frames (Jarod Wilson) [1937053] - mac80211: Allow concurrent monitor iface and ethernet rx decap (Jarod Wilson) [1937053] - nl80211: Add interface to indicate TDLS peer's HE capability (Jarod Wilson) [1937053] - cfg80211: allow specifying a reason for hw_rfkill (Jarod Wilson) [1937053] - nl80211: better document CMD_ROAM behavior (Jarod Wilson) [1937053] - mac80211: set sk_pacing_shift for 802.3 txpath (Jarod Wilson) [1937053] - mac80211: don't apply flow control on management frames (Jarod Wilson) [1937053] - nl80211: Add missing line in nl80211_fils_discovery_policy (Jarod Wilson) [1937053] - mac80211: remove redundant assignment of variable result (Jarod Wilson) [1937053] - mac80211: minstrel_ht: remove unused variable 'mg' in minstrel_ht_next_jump_rate() (Jarod Wilson) [1937053] - cfg80211: regulatory: use DEFINE_SPINLOCK() for spinlock (Jarod Wilson) [1937053] - mac80211_hwsim: use DEFINE_SPINLOCK() for spinlock (Jarod Wilson) [1937053] - rfkill: use DEFINE_SPINLOCK() for spinlock (Jarod Wilson) [1937053] - mt7601u: enable TDLS support (Jarod Wilson) [1937053] - mt7601u: fix always true expression (Jarod Wilson) [1937053] - rtw88: Fix an error code in rtw_debugfs_set_rsvd_page() (Jarod Wilson) [1937053] - rtw88: coex: fix A2DP stutters while WL busy + WL scan (Jarod Wilson) [1937053] - rtw88: 8822c: add LC calibration for RTL8822C (Jarod Wilson) [1937053] - rtw88: 8822c: update tx power limit table to RF v40.1 (Jarod Wilson) [1937053] - rtw88: fix DIG min setting (Jarod Wilson) [1937053] - rtw88: add flush hci support (Jarod Wilson) [1937053] - rtw88: 8822c: support FW crash dump when FW crash (Jarod Wilson) [1937053] - rtw88: remove unnecessary variable (Jarod Wilson) [1937053] - rtw88: coex: add power off setting (Jarod Wilson) [1937053] - ath11k: Add support for STA to handle beacon miss (Jarod Wilson) [1937053] - ath11k: Update signal filled flag during sta_statistics drv op (Jarod Wilson) [1937053] - ath10k: skip the wait for completion to recovery in shutdown path (Jarod Wilson) [1937053] - ath11k: fix thermal temperature read (Jarod Wilson) [1937053] - ath11k: fix potential wmi_mgmt_tx_queue race condition (Jarod Wilson) [1937053] - ath11k: qmi: cosmetic changes to error messages (Jarod Wilson) [1937053] - ath11k: qmi: add more debug messages (Jarod Wilson) [1937053] - Revert "ath9k: fix ath_tx_process_buffer() potential null ptr dereference" (Jarod Wilson) [1937053] - ath11k: print hardware name and version during initialisation (Jarod Wilson) [1937053] - ath11k: Enable radar detection for 160MHz secondary segment (Jarod Wilson) [1937053] - ath11k: Fix sounding dimension config in HE cap (Jarod Wilson) [1937053] - ath11k: add qcn9074 pci device support (Jarod Wilson) [1937053] - ath11k: add extended interrupt support for QCN9074 (Jarod Wilson) [1937053] - ath11k: add CE interrupt support for QCN9074 (Jarod Wilson) [1937053] - ath11k: add data path support for QCN9074 (Jarod Wilson) [1937053] - ath11k: add hal support for QCN9074 (Jarod Wilson) [1937053] - ath11k: add static window support for register access (Jarod Wilson) [1937053] - ath11k: Add qcn9074 mhi controller config (Jarod Wilson) [1937053] - ath11k: Update memory segment count for qcn9074 (Jarod Wilson) [1937053] - ath11k: qmi: increase the number of fw segments (Jarod Wilson) [1937053] - ath11k: Move qmi service_ins_id to hw_params (Jarod Wilson) [1937053] - ath11k: Refactor ath11k_msi_config (Jarod Wilson) [1937053] - ath11k: debugfs: Fix spelling mistake "Opportunies" -> "Opportunities" (Jarod Wilson) [1937053] - ath9k: fix ath_tx_process_buffer() potential null ptr dereference (Jarod Wilson) [1937053] - nl80211: fix beacon head validation (Jarod Wilson) [1937053] - nl80211: fix potential leak of ACL params (Jarod Wilson) [1937053] - cfg80211: check S1G beacon compat element length (Jarod Wilson) [1937053] - cfg80211: remove WARN_ON() in cfg80211_sme_connect (Jarod Wilson) [1937053] - mac80211: fix time-is-after bug in mlme (Jarod Wilson) [1937053] - mac80211: fix TXQ AC confusion (Jarod Wilson) [1937053] - rfkill: revert back to old userspace API by default (Jarod Wilson) [1937053] - mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN (Jarod Wilson) [1937053] - iwlwifi: mvm: fix beacon protection checks (Jarod Wilson) [1937053] - iwlwifi: mvm: rfi: don't lock mvm->mutex when sending config command (Jarod Wilson) [1937053] - iwlwifi: pcie: add support for So-F devices (Jarod Wilson) [1937053] - iwlwifi: fw: fix notification wait locking (Jarod Wilson) [1937053] - iwlwifi: add support for Qu with AX201 device (Jarod Wilson) [1937053] - iwlwifi: pcie: properly set LTR workarounds on 22000 devices (Jarod Wilson) [1937053] - iwlwifi: fix 11ax disabled bit in the regulatory capability flags (Jarod Wilson) [1937053] - brcmfmac: p2p: Fix recently introduced deadlock issue (Jarod Wilson) [1937053] - mt76: mt7921: fix airtime reporting (Jarod Wilson) [1937053] - iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd() (Jarod Wilson) [1937053] - mt76: mt7615: remove redundant dev_err call in mt7622_wmac_probe() (Jarod Wilson) [1937053] - mt76: Convert to DEFINE_SHOW_ATTRIBUTE (Jarod Wilson) [1937053] - reg.c: Fix a spello (Jarod Wilson) [1937053] - mac80211: cfg.c: A typo fix (Jarod Wilson) [1937053] - wireless: remove never implemented MODULE_SUPPORTED_DEVICE (Jarod Wilson) [1937053] - wireless/nl80211: fix wdev_id may be used uninitialized (Jarod Wilson) [1937053] - nl80211: fix locking for wireless device netns change (Jarod Wilson) [1937053] - iwlwifi: don't call netif_napi_add() with rxq->lock held (was Re: Lockdep warning in iwl_pcie_rx_handle()) (Jarod Wilson) [1937053] - iwlwifi: fix ARCH=i386 compilation warnings (Jarod Wilson) [1937053] - iwlwifi: mvm: add terminate entry for dmi_system_id tables (Jarod Wilson) [1937053] - mt76: mt7915: fix unused 'mode' variable (Jarod Wilson) [1937053] - mt76: dma: do not report truncated frames to mac80211 (Jarod Wilson) [1937053] - mt76: mt7921: remove incorrect error handling (Jarod Wilson) [1937053] - iwlwifi: pcie: fix iwl_so_trans_cfg link error when CONFIG_IWLMVM is disabled (Jarod Wilson) [1937053] - ath11k: fix AP mode for QCA6390 (Jarod Wilson) [1937053] - ath11k: qmi: use pad to format dma_addr_t (Jarod Wilson) [1937053] - iwlwifi: avoid crash on unsupported debug collection (Jarod Wilson) [1937053] - mt76: mt7915: only modify tx buffer list after allocating tx token id (Jarod Wilson) [1937053] - mt76: fix tx skb error handling in mt76_dma_tx_queue_skb (Jarod Wilson) [1937053] - ath9k: fix transmitting to stations in dynamic SMPS mode (Jarod Wilson) [1937053] - redhat: Enable ath11k PCI device support (Jarod Wilson) [1937053] - soc: qcom: Do not depend on ARCH_QCOM for QMI helpers (Jarod Wilson) [1937053] - net: qrtr: Do not depend on ARCH_QCOM (Jarod Wilson) [1937053] - b43: N-PHY: Fix the update of coef for the PHY revision >= 3case (Jarod Wilson) [1937053] - nl80211: add documentation for HT/VHT/HE disable attributes (Jarod Wilson) [1937053] - cfg80211/mac80211: Support disabling HE mode (Jarod Wilson) [1937053] - mac80211: add STBC encoding to ieee80211_parse_tx_radiotap (Jarod Wilson) [1937053] - mac80211: minstrel_ht: remove sample rate switching code for constrained devices (Jarod Wilson) [1937053] - mac80211: minstrel_ht: show sampling rates in debugfs (Jarod Wilson) [1937053] - mac80211: minstrel_ht: significantly redesign the rate probing strategy (Jarod Wilson) [1937053] - mac80211: minstrel_ht: reduce the need to sample slower rates (Jarod Wilson) [1937053] - mac80211: minstrel_ht: update total packets counter in tx status path (Jarod Wilson) [1937053] - mac80211: minstrel_ht: use bitfields to encode rate indexes (Jarod Wilson) [1937053] - cfg80211: initialize reg_rule in __freq_reg_info() (Jarod Wilson) [1937053] - mac80211: fix potential overflow when multiplying to u32 integers (Jarod Wilson) [1937053] - mac80211: enable QoS support for nl80211 ctrl port (Jarod Wilson) [1937053] - cfg80211: remove unused callback (Jarod Wilson) [1937053] - rtw88: 8822c: update RF_B (2/2) parameter tables to v60 (Jarod Wilson) [1937053] - rtw88: 8822c: update RF_B (1/2) parameter tables to v60 (Jarod Wilson) [1937053] - rtw88: 8822c: update RF_A parameter tables to v60 (Jarod Wilson) [1937053] - rtw88: 8822c: update MAC/BB parameter tables to v60 (Jarod Wilson) [1937053] - rtw88: replace tx tasklet with work queue (Jarod Wilson) [1937053] - rtw88: add napi support (Jarod Wilson) [1937053] - rtw88: add rts condition (Jarod Wilson) [1937053] - rtw88: add dynamic rrsr configuration (Jarod Wilson) [1937053] - iwlwifi: remove incorrect comment in pnvm (Jarod Wilson) [1937053] - ath11k: qmi: add debug message for allocated memory segment addresses and sizes (Jarod Wilson) [1937053] - ath11k: pci: remove experimental warning (Jarod Wilson) [1937053] - ath10k: hold RCU lock when calling ieee80211_find_sta_by_ifaddr() (Jarod Wilson) [1937053] - ath10k: change ath10k_offchan_tx_work() peer present msg to a warn (Jarod Wilson) [1937053] - ath9k: fix data bus crash when setting nf_override via debugfs (Jarod Wilson) [1937053] - ath11k: add support to configure spatial reuse parameter set (Jarod Wilson) [1937053] - ath10k: restore tx sk_buff of htt header for SDIO (Jarod Wilson) [1937053] - brcmsmac: Fix the spelling configation to configuration in the file d11.h (Jarod Wilson) [1937053] - iwlwifi: bump FW API to 62 for AX devices (Jarod Wilson) [1937053] - iwlwifi: pnvm: implement reading PNVM from UEFI (Jarod Wilson) [1937053] - iwlwifi: pnvm: move file loading code to a separate function (Jarod Wilson) [1937053] - iwlwifi: pnvm: increment the pointer before checking the TLV (Jarod Wilson) [1937053] - iwlwifi: pcie: define FW_RESET_TIMEOUT for clarity (Jarod Wilson) [1937053] - iwlwifi: pnvm: set the PNVM again if it was already loaded (Jarod Wilson) [1937053] - iwlwifi: mvm: global PM mode does not reset after FW crash (Jarod Wilson) [1937053] - iwlwifi: mvm: reduce the print severity of failing getting NIC temp (Jarod Wilson) [1937053] - iwlwifi: mvm: get NVM later in the mvm_start flow (Jarod Wilson) [1937053] - iwlmvm: set properly NIC_NOT_ACK_ENABLED flag (Jarod Wilson) [1937053] - iwlwifi: remove max_ht_ampdu_exponent config parameter (Jarod Wilson) [1937053] - iwlwifi: remove max_vht_ampdu_exponent config parameter (Jarod Wilson) [1937053] - iwlwifi: mvm: Check ret code for iwl_mvm_load_nvm_to_nic (Jarod Wilson) [1937053] - iwlwifi: mvm: don't check if CSA event is running before removing (Jarod Wilson) [1937053] - iwlwifi: mvm: Support SCAN_CFG_CMD version 5 (Jarod Wilson) [1937053] - iwlwifi: mvm: isolate the get nvm flow (Jarod Wilson) [1937053] - iwlwifi: mvm: simplify iwl_mvm_dbgfs_register (Jarod Wilson) [1937053] - iwlwifi: mvm: register to mac80211 last (Jarod Wilson) [1937053] - iwlwifi: acpi: add support for DSM RFI (Jarod Wilson) [1937053] - iwlwifi: mvm: add RFI-M support (Jarod Wilson) [1937053] - iwlwifi:mvm: Add support for version 2 of the LARI_CONFIG_CHANGE command. (Jarod Wilson) [1937053] - iwlwifi: pcie: don't crash when rx queues aren't allocated in interrupt (Jarod Wilson) [1937053] - iwlwifi: correction of group-id once sending REPLY_ERROR (Jarod Wilson) [1937053] - iwlwifi: pcie: add AX201 and AX211 radio modules for Ma devices (Jarod Wilson) [1937053] - iwlwifi: pcie: add CDB bit to the device configuration parsing (Jarod Wilson) [1937053] - iwlwifi: acpi: don't return valid pointer as an ERR_PTR (Jarod Wilson) [1937053] - iwlwifi: queue: add fake tx time point (Jarod Wilson) [1937053] - iwlwifi: remove flags argument for nic_access (Jarod Wilson) [1937053] - iwlwifi: declare support for triggered SU/MU beamforming feedback (Jarod Wilson) [1937053] - iwlwifi: dbg: add op_mode callback for collecting debug data. (Jarod Wilson) [1937053] - iwlwifi: api: clean up some documentation/bits (Jarod Wilson) [1937053] - iwlwifi: dbg: remove unsupported regions (Jarod Wilson) [1937053] - iwlwifi: pcie: Change Ma device ID (Jarod Wilson) [1937053] - iwlwifi: when HW has rate offload don't look at control field (Jarod Wilson) [1937053] - iwlwifi: pcie: NULLify pointers after free (Jarod Wilson) [1937053] - iwlwifi: mvm: assign SAR table revision to the command later (Jarod Wilson) [1937053] - iwlwifi: mvm: remove useless iwl_mvm_resume_d3() function (Jarod Wilson) [1937053] - iwlwifi: mvm: enhance a print in CSA flows (Jarod Wilson) [1937053] - iwlwifi: mvm: send stored PPAG command instead of local (Jarod Wilson) [1937053] - iwlwifi: mvm: store PPAG enabled/disabled flag properly (Jarod Wilson) [1937053] - iwlwifi: mvm: fix the type we use in the PPAG table validity checks (Jarod Wilson) [1937053] - iwlwifi: acpi: fix PPAG table sizes (Jarod Wilson) [1937053] - iwlwifi: pcie: don't disable interrupts for reg_lock (Jarod Wilson) [1937053] - iwlwifi: pcie: add a few missing entries for So with Hr (Jarod Wilson) [1937053] - iwlwifi: dbg: Mark ucode tlv data as const (Jarod Wilson) [1937053] - iwlwifi: add new cards for So and Qu family (Jarod Wilson) [1937053] - ath11k: fix a locking bug in ath11k_mac_op_start() (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: phy: Simplify bool comparison (Jarod Wilson) [1937053] - rtlwifi: rtl8192se: Simplify bool comparison (Jarod Wilson) [1937053] - brcmfmac: add support for CQM RSSI notifications (Jarod Wilson) [1937053] - ath10k: Add new debug level for sta related logs (Jarod Wilson) [1937053] - ath11k: Update tx descriptor search index properly (Jarod Wilson) [1937053] - ath10k: Fix lockdep assertion warning in ath10k_sta_statistics (Jarod Wilson) [1937053] - ath10k: Fix suspicious RCU usage warning in ath10k_wmi_tlv_parse_peer_stats_info() (Jarod Wilson) [1937053] - wl3501: fix alignment constraints (Jarod Wilson) [1937053] - rt2800usb: add Sweex LW163V2 id's (Jarod Wilson) [1937053] - rt2x00: remove duplicate word and fix typo in comment (Jarod Wilson) [1937053] - mwifiex: Report connected BSS with cfg80211_connect_bss() (Jarod Wilson) [1937053] - rtl8xxxu: remove unused assignment value (Jarod Wilson) [1937053] - atmel: at76c50x: use DEFINE_MUTEX() for mutex lock (Jarod Wilson) [1937053] - brcmsmac: fix alignment constraints (Jarod Wilson) [1937053] - brcmfmac: Add DMI nvram filename quirk for Voyo winpad A15 tablet (Jarod Wilson) [1937053] - brcmfmac: Add DMI nvram filename quirk for Predia Basic tablet (Jarod Wilson) [1937053] - rtw88: 8821c: support RFE type2 wifi NIC (Jarod Wilson) [1937053] - rtw88: 8821c: Correct CCK RSSI (Jarod Wilson) [1937053] - rtw88: coex: 8821c: correct antenna switch function (Jarod Wilson) [1937053] - rtlwifi: rtl8192se: remove redundant initialization of variable rtstatus (Jarod Wilson) [1937053] - iwlwifi: pcie: Disable softirqs during Rx queue init (Jarod Wilson) [1937053] - iwlwifi: bump FW API to 61 for AX devices (Jarod Wilson) [1937053] - iwlwifi: mvm: add Asus to the PPAG approved list (Jarod Wilson) [1937053] - iwlwifi: mvm: add Microsoft to the PPAG approved list (Jarod Wilson) [1937053] - iwlwifi: mvm: add Samsung to the PPAG approved list (Jarod Wilson) [1937053] - iwlwifi: mvm: add HP to the PPAG approved list (Jarod Wilson) [1937053] - iwlwifi: mvm: implement approved list for the PPAG feature (Jarod Wilson) [1937053] - iwlwifi: mvm: set enabled in the PPAG command properly (Jarod Wilson) [1937053] - iwlwifi: mvm: add debugfs entry to trigger a dump as any time-point (Jarod Wilson) [1937053] - iwlwifi: mvm: add tx fail time point (Jarod Wilson) [1937053] - iwlwifi: fwrt: add suspend/resume time point (Jarod Wilson) [1937053] - iwlwifi: mvm: add triggers for MLME events (Jarod Wilson) [1937053] - iwlwifi: mvm: add IML/ROM information for other HW families (Jarod Wilson) [1937053] - iwlwifi: mvm: fix CSA AP side (Jarod Wilson) [1937053] - iwlwifi: mvm: make iwl_mvm_tt_temp_changed() static (Jarod Wilson) [1937053] - iwlwifi: mvm: cancel the scan delayed work when scan is aborted (Jarod Wilson) [1937053] - iwlwifi: pcie: add support for SnJ with Hr1 (Jarod Wilson) [1937053] - iwlwifi: mvm: move early time-point before nvm_init in non-unified (Jarod Wilson) [1937053] - iwlwifi: add support for SnJ with Jf devices (Jarod Wilson) [1937053] - iwlwifi: move SnJ and So rules to the new tables (Jarod Wilson) [1937053] - iwlwifi: mvm: slightly clean up rs_fw_set_supp_rates() (Jarod Wilson) [1937053] - iwlwifi: fw api: make hdr a zero-size array again (Jarod Wilson) [1937053] - iwlwifi: bump FW API to 60 for AX devices (Jarod Wilson) [1937053] - iwlwifi: mvm: advertise BIGTK client support if available (Jarod Wilson) [1937053] - iwlwifi: always allow maximum A-MSDU on newer devices (Jarod Wilson) [1937053] - iwlwifi: mvm: debugfs: check length precisely in inject_packet (Jarod Wilson) [1937053] - iwlwifi: mvm: simplify TX power setting (Jarod Wilson) [1937053] - iwlwifi: tx: move handing sync/async host command to trans (Jarod Wilson) [1937053] - iwlwifi: mvm: add explicit check for non-data frames in get Tx rate (Jarod Wilson) [1937053] - iwlwifi: mvm: debugfs for phy-integration-ver (Jarod Wilson) [1937053] - iwlwifi: parse phy integration string from FW TLV (Jarod Wilson) [1937053] - iwlwifi: mvm: csa: do not abort CSA before disconnect (Jarod Wilson) [1937053] - iwlwifi: mvm: don't send commands during suspend\resume transition (Jarod Wilson) [1937053] - iwlwifi: mvm: don't check system_pm_mode without mutex held (Jarod Wilson) [1937053] - iwlwifi: remove TRANS_PM_OPS (Jarod Wilson) [1937053] - iwlwifi: dbg: dump paged memory from index 1 (Jarod Wilson) [1937053] - iwl-trans: iwlwifi: move sync NMI logic to trans (Jarod Wilson) [1937053] - iwlwifi: pcie: properly implement NAPI (Jarod Wilson) [1937053] - iwlwifi: mvm: add support for new flush queue response (Jarod Wilson) [1937053] - iwlwifi: mvm: handle CCA-EXT delay firmware notification (Jarod Wilson) [1937053] - iwlwifi: mvm: scan: fix scheduled scan restart handling (Jarod Wilson) [1937053] - iwlwifi: mvm: remove debugfs injection limitations (Jarod Wilson) [1937053] - iwlwifi: mvm: check more notification sizes (Jarod Wilson) [1937053] - iwlwifi: mvm: add notification size checks (Jarod Wilson) [1937053] - ath11k: remove h from printk format specifier (Jarod Wilson) [1937053] - ath10k: remove h from printk format specifier (Jarod Wilson) [1937053] - cfg80211: fix netdev registration deadlock (Jarod Wilson) [1937053] - mac80211: fix station rate table updates on assoc (Jarod Wilson) [1937053] - mt76: mt7663: introduce coredump support (Jarod Wilson) [1937053] - mt76: mt7921: add coredump support (Jarod Wilson) [1937053] - mt76: mt7921: enable MSI interrupts (Jarod Wilson) [1937053] - mt76: mt7921: introduce regdomain notifier support (Jarod Wilson) [1937053] - mt76: mt7921: introduce Runtime PM support (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_mcu module for suspend and WoW support (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_mcu module for sched_scan and hw_scan (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_mcu common library (Jarod Wilson) [1937053] - mt76: mt7921: introduce PM support (Jarod Wilson) [1937053] - mt76: mt7921: introduce beacon_loss mcu event (Jarod Wilson) [1937053] - mt76: mt7921: introduce support for hardware beacon filter (Jarod Wilson) [1937053] - mt76: mt7921: introduce 802.11 PS support in sta mode (Jarod Wilson) [1937053] - mt76: mt7921: introduce schedule scan support (Jarod Wilson) [1937053] - mt76: mt7921: add debugfs support (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921e support (Jarod Wilson) [1937053] - mt76: mt7921: add ieee80211_ops (Jarod Wilson) [1937053] - mt76: mt7921: add EEPROM support (Jarod Wilson) [1937053] - mt76: mt7921: add DMA support (Jarod Wilson) [1937053] - mt76: mt7921: add MCU support (Jarod Wilson) [1937053] - mt76: mt7921: add MAC support (Jarod Wilson) [1937053] - wireless: Fix "ordering" comment typos (Jarod Wilson) [1937053] - mt76: mt76_connac: move pm utility routines in mt76_connac_lib module (Jarod Wilson) [1937053] - mt76: mt76_connac: move pm data struct in mt76_connac.h (Jarod Wilson) [1937053] - mt76: mt76_connac: move WoW and suspend code in mt76_connac_mcu module (Jarod Wilson) [1937053] - mt76: mt76_connac: move hw_scan and sched_scan routine in mt76_connac_mcu module (Jarod Wilson) [1937053] - mt76: mt76_connac: create mcu library (Jarod Wilson) [1937053] - mt76: introduce mt76_vif data structure (Jarod Wilson) [1937053] - cfg80211: call cfg80211_destroy_ifaces() with wiphy lock held (Jarod Wilson) [1937053] - wext: call cfg80211_set_encryption() with wiphy lock held (Jarod Wilson) [1937053] - wext: call cfg80211_change_iface() with wiphy lock held (Jarod Wilson) [1937053] - nl80211: call cfg80211_dev_rename() under RTNL (Jarod Wilson) [1937053] - mt76: dma: fix a possible memory leak in mt76_add_fragment() (Jarod Wilson) [1937053] - ath9k: fix build error with LEDS_CLASS=m (Jarod Wilson) [1937053] - ath10k: fix wmi mgmt tx queue full due to race condition (Jarod Wilson) [1937053] - ath10k: pass the ssid info to get the correct bss entity (Jarod Wilson) [1937053] - ath10k: allow dynamic SAR power limits via common API (Jarod Wilson) [1937053] - mac80211: minstrel_ht: fix regression in the max_prob_rate fix (Jarod Wilson) [1937053] - mt76: mt7615: reduce VHT maximum MPDU length (Jarod Wilson) [1937053] - mt76: reduce q->lock hold time (Jarod Wilson) [1937053] - mt76: usb: process URBs with status EPROTO properly (Jarod Wilson) [1937053] - mt76: move vif_mask back from mt76_phy to mt76_dev (Jarod Wilson) [1937053] - mt76: mt7915: make vif index per adapter instead of per band (Jarod Wilson) [1937053] - mt76: mt7915: add support for using a secondary PCIe link for gen1 (Jarod Wilson) [1937053] - mt76: fix crash on tearing down ext phy (Jarod Wilson) [1937053] - mt76: mt7915: bring up the WA event rx queue for band1 (Jarod Wilson) [1937053] - mt76: mt7615: unify init work (Jarod Wilson) [1937053] - mt76: mt7915: support TxBF for DBDC (Jarod Wilson) [1937053] - mt76: mt7915: Remove unneeded semicolon (Jarod Wilson) [1937053] - mt76: mt7615: set mcu country code in mt7615_mcu_set_channel_domain() (Jarod Wilson) [1937053] - mt76: mt7915: fix eeprom DBDC band selection (Jarod Wilson) [1937053] - mt76: mt7915: fix eeprom parsing for DBDC (Jarod Wilson) [1937053] - iwlwifi: provide gso_type to GSO packets (Jarod Wilson) [1937053] - mt76: mt7915: disable RED support in the WA firmware (Jarod Wilson) [1937053] - mt76: mt7915: rework mcu API (Jarod Wilson) [1937053] - mt76: mt7915: do not set DRR group for stations (Jarod Wilson) [1937053] - mt76: mt7915: ensure that init work completes before starting the device (Jarod Wilson) [1937053] - mt76: mt7603: fix ED/CCA monitoring with single-stream devices (Jarod Wilson) [1937053] - mt76: mt7915: add implicit Tx beamforming support (Jarod Wilson) [1937053] - mt76: mt7915: simplify peer's TxBF capability check (Jarod Wilson) [1937053] - mt76: mt7615: mt7915: disable txpower sku when testmode enabled (Jarod Wilson) [1937053] - mt76: mt7915: add support for continuous tx in testmode (Jarod Wilson) [1937053] - mt76: mt7915: rework set state part in testmode (Jarod Wilson) [1937053] - mt76: testmode: add a new state for continuous tx (Jarod Wilson) [1937053] - mt76: mt7915: clean hw queue before starting new testmode tx (Jarod Wilson) [1937053] - mt76: mt7915: calculate new packet length when tx_time is set in testmode (Jarod Wilson) [1937053] - mt76: mt7915: add support for ipg in testmode (Jarod Wilson) [1937053] - mt76: mt7915: split edca update function (Jarod Wilson) [1937053] - mt76: testmode: make tx queued limit adjustable (Jarod Wilson) [1937053] - mt76: testmode: add attributes for ipg related parameters (Jarod Wilson) [1937053] - mt76: testmode: add support to set user-defined spe index (Jarod Wilson) [1937053] - mt76: mt7915: force ldpc for bw larger than 20MHz in testmode (Jarod Wilson) [1937053] - mt76: move chainmask in mt76_phy (Jarod Wilson) [1937053] - mt76: move mac_work in mt76_core module (Jarod Wilson) [1937053] - mt76: mt7615: move testmode data from dev to phy (Jarod Wilson) [1937053] - mt76: mt7915: move testmode data from dev to phy (Jarod Wilson) [1937053] - mt76: testmode: move mtd part to mt76_dev (Jarod Wilson) [1937053] - mt76: testmode: introduce dbdc support (Jarod Wilson) [1937053] - mt76: mt7915: add partial add_bss_info command on testmode init (Jarod Wilson) [1937053] - mt76: mt7915: drop zero-length packet to avoid Tx hang (Jarod Wilson) [1937053] - mt76: mt7915: simplify mt7915_mcu_send_message routine (Jarod Wilson) [1937053] - mt76: mt7915: fix endianness warning in mt7915_mcu_set_radar_th (Jarod Wilson) [1937053] - mt76: mt7915: add support for flash mode (Jarod Wilson) [1937053] - mt76: mt7915: run mt7915_configure_filter holding mt76 mutex (Jarod Wilson) [1937053] - mt76: mt7915: convert comma to semicolon (Jarod Wilson) [1937053] - mt76: mt7615: convert comma to semicolon (Jarod Wilson) [1937053] - mt76: mt7615: reset token when mac_reset happens (Jarod Wilson) [1937053] - mt76: mt7915: reset token when mac_reset happens (Jarod Wilson) [1937053] - mt76: mt7915: fix MT_CIPHER_BIP_CMAC_128 setkey (Jarod Wilson) [1937053] - mt76: mt7615: add vif check in mt7615_update_vif_beacon() (Jarod Wilson) [1937053] - mt76: mt7915: add vif check in mt7915_update_vif_beacon() (Jarod Wilson) [1937053] - ath11k: add ieee80211_unregister_hw to avoid kernel crash caused by NULL pointer (Jarod Wilson) [1937053] - mac80211: pause TX while changing interface type (Jarod Wilson) [1937053] - wext: fix NULL-ptr-dereference with cfg80211's lack of commit() (Jarod Wilson) [1937053] - cfg80211: avoid holding the RTNL when calling the driver (Jarod Wilson) [1937053] - iwl4965: do not process non-QOS frames on txq->sched_retry path (Jarod Wilson) [1937053] - mt7601u: process tx URBs with status EPROTO properly (Jarod Wilson) [1937053] - mt7601u: use ieee80211_rx_list to pass frames to the network stack as a batch (Jarod Wilson) [1937053] - rtw88: 8723de: adjust the LTR setting (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: fix bool comparison in expressions (Jarod Wilson) [1937053] - rtlwifi: rtl8192se: fix bool comparison in expressions (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: fix bool comparison in expressions (Jarod Wilson) [1937053] - rtlwifi: rtl8192c-common: fix bool comparison in expressions (Jarod Wilson) [1937053] - rtlwifi: rtl_pci: fix bool comparison in expressions (Jarod Wilson) [1937053] - mt7601u: fix kernel crash unplugging the device (Jarod Wilson) [1937053] - iwlwifi: queue: bail out on invalid freeing (Jarod Wilson) [1937053] - iwlwifi: mvm: guard against device removal in reprobe (Jarod Wilson) [1937053] - iwlwifi: Fix IWL_SUBDEVICE_NO_160 macro to use the correct bit. (Jarod Wilson) [1937053] - iwlwifi: mvm: clear IN_D3 after wowlan status cmd (Jarod Wilson) [1937053] - iwlwifi: pcie: add rules to match Qu with Hr2 (Jarod Wilson) [1937053] - iwlwifi: mvm: invalidate IDs of internal stations at mvm start (Jarod Wilson) [1937053] - iwlwifi: mvm: fix the return type for DSM functions 1 and 2 (Jarod Wilson) [1937053] - iwlwifi: pcie: reschedule in long-running memory reads (Jarod Wilson) [1937053] - iwlwifi: pcie: use jiffies for memory read spin time limit (Jarod Wilson) [1937053] - iwlwifi: pcie: fix context info memory leak (Jarod Wilson) [1937053] - iwlwifi: pcie: add a NULL check in iwl_pcie_txq_unmap (Jarod Wilson) [1937053] - iwlwifi: pcie: set LTR on more devices (Jarod Wilson) [1937053] - iwlwifi: queue: don't crash if txq->entries is NULL (Jarod Wilson) [1937053] - iwlwifi: fix the NMI flow for old devices (Jarod Wilson) [1937053] - iwlwifi: pnvm: don't try to load after failures (Jarod Wilson) [1937053] - iwlwifi: pnvm: don't skip everything when not reloading (Jarod Wilson) [1937053] - iwlwifi: pcie: avoid potential PNVM leaks (Jarod Wilson) [1937053] - iwlwifi: mvm: take mutex for calling iwl_mvm_get_sync_time() (Jarod Wilson) [1937053] - iwlwifi: mvm: skip power command when unbinding vif during CSA (Jarod Wilson) [1937053] - cfg80211: change netdev registration/unregistration semantics (Jarod Wilson) [1937053] - mac80211: minstrel_ht: fix rounding error in throughput calculation (Jarod Wilson) [1937053] - mac80211: minstrel_ht: increase stats update interval (Jarod Wilson) [1937053] - mac80211: minstrel_ht: fix max probability rate selection (Jarod Wilson) [1937053] - mac80211: minstrel_ht: improve sample rate selection (Jarod Wilson) [1937053] - mac80211: minstrel_ht: improve ampdu length estimation (Jarod Wilson) [1937053] - mac80211: minstrel_ht: remove old ewma based rate average code (Jarod Wilson) [1937053] - mac80211: remove legacy minstrel rate control (Jarod Wilson) [1937053] - mac80211: minstrel_ht: add support for OFDM rates on non-HT clients (Jarod Wilson) [1937053] - mac80211: minstrel_ht: clean up CCK code (Jarod Wilson) [1937053] - mac80211: introduce aql_enable node in debugfs (Jarod Wilson) [1937053] - cfg80211: Add phyrate conversion support for extended MCS in 60GHz band (Jarod Wilson) [1937053] - cfg80211: add VHT rate entries for MCS-10 and MCS-11 (Jarod Wilson) [1937053] - mac80211: reduce peer HE MCS/NSS to own capabilities (Jarod Wilson) [1937053] - mac80211: remove NSS number of 160MHz if not support 160MHz for HE (Jarod Wilson) [1937053] - mac80211: 160MHz with extended NSS BW in CSA (Jarod Wilson) [1937053] - mac80211: add LDPC encoding to ieee80211_parse_tx_radiotap (Jarod Wilson) [1937053] - mac80211: add rx decapsulation offload support (Jarod Wilson) [1937053] - ath10k: remove unused struct ath10k::dev_type (Jarod Wilson) [1937053] - ath11k: remove duplicate function declaration (Jarod Wilson) [1937053] - ath10k: increase rx buffer size to 2048 (Jarod Wilson) [1937053] - ath10k: sanitity check for ep connectivity (Jarod Wilson) [1937053] - mt76: mt7663s: fix rx buffer refcounting (Jarod Wilson) [1937053] - mt7601u: fix rx buffer refcounting (Jarod Wilson) [1937053] - mac80211: check if atf has been disabled in __ieee80211_schedule_txq (Jarod Wilson) [1937053] - mac80211: do not drop tx nulldata packets on encrypted links (Jarod Wilson) [1937053] - mac80211: fix encryption key selection for 802.3 xmit (Jarod Wilson) [1937053] - mac80211: fix fast-rx encryption check (Jarod Wilson) [1937053] - mac80211: fix incorrect strlen of .write in debugfs (Jarod Wilson) [1937053] - cfg80211: fix a kerneldoc markup (Jarod Wilson) [1937053] - brcmfmac: clear EAP/association status bits on linkdown events (Jarod Wilson) [1937053] - brcmfmac: Delete useless kfree code (Jarod Wilson) [1937053] - mt7601u: check the status of device in calibration (Jarod Wilson) [1937053] - mt7601u: process URBs in status EPROTO properly (Jarod Wilson) [1937053] - brcmfmac: support BCM4365E with 43666 ChipCommon chip ID (Jarod Wilson) [1937053] - mwifiex: pcie: Drop bogus __refdata annotation (Jarod Wilson) [1937053] - rtw88: Simplify bool comparison (Jarod Wilson) [1937053] - rtw88: coex: set 4 slot TDMA for BT link and WL busy (Jarod Wilson) [1937053] - rtw88: 8821c: apply CCK PD level which calculates from dynamic mechanism (Jarod Wilson) [1937053] - rtw88: reduce the log level for failure of tx report (Jarod Wilson) [1937053] - rtw88: Delete useless kfree code (Jarod Wilson) [1937053] - iwlwifi: dbg: Don't touch the tlv data (Jarod Wilson) [1937053] - mt76: Fix queue ID variable types after mcu queue split (Jarod Wilson) [1937053] - cfg80211: Save the regulatory domain with a lock (Jarod Wilson) [1937053] - cfg80211/mac80211: fix kernel-doc for SAR APIs (Jarod Wilson) [1937053] - mt76: mt7915: fix MESH ifdef block (Jarod Wilson) [1937053] - mt76: mt76s: fix NULL pointer dereference in mt76s_process_tx_queue (Jarod Wilson) [1937053] - mt76: sdio: remove wake logic in mt76s_process_tx_queue (Jarod Wilson) [1937053] - mt76: usb: remove wake logic in mt76u_status_worker (Jarod Wilson) [1937053] - ath11k: dp: clean up a variable name (Jarod Wilson) [1937053] - ath11k: pci: remove unnecessary mask in ath11k_pci_enable_ltssm() (Jarod Wilson) [1937053] - ath11k: pci: disable ASPM L0sLs before downloading firmware (Jarod Wilson) [1937053] - ath11k: qmi: try to allocate a big block of DMA memory first (Jarod Wilson) [1937053] - rtlwifi: rise completion at the last step of firmware callback (Jarod Wilson) [1937053] - mt76: mt76u: fix NULL pointer dereference in mt76u_status_worker (Jarod Wilson) [1937053] - ath10k: prevent deinitializing NAPI twice (Jarod Wilson) [1937053] - ath9k: Postpone key cache entry deletion for TXQ frames reference it (Jarod Wilson) [1937053] - ath: Modify ath_key_delete() to not need full key entry (Jarod Wilson) [1937053] - ath: Export ath_hw_keysetmac() (Jarod Wilson) [1937053] - ath9k: Clear key cache explicitly on disabling hardware (Jarod Wilson) [1937053] - ath: Use safer key clearing with key cache entries (Jarod Wilson) [1937053] - ath10k: Remove voltage regulator votes during wifi disable (Jarod Wilson) [1937053] - ath10k: Fix error handling in case of CE pipe init failure (Jarod Wilson) [1937053] - ath11k: Fix ath11k_pci_fix_l1ss() (Jarod Wilson) [1937053] - ath11k: Fix error code in ath11k_core_suspend() (Jarod Wilson) [1937053] - ath11k: start vdev if a bss peer is already created (Jarod Wilson) [1937053] - ath11k: fix crash caused by NULL rx_channel (Jarod Wilson) [1937053] - ath11k: add missing null check on allocated skb (Jarod Wilson) [1937053] - ath9k: make relay callbacks const (Jarod Wilson) [1937053] - ath11k: make relay callbacks const (Jarod Wilson) [1937053] - ath10k: make relay callbacks const (Jarod Wilson) [1937053] - ath11k: implement suspend for QCA6390 PCI devices (Jarod Wilson) [1937053] - ath11k: hif: add ce irq enable and disable functions (Jarod Wilson) [1937053] - ath11k: implement WoW enable and wakeup commands (Jarod Wilson) [1937053] - ath11k: set credit_update flag for flow controlled ep only (Jarod Wilson) [1937053] - ath11k: dp: stop rx pktlog before suspend (Jarod Wilson) [1937053] - ath11k: htc: implement suspend handling (Jarod Wilson) [1937053] - ath11k: htc: remove unused struct ath11k_htc_ops (Jarod Wilson) [1937053] - ath11k: pci: read select_window register to ensure write is finished (Jarod Wilson) [1937053] - ath11k: hif: implement suspend and resume functions (Jarod Wilson) [1937053] - ath11k: mhi: hook suspend and resume (Jarod Wilson) [1937053] - ath11k: Fix incorrect tlvs in scan start command (Jarod Wilson) [1937053] - ath11k: pci: disable VDD4BLOW (Jarod Wilson) [1937053] - ath11k: pci: fix L1ss clock unstable problem (Jarod Wilson) [1937053] - ath11k: pci: fix hot reset stability issues (Jarod Wilson) [1937053] - ath11k: put hw to DBS using WMI_PDEV_SET_HW_MODE_CMDID (Jarod Wilson) [1937053] - ath11k: mhi: print a warning if firmware crashed (Jarod Wilson) [1937053] - ath11k: use MHI provided APIs to allocate and free MHI controller (Jarod Wilson) [1937053] - ath10k: add atomic protection for device recovery (Jarod Wilson) [1937053] - ath10k: add option for chip-id based BDF selection (Jarod Wilson) [1937053] - mt76: remove unused variable q (Jarod Wilson) [1937053] - mac80211: add ieee80211_set_sar_specs (Jarod Wilson) [1937053] - nl80211: add common API to configure SAR power limitations (Jarod Wilson) [1937053] - mac80211: fix a mistake check for rx_stats update (Jarod Wilson) [1937053] - mac80211: mlme: save ssid info to ieee80211_bss_conf while assoc (Jarod Wilson) [1937053] - mac80211: Update rate control on channel change (Jarod Wilson) [1937053] - mac80211: don't filter out beacons once we start CSA (Jarod Wilson) [1937053] - mac80211: Fix calculation of minimal channel width (Jarod Wilson) [1937053] - mac80211: ignore country element TX power on 6 GHz (Jarod Wilson) [1937053] - mac80211: use bitfield helpers for BA session action frames (Jarod Wilson) [1937053] - mac80211: support Rx timestamp calculation for all preamble types (Jarod Wilson) [1937053] - mac80211: don't set set TDLS STA bandwidth wider than possible (Jarod Wilson) [1937053] - mac80211: support driver-based disconnect with reconnect hint (Jarod Wilson) [1937053] - cfg80211: support immediate reconnect request hint (Jarod Wilson) [1937053] - mac80211: use struct assignment for he_obss_pd (Jarod Wilson) [1937053] - cfg80211: remove struct ieee80211_he_bss_color (Jarod Wilson) [1937053] - nl80211: validate key indexes for cfg80211_registered_device (Jarod Wilson) [1937053] - cfg80211: include block-tx flag in channel switch started event (Jarod Wilson) [1937053] - mac80211: disallow band-switch during CSA (Jarod Wilson) [1937053] - ieee80211: update reduced neighbor report TBTT info length (Jarod Wilson) [1937053] - cfg80211: Save the regulatory domain when setting custom regulatory (Jarod Wilson) [1937053] - nl80211: always accept scan request with the duration set (Jarod Wilson) [1937053] - cfg80211: Update TSF and TSF BSSID for multi BSS (Jarod Wilson) [1937053] - cfg80211: scan PSC channels in case of scan with wildcard SSID (Jarod Wilson) [1937053] - mac80211: Skip entries with SAE H2E only membership selector (Jarod Wilson) [1937053] - cfg80211: Parse SAE H2E only membership selector (Jarod Wilson) [1937053] - mac80211: support MIC error/replay detected counters driver update (Jarod Wilson) [1937053] - mac80211: he: remove non-bss-conf fields from bss_conf (Jarod Wilson) [1937053] - mac80211: remove trailing semicolon in macro definitions (Jarod Wilson) [1937053] - nl80211: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - mac80211: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - cfg80211: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - cfg80211: fix callback type mismatches in wext-compat (Jarod Wilson) [1937053] - net: wireless: make a const array static, makes object smaller (Jarod Wilson) [1937053] - net: mac80211: use core API for updating TX/RX stats (Jarod Wilson) [1937053] - rfkill: add a reason to the HW rfkill state (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: fix ofdm power compensation (Jarod Wilson) [1937053] - ath9k_htc: adhere to the DONT_REORDER transmit flag (Jarod Wilson) [1937053] - ath11k: mesh: add support for 256 bitmap in blockack frames in 11ax (Jarod Wilson) [1937053] - ath11k: support TXOP duration based RTS threshold (Jarod Wilson) [1937053] - ath11k: fix incorrect wmi param for configuring HE operation (Jarod Wilson) [1937053] - ath11k: unlock on error path in ath11k_mac_op_add_interface() (Jarod Wilson) [1937053] - ath11k: fix rmmod failure if qmi sequence fails (Jarod Wilson) [1937053] - rtw88: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - rt2x00: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - ath11k: pci: add MODULE_FIRMWARE macros (Jarod Wilson) [1937053] - rtw88: reduce polling time of IQ calibration (Jarod Wilson) [1937053] - rtw88: fix multiple definition of rtw_pm_ops (Jarod Wilson) [1937053] - brcmfmac: remove redundant assignment to pointer 'entry' (Jarod Wilson) [1937053] - rtw88: declare hw supports ch 144 (Jarod Wilson) [1937053] - rtw88: coex: fix missing unitialization of variable 'interval' (Jarod Wilson) [1937053] - mwifiex: change license text of Makefile and README from MARVELL to NXP (Jarod Wilson) [1937053] - rtw88: pci: Add prototypes for .probe, .remove and .shutdown (Jarod Wilson) [1937053] - ath9k: remove trailing semicolon in macro definition (Jarod Wilson) [1937053] - ath11k: Ignore resetting peer auth flag in peer assoc cmd (Jarod Wilson) [1937053] - ath11k: add 64bit check before reading msi high addr (Jarod Wilson) [1937053] - ath10k: fix a check patch warning returnNonBoolInBooleanFunction of sdio.c (Jarod Wilson) [1937053] - mac80211: mesh: fix mesh_pathtbl_init() error path (Jarod Wilson) [1937053] - mt76: mt7615: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - mt76: mt7915: fix ht mcs in mt7915_mcu_get_rx_rate() (Jarod Wilson) [1937053] - mt76: attempt to free up more room when filling the tx queue (Jarod Wilson) [1937053] - mt76: mt7915: stop queues when running out of tx tokens (Jarod Wilson) [1937053] - mt76: improve tx queue stop/wake (Jarod Wilson) [1937053] - mt76: mt7915: fix memory leak in mt7915_mcu_get_rx_rate() (Jarod Wilson) [1937053] - mt76: mt7615: fix rdd mcu cmd endianness (Jarod Wilson) [1937053] - mt76: mt7915: fix endian issues (Jarod Wilson) [1937053] - mt76: mt7915: get rid of dbdc debugfs knob (Jarod Wilson) [1937053] - mt76: mt7915: introduce dbdc support (Jarod Wilson) [1937053] - mt76: move hw mac_addr in mt76_phy (Jarod Wilson) [1937053] - mt76: move band allocation in mt76_register_phy (Jarod Wilson) [1937053] - mt76: rely on mt76_phy in mt76_init_sband_2g and mt76_init_sband_5g (Jarod Wilson) [1937053] - mt76: move band capabilities in mt76_phy (Jarod Wilson) [1937053] - mt76: move tx hw data queues in mt76_phy (Jarod Wilson) [1937053] - mt76: move mcu queues to mt76_dev q_mcu array (Jarod Wilson) [1937053] - mt76: rely on mt76_queue in tx_queue_skb_raw signature (Jarod Wilson) [1937053] - mt76: introduce mt76_init_mcu_queue utility routine (Jarod Wilson) [1937053] - mt76: rely on mt76_queue in tx_queue_skb signature (Jarod Wilson) [1937053] - mt76: dma: rely on mt76_queue in mt76_dma_tx_cleanup signature (Jarod Wilson) [1937053] - mt76: mt7663s: rely on mt76_queue in mt7663s_tx_run_queue signature (Jarod Wilson) [1937053] - mt76: sdio: rely on mt76_queue in mt76s_process_tx_queue signature (Jarod Wilson) [1937053] - mt76: sdio: introduce mt76s_alloc_tx_queue (Jarod Wilson) [1937053] - mt76: move mt76_init_tx_queue in common code (Jarod Wilson) [1937053] - mt76: mt7915: rely on eeprom definitions (Jarod Wilson) [1937053] - mt76: mt7615: refactor usb/sdio rate code (Jarod Wilson) [1937053] - mt76: mt7615: support 16 interfaces (Jarod Wilson) [1937053] - mt76: mt7915: remove unused mt7915_mcu_bss_sync_tlv() (Jarod Wilson) [1937053] - mt76: mt7915: use BIT_ULL for omac_idx (Jarod Wilson) [1937053] - mt76: mt7915: make mt7915_eeprom_read static (Jarod Wilson) [1937053] - mt76: mt7915: add support to set tx frequency offset in testmode (Jarod Wilson) [1937053] - mt76: mt7915: add support to set txpower in testmode (Jarod Wilson) [1937053] - mt76: mt7915: implement testmode rx support (Jarod Wilson) [1937053] - mt76: mt7915: implement testmode tx support (Jarod Wilson) [1937053] - mt76: testmode: add support for HE rate modes (Jarod Wilson) [1937053] - mt76: mt7915: fix tx rate related fields in tx descriptor (Jarod Wilson) [1937053] - mt76: testmode: add support for LTF and GI combinations for HE mode (Jarod Wilson) [1937053] - mt76: testmode: add tx_rate_stbc parameter (Jarod Wilson) [1937053] - mt76: testmode: add snr attribute in rx statistics (Jarod Wilson) [1937053] - mt76: testmode: switch ib and wb rssi to array type for per-antenna report (Jarod Wilson) [1937053] - mt76: mt76u: use dedicated thread for status work (Jarod Wilson) [1937053] - mt76: mt76u: rely on woker APIs for rx work (Jarod Wilson) [1937053] - mt76: mt7615: run key configuration in mt7615_set_key for usb/sdio devices (Jarod Wilson) [1937053] - mt76: fix tkip configuration for mt7615/7663 devices (Jarod Wilson) [1937053] - mt76: switch to wep sw crypto for mt7615/mt7915 (Jarod Wilson) [1937053] - mt76: mt7663s: introduce WoW support via GPIO (Jarod Wilson) [1937053] - mt76: move mt76_mcu_send_firmware in common module (Jarod Wilson) [1937053] - mt76: mt7603: add additional EEPROM chip ID (Jarod Wilson) [1937053] - mt76: fix memory leak if device probing fails (Jarod Wilson) [1937053] - mt76: mt7915: fix sparse warning cast from restricted __le16 (Jarod Wilson) [1937053] - mt76: dma: fix possible deadlock running mt76_dma_cleanup (Jarod Wilson) [1937053] - mt76: set fops_tx_stats.owner to THIS_MODULE (Jarod Wilson) [1937053] - mt76: mt7915: rename mt7915_mcu_get_rate_info to mt7915_mcu_get_tx_rate (Jarod Wilson) [1937053] - mt76: mt7915: update ppe threshold (Jarod Wilson) [1937053] - mt76: mt7915: set fops_sta_stats.owner to THIS_MODULE (Jarod Wilson) [1937053] - mt76: sdio: get rid of sched.lock (Jarod Wilson) [1937053] - mt76: mt7663s: fix a possible ple quota underflow (Jarod Wilson) [1937053] - mt76: mt7663s: get rid of mt7663s_sta_add (Jarod Wilson) [1937053] - mt76: mt7615: introduce quota debugfs node for mt7663s (Jarod Wilson) [1937053] - mt76: mt7615: enable beacon filtering by default for offload fw (Jarod Wilson) [1937053] - mt76: add back the SUPPORTS_REORDERING_BUFFER flag (Jarod Wilson) [1937053] - mt76: mt7915: query station rx rate from firmware (Jarod Wilson) [1937053] - mt76: mt7915: move eeprom parsing out of mt7915_mcu_parse_response (Jarod Wilson) [1937053] - mt76: implement functions to get the response skb for MCU calls (Jarod Wilson) [1937053] - mt76: mt7603: switch to .mcu_skb_send_msg (Jarod Wilson) [1937053] - mt76: make mcu_ops->mcu_send_msg optional (Jarod Wilson) [1937053] - mt76: move waiting and locking out of mcu_ops->mcu_skb_send_msg (Jarod Wilson) [1937053] - mt76: move mcu timeout handling to .mcu_parse_response (Jarod Wilson) [1937053] - mt76: implement .mcu_parse_response in struct mt76_mcu_ops (Jarod Wilson) [1937053] - mt76: rename __mt76_mcu_skb_send_msg to mt76_mcu_skb_send_msg (Jarod Wilson) [1937053] - mt76: rename __mt76_mcu_send_msg to mt76_mcu_send_msg (Jarod Wilson) [1937053] - mt76: mt7915: disable OFDMA/MU-MIMO UL (Jarod Wilson) [1937053] - mt76: mt7915: fix DRR sta bss group index (Jarod Wilson) [1937053] - mt76: mt7915: use napi_consume_skb to bulk-free tx skbs (Jarod Wilson) [1937053] - mt76: mt7915: fix processing txfree events (Jarod Wilson) [1937053] - mt76: mt7915: support 32 station interfaces (Jarod Wilson) [1937053] - mt76: do not set NEEDS_UNIQUE_STA_ADDR for 7615 and 7915 (Jarod Wilson) [1937053] - mt76: mt7615: add debugfs knob for setting extended local mac addresses (Jarod Wilson) [1937053] - mt76: use ieee80211_rx_list to pass frames to the network stack as a batch (Jarod Wilson) [1937053] - mt76: mt7915: add encap offload for 4-address mode stations (Jarod Wilson) [1937053] - mt76: mt7915: add 802.11 encap offload support (Jarod Wilson) [1937053] - mt76: sdio: convert {status/net}_work to mt76_worker (Jarod Wilson) [1937053] - mt76: mt7663s: disable interrupt during txrx_worker processing (Jarod Wilson) [1937053] - mt76: mt7663s: convert txrx_work to mt76_worker (Jarod Wilson) [1937053] - mt76: mt7663s: move tx/rx processing in the same txrx workqueue (Jarod Wilson) [1937053] - mt76: mt7615: retry if mt7615_mcu_init returns -EAGAIN (Jarod Wilson) [1937053] - mt76: mt7915: fix VHT LDPC capability (Jarod Wilson) [1937053] - mt76: mt7915: measure channel noise and report it via survey (Jarod Wilson) [1937053] - mac80211: set SDATA_STATE_RUNNING for monitor interfaces (Jarod Wilson) [1937053] - cfg80211: initialize rekey_data (Jarod Wilson) [1937053] - mac80211: fix return value of ieee80211_chandef_he_6ghz_oper (Jarod Wilson) [1937053] - rtw88: debug: Fix uninitialized memory in debugfs code (Jarod Wilson) [1937053] - brcmfmac: expose firmware config files through modinfo (Jarod Wilson) [1937053] - rtw88: coex: add feature to enhance HID coexistence performance (Jarod Wilson) [1937053] - rtw88: coex: upgrade coexistence A2DP mechanism (Jarod Wilson) [1937053] - rtw88: coex: add action for coexistence in hardware initial (Jarod Wilson) [1937053] - rtw88: coex: add function to avoid cck lock (Jarod Wilson) [1937053] - rtw88: coex: change the coexistence mechanism for WLAN connected (Jarod Wilson) [1937053] - rtw88: coex: change the coexistence mechanism for HID (Jarod Wilson) [1937053] - rtw88: coex: update AFH information while in free-run mode (Jarod Wilson) [1937053] - rtw88: coex: update the mechanism for A2DP + PAN (Jarod Wilson) [1937053] - rtw88: coex: add debug message (Jarod Wilson) [1937053] - rtw88: coex: run coexistence when WLAN entering/leaving LPS (Jarod Wilson) [1937053] - Revert "rtl8xxxu: Add Buffalo WI-U3-866D to list of supported devices" (Jarod Wilson) [1937053] - mt76: usb: fix crash on device removal (Jarod Wilson) [1937053] - ath11k: dp_rx: fix monitor status dma unmap direction (Jarod Wilson) [1937053] - ath10k: Constify static qmi structs (Jarod Wilson) [1937053] - ath10k: Release some resources in an error handling path (Jarod Wilson) [1937053] - ath10k: Fix an error handling path (Jarod Wilson) [1937053] - ath10k: Fix the parsing error in service available event (Jarod Wilson) [1937053] - ath11k: Fix an error handling path (Jarod Wilson) [1937053] - ath11k: Build check size of ath11k_skb_cb (Jarod Wilson) [1937053] - ath11k: Reset ath11k_skb_cb before setting new flags (Jarod Wilson) [1937053] - ath11k: Don't cast ath11k_skb_cb to ieee80211_tx_info.control (Jarod Wilson) [1937053] - ath11k: remove "ath11k_mac_get_ar_vdev_stop_status" references (Jarod Wilson) [1937053] - ath11k: peer delete synchronization with firmware (Jarod Wilson) [1937053] - ath11k: vdev delete synchronization with firmware (Jarod Wilson) [1937053] - mwifiex: Remove duplicated REG_PORT definition (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - rtlwifi: rtl8192ce: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - mwifiex: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - brcmsmac: ampdu: Check BA window size before checking block ack (Jarod Wilson) [1937053] - brcmfmac: Fix incorrect type in assignment (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: remove the useless value assignment (Jarod Wilson) [1937053] - brcmfmac: fix error return code in brcmf_cfg80211_connect() (Jarod Wilson) [1937053] - rtw88: wow: print key type when failing (Jarod Wilson) [1937053] - rtw88: coex: change the decode method from firmware (Jarod Wilson) [1937053] - rtw88: coex: remove unnecessary WLAN slot extend (Jarod Wilson) [1937053] - rtw88: coex: remove write scan bit to scoreboard in scan and connect notify (Jarod Wilson) [1937053] - rtw88: coex: fix BT performance drop during initial/power-on step (Jarod Wilson) [1937053] - rtw88: coex: Change antenna setting to enhance free-run performance (Jarod Wilson) [1937053] - rtw88: coex: update the TDMA parameter when leave LPS (Jarod Wilson) [1937053] - rtw88: coex: add the mechanism for RF4CE (Jarod Wilson) [1937053] - rtw88: coex: Add force flag for coexistence table function (Jarod Wilson) [1937053] - rtw88: coex: add write scoreboard action when WLAN in critical procedure (Jarod Wilson) [1937053] - rtw88: coex: remove unnecessary feature/function (Jarod Wilson) [1937053] - rtw88: coex: update TDMA settings for different beacon interval (Jarod Wilson) [1937053] - rtw88: add CCK_PD debug log (Jarod Wilson) [1937053] - rtw88: 8723d: add cck pd seetings (Jarod Wilson) [1937053] - ath11k: Fix the rx_filter flag setting for peer rssi stats (Jarod Wilson) [1937053] - ath10k: add target IRAM recovery feature support (Jarod Wilson) [1937053] - ath11k: Fix beamformee STS in HE cap (Jarod Wilson) [1937053] - ath11k: add processor_id based ring_selector logic (Jarod Wilson) [1937053] - mac80211: free sta in sta_info_insert_finish() on errors (Jarod Wilson) [1937053] - mac80211: minstrel: fix tx status processing corner case (Jarod Wilson) [1937053] - mac80211: minstrel: remove deferred sampling code (Jarod Wilson) [1937053] - mac80211: fix memory leak on filtered powersave frames (Jarod Wilson) [1937053] - rfkill: Fix use-after-free in rfkill_resume() (Jarod Wilson) [1937053] - nl80211: fix kernel-doc warning in the new SAE attribute (Jarod Wilson) [1937053] - cfg80211: remove WDS code (Jarod Wilson) [1937053] - mac80211: remove WDS-related code (Jarod Wilson) [1937053] - rt2x00: remove WDS code (Jarod Wilson) [1937053] - b43: remove WDS code (Jarod Wilson) [1937053] - ath9k: remove WDS code (Jarod Wilson) [1937053] - rtw88: coex: simplify the setting and condition about WLAN TX limitation (Jarod Wilson) [1937053] - rtw88: coex: add debug message (Jarod Wilson) [1937053] - rtw88: coex: update WLAN 5G AFH parameter for 8822b (Jarod Wilson) [1937053] - rtw88: coex: change the parameter for A2DP when WLAN connecting (Jarod Wilson) [1937053] - rtw88: coex: modified for BT info notify (Jarod Wilson) [1937053] - rtw88: coex: add separate flag for manual control (Jarod Wilson) [1937053] - rtw88: coex: Modify the timing of set_ant_path/set_rf_para (Jarod Wilson) [1937053] - rtw88: coex: coding style adjustment (Jarod Wilson) [1937053] - rtw88: coex: reduce magic number (Jarod Wilson) [1937053] - rtw88: coex: update coex parameter to improve A2DP quality (Jarod Wilson) [1937053] - rtw88: coex: fixed some wrong register definition and setting (Jarod Wilson) [1937053] - rtlwifi: fix spelling typo of workaround (Jarod Wilson) [1937053] - mwifiex: pcie: skip cancel_work_sync() on reset failure path (Jarod Wilson) [1937053] - mwifiex: update comment for shutdown_sw()/reinit_sw() to reflect current state (Jarod Wilson) [1937053] - mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure (Jarod Wilson) [1937053] - ath11k: Handle errors if peer creation fails (Jarod Wilson) [1937053] - ath9k: work around false-positive gcc warning (Jarod Wilson) [1937053] - wireless: remove CONFIG_WIRELESS_WDS (Jarod Wilson) [1937053] - brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free} (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: Place braces around empty if() body (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: phy: Remove a couple of unused variables (Jarod Wilson) [1937053] - rtlwifi: rtl8723be: Remove set but unused variable 'cck_highpwr' (Jarod Wilson) [1937053] - rtlwifi: halbtc8821a2ant: Remove a bunch of unused variables (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: Remove set but unused variable 'reg_ea4' (Jarod Wilson) [1937053] - rtlwifi: rtl8723be: Remove set but unused variable 'lc_cal' (Jarod Wilson) [1937053] - rtlwifi: halbtc8821a1ant: Remove set but unused variable 'wifi_rssi_state' (Jarod Wilson) [1937053] - rtlwifi: phy: Remove set but unused variable 'bbvalue' (Jarod Wilson) [1937053] - rtlwifi: halbtc8723b2ant: Remove a bunch of set but unused variables (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: trx: Demote clear abuse of kernel-doc format (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: mac: Fix some missing/ill-documented function parameters (Jarod Wilson) [1937053] - rtw88: rtw8822c: Remove unused variable 'corr_val' (Jarod Wilson) [1937053] - mwifiex: pcie: Remove a couple of unchecked 'ret's (Jarod Wilson) [1937053] - wl1251: cmd: Rename 'len' to 'buf_len' in the documentation (Jarod Wilson) [1937053] - brcmfmac: fweh: Add missing description for 'gfp' (Jarod Wilson) [1937053] - brcmfmac: pcie: Provide description for missing function parameter 'devinfo' (Jarod Wilson) [1937053] - brcmfmac: bcmsdh: Fix description for function parameter 'pktlist' (Jarod Wilson) [1937053] - rt2x00: save survey for every channel visited (Jarod Wilson) [1937053] - rtlwifi: Remove in_interrupt() usage in halbtc_send_bt_mp_operation() (Jarod Wilson) [1937053] - rtlwifi: Remove in_interrupt() usage in is_any_client_connect_to_ap(). (Jarod Wilson) [1937053] - rtl8xxxu: Add Buffalo WI-U3-866D to list of supported devices (Jarod Wilson) [1937053] - rtw88: decide lps deep mode from firmware feature. (Jarod Wilson) [1937053] - rtw88: add C2H response for checking firmware leave lps (Jarod Wilson) [1937053] - rtw88: store firmware feature in firmware header (Jarod Wilson) [1937053] - rtw88: sync the power state between driver and firmware (Jarod Wilson) [1937053] - rtw88: coex: separate BLE HID profile from BLE profile (Jarod Wilson) [1937053] - rtlwifi: Fix non-canonical address access issues (Jarod Wilson) [1937053] - brcmfmac: fix SDIO access for big-endian host (Jarod Wilson) [1937053] - rtw88: remove extraneous 'const' qualifier (Jarod Wilson) [1937053] - rtlwifi: fix -Wpointer-sign warning (Jarod Wilson) [1937053] - ath11k: fix ZERO address in probe request (Jarod Wilson) [1937053] - ath9k: dynack: Demote non-compliant function header (Jarod Wilson) [1937053] - ath9k: ar5008_phy: Demote half completed function headers (Jarod Wilson) [1937053] - ath9k: ar9003_2p2_initvals: Remove unused const variables (Jarod Wilson) [1937053] - ath9k: ar9485_initvals: Remove unused const variable 'ar9485_fast_clock_1_1_baseband_postamble' (Jarod Wilson) [1937053] - ath9k: ar9340_initvals: Remove unused const variable 'ar9340Modes_ub124_tx_gain_table_1p0' (Jarod Wilson) [1937053] - ath9k: ar9330_1p1_initvals: Remove unused const variable 'ar9331_common_tx_gain_offset1_1' (Jarod Wilson) [1937053] - ath: dfs_pri_detector: Demote zero/half completed kernel-doc headers (Jarod Wilson) [1937053] - ath: dfs_pattern_detector: Fix some function kernel-doc headers (Jarod Wilson) [1937053] - ath: regd: Provide description for ath_reg_apply_ir_flags's 'reg' param (Jarod Wilson) [1937053] - ath11k: Add new dfs region name for JP (Jarod Wilson) [1937053] - ath11k: fix wmi init configuration (Jarod Wilson) [1937053] - ath11k: Fix the hal descriptor mask (Jarod Wilson) [1937053] - ath11k: Fix single phy hw mode (Jarod Wilson) [1937053] - ath11k: Fix number of rules in filtered ETSI regdomain (Jarod Wilson) [1937053] - ath11k: Remove unused param from wmi_mgmt_params (Jarod Wilson) [1937053] - ath11k: Initialize complete alpha2 for regulatory change (Jarod Wilson) [1937053] - ath11k: cold boot calibration support (Jarod Wilson) [1937053] - ath11k: search DT for qcom,ath11k-calibration-variant (Jarod Wilson) [1937053] - ath11k: Remove unnecessary data sync to cpu on monitor buffer (Jarod Wilson) [1937053] - ath10k: cancel rx worker in hif_stop for SDIO (Jarod Wilson) [1937053] - ath10k: Don't iterate over not-sdata-in-driver interfaces. (Jarod Wilson) [1937053] - ath10k: fix compilation warning (Jarod Wilson) [1937053] - mac80211: assure that certain drivers adhere to DONT_REORDER flag (Jarod Wilson) [1937053] - mac80211: don't overwrite QoS TID of injected frames (Jarod Wilson) [1937053] - mac80211: adhere to Tx control flag that prevents frame reordering (Jarod Wilson) [1937053] - mac80211: add radiotap flag to assure frames are not reordered (Jarod Wilson) [1937053] - mac80211: save HE oper info in BSS config for mesh (Jarod Wilson) [1937053] - cfg80211: add support to configure HE MCS for beacon rate (Jarod Wilson) [1937053] - nl80211: fix beacon tx rate mask validation (Jarod Wilson) [1937053] - cfg80211: Add support to calculate and report 4096-QAM HE rates (Jarod Wilson) [1937053] - cfg80211: Add support to configure SAE PWE value to drivers (Jarod Wilson) [1937053] - ieee80211: Add definition for WFA DPP (Jarod Wilson) [1937053] - mac80211: use semicolons rather than commas to separate statements (Jarod Wilson) [1937053] - ath11k: FILS discovery and unsolicited broadcast probe response support (Jarod Wilson) [1937053] - ath10k: sdio: remove redundant check in for loop (Jarod Wilson) [1937053] - mac80211: add KCOV remote annotations to incoming frame processing (Jarod Wilson) [1937053] - rtw88: fix fw_fifo_addr check (Jarod Wilson) [1937053] - mac80211: don't require VHT elements for HE on 2.4 GHz (Jarod Wilson) [1937053] - cfg80211: regulatory: Fix inconsistent format argument (Jarod Wilson) [1937053] - mac80211: fix kernel-doc markups (Jarod Wilson) [1937053] - mac80211: always wind down STA state (Jarod Wilson) [1937053] - cfg80211: initialize wdev data earlier (Jarod Wilson) [1937053] - mac80211: fix use of skb payload instead of header (Jarod Wilson) [1937053] - mac80211: fix regression where EAPOL frames were sent in plaintext (Jarod Wilson) [1937053] - ath11k: remove repeated words in comments and warnings (Jarod Wilson) [1937053] - ath10k: ath10k_pci_init_irq(): workaround for checkpatch fallthrough warning (Jarod Wilson) [1937053] - ath10k: remove repeated words in comments (Jarod Wilson) [1937053] - nl80211: docs: add a description for s1g_cap parameter (Jarod Wilson) [1937053] - mac80211: use new function dev_fetch_sw_netstats (Jarod Wilson) [1937053] - rtlwifi: rtl8192se: remove duplicated legacy_httxpowerdiff (Jarod Wilson) [1937053] - ath11k: Fix memory leak on error path (Jarod Wilson) [1937053] - mac80211: copy configured beacon tx rate to driver (Jarod Wilson) [1937053] - cfg80211: only allow S1G channels on S1G band (Jarod Wilson) [1937053] - mac80211: initialize last_rate for S1G STAs (Jarod Wilson) [1937053] - mac80211: handle lack of sband->bitrates in rates (Jarod Wilson) [1937053] - mac80211: avoid processing non-S1G elements on S1G band (Jarod Wilson) [1937053] - nl80211: fix non-split wiphy information (Jarod Wilson) [1937053] - nl80211: reduce non-split wiphy dump size (Jarod Wilson) [1937053] - ath11k: remove unnecessary casts to u32 (Jarod Wilson) [1937053] - ath11k: enable idle power save mode (Jarod Wilson) [1937053] - ath11k: start a timer to update HP for CE pipe 4 (Jarod Wilson) [1937053] - ath11k: start a timer to update REO cmd ring (Jarod Wilson) [1937053] - ath11k: start a timer to update TCL HP (Jarod Wilson) [1937053] - ath11k: set WMI pipe credit to 1 for QCA6390 (Jarod Wilson) [1937053] - ath11k: enable shadow register configuration and access (Jarod Wilson) [1937053] - ath11k: read and write registers below unwindowed address (Jarod Wilson) [1937053] - ath11k: debugfs: fix crash during rmmod (Jarod Wilson) [1937053] - ath11k: fix warning caused by lockdep_assert_held (Jarod Wilson) [1937053] - ath11k: mac: remove unused conf_mutex to solve a deadlock (Jarod Wilson) [1937053] - ath11k: pci: fix rmmod crash (Jarod Wilson) [1937053] - ath11k: add packet log support for QCA6390 (Jarod Wilson) [1937053] - ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in idr_alloc (Jarod Wilson) [1937053] - ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in ath11k_dp_htt_get_ppdu_desc (Jarod Wilson) [1937053] - ath11k: change to disable softirqs for ath11k_regd_update to solve deadlock (Jarod Wilson) [1937053] - ath11k: disable monitor mode on QCA6390 (Jarod Wilson) [1937053] - ath11k: pci: check TCSR_SOC_HW_VERSION (Jarod Wilson) [1937053] - ath11k: add interface_modes to hw_params (Jarod Wilson) [1937053] - ath11k: fix AP mode for QCA6390 (Jarod Wilson) [1937053] - ath11k: support loading ELF board files (Jarod Wilson) [1937053] - ath11k: Correctly check errors for calls to debugfs_create_dir() (Jarod Wilson) [1937053] - ath11k: mac: fix parenthesis alignment (Jarod Wilson) [1937053] - rtw88: pci: Power cycle device during shutdown (Jarod Wilson) [1937053] - brcmfmac: Fix warning message after dongle setup failed (Jarod Wilson) [1937053] - brcmfmac: Fix warning when hitting FW crash with flow control feature (Jarod Wilson) [1937053] - net: rtlwifi: Replace in_interrupt() for context detection (Jarod Wilson) [1937053] - net: rtlwifi: Remove in_interrupt() from debug macro (Jarod Wilson) [1937053] - net: rtlwifi: Remove void* casts related to delayed work (Jarod Wilson) [1937053] - net: mwifiex: Use netif_rx_any_context(). (Jarod Wilson) [1937053] - net: iwlwifi: Remove in_interrupt() from tracing macro. (Jarod Wilson) [1937053] - net: ipw2x00,iwlegacy,iwlwifi: Remove in_interrupt() from debug macros (Jarod Wilson) [1937053] - net: brcmfmac: Convey allocation mode as argument (Jarod Wilson) [1937053] - net: brcmfmac: Convey execution context via argument to brcmf_netif_rx() (Jarod Wilson) [1937053] - net: brcmfmac: Replace in_interrupt() (Jarod Wilson) [1937053] - ath11k: Move non-fatal warn logs to dbg level (Jarod Wilson) [1937053] - ath9k: Remove set but not used variable (Jarod Wilson) [1937053] - rtw88: show current regulatory in tx power table (Jarod Wilson) [1937053] - rtw88: add dump fw crash log (Jarod Wilson) [1937053] - rtw88: add dump firmware fifo support (Jarod Wilson) [1937053] - rtw88: handle and recover when firmware crash (Jarod Wilson) [1937053] - rtw88: increse the size of rx buffer size (Jarod Wilson) [1937053] - nl80211: extend support to config spatial reuse parameter set (Jarod Wilson) [1937053] - mac80211: Support not iterating over not-sdata-in-driver ifaces (Jarod Wilson) [1937053] - mac80211: fix some more kernel-doc in mesh (Jarod Wilson) [1937053] - cfg80211: regulatory: remove a bogus initialization (Jarod Wilson) [1937053] - mac80211: fix regression in sta connection monitor (Jarod Wilson) [1937053] - nl80211: include frequency offset in survey info (Jarod Wilson) [1937053] - mac80211: support S1G association (Jarod Wilson) [1937053] - mac80211: receive and process S1G beacons (Jarod Wilson) [1937053] - mac80211: avoid rate init for S1G band (Jarod Wilson) [1937053] - mac80211: handle S1G low rates (Jarod Wilson) [1937053] - mac80211: don't calculate duration for S1G (Jarod Wilson) [1937053] - mac80211: encode listen interval for S1G (Jarod Wilson) [1937053] - cfg80211: handle Association Response from S1G STA (Jarod Wilson) [1937053] - mac80211: convert S1G beacon to scan results (Jarod Wilson) [1937053] - cfg80211: parse S1G Operation element for BSS channel (Jarod Wilson) [1937053] - cfg80211: convert S1G beacon to scan results (Jarod Wilson) [1937053] - mac80211: support S1G STA capabilities (Jarod Wilson) [1937053] - nl80211: support S1G capability overrides in assoc (Jarod Wilson) [1937053] - mac80211: s1g: choose scanning width based on frequency (Jarod Wilson) [1937053] - mac80211: get correct default channel width for S1G (Jarod Wilson) [1937053] - wireless: radiotap: fix some kernel-doc (Jarod Wilson) [1937053] - mac80211: fix some missing kernel-doc (Jarod Wilson) [1937053] - mac80211: Inform AP when returning operating channel (Jarod Wilson) [1937053] - ath11k: fix undefined reference to 'ath11k_debugfs_htt_ext_stats_handler' (Jarod Wilson) [1937053] - mt76: mt7663s: remove max_tx_fragments limitation (Jarod Wilson) [1937053] - mt76: Convert to DEFINE_SHOW_ATTRIBUTE (Jarod Wilson) [1937053] - mt76: mt7915: add offchannel condition in switch channel command (Jarod Wilson) [1937053] - mt76: mt7915: convert to use le16_add_cpu() (Jarod Wilson) [1937053] - mt76: Fix unsigned expressions compared with zero (Jarod Wilson) [1937053] - mt76: mt7915: fix possible memory leak in mt7915_mcu_add_beacon (Jarod Wilson) [1937053] - mt76: mt76x0: Move tables used only by init.c to their own header file (Jarod Wilson) [1937053] - mt76: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - mt76: mt7615: unlock dfs bands (Jarod Wilson) [1937053] - mt76: mt7663: check isr read return value in mt7663s_rx_work (Jarod Wilson) [1937053] - mt76: mt7663s: introduce sdio tx aggregation (Jarod Wilson) [1937053] - mt76: mt7663s: fix possible quota leak in mt7663s_refill_sched_quota (Jarod Wilson) [1937053] - mt76: move pad estimation out of mt76_skb_adjust_pad (Jarod Wilson) [1937053] - mt76: mt7663s: introduce __mt7663s_xmit_queue routine (Jarod Wilson) [1937053] - mt76: mt7663s: split mt7663s_tx_update_sched in mt7663s_tx_{pick,update}_quota (Jarod Wilson) [1937053] - mt76: mt7663s: do not use altx for ctl/mgmt traffic (Jarod Wilson) [1937053] - mt76: mt7622: fix fw hang on mt7622 (Jarod Wilson) [1937053] - mt76: mt7615: fix VHT LDPC capability (Jarod Wilson) [1937053] - mt76: mt7615: Remove set but unused variable 'index' (Jarod Wilson) [1937053] - mt76: remove retry_q from struct mt76_txq and related code (Jarod Wilson) [1937053] - mt76: move txwi handling code to dma.c, since it is mmio specific (Jarod Wilson) [1937053] - mt76: mt7915: fix queue/tid mapping for airtime reporting (Jarod Wilson) [1937053] - mt76: mt7915: simplify mt7915_lmac_mapping (Jarod Wilson) [1937053] - mt76: dma: cache dma map address/len in struct mt76_queue_entry (Jarod Wilson) [1937053] - mt76: mt7915: fix HE BSS info (Jarod Wilson) [1937053] - mt76: convert from tx tasklet to tx worker thread (Jarod Wilson) [1937053] - mt76: add utility functions for deferring work to a kernel thread (Jarod Wilson) [1937053] - mt76: testmode: add a limit for queued tx_frames packets (Jarod Wilson) [1937053] - mt76: mt7615: fix antenna selection for testmode tx_frames (Jarod Wilson) [1937053] - mt76: mt7615: fix MT_ANT_SWITCH_CON register definition (Jarod Wilson) [1937053] - mt76: mt7915: fix unexpected firmware mode (Jarod Wilson) [1937053] - mt76: mt76x02: tune tx ring size (Jarod Wilson) [1937053] - mt76: mt7603: tune tx ring size (Jarod Wilson) [1937053] - mt76: remove struct mt76_sw_queue (Jarod Wilson) [1937053] - mt76: rely on AQL for burst size limits on tx queueing (Jarod Wilson) [1937053] - mt76: remove swq from struct mt76_sw_queue (Jarod Wilson) [1937053] - mt76: remove qid argument to drv->tx_complete_skb (Jarod Wilson) [1937053] - mt76: unify queue tx cleanup code (Jarod Wilson) [1937053] - mt76: sdio: fix use of q->head and q->tail (Jarod Wilson) [1937053] - mt76: usb: fix use of q->head and q->tail (Jarod Wilson) [1937053] - mt76: mt7603: check for single-stream EEPROM configuration (Jarod Wilson) [1937053] - mt76: add memory barrier to DMA queue kick (Jarod Wilson) [1937053] - mt76: mt7915: add support for accessing mapped registers via bus ops (Jarod Wilson) [1937053] - mt76: mt7615: significantly reduce interrupt load (Jarod Wilson) [1937053] - mt76: mt7915: significantly reduce interrupt load (Jarod Wilson) [1937053] - mt76: mt7915: schedule tx tasklet in mt7915_mac_tx_free (Jarod Wilson) [1937053] - mt76: dma: update q->queued immediately on cleanup (Jarod Wilson) [1937053] - mt76: mt7915: optimize mt7915_mac_sta_poll (Jarod Wilson) [1937053] - mt76: mt7615: fix reading airtime statistics (Jarod Wilson) [1937053] - mt76: mt7663u: fix dma header initialization (Jarod Wilson) [1937053] - mt76: fix a possible NULL pointer dereference in mt76_testmode_dump (Jarod Wilson) [1937053] - mt76: mt7615: fix a possible NULL pointer dereference in mt7615_pm_wake_work (Jarod Wilson) [1937053] - mt76: mt7615: fix possible memory leak in mt7615_tm_set_tx_power (Jarod Wilson) [1937053] - mt76: mt7663s: fix unable to handle kernel paging request (Jarod Wilson) [1937053] - mt76: mt7663s: fix resume failure (Jarod Wilson) [1937053] - mt76: mt7663s: use NULL instead of 0 in sdio code (Jarod Wilson) [1937053] - mt76: mt7615: release mutex in mt7615_reset_test_set (Jarod Wilson) [1937053] - mt76: mt7915: add Tx A-MSDU offloading support (Jarod Wilson) [1937053] - mt76: mt7915: add missing flags in WMM parameter settings (Jarod Wilson) [1937053] - mt76: mt7915: simplify aggregation session check (Jarod Wilson) [1937053] - mt76: mt7615: remove mtxq->agg_ssn assignment (Jarod Wilson) [1937053] - mt76: move mt76_check_agg_ssn to driver tx_prepare calls (Jarod Wilson) [1937053] - mt76: mt7915: enable offloading of sequence number assignment (Jarod Wilson) [1937053] - mt76: mt7915: increase tx retry count (Jarod Wilson) [1937053] - mt76: mt7915: clean up station stats polling and rate control update (Jarod Wilson) [1937053] - mt76: mt7915: do not do any work in napi poll after calling napi_complete_done() (Jarod Wilson) [1937053] - mt76: mt7615: do not do any work in napi poll after calling napi_complete_done() (Jarod Wilson) [1937053] - mt76: mt76x02: clean up and fix interrupt masking in the irq handler (Jarod Wilson) [1937053] - mt76: mt7615: only clear unmasked interrupts in irq tasklet (Jarod Wilson) [1937053] - mt76: mt7915: clean up and fix interrupt masking in the irq handler (Jarod Wilson) [1937053] - mt76: set interrupt mask register to 0 before requesting irq (Jarod Wilson) [1937053] - mt76: fix double DMA unmap of the first buffer on 7615/7915 (Jarod Wilson) [1937053] - mt76: mt7915: fix crash on tx rate report for invalid stations (Jarod Wilson) [1937053] - mt76: mt7915: enable U-APSD on AP side (Jarod Wilson) [1937053] - mt76: mt76s: get rid of unused variable (Jarod Wilson) [1937053] - mt76: mt76s: move tx/rx processing in 2 separate works (Jarod Wilson) [1937053] - mt76: mt76s: move status processing in txrx wq (Jarod Wilson) [1937053] - mt76: mt7663s: move rx processing in txrx wq (Jarod Wilson) [1937053] - mt76: mt76s: move tx processing in a dedicated wq (Jarod Wilson) [1937053] - mt76: mt76s: fix oom in mt76s_tx_queue_skb_raw (Jarod Wilson) [1937053] - mt76: mt7615: reschedule runtime-pm receiving a tx interrupt (Jarod Wilson) [1937053] - mt76: do not inject packets if MT76_STATE_PM is set (Jarod Wilson) [1937053] - mt76: mt7615: hold mt76 lock queueing wd in mt7615_queue_key_update (Jarod Wilson) [1937053] - mt76: mt7663s: move drv_own/fw_own in mt7615_mcu_ops (Jarod Wilson) [1937053] - mt76: mt7615: move drv_own/fw_own in mt7615_mcu_ops (Jarod Wilson) [1937053] - mt76: mt7615: register ext_phy if DBDC is detected (Jarod Wilson) [1937053] - brcmfmac: check return value of driver_for_each_device() (Jarod Wilson) [1937053] - ath11k: Remove unused function ath11k_htc_restore_tx_skb() (Jarod Wilson) [1937053] - ath11k: remove redundant num_keep_alive_pattern assignment (Jarod Wilson) [1937053] - ath11k: wmi: remove redundant configuration values from init (Jarod Wilson) [1937053] - ath11k: Add support spectral scan for IPQ6018 (Jarod Wilson) [1937053] - ath11k: debugfs: move some function declarations to correct header files (Jarod Wilson) [1937053] - ath11k: rename debug_htt_stats.[c|h] to debugfs_htt_stats.[c|h] (Jarod Wilson) [1937053] - ath11k: debugfs: use ath11k_debugfs_ prefix (Jarod Wilson) [1937053] - ath11k: refactor debugfs code into debugfs.c (Jarod Wilson) [1937053] - ath10k: Use bdf calibration variant for snoc targets (Jarod Wilson) [1937053] - rtlwifi: rtl8723be: use true,false for bool variable large_cfo_hit (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: use true,false for bool variable large_cfo_hit (Jarod Wilson) [1937053] - rtlwifi: rtl8192ee: use true,false for bool variable large_cfo_hit (Jarod Wilson) [1937053] - rtlwifi: Use ffs in _phy_calculate_bit_shift (Jarod Wilson) [1937053] - mt7601u: Convert to DEFINE_SHOW_ATTRIBUTE (Jarod Wilson) [1937053] - ath11k: Remove rproc references from common core layer (Jarod Wilson) [1937053] - ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs() (Jarod Wilson) [1937053] - rtlwifi: rtl8723be: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192ce: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: fix comparison to bool warning in phy.c (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: fix comparison to bool warning in mac.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192c: fix comparison to bool warning in phy_common.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192ee: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - mac80211: fix some encapsulation offload kernel-doc (Jarod Wilson) [1937053] - cfg80211: add missing kernel-doc for S1G band capabilities (Jarod Wilson) [1937053] - mac80211: Unsolicited broadcast probe response support (Jarod Wilson) [1937053] - nl80211: Unsolicited broadcast probe response support (Jarod Wilson) [1937053] - mac80211: Add FILS discovery support (Jarod Wilson) [1937053] - nl80211: Add FILS discovery support (Jarod Wilson) [1937053] - mac80211: allow bigger A-MSDU sizes in VHT, even if HT is limited (Jarod Wilson) [1937053] - nl80211: support setting S1G channels (Jarod Wilson) [1937053] - nl80211: correctly validate S1G beacon head (Jarod Wilson) [1937053] - cfg80211: regulatory: handle S1G channels (Jarod Wilson) [1937053] - nl80211: advertise supported channel width in S1G (Jarod Wilson) [1937053] - ieee80211: redefine S1G bits with GENMASK (Jarod Wilson) [1937053] - mac80211: reorganize code to remove a forward declaration (Jarod Wilson) [1937053] - mac80211: extend ieee80211_tx_status_ext to support bulk free (Jarod Wilson) [1937053] - mac80211: support using ieee80211_tx_status_ext to free skbs without status info (Jarod Wilson) [1937053] - mac80211: unify 802.3 (offload) and 802.11 tx status codepath (Jarod Wilson) [1937053] - mac80211: optimize station connection monitor (Jarod Wilson) [1937053] - mac80211: notify the driver when a sta uses 4-address mode (Jarod Wilson) [1937053] - mac80211: swap NEED_TXPROCESSING and HW_80211_ENCAP tx flags (Jarod Wilson) [1937053] - mac80211: remove tx status call to ieee80211_sta_register_airtime (Jarod Wilson) [1937053] - mac80211: reduce duplication in tx status functions (Jarod Wilson) [1937053] - mac80211: rework tx encapsulation offload API (Jarod Wilson) [1937053] - mac80211: set info->control.hw_key for encap offload packets (Jarod Wilson) [1937053] - mac80211: skip encap offload for tx multicast/control packets (Jarod Wilson) [1937053] - mac80211: check and refresh aggregation session in encap offload tx (Jarod Wilson) [1937053] - mac80211: add missing queue/hash initialization to 802.3 xmit (Jarod Wilson) [1937053] - cfg80211: add more comments for ap_isolate in bss_parameters (Jarod Wilson) [1937053] - lib80211: Remove unused macro DRV_NAME (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: fix comparison pointer to bool warning in phy.c (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: fix comparison pointer to bool warning in trx.c (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: fix comparison pointer to bool warning in rf.c (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: fix comparison pointer to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: fix comparison pointer to bool warning in trx.c (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: fix comparison pointer to bool warning in phy.c (Jarod Wilson) [1937053] - rtw88: rtw8822c: eliminate code duplication, use native swap() function (Jarod Wilson) [1937053] - brcmsmac: main: Eliminate empty brcms_c_down_del_timer() (Jarod Wilson) [1937053] - brcmsmac: phy_lcn: Remove unused variable 'lcnphy_rx_iqcomp_table_rev0' (Jarod Wilson) [1937053] - brcmsmac: phytbl_lcn: Remove unused array 'dot11lcn_gain_tbl_rev1' (Jarod Wilson) [1937053] - brcmfmac: support SAE authentication offload in AP mode (Jarod Wilson) [1937053] - brcmfmac: support 4-way handshake offloading for WPA/WPA2-PSK in AP mode (Jarod Wilson) [1937053] - ath10k: Remove unused macro ATH10K_ROC_TIMEOUT_HZ (Jarod Wilson) [1937053] - ath11k: Remove unused inline function htt_htt_stats_debug_dump() (Jarod Wilson) [1937053] - ath11k: fix link error when CONFIG_REMOTEPROC is disabled (Jarod Wilson) [1937053] - ath11k: remove calling ath11k_init_hw_params() second time (Jarod Wilson) [1937053] - ath11k: add raw mode and software crypto support (Jarod Wilson) [1937053] - ath11k: add ipq6018 support (Jarod Wilson) [1937053] - ath11k: move target ce configs to hw_params (Jarod Wilson) [1937053] - net: wireless: drop bogus CRYPTO_xxx Kconfig selects (Jarod Wilson) [1937053] - rtlwifi: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1937053] - brcmsmac: fix memory leak in wlc_phy_attach_lcnphy (Jarod Wilson) [1937053] - rtl8xxxu: prevent potential memory leak (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: Delete a stray tab (Jarod Wilson) [1937053] - ath11k: Add peer max mpdu parameter in peer assoc command (Jarod Wilson) [1937053] - ath10k: Add support for chain1 regulator supply voting (Jarod Wilson) [1937053] - brcmfmac: set F2 SDIO block size to 128 bytes for BCM4329 (Jarod Wilson) [1937053] - brcmfmac: drop chip id from debug messages (Jarod Wilson) [1937053] - brcmfmac: increase F2 watermark for BCM4329 (Jarod Wilson) [1937053] - mwifiex: sdio: Fix -Wunused-const-variable warnings (Jarod Wilson) [1937053] - mwifiex: wmm: Fix -Wunused-const-variable warnings (Jarod Wilson) [1937053] - mt7601u: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - rtlwifi: Remove temporary definition of RT_TRACE (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - brcmsmac: phytbl_n: Remove a few unused arrays (Jarod Wilson) [1937053] - brcmsmac: phytbl_lcn: Remove unused array 'dot11lcnphytbl_rx_gain_info_rev1' (Jarod Wilson) [1937053] - brcmsmac: phy_n: Remove a bunch of unused variables (Jarod Wilson) [1937053] - brcmsmac: phy_lcn: Remove a bunch of unused variables (Jarod Wilson) [1937053] - prism54: isl_ioctl: Remove unused variable 'j' (Jarod Wilson) [1937053] - rtw88: debug: Remove unused variables 'val' (Jarod Wilson) [1937053] - brcmfmac: fwsignal: Finish documenting 'brcmf_fws_mac_descriptor' (Jarod Wilson) [1937053] - brcmsmac: phy_cmn: Remove a unused variables 'vbat' and 'temp' (Jarod Wilson) [1937053] - brcmfmac: p2p: Fix a couple of function headers (Jarod Wilson) [1937053] - brcmsmac: ampdu: Remove a couple set but unused variables (Jarod Wilson) [1937053] - mwifiex: pcie: Move tables to the only place they're used (Jarod Wilson) [1937053] - ath10k: Get rid of "per_ce_irq" hw param (Jarod Wilson) [1937053] - ath10k: Keep track of which interrupts fired, don't poll them (Jarod Wilson) [1937053] - ath10k: Add interrupt summary based CE processing (Jarod Wilson) [1937053] - rtlwifi: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - rtl818x_pci: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1937053] - p54: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - rtlwifi: rtl8192c: phy_common: Remove unused variable 'bbvalue' (Jarod Wilson) [1937053] - brcmfmac: fwsignal: Remove unused variable 'brcmf_fws_prio2fifo' (Jarod Wilson) [1937053] - b43: phy_ht: Remove 9 year old TODO (Jarod Wilson) [1937053] - brcmfmac: btcoex: Update 'brcmf_btcoex_state' and demote others (Jarod Wilson) [1937053] - brcmfmac: firmware: Demote seemingly unintentional kernel-doc header (Jarod Wilson) [1937053] - brcmsmac: main: Remove a bunch of unused variables (Jarod Wilson) [1937053] - brcmfmac: p2p: Fix a bunch of function docs (Jarod Wilson) [1937053] - brcmsmac: ampdu: Remove a bunch of unused variables (Jarod Wilson) [1937053] - brcmfmac: p2p: Deal with set but unused variables (Jarod Wilson) [1937053] - mt7601u: phy: Fix misnaming when documented function parameter 'dac' (Jarod Wilson) [1937053] - rtlwifi: rtl8723-common: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8723be Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192se Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192ee: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192ce: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192-common: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: btcoexist: Replace RT_TRACE with rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: Replace RT_TRACE with rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: Start changing RT_TRACE into rtl_dbg (Jarod Wilson) [1937053] - ath10k: wmi: Use struct_size() helper in ath10k_wmi_alloc_skb() (Jarod Wilson) [1937053] - ath11k: fix missing error check on call to ath11k_pci_get_user_msi_assignment (Jarod Wilson) [1937053] - ath11k: fix spelling mistake "moniter" -> "monitor" (Jarod Wilson) [1937053] - nl80211: support SAE authentication offload in AP mode (Jarod Wilson) [1937053] - atmel: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - b43: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - brcmfmac: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - rt2x00: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - b43: phy_n: Add empty braces around empty statements (Jarod Wilson) [1937053] - b43: phy_common: Demote non-conformant kerneldoc header (Jarod Wilson) [1937053] - brcmsmac: mac80211_if: Demote a few non-conformant kerneldoc headers (Jarod Wilson) [1937053] - brcmfmac: fweh: Fix docrot related function documentation issues (Jarod Wilson) [1937053] - brcmfmac: fweh: Remove set but unused variable 'err' (Jarod Wilson) [1937053] - b43: main: Add braces around empty statements (Jarod Wilson) [1937053] - atmel: Demote non-kerneldoc header to standard comment block (Jarod Wilson) [1937053] - nl80211: rename csa counter attributes countdown counters (Jarod Wilson) [1937053] - nl80211: add support for setting fixed HE rate/gi/ltf (Jarod Wilson) [1937053] - ath11k: return -ENOMEM on allocation failure (Jarod Wilson) [1937053] - ath11k: return error if firmware request fails (Jarod Wilson) [1937053] - ath9k: Do not select MAC80211_LEDS by default (Jarod Wilson) [1937053] - ath9k: ar5008_initvals: Move ar5416Bank{0,1,2,3,7} to where they are used (Jarod Wilson) [1937053] - ath9k: ar5008_initvals: Remove unused table entirely (Jarod Wilson) [1937053] - ath9k: ar9001_initvals: Remove unused array 'ar5416Bank6_9100' (Jarod Wilson) [1937053] - ath9k: ar9002_initvals: Remove unused array 'ar9280PciePhy_clkreq_off_L1_9280' (Jarod Wilson) [1937053] - ath9k_htc: Do not select MAC80211_LEDS by default (Jarod Wilson) [1937053] - rtw88: 8822c: update tx power limit tables to RF v20.1 (Jarod Wilson) [1937053] - rtw88: use read_poll_timeout_atomic() for poll loop (Jarod Wilson) [1937053] - rtw88: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - rtw88: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1937053] - mwifiex: don't call del_timer_sync() on uninitialized timer (Jarod Wilson) [1937053] - mwifiex: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - mwifiex: Clean up some err and dbg messages (Jarod Wilson) [1937053] - mwifiex: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1937053] - nl80211: fix PORT_AUTHORIZED wording to reflect behavior (Jarod Wilson) [1937053] - cfg80211: add helper fn for adjacent rule channels (Jarod Wilson) [1937053] - cfg80211: add helper fn for single rule channels (Jarod Wilson) [1937053] - nl80211: use NLA_POLICY_RANGE(NLA_BINARY, ...) for a few attributes (Jarod Wilson) [1937053] - nl80211: clean up code/policy a bit (Jarod Wilson) [1937053] - net: wireless: wext_compat.c: delete duplicated word (Jarod Wilson) [1937053] - net: wireless: sme.c: delete duplicated word (Jarod Wilson) [1937053] - net: wireless: scan.c: delete or fix duplicated words (Jarod Wilson) [1937053] - net: wireless: reg.c: delete duplicated words + fix punctuation (Jarod Wilson) [1937053] - net: wireless: delete duplicated word + fix grammar (Jarod Wilson) [1937053] - net: mac80211: mesh.h: delete duplicated word (Jarod Wilson) [1937053] - net: mac80211: agg-rx.c: fix duplicated words (Jarod Wilson) [1937053] - net: ath11k: constify ath11k_thermal_ops (Jarod Wilson) [1937053] - ath10k: Add new api to support reset TID config (Jarod Wilson) [1937053] - ath10k: Add new api to support TID specific configuration (Jarod Wilson) [1937053] - ath10k: Move rate mask validation function up in the file (Jarod Wilson) [1937053] - ath10k: Add wmi command support for station specific TID config (Jarod Wilson) [1937053] - ath10k: sdio: add firmware coredump support (Jarod Wilson) [1937053] - ath10k: add bus type for each layout of coredump (Jarod Wilson) [1937053] - netlink/wireless: consistently use NLA_POLICY_MIN_LEN() (Jarod Wilson) [1937053] - netlink/wireless: consistently use NLA_POLICY_EXACT_LEN() (Jarod Wilson) [1937053] - rndis_wlan: tighten check of rndis_query_oid return (Jarod Wilson) [1937053] - rtw88: fix spelling mistake: "unsupport" -> "unsupported" (Jarod Wilson) [1937053] - brcmfmac: use *ph to print small buffer (Jarod Wilson) [1937053] - brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach (Jarod Wilson) [1937053] - ath11k: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - ath10k: fix VHT NSS calculation when STBC is enabled (Jarod Wilson) [1937053] - ath10k: Register shutdown handler (Jarod Wilson) [1937053] - ath11k: reset MHI during power down and power up (Jarod Wilson) [1937053] - ath11k: use TCL_DATA_RING_0 for QCA6390 (Jarod Wilson) [1937053] - ath11k: process both lmac rings for QCA6390 (Jarod Wilson) [1937053] - ath11k: assign correct search flag and type for QCA6390 (Jarod Wilson) [1937053] - ath11k: delay vdev_start for QCA6390 (Jarod Wilson) [1937053] - ath11k: refine the phy_id check in ath11k_reg_chan_list_event (Jarod Wilson) [1937053] - ath11k: setup QCA6390 rings for both rxdmas (Jarod Wilson) [1937053] - ath11k: don't initialize rxdma1 related ring (Jarod Wilson) [1937053] - ath11k: enable DP interrupt setup for QCA6390 (Jarod Wilson) [1937053] - ath11k: dp: redefine peer_map and peer_unmap (Jarod Wilson) [1937053] - ath11k: wmi: put hardware to DBS mode (Jarod Wilson) [1937053] - ath11k: initialize wmi config based on hw_params (Jarod Wilson) [1937053] - ath11k: force single pdev only for QCA6390 (Jarod Wilson) [1937053] - ath11k: disable CE interrupt before hif start (Jarod Wilson) [1937053] - ath11k: ce: get msi_addr and msi_data before srng setup (Jarod Wilson) [1937053] - ath11k: hal: assign msi_addr and msi_data to srng (Jarod Wilson) [1937053] - ath11k: ce: remove CE_COUNT() macro (Jarod Wilson) [1937053] - ath11k: ce: remove host_ce_config_wlan macro (Jarod Wilson) [1937053] - ath11k: ce: support different CE configurations (Jarod Wilson) [1937053] - ath11k: hal: cleanup dynamic register macros (Jarod Wilson) [1937053] - ath11k: hal: create register values dynamically (Jarod Wilson) [1937053] - ath10k: move enable_pll_clk call to ath10k_core_start() (Jarod Wilson) [1937053] - ath10k: Fix the size used in a 'dma_free_coherent()' call in an error handling path (Jarod Wilson) [1937053] - ath10k: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - ath9k: add NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 support (Jarod Wilson) [1937053] - ath11k: hal: create hw_srng_config dynamically (Jarod Wilson) [1937053] - ath11k: enable internal sleep clock (Jarod Wilson) [1937053] - ath11k: fix KASAN warning of ath11k_qmi_wlanfw_wlan_cfg_send (Jarod Wilson) [1937053] - ath11k: fix memory OOB access in qmi_decode (Jarod Wilson) [1937053] - ath11k: allocate smaller chunks of memory for firmware (Jarod Wilson) [1937053] - ath11k: setup ce tasklet for control path (Jarod Wilson) [1937053] - ath11k: configure copy engine msi address in CE srng (Jarod Wilson) [1937053] - ath11k: pci: add read32() and write32() hif operations (Jarod Wilson) [1937053] - ath11k: fill appropriate QMI service instance id for QCA6390 (Jarod Wilson) [1937053] - ath11k: add board file support for PCI devices (Jarod Wilson) [1937053] - ath11k: add support for m3 firmware (Jarod Wilson) [1937053] - ath11k: use remoteproc only with AHB devices (Jarod Wilson) [1937053] - ath11k: pci: add HAL, CE and core initialisation (Jarod Wilson) [1937053] - ath11k: register MHI controller device for QCA6390 (Jarod Wilson) [1937053] - ath11k: implement ath11k_core_pre_init() (Jarod Wilson) [1937053] - ath11k: pci: add MSI config initialisation (Jarod Wilson) [1937053] - ath11k: pci: setup resources (Jarod Wilson) [1937053] - ath11k: add simple PCI client driver for QCA6390 chipset (Jarod Wilson) [1937053] - ath11k: move ring mask definitions to hw_params (Jarod Wilson) [1937053] - ath11k: add hw_params entry for QCA6390 (Jarod Wilson) [1937053] - ath11k: do not depend on ARCH_QCOM for ath11k (Jarod Wilson) [1937053] - ath10k: correct the array index from mcs index for HT mode for QCA6174 (Jarod Wilson) [1937053] - ath10k: enable supports_peer_stats_info for QCA6174 PCI devices (Jarod Wilson) [1937053] - ath10k: remove return for NL80211_STA_INFO_TX_BITRATE (Jarod Wilson) [1937053] - ath10k: add wmi service peer stat info for wmi tlv (Jarod Wilson) [1937053] - ath10k: start recovery process when payload length exceeds max htc length for sdio (Jarod Wilson) [1937053] - ath: drop unnecessary list_empty (Jarod Wilson) [1937053] - ath9k: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - ath9k: Fix typo in function name (Jarod Wilson) [1937053] - ath9k: Replace HTTP links with HTTPS ones (Jarod Wilson) [1937053] - ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n() (Jarod Wilson) [1937053] - ath9k: Check the return value of pcie_capability_read_*() (Jarod Wilson) [1937053] - ath11k: remove define ATH11K_QMI_DEFAULT_CAL_FILE_NAME (Jarod Wilson) [1937053] - ath11k: don't use defines in hw_params (Jarod Wilson) [1937053] - ath11k: qmi: cleanup info messages (Jarod Wilson) [1937053] - ath11k: remove useless info messages (Jarod Wilson) [1937053] - ath11k: change ath11k_core_fetch_board_data_api_n() to use ath11k_core_create_firmware_path() (Jarod Wilson) [1937053] - ath11k: don't use defines for hw specific firmware directories (Jarod Wilson) [1937053] - ath11k: create a common function to request all firmware files (Jarod Wilson) [1937053] - ath11k: Add bdf-addr in hw_params (Jarod Wilson) [1937053] - ath11k: add hw_ops for pdev id to hw_mac mapping (Jarod Wilson) [1937053] - ath11k: define max_radios in hw_params (Jarod Wilson) [1937053] - ath11k: convert ath11k_hw_params to an array (Jarod Wilson) [1937053] - ath11k: ahb: call ath11k_core_init() before irq configuration (Jarod Wilson) [1937053] - ath10k: pci: fix memcpy size of bmi response (Jarod Wilson) [1937053] - ath11k: rename default board file (Jarod Wilson) [1937053] - ath11k: update firmware files read path (Jarod Wilson) [1937053] - ath10k: provide survey info as accumulated data (Jarod Wilson) [1937053] - ath10k: fix retry packets update in station dump (Jarod Wilson) [1937053] - ath10k: Wait until copy complete is actually done before completing (Jarod Wilson) [1937053] - mac80211_hwsim: add 6GHz channels (Jarod Wilson) [1937053] - mac80211_hwsim: indicate support for S1G (Jarod Wilson) [1937053] - mac80211_hwsim: write TSF timestamp correctly to S1G beacon (Jarod Wilson) [1937053] - mac80211_hwsim: fix typo in kernel-doc (Jarod Wilson) [1937053] - mac80211: rename csa counters to countdown counters (Jarod Wilson) [1937053] - mac80211_hwsim: report the WIPHY_FLAG_SUPPORTS_5_10_MHZ capability (Jarod Wilson) [1937053] - mac80211_hwsim: Claim support for setting Beacon frame TX legacy rate (Jarod Wilson) [1937053] - mac80211_hwsim: Advertise support for multicast RX registration (Jarod Wilson) [1937053] - mac80211_hwsim: indicate in IBSS that we have transmitted beacons (Jarod Wilson) [1937053] - mac80211_hwsim: notify wmediumd of used MAC addresses (Jarod Wilson) [1937053] - mac80211_hwsim: use GFP_ATOMIC under spin lock (Jarod Wilson) [1937053] - mac80211_hwsim: Use kstrndup() in place of kasprintf() (Jarod Wilson) [1937053] - mac80211_hwsim: add frame transmission support over virtio (Jarod Wilson) [1937053] - mac80211_hwsim: enable Beacon protection (Jarod Wilson) [1937053] - mac80211_hwsim: add power save support (Jarod Wilson) [1937053] - mac80211_hwsim: remove maximum TX power (Jarod Wilson) [1937053] - mac80211_hwsim: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops (Jarod Wilson) [1937053] - mac80211_hwsim: add support for OCB (Jarod Wilson) [1937053] - mac80211_hwsim: add more 5GHz channels, 5/10 MHz support (Jarod Wilson) [1937053] - mac80211_hwsim: fix incorrect dev_alloc_name failure goto (Jarod Wilson) [1937053] - mac80211_hwsim: Register support for HE meshpoint (Jarod Wilson) [1937053] - mac80211_hwsim: fill boottime_ns in netlink RX path (Jarod Wilson) [1937053] - mac80211_hwsim: Fix possible null-pointer dereferences in hwsim_dump_radio_nl() (Jarod Wilson) [1937053] - mac80211_hwsim: Extended Key ID API update (Jarod Wilson) [1937053] - mac80211_hwsim: Fix a typo in the name of function 'mac80211_hswim_he_capab()' (Jarod Wilson) [1937053] - mac80211_hwsim: Extended Key ID support (Jarod Wilson) [1937053] - mac80211_hwsim: set p2p device interface support indication (Jarod Wilson) [1937053] - mac80211_hwsim: calculate if_combination.max_interfaces (Jarod Wilson) [1937053] - mac80211_hwsim: propagate genlmsg_reply return code (Jarod Wilson) [1937053] - mac80211_hwsim: Declare support for Multi-BSSID (Jarod Wilson) [1937053] - mac80211_hwsim: Support boottime in scan results (Jarod Wilson) [1937053] - mac80211_hwsim: check that n_limits makes sense (Jarod Wilson) [1937053] - mac80211_hwsim: fix overwriting of if_combination (Jarod Wilson) [1937053] - mac80211_hwsim: fixes kernel crash during mac80211_hwsim init (Jarod Wilson) [1937053] - mac80211_hwsim: allow configurable cipher types (Jarod Wilson) [1937053] - mac80211_hwsim: allow setting iftype support (Jarod Wilson) [1937053] - mac80211_hwsim: move HWSIM_ATTR_RADIO_NAME parsing last (Jarod Wilson) [1937053] - mac80211_hwsim: fix module init error paths for netlink (Jarod Wilson) [1937053] - mac80211_hwsim: drop now unused work-queue from hwsim (Jarod Wilson) [1937053] - mac80211_hwsim: do not omit multicast announce of first added radio (Jarod Wilson) [1937053] - mac80211_hwsim: fix race in radio destruction from netlink notifier (Jarod Wilson) [1937053] - mac80211_hwsim: fix locking when iterating radios during ns exit (Jarod Wilson) [1937053] - wireless: align to draft 11ax D3.0 (Jarod Wilson) [1937053] - mac80211_hwsim: correct use of IEEE80211_VHT_CAP_RXSTBC_X (Jarod Wilson) [1937053] - mac80211_hwsim: require at least one channel (Jarod Wilson) [1937053] - mac80211_hwsim: Add support for HE (Jarod Wilson) [1937053] - net/fq_impl: do not maintain a backlog-sorted list of flows (Jarod Wilson) [1937053] - net/fq_impl: drop get_default_func, move default flow to fq_tin (Jarod Wilson) [1937053] - net/fq_impl: bulk-free packets from a flow on overmemory (Jarod Wilson) [1937053] - net/fq_impl: use skb_get_hash instead of skb_get_hash_perturb (Jarod Wilson) [1937053] - net/fq_impl: Switch to kvmalloc() for memory allocation (Jarod Wilson) [1937053] - mac80211: set NETIF_F_LLTX when using intermediate tx queues (Jarod Wilson) [1937053] - mac80211: calculate hash for fq without holding fq->lock in itxq enqueue (Jarod Wilson) [1937053] - nvme-tcp: fix misuse of __smp_processor_id with preemption enabled (Gopal Tiwari) [1964227] - powerpc/smp: Cache CPU to chip lookup (Daniel Henrique Barboza) [1934421] - Revert "powerpc/topology: Update topology_core_cpumask" (Daniel Henrique Barboza) [1934421] - powerpc/smp: Reintroduce cpu_core_mask (Daniel Henrique Barboza) [1934421] - scsi: smartpqi: Remove unused functions (Don Brace) [1952154] - scsi: smartpqi: Fix device pointer variable reference static checker issue (Don Brace) [1952154] - scsi: smartpqi: Fix blocks_per_row static checker issue (Don Brace) [1952154] - scsi: smartpqi: Update version to 2.1.8-045 (Don Brace) [1952154] - scsi: smartpqi: Add new PCI IDs (Don Brace) [1952154] - scsi: smartpqi: Correct system hangs when resuming from hibernation (Don Brace) [1952154] - scsi: smartpqi: Update enclosure identifier in sysfs (Don Brace) [1952154] - scsi: smartpqi: Add additional logging for LUN resets (Don Brace) [1952154] - scsi: smartpqi: Update SAS initiator_port_protocols and target_port_protocols (Don Brace) [1952154] - scsi: smartpqi: Add phy ID support for the physical drives (Don Brace) [1952154] - scsi: smartpqi: Convert snprintf() to scnprintf() (Don Brace) [1952154] - scsi: smartpqi: Fix driver synchronization issues (Don Brace) [1952154] - scsi: smartpqi: Update device scan operations (Don Brace) [1952154] - scsi: smartpqi: Update OFA management (Don Brace) [1952154] - scsi: smartpqi: Update RAID bypass handling (Don Brace) [1952154] - scsi: smartpqi: Update suspend/resume and shutdown (Don Brace) [1952154] - scsi: smartpqi: Synchronize device resets with mutex (Don Brace) [1952154] - scsi: smartpqi: Update soft reset management for OFA (Don Brace) [1952154] - scsi: smartpqi: Update event handler (Don Brace) [1952154] - scsi: smartpqi: Add support for wwid (Don Brace) [1952154] - scsi: smartpqi: Remove timeouts from internal cmds (Don Brace) [1952154] - scsi: smartpqi: Disable WRITE SAME for HBA NVMe disks (Don Brace) [1952154] - scsi: smartpqi: Add host level stream detection enable (Don Brace) [1952154] - scsi: smartpqi: Add stream detection (Don Brace) [1952154] - scsi: smartpqi: Align code with oob driver (Don Brace) [1952154] - scsi: smartpqi: Add support for long firmware version (Don Brace) [1952154] - scsi: smartpqi: Add support for BMIC sense feature cmd and feature bits (Don Brace) [1952154] - scsi: smartpqi: Add support for RAID1 writes (Don Brace) [1952154] - scsi: smartpqi: Add support for RAID5 and RAID6 writes (Don Brace) [1952154] - scsi: smartpqi: Refactor scatterlist code (Don Brace) [1952154] - scsi: smartpqi: Refactor aio submission code (Don Brace) [1952154] - scsi: smartpqi: Add support for new product ids (Don Brace) [1952154] - scsi: smartpqi: Correct request leakage during reset operations (Don Brace) [1952154] - scsi: smartpqi: Use host-wide tag space (Don Brace) [1952154] - smartpqi: Use fallthrough pseudo-keyword (Don Brace) [1952154] - scsi: smartpqi: Support device deletion via sysfs (Don Brace) [1952154] - scsi: smartpqi: Use scnprintf() for avoiding potential buffer overflow (Don Brace) [1952154] - smartpqi: remove ioremap_nocache and devm_ioremap_nocache (Don Brace) [1952154] - smartpqi: Use sizeof_field() macro (Don Brace) [1952154] - smartpqi: phase out dma_zalloc_coherent() (Don Brace) [1952154] - scsi: smartpqi: add support for huawei controllers (Don Brace) [1952154] - block: only update parent bi_status when bio fail (Ming Lei) [1945457] - kbuild: trace functions in subdirectories of lib/ (Joe Lawrence) [1942601] - kbuild: introduce ccflags-remove-y and asflags-remove-y (Joe Lawrence) [1942601] - redhat/configs: Add CONFIG_AMD_PMC (David Arcari) [1961755] - platform/x86: amd-pmc: put device on error paths (David Arcari) [1961755] - platform/x86: amd-pmc: Fix CONFIG_DEBUG_FS check (David Arcari) [1961755] - platform/x86: amd-pmc: Add AMD platform support for S2Idle (David Arcari) [1961755] - crypto: DRBG - switch to HMAC SHA512 DRBG as default DRBG (Vladis Dronov) [1956808] - x86/asm: Annotate movdir64b()'s dst argument with __iomem (Jerry Snitselaar) [1920747] - x86/asm: Add a missing __iomem annotation in enqcmds() (Jerry Snitselaar) [1920747]- fm10k: amend removal of MODULE_VERSION (Vladis Dronov) [1955730] - hv_netvsc: Make netvsc/VF binding check both MAC and serial number (Mohammed Gamal) [1940927] - hv_netvsc: Add error handling while switching data path (Mohammed Gamal) [1940927] - netvsc: Update driver to use ethtool_sprintf (Mohammed Gamal) [1940927] - hv_netvsc: Add a comment clarifying batching logic (Mohammed Gamal) [1940927] - hv_netvsc: Fix validation in netvsc_linkstatus_callback() (Mohammed Gamal) [1940927] - hv_netvsc: Restrict configurations on isolated guests (Mohammed Gamal) [1940927] - hv_netvsc: Load and store the proper (NBL_HASH_INFO) per-packet info (Mohammed Gamal) [1940927] - hv_netvsc: Allocate the recv_buf buffers after NVSP_MSG1_TYPE_SEND_RECV_BUF (Mohammed Gamal) [1940927] - hv_netvsc: Reset the RSC count if NVSP_STAT_FAIL in netvsc_receive() (Mohammed Gamal) [1940927] - hv_netvsc: Copy packets sent by Hyper-V out of the receive buffer (Mohammed Gamal) [1940927] - net/hyperv: use skb_vlan_tag_*() helpers (Mohammed Gamal) [1940927] - net/vlan: introduce skb_vlan_tag_get_cfi() helper (Mohammed Gamal) [1940927] - hv_netvsc: Add (more) validation for untrusted Hyper-V values (Mohammed Gamal) [1940927] - hv_netvsc: Process NETDEV_GOING_DOWN on VF hot remove (Mohammed Gamal) [1940927] - hv_netvsc: Wait for completion on request SWITCH_DATA_PATH (Mohammed Gamal) [1940927] - hv_netvsc: Check VF datapath when sending traffic to VF (Mohammed Gamal) [1940927] - hv_netvsc: Validate number of allocated sub-channels (Mohammed Gamal) [1940927] - hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening (Mohammed Gamal) [1940927] - hv_netvsc: Use HV_HYP_PAGE_SIZE for Hyper-V communication (Mohammed Gamal) [1940927] - scsi: fnic: Use scsi_host_busy_iter() to traverse commands (Ewan D. Milne) [1949250] - scsi: fnic: Kill 'exclude_id' argument to fnic_cleanup_io() (Ewan D. Milne) [1949250] - net: vlan: Avoid using BUG() in vlan_proto_idx() (Davide Caratti) [1964456] - sch_htb: fix null pointer dereference on a null new_q (Ivan Vecera) [1935703] - sch_htb: Fix offload cleanup in htb_destroy on htb_init failure (Ivan Vecera) [1935703] - sch_htb: Fix select_queue for non-offload mode (Ivan Vecera) [1935703] - sch_htb: Stats for offloaded HTB (Ivan Vecera) [1935703] - sch_htb: Hierarchical QoS hardware offload (Ivan Vecera) [1935703] - net: sched: Add extack to Qdisc_class_ops.delete (Ivan Vecera) [1935703] - net: sched: Add multi-queue support to sch_tree_lock (Ivan Vecera) [1935703] - capabilities: require CAP_SETFCAP to map uid 0 (Alexey Gladkov) [1961202] - locking/qrwlock: Cleanup queued_write_lock_slowpath() (Waiman Long) [1954361] - locking/rtmutex: Clean up signal handling in __rt_mutex_slowlock() (Waiman Long) [1954361] - locking/rtmutex: Restrict the trylock WARN_ON() to debug (Waiman Long) [1954361] - locking/rtmutex: Fix misleading comment in rt_mutex_postunlock() (Waiman Long) [1954361] - locking/rtmutex: Consolidate the fast/slowpath invocation (Waiman Long) [1954361] - locking/rtmutex: Make text section and inlining consistent (Waiman Long) [1954361] - locking/rtmutex: Move debug functions as inlines into common header (Waiman Long) [1954361] - locking/rtmutex: Decrapify __rt_mutex_init() (Waiman Long) [1954361] - locking/rtmutex: Remove pointless CONFIG_RT_MUTEXES=n stubs (Waiman Long) [1954361] - locking/rtmutex: Inline chainwalk depth check (Waiman Long) [1954361] - locking/rtmutex: Move rt_mutex_debug_task_free() to rtmutex.c (Waiman Long) [1954361] - locking/rtmutex: Remove empty and unused debug stubs (Waiman Long) [1954361] - locking/rtmutex: Consolidate rt_mutex_init() (Waiman Long) [1954361] - locking/rtmutex: Remove output from deadlock detector (Waiman Long) [1954361] - locking/rtmutex: Remove rtmutex deadlock tester leftovers (Waiman Long) [1954361] - locking/rtmutex: Remove rt_mutex_timed_lock() (Waiman Long) [1954361] - kernel: delete repeated words in comments (Waiman Long) [1954361] - rbtree, rtmutex: Use rb_add_cached() (Waiman Long) [1954361] - rbtree: Add generic add and find helpers (Waiman Long) [1954361] - locking/rtmutex: Remove unused rt_mutex_cmpxchg_relaxed() (Waiman Long) [1954361] - lib/rbtree: avoid generating code twice for the cached versions (Waiman Long) [1954361] - locking/rtmutex: Fix the preprocessor logic with normal #ifdef #else #endif (Waiman Long) [1954361] - kernel/futex: Explicitly document pi_lock for pi_state owner fixup (Waiman Long) [1954361] - kernel/futex: Move hb unlock out of unqueue_me_pi() (Waiman Long) [1954361] - kernel/futex: Make futex_wait_requeue_pi() only call fixup_owner() (Waiman Long) [1954361] - kernel/futex: Kill rt_mutex_next_owner() (Waiman Long) [1954361] - futex: Remove unused empty compat_exit_robust_list() (Waiman Long) [1954361] - futex: Handle transient "ownerless" rtmutex state correctly (Waiman Long) [1954361] - futex: Convert to use the preferred 'fallthrough' macro (Waiman Long) [1954361] - futex: get rid of a kernel-docs build warning (Waiman Long) [1954361] - futex: arch_futex_atomic_op_inuser() calling conventions change (Waiman Long) [1954361] - s390: Use arch_local_irq_{save,restore}() in early boot code (Waiman Long) [1954361] - lockdep: Add a missing initialization hint to the "INFO: Trying to register non-static key" message (Waiman Long) [1954361] - locking: Fix typos in comments (Waiman Long) [1954361] - locking/lockdep: Update the comment for __lock_release() (Waiman Long) [1954361] - lockdep: Allow tuning tracing capacity constants. (Waiman Long) [1954361] - lockdep: Address clang -Wformat warning printing for hd (Waiman Long) [1954361] - lockdep: Add lockdep lock state defines (Waiman Long) [1954361] - lockdep: Add lockdep_assert_not_held() (Waiman Long) [1954361] - lockdep: Noinstr annotate warn_bogus_irq_restore() (Waiman Long) [1954361] - locking/lockdep: Avoid unmatched unlock (Waiman Long) [1954361] - locking/rwsem: Remove empty rwsem.h (Waiman Long) [1954361] - lockdep: report broken irq restoration (Waiman Long) [1954361] - locking/lockdep: Avoid noinstr warning for DEBUG_LOCKDEP (Waiman Long) [1954361] - locking/lockdep: Exclude local_lock_t from IRQ inversions (Waiman Long) [1954361] - locking/lockdep: Clean up check_redundant() a bit (Waiman Long) [1954361] - locking/lockdep: Add a skip() function to __bfs() (Waiman Long) [1954361] - locking/lockdep: Mark local_lock_t (Waiman Long) [1954361] - lockdep: Put graph lock/unlock under lock_recursion protection (Waiman Long) [1954361] - locking/rtmutex: Add missing kernel-doc markup (Waiman Long) [1954361] - lockdep: Avoid to modify chain keys in validate_chain() (Waiman Long) [1954361] - lockdep: Fix nr_unused_locks accounting (Waiman Long) [1954361] - lockdep: Optimize the memory usage of circular queue (Waiman Long) [1954361] - lockdep: Take read/write status in consideration when generate chainkey (Waiman Long) [1954361] - lockdep/selftest: Add a R-L/L-W test case specific to chain cache behavior (Waiman Long) [1954361] - lockdep: Add recursive read locks into dependency graph (Waiman Long) [1954361] - lockdep: Fix recursive read lock related safe->unsafe detection (Waiman Long) [1954361] - lockdep: Adjust check_redundant() for recursive read change (Waiman Long) [1954361] - lockdep: Support deadlock detection for recursive read locks in check_noncircular() (Waiman Long) [1954361] - lockdep: Make __bfs(.match) return bool (Waiman Long) [1954361] - lockdep: Extend __bfs() to work with multiple types of dependencies (Waiman Long) [1954361] - lockdep: Introduce lock_list::dep (Waiman Long) [1954361] - lockdep: Reduce the size of lock_list::distance (Waiman Long) [1954361] - lockdep: Make __bfs() visit every dependency until a match (Waiman Long) [1954361] - lockdep: Demagic the return value of BFS (Waiman Long) [1954361] - lockdep/Documention: Recursive read lock detection reasoning (Waiman Long) [1954361] - locking: More accurate annotations for read_lock() (Waiman Long) [1954361] - Documentation/locking/locktypes: Fix local_locks documentation (Waiman Long) [1954361] - treewide: Remove uninitialized_var() usage (Waiman Long) [1954361] - lockdep: Use this_cpu_ptr instead of get_cpu_var stats (Waiman Long) [1954361] - KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read (Gavin Shan) [1939323] - KVM: arm64: Don't advertise FEAT_SPE to guests (Gavin Shan) [1939323] - KVM: arm64: Don't print warning when trapping SPE registers (Gavin Shan) [1939323] - KVM: arm64: Fully zero the vcpu state on reset (Gavin Shan) [1939323] - KVM: arm64: Clarify vcpu reset behaviour (Gavin Shan) [1939323] - Documentation: KVM: Document KVM_GUESTDBG_USE_HW control flag for arm64 (Gavin Shan) [1939323] - KVM: arm64: Initialize VCPU mdcr_el2 before loading it (Gavin Shan) [1939323] - KVM: arm64: Handle access to TRFCR_EL1 (Gavin Shan) [1939323] - arm64: Add TRFCR_ELx definitions (Gavin Shan) [1939323] - KVM: arm64: Unify trap handlers injecting an UNDEF (Gavin Shan) [1939323] - KVM: arm64: Use find_vma_intersection() (Gavin Shan) [1939323] - KVM: arm64: Hide kvm_mmu_wp_memory_region() (Gavin Shan) [1939323] - KVM: selftests: vgic_init kvm selftests fixup (Gavin Shan) [1939323] - KVM: selftests: aarch64/vgic-v3 init sequence tests (Gavin Shan) [1939323] - KVM: arm64: vgic-v3: Expose GICR_TYPER.Last for userspace (Gavin Shan) [1939323] - kvm: arm64: vgic-v3: Introduce vgic_v3_free_redist_region() (Gavin Shan) [1939323] - KVM: arm64: Simplify argument passing to vgic_uaccess_[read|write] (Gavin Shan) [1939323] - docs: kvm: devices/arm-vgic-v3: enhance KVM_DEV_ARM_VGIC_CTRL_INIT doc (Gavin Shan) [1939323] - KVM: arm/arm64: vgic: Reset base address on kvm_vgic_dist_destroy() (Gavin Shan) [1939323] - KVM: arm64: vgic-v3: Fix error handling in vgic_v3_set_redist_base() (Gavin Shan) [1939323] - KVM: arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION read (Gavin Shan) [1939323] - KVM: arm64: vgic-v3: Fix some error codes when setting RDIST base (Gavin Shan) [1939323] - KVM: arm64: Disable guest access to trace filter controls (Gavin Shan) [1939323] - KVM: arm64: Fix CPU interface MMIO compatibility detection (Gavin Shan) [1939323] - KVM: arm64: Hide system instruction access to Trace registers (Gavin Shan) [1939323] - KVM: arm64: Fix exclusive limit for IPA size (Gavin Shan) [1939323] - KVM: arm64: Ensure I-cache isolation between vcpus of a same VM (Gavin Shan) [1939323] - KVM: arm64: nvhe: Save the SPE context early (Gavin Shan) [1939323] - KVM: arm64: Correct spelling of DBGDIDR register (Gavin Shan) [1939323] - KVM: arm64: Fix AArch32 PMUv3 capping (Gavin Shan) [1939323] - KVM: arm64: Fix missing RES1 in emulation of DBGBIDR (Gavin Shan) [1939323] - KVM: arm64: Remove spurious semicolon in reg_to_encoding() (Gavin Shan) [1939323] - KVM: arm64: Fix hyp_cpu_pm_{init,exit} __init annotation (Gavin Shan) [1939323] - KVM: arm64: Workaround firmware wrongly advertising GICv2-on-v3 compatibility (Gavin Shan) [1939323] - KVM: arm64: Rename __vgic_v3_get_ich_vtr_el2() to __vgic_v3_get_gic_config() (Gavin Shan) [1939323] - KVM: arm64: Some fixes of PV-time interface document (Gavin Shan) [1939323] - KVM: arm64: CSSELR_EL1 max is 13 (Gavin Shan) [1939323] - idr test suite: Improve reporting from idr_find_test_1 (Chris von Recklinghausen) [1946304] - idr test suite: Create anchor before launching throbber (Chris von Recklinghausen) [1946304] - idr test suite: Take RCU read lock in idr_find_test_1 (Chris von Recklinghausen) [1946304] - radix tree test suite: Register the main thread with the RCU library (Chris von Recklinghausen) [1946304] - radix tree test suite: Fix compilation (Chris von Recklinghausen) [1946304] - XArray: Add xa_limit_16b (Chris von Recklinghausen) [1946304] - XArray: Fix splitting to non-zero orders (Chris von Recklinghausen) [1946304] - XArray: Fix split documentation (Chris von Recklinghausen) [1946304] - PCI/P2PDMA: Drop double zeroing for sg_init_table() (Myron Stowe) [1955693] - PCI: Simplify bool comparisons (Myron Stowe) [1955693] - PCI: endpoint: Use "NULL" instead of "0" as a NULL pointer (Myron Stowe) [1955693] - PCI: Simplify pci_dev_reset_slot_function() (Myron Stowe) [1955693] - PCI: Update mmap-related #ifdef comments (Myron Stowe) [1955693] - PCI/LINK: Print IRQ number used by port (Myron Stowe) [1955693] - PCI/IOV: Simplify pci-pf-stub with module_pci_driver() (Myron Stowe) [1955693] - PCI: Use scnprintf(), not snprintf(), in sysfs "show" functions (Myron Stowe) [1955693] - x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled (Myron Stowe) [1955693] - PCI: Remove unnecessary header includes (Myron Stowe) [1955693] - PCI/PM: Revert "PCI/PM: Apply D2 delay as milliseconds, not microseconds" (Myron Stowe) [1955693] - PCI/PM: Remove unused PCI_PM_BUS_WAIT (Myron Stowe) [1955693] - PCI: shpchp: Remove unused 'rc' assignment (Myron Stowe) [1955693] - PCI: pciehp: Reduce noisiness on hot removal (Myron Stowe) [1955693 1812902] - PCI: rpadlpar: Use for_each_child_of_node() and for_each_node_by_name() (Myron Stowe) [1955693] - PCI: Add Kconfig options for MPS/MRRS strategy (Myron Stowe) [1955693] - PCI: Add schedule point in pci_read_config() (Myron Stowe) [1955693] - PCI/ASPM: Remove struct pcie_link_state.l1ss (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.l1ss_cap (Myron Stowe) [1955693] - PCI/ASPM: Pass L1SS Capabilities value, not struct aspm_register_info (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.l1ss_ctl1 (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.l1ss_ctl2 (unused) (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.l1ss_cap_ptr (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.latency_encoding (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.enabled (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.support (Myron Stowe) [1955693] - PCI/ASPM: Use 'parent' and 'child' for readability (Myron Stowe) [1955693] - PCI/ASPM: Move LTR path check to where it's used (Myron Stowe) [1955693] - PCI/ASPM: Move pci_clear_and_set_dword() earlier (Myron Stowe) [1955693] - PCI/ACS: Enable Translation Blocking for external devices (Myron Stowe) [1955693] - scsi: qedi: Remove redundant assignment to variable err (Nilesh Javali) [1920855] - scsi: qedi: Fix error return code of qedi_alloc_global_queues() (Nilesh Javali) [1920855] - scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe (Nilesh Javali) [1920855] - scsi: qedf: Simplify bool comparison (Nilesh Javali) [1921608] - bpf, sockmap: Fix incorrect fwd_alloc accounting (Yauheni Kaliuta) [1874006] - bpf: Local storage helpers should check nullness of owner ptr passed (Yauheni Kaliuta) [1874006] - bpf, inode_storage: Put file handler if no storage was found (Yauheni Kaliuta) [1874006] - kbuild: explicitly specify the build id style (Yauheni Kaliuta) [1874006] - bpf: Reject too big ctx_size_in for raw_tp test run (Yauheni Kaliuta) [1874006] - bpf: Fix enum names for bpf_this_cpu_ptr() and bpf_per_cpu_ptr() helpers (Yauheni Kaliuta) [1874006] - bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSE (Jiri Benc) [1874006] - bpf: Fix tests for local_storage (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix "dubious pointer arithmetic" test (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix array access with signed variable test (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test for signed 32-bit bound check bug (Yauheni Kaliuta) [1874006] - bpf: Fix propagation of 32-bit signed bounds from 64-bit bounds. (Yauheni Kaliuta) [1874006] - lwt_bpf: Replace preempt_disable() with migrate_disable() (Yauheni Kaliuta) [1874006] - lwt: Disable BH too in run_lwt_bpf() (Yauheni Kaliuta) [1874006] - selftests/bpf: Drain ringbuf samples at the end of test (Yauheni Kaliuta) [1874006] - libbpf: Fix ring_buffer__poll() to return number of consumed samples (Yauheni Kaliuta) [1874006] - bpf: Add MAINTAINERS entry for BPF LSM (Yauheni Kaliuta) [1874006] - bpftool: Fix error return value in build_btf_type_table (Yauheni Kaliuta) [1874006] - fail_function: Remove a redundant mutex unlock (Yauheni Kaliuta) [1874006] - selftest/bpf: Test bpf_probe_read_user_str() strips trailing bytes after NUL (Yauheni Kaliuta) [1874006] - lib/strncpy_from_user.c: Mask out bytes after NUL terminator. (Yauheni Kaliuta) [1874006] - bpf, sockmap: Avoid failures from skb_to_sgvec when skb has frag_list (Yauheni Kaliuta) [1874006] - bpf, sockmap: Handle memory acct if skb_verdict prog redirects to self (Yauheni Kaliuta) [1874006] - bpf, sockmap: Avoid returning unneeded EAGAIN when redirecting to self (Yauheni Kaliuta) [1874006] - bpf, sockmap: Use truesize with sk_rmem_schedule() (Yauheni Kaliuta) [1874006] - bpf, sockmap: Ensure SO_RCVBUF memory is observed on ingress redirect (Yauheni Kaliuta) [1874006] - bpf, sockmap: Fix partial copy_page_to_iter so progress can still be made (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix error return code in run_getsockopt_test() (Yauheni Kaliuta) [1874006] - bpf: Relax return code check for subprograms (Yauheni Kaliuta) [1874006] - tools, bpftool: Add missing close before bpftool net attach exit (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix unused attribute usage in subprogs_unused test (Yauheni Kaliuta) [1874006] - bpf: Fix unsigned 'datasec_id' compared with zero in check_pseudo_btf_id (Yauheni Kaliuta) [1874006] - bpf: Fix passing zero to PTR_ERR() in bpf_btf_printf_prepare (Yauheni Kaliuta) [1874006] - libbpf: Don't attempt to load unused subprog as an entry-point BPF program (Yauheni Kaliuta) [1874006] - bpf: Update verification logic for LSM programs (Yauheni Kaliuta) [1874006] - bpf: Zero-fill re-used per-cpu map element (Yauheni Kaliuta) [1874006] - bpf: BPF_PRELOAD depends on BPF_SYSCALL (Yauheni Kaliuta) [1874006] - libbpf: Fix possible use after free in xsk_socket__delete (Yauheni Kaliuta) [1874006] - libbpf: Fix null dereference in xsk_socket__delete (Yauheni Kaliuta) [1874006] - libbpf, hashmap: Fix undefined behavior in hash_bits (Yauheni Kaliuta) [1874006] - tools, bpftool: Remove two unused variables. (Yauheni Kaliuta) [1874006] - tools, bpftool: Avoid array index warnings. (Yauheni Kaliuta) [1874006] - bpf: Add struct bpf_redir_neigh forward declaration to BPF helper defs (Yauheni Kaliuta) [1874006] - bpf: Fix -Wshadow warnings (Yauheni Kaliuta) [1874006] - bpf, libbpf: Guard bpf inline asm from bpf_tail_call_static (Yauheni Kaliuta) [1874006] - bpf: selftest: Ensure the return value of the bpf_per_cpu_ptr() must be checked (Yauheni Kaliuta) [1874006] - bpf: selftest: Ensure the return value of bpf_skc_to helpers must be checked (Yauheni Kaliuta) [1874006] - bpf: Remove unneeded break (Yauheni Kaliuta) [1874006] - net, sockmap: Don't call bpf_prog_put() on NULL pointer (Yauheni Kaliuta) [1874006] - bpf, sockmap: Add locking annotations to iterator (Yauheni Kaliuta) [1874006] - bpf: Fix register equivalence tracking. (Yauheni Kaliuta) [1874006] - bpf, selftests: Add three new sockmap tests for verdict only programs (Yauheni Kaliuta) [1874006] - bpf, selftests: Add option to test_sockmap to omit adding parser program (Yauheni Kaliuta) [1874006] - bpf, sockmap: Allow skipping sk_skb parser program (Yauheni Kaliuta) [1874006] - bpf, sockmap: Check skb_verdict and skb_parser programs explicitly (Yauheni Kaliuta) [1874006] - bpf, sockmap: Add memory accounting so skbs on ingress lists are visible (Yauheni Kaliuta) [1874006] - bpf, sockmap: Remove skb_orphan and let normal skb_kfree do cleanup (Yauheni Kaliuta) [1874006] - bpf, sockmap: Remove dropped data on errors in redirect case (Yauheni Kaliuta) [1874006] - bpf, sockmap: Remove skb_set_owner_w wmem will be taken later from sendpage (Yauheni Kaliuta) [1874006] - bpf, sockmap: On receive programs try to fast track SK_PASS ingress (Yauheni Kaliuta) [1874006] - bpf, sockmap: Skb verdict SK_PASS to self already checked rmem limits (Yauheni Kaliuta) [1874006] - bpf: Migrate from patchwork.ozlabs.org to patchwork.kernel.org. (Yauheni Kaliuta) [1874006] - samples: bpf: Refactor XDP kern program maps with BTF-defined map (Yauheni Kaliuta) [1874006] - samples: bpf: Replace attach_tracepoint() to attach() in xdp_redirect_cpu (Yauheni Kaliuta) [1874006] - samples: bpf: Refactor xdp_monitor with libbpf (Yauheni Kaliuta) [1874006] - bpf, selftests: Add test for different array inner map size (Yauheni Kaliuta) [1874006] - bpf: Allow for map-in-map with dynamic inner array map entries (Yauheni Kaliuta) [1874006] - selftests/bpf: Asm tests for the verifier regalloc tracking. (Yauheni Kaliuta) [1874006] - bpf: Fix selftest compilation on clang 11 (Yauheni Kaliuta) [1874006] - selftest/bpf: Fix profiler test using CO-RE relocation for enums (Yauheni Kaliuta) [1874006] - selftests/bpf: Add profiler test (Yauheni Kaliuta) [1874006] - bpf: Track spill/fill of bounded scalars. (Yauheni Kaliuta) [1874006] - bpf: Propagate scalar ranges through register assignments. (Yauheni Kaliuta) [1874006] - bpf: Add tcp_notsent_lowat bpf setsockopt (Yauheni Kaliuta) [1874006] - selftests/bpf: Validate libbpf's auto-sizing of LD/ST/STX instructions (Yauheni Kaliuta) [1874006] - libbpf: Allow specifying both ELF and raw BTF for CO-RE BTF override (Yauheni Kaliuta) [1874006] - libbpf: Support safe subset of load/store instruction resizing with CO-RE (Yauheni Kaliuta) [1874006] - libbpf: Skip CO-RE relocations for not loaded BPF programs (Yauheni Kaliuta) [1874006] - libbpf: Fix compatibility problem in xsk_socket__create (Yauheni Kaliuta) [1874006] - bpf: Fix typo in uapi/linux/bpf.h (Yauheni Kaliuta) [1874006] - bpf: Fix build failure for kernel/trace/bpf_trace.c with CONFIG_NET=n (Yauheni Kaliuta) [1874006] - kernel/bpf/verifier: Fix build when NET is not enabled (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix test_verifier after introducing resolve_pseudo_ldimm64 (Yauheni Kaliuta) [1874006] - samples: bpf: Driver interrupt statistics in xdpsock (Yauheni Kaliuta) [1874006] - samples: bpf: Count syscalls in xdpsock (Yauheni Kaliuta) [1874006] - samples: bpf: Split xdpsock stats into new struct (Yauheni Kaliuta) [1874006] - samples/bpf: Fix a compilation error with fallthrough marking (Yauheni Kaliuta) [1874006] - samples/bpf: Change Makefile to cope with latest llvm (Yauheni Kaliuta) [1874006] - bpf, libbpf: Use valid btf in bpf_program__set_attach_target (Yauheni Kaliuta) [1874006] - selftest/bpf: Test pinning map with reused map fd (Yauheni Kaliuta) [1874006] - libbpf: Check if pin_path was set even map fd exist (Yauheni Kaliuta) [1874006] - libbpf: Close map fd if init map slots failed (Yauheni Kaliuta) [1874006] - bpf: Use raw_spin_trylock() for pcpu_freelist_push/pop in NMI (Yauheni Kaliuta) [1874006] - bpf, verifier: Use fallthrough pseudo-keyword (Yauheni Kaliuta) [1874006] - bpf: Deref map in BPF_PROG_BIND_MAP when it's already used (Yauheni Kaliuta) [1874006] - bpf, sockmap: Update selftests to use skb_adjust_room (Yauheni Kaliuta) [1874006] - bpf, sockmap: Add skb_adjust_room to pop bytes off ingress payload (Yauheni Kaliuta) [1874006] - bpf/selftests: Test for bpf_per_cpu_ptr() and bpf_this_cpu_ptr() (Yauheni Kaliuta) [1874006] - bpf: Introducte bpf_this_cpu_ptr() (Yauheni Kaliuta) [1874006] - bpf: Introduce bpf_per_cpu_ptr() (Yauheni Kaliuta) [1874006] - selftests/bpf: Ksyms_btf to test typed ksyms (Yauheni Kaliuta) [1874006] - bpf/libbpf: BTF support for typed ksyms (Yauheni Kaliuta) [1874006] - bpf: Introduce pseudo_btf_id (Yauheni Kaliuta) [1874006] - selftests/bpf: Properly initialize linfo in sockmap_basic (Yauheni Kaliuta) [1874006] - selftests/bpf: Initialize duration in xdp_noinline.c (Yauheni Kaliuta) [1874006] - selftests/bpf: Add tests for BPF_F_PRESERVE_ELEMS (Yauheni Kaliuta) [1874006] - bpf: Introduce BPF_F_PRESERVE_ELEMS for perf event array (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix alignment of .BTF_ids (Yauheni Kaliuta) [1874006] - selftests/bpf: Test "incremental" btf_dump in C format (Yauheni Kaliuta) [1874006] - libbpf: Make btf_dump work with modifiable BTF (Yauheni Kaliuta) [1874006] - bpf, selftests: Use bpf_tail_call_static where appropriate (Yauheni Kaliuta) [1874006] - bpf, libbpf: Add bpf_tail_call_static helper for bpf programs (Yauheni Kaliuta) [1874006] - bpf, net: Rework cookie generator as per-cpu one (Yauheni Kaliuta) [1874006] - bpf: Add classid helper only based on skb->sk (Yauheni Kaliuta) [1874006] - bpf: fix raw_tp test run in preempt kernel (Yauheni Kaliuta) [1874006] - libbpf: Compile in PIC mode only for shared library case (Yauheni Kaliuta) [1874006] - libbpf: Compile libbpf under -O2 level by default and catch extra warnings (Yauheni Kaliuta) [1874006] - bpf: x64: Do not emit sub/add 0, rsp when !stack_depth (Yauheni Kaliuta) [1874006] - bpf, x64: Drop "pop rcx" instruction on BPF JIT epilogue (Yauheni Kaliuta) [1874006] - bpf, selftests: Fix warning in snprintf_btf where system() call unchecked (Yauheni Kaliuta) [1874006] - selftests/bpf: Test BTF's handling of endianness (Yauheni Kaliuta) [1874006] - selftests/bpf: Move and extend ASSERT_xxx() testing macros (Yauheni Kaliuta) [1874006] - selftests: Make sure all 'skel' variables are declared static (Yauheni Kaliuta) [1874006] - selftests/bpf_iter: Don't fail test due to missing __builtin_btf_type_id (Yauheni Kaliuta) [1874006] - bpf/preload: Make sure Makefile cleans up after itself, and add .gitignore (Yauheni Kaliuta) [1874006] - selftests/bpf: Ensure snprintf_btf/bpf_iter tests compatibility with old vmlinux.h (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix unused-result warning in snprintf_btf.c (Yauheni Kaliuta) [1874006] - bpf, selftests: Fix cast to smaller integer type 'int' warning in raw_tp (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test for bpf_seq_printf_btf helper (Yauheni Kaliuta) [1874006] - bpf: Add bpf_seq_printf_btf helper (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix overflow tests to reflect iter size increase (Yauheni Kaliuta) [1874006] - bpf: Bump iter seq size to support BTF representation of large data structures (Yauheni Kaliuta) [1874006] - selftests/bpf: Add bpf_snprintf_btf helper tests (Yauheni Kaliuta) [1874006] - bpf: Add bpf_snprintf_btf helper (Yauheni Kaliuta) [1874006] - bpf: Move to generic BTF show support, apply it to seq files/strings (Yauheni Kaliuta) [1874006] - bpf: Provide function to get vmlinux BTF information (Yauheni Kaliuta) [1874006] - selftest: bpf: Test copying a sockmap and sockhash (Yauheni Kaliuta) [1874006] - selftests: bpf: Remove shared header from sockmap iter test (Yauheni Kaliuta) [1874006] - selftests: bpf: Add helper to compare socket cookies (Yauheni Kaliuta) [1874006] - bpf: sockmap: Enable map_update_elem from bpf_iter (Yauheni Kaliuta) [1874006] - bpf, cpumap: Remove rcpu pointer from cpu_map_build_skb signature (Yauheni Kaliuta) [1874006] - selftests/bpf: Add raw_tp_test_run (Yauheni Kaliuta) [1874006] - libbpf: Support test run of raw tracepoint programs (Yauheni Kaliuta) [1874006] - bpf: Enable BPF_PROG_TEST_RUN for raw_tracepoint (Yauheni Kaliuta) [1874006] - bpf: Add comment to document BTF type PTR_TO_BTF_ID_OR_NULL (Yauheni Kaliuta) [1874006] - bpf: Add AND verifier test case where 32bit and 64bit bounds differ (Yauheni Kaliuta) [1874006] - bpf, verifier: Remove redundant var_off.value ops in scalar known reg cases (Yauheni Kaliuta) [1874006] - bpf: selftest: Add test_btf_skc_cls_ingress (Yauheni Kaliuta) [1874006] - bpf: selftest: Remove enum tcp_ca_state from bpf_tcp_helpers.h (Yauheni Kaliuta) [1874006] - bpf: selftest: Use bpf_skc_to_tcp_sock() in the sock_fields test (Yauheni Kaliuta) [1874006] - bpf: selftest: Use network_helpers in the sock_fields test (Yauheni Kaliuta) [1874006] - bpf: selftest: Adapt sock_fields test to use skel and global variables (Yauheni Kaliuta) [1874006] - bpf: selftest: Move sock_fields test into test_progs (Yauheni Kaliuta) [1874006] - bpf: selftest: Add ref_tracking verifier test for bpf_skc casting (Yauheni Kaliuta) [1874006] - bpf: Change bpf_sk_assign to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON (Yauheni Kaliuta) [1874006] - bpf: Change bpf_tcp_*_syncookie to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON (Yauheni Kaliuta) [1874006] - bpf: Change bpf_sk_storage_*() to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON (Yauheni Kaliuta) [1874006] - bpf: Change bpf_sk_release and bpf_sk_*cgroup_id to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON (Yauheni Kaliuta) [1874006] - bpf: Enable bpf_skc_to_* sock casting helper to networking prog type (Yauheni Kaliuta) [1874006] - bpf: Move the PTR_TO_BTF_ID check to check_reg_type() (Yauheni Kaliuta) [1874006] - Revert "bpf: Fix potential call bpf_link_free() in atomic context" (Yauheni Kaliuta) [1874006] - tools resolve_btfids: Always force HOSTARCH (Yauheni Kaliuta) [1874006] - bpf: Check CONFIG_BPF option for resolve_btfids (Yauheni Kaliuta) [1874006] - bpf: Explicitly size compatible_reg_types (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix stat probe in d_path test (Yauheni Kaliuta) [1874006] - bpf: Using rcu_read_lock for bpf_sk_storage_map iterator (Yauheni Kaliuta) [1874006] - bpf: Use a table to drive helper arg type checks (Yauheni Kaliuta) [1874006] - bpf: Hoist type checking for nullable arg types (Yauheni Kaliuta) [1874006] - bpf: Check ARG_PTR_TO_SPINLOCK register type in check_func_arg (Yauheni Kaliuta) [1874006] - bpf: Set meta->raw_mode for pointers close to use (Yauheni Kaliuta) [1874006] - bpf: Make context access check generic (Yauheni Kaliuta) [1874006] - bpf: Make reference tracking generic (Yauheni Kaliuta) [1874006] - bpf: Make BTF pointer type checking generic (Yauheni Kaliuta) [1874006] - bpf: Allow specifying a BTF ID per argument in function protos (Yauheni Kaliuta) [1874006] - btf: Add BTF_ID_LIST_SINGLE macro (Yauheni Kaliuta) [1874006] - bpf: Check scalar or invalid register in check_helper_mem_access (Yauheni Kaliuta) [1874006] - btf: Make btf_set_contains take a const pointer (Yauheni Kaliuta) [1874006] - bpf: Fix potential call bpf_link_free() in atomic context (Yauheni Kaliuta) [1874006] - bpf: Use hlist_add_head_rcu when linking to local_storage (Yauheni Kaliuta) [1874006] - samples/bpf: Fix test_map_in_map on s390 (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix endianness issue in test_sockopt_sk (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix endianness issue in sk_assign (Yauheni Kaliuta) [1874006] - selftests/bpf: Add tailcall_bpf2bpf tests (Yauheni Kaliuta) [1874006] - bpf: Add abnormal return checks. (Yauheni Kaliuta) [1874006] - bpf: allow for tailcalls in BPF subprograms for x64 JIT (Yauheni Kaliuta) [1874006] - bpf, x64: rework pro/epilogue and tailcall handling in JIT (Yauheni Kaliuta) [1874006] - bpf: Limit caller's stack depth 256 for subprogs with tailcalls (Yauheni Kaliuta) [1874006] - bpf: rename poke descriptor's 'ip' member to 'tailcall_target' (Yauheni Kaliuta) [1874006] - bpf: propagate poke descriptors to subprograms (Yauheni Kaliuta) [1874006] - bpf, x64: use rcx instead of rax for tail call retpolines (Yauheni Kaliuta) [1874006] - selftests/bpf: Merge most of test_btf into test_progs (Yauheni Kaliuta) [1874006] - selftests/bpf: Test load and dump metadata with btftool and skel (Yauheni Kaliuta) [1874006] - bpftool: Support dumping metadata (Yauheni Kaliuta) [1874006] - libbpf: Add BPF_PROG_BIND_MAP syscall and use it on .rodata section (Yauheni Kaliuta) [1874006] - bpf: Add BPF_PROG_BIND_MAP syscall (Yauheni Kaliuta) [1874006] - bpf: Mutex protect used_maps array and count (Yauheni Kaliuta) [1874006] - libbpf: Fix a compilation error with xsk.c for ubuntu 16.04 (Yauheni Kaliuta) [1874006] - samples/bpf: Add quiet option to xdpsock (Yauheni Kaliuta) [1874006] - samples: bpf: Add an option for printing extra statistics in xdpsock (Yauheni Kaliuta) [1874006] - samples/bpf: Fix possible deadlock in xdpsock (Yauheni Kaliuta) [1874006] - samples/bpf: Fix one packet sending in xdpsock (Yauheni Kaliuta) [1874006] - s390/bpf: Fix multiple tail calls (Yauheni Kaliuta) [1874006] - tcp: Simplify tcp_set_congestion_control() load=false case (Yauheni Kaliuta) [1874006] - tcp: simplify _bpf_setsockopt(): Remove flags argument (Yauheni Kaliuta) [1874006] - tcp: simplify tcp_set_congestion_control(): Always reinitialize (Yauheni Kaliuta) [1874006] - tcp: Simplify EBPF TCP_CONGESTION to always init CC (Yauheni Kaliuta) [1874006] - bpftool: Fix build failure (Yauheni Kaliuta) [1874006] - tools: bpftool: Automate generation for "SEE ALSO" sections in man pages (Yauheni Kaliuta) [1874006] - bpf: Fix comment for helper bpf_current_task_under_cgroup() (Yauheni Kaliuta) [1874006] - selftests/bpf: Define string const as global for test_sysctl_prog.c (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix test_ksyms on non-SMP kernels (Yauheni Kaliuta) [1874006] - tools: bpftool: Add "inner_map" to "bpftool map create" outer maps (Yauheni Kaliuta) [1874006] - tools: bpftool: Keep errors for map-of-map dumps if distinct from ENOENT (Yauheni Kaliuta) [1874006] - tools: bpftool: Clean up function to dump map entry (Yauheni Kaliuta) [1874006] - selftests: bpf: Test iterating a sockmap (Yauheni Kaliuta) [1874006] - net: Allow iterating sockmap and sockhash (Yauheni Kaliuta) [1874006] - net: sockmap: Remove unnecessary sk_fullsock checks (Yauheni Kaliuta) [1874006] - tools: bpftool: Include common options from separate file (Yauheni Kaliuta) [1874006] - tools: bpftool: Print optional built-in features along with version (Yauheni Kaliuta) [1874006] - selftests, bpftool: Add bpftool (and eBPF helpers) documentation build (Yauheni Kaliuta) [1874006] - tools: bpftool: Log info-level messages when building bpftool man pages (Yauheni Kaliuta) [1874006] - bpf: Remove duplicate headers (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix test_sysctl_loop{1, 2} failure due to clang change (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test for map_ptr arithmetic (Yauheni Kaliuta) [1874006] - bpf: Permit map_ptr arithmetic with opcode add and offset 0 (Yauheni Kaliuta) [1874006] - tools, bpf: Synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1874006] - bpf: Fix formatting in documentation for BPF helpers (Yauheni Kaliuta) [1874006] - tools: bpftool: Fix formatting in bpftool-link documentation (Yauheni Kaliuta) [1874006] - samples, bpf: Add xsk_fwd test file to .gitignore (Yauheni Kaliuta) [1874006] - samples, bpf: Replace bpf_program__title() with bpf_program__section_name() (Yauheni Kaliuta) [1874006] - libbpf: Fix potential multiplication overflow (Yauheni Kaliuta) [1874006] - libbpf: Fix another __u64 cast in printf (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix check in global_data_init. (Yauheni Kaliuta) [1874006] - selftests/bpf: Add __noinline variant of cls_redirect selftest (Yauheni Kaliuta) [1874006] - selftests/bpf: Modernize xdp_noinline test w/ skeleton and __noinline (Yauheni Kaliuta) [1874006] - selftests/bpf: Add subprogs to pyperf, strobemeta, and l4lb_noinline tests (Yauheni Kaliuta) [1874006] - tools/bpftool: Replace bpf_program__title() with bpf_program__section_name() (Yauheni Kaliuta) [1874006] - selftests/bpf: Don't use deprecated libbpf APIs (Yauheni Kaliuta) [1874006] - libbpf: Deprecate notion of BPF program "title" in favor of "section name" (Yauheni Kaliuta) [1874006] - selftests/bpf: Add selftest for multi-prog sections and bpf-to-bpf calls (Yauheni Kaliuta) [1874006] - libbpf: Add multi-prog section support for struct_ops (Yauheni Kaliuta) [1874006] - libbpf: Implement generalized .BTF.ext func/line info adjustment (Yauheni Kaliuta) [1874006] - libbpf: Make RELO_CALL work for multi-prog sections and sub-program calls (Yauheni Kaliuta) [1874006] - libbpf: Support CO-RE relocations for multi-prog sections (Yauheni Kaliuta) [1874006] - libbpf: Parse multi-function sections into multiple BPF programs (Yauheni Kaliuta) [1874006] - libbpf: Ensure ELF symbols table is found before further ELF processing (Yauheni Kaliuta) [1874006] - selftests/bpf: Test task_file iterator without visiting pthreads (Yauheni Kaliuta) [1874006] - bpf: Avoid iterating duplicated files for task_file iterator (Yauheni Kaliuta) [1874006] - bpf: {cpu,dev}map: Change various functions return type from int to void (Yauheni Kaliuta) [1874006] - module: Fix up module_notifier return values (Yauheni Kaliuta) [1874006] - bpf: Remove bpf_lsm_file_mprotect from sleepable list. (Yauheni Kaliuta) [1874006] - samples/bpf: Fix to xdpsock to avoid recycling frames (Yauheni Kaliuta) [1874006] - samples/bpf: Optimize l2fwd performance in xdpsock (Yauheni Kaliuta) [1874006] - samples/bpf: Add new sample xsk_fwd.c (Yauheni Kaliuta) [1874006] - libbpf: Support shared umems between queues and devices (Yauheni Kaliuta) [1874006] - selftests/bpf: Add sleepable tests (Yauheni Kaliuta) [1874006] - libbpf: Support sleepable progs (Yauheni Kaliuta) [1874006] - bpf: Add bpf_copy_from_user() helper. (Yauheni Kaliuta) [1874006] - bpf: Fix build without BPF_LSM. (Yauheni Kaliuta) [1874006] - bpf: Introduce sleepable BPF programs (Yauheni Kaliuta) [1874006] - mm/error_inject: Fix allow_error_inject function signatures. (Yauheni Kaliuta) [1874006] - mm/filemap.c: enable error injection at add_to_page_cache() (Yauheni Kaliuta) [1874006] - mm/page_alloc.c: allow error injection (Yauheni Kaliuta) [1874006] - bpf: selftests: Add test for different inner map size (Yauheni Kaliuta) [1874006] - bpf: Relax max_entries check for most of the inner map types (Yauheni Kaliuta) [1874006] - bpf: Add map_meta_equal map ops (Yauheni Kaliuta) [1874006] - bpf: Make bpf_link_info.iter similar to bpf_iter_link_info (Yauheni Kaliuta) [1874006] - tools, bpf/build: Cleanup feature files on make clean (Yauheni Kaliuta) [1874006] - libbpf: Fix compilation warnings for 64-bit printf args (Yauheni Kaliuta) [1874006] - selftests/bpf: Add verifier tests for xor operation (Yauheni Kaliuta) [1874006] - libbpf: Fix unintentional success return code in bpf_object__load (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix spelling mistake "scoket" -> "socket" (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix open call in trigger_fstat_events (Yauheni Kaliuta) [1874006] - selftests/bpf: Add set test to resolve_btfids (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test for d_path helper (Yauheni Kaliuta) [1874006] - selftests/bpf: Add verifier test for d_path helper (Yauheni Kaliuta) [1874006] - bpf: Update .BTF_ids section in btf.rst with sets info (Yauheni Kaliuta) [1874006] - bpf: Add d_path helper (Yauheni Kaliuta) [1874006] - bpf: Add BTF_SET_START/END macros (Yauheni Kaliuta) [1874006] - bpf: Add btf_struct_ids_match function (Yauheni Kaliuta) [1874006] - bpf: Factor btf_struct_access function (Yauheni Kaliuta) [1874006] - bpf: Remove recursion call in btf_struct_access (Yauheni Kaliuta) [1874006] - bpf: Add type_id pointer as argument to __btf_resolve_size (Yauheni Kaliuta) [1874006] - bpf: Add elem_id pointer as argument to __btf_resolve_size (Yauheni Kaliuta) [1874006] - bpf: Move btf_resolve_size into __btf_resolve_size (Yauheni Kaliuta) [1874006] - tools resolve_btfids: Add support for set symbols (Yauheni Kaliuta) [1874006] - tools resolve_btfids: Add size check to get_id function (Yauheni Kaliuta) [1874006] - bpf: Disallow BPF_PRELOAD in allmodconfig builds (Yauheni Kaliuta) [1874006] - bpf: Add selftests for local_storage (Yauheni Kaliuta) [1874006] - bpf: Allow local storage to be used from LSM programs (Yauheni Kaliuta) [1874006] - bpf: Implement bpf_local_storage for inodes (Yauheni Kaliuta) [1874006] - bpf: Split bpf_local_storage to bpf_sk_storage (Yauheni Kaliuta) [1874006] - bpf: Generalize bpf_sk_storage (Yauheni Kaliuta) [1874006] - bpf: Generalize caching for sk_storage. (Yauheni Kaliuta) [1874006] - bpf: Renames in preparation for bpf_local_storage (Yauheni Kaliuta) [1874006] - selftests/bpf: Enable tc verbose mode for test_sk_assign (Yauheni Kaliuta) [1874006] - samples: bpf: Refactor tracepoint tracing programs with libbpf (Yauheni Kaliuta) [1874006] - samples: bpf: Refactor kprobe tracing programs with libbpf (Yauheni Kaliuta) [1874006] - selftests: bpf: Fix sockmap update nits (Yauheni Kaliuta) [1874006] - libbpf: Fix type compatibility check copy-paste error (Yauheni Kaliuta) [1874006] - libbpf: Avoid false unuinitialized variable warning in bpf_core_apply_relo (Yauheni Kaliuta) [1874006] - bpf: sk_lookup: Add user documentation (Yauheni Kaliuta) [1874006] - docs: Correct subject prefix and update LLVM info (Yauheni Kaliuta) [1874006] - libbpf: Normalize and improve logging across few functions (Yauheni Kaliuta) [1874006] - libbpf: Skip well-known ELF sections when iterating ELF (Yauheni Kaliuta) [1874006] - libbpf: Add __noinline macro to bpf_helpers.h (Yauheni Kaliuta) [1874006] - libbpf: Factor out common ELF operations and improve logging (Yauheni Kaliuta) [1874006] - libbpf: Add perf_buffer APIs for better integration with outside epoll loop (Yauheni Kaliuta) [1874006] - bpftool: Implement link_query for bpf iterators (Yauheni Kaliuta) [1874006] - bpf: Implement link_query callbacks in map element iterators (Yauheni Kaliuta) [1874006] - bpf: Implement link_query for bpf iterators (Yauheni Kaliuta) [1874006] - selftests/bpf: List newest Clang built-ins needed for some CO-RE selftests (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix two minor compilation warnings reported by GCC 4.9 (Yauheni Kaliuta) [1874006] - libbpf: Fix libbpf build on compilers missing __builtin_mul_overflow (Yauheni Kaliuta) [1874006] - libbpf: Fix detection of BPF helper call instruction (Yauheni Kaliuta) [1874006] - selftests/bpf: Add bpffs preload test. (Yauheni Kaliuta) [1874006] - bpf: Add kernel module with user mode driver that populates bpffs. (Yauheni Kaliuta) [1874006] - bpf: Add BPF program and map iterators as built-in BPF programs. (Yauheni Kaliuta) [1874006] - bpf: Factor out bpf_link_by_id() helper. (Yauheni Kaliuta) [1874006] - libbpf: Simplify the return expression of build_map_pin_path() (Yauheni Kaliuta) [1874006] - selftests/bpf: Add tests for ENUMVAL_EXISTS/ENUMVAL_VALUE relocations (Yauheni Kaliuta) [1874006] - libbpf: Implement enum value-based CO-RE relocations (Yauheni Kaliuta) [1874006] - selftests/bpf: Add CO-RE relo test for TYPE_ID_LOCAL/TYPE_ID_TARGET (Yauheni Kaliuta) [1874006] - selftests/bpf: Test TYPE_EXISTS and TYPE_SIZE CO-RE relocations (Yauheni Kaliuta) [1874006] - libbpf: Implement type-based CO-RE relocations support (Yauheni Kaliuta) [1874006] - libbpf: Centralize poisoning and poison reallocarray() (Yauheni Kaliuta) [1874006] - tools/bpftool: Remove libbpf_internal.h usage in bpftool (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test validating failure on ambiguous relocation value (Yauheni Kaliuta) [1874006] - libbpf: Improve relocation ambiguity detection (Yauheni Kaliuta) [1874006] - libbpf: Detect minimal BTF support and skip BTF loading, if missing (Yauheni Kaliuta) [1874006] - libbpf: Sanitize BPF program code for bpf_probe_read_{kernel, user}[_str] (Yauheni Kaliuta) [1874006] - libbpf: Factor out common logic of testing and closing FD (Yauheni Kaliuta) [1874006] - libbpf: Make kernel feature probing lazy (Yauheni Kaliuta) [1874006] - libbpf: Disable -Wswitch-enum compiler warning (Yauheni Kaliuta) [1874006] - libbpf: Convert comma to semicolon (Yauheni Kaliuta) [1874006] - samples: bpf: Fix broken bpf programs due to removed symbol (Yauheni Kaliuta) [1874006] - bpf: Replace GPLv2 boilerplate/reference with SPDX - rule 206 (Jiri Benc) [1874006] - LSM: Make some functions static (Yauheni Kaliuta) [1874006] - LSM: Make lsm_early_cred() and lsm_early_task() local functions. (Yauheni Kaliuta) [1874006] - LSM: Infrastructure management of the ipc security blob (Yauheni Kaliuta) [1874006] - LSM: Infrastructure management of the task security (Yauheni Kaliuta) [1874006] - LSM: Infrastructure management of the inode security (Yauheni Kaliuta) [1874006] - LSM: Infrastructure management of the file security (Yauheni Kaliuta) [1874006] - Infrastructure management of the cred security blob (Yauheni Kaliuta) [1874006] - kernel: move CONFIG_TASKS_TRACE_RCU fields to task_struct_rh (Jiri Benc) [1874006] - kernel: store pointer to task_struct in task_struct_rh (Jiri Benc) [1874006]- igb: Add double-check MTA_REGISTER for i210 and i211 (Corinna Vinschen) [1920286] - igb: Redistribute memory for transmit packet buffers when in Qav mode (Corinna Vinschen) [1920286] - igb: Fix fall-through warnings for Clang (Corinna Vinschen) [1920286] - intel: clean up mismatched header comments (Corinna Vinschen) [1920286] - igb: check timestamp validity (Corinna Vinschen) [1920286] - igb: Fix duplicate include guard (Corinna Vinschen) [1920286] - intel: Update drivers to use ethtool_sprintf (Corinna Vinschen) [1920286] - net: ethernet: intel: igb: Typo fix in the file igb_main.c (Corinna Vinschen) [1920286] - igb: avoid premature Rx buffer reuse (Corinna Vinschen) [1920286] - igb: remove h from printk format specifier (Corinna Vinschen) [1920286] - igb: Enable RSS for Intel I211 Ethernet Controller (Corinna Vinschen) [1920286] - igb: fix TDBAL register show incorrect value (Corinna Vinschen) [1920286] - net: igb: use skb_csum_is_sctp instead of protocol check (Corinna Vinschen) [1920286] - igb: avoid transmit queue timeout in xdp path (Corinna Vinschen) [1920286] - igb: use xdp_do_flush (Corinna Vinschen) [1920286] - igb: skb add metasize for xdp (Corinna Vinschen) [1920286] - igb: XDP extack message on error (Corinna Vinschen) [1920286] - igb: take VLAN double header into account (Corinna Vinschen) [1920286] - igb: XDP xmit back fix error code (Corinna Vinschen) [1920286] - igb: add XDP support (Corinna Vinschen) [1920286] - r8169: don't advertise pause in jumbo mode (Josef Oskera) [1935346] - r8169: fix DMA being used after buffer free if WoL is enabled (Josef Oskera) [1935346] - r8169: fix r8168fp_adjust_ocp_cmd function (Josef Oskera) [1935346] - r8169: use macro pm_ptr (Josef Oskera) [1935346] - r8169: fix resuming from suspend on RTL8105e if machine runs on battery (Josef Oskera) [1935346] - r8169: handle tx before rx in napi poll (Josef Oskera) [1935346] - r8169: disable detection of bogus xid's 308/388 (Josef Oskera) [1935346] - r8169: re-configure WOL settings on resume from hibernation (Josef Oskera) [1935346] - r8169: don't try to disable interrupts if NAPI is scheduled already (Josef Oskera) [1935346] - r8169: Add support for another RTL8168FP (Josef Oskera) [1935346] - r8169: fix WoL on shutdown if CONFIG_DEBUG_SHIRQ is set (Josef Oskera) [1935346] - r8169: work around RTL8125 UDP hw bug (Josef Oskera) [1935346] - r8169: remove not needed call to rtl_wol_enable_rx from rtl_shutdown (Josef Oskera) [1935346] - r8169: improve DASH support (Josef Oskera) [1935346] - r8169: improve rtl8169_rx_csum (Josef Oskera) [1935346] - r8169: align rtl_wol_suspend_quirk with vendor driver and rename it (Josef Oskera) [1935346] - r8169: clean up rtl_pll_power_down/up functions (Josef Oskera) [1935346] - r8169: improve handling D3 PLL power-down (Josef Oskera) [1935346] - r8169: enable PLL power-down for chip versions 34, 35, 36, 42 (Josef Oskera) [1935346] - r8169: make use of the unaligned access helpers (Josef Oskera) [1935346] - r8169: tweak max read request size for newer chips also in jumbo mtu mode (Josef Oskera) [1935346] - r8169: align RTL8168e jumbo pcie read request size with vendor driver (Josef Oskera) [1935346] - r8169: don't wakeup-enable device on shutdown if WOL is disabled (Josef Oskera) [1935346] - r8169: improve rtl_ocp_reg_failure (Josef Oskera) [1935346] - r8169: replace BUG_ON with WARN in _rtl_eri_write (Josef Oskera) [1935346] - r8169: improve RTL8168g PHY suspend quirk (Josef Oskera) [1935346] - r8169: move ERI access functions to avoid forward declaration (Josef Oskera) [1935346] - r8169: work around power-saving bug on some chip versions (Josef Oskera) [1935346] - r8169: make NUM_RX_DESC a signed int (Josef Oskera) [1935346] - r8169: improve rtl_rx (Josef Oskera) [1935346] - r8169: set tc_offset only if tally counter reset isn't supported (Josef Oskera) [1935346] - net: phy: realtek: read actual speed on rtl8211f to detect downshift (Josef Oskera) [1935346] - r8169: use dev_err_probe in rtl_get_ether_clk (Josef Oskera) [1935346] - r8169: reduce number of workaround doorbell rings (Josef Oskera) [1935346] - r8169: remove not needed check in rtl8169_start_xmit (Josef Oskera) [1935346] - r8169: remove nr_frags argument from rtl_tx_slots_avail (Josef Oskera) [1935346] - r8169: improve rtl8169_start_xmit (Josef Oskera) [1935346] - r8169: improve rtl_tx (Josef Oskera) [1935346] - r8169: use READ_ONCE in rtl_tx_slots_avail (Josef Oskera) [1935346] - net: phy: realtek: support paged operations on RTL8201CP (Josef Oskera) [1935346] - r8169: disable hw csum for short packets on all chip versions (Josef Oskera) [1935346] - r8169: fix potential skb double free in an error path (Josef Oskera) [1935346] - r8169: work around short packet hw bug on RTL8125 (Josef Oskera) [1935346] - net: phy: realtek: Add support for RTL8221B-CG series (Josef Oskera) [1935346] - r8169: set IRQF_NO_THREAD if MSI(X) is enabled (Josef Oskera) [1935346] - r8169: align number of tx descriptors with vendor driver (Josef Oskera) [1935346] - r8169: use pm_runtime_put_sync in rtl_open error path (Josef Oskera) [1935346] - r8169: remove unneeded memory barrier in rtl_tx (Josef Oskera) [1935346] - r8169: remove no longer needed private rx/tx packet/byte counters (Josef Oskera) [1935346] - r8169: use struct pcpu_sw_netstats for rx/tx packet/byte counters (Josef Oskera) [1935346] - treewide: Use fallthrough pseudo-keyword (Josef Oskera) [1935346] - r8169: fix jumbo packet handling on RTL8168e (Josef Oskera) [1915314] - sctp: delay auto_asconf init until binding the first addr (Xin Long) [1952020] - netfilter: x_tables: fix compat match/target pad out-of-bound write (Florian Westphal) [1950014] - netfilter: arp_tables: add pre_exit hook for table unregister (Florian Westphal) [1950014] - netfilter: bridge: add pre_exit hooks for ebtable unregistration (Florian Westphal) [1950014] - netfilter: nft_limit: avoid possible divide error in nft_limit_init (Florian Westphal) [1950014] - netfilter: conntrack: do not print icmpv6 as unknown via /proc (Florian Westphal) [1950014] - netfilter: flowtable: fix NAT IPv6 offload mangling (Florian Westphal) [1950014] - netfilter: flowtable: Make sure GC works periodically in idle system (Florian Westphal) [1950014] - netfilter: nftables: report EOPNOTSUPP on unsupported flowtable flags (Florian Westphal) [1950014] - netfilter: ctnetlink: fix dump of the expect mask attribute (Florian Westphal) [1950014] - netfilter: x_tables: gpf inside xt_find_revision() (Florian Westphal) [1950014] - netfilter: conntrack: skip identical origin tuple in same zone only (Florian Westphal) [1950014] - flow_dissector: fix byteorder of dissected ICMP ID (Paolo Abeni) [1950288] - flow_dissector: fix TTL and TOS dissection on IPv4 fragments (Paolo Abeni) [1950288] - net: Disable NETIF_F_HW_TLS_RX when RXCSUM is disabled (Paolo Abeni) [1950288] - net: core: devlink: use right genl user_ptr when handling port param get/set (Paolo Abeni) [1950288] - net_sched: gen_estimator: support large ewma log (Paolo Abeni) [1950288] - net: Allow NETIF_F_HW_TLS_TX if IP_CSUM && IPV6_CSUM (Paolo Abeni) [1950288] - net: Disable NETIF_F_HW_TLS_TX when HW_CSUM is disabled (Paolo Abeni) [1950288] - devlink: Add devlink port documentation (Petr Oros) [1935708] - devlink: Support get and set state of port function (Petr Oros) [1935708] - devlink: Support add and delete devlink port (Petr Oros) [1935708] - devlink: Introduce PCI SF port flavour and port attribute (Petr Oros) [1935708] - devlink: Prepare code to fill multiple port function attributes (Petr Oros) [1935708] - net: core: devlink: simplify the return expression of devlink_nl_cmd_trap_set_doit() (Petr Oros) [1935708] - video: hyperv_fb: Add ratelimit on error message (Mohammed Gamal) [1957804] - ovl: allow upperdir inside lowerdir (Miklos Szeredi) [1903647] - i2c: i801: Add support for Intel Alder Lake PCH-P (Steve Best) [1929488] - pinctrl: tigerlake: Add Alder Lake-P ACPI ID (Steve Best) [1929492] - xfs: set aside allocation btree blocks from block reservation (Brian Foster) [1911738] - xfs: introduce in-core global counter of allocbt blocks (Brian Foster) [1911738] - xfs: unconditionally read all AGFs on mounts with perag reservation (Brian Foster) [1911738] - xfs: drop unnecessary setfilesize helper (Brian Foster) [1942348] - xfs: drop unused ioend private merge and setfilesize code (Brian Foster) [1942348] - xfs: open code ioend needs workqueue helper (Brian Foster) [1942348] - xfs: drop submit side trans alloc for append ioends (Brian Foster) [1942348] - blk-mq: Use request queue-wide tags for tagset-wide sbitmap (Ming Lei) [1932145] - blk-mq: Some tag allocation code refactoring (Ming Lei) [1932145] - blk-mq: Swap two calls in blk_mq_exit_queue() (Ming Lei) [1932145] - blk-mq: plug request for shared sbitmap (Ming Lei) [1932145] - blk-mq: set default elevator as deadline in case of hctx shared tagset (Ming Lei) [1932145] - powerpc/perf: Fix PMU constraint check for EBB events (Diego Domingos) [1926573] - s390/idle: fix suspicious RCU usage (Waiman Long) [1963142] - x86/cpu: Add another Alder Lake CPU to the Intel family (Steve Best) [1962033] - x86/split_lock: Don't write MSR_TEST_CTRL on CPUs that aren't whitelisted (Prarit Bhargava) [1837350] - Documentation/admin-guide: Change doc for split_lock_detect parameter (Prarit Bhargava) [1837350] - x86/traps: Handle #DB for bus lock (Prarit Bhargava) [1837350] - x86/cpufeatures: Enumerate #DB for bus lock detection (Prarit Bhargava) [1837350] - x86/split_lock: Enable the split lock feature on another Alder Lake CPU (Prarit Bhargava) [1925373] - x86/cpu: Add another Alder Lake CPU to the Intel family (Prarit Bhargava) [1925373] - x86/split_lock: Enable the split lock feature on Sapphire Rapids and Alder Lake CPUs (Prarit Bhargava) [1925373]- libbpf: Add user-space variants of BPF_CORE_READ() family of macros (Jiri Olsa) [1896362] - libbpf: Switch tracing and CO-RE helper macros to bpf_probe_read_kernel() (Jiri Olsa) [1896362] - selftests/bpf: Fix test_vmlinux test to use bpf_probe_read_user() (Jiri Olsa) [1896362] - samples/bpf, selftests/bpf: Use bpf_probe_read_kernel (Jiri Olsa) [1896362] - bpf: Restrict bpf_probe_read{, str}() only to archs where they work (Jiri Olsa) [1896362] - perf/x86/intel/uncore: Add Rocket Lake support (Michael Petlan) [1837502] - perf/x86/cstate: Add Rocket Lake CPU support (Michael Petlan) [1837497] - perf/x86/intel: Add Rocket Lake CPU support (Michael Petlan) [1837497] - perf/x86/msr: Add Rocket Lake CPU support (Michael Petlan) [1837497] - tick/nohz: Kick only _queued_ task whose tick dependency is updated (Waiman Long) [1922901] - tick/nohz: Change signal tick dependency to wake up CPUs of member tasks (Waiman Long) [1922901] - tick/nohz: Only wake up a single target cpu when kicking a task (Waiman Long) [1922901] - tick/nohz: Narrow down noise while setting current task's tick dependency (Waiman Long) [1922901] - sched/fair: Fix shift-out-of-bounds in load_balance() (Phil Auld) [1958730] - redhat/configs: Update torture test configs (Waiman Long) [1941211] - rcu: Do not report strict GPs for outgoing CPUs (Waiman Long) [1941211] - rcu,ftrace: Fix ftrace recursion (Waiman Long) [1941211] - arm64: smp: Tell RCU about CPUs that fail to come online (Waiman Long) [1941211] - rcu: Don't invoke try_invoke_on_locked_down_task() with irqs disabled (Waiman Long) [1941211] - rcu-tasks: Enclose task-list scan in rcu_read_lock() (Waiman Long) [1941211] - rcu-tasks: Fix low-probability task_struct leak (Waiman Long) [1941211] - rcu-tasks: Fix grace-period/unlock race in RCU Tasks Trace (Waiman Long) [1941211] - rcu-tasks: Shorten per-grace-period sleep for RCU Tasks Trace (Waiman Long) [1941211] - rcu-tasks: Selectively enable more RCU Tasks Trace IPIs (Waiman Long) [1941211] - rcu-tasks: Use more aggressive polling for RCU Tasks Trace (Waiman Long) [1941211] - rcu-tasks: Mark variables static (Waiman Long) [1941211] - rcu-tasks: Prevent complaints of unused show_rcu_tasks_classic_gp_kthread() (Waiman Long) [1941211] - rcu: Remove unused "cpu" parameter from rcu_report_qs_rdp() (Waiman Long) [1941211] - torture: Add gdb support (Waiman Long) [1941211] - rcuperf: Change rcuperf to rcuscale (Waiman Long) [1941211] - sched,rcuperf: Convert to sched_set_fifo_low() (Waiman Long) [1941211] - rcu/rcuperf: Convert to SPDX license identifier (Waiman Long) [1941211] - rcutorture: Allow pointer leaks to test diagnostic code (Waiman Long) [1941211] - rcu: Report QS for outermost PREEMPT=n rcu_read_unlock() for strict GPs (Waiman Long) [1941211] - rcu: locking and unlocking need to always be at least barriers (Waiman Long) [1941211] - rcu: Execute RCU reader shortly after rcu_core for strict GPs (Waiman Long) [1941211] - rcu: Provide optional RCU-reader exit delay for strict GPs (Waiman Long) [1941211] - rcu: Make FQS more aggressive in complaining about offline CPUs (Waiman Long) [1941211] - rcu: Clarify comments about FQS loop reporting quiescent states (Waiman Long) [1941211] - rcu: IPI all CPUs at GP end for strict GPs (Waiman Long) [1941211] - rcu: IPI all CPUs at GP start for strict GPs (Waiman Long) [1941211] - rcu: Attempt QS when CPU discovers GP for strict GPs (Waiman Long) [1941211] - rcu: Do full report for .need_qs for strict GPs (Waiman Long) [1941211] - rcu: Always set .need_qs from __rcu_read_lock() for strict GPs (Waiman Long) [1941211] - rcu: Force DEFAULT_RCU_BLIMIT to 1000 for strict RCU GPs (Waiman Long) [1941211] - rcu: Restrict default jiffies_till_first_fqs for strict RCU GPs (Waiman Long) [1941211] - rcu: Reduce leaf fanout for strict RCU grace periods (Waiman Long) [1941211] - rcu: Add Kconfig option for strict RCU grace periods (Waiman Long) [1941211] - rcu/nocb: Add a warning for non-GP kthread running GP code (Waiman Long) [1941211] - rcu: Move rcu_cpu_started per-CPU variable to rcu_data (Waiman Long) [1941211] - scftorture: Add cond_resched() to test loop (Waiman Long) [1941211] - rcutorture: Hoist OOM registry up one level (Waiman Long) [1941211] - rcutorture: Properly synchronize with OOM notifier (Waiman Long) [1941211] - rcutorture: Properly set rcu_fwds for OOM handling (Waiman Long) [1941211] - torture: Add kvm.sh --help and update help message (Waiman Long) [1941211] - refperf: Avoid null pointer dereference when buf fails to allocate (Waiman Long) [1941211] - rcutorture: Add CONFIG_PROVE_RCU_LIST to TREE05 (Waiman Long) [1941211] - torture: Update initrd documentation (Waiman Long) [1941211] - rcutorture: Replace HTTP links with HTTPS ones (Waiman Long) [1941211] - rcu: Fix kerneldoc comments in rcupdate.h (Waiman Long) [1941211] - scftorture: Adapt memory-ordering test to UP operation (Waiman Long) [1941211] - torture: document --allcpus argument added to the kvm.sh script (Waiman Long) [1941211] - scftorture: Block scftorture_invoker() kthreads for offline CPUs (Waiman Long) [1941211] - scftorture: Check unexpected "switch" statement value (Waiman Long) [1941211] - scftorture: Make symbol 'scf_torture_rand' static (Waiman Long) [1941211] - scftorture: Prevent compiler from reducing race probabilities (Waiman Long) [1941211] - scftorture: Flag errors in torture-compatible manner (Waiman Long) [1941211] - scftorture: Consolidate scftorture_invoke_one() scf_check initialization (Waiman Long) [1941211] - scftorture: Consolidate scftorture_invoke_one() check and kfree() (Waiman Long) [1941211] - scftorture: Add smp_call_function() memory-ordering checks (Waiman Long) [1941211] - scftorture: Add smp_call_function_many() memory-ordering checks (Waiman Long) [1941211] - scftorture: Add smp_call_function_single() memory-ordering checks (Waiman Long) [1941211] - scftorture: Summarize per-thread statistics (Waiman Long) [1941211] - torture: Declare parse-console.sh independence from rcutorture (Waiman Long) [1941211] - tick-sched: Clarify "NOHZ: local_softirq_pending" warning (Waiman Long) [1941211] - scftorture: Implement weighted primitive selection (Waiman Long) [1941211] - torture: Add scftorture to the rcutorture scripting (Waiman Long) [1941211] - scftorture: Add smp_call_function() torture test (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_cpu_stall_ftrace_dump (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_kick_kthreads (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_resched_ns (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_divisor (Waiman Long) [1941211] - nocb: Remove show_rcu_nocb_state() false positive printout (Waiman Long) [1941211] - rcu/tree: Remove CONFIG_PREMPT_RCU check in force_qs_rnp() (Waiman Long) [1941211] - nocb: Clarify RCU nocb CPU error message (Waiman Long) [1941211] - rcu/tree: Force quiescent state on callback overload (Waiman Long) [1941211] - rcu/trace: Use gp_seq_req in acceleration's rcu_grace_period tracepoint (Waiman Long) [1941211] - rcu/trace: Print negative GP numbers correctly (Waiman Long) [1941211] - rcutorture: Output number of elapsed grace periods (Waiman Long) [1941211] - rcu: Initialize at declaration time in rcu_exp_handler() (Waiman Long) [1941211] - rcu: Remove KCSAN stubs from update.c (Waiman Long) [1941211] - rcu: Remove KCSAN stubs (Waiman Long) [1941211] - srcu: Remove KCSAN stubs (Waiman Long) [1941211] - rcutorture: Remove KCSAN stubs (Waiman Long) [1941211] - refscale: Change --torture type from refperf to refscale (Waiman Long) [1941211] - refperf: Rename refperf.c to refscale.c and change internal names (Waiman Long) [1941211] - refperf: Rename RCU_REF_PERF_TEST to RCU_REF_SCALE_TEST (Waiman Long) [1941211] - torture: Remove obsolete "cd $KVM" (Waiman Long) [1941211] - torture: Avoid duplicate specification of qemu command (Waiman Long) [1941211] - torture: Dump ftrace at shutdown only if requested (Waiman Long) [1941211] - torture: Add kvm-tranform.sh script for qemu-cmd files (Waiman Long) [1941211] - torture: Add more tracing crib notes to kvm.sh (Waiman Long) [1941211] - torture: Improve diagnostic for KCSAN-incapable compilers (Waiman Long) [1941211] - torture: Correctly summarize build-only runs (Waiman Long) [1941211] - torture: Pass --kmake-arg to all make invocations (Waiman Long) [1941211] - kernel/rcu/tree.c: Fix kernel-doc warnings (Waiman Long) [1941211] - rcu-tasks: Fix synchronize_rcu_tasks_trace() header comment (Waiman Long) [1941211] - rcu: grpnum just records group number (Waiman Long) [1941211] - rcu: grplo/grphi just records CPU number (Waiman Long) [1941211] - rcu: gp_max is protected by root rcu_node's lock (Waiman Long) [1941211] - rcutorture: Check for unwatched readers (Waiman Long) [1941211] - torture: Abstract out console-log error detection (Waiman Long) [1941211] - torture: Add a stop-run capability (Waiman Long) [1941211] - rcu-tasks: Fix code-style issues (Waiman Long) [1941211] - torture: Create qemu-cmd in --buildonly runs (Waiman Long) [1941211] - rcu: Stop shrinker loop (Waiman Long) [1941211] - refperf: Add test for RCU Tasks readers (Waiman Long) [1941211] - refperf: Add test for RCU Tasks Trace readers. (Waiman Long) [1941211] - rcu: Replace 1 with true (Waiman Long) [1941211] - rcu/rcutorture: Replace 0 with false (Waiman Long) [1941211] - refperf: Change readdelay module parameter to nanoseconds (Waiman Long) [1941211] - refperf: Work around 64-bit division (Waiman Long) [1941211] - doc: Document rcuperf's module parameters (Waiman Long) [1941211] - refperf: Adjust refperf.loop default value (Waiman Long) [1941211] - rcu-tasks: Conditionally compile show_rcu_tasks_gp_kthreads() (Waiman Long) [1941211] - rcu-tasks: Add #include of rcupdate_trace.h to update.c (Waiman Long) [1941211] - rcu-tasks: Make rcu_tasks_postscan() be static (Waiman Long) [1941211] - refperf: Add read-side delay module parameter (Waiman Long) [1941211] - lockdep: Complain only once about RCU in extended quiescent state (Waiman Long) [1941211] - refperf: Simplify initialization-time wakeup protocol (Waiman Long) [1941211] - rcu: Allow for smp_call_function() running callbacks from idle (Waiman Long) [1941211] - refperf: Output per-experiment data points (Waiman Long) [1941211] - refperf: Label experiment-number column "Runs" (Waiman Long) [1941211] - refperf: Add warmup and cooldown processing phases (Waiman Long) [1941211] - refperf: More closely synchronize reader start times (Waiman Long) [1941211] - refperf: Convert reader_task structure's "start" field to int (Waiman Long) [1941211] - refperf: Tune reader measurement interval (Waiman Long) [1941211] - refperf: Make functions static (Waiman Long) [1941211] - srcu: Avoid local_irq_save() before acquiring spinlock_t (Waiman Long) [1941211] - refperf: Dynamically allocate thread-summary output buffer (Waiman Long) [1941211] - refperf: Dynamically allocate experiment-summary output buffer (Waiman Long) [1941211] - refperf: Provide module parameter to specify number of experiments (Waiman Long) [1941211] - refperf: Convert nreaders to a module parameter (Waiman Long) [1941211] - refperf: Allow decimal nanoseconds (Waiman Long) [1941211] - refperf: Hoist function-pointer calls out of the loop (Waiman Long) [1941211] - rcu: Introduce single argument kvfree_rcu() interface (Waiman Long) [1941211] - refperf: Add holdoff parameter to allow CPUs to come online (Waiman Long) [1941211] - torture: Add refperf to the rcutorture scripting (Waiman Long) [1941211] - rcuperf: Add comments explaining the high reader overhead (Waiman Long) [1941211] - refperf: Add a test to measure performance of read-side synchronization (Waiman Long) [1941211] - rcuperf: Remove useless while loops around wait_event (Waiman Long) [1941211] - rcu: Provide rcu_irq_exit_check_preempt() (Waiman Long) [1941211] - sched,rcu,tracing: Avoid tracing before in_nmi() is correct (Waiman Long) [1941211] - hardirq/nmi: Allow nested nmi_enter() (Waiman Long) [1941211] - powerpc/64s: Include header file to fix a warning (Waiman Long) [1941211] - powerpc/64s: system reset interrupt preserve HSRRs (Waiman Long) [1941211] - powerpc/64s: Fix HV NMI vs HV interrupt recoverability test (Waiman Long) [1941211] - powerpc/traps: fix recoverability of machine check handling on book3s/32 (Waiman Long) [1941211] - powerpc/traps: restore recoverability of machine_check interrupts (Waiman Long) [1941211] - rcu: Mark rcu_nmi_enter() call to rcu_cleanup_after_idle() noinstr (Waiman Long) [1941211] - rcu: Remove initialized but unused rnp from check_slow_task() (Waiman Long) [1941211] - rcu: Update comment from rsp->rcu_gp_seq to rsp->gp_seq (Waiman Long) [1941211] - rcu: Provide __rcu_is_watching() (Waiman Long) [1941211] - doc: Tasks RCU must protect instructions before trampoline (Waiman Long) [1941211] - fs/btrfs: Add cond_resched() for try_release_extent_mapping() stalls (Waiman Long) [1941211] - rcu-tasks: Convert sleeps to idle priority (Waiman Long) [1941211] - rcu: Expedited grace-period sleeps to idle priority (Waiman Long) [1941211] - rcu: No-CBs-related sleeps to idle priority (Waiman Long) [1941211] - rcu: Priority-boost-related sleeps to idle priority (Waiman Long) [1941211] - rcu: Grace-period-kthread related sleeps to idle priority (Waiman Long) [1941211] - torture: Add --allcpus argument to the kvm.sh script (Waiman Long) [1941211] - torture: Remove whitespace from identify_qemu_vcpus output (Waiman Long) [1941211] - torture: Add script to smoke-test commits in a branch (Waiman Long) [1941211] - trace: events: rcu: Change description of rcu_dyntick trace event (Waiman Long) [1941211] - rcu: Add comment documenting rcu_callback_map's purpose (Waiman Long) [1941211] - rcu: Provide rcu_irq_exit_preempt() (Waiman Long) [1941211] - rcu: Add callbacks-invoked counters (Waiman Long) [1941211] - doc: Timer problems can cause RCU CPU stall warnings (Waiman Long) [1941211] - torture: Remove qemu dependency on EFI firmware (Waiman Long) [1941211] - rcutorture: NULL rcu_torture_current earlier in cleanup code (Waiman Long) [1941211] - rcutorture: Handle non-statistic bang-string error messages (Waiman Long) [1941211] - torture: Set configfile variable to current scenario (Waiman Long) [1941211] - rcutorture: Add races with task-exit processing (Waiman Long) [1941211] - docs: RCU: Don't duplicate chapter names in rculist_nulls.rst (Waiman Long) [1941211] - docs: RCU: Convert stallwarn.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert rcuref.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert torture.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert rculist_nulls.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert lockdep.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert lockdep-splat.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert checklist.txt to ReST (Waiman Long) [1941211] - doc: Add rcutorture scripting to torture.txt (Waiman Long) [1941211] - doc: Fix typo "deference" to "dereference" (Waiman Long) [1941211] - docs: locking: convert docs to ReST and rename to *.rst (Waiman Long) [1941211] - doc/rcuref: Document real world examples in kernel (Waiman Long) [1941211] - Documentation/locking/lockdep: Drop last two chars of sample states (Waiman Long) [1941211] - doc: rcu: Suspicious RCU usage is a warning (Waiman Long) [1941211] - RCU/torture.txt: Remove section MODULE PARAMETERS (Waiman Long) [1941211] - Documentation/lockstat: Fix trivial typo (Waiman Long) [1941211] - rcu: Simplify the calculation of rcu_state.ncpus (Waiman Long) [1941211] - srcu: Fix a typo in comment "amoritized"->"amortized" (Waiman Long) [1941211] - rcuperf: Fix printk format warning (Waiman Long) [1941211] - mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls (Waiman Long) [1941211] - rcu: Initialize and destroy rcu_synchronize only when necessary (Waiman Long) [1941211] - rcu: Add KCSAN stubs to update.c (Waiman Long) [1941211] - rcu: Add KCSAN stubs (Waiman Long) [1941211] - srcu: Add KCSAN stubs (Waiman Long) [1941211] - rcutorture: Add KCSAN stubs (Waiman Long) [1941211] - rcu/rcutorture: Convert to SPDX license identifier (Waiman Long) [1941211] - rcu: Convert rcu_nohz_full_cpu() ULONG_CMP_LT() to time_before() (Waiman Long) [1941211] - rcu: Convert rcu_initiate_boost() ULONG_CMP_GE() to time_after() (Waiman Long) [1941211] - rcutorture: Convert ULONG_CMP_LT() to time_before() (Waiman Long) [1941211] - rcu: Convert ULONG_CMP_GE() to time_after() for jiffy comparison (Waiman Long) [1941211] - rcu: Add rcu_gp_might_be_stalled() (Waiman Long) [1941211] - torture: Add a --kasan argument (Waiman Long) [1941211] - torture: Save a few lines by using config_override_param initially (Waiman Long) [1941211] - torture: Allow scenario-specific Kconfig options to override CFcommon (Waiman Long) [1941211] - torture: Allow --kconfig options to override --kcsan defaults (Waiman Long) [1941211] - torture: Abstract application of additional Kconfig options (Waiman Long) [1941211] - torture: Eliminate duplicate #CHECK# from ConfigFragment (Waiman Long) [1941211] - torture: Make --kcsan argument also create a summary (Waiman Long) [1941211] - rcutorture: Make rcu_fwds and rcu_fwd_emergency_stop static (Waiman Long) [1941211] - torture: Add --kcsan argument to top-level kvm.sh script (Waiman Long) [1941211] - rcu-tasks: Allow standalone use of TASKS_{TRACE_,}RCU (Waiman Long) [1941211] - rcu: Remove self-stack-trace when all quiescent states seen (Waiman Long) [1941211] - ftrace: Use synchronize_rcu_tasks_rude() instead of ftrace_sync() (Waiman Long) [1941211] - ftrace: Protect ftrace_graph_hash with ftrace_sync (Waiman Long) [1941211] - ftrace: Add comment to why rcu_dereference_sched() is open coded (Waiman Long) [1941211] - tracing: Annotate ftrace_graph_notrace_hash pointer with __rcu (Waiman Long) [1941211] - tracing: Annotate ftrace_graph_hash pointer with __rcu (Waiman Long) [1941211] - tracing/fgraph: Fix set_graph_function from showing interrupts (Waiman Long) [1941211] - rcu: Allow rcutorture to starve grace-period kthread (Waiman Long) [1941211] - rcu: When GP kthread is starved, tag idle threads as false positives (Waiman Long) [1941211] - rcutorture: Right-size TREE10 CPU consumption (Waiman Long) [1941211] - rcu: Replace 1 by true (Waiman Long) [1941211] - rcutorture: Add test of holding scheduler locks across rcu_read_unlock() (Waiman Long) [1941211] - rcu: Replace assigned pointer ret value by corresponding boolean value (Waiman Long) [1941211] - rcu-tasks: Add IPI failure count to statistics (Waiman Long) [1941211] - rcutorture: Add TRACE02 scenario enabling RCU Tasks Trace IPIs (Waiman Long) [1941211] - rcu-tasks: Add count for idle tasks on offline CPUs (Waiman Long) [1941211] - rcu-tasks: Add rcu_dynticks_zero_in_eqs() effectiveness statistics (Waiman Long) [1941211] - rcu-tasks: Make RCU tasks trace also wait for idle tasks (Waiman Long) [1941211] - rcu-tasks: Handle the running-offline idle-task special case (Waiman Long) [1941211] - rcu-tasks: Disable CPU hotplug across RCU tasks trace scans (Waiman Long) [1941211] - rcu: Mark rcu_state.gp_seq to detect more concurrent writes (Waiman Long) [1941211] - rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks (Waiman Long) [1941211] - rcu-tasks: Avoid IPIing userspace/idle tasks if kernel is so built (Waiman Long) [1941211] - rcu-tasks: Add Kconfig option to mediate smp_mb() vs. IPI (Waiman Long) [1941211] - rcu-tasks: Add grace-period and IPI counts to statistics (Waiman Long) [1941211] - rcu-tasks: Split ->trc_reader_need_end (Waiman Long) [1941211] - rcu-tasks: Provide boot parameter to delay IPIs until late in grace period (Waiman Long) [1941211] - rcu-tasks: Add a grace-period start time for throttling and debug (Waiman Long) [1941211] - rcu: Get rid of some doc warnings in update.c (Waiman Long) [1941211] - rcu-tasks: Make RCU Tasks Trace make use of RCU scheduler hooks (Waiman Long) [1941211] - rcu-tasks: Use context-switch hook for PREEMPT=y kernels (Waiman Long) [1941211] - rcu-tasks: Make rcutorture writer stall output include GP state (Waiman Long) [1941211] - rcu-tasks: Add RCU tasks to rcutorture writer stall output (Waiman Long) [1941211] - rcuperf: Add ability to increase object allocation size (Waiman Long) [1941211] - rcu-tasks: Move #ifdef into tasks.h (Waiman Long) [1941211] - rcutorture: Add flag to produce non-busy-wait task stalls (Waiman Long) [1941211] - rcu: Add per-task state to RCU CPU stall warnings (Waiman Long) [1941211] - sched/core: Add function to sample state of locked-down task (Waiman Long) [1941211] - rcu-tasks: Add stall warnings for RCU Tasks Trace (Waiman Long) [1941211] - rcutorture: Add torture tests for RCU Tasks Trace (Waiman Long) [1941211] - rcu-tasks: Add an RCU Tasks Trace to simplify protection of tracing hooks (Waiman Long) [1941211] - rcutorture: Add a test for synchronize_rcu_mult() (Waiman Long) [1941211] - rcu: Reinstate synchronize_rcu_mult() (Waiman Long) [1941211] - rcu-tasks: Code movement to allow more Tasks RCU variants (Waiman Long) [1941211] - rcu: Fix the (t=0 jiffies) false positive (Waiman Long) [1941211] - rcu-tasks: Further refactor RCU-tasks to allow adding more variants (Waiman Long) [1941211] - rcu-tasks: Use unique names for RCU-Tasks kthreads and messages (Waiman Long) [1941211] - rcutorture: Add torture tests for RCU Tasks Rude (Waiman Long) [1941211] - rcu-tasks: Add an RCU-tasks rude variant (Waiman Long) [1941211] - rcu-tasks: Refactor RCU-tasks to allow variants to be added (Waiman Long) [1941211] - rcu-tasks: Create struct to hold state information (Waiman Long) [1941211] - rcu-tasks: Move Tasks RCU to its own file (Waiman Long) [1941211] - locktorture.c: Fix if-statement empty body warnings (Waiman Long) [1941211] - rcu: Expedite first two FQS scans under callback-overload conditions (Waiman Long) [1941211] - rcu: Mark rcu_state.gp_seq to detect concurrent writes (Waiman Long) [1941211] - rcutorture: Mark data-race potential for rcu_barrier() test statistics (Waiman Long) [1941211] - rcu: Don't use negative nesting depth in __rcu_read_unlock() (Waiman Long) [1941211] - rcu: Remove unused ->rcu_read_unlock_special.b.deferred_qs field (Waiman Long) [1941211] - rcu: Don't set nesting depth negative in rcu_preempt_deferred_qs() (Waiman Long) [1941211] - rcu: Make rcu_read_unlock_special() safe for rq/pi locks (Waiman Long) [1941211] - rcutorture: Make kvm-recheck-rcu.sh handle truncated lines (Waiman Long) [1941211] - rcu: Make RCU IRQ enter/exit functions rely on in_nmi() (Waiman Long) [1941211] - rcu/tree: Mark the idle relevant functions noinstr (Waiman Long) [1941211] - rcu: Add comments marking transitions between RCU watching and not (Waiman Long) [1941211] - rcu: Update __call_rcu() comments (Waiman Long) [1941211] - rcu: Mark rcu_state.ncpus to detect concurrent writes (Waiman Long) [1941211] - rcu: Use data_race() for RCU CPU stall-warning prints (Waiman Long) [1941211] - rcutorture: Manually clean up after rcu_barrier() failure (Waiman Long) [1941211] - rcutorture: Make rcu_torture_barrier_cbs() post from corresponding CPU (Waiman Long) [1941211] - rcu: Make nocb_gp_wait() double-check unexpected-callback warning (Waiman Long) [1941211] - rcu: Tighten rcu_lockdep_assert_cblist_protected() check (Waiman Long) [1941211] - rcu: Optimize and protect atomic_cmpxchg() loop (Waiman Long) [1941211] - rcu/nocb: Add missing annotation for rcu_nocb_bypass_unlock() (Waiman Long) [1941211] - rcu: Don't flag non-starting GPs before GP kthread is running (Waiman Long) [1941211] - rcu: Fix rcu_barrier_callback() race condition (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_state ->gp_start (Waiman Long) [1941211] - rcu: Add missing annotation for rcu_nocb_bypass_lock() (Waiman Long) [1941211] - rcu: Add missing annotation for exit_tasks_rcu_finish() (Waiman Long) [1941211] - rcu: Add missing annotation for exit_tasks_rcu_start() (Waiman Long) [1941211] - rculist: Add brackets around cond argument in __list_check_rcu macro (Waiman Long) [1941211] - rcu: Remove dead code from rcu_segcblist_insert_pend_cbs() (Waiman Long) [1941211] - rcutorture: Annotation lockless accesses to rcu_torture_current (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_data ->gpwrap (Waiman Long) [1941211] - rcu-tasks: *_ONCE() for rcu_tasks_cbs_head (Waiman Long) [1941211] - rcu: Add *_ONCE() for grace-period progress indicators (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_node ->boost_tasks (Waiman Long) [1941211] - srcu: Add data_race() to ->srcu_lock_count and ->srcu_unlock_count arrays (Waiman Long) [1941211] - rcutorture: Add READ_ONCE() to rcu_torture_count and rcu_torture_batch (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_segcblist ->tails[] (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_node ->qsmaskinitnext (Waiman Long) [1941211] - rcu: Add READ_ONCE and data_race() to rcu_node ->boost_tasks (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_state ->gp_req_activity (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_node ->gp_seq (Waiman Long) [1941211] - rcu: Add *_ONCE() and data_race() to rcu_node ->exp_tasks plus locking (Waiman Long) [1941211] - rcu: Add *_ONCE() to rcu_node ->boost_kthread_status (Waiman Long) [1941211] - rcu: Add WRITE_ONCE to rcu_node ->exp_seq_rq store (Waiman Long) [1941211] - srcu: Hold srcu_struct ->lock when updating ->srcu_gp_seq (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_node ->qsmask update (Waiman Long) [1941211] - rcu: Provide debug symbols and line numbers in KCSAN runs (Waiman Long) [1941211] - rcu: Fix exp_funnel_lock()/rcu_exp_wait_wake() datarace (Waiman Long) [1941211] - srcu: Fix process_srcu()/srcu_batches_completed() datarace (Waiman Long) [1941211] - srcu: Fix __call_srcu()/srcu_get_delay() datarace (Waiman Long) [1941211] - srcu: Fix __call_srcu()/process_srcu() datarace (Waiman Long) [1941211] - rcutorture: Fix stray access to rcu_fwd_cb_nodelay (Waiman Long) [1941211] - rcutorture: Fix rcu_torture_one_read()/rcu_torture_writer() data race (Waiman Long) [1941211] - rcutorture: Make kvm-find-errors.sh abort on bad directory (Waiman Long) [1941211] - rcutorture: Summarize summary of build and run results (Waiman Long) [1941211] - rcutorture: Add 100-CPU configuration (Waiman Long) [1941211] - rcu: Warn on for_each_leaf_node_cpu_mask() from non-leaf (Waiman Long) [1941211] - rcu: Fix spelling mistake "leval" -> "level" (Waiman Long) [1941211] - torture: Allow disabling of boottime CPU-hotplug torture operations (Waiman Long) [1941211] - rcutorture: Suppress boottime bad-sequence warnings (Waiman Long) [1941211] - rcutorture: Allow boottime stall warnings to be suppressed (Waiman Long) [1941211] - torture: Forgive -EBUSY from boottime CPU-hotplug operations (Waiman Long) [1941211] - rcutorture: Refrain from callback flooding during boot (Waiman Long) [1941211] - torture: Make results-directory date format completion-friendly (Waiman Long) [1941211] - rcutorture: Suppress forward-progress complaints during early boot (Waiman Long) [1941211] - timer: Use hlist_unhashed_lockless() in timer_pending() (Waiman Long) [1941211] - rcu: React to callback overload by boosting RCU readers (Waiman Long) [1941211] - rcu: React to callback overload by aggressively seeking quiescent states (Waiman Long) [1941211] - rcu: Add and update docbook header comments in list.h (Waiman Long) [1941211] - list: Add hlist_unhashed_lockless() (Waiman Long) [1941211] - list: Don't use WRITE_ONCE() in hlist_add_behind() (Waiman Long) [1941211] - kcsan: Introduce ASSERT_EXCLUSIVE_BITS(var, mask) (Waiman Long) [1941211] - kcsan: Add kcsan_set_access_mask() support (Waiman Long) [1941211] - kcsan: Introduce kcsan_value_change type (Waiman Long) [1941211] - kcsan: Move interfaces that affects checks to kcsan-checks.h (Waiman Long) [1941211] - kcsan: Fix misreporting if concurrent races on same address (Waiman Long) [1941211] - kcsan: Expose core configuration parameters as module params (Waiman Long) [1941211] - kcsan: Add test to generate conflicts via debugfs (Waiman Long) [1941211] - kcsan: Introduce ASSERT_EXCLUSIVE_*() macros (Waiman Long) [1941211] - kcsan: Introduce KCSAN_ACCESS_ASSERT access type (Waiman Long) [1941211] - kcsan: Fix 0-sized checks (Waiman Long) [1941211] - kcsan: Clean up the main KCSAN Kconfig option (Waiman Long) [1941211] - kcsan: Clarify Kconfig option KCSAN_IGNORE_ATOMICS (Waiman Long) [1941211] - kcsan: Add option to assume plain aligned writes up to word size are atomic (Waiman Long) [1941211] - kcsan: Add docbook header for data_race() (Waiman Long) [1941211] - kcsan: Address missing case with KCSAN_REPORT_VALUE_CHANGE_ONLY (Waiman Long) [1941211] - include/linux: Add instrumented.h infrastructure (Waiman Long) [1941211] - kcsan: Make KCSAN compatible with lockdep (Waiman Long) [1941211] - kcsan: Rate-limit reporting per data races (Waiman Long) [1941211] - kcsan: Show full access type in report (Waiman Long) [1941211] - kcsan: Prefer __always_inline for fast-path (Waiman Long) [1941211] - kcsan: Improve various small stylistic details (Waiman Long) [1941211] - x86, kcsan: Enable KCSAN for x86 (Waiman Long) [1941211] - build, kcsan: Add KCSAN build exceptions (Waiman Long) [1941211] - x86/uaccess, kcov: Disable stack protector (Waiman Long) [1941211] - doc: Convert to rcubarrier.txt to ReST (Waiman Long) [1941211] - doc: Convert to rcu_dereference.txt to rcu_dereference.rst (Waiman Long) [1941211] - doc: Convert whatisRCU.txt to .rst (Waiman Long) [1941211] - doc: Converted NMI-RCU.txt to NMI-RCU.rst. (Waiman Long) [1941211] - doc: Convert arrayRCU.txt to arrayRCU.rst (Waiman Long) [1941211] - doc: Update list_for_each_entry_rcu() documentation (Waiman Long) [1941211] - Restore docs "rcu: Restore barrier() to rcu_read_lock() and rcu_read_unlock()" (Waiman Long) [1941211] - Restore docs "treewide: Rename rcu_dereference_raw_notrace() to _check()" (Waiman Long) [1941211] - docs: rcu: Increase toctree to 3 (Waiman Long) [1941211] - docs: rcu: Correct links referring to titles (Waiman Long) [1941211] - docs: rcu: convert some articles from html to ReST (Waiman Long) [1941211] - Revert docs from "rcu: Restore barrier() to rcu_read_lock() and rcu_read_unlock()" (Waiman Long) [1941211] - Documentation: RCU: Add TOC tree hooks (Waiman Long) [1941211] - doc: Describe choice of rcu_dereference() APIs and __rcu usage (Waiman Long) [1941211] - doc: Remove obsolete RCU update functions from RCU documentation (Waiman Long) [1941211] - scsi: ibmvfc: Free channel_setup_buf during device tear down (Steve Best) [1938102] - blk-mq: clearing flush request reference in tags->rqs[] (Ming Lei) [1811030] - blk-mq: clear stale request in tags->rq[] before freeing one request pool (Ming Lei) [1811030] - blk-mq: grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iter (Ming Lei) [1811030] - vsock/vmci: log once the failed queue pair allocation (Stefano Garzarella) [1958248] - VMCI: Stop log spew when qp allocation isn't possible (Stefano Garzarella) [1958248] - vsock/virtio: update credit only if socket is not closed (Stefano Garzarella) [1921694] - powerpc/security: Fix debugfs data leak on 32-bit (Steve Best) [1935661] - powerpc/security: Show powerpc_security_features in debugfs (Steve Best) [1935661] - redhat/configs: Add CONFIG_SYSTEM_REVOCATION_KEYS and CONFIG_SYSTEM_REVOCATION_LIST (Vladis Dronov) [1893793] {CVE-2020-26541} - certs: add 'x509_revocation_list' to gitignore (Vladis Dronov) [1893793] {CVE-2020-26541} - integrity: Load mokx variables into the blacklist keyring (Vladis Dronov) [1893793] {CVE-2020-26541} - certs: Add ability to preload revocation certs (Vladis Dronov) [1893793] {CVE-2020-26541} - certs: Move load_system_certificate_list to a common function (Vladis Dronov) [1893793] {CVE-2020-26541} - certs: Add EFI_CERT_X509_GUID support for dbx entries (Vladis Dronov) [1893793] {CVE-2020-26541} - pNFS/flexfiles: Fix array overflow when flexfiles mirroring is enabled (Benjamin Coddington) [1949575] - net/sunrpc: fix useless comparison in proc_do_xprt() (Benjamin Coddington) [1949575] - net/sunrpc: return 0 on attempt to write to "transports" (Benjamin Coddington) [1949575] - NFSD: MKNOD should return NFSERR_BADTYPE instead of NFSERR_INVAL (Benjamin Coddington) [1949575] - NFSD: NFSv3 PATHCONF Reply is improperly formed (Benjamin Coddington) [1949575] - nfsroot: Default mount option should ask for built-in NFS version (Benjamin Coddington) [1949575] - nfsd: remove unneeded break (Benjamin Coddington) [1949575] - net/sunrpc: Fix return value for sysctl sunrpc.transports (Benjamin Coddington) [1949575] - NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag (Benjamin Coddington) [1949575] - NFSv4: Fix up RCU annotations for struct nfs_netns_client (Benjamin Coddington) [1949575] - NFS: Only reference user namespace from nfs4idmap struct instead of cred (Benjamin Coddington) [1949575] - NFSD: Hoist status code encoding into XDR encoder functions (Benjamin Coddington) [1949575] - NFSv4: Use the net namespace uniquifier if it is set (Benjamin Coddington) [1949575] - NFSv4: Clean up initialisation of uniquified client id strings (Benjamin Coddington) [1949575] - SUNRPC: Add an xdr_align_data() function (Benjamin Coddington) [1949575] - SUNRPC: Add the ability to expand holes in data pages (Benjamin Coddington) [1949575] - SUNRPC: Split out _shift_data_right_tail() (Benjamin Coddington) [1949575] - SUNRPC: Split out xdr_realign_pages() from xdr_align_pages() (Benjamin Coddington) [1949575] - NFS: Use xdr_page_pos() in NFSv4 decode_getacl() (Benjamin Coddington) [1949575] - SUNRPC: Implement a xdr_page_pos() function (Benjamin Coddington) [1949575] - NFS: fix nfs_path in case of a rename retry (Benjamin Coddington) [1949575] - NFSD: Map nfserr_wrongsec outside of nfsd_dispatch (Benjamin Coddington) [1949575] - NFSD: Remove the RETURN_STATUS() macro (Benjamin Coddington) [1949575] - NFSD: Call NFSv2 encoders on error returns (Benjamin Coddington) [1949575] - NFSD: Fix .pc_release method for NFSv2 (Benjamin Coddington) [1949575] - NFSD: Remove vestigial typedefs (Benjamin Coddington) [1949575] - NFSD: Refactor nfsd_dispatch() error paths (Benjamin Coddington) [1949575] - NFSD: Clean up nfsd_dispatch() variables (Benjamin Coddington) [1949575] - NFSD: Clean up stale comments in nfsd_dispatch() (Benjamin Coddington) [1949575] - NFSD: Clean up switch statement in nfsd_dispatch() (Benjamin Coddington) [1949575] - NFSD: Encoder and decoder functions are always present (Benjamin Coddington) [1949575] - NFSACL: Replace PROC() macro with open code (Benjamin Coddington) [1949575] - lockd: Replace PROC() macro with open code (Benjamin Coddington) [1949575] - NFSD: Add missing NFSv2 .pc_func methods (Benjamin Coddington) [1949575] - fs: nfs: return per memcg count for xattr shrinkers (Benjamin Coddington) [1949575] - nfs: remove incorrect fallthrough label (Benjamin Coddington) [1949575] - nfsd: rq_lease_breaker cleanup (Benjamin Coddington) [1949575] - sunrpc: simplify do_cache_clean (Benjamin Coddington) [1949575] - sunrpc: cache : Replace seq_printf with seq_puts (Benjamin Coddington) [1949575] - silence nfscache allocation warnings with kvzalloc (Benjamin Coddington) [1949575] - nfsd: fix comparison to bool warning (Benjamin Coddington) [1949575] - NFSD: Correct type annotations in user xattr XDR functions (Benjamin Coddington) [1949575] - NFSD: Correct type annotations in user xattr helpers (Benjamin Coddington) [1949575] - SUNRPC/NFSD: Implement xdr_reserve_space_vec() (Benjamin Coddington) [1949575] - nfsd: rename delegation related tracepoints to make them less confusing (Benjamin Coddington) [1949575] - nfsd: Remove unnecessary assignment in nfs4xdr.c (Benjamin Coddington) [1949575] - net: sunrpc: delete repeated words (Benjamin Coddington) [1949575] - nfsd: Fix typo in comment (Benjamin Coddington) [1949575] - nfsd: give up callbacks on revoked delegations (Benjamin Coddington) [1949575] - nfs: fix spellint typo in pnfs.c (Benjamin Coddington) [1949575] - fs,nfs: lift compat nfs4 mount data handling into the nfs code (Benjamin Coddington) [1949575] - nfs: simplify nfs4_parse_monolithic (Benjamin Coddington) [1949575] - xprtrdma: drop double zeroing (Benjamin Coddington) [1949575] - NFSv4.2: xattr cache: remove unused cache struct field (Benjamin Coddington) [1949575] - nfs: Convert to use the preferred fallthrough macro (Benjamin Coddington) [1949575] - NFS4: Fix oops when copy_file_range is attempted with NFS4.0 source (Benjamin Coddington) [1949575] - Replace HTTP links with HTTPS ones: NFS, SUNRPC, and LOCKD clients (Benjamin Coddington) [1949575] - sunrpc: fix duplicated word in (Benjamin Coddington) [1949575] - SUNRPC: Remove remaining dprintks from sched.c (Benjamin Coddington) [1949575] - SUNRPC: Remove dprintk call sites in RPC queuing functions (Benjamin Coddington) [1949575] - SUNRPC: Clean up RPC scheduler tracepoints (Benjamin Coddington) [1949575] - SUNRPC: Replace rpcbind dprintk call sites with tracepoints (Benjamin Coddington) [1949575] - SUNRPC: Remove more dprintks in rpcb_clnt.c (Benjamin Coddington) [1949575] - SUNRPC: Remove dprintk call sites in rpcbind XDR functions (Benjamin Coddington) [1949575] - SUNRPC: Hoist trace_xprtrdma_op_setport into generic code (Benjamin Coddington) [1949575] - SUNRPC: Remove rpcb_getport_async dprintk call sites (Benjamin Coddington) [1949575] - SUNRPC: Clean up call_bind_status() observability (Benjamin Coddington) [1949575] - SUNRPC: Remove dprintk call site in call_decode (Benjamin Coddington) [1949575] - SUNRPC: Trace call_refresh events (Benjamin Coddington) [1949575] - SUNRPC: Add trace_rpc_timeout_status() (Benjamin Coddington) [1949575] - SUNRPC: Mitigate cond_resched() in xprt_transmit() (Benjamin Coddington) [1949575] - SUNRPC: Replace connect dprintk call sites with a tracepoint (Benjamin Coddington) [1949575] - SUNRPC: Remove dprintk call site in call_start() (Benjamin Coddington) [1949575] - SUNRPC: Remove the dprint_status() macro (Benjamin Coddington) [1949575] - SUNRPC: Replace dprintk() call site in xs_nospace() (Benjamin Coddington) [1949575] - SUNRPC: Replace dprintk() call site in xprt_prepare_transmit (Benjamin Coddington) [1949575] - SUNRPC: Update debugging instrumentation in xprt_do_reserve() (Benjamin Coddington) [1949575] - SUNRPC: Remove debugging instrumentation from xprt_release (Benjamin Coddington) [1949575] - SUNRPC: Hoist trace_xprtrdma_op_allocate into generic code (Benjamin Coddington) [1949575] - SUNRPC: Remove trace_xprt_complete_rqst() (Benjamin Coddington) [1949575] - SUNRPC dont update timeout value on connection reset (Benjamin Coddington) [1949575] - nfs4: strengthen error check to avoid unexpected result (Benjamin Coddington) [1949575] - NFS: remove redundant pointer clnt (Benjamin Coddington) [1949575] - sunrpc: Avoid comma separated statements (Benjamin Coddington) [1949575]- Revert "sctp: Fix SHUTDOWN CTSN Ack in the peer restart case" (Xin Long) [1953839] - sctp: do asoc update earlier in sctp_sf_do_dupcook_b (Xin Long) [1953839] - sctp: do asoc update earlier in sctp_sf_do_dupcook_a (Xin Long) [1953839] - NFSv4: Fixes for nfs4_bitmask_adjust() (Steve Dickson) [1926961] - powerpc/paravirt: Use is_kvm_guest() in vcpu_is_preempted() (Desnes A. Nunes do Rosario) [1918720] - powerpc: Reintroduce is_kvm_guest() as a fast-path check (Desnes A. Nunes do Rosario) [1918720] - powerpc: Rename is_kvm_guest() to check_kvm_guest() (Desnes A. Nunes do Rosario) [1918720] - powerpc: Refactor is_kvm_guest() declaration to new header (Desnes A. Nunes do Rosario) [1918720] - powerpc/pseries: Move some PAPR paravirt functions to their own file (Desnes A. Nunes do Rosario) [1918720] - powerpc/shared: Use static key to detect shared processor (Desnes A. Nunes do Rosario) [1918720] - powerpc/spinlocks: Fix oops in __spin_yield() on bare metal (Desnes A. Nunes do Rosario) [1918720] - powerpc/spinlocks: Rename SPLPAR-only spinlocks (Desnes A. Nunes do Rosario) [1918720] - powerpc/spinlocks: Refactor SHARED_PROCESSOR (Desnes A. Nunes do Rosario) [1918720] - Revert "ACPICA: Interpreter: fix memory leak by using existing buffer" (Mark Langsdorf) [1935928] - x86/efi: Remove EFI PGD build time checks (Mark Langsdorf) [1935928] - ACPI: scan: Fix battery devices sometimes never binding (Mark Langsdorf) [1935928] - ACPI/IORT: Do not blindly trust DMA masks from firmware (Mark Langsdorf) [1935928] - ACPI: thermal: Do not call acpi_thermal_check() directly (Mark Langsdorf) [1935928] - ACPI: sysfs: Prefer "compatible" modalias (Mark Langsdorf) [1935928] - ACPI: scan: Make acpi_bus_get_device() clear return pointer on error (Mark Langsdorf) [1935928] - ACPI: scan: Harden acpi_device_add() against device ID overflows (Mark Langsdorf) [1935928] - ACPI: Update Kconfig help text for items that are no longer modular (Mark Langsdorf) [1935928] - ACPI: PM: s2idle: Drop unused local variables and related code (Mark Langsdorf) [1935928] - ACPI: PM: s2idle: Move x86-specific code to the x86 directory (Mark Langsdorf) [1935928] - ACPI: scan: Add Intel Baytrail Mailbox Device to acpi_ignore_dep_ids (Mark Langsdorf) [1935928] - ACPI: scan: Avoid unnecessary second pass in acpi_bus_scan() (Mark Langsdorf) [1935928] - ACPI: scan: Defer enumeration of devices with _DEP lists (Mark Langsdorf) [1935928] - ACPI: scan: Evaluate _DEP before adding the device (Mark Langsdorf) [1935928] - ACPI: PM: s2idle: Add AMD support to handle _DSM (Mark Langsdorf) [1935928] - ACPI: processor: fix NONE coordination for domain mapping failure (Mark Langsdorf) [1935928] - cpufreq: Fix cpufreq_online() return value on errors (Mark Langsdorf) [1935928] - opp: of: Allow empty opp-table with opp-shared (Mark Langsdorf) [1935928] - dt-bindings: opp: Allow empty OPP tables (Mark Langsdorf) [1935928] - ACPI: Drop acpi_dev_irqresource_disabled() (Mark Langsdorf) [1935928] - resource: Add irqresource_disabled() (Mark Langsdorf) [1935928] - genirq/affinity: Add irq_update_affinity_desc() (Mark Langsdorf) [1935928] - driver core: Add fwnode_init() (Mark Langsdorf) [1935928] - ACPI: scan: Fix up _DEP-related terminology with supplier/consumer (Mark Langsdorf) [1935928] - ACPI: scan: Drop INT3396 from acpi_ignore_dep_ids[] (Mark Langsdorf) [1935928] - Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks" (Mark Langsdorf) [1935928] - ACPI: scan: Add PNP0D80 to the _DEP exceptions list (Mark Langsdorf) [1935928] - PM: ACPI: Refresh wakeup device power configuration every time (Mark Langsdorf) [1935928] - PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() (Mark Langsdorf) [1935928] - ACPI: scan: Call acpi_get_object_info() from acpi_add_single_object() (Mark Langsdorf) [1935928] - ACPI: scan: Add acpi_info_matches_hids() helper (Mark Langsdorf) [1935928] - ACPICA: Update version to 20201113 (Mark Langsdorf) [1935928] - ACPICA: Interpreter: fix memory leak by using existing buffer (Mark Langsdorf) [1935928] - ACPICA: Add function trace macros to improve debugging (Mark Langsdorf) [1935928] - ACPICA: Also handle "orphan" _REG methods for GPIO OpRegions (Mark Langsdorf) [1935928] - ACPICA: Remove extreaneous "the" in comments (Mark Langsdorf) [1935928] - ACPICA: Add 5 new UUIDs to the known UUID table (Mark Langsdorf) [1935928] - ACPI: processor: Drop duplicate setting of shared_cpu_map (Mark Langsdorf) [1935928] - ACPI: EC: Clean up status flags checks in advance_transaction() (Mark Langsdorf) [1935928] - ACPI: EC: Untangle error handling in advance_transaction() (Mark Langsdorf) [1935928] - ACPI: EC: Simplify error handling in advance_transaction() (Mark Langsdorf) [1935928] - ACPI: EC: Rename acpi_ec_is_gpe_raised() (Mark Langsdorf) [1935928] - ACPI: EC: Fold acpi_ec_clear_gpe() into its caller (Mark Langsdorf) [1935928] - ACPI: EC: Eliminate in_interrupt() usage (Mark Langsdorf) [1935928] - ACPI: acpi_drivers.h: Update the kernel doc (Mark Langsdorf) [1935928] - ACPI: acpi_drivers.h: Remove the leftover dead code (Mark Langsdorf) [1935928] - ACPI: tiny-power-button: Simplify the code using module_acpi_driver() (Mark Langsdorf) [1935928] - ACPI: SBS: Simplify the code using module_acpi_driver() (Mark Langsdorf) [1935928] - ACPI: SBS: Simplify the driver init code (Mark Langsdorf) [1935928] - ACPI: debug: Remove the not used function (Mark Langsdorf) [1935928] - ACPI: processor: Remove the duplicated ACPI_PROCESSOR_CLASS macro (Mark Langsdorf) [1935928] - ACPI: watchdog: Replace open coded variant of resource_union() (Mark Langsdorf) [1935928] - PCI/ACPI: Replace open coded variant of resource_union() (Mark Langsdorf) [1935928] - resource: Introduce resource_union() for overlapping resources (Mark Langsdorf) [1935928] - resource: Group resource_overlaps() with other inline helpers (Mark Langsdorf) [1935928] - resource: Simplify region_intersects() by reducing conditionals (Mark Langsdorf) [1935928] - ACPI, APEI: make apei_resources_all static (Mark Langsdorf) [1935928] - mm/mmu_notifier: allocate mmu_notifier_rh in __mmu_notifier_register() (Jeremy Cline) [1909072]- Amends commit ea6244cc248b to include a version string in module info. (Ken Cox) [1955726] - i40e: use minimal admin queue for kdump (Stefan Assmann) [1834962] - i40e: use minimal Rx and Tx ring buffers for kdump (Stefan Assmann) [1834962] - i40e: use minimal Tx and Rx pairs for kdump (Stefan Assmann) [1834962] - net/sched: sch_frag: fix stack OOB read while fragmenting IPv4 packets (Davide Caratti) [1924608] - openvswitch: fix stack OOB read while fragmenting IPv4 packets (Davide Caratti) [1924608] - net/sched: act_ct: fix wild memory access when clearing fragments (Davide Caratti) [1924608] - selinux: fall back to SECURITY_FS_USE_GENFS if no xattr support (Ondrej Mosnacek) [1934093 1915825] - selinux: mark some global variables __ro_after_init (Ondrej Mosnacek) [1934093] - selinux: make selinuxfs_mount static (Ondrej Mosnacek) [1934093] - selinux: drop the unnecessary aurule_callback variable (Ondrej Mosnacek) [1934093] - selinux: remove unused global variables (Ondrej Mosnacek) [1934093] - selinux: fix inconsistency between inode_getxattr and inode_listsecurity (Ondrej Mosnacek) [1934093] - selinux: Fix fall-through warnings for Clang (Ondrej Mosnacek) [1934093] - selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling (Ondrej Mosnacek) [1934093] - selinux: allow dontauditx and auditallowx rules to take effect without allowx (Ondrej Mosnacek) [1934093] - selinux: fix error initialization in inode_doinit_with_dentry() (Ondrej Mosnacek) [1934093] - selinux: Fix error return code in sel_ib_pkey_sid_slow() (Ondrej Mosnacek) [1934093] - selinux: access policycaps with READ_ONCE/WRITE_ONCE (Ondrej Mosnacek) [1934093] - selinux: delete repeated words in comments (Ondrej Mosnacek) [1934093] - selinux: add basic filtering for audit trace events (Ondrej Mosnacek) [1934093 1954024] - selinux: add tracepoint on audited events (Ondrej Mosnacek) [1934093 1954024] - selinux: permit removing security.selinux xattr before policy load (Ondrej Mosnacek) [1934093] - exec: Always set cap_ambient in cap_bprm_set_creds (Ondrej Mosnacek) [1934093] - security: remove duplicated include from security.h (Ondrej Mosnacek) [1934093] - security/commoncap: Use xattr security prefix len (Ondrej Mosnacek) [1934093] - LSM: switch to blocking policy update notifiers (Ondrej Mosnacek) [1934093] - security: Make capability_hooks static (Ondrej Mosnacek) [1934093] - securityfs: fix use-after-free on symlink traversal (Ondrej Mosnacek) [1934093] - LSM: Check for NULL cred-security on free (Ondrej Mosnacek) [1934093] - security: check for kstrdup() failure in lsm_append() (Ondrej Mosnacek) [1934093] - scsi: mpt3sas: Block PCI config access from userspace during reset (Tomas Henzl) [1954555] - scsi: mpt3sas: Fix endianness for ActiveCablePowerRequirement (Tomas Henzl) [1954555] - scsi: mpt3sas: Fix error return code of mpt3sas_base_attach() (Tomas Henzl) [1954555] - scsi: mpt3sas: Do not use GFP_KERNEL in atomic context (Tomas Henzl) [1954555] - scsi: mpt3sas: Only one vSES is present even when IOC has multi vSES (Tomas Henzl) [1953421] - scsi: bnx2i: Make bnx2i_process_iscsi_error() simpler and more robust (Nilesh Javali) [1921612] - scsi: bnx2i: Fix bnx2i_set_ccell_info()'s name in description (Nilesh Javali) [1921612] - scsi: bnx2i: Requires MMU (Nilesh Javali) [1921612] - scsi: bnx2i: Remove unnecessary mutex_init() (Nilesh Javali) [1921612] - scsi: bnx2i: Add parameter description and rename another (Nilesh Javali) [1921612] - scsi: bnx2i: Add, remove and edit some function parameter descriptions (Nilesh Javali) [1921612] - scsi: bnx2i: Fix a whole host of kerneldoc issues (Nilesh Javali) [1921612] - scsi: bnx2i: Add missing descriptions for 'attr' parameter (Nilesh Javali) [1921612] - scsi: bnx2i: Fix parameter misnaming in function header (Nilesh Javali) [1921612] - mfd: intel-lpss: Add Intel Alder Lake PCH-P PCI IDs (Steve Best) [1929489] - lib: list_sort.c: add a blank line to avoid kernel-doc warnings (Rafael Aquini) [1900774] - lib/list_sort: fix kerneldoc build error (Rafael Aquini) [1900774] - lib/list_sort: optimize number of calls to comparison function (Rafael Aquini) [1900774] - lib/list_sort: simplify and remove MAX_LIST_LENGTH_BITS (Rafael Aquini) [1900774] - perf bench numa: Fix the condition checks for max number of NUMA nodes (Steve Best) [1936333] - powerpc/perf: Record counter overflow always if SAMPLE_IP is unset (Gustavo Walbon) [1921684] - perf powerpc: Support exposing Performance Monitor Counter SPRs as part of extended regs (Gustavo Walbon) [1921684] - powerpc/perf: Expose Performance Monitor Counter SPR's as part of extended regs (Gustavo Walbon) [1921684] - powerpc/perf: Include PMCs as part of per-cpu cpuhw_events struct (Gustavo Walbon) [1921684] - powerpc/perf: Adds support for programming of Thresholding in P10 (Gustavo Walbon) [1921684] - x86/entry/64: Deduplicate multiple IBRS macros in paranoid_entry (Waiman Long) [1924364] - x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb (Waiman Long) [1924364] - x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always-on STIBP (Waiman Long) [1924364] - x86/bugs/multihit: Fix mitigation reporting when VMX is not in use (Waiman Long) [1924364] - x86/speculation: Merge one test in spectre_v2_user_select_mitigation() (Waiman Long) [1924364] - x86/bugs: Move enum taa_mitigations to bugs.c (Waiman Long) [1924364] - mm/memcg: set memcg when splitting page (Waiman Long) [1937825] - mm/memcg: rename mem_cgroup_split_huge_fixup to split_page_memcg and add nr_pages argument (Waiman Long) [1937825] - mm, tracing: Fix kmem_cache_free trace event to not print stale pointers (Waiman Long) [1937825] - mm: memcontrol: fix get_active_memcg return value (Waiman Long) [1937825] - fs: buffer: use raw page_memcg() on locked page (Waiman Long) [1937825] - mm/list_lru.c: remove kvfree_rcu_local() (Waiman Long) [1937825] - mm: memcontrol: replace the loop with a list_for_each_entry() (Waiman Long) [1937825] - mm/memcontrol: remove redundant NULL check (Waiman Long) [1937825] - mm: page_counter: re-layout structure to reduce false sharing (Waiman Long) [1937825] - mm: kmem: make __memcg_kmem_(un)charge static (Waiman Long) [1937825] - mm: memcg: add swapcache stat for memcg v2 (Waiman Long) [1937825] - mm/memcg: remove rcu locking for lock_page_lruvec function series (Waiman Long) [1937825] - mm/memcg: revise the using condition of lock_page_lruvec function series (Waiman Long) [1937825] - mm: memcontrol: make the slab calculation consistent (Waiman Long) [1937825] - mm: memcontrol: convert NR_FILE_PMDMAPPED account to pages (Waiman Long) [1937825] - mm: memcontrol: convert NR_SHMEM_PMDMAPPED account to pages (Waiman Long) [1937825] - mm: memcontrol: convert NR_SHMEM_THPS account to pages (Waiman Long) [1937825] - mm: memcontrol: convert NR_FILE_THPS account to pages (Waiman Long) [1937825] - mm: memcontrol: convert NR_ANON_THPS account to pages (Waiman Long) [1937825] - mm: memcontrol: optimize per-lruvec stats counter memory usage (Waiman Long) [1937825] - mm: memcg/slab: pre-allocate obj_cgroups for slab caches with SLAB_ACCOUNT (Waiman Long) [1937825] - mm/slub: minor coding style tweaks (Waiman Long) [1937825] - mm, slub: remove slub_memcg_sysfs boot param and CONFIG_SLUB_MEMCG_SYSFS_ON (Waiman Long) [1937825] - mm, slub: splice cpu and page freelists in deactivate_slab() (Waiman Long) [1937825] - mm, slab, slub: stop taking cpu hotplug lock (Waiman Long) [1937825] - mm, slab, slub: stop taking memory hotplug lock (Waiman Long) [1937825] - mm, slub: stop freeing kmem_cache_node structures on node offline (Waiman Long) [1937825] - mm/slub: disable user tracing for kmemleak caches by default (Waiman Long) [1937825] - mm/slab: minor coding style tweaks (Waiman Long) [1937825] - mm/sl?b.c: remove ctor argument from kmem_cache_flags (Waiman Long) [1937825] - mm, tracing: record slab name for kmem_cache_free() (Waiman Long) [1937825] - mm: fix numa stats for thp migration (Waiman Long) [1937825] - mm: memcg: fix memcg file_dirty numa stat (Waiman Long) [1937825] - mm/memcontrol: fix warning in mem_cgroup_page_lruvec() (Waiman Long) [1937825] - mm: slub: call account_slab_page() after slab page initialization (Waiman Long) [1937825] - mm/hugetlb: fix deadlock in hugetlb_cow error path (Waiman Long) [1937825] - mm/memcontrol:rewrite mem_cgroup_page_lruvec() (Waiman Long) [1937825] - mm/memcg: remove unused definitions (Waiman Long) [1937825] - mm/memcg: warning on !memcg after readahead page charged (Waiman Long) [1937825] - mm/memcg: bail early from swap accounting if memcg disabled (Waiman Long) [1937825] - mm/lru: revise the comments of lru_lock (Waiman Long) [1937825] - mm/lru: introduce relock_page_lruvec() (Waiman Long) [1937825] - mm/lru: replace pgdat lru_lock with lruvec lock (Waiman Long) [1937825] - mm/lru: move lock into lru_note_cost (Waiman Long) [1937825] - mm/swap.c: serialize memcg changes in pagevec_lru_move_fn (Waiman Long) [1937825] - mm/compaction: do page isolation first in compaction (Waiman Long) [1937825] - mm/lru: introduce TestClearPageLRU() (Waiman Long) [1937825] - mm/mlock: remove __munlock_isolate_lru_page() (Waiman Long) [1937825] - mm/mlock: remove lru_lock on TestClearPageMlocked (Waiman Long) [1937825] - mm/vmscan: remove lruvec reget in move_pages_to_lru (Waiman Long) [1937825] - mm/swap.c: fold vm event PGROTATED into pagevec_move_tail_fn (Waiman Long) [1937825] - mm/memcg: add debug checking in lock_page_memcg (Waiman Long) [1937825] - mm: page_idle_get_page() does not need lru_lock (Waiman Long) [1937825] - mm/rmap: stop store reordering issue on page->mapping (Waiman Long) [1937825] - mm/vmscan: remove unnecessary lruvec adding (Waiman Long) [1937825] - mm/thp: narrow lru locking (Waiman Long) [1937825] - mm/thp: simplify lru_add_page_tail() (Waiman Long) [1937825] - mm/thp: use head for head page in lru_add_page_tail() (Waiman Long) [1937825] - mm/thp: move lru_add_page_tail() to huge_memory.c (Waiman Long) [1937825] - mm: slub: convert sysfs sprintf family to sysfs_emit/sysfs_emit_at (Waiman Long) [1937825] - mm: truncate_complete_page() does not exist any more (Waiman Long) [1937825] - mm/vmscan: drop unneeded assignment in kswapd() (Waiman Long) [1937825] - mm: memcontrol: account pagetables per node (Waiman Long) [1937825] - mm: move lruvec stats update functions to vmstat.h (Waiman Long) [1937825] - mm/memcg: remove incorrect comment (Waiman Long) [1937825] - mm: memcontrol: sssign boolean values to a bool variable (Waiman Long) [1937825] - mm: memcg/slab: rename *_lruvec_slab_state to *_lruvec_kmem_state (Waiman Long) [1937825] - mm: memcg: remove obsolete memcg_has_children() (Waiman Long) [1937825] - mm/page_counter: use page_counter_read in page_counter_set_max (Waiman Long) [1937825] - cgroup: remove obsoleted broken_hierarchy and warned_broken_hierarchy (Waiman Long) [1937825] - docs: cgroup-v1: reflect the deprecation of the non-hierarchical mode (Waiman Long) [1937825] - mm: memcg: deprecate the non-hierarchical mode (Waiman Long) [1937825] - mm: memcg: fix obsolete code comments (Waiman Long) [1937825] - mm/memcg: update page struct member in comments (Waiman Long) [1937825] - mm/rmap: always do TTU_IGNORE_ACCESS (Waiman Long) [1937825] - mm: memcontrol: eliminate redundant check in __mem_cgroup_insert_exceeded() (Waiman Long) [1937825] - mm: memcontrol: remove unused mod_memcg_obj_state() (Waiman Long) [1937825] - mm: memcontrol: add file_thp, shmem_thp to memory.stat (Waiman Long) [1937825] - mm/gup: combine put_compound_head() and unpin_user_page() (Waiman Long) [1937825] - mm: Convert page kmemcg type to a page memcg flag (Waiman Long) [1937825] - mm: Introduce page memcg flags (Waiman Long) [1937825] - mm: memcontrol/slab: Use helpers to access slab page's memcg_data (Waiman Long) [1937825] - mm: memcontrol: Use helpers to read page's memcg data (Waiman Long) [1937825] - hugetlbfs: fix anon huge page migration race (Waiman Long) [1937825] - mm: memcontrol: fix missing wakeup polling thread (Waiman Long) [1937825] - mm/gup: use unpin_user_pages() in __gup_longterm_locked() (Waiman Long) [1937825] - mm/vmscan: fix NR_ISOLATED_FILE corruption on 64-bit (Waiman Long) [1937825] - mm/compaction: stop isolation if too many pages are isolated and we have pages to migrate (Waiman Long) [1937825] - mm/compaction: count pages and stop correctly during page isolation (Waiman Long) [1937825] - mm: kmem: enable kernel memcg accounting from interrupt contexts (Waiman Long) [1937825] - mm: kmem: prepare remote memcg charging infra for interrupt contexts (Waiman Long) [1937825] - mm: kmem: remove redundant checks from get_obj_cgroup_from_current() (Waiman Long) [1937825] - mm, memcg: rework remote charging API to support nesting (Waiman Long) [1937825] - mm: use self-explanatory macros rather than "2" (Waiman Long) [1937825] - mm/vmscan: allow arbitrary sized pages to be paged out (Waiman Long) [1937825] - mm/rmap: fix assumptions of THP size (Waiman Long) [1937825] - mm/huge_memory: fix can_split_huge_page assumption of THP size (Waiman Long) [1937825] - mm/huge_memory: fix page_trans_huge_mapcount assumption of THP size (Waiman Long) [1937825] - mm/huge_memory: fix split assumption of page size (Waiman Long) [1937825] - mm/huge_memory: fix total_mapcount assumption of page size (Waiman Long) [1937825] - mm/page_owner: change split_page_owner to take a count (Waiman Long) [1937825] - mm/memory: remove page fault assumption of compound page size (Waiman Long) [1937825] - mm/filemap: fix page cache removal for arbitrary sized THPs (Waiman Long) [1937825] - mm/vmscan: fix comments for isolate_lru_page() (Waiman Long) [1937825] - mm/vmscan: fix infinite loop in drop_slab_node (Waiman Long) [1937825] - mm: move call to compound_head() in release_pages() (Waiman Long) [1937825] - mm: account PMD tables like PTE tables (Waiman Long) [1937825] - mm/memcg: fix device private memcg accounting (Waiman Long) [1937825] - mm: memcontrol: add the missing numa_stat interface for cgroup v2 (Waiman Long) [1937825] - mm: remove activate_page() from unuse_pte() (Waiman Long) [1937825] - bdi: replace BDI_CAP_NO_{WRITEBACK,ACCT_DIRTY} with a single flag (Waiman Long) [1937825] - mm/thp: fix __split_huge_pmd_locked() for migration PMD (Waiman Long) [1937825] - mm: fix check_move_unevictable_pages() on THP (Waiman Long) [1937825] - mm: migration of hugetlbfs page skip memcg (Waiman Long) [1937825] - mm: and drivers core: Convert hugetlb_report_node_meminfo to sysfs_emit (Waiman Long) [1937825] - drivers core: Miscellaneous changes for sysfs_emit (Waiman Long) [1937825] - drivers core: Reindent a couple uses around sysfs_emit (Waiman Long) [1937825] - drivers core: Remove strcat uses around sysfs_emit and neaten (Waiman Long) [1937825] - drivers core: Use sysfs_emit and sysfs_emit_at for show(device *...) functions (Waiman Long) [1937825] - sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output (Waiman Long) [1937825] - mm: fix pin vs. gup mismatch with gate pages (Waiman Long) [1937825] - mm/gup: use a standard migration target allocation callback (Waiman Long) [1937825] - mm/hugetlb: make hugetlb migration callback CMA aware (Waiman Long) [1937825] - mm/gup: restrict CMA region by using allocation scope API (Waiman Long) [1937825] - mm/page_alloc: remove a wrapper for alloc_migration_target() (Waiman Long) [1937825] - mm/mempolicy: use a standard migration target allocation callback (Waiman Long) [1937825] - mm/migrate: introduce a standard migration target allocation function (Waiman Long) [1937825] - mm/migrate: clear __GFP_RECLAIM to make the migration callback consistent with regular THP allocations (Waiman Long) [1937825] - mm/hugetlb: unify migration callbacks (Waiman Long) [1937825] - mm/migrate: move migration helper from .h to .c (Waiman Long) [1937825] - mm/page_isolation: prefer the node of the source page (Waiman Long) [1937825] - hugetlbfs: remove call to huge_pte_alloc without i_mmap_rwsem (Waiman Long) [1937825] - mm, oom: show process exiting information in __oom_kill_process() (Waiman Long) [1937825] - doc, mm: clarify /proc//oom_score value range (Waiman Long) [1937825] - doc, mm: sync up oom_score_adj documentation (Waiman Long) [1937825] - mm, oom: make the calculation of oom badness more accurate (Waiman Long) [1937825] - mm: vmscan: consistent update to pgrefill (Waiman Long) [1937825] - mm/vmscan.c: fix typo (Waiman Long) [1937825] - mm: memcontrol: account kernel stack per node (Waiman Long) [1937825] - mm/hugetlb.c: fix pages per hugetlb calculation (Waiman Long) [1937825] - doc: THP CoW fault no longer allocate THP (Waiman Long) [1937825] - driver core: platform: expose numa_node to users in sysfs (Waiman Long) [1937825] - nilfs2: fix null pointer dereference at nilfs_segctor_do_construct() (Waiman Long) [1937825] - mm, memcg: fix some typos in memcontrol.c (Waiman Long) [1937825] - mm/vmsan: fix some typos in comment (Waiman Long) [1937825] - mm: thp: don't need to drain lru cache when splitting and mlocking THP (Waiman Long) [1937825] - mm/vmscan: update the comment of should_continue_reclaim() (Waiman Long) [1937825] - mm/vmscan.c: change prototype for shrink_page_list (Waiman Long) [1937825] - mm/vmscan: count layzfree pages and fix nr_isolated_* mismatch (Waiman Long) [1937825] - mm/vmscan.c: use update_lru_size() in update_lru_sizes() (Waiman Long) [1937825] - mm: simplify calling a compound page destructor (Waiman Long) [1937825] - mm/page_alloc: integrate classzone_idx and high_zoneidx (Waiman Long) [1937825] - mm/page_alloc: use ac->high_zoneidx for classzone_idx (Waiman Long) [1937825] - mm/page_alloc.c: extract check_[new|free]_page_bad() common part to page_bad_reason() (Waiman Long) [1937825] - mm/page_alloc.c: rename free_pages_check() to check_free_page() (Waiman Long) [1937825] - mm/page_alloc.c: rename free_pages_check_bad() to check_free_page_bad() (Waiman Long) [1937825] - mm/page_alloc.c: bad_flags is not necessary for bad_page() (Waiman Long) [1937825] - mm/page_alloc.c: bad_[reason|flags] is not necessary when PageHWPoison (Waiman Long) [1937825] - scs: Report SCS usage in bytes rather than number of entries (Waiman Long) [1937825] - scs: Move accounting into alloc/free functions (Waiman Long) [1937825] - mm/vmscan: remove unnecessary argument description of isolate_lru_pages() (Waiman Long) [1937825] - scs: Add support for stack usage debugging (Waiman Long) [1937825] - scs: Add page accounting for shadow call stack allocations (Waiman Long) [1937825] - scs: Add support for Clang's Shadow Call Stack (SCS) (Waiman Long) [1937825] - mm/migrate.c: unify "not queued for migration" handling in do_pages_move() (Waiman Long) [1937825] - mm/migrate.c: check pagelist in move_pages_and_store_status() (Waiman Long) [1937825] - mm/migrate.c: wrap do_move_pages_to_node() and store_status() (Waiman Long) [1937825] - mm/migrate.c: no need to check for i > start in do_pages_move() (Waiman Long) [1937825] - mm/hugetlb: remove unnecessary memory fetch in PageHeadHuge() (Waiman Long) [1937825] - hugetlbfs: Use i_mmap_rwsem to address page fault/truncate race (Waiman Long) [1937825] - hugetlbfs: use i_mmap_rwsem for more pmd sharing synchronization (Waiman Long) [1937825] - mm,thp,compaction,cma: allow THP migration for CMA allocations (Waiman Long) [1937825] - mm,compaction,cma: add alloc_contig flag to compact_control (Waiman Long) [1937825] - mm/vmscan.c: do_try_to_free_pages(): clean code by removing unnecessary assignment (Waiman Long) [1937825] - mm/vmscan.c: make may_enter_fs bool in shrink_page_list() (Waiman Long) [1937825] - mm/vmscan.c: fix data races using kswapd_classzone_idx (Waiman Long) [1937825] - mm/vmscan.c: remove cpu online notification for now (Waiman Long) [1937825] - mm: vmscan: replace open codings to NUMA_NO_NODE (Waiman Long) [1937825] - mm: swap: make page_evictable() inline (Waiman Long) [1937825] - mm/swap.c: not necessary to export __pagevec_lru_add() (Waiman Long) [1937825] - mm/gup: fix omission of check on FOLL_LONGTERM in gup fast path (Waiman Long) [1937825] - mm: dump_page(): additional diagnostics for huge pinned pages (Waiman Long) [1937825] - mm: improve dump_page() for compound pages (Waiman Long) [1937825] - selftests/vm: run_vmtests: invoke gup_benchmark with basic FOLL_PIN coverage (Waiman Long) [1937825] - mm/gup_benchmark: support pin_user_pages() and related calls (Waiman Long) [1937825] - mm/gup: /proc/vmstat: pin_user_pages (FOLL_PIN) reporting (Waiman Long) [1937825] - mm/gup: page->hpage_pinned_refcount: exact pin counts for huge pages (Waiman Long) [1937825] - mm/gup: track FOLL_PIN pages (Waiman Long) [1937825] - mm/gup: pass gup flags to two more routines (Waiman Long) [1937825] - mm: introduce page_ref_sub_return() (Waiman Long) [1937825] - mm/gup: pass a flags arg to __gup_device_* functions (Waiman Long) [1937825] - mm/gup: split get_user_pages_remote() into two routines (Waiman Long) [1937825] - sysfs: fix static inline declaration of sysfs_groups_change_owner() (Waiman Long) [1937825] - drivers/base/cpu: Simplify s*nprintf() usages (Waiman Long) [1937825] - drivers/base/cpu: Use scnprintf() for avoiding potential buffer overflow (Waiman Long) [1937825] - sysfs: add sysfs_change_owner() (Waiman Long) [1937825] - sysfs: add sysfs_group{s}_change_owner() (Waiman Long) [1937825] - sysfs: add sysfs_link_change_owner() (Waiman Long) [1937825] - sysfs: add sysfs_file_change_owner() (Waiman Long) [1937825] - mm/huge_memory.c: reduce critical section protected by split_queue_lock (Waiman Long) [1937825] - mm/huge_memory.c: use head to emphasize the purpose of page (Waiman Long) [1937825] - mm/huge_memory.c: use head to check huge zero page (Waiman Long) [1937825] - mm/gup: move try_get_compound_head() to top, fix minor issues (Waiman Long) [1937825] - userfaultfd: wrap the common dst_vma check into an inlined function (Waiman Long) [1937825] - userfaultfd: remove unnecessary WARN_ON() in __mcopy_atomic_hugetlb() (Waiman Long) [1937825] - userfaultfd: use vma_pagesize for all huge page size calculation (Waiman Long) [1937825] - mm/hugetlb: avoid looping to the same hugepage if !pages and !vmas (Waiman Long) [1937825] - hugetlb: remove unused hstate in hugetlb_fault_mutex_hash() (Waiman Long) [1937825] - hugetlbfs: convert macros to static inline, fix sparse warning (Waiman Long) [1937825] - hugetlbfs: hugetlb_fault_mutex_hash() cleanup (Waiman Long) [1937825] - mm/gup.c: allow CMA migration to propagate errors back to caller (Waiman Long) [1937825] - mm/gup_benchmark: fix MAP_HUGETLB case (Waiman Long) [1937825] - mm/gup_benchmark: add a missing "w" to getopt string (Waiman Long) [1937825] - mm, page_owner: rename flag indicating that page is allocated (Waiman Long) [1937825] - mm, page_owner: decouple freeing stack trace from debug_pagealloc (Waiman Long) [1937825] - mm, page_owner: fix off-by-one error in __set_page_owner_handle() (Waiman Long) [1937825] - mm/filemap.c: don't initiate writeback if mapping has no dirty pages (Waiman Long) [1937825] - mm, page_owner, debug_pagealloc: save and dump freeing stack trace (Waiman Long) [1937825] - mm, page_owner: keep owner info when freeing the page (Waiman Long) [1937825] - mm, page_owner: record page owner for each subpage (Waiman Long) [1937825] - mm: introduce page_size() (Waiman Long) [1937825] - mm, tracing: Print symbol name for call_site in trace events (Waiman Long) [1937825] - mm/gup.c: mark undo_dev_pagemap as __maybe_unused (Waiman Long) [1937825] - mm, memcg: introduce memory.events.local (Waiman Long) [1937825] - memcg, fsnotify: no oom-kill for remote memcg charging (Waiman Long) [1937825] - mm/swap_state.c: simplify total_swapcache_pages() with get_swap_device() (Waiman Long) [1937825] - mm: make !CONFIG_HUGE_PAGE wrappers into static inlines (Waiman Long) [1937825] - include/linux/hugetlb.h: convert to use vm_fault_t (Waiman Long) [1937825] - mm/page_ext.c: fix an imbalance with kmemleak (Waiman Long) [1937825] - mm/hugetlb: add prot_modify_start/commit sequence for hugetlb update (Waiman Long) [1937825] - iov_iter: optimize page_copy_sane() (Waiman Long) [1937825] - mm: remove __hugepage_set_anon_rmap() (Waiman Long) [1937825] - mm: remove pte_lock_deinit() (Waiman Long) [1937825] - mm/debug.c: make "migrate_reason_names[]" const char * (Waiman Long) [1937825] - vmscan: return NODE_RECLAIM_NOSCAN in node_reclaim() when CONFIG_NUMA is n (Waiman Long) [1937825] - tools/testing/selftests/vm/gup_benchmark.c: add MAP_HUGETLB option (Waiman Long) [1937825] - tools/testing/selftests/vm/gup_benchmark.c: add MAP_SHARED option (Waiman Long) [1937825] - tools/testing/selftests/vm/gup_benchmark.c: allow user specified file (Waiman Long) [1937825] - tools/testing/selftests/vm/gup_benchmark.c: fix 'write' flag usage (Waiman Long) [1937825] - mm/page_ext.c: constify lookup_page_ext() argument (Waiman Long) [1937825] - mm, page_alloc: actually ignore mempolicies for high priority allocations (Waiman Long) [1937825] - thp: use mm_file_counter to determine update which rss counter (Waiman Long) [1937825]- RDMA/cxgb4: Fix the reported max_recv_sge value (Kamal Heib) [1931850 1918264] - RDMA/qedr: Fix kernel panic when trying to access recv_cq (Kamal Heib) [1931850] - RDMA/addr: Be strict with gid size (Kamal Heib) [1931850] - IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS (Kamal Heib) [1931850 1921704 1953593] - RDMA/rxe: Fix errant WARN_ONCE in rxe_completer() (Kamal Heib) [1931850] - RDMA/rxe: Fix extra deref in rxe_rcv_mcast_pkt() (Kamal Heib) [1931850] - RDMA/rxe: Fix FIXME in rxe_udp_encap_recv() (Kamal Heib) [1931850] - RDMA/rxe: Fix missed IB reference counting in loopback (Kamal Heib) [1931850] - RDMA/uverbs: Fix kernel-doc warning of _uverbs_alloc (Kamal Heib) [1931850] - RDMA/rxe: Fix missing kconfig dependency on CRYPTO (Kamal Heib) [1931850] - RDMA/cm: Fix IRQ restore in ib_send_cm_sidr_rep (Kamal Heib) [1931850] - RDMA/rxe: Remove unused pkt->offset (Kamal Heib) [1931850] - RDMA/ucma: Fix use-after-free bug in ucma_create_uevent (Kamal Heib) [1931850] - RDMA/core: Fix kernel doc warnings for ib_port_immutable_read() (Kamal Heib) [1931850] - RDMA/ipoib: Remove racy Subnet Manager sendonly join checks (Kamal Heib) [1931850] - RDMA/rxe: Cleanup init_send_wqe (Kamal Heib) [1931850] - RDMA/rxe: Fix minor coding style issues (Kamal Heib) [1931850] - RDMA/rxe: Correct skb on loopback path (Kamal Heib) [1931850] - RDMA/rxe: Fix coding error in rxe_rcv_mcast_pkt (Kamal Heib) [1931850] - RDMA/rxe: Remove useless code in rxe_recv.c (Kamal Heib) [1931850] - RDMA/rxe: Fix coding error in rxe_recv.c (Kamal Heib) [1931850] - RDMA/core: Introduce and use API to read port immutable data (Kamal Heib) [1931850] - RDMA/pvrdma: Replace spin_lock_irqsave with spin_lock in hard IRQ (Kamal Heib) [1931850] - IB/core: Use valid port number to check link layer (Kamal Heib) [1931850] - IB/cm: Avoid a loop when device has 255 ports (Kamal Heib) [1931850] - RDMA/efa: Remove unused syndrome enum values (Kamal Heib) [1931850] - RDMA/efa: Remove unused 'select' field from get/set feature command descriptor (Kamal Heib) [1931850] - RDMA/efa: Remove unnecessary indentation in defs comments (Kamal Heib) [1931850] - RDMA/efa: Remove duplication of upper/lower_32_bits (Kamal Heib) [1931850] - RDMA/efa: Remove redundant NULL pointer check of CQE (Kamal Heib) [1931850] - RDMA/hw/hfi1/rc: Demote incorrectly populated kernel-doc header (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/verbs: Demote non-conforming doc header and fix a misspelling (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/user_exp_rcv: Demote half-documented and kernel-doc abuses (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/ud: Fix a little more doc-rot (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/uc: Fix a little doc-rot (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/tid_rdma: Fix a plethora of kernel-doc issues (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/sdma: Fix misnaming of 'sdma_send_txlist()'s 'count_out' param (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/ruc: Fix a small formatting and description issues (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/qp: Fix some formatting issues and demote kernel-doc abuse (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/rc: Fix a few function documentation issues (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/pio_copy: Provide entry for 'pio_copy()'s 'dd' param (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/pcie: Demote kernel-doc abuses (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/netdev_rx: Fix misdocumentation of the 'start_id' param (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/qp: Fix kernel-doc formatting problem (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/mad: Fix misspelling of 'rvt_process_mad()'s 'in_mad_size' param (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/msix: Add description for 'name' and remove superfluous param 'idx' (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/mad: Demote half-completed kernel-doc header fix another (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/iowait: Demote half-completed kernel-doc and fix formatting issue in another (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/srq: Fix a couple of kernel-doc issues (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/intr: Fix some kernel-doc formatting issues (Kamal Heib) [1931850 1921704] - RDMA/rxe: Replace missing rxe_pool_get_index_locked (Kamal Heib) [1931850] - RDMA/rxe: Remove unneeded pool->state (Kamal Heib) [1931850] - RDMA/rxe: Remove references to ib_device and pool (Kamal Heib) [1931850] - RDMA/rxe: Remove RXE_POOL_ATOMIC (Kamal Heib) [1931850] - RDMA/rxe: Fix misleading comments and names (Kamal Heib) [1931850] - RDMA/rxe: Fix bug in rxe_alloc() (Kamal Heib) [1931850] - IB/umad: Return EPOLLERR in case of when device disassociated (Kamal Heib) [1931850] - IB/umad: Return EIO in case of when device disassociated (Kamal Heib) [1931850] - RDMA/sw/rdmavt/qp: Fix a bunch of kernel-doc misdemeanours (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/mr: Fix some issues related to formatting and missing descriptions (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/file_ops: Fix' manage_rcvq()'s 'arg' param (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/exp_rcv: Fix some kernel-doc formatting issues (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/mcast: Demote incomplete kernel-doc header (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/mad: Fix 'rvt_process_mad()'s documentation header (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/chip: Fix a bunch of kernel-doc formatting and spelling issues (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/cq: Demote hardly complete kernel-doc header (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/vt: Fix formatting issue and update description for 'context' (Kamal Heib) [1931850 1921704] - RDMA/hw/efa/efa_com: Stop using param description notation for non-params (Kamal Heib) [1931850] - RDMA/uverbs: Don't set rcq for a QP if qp_type is IB_QPT_XRC_INI (Kamal Heib) [1931850] - RDMA/core/iwpm_msg: Add proper descriptions for 'skb' param (Kamal Heib) [1931850] - RDMA/core/iwpm_util: Fix some param description misspellings (Kamal Heib) [1931850] - RDMA/core/counters: Demote non-conformant kernel-doc headers (Kamal Heib) [1931850] - RDMA/core/restrack: Fix kernel-doc formatting issue (Kamal Heib) [1931850] - RDMA/core/sa_query: Demote non-conformant kernel-doc header (Kamal Heib) [1931850] - RDMA/core/multicast: Provide description for 'ib_init_ah_from_mcmember()'s 'rec' param (Kamal Heib) [1931850] - RDMA/core/roce_gid_mgmt: Fix misnaming of 'rdma_roce_rescan_device()'s param 'ib_dev' (Kamal Heib) [1931850] - RDMA/core/cache: Fix some misspellings, missing and superfluous param descriptions (Kamal Heib) [1931850] - RDMA/core: device: Fix formatting in worthy kernel-doc header and demote another (Kamal Heib) [1931850] - IB/iser: Simplify prot_caps setting (Kamal Heib) [1931850] - IB/iser: Enforce iser_max_sectors to be greater than 0 (Kamal Heib) [1931850] - IB/iser: Protect iscsi_max_lun module param using callback (Kamal Heib) [1931850] - IB/iser: Remove unneeded semicolons (Kamal Heib) [1931850] - IB/isert: Simplify signature cap check (Kamal Heib) [1931850] - IB/isert: Remove unneeded semicolon (Kamal Heib) [1931850] - IB/isert: Remove unneeded new lines (Kamal Heib) [1931850] - RDMA/nldev: Return an error message on failure to turn auto mode (Kamal Heib) [1931850] - RDMA/rxe: Fix race in rxe_mcast.c (Kamal Heib) [1931850] - RDMA/rxe: Add unlocked versions of pool APIs (Kamal Heib) [1931850] - RDMA/rxe: Make add/drop key/index APIs type safe (Kamal Heib) [1931850] - RDMA/rxe: Make pool lookup and alloc APIs type safe (Kamal Heib) [1931850] - RDMA/rxe: Add elem_offset field to rxe_type_info (Kamal Heib) [1931850] - RDMA/rxe: Let pools support both keys and indices (Kamal Heib) [1931850] - RDMA/rxe: Remove unneeded RXE_POOL_ATOMIC flag (Kamal Heib) [1931850] - RDMA/rxe: Add check for supported QP types (Kamal Heib) [1931850] - RDMA: Use kzalloc for allocating only one thing (Kamal Heib) [1931850] - RDMA/cma: Delete useless kfree code (Kamal Heib) [1931850] - RDMA/hfi1: remove h from printk format specifier (Kamal Heib) [1931850 1921704] - RDMA: Convert comma to semicolon (Kamal Heib) [1931850] - net: devlink: Add unused port flavour (Petr Oros) [1943273] - devlink: add .trap_group_action_set() callback (Petr Oros) [1943273] - devlink: add parser error drop packet traps (Petr Oros) [1943273] - drop_monitor: Perform cleanup upon probe registration failure (Petr Oros) [1943273] - selftests: net: Add drop monitor test (Petr Oros) [1943273] - drop_monitor: Filter control packets in drop monitor (Petr Oros) [1943273] - drop_monitor: Remove duplicate struct (Petr Oros) [1943273] - drop_monitor: Remove no longer used functions (Petr Oros) [1943273] - drop_monitor: Convert to using devlink tracepoint (Petr Oros) [1943273] - drop_monitor: Prepare probe functions for devlink tracepoint (Petr Oros) [1943273] - devlink: Add a tracepoint for trap reports (Petr Oros) [1943273] - net: devlink: fix reporter dump dumpit (Petr Oros) [1943273] - devlink: have genetlink code to parse the attrs during dumpit (Petr Oros) [1943273] - netfilter: nf_tables: add direct calls for all builtin expressions (Florian Westphal) [1953320] - netfilter: nf_tables: handle meta/lookup with direct call (Florian Westphal) [1953320] - ionic: linearize tso skb with too many frags (Jonathan Toppins) [1940696] - i40e: fix the restart auto-negotiation after FEC modified (Stefan Assmann) [1725560] - ovl: skip getxattr of security labels (Miklos Szeredi) [1956340] - ovl: fix dentry leak in ovl_get_redirect (Miklos Szeredi) [1956340] - ovl: avoid deadlock on directory ioctl (Miklos Szeredi) [1956340] - cap: fix conversions on getxattr (Miklos Szeredi) [1956340] - ovl: perform vfs_getxattr() with mounter creds (Miklos Szeredi) [1956340] - ovl: add warning on user_ns mismatch (Miklos Szeredi) [1956340] - ovl: unprivieged mounts (Miklos Szeredi) [1956340] - ovl: do not get metacopy for userxattr (Miklos Szeredi) [1956340] - ovl: do not fail because of O_NOATIME (Miklos Szeredi) [1956340] - ovl: do not fail when setting origin xattr (Miklos Szeredi) [1956340] - ovl: user xattr (Miklos Szeredi) [1956340] - ovl: simplify file splice (Miklos Szeredi) [1956340] - ovl: make ioctl() safe (Miklos Szeredi) [1956340] - ovl: check privs before decoding file handle (Miklos Szeredi) [1956340] - vfs: verify source area in vfs_dedupe_file_range_one() (Miklos Szeredi) [1956340] - vfs: move cap_convert_nscap() call into vfs_setxattr() (Miklos Szeredi) [1956340] - ovl: fix incorrect extent info in metacopy case (Miklos Szeredi) [1956340] - ovl: expand warning in ovl_d_real() (Miklos Szeredi) [1956340] - ovl: document lower modification caveats (Miklos Szeredi) [1956340] - ovl: warn about orphan metacopy (Miklos Szeredi) [1956340] - ovl: doc clarification (Miklos Szeredi) [1956340] - ovl: introduce new "uuid=off" option for inodes index feature (Miklos Szeredi) [1956340] - ovl: propagate ovl_fs to ovl_decode_real_fh and ovl_encode_real_fh (Miklos Szeredi) [1956340] - ovl: use generic vfs_ioc_setflags_prepare() helper (Miklos Szeredi) [1956340] - ovl: support [S|G]ETFLAGS and FS[S|G]ETXATTR ioctls for directories (Miklos Szeredi) [1956340] - ovl: rearrange ovl_can_list() (Miklos Szeredi) [1956340] - ovl: enumerate private xattrs (Miklos Szeredi) [1956340] - ovl: pass ovl_fs down to functions accessing private xattrs (Miklos Szeredi) [1956340] - ovl: drop flags argument from ovl_do_setxattr() (Miklos Szeredi) [1956340] - ovl: adhere to the vfs_ vs. ovl_do_ conventions for xattrs (Miklos Szeredi) [1956340] - ovl: use ovl_do_getxattr() for private xattr (Miklos Szeredi) [1956340] - ovl: fold ovl_getxattr() into ovl_get_redirect_xattr() (Miklos Szeredi) [1956340] - ovl: clean up ovl_getxattr() in copy_up.c (Miklos Szeredi) [1956340] - duplicate ovl_getxattr() (Miklos Szeredi) [1956340] - ovl: provide a mount option "volatile" (Miklos Szeredi) [1956340 1928211] - ovl: check for incompatible features in work dir (Miklos Szeredi) [1956340 1928211] - ovl: fix lookup of indexed hardlinks with metacopy (Miklos Szeredi) [1956340] - ovl: fix unneeded call to ovl_change_flags() (Miklos Szeredi) [1956340] - ovl: fix mount option checks for nfs_export with no upperdir (Miklos Szeredi) [1956340] - ovl: force read-only sb on failure to create index dir (Miklos Szeredi) [1956340] - ovl: fix regression with re-formatted lower squashfs (Miklos Szeredi) [1956340] - ovl: fix oops in ovl_indexdir_cleanup() with nfs_export=on (Miklos Szeredi) [1956340] - ovl: relax WARN_ON() when decoding lower directory file handle (Miklos Szeredi) [1956340] - ovl: remove not used argument in ovl_check_origin (Miklos Szeredi) [1956340] - ovl: change ovl_copy_up_flags static (Miklos Szeredi) [1956340] - ovl: inode reference leak in ovl_is_inuse true case. (Miklos Szeredi) [1956340] - ovl: remove unnecessary lock check (Miklos Szeredi) [1956340] - ovl: make oip->index bool (Miklos Szeredi) [1956340] - ovl: only pass ->ki_flags to ovl_iocb_to_rwf() (Miklos Szeredi) [1956340] - ovl: make private mounts longterm (Miklos Szeredi) [1956340] - ovl: get rid of redundant members in struct ovl_fs (Miklos Szeredi) [1956340] - ovl: add accessor for ofs->upper_mnt (Miklos Szeredi) [1956340] - ovl: drop negative dentry in upper layer (Miklos Szeredi) [1956340] - ovl: check permission to open real file (Miklos Szeredi) [1956340] - ovl: call secutiry hook in ovl_real_ioctl() (Miklos Szeredi) [1956340] - ovl: verify permissions in ovl_path_open() (Miklos Szeredi) [1956340] - ovl: switch to mounter creds in readdir (Miklos Szeredi) [1956340] - ovl: pass correct flags for opening real directory (Miklos Szeredi) [1956340] - ovl: whiteout inode sharing (Miklos Szeredi) [1956340] - ovl: inherit SB_NOSEC flag from upperdir (Miklos Szeredi) [1956340] - ovl: skip overlayfs superblocks at global sync (Miklos Szeredi) [1956340] - ovl: index dir act as work dir (Miklos Szeredi) [1956340] - ovl: prepare to copy up without workdir (Miklos Szeredi) [1956340] - ovl: cleanup non-empty directories in ovl_indexdir_cleanup() (Miklos Szeredi) [1956340] - ocxl: Add new kernel traces (Steve Best) [1907530] - ocxl: Add mmu notifier (Steve Best) [1907530] - ocxl: Update the Process Element Entry (Steve Best) [1907530] - ocxl: Initiate a TLB invalidate command (Steve Best) [1907530] - ocxl: Assign a register set to a Logical Partition (Steve Best) [1907530] - powerpc/mce: Remove per cpu variables from MCE handlers (Gustavo Walbon) [1921683] - powerpc/mce: Reduce the size of event arrays (Gustavo Walbon) [1921683] - tools/power turbostat: Support Ice Lake D (Prarit Bhargava) [1943439] - PM: hibernate: x86: Use crc32 instead of md5 for hibernation e820 integrity check (Chris von Recklinghausen) [1944636] - vhost/vsock: add IOTLB API support (Stefano Garzarella) [1894101] - vhost: Fix vhost_vq_reset() (Laurent Vivier) [1919126] - perf trace: Fix race in signal handling (Michael Petlan) [1928380] - scsi: sd: sd_zbc: Don't pass GFP_NOIO to kvcalloc (Ewan D. Milne) [1953699] - sd_zbc: clear zone resources for non-zoned case (Ewan D. Milne) [1953699] - scsi: scsi_debug: Fix a memory leak (Ewan D. Milne) [1953699] - scsi: sd: Warn if unsupported ZBC device is probed (Ewan D. Milne) [1953699] - scsi: core: Add 'set_status_byte()' accessor (Ewan D. Milne) [1953699] - scsi: scsi_debug: Do not set COMMAND_COMPLETE (Ewan D. Milne) [1953699] - scsi: scsi_transport_srp: Don't block target in failfast state (Ewan D. Milne) [1953699] - scsi: scsi_debug: Fix memleak in scsi_debug_init() (Ewan D. Milne) [1953699] - scsi: core: Fix -Wformat for scsi_host (Ewan D. Milne) [1953699] - scsi: doc: Fix some kernel-doc markups (Ewan D. Milne) [1953699] - scsi: sr: Initialize ->cmd_len (Ewan D. Milne) [1953699] - scsi: core: Set sc_data_direction to DMA_NONE for no-transfer commands (Ewan D. Milne) [1953699] - scsi: core: Remove scsi_setup_cmnd() and scsi_setup_fs_cmnd() (Ewan D. Milne) [1953699] - scsi: core: Clean up allocation and freeing of sgtables (Ewan D. Milne) [1953699] - scsi: core: Rename scsi_mq_prep_fn() to scsi_prepare_cmd() (Ewan D. Milne) [1953699] - scsi: core: Rename scsi_prep_state_check() to scsi_device_state_check() (Ewan D. Milne) [1953699] - scsi: core: Use rq_dma_dir in scsi_setup_cmnd() (Ewan D. Milne) [1953699] - scsi: core: Remove scsi_init_cmd_errh (Ewan D. Milne) [1953699] - scsi: sd: Allow user to configure command retries (Ewan D. Milne) [1953699] - scsi: sd: sd_zbc: Fix handling of host-aware ZBC disks (Ewan D. Milne) [1953699] - scsi: sd_zbc: Improve zone revalidation (Ewan D. Milne) [1953699] - scsi: sd_zbc: Don't limit max_zone_append sectors to max_hw_sectors (Ewan D. Milne) [1953699] - scsi: sd_zbc: Remove unused inline functions (Ewan D. Milne) [1953699] - nvme: fix the nsid value to print in nvme_validate_or_alloc_ns (Gopal Tiwari) [1921591] - nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a (Gopal Tiwari) [1921591] - nvme-rdma: Fix a use after free in nvmet_rdma_write_data_done (Gopal Tiwari) [1921591] - nvme-core: check ctrl css before setting up zns (Gopal Tiwari) [1921591] - nvme-fc: fix racing controller reset and create association (Gopal Tiwari) [1921591] - nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted (Gopal Tiwari) [1921591] - nvme-fc: set NVME_REQ_CANCELLED in nvme_fc_terminate_exchange() (Gopal Tiwari) [1921591] - nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request() (Gopal Tiwari) [1921591] - nvme: simplify error logic in nvme_validate_ns() (Gopal Tiwari) [1921591] - nvme: set max_zone_append_sectors nvme_revalidate_zones (Gopal Tiwari) [1921591] - nvmet: model_number must be immutable once set (Gopal Tiwari) [1921591] - nvme-fabrics: fix kato initialization (Gopal Tiwari) [1921591] - nvme-hwmon: Return error code when registration fails (Gopal Tiwari) [1921591] - nvme-pci: add quirks for Lexar 256GB SSD (Gopal Tiwari) [1921591] - nvme-pci: mark Kingston SKC2000 as not supporting the deepest power state (Gopal Tiwari) [1921591] - nvme-pci: mark Seagate Nytro XM1440 as QUIRK_NO_NS_DESC_LIST. (Gopal Tiwari) [1921591] - nvme-tcp: fix crash triggered with a dataless request submission (Gopal Tiwari) [1921591] - nvme-hwmon: rework to avoid devm allocation (Gopal Tiwari) [1921591] - nvme: add 48-bit DMA address quirk for Amazon NVMe controllers (Gopal Tiwari) [1921591] - nvmet: remove else at the end of the function (Gopal Tiwari) [1921591] - nvmet: add helper to report invalid opcode (Gopal Tiwari) [1921591] - nvmet: add nvmet_req_subsys() helper (Gopal Tiwari) [1921591] - nvmet: use invalid cmd opcode helper (Gopal Tiwari) [1921591] - nvmet: use invalid cmd opcode helper (Gopal Tiwari) [1921591] - nvmet-fc: add a missing __rcu annotation to nvmet_fc_tgt_assoc.queues (Gopal Tiwari) [1921591] - nvme-multipath: set nr_zones for zoned namespaces (Gopal Tiwari) [1921591] - nvmet: make nvmet_find_namespace() req based (Gopal Tiwari) [1921591] - nvmet: set status to 0 in case for invalid nsid (Gopal Tiwari) [1921591] - nvmet: return uniform error for invalid ns (Gopal Tiwari) [1921591] - nvmet: remove extra variable in id-ns handler (Gopal Tiwari) [1921591] - nvmet-tcp: fix receive data digest calculation for multiple h2cdata PDUs (Gopal Tiwari) [1921591] - nvme-fabrics: avoid double completions in nvmf_fail_nonready_command (Gopal Tiwari) [1921591] - nvme: introduce a nvme_host_path_error helper (Gopal Tiwari) [1921591] - blk-mq: introduce blk_mq_set_request_complete (Gopal Tiwari) [1921591] - nvme-rdma: handle nvme_rdma_post_send failures better (Gopal Tiwari) [1921591] - nvmet-tcp: fix potential race of tcp socket closing accept_work (Gopal Tiwari) [1921591] - nvme: cleanup zone information initialization (Gopal Tiwari) [1921591] - nvmet-tcp: fix out-of-bounds access when receiving multiple h2cdata PDUs (Gopal Tiwari) [1921591] - nvme-pci: ignore the subsysem NQN on Phison E16 (Gopal Tiwari) [1921591] - nvme-pci: avoid the deepest sleep state on Kingston A2000 SSDs (Gopal Tiwari) [1921591] - nvme-tcp: use cancel tagset helper for tear down (Gopal Tiwari) [1921591] - nvme-rdma: use cancel tagset helper for tear down (Gopal Tiwari) [1921591] - nvme-rdma: add clean action for failed reconnection (Gopal Tiwari) [1921591] - nvme-core: get rid of the extra space (Gopal Tiwari) [1921591] - nvme-tcp: add clean action for failed reconnection (Gopal Tiwari) [1921591] - nvme: add tracing of zns commands (Gopal Tiwari) [1921591] - nvme: parse format nvm command details when tracing (Gopal Tiwari) [1921591] - nvme-core: add cancel tagset helpers (Gopal Tiwari) [1921591] - nvme: refactor ns->ctrl by request (Gopal Tiwari) [1921591] - nvme-tcp: fix wrong setting of request iov_iter (Gopal Tiwari) [1921591] - nvmet: remove extra variable in smart log nsid (Gopal Tiwari) [1921591] - nvme-tcp: get rid of unused helper function (Gopal Tiwari) [1921591] - nvmet: remove extra variable in identify ns (Gopal Tiwari) [1921591] - nvmet: remove extra variable in id-desclist (Gopal Tiwari) [1921591] - nvmet: add lba to sect conversion helpers (Gopal Tiwari) [1921591] - nvme: support command retry delay for admin command (Gopal Tiwari) [1921591] - nvmet: Use nvmet_is_port_enabled helper for pi_enable (Gopal Tiwari) [1921591] - nvme: constify static attribute_group structs (Gopal Tiwari) [1921591] - nvmet-fc: use RCU proctection for assoc_list (Gopal Tiwari) [1921591] - nvmet: Fix nvmet_is_port_enabled indentation (Gopal Tiwari) [1921591] - nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a SPCC device (Gopal Tiwari) [1921591] - nvme-core: use list_add_tail_rcu instead of list_add_tail for nvme_init_ns_head (Gopal Tiwari) [1921591] - nvme: allow revalidate to set a namespace read-only (Gopal Tiwari) [1921591] - nvmet: set right status on error in id-ns handler (Gopal Tiwari) [1921591] - nvme-tcp: avoid request double completion for concurrent nvme_tcp_timeout (Gopal Tiwari) [1921591] - nvme-rdma: avoid request double completion for concurrent nvme_rdma_timeout (Gopal Tiwari) [1921591] - nvme-pci: allow use of cmb on v1.4 controllers (Gopal Tiwari) [1921591] - nvme: check the PRINFO bit before deciding the host buffer length (Gopal Tiwari) [1921591] - nvme-tcp: fix possible data corruption with bio merges (Gopal Tiwari) [1921591] - nvme-tcp: Fix warning with CONFIG_DEBUG_PREEMPT (Gopal Tiwari) [1921591] - nvme: don't intialize hwmon for discovery controllers (Gopal Tiwari) [1921591] - nvmet-rdma: Fix NULL deref when setting pi_enable and traddr INADDR_ANY (Gopal Tiwari) [1921591] - nvmet-rdma: Fix list_del corruption on queue establishment failure (Gopal Tiwari) [1921591] - nvme: unexport functions with no external caller (Gopal Tiwari) [1921591] - nvme: avoid possible double fetch in handling CQE (Gopal Tiwari) [1921591] - nvme: remove the unused status argument from nvme_trace_bio_complete (Gopal Tiwari) [1921591] - nvme-tcp: Fix possible race of io_work and direct send (Gopal Tiwari) [1921591] - nvme-fcloop: Fix sscanf type and list_first_entry_or_null warnings (Gopal Tiwari) [1921591] - nvme-fc: avoid calling _nvme_fc_abort_outstanding_ios from interrupt context (Gopal Tiwari) [1921591] - nvme-loop: use blk_mq_hctx_set_fq_lock_class to set loop's lock class (Gopal Tiwari) [1921591] - nvme: rename controller base dev_t char device (Gopal Tiwari) [1921591] - nvme: remove unnecessary return values (Gopal Tiwari) [1921591] - nvme: rename bdev operations (Gopal Tiwari) [1921591] - nvme: export zoned namespaces without Zone Append support read-only (Gopal Tiwari) [1921591] - nvme: print a warning for when listing active namespaces fails (Gopal Tiwari) [1921591] - nvme: improve an error message on Identify failure (Gopal Tiwari) [1921591] - nvmet: fix a spelling mistake "incuding" -> "including" in Kconfig (Gopal Tiwari) [1921591] - nvme-fabrics: reject I/O to offline device (Gopal Tiwari) [1921591] - nvmet: make sure discovery change log event is protected (Gopal Tiwari) [1921591] - nvme-pci: don't allocate unused I/O queues (Gopal Tiwari) [1921591] - nvme-pci: drop min() from nr_io_queues assignment (Gopal Tiwari) [1921591] - nvmet: use inline bio for passthru fast path (Gopal Tiwari) [1921591] - nvmet: use blk_rq_bio_prep instead of blk_rq_append_bio (Gopal Tiwari) [1921591] - nvmet: remove unused ctrl->cqs (Gopal Tiwari) [1921591] - nvmet: remove op_flags for passthru commands (Gopal Tiwari) [1921591] - nvme: use consistent macro name for timeout (Gopal Tiwari) [1921591] - nvmet: add passthru io timeout value attr (Gopal Tiwari) [1921591] - nvmet: add passthru admin timeout value attr (Gopal Tiwari) [1921591] - nvme: split nvme_alloc_request() (Gopal Tiwari) [1921591] - nvme: centralize setting the timeout in nvme_alloc_request (Gopal Tiwari) [1921591] - nvme: simplify nvme_req_qid() (Gopal Tiwari) [1921591] - nvme-fcloop: add sysfs attribute to inject command drop (Gopal Tiwari) [1921591] - nvme: let set_capacity_revalidate_and_notify update the bdev size (Gopal Tiwari) [1921591] - nvme: directly cache command effects log (Gopal Tiwari) [1921591] - nvme: fix memory leak freeing command effects (Gopal Tiwari) [1921591] - nvme: free sq/cq dbbuf pointers when dbbuf set fails (Gopal Tiwari) [1921591] - nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device (Gopal Tiwari) [1921591] - RDMA: Lift ibdev_to_node from rds to common code (Gopal Tiwari) [1921591] - nvme: fix incorrect behavior when BLKROSET is called by the user (Gopal Tiwari) [1921591] - Revert "nvme-pci: remove last_sq_tail" (Gopal Tiwari) [1921591] - nvmet: fix a NULL pointer dereference when tracing the flush command (Gopal Tiwari) [1921591] - nvme-fc: remove nvme_fc_terminate_io() (Gopal Tiwari) [1921591] - nvme-fc: eliminate terminate_io use by nvme_fc_error_recovery (Gopal Tiwari) [1921591] - nvme-fc: remove err_work work item (Gopal Tiwari) [1921591] - nvme-fc: track error_recovery while connecting (Gopal Tiwari) [1921591] - nvme-rdma: handle unexpected nvme completion data length (Gopal Tiwari) [1921591] - nvme: ignore zone validate errors on subsequent scans (Gopal Tiwari) [1921591] - nvme-fc: shorten reconnect delay if possible for FC (Gopal Tiwari) [1921591] - nvme-fc: wait for queues to freeze before calling update_hr_hw_queues (Gopal Tiwari) [1921591] - nvme-fc: fix error loop in create_hw_io_queues (Gopal Tiwari) [1921591] - nvme-fc: fix io timeout to abort I/O (Gopal Tiwari) [1921591] - nvmet: cleanup nvmet_passthru_map_sg() (Gopal Tiwari) [1921591] - nvmet: don't use BLK_MQ_REQ_NOWAIT for passthru (Gopal Tiwari) [1921591] - nvmet: limit passthru MTDS by BIO_MAX_PAGES (Gopal Tiwari) [1921591] - nvme-rdma: fix crash due to incorrect cqe (Gopal Tiwari) [1921591] - nvmet: fix uninitialized work for zero kato (Gopal Tiwari) [1921591] - nvme: use queuedata for nvme_req_qid (Gopal Tiwari) [1921591] - nvme-pci: disable Write Zeroes on Sandisk Skyhawk (Gopal Tiwari) [1921591] - nvme-rdma: fix crash when connect rejected (Gopal Tiwari) [1921591] - nvme: translate zone resource errors (Gopal Tiwari) [1921591] - block: add zone specific block statuses (Gopal Tiwari) [1921591] - nvme-core: remove extra condition for vwc (Gopal Tiwari) [1921591] - nvme-core: remove extra variable (Gopal Tiwari) [1921591] - nvme: remove nvme_identify_ns_list (Gopal Tiwari) [1921591] - nvme: refactor nvme_validate_ns (Gopal Tiwari) [1921591] - nvme: move nvme_validate_ns (Gopal Tiwari) [1921591] - nvme: remove nvme_update_formats (Gopal Tiwari) [1921591] - nvme: update the known admin effects (Gopal Tiwari) [1921591] - nvme: query namespace identifiers before adding the namespace (Gopal Tiwari) [1921591] - nvme: revalidate zone bitmaps in nvme_update_ns_info (Gopal Tiwari) [1921591] - nvme: call nvme_identify_ns as the first thing in nvme_alloc_ns_block (Gopal Tiwari) [1921591] - nvme: set the queue limits in nvme_update_ns_info (Gopal Tiwari) [1921591] - nvme: remove the 0 lba_shift check in nvme_update_ns_info (Gopal Tiwari) [1921591] - nvme: freeze the queue over ->lba_shift updates (Gopal Tiwari) [1921591] - nvme: factor out a nvme_configure_metadata helper (Gopal Tiwari) [1921591] - nvme: lift the check for an unallocated namespace into nvme_identify_ns (Gopal Tiwari) [1921591] - nvme: clean up the check for too large logic block sizes (Gopal Tiwari) [1921591] - nvme: remove the disk argument to nvme_update_zone_info (Gopal Tiwari) [1921591] - nvme: rename __nvme_revalidate_disk (Gopal Tiwari) [1921591] - nvme: rename _nvme_revalidate_disk (Gopal Tiwari) [1921591] - nvme: rename nvme_validate_ns to nvme_validate_or_alloc_ns (Gopal Tiwari) [1921591] - nvme: fix initialization of the zone bitmaps (Gopal Tiwari) [1921591] - nvme-loop: don't put ctrl on nvme_init_ctrl error (Gopal Tiwari) [1921591] - nvme-core: put ctrl ref when module ref get fail (Gopal Tiwari) [1921591] - nvme-tcp: check page by sendpage_ok() before calling kernel_sendpage() (Gopal Tiwari) [1921591] - nvmet-fc: fix missing check for no hostport struct (Gopal Tiwari) [1921591] - nvme: fix error handling in nvme_ns_report_zones (Gopal Tiwari) [1921591] - nvmet: add passthru ZNS support (Gopal Tiwari) [1921591] - nvmet: handle keep-alive timer when kato is modified by a set features cmd (Gopal Tiwari) [1921591] - nvme-pci: allocate separate interrupt for the reserved non-polled I/O queue (Gopal Tiwari) [1921591] - nvmet-tcp: have queue io_work context run on sock incoming cpu (Gopal Tiwari) [1921591] - nvme: lift the file open code from nvme_ctrl_get_by_path (Gopal Tiwari) [1921591] - nvme: use an xarray to lookup the Commands Supported and Effects log (Gopal Tiwari) [1921591] - nvme-pci: Move enumeration by class to be last in the table (Gopal Tiwari) [1921591] - nvme-core: don't use NVME_NSID_ALL for command effects and supported log (Gopal Tiwari) [1921591] - nvme-fc: fail new connections to a deleted host or remote port (Gopal Tiwari) [1921591] - nvme: return errors for hwmon init (Gopal Tiwari) [1921591] - nvme-pci: fix NULL req in completion handler (Gopal Tiwari) [1921591] - nvmet: get transport reference for passthru ctrl (Gopal Tiwari) [1921591] - nvme-core: get/put ctrl and transport module in nvme_dev_open/release() (Gopal Tiwari) [1921591] - nvme-tcp: fix kconfig dependency warning when !CRYPTO (Gopal Tiwari) [1921591] - nvme: use blk_mq_complete_request_remote to avoid an indirect function call (Gopal Tiwari) [1921591] - nvme-core: replace ctrl page size with a macro (Gopal Tiwari) [1921591] - nvme-pci: remove the inline scatterlist optimization (Gopal Tiwari) [1921591] - block: optimize blk_queue_zoned_model for !CONFIG_BLK_DEV_ZONED (Gopal Tiwari) [1921591] - nvme: support for zoned namespaces (Gopal Tiwari) [1921591] - null_blk: introduce zone capacity for zoned device (Gopal Tiwari) [1921591] - block: add capacity field to zone descriptors (Gopal Tiwari) [1921591]- vmxnet3: Set the default of vxlan overlay offload to disabled (Cathy Avery) [1941714] - vmxnet3: Update driver to use ethtool_sprintf (Cathy Avery) [1923796] - vmxnet3: Remove buf_info from device accessible structures (Cathy Avery) [1923796] - igc: Fix overwrites return value (Corinna Vinschen) [1920285] - igc: Add set/clear large buffer helpers (Corinna Vinschen) [1920285] - igc: Refactor Rx timestamp handling (Corinna Vinschen) [1920285] - igc: Introduce igc_get_rx_frame_truesize() helper (Corinna Vinschen) [1920285] - igc: Introduce igc_rx_buffer_flip() helper (Corinna Vinschen) [1920285] - igc: Remove unused argument from igc_tx_cmd_type() (Corinna Vinschen) [1920285] - igc: Fix prototype warning (Corinna Vinschen) [1920285] - igc: Assign boolean values to a bool variable (Corinna Vinschen) [1920285] - igc: Remove unused MII_CR_LOOPBACK (Corinna Vinschen) [1920285] - igc: Remove unused MII_CR_SPEED (Corinna Vinschen) [1920285] - igc: Remove unused MII_CR_RESET (Corinna Vinschen) [1920285] - igc: Fix igc_ptp_rx_pktstamp() (Corinna Vinschen) [1920285] - igc: Fix Supported Pause Frame Link Setting (Corinna Vinschen) [1920285] - igc: Fix Pause Frame Advertising (Corinna Vinschen) [1920285] - igc: reinit_locked() should be called with rtnl_lock (Corinna Vinschen) [1920285] - igc: Fix TDBAL register show incorrect value (Corinna Vinschen) [1920285] - igc: Remove unused FUNC_1 mask (Corinna Vinschen) [1920285] - igc: Remove unused local receiver mask (Corinna Vinschen) [1920285] - igc: Prefer strscpy over strlcpy (Corinna Vinschen) [1920285] - igc: Expose the gPHY firmware version (Corinna Vinschen) [1920285] - igc: Expose the NVM version (Corinna Vinschen) [1920285] - igc: Add Host Good Packets Transmitted Count (Corinna Vinschen) [1920285] - igc: Remove MULR mask define (Corinna Vinschen) [1920285] - igc: Remove igc_set_fw_version comment (Corinna Vinschen) [1920285] - igc: Clean up nvm_operations structure (Corinna Vinschen) [1920285] - igc: check return value of ret_val in igc_config_fc_after_link_up (Corinna Vinschen) [1920285] - igc: set the default return value to -IGC_ERR_NVM in igc_write_nvm_srwr (Corinna Vinschen) [1920285] - igc: Report speed and duplex as unknown when device is runtime suspended (Corinna Vinschen) [1920285] - net: igc: use skb_csum_is_sctp instead of protocol check (Corinna Vinschen) [1920285] - igc: Add new device ID (Corinna Vinschen) [1920285] - net: igbvf: use skb_csum_is_sctp instead of protocol check (Corinna Vinschen) [1920287] - igbvf: Refactor traces (Corinna Vinschen) [1920287] - igbvf: amend removal of MODULE_VERSION (Corinna Vinschen) [1955752] - netlink: add tracepoint at NL_SET_ERR_MSG (Marcelo Ricardo Leitner) [1956983] - xfrm: Provide private skb extensions for segmented and hw offloaded ESP packets (Sabrina Dubroca) [1935575] - xfrm: BEET mode doesn't support fragments for inner packets (Xin Long) [1870900] - xfrm: Fix NULL pointer dereference on policy lookup (Sabrina Dubroca) [1951965] - xfrm: use secpath_exist where applicable (Sabrina Dubroca) [1951965] - net: xfrm: Use sequence counter with associated spinlock (Sabrina Dubroca) [1951965] - net: xfrm: Localize sequence counter per network namespace (Sabrina Dubroca) [1951965] - xfrm: Return the correct errno code (Sabrina Dubroca) [1951965] - xfrm: Fix wraparound in xfrm_policy_addr_delta() (Sabrina Dubroca) [1951965] - xfrm: fix disable_xfrm sysctl when used on xfrm interfaces (Sabrina Dubroca) [1951965] - xfrm: Fix oops in xfrm_replay_advance_bmp (Sabrina Dubroca) [1951965] - ah6: fix error return code in ah6_input() (Sabrina Dubroca) [1951965] - net: xfrm: fix a race condition during allocing spi (Sabrina Dubroca) [1951965] - xfrm: policy: Use sequence counters with associated lock (Sabrina Dubroca) [1951965] - selftests: net: mirror_gre_vlan_bridge_1q: Make an FDB entry static (Ivan Vecera) [1952586] - net: bridge: switchdev: include local flag in FDB notifications (Ivan Vecera) [1952586] - net: bridge: switchdev: refactor br_switchdev_fdb_notify (Ivan Vecera) [1952586] - net: bridge: don't notify switchdev for local FDB addresses (Ivan Vecera) [1952586] - net: bridge: use switchdev for port flags set through sysfs too (Ivan Vecera) [1952586] - net: bridge: vlan: fix error return code in __vlan_add() (Ivan Vecera) [1952586] - net: bridge: add missing counters to ndo_get_stats64 callback (Ivan Vecera) [1952586] - net: bridge: use new function dev_fetch_sw_netstats (Ivan Vecera) [1952586] - net: bridge: fdb: don't flush ext_learn entries (Ivan Vecera) [1952586] - net: bridge: clear bridge's private skb space on xmit (Ivan Vecera) [1952586] - bridge: mcast: Fix MLD2 Report IPv6 payload length check (Ivan Vecera) [1952586] - net: bridge: enfore alignment for ethernet address (Ivan Vecera) [1952586] - netfilter: nft_reject_bridge: enable reject with bridge vlan (Ivan Vecera) [1952586] - net: bridge: vlan: Add a schedule point during VLAN processing (Ivan Vecera) [1952586] - netfilter: ebtables: compat: reject all padding in matches/watchers (Ivan Vecera) [1952586] - net: bridge: deny dev_set_mac_address() when unregistering (Ivan Vecera) [1952586] - net: bridge: fdb: set flags directly in fdb_create (Ivan Vecera) [1952586] - net: bridge: fdb: convert offloaded to use bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert added_by_external_learn to use bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert added_by_user to bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert is_sticky to bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert is_static to bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert is_local to bitops (Ivan Vecera) [1952586] - net: bridge: move default pvid init/deinit to NETDEV_REGISTER/UNREGISTER (Ivan Vecera) [1952586] - bridge: Fix possible use-after-free when deleting bridge port (Ivan Vecera) [1952586] - bridge: update vlan dev link state for bridge netdev changes (Ivan Vecera) [1952586] - bridge: update vlan dev state when port added to or deleted from vlan (Ivan Vecera) [1952586] - bridge: support binding vlan dev link state to vlan member bridge ports (Ivan Vecera) [1952586] - vlan: do not transfer link state in vlan bridge binding mode (Ivan Vecera) [1952586] - vlan: support binding link state to vlan member bridge ports (Ivan Vecera) [1952586] - ipv6: weaken the v4mapped source check (Paolo Abeni) [1950298] - tcp: relookup sock for RST+ACK packets handled by obsolete req sock (Paolo Abeni) [1950298] - inet_connection_sock: remove unused parameter of reqsk_queue_unlink func (Paolo Abeni) [1950298] - tcp: add sanity tests to TCP_QUEUE_SEQ (Paolo Abeni) [1950298] - tcp: fix SO_RCVLOWAT related hangs under mem pressure (Paolo Abeni) [1950298] - tcp: do not mess with cloned skbs in tcp_add_backlog() (Paolo Abeni) [1950298] - tcp: fix cwnd-limited bug for TSO deferral where we send nothing (Paolo Abeni) [1950298] - vfio-ccw: Wire in the request callback (Thomas Huth) [1940451] - vfio-mdev: Wire in a request handler for mdev parent (Thomas Huth) [1940451] - intel_idle: add Iclelake-D support (David Arcari) [1960287] - scsi: ibmvfc: Fix potential race in ibmvfc_wait_for_ops() (Steve Best) [1941180] - powerpc/sstep: Fix VSX instruction emulation (Steve Best) [1934187] - powerpc/pseries/hibernation: remove pseries_suspend_cpu() (Steve Best) [1932970] - powerpc/pseries: remove cede offline state for CPUs (Steve Best) [1932970] - powerpc/pseries: export LPAR security flavor in lparcfg (Steve Best) [1935660] - Makefile: update early devel phase flag (Bruno Meneguele) [1930504]- configs: Enable CONFIG_BPF_KPROBE_OVERRIDE (Jiri Olsa) [1920439] - powerpc/kvm: Fix build error when PPC_MEM_KEYS/PPC_PSERIES=n (Greg Kurz) [1945745] - powerpc/kvm: Fix PR KVM with KUAP/MEM_KEYS enabled (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Ensure MSR[HV] is always clear in guest MSR (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Ensure MSR[ME] is always set in guest MSR (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Fix CONFIG_SPAPR_TCE_IOMMU=n default hcalls (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: remove unused kvmppc_h_protect argument (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Remove redundant mtspr PSPB (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Prevent radix guests setting LPCR[TC] (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Disallow LPCR[AIL] to be set to 1 or 2 (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Add a function to filter guest LPCR bits (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Nested move LPCR sanitising to sanitise_hv_regs (Greg Kurz) [1945745] - KVM: PPC: Book3S HV P9: Restore host CTRL SPR after guest exit (Greg Kurz) [1945745] - KVM: PPC: Don't always report hash MMU capability for P9 < DD2.2 (Greg Kurz) [1945745] - powerpc/xive: Assign boolean values to a bool variable (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Fix host radix SLB optimisation with hash guests (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Ensure radix guest has no SLB entries (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Save and restore FSCR in the P9 path (Greg Kurz) [1945745] - KVM: PPC: remove unneeded semicolon (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Use POWER9 SLBIA IH=6 variant to clear SLB (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: No need to clear radix host SLB before loading HPT guest (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Fix radix guest SLB side channel (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Remove support for running HPT guest on RPT host without mixed mode support (Greg Kurz) [1945745] - powerpc/mm: Update tlbiel loop on POWER10 (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Allow nested guest creation when L0 hv_guest_state > L1 (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Context tracking exit guest context before enabling irqs (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Include prototypes (Greg Kurz) [1945745] - KVM: PPC: Make the VMX instruction emulation routines static (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Fix mask size for emulated msgsndp (Greg Kurz) [1945745] - KVM: PPC: fix comparison to bool warning (Greg Kurz) [1945745] - KVM: PPC: Book3S: Assign boolean values to a bool variable (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: XIVE: Add a comment regarding VP numbering (Greg Kurz) [1945745] - powerpc/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_EOI_FW (Greg Kurz) [1945745] - powerpc/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_MASK_FW (Greg Kurz) [1945745] - powerpc/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_SHIFT_BUG (Greg Kurz) [1945745] - powerpc/xive: Add a debug_show handler to the XIVE irq_domain (Greg Kurz) [1945745] - powerpc/xive: Rename XIVE_IRQ_NO_EOI to show its a flag (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: XIVE: Show detailed configuration in debug output (Greg Kurz) [1945745] - powerpc/64s: Remove MSR[ISF] bit (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Ratelimit machine check messages coming from guests (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Don't attempt to recover machine checks for FWNMI enabled guests (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page (Greg Kurz) [1945745] - clocksource/drivers/hyper-v: Move handling of STIMER0 interrupts (Mohammed Gamal) [1940901] - clocksource/drivers/hyper-v: Set clocksource rating based on Hyper-V feature (Mohammed Gamal) [1940901] - clocksource/drivers/hyper-v: Handle sched_clock differences inline (Mohammed Gamal) [1940901] - clocksource/hyperv: use MSR-based access if running as root (Mohammed Gamal) [1940901] - cifs: fix interrupted close commands (Ronnie Sahlberg) [1952263] - cifs: add NULL check for ses->tcon_ipc (Ronnie Sahlberg) [1952263] - smb3: set COMPOUND_FID to FileID field of subsequent compound request (Ronnie Sahlberg) [1952263] - cifs: fix potential use-after-free in cifs_echo_request() (Ronnie Sahlberg) [1952263] - cifs: allow syscalls to be restarted in __smb_send_rqst() (Ronnie Sahlberg) [1952263] - smb3: Handle error case during offload read path (Ronnie Sahlberg) [1952263] - smb3: Avoid Mid pending list corruption (Ronnie Sahlberg) [1952263] - smb3: Call cifs reconnect from demultiplex thread (Ronnie Sahlberg) [1952263] - cifs: fix a memleak with modefromsid (Ronnie Sahlberg) [1952263] - cifs: update internal module version number (Ronnie Sahlberg) [1952263] - smb3: add some missing definitions from MS-FSCC (Ronnie Sahlberg) [1952263] - smb3: remove two unused variables (Ronnie Sahlberg) [1952263] - smb3: add support for stat of WSL reparse points for special file types (Ronnie Sahlberg) [1952263] - SMB3: add support for recognizing WSL reparse tags (Ronnie Sahlberg) [1952263] - cifs: remove bogus debug code (Ronnie Sahlberg) [1952263] - smb3.1.1: fix typo in compression flag (Ronnie Sahlberg) [1952263] - cifs: move smb version mount options into fs_context.c (Ronnie Sahlberg) [1952263] - cifs: move cache mount options to fs_context.ch (Ronnie Sahlberg) [1952263] - cifs: move security mount options into fs_context.ch (Ronnie Sahlberg) [1952263] - cifs: add files to host new mount api (Ronnie Sahlberg) [1952263] - smb3: do not try to cache root directory if dir leases not supported (Ronnie Sahlberg) [1952263] - smb3: fix stat when special device file and mounted with modefromsid (Ronnie Sahlberg) [1952263] - cifs: Print the address and port we are connecting to in generic_ip_connect() (Ronnie Sahlberg) [1952263] - SMB3: Resolve data corruption of TCP server info fields (Ronnie Sahlberg) [1952263] - cifs: make const array static, makes object smaller (Ronnie Sahlberg) [1952263] - SMB3.1.1: Fix ids returned in POSIX query dir (Ronnie Sahlberg) [1952263] - smb3: add dynamic trace point to trace when credits obtained (Ronnie Sahlberg) [1952263] - smb3.1.1: do not fail if no encryption required but server doesn't support it (Ronnie Sahlberg) [1952263] - cifs: Return the error from crypt_message when enc/dec key not found. (Ronnie Sahlberg) [1952263] - smb3.1.1: set gcm256 when requested (Ronnie Sahlberg) [1952263] - smb3.1.1: rename nonces used for GCM and CCM encryption (Ronnie Sahlberg) [1952263] - smb3.1.1: print warning if server does not support requested encryption type (Ronnie Sahlberg) [1952263] - smb3.1.1: add new module load parm enable_gcm_256 (Ronnie Sahlberg) [1952263] - smb3.1.1: add new module load parm require_gcm_256 (Ronnie Sahlberg) [1952263] - cifs: map STATUS_ACCOUNT_LOCKED_OUT to -EACCES (Ronnie Sahlberg) [1952263] - SMB3.1.1: add defines for new signing negotiate context (Ronnie Sahlberg) [1952263] - Handle STATUS_IO_TIMEOUT gracefully (Ronnie Sahlberg) [1952263] - cifs: compute full_path already in cifs_readdir() (Ronnie Sahlberg) [1952263] - cifs: return cached_fid from open_shroot (Ronnie Sahlberg) [1952263] - update structure definitions from updated protocol documentation (Ronnie Sahlberg) [1952263] - smb3: add defines for new crypto algorithms (Ronnie Sahlberg) [1952263] - cifs: fix check of tcon dfs in smb1 (Ronnie Sahlberg) [1952263] - SMB3: Fix mkdir when idsfromsid configured on mount (Ronnie Sahlberg) [1952263] - cifs: Convert to use the fallthrough macro (Ronnie Sahlberg) [1952263] - cifs: Fix an error pointer dereference in cifs_mount() (Ronnie Sahlberg) [1952263] - cifs: document and cleanup dfs mount (Ronnie Sahlberg) [1952263] - cifs: only update prefix path of DFS links in cifs_tree_connect() (Ronnie Sahlberg) [1952263] - cifs: fix double free error on share and prefix (Ronnie Sahlberg) [1952263] - cifs: handle RESP_GET_DFS_REFERRAL.PathConsumed in reconnect (Ronnie Sahlberg) [1952263] - cifs: handle empty list of targets in cifs_reconnect() (Ronnie Sahlberg) [1952263] - cifs: rename reconn_inval_dfs_target() (Ronnie Sahlberg) [1952263] - cifs: reduce number of referral requests in DFS link lookups (Ronnie Sahlberg) [1952263] - cifs: merge __{cifs,smb2}_reconnect[_tcon]() into cifs_tree_connect() (Ronnie Sahlberg) [1952263] - cifs: convert to use be32_add_cpu() (Ronnie Sahlberg) [1952263] - cifs: delete duplicated words in header files (Ronnie Sahlberg) [1952263] - cifs: Remove the superfluous break (Ronnie Sahlberg) [1952263] - cifs: remove unused variable 'server' (Ronnie Sahlberg) [1952263] - smb3: warn on confusing error scenario with sec=krb5 (Ronnie Sahlberg) [1952263] - fuse: 32-bit user space ioctl compat for fuse device (Miklos Szeredi) [1949873] - virtiofs: Fail dax mount if device does not support it (Miklos Szeredi) [1949873] - fuse: fix live lock in fuse_iget() (Miklos Szeredi) [1949873] - mm/filemap: remove unused parameter and change to void type for replace_page_cache_page() (Miklos Szeredi) [1949873] - fuse: support SB_NOSEC flag to improve write performance (Miklos Szeredi) [1949873] - fuse: add a flag FUSE_OPEN_KILL_SUIDGID for open() request (Miklos Szeredi) [1949873] - fuse: don't send ATTR_MODE to kill suid/sgid for handle_killpriv_v2 (Miklos Szeredi) [1949873] - fuse: setattr should set FATTR_KILL_SUIDGID (Miklos Szeredi) [1949873] - fuse: set FUSE_WRITE_KILL_SUIDGID in cached write path (Miklos Szeredi) [1949873] - fuse: rename FUSE_WRITE_KILL_PRIV to FUSE_WRITE_KILL_SUIDGID (Miklos Szeredi) [1949873] - fuse: introduce the notion of FUSE_HANDLE_KILLPRIV_V2 (Miklos Szeredi) [1949873] - fuse: always revalidate if exclusive create (Miklos Szeredi) [1949873] - virtiofs: clean up error handling in virtio_fs_get_tree() (Miklos Szeredi) [1949873] - fuse: add fuse_sb_destroy() helper (Miklos Szeredi) [1949873] - fuse: simplify get_fuse_conn*() (Miklos Szeredi) [1949873] - fuse: get rid of fuse_mount refcount (Miklos Szeredi) [1949873] - virtiofs: simplify sb setup (Miklos Szeredi) [1949873] - virtiofs fix leak in setup (Miklos Szeredi) [1949873] - fuse: launder page should wait for page writeback (Miklos Szeredi) [1949873] - fuse: connection remove fix (Miklos Szeredi) [1949873] - fuse: implement crossmounts (Miklos Szeredi) [1949873] - fuse: Allow fuse_fill_super_common() for submounts (Miklos Szeredi) [1949873] - fuse: split fuse_mount off of fuse_conn (Miklos Szeredi) [1949873] - fuse: drop fuse_conn parameter where possible (Miklos Szeredi) [1949873] - fuse: store fuse_conn in fuse_req (Miklos Szeredi) [1949873] - fuse: add submount support to (Miklos Szeredi) [1949873] - fuse: fix page dereference after free (Miklos Szeredi) [1949873] - fuse: update project homepage (Miklos Szeredi) [1949873] - fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS (Miklos Szeredi) [1949873] - fuse: don't ignore errors from fuse_writepages_fill() (Miklos Szeredi) [1949873] - fuse: clean up condition for writepage sending (Miklos Szeredi) [1949873] - fuse: fix warning in tree_insert() and clean up writepage insertion (Miklos Szeredi) [1949873] - fuse: move rb_erase() before tree_insert() (Miklos Szeredi) [1949873] - fuse: optimize writepages search (Miklos Szeredi) [1949873] - fuse: Update stale comment in queue_interrupt() (Miklos Szeredi) [1949873] - fuse: use true,false for bool variable (Miklos Szeredi) [1949873] - fuse: Add changelog entries for protocols 7.1 - 7.8 (Miklos Szeredi) [1949873] - fuse: reserve byteswapped init opcodes (Miklos Szeredi) [1949873] - convenience helper: get_tree_single() (finish backport) (Miklos Szeredi) [1949873] - fuse: Convert fusectl to use the new mount API (Miklos Szeredi) [1949873] - fuse: fix changelog entry for protocol 7.9 (Miklos Szeredi) [1949873] - fuse: fix changelog entry for protocol 7.12 (Miklos Szeredi) [1949873] - sfc: adjust efx->xdp_tx_queue_count with the real number of initialized queues (Íñigo Huguet) [1934254] - sfc: Remove duplicate argument (Íñigo Huguet) [1934254] - sfc: Use 'skb_add_rx_frag()' instead of hand coding it (Íñigo Huguet) [1934254] - sfc-falcon: Fix a typo (Íñigo Huguet) [1934254] - sfc: ef10: fix TX queue lookup in TX event handling (Íñigo Huguet) [1934254] - sfc: farch: fix TX queue lookup in TX event handling (Íñigo Huguet) [1934254] - sfc: farch: fix TX queue lookup in TX flush done handling (Íñigo Huguet) [1934254] - sfc: reduce the number of requested xdp ev queues (Íñigo Huguet) [1934254] - sfc: support GRE TSO on EF100 (Íñigo Huguet) [1934254] - sfc: correctly support non-partial GSO_UDP_TUNNEL_CSUM on EF100 (Íñigo Huguet) [1934254] - sfc: extend bitfield macros to 19 fields (Íñigo Huguet) [1934254] - sfc: advertise our vlan features (Íñigo Huguet) [1934254] - sfc: only use fixed-id if the skb asks for it (Íñigo Huguet) [1934254] - sfc: implement encap TSO on EF100 (Íñigo Huguet) [1934254] - sfc: extend bitfield macros to 17 fields (Íñigo Huguet) [1934254] - sfc: move initialisation of efx->filter_sem to efx_init_struct() (Íñigo Huguet) [1934254] - net: sfc: Use GFP_KERNEL in efx_ef10_try_update_nic_stats() (Íñigo Huguet) [1934254] - net: sfc: Replace in_interrupt() usage (Íñigo Huguet) [1934254] - sfc: clean up mis-targeted comments (Íñigo Huguet) [1934254] - sfc: fix kdoc warning (Íñigo Huguet) [1934254] - sfc: clean up unused assignments (Íñigo Huguet) [1934254] - sfc: advertise encapsulated offloads on EF10 (Íñigo Huguet) [1934254] - sfc: implement encapsulated TSO on EF10 (Íñigo Huguet) [1934254] - sfc: de-indirect TSO handling (Íñigo Huguet) [1934254] - sfc: select inner-csum-offload TX queues for skbs that need it (Íñigo Huguet) [1934254] - sfc: create inner-csum queues on EF10 if supported (Íñigo Huguet) [1934254] - sfc: define inner/outer csum offload TXQ types (Íñigo Huguet) [1934254] - sfc: decouple TXQ type from label (Íñigo Huguet) [1934254] - sfc: cleanups around efx_alloc_channel (Íñigo Huguet) [1934254] - sfc: remove spurious unreachable return statement (Íñigo Huguet) [1934254] - sfc: remove duplicate call to efx_init_channels from EF100 probe (Íñigo Huguet) [1934254] - sfc: coding style cleanups in mcdi_port_common.c (Íñigo Huguet) [1934254] - sfc: simplify DMA mask setting (Íñigo Huguet) [1934254] - sfc: remove EFX_DRIVER_VERSION (Íñigo Huguet) [1934254] - sfc: handle limited FEC support (Íñigo Huguet) [1934254] - sfc: add ethtool ops and miscellaneous ndos to EF100 (Íñigo Huguet) [1934254] - sfc: remove phy_op indirection (Íñigo Huguet) [1934254] - sfc: remove efx_tx_queue_partner (Íñigo Huguet) [1934254] - sfc: rewrite efx_tx_may_pio (Íñigo Huguet) [1934254] - sfc: use efx_channel_tx_[old_]fill_level() in Siena/EF10 TX datapath (Íñigo Huguet) [1934254] - sfc: use tx_queue->old_read_count in EF100 TX path (Íñigo Huguet) [1934254] - sfc: make ef100 xmit_more handling look more like ef10's (Íñigo Huguet) [1934254] - sfc: add and use efx_tx_send_pending in tx.c (Íñigo Huguet) [1934254] - sfc: return errors from efx_mcdi_set_id_led, and de-indirect (Íñigo Huguet) [1934254] - sfc: fix kernel-doc on struct efx_loopback_state (Íñigo Huguet) [1934254] - sfc: fix unused-but-set-variable warning in efx_farch_filter_remove_safe (Íñigo Huguet) [1934254] - sfc: fix W=1 warnings in efx_farch_handle_rx_not_ok (Íñigo Huguet) [1934254] - sfc: convert to new udp_tunnel infrastructure (Íñigo Huguet) [1934254] - net: don't warn in inet diag when IPV6 is disabled (Hangbin Liu) [1938639] - tcp: do not mess with cloned skbs in tcp_add_backlog() (Hangbin Liu) [1880432] - redhat: enable MHI bus driver support (Jarod Wilson) [1938030] - bus: mhi: core: Fix invalid error returning in mhi_queue (Jarod Wilson) [1938030] - bus: mhi: pci_generic: Remove WQ_MEM_RECLAIM flag from state workqueue (Jarod Wilson) [1938030] - bus: mhi: core: Fix check for syserr at power_up (Jarod Wilson) [1938030] - mhi: Fix double dma free (Jarod Wilson) [1938030] - bus: mhi: pci_generic: Increase num of elements in hw event ring (Jarod Wilson) [1938030] - mhi: pci_generic: Print warning in case of firmware crash (Jarod Wilson) [1938030] - bus: mhi: core: Add helper API to return number of free TREs (Jarod Wilson) [1938030] - mhi: core: Factorize mhi queuing (Jarod Wilson) [1938030] - mhi: use irq_flags if controller driver configures it (Jarod Wilson) [1938030] - mhi: pci_generic: Fix shared MSI vector support (Jarod Wilson) [1938030] - mhi: unconstify mhi_event_config (Jarod Wilson) [1938030] - bus: mhi: Ensure correct ring update ordering with memory barrier (Jarod Wilson) [1938030] - mhi: pci_generic: Set irq moderation value to 1ms for hw channels (Jarod Wilson) [1938030] - mhi: pci_generic: Add diag channels (Jarod Wilson) [1938030] - mhi: pci_generic: Increase controller timeout value (Jarod Wilson) [1938030] - mhi: pci_generic: Add health-check (Jarod Wilson) [1938030] - mhi: pci_generic: Add PCI error handlers (Jarod Wilson) [1938030] - mhi: pci_generic: Add suspend/resume/recovery procedure (Jarod Wilson) [1938030] - mhi: pci_generic: Add support for reset (Jarod Wilson) [1938030] - mhi: pci_generic: Enable burst mode for hardware channels (Jarod Wilson) [1938030] - mhi: pci-generic: Increase number of hardware events (Jarod Wilson) [1938030] - bus: mhi: core: Add device hardware reset support (Jarod Wilson) [1938030] - mhi: pci_generic: Fix implicit conversion warning (Jarod Wilson) [1938030] - bus: mhi: core: Fix error handling in mhi_register_controller() (Jarod Wilson) [1938030] - bus: mhi: core: Fix device hierarchy (Jarod Wilson) [1938030] - bus: mhi: core: Indexed MHI controller name (Jarod Wilson) [1938030] - bus: mhi: core: Remove MHI event ring IRQ handlers when powering down (Jarod Wilson) [1938030] - bus: mhi: core: Mark and maintain device states early on after power down (Jarod Wilson) [1938030] - bus: mhi: core: Separate system error and power down handling (Jarod Wilson) [1938030] - bus: mhi: core: Check for IRQ availability during registration (Jarod Wilson) [1938030] - bus: mhi: core: Move to an error state on mission mode failure (Jarod Wilson) [1938030] - bus: mhi: core: Use appropriate label in firmware load handler API (Jarod Wilson) [1938030] - bus: mhi: core: Move to an error state on any firmware load failure (Jarod Wilson) [1938030] - bus: mhi: core: Prevent sending multiple RDDM entry callbacks (Jarod Wilson) [1938030] - bus: mhi: core: Move to SYS_ERROR regardless of RDDM capability (Jarod Wilson) [1938030] - bus: mhi: core: Skip device wake in error or shutdown states (Jarod Wilson) [1938030] - bus: mhi: core: Move to using high priority workqueue (Jarod Wilson) [1938030] - bus: mhi: core: Use appropriate names for firmware load functions (Jarod Wilson) [1938030] - bus: mhi: core: Skip RDDM download for unknown execution environment (Jarod Wilson) [1938030] - bus: mhi: core: Rename RDDM download function to use proper words (Jarod Wilson) [1938030] - bus: mhi: core: Remove unused mhi_fw_load_worker() declaration (Jarod Wilson) [1938030] - bus: mhi: core: Expose mhi_get_exec_env() API for controllers (Jarod Wilson) [1938030] - bus: mhi: core: Add missing EXPORT_SYMBOL for mhi_get_mhi_state() (Jarod Wilson) [1938030] - bus: mhi: core: Remove unnecessary counter from mhi_firmware_copy() (Jarod Wilson) [1938030] - bus: mhi: Fix channel close issue on driver remove (Jarod Wilson) [1938030] - bus: mhi: core: Fix null pointer access when parsing MHI configuration (Jarod Wilson) [1938030] - bus: mhi: Add MHI PCI support for WWAN modems (Jarod Wilson) [1938030] - bus: mhi: core: fix potential operator-precedence with BHI macros (Jarod Wilson) [1938030] - bus: mhi: core: Remove double locking from mhi_driver_remove() (Jarod Wilson) [1938030] - bus: mhi: Remove auto-start option (Jarod Wilson) [1938030] - bus: mhi: Add mhi_queue_is_full function (Jarod Wilson) [1938030] - bus: mhi: debugfs: Print channel context read-pointer (Jarod Wilson) [1938030] - bus: mhi: core: Fix the building of MHI module (Jarod Wilson) [1938030] - bus: mhi: Remove unused nr_irqs_req variable (Jarod Wilson) [1938030] - bus: mhi: core: Allow shared IRQ for event rings (Jarod Wilson) [1938030] - bus: mhi: core: Introduce sysfs entries for MHI (Jarod Wilson) [1938030] - bus: mhi: core: Introduce debugfs entries for MHI (Jarod Wilson) [1938030] - bus: mhi: Fix entries based on Kconfig coding style (Jarod Wilson) [1938030] - bus: mhi: Remove include of rwlock_types.h (Jarod Wilson) [1938030] - bus: mhi: core: Add const qualifier to MHI config information (Jarod Wilson) [1938030] - bus: mhi: core: Introduce APIs to allocate and free the MHI controller (Jarod Wilson) [1938030] - bus: mhi: core: Read and save device hardware information from BHI (Jarod Wilson) [1938030] - bus: mhi: core: Introduce counters to track MHI device state transitions (Jarod Wilson) [1938030] - bus: mhi: core: Introduce helper function to check device state (Jarod Wilson) [1938030] - bus: mhi: core: Use generic name field for an MHI device (Jarod Wilson) [1938030] - bus: mhi: core: Trigger host resume if suspended during mhi_device_get() (Jarod Wilson) [1938030] - bus: mhi: core: Use helper API to trigger a non-blocking host resume (Jarod Wilson) [1938030] - bus: mhi: core: Abort suspends due to outgoing pending packets (Jarod Wilson) [1938030] - bus: mhi: core: Remove double occurrence for mhi_ctrl_ev_task() declaration (Jarod Wilson) [1938030] - bus: mhi: fix doubled words and struct image_info kernel-doc (Jarod Wilson) [1938030] - bus: mhi: core: Handle syserr during power_up (Jarod Wilson) [1938030] - bus: mhi: core: Handle write lock properly in mhi_pm_m0_transition (Jarod Wilson) [1938030] - bus: mhi: core: Do not process SYS_ERROR if RDDM is supported (Jarod Wilson) [1938030] - bus: mhi: core: Skip handling BHI irq if MHI reg access is not allowed (Jarod Wilson) [1938030] - bus: mhi: core: Handle disable transitions in state worker (Jarod Wilson) [1938030] - bus: mhi: core: Remove the system error worker thread (Jarod Wilson) [1938030] - bus: mhi: core: Ensure non-zero session or sequence ID values are used (Jarod Wilson) [1938030] - bus: mhi: core: Improve debug logs for loading firmware (Jarod Wilson) [1938030] - bus: mhi: core: Return appropriate error codes for AMSS load failure (Jarod Wilson) [1938030] - bus: mhi: core: Handle firmware load using state worker (Jarod Wilson) [1938030] - bus: mhi: core: Read transfer length from an event properly (Jarod Wilson) [1938030] - bus: mhi: core: Add range check for channel id received in event ring (Jarod Wilson) [1938030] - bus: mhi: core: Cache intmod from mhi event to mhi channel (Jarod Wilson) [1938030] - bus: mhi: core: Refactor mhi queue APIs (Jarod Wilson) [1938030] - bus: mhi: core: Fix some error return code (Jarod Wilson) [1938030] - bus: mhi: core: Fix channel device name conflict (Jarod Wilson) [1938030] - bus: mhi: core: Fix typo in comment (Jarod Wilson) [1938030] - bus: mhi: core: Offload register accesses to the controller (Jarod Wilson) [1938030] - bus: mhi: core: Remove link_status() callback (Jarod Wilson) [1938030] - bus: mhi: core: Make sure to powerdown if mhi_sync_power_up fails (Jarod Wilson) [1938030] - bus: mhi: Fix parsing of mhi_flags (Jarod Wilson) [1938030] - bus: mhi: core: Fix a NULL vs IS_ERR check in mhi_create_devices() (Jarod Wilson) [1938030] - bus: mhi: core: Add support for MHI suspend and resume (Jarod Wilson) [1938030] - bus: mhi: core: Drop the references to mhi_dev in mhi_destroy_device() (Jarod Wilson) [1938030] - bus: mhi: core: Initialize bhie field in mhi_cntrl for RDDM capture (Jarod Wilson) [1938030] - bus: mhi: core: Add support for reading MHI info from device (Jarod Wilson) [1938030] - bus: mhi: core: Pass module owner during client driver registration (Jarod Wilson) [1938030] - bus/mhi: fix printk format for size_t (Jarod Wilson) [1938030] - bus: mhi: core: Add uevent support for module autoloading (Jarod Wilson) [1938030] - bus: mhi: core: Add support for data transfer (Jarod Wilson) [1938030] - bus: mhi: core: Add support for processing events from client device (Jarod Wilson) [1938030] - bus: mhi: core: Add support for downloading RDDM image during panic (Jarod Wilson) [1938030] - bus: mhi: core: Add support for downloading firmware over BHIe (Jarod Wilson) [1938030] - bus: mhi: core: Add support for basic PM operations (Jarod Wilson) [1938030] - bus: mhi: core: Add support for PM state transitions (Jarod Wilson) [1938030] - bus: mhi: core: Add support for ringing channel/event ring doorbells (Jarod Wilson) [1938030] - bus: mhi: core: Add support for creating and destroying MHI devices (Jarod Wilson) [1938030] - bus: mhi: core: Add support for registering MHI client drivers (Jarod Wilson) [1938030] - bus: mhi: core: Add support for registering MHI controllers (Jarod Wilson) [1938030]- ipmi: remove open coded version of SMBus block write (Tony Camuso) [1947126] - char: ipmi: convert comma to semicolon (Tony Camuso) [1947126] - ipmi: msghandler: Suppress suspicious RCU usage warning (Tony Camuso) [1947126] - ipmi/watchdog: replace atomic_add() and atomic_sub() (Tony Camuso) [1947126] - char: ipmi: remove unneeded break (Tony Camuso) [1947126] - ipmi_si: Fix wrong return value in try_smi_init() (Tony Camuso) [1947126] - ipmi: msghandler: Fix a signedness bug (Tony Camuso) [1947126] - ipmi: add retry in try_get_dev_id() (Tony Camuso) [1947126] - ipmi: Clean up some printks (Tony Camuso) [1947126] - ipmi:msghandler: retry to get device id on an error (Tony Camuso) [1947126] - ipmi:sm: Print current state when the state is invalid (Tony Camuso) [1947126] - ipmi: Reset response handler when failing to send the command (Tony Camuso) [1947126] - ipmi: add a newline when printing parameter 'panic_op' by sysfs (Tony Camuso) [1947126] - cpuidle: Select polling interval based on a c-state with a longer target residency (Mark Langsdorf) [1922024] - cpuidle: big.LITTLE: enable driver only on Peach-Pit/Pi Chromebooks (Mark Langsdorf) [1922024] - cpuidle: record state entry rejection statistics (Mark Langsdorf) [1922024] - nitro_enclaves: Fix stale file descriptors on failed usercopy (Vitaly Kuznetsov) [1953717] - iavf: amend removal of MODULE_VERSION (Stefan Assmann) [1955738] - ixgbevf: Amend commit acf03026ec5a to include a version in module info. (Ken Cox) [1955764] - devlink: move flash end and begin to core devlink (Petr Oros) [1935671] - devlink: move request_firmware out of driver (Petr Oros) [1935671] - ice: add additional debug logging for firmware update (Petr Oros) [1935671] - ice: add support for flash update overwrite mask (Petr Oros) [1935671] - driver core: auxiliary bus: Fix calling stage for auxiliary bus init (Ivan Vecera) [1933820] - driver core: auxiliary bus: Fix auxiliary bus shutdown null auxdrv ptr (Ivan Vecera) [1933820] - driver core: auxiliary bus: minor coding style tweaks (Ivan Vecera) [1933820] - driver core: auxiliary bus: make remove function return void (Ivan Vecera) [1933820] - driver core: auxiliary bus: move slab.h from include file (Ivan Vecera) [1933820] - Add auxiliary bus support (Ivan Vecera) [1933820] - modpost: file2alias: go back to simple devtable lookup (Ivan Vecera) [1933820] - scsi: lpfc: Fix bad memory access during VPD DUMP mailbox command (Dick Kennedy) [1923762] - scsi: lpfc: Fix DMA virtual address ptr assignment in bsg (Dick Kennedy) [1923762] - scsi: lpfc: Fix illegal memory access on Abort IOCBs (Dick Kennedy) [1923762] - scsi: lpfc: Copyright updates for 12.8.0.9 patches (Dick Kennedy) [1923762] - scsi: lpfc: Update lpfc version to 12.8.0.9 (Dick Kennedy) [1923762] - scsi: lpfc: Eliminate use of LPFC_DRIVER_NAME in lpfc_attr.c (Dick Kennedy) [1923762] - scsi: lpfc: Standardize discovery object logging format (Dick Kennedy) [1923762] - scsi: lpfc: Fix various trivial errors in comments and log messages (Dick Kennedy) [1923762] - scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic (Dick Kennedy) [1923762] - scsi: lpfc: Fix lpfc_hdw_queue attribute being ignored (Dick Kennedy) [1923762] - scsi: lpfc: Fix missing FDMI registrations after Mgmt Svc login (Dick Kennedy) [1923762] - scsi: lpfc: Fix silent memory allocation failure in lpfc_sli4_bsg_link_diag_test() (Dick Kennedy) [1923762] - scsi: lpfc: Fix use-after-free on unused nodes after port swap (Dick Kennedy) [1923762] - scsi: lpfc: Fix error handling for mailboxes completed in MBX_POLL mode (Dick Kennedy) [1923762] - scsi: lpfc: Fix lack of device removal on port swaps with PRLIs (Dick Kennedy) [1923762] - scsi: lpfc: Fix NMI crash during rmmod due to circular hbalock dependency (Dick Kennedy) [1923762] - scsi: lpfc: Fix reference counting errors in lpfc_cmpl_els_rsp() (Dick Kennedy) [1923762] - scsi: lpfc: Fix crash when a REG_RPI mailbox fails triggering a LOGO response (Dick Kennedy) [1923762] - scsi: lpfc: Fix rmmod crash due to bad ring pointers to abort_iotag (Dick Kennedy) [1923762] - scsi: lpfc: Fix gcc -Wstringop-overread warning (Dick Kennedy) [1923762] - scsi: lpfc: Fix a typo (Dick Kennedy) [1923762] - scsi: lpfc: Fix a typo (Dick Kennedy) [1923762] - scsi: lpfc: Fix kernel-doc formatting issue (Dick Kennedy) [1923762] - scsi: lpfc: Fix a few incorrectly named functions (Dick Kennedy) [1923762] - scsi: lpfc: Fix incorrectly documented function lpfc_debugfs_commonxripools_data() (Dick Kennedy) [1923762] - scsi: lpfc: Fix a bunch of misnamed functions (Dick Kennedy) [1923762] - scsi: lpfc: Fix a bunch of kernel-doc misdemeanours (Dick Kennedy) [1923762] - scsi: lpfc: Fix incorrect naming of __lpfc_update_fcf_record() (Dick Kennedy) [1923762] - scsi: lpfc: Fix formatting and misspelling issues (Dick Kennedy) [1923762] - scsi: lpfc: Fix a bunch of kernel-doc issues (Dick Kennedy) [1923762] - scsi: lpfc: Update copyrights for 12.8.0.7 and 12.8.0.8 changes (Dick Kennedy) [1923762] - scsi: lpfc: Update lpfc version to 12.8.0.8 (Dick Kennedy) [1923762] - scsi: lpfc: Correct function header comments related to ndlp reference counting (Dick Kennedy) [1923762] - scsi: lpfc: Reduce LOG_TRACE_EVENT logging for vports (Dick Kennedy) [1923762] - scsi: lpfc: Change wording of invalid pci reset log message (Dick Kennedy) [1923762] - scsi: lpfc: Fix crash caused by switch reboot (Dick Kennedy) [1923762] - scsi: lpfc: Fix pt2pt state transition causing rmmod hang (Dick Kennedy) [1923762] - scsi: lpfc: Fix nodeinfo debugfs output (Dick Kennedy) [1923762] - scsi: lpfc: Fix ADISC handling that never frees nodes (Dick Kennedy) [1923762] - scsi: lpfc: Fix PLOGI ACC to be transmit after REG_LOGIN (Dick Kennedy) [1923762] - scsi: lpfc: Fix dropped FLOGI during pt2pt discovery recovery (Dick Kennedy) [1923762] - scsi: lpfc: Fix status returned in lpfc_els_retry() error exit path (Dick Kennedy) [1923762] - scsi: lpfc: Fix use after free in lpfc_els_free_iocb (Dick Kennedy) [1923762] - scsi: lpfc: Fix null pointer dereference in lpfc_prep_els_iocb() (Dick Kennedy) [1923762] - scsi: lpfc: Fix unnecessary null check in lpfc_release_scsi_buf (Dick Kennedy) [1923762] - scsi: lpfc: Fix pt2pt connection does not recover after LOGO (Dick Kennedy) [1923762] - scsi: lpfc: Fix lpfc_els_retry() possible null pointer dereference (Dick Kennedy) [1923762] - scsi: lpfc: Fix FLOGI failure due to accessing a freed node (Dick Kennedy) [1923762] - scsi: lpfc: Fix stale node accesses on stale RRQ request (Dick Kennedy) [1923762] - scsi: lpfc: Fix reftag generation sizing errors (Dick Kennedy) [1923762] - scsi: lpfc: Fix vport indices in lpfc_find_vport_by_vpid() (Dick Kennedy) [1923762] - scsi: lpfc: Fix incorrect dbde assignment when building target abts wqe (Dick Kennedy) [1923762] - scsi: lpfc: Fix 'physical' typos (Dick Kennedy) [1923762] - scsi: lpfc: Fix ancient double free (Dick Kennedy) [1923762] - scsi: lpfc: Fix kerneldoc inconsistency in lpfc_sli4_dump_page_a0() (Dick Kennedy) [1923762] - scsi: lpfc: Add support for eh_should_retry_cmd() (Dick Kennedy) [1923762] - scsi: lpfc: Simplify bool comparison (Dick Kennedy) [1923762] - scsi: lpfc: Update lpfc version to 12.8.0.7 (Dick Kennedy) [1923762] - scsi: lpfc: Enhancements to LOG_TRACE_EVENT for better readability (Dick Kennedy) [1923762] - scsi: lpfc: Implement health checking when aborting I/O (Dick Kennedy) [1923762] - scsi: lpfc: Fix crash when nvmet transport calls host_release (Dick Kennedy) [1923762] - scsi: lpfc: Fix vport create logging (Dick Kennedy) [1923762] - scsi: lpfc: Fix NVMe recovery after mailbox timeout (Dick Kennedy) [1923762] - scsi: lpfc: Fix target reset failing (Dick Kennedy) [1923762] - scsi: lpfc: Fix error log messages being logged following SCSI task mgnt (Dick Kennedy) [1923762] - scsi: lpfc: Fix FW reset action if I/Os are outstanding (Dick Kennedy) [1923762] - scsi: lpfc: Use the nvme-fc transport supplied timeout for LS requests (Dick Kennedy) [1923762] - scsi: lpfc: Fix crash when a fabric node is released prematurely (Dick Kennedy) [1923762] - scsi: lpfc: Refresh ndlp when a new PRLI is received in the PRLI issue state (Dick Kennedy) [1923762] - scsi: lpfc: Fix auto sli_mode and its effect on CONFIG_PORT for SLI3 (Dick Kennedy) [1923762] - scsi: lpfc: Fix PLOGI S_ID of 0 on pt2pt config (Dick Kennedy) [1923762] - scsi: lpfc: Fix fall-through warnings for Clang (Dick Kennedy) [1923762] - scsi: lpfc: Correct null ndlp reference on routine exit (Dick Kennedy) [1923762] - scsi: lpfc: Use generic power management (Dick Kennedy) [1923762] - scsi: lpfc: Fix variable 'vport' set but not used in lpfc_sli4_abts_err_handler() (Dick Kennedy) [1923762] - scsi: lpfc: Fix missing prototype for lpfc_nvmet_prep_abort_wqe() (Dick Kennedy) [1923762] - scsi: lpfc: Fix set but unused variables in lpfc_dev_loss_tmo_handler() (Dick Kennedy) [1923762] - scsi: lpfc: Fix set but not used warnings from Rework remote port lock handling (Dick Kennedy) [1923762] - scsi: lpfc: Fix missing prototype warning for lpfc_fdmi_vendor_attr_mi() (Dick Kennedy) [1923762] - scsi: lpfc: Fix memory leak on lcb_context (Dick Kennedy) [1923762] - scsi: lpfc: Remove dead code on second !ndlp check (Dick Kennedy) [1923762] - scsi: lpfc: Fix pointer defereference before it is null checked issue (Dick Kennedy) [1923762] - scsi: lpfc: Update changed file copyrights for 2020 (Dick Kennedy) [1923762] - scsi: lpfc: Update lpfc version to 12.8.0.6 (Dick Kennedy) [1923762] - scsi: lpfc: Convert abort handling to SLI-3 and SLI-4 handlers (Dick Kennedy) [1923762] - scsi: lpfc: Convert SCSI I/O completions to SLI-3 and SLI-4 handlers (Dick Kennedy) [1923762] - scsi: lpfc: Convert SCSI path to use common I/O submission path (Dick Kennedy) [1923762] - scsi: lpfc: Enable common send_io interface for SCSI and NVMe (Dick Kennedy) [1923762] - scsi: lpfc: Enable common wqe_template support for both SCSI and NVMe (Dick Kennedy) [1923762] - scsi: lpfc: Refactor WQE structure definitions for common use (Dick Kennedy) [1923762] - scsi: lpfc: Fix NPIV Fabric Node reference counting (Dick Kennedy) [1923762] - scsi: lpfc: Fix NPIV discovery and Fabric Node detection (Dick Kennedy) [1923762] - scsi: lpfc: Unsolicited ELS leaves node in incorrect state while dropping it (Dick Kennedy) [1923762] - scsi: lpfc: Remove ndlp when a PLOGI/ADISC/PRLI/REG_RPI ultimately fails (Dick Kennedy) [1923762] - scsi: lpfc: Rework remote port lock handling (Dick Kennedy) [1923762] - scsi: lpfc: Honor module parameter lpfc_use_adisc (Dick Kennedy) [1923762] - scsi: lpfc: Fix refcounting around SCSI and NVMe transport APIs (Dick Kennedy) [1923762] - scsi: lpfc: Fix removal of SCSI transport device get and put on dev structure (Dick Kennedy) [1923762] - scsi: lpfc: Rework locations of ndlp reference taking (Dick Kennedy) [1923762] - scsi: lpfc: Rework remote port ref counting and node freeing (Dick Kennedy) [1923762] - scsi: lpfc: remove ScsiResult macro (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_nvmet: Fix-up some formatting and doc-rot issues (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_nvme: Fix some kernel-doc related issues (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_nvme: Remove unused variable 'phba' (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_bsg: Provide correct documentation for a bunch of functions (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_debugfs: Fix a couple of function documentation issues (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_attr: Fix-up a bunch of kernel-doc misdemeanours (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_attr: Demote kernel-doc format for redefined functions (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_scsi: Fix a whole host of kernel-doc issues (Dick Kennedy) [1923762] - block: return -EBUSY when there are open partitions in blkdev_reread_part (Ming Lei) [1936800] - block: Try to handle busy underlying device on discard (Ming Lei) [1936800] - md: check for NULL ->meta_bdev before calling bdev_read_only (Ming Lei) [1936800] - blk-settings: align max_sectors on "logical_block_size" boundary (Ming Lei) [1936800] - nbd: handle device refs for DESTROY_ON_DISCONNECT properly (Ming Lei) [1936800] - kyber: introduce kyber_depth_updated() (Ming Lei) [1936800] - loop: fix I/O error on fsync() in detached loop devices (Ming Lei) [1936800] - block: fix potential IO hang when turning off io_poll (Ming Lei) [1936800] - bfq: Use only idle IO periods for think time calculations (Ming Lei) [1936800] - bfq: Use 'ttime' local variable (Ming Lei) [1936800] - bfq: Avoid false bfq queue merging (Ming Lei) [1936800] - bfq: bfq_check_waker() should be static (Ming Lei) [1936800] - block, bfq: make waker-queue detection more robust (Ming Lei) [1936800] - block, bfq: save also injection state on queue merging (Ming Lei) [1936800] - block, bfq: save also weight-raised service on queue merging (Ming Lei) [1936800] - block, bfq: fix switch back from soft-rt weitgh-raising (Ming Lei) [1936800] - block, bfq: re-evaluate convenience of I/O plugging on rq arrivals (Ming Lei) [1936800] - block, bfq: replace mechanism for evaluating I/O intensity (Ming Lei) [1936800] - block: set .bi_max_vecs as actual allocated vector number (Ming Lei) [1936800] - block: don't allocate inline bvecs if this bioset needn't bvecs (Ming Lei) [1936800] - block: don't pass BIOSET_NEED_BVECS for q->bio_split (Ming Lei) [1936800] - block: manage bio slab cache by xarray (Ming Lei) [1936800] - block, bfq: do not expire a queue when it is the only busy one (Ming Lei) [1936800] - block, bfq: avoid spurious switches to soft_rt of interactive queues (Ming Lei) [1936800] - block, bfq: do not raise non-default weights (Ming Lei) [1936800] - block, bfq: increase time window for waker detection (Ming Lei) [1936800] - block, bfq: use half slice_idle as a threshold to check short ttime (Ming Lei) [1936800] - brd: remove the end of device check in brd_do_bvec (Ming Lei) [1936800] - block: propagate BLKROSET on the whole device to all partitions (Ming Lei) [1936800] - block: add a hard-readonly flag to struct gendisk (Ming Lei) [1936800] - block: remove the NULL bdev check in bdev_read_only (Ming Lei) [1936800] - dm: use bdev_read_only to check if a device is read-only (Ming Lei) [1936800] - block: reopen the device in blkdev_reread_part (Ming Lei) [1936800] - block, bfq: set next_rq to waker_bfqq->next_rq in waker injection (Ming Lei) [1936800] - Revert "block: simplify set_init_blocksize" to regain lost performance (Ming Lei) [1936800] - bfq-iosched: Revert "bfq: Fix computation of shallow depth" (Ming Lei) [1936800] - blk-mq-debugfs: Add decode for BLK_MQ_F_TAG_HCTX_SHARED (Ming Lei) [1936800] - bfq: Fix computation of shallow depth (Ming Lei) [1936800] - block: rsxx: select CONFIG_CRC32 (Ming Lei) [1936800] - block: add debugfs stanza for QUEUE_FLAG_NOWAIT (Ming Lei) [1936800] - blk-mq: Don't complete on a remote CPU in force threaded mode (Ming Lei) [1936800] - blk-mq: Remove 'running from the wrong CPU' warning (Ming Lei) [1936800] - block: disable iopoll for split bio (Ming Lei) [1936800] - block: Improve blk_revalidate_disk_zones() checks (Ming Lei) [1936800] - sbitmap: replace CAS with atomic and (Ming Lei) [1936800] - sbitmap: remove swap_lock (Ming Lei) [1936800] - sbitmap: optimise sbitmap_deferred_clear() (Ming Lei) [1936800] - blk-mq: skip hybrid polling if iopoll doesn't spin (Ming Lei) [1936800] - blktrace: fix up a kerneldoc comment (Ming Lei) [1936800] - block: remove the unused block_sleeprq tracepoint (Ming Lei) [1936800] - blk-throttle: don't check whether or not lower limit is valid if CONFIG_BLK_DEV_THROTTLING_LOW is off (Ming Lei) [1936800] - block: fix inflight statistics of part0 (Ming Lei) [1936800] - block: optimise for_each_bvec() advance (Ming Lei) [1936800] - block: opencode devcgroup_inode_permission (Ming Lei) [1936800] - block: move bdput() to the callers of __blkdev_get (Ming Lei) [1936800] - block: refactor blkdev_get (Ming Lei) [1936800] - block: refactor __blkdev_put (Ming Lei) [1936800] - block: switch bdgrab to use igrab (Ming Lei) [1936800] - block: change the hash used for looking up block devices (Ming Lei) [1936800] - block: use put_device in put_disk (Ming Lei) [1936800] - block: use disk_part_iter_exit in disk_part_iter_next (Ming Lei) [1936800] - block: add a bdev_kobj helper (Ming Lei) [1936800] - block: remove a superflous check in blkpg_do_ioctl (Ming Lei) [1936800] - block: remove a duplicate __disk_get_part prototype (Ming Lei) [1936800] - loop: do not call set_blocksize (Ming Lei) [1936800] - zram: do not call set_blocksize (Ming Lei) [1936800] - block: wbt: Remove unnecessary invoking of wbt_update_limits in wbt_init (Ming Lei) [1936800] - virtio-blk: remove a spurious call to revalidate_disk_size (Ming Lei) [1936800] - md: remove a spurious call to revalidate_disk_size in update_size (Ming Lei) [1936800] - aoe: don't call set_capacity from irq context (Ming Lei) [1936800] - nbd: validate the block size in nbd_set_size (Ming Lei) [1936800] - nbd: refactor size updates (Ming Lei) [1936800] - nbd: move the task_recv check into nbd_size_update (Ming Lei) [1936800] - nbd: remove the call to set_blocksize (Ming Lei) [1936800] - loop: let set_capacity_revalidate_and_notify update the bdev size (Ming Lei) [1936800] - block: remove the call to __invalidate_device in check_disk_size_change (Ming Lei) [1936800] - block: fix the kerneldoc comment for __register_blkdev (Ming Lei) [1936800] - block: switch gendisk lookup to a simple xarray (Ming Lei) [1936800] - ide: switch to __register_blkdev for command set probing (Ming Lei) [1936800] - md: use __register_blkdev to allocate devices on demand (Ming Lei) [1936800] - loop: use __register_blkdev to allocate devices on demand (Ming Lei) [1936800] - brd: use __register_blkdev to allocate devices on demand (Ming Lei) [1936800] - sd: use __register_blkdev to avoid a modprobe for an unregistered dev_t (Ming Lei) [1936800] - swim: don't call blk_register_region (Ming Lei) [1936800] - ide: remove ide_{,un}register_region (Ming Lei) [1936800] - block: add an optional probe callback to major_names (Ming Lei) [1936800] - block: rework requesting modules for unclaimed devices (Ming Lei) [1936800] - block: split block_class_lock (Ming Lei) [1936800] - block: open code kobj_map into in block/genhd.c (Ming Lei) [1936800] - block: cleanup del_gendisk a bit (Ming Lei) [1936800] - loop: use set_disk_ro (Ming Lei) [1936800] - dasd: implement ->set_read_only to hook into BLKROSET processing (Ming Lei) [1936800] - md: implement ->set_read_only to hook into BLKROSET processing (Ming Lei) [1936800] - rbd: implement ->set_read_only to hook into BLKROSET processing (Ming Lei) [1936800] - block: add a new set_read_only method (Ming Lei) [1936800] - blk-cgroup: fix a hd_struct leak in blkcg_fill_root_iostats (Ming Lei) [1936800] - blk-cgroup: Pre-allocate tree node on blkg_conf_prep (Ming Lei) [1936800] - blk-cgroup: Fix memleak on error path (Ming Lei) [1936800] - blk-mq: remove the calling of local_memory_node() (Ming Lei) [1936800] - zram: Fix __zram_bvec_{read,write}() locking order (Ming Lei) [1936800] - skd_main: remove unused including (Ming Lei) [1936800] - sgl_alloc_order: fix memory leak (Ming Lei) [1936800] - block: fix uapi blkzoned.h comments (Ming Lei) [1936800] - blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue (Ming Lei) [1936800] - blk-mq: get rid of the dead flush handle code path (Ming Lei) [1936800] - block: get rid of unnecessary local variable (Ming Lei) [1936800] - block: fix comment and add lockdep assert (Ming Lei) [1936800] - blk-mq: use helper function to test hw stopped (Ming Lei) [1936800] - block: use helper function to test queue register (Ming Lei) [1936800] - block: remove redundant mq check (Ming Lei) [1936800] - block: invoke blk_mq_exit_sched no matter whether have .exit_sched (Ming Lei) [1936800] - block: ratelimit handle_bad_sector() message (Ming Lei) [1936800] - blk-throttle: Re-use the throtl_set_slice_end() (Ming Lei) [1936800] - blk-throttle: Open code __throtl_de/enqueue_tg() (Ming Lei) [1936800] - blk-throttle: Move service tree validation out of the throtl_rb_first() (Ming Lei) [1936800] - blk-throttle: Move the list operation after list validation (Ming Lei) [1936800] - blk-throttle: Fix IO hang for a corner case (Ming Lei) [1936800] - blk-throttle: Avoid tracking latency if low limit is invalid (Ming Lei) [1936800] - blk-throttle: Avoid getting the current time if tg->last_finish_time is 0 (Ming Lei) [1936800] - blk-throttle: Remove a meaningless parameter for throtl_downgrade_state() (Ming Lei) [1936800] - block: Remove redundant 'return' statement (Ming Lei) [1936800] - block: Consider only dispatched requests for inflight statistic (Ming Lei) [1936800] - block: remove the unused blk_integrity_merge_bio export (Ming Lei) [1936800] - block: remove the unused blk_integrity_merge_rq export (Ming Lei) [1936800] - blk-mq: add cond_resched() in __blk_mq_alloc_rq_maps() (Ming Lei) [1936800] - vsprintf: use bd_partno in bdev_name (Ming Lei) [1936800] - block: use bd_partno in bdevname (Ming Lei) [1936800] - target/iblock: fix holder printing in iblock_show_configfs_dev_params (Ming Lei) [1936800] - drbd: don't set ->bd_contains (Ming Lei) [1936800] - drbd: don't detour through bd_contains for the gendisk (Ming Lei) [1936800] - block: add a bdev_is_partition helper (Ming Lei) [1936800] - bdi: remove BDI_CAP_CGROUP_WRITEBACK (Ming Lei) [1936800] - block: lift setting the readahead size into the block layer (Ming Lei) [1936800] - bdi: initialize ->ra_pages and ->io_pages in bdi_init (Ming Lei) [1936800] - block: ensure bdi->io_pages is always initialized (Ming Lei) [1936800] - aoe: set an optimal I/O size (Ming Lei) [1936800] - drbd: remove dead code in device_to_statistics (Ming Lei) [1936800] - raw: don't keep unopened block device around (Ming Lei) [1936800] - zram: cleanup backing_dev_store (Ming Lei) [1936800] - zram: fix double free backing device (Ming Lei) [1936800] - pktcdvd: use blkdev_get_by_dev instead of open coding it (Ming Lei) [1936800] - pktcdvd: remove the if 0'ed pkt_start_recovery function (Ming Lei) [1936800] - block: cleanup blkdev_bszset (Ming Lei) [1936800] - block: move the NEED_PART_SCAN flag to struct gendisk (Ming Lei) [1936800] - block: drop double zeroing (Ming Lei) [1936800] - blk-throttle: Avoid checking bps/iops limitation if bps or iops is unlimited (Ming Lei) [1936800] - blk-throttle: Avoid calculating bps/iops limitation repeatedly (Ming Lei) [1936800] - blk-throttle: Define readable macros instead of static variables (Ming Lei) [1936800] - blk-throttle: Use readable READ/WRITE macros (Ming Lei) [1936800] - blk-throttle: Fix some comments' typos (Ming Lei) [1936800] - block: introduce part_[begin|end]_io_acct (Ming Lei) [1936800] - blkcg: add plugging support for punt bio (Ming Lei) [1936800] - block: remove check_disk_change (Ming Lei) [1936800] - sr: simplify sr_block_revalidate_disk (Ming Lei) [1936800] - sr: use bdev_check_media_change (Ming Lei) [1936800] - sd: use bdev_check_media_change (Ming Lei) [1936800] - md: use bdev_check_media_change (Ming Lei) [1936800] - gdrom: use bdev_check_media_change (Ming Lei) [1936800] - paride/pcd: use bdev_check_media_change (Ming Lei) [1936800] - xsysace: simplify media change handling (Ming Lei) [1936800] - xsysace: use bdev_check_media_change (Ming Lei) [1936800] - swim3: use bdev_check_media_changed (Ming Lei) [1936800] - swim: simplify media change handling (Ming Lei) [1936800] - swim: use bdev_check_media_change (Ming Lei) [1936800] - ataflop: use bdev_check_media_change (Ming Lei) [1936800] - amiflop: use bdev_check_media_change (Ming Lei) [1936800] - block: add a bdev_check_media_change helper (Ming Lei) [1936800] - block: Remove unused blk_mq_sched_free_hctx_data() (Ming Lei) [1936800] - block: Do not discard buffers under a mounted filesystem (Ming Lei) [1936800] - fs: Don't invalidate page buffers in block_write_full_page() (Ming Lei) [1936800] - block: remove revalidate_disk() (Ming Lei) [1936800] - nvdimm: simplify revalidate_disk handling (Ming Lei) [1936800] - sd: open code revalidate_disk (Ming Lei) [1936800] - nvme: opencode revalidate_disk in nvme_validate_ns (Ming Lei) [1936800] - block: use revalidate_disk_size in set_capacity_revalidate_and_notify (Ming Lei) [1936800] - block: add a new revalidate_disk_size helper (Ming Lei) [1936800] - block: rename bd_invalidated (Ming Lei) [1936800] - block: don't clear bd_invalidated in check_disk_size_change (Ming Lei) [1936800] - block: better deal with the delayed not supported case in blk_cloned_rq_check_limits (Ming Lei) [1936800] - block: Return blk_status_t instead of errno codes (Ming Lei) [1936800] - block: grant IOPRIO_CLASS_RT to CAP_SYS_NICE (Ming Lei) [1936800] - block: remove the unused q argument to part_in_flight and part_in_flight_rw (Ming Lei) [1936800] - block: remove the disk argument to delete_partition (Ming Lei) [1936800] - block: move the devcgroup_inode_permission call to blkdev_get (Ming Lei) [1936800] - blk-mq: use BLK_MQ_NO_TAG for no tag (Ming Lei) [1936800] - block: Move blk_mq_bio_list_merge() into blk-merge.c (Ming Lei) [1936800] - block: Move bio merge related functions into blk-merge.c (Ming Lei) [1936800] - blk-wbt: Remove obsolete multiqueue I/O scheduling comment (Ming Lei) [1936800] - raw: deprecate the raw driver (Ming Lei) [1936800] - nvme: don't call revalidate_disk from nvme_set_queue_dying (Ming Lei) [1936800] - block: fix locking for struct block_device size updates (Ming Lei) [1936800] - block: replace bd_set_size with bd_set_nr_sectors (Ming Lei) [1936800] - block: Make request_queue.rpm_status an enum (Ming Lei) [1936800] - mmc: remove the call to check_disk_change (Ming Lei) [1936800] - block: integrate bd_start_claiming into __blkdev_get (Ming Lei) [1936800] - block: use bd_prepare_to_claim directly in the loop driver (Ming Lei) [1936800] - block: refactor bd_start_claiming (Ming Lei) [1936800] - block: simplify the restart case in __blkdev_get (Ming Lei) [1936800] - block: simplify set_init_blocksize (Ming Lei) [1936800] - block: remove flush_disk (Ming Lei) [1936800] - block: move block-related definitions out of fs.h (Ming Lei) [1936800] - xen-blkfront.c: Convert to use set_capacity_revalidate_and_notify (Ming Lei) [1936800]- redhat/configs: Add CONFIG_PINCTRL_EMMITSBURG (David Arcari) [1959506] - redhat/configs: Remove CONFIG_EMMITSBURG (David Arcari) [1959506] - fuse: fix write deadlock (Miklos Szeredi) [1904597] - sched/debug: Fix cgroup_path[] serialization (Waiman Long) [1954363] - KVM: x86/xen: Take srcu lock when accessing kvm_memslots() (Paolo Bonzini) [1945742] - KVM: SVM: Allocate SEV command structures on local stack (Paolo Bonzini) [1945742] - crypto: ccp: Use the stack and common buffer for INIT command (Paolo Bonzini) [1945742] - crypto: ccp: Use the stack and common buffer for status commands (Paolo Bonzini) [1945742] - crypto: ccp: Use the stack for small SEV command buffers (Paolo Bonzini) [1945742] - crypto: ccp: Play nice with vmalloc'd memory for SEV command structs (Paolo Bonzini) [1945742] - crypto: ccp: Reject SEV commands with mismatching command buffer (Paolo Bonzini) [1945742] - crypto: ccp: Detect and reject "invalid" addresses destined for PSP (Paolo Bonzini) [1945742] - crypto: ccp: Free SEV device if SEV init fails (Paolo Bonzini) [1945742] - crypto: ccp - Fix sparse warnings in sev-dev (Paolo Bonzini) [1945742] - drivers/crypto/ccp/sev-dev.c: get rid of pointless access_ok() (Paolo Bonzini) [1945742] - crypto: ccp - Add support for SEV-ES to the PSP driver (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEV_RECEIVE_FINISH command (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEV_RECEIVE_UPDATE_DATA command (Paolo Bonzini) [1945742] - KVM: SVM: Add support for KVM_SEV_RECEIVE_START command (Paolo Bonzini) [1945742] - KVM: SVM: Add support for KVM_SEV_SEND_CANCEL command (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEV_SEND_FINISH command (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEND_UPDATE_DATA command (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEV SEND_START command (Paolo Bonzini) [1945742] - KVM: Boost vCPU candidate in user mode which is delivering interrupt (Paolo Bonzini) [1945742] - nSVM: Check addresses of MSR and IO permission maps (Paolo Bonzini) [1945742] - KVM: SVM: Define actual size of IOPM and MSRPM tables (Paolo Bonzini) [1945742] - KVM: vmx: add mismatched size assertions in vmcs_check32() (Paolo Bonzini) [1945742] - KVM: Add proper lockdep assertion in I/O bus unregister (Paolo Bonzini) [1945742] - KVM: Stop looking for coalesced MMIO zones if the bus is destroyed (Paolo Bonzini) [1945742] - KVM: Destroy I/O bus devices on unregister failure _after_ sync'ing SRCU (Paolo Bonzini) [1945742] - KVM: SVM: Enhance and clean up the vmcb tracking comment in pre_svm_run() (Paolo Bonzini) [1945742] - KVM: SVM: Add a comment to clarify what vcpu_svm.vmcb points at (Paolo Bonzini) [1945742] - KVM: SVM: Drop vcpu_svm.vmcb_pa (Paolo Bonzini) [1945742] - KVM: SVM: Don't set current_vmcb->cpu when switching vmcb (Paolo Bonzini) [1945742] - KVM: SVM: Make sure GHCB is mapped before updating (Paolo Bonzini) [1945742] - KVM: X86: Do not yield to self (Paolo Bonzini) [1945742] - KVM: X86: Count attempted/successful directed yield (Paolo Bonzini) [1945742] - KVM: x86/mmu: Protect the tdp_mmu_roots list with RCU (Paolo Bonzini) [1945742] - KVM: x86/mmu: handle cmpxchg failure in kvm_tdp_mmu_get_root (Paolo Bonzini) [1945742] - KVM: x86/mmu: Make TDP MMU root refcount atomic (Paolo Bonzini) [1945742] - KVM: x86: implement KVM_CAP_SET_GUEST_DEBUG2 (Paolo Bonzini) [1945742] - KVM: x86/mmu: Refactor yield safe root iterator (Paolo Bonzini) [1945742] - KVM: x86/mmu: Merge TDP MMU put and free root (Paolo Bonzini) [1945742] - KVM: x86/mmu: use tdp_mmu_free_sp to free roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Move kvm_mmu_(get|put)_root to TDP MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Re-add const qualifier in kvm_tdp_mmu_zap_collapsible_sptes (Paolo Bonzini) [1945742] - KVM: constify kvm_arch_flush_remote_tlbs_memslot (Paolo Bonzini) [1945742] - KVM: Explicitly use GFP_KERNEL_ACCOUNT for 'struct kvm_vcpu' allocations (Paolo Bonzini) [1945742] - KVM: MMU: protect TDP MMU pages only down to required level (Paolo Bonzini) [1945742] - KVM: introduce KVM_CAP_SET_GUEST_DEBUG2 (Paolo Bonzini) [1945742] - KVM: x86: pending exceptions must not be blocked by an injected event (Paolo Bonzini) [1945742] - KVM: nSVM: call nested_svm_load_cr3 on nested state load (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should include the autoload/autostore MSR lists (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should show the effective EFER (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should consider only the load controls of EFER/PAT (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should not conflate EFER and PAT presence in VMCS (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should not assume GUEST_IA32_EFER is valid (Paolo Bonzini) [1945742] - KVM: nSVM: improve SYSENTER emulation on AMD (Paolo Bonzini) [1945742] - KVM: x86: add guest_cpuid_is_intel (Paolo Bonzini) [1945742] - KVM: x86: Account a variety of miscellaneous allocations (Paolo Bonzini) [1945742] - KVM: SVM: Do not allow SEV/SEV-ES initialization after vCPUs are created (Paolo Bonzini) [1945742] - KVM: SVM: Do not set sev->es_active until KVM_SEV_ES_INIT completes (Paolo Bonzini) [1945742] - KVM: SVM: Use online_vcpus, not created_vcpus, to iterate over vCPUs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Simplify code for aging SPTEs in TDP MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Remove spurious clearing of dirty bit from TDP MMU SPTE (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use leaf-only loop for walking TDP SPTEs when changing SPTE (Paolo Bonzini) [1945742] - KVM: x86/mmu: Pass address space ID to TDP MMU root walkers (Paolo Bonzini) [1945742] - KVM: x86/mmu: Pass address space ID to __kvm_tdp_mmu_zap_gfn_range() (Paolo Bonzini) [1945742] - KVM: x86/mmu: Coalesce TLB flushes across address spaces for gfn range zap (Paolo Bonzini) [1945742] - KVM: x86/mmu: Coalesce TLB flushes when zapping collapsible SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Move flushing for "slot" handlers to caller for legacy MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Coalesce TDP MMU TLB flushes when zapping collapsible SPTEs (Paolo Bonzini) [1945742] - KVM: x86/vPMU: Forbid reading from MSR_F15H_PERF MSRs when guest doesn't have X86_FEATURE_PERFCTR_CORE (Paolo Bonzini) [1945742] - KVM: nSVM: If VMRUN is single-stepped, queue the #DB intercept in nested_svm_vmexit() (Paolo Bonzini) [1945742] - KVM: MMU: load PDPTRs outside mmu_lock (Paolo Bonzini) [1945742] - KVM: SVM: ensure that EFER.SVME is set when running nested guest or on nested vmexit (Paolo Bonzini) [1945742] - KVM: SVM: load control fields from VMCB12 before checking them (Paolo Bonzini) [1945742] - KVM: x86/mmu: Don't allow TDP MMU to yield when recovering NX pages (Paolo Bonzini) [1945742] - KVM: x86/mmu: Ensure TLBs are flushed for TDP MMU during NX zapping (Paolo Bonzini) [1945742] - KVM: x86/mmu: Ensure TLBs are flushed when yielding during GFN range zap (Paolo Bonzini) [1945742] - KVM: make: Fix out-of-source module builds (Paolo Bonzini) [1945742] - KVM: x86/vPMU: Forbid writing to MSR_F15H_PERF MSRs when guest doesn't have X86_FEATURE_PERFCTR_CORE (Paolo Bonzini) [1945742] - KVM: x86: remove unused declaration of kvm_write_tsc() (Paolo Bonzini) [1945742] - KVM: clean up the unused argument (Paolo Bonzini) [1945742] - x86/kvm: Fix broken irq restoration in kvm_wait (Paolo Bonzini) [1945742] - KVM: X86: Fix missing local pCPU when executing wbinvd on all dirty pCPUs (Paolo Bonzini) [1945742] - KVM: x86: Protect userspace MSR filter with SRCU, and set atomically-ish (Paolo Bonzini) [1945742] - KVM: x86/mmu: Store the address space ID in the TDP iterator (Paolo Bonzini) [1945742] - KVM: x86/mmu: Factor out tdp_iter_return_to_root (Paolo Bonzini) [1945742] - KVM: x86/mmu: Fix RCU usage when atomically zapping SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Fix RCU usage in handle_removed_tdp_mmu_page (Paolo Bonzini) [1945742] - KVM: x86/mmu: Mark the PAE roots as decrypted for shadow paging (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use '0' as the one and only value for an invalid PAE root (Paolo Bonzini) [1945742] - KVM: VMX: Track root HPA instead of EPTP for paravirt Hyper-V TLB flush (Paolo Bonzini) [1945742] - KVM: VMX: Skip additional Hyper-V TLB EPTP flushes if one fails (Paolo Bonzini) [1945742] - KVM: VMX: Define Hyper-V paravirt TLB flush fields iff Hyper-V is enabled (Paolo Bonzini) [1945742] - KVM: VMX: Explicitly check for hv_remote_flush_tlb when loading pgd (Paolo Bonzini) [1945742] - KVM: VMX: Don't invalidate hv_tlb_eptp if the new EPTP matches (Paolo Bonzini) [1945742] - KVM: VMX: Invalidate hv_tlb_eptp to denote an EPTP mismatch (Paolo Bonzini) [1945742] - KVM: VMX: Do Hyper-V TLB flush iff vCPU's EPTP hasn't been flushed (Paolo Bonzini) [1945742] - KVM: VMX: Fold Hyper-V EPTP checking into it's only caller (Paolo Bonzini) [1945742] - KVM: VMX: Stash kvm_vmx in a local variable for Hyper-V paravirt TLB flush (Paolo Bonzini) [1945742] - KVM: VMX: Track common EPTP for Hyper-V's paravirt TLB flush (Paolo Bonzini) [1945742] - KVM: x86: Get active PCID only when writing a CR3 value (Paolo Bonzini) [1945742] - KVM/SVM: Move vmenter.S exception fixups out of line (Paolo Bonzini) [1945742] - KVM: x86/mmu: Dump reserved bits if they're detected on non-MMIO SPTE (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use low available bits for removed SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use is_removed_spte() instead of open coded equivalents (Paolo Bonzini) [1945742] - KVM: x86/mmu: Tweak auditing WARN for A/D bits to !PRESENT (was MMIO) (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use a dedicated bit to track shadow/MMU-present SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use high bits for host/mmu writable masks for EPT SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Make Host-writable and MMU-writable bit locations dynamic (Paolo Bonzini) [1945742] - KVM: x86/mmu: Move logic for setting SPTE masks for EPT into the MMU proper (Paolo Bonzini) [1945742] - KVM: x86/mmu: Co-locate code for setting various SPTE masks (Paolo Bonzini) [1945742] - KVM: x86/mmu: Move initial kvm_mmu_set_mask_ptes() call into MMU proper (Paolo Bonzini) [1945742] - KVM: x86/mmu: Document dependency bewteen TDP A/D type and saved bits (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use MMIO SPTE bits 53 and 52 for the MMIO generation (Paolo Bonzini) [1945742] - KVM: x86/mmu: Rename and document A/D scheme for TDP SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add module param to disable MMIO caching (for testing) (Paolo Bonzini) [1945742] - KVM: x86/mmu: Stop using software available bits to denote MMIO SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Rename 'mask' to 'spte' in MMIO SPTE helpers (Paolo Bonzini) [1945742] - KVM: x86/mmu: Drop redundant trace_kvm_mmu_set_spte() in the TDP MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Handle MMIO SPTEs directly in mmu_set_spte() (Paolo Bonzini) [1945742] - KVM: x86/mmu: Don't install bogus MMIO SPTEs if MMIO caching is disabled (Paolo Bonzini) [1945742] - KVM: x86/mmu: Retry page faults that hit an invalid memslot (Paolo Bonzini) [1945742] - KVM: x86/mmu: Disable MMIO caching if MMIO value collides with L1TF (Paolo Bonzini) [1945742] - KVM: x86/mmu: Bail from fast_page_fault() if SPTE is not shadow-present (Paolo Bonzini) [1945742] - KVM: x86/mmu: Check for shadow-present SPTE before querying A/D status (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add convenience wrapper for acting on single hva in TDP MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add typedefs for rmap/iter handlers (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use 'end' param in TDP MMU's test_age_gfn() (Paolo Bonzini) [1945742] - KVM: x86/mmu: WARN if TDP MMU's set_tdp_spte() sees multiple GFNs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Remove spurious TLB flush from TDP MMU's change_pte() hook (Paolo Bonzini) [1945742] - KVM: x86: mmu: initialize fault.async_page_fault in walk_addr_generic (Paolo Bonzini) [1945742] - KVM: x86: determine if an exception has an error code only when injecting it. (Paolo Bonzini) [1945742] - KVM: nSVM: Optimize vmcb12 to vmcb02 save area copies (Paolo Bonzini) [1945742] - KVM: SVM: Add support for Virtual SPEC_CTRL (Paolo Bonzini) [1945742] - x86/cpufeatures: Add the Virtual SPEC_CTRL feature (Paolo Bonzini) [1945742] - KVM: nSVM: always use vmcb01 to for vmsave/vmload of guest state (Paolo Bonzini) [1945742] - KVM: SVM: move VMLOAD/VMSAVE to C code (Paolo Bonzini) [1945742] - KVM: SVM: Skip intercepted PAUSE instructions after emulation (Paolo Bonzini) [1945742] - KVM: SVM: Don't manually emulate RDPMC if nrips=0 (Paolo Bonzini) [1945742] - KVM: x86: Move RDPMC emulation to common code (Paolo Bonzini) [1945742] - KVM: x86: Move trivial instruction-based exit handlers to common code (Paolo Bonzini) [1945742] - KVM: x86: Move XSETBV emulation to common code (Paolo Bonzini) [1945742] - KVM: nSVM: Add VMLOAD/VMSAVE helper to deduplicate code (Paolo Bonzini) [1945742] - KVM: nSVM: Add helper to synthesize nested VM-Exit without collateral (Paolo Bonzini) [1945742] - KVM: x86: Handle triple fault in L2 without killing L1 (Paolo Bonzini) [1945742] - KVM: SVM: Pass struct kvm_vcpu to exit handlers (and many, many other places) (Paolo Bonzini) [1945742] - KVM: SVM: merge update_cr0_intercept into svm_set_cr0 (Paolo Bonzini) [1945742] - KVM: nSVM: Trace VM-Enter consistency check failures (Paolo Bonzini) [1945742] - KVM: x86: Move nVMX's consistency check macro to common code (Paolo Bonzini) [1945742] - KVM: nSVM: Add missing checks for reserved bits to svm_set_nested_state() (Paolo Bonzini) [1945742] - KVM: nSVM: only copy L1 non-VMLOAD/VMSAVE data in svm_set_nested_state() (Paolo Bonzini) [1945742] - KVM: nSVM: do not mark all VMCB02 fields dirty on nested vmexit (Paolo Bonzini) [1945742] - KVM: nSVM: do not mark all VMCB01 fields dirty on nested vmexit (Paolo Bonzini) [1945742] - KVM: nSVM: do not copy vmcb01->control blindly to vmcb02->control (Paolo Bonzini) [1945742] - KVM: nSVM: rename functions and variables according to vmcbXY nomenclature (Paolo Bonzini) [1945742] - KVM: nSVM: Track the ASID generation of the vmcb vmrun through the vmcb (Paolo Bonzini) [1945742] - KVM: nSVM: Track the physical cpu of the vmcb vmrun through the vmcb (Paolo Bonzini) [1945742] - KVM: SVM: Use a separate vmcb for the nested L2 guest (Paolo Bonzini) [1945742] - KVM: nSVM: Set the shadow root level to the TDP level for nested NPT (Paolo Bonzini) [1945742] - KVM: SVM: Don't strip the C-bit from CR2 on #PF interception (Paolo Bonzini) [1945742] - KVM: x86/mmu: WARN on NULL pae_root or lm_root, or bad shadow root level (Paolo Bonzini) [1945742] - KVM: x86/mmu: Sync roots after MMU load iff load as successful (Paolo Bonzini) [1945742] - KVM: x86/mmu: Unexport MMU load/unload functions (Paolo Bonzini) [1945742] - KVM: x86: Defer the MMU unload to the normal path on an global INVPCID (Paolo Bonzini) [1945742] - KVM: nVMX: Defer the MMU reload to the normal path on an EPTP switch (Paolo Bonzini) [1945742] - KVM: x86/mmu: Set the C-bit in the PDPTRs and LM pseudo-PDPTRs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Fix and unconditionally enable WARNs to detect PAE leaks (Paolo Bonzini) [1945742] - KVM: x86/mmu: Check PDPTRs before allocating PAE roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Ensure MMU pages are available when allocating roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Allocate pae_root and lm_root pages in dedicated helper (Paolo Bonzini) [1945742] - KVM: x86/mmu: Allocate the lm_root before allocating PAE roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Capture 'mmu' in a local variable when allocating roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Alloc page for PDPTEs when shadowing 32-bit NPT with 64-bit (Paolo Bonzini) [1945742] - KVM: x86: to track if L1 is running L2 VM (Paolo Bonzini) [1945742] - KVM: LAPIC: Advancing the timer expiration on guest initiated write (Paolo Bonzini) [1945742] - KVM: x86/mmu: Skip !MMU-present SPTEs when removing SP in exclusive mode (Paolo Bonzini) [1945742] - KVM: kvmclock: Fix vCPUs > 64 can't be online/hotpluged (Paolo Bonzini) [1945742] - kvm: x86: use NULL instead of using plain integer as pointer (Paolo Bonzini) [1945742] - KVM: SVM: Connect 'npt' module param to KVM's internal 'npt_enabled' (Paolo Bonzini) [1945742] - KVM: x86: Ensure deadline timer has truly expired before posting its IRQ (Paolo Bonzini) [1945742] - KVM: x86/xen: Fix return code when clearing vcpu_info and vcpu_time_info (Paolo Bonzini) [1945742] - KVM: x86/mmu: Set SPTE_AD_WRPROT_ONLY_MASK if and only if PML is enabled (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Fix Hyper-V context null-ptr-deref (Paolo Bonzini) [1945742] - KVM: SVM: Fix nested VM-Exit on #GP interception handling (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Fix dummy check if lbr_desc->event is created (Paolo Bonzini) [1945742] - KVM: x86/mmu: Consider the hva in mmu_notifier retry (Paolo Bonzini) [1945742] - kernel.h: split out min()/max() et al. helpers (Paolo Bonzini) [1945742] - KVM: x86/mmu: Skip mmu_notifier check when handling MMIO page fault (Paolo Bonzini) [1945742] - KVM: x86/mmu: Remove a variety of unnecessary exports (Paolo Bonzini) [1945742] - KVM: x86: Fold "write-protect large" use case into generic write-protect (Paolo Bonzini) [1945742] - KVM: x86/mmu: Don't set dirty bits when disabling dirty logging w/ PML (Paolo Bonzini) [1945742] - KVM: VMX: Dynamically enable/disable PML based on memslot dirty logging (Paolo Bonzini) [1945742] - KVM: x86: Further clarify the logic and comments for toggling log dirty (Paolo Bonzini) [1945742] - KVM: x86: Move MMU's PML logic to common code (Paolo Bonzini) [1945742] - KVM: x86/mmu: Make dirty log size hook (PML) a value, not a function (Paolo Bonzini) [1945742] - KVM: x86/mmu: Expand on the comment in kvm_vcpu_ad_need_write_protect() (Paolo Bonzini) [1945742] - KVM: nVMX: Disable PML in hardware when running L2 (Paolo Bonzini) [1945742] - KVM: x86/mmu: Consult max mapping level when zapping collapsible SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Pass the memslot to the rmap callbacks (Paolo Bonzini) [1945742] - KVM: x86/mmu: Split out max mapping level calculation to helper (Paolo Bonzini) [1945742] - KVM: nVMX: no need to undo inject_page_fault change on nested vmexit (Paolo Bonzini) [1945742] - KVM: nSVM: move nested vmrun tracepoint to enter_svm_guest_mode (Paolo Bonzini) [1945742] - KVM: VMX: read idt_vectoring_info a bit earlier (Paolo Bonzini) [1945742] - KVM: VMX: Allow INVPCID in guest without PCID (Paolo Bonzini) [1945742] - KVM: x86: Advertise INVPCID by default (Paolo Bonzini) [1945742] - KVM: SVM: Intercept INVPCID when it's disabled to inject #UD (Paolo Bonzini) [1945742] - KVM: x86/mmu: Make HVA handler retpoline-friendly (Paolo Bonzini) [1945742] - KVM: x86: move kvm_inject_gp up from kvm_set_dr to callers (Paolo Bonzini) [1945742] - KVM: x86: reading DR cannot fail (Paolo Bonzini) [1945742] - KVM: SVM: Remove an unnecessary forward declaration (Paolo Bonzini) [1945742] - KVM: SVM: Move AVIC vCPU kicking snippet to helper function (Paolo Bonzini) [1945742] - KVM: x86: Restore all 64 bits of DR6 and DR7 during RSM on x86-64 (Paolo Bonzini) [1945742] - KVM: x86: Remove misleading DR6/DR7 adjustments from RSM emulation (Paolo Bonzini) [1945742] - KVM: x86/xen: Use hva_t for holding hypercall page address (Paolo Bonzini) [1945742] - KVM: x86/xen: Remove extra unlock in kvm_xen_hvm_set_attr() (Paolo Bonzini) [1945742] - KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped() (Paolo Bonzini) [1945742] - KVM: x86: Add helper to consolidate "raw" reserved GPA mask calculations (Paolo Bonzini) [1945742] - KVM: selftests: Always run vCPU thread with blocked SIG_IPI (Paolo Bonzini) [1945742] - KVM: selftests: Sync data verify of dirty logging with guest sync (Paolo Bonzini) [1945742] - KVM: selftests: Add a test for kvm page table code (Paolo Bonzini) [1945742] - KVM: selftests: Adapt vm_userspace_mem_region_add to new helpers (Paolo Bonzini) [1945742] - KVM: selftests: List all hugetlb src types specified with page sizes (Paolo Bonzini) [1945742] - tools/headers: sync headers of asm-generic/hugetlb_encode.h (Paolo Bonzini) [1945742] - tools include uapi: Update linux/mmap.h copy (Paolo Bonzini) [1945742] - tools UAPI: Update copy of linux/mman.h from the kernel sources (Paolo Bonzini) [1945742] - mm/hugetlb: add mmap() encodings for 32MB and 512MB page sizes (Paolo Bonzini) [1945742] - RHEL: Add #defines for 16k hugepages (Paolo Bonzini) [1945742] - KVM: selftests: Add a helper to get system default hugetlb page size (Paolo Bonzini) [1945742] - KVM: selftests: Add a helper to get system configured THP page size (Paolo Bonzini) [1945742] - KVM: selftests: Make a generic helper to get vm guest mode strings (Paolo Bonzini) [1945742] - KVM: selftests: Print the errno besides error-string in TEST_ASSERT (Paolo Bonzini) [1945742] - KVM: selftests: remove redundant semi-colon (Paolo Bonzini) [1945742] - selftests: kvm: Check that TSC page value is small after KVM_SET_CLOCK(0) (Paolo Bonzini) [1945742] - KVM: x86: Prevent 'hv_clock->system_time' from going negative in kvm_guest_time_update() (Paolo Bonzini) [1945742] - selftests: kvm: make hardware_disable_test less verbose (Paolo Bonzini) [1945742] - selftests: kvm: add set_boot_cpu_id test (Paolo Bonzini) [1945742] - selftests: kvm: add _vm_ioctl (Paolo Bonzini) [1945742] - selftests: kvm: add get_msr_index_features (Paolo Bonzini) [1945742] - KVM: x86/xen: Add support for vCPU runstate information (Paolo Bonzini) [1945742] - RHEL: configs: do not enable CONFIG_KVM_XEN (Paolo Bonzini) [1945742] - KVM: x86: allow compiling out the Xen hypercall interface (Paolo Bonzini) [1945742] - KVM: x86: compile out TDP MMU on 32-bit systems (Paolo Bonzini) [1945742] - KVM: xen: flush deferred static key before checking it (Paolo Bonzini) [1945742] - KVM: x86/xen: Explicitly pad struct compat_vcpu_info to 64 bytes (Paolo Bonzini) [1945742] - KVM: x86/xen: Allow reset of Xen attributes (Paolo Bonzini) [1945742] - KVM: Documentation: rectify rst markup in kvm_run->flags (Paolo Bonzini) [1945742] - Documentation: kvm: fix messy conversion from .txt to .rst (Paolo Bonzini) [1945742] - KVM: Documentation: rectify rst markup in KVM_GET_SUPPORTED_HV_CPUID (Paolo Bonzini) [1945742] - Documentation: kvm: fix warning (Paolo Bonzini) [1945742] - KVM: Add documentation for Xen hypercall and shared_info updates (Paolo Bonzini) [1945742] - KVM: X86: Add the Document for KVM_CAP_X86_BUS_LOCK_EXIT (Paolo Bonzini) [1945742] - KVM: Documentation: Fix documentation for nested. (Paolo Bonzini) [1945742] - KVM: Documentation: Add arm64 KVM_RUN error codes (Paolo Bonzini) [1945742] - KVM: Documentation: Update entry for KVM_CAP_ENFORCE_PV_CPUID (Paolo Bonzini) [1945742] - KVM: Documentation: Update entry for KVM_X86_SET_MSR_FILTER (Paolo Bonzini) [1945742] - docs: kvm: add documentation for KVM_CAP_S390_DIAG318 (Paolo Bonzini) [1945742] - selftests: kvm: Mmap the entire vcpu mmap area (Paolo Bonzini) [1945742] - selftests: kvm: avoid uninitialized variable warning (Paolo Bonzini) [1945742] - selftests: kvm: add hardware_disable test (Paolo Bonzini) [1945742] - KVM: selftests: Don't bother mapping GVA for Xen shinfo test (Paolo Bonzini) [1945742] - KVM: selftests: Fix hex vs. decimal snafu in Xen test (Paolo Bonzini) [1945742] - KVM: selftests: Fix size of memslots created by Xen tests (Paolo Bonzini) [1945742] - KVM: selftests: Ignore recently added Xen tests' build output (Paolo Bonzini) [1945742] - KVM: x86: declare Xen HVM shared info capability and add test case (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Drop hv_vcpu_to_vcpu() helper (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Allocate Hyper-V context lazily (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Make Hyper-V emulation enablement conditional (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Allocate 'struct kvm_vcpu_hv' dynamically (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Prepare to meet unallocated Hyper-V context (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Always use to_hv_vcpu() accessor to get to 'struct kvm_vcpu_hv' (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Stop shadowing global 'current_vcpu' variable (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Introduce to_kvm_hv() helper (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Rename vcpu_to_hv_syndbg() to to_hv_syndbg() (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Rename vcpu_to_stimer()/stimer_to_vcpu() (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Rename vcpu_to_synic()/synic_to_vcpu() (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Rename vcpu_to_hv_vcpu() to to_hv_vcpu() (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Drop unused kvm_hv_vapic_assist_page_enabled() (Paolo Bonzini) [1945742] - KVM: x86/xen: Add event channel interrupt vector upcall (Paolo Bonzini) [1945742] - KVM: x86/xen: register vcpu time info region (Paolo Bonzini) [1945742] - KVM: x86/xen: setup pvclock updates (Paolo Bonzini) [1945742] - KVM: x86/xen: register vcpu info (Paolo Bonzini) [1945742] - KVM: x86/xen: Add KVM_XEN_VCPU_SET_ATTR/KVM_XEN_VCPU_GET_ATTR (Paolo Bonzini) [1945742] - KVM: x86/xen: update wallclock region (Paolo Bonzini) [1945742] - xen: add wc_sec_hi to struct shared_info (Paolo Bonzini) [1945742] - KVM: x86/xen: register shared_info page (Paolo Bonzini) [1945742] - KVM: x86/xen: add definitions of compat_shared_info, compat_vcpu_info (Paolo Bonzini) [1945742] - KVM: x86/xen: latch long_mode when hypercall page is set up (Paolo Bonzini) [1945742] - KVM: x86/xen: add KVM_XEN_HVM_SET_ATTR/KVM_XEN_HVM_GET_ATTR (Paolo Bonzini) [1945742] - KVM: x86/xen: Add kvm_xen_enabled static key (Paolo Bonzini) [1945742] - KVM: x86/xen: Move KVM_XEN_HVM_CONFIG handling to xen.c (Paolo Bonzini) [1945742] - KVM: x86/xen: Fix coexistence of Xen and Hyper-V hypercalls (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add helper to generate mask of reserved HPA bits (Paolo Bonzini) [1945742] - KVM: x86: Use reserved_gpa_bits to calculate reserved PxE bits (Paolo Bonzini) [1945742] - KVM: x86: SEV: Treat C-bit as legal GPA bit regardless of vCPU mode (Paolo Bonzini) [1945742] - KVM: nSVM: Use common GPA helper to check for illegal CR3 (Paolo Bonzini) [1945742] - KVM: VMX: Use GPA legality helpers to replace open coded equivalents (Paolo Bonzini) [1945742] - KVM: x86: Add a helper to handle legal GPA with an alignment requirement (Paolo Bonzini) [1945742] - KVM: x86: Add a helper to check for a legal GPA (Paolo Bonzini) [1945742] - KVM: nSVM: Don't strip host's C-bit from guest's CR3 when reading PDPTRs (Paolo Bonzini) [1945742] - KVM: x86: Set so called 'reserved CR3 bits in LM mask' at vCPU reset (Paolo Bonzini) [1945742] - KVM: x86/xen: intercept xen hypercalls if enabled (Paolo Bonzini) [1945742] - KVM: selftests: Add missing header file needed by xAPIC IPI tests (Paolo Bonzini) [1945742] - KVM: selftests: Add operand to vmsave/vmload/vmrun in svm.c (Paolo Bonzini) [1945742] - selftests: kvm: Properly set Hyper-V CPUIDs in evmcs_test (Paolo Bonzini) [1945742] - selftests: kvm: Move kvm_get_supported_hv_cpuid() to common code (Paolo Bonzini) [1945742] - selftest: kvm: x86: test KVM_GET_CPUID2 and guest visible CPUIDs against KVM_GET_SUPPORTED_CPUID (Paolo Bonzini) [1945742] - selftests: kvm/x86: add test for pmu msr MSR_IA32_PERF_CAPABILITIES (Paolo Bonzini) [1945742] - KVM: selftests: Disable dirty logging with vCPUs running (Paolo Bonzini) [1945742] - KVM: selftests: Add backing src parameter to dirty_log_perf_test (Paolo Bonzini) [1945742] - KVM: selftests: Add memslot modification stress test (Paolo Bonzini) [1945742] - KVM: selftests: Add option to overlap vCPU memory access (Paolo Bonzini) [1945742] - KVM: selftests: Fix population stage in dirty_log_perf_test (Paolo Bonzini) [1945742] - KVM: selftests: Convert iterations to int in dirty_log_perf_test (Paolo Bonzini) [1945742] - KVM: selftests: Avoid flooding debug log while populating memory (Paolo Bonzini) [1945742] - KVM: selftests: Rename timespec_diff_now to timespec_elapsed (Paolo Bonzini) [1945742] - KVM: selftests: Test IPI to halted vCPU in xAPIC while backing page moves (Paolo Bonzini) [1945742] - KVM: selftests: Implement perf_test_util more conventionally (Paolo Bonzini) [1945742] - KVM: selftests: Use vm_create_with_vcpus in create_vm (Paolo Bonzini) [1945742] - KVM: selftests: Factor out guest mode code (Paolo Bonzini) [1945742] - selftests: kvm: Merge user_msr_test into userspace_msr_exit_test (Paolo Bonzini) [1945742] - selftests: kvm: Test MSR exiting to userspace (Paolo Bonzini) [1945742] - KVM: selftests: sync_regs test for diag318 (Paolo Bonzini) [1945742] - KVM: selftests: x86: Set supported CPUIDs on default VM (Paolo Bonzini) [1945742] - KVM: selftests: Make test skipping consistent (Paolo Bonzini) [1945742] - KVM: selftests: Introduce vm_create_[default_]_with_vcpus (Paolo Bonzini) [1945742] - KVM: selftests: Make vm_create_default common (Paolo Bonzini) [1945742] - KVM: selftests: always use manual clear in dirty_log_perf_test (Paolo Bonzini) [1945742] - selftests: kvm: keep .gitignore add to date (Paolo Bonzini) [1945742] - KVM: selftests: Add "-c" parameter to dirty log test (Paolo Bonzini) [1945742] - KVM: selftests: Run dirty ring test asynchronously (Paolo Bonzini) [1945742] - KVM: selftests: Add dirty ring buffer test (Paolo Bonzini) [1945742] - KVM: selftests: Introduce after_vcpu_run hook for dirty log test (Paolo Bonzini) [1945742] - KVM: selftests: Verify supported CR4 bits can be set before KVM_SET_CPUID2 (Paolo Bonzini) [1945742] - KVM: selftests: allow two iterations of dirty_log_perf_test (Paolo Bonzini) [1945742] - KVM: selftests: Introduce the dirty log perf test (Paolo Bonzini) [1945742] - KVM: selftests: Make the number of vcpus global (Paolo Bonzini) [1945742] - KVM: selftests: Make the per vcpu memory size global (Paolo Bonzini) [1945742] - KVM: selftests: Drop pointless vm_create wrapper (Paolo Bonzini) [1945742] - KVM: selftests: Add wrfract to common guest code (Paolo Bonzini) [1945742] - KVM: selftests: Simplify demand_paging_test with timespec_diff_now (Paolo Bonzini) [1945742] - KVM: selftests: Remove address rounding in guest code (Paolo Bonzini) [1945742] - KVM: selftests: Factor code out of demand_paging_test (Paolo Bonzini) [1945742] - KVM: selftests: Use a single binary for dirty/clear log test (Paolo Bonzini) [1945742] - KVM: selftests: Always clear dirty bitmap after iteration (Paolo Bonzini) [1945742] - selftests: kvm: test enforcement of paravirtual cpuid features (Paolo Bonzini) [1945742] - selftests: kvm: Add exception handling to selftests (Paolo Bonzini) [1945742] - selftests: kvm: Clear uc so UCALL_NONE is being properly reported (Paolo Bonzini) [1945742] - selftests: kvm: Fix the segment descriptor layout to match the actual layout (Paolo Bonzini) [1945742] - KVM: x86/xen: Fix __user pointer handling for hypercall page installation (Paolo Bonzini) [1945742] - KVM: x86/xen: fix Xen hypercall page msr handling (Paolo Bonzini) [1945742] - KVM: x86: move kvm_inject_gp up from kvm_set_xcr to callers (Paolo Bonzini) [1945742] - KVM: cleanup DR6/DR7 reserved bits checks (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add '__func__' in rmap_printk() (Paolo Bonzini) [1945742] - KVM: SVM: Replace hard-coded value with #define (Paolo Bonzini) [1945742] - KVM: SVM: use .prepare_guest_switch() to handle CPU register save/setup (Paolo Bonzini) [1945742] - KVM: SVM: remove uneeded fields from host_save_users_msrs (Paolo Bonzini) [1945742] - KVM: SVM: use vmsave/vmload for saving/restoring additional host state (Paolo Bonzini) [1945742] - KVM: SVM: Use asm goto to handle unexpected #UD on SVM instructions (Paolo Bonzini) [1945742] - KVM: VMX: Use the kernel's version of VMXOFF (Paolo Bonzini) [1945742] - KVM: VMX: Move Intel PT shenanigans out of VMXON/VMXOFF flows (Paolo Bonzini) [1945742] - KVM/nVMX: Use __vmx_vcpu_run in nested_vmx_check_vmentry_hw (Paolo Bonzini) [1945742] - x86/virt: Mark flags and memory as clobbered by VMXOFF (Paolo Bonzini) [1945742] - x86/reboot: Force all cpus to exit VMX root if VMX is supported (Paolo Bonzini) [1945742] - x86/virt: Eat faults on VMXOFF in reboot flows (Paolo Bonzini) [1945742] - KVM: x86: use static calls to reduce kvm_x86_ops overhead (Paolo Bonzini) [1945742] - KVM: x86: introduce definitions to support static calls for kvm_x86_ops (Paolo Bonzini) [1945742] - KVM: RHEL: include linux/static_call.h (Paolo Bonzini) [1945742] - KVM: X86: prepend vmx/svm prefix to additional kvm_x86_ops functions (Paolo Bonzini) [1945742] - KVM: Stop using deprecated jump label APIs (Paolo Bonzini) [1945742] - locking/static_key: Add support for deferred static branches (Paolo Bonzini) [1945742] - KVM: X86: Rename DR6_INIT to DR6_ACTIVE_LOW (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Expose LBR_FMT in the MSR_IA32_PERF_CAPABILITIES (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Release guest LBR event via lazy release mechanism (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Emulate legacy freezing LBRs on virtual PMI (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Reduce the overhead of LBR pass-through or cancellation (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Pass-through LBR msrs when the guest LBR event is ACTIVE (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Create a guest LBR event when vcpu sets DEBUGCTLMSR_LBR (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Add PMU_CAP_LBR_FMT check when guest LBR is enabled (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Add PMU_CAP_LBR_FMT check when guest LBR is enabled (Paolo Bonzini) [1945742] - KVM: x86/pmu: preserve IA32_PERF_CAPABILITIES across CPUID refresh (Paolo Bonzini) [1945742] - KVM: x86/vmx: Make vmx_set_intercept_for_msr() non-static (Paolo Bonzini) [1945742] - KVM: VMX: read/write MSR_IA32_DEBUGCTLMSR from GUEST_IA32_DEBUGCTL (Paolo Bonzini) [1945742] - KVM: VMX: Use x2apic_mode to avoid RDMSR when querying PI state (Paolo Bonzini) [1945742] - x86/apic: Export x2apic_mode for use by KVM in "warm" path (Paolo Bonzini) [1945742] - KVM: VMX: Enable bus lock VM exit (Paolo Bonzini) [1945742] - KVM: X86: Reset the vcpu->run->flags at the beginning of vcpu_run (Paolo Bonzini) [1945742] - KVM: VMX: Convert vcpu_vmx.exit_reason to a union (Paolo Bonzini) [1945742] - KVM/SVM: add support for SEV attestation command (Paolo Bonzini) [1945742] - KVM: x86/mmu: Remove the defunct update_pte() paging hook (Paolo Bonzini) [1945742] - KVM: Expose AVX_VNNI instruction to guset (Paolo Bonzini) [1945742] - Enumerate AVX Vector Neural Network instructions (Paolo Bonzini) [1945742] - x86: kvm: style: Simplify bool comparison (Paolo Bonzini) [1945742] - KVM: x86: Zap the oldest MMU pages, not the newest (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use boolean returns for (S)PTE accessors (Paolo Bonzini) [1945742] - KVM: X86: use vzalloc() instead of vmalloc/memset (Paolo Bonzini) [1945742] - KVM: x86: Take KVM's SRCU lock only if steal time update is needed (Paolo Bonzini) [1945742] - KVM: x86: Remove obsolete disabling of page faults in kvm_arch_vcpu_put() (Paolo Bonzini) [1945742] - KVM: do not assume PTE is writable after follow_pfn (Paolo Bonzini) [1945742] - KVM: x86/mmu: Fix TDP MMU zap collapsible SPTEs (Paolo Bonzini) [1945742] - KVM: x86: cleanup CR3 reserved bits checks (Paolo Bonzini) [1945742] - KVM: SVM: Treat SVM as unsupported when running as an SEV guest (Paolo Bonzini) [1945742] - KVM: x86: Update emulator context mode if SYSENTER xfers to 64-bit mode (Paolo Bonzini) [1945742] - KVM: x86: Supplement __cr4_reserved_bits() with X86_FEATURE_PCID check (Paolo Bonzini) [1945742] - KVM/x86: assign hva with the right value to vm_munmap the pages (Paolo Bonzini) [1945742] - Fix unsynchronized access to sev members through svm_register_enc_region (Paolo Bonzini) [1945742] - KVM: x86: Revert "KVM: x86: Mark GPRs dirty when written" (Paolo Bonzini) [1945742] - KVM: SVM: Unconditionally sync GPRs to GHCB on VMRUN of SEV-ES guest (Paolo Bonzini) [1945742] - KVM: x86: __kvm_vcpu_halt can be static (Paolo Bonzini) [1945742] - KVM: SVM: Add support for booting APs in an SEV-ES guest (Paolo Bonzini) [1945742] - KVM/SVM: Remove leftover __svm_vcpu_run prototype from svm.c (Paolo Bonzini) [1945742] - KVM: SVM: Add register operand to vmsave call in sev_es_vcpu_load (Paolo Bonzini) [1945742] - KVM: SVM: fix 32-bit compilation (Paolo Bonzini) [1945742] - KVM: SVM: Add AP_JUMP_TABLE support in prep for AP booting (Paolo Bonzini) [1945742] - KVM: SVM: Provide support to launch and run an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Provide an updated VMRUN invocation for SEV-ES guests (Paolo Bonzini) [1945742] - x86/kvm/svm: Use uninstrumented wrmsrl() to restore GS (Paolo Bonzini) [1945742] - KVM: SVM: Provide support for SEV-ES vCPU loading (Paolo Bonzini) [1945742] - KVM: SVM: Provide support for SEV-ES vCPU creation/loading (Paolo Bonzini) [1945742] - KVM: SVM: Update ASID allocation to support SEV-ES guests (Paolo Bonzini) [1945742] - KVM: SVM: Set the encryption mask for the SVM host save area (Paolo Bonzini) [1945742] - KVM: SVM: Add NMI support for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Guest FPU state save/restore not needed for SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Do not report support for SMM for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: x86: Update __get_sregs() / __set_sregs() to support SEV-ES (Paolo Bonzini) [1945742] - KVM: SVM: Add support for CR8 write traps for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Add support for CR4 write traps for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Add support for CR0 write traps for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Add support for EFER write traps for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Support string IO operations for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Support MMIO for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Create trace events for VMGEXIT MSR protocol processing (Paolo Bonzini) [1945742] - KVM: SVM: Create trace events for VMGEXIT processing (Paolo Bonzini) [1945742] - KVM: SVM: Add support for SEV-ES GHCB MSR protocol function 0x100 (Paolo Bonzini) [1945742] - KVM: SVM: Add support for SEV-ES GHCB MSR protocol function 0x004 (Paolo Bonzini) [1945742] - KVM: SVM: Add support for SEV-ES GHCB MSR protocol function 0x002 (Paolo Bonzini) [1945742] - KVM: SVM: Add initial support for a VMGEXIT VMEXIT (Paolo Bonzini) [1945742] - KVM: SVM: Add GHCB accessor functions for retrieving fields (Paolo Bonzini) [1945742] - KVM: SVM: Prepare for SEV-ES exit handling in the sev.c file (Paolo Bonzini) [1945742] - KVM: SVM: Cannot re-initialize the VMCB after shutdown with SEV-ES (Paolo Bonzini) [1945742] - KVM: SVM: Do not allow instruction emulation under SEV-ES (Paolo Bonzini) [1945742] - KVM: SVM: Prevent debugging under SEV-ES (Paolo Bonzini) [1945742] - KVM: SVM: Add required changes to support intercepts under SEV-ES (Paolo Bonzini) [1945742] - KVM: x86: introduce complete_emulated_msr callback (Paolo Bonzini) [1945742] - KVM: x86: Mark GPRs dirty when written (Paolo Bonzini) [1945742] - KVM: SVM: Add support for the SEV-ES VMSA (Paolo Bonzini) [1945742] - x86/cpu: Add VM page flush MSR availablility as a CPUID feature (Paolo Bonzini) [1945742] - KVM: SVM: Add support for SEV-ES capability in KVM (Paolo Bonzini) [1945742] - KVM/VMX/SVM: Move kvm_machine_check function to x86.h (Paolo Bonzini) [1945742] - KVM: Don't allocate dirty bitmap if dirty ring is enabled (Paolo Bonzini) [1945742] - KVM: Make dirty ring exclusive to dirty bitmap log (Paolo Bonzini) [1945742] - KVM: X86: Implement ring-based dirty memory tracking (Paolo Bonzini) [1945742] - KVM: Pass in kvm pointer into mark_page_dirty_in_slot() (Paolo Bonzini) [1945742] - kvm/eventfd: Drain events from eventfd in irqfd_wakeup() (Paolo Bonzini) [1945742] - eventfd: Export eventfd_ctx_do_read() (Paolo Bonzini) [1945742] - kvm/eventfd: Use priority waitqueue to catch events before userspace (Paolo Bonzini) [1945742] - sched/wait: Add add_wait_queue_priority() (Paolo Bonzini) [1945742] - cpuidle-haltpoll: fix error comments in arch_haltpoll_disable (Paolo Bonzini) [1945742] - kvm/eventfd: Use sequence counter with associated spinlock (Paolo Bonzini) [1945742] - x86/kvm/vmx: Use native read/write_cr2() (Paolo Bonzini) [1945742] - KVM: SVM: convert get_user_pages() --> pin_user_pages() (Paolo Bonzini) [1945742] - x86/asm: Change all ENTRY+ENDPROC to SYM_FUNC_* (Paolo Bonzini) [1945742] - x86/entry/64: Fix unwind hints in __switch_to_asm() (Paolo Bonzini) [1945742] - x86/asm/64: Change all ENTRY+END to SYM_CODE_* (Paolo Bonzini) [1945742] - x86/head/64: Annotate start_cpu0() as non-callable (Paolo Bonzini) [1945742] - x86/asm: Do not annotate functions with GLOBAL (Paolo Bonzini) [1945742] - kprobes/x86/xen: blacklist non-attachable xen interrupt functions (Paolo Bonzini) [1945742] - x86/asm/64: Add ENDs to some functions and relabel with SYM_CODE_* (Paolo Bonzini) [1945742] - x86/asm: Use SYM_INNER_LABEL instead of GLOBAL (Paolo Bonzini) [1945742] - x86/asm: Annotate aliases (Paolo Bonzini) [1945742] - x86/asm/crypto: Annotate local functions (Paolo Bonzini) [1945742] - static_call: Add static_call_cond() (Paolo Bonzini) [1945742] - static_call: Add basic static call infrastructure (Paolo Bonzini) [1945742] - devlink: use _BITUL() macro instead of BIT() in the UAPI header (Petr Oros) [1935646] - devlink: Fix reload stats structure (Petr Oros) [1935646] - devlink: Avoid overwriting port attributes of registered port (Petr Oros) [1935646] - devlink: Add Documentation/networking/devlink/devlink-reload.rst (Petr Oros) [1935646] - devlink: Add enable_remote_dev_reset generic parameter (Petr Oros) [1935646] - devlink: Add remote reload stats (Petr Oros) [1935646] - devlink: Add reload stats (Petr Oros) [1935646] - devlink: Add devlink reload limit option (Petr Oros) [1935646] - devlink: Add reload action option to devlink reload command (Petr Oros) [1935646] - devlink: Change devlink_reload_supported() param type (Petr Oros) [1935646]- CI: Rename KABI option (Veronika Kabatova) - CI: Disable result checking for realtime checks (Veronika Kabatova) - Revert "GFS2: Re-add a call to log_flush_wait when flushing the journal" (Bob Peterson) [1917930] - md/raid1: properly indicate failure when ending a failed write request (Nigel Croxon) [1954588] - Revert "uio: use request_threaded_irq instead" (Vitaly Kuznetsov) [1946644] - drm/ast: Set format registers in primary plane's update (Lyude Paul) [1923857] - drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status (Mohammed Gamal) [1940926] - x86/hyperv: Move hv_do_rep_hypercall to asm-generic (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Increase wait time for VMbus unload (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Initialize unload_event statically (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Check for pending channel interrupts before taking a CPU offline (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Drivers: hv: vmbus: Introduce CHANNELMSG_MODIFYCHANNEL_RESPONSE (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Introduce and negotiate VMBus protocol version 5.3 (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Use after free in __vmbus_open() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: remove unused function (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Remove unused linux/version.h header (Mohammed Gamal) [1940926] - x86/Hyper-V: Support for free page reporting (Mohammed Gamal) [1940926] - x86/hyper-v: Move hv_message_type to architecture neutral module (Mohammed Gamal) [1940926] - asm-generic/hyperv: import data structures for mapping device interrupts (Mohammed Gamal) [1940926] - asm-generic/hyperv: introduce hv_device_id and auxiliary structures (Mohammed Gamal) [1940926] - asm-generic/hyperv: update hv_interrupt_entry (Mohammed Gamal) [1940926] - asm-generic/hyperv: update hv_msi_entry (Mohammed Gamal) [1940926] - x86/hyperv: provide a bunch of helper functions (Mohammed Gamal) [1940926] - x86/hyperv: extract partition ID from Microsoft Hypervisor if necessary (Mohammed Gamal) [1940926] - asm-generic/hyperv: Add definitions for Get/SetVpRegister hypercalls (Mohammed Gamal) [1940926] - drivers: hv: Fix EXPORT_SYMBOL and tab spaces issue (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Drop error message when 'No request id available' (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Move handling of VMbus interrupts (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Handle auto EOI quirk inline (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Move hyperv_report_panic_msg to arch neutral code (Mohammed Gamal) [1940926] - Drivers: hv: Redo Hyper-V synthetic MSR get/set functions (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Move Hyper-V page allocator to arch neutral code (Mohammed Gamal) [1940926] - x86/hyperv: allocate output arg pages if required (Mohammed Gamal) [1940926] - drivers: hv: Fix whitespace errors (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: skip VMBus initialization if Linux is root (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Enforce 'VMBus version >= 5.2' on isolated guests (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Restrict vmbus_devices on isolated guests (Mohammed Gamal) [1940926] - hv_utils: Fix spelling mistake "Hearbeat" -> "Heartbeat" (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Add /sys/bus/vmbus/hibernation (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Resolve race condition in vmbus_onoffer_rescind() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Copy the hv_message in vmbus_on_msg_dpc() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Reduce number of references to message in vmbus_on_msg_dpc() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Initialize memory to be sent to the host (Mohammed Gamal) [1940926] - hv_utils: Add validation for untrusted Hyper-V values (Mohammed Gamal) [1940926] - drivers/hv: remove obsolete TODO and fix misleading typo in comment (Mohammed Gamal) [1940926] - drivers: hv: vmbus: Fix checkpatch SPLIT_STRING (Mohammed Gamal) [1940926] - drivers: hv: vmbus: Fix call msleep using < 20ms (Mohammed Gamal) [1940926] - drivers: hv: vmbus: Fix checkpatch LINE_SPACING (Mohammed Gamal) [1940926] - drivers: hv: vmbus: Replace symbolic permissions by octal permissions (Mohammed Gamal) [1940926] - drivers: hv: Fix hyperv_record_panic_msg path on comment (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Add vmbus_requestor data structure for VMBus hardening (Mohammed Gamal) [1940926] - ena: revert removal of MODULE_VERSION from ena (Petr Oros) [1955712] - Revert "[netdrv] net/intel: remove driver versions from Intel drivers" (Jonathan Toppins) [1955745] - Revert "[netdrv] net/broadcom: Clean broadcom code from driver versions" (Jonathan Toppins) [1955721] - net: core: add dev_get_tstats64 as a ndo_get_stats64 implementation (Josef Oskera) [1939453]- igb: amend removal of MODULE_VERSION (Corinna Vinschen) [1955748] - igc: amend removal of MODULE_VERSION (Corinna Vinschen) [1955755] - i40e: amend removal of MODULE_VERSION (Stefan Assmann) [1955736] - ixgbe: Amend commit acf03026ec5a to include a version string in module info. (Ken Cox) [1955759] - i40e: Fix parameters in aq_get_phy_register() (Stefan Assmann) [1907852] - initramfs: panic with memory information (Coiby Xu) [1936031] - powercap/intel_rapl: add support for AlderLake (David Arcari) [1838605] - xfs: restore shutdown check in mapped write fault path (Brian Foster) [1926089] - xfs: consider shutdown in bmapbt cursor delete assert (Brian Foster) [1926077] - iomap: Fix negative assignment to unsigned sis->pages in iomap_swapfile_activate (Carlos Maiolino) [1938210] - scsi: scsi_dh_alua: Remove check for ASC 24h in alua_rtpg() (Ewan D. Milne) [1929878] - perf/arm-cmn: Move IRQs when migrating context (Jeremy Linton) [1816850] - perf/arm-cmn: Fix PMU instance naming (Jeremy Linton) [1816850] - perf: arm-cmn: Fix conversion specifiers for node type (Jeremy Linton) [1816850] - perf: arm-cmn: Fix unsigned comparison to less than zero (Jeremy Linton) [1816850] - perf: Add Arm CMN-600 PMU driver (Jeremy Linton) [1816850] - redhat/configs: Use CONFIG_VIRTIO_CONSOLE=m on s390x, too (Thomas Huth) [1954119] - s390/config: do not select VIRTIO_CONSOLE via Kconfig (Thomas Huth) [1954119] - x86/platform/uv: Fix an error code in uv_hubs_init() (Frank Ramsay) [1936605] - x86/platform/uv: Add more to secondary CPU kdump info (Frank Ramsay) [1936605] - x86/platform/uv: Use x2apic enabled bit as set by BIOS to indicate APIC mode (Frank Ramsay) [1936605] - redhat/configs: Add CONFIG_UV_SYSFS (Frank Ramsay) [1936605] - x86/platform/uv: Fix indentation warning in Documentation/ABI/testing/sysfs-firmware-sgi_uv (Frank Ramsay) [1936605] - x86/platform/uv: Set section block size for hubless architectures (Frank Ramsay) [1936605] - x86/platform/uv: Update sysfs documentation (Frank Ramsay) [1936605] - x86/platform/uv: Add deprecated messages to /proc info leaves (Frank Ramsay) [1936605] - x86/platform/uv: Add sysfs hubless leaves (Frank Ramsay) [1936605] - x86/platform/uv: Add sysfs leaves to replace those in procfs (Frank Ramsay) [1936605] - x86/platform/uv: Add kernel interfaces for obtaining system info (Frank Ramsay) [1936605] - x86/platform/uv: Update MAINTAINERS for uv_sysfs driver (Frank Ramsay) [1936605] - x86/platform/uv: Update ABI documentation of /sys/firmware/sgi_uv/ (Frank Ramsay) [1936605] - x86/platform/uv: Add new uv_sysfs platform driver (Frank Ramsay) [1936605] - x86/platform/uv: Add and export uv_bios_* functions (Frank Ramsay) [1936605] - x86/platform/uv: Remove existing /sys/firmware/sgi_uv/interface (Frank Ramsay) [1936605] - x86/platform/uv: Unexport symbols only used by x2apic_uv_x.c (Frank Ramsay) [1936605] - x86/platform/uv: Unexport sn_coherency_id (Frank Ramsay) [1936605] - x86/platform/uv: Mark uv_bios_call() and uv_bios_call_irqsave() static (Frank Ramsay) [1936605] - UV: Add SPDX license identifier - Makefile/Kconfig (Frank Ramsay) [1936605] - netdevsim: Only use sampling truncation length when valid (Ivan Vecera) [1955163] - selftests: netdevsim: Test psample functionality (Ivan Vecera) [1955163] - netdevsim: Add dummy psample implementation (Ivan Vecera) [1955163] - psample: Add additional metadata attributes (Ivan Vecera) [1955163] - psample: Encapsulate packet metadata in a struct (Ivan Vecera) [1955163] - net: psample: fix build error when CONFIG_INET is not enabled (Ivan Vecera) [1955163] - devlink: include for _BITUL (Petr Oros) [1935630] - netdevsim: add support for flash_update overwrite mask (Petr Oros) [1935630] - devlink: introduce flash update overwrite mask (Petr Oros) [1935630] - devlink: convert flash_update to use params structure (Petr Oros) [1935630] - devlink: check flash_update parameter support in net core (Petr Oros) [1935630] - devlink: Enhance policy to validate port type input value (Petr Oros) [1935630] - devlink: Enhance policy to validate eswitch mode value (Petr Oros) [1935630] - net: devlink: region: Pass the region ops to the snapshot function (Petr Oros) [1935630] - net: devlink: regions: Add a priv member to the regions ops struct (Petr Oros) [1935630]- Enumerate AVX Vector Neural Network instructions (Steve Best) [1838616] - net: fix skb use after free in netpoll (Ivan Vecera) [1913481] - cipso,calipso: resolve a number of problems with the DOI refcounts (Guillaume Nault) [1950996] - netfilter: rpfilter: mask ecn bits before fib lookup (Guillaume Nault) [1950996] - netfilter: Fix rpfilter dropping vrf packets by mistake (Guillaume Nault) [1950996] - redhat: enable CONFIG_DM_MULTIPATH_HST and CONFIG_DM_MULTIPATH_IOA (Mike Snitzer) [1949682] - dm ioctl: fix out of bounds array access when no devices (Mike Snitzer) [1949682] - dm table: Fix zoned model check and zone sectors check (Mike Snitzer) [1949682] - dm: simplify target code conditional on CONFIG_BLK_DEV_ZONED (Mike Snitzer) [1949682] - dm verity: fix DM_VERITY_OPTS_MAX value (Mike Snitzer) [1949682] - dm verity fec: fix misaligned RS roots IO (Mike Snitzer) [1949682] - dm verity: fix FEC for RS roots unaligned to block size (Mike Snitzer) [1949682] - dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size (Mike Snitzer) [1949682] - dm: fix deadlock when swapping to encrypted device (Mike Snitzer) [1949682] - dm era: only resize metadata in preresume (Mike Snitzer) [1949682] - dm era: Use correct value size in equality function of writeset tree (Mike Snitzer) [1949682] - dm era: Fix bitset memory leaks (Mike Snitzer) [1949682] - dm era: Verify the data block size hasn't changed (Mike Snitzer) [1949682] - dm era: Reinitialize bitset cache before digesting a new writeset (Mike Snitzer) [1949682] - dm era: Update in-core bitset after committing the metadata (Mike Snitzer) [1949682] - dm era: Recover committed writeset after crash (Mike Snitzer) [1949682] - dm writecache: fix writing beyond end of underlying device when shrinking (Mike Snitzer) [1949682] - dm table: remove needless request_queue NULL pointer checks (Mike Snitzer) [1949682] - dm table: fix zoned iterate_devices based device capability checks (Mike Snitzer) [1949682] - dm writecache: return the exact table values that were set (Mike Snitzer) [1949682] - dm writecache: fix unnecessary NULL check warnings (Mike Snitzer) [1949682] - dm writecache: fix performance degradation in ssd mode (Mike Snitzer) [1949682] - dm integrity: introduce the "fix_hmac" argument (Mike Snitzer) [1949682] - dm persistent data: fix return type of shadow_root() (Mike Snitzer) [1949682] - dm: cleanup of front padding calculation (Mike Snitzer) [1949682] - dm integrity: fix spelling mistake "flusing" -> "flushing" (Mike Snitzer) [1949682] - dm crypt: Spelling s_cihper_cipher_ (Mike Snitzer) [1949682] - dm: avoid filesystem lookup in dm_get_dev_t() (Mike Snitzer) [1949682] - dm integrity: conditionally disable "recalculate" feature (Mike Snitzer) [1949682] - dm integrity: fix a crash if "recalculate" used without "internal_hash" (Mike Snitzer) [1949682] - dm integrity: fix the maximum number of arguments (Mike Snitzer) [1949682] - dm integrity: fix flush with external metadata device (Mike Snitzer) [1949682] - dm snapshot: flush merged data before committing metadata (Mike Snitzer) [1949682] - dm zoned: select CONFIG_CRC32 (Mike Snitzer) [1949682] - dm integrity: select CRYPTO_SKCIPHER (Mike Snitzer) [1949682] - dm cache: simplify the return expression of load_mapping() (Mike Snitzer) [1949682] - dm verity: skip verity work if I_O error when system is shutting down (Mike Snitzer) [1949682] - dm ioctl: fix error return code in target_message (Mike Snitzer) [1949682] - dm crypt: Constify static crypt_iv_operations (Mike Snitzer) [1949682] - dm: add support for REQ_NOWAIT to various targets (Mike Snitzer) [1949682] - dm: rename multipath path selector source files to have "dm-ps" prefix (Mike Snitzer) [1949682] - dm mpath: add IO affinity path selector (Mike Snitzer) [1949682] - dm verity: Add support for signature verification with 2nd keyring (Mike Snitzer) [1949682] - dm: remove unnecessary current->bio_list check when submitting split bio (Mike Snitzer) [1949682] - dm: remove invalid sparse __acquires and __releases annotations (Mike Snitzer) [1949682] - dm: fix double RCU unlock in dm_dax_zero_page_range() error path (Mike Snitzer) [1949682] - dm writecache: remove BUG() and fail gracefully instead (Mike Snitzer) [1949682] - dm table: Remove BUG_ON(in_interrupt()) (Mike Snitzer) [1949682] - dm: fix bug with RCU locking in dm_blk_report_zones (Mike Snitzer) [1949682] - Revert "dm cache: fix arm link errors with inline" (Mike Snitzer) [1949682] - vfs: remove lockdep bogosity in __sb_start_write (Brian Foster) [1926097] - nbd: freeze the queue while we're adding connections (Ming Lei) [1927246] - selftests/livepatch: Do not check order when using "comm" for dmesg checking (Joel Savitz) [1942056] - RDMA/siw,rxe: Make emulated devices virtual in the device tree (Kamal Heib) [1931849] - RDMA/core: remove use of dma_virt_ops (Kamal Heib) [1931849] - RDMA/umem: Use ib_dma_max_seg_size instead of dma_get_max_seg_size (Kamal Heib) [1931849] - RDMA/core: Fix ib_dma_max_seg_size() (Kamal Heib) [1931849] - RDMA/umem: Move to allocate SG table from pages (Kamal Heib) [1931849] - lib/scatterlist: Do not limit max_segment to PAGE_ALIGNED values (Kamal Heib) [1931849] - lib/scatterlist: Add support in dynamic allocation of SG table from pages (Kamal Heib) [1931846] - RDMA/srp: Increase max_segment_size (Kamal Heib) [1931849] - RDMA/uverbs: Allow drivers to create a new HW object during rereg_mr (Kamal Heib) [1931849] - RDMA/mlx5: Use ib_umem_find_best_pgoff() for SRQ (Kamal Heib) [1931849] - RDMA/vmw_pvrdma: Fix network_hdr_type reported in WC (Kamal Heib) [1931849] - RDMA/cma: Fix error flow in default_roce_mode_store (Kamal Heib) [1931849] - RDMA/umem: Avoid undefined behavior of rounddown_pow_of_two() (Kamal Heib) [1931849] - RDMA/restrack: Don't treat as an error allocation ID wrapping (Kamal Heib) [1931849] - RDMA/ucma: Do not miss ctx destruction steps in some cases (Kamal Heib) [1931849] - RDMA/cma: Don't overwrite sgid_attr after device is released (Kamal Heib) [1931849] - RDMA/rxe: Use acquire/release for memory ordering (Kamal Heib) [1931849] - RDMA/uverbs: Fix incorrect variable type (Kamal Heib) [1931849] - RDMA/core: Update kernel documentation for ib_create_named_qp() (Kamal Heib) [1931849] - RDMA/iser: Remove in_interrupt() usage (Kamal Heib) [1931849] - IB: Fix kernel-doc markups (Kamal Heib) [1931849] - RDMA/uverbs: Check ODP in ib_check_mr_access() as well (Kamal Heib) [1931849] - RDMA/uverbs: Tidy input validation of ib_uverbs_rereg_mr() (Kamal Heib) [1931849] - RDMA/efa: Use dma_set_mask_and_coherent() to simplify code (Kamal Heib) [1931849] - RDMA/restrack: Support all QP types (Kamal Heib) [1931849] - RDMA/core: Allow drivers to disable restrack DB (Kamal Heib) [1931849] - RDMA/core: Track device memory MRs (Kamal Heib) [1931849] - RDMA/cma: Fix deadlock on &lock in rdma_cma_listen_on_all() error unwind (Kamal Heib) [1931849] - IB/hfi1: Fix fall-through warnings for Clang (Kamal Heib) [1931849] - RDMA/ipoib: Distribute cq completion vector better (Kamal Heib) [1931849] - RDMA/efa: Remove .create_ah callback assignment (Kamal Heib) [1931849] - RDMA/cma: Add missing error handling of listen_id (Kamal Heib) [1931849] - RDMA/restrack: Store all special QPs in restrack DB (Kamal Heib) [1931849] - RDMA/counter: Combine allocation and bind logic (Kamal Heib) [1931849] - RDMA/core: Remove ib_dma_{alloc,free}_coherent (Kamal Heib) [1931849] - RDMA/core: Make FD destroy callback void (Kamal Heib) [1931849] - RDMA/core: Postpone uobject cleanup on failure till FD close (Kamal Heib) [1931849] - IB/isert: Do not excplicitly check == false for bool (Kamal Heib) [1931849] - IB/core: Add support for NDR link speed (Kamal Heib) [1931849] - RDMA/ipoib: Add 50Gb and 100Gb link speeds to ethtool (Kamal Heib) [1931849] - RDMA/rxe,siw: Restore uverbs_cmd_mask IB_USER_VERBS_CMD_POST_SEND (Kamal Heib) [1931849] - RDMA/siw: Fix typo of EAGAIN not -EAGAIN in siw_cm_work_handler() (Kamal Heib) [1931849] - RDMA/rxe: Compute PSN windows correctly (Kamal Heib) [1931849] - RDMA/core: Fix error return in _ib_modify_qp() (Kamal Heib) [1931849] - IB/verbs: avoid nested container_of() (Kamal Heib) [1931849] - RDMA/rxe: Remove unused RXE_MR_TYPE_FMR (Kamal Heib) [1931849] - RDMA: Remove AH from uverbs_cmd_mask (Kamal Heib) [1931849] - RDMA: Remove uverbs cmds from drivers that don't use them (Kamal Heib) [1931849] - RDMA/core Remove uverbs_ex_cmd_mask (Kamal Heib) [1931849] - RDMA: Check create_flags during create_qp (Kamal Heib) [1931849] - RDMA: Check flags during create_cq (Kamal Heib) [1931849] - RDMA: Check attr_mask during modify_qp (Kamal Heib) [1931849] - RDMA: Check srq_type during create_srq (Kamal Heib) [1931849] - RDMA: Move more uverbs_cmd_mask settings to the core (Kamal Heib) [1931849] - RDMA: Remove elements in uverbs_cmd_mask that all drivers set (Kamal Heib) [1931849] - RDMA: Remove uverbs_ex_cmd_mask values that are linked to functions (Kamal Heib) [1931849] - RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait (Kamal Heib) [1931846] - RDMA/core: Fix empty gid table for non IB/RoCE devices (Kamal Heib) [1931846] - RDMA/efa: Use the correct current and new states in modify QP (Kamal Heib) [1931846] - RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs (Kamal Heib) [1931846] - RDMA/srpt: Fix typo in srpt_unregister_mad_agent docstring (Kamal Heib) [1931846] - RDMA/vmw_pvrdma: Fix the active_speed and phys_state value (Kamal Heib) [1931846] - RDMA: Fix software RDMA drivers for dma mapping error (Kamal Heib) [1931846] - IB/srpt: docs: add a description for cq_size member (Kamal Heib) [1931846] - RDMA: Add rdma_connect_locked() (Kamal Heib) [1931846] - RDMA/uverbs: Fix false error in query gid IOCTL (Kamal Heib) [1931846] - RDMA/rxe: Fix small problem in network_type patch (Kamal Heib) [1931846] - RDMA/ucma: Fix use after free in destroy id flow (Kamal Heib) [1931846] - RDMA/rxe: Move the definitions for rxe_av.network_type to uAPI (Kamal Heib) [1931846] - RDMA: Explicitly pass in the dma_device to ib_register_device (Kamal Heib) [1931846] - RDMA/usnic: Remove the query_pkey callback (Kamal Heib) [1931846] - RDMA/usnic: Fix spelling mistake "transistion" -> "transition" (Kamal Heib) [1931846] - RDMA/usnic: switch from 'pci_' to 'dma_' API (Kamal Heib) [1931846] - RDMA/usnic: Avoid overly large buffers on stack (Kamal Heib) [1931846] - IB/usnic: Use dev_get_drvdata (Kamal Heib) [1931846] - IB/usnic: Fix deadlock (Kamal Heib) [1931846] - Revert "[infiniband] usnic_verbs: fix deadlock" (Kamal Heib) [1931846] - RDMA/rxe: Remove duplicate entries in struct rxe_mr (Kamal Heib) [1931846] - RDMA/uverbs: Expose the new GID query API to user space (Kamal Heib) [1931846] - RDMA/core: Introduce new GID table query API (Kamal Heib) [1931846] - RDMA/core: Modify enum ib_gid_type and enum rdma_network_type (Kamal Heib) [1931846] - RDMA/core: Change rdma_get_gid_attr returned error code (Kamal Heib) [1931846] - RDMA/core: Constify struct attribute_group (Kamal Heib) [1931846] - RDMA/core: Remove ucontext->closing (Kamal Heib) [1931846] - RDMA/drivers: Remove udata check from special QP (Kamal Heib) [1931846] - RDMA/qedr: Add support for user mode XRC-SRQ's (Kamal Heib) [1931846] - RDMA/mlx4: Prepare QP allocation to remove from the driver (Kamal Heib) [1931846] - RDMA/mlx4: Embed GSI QP into general mlx4_ib QP (Kamal Heib) [1931846] - RDMA/core: Align write and ioctl checks of QP types (Kamal Heib) [1931846] - RDMA/efa: Drop double zeroing for sg_init_table() (Kamal Heib) [1931846] - RDMA/efa: Add messages and RDMA read work requests HW stats (Kamal Heib) [1931846] - RDMA/efa: Group keep alive received counter with other SW stats (Kamal Heib) [1931846] - RDMA/restrack: Improve readability in task name management (Kamal Heib) [1931846] - RDMA/restrack: Simplify restrack tracking in kernel flows (Kamal Heib) [1931846] - RDMA/restrack: Count references to the verbs objects (Kamal Heib) [1931846] - RDMA/cma: Delete from restrack DB after successful destroy (Kamal Heib) [1931846] - RDMA/ucma: Rework ucma_migrate_id() to avoid races with destroy (Kamal Heib) [1931846] - RDMA: Fix link active_speed size (Kamal Heib) [1931846] - net/mlx5: Refactor query port speed functions (Kamal Heib) [1931846] - RDMA: Convert RWQ table logic to ib_core allocation scheme (Kamal Heib) [1931846] - RDMA: Clean MW allocation and free flows (Kamal Heib) [1931846] - RDMA/cma: Fix use after free race in roce multicast join (Kamal Heib) [1931846] - RDMA/cma: Consolidate the destruction of a cma_multicast in one place (Kamal Heib) [1931846] - RDMA/cma: Remove dead code for kernel rdmacm multicast (Kamal Heib) [1931846] - RDMA/cma: Combine cma_ndev_work with cma_work (Kamal Heib) [1931846] - RDMA/cma: Remove cma_comp() (Kamal Heib) [1931846] - RDMA/cma: Fix locking for the RDMA_CM_LISTEN state (Kamal Heib) [1931846] - RDMA/cma: Make the locking for automatic state transition more clear (Kamal Heib) [1931846] - RDMA/cma: Fix locking for the RDMA_CM_CONNECT state (Kamal Heib) [1931846] - RDMA/core: Added missing WR and WC opcodes (Kamal Heib) [1931846] - RDMA/qedr: Remove fbo and zbva from the MR (Kamal Heib) [1931846] - RDMA/mlx4: Use ib_umem_num_dma_blocks() (Kamal Heib) [1931846] - RDMA/pvrdma: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count() (Kamal Heib) [1931846] - RDMA/bnxt: Do not use ib_umem_page_count() or ib_umem_num_pages() (Kamal Heib) [1931846] - RDMA/qedr: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count() (Kamal Heib) [1931846] - RDMA/qedr: Use rdma_umem_for_each_dma_block() instead of open-coding (Kamal Heib) [1931846] - RDMA/i40iw: Use ib_umem_num_dma_pages() (Kamal Heib) [1931846] - RDMA/efa: Use ib_umem_num_dma_pages() (Kamal Heib) [1931846] - RDMA/umem: Split ib_umem_num_pages() into ib_umem_num_dma_blocks() (Kamal Heib) [1931846] - RDMA/umem: Replace for_each_sg_dma_page with rdma_umem_for_each_dma_block (Kamal Heib) [1931846] - RDMA/umem: Add rdma_umem_for_each_dma_block() (Kamal Heib) [1931846] - RDMA/umem: Use simpler logic for ib_umem_find_best_pgsz() (Kamal Heib) [1931846] - RDMA/umem: Fix ib_umem_find_best_pgsz() for mappings that cross a page boundary (Kamal Heib) [1931846] - RDMA: Make counters destroy symmetrical (Kamal Heib) [1931846] - RDMA: Restore ability to return error for destroy WQ (Kamal Heib) [1931846] - RDMA: Change XRCD destroy return value (Kamal Heib) [1931846] - RDMA: Allow fail of destroy CQ (Kamal Heib) [1931846] - RDMA/core: Delete function indirection for alloc/free kernel CQ (Kamal Heib) [1931846] - RDMA: Restore ability to fail on SRQ destroy (Kamal Heib) [1931846] - RDMA/mlx5: Issue FW command to destroy SRQ on reentry (Kamal Heib) [1931846] - RDMA: Restore ability to fail on AH destroy (Kamal Heib) [1931846] - RDMA: Restore ability to fail on PD deallocate (Kamal Heib) [1931846] - RDMA/core: Change how failing destroy is handled during uobj abort (Kamal Heib) [1931846] - RDMA/ucma: Fix resource leak on error path (Kamal Heib) [1931846] - RDMA/rxe: Address an issue with hardened user copy (Kamal Heib) [1931846] - RDMA/rxe: Add SPDX hdrs to rxe source files (Kamal Heib) [1931846] - RDMA/core: Trigger a WARN_ON if the driver causes uobjects to become leaked (Kamal Heib) [1931846] - RDMA/rxe: Fix style warnings (Kamal Heib) [1931846] - RDMA/ucma: Remove closing and the close_wq (Kamal Heib) [1931846] - RDMA/ucma: Rework how new connections are passed through event delivery (Kamal Heib) [1931846] - RDMA/ucma: Narrow file->mut in ucma_event_handler() (Kamal Heib) [1931846] - RDMA/ucma: Change backlog into an atomic (Kamal Heib) [1931846] - RDMA/ucma: Add missing locking around rdma_leave_multicast() (Kamal Heib) [1931846] - RDMA/ucma: Fix locking for ctx->events_reported (Kamal Heib) [1931846] - RDMA/ucma: Fix the locking of ctx->file (Kamal Heib) [1931846] - RDMA/ucma: Do not use file->mut to lock destroying (Kamal Heib) [1931846] - RDMA/cma: Add missing locking to rdma_accept() (Kamal Heib) [1931846] - RDMA/ucma: Remove mc_list and rely on xarray (Kamal Heib) [1931846] - RDMA/ucma: Fix error cases around ucma_alloc_ctx() (Kamal Heib) [1931846] - RDMA/ucma: Consolidate the two destroy flows (Kamal Heib) [1931846] - RDMA/ucma: Remove unnecessary locking of file->ctx_list in close (Kamal Heib) [1931846] - RDMA/ucma: Fix refcount 0 incr in ucma_get_ctx() (Kamal Heib) [1931846] - RDMA/cm: Add tracepoints to track MAD send operations (Kamal Heib) [1931846] - RDMA/cm: Replace pr_debug() call sites with tracepoints (Kamal Heib) [1931846] - RDMA/core: Move the rdma_show_ib_cm_event() macro (Kamal Heib) [1931846] - RDMA/efa: Remove redundant udata check from alloc ucontext response (Kamal Heib) [1931846] - RDMA/vmw_pvrdma: Fix kernel-doc documentation (Kamal Heib) [1931846] - RDMA/rxe: prevent rxe creation on top of vlan interface (Kamal Heib) [1931846] - RDMA/cm: Remove unused cm_class (Kamal Heib) [1931846] - IB/isert: remove duplicated error prints (Kamal Heib) [1931846] - RDMA/efa: Introduce SRD RNR retry (Kamal Heib) [1931846] - RDMA/efa: Introduce SRD QP state machine (Kamal Heib) [1931846] - RDMA/efa: Be consistent with modify QP bitmask (Kamal Heib) [1931846] - RDMA/efa: Add a generic capability check helper (Kamal Heib) [1931846] - RDMA: Remove constant domain argument from flow creation call (Kamal Heib) [1931846] - RDMA/i40iw: Avoid typecast from void to pci_dev (Kamal Heib) [1931846] - sched/uclamp: Add CPU's clamp buckets refcounting (Kamal Heib) [1931846] - overflow: Include header file with SIZE_MAX declaration (Kamal Heib) [1931846] - treewide: Use fallthrough pseudo-keyword (Kamal Heib) [1931846] - IB/hfi1: Use fallthrough pseudo-keyword (Kamal Heib) [1931846] - treewide: replace '---help---' in Kconfig files with 'help' (Kamal Heib) [1931846] - remove ioremap_nocache and devm_ioremap_nocache (Kamal Heib) [1931846]- ethtool: pause: make sure we init driver stats (Ivan Vecera) [1935611] - ethtool: correct policy for ETHTOOL_MSG_CHANNELS_SET (Ivan Vecera) [1935611] - ethtool: strset: allow ETHTOOL_A_STRSET_COUNTS_ONLY attr (Ivan Vecera) [1935611] - ethtool: specify which header flags are supported per command (Ivan Vecera) [1935611] - ethtool: link up ethnl_header_policy as a nested policy (Ivan Vecera) [1935611] - ethtool: trim policy tables (Ivan Vecera) [1935611] - ethtool: wire up set policies to ops (Ivan Vecera) [1935611] - ethtool: wire up get policies to ops (Ivan Vecera) [1935611] - netdevsim: fix duplicated debugfs directory (Ivan Vecera) [1935611] - selftests: add a test for ethtool pause stats (Ivan Vecera) [1935611] - netdevsim: add pause frame stats (Ivan Vecera) [1935611] - docs: net: include the new ethtool pause stats in the stats doc (Ivan Vecera) [1935611] - ethtool: add standard pause stats (Ivan Vecera) [1935611] - net: tighten the definition of interface statistics (Ivan Vecera) [1935611]- PCI: hv: Fix typo (Mohammed Gamal) [1940924] - asm-generic/hyperv: change HV_CPU_POWER_MANAGEMENT to HV_CPU_MANAGEMENT (Mohammed Gamal) [1940925] - x86/hyperv: detect if Linux is the root partition (Mohammed Gamal) [1940925] - hyperv: hyperv.h: drop a duplicated word (Mohammed Gamal) [1940925] - hyper-v: Remove internal types from UAPI header (Mohammed Gamal) [1940925] - x86/hyperv: Load/save the Isolation Configuration leaf (Mohammed Gamal) [1940925] - x86/hyperv: Initialize clockevents after LAPIC is initialized (Mohammed Gamal) [1940925] - x86/hyperv: check cpu mask after interrupt has been disabled (Mohammed Gamal) [1940925] - x86/hyperv: Fix kexec panic/hang issues (Mohammed Gamal) [1940925] - video: hyperv_fb: Fix a double free in hvfb_probe (Mohammed Gamal) [1940922] - uio: uio_hv_generic: use devm_kzalloc() for private data alloc (Mohammed Gamal) [1940922] - Avoid macro redefinition in compiler-{clang,gcc}.h (Jerome Marchand) [1907271] - x86/split_lock: Add Icelake microserver and Tigerlake CPU models (Prarit Bhargava) [1847576] - tools/power/x86/intel-speed-select: Update version to 1.8 (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Add new command to get/set TRL (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Add new command turbo-mode (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Set higher of cpuinfo_max_freq or base_frequency (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Set scaling_max_freq to base_frequency (Prarit Bhargava) [1921801] - platform/x86: ISST: Mark mmio_range_devid_0 and mmio_range_devid_1 with static keyword (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Update version for v5.11 (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Account for missing sysfs for die_id (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Read TRL from mailbox (Prarit Bhargava) [1921801] - platform/x86: ISST: Change PCI device macros (Prarit Bhargava) [1921801] - platform/x86: ISST: Allow configurable offset range (Prarit Bhargava) [1921801] - platform/x86: ISST: Check for unaligned mmio address (Prarit Bhargava) [1921801] - tools/power/turbostat: Fallback to an MSR read for EPB (Prarit Bhargava) [1926913] - tools/power/turbostat: Read energy_perf_bias from sysfs (Prarit Bhargava) [1926913] - Bluetooth: btusb: Add workaround for remote-wakeup issues with Barrot 8041a02 fake CSR controllers (Gopal Tiwari) [1946951] - Bluetooth: btusb: Fix detection of some fake CSR controllers with a bcdDevice val of 0x0134 (Gopal Tiwari) [1946951] - Bluetooth: btusb: support download nvm with different board id for wcn6855 (Gopal Tiwari) [1946951] - Bluetooth: btmtksdio: Add the missed release_firmware() in mtk_setup_firmware() (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add the missed release_firmware() in btusb_mtk_setup_firmware() (Gopal Tiwari) [1946951] - Bluetooth: btusb: Support 0bda:c123 Realtek 8822CE device (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: Add OBDA0623 ACPI HID (Gopal Tiwari) [1946951] - Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Wait for timeout during suspend (Gopal Tiwari) [1946951] - Bluetooth: btrtl: fix incorrect skb allocation failure check (Gopal Tiwari) [1946951] - Bluetooth: hci_ll: add a small delay for wl1271 enable bt_en (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add support for 1358:c123 Realtek 8822CE device (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: resolve various warnings (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Enhance retry logic in qca_setup (Gopal Tiwari) [1946951] - Bluetooth: btusb: btrtl: Add support for RTL8852A (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add support for 13d3:3560 MediaTek MT7615E device (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: fix memory leak in h5_close (Gopal Tiwari) [1946951] - Bluetooth: btrtl: Ask 8821C to drop old firmware (Gopal Tiwari) [1946951] - Bluetooth: btrtl: Refine the ic_id_table for clearer and more regular (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add the more support IDs for Realtek RTL8822CE (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: close serdev device and free hu in h5_close (Gopal Tiwari) [1946951] - Bluetooth: btintel: Replace zero-length array with flexible-array member (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add Qualcomm Bluetooth SoC WCN6855 support (Gopal Tiwari) [1946951] - Bluetooth: btusb: Enable wide band speech support for BTUSB_QCA_ROME (Gopal Tiwari) [1946951] - Bluetooth: hci_serdev: Close UART port if NON_PERSISTENT_SETUP is set (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Remove duplicate power off in proto close (Gopal Tiwari) [1946951] - Bluetooth: hci_intel: enable on new platform (Gopal Tiwari) [1946951] - Bluetooth: btmtksdio: use NULL instead of zero (Gopal Tiwari) [1946951] - Bluetooth: hci_intel: switch to list_for_each_entry() (Gopal Tiwari) [1946951] - Bluetooth: hci_intel: drop strange le16_to_cpu() against u8 values (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: remove redundant null check (Gopal Tiwari) [1946951] - Bluetooth: btusb: Fix memleak in btusb_mtk_submit_wmt_recv_urb (Gopal Tiwari) [1946951] - Bluetooth: hci_uart: Cancel init work before unregistering (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: Remove ignored flag HCI_UART_RESET_ON_INIT (Gopal Tiwari) [1946951] - Bluetooth: btmrvl: eliminate duplicates introducing btmrvl_reg_89xx (Gopal Tiwari) [1946951] - Revert "Bluetooth: btusb: Disable runtime suspend on Realtek devices" (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Stop collecting memdump again for command timeout during SSR (Gopal Tiwari) [1946951] - Bluetooth: hci_serdev: Only unregister device if it was registered (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: Set HCI_UART_RESET_ON_INIT to correct flags (Gopal Tiwari) [1946951] - Bluetooth: btusb: Fix and detect most of the Chinese Bluetooth controllers (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Bug fixes for SSR (Gopal Tiwari) [1946951] - Bluetooth: btusb: add Realtek 8822CE to usb_device_id table (Gopal Tiwari) [1946951] - Bluetooth: btusb: USB alternate setting 1 for WBS (Gopal Tiwari) [1946951] - Bluetooth: btusb: Comment on unbalanced pm reference (Gopal Tiwari) [1946951] - Bluetooth: btusb: BTUSB_WAKEUP_DISABLE prevents wake (Gopal Tiwari) [1946951] - Bluetooth: btusb: Reset port on cmd timeout (Gopal Tiwari) [1946951] - Bluetooth: btmtksdio: fix up firmware download sequence (Gopal Tiwari) [1946951] - Bluetooth: btusb: fix up firmware download sequence (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Disable SoC debug logging for WCN3991 (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Increase SoC idle timeout to 200ms (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Request Tx clock vote off only when Tx is pending (Gopal Tiwari) [1946951] - Bluetooth: btmrvl_sdio: Refactor irq wakeup (Gopal Tiwari) [1946951] - Bluetooth: btmrvl_sdio: Implement prevent_wake (Gopal Tiwari) [1946951] - Bluetooth: btmrvl_sdio: Set parent dev to hdev (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Bug fix during SSR timeout (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Refactor error handling in qca_suspend() (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Skip serdev wait when no transfer is pending (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Only remove TX clock vote after TX is completed (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Simplify determination of serial clock on/off state from votes (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix an error pointer dereference (Gopal Tiwari) [1946951] - btmrvl: Fix firmware filename for sd8977 chipset (Gopal Tiwari) [1946951] - btmrvl: Fix firmware filename for sd8997 chipset (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix QCA6390 memdump failure (Gopal Tiwari) [1946951] - Bluetooth: btmtkuart: Use serdev_device_write_buf() instead of serdev_device_write() (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Improve controller ID info log level (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix qca6390 enable failure after warm reboot (Gopal Tiwari) [1946951] - Bluetooth: btmtkuart: Improve exception handling in btmtuart_probe() (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix suspend/resume functionality failure (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Added 003.006.007, changed 001.003.015 (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix uninitialized access to hdev (Gopal Tiwari) [1946951] - Bluetooth: serdev: Constify serdev_device_ops (Gopal Tiwari) [1946951] - Bluetooth: Add hook for driver to prevent wake from suspend (Gopal Tiwari) [1946951] - Bluetooth: btusb: Implement hdev->prevent_wake (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: Add support for binding RTL8723BS with device tree (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: allow max-speed to be set for QCA9377 devices (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: add compatible for QCA9377 (Gopal Tiwari) [1946951] - Bluetooth: btusb: Adding support for LE scatternet to Jfp and ThP (Gopal Tiwari) [1946951] - Bluetooth: Adding driver and quirk defs for multi-role LE (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Add 2 missing models to subver tables (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Move setting of USE_BDADDR_PROPERTY quirk to hci_bcm.c (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Try multiple Patch filenames when loading the Patch firmware (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Bail sooner from btbcm_initialize() when not loading fw (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Drop upper nibble version check from btbcm_initialize() (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Make btbcm_setup_patchram use btbcm_finalize (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Make btbcm_initialize() print local-name on re-init too (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Fold Patch loading + applying into btbcm_initialize() (Gopal Tiwari) [1946951] - Bluetooth: btrtl: Add support for RTL8761B (Gopal Tiwari) [1946951] - Bluetooth: btusb: check for NULL in btusb_find_altsetting() (Gopal Tiwari) [1946951] - Bluetooth: btusb: handle mSBC audio over USB Endpoints (Gopal Tiwari) [1946951] - Bluetooth: add support to notify using SCO air mode (Gopal Tiwari) [1946951] - Bluetooth: hci_bcm: respect IRQ polarity from DT (Gopal Tiwari) [1946951] - Bluetooth: hci_bcm: fix freeing not-requested IRQ (Gopal Tiwari) [1946951] - intel_idle: remove definition of DEBUG (David Arcari) [1926917] - intel_idle: Build fix (David Arcari) [1926917] - cpufreq: ACPI: Set cpuinfo.max_freq directly if max boost is known (Phil Auld) [1937103] - cpufreq: ACPI: Update arch scale-invariance max perf ratio if CPPC is not there (Phil Auld) [1937103] - cpufreq: ACPI: Extend frequency tables to cover boost frequencies (Phil Auld) [1937103] - sched/uclamp: Add CPU's clamp buckets refcounting (Phil Auld) [1937103] - x86: PM: Register syscore_ops for scale invariance (Phil Auld) [1937103] - sched/fair: Reduce cases for active balance (Phil Auld) [1937103] - sched/fair: Don't set LBF_ALL_PINNED unnecessarily (Phil Auld) [1937103] - sched/fair: Skip idle cfs_rq (Phil Auld) [1937103] - tick/sched: Make jiffies update quick check more robust (Phil Auld) [1937103] - sched/fair: Trivial correction of the newidle_balance() comment (Phil Auld) [1937103] - sched/fair: Clear SMT siblings after determining the core is not idle (Phil Auld) [1937103] - sched: Fix kernel-doc markup (Phil Auld) [1937103] - x86: Print ratio freq_max/freq_base used in frequency invariance calculations (Phil Auld) [1937103] - x86, sched: Use midpoint of max_boost and max_P for frequency invariance on AMD EPYC (Phil Auld) [1937103] - x86, sched: Calculate frequency invariance for AMD systems (Phil Auld) [1937103] - sched: Limit the amount of NUMA imbalance that can exist at fork time (Phil Auld) [1937103] - sched/numa: Allow a floating imbalance between NUMA nodes (Phil Auld) [1937103] - sched: Avoid unnecessary calculation of load imbalance at clone time (Phil Auld) [1937103] - sched/numa: Rename nr_running and break out the magic number (Phil Auld) [1937103] - sched/topology: Condition EAS enablement on FIE support (Phil Auld) [1937103] - sched/topology: Don't enable EAS on SMT systems (Phil Auld) [1937103] - sched/topology,schedutil: Wrap sched domains rebuild (Phil Auld) [1937103] - sched/core: Fix typos in comments (Phil Auld) [1937103] - sched: Fix rq->nr_iowait ordering (Phil Auld) [1937103] - sched: Fix data-race in wakeup (Phil Auld) [1937103] - sched/fair: Fix overutilized update in enqueue_task_fair() (Phil Auld) [1937103] - sched/fair: Dissociate wakeup decisions from SD flag value (Phil Auld) [1937103] - sched: Remove select_task_rq()'s sd_flag parameter (Phil Auld) [1937103] - sched: Add WF_TTWU, WF_EXEC wakeup flags (Phil Auld) [1937103] - sched/fair: Remove superfluous lock section in do_sched_cfs_slack_timer() (Phil Auld) [1937103] - sched/fair: Ensure tasks spreading in LLC during LB (Phil Auld) [1937103] - sched/fair: Reorder throttle_cfs_rq() path (Phil Auld) [1937103] - sched/fair: Check for idle core in wake_affine (Phil Auld) [1937103] - sched: Reenable interrupts in do_sched_yield() (Phil Auld) [1937103] - sched/fair: Improve the accuracy of sched_stat_wait statistics (Phil Auld) [1937103] - sched/fair: Tweak pick_next_entity() (Phil Auld) [1937103] - sched/debug: Add new tracepoint to track cpu_capacity (Phil Auld) [1937103] - sched/fair: Remove the force parameter of update_tg_load_avg() (Phil Auld) [1937103] - sched/rt: Disable RT_RUNTIME_SHARE by default (Phil Auld) [1937103] - sched: Cache task_struct::flags in sched_submit_work() (Phil Auld) [1937103] - sched/fair: Simplify the work when reweighting entity (Phil Auld) [1937103] - sched/fair: Fix wrong negative conversion in find_energy_efficient_cpu() (Phil Auld) [1937103] - sched/fair: Ignore cache hotness for SMT migration (Phil Auld) [1937103] - sched: Use __always_inline on is_idle_task() (Phil Auld) [1937103] - treewide: Use fallthrough pseudo-keyword (Phil Auld) [1937103] - sched/debug: Fix the alignment of the show-state debug output (Phil Auld) [1937103] - x86, sched: Bail out of frequency invariance if turbo_freq/base_freq gives 0 (Phil Auld) [1937103] - x86, sched: Bail out of frequency invariance if turbo frequency is unknown (Phil Auld) [1937103] - x86, sched: check for counters overflow in frequency invariant accounting (Phil Auld) [1937103] - exit: Move preemption fixup up, move blocking operations down (Phil Auld) [1937103] - net: bonding: remove repeated word (Jarod Wilson) [1936982] - net: bonding: Correct function name bond_change_active_slave() in comment (Jarod Wilson) [1936982] - bonding: Added -ENODEV interpret for slaves option (Jarod Wilson) [1936982] - bonding: 3ad: Print an error for unknown speeds (Jarod Wilson) [1936982] - bonding: 3ad: add support for 400G speed (Jarod Wilson) [1936982] - bonding: 3ad: add support for 200G speed (Jarod Wilson) [1936982] - net/bonding: Declare TLS RX device offload support (Jarod Wilson) [1936982] - net/bonding: Implement TLS TX device offload (Jarod Wilson) [1936982] - net/bonding: Take update_features call out of XFRM funciton (Jarod Wilson) [1936982] - net/bonding: Implement ndo_sk_get_lower_dev (Jarod Wilson) [1936982] - net/bonding: Take IP hash logic into a helper (Jarod Wilson) [1936982] - net: bonding: Notify ports about their initial state (Jarod Wilson) [1936982] - bonding: wait for sysfs kobject destruction before freeing struct slave (Jarod Wilson) [1936982] - bonding: advertise NETIF_F_GSO_SOFTWARE (Jarod Wilson) [1936982] - net/tls: Except bond interface from some TLS checks (Jarod Wilson) [1936982] - net/tls: Device offload to use lowest netdevice in chain (Jarod Wilson) [1936982] - ethtool: Add common function for filling out strings (Ivan Vecera) [1950987] - selftests: forwarding: vxlan_bridge_1d: Fix vxlan ecn decapsulate value (Hangbin Liu) [1949349] - selftests: forwarding: Fix race condition in mirror installation (Hangbin Liu) [1949349] - selftests: txtimestamp: fix compilation issue (Hangbin Liu) [1949349] - selftests: net: fib_tests: remove duplicate log test (Hangbin Liu) [1949349] - selftests: xfrm: fix test return value override issue in xfrm_policy.sh (Hangbin Liu) [1949349] - selftests: rtnetlink: load fou module for kci_test_encap_fou() test (Hangbin Liu) [1949349] - vxlan: move debug check after netdev unregister (Guillaume Nault) [1949167] - net: ip: always refragment ip defragmented packets (Guillaume Nault) [1949167] - net: fix pmtu check in nopmtudisc mode (Guillaume Nault) [1949167] - net: udp: make udp_tunnel_nic_info structure extensible (Ivan Vecera) [1948450] - macvlan: macvlan_count_rx() needs to be aware of preemption (Antoine Tenart) [1950012] - macvlan: remove redundant null check on data (Antoine Tenart) [1950012] - net: fix dev_ifsioc_locked() race condition (Antoine Tenart) [1950234] - ipv6: weaken the v4mapped source check (Hangbin Liu) [1949499] - ipv6: set multicast flag on the multicast route (Hangbin Liu) [1949499] - ipv6: create multicast route with RTPROT_KERNEL (Hangbin Liu) [1949499] - net: ipv6: Validate GSO SKB before finish IPv6 processing (Hangbin Liu) [1949499] - net: sit: unregister_netdevice on newlink's error path (Hangbin Liu) [1949499] - net: ip6_gre: fix moving ip6gre between namespaces (Hangbin Liu) [1949499] - gso: validate gso_type on ipip style tunnels (Hangbin Liu) [1949499] - net: page_pool: simplify page recycling condition tests (Ivan Vecera) [1935698] - net: use the new dev_page_is_reusable() instead of private versions (Ivan Vecera) [1935698] - net: introduce common dev_page_is_reusable() (Ivan Vecera) [1935698] - skbuff: constify skb_propagate_pfmemalloc() "page" argument (Ivan Vecera) [1935698] - mm: constify page_is_pfmemalloc() argument (Ivan Vecera) [1935698] - genetlink: allow dumping command-specific policy (Ivan Vecera) [1938919] - genetlink: properly support per-op policy dumping (Ivan Vecera) [1938919] - genetlink: factor skb preparation out of ctrl_dumppolicy() (Ivan Vecera) [1938919] - netlink: rework policy dump to support multiple policies (Ivan Vecera) [1938919] - netlink: compare policy more accurately (Ivan Vecera) [1938919] - genetlink: switch control commands to per-op policies (Ivan Vecera) [1938919] - genetlink: use parsed attrs in dumppolicy (Ivan Vecera) [1938919] - taskstats: move specifying netlink policy back to ops (Ivan Vecera) [1938919] - genetlink: bring back per op policy (Ivan Vecera) [1938919] - genetlink: use .start callback for dumppolicy (Ivan Vecera) [1938919] - genetlink: add a structure for dump state (Ivan Vecera) [1938919] - genetlink: move to smaller ops wherever possible (Ivan Vecera) [1938919] - genetlink: add small version of ops (Ivan Vecera) [1938919] - netlink: fix policy dump leak (Ivan Vecera) [1938919] - genetlink: get rid of family->attrbuf (Ivan Vecera) [1938919] - genetlink: clean up family attributes allocations (Ivan Vecera) [1938919] - genetlink: fix memory leaks in genl_family_rcv_msg_dumpit() (Ivan Vecera) [1938919] - net: genetlink: return the error code when attribute parsing fails. (Ivan Vecera) [1938919] - genetlink: do not parse attributes for families with zero maxattr (Ivan Vecera) [1938919] - net: tipc: prepare attrs in __tipc_nl_compat_dumpit() (Ivan Vecera) [1938919] - net: genetlink: always allocate separate attrs for dumpit ops (Ivan Vecera) [1938919] - net: genetlink: remove unused genl_family_attrbuf() (Ivan Vecera) [1938919] - net: tipc: allocate attrs locally instead of using genl_family_attrbuf in compat_dumpit() (Ivan Vecera) [1938919] - net: tipc: have genetlink code to parse the attrs during dumpit (Ivan Vecera) [1938919] - net: nfc: have genetlink code to parse the attrs during dumpit (Ivan Vecera) [1938919] - net: ieee802154: have genetlink code to parse the attrs during dumpit (Ivan Vecera) [1938919] - net: genetlink: parse attrs and store in contect info struct during dumpit (Ivan Vecera) [1938919] - net: genetlink: push attrbuf allocation and parsing to a separate function (Ivan Vecera) [1938919] - net: genetlink: introduce dump info struct to be available during dumpit op (Ivan Vecera) [1938919] - net: genetlink: push doit/dumpit code from genl_family_rcv_msg (Ivan Vecera) [1938919] - devlink: Use controller while building phys_port_name (Petr Oros) [1935615] - devlink: Introduce controller number (Petr Oros) [1935615] - devlink: Introduce external controller flag (Petr Oros) [1935615] - devlink: Move structure comments outside of structure (Petr Oros) [1935615] - devlink: Add comment block for missing port attributes (Petr Oros) [1935615] - net/mlx5: E-switch, Read controller number from device (Petr Oros) [1935615] - devlink: don't crash if netdev is NULL (Petr Oros) [1935615] - vdpa/mlx5: Use write memory barrier after updating CQ index (Jason Wang) [1877270] - vhost_vdpa: return -EFAULT if copy_to_user() fails (Jason Wang) [1877270] - vdpa: mlx5: fix vdpa/vhost dependencies (Jason Wang) [1877270] - vhost-vdpa: fix page pinning leakage in error path (rework) (Jason Wang) [1877270] - vdpasim: fix "mac_pton" undefined error (Jason Wang) [1877270] - vdpasim: allow to assign a MAC address (Jason Wang) [1877270] - vdpasim: fix MAC address configuration (Jason Wang) [1877270] - vdpa: handle irq bypass register failure case (Jason Wang) [1877270] - vdpa_sim: Fix DMA mask (Jason Wang) [1877270] - Revert "vhost-vdpa: fix page pinning leakage in error path" (Jason Wang) [1877270] - vdpa/mlx5: Fix error return in map_direct_mr() (Jason Wang) [1877270] - vhost_vdpa: Return -EFAULT if copy_from_user() fails (Jason Wang) [1877270] - vdpa_sim: implement get_iova_range() (Jason Wang) [1877270] - vhost: vdpa: report iova range (Jason Wang) [1877270] - vdpa: introduce config op to get valid iova range (Jason Wang) [1877270] - vhost_vdpa: remove unnecessary spin_lock in vhost_vring_call (Jason Wang) [1877270] - vdpa/mlx5: Setup driver only if VIRTIO_CONFIG_S_DRIVER_OK (Jason Wang) [1877270] - vhost_vdpa: Fix duplicate included kernel.h (Jason Wang) [1877270] - vdpa/mlx5: Fix failure to bring link up (Jason Wang) [1877270] - vdpa/mlx5: Make use of a specific 16 bit endianness API (Jason Wang) [1877270] - vdpa/mlx5: Fix dependency on MLX5_CORE (Jason Wang) [1877270] - vdpa/mlx5: should keep avail_index despite device status (Jason Wang) [1877270] - vhost-vdpa: fix page pinning leakage in error path (Jason Wang) [1877270] - vhost-vdpa: fix vhost_vdpa_map() on error condition (Jason Wang) [1877270] - vhost vdpa: fix vhost_vdpa_open error handling (Jason Wang) [1877270] - vhost-vdpa: fix backend feature ioctls (Jason Wang) [1877270] - vdpa/mlx5: Avoid warnings about shifts on 32-bit platforms (Jason Wang) [1877270] - vdpa: ifcvf: free config irq in ifcvf_free_irq() (Jason Wang) [1877270] - vdpa: ifcvf: return err when fail to request config irq (Jason Wang) [1877270] - vdpa/mlx5: fix up endian-ness for mtu (Jason Wang) [1877270] - vdpa: Fix pointer math bug in vdpasim_get_config() (Jason Wang) [1877270] - vdpa/mlx5: Fix pointer math in mlx5_vdpa_get_config() (Jason Wang) [1877270] - mlx5: vdpa: fix possible uninitialized var (Jason Wang) [1877270] - vdpa/mlx5: fix memory allocation failure checks (Jason Wang) [1877270] - vdpa/mlx5: Fix uninitialised variable in core/mr.c (Jason Wang) [1877270] - vdpa_sim: init iommu lock (Jason Wang) [1877270] - redhat: enable mlx5e vDPA driver (Jason Wang) [1877270] - vdpa/mlx5: Add VDPA driver for supported mlx5 devices (Jason Wang) [1877270] - vdpa/mlx5: Add shared memory registration code (Jason Wang) [1877270] - vdpa/mlx5: Add support library for mlx5 VDPA implementation (Jason Wang) [1877270] - vdpa/mlx5: Add hardware descriptive header file (Jason Wang) [1877270] - vdpa: Modify get_vq_state() to return error code (Jason Wang) [1877270] - net/vdpa: Use struct for set/get vq state (Jason Wang) [1877270] - vdpa: remove hard coded virtq num (Jason Wang) [1877270] - vdpasim: support batch updating (Jason Wang) [1877270] - vhost-vdpa: support IOTLB batching hints (Jason Wang) [1877270] - vhost-vdpa: support get/set backend features (Jason Wang) [1877270] - vhost: generialize backend features setting/getting (Jason Wang) [1877270] - vhost-vdpa: refine ioctl pre-processing (Jason Wang) [1877270] - vDPA: dont change vq irq after DRIVER_OK (Jason Wang) [1877270] - ifcvf: implement vdpa_config_ops.get_vq_irq() (Jason Wang) [1877270] - vhost_vdpa: implement IRQ offloading in vhost_vdpa (Jason Wang) [1877270] - vDPA: add get_vq_irq() in vdpa_config_ops (Jason Wang) [1877270] - vhost: introduce vhost_vring_call (Jason Wang) [1877270] - vdpasim: protect concurrent access to iommu iotlb (Jason Wang) [1877270] - vhost: vdpa: remove per device feature whitelist (Jason Wang) [1877270] - vdpa_sim: fix endian-ness of config space (Jason Wang) [1877270] - virtio_vdpa: legacy features handling (Jason Wang) [1877270] - vhost/vdpa: switch to new helpers (Jason Wang) [1877270] - vdpa: make sure set_features is invoked for legacy (Jason Wang) [1877270] - vhost_vdpa: Fix potential underflow in vhost_vdpa_mmap() (Jason Wang) [1877270] - vdpa: fix typos in the comments for __vdpa_alloc_device() (Jason Wang) [1877270] - ifcvf: implement config interrupt in IFCVF (Jason Wang) [1877270] - vhost: replace -1 with VHOST_FILE_UNBIND in ioctls (Jason Wang) [1877270] - vhost_vdpa: Support config interrupt in vdpa (Jason Wang) [1877270] - ifcvf: ignore continuous setting same status value (Jason Wang) [1877270] - vdpasim: Fix some coccinelle warnings (Jason Wang) [1877270] - ifcvf: move IRQ request/free to status change handlers (Jason Wang) [1877270] - vhost_vdpa: disable doorbell mapping for !MMU (Jason Wang) [1877270] - vhost_vdpa: support doorbell mapping via mmap (Jason Wang) [1877270] - vdpa: introduce get_vq_notification method (Jason Wang) [1877270] - vhost: use mmgrab() instead of mmget() for non worker device (Jason Wang) [1877270] - vhost: allow device that does not depend on vhost worker (Jason Wang) [1877270] - vhost: revert "vhost: disable for OABI" (Jason Wang) [1877270] - vdpasim: remove unused variable 'ret' (Jason Wang) [1877270] - vhost: remove set but not used variable 'status' (Jason Wang) [1877270] - vhost: vdpa: remove unnecessary null check (Jason Wang) [1877270] - virtio/test: fix up after IOTLB changes (Jason Wang) [1877270] - vhost/test: fix build for vhost test (Jason Wang) [1877270] - tools/virtio: option to build an out of tree module (Jason Wang) [1877270] - vhost/test: fix build for vhost test (Jason Wang) [1877270] - vhost: fix VHOST_GET_BACKEND_FEATURES ioctl request definition (Jason Wang) [1877270] - perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3 (Michael Petlan) [1950388]- redhat/configs/editconfig: Add support for a bugzilla entry (David Arcari) - tools/power turbostat: Revert "[tools] tools/power turbostat: Enable accumulate RAPL display" (Prarit Bhargava) [1944699] - mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start (Jarod Wilson) [1914996] {CVE-2020-36158} - net/mlx5e: Allow to match on MPLS parameters only for MPLS over UDP (Alaa Hleihel) [1932839 1936742] - net/mlx5e: Reject tc rules which redirect from a VF to itself (Alaa Hleihel) [1932839] - net/mlx5: CT: Add support for matching on ct_state inv and rel flags (Alaa Hleihel) [1932839 1942681] - net: openvswitch: add log message for error case (Eelco Chaudron) [1937697] - net: openvswitch: conntrack: simplify the return expression of ovs_ct_limit_get_default_limit() (Eelco Chaudron) [1937697] - net: openvswitch: Be liberal in tcp conntrack. (Eelco Chaudron) [1937697] - netfilter: conntrack: tcp: only close if RST matches exact sequence (Eelco Chaudron) [1937697] - openvswitch: Use IS_ERR instead of IS_ERR_OR_NULL (Eelco Chaudron) [1937697] - net: openvswitch: Fix kerneldoc warnings (Eelco Chaudron) [1937697] - net: openvswitch: remove unnecessary ASSERT_OVSL in ovs_vport_del() (Eelco Chaudron) [1937697] - cifs: revalidate mapping when we open files for SMB1 POSIX (Ronnie Sahlberg) [1933527] - Revert "vfs: Allow userns root to call mknod on owned filesystems." (Alexey Gladkov) [1902543] - mfd: intel-lpss: Add Intel Alder Lake PCH-S PCI IDs (David Arcari) [1840244] - nvme: retrigger ANA log update if group descriptor isn't found (Gopal Tiwari) [1910493] - locking/qrwlock: Fix ordering in queued_write_lock_slowpath() (Waiman Long) [1950110] - PCI: switchtec: Add missing __iomem tag to fix sparse warnings (Myron Stowe) [1946645] - PCI: switchtec: Add missing __iomem and __user tags to fix sparse warnings (Myron Stowe) [1946645] - PCI: Release IVRS table in AMD ACS quirk (Myron Stowe) [1946645] - PCI/MSI: Forward MSI-X error code in pci_alloc_irq_vectors_affinity() (Myron Stowe) [1946645] - PCI: Remove unused pci_lost_interrupt() (Myron Stowe) [1946645] - PCI: Move PCI_VENDOR_ID_REDHAT definition to pci_ids.h (Myron Stowe) [1946645] - PCI: Fix error in panic message (Myron Stowe) [1946645] - PCI: Replace lkml.org, spinics, gmane with lore.kernel.org (Myron Stowe) [1946645] - PCI: Replace http:// links with https:// (Myron Stowe) [1946645] - PCI: exynos: Rename Exynos to lowercase (Myron Stowe) [1946645] - PCI: Align PCIe capability and PCI accessor return values (Myron Stowe) [1946645] - PCI: Convert PCIe capability PCIBIOS errors to errno (Myron Stowe) [1946645] - PCI: rpadlpar: Make functions static (Myron Stowe) [1946645] - PCI: Fix pci_slot_release() NULL pointer dereference (Myron Stowe) [1946645] - PCI: Fix pci_create_slot() reference count leak (Myron Stowe) [1946645] - PCI: Announce device after early fixups (Myron Stowe) [1946645] - PCI: Always enable ACS even if no ACS Capability (Myron Stowe) [1946645] - PCI: Cache ACS capability offset in device (Myron Stowe) [1946645] - PCI: Reorder pci_enable_acs() and dependencies (Myron Stowe) [1946645] - PCI: Add device even if driver attach failed (Myron Stowe) [1946645] - PCI: Fix pci_cfg_wait queue locking problem (Myron Stowe) [1946645] - PCI/ASPM: Add missing newline in sysfs 'policy' (Myron Stowe) [1946645]- gfs2: report "already frozen/thawed" errors (Bob Peterson) [1932236] - gfs2: move freeze glock outside the make_fs_rw and _ro functions (Bob Peterson) [1932236] - gfs2: Add common helper for holding and releasing the freeze glock (Bob Peterson) [1932236] - gfs2: in signal_our_withdraw wait for unfreeze of _this_ fs only (Bob Peterson) [1932236] - gfs2: Don't freeze the file system during unmount (Bob Peterson) [1932236] - gfs2: Fix regression in freeze_go_sync (Bob Peterson) [1932236] - gfs2: The freeze glock should never be frozen (Bob Peterson) [1932236] - gfs2: When freezing gfs2, use GL_EXACT and not GL_NOCACHE (Bob Peterson) [1932236] - gfs2: Abort gfs2_freeze if io error is seen (Bob Peterson) [1932236] - gfs2: read-only mounts should grab the sd_freeze_gl glock (Bob Peterson) [1932236] - gfs2: freeze should work on read-only mounts (Bob Peterson) [1932236] - bpf: Mark LSM link with rh_mark_used_feature call (Jiri Olsa) [1901039] - Revert "[tools] bpf: selftests: remove test_progs LSM test" (Ondrej Mosnacek) [1901039] - configs: enable BPF LSM (Ondrej Mosnacek) [1901039] - security: Fix hook iteration and default value for inode_copy_up_xattr (Ondrej Mosnacek) [1901039] - security: Fix hook iteration for secid_to_secctx (Ondrej Mosnacek) [1901039] - security: Fix the default value of secid_to_secctx hook (Ondrej Mosnacek) [1901039] - security: Fix the default value of fs_context_parse_param hook (Ondrej Mosnacek) [1901039] - bpf: lsm: Initialize the BPF LSM hooks (Ondrej Mosnacek) [1901039] - security: Refactor declaration of LSM hooks (Ondrej Mosnacek) [1901039] - LSM: fix documentation for the shm_* hooks (Ondrej Mosnacek) [1901039] - LSM: fix documentation for the sem_* hooks (Ondrej Mosnacek) [1901039] - LSM: fix documentation for the msg_queue_* hooks (Ondrej Mosnacek) [1901039] - LSM: Revive CONFIG_DEFAULT_SECURITY_* for "make oldconfig" (Ondrej Mosnacek) [1901039] - LSM: Ignore "security=" when "lsm=" is specified (Ondrej Mosnacek) [1901039] - LSM: Update function documentation for cap_capable (Ondrej Mosnacek) [1901039] - procfs: add smack subdir to attrs (Ondrej Mosnacek) [1901039] - capability: Initialize as LSM_ORDER_FIRST (Ondrej Mosnacek) [1901039] - LSM: Introduce enum lsm_order (Ondrej Mosnacek) [1901039] - Yama: Initialize as ordered LSM (Ondrej Mosnacek) [1901039] - LoadPin: Initialize as ordered LSM (Ondrej Mosnacek) [1901039] - LSM: Split LSM preparation from initialization (Ondrej Mosnacek) [1901039] - LSM: Add all exclusive LSMs to ordered initialization (Ondrej Mosnacek) [1901039] - LSM: Separate idea of "major" LSM from "exclusive" LSM (Ondrej Mosnacek) [1901039] - LSM: Refactor "security=" in terms of enable/disable (Ondrej Mosnacek) [1901039] - LSM: Prepare for reorganizing "security=" logic (Ondrej Mosnacek) [1901039] - LSM: Tie enabling logic to presence in ordered list (Ondrej Mosnacek) [1901039] - LSM: Introduce "lsm=" for boottime LSM selection (Ondrej Mosnacek) [1901039] - LSM: Introduce CONFIG_LSM (Ondrej Mosnacek) [1901039] - LSM: Build ordered list of LSMs to initialize (Ondrej Mosnacek) [1901039] - LSM: Lift LSM selection out of individual LSMs (Ondrej Mosnacek) [1901039] - LSM: Plumb visibility into optional "enabled" state (Ondrej Mosnacek) [1901039] - LSM: Provide separate ordered initialization (Ondrej Mosnacek) [1901039] - LSM: Introduce LSM_FLAG_LEGACY_MAJOR (Ondrej Mosnacek) [1901039] - LSM: Don't ignore initialization failures (Ondrej Mosnacek) [1901039] - LSM: Provide init debugging infrastructure (Ondrej Mosnacek) [1901039] - LSM: Record LSM name in struct lsm_info (Ondrej Mosnacek) [1901039] - LSM: Convert security_initcall() into DEFINE_LSM() (Ondrej Mosnacek) [1901039] - vmlinux.lds.h: Move LSM_TABLE into INIT_DATA (Ondrej Mosnacek) [1901039] - LSM: Convert from initcall to struct lsm_info (Ondrej Mosnacek) [1901039] - LSM: Remove initcall tracing (Ondrej Mosnacek) [1901039] - LSM: Rename .security_initcall section to .lsm_info (Ondrej Mosnacek) [1901039] - vmlinux.lds.h: Avoid copy/paste of security_init section (Ondrej Mosnacek) [1901039] - LSM: Correctly announce start of LSM initialization (Ondrej Mosnacek) [1901039] - proc: save 2 atomic ops on write to "/proc/*/attr/*" (Ondrej Mosnacek) [1901039] - ALSA: usb-audio: fix NULL ptr dereference in usb_audio_probe (Jaroslav Kysela) [1870724] - ALSA: usb-audio: fix use after free in usb_audio_disconnect (Jaroslav Kysela) [1870724] - ALSA: usb-audio: Disable USB autosuspend properly in setup_disable_autosuspend() (Jaroslav Kysela) [1870724] - Bluetooth: btusb: Fix the autosuspend enable and disable (Gopal Tiwari) [1927375] - flow_dissector: fix TTL and TOS dissection on IPv4 fragments (Davide Caratti) [1882607] - net: avoid infinite loop in mpls_gso_segment when mpls_hlen == 0 (Balazs Nemeth) [1922898] - net: check if protocol extracted by virtio_net_hdr_set_proto is correct (Balazs Nemeth) [1922898] - redhat/configs: Add CONFIG_PINCTRL_ALDERLAKE (David Arcari) [1840250] - pinctrl: intel: Add Intel Alder Lake-S pin controller support (David Arcari) [1840250] - cpufreq: intel_pstate: Remove repeated word (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Get per-CPU max freq via MSR_HWP_CAPABILITIES if available (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Rename two functions (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Change intel_pstate_get_hwp_max() argument (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Always read hwp_cap_cached with READ_ONCE() (Puneet Sethi) [1926919] - cpufreq: intel_pstate: remove obsolete functions (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Use HWP capabilities in intel_cpufreq_adjust_perf() (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Fix fast-switch fallback path (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Use most recent guaranteed performance values (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Implement the ->adjust_perf() callback (Puneet Sethi) [1926919] - cpufreq: Add special-purpose fast-switching callback for drivers (Puneet Sethi) [1926919] - cpufreq: schedutil: Add util to struct sg_cpu (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Simplify intel_cpufreq_update_pstate() (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Take CPUFREQ_GOV_STRICT_TARGET into account (Puneet Sethi) [1926919] - cpufreq: Add strict_target to struct cpufreq_policy (Puneet Sethi) [1926919] - cpufreq: Introduce CPUFREQ_GOV_STRICT_TARGET (Puneet Sethi) [1926919] - cpufreq: Introduce governor flags (Puneet Sethi) [1926919] - cpufreq: schedutil: Don't skip freq update if need_freq_update is set (Puneet Sethi) [1926919] - cpufreq: schedutil: Always call driver if CPUFREQ_NEED_UPDATE_LIMITS is set (Puneet Sethi) [1926919] - cpufreq: Introduce cpufreq_driver_test_flags() (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Avoid missing HWP max updates in passive mode (Puneet Sethi) [1926919] - cpufreq: schedutil: restore cached freq when next_f is not changed (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Delete intel_pstate sysfs if failed to register the driver (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Fix missing return statement (Puneet Sethi) [1926919] - cpufreq: Introduce CPUFREQ_NEED_UPDATE_LIMITS driver flag (Puneet Sethi) [1926919] - ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m (Vitaly Kuznetsov) [1929266] - ACPI: processor: Fix CPU0 wakeup in acpi_idle_play_dead() (Vitaly Kuznetsov) [1929266] - x86/ioapic: Ignore IRQ2 again (Vitaly Kuznetsov) [1929266]- selinux: fix deadlock in security_set_bools() (Ondrej Mosnacek) [1924230] - sctp: move sk_route_caps check and set into sctp_outq_flush_transports (Xin Long) [1946733] - sctp: bring inet(6)_skb_parm back to sctp_input_cb (Xin Long) [1946733] - sctp: enable udp tunneling socks (Xin Long) [1946733] - sctp: handle the init chunk matching an existing asoc (Xin Long) [1946733] - sctp: add the error cause for new encapsulation port restart (Xin Long) [1946733] - sctp: support for sending packet over udp6 sock (Xin Long) [1946733] - sctp: support for sending packet over udp4 sock (Xin Long) [1946733] - sctp: call sk_setup_caps in sctp_packet_transmit instead (Xin Long) [1946733] - sctp: add udphdr to overhead when udp_port is set (Xin Long) [1946733] - sctp: allow changing transport encap_port by peer packets (Xin Long) [1946733] - sctp: add SCTP_REMOTE_UDP_ENCAPS_PORT sockopt (Xin Long) [1946733] - sctp: add encap_port for netns sock asoc and transport (Xin Long) [1946733] - sctp: add encap_err_lookup for udp encap socks (Xin Long) [1946733] - sctp: create udp6 sock and set its encap_rcv (Xin Long) [1946733] - sctp: create udp4 sock and add its encap_rcv (Xin Long) [1946733] - udp: support sctp over udp in skb_udp_tunnel_segment (Xin Long) [1946733] - udp6: move the mss check after udp gso tunnel processing (Xin Long) [1946733] - udp: check udp sock encap_type in __udp_lib_err (Xin Long) [1946733] - sctp: copy the optval from user space in sctp_setsockopt (Xin Long) [1946733] - net: Convert protocol error handlers from void to int (Xin Long) [1946733] - Enable CONFIG_ENERGY_MODEL (Phil Auld) [1938339] - proc/sysctl: add shared variables for range check (Phil Auld) [1938339] - Enable CONFIG_CPU_FREQ_GOV_SCHEDUTIL for all architectures (Phil Auld) [1938339] - PM / hibernate: cast PAGE_SIZE to int when comparing with error code (Chris von Recklinghausen) [1934033] - mm: revert fix false-positive OVERCOMMIT_GUESS failures (Rafael Aquini) [1913045 1908668] - redhat/config: Enable CONFIG_PAGE_POISONING (Waiman Long) [1942149] - mm, page_poison: remove CONFIG_PAGE_POISONING_ZERO (Waiman Long) [1942149] - mm, page_poison: remove CONFIG_PAGE_POISONING_NO_SANITY (Waiman Long) [1942149] - kernel/power: allow hibernation with page_poison sanity checking (Waiman Long) [1942149] - mm, page_poison: use static key more efficiently (Waiman Long) [1942149] - mm, page_alloc: do not rely on the order of page_poison and init_on_alloc/free parameters (Waiman Long) [1942149] - mm/page_alloc: clear all pages in post_alloc_hook() with init_on_alloc=1 (Waiman Long) [1942149] - arch, mm: make kernel_page_present() always available (Waiman Long) [1942149] - arch, mm: restore dependency of __kernel_map_pages() on DEBUG_PAGEALLOC (Waiman Long) [1942149] - PM: hibernate: make direct map manipulations more explicit (Waiman Long) [1942149] - mm: introduce debug_pagealloc_{map,unmap}_pages() helpers (Waiman Long) [1942149] - mm: rename page_order() to buddy_order() (Waiman Long) [1942149] - mm/page_alloc: place pages to tail in __free_pages_core() (Waiman Long) [1942149] - mm/page_alloc: move pages to tail in move_to_free_list() (Waiman Long) [1942149] - mm/page_alloc: place pages to tail in __putback_isolated_page() (Waiman Long) [1942149] - mm/page_alloc: convert "report" flag of __free_one_page() to a proper flag (Waiman Long) [1942149] - mm/page_alloc: drop stale pageblock comment in memmap_init_zone*() (Waiman Long) [1942149] - mm/memory_hotplug: simplify page onlining (Waiman Long) [1942149] - mm/page_isolation: simplify return value of start_isolate_page_range() (Waiman Long) [1942149] - mm/memory_hotplug: drop nr_isolate_pageblock in offline_pages() (Waiman Long) [1942149] - mm/page_alloc: simplify __offline_isolated_pages() (Waiman Long) [1942149] - mm/memory_hotplug: simplify page offlining (Waiman Long) [1942149] - mm/memory_hotplug: enforce section granularity when onlining/offlining (Waiman Long) [1942149] - mm/memory_hotplug: inline __offline_pages() into offline_pages() (Waiman Long) [1942149] - mm/page_poison.c: replace bool variable with static key (Waiman Long) [1942149] - mm/page_alloc.c: fix early params garbage value accesses (Waiman Long) [1942149] - mm/memory_hotplug: document why shuffle_zone() is relevant (Waiman Long) [1942149] - mm: replace '---help---' in Kconfig files with 'help' (Waiman Long) [1942149] - mm/memory_hotplug: fix a typo in comment "recoreded"->"recorded" (Waiman Long) [1942149] - mm: Allow to offline unmovable PageOffline() pages via MEM_GOING_OFFLINE (Waiman Long) [1942149] - x86/mm/cpa: Flush direct map alias during cpa (Waiman Long) [1942149] - mm/page_alloc: simplify page_is_buddy() for better code readability (Waiman Long) [1942149] - mm/memory.c: add apply_to_existing_page_range() helper (Waiman Long) [1942149] - x86/mm/pat: Move the memtype related files to arch/x86/mm/pat/ (Waiman Long) [1942149] - x86/mm/pat: Rename pat_rbtree.c to pat_interval.c (Waiman Long) [1942149] - mm/memory_hotplug: online_pages cannot be 0 in online_pages() (Waiman Long) [1942149] - mm/memory_hotplug: make sure the pfn is aligned to the order when onlining (Waiman Long) [1942149] - mm/memory_hotplug: simplify online_pages_range() (Waiman Long) [1942149] - mm/memory_hotplug: drop PageReserved() check in online_pages_range() (Waiman Long) [1942149] - mm/memory_hotplug.c: use PFN_UP / PFN_DOWN in walk_system_ram_range() (Waiman Long) [1942149] - mm/page_poison.c: fix a typo in a comment (Waiman Long) [1942149] - mm/slab: Remove store_stackinfo() (Waiman Long) [1942149] - mm/resource: Let walk_system_ram_range() search child resources (Waiman Long) [1942149] - mm/page_alloc.c: use a single function to free page (Waiman Long) [1942149] - mm/page_alloc.c: free order-0 pages through PCP in page_frag_free() (Waiman Long) [1942149] - x86/mm/cpa: Fix set_mce_nospec() (Waiman Long) [1942149] - x86/mm/cpa: Rename @addrinarray to @numpages (Waiman Long) [1942149] - x86/mm/cpa: Better use CLFLUSHOPT (Waiman Long) [1942149] - x86/mm/cpa: Fold cpa_flush_range() and cpa_flush_array() into a single cpa_flush() function (Waiman Long) [1942149] - x86/mm/cpa: Make cpa_data::numpages invariant (Waiman Long) [1942149] - x86/mm/cpa: Optimize cpa_flush_array() TLB invalidation (Waiman Long) [1942149] - x86/mm/cpa: Simplify the code after making cpa->vaddr invariant (Waiman Long) [1942149] - x86/mm/cpa: Make cpa_data::vaddr invariant (Waiman Long) [1942149] - x86/mm/cpa: Add __cpa_addr() helper (Waiman Long) [1942149] - x86/mm/cpa: Add ARRAY and PAGES_ARRAY selftests (Waiman Long) [1942149] - resource/docs: Complete kernel-doc style function documentation (Waiman Long) [1942149] - resource/docs: Fix new kernel-doc warnings (Waiman Long) [1942149] - resource: Clean it up a bit (Waiman Long) [1942149] - mm: clarify CONFIG_PAGE_POISONING and usage (Waiman Long) [1942149] - selftests: kvm: Raise the default timeout to 120 seconds (Emanuele Giuseppe Esposito) [1894828] - KVM: Raise the maximum number of user memslots (Emanuele Giuseppe Esposito) [1894828] - block: recalculate segment count for multi-segment discards correctly (Ming Lei) [1922370] - i40e: Fix VFs not created (Stefan Assmann) [1875338] - vfs: fix page locking deadlocks when deduping files (Gao Xiang) [1916242]- tg3: improve PCI VPD access (Jonathan Toppins) [1921456] - scsi: target: pscsi: Clean up after failure in pscsi_map_sg() (Maurizio Lombardi) [1939458] - scsi: target: pscsi: Avoid OOM in pscsi_map_sg() (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Fix memory leak caused by wrong uio usage (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Move some functions without code change (Maurizio Lombardi) [1939458] - scsi: target: core: Prevent underflow for service actions (Maurizio Lombardi) [1939458] - scsi: target: core: Add cmd length set before cmd complete (Maurizio Lombardi) [1939458] - scsi: target: sbp: Remove unneeded semicolon (Maurizio Lombardi) [1939458] - scsi: target: core: Change ASCQ for residual write (Maurizio Lombardi) [1939458] - scsi: target: core: Signal WRITE residuals (Maurizio Lombardi) [1939458] - scsi: target: core: Set residuals for 4Kn devices (Maurizio Lombardi) [1939458] - scsi: target: core: Remove in_interrupt() check in transport_handle_cdb_direct() (Maurizio Lombardi) [1939458] - scsi: target: core: Replace in_interrupt() usage in target_submit_cmd_map_sgls() (Maurizio Lombardi) [1939458] - scsi: target: alua: Remove in_interrupt() usage in core_alua_check_nonop_delay() (Maurizio Lombardi) [1939458] - scsi: target: iscsi: Redo iscsit_check_session_usage_count() return code (Maurizio Lombardi) [1939458] - scsi: target: iscsi: Avoid in_interrupt() usage in iscsit_check_session_usage_count() (Maurizio Lombardi) [1939458] - scsi: target: iscsi: Avoid in_interrupt() usage in iscsit_close_session() (Maurizio Lombardi) [1939458] - scsi: target: iscsi: Fix typo in comment (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Fix use-after-free of se_cmd->priv (Maurizio Lombardi) [1939458] - scsi: target: core: Fix fall-through warnings for Clang (Maurizio Lombardi) [1939458] - scsi: tcm_loop: Allow queues, can_queue and cmd_per_lun to be settable (Maurizio Lombardi) [1939458] - scsi: target: Make state_list per CPU (Maurizio Lombardi) [1939458] - scsi: target: Drop sess_cmd_lock from I/O path (Maurizio Lombardi) [1939458] - scsi: target: Remove TARGET_SCF_LOOKUP_LUN_FROM_TAG (Maurizio Lombardi) [1939458] - scsi: target: Fix cmd_count ref leak (Maurizio Lombardi) [1939458] - scsi: target: Fix LUN ref count handling (Maurizio Lombardi) [1939458] - scsi: target: Return COMPARE AND WRITE miscompare offsets (Maurizio Lombardi) [1939458] - scsi: target: Split out COMPARE AND WRITE memcmp into helper (Maurizio Lombardi) [1939458] - scsi: target: Rename cmd.bad_sector to cmd.sense_info (Maurizio Lombardi) [1939458] - scsi: target: Rename struct sense_info to sense_detail (Maurizio Lombardi) [1939458] - scsi: target: tcmu: scatter_/gather_data_area() rework (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Replace zero-length array with flexible-array member (Maurizio Lombardi) [1939458] - scsi: target: rd: Drop double zeroing (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Fix warning: 'page' may be used uninitialized (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Optimize scatter_data_area() (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Optimize queue_cmd_ring() (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Join tcmu_cmd_get_data_length() and tcmu_cmd_get_block_cnt() (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Add missing newline when printing parameters (Maurizio Lombardi) [1939458] - scsi: target: Remove redundant assignment to variable 'ret' (Maurizio Lombardi) [1939458] - x86/resctrl: Fix AMD L3 QOS CDP enable/disable (Wei Huang) [1868984] - i2c: i801: Add support for Intel Alder Lake PCH-S (David Arcari) [1840242] - esp: delete NETIF_F_SCTP_CRC bit from features for esp offload (Xin Long) [1815560] - net/sched: act_ct: clear post_ct if doing ct_clear (Marcelo Ricardo Leitner) [1941889] - net: Change dev parameter to const in netif_device_present() (Josef Oskera) [1941728] - [x86] x86/mce: Increase maximum number of banks to 64 (Terry Bowman) [1931679]- scsi: megaraid_sas: Fix a bunch of misnamed functions in their headers (Tomas Henzl) [1924687] - scsi: megaraid_sas: Replace sdev_busy with local counter (Tomas Henzl) [1924687] - scsi: megaraid: Fix ifnullfree.cocci warnings (Tomas Henzl) [1924687] - scsi: megaraid_sas: Fix MEGASAS_IOC_FIRMWARE regression (Tomas Henzl) [1924687] - Revert "Revert "scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug"" (Tomas Henzl) [1924687] - Revert "scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug" (Tomas Henzl) [1924687] - scsi: megaraid_sas: Update function description (Tomas Henzl) [1924687] - scsi: megaraid_sas: Use generic power management (Tomas Henzl) [1924687] - megaraid_sas(treewide): Use fallthrough pseudo-keyword (Tomas Henzl) [1924687] - scsi: megaraid_sas: Drop PCI wakeup calls from .resume (Tomas Henzl) [1924687] - scsi: megaraid_sas: Check user-provided offsets (Tomas Henzl) [1924687] - scsi: mpt3sas: Update driver version to 37.101.00.00 (Tomas Henzl) [1922058] - scsi: mpt3sas: Force reply post array allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force reply post buffer allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force reply buffer allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force sense buffer allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force chain buffer allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force PCIe scatterlist allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Replace unnecessary dynamic allocation with a static one (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix some kernel-doc misnaming issues (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix a couple of misdocumented functions/params (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix a bunch of potential naming doc-rot (Tomas Henzl) [1922058] - scsi: mpt3sas: Move a little data from the stack onto the heap (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix misspelling of _base_put_smid_default_atomic() (Tomas Henzl) [1922058] - scsi: mpt3sas: Update driver version to 37.100.00.00 (Tomas Henzl) [1922058] - scsi: mpt3sas: Additional diagnostic buffer query interface (Tomas Henzl) [1922058] - scsi: mpt3sas: Add support for shared host tagset for CPU hotplug (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix ReplyPostFree pool allocation (Tomas Henzl) [1922058] - scsi: mpt3sas: Simplify bool comparison (Tomas Henzl) [1922058] - scsi: mpt3sas: Signedness bug in _base_get_diag_triggers() (Tomas Henzl) [1922058] - scsi: mpt3sas: Update driver version to 36.100.00.00 (Tomas Henzl) [1922058] - scsi: mpt3sas: Handle trigger page after firmware update (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent MPI trigger page (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent SCSI sense trigger page (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent Event trigger page (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent Master trigger page (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent trigger pages support (Tomas Henzl) [1922058] - scsi: mpt3sas: Sync time periodically between driver and firmware (Tomas Henzl) [1922058] - scsi: mpt3sas: Increase IOCInit request timeout to 30s (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix ioctl timeout (Tomas Henzl) [1922058] - scsi: mpt3sas: Remove in_interrupt() (Tomas Henzl) [1922058] - scsi: mpt3sas_scsih: Use generic power management (Tomas Henzl) [1922058] - scsi: mpt3sas_scsih: Drop PCI Wakeup calls from .resume (Tomas Henzl) [1922058] - scsi: mpt3sas: mpt3sas_scsih: Fix function documentation formatting (Tomas Henzl) [1922058] - mpt3sas: Use fallthrough pseudo-keyword (Tomas Henzl) [1922058] - net: add inline function skb_csum_is_sctp (Josef Oskera) [1939341] - psample: Fix user API breakage (Ivan Vecera) [1939499] - net: psample: Fix netlink skb length with tunnel info (Ivan Vecera) [1939499] - net: psample: Add tunnel support (Ivan Vecera) [1939499] - net: core: introduce struct netdev_nested_priv for nested interface infrastructure (Ivan Vecera) [1939402] - net: add function dev_fetch_sw_netstats for fetching pcpu_sw_netstats (Josef Oskera) [1935717] - net: core: add devm_netdev_alloc_pcpu_stats (Josef Oskera) [1935717] - net: core: add dev_sw_netstats_tx_add (Josef Oskera) [1935717] - net: netdevice.h: sw_netstats_rx_add helper (Josef Oskera) [1935717] - net: netdevice: Add operation ndo_sk_get_lower_dev (Josef Oskera) [1935709] - genirq: Provide irq_get_effective_affinity() (Josef Oskera) [1935670]- locking/locktorture: Fix incorrect use of ww_acquire_ctx in ww_mutex test (Waiman Long) [1871851] - locking/locktorture: Pass thread id to lock/unlock functions (Waiman Long) [1871851] - locking/ww_mutex: Remove DEFINE_WW_MUTEX() macro (Waiman Long) [1871851] - locking/locktorture: Fix false positive circular locking splat in ww_mutex test (Waiman Long) [1871851] - locking/ww_mutex: Fix acquire/release imbalance in ww_acquire_init()/ww_acquire_fini() (Waiman Long) [1871851] - locking/ww_mutex: Simplify use_ww_ctx & ww_ctx handling (Waiman Long) [1871851] - locking: Remove duplicate include of percpu-rwsem.h (Waiman Long) [1871851] - locktorture: Invoke percpu_free_rwsem() to do percpu-rwsem cleanup (Waiman Long) [1871851] - locktorture: Prevent hangs for invalid arguments (Waiman Long) [1871851] - locktorture: Ignore nreaders_stress if no readlock support (Waiman Long) [1871851] - locktorture: Track time of last ->writeunlock() (Waiman Long) [1871851] - locktorture: Make function torture_percpu_rwsem_init() static (Waiman Long) [1871851] - sched,locktorture: Convert to sched_set_fifo() (Waiman Long) [1871851] - locktorture: Use true and false to assign to bool variables (Waiman Long) [1871851] - locktorture: Print ratio of acquisitions, not failures (Waiman Long) [1871851] - locktorture: NULL cxt.lwsa and cxt.lrsa to allow bad-arg detection (Waiman Long) [1871851] - locking/locktorture: Convert to SPDX license identifier (Waiman Long) [1871851] - tty: Fix ->session locking (Chris von Recklinghausen) [1908059] {CVE-2020-29660} - net: skbext: fix secpath use-after-free with ip fragmentation (Sabrina Dubroca) [1901454]- nfs: we don't support removing system.nfs4_acl (Scott Mayhew) [1944659] - redhat/configs: Disable CONFIG_INFINIBAND_HNS* (Kamal Heib) [1941259] - mm: Revert "remove the account_page_dirtied export" (Waiman Long) [1941257] - Revert "[netdrv] net/broadcom: Clean broadcom code from driver versions" (Jonathan Toppins) [1940842]- geneve: do not modify the shared tunnel info when PMTU triggers an ICMP reply (Antoine Tenart) [1941753] - vxlan: do not modify the shared tunnel info when PMTU triggers an ICMP reply (Antoine Tenart) [1941753] - net: Add netif_rx_any_context() (Josef Oskera) [1939466] - bitfield.h: add FIELD_MAX() and field_max() (Ivan Vecera) [1939478] - md/raid5: cast chunk_sectors to sector_t value (Nigel Croxon) [1921468] - md: Set prev_flush_start and flush_bio in an atomic way (Nigel Croxon) [1921468] - md/cluster: fix deadlock when node is doing resync job (Nigel Croxon) [1921468] - md/cluster: block reshape with remote resync job (Nigel Croxon) [1921468] - md: use current request time as base for ktime comparisons (Nigel Croxon) [1921468] - md: add comments in md_flush_request() (Nigel Croxon) [1921468] - md: improve variable names in md_flush_request() (Nigel Croxon) [1921468] - md/raid10: initialize r10_bio->read_slot before use. (Nigel Croxon) [1921468] - md: fix a warning caused by a race between concurrent md_ioctl()s (Nigel Croxon) [1921468] - Revert "md: improve variable names in md_flush_request()" (Nigel Croxon) [1921468] - Revert "md: Set prev_flush_start and flush_bio in an atomic way" (Nigel Croxon) [1921468] - KVM: nSVM: fix running nested guests when npt=0 (Emanuele Giuseppe Esposito) [1799073] - fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent (Julia Denham) [1908311] {CVE-2020-35508} - Revert "redhat: switch secureboot kernel image signing to release keys" (Bruno Meneguele) - redhat: switch secureboot kernel image signing to release keys (Jan Stancek) - Revert "[md] md/raid5: add a new member of offset into r5dev" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: make async_copy_data() to support different page offset" (Nigel Croxon) [1936903] - Revert "[crypto] md/raid5: add new xor function to support different page offset" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: convert to new xor compution interface" (Nigel Croxon) [1936903] - Revert "[crypto] md/raid6: let syndrome computor support different page offset" (Nigel Croxon) [1936903] - Revert "[crypto] md/raid6: let async recovery function support different page offset" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: let multiple devices of stripe_head share page" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: resize stripe_head when reshape array" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: reallocate page array after setting new stripe_size" (Nigel Croxon) [1936903] - ACPI: PNP: compare the string length in the matching_id() (Mark Langsdorf) [1933702] - ceph: add missing break when parsing "nowsync" mount option (Jeff Layton) [1932753] - get_maintainer.conf: Update with new location of RHMAINTAINERS (Prarit Bhargava) - redhat: make pathspec exclusion compatible with old git versions (Herton R. Krzesinski) - redhat/scripts: Update merge-subtrees.sh with new subtree location (Prarit Bhargava) - tree: Add RHMAINTAINERS soft link in 8.4 (Prarit Bhargava) - tree: remove existing redhat/rhdocs subtree in 8.4 (Prarit Bhargava)- ntp: Use freezable workqueue for RTC synchronization (Phil Auld) [1793880] - ntp: Fix RTC synchronization on 32-bit platforms (Phil Auld) [1793880] - ntp: Make the RTC synchronization more reliable (Phil Auld) [1793880] - PCI: rpadlpar: Fix potential drc_name corruption in store functions (Gustavo Luiz Duarte) [1938116] - selftests: kvm: Add basic Hyper-V clocksources tests (Vitaly Kuznetsov) [1931782] - KVM: x86: hyper-v: Don't touch TSC page values when guest opted for re-enlightenment (Vitaly Kuznetsov) [1931782] - KVM: x86: hyper-v: Track Hyper-V TSC page status (Vitaly Kuznetsov) [1931782] - KVM: x86: hyper-v: Prevent using not-yet-updated TSC page by secondary CPUs (Vitaly Kuznetsov) [1931782] - KVM: x86: hyper-v: Limit guest to writing zero to HV_X64_MSR_TSC_EMULATION_STATUS (Vitaly Kuznetsov) [1931782] - drm/i915/guc: Update to use firmware v49.0.1 (Dave Airlie) [1935281] {CVE-2020-12362} - time: Enable __kernel_timespec for 32-bit vdso build (Waiman Long) [1936282] - lib/idr.c: document calling context for IDA APIs mustn't use locks (Chris von Recklinghausen) [1917764] - ida: Free allocated bitmap in error path (Chris von Recklinghausen) [1917764] - radix tree test suite: Fix compilation (Chris von Recklinghausen) [1917764] - vmalloc: convert to XArray (Chris von Recklinghausen) [1917764] - mm: pass addr as unsigned long to vb_free (Chris von Recklinghausen) [1917764] - radix tree: Remove multiorder support (Chris von Recklinghausen) [1917764] - radix tree test: Convert multiorder tests to XArray (Chris von Recklinghausen) [1917764] - radix tree tests: Convert item_delete_rcu to XArray (Chris von Recklinghausen) [1917764] - radix tree tests: Convert item_kill_tree to XArray (Chris von Recklinghausen) [1917764] - radix tree tests: Move item_insert_order (Chris von Recklinghausen) [1917764] - radix tree test suite: Remove multiorder benchmarking (Chris von Recklinghausen) [1917764] - radix tree test suite: Remove __item_insert (Chris von Recklinghausen) [1917764] - radix tree: Remove radix_tree_clear_tags (Chris von Recklinghausen) [1917764] - radix tree: Remove split/join code (Chris von Recklinghausen) [1917764] - radix tree: Remove radix_tree_update_node_t (Chris von Recklinghausen) [1917764] - mm: Convert truncate to XArray (Chris von Recklinghausen) [1917764] - copy rh_kabi.h to tools/testing/radix-tree/linux (Chris von Recklinghausen) [1917764]- tick: Get rid of tick_period (Phil Auld) [1936504] - tick/sched: Release seqcount before invoking calc_load_global() (Phil Auld) [1936504] - tick/sched: Optimize tick_do_update_jiffies64() further (Phil Auld) [1936504] - tick/sched: Reduce seqcount held scope in tick_do_update_jiffies64() (Phil Auld) [1936504] - tick/sched: Use tick_next_period for lockless quick check (Phil Auld) [1936504] - tick: Document protections for tick related data (Phil Auld) [1936504] - tick/broadcast: Serialize access to tick_next_period (Phil Auld) [1936504] - timekeeping: Split jiffies seqlock (Phil Auld) [1936504] - tick/sched: Annotate lockless access to last_jiffies_update (Phil Auld) [1936504] - net, sctp, filter: remap copy_from_user failure error (Hangbin Liu) [1929476] {CVE-2021-20239} - tty: serial_core: Set port active bit in uart_port_activate (Artem Savkov) [1915177] - cgroup: fix psi monitor for root cgroup (Waiman Long) [1936868] - cgroup-v1: add disabled controller check in cgroup1_parse_param() (Waiman Long) [1936868] - cgroup: cgroup.{procs,threads} factor out common parts (Waiman Long) [1936868] - cpuset: fix typos in comments (Waiman Long) [1936868] - kernel: cgroup: Mundane spelling fixes throughout the file (Waiman Long) [1936868] - cgroup/cgroup.c: replace 'of->kn->priv' with of_cft() (Waiman Long) [1936868] - cgroup: Zero sized write should be no-op (Waiman Long) [1936868] - cgroup: remove redundant kernfs_activate in cgroup_setup_root() (Waiman Long) [1936868] - cgroup: Use generic ns_common::count (Waiman Long) [1936868] - ns: Add a common refcount into ns_common (Waiman Long) [1936868] - cgroup: add cpu.stat file to root cgroup (Waiman Long) [1936868] - cgroup: Remove stale comments (Waiman Long) [1936868] - cgroup: Restructure release_agent_path handling (Waiman Long) [1936868] - cgroup: add cgroup_may_write() helper (Waiman Long) [1936868] - cgroup: refactor fork helpers (Waiman Long) [1936868] - cgroup: add cgroup_get_from_file() helper (Waiman Long) [1936868] - cgroup: unify attach permission checking (Waiman Long) [1936868] - cpuset: Make cpuset hotplug synchronous (Waiman Long) [1936868] - cgroup: Clean up css_set task traversal (Waiman Long) [1936868] - cgroup.c: Use built-in RCU list checking (Waiman Long) [1936868] - fork: record start_time late (Waiman Long) [1936868] - sched/deadline: Reduce rq lock contention in dl_add_task_root_domain() (Phil Auld) [1936501] - sched/deadline: Fix sched_dl_global_validate() (Phil Auld) [1936501] - sched/deadline: Optimize sched_dl_global_validate() (Phil Auld) [1936501] - sched/deadline: Fix a typo in a comment (Phil Auld) [1936501] - sched/deadline: Implement fallback mechanism for !fit case (Phil Auld) [1936501] - sched/deadline: Make DL capacity-aware (Phil Auld) [1936501] - sched/deadline: Improve admission control for asymmetric CPU capacities (Phil Auld) [1936501] - sched/deadline: Add dl_bw_capacity() (Phil Auld) [1936501] - sched/deadline: Optimize dl_bw_cpus() (Phil Auld) [1936501] - sched/deadline: Impose global limits on sched_attr::sched_period (Phil Auld) [1936501] - ibmvnic: fix a race between open and reset (Diego Domingos) [1940042] - ibmvnic: Set to CLOSED state even on error (Diego Domingos) [1940042] - ibmvnic: device remove has higher precedence over reset (Diego Domingos) [1940042] - ibmvnic: merge do_change_param_reset into do_reset (Diego Domingos) [1940042] - ibmvfc: disable MQ channelization by default (Gustavo Luiz Duarte) [1939359] - pNFS/NFSv4: Fix a layout segment leak in pnfs_layout_process() (Steve Dickson) [1926945] - scsi: iscsi: Verify lengths on passthrough PDUs (Chris Leech) [1930833] {CVE-2021-27365} - scsi: iscsi: Ensure sysfs attributes are limited to PAGE_SIZE (Chris Leech) [1930856] {CVE-2021-27363} - scsi: iscsi: Restrict sessions and handles to admin capabilities (Chris Leech) [1930809] {CVE-2021-27364} - futex: Handle faults correctly for PI futexes (Waiman Long) [1924635] - futex: Simplify fixup_pi_state_owner() (Waiman Long) [1924635] - futex: Use pi_state_update_owner() in put_pi_state() (Waiman Long) [1924635] - rtmutex: Remove unused argument from rt_mutex_proxy_unlock() (Waiman Long) [1924635] - futex: Provide and use pi_state_update_owner() (Waiman Long) [1924635] - futex: Replace pointless printk in fixup_owner() (Waiman Long) [1924635] - futex: Ensure the correct return value from futex_lock_pi() (Waiman Long) [1924635] - futex: Don't enable IRQs unconditionally in put_pi_state() (Waiman Long) [1924635] - futex: Fix incorrect should_fail_futex() handling (Waiman Long) [1924635] - futex: Consistently use fshared as boolean (Waiman Long) [1924635] - futex: Remove needless goto's (Waiman Long) [1924635] - futex: Remove put_futex_key() (Waiman Long) [1924635] - NFS: Correct size calculation for create reply length (Benjamin Coddington) [1934903] - SUNRPC: Set memalloc_nofs_save() for sync tasks (Benjamin Coddington) [1934098] - net/mlx5: CT: Add support for matching on ct_state reply flag (Alaa Hleihel) [1919651] - net/mlx5e: CT: manage the lifetime of the ct entry object (Alaa Hleihel) [1919651] - net/mlx5e: CT: Use per flow counter when CT flow accounting is enabled (Alaa Hleihel) [1919651] - net/mlx5e: Fix a use after free on error in mlx5_tc_ct_shared_counter_get() (Alaa Hleihel) [1919651] - net/mlx5e: CT: Use the same counter for both directions (Alaa Hleihel) [1919651] - ethtool: fix the check logic of at least one channel for RX/TX (Ivan Vecera) [1907406]- [scsi] scsi: qedi: Correct max length of CHAP secret (Nilesh Javali) [1909180] - redhat: use tags from git notes for zstream to generate changelog (Frantisek Hrbata) - redhat: add CI file for kernel-private (Bruno Meneguele) - CI: Drop unused variable (Bruno Meneguele) - CI: Enable RT verification (Bruno Meneguele) - KVM: SVM: Clear the CR4 register on reset (Vitaly Kuznetsov) [1920788] - net: flow_offload: Add original direction flag to ct_metadata (Marcelo Ricardo Leitner) [1921946] - net/sched: cls_flower: Add match on the ct_state reply flag (Marcelo Ricardo Leitner) [1921946] - net/sched: cls_flower add CT_FLAGS_INVALID flag support (Marcelo Ricardo Leitner) [1921946] - net/sched: cls_flower: Reject invalid ct_state flags rules (Marcelo Ricardo Leitner) [1921946] - netlink: add mask validation (Marcelo Ricardo Leitner) [1921946] - netlink: create helpers for checking type is an int (Marcelo Ricardo Leitner) [1921946] - netlink: policy: correct validation type check (Marcelo Ricardo Leitner) [1921946] - netlink: make NLA_BINARY validation more flexible (Marcelo Ricardo Leitner) [1921946]- md: Set prev_flush_start and flush_bio in an atomic way (Xiao Ni) [1901598] - md: improve variable names in md_flush_request() (Xiao Ni) [1901598] - hpsa: fix regression issue for old controllers (Joseph Szczypek) [1925711] - scsi: hpsa: Correct dev cmds outstanding for retried cmds (Joseph Szczypek) [1925711] - vt: Disable KD_FONT_OP_COPY (Dave Airlie) [1903937] {CVE-2020-28974} - drm/i915/rkl: Remove require_force_probe protection (Lyude Paul) [1937558] - drm/i915/tgl/psr: Disable PSR on Tigerlake for now (Lyude Paul) [1924702] - dm raid: fix discard limits for raid0 and raid10 (Mike Snitzer) [1934274] - dm: fix __send_changing_extent_only to avoid duplicate dm_target_offset() (Mike Snitzer) [1934274] - mm/hugetlb.c: fix unnecessary address expansion of pmd sharing (Waiman Long) [1934212] - mm: memcontrol: fix slub memory accounting (Waiman Long) [1934212] - mm: memcontrol: fix swap undercounting in cgroup2 (Waiman Long) [1934212] - mm: memcontrol: fix NR_ANON_THPS accounting in charge moving (Waiman Long) [1934212] - mm, slub: better heuristic for number of cpus when calculating slab order (Waiman Long) [1934212] - Revert "mm: memcontrol: avoid workload stalls when lowering memory.high" (Waiman Long) [1934212] - selftests/bpf: Set gopt opt_class to 0 if get tunnel opt failed (Hangbin Liu) [1931732] - selftests/bpf: No need to drop the packet when there is no geneve opt (Hangbin Liu) [1931732]- drm/i915/gen11+: Only load DRAM information from pcode (Lyude Paul) [1934537] - drm/i915/dg1: Wait for pcode/uncore handshake at startup (Lyude Paul) [1934537] - powercap/intel_rapl: add support for TigerLake Desktop (David Arcari) [1932457] - powerpc/perf: Fix handling of privilege level checks in perf interrupt context (Gustavo Luiz Duarte) [1918411] - NFSv4.2: fix error return on memory allocation failure (Scott Mayhew) [1917689] - NFSv4.2: improve page handling for GETXATTR (Scott Mayhew) [1917689] - NFSv4.2: Fix up the get/listxattr calls to rpc_prepare_reply_pages() (Scott Mayhew) [1917689] - NFS: Fix rpcrdma_inline_fixup() crash with new LISTXATTRS operation (Scott Mayhew) [1917689] - SUNRPC: Fix up xdr_set_page() (Benjamin Coddington) [1917689] - NFSv4: Fix open coded xdr_stream_remaining() (Benjamin Coddington) [1917689] - SUNRPC: Clean up the handling of page padding in rpc_prepare_reply_pages() (Benjamin Coddington) [1917689] - SUNRPC: Fix up xdr_read_pages() to take arbitrary object lengths (Benjamin Coddington) [1917689] - SUNRPC: Clean up helpers xdr_set_iov() and xdr_set_page_base() (Benjamin Coddington) [1917689] - SUNRPC: Split out a function for setting current page (Benjamin Coddington) [1917689] - SUNRPC: Fix up typo in xdr_init_decode() (Benjamin Coddington) [1917689] - NFSv4: Fix the alignment of page data in the getdeviceinfo reply (Benjamin Coddington) [1917689] - net: fix pos incrementment in ipv6_route_seq_next (Lorenzo Bianconi) [1926608] - ipv6_route_seq_next should increase position index (Lorenzo Bianconi) [1926608] - bpf: Clear subreg_def for global function return values (Yauheni Kaliuta) [1934062] - igc: Fix returning wrong statistics (Corinna Vinschen) [1910873]- KVM: nSVM: prepare guest save area while is_guest_mode is true (Vitaly Kuznetsov) [1860223] - redhat: add CI file for kernel-private (Bruno Meneguele) - CI: Drop unused variable (Veronika Kabatova) - CI: Enable RT verification (Veronika Kabatova) - redhat: use tags from git notes for zstream to generate changelog (Frantisek Hrbata) - redhat: open the RHEL-8.5 development (Bruno Meneguele) [1930504]- KVM: SVM: Make symbol 'svm_gp_erratum_intercept' static (Paolo Bonzini) [1769283] - KVM: SVM: Fix #GP handling for doubly-nested virtualization (Paolo Bonzini) [1769283] - KVM: SVM: Add support for SVM instruction address check change (Paolo Bonzini) [1769283] - KVM: SVM: Add emulation support for #GP triggered by SVM instructions (Paolo Bonzini) [1769283] - KVM: x86: Factor out x86 instruction emulation with decoding (Paolo Bonzini) [1769283] - gfs2: In gfs2_ail1_start_one unplug the IO when needed (Bob Peterson) [1648446] - gfs2: Free rd_bits later in gfs2_clear-rgrpd to fix use-after-free (Bob Peterson) [1648446] - gfs2: Only access gl_delete for iopen glocks (Bob Peterson) [1648446] - gfs2: Fix case in which ail writes are done to jdata holes (Bob Peterson) [1648446] - gfs2: simplify gfs2_block_map (Bob Peterson) [1648446] - gfs2: Only set PageChecked if we have a transaction (Bob Peterson) [1648446] - gfs2: don't lock sd_ail_lock in gfs2_releasepage (Bob Peterson) [1648446] - gfs2: make gfs2_ail1_empty_one return the count of active items (Bob Peterson) [1648446] - gfs2: Wipe jdata and ail1 in gfs2_journal_wipe, formerly gfs2_meta_wipe (Bob Peterson) [1648446] - gfs2: enhance log_blocks trace point to show log blocks free (Bob Peterson) [1648446] - gfs2: rename gfs2_write_full_page to gfs2_write_jdata_page, remove parm (Bob Peterson) [1648446] - PM: hibernate: flush swap writer after marking (Lenny Szubowicz) [1898677] - cpufreq: Avoid cpufreq_suspend() deadlock on system shutdown (Lenny Szubowicz) [1898677] - PM / hibernate: memory_bm_find_bit(): Tighten node optimisation (Lenny Szubowicz) [1898677] - bpf, devmap: Use GFP_KERNEL for xdp bulk queue allocation (Jiri Benc) [1882215] - ice, xsk: clear the status bits for the next_to_use descriptor (Jiri Benc) [1906820] - net/mlx4_en: Handle TX error CQE (Alaa Hleihel) [1925690] - net/mlx4_en: Avoid scheduling restart task if it is already running (Alaa Hleihel) [1925690] - blk-mq: test QUEUE_FLAG_HCTX_ACTIVE for sbitmap_shared in hctx_may_queue (Ming Lei) [1922013] - blk-mq: Improve performance of non-mq IO schedulers with multiple HW queues (Ming Lei) [1922013] - Revert "blk-mq, elevator: Count requests per hctx to improve performance" (Ming Lei) [1922013] - bpftool: Disable CAP_BPF check for feature command (Jiri Olsa) [1921542] - RDMA/siw: Fix calculation of tx_valid_cpus size (Kamal Heib) [1919502] - net/mlx5e: Disable performance optimization for IPv4/IPv6 ethertype (Alaa Hleihel) [1928671 1919807] - IB/mlx5: Return appropriate error code instead of ENOMEM (Alaa Hleihel) [1928671] - net/mlx5: Disable devlink reload for lag devices (Alaa Hleihel) [1928671 1929166] - net/mlx5: Disable devlink reload for multi port slave device (Alaa Hleihel) [1928671 1929166] - net/mlx5: Disallow RoCE on lag device (Alaa Hleihel) [1928671 1929166] - net/mlx5: Disallow RoCE on multi port slave device (Alaa Hleihel) [1928671 1929166] - net/mlx5: Fix health error state handling (Alaa Hleihel) [1928671] - net/mlx5e: Change interrupt moderation channel params also when channels are closed (Alaa Hleihel) [1928671] - net/mlx5e: Don't change interrupt moderation params when DIM is enabled (Alaa Hleihel) [1928671] - net/mlx5e: E-switch, Fix rate calculation for overflow (Alaa Hleihel) [1928671] - net/mlx5e: Release skb in case of failure in tc update skb (Alaa Hleihel) [1928671 1929119] - net/mlx5e: Check tunnel offload is required before setting SWP (Alaa Hleihel) [1928671 1925439] - net/mlx5e: kTLS, Use refcounts to free kTLS RX priv context (Alaa Hleihel) [1928671 1928706] - net/mlx5e: Fix CQ params of ICOSQ and async ICOSQ (Alaa Hleihel) [1928671 1928706] - net/mlx5e: Replace synchronize_rcu with synchronize_net (Alaa Hleihel) [1928671 1913616] - net/mlx5e: Enable XDP for Connect-X IPsec capable devices (Alaa Hleihel) [1928671 1856795] - net/mlx5e: Enable striding RQ for Connect-X IPsec capable devices (Alaa Hleihel) [1928671 1926120] - fix regression in "epoll: Keep a reference on files added to the check list" (Carlos Maiolino) [1920776] {CVE-2020-0466} - do_epoll_ctl(): clean the failure exits up a bit (Carlos Maiolino) [1920776] {CVE-2020-0466} - epoll: Keep a reference on files added to the check list (Carlos Maiolino) [1920776] {CVE-2020-0466}- perf/x86/intel/uncore: With > 8 nodes, get pci bus die id from NUMA info (Prarit Bhargava) [1766743] - perf/x86/intel/uncore: Store the logical die id instead of the physical die id. (Prarit Bhargava) [1766743] - mm: fix page reference leak in soft_offline_page() (Aristeu Rozanski) [1768372] - mm,hwpoison: try to narrow window race for free pages (Aristeu Rozanski) [1768372] - mm,hwpoison: double-check page count in __get_any_page() (Aristeu Rozanski) [1768372] - mm,hwpoison: introduce MF_MSG_UNSPLIT_THP (Aristeu Rozanski) [1768372] - mm,hwpoison: return 0 if the page is already poisoned in soft-offline (Aristeu Rozanski) [1768372] - mm,hwpoison: refactor soft_offline_huge_page and __soft_offline_page (Aristeu Rozanski) [1768372] - mm,hwpoison: rework soft offline for in-use pages (Aristeu Rozanski) [1768372] - mm,hwpoison: rework soft offline for free pages (Aristeu Rozanski) [1768372] - mm,hwpoison: unify THP handling for hard and soft offline (Aristeu Rozanski) [1768372] - mm,hwpoison: kill put_hwpoison_page (Aristeu Rozanski) [1768372] - mm,hwpoison: refactor madvise_inject_error (Aristeu Rozanski) [1768372] - mm,hwpoison: unexport get_hwpoison_page and make it static (Aristeu Rozanski) [1768372] - mm,hwpoison-inject: don't pin for hwpoison_filter (Aristeu Rozanski) [1768372] - mm, hwpoison: remove recalculating hpage (Aristeu Rozanski) [1768372] - mm,hwpoison: cleanup unused PageHuge() check (Aristeu Rozanski) [1768372] - mm/madvise.c: replace with page_size() in madvise_inject_error() (Aristeu Rozanski) [1768372] - mm, soft-offline: convert parameter to pfn (Aristeu Rozanski) [1768372] - tick/nohz: Revert "Narrow down noise while setting current task's tick dependency" (Waiman Long) [1931004] - kvm: Add kvm_stat.service file and kvm_stat logrotate config to the tools (Thomas Huth) [1919930] - igc: fix link speed advertising (Corinna Vinschen) [1769701] - [crypto] crypto: qat - add capability detection logic in qat_4xxx (Vladis Dronov) [1833004] - [crypto] crypto: qat - add AES-XTS support for QAT GEN4 devices (Vladis Dronov) [1833004] - [crypto] crypto: qat - add AES-CTR support for QAT GEN4 devices (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix excluded_middle.cocci warnings (Vladis Dronov) [1833004] - [crypto] crypto: qat - add qat_4xxx driver (Vladis Dronov) [1833004] - [crypto] crypto: qat - add hook to initialize vector routing table (Vladis Dronov) [1833004] - [crypto] crypto: qat - target fw images to specific AEs (Vladis Dronov) [1833004] - [crypto] crypto: qat - add gen4 firmware loader (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for broadcasting mode (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for shared ustore (Vladis Dronov) [1833004] - [crypto] crypto: qat - allow to target specific AEs (Vladis Dronov) [1833004] - [crypto] crypto: qat - add FCU CSRs to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add CSS3K support (Vladis Dronov) [1833004] - [crypto] crypto: qat - use ae_mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - add check for null pointer (Vladis Dronov) [1833004] - [crypto] crypto: qat - add misc control CSR to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add wake up event to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add clock enable CSR to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add reset CSR and mask to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add local memory size to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for lm2 and lm3 (Vladis Dronov) [1833004] - [crypto] crypto: qat - add next neighbor to chip_info (Vladis Dronov) [1833004] - [crypto] crypto: qat - replace check based on DID (Vladis Dronov) [1833004] - [crypto] crypto: qat - introduce chip info structure (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor long expressions (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor qat_uclo_set_ae_mode() (Vladis Dronov) [1833004] - [crypto] crypto: qat - move defines to header files (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove global CSRs helpers (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor AE start (Vladis Dronov) [1833004] - [crypto] crypto: qat - change micro word data mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - change type for ctx_mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for relative FW ucode loading (Vladis Dronov) [1833004] - [crypto] crypto: qat - rename qat_uclo_del_uof_obj() (Vladis Dronov) [1833004] - [crypto] crypto: qat - introduce additional parenthesis (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unnecessary parenthesis (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix error message (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix CSR access (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix status check in qat_hal_put_rel_rd_xfer() (Vladis Dronov) [1833004] - [crypto] crypto: qat - support for mof format in fw loader (Vladis Dronov) [1833004] - [crypto] crypto: qat - replace pci with PCI in comments (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove cast for mailbox CSR (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unneeded semicolon (Vladis Dronov) [1833004] - [crypto] crypto: qat - extend ae_mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - allow for instances in different banks (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor qat_crypto_dev_config() (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor qat_crypto_create_instances() (Vladis Dronov) [1833004] - [crypto] crypto: qat - change return value in adf_cfg_key_val_get() (Vladis Dronov) [1833004] - [crypto] crypto: qat - change return value in adf_cfg_add_key_value_param() (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unnecessary void* casts (Vladis Dronov) [1833004] - [crypto] crypto: qat - call functions in adf_sriov if available (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove hardcoded bank irq clear flag mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - abstract writes to arbiter enable (Vladis Dronov) [1833004] - [crypto] crypto: qat - use BIT_ULL() - 1 pattern for masks (Vladis Dronov) [1833004] - [crypto] crypto: qat - replace constant masks with GENMASK (Vladis Dronov) [1833004] - [crypto] crypto: qat - abstract build ring base (Vladis Dronov) [1833004] - [crypto] crypto: qat - enable ring after pair is programmed (Vladis Dronov) [1833004] - [crypto] crypto: qat - register crypto instances based on capability (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for capability detection (Vladis Dronov) [1833004] - [crypto] crypto: qat - abstract arbiter access (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unused macros in arbiter module (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove writes into WQCFG (Vladis Dronov) [1833004] - [crypto] crypto: qat - update constants table (Vladis Dronov) [1833004] - [crypto] crypto: qat - use admin mask to send fw constants (Vladis Dronov) [1833004] - [crypto] crypto: qat - change admin sequence (Vladis Dronov) [1833004] - [crypto] crypto: qat - rename ME in AE (Vladis Dronov) [1833004] - [crypto] crypto: qat - add packed to init admin structures (Vladis Dronov) [1833004] - [crypto] crypto: qat - abstract admin interface (Vladis Dronov) [1833004] - [crypto] crypto: qat - relocate GEN2 CSR access code (Vladis Dronov) [1833004] - [crypto] crypto: qat - split transport CSR access logic (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix configuration of iov threads (Vladis Dronov) [1833004] - [crypto] crypto: qat - num_rings_per_bank is device dependent (Vladis Dronov) [1833004] - [crypto] crypto: qat - mask device capabilities with soft straps (Vladis Dronov) [1833004] - [crypto] crypto: qat - update IV in software (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unused function (Vladis Dronov) [1833004]- mptcp: send ack for every add_addr (Davide Caratti) [1929280] - Revert "[net] tcp: change pingpong threshold to 3" (Davide Caratti) [1929280] - powerpc/pseries: Don't enforce MSI affinity with kdump (Greg Kurz) [1919427] - rtc: disallow update interrupts when time is invalid (Waiman Long) [1918288] - rtc: disable uie before setting time and enable after (Waiman Long) [1918288] - rtc: don't reference bogus function pointer in kdoc (Waiman Long) [1918288] - KVM: x86/mmu: Expand collapsible SPTE zap for TDP MMU to ZONE_DEVICE and HugeTLB pages (Paolo Bonzini) [1897366] - KVM: x86/mmu: Allow parallel page faults for the TDP MMU (Paolo Bonzini) [1897366] - KVM: x86/mmu: Mark SPTEs in disconnected pages as removed (Paolo Bonzini) [1897366] - KVM: x86/mmu: Flush TLBs after zap in TDP MMU PF handler (Paolo Bonzini) [1897366] - KVM: x86/mmu: Use atomic ops to set SPTEs in TDP MMU map (Paolo Bonzini) [1897366] - KVM: x86/mmu: Factor out functions to add/remove TDP MMU pages (Paolo Bonzini) [1897366] - i915: kvmgt: the KVM mmu_lock is now an rwlock (Paolo Bonzini) [1897366] - KVM: x86/mmu: Use an rwlock for the x86 MMU (Paolo Bonzini) [1897366] - KVM: x86/mmu: Protect TDP MMU page table memory with RCU (Paolo Bonzini) [1897366] - KVM: x86/mmu: Clear dirtied pages mask bit before early break (Paolo Bonzini) [1897366] - KVM: x86/mmu: Skip no-op changes in TDP MMU functions (Paolo Bonzini) [1897366] - KVM: x86/mmu: Yield in TDU MMU iter even if no SPTES changed (Paolo Bonzini) [1897366] - KVM: x86/mmu: Ensure forward progress when yielding in TDP MMU iter (Paolo Bonzini) [1897366] - KVM: x86/mmu: Rename goal_gfn to next_last_level_gfn (Paolo Bonzini) [1897366] - KVM: x86/mmu: Merge flush and non-flush tdp_mmu_iter_cond_resched (Paolo Bonzini) [1897366] - KVM: x86/mmu: Fix braces in kvm_recover_nx_lpages (Paolo Bonzini) [1897366] - KVM: x86/mmu: Factor out handling of removed page tables (Paolo Bonzini) [1897366] - KVM: x86/mmu: Don't redundantly clear TDP MMU pt memory (Paolo Bonzini) [1897366] - KVM: x86/mmu: Add lockdep when setting a TDP MMU SPTE (Paolo Bonzini) [1897366] - KVM: x86/mmu: Add comment on __tdp_mmu_set_spte (Paolo Bonzini) [1897366] - KVM: x86/mmu: change TDP MMU yield function returns to match cond_resched (Paolo Bonzini) [1897366] - locking/arch: Move qrwlock.h include after qspinlock.h (Paolo Bonzini) [1897366] - sched: Add cond_resched_rwlock (Paolo Bonzini) [1897366] - sched: Add needbreak for rwlocks (Paolo Bonzini) [1897366] - locking/rwlocks: Add contention detection for rwlocks (Paolo Bonzini) [1897366] - RDMA/srp: Fix support for unpopulated and unbalanced NUMA nodes (Kamal Heib) [1919395] - net/vmw_vsock: fix NULL pointer dereference (Jon Maloy) [1925600] {CVE-2021-26708} - net/vmw_vsock: improve locking in vsock_connect_timeout() (Jon Maloy) [1925600] {CVE-2021-26708} - vsock: fix locking in vsock_shutdown() (Jon Maloy) [1925600] {CVE-2021-26708} - vsock: fix the race conditions in multi-transport support (Jon Maloy) [1925600] {CVE-2021-26708} - ahci: Add missing Intel Emmitsburg PCH RAID PCI IDs (David Arcari) [1928789] - KVM: x86: Allow guests to see MSR_IA32_TSX_CTRL even if tsx=off (Paolo Bonzini) [1912448] - [sound] ALSA: hda/via: Fix runtime PM for Clevo W35xSS (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add two "Intel Reference board" SSID in the ALC256 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add mute LED quirk for more HP laptops (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Modify Dell platform name (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Fix speaker volume control on Lenovo C940 (Jaroslav Kysela) [1916102] - [sound] ALSA: ALSA/hda: apply jack fixup for the Acer Veriton N4640G/N6640G/N2510G (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Apply jack fixup for Quanta NL3 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add quirk for MSI-GP73 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Supported Dell fixed type headset (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Remove dummy lineout on Acer TravelMate P648/P658 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/hdmi: Fix incorrect mutex unlock in silent_stream_disable() (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/hdmi: packet buffer index must be set before reading value (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/hdmi: always print pin NIDs as hexadecimal (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/hdmi: fix silent stream for first playback to DP (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/conexant: add a new hda codec CX11970 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda: Fix regressions on clear and reconfig sysfs (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/proc - print DP-MST connections (Jaroslav Kysela) [1916102] - [sound] ALSA: hda - Fix the return value if cb func is already registered (Jaroslav Kysela) [1916102] - [sound] ALSA: mixart: Fix mutex deadlock (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Fix bass speaker DAC assignment on Asus Zephyrus G14 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Add new codec supported for ALC897 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Fixed Dell AIO wrong sound tone (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - HP Headset Mic can't detect after boot (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Add supported mute Led for HP (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add some Clove SSID in the ALC293(ALC1220) (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Add supported for Lenovo ThinkPad Headset Button (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Enable headphone for ASUS TM420 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Fixed HP headset Mic can't be detected (Jaroslav Kysela) [1916102] - [sound] ALSA: hda: Add Alderlake-S PCI ID and HDMI codec vid (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/generic: Add option to enforce preferred_dacs pairs (Jaroslav Kysela) [1916102] - [sound] ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link() (Jaroslav Kysela) [1916102] - [sound] ALSA: seq: oss: Avoid mutex lock for a long-time ioctl (Jaroslav Kysela) [1916102] - [fs] gfs2: Recursive gfs2_quota_hold in gfs2_iomap_end (Andreas Grunbacher) [1926852] - [net] netfilter: nf_tables: coalesce multiple notifications into one skbuff (Phil Sutter) [1855207] - [drm] drm/i915/rkl: new rkl ddc map for different PCH (Lyude Paul) [1910761] - [drm] drm/nouveau: fix dma syncing warning with debugging on (Lyude Paul) [1915548] - [drm] drm/i915: Update TGL and RKL HuC firmware versions (Lyude Paul) [1924209] - [drm] drm/i915/tgl, rkl: Make Wa_1606700617/22010271021 permanent (Lyude Paul) [1924209] - [drm] drm/i915: Update gen12 forcewake table (Lyude Paul) [1924209] - [drm] drm/i915: Rename FORCEWAKE_BLITTER to FORCEWAKE_GT (Lyude Paul) [1924209] - [drm] drm/i915/display/fbc: Implement WA 22010751166 (Lyude Paul) [1924209] - [drm] drm/i915: Tweaked Wa_14010685332 for PCHs used on gen11 platforms (Lyude Paul) [1924209] - [drm] drm/i915: Reorder hpd init vs. display resume (Lyude Paul) [1921868] - [drm] drm/i915/dp: Don't use DPCD backlights that need PWM enable/disable (Lyude Paul) [1885406] - [drm] drm/dp: Revert "drm/dp: Introduce EDID-based quirks" (Lyude Paul) [1885406] - [drm] drm/i915/dp: Allow forcing specific interfaces through enable_dpcd_backlight (Lyude Paul) [1885406] - [drm] drm/i915/dp: Enable Intel's HDR backlight interface (only SDR for now) (Lyude Paul) [1885406] - [drm] drm/i915: Keep track of pwm-related backlight hooks separately (Lyude Paul) [1885406] - [drm] drm/i915: Pass port to intel_panel_bl_funcs.get() (Lyude Paul) [1885406] - [drm] drm/i915/dp: Add register definitions for Intel HDR backlight interface (Lyude Paul) [1885406] - [drm] drm/i915/dp: Rename eDP VESA backlight interface functions (Lyude Paul) [1885406] - [drm] drm/i915: Pass down brightness values to enable/disable backlight callbacks (Lyude Paul) [1885406] - [drm] drm/i915: Rename pwm_* backlight callbacks to ext_pwm_* (Lyude Paul) [1885406] - [drm] drm/i915/dp: Program source OUI on eDP panels (Lyude Paul) [1885406] - [drm] drm/i915: refactor panel backlight control functions. (v2) (Lyude Paul) [1885406] - [drm] drm/i915/backlight: fix CPU mode backlight takeover on LPT (Lyude Paul) [1885406] - [drm] drm/i915/dpcd_bl: uncheck PWM_PIN_CAP when detect eDP backlight capabilities (Lyude Paul) [1885406] - [drm] drm/i915: panel: Add get_vbt_pwm_freq() helper (Lyude Paul) [1885406] - [drm] drm/i915/dp: Tweak initial dpcd backlight.enabled value (Lyude Paul) [1885406] - [drm] kms: handle mDP connectors (Lyude Paul) [1876992] - [drm] drm/i915/tgl: Fix Combo PHY DPLL fractional divider for 38.4MHz ref clock (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Add new cdclk table (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Handle HTI (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Add DPLL4 support (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Add initial workarounds (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Handle new DPCLKA_CFGCR0 layout (Lyude Paul) [1876992] - [drm] drm/i915: Update TGL and RKL DMC firmware versions (Lyude Paul) [1876992] - [drm] drm/i915/gt: Program mocs:63 for cache eviction on gen9 (Lyude Paul) [1876992] - [drm] drm/i915/gt: Limit frequency drop to RPe on parking (Lyude Paul) [1876992] - [drm] drm/i915/gt: Retain default context state across shrinking (Lyude Paul) [1876992] - [drm] drm/amdgpu/vcn3.0: remove old DPG workaround (Lyude Paul) [1876992] - [drm] drm/amdgpu/vcn3.0: stall DPG when WPTR/RPTR reset (Lyude Paul) [1876992] - [drm] drm/i915/gt: Fixup tgl mocs for PTE tracking (Lyude Paul) [1876992] - [drm] drm/amdgpu: add rlc iram and dram firmware support (Lyude Paul) [1876992] - [drm] drm/nouveau: fix relocations applying logic and a double-free (Lyude Paul) [1876992] - [drm] drm/amd/display: Avoid HDCP initialization in devices without output (Lyude Paul) [1876992] - [drm] drm/amd/amdgpu: fix null pointer in runtime pm (Lyude Paul) [1876992] - [drm] drm/amdgpu: update golden setting for sienna_cichlid (Lyude Paul) [1876992] - [drm] drm/amdgpu: fix a page fault (Lyude Paul) [1876992] - [drm] drm/amdgpu: fix SI UVD firmware validate resume fail (Lyude Paul) [1876992] - [drm] drm/i915/tgl: Fix Media power gate sequence (Lyude Paul) [1876992] - [drm] drm/i915: Handle max_bpc==16 (Lyude Paul) [1876992] - [drm] drm/amd/display: Add missing pflip irq for dcn2.0 (Lyude Paul) [1876992] - [drm] drm/gma500: Fix out-of-bounds access to struct drm_device.vblank (Lyude Paul) [1876992] - [drm] drm/i915: Correctly set SFC capability for video engines (Lyude Paul) [1876992] - [drm] drm/amd/display: Add missing pflip irq (Lyude Paul) [1876992] - [drm] drm/amd/pm: do not use ixFEATURE_STATUS for checking smc running (Lyude Paul) [1876992] - [drm] drm/amd/pm: perform SMC reset on suspend/hibernation (Lyude Paul) [1876992] - [drm] drm/amd/pm: correct the baco reset sequence for CI ASICs (Lyude Paul) [1876992] - [drm] drm/amdgpu: perform srbm soft reset always on SDMA resume (Lyude Paul) [1876992] - [drm] drm/i915/gem: Flush coherency domains on first set-domain-ioctl (Lyude Paul) [1876992] - [drm] drm/i915: Hold onto an explicit ref to i915_vma_work.pinned (Lyude Paul) [1876992] - [drm] drm/i915/gt: Use the local HWSP offset during submission (Lyude Paul) [1876992] - [drm] drm/i915: Fix encoder lookup during PSR atomic check (Lyude Paul) [1876992] - [drm] drm/nouveau/gem: fix "refcount_t: underflow; use-after-free" (Lyude Paul) [1876992] - [drm] drm/nouveau/nouveau: fix the start/end range for migration (Lyude Paul) [1876992] - [drm] drm/amd/display: adding ddc_gpio_vga_reg_list to ddc reg def'ns (Lyude Paul) [1876992] - [drm] drm/amd/display: Fixed panic during seamless boot (Lyude Paul) [1876992] - [drm] drm/amdgpu: add DID for navi10 blockchain SKU (Lyude Paul) [1876992] - [drm] drm/amdgpu: disable DCN and VCN for navi10 blockchain SKU(v3) (Lyude Paul) [1876992] - [drm] drm/amdgpu: resolved ASD loading issue on sienna (Lyude Paul) [1876992] - [drm] drm/amdgpu: update golden setting for sienna_cichlid (Lyude Paul) [1876992] - [drm] drm/nouveau/device: fix changing endianess code to work on older GPUs (Lyude Paul) [1876992] - [drm] drm/nouveau/kms/nv50-: Program notifier offset before requesting disp caps (Lyude Paul) [1876992] - [drm] drm/i915: Restore ILK-M RPS support (Lyude Paul) [1876992] - [drm] drm/i915: Reject 90/270 degree rotated initial fbs (Lyude Paul) [1876992] - [drm] drm/i915: Use the active reference on the vma while capturing (Lyude Paul) [1876992] - [drm] drm/i915: Mark ininitial fb obj as WT on eLLC machines to avoid rcu lockup during fbdev init (Lyude Paul) [1876992] - [drm] drm/i915: Exclude low pages (128KiB) of stolen from use (Lyude Paul) [1876992] - [drm] drm/i915: Drop runtime-pm assert from vgpu io accessors (Lyude Paul) [1876992] - [drm] drm/i915/gt: Delay execlist processing for tgl (Lyude Paul) [1876992] - [drm] drm/i915/gt: Undo forced context restores after trivial preemptions (Lyude Paul) [1876992] - [drm] drm/i915/gt: Initialize reserved and unspecified MOCS indices (Lyude Paul) [1876992] - [drm] drm/i915: Fix TGL DKL PHY DP vswing handling (Lyude Paul) [1876992] - [drm] drm/i915: Avoid mixing integer types during batch copies (Lyude Paul) [1876992] - [drm] drm/i915: Cancel outstanding work after disabling heartbeats on an engine (Lyude Paul) [1876992] - [drm] drm/i915: Break up error capture compression loops with cond_resched() (Lyude Paul) [1876992] - [drm] drm/i915/gt: Always send a pulse down the engine after disabling heartbeat (Lyude Paul) [1876992] - [drm] drm/i915/gem: Always test execution status on closing the context (Lyude Paul) [1876992] - [drm] drm/i915/gem: Prevent using pgprot_writecombine() if PAT is not supported (Lyude Paul) [1876992] - [drm] drm/i915/gem: Avoid implicit vmap for highmem on x86-32 (Lyude Paul) [1876992] - [drm] drm/amdgpu: correct the cu and rb info for sienna cichlid (Lyude Paul) [1876992] - [drm] drm/amd/psp: Fix sysfs: cannot create duplicate filename (Lyude Paul) [1876992] - [drm] drm/amd/swsmu: add missing feature map for sienna_cichlid (Lyude Paul) [1876992] - [drm] drm/amd/pm: fix pp_dpm_fclk (Lyude Paul) [1876992] - [drm] drm/amd/pm: increase mclk switch threshold to 200 us (Lyude Paul) [1876992] - [drm] drm/amdgpu/swsmu: drop smu i2c bus on navi1x (Lyude Paul) [1876992] - [drm] drm/ttm: fix eviction valuable range check (Lyude Paul) [1876992] - [drm] drm/amd/display: Fix kernel panic by dal_gpio_open() error (Lyude Paul) [1876992] - [drm] drm/amd/display: Don't invoke kgdb_breakpoint() unconditionally (Lyude Paul) [1876992] - [drm] drm/amdgpu: increase the reserved VM size to 2MB (Lyude Paul) [1876992] - [drm] drm/amdgpu: add function to program pbb mode for sienna cichlid (Lyude Paul) [1876992] - [drm] drm/amd/display: Avoid MST manager resource leak (Lyude Paul) [1876992] - [drm] drm/amdkfd: Use same SQ prefetch setting as amdgpu (Lyude Paul) [1876992] - [drm] drm/amdgpu: correct the gpu reset handling for job != NULL case (Lyude Paul) [1876992] - [drm] drm/amdgpu: update golden setting for sienna_cichlid (Lyude Paul) [1876992] - [drm] drm/amdgpu: vcn and jpeg ring synchronization (Lyude Paul) [1876992] - [drm] drm/amd/display: Increase timeout for DP Disable (Lyude Paul) [1876992] - [drm] drm/amd/display: Fix incorrect backlight register offset for DCN (Lyude Paul) [1876992] - [drm] drm/amdgpu: don't map BO in reserved region (Lyude Paul) [1876992] - [drm] drm/shme-helpers: Fix dma_buf_mmap forwarding bug (Lyude Paul) [1876992] - [drm] drm/i915: Force VT'd workarounds when running as a guest OS (Lyude Paul) [1876992] - [drm] drm/amd/display: Avoid set zero in the requested clk (Lyude Paul) [1876992] - [drm] drm/amd/display: HDMI remote sink need mode validation for Linux (Lyude Paul) [1876992] - [drm] drm/amdgpu: No sysfs, not an error condition (Lyude Paul) [1876992] - [drm] drm/amd/display: Check clock table return (Lyude Paul) [1876992] - [drm] drm/bridge/synopsys: dsi: add support for non-continuous HS clock (Lyude Paul) [1876992] - [drm] drm/vkms: avoid warning in vkms_get_vblank_timestamp (Lyude Paul) [1876992] - [drm] drm/bridge_connector: Set default status connected for eDP connectors (Lyude Paul) [1876992] - [drm] drm/scheduler: Scheduler priority fixes (v2) (Lyude Paul) [1876992] - [drm] drm/amdgpu: restore ras flags when user resets eeprom(v2) (Lyude Paul) [1876992] - [drm] drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex (Lyude Paul) [1876992] - [drm] drm/amd/display: Disconnect pipe separetely when disable pipe split (Lyude Paul) [1876992] - [drm] drm/hisilicon: Code refactoring for hibmc_drv_de (Lyude Paul) [1876992] - [drm] drm/amd/display: Screen corruption on dual displays (DP+USB-C) (Lyude Paul) [1876992] - [drm] drm: fix double free for gbo in drm_gem_vram_init and drm_gem_vram_create (Lyude Paul) [1876992] - [drm] drm/amdgpu: Fix invalid number of character '{' in amdgpu_acpi_init (Lyude Paul) [1876992] - [drm] drm/amdgpu: fix max_entries calculation v4 (Lyude Paul) [1876992] - [drm] drm/crc-debugfs: Fix memleak in crc_control_write (Lyude Paul) [1876992] - [drm] drm/gma500: fix error check (Lyude Paul) [1876992] - [drm] drm/amd/display: fix potential integer overflow when shifting 32 bit variable bl_pwm (Lyude Paul) [1876992] - [drm] drm/vkms: add missing platform_device_unregister() in vkms_init() (Lyude Paul) [1876992] - [drm] drm/vgem: add missing platform_device_unregister() in vgem_init() (Lyude Paul) [1876992] - [drm] drm/amd/display: Fix wrong return value in dm_update_plane_state() (Lyude Paul) [1876992] - [drm] drm/vkms: fix xrgb on compute crc (Lyude Paul) [1876992] - [iommu] iommu/amd: Set iommu->int_enabled consistently when interrupts are set up (Vitaly Kuznetsov) [1915038] - [iommu] iommu/amd: Fix IOMMU interrupt generation in X2APIC mode (Vitaly Kuznetsov) [1915038] - [iommu] iommu/amd: Fix union of bitfields in intcapxt support (Vitaly Kuznetsov) [1915038] - [iommu] iommu/amd: Fix kerneldoc comments (Vitaly Kuznetsov) [1915038] - [x86] x86/irq: Prepare consolidation of irq_alloc_info (Vitaly Kuznetsov) [1915038] - [iommu] iommu/amd: Use msi_msg shadow structs (Vitaly Kuznetsov) [1915038] - [iommu] x86_irq_Rename_X86_IRQ_ALLOC_TYPE_MSI_to_reflect_PCI_dependency (Vitaly Kuznetsov) [1915038] - [netdrv] Revert "e1000e: disable s0ix entry and exit flows for ME systems" (Ken Cox) [1872412] - [netdrv] e1000e: fix S0ix flow to allow S0i3.2 subset entry (Ken Cox) [1872412]- dm table: fix DAX iterate_devices based device capability checks (Mike Snitzer) [1905679] - dm table: fix various whitespace issues with recent DAX code (Mike Snitzer) [1905679] - dm table: fix dax_dev NULL dereference in device_synchronous() (Mike Snitzer) [1905679] - dm: enable synchronous dax (Mike Snitzer) [1905679] - dm table: fix iterate_devices based device capability checks (Mike Snitzer) [1905679] - dm: remove special-casing of bio-based immutable singleton target on NVMe (Mike Snitzer) [1905679] - [s390] s390/dasd: Fix inconsistent kobject removal (Philipp Rudo) [1928106] - [powerpc] powerpc/perf/hv-24x7: Dont create sysfs event files for dummy events (Steve Best) [1927730] - [powerpc] powerpc/pseries/dlpar: handle ibm, configure-connector delay status (Steve Best) [1927371] - [x86] x86/kvm: Increase KVM_MAX_VCPUS to 2048 (Eduardo Habkost) [1840923]- Unbreak mount_capable() (Scott Mayhew) [1903983]- [powerpc] powerpc: fix wrong backport on Kernel lockdown for power (Diego Domingos) [1928778] - [powerpc] powerpc/kexec_file: fix FDT size estimation for kdump kernel (Steve Best) [1928105] - [kernel] sched/features: Distinguish between NORMAL and DEADLINE hrtick (Juri Lelli) [1912118] - [kernel] sched/features: Fix hrtick reprogramming (Juri Lelli) [1912118] - [scsi] scsi: lpfc: Fix EEH encountering oops with NVMe traffic (Dick Kennedy) [1854776] - [scsi] scsi: lpfc: Prevent duplicate requests to unregister with cpuhp framework (Dick Kennedy) [1894960] - [target] scsi: target: iscsi: Fix cmd abort fabric stop race (Maurizio Lombardi) [1908215]- [net] netfilter: nft_dynset: add timeout extension to template (Florian Westphal) [1906915] - [net] netfilter: nftables: fix possible UAF over chains from packet path in netns (Florian Westphal) [1906915] - [net] netfilter: flowtable: fix tcp and udp header checksum update (Florian Westphal) [1906915] - [net] netfilter: xt_recent: Fix attempt to update deleted entry (Florian Westphal) [1906915] - [net] netfilter: conntrack: connection timeout after re-register (Florian Westphal) [1906915] - [netdrv] ice: Fix MSI-X vector fallback logic (Jonathan Toppins) [1896639 1877645] - [netdrv] ice: Don't allow more channels than LAN MSI-X available (Jonathan Toppins) [1896639 1877645] - [net] netfilter: nf_nat: Fix memleak in nf_nat_init (Florian Westphal) [1906915] - [net] netfilter: xt_RATEEST: reject non-null terminated string from userspace (Florian Westphal) [1906915] - [include] net: flow_dissector: Wrap unionized VLAN fields in a struct (Florian Westphal) [1906915] - [net] netfilter: x_tables: Switch synchronization to RCU (Florian Westphal) [1906915] - [net] netfilter: nftables_offload: build mask based from the matching bytes (Florian Westphal) [1906915] - [net] netfilter: nft_payload: add C-VLAN offload support (Florian Westphal) [1906915] - [net] netfilter: nft_payload: add VLAN offload support (Florian Westphal) [1906915] - [net] netfilter: nf_tables_offload: allow ethernet interface type only (Florian Westphal) [1906915] - [net] netfilter: nftables_offload: set address type in control dissector (Florian Westphal) [1906915] - [net] netfilter: nf_tables: avoid false-postive lockdep splat (Florian Westphal) [1906915] - [net] netfilter: nf_tables: missing validation from the abort path (Florian Westphal) [1906915] - [net] netfilter: nftables: fix netlink report logic in flowtable and genid (Florian Westphal) [1906915] - [include] netfilter: nf_tables: constify nft_reg_load{8, 16, 64}() (Florian Westphal) [1906915] - [net] netfilter: nf_tables: Introduce new 64-bit helper register functions (Florian Westphal) [1906915] - [include] netfilter: nf_tables: drop include of module.h from nf_tables.h (Florian Westphal) [1906915] - [net] netfilter: nf_fwd_netdev: clear timestamp in forwarding path (Florian Westphal) [1906915] - [net] netfilter: ipset: prevent uninit-value in hash_ip6_add (Florian Westphal) [1906915] - [net] netfilter: use actual socket sk rather than skb sk when routing harder (Florian Westphal) [1906915] - [net] netfilter: ipv4: remove useless export_symbol (Florian Westphal) [1906915] - [net] netfilter: conntrack: don't set related state for different outer address (Florian Westphal) [1906915] - [fs] xfs: don't catch dax+reflink inodes as corruption in verifier (Bill O'Donnell) [1915510]- [powerpc] powerpc: Don't enable FSCR_SCV in init_FSCR_power9() (Gustavo Duarte) [1928399] - [netdrv] ibmvnic: Clear failover_pending if unable to schedule (Steve Best) [1926365] - [netdrv] ibmvnic: change IBMVNIC_MAX_IND_DESCS to 16 (Steve Best) [1928243] - [tools] perf powerpc: Fix printf conversion specifier for IP addresses (Steve Best) [1928209] - [tools] perf powerpc: Fix gap between kernel end and module start (Steve Best) [1928209] - [netdrv] i40e: Revert "i40e: don't report link up for a VF who hasn't enabled queues" (Stefan Assmann) [1838733] - [netdrv] i40e: acquire VSI pointer only after VF is initialized (Stefan Assmann) [1838733] - [netdrv] i40e: fix potential NULL pointer dereferencing (Stefan Assmann) [1838733] - [netdrv] i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs (Stefan Assmann) [1838733] - [netdrv] i40e, xsk: clear the status bits for the next_to_use descriptor (Stefan Assmann) [1838733] - [netdrv] i40e: avoid premature Rx buffer reuse (Stefan Assmann) [1838733] - [netdrv] i40e: Remove unnecessary sw_ring access from xsk Tx (Stefan Assmann) [1838733] - [netdrv] i40e: Fix removing driver while bare-metal VFs pass traffic (Stefan Assmann) [1838733] - [netdrv] i40e: report correct VF link speed when link state is set to enable (Stefan Assmann) [1838733] - [netdrv] i40e: remove redundant assignment (Stefan Assmann) [1838733] - [netdrv] i40e: Fix MAC address setting for a VF via Host/VM (Stefan Assmann) [1838733] - [netdrv] i40e: Allow changing FEC settings on X722 if supported by FW (Stefan Assmann) [1838733] - [netdrv] net: intel: Remove in_interrupt() warnings (Stefan Assmann) [1838733] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Stefan Assmann) [1838733] - [netdrv] i40e, xsk: uninitialized variable in i40e_clean_rx_irq_zc() (Stefan Assmann) [1838733] - [netdrv] i40e, xsk: move buffer allocation out of the Rx processing loop (Stefan Assmann) [1838733] - [netdrv] i40e: use 16B HW descriptors instead of 32B (Stefan Assmann) [1838733] - [netdrv] i40e, xsk: remove HW descriptor prefetch in AF_XDP path (Stefan Assmann) [1838733] - [netdrv] i40e: optimise prefetch page refcount (Stefan Assmann) [1838733] - [netdrv] i40e: not compute affinity_mask for IRQ (Stefan Assmann) [1838733] - [netdrv] i40e: Fix crash during removing i40e driver (Stefan Assmann) [1838733] - [netdrv] i40e: Set RX_ONLY mode for unicast promiscuous on VLAN (Stefan Assmann) [1838733] - [netdrv] PCI: Use 'pci_channel_state_t' instead of 'enum pci_channel_state' (Stefan Assmann) [1838733] - [netdrv] i40e: introduce new dump desc XDP command (Stefan Assmann) [1838733] - [netdrv] i40e: add XDP ring statistics to dump VSI debug output (Stefan Assmann) [1838733] - [netdrv] i40e: add XDP ring statistics to VSI stats (Stefan Assmann) [1838733] - [netdrv] i40e: move check of full Tx ring to outside of send loop (Stefan Assmann) [1838733] - [netdrv] i40e: eliminate division in napi_poll data path (Stefan Assmann) [1838733] - [netdrv] i40e: optimize AF_XDP Tx completion path (Stefan Assmann) [1838733] - [netdrv] i40e: Add support for a new feature Total Port Shutdown (Stefan Assmann) [1838733] - [netdrv] ethernet/intel: Convert fallthrough code comments (Stefan Assmann) [1838733] - [netdrv] i40e: Add support for 5Gbps cards (Stefan Assmann) [1838733] - [netdrv] net/intel: remove driver versions from Intel drivers (Stefan Assmann) [1838733] - [netdrv] i40e: Add a check to see if MFS is set (Stefan Assmann) [1838733] - [netdrv] i40e: detect and log info about pre-recovery mode (Stefan Assmann) [1838733] - [netdrv] i40e: make PF wait reset loop reliable (Stefan Assmann) [1838733] - [netdrv] i40e: remove unused defines (Stefan Assmann) [1838733] - [netdrv] i40e: Move client header location (Stefan Assmann) [1838733] - [netdrv] i40e: protect ring accesses with READ- and WRITE_ONCE (Stefan Assmann) [1838733] - [netdrv] i40e: Make i40e_shutdown_adminq() return void (Stefan Assmann) [1838733] - [netdrv] i40e: trivial fixup of comments in i40e_xsk.c (Stefan Assmann) [1838733] - [netdrv] i40e: Use scnprintf() for avoiding potential buffer overflow (Stefan Assmann) [1838733] - [netdrv] team: protect features update by RCU to avoid deadlock (Josef Oskera) [1909593] - [tools] bpf: selftests: remove test_progs LSM test (Yauheni Kaliuta) [1925911] - [net] bpf: Fix a verifier failure with xor (Yauheni Kaliuta) [1925911] - [tools] selftests: Remove fmod_ret from test_overhead (Jiri Olsa) [1925911] - [s390] s390/kdump: fix out-of-memory with PCI (Philipp Rudo) [1927744] - [x86] x86/intel_split_lock: Really Disable split lock detector by default in RHEL8 (Prarit Bhargava) [1924578] - [scsi] megaraid_sas: re-add certain pci-ids as unsupported (Tomas Henzl) [1761485] - [scsi] megaraid_sas: mark unsupported devices (Tomas Henzl) [1761485] - [pci] rh_taint: add support function (Tomas Henzl) [1761485] - [powerpc] powerpc/xmon: Restrict when kernel is locked down (Diego Domingos) [1853307] - [powerpc] powerpc/xmon: add read-only mode (Diego Domingos) [1853307] - [powerpc] powerpc: lock down kernel in secure boot mode (Diego Domingos) [1853307] - [net] fix iteration for sctp transport seq_files (Xin Long) [1916824] - [tools] x86: xen: insn: Decode Xen and KVM emulate-prefix signature (Michael Petlan) [1867733] - [tools] objtool: Ignore intentional differences for the x86 insn decoder (Michael Petlan) [1867733] - [x86] x86/insn: Add Control-flow Enforcement (CET) instructions to the opcode map (Michael Petlan) [1867733] - [x86] x86/decoder: Add TEST opcode to Group3-2 (Michael Petlan) [1867733] - [x86] x86/insn: Add some more Intel instructions to the opcode map (Michael Petlan) [1867733] - [x86] x86/insn: Add some Intel instructions to the opcode map (Michael Petlan) [1867733] - [net] udp: call udp_encap_enable for v6 sockets when enabling encap (Xin Long) [1907754] - [fs] close_range: unshare all fds for CLOSE_RANGE_UNSHARE | CLOSE_RANGE_CLOEXEC (Pavel Reichl) [1900674] - [fs] fs, close_range: add flag CLOSE_RANGE_CLOEXEC (Pavel Reichl) [1900674] - [tools] tests: close_range - Replace clone3 with clone (Pavel Reichl) [1900674] - [tools] selftests: core: use SKIP instead of XFAIL in close_range_test.c (Pavel Reichl) [1900674] - [tools] tools headers API: Update close_range affected files (Pavel Reichl) [1900674] - [tools] tests: add CLOSE_RANGE_UNSHARE tests (Pavel Reichl) [1900674] - [fs] close_range: add CLOSE_RANGE_UNSHARE (Pavel Reichl) [1900674] - [tools] tests: add close_range() tests (Pavel Reichl) [1900674] - [powerpc] arch: wire-up close_range() (Pavel Reichl) [1900674] - [fs] open: add close_range() (Pavel Reichl) [1900674] - [x86] x86/sgx: mark tech preview (Vladis Dronov) [1660337] - [tools] tools headers cpufeatures: Sync with the kernel sources (Vladis Dronov) [1660337] - [tools] tools arch x86: Sync the msr-index.h copy with the kernel sources (Vladis Dronov) [1660337] - [tools] tools arch x86: Sync the msr-index.h copy with the kernel sources (Vladis Dronov) [1660337] - [x86] x86/sgx: Drop racy follow_pfn() check (Vladis Dronov) [1660337] - [x86] x86/sgx: Fix the return type of sgx_init() (Vladis Dronov) [1660337] - [x86] x86/sgx: Return -EINVAL on a zero length buffer in sgx_ioc_enclave_add_pages() (Vladis Dronov) [1660337] - [x86] x86/sgx: Fix a typo in kernel-doc markup (Vladis Dronov) [1660337] - [x86] x86/sgx: Fix sgx_ioc_enclave_provision() kernel-doc comment (Vladis Dronov) [1660337] - [x86] x86/sgx: Return -ERESTARTSYS in sgx_ioc_enclave_add_pages() (Vladis Dronov) [1660337] - [tools] selftests/sgx: Use a statically generated 3072-bit RSA key (Vladis Dronov) [1660337] - [x86] x86/sgx: Clarify 'laundry_list' locking (Vladis Dronov) [1660337] - [documentation] Documentation/x86: Document SGX kernel architecture (Vladis Dronov) [1660337] - [x86] x86/sgx: Add ptrace() support for the SGX driver (Vladis Dronov) [1660337] - [x86] x86/sgx: Add a page reclaimer (Vladis Dronov) [1660337] - [tools] selftests/x86: Add a selftest for SGX (Vladis Dronov) [1660337] - [x86] x86/vdso: Implement a vDSO for Intel SGX enclave call (Vladis Dronov) [1660337] - [mm] x86/traps: Attempt to fixup exceptions in vDSO before signaling (Vladis Dronov) [1660337] - [mm] x86/fault: Add a helper function to sanitize error code (Vladis Dronov) [1660337] - [x86] x86/vdso: Add support for exception fixup in vDSO functions (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX_IOC_ENCLAVE_PROVISION (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX_IOC_ENCLAVE_INIT (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX_IOC_ENCLAVE_ADD_PAGES (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX_IOC_ENCLAVE_CREATE (Vladis Dronov) [1660337] - [x86] x86/sgx: Add an SGX misc driver interface (Vladis Dronov) [1660337] - [mm] mm: Add 'mprotect' hook to struct vm_operations_struct (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX page allocator functions (Vladis Dronov) [1660337] - [x86] x86/cpu/intel: Add a nosgx kernel parameter (Vladis Dronov) [1660337] - [x86] x86/cpu/intel: Detect SGX support (Vladis Dronov) [1660337] - [mm] x86/mm: Signal SIGSEGV with PF_SGX (Vladis Dronov) [1660337] - [x86] x86/sgx: Initialize metadata for Enclave Page Cache (EPC) sections (Vladis Dronov) [1660337] - [x86] x86/{cpufeatures, msr}: Add Intel SGX Launch Control hardware bits (Vladis Dronov) [1660337] - [x86] x86/cpufeatures: Add Intel SGX hardware bits (Vladis Dronov) [1660337] - [x86] x86/sgx: Add wrappers for ENCLS functions (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX architectural data structures (Vladis Dronov) [1660337] - [mm] x86/fault: Make error_code sanitization more robust (Vladis Dronov) [1660337] - [video] vgacon: remove software scrollback support (Chris von Recklinghausen) [1883596] - [tools] libbpf: fix backport of "libbpf: Remove any use of reallocarray() in libbpf" (Jiri Benc) [1924711] - [net] bpf: Prevent double bpf_prog_put call from bpf_tracing_prog_attach (Jiri Benc) [1924711] - [tools] selftests/bpf: Adding test for arg dereference in extension trace (Jiri Benc) [1924711] - [tools] selftests: Add selftest for disallowing modify_return attachment to freplace (Jiri Benc) [1924711] - [tools] selftests: Add test for multiple attachments of freplace program (Jiri Benc) [1924711] - [tools] selftests/bpf: Turn fexit_bpf2bpf into test with subtests (Jiri Benc) [1924711] - [tools] libbpf: Add support for freplace attachment in bpf_link_create (Jiri Benc) [1924711] - [net] bpf: Fix context type resolving for extension programs (Jiri Benc) [1924711] - [net] bpf: Support attaching freplace programs to multiple attach points (Jiri Benc) [1924711] - [net] bpf: Move prog->aux->linked_prog and trampoline into bpf_link on attach (Jiri Benc) [1924711] - [net] bpf: verifier: refactor check_attach_btf_id() (Jiri Benc) [1924711] - [net] bpf: change logging calls from verbose() to bpf_log() and use log pointer (Jiri Benc) [1924711] - [net] bpf: disallow attaching modify_return tracing functions to other BPF programs (Jiri Benc) [1924711] - [mm] kasan: fix incorrect arguments passing in kasan_add_zero_shadow (Waiman Long) [1921394] - [mm] kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow (Waiman Long) [1921394] - [mm] mm: memcg/slab: optimize objcg stock draining (Waiman Long) [1921394] - [mm] mm: don't wake kswapd prematurely when watermark boosting is disabled (Waiman Long) [1921394] - [mm] mm/vmalloc.c: fix kasan shadow poisoning size (Waiman Long) [1921394] - [mm] mm/vmalloc: Fix unlock order in s_stop() (Waiman Long) [1921394] - [mm] mm/swapfile: do not sleep with a spin lock held (Waiman Long) [1921394] - [mm] mm: list_lru: set shrinker map bit when child nr_items is not zero (Waiman Long) [1921394] - [mm] mm: mempolicy: fix potential pte_unmap_unlock pte error (Waiman Long) [1921394] - [mm] mm/mmu_notifier: fix mmget() assert in __mmu_interval_notifier_insert (Waiman Long) [1921394] - [mm] mm/swapfile.c: fix potential memory leak in sys_swapon (Waiman Long) [1921394] - [mm] mm: validate pmd after splitting (Waiman Long) [1921394] - [mm] hugetlb_cgroup: convert comma to semicolon (Waiman Long) [1921394] - [mm] mm/memory_hotplug: fix unpaired mem_hotplug_begin/done (Waiman Long) [1921394] - [mm] khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter() (Waiman Long) [1921394] - [mm] khugepaged: khugepaged_test_exit() check mmget_still_valid() (Waiman Long) [1921394] - [mm] mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible (Waiman Long) [1921394] - [mm] mm/hugetlb.c: clean code by removing unnecessary initialization (Waiman Long) [1921394] - [mm] mm/sparse: never partially remove memmap for early section (Waiman Long) [1921394] - [mm] mm/sparse: fix kernel crash with pfn_section_valid check (Waiman Long) [1921394] - [mm] mm/shuffle: don't move pages between zones and don't read garbage memmaps (Waiman Long) [1921394] - [mm] mm/sparse: rename pfn_present() to pfn_in_present_section() (Waiman Long) [1921394] - [powerpc] powerpc/pseries: Advance pfn if section is not present in lmb_is_removable() (Waiman Long) [1921394] - [powerpc] powerpc/pseries/hotplug-memory: Change rc variable to bool (Waiman Long) [1921394] - [mm] mm/gup: fix fixup_user_fault() on multiple retries (Waiman Long) [1921394] - [mm] mm/gup: Let __get_user_pages_locked() return -EINTR for fatal signal (Waiman Long) [1921394] - [mm] mm/mempolicy: Allow lookup_node() to handle fatal signal (Waiman Long) [1921394] - [include] include/linux/memremap.h: remove stale comments (Waiman Long) [1921394] - [mm] mm/sparsemem: get address to page struct instead of address to pfn (Waiman Long) [1921394] - [fs] hibernate: Allow uswsusp to write to swap (Waiman Long) [1921394] - [mm] mm/hotplug: fix hot remove failure in SPARSEMEM|!VMEMMAP case (Waiman Long) [1921394] - [mm] mm/hmm: add missing call to hmm_pte_need_fault in HMM_PFN_SPECIAL handling (Waiman Long) [1921394] - [mm] mm/hmm: add missing unmaps of the ptep during hmm_vma_handle_pte() (Waiman Long) [1921394] - [mm] mm/hmm: allow snapshot of the special zero page (Waiman Long) [1921394] - [mm] mm/hmm: a few more C style and comment clean ups (Waiman Long) [1921394] - [mm] mm/sparse.c: do not waste pre allocated memmap space (Waiman Long) [1921394] - [mm] mm/sparse: consistently do not zero memmap (Waiman Long) [1921394] - [mm] mm/gup: fix a misnamed "write" argument, and a related bug (Waiman Long) [1921394] - [powerpc] treewide: add checks for the return value of memblock_alloc*() (Waiman Long) [1921394] - [kvm] KVM: x86: Expose AVX512_FP16 for supported CPUID (Paul Lai) [1838734] - [x86] x86: Enumerate AVX512 FP16 CPUID feature flag (Paul Lai) [1838734] - [kvm] x86/kvm: Expose TSX Suspend Load Tracking feature (Paul Lai) [1838734] - [net] sched: act_ct: enable stats for HW offloaded entries (Marcelo Leitner) [1909257] - [scsi] scsi: fnic: Validate io_req before others (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Set scsi_set_resid() only for underflow (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Change shost_printk() to FNIC_MAIN_DBG() (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Avoid looping in TRANS ETH on unload (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Change shost_printk() to FNIC_FCS_DBG() (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Simplify the return expression of vnic_wq_copy_alloc() (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Fix inconsistent format argument type in fnic_debugfs.c (Govindarajulu Varadarajan) [1845720] - [x86] perf/x86/intel/uncore: Fix the scale of the IMC free-running events (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Reduce the number of CBOX counters (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Update Ice Lake uncore units (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Split the Ice Lake and Tiger Lake MSR uncore support (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Support PCIe3 unit on Snow Ridge (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Generic support for the PCI sub driver (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Factor out uncore_pci_pmu_unregister() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Factor out uncore_pci_pmu_register() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Factor out uncore_pci_find_dev_pmu() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Factor out uncore_pci_get_dev_die_info() (Michael Petlan) [1884818 1908305]- [mmc] mmc: sdhci-acpi: For amd device set driver type as MMC_SET_DRIVER_TYPE_A (David Arcari) [1906067] - [pinctrl] pinctrl: Added IRQF_SHARED flag for amd-pinctrl driver (David Arcari) [1906067] - [block] block: export blk_mq_make_request (Ming Lei) [1917913] - [platform] platform/x86: dell-wmi-sysman: fix a NULL pointer dereference (Perry Yuan) [1922587] - [platform] platform/x86: dell-wmi-sysman: work around for BIOS bug (Juan Martinez) [1504859] - [platform] platform/x86: dell-wmi-sysman: fix init_bios_attributes() error handling (Juan Martinez) [1504859] - [platform] platform/x86/dell-wmi-sysman: Make some symbols static (Juan Martinez) [1504859] - [platform] platform/x86/dell-wmi-sysman: Make wmi_sysman_kobj_sysfs_ops static (Juan Martinez) [1504859] - [documentation] docs: ABI: sysfs-class-firmware-attributes: solve some warnings (Juan Martinez) [1504859] - [platform] platform/x86: Use appropriate module alias macro for this kernel (Juan Martinez) [1504859] - [platform] platform/x86: Introduce support for Systems Management Driver over WMI for Dell Systems (Juan Martinez) [1504859] - [md] dm: eliminate potential source of excessive kernel log noise (Mike Snitzer) [1876840] - [scsi] scsi: sd: Suppress spurious errors when WRITE SAME is being disabled (Ewan Milne) [1871060] - [net] libceph, ceph: disambiguate ceph_connection_operations handlers (Jeff Layton) [1893177] - [net] libceph: zero out session key and connection secret (Jeff Layton) [1893177] - [include] libceph: add __maybe_unused to DEFINE_MSGR2_FEATURE (Jeff Layton) [1893177] - [net] libceph: align session_key and con_secret to 16 bytes (Jeff Layton) [1893177] - [net] libceph: fix auth_signature buffer allocation in secure mode (Jeff Layton) [1893177] - [fs] ceph: reencode gid_list when reconnecting (Jeff Layton) [1893177] - [net] libceph: drop ceph_auth_{create, update}_authorizer() (Jeff Layton) [1893177] - [fs] libceph, ceph: make use of __ceph_auth_get_authorizer() in msgr1 (Jeff Layton) [1893177] - [net] libceph, ceph: implement msgr2.1 protocol (crc and secure modes) (Jeff Layton) [1893177] - [net] libceph: introduce connection modes and ms_mode option (Jeff Layton) [1893177] - [block] libceph, rbd: ignore addr->type while comparing in some cases (Jeff Layton) [1893177] - [net] libceph, ceph: get and handle cluster maps with addrvecs (Jeff Layton) [1893177] - [net] libceph: factor out finish_auth() (Jeff Layton) [1893177] - [net] libceph: drop ac->ops->name field (Jeff Layton) [1893177] - [net] libceph: amend cephx init_protocol() and build_request() (Jeff Layton) [1893177] - [net] libceph, ceph: incorporate nautilus cephx changes (Jeff Layton) [1893177] - [net] libceph: safer en/decoding of cephx requests and replies (Jeff Layton) [1893177] - [net] libceph: more insight into ticket expiry and invalidation (Jeff Layton) [1893177] - [net] libceph: move msgr1 protocol specific fields to its own struct (Jeff Layton) [1893177] - [net] libceph: move msgr1 protocol implementation to its own file (Jeff Layton) [1893177] - [net] libceph: use sendpage_ok() in ceph_tcp_sendpage() (Jeff Layton) [1893177] - [net] net: introduce helper sendpage_ok() in include/linux/net.h (Jeff Layton) [1893177] - [net] libceph: separate msgr1 protocol implementation (Jeff Layton) [1893177] - [net] libceph: export remaining protocol independent infrastructure (Jeff Layton) [1893177] - [net] libceph: export zero_page (Jeff Layton) [1893177] - [net] libceph: rename and export con->flags bits (Jeff Layton) [1893177] - [net] libceph: rename and export con->state states (Jeff Layton) [1893177] - [net] libceph: make con->state an int (Jeff Layton) [1893177] - [net] libceph: don't export ceph_messenger_{init_fini}() to modules (Jeff Layton) [1893177] - [net] libceph: make sure our addr->port is zero and addr->nonce is non-zero (Jeff Layton) [1893177] - [net] libceph: factor out ceph_con_get_out_msg() (Jeff Layton) [1893177] - [net] libceph: change ceph_con_in_msg_alloc() to take hdr (Jeff Layton) [1893177] - [net] libceph: change ceph_msg_data_cursor_init() to take cursor (Jeff Layton) [1893177] - [net] libceph: handle discarding acked and requeued messages separately (Jeff Layton) [1893177] - [net] libceph: drop msg->ack_stamp field (Jeff Layton) [1893177] - [net] libceph: remove redundant session reset log message (Jeff Layton) [1893177] - [net] libceph: clear con->peer_global_seq on RESETSESSION (Jeff Layton) [1893177] - [net] libceph: rename reset_connection() to ceph_con_reset_session() (Jeff Layton) [1893177] - [net] libceph: split protocol reset bits out of reset_connection() (Jeff Layton) [1893177] - [net] libceph: don't call reset_connection() on version/feature mismatches (Jeff Layton) [1893177] - [net] libceph: lower exponential backoff delay (Jeff Layton) [1893177] - [net] libceph: include middle_len in process_message() dout (Jeff Layton) [1893177] - [fs] ceph: implement updated ceph_mds_request_head structure (Jeff Layton) [1893177] - [fs] ceph: clean up argument lists to __prepare_send_request and __send_request (Jeff Layton) [1893177] - [fs] ceph: take a cred reference instead of tracking individual uid/gid (Jeff Layton) [1893177] - [fs] ceph: don't reach into request header for readdir info (Jeff Layton) [1893177] - [fs] ceph: set osdmap epoch for setxattr (Jeff Layton) [1893177] - [fs] ceph: remove redundant assignment to variable i (Jeff Layton) [1893177] - [fs] ceph: add ceph.caps vxattr (Jeff Layton) [1893177] - [fs] ceph: when filling trace, call ceph_get_inode outside of mutexes (Jeff Layton) [1893177] - [fs] Revert "ceph: allow rename operation under different quota realms" (Jeff Layton) [1893177] - [fs] ceph: fix inode refcount leak when ceph_fill_inode on non-I_NEW inode fails (Jeff Layton) [1893177] - [fs] ceph: downgrade warning from mdsmap decode to debug (Jeff Layton) [1893177] - [fs] ceph: fix race in concurrent __ceph_remove_cap invocations (Jeff Layton) [1893177] - [fs] ceph: pass down the flags to grab_cache_page_write_begin (Jeff Layton) [1893177] - [fs] ceph: add ceph.{cluster_fsid/client_id} vxattrs (Jeff Layton) [1893177] - [fs] ceph: add status debugfs file (Jeff Layton) [1893177] - [include] libceph: remove unused port macros (Jeff Layton) [1893177] - [fs] ceph: ensure we have Fs caps when fetching dir link count (Jeff Layton) [1893177] - [fs] ceph: send dentry lease metrics to MDS daemon (Jeff Layton) [1893177] - [fs] ceph: acquire Fs caps when getting dir stats (Jeff Layton) [1893177] - [fs] ceph: fix up some warnings on W=1 builds (Jeff Layton) [1893177] - [fs] ceph: queue MDS requests to REJECTED sessions when CLEANRECOVER is set (Jeff Layton) [1893177] - [fs] ceph: remove timeout on allowing reconnect after blocklisting (Jeff Layton) [1893177] - [fs] ceph: add new RECOVER mount_state when recovering session (Jeff Layton) [1893177] - [fs] ceph: make fsc->mount_state an int (Jeff Layton) [1893177] - [fs] ceph: don't WARN when removing caps due to blocklisting (Jeff Layton) [1893177] - [fs] ceph: check session state after bumping session->s_seq (Jeff Layton) [1893177] - [net] libceph: clear con->out_msg on Policy::stateful_server faults (Jeff Layton) [1893177] - [net] libceph: format ceph_entity_addr nonces as unsigned (Jeff Layton) [1893177] - [include] libceph: fix ENTITY_NAME format suggestion (Jeff Layton) [1893177] - [net] libceph: move a dout in queue_con_delay() (Jeff Layton) [1893177] - [fs] ceph: comment cleanups and clarifications (Jeff Layton) [1893177] - [fs] ceph: break up send_cap_msg (Jeff Layton) [1893177] - [fs] ceph: drop separate mdsc argument from __send_cap (Jeff Layton) [1893177] - [fs] ceph: promote to unsigned long long before shifting (Jeff Layton) [1893177] - [fs] ceph: don't SetPageError on readpage errors (Jeff Layton) [1893177] - [fs] ceph: mark ceph_fmt_xattr() as printf-like for better type checking (Jeff Layton) [1893177] - [fs] ceph: fold ceph_update_writeable_page into ceph_write_begin (Jeff Layton) [1893177] - [fs] ceph: fold ceph_sync_writepages into writepage_nounlock (Jeff Layton) [1893177] - [fs] ceph: fold ceph_sync_readpages into ceph_readpage (Jeff Layton) [1893177] - [fs] ceph: don't call ceph_update_writeable_page from page_mkwrite (Jeff Layton) [1893177] - [fs] ceph: break out writeback of incompatible snap context to separate function (Jeff Layton) [1893177] - [fs] ceph: add a note explaining session reject error string (Jeff Layton) [1893177] - [net] libceph: switch to the new "osd blocklist add" command (Jeff Layton) [1893177] - [fs] libceph, rbd, ceph: "blacklist" -> "blocklist" (Jeff Layton) [1893177] - [fs] ceph: have ceph_writepages_start call pagevec_lookup_range_tag (Jeff Layton) [1893177] - [fs] ceph: use kill_anon_super helper (Jeff Layton) [1893177] - [fs] ceph: metrics for opened files, pinned caps and opened inodes (Jeff Layton) [1893177] - [fs] ceph: add ceph_sb_to_mdsc helper support to parse the mdsc (Jeff Layton) [1893177] - [fs] ceph: drop special-casing for ITER_PIPE in ceph_sync_read (Jeff Layton) [1893177] - [fs] ceph: add column 'mds' to show caps in more user friendly (Jeff Layton) [1893177] - [include] libceph: multiple workspaces for CRUSH computations (Jeff Layton) [1893177] - [fs] ceph: remove unnecessary return in switch statement (Jeff Layton) [1893177] - [fs] ceph: encode inodes' parent/d_name in cap reconnect message (Jeff Layton) [1893177] - [include] libceph: add __maybe_unused to DEFINE_CEPH_FEATURE (Jeff Layton) [1893177] - [fs] ceph: use frag's MDS in either mode (Jeff Layton) [1893177] - [fs] ceph: move sb->wb_pagevec_pool to be a global mempool (Jeff Layton) [1893177] - [fs] ceph: remove redundant initialization of variable mds (Jeff Layton) [1893177] - [fs] ceph: fix use-after-free for fsc->mdsc (Jeff Layton) [1893177] - [fs] ceph: remove unused variables in ceph_mdsmap_decode() (Jeff Layton) [1893177] - [fs] ceph: delete repeated words in fs/ceph/ (Jeff Layton) [1893177] - [fs] ceph: send client provided metric flags in client metadata (Jeff Layton) [1893177] - [fs] ceph: periodically send perf metrics to MDSes (Jeff Layton) [1893177] - [fs] ceph: check the sesion state and return false in case it is closed (Jeff Layton) [1893177] - [net] libceph: replace HTTP links with HTTPS ones (Jeff Layton) [1893177] - [fs] ceph: remove unnecessary cast in kfree() (Jeff Layton) [1893177] - [net] libceph: just have osd_req_op_init() return a pointer (Jeff Layton) [1893177] - [fs] ceph: do not access the kiocb after aio requests (Jeff Layton) [1893177] - [fs] ceph: clean up and optimize ceph_check_delayed_caps() (Jeff Layton) [1893177] - [fs] ceph: fix potential mdsc use-after-free crash (Jeff Layton) [1893177] - [fs] ceph: switch to WARN_ON_ONCE in encode_supported_features() (Jeff Layton) [1893177] - [fs] ceph: add global total_caps to count the mdsc's total caps number (Jeff Layton) [1893177] - [fs] ceph: add check_session_state() helper and make it global (Jeff Layton) [1893177] - [net] libceph: dump class and method names on method calls (Jeff Layton) [1893177] - [net] libceph: use target_copy() in send_linger() (Jeff Layton) [1893177] - [fs] ceph: add metadata perf metric support (Jeff Layton) [1893177] - [fs] ceph: add read/write latency metric support (Jeff Layton) [1893177] - [fs] ceph: add caps perf metric for each superblock (Jeff Layton) [1893177] - [fs] ceph: add dentry lease metric support (Jeff Layton) [1893177] - [include] math64: New DIV64_U64_ROUND_CLOSEST helper (Jeff Layton) [1893177] - [tty] tty: Fix ->pgrp locking in tiocspgrp() (Waiman Long) [1908197] {CVE-2020-29661}- [mm] Revert "powerpc: Ensure that swiotlb buffer is allocated from low memory" (Diego Domingos) [1907131] - [fs] xfs: use ENOTBLK for direct I/O to buffered I/O fallback (Carlos Maiolino) [1922953] - [nvme] nvme-multipath: Early exit if no path is available (Gopal Tiwari) [1880508] - [scsi] scsi: lpfc: Add support for eh_should_retry_cmd() (Ewan Milne) [1801585] - [scsi] scsi: scsi_transport_fc: Add store capability to rport port_state in sysfs (Ewan Milne) [1801585] - [scsi] scsi: scsi_transport_fc: Add a new rport state FC_PORTSTATE_MARGINAL (Ewan Milne) [1801585] - [scsi] scsi: core: No retries on abort success (Ewan Milne) [1801585] - [scsi] scsi: core: Add a new error code DID_TRANSPORT_MARGINAL in scsi.h (Ewan Milne) [1801585] - [scsi] scsi: core: Add limitless cmd retry support (Ewan Milne) [1801585] - [fs] gfs2: Fix deadlock between gfs2_{create_inode, inode_lookup} and delete_work_func (Andreas Grunbacher) [1903190] - [fs] gfs2: Don't call cancel_delayed_work_sync from within delete work function (Andreas Grunbacher) [1903190] - [cpufreq] acpi-cpufreq: Honor _PSD table setting on new AMD CPUs (Terry Bowman) [1886943] - [x86] x86/cpufeatures: Enumerate TSX suspend load address tracking instructions (Josh Poimboeuf) [1836980] - [powerpc] powerpc/pseries/svm: Allocate SWIOTLB buffer anywhere in memory (Diego Domingos) [1869184] - [mm] powerpc: Ensure that swiotlb buffer is allocated from low memory (Diego Domingos) [1869184] - [fs] debugfs: Fix module state check condition (Vladis Dronov) [1866285] - [fs] debugfs: Check module state before warning in {full/open}_proxy_open() (Vladis Dronov) [1866285]- [firmware] efi: Don't attempt to map RCI2 config table if it doesn't exist (Lenny Szubowicz) [1779590] - [firmware] efi: Make CONFIG_EFI_RCI2_TABLE selectable on x86 only (Lenny Szubowicz) [1779590] - [firmware] efi: Make unexported efi_rci2_sysfs_init() static (Lenny Szubowicz) [1779590] - [iommu] iommu: use the __iommu_attach_device() directly for deferred attach (Lianbo Jiang) [1904658] - [iommu] dma-iommu: use static-key to minimize the impact in the fast-path (Lianbo Jiang) [1904658] - [x86] x86/PCI: sta2x11: use default DMA address translation (Jerry Snitselaar) [1887546] - [powerpc] powerpc: use the generic dma_ops_bypass mode (Jerry Snitselaar) [1887546] - [dma] dmaengine: fix error codes in channel_register() (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: off by one in cleanup code (Jerry Snitselaar) [1837187] - [documentation] dmaengine: idxd: Add ABI documentation for shared wq (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: Clean up descriptors with fault error (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: Add shared workqueue support (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix mapping of portal size (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix wq config registers offset programming (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: Allocate correct size for descriptor chunk (Jerry Snitselaar) [1837187] - [uapi] dmaengine: idxd: add missing invalid flags field to completion (Jerry Snitselaar) [1837187] - [uapi] dmaengine: idxd: fix hw descriptor fields for delta record (Jerry Snitselaar) [1837187] - [uapi] dmaengine: idxd: Merge definition of dsa_batch_desc into dsa_hw_desc (Jerry Snitselaar) [1838386 1837187] - [dma] dmaengine: dmatest: Return boolean result directly in filter() (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Check list for emptiness before access its last entry (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: Make two symbols static (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Print error codes as signed value (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: add command status to idxd sysfs attribute (Jerry Snitselaar) [1893465 1837187] - [dma] dmaengine: idxd: add support for configurable max wq batch size (Jerry Snitselaar) [1893468 1837187] - [dma] dmaengine: idxd: add support for configurable max wq xfer size (Jerry Snitselaar) [1893468 1837187] - [documentation] dmaengine: idxd: add leading / for sysfspath in ABI documentation (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: clear misc interrupt cause after read (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Prevent to run on misconfigured channel (Jerry Snitselaar) [1837187] - [dma] dmaengine: acpi: Put the CSRT table after using it (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: reset states after device disable or reset (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: move idxd interrupt handling to mask instead of ignore (Jerry Snitselaar) [1872374 1837187] - [dma] dmaengine: idxd: add work queue drain support (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: move submission to sbitmap_queue (Jerry Snitselaar) [1837187] - [dma] dmaengine: cookie bypass for out of order completion (Jerry Snitselaar) [1838893 1837187] - [dma] dmaengine: ioat setting ioat timeout as module parameter (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: stop completed threads when running without set channel (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix misc interrupt handler thread unmasking (Jerry Snitselaar) [1877126 1837187] - [dma] dmaengine: idxd: cleanup workqueue config after disabling (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix cdev locking for open and release (Jerry Snitselaar) [1837187] - [dma] dmaengine: Replace zero-length array with flexible-array (Jerry Snitselaar) [1837187] - [dma] dmaengine: Fix doc strings to satisfy validation script (Jerry Snitselaar) [1837187] - [dma] dmaengine: Include dmaengine.h into dmaengine.c (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Describe members of struct dmatest_info (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Describe members of struct dmatest_params (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Allow negative timeout value to specify infinite wait (Jerry Snitselaar) [1837187] - [dma] Revert "dmaengine: dmatest: timeout value of -1 should specify infinite wait" (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: adding missed issue_pending to timeout handler (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: remove unnesesery double complition timer modification (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: removing duplicate code from timeout handler (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: Decreasing allocation chunk size 2M->512K (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: fixing chunk sizing macros dependency (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: export hw version through sysfs (Jerry Snitselaar) [1838888 1837187] - [dma] dmaengine: dmatest: Restore default for channel (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix interrupt completion after unmasking (Jerry Snitselaar) [1838895 1837187] - [dma] dmaengine: dmatest: Fix process hang when reading 'wait' parameter (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Fix iteration non-stop logic (Jerry Snitselaar) [1837187] - [dma] dmaengine: fix channel index enumeration (Jerry Snitselaar) [1838390 1837187] - [include] include/linux/dmaengine: Typos fixes in API documentation (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: remove global token limit check (Jerry Snitselaar) [1838385 1837187] - [dma] dmaengine: idxd: reflect shadow copy of traffic class programming (Jerry Snitselaar) [1838381 1837187] - [dma] dmaengine: Create debug directories for DMA devices (Jerry Snitselaar) [1837187] - [dma] dmaengine: Add basic debugfs support (Jerry Snitselaar) [1837187] - [include] dmaengine: consistently return string literal from switch-case (Jerry Snitselaar) [1837187] - [include] dmaengine: Drop redundant 'else' keyword (Jerry Snitselaar) [1837187] - [include] dmaengine: Use negative condition for better readability (Jerry Snitselaar) [1837187] - [include] dmaengine: Refactor dmaengine_check_align() to be bit operations only (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: expose general capabilities register in sysfs (Jerry Snitselaar) [1837187 1836532] - [dma] dmaengine: idxd: check return result from check_vma() in cdev (Jerry Snitselaar) [1837187 1836530] - [dma] dmanegine: ioat/dca: Replace zero-length array with flexible-array member (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: remove set but not used variable 'idxd_cdev' (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: remove set but not used variable 'group' (Jerry Snitselaar) [1837187] - [documentation] dmaengine: idxd: add sysfs ABI for idxd driver (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix off by one on cdev dwq refcount (Jerry Snitselaar) [1838366 1837187] - [dma] dmaengine: idxd: wq size configuration needs to check global max size (Jerry Snitselaar) [1837187 1836579] - [dma] dmaengine: idxd: sysfs input of wq incorrect wq type should return error (Jerry Snitselaar) [1837187 1836585] - [dma] dmaengine: idxd: correct reserved token calculation (Jerry Snitselaar) [1837187 1836647] - [dma] dmaengine: idxd: Fix error handling in idxd_wq_cdev_dev_setup() (Jerry Snitselaar) [1838354 1837187] - [dma] dmaengine: idxd: fix runaway module ref count on device driver bind (Jerry Snitselaar) [1837187 1836649] - [dma] dmaengine: idxd: fix boolconv.cocci warnings (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: add char driver to expose submission portal to userland (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: connect idxd to dmaengine subsystem (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: add descriptor manipulation routines (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: add configuration component of driver (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: Init and probe for Intel data accelerators (Jerry Snitselaar) [1837187] - [include] io-64-nonatomic: add io{read|write}64{_lo_hi|_hi_lo} macros (Jerry Snitselaar) [1837187] - [powerpc] iomap: introduce io{read|write}64_{lo_hi|hi_lo} (Jerry Snitselaar) [1837187] - [lib] iomap: Use non-raw io functions for io{read|write}XXbe (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: use vchan_vdesc_fini() to free descriptors (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: Add missing locking around list operations (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: Do not call desc_free() under a spin_lock (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: remove debug message (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: Add missing locking (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: Support in-use unbind (Jerry Snitselaar) [1837187] - [dma] dmaengine: move .device_release missing log warning to debug level (Jerry Snitselaar) [1837187] - [dma] dmaengine: Cleanups for the slave <-> channel symlink support (Jerry Snitselaar) [1837187] - [dma] dmaengine: fix null ptr check for __dma_async_device_channel_register() (Jerry Snitselaar) [1837187] - [dma] dmaengine: Fix return value for dma_request_chan() in case of failure (Jerry Snitselaar) [1837187] - [dma] dmaengine: Create symlinks between DMA channels and slaves (Jerry Snitselaar) [1837187] - [dma] dmaengine: add support to dynamic register/unregister of channels (Jerry Snitselaar) [1837187] - [dma] dmaengine: break out channel registration (Jerry Snitselaar) [1837187] - [x86] x86/asm: Carve out a generic movdir64b() helper for general usage (Jerry Snitselaar) [1837187] - [x86] x86/asm: add iosubmit_cmds512() based on MOVDIR64B CPU instruction (Jerry Snitselaar) [1837187] - [dma] dmaengine: Move dma_get_{, any_}slave_channel() to private dmaengine.h (Jerry Snitselaar) [1837187] - [include] dmaengine: Remove dma_request_slave_channel_compat() wrapper (Jerry Snitselaar) [1837187] - [dma] dmaengine: Remove dma_device_satisfies_mask() wrapper (Jerry Snitselaar) [1837187] - [include] dmaengine: Add helper function to convert direction value to text (Jerry Snitselaar) [1837187] - [dma] dmaengine: Add support for reporting DMA cached data amount (Jerry Snitselaar) [1837187] - [dma] dmaengine: Add metadata_ops for dma_async_tx_descriptor (Jerry Snitselaar) [1837187] - [dma] dmaengine: print more meaningful error message (Jerry Snitselaar) [1837187] - [dma] dmaengine: move module_/dma_device_put() after route free (Jerry Snitselaar) [1837187] - [dma] dmaengine: Add reference counting to dma_device struct (Jerry Snitselaar) [1837187] - [dma] dmaengine: Move dma_channel_rebalance() infrastructure up in code (Jerry Snitselaar) [1837187] - [dma] dmaengine: Call module_put() after device_free_chan_resources() (Jerry Snitselaar) [1837187] - [dma] dmaengine: Store module owner in dma_device struct (Jerry Snitselaar) [1837187] - [include] dmaengine: Remove spaces before TABs (Jerry Snitselaar) [1837187] - [dma] ioat: ioat_alloc_ring() failure handling (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: Fix access after free in vchan_complete() (Jerry Snitselaar) [1837187] - [include] dmaengine: Fix access to uninitialized dma_slave_caps (Jerry Snitselaar) [1837187] - [dma] dmanegine: ioat/dca: Use struct_size() helper (Jerry Snitselaar) [1837187] - [dma] dmaengine: acpi: Add kernel doc parameter descriptions (Jerry Snitselaar) [1837187] - [dma] dmaengine: acpi: Set up DMA mask based on CSRT (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Add support for completion polling (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: store result on dma descriptor (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: timeout value of -1 should specify infinite wait (Jerry Snitselaar) [1837187] - [dma] dmaengine: Grammar s/the its/its/, s/need/needs/ (Jerry Snitselaar) [1837187] - [dma] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 (Jerry Snitselaar) [1837187] - [dma] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 (Jerry Snitselaar) [1837187] - [dma] treewide: Add SPDX license identifier - Makefile/Kconfig (Jerry Snitselaar) [1837187] - [dma] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jerry Snitselaar) [1837187] - [dma] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 7 (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: move test data alloc & free into functions (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: add short-hand `buf_size` var in dmatest_func() (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: wrap src & dst data into a struct (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Abort test in case of mapping error (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Add transfer_size parameter (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Add alignment parameter (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Use fixed point div to calculate iops (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Add support for multi channel testing (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: fix a small memory leak in dmatest_func() (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: move size checks earlier in function (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: use dmaengine_terminate_sync() instead (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: unmap data on a single code-path when xfer done (Jerry Snitselaar) [1837187] - [dma] dmaengine: idma64: replace spin_lock_irqsave with spin_lock (Jerry Snitselaar) [1837187] - [dma] dmaengine: idma: remove dma_slave_config direction usage (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: fix prototype of ioat_enumerate_channels (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioatdma: set the completion address register after channel reset (Jerry Snitselaar) [1837187] - [dma] dmaengine: idma64: Support dmaengine_terminate_sync() (Jerry Snitselaar) [1837187] - [dma] dmaengine: add a new helper dmaenginem_async_device_register (Jerry Snitselaar) [1837187] - [documentation] Documentation/x86: Add documentation for SVA (Shared Virtual Addressing) (Jerry Snitselaar) [1836777] - [iommu] iommu/vt-d: Change flags type to unsigned int in binding mm (Jerry Snitselaar) [1836777] - [drm] drm, iommu: Change type of pasid to u32 (Jerry Snitselaar) [1836777] - [x86] x86/asm: Add an enqcmds() wrapper for the ENQCMDS instruction (Jerry Snitselaar) [1837187] - [x86] x86/mmu: Allocate/free a PASID (Jerry Snitselaar) [1836777] - [x86] x86/cpufeatures: Mark ENQCMD as disabled when configured out (Jerry Snitselaar) [1836777] - [mm] mm: Add a pasid member to struct mm_struct (Jerry Snitselaar) [1836777] - [x86] x86/msr-index: Define an IA32_PASID MSR (Jerry Snitselaar) [1836777] - [x86] x86/fpu/xstate: Add supervisor PASID state for ENQCMD (Jerry Snitselaar) [1836777] - [x86] x86/cpufeatures: Enumerate ENQCMD and ENQCMDS instructions (Jerry Snitselaar) [1836777] - [x86] x86/fpu/xstate: Restore supervisor states for signal return (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Preserve supervisor states for the slow path in __fpu__restore_sig() (Jerry Snitselaar) [1837178] - [x86] x86/fpu: Introduce copy_supervisor_to_kernel() (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Update copy_kernel_to_xregs_err() for supervisor states (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Update sanitize_restored_xstate() for supervisor xstates (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Define new functions for clearing fpregs and xstates (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Introduce XSAVES supervisor states (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Separate user and supervisor xfeatures mask (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Define new macros for supervisor and user xstates (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Rename validate_xstate_header() to validate_user_xstate_header() (Jerry Snitselaar) [1837178] - [x86] copy_xstate_to_kernel: Fix typo which caused GDB regression (Jerry Snitselaar) [1837178] - [x86] copy_xstate_to_kernel(): don't leave parts of destination uninitialized (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Warn when checking alignment of disabled xfeatures (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Fix XSAVES offsets in setup_xstate_comp() (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Fix last_good_offset in setup_xstate_features() (Jerry Snitselaar) [1837178] - [x86] x86/fpu: Shrink space allocated for xstate_comp_offsets (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Make xfeature_is_supervisor()/xfeature_is_user() return bool (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Fix small issues (Jerry Snitselaar) [1837178] - [x86] x86/fpu: Use XFEATURE_FP/SSE enum values instead of hardcoded numbers (Jerry Snitselaar) [1837178] - [x86] x86/fpu: Use unsigned long long shift in xfeature_uncompacted_offset() (Jerry Snitselaar) [1837178] - [iommu] iommu/vt-d: Fix sid not set issue in intel_svm_bind_gpasid() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix kernel NULL pointer dereference in find_domain() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: include conditionally on CONFIG_INTEL_IOMMU_SVM (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix misuse of ALIGN in qi_flush_piotlb() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Don't read VCCAP register unless it exists (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Add SMMUv3.2 range invalidation support (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Batch ATC invalidation commands (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Add command queue batching helpers (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Add sanity check for interrupt remapping table length macros (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix lockdep splat in iommu_flush_dev_iotlb() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Restore IRTE.RemapEn bit for amd_iommu_activate_guest_mode (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Fix potential @entry null deref (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Handle 36bit addressing for x86-32 (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Do not use IOMMUv2 functionality when SME is active (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Do not force direct mapping when SME is active (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Use cmpxchg_double() when updating 128-bit IRTE (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Restore IRTE.RemapEn bit after programming IRTE (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix NULL pointer dereference in dev_iommu_priv_set() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Serialize IOMMU GCMD register modifications (Jerry Snitselaar) [1887546] - [dma] dma-pool: Fix an uninitialized variable bug in atomic_pool_expand() (Jerry Snitselaar) [1887546] - [dma] dma-pool: Only allocate from CMA when in same memory zone (Jerry Snitselaar) [1887546] - [dma] dma-pool: fix coherent pool allocations for IOMMU mappings (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Move Kconfig and Makefile bits down into amd directory (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Move Kconfig and Makefile bits down into intel directory (Jerry Snitselaar) [1887546] - [iommu] iommu: Add gfp parameter to io_pgtable_ops->map() (Jerry Snitselaar) [1887546] - [iommu] iommu: Mark __iommu_map_sg() as static (Jerry Snitselaar) [1887546] - [iommu] iommu: Tidy up Kconfig for SoC IOMMUs (Jerry Snitselaar) [1887546] - [iommu] iommu: Make some functions static (Jerry Snitselaar) [1887546] - [include] iommu: Move sg_table wrapper out of CONFIG_IOMMU_SUPPORT (Jerry Snitselaar) [1887546] - [powerpc] powerpc/dma: Remove dev->archdata.iommu_domain (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Remove double zero check (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Rename intel-pasid.h to pasid.h (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add page response ops support (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Report page request faults for guest SVA (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add a helper to get svm and sdev for pasid (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Refactor device_to_iommu() helper (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Disable multiple GPASID-dev bind (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Warn on out-of-range invalidation address (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix devTLB flush for vSVA (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Handle non-page aligned address (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix PASID devTLB invalidation (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Remove global page support in devTLB flush (Jerry Snitselaar) [1887546] - [include] iommu/vt-d: Enforce PASID devTLB field mask (Jerry Snitselaar) [1887546] - [iommu] iommu: Remove unused IOMMU_SYS_CACHE_ONLY flag (Jerry Snitselaar) [1887546] - [iommu] PCI/ATS: Add pci_pri_supported() to check device or associated PF (Jerry Snitselaar) [1887546] - [pci] PCI: Treat "external-facing" devices themselves as internal (Jerry Snitselaar) [1887546] - [documentation] docs: fix references for DMA*.txt files (Jerry Snitselaar) [1887546] - [dma] dma-contiguous: cleanup dma_alloc_contiguous (Jerry Snitselaar) [1887546] - [dma] dma-debug: use named initializers for dir2name (Jerry Snitselaar) [1887546] - [dma] dma-mapping: add a dma_ops_bypass flag to struct device (Jerry Snitselaar) [1887546] - [dma] dma-mapping: inline the fast path dma-direct calls (Jerry Snitselaar) [1887546] - [dma] dma-mapping: move the remaining DMA API calls out of line (Jerry Snitselaar) [1887546] - [dma] dma-mapping: don't BUG when calling dma_map_resource on RAM (Jerry Snitselaar) [1887546] - [of] of: Allow the iommu-map property to omit untranslated devices (Jerry Snitselaar) [1887546] - [iommu] treewide: Remove uninitialized_var() usage (Jerry Snitselaar) [1887546] - [dma] dma-pool: do not allocate pool memory from CMA (Jerry Snitselaar) [1887546] - [dma] dma-pool: make sure atomic pool suits device (Jerry Snitselaar) [1887546] - [dma] dma-pool: introduce dma_guess_pool() (Jerry Snitselaar) [1887546] - [dma] dma-pool: get rid of dma_in_atomic_pool() (Jerry Snitselaar) [1887546] - [dma] dma-direct: provide function to check physical memory area validity (Jerry Snitselaar) [1887546] - [documentation] docs: move DMA kAPI to Documentation/core-api (Jerry Snitselaar) [1887546] - [dma] dma-mapping: remove dma_mark_declared_memory_occupied (Jerry Snitselaar) [1887546] - [documentation] docs: DMA-API-HOWTO.txt: fix an unmarked code block (Jerry Snitselaar) [1887546] - [documentation] Documentation: DMA-API: fix a function name of max_mapping_size (Jerry Snitselaar) [1887546] - [documentation] docs: DMA-API-HOWTO: add a missing "=" (Jerry Snitselaar) [1887546] - [documentation] Documentation/DMA-API-HOWTO: update dma_mask sections (Jerry Snitselaar) [1887546] - [documentation] Documentation/DMA-ISA-LPC: fix an incorrect reference (Jerry Snitselaar) [1887546] - [documentation] Documentation: DMA-API: fix two typos (Jerry Snitselaar) [1887546] - [dma] dma-mapping: warn when coherent pool is depleted (Jerry Snitselaar) [1887546] - [dma] dma-remap: align the size in dma_common_*_remap() (Jerry Snitselaar) [1887546] - [dma] dma-mapping: DMA_COHERENT_POOL should select GENERIC_ALLOCATOR (Jerry Snitselaar) [1887546] - [dma] dma-direct: add missing set_memory_decrypted() for coherent mapping (Jerry Snitselaar) [1887546] - [dma] dma-direct: check return value when encrypting or decrypting memory (Jerry Snitselaar) [1887546] - [dma] dma-direct: re-encrypt memory if dma_direct_alloc_pages() fails (Jerry Snitselaar) [1887546] - [dma] dma-direct: always align allocation size in dma_direct_alloc_pages() (Jerry Snitselaar) [1887546] - [dma] dma-direct: mark __dma_direct_alloc_pages static (Jerry Snitselaar) [1887546] - [dma] dma-direct: re-enable mmap for !CONFIG_MMU (Jerry Snitselaar) [1887546] - [dma] dma-pool: decouple DMA_REMAP from DMA_COHERENT_POOL (Jerry Snitselaar) [1887546] - [message] scsi: mptfusion: Don't use GFP_ATOMIC for larger DMA allocations (Jerry Snitselaar) [1887546] - [dma] dma-pool: fix too large DMA pools on medium memory size systems (Jerry Snitselaar) [1887546] - [iommu] treewide: replace '---help---' in Kconfig files with 'help' (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Make remove callback message more informative (Jerry Snitselaar) [1887546] - [include] iommu: add generic helper for mapping sgtable objects (Jerry Snitselaar) [1887546] - [dma] dma-contiguous: fix comment for dma_release_from_contiguous (Jerry Snitselaar) [1887546] - [dma] dma-pool: scale the default DMA coherent pool size with memory capacity (Jerry Snitselaar) [1887546] - [x86] x86/mm: unencrypted non-blocking DMA allocations use coherent pools (Jerry Snitselaar) [1887546] - [dma] dma-pool: add pool sizes to debugfs (Jerry Snitselaar) [1887546] - [dma] dma-direct: atomic allocations must come from atomic coherent pools (Jerry Snitselaar) [1887546] - [dma] dma-pool: dynamically expanding atomic pools (Jerry Snitselaar) [1887546] - [dma] dma-pool: add additional coherent pools to map to gfp mask (Jerry Snitselaar) [1887546] - [dma] dma-remap: separate DMA atomic pools from direct remap code (Jerry Snitselaar) [1887546] - [dma] dma-mapping: use vmap insted of reimplementing it (Jerry Snitselaar) [1887546] - [dma] dma-debug: make __dma_entry_alloc_check_leak() static (Jerry Snitselaar) [1887546] - [dma] dma: debug: no need to check return value of debugfs_create functions (Jerry Snitselaar) [1887546] - [dma] dma-debug: Batch dma_debug_entry allocation (Jerry Snitselaar) [1887546] - [dma] dma/debug: Remove dma_debug_resize_entries() (Jerry Snitselaar) [1887546] - [dma] dma-debug: Make leak-like behaviour apparent (Jerry Snitselaar) [1887546] - [dma] dma-debug: Dynamically expand the dma_debug_entry pool (Jerry Snitselaar) [1887546] - [dma] dma-debug: Use pr_fmt() (Jerry Snitselaar) [1887546] - [dma] dma-debug: Expose nr_total_entries in debugfs (Jerry Snitselaar) [1887546] - [dma] dma-debug: fix displaying of dma allocation type (Jerry Snitselaar) [1887546] - [dma] dma-direct: fix data truncation in dma_direct_get_required_mask() (Jerry Snitselaar) [1887546] - [dma] dma-direct: provide a arch_dma_clear_uncached hook (Jerry Snitselaar) [1887546] - [dma] dma-direct: make uncached_kernel_address more general (Jerry Snitselaar) [1887546] - [include] dma-direct: remove the cached_kernel_address hook (Jerry Snitselaar) [1887546] - [dma] dma-direct: consolidate the error handling in dma_direct_alloc_pages (Jerry Snitselaar) [1887546] - [dma] dma-coherent: fix integer overflow in the reserved-memory dma allocation (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix misuse of iommu_domain_identity_map() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Update scalable mode paging structure coherency (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Enable PCI ACS for platform opt in hint (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Set U/S bit in first level page table by default (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Make Intel SVM code 64-bit only (Jerry Snitselaar) [1887546] - [arm64] arm64: Remove dev->archdata.iommu pointer (Jerry Snitselaar) [1887546] - [x86] x86: Remove dev->archdata.iommu pointer (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Use dev_iommu_priv_get/set() (Jerry Snitselaar) [1887546] - [iommu] iommu: Allow page responses without PASID (Jerry Snitselaar) [1887546] - [iommu] iommu/iova: Don't BUG on invalid PFNs (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Add helper functions to update domain->pt_root (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Print extended features in one line to fix divergent log levels (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Make amd_iommu_apply_ivrs_quirks() static inline (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Move Intel IOMMU driver into subdirectory (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Move AMD IOMMU driver into subdirectory (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Remove redundant devid checks (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Store dev_data as device iommu private data (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Merge private header files (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Remove PD_DMA_OPS_MASK (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Consolidate domain allocation/freeing (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Free page-table in protection_domain_free() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Allocate page-table in protection_domain_init() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Let free_pagetable() not rely on domain->pt_root (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Unexport get_dev_data() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Unify format of the printed messages (Jerry Snitselaar) [1887546] - [iommu] iommu: Remove iommu_sva_ops::mm_exit() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Use pci_ats_supported() (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Use pci_ats_supported() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Use pci_ats_supported() (Jerry Snitselaar) [1887546] - [pci] PCI/ATS: Only enable ATS for trusted devices (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Implement iommu_ops->def_domain_type call-back (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Don't reserve implementation defined register space (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: remove set but not used variable 'smmu' (Jerry Snitselaar) [1887546] - [uapi] iommu/virtio: Fix sparse warning (Jerry Snitselaar) [1887546] - [pci] PCI/ATS: Export symbols of PASID functions (Jerry Snitselaar) [1887546] - [iommu] iommu/mediatek: Fix MTK_IOMMU dependencies (Jerry Snitselaar) [1887546] - [iommu] iommu: spapr_tce: Disable compile testing to fix build on book3s_32 config (Jerry Snitselaar) [1887546] - [iommu] iommu: Enable compile testing for some of drivers (Jerry Snitselaar) [1887546] - [x86] x86: Hide the archdata.iommu field behind generic IOMMU_API (Jerry Snitselaar) [1887546] - [iommu] iommu/hyper-v: Constify hyperv_ir_domain_ops (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix compile warning (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: fix a GCC warning (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix pointer cast warnings on 32 bit (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Remove IOVA handling code from the non-dma_ops path (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Remove duplicated check in intel_svm_bind_mm() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Remove redundant IOTLB flush (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add page request draining support (Jerry Snitselaar) [1887546 1847060] - [iommu] iommu/vt-d: Disable non-recoverable fault processing before unbind (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: debugfs: Add support to show inv queue internals (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Multiple descriptors per qi_submit_sync() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Replace intel SVM APIs with generic SVA APIs (Jerry Snitselaar) [1887546 1836578] - [include] iommu/vt-d: Fix compile warning from intel-svm.h (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Report SVA feature with generic flag (Jerry Snitselaar) [1887546 1836578] - [iommu] iommu/vt-d: Add custom allocator for IOASID (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Enlightened PASID allocation (Jerry Snitselaar) [1887546 1837167] - [iommu] iommu/vt-d: Add svm/sva invalidate function (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Support flushing more translation cache types (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add bind guest PASID support (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add nested translation helper function (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Use a helper function to skip agaw for SL (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Move domain helper to header (Jerry Snitselaar) [1887546] - [iommu] iommu: Remove functions that support private domain (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Unify format of the printed messages (Jerry Snitselaar) [1887546] - [iommu] iommu: Introduce guest PASID bind function (Jerry Snitselaar) [1887546] - [iommu] iommu: Introduce cache_invalidate API (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: debugfs: Add support to show page table internals (Jerry Snitselaar) [1887546 1835059] - [iommu] iommu/vt-d: Use iova over first level (Jerry Snitselaar) [1887546 1837160] - [iommu] iommu/vt-d: Update first level super page capability (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Make first level IOVA canonical (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Flush PASID-based iotlb for iova over first level (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Setup pasid entries for iova over first level (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add PASID_FLAG_FL5LP for first-level pasid setup (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add set domain DOMAIN_ATTR_NESTING attr (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Identify domains using first level page table (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Misc macro clean up for SVM (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add build dependency on IOASID (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Replace Intel specific PASID allocator with IOASID (Jerry Snitselaar) [1887546] - [iommu] iommu/ioasid: Add custom allocators (Jerry Snitselaar) [1887546] - [iommu] iommu: Add I/O ASID allocator (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Use right Kconfig option name (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add Kconfig option to enable/disable scalable mode (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Reverse arguments to list_add (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Use accessor functions for iommu private data (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Reject IOMMU page granule larger than PAGE_SIZE (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Fix freeing of incomplete domains (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Build virtio-iommu as module (Jerry Snitselaar) [1887546] - [iommu] iommu: virtio: Use generic_iommu_put_resv_regions() (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Remove unused variable (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Update to most recent specification (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Add event queue (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Add probe request (Jerry Snitselaar) [1887546] - [iommu] iommu: Add virtio-iommu driver (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Remove duplicate error message (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Fix uninitilized variable warning (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rename IOMMU_QCOM_SYS_CACHE and improve doc (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Restore naming of driver parameter prefix (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Improve SMR mask test (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Fix IOVA validation for 32-bit (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Prepare for TTBR1 usage (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise VTCR handling (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Rename public #defines under ARM_SMMU_ namespace (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise TCR handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Ensure ARM_64_LPAE_S2_TCR_RES1 is unsigned (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Improve attribute handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Support non-coherent stage-2 page tables (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Fix -Wunused-const-variable warning (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Remove useless of_match_ptr() (Jerry Snitselaar) [1887546] - [iommu] drivers/iommu: Initialise module 'owner' field in iommu_device_set_ops() (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Update my email address in MODULE_AUTHOR() (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Allow building as a module (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Unregister IOMMU and bus ops on device removal (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Allow building as a module (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Support SMMU module probing from the IORT (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Unregister IOMMU and bus ops on device removal (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Prevent forced unbinding of Arm SMMU drivers (Jerry Snitselaar) [1887546] - [iommu] Revert "iommu/arm-smmu: Make arm-smmu explicitly non-modular" (Jerry Snitselaar) [1887546] - [iommu] Revert "iommu/arm-smmu: Make arm-smmu-v3 explicitly non-modular" (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise TTBRn handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise MAIR handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Simplify level indexing (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Simplify PGD size handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Simplify start level lookup (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Simplify bounds checks (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise size check (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable: Make selftest gubbins consistently __init (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Avoid pathological RPM behaviour for unmaps (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable: Move some initialization data to .init.rodata (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Report USF more clearly (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Remove arm_smmu_flush_ops (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Move .tlb_sync method to implementation (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Remove "leaf" indirection (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Remove .tlb_inv_range indirection (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm-v7s: Use ias/oas to check the valid iova/pa (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm-v7s: Add paddr_to_iopte and iopte_to_paddr helpers (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Ensure 64-bit I/O accessors are available on 32-bit CPU (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Make private implementation details static (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Add context init implementation hook (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Add reset implementation hook (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Add configuration implementation hook (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Move Secure access quirk to implementation (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: ioremap smmu mmio region before implementation init (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Add implementation infrastructure (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Rename arm-smmu-regs.h (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Abstract GR0 accesses (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Abstract context bank accesses (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Abstract GR1 accesses (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Get rid of weird "atomic" write (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Split arm_smmu_tlb_inv_range_nosync() (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Rework cb_base handling (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Convert context bank registers to bitfields (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Convert GR1 registers to bitfields (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Convert GR0 registers to bitfields (Jerry Snitselaar) [1887546] - [iommu] iommu: Remove IOMMU_OF_DECLARE (Jerry Snitselaar) [1887546] - [iommu] iommu: Stop deferring probe at end of initcalls (Jerry Snitselaar) [1887546] - [iommu] iommu: Fix use-after-free in iommu_release_device (Jerry Snitselaar) [1887546] - [dma] dma-mapping: Fix dma_pgprot() for unencrypted coherent pages (Jerry Snitselaar) [1887546] - [x86] x86: Don't let pgprot_modify() change the page encryption bit (Jerry Snitselaar) [1887546] - [x86] x86/PCI: Remove X86_DEV_DMA_OPS (Jerry Snitselaar) [1887546] - [pci] PCI: vmd: Remove dma_map_ops overrides (Jerry Snitselaar) [1887546] - [pci] x86/pci: Clean up usage of X86_DEV_DMA_OPS (Jerry Snitselaar) [1887546] - [x86] x86/Kconfig: Remove the unused X86_DMA_REMAP KConfig symbol (Jerry Snitselaar) [1887546] - [dma] dma-direct: avoid a forward declaration for phys_to_dma (Jerry Snitselaar) [1887546] - [dma] dma-mapping: Add vmap checks to dma_map_single() (Jerry Snitselaar) [1887546] - [x86] x86/platform/uv: Fix UV4 hub revision adjustment (Frank Ramsay) [1908507] - [ata] ahci: Add Intel Rocket Lake PCH-H RAID PCI IDs (Steve Best) [1868308]- [mfd] mfd: intel-lpss: Fix Intel Elkhart Lake LPSS I2C input clock (Steve Best) [1783586] - [mfd] mfd: intel-lpss: Add Intel Elkhart Lake PCH PCI IDs (Steve Best) [1783586] - [i2c] i2c: i801: Add support for Intel Elkhart Lake (Steve Best) [1783586] - [fs] fuse: fix bad inode (Miklos Szeredi) [1906908] - [fs] virtiofs: calculate number of scatter-gather elements accurately (Vivek Goyal) [1783467] - [fs] virtiofs: add logic to free up a memory range (Vivek Goyal) [1783467] - [fs] virtiofs: maintain a list of busy elements (Vivek Goyal) [1783467] - [fs] virtiofs: serialize truncate/punch_hole and dax fault path (Vivek Goyal) [1783467] - [fs] virtiofs: define dax address space operations (Vivek Goyal) [1783467] - [fs] virtiofs: add DAX mmap support (Vivek Goyal) [1783467] - [fs] virtiofs: implement dax read/write operations (Vivek Goyal) [1783467] - [uapi] virtiofs: introduce setupmapping/removemapping commands (Vivek Goyal) [1783467] - [fs] virtiofs: implement FUSE_INIT map_alignment field (Vivek Goyal) [1783467] - [fs] virtiofs: keep a list of free dax memory ranges (Vivek Goyal) [1783467] - [fs] virtiofs: add a mount option to enable dax (Vivek Goyal) [1783467] - [fs] virtiofs: set up virtio_fs dax_device (Vivek Goyal) [1783467] - [fs] virtiofs: get rid of no_mount_options (Vivek Goyal) [1783467] - [fs] virtiofs: provide a helper function for virtqueue initialization (Vivek Goyal) [1783467] - [fs] dax: Create a range version of dax_layout_busy_page() (Vivek Goyal) [1783467] - [dax] dax: Modify bdev_dax_pgoff() to handle NULL bdev (Vivek Goyal) [1783467] - [virtio] virtio: Implement get_shm_region for MMIO transport (Vivek Goyal) [1783467] - [virtio] virtio: Implement get_shm_region for PCI transport (Vivek Goyal) [1783467] - [include] virtio: Add get_shm_region method (Vivek Goyal) [1783467] - [fs] virtiofs: do not use fuse_fill_super_common() for device installation (Vivek Goyal) [1783467] - [uapi] fuse: reserve values for mapping protocol (Vivek Goyal) [1783467] - [fs] virtiofs: Convert virtiofs to use new mount API (Vivek Goyal) [1783467] - [fs] fuse: reject options on reconfigure via fsconfig(2) (Vivek Goyal) [1783467] - [fs] fuse: ignore 'data' argument of mount(..., MS_REMOUNT) (Vivek Goyal) [1783467] - [fs] fuse: use ->reconfigure() instead of ->remount_fs() (Vivek Goyal) [1783467] - [fs] fuse: switch to use errorfc() et.al (Vivek Goyal) [1783467] - [fs] fs_parse: fold fs_parameter_desc/fs_parameter_spec (Vivek Goyal) [1783467] - [fs] fs_parser: remove fs_parameter_description name field (Vivek Goyal) [1783467] - [fs] vfs: subtype handling moved to fuse (Vivek Goyal) [1783467] - [fs] fuse: convert to use the new mount API (Vivek Goyal) [1783467] - [lib] lib/zlib: fix inflating zlib streams on s390 (Philipp Rudo) [1908011] - [scsi] scsi: ibmvfc: Set default timeout to avoid crash during migration (Diego Domingos) [1890710] - [net] Bluetooth: Fix null pointer dereference in hci_event_packet() (Gopal Tiwari) [1921475] - [tools] selftests: fix poll error in udpgro.sh (Hangbin Liu) [1922213] - [net] mptcp: fix length of MP_PRIO suboption (Davide Caratti) [1923156] - [powerpc] powerpc/sstep: Fix array out of bound warning (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/watchpoint: Workaround P10 DD1 issue with VSX-32 byte instructions (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/sstep: Add testcases for VSX vector paired load/store instructions (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/ppc-opcode: Add encoding macros for VSX vector paired instructions (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/sstep: Support VSX vector paired storage access instructions (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/sstep: Cover new VSX instructions under CONFIG_VSX (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/sstep: Emulate prefixed instructions only when CPU_FTR_ARCH_31 is set (Desnes Augusto Nunes do Rosario) [1908739] - [net] fix setsockopt(SO_REUSEADDR) for MPTCP sockets (Paolo Abeni) [1922500] - [net] net_sched: avoid shift-out-of-bounds in tcindex_set_parms() (Davide Caratti) [1917366] - [net] net_sched: reject silly cell_log in qdisc_get_rtab() (Davide Caratti) [1917366] - [net] sched: prevent invalid Scell_log shift count (Davide Caratti) [1917366] - [net] netem: fix zero division in tabledist (Davide Caratti) [1917366] - [net] protect tcf_block_unbind with block lock (Davide Caratti) [1917366] - [pinctrl] pinctrl: intel: Add Intel Elkhart Lake pin controller support (Steve Best) [1783600] - [fs] dlm: fix invalid cluster name warning (Alexander Aring) [1655771] - [mm] arm64: acpi: Make apei_claim_sea() synchronise with APEI's irq work (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Fix doc warnings in iort.c (Al Stone) [1865698 1851555] - [acpi] ACPI, APEI, Fix error return value in apei_map_generic_address() (Al Stone) [1865698 1851555] - [acpi] ACPI: fan: Initialize performance state sysfs attribute (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Support Alder Lake (Al Stone) [1865698 1851555] - [acpi] ACPI: button: Add DMI quirk for Medion Akoya E2228T (Al Stone) [1865698 1851555] - [acpi] ACPI: Fix whitespace inconsistencies (Al Stone) [1865698 1851555] - [acpi] ACPI: button: Drop no longer necessary Acer SW5-012 lid_init_state quirk (Al Stone) [1865698 1851555] - [acpi] ACPI: dock: fix enum-conversion warning (Al Stone) [1865698 1851555] - [acpi] ACPI: utils: remove unreachable breaks (Al Stone) [1865698 1851555] - [acpi] ACPICA: Add missing type casts in GPE register access code (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Add ACPI_DPTF Kconfig menu (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Fix participant driver names (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: remove comment regarding string _UID support (Al Stone) [1865698 1851555] - [acpi] ACPI: reboot: Avoid racing after writing to ACPI RESET_REG (Al Stone) [1865698 1851555] - [acpi] ACPI: debug: don't allow debugging when ACPI is disabled (Al Stone) [1865698 1851555] - [dax] ACPI: HMAT: refactor hmat_register_target_device to hmem_register_device (Al Stone) [1865698 1851555] - [acpi] x86/numa: add 'nohmat' option (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200925 Version 20200925 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Remove unnecessary semicolon (Al Stone) [1865698 1851555] - [acpi] ACPICA: Debugger: Add a new command: "ALL " (Al Stone) [1865698 1851555] - [acpi] ACPICA: iASL: Return exceptions for string-to-integer conversions (Al Stone) [1865698 1851555] - [acpi] ACPICA: acpi_help: Update UUID list (Al Stone) [1865698 1851555] - [acpi] ACPICA: Add predefined names found in the SMBus sepcification (Al Stone) [1865698 1851555] - [acpi] ACPICA: Tree-wide: fix various typos and spelling mistakes (Al Stone) [1865698 1851555] - [acpi] ACPICA: Drop the repeated word "an" in a comment (Al Stone) [1865698 1851555] - [acpi] ACPICA: Add support for 64 bit risc-v compilation (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: PM: Drop ec_no_wakeup check from acpi_ec_dispatch_gpe() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: PM: Flush EC work unconditionally after wakeup (Al Stone) [1865698 1851555] - [acpi] ACPI: button: fix handling lid state changes when input device closed (Al Stone) [1865698 1851555] - [acpi] ACPI: scan: Replace ACPI_DEBUG_PRINT() with pr_debug() (Al Stone) [1865698 1851555] - [acpi] ACPI: memhotplug: Remove 'state' from struct acpi_memory_device (Al Stone) [1865698 1851555] - [acpi] ACPI / extlog: Check for RDMSR failure (Al Stone) [1865698 1851555] - [acpi] node: Add access1 class to represent CPU to memory characteristics (Al Stone) [1865698 1851555] - [acpi] ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3 (Al Stone) [1865698 1851555] - [acpi] ACPI: Let ACPI know we support Generic Initiator Affinity Structures (Al Stone) [1865698 1851555] - [acpi] ACPI: Support Generic Initiator only domains (Al Stone) [1865698 1851555] - [acpi] ACPI / NUMA: Add stub function for pxm_to_node() (Al Stone) [1865698 1851555] - [acpi] virtio-mem: Allow to specify an ACPI PXM as nid (Al Stone) [1865698 1851555] - [acpi] ACPI: battery: include linux/power_supply.h (Al Stone) [1865698 1851555] - [acpi] ACPI: wakeup: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: video: Remove leftover ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: tiny-power-button: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: proc: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: PCI: Remove unused ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: event: Remove leftover ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: dock: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: debugfs: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: custom_method: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: container: Remove leftover ACPICA debug functionality (Al Stone) [1865698 1851555] - [acpi] ACPI: platform: Remove ACPI_MODULE_NAME() (Al Stone) [1865698 1851555] - [acpi] ACPI: memhotplug: Remove leftover ACPICA debug functionality (Al Stone) [1865698 1851555] - [acpi] ACPI: LPSS: Remove ACPI_MODULE_NAME() (Al Stone) [1865698 1851555] - [acpi] ACPI: cmos_rtc: Remove leftover ACPI_MODULE_NAME() (Al Stone) [1865698 1851555] - [acpi] ACPI: PCI: update kernel-doc line comments (Al Stone) [1865698 1851555] - [acpi] PNP: ACPI: Fix missing-prototypes in acpi_pnp.c (Al Stone) [1865698 1851555] - [acpi] ACPI: configfs: Add missing config_item_put() to fix refcount leak (Al Stone) [1865698 1851555] - [acpi] ACPI: video: use ACPI backlight for HP 635 Notebook (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Clean up header file include statements (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Remove unnecessary APD_ADDR() macro stub (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Remove ACPI_MODULE_NAME() (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Remove flags from struct apd_device_desc (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Add kerneldoc for properties in struct apd_device_desc (Al Stone) [1865698 1851555] - [acpi] ACPI: Remove side effect of partly creating a node in acpi_get_node() (Al Stone) [1865698 1851555] - [acpi] ACPI: Rename acpi_map_pxm_to_online_node() to pxm_to_online_node() (Al Stone) [1865698 1851555] - [acpi] ACPI: Do not create new NUMA domains from ACPI static tables that are not SRAT (Al Stone) [1865698 1851555] - [acpi] ACPI: Add out of bounds and numa_off protections to pxm_to_node() (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Print more information when acpi_processor_evaluate_cst() fails (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Add PCH FIVR participant driver (Al Stone) [1865698 1851555] - [acpi] PCI/ACPI: Add Ampere Altra SOC MCFG quirk (Al Stone) [1865698 1851555] - [acpi] ACPI / APEI: Add a notifier chain for unknown (vendor) CPER records (Al Stone) [1865698 1851555] - [acpi] ACPI / PMIC: Move TPS68470 OpRegion driver to drivers/acpi/pmic/ (Al Stone) [1865698 1851555] - [acpi] ACPI / PMIC: Split out Kconfig and Makefile specific for ACPI PMIC (Al Stone) [1865698 1851555] - [acpi] PCI/ACPI: Tone down missing MCFG message (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Make ACPICA use logical addresses of GPE blocks (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Change the type of acpi_os_map_generic_address() return value (Al Stone) [1865698 1851555] - [acpi] ACPICA: Add support for using logical addresses of GPE blocks (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Remove the unused inline functions (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Drop the unused @ops of iort_add_device_replay() (Al Stone) [1865698 1851555] - [acpi] ACPI / LPSS: Save Cherry Trail PWM ctx registers only once (at activation) (Al Stone) [1865698 1851555] - [acpi] ACPI / LPSS: Resume Cherry Trail PWM controller in no-irq phase (Al Stone) [1865698 1851555] - [acpi] ACPICA: Introduce special struct type for GPE register addresses (Al Stone) [1865698 1851555] - [acpi] ACPICA: Introduce acpi_hw_gpe_read() and acpi_hw_gpe_write() (Al Stone) [1865698 1851555] - [acpi] ACPICA: Validate GPE blocks at init time (Al Stone) [1865698 1851555] - [acpi] ACPI: Export acpi_get_first_physical_node() to modules (Al Stone) [1865698 1851555] - [kernel] rcu/tree: Export rcu_idle_{enter, exit} to modules (Al Stone) [1865698 1851555] - [acpi] ACPI: GED: fix -Wformat (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Fix build for ARCH_APICTIMER_STOPS_ON_C3 unset (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Take over RCU-idle for C3-BM idle (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Use CPUIDLE_FLAG_TLB_FLUSHED (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Use CPUIDLE_FLAG_TIMER_STOP (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Prevent acpi_release_memory() from returning too early (Al Stone) [1865698 1851555] - [acpi] ACPI: ioremap: avoid redundant rounding to OS page size (Al Stone) [1865698 1851555] - [acpi] ACPI: SoC: APD: Check return value of acpi_dev_get_property() (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Add a fmw property is_raven (Al Stone) [1865698 1851555] - [include] ACPI: APD: Change name from ST to FCH (Al Stone) [1865698 1851555] - [acpi] i2c: designware: Add device HID for Hygon I2C controller (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Add an input ID to acpi_dma_configure() (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Remove useless PCI bus walk (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Make iort_msi_map_rid() PCI agnostic (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Make iort_get_device_domain IRQ domain agnostic (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Make iort_match_node_callback walk the ACPI namespace for NC (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: remove redundant assignment to variable rc (Al Stone) [1865698 1851555] - [acpi] ACPI: NUMA: Remove the useless 'node >= MAX_NUMNODES' check (Al Stone) [1865698 1851555] - [acpi] ACPI: NUMA: Remove the useless sub table pointer check (Al Stone) [1865698 1851555] - [acpi] ACPI: tables: Remove the duplicated checks for acpi_parse_entries_array() (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200717 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Do not increment operation_region reference counts for field units (Al Stone) [1865698 1851555] - [acpi] ACPICA: Replace one-element array with flexible-array (Al Stone) [1865698 1851555] - [acpi] ACPI: acpi_pad: initialize preferred_cpu (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Clean up the removal of unused memory mappings (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Use deferred unmapping in acpi_os_unmap_iomem() (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Use deferred unmapping in acpi_os_unmap_generic_address() (Al Stone) [1865698 1851555] - [acpi] ACPICA: Preserve memory opregion mappings (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Implement deferred unmapping of ACPI memory (Al Stone) [1865698 1851555] - [acpi] ACPI: Use fallthrough pseudo-keyword (Al Stone) [1865698 1851555] - [acpi] acpi: thermal: Don't call thermal_zone_device_is_enabled() (Al Stone) [1865698 1851555] - [acpi] ACPI: fan: Fix Tiger Lake ACPI device ID (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Add battery participant for TigerLake (Al Stone) [1865698 1851555] - [acpi] ACPI: tables: avoid relocations for table signature array (Al Stone) [1865698 1851555] - [acpi] ACPI: PAD: Eliminate usage of uninitialized_var() macro (Al Stone) [1865698 1851555] - [acpi] ACPI: sysfs: add newlines when printing module parameters (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: add newline when printing 'ec_event_clearing' module parameter (Al Stone) [1865698 1851555] - [acpi] ACPI: sysfs: Fix pm_profile_attr type (Al Stone) [1865698 1851555] - [acpi] ACPI: property: use cached name in acpi_fwnode_get_named_child_node() (Al Stone) [1865698 1851555] - [acpi] sched,acpi_pad: Convert to sched_set_fifo*() (Al Stone) [1865698 1851555] - [acpi] ACPI: PM: Avoid using power resources if there are none for D0 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200528 (Al Stone) [1865698 1851555] - [acpi] ACPICA: iASL: add new OperationRegion subtype keyword PlatformRtMechanism (Al Stone) [1865698 1851555] - [acpi] ACPI: CPPC: Fix reference count leak in acpi_cppc_processor_probe() (Al Stone) [1865698 1851555] - [acpi] ACPI: sysfs: Fix reference count leak in acpi_sysfs_add_hotplug_profile() (Al Stone) [1865698 1851555] - [acpi] ACPI: GED: use correct trigger type field in _Exx / _Lxx handling (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Remove the unused __get_pci_rid() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: PM: s2idle: Extend GPE dispatching debug message (Al Stone) [1865698 1851555] - [acpi] ACPI: PM: s2idle: Print type of wakeup debug messages (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Add battery participant driver (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Additional sysfs attributes for power participant driver (Al Stone) [1865698 1851555] - [acpi] ACPI: video: Use native backlight on Acer TravelMate 5735Z (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Fix PMCG node single ID mapping handling (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Kick the memory_failure() queue for synchronous errors (Al Stone) [1865698 1851555] - [mm] mm/memory-failure: Add memory_failure_queue_kick() (Al Stone) [1865698 1851555] - [acpi] ACPI: IORT: Add comments for not calling acpi_put_table() (Al Stone) [1865698 1851555] - [acpi] ACPI: GTDT: Put GTDT table after parsing (Al Stone) [1865698 1851555] - [acpi] ACPI / PMIC: Add i2c address for thermal control (Al Stone) [1865698 1851555] - [acpi] ACPI: GED: add support for _Exx / _Lxx handler methods (Al Stone) [1865698 1851555] - [acpi] ACPI: Delete unused proc filename macros (Al Stone) [1865698 1851555] - [acpi] ACPI: IORT: Add extra message "applying workaround" for off-by-1 issue (Al Stone) [1865698 1851555] - [acpi] ACPI: utils: Add acpi_evaluate_reg() helper (Al Stone) [1865698 1851555] - [acpi] ACPI: debug: Make two functions static (Al Stone) [1865698 1851555] - [acpi] ACPI: sleep: Put the FACS table after using it (Al Stone) [1865698 1851555] - [acpi] ACPI: scan: Put SPCR and STAO table after using it (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Put the ACPI table after using it (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Put the HEST table for error path (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Put the error record serialization table for error path (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Put the error injection table for error path and module exit (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Put the boot error record table after parsing (Al Stone) [1865698 1851555] - [acpi] ACPI: watchdog: Put the watchdog action table after parsing (Al Stone) [1865698 1851555] - [acpi] ACPI: LPIT: Put the low power idle table after using it (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200430 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix required parameters for _NIG and _NIH (Al Stone) [1865698 1851555] - [acpi] ACPICA: Dispatcher: add status checks (Al Stone) [1865698 1851555] - [acpi] ACPICA: Disassembler: ignore AE_ALREADY_EXISTS status when parsing create operators (Al Stone) [1865698 1851555] - [acpi] ACPICA: Move acpi_gbl_next_cmd_num definition to acglobal.h (Al Stone) [1865698 1851555] - [acpi] ACPICA: Make acpi_protocol_lengths static (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: work around num_ids ambiguity (Al Stone) [1865698 1851555] - [acpi] Revert "ACPI/IORT: Fix 'Number of IDs' handling in iort_id_map()" (Al Stone) [1865698 1851555] - [pci] PCI: Constify struct pci_ecam_ops (Al Stone) [1865698 1851555] - [acpi] PM: ACPI: Output correct message on target power state (Al Stone) [1865698 1851555] - [acpi] ACPI: CPPC: Make some symbols static (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: idle: Allow probing on platforms with one ACPI C-state (Al Stone) [1865698 1851555] - [documentation] PM: sleep: core: Rename DPM_FLAG_LEAVE_SUSPENDED (Al Stone) [1865698 1851555] - [acpi] PM: sleep: core: Rename dev_pm_smart_suspend_and_suspended() (Al Stone) [1865698 1851555] - [acpi] PM: sleep: core: Rename dev_pm_may_skip_resume() (Al Stone) [1865698 1851555] - [acpi] PM: sleep: core: Rework the power.may_skip_resume handling (Al Stone) [1865698 1851555] - [acpi] PM: sleep: core: Do not skip callbacks in the resume phase (Al Stone) [1865698 1851555] - [base] PM: sleep: core: Switch back to async_schedule_dev() (Al Stone) [1865698 1851555] - [base] PM: sleep: core: Fold functions into their callers (Al Stone) [1865698 1851555] - [base] PM: sleep: core: Simplify the SMART_SUSPEND flag handling (Al Stone) [1865698 1851555] - [base] PM: sleep: core: Use built-in RCU list checking (Al Stone) [1865698 1851555] - [base] PM: core: Fix handling of devices deleted during system-wide resume (Al Stone) [1865698 1851555] - [base] PM: sleep: Drop dpm_noirq_begin() and dpm_noirq_end() (Al Stone) [1865698 1851555] - [kernel] PM: sleep: Integrate suspend-to-idle with generig suspend flow (Al Stone) [1865698 1851555] - [base] PM: sleep: Drop dev_pm_skip_next_resume_phases() (Al Stone) [1865698 1851555] - [acpi] ACPI: button: Drop no longer necessary Asus T200TA lid_init_state quirk (Al Stone) [1865698 1851555] - [acpi] ACPI/PCI: pci_link: use extended_irq union member when setting ext-irq shareable (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Fix up fast path check in acpi_ec_add() (Al Stone) [1865698 1851555] - [x86] ACPI, x86/boot: make acpi_nobgrt static (Al Stone) [1865698 1851555] - [x86] acpi/x86: add a kernel parameter to disable ACPI BGRT (Al Stone) [1865698 1851555] - [acpi] x86: ACPI: fix CPU hotplug deadlock (Al Stone) [1865698 1851555] - [x86] acpi/x86: ignore unspecified bit positions in the ACPI global lock field (Al Stone) [1865698 1851555] - [x86] x86/acpi: make "asmlinkage" part first thing in the function definition (Al Stone) [1865698 1851555] - [x86] x86/ACPI/sleep: Move acpi_get_wakeup_address() into sleep.c, remove from (Al Stone) [1865698 1851555] - [x86] x86/ACPI/sleep: Remove an unnecessary include of asm/realmode.h (Al Stone) [1865698 1851555] - [x86] x86/efi: Explicitly include realmode.h to handle RM trampoline quirk (Al Stone) [1865698 1851555] - [acpi] ACPI: video: Use native backlight on Acer Aspire 5783z (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version 20200326 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fixes for acpiExec namespace init file (Al Stone) [1865698 1851555] - [acpi] ACPICA: WSMT: Fix typo, no functional change (Al Stone) [1865698 1851555] - [acpi] ACPICA: utilities: fix sprintf() (Al Stone) [1865698 1851555] - [acpi] ACPICA: acpiexec: remove redeclaration of acpi_gbl_db_opt_no_region_support (Al Stone) [1865698 1851555] - [acpi] ACPICA: Change PlatformCommChannel ASL keyword to PCC (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix IVRS IVHD type 10h reserved field name (Al Stone) [1865698 1851555] - [acpi] ACPICA: Implement IVRS IVHD type 11h parsing (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix a typo in a comment field (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200214 (Al Stone) [1865698 1851555] - [acpi] ACPI: CPPC: clean up acpi_get_psd_map() (Al Stone) [1865698 1851555] - [acpi] ACPI: PCI: Use scnprintf() for avoiding potential buffer overflow (Al Stone) [1865698 1851555] - [acpi] ACPI: fan: Use scnprintf() for avoiding potential buffer overflow (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Eliminate EC_FLAGS_QUERY_HANDSHAKE (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Do not clear boot_ec_is_ecdt in acpi_ec_add() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Simplify acpi_ec_ecdt_start() and acpi_ec_init() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Consolidate event handler installation code (Al Stone) [1865698 1851555] - [acpi] ACPI: list_for_each_safe() -> list_for_each_entry_safe() (Al Stone) [1865698 1851555] - [acpi] ACPI: video: remove redundant assignments to variable result (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Add missing __acquires/__releases annotations (Al Stone) [1865698 1851555] - [acpi] ACPI / battery: Cleanup Lenovo Ideapad Miix 320 DMI table entry (Al Stone) [1865698 1851555] - [acpi] ACPI / AC: Cleanup DMI quirk table (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Use fast path in acpi_ec_add() for DSDT boot EC (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Simplify acpi_ec_add() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Drop AE_NOT_FOUND special case from ec_install_handlers() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Avoid passing redundant argument to functions (Al Stone) [1865698 1851555] - [include] ACPI: NUMA: Up-level "map to online node" functionality (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix a couple of typos (Al Stone) [1865698 1851555] - [acpi] ACPICA: use acpi_size instead of u32 for prefix_path_length (Al Stone) [1865698 1851555] - [acpi] ACPICA: cast length arguement to acpi_ns_build_normalized_path() as u32 (Al Stone) [1865698 1851555] - [acpi] ACPICA: cast the result of the pointer difference to u32 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Table Manager: Update comments in a function header (Al Stone) [1865698 1851555] - [acpi] ACPICA: Enable sleep button on ACPI legacy wake (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix a comment "enable" fixed events -> "disable" all fixed events (Al Stone) [1865698 1851555] - [acpi] ACPICA: ASL-ASL+ converter: make root file a parameter for cv_init_file_tree (Al Stone) [1865698 1851555] - [acpi] ACPICA: ASL-ASL+ converter: remove function parameters from cv_init_file_tree() (Al Stone) [1865698 1851555] - [acpi] ACPI: Add new tiny-power-button driver to directly signal init (Al Stone) [1865698 1851555] - [acpi] ACPI: button: move HIDs to acpi/button.h (Al Stone) [1865698 1851555] - [acpi] ACPI: treewide: remove redundant IS_ERR() before error code check (Al Stone) [1865698 1851555] - [dma] dmaengine: idma64: Use actual device for DMA transfers (Steve Best) [1784118] - [platform] platform/x86: dell-smbios-wmi: Correct a memory leak (David Arcari) [1898516] - [x86] x86/{mce,mm}: Unmap the entire page if the whole page is affected and poisoned (Aristeu Rozanski) [1850800]- [x86] kvm: x86: fix CPUID entries returned by KVM_GET_CPUID2 ioctl (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: use kvm_complete_insn_gp in emulating RDMSR/WRMSR (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: remove bogus #GP injection (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: de-allocate svm_cpu_data for all cpus in svm_cpu_uninit() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Fix split-irqchip vs interrupt injection window request (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: fix error return code in svm_create_vcpu() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Fix offset computation bug in __sev_dbg_decrypt() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Use cpuid to determine max gfn (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: mmu: Fix SPTE encoding of MMIO generation upper half (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nvmx: Sync unsync'd vmcs02 state to vmcs12 on migration (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: tracing: Fix unmatched kvm_entry and kvm_exit events (Paolo Bonzini) [1904054 1906893 1904128] - [documentation] kvm: documentation: Update description of KVM_{GET, CLEAR}_DIRTY_LOG (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: get smi pending status correctly (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/pmu: Fix HW_REF_CPU_CYCLES event pseudo-encoding in intel_arch_events[] (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/pmu: Fix UBSAN shift-out-of-bounds warning in intel_pmu_refresh() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Add more protection against undefined behavior in rsvd_bits() (Paolo Bonzini) [1904054 1906893 1904128] - [documentation] kvm: documentation: Fix spec for KVM_CAP_ENABLE_CAP_VM (Paolo Bonzini) [1904054 1906893 1904128] - [documentation] kvm: Forbid the use of tagged userspace addresses for memslots (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: allow KVM_REQ_GET_NESTED_STATE_PAGES outside guest mode for VMX (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nsvm: cancel KVM_REQ_GET_NESTED_STATE_PAGES on nested vmexit (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nsvm: mark vmcb as dirty when forcingly leaving the guest mode (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nsvm: correctly restore nested_run_pending on migration (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Clarify TDP MMU page list invariants (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Ensure TDP MMU roots are freed after yield (Paolo Bonzini) [1904054 1906893 1904128] - [security] apparmor: remove duplicate macro list_entry_is_head() (Paolo Bonzini) [1904054 1906893 1904128] - [kernel] linux/list.h: add a macro to test if entry is pointing to the head (Paolo Bonzini) [1904054 1906893 1904128] - [virt] kvm: check tlbs_dirty directly (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: change in pv_eoi_get_pending() to make code more readable (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: fix shift out of bounds reported by UBSAN (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Optimize not-present/MMIO SPTE check in get_mmio_spte() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Use raw level to index into MMIO walks' sptes array (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Get root level from walkers when retrieving MMIO SPTE (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Use -1 to flag an undefined spte in get_mmio_spte() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Remove the call to sev_platform_status() during setup (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Don't flush cache if hardware enforces cache coherency across encryption domains (Paolo Bonzini) [1904054 1906893 1904128] - [x86] cpu: Add hardware-enforced cache coherency as a CPUID feature (Paolo Bonzini) [1904054 1906893 1904128] - [x86] Remove X86_FEATURE_MFENCE_RDTSC (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm/vmx: Use TEST REG, REG instead of CMP $0, REG in vmenter.S (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: ignore SIPIs that are received while not in wait-for-sipi state (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nsvm: set fixed bits by hand (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Add TDP MMU SPTE changed trace point (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Add existing trace points to TDP MMU (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: check CR4 changes against vcpu->arch (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: adjust SEV for commit 7e8e6eed75e (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Move asid to vcpu_svm (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: remove unused macro HV_CLOCK_SIZE (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Sink cpuid update into vendor-specific set_cr4 functions (Paolo Bonzini) [1904054 1906893 1904128] - [virt] kvm: remove kvm_clear_guest_page (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Don't track dirty for KVM_SET_[TSS_ADDR|IDENTITY_MAP_ADDR] (Paolo Bonzini) [1904054 1906893 1904128] - [tools] kvm: selftests: test KVM_GET_SUPPORTED_HV_CPUID as a system ioctl (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: hyper-v: allow KVM_GET_SUPPORTED_HV_CPUID as a system ioctl (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: emulate wait-for-SIPI and SIPI-VMExit (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: fix apic_accept_events vs check_nested_events (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Return bool instead of int for CR4 and SREGS validity checks (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Move vendor CR4 validity check to dedicated kvm_x86_ops hook (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Drop VMXE check from svm_set_cr4() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: vmx: Drop explicit 'nested' check from vmx_set_cr4() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: vmx: Drop guest CPUID check for VMXE in vmx_set_cr4() (Paolo Bonzini) [1904054 1906893 1904128] - [netdrv] net/mlx5e: Update max_opened_tc also when channels are closed (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Fix leak upon failure of rule creation (Alaa Hleihel) [1918379 1914766] - [netdrv] net/mlx5: Fix function calculation for page trees (Alaa Hleihel) [1918379] - [infiniband] RDMA/mlx5: Allow creating all QPs even when non RDMA profile is used (Alaa Hleihel) [1918379] - [netdrv] mlx5: Mark BlueField-3 as unsupported device (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Update the list of the PCI supported devices (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Enable host PF HCA after eswitch is initialized (Alaa Hleihel) [1923760 1918379] - [netdrv] net/mlx5: Rename peer_pf to host_pf (Alaa Hleihel) [1923760 1918379] - [netdrv] net/mlx5: Make API mlx5_core_is_ecpf accept const pointer (Alaa Hleihel) [1923760 1918379] - [netdrv] net/mlx5: simplify the return expression of mlx5_ec_init() (Alaa Hleihel) [1918379] - [infiniband] IB/mlx5: Add mutex destroy call to cap_mask_mutex mutex (Alaa Hleihel) [1918379] - [infiniband] RDMA/mlx5: Use strict get/set operations for obj_id (Alaa Hleihel) [1918379] - [infiniband] RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation (Alaa Hleihel) [1918379] - [include] net/mlx5: Expose ifc bits for query modify header (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: CT: Fix incorrect removal of tuple_nat_node from nat rhashtable (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Revert parameters on errors when changing MTU and LRO state without reset (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Revert parameters on errors when changing trust state without reset (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Correctly handle changing the number of queues when the interface is down (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Fix CT rule + encap slow path offload and deletion (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Disable hw-tc-offload when MLX5_CLS_ACT config is disabled (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Maintain separate page trees for ECPF and PF functions (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Fix IPSEC stats (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Reduce tc unsupported key print level (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: free page before return (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: E-switch, Fix rate calculation for overflow (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Fix memory leak on flow table creation error flow (Alaa Hleihel) [1918379] - [infiniband] Revert "RDMA/mlx5: Fix devlink deadlock on net namespace deletion" (Alaa Hleihel) [1918379] - [infiniband] RDMA/mlx5: Fix wrong free of blue flame register on error (Alaa Hleihel) [1918379] - [infiniband] IB/mlx5: Fix error unwinding when set_has_smi_cap fails (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Add missing capability check for uplink follow (Alaa Hleihel) [1918379] - [netdrv] iavf: Use kzalloc for allocating only one thing (Stefan Assmann) [1838735] - [netdrv] iavf: fix double-release of rtnl_lock (Stefan Assmann) [1838735] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Stefan Assmann) [1838735] - [netdrv] iavf: Fix updating statistics (Stefan Assmann) [1838735] - [netdrv] iavf: fix error return code in iavf_init_get_resources() (Stefan Assmann) [1838735] - [netdrv] ethernet/intel: Convert fallthrough code comments (Stefan Assmann) [1838735] - [netdrv] net/intel: remove driver versions from Intel drivers (Stefan Assmann) [1838735] - [net] Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data (Gopal Tiwari) [1916057] - [fs] fs/fs-writeback.c: fix kernel-doc warning (Waiman Long) [1918047] - [include] memcg: only record foreign writebacks with dirty pages when memcg is not disabled (Waiman Long) [1918047] - [trace] writeback: don't access page->mapping directly in track_foreign_dirty TP (Waiman Long) [1918047] - [fs] writeback: add tracepoints for cgroup foreign writebacks (Waiman Long) [1918047] - [mm] writeback, memcg: Implement foreign dirty flushing (Waiman Long) [1918047] - [mm] mm: remove the account_page_dirtied export (Waiman Long) [1918047] - [fs] writeback, memcg: Implement cgroup_writeback_by_id() (Waiman Long) [1918047] - [mm] writeback: Separate out wb_get_lookup() from wb_get_create() (Waiman Long) [1918047] - [include] bdi: Add bdi->id (Waiman Long) [1918047] - [mm] mm/page-writeback: introduce tracepoint for wait_on_page_writeback() (Waiman Long) [1918047] - [fs] kernfs: fix barrier usage in __kernfs_new_node() (Waiman Long) [1918047] - [fs] kernfs: Allocating memory for kernfs_iattrs with kmem_cache (Waiman Long) [1918047] - [fs] fs: Convert writeback to XArray (Waiman Long) [1918047] - [mm] mm: Convert page-writeback to XArray (Waiman Long) [1918047] - [mm] mm/filemap: add missing mem_cgroup_uncharge() to __add_to_page_cache_locked() (Waiman Long) [1917681] - [mm] mm/slub: fix panic in slab_alloc_node() (Oleksandr Natalenko) [1921056] - [net] xfrm: interface: fix the priorities for ipip and ipv6 tunnels (Sabrina Dubroca) [1923269] - [net] netfilter: ipset: fix shift-out-of-bounds in htable_bits() (Antoine Tenart) [1918684] - [net] tcp: refine tcp_pacing_delay() for very low pacing rates (Antoine Tenart) [1905897] - [net] ensure correct skb->tstamp in various fragmenters (Antoine Tenart) [1905897] - [net] tcp: repaired skbs must init their tso_segs (Antoine Tenart) [1905897] - [net] tcp: address problems caused by EDT misshaps (Antoine Tenart) [1905897] - [net] net_sched: sch_fq: ensure maxrate fq parameter applies to EDT flows (Antoine Tenart) [1905897] - [net] tcp: refine tcp_tso_should_defer() after EDT adoption (Antoine Tenart) [1905897] - [net] tcp_bbr: update comments to reflect pacing_margin_percent (Antoine Tenart) [1905897] - [net] tcp: add tcp_reset_xmit_timer() helper (Antoine Tenart) [1905897] - [net] tcp: fix TCP_REPAIR xmit queue setup (Antoine Tenart) [1905897] - [net] tcp_bbr: adjust TCP BBR for departure time pacing (Antoine Tenart) [1905897] - [net] tcp_bbr: fix typo in bbr_pacing_margin_percent (Antoine Tenart) [1905897] - [net] tcp: optimize tcp internal pacing (Antoine Tenart) [1905897] - [net] net_sched: sch_fq: no longer use skb_is_tcp_pure_ack() (Antoine Tenart) [1905897] - [net] tcp: mitigate scheduling jitter in EDT pacing model (Antoine Tenart) [1905897] - [net] tcp: do not change tcp_wstamp_ns in tcp_mstamp_refresh (Antoine Tenart) [1905897] - [net] tcp/fq: move back to CLOCK_MONOTONIC (Antoine Tenart) [1905897] - [net] tcp: switch tcp_internal_pacing() to tcp_wstamp_ns (Antoine Tenart) [1905897] - [net] tcp: switch tcp and sch_fq to new earliest departure time model (Antoine Tenart) [1905897] - [net] tcp: switch internal pacing timer to CLOCK_TAI (Antoine Tenart) [1905897] - [net] tcp: provide earliest departure time in skb->tstamp (Antoine Tenart) [1905897] - [net] tcp: add tcp_wstamp_ns socket field (Antoine Tenart) [1905897] - [net] net_sched: sch_fq: switch to CLOCK_TAI (Antoine Tenart) [1905897] - [net] tcp: introduce tcp_skb_timestamp_us() helper (Antoine Tenart) [1905897] - [net] tcp: switch tcp_clock_ns() to CLOCK_TAI base (Antoine Tenart) [1905897] - [drm] drm/nouveau/disp/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/dmaobj/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/i2c/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/gpio/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/bar/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/mmu/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/timer/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/fb/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/imem/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/privring/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/mc/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/devinit/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/bios/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/pci/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/core: recognise GA10 (Ben Skeggs) [1916583] - [drm] drm/nouveau/kms/nv50-: fix case where notifier buffer is at offset 0 (Ben Skeggs) [1916583] - [drm] drm/nouveau/mmu: fix vram heap sizing (Ben Skeggs) [1916583] - [drm] drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields (Ben Skeggs) [1916583] - [drm] drm/nouveau/i2c/gk110-: disable hw-initiated dpcd reads (Ben Skeggs) [1916583] - [drm] drm/nouveau/i2c/gk110: split out from i2c/gk104 (Ben Skeggs) [1916583] - [drm] drm/nouveau/privring: ack interrupts the same way as RM (Ben Skeggs) [1916583] - [drm] drm/nouveau/bios: fix issue shadowing expansion ROMs (Ben Skeggs) [1916583] - [netdrv] net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: Fix two double free cases (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: ethtool, Fix restriction of autoneg with 56G (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: In skb build skip setting mark in switchdev mode (Alaa Hleihel) [1899457] - [netdrv] net/mlx5: E-Switch, fix changing vf VLANID (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: Fix SWP offsets when vlan inserted by driver (Alaa Hleihel) [1899457 1819580] - [netdrv] net/mlx5: Use port_num 1 instead of 0 when delete a RoCE address (Alaa Hleihel) [1899457] - [netdrv] net/mlx5: Check if lag is supported before creating one (Alaa Hleihel) [1899457] - [infiniband] RDMA/mlx5: Fix MR cache memory leak (Alaa Hleihel) [1899457] - [netdrv] net/mlx5: Fix passing zero to 'PTR_ERR' (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: remove unnecessary memset (Alaa Hleihel) [1899457] - [infiniband] RDMA/mlx5: Assign dev to DM MR (Alaa Hleihel) [1899457] - [infiniband] RDMA/mlx5: Remove mlx5_ib_mr->npages (Alaa Hleihel) [1899457] - [documentation] scsi: fc: Update documentation of sysfs nodes for FPIN stats (Ewan Milne) [1859967] - [scsi] scsi: fc: Add mechanism to update FPIN signal statistics (Ewan Milne) [1859967] - [scsi] scsi: fc: Parse FPIN packets and update statistics (Ewan Milne) [1859967] - [scsi] scsi: fc: Add FPIN statistics to fc_host and fc_rport objects (Ewan Milne) [1859967] - [uapi] scsi: fc: Update formal FPIN descriptor definitions (Ewan Milne) [1859967] - [scsi] scsi: smartpqi: Update version to 1.2.16-012 (Don Brace) [1890727 1889844] - [scsi] scsi: smartpqi: Correct pqi_sas_smp_handler busy condition (Don Brace) [1890727 1889844] - [scsi] scsi: smartpqi: Correct driver removal with HBA disks (Don Brace) [1890727 1889844] - [target] scsi: target: Fix XCOPY NAA identifier lookup (Maurizio Lombardi) [1900463] {CVE-2020-28374} - [x86] perf/x86/intel/uncore: Add Comet Lake support (Michael Petlan) [1873271]- [net] bridge: Fix a warning when del bridge sysfs (Davide Caratti) [1917518] - [net] bridge: Avoid infinite loop when suppressing NS messages with invalid options (Davide Caratti) [1917518] - [net] bridge: fix stale eth hdr pointer in br_dev_xmit (Davide Caratti) [1917518] - [net] SUNRPC: Handle 0 length opaque XDR object data properly (Dave Wysochanski) [1906400] - [net] SUNRPC: Move simple_get_bytes and simple_get_netobj into private header (Dave Wysochanski) [1906400] - [block] nbd: make the config put is called before the notifying the waiter (Ming Lei) [1743857] - [block] nbd: restore default timeout when setting it to zero (Ming Lei) [1743857] - [kernel] rcu/tree: Defer kvfree_rcu() allocation to a clean context (Waiman Long) [1922453] - [kernel] cgroup: Fix memory leak when parsing multiple source parameters (Waiman Long) [1922453] - [kernel] cpuset: fix race between hotplug work and later CPU offline (Waiman Long) [1922453] - [kernel] cgroup: freezer: call cgroup_enter_frozen() with preemption disabled in ptrace_stop() (Waiman Long) [1922453] - [kernel] cgroup: freezer: fix frozen state inheritance (Waiman Long) [1922453] - [kernel] locking/lockdep: Cure noinstr fail (Waiman Long) [1922453] - [kernel] tick/nohz: Narrow down noise while setting current task's tick dependency (Waiman Long) [1922453] - [fs] fs: Kill DCACHE_DONTCACHE dentry even if DCACHE_REFERENCED is set (Eric Sandeen) [1921903] - [fs] fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode() (Eric Sandeen) [1921903] - [netdrv] ice: update dev_addr in ice_set_mac_address even if HW filter exists (Jonathan Toppins) [1879318] - [tools] libbpf: Fix uninitialized variable in btf_parse_type_sec (Jiri Olsa) [1922197] - [tools] libbpf: Support BTF loading and raw data output in both endianness (Jiri Olsa) [1922197] - [tools] selftests/bpf: Test BTF writing APIs (Jiri Olsa) [1922197] - [tools] libbpf: Add btf__str_by_offset() as a more generic variant of name_by_offset (Jiri Olsa) [1922197] - [tools] libbpf: Add BTF writing APIs (Jiri Olsa) [1922197] - [tools] libbpf: Add btf__new_empty() to create an empty BTF object (Jiri Olsa) [1922197] - [tools] libbpf: Allow modification of BTF and add btf__add_str API (Jiri Olsa) [1922197] - [tools] libbpf: Extract generic string hashing function for reuse (Jiri Olsa) [1922197] - [tools] libbpf: Generalize common logic for managing dynamically-sized arrays (Jiri Olsa) [1922197] - [tools] libbpf: Remove assumption of single contiguous memory for BTF data (Jiri Olsa) [1922197] - [tools] libbpf: Refactor internals of BTF type index (Jiri Olsa) [1922197] - [tools] libbpf: Remove any use of reallocarray() in libbpf (Jiri Olsa) [1922197] - [tools] libbpf: Clean up and improve CO-RE reloc logging (Jiri Olsa) [1922197] - [tools] libbpf: Improve error logging for mismatched BTF kind cases (Jiri Olsa) [1922197] - [scsi] scsi: qla2xxx: Fix mailbox Ch erroneous error (Nilesh Javali) [1894578] - [sound] ALSA: ASoC: Intel: tgl: remove sof_fw_filename set for tgl_3_in_1_default (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: allow soundwire use desc->default_fw_filename (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: sof_sdw: set proper flags for Dell TGL-H SKU 0A5E (Jaroslav Kysela) [1783462] - [sound] ALSA: hda: intel-dsp-config: add PCI id for TGL-H (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Properly unregister DAI on removal (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Fix memory corruption in soc_tplg_denum_create_values() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Add missing size check (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Fix wrong size check (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Simplify remove_widget function (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Remove empty functions (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Change allocations to resource managed (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Unify all device references (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Remove unused functions from topology API (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98926: drop driver pm=NULL assignment (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98925: drop driver pm=NULL assignment (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98926: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98925: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max9867: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: codecs: max98373-sdw: align regmap use with other codecs (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98371: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98390: Fix error codes in max98390_dsm_init() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98371: drop driver pm=NULL assignment (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98095: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98373: don't access volatile registers in bias level off (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98090: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: pcm: DRAIN support reactivation (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt711: mutex between calibration and power state changes (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt711: remove warnings (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt5660: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: codecs: rt*.c: remove useless pointer cast (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015p: delay 300ms after SDB pulling high for calibration (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015p: move SDB control from trigger to DAPM (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: check the return value of regmap_read during i2c probe (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: modification for calibration to get better performance (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: support TDM slot configuration (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: qcom: Fix build failure when slimbus is module (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: master: use pm_runtime_set_active() on add (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: intel: fix another unused-function warning (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: bus: only clear valid DPN interrupts (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: bus: only clear valid DP0 interrupts (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: registers: add definitions for clearable interrupt fields (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: bus: reset slave_notify status at each loop (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: bus: add comments to explain interrupt loop filter (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: SDCA: detect sdca_cascade interrupt (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: kbl_rt5663_max98927: Fix kabylake_ssp_fixup function (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: update TDM slot_width (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: intel: sof_rt5682: Add support for tgl_rt1011_rt5682 (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: add dpcm_capture flag for speaker_smart_amp (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: intel: sof_rt5682: Add quirk for Dooly (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: intel: sof_rt5682: Add support for cml_rt1015_rt5682 (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: sof_sdw: add quirk for new TigerLake-SDCA device (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Intel: add hw specific PCM constraints (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: loader: do not warn about unknown firmware headers (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Remove multistep topology loading (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: sof-audio: remove goto used for force-nocodec support (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: ops: modify the signature of stall op (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: topology: remove const in sizeof() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: use inclusive language for bclk and fsync (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: use inclusive language for bclk and fsync (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: ops: add parse_platform_ext_manifest() op (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: relax PCM period and buffer size constraints (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: nocodec: modify DAI link definitions (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: trace: Add runtime trace filtering mechanism (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Add `memory_info` file to debugfs (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Change section comment for SOF_IPC_TEST_ (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Improve code alignment in header.h (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: IPC: fix implicit type overflow (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: ext_manifest: Parse firmware config dictionary (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Intel: hda: fix the condition passed to sof_dev_dbg_or_err (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: modify the SOF_DBG flags (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Intel: hda: remove duplicated status dump (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: ext_manifest: parse cavs extra config data elem (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Intel: hda: define parse_platform_ext_manifest op (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: control: override volume info callback (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: control: remove const in sizeof() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Add .prepare/.complete callbacks (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Activate runtime PM with SOF OF device (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: add missing ret=0 at soc_pcm_open() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: ignore un-needed mutex_unlock() case on soc_pcm_open() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: remove unneeded dev_err() for snd_soc_component_module/open() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: remove unneeded dev_err() for snd_soc_dai_startup() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: add soc_pcm_clean() and call it from soc_pcm_open/close() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-link: add mark for snd_soc_link_startup/shutdown() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-dai: add mark for snd_soc_dai_startup/shutdown() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-component: add mark for snd_soc_pcm_component_pm_runtime_get/put() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-component: add mark for soc_pcm_components_open/close() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: KMB: Fix S24_LE configuration (Jaroslav Kysela) [1783462] - [sound] ALSA: ASOC: Intel: kbl_rt5663_rt5514_max98927: Do not try to disable disabled clock (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 Detachable quirks (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt5682: change SAR voltage threshold (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: increase the time to detect BCLK (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: add delay to fix pop noise from speaker (Jaroslav Kysela) [1783462] - [powerpc] powerpc/tm: Avoid machine crash on rt_sigreturn() (Gustavo Duarte) [1860550] - [net] udp: Prevent reuseport_select_sock from reading uninitialized socks (Guillaume Nault) [1917953] - [net] flow_offload: Fix memory leak for indirect flow block (Guillaume Nault) [1917953] - [net] sock: set sk_err to ee_errno on dequeue from errq (Guillaume Nault) [1917953] - [net] devlink: Make sure devlink instance and port are in same net namespace (Guillaume Nault) [1917953] - [net] devlink: Hold rtnl lock while reading netdev attributes (Guillaume Nault) [1917953] - [net] devlink: Add missing genlmsg_cancel() in devlink_nl_sb_port_pool_fill() (Guillaume Nault) [1917953] - [net] tipc: fix NULL deref in tipc_link_xmit() (Xin Long) [1918657] - [net] tipc: prevent possible null deref of link (Xin Long) [1918657] - [net] tipc: fix incompatible mtu of transmission (Xin Long) [1918657] - [net] tipc: fix memory leak in tipc_topsrv_start() (Xin Long) [1918657] - [net] tipc: add stricter control of reserved service types (Xin Long) [1918657] - [tools] selftests/bpf/test_offload.py: Filter bpftool internal map when counting maps (Jiri Benc) [1882709] - [tools] selftests/bpf/test_offload.py: Reset ethtool features after failed setting (Jiri Benc) [1882709] - [tools] selftests/bpf/test_offload.py: Fix expected case of extack messages (Jiri Benc) [1882709] - [tools] selftests/bpf/test_offload.py: Only check verifier log on verification fails (Jiri Benc) [1882709] - [netdrv] netdevsim: Add debugfs toggle to reject BPF programs in verifier (Jiri Benc) [1882709] - [tools] selftests/bpf/test_offload.py: Remove check for program load flags match (Jiri Benc) [1882709] - [net] xdp: Remove the xdp_attachment_flags_ok() callback (Jiri Benc) [1882709] - [net] net, xsk: Avoid taking multiple skbuff references (Jiri Benc) [1882709] - [net] increment xmit_recursion level in dev_direct_xmit() (Jiri Benc) [1882709] - [kernel] usermodehelper: reset umask to default before executing user process (Jiri Benc) [1882709] - [net] xsk: Do not discard packet when NETDEV_TX_BUSY (Jiri Benc) [1882709] - [net] xsk: Fix number of pinned pages/umem size discrepancy (Jiri Benc) [1882709] - [include] netdevice.h: fix xdp_state kernel-doc warning (Jiri Benc) [1882709] - [net] bpf: xdp: Fix XDP mode when no mode flags specified (Jiri Benc) [1882709] - [net] bpf: Fix XDP FD-based attach/detach logic around XDP_FLAGS_UPDATE_IF_NOEXIST (Jiri Benc) [1882709] - [kernel] add a kernel_wait helper (Jiri Benc) [1882709] - [tools] selftests/bpf: Add link detach tests for cgroup, netns, and xdp bpf_links (Jiri Benc) [1882709] - [net] bpf: Add support for forced LINK_DETACH command (Jiri Benc) [1882709] - [kernel] bpf: Fix build without CONFIG_NET when using BPF XDP link (Jiri Benc) [1882709] - [net] xdp: Prevent kernel-infoleak in xsk_getsockopt() (Jiri Benc) [1882709] - [net] udp, bpf: Ignore connections in reuseport group after BPF sk lookup (Jiri Benc) [1882709] - [net] Revert "net: optimize the sockptr_t for unified kernel/user address spaces" (Jiri Benc) [1882709] - [net] improve the user pointer check in init_user_sockptr (Jiri Benc) [1882709] - [include] net: remove sockptr_advance (Jiri Benc) [1882709] - [include] net: make sockptr_is_null strict aliasing safe (Jiri Benc) [1882709] - [net] optimize the sockptr_t for unified kernel/user address spaces (Jiri Benc) [1882709] - [net] bpfilter: switch bpfilter_ip_set_sockopt to sockptr_t (Jiri Benc) [1882709] - [net] switch copy_bpf_fprog_from_user to sockptr_t (Jiri Benc) [1882709] - [include] net: add a new sockptr_t type (Jiri Benc) [1882709] - [net] bpfilter: reject kernel addresses (Jiri Benc) [1882709] - [net] bpfilter: split __bpfilter_process_sockopt (Jiri Benc) [1882709] - [net] bpfilter: fix up a sparse annotation (Jiri Benc) [1882709] - [net] udp: Don't discard reuseport selection when group has connections (Jiri Benc) [1882709] - [net] bpf, xdp: Remove XDP_QUERY_PROG and XDP_QUERY_PROG_HW XDP commands (Jiri Benc) [1882709] - [tools] selftests/bpf: Add BPF XDP link selftests (Jiri Benc) [1882709] - [net] bpf: Implement BPF XDP link-specific introspection APIs (Jiri Benc) [1882709] - [net] bpf, xdp: Implement LINK_UPDATE for BPF XDP link (Jiri Benc) [1882709] - [net] bpf, xdp: Add bpf_link-based XDP attachment API (Jiri Benc) [1882709] - [net] bpf, xdp: Extract common XDP program attachment logic (Jiri Benc) [1882709] - [net] bpf, xdp: Maintain info on attached XDP BPF programs in net_device (Jiri Benc) [1882709] - [kernel] bpf, netns: Fix build without CONFIG_INET (Jiri Benc) [1882709] - [net] udp6: Run SK_LOOKUP BPF program on socket lookup (Jiri Benc) [1882709] - [net] udp6: Extract helper for selecting socket from reuseport group (Jiri Benc) [1882709] - [net] udp: Run SK_LOOKUP BPF program on socket lookup (Jiri Benc) [1882709] - [net] udp: Extract helper for selecting socket from reuseport group (Jiri Benc) [1882709] - [net] ipv6: remove unused arg exact_dif in compute_score (Jiri Benc) [1882709] - [net] ipv4: remove unused arg exact_dif in compute_score (Jiri Benc) [1882709] - [net] udp: Remove unused variable/function (exact_dif) (Jiri Benc) [1882709] - [net] udp: Remove unused parameter (exact_dif) (Jiri Benc) [1882709] - [net] udp: only choose unbound UDP socket for multicast when not in a VRF (Jiri Benc) [1882709] - [net] ensure unbound datagram socket to be chosen when not in a VRF (Jiri Benc) [1882709] - [net] ensure unbound stream socket to be chosen when not in a VRF (Jiri Benc) [1882709] - [net] allow binding socket in a VRF when there's an unbound socket (Jiri Benc) [1882709] - [net] udp6: drop unneeded likely() call around IS_ERR() (Jiri Benc) [1882709] - [net] udp: drop unneeded likely() call around IS_ERR() (Jiri Benc) [1882709] - [net] inet6: Run SK_LOOKUP BPF program on socket lookup (Jiri Benc) [1882709] - [net] inet6: Extract helper for selecting socket from reuseport group (Jiri Benc) [1882709] - [net] inet: Run SK_LOOKUP BPF program on socket lookup (Jiri Benc) [1882709] - [net] inet: Extract helper for selecting socket from reuseport group (Jiri Benc) [1882709] - [net] simplify cBPF setsockopt compat handling (Jiri Benc) [1882709] - [net] explicitly include in net/core/sock.c (Jiri Benc) [1882709] - [include] compat: provide compat_ptr() on all architectures (Jiri Benc) [1882709] - [net] socket: move compat timeout handling into sock.c (Jiri Benc) [1882709] - [include] xdp: introduce xdp_get_shared_info_from_{buff, frame} utility routines (Jiri Benc) [1882709] - [net] xsk: Add xdp statistics to xsk_diag (Jiri Benc) [1882709] - [net] xsk: Add new statistics (Jiri Benc) [1882709] - [net] bpfilter: Initialize pos variable (Jiri Benc) [1882709] - [kernel] umd: Stop using split_argv (Jiri Benc) [1882709] - [kernel] umd: Remove exit_umh (Jiri Benc) [1882709] - [net] bpfilter: Take advantage of the facilities of struct pid (Jiri Benc) [1882709] - [kernel] exit: Factor thread_group_exited out of pidfd_poll (Jiri Benc) [1882709] - [kernel] umd: Track user space drivers with struct pid (Jiri Benc) [1882709] - [net] bpfilter: Move bpfilter_umh back into init data (Jiri Benc) [1882709] - [fs] exec: Remove do_execve_file (Jiri Benc) [1882709] - [kernel] umh: Stop calling do_execve_file (Jiri Benc) [1882709] - [kernel] umd: Transform fork_usermode_blob into fork_usermode_driver (Jiri Benc) [1882709] - [kernel] umd: Rename umd_info.cmdline umd_info.driver_name (Jiri Benc) [1882709] - [kernel] umd: For clarity rename umh_info umd_info (Jiri Benc) [1882709] - [kernel] umh: Separate the user mode driver and the user mode helper support (Jiri Benc) [1882709] - [kernel] umh: Move setting PF_UMH into umh_pipe_setup (Jiri Benc) [1882709] - [kernel] umh: Remove call_usermodehelper_setup_file. (Jiri Benc) [1882709] - [kernel] umh: Rename the user mode driver helpers for clarity (Jiri Benc) [1882709] - [kernel] umh: Capture the pid in umh_pipe_setup (Jiri Benc) [1882709] - [net] bpf: Add SO_KEEPALIVE and related options to bpf_setsockopt (Jiri Benc) [1882709] - [net] tcp: Expose tcp_sock_set_keepidle_locked (Jiri Benc) [1882709] - [net] tcp: add tcp_sock_set_keepidle (Jiri Benc) [1882709] - [net] sock: Move sock_valbool_flag to header (Jiri Benc) [1882709] - [net] spread "enum sock_flags" (Jiri Benc) [1882709] - [tools] bpf: Use local copy of headers including uapi/linux/filter.h (Jiri Benc) [1882709] - [net] bpfilter: fix iptables failure if bpfilter_umh is disabled (Jiri Benc) [1882709] - [s390] s390/crypto: add arch_get_random_long() support (Vladis Dronov) [1904274] - [net] net/smc: Add support for obtaining SMCR device list (Philipp Rudo) [1868684] - [net] net/smc: Add support for obtaining SMCD device list (Philipp Rudo) [1868684] - [net] net/smc: Add SMC-D Linkgroup diagnostic support (Philipp Rudo) [1868684] - [net] net/smc: Introduce SMCR get link command (Philipp Rudo) [1868684] - [net] net/smc: Introduce SMCR get linkgroup command (Philipp Rudo) [1868684] - [net] net/smc: Add support for obtaining system information (Philipp Rudo) [1868684] - [net] net/smc: Introduce generic netlink interface for diagnostic purposes (Philipp Rudo) [1868684] - [net] net/smc: Refactor smc ism v2 capability handling (Philipp Rudo) [1868684] - [net] net/smc: Add diagnostic information to link structure (Philipp Rudo) [1868684] - [net] net/smc: Add diagnostic information to smc ib-device (Philipp Rudo) [1868684] - [net] net/smc: Add link counters for IB device ports (Philipp Rudo) [1868684] - [net] net/smc: Add connection counters for links (Philipp Rudo) [1868684] - [net] net/smc: Use active link of the connection (Philipp Rudo) [1868684] - [net] net/smc: use helper smc_conn_abort() in listen processing (Philipp Rudo) [1868684] - [net] sched: sch_frag: add generic packet fragment support. (Marcelo Leitner) [1909262] - [net] sched: act_mirred: refactor the handle of xmit (Marcelo Leitner) [1909262] - [net] sched: fix miss init the mru in qdisc_skb_cb (Marcelo Leitner) [1909262] - [net] openvswitch: using ip6_fragment in ipv6_stub (Marcelo Leitner) [1909262] - [net] ipv6: add ipv6_fragment hook in ipv6_stub (Marcelo Leitner) [1909262] - [x86] x86/resctrl: Fix spelling in user-visible warning messages (Puneet Sethi) [1717078] - [x86] x86/resctrl: Enable user to view thread or core throttling mode (Puneet Sethi) [1717078] - [x86] x86/resctrl: Enumerate per-thread MBA controls (Puneet Sethi) [1717078] - [x86] cacheinfo: Move resctrl's get_cache_id() to the cacheinfo header file (Puneet Sethi) [1717078] - [x86] x86/resctrl: Add struct rdt_cache::arch_has_{sparse, empty}_bitmaps (Puneet Sethi) [1717078] - [x86] x86/resctrl: Merge AMD/Intel parse_bw() calls (Puneet Sethi) [1717078] - [x86] x86/resctrl: Add struct rdt_membw::arch_needs_linear to explain AMD/Intel MBA difference (Puneet Sethi) [1717078] - [x86] x86/resctrl: Use is_closid_match() in more places (Puneet Sethi) [1717078] - [x86] x86/resctrl: Use container_of() in delayed_work handlers (Puneet Sethi) [1717078] - [x86] x86/resctrl: Fix stale comment (Puneet Sethi) [1717078] - [x86] x86/resctrl: Remove struct rdt_membw::max_delay (Puneet Sethi) [1717078] - [x86] x86/resctrl: Remove unused struct mbm_state::chunks_bw (Puneet Sethi) [1717078] - [x86] x86/resctrl: Fix memory bandwidth counter width for AMD (Puneet Sethi) [1845633 1717078] - [documentation] Documentation: x86: fix some typos (Puneet Sethi) [1717078] - [documentation] Documentation: x86: Clarify MBA takes MB as referring to mba_sc (Puneet Sethi) [1717078] - [documentation] Documentation: x86: Remove cdpl2 unspported statement and fix capitalisation (Puneet Sethi) [1717078] - [documentation] Documentation: x86: Contiguous cbm isn't all X86 (Puneet Sethi) [1717078] - [documentation] Documentation: x86: convert resctrl_ui.txt to reST (Puneet Sethi) [1717078] - [kernel] livepatch: Make klp_apply_object_relocs static (Yannick Cote) [1866433] - [kernel] livepatch: Prevent module-specific KLP rela sections from referencing vmlinux symbols (Yannick Cote) [1866433] - [x86] livepatch: Remove .klp.arch (Yannick Cote) [1866433] - [kernel] livepatch: Apply vmlinux-specific KLP relocations early (Yannick Cote) [1866433] - [kernel] livepatch: Disallow vmlinux.ko (Yannick Cote) [1866433]- [sound] ALSA: hda: Add Cometlake-R PCI ID (Jaroslav Kysela) [1915650] - [fs] xfs: don't drain buffer lru on freeze and read-only remount (Brian Foster) [1903387] - [fs] xfs: rename xfs_wait_buftarg() to xfs_buftarg_drain() (Brian Foster) [1903387] - [net] mptcp: implement delegated actions (Paolo Abeni) [1892375] - [net] mptcp: schedule work for better snd subflow selection (Paolo Abeni) [1892375] - [net] mptcp: do not queue excessive data on subflows (Paolo Abeni) [1892375] - [net] mptcp: re-enable sndbuf autotune (Paolo Abeni) [1892375] - [net] mptcp: always graft subflow socket to parent (Paolo Abeni) [1892375] - [include] lockdep: Introduce in_softirq lockdep assert (Paolo Abeni) [1892375] - [net] selinux: handle MPTCP consistently with TCP (Paolo Abeni) [1892375] - [net] mptcp: fix locking in mptcp_disconnect() (Paolo Abeni) [1892375] - [net] mptcp: better msk-level shutdown. (Paolo Abeni) [1892375] - [net] mptcp: more strict state checking for acks (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add the MP_PRIO testcases (Paolo Abeni) [1892375] - [net] mptcp: add the mibs for MP_PRIO (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add set_flags command in pm_nl_ctl (Paolo Abeni) [1892375] - [net] mptcp: add set_flags command in PM netlink (Paolo Abeni) [1892375] - [net] mptcp: add the incoming MP_PRIO support (Paolo Abeni) [1892375] - [net] mptcp: add the outgoing MP_PRIO support (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add testcases for setting the address ID (Paolo Abeni) [1892375] - [net] mptcp: add the address ID assignment bitmap (Paolo Abeni) [1892375] - [net] mptcp: cap forward allocation to 1M (Paolo Abeni) [1892375] - [net] mptcp: fix pending data accounting (Paolo Abeni) [1892375] - [net] mptcp: push pending frames when subflow has free space (Paolo Abeni) [1892375] - [net] mptcp: properly annotate nested lock (Paolo Abeni) [1892375] - [net] mptcp: fix security context on server socket (Paolo Abeni) [1892375] - [net] mptcp: clear use_ack and use_map when dropping other suboptions (Paolo Abeni) [1892375] - [net] mptcp: let MPTCP create max size skbs (Paolo Abeni) [1892375] - [net] mptcp: pm: simplify select_local_address() (Paolo Abeni) [1892375] - [net] mptcp: parse and act on incoming FASTCLOSE option (Paolo Abeni) [1892375] - [net] mptcp: hold mptcp socket before calling tcp_done (Paolo Abeni) [1892375] - [net] mptcp: use MPTCPOPT_HMAC_LEN macro (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add the flush addrs testcase (Paolo Abeni) [1892375] - [net] mptcp: remove address when netlink flushes addrs (Paolo Abeni) [1892375] - [net] mptcp: attach subflow socket to parent cgroup (Paolo Abeni) [1892375] - [net] mptcp: be careful on subflows shutdown (Paolo Abeni) [1892375] - [net] mptcp: plug subflow context memory leak (Paolo Abeni) [1892375] - [net] mptcp: link MPC subflow into msk only after accept (Paolo Abeni) [1892375] - [net] mptcp: use the variable sk instead of open-coding (Paolo Abeni) [1892375] - [net] mptcp: rename add_addr_signal and mptcp_add_addr_status (Paolo Abeni) [1892375] - [net] mptcp: drop rm_addr_signal flag (Paolo Abeni) [1892375] - [net] mptcp: print out port and ahmac when receiving ADD_ADDR (Paolo Abeni) [1892375] - [net] mptcp: add port parameter for mptcp_pm_announce_addr (Paolo Abeni) [1892375] - [net] mptcp: send out dedicated packet for ADD_ADDR using port (Paolo Abeni) [1892375] - [net] mptcp: add the outgoing ADD_ADDR port support (Paolo Abeni) [1892375] - [net] mptcp: use adding up size to get ADD_ADDR length (Paolo Abeni) [1892375] - [net] mptcp: add port support for ADD_ADDR suboption writing (Paolo Abeni) [1892375] - [net] mptcp: unify ADD_ADDR and ADD_ADDR6 suboptions writing (Paolo Abeni) [1892375] - [net] mptcp: unify ADD_ADDR and echo suboptions writing (Paolo Abeni) [1892375] - [net] mptcp: print new line in mptcp_seq_show() if mptcp isn't in use (Paolo Abeni) [1892375] - [net] mptcp: emit tcp reset when a join request fails (Paolo Abeni) [1892375] - [net] tcp: merge 'init_req' and 'route_req' functions (Paolo Abeni) [1892375] - [net] security: add const qualifier to struct sock in various places (Paolo Abeni) [1892375] - [net] mptcp: avoid potential infinite loop in mptcp_recvmsg() (Paolo Abeni) [1892375] - [net] mptcp: use mptcp release_cb for delayed tasks (Paolo Abeni) [1892375] - [net] mptcp: avoid a few atomic ops in the rx path (Paolo Abeni) [1892375] - [net] mptcp: allocate TX skbs in msk context (Paolo Abeni) [1892375] - [net] mptcp: protect the rx path with the msk socket spinlock (Paolo Abeni) [1892375] - [net] mptcp: implement wmem reservation (Paolo Abeni) [1892375] - [net] mptcp: open code mptcp variant for lock_sock (Paolo Abeni) [1892375] - [net] mptcp: fix NULL ptr dereference on bad MPJ (Paolo Abeni) [1892375] - [net] mptcp: be careful on MPTCP-level ack. (Paolo Abeni) [1892375] - [net] mptcp: put reference in mptcp timeout timer (Paolo Abeni) [1892375] - [net] mptcp: refine MPTCP-level ack scheduling (Paolo Abeni) [1892375] - [net] mptcp: track window announced to peer (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add ADD_ADDR IPv6 test cases (Paolo Abeni) [1892375] - [net] mptcp: send out dedicated ADD_ADDR packet (Paolo Abeni) [1892375] - [net] mptcp: change add_addr_signal type (Paolo Abeni) [1892375] - [net] mptcp: keep unaccepted MPC subflow into join list (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add link failure test case (Paolo Abeni) [1892375] - [net] mptcp: skip to next candidate if subflow has unacked data (Paolo Abeni) [1892375] - [net] mptcp: fix state tracking for fallback socket (Paolo Abeni) [1892375] - [net] mptcp: drop WORKER_RUNNING status bit (Paolo Abeni) [1892375] - [net] mptcp: update rtx timeout only if required. (Paolo Abeni) [1892375] - [net] mptcp: send explicit ack on delayed ack_seq incr (Paolo Abeni) [1892375] - [net] mptcp: keep track of advertised windows right edge (Paolo Abeni) [1892375] - [net] mptcp: rework poll+nospace handling (Paolo Abeni) [1892375] - [net] mptcp: try to push pending data on snd una updates (Paolo Abeni) [1892375] - [net] mptcp: move page frag allocation in mptcp_sendmsg() (Paolo Abeni) [1892375] - [net] mptcp: refactor shutdown and close (Paolo Abeni) [1892375] - [net] mptcp: introduce MPTCP snd_nxt (Paolo Abeni) [1892375] - [net] mptcp: add accounting for pending data (Paolo Abeni) [1892375] - [net] mptcp: reduce the arguments of mptcp_sendmsg_frag (Paolo Abeni) [1892375] - [net] mptcp: introduce mptcp_schedule_work (Paolo Abeni) [1892375] - [net] tcp: factor out __tcp_close() helper (Paolo Abeni) [1892375] - [net] mptcp: use tcp_build_frag() (Paolo Abeni) [1892375] - [net] tcp: factor out tcp_build_frag() (Paolo Abeni) [1892375] - [net] tcp: schedule EPOLLOUT after a partial sendmsg (Paolo Abeni) [1892375] - [net] tcp: annotate tp->write_seq lockless reads (Paolo Abeni) [1892375] - [net] mptcp: fix static checker warnings in mptcp_pm_add_timer (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add ADD_ADDR timeout test case (Paolo Abeni) [1892375] - [documentation] networking: mptcp: Add MPTCP sysctl entries (Paolo Abeni) [1892375] - [net] mptcp: add a new sysctl add_addr_timeout (Paolo Abeni) [1892375] - [net] mptcp: split mptcp_clean_una function (Paolo Abeni) [1892375] - [net] tcp: propagate MPTCP skb extensions on xmit splits (Paolo Abeni) [1892375] - [net] mptcp: use _fast lock version in __mptcp_move_skbs (Paolo Abeni) [1892375] - [net] mptcp: adjust mptcp receive buffer limit if subflow has larger one (Paolo Abeni) [1892375] - [net] tcp: fix compile error if !CONFIG_SYSCTL (Paolo Abeni) [1892375] - [net] tcp: add tcp_tx_skb_cache sysctl (Paolo Abeni) [1892375] - [net] tcp: do not recycle cloned skbs (Paolo Abeni) [1892375] - [net] tcp: properly reset skb->truesize for tx recycling (Paolo Abeni) [1892375] - [net] tcp: cleanup sk_tx_skb_cache before reuse (Paolo Abeni) [1892375] - [net] tcp: fix zerocopy and notsent_lowat issues (Paolo Abeni) [1892375] - [net] tcp: add one skb cache for tx (Paolo Abeni) [1892375] - [include] include: fpga: adi-axi-common.h: fixup whitespace tab -> space (Luis Goncalves) [1494702] - [include] include: fpga: adi-axi-common.h: add version helper macros (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: convert get_user_pages() --> pin_user_pages() (Luis Goncalves) [1494702] - [fpga] fpga: dfl: fix bug in port reset handshake (Luis Goncalves) [1494702] - [fpga] fpga: dfl: pci: reduce the scope of variable 'ret' (Luis Goncalves) [1494702] - [fpga] fpga: dfl: pci: add device id for Intel FPGA PAC N3000 (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: add AFU interrupt support (Luis Goncalves) [1494702] - [fpga] fpga: dfl: fme: add interrupt support for global error reporting (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: add interrupt support for port error reporting (Luis Goncalves) [1494702] - [fpga] fpga: dfl: introduce interrupt trigger setting API (Luis Goncalves) [1494702] - [fpga] fpga: dfl: pci: add irq info for feature devices enumeration (Luis Goncalves) [1494702] - [fpga] fpga: dfl: parse interrupt info for feature devices on enumeration (Luis Goncalves) [1494702] - [fpga] fpga manager: xilinx-spi: check INIT_B pin during write_init (Luis Goncalves) [1494702] - [fpga] fpga: Fix dead store in fpga-bridge.c (Luis Goncalves) [1494702] - [fpga] fpga: Fix dead store fpga-mgr.c (Luis Goncalves) [1494702] - [fpga] fpga: dfl: Use struct_size() in kzalloc() (Luis Goncalves) [1494702] - [fpga] fpga manager: xilinx-spi: remove unneeded, mistyped variables (Luis Goncalves) [1494702] - [fpga] fpga manager: xilinx-spi: valid for the 7 Series too (Luis Goncalves) [1494702] - [fpga] fpga: zynqmp: fix modular build (Luis Goncalves) [1494702] - [fpga] drivers/fpga/dfl-afu-dma-region.c: get rid of pointless access_ok() (Luis Goncalves) [1494702] - [fpga] drivers/fpga/dfl-fme-pr.c: get rid of pointless access_ok() (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: Corrected error handling levels (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: support debug access to memory-mapped afu regions (Luis Goncalves) [1494702] - [fpga] fpga: dfl.h: Replace zero-length array with flexible-array member (Luis Goncalves) [1494702] - [fpga] fpga: stratix10-soc: add compatible property value for intel agilex (Luis Goncalves) [1494702] - [fpga] fpga: machxo2-spi: Use new structure for SPI transfer delays (Luis Goncalves) [1494702] - [fpga] fpga: ice40-spi: Use new structure for SPI transfer delays (Luis Goncalves) [1494702] - [fpga] fpga: dfl: support multiple opens on feature device node (Luis Goncalves) [1494702] - [fpga] fpga: dfl: fme: add performance reporting support (Luis Goncalves) [1494702] - [firmware] firmware: fpga: replace the error codes with the standard ones (Luis Goncalves) [1494702] - [net] sched: act_mpls: ensure LSE is pullable before reading it (Guillaume Nault) [1917918] - [net] openvswitch: ensure LSE is pullable before reading it (Guillaume Nault) [1917918] - [net] skbuff: ensure LSE is pullable before decrementing the MPLS ttl (Guillaume Nault) [1917918] - [net] sched: act_mpls: Add softdep on mpls_gso.ko (Guillaume Nault) [1917918] - [net] mpls: load mpls_gso after mpls_iptunnel (Guillaume Nault) [1917918] - [net] netfilter: nf_tables: handle nft_object lookups via rhltable (Phil Sutter) [1848816] - [arm64] kvm: arm64: Remove PMU RAZ/WI handling (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Inject UNDEF on PMU access when no PMU configured (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Set ID_AA64DFR0_EL1.PMUVer to 0 when no PMU support (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Add kvm_vcpu_has_pmu() helper (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Refactor PMU attribute error handling (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Introduce handling of AArch32 TTBCR2 traps (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: pmu: Make overflow handler NMI safe (Auger Eric) [1890373 1907826] - [tools] kvm: selftests: Also build dirty_log_perf_test on AArch64 (Auger Eric) [1890373 1907826] - [tools] selftests: kvm/set_memory_region_test: Fix race in move region test (Auger Eric) [1890373 1907826] - [tools] kvm: arm64: selftests: Filter out DEMUX registers (Auger Eric) [1890373 1907826] - [tools] kvm: selftests: Add blessed SVE registers to get-reg-list (Auger Eric) [1890373 1907826] - [tools] kvm: selftests: Add aarch64 get-reg-list test (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Don't access PMCR_EL0 when no PMU is available (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Don't hide ID registers from userspace (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Force PTE mapping on fault resulting in a device mapping (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Fix AArch32 handling of DBGD{CCINT, SCRext} and DBGVCR (Auger Eric) [1890373 1907826] - [kernel] kvm: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return SMCCC_RET_NOT_REQUIRED (Auger Eric) [1890373 1907826] - [kernel] smccc: Make constants available to assembly (Auger Eric) [1890373 1907826] - [kernel] firmware: smccc: Add the definition for SMCCCv1.2 version/error codes (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Ensure user_mem_abort() return value is initialised (Auger Eric) [1890373 1907826] - [] ASoC: SOF: Intel: fix page fault at probe if i915 init fails (Jaroslav Kysela) [1906665] - [include] powerpc: fix the backport macros of hv_24x7 and hv_gpci (Diego Domingos) [1915159] - [net] tcp: Prevent low rmem stalls with SO_RCVLOWAT. (Davide Caratti) [1917976] - [net] tcp: fix to update snd_wl1 in bulk receiver fast path (Davide Caratti) [1917976] - [net] tcp: md5: refine tcp_md5_do_add()/tcp_md5_hash_key() barriers (Davide Caratti) [1917976] - [net] tcp: md5: add missing memory barriers in tcp_md5_do_add()/tcp_md5_hash_key() (Davide Caratti) [1917976] - [net] sunrpc: clean-up cache downcall (J. Bruce Fields) [1887178] - [net] sunrpc: raise kernel RPC channel buffer size (J. Bruce Fields) [1887178] - [netdrv] mlx5: Remove the unsupported mark from ConnectX-6 Lx and BlueField-2 (Alaa Hleihel) [1802118 1790541] - [s390] s390/qeth: make af_iucv TX notification call more robust (Philipp Rudo) [1915919] - [s390] s390/dasd: fix list corruption of lcu list (Philipp Rudo) [1915918] - [s390] s390/dasd: fix list corruption of pavgroup group list (Philipp Rudo) [1915918] - [s390] s390/dasd: prevent inconsistent LCU device data (Philipp Rudo) [1915918] - [s390] s390/dasd: fix hanging device offline processing (Philipp Rudo) [1915918] - [block] Revert "block: Fix a lockdep complaint triggered by request queue flushing" (Ming Lei) [1897404] - [nvme] nvme-loop: use blk_mq_hctx_set_fq_lock_class to set loop's lock class (Ming Lei) [1897404] - [block] blk-mq: add new API of blk_mq_hctx_set_fq_lock_class (Ming Lei) [1897404] - [scsi] scsi: core: Fix race between handling STS_RESOURCE and completion (Ming Lei) [1897404]- [fs] inotify: Increase default inotify.max_user_watches limit to 1048576 (Waiman Long) [1888617] - [kernel] cgroup: fix psi_show() crash on 32bit ino archs (Waiman Long) [1920288] - [kernel] cgroup: fix incorrect WARN_ON_ONCE() in cgroup_setup_root() (Waiman Long) [1920288] - [netdrv] net: bareudp: add missing error handling for bareudp_link_config() (Guillaume Nault) [1920194] - [netdrv] bareudp: Fix use of incorrect min_headroom size (Guillaume Nault) [1920194] - [netdrv] bareudp: set NETIF_F_LLTX flag (Guillaume Nault) [1920194] - [netdrv] vxlan: fix error return code in __vxlan_dev_create() (Guillaume Nault) [1920194] - [netdrv] ip_tunnels: Set tunnel option flag when tunnel metadata is present (Guillaume Nault) [1920194] - [net] vsock/virtio: discard packets only when socket is really closed (Stefano Garzarella) [1920004] - [net] vsock: fix the error return when an invalid ioctl command is used (Stefano Garzarella) [1920004] - [net] vsock: remove ratelimit unknown ioctl message (Stefano Garzarella) [1920004] - [net] vsock: use ns_capable_noaudit() on socket create (Stefano Garzarella) [1920004] - [net] vsock: fix potential null pointer dereference in vsock_poll() (Stefano Garzarella) [1920004] - [net] vsock/vmci: make vmci_vsock_transport_cb() static (Stefano Garzarella) [1920004] - [block] block: add blk_queue_make_request declaration back (Ming Lei) [1919764] - [net] erspan: fix version 1 check in gre_parse_header() (Guillaume Nault) [1919388] - [net] ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst() (Guillaume Nault) [1919388] - [net] ipv4: Fix tos mask in inet_rtm_getroute() (Guillaume Nault) [1919388] - [net] inet_diag: Fix error path to cancel the meseage in inet_req_diag_fill() (Guillaume Nault) [1919388] - [mm] usercopy: mark dma-kmalloc caches as usercopy caches (Waiman Long) [1660290] - [mm] mm, slab_common: use enum kmalloc_cache_type to iterate over kmalloc caches (Waiman Long) [1660290] - [mm] mm, slab: remove unused kmalloc_size() (Waiman Long) [1660290] - [mm] mm, slab: make kmalloc_infocontain all types of names (Waiman Long) [1660290] - [netdrv] net: stmmac: fix taprio configuration when base_time is in the past (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes (Mark Salter) [1870102] - [netdrv] net: stmmac: delete the eee_ctrl_timer after napi disabled (Mark Salter) [1870102] - [netdrv] net: stmmac: free tx skb buffer in stmmac_resume() (Mark Salter) [1870102] - [netdrv] net: stmmac: start phylink instance before stmmac_hw_setup() (Mark Salter) [1870102] - [netdrv] net: stmmac: increase the timeout for dma reset (Mark Salter) [1870102] - [netdrv] net: stmmac: fix incorrect merge of patch upstream (Mark Salter) [1870102] - [netdrv] net: stmmac: Use rtnl_lock/unlock on netif_set_real_num_rx_queues() call (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac_lib: enlarge dma reset timeout (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix channel lock initialization (Mark Salter) [1870102] - [netdrv] net: stmmac: Add option for VLAN filter fail queue enable (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support to Ethtool get/set ring parameters (Mark Salter) [1870102] - [netdrv] net: stmmac: use netif_tx_start|stop_all_queues() function (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix incorrect location to set real_num_rx|tx_queues (Mark Salter) [1870102] - [netdrv] net: stmmac: add ethtool support for get/set channels (Mark Salter) [1870102] - [netdrv] net: stmmac: set get_rx_header_len() as void for it didn't have any error code to return (Mark Salter) [1870102] - [netdrv] net: stmmac: remove redundant null check before clk_disable_unprepare() (Mark Salter) [1870102] - [netdrv] net: phylink: avoid oops during initialisation (Mark Salter) [1870102] - [netdrv] net: stmmac: Modify configuration method of EEE timers (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: provide multicast filter fallback (Mark Salter) [1870102] - [netdrv] net: stmmac: fix failed to suspend if phy based WOL is enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Speed down the PHY if WoL to save energy (Mark Salter) [1870102] - [netdrv] net: stmmac: Support WOL with phy (Mark Salter) [1870102] - [netdrv] net: stmmac: only call pmt() during suspend/resume if HW enables PMT (Mark Salter) [1870102] - [netdrv] net: stmmac: Move device_can_wakeup() check earlier in set_wol (Mark Salter) [1870102] - [netdrv] net: stmmac: Remove WAKE_MAGIC if HW shows no pmt_magic_frame (Mark Salter) [1870102] - [netdrv] net: stmmac: Remove unused inline function stmmac_rx_threshold_count (Mark Salter) [1870102] - [include] net: pylink.h: add kernel-doc descriptions for new fields at phylink_config (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for VLAN promiscuous mode (Mark Salter) [1870102] - [netdrv] net: stmmac: removed enabling eee in EEE set callback (Mark Salter) [1870102] - [documentation] net: phy: add PHY_INTERFACE_MODE_10GBASER (Mark Salter) [1870102] - [include] net: mii: convert mii_lpa_to_ethtool_lpa_x() to linkmode variant (Mark Salter) [1870102] - [base] driver core: platform: Add platform_get_irq_byname_optional() (Mark Salter) [1870102] - [netdrv] net: stmmac: enable timestamp snapshot for required PTP packets in dwmac v5.10a (Mark Salter) [1870102] - [netdrv] net: stmmac: don't attach interface until resume finishes (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac5+: fix potential integer overflow on 32 bit multiply (Mark Salter) [1870102] - [netdrv] stmmac: fix pointer check after utilization in stmmac_interrupt (Mark Salter) [1870102] - [netdrv] stmmac: intel: Fix kernel crash due to wrong error path (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable SERDES power up/down sequence (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix sub-second increment (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix VLAN register handling (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix VLAN filtering when HW does not support it (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for VLAN Rx filtering (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac_lib: remove unnecessary checks in dwmac_dma_reset() (Mark Salter) [1870102] - [netdrv] net: rename flow_action_hw_stats_types* -> flow_action_hw_stats* (Mark Salter) [1870102] - [netdrv] net: stmmac: use readl_poll_timeout() function in dwmac4_dma_reset() (Mark Salter) [1870102] - [netdrv] net: stmmac: use readl_poll_timeout() function in init_systime() (Mark Salter) [1870102] - [netdrv] net: stmmac: platform: convert to devm_platform_ioremap_resource (Mark Salter) [1870102] - [netdrv] net: stmmac: Integrate it with DesignWare XPCS (Mark Salter) [1870102] - [netdrv] net: phy: Add Synopsys DesignWare XPCS MDIO module (Mark Salter) [1870102] - [netdrv] net: stmmac: Use resolved link config in mac_link_up() (Mark Salter) [1870102] - [netdrv] net: stmmac: Fallback to dev_fwnode() if needed (Mark Salter) [1870102] - [netdrv] net: stmmac: Switch to linkmode_and()/linkmode_andnot() (Mark Salter) [1870102] - [netdrv] flow_offload: check for basic action hw stats type (Mark Salter) [1870102] - [netdrv] stmmac: let core reject the unsupported coalescing parameters (Mark Salter) [1870102] - [netdrv] net: phylink: propagate resolved link config via mac_link_up() (Mark Salter) [1870102] - [netdrv] net: ethernet: stmmac: demote warnings about missing optional clocks (Mark Salter) [1870102] - [netdrv] net: stmmac: platform: Fix misleading interrupt error msg (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Disable ACS if enhanced descs are not used (Mark Salter) [1870102] - [netdrv] net: stmmac: fix notifier registration (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: fix missing IFF_MULTICAST checki in dwxgmac2_set_filter (Mark Salter) [1870102] - [netdrv] net: stmmac: fix missing IFF_MULTICAST check in dwmac4_set_filter (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: fix incorrect XGMAC_VLAN_TAG register writting (Mark Salter) [1870102] - [netdrv] net: stmmac: fix incorrect GMAC_VLAN_TAG register writting in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Delete txtimer in suspend() (Mark Salter) [1870102] - [netdrv] net: stmmac: modified pcs mode support for RGMII (Mark Salter) [1870102] - [netdrv] net: stmmac: Add missing information in DebugFS capabilities file (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4+: Add TBS support (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Add TBS support (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Add support for ETF Scheduler using TBS (Mark Salter) [1870102] - [netdrv] net: stmmac: Initial support for TBS (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac5+: Fix missing return (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix missing return (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Fix TAPRIO division operation (Mark Salter) [1870102] - [netdrv] net: stmmac: mmc: Add Frame Preemption counters on GMAC5+ cores (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac3+: Add support for Frame Preemption (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac5+: Add support for Frame Preemption (Mark Salter) [1870102] - [netdrv] net: stmmac: Add Frame Preemption support using TAPRIO API (Mark Salter) [1870102] - [netdrv] net: stmmac: Integrate EST with TAPRIO scheduler API (Mark Salter) [1870102] - [netdrv] net: stmmac: Add basic EST support for XGMAC (Mark Salter) [1870102] - [netdrv] net: stmmac: Add basic EST support for GMAC5+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Always use TX coalesce timer value when rescheduling (Mark Salter) [1870102] - [netdrv] net: stmmac: Let TX and RX interrupts be independently enabled/disabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Print more information in DebugFS DMA Capabilities file (Mark Salter) [1870102] - [netdrv] net: stmmac: dwc-qos: avoid clk and reset for acpi device (Mark Salter) [1870102] - [netdrv] net: stmmac: dwc-qos: use generic device api (Mark Salter) [1870102] - [netdrv] net: stmmac: platform: fix probe for ACPI devices (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Do not setup flower filtering if RSS is enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Fixed link does not need MDIO Bus (Mark Salter) [1870102] - [netdrv] stmmac: debugfs entry name is not be changed when udev rename device name (Mark Salter) [1870102] - [netdrv] net: stmmac: platform: Fix MDIO init for platforms without PHY (Mark Salter) [1870102] - [netdrv] net: stmmac: Always arm TX Timer at end of transmission start (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable 16KB buffer size (Mark Salter) [1870102] - [netdrv] net: stmmac: 16KB buffer must be 16 byte aligned (Mark Salter) [1870102] - [netdrv] net: stmmac: RX buffer size must be 16 byte aligned (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Clear previous RX buffer size (Mark Salter) [1870102] - [netdrv] net: stmmac: Only the last buffer has the FCS field (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not accept invalid MTU values (Mark Salter) [1870102] - [netdrv] net: stmmac: Determine earlier the size of RX buffer (Mark Salter) [1870102] - [netdrv] treewide: Use sizeof_field() macro (Mark Salter) [1870102] - [netdrv] net: stmmac: reset Tx desc base address before restarting Tx (Mark Salter) [1870102] - [netdrv] net: phylink: rename mac_link_state() op to mac_pcs_get_state() (Mark Salter) [1870102] - [netdrv] page_pool: do not release pool until inflight == 0 (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Do not enable TBU interrupt (Mark Salter) [1870102] - [netdrv] net: stmmac: Rework TX Coalesce logic (Mark Salter) [1870102] - [netdrv] net: stmmac: Tune-up default coalesce settings (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Remove uneeded computation for RFA/RFD (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4+: Remove uneeded computation for RFA/RFD (Mark Salter) [1870102] - [netdrv] net: stmmac: Setup a default RX Coalesce value instead of the minimum (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not set RX IC bit if RX Coalesce is zero (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement UDP Segmentation Offload (Mark Salter) [1870102] - [netdrv] net: stmmac: Rework stmmac_rx() (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Remove the speed dependency (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Add C45 PHY support in the MDIO callbacks (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4+: Add Split Header support (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix sparse warning (Mark Salter) [1870102] - [netdrv] net: stmmac: Remove break after a return (Mark Salter) [1870102] - [netdrv] net: stmmac: add flexible PPS to dwmac 4.10a (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement L3/L4 Filters in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Fallback to VLAN Perfect filtering if HASH is not available (Mark Salter) [1870102] - [netdrv] net: stmmac: Support enhanced addressing mode for DWMAC 4.10 (Mark Salter) [1870102] - [netdrv] net: stmmac: Only enable enhanced addressing mode when needed (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix the TX IOC in xmit path (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix TSO descriptor with Enhanced Addressing (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix the packet count in stmmac_rx() (Mark Salter) [1870102] - ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Disable MMC interrupts by default (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Disable Flow Control when 1 or more queues are in AV (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix AV Feature detection (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix TSA selection (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Only get SPH header len if available (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: bitrev32 returns u32 (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4: bitrev32 returns u32 (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix the problem of tso_xmit (Mark Salter) [1870102] - [netdrv] net: stmmac: fix argument to stmmac_pcs_ctrl_ane() (Mark Salter) [1870102] - [netdrv] net: stmmac: disable/enable ptp_ref_clk in suspend/resume flow (Mark Salter) [1870102] - [netdrv] net: stmmac: make tc_flow_parsers static (Mark Salter) [1870102] - [netdrv] net: stmmac: fix disabling flexible PPS output (Mark Salter) [1870102] - [netdrv] net: stmmac: fix length of PTP clock's name string (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4+: Not all Unicast addresses may be available (Mark Salter) [1870102] - [netdrv] net: stmmac: Avoid deadlock on suspend/resume (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix RSS writing wrong keys (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix RSS not writing all Keys to HW (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Disable the Timestamp interrupt by default (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not stop PHY if WoL is enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Correctly take timestamp for PTPv2 (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: Always update the MAC Hash Filter (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Detect Hash Table size dinamically (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Not all Unicast addresses may be available (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix page pool size (Mark Salter) [1870102] - [netdrv] net: stmmac: selftest: avoid large stack usage (Mark Salter) [1870102] - [netdrv] net: stmmac: Hold rtnl lock in suspend/resume callbacks (Mark Salter) [1870102] - [netdrv] net: stmmac: implement support for passive mode converters via dt (Mark Salter) [1870102] - [netdrv] net: stmmac: ARP Offload for GMAC4+ Cores (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for VLAN Insertion Offload in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for SA Insertion/Replacement in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Reinitialize correctly a variable (Mark Salter) [1870102] - [netdrv] net: stmmac: Add VLAN HASH filtering support in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Prevent divide-by-zero (Mark Salter) [1870102] - [netdrv] net: stmmac: Limit max speeds of XGMAC if asked to (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: Enable RX Jumbo frame support (Mark Salter) [1870102] - [netdrv] stmmac: platform: adjust messages and move to dev level (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Enable RX Jumbo frame support (Mark Salter) [1870102] - [netdrv] net: stmmac: Correctly assing MAX MTU in XGMAC cores case (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Correct RAVSEL field interpretation (Mark Salter) [1870102] - [netdrv] net: stmmac: ethtool: Let user configure TX coalesce without RIWT (Mark Salter) [1870102] - [netdrv] net: stmmac: Only consider RX error when HW Timestamping is not enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Implement ARP Offload (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement L3/L4 Filters using TC Flower (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not return error code in TC Initialization (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Add RBU handling in DMA interrupt (Mark Salter) [1870102] - [netdrv] net: stmmac: depend on COMMON_CLK (Mark Salter) [1870102] - [netdrv] net: stmmac: dwc-qos: use devm_platform_ioremap_resource() to simplify code (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for VLAN Insertion Offload (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Add EEE support (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for SA Insertion/Replacement in XGMAC cores (Mark Salter) [1870102] - [netdrv] net: stmmac: Add ethtool register dump for XGMAC cores (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac: Add Flexible PPS support (Mark Salter) [1870102] - [netdrv] net: stmmac: Add a counter for Split Header packets (Mark Salter) [1870102] - [netdrv] net: page_pool: API cleanup and comments (Mark Salter) [1870102] - [netdrv] net: stmmac: Add Split Header support and enable it in XGMAC cores (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Correctly return that RX descriptor is not last one (Mark Salter) [1870102] - [netdrv] net: stmmac: Prepare to add Split Header support (Mark Salter) [1870102] - [netdrv] net: stmmac: Get correct timestamp values from XGMAC (Mark Salter) [1870102] - [netdrv] stmmac: no need to check return value of debugfs_create functions (Mark Salter) [1870102] - [netdrv] net: stmmac: Add Flexible RX Parser support in XGMAC (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement Safety Features in XGMAC core (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement VLAN Hash Filtering in XGMAC (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement RSS and enable it in XGMAC core (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Implement tx_queue_prio() (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Implement set_mtl_tx_queue_weight() (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Implement MMC counters (Mark Salter) [1870102] - [netdrv] net: Remove dev_err() usage after platform_get_irq() (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not request stmmaceth clock (Mark Salter) [1870102] - [netdrv] net: stmmac: Make MDIO bus reset optional (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Do not return a fragment entry (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix issues when number of Queues >= 4 (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix XGMAC selftests (Mark Salter) [1870102] - [netdrv] net: stmmac: manage errors returned by of_get_mac_address() (Mark Salter) [1870102] - [netdrv] net: stmmac: Use netif_tx_napi_add() for TX polling function (Mark Salter) [1870102] - [netdrv] net: stmmac: Sync RX Buffer upon allocation (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not cut down 1G modes (Mark Salter) [1870102] - [netdrv] net: stmmac: Use kcalloc() instead of kmalloc_array() (Mark Salter) [1870102] - [netdrv] net: stmmac: RX Descriptors need to be clean before setting buffers (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix misuses of GENMASK macro (Mark Salter) [1870102] - [netdrv] net: stmmac: add support for hash table size 128/256 in dwmac4 (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: mac address array boudary violation issue (Mark Salter) [1870102] - [netdrv] net: stmmac: Introducing support for Page Pool (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix descriptors address being in > 32 bits address space (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement RX Coalesce Frames setting (Mark Salter) [1870102] - [netdrv] net: stmmac: Re-work the queue selection for TSO packets (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable dwmac4 jumbo frame more than 8KiB (Mark Salter) [1870102] - [netdrv] net: stmmac: make "snps, reset-delays-us" optional again (Mark Salter) [1870102] - [netdrv] net: stmmac: Re-word Kconfig entry (Mark Salter) [1870102] - [netdrv] net: stmmac: Update Kconfig entry (Mark Salter) [1870102] - [netdrv] net: stmmac: Only disable interrupts if NAPI is scheduled (Mark Salter) [1870102] - [netdrv] net: stmmac: Update RX Tail Pointer to last free entry (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable support for > 32 Bits addressing in XGMAC (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not disable interrupts when cleaning TX (Mark Salter) [1870102] - [netdrv] net: stmmac: Add the missing speeds that XGMAC supports (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac: Fix the undefined burst setting (Mark Salter) [1870102] - [netdrv] net: stmmac: Decrease default RX Watchdog value (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not try to enable PHY EEE if MAC does not support it (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac: Enable EDMA by default (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix case when PHY handle is not present (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix crash observed if PHY does not support EEE (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix possible deadlock when disabling EEE support (Mark Salter) [1870102] - [netdrv] net: stmmac: initialize the reset delay array (Mark Salter) [1870102] - [netdrv] net: stmmac: add sanity check to device_property_read_u32_array call (Mark Salter) [1870102] - [netdrv] net: stmmac: fix unused-variable warning (Mark Salter) [1870102] - [netdrv] net: stmmac: drop the phy_reset hook from struct stmmac_mdio_bus_data (Mark Salter) [1870102] - [netdrv] net: stmmac: drop the reset delays from struct stmmac_mdio_bus_data (Mark Salter) [1870102] - [netdrv] net: stmmac: drop the reset GPIO from struct stmmac_mdio_bus_data (Mark Salter) [1870102] - [netdrv] net: stmmac: use device_property_read_u32_array to read the reset delays (Mark Salter) [1870102] - [netdrv] net: stmmac: drop redundant check in stmmac_mdio_reset (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix wrapper drivers not detecting PHY (Mark Salter) [1870102] - [netdrv] net: stmmac: use GPIO descriptors in stmmac_mdio_reset (Mark Salter) [1870102] - [netdrv] net: stmmac: Convert to phylink and remove phylib logic (Mark Salter) [1870102] - [netdrv] net: stmmac: Start adding phylink support (Mark Salter) [1870102] - [netdrv] net: stmmac: Prepare to convert to phylink (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: fix flow control issue (Mark Salter) [1870102] - [netdrv] net: stmmac: modify default value of tx-frames (Mark Salter) [1870102] - [netdrv] net: stmmac: Switch to devm_alloc_etherdev_mqs (Mark Salter) [1870102] - [netdrv] net: stmmac: use dev_info() before netdev is registered (Mark Salter) [1870102] - [netdrv] net: stmmac: Prevent missing interrupts when running NAPI (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Clear unused address entries (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Do not disable whole RX in dma_stop_rx() (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Do not disable whole RX in dma_stop_rx() (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Fix Hash Filter (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Clear unused address entries (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Fix Hash Filter (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Also pass control frames while in promisc mode (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Also pass control frames while in promisc mode (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Also pass control frames while in promisc mode (Mark Salter) [1870102] - [netdrv] net: stmmac: Switch MMC functions to HWIF callbacks (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Add MAC loopback support (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Add MAC loopback support (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Add MAC loopback support (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac100: Add MAC loopback support (Mark Salter) [1870102] - [netdrv] net: stmmac: Add MAC loopback callback to HWIF (Mark Salter) [1870102] - [netdrv] net: stmmac: set IC bit when transmitting frames with HW timestamp (Mark Salter) [1870102] - [netdrv] net: stmmac: fixed new system time seconds value calculation (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not output error on deferred probe (Mark Salter) [1870102] - [netdrv] net: stmmac: fix csr_clk can't be zero issue (Mark Salter) [1870102] - [netdrv] net: stmmac: update rx tail pointer register to fix rx dma hang issue (Mark Salter) [1870102] - [netdrv] net: stmmac: fix reset gpio free missing (Mark Salter) [1870102] - [netdrv] net: stmmac: dma channel control register need to be init first (Mark Salter) [1870102] - [netdrv] net: stmmac: fix ethtool flow control not able to get/set (Mark Salter) [1870102] - [netdrv] dwmac4_prog_mtl_tx_algorithms() missing write operation (Mark Salter) [1870102] - [netdrv] net: stmmac: Set Flow Control to automatic mode in the driver (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac: Finish the Flow Control implementation (Mark Salter) [1870102] - [netdrv] net: stmmac: move stmmac_check_ether_addr() to driver probe (Mark Salter) [1870102] - [netdrv] net: stmmac: Use bfsize1 in ndesc_init_rx_desc (Mark Salter) [1870102] - [netdrv] net: stmmac: don't log oversized frames (Mark Salter) [1870102] - [netdrv] net: stmmac: fix dropping of multi-descriptor RX frames (Mark Salter) [1870102] - [netdrv] net: stmmac: don't overwrite discard_frame status (Mark Salter) [1870102] - [netdrv] net: stmmac: don't stop NAPI processing when dropping a packet (Mark Salter) [1870102] - [netdrv] net: stmmac: ratelimit RX error logs (Mark Salter) [1870102] - [netdrv] net: stmmac: use correct DMA buffer size in the RX descriptor (Mark Salter) [1870102] - [netdrv] net: stmmac: fix memory corruption with large MTUs (Mark Salter) [1870102] - [netdrv] net: stmmac: fix jumbo frame sending with non-linear skbs (Mark Salter) [1870102] - [netdrv] net: stmmac: don't set own bit too early for jumbo frames (Mark Salter) [1870102] - [netdrv] net: stmmac: Avoid one more sometimes uninitialized Clang warning (Mark Salter) [1870102] - [netdrv] net: ethernet: stmmac: add management of clk_csr property (Mark Salter) [1870102] - [netdrv] net: stmmac: Avoid sometimes uninitialized Clang warnings (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Also use TBU interrupt to clean TX path (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: Also use TBU interrupt to clean TX path (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix NAPI poll in TX path when in multi-queue (Mark Salter) [1870102] - [netdrv] net: stmmac: use correct define to get rx timestamp on GMAC4 (Mark Salter) [1870102] - [netdrv] net: stmmac: fix ptp timestamping on Rx on gmac4 (Mark Salter) [1870102] - [netdrv] net: stmmac: implement the SIOCGHWTSTAMP ioctl (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix a race in EEE enable callback (Mark Salter) [1870102] - [netdrv] net: stmmac: handle endianness in dwmac4_get_timestamp (Mark Salter) [1870102] - [netdrv] net: stmmac: Disable EEE mode earlier in XMIT callback (Mark Salter) [1870102] - [netdrv] net: stmmac: Send TSO packets always from Queue 0 (Mark Salter) [1870102] - [netdrv] net: stmmac: Fallback to Platform Data clock in Watchdog conversion (Mark Salter) [1870102] - [netdrv] net: stmmac: Prevent RX starvation in stmmac_napi_poll() (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix the logic of checking if RX Watchdog must be enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Check if CBS is supported before configuring (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Only clear interrupts that are active (Mark Salter) [1870102] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Mark Salter) [1870102] - [netdrv] net: stmmac: convert to DEFINE_SHOW_ATTRIBUTE (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix an error code in probe() (Mark Salter) [1870102] - [netdrv] net: stmmac: Move debugfs init/exit to ->probe()/->remove() (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix RX packet size > 8191 (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules (Mark Salter) [1870102] - [netdrv] net: stmmac: Set OWN bit for jumbo frames (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable TC Ops for GMAC >= 4 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add CBS support in XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Fixup the tail addr setting in xmit path (Mark Salter) [1870102] - [netdrv] stmmac: fix valid numbers of unicast filter entries (Mark Salter) [1870102] - [netdrv] net: stmmac: Rework coalesce timer and fix multi-queue races (Mark Salter) [1870102] - [netdrv] Revert "net: stmmac: Do not keep rearming the coalesce timer in stmmac_xmit" (Mark Salter) [1870102] - [netdrv] Revert "net: stmmac: fix build failure due to missing COMMON_CLK dependency" (Mark Salter) [1870102] - [netdrv] net: stmmac: Integrate XGMAC into main driver flow (Mark Salter) [1870102] - [netdrv] net: stmmac: Add PTP support for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add MDIO related functions for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add descriptor related callbacks for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add DMA related callbacks for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add MAC related callbacks for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add XGMAC 2.10 HWIF entry (Mark Salter) [1870102] - [netdrv] stmmac: fix signed 64-bit division (Mark Salter) [1870102] - [netdrv] net: stmmac_tc: use 64-bit arithmetic instead of 32-bit (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for CBS QDISC (Mark Salter) [1870102] - [tty] serial: 8250_tegra: Create Tegra specific 8250 driver (Mark Salter) [1870103] - [pci] PCI: Disable MSI for Tegra root ports (Mark Salter) [1870101] - [pci] PCI: Add MCFG quirks for Tegra194 host controllers (Mark Salter) [1870101] - [netdrv] tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS (Antoine Tenart) [1919364 1917563] {CVE-2021-0342} - [netdrv] tun: correct header offsets in napi frags mode (Antoine Tenart) [1919364 1917563] {CVE-2021-0342} - [netdrv] tun: Don't put_page() for all negative return values from XDP program (Antoine Tenart) [1919364] - [netdrv] tun: add mutex_unlock() call and napi.skb clearing in tun_get_user() (Antoine Tenart) [1919364] - [netdrv] tun: fix data-race in gro_normal_list() (Antoine Tenart) [1919364] - [netdrv] tun: fix use-after-free when register netdev failed (Antoine Tenart) [1919364] - [netdrv] tun: mark small packets as owned by the tap sock (Antoine Tenart) [1919364] - [netdrv] tun: use netdev_alloc_frag() in tun_napi_alloc_frags() (Antoine Tenart) [1919364] - [scsi] scsi: ibmvfc: Fix error return in ibmvfc_probe() (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Provide modules parameters for MQ settings (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Enable MQ and set reasonable defaults (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Purge SCSI channels after transport loss/reset (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Send Cancel MAD down each hw SCSI channel (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add cancel mad initialization helper (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Register Sub-CRQ handles with VIOS during channel setup (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Send commands down HW Sub-CRQ when channelized (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Set and track hw queue in ibmvfc_event struct (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Advertise client support for using hardware channels (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Implement channel enquiry and setup commands (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Map/request irq and register Sub-CRQ interrupt handler (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Define Sub-CRQ interrupt handler routine (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add handlers to drain and complete Sub-CRQ responses (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add Sub-CRQ IRQ enable/disable routine (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add alloc/dealloc routines for SCSI Sub-CRQ Channels (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add Subordinate CRQ definitions (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Define hcall wrapper for registering a Sub-CRQ (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add size parameter to ibmvfc_init_event_pool() (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Init/free event pool during queue allocation/free (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Move event pool init/free routines (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add vhost fields and defaults for MQ enablement (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Fix missing cast of ibmvfc_event pointer to u64 handle (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Relax locking around ibmvfc_queuecommand() (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Complete commands outside the host/queue lock (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Define per-queue state/list locks (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Make command event pool queue specific (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Define generic queue structure for CRQs (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Advertise client support for targetWWPN using v2 commands (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add support for target_wwpn field in v2 MADs and vfcFrame (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add FC payload retrieval routines for versioned vfcFrames (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add helper for testing capability flags (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add new fields for version 2 of several MADs (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Deduplicate common ibmvfc_cmd init code (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Use correlation token to tag commands (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Remove trailing semicolon (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Byte swap login_buf.resp values in attribute show functions (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Interface updates for future FPIN and MQ support (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Protect vhost->task_set increment by the host lock (Desnes Augusto Nunes do Rosario) [1868055] - [net] tcp: Fix potential use-after-free due to double kfree() (Florian Westphal) [1915164] - [nvdimm] libnvdimm/region: Enable MAP_SYNC for volatile regions (Steve Best) [1916650] - [net] bpf: Permit cond_resched for some iterators (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Fix PID fetching with a lot of results (Yauheni Kaliuta) [1874005] - [net] bpf: verifier: Use target program's type for access verifications (Yauheni Kaliuta) [1874005] - [tools] selftests: bpf: Test sockmap update from BPF (Yauheni Kaliuta) [1874005] - [net] bpf: sockmap: Allow update from BPF (Yauheni Kaliuta) [1874005] - [net] bpf: Override the meaning of ARG_PTR_TO_MAP_VALUE for sockmap and sockhash (Yauheni Kaliuta) [1874005] - [net] bpf: sockmap: Call sock_map_update_elem directly (Yauheni Kaliuta) [1874005] - [net] bpf: sockmap: Merge sockmap and sockhash update functions (Yauheni Kaliuta) [1874005] - [net] net: sk_msg: Simplify sk_psock initialization (Yauheni Kaliuta) [1874005] - [net] bpf: Enforce id generation for all may-be-null register type (Yauheni Kaliuta) [1874005] - [samples] samples: bpf: Cleanup bpf_load.o from Makefile (Yauheni Kaliuta) [1874005] - [include] bpf: Plug hole in struct bpf_sk_lookup_kern (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix endianness issues in sk_lookup/ctx_narrow_access (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Fix build slowdown (Yauheni Kaliuta) [1874005] - [net] bpf: Fix scalar32_min_max_or bounds tracking (Yauheni Kaliuta) [1874005] - [net] bpf: Fix "unresolved symbol" build error with resolve_btfids (Yauheni Kaliuta) [1874005] - [powerpc] bpf, powerpc: Fix misuse of fallthrough in bpf_jit_comp() (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix XDP program load regression for old kernels (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix native endian assumption when parsing BTF (Yauheni Kaliuta) [1874005] - [include] bpf: Prevent .BTF section elimination (Yauheni Kaliuta) [1874005] - [net] bpf: Fix sysfs export of empty BTF section (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Support passing BPFTOOL_VERSION to make (Yauheni Kaliuta) [1874005] - [net] bpf: Fix a rcu warning for bpffs map pretty-print (Yauheni Kaliuta) [1874005] - [net] bpf: Bpf_skc_to_* casting helpers require a NULL check on sk (Yauheni Kaliuta) [1874005] - [documentation] docs/bpf: Remove source code links (Yauheni Kaliuta) [1874005] - [documentation] docs/bpf: Fix ringbuf documentation (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix VERSIONED_SYM_COUNT number parsing (Yauheni Kaliuta) [1874005] - [tools] tools/libbpf: Avoid counting local symbols in ABI check (Yauheni Kaliuta) [1874005] - [net] bpf: Fix clobbering of r2 in bpf_gen_ld_abs (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add bpf_{update, delete}_map_elem in hashmap iter program (Yauheni Kaliuta) [1874005] - [net] bpf: Do not use bucket_lock for hashmap iterator (Yauheni Kaliuta) [1874005] - [tools] libbpf: Remove arch-specific include path in Makefile (Yauheni Kaliuta) [1874005] - [tools] tools/bpf: build: Make sure resolve_btfids cleans up after itself (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix build failure from uninitialized variable warning (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix massive output from test_maps (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix test_progs-flavor run getting number of tests (Yauheni Kaliuta) [1874005] - [net] bpf: Fix a buffer out-of-bound access when filling raw_tp link_info (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix two typos in uapi/linux/bpf.h (Yauheni Kaliuta) [1874005] - [tools] tools/resolve_btfids: Fix sections with wrong alignment (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix map index used in error message (Yauheni Kaliuta) [1874005] - [tools] bpftool: Handle EAGAIN error code properly in pids collection (Yauheni Kaliuta) [1874005] - [net] bpf: Avoid visit same object multiple times (Yauheni Kaliuta) [1874005] - [net] bpf: Fix a rcu_sched stall issue with bpf task/task_file iterator (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix build on ppc64le architecture (Yauheni Kaliuta) [1874005] - [net] bpf: Use get_file_rcu() instead of get_file() for task_file iterator (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Make test_varlen work with 32-bit user-space arch (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Generate data section struct with conservative alignment (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Correct various core_reloc 64-bit assumptions (Yauheni Kaliuta) [1874005] - [tools] libbpf: Enforce 64-bitness of BTF for BPF object files (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix btf_dump test cases on 32-bit arches (Yauheni Kaliuta) [1874005] - [tools] libbpf: Handle BTF pointer sizes more carefully (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix BTF-defined map-in-map initialization on 32-bit host arches (Yauheni Kaliuta) [1874005] - [tools] selftest/bpf: Fix compilation warnings in 32-bit mode (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Fix compilation warnings in 32-bit mode (Yauheni Kaliuta) [1874005] - [documentation] doc: Add link to bpf helpers man page (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: Add tests to sock_ops for loading sk (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: Add tests for sock_ops load with r9, r8.r7 registers (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: Add tests for ctx access in sock_ops with single register (Yauheni Kaliuta) [1874005] - [net] bpf: sock_ops sk access may stomp registers when dst_reg = src_reg (Yauheni Kaliuta) [1874005] - [net] bpf: sock_ops ctx access may stomp registers in corner case (Yauheni Kaliuta) [1874005] - [net] net/core/filter.c: Use sizeof_field() macro (Yauheni Kaliuta) [1874005] - [tools] libbpf: Prevent overriding errno when logging errors (Yauheni Kaliuta) [1874005] - [net] bpf: Iterate through all PT_NOTE sections when looking for build id (Yauheni Kaliuta) [1874005] - [tools] libbpf: Handle GCC built-in types for Arm NEON (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Make skeleton code C++17-friendly by dropping typeof() (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix v4_to_v6 in sk_lookup (Yauheni Kaliuta) [1874005] - [tools] libbpf: Do not use __builtin_offsetof for offsetof (Yauheni Kaliuta) [1874005] - [net] bpf: Delete repeated words in comments (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix silent Makefile output (Yauheni Kaliuta) [1874005] - [documentation] bpf, doc: Remove references to warning message when using bpf_trace_printk() (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix compilation warning of selftests (Yauheni Kaliuta) [1874005] - [kernel] bpf: Remove inline from bpf_do_trace_printk (Yauheni Kaliuta) [1874005] - [tools] bpf: Add missing return to resolve_btfids (Yauheni Kaliuta) [1874005] - [tools] tools/bpf: Support new uapi for map element bpf iterator (Yauheni Kaliuta) [1874005] - [net] bpf: Change uapi for bpf iterator map elements (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Prevent runqslower from racing on building bpftool (Yauheni Kaliuta) [1874005] - [net] bpf: Allow to specify ifindex for skb in bpf_prog_test_run_skb (Yauheni Kaliuta) [1874005] - [net] bpf: Setup socket family and addresses in bpf_prog_test_run_skb (Yauheni Kaliuta) [1874005] - [tools] tools/resolve_btfids: Use libbpf's btf__parse() API (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Use libbpf's btf__parse() API for parsing BTF from file (Yauheni Kaliuta) [1874005] - [tools] libbf: Fix uninitialized pointer at btf__parse_raw() (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add btf__parse_raw() and generic btf__parse() APIs (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Fix wrong return value in do_dump() (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix spurious test failures in core_retro selftest (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add documentation and bash-completion for `link detach` (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add `link detach` subcommand (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add bpf_link detach APIs (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: Use single cgroup helpers for both test_sockmap/progs (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix register in PT_REGS MIPS macros (Yauheni Kaliuta) [1874005] - [tools] libbpf: Make destructors more robust by handling ERR_PTR(err) cases (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Omit nodad flag when adding addresses to loopback (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Don't destroy failed link (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add xdpdrv mode for test_xdp_redirect (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Verify socket storage in cgroup/sock_{create, release} (Yauheni Kaliuta) [1874005] - [net] bpf: Expose socket storage to BPF_PROG_TYPE_CGROUP_SOCK (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test bpf_iter buffer access with negative offset (Yauheni Kaliuta) [1874005] - [net] bpf: Add missing newline characters in verifier error messages (Yauheni Kaliuta) [1874005] - [arm64] bpf, arm64: Add BPF exception tables (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: use :: 1 for localhost in tcp_server.py (Yauheni Kaliuta) [1874005] - [net] bpf: Fix swapped arguments in calls to check_buffer_access (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add new bpf_iter context structs to fix build on old kernels (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix bpf_ringbuf_output() signature to return long (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Add LSM type to array of prog names (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Skip type probe if name is not found (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add support for BPF XDP link (Yauheni Kaliuta) [1874005] - [include] bpf: Make bpf_link API available indepently of CONFIG_BPF_SYSCALL (Yauheni Kaliuta) [1874005] - [net] bpf: Fix build on architectures with special bpf_user_pt_regs_t (Yauheni Kaliuta) [1874005] - [net] bpf/local_storage: Fix build without CONFIG_CGROUP (Yauheni Kaliuta) [1874005] - [documentation] Documentation/bpf: Document CGROUP_STORAGE map type (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test CGROUP_STORAGE behavior on shared egress + ingress (Yauheni Kaliuta) [1874005] - [net] bpf: Make cgroup storages shared between programs on the same cgroup (Yauheni Kaliuta) [1874005] - [net] cgroup: use cgrp->kn->id as the cgroup ID (Yauheni Kaliuta) [1874005] - [net] netprio: use css ID instead of cgroup ID (Yauheni Kaliuta) [1874005] - [fs] kernfs: convert kernfs_node->id from union kernfs_node_id to u64 (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add get_stackid_cannot_attach (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test CGROUP_STORAGE map can't be used by multiple progs (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add callchain_stackid (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test for CGROUP_STORAGE map on multiple attaches (Yauheni Kaliuta) [1874005] - [tools] libbpf: Print hint when PERF_EVENT_IOC_SET_BPF returns -EPROTO (Yauheni Kaliuta) [1874005] - [net] bpf: Fail PERF_EVENT_IOC_SET_BPF when bpf_get_cannot work (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add a test for out of bound rdonly buf access (Yauheni Kaliuta) [1874005] - [net] bpf: Separate bpf_get_for perf events BPF (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add a test for bpf sk_storage_map iterator (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test for bpf array map iterators (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test for bpf hash map iterators (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add bpftool support for bpf map element iterator (Yauheni Kaliuta) [1874005] - [tools] tools/libbpf: Add support for bpf map element iterator (Yauheni Kaliuta) [1874005] - [net] bpf: Implement bpf iterator for sock local storage map (Yauheni Kaliuta) [1874005] - [net] bpf: Implement bpf iterator for array maps (Yauheni Kaliuta) [1874005] - [net] bpf: Implement bpf iterator for hash maps (Yauheni Kaliuta) [1874005] - [net] bpf: Implement bpf iterator for map elements (Yauheni Kaliuta) [1874005] - [net] bpf: Fix pos computation for bpf_iter seq_ops->start() (Yauheni Kaliuta) [1874005] - [net] bpf: Support readonly/readwrite buffers in verifier (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test BPF socket lookup and reuseport with connections (Yauheni Kaliuta) [1874005] - [net] bpf: Refactor to provide aux info to bpf_iter_init_seq_priv_t (Yauheni Kaliuta) [1874005] - [net] bpf: Refactor bpf_iter_reg to have separate seq_info member (Yauheni Kaliuta) [1874005] - [net] bpf: Add bpf_prog iterator (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Strip BPF .o files before skeleton generation (Yauheni Kaliuta) [1874005] - [documentation] docs: bpf/bpf_devel_QA.rst: fix reference to nonexistent document (Yauheni Kaliuta) [1874005] - [documentation] docs: bpf/index.rst: Add ringbuf.rst (Yauheni Kaliuta) [1874005] - [tools] bpftool: Use only nftw for file tree parsing (Yauheni Kaliuta) [1874005] - [net] bpf: net: Use precomputed btf_id for bpf iterators (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix test_lwt_seg6local.sh hangs (Yauheni Kaliuta) [1874005] - [net] bpf: Make btf_sock_ids global (Yauheni Kaliuta) [1874005] - [tools] bpf: Add BTF_ID_LIST_GLOBAL in btf_ids.h (Yauheni Kaliuta) [1874005] - [tools] tools/bpf: Sync btf_ids.h to tools (Yauheni Kaliuta) [1874005] - [net] bpf: Compute bpf_skc_to_*() helper socket btf ids at build time (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Fix error handing in do_skeleton() (Yauheni Kaliuta) [1874005] - [tools] libbpf bpf_helpers: Use __builtin_offsetof for offsetof (Yauheni Kaliuta) [1874005] - [s390] s390/bpf: Use bpf_skip() in bpf_jit_prologue() (Yauheni Kaliuta) [1874005] - [net] bpf: cpumap: Fix possible rcpu kthread hung (Yauheni Kaliuta) [1874005] - [s390] s390/bpf: implement BPF_PROBE_MEM (Yauheni Kaliuta) [1874005 1868273] - [s390] s390/kernel: expand exception table logic to allow new handling options (Yauheni Kaliuta) [1874005 1868273] - [s390] s390: fix __EMIT_BUG() macro (Yauheni Kaliuta) [1874005 1868273] - [s390] s390/bug: add entry size to the __bug_table section (Yauheni Kaliuta) [1874005 1868273] - [s390] s390/kernel: unify EX_TABLE* implementations (Yauheni Kaliuta) [1874005 1868273] - [tools] selftests/bpf: Tests for BPF_SK_LOOKUP attach point (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add verifier tests for bpf_sk_lookup context access (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add name mappings for SK_LOOKUP prog and attach type (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add support for SK_LOOKUP program type (Yauheni Kaliuta) [1874005] - [tools] bpf: Sync linux/bpf.h to tools/ (Yauheni Kaliuta) [1874005] - [include] bpf: Introduce SK_LOOKUP program type with a dedicated attach point (Yauheni Kaliuta) [1874005] - [net] bpf, netns: Handle multiple link attachments (Yauheni Kaliuta) [1874005] - [tools] bpf: Drop duplicated words in uapi helper comments (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix possible hang in sockopt_inherit (Yauheni Kaliuta) [1874005] - [tools] selftest: Add tests for XDP programs in CPUMAP entries (Yauheni Kaliuta) [1874005] - [samples] samples/bpf: xdp_redirect_cpu: Load a eBPF program on cpumap (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add SEC name for xdp programs attached to CPUMAP (Yauheni Kaliuta) [1874005] - [net] bpf: cpumap: Implement XDP_REDIRECT for eBPF programs attached to map entries (Yauheni Kaliuta) [1874005] - [net] bpf: cpumap: Add the possibility to attach an eBPF program to cpumap (Yauheni Kaliuta) [1874005] - [net] net: Refactor xdp_convert_buff_to_frame (Yauheni Kaliuta) [1874005] - [net] cpumap: Formalize map value as a named struct (Yauheni Kaliuta) [1874005] - [samples] samples/bpf: xdp_redirect_cpu_user: Do not update bpf maps in option loop (Yauheni Kaliuta) [1874005] - [net] cpumap: Use non-locked version __ptr_ring_consume_batched (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/ppc-opcode: Consolidate powerpc instructions from bpf_jit.h (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/bpf_jit: Reuse instruction macros from ppc-opcode.h (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/ppc-opcode: Move ppc instruction encoding from test_emulate_step (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/lib: Fix emulate_step() std test (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/ppc-opcode: Introduce PPC_RAW_* macros for base instruction encoding (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix cross build for CONFIG_DEBUG_INFO_BTF option (Yauheni Kaliuta) [1874005] - [include] bpf: Fix build for disabled CONFIG_DEBUG_INFO_BTF option (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Strip away modifiers from global variables (Yauheni Kaliuta) [1874005] - [tools] libbpf: Support stripping modifiers for btf_dump (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add selftests verifying bpf_trace_printk() behaviour (Yauheni Kaliuta) [1874005] - [kernel] bpf: Use dedicated bpf_trace_printk event instead of trace_printk() (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Remove warning about PID iterator support (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test for resolve_btfids (Yauheni Kaliuta) [1874005] - [tools] tools headers: Adopt verbatim copy of btf_ids.h from kernel sources (Yauheni Kaliuta) [1874005] - [documentation] bpf: Add info about .BTF_ids section to btf.rst (Yauheni Kaliuta) [1874005] - [net] bpf: Use BTF_ID to resolve bpf_ctx_convert struct (Yauheni Kaliuta) [1874005] - [net] bpf: Remove btf_id helpers resolving (Yauheni Kaliuta) [1874005] - [net] bpf: Resolve BTF IDs in vmlinux image (Yauheni Kaliuta) [1874005] - [include] bpf: Add BTF_ID_LIST/BTF_ID/BTF_ID_UNUSED macros (Yauheni Kaliuta) [1874005] - [net] bpf: Support llvm-objcopy for vmlinux BTF (Yauheni Kaliuta) [1874005] - [powerpc] powerpc: Include .BTF section (Yauheni Kaliuta) [1874005] - [scripts] kbuild: Remove debug info from kallsyms linking (Yauheni Kaliuta) [1874005] - [scripts] kbuild: Parameterize kallsyms generation and correct reporting (Yauheni Kaliuta) [1874005] - [tools] bpf: Compile resolve_btfids tool at kernel compilation start (Yauheni Kaliuta) [1874005] - [kernel] tracing: Make struct ring_buffer less ambiguous (Yauheni Kaliuta) [1874005] - [kernel] tracing: Rename trace_buffer to array_buffer (Yauheni Kaliuta) [1874005] - [tools] tools headers: Synchronize linux/bits.h with the kernel sources (Yauheni Kaliuta) [1874005] - [tools] tools headers: Update linux/vdso.h and grab a copy of vdso/const.h (Yauheni Kaliuta) [1874005] - [tools] tools headers: Adopt verbatim copy of compiletime_assert() from kernel sources (Yauheni Kaliuta) [1874005] - [tools] objtool: Query pkg-config for libelf location (Yauheni Kaliuta) [1874005] - [tools] bpf: Add resolve_btfids tool to resolve BTF IDs in ELF object (Yauheni Kaliuta) [1874005] - [samples] bpf: Fix fds_example SIGSEGV error (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix memory leak and optimize BTF sanitization (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Switch perf_buffer test to tracepoint and skeleton (Yauheni Kaliuta) [1874005] - [tools] libbpf: Handle missing BPF_OBJ_GET_INFO_BY_FD gracefully in perf_buffer (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test relying only on CO-RE and no recent kernel features (Yauheni Kaliuta) [1874005] - [tools] libbpf: Improve BTF sanitization handling (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add btf__set_fd() for more control over loaded BTF FD (Yauheni Kaliuta) [1874005] - [tools] libbpf: Make BTF finalization strict (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: test_progs avoid minus shell exit codes (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: test_progs use another shell exit on non-actions (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix another bpftool segfault without skeleton code enabled (Yauheni Kaliuta) [1874005] - [tools] selftests: bpf: Remove unused bpf_map_def_legacy struct (Yauheni Kaliuta) [1874005] - [samples] samples: bpf: Refactor BPF map performance test with libbpf (Yauheni Kaliuta) [1874005] - [samples] samples: bpf: Refactor BPF map in map test with libbpf (Yauheni Kaliuta) [1874005] - [samples] samples: bpf: Fix bpf programs with kprobe/sys_connect event (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test BPF_CGROUP_INET_SOCK_RELEASE (Yauheni Kaliuta) [1874005] - [tools] bpftool: Add support for BPF_CGROUP_INET_SOCK_RELEASE (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add support for BPF_CGROUP_INET_SOCK_RELEASE (Yauheni Kaliuta) [1874005] - [net] bpf: Add BPF_CGROUP_INET_SOCK_RELEASE hook (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix compilation error of bpf_iter_task_stack.c (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix bpftool without skeleton code enabled (Yauheni Kaliuta) [1874005] - [net] bpf: Fix build without CONFIG_STACKTRACE (Yauheni Kaliuta) [1874005] - [tools] bpf: selftests: Restore netns after each test (Yauheni Kaliuta) [1874005] - [tools] bpf: selftests: A few improvements to network_helpers.c (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test_progs option for listing test names (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test_progs option for getting number of tests (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test_progs indicate to shell on non-actions (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Turn off -Wnested-externs warning (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Switch test_vmlinux to use hrtimer_range_start_ns (Yauheni Kaliuta) [1874005] - [net] bpf: Fix net/core/filter build errors when INET is not enabled (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add bpf_iter test with bpf_get_task_stack() (Yauheni Kaliuta) [1874005] - [kernel] bpf: Allow pB in bpf_seq_printf() and bpf_trace_printk() (Yauheni Kaliuta) [1874005] - [net] bpf: Introduce helper bpf_get_task_stack() (Yauheni Kaliuta) [1874005] - [net] bpf: Remove redundant synchronize_rcu (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add byte swapping selftest (Yauheni Kaliuta) [1874005] - [tools] libbpf: Make bpf_endian co-exist with vmlinux.h (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Allow substituting custom vmlinux.h for selftests build (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Allow substituting custom vmlinux.h for the build (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test auto-load disabling logic for BPF programs (Yauheni Kaliuta) [1874005] - [tools] libbpf: Support disabling auto-loading BPF programs (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Define attach_type_name array only once (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Define prog_type_name array only once (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add tcp/udp iterator programs to selftests (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Implement sample udp/udp6 bpf_iter programs (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Implement sample tcp/tcp6 bpf_iter programs (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add more common macros to bpf_tracing_net.h (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Refactor some net macros to bpf_tracing_net.h (Yauheni Kaliuta) [1874005] - [kernel] bpf: Add bpf_skc_to_udp6_sock() helper (Yauheni Kaliuta) [1874005] - [net] net: bpf: Implement bpf iterator for udp (Yauheni Kaliuta) [1874005] - [net] net: bpf: Add bpf_seq_afinfo in udp_iter_state (Yauheni Kaliuta) [1874005] - [kernel] bpf: Add bpf_skc_to_{tcp, tcp_timewait, tcp_request}_sock() helpers (Yauheni Kaliuta) [1874005] - [net] bpf: Add bpf_skc_to_tcp6_sock() helper (Yauheni Kaliuta) [1874005] - [kernel] bpf: Allow tracing programs to use bpf_jiffies64() helper (Yauheni Kaliuta) [1874005] - [kernel] bpf: Support 'X' in bpf_seq_printf() helper (Yauheni Kaliuta) [1874005] - [net] net: bpf: Implement bpf iterator for tcp (Yauheni Kaliuta) [1874005] - [net] net: bpf: Add bpf_seq_afinfo in tcp_iter_state (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Workaround for get_stack_rawtp test (Yauheni Kaliuta) [1874005] - [tools] libbpf: Prevent loading vmlinux BTF twice (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix spelling mistake "kallasyms" -> "kallsyms" (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Fix variable shadowing in emit_obj_refs_json() (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Correctly evaluate $(BUILD_BPF_SKELS) in Makefile (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add variable-length data concat pattern less than test (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add variable-length data concatenation pattern test (Yauheni Kaliuta) [1874005] - [tools] bpf: Switch most helper return values from 32-bit int to 64-bit long (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add documentation and sample output for process info (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Show info for processes holding BPF map/prog/link/btf FDs (Yauheni Kaliuta) [1874005] - [tools] libbpf: Wrap source argument of BPF_CORE_READ macro in parentheses (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Generalize BPF skeleton support and generate vmlinux.h (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Minimize bootstrap bpftool (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Move map/prog parsing logic into common (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add __ksym extern selftest (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add support for extracting kernel symbol addresses (Yauheni Kaliuta) [1874005] - [tools] libbpf: Generalize libbpf externs support (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add a bunch of attribute getters/setters for map definitions (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test access to bpf map pointer (Yauheni Kaliuta) [1874005] - [net] bpf: Set map_btf_{name, id} for all map types (Yauheni Kaliuta) [1874005] - [net] bpf: Support access to bpf map fields (Yauheni Kaliuta) [1874005] - [net] bpf: Rename bpf_htab to bpf_shtab in sock_map (Yauheni Kaliuta) [1874005] - [net] bpf: Switch btf_parse_vmlinux to btf_find_by_name_kind (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Relicense bpftool's BPF profiler prog as dual-license GPL/BSD (Yauheni Kaliuta) [1874005] - [tools] tools/bpf: Add verifier tests for 32bit pointer/scalar arithmetic (Yauheni Kaliuta) [1874005] - [net] bpf: Avoid verifier failure for 32bit pointer arithmetic (Yauheni Kaliuta) [1874005] - [net] bpf: sk_storage: Prefer to get a free cache_idx (Yauheni Kaliuta) [1874005] - [tools] libbpf: Bump version to 0.1.0 (Yauheni Kaliuta) [1874005] - [s390] s390/pci: fix hot-plug of PCI function missing bus (Philipp Rudo) [1915916] - [net] tcp: fix race condition when creating child sockets from syncookies (Florian Westphal) [1915164] - [netdrv] bonding: set xfrm feature flags more sanely (Jarod Wilson) [1893979] - [netdrv] bonding: fix feature flag setting at init time (Jarod Wilson) [1893979]- [fs] cifs: handle -EINTR in cifs_setattr (Leif Sahlberg) [1848178] - [tty] serial: 8250: drop the printk from serial8250_interrupt() (Vitaly Kuznetsov) [1919745] - [fs] cifs: do not fail __smb_send_rqst if non-fatal signals are pending (Leif Sahlberg) [1848178] - [netdrv] ibmvnic: continue fatal error reset after passive init (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix: NULL pointer dereference (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix login buffer memory leak (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix rx buffer tracking and index management in replenish_rx_pool partial success (Diego Domingos) [1901513] - [netdrv] ibmvnic: add some debugs (Diego Domingos) [1901513] - [netdrv] ibmvnic: Fix TX completion error handling (Diego Domingos) [1901513] - [netdrv] ibmvnic: Ensure that SCRQ entry reads are correctly ordered (Diego Domingos) [1901513] - [netdrv] ibmvnic: reduce wait for completion time (Diego Domingos) [1901513] - [netdrv] ibmvnic: no reset timeout for 5 seconds after reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: send_login should check for crq errors (Diego Domingos) [1901513] - [netdrv] ibmvnic: track pending login (Diego Domingos) [1901513] - [netdrv] ibmvnic: delay next reset if hard reset fails (Diego Domingos) [1901513] - [netdrv] ibmvnic: restore adapter state on failed reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: avoid memset null scrq msgs (Diego Domingos) [1901513] - [netdrv] ibmvnic: stop free_all_rwi on failed reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: handle inconsistent login with reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: enhance resetting status check during module exit (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues (Diego Domingos) [1901513] - [netdrv] ibmvnic: skip tx timeout reset while in resetting (Diego Domingos) [1901513] - [netdrv] ibmvnic: notify peers when failover and migration happen (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix call_netdevice_notifiers in do_reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: Do not replenish RX buffers after every polling loop (Diego Domingos) [1901513] - [netdrv] ibmvnic: Use netdev_alloc_skb instead of alloc_skb to replenish RX buffers (Diego Domingos) [1901513] - [netdrv] ibmvnic: Correctly re-enable interrupts in NAPI polling routine (Diego Domingos) [1901513] - [netdrv] ibmvnic: Ensure that device queue memory is cache-line aligned (Diego Domingos) [1901513] - [netdrv] ibmvnic: Remove send_subcrq function (Diego Domingos) [1901513] - [netdrv] ibmvnic: Clean up TX code and TX buffer data structure (Diego Domingos) [1901513] - [netdrv] ibmvnic: Introduce xmit_more support using batched subCRQ hcalls (Diego Domingos) [1901513] - [netdrv] ibmvnic: Introduce batched RX buffer descriptor transmission (Diego Domingos) [1901513] - [netdrv] ibmvnic: Introduce indirect subordinate Command Response Queue buffer (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix ibmvnic_set_mac (Diego Domingos) [1901513] - [netdrv] ibmvnic: save changed mac address to adapter->mac_addr (Diego Domingos) [1901513] - [netdrv] ibmvnic: create send_control_ip_offload (Diego Domingos) [1901513] - [netdrv] ibmvnic: create send_query_ip_offload (Diego Domingos) [1901513] - [netdrv] ibmvnic: rename send_map_query to send_query_map (Diego Domingos) [1901513] - [netdrv] ibmvnic: rename ibmvnic_send_req_caps to send_request_cap (Diego Domingos) [1901513] - [netdrv] ibmvnic: rename send_cap_queries to send_query_cap (Diego Domingos) [1901513] - [netdrv] ibmvnic: set up 200GBPS speed (Diego Domingos) [1901513] - [netdrv] Revert "ibmvnic: remove never executed if statement" (Diego Domingos) [1901513] - [netdrv] ibmvnic: Harden device Command Response Queue handshake (Diego Domingos) [1901513] - [netdrv] ibmvnic: Fix use-after-free of VNIC login response buffer (Diego Domingos) [1901513] - [netdrv] ibmvnic: merge ibmvnic_reset_init and ibmvnic_init (Diego Domingos) [1901513] - [netdrv] ibmvnic: remove never executed if statement (Diego Domingos) [1901513] - [netdrv] ibmvnic: improve ibmvnic_init and ibmvnic_reset_init (Diego Domingos) [1901513] - [netdrv] ibmvnic: compare adapter->init_done_rc with more readable ibmvnic_rc_codes (Diego Domingos) [1901513] - [netdrv] ibmvnic: store RX and TX subCRQ handle array in ibmvnic_adapter struct (Diego Domingos) [1901513] - [netdrv] net: ibm: fix return type of ndo_start_xmit function (Diego Domingos) [1901513] - [tools] tools arch x86: Sync asm/cpufeatures.h with the kernel sources (David Arcari) [1916478] - [x86] x86/cpu/amd: Call init_amd_zn() om Family 19h processors too (David Arcari) [1916478] - [ata] ahci: Add Intel Emmitsburg PCH RAID PCI IDs (David Arcari) [1894284] - [vfio] vfio iommu: Add dma available capability (Philipp Rudo) [1903970] - [x86] x86/entry/64: Do not include inst.h in calling.h (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Fix GS == 1, 2, and 3 tests (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test PTRACE_PEEKUSER for GSBASE with invalid LDT GS (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Reap a forgotten child (Scott Wood) [1490498] - [x86] x86/fsgsbase: Replace static_cpu_has() with boot_cpu_has() (Scott Wood) [1490498] - [x86] x86/entry/64: Correct the comment over SAVE_AND_SET_GSBASE (Scott Wood) [1490498] - [x86] x86/entry/64: Do not use RDPID in paranoid entry to accomodate KVM (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task (Scott Wood) [1490498] - [x86] x86/fsgsbase: Fix Xen PV support (Scott Wood) [1490498] - [x86] x86/ptrace: Fix 32-bit PTRACE_SETREGS vs fsbase and gsbase (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Add a missing memory constraint (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Fix a comment in the ptrace_write_gsbase test (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test GS selector on ptracer-induced GS base write (Scott Wood) [1490498] - [documentation] Documentation/x86/64: Add documentation for GS/FS addressing mode (Scott Wood) [1490498] - [x86] x86/elf: Enumerate kernel FSGSBASE capability in AT_HWCAP2 (Scott Wood) [1490498] - [x86] x86/cpu: Enable FSGSBASE on 64bit by default and add a chicken bit (Scott Wood) [1490498] - [x86] x86/entry/64: Handle FSGSBASE enabled paranoid entry/exit (Scott Wood) [1490498] - [x86] x86/entry/64: Remove TRACE_IRQS_*_DEBUG (Scott Wood) [1490498] - [x86] x86/entry/64: Introduce the FIND_PERCPU_BASE macro (Scott Wood) [1490498] - [x86] x86/entry/64: Switch CR3 before SWAPGS in paranoid entry (Scott Wood) [1490498] - [x86] x86/speculation/swapgs: Check FSGSBASE in enabling SWAPGS mitigation (Scott Wood) [1490498] - [x86] x86/process/64: Use FSGSBASE instructions on thread copy and ptrace (Scott Wood) [1490498] - [x86] x86/process: Unify copy_thread_tls() (Scott Wood) [1490498] - [x86] x86/process/64: Use FSBSBASE in switch_to() if available (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Enable FSGSBASE instructions in helper functions (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Add intrinsics for FSGSBASE instructions (Scott Wood) [1490498] - [x86] x86/cpu: Add 'unsafe_fsgsbase' to enable CR4.FSGSBASE (Scott Wood) [1490498] - [x86] x86/ptrace: Prevent ptrace from clearing the FS/GS selector (Scott Wood) [1490498] - [x86] x86/ptrace: Document FSBASE and GSBASE ABI oddities (Scott Wood) [1490498] - [x86] Revert "x86/ptrace: Prevent ptrace from clearing the FS/GS selector" and fix the test (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Fix some test case bugs (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test ptracer-induced GSBASE write with FSGSBASE (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test RD/WRGSBASE (Scott Wood) [1490498] - [documentation] kbuild: Raise the minimum required binutils version to 2.21 (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test ptracer-induced GSBASE write (Scott Wood) [1490498] - [x86] x86/ptrace: Prevent ptrace from clearing the FS/GS selector (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Fix the base write helper functions (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Clean up various details (Scott Wood) [1490498] - [x86] x86/segments: Introduce the 'CPUNODE' naming to better document the segment limit CPU/node NR trick (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Factor out FS/GS segment loading from __switch_to() (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Convert the ELF core dump code to the new FSGSBASE helpers (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Make ptrace use the new FS/GS base helpers (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Introduce FS/GS base helper functions (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Fix ptrace() to read the FS/GS base accurately (Scott Wood) [1490498] - [net] esp: select CRYPTO_SEQIV (Vladis Dronov) [1905088] - [crypto] treewide: Use fallthrough pseudo-keyword (Vladis Dronov) [1905088] - [crypto] crypto: drbg - always try to free Jitter RNG instance (Vladis Dronov) [1905088] - [crypto] crypto: drbg - should select CTR (Vladis Dronov) [1905088] - [crypto] crypto: ctr - no longer needs CRYPTO_SEQIV (Vladis Dronov) [1905088] - [crypto] crypto: drbg - always seeded with SP800-90B compliant noise source (Vladis Dronov) [1905088] - [crypto] crypto: jitter - SP800-90B compliance (Vladis Dronov) [1905088] - [crypto] crypto: jitter - add header to fix buildwarnings (Vladis Dronov) [1905088] - [crypto] crypto: jitter - fix comments (Vladis Dronov) [1905088] - [crypto] crypto: jitter - update implementation to 2.1.2 (Vladis Dronov) [1905088] - [crypto] crypto: drbg - in-place cipher operation for CTR (Vladis Dronov) [1905088] - [crypto] crypto: drbg - eliminate constant reinitialization of SGL (Vladis Dronov) [1905088] - [vfio] vfio/pci: Implement ioeventfd thread handler for contended memory lock (Alex Williamson) [1861560] - [vfio] vfio iommu type1: Fix memory leak in vfio_iommu_type1_pin_pages (Alex Williamson) [1896568] - [vfio] vfio/pci: Clear token on bypass registration failure (Alex Williamson) [1896568] - [vfio] vfio/type1: fix dirty bitmap calculation in vfio_dma_rw (Alex Williamson) [1497898] - [vfio] vfio: fix a missed vfio group put in vfio_pin_pages (Alex Williamson) [1497898] - [vfio] vfio: add a singleton check for vfio_group_pin_pages (Alex Williamson) [1497898] - [vfio] vfio/pci: Don't regenerate vconfig for all BARs if !bardirty (Alex Williamson) [1896568] - [vfio] vfio/pci: Remove redundant declaration of vfio_pci_driver (Alex Williamson) [1896568] - [uapi] vfio: Fix typo of the device_state (Alex Williamson) [1497898] - [vfio] vfio/type1: Add proper error unwind for vfio_iommu_replay() (Alex Williamson) [1866141] - [vfio] vfio-pci: Avoid recursive read-lock usage (Alex Williamson) [1861560] - [vfio] vfio/type1: Refactor vfio_iommu_type1_ioctl() (Alex Williamson) [1896568] - [vfio] vfio/pci: Add QAT devices to denylist (Alex Williamson) [1896565] - [vfio] vfio/pci: Add device denylist (Alex Williamson) [1896565] - [vfio] vfio/pci: Hold igate across releasing eventfd contexts (Alex Williamson) [1896568] - [vfio] vfio/type1: Add conditional rescheduling after iommu map failed (Alex Williamson) [1896568] - [vfio] vfio/pci: Add Intel X550 to hidden INTx devices (Alex Williamson) [1896567] - [vfio] vfio: Cleanup allowed driver naming (Alex Williamson) [1896568] - [uapi] vfio/type1: Fix migration info capability ID (Alex Williamson) [1497898] - [vfio] vfio iommu: typecast corrections (Alex Williamson) [1497898] - [vfio] vfio iommu: Use shift operation for 64-bit integer division (Alex Williamson) [1497898] - [vfio] vfio/mdev: Fix reference count leak in add_mdev_supported_type (Alex Williamson) [1896568] - [vfio] vfio: Selective dirty page tracking if IOMMU backed device pins pages (Alex Williamson) [1497898] - [vfio] vfio iommu: Add migration capability to report supported features (Alex Williamson) [1497898] - [vfio] vfio iommu: Update UNMAP_DMA ioctl to get dirty bitmap before unmap (Alex Williamson) [1497898] - [vfio] vfio iommu: Implementation of ioctl for dirty pages tracking (Alex Williamson) [1497898] - [uapi] vfio iommu: Add ioctl definition for dirty pages tracking (Alex Williamson) [1497898] - [vfio] vfio iommu: Cache pgsize_bitmap in struct vfio_iommu (Alex Williamson) [1497898] - [vfio] vfio iommu: Remove atomicity of ref_count of pinned pages (Alex Williamson) [1497898] - [uapi] vfio: UAPI for migration interface for device state (Alex Williamson) [1497898] - [vfio] vfio/pci: Remove dev_fmt definition (Alex Williamson) [1896568] - [vfio] vfio: Use dev_printk() when possible (Alex Williamson) [1896568] - [drm] drm: allow limiting the scatter list size (Lyude Paul) [1876018 1851790] - [drm] drm/nouveau/kms/nv50-: Fix clock checking algorithm in nv50_dp_mode_valid() (Lyude Paul) [1876018] - [drm] drm/nouveau/kms/nv50-: Get rid of bogus nouveau_conn_mode_valid() (Lyude Paul) [1876018] - [drm] DRM Backport 5.8 -> 5.9 (Lyude Paul) [1876018] - [drm] drm/edid: Fix uninitialized variable in drm_cvt_modes() (Lyude Paul) [1876018] - [of] of_graph: add of_graph_is_present() (Lyude Paul) [1876018] - [drm] virtio: virtio_has_iommu_quirk -> virtio_has_dma_quirk (Lyude Paul) [1876018] - [vhost] virtio: VIRTIO_F_IOMMU_PLATFORM -> VIRTIO_F_ACCESS_PLATFORM (Lyude Paul) [1876018] - [include] virtio_config: LE config space accessors (Lyude Paul) [1876018] - [kernel] sched: Remove sched_set_*() return value (Lyude Paul) [1876018] - [include] scatterlist: protect parameters of the sg_table related macros (Lyude Paul) [1876018] - [include] scatterlist: add generic wrappers for iterating over sgtable objects (Lyude Paul) [1876018] - [dma] dma-mapping: add generic helpers for mapping sgtable objects (Lyude Paul) [1876018] - [drm] DRM Backport 5.7 -> 5.8 (Lyude Paul) [1876018] - [drm] drm/fb-helper: Fix vt restore (Lyude Paul) [1876018] - [tty] tty/sysrq: constify the the sysrq_key_op(s) (Lyude Paul) [1876018] - [tools] augmented rbtree: rework the RB_DECLARE_CALLBACKS macro definition (Lyude Paul) [1876018] - [mm] augmented rbtree: add new RB_DECLARE_CALLBACKS_MAX macro (Lyude Paul) [1876018] - [tools] augmented rbtree: add comments for RB_DECLARE_CALLBACKS macro (Lyude Paul) [1876018] - [tools] rbtree: avoid generating code twice for the cached versions (tools copy) (Lyude Paul) [1876018] - [tty] tty/sysrq: constify the sysrq API (Lyude Paul) [1876018] - [tty] tty/sysrq: alpha: export and use __sysrq_get_key_op() (Lyude Paul) [1876018] - [include] uaccess: Add user_read_access_begin/end and user_write_access_begin/end (Lyude Paul) [1876018] - [PATCH] [drm] DRM Backport 5.6 -> 5.7 (Lyude Paul) [1876018] - [vfio] vfio: avoid inefficient operations on VFIO group in vfio_pin/unpin_pages (Lyude Paul) [1876018] - [vfio] vfio: allow external user to get vfio group from device (Lyude Paul) [1876018] - [drm] drm/fbdev-helper: don't force restores (Lyude Paul) [1876018] - [include] vgaswitcheroo: call fbcon_remap_all directly (Lyude Paul) [1876018] - [video] fbcon: Do not takeover the console from atomic context (Lyude Paul) [1878805 1876018] - [video] fbcon: Only defer console takeover if the current console driver is the dummycon (Lyude Paul) [1878805 1876018] - [video] fbcon: Only allow FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER if fbdev is builtin (Lyude Paul) [1878805 1876018] - [video] console/fbcon: Add support for deferred console takeover (Lyude Paul) [1878805 1876018] - [video] fbcon: Call WARN_CONSOLE_UNLOCKED() where applicable (Lyude Paul) [1878805 1876018] - [mm] mm: Split huge pages on write-notify or COW (Chris von Recklinghausen) [1913692] - [mm] mm: Introduce vma_is_special_huge (Chris von Recklinghausen) [1913692]- [tools] kselftests: set rx/txtimestamp.sh to correct permission (Hangbin Liu) [1908269] - [tools] kselftests: set udpgro.sh, udpgro_bench.sh, reuseport_addr_any.sh to correct permission (Hangbin Liu) [1908269] - [net] DCB: Validate DCB_ATTR_DCB_BUFFER argument (Balazs Nemeth) [1891595] - [net] netlabel: remove unused param from audit_log_format() (Balazs Nemeth) [1891595] - [net] netlabel: fix problems with mapping removal (Balazs Nemeth) [1891595] - [net] af_key: pfkey_dump needs parameter validation (Balazs Nemeth) [1891595] - [tools] perf tools: Add 'evlist' control command (Jiri Olsa) [1844111] - [tools] perf tools: Allow to enable/disable events via control file (Jiri Olsa) [1844111] - [tools] perf tools: Add evlist__disable_evsel/evlist__enable_evsel (Jiri Olsa) [1844111] - [tools] perf tools: Reformat record's control fd man text (Jiri Olsa) [1844111] - [tools] perf evlist: Use the right prefix for 'struct evlist' 'find' methods (Jiri Olsa) [1844111] - [tools] perf evlist: Use the right prefix for 'struct evlist' enable event methods (Jiri Olsa) [1844111] - [tools] perf evlist: Use the right prefix for 'struct evlist' 'toggle' methods (Jiri Olsa) [1844111] - [x86] perf/amd/uncore: Inform the user how many counters each uncore PMU has (Michael Petlan) [1884816] - [powercap] powercap: RAPL: Add AMD Fam19h RAPL support (Michael Petlan) [1884816] - [powercap] powercap: Add AMD Fam17h RAPL support (Michael Petlan) [1884816] - [powercap] powercap/intel_rapl_msr: Convert rapl_msr_priv into pointer (Michael Petlan) [1884816] - [x86] x86/msr-index: sort AMD RAPL MSRs by address (Michael Petlan) [1884816] - [thunderbolt] thunderbolt: Add support for Intel Maple Ridge (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add USB4 router operation proxy for firmware connection manager (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Move constants for USB4 router operations to tb_regs.h (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add connection manager specific hooks for USB4 router operations (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Pass TX and RX data directly to usb4_switch_op() (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Pass metadata directly to usb4_switch_op() (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Perform USB4 router NVM upgrade in two phases (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Return -ENOTCONN when ERR_CONN is received (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Keep the parent runtime resumed for a while on device disconnect (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Log adapter numbers in decimal in path activation/deactivation (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Log which connection manager implementation is used (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Move max_boot_acl field to correct place in struct icm (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Fix use-after-free in remove_unplugged_switch() (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add DMA traffic test driver (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add support for end-to-end flow control (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Make it possible to allocate one directional DMA tunnel (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Create debugfs directory automatically for services (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add functions for enabling and disabling lane bonding on XDomain (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add link_speed and link_width to XDomain (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Create XDomain devices for loops back to the host (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Find XDomain by route instead of UUID (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Do not clear USB4 router protocol adapter IFC and ISE bits (Torez Smith) [1782721] - [net] ipv6: fib: flush exceptions when purging route (Hangbin Liu) [1916084] - [net] ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init (Hangbin Liu) [1916084] - [net] ipv6: remove unused function ipv6_skb_idev() (Hangbin Liu) [1916084] - [net] ipv6: Fix error path to cancel the meseage (Hangbin Liu) [1916084] - [tools] selftests/net/fib_tests: update addr_metric_test for peer route testing (Hangbin Liu) [1916084] - [net] net/ipv6: remove the old peer route if change it to a new one (Hangbin Liu) [1916084] - [tools] selftests/net: remove not backported tests (Hangbin Liu) [1908340] - [netdrv] bonding: add a vlan+srcmac tx hashing option (Jarod Wilson) [1724795] - [security] selinux: mark selinux_xfrm_refcount as __read_mostly (Ondrej Mosnacek) [1904940] - [net] udp: fix integer overflow while computing available space in sk_rcvbuf (Xin Long) [1916997] - [fs] NFSv4: make cache consistency bitmask dynamic (Steve Dickson) [1881647] - [include] NFSv4: Save a few bytes in the nfs_pgio_args/res (Steve Dickson) [1881647] - [tools] tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1884818 1908305] - [tools] perf test: Use generic event for expand_libpfm_events() (Michael Petlan) [1884818 1908305] - [tools] perf probe: Change function definition check due to broken DWARF (Michael Petlan) [1884818 1908305] - [tools] perf probe: Fix to die_entrypc() returns error correctly (Michael Petlan) [1884818 1908305] - [tools] perf stat: Use proper cpu for shadow stats (Michael Petlan) [1884818 1908305] - [tools] perf record: Synthesize cgroup events only if needed (Michael Petlan) [1884818 1908305] - [tools] perf diff: Fix error return value in __cmd_diff() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Update copy of libbpf's hashmap.c (Michael Petlan) [1884818 1908305] - [tools] perf test: Avoid an msan warning in a copied stack (Michael Petlan) [1884818 1908305] - [tools] perf inject: Fix file corruption due to event deletion (Michael Petlan) [1884818 1908305] - [tools] perf test: Update branch sample pattern for cs-etm (Michael Petlan) [1884818 1908305] - [tools] perf test: Fix a typo in cs-etm testing (Michael Petlan) [1884818 1908305] - [tools] perf lock: Don't free "lock_seq_stat" if read_count isn't zero (Michael Petlan) [1884818 1908305] - [tools] perf lock: Correct field name "flags" (Michael Petlan) [1884818 1908305] - [tools] tools feature: Fixup fast path feature detection (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add missing swap for cgroup events (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add missing swap for ino_generation (Michael Petlan) [1884818 1908305] - [tools] perf tools: Initialize output buffer in build_id__sprintf (Michael Petlan) [1884818 1908305] - [tools] perf hists browser: Increase size of 'buf' in perf_evsel__hists_browse() (Michael Petlan) [1884818 1908305] - [tools] tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1884818 1908305] - [tools] perf scripting python: Avoid declaring function pointers with a visibility attribute (Michael Petlan) [1884818 1908305] - [tools] perf tools: Remove broken __no_tail_call attribute (Michael Petlan) [1884818 1908305] - [tools] perf vendor events: Fix DRAM_BW_Use 0 issue for CLX/SKX (Michael Petlan) [1884818 1908305] - [tools] perf trace: Fix segfault when trying to trace events by cgroup (Michael Petlan) [1884818 1908305] - [tools] perf tools: Fix crash with non-jited bpf progs (Michael Petlan) [1884818 1908305] - [tools] perf tools: Update copy of libbpf's hashmap.c (Michael Petlan) [1884818 1908305] - [tools] perf tools: Remove LTO compiler options when building perl support (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Update documentation for metrics reorganization (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Add metrics "RMT Load Hit" (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Correct LLC load hit metrics (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Change header for LLC local hit (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Use more explicit headers for HITM (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Change header from "LLC Load Hitm" to "Load Hitm" (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Organize metrics based on memory hierarchy (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Display "Total Stores" as a standalone metrics (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Display the total numbers continuously (Michael Petlan) [1884818 1908305] - [tools] perf bench: Use condition variables in numa (Michael Petlan) [1884818 1908305] - [tools] perf jevents: Fix event code for events referencing std arch events (Michael Petlan) [1884818 1908305] - [tools] perf diff: Support hot streams comparison (Michael Petlan) [1884818 1908305] - [tools] perf streams: Report hot streams (Michael Petlan) [1884818 1908305] - [tools] perf streams: Calculate the sum of total streams hits (Michael Petlan) [1884818 1908305] - [tools] perf streams: Link stream pair (Michael Petlan) [1884818 1908305] - [tools] perf streams: Compare two streams (Michael Petlan) [1884818 1908305] - [tools] perf streams: Get the evsel_streams by evsel_idx (Michael Petlan) [1884818 1908305] - [tools] perf streams: Introduce branch history "streams" (Michael Petlan) [1884818 1908305] - [tools] perf intel-pt: Improve PT documentation slightly (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add support for exclusive groups/events (Michael Petlan) [1884818 1908305] - [tools] perf test: Add build id shell test (Michael Petlan) [1884818 1908305] - [tools] perf tools: Align buildid list output for short build ids (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add size to 'struct perf_record_header_build_id' (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build_id object to dso__build_id_equal() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build_id object to dso__set_build_id() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build_id object to build_id__sprintf() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build id object to sysfs__read_build_id() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build_id object to filename__read_build_id() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Use build_id object in dso (Michael Petlan) [1884818 1908305] - [tools] perf config: Export the perf_config_from_file() function (Michael Petlan) [1884818 1908305] - [tools] perf python: Autodetect python3 binary (Michael Petlan) [1884818 1908305] - [tools] perf tests: Show python test script in verbose mode (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Update usage for showing memory events (Michael Petlan) [1884818 1908305] - [tools] perf stat: Fix out of bounds CPU map access when handling armv8_pmu events (Michael Petlan) [1884818 1908305] - [tools] perf python scripting: Fix printable strings in python3 scripts (Michael Petlan) [1884818 1908305] - [tools] perf metricgroup: Fix uncore metric expressions (Michael Petlan) [1884818 1908305] - [tools] perf parse-event: Release cpu_map refcount if evsel alloc failed (Michael Petlan) [1884818 1908305] - [tools] perf parse-event: Fix cpu map refcounting (Michael Petlan) [1884818 1908305] - [tools] tools lib traceevent: Hide non API functions (Michael Petlan) [1884818 1908305] - [tools] perf sched: Show start of latency as well (Michael Petlan) [1884818 1908305] - [tools] perf vendor events: Fix typos in power8 PMU events (Michael Petlan) [1884818 1908305] - [tools] perf bench: Run inject-build-id with --buildid-all option too (Michael Petlan) [1884818 1908305] - [tools] perf inject: Add --buildid-all option (Michael Petlan) [1884818 1908305] - [tools] perf inject: Do not load map/dso when injecting build-id (Michael Petlan) [1884818 1908305] - [tools] perf inject: Enter namespace when reading build-id (Michael Petlan) [1884818 1908305] - [tools] perf inject: Add missing callbacks in perf_tool (Michael Petlan) [1884818 1908305] - [tools] perf bench: Add build-id injection benchmark (Michael Petlan) [1884818 1908305] - [tools] perf trace: Use the autogenerated mmap 'prot' string/id table (Michael Petlan) [1884818 1908305] - [tools] tools beauty: Add script to generate table of mmap's 'prot' argument (Michael Petlan) [1884818 1908305] - [tools] perf beauty mmap_flags: Conditionaly define the mmap flags (Michael Petlan) [1884818 1908305] - [tools] perf trace beauty: Add script to autogenerate mremap's flags args string/id table (Michael Petlan) [1884818 1908305] - [tools] perf tools: Separate the checking of headers only used to build beautification tables (Michael Petlan) [1884818 1908305] - [tools] perf parse-events: Reduce casts around bp_addr (Michael Petlan) [1884818 1908305] - [tools] perf test: Add expand cgroup event test (Michael Petlan) [1884818 1908305] - [tools] perf tools: Allow creation of cgroup without open (Michael Petlan) [1884818 1908305] - [tools] perf tools: Copy metric events properly when expand cgroups (Michael Petlan) [1884818 1908305] - [tools] perf stat: Add --for-each-cgroup option (Michael Petlan) [1884818 1908305] - [tools] perf evsel: Add evsel__clone() function (Michael Petlan) [1884818 1908305] - [tools] perf vendor events: Update SkylakeX events to v1.21 (Michael Petlan) [1884818 1908305] - [tools] perf vendor events intel: Update CascadelakeX events to v1.08 (Michael Petlan) [1884818 1908305] - [tools] perf script: Add min, max to futex-contention output, in addition to avg (Michael Petlan) [1884818 1908305] - [tools] perf script: Autopep8 futex-contention (Michael Petlan) [1884818 1908305] - [tools] perf stat: Skip duration_time in setup_system_wide (Michael Petlan) [1884818 1908305] - [tools] perf tsc: Support cap_user_time_short for event TIME_CONV (Michael Petlan) [1884818 1908305] - [tools] perf tsc: Calculate timestamp with cap_user_time_short (Michael Petlan) [1884818 1908305] - [tools] perf tsc: Add rdtsc() for Arm64 (Michael Petlan) [1884818 1908305] - [tools] perf tsc: Move out common functions from x86 (Michael Petlan) [1884818 1908305] - [tools] perf probe: Fall back to debuginfod query if debuginfo and source not found locally (Michael Petlan) [1884818 1908305] - [tools] perf probe: Fix to adjust symbol address with correct reloc_sym address (Michael Petlan) [1884818 1908305] - [tools] perf intel-pt: Fix "context_switch event has no tid" error (Michael Petlan) [1884818 1908305] - [tools] perf script: Display negative tid in non-sample events (Michael Petlan) [1884818 1908305] - [tools] perf docs: Improve help information in perf.txt (Michael Petlan) [1884818 1908305] - [tools] perf metric: Remove duplicate include (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add documentation for topdown metrics (Michael Petlan) [1884818 1908305] - [tools] perf stat: Support new per thread TopDown metrics (Michael Petlan) [1884818 1908305] - [tools] perf record: Support sample-read topdown metric group (Michael Petlan) [1884818 1908305] - [tools] perf tools: Rename group to topdown (Michael Petlan) [1884818 1908305] - [tools] perf machine: Add machine__for_each_dso() function (Michael Petlan) [1884818 1908305] - [tools] perf tests: Call test_attr__open() directly (Michael Petlan) [1884818 1908305] - [tools] perf vendor events power9: Add hv_24x7 core level metric events (Michael Petlan) [1884818 1908305] - [tools] perf metricgroup: Pass pmu_event structure as a parameter for arch_get_runtimeparam() (Michael Petlan) [1884818 1908305] - [tools] perf jevents: Add support for parsing perchip/percore events (Michael Petlan) [1884818 1908305] - [tools] perf jevents: Add new structure to pass json fields (Michael Petlan) [1884818 1908305] - [tools] perf jevents: Make json_events() static and ditch jevents.h file (Michael Petlan) [1884818 1908305] - [tools] perf test: Introduce script for Arm CoreSight testing (Michael Petlan) [1884818 1908305] - [tools] perf metricgroup: Fix typo in comment (Michael Petlan) [1884818 1908305] - [tools] perf stat: Remove dead code: no need to set os.evsel twice (Michael Petlan) [1884818 1908305] - [tools] perf list: Do not print 'Metric Groups:' unnecessarily (Michael Petlan) [1884818 1908305] - [tools] perf list: Remove dead code in argument check (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add build test with GTK+ (Michael Petlan) [1884818 1908305] - [tools] tools feature: Add missing -lzstd to the fast path feature detection (Michael Petlan) [1884818 1908305] - [tools] perf tools: Make GTK2 support opt-in (Michael Petlan) [1884818 1908305] - [tools] perf vendor events amd: Enable Family 19h users by matching Zen2 events (Michael Petlan) [1884818 1908305] - [tools] perf vendor events amd: Add recommended events (Michael Petlan) [1884818 1908305] - [tools] perf vendor events amd: Add ITLB Instruction Fetch Hits event for zen1 (Michael Petlan) [1884818 1908305] - [tools] perf vendor events amd: Add L2 Prefetch events for zen1 (Michael Petlan) [1884818 1908305] - [tools] perf: ftrace: Add filter support for option -F/--funcs (Michael Petlan) [1884818 1908305] - [tools] perf tools: Consolidate close_control_option()'s into one function (Michael Petlan) [1884818 1908305] - [tools] perf intel-pt: Document snapshot control command (Michael Petlan) [1884818 1908305] - [tools] perf annotate: Add 'ret' (intel disasm style) as an alias for 'retq' (Michael Petlan) [1884818 1908305] - [tools] perf annotate: Allow configuring the 'disassembler_style' knob via 'perf config' (Michael Petlan) [1884818 1908305] - [tools] perf record: Add 'snapshot' control command (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add FIFO file names as alternative options to --control (Michael Petlan) [1884818 1908305] - [tools] perf tools: Use AsciiDoc formatting for --control option documentation (Michael Petlan) [1884818 1908305] - [tools] perf tools: Handle read errors from ctl_fd (Michael Petlan) [1884818 1908305] - [tools] perf tools: Consolidate --control option parsing into one function (Michael Petlan) [1884818 1908305] - [tools] perf tests: Add test for PE binary format support (Michael Petlan) [1884818 1908305] - [tools] perf symbols: Try reading the symbol table with libbfd (Michael Petlan) [1884818 1908305] - [tools] perf dso: Use libbfd to read build_id and .gnu_debuglink section (Michael Petlan) [1884818 1908305] - [tools] tools features: Add feature test to check if libbfd has buildid support (Michael Petlan) [1884818 1908305] - [tools] tools: Remove feature-libelf-mmap feature detection (Michael Petlan) [1884818 1908305] - [tools] perf build: Allow nested externs to enable BUILD_BUG() usage (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Check PEBS status correctly (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Fix a warning on x86_pmu_stop() with large PEBS (Michael Petlan) [1884818 1908305] - [x86] perf/x86: fix sysfs type mismatches (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Make anythread filter support conditional (Michael Petlan) [1884818 1908305] - [kernel] perf: Tweak perf_event_attr::exclusive semantics (Michael Petlan) [1884818 1908305] - [kernel] perf: Fix event multiplexing for exclusive groups (Michael Petlan) [1884818 1908305] - [kernel] perf: Simplify group_sched_in() (Michael Petlan) [1884818 1908305] - [kernel] perf: Simplify group_sched_out() (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Make dummy_iregs static (Michael Petlan) [1884818 1908305] - [include] perf/arch: Remove perf_sample_data::regs_user_copy (Michael Petlan) [1884818 1908305] - [kernel] perf: Optimize get_recursion_context() (Michael Petlan) [1884818 1908305] - [kernel] perf: Fix get_recursion_context() (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Reduce stack usage for x86_pmu::drain_pebs() (Michael Petlan) [1884818 1908305] - [kernel] perf: Reduce stack usage of perf_output_begin() (Michael Petlan) [1884818 1908305] - [kernel] perf/core: Fix a memory leak in perf_event_parse_addr_filter() (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Fix n_metric for cancelled txn (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Fix n_pair for cancelled txn (Michael Petlan) [1884818 1908305] - [x86] x86/events/amd/iommu: Fix sizeof mismatch (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Check perf metrics feature for each CPU (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Fix Ice Lake event constraint table (Michael Petlan) [1884818 1908305] - [x86] perf/x86/msr: Add Jasper Lake support (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Add Jasper Lake support (Michael Petlan) [1884818 1908305] - [x86] perf/amd/uncore: Allow F19h user coreid, threadmask, and sliceid specification (Michael Petlan) [1884818 1908305] - [x86] perf/amd/uncore: Allow F17h user threadmask and slicemask specification (Michael Petlan) [1884818 1908305] - [x86] perf/amd/uncore: Prepare to scale for more attributes that vary per family (Michael Petlan) [1884818 1908305] - [x86] arch/x86/amd/ibs: Fix re-arming IBS Fetch (Michael Petlan) [1884818 1908305] - [x86] perf/x86/rapl: Add AMD Fam19h RAPL support (Michael Petlan) [1884818 1908305] - [x86] perf/x86/amd/ibs: Support 27-bit extended Op/cycle counter (Michael Petlan) [1884818 1908305] - [x86] perf/x86/amd/ibs: Fix raw sample data accumulation (Michael Petlan) [1884818 1908305] - [x86] perf/x86/amd/ibs: Don't include randomized bits in get_ibs_op_count() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/amd: Fix sampling Large Increment per Cycle events (Michael Petlan) [1884818 1908305] - [x86] perf/amd/uncore: Set all slices and threads to restore perf stat -a behaviour (Michael Petlan) [1884818 1908305] - [kernel] perf/core: Pull pmu::sched_task() into perf_event_context_sched_out() (Michael Petlan) [1884818 1908305] - [kernel] perf/core: Pull pmu::sched_task() into perf_event_context_sched_in() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/ds: Fix x86_pmu_stop warning for large PEBS (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Support per-thread RDPMC TopDown metrics (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Support TopDown metrics on Ice Lake (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Add a macro for RDPMC offset of fixed counters (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Generic support for hardware TopDown metrics (Michael Petlan) [1884818 1908305] - [kernel] perf/core: Add a new PERF_EV_CAP_SIBLING event capability (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Use switch in intel_pmu_disable/enable_event (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Fix the name of perf METRICS (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Move BTS index to 47 (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Introduce the fourth fixed counter (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Name the global status bit in NMI handler (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Use event_base_rdpmc for the RDPMC userspace support (Michael Petlan) [1884818 1908305] - [powerpc] powerpc/cacheinfo: Print correct cache-sibling map/list for L2 cache (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Add support detecting thread-groups sharing L2 cache (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Rename init_thread_group_l1_cache_map() to make it generic (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Rename cpu_l1_cache_map as thread_group_l1_cache_map (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Parse ibm, thread-groups with multiple properties (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Use GFP_ATOMIC while allocating tmp mask (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Remove unnecessary variable (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Optimize update_coregroup_mask (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Move coregroup mask updation to a new function (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Optimize update_mask_by_l2 (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Check for duplicate topologies and consolidate (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Depend on cpu_l1_cache_map when adding CPUs (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Stop passing mask to update_mask_by_l2 (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Limit CPUs traversed to within a node (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Optimize remove_cpu_from_masks (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Remove get_physical_package_id (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Stop updating cpu_core_mask (Diego Domingos) [1906504] - [powerpc] powerpc/topology: Update topology_core_cpumask (Diego Domingos) [1906504] - [powerpc] powerpc/topology: Override cpu_smt_mask (Diego Domingos) [1906504] - [include] sched/topology: Allow archs to override cpu_smt_mask (Diego Domingos) [1906504] - [powerpc] powerpc/cacheinfo: Add per cpu per index shared_cpu_list (Diego Domingos) [1906504] - [powerpc] powerpc/cacheinfo: Make cpumap_show code reusable (Diego Domingos) [1906504] - [powerpc] powerpc/cacheinfo: Use cpumap_print to print cpumap (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Use IS_ENABLED() to avoid #ifdef (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Drop superfluous NULL check (Diego Domingos) [1906504] - [vfio] pci: Cleanup .probe() exit paths (Clark Williams) [1860192] - [vfio] pci: Add sriov_configure support (Clark Williams) [1860192] - [vfio] Introduce VFIO_DEVICE_FEATURE ioctl and first user (Clark Williams) [1860192] - [vfio] pci: Introduce VF token (Clark Williams) [1860192] - [vfio] pci: Implement match ops (Clark Williams) [1860192] - [vfio] Include optional device match in vfio_device_ops callbacks (Clark Williams) [1860192] - [infiniband] IB/hfi1: Ensure correct mm is used at all times (Kamal Heib) [1879586] {CVE-2020-27835} - [block] rbd: require global CAP_SYS_ADMIN for mapping and unmapping (Ming Lei) [1887327] {CVE-2020-25284}- [tools] kunit: tool: unmark test_data as binary blobs (Nico Pache) [1900119] - [tools] kunit: tools: fix kunit_tool tests for parsing test plans (Nico Pache) [1900119] - [documentation] Documentation: kunit: Update Kconfig parts for KUNIT's module support (Nico Pache) [1900119] - [tools] kunit: Don't fail test suites if one of them is empty (Nico Pache) [1900119] - [tools] kunit: Fix kunit.py --raw_output option (Nico Pache) [1900119] - [tools] kunit: tool: fix improper treatment of file location (Nico Pache) [1900119] - [tools] kunit: tool: fix broken default args in unit tests (Nico Pache) [1900119] - [tools] kunit: capture stderr on all make subprocess calls (Nico Pache) [1900119] - [documentation] Documentation: kunit: Remove references to --defconfig (Nico Pache) [1900119] - [kernel] kcsan: Add test suite (Nico Pache) [1900119] - [documentation] Documentation: kunit: Add some troubleshooting tips to the FAQ (Nico Pache) [1900119] - [tools] kunit: kunit_tool: Fix invalid result when build fails (Nico Pache) [1900119] - [tools] kunit: show error if kunit results are not present (Nico Pache) [1900119] - [tools] kunit: kunit_config: Fix parsing of CONFIG options with space (Nico Pache) [1900119] - [lib] kunit: add support for named resources (Nico Pache) [1900119] - [lib] kunit: generalize kunit_resource API beyond allocated resources (Nico Pache) [1900119] - [security] security: apparmor: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [fs] fs: ext4: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [base] drivers: base: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [lib] lib: Kconfig.debug: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [lib] kunit: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [lib] kunit: Kconfig: enable a KUNIT_ALL_TESTS fragment (Nico Pache) [1900119] - [tools] kunit: Fix TabError, remove defconfig code and handle when there is no kunitconfig (Nico Pache) [1900119] - [tools] kunit: use KUnit defconfig by default (Nico Pache) [1900119] - [tools] kunit: use --build_dir=.kunit as default (Nico Pache) [1900119] - [tools] kunit: kunit_tool: Separate out config/build/exec/parse (Nico Pache) [1900119] - [lib] lib/test_linear_ranges: add a test for the 'linear_ranges' (Nico Pache) [1900119] - [lib] kunit: Add missing newline in summary message (Nico Pache) [1900119] - [tools] kunit: tool: add missing test data file content (Nico Pache) [1900119] - [documentation] kunit: update documentation to describe debugfs representation (Nico Pache) [1900119] - [lib] kunit: subtests should be indented 4 spaces according to TAP (Nico Pache) [1900119] - [lib] kunit: add log test (Nico Pache) [1900119] - [lib] kunit: add debugfs /sys/kernel/debug/kunit//results display (Nico Pache) [1900119] - [documentation] Documentation: kunit: Make the KUnit documentation less UML-specific (Nico Pache) [1900119] - [lib] Fix linked-list KUnit test when run multiple times (Nico Pache) [1900119] - [tools] kunit: kunit_tool: Allow .kunitconfig to disable config items (Nico Pache) [1900119] - [lib] kunit: Always print actual pointer values in asserts (Nico Pache) [1900119] - [tools] kunit: add --make_options (Nico Pache) [1900119] - [tools] kunit: Run all KUnit tests through allyesconfig (Nico Pache) [1900119] - [tools] kunit: kunit_parser: make parser more robust (Nico Pache) [1900119] - [of] of: unittest: annotate warnings triggered by unittest (Nico Pache) [1900119] - [of] of: unittest: Disable interrupt node tests for old world MAC systems (Nico Pache) [1900119] - [of] of: unittest: add overlay gpio test to catch gpio hog problem (Nico Pache) [1900119] - [tools] kunit: run kunit_tool from any directory (Nico Pache) [1900119] - [tools] kunit: test: Improve error messages for kunit_tool when kunitconfig is invalid (Nico Pache) [1900119] - [documentation] Documentation: kunit: fixed sphinx error in code block (Nico Pache) [1900119] - [base] software node: introduce CONFIG_KUNIT_DRIVER_PE_TEST (Nico Pache) [1900119] - [base] kunit: building kunit as a module breaks allmodconfig (Nico Pache) [1900119] - [documentation] kunit: update documentation to describe module-based build (Nico Pache) [1900119] - [lib] kunit: allow kunit to be loaded as a module (Nico Pache) [1900119] - [lib] kunit: remove timeout dependence on sysctl_hung_task_timeout_seconds (Nico Pache) [1900119] - [lib] kunit: allow kunit tests to be loaded as a module (Nico Pache) [1900119] - [lib] kunit: hide unexported try-catch interface in try-catch-impl.h (Nico Pache) [1900119] - [lib] kunit: move string-stream.h to lib/kunit (Nico Pache) [1900119] - [security] apparmor: add AppArmor KUnit tests for policy unpack (Nico Pache) [1900119] - [tools] kunit/kunit_tool_test: Test '--build_dir' option run (Nico Pache) [1900119] - [tools] kunit: Rename 'kunitconfig' to '.kunitconfig' (Nico Pache) [1900119] - [tools] kunit: Place 'test.log' under the 'build_dir' (Nico Pache) [1900119] - [tools] kunit: Create default config in '--build_dir' (Nico Pache) [1900119] - [tools] kunit: Remove duplicated defconfig creation (Nico Pache) [1900119] - [documentation] docs/kunit/start: Use in-tree 'kunit_defconfig' (Nico Pache) [1900119] - [documentation] Documentation: kunit: add documentation for kunit_tool (Nico Pache) [1900119] - [documentation] Documentation: kunit: fix typos and gramatical errors (Nico Pache) [1900119] - [tools] kunit: testing kunit: Bug fix in test_run_timeout function (Nico Pache) [1900119] - [base] PM / QoS: Initial kunit test (Nico Pache) [1900119] - [lib] lib/list-test: add a test for the 'list' doubly linked list (Nico Pache) [1900119] - [fs] ext4: add kunit test for decoding extended timestamps (Nico Pache) [1900119] - [documentation] Documentation: kunit: Fix verification command (Nico Pache) [1900119] - [tools] kunit: Fix '--build_dir' option (Nico Pache) [1900119] - [lib] kunit: fix failure to build without printk (Nico Pache) [1900119] - [kernel] kernel/sysctl-test: Add null pointer test for sysctl.c:proc_dointvec() (Nico Pache) [1900119] - [documentation] Documentation: kunit: add documentation for KUnit (Nico Pache) [1900119] - [tools] kunit: defconfig: add defconfigs for building KUnit tests (Nico Pache) [1900119] - [tools] kunit: tool: add Python wrappers for running KUnit tests (Nico Pache) [1900119] - [lib] kunit: test: add tests for KUnit managed resources (Nico Pache) [1900119] - [lib] kunit: test: add the concept of assertions (Nico Pache) [1900119] - [lib] kunit: test: add tests for kunit test abort (Nico Pache) [1900119] - [lib] kunit: test: add support for test abort (Nico Pache) [1900119] - [tools] objtool: add kunit_try_catch_throw to the noreturn list (Nico Pache) [1900119] - [tools] objtool: Add rewind_stack_do_exit() to the noreturn list (Nico Pache) [1900119] - [lib] kunit: test: add initial tests (Nico Pache) [1900119] - [lib] lib: enable building KUnit in lib/ (Nico Pache) [1900119] - [lib] kunit: test: add the concept of expectations (Nico Pache) [1900119] - [lib] kunit: test: add assertion printing library (Nico Pache) [1900119] - [lib] kunit: test: add string_stream a std::stream like string builder (Nico Pache) [1900119] - [lib] kunit: test: add test resource management API (Nico Pache) [1900119] - [lib] kunit: test: add KUnit test runner core (Nico Pache) [1900119] - [watchdog] watchdog/hpwdt: Reflect changes (Joseph Szczypek) [1905293] - [watchdog] watchdog/hpwdt: Disable NMI in Crash Kernel (Joseph Szczypek) [1905293] - [idle] intel_idle: add SnowRidge C-state table (Steve Best) [1838554] - [mm] mm: memcg/slab: fix use after free in obj_cgroup_charge (Waiman Long) [1916962] - [mm] mm: memcg/slab: fix return of child memcg objcg for root memcg (Waiman Long) [1916962] - [mm] mm: memcg/slab: fix obj_cgroup_charge() return value handling (Waiman Long) [1916962] - [mm] mm: kmem: move memcg_kmem_bypass() calls to get_mem/obj_cgroup_from_current() (Waiman Long) [1916962] - [s390] s390/kexec_file: fix diag308 subcode when loading crash kernel (Philipp Rudo) [1897184] - [net] ethtool: fix error paths in ethnl_set_channels() (Ivan Vecera) [1906682] - [powerpc] powerpc/pci: Remove LSI mappings on device teardown (Diego Domingos) [1909722] - [powerpc] Revert "powerpc/pci: unmap legacy INTx interrupts of passthrough IO adapters" (Diego Domingos) [1909722] - [block] block: add blk_alloc_queue declaration back (Ming Lei) [1911343] - [net] tcp: only postpone PROBE_RTT if RTT is < current min_rtt estimate (Antoine Tenart) [1901863] - [net] tcp_bbr: improve arithmetic division in bbr_update_bw() (Antoine Tenart) [1901863] - [net] tcp_bbr: clarify that bbr_bdp() rounds up in comments (Antoine Tenart) [1901863] - [net] tcp_bbr: adapt cwnd based on ack aggregation estimation (Antoine Tenart) [1901863] - [net] tcp_bbr: fix bbr pacing rate for internal pacing (Antoine Tenart) [1901863]- [wireless] iwlwifi: fw: acpi: Demote non-conformant function headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: fw: dbg: Fix misspelling of 'reg_data' in function header (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-phy-db: Add missing struct member description for 'trans' (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-eeprom-parse: Fix 'struct iwl_eeprom_enhanced_txpwr's header (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-eeprom-read: Demote one nonconformant function header (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: rs: Demote non-conformant function documentation headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-drv: Fix fall-through warnings for Clang (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: Fix fall-through warnings for Clang (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: Fix fall-through warnings for Clang (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: validate notification size when waiting (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: purge the BSS table upon firmware load (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: check that statistics TLV version match struct version (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add size checks for range response notification (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: hook up missing RX handlers (Jarod Wilson) [1857772] - [wireless] iwlwifi: tighten RX MPDU bounds checks (Jarod Wilson) [1857772] - [wireless] iwlwifi: Add a new card for MA family (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: disconnect if channel switch delay is too long (Jarod Wilson) [1857772] - [wireless] iwlwifi: support firmware reset handshake (Jarod Wilson) [1857772] - [wireless] iwlwifi: add an extra firmware state in the transport (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix a race in CSA that caused assert 0x3420 (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: validate firmware sync response size (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: clean up some rx code (Jarod Wilson) [1857772] - [wireless] iwlwifi: use SPDX tags (Jarod Wilson) [1857772] - [wireless] iwlwifi: dbg-tlv: fix old length in is_trig_data_contained() (Jarod Wilson) [1857772] - [wireless] iwlwifi: trans: consider firmware dead after errors (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: remove unnecessary setting of inta_mask (Jarod Wilson) [1857772] - [wireless] iwlwifi: fw: file: fix documentation for SAR flag (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: remove MSIX_HW_INT_CAUSES_REG_IML handling (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: clean up scan state on failure (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: do more useful queue sync accounting (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix 22000 series driver NMI (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: change 12k A-MSDU config to use 16k buffers (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: move iwl_mvm_stop_device() out of line (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: clear up iwl_mvm_notify_rx_queue() argument type (Jarod Wilson) [1857772] - [wireless] iwlwifi: remove sw_csum_tx (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: validate RX descriptor length (Jarod Wilson) [1857772] - [wireless] iwlwifi: validate MPDU length against notification length (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: iterate active stations when updating statistics (Jarod Wilson) [1857772] - [wireless] iwlwifi: sort out the NVM offsets (Jarod Wilson) [1857772] - [wireless] iwlwifi: fix typo in comment (Jarod Wilson) [1857772] - [wireless] iwlwifi: follow the new inclusive terminology (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove the read_nvm from iwl_run_unified_mvm_ucode (Jarod Wilson) [1857772] - [wireless] iwlwifi: avoid endless HW errors at assert time (Jarod Wilson) [1857772] - [wireless] iwlwifi: enable sending/setting debug host event (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for 6GHz (Jarod Wilson) [1857772] - [wireless] iwlwifi: copy iwl_he_capa for modifications (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: remove obsolete pre-release support code (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove the read_nvm from iwl_run_init_mvm_ucode (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: Init error table memory to zero (Jarod Wilson) [1857772] - [wireless] iwlwifi: d3: do not send the WOWLAN_CONFIGURATION command for netdetect (Jarod Wilson) [1857772] - [wireless] iwlwifi: move reclaim flows to the queue file (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix sar profile printing issue (Jarod Wilson) [1857772] - [wireless] iwlwifi: yoyo: align the write pointer to DWs (Jarod Wilson) [1857772] - [wireless] iwlwifi: yoyo: add the ability to dump phy periphery (Jarod Wilson) [1857772] - [wireless] iwlwifi: remove all queue resources before free (Jarod Wilson) [1857772] - [wireless] wireless: remove unneeded break (Jarod Wilson) [1857772] - [net] nl80211/cfg80211: fix potential infinite loop (Jarod Wilson) [1857772] - [net] cfg80211: select CONFIG_CRC32 (Jarod Wilson) [1857772] - [net] nl80211/cfg80211: support 6 GHz scanning (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: add some missing entries for AX210 (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: invert values of NO_160 device config entries (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: add one missing entry for AX210 (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix kernel panic in case of assert during CSA (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: set LTR to avoid completion timeout (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: write queue_sync_state only for sync (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: properly cancel a session protection for P2P (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: use the HOT_SPOT_CMD to cancel an AUX ROC (Jarod Wilson) [1857772] - [wireless] iwlwifi: sta: set max HE max A-MPDU according to HE capa (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: limit memory read spin time (Jarod Wilson) [1857772] - [wireless] Revert "iwlwifi: remove wide_cmd_header field" (Jarod Wilson) [1857772] - [wireless] iwlwifi: bump FW API to 59 for AX devices (Jarod Wilson) [1857772] - [wireless] iwlwifi: read and parse PNVM file (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: implement set_pnvm op (Jarod Wilson) [1857772] - [wireless] iwlwifi: add trans op to set PNVM (Jarod Wilson) [1857772] - [wireless] iwlwifi: move PNVM implementation to common code (Jarod Wilson) [1857772] - [wireless] iwlwifi: rs: align to new TLC config command API (Jarod Wilson) [1857772] - [wireless] iwlwifi: fix sar geo table initialization (Jarod Wilson) [1857772] - [wireless] iwlwifi: stats: add new api fields for statistics cmd/ntfy (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix suspicious rcu usage warnings (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove memset of kek_kck command (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: don't send a CSA command the firmware doesn't know (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: fix the xtal latency value for a few qu devices (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: fix xtal latency for 9560 devices (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: fix 0x271B and 0x271C trans cfg struct (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: avoid possible NULL pointer dereference (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: support ADD_STA_CMD_API_S ver 12 (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add a get lmac id function (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: prepare roc_done_wk to work sync (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: re-enable TX after channel switch (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: don't send RFH_QUEUE_CONFIG_CMD with no queues (Jarod Wilson) [1857772] - [wireless] iwlwifi: support an additional Qu subsystem id (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: stop claiming NL80211_EXT_FEATURE_SET_SCAN_DWELL (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: ring the doorbell and wait for PNVM load completion (Jarod Wilson) [1857772] - [wireless] iwlwifi: update prph scratch structure to include PNVM data (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: read and parse SKU ID if available (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: get number of stations from TLV (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-drv: Provide descriptions debugfs dentries (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: devices: Fix function documentation formatting issues (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: tx: Demote misuse of kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: rxon: Demote non-conformant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: scan: Demote a few nonconformant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: utils: Fix some doc-rot (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: Demote a couple of nonconformant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: ops: Remove unused static struct 'iwl_mvm_debug_names' (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: sta: Demote a bunch of nonconformant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: calib: Demote seemingly unintentional kerneldoc header (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: lib: Demote non-compliant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: tx: Demote non-compliant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: rs: Demote non-compliant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: Demote non-compliant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: bump FW API to 57 for AX devices (Jarod Wilson) [1857772] - [wireless] iwlwifi: yoyo: add support for internal buffer allocation in D3 (Jarod Wilson) [1857772] - [wireless] iwlwifi: api: fix u32 -> __le32 (Jarod Wilson) [1857772] - [wireless] iwlwifi: use correct group for alive notification (Jarod Wilson) [1857772] - [wireless] iwlwifi: support version 5 of the alive notification (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: ignore the scan duration parameter (Jarod Wilson) [1857772] - [wireless] iwlwifi: dbg: add debug host notification (DHN) time point (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: make iwl_pcie_txq_update_byte_cnt_tbl bus independent (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: clear all scan UIDs (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: d3: parse wowlan status version 11 (Jarod Wilson) [1857772] - [wireless] iwlwifi: align RX status flags with firmware (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove redundant log in iwl_mvm_tvqm_enable_txq() (Jarod Wilson) [1857772] - [wireless] iwlwifi: phy-ctxt: add new API VER 3 for phy context cmd (Jarod Wilson) [1857772] - [wireless] iwlwifi: thermal: support new temperature measurement API (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add d3 prints (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: d3: support GCMP ciphers (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: support more GTK rekeying algorithms (Jarod Wilson) [1857772] - [wireless] iwlwifi: move all bus-independent TX functions to common code (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: initiator: add option for adding a PASN responder (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: responder: allow to set only the HLTK for an associated station (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: location: set the HLTK when PASN station is added (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: Add FTM initiator RTT smoothing logic (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for responder dynamic config command version 3 (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for range request command ver 11 (Jarod Wilson) [1857772] - [wireless] iwlwifi: remove wide_cmd_header field (Jarod Wilson) [1857772] - [wireless] iwlwifi: fw: add default value for iwl_fw_lookup_cmd_ver (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: in non acpi compilations remove iwl_sar_geo_init (Jarod Wilson) [1857772] - [wireless] iwlwifi: rs: set RTS protection for all non legacy rates (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: support new KEK KCK api (Jarod Wilson) [1857772] - [wireless] iwlwifi: support version 3 of GEO_TX_POWER_LIMIT (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: rename geo structs to contain versioning (Jarod Wilson) [1857772] - [wireless] iwlwifi: support REDUCE_TX_POWER_CMD version 6 (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: prepare SAR profile selection code for multiple sizes (Jarod Wilson) [1857772] - [wireless] iwlwifi: add a common struct for all iwl_tx_power_cmd versions (Jarod Wilson) [1857772] - [wireless] iwlwifi: add new card for MA family (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: remove dummy definition of iwl_sar_set_profile() (Jarod Wilson) [1857772] - [wireless] iwlwifi: remove iwl_validate_sar_geo_profile() export (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: use CHECKSUM_COMPLETE (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove redundant support_umac_log field (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for new WOWLAN_TSC_RSC_PARAM version (Jarod Wilson) [1857772] - [wireless] iwlwifi: don't export acpi functions unnecessarily (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: process ba-notifications also when sta rcu is invalid (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for new version of WOWLAN_TKIP_SETTING_API_S (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: Don't install CMAC/GMAC key in AP mode (Jarod Wilson) [1857772] - [wireless] iwl-trans: move dev_cmd_offs, page_offs to a common trans header (Jarod Wilson) [1857772] - [wireless] iwlwifi: regulatory: regulatory capabilities api change (Jarod Wilson) [1857772] - [wireless] iwlwifi: dbg: add dumping special device memory (Jarod Wilson) [1857772] - [wireless] iwlwifi: dbg: remove IWL_FW_INI_TIME_POINT_WDG_TIMEOUT (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: support ppag table command v2 (Jarod Wilson) [1857772] - [wireless] iwlwifi: add new cards for MA family (Jarod Wilson) [1857772] - [wireless] iwlwifi: move bc_table_dword to a common trans header (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-trans: move tfd to trans layer (Jarod Wilson) [1857772] - [wireless] iwlwifi: move bc_pool to a common trans header (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-trans: move all txcmd init to trans alloc (Jarod Wilson) [1857772] - [wireless] iwlwifi: enable twt by default (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add an option to add PASN station (Jarod Wilson) [1857772] - [wireless] iwlwifi: add new cards for AX201 family (Jarod Wilson) [1857772] - [wireless] iwlwifi: fw: move assert descriptor parser to common code (Jarod Wilson) [1857772] - [wireless] iwlwifi: wowlan: adapt to wowlan status API version 10 (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: evaluate dsm to disable 5.8GHz channels (Jarod Wilson) [1857772] - [wireless] iwlwifi: msix: limit max RX queues for 9000 family (Jarod Wilson) [1857772] - [wireless] iwlwifi: sta: defer ADDBA transmit in case reclaimed SN != next SN (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: set PROTECTED_TWT feature if supported by firmware (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: set PROTECTED_TWT in MAC data policy (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add PROTECTED_TWT firmware API (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: rs-fw: handle VHT extended NSS capability (Jarod Wilson) [1857772] - [x86] sev-es: Use new for_each_insn_prefix() macro to loop over prefixes bytes (Vitaly Kuznetsov) [1915453] - [x86] insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes bytes (Vitaly Kuznetsov) [1915453] - [tools] x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes (Vitaly Kuznetsov) [1915453] - [powercap] powercap/intel_rapl: add support for ElkhartLake (Steve Best) [1847054] - [char] tpm: efi: Don't create binary_bios_measurements file for an empty log (Jerry Snitselaar) [1887536 1855183] - [char] tpm_tis: Add a check for invalid status (Jerry Snitselaar) [1887536 1855183] - [char] tpm: use *ph to print small buffer (Jerry Snitselaar) [1887536 1855183] - [char] tpm: Add support for event log pointer found in TPM2 ACPI table (Jerry Snitselaar) [1887536 1855183] - [acpi] acpi: Extend TPM2 ACPI table with missing log fields (Jerry Snitselaar) [1887536] - [char] tpm: Unify the mismatching TPM space buffer sizes (Jerry Snitselaar) [1887536 1855183] - [include] tpm: Require that all digests are present in TCG_PCR_EVENT2 structures (Jerry Snitselaar) [1887536 1855183] - [char] tpm_tis_spi: Prefer async probe (Jerry Snitselaar) [1887536 1855183] - [char] tpm/st33zp24: fix spelling mistake "drescription" -> "description" (Jerry Snitselaar) [1887536] - [char] tpm_tis: extra chip->ops check on error path in tpm_tis_core_init (Jerry Snitselaar) [1887536 1855183] - [char] tpm_tis_spi: Don't send anything during flow control (Jerry Snitselaar) [1887536 1855183] - [include] efi/tpm: Verify event log header before parsing (Jerry Snitselaar) [1887536 1855183] - [char] tpm: eventlog: Replace zero-length array with flexible-array member (Jerry Snitselaar) [1887536 1855183] - [char] tpm: fix wrong return value in tpm_pcr_extend (Jerry Snitselaar) [1887536 1855183] - [include] tpm_eventlog.h: Replace zero-length array with flexible-array member (Jerry Snitselaar) [1887536 1855183] - [include] phylink: : fix function prototype kernel-doc warning (Petr Oros) [1878147] - [netdrv] net: phy: call phy_disable_interrupts() in phy_attach_direct() instead (Petr Oros) [1878147] - [net] net: ethtool: Handle missing cable test TDR parameters (Petr Oros) [1878147] - [documentation] docs: networking: fix extra spaces in ethtool-netlink (Petr Oros) [1878147] - [documentation] dt-bindings: net: mvusb: Fix example errors (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: fix null pointer dereference (Petr Oros) [1878147] - [netdrv] net: phy: fix memory leak in device-create error path (Petr Oros) [1878147] - [netdrv] net: mdio device: use flexible sleeping in reset function (Petr Oros) [1878147] - [netdrv] net: mdiobus: add reset-post-delay-us handling (Petr Oros) [1878147] - [netdrv] net: mdiobus: use flexible sleeping for reset-delay-us (Petr Oros) [1878147] - [netdrv] net: phylink: add interface to configure clause 22 PCS PHY (Petr Oros) [1878147] - [netdrv] net: phylink: add struct phylink_pcs (Petr Oros) [1878147] - [netdrv] net: phylink: re-implement interface configuration with PCS (Petr Oros) [1878147] - [netdrv] net: phylink: in-band pause mode advertisement update for PCS (Petr Oros) [1878147] - [netdrv] net: phylink: simplify fixed-link case for ksettings_set method (Petr Oros) [1878147] - [netdrv] net: phylink: use config.an_enabled in ksettings_set method (Petr Oros) [1878147] - [netdrv] net: phylink: simplify phy case for ksettings_set method (Petr Oros) [1878147] - [netdrv] net: phylink: simplify ksettings_set() implementation (Petr Oros) [1878147] - [netdrv] net: phylink: avoid mac_config calls (Petr Oros) [1878147] - [netdrv] net: phylink: update PCS when changing interface during resolution (Petr Oros) [1878147] - [netdrv] net: phylink: ensure link is down when changing interface (Petr Oros) [1878147] - [netdrv] net: phylink: rearrange resolve mac_config() call (Petr Oros) [1878147] - [netdrv] net: phylink: rejig link state tracking (Petr Oros) [1878147] - [netdrv] net: phylink: update ethtool reporting for fixed-link modes (Petr Oros) [1878147] - [netdrv] net: phy: fix check in get_phy_c45_ids (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add mdix configuration support for AR9331 and AR8035 (Petr Oros) [1878147] - [netdrv] net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration (Petr Oros) [1878147] - [netdrv] net: phy: continue searching for C45 MMDs even if first returned ffff:ffff (Petr Oros) [1878147] - [netdrv] net: phy: dp83640: Fixup cast to restricted __be16 warning (Petr Oros) [1878147] - [netdrv] net: phy: Make phy_10gbit_fec_features_array static (Petr Oros) [1878147] - [netdrv] net: phy: Properly define genphy_c45_driver (Petr Oros) [1878147] - [netdrv] net: phy: Fixup parameters in kerneldoc (Petr Oros) [1878147] - [netdrv] net: phy: at803x: Avoid comparison is always false warning (Petr Oros) [1878147] - [netdrv] net: phy: mdio: reset MDIO devices even if probe() is not implemented (Petr Oros) [1878147] - [netdrv] net: phy: reset the PHY even if probe() is not implemented (Petr Oros) [1878147] - [include] net: mdio: add a forward declaration for reset_control to mdio.h (Petr Oros) [1878147] - [netdrv] net: phy: arrange headers in phy_device.c alphabetically (Petr Oros) [1878147] - [netdrv] net: phy: arrange headers in mdio_device.c alphabetically (Petr Oros) [1878147] - [netdrv] net: phy: arrange headers in mdio_bus.c alphabetically (Petr Oros) [1878147] - [netdrv] net: phylink: only restart AN if the link mode is using in-band AN (Petr Oros) [1878147] - [netdrv] net: phylink: add phylink_speed_(up|down) interface (Petr Oros) [1878147] - [netdrv] net: phy: call phy_disable_interrupts() in phy_init_hw() (Petr Oros) [1878147] - [netdrv] net: phy: make phy_disable_interrupts() non-static (Petr Oros) [1878147] - [netdrv] net: phylink: ensure manual pause mode configuration takes effect (Petr Oros) [1878147] - [netdrv] net: phylink: fix ethtool -A with attached PHYs (Petr Oros) [1878147] - [include] net: phy: add support for a common probe between shared PHYs (Petr Oros) [1878147] - [netdrv] net: phy: Allow mdio buses to auto-probe c45 devices (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Add Marvell 88E1548P support (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Add Marvell 88E1340S support (Petr Oros) [1878147] - [netdrv] net: phy: marvell: use a single style for referencing functions (Petr Oros) [1878147] - [netdrv] net: phy: smsc: fix printing too many logs (Petr Oros) [1878147] - [netdrv] net: phy: Check harder for errors in get_phy_id() (Petr Oros) [1878147] - [of] of: of_mdio: Correct loop scanning logic (Petr Oros) [1878147] - [of] of: mdio: preserve phy dev_flags in of_phy_connect() (Petr Oros) [1878147] - [netdrv] net: phy: read MMD ID from all present MMDs (Petr Oros) [1878147] - [netdrv] net: phy: split devices_in_package (Petr Oros) [1878147] - [netdrv] net: phy: set devices_in_package only after validation (Petr Oros) [1878147] - [netdrv] net: phy: add support for probing MMDs >= 8 for devices-in-package (Petr Oros) [1878147] - [netdrv] net: phy: reword get_phy_device() kerneldoc (Petr Oros) [1878147] - [netdrv] net: phy: clean up get_phy_c22_id() invalid ID handling (Petr Oros) [1878147] - [netdrv] net: phy: clean up get_phy_c45_ids() failure handling (Petr Oros) [1878147] - [netdrv] net: phy: clean up PHY ID reading (Petr Oros) [1878147] - [netdrv] net: phy: clean up cortina workaround (Petr Oros) [1878147] - [netdrv] net: dp83869: Reset return variable if PHY strap is read (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: don't export RDB/legacy access methods (Petr Oros) [1878147] - [netdrv] net: phy: marvell: unlock after phy_select_page() failure (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add cable diagnostics support for ATH9331 and ATH8032 (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Configure TDR pulse based on measurement length (Petr Oros) [1878147] - [netdrv] net : phy: marvell: Speedup TDR data retrieval by only changing page once (Petr Oros) [1878147] - [netdrv] net: ethtool: Allow PHY cable test TDR data to configured (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Add support for amplitude graph (Petr Oros) [1878147] - [net] net: ethtool: Add helpers for cable test TDR data (Petr Oros) [1878147] - [net] net: ethtool: Add generic parts of cable test TDR (Petr Oros) [1878147] - [uapi] net: ethtool: Add attributes for cable test TDR data (Petr Oros) [1878147] - [netdrv] net: phy: mscc-miim: read poll when high resolution timers are disabled (Petr Oros) [1878147] - [netdrv] net: phy: mscc-miim: improve waiting logic (Petr Oros) [1878147] - [netdrv] net: phy: mscc-miim: remove redundant timeout check (Petr Oros) [1878147] - [netdrv] net: phy: mscc-miim: use more reasonable delays (Petr Oros) [1878147] - [netdrv] net: mdiobus: add clause 45 mdiobus accessors (Petr Oros) [1878147] - [netdrv] net: phy: at803x: fix PHY ID masks (Petr Oros) [1878147] - [netdrv] net: phy: dp83869: Set opmode from straps (Petr Oros) [1878147] - [netdrv] net: phy: dp83869: Update port-mirroring to read straps (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add SQI support (Petr Oros) [1878147] - [netdrv] net: phy: simplify phy_link_change arguments (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: fix checkpatch complains about tabs (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add support for BCM54811 PHY (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: execute cable test on link up (Petr Oros) [1878147] - [netdrv] net: phy: mdio-moxart: remove unneeded include (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add cable diagnostics support (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: add cable diagnostics support (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add cable test support (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add bcm_phy_modify_exp() (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add exp register access methods without buslock (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add cable-test support (Petr Oros) [1878147] - [netdrv] net: phy: fix aneg restart in phy_ethtool_set_eee (Petr Oros) [1878147] - [net] net: phy: Send notifier when starting the cable test (Petr Oros) [1878147] - [netdrv] net: phy: Put interface into oper testing during cable test (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Add cable test support (Petr Oros) [1878147] - [include] net: ethtool: Add helpers for reporting test results (Petr Oros) [1878147] - [include] net: ethtool: Add infrastructure for reporting cable test results (Petr Oros) [1878147] - [uapi] net: ethtool: Add attributes for cable test reports (Petr Oros) [1878147] - [net] net: ethtool: netlink: Add support for triggering a cable test (Petr Oros) [1878147] - [netdrv] net: phy: Add support for polling cable test (Petr Oros) [1878147] - [netdrv] net: phy: Add cable test support to state machine (Petr Oros) [1878147] - [net] net: ethtool: self_test: Mark interface in testing operative status (Petr Oros) [1878147] - [net] net: Add testing sysfs attribute (Petr Oros) [1878147] - [net] net: Add IF_OPER_TESTING (Petr Oros) [1878147] - [netdrv] net: phy: fix less than zero comparison with unsigned variable val (Petr Oros) [1878147] - [netdrv] net: phy: Make iproc_mdio_resume static (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: use phy_package_shared (Petr Oros) [1878147] - [netdrv] net: phy: add concept of shared storage for PHYs (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add support for master-slave configuration (Petr Oros) [1878147] - [uapi] ethtool: provide UAPI for PHY master/slave configuration (Petr Oros) [1878147] - [netdrv] dp83640: reverse arguments to list_add_tail (Petr Oros) [1878147] - [documentation] dt-bindings: add Qualcomm IPQ4019 MDIO bindings (Petr Oros) [1878147] - [netdrv] net: phy: mdio: add IPQ4019 MDIO driver (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: add second PHY ID (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: apply the workaround on b0 chips (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: fix phy_id_mask (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: use genphy_soft_reset() (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add downshift support (Petr Oros) [1878147] - [netdrv] net: phy: DP83TC811: Fix WoL in config init to be disabled (Petr Oros) [1878147] - [netdrv] net: phy: DP83822: Fix WoL in config init to be disabled (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: Make a bunch of functions static (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: fix temperature sensor on 2110 (Petr Oros) [1878147] - [gpio] gpiolib: Rename "chip" variables to "gc" in core header file (Petr Oros) [1878147] - [netdrv] net: phy: dp83867: Remove unneeded semicolon (Petr Oros) [1878147] - [netdrv] net: phy: clear phydev->suspended after soft reset (Petr Oros) [1878147] - [netdrv] net: phy: remove genphy_no_soft_reset (Petr Oros) [1878147] - [netdrv] net: phy: make phy_suspend a no-op if PHY is suspended already (Petr Oros) [1878147] - [netdrv] net: phylink, dsa: eliminate phylink_fixed_state_cb() (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: fix less than zero comparison on an unsigned (Petr Oros) [1878147] - [netdrv] net: phy: bcm84881: clear settings on link down (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add delayed registration of TJA1102 PHY1 (Petr Oros) [1878147] - [of] net: mdio: of: export part of of_mdiobus_register_phy() (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add initial TJA1102 support (Petr Oros) [1878147] - [documentation] dt-bindings: net: phy: Add support for NXP TJA11xx (Petr Oros) [1878147] - [netdrv] net: phy: Use IS_ERR() to check and simplify code (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: limit soft reset to 88x3310 (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: add hwmon support (Petr Oros) [1878147] - [netdrv] net: phy: add Broadcom BCM54140 support (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add helper to write/read RDB registers (Petr Oros) [1878147] - [netdrv] net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx phy (Petr Oros) [1878147] - [netdrv] net: phy: Propagate error from bus->reset (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: Add support for BCM53125 internal PHYs (Petr Oros) [1878147] - [netdrv] net: phy: mdio-bcm-iproc: Do not show kernel pointer (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add support for AR8032 PHY (Petr Oros) [1878147] - [netdrv] net: marvell10g: soft-reset the PHY when coming out of low power (Petr Oros) [1878147] - [netdrv] net: marvell10g: report firmware version (Petr Oros) [1878147] - [netdrv] net: phy: micrel: use genphy_read_status for KSZ9131 (Petr Oros) [1878147] - [netdrv] net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before accessing PHY registers (Petr Oros) [1878147] - [netdrv] net: phylink: add separate pcs operations structure (Petr Oros) [1878147] - [netdrv] net: phylink: rename 'ops' to 'mac_ops' (Petr Oros) [1878147] - [netdrv] net: phylink: change phylink_mii_c22_pcs_set_advertisement() prototype (Petr Oros) [1878147] - [ptp] ptp: Avoid deadlocks in the programmable pin code (Petr Oros) [1878147] - [netdrv] net: phy: probe PHY drivers synchronously (Petr Oros) [1878147] - [netdrv] net: phy: don't touch suspended flag if there's no suspend/resume callback (Petr Oros) [1878147] - [netdrv] net: phy: micrel.c: add rgmii interface delay possibility to ksz9131 (Petr Oros) [1878147] - [netdrv] net: phy: mdio-mux-bcm-iproc: use readl_poll_timeout() to simplify code (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: use phy_read_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: smsc: use phy_read_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: use phy_read_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: use phy_read_mmd_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: aquantia: use phy_read_mmd_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: bcm84881: use phy_read_mmd_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: add marvell usb to mdio controller (Petr Oros) [1878147] - [documentation] dt-bindings: net: add marvell usb to mdio bindings (Petr Oros) [1878147] - [netdrv] net: phy: aquantia: remove downshift warning now that phylib takes care (Petr Oros) [1878147] - [netdrv] net: phy: marvell: remove downshift warning now that phylib takes care (Petr Oros) [1878147] - [netdrv] net: phy: add and use phy_check_downshift (Petr Oros) [1878147] - [netdrv] net: phylink: pcs: add 802.3 clause 45 helpers (Petr Oros) [1878147] - [netdrv] net: phylink: pcs: add 802.3 clause 22 helpers (Petr Oros) [1878147] - [netdrv] net: mdiobus: add APIs for modifying a MDIO device register (Petr Oros) [1878147] - [netdrv] net: mdiobus: avoid BUG_ON() in mdiobus accessors (Petr Oros) [1878147] - [netdrv] net: phy: improve phy_driver callback handle_interrupt (Petr Oros) [1878147] - [netdrv] net: phylink: Add XLGMII support (Petr Oros) [1878147] - [include] net: phy: Add XLGMII interface define (Petr Oros) [1878147] - [netdrv] net: phylink: Test if MAC/PCS support Autoneg (Petr Oros) [1878147] - [netdrv] net: phylink: Add missing Backplane speeds (Petr Oros) [1878147] - [netdrv] net: mdio: add ipq8064 mdio driver (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: place in powersave mode at probe (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: add energy detect power down tunable (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: add mdix control (Petr Oros) [1878147] - [netdrv] net: phy: mscc: add constants for used interrupt mask bits (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: read copper results from CSSR1 (Petr Oros) [1878147] - [netdrv] net: phy: mscc: add missing shift for media operation mode selection (Petr Oros) [1878147] - [netdrv] net: phylink: propagate resolved link config via mac_link_up() (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: Wire suspend/resume for BCM54810 (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: Have bcm54xx_adjust_rxrefclk() check for flags (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: Allow BCM54810 to use bcm54xx_adjust_rxrefclk() (Petr Oros) [1878147] - [netdrv] net: phy: dp83867: Add speed optimization feature (Petr Oros) [1878147] - [netdrv] net: phy: allow bcm84881 to be a module (Petr Oros) [1878147] - [include] net: phylink: clarify flow control settings in documentation (Petr Oros) [1878147] - [netdrv] net: phylink: improve initial mac configuration (Petr Oros) [1878147] - [netdrv] net: phylink: allow ethtool -A to change flow control advertisement (Petr Oros) [1878147] - [netdrv] net: phylink: resolve fixed link flow control (Petr Oros) [1878147] - [netdrv] net: phylink: use phylib resolved flow control modes (Petr Oros) [1878147] - [netdrv] net: phylink: ensure manual flow control is selected appropriately (Petr Oros) [1878147] - [netdrv] net: phylink: remove pause mode ethtool setting for fixed links (Petr Oros) [1878147] - [netdrv] net: add linkmode helper for setting flow control advertisement (Petr Oros) [1878147] - [netdrv] net: add helpers to resolve negotiated flow control (Petr Oros) [1878147] - [include] net: linkmode: make linkmode_test_bit() take const pointer (Petr Oros) [1878147] - [include] net: phylink: further documentation clarifications (Petr Oros) [1878147] - [include] net: phylink: further mac_config documentation improvements (Petr Oros) [1878147] - [netdrv] net: phylink: rename mac_link_state() op to mac_pcs_get_state() (Petr Oros) [1878147] - [md] md/raid5: fix oops during stripe resizing (Nigel Croxon) [1898617] - [md] md/bitmap: fix memory leak of temporary bitmap (Nigel Croxon) [1898617] - [md] md: fix the checking of wrong work queue (Nigel Croxon) [1898617] - [md] md/bitmap: md_bitmap_get_counter returns wrong blocks (Nigel Croxon) [1898617] - [md] md/bitmap: md_bitmap_read_sb uses wrong bitmap blocks (Nigel Croxon) [1898617] - [md] md/raid0: remove unused function is_io_in_chunk_boundary() (Nigel Croxon) [1898617] - [md] md: don't detour through bd_contains for the gendisk (Nigel Croxon) [1898617] - [md] md: compare bd_disk instead of bd_contains (Nigel Croxon) [1898617] - [md] md: Simplify code with existing definition RESYNC_SECTORS in raid10.c (Nigel Croxon) [1898617] - [md] md/raid5: reallocate page array after setting new stripe_size (Nigel Croxon) [1898617] - [md] md/raid5: resize stripe_head when reshape array (Nigel Croxon) [1898617] - [md] md/raid5: let multiple devices of stripe_head share page (Nigel Croxon) [1898617] - [crypto] md/raid6: let async recovery function support different page offset (Nigel Croxon) [1898617] - [crypto] md/raid6: let syndrome computor support different page offset (Nigel Croxon) [1898617] - [md] md/raid5: convert to new xor compution interface (Nigel Croxon) [1898617] - [crypto] md/raid5: add new xor function to support different page offset (Nigel Croxon) [1898617] - [md] md/raid5: make async_copy_data() to support different page offset (Nigel Croxon) [1898617] - [md] md/raid5: add a new member of offset into r5dev (Nigel Croxon) [1898617] - [md] md: only calculate blocksize once and use i_blocksize() (Nigel Croxon) [1898617] - [md] md: update the optimal I/O size on reshape (Nigel Croxon) [1898617] - [md] md/raid5: make sure stripe_size as power of two (Nigel Croxon) [1898617] - [md] md-cluster: Fix potential error pointer dereference in resize_bitmaps() (Nigel Croxon) [1898617] - [md] md: get sysfs entry after redundancy attr group create (Nigel Croxon) [1898617] - [kernel] lockdep: Fix preemption WARN for spurious IRQ-enable (Waiman Long) [1908640] - [powerpc] powerpc/smp: Call rcu_cpu_starting() earlier (Waiman Long) [1908640] - [include] seqlock: Fix multiple kernel-doc warnings (Waiman Long) [1908640] - [kernel] lockdep: Fix usage_traceoverflow (Waiman Long) [1908640] - [kernel] locking/lockdep: Remove more raw_cpu_read() usage (Waiman Long) [1908640] - [include] lockdep: Revert "lockdep: Use raw_cpu_*() for per-cpu variables" (Waiman Long) [1908640] - [kernel] lockdep: Fix lockdep recursion (Waiman Long) [1908640] - [kernel] lockdep,trace: Expose tracepoints (Waiman Long) [1908640] - [x86] locking/lockdep: Fix TRACE_IRQFLAGS vs. NMIs (Waiman Long) [1908640] - [s390] s390: don't trace preemption in percpu macros (Waiman Long) [1908640] - [fs] blkdev: avoid migration stalls for blkdev pages (Chris von Recklinghausen) [1876502] - [netdrv] ionic: account for vlan tag len in rx buffer len (Jonathan Toppins) [1908642] - [netdrv] net/mlx5e: Fix refcount leak on kTLS RX resync (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Avoid kzalloc(GFP_KERNEL) under spinlock (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Fix leak on resync error flow (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Add missing dma_unmap in RX resync (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Fix napi sync and possible use-after-free (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Improve rx handler function call (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Cleanup redundant capability check (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: Increase Async ICO SQ size (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Add kTLS RX stats (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Add kTLS RX resync support (Alaa Hleihel) [1866808] - [infiniband] RDMA/siw: Fix handling of zero-sized Read and Receive Queues (Kamal Heib) [1900985 1875703] - [fs] ext4: fix bogus warning in ext4_update_dx_flag() (Lukas Czerner) [1908714] - [fs] ext4: handle dax mount option collision (Lukas Czerner) [1908714] - [fs] jbd2: fix up sparse warnings in checkpoint code (Lukas Czerner) [1908714] - [fs] ext4: unlock xattr_sem properly in ext4_inline_data_truncate() (Lukas Czerner) [1908714] - [fs] ext4: do not use extent after put_bh (Lukas Czerner) [1908714] - [fs] ext4: fix invalid inode checksum (Lukas Czerner) [1908714] - [fs] ext4: clear buffer verified flag if read meta block from disk (Lukas Czerner) [1908714] - [fs] ext4: treat buffers contining write errors as valid in ext4_sb_bread() (Lukas Czerner) [1908714] - [fs] ext4: treat buffers with write errors as containing valid data (Lukas Czerner) [1908714] - [fs] ext4: limit entries returned when counting fsmap records (Lukas Czerner) [1908714] - [fs] ext4: fix error handling code in add_new_gdb (Lukas Czerner) [1908714] - [fs] ext4: fix leaking sysfs kobject after failed mount (Lukas Czerner) [1908714] - [fs] ext4: fix checking of directory entry validity for inline directories (Lukas Czerner) [1908714] - [fs] ext4: correctly restore system zone info when remount fails (Lukas Czerner) [1908714] - [fs] ext4: handle add_system_zone() failure in ext4_setup_system_zone() (Lukas Czerner) [1908714] - [fs] ext4: fold ext4_data_block_valid_rcu() into the caller (Lukas Czerner) [1908714] - [fs] ext4: check journal inode extents more carefully (Lukas Czerner) [1908714] - [fs] ext4: don't allow overlapping system zones (Lukas Czerner) [1908714] - [fs] ext4: handle error of ext4_setup_system_zone() on remount (Lukas Czerner) [1908714] - [fs] jbd2: add the missing unlock_buffer() in the error path of jbd2_write_superblock() (Lukas Czerner) [1908714] - [fs] ext4: fix mount failure with quota configured as module (Lukas Czerner) [1908714] - [fs] ext4: improve explanation of a mount failure caused by a misconfigured kernel (Lukas Czerner) [1908714] - [include] jbd2: fix kernel-doc notation warning (Lukas Czerner) [1908714] - [base] mm: don't panic when links can't be created in sysfs (Baoquan He) [1890171] - [base] mm: don't rely on system state to detect hot-plug operations (Baoquan He) [1890171] - [mm] mm: replace memmap_context by meminit_context (Baoquan He) [1890171] - [net] Update window_clamp if SOCK_RCVBUF is set (Balazs Nemeth) [1905985] - [cpufreq] cpufreq: acpi-cpufreq: Mark sometimes used ID structs as __maybe_unused (David Arcari) [1857102] - [cpufreq] cpufreq: acpi-cpufreq: Mark 'dummy' variable as __always_unused (David Arcari) [1857102] - [cpufreq] cpufreq: Replace HTTP links with HTTPS ones (David Arcari) [1857102] - [cpufreq] cpufreq: change '.set_boost' to act on one policy (David Arcari) [1857102] - [cpufreq] cpufreq: Fix up cpufreq_boost_set_sw() (David Arcari) [1857102] - [cpufreq] cpufreq: Convert to new X86 CPU match macros (David Arcari) [1857102] - [cpufreq] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (David Arcari) [1857102]- [platform] platform/x86: ISST: Add new PCI device ids (Prarit Bhargava) [1836722] - [net] net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc (Antoine Tenart) [1912253] - [net] net-sysfs: take the rtnl lock when storing xps_rxqs (Antoine Tenart) [1912253] - [net] net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc (Antoine Tenart) [1912253] - [net] net-sysfs: take the rtnl lock when storing xps_cpus (Antoine Tenart) [1912253] - [fs] gfs2: Improve mmap write vs. punch_hole consistency (Andreas Grunbacher) [1872043] - [netdrv] bnx2x: fix spelling mistake "occurd" -> "occurred" (Manish Chopra) [1853224] - [netdrv] bnx2x: Perform Idlechk dump during the debug collection (Manish Chopra) [1853224] - [netdrv] bnx2x: Add support for idlechk tests (Manish Chopra) [1853224] - [netdrv] bnx2x: Add Idlechk related register definitions (Manish Chopra) [1853224] - [netdrv] bnx2x: use generic power management (Manish Chopra) [1853224] - [netdrv] bnx2x: allow bnx2x_bsc_read() to schedule (Manish Chopra) [1853224] - [netdrv] bnx2x: Remove unused inline function bnx2x_vf_vlan_credit (Manish Chopra) [1853224] - [netdrv] bnx2x: Remove Comparison to bool in bnx2x_dcb.c (Manish Chopra) [1853224] - [netdrv] bnx2x: correct a comment mistake in grammar (Manish Chopra) [1853224] - [netdrv] net: bnx2x: reject unsupported coalescing params (Manish Chopra) [1853224] - [net] tls: Implement getsockopt SOL_TLS TLS_RX (Sabrina Dubroca) [1889664] - [net] tls: Protect from calling tls_dev_del for TLS RX twice (Sabrina Dubroca) [1889664] - [net] tls: missing received data after fast remote close (Sabrina Dubroca) [1889664] - [net] tls: Fix wrong record sn in async mode of device resync (Sabrina Dubroca) [1889664] - [net] tls: fix corrupted data in recvmsg (Sabrina Dubroca) [1889664] - [net] tls: sendfile fails with ktls offload (Sabrina Dubroca) [1889664] - [net] tls: race causes kernel panic (Sabrina Dubroca) [1889664] - [net] tls: Fix kmap usage (Sabrina Dubroca) [1889664] - [net] tls: allow MSG_CMSG_COMPAT in sendmsg (Sabrina Dubroca) [1889664] - [net] tls: fix sign extension issue when left shifting u16 value (Sabrina Dubroca) [1889664] - [net] tls: Add asynchronous resync (Sabrina Dubroca) [1889664] - [net] revert "net/tls: Add force_resync for driver resync" (Sabrina Dubroca) [1889664] - [net] net/tls: Add force_resync for driver resync (Sabrina Dubroca) [1889664] - [net] tls: Avoid assigning 'const' pointer to non-const pointer (Sabrina Dubroca) [1889664] - [net] tls: move mark_tech_preview to tls_init (Sabrina Dubroca) [1907477] - [mm] mm/hmm: do not call hmm_vma_walk_hole() while holding a spinlock (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: add 'depth' parameter to pte_hole (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: don't lock PTEs for walk_page_range_novma() (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: allow walking without vma (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: add p4d_entry() and pgd_entry() (Chris von Recklinghausen) [1890943] - [x86] x86: mm: add p?d_leaf() definitions (Chris von Recklinghausen) [1890943] - [s390] s390: mm: add p?d_leaf() definitions (Chris von Recklinghausen) [1890943] - [powerpc] powerpc: mm: add p?d_leaf() definitions (Chris von Recklinghausen) [1890943] - [arm64] arm64: mm: add p?d_leaf() definitions (Chris von Recklinghausen) [1890943] - [mm] mm: add generic p?d_leaf() macros (Chris von Recklinghausen) [1890943] - [mm] mm: move_pages: report the number of non-attempted pages (Chris von Recklinghausen) [1890943] - [mm] autonuma: fix watermark checking in migrate_balanced_pgdat() (Chris von Recklinghausen) [1890943] - [mm] mm/migrate.c: handle freed page at the first place (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: Take the pagetable lock in walk_pte_range() (Chris von Recklinghausen) [1890943] - [mm] mm: untag user pointers passed to memory syscalls (Chris von Recklinghausen) [1890943] - [mm] mm: page cache: store only head pages in i_pages (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: fix reference check race between __find_get_block() and migration (Chris von Recklinghausen) [1890943] - [fs] mm: migrate: remove unused mode argument (Chris von Recklinghausen) [1890943] - [mm] powerpc/book3s: Use config independent helpers for page table walk (Chris von Recklinghausen) [1890943] - [mm] mm/mmu_notifier: use correct mmu_notifier events for each invalidation (Chris von Recklinghausen) [1890943] - [mm] mm/mmu_notifier: contextual information for event triggering invalidation (Chris von Recklinghausen) [1890943] - [mm] powerpc/mm: move __find_linux_pte() out of hugetlbpage.c (Chris von Recklinghausen) [1890943] - [mm] mm/filemap.c: remove redundant test from find_get_pages_contig (Chris von Recklinghausen) [1890943] - [mm] mm/hugetlb: distinguish between migratability and movability (Chris von Recklinghausen) [1890943] - [mm] numa: change get_mempolicy() to use nr_node_ids instead of MAX_NUMNODES (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: make buffer_migrate_page_norefs() actually succeed (Chris von Recklinghausen) [1890943] - [mm] mm: treewide: remove unused address argument from pte_alloc functions (Chris von Recklinghausen) [1890943] - [fs] mm: migrate: drop unused argument of migrate_page_move_mapping() (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: provide buffer_migrate_page_norefs() (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: move migrate_page_lock_buffers() (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: lock buffers before migrate_page_move_mapping() (Chris von Recklinghausen) [1890943] - [mm] mm: Convert huge_memory to XArray (Chris von Recklinghausen) [1890943] - [mm] mm: Convert page migration to XArray (Chris von Recklinghausen) [1890943] - [mm] powerpc/mm/book3s: Check for pmd_large instead of pmd_trans_huge (Chris von Recklinghausen) [1890943] - [x86] x86/pgtable: Move two more functions from pgtable_64.h to pgtable.h (Chris von Recklinghausen) [1890943] - [x86] x86/pgtable: Move pti_set_user_pgtbl() to pgtable.h (Chris von Recklinghausen) [1890943] - [x86] x86/pgtable: Move pgdp kernel/user conversion functions to pgtable.h (Chris von Recklinghausen) [1890943] - [mm] x86/pgtable: Rename pti_set_user_pgd() to pti_set_user_pgtbl() (Chris von Recklinghausen) [1890943] - [mm] mm: memcg/slab: fix root memcg vmstats (Waiman Long) [1877019] - [mm] mm/slub: let number of online CPUs determine the slub page order (Waiman Long) [1877019] - [mm] mm, debug_pagealloc: don't rely on static keys too early (Waiman Long) [1877019] - [mm] mm: memcg: link page counters to root if use_hierarchy is false (Waiman Long) [1877019] - [mm] mm/memcg: unify swap and memsw page counters (Waiman Long) [1877019] - [mm] mm: memcontrol: correct the NR_ANON_THPS counter of hierarchical memcg (Waiman Long) [1877019] - [mm] mlock: fix unevictable_pgs event counts on THP (Waiman Long) [1877019] - [mm] mm/filemap: fix storing to a THP shadow entry (Waiman Long) [1877019] - [lib] XArray: add xas_split (Waiman Long) [1877019] - [lib] XArray: add xa_get_order (Waiman Long) [1877019] - [lib] XArray: Add private interface for workingset node deletion (Waiman Long) [1877019] - [include] XArray: Fix xas_reload for multi-index entries (Waiman Long) [1877019] - [include] xarray.h: correct return code documentation for xa_store_{bh, irq}() (Waiman Long) [1877019] - [mm] mm: memcg/slab: uncharge during kmem_cache_free_bulk() (Waiman Long) [1877019] - [mm] mm: memcg/slab: fix racy access to page->mem_cgroup in mem_cgroup_from_obj() (Waiman Long) [1877019] - [mm] mm: memcontrol: fix missing suffix of workingset_restore (Waiman Long) [1877019] - [mm] mm: memcontrol: fix warning when allocating the root cgroup (Waiman Long) [1877019] - [mm] mm: replace hpage_nr_pages with thp_nr_pages (Waiman Long) [1877019] - [mm] mm: add thp_size (Waiman Long) [1877019] - [include] mm: add thp_order (Waiman Long) [1877019] - [include] include/linux/huge_mm.h: check PageTail in hpage_nr_pages even when !THP (Waiman Long) [1877019] - [mm] mm/page_vma_mapped.c: explicitly compare pfn for normal, hugetlbfs and THP page (Waiman Long) [1877019] - [mm] mm/vmscan: restore active/inactive ratio for anonymous LRU (Waiman Long) [1877019] - [mm] mm/swap: implement workingset detection for anonymous LRU (Waiman Long) [1877019] - [mm] mm/swapcache: support to handle the shadow entries (Waiman Long) [1877019] - [mm] mm: fix swap cache node allocation mask (Waiman Long) [1877019] - [include] include/linux/swap.h: delete meaningless __add_to_swap_cache() declaration (Waiman Long) [1877019] - [mm] mm/swap_state.c: use the same way to count page in_swap_cache (Waiman Long) [1877019] - [mm] mm: shmem: use proper gfp flags for shmem_writepage() (Waiman Long) [1877019] - [mm] mm/workingset: prepare the workingset detection infrastructure for anon LRU (Waiman Long) [1877019] - [mm] mm/vmscan: protect the workingset on anonymous LRU (Waiman Long) [1877019] - [mm] mm/vmscan: make active/inactive ratio as 1:1 for anon lru (Waiman Long) [1877019] - [tools] kselftests: cgroup: add perpcu memory accounting test (Waiman Long) [1877019] - [mm] mm: memcg: charge memcg percpu memory to the parent cgroup (Waiman Long) [1877019] - [mm] mm: memcg/percpu: per-memcg percpu memory statistics (Waiman Long) [1877019] - [mm] mm: memcg/percpu: account percpu memory to memory cgroups (Waiman Long) [1877019] - [mm] percpu: return number of released bytes from pcpu_free_area() (Waiman Long) [1877019] - [mm] percpu: make pcpu_alloc() aware of current gfp context (Waiman Long) [1877019] - [mm] mm/khugepaged: fix filemap page_to_pgoff(page) != offset (Waiman Long) [1877019] - [mm] mm, slub: restore initial kmem_cache flags (Waiman Long) [1877019] - [include] mm: memcg/slab: fix slab statistics in !SMP configuration (Waiman Long) [1877019] - [mm] mm: slab: fix potential double free in ___cache_free (Waiman Long) [1877019] - [mm] ksm: reinstate memcg charge on copied pages (Waiman Long) [1877019] - [mm] mm: slub: fix conversion of freelist_corrupted() (Waiman Long) [1877019] - [mm] memcg: fix use-after-free in uncharge_batch (Waiman Long) [1877019] - [mm] mm/memory: fix IO cost for anonymous page (Waiman Long) [1877019] - [mm] mm: workingset: age nonresident information alongside anonymous pages (Waiman Long) [1877019] - [mm] slub: cure list_slab_objects() from double fix (Waiman Long) [1877019] - [mm] mm: do_swap_page(): fix up the error code (Waiman Long) [1877019] - [misc] lkdtm/heap: Avoid edge and middle of slabs (Waiman Long) [1877019] - [mm] mm: slub: really fix slab walking for init_on_free (Waiman Long) [1877019] - [mm] mm/slab.c: fix kernel-doc warning for __ksize() (Waiman Long) [1877019] - [mm] mm: memcontrol: restore proper dirty throttling when memory.high changes (Waiman Long) [1877019] - [mm] memcg, oom: check memcg margin for parallel oom (Waiman Long) [1877019] - [mm] mm, memcg: avoid stale protection values when cgroup is above protection (Waiman Long) [1877019] - [mm] mm, memcg: unify reclaim retry limits with page allocator (Waiman Long) [1877019] - [mm] mm, memcg: reclaim more aggressively before high allocator throttling (Waiman Long) [1877019] - [mm] mm: memcontrol: avoid workload stalls when lowering memory.high (Waiman Long) [1877019] - [include] mm: kmem: switch to static_branch_likely() in memcg_kmem_enabled() (Waiman Long) [1877019] - [mm] mm: slab: rename (un)charge_slab_page() to (un)account_slab_page() (Waiman Long) [1877019] - [mm] mm: memcg/slab: remove unused argument by charge_slab_page() (Waiman Long) [1877019] - [tools] tools/cgroup: add memcg_slabinfo.py tool (Waiman Long) [1877019] - [tools] kselftests: cgroup: add kernel memory accounting tests (Waiman Long) [1877019] - [mm] mm: memcg/slab: use a single set of kmem_caches for all allocations (Waiman Long) [1877019] - [mm] mm: memcg/slab: remove redundant check in memcg_accumulate_slabinfo() (Waiman Long) [1877019] - [mm] mm: memcg/slab: deprecate slab_root_caches (Waiman Long) [1877019] - [mm] mm: memcg/slab: remove memcg_kmem_get_cache() (Waiman Long) [1877019] - [mm] mm: memcg/slab: simplify memcg cache creation (Waiman Long) [1877019] - [mm] mm: memcg/slab: use a single set of kmem_caches for all accounted allocations (Waiman Long) [1877019] - [mm] mm, slab_common: fix a typo in comment "eariler"->"earlier" (Waiman Long) [1877019] - [mm] mm: memcg/slab: fix memory leak at non-root kmem_cache destroy (Waiman Long) [1877019] - [mm] mm: memcg/slab: fix panic in __free_slab() caused by premature memcg pointer release (Waiman Long) [1877019] - [mm] mm: memcg/slab: move memcg_kmem_bypass() to memcontrol.h (Waiman Long) [1877019] - [mm] mm: memcg/slab: deprecate memory.kmem.slabinfo (Waiman Long) [1877019] - [mm] mm, memcg: fix build error around the usage of kmem_caches (Waiman Long) [1877019] - [mm] mm: memcg/slab: charge individual slab objects instead of pages (Waiman Long) [1877019] - [mm] mm: memcg/slab: save obj_cgroup for non-root slab objects (Waiman Long) [1877019] - [mm] mm: memcg/slab: allocate obj_cgroups for non-root slab pages (Waiman Long) [1877019] - [mm] mm: memcg/slab: obj_cgroup API (Waiman Long) [1877019] - [mm] mm: memcontrol: decouple reference counting from page accounting (Waiman Long) [1877019] - [mm] mm: slub: implement SLUB version of obj_to_index() (Waiman Long) [1877019] - [mm] mm: memcg: convert vmstat slab counters to bytes (Waiman Long) [1877019] - [mm] mm: memcg: prepare for byte-sized vmstat items (Waiman Long) [1877019] - [mm] mm: memcg: factor out memcg- and lruvec-level changes out of __mod_lruvec_state() (Waiman Long) [1877019] - [mm] mm: kmem: make memcg_kmem_enabled() irreversible (Waiman Long) [1877019] - [mm] mm, slab/slub: improve error reporting and overhead of cache_from_obj() (Waiman Long) [1877019] - [mm] mm, slab/slub: move and improve cache_from_obj() (Waiman Long) [1877019] - [mm] mm, slub: extend checks guarded by slub_debug static key (Waiman Long) [1877019] - [mm] mm, slub: introduce kmem_cache_debug_flags() (Waiman Long) [1877019] - [mm] mm, slub: introduce static key for slub_debug() (Waiman Long) [1877019] - [mm] mm, slub: make reclaim_account attribute read-only (Waiman Long) [1877019] - [mm] mm, slub: make remaining slub_debug related attributes read-only (Waiman Long) [1877019] - [mm] mm, slub: remove runtime allocation order changes (Waiman Long) [1877019] - [mm] mm, slub: make some slub_debug related attributes read-only (Waiman Long) [1877019] - [documentation] mm, slub: extend slub_debug syntax for multiple blocks (Waiman Long) [1877019] - [mm] mm/slab.c: update outdated kmem_list3 in a comment (Waiman Long) [1877019] - [mm] mm, slab: check GFP_SLAB_BUG_MASK before alloc_pages in kmalloc_order (Waiman Long) [1877019] - [mm] mm/slab: add naive detection of double free (Waiman Long) [1877019] - [init] mm/slab: expand CONFIG_SLAB_FREELIST_HARDENED to include SLAB (Waiman Long) [1877019] - [mm] mm: ksize() should silently accept a NULL pointer (Waiman Long) [1877019] - [include] include/linux/vmstat.h: remove unused page state adjustment macro (Waiman Long) [1877019] - [include] mm, memcg: fix inconsistent oom event behavior (Waiman Long) [1877019] - [mm] mm/memcg: fix refcount error while moving and swapping (Waiman Long) [1877019] - [mm] mm/memcontrol: fix OOPS inside mem_cgroup_get_nr_swap_pages() (Waiman Long) [1877019] - [mm] mm/memcontrol.c: add missed css_put() (Waiman Long) [1877019] - [mm] mm: memcontrol: handle div0 crash race condition in memory.low (Waiman Long) [1877019] - [kernel] mm: memcontrol: recursive memory.low protection (Waiman Long) [1877019] - [include] mm, memcg: consider subtrees in memory.events (Waiman Long) [1877019] - [net] mm, treewide: rename kzfree() to kfree_sensitive() (Waiman Long) [1877019] - [mm] mm/slab: use memzero_explicit() in kzfree() (Waiman Long) [1877019] - [mm] mm: swap: memcg: fix memcg stats for huge pages (Waiman Long) [1877019] - [mm] mm: swap: fix vmstats for huge pages (Waiman Long) [1877019] - [mm] mm: vmscan: limit the range of LRU type balancing (Waiman Long) [1877019] - [mm] mm: vmscan: reclaim writepage is IO cost (Waiman Long) [1877019] - [mm] mm: vmscan: determine anon/file pressure balance at the reclaim root (Waiman Long) [1877019] - [mm] mm: balance LRU lists based on relative thrashing (Waiman Long) [1877019] - [mm] mm: only count actual rotations as LRU reclaim cost (Waiman Long) [1877019] - [mm] mm: deactivations shouldn't bias the LRU balance (Waiman Long) [1877019] - [mm] mm: base LRU balancing on an explicit cost model (Waiman Long) [1877019] - [mm] mm: vmscan: drop unnecessary div0 avoidance rounding in get_scan_count() (Waiman Long) [1877019] - [mm] mm: remove use-once cache bias from LRU balancing (Waiman Long) [1877019] - [mm] mm: workingset: let cache workingset challenge anon (Waiman Long) [1877019] - [mm] mm: fold and remove lru_cache_add_anon() and lru_cache_add_file() (Waiman Long) [1877019] - [kernel] mm: allow swappiness that prefers reclaiming anon over the file workingset (Waiman Long) [1877019] - [mm] mm: keep separate anon and file statistics on page reclaim activity (Waiman Long) [1877019] - [mm] mm: fix LRU balancing effect of new transparent huge pages (Waiman Long) [1877019] - [mm] mm: replace list_move_tail() with add_page_to_lru_list_tail() (Waiman Long) [1877019] - [mm] mm: memcontrol: update page->mem_cgroup stability rules (Waiman Long) [1877019] - [mm] mm: memcontrol: delete unused lrucare handling (Waiman Long) [1877019] - [documentation] mm: memcontrol: document the new swap control behavior (Waiman Long) [1877019] - [mm] mm: memcontrol: charge swapin pages on instantiation (Waiman Long) [1877019] - [mm] mm: memcontrol: make swap tracking an integral part of memory control (Waiman Long) [1877019] - [mm] mm: memcontrol: prepare swap controller setup for integration (Waiman Long) [1877019] - [mm] mm: memcontrol: drop unused try/commit/cancel charge API (Waiman Long) [1877019] - [mm] mm: memcontrol: convert anon and file-thp to new mem_cgroup_charge() API (Waiman Long) [1877019] - [mm] mm: memcontrol: switch to native NR_ANON_THPS counter (Waiman Long) [1877019] - [mm] mm: memcontrol: switch to native NR_ANON_MAPPED counter (Waiman Long) [1877019] - [mm] mm: memcontrol: switch to native NR_FILE_PAGES and NR_SHMEM counters (Waiman Long) [1877019] - [mm] mm: memcontrol: prepare cgroup vmstat infrastructure for native anon counters (Waiman Long) [1877019] - [mm] mm: memcontrol: prepare move_account for removal of private page type counters (Waiman Long) [1877019] - [mm] mm: memcontrol: prepare uncharging for removal of private page type counters (Waiman Long) [1877019] - [mm] mm: memcontrol: convert page cache to a new mem_cgroup_charge() API (Waiman Long) [1877019] - [mm] mm: memcontrol: move out cgroup swaprate throttling (Waiman Long) [1877019] - [mm] mm: shmem: remove rare optimization when swapin races with hole punching (Waiman Long) [1877019] - [mm] mm: memcontrol: drop @compound parameter from memcg charging API (Waiman Long) [1877019] - [mm] mm: memcontrol: fix stat-corrupting race in charge moving (Waiman Long) [1877019] - [mm] mm: fix NUMA node file count error in replace_page_cache() (Waiman Long) [1877019] - [mm] mm/slub: fix stack overruns with SLUB_STATS (Waiman Long) [1877019] - [mm] slub: remove kmalloc under list_lock from list_slab_objects() V2 (Waiman Long) [1877019] - [mm] slub: Remove userspace notifier for cache add/remove (Waiman Long) [1877019] - [mm] mm/slub.c: fix corrupted freechain in deactivate_slab() (Waiman Long) [1877019] - [mm] mm/slub: fix incorrect interpretation of s->offset (Waiman Long) [1877019] - [mm] slub: avoid redzone when choosing freepointer location (Waiman Long) [1877019] - [mm] slub: relocate freelist pointer to middle of object (Waiman Long) [1877019] - [mm] slub: improve bit diffusion for freelist ptr obfuscation (Waiman Long) [1877019] - [mm] mm, slb: improve memory accounting (Waiman Long) [1877019] - [mm] thp: change CoW semantics for anon-THP (Waiman Long) [1877019] - [mm] khugepaged: allow to collapse PTE-mapped compound pages (Waiman Long) [1877019] - [mm] khugepaged: allow to collapse a page shared across fork (Waiman Long) [1877019] - [mm] khugepaged: drain LRU add pagevec after swapin (Waiman Long) [1877019] - [mm] khugepaged: drain all LRU caches before scanning pages (Waiman Long) [1877019] - [mm] khugepaged: do not stop collapse if less than half PTEs are referenced (Waiman Long) [1877019] - [tools] khugepaged: add self test (Waiman Long) [1877019] - [mm] mm: code cleanup for MADV_FREE (Waiman Long) [1877019] - [mm] mm, thp: track fallbacks due to failed memcg charges separately (Waiman Long) [1877019] - [mm] mm, shmem: add vmstat for hugepage fallback (Waiman Long) [1877019] - [mm] autonuma: reduce cache footprint when scanning page tables (Waiman Long) [1877019] - [trace] mm/vmscan: simplify trace_reclaim_flags and trace_shrink_flags (Waiman Long) [1877019] - [mm] mm/memcg: optimize memory.numa_stat like memory.stat (Waiman Long) [1877019] - [mm] memcg: fix memcg_kmem_bypass() for remote memcg charging (Waiman Long) [1877019] - [mm] mm/memcg: automatically penalize tasks with high swap use (Waiman Long) [1877019] - [include] mm/memcg: move cgroup high memory limit setting into struct page_counter (Waiman Long) [1877019] - [mm] mm/memcg: move penalty delay clamping out of calculate_high_delay() (Waiman Long) [1877019] - [mm] mm/memcg: prepare for swap over-high accounting and penalty calculation (Waiman Long) [1877019] - [mm] memcg: expose root cgroup's memory.stat (Waiman Long) [1877019] - [mm] mm, memcg: add workingset_restore in memory.stat (Waiman Long) [1877019] - [documentation] doc: cgroup: improve formatting of mem stats (Waiman Long) [1877019] - [documentation] docs: cgroup: mm: Fix spelling of "list" (Waiman Long) [1877019] - [mm] mm, memcg: fix error return value of mem_cgroup_css_alloc() (Waiman Long) [1877019] - [include] memcontrol.h: Replace zero-length array with flexible-array member (Waiman Long) [1877019] - [mm] mm, memcg: bypass high reclaim iteration for cgroup hierarchy root (Waiman Long) [1877019] - [mm] mm: memcg: make memory.oom.group tolerable to task migration (Waiman Long) [1877019] - [mm] mm, memcg: prevent memory.swap.max load tearing (Waiman Long) [1877019] - [mm] mm, memcg: prevent memory.low load/store tearing (Waiman Long) [1877019] - [mm] mm, memcg: prevent memory.max load tearing (Waiman Long) [1877019] - [mm] mm, memcg: prevent memory.high load/store tearing (Waiman Long) [1877019] - [mm] mm/memcontrol.c: make mem_cgroup_id_get_many() __maybe_unused (Waiman Long) [1877019] - [mm] memcg: css_tryget_online cleanups (Waiman Long) [1877019] - [mm] mm/memcontrol.c: cleanup some useless code (Waiman Long) [1877019] - [mm] mm/memcontrol.c: fix a -Wunused-function warning (Waiman Long) [1877019] - [mm] mm: memcontrol: switch to rcu protection in drain_all_stock() (Waiman Long) [1877019] - [mm] mm/khugepaged.c: fix khugepaged's request size in collapse_file (Waiman Long) [1877019] - [mm] khugepaged: fix null-pointer dereference due to race (Waiman Long) [1877019] - [mm] mm, thp: stop leaking unreleased file pages (Waiman Long) [1877019] - [trace] mm: khugepaged: add trace status description for SCAN_PAGE_HAS_PRIVATE (Waiman Long) [1877019] - [mm] mm, thp: recheck each page before collapsing file THP (Waiman Long) [1877019] - [mm] mm/thp: allow dropping THP from page cache (Waiman Long) [1877019] - [mm] mm/vmscan.c: support removing arbitrary sized pages from mapping (Waiman Long) [1877019] - [mm] mm/thp: fix node page state in split_huge_page_to_list() (Waiman Long) [1877019] - [fs] proc/meminfo: fix output alignment (Waiman Long) [1877019] - [mm] mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy path (Waiman Long) [1877019] - [fs] mm, thp: avoid writes to file with THP in pagecache (Waiman Long) [1877019] - [mm] mm, thp: add read-only THP support for (non-shmem) FS (Waiman Long) [1877019] - [mm] khugepaged: rename collapse_shmem() and khugepaged_scan_shmem() (Waiman Long) [1877019] - [fs] mm,thp: stats for file backed THP (Waiman Long) [1877019] - [mm] filemap: update offset check in filemap_fault() (Waiman Long) [1877019] - [mm] filemap: check compound_head(page)->mapping in pagecache_get_page() (Waiman Long) [1877019] - [mm] filemap: check compound_head(page)->mapping in filemap_fault() (Waiman Long) [1877019] - [mm] mm: mempolicy: fix the wrong return value and potential pages leak of mbind (Waiman Long) [1877019] - [mm] mm: thp: fix false negative of shmem vma's THP eligibility (Waiman Long) [1877019] - [mm] mm: thp: make transhuge_vma_suitable available for anonymous THP (Waiman Long) [1877019] - [mm] mm, thp, proc: report THP eligibility for each vma (Waiman Long) [1877019] - [documentation] mm, proc: be more verbose about unstable VMA flags in /proc//smaps (Waiman Long) [1877019] - [mm] mm: thp: pass correct vm_flags to hugepage_vma_check() (Waiman Long) [1877019] - [fs] mm: /proc/pid/smaps_rollup: convert to single value seq_file (Waiman Long) [1877019] - [fs] mm: /proc/pid/smaps: factor out common stats printing (Waiman Long) [1877019] - [fs] mm: /proc/pid/smaps: factor out mem stats gathering (Waiman Long) [1877019] - [fs] mm: /proc/pid/*maps remove is_pid and related wrappers (Waiman Long) [1877019] - [mm] mm: workingset: fix vmstat counters for shadow nodes (Waiman Long) [1877019] - [mm] mm: workingset: add vmstat counter for shadow nodes (Waiman Long) [1877019] - [include] mm/memcg: Document access rule regarding mem_cgroup structure (Waiman Long) [1877019] - [mm] mm/page_alloc: silence a KASAN false positive (Waiman Long) [1877019] - [s390] s390/setup: init jump labels before command line parsing (Waiman Long) [1877019] - [mm] s390/maccess: add no DAT mode to kernel_write (Waiman Long) [1877019] - [mm] s390: Change s390_kernel_write() return type to match memcpy() (Waiman Long) [1877019] - [kernel] PM: hibernate: fix crashes with init_on_free=1 (Waiman Long) [1877019] - [mm] mm/slub.c: init_on_free=1 should wipe freelist ptr for bulk allocations (Waiman Long) [1877019] - [mm] mm/page_alloc.c: fix a crash in free_pages_prepare() (Waiman Long) [1877019] - [mm] mm: slub: Fix slab walking for init_on_free (Waiman Long) [1877019] - [mm] mm, slab: move memcg_cache_params structure to mm/slab.h (Waiman Long) [1877019] - [mm] mm, slab: extend slab/shrink to shrink all memcg caches (Waiman Long) [1877019] - [mm] mm: mempolicy: handle vma with unmovable pages mapped correctly in mbind (Waiman Long) [1877019] - [mm] mm: mempolicy: make the behavior consistent when MPOL_MF_MOVE* and MPOL_MF_STRICT were specified (Waiman Long) [1877019] - [init] init/Kconfig: fix neighboring typos (Waiman Long) [1877019] - [mm] mm: security: introduce init_on_alloc=1 and init_on_free=1 boot options (Waiman Long) [1877019] - [mm] memcg, oom: no oom-kill for __GFP_RETRY_MAYFAIL (Waiman Long) [1877019] - [mm] mm/kasan: add object validation in ksize() (Waiman Long) [1877019] - [mm] mm/slab: refactor common ksize KASAN logic into slab_common.c (Waiman Long) [1877019] - [mm] mm/slub.c: avoid double string traverse in kmem_cache_flags() (Waiman Long) [1877019] - [mm] mm/slab: sanity-check page type when looking up cache (Waiman Long) [1877019] - [mm] mm/slab: validate cache membership under freelist hardening (Waiman Long) [1877019] - [mm] mm/migrate: add stable check in migrate_vma_insert_page() (Waiman Long) [1877019] - [mm] mm/migrate: clean up some minor coding style (Waiman Long) [1877019] - [mm] mm/migrate: remove useless mask of start address (Waiman Long) [1877019] - [kernel] uprobe: use original page when all uprobes are removed (Waiman Long) [1877019] - [mm] mm: move memcmp_pages() and pages_identical() (Waiman Long) [1877019] - [mm] mm, thp: do not queue fully unmapped pages for deferred split (Waiman Long) [1877019] - [mm] mm/khugepaged: fix the xas_create_range() error path (Waiman Long) [1877019] - [mm] mm/khugepaged: collapse_shmem() do not crash on Compound (Waiman Long) [1877019] - [mm] mm/khugepaged: collapse_shmem() without freezing new_page (Waiman Long) [1877019] - [mm] mm/khugepaged: minor reorderings in collapse_shmem() (Waiman Long) [1877019] - [mm] mm/khugepaged: collapse_shmem() remember to clear holes (Waiman Long) [1877019] - [mm] mm/khugepaged: collapse_shmem() stop if punched or truncated (Waiman Long) [1877019] - [mm] mm: Convert khugepaged_scan_shmem to XArray (Waiman Long) [1877019] - [mm] mm: Convert collapse_shmem to XArray (Waiman Long) [1877019] - [mm] mm: thp: inc counter for collapsed shmem THP (Waiman Long) [1877019] - [mm] mm: thp: register mm for khugepaged when merging vma for shmem (Waiman Long) [1877019] - [mm] mm: swapoff: shmem_unuse() stop eviction without igrab() (Waiman Long) [1877019] - [mm] mm: swapoff: take notice of completion sooner (Waiman Long) [1877019] - [mm] mm: swapoff: remove too limiting SWAP_UNUSE_MAX_TRIES (Waiman Long) [1877019] - [mm] mm: swapoff: shmem_find_swap_entries() filter out other types (Waiman Long) [1877019] - [mm] mm: rid swapoff of quadratic complexity (Waiman Long) [1877019] - [mm] shmem: Comment fixups (Waiman Long) [1877019] - [mm] memfd: Convert memfd_tag_pins to XArray (Waiman Long) [1877019] - [mm] memfd: Convert memfd_wait_for_pins to XArray (Waiman Long) [1877019] - [mm] shmem: Convert shmem_partial_swap_usage to XArray (Waiman Long) [1877019] - [mm] shmem: Convert shmem_free_swap to XArray (Waiman Long) [1877019] - [lib] shmem: Convert shmem_alloc_hugepage to XArray (Waiman Long) [1877019] - [tools] shmem: Convert find_swap_entry to XArray (Waiman Long) [1877019] - [mm] shmem: Convert shmem_confirm_swap to XArray (Waiman Long) [1877019]- [infiniband] RDMA/core: Do not indicate device ready when device enablement fails (Kamal Heib) [1902144] - [infiniband] RDMA/core: Clean up cq pool mechanism (Kamal Heib) [1902144] - [pci] PCI/ASPM: Disable ASPM on ASMedia ASM1083/1085 PCIe-to-PCI bridge (Myron Stowe) [1897927] - [pci] PCI: Make pcie_find_root_port() work for Root Ports (Myron Stowe) [1897927] - [pci] PCI: Add ACS quirk for Intel Root Complex Integrated Endpoints (Myron Stowe) [1897927] - [pci] PCI: Avoid FLR for AMD Starship USB 3.0 (Myron Stowe) [1897927] - [pci] PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0 (Myron Stowe) [1897927] - [pci] PCI/switchtec: Correct bool variable type assignment (Myron Stowe) [1897927] - [pci] PCI: Allow pci_resize_resource() for devices on root bus (Myron Stowe) [1897927] - [pci] PCI/PM: Adjust pcie_wait_for_link_delay() for caller delay (Myron Stowe) [1897927] - [pci] PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect (Myron Stowe) [1897927] - [tty] serial: 8250_pci: Move Pericom IDs to pci_ids.h (Myron Stowe) [1897927] - [pci] PCI/PM: Call .bridge_d3() hook only if non-NULL (Myron Stowe) [1897927] - [pci] PCI: Rename _DSM constants to align with spec (Myron Stowe) [1897927] - [pci] PCI/PME: Fix kernel-doc of pcie_pme_resume() and pcie_pme_remove() (Myron Stowe) [1897927] - [pci] PCI: Unify pcie_find_root_port() and pci_find_pcie_root_port() (Myron Stowe) [1897927] - [pci] PCI: Replace zero-length array with flexible-array (Myron Stowe) [1897927] - [pci] PCI: shpchp: Make shpchp_unconfigure_device() void (Myron Stowe) [1897927] - [pci] PCI: Use of_node_name_eq() for node name comparisons (Myron Stowe) [1897927] - [pci] PCI: pciehp: Remove unused EMI() and HP_SUPR_RM() macros (Myron Stowe) [1897927] - [pcmcia] pcmcia: Use CardBus window names (PCI_CB_BRIDGE_IO_0_WINDOW etc) when freeing (Myron Stowe) [1897927] - [pci] PCI: Use bridge window names (PCI_BRIDGE_IO_WINDOW etc) (Myron Stowe) [1897927] - [pci] PCI/PTM: Inherit Switch Downstream Port PTM settings from Upstream Port (Myron Stowe) [1897927] - [pci] PCI: Program MPS for RCiEP devices (Myron Stowe) [1897927] - [pci] PCI: Fix pci_host_bridge struct device release/free handling (Myron Stowe) [1897927] - [pci] PCI: Fix pci_register_host_bridge() device_register() error handling (Myron Stowe) [1897927] - [pci] PCI/ASPM: Allow ASPM on links to PCIe-to-PCI/PCI-X Bridges (Myron Stowe) [1897927] - [x86] x86/tboot: Don't disable swiotlb when iommu is forced on (Tony Camuso) [1883395] - [iommu] iommu/vt-d: Avoid panic if iommu init fails in tboot system (Tony Camuso) [1883395] - [pci] PCI/ERR: Clear PCIe Device Status errors only if OS owns AER (Myron Stowe) [1838358] - [pci] PCI/ERR: Rename pci_aer_clear_device_status() to pcie_clear_device_status() (Myron Stowe) [1838358] - [pci] PCI/AER: Log correctable errors as warning, not error (Myron Stowe) [1838358] - [pci] PCI/AER: Simplify __aer_print_error() (Myron Stowe) [1838358] - [misc] mei: hdcp: fix mei_hdcp_verify_mprime() input parameter (Tony Camuso) [1874577] - [misc] mei: add device kind to sysfs (Tony Camuso) [1874577] - [misc] mei: hw: don't use one element arrays (Tony Camuso) [1874577] - [misc] mei: hw: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] mei: client: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] mei: bus: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] mei: ioctl: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] mei: hbm: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] Revert "mei: Avoid the use of one-element arrays" (Tony Camuso) [1874577] - [misc] mei: Avoid the use of one-element arrays (Tony Camuso) [1874577] - [misc] mei: Replace HTTP links with HTTPS ones (Tony Camuso) [1874577] - [misc] mei: hdcp: Replace one-element array with flexible-array member (Tony Camuso) [1874577] - [misc] mei: bus: don't clean driver pointer (Tony Camuso) [1874577] - [misc] mei: me: add MEI device for KBP with ITPS capability (Tony Camuso) [1874577] - [misc] mei: me: add MEI device for SPT with ITPS capability (Tony Camuso) [1874577] - [misc] mei: me: add kdoc for mei_me_fw_type_nm() (Tony Camuso) [1874577] - [misc] mei: me: make mei_me_fw_sku_sps_4() less cryptic (Tony Camuso) [1874577] - [misc] mei: me: constify the device parameter to the probe quirk (Tony Camuso) [1874577] - [misc] mei: hdcp: Constify struct mei_cl_device_id (Tony Camuso) [1874577] - [misc] mei: me: add tiger lake point device ids for H platforms (Tony Camuso) [1874577] - [misc] mei: me: disable mei interface on Mehlow server platforms (Tony Camuso) [1874577] - [misc] mei: release me_cl object reference (Tony Camuso) [1874577] - [misc] mei: me: disable mei interface on LBG servers (Tony Camuso) [1874577] - [fs] NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock (Dave Wysochanski) [1906306] - [fs] NFS: Adjust fs_context error logging (Scott Mayhew) [1907711] - [mm] powerpc/book3s64/pkeys: Fix pkey_access_permitted() for execute disable pkey (Steve Best) [1912294] - [infiniband] IB/isert: add module param to set sg_tablesize for IO cmd (Kamal Heib) [1887359] - [infiniband] IB/isert: allocate RW ctxs according to max IO size (Kamal Heib) [1887359] - [net] sched: flower: Mark MPLS multilabel match as Tech Preview (Guillaume Nault) [1814836] - [net] sched: Fix dump of MPLS_OPT_LSE_LABEL attribute in cls_flower (Guillaume Nault) [1814836] - [net] cls_flower: remove mpls_opts_policy (Guillaume Nault) [1814836] - [net] flow_dissector: work around stack frame size warning (Guillaume Nault) [1814836] - [net] cls_flower: Support filtering on multiple MPLS Label Stack Entries (Guillaume Nault) [1814836] - [net] flow_dissector: Parse multiple MPLS Label Stack Entries (Guillaume Nault) [1814836] - [netdrv] net/mlx5e: Use generic API to build MPLS label (Alaa Hleihel) [1790220] - [netdrv] net/mlx5e: Support pedit on mpls over UDP decap (Alaa Hleihel) [1790220] - [netdrv] net/mlx5e: Add support for hw decapsulation of MPLS over UDP (Alaa Hleihel) [1790220] - [netdrv] net/mlx5e: Allow to match on mpls parameters (Alaa Hleihel) [1790220] - [netdrv] net/mlx5e: Add support for hw encapsulation of MPLS over UDP (Alaa Hleihel) [1790220]- [netdrv] net: intel: Remove in_interrupt() warnings (Ken Cox) [1838731] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Ken Cox) [1838731] - [netdrv] ixgbe: use eth_zero_addr() to clear mac address (Ken Cox) [1838731] - [netdrv] ixgbe: Remove unnecessary usages of memset (Ken Cox) [1838731] - [netdrv] ixgbe: use generic power management (Ken Cox) [1838731] - [netdrv] ixgbe: convert to new udp_tunnel_nic infra (Ken Cox) [1838731] - [netdrv] ixgbe: don't clear UDP tunnel ports when RXCSUM is disabled (Ken Cox) [1838731] - [netdrv] ixgbe: Cleanup unneeded delay in ethtool test (Ken Cox) [1838731] - [netdrv] ethernet/intel: Convert fallthrough code comments (Ken Cox) [1838731] - [netdrv] net: ethernet: ixgbe: don't call devm_mdiobus_free() (Ken Cox) [1838731] - [netdrv] net: ethernet: ixgbe: check the return value of ixgbe_mii_bus_init() (Ken Cox) [1838731] - [netdrv] net/intel: remove driver versions from Intel drivers (Ken Cox) [1838731] - [netdrv] ixgbe: protect ring accesses with READ- and WRITE_ONCE (Ken Cox) [1838731] - [netdrv] ixgbe: Remove unused inline function ixgbe_irq_disable_queues (Ken Cox) [1838731] - [netdrv] ixgbe: Use true, false for bool variable in __ixgbe_enable_sriov() (Ken Cox) [1838731] - [netdrv] ixgbe: Remove conversion to bool in ixgbe_device_supports_autoneg_fc() (Ken Cox) [1838731] - [netdrv] ixgbe: fix signed-integer-overflow warning (Ken Cox) [1838731] - [netdrv] ixgbe: Fix XDP redirect on archs with PAGE_SIZE above 4K (Ken Cox) [1838731] - [netdrv] ionic: use mc sync for multicast filters (Jonathan Toppins) [1909329] - [fs] xfs: always return -ENOSPC on project quota reservation failure (Carlos Maiolino) [1908612] - [fs] xfs: group quota should return EDQUOT when prj quota enabled (Carlos Maiolino) [1908612] - [pwm] pwm: Add DesignWare PWM Controller Driver (Steve Best) [1783562] - [pwm] pwm: Ensure pwm_apply_state() doesn't modify the state argument (Steve Best) [1783562] - [net] sched: Mark VLAN_ACT_{POP,PUSH}_ETH as Tech Preview (Guillaume Nault) [1909345] - [vfio] vfio/pci: Decouple PCI_COMMAND_MEMORY bit checks from is_virtfn (Claudio Imbrenda) [1903972] - [s390] s390/pci: Mark all VFs as not implementing PCI_COMMAND_MEMORY (Claudio Imbrenda) [1903972] - [pci] PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY (Claudio Imbrenda) [1903972] - [iommu] s390/pci: adaptation of iommu to multifunction (Claudio Imbrenda) [1903972] - [s390] s390/pci: fix leak of DMA tables on hard unplug (Claudio Imbrenda) [1853312] - [s390] s390/pci: fix PF/VF linking on hot plug (Claudio Imbrenda) [1853312] - [s390] s390/pci: re-introduce zpci_remove_device() (Claudio Imbrenda) [1853312] - [s390] s390/pci: fix zpci_bus_link_virtfn() (Claudio Imbrenda) [1853312] - [s390] s390/pci: ignore stale configuration request event (Claudio Imbrenda) [1853312] - [s390] s390/pci: fix enabling a reserved PCI function (Claudio Imbrenda) [1853312] - [s390] s390/pci: create links between PFs and VFs (Claudio Imbrenda) [1853312] - [pci] PCI/IOV: Introduce pci_iov_sysfs_link() function (Claudio Imbrenda) [1853312] - [s390] s390/pci: removes wrong PCI multifunction assignment (Claudio Imbrenda) [1853312] - [s390] s390/pci: Handling multifunctions (Claudio Imbrenda) [1853312] - [s390] s390/pci: Adding bus resource (Claudio Imbrenda) [1853312] - [s390] s390/pci: adapt events for zbus (Claudio Imbrenda) [1853312] - [s390] s390/pci: create zPCI bus (Claudio Imbrenda) [1853312] - [s390] s390/pci: define RID and RID available (Claudio Imbrenda) [1853312] - [s390] s390/pci: define kernel parameters for PCI multifunction (Claudio Imbrenda) [1853312] - [pci] s390/pci: embedding hotplug_slot in zdev (Claudio Imbrenda) [1853312] - [s390] s390/pci: Expose new port attribute for PCIe functions (Claudio Imbrenda) [1853312] - [s390] s390/pci: Improve handling of unset UID (Claudio Imbrenda) [1853312] - [s390] s390/pci: Fix zpci_alloc_domain() over allocation (Claudio Imbrenda) [1853312] - [arm64] arm64: insn: Fix two bugs in encoding 32-bit logical immediates (Yauheni Kaliuta) [1900977] - [iommu] iommu/amd: Set DTEto represent 512 IRTEs (Jerry Snitselaar) [1897492 1894769] - [iommu] iommu/amd: Increase interrupt remapping table limit to 512 entries (Jerry Snitselaar) [1897492 1894769] - [tools] selftests: forwarding: Add MPLS L2VPN test (Guillaume Nault) [1861261] - [net] sched: act_mpls: Add action to push MPLS LSE before Ethernet header (Guillaume Nault) [1861261] - [net] sched: act_vlan: Add {POP,PUSH}_ETH actions (Guillaume Nault) [1861261] - [fs] cifs: Fix incomplete memory allocation on setxattr path (Leif Sahlberg) [1903883] - [fs] cifs: Fix leak when handling lease break for cached root fid (Leif Sahlberg) [1903883] - [fs] Revert "cifs: Fix the target file was deleted when rename failed." (Leif Sahlberg) [1903883] - [fs] cifs: update internal module version number (Leif Sahlberg) [1903883] - [fs] cifs: fix reference leak for tlink (Leif Sahlberg) [1903883] - [fs] smb3: fix unneeded error message on change notify (Leif Sahlberg) [1903883] - [fs] cifs: remove the retry in cifs_poxis_lock_set (Leif Sahlberg) [1903883] - [fs] smb3: fix access denied on change notify request to some servers (Leif Sahlberg) [1903883] - [fs] Replace HTTP links with HTTPS ones: CIFS (Leif Sahlberg) [1903883] - [fs] cifs: prevent truncation from long to int in wait_for_free_credits (Leif Sahlberg) [1903883] - [fs] cifs: Fix the target file was deleted when rename failed (Leif Sahlberg) [1903883] - [fs] SMB3: Honor 'posix' flag for multiuser mounts (Leif Sahlberg) [1903883] - [fs] SMB3: Honor 'handletimeout' flag for multiuser mounts (Leif Sahlberg) [1903883] - [fs] SMB3: Honor lease disabling for multiuser mounts (Leif Sahlberg) [1903883] - [fs] SMB3: Honor persistent/resilient handle flags for multiuser mounts (Leif Sahlberg) [1903883] - [fs] SMB3: Honor 'seal' flag for multiuser mounts (Leif Sahlberg) [1903883] - [fs] cifs: Display local UID details for SMB sessions in DebugData (Leif Sahlberg) [1903883] - [fs] cifs: misc: Use array_size() in if-statement controlling expression (Leif Sahlberg) [1903883] - [fs] cifs: update ctime and mtime during truncate (Leif Sahlberg) [1903883] - [fs] cifs/smb3: Fix data inconsistent when punch hole (Leif Sahlberg) [1903883] - [fs] cifs/smb3: Fix data inconsistent when zero file range (Leif Sahlberg) [1903883] - [fs] cifs: Fix double add page to memcg when cifs_readpages (Leif Sahlberg) [1903883] - [fs] cifs: Fix cached_fid refcnt leak in open_shroot (Leif Sahlberg) [1903883] - [fs] smb3: Add debug message for new file creation with idsfromsid mount option (Leif Sahlberg) [1903883] - [fs] cifs: fix chown and chgrp when idsfromsid mount option enabled (Leif Sahlberg) [1903883] - [fs] smb3: allow uid and gid owners to be set on create with idsfromsid mount option (Leif Sahlberg) [1903883] - [fs] smb311: Add tracepoints for new compound posix query info (Leif Sahlberg) [1903883] - [fs] smb311: add support for using info level for posix extensions query (Leif Sahlberg) [1903883] - [fs] smb311: Add support for lookup with posix extensions query info (Leif Sahlberg) [1903883] - [fs] smb311: Add support for SMB311 query info (non-compounded) (Leif Sahlberg) [1903883] - [fs] SMB311: Add support for query info using posix extensions (level 100) (Leif Sahlberg) [1903883] - [fs] smb3: add indatalen that can be a non-zero value to calculation of credit charge in smb2 ioctl (Leif Sahlberg) [1903883] - [fs] smb3: fix typo in mount options displayed in /proc/mounts (Leif Sahlberg) [1903883] - [fs] cifs: Add get_security_type_str function to return sec type (Leif Sahlberg) [1903883] - [fs] smb3: extend fscache mount volume coherency check (Leif Sahlberg) [1903883] - [fs] cifs: update internal module version number (Leif Sahlberg) [1903883] - [fs] smb3: fix incorrect number of credits when ioctl MaxOutputResponse > 64K (Leif Sahlberg) [1903883] - [fs] smb3: remove static checker warning (Leif Sahlberg) [1903883] - [fs] cifs: fix minor typos in comments and log messages (Leif Sahlberg) [1903883] - [fs] smb3: minor update to compression header definitions (Leif Sahlberg) [1903883] - [fs] cifs: minor fix to two debug messages (Leif Sahlberg) [1903883] - [fs] cifs: Standardize logging output (Leif Sahlberg) [1903883] - [fs] smb3: Add new parm "nodelete" (Leif Sahlberg) [1903883] - [fs] cifs: get rid of unused parameter in reconn_setup_dfs_targets() (Leif Sahlberg) [1903883] - [fs] cifs: handle hostnames that resolve to same ip in failover (Leif Sahlberg) [1903883] - [fs] cifs: set up next DFS target before generic_ip_connect() (Leif Sahlberg) [1903883] - [fs] cifs: remove redundant initialization of variable rc (Leif Sahlberg) [1903883] - [fs] cifs: handle "nolease" option for vers=1.0 (Leif Sahlberg) [1903883] - [fs] cifs: fix leaked reference on requeued write (Leif Sahlberg) [1903883] - [fs] cifs: Fix null pointer check in cifs_read (Leif Sahlberg) [1903883] - [fs] CIFS: Spelling s/EACCESS/EACCES/ (Leif Sahlberg) [1903883] - [fs] cifs: fix uninitialised lease_key in open_shroot() (Leif Sahlberg) [1903883] - [fs] cifs: ensure correct super block for DFS reconnect (Leif Sahlberg) [1903883] - [fs] cifs: do not share tcons with DFS (Leif Sahlberg) [1903883] - [fs] cifs: minor update to comments around the cifs_tcp_ses_lock mutex (Leif Sahlberg) [1903883] - [fs] cifs: protect updating server->dstaddr with a spinlock (Leif Sahlberg) [1903883] - [fs] smb3: remove overly noisy debug line in signing errors (Leif Sahlberg) [1903883] - [fs] cifs: improve read performance for page size 64KB & cache=strict & vers=2.1+ (Leif Sahlberg) [1903883] - [fs] cifs: dump the session id and keys also for SMB2 sessions (Leif Sahlberg) [1903883] - [fs] smb3: enable swap on SMB3 mounts (Leif Sahlberg) [1903883] - [fs] smb3: change noisy error message to FYI (Leif Sahlberg) [1903883] - [fs] cifs: update internal module version number (Leif Sahlberg) [1903883] - [fs] smb3: use SMB2_SIGNATURE_SIZE define (Leif Sahlberg) [1903883] - [fs] CIFS: Fix bug which the return value by asynchronous read is error (Leif Sahlberg) [1903883] - [fs] CIFS: check new file size when extending file by fallocate (Leif Sahlberg) [1903883] - [fs] SMB3: Minor cleanup of protocol definitions (Leif Sahlberg) [1903883] - [fs] SMB3: Additional compression structures (Leif Sahlberg) [1903883] - [fs] SMB3: Add new compression flags (Leif Sahlberg) [1903883] - [fs] cifs: smb2pdu.h: Replace zero-length array with flexible-array member (Leif Sahlberg) [1903883] - [fs] cifs: clear PF_MEMALLOC before exiting demultiplex thread (Leif Sahlberg) [1903883] - [fs] cifs: cifspdu.h: Replace zero-length array with flexible-array member (Leif Sahlberg) [1903883] - [fs] CIFS: Warn less noisily on default mount (Leif Sahlberg) [1903883] - [fs] fs/cifs: fix gcc warning in sid_to_id (Leif Sahlberg) [1903883] - [fs] cifs: allow unlock flock and OFD lock across fork (Leif Sahlberg) [1903883] - [fs] cifs: do d_move in rename (Leif Sahlberg) [1903883] - [fs] cifs: add SMB2_open() arg to return POSIX data (Leif Sahlberg) [1903883] - [fs] cifs: plumb smb2 POSIX dir enumeration (Leif Sahlberg) [1903883] - [fs] cifs: add smb2 POSIX info level (Leif Sahlberg) [1903883] - [fs] cifs: rename posix create rsp (Leif Sahlberg) [1903883] - [fs] cifs: print warning mounting with vers=1.0 (Leif Sahlberg) [1903883] - [fs] smb3: fix performance regression with setting mtime (Leif Sahlberg) [1903883] - [fs] cifs: make use of cap_unix(ses) in cifs_reconnect_tcon() (Leif Sahlberg) [1903883] - [fs] cifs: use mod_delayed_work() for &server->reconnect if already queued (Leif Sahlberg) [1903883] - [fs] cifs: call wake_up(&server->response_q) inside of cifs_reconnect() (Leif Sahlberg) [1903883] - [fs] cifs: do not ignore the SYNC flags in getattr (Leif Sahlberg) [1903883] - [tools] tools/power/x86/intel-speed-select: Update version for v5.10 (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Fix missing base-freq core IDs (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Update version for v5.9 (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Add retries for mail box commands (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Add option to delay mbox commands (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Ignore -o option processing on error (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Change path for caching topology info (Prarit Bhargava) [1896211] - [kernel] perf/core: Fix race in the perf_mmap_close() function (Michael Petlan) [1869925] {CVE-2020-14351} - [kernel] perf: Make struct ring_buffer less ambiguous (Michael Petlan) [1869925] {CVE-2020-14351} - [arm64] arm64: bpf: Fix branch offset in JIT (Yauheni Kaliuta) [1875342]- [hwmon] hwmon: (amd_energy) fix allocation of hwmon_channel_info config (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) Add AMD family 19h model 01h x86 match (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) modify the visibility of the counters (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) Improve the accumulation logic (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) optimize accumulation interval (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) Move label out of accumulation structure (David Arcari) [1911220] - [powerpc] powerpc/64s: Remove TM from Power10 features (Gustavo Duarte) [1892471] - [netdrv] ionic: start queues before announcing link up (Jonathan Toppins) [1906250] - [fs] NFSD: fix missing refcount in nfsd4_copy by nfsd4_do_async_copy (Benjamin Coddington) [1873897] - [bluetooth] Bluetooth: btusb: Map Typhoon peak controller to BTUSB_INTEL_NEWGEN (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Add support for Intel Bluetooth Device Typhoon Peak (8087:0032) (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Helper function to download firmware to Intel adapters (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Define a function to construct firmware filename (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Add *setup* function for new generation Intel controllers (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btintel: Fix endianness issue for TLV version information (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btintel: Functions to send firmware header / payload (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btintel: Add infrastructure to read controller information (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btintel: Refactor firmware download function (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Update boot parameter specific to SKU (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Refactor of firmware download flow for Intel conrollers (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Enable Intel events even if already in operational mode (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Configure Intel debug feature based on available support (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Add support to read Intel debug feature (Gopal Tiwari) [1900356] - [kernel] rcuwait: avoid lockdep splats from rcuwait_active() (Auger Eric) [1903095] - [net] udp: fix the proto value passed to ip_protocol_deliver_rcu for the segments (Xin Long) [1879403] - [net] udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO (Xin Long) [1879403] - [net] udp: fix UDP header access on Fast/frag0 UDP GRO (Xin Long) [1879403] - [net] ethtool: add missing NETIF_F_GSO_FRAGLIST feature string (Xin Long) [1879403] - [net] fix fraglist segmentation reference count leak (Xin Long) [1879403] - [net] udp: initialize is_flist with 0 in udp_gro_receive (Xin Long) [1879403] - [include] udp: segment looped gso packets correctly (Xin Long) [1879403] - [net] udp: Support UDP fraglist GRO/GSO. (Xin Long) [1879403] - [net] Support GRO/GSO fraglist chaining. (Xin Long) [1879403] - [net] Add a netdev software feature set that defaults to off. (Xin Long) [1879403] - [net] Add fraglist GRO/GSO feature flags (Xin Long) [1879403] - [include] udp: Avoid post-GRO UDP checksum recalculation (Xin Long) [1879403] - [net] udp: fix GRO packet of death (Xin Long) [1879403] - [net] udp: fix GRO reception in case of length mismatch (Xin Long) [1879403] - [net] udp: cope with UDP GRO packet misdirection (Xin Long) [1879403] - [net] ipv6: factor out protocol delivery helper (Xin Long) [1879403] - [net] ip: factor out protocol delivery helper (Xin Long) [1879403] - [net] udp: add support for UDP_GRO cmsg (Xin Long) [1879403] - [net] udp: implement GRO for plain UDP sockets. (Xin Long) [1879403]- [powerpc] powerpc/perf: Fix Threshold Event Counter Multiplier width for P10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Exclude kernel samples while counting events in user space (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Invoke per-CPU variable access with disabled interrupts (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: MMCR0 control for PMU registers under PMCC=00 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/64s: Convert some cpu_setup() and cpu_restore() functions to C (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/64: Set up a kernel stack for secondaries before cpu_restore() (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc: Wire up memtest (Desnes Augusto Nunes do Rosario) [1906084] - [mm] powerpc/mm: Don't report hugepage tables as memory leaks when using kmemleak (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Fix to update cache events with l2l3 events in power10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Fix to update generic event codes for power10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Add generic and cache event list for power10 DD1 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Fix the PMU group constraints for threshold events in power10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Update the PMU group constraints for l2l3 events in power10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Fix to update radix_scope_qual in power10 (Desnes Augusto Nunes do Rosario) [1906084] - [nvme] nvme-pci: mark Samsung PM1725a as IGNORE_DEV_SUBNQN (Gopal Tiwari) [1903513] - [base] driver: core: Fix list corruption after device_del() (Torez Smith) [1900751] - [base] device property: Don't clear secondary pointer for shared primary firmware node (Torez Smith) [1900751] - [base] device property: Keep secondary firmware node secondary by type (Torez Smith) [1900751] - [of] of: property: Fix create device links for all child-supplier dependencies (Torez Smith) [1900751] - [base] drivers/base/test: fix global-out-of-bounds error (Torez Smith) [1900751] - [base] driver core: Fix use-after-free and double free on glue directory (Torez Smith) [1900751] - [thunderbolt] thunderbolt: Add uaccess dependency to debugfs interface (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use "if USB4" instead of "depends on" in Kconfig (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Allow KUnit tests to be built also when CONFIG_USB4=m (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: debugfs: Fix uninitialized return in counters_write() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add debugfs interface (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Report power supply changes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: hisilicon: fix refercence leak in xhci_histb_probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for Intel Tiger Lake-H (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: apple-mfi-fastcharge: fix reference leak in apple_mfi_fc_set_property (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Only configure USB4 wake for lane 0 adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Fix memory leak if ida_simple_get() fails in enumerate_services() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Telit FN980 composition 0x1055 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cyberjack: fix write-URB completion race (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Add NO_LPM quirk for Kingston flash drive (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Don't create stream debugfs files with spinlock held (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Workaround for S3 issue on AMD SNPS 3.0 xHC (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix sizeof() mismatch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: stusb160x: fix signedness comparison issue with enum variables (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: add missing MODULE_DEVICE_TABLE() to stusb160x (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbcore: Check both id_table and match() when both available (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: stusb160x: fix an IS_ERR() vs NULL check in probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: reset hard_reset_count for any disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: cdc-acm: fix cooldown mechanism (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: fix kernel-doc markups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: stusb160x: fix some signedness bugs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Quectel EC200T module support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add the missed ida_simple_remove() in ring_request_msix() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [documentation] usb: docs: document altmode register/unregister functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Add QCOM PMIC typec detection driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Cellient MPL200 card (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci_maxim: Add support for Sink FRS (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Implement callbacks for FRS (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: tcpm: Add support for Sink Fast Role SWAP(FRS) (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci_maxim: Chip level TCPC driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Add set_vbus tcpci callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Add a getter method to retrieve tcpm_port reference (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: cdc-acm: add quirk to blacklist ETAS ES58X devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: use cur_altsetting for consistency (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: Add Telit FT980-KS composition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: remove polling for /sys/kernel/debug/usb/devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: add support for STUSB160x Type-C controller family (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: add typec_find_pwr_opmode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220: Use OF graph API to get the connector fwnode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: displayport: Reduce noise from the driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Add Kconfig option to reduce number of port initialization retries (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Clean up use of port initialization schemes and retries (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: fix altsetting probing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: clean up jtag quirks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: pl2303: add device-id for HP GC device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: clean up no-union-descriptor handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: use common data-class define (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: handle broken union descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] Revert "cdc-acm: hardening against malicious devices" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbcore/driver: Accommodate usbip (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] PM: core: introduce pm_ptr() macro (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [kernel] sched: Provide sched_set_fifo() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbcore/driver: Fix incorrect downcast (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbcore/driver: Fix specific driver selection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [sound] USB: correct API of usb_control_msg_send/recv in sound driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: correct API of usb_control_msg_send/recv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] Revert "USB: legousbtower: use usb_control_msg_recv()" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] Revert "USB: core: hub.c: use usb_control_msg_send() in a few places" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: pci-quirks: convert to readl_poll_timeout_atomic() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: ehci-dbgp: convert to readl_poll_timeout_atomic() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: convert to readl_poll_timeout_atomic() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: appledisplay: use module_usb_driver to simplify the code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: add debugfs support for ep with stream (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: don't create endpoint debugfs entry before ring buffer is set (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Tune interrupt blocking for isochronous transfers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: omit duplicate actions when suspending a runtime suspended host (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: improve the comments for xhci_plat_suspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add wakeup entry at sysfs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add priv quirk for skip PHY initialization (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: delete the unnecessary code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add .suspend_quirk for struct xhci_plat_priv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add platform data support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: cleanup of data structures (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix debugging (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usblp: fix race between disconnect() and read() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: don't inherity DMA properties for USB devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] ehci-hcd: Move include to keep CRC stable (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Only stop control channel when entering freeze (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Capitalize comment on top of QUIRK_FORCE_POWER_LINK_CONTROLLER (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Correct tb_check_quirks() kernel-doc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Log correct zeroX entries in decode_error() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Handle ERR_LOCK notification (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Handle SCU IPC error conditions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin notebook (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: update ROLE_CONTROL for DRP (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Add support when hidden tx registers are inaccessible (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Add register definitions to tcpci (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: UAS: use macro for reporting results (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Pass correct USB Type-C port number to SoC (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Add dependency on ACPI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: microtek: use set_host_byte() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: UAS: fix disconnect by unplugging a hub (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Prevent mode overrun (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: acpi: Increase command completion timeout value (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: use usb_control_msg_recv() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: hub.c: use usb_control_msg_send() in a few places (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: message.c: use usb_control_msg_send() in a few places (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb typec: mt6360: Add support for mt6360 Type-C driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: ehci-sched: Remove ununsed function tt_start_uframe() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ohci: Make distrust_firmware param default to false (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ohci: Default to per-port over-current protection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Retry DROM read once if parsing fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Support for device role (UFP) (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Check the port status before connect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Do not configure SBU and HSL Orientation in Alternate modes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Do not configure Altmode HPD High (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] device connection: Remove struct device_connection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] uas: bump hw_max_sectors to 2048 blocks for SS or faster drives (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] uas: fix sdev->host->dma_dev (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: fix sdev->host->dma_dev (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/host: ehci-npcm7xx: Use pm_ptr() macro (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/misc: usb3503: Use pm_ptr() macro (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/misc: usb4604: Use pm_ptr() macro (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: driver: fix stray tabs in error messages (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: acpi: Check the _DEP dependencies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: fix slab-out-of-bounds Read in read_descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Fix out of sync data toggle if a configured device is reconfigured (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Un-register the USB role switch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_switch_is_ice_lake() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_switch_is_tiger_lake() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Check for Intel vendor ID when identifying controller (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_port_is_nhi() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Create device links from ACPI description (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: No need to warn in TB_CFG_ERROR_INVALID_CONFIG_SPACE (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_switch_next_cap() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_port_next_cap() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Move struct tb_cap_any to tb_regs.h (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add runtime PM for Software CM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [pci] PCI / thunderbolt: Switch to use device links instead of PCI quirk (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Enable wakes from system suspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Tear down DP tunnels when suspending (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Disable lane 1 for XDomain connection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Configure port for XDomain (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Set port configured for both ends of the link (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Configure link after lane bonding is enabled (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Do not change default USB4 router notification timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Initialize TMU again on resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Send reset only to first generation routers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Do not program NFC buffers for USB4 router protocol adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Optimize NHI LC mailbox command processing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Optimize Force Power logic (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Software CM only should set force power in Tiger Lake (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use bit 31 to check if Firmware CM is running in Tiger Lake (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: No need to log an error if tb_switch_lane_bonding_enable() fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use kobj_to_dev() instead of container_of() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: support dynamic Quectel USB compositions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Migrate workqueue to RT priority for processing events (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: pd: Fix formatting in pd.h header (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: During PR_SWAP, source caps should be sent only after tSwapSourceStart (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: Remove the superfluous break (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: storage: Add unusual_uas entry for Sony PSZ drives (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: quirks: Ignore duplicate endpoint on Sound Devices MixPre-D (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: atm: don't use snprintf() for sysfs attrs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Fix Fix source hard reset response for TDA 2.3.1.1 and TDA 2.3.1.2 failures (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use maximum USB3 link rate when reclaiming if link is not up (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add USB3 bandwidth management (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Disable ports that are not implemented (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Do warm-reset when both CAS and XDEV_RESUME are set (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci: fix ep context print mismatch in debugfs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: uas: Add quirk for PNY Pro Elite (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Better name for __check_usb_generic() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix device driver race (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Also match device drivers using the ->match vfunc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: fix tegra_xusb_get_phy() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: otg usb2/usb3 port init (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: pci-quirks: Bypass xHCI quirks for Raspberry Pi 4 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [firmware] Revert "USB: pci-quirks: Add Raspberry Pi 4 quirk" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-pci: Add support for reset controllers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Solve race condition in anchor cleanup functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Print error on failure to get VBUS (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Make VBUS supply optional (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: yurex: remove needless check before usb_free_coherent() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: remove a duplicated entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: isd200: fix spelling mistake "removeable" -> "removable" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-mtk: Fix typo (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: hcd: Fix use after free in usb_hcd_pci_remove() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Hold con->lock for the entire duration of ucsi_register_port() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Rework ppm_lock handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Fix 2 unlocked ucsi_run_command calls (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Fix AB BA lock inversion (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: lvtest: return proper error code in probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: rework notification_buffer resizing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: quirks: Add no-lpm quirk for another Raydium touchscreen (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: yurex: Fix bad gfp argument (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: merge fix for kunix_resource changes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Register charger (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Fix ASMedia ASM1142 DMA addressing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: define IDs for various ASMedia host controllers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Simplify USB ID table match (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Add WARN_ON ensure we are not trying to send 2 VDM packets at the same time (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Fix AB BA lock inversion between tcpm code and the alt-mode drivers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Refactor tcpm_handle_vdm_request (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Refactor tcpm_handle_vdm_request payload handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Add tcpm_queue_vdm_unlocked() helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Move mod_delayed_work(&port->vdm_state_machine) call into tcpm_queue_vdm() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Make function xhci_dbc_ring_alloc() static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbgtty: Make some functions static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for pinctrl-0 through pinctrl-8 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for multiple DT bindings (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: fix up report size handling for some devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: remove tty specific port structure from struct xhci_dbc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbgcap: remove dbc dependency on dbctty specific flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Add a operations structure to access driver functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbctty: split dbc tty driver registration and unregistration functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: remove endpoint pointers from dbc_port structure (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: simplify dbc requests allocation and queueing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to dbc start and stop functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to dbc memory init and cleanup functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: don't use generic xhci ring allocation functions for dbc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't use generic xhci context allocation for dbc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Use dbc structure in the request completion instead of xhci_hcd (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to get_in/out_ep() helper functions to get endpoints (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbgtty: Pass dbc pointer when registering a dbctty device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to dbc_handle_xfer_event() instead of xhci_hcd pointer (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Change to pass dbc pointer to xhci_do_dbc_stop() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to endpoint init and exit functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Get the device pointer from dbc structure in dbc_ep_do_queue() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't pass the xhci pointer as a parameter to xhci_dbc_init_context() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't use xhci_write_64() as it takes xhci as a parameter (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Use dev_info() and similar instead of xhci_info() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Add device pointer to dbc structure (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Remove dbc_dma_free_coherent() wrapper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Remove dbc_dma_alloc_coherent() wrapper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't use generic xhci erst allocation and free functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Don't pass struct xhci_hcd pointer to xhci_link_seg() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't use generic xhci inc_deq() function for dbc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Make debug message consistent with bus and port number (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: tegra: Fix allocation for the FPCI context (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbfs: stop using compat_alloc_user_space (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Fix ASM2142/ASM3142 DMA addressing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-mtk: fix the failure of bandwidth allocation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: appledisplay: remove needless check before usb_free_coherent() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbtest: reduce stack usage in test_queue (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Stay in BIST mode till hardreset or unattached (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Support BIST test data mode for compliance (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Support bist test data mode for compliance (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Error handling for tcpm_register_partner_altmodes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Comment correction for typec_partner_register_altmode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Avoid connect request on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: fix quirks_param_set() writing to a const pointer (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: hcd: Try MSI interrupts on PCI devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: add EM7305 QDL product ID (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: iuu_phoenix: fix led-activity helpers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: iuu_phoenix: fix memory corruption (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: sisusbvga: Move static const tables out to different include file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: sisusbvga: sisusb_init: Remove genunine unused static const arrays (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: class: cdc-wdm: Provide description for usb_cdc_wdm_register()'s manage_power arg (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: linux/usb/serial.h: drop duplicated word in comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: linux/usb/pd_vdo.h: drop duplicated word in comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: linux/usb.h: drop duplicated word in comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Remove pci-dma-compat wrapper APIs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: sisusbvga: Fix a potential UB casued by left shifting a negative value (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ohci: Replace HTTP links with HTTPS ones (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Replace HTTP links with HTTPS ones (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: Replace HTTP links with HTTPS ones (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: sierra: clean up special-interface handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: use in-kernel types in port data (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: drop unnecessary packed attributes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: add support for TIOCGICOUNT (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: add support for line-status events (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: disable interface on errors in open (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: OHCI: Use fallthrough pseudo-keyword (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: Use fallthrough pseudo-keyword (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Use fallthrough pseudo-keyword (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: replace HTTP links with HTTPS ones (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: Do not define 'struct acpi_device_id' when !CONFIG_ACPI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: xhci-dbc: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: xhci-dbc: Supply missing 'xhci-dbgp.h' headerfile (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: ehci-dbgp: Remove set but never checked variable 'ret' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: ucsi: Staticify and stop export of ucsi_init() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: legousbtower: Demote function header which is clearly not kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: legousbtower: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: ldusb: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: iowarrior: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: iowarrior: Fix odd corruption issue in the file header (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: fusb302: Use 'gnu_printf' format notation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: altmodes: displayport: Supply missing displayport.h include file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: altmodes: displayport: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: storage: alauda: Remove set but unchecked variable (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-debugfs: Use 'gnu_printf' format notation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-dbgtty: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-dbgcap: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-mem: Demote obvious misuse of kerneldoc to standard comment block (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci: Demote obvious misuse of kerneldoc to standard comment block (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: adutux: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: atm: ueagle-atm: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: ledtrig-usbport: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: drop redundant transfer-buffer casts (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] USB: serial: drop extern keyword from function declarations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] USB: serial: drop unnecessary sysrq include (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: add sysrq break-handler dummy (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: inline sysrq dummy function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: only process sysrq when enabled (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: only set sysrq timestamp for consoles (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: fix break and sysrq handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: clean up receive processing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: make process-packet buffer unsigned (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: use fallthrough pseudo-keyword (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Quectel EG95 LTE modem (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: fix missing simulated-break margin (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: re-enable auto-RTS on open (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: enable usb generic throttle/unthrottle (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: simulate break condition if not supported (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: class: usbtmc: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: ohci: Mark cc_to_error as __maybe_unused (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: ulpi: Fix a few kerneldoc related issues (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Demote comment block which is clearly not kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: debug: Demote comment blocks which are obviously not kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: pci-quirks: Demote function header from kerneldoc to comment block (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] USB: Fix up terminology in include files (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Fix old style declaration warning (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: console: add support for flow control (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: quatech2: drop two stub functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: kobil_sct: log failure to update line settings (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: keyspan_pda: drop unused firmware reset status (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: iuu_phoenix: drop unused URB submission results (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: garmin_gps: don't compile unused packet definitions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Add support for USB4 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Definitions for response status bits (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Add data structure for Enter_USB message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Combine the definitions for Accessory and USB modes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix up terminology (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: fix kernel-doc warnings and formatting in (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for authenticate on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for separating the flush to SPI and authenticate (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Ensure left shift of 512 does not overflow a 32 bit int (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: add min and max line-speed macros (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: name prescaler, divisor registers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Poll for U0 after disabling USB2 LPM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Return if xHCI doesn't support LPM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-mtk: avoid runtime suspend when removing hcd (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix enumeration issue when setting max packet size for FS devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix incorrect EP_STATE_MASK (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: add new Product ID for CH340 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add GosunCn GM500 series (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cypress_m8: enable Simply Automated UPB PIM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for on-board retimers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Implement USB4 port sideband operations for retimer access (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Split common NVM functionality into a separate file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Retry USB4 block read operation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Generalize usb4_switch_do__data() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add Intel USB-IF ID to the NVM upgrade supported list (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Increase DP DPRX wait timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make tb_port_get_link_speed() available to other files (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Handle incomplete PCIe/USB3 paths correctly in discovery (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Increase path length in discovery (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add KUnit tests for tunneling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add KUnit tests for path walking (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add DP IN resources for all routers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Report consumed bandwidth in both directions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make usb4_switch_map_pcie_down() also return enabled ports (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make usb4_switch_map_usb3_down() also return enabled ports (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Do not tunnel USB3 if link is not USB4 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Implement USB3 bandwidth negotiation routines (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Check that both ports are reachable when allocating path (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make tb_path_alloc() work with tree topologies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make tb_next_port_on_path() work with tree topologies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Fix path indices used in USB3 tunnel discovery (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [netdrv] thunderbolt: Get rid of E2E workaround (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: NHI can use HopIDs 1-7 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: No need to warn if NHI hop_count != 12 or hop_count != 32 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Build initial XDomain property block upon first connect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: OTG: rename product list of devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: scsi: fix up comment to be more specific (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: fix wording in error message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: sierra: unify quirk handling logic (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: fix up wording in a comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: OHCI: remove obsolete FIXME comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: rename USB OTG hub configuration option (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: rename USB quirk to USB_QUIRK_ENDPOINT_IGNORE (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [uapi] USB: replace hardcode maximum usb string length by definition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci_rt1711h: avoid screaming irq causing boot hangs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbtest: fix missing kfree(dev->buf) in usbtest_disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ehci: reopen solution for Synopsys HC bug (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] cdc-acm: Add DISABLE_ECHO quirk for Microchip/SMSC chip (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: add USB_QUIRK_DELAY_INIT for Logitech C922 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: intel_pmc_mux: Fix DP alternate mode entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: sisusbvga: change char to u8 for sisusb_copy_memory (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: sisusb_con: Use array_size() helper in memcpy() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: tegra: Remove PLL power supplies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] drivers: usb: Fix trivial spelling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: additional Device Classes to debug/usb/devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Improve USB4 config symbol help text (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: kcov: collect coverage from usb complete callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: get rid of pointless access_ok() calls (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: fix lockup of devices with limited prescaler (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: add basis for quirk detection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] CDC-ACM: heed quirk also in error handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Telit LE910C1-EUX compositions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: add DW5816e QDL support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add trivial .shutdown (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Ensure USB_ROLE_SWITCH is set as a dependency for tps6598x (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: make symbols static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: usb_wwan: do not resubmit rx urb on fatal errors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/xhci-plat: Set PM runtime as active on resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Add support for Renesas controller with memory (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: renesas-xhci: Add the renesas xhci driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: hci: add hc_driver as argument for usb_hcd_pci_probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: limit HUB_QUIRK_DISABLE_AUTOSUSPEND to USB5534B (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbfs: fix mmap dma mismatch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: keep runtime active when removing host (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Update Kconfig to allow building on other architectures (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: intel: Fix DP_HPD_LVL bit field (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ehci: Add new EHCI driver for Broadcom STB SoC's (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: xhci-plat: Add support for Broadcom STB SoC's (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tps6598x: Add USB role switching logic (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tps6598x: Add OF probe binding (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Switch on role-switch uevent reporting (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: intel_pmc_mux: Support for static SBU/HSL orientation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Add typec_find_orientation() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usblp: poison URBs upon disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] sierra-ms: do not call scsi_get_host_dev() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [firmware] USB: pci-quirks: Add Raspberry Pi 4 quirk (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] thunderbolt: Replace zero-length array with flexible-array (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbfs: correct kernel->user page attribute mismatch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Fix the property names (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: intel: Handle alt mode HPD_HIGH (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: Fix misleading driver bug report (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: Add DW5816e support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: uas: add quirk for LaCie 2Big Quadra (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Do not link to disabled devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Check return value of tb_sw_read() in usb4_switch_op() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: use true, false for bool variable (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Fix the stub for ucsi_register_port_psy() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Convert the Intel PMC Mux driver to use new SCU IPC API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: register with power_supply class (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: save power data objects in PD mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Correct bit-mask for CCI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: replace magic numbers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Workaround for missed op_mode change (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: set USB data role when partner type is power cable/ufp (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Storage: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: Replace an empty statement with a debug message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/early: remove unused including (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: pci-quirks: use true, false for bool variables (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: typec: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: sisusbvga: Change port variable from signed to unsigned (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: Add unusual_devs entry for JMicron JMS566 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Revert commit bd0e6c9614b9 ("usb: hub: try old enumeration scheme first for high speed devices") (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Fix handling of connect changes during sleep (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for Intel Tiger Lake (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: altmode: Fix typec_altmode_get_partner sometimes returning an invalid pointer (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: garmin_gps: add sanity checking for data length (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Don't clear hub TT buffer on ep0 protocol stall (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: prevent bus suspend if a roothub port detected a over-current condition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix handling halted endpoint even if endpoint ring appears empty (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [gpio] usb: fusb302: Convert to use GPIO descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 RGB RAPIDFIRE (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Ignore CC and vbus changes in PORT_RESET change (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] cdc-acm: introduce a cool down (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] cdc-acm: close race betrween suspend() and acm_softint (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] UAS: fix deadlock in error handling and PM flushing work (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] UAS: no use logging any details in case of ENODEV (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: pi3usb30532: Set switch_ / mux_desc name field to NULL (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: early: Handle AMD's spec-compliant identifiers, too (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: Fix free-while-in-use bug in the USB S-Glibrary (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: misc: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: host: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: early: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] Revert "thunderbolt: Prevent crash if non-active NVMem file is read" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for extcon (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: restore capability check order (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Correct the documentation for typec_cable_put() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: io_edgeport: fix slab-out-of-bounds read in edge_interrupt_callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Wistron Neweb D19Q1 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add BroadMobi BM806U (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for ASKEY WWHC050 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Add ACPI support for USB interface devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-tegra: Add OTG support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: add control driver for F81534A (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: fix rounding error in TIOCSSERIAL (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: fix close_delay and closing_wait units in TIOCSSERIAL (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: quirks: add NO_LPM quirk for RTL8153 based ethernet adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: atm: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci-pci: Allow host runtime PM as default for Intel Tiger Lake xHCI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Finetune host initiated USB3 rootport link suspend and resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Wait until link state trainsits to U0 after setting USB_SS_PORT_LS_U0 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Ensure link state is U3 after setting USB_SS_PORT_LS_U3 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Tegra186/Tegra194 LPM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Enable LPM for VIA LABS VL805 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Show host status when watchdog triggers and host is assumed dead (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Add a separate debug message for split transaction errors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: bail out early if driver can't accress host in resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: pl2303: add device-id for HP LD381 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add ME910G1 ECM composition 0x110b (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: mon: Use scnprintf() for avoiding potential buffer overflow (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi_ccg: workaround for NVIDIA test device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add a shutdown (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: displayport: Fix a potential race during registration (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: displayport: Fix NULL pointer dereference (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Disable LPM on WD19's Realtek Hub (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use scnprintf() for avoiding potential buffer overflow (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: fix tty cleanup-op kernel-doc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: clean up carrier-detect helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: apply XHCI_SUSPEND_DELAY to AMD XHCI controller 1022:145c (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Delete of_devlink kernel commandline option (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: driver for Intel PMC mux control (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Add definitions for Thunderbolt 3 Alternate Mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Allow the role switches to be named (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Provide the switch drivers handle to the switch in the API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Leave the private driver data pointer to the drivers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Allow the mux handles to be requested with fwnode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Add helpers for setting the mux state (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Allow the muxes to be named (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: port: do error out if usb_autopm_get_interface() fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: do error out if usb_autopm_get_interface() fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: fix unhandled return by employing a void function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: storage: Add quirk for Samsung Fit flash (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: quirks: add NO_LPM quirk for Logitech Screen Share (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: fix regulator probe and error handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Add sysfs node to show cc orientation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: move to SNK_UNATTACHED if sink removed for DRP (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for power-domains and hwlocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: set F81534A serial port with RS232 mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: add F81534A support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: use devm_kzalloc for port data (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: add tx_empty function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: extract LSR handler (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-pci: remove useless cast for driver.name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: uhci-pci: remove useless cast for driver.name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: ohci-pci: remove useless cast for driver.name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: ehci-pci: remove useless cast for driver.name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Use ACPI_SUCCESS() at appropriate places (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Make use of acpi_evaluate_object() status (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: Use const to reduce object data size (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ucsi: ccg: disable runtime pm during fw flashing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: register DP only for NVIDIA DP VDO (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: misc: iowarrior: add support for the 100 device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Add missing annotation for xhci_enter_test_mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Add missing annotation for xhci_set_port_power() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Do not open code __print_symbolic() in xhci trace events (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: use kobj_to_dev() API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add missing kernel-doc parameter descriptions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: set correct data role for non-DRD (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: icm: Replace zero-length array with flexible-array member (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: eeprom: Replace zero-length array with flexible-array member (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: apple-mfi-fastcharge: don't probe unhandled devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: apple-mfi-fastcharge: fix endianess issue in probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Add driver to control USB fast charge for iOS devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fallback to generic driver when specific driver fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Select better matching USB drivers when available (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Implement usb_device_match_id() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Make it possible to "subclass" usb_device_driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Export generic USB device driver functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: atm: Replace zero-length array with flexible-array member (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Drop support for device name matching (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: altmode: Remove the notification chain (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Fix the description of struct typec_capability (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Allow power role swapping even without USB PD (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Hide the port_type attribute when it's not supported (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Make the attributes read-only when writing is not possible (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: misc: iowarrior: add support for the 28 and 28L devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: misc: iowarrior: add support for 2 OEMed devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix novation SourceControl XL after suspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix memory leak when caching protocol extended capability PSI tables - take 2 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] Revert "xhci: Fix memory leak when caching protocol extended capability PSI tables" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: remove redundant assignment to variable num (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: host: ehci-platform: add a quirk to avoid stuck (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: clean up endpoint-descriptor parsing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: quirks: blacklist duplicate ep on Sound Devices USBPre2 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: add endpoint-blacklist quirk (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [uapi] usb: charger: assign specific number for enum value (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Don't record a connect-change event during reset-resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: uas: fix a plug & unplug racing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Fix the broken detection of USB3 device in SMSC hub (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: apply XHCI_PME_STUCK_QUIRK to Intel Comet Lake platforms (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: fix runtime pm enabling for quirky Intel hosts (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix memory leak when caching protocol extended capability PSI tables (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Force Maximum Packet size for Full-speed bulk devices to valid range (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: digi_acceleport: remove redundant assignment to pointer priv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: relax unthrottle memory barrier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: fix receiver regression (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: Silence harmless uninitialized variable warning (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cyberjack: fix spelling mistake "To" -> "Too" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: simplify endpoint check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: make set_termios synchronous (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: fix IrLAP framing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: fix link-speed handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: add missing endpoint sanity check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: fix "op-sink-microwatt" default that was in mW (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: wcove: fix "op-sink-microwatt" default that was in mW (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: mask event interrupts when remove driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: set MODULE_FIRMWARE for tegra186 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbfs: Always unlink URBs in reverse order (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: quatech2: handle unbound ports (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: keyspan: handle unbound ports (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: io_edgeport: add missing active-port sanity check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: io_edgeport: handle unbound ports on URB completion (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: handle unbound port at reset_resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: garmin_gps: Use flexible-array member (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: opticon: stop all I/O on close() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: opticon: add chars_in_buffer() implementation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: suppress driver bind attributes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for Quectel RM500Q in QDL mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: Improved device recognition on remote wakeup (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: phy-generic: Delete unused platform data (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: opticon: fix control-message timeouts (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: Add support for Quectel RM500Q (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: ulpi: Add resource-managed variant of otg_ulpi_create() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Provide definitions for the USB modes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Give the mux drivers all the details regarding the port state (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Add definitions for the latest specification releases (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Add the Product Type VDOs to struct usb_pd_identity (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: pd: Add definition for DFP and UFP1 VDOs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: pd: Add definitions for the Enter_USB message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: More API for cable handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Add parameter for the VDO to typec_altmode_enter() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Block mode entry if the port has the mode disabled (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: fix spelling mistake "connetor" -> "connector" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: missing parentheses in USE_NEW_SCHEME (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Fix the notification bit offsets (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Actually enable all the interface notifications (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fix non-kernel-doc comments (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix: Don't skip endpoint descriptors with maxpacket=0 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB-PD tcpm: bad warning+size, PPS adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb3503: Convert to use GPIO descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: add support for separate DP altmode devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Store the notification mask (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: mtk-xhci: Do not explicitly set the DMA mask (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: fix check for duplicate endpoints (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add ZLP support for 0x1bc7/0x9010 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Fix build warning seen with CONFIG_PM=n (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Fix an undefined reference to 'extcon_get_state' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: EHCI: Do not return -EPIPE when hub is disconnected (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Telit ME910G1 0x110a composition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: make sure interrupts are restored to correct state (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: handle some XHCI_TRUST_TX_LENGTH quirks cases as default behaviour (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Increase STS_HALT timeout in xhci_suspend() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: only set D3hot for pci device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: fix USB3 device initiated resume race with roothub autosuspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix memory leak in xhci_add_in_port() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix incorrect DMA allocations for local memory pool drivers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: idmouse: fix interface sanity checks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix interface sanity check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: atm: ueagle-atm: add missing endpoint check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: io_edgeport: fix epic endpoint lookup (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: mon: Fix a deadlock in usbmon between mmap and read (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Don't log an error on probe deferral (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: urb: fix URB structure initialization function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fix use after free in typec_register_port() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: fix a potential use after free (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Implement basic ELPG support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Add XUSB controller context (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Add support for XUSB context save/restore (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Enable runtime PM as late as possible (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Reuse stored register base address (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Extract firmware enable helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Use CNR as firmware ready indicator (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Avoid a fixed duration sleep (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Separate firmware request and load (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Fix "tega" -> "tegra" typo (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: drop comment about 2 uhci drivers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb, kcov: collect coverage from hub_event (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for interrupt-parent, dmas and -gpio(s) (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: serial: Fix Kconfig indentation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: Fix Kconfig indentation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for "iommu-map" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Fix the semantics of of_is_ancestor_of() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: Disable UAS on JMicron SATA enclosure (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: uas: heed CAPACITY_HEURISTICS (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: uas: honor flag to avoid CAPACITY16 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Correct phy enable sequence (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-serial: cp201x: support Mark-10 digital force gauge (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Remove tcpc_config configuration mechanism (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci-pci: Allow host runtime PM as default also for Intel Ice Lake xHCI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci: Support running urb giveback in tasklet context (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Add tracing for xhci doorbell register writes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci: update event ring dequeue pointer on purpose (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Fix documentation for out values (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add device IDs for U-Blox C099-F9P (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for Foxconn T77W968 LTE modules (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver core: Clarify documentation for fwnode_operations.add_links() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop port open flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop read-urb check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop port driver data accessors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop serial struct accessor (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop paranoid serial checks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop paranoid port checks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop redundant urb context check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: rip out broken interrupt handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: fix probe error handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: document MCS7810 detection hack (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: clean up device-type handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: fix remote wakeup (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7720: fix remote wakeup (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: chaoskey: fix error case of a timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for DW5821e with eSIM support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] appledisplay: fix error handling in the scheduled work (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop superfluous newlines (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop superfluous brackets (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: clean up runaway white space (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant endianness comments (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop unnecessary packed attributes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: clean up pointer declarations in driver data (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: remove tower_abort_transfers() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: stop interrupt-out URB unconditionally (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant interrupt-in running flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop noisy disconnect messages (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant open_count check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: zero driver data at allocation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant NULL check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant MODULE_LICENSE ifdef (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: idmouse: clean up runaway white space (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: idmouse: drop redundant open-count check from release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: idmouse: simplify disconnect handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Allow USB device to be warm reset in suspended state (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for iommus, mboxes and io-channels (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Make it easy to add device links from DT properties (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: add USB ID to support Moxa UPort 2210 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Optimise ucsi_unregister() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: New error codes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Remove all bit-fields (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Remove struct ucsi_control (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Remove the old API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: ccg: Move to the new API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: acpi: Move to the new API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Simplified registration and I/O API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220: Give the connector fwnode to the port device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Remove unused members from struct typec_capability (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Remove the callback members from struct typec_capability (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220: Start using struct typec_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Start using struct typec_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tps6598x: Start using struct typec_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Start using struct typec_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Separate the operations vector (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Introduce typec_get_drvdata() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Copy everything from struct typec_capability during registration (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: Add support for USB2422 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: Drop some unused defines (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Add usb_role_switch_find_by_fwnode() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: reimplement line-speed handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Remove redundant vmap checks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: whiteheat: fix line-speed endianness (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: whiteheat: fix potential slab corruption (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] UAS: Revert commit 3ae62a42090f ("UAS: fix alignment of scatter/gather segments") (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: Revert commit 747668dbc061 ("usb-storage: Set virt_boundary_mask to avoid SG overflows") (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: fix __le32/__le64 accessors in debugfs code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: fix Immediate Data Transfer endianness (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix use-after-free regression in xhci clear hub TT implementation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix control-message timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: use unsigned size format specifiers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix ring-buffer locking (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Skip endpoints with 0 maxpacket length (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: pl2303: add support for PL2303HXN (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix read info leaks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver: core: Improve documentation for fwnode_operations.add_links() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Minor code formatting/style clean ups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ti_usb_3410_5052: clean up serial data access (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ti_usb_3410_5052: fix port-close races (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbfs: Suppress problematic bind and unbind uevents (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblp: fix use-after-free on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix a signedness bug in tower_probe() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix memleak on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix memleak on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fix an IS_ERR() vs NULL bug in hd3ss3220_probe() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] device property: Fix the description of struct fwnode_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: yurex: fix NULL-derefs on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: use pr_err() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: drop redundant iowarrior mutex (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: drop redundant disconnect mutex (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: fix use-after-free after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: fix use-after-free on release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: fix use-after-free on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: chaoskey: fix use-after-free on release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix use-after-free on release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix use-after-free on release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix NULL-derefs on driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usb-skeleton: drop redundant in-urb check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usb-skeleton: fix use-after-free after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usb-skeleton: fix NULL-deref on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: remove duplicated include from hd3ss3220.c (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: drop OOM message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: devio.c: Fix assignment of 0/1 to bool variables (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220: hd3ss3220_probe() warn: passing zero to 'PTR_ERR' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: hub: Check device descriptor before resusciation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: add dependency for TYPEC_HD3SS3220 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Add Tegra194 XHCI support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: tegra: Parameterize mailbox register addresses (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: image: microtek.c: Remove unused variable (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220_irq() can be static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] kcov: remote coverage support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Create device links for all child-supplier depencencies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add functional dependency link from DT bindings (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: fix runtime PM after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblp: fix runtime PM after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usb-skeleton: fix runtime PM after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci-ext-caps.c: Add missing platform_device_put() on error in xhci_create_intel_xhci_sw_pdev() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix NULL pointer dereference in xhci_clear_tt_buffer_complete() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Increase STS_SAVE timeout in xhci_suspend() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Prevent deadlock when xhci adapter breaks during init (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: wait for CNR controller not ready bit in xhci resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix USB 3.1 capability detection on early xHCI 1.1 spec based hosts (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Check all endpoints for LPM timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Prevent device initiated U1/U2 link pm if exit latency is too long (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix false warning message about wrong bounce buffer write length (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: add pm_ops (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: simplify reset helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: add vdd supply support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: driver for TI HD3SS3220 USB Type-C DRP port controller (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: use regulator_bulk_set_supply_names() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ftdi-elan: move a couple of statements to next line (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Fix Kconfig indentation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: use devm_platform_ioremap_resource() to simplify code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix open after failed reset request (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix potential NULL-deref on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix deadlock on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix slab info leak at probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: displayport: Fix for the mode entering routine (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: ccg: Remove run_isr flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: use pr_err() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: drop redundant lcd mutex (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: drop redundant disconnect mutex (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: fix I/O after disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: usb: typec: tcpm: Fix a signedness bug in tcpm_fw_get_caps() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix NULL-derefs on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix use-after-free on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: yurex: Don't retry on unexpected errors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: microtek: fix info-leak at probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: keyspan: fix NULL-derefs on open() and write() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for Cinterion CLS8 devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: SCSI glue: use dev_err instead of printk (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Telit FN980 compositions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add device IDs for Sienna and Echelon PL-20 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbcore: Fix slab-out-of-bounds bug during device reset (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: rio500: Fix lockdep violation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: rio500: simplify locking (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: add USB GPIO based connection detection driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: create Kconfig file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: get usb-role-switch from parent (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Add fwnode_usb_role_switch_get() function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: roles: Introduce stubs for the exiting functions in role.h (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbip: Implement SG support to vhci-hcd and stub driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: intel: Enable static DRD mode for role switch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci-ext-caps.c: Add property to disable Intel SW switch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: phy: add support for PHY calibration (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-rcar: Add a helper macro to set xhci_plat_priv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add quirks member into struct xhci_plat_priv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: fix possible memleak on setup address fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: add TSP bitflag to TRB tracing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: dbc: Use GFP_KERNEL instead of GFP_ATOMIC in 'xhci_dbc_alloc_requests()' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: dbc: Simplify error handling in 'xhci_dbc_alloc_requests()' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tps6598x: Fix build error without CONFIG_REGMAP_I2C (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: remove commented out dma wrappers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: remove a stale comment in hcd_alloc_coherent (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: use hcd_uses_dma to check for DMA capabilities (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: Simplify usb_decode_get_set_descriptor function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: Patch simplify usb_decode_set_clear_feature function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: Separated decoding functions from dwc3 driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-mtk: add an optional xhci_ck clock (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add support for FT232H CBUS gpios (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] device property: Remove duplicate test for NULL (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: intel_xhci: Supplying software node for the role mux (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [phy] phy: core: document phy_calibrate() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb-skeleton: make comment block in line with coding style (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbfs: only account once for mmap()'ed usb memory usage (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Call fusb302_debugfs_init earlier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Use usb_debug_root as root for our debugfs entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Use usb_debug_root as root for our debugfs entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ohci-nxp: enable compile-testing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: isd200: remove redundant assignment to variable sendToTransport (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Always provide fwnode for the port (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Remove unused properties (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbfs: Add a capability flag for runtime suspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: remove single-use define for debugging (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: Add definitions for the USB2.0 hub TT requests (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: remove ehci-w90x900 driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbfs: Add ioctls for runtime power management (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbsevseg: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: trancevibrator: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: atm: cxacru: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: lvstest: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cytherm: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cypress_cy7c63: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbtmc: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblp: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ueagle-atm: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: typec: ucsi_ccg: convert i2c driver to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: add support for dev_groups to struct usb_device_driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: add support for dev_groups to struct usb_driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbip: convert platform driver to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Disable USB2 LPM at shutdown (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: Prevent an abnormally restrictive PHY init skipping (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Remove dev_err() usage after platform_get_irq() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-hub: fix extra endianness conversion (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: Remove call to memset after dma_alloc_coherent (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Switch to use fwnode_property_count_uXX() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Switch to use fwnode_property_count_uXX() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: host: oxu210hp-hcd: remove include/linux/oxu210hp.h (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: hcd-pci: Use dev_get_drvdata where possible (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: resume ccgx i2c client (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: add runtime pm support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: refactor master_xfer (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Registering real device entries for the muxes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: implement break control (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: add high baud rate support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ark3116: drop redundant init_termios (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: Supply CCGx driver the fw build info (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [phy] phy: core: Invoke pm_runtime_get_*/pm_runtime_put_* before invoking reset callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Document that of_graph_get_endpoint_by_regs needs of_node_put (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [phy] phy: make phy-core explicitly non-modular (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] OF: properties: add missing of_node_put (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: mark resume function as __maybe_unused (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: Use of_node_name_eq for node name comparisons (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: limit reads also for combined messages (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: adhere to I2C fault codes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: make pm_ops static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: add i2c bus driver for NVIDIA GPU (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [tty] complete ->et_serial() switchover (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb_wwan: switch to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] whiteheat: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] ti_usb_3410_5052: switch to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] ssu100: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] quatech2: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] pl2303: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] opticon: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] mos7840: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] mos7720: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] io_ti: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] io_edgeport: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] fdti_sio: switch to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] f81232: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] ark3116: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] cdc-acm: switch to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-serial: begin switching to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [tty] tty_ioctl(): start taking TIOCSERIAL into separate methods (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Remove device_connection_add() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Remove device_connection_find() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix device_pm_lock() locking for device links (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver code: print symbolic error code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Fix the secondary firmware node handling in set_primary_fwnode() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: add device probe log helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Change delimiter in devlink device's name to "--" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Avoid NULL pointer dereference in device_get_next_child_node() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix sleeping in invalid context during device link deletion (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add waiting_for_supplier sysfs file for devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add state_synced sysfs file for devices that support it (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [documentation] driver core: Expose device link details in sysfs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Avoid deferred probe due to fw_devlink_pause/resume() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Rename dev_links_info.defer_sync to defer_hook (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Don't do deferred probe in parallel with kernel_init thread (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Use software_node_unregister() when unregistering group of nodes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add device_is_dependent() to linux/device.h (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Update device link status correctly for SYNC_STATE_ONLY links (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: implement software_node_unregister() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [lib] lib/test_printf: Add tests for pfw printk modifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Remove unnecessary is_fwnode_dev variable in device_add() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers property: When no children in primary, try secondary (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix handling of SYNC_STATE_ONLY + STATELESS device links (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix SYNC_STATE_ONLY device link implementation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Remove check in driver_deferred_probe_force_trigger() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: fw_devlink: Add support for batching fwnode parsing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Look for waiting consumers only for a fwnode's primary device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Move code to the right part of the file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add device links from fwnode only for the primary device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] Revert "Revert "driver core: Set fw_devlink to "permissive" behavior by default"" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix handling of fw_devlink=permissive (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: fw_devlink_flags can be static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add fw_devlink kernel commandline option (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Reevaluate dev->links.need_for_probe as suppliers are added (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Skip unnecessary work when device doesn't have sync_state() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver core: Add dev_has_sync_state() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Call sync_state() even if supplier has no consumers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Allow device link operations inside sync_state() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add sync_state driver/bus callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add device link support for SYNC_STATE_ONLY flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix creation of device links with PM-runtime flags (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Remove device link creation limitation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver core: Add missing description of new struct device_link field (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add device link flag DL_FLAG_AUTOPROBE_CONSUMER (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Make driver core own stateful device links (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix adding device links to probing suppliers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: core: Remove glue dirs from sysfs earlier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Remove the link if there is no driver with AUTO flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: silence device link messages unless debugging (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] base: core: Remove WARN_ON from link dependencies check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: export set_secondary_fwnode() to modules (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Allow register and unregister software node groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Export fwnode_get_name() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] Revert "software node: Simplify software_node_release() function" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: add basic tests for property entries (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: remove separate handling of references (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: implement reference properties (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: allow embedding of small arrays into property_entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: replace is_array with is_inline (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] software node: unify PROPERTY_ENTRY_XXX macros (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: simplify property_entry_read_string_array() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: remove property_entry_read_uNN_array functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: get rid of property_set_pointer() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [firmware] efi/apple-properties: use PROPERTY_ENTRY_U8_ARRAY_LEN (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] software node: mark internal macros with double underscores (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] software node: introduce PROPERTY_ENTRY_XXX_ARRAY_LEN() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] software node: remove DEV_PROP_MAX (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: clean up property_copy_string_array() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Allow fwnode_operations.add_links to differentiate errors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Allow a device to wait on optional suppliers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Add a function to obtain a node's prefix (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Add fwnode_get_name for returning the name of a node (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Add functions for accessing node's parents (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Move fwnode_get_parent() up (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Make argument to to_software_node const (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Get reference to parent swnode in get_parent op (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver core: Add support for linking devices during device addition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add fwnode_to_dev() to look up device from fwnode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Initialize the return value in software_node_find_by_name() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Initialize the return value in software_node_to_swnode() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Add fwnode_connection_find_match() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Add software_node_find_by_name() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: Introduce device lookup variants by device type (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: Introduce device lookup variants by fwnode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Find connections also by checking the references (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Introduce fwnode_find_reference() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Add software_node_get_reference_args() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Use kobject name when finding child nodes by name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Add support for static node descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Simplify software_node_release() function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Allow node creation without properties (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Add fwnode_graph_get_endpoint_by_id() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: swnode: Make two functions static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Implement get_named_child_node fwnode callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Find device connections also from device graphs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Prepare support for firmware described connections (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: drop use of BUS_ATTR() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: bus: convert to use BUS_ATTR_WO and RW (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: swnode: check if swnode is NULL before dereferencing it (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: swnode: check if pointer p is NULL before dereferencing it (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] sysfs: Disable lockdep for driver bind/unbind files (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: fix fwnode_graph_get_next_endpoint() documentation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: swnode: remove need for a temporary string for the node name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] kobject: return error code if writing /sys/.../uevent fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Remove struct property_set (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Move device_add_properties() to swnode.c (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: Introducing software nodes to the firmware node framework (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [mm] powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm (Chris von Recklinghausen) [1862347] - [powerpc] powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM (Chris von Recklinghausen) [1862347] - [fs] mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race (Chris von Recklinghausen) [1862347] - [arm64] arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect() (Andrew Jones) [1908439] - [arm64] arm64: pgtable: Fix pte_accessible() (Andrew Jones) [1908439] - [kernel] kernel: fork: properly initialize task_struct->task_struct_rh (Rafael Aquini) [1895892] - [s390] s390/dasd: Process FCES path event notification (Philipp Rudo) [1723823] - [s390] s390/dasd: Prepare for additional path event handling (Philipp Rudo) [1723823] - [s390] s390/dasd: Display FC Endpoint Security information via sysfs (Philipp Rudo) [1723823] - [s390] s390/dasd: Fix operational path inconsistency (Philipp Rudo) [1723823] - [s390] s390/dasd: Store path configuration data during path handling (Philipp Rudo) [1723823] - [s390] s390/dasd: Move duplicate code to separate function (Philipp Rudo) [1723823] - [s390] s390/dasd: Remove unused parameter from dasd_generic_probe() (Philipp Rudo) [1723823] - [s390] s390/cio: Add support for FCES status notification (Philipp Rudo) [1723823] - [s390] s390/cio: Provide Endpoint-Security Mode per CU (Philipp Rudo) [1723823] - [s390] s390/cio: Export information about Endpoint-Security Capability (Philipp Rudo) [1723823] - [net] net/af_iucv: fix null pointer dereference on shutdown (Philipp Rudo) [1903966] - [s390] s390/dasd: fix null pointer dereference for ERP requests (Philipp Rudo) [1903965] - [tools] selftests: netfilter: add command usage (Hangbin Liu) [1899374] - [tools] selftests: netfilter: simplify command testing (Hangbin Liu) [1899374] - [tools] selftests: netfilter: remove unused variable in make_file() (Hangbin Liu) [1899374] - [tools] selftests: netfilter: exit on invalid parameters (Hangbin Liu) [1899374] - [tools] selftests: netfilter: fix header example (Hangbin Liu) [1899374] - [tools] selftests: netfilter: kill running process only (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add MTU arguments to flowtables (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add checktool function (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add test case for conntrack helper assignment (Hangbin Liu) [1899374] - [tools] selftests: netfilter: extend nfqueue test case (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add nfqueue test case (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add ipvs tunnel test case (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add ipvs nat test case (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add ipvs test script (Hangbin Liu) [1899374] - [tools] selftests: netfilter: check icmp pkttoobig errors are set as related (Hangbin Liu) [1899374] - [hwtracing] intel_th: pci: Add Emmitsburg PCH support (Jiri Olsa) [1838703] - [hwtracing] intel_th: pci: Add Tiger Lake PCH-H support (Jiri Olsa) [1783492 1782729] - [hwtracing] intel_th: pci: Add Jasper Lake CPU support (Jiri Olsa) [1783097] - [hwtracing] intel_th: pci: Add Elkhart Lake CPU support (Jiri Olsa) [1783596] - [hwtracing] intel_th: pci: Add Elkhart Lake SOC support (Jiri Olsa) [1783596] - [hwtracing] intel_th: pci: Add Ice Lake CPU support (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Fix a NULL dereference when hub driver is not loaded (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: msu: Make stopping the trace optional (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Fix user-visible error codes (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: msu: Fix the unexpected state warning (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Disallow multi mode on devices where it's broken (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: msu: Fix window switching without windows (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Fix freeing IRQs (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Fix a double put_device() in error path (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729]- [idle] intel_idle: Fix intel_idle() vs tracing (David Arcari) [1903307] - [idle] intel_idle: Fix max_cstate for processor models without C-state tables (David Arcari) [1903307] - [idle] intel_idle: Ignore _CST if control cannot be taken from the platform (David Arcari) [1903307] - [idle] intel_idle: mention assumption that WBINVD is not needed (David Arcari) [1903307] - [idle] intel_idle: Remove uninitialized_var() usage (David Arcari) [1903307] - [idle] intel_idle: cleanup code to address out of order commits (David Arcari) [1903307] - [s390] Revert "s390/qeth: phase out OSN support" (Philipp Rudo) [1903962] - [net] net/smc: fix matching of existing link groups (Philipp Rudo) [1903961] - [netdrv] mlxsw: core: Use variable timeout for EMAD retries (Ivan Vecera) [1857594] - [netdrv] mlxsw: Fix firmware flashing (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Fix use-after-free in mlxsw_emad_trans_finish() (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Fix memory leak on module removal (Ivan Vecera) [1857594] - [netdrv] mlxsw: Only advertise link modes supported by both driver and device (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Add a PFC test (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Add headroom handling test (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: qos_lib: Add a wrapper for running mlnx_qos (Ivan Vecera) [1857594] - [tools] selftests: forwarding: devlink_lib: Support port-less topologies (Ivan Vecera) [1857594] - [tools] selftests: forwarding: devlink_lib: Add devlink_cell_size_get() (Ivan Vecera) [1857594] - [tools] selftests: forwarding: devlink_lib: Split devlink_..._set() into save & set (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Expose transceiver_overheat counter (Ivan Vecera) [1857594] - [netdrv] mlxsw: Update module's settings when module is plugged in (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Initialize netdev's module overheat counter (Ivan Vecera) [1857594] - [netdrv] mlxsw: Enable temperature event for all supported port module sensors (Ivan Vecera) [1857594] - [netdrv] mlxsw: Update transceiver_overheat counter according to MTWE (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Add an infrastructure to track transceiver overheat counter (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_hwmon: Query MTMP before writing to set only relevant fields (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Ports Module Administrative and Operational Status Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Port Module Plug/Unplug Event Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Management Temperature Warning Event Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Fix mlxsw_sp_acl_tcam_group_add()'s error path (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: simplify the return expression of __mlxsw_sp_router_init() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_qdisc: Disable port buffer autoresize with qdiscs (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Implement dcbnl_setbuffer / getbuffer (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Support two headroom modes (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Manage internal buffer in the hdroom code (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Introduce shared buffer ops (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Convert mlxsw_sp_port_headroom_init() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Inline mlxsw_sp_sb_max_headroom_cells() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Move here the new headroom code (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Move here the three-step headroom configuration from DCB (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Convert mlxsw_sp_port_pg_prio_map() to hdroom code (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Convert ETS handler fully to mlxsw_sp_hdroom_configure() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Split headroom autoresize out of buffer configuration (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Track buffer sizes in struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Track lossiness in struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Track priorities in struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Track MTU in struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Unify delay handling between PFC and pause (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Add struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Introduce fw_fatal health reporter (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Monitoring FW General Debug Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Monitoring FW Debug Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: Move fw_load_policy devlink param into core.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Push code doing params register/unregister into separate helpers (Ivan Vecera) [1857594] - [netdrv] mlxsw: Move fw flashing code into core.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: Bump firmware version to XX.2008.1310 (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Derive SBIB from maximum port speed & MTU (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Keep maximum speed around (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Keep maximum MTU around (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Introduce ptys_max_speed callback (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Extract a helper to get Ethernet attributes (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_hwmon: Extend hwmon interface with critical and emergency alarms (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_hwmon: Calculate MLXSW_HWMON_ATTR_COUNT more accurately (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_hwmon: Split temperature querying from show functions (Ivan Vecera) [1857594] - [netdrv] treewide: Use fallthrough pseudo-keyword (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Remove internal speeds from PTYS register (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Reduce runtime of tc-police scale test (Ivan Vecera) [1857594] - [tools] selftests: forwarding: Fix mausezahn delay parameter in mirror_test() (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Increase burst size for burst test (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Increase burst size for rate test (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Decrease required rate accuracy (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Adjust default policer burst size for Spectrum-{2, 3} (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ptp: Use generic helper function (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: RED: Test offload of trapping on RED qevents (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_qdisc: Offload action trap for qevents (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Add early_drop trap (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Allow for per-ASIC traps initialization (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Allow for per-ASIC trap groups initialization (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: On policer_id_base_ref_count, use dec_and_test (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Use 'size_t' for array sizes (Ivan Vecera) [1857594] - [netdrv] devlink: Pass extack when setting trap's action and group's parameters (Ivan Vecera) [1857594] - [net] devlink: Add early_drop trap (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_cnt: Use flex_array_size() helper in memcpy() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Fix use-after-free in router init / de-init (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Free EMAD transactions using kfree_rcu() (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Increase scope of RCU read-side critical section (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use different trap group for externally routed packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Allow programming link-local host routes (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Add support for temperature thresholds reading for QSFP-DD transceivers (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Add ethtool support for QSFP-DD transceivers (Ivan Vecera) [1857594] - [netdrv] mlxsw: destroy workqueue when trap_register in mlxsw_emad_init (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Fix wrong SFP EEPROM reading for upper pages 1-3 (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Test policers' occupancy (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Add scale test for tc-police (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: tc_restrictions: Test tc-police restrictions (Ivan Vecera) [1857594] - [tools] selftests: forwarding: Add tc-police tests (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Offload FLOW_ACTION_POLICE (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_acl_flex_actions: Add police action (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_acl_flex_actions: Work around hardware limitation (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_policer: Add devlink resource support (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_policer: Add policer core (Ivan Vecera) [1857594] - [netdrv] mlxsw: resources: Add resource identifier for global policers (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add policer bandwidth limits (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Use mirror reason during Rx listener lookup (Ivan Vecera) [1857594] - [netdrv] mlxsw: pci: Retrieve mirror reason from CQE during receive (Ivan Vecera) [1857594] - [netdrv] mlxsw: pci: Add mirror reason field to CQEv2 (Ivan Vecera) [1857594] - [netdrv] mlxsw: trap: Add trap identifiers for mirrored packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Increase trap identifier to 10 bits (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Allow setting policer on a SPAN agent (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Allow passing parameters to SPAN agents (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add support for mirroring towards CPU port (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Do not dereference destination netdev (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add driver private info to parms_set() callback (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add per-ASIC SPAN agent operations (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: add mirroring_pid_base to MOGCR register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add session_id and pid to MPAT register (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: RED: Test offload of mirror on RED early_drop qevent (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_qdisc: Offload mirroring on RED qevent early_drop (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flow: Promote binder-type dispatch to spectrum.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Publish matchall data structures (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flow: Drop an unused field (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flow: Convert a goto to a return (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add APIs to enable / disable global mirroring triggers (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add support for global mirroring triggers (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Prepare for global mirroring triggers (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Move SPAN operations out of global file (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Monitoring Port Analyzer Global Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Monitoring Mirror Trigger Enable Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: pci: Fix use-after-free in case of failed devlink reload (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Remove inappropriate usage of WARN_ON() (Ivan Vecera) [1857594] - [tools] selftests: forwarding: Add tests for ethtool extended state (Ivan Vecera) [1857594] - [tools] selftests: forwarding: forwarding.config.sample: Add port with no cable connected (Ivan Vecera) [1857594] - [tools] selftests: forwarding: ethtool: Move different_speeds_get() to ethtool_lib (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Add link extended state (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Port Diagnostics Database Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Move mlxsw_sp_port_type_speed_ops structs (Ivan Vecera) [1857594] - [netdrv] mlxsw: Move ethtool_ops to spectrum_ethtool.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Rename mlxsw_sp_port_headroom_set() (Ivan Vecera) [1857594] - [netdrv] mlxsw: Enforce firmware version for Spectrum-3 (Ivan Vecera) [1857594] - [netdrv] mlxsw: Bump firmware version to XX.2007.1168 (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Fix a spelling typo in spectrum_dcb.c (Ivan Vecera) [1857594] - [tools] selftests: forwarding: Add a test for pedit munge tcp, udp sport, dport (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Support FLOW_ACTION_MANGLE for TCP, UDP ports (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_acl_flex_actions: Add L4_PORT_ACTION (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Split handling of pedit mangle by chip type (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Do not rely on machine endianness (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Adjust headroom buffers for 8x ports (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Use different get_trend() callbacks for different thermal zones (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Add test for control packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Register ACL control traps (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Register layer 3 control traps (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Register layer 2 control traps (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Factor out common Rx listener function (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Move layer 3 exceptions to exceptions trap group (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: remove redundant initialization of pointer br_dev (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Allow programming link-local prefix routes (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Add packet traps for BFD packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Treat IPv6 link-local SIP as an exception (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Share one group for all locally delivered packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Move all trap groups under the same enum (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Do not hard code "thin" policer identifier (Ivan Vecera) [1857594] - [netdrv] mlxsw: switchx2: Move SwitchX-2 trap groups out of main enum (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Reduce priority of locally delivered packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same trap group for local routes and link-local destination (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use separate trap group for FID miss (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same trap group for various IPv6 packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Rename IPv6 ND trap group (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same switch case for identical groups (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use dedicated trap group for ACL trap (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Fix spelling mistake in trap's name (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use dedicated trap group for sampled packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same trap group for IPv6 ND and ARP packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Rename ARP trap group (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Remove unnecessary field (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Align TC and trap priority (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Assign non-zero quotas to TC 0 of the CPU port (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Change default rate and priority of DHCP packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Trap IPv4 DHCP packets in router (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same trap group for MLD and IGMP packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Rename IGMP trap group (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Do not hard code trap group name (Ivan Vecera) [1857594] - [tools] selftests: devlink_lib: Remove double blank line (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Store all trap data in one array (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Store all trap group data in one array (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Store all trap policer data in one array (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Move struct definition out of header file (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: tc_restrictions: add couple of test for the correct matchall-flower ordering (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: tc_restrictions: add test to check sample action restrictions (Ivan Vecera) [1857594] - [] selftests: mlxsw: rename tc_flower_restrictions.sh to tc_restrictions.sh (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flower: Forbid to insert flower rules in collision with matchall rules (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Forbid to insert matchall rules in collision with flower rules (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Expose a function to get min and max rule priority (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Put matchall list into substruct of flow struct (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flower: Expose a function to get min and max rule priority (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Restrict sample action to be allowed only on ingress (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Remove old SPAN API (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Use new analyzed ports list during speed / MTU change (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Convert flower-based mirroring to new SPAN API (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Convert matchall-based mirroring to new SPAN API (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add APIs to bind / unbind a SPAN agent (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Wrap buffer change in a function (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Rename function (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add APIs to get / put an analyzed port (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add APIs to get / put a SPAN agent (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Move flow offload binding into spectrum_flow.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Process matchall events from the same cb as flower (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Avoid copying sample values and use RCU pointer direcly instead (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Push per-port rule add/del into separate functions (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Move ingress indication into mall_entry (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Pass mall_entry as arg to mlxsw_sp_mall_port_sample_add() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Pass mall_entry as arg to mlxsw_sp_mall_port_mirror_add() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Use block variable in mlxsw_sp_acl_rule_del() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Push matchall bits into a separate file (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Push flow_block related functions into a separate file (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Rename acl_block to flow_block (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Move block helpers into inline header functions (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Replace zero-length array with flexible-array member (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Use 'refcount_t' for reference counting (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Remove unnecessary debug prints (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Rename parms() to parms_set() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Reduce nesting in mlxsw_sp_span_entry_configure() (Ivan Vecera) [1857594] - [netdrv] net/mlxfw: Remove unneeded semicolon (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Increase register field length to 13 bits (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Re-increase scale of IPv6 nexthop groups (Ivan Vecera) [1857594] - [net] ipv6: Fix use of anycast address with loopback (Ivan Vecera) [1899591] - [net] ipv6: addrconf_f6i_alloc - fix non-null pointer check to !IS_ERR() (Ivan Vecera) [1899591] - [net] ipv6: fix excessive RTF_ADDRCONF flag on ::1/128 local route (and others) (Ivan Vecera) [1899591] - [net] ipv6: Change addrconf_f6i_alloc to use ip6_route_info_create (Ivan Vecera) [1899591] - [net] ipv6: Move setting default metric for routes (Ivan Vecera) [1899591] - [net] Add extack argument to ip_fib_metrics_init (Ivan Vecera) [1899591] - [net] ipv6: do not leave garbage in rt->fib6_metrics (Ivan Vecera) [1899591] - [net] Move free of dst_metrics to helper (Ivan Vecera) [1899591] - [net] common metrics init helper for dst_entry (Ivan Vecera) [1899591] - [net] Move free of fib_metrics to helper (Ivan Vecera) [1899591] - [net] common metrics init helper for FIB entries (Ivan Vecera) [1899591] - [net] rtmsg_to_fib6_config() - use new style struct initializer instead of memset (Ivan Vecera) [1899591] - [powercap] powercap/intel_rapl: enumerate Psys RAPL domain together with package RAPL domain (Puneet Sethi) [1893463] - [powercap] powercap/intel_rapl: Fix domain detection (Puneet Sethi) [1893463]- [net] openvswitch: fix TTL decrement exception action execution (Eelco Chaudron) [1902610] - [net] openvswitch: fix error return code in validate_and_copy_dec_ttl() (Eelco Chaudron) [1902610] - [net] openvswitch: fix TTL decrement action netlink message format (Eelco Chaudron) [1902610] - [x86] hyperv: Enable 15-bit APIC ID if the hypervisor supports it (Vitaly Kuznetsov) [1903823] - [x86] kvm: Enable 15-bit extension when KVM_FEATURE_MSI_EXT_DEST_ID detected (Vitaly Kuznetsov) [1903823] - [documentation] x86/kvm: Reserve KVM_FEATURE_MSI_EXT_DEST_ID (Vitaly Kuznetsov) [1903823] - [iommu] hyper-v: Disable IRQ pseudo-remapping if 15 bit APIC IDs are available (Vitaly Kuznetsov) [1903823] - [x86] apic: Support 15 bits of APIC ID in MSI where available (Vitaly Kuznetsov) [1903823] - [x86] msi: Provide msi message shadow structs (Vitaly Kuznetsov) [1903823] - [kernel] genirq/msi: allow shadow declarations of msi_msg:: $member (Vitaly Kuznetsov) [1903823] - [x86] ioapic: Handle Extended Destination ID field in RTE (Vitaly Kuznetsov) [1903823] - [x86] apic: Always provide irq_compose_msi_msg() method for vector domain (Vitaly Kuznetsov) [1903823] - [x86] apic: Cleanup delivery mode defines (Vitaly Kuznetsov) [1903823] - [x86] apic/uv: Fix inconsistent destination mode (Vitaly Kuznetsov) [1903823] - [x86] msi: Only use high bits of MSI address for DMAR unit (Vitaly Kuznetsov) [1903823] - [x86] msi: Move compose message callback where it belongs (Vitaly Kuznetsov) [1903823] - [kernel] genirq/chip: Use the first chip in irq_chip_compose_msi_msg() (Vitaly Kuznetsov) [1903823] - [x86] apic: Fix x2apic enablement without interrupt remapping (Vitaly Kuznetsov) [1903823] - [tools] perf test: Fix msan uninitialized use (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Fix the ratio comments of miss-events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Free formats for perf pmu parse test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Do not free metric when failed to resolve (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Free metric when it failed to resolve (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Release expr_parse_ctx after testing (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Fix memory leaks in parse-metric test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-event: Fix memory leak in evsel->unit (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix cpu/thread map leak (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Fix some memory leaks - part 2 (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Fix some memory leaks (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Free aliases for PMU event map aliases test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf vendor events amd: Remove trailing commas (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Leader sampling shouldn't clear sample period (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Prevent override of attr->sample_period for libpfm4 events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Set PERF_RECORD_PERIOD if attr->freq is set (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench: Fix 2 memory sanitizer warnings (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Fix the "signal" test inline assembly (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record/stat: Explicitly call out event modifiers in the documentation (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fix build warning on 32-bit arches (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf jevents: Fix suspicious code in fixregex() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Use uintptr_t when casting numbers to pointers (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf report: Disable ordered_events for raw dump (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Correct SNOOPX field offset (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Fix corrupt data after perf inject from (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf cs-etm: Fix corrupt data after perf inject from (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Avoid an uninitialized read when using fake PMUs (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Fix out of bounds array access in the print_counters() evlist method (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Set NULL sentinel in pmu_events table in "Parse and process metrics" test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Set exclude_guest=1 for user-space counting (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Correct the help info of option "--no-bpf-event" (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Use zd for size_t printf formats on 32-bit (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf: arm-spe: Fix check error when synthesizing events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf symbols: Add mwait_idle_with_hints.constprop.0 to the list of idle symbols (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf sched timehist: Fix use of CPU list with summary option (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Fix basic bpf filtering test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Make option description initials all capital letters (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf build-ids: Fall back to debuginfod query if debuginfo not found (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Remove dead code in parse_nodes_opt() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Update POWER9 metrics to utilize other metrics (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add change log (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf: ftrace: Add set_tracing_options() to set all trace options (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option --tid to filter by thread id (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option -D/--delay to delay tracing (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf: ftrace: Allow set graph depth by '--graph-opts' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for trace option tracing_thresh (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option 'verbose' to show more info for graph tracer (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for tracing option 'irq-info' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for trace option funcgraph-irqs (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for trace option sleep-time (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for tracing option 'func_stack_trace' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add general function to parse sublevel options (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option '--inherit' to trace children processes (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Show trace column header (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option '-m/--buffer-size' to set per-cpu buffer size (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Factor out function write_tracing_file_int() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option '-F/--funcs' to list available functions (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Select function/function_graph tracer automatically (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Use numa_node_to_cpus() to bind tasks to nodes (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Fix cpumask memory leak in node_has_cpus() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools build feature: Quote CC and CXX for their arguments (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Fix module symbol processing (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Rename 'enum dso_kernel_type' to 'enum dso_space_type' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libperf: Fix man page typos (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Allow multiple probes in record+script_probe_vfs_getname.sh (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench mem: Always memset source before memcpy (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf sched: Prefer sched_waking event when it exists (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench: Fix a couple of spelling mistakes in options text (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Fix benchmark names (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Fix number of processes in "2x3-convergence" test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf trace beauty: Use the autogenerated protocol family table (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf trace beauty: Add script to autogenerate socket families table (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Add 'tod' field to display time of day (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Change the 'enum perf_output_field' enumerators to be 64 bits (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf data: Add support to store time of day in CTF data conversion (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Move clockid_res_ns under clock struct (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf header: Store clock references for -k/--clockid option (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add clockid_name function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf clockid: Move parse_clockid() to new clockid object (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Handle possible strdup() error in tep_add_plugin_path() API (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fixed description of tep_add_plugin_path() API (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fixed type in PRINT_FMT_STING (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fixed broken indentation in parse_ip4_print_args() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Improve error handling of tep_plugin_add_option() API (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fix typo in tep_plugin_add_option() description (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Handle strdup() error in parse_option_name() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Document tep_load_plugins_hook() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evsel: Extend message to mention CAP_SYS_PTRACE and perf security doc link (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Add support for decoding PSB+ only (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Add support for decoding FUP/TIP only (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf auxtrace: Add itrace 'q' option for quicker, less detailed decoding (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Time filter logged perf events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Use itrace debug log flags to suppress some messages (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf auxtrace: Add optional log flags to the itrace 'd' option (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Use itrace error flags to suppress some errors (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf auxtrace: Add optional error flags to the itrace 'e' option (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf auxtrace: Add missing itrace options to help text (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Improve aux_output not supported error (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Fix duplicate branch after CBR (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Fix FUP packet state (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Introduce --control fd:ctl-fdoptions (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Implement control commands handling (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Extend -D, --delay option with -1 value (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Introduce --control fd:ctl-fdoptions (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench: Add benchmark of find_next_bit (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools build feature: Use CC and CXX from parent (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Rename group_list to metric_list (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Rename struct egroup to metric (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add metric group test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Make compute_single function more precise (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add recursion check when processing nested metrics (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add DCache_L2 to metric parse test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add cache_miss_cycles to metric parse test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add events for the current list (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Compute referenced metrics (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add referenced metrics to hash data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Collect referenced metrics in struct metric_expr (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Collect referenced metrics in struct metric_ref_node (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Rename __metricgroup__add_metric to __add_metric (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add add_metric function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add macros for iterating map events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add expr__del_id function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Change expr__get_id to return struct expr_id_data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add expr__add_id function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Fix memory leak in expr__add_id function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Ensure sample_period is set libpfm4 events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Fix term parsing for raw syntax (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Allow r0x event syntax (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: No need to cache the PMUs in ARM SPE auxtrace init routine (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench: Add basic syscall benchmark (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Implement control commands handling (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: extend -D, --delay option with -1 value (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Factor out event handling loop into dispatch_events() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Factor out body of event handling loop for fork case (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Move target check to loop control statement (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Factor out body of event handling loop for system wide (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Implement control command handling functions (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Introduce control file descriptors (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libperf: Avoid counting of nonfilterable fdarray fds (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libperf: Add flags to fdarray fds objects (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libperf: Avoid internal moving of fdarray fds (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add 'struct expr_id_data' to keep expr value (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Rename expr__add_id() to expr__add_val() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf probe: Warn if the target function is a GNU indirect function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf probe: Fix memory leakage when the probe point is not found (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf probe: Fix wrong variable warning when the probe point is not found (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf probe: Avoid setting probes on the same address for the same event (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf kmem: Pass additional arguments to 'perf record' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Report BPF errors (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Show text poke address symbol (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Add option --show-text-poke-events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Add support for text poke events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add support for PERF_RECORD_TEXT_POKE (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf annotate: Fix non-null terminated buffer returned by readlink() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf inject jit: Remove //anon mmap events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf symbols: Add s390 idle functions 'psw_idle' and 'psw_idle_exit' to list of idle symbols (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Fix reporting of unknown SVM exit reasons (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Change to SPDX License format (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add builtin handler for trace_marker_raw (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Move kernel_stack event handler to "function" plugin (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add plugin for decoding syscalls/sys_enter_futex (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add offset option for function plugin (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add more SVM exit reasons (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add plugin for tlb_flush (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Optimize pretty_print() function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add support for more printk format specifiers (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Introduced new traceevent API, for adding new plugins directories (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add interface for options to plugins (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add tep_load_plugins_hook() API (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Disable a subset of bison warnings (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Disable a subset of flex warnings (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Declare bison header file output (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf expr: Add missing headers noticed when building with NO_LIBBPF=1 (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Declare flex header file output (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: Add flex debug build flag (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: Add bison debug build flag (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Use automatic variable for yacc input (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Use automatic variable for flex input (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' branch_type methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' sample_id_all methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' sample_type methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' strerror methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' 'add' evsel methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: Improve CPU core PMU HW event list ordering (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: List kernel supplied event aliases for arm64 (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf cs-etm: Allow no CoreSight sink to be specified on command line (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf expr: Add < and > operators (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf expr: Add d_ratio operation (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Fixup some evsel/evlist method names (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tests: Add parse metric test for frontend metric (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tests: Add parse metric test for ipc metric (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add test_generic_metric function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Release metric_events rblist (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Factor out prepare_metric function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add metricgroup__parse_groups_test function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add map to parse_groups() function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add fake_pmu to parse_group() function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse: Factor out parse_groups() function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tests: Add another metric parsing test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: Add a perf_pmu__fake object to use with __parse_events() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse: Provide a way to pass a fake_pmu to parse_events() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tests: Factor check_parse_id function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add fake pmu support (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf annotate: Remove unneeded conversion to bool (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools/: replace HTTP links with HTTPS ones (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools, build: Propagate build failures from tools/build/Makefile.build (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] x86/cpufeatures: Add Architectural LBRs feature bit (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/rapl: Add support for Intel SPR platform (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/rapl: Support multiple RAPL unit quirks (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/rapl: Fix missing psys sysfs attributes (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf/core: Take over CAP_SYS_PTRACE creds to CAP_PERFMON capability (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf: Expose get/put_callchain_entry() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [include] perf: : drop a duplicated word (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Remove task_ctx_size (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Create kmem_cache for the LBR context data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf/core: Use kmem_cache to allocate the PMU specific data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf/core: Factor out functions to allocate/free the task_ctx_data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Support Architectural LBR (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Factor out intel_pmu_store_lbr (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Factor out rdlbr_all() and wrlbr_all() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Mark the {rd, wr}lbr_{to, from} wrappers __always_inline (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Unify the stored format of LBR information (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Support LBR_CTL (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] x86/msr-index: Add bunch of MSRs for Arch LBR (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Expose CPUID enumeration bits for arch LBR (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Use dynamic data structure for task_ctx (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Factor out a new struct for generic optimization (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Add the function pointers for LBR save and restore (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Add a function pointer for LBR read (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Add a function pointer for LBR reset (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Keep LBR records unchanged in host context for guest usage (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Add constraint to create guest LBR event without hw counter (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/lbr: Add interface to get LBR information (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Provide stubs of KVM helpers for non-Intel CPUs (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/core: Refactor hw->idx checks and cleanup (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Fix variable types for LBR registers (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf: Add perf text poke event (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [uapi] perf: Add perf_event_mmap_page::cap_user_time_short ABI (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] sev-es: Do not support MMIO to/from encrypted memory (Vitaly Kuznetsov) [1868080] - [x86] head/64: Check SEV encryption before switching to kernel page-table (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Sanity-check CPUID results in the early #VC handler (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Check SEV encryption in 64-bit boot-path (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Introduce sev_status (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Use GHCB accessor for setting the MMIO scratch buffer (Vitaly Kuznetsov) [1868080] - [x86] head/64: Disable stack protection for head$(BITS).o (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Check required CPU features for SEV-ES (Vitaly Kuznetsov) [1868080] - [x86] efi: Add GHCB mappings when SEV-ES is active (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle NMI State (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Support CPU offline/online (Vitaly Kuznetsov) [1868080] - [x86] head/64: Don't call verify_cpu() on starting APs (Vitaly Kuznetsov) [1868080] - [x86] smpboot: Load TSS and getcpu GDT entry before loading IDT (Vitaly Kuznetsov) [1868080] - [x86] realmode: Setup AP jump table (Vitaly Kuznetsov) [1868080] - [x86] realmode: Add SEV-ES specific trampoline entry point (Vitaly Kuznetsov) [1868080] - [x86] vmware: Add VMware-specific handling for VMMCALL under SEV-ES (Vitaly Kuznetsov) [1868080] - [x86] kvm: Add KVM-specific VMMCALL handling under SEV-ES (Vitaly Kuznetsov) [1868080] - [x86] paravirt: Allow hypervisor-specific VMMCALL handling under SEV-ES (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle #DB Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle #AC Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle VMMCALL Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MWAIT/MWAITX Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MONITOR/MONITORX Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle INVD Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle RDPMC Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle RDTSC(P) Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle WBINVD Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle DR7 read/write events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MSR events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MMIO String Instructions (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MMIO events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle instruction fetches from user-space (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Wire up existing #VC exit-code handlers (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Add a Runtime #VC Exception Handler (Vitaly Kuznetsov) [1868080] - [x86] entry/64: Add entry code for #VC handler (Vitaly Kuznetsov) [1868080] - [x86] dumpstack/64: Add noinstr version of get_stack_info() (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Adjust #VC IST Stack on entering NMI handler (Vitaly Kuznetsov) [1868080] - [x86] boot/64: Explicitly map boot_params and command line (Vitaly Kuznetsov) [1868080] - [x86] boot/64: Initialize 5-level paging variables earlier (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Allocate and map an IST stack for #VC handler (Vitaly Kuznetsov) [1868080] - [x86] debug: Allow a single level of #DB recursion (Vitaly Kuznetsov) [1868080] - [x86] entry: Remove DBn stacks (Vitaly Kuznetsov) [1868080] - [x86] entry, nmi: Disable #DB (Vitaly Kuznetsov) [1868080] - [x86] nmi: Protect NMI entry against instrumentation (Vitaly Kuznetsov) [1868080] - [x86] entry: Introduce local_db_{save, restore}() (Vitaly Kuznetsov) [1868080] - [x86] db: Split out dr6/7 handling (Vitaly Kuznetsov) [1868080] - [x86] Replace ist_enter() with nmi_enter() (Vitaly Kuznetsov) [1868080] - [x86] traps: Stop using ist_enter/exit() in do_int3() (Vitaly Kuznetsov) [1868080] - [x86] entry: Get rid of ist_begin/end_non_atomic() (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Setup per-CPU GHCBs for the runtime handler (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Setup GHCB-based boot #VC handler (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Setup an early #VC handler (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Compile early handler code into kernel image (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Print SEV-ES info into the kernel log (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Add SEV-ES Feature Detection (Vitaly Kuznetsov) [1868080] - [x86] head/64: Move early exception dispatch to C code (Vitaly Kuznetsov) [1868080] - [x86] idt: Make IDT init functions static inlines (Vitaly Kuznetsov) [1868080] - [x86] head/64: Install a CPU bringup IDT (Vitaly Kuznetsov) [1868080] - [x86] head/64: Switch to initial stack earlier (Vitaly Kuznetsov) [1868080] - [x86] head/64: Load segment registers earlier (Vitaly Kuznetsov) [1868080] - [x86] irq/64: Update stale comment (Vitaly Kuznetsov) [1868080] - [x86] head/64: Load GDT after switch to virtual addresses (Vitaly Kuznetsov) [1868080] - [x86] head/64: Install startup GDT (Vitaly Kuznetsov) [1868080] - [x86] idt: Split idt_data setup out of set_intr_gate() (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Add CPUID handling to #VC handler (Vitaly Kuznetsov) [1868080] - [x86] fpu: Move xgetbv()/xsetbv() into a separate header (Vitaly Kuznetsov) [1868080] - [x86] cpu: Use XGETBV and XSETBV mnemonics in fpu/internal.h (Vitaly Kuznetsov) [1868080] - [x86] fpu: Reset MXCSR to default in kernel_fpu_begin() (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Add support for handling IOIO exceptions (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Unmap GHCB page before booting the kernel (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Setup a GHCB-based VC Exception handler (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Add set_page_en/decrypted() helpers (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Check return value of kernel_ident_mapping_init() (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Call set_sev_encryption_mask() earlier (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Add stage1 #VC handler (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Change add_identity_map() to take start and end (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Don't pre-map memory in KASLR code (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Always switch to own page table (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Add page-fault handler (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Rename kaslr_64.c to ident_map_64.c (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Add IDT Infrastructure (Vitaly Kuznetsov) [1868080] - [x86] traps: Split trap numbers out in a separate header (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Disable red-zone usage (Vitaly Kuznetsov) [1868080] - [x86] insn: Add insn_has_rep_prefix() helper (Vitaly Kuznetsov) [1868080] - [x86] insn: Add insn_get_modrm_reg_off() (Vitaly Kuznetsov) [1868080] - [x86] umip: Factor out instruction decoding (Vitaly Kuznetsov) [1868080] - [x86] umip: Factor out instruction fetch (Vitaly Kuznetsov) [1868080] - [tools] x86/insn: Make inat-tables.c suitable for pre-decompression code (Vitaly Kuznetsov) [1868080] - [x86] traps: Move pf error codes to (Vitaly Kuznetsov) [1868080] - [x86] cpufeatures: Add SEV-ES CPU feature (Vitaly Kuznetsov) [1868080] - [x86] kvm: svm: Use __packed shorthand (Vitaly Kuznetsov) [1868080] - [x86] kvm: svm: Add GHCB Accessor functions (Vitaly Kuznetsov) [1868080] - [x86] cpu: Unify cpu_init() (Vitaly Kuznetsov) [1868080] - [x86] insn-eval: Add support for 64-bit kernel mode (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed: Get rid of GOT fixup code (Vitaly Kuznetsov) [1868080] - [kernel] x86/boot/compressed: Force hidden visibility for all symbol references (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed: Move .got.plt entries out of the .got section (Vitaly Kuznetsov) [1868080] - [x86] boot: Correct relocation destination on old linkers (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Switch to __KERNEL_CS after GDT is loaded (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed: Fix reloading of GDTR post-relocation (Vitaly Kuznetsov) [1868080] - [x86] boot: Reload GDTR after copying to the end of the buffer (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed: Don't declare __force_order in kaslr_64.c (Vitaly Kuznetsov) [1868080] - [mm] mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault() (Philipp Rudo) [1903968] - [s390] s390/ap: fix ap devices reference counting (Philipp Rudo) [1903967] - [infiniband] RDMA/cxgb4: Validate the number of CQEs (Kamal Heib) [1894720] - [net] treewide: Use fallthrough pseudo-keyword (Petr Oros) [1892748] - [net] devlink: Remove overzealous WARN_ON with snapshots (Petr Oros) [1892748] - [net] devlink: ignore -EOPNOTSUPP errors on dumpit (Petr Oros) [1892748] - [net] devlink: Always use user_ptr[0] for devlink and simplify post_doit (Petr Oros) [1892748] - [net] devlink: Constify devlink instance pointer (Petr Oros) [1892748] - [net] devlink: Add comment for devlink instance lock (Petr Oros) [1892748] - [net] devlink: Do not hold devlink mutex when initializing devlink fields (Petr Oros) [1892748] - [docs] ice: add documentation for device-caps region (Petr Oros) [1892748] - [net] devlink: remove new uninitialized_var() usage (Petr Oros) [1892748] - [docs] networking: convert sja1105's devlink info to RTS (Petr Oros) [1892748] - [net] devlink: refactor end checks in devlink_nl_cmd_region_read_dumpit (Petr Oros) [1892748] - [docs] ice: cleanup language in ice.rst for fw.app (Petr Oros) [1892748] - [docs] devlink: don't wrap commands in rST shell blocks (Petr Oros) [1892748] - [net] devlink: Protect devlink port list traversal (Petr Oros) [1895042] - [net] devlink: Fix per port reporter fields initialization (Petr Oros) [1895042] - [net] devlink: Fix use-after-free when destroying health reporters (Petr Oros) [1895042] - [net] devlink: introduce the health reporter test command (Petr Oros) [1895042] - [net] devlink: Add devlink health port reporters API (Petr Oros) [1895042] - [net] devlink: Implement devlink health reporters on per-port basis (Petr Oros) [1895042] - [net] devlink: Create generic devlink health reporter search function (Petr Oros) [1895042] - [net] devlink: Rework devlink health reporter destructor (Petr Oros) [1895042] - [net] devlink: Refactor devlink health reporter constructor (Petr Oros) [1895042]- [md] dm writecache: fix the maximum number of arguments (Mike Snitzer) [1895117] - [md] dm writecache: advance the number of arguments when reporting max_age (Mike Snitzer) [1895117] - [x86] x86/cpu/amd: Make erratum #1054 a legacy erratum (Michael Petlan) [1791459] - [x86] x86/cpu/amd: Enable the fixed Instructions Retired counter IRPERF (Michael Petlan) [1791459] - [s390] s390/early: improve machine detection (Claudio Imbrenda) [1896307] - [infiniband] IB/mlx5: Fix fall-through warnings for Clang (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix corruption of reg_pages in mlx5_ib_rereg_user_mr() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Properly convey driver version to firmware (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: kTLS, Enforce HW TX csum offload with kTLS (Alaa Hleihel) [1858561] - [netdrv] net: mlx5e: fix fs_tcp.c build when IPV6 is not enabled (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix wrong address reclaim when command interface is down (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-Switch, Fail mlx5_esw_modify_vport_rate if qos disabled (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Disable QoS when min_rates on all VFs are zero (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Clear bw_share upon VF disable (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add handling of port type in rule deletion (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix check if netdev is bond slave (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Set IPsec WAs only in IP's non checksum partial case (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix incorrect access of RCU-protected xdp_prog (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix VXLAN synchronization after function reload (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Avoid extack error log for disabled vport (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix deletion of duplicate rules (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Protect encap route dev from concurrent release (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix modify header actions memory leak (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix devlink deadlock on net namespace deletion (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix type warning of sizeof in __mlx5_ib_alloc_counters() (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Clarify what the UMR is for when creating MRs (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Make mkeys always owned by the kernel's PD when not enabled (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Use set_mkc_access_pd_addr_fields() in reg_create() (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Remove dead check for EAGAIN after alloc_mr_from_cache() (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix potential race between destroy and CQE poll (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: IPsec: Use kvfree() for memory allocated with kvzalloc() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: TC: Remove unused parameter from mlx5_tc_ct_add_no_trk_match() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-Switch, Setup all vports' metadata to support peer miss rule (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-Switch, Dedicated metadata for uplink vport (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-Switch, Check and enable metadata support flag before using (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Don't call timecounter cyc2time directly from 1PPS flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Release clock lock before scheduling a PPS work (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Rename ptp clock info (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Always use container_of to find mdev pointer from clock struct (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix uninitialized variable warning (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: IPsec: Add Connect-X IPsec Tx data path offload (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5e: IPsec: Add TX steering rule per IPsec state (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5: Add NIC TX domain namespace (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5e: Enhanced TX MPWQE for SKBs (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move TX code into functions to be used by MPWQE (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Rename xmit-related structs to generalize them (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Generalize TX MPWQE checks for full session (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Support multiple SKBs in a TX WQE (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move the TLS resync check out of the function (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Unify constants for WQE_EMPTY_DS_COUNT (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Small improvements for XDP TX MPWQE logic (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Refactor xmit functions (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move mlx5e_tx_wqe_inline_mode to en_tx.c (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Use struct assignment to initialize mlx5e_tx_wqe_info (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Refactor inline header size calculation in the TX path (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add IPv6 traffic class (DSCP) header rewrite support (Alaa Hleihel) [1889981 1858561] - [netdrv] net/mlx5e: Add LAG warning if bond slave is not lag master (Alaa Hleihel) [1858561 1851709] - [netdrv] net/mlx5e: Add LAG warning for unsupported tx type (Alaa Hleihel) [1858561 1851709] - [netdrv] net/mlx5e: Return a valid errno if can't get lag device index (Alaa Hleihel) [1858561 1851709] - [netdrv] net/mlx5e: Fix race condition on nhe->n pointer in neigh update (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix VLAN create flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix VLAN cleanup flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix return status when setting unsupported FEC mode (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix driver's declaration to support GRE offload (Alaa Hleihel) [1858561 1819619] - [netdrv] net/mlx5e: CT, Fix coverity issue (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add resiliency in Striding RQ mode for packets larger than MTU (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix error path for RQ alloc (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix request_irqs error flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: cmdif, Avoid skipping reclaim pages if FW is not accessible (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add retry mechanism to the command entry index allocation (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: poll cmd EQ in case of command timeout (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Avoid possible free of command entry while timeout comp handler (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix a race when moving command interface to polling mode (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: mlx5e_fec_in_caps() returns a boolean (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: TLS, Do not expose FPGA TLS counter if not supported (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix using wrong stats_grps in mlx5e_update_ndo_stats() (Alaa Hleihel) [1870593 1858561] - [netdrv] net/mlx5e: Fix multicast counter not up-to-date in "ip -s" (Alaa Hleihel) [1858561 1693130] - [netdrv] net/mlx5e: Fix endianness when calculating pedit mask first bit (Alaa Hleihel) [1889981 1858561] - [netdrv] net/mlx5e: Enable adding peer miss rules only if merged eswitch is supported (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: CT: Fix freeing ct_label mapping (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix memory leak of tunnel info when rule under multipath not ready (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Use synchronize_rcu to sync with NAPI (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Use RCU to protect rq->xdp_prog (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix FTE cleanup (Alaa Hleihel) [1858561] - [infiniband] mlx5: Use fallthrough pseudo-keyword (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix flow destination setting for RDMA TX flow table (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Delete extra dump stack that gives nothing (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: convert to new udp_tunnel infrastructure (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: DR, Change push vlan action sequence (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Enable users to change VF/PF representors carrier state (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Delete unreachable code (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: drop unnecessary list_empty (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Use fallthrough pseudo-keyword (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: DR, Reduce print level for matcher print (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add support for PCI relaxed ordering (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Use indirect call wrappers for RX post WQEs functions (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move exposure of datapath function to txrx header (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: RX, Re-work initializaiton of RX function pointers (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Use eswitch total_vports (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: E-switch, Reuse total_vports and avoid duplicate nvports (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: E-switch, Consider maximum vf vports for steering init (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: Add function ID to reclaim pages debug log (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Hold pages RB tree per VF (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7 (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Use MLX5_SET macro instead of local structure (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Add missing srcu_read_lock in ODP implicit flow (Alaa Hleihel) [1858561] - [include] RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Allow SQ modification (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Do not request completion on every single UMR WQE (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: RX, Avoid indirect call in representor CQE handling (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: XDP, Avoid indirect call in TX flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: IPsec: Add Connect-X IPsec ESN update offload support (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5e: IPsec: Add Connect-X IPsec Rx data path offload (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5e: IPsec: Add IPsec steering in local NIC RX (Alaa Hleihel) [1858561 1790222] - [include] net/mlx5: Add IPsec related Flow steering entry's fields (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5: IPsec: Add HW crypto offload support (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5: Accel, Add core IPsec support for the Connect-X family (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5: E-switch, Reduce dependency on num_vfs during mode set (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: E-switch, Avoid function change handler for non ECPF (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Make MLX5_EN_TLS non-prompt (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Enable count action for rules with allow action (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add interface changes required for VDPA (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add VDPA interface type to supported enumerations (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Support setting access rights of dma addresses (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move devlink port register and unregister calls (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Remove unused to_mibmr function (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, When eswitch is unsupported, return -EOPNOTSUPP (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Added support for 100Gbps per lane link modes (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Delete one-time used functions (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Cleanup DEVX initialization flow (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Separate flow steering logic from main.c (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Separate counters from main.c (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Separate restrack callbacks initialization from main.c (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Limit the scope of mlx5_ib_enable_driver function (Alaa Hleihel) [1858561] - [infiniband] RDMA: Move XRCD to be under ib_core responsibility (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Introduce UAPI to query PD attributes (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Implement the query ucontext functionality (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Refactor mlx5_ib_alloc_ucontext() response (Alaa Hleihel) [1858561] - [infiniband] RDMA/core: Optimize XRC target lookup (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Get XRCD number directly for the internal use (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Enable QP number request when creating IPoIB underlay QP (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Introduce ODP prefetch counter (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Enhance TX timeout recovery (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Enhance ICOSQ data on RX reporter's diagnose (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add EQ info to TX/RX reporter's diagnose (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Enhance CQ data on diagnose output (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Rename reporter's helpers (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add helper to get the RQ WQE counter (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add helper to get RQ WQE's head (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move RQ helpers to txrx.h (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Align RX/TX reporters diagnose output format (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Remove redundant RQ state query (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add a flush timeout define (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Change reporters create functions to return void (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: fix memory leak of tls (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix build break when CONFIG_XPS is not set (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: kTLS, Add kTLS RX HW offload support (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: kTLS, Use kernel API to extract private offload context (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: kTLS, Improve TLS feature modularity (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Accel, Expose flow steering API for rules add/del (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Receive flow steering framework for accelerated TCP flows (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: API to manipulate TTC rules destinations (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Refactor build channel params (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Turn XSK ICOSQ into a general asynchronous one (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: kTLS, Improve TLS params layout structures (Alaa Hleihel) [1858561] - [include] net/mlx5: Avoid RDMA file inclusion in core driver (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: vxlan: Return bool instead of opaque ptr in port_lookup() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move TC-specific function definitions into MLX5_CLS_ACT (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Use kfree(ft->g) in arfs_create_groups() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: FWTrace: Add missing space (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Add support to get MR resource in RAW format (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Add support to get CQ resource in RAW format (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Add support to get QP resource in RAW format (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add support in query QP, CQ and MKEY segments (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Export resource dump interface (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Supporting setting devlink port function mac address (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Split mac address setting function for using state_lock (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Support querying port function mac address (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Move helper to eswitch layer (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Introduce and use eswitch support check helper (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: Constify mac address pointer (Alaa Hleihel) [1858561] - [tty] serial: 8250: export serial8250_do_set_divisor() (Steve Best) [1784119] - [tty] serial: 8250: introduce get_divisor() and set_divisor() hook (Steve Best) [1784119] - [tty] serial: 8250: let serial8250_get_divisor() get uart_port * as param (Steve Best) [1784119] - [tty] serial: 8250_lpss: Add ->setup() for Elkhart Lake ports (Steve Best) [1784119] - [tty] serial: 8250_lpss: Switch over to MSI interrupts (Steve Best) [1784119] - [tty] serial: 8250_lpss: Enable HS UART on Elkhart Lake (Steve Best) [1784119] - [tty] serial: 8250_lpss: Get rid of custom LPSS_DEVICE() macro (Steve Best) [1784119] - [tty] serial: 8250_lpss: register DMA IRQ and pool with instance ID (Steve Best) [1784119] - [tty] serial: 8250_lpss: add fractional divisor support (Steve Best) [1784119] - [tty] serial: 8250_lpss: switch to use 8250_dwlib library (Steve Best) [1784119] - [tty] tty: serial: Use the correct style for SPDX License Identifier (Steve Best) [1784119] - [tty] serial: 8250_dw: split Synopsys DesignWare 8250 common functions (Steve Best) [1784119] - [tty] 8250_lpss: check null return when calling pci_ioremap_bar (Steve Best) [1784119] - [dma] dmaengine: dw: Remove misleading is_private property (Steve Best) [1784119] - [tty] serial: 8250: fix null-ptr-deref in serial8250_start_tx() (John Linville) [1903272] {CVE-2020-15437} - [i2c] i2c: designware-pci: Fix BUG_ON during device removal (Steve Best) [1784122] - [i2c] i2c: designware-pci: Add support for Elkhart Lake PSE I2C (Steve Best) [1784122] - [i2c] i2c: designware-pci: Switch over to MSI interrupts (Steve Best) [1784122] - [mmc] mmc: sdhci: Add LTR support for some Intel BYT based controllers (Steve Best) [1906791] - [mmc] mmc: sdhci-pci: Add max-frequency device property for Intel controllers (Steve Best) [1906791] - [powerpc] powerpc/64s: Trim offlined CPUs from mm_cpumasks (Steve Best) [1905892] - [kernel] kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling (Steve Best) [1905892] - [mm] powerpc/64s/pseries: Fix hash tlbiel_all_isa300 for guest kernels (Steve Best) [1905892] - [mm] powerpc/64s: Fix hash ISA v3.0 TLBIEL instruction generation (Steve Best) [1905892] - [mm] powerpc/64s: Add cp_abort after tlbiel to invalidate copy-buffer address (Steve Best) [1905892] - [powerpc] powerpc: untangle cputable mce include (Steve Best) [1905892] - [mmc] mmc: sdhci-pci: Add support for Intel EHL (Steve Best) [1783588] - [scsi] qla2xxx: Update version to 10.02.00.104-k (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix device loss on 4G and older HBAs (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: If fcport is undergoing deletion complete I/O with retry (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix the call trace for flush workqueue (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix flash update in 28XX adapters on big endian machines (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Handle aborts correctly for port undergoing deletion (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix N2N and NVMe connect retry failure (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix FW initialization error on big endian machines (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix crash during driver load on big endian machines (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix compilation issue in PPC systems (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Don't check for fw_started while posting NVMe command (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Tear down session if FW say it is down (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Limit interrupt vectors to number of CPUs (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Change post del message from debug level to log level (Nilesh Javali) [1905493] - [s390] s390/qeth: Remove pnso workaround (Philipp Rudo) [1903964] - [s390] s390/purgatory: do not build purgatory with kcov, kasan and friends (Philipp Rudo) [1900550] - [fs] iomap: Fix misplaced page flushing (Carlos Maiolino) [1868429] - [fs] iomap: Use round_down/round_up macros in __iomap_write_begin (Carlos Maiolino) [1868429] - [fs] iomap: Mark read blocks uptodate in write_begin (Carlos Maiolino) [1868429] - [fs] iomap: Clear page error before beginning a write (Carlos Maiolino) [1868429] - [fs] iomap: fix WARN_ON_ONCE() from unprivileged users (Carlos Maiolino) [1868429] - [fs] iomap: fall back to buffered writes for invalidation failures (Carlos Maiolino) [1868429] - [fs] iomap: Only invalidate page cache pages on direct IO writes (Carlos Maiolino) [1868429] - [fs] iomap: Make sure iomap_end is called after iomap_begin (Carlos Maiolino) [1868429] - [fs] iomap: Fix unsharing of an extent >2GB on a 32-bit machine (Carlos Maiolino) [1868429] - [fs] iomap: fix the iomap_fiemap prototype (Carlos Maiolino) [1868429] - [fs] iomap: remove lockdep_assert_held() (Carlos Maiolino) [1868429] - [mm] powerpc/numa: Fix a regression on memoryless node 0 (Steve Best) [1903613] - [mm] powerpc/numa: Offline memoryless cpuless node 0 (Steve Best) [1903613] - [mm] powerpc/numa: Prefer node id queried from vphn (Steve Best) [1903613] - [mm] powerpc/numa: Set numa_node for all possible cpus (Steve Best) [1903613] - [powerpc] powerpc/numa: Remove late request for home node associativity (Steve Best) [1903613] - [mm] powerpc/numa: Early request for home node associativity (Steve Best) [1903613] - [mm] powerpc/numa: Use cpu node map of first sibling thread (Steve Best) [1903613] - [x86] xen: don't unbind uninitialized lock_kicker_irq (Brian Masney) [1896786] - [net] Bluetooth: Acquire sk_lock.slock without disabling interrupts (Ivan Vecera) [1889859] - [wireless] mwifiex: fix double free (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: run init_cfg function once per driver load (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: remove no filter condition (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: split a print to avoid a WARNING in ROC (Jarod Wilson) [1860496] - [wireless] qtnfmac: fix resource leaks on unsupported iftype error return path (Jarod Wilson) [1860496] - [net] nl80211: fix OBSS PD min and max offset validation (Jarod Wilson) [1860496] - [wireless] rtw88: Fix potential probe error handling race with wow firmware loading (Jarod Wilson) [1860496] - [wireless] rtw88: Fix probe error handling race with firmware loading (Jarod Wilson) [1860496] - [wireless] ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd() (Jarod Wilson) [1860496] - [wireless] ath11k: Add checked value for ath11k_ahb_remove (Jarod Wilson) [1860496] - [wireless] mwifiex: remove function pointer check (Jarod Wilson) [1860496] - [wireless] ath11k: fix uninitialized return in ath11k_spectral_process_data() (Jarod Wilson) [1860496] - [wireless] ath11k: fix a double free and a memory leak (Jarod Wilson) [1860496] - [wireless] rtw88: fix compile warning: (Jarod Wilson) [1860496] - [wireless] mwifiex: Remove unnecessary braces from HostCmd_SET_SEQ_NO_BSS_INFO (Jarod Wilson) [1860496] - [wireless] rtw88: don't treat NULL pointer as an array (Jarod Wilson) [1860496] - [wireless] mwifiex: Do not use GFP_KERNEL in atomic context (Jarod Wilson) [1860496] - [wireless] brcmfmac: check ndev pointer (Jarod Wilson) [1860496] - [wireless] ath11k: Fix possible memleak in ath11k_qmi_init_service (Jarod Wilson) [1860496] - [wireless] ath10k: Fix the size used in a 'dma_free_coherent()' call in an error handling path (Jarod Wilson) [1860496] - [wireless] ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb() (Jarod Wilson) [1860496] - [wireless] ath9k_htc: Use appropriate rs_datalen type (Jarod Wilson) [1860496] - [wireless] ath6kl: prevent potential array overflow in ath6kl_add_new_sta() (Jarod Wilson) [1860496] - [net] net: wireless: nl80211: fix out-of-bounds access in nl80211_del_key() (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: reduce maximum VHT MPDU length to 7991 (Jarod Wilson) [1860496] - [net] mac80211: fix 80 MHz association to 160/80+80 AP on 6 GHz (Jarod Wilson) [1860496] - [net] mac80211: do not allow bigger VHT MPDUs than the hardware supports (Jarod Wilson) [1860496] - [net] cfg80211: fix 6 GHz channel conversion (Jarod Wilson) [1860496] - [net] mac80211: do not disable HE if HT is missing on 2.4 GHz (Jarod Wilson) [1860496] - [net] mac80211: Fix radiotap header channel flag for 6GHz band (Jarod Wilson) [1860496] - [net] lib80211: fix unmet direct dependendices config warning when !CRYPTO (Jarod Wilson) [1860496] - [net] mac80211: add AQL support for VHT160 tx rates (Jarod Wilson) [1860496] - [net] mac80211: extend AQL aggregation estimation to HE and fix unit mismatch (Jarod Wilson) [1860496] - [wireless] mwifiex: Increase AES key storage size to 256 bits (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: use ieee80211_free_txskb to free tx skbs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: use v1 MCU API on MT7615 to fix issues with adding/removing stations (Jarod Wilson) [1860496] - [net] cfg80211: Adjust 6 GHz frequency to channel conversion (Jarod Wilson) [1860496] - [net] mac80211: reduce packet loss event false positives (Jarod Wilson) [1860496] - [net] cfg80211: regulatory: reject invalid hints (Jarod Wilson) [1860496] - [net] wireless: fix wrong 160/80+80 MHz setting (Jarod Wilson) [1860496] - [net] mac80211: improve AQL aggregation estimation for low data rates (Jarod Wilson) [1860496] - [net] mac80211: factor out code to look up the average packet length duration for a rate (Jarod Wilson) [1860496] - [net] mac80211: use rate provided via status->rate on ieee80211_tx_status_ext for AQL (Jarod Wilson) [1860496] - [net] nl80211: fix NL80211_ATTR_HE_6GHZ_CAPABILITY usage (Jarod Wilson) [1860496] - [wireless] brcmfmac: reserve tx credit only when txctl is ready to send (Jarod Wilson) [1860496] - [net] wireless: Use fallthrough pseudo-keyword (Jarod Wilson) [1860496] - [wireless] rtl818x: constify ioreadX() iomem argument (as in generic implementation) (Jarod Wilson) [1860496] - [net] mac80211: Do not report beacon loss if beacon filtering enabled (Jarod Wilson) [1860496] - [net] mac80211: fix misplaced while instead of if (Jarod Wilson) [1860496] - [net] nl80211: use eth_zero_addr() to clear mac address (Jarod Wilson) [1860496] - [net] mac80211: use eth_zero_addr() to clear mac address (Jarod Wilson) [1860496] - [net] mac8211: fix struct initialisation (Jarod Wilson) [1860496] - [net] mac80211: Handle special status codes in SAE commit (Jarod Wilson) [1860496] - [wireless] brcmfmac: Set timeout value when configuring power save (Jarod Wilson) [1860496] - [wireless] hostap: use generic power management (Jarod Wilson) [1860496] - [wireless] rt2x00: pci: use generic power management (Jarod Wilson) [1860496] - [wireless] mt7601u: add missing release on skb in mt7601u_mcu_msg_send (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: don't print failure if debug firmware is missing (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: coex: add functions and parameters (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: make symbol 'rtw8821c_rtw_pwr_track_tbl' static (Jarod Wilson) [1860496] - [wireless] rtw88: add h2c command in debugfs (Jarod Wilson) [1860496] - [wireless] rtw88: allows driver to enable/disable beacon (Jarod Wilson) [1860496] - [wireless] rtw88: add ieee80211_ops::change_interface (Jarod Wilson) [1860496] - [wireless] rtw88: coex: only skip coex triggered by BT info (Jarod Wilson) [1860496] - [wireless] rtw88: update tx descriptor of mgmt and reserved page packets (Jarod Wilson) [1860496] - [wireless] rtw88: fix short GI capability based on current bandwidth (Jarod Wilson) [1860496] - [wireless] rtw88: fix LDPC field for RA info (Jarod Wilson) [1860496] - [wireless] prism54: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1860496] - [wireless] prism54: islpci_hotplug: use generic power management (Jarod Wilson) [1860496] - [wireless] prism54: Replace HTTP links with HTTPS ones (Jarod Wilson) [1860496] - [wireless] p54: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1860496] - [wireless] mwifiex: 11n_rxreorder: Remove unnecessary cast in kfree() (Jarod Wilson) [1860496] - [wireless] rtlwifi: btcoex: use *ph to print small buffer (Jarod Wilson) [1860496] - [wireless] rtlwifi: btcoex: remove redundant initialization of variables ant_num and single_ant_path (Jarod Wilson) [1860496] - [net] mac80211: warn only once in check_sdata_in_driver() at each caller (Jarod Wilson) [1860496] - [net] nl80211: support 4-way handshake offloading for WPA/WPA2-PSK in AP mode (Jarod Wilson) [1860496] - [net] cfg80211: invert HE BSS color 'disabled' to 'enabled' (Jarod Wilson) [1860496] - [net] mac80211: add a function for running rx without passing skbs to the stack (Jarod Wilson) [1860496] - [net] mac80211: parse radiotap header when selecting Tx queue (Jarod Wilson) [1860496] - [net] mac80211: remove unused flags argument in transmit functions (Jarod Wilson) [1860496] - [net] mac80211: use same flag everywhere to avoid sequence number overwrite (Jarod Wilson) [1860496] - [net] mac80211: do not overwrite the sequence number if requested (Jarod Wilson) [1860496] - [net] mac80211: add radiotap flag to prevent sequence number overwrite (Jarod Wilson) [1860496] - [net] mac80211: never drop injected frames even if normally not allowed (Jarod Wilson) [1860496] - [uapi] cfg80211: Add support to advertize OCV support (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: avoid bss color setting in non-HE modes (Jarod Wilson) [1860496] - [net] mac80211: calculate skb hash early when using itxq (Jarod Wilson) [1860496] - [net] mac80211: improve AQL tx airtime estimation (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: add connected to auth server to station info (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: add connected to auth server to meshconf (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: add mesh_param "mesh_nolearn" to skip path discovery (Jarod Wilson) [1860496] - [net] cfg80211: allow the low level driver to flush the BSS table (Jarod Wilson) [1860496] - [net] mac80211: Use fallthrough pseudo-keyword (Jarod Wilson) [1860496] - [net] nl80211: Simplify error handling path in 'nl80211_trigger_scan()' (Jarod Wilson) [1860496] - [net] nl80211: Remove a misleading label in 'nl80211_trigger_scan()' (Jarod Wilson) [1860496] - [uapi] net/wireless: wireless.h: drop duplicate word in comments (Jarod Wilson) [1860496] - [uapi] net/wireless: nl80211.h: drop duplicate words in comments (Jarod Wilson) [1860496] - [net] cfg80211: allow vendor dumpit to terminate by returning 0 (Jarod Wilson) [1860496] - [net] mac80211: remove the need for variable rates_idx (Jarod Wilson) [1860496] - [net] nl80211: S1G band and channel definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add missing release on skb in __mt76x02u_mcu_send_msg (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix possible memory leak in mt7615_mcu_wtbl_sta_add (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix potential memory leak in mcu message handler (Jarod Wilson) [1860496] - [wireless] mt76: mt76s: move queue accounting in mt76s_tx_queue_skb (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663s support (Jarod Wilson) [1860496] - [wireless] mt76: introduce mt76_sdio module (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663-usb-sdio-common module (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: sdio code must access rate/key regs in preocess context (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76_skb_adjust_pad utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: take into account sdio bus configuring txwi (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add missing CONFIG_MAC80211_DEBUGFS (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: potential array overflow in mt7915_mcu_tx_rate_report() (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix potential memory leak in mcu message handler (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: fix potential memory leak in mcu message handler (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: fix memory leak in set key (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: reschedule ps work according to last activity (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: avoid scheduling runtime-pm during hw scan (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: sync probe sampling with rate configuration (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: improve mt7615_driver_own reliability (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add idle-timeout knob in mt7615 debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: enable beacon hw filter for runtime-pm (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add runtime-pm knob in mt7615 debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not request {driver, fw}_own if already granted (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: check MT76_STATE_PM flag before accessing the device (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: run mt7615_pm_wake in mt7615_mac_sta_{add, remove} (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before pushing frames in mt7615_tx (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before pulling packets from mac80211 queues (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: run mt7615_mcu_set_roc holding mt76 mutex (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: run mt7615_mcu_set_wmm holding mt76 mutex (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add missing lock in mt7615_regd_notifier (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before performing freq scan (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: acquire driver_own before configuring device for suspend (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device in mt7615_update_channel before access regmap (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce pm_power_save delayed work (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before configuring hw keys (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before accessing regmap in debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mutex_{acquire, release} utilities (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7615_pm_wake utility routine (Jarod Wilson) [1860496] - [wireless] mt76: move mt76 workqueue in common code (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: avoid polling in fw_own for mt7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: avoid memcpy in rxv operation (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2u: enable HC-M7662BU1 (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2: fix pci suspend/resume on mt7612e (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: update HE capabilities (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: implement testmode support (Jarod Wilson) [1860496] - [wireless] mt76: add API for testmode support (Jarod Wilson) [1860496] - [wireless] mt76: vif_mask to struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: use full on-chip memory address for WF_PHY registers (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for accessing RF registers via MCU (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for accessing mapped registers via bus ops (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: schedule tx tasklet and sta poll on mac tx free (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2e: rename routines in pci.c (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: overwrite qid for non-bufferable mgmt frames (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: use ieee80211_tx_queue_params to avoid open coded (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add MU-MIMO support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add a fixed AC queue mapping (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add .set_tsf callback (Jarod Wilson) [1860496] - [wireless] mt76: add U-APSD support on AP side (Jarod Wilson) [1860496] - [wireless] mt76: rely on register macros (Jarod Wilson) [1860496] - [wireless] mt76: fix include in pci.h (Jarod Wilson) [1860496] - [wireless] mt76: allow more channels, allowed in ETSI domain (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix up typo in Kconfig for MT7663U (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: introduce ARP filter offload (Jarod Wilson) [1860496] - [wireless] mt76: usb: rely on mt76_for_each_q_rx (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: re-enable offloading of sequence number assignment (Jarod Wilson) [1860496] - [wireless] wireless: Fix trivial spelling (Jarod Wilson) [1860496] - [wireless] rtlwifi: 8821ae: remove unused path B parameters from swing table (Jarod Wilson) [1860496] - [wireless] rtlwifi: Use const in 8188ee/8723be/8821ae swing_table declarations (Jarod Wilson) [1860496] - [wireless] rtl818x_pci: use generic power management (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192cu: Free ieee80211_hw if probing fails (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192cu: Prevent leaking urb (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192cu: Fix deadlock (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192cu: Remove uninitialized_var() usage (Jarod Wilson) [1860496] - [wireless] orinoco_usb: fix spelling mistake (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8188ee: Fix endian issue (Jarod Wilson) [1860496] - [wireless] rtlwifi: Fix endian issue in ps.c (Jarod Wilson) [1860496] - [wireless] broadcom: fix wiki website url (Jarod Wilson) [1860496] - [wireless] wireless: fix wiki website url in main Kconfig (Jarod Wilson) [1860496] - [wireless] rtw88: coex: Fix ACL Tx pause during BT inquiry/page (Jarod Wilson) [1860496] - [wireless] mwifiex: Prevent memory corruption handling keys (Jarod Wilson) [1860496] - [wireless] mwifiex: Fix reporting 'operation not supported' error code (Jarod Wilson) [1860496] - [wireless] mwifiex: Use macro MWIFIEX_MAX_BSS_NUM for specifying limit of interfaces (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: add new RFE type 6 (Jarod Wilson) [1860496] - [wireless] rtw88: 8822ce: add support for device ID 0xc82f (Jarod Wilson) [1860496] - [wireless] rtw88: pci: disable aspm for platform inter-op with module parameter (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: Add 8821CE to Kconfig and Makefile (Jarod Wilson) [1860496] - [wireless] rtw88: single rf path chips don't support TX STBC (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add beamformee support (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add power tracking (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add cck pd settings (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add phy calibration (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add false alarm statistics (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add query rx desc support (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add set channel support (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add dig related settings (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add set tx power index (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add basic functions (Jarod Wilson) [1860496] - [wireless] brcm80211: brcmsmac: Move LEDs to GPIO descriptors (Jarod Wilson) [1860496] - [wireless] brcmfmac: Transform compatible string for FW loading (Jarod Wilson) [1860496] - [wireless] brcmfmac: set pacing shift before transmitting skb to bus (Jarod Wilson) [1860496] - [wireless] brcmfmac: set state of hanger slot to FREE when flushing PSQ (Jarod Wilson) [1860496] - [wireless] brcmfmac: reset SDIO bus on a firmware crash (Jarod Wilson) [1860496] - [wireless] brcmfmac: do not disconnect for disassoc frame from unconnected AP (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix for wrong disconnection event source information (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix for unable to return to visible SSID (Jarod Wilson) [1860496] - [wireless] brcmfmac: initialize the requested dwell time (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix throughput zero stalls on PM 1 mode due to credit map (Jarod Wilson) [1860496] - [wireless] brcmfmac: update tx status flags to sync with firmware (Jarod Wilson) [1860496] - [wireless] brcmfmac: reserve 2 credits for host tx control path (Jarod Wilson) [1860496] - [wireless] brcmfmac: increase message buffer size for control packets (Jarod Wilson) [1860496] - [wireless] brcmfmac: allow credit borrowing for all access categories (Jarod Wilson) [1860496] - [wireless] brcmfmac: To fix Bss Info flag definition Bug (Jarod Wilson) [1860496] - [wireless] brcmfmac: reduce maximum station interface from 2 to 1 in RSDB mode (Jarod Wilson) [1860496] - [wireless] brcmfmac: keep SDIO watchdog running when console_interval is non-zero (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix invalid permanent MAC address in wiphy (Jarod Wilson) [1860496] - [wireless] brcmfmac: To fix kernel crash on out of boundary access (Jarod Wilson) [1860496] - [net] net: wireless: kerneldoc fixes (Jarod Wilson) [1860496] - [net] net: mac80211: kerneldoc fixes (Jarod Wilson) [1860496] - [wireless] ath11k: fix wmi peer flags in peer assoc command (Jarod Wilson) [1860496] - [wireless] ath11k: Add support for ring backpressure stats (Jarod Wilson) [1860496] - [wireless] ath11k: Add dp tx err stats (Jarod Wilson) [1860496] - [wireless] ath11k: removing redundant reo unlock followed by immediate lock (Jarod Wilson) [1860496] - [wireless] ath11k: add support for spectral scan (Jarod Wilson) [1860496] - [wireless] ath11k: Add direct buffer ring support (Jarod Wilson) [1860496] - [wireless] ath11k: build HE 6 GHz capability (Jarod Wilson) [1860496] - [wireless] ath11k: Add support for 6g scan hint (Jarod Wilson) [1860496] - [wireless] ath11k: Send multiple scan_chan_list messages if required (Jarod Wilson) [1860496] - [wireless] ath11k: Add 6G scan dwell time parameter in scan request command (Jarod Wilson) [1860496] - [wireless] ath11k: set psc channel flag when sending channel list to firmware (Jarod Wilson) [1860496] - [wireless] ath11k: extend peer_assoc_cmd for 6GHz band (Jarod Wilson) [1860496] - [wireless] ath11k: Use freq instead of channel number in rx path (Jarod Wilson) [1860496] - [wireless] ath11k: add support for 6GHz radio in driver (Jarod Wilson) [1860496] - [wireless] ath11k: add 6G frequency list supported by driver (Jarod Wilson) [1860496] - [wireless] net: wireless: intel: fix wiki website url (Jarod Wilson) [1860496] - [wireless] iwlwifi: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: Remove unused inline function iwl_mvm_tid_to_ac_queue (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: fix gcc-10 zero-length-bounds warning (Jarod Wilson) [1860496] - [wireless] ath: fix wiki website url (Jarod Wilson) [1860496] - [wireless] ath10k: Acquire tx_lock in tx error paths (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: remove redundant assignment to variable ret (Jarod Wilson) [1860496] - [wireless] iwlwifi: fix config variable name in comment (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: Fix avg-power report (Jarod Wilson) [1860496] - [wireless] iwlwifi: Don't IWL_WARN on FW reconfiguration (Jarod Wilson) [1860496] - [wireless] iwlwifi: Extended Key ID support for mvm and dvm (Jarod Wilson) [1860496] - [wireless] mwifiex: Fix firmware filename for sd8997 chipset (Jarod Wilson) [1860496] - [wireless] mwifiex: Fix firmware filename for sd8977 chipset (Jarod Wilson) [1860496] - [net] mac80211: remove STA txq pending airtime underflow warning (Jarod Wilson) [1860496] - [net] mac80211: Fix bug in Tx ack status reporting in 802.3 xmit path (Jarod Wilson) [1860496] - [net] cfg80211: check vendor command doit pointer before use (Jarod Wilson) [1860496] - [net] mac80211: mesh: Free pending skb when destroying a mpath (Jarod Wilson) [1860496] - [net] mac80211: mesh: Free ie data when leaving mesh (Jarod Wilson) [1860496] - [net] mac80211: fix warning in 6 GHz IE addition in mesh mode (Jarod Wilson) [1860496] - [wireless] ath10k: Fix NULL pointer dereference in AHB device probe (Jarod Wilson) [1860496] - [wireless] iwlwifi: Make some Killer Wireless-AC 1550 cards work again (Jarod Wilson) [1860496] - [wireless] ath9k: Fix regression with Atheros 9271 (Jarod Wilson) [1860496] - [net] nl80211: fix memory leak when parsing NL80211_ATTR_HE_BSS_COLOR (Jarod Wilson) [1860496] - [net] nl80211: don't return err unconditionally in nl80211_start_ap() (Jarod Wilson) [1860496] - [net] mac80211: allow rx of mesh eapol frames with default rx key (Jarod Wilson) [1860496] - [net] mac80211: skip mpath lookup also for control port tx (Jarod Wilson) [1860496] - [net] mac80211: Fix dropping broadcast packets in 802.11 encap (Jarod Wilson) [1860496] - [net] mac80211: simplify mesh code (Jarod Wilson) [1860496] - [net] mac80211: fix control port tx status check (Jarod Wilson) [1860496] - [include] ieee80211: Add missing and new AKM suite selector definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix EEPROM buffer size (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: fix memory leaks in mt7663u_probe (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: do not access uninitialized NAPI structs (Jarod Wilson) [1860496] - [wireless] iwlwifi: fix crash in iwl_dbg_tlv_alloc_trigger (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: don't call iwl_mvm_free_inactive_queue() under RCU (Jarod Wilson) [1860496] - [wireless] wireless: replace '---help---' in Kconfig files with 'help' (Jarod Wilson) [1860496] - [net] net: fix wiki website url mac80211 and wireless files (Jarod Wilson) [1860496] - [uapi] include: fix wiki website url in netlink interface header (Jarod Wilson) [1860496] - [wireless] mt76: overwrite qid for non-bufferable mgmt frames (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix hw queue mapping (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix lmac queue debugsfs entry (Jarod Wilson) [1860496] - [wireless] mt76: add missing lock configuring coverage class (Jarod Wilson) [1860496] - [net] mac80211: initialize return flags in HE 6 GHz operation parsing (Jarod Wilson) [1860496] - [net] cfg80211: fix management registrations deadlock (Jarod Wilson) [1860496] - [net] cfg80211: support bigger kek/kck key length (Jarod Wilson) [1860496] - [net] mac80211: set short_slot for 6 GHz band (Jarod Wilson) [1860496] - [net] mac80211: Consider 6 GHz band when handling power constraint (Jarod Wilson) [1860496] - [net] mac80211: accept aggregation sessions on 6 GHz (Jarod Wilson) [1860496] - [net] cfg80211: require HE capabilities for 6 GHz band (Jarod Wilson) [1860496] - [net] cfg80211: reject HT/VHT capabilities on 6 GHz band (Jarod Wilson) [1860496] - [net] cfg80211: treat 6 GHz channels as valid regardless of capability (Jarod Wilson) [1860496] - [net] mac80211: Add HE 6GHz capabilities element to probe request (Jarod Wilson) [1860496] - [net] mac80211: use HE 6 GHz band capability and pass it to the driver (Jarod Wilson) [1860496] - [net] mac80211: check the correct bit for EMA AP (Jarod Wilson) [1860496] - [net] mac80211: determine chandef from HE 6 GHz operation (Jarod Wilson) [1860496] - [net] mac80211: avoid using ext NSS high BW if not supported (Jarod Wilson) [1860496] - [net] mac80211: do not allow HT/VHT IEs in 6 GHz mesh mode (Jarod Wilson) [1860496] - [net] mac80211: build HE operation with 6 GHz oper information (Jarod Wilson) [1860496] - [net] mac80211: add HE 6 GHz Band Capability element (Jarod Wilson) [1860496] - [net] cfg80211: add and expose HE 6 GHz band capabilities (Jarod Wilson) [1860496] - [net] mac80211: add HE 6 GHz Band Capabilities into parse extension (Jarod Wilson) [1860496] - [net] cfg80211: handle 6 GHz capability of new station (Jarod Wilson) [1860496] - [include] ieee80211: add HE ext EIDs and 6 GHz capability defines (Jarod Wilson) [1860496] - [include] ieee80211: add code to obtain and parse 6 GHz operation field (Jarod Wilson) [1860496] - [include] ieee80211: definitions for reduced neighbor reports (Jarod Wilson) [1860496] - [net] cfg80211: add a helper to identify 6 GHz PSCs (Jarod Wilson) [1860496] - [net] nl80211: really allow client-only BIGTK support (Jarod Wilson) [1860496] - [net] cfg80211: adapt to new channelization of the 6GHz band (Jarod Wilson) [1860496] - [net] cfg80211: fix 6 GHz frequencies to kHz (Jarod Wilson) [1860496] - [wireless] ath11k: clear DCM max constellation tx value (Jarod Wilson) [1860496] - [wireless] ath11k: reset trigger frame MAC padding duration (Jarod Wilson) [1860496] - [wireless] ath10k: Remove ath10k_qmi_register_service_notifier() declaration (Jarod Wilson) [1860496] - [wireless] ath9k_htc: Set RX filter based to allow broadcast Action frame RX (Jarod Wilson) [1860496] - [wireless] ath9k: Set RX filter based to allow broadcast Action frame RX (Jarod Wilson) [1860496] - [wireless] mwifiex: Add support for NL80211_ATTR_MAX_AP_ASSOC_STA (Jarod Wilson) [1860496] - [wireless] mwifiex: Parse all API_VER_ID properties (Jarod Wilson) [1860496] - [wireless] brcmfmac: 43012 Update MES Watermark (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix 43455 CRC error under SDIO 3.0 SDR104 mode (Jarod Wilson) [1860496] - [wireless] brcmfmac: set F2 blocksize and watermark for 4354/4356 SDIO (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix 4339 CRC error under SDIO 3.0 SDR104 mode (Jarod Wilson) [1860496] - [wireless] brcmfmac: set F2 blocksize for 4373 (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: remove CCK TX setting when switch channel (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: fix missing brace warning for old compilers (Jarod Wilson) [1860496] - [wireless] rtw88: fix EAPOL 4-way failure by finish IQK earlier (Jarod Wilson) [1860496] - [wireless] rtw88: coex: 8723d: handle BT inquiry cases (Jarod Wilson) [1860496] - [wireless] rtw88: coex: 8723d: set antanna control owner (Jarod Wilson) [1860496] - [wireless] Revert "rtw88: no need to set registers for SDIO" (Jarod Wilson) [1860496] - [wireless] rt2800: enable MFP support unconditionally (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Fix Cypress SDIO IDs macros in common include file (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Move SDIO IDs from b43-sdio driver to common include file (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Move SDIO IDs from ath10k driver to common include file (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Move SDIO IDs from mwifiex driver to common include file (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Change macro names for Marvell 8688 modules (Jarod Wilson) [1860496] - [mmc] mmc: sdio: Fix macro name for Marvell device with ID 0x9134 (Jarod Wilson) [1860496] - [wireless] iwlwifi: bump FW API to 56 for AX devices (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add support for range request version 10 (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: fix aux station leak (Jarod Wilson) [1860496] - [wireless] iwlwifi: move txq-specific from trans_pcie to common trans (Jarod Wilson) [1860496] - [wireless] iwlwifi: move iwl_txq and substructures to a common trans header (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: gen3: indicate 8k/12k RB size to device (Jarod Wilson) [1860496] - [wireless] iwlwifi: acpi: evaluate dsm to enable 5.2 bands in Indonesia (Jarod Wilson) [1860496] - [wireless] iwlwifi: acpi: support device specific method (DSM) (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: keep trans instead of trans_pcie in iwl_txq (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: don't count on the FW to set persistence mode (Jarod Wilson) [1860496] - [wireless] iwlwifi: set NO_HE if the regulatory domain forbids it (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: remove set but not used variable 'msta' (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: Use kmemdup in mt7615_queue_key_update() (Jarod Wilson) [1860496] - [wireless] mt76: only iterate over initialized rx queues (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for MT7611N (Jarod Wilson) [1860496] - [wireless] mt76: fix wcid allocation issues (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix possible NULL pointer dereference in mt7915_register_ext_phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix hw_scan with ssid_type for specified SSID only (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix a handful of spelling mistakes (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: switch to per-vif power_save support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix some sparse warnings (Jarod Wilson) [1860496] - [wireless] mt76: fix per-driver wcid range checks after wcid array size bump (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix decoded radiotap HE flags (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix NULL pointer deref in mt7615_register_ext_phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix sparse warnings: incorrect type initializer (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix some sparse warnings (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add spatial reuse support (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: remove check in mt76x02_mcu_msg_send (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce remain_on_channel support (Jarod Wilson) [1860496] - [net] mac80211: support control port TX status reporting (Jarod Wilson) [1860496] - [net] mac80211: fix HT-Control field reception for management frames (Jarod Wilson) [1860496] - [net] cfg80211: fix CFG82011_CRDA_SUPPORT still mentioning internal regdb (Jarod Wilson) [1860496] - [net] nl80211: Add support to configure TID specific Tx rate configuration (Jarod Wilson) [1860496] - [net] mac80211: allow SA-QUERY processing in userspace (Jarod Wilson) [1860496] - [net] nl80211: add ability to report TX status for control port TX (Jarod Wilson) [1860496] - [net] mac80211: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [net] cfg80211: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [include] mac80211: Add new AMPDU factor macro for HE peer caps (Jarod Wilson) [1860496] - [include] ieee80211: S1G defines (Jarod Wilson) [1860496] - [net] nl80211: support scan frequencies in KHz (Jarod Wilson) [1860496] - [net] nl80211: add KHz frequency offset for most wifi commands (Jarod Wilson) [1860496] - [net] cfg80211: add KHz variants of frame RX API (Jarod Wilson) [1860496] - [net] nl80211: simplify peer specific TID configuration (Jarod Wilson) [1860496] - [net] cfg80211: add support for TID specific AMSDU configuration (Jarod Wilson) [1860496] - [net] mac80211: fix variable names in TID config methods (Jarod Wilson) [1860496] - [net] cfg80211: fix mask type in cfg80211_tid_cfg structure (Jarod Wilson) [1860496] - [net] cfg80211: fix debugfs rename crash (Jarod Wilson) [1860496] - [include] ieee80211: Fix incorrect mask for default PE duration (Jarod Wilson) [1860496] - [net] mac80211: mesh: fix discovery timer re-arming issue / crash (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: Fix build error (Jarod Wilson) [1860496] - [wireless] ath11k: Fix some resource leaks in error path in 'ath11k_thermal_register()' (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192ee: remove redundant for-loop (Jarod Wilson) [1860496] - [wireless] mwifiex: Fix memory corruption in dump_station (Jarod Wilson) [1860496] - [wireless] rtw88: no need to set registers for SDIO (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: fix incorrect setting of ldo_pwr (Jarod Wilson) [1860496] - [wireless] rtw88: rename rtw88.ko/rtwpci.ko to rtw88_core.ko/rtw88_pci.ko (Jarod Wilson) [1860496] - [wireless] rtw88: extract: remove the unused after extracting (Jarod Wilson) [1860496] - [wireless] rtw88: extract: make 8723d an individual kernel module (Jarod Wilson) [1860496] - [wireless] rtw88: extract: make 8822b an individual kernel module (Jarod Wilson) [1860496] - [wireless] rtw88: extract: make 8822c an individual kernel module (Jarod Wilson) [1860496] - [wireless] rtw88: extract: export symbols about pci interface (Jarod Wilson) [1860496] - [wireless] rtw88: extract: export symbols used in chip functionalities (Jarod Wilson) [1860496] - [wireless] rtlwifi: Fix a double free in _rtl_usb_tx_urb_setup() (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix typo defining ps work (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: configure bss info adding the interface (Jarod Wilson) [1860496] - [wireless] mt76: enable p2p support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: reduce hw scan timeout (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not report scan_complete twice to mac80211 (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix the usage WoW with net detect support (Jarod Wilson) [1860496] - [wireless] ath11k: fix htt stats module not handle multiple skbs (Jarod Wilson) [1860496] - [wireless] rtl8187: Remove unused variable rtl8225z2_tx_power_ofdm (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: fix sparse warnings for power tracking (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add 8723DE to Kconfig and Makefile (Jarod Wilson) [1860496] - [wireless] rtw88: fill zeros to words 0x06 and 0x07 of security cam entry (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add coex support (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: set ltecoex register address in chip_info (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: implement flush queue (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add shutdown callback to disable BT USB suspend (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add power tracking (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: add IQ calibration (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add LC calibration (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix WPA/WPA2-PSK 4-way handshake offload and SAE offload failures (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix possible deadlock in mt7915_stop (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: allocate proper size for tlv tags (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add debugfs to track TxBF status (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add TxBF capabilities (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add Tx beamformee support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add Tx beamformer support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: introduce mt7915_get_he_phy_cap (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: usb: cancel ps work stopping the vif (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: add missing register definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: copy key pointer in mt7663u_mac_write_txwi (Jarod Wilson) [1860496] - [wireless] mt76: set runtime stream caps by mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: enable firmware module debug support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add tsf related callbacks (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: set peer Tx fixed rate through debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add .sta_statistics support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add .sta_add_debugfs support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add Rx radiotap header support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add HE capabilities support for peers (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add HE bss_conf support for interfaces (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: register per-phy HE capabilities for each interface (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: implement HE per-rate tx power support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: enable Rx HE rate reporting (Jarod Wilson) [1860496] - [wireless] mt76: add mac80211 driver for MT7915 PCIe-based chipsets (Jarod Wilson) [1860496] - [wireless] mt76: add HE phy modes and hardware queue (Jarod Wilson) [1860496] - [wireless] mt76: adjust wcid size to support new 802.11ax generation (Jarod Wilson) [1860496] - [wireless] mt76: add Rx stats support for radiotap (Jarod Wilson) [1860496] - [wireless] mt76: add support for HE RX rate reporting (Jarod Wilson) [1860496] - [wireless] mt76: avoid rx reorder buffer overflow (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: scan all channels if not specified (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: add support to sched scan with randomise addr (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: introduce WoW with net detect support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix delta tx power for mt7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix target power parsing (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix ibss mode for mt7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: check return value of mt7615_eeprom_get_power_index (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: read tx streams from eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce beacon_loss mcu event (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add gtk rekey offload support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce PM support (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: introduce suspend/resume to mt7663u (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add WoW support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_set_hif_suspend mcu command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce support for hardware beacon filter (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: free pci_vector if mt7615_pci_probe fails (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add passive mode for hw scan (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not mark sched_scan disabled in mt7615_scan_work (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_check_offload_capability routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix ssid configuration in mt7615_mcu_hw_scan (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: remove duplicate error message (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix getting maximum tx power from eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: set spatial extension index (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: remove check in mt7663_load_n9 (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: add the possibility to load firmware v2 (Jarod Wilson) [1860496] - [wireless] mt76: mt76x0: enable MCS 8 and MCS9 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix event report in mt7615_mcu_bss_event (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add sta pointer to mt7615_mcu_add_bss_info signature (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix up BMC entry indicated to unicmd firmware (Jarod Wilson) [1860496] - [wireless] mt76: enable TDLS support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mcu bss upload before creating the sta (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: fix tx status rate index calculation (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix tx status rate index calculation (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not adjust MAC timings if the device is not running (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: adjust timing in mt7615_mac_set_timing to match fw/hw values (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: never use an 802.11b CF-End rate on 5GHz (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: never use an 802.11b CF-End rate on 5GHz (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: use larger rx buffers if VHT is supported (Jarod Wilson) [1860496] - [wireless] mt76: fix A-MPDU density handling (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix sta ampdu factor for VHT (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: enable AirTimeFairness (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework mt7615_mac_sta_poll for usb code (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix aid configuration in mt7615_mcu_wtbl_generic_tlv (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix mt7615_driver_own routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix max wtbl size for 7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix mt7615_firmware_own for mt7663e (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: parse mcu return code for unified commands (Jarod Wilson) [1860496] - [wireless] mt76: add rx queues info to mt76 debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: make Kconfig entry obvious for MT7663E (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: introduce 802.11 PS support in sta mode (Jarod Wilson) [1860496] - [wireless] mt76: remove PS_NULLFUNC_STACK capability (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: provide aid info to the mcu (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable aspm by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: enable scs for mt7663 driver (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663u support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move core shared code in mt7615-common module (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix possible deadlock in mt7615_stop (Jarod Wilson) [1860496] - [wireless] mt76: remove unnecessary annotations (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: enable MSI by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework IRQ handling to prepare for MSI support (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix DMA unmap length (Jarod Wilson) [1860496] - [wireless] mt76: mt7622: fix DMA unmap length (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: set hw scan limits only for firmware with offload support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable hw/sched scan ops for non-offload firmware (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix aggr range entry in debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix possible division by 0 in mt7615_mac_update_mib_stats (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2: disable merge of OTP ROM data by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: disable merge of OTP ROM data by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for applying tx DPD calibration from EEPROM (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for applying DC offset calibration from EEPROM (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable merge of OTP ROM data by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: Delete an error message in mt7622_wmac_probe() (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not always reset the dfs state setting the channel (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: correct the name of the rom patch (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add address parameter to mt7615_eeprom_init (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_wtbl_desc data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework wtbl key configuration (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: rely on mt7622 queue scheme for mt7663u (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mt7615_mac_wtbl_addr in mac.h (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce __mt7663_load_firmware routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mac_update_rate_desc routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663u support to mt7615_write_txwi (Jarod Wilson) [1860496] - [wireless] mt76: add headroom and tailroom to mt76_mcu_ops data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove unnecessary register operations (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce rlm tlv in bss_info mcu command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce BSS absence event (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce scheduled scan support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce hw scan support (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: keep Rx filters as the default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_set_channel_domain mcu command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add ethool support to mt7663 driver (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: disable RDD commands (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: make scs configurable per phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: enable nf estimation (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix mt7615_mac_cca_stats_reset routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add more useful Tx mib counters (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: cleanup mib related defines and structs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: enable aggr_stats for both phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: modify mt7615_ampdu_stat_read for each phy (Jarod Wilson) [1860496] - [wireless] mt76: mt76x0: pci: add mt7610 PCI ID (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2u: introduce Mercury UD13 support (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02u: Add support for newer versions of the XBox One wifi adapter (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: fix handling MCU timeouts during hw restart (Jarod Wilson) [1860496] - [wireless] rndis_wlan: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] mwl8k: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] rndis_wlan: Remove logically dead code (Jarod Wilson) [1860496] - [wireless] brcmfmac: remove Comparison to bool in brcmf_p2p_send_action_frame() (Jarod Wilson) [1860496] - [wireless] brcmfmac: make non-global functions static (Jarod Wilson) [1860496] - [wireless] brcmfmac: Use seq/seq_len and set iv_initialize when plumbing of rxiv in (GTK) keys (Jarod Wilson) [1860496] - [wireless] brcmfmac: use actframe_abort to cancel ongoing action frame (Jarod Wilson) [1860496] - [wireless] brcmfmac: set security after reiniting interface (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix 802.1d priority to ac mapping for pcie dongles (Jarod Wilson) [1860496] - [wireless] brcmfmac: map 802.1d priority to precedence level based on AP WMM params (Jarod Wilson) [1860496] - [wireless] ath11k: convert to devm_platform_get_and_ioremap_resource (Jarod Wilson) [1860496] - [wireless] ath11k: remove redundant initialization of pointer info (Jarod Wilson) [1860496] - [wireless] ath10k: fix ath10k_pci struct layout (Jarod Wilson) [1860496] - [wireless] ath10k: fix gcc-10 zero-length-bounds warnings (Jarod Wilson) [1860496] - [wireless] ath10k: remove experimental tag from SDIO and SNOC busses in Kconfig (Jarod Wilson) [1860496] - [wireless] ath10k: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] ath11k: Remove bus layer includes from upper layer (Jarod Wilson) [1860496] - [wireless] ath11k: Add drv private for bus opaque struct (Jarod Wilson) [1860496] - [wireless] ath11k: Add support for multibus support (Jarod Wilson) [1860496] - [wireless] ath10k: fix __le32 warning in ath10k_wmi_tlv_op_gen_request_peer_stats_info() (Jarod Wilson) [1860496] - [wireless] ath10k: Remove msdu from idr when management pkt send fails (Jarod Wilson) [1860496] - [wireless] ath10k: Skip handling del_server during driver exit (Jarod Wilson) [1860496] - [wireless] ath11k: remove stale monitor status descriptor (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg_ini: differentiate ax210 hw with same hw type (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: skip fragmented receive buffers (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove outdated copyright print/module statement (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: don't transmit on unallocated queue (Jarod Wilson) [1860496] - [wireless] iwlwifi: tx: enable A-MSDU in low latency mode (Jarod Wilson) [1860496] - [wireless] iwlwifi: use longer queues for 256-BA (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: gen2: use DMA pool for byte-count tables (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: remove some dead code (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: mark a variable __maybe_unused (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: attempt to allocate smaller queues (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: allocate much smaller byte-count table (Jarod Wilson) [1860496] - [wireless] iwlwifi: dump api version in yaml format (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: convert all AX101 devices to the device tables (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: remove occurrences of 22000 in the FW name defines (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: convert QnJ with Hr to the device table (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: remove mangling for iwl_ax101_cfg_qu_hr (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: remove outdated comment about PCI RTPM reference (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add IML/ROM information to the assertion dumps (Jarod Wilson) [1860496] - [wireless] iwlwifi: move iwl_set_soc_latency to iwl-drv to be used by other op_modes (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: remove magic number (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: initialize iwl_dev_tx_power_cmd to zero (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: set debug descriptor to NULL outside of iwl_fw_free_dump_desc (Jarod Wilson) [1860496] - [wireless] iwlwifi: bump FW API to 55 for AX devices (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: add D3 resume timepoint (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: set properly station flags in STA_HE_CTXT_CMD (Jarod Wilson) [1860496] - [wireless] iwlwifi: avoid debug max amsdu config overwriting itself (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: remove iwlmvm's tfd_q_hang_detect module parameter (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: stop supporting swcrypto and bt_coex_active module parameters (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add support for range request command version 9 (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: don't access TLV before verifying len (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove antenna_coupling module parameter (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: use hweight_long instead of bit manipulating (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: add support for parsing SHARED_MEM_ALLOC version 4 (Jarod Wilson) [1860496] - [wireless] iwlwifi: fw api: fix PHY data 2/3 position (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8188ee: remove Comparison to bool in rf.c (Jarod Wilson) [1860496] - [wireless] mwifiex: avoid -Wstringop-overflow warning (Jarod Wilson) [1860496] - [wireless] rtlwifi: remove comparison of 0/1 to bool variable (Jarod Wilson) [1860496] - [wireless] brcmsmac: remove Comparison to bool in brcms_b_txstatus() (Jarod Wilson) [1860496] - [wireless] brcmfmac: Add P2P Action Frame retry delay to fix GAS Comeback Response failure issue (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix P2P Group Formation failure via Go-neg method (Jarod Wilson) [1860496] - [wireless] brcmfmac: support the second p2p connection (Jarod Wilson) [1860496] - [wireless] rtw88: fix an issue about leak system resources (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: add interface configurations table (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Set IG register for CCK rate (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add chip_ops::false_alarm_statistics (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: some chips don't support LDPC (Jarod Wilson) [1860496] - [wireless] rtw88: handle C2H_CCX_TX_RPT to know if packet TX'ed successfully (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add set_channel (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add query_rx_desc (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add DIG parameter (Jarod Wilson) [1860496] - [wireless] rtlwifi: use true, false for bool variable in rtl_init_rfkill() (Jarod Wilson) [1860496] - [wireless] rtw88: Use udelay instead of usleep in atomic context (Jarod Wilson) [1860496] - [wireless] ath11k: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] ath9k_htc: Silence undersized packet warnings (Jarod Wilson) [1860496] - [wireless] ath6kl: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] ath11k: fix kernel panic by freeing the msdu received with invalid length (Jarod Wilson) [1860496] - [wireless] ath11k: Add support to reset htt peer stats (Jarod Wilson) [1860496] - [wireless] ath11k: add tx hw 802.11 encapsulation offloading support (Jarod Wilson) [1860496] - [wireless] ath11k: fix resource unavailability for htt stats after peer stats display (Jarod Wilson) [1860496] - [wireless] ath11k: use true,false for bool variables (Jarod Wilson) [1860496] - [wireless] ath10k: Add support for targets without trustzone (Jarod Wilson) [1860496] - [wireless] ath10k: Setup the msa resources before qmi init (Jarod Wilson) [1860496] - [wireless] ath10k: remove the max_sched_scan_reqs value (Jarod Wilson) [1860496] - [wireless] ath10k: Avoid override CE5 configuration for QCA99X0 chipsets (Jarod Wilson) [1860496] - [wireless] brcmfmac: no need to check return value of debugfs_create functions (Jarod Wilson) [1860496] - [wireless] brcmfmac: remove comparison to bool in brcmf_fws_attach() (Jarod Wilson) [1860496] - [wireless] brcmfmac: add vendor ie for association responses (Jarod Wilson) [1860496] - [wireless] brcmfmac: only generate random p2p address when needed (Jarod Wilson) [1860496] - [wireless] brcmfmac: p2p cert 6.1.9-support GOUT handling p2p presence request (Jarod Wilson) [1860496] - [wireless] brcmfmac: remove arp_hostip_clear from brcmf_netdev_stop (Jarod Wilson) [1860496] - [wireless] brcmfmac: keep apsta enabled when AP starts with MCHAN feature (Jarod Wilson) [1860496] - [wireless] rtw88: fix spelling mistake "fimrware" -> "firmware" (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: update phy parameter tables to v50 (Jarod Wilson) [1860496] - [wireless] ath11k: add DBG_MAC prints to track vdev events (Jarod Wilson) [1860496] - [wireless] ath11k: fix mgmt_tx_wmi cmd sent to FW for deleted vdev (Jarod Wilson) [1860496] - [wireless] ath11k: fix error return code in ath11k_dp_alloc() (Jarod Wilson) [1860496] - [wireless] ath10k: fix possible memory leak in ath10k_bmi_lz_data_large() (Jarod Wilson) [1860496] - [wireless] mac80211: fix memory overlap due to variable length param (Jarod Wilson) [1860496] - [net] mac80211: TX legacy rate control for Beacon frames (Jarod Wilson) [1860496] - [wireless] ath11k: use GFP_ATOMIC under spin lock (Jarod Wilson) [1860496] - [wireless] ath10k: correct tx bitrate of iw for SDIO (Jarod Wilson) [1860496] - [wireless] ath10k: add bitrate parse for peer stats info (Jarod Wilson) [1860496] - [wireless] ath10k: add rx bitrate report for SDIO (Jarod Wilson) [1860496] - [wireless] ath10k: enable firmware peer stats info for wmi tlv (Jarod Wilson) [1860496] - [wireless] ath5k: remove conversion to bool in ath5k_ani_calibration() (Jarod Wilson) [1860496] - [wireless] ath9k: add calibration timeout for AR9002 (Jarod Wilson) [1860496] - [wireless] ath9k: invalidate all calibrations at once (Jarod Wilson) [1860496] - [wireless] ath9k: interleaved NF calibration on AR9002 (Jarod Wilson) [1860496] - [wireless] ath9k: do not miss longcal on AR9002 (Jarod Wilson) [1860496] - [wireless] ath9k: remove needless NFCAL_PENDING flag setting (Jarod Wilson) [1860496] - [wireless] ath9k: fix AR9002 ADC and NF calibrations (Jarod Wilson) [1860496] - [wireless] rtw88: fix sparse warnings for download firmware routine (Jarod Wilson) [1860496] - [wireless] ath10k: add statistics of tx retries and tx failed when tx complete disable (Jarod Wilson) [1860496] - [wireless] ath10k: enable rx duration report default for wmi tlv (Jarod Wilson) [1860496] - [wireless] ath11k: fix reo flush send (Jarod Wilson) [1860496] - [wireless] iwlwifi: debug: set NPK buffer in context info (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: add new structs for So devices with long latency (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: add new structure for Qu devices with medium latency (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: tell firmware about required LTR delay (Jarod Wilson) [1860496] - [wireless] iwlwifi: update few product names in AX family (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: add cfgs for SoCs with device ID 0x4FD0 (Jarod Wilson) [1860496] - [wireless] iwlwifi: add new cards for AX family (Jarod Wilson) [1860496] - [wireless] iwlwifi: acpi: read TAS table from ACPI and send it to the FW (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove fw_monitor module parameter (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove deprecated and unused iwl_mvm_keyinfo struct (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add framework for specific phy configuration (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: move iwl_pcie_ctxt_info_alloc_dma() to user (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: support IWL_FW_INI_TIME_POINT_HOST_ALIVE_TIMEOUT time point (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add DCM flag to rate pretty-print (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: gen2: minor code cleanups in byte table update (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: add n_window/ampdu to tx_queue debugfs (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: use seq_file for tx_queue debugfs file (Jarod Wilson) [1860496] - [wireless] iwlwifi: support version 9 of WOWLAN_GET_STATUS notification (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: support multiple dumps in legacy dump flow (Jarod Wilson) [1860496] - [wireless] iwlwifi: move API version lookup to common code (Jarod Wilson) [1860496] - [wireless] iwlwifi: nvm: use iwl_nl80211_band_from_channel_idx (Jarod Wilson) [1860496] - [net] mac80211: fix two missing documentation entries (Jarod Wilson) [1860496] - [net] cfg80211: reject channels/chandefs with KHz offset >= 1000 (Jarod Wilson) [1860496] - [net] mac80211: add freq_offset to RX status (Jarod Wilson) [1860496] - [net] mac80211: handle channel frequency offset (Jarod Wilson) [1860496] - [net] cfg80211: express channels with a KHz component (Jarod Wilson) [1860496] - [net] ieee80211: share 802.11 unit conversion helpers (Jarod Wilson) [1860496] - [net] mac80211: minstrel_ht_assign_best_tp_rates: remove redundant test (Jarod Wilson) [1860496] - [net] mac80211: Fail association when AP has no legacy rates (Jarod Wilson) [1860496] - [net] mac80211: agg-tx: add an option to defer ADDBA transmit (Jarod Wilson) [1860496] - [net] mac80211: agg-tx: refactor sending addba (Jarod Wilson) [1860496] - [net] mac80211: Skip entries with HE membership selector (Jarod Wilson) [1860496] - [net] cfg80211: Parse HE membership selector (Jarod Wilson) [1860496] - [net] mac80211: Don't destroy auth data in case of anti-clogging (Jarod Wilson) [1860496] - [net] mac80211: add twt_protected flag to the bss_conf structure (Jarod Wilson) [1860496] - [net] mac80211: implement Operating Mode Notification extended NSS support (Jarod Wilson) [1860496] - [net] mac80211: Process multicast RX registration for Action frames (Jarod Wilson) [1860496] - [net] nl80211: allow client-only BIGTK support (Jarod Wilson) [1860496] - [net] cfg80211: support multicast RX registration (Jarod Wilson) [1860496] - [net] cfg80211: change internal management frame registration API (Jarod Wilson) [1860496] - [net] mac80211: Report beacon protection failures to user space (Jarod Wilson) [1860496] - [net] cfg80211: Unprotected Beacon frame RX indication (Jarod Wilson) [1860496] - [wireless] iwlwifi: scan: remove support for fw scan api v13 (Jarod Wilson) [1860496] - [net] mac80211: fix drv_config_iface_filter() behaviour (Jarod Wilson) [1860496] - [net] mac80211: mlme: remove duplicate AID bookkeeping (Jarod Wilson) [1860496] - [wireless] ath10k: drop the TX packet which size exceed credit size for sdio (Jarod Wilson) [1860496] - [wireless] ath10k: Fix the invalid tx/rx chainmask configuration (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: initialize mac/bb/rf basic functions (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Organize chip TX/RX FIFO (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: implement set_tx_power_index ops (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: 11N chips don't support H2C queue (Jarod Wilson) [1860496] - [wireless] rtw88: decompose while(1) loop of power sequence polling command (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add mac power-on/-off function (Jarod Wilson) [1860496] - [wireless] rtw88: no need to send additional information to legacy firmware (Jarod Wilson) [1860496] - [wireless] rtw88: add legacy firmware download for 8723D devices (Jarod Wilson) [1860496] - [wireless] ath10k: add flush tx packets for SDIO chip (Jarod Wilson) [1860496] - [wireless] ath10k: enable alt data of TX path for sdio (Jarod Wilson) [1860496] - [wireless] ath10k: add htt TX bundle for sdio (Jarod Wilson) [1860496] - [wireless] ath11k: remove conversion to bool in ath11k_debug_fw_stats_process() (Jarod Wilson) [1860496] - [wireless] ath11k: remove conversion to bool in ath11k_dp_rxdesc_mpdu_valid() (Jarod Wilson) [1860496] - [wireless] rtw88: set power trim according to efuse PG values (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add read_efuse to recognize efuse info from map (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add new chip op efuse_grant() to control efuse access (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add cfg_ldo25 to control LDO25 (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add mac/bb/rf/agc/power_limit tables (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add RF read/write ops (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add power sequence (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: add beamform wrapper functions (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add basic chip capabilities (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8723ae: fix warning comparison to bool (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8821ae: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8723be: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192ee: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8723ae: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8188ee: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] ath10k: hif: make send_complete_check op optional (Jarod Wilson) [1860496] - [wireless] ath10k: sdio: remove _hif_ prefix from functions not part of hif interface (Jarod Wilson) [1860496] - [wireless] ath10k: improve power save performance for sdio (Jarod Wilson) [1860496] - [wireless] ath10k: rename ath10k_hif_swap_mailbox() to ath10k_hif_start_post() (Jarod Wilson) [1860496] - [wireless] brcmfmac: remove leading space (Jarod Wilson) [1860496] - [wireless] brcmsmac: make brcms_c_stf_ss_update() void (Jarod Wilson) [1860496] - [wireless] brcmsmac: Add missing annotation for brcms_down() (Jarod Wilson) [1860496] - [wireless] brcmsmac: Add missing annotation for brcms_rfkill_set_hw_state() (Jarod Wilson) [1860496] - [wireless] hostap: Add missing annotations for prism2_bss_list_proc_start() and prism2_bss_list_proc_stop (Jarod Wilson) [1860496] - [wireless] rtw88: add support for set/get antennas (Jarod Wilson) [1860496] - [wireless] rtw88: make rtw_chip_ops::set_antenna return int (Jarod Wilson) [1860496] - [wireless] ath11k: Add dynamic tcl ring selection logic with retry mechanism (Jarod Wilson) [1860496] - [wireless] ath11k: cleanup reo command error code overwritten (Jarod Wilson) [1860496] - [wireless] ath10k: Fix typo in warning messages (Jarod Wilson) [1860496] - [wireless] ath11k: Fix rx_filter flags setting for per peer rx_stats (Jarod Wilson) [1860496] - [wireless] ath11k: Fix fw assert by setting proper vht cap (Jarod Wilson) [1860496] - [wireless] ath11k: Cleanup in pdev destroy and mac register during crash on recovery (Jarod Wilson) [1860496] - [wireless] brcmsmac: make brcms_c_set_mac() void (Jarod Wilson) [1860496] - [wireless] rtw88: Add delay on polling h2c command status bit (Jarod Wilson) [1860496] - [wireless] brcm80211: remove redundant pointer 'address' (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8723ae: fix spelling mistake "chang" -> "change" (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix wrong location to get firmware feature (Jarod Wilson) [1860496] - [wireless] rtw88: Make two functions static (Jarod Wilson) [1860496] - [net] cfg80211: fix kernel-doc notation (Jarod Wilson) [1860496] - [wireless] ath11k: rx path optimizations (Jarod Wilson) [1860496] - [wireless] ath11k: set IRQ_DISABLE_UNLAZY flag for DP interrupts (Jarod Wilson) [1860496] - [wireless] ath11k: Fix TWT radio count (Jarod Wilson) [1860496] - [wireless] ath11k: Modify the interrupt timer threshold (Jarod Wilson) [1860496] - [wireless] ath11k: fix duplication peer create on same radio (Jarod Wilson) [1860496] - [wireless] ath10k: change ATH10K_SDIO_BUS_REQUEST_MAX_NUM from 64 to 1024 (Jarod Wilson) [1860496] - [wireless] ath10k: disable TX complete indication of htt for sdio (Jarod Wilson) [1860496] - [wireless] ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb (Jarod Wilson) [1860496] - [wireless] ath9x: Fix stack-out-of-bounds Write in ath9k_hif_usb_rx_cb (Jarod Wilson) [1860496] - [wireless] ath9k: Fix use-after-free Write in ath9k_htc_rx_msg (Jarod Wilson) [1860496] - [wireless] ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx (Jarod Wilson) [1860496] - [wireless] ath9k: Fix use-after-free Read in htc_connect_service (Jarod Wilson) [1860496] - [wireless] ath10k: fix kernel null pointer dereference (Jarod Wilson) [1860496] - [wireless] ath10k: enable radar detection in secondary segment (Jarod Wilson) [1860496] - [wireless] ath10k: enable VHT160 and VHT80+80 modes (Jarod Wilson) [1860496] - [wireless] ath11k: Avoid mgmt tx count underflow (Jarod Wilson) [1860496] - [wireless] ath11k: Increase the tx completion ring size (Jarod Wilson) [1860496] - [wireless] ath11k: fix error message to correctly report the command that failed (Jarod Wilson) [1860496] - [wireless] ath11k: add pktlog checksum in trace events to support pktlog (Jarod Wilson) [1860496] - [wireless] ath10k: Fix the race condition in firmware dump work queue (Jarod Wilson) [1860496] - [wireless] ath11k: Add sta debugfs support to configure ADDBA and DELBA (Jarod Wilson) [1860496] - [wireless] ath11k: fix compiler warnings without CONFIG_THERMAL (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: remove newline from rs_pretty_print_rate() (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: make iwl_pcie_cmdq_reclaim static (Jarod Wilson) [1860496] - [wireless] iwlwifi: bump FW API to 53 for 22000 series (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove IWL_FW_DBG_DOMAIN macro (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: enable yoyo by default (Jarod Wilson) [1860496] - [wireless] iwlwifi: scan: support FW APIs with variable number of profiles (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: don't block dumping internal memory when not in SRAM mode (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove support for QnJ HR FPGA (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove support for QnJ Hr STEP A (Jarod Wilson) [1860496] - [wireless] iwlwifi: add trans_cfg for devices with long latency (Jarod Wilson) [1860496] - [wireless] iwlwifi: add support for version 2 of SOC_CONFIGURATION_CMD (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add support for non EDCA based measurements (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove unnecessary cfg mangling for Qu C and QuZ with Jf (Jarod Wilson) [1860496] - [wireless] iwlwifi: convert QnJ with Jf devices to new config table (Jarod Wilson) [1860496] - [wireless] iwlwifi: convert all Qu with Jf devices to the new config table (Jarod Wilson) [1860496] - [wireless] iwlwifi: add HW step to new cfg device table (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove some unused extern declarations from iwl-config.h (Jarod Wilson) [1860496] - [wireless] iwlwifi: move integrated, extra_phy and soc_latency to trans_cfg (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: enable SF also when we have HE (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove redundant iwl9560_2ac_cfg struct (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: rs-fw: fix some indentation (Jarod Wilson) [1860496] - [wireless] iwlwifi: scan: support scan req cmd ver 14 (Jarod Wilson) [1860496] - [wireless] iwlwifi: pass trans and NVM data to HE capability parsing (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: implement read_config32 (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: add PCI config space region type (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add soc latency support (Jarod Wilson) [1860496] - [wireless] hostap: convert to struct proc_ops (Jarod Wilson) [1860496] - [wireless] rtw88: fix non-increase management packet sequence number (Jarod Wilson) [1860496] - [wireless] brcmfmac: add USB autosuspend feature support (Jarod Wilson) [1860496] - [wireless] brcmfmac: increase max hanger slots from 1K to 3K in fws layer (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix the incorrect return value in brcmf_inform_single_bss() (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix double freeing in the fmac usb data path (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix driver crash on USB control transfer timeout (Jarod Wilson) [1860496] - [wireless] rtl8xxxu: Feed current txrate information for mac80211 (Jarod Wilson) [1860496] - [wireless] rtl8xxxu: add enumeration for channel bandwidth (Jarod Wilson) [1860496] - [wireless] rtw88: add a debugfs entry to enable/disable coex mechanism (Jarod Wilson) [1860496] - [wireless] rtw88: add a debugfs entry to dump coex's info (Jarod Wilson) [1860496] - [wireless] rtl8xxxu: Fix sparse warning: cast from restricted __le16 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add missing declaration in mt7615.h (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix endianness in unified command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix mt7663e firmware struct endianness (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: config RF table path B before path A (Jarod Wilson) [1860496] - [wireless] rtw88: kick off TX packets once for higher efficiency (Jarod Wilson) [1860496] - [wireless] rtw88: pci: define a mask for TX/RX BD indexes (Jarod Wilson) [1860496] - [wireless] rtw88: associate reserved pages with each vif (Jarod Wilson) [1860496] - [wireless] rtw88: extract alloc rsvd_page and h2c skb routines (Jarod Wilson) [1860496] - [wireless] brcmfmac: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] wireless: marvell: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] hostap: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] wireless: ti: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] wireless: realtek: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] ath10k: Fill GCMP MIC length for PMF (Jarod Wilson) [1860496] - [net] mac80211: driver can remain on channel if not using chan_ctx (Jarod Wilson) [1860496] - [net] nl80211: clarify code in nl80211_del_station() (Jarod Wilson) [1860496] - [net] cfg80211: Configure PMK lifetime and reauth threshold for PMKSA entries (Jarod Wilson) [1860496] - [net] mac80211: Read rx_stats with perCPU pointers (Jarod Wilson) [1860496] - [net] mac80211: Allow deleting stations in ibss mode to reset their state (Jarod Wilson) [1860496] - [net] cfg80211: Add support for userspace to reset stations in IBSS mode (Jarod Wilson) [1860496] - [net] mac80211: consider WLAN_EID_EXT_HE_OPERATION for parsing CRC (Jarod Wilson) [1860496] - [uapi] nl80211: add PROTECTED_TWT nl80211 extended feature (Jarod Wilson) [1860496] - [net] mac80211: HE: set missing bss_conf fields in AP mode (Jarod Wilson) [1860496] - [net] nl80211: pass HE operation element to the driver (Jarod Wilson) [1860496] - [net] nl80211/cfg80211: add support for non EDCA based ranging measurement (Jarod Wilson) [1860496] - [net] mac80211: don't leave skb->next/prev pointing to stack (Jarod Wilson) [1860496] - [net] mac80211: update documentation about tx power (Jarod Wilson) [1860496] - [net] mac80211: handle no-preauth flag for control port (Jarod Wilson) [1860496] - [net] nl80211: add no pre-auth attribute and ext. feature flag for ctrl. port (Jarod Wilson) [1860496] - [net] cfg80211: fix documentation format (Jarod Wilson) [1860496] - [wireless] ath11k: Perform per-msdu rx processing (Jarod Wilson) [1860496] - [wireless] ath11k: Configure hash based reo destination ring selection (Jarod Wilson) [1860496] - [wireless] ath11k: Adding proper validation before accessing tx_stats (Jarod Wilson) [1860496] - [wireless] ath11k: dump SRNG stats during FW assert (Jarod Wilson) [1860496] - [wireless] ath11k: fill channel info from rx channel (Jarod Wilson) [1860496] - [wireless] ath11k: Supporting RX ring backpressure HTT event and stats handling (Jarod Wilson) [1860496] - [wireless] iwlwifi: move AX200 devices to the new table (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove trans entries from COMMON 9260 macro (Jarod Wilson) [1860496] - [wireless] iwlwifi: move shared clock entries to new table (Jarod Wilson) [1860496] - [wireless] iwlwifi: move pu devices to new table (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove 9260 devices with 0x1010 and 0x1210 subsytem IDs (Jarod Wilson) [1860496] - [wireless] iwlwifi: convert the 9260-1x1 device to use the new parameters (Jarod Wilson) [1860496] - [wireless] iwlwifi: move TH1 devices to the new table (Jarod Wilson) [1860496] - [wireless] iwlwifi: map 9461 and 9462 using RF type and RF ID (Jarod Wilson) [1860496] - [wireless] iwlwifi: add Pu/PnJ/Th device values to differentiate them (Jarod Wilson) [1860496] - [wireless] iwlwifi: add GNSS differentiation to the device tables (Jarod Wilson) [1860496] - [wireless] iwlwifi: add mac/rf types and 160MHz to the device tables (Jarod Wilson) [1860496] - [wireless] iwlwifi: combine 9260 cfgs that only change names (Jarod Wilson) [1860496] - [wireless] iwlwifi: move the remaining 0x2526 configs to the new table (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663e support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: get rid of sta_rec_wtbl data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce set_ba uni command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add more uni mcu commands (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce set_bmc and st_sta for uni commands (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce uni cmd command types (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_init_mac_chain routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_eeprom_parse_hw_band_cap routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7663e support to mt7615_mcu_set_eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7663e support to mt7615_{driver, firmware}_own (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7663e support to mt7615_reg_map (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_register_map (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce MCU_FW_PREFIX for fw mcu commands (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move more mcu commands in mt7615_mcu_ops data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework mt7615_mcu_set_bss_info using skb APIs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rely on skb API for mt7615_mcu_set_eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mt7615_mcu_set_sta in mt7615_mcu_ops (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mt7615_mcu_set_bmc to mt7615_mcu_ops (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7615_mcu_ops data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_send_message routine (Jarod Wilson) [1860496] - [wireless] mt76: always init to 0 mcu messages (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_init_device routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: cleanup fw queue just for mmio devices (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_wait_response (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_fill_msg (Jarod Wilson) [1860496] - [wireless] mt76: remove variable 'val' set but not used (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove a stray if statement (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: reset MCU timeout counter earlier in watchdog reset (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix monitor injection of beacon frames (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: make dynamic sensitivity adjustment configurable via debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: add upper limit for dynamic sensitivity minimum receive power (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix antenna mask initialization in DBDC mode (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: rely only on data buffer for usb control messagges (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: fix a possible memory leak in mt76u_init (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: loop over all possible rx queues in mt76u_rx_tasklet (Jarod Wilson) [1860496] - [wireless] ath11k: add handling for BSS color (Jarod Wilson) [1860496] - [wireless] ath11k: add WMI calls required for handling BSS color (Jarod Wilson) [1860496] - [wireless] ath11k: set queue_len to 4096 (Jarod Wilson) [1860496] - [wireless] ath11k: enable PN offload (Jarod Wilson) [1860496] - [wireless] ath11k: handle RX fragments (Jarod Wilson) [1860496] - [wireless] rtw88: remove unused member of struct rtw_hal (Jarod Wilson) [1860496] - [wireless] ath5k: Use scnprintf() for avoiding potential buffer overflow (Jarod Wilson) [1860496] - [wireless] ath11k: Use scnprintf() for avoiding potential buffer overflow (Jarod Wilson) [1860496] - [wireless] ath10k: allow qca988x family to support ack rssi of tx data packets (Jarod Wilson) [1860496] - [wireless] ath5k: Add proper dependency for ATH5K_AHB (Jarod Wilson) [1860496] - [wireless] ath11k: add thermal sensor device support (Jarod Wilson) [1860496] - [wireless] ath11k: add thermal cooling device support (Jarod Wilson) [1860496] - [wireless] ath10k: fix not registering airtime of 11a station with WMM disable (Jarod Wilson) [1860496] - [wireless] ath11k: config reorder queue for all tids during peer setup (Jarod Wilson) [1860496] - [wireless] ath10k: fix unsupported chip reset debugs file write (Jarod Wilson) [1860496] - [wireless] ath10k: use kzalloc to read for ath10k_sdio_hif_diag_read (Jarod Wilson) [1860496] - [wireless] ath10k: start recovery process when read int status fail for sdio (Jarod Wilson) [1860496] - [wireless] ath10k: add QCA9377 sdio hw_param item (Jarod Wilson) [1860496] - [wireless] ath10k: avoid consecutive OTP download to reduce boot time (Jarod Wilson) [1860496] - [net] mac80211: Add api to support configuring TID specific configuration (Jarod Wilson) [1860496] - [net] nl80211: Add support to configure TID specific RTSCTS configuration (Jarod Wilson) [1860496] - [net] nl80211: Add support to configure TID specific AMPDU configuration (Jarod Wilson) [1860496] - [net] nl80211: Add support to configure TID specific retry configuration (Jarod Wilson) [1860496] - [net] nl80211: modify TID-config API (Jarod Wilson) [1860496] - [net] nl80211: Add NL command to support TID speicific configurations (Jarod Wilson) [1860496] - [net] mac80211: Beacon protection using the new BIGTK (STA) (Jarod Wilson) [1860496] - [net] mac80211: Beacon protection using the new BIGTK (AP) (Jarod Wilson) [1860496] - [net] mac80211: Update BIP to support Beacon frames (Jarod Wilson) [1860496] - [net] mac80211: Support BIGTK configuration for Beacon protection (Jarod Wilson) [1860496] - [net] cfg80211: Support key configuration for Beacon protection (BIGTK) (Jarod Wilson) [1860496] - [net] cfg80211: More error messages for key addition failures (Jarod Wilson) [1860496] - [net] cfg80211: fix indentation errors (Jarod Wilson) [1860496] - [net] cfg80211: merge documentations of field "dev" (Jarod Wilson) [1860496] - [net] cfg80211: merge documentations of field "debugfsdir" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "reg_notifier" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "perm_addr" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "_net" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "registered" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "privid" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "probe_resp_offload" (Jarod Wilson) [1860496] - [net] Revert "nl80211: add src and dst addr attributes for control port tx/rx" (Jarod Wilson) [1860496] - [net] Revert "mac80211: support NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS" (Jarod Wilson) [1860496] - [net] cfg80211: remove support for adjacent channel compensation (Jarod Wilson) [1860496] - [net] mac80211: check vif pointer before airtime calculation (Jarod Wilson) [1860496] - [net] cfg80211: Pass lockdep expression to RCU lists (Jarod Wilson) [1860496] - [wireless] mwifiex: change license text from MARVELL to NXP (Jarod Wilson) [1860496] - [wireless] mt76: Introduce mt76_mcu data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove rx_mask in mt7615_eeprom_parse_hw_cap (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: rename stat_wq in wq (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: extend RX scatter gather number (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rely on mt76_queues_read for mt7622 (Jarod Wilson) [1860496] - [wireless] mt76: do not set HOST_BROADCAST_PS_BUFFERING for mt7615 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework rx phy index handling (Jarod Wilson) [1860496] - [wireless] mt76: fix rounding issues on converting per-chain and combined txpower (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2: avoid starting the MAC too early (Jarod Wilson) [1860496] - [wireless] mt76: avoid extra RCU synchronization on station removal (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix monitor mode on second PHY (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix adding active monitor interfaces (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: switch mt7615_mcu_set_rx_ba to v2 format (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: switch mt7615_mcu_set_tx_ba to v2 format (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: use new tag sta_rec_wtbl (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add starec operating flow for firmware v2 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add a helper to encapsulate sta_rec operation (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: simplify mcu_set_sta flow (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: simplify mcu_set_bmc flow (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for testing hardware reset (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: implement hardware reset support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: report firmware log event messages (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix and rework tx power handling (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add Kconfig entry for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable DBDC on MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: decrease rx ring size for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: implement DMA support for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: implement probing and firmware loading on MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable 5 GHz on MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add calibration free support for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add eeprom support for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add dma and tx queue initialization for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix MT_INT_TX_DONE_ALL definition for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: store N9 firmware version instead of CR4 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: split up firmware loading functions (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mmio related code from pci.c to mmio.c (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add __aligned(4) to txp structs (Jarod Wilson) [1860496] - [wireless] mt76: enable Airtime Queue Limit support (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: increase dma mcu rx ring size (Jarod Wilson) [1860496] - [wireless] mt76: dma: do not write cpu_idx on rx queue reset until after refill (Jarod Wilson) [1860496] - [wireless] mt76: fix handling full tx queues in mt76_dma_tx_queue_skb_raw (Jarod Wilson) [1860496] - [wireless] mt76: set dma-done flag for flushed descriptors (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: introduce MT_DRV_RX_DMA_HDR flag (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add endpoint to mt76u_bulk_msg signature (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: introduce mt76u_skb_dma_info routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: take into account different queue mapping for 7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add {read/write}_extended utility routines (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: introduce mt76u_alloc_mcu_queue utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: resume all rx queue in mt76u_resume_rx (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add queue parameter to mt76u_rx_urb_alloc (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76u_alloc_rx_queue utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: stop/free all possible rx queues (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: introduce mt76u_free_rx_queue utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: move mcu buffer allocation in mt76x02u drivers (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add queue id parameter to mt76u_submit_rx_buffers (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: use mt76_queue as mt76u_complete_rx context (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76_queue to mt76u_refill_rx signature (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76_queue to mt76u_get_next_rx_entry signature (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76u_process_rx_queue utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: check tx_status_data pointer in mt76u_tx_tasklet (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02u: avoid overwrite max_tx_fragments (Jarod Wilson) [1860496] - [wireless] mt76: rely on mac80211 utility routines to compute airtime (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove leftover routine declaration (Jarod Wilson) [1860496] - [wireless] mt76: move WIPHY_FLAG_HAS_CHANNEL_SWITCH in mt76_phy_init (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix endianness in mt7615_mcu_set_eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: initialize radar specs from host driver (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2: get rid of leftover target (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add tracing support (Jarod Wilson) [1860496] - [wireless] mt76: move mac_txdone tracepoint in mt76 module (Jarod Wilson) [1860496] - [wireless] mt76: move dev_irq tracepoint in mt76 module (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add a get_stats() callback (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add per-phy mib statistics (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: report TSF information (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add set_antenna callback (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework set_channel function (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add missing settings for simultaneous dual-band support (Jarod Wilson) [1860496] - [wireless] mt76: fix compilation warning in mt76_eeprom_override() (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: simplify led reg definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: simplify led reg definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce LED support (Jarod Wilson) [1860496] - [wireless] mt76: clear skb pointers from rx aggregation reorder buffer during cleanup (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: fix input validation issues for powersave-filtered frames (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: increase MCU command timeout (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: measure channel noise and report it via survey (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix MT7615_CFEND_RATE_DEFAULT value (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: minor mt76x02_mac_set_beacon optimization (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02u: do not set NULL beacons (Jarod Wilson) [1860496] - [wireless] mt76: usb: use max packet length for m76u_copy (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: add channel switch support for usb interfaces (Jarod Wilson) [1860496] - [wireless] mt76: speed up usb bulk copy (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: remove a copy call for usb speedup (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: add check for invalid vif idx (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: split beaconing (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: omit beacon slot clearing (Jarod Wilson) [1860496] - [wireless] mt76: use AC specific reorder timeout (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add set_coverage class support (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: set 0 as min coverage_class value (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: report firmware version using ethtool (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: Fix build with older compilers (Jarod Wilson) [1860496] - [wireless] mt76: eeprom: add support for big endian eeprom partition (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: reset STA_CCA counter setting the channel (Jarod Wilson) [1860496] - [wireless] mt76: fix possible undetected invalid MAC address (Jarod Wilson) [1860496] - [wireless] mt76: disable bh in mt76_dma_rx_poll (Jarod Wilson) [1860496] - [wireless] mt76: fix rx dma ring descriptor state on reset (Jarod Wilson) [1860496] - [wireless] mt7615: replace sta_state callback with sta_add/sta_remove (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: defer mcu initialization via workqueue (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: update beacon contents on BSS_CHANGED_BEACON (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for registering a second wiphy via debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: select the correct tx queue for frames sent to the second phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move radio/mac initialization to .start/stop callbacks (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: initialize dbdc settings on interface add (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add multiple wiphy support to the rx path (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework chainmask handling (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add multiple wiphy support to the dfs support code (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove useless MT_HW_RDD0/1 enum (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add missing register init for dual-wiphy support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add multiple wiphy support for smart carrier sense (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add dual-phy support for mac80211 ops (Jarod Wilson) [1860496] - [wireless] mt76: do not overwrite max_tx_fragments if it has been set (Jarod Wilson) [1860496] - [wireless] mt76: move ampdu_ref from mt76_dev to driver struct (Jarod Wilson) [1860496] - [wireless] mt76: add ext_phy field to struct mt76_wcid (Jarod Wilson) [1860496] - [wireless] mt76: add function for allocating an extra wiphy (Jarod Wilson) [1860496] - [wireless] mt76: add priv pointer to struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: add multiple wiphy support to mt76_get_min_avg_rssi (Jarod Wilson) [1860496] - [wireless] mt76: move txpower and antenna mask to struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: move txpower_conf back to driver specific structs (Jarod Wilson) [1860496] - [wireless] mt76: move chainmask back to driver specific structs (Jarod Wilson) [1860496] - [wireless] mt76: move state from struct mt76_dev to mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: keep a set of software tx queues per phy (Jarod Wilson) [1860496] - [wireless] mt76: move channel state to struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: add support for an extra wiphy in mt76_sta_state() (Jarod Wilson) [1860496] - [wireless] mt76: add support for an extra wiphy in the tx status path (Jarod Wilson) [1860496] - [net] mac80211: allow setting queue_len for drivers not using wake_tx_queue (Jarod Wilson) [1860496] - [include] ieee80211: add WPA3 OWE AKM suite selector (Jarod Wilson) [1860496] - [wireless] mac80211: Fix setting txpower to zero (Jarod Wilson) [1860496] - [wireless] mt76: add support for an extra wiphy in the main tx path (Jarod Wilson) [1860496] - [wireless] mt76: add support for an extra wiphy in the rx path (Jarod Wilson) [1860496] - [wireless] mt76: introduce struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: move initialization of some struct members to mt76_alloc_device (Jarod Wilson) [1860496] - [wireless] rtw88: Fix incorrect beamformee role setting (Jarod Wilson) [1860496] - [wireless] rtw88: 8822: Make tables const, reduce data object size (Jarod Wilson) [1860496] - [wireless] rtw88: disable TX-AMSDU on 2.4G band (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: modify rf protection setting (Jarod Wilson) [1860496] - [wireless] rtw88: Use secondary channel offset enumeration (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: update power sequence to v16 (Jarod Wilson) [1860496] - [wireless] rtw88: add ciphers to suppress error message (Jarod Wilson) [1860496] - [wireless] rtw88: avoid holding mutex for cancel_delayed_work_sync() (Jarod Wilson) [1860496] - [wireless] rtw88: move rtw_enter_ips() to the last when config (Jarod Wilson) [1860496] - [wireless] rtw88: pci: 8822c should set clock delay to zero (Jarod Wilson) [1860496] - [wireless] rtw88: add rtw_read8_mask and rtw_read16_mask (Jarod Wilson) [1860496] - [wireless] rtw88: remove unused parameter vif in rtw_lps_pg_info_get() (Jarod Wilson) [1860496] - [wireless] brcmfmac: add the BRCM 4364 found in MacBook Pro 15, 2 (Jarod Wilson) [1860496] - [wireless] ath11k: fix incorrect peer stats counters update (Jarod Wilson) [1860496] - [wireless] ath11k: Fixing dangling pointer issue upon peer delete failure (Jarod Wilson) [1860496] - [wireless] ath11k: fix parsing PPDU_CTRL type in pktlog (Jarod Wilson) [1860496] - [wireless] ath11k: fix warn-on in disassociation (Jarod Wilson) [1860496] - [wireless] ath11k: fix rcu lock protect in peer assoc confirmation (Jarod Wilson) [1860496] - [wireless] ath11k: add HE rate accounting to driver (Jarod Wilson) [1860496] - [wireless] ath11k: drop tx_info from ath11k_sta (Jarod Wilson) [1860496] - [wireless] ath10k: Add support to read btcoex related data from DT (Jarod Wilson) [1860496] - [wireless] ath10k: fix few checkpatch warnings (Jarod Wilson) [1860496] - [net] mac80211: support NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS (Jarod Wilson) [1860496] - [net] nl80211: add src and dst addr attributes for control port tx/rx (Jarod Wilson) [1860496] - [net] mac80211: parse also the RSNXE IE (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: Allow user space to register for station Rx authentication (Jarod Wilson) [1860496] - [include] ieee80211: fix 'the' doubling in comments (Jarod Wilson) [1860496] - [net] mac80211: Remove support for changing AP SMPS mode (Jarod Wilson) [1860496] - [net] mac80211: Handle SMPS mode changes only in AP mode (Jarod Wilson) [1860496] - [net] mac80211: Accept broadcast probe responses on 6GHz band (Jarod Wilson) [1860496] - [net] mac80211: HE: set RX NSS (Jarod Wilson) [1860496] - [net] mac80211: set station bandwidth from HE capability (Jarod Wilson) [1860496] - [net] mac80211: remove supported channels element in 6 GHz if ECSA support (Jarod Wilson) [1860496] - [net] mac80211: update condition for HE disablement (Jarod Wilson) [1860496] - [net] mac80211: make ieee80211_wep_init() return void (Jarod Wilson) [1860496] - [net] mac80211: allow changing TX-related netdev features (Jarod Wilson) [1860496] - [net] mac80211: check whether HE connection is allowed by the reg domain (Jarod Wilson) [1860496] - [net] mac80211: refactor extended element parsing (Jarod Wilson) [1860496] - [net] mac80211: simplify and improve HT/VHT/HE disable code (Jarod Wilson) [1860496] - [net] cfg80211: Enhance the AKM advertizement to support per interface (Jarod Wilson) [1860496] - [net] cfg80211: add no HE indication to the channel flag (Jarod Wilson) [1860496] - [net] mac80211: fix 11w when using encapsulation offloading (Jarod Wilson) [1860496] - [net] mac80211: fix tx status for no ack cases (Jarod Wilson) [1860496] - [net] mac80211: add handling for BSS color (Jarod Wilson) [1860496] - [net] nl80211: add handling for BSS color (Jarod Wilson) [1860496] - [net] mac80211: debugfs: improve airtime_flags handler readability (Jarod Wilson) [1860496] - [net] mac80211: Remove redundant assertion (Jarod Wilson) [1860496] - [net] mac80211: add 802.11 encapsulation offloading support (Jarod Wilson) [1860496] - [net] mac80211: Always show airtime debugfs file when TXQs are enabled (Jarod Wilson) [1860496] - [include] trivial: mac80211: fix indentation (Jarod Wilson) [1860496]- [fs] xfs: force writes to delalloc regions to unwritten (Carlos Maiolino) [1696580] - [fs] xfs: refactor xfs_iomap_prealloc_size (Carlos Maiolino) [1696580] - [fs] xfs: measure all contiguous previous extents for prealloc size (Carlos Maiolino) [1696580] - [fs] xfs: don't fail unwritten extent conversion on writeback due to edquot (Carlos Maiolino) [1696580] - [trace] SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() (Dave Wysochanski) [1906309] - [trace] Revert "SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow()" (Dave Wysochanski) [1906309] - [uapi] uapi: fix statx attribute value overlap for DAX & MOUNT_ROOT (Eric Sandeen) [1905205] - [trace] SUNRPC: Fix oops in the rpc_xdr_buf event class (Scott Mayhew) [1900157] - [fs] NFS: Fix listxattr receive buffer size (Scott Mayhew) [1900157] - [trace] SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() (Scott Mayhew) [1900157] - [net] SUNRPC: fix copying of multiple pages in gss_read_proxy_verf() (Scott Mayhew) [1900157] - [net] svcrdma: fix bounce buffers for unaligned offsets and multiple pages (Scott Mayhew) [1900157] - [pci] hv: Document missing hv_pci_protocol_negotiation() parameter (Mohammed Gamal) [1886102] - [pci] hv: Make some functions static (Mohammed Gamal) [1886102] - [pci] hv: Use struct_size() helper (Mohammed Gamal) [1886102] - [pci] hv: Prepare hv_compose_msi_msg() for the VMBus-channel-interrupt-to-vCPU reassignment functionality (Mohammed Gamal) [1886102] - [fs] xfs: allow individual quota grace period extension (Bill O'Donnell) [1827913] - [fs] xfs: per-type quota timers and warn limits (Bill O'Donnell) [1827913] - [fs] xfs: switch xfs_get_defquota to take explicit type (Bill O'Donnell) [1827913] - [fs] xfs: pass xfs_dquot to xfs_qm_adjust_dqtimers (Bill O'Donnell) [1827913] - [fs] xfs: fix up some whitespace in quota code (Bill O'Donnell) [1827913] - [fs] xfs: preserve default grace interval during quotacheck (Bill O'Donnell) [1827913] - [fs] quota: honor quota type in Q_XGETQSTATcalls (Bill O'Donnell) [1827913]- [fs] NFS: Do uncached readdir when we're seeking a cookie in an empty page cache (Dave Wysochanski) [1893882] - [fs] NFS: Reduce number of RPC calls when doing uncached readdir (Dave Wysochanski) [1893882] - [fs] NFS: Optimisations for monotonically increasing readdir cookies (Dave Wysochanski) [1893882] - [fs] NFS: Improve handling of directory verifiers (Dave Wysochanski) [1893882] - [fs] NFS: Handle NFS4ERR_NOT_SAME and NFSERR_BADCOOKIE from readdir calls (Dave Wysochanski) [1893882] - [fs] NFS: Allow the NFS generic code to pass in a verifier to readdir (Dave Wysochanski) [1893882] - [fs] NFS: Cleanup to remove nfs_readdir_descriptor_t typedef (Dave Wysochanski) [1893882] - [fs] NFS: Reduce readdir stack usage (Dave Wysochanski) [1893882] - [fs] NFS: nfs_do_filldir() does not return a value (Dave Wysochanski) [1893882] - [fs] NFS: More readdir cleanups (Dave Wysochanski) [1893882] - [fs] NFS: Support larger readdir buffers (Dave Wysochanski) [1893882] - [fs] NFS: Simplify struct nfs_cache_array_entry (Dave Wysochanski) [1893882] - [fs] NFS: Replace kmap() with kmap_atomic() in nfs_readdir_search_array() (Dave Wysochanski) [1893882] - [fs] NFS: Remove unnecessary kmap in nfs_readdir_xdr_to_array() (Dave Wysochanski) [1893882] - [fs] NFS: Don't discard readdir results (Dave Wysochanski) [1893882] - [fs] NFS: Clean up directory array handling (Dave Wysochanski) [1893882] - [fs] NFS: Clean up nfs_readdir_page_filler() (Dave Wysochanski) [1893882] - [fs] NFS: Clean up readdir struct nfs_cache_array (Dave Wysochanski) [1893882] - [fs] NFS: Ensure contents of struct nfs_open_dir_context are consistent (Dave Wysochanski) [1893882] - [fs] NFSv4.2: condition READDIR's mask for security label based on LSM state (Dave Wysochanski) [1893882] - [fs] NFS: Remove unnecessary inode lock in nfs_fsync_dir() (Dave Wysochanski) [1893882] - [fs] NFS: Remove unnecessary inode locking in nfs_llseek_dir() (Dave Wysochanski) [1893882] - [netdrv] net: intel: Remove in_interrupt() warnings (Ken Cox) [1838732] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Ken Cox) [1838732] - [netdrv] ixgbevf: use generic power management (Ken Cox) [1838732] - [netdrv] ethernet/intel: Convert fallthrough code comments (Ken Cox) [1838732] - [netdrv] net/intel: remove driver versions from Intel drivers (Ken Cox) [1838732] - [iommu] vt-d: Don't dereference iommu_device if IOMMU_API is not built (Vitaly Kuznetsov) [1887216] - [iommu] vt-d: Gracefully handle DMAR units with no supported address widths (Vitaly Kuznetsov) [1887216] - [iommu] vt-d: Skip TE disabling on quirky gfx dedicated iommu (Vitaly Kuznetsov) [1887216] - [netdrv] Revert "mark the intel igc driver as tech preview" (Corinna Vinschen) [1838742] - [netdrv] net: intel: Remove in_interrupt() warnings (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up nvm_info structure (Corinna Vinschen) [1838742] - [netdrv] igc: Reject schedules with a base_time in the future (Corinna Vinschen) [1838742] - [netdrv] igc: Export a way to read the PTP timer (Corinna Vinschen) [1838742] - [netdrv] igc: Remove reset disable flag (Corinna Vinschen) [1838742] - [netdrv] igc: Save PTP time before a reset (Corinna Vinschen) [1838742] - [netdrv] igc: Remove references to SYSTIMR register (Corinna Vinschen) [1838742] - [netdrv] igc: Expose LPI counters (Corinna Vinschen) [1838742] - [netdrv] igc: Clean RX descriptor error flags (Corinna Vinschen) [1838742] - [netdrv] igc: Remove timeout check from ptp_tx work (Corinna Vinschen) [1838742] - [netdrv] igc: Don't reschedule ptp_tx work (Corinna Vinschen) [1838742] - [netdrv] igc: Rename IGC_TSYNCTXCTL_VALID macro (Corinna Vinschen) [1838742] - [netdrv] igc: Add new device ID's (Corinna Vinschen) [1838742] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Corinna Vinschen) [1838742] - [netdrv] igc: Fix not considering the TX delay for timestamps (Corinna Vinschen) [1838742] - [netdrv] igc: Fix wrong timestamp latency numbers (Corinna Vinschen) [1838742] - [netdrv] igc: Fix PTP initialization (Corinna Vinschen) [1838742] - [netdrv] igc: Fix static checker warning (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up the hw_stats structure (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up the mac_info structure (Corinna Vinschen) [1838742] - [netdrv] igc: Remove ledctl_ fields from the mac_info structure (Corinna Vinschen) [1838742] - [netdrv] igc: Fix registers definition (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded ICTXQMTC register (Corinna Vinschen) [1838742] - [netdrv] igc: Add Receive Descriptor Minimum Threshold Count to clear HW counters (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded variable (Corinna Vinschen) [1838742] - [netdrv] ethernet/intel: Convert fallthrough code comments (Corinna Vinschen) [1838742] - [netdrv] igc: Remove checking media type during MAC initialization (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded check for copper media type (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor the igc_power_down_link() (Corinna Vinschen) [1838742] - [netdrv] igc: Remove TCP segmentation TX fail counter (Corinna Vinschen) [1838742] - [netdrv] igc: Add LPI counters (Corinna Vinschen) [1838742] - [netdrv] igc: Fix Rx timestamp disabling (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor igc_ptp_set_timestamp_mode() (Corinna Vinschen) [1838742] - [netdrv] igc: Remove UDP filter setup in PTP code (Corinna Vinschen) [1838742] - [netdrv] igc: Check __IGC_PTP_TX_IN_PROGRESS instead of ptp_tx_skb (Corinna Vinschen) [1838742] - [netdrv] igc: Remove duplicate code in Tx timestamp handling (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up Rx timestamping logic (Corinna Vinschen) [1838742] - [netdrv] igc: Add initial LTR support (Corinna Vinschen) [1838742] - [netdrv] igc: Add initial EEE support (Corinna Vinschen) [1838742] - [netdrv] net/intel: remove driver versions from Intel drivers (Corinna Vinschen) [1838742] - [netdrv] igc: Fix wrong register name (Corinna Vinschen) [1838742] - [netdrv] igc: Remove Sequence Error Counter (Corinna Vinschen) [1838742] - [netdrv] igc: Add Receive Error Counter (Corinna Vinschen) [1838742] - [netdrv] igc: Remove symbol error counter (Corinna Vinschen) [1838742] - [netdrv] igc: Fix IGC_MAX_RXNFC_RULES (Corinna Vinschen) [1838742] - [netdrv] igc: Reject NFC rules with multiple matches (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused flags (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused descriptor's flags (Corinna Vinschen) [1838742] - [netdrv] igc: Remove igc_nfc_rule_exit() (Corinna Vinschen) [1838742] - [netdrv] igc: Change adapter->nfc_rule_lock to mutex (Corinna Vinschen) [1838742] - [netdrv] igc: Change return type from igc_disable_nfc_rule() (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rule validation (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rules leak when driver is unloaded (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor igc_ethtool_update_nfc_rule() (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rules restoration (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rules with multicast addresses (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rule overwrite cases (Corinna Vinschen) [1838742] - [netdrv] igc: Fix locking issue when retrieving NFC rules (Corinna Vinschen) [1838742] - [netdrv] igc: Fix 'sw_idx' type in struct igc_nfc_rule (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor igc_ethtool_add_nfc_rule() (Corinna Vinschen) [1838742] - [netdrv] igc: Change byte order in struct igc_nfc_filter (Corinna Vinschen) [1838742] - [netdrv] igc: Align terms used in NFC support code (Corinna Vinschen) [1838742] - [netdrv] igc: Add 'igc_ethtool_' prefix to functions in igc_ethtool.c (Corinna Vinschen) [1838742] - [netdrv] igc: Early return in igc_get_ethtool_nfc_entry() (Corinna Vinschen) [1838742] - [netdrv] igc: Cleanup _get|set_rxnfc ethtool ops (Corinna Vinschen) [1838742] - [netdrv] igc: Get rid of igc_max_channels() (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused field from igc_nfc_filter (Corinna Vinschen) [1838742] - [netdrv] igc: Remove per queue good transmited counter register (Corinna Vinschen) [1838742] - [netdrv] igc: Remove header redirection register (Corinna Vinschen) [1838742] - [netdrv] igc: Remove obsolete circuit breaker registers (Corinna Vinschen) [1838742] - [netdrv] igc: Enable NFC rules based source MAC address (Corinna Vinschen) [1838742] - [netdrv] igc: Add support for source address filters in core (Corinna Vinschen) [1838742] - [netdrv] igc: Remove mac_table from igc_adapter (Corinna Vinschen) [1838742] - [netdrv] igc: Remove IGC_MAC_STATE_SRC_ADDR flag (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused registers (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused IGC_ICS_DRSTA define (Corinna Vinschen) [1838742] - [netdrv] igc: Dump ETQF registers (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor ethertype filtering code (Corinna Vinschen) [1838742] - [netdrv] igc: Fix MAX_ETYPE_FILTER value (Corinna Vinschen) [1838742] - [netdrv] igc: Remove ethertype filter in PTP code (Corinna Vinschen) [1838742] - [netdrv] igc: Remove duplicated IGC_RXPBS macro (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor VLAN priority filtering code (Corinna Vinschen) [1838742] - [netdrv] igc: Return -EOPNOTSUPP when VLAN mask doesn't match (Corinna Vinschen) [1838742] - [netdrv] igc: Dump VLANPQF register (Corinna Vinschen) [1838742] - [netdrv] igc: Rename IGC_VLAPQF macro (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up obsolete NVM defines (Corinna Vinschen) [1838742] - [netdrv] igc: remove IGC_REMOVED function (Corinna Vinschen) [1838742] - [netdrv] igc: Remove PCIe Control register (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded register (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded definition (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_base.c (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_dump.c (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_ptp.c (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_ethtool.c (Corinna Vinschen) [1838742] - [netdrv] igc: add support to eeprom, registers and link self-tests (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_main.c (Corinna Vinschen) [1838742] - [netdrv] igc: Add ECN support for TSO (Corinna Vinschen) [1838742] - [netdrv] ionic: fix mem leak in rx_empty (Jonathan Toppins) [1892492 1887516] - [netdrv] ionic: no rx flush in deinit (Jonathan Toppins) [1892492 1887516] - [netdrv] ionic: clean up sparse complaints (Jonathan Toppins) [1892492 1887516] - [netdrv] ionic: add new bad firmware error code (Jonathan Toppins) [1887516] - [netdrv] ionic: use lif ident for filter count (Jonathan Toppins) [1887516] - [netdrv] ionic: refill lif identity after fw_up (Jonathan Toppins) [1887516] - [netdrv] ionic: disable all queue napi contexts on timeout (Jonathan Toppins) [1887516] - [netdrv] ionic: check qcq ptr in ionic_qcq_disable (Jonathan Toppins) [1887516] - [netdrv] ionic: clear linkcheck bit on alloc fail (Jonathan Toppins) [1887516] - [netdrv] ionic: drain the work queue (Jonathan Toppins) [1887516] - [netdrv] ionic: contiguous memory for notifyq (Jonathan Toppins) [1887516] - [netdrv] ionic: prevent early watchdog check (Jonathan Toppins) [1887516] - [netdrv] ionic: stop watchdog timer earlier on remove (Jonathan Toppins) [1887516 1887263] - [netdrv] net: ionic: Remove WARN_ON(in_interrupt()) (Jonathan Toppins) [1887516] - [netdrv] net: ionic: Replace in_interrupt() usage (Jonathan Toppins) [1887516] - [netdrv] ionic: add DIMLIB to Kconfig (Jonathan Toppins) [1861520] - [netdrv] ionic: add devlink firmware update (Jonathan Toppins) [1861520] - [netdrv] ionic: update the fw update api (Jonathan Toppins) [1861520] - [netdrv] ionic: dynamic interrupt moderation (Jonathan Toppins) [1861520] - [netdrv] ionic: fix up debugfs after queue swap (Jonathan Toppins) [1861520] - [netdrv] ionic: clarify boolean precedence (Jonathan Toppins) [1861520] - [netdrv] ionic: remove unused variable (Jonathan Toppins) [1861520] - [netdrv] ionic: clean adminq service routine (Jonathan Toppins) [1861520] - [netdrv] ionic: clean up desc_info and cq_info structs (Jonathan Toppins) [1861520] - [netdrv] ionic: struct reorder for faster access (Jonathan Toppins) [1861520] - [netdrv] ionic: clean up page handling code (Jonathan Toppins) [1861520] - [netdrv] ionic: fix txrx work accounting (Jonathan Toppins) [1861520] - [netdrv] ionic: pull reset_queues into tx_timeout handler (Jonathan Toppins) [1861520] - [netdrv] ionic: change queue count with no reset (Jonathan Toppins) [1861520] - [netdrv] ionic: change the descriptor ring length without full reset (Jonathan Toppins) [1861520] - [netdrv] ionic: change mtu without full queue rebuild (Jonathan Toppins) [1861520] - [netdrv] ionic: use index not pointer for queue tracking (Jonathan Toppins) [1861520] - [netdrv] ionic: reduce contiguous memory allocation requirement (Jonathan Toppins) [1861520] - [netdrv] ionic: clean up unnecessary non-static functions (Jonathan Toppins) [1861520] - [netdrv] ionic: rework and simplify handling of the queue stats block (Jonathan Toppins) [1861520] - [netdrv] ionic: remove lif list concept (Jonathan Toppins) [1861520] - [netdrv] ionic: use kcalloc for new arrays (Jonathan Toppins) [1861520] - [netdrv] ionic: fix up a couple of debug strings (Jonathan Toppins) [1861520] - [netdrv] ionic: set MTU floor at ETH_MIN_MTU (Jonathan Toppins) [1861520] - [netdrv] ionic_lif: Use devm_kcalloc() in ionic_qcq_alloc() (Jonathan Toppins) [1861520] - [netdrv] ionic: separate interrupt for Tx and Rx (Jonathan Toppins) [1861520] - [netdrv] ionic: tx separate servicing (Jonathan Toppins) [1861520] - [netdrv] ionic: use fewer firmware doorbells on rx fill (Jonathan Toppins) [1861520] - [netdrv] ionic: fix memory leak of object 'lid' (Jonathan Toppins) [1861520] - [netdrv] ionic: interface file updates (Jonathan Toppins) [1861520] - [netdrv] ionic: rearrange reset and bus-master control (Jonathan Toppins) [1861520] - [netdrv] ionic: update eid test for overflow (Jonathan Toppins) [1861520] - [netdrv] ionic: remove unused ionic_coal_hw_to_usec (Jonathan Toppins) [1861520] - [netdrv] ionic: set netdev default name (Jonathan Toppins) [1861520] - [netdrv] ionic: get MTU from lif identity (Jonathan Toppins) [1861520] - [netdrv] ionic: keep rss hash after fw update (Jonathan Toppins) [1861520] - [netdrv] ionic: update filter id after replay (Jonathan Toppins) [1861520] - [netdrv] ionic: fix up filter locks and debug msgs (Jonathan Toppins) [1861520] - [netdrv] ionic: use offset for ethtool regs data (Jonathan Toppins) [1861520] - [md] md/raid5: Allow degraded raid6 to do rmw (Nigel Croxon) [1856838] - [md] md/raid5: Fix Force reconstruct-write io stuck in degraded raid5 (Nigel Croxon) [1856838] - [md] raid5: don't duplicate code for different paths in handle_stripe (Nigel Croxon) [1856838] - [md] raid5-cache: hold spinlock instead of mutex in r5c_journal_mode_show (Nigel Croxon) [1856838] - [md] md: print errno in super_written (Nigel Croxon) [1856838] - [md] md/raid5: remove the redundant setting of STRIPE_HANDLE (Nigel Croxon) [1856838] - [md] md: register new md sysfs file 'uuid' read-only (Nigel Croxon) [1856838] - [md] md: fix max sectors calculation for super 1.0 (Nigel Croxon) [1856838] - [md] md/raid5: use do_div() for 64 bit divisions in raid5_sync_request (Nigel Croxon) [1856838] - [md] md/raid10: avoid deadlock on recovery (Nigel Croxon) [1856838] - [md] md-cluster: fix rmmod issue when md_cluster convert bitmap to none (Nigel Croxon) [1856838] - [md] md-cluster: fix safemode_delay value when converting to clustered bitmap (Nigel Croxon) [1856838] - [md] md/raid5: support config stripe_size by sysfs entry (Nigel Croxon) [1856838] - [md] md/raid5: set default stripe_size as 4096 (Nigel Croxon) [1856838] - [md] md/raid456: convert macro STRIPE_* to RAID5_STRIPE_* (Nigel Croxon) [1856838] - [md] raid5: remove the meaningless check in raid5_make_request (Nigel Croxon) [1856838] - [md] raid5: put the comment of clear_batch_ready to the right place (Nigel Croxon) [1856838] - [md] raid5: call clear_batch_ready before set STRIPE_ACTIVE (Nigel Croxon) [1856838] - [md] md: raid10: Fix compilation warning (Nigel Croxon) [1856838] - [md] md: raid5: Fix compilation warning (Nigel Croxon) [1856838] - [md] md: raid5-cache: Remove set but unused variable (Nigel Croxon) [1856838] - [md] md: Fix compilation warning (Nigel Croxon) [1856838] - [md] md-cluster: fix wild pointer of unlock_all_bitmaps() (Nigel Croxon) [1856838] - [md] md/raid5-cache: clear MD_SB_CHANGE_PENDING before flushing stripes (Nigel Croxon) [1856838] - [md] md: fix deadlock causing by sysfs_notify (Nigel Croxon) [1856838] - [md] md: raid0/linear: fix dereference before null check on pointer mddev (Nigel Croxon) [1856838] - [md] md/raid1: Replace zero-length array with flexible-array (Nigel Croxon) [1856838] - [md] md: add a newline when printing parameter 'start_ro' by sysfs (Nigel Croxon) [1856838] - [md] md: stop using ->queuedata (Nigel Croxon) [1856838] - [md] md/raid1: release pending accounting for an I/O only after write-behind is also finished (Nigel Croxon) [1856838] - [md] md: remove redundant memalloc scope API usage (Nigel Croxon) [1856838] - [md] raid5: update code comment of scribble_alloc() (Nigel Croxon) [1856838] - [md] raid5: remove gfp flags from scribble_alloc() (Nigel Croxon) [1856838] - [md] md: use memalloc scope APIs in mddev_suspend()/mddev_resume() (Nigel Croxon) [1856838] - [md] md: remove the extra line for ->hot_add_disk (Nigel Croxon) [1856838] - [md] md: flush md_rdev_misc_wq for HOT_ADD_DISK case (Nigel Croxon) [1856838] - [md] md: don't flush workqueue unconditionally in md_open (Nigel Croxon) [1856838] - [md] md: add new workqueue for delete rdev (Nigel Croxon) [1856838] - [md] md: add checkings before flush md_misc_wq (Nigel Croxon) [1856838] - [md] md: check arrays is suspended in mddev_detach before call quiesce operations (Nigel Croxon) [1856838]- [scsi] storvsc: Fix error return in storvsc_probe() (Cathy Avery) [1895026] - [scsi] storvsc: Support PAGE_SIZE larger than 4K (Cathy Avery) [1895026] - [kernel] hv: hyperv.h: Introduce some hvpfn helper functions (Cathy Avery) [1895026] - [scsi] storvsc: Add validation for untrusted Hyper-V values (Cathy Avery) [1895026] - [scsi] storvsc: Fix spelling mistake (Cathy Avery) [1895026] - [scsi] storvsc: Remove memset before memory freeing in storvsc_suspend() (Cathy Avery) [1895026] - [net] tipc: fix incorrect setting window for bcast link (Xin Long) [1893085] - [net] tipc: re-configure queue limit for broadcast link (Xin Long) [1893085] - [net] tipc: fix NULL pointer dereference in tipc_named_rcv (Xin Long) [1893085] - [net] tipc: Supply missing udp_media.h include file (Xin Long) [1893085] - [net] tipc: add automatic rekeying for encryption key (Xin Long) [1893085] - [net] tipc: add automatic session key exchange (Xin Long) [1893085] - [net] tipc: introduce encryption master key (Xin Long) [1893085] - [net] tipc: optimize key switching time and logic (Xin Long) [1893085] - [net] tipc: Fix memory leak in tipc_group_create_member() (Xin Long) [1893085] - [net] tipc: fix shutdown() of connection oriented socket (Xin Long) [1893085] - [net] tipc: fix a deadlock when flushing scheduled work (Xin Long) [1893085] - [net] tipc: fix shutdown() of connectionless socket (Xin Long) [1893085] - [net] tipc: fix using smp_processor_id() in preemptible (Xin Long) [1893085] - [net] tipc: fix use-after-free in tipc_bcast_get_mode (Xin Long) [1893085] - [net] tipc: call rcu_read_lock() in tipc_aead_encrypt_done() (Xin Long) [1893085] - [net] tipc: fix uninit skb->data in tipc_nl_compat_dumpit() (Xin Long) [1893085] - [net] tipc: update a binding service via broadcast (Xin Long) [1893085] - [hv] hv_balloon: do adjust_managed_page_count() when ballooning/un-ballooning (Vitaly Kuznetsov) [1894717] - [hv] hv_balloon: simplify math in alloc_balloon_pages() (Vitaly Kuznetsov) [1894717] - [md] dm integrity: don't use drivers that have CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1903849] - [md] dm crypt: don't use drivers that have CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1903849] - [crypto] crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1903849] - [include] crypto: algapi - introduce the flag CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1903849] - [fs] iomap: Set all uptodate bits for an Uptodate page (Brian Foster) [1654127] - [scsi] scsi: ibmvfc: Avoid link down on FS9100 canister reboot (Desnes Augusto Nunes do Rosario) [1882613] - [scsi] scsi: ibmvfc: Use compiler attribute defines instead of __attribute__() (Desnes Augusto Nunes do Rosario) [1882613] - [arm64] arm64: Enable PCI write-combine resources under sysfs (Petr Oros) [1872943] - [scsi] scsi: mpt3sas: Bump driver version to 35.101.00.00 (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Add module parameter multipath_on_hba (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Handle vSES vphy object during HBA reset (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Add bypass_dirty_port_flag parameter (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Handling HBA vSES device (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Set valid PhysicalPort in SMPPassThrough (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Update hba_port objects after host reset (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Get sas_device objects using device's rphy (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Rename transport_del_phy_from_an_existing_port() (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Get device objects using sas_address & portID (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Update hba_port's sas_address & phy_mask (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Rearrange _scsih_mark_responding_sas_device() (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Allocate memory for hba_port objects (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Define hba_port structure (Tomas Henzl) [1888543]- [netdrv] net: phy: realtek: Modify 2.5G PHY name to RTL8226 (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: enable ALDPS to save power for RTL8211F (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: fix rtl8211e rx/tx delay config (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: add support for RTL8125B-internal PHY (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: add delay to resume path of certain internal PHY's (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: read actual speed to detect downshift (Josef Oskera) [1889854] - [netdrv] r8169: fix issue with forced threading in combination with shared interrupts (Josef Oskera) [1889854] - [netdrv] r8169: fix operation under forced interrupt threading (Josef Oskera) [1889854] - [netdrv] r8169: factor out handling rtl8169_stats (Josef Oskera) [1889854] - [netdrv] r8169: consider that PHY reset may still be in progress after applying firmware (Josef Oskera) [1889854] - [netdrv] r8169: fix data corruption issue on RTL8402 (Josef Oskera) [1889854] - [netdrv] r8169: fix handling ether_clk (Josef Oskera) [1889854] - [netdrv] r8169: fix RTL8168f/RTL8411 EPHY config (Josef Oskera) [1889854] - [netdrv] r8169: remove member irq_enabled from struct rtl8169_private (Josef Oskera) [1889854] - [netdrv] r8169: use napi_complete_done return value (Josef Oskera) [1889854] - [netdrv] r8169: allow to enable ASPM on RTL8125A (Josef Oskera) [1889854] - [netdrv] r8169: add support for RTL8125B (Josef Oskera) [1889854] - [netdrv] r8169: sync support for RTL8401 with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: merge handling of RTL8101e and RTL8100e (Josef Oskera) [1889854] - [netdrv] r8169: rename RTL8125 to RTL8125A (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl8169_runtime_resume (Josef Oskera) [1889854] - [netdrv] r8169: remove driver-specific mutex (Josef Oskera) [1889854] - [netdrv] r8169: use RTNL to protect critical sections (Josef Oskera) [1889854] - [netdrv] r8169: add rtl8169_up (Josef Oskera) [1889854] - [netdrv] r8169: remove no longer needed checks for device being runtime-active (Josef Oskera) [1889854] - [netdrv] r8169: mark device as not present when in PCI D3 (Josef Oskera) [1889854] - [netdrv] r8169: allow setting irq coalescing if link is down (Josef Oskera) [1889854] - [netdrv] r8169: move switching optional clock on/off to pll power functions (Josef Oskera) [1889854] - [netdrv] r8169: move updating counters to rtl8169_down (Josef Oskera) [1889854] - [netdrv] r8169: move napi_disable call and rename rtl8169_hw_reset (Josef Oskera) [1889854] - [netdrv] r8169: replace synchronize_rcu with synchronize_net (Josef Oskera) [1889854] - [netdrv] r8169: improve setting WoL on runtime-resume (Josef Oskera) [1889854] - [netdrv] r8169: remove unused constant RsvdMask (Josef Oskera) [1889854] - [netdrv] r8169: add info for DASH being enabled (Josef Oskera) [1889854] - [netdrv] r8169: fix failing WoL (Josef Oskera) [1889854] - [netdrv] r8169: improve handling power management ops (Josef Oskera) [1889854] - [netdrv] r8169: make rtl8169_down central chip quiesce function (Josef Oskera) [1889854] - [netdrv] r8169: move some calls to rtl8169_hw_reset (Josef Oskera) [1889854] - [netdrv] r8169: don't reset tx ring indexes in rtl8169_tx_clear (Josef Oskera) [1889854] - [netdrv] r8169: enable WAKE_PHY as only WoL source when runtime-suspending (Josef Oskera) [1889854] - [netdrv] r8169: change driver data type (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl_remove_one (Josef Oskera) [1889854] - [netdrv] r8169: sync RTL8168f/RTL8411 hw config with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: sync RTL8168evl hw config with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: sync RTL8168h hw config with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: sync RTL8168g hw config with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: remove mask argument from r8168ep_ocp_read (Josef Oskera) [1889854] - [netdrv] r8169: remove mask argument from r8168dp_ocp_read (Josef Oskera) [1889854] - [netdrv] r8169: remove mask argument from rtl_w0w1_eri (Josef Oskera) [1889854] - [netdrv] r8169: work around an irq coalescing related tx timeout (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl8169_mark_to_asic (Josef Oskera) [1889854] - [netdrv] r8169: make rtl_rx better readable (Josef Oskera) [1889854] - [netdrv] r8169: remove remaining call to mdiobus_unregister (Josef Oskera) [1889854] - [netdrv] r8169: don't include linux/moduleparam.h (Josef Oskera) [1889854] - [netdrv] r8169: remove not needed checks in rtl8169_set_eee (Josef Oskera) [1889854] - [netdrv] r8169: improve reset handling for chips from RTL8168g (Josef Oskera) [1889854] - [netdrv] r8169: add helper rtl_wait_txrx_fifo_empty (Josef Oskera) [1889854] - [netdrv] r8169: add helper rtl_enable_rxdvgate (Josef Oskera) [1889854] - [netdrv] r8169: add helper r8168g_wait_ll_share_fifo_ready (Josef Oskera) [1889854] - [netdrv] r8169: use fsleep in polling functions (Josef Oskera) [1889854] - [netdrv] r8169: use new helper eth_hw_addr_crc (Josef Oskera) [1889854] - [netdrv] r8169: switch from netif_xxx message functions to netdev_xxx (Josef Oskera) [1889854] - [netdrv] r8169: remove "out of memory" error message from rtl_request_firmware (Josef Oskera) [1889854] - [netdrv] r8169: simplify counter handling (Josef Oskera) [1889854] - [netdrv] r8169: remove redundant driver message when entering promiscuous mode (Josef Oskera) [1889854] - [netdrv] r8169: remove not needed parameter in rtl8169_set_magic_reg (Josef Oskera) [1889854] - [netdrv] r8169: configure PME_SIGNAL for RTL8125 too (Josef Oskera) [1889854] - [netdrv] r8169: improve max jumbo packet size definition (Josef Oskera) [1889854] - [netdrv] r8169: add check for invalid parameter combination in rtl_set_coalesce (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl_set_coalesce (Josef Oskera) [1889854] - [netdrv] r8169: improve interrupt coalescing parameter handling (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl_coalesce_choose_scale (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl_get_coalesce (Josef Oskera) [1889854] - [netdrv] r8169: merge scale for tx and rx irq coalescing (Josef Oskera) [1889854] - [netdrv] r8169: don't pass net_device to irq coalescing sub-functions (Josef Oskera) [1889854] - [netdrv] r8169: improve error message if no dedicated PHY driver is found (Josef Oskera) [1889854] - [netdrv] r8169: improve configuring RxConfig register (Josef Oskera) [1889854] - [netdrv] r8169: improve handling CPCMD_MASK (Josef Oskera) [1889854] - [netdrv] r8169: use devm_mdiobus_register (Josef Oskera) [1889854] - [netdrv] r8169: change wmb to smb_wmb in rtl8169_start_xmit (Josef Oskera) [1889854] - [netdrv] r8169: inline rtl8169_make_unusable_by_asic (Josef Oskera) [1889854] - [netdrv] r8169: inline rtl8169_mark_as_last_descriptor (Josef Oskera) [1889854] - [netdrv] r8169: remove PHY resume delay that is handled in the PHY driver now (Josef Oskera) [1889854] - [netdrv] r8169: add workaround for RTL8168evl TSO hw issues (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl8169_tso_csum_v2 (Josef Oskera) [1889854] - [netdrv] r8169: use rtl8169_set_features in rtl8169_init_one (Josef Oskera) [1889854] - [netdrv] r8169: preserve VLAN setting on RTL8125 in rtl_init_rxcfg (Josef Oskera) [1889854] - [netdrv] r8169: remove NETIF_F_HIGHDMA from vlan_features (Josef Oskera) [1889854] - [netdrv] r8169: move setting OCP base to generic init code (Josef Oskera) [1889854] - [s390] sclp: provide extended sccb support (Thomas Huth) [1798484] - [s390] sclp: avoid copy of sclp_info_sccb (Thomas Huth) [1798484] - [s390] sclp: use memblock for early read cpu info (Thomas Huth) [1798484] - [include] ptp: add stub function for ptp_get_msgtype() (Ivan Vecera) [1899217] - [include] ptp: Add generic ptp message type function (Ivan Vecera) [1899217] - [net] ptp: Add generic ptp v2 header parsing function (Ivan Vecera) [1899217] - [video] hyperv_fb: Fix the cache type when mapping the VRAM (Mohammed Gamal) [1886106] - [video] hyperv_fb: include vmalloc.h (Mohammed Gamal) [1886106] - [video] hyperv: hyperv_fb: Use physical memory for fb on HyperV Gen 1 VMs (Mohammed Gamal) [1886106] - [video] hyperv_fb: Fix hibernation for the deferred IO feature (Mohammed Gamal) [1886106] - [video] hyperv: hyperv_fb: Support deferred IO for Hyper-V frame buffer driver (Mohammed Gamal) [1886106] - [uio] uio_hv_generic: add missed sysfs_remove_bin_file (Mohammed Gamal) [1886106] - [input] hyperv-keyboard: Use VMBUS_RING_SIZE() for ringbuffer sizes (Mohammed Gamal) [1886106] - [hid] hyperv: Use VMBUS_RING_SIZE() for ringbuffer sizes (Mohammed Gamal) [1886106] - [netdrv] hv_netvsc: Add validation for untrusted Hyper-V values (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit() (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: Remove "unlikely" from netvsc_select_queue (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: do not use VF device if link is down (Mohammed Gamal) [1886097] - [netdrv] hyperv: dump TX indirection table to ethtool regs (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: add support for vlans in AF_PACKET mode (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: Fix netvsc_start_xmit's return type (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: Remove unnecessary round_up for recv_completion_cnt (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: use new helper tcp_v6_gso_csum_prep (Mohammed Gamal) [1886097] - [tools] kvm_stat: add sample systemd unit file (Thomas Huth) [1851123] - [tools] kvm_stat: Add command line switch '-L' to log to file (Thomas Huth) [1851123] - [tools] kvm_stat: add command line switch '-z' to skip zero records (Thomas Huth) [1851123] - [mm] mm/gup: Mark lock taken only after a successful retake (Chris von Recklinghausen) [1885412] - [mm] mm/filemap.c: fix a data race in filemap_fault() (Chris von Recklinghausen) [1885412] - [mm] mm: fix kthread_use_mm() vs TLB invalidate (Chris von Recklinghausen) [1885412] - [fs] kernel: set USER_DS in kthread_use_mm (Chris von Recklinghausen) [1885412] - [drm] kernel: better document the use_mm/unuse_mm API contract (Chris von Recklinghausen) [1885412] - [kernel] kernel: move use_mm/unuse_mm to kthread.c (Chris von Recklinghausen) [1885412] - [drm] drm/i915: convert get_user_pages() --> pin_user_pages() (Chris von Recklinghausen) [1885412] - [mm] mm/gup: introduce pin_user_pages_fast_only() (Chris von Recklinghausen) [1885412] - [mm] mm/gup: refactor and de-duplicate gup_fast() code (Chris von Recklinghausen) [1885412] - [mm] mm/gup: move __get_user_pages_fast() down a few lines in gup.c (Chris von Recklinghausen) [1885412] - [mm] gup: document and work around "COW can break either way" issue (Chris von Recklinghausen) [1885412] - [vfio] vfio: checking of validity of user vaddr in vfio_dma_rw (Chris von Recklinghausen) [1885412] - [fs] mm/userfaultfd: honor FAULT_FLAG_KILLABLE in fault path (Chris von Recklinghausen) [1885412] - [mm] mm/gup: allow to react to fatal signals (Chris von Recklinghausen) [1885412] - [mm] mm/gup: allow VM_FAULT_RETRY for multiple times (Chris von Recklinghausen) [1885412] - [mm] mm: allow VM_FAULT_RETRY for multiple times (Chris von Recklinghausen) [1885412] - [fs] mm: introduce FAULT_FLAG_INTERRUPTIBLE (Chris von Recklinghausen) [1885412] - [mm] mm: introduce FAULT_FLAG_DEFAULT (Chris von Recklinghausen) [1885412] - [fs] userfaultfd: don't retake mmap_sem to emulate NOPAGE (Chris von Recklinghausen) [1885412] - [include] mm: return faster for non-fatal signals in user mode faults (Chris von Recklinghausen) [1885412] - [mm] powerpc/mm: use helper fault_signal_pending() (Chris von Recklinghausen) [1885412] - [mm] arm64/mm: use helper fault_signal_pending() (Chris von Recklinghausen) [1885412] - [mm] x86/mm: use helper fault_signal_pending() (Chris von Recklinghausen) [1885412] - [mm] mm: introduce fault_signal_pending() (Chris von Recklinghausen) [1885412] - [mm] mm/gup: fix __get_user_pages() on fault retry of hugetlb (Chris von Recklinghausen) [1885412] - [mm] mm/gup: rename "nonblocking" to "locked" where proper (Chris von Recklinghausen) [1885412] - [mm] mm/gup: rename nr as nr_pinned in get_user_pages_fast() (Chris von Recklinghausen) [1885412] - [mm] mm/gup: require FOLL_GET for get_user_pages_fast() (Chris von Recklinghausen) [1885412] - [mm] mm/filemap.c: don't bother dropping mmap_sem for zero size readahead (Chris von Recklinghausen) [1885412] - [mm] mm/slb: export __kmalloc_track(_node)_caller (Chris von Recklinghausen) [1885412] - [mm] mm: Add vmf_insert_pfn_xxx_prot() for huge page-table entries (Chris von Recklinghausen) [1885412] - [vfio] vfio: introduce vfio_dma_rw to read/write a range of IOVAs (Chris von Recklinghausen) [1885412] - [infiniband] mm, tree-wide: rename put_user_page*() to unpin_user_page*() (Chris von Recklinghausen) [1885412] - [mm] mm/gup_benchmark: use proper FOLL_WRITE flags instead of hard-coding "1" (Chris von Recklinghausen) [1885412] - [mm] powerpc: book3s64: convert to pin_user_pages() and put_user_page() (Chris von Recklinghausen) [1885412] - [vfio] vfio, mm: pin_user_pages (FOLL_PIN) and put_user_page() conversion (Chris von Recklinghausen) [1885412] - [media] media/v4l2-core: pin_user_pages (FOLL_PIN) and put_user_page() conversion (Chris von Recklinghausen) [1885412] - [net] net/xdp: set FOLL_PIN via pin_user_pages() (Chris von Recklinghausen) [1885412] - [drm] drm/via: set FOLL_PIN via pin_user_pages_fast() (Chris von Recklinghausen) [1885412] - [mm] mm/process_vm_access: set FOLL_PIN via pin_user_pages_remote() (Chris von Recklinghausen) [1885412] - [infiniband] IB/{core, hw, umem}: set FOLL_PIN via pin_user_pages*(), fix up ODP (Chris von Recklinghausen) [1885412] - [documentation] mm/gup: introduce pin_user_pages*() and FOLL_PIN (Chris von Recklinghausen) [1885412] - [media] media/v4l2-core: set pages dirty upon releasing DMA buffers (Chris von Recklinghausen) [1885412] - [mm] mm/gup: allow FOLL_FORCE for get_user_pages_fast() (Chris von Recklinghausen) [1885412] - [vfio] vfio: fix FOLL_LONGTERM use, simplify get_user_pages_remote() call (Chris von Recklinghausen) [1885412] - [mm] mm: fix get_user_pages_remote()'s handling of FOLL_LONGTERM (Chris von Recklinghausen) [1885412] - [mm] mm/gup: factor out duplicate code from four routines (Chris von Recklinghausen) [1885412] - [mm] mm: drop mmap_sem before calling balance_dirty_pages() in write fault (Chris von Recklinghausen) [1885412] - [vfio] vfio/type1: untag user pointers in vaddr_get_pfn (Chris von Recklinghausen) [1885412] - [mm] mm: untag user pointers in mm/gup.c (Chris von Recklinghausen) [1885412] - [drm] drivers/gpu/drm/via: convert put_page() to put_user_page*() (Chris von Recklinghausen) [1885412] - [fs] fs/io_uring.c: convert put_page() to put_user_page*() (Chris von Recklinghausen) [1885412] - [mm] mm: mark the page referenced in gup_hugepte (Chris von Recklinghausen) [1885412] - [mm] mm: switch gup_hugepte to use try_get_compound_head (Chris von Recklinghausen) [1885412] - [mm] mm: move the powerpc hugepd code to mm/gup.c (Chris von Recklinghausen) [1885412] - [mm] mm: validate get_user_pages_fast flags (Chris von Recklinghausen) [1885412] - [mm] mm: consolidate the get_user_pages* implementations (Chris von Recklinghausen) [1885412] - [mm] mm: reorder code blocks in gup.c (Chris von Recklinghausen) [1885412] - [mm] mm: rename CONFIG_HAVE_GENERIC_GUP to CONFIG_HAVE_FAST_GUP (Chris von Recklinghausen) [1885412] - [x86] mm: lift the x86_32 PAE version of gup_get_pte to common code (Chris von Recklinghausen) [1885412] - [s390] mm: simplify gup_fast_permitted (Chris von Recklinghausen) [1885412] - [mm] mm: use untagged_addr() for get_user_pages_fast addresses (Chris von Recklinghausen) [1885412] - [mm] powerpc/mm: make gup_hugepte() static (Chris von Recklinghausen) [1885412] - [mm] filemap: drop the mmap_sem for all blocking operations (Chris von Recklinghausen) [1885412] - [mm] filemap: kill page_cache_read usage in filemap_fault (Chris von Recklinghausen) [1885412] - [mm] filemap: pass vm_fault to the mmap ra helpers (Chris von Recklinghausen) [1885412] - [mm] docs/core-api/mm: fix return value descriptions in mm/ (Chris von Recklinghausen) [1885412] - [mm] docs/mm: vmalloc: re-indent kernel-doc comemnts (Chris von Recklinghausen) [1885412] - [drm] drm/via: mark expected switch fall-throughs (Chris von Recklinghausen) [1885412] - [mm] x86/mm: Break out kernel address space handling (Chris von Recklinghausen) [1885412] - [kernel] locking/rwsem: Remove reader optimistic spinning (Waiman Long) [1895046] - [kernel] locking/rwsem: Enable reader optimistic lock stealing (Waiman Long) [1895046] - [kernel] locking/rwsem: Prevent potential lock starvation (Waiman Long) [1895046] - [kernel] locking/rwsem: Pass the current atomic count to rwsem_down_read_slowpath() (Waiman Long) [1895046] - [kernel] locking/rwsem: Fold __down_{read,write}*() (Waiman Long) [1895046] - [kernel] locking/rwsem: Introduce rwsem_write_trylock() (Waiman Long) [1895046] - [kernel] locking/rwsem: Better collate rwsem_read_trylock() (Waiman Long) [1895046] - [kernel] rwsem: Implement down_read_interruptible (Waiman Long) [1895046] - [kernel] rwsem: Implement down_read_killable_nested (Waiman Long) [1895046] - [powerpc] powerpc/perf: Fix crash with is_sier_available when pmu is not set (Steve Best) [1904225] - [powerpc] kvm: ppc: book3s hv: xive: Fix vCPU id sanity check (Greg Kurz) [1902709] - [net] ip6_gre: set dev->hard_header_len when using header_ops (Antoine Tenart) [1895789] - [fs] xfs: flush new eof page on truncate to avoid post-eof corruption (Brian Foster) [1878495] - [netdrv] bonding: set dev->needed_headroom in bond_setup_by_slave() (Antoine Tenart) [1903073] - [net] netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal (Antoine Tenart) [1901026] - [infiniband] RDMA/umem: Prevent small pages from being returned by ib_umem_find_best_pgsz() (Kamal Heib) [1857605] - [infiniband] IB/hfi1: Fix error return code in hfi1_init_dd() (Kamal Heib) [1857605] - [infiniband] RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device() (Kamal Heib) [1857605] - [infiniband] RDMA/cm: Make the local_id_table xarray non-irq (Kamal Heib) [1857605] - [infiniband] IB/srpt: Fix memory leak in srpt_add_one (Kamal Heib) [1857605] - [infiniband] RDMA/bnxt_re: Set queue pair state when being queried (Kamal Heib) [1894681 1857605] - [infiniband] RDMA/rxe: Handle skb_clone() failure in rxe_recv.c (Kamal Heib) [1857605] - [infiniband] RDMA/rxe: Fix bug rejecting all multicast packets (Kamal Heib) [1857605] - [infiniband] RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt() (Kamal Heib) [1857605] - [infiniband] IB/rdmavt: Fix sizeof mismatch (Kamal Heib) [1857605] - [infiniband] RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces (Kamal Heib) [1883480 1883478 1857605] - [infiniband] RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel() (Kamal Heib) [1857605] - [rdma] RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz() (Kamal Heib) [1857605] - [x86] kretprobe: Prevent triggering kretprobe from within kprobe_flush_task (Jerome Marchand) [1821265] - [netdrv] net: intel: Remove in_interrupt() warnings (Jonathan Toppins) [1891101] - [netdrv] ice: fix adding IP4 IP6 Flow Director rules (Jonathan Toppins) [1891101] - [netdrv] ice: Fix pointer cast warnings (Jonathan Toppins) [1891101] - [netdrv] ice: refactor devlink_port to be per-VSI (Jonathan Toppins) [1891101] - [netdrv] ice: add the DDP Track ID to devlink info (Jonathan Toppins) [1891101] - [netdrv] ice: Change ice_info_get_dsn to be void (Jonathan Toppins) [1891101] - [netdrv] ice: remove repeated words (Jonathan Toppins) [1891101] - [netdrv] ice: devlink: use *phD to print small buffer (Jonathan Toppins) [1891101] - [netdrv] ice: preserve NVM capabilities in safe mode (Jonathan Toppins) [1891101] - [netdrv] ice: increase maximum wait time for flash write commands (Jonathan Toppins) [1891101] - [netdrv] ice: remove unused args from ice_get_open_tunnel_port() (Jonathan Toppins) [1891101] - [netdrv] ice: fix memory leak in ice_vsi_setup (Jonathan Toppins) [1891101] - [netdrv] ice: fix memory leak if register_netdev_fails (Jonathan Toppins) [1891101] - [netdrv] ice: Fix call trace on suspend (Jonathan Toppins) [1891101] - [netdrv] ice: simplify the return expression of ice_finalize_update() (Jonathan Toppins) [1891101] - [netdrv] ice: Misc minor fixes (Jonathan Toppins) [1838737] - [netdrv] ice: adjust profile ID map locks (Jonathan Toppins) [1838737] - [netdrv] ice: update PTYPE lookup table (Jonathan Toppins) [1838737] - [netdrv] ice: Graceful error handling in HW table calloc failure (Jonathan Toppins) [1838737] - [netdrv] ice: port fix for chk_linearlize (Jonathan Toppins) [1838737] - [netdrv] ice: Allow 2 queue pairs per VF on SR-IOV initialization (Jonathan Toppins) [1838737] - [netdrv] ice: Clear and free XLT entries on reset (Jonathan Toppins) [1838737] - [netdrv] ice: add useful statistics (Jonathan Toppins) [1838737] - [netdrv] ice: remove page_reuse statistic (Jonathan Toppins) [1838737] - [netdrv] ice: Fix RSS profile locks (Jonathan Toppins) [1838737] - [netdrv] ice: fix the vsi_id mask to be 10 bit for set_rss_lut (Jonathan Toppins) [1838737] - [netdrv] ice: rename misleading grst_delay variable (Jonathan Toppins) [1838737] - [netdrv] ice: mark PM functions as __maybe_unused (Jonathan Toppins) [1838737] - [netdrv] ice: fix unused parameter warning (Jonathan Toppins) [1838737] - [netdrv] ice: disable no longer needed workaround for FW logging (Jonathan Toppins) [1838737] - [netdrv] ice: reduce scope of variable (Jonathan Toppins) [1838737] - [netdrv] ice: cleanup VSI on probe fail (Jonathan Toppins) [1838737] - [netdrv] ice: Allow all VLANs in safe mode (Jonathan Toppins) [1838737] - [netdrv] ice: need_wakeup flag might not be set for Tx (Jonathan Toppins) [1838737] - [netdrv] ice: distribute Tx queues evenly (Jonathan Toppins) [1838737] - [netdrv] ice: Adjust scheduler default BW weight (Jonathan Toppins) [1838737] - [netdrv] ice: Add RL profile bit mask check (Jonathan Toppins) [1838737] - [netdrv] ice: fix overwriting TX/RX descriptor values when rebuilding VSI (Jonathan Toppins) [1838737] - [netdrv] ice: return correct error code from ice_aq_sw_rules (Jonathan Toppins) [1838737] - [netdrv] ice: restore VF MSI-X state during PCI reset (Jonathan Toppins) [1838737] - [netdrv] ice: fix link event handling timing (Jonathan Toppins) [1838737] - [netdrv] ice: Fix link broken after GLOBR reset (Jonathan Toppins) [1838737] - [netdrv] ice: Implement LFC workaround (Jonathan Toppins) [1838737] - [netdrv] ice: implement device flash update via devlink (Jonathan Toppins) [1838737] - [netdrv] ice: add flags indicating pending update of firmware module (Jonathan Toppins) [1838737] - [netdrv] ice: Add AdminQ commands for FW update (Jonathan Toppins) [1838737] - [netdrv] ice: Add support for unified NVM update flow capability (Jonathan Toppins) [1838737] - [netdrv] ice: add 1G SGMII PHY type (Jonathan Toppins) [1838737] - [netdrv] ice: Report AOC PHY Types as Fiber (Jonathan Toppins) [1838737] - [netdrv] ice: add AQC get link topology handle support (Jonathan Toppins) [1838737] - [netdrv] ice: Rename low_power_ctrl (Jonathan Toppins) [1838737] - [netdrv] ice: update reporting of autoneg capabilities (Jonathan Toppins) [1838737] - [netdrv] ice: add ice_aq_get_phy_caps() debug logs (Jonathan Toppins) [1838737] - [netdrv] ice: support Total Port Shutdown on devices that support it (Jonathan Toppins) [1838737] - [netdrv] ice: add link lenient and default override support (Jonathan Toppins) [1838737] - [netdrv] ice: restore PHY settings on media insertion (Jonathan Toppins) [1838737] - [netdrv] ice: move auto FEC checks into ice_cfg_phy_fec() (Jonathan Toppins) [1838737] - [netdrv] ice: refactor FC functions (Jonathan Toppins) [1838737] - [netdrv] ice: Add advanced power mgmt for WoL (Jonathan Toppins) [1838737] - [netdrv] ice: split ice_discover_caps into two functions (Jonathan Toppins) [1838737] - [netdrv] ice: split ice_parse_caps into separate functions (Jonathan Toppins) [1838737] - [netdrv] ice: refactor ice_discover_caps to avoid need to retry (Jonathan Toppins) [1838737] - [netdrv] ice: replace single-element array used for C struct hack (Jonathan Toppins) [1838737] - [netdrv] ice: avoid unnecessary single-member variable-length structs (Jonathan Toppins) [1838737] - [netdrv] ice: implement snapshot for device capabilities (Jonathan Toppins) [1838737] - [netdrv] net/intel: remove driver versions from Intel drivers (Jonathan Toppins) [1838737] - [netdrv] ice: protect ring accesses with WRITE_ONCE (Jonathan Toppins) [1838737] - [netdrv] ice: Ignore EMODE when setting PHY config (Jonathan Toppins) [1838737] - [netdrv] ice: fix aRFS after flow director delete (Jonathan Toppins) [1838737] - [netdrv] ice: Use coalesce values from q_vector 0 when increasing q_vectors (Jonathan Toppins) [1838737] - [netdrv] ice: fix PCI device serial number to be lowercase values (Jonathan Toppins) [1838737] - [netdrv] ice: fix function signature style format (Jonathan Toppins) [1838737] - [netdrv] ice: Allow VF to request reset as soon as it's initialized (Jonathan Toppins) [1838737] - [netdrv] ice: Fix inability to set channels when down (Jonathan Toppins) [1838737] - [netdrv] ice: Always clear QRXFLXP_CNTXT before writing new value (Jonathan Toppins) [1838737] - [netdrv] ice: Reset VF for all port VLAN changes from host (Jonathan Toppins) [1838737] - [netdrv] ice: Update ICE_PHY_TYPE_HIGH_MAX_INDEX value (Jonathan Toppins) [1838737] - [netdrv] ice: Increase timeout after PFR (Jonathan Toppins) [1838737] - [netdrv] ice: Fix transmit for all software offloaded VLANs (Jonathan Toppins) [1838737] - [netdrv] ice: support adding 16 unicast/multicast filter on untrusted VF (Jonathan Toppins) [1838737] - [netdrv] ice: allow host to clear administratively set VF MAC (Jonathan Toppins) [1838737] - [netdrv] ice: Refactor VF VSI release and setup functions (Jonathan Toppins) [1838737] - [netdrv] ice: Refactor VF reset (Jonathan Toppins) [1838737] - [netdrv] ice: remove VM/VF disable command on CORER/GLOBR reset (Jonathan Toppins) [1838737] - [netdrv] ice: Add functions to rebuild host VLAN/MAC config for a VF (Jonathan Toppins) [1838737] - [netdrv] ice: Add function to set trust mode bit on reset (Jonathan Toppins) [1838737] - [netdrv] ice: Renaming and simplification in VF init path (Jonathan Toppins) [1838737] - [netdrv] ice: Separate VF VSI initialization/creation from reset flow (Jonathan Toppins) [1838737] - [netdrv] ice: Add helper function for clearing VPGEN_VFRTRIG (Jonathan Toppins) [1838737] - [netdrv] ice: Simplify ice_sriov_configure (Jonathan Toppins) [1838737] - [netdrv] ice: Refactor ice_ena_vf_mappings to split MSIX and queue mappings (Jonathan Toppins) [1838737] - [netdrv] ice: Declare functions static (Jonathan Toppins) [1838737] - [netdrv] ice: fix kernel BUG if register_netdev fails (Jonathan Toppins) [1838737] - [netdrv] ice: fix potential double free in probe unrolling (Jonathan Toppins) [1838737] - [netdrv] ice: cleanup VSI context initialization (Jonathan Toppins) [1838737] - [netdrv] ice: Poll for reset completion when DDP load fails (Jonathan Toppins) [1838737] - [netdrv] ice: Check UMEM FQ size when allocating bufs (Jonathan Toppins) [1838737] - [netdrv] ice: Refactor Rx checksum checks (Jonathan Toppins) [1838737] - [netdrv] ice: avoid undefined behavior (Jonathan Toppins) [1838737] - [netdrv] ice: Change number of XDP Tx queues to match number of Rx queues (Jonathan Toppins) [1838737] - [netdrv] ice: Add XDP Tx to VSI ring stats (Jonathan Toppins) [1838737] - [netdrv] ice: Change number of XDP TxQ to 0 when destroying rings (Jonathan Toppins) [1838737] - [netdrv] ice: Handle critical FW error during admin queue initialization (Jonathan Toppins) [1838737] - [netdrv] ice: Don't allow VLAN stripping change when pvid set (Jonathan Toppins) [1838737] - [netdrv] ice: Add more Rx errors to netdev's rx_error counter (Jonathan Toppins) [1838737] - [netdrv] ice: Fix for memory leaks and modify ICE_FREE_CQ_BUFS (Jonathan Toppins) [1838737] - [netdrv] ice: Fix memory leak (Jonathan Toppins) [1838737] - [netdrv] ice: fix MAC write command (Jonathan Toppins) [1838737] - [netdrv] ice: set VF default LAN address (Jonathan Toppins) [1838737] - [netdrv] ice: remove unused macro (Jonathan Toppins) [1838737] - [netdrv] ice: fix signed vs unsigned comparisons (Jonathan Toppins) [1838737] - [netdrv] ice: Fix error return code in ice_add_prof() (Jonathan Toppins) [1838737] - [netdrv] ice: replace "fallthrough" comments with fallthrough reserved word (Jonathan Toppins) [1838737]- [kernel] kernel/crash: reserve more memory for fadump (Pingfan Liu) [1891043] - [powerpc] pseries: Pass MSI affinity to irq_create_mapping() (Laurent Vivier) [1702939] - [kernel] genirq/irqdomain: Add an irq_create_mapping_affinity() function (Laurent Vivier) [1702939] - [powerpc] powerpc/perf: Use regs->nip when SIAR is zero (Steve Best) [1903731] - [powerpc] powerpc/perf: Use the address from SIAR register to set cpumode flags (Steve Best) [1903731] - [powerpc] powerpc/perf: Drop the check for SIAR_VALID (Steve Best) [1903731] - [powerpc] powerpc/perf: Add new power PMU flag "PPMU_P10_DD1" for power10 DD1 (Steve Best) [1903731] - [netdrv] net/mlx5e: fix bpf_prog reference count leaks in mlx5e_alloc_rq (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Initialize QP mutex for the debug kernels (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Allow providing extra scatter CQE QP flag (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Query PPS pin operational status before registering it (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fix slab-out-of-bounds in mlx5e_rep_is_lag_netdev (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Verify Hardware supports requested ptp function on a given pin (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Fix a bug of using ptp channel index as pin index (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fix missing cleanup of ethtool steering during rep rx cleanup (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fix error path of device attach (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Fix forward to next namespace (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-switch, Destroy TSAR after reload interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-switch, Destroy TSAR when fail to enable the mode (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix prefetch memory leak if get_prefetchable_mr fails (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Prevent prefetch from racing with implicit destruction (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Use xa_lock_irq when access to SRQ table (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fix usage of rcu-protected pointer (Alaa Hleihel) [1858560] - [netdrv] net/mxl5e: Verify that rpriv is not NULL (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Fix vlan or qos setting in legacy mode (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set PD pointers for the error flow unwind (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix legacy IPoIB QP initialization (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Protect from kernel crash if XRC_TGT doesn't have udata (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix integrity enabled QP creation (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove ECE limitation from the RAW_PACKET QPs (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix remote gid value in query QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Don't access ib_qp fields in internal destroy QP path (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Add missed RST2INIT and INIT2INIT steps during ECE handshake (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix -Wformat warning in check_ucmd_data() (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove duplicated assignment to resp.response_length (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Fix some error pointer dereferences (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Return ECE DC support (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Don't rely on FW to set zeros in ECE response (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Return an error if copy_to_user fails (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Make mlx5e_dcbnl_ops static (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: reduce stack usage in qp_read_field (Alaa Hleihel) [1858560] - [netdrv] mlx5: fix xdp data_meta setup in mlx5e_fill_xdp_buff (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Support TX port affinity for VF drivers in LAG mode (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Optimize performance for IPv4/IPv6 ethertype (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Helper function to set ethertype (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use change upper event to setup representors' bond_metadata (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Slave representors sharing unique metadata for match (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Alloc and free unique metadata for match (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Add bond_metadata and its slave entries (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Offload flow rules to active lower representor (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Support tc block sharing for representors (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use netdev events to set/del egress acl forward-to-vport rule (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Introduce APIs to enable egress acl forward-to-vport rule (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Refactor eswitch ingress acl codes (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Refactor eswitch egress acl codes (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Return ECE data after modify QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set ECE options during modify QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Convert modify QP to use MLX5_SET macros (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove manually crafted QP context the query call (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Use direct modify QP implementation (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set ECE options during QP create (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Get ECE options from FW during create QP (Alaa Hleihel) [1858560] - [include] net/mlx5: Add ability to read and write ECE options (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use IS_ERR() to check and simplify code (Alaa Hleihel) [1858560] - [infiniband] net/mlx5: Add support for RDMA TX FT headers modifying (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Move iseg access helper routines close to mlx5_core driver (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Cleanup mlx5_ifc_fte_match_set_misc2_bits (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Update mlx5_ib driver name (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Calculate SQ stop room in a robust way (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Move internal timer read function to clock library (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Fix a bug of releasing wrong chunks on > 4K page size systems (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Dedicate fw page to the requesting function (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix query_srq_cmd() function (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Add support for drop action in DV steering (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Add support in steering default miss (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Refactor DV create flow (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add support in forward to namespace (Alaa Hleihel) [1858560] - [infiniband] {IB/net}/mlx5: Simplify don't trap code (Alaa Hleihel) [1858560] - [include] net/mlx5: Replace zero-length array with flexible-array (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Enhance ICOSQ WQE info fields (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Accel, Remove unnecessary header include (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use struct assignment for WQE info updates (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Take TX WQE info structures out of general EN header (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: kTLS, Do not fill edge for the DUMP WQEs in TX flow (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: kTLS, Fill work queue edge separately in TX flow (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Split TX acceleration offloads into two phases (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Update UDP fields of the SKB for GSO first (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Make TLS offload independent of wqe and pi (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Pass only eseg to IPSEC offload (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Return void from mlx5e_sq_xmit and mlx5i_sq_xmit (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Unify checks of TLS offloads (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Return bool from TLS and IPSEC offloads (Alaa Hleihel) [1858560] - [netdrv] net: remove newlines in NL_SET_ERR_MSG_MOD (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove duplicated assignment to variable rcqe_sz (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Allow only raw Ethernet QPs when RoCE isn't enabled (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Assign profile before calling stages (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Move all WR logic from qp.c to separate file (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Refactor mlx5_post_send() to improve readability (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Update mlx5_ib to use new cmd interface (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set UDP source port based on the grh.flow_label (Alaa Hleihel) [1858560 1851704] - [infiniband] RDMA/mlx5: Define RoCEv2 udp source port when set path (Alaa Hleihel) [1858560 1851704] - [infiniband] RDMA/mlx5: Set lag tx affinity according to slave (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Refactor affinity related code (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add support to get lag physical port (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Change lag mutex lock to spin lock (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Consolidate into special function all create QP calls (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove redundant destroy QP call (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Copy response to the user in one place (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Handle udate outlen checks in one place (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Promote RSS RAW QP flags check to higher level (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Group all create QP parameters to simplify in-kernel interfaces (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Reduce amount of duplication in QP destroy (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Separate to user/kernel create QP flows (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Separate XRC_TGT QP creation from common flow (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Globally parse DEVX UID (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete impossible inlen check (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Rely on existence of udata to separate kernel/user flows (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove second user copy in create_user_qp (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Combine copy of create QP command in RSS RAW QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Promote RSS RAW QP attribute check in higher level (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Store QP type in the vendor QP structure (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete unsupported QP types (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Unify reserving space for WQEs (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Rename ICOSQ WQE info struct and field (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fetch WQE: reuse code and enforce typing (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: XDP, Print the offending TX descriptor on error completion (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: TX, Generalise code and usage of error CQE dump (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use proper name field for the UMR key (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add support for release all pages event (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Rate limit page not found error messages (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add helper function to release fw page (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Remove unused field in EQ (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Remove unneeded semicolon (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: IPsec, Fix coverity issue (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Process all vendor flags in one place (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Return all configured create flags through query QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Change scatter CQE flag to be set like other vendor flags (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Use flags_en mechanism to mark QP created with WQE signature (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Process create QP flags in one place (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete create QP flags obfuscation (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Initial separation of RAW_PACKET QP from common flow (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove second copy from user for non RSS RAW QPs (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Move DRIVER QP flags check into separate function (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Update all DRIVER QP places to use QP subtype (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Split scatter CQE configuration for DCT QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Separate create QP flows to be based on type (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set QP subtype immediately when it is known (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Avoid setting redundant NULL for XRC QPs (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Prepare QP allocation for future removal (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Perform check if QP creation flow is valid (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete impossible GSI port check (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Organize QP types checks in one place (Alaa Hleihel) [1858560] - [include] net/mlx5: TX WQE Add trailer insertion field (Alaa Hleihel) [1858560] - [include] net/mlx5: Add release all pages capability bit (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Introduce TLS RX offload hardware bits (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add structure and defines for pci sync for fw update event (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add structure layout and defines for MFRL register (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Use aligned variable while allocating ICM memory (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Introduce IPsec Connect-X offload hardware bits and structures (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update transobj.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update SW steering new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update port.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update rl.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update uar.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update pd.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update pagealloc.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update mr.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update mcg.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update main.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update vxlan.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update mpfs.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update gid.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update lag.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update fw.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update fs_core new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update FPGA to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update eswitch to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] ethernet: remove redundant memset (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update statistics to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update eq.c to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update ecpf.c to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update debugfs.c to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update cq.c to new cmd interface (Alaa Hleihel) [1858560] - [infiniband] net/mlx5: Update vport.c to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: improve some comments (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Read embedded cpu bit only once (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Handle errors from netif_set_real_num_{tx, rx}_queues (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: IPsec, Refactor SA handle creation and destruction (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: IPSec, Expose IPsec HW stat only for supporting HW (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Refactor mlx5_accel_esp_create_hw_context parameter list (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Use the correct IPsec capability function for FPGA ops (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Enable SW-defined RoCEv2 UDP source port (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Refactor HCA capability set flow (Alaa Hleihel) [1858560] - [infiniband] net/mlx5: Move QP logic to mlx5_ib (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Alphabetically sort build artifacts (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Delete not-used cmd header (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete Q counter allocations command (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Remove Q counter low level helper APIs (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Replace hand written QP context struct with automatic getters (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Remove extra indirection while storing QPN (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Open-code modify QP in the IPoIB module (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Open-code modify QP in the FPGA module (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Open-code modify QP in steering module (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Remove empty QP and CQ events handlers (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Open-code create and destroy QP calls (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Provide simplified command interfaces (Alaa Hleihel) [1858560] - [x86] kvm: x86/mmu: Fix get_mmio_spte() on CPUs supporting 5-level PT (Vitaly Kuznetsov) [1902184] - [net] netdevsim: devlink flash timeout message (Petr Oros) [1882019] - [net] devlink: collect flash notify params into a struct (Petr Oros) [1882019] - [net] devlink: add timeout information to status_notify (Petr Oros) [1882019] - [firmware] efi/esrt: Only call efi_mem_reserve() for boot services memory (Kairui Song) [1878024] - [firmware] efi: Drop type and attribute checks in efi_mem_desc_lookup() (Kairui Song) [1878024] - [fs] iomap: Fix direct I/O write consistency check (Andreas Grunbacher) [1875556] - [fs] gfs2: fix O_SYNC write handling (Andreas Grunbacher) [1871923] - [fs] gfs2: move setting current->backing_dev_info (Andreas Grunbacher) [1871923] - [fs] gfs2: Don't return NULL from gfs2_inode_lookup (Andreas Grunbacher) [1872061] - [fs] gfs2: If go_sync returns error, withdraw but skip invalidate (Robert S Peterson) [1875035] - [fs] gfs2: Close timing window with GLF_INVALIDATE_IN_PROGRESS (Robert S Peterson) [1875035] - [fs] gfs2: Fix refcount leak in gfs2_glock_poke (Robert S Peterson) [1875035] - [fs] gfs2: Add missing truncate_inode_pages_final for sd_aspace (Robert S Peterson) [1875035] - [fs] gfs2: call truncate_inode_pages_final for address space glocks (Robert S Peterson) [1875035] - [fs] gfs2: simplify the logic in gfs2_evict_inode (Robert S Peterson) [1875035] - [fs] gfs2: factor evict_linked_inode out of gfs2_evict_inode (Robert S Peterson) [1875035] - [fs] gfs2: further simplify gfs2_evict_inode with new func evict_should_delete (Robert S Peterson) [1875035] - [fs] gfs2: factor evict_unlinked_inode out of gfs2_evict_inode (Robert S Peterson) [1875035] - [fs] gfs2: rename variable error to ret in gfs2_evict_inode (Robert S Peterson) [1875035] - [net] ethtool: Add link extended state (Ivan Vecera) [1894545] - [documentation] networking: ethtool-netlink: Add link extended state (Ivan Vecera) [1894545] - [net] ethtool: fix error handling in linkstate_prepare_data() (Ivan Vecera) [1894545] - [net] ethtool: provide UAPI for PHY Signal Quality Index (SQI) (Ivan Vecera) [1894545]- [mm] mm/hugetlb: fix a race between hugetlb sysctl handlers (Julia Denham) [1886241] {CVE-2020-25285} - [kernel] audit: do not set FS_EVENT_ON_CHILD in audit marks mask (Richard Guy Briggs) [1896480] - [net] missing barriers in some of unix_sock ->addr and ->path accesses (Richard Guy Briggs) [1896480] - [kernel] audit: fix macros warnings (Richard Guy Briggs) [1896480] - [kernel] audit: trigger accompanying records when no rules present (Richard Guy Briggs) [1896480] - [kernel] audit: fix a kernel-doc markup (Richard Guy Briggs) [1896480] - [kernel] audit: Remove redundant null check (Richard Guy Briggs) [1896480] - [kernel] audit: uninitialize variable audit_sig_sid (Richard Guy Briggs) [1896480] - [kernel] audit: change unnecessary globals into statics (Richard Guy Briggs) [1896480] - [kernel] audit: report audit wait metric in audit status reply (Richard Guy Briggs) [1896480] - [security] audit: purge audit_log_string from the intra-kernel audit API (Richard Guy Briggs) [1896480] - [security] apparmor: Check buffer bounds when mapping permissions mask (Richard Guy Briggs) [1896480] - [kernel] audit: issue CWD record to accompany LSM_AUDIT_DATA_* records (Richard Guy Briggs) [1896480] - [net] audit: use the proper gfp flags in the audit_log_nfcfg() calls (Richard Guy Briggs) [1896480] - [include] audit: remove unused !CONFIG_AUDITSYSCALL __audit_inode* stubs (Richard Guy Briggs) [1896480] - [net] audit: add gfp parameter to audit_log_nfcfg (Richard Guy Briggs) [1896480] - [kernel] audit: log nftables configuration change events (Richard Guy Briggs) [1896480] - [kernel] audit: Use struct_size() helper in alloc_chunk (Richard Guy Briggs) [1896480] - [kernel] revert: 1320a4052ea1 ("audit: trigger accompanying records when no rules present") (Richard Guy Briggs) [1896480] - [include] audit: Replace zero-length array with flexible-array (Richard Guy Briggs) [1896480] - [netdrv] net: usb: lan78xx: Disable interrupts before calling generic_handle_irq() (Waiman Long) [1904213] - [mm] x86/mm/cpa: Prevent large page split when ftrace flips RW on kernel text (Waiman Long) [1904213] - [mm] x86/mm/cpa: Fix cpa_flush_array() TLB invalidation (Waiman Long) [1904213] - [net] netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist() (Ondrej Mosnacek) [1901171] - [net] netlabel: fix our progress tracking in netlbl_unlabel_staticlist() (Ondrej Mosnacek) [1901171] - [netdrv] net: ena: fix packet's addresses for rx_offset feature (Petr Oros) [1861967] - [netdrv] net: ena: handle bad request id in ena_netdev (Petr Oros) [1861967] - [netdrv] net: ena: Change WARN_ON expression in ena_del_napi_in_range() (Petr Oros) [1861967] - [netdrv] net: ena: support new LLQ acceleration mode (Petr Oros) [1861967] - [netdrv] net: ena: move llq configuration from ena_probe to ena_device_init() (Petr Oros) [1861967] - [netdrv] net: ena: enable support of rss hash key and function changes (Petr Oros) [1861967] - [netdrv] net: ena: add support for traffic mirroring (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: change ena_com_stats_admin stats to u64 (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: satisfy gcc warning (Petr Oros) [1861967] - [netdrv] net: ena: add reserved PCI device ID (Petr Oros) [1861967] - [netdrv] net: ena: avoid unnecessary rearming of interrupt vector when busy-polling (Petr Oros) [1861967] - [netdrv] net: ena: Fix using plain integer as NULL pointer in ena_init_napi_in_range (Petr Oros) [1861967] - [netdrv] ena_netdev: use generic power management (Petr Oros) [1861967] - [netdrv] net: ena: xdp: update napi budget for DROP and ABORTED (Petr Oros) [1861967] - [netdrv] net: ena: xdp: XDP_TX: fix memory leak (Petr Oros) [1861967] - [netdrv] xdp: Rename convert_to_xdp_frame in xdp_convert_buff_to_frame (Petr Oros) [1861967] - [netdrv] net: ena: reduce driver load time (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: minor code changes (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: fix spacing issues (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: code reorderings (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: remove unnecessary code (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: fix line break issues (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: fix spelling and grammar mistakes in comments (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: set queue sizes to u32 for consistency (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: rename ena_update_tx/rx_rings_intr_moderation() (Petr Oros) [1861967] - [netdrv] net: ena: simplify ena_com_update_intr_delay_resolution() (Petr Oros) [1861967] - [netdrv] net: ena: fix ena_com_comp_status_to_errno() return value (Petr Oros) [1861967] - [netdrv] net: ena: use explicit variable size for clarity (Petr Oros) [1861967] - [netdrv] net: ena: rename ena_com_free_desc to make API more uniform (Petr Oros) [1861967] - [netdrv] net: ena: add support for the rx offset feature (Petr Oros) [1861967] - [netdrv] ena: Add XDP frame size to amazon NIC driver (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: extract code to ena_indirection_table_set() (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: remove unnecessary spaces and tabs in ena_com.h macros (Petr Oros) [1861967] - [netdrv] net: ena: use SHUTDOWN as reset reason when closing interface (Petr Oros) [1861967] - [netdrv] net: ena: drop superfluous prototype (Petr Oros) [1861967] - [netdrv] net: ena: add support for reporting of packet drops (Petr Oros) [1861967] - [netdrv] net: ena: add unmask interrupts statistics to ethtool (Petr Oros) [1861967] - [netdrv] net: ena: remove code that does nothing (Petr Oros) [1861967] - [netdrv] net: ena: changes to RSS hash key allocation (Petr Oros) [1861967] - [netdrv] net: ena: change default RSS hash function to Toeplitz (Petr Oros) [1861967] - [netdrv] net: ena: allow setting the hash function without changing the key (Petr Oros) [1861967] - [netdrv] net: ena: fix error returning in ena_com_get_hash_function() (Petr Oros) [1861967] - [netdrv] net: ena: avoid unnecessary admin command when RSS function set fails (Petr Oros) [1861967] - [netdrv] net/ena: Fix build warning in ena_xdp_set() (Petr Oros) [1861967] - [netdrv] net: ena: Make some functions static (Petr Oros) [1861967] - [netdrv] net: ena: fix continuous keep-alive resets (Petr Oros) [1861967] - [netdrv] net: ena: avoid memory access violation by validating req_id properly (Petr Oros) [1861967] - [netdrv] net: ena: fix request of incorrect number of IRQ vectors (Petr Oros) [1861967] - [netdrv] net: ena: fix incorrect setting of the number of msix vectors (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: clean up minor indentation issue (Petr Oros) [1861967] - [netdrv] net: ena: reject unsupported coalescing params (Petr Oros) [1861967] - [netdrv] net: ena: fix broken interface between ENA driver and FW (Petr Oros) [1861967] - [netdrv] net/amazon: Ensure that driver version is aligned to the linux kernel (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: remove redundant non-zero check on rc (Petr Oros) [1861967] - [netdrv] net: ena: remove set but not used variable 'hash_key' (Petr Oros) [1861967] - [netdrv] net: ena: ena-com.c: prevent NULL pointer dereference (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: use correct value for crc32 hash (Petr Oros) [1861967] - [netdrv] net: ena: make ena rxfh support ETH_RSS_HASH_NO_CHANGE (Petr Oros) [1861967] - [netdrv] net: ena: fix corruption of dev_idx_to_host_tbl (Petr Oros) [1861967] - [netdrv] net: ena: fix incorrectly saving queue numbers when setting RSS indirection table (Petr Oros) [1861967] - [netdrv] net: ena: rss: store hash function as values and not bits (Petr Oros) [1861967] - [netdrv] net: ena: rss: fix failure to get indirection table (Petr Oros) [1861967] - [netdrv] net: ena: rss: do not allocate key when not supported (Petr Oros) [1861967] - [netdrv] net: ena: fix incorrect default RSS key (Petr Oros) [1861967] - [netdrv] net: ena: add missing ethtool TX timestamping indication (Petr Oros) [1861967] - [netdrv] net: ena: fix uses of round_jiffies() (Petr Oros) [1861967] - [netdrv] net: ena: fix potential crash when rxfh key is NULL (Petr Oros) [1861967] - [netdrv] net: ena: remove set but not used variable 'rx_ring' (Petr Oros) [1861967] - [netdrv] net: ena: fix issues in setting interrupt moderation params in ethtool (Petr Oros) [1861967] - [netdrv] net: ena: fix default tx interrupt moderation interval (Petr Oros) [1861967] - [netdrv] net: ena: Add first_interrupt field to napi struct (Petr Oros) [1861967] - [netdrv] net: ena: Implement XDP_TX action (Petr Oros) [1861967] - [netdrv] net: ena: implement XDP drop support (Petr Oros) [1861967] - [netdrv] net: ena: fix napi handler misbehavior when the napi budget is zero (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: support set_channels callback (Petr Oros) [1861967] - [netdrv] net: ena: remove redundant print of number of queues (Petr Oros) [1861967] - [netdrv] net: ena: make ethtool -l show correct max number of queues (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: get_channels: use combined only (Petr Oros) [1861967] - [netdrv] net: ena: multiple queue creation related cleanups (Petr Oros) [1861967] - [netdrv] net: ena: change num_queues to num_io_queues for clarity and consistency (Petr Oros) [1861967] - [kernel] rcu/tree: docs: document bkvcache new members at struct kfree_rcu_cpu (Nico Pache) [1894223] - [mm] kasan: don't assume percpu shadow allocations will succeed (Nico Pache) [1894223] - [lib] kasan: update required compiler versions in documentation (Nico Pache) [1894223] - [lib] kasan: improve and simplify Kconfig.kasan (Nico Pache) [1894223] - [lib] kasan: Fix required compiler version (Nico Pache) [1894223] - [lib] kasan: Bump required compiler version (Nico Pache) [1894223] - [documentation] kasan: update documentation for generic kasan (Nico Pache) [1894223] - [mm] kasan: record and print the free track (Nico Pache) [1894223] - [mm] rcu: kasan: record and print call_rcu() call stack (Nico Pache) [1894223] - [kernel] rcu: Support reclaim for head-less object (Nico Pache) [1894223] - [kernel] rcu: Introduce 2 arg kvfree_rcu() interface (Nico Pache) [1894223] - [mm] mm/list_lru.c: Rename kvfree_rcu() to local variant (Nico Pache) [1894223] - [kernel] rcu: Rename *_kfree_callback/*_kfree_rcu_offset/kfree_call_* (Nico Pache) [1894223] - [kernel] rcu/tiny: support vmalloc in tiny-RCU (Nico Pache) [1894223] - [kernel] rcu/tree: Maintain separate array for vmalloc ptrs (Nico Pache) [1894223] - [kernel] rcu/tree: cache specified number of objects (Nico Pache) [1894223] - [kernel] rcu/tree: Use static initializer for krc.lock (Nico Pache) [1894223] - [kernel] rcu/tree: Move kfree_rcu_cpu locking/unlocking to separate functions (Nico Pache) [1894223] - [kernel] rcu/tree: Simplify KFREE_BULK_MAX_ENTR macro (Nico Pache) [1894223] - [kernel] rcu/tree: Make debug_objects logic independent of rcu_head (Nico Pache) [1894223] - [kernel] rcu/tree: Repeat the monitor if any free channel is busy (Nico Pache) [1894223] - [kernel] rcu/tree: Skip entry into the page allocator for PREEMPT_RT (Nico Pache) [1894223] - [kernel] rcu/tree: Keep kfree_rcu() awake during lock contention (Nico Pache) [1894223] - [kernel] rcu: Fix a kernel-doc warnings for "count" (Nico Pache) [1894223] - [kernel] rcu/tree: Count number of batched kfree_rcu() locklessly (Nico Pache) [1894223] - [kernel] rcu/tree: Add a shrinker to prevent OOM due to kfree_rcu() batching (Nico Pache) [1894223] - [kernel] rcuperf: Measure memory footprint during kfree_rcu() test (Nico Pache) [1894223] - [kernel] rcu: Add a trace event for kfree_rcu() use of kfree_bulk() (Nico Pache) [1894223] - [kernel] rcu: Support kfree_bulk() interface in kfree_rcu() (Nico Pache) [1894223] - [mm] kasan: fix clang compilation warning due to stack protector (Nico Pache) [1894223] - [mm] kasan: disable branch tracing for core runtime (Nico Pache) [1894223] - [mm] kasan: add missing functions declarations to kasan.h (Nico Pache) [1894223] - [mm] kasan: consistently disable debugging features (Nico Pache) [1894223] - [mm] kasan: unset panic_on_warn before calling panic() (Nico Pache) [1894223] - [mm] kasan: detect negative size in memory operation function (Nico Pache) [1894223] - [mm] kasan: No KASAN's memmove check if archs don't have it (Nico Pache) [1894223] - [mm] kasan: use apply_to_existing_page_range() for releasing vmalloc shadow (Nico Pache) [1894223] - [mm] kasan: fix crashes on access to memory mapped by vm_map_ram() (Nico Pache) [1894223] - [mm] mm/kasan/common.c: fix compile error (Nico Pache) [1894223] - [mm] kasan: support backing vmalloc space with real shadow memory (Nico Pache) [1894223] - [mm] mm/vmalloc: rework vmap_area_lock (Nico Pache) [1894223] - [mm] mm/vmalloc: remove preempt_disable/enable when doing preloading (Nico Pache) [1894223] - [mm] mm/vmalloc.c: switch to WARN_ON() and move it under unlink_va() (Nico Pache) [1894223] - [mm] mm/vmalloc.c: get rid of one single unlink_va() when merge (Nico Pache) [1894223] - [mm] mm/vmalloc.c: preload a CPU with one object for split purpose (Nico Pache) [1894223] - [mm] mm/vmalloc.c: remove "node" argument (Nico Pache) [1894223] - [mm] mm/vmalloc: modify struct vmap_area to reduce its size (Nico Pache) [1894223] - [mm] mm/vmalloc: do not keep unpurged areas in the busy tree (Nico Pache) [1894223] - [mm] mm/vmalloc.c: fix percpu free VM area search criteria (Nico Pache) [1894223] - [mm] mm/vmalloc.c: avoid bogus -Wmaybe-uninitialized warning (Nico Pache) [1894223] - [mm] mm/vmap: add DEBUG_AUGMENT_LOWEST_MATCH_CHECK macro (Nico Pache) [1894223] - [mm] mm/vmap: add DEBUG_AUGMENT_PROPAGATE_CHECK macro (Nico Pache) [1894223] - [mm] mm/vmalloc.c: keep track of free blocks for vmap allocation (Nico Pache) [1894223] - [mm] mm/vmalloc.c: convert vmap_lazy_nr to atomic_long_t (Nico Pache) [1894223] - [mm] mm/kasan: change kasan_check_{read, write} to return boolean (Nico Pache) [1894223] - [mm] mm/kasan: introduce __kasan_check_{read, write} (Nico Pache) [1894223] - [mm] kasan: fix coccinelle warnings in kasan_p*_table (Nico Pache) [1894223] - [mm] kasan: fix kasan_check_read/write definitions (Nico Pache) [1894223] - [lib] kasan: remove use after scope bugs detection (Nico Pache) [1894223] - [lib] kasan: remove clang version check for KASAN_STACK (Nico Pache) [1894223] - [lib] kasan: turn off asan-stack for clang-8 and earlier (Nico Pache) [1894223] - [block] nbd: fix a block_device refcount leak in nbd_release (Ming Lei) [1901400] - [tools] selftests: Set default protocol for raw sockets in nettest (Hangbin Liu) [1898813] - [tools] selftests/net: improve descriptions for XFAIL cases in psock_snd.sh (Hangbin Liu) [1898813] - [tools] selftests: rtnetlink: make kci_test_encap() return sub-test result (Hangbin Liu) [1898813] - [tools] selftests: net: ip_defrag: modprobe missing nf_defrag_ipv6 support (Hangbin Liu) [1898813] - [tools] selftests: use LDLIBS for libraries instead of LDFLAGS (Hangbin Liu) [1898813] - [tools] selftests: tls: run all tests for TLS 1.2 and TLS 1.3 (Hangbin Liu) [1898813] - [tools] selftests/net: add definition for SOL_DCCP to fix compilation errors for old libc (Hangbin Liu) [1898813] - [tools] selftests: net: reuseport_addr_any: silence clang warning (Hangbin Liu) [1898813] - [tools] selftests: net: refactor reuseport_addr_any test (Hangbin Liu) [1898813] - [tools] selftests: net: reuseport_addr_any: add DCCP (Hangbin Liu) [1898813] - [tools] selftests: net: test that listening sockets match on address properly (Hangbin Liu) [1898813] - [tools] selftests/net: make udpgso_bench skip unsupported testcases (Hangbin Liu) [1898813] - [tools] net/udpgso_bench.sh test fails on error (Hangbin Liu) [1898813] - [tools] net/udpgso_bench.sh add UDP GSO audit tests (Hangbin Liu) [1898813] - [tools] selftests: extend zerocopy tests to udp (Hangbin Liu) [1898813] - [tools] net/udpgso_bench_tx: options to exercise TX CMSG (Hangbin Liu) [1898813] - [tools] selftests: fixes for UDP GRO (Hangbin Liu) [1898813] - [tools] selftests/net: replace obsolete NFT_CHAIN configuration (Hangbin Liu) [1898813] - [tools] selftests: explicitly require kernel features needed by udpgro tests (Hangbin Liu) [1898813] - [tools] selftests: add explicit test for multiple concurrent GRO sockets (Hangbin Liu) [1898813] - [tools] selftests: add functionals test for UDP GRO (Hangbin Liu) [1898813] - [tools] selftests: add some benchmark for UDP GRO (Hangbin Liu) [1898813] - [tools] selftests: add GRO support to udp bench rx program (Hangbin Liu) [1898813] - [net] sctp: change to hold/put transport for proto_unreach_timer (Xin Long) [1897084] - [scsi] scsi: qedi: Add schedule_hw_err_handler callback for fan failure (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Add support for handling PCIe errors (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Add firmware error recovery invocation support (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Mark all connections for recovery on link down event (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Use snprintf instead of sprintf (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Protect active command list to avoid list corruption (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Fix list_del corruption while removing active I/O (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Skip firmware connection termination for PCI shutdown handler (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Use qed count from set_fp_int in msix allocation (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove redundant NULL check (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Staticify non-external function 'qedi_get_iscsi_error' (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Demote seemingly unintentional kerneldoc header (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove set but unused variable 'tmp' (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove 2 set but unused variables (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove unused variable udev & uctrl (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove comparison of 0/1 to bool variable (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Check for buffer overflow in qedi_set_path() (Nilesh Javali) [1854121] - [scsi] scsi: qedf: Remove redundant assignment to variable 'rc' (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Retry qed->probe during recovery (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Add schedule_hw_err_handler callback for fan failure (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Return SUCCESS if stale rport is encountered (Nilesh Javali) [1854122] - [scsi] scsi: qedf: FDMI attributes correction (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Use pci_get_dsn() (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Fix for the session's E_D_TOV value (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Correct the comment in qedf_initiate_els (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Change the debug parameter permission to read & write (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Fix null ptr reference in qedf_stag_change_work (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Fix race between ELS completion and flushing ELS request (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Don't process ELS completion if event is flushed or cleaned up (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Initiate cleanup for ELS commands as well (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Send cleanup even for RRQ on timeout (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Do not kill timeout work for original I/O on RRQ completion (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Check the validity of rjt frame before processing (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Check for port type and role before processing an event (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Demote obvious misuse of kerneldoc to standard comment blocks (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Remove a whole host of unused variables (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Remove set but not checked variable 'tmp' (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Demote obvious misuse of kerneldoc to standard comment blocks (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Remove redundant initialization of variable rc (Nilesh Javali) [1854122] - [infiniband] RDMA/qedr: Fix memory leak in iWARP CM (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix function prototype parameters alignment (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix inline size returned for iWARP (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix iWARP active mtu display (Manish Chopra) [1857857] - [netdrv] qede: Notify qedr when mtu has changed (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix return code if accept is called on a destroyed qp (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix use of uninitialized field (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix doorbell setting (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix qp structure memory leak (Manish Chopra) [1857857] - [netdrv] net: qed: RDMA personality shouldn't fail VF load (Manish Chopra) [1857857] - [netdrv] net: qede: Disable aRFS for NPAR and 100G (Manish Chopra) [1857857] - [netdrv] net: qed: Disable aRFS for NPAR and 100G (Manish Chopra) [1857857] - [netdrv] net: qed: use eth_zero_addr() to clear mac address (Manish Chopra) [1857857] - [netdrv] net: qede: use eth_zero_addr() to clear mac address (Manish Chopra) [1857857] - [netdrv] qede: Use pM format specifier for MAC addresses (Manish Chopra) [1857857] - [netdrv] qed: Use pM format specifier for MAC addresses (Manish Chopra) [1857857] - [infiniband] qed: fix assignment of n_rq_elems to incorrect params field (Manish Chopra) [1857857] - [netdrv] qed: fix the allocation of the chains with an external PBL (Manish Chopra) [1857857] - [netdrv] qede: add .ndo_xdp_xmit() and XDP_REDIRECT support (Manish Chopra) [1857857] - [netdrv] qede: refactor XDP Tx processing (Manish Chopra) [1857857] - [netdrv] qede: reformat net_device_ops declarations (Manish Chopra) [1857857] - [netdrv] qede: reformat several structures in "qede.h" (Manish Chopra) [1857857] - [include] qed: introduce qed_chain_get_elem_used{, u32}() (Manish Chopra) [1857857] - [include] qed: optimize common chain accessors (Manish Chopra) [1857857] - [infiniband] qed: add support for different page sizes for chains (Manish Chopra) [1857857] - [netdrv] qed: simplify chain allocation with init params struct (Manish Chopra) [1857857] - [netdrv] qed: simplify initialization of the chains with an external PBL (Manish Chopra) [1857857] - [netdrv] qed: move chain initialization inlines next to allocation functions (Manish Chopra) [1857857] - [netdrv] qed: sanitize PBL chains allocation (Manish Chopra) [1857857] - [netdrv] qed: prevent possible double-frees of the chains (Manish Chopra) [1857857] - [netdrv] qed: move chain methods to a separate file (Manish Chopra) [1857857] - [netdrv] qed: reformat Makefile (Manish Chopra) [1857857] - [include] qed: reformat "qed_chain.h" a bit (Manish Chopra) [1857857] - [netdrv] net: qed_hsi.h: Avoid the use of one-element array (Manish Chopra) [1857857] - [netdrv] net: qed: Remove unneeded cast from memory allocation (Manish Chopra) [1857857] - [netdrv] qed: suppress false-positives interrupt error messages on HW init (Manish Chopra) [1857857] - [netdrv] qed: suppress "don't support RoCE & iWARP" flooding on HW init (Manish Chopra) [1857857] - [netdrv] qed: Fix ILT and XRCD bitmap memory leaks (Manish Chopra) [1857857] - [netdrv] qed: add support for the extended speed and FEC modes (Manish Chopra) [1857857] - [netdrv] qed: populate supported link modes maps on module init (Manish Chopra) [1857857] - [netdrv] qed: add missing loopback modes (Manish Chopra) [1857857] - [netdrv] qed: add support for new port modes (Manish Chopra) [1857857] - [netdrv] qed: remove unused qed_hw_info::port_mode and QED_PORT_MODE (Manish Chopra) [1857857] - [netdrv] qed: reformat several structures a bit (Manish Chopra) [1857857] - [netdrv] qede: introduce support for FEC control (Manish Chopra) [1857857] - [netdrv] qede: format qede{,_vf}_ethtool_ops (Manish Chopra) [1857857] - [netdrv] qed: add support for Forward Error Correction (Manish Chopra) [1857857] - [netdrv] qed: reformat several structures a bit (Manish Chopra) [1857857] - [netdrv] qed: use transceiver data to fill link partner's advertising speeds (Manish Chopra) [1857857] - [netdrv] qed: add support for multi-rate transceivers (Manish Chopra) [1857857] - [netdrv] qed: reformat public_port::transceiver_data a bit (Manish Chopra) [1857857] - [netdrv] qede: populate supported link modes maps on module init (Manish Chopra) [1857857] - [netdrv] qed, qede, qedf: convert link mode from u32 to ETHTOOL_LINK_MODE (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Add EDPM max size to alloc ucontext response (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Add EDPM mode type for user-fw compatibility (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: SRQ's bug fixes (Manish Chopra) [1857857] - [include] net: qed: drop duplicate words in comments (Manish Chopra) [1857857] - [netdrv] qede: convert to new udp_tunnel_nic infra (Manish Chopra) [1857857] - [netdrv] qed: Disable "MFW indication via attention" SPAM every 5 minutes (Manish Chopra) [1857857] - [netdrv] qed: Populate nvm-file attributes while reading nvm config partition (Manish Chopra) [1857857] - [netdrv] net: qede: fix BE vs CPU comparison (Manish Chopra) [1857857] - [netdrv] net: qede: fix kernel-doc for qede_ptp_adjfreq() (Manish Chopra) [1857857] - [netdrv] net: qed: sanitize BE/LE data processing (Manish Chopra) [1857857] - [netdrv] net: qed: use ptr shortcuts to dedup field accessing in some parts (Manish Chopra) [1857857] - [netdrv] net: qed: improve indentation of some parts of code (Manish Chopra) [1857857] - [netdrv] net: qed: address kernel-doc warnings (Manish Chopra) [1857857] - [netdrv] net: qed: correct qed_hw_err_notify() prototype (Manish Chopra) [1857857] - [netdrv] net: qed: cleanup global structs declarations (Manish Chopra) [1857857] - [netdrv] net: qed: move static iro_arrout of header file (Manish Chopra) [1857857] - [netdrv] qed: Make symbol 'qed_hw_err_type_descr' static (Manish Chopra) [1857857] - [netdrv] net: qede: update copyright years (Manish Chopra) [1857857] - [netdrv] net: qede: convert to SPDX License Identifiers (Manish Chopra) [1857857] - [netdrv] net: qede: correct existing SPDX tags (Manish Chopra) [1857857] - [netdrv] net: qed: update copyright years (Manish Chopra) [1857857] - [netdrv] net: qed: convert to SPDX License Identifiers (Manish Chopra) [1857857] - [netdrv] net: qed: correct existing SPDX tags (Manish Chopra) [1857857] - [netdrv] qed: add missing error test for DBG_STATUS_NO_MATCHING_FRAMING_MODE (Manish Chopra) [1857857] - [netdrv] net: qed: fix "maybe uninitialized" warning (Manish Chopra) [1857857] - [netdrv] net: qed: reset ILT block sizes before recomputing to fix crashes (Manish Chopra) [1857857] - [netdrv] net: qede: fix use-after-free on recovery and AER handling (Manish Chopra) [1857857] - [netdrv] net: qede: fix PTP initialization on recovery (Manish Chopra) [1857857] - [netdrv] net: qed: fix excessive QM ILT lines consumption (Manish Chopra) [1857857] - [netdrv] net: qed: fix NVMe login fails over VFs (Manish Chopra) [1857857] - [netdrv] net: qede: stop adding events on an already destroyed workqueue (Manish Chopra) [1857857] - [netdrv] net: qed: fix async event callbacks unregistering (Manish Chopra) [1857857] - [include] net: qed: fix left elements count calculation (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix KASAN: use-after-free in ucma_event_handler+0x532 (Manish Chopra) [1857857] - [netdrv] qed: Add EDPM mode type for user-fw compatibility (Manish Chopra) [1857857] - [netdrv] qed: Add XRC to RoCE (Manish Chopra) [1857857] - [netdrv] qed: changes to ILT to support XRC (Manish Chopra) [1857857] - [include] net: qed: fix bad formatting (Manish Chopra) [1857857] - [netdrv] net: qed: introduce critical hardware error handler (Manish Chopra) [1857857] - [netdrv] net: qed: introduce critical fan failure handler (Manish Chopra) [1857857] - [netdrv] net: qede: Implement ndo_tx_timeout (Manish Chopra) [1857857] - [netdrv] net: qede: optional hw recovery procedure (Manish Chopra) [1857857] - [netdrv] net: qed: attention clearing properties (Manish Chopra) [1857857] - [netdrv] net: qed: cleanup debug related declarations (Manish Chopra) [1857857] - [netdrv] net: qed: critical err reporting to management firmware (Manish Chopra) [1857857] - [netdrv] net: qed: invoke err notify on critical areas (Manish Chopra) [1857857] - [netdrv] net: qede: add hw err scheduled handler (Manish Chopra) [1857857] - [netdrv] net: qed: adding hw_err states and handling (Manish Chopra) [1857857] - [netdrv] net: qede: Use true for bool variable in qede_init_fp() (Manish Chopra) [1857857] - [netdrv] qed: Make ll2_cbs static (Manish Chopra) [1857857] - [netdrv] qede: Add support for handling the pcie errors (Manish Chopra) [1857857] - [netdrv] qed: Enable device error reporting capability (Manish Chopra) [1857857] - [netdrv] qed: use true,false for bool variables (Manish Chopra) [1857857] - [netdrv] net: qed: Remove unneeded cast from memory allocation (Manish Chopra) [1857857] - [netdrv] net: qede: reject unsupported coalescing params (Manish Chopra) [1857857] - [scsi] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 440 (Manish Chopra) [1857857] - [scsi] treewide: Add SPDX license identifier - Makefile/Kconfig (Manish Chopra) [1857857] - [netdrv] sfc: don't double-down() filters in ef100_reset() (Jarod Wilson) [1856681] - [netdrv] sfc: Fix error code in probe (Jarod Wilson) [1856681] - [netdrv] sfc: fix boolreturn.cocci warning and rename function (Jarod Wilson) [1856681] - [netdrv] sfc: Use 'pci_channel_state_t' instead of 'enum pci_channel_state' (Jarod Wilson) [1856681] - [netdrv] sfc: Use fallthrough pseudo-keyword (Jarod Wilson) [1856681] - [netdrv] sfc: fix build warnings on 32-bit (Jarod Wilson) [1856681] - [netdrv] sfc: don't free_irq()s if they were never requested (Jarod Wilson) [1856681] - [netdrv] sfc: null out channel->rps_flow_id after freeing it (Jarod Wilson) [1856681] - [netdrv] sfc: take correct lock in ef100_reset() (Jarod Wilson) [1856681] - [netdrv] sfc: really check hash is valid before using it (Jarod Wilson) [1856681] - [netdrv] sfc: check hash is valid before using it (Jarod Wilson) [1856681] - [netdrv] sfc: fix ef100 design-param checking (Jarod Wilson) [1856681] - [netdrv] sfc: Fix build with CONFIG_RFS_ACCEL disabled (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: add nic-type for VFs, and bind to them (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: read pf_index at probe time (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: functions for selftests (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: statistics gathering (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: plumb in fini_dmaq (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: RX path for EF100 (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: RX filter table management and related gubbins (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: TX path for EF100 NICs (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: read Design Parameters at probe time (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: fail the probe if NIC uses unsol_ev credits (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: check firmware version at start-of-day (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: remove duplicated include from ef100_netdev.c (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: implement ndo_get_phys_port_{id, name} (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: read device MAC address at probe time (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: probe the PHY and configure the MAC (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: actually perform resets (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: extend ef100_check_caps to cover datapath_caps3 (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: read datapath caps, implement check_caps (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: process events for MCDI completions (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: implement ndo_open/close and EVQ probing (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: implement MCDI transport (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: don't call efx_reset_down()/up() on EF100 (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: PHY probe stub (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: reset-handling stub (Jarod Wilson) [1856681] - [netdrv] sfc: skeleton EF100 PF driver (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: register accesses on EF100 (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: add EF100 register definitions (Jarod Wilson) [1856681] - [netdrv] sfc: remove efx_ethtool_nway_reset() (Jarod Wilson) [1856681] - [netdrv] sfc: drop unnecessary list_empty (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: helper function to set default RSS table of given size (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: NVRAM selftest support code (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: populate BUFFER_SIZE_BYTES in INIT_RXQ (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: add EF100 to NIC-revision enumeration (Jarod Wilson) [1856681] - [netdrv] sfc: get drvinfo driver name from outside the common code (Jarod Wilson) [1856681] - [netdrv] sfc: initialise RSS context ID to 'no RSS context' in efx_init_struct() (Jarod Wilson) [1856681] - [netdrv] sfc: commonise efx_fini_dmaq (Jarod Wilson) [1856681] - [netdrv] sfc: factor out efx_mcdi_filter_table_down() from _remove() (Jarod Wilson) [1856681] - [netdrv] sfc: don't call tx_limit_len if NIC type doesn't have one (Jarod Wilson) [1856681] - [netdrv] sfc: assign TXQs without gaps (Jarod Wilson) [1856681] - [netdrv] sfc: commonise netif_set_real_numx_queues calls (Jarod Wilson) [1856681] - [netdrv] sfc: make tx_queues_per_channel variable at runtime (Jarod Wilson) [1856681] - [netdrv] sfc: move modparam 'rss_cpus' out of common channel code (Jarod Wilson) [1856681] - [netdrv] sfc: move modparam 'interrupt_mode' out of common channel code (Jarod Wilson) [1856681] - [netdrv] sfc: remove max_interrupt_mode (Jarod Wilson) [1856681] - [netdrv] sfc: support setting MTU even if not privileged to configure MAC fully (Jarod Wilson) [1856681] - [netdrv] sfc: don't call tx_remove if there isn't one (Jarod Wilson) [1856681] - [netdrv] sfc: commonise initialisation of efx->vport_id (Jarod Wilson) [1856681] - [netdrv] sfc: commonise efx->xq_entries initialisation (Jarod Wilson) [1856681] - [netdrv] sfc: initialise max_channels in efx_init_channels() (Jarod Wilson) [1856681] - [netdrv] sfc: move definition of EFX_MC_STATS_GENERATION_INVALID (Jarod Wilson) [1856681] - [netdrv] sfc: factor out efx_tx_tso_header_length() and understand encapsulation (Jarod Wilson) [1856681] - [netdrv] sfc: remove duplicate declaration of efx_enqueue_skb_tso() (Jarod Wilson) [1856681] - [netdrv] sfc: commonise TSO fallback code (Jarod Wilson) [1856681] - [netdrv] sfc: commonise efx_sync_rx_buffer() (Jarod Wilson) [1856681] - [netdrv] sfc: commonise some MAC configuration code (Jarod Wilson) [1856681] - [netdrv] sfc: commonise miscellaneous efx functions (Jarod Wilson) [1856681] - [netdrv] sfc: add missing licence info to mcdi_filters.c (Jarod Wilson) [1856681] - [netdrv] sfc: commonise MCDI MAC stats handling (Jarod Wilson) [1856681] - [netdrv] sfc: move NIC-specific mcdi_port declarations out of common header (Jarod Wilson) [1856681] - [netdrv] sfc: extend common GRO interface to support CHECKSUM_COMPLETE (Jarod Wilson) [1856681] - [netdrv] sfc: commonise ARFS handling (Jarod Wilson) [1856681] - [netdrv] sfc: commonise drain event handling (Jarod Wilson) [1856681] - [netdrv] sfc: commonise PCI error handlers (Jarod Wilson) [1856681] - [netdrv] sfc: track which BAR is mapped (Jarod Wilson) [1856681] - [netdrv] sfc: commonise FC advertising (Jarod Wilson) [1856681] - [netdrv] sfc: commonise other ethtool bits (Jarod Wilson) [1856681] - [netdrv] sfc: commonise ethtool NFC and RXFH/RSS functions (Jarod Wilson) [1856681] - [netdrv] sfc: commonise ethtool link handling functions (Jarod Wilson) [1856681] - [netdrv] sfc: split up nic.h (Jarod Wilson) [1856681] - [netdrv] sfc: refactor EF10 stats handling (Jarod Wilson) [1856681] - [netdrv] sfc: don't try to create more channels than we can have VIs (Jarod Wilson) [1856681] - [netdrv] sfc: extend bitfield macros up to POPULATE_DWORD_13 (Jarod Wilson) [1856681] - [netdrv] sfc: determine flag word automatically in efx_has_cap() (Jarod Wilson) [1856681] - [netdrv] sfc: update MCDI protocol headers (Jarod Wilson) [1856681] - [netdrv] sfc: replace '---help---' in Kconfig files with 'help' (Jarod Wilson) [1856681] - [netdrv] sfc: add missing annotation for efx_ef10_try_update_nic_stats_vf() (Jarod Wilson) [1856681] - [netdrv] sfc: avoid an unused-variable warning (Jarod Wilson) [1856681] - [netdrv] sfc: fix dereference of table before it is null checked (Jarod Wilson) [1856681] - [netdrv] sfc: siena_check_caps() can be static (Jarod Wilson) [1856681] - [netdrv] sfc: actually wire up siena_check_caps() (Jarod Wilson) [1856681] - [netdrv] sfc: make firmware-variant printing a nic_type function (Jarod Wilson) [1856681] - [netdrv] sfc: make filter table probe caller responsible for adding VLANs (Jarod Wilson) [1856681] - [netdrv] sfc: move rx_rss_context_exclusive into struct efx_mcdi_filter_table (Jarod Wilson) [1856681] - [netdrv] sfc: rework handling of (firmware) multicast chaining state (Jarod Wilson) [1856681] - [netdrv] sfc: move 'must restore' flags out of ef10-specific nic_data (Jarod Wilson) [1856681] - [netdrv] sfc: use efx_has_cap for capability checks outside of NIC-specific code (Jarod Wilson) [1856681] - [netdrv] sfc: make capability checking a nic_type function (Jarod Wilson) [1856681] - [netdrv] sfc: move vport_id to struct efx_nic (Jarod Wilson) [1856681] - [ntb] NTB: Revert "Add Hygon Device ID" (Myron Stowe) [1880468] - [tools] NTB: ntb_test: Fix bug when counting remote files (Myron Stowe) [1908031] - [ntb] NTB: perf: Fix race condition when run with ntb_test (Myron Stowe) [1908031] - [ntb] NTB: perf: Fix support for hardware that doesn't have port numbers (Myron Stowe) [1908031] - [ntb] NTB: perf: Don't require one more memory window than number of peers (Myron Stowe) [1908031] - [ntb] NTB: ntb_pingpong: Choose doorbells based on port number (Myron Stowe) [1908031] - [ntb] NTB: Fix the default port and peer numbers for legacy drivers (Myron Stowe) [1908031] - [ntb] NTB: Revert the change to use the NTB device dev for DMA allocations (Myron Stowe) [1908031] - [ntb] NTB: ntb_tool: reading the link file should not end in a NULL byte (Myron Stowe) [1908031] - [ntb] ntb_perf: avoid false dma unmap of destination address (Myron Stowe) [1908031] - [ntb] ntb_perf: increase sleep time from one milli sec to one sec (Myron Stowe) [1908031] - [ntb] ntb_tool: pass correct struct device to dma_alloc_coherent (Myron Stowe) [1908031] - [ntb] ntb_perf: pass correct struct device to dma_alloc_coherent (Myron Stowe) [1908031] - [include] NTB: correct ntb_peer_spad_addr and ntb_peer_spad_read comment typos (Myron Stowe) [1908031] - [ntb] ntb: intel: fix static declaration (Myron Stowe) [1908031] - [ntb] ntb: intel: add hw workaround for NTB BAR alignment (Myron Stowe) [1908031] - [ntb] ntb: intel: Add Icelake (gen4) support for Intel NTB (Myron Stowe) [1908031] - [ntb] NTB: Fix static check warning in perf_clear_test (Myron Stowe) [1908031] - [include] include/ntb: Fix typo in ntb_unregister_device description (Myron Stowe) [1908031] - [ntb] NTB: add pci shutdown handler for AMD NTB (Myron Stowe) [1908031] - [ntb] NTB: send DB event when driver is loaded or un-loaded (Myron Stowe) [1908031] - [ntb] NTB: remove redundant setting of DB valid mask (Myron Stowe) [1908031] - [ntb] NTB: return link up status correctly for PRI and SEC (Myron Stowe) [1908031] - [ntb] NTB: add helper functions to set and clear sideinfo (Myron Stowe) [1908031] - [ntb] NTB: move ntb_ctrl handling to init and deinit (Myron Stowe) [1908031] - [ntb] NTB: handle link up, D0 and D3 events correctly (Myron Stowe) [1908031] - [ntb] NTB: handle link down event correctly (Myron Stowe) [1908031] - [ntb] NTB: remove handling of peer_sta from amd_link_is_up (Myron Stowe) [1908031] - [ntb] NTB: set peer_sta within event handler itself (Myron Stowe) [1908031] - [ntb] NTB: return the side info status from amd_poll_link (Myron Stowe) [1908031] - [ntb] NTB: define a new function to get link status (Myron Stowe) [1908031] - [ntb] NTB: Enable link up and down event notification (Myron Stowe) [1908031] - [ntb] NTB: clear interrupt status register (Myron Stowe) [1908031] - [ntb] NTB: Fix access to link status and control register (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: Use scnprintf() for avoiding potential buffer overflow (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Fix ntb_mw_clear_trans error if size == 0 (Myron Stowe) [1908031] - [ntb] ntb_tool: Fix printk format (Myron Stowe) [1908031] - [ntb] NTB: ntb_perf: Fix address err in perf_copy_chunk (Myron Stowe) [1908031] - [ntb] NTB: Fix an error in get link status (Myron Stowe) [1908031] - [ntb] NTB: Add Hygon Device ID (Myron Stowe) [1908031] - [ntb] NTB: fix IDT Kconfig typos/spellos (Myron Stowe) [1908031] - [ntb] ntb_hw_amd: Add memory window support for new AMD hardware (Myron Stowe) [1908031] - [ntb] ntb_hw_amd: Add a new NTB PCI device ID (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: remove redundant assignment to rc (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: make ntb_mw_set_trans() work when addr == 0 (Myron Stowe) [1908031] - [ntb] ntb: point to right memory window index (Myron Stowe) [1908031] - [ntb] NTB/msi: remove incorrect MODULE defines (Myron Stowe) [1908031] - [documentation] NTB: Describe the ntb_msi_test client in the documentation (Myron Stowe) [1908031] - [ntb] NTB: Add MSI interrupt support to ntb_transport (Myron Stowe) [1908031] - [tools] NTB: Add ntb_msi_test support to ntb_test (Myron Stowe) [1908031] - [ntb] NTB: Introduce NTB MSI Test Client (Myron Stowe) [1908031] - [ntb] NTB: Introduce MSI library (Myron Stowe) [1908031] - [ntb] NTB: Rename ntb.c to support multiple source files in the module (Myron Stowe) [1908031] - [include] NTB: Introduce functions to calculate multi-port resource index (Myron Stowe) [1908031] - [include] NTB: Introduce helper functions to calculate logical port number (Myron Stowe) [1908031] - [pci] PCI/switchtec: Add module parameter to request more interrupts (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Fix setup MW with failure bug (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Skip unnecessary re-setup of shared memory window for crosslink case (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Remove redundant steps of switchtec_ntb_reinit_peer() function (Myron Stowe) [1908031] - [include] NTB: correct ntb_dev_ops and ntb_dev comment typos (Myron Stowe) [1908031] - [ntb] NTB: amd: Silence shift wrapping warning in amd_ntb_db_vector_mask() (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: potential shift wrapping bug in switchtec_ntb_init_sndev() (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: Ensure qp->tx_mw_dma_addr is initaliazed (Myron Stowe) [1908031] - [ntb] NTB: ntb_hw_amd: set peer limit register (Myron Stowe) [1908031] - [ntb] NTB: ntb_perf: Clear stale values in doorbell and command SPAD register (Myron Stowe) [1908031] - [ntb] NTB: ntb_perf: Disable NTB link after clearing peer XLAT registers (Myron Stowe) [1908031] - [ntb] NTB: ntb_perf: Increased the number of message retries to 1000 (Myron Stowe) [1908031] - [ntb] ntb: intel: Make intel_ntb3_peer_db_addr static (Myron Stowe) [1908031] - [ntb] NTB: add new parameter to peer_db_addr() db_bit and db_data (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: Ensure the destination buffer is mapped for TX DMA (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: Free MWs in ntb_transport_link_cleanup() (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Added support of >=4G memory windows (Myron Stowe) [1908031] - [include] ntb_hw_switchtec: NT req id mapping table register entry number should be 512 (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: debug print 64bit aligned crosslink BAR Numbers (Myron Stowe) [1908031] - [ntb] ntb: idt: Alter the driver info comments (Myron Stowe) [1908031] - [ntb] ntb: idt: Discard temperature sensor IRQ handler (Myron Stowe) [1908031] - [ntb] ntb: idt: Add basic hwmon sysfs interface (Myron Stowe) [1908031] - [ntb] ntb: idt: Alter temperature read method (Myron Stowe) [1908031] - [netdrv] ntb_netdev: Simplify remove with client device drvdata (Myron Stowe) [1908031] - [ntb] NTB: transport: Try harder to alloc an aligned MW buffer (Myron Stowe) [1908031] - [ntb] ntb: ntb_transport: Mark expected switch fall-throughs (Myron Stowe) [1908031] - [ntb] ntb: idt: Set PCIe bus address to BARLIMITx (Myron Stowe) [1908031] - [ntb] NTB: ntb_hw_idt: replace IS_ERR_OR_NULL with regular NULL checks (Myron Stowe) [1908031] - [ntb] ntb: intel: fix return value for ndev_vec_mask() (Myron Stowe) [1908031] - [netdrv] ntb_netdev: fix sleep time mismatch (Myron Stowe) [1908031]- [block] block: fix incorrect branching in blk_max_size_offset() (Mike Snitzer) [1903722] - [md] dm: fix IO splitting (Mike Snitzer) [1903722] - [block] block: fix get_max_io_size() (Mike Snitzer) [1903722] - [block] block: Improve physical block alignment of split bios (Mike Snitzer) [1903722] - [block] block: use gcd() to fix chunk_sectors limit stacking (Mike Snitzer) [1903722] - [kernel] sched/deadline: Fix priority inheritance with multiple scheduling classes (Phil Auld) [1780490] - [fs] Convert trailing spaces and periods in path components (Leif Sahlberg) [1882457] - [block] loop: Fix occasional uevent drop (Ming Lei) [1897401] - [block] block: add a return value to set_capacity_revalidate_and_notify (Ming Lei) [1897401] - [fs] fat: truncate inode timestamp updates in setattr (Pavel Reichl) [1533270] - [fs] fat: change timestamp updates to use fat_truncate_time (Pavel Reichl) [1533270] - [fs] fat: add functions to update and truncate timestamps appropriately (Pavel Reichl) [1533270] - [fs] fat: create a function to calculate the timezone offest (Pavel Reichl) [1533270] - [net] icmp: randomize the global rate limiter (Guillaume Nault) [1899137] - [net] ipv4: Restore flowi4_oif update before call to xfrm_lookup_route (Guillaume Nault) [1899137] - [net] ipv4: Update exception handling for multipath routes via same device (Guillaume Nault) [1899137] - [net] ip: fix tos reflection in ack and reset packets (Guillaume Nault) [1899137] - [net] initialize fastreuse on inet_inherit_port (Guillaume Nault) [1899137] - [net] refactor bind_bucket fastreuse into helper (Guillaume Nault) [1899137] - [infiniband] RDMA/bnxt_re: Remove set but not used variable 'qplib_ctx' (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Remove the qp from list only if the qp destroy succeeds (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Fix driver crash on unaligned PSN entry address (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Restrict the max_gids to 256 (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Static NQ depth allocation (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Fix the qp table indexing (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Do not report transparent vlan from QP1 (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Change wr posting logic to accommodate variable wqes (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Add helper data structures (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Pull psn buffer dynamically based on prod (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: introduce a function to allocate swq (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: introduce wqe mode to select execution path (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt: Delete 'nq_ptr' variable which is not used (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Remove dead code from rcfw (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Simplify obtaining queue entry from hw ring (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Update missing hsi data structures (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Reduce device page size detection code (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Remove unsupported modify_device callback (Selvin Xavier) [1861886] - [include] net: Add netif_is_bareudp() API to identify bareudp devices (Guillaume Nault) [1839788] - [net] Removed the device type check to add mpls support for devices (Guillaume Nault) [1839788] - [tools] selftests: set conf.all.rp_filter=0 in bareudp.sh (Guillaume Nault) [1839788] - [tools] selftests: disable rp_filter when testing bareudp (Guillaume Nault) [1839788] - [tools] selftests: add test script for bareudp tunnels (Guillaume Nault) [1839788] - [documentation] bareudp: Corrected description of bareudp module. (Guillaume Nault) [1839788] - [netdrv] bareudp: forbid mixing IP and MPLS in multiproto mode (Guillaume Nault) [1839788] - [netdrv] bareudp: Reverted support to enable & disable rx metadata collection (Guillaume Nault) [1839788] - [documentation] bareudp: update iproute2 sample commands (Guillaume Nault) [1839788] - [netdrv] bareudp: Added attribute to enable & disable rx metadata collection (Guillaume Nault) [1839788] - [netdrv] bareudp: Fixed multiproto mode configuration (Guillaume Nault) [1839788] - [netdrv] bareudp: Fixed configuration to avoid having garbage values (Guillaume Nault) [1839788] - [netdrv] net: bareudp: avoid uninitialized variable warning (Guillaume Nault) [1839788] - [netdrv] bareudp: Fixed bareudp receive handling (Guillaume Nault) [1839788] - [netdrv] bareudp: remove unnecessary udp_encap_enable() in bareudp_socket_create() (Guillaume Nault) [1839788] - [netdrv] bareudp: print error message when command fails (Guillaume Nault) [1839788] - [netdrv] bareudp: add module alias (Guillaume Nault) [1839788] - [netdrv] bareudp: Fix uninitialized variable warnings. (Guillaume Nault) [1839788] - [netdrv] Special handling for IP & MPLS. (Guillaume Nault) [1839788] - [net] UDP tunnel encapsulation module for tunnelling different protocols like MPLS, IP, NSH etc. (Guillaume Nault) [1839788] - [arm64] arm64: remove arm64ksyms.c (Mark Salter) [1883365] - [arm64] arm64: frace: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: string: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: uaccess: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: page: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: smccc: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: tishift: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: add EXPORT_SYMBOL_NOKASAN() (Mark Salter) [1883365] - [mm] arm64: move memstart_addr export inline (Mark Salter) [1883365] - [arm64] arm64: remove bitop exports (Mark Salter) [1883365] - [arm64] arm64: lib: use C string functions with KASAN enabled (Mark Salter) [1883365] - [arm64] arm64: add (Mark Salter) [1883365] - [arm64] locking/atomics/arm64, arm64/bitops: Include (Mark Salter) [1883365] - [arm64] locking/atomics/arm64: Replace our atomic/lock bitop implementations with asm-generic (Mark Salter) [1883365] - [include] locking/atomics, asm-generic/bitops/lock.h: Rewrite using atomic_fetch_*() (Mark Salter) [1883365] - [include] locking/atomics, asm-generic/bitops/atomic.h: Rewrite using atomic_*() APIs (Mark Salter) [1883365] - [thermal] thermal: rcar_thermal: Add missing braces to conditional statement (Ivan Vecera) [1894564] - [thermal] thermal: Rename set_mode() to change_mode() (Ivan Vecera) [1894564] - [thermal] thermal: Simplify or eliminate unnecessary set_mode() methods (Ivan Vecera) [1894564] - [thermal] thermal: core: Stop polling DISABLED thermal devices (Ivan Vecera) [1894564] - [thermal] thermal: Explicitly enable non-changing thermal zone devices (Ivan Vecera) [1894564] - [thermal] thermal: Use mode helpers in drivers (Ivan Vecera) [1894564] - [thermal] thermal: Add mode helpers (Ivan Vecera) [1894564] - [thermal] thermal: remove get_mode() operation of drivers (Ivan Vecera) [1894564] - [thermal] thermal: Store device mode in struct thermal_zone_device (Ivan Vecera) [1894564] - [include] thermal: Add current mode to thermal zone device (Ivan Vecera) [1894564] - [acpi] thermal: Store thermal mode in a dedicated enum (Ivan Vecera) [1894564] - [acpi] acpi: thermal: Fix error handling in the register function (Ivan Vecera) [1894564] - [thermal] thermal: core: skip update disabled thermal zones after suspend (Ivan Vecera) [1894564] - [thermal] Thermal: do not clear passive state during system sleep (Ivan Vecera) [1894564] - [thermal] thermal: of-thermal: disable passive polling when thermal zone is disabled (Ivan Vecera) [1894564] - [crypto] crypto: qat - drop input parameter from adf_enable_aer() (Vladis Dronov) [1855190] - [crypto] crypto: qat - fix function parameters descriptions (Vladis Dronov) [1855190] - [crypto] crypto: qat - remove unnecessary mutex_init() (Vladis Dronov) [1855190] - [crypto] crypto: qat - use PCI_VDEVICE (Vladis Dronov) [1855190] - [crypto] crypto: qat - replace device ids defines (Vladis Dronov) [1855190] - [crypto] crypto: qat - include domain in top level debugfs path (Vladis Dronov) [1855190] - [crypto] crypto: qat - check cipher length for aead AES-CBC-HMAC-SHA (Vladis Dronov) [1855190] - [crypto] crypto: qat - Use fallthrough pseudo-keyword (Vladis Dronov) [1855190] - [crypto] crypto: qat - add delay before polling mailbox (Vladis Dronov) [1855190] - [include] PCI: Add Intel QuickAssist device IDs (Vladis Dronov) [1855190] - [crypto] crypto: qat - fix double free in qat_uclo_create_batch_init_list (Vladis Dronov) [1855190] - [crypto] crypto: qat - fallback for xts with 192 bit keys (Vladis Dronov) [1855190] - [crypto] crypto: qat - remove unused field in skcipher ctx (Vladis Dronov) [1855190] - [crypto] crypto: qat - validate xts key (Vladis Dronov) [1855190] - [crypto] crypto: qat - allow xts requests not multiple of block (Vladis Dronov) [1855190] - [crypto] crypto: qat - update timeout logic in put admin msg (Vladis Dronov) [1855190] - [crypto] crypto: qat - send admin messages to set of AEs (Vladis Dronov) [1855190] - [crypto] crypto: qat - update fw init admin msg (Vladis Dronov) [1855190] - [crypto] crypto: qat - remove packed attribute in etr structs (Vladis Dronov) [1855190] - [crypto] crypto: qat - replace user types with kernel ABI __u types (Vladis Dronov) [1855190] - [crypto] crypto: qat - replace user types with kernel u types (Vladis Dronov) [1855190] - [crypto] crypto: qat - convert to SPDX License Identifiers (Vladis Dronov) [1855190] - [crypto] crypto: qat - simplify the qat_crypto function (Vladis Dronov) [1855190] - [crypto] crypto: qat - spelling s/Decrytp/Decrypt/ (Vladis Dronov) [1855190] - [crypto] crypto: qat/adf_aer - Replace GFP_ATOMIC with GFP_KERNEL in adf_dev_aer_schedule_reset() (Vladis Dronov) [1855190] - [thermal] thermal: int340x: processor_thermal: fix: update Jasper Lake PCI id (David Arcari) [1889331] - [thermal] thermal: int3403_thermal: Downgrade error message (David Arcari) [1889331] - [thermal] thermal/int340x_thermal: Prevent page fault on .set_mode() op (David Arcari) [1889331] - [thermal] thermal/int340x_thermal: Don't require IDSP to exist (David Arcari) [1889331] - [thermal] thermal/int340x_thermal: Export OEM vendor variables (David Arcari) [1889331] - [thermal] thermal/int340x_thermal: Export GDDV (David Arcari) [1889331] - [thermal] thermal: int3400_thermal: Statically initialize .get_mode()/.set_mode() ops (David Arcari) [1889331] - [thermal] thermal: int340x_thermal: fix: Update Tiger Lake ACPI device IDs (David Arcari) [1889331] - [thermal] thermal: int340x_thermal: Use scnprintf() for avoiding potential buffer overflow (David Arcari) [1889331] - [thermal] thermal: int340x: processor_thermal: Add Tiger Lake support (David Arcari) [1889331] - [platform] acpi: Remove header dependency (David Arcari) [1889331] - [thermal] thermal: int340x: switch to use helpers (David Arcari) [1889331] - [thermal] thermal: int340x: processor_thermal: Add Jasper Lake support (David Arcari) [1889331] - [thermal] thermal: int340x_thermal: Add Tiger Lake ACPI device IDs (David Arcari) [1889331] - [thermal] thermal: intel: int3403: replace printk(KERN_WARN...) with pr_warn(...) (David Arcari) [1889331] - [thermal] thermal: intel: int340x_thermal: Remove unnecessary acpi_has_method() uses (David Arcari) [1889331] - [thermal] thermal: int340x: processor_thermal: Add Ice Lake support (David Arcari) [1889331] - [thermal] drivers: thermal: processor_thermal_device: Export sysfs interface for TCC offset (David Arcari) [1889331] - [netdrv] net/mlx5e: Fix arch depending casting issue in FEC (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Kconfig: convert imply usage to weak dependency (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Fix condition for termination table cleanup (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: Use a separate work queue for fib event handling (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Add support for RDMA TX flow table (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Add support for RDMA TX steering (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Move to fully dynamic UAR mode once user space supports it (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Limit the scope of struct mlx5_bfreg_info to mlx5_ib (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Extend QP creation to get uar page index from user space (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Extend CQ creation to get uar page index from user space (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Avoid group version scan when not necessary (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Avoid incrementing FTE version (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Simplify matching group searches (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Generally use the WC auto detection test result (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Avoid forwarding to other eswitch uplink (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: Eswitch, enable forwarding back to uplink port (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5e: Add support for offloading traffic from uplink to uplink (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: Don't use termination tables in slow path (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: Avoid configuring eswitch QoS if not supported (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: DR, Add support for flow table id destination action (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Refactor unload all reps per rep type (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Update VF vports config when num of VFs changed (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Introduce per vport configuration for eswitch modes (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-switch, Make vport setup/cleanup sequence symmetric (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Prepare for vport enable/disable refactor (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Remove redundant warning when QoS enable failed (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Remove redundant check of eswitch manager cap (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Allow MRs to be created in the cache synchronously (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Revise how the hysteresis scheme works for cache filling (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Fix locking in MR cache work queue (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Lock access to ent->available_mrs/limit when doing queue_work (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Fix MR cache size and limit debugfs (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Always remove MRs from the cache before destroying them (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Simplify how the MR cache bucket is located (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Rename the tracking variables for the MR cache (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Replace spinlock protected write with atomic var (Alaa Hleihel) [1858559] - [infiniband] {IB, net}/mlx5: Move asynchronous mkey creation to mlx5_ib (Alaa Hleihel) [1858559] - [infiniband] {IB, net}/mlx5: Assign mkey variant in mlx5_ib only (Alaa Hleihel) [1858559] - [infiniband] {IB, net}/mlx5: Setup mkey variant before mr create command invocation (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Use offsetofend() instead of duplicated variant (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Remove duplicate definitions of SW_ICM macros (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-switch, make query inline mode a static function (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Allocate smaller size tables for ft offload (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Introduce TLS and IPSec objects enums (Alaa Hleihel) [1858559] - [include] net/mlx5: Introduce egress acl forward-to-vport capability (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Add np_min_time_between_cnps and rp_max_rate debug params (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Fix header guard in rsc_dump.h (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Replace zero-length array with flexible-array member (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Remove a useless 'drain_workqueue()' call in 'mlx5e_ipsec_cleanup()' (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Add support for FEC modes based on 50G per lane links (Alaa Hleihel) [1858559] - [netdrv] net/mlxe5: Separate between FEC and current speed (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Advertise globaly supported FEC modes (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Enforce setting of a single FEC mode (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Set FEC to auto when configured mode is not supported (Alaa Hleihel) [1858559] - [netdrv] mlx5: Use proper logging and tracing line terminations (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Support dump callback in RX reporter (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Support dump callback in TX reporter (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Gather reporters APIs together (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Add support for resource dump (Alaa Hleihel) [1858559] - [netdrv] bnxt_en: Fix wrong flag value passed to HWRM_PORT_QSTATS_EXT fw call (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix HWRM_FUNC_QSTATS_EXT firmware call (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Return -EOPNOTSUPP for ETHTOOL_GREGS on VFs (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Protect bnxt_set_eee() and bnxt_set_pauseparam() with mutex (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: return proper error codes in bnxt_show_temp (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Use memcpy to copy VPD field info (Jonathan Toppins) [1861885] - [netdrv] net: ethernet: broadcom: have drivers select DIMLIB as needed (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix NULL ptr dereference crash in bnxt_fw_reset_task() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Avoid sending firmware messages when AER error is detected (Jonathan Toppins) [1861885] - [netdrv] bnxt: don't enable NAPI until rings are ready (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Setup default RSS map in all scenarios (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: init RSS table for Minimal-Static VF reservation (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: fix HWRM error when querying VF temperature (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix possible crash in bnxt_fw_reset_task() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix PCI AER error recovery flow (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix ethtool -S statitics with XDP or TCs enabled (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Check for zero dir entries in NVRAM (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Don't query FW when netif_running() is false (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Remove superfluous memset() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add support for 'ethtool -d' (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Switch over to use the 64-bit software accumulated counters (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Accumulate all counters (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Retrieve hardware masks for port counters (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Retrieve hardware counter masks from firmware if available (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Allocate additional memory for all statistics blocks (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Refactor statistics code and structures (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Use macros to define port statistics size and offset (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Update firmware interface to 1.10.1.54 (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Remove PCIe non-counters from ethtool statistics (Jonathan Toppins) [1861885] - [netdrv] net: bnxt: don't complain if TC flower can't be supported (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix completion ring sizing with TPA enabled (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Init ethtool link settings after reading updated PHY configuration (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix race when modifying pause settings (Jonathan Toppins) [1861885] - [netdrv] bnxt: convert to new udp_tunnel_nic infra (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: allow firmware to disable VLAN offloads (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: clean up VLAN feature bit handling (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Implement ethtool -X to set indirection table (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Return correct RSS indirection table entries to ethtool -x (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fill HW RSS table from the RSS logical indirection table (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add helper function to return the number of RSS contexts (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add logical RSS indirection table structure (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix up bnxt_get_rxfh_indir_size() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Set up the chip specific RSS table size (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Read VPD info only for PFs (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix statistics counters issue during ifdown with older firmware (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Do not enable legacy TX push on older firmware (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Store the running firmware version code (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add board.serial_number field to info_get cb (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Return from timer if interface is not in open state (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix AER reset logic on 57500 chips (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Re-enable SRIOV during resume (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Simplify bnxt_resume() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: fix firmware message length endianness (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix return code to "flash_device" (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix accumulation of bp->net_stats_prev (Jonathan Toppins) [1861885] - [netdrv] net: bnxt: Remove Comparison to bool in bnxt_ethtool.c (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: show only relevant ethtool stats for a TX or RX ring (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Split HW ring statistics strings into RX and TX parts (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Refactor the software ring counters (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add doorbell information to bnxt_en_dev struct (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add support for L2 doorbell size (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Set the db_offset on 57500 chips for the RDMA MSIX entries (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Define the doorbell offsets on 57500 chips (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Improve kernel log messages related to ethtool reset (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: fix ethtool_reset_flags ABI violations (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: refactor ethtool firmware reset types (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: prepare to refactor ethtool reset types (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Do not include ETH_FCS_LEN in the max packet length sent to fw (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Improve TQM ring context memory sizing formulas (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Allocate TQM ring context memory according to fw specification (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Update firmware spec. to 1.10.1.33 (Jonathan Toppins) [1861885] - [fs] fs/namespace.c: fix mountpoint reference counter race (Pavel Reichl) [1852651] {CVE-2020-12114}- [powerpc] powerpc/64: Fix kernel stack 16-byte alignment (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/aout: Fix struct user definition to use user_pt_regs (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/uapi: Fix sigcontext definition to use user_pt_regs (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] bpf: powerpc: fix broken uapi for BPF_PROG_TYPE_PERF_EVENT (Desnes Augusto Nunes do Rosario) [1854528] - [tools] selftests/powerpc: Tests for kernel accessing user memory (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/ptrace: Introduce PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix exception handling for CONFIG_HAVE_HW_BREAKPOINT=N (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix length calculation for unaligned target (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Move DAWR detection logic outside of hw_breakpoint.c (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/ptrace: Fix SETHWDEBUG when CONFIG_HAVE_HW_BREAKPOINT=N (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix handling of vector instructions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix quadword instruction handling on p10 predecessors (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/hw_breakpoint.h: delete duplicated word (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Remove 512 byte boundary (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Return available watchpoints dynamically (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Guest support for 2nd DAWR hcall (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Set CPU_FTR_DAWR1 based on pa-features bit (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/dt_cpu_ftrs: Add feature for 2nd DAWR (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Enable watchpoint functionality on power10 guest (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix DAWR exception for CACHEOP (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix DAWR exception constraint (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix 512 byte boundary limit (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] hw-breakpoints: Fix build warnings with clang (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/xmon: Support 2nd DAWR (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/xmon: Don't allow breakpoint overwriting (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Don't allow concurrent perf and ptrace events (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Prepare handler to handle more than one watchpoint (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Use builtin ALIGN*() macros (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Introduce is_ptrace_bp() function (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Use loop for thread_struct->ptrace_bps (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Convert thread_struct->hw_brk to an array (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Disable all available watchpoints when !dawr_force_enable (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Get watchpoint count dynamically while disabling them (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Provide DAWR number to __set_breakpoint (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Provide DAWR number to set_dawr (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/ptrace: Return actual num of available watchpoints (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Introduce function to get nr watchpoints dynamically (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Add SPRN macros for second DAWR (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: move ptrace_triggered() into hw_breakpoint.c (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: create ppc_gethwdinfo() (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: create ptrace_get_debugreg() (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out ADV_DEBUG_REGS related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: move register viewing functions out of ptrace.c (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out TRANSACTIONAL_MEM related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out SPE related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out ALTIVEC related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out VSX related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: drop PARAMETER_SAVE_AREA_OFFSET (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: drop unnecessary #ifdefs CONFIG_PPC64 (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: remove unused header includes (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: Move ptrace into a subdirectory (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Don't call dar_within_range() for Book3S (Desnes Augusto Nunes do Rosario) [1854528] - [tools] selftests/powerpc: Enable range tests on 8xx in ptrace-hwbreak.c selftest (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/hw_breakpoints: Rewrite 8xx breakpoints to allow any address range size (Desnes Augusto Nunes do Rosario) [1854528] - [tools] powerpc/watchpoint: Support for 8xx in ptrace-hwbreak.c selftest (Desnes Augusto Nunes do Rosario) [1854528] - [tools] powerpc/watchpoint: Add DAR outside test in perf-hwbreak.c selftest (Desnes Augusto Nunes do Rosario) [1854528] - [tools] selftests/powerpc: Rewrite ptrace-hwbreak.c selftest (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: permanently include 8xx registers in reg.h (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: Simplify vr_get/set() to avoid GCC warning (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/64: Interrupts save PPR on stack rather than thread_struct (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: Use SWITCH_FRAME_SIZE for prom and rtas entry (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: Don't use sizeof(struct pt_regs) in ptrace code (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: Split user/kernel definitions of struct pt_regs (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: declare set_breakpoint() static (Desnes Augusto Nunes do Rosario) [1854528] - [tools] perf vendor events power9: Added nest imc metric events (Michael Petlan) [1780258] - [powerpc] powerpc/perf: Fix crashes with generic_compat_pmu & BHRB (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints (Michael Petlan) [1854525] - [powerpc] powerpc/powernv/idle: add a basic stop 0-3 driver for POWER10 (Michael Petlan) [1854525] - [powerpc] powerpc/kernel: Cleanup machine check function declarations (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Fix soft lockups due to missed interrupt accounting (Michael Petlan) [1854525] - [powerpc] powerpc: Add POWER10 raw mode cputable entry (Michael Petlan) [1854525] - [powerpc] powerpc/powernv: Machine check handler for POWER10 (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Add extended regs support for power10 platform (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Add support for outputting extended regs in perf intr_regs (Michael Petlan) [1854525] - [tools] perf tools powerpc: Add support for extended regs in power10 (Michael Petlan) [1854525] - [tools] perf tools powerpc: Add support for extended register capability (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Fix MMCRA_BHRB_DISABLE define for binutils < 2.28 (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Initialize power10 PMU registers in cpu setup routine (Michael Petlan) [1854525] - [powerpc] powerpc/perf: BHRB control to disable BHRB logic when not used (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Add Power10 BHRB filter support for PERF_SAMPLE_BRANCH_IND_CALL/COND (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Ignore the BHRB kernel address filtering for P10 (Michael Petlan) [1854525] - [powerpc] powerpc/perf: power10 Performance Monitoring support (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Add Power10 PMU feature to DT CPU features (Michael Petlan) [1854525] - [powerpc] powerpc/xmon: Add PowerISA v3.1 PMU SPRs (Michael Petlan) [1854525] - [powerpc] powerpc64: Break asm/percpu.h vs spinlock_types.h dependency (Greg Kurz) [1882796] - [powerpc] watchpoint: Rename current DAWR macros (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Make struct kernel_param_ops definition const (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: simplify kvm_cma_reserve() (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s: Fix symbol undeclared warnings (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s: Remove redundant initialization of variable ret (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: xive: Convert to DEFINE_SHOW_ATTRIBUTE (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Set LPCR[HDICE] before writing HDEC (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Do not allocate HPT for a nested guest (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Don't return -ENOTSUPP to userspace in ioctls (Greg Kurz) [1882796] - [powerpc] 64s: handle ISA v3.1 local copy-paste context switches (Greg Kurz) [1882796] - [powerpc] 64s: Move HMI IRQ stat from percpu variable to paca (Greg Kurz) [1882796] - [powerpc] kvm/cma: Improve kernel log during boot (Greg Kurz) [1882796] - [powerpc] kvm: Use correct CONFIG symbol in comment (Greg Kurz) [1882796] - [powerpc] watchpoint: Rename current H_SET_MODE DAWR macro (Greg Kurz) [1882796] - [tools] kvm: ppc: Fix typo on H_DISABLE_AND_GET hcall (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Clean up redundant kvm_run parameters in assembly (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Save/restore new PMU registers (Greg Kurz) [1882796] - [powerpc] perf: Add support for ISA3.1 PMU SPRs (Greg Kurz) [1882796] - [powerpc] perf: Update Power PMU cache_events to u64 type (Greg Kurz) [1882796] - [powerpc] perf: Update cpu_hw_event to use `struct` for storing MMCR registers (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Cleanup updates for kvm vcpu MMCR (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Protect kvm_vcpu_read_guest with srcu locks (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Increase KVMPPC_NR_LPIDS on POWER8 and POWER9 (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3shv: Enable support for ISA v3.1 guests (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s pr: Remove uninitialized_var() usage (Greg Kurz) [1882796] - [powerpc] kvm/book3s64: Fix kernel crash with nested kvm & DEBUG_VIRTUAL (Greg Kurz) [1882796] - [powerpc] book3s64/kvm: Fix secondary page table walk warning during migration (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s: Fix some RCU-list locks (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Ignore kmemleak false positives (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Clean up redundant 'kvm_run' parameters (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Remove redundant kvm_run from vcpu_arch (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Remove redundant NULL check (Greg Kurz) [1882796] - [powerpc] Fix compile issue with force DAWR (Greg Kurz) [1882796] - [powerpc] silence a -Wcast-function-type warning in dawr_write_file_bool (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Fix r3 corruption in h_set_dabr() (Greg Kurz) [1882796] - [powerpc] Add force enable of DAWR on P9 option (Greg Kurz) [1882796] - [documentation] powerpc: Document issues with the DAWR on POWER9 (Greg Kurz) [1882796] - [powerpc] Replace _ALIGN_UP() by ALIGN() (Greg Kurz) [1882796] - [powerpc] Replace _ALIGN_DOWN() by ALIGN_DOWN() (Greg Kurz) [1882796] - [netdrv] tg3: Fix soft lockup when tg3_reset_task() fails (Jonathan Toppins) [1899595] - [tools] tools/power turbostat: update version number (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: harden against cpu hotplug (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: adjust for temperature offset (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Build with _FILE_OFFSET_BITS=64 (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Support AMD Family 19h (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Remove empty columns for Jacobsville (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Add a new GFXAMHz column that exposes gt_act_freq_mhz (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Skip pc8, pc9, pc10 columns, if they are disabled (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Fix output formatting for ACPI CST enumeration (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Replace HTTP links with HTTPS ones: TURBOSTAT UTILITY (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Enable accumulate RAPL display (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Introduce functions to accumulate RAPL consumption (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Make the energy variable to be 64 bit (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Always print idle in the system configuration header (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Print /dev/cpu_dma_latency (Prarit Bhargava) [1857136] - [tools] turbostat/.gitignore: add SPDX License Identifier (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: update version (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Print cpuidle information (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Fix 32-bit capabilities warning (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Fix missing SYS_LPI counter on some Chromebooks (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Fix gcc build warnings (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Support Elkhart Lake (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Support Jasper Lake (Prarit Bhargava) [1857136] - [scsi] scsi: core: Return BLK_STS_AGAIN for ALUA transitioning (Ewan Milne) [1867264] - [scsi] scsi: scsi_dh_alua: Set 'transitioning' state on Unit Attention (Ewan Milne) [1867264] - [scsi] scsi: scsi_dh_alua: Return BLK_STS_AGAIN for ALUA transitioning state (Ewan Milne) [1867264] - [block] scsi: block: Return status code in blk_mq_end_request() (Ewan Milne) [1867264] - [scsi] scsi: scsi_dh_alua: Avoid crash during alua_bus_detach() (Ewan Milne) [1877156] - [fs] gfs2: check for live vs. read-only file system in gfs2_fitrim (Abhijith Das) [1335139] - [fs] gfs2: don't initialize statfs_change inodes in spectator mode (Abhijith Das) [1335139] - [fs] gfs2: init_journal's undo directive should also undo the statfs inodes (Abhijith Das) [1335139] - [fs] gfs2: Recover statfs info in journal head (Abhijith Das) [1335139] - [fs] gfs2: lookup local statfs inodes prior to journal recovery (Abhijith Das) [1335139] - [fs] gfs2: Add fields for statfs info in struct gfs2_log_header_host (Abhijith Das) [1335139] - [block] nbd: don't update block size after device is started (Ming Lei) [1891363] - [platform] platform/x86: thinkpad_acpi: lap or desk mode interface (David Arcari) [1889642] - [infiniband] IB/mlx4: Convert rej_tmout radix-tree to XArray (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Adjust delayed work when a dup is observed (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Add support for REJ due to timeout (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Fix starvation in paravirt mux/demux (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Separate tunnel and wire bufs parameters (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Add support for MRA (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Add and improve logging (Alaa Hleihel) [1858564] - [netdrv] net: ethernet: mlx4: Avoid assigning a value to ring_cons but not used it anymore in mlx4_en_xmit() (Alaa Hleihel) [1858564] - [netdrv] net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init() (Alaa Hleihel) [1858564] - [infiniband] treewide: Use fallthrough pseudo-keyword (Alaa Hleihel) [1858564] - [netdrv] net/mlx4: Use fallthrough pseudo-keyword (Alaa Hleihel) [1858564] - [netdrv] mlx4: convert to new udp_tunnel_nic infra (Alaa Hleihel) [1858564] - [netdrv] mlx4: Mark PM functions as __maybe_unused (Alaa Hleihel) [1858564] - [netdrv] mlx4: use generic power management (Alaa Hleihel) [1858564] - [netdrv] mlx4: disable device on shutdown (Alaa Hleihel) [1858564 1858563] - [include] IB/mlx4: Replace zero-length array with flexible-array (Alaa Hleihel) [1858564 1858563] - [netdrv] net: mlx4: remove unneeded variable "err" in mlx4_en_ethtool_add_mac_rule() (Alaa Hleihel) [1858564 1858563] - [netdrv] net: mlx4: remove unneeded variable "err" in mlx4_en_get_rxfh() (Alaa Hleihel) [1858564 1858563] - [netdrv] net/mlx4_en: use napi_complete_done() in TX completion (Alaa Hleihel) [1858564 1858563] - [netdrv] net/mlx4_en: avoid indirect call in TX completion (Alaa Hleihel) [1858564 1858562] - [infiniband] RDMA/mlx4: Delete duplicated offsetofend implementation (Alaa Hleihel) [1858564 1858562] - [netdrv] net: mlx4: reject unsupported coalescing params (Alaa Hleihel) [1858564 1858562] - [hwmon] hwmon: (amd_energy) match for supported models (David Arcari) [1860387] - [hwmon] hwmon: (amd_energy) Missing platform_driver_unregister() on error in amd_energy_init() (David Arcari) [1860387] - [hwmon] hwmon: Add amd_energy driver to report energy counters (David Arcari) [1860387] - [include] include/asm-generic/topology.h: guard cpumask_of_node() macro argument (David Arcari) [1860387]- [x86] x86/dumpstack: Fix misleading instruction pointer error message (Kenneth Yin) [1903506] - [powerpc] powerpc/powernv/opal-dump : Use IRQ_HANDLED instead of numbers in interrupt handler (Diego Domingos) [1891822] - [powerpc] powerpc/powernv/dump: Handle multiple writes to ack attribute (Diego Domingos) [1891822] - [powerpc] powerpc/powernv/dump: Fix race while processing OPAL dump (Diego Domingos) [1891822] - [powerpc] powerpc/opal_elog: Handle multiple writes to ack attribute (Diego Domingos) [1891822] - [powerpc] powerpc/powernv/elog: Fix race while processing OPAL error log event (Diego Domingos) [1891822] - [hid] HID: logitech-dj: Fix an error in mse_bluetooth_descriptor (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: Fix Dinovo Mini when paired with a MX5x00 receiver (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: Handle quad/bluetooth keyboards with a builtin trackpad (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: Add PID for MX Anywhere 2 (Benjamin Tissoires) [1885560] - [hid] HID: wacom: Avoid entering wacom_wac_pen_report for pad / battery (Benjamin Tissoires) [1885560] - [hid] HID: ite: Add USB id match for Acer One S1003 keyboard dock (Benjamin Tissoires) [1885560] - [hid] HID: multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons (Benjamin Tissoires) [1885560] - [hid] HID: hid-input: fix stylus battery reporting (Benjamin Tissoires) [1885560] - [hid] HID: roccat: add bounds checking in kone_sysfs_write_settings() (Benjamin Tissoires) [1885560] - [hid] HID: core: Sanitize event code and type when mapping input (Benjamin Tissoires) [1885560] - [hid] HID: core: Correctly handle ReportSize being zero (Benjamin Tissoires) [1885560] - [hid] HID: elan: Fix memleak in elan_input_configured (Benjamin Tissoires) [1885560] - [hid] HID: microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 devices (Benjamin Tissoires) [1885560] - [hid] Revert "HID: usbhid: do not sleep when opening device" (Benjamin Tissoires) [1885560] - [hid] HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage() (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Always poll three more Lenovo PixArt mice (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands (Benjamin Tissoires) [1885560] - [hid] HID: macally: Constify macally_id_table (Benjamin Tissoires) [1885560] - [hid] HID: cougar: Constify cougar_id_table (Benjamin Tissoires) [1885560] - [hid] HID: quirks: add NOGET quirk for Logitech GROUP (Benjamin Tissoires) [1885560] - [hid] HID: Replace HTTP links with HTTPS ones (Benjamin Tissoires) [1885560] - [hid] HID: udraw-ps3: Replace HTTP links with HTTPS ones (Benjamin Tissoires) [1885560] - [hid] HID: input: Fix devices that return multiple bytes in battery report (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Fix spurious F23 key press report during resume from suspend (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Add ThinkPad 10 Ultrabook Keyboard fn_lock support (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Add ThinkPad 10 Ultrabook Keyboard support (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Rename fn_lock sysfs attr handlers to make them generic (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Factor out generic parts of the LED code (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Merge tpkbd and cptkbd data structures (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: avoid repeated "multiplier = " log messages (Benjamin Tissoires) [1885560] - [hid] HID: logitech: Use HIDPP_RECEIVER_INDEX instead of 0xff (Benjamin Tissoires) [1885560] - [hid] HID: intel-ish-hid: Replace PCI_DEV_FLAGS_NO_D3 with pci_save_state (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Ignore Simply Automated UPB PIM (Benjamin Tissoires) [1885560] - [hid] HID: apple: Disable Fn-key key-re-mapping on clone keyboards (Benjamin Tissoires) [1885560] - [hid] HID: Wiimote: Treat the d-pad as an analogue stick (Benjamin Tissoires) [1885560] - [hid] HID: steam: fixes race in handling device list (Benjamin Tissoires) [1885560] - [hid] HID: magicmouse: do not set up autorepeat (Benjamin Tissoires) [1885560] - [hid] HID: alps: support devices with report id 2 (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Always poll Obins Anne Pro 2 keyboard (Benjamin Tissoires) [1885560] - [hid] HID: input: do not run GET_REPORT unless there's a Resolution Multiplier (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: add Mediacom FlexBook edge13 to descriptor override (Benjamin Tissoires) [1885560] - [hid] HID: usbhid: remove redundant assignment to variable retval (Benjamin Tissoires) [1885560] - [hid] HID: usbhid: do not sleep when opening device (Benjamin Tissoires) [1885560] - [hid] HID: multitouch: Remove MT_CLS_WIN_8_DUAL (Benjamin Tissoires) [1885560] - [hid] HID: sony: Fix for broken buttons on DS3 USB dongles (Benjamin Tissoires) [1885560] - [hid] HID: Add quirks for Trust Panora Graphic Tablet (Benjamin Tissoires) [1885560] - [hid] HID: apple: Swap the Fn and Left Control keys on Apple keyboards (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: add Schneider SCL142ALM to descriptor override (Benjamin Tissoires) [1885560] - [hid] HID: intel-ish-hid: avoid bogus uninitialized-variable warning (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: reset Synaptics SYNA2393 on resume (Benjamin Tissoires) [1885560] - [hid] HID: usbhid: Fix race between usbhid_close() and usbhid_stop() (Benjamin Tissoires) [1885560] - [hid] HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead (Benjamin Tissoires) [1885560] - [hid] HID: alps: Add AUI1657 device ID (Benjamin Tissoires) [1885560] - [hid] HID: fix typo in Kconfig (Benjamin Tissoires) [1885560] - [hid] HID: logitech: Add support for Logitech G11 extra keys (Benjamin Tissoires) [1885560] - [hid] HID: multitouch: add eGalaxTouch P80H84 support (Benjamin Tissoires) [1885560] - [hid] HID: logitech: drop outdated references to unifying receivers (Benjamin Tissoires) [1885560] - [hid] HID: rmi: Simplify an error handling path in 'rmi_hid_read_block()' (Benjamin Tissoires) [1885560] - [hid] HID: intel-ish-hid: hbm.h: Replace zero-length array with flexible-array member (Benjamin Tissoires) [1885560] - [hid] HID: intel-ish-hid: ishtp-dev.h: Replace zero-length array with flexible-array member (Benjamin Tissoires) [1885560] - [hid] HID: Add driver fixing Glorious PC Gaming Race mouse report descriptor (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Do not fail the probe when we fail to disable F# emulation (Benjamin Tissoires) [1885560] - [hid] HID: fix Kconfig word ordering (Benjamin Tissoires) [1885560] - [hid] HID: add ALWAYS_POLL quirk to lenovo pixart mouse (Benjamin Tissoires) [1885560] - [hid] HID: google: add moonball USB id (Benjamin Tissoires) [1885560] - [hid] HID: appleir: Use devm_kzalloc() instead of kzalloc() (Benjamin Tissoires) [1885560] - [hid] HID: appleir: Remove unnecessary goto label (Benjamin Tissoires) [1885560] - [hid] HID: hid-sensor-custom: Use scnprintf() for avoiding potential buffer overflow (Benjamin Tissoires) [1885560] - [hid] HID: hid-picolcd_fb: Use scnprintf() for avoiding potential buffer overflow (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: add support for the static device in the Powerplay mat/receiver (Benjamin Tissoires) [1885560] - [hid] HID: hid-bigbenff: fix race condition for scheduled work during removal (Benjamin Tissoires) [1885560] - [hid] HID: hid-bigbenff: call hid_hw_stop() in case of error (Benjamin Tissoires) [1885560] - [hid] HID: hid-bigbenff: fix general protection fault caused by double kfree (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: add Trekstor Surfbook E11B to descriptor override (Benjamin Tissoires) [1885560] - [hid] HID: alps: Fix an error handling path in 'alps_input_configured()' (Benjamin Tissoires) [1885560] - [hid] HID: hiddev: Fix race in in hiddev_disconnect() (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: add debug msg when exporting a HID++ report descriptors (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Remove ITE 8595 entry from hid_have_special_driver (Benjamin Tissoires) [1885560] - [include] HID: core: increase HID report buffer size to 8KiB (Benjamin Tissoires) [1885560] - [hid] HID: core: fix off-by-one memset in hid_report_raw_event() (Benjamin Tissoires) [1885560] - [hid] HID: apple: Add support for recent firmware on Magic Keyboards (Benjamin Tissoires) [1885560] - [hid] HID: ite: Only bind to keyboard USB interface on Acer SW5-012 keyboard dock (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: BatteryVoltage: only read chargeStatus if extPower is active (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: avoid duplicate error handling code in 'hidpp_probe()' (Benjamin Tissoires) [1885560] - [hid] HID: hidraw, uhid: Always report EPOLLOUT (Benjamin Tissoires) [1885560] - [hid] HID: steam: Fix input device disappearing (Benjamin Tissoires) [1885560] - [hid] hid-logitech-hidpp: read battery voltage from newer devices (Benjamin Tissoires) [1885560] - [hid] HID: logitech: Add MX Master 3 Mouse (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: Support WirelessDeviceStatus connect events (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: Support translations from short to long reports (Benjamin Tissoires) [1885560] - [hid] HID: hiddev: fix mess in hiddev_open() (Benjamin Tissoires) [1885560] - [hid] HID: hid-input: clear unmapped usages (Benjamin Tissoires) [1885560] - [hid] HID: Add quirk for incorrect input length on Lenovo Y720 (Benjamin Tissoires) [1885560] - [hid] HID: ite: Add USB id match for Acer SW5-012 keyboard dock (Benjamin Tissoires) [1885560] - [hid] HID: Add quirk for Xin-Mo Dual Controller (Benjamin Tissoires) [1885560] - [hid] HID: hidraw: add support uniq ioctl (Benjamin Tissoires) [1885560] - [hid] HID: Fix slab-out-of-bounds read in hid_field_extract (Benjamin Tissoires) [1885560] - [hid] HID: picoLCD: constify fb ops (Benjamin Tissoires) [1885560] - [hid] HID: uhid: Fix returning EPOLLOUT from uhid_char_poll (Benjamin Tissoires) [1885560] - [hid] HID: hidraw: Fix returning EPOLLOUT from hidraw_poll (Benjamin Tissoires) [1885560] - [hid] HID: rmi: Check that the RMI_STARTED bit is set before unregistering the RMI transport device (Benjamin Tissoires) [1885560] - [hid] HID: quirks: remove hid-led devices from hid_have_special_driver (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: Reset ALPS touchpads on resume (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: fix no irq after reset on raydium 3118 (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: Silence intermittent get_battery_capacity errors (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: remove orphaned member sleep_delay (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Add quirk for HP MSU1465 PIXART OEM mouse (Benjamin Tissoires) [1885560] - [hid] HID: core: check whether Usage Page item is after Usage ID items (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: Send power-on command after reset (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: Remove runtime power management (Benjamin Tissoires) [1885560] - [hid] HID: google: Detect base folded usage instead of hard-coding whiskers (Benjamin Tissoires) [1885560] - [hid] HID: google: add magnemite/masterball USB ids (Benjamin Tissoires) [1885560] - [hid] HID: logitech: Add depends on LEDS_CLASS to Logitech Kconfig entry (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add support for the G510's M1-M3 and MR LEDs (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add support for controlling the G510's RGB backlight (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add support for the G510 keyboards' gaming keys (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add support for the M1-M3 and MR LEDs (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add keyboard and LCD backlight control (Benjamin Tissoires) [1885560] - [hid] HID: Add driver for Logitech gaming keyboards (G15, G15 v2) (Benjamin Tissoires) [1885560] - [hid] HID: hidraw: replace printk() with corresponding pr_xx() variant (Benjamin Tissoires) [1885560] - [hid] HID: prodikeys: make array keys static const, makes object smaller (Benjamin Tissoires) [1885560] - [hid] HID: google: whiskers: signal tablet mode on connect (Benjamin Tissoires) [1885560] - [hid] HID: google: whiskers: signal tablet mode switch on disconnect (Benjamin Tissoires) [1885560] - [hid] HID: google: whiskers: more robust tablet mode detection (Benjamin Tissoires) [1885560] - [hid] HID: core: fix dmesg flooding if report field larger than 32bit (Benjamin Tissoires) [1885560] - [include] HID: core: Add printk_once variants to hid_warn() etc (Benjamin Tissoires) [1885560] - [include] HID: core: reformat and reduce hid_printk macros (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: modify quirks for weida's devices (Benjamin Tissoires) [1885560] - [hid] hid-logitech-dj: add the new Lightspeed receiver (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: add support of the G700(s) receiver (Benjamin Tissoires) [1885560] - [hid] HID: do not call hid_set_drvdata(hdev, NULL) in drivers (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: extend consumer usages range (Benjamin Tissoires) [1885560] - [hid] hiddev: Return EPOLLOUT from hiddev_poll (Benjamin Tissoires) [1885560] - [hid] hidraw: Return EPOLLOUT from hidraw_poll (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add nopnp quirk for Acer Aspire 5 A515 (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists (Benjamin Tissoires) [1885560] - [input] input: i8042 - Remove special Cayman handling (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - only increment wakeup count on touch (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - add ic type 0x15 (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - add support for high resolution reports (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - do not constantly re-query pattern ID (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - add firmware update info for ICs 0x11, 0x13, 0x14 (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - handle firmware updated on newer ICs (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - add support for different firmware page sizes (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - fix detecting IAP version on older controllers (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - handle devices with patterns above 1 (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - make fetching IC type of older controllers more robust (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - handle firmware not implementing "get pattern" command (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add Lenovo XiaoXin Air 12 to i8042 nomux list (Benjamin Tissoires) [1885560] - [input] Input: elantech - remove redundant assignments to variable error (Benjamin Tissoires) [1885560] - [input] Input: synaptics - enable InterTouch for ThinkPad X1E 1st gen (Benjamin Tissoires) [1885560] - [uapi] Input: add `SW_MACHINE_COVER` (Benjamin Tissoires) [1885560] - [input] input: i8042 - Remove special PowerPC handling (Benjamin Tissoires) [1885560] - [input] Input: synaptics - add a second working PNP_ID for Lenovo T470s (Benjamin Tissoires) [1885560] - [input] Input: introduce input_mt_report_slot_inactive() (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add ThinkPad S230u to i8042 reset list (Benjamin Tissoires) [1885560] - [input] Revert "Input: i8042 - add ThinkPad S230u to i8042 nomux list" (Benjamin Tissoires) [1885560] - [input] Input: i8042 - attach fwnode to serio i8042 kbd device (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add ThinkPad S230u to i8042 nomux list (Benjamin Tissoires) [1885560] - [uapi] Input: update SPDX tag for input-event-codes.h (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add Acer Aspire 5738z to nomux list (Benjamin Tissoires) [1885560] - [uapi] Input: move the new KEY_SELECTIVE_SCREENSHOT keycode (Benjamin Tissoires) [1885560] - [input] Input: synaptics - enable RMI on HP Envy 13-ad105ng (Benjamin Tissoires) [1885560] - [uapi] Input: allocate keycode for "Selective Screenshot" key (Benjamin Tissoires) [1885560] - [input] Input: synaptics - remove the LEN0049 dmi id from topbuttonpad list (Benjamin Tissoires) [1885560] - [input] Input: synaptics - enable SMBus on ThinkPad L470 (Benjamin Tissoires) [1885560] - [input] Input: synaptics - switch T470s to RMI4 by default (Benjamin Tissoires) [1885560] - [input] Input: input_event - fix struct padding on sparc64 (Benjamin Tissoires) [1885560] - [uapi] Input: add privacy screen toggle keycode (Benjamin Tissoires) [1885560] - [input] Input: synaptics - switch another X1 Carbon 6 to RMI/SMbus (Benjamin Tissoires) [1885560] - [uapi] Input: Add event-codes for macro keys found on various keyboards (Benjamin Tissoires) [1885560] - [input] Input: i8042 - enable wakeup on a stable struct device (Benjamin Tissoires) [1885560] - [input] Input: psmouse - drop all unneeded functions from mouse headers (Benjamin Tissoires) [1885560] - [input] Input: remove dev_err() usage after platform_get_irq() (Benjamin Tissoires) [1885560] - [input] Input: synaptics - fix a typo (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - switch to using devm_add_action_or_reset() (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - switch to using devm_device_add_groups() (Benjamin Tissoires) [1885560] - [power] power: supply: core: Add Standard, Adaptive, and Custom charge types (Benjamin Tissoires) [1885560] - [scsi] scsi: mpt3sas: Fix timeouts observed while reenabling IRQ (Tomas Henzl) [1880114] - [fs] ext4: handle option set by mount flags correctly (Pavel Reichl) [1848084] - [fs] xfs: preserve inode versioning across remounts (Pavel Reichl) [1848084] - [kernel] kheaders: explain why include/config/autoconf.h is excluded from md5sum (Jiri Olsa) [1899585] - [kernel] kheaders: remove the last bashism to allow sh to run it (Jiri Olsa) [1899585] - [kernel] kheaders: optimize header copy for in-tree builds (Jiri Olsa) [1899585] - [kernel] kheaders: optimize md5sum calculation for in-tree builds (Jiri Olsa) [1899585] - [kernel] kheaders: remove unneeded 'cat' command piped to 'head' / 'tail' (Jiri Olsa) [1899585] - [kernel] kheaders: substituting --sort in archive creation (Jiri Olsa) [1899585] - [kernel] kheaders: make headers archive reproducible (Jiri Olsa) [1899585] - [kernel] kheaders: include only headers into kheaders_data.tar.xz (Jiri Olsa) [1899585] - [kernel] kheaders: remove meaningless -R option of 'ls' (Jiri Olsa) [1899585] - [kernel] kheaders: Do not regenerate archive if config is not changed (Jiri Olsa) [1899585] - [kernel] kheaders: Move from proc to sysfs (Jiri Olsa) [1899585] - [kernel] kernel/Makefile: don't assume that kernel/gen_ikh_data.sh is executable (Jiri Olsa) [1899585] - [init] init/config: Do not select BUILD_BIN2C for IKCONFIG (Jiri Olsa) [1899585] - [kernel] Provide in-kernel headers to make extending kernel easier (Jiri Olsa) [1899585] - [tty] pty: do tty_flip_buffer_push without port->lock in pty_write (Artem Savkov) [1787975] - [virtio] virtio_balloon: fix sparse warning (Nico Pache) [1839055] - [virtio] virtio_balloon: fix up endian-ness for free cmd id (Nico Pache) [1839055] - [virtio] virtio-balloon: Document byte ordering of poison_val (Nico Pache) [1839055] - [virtio] virtio-mmio: Reject invalid IRQ 0 command line argument (Nico Pache) [1839055] - [virtio] virtio-balloon: Disable free page reporting if page poison reporting is not enabled (Nico Pache) [1839055] - [virtio] virtio-mmio: Delete an error message in vm_find_vqs() (Nico Pache) [1839055] - [virtio] virtio: add VIRTIO_RING_NO_LEGACY (Nico Pache) [1839055] - [virtio] virtio-balloon: Avoid using the word 'report' when referring to free page hinting (Nico Pache) [1839055] - [virtio] virtio-balloon: make virtballoon_free_page_report() static (Nico Pache) [1839055] - [virtio] virtio-balloon: switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM (Nico Pache) [1839055] - [documentation] mm/page_reporting: add free page reporting documentation (Nico Pache) [1839055] - [mm] mm/page_reporting: add budget limit on how many pages can be reported per pass (Nico Pache) [1839055] - [mm] mm/page_reporting: rotate reported pages to the tail of the list (Nico Pache) [1839055] - [virtio] virtio-balloon: add support for providing free page reports to host (Nico Pache) [1839055] - [virtio] virtio-balloon: pull page poisoning config out of free page hinting (Nico Pache) [1839055] - [mm] mm: introduce Reported pages (Nico Pache) [1839055] - [mm] mm: add function __putback_isolated_page (Nico Pache) [1839055] - [mm] mm: use zone and order instead of free area in free_list manipulators (Nico Pache) [1839055] - [mm] mm: adjust shuffle code to allow for future coalescing (Nico Pache) [1839055] - [virtio] virtio_balloon: Adjust label in virtballoon_probe (Nico Pache) [1839055] - [virtio] virtio_ring: Fix mem leak with vring_new_virtqueue() (Nico Pache) [1839055] - [virtio] virtio_balloon: Fix memory leaks on errors in virtballoon_probe() (Nico Pache) [1839055] - [virtio] virtio-balloon: Fix memory leak when unloading while hinting is in progress (Nico Pache) [1839055] - [virtio] virtio_balloon: prevent pfn array overflow (Nico Pache) [1839055] - [virtio] virtio-pci: check name when counting MSI-X vectors (Nico Pache) [1839055] - [virtio] virtio-balloon: initialize all vq callbacks (Nico Pache) [1839055] - [virtio] virtio-mmio: convert to devm_platform_ioremap_resource (Nico Pache) [1839055] - [virtio] virtio_balloon: divide/multiply instead of shifts (Nico Pache) [1839055] - [virtio] virtio_balloon: name cleanups (Nico Pache) [1839055] - [virtio] virtio_balloon: fix shrinker count (Nico Pache) [1839055] - [virtio] virtio_balloon: fix shrinker scan number of pages (Nico Pache) [1839055] - [virtio] virtio-mmio: add error check for platform_get_irq (Nico Pache) [1839055] - [virtio] virtio: Fix indentation of VIRTIO_MMIO (Nico Pache) [1839055] - [virtio] virtio/virtio_ring: do some comment fixes (Nico Pache) [1839055] - [virtio] virtio_pci: fix a NULL pointer reference in vp_del_vqs (Nico Pache) [1839055] - [virtio] virtio: hint if callbacks surprisingly might sleep (Nico Pache) [1839055] - [virtio] virtio_balloon: remove the unnecessary 0-initialization (Nico Pache) [1839055] - [virtio] virtio-balloon: improve update_balloon_size_func (Nico Pache) [1839055] - [virtio] virtio-balloon: tweak config_changed implementation (Nico Pache) [1839055] - [misc] virtio: don't allocate vqs when names= NULL (Nico Pache) [1839055] - [virtio] virtio_pci: use queue idx instead of array idx to set up the vq (Nico Pache) [1839055] - [virtio] virtio: remove deprecated VIRTIO_PCI_CONFIG() (Nico Pache) [1839055] - [mm] mm/page_poison: expose page_poisoning_enabled to kernel modules (Nico Pache) [1839055] - [virtio] virtio-balloon: VIRTIO_BALLOON_F_PAGE_POISON (Nico Pache) [1839055] - [virtio] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT (Nico Pache) [1839055] - [virtio] virtio: pci-legacy: Validate queue pfn (Nico Pache) [1839055] - [virtio] virtio: mmio-v1: Validate queue PFN (Nico Pache) [1839055] - [virtio] virtio_balloon: replace oom notifier with shrinker (Nico Pache) [1839055] - [virtio] virtio-balloon: kzalloc the vb struct (Nico Pache) [1839055] - [virtio] virtio-balloon: remove BUG() in init_vqs (Nico Pache) [1839055] - [mm] mm, debug_pagealloc: use a page type instead of page_ext flag (Nico Pache) [1839055] - [mm] mm, page_alloc: more extensive free page checking with debug_pagealloc (Nico Pache) [1839055] - [mm] mm, debug_pagelloc: use static keys to enable debugging (Nico Pache) [1839055] - [include] include/linux/page_ext.h: drop definition of unused PAGE_EXT_DEBUG_POISON (Nico Pache) [1839055] - [tty] vt: vt_ioctl: fix use-after-free in vt_in_use() (Vladis Dronov) [1875585] - [tty] vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console (Vladis Dronov) [1875585] - [tty] vt: ioctl, switch VT_IS_IN_USE and VT_BUSY to inlines (Vladis Dronov) [1875585] - [tty] vt: selection, introduce vc_is_sel (Vladis Dronov) [1875585] - [fs] gfs2: Don't sleep during glock hash walk (Andreas Grunbacher) [1871173]- [powerpc] powerpc/64s/hash: Fix hash_preload running with interrupts enabled (Diego Domingos) [1884152] - [powerpc] powerpc/pseries: Avoid using addr_to_pfn in real mode (Diego Domingos) [1822675] - [powerpc] powerpc/pseries: Handle UE event for memcpy_mcsafe (Diego Domingos) [1822675] - [powerpc] powerpc/pseries: Fix MCE handling on pseries (Diego Domingos) [1822675] - [powerpc] powerpc/64s/pseries: machine check convert to use common event code (Diego Domingos) [1822675] - [powerpc] powerpc/powernv/mce: Print additional information about MCE error (Diego Domingos) [1822675] - [powerpc] powerpc/powernv/mce: Print correct severity for MCE error (Diego Domingos) [1822675] - [powerpc] powerpc/64s: Report SLB multi-hit rather than parity error (Diego Domingos) [1822675] - [powerpc] powerpc/powernv/mce: Reduce MCE console logs to lesser lines (Diego Domingos) [1822675] - [powerpc] powerpc/pseries/mce: Improve array initialization (Diego Domingos) [1822675] - [powerpc] powerpc/pseries/mce: Fix misleading print for TLB mutlihit (Diego Domingos) [1822675] - [netdrv] i40e: fix crash when Rx descriptor count is changed (Jiri Benc) [1882708] - [netdrv] virtio_net: Fix out of bounds access of sq (Jiri Benc) [1882708] - [tools] tools/bpftool: Fix attaching flow dissector (Jiri Benc) [1882708] - [docs] bpf: Use valid and new links in index.rst (Jiri Benc) [1882708] - [netdrv] netdevsim: fix unbalaced locking in nsim_create() (Jiri Benc) [1882708] - [net] bpfilter: Allow to build bpfilter_umh as a module without static library (Jiri Benc) [1882708] - [net] bpf, netns: Fix use-after-free in pernet pre_exit callback (Jiri Benc) [1882708] - [net] xsk: Use dma_need_sync instead of reimplenting it (Jiri Benc) [1882708] - [net] xsk: Remove a double pool->dev assignment in xp_dma_map (Jiri Benc) [1882708] - [net] xsk: Replace the cheap_dma flag with a dma_need_sync flag (Jiri Benc) [1882708] - [net] dma-mapping: Add a new dma_need_sync API (Jiri Benc) [1882708] - [tools] selftests: bpf: Pass program to bpf_prog_detach in flow_dissector (Jiri Benc) [1882708] - [tools] selftests: bpf: Pass program and target_fd in flow_dissector_reattach (Jiri Benc) [1882708] - [net] bpf: flow_dissector: Check value of unused flags to BPF_PROG_DETACH (Jiri Benc) [1882708] - [net] bpf: flow_dissector: Check value of unused flags to BPF_PROG_ATTACH (Jiri Benc) [1882708] - [tools] libbpf: Adjust SEC short cut for expected attach type BPF_XDP_DEVMAP (Jiri Benc) [1882708] - [tools] selftests/bpf: Test updating flow_dissector link with same program (Jiri Benc) [1882708] - [net] bpf, netns: Keep a list of attached bpf_link's (Jiri Benc) [1882708] - [net] bpf, netns: Keep attached programs in bpf_prog_array (Jiri Benc) [1882708] - [net] flow_dissector: Pull BPF program assignment up to bpf-netns (Jiri Benc) [1882708] - [tools] libbpf: Fix CO-RE relocs against .text section (Jiri Benc) [1882708] - [tools] selftests/bpf: Move newer bpf_iter_* type redefining to a new header file (Jiri Benc) [1882708] - [net] xdp: Handle frame_sz in xdp_convert_zc_to_xdp_frame() (Jiri Benc) [1882708] - [net] xdp: Fix xsk_generic_xmit errno (Jiri Benc) [1882708] - [tools] bpf: Selftests and tools use struct bpf_devmap_val from uapi (Jiri Benc) [1882708] - [net] xdp: use shift instead of 64 bit division (Jiri Benc) [1882708] - [net] bpf: Fix unused-var without NETDEVICES (Jiri Benc) [1882708] - [net] seg6: fix seg6_validate_srh() to avoid slab-out-of-bounds (Jiri Benc) [1882708] - [net] seg6: fix SRH processing to comply with RFC8754 (Jiri Benc) [1882708] - [tools] selftests/bpf: Extend test_flow_dissector to cover link creation (Jiri Benc) [1882708] - [tools] selftests/bpf: Convert test_flow_dissector to use BPF skeleton (Jiri Benc) [1882708] - [tools] selftests/bpf, flow_dissector: Close TAP device FD after the test (Jiri Benc) [1882708] - [tools] selftests/bpf: Add tests for attaching bpf_link to netns (Jiri Benc) [1882708] - [tools] bpftool: Support link show for netns-attached links (Jiri Benc) [1882708] - [tools] bpftool: Extract helpers for showing link attach type (Jiri Benc) [1882708] - [tools] libbpf: Add support for bpf_link-based netns attachment (Jiri Benc) [1882708] - [net] bpf: Add link-based BPF program attachment to network namespace (Jiri Benc) [1882708] - [net] flow_dissector: Move out netns_bpf prog callbacks (Jiri Benc) [1882708] - [net] Introduce netns_bpf for BPF programs attached to netns (Jiri Benc) [1882708] - [net] flow_dissector: Pull locking up from prog attach callback (Jiri Benc) [1882708] - [net] bpf: Allow SO_BINDTODEVICE opt in bpf_setsockopt (Jiri Benc) [1882708] - [net] Make locking in sock_bindtoindex optional (Jiri Benc) [1882708] - [net] add sock_bindtoindex (Jiri Benc) [1882708] - [tools] selftest: Add tests for XDP programs in devmap entries (Jiri Benc) [1882708] - [net] xdp: Add xdp_txq_info to xdp_buff (Jiri Benc) [1882708] - [net] xdp: Introduce xdp_convert_frame_to_buff utility routine (Jiri Benc) [1882708] - [net] maintainers: Adjust entry in XDP SOCKETS to actual file name (Jiri Benc) [1882708] - [net] maintainers, xsk: Update AF_XDP section after moves/adds (Jiri Benc) [1882708] - [net] xsk: Explicitly inline functions and move definitions (Jiri Benc) [1882708] - [net] xdp: Simplify xdp_return_{frame, frame_rx_napi, buff} (Jiri Benc) [1882708] - [net] xsk: Remove MEM_TYPE_ZERO_COPY and corresponding code (Jiri Benc) [1882708] - [netdrv] mlx5, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL (Jiri Benc) [1882708] - [netdrv] ixgbe, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL (Jiri Benc) [1882708] - [netdrv] ice, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL (Jiri Benc) [1882708] - [netdrv] i40e, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL (Jiri Benc) [1882708] - [netdrv] i40e: Separate kernel allocated rx_bi rings from AF_XDP rings (Jiri Benc) [1882708] - [netdrv] i40e: Refactor rx_bi accesses (Jiri Benc) [1882708] - [net] xsk: Introduce AF_XDP buffer allocation API (Jiri Benc) [1867206 1882708] - [net] xsk: Move defines only used by AF_XDP internals to xsk.h (Jiri Benc) [1882708] - [net] xsk: Move driver interface to xdp_sock_drv.h (Jiri Benc) [1882708] - [net] xsk: Move xskmap.c to net/xdp/ (Jiri Benc) [1882708] - [net] xsk: Fix xsk_umem_xdp_frame_sz() (Jiri Benc) [1882708] - [tools] selftests/bpf: Convert bpf_iter_test_kern{3, 4}.c to define own bpf_iter_meta (Jiri Benc) [1882708] - [tools] selftest/bpf: Make bpf_iter selftest compilable against old vmlinux.h (Jiri Benc) [1882708] - [net] bpf: Fix too large copy from user in bpf_test_init (Jiri Benc) [1882708] - [tools] selftests/bpf: Xdp_adjust_tail add grow tail tests (Jiri Benc) [1882708] - [tools] selftests/bpf: Adjust BPF selftest for xdp_adjust_tail (Jiri Benc) [1882708] - [net] bpf: Add xdp.frame_sz in bpf_prog_test_run_xdp(). (Jiri Benc) [1882708] - [net] xdp: Clear grow memory in bpf_xdp_adjust_tail() (Jiri Benc) [1882708] - [net] xdp: Allow bpf_xdp_adjust_tail() to grow packet size (Jiri Benc) [1882708] - [netdrv] mlx5: Rx queue setup time determine frame_sz for XDP (Jiri Benc) [1882708] - [netdrv] xdp: For Intel AF_XDP drivers add XDP frame_sz (Jiri Benc) [1882708] - [netdrv] ice: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] i40e: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] ixgbevf: Add XDP frame size to VF driver (Jiri Benc) [1882708] - [netdrv] ixgbe: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] ixgbe: Fix XDP redirect on archs with PAGE_SIZE above 4K (Jiri Benc) [1882708] - [netdrv] virtio_net: Add XDP frame size in two code paths (Jiri Benc) [1882708] - [netdrv] vhost_net: Also populate XDP frame size (Jiri Benc) [1882708] - [netdrv] tun: Add XDP frame size (Jiri Benc) [1882708] - [netdrv] nfp: Add XDP frame size to netronome driver (Jiri Benc) [1882708] - [netdrv] net: thunderx: Add XDP frame size (Jiri Benc) [1882708] - [netdrv] mlx4: Add XDP frame size and adjust max XDP MTU (Jiri Benc) [1882708] - [netdrv] qlogic/qede: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] hv_netvsc: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] veth: Xdp using frame_sz in veth driver (Jiri Benc) [1882708] - [netdrv] veth: Adjust hard_start offset on redirect XDP frames (Jiri Benc) [1882708] - [net] xdp: Cpumap redirect use frame_sz and increase skb_tailroom (Jiri Benc) [1882708] - [net] xdp: Xdp_frame add member frame_sz and handle in convert_to_xdp_frame (Jiri Benc) [1882708] - [net] XDP-generic determining XDP frame size (Jiri Benc) [1882708] - [netdrv] sfc: Add XDP frame size (Jiri Benc) [1882708] - [netdrv] bnxt: Add XDP frame size to driver (Jiri Benc) [1882708] - [net] xdp: Add frame size to xdp_buff (Jiri Benc) [1867209 1882708] - [net] bpfilter: switch to kernel_write (Jiri Benc) [1882708] - [tools] bpf: selftests: Add bpf_iter selftests (Jiri Benc) [1882708] - [tools] bpf: selftests: Add iterator programs for ipv6_route and netlink (Jiri Benc) [1882708] - [net] bpf: Enable bpf_iter targets registering ctx argument types (Jiri Benc) [1882708] - [net] bpf: Change func bpf_iter_unreg_target() signature (Jiri Benc) [1882708] - [net] bpf: Refactor bpf_iter target registration (Jiri Benc) [1882708] - [net] bpf: Add netlink and ipv6_route bpf_iter targets (Jiri Benc) [1882708] - [net] bpfilter: check if $(CC) can link static libc in Kconfig (Jiri Benc) [1882708] - [net] bpfilter: document build requirements for bpfilter_umh (Jiri Benc) [1882708] - [net] xsk: Remove unnecessary member in xdp_umem (Jiri Benc) [1882708] - [net] xsk: Change two variable names for increased clarity (Jiri Benc) [1882708] - [net] bpfilter: match bit size of bpfilter_umh to that of the kernel (Jiri Benc) [1882708] - [docs] networking: convert filter.txt to ReST (Jiri Benc) [1882708] - [net] xsk: Fix typo in xsk_umem_consume_tx and xsk_generic_xmit comments (Jiri Benc) [1882708] - [net] introduce SO_BINDTOIFINDEX sockopt (Jiri Benc) [1882708] - [net] netlink: Use sizeof_field() macro (Jiri Benc) [1882708] - [net] xdp: Add SPDX license identifier - Makefile/Kconfig (Jiri Benc) [1882708] - [net] bpfilter: prefix header search paths with $(srctree)/ (Jiri Benc) [1882708] - [netdrv] virtio_net: Add XDP meta data support (Jiri Benc) [1882708] - [netdrv] virtio_net: Keep vnet header zeroed if XDP is loaded for small buffer (Jiri Benc) [1882708] - [netdrv] virtio-net: keep vnet header zeroed after processing XDP (Jiri Benc) [1882708] - [netdrv] virtio-net: get rid of unnecessary container of rq stats (Jiri Benc) [1882708] - [netdrv] virtio-net: correctly update XDP_TX counters (Jiri Benc) [1882708] - [netdrv] virtio_net: Add kick stats (Jiri Benc) [1882708] - [netdrv] virtio_net: Add XDP related stats (Jiri Benc) [1882708] - [netdrv] virtio_net: Factor out the logic to determine xdp sq (Jiri Benc) [1882708] - [netdrv] virtio_net: Make drop counter per-queue (Jiri Benc) [1882708] - [netdrv] virtio_net: Use temporary storage for accounting rx stats (Jiri Benc) [1882708] - [netdrv] bnx2: mark driver deprecated (Jonathan Toppins) [1878183] - [net] openvswitch: silence suspicious RCU usage warning (Eelco Chaudron) [1895862] - [net] openswitch: reuse the helper variable to improve the code readablity (Eelco Chaudron) [1895862] - [net] openvswitch: remove unused keep_flows (Eelco Chaudron) [1895862] - [net] openvswitch: refactor flow free function (Eelco Chaudron) [1895862] - [net] openvswitch: improve the coding style (Eelco Chaudron) [1895862] - [net] openvswitch: use skb_list_walk_safe helper for gso segments (Eelco Chaudron) [1895862] - [net] openvswitch: do not update max_headroom if new headroom is equal to old headroom (Eelco Chaudron) [1895862] - [net] openvswitch: drop unneeded likely() call around IS_ERR() (Eelco Chaudron) [1895862] - [net] openvswitch: convert to kvmalloc (Eelco Chaudron) [1895862] - [infiniband] RDMA/rxe: Mark Soft-RoCE driver as unsupported (Kamal Heib) [1878207] - [net] netfilter: nf_log: missing vlan offload tag and proto (Florian Westphal) [1889990] - [net] ipvs: clear skb->tstamp in forwarding path (Florian Westphal) [1889990] - [net] netfilter: nft_meta: use socket user_ns to retrieve skuid and skgid (Florian Westphal) [1889990] - [net] netfilter: ctnetlink: add a range check for l3/l4 protonum (Florian Westphal) [1889990] {CVE-2020-25211} - [net] netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS (Florian Westphal) [1889990] - [net] netfilter: nf_tables: fix destination register zeroing (Florian Westphal) [1889990] - [net] netfilter: nf_tables: add NFTA_SET_USERDATA if not null (Florian Westphal) [1889990] - [net] netfilter: flowtable: Set offload timeout when adding flow (Florian Westphal) [1889990] - [net] netfilter: conntrack: Move nf_ct_offload_timeout to header file (Florian Westphal) [1889990] - [net] netfilter: nft_set_rbtree: Handle outcomes of tree rotations in overlap detection (Florian Westphal) [1889990] - [net] netfilter: nf_tables: nft_exthdr: the presence return value should be little-endian (Florian Westphal) [1889990] - [net] netfilter: nft_set_pipapo: Drop useless assignment of scratch map index on insert (Florian Westphal) [1889990] - [net] netfilter: arp_tables: init netns pointer in xt_tgdtor_param struct (Florian Westphal) [1889990] - [net] netfilter: arp_tables: init netns pointer in xt_tgchk_param struct (Florian Westphal) [1889990] - [net] ipvs: do not schedule icmp errors from tunnels (Florian Westphal) [1889990] - [powercap] powercap: intel_rapl: add support for Sapphire Rapids (Steve Best) [1837373] - [powercap] powercap/intel_rapl: add support for RocketLake (Steve Best) [1782715] - [char] ipmi: Use fallthrough pseudo-keyword (Tony Camuso) [1877848] - [char] ipmi/watchdog: add missing newlines when printing parameters by sysfs (Tony Camuso) [1877848] - [char] ipmi: remve duplicate code in __ipmi_bmc_register() (Tony Camuso) [1877848] - [documentation] docs: ipmi: Replace HTTP links with HTTPS ones (Tony Camuso) [1877848] - [char] ipmi: ssif: Remove finished TODO comment about SMBus alert (Tony Camuso) [1877848] - [documentation] Doc: driver-api: ipmi: Add description of alerts_broken module param (Tony Camuso) [1877848] - [char] ipmi:ssif: Remove dynamic platform device handing (Tony Camuso) [1877848] - [char] Try to load acpi_ipmi when an SSIF ACPI IPMI interface is added (Tony Camuso) [1877848] - [char] ipmi_si: Load acpi_ipmi when ACPI IPMI interface added (Tony Camuso) [1877848] - [char] ipmi:bt-bmc: Fix error handling and status check (Tony Camuso) [1877848] - [char] ipmi: Replace guid_copy() with import_guid() where it makes sense (Tony Camuso) [1877848] - [char] ipmi: use vzalloc instead of kmalloc for user creation (Tony Camuso) [1877848] - [char] ipmi:bt-bmc: Fix some format issue of the code (Tony Camuso) [1877848] - [char] ipmi:bt-bmc: Avoid unnecessary check (Tony Camuso) [1877848] - [char] docs: fix references for ipmi.rst file (Tony Camuso) [1877848] - [documentation] docs: move IPMI.txt to the driver API book (Tony Camuso) [1877848]- [powerpc] pseries: Fix 64 bit logical memory block panic (Steve Best) [1894922] - [mm] powerpc/book3s64/radix: Make radix_mem_block_size 64bit (Steve Best) [1894922] - [powerpc] powerpc/64s/radix: Fix build failure with RADIX_MMU=n (Steve Best) [1894922] - [x86] kvm: mmu: fix is_tdp_mmu_check when the TDP MMU is not in use (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: svm: Update cr3_lm_rsvd_bits for AMD SEV guests (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: Introduce cr3_lm_rsvd_bits in kvm_vcpu_arch (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: clflushopt should be treated as a no-op by emulation (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: handle MSR_IA32_DEBUGCTLMSR with report_ignored_msrs (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: request masterclock update any time guest uses different msr (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: ensure pv_cpuid.features is initialized when enabling cap (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: reads of restricted pv msrs should also result in #GP (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: use positive error values for msr emulation that causes #GP (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86/mmu: fix counting of rmap entries in pte_list_add (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: bump KVM_MAX_CPUID_ENTRIES (Vitaly Kuznetsov) [1898914 1878097] - [x86] vmxfeatures: rename features for consistency with KVM and manual (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: vmx: Add VMX_FEATURE_USR_WAIT_PAUSE (Vitaly Kuznetsov) [1878097 1898914] - [x86] Expose SERIALIZE for supported cpuid (Vitaly Kuznetsov) [1878097 1898914] - [x86] kvm: x86: Expose fast short REP MOV for supported cpuid (Vitaly Kuznetsov) [1878097 1898914] - [x86] kvm: x86: Expose AVX512 VP2INTERSECT in cpuid for TGL (Vitaly Kuznetsov) [1878097 1898914] - [x86] kvm: Convert to new CPU match macros (Vitaly Kuznetsov) [1878097 1898914] - [documentation] docs: kvm: fix referenced ioctl symbol (Vitaly Kuznetsov) [1878097 1898914] - [documentation] docs: kvm: api.rst: add missing spaces (Vitaly Kuznetsov) [1878097 1898914] - [virt] kvm: use struct_size() and flex_array_size() helpers in kvm_io_bus_unregister_dev() (Vitaly Kuznetsov) [1878097 1898914] - [documentation] documentation: kvm: fix a typo (Vitaly Kuznetsov) [1878097 1898914] - [documentation] documentation: kvm: fix some typos in cpuid.rst (Vitaly Kuznetsov) [1878097 1898914] - [documentation] documentation: kvm: fix a typo (Vitaly Kuznetsov) [1878097 1898914] - [x86] x86/cpu: Fix typos and improve the comments in sync_core() (David Arcari) [1837457] - [x86] x86/cpu: Use SERIALIZE in sync_core() when available (David Arcari) [1837457] - [tools] tools arch x86: Sync asm/cpufeatures.h with the kernel sources (David Arcari) [1837457] - [x86] x86/cpufeatures: Add enumeration for SERIALIZE instruction (David Arcari) [1837457] - [x86] x86/cpu: Refactor sync_core() for readability (David Arcari) [1837457] - [x86] x86/cpu: Relocate sync_core() to sync_core.h (David Arcari) [1837457] - [arm64] kvm: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception (Auger Eric) [1882794] - [arm64] kvm: arm64: Survive synchronous exceptions caused by AT instructions (Auger Eric) [1882794] - [arm64] kvm: arm64: Add kvm_extable for vaxorcism code (Auger Eric) [1882794] - [arm64] kvm: arm64: Print warning when cpu erratum can cause guests to deadlock (Auger Eric) [1882794] - [arm64] kvm: arm64: clean up redundant 'kvm_run' parameters (Auger Eric) [1882794] - [arm64] kvm: arm64: Use common KVM implementation of MMU memory caches (Auger Eric) [1882794] - [arm64] kvm: arm64: Use common code's approach for __GFP_ZERO with memory caches (Auger Eric) [1882794] - [arm64] kvm: arm64: Drop @max param from mmu_topup_memory_cache() (Auger Eric) [1882794] - [arm64] s/AMEVTYPE/AMEVTYPER (Auger Eric) [1882794] - [arm64] kvm: arm64: bti: Reset BTYPE when skipping emulated instructions (Auger Eric) [1882794] - [arm64] kvm: arm64: Remove S1PTW check from kvm_vcpu_dabt_iswrite() (Auger Eric) [1882794] - [arm64] kvm: arm64: Assume write fault on S1PTW permission fault on instruction fetch (Auger Eric) [1882794] - [arm64] kvm: arm64: Update page shift if stage 2 block mapping not supported (Auger Eric) [1882794] - [arm64] kvm: arm64: Fix address truncation in traces (Auger Eric) [1882794] - [arm64] kvm: arm64: Do not try to map PUDs when they are folded into PMD (Auger Eric) [1882794] - [documentation] arm64/x86: kvm: Introduce steal-time cap (Auger Eric) [1882794] - [arm64] kvm: arm64: pvtime: Fix stolen time accounting across migration (Auger Eric) [1882794] - [kernel] kvm: arm64: Drop type input from kvm_put_guest (Auger Eric) [1882794] - [arm64] kvm: arm64: pvtime: Fix potential loss of stolen time (Auger Eric) [1882794] - [arm64] kvm: arm64: pvtime: steal-time is only supported when configured (Auger Eric) [1882794] - [arm64] kvm: arm64: Move S1PTW S2 fault logic out of io_mem_abort() (Auger Eric) [1882794] - [arm64] kvm: arm64: Don't skip cache maintenance for read-only memslots (Auger Eric) [1882794] - [arm64] kvm: arm64: Handle data and instruction external aborts the same way (Auger Eric) [1882794] - [arm64] kvm: arm64: Rename kvm_vcpu_dabt_isextabt() (Auger Eric) [1882794] - [trace] kvm: arm: Add trace name for ARM_NISV (Auger Eric) [1882794] - [arm64] kvm: arm64: Ensure that all nVHE hyp code is in .hyp.text (Auger Eric) [1882794] - [arm64] kvm: arm64: Don't use has_vhe() for CHOOSE_HYP_SYM() (Auger Eric) [1882794] - [arm64] kvm: arm64: timers: Move timer registers to the sys_regs file (Auger Eric) [1882794] - [arm64] kvm: arm64: timers: Rename kvm_timer_sync_hwstate to kvm_timer_sync_user (Auger Eric) [1882794] - [arm64] kvm: arm64: Move SPSR_EL1 to the system register array (Auger Eric) [1882794] - [arm64] kvm: arm64: Disintegrate SPSR array (Auger Eric) [1882794] - [arm64] kvm: arm64: Move SP_EL1 to the system register array (Auger Eric) [1882794] - [arm64] kvm: arm64: Move ELR_EL1 to the system register array (Auger Eric) [1882794] - [arm64] kvm: arm64: Make struct kvm_regs userspace-only (Auger Eric) [1882794] - [arm64] kvm: arm64: debug: Drop useless vpcu parameter (Auger Eric) [1882794] - [arm64] kvm: arm64: pauth: Use ctxt_sys_reg() instead of raw sys_regs access (Auger Eric) [1882794] - [arm64] kvm: arm64: sve: Use __vcpu_sys_reg() instead of raw sys_regs access (Auger Eric) [1882794] - [arm64] kvm: arm64: hyp: Use ctxt_sys_reg/__vcpu_sys_reg instead of raw sys_regs access (Auger Eric) [1882794] - [arm64] kvm: arm64: Introduce accessor for ctxt->sys_reg (Auger Eric) [1882794] - [arm64] kvm: arm64: Rename HSR to ESR (Auger Eric) [1882794] - [arm64] kvm: arm64: Drop long gone function parameter documentation (Auger Eric) [1882794] - [arm64] kvm: arm64: vgic-its: Change default outer cacheability for {PEND, PROP}BASER (Auger Eric) [1882794] - [arm64] kvm: arm64: Lift instrumentation restrictions on VHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Remove __hyp_text macro, use build rules instead (Auger Eric) [1882794] - [arm64] kvm: arm64: Compile remaining hyp/ files for both VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Duplicate hyp/timer-sr.c for VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Split hyp/sysreg-sr.c to VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Split hyp/debug-sr.c to VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Split hyp/switch.c to VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Duplicate hyp/tlb.c for VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Move hyp-init.S to nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Build hyp-entry.S separately for VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Handle calls to prefixed hyp functions (Auger Eric) [1882794] - [arm64] kvm: arm64: Use build-time defines in has_vhe() (Auger Eric) [1882794] - [arm64] kvm: arm64: Add build rules for separate VHE/nVHE object files (Auger Eric) [1882794] - [arm64] kvm: arm64: Move __smccc_workaround_1_smc to .rodata (Auger Eric) [1882794] - [arm64] kvm: arm64: Fix symbol dependency in __hyp_call_panic_nvhe (Auger Eric) [1882794] - [arm64] kvm: arm64: Remove the target table (Auger Eric) [1882794] - [arm64] kvm: arm64: Remove target_table from exit handlers (Auger Eric) [1882794] - [arm64] kvm: arm64: Move ACTLR_EL1 emulation to the sys_reg_descs array (Auger Eric) [1882794] - [arm64] kvm: arm64: Tolerate an empty target_table list (Auger Eric) [1882794] - [arm64] kvm: arm64: Drop the target_table[] indirection (Auger Eric) [1882794] - [arm64] kvm: Remove kern_hyp_va from get_vcpu_ptr (Auger Eric) [1882794] - [arm64] kvm: arm64: Allow in-atomic injection of SPIs (Auger Eric) [1882794] - [arm64] kvm: arm64: Add emulation for 32bit guests accessing ACTLR2 (Auger Eric) [1882794] - [arm64] kvm: arm64: Use cpus_have_final_cap for has_vhe() (Auger Eric) [1882794] - [arm64] efi: Move variable assignments after SECTIONS (Auger Eric) [1882794] - [arm64] efi: Mark __efistub_stext_offset as an absolute symbol explicitly (Auger Eric) [1882794] - [arm64] drop linker script hack to hide __efistub_ symbols (Auger Eric) [1882794] - [arm64] kvm: arm64: Synchronize sysreg state on injecting an AArch32 exception (Auger Eric) [1882794] - [arm64] kvm: arm64: Make vcpu_cp1x() work on Big Endian hosts (Auger Eric) [1882794] - [arm64] kvm: arm64: Stop sparse from moaning at __hyp_this_cpu_ptr (Auger Eric) [1882794] - [arm64] kvm: arm64: Check advertised Stage-2 page size capability (Auger Eric) [1882794] - [arm64] cpufeature: Don't treat granule sizes as strict (Auger Eric) [1882794] - [arm64] cpufeature: Validate hypervisor capabilities during CPU hotplug (Auger Eric) [1882794] - [arm64] kvm: hyp: use cpus_have_final_cap() (Auger Eric) [1882794] - [arm64] cpufeature: add cpus_have_final_cap() (Auger Eric) [1882794] - [arm64] mark (__)cpus_have_const_cap as __always_inline (Auger Eric) [1882794] - [arm64] Mark call_smc_arch_workaround_1 as __maybe_unused (Auger Eric) [1882794] - [arm64] Make use of ARCH_WORKAROUND_1 even when KVM is not enabled (Auger Eric) [1882794] - [arm64] kvm: arm64: Delete duplicated label in invalid_vector (Auger Eric) [1882794] - [arm64] use mov_q instead of literal ldr (Auger Eric) [1882794] - [arm64] kvm: Modernize __smccc_workaround_1_smc_start annotations (Auger Eric) [1882794] - [arm64] kvm: Modernize annotation for __bp_harden_hyp_vecs (Auger Eric) [1882794] - [arm64] kvm: Annotate assembly using modern annoations (Auger Eric) [1882794] - [arm64] kvm: arm64: Prevent vcpu_has_ptrauth from generating OOL functions (Auger Eric) [1882794] - [arm64] kvm: disable access to AMU registers from kvm guests (Auger Eric) [1882794] - [arm64] kvm: arm64: pvtime: Ensure task delay accounting is enabled (Auger Eric) [1882794] - [arm64] kvm: arm64: Stop writing aarch32's CSSELR into ACTLR (Auger Eric) [1882794] - [arm64] kvm: Annotate guest entry/exit as a single function (Auger Eric) [1882794] - [kernel] linkage: Introduce new macros for assembler symbols (Auger Eric) [1882794] - [s390] kvm: s390: remove diag318 reset code (Thomas Huth) [1899497] - [powerpc] powerpc/hv-gpci: Add sysfs files inside hv-gpci device to show cpumask (Michael Petlan) [1844416] - [powerpc] powerpc/perf/hv-gpci: Add cpu hotplug support (Michael Petlan) [1844416] - [documentation] Documentation/ABI: Add ABI documentation for hv-gpci format (Michael Petlan) [1844416] - [documentation] Documentation/ABI: Add ABI documentation for hv-24x7 format (Michael Petlan) [1844416] - [powerpc] powerpc/perf/hv-gpci: Fix starting index value (Michael Petlan) [1844416] - [powerpc] powerpc/perf/hv-24x7: Move cpumask file to top folder of hv-24x7 driver (Michael Petlan) [1844416] - [powerpc] powerpc/hv-24x7: Add sysfs files inside hv-24x7 device to show cpumask (Michael Petlan) [1844416] - [powerpc] powerpc/perf/hv-24x7: Add cpu hotplug support (Michael Petlan) [1844416] - [powerpc] powerpc/perf: Fix reading of MSRbits in trace-imc (Michael Petlan) [1854536] - [powerpc] powerpc/perf: Add kernel support for new MSRbits in trace-imc (Michael Petlan) [1854536] - [documentation] kdump: update kdump documentation due to change of crash URL (Lianbo Jiang) [1896236] - [pinctrl] pinctrl: intel: Add Intel Emmitsburg pin controller support (David Arcari) [1837409] - [x86] x86/platform/uv: Fix copied UV5 output archtype (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Drop last traces of uv_flush_tlb_others (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Recognize UV5 hubless system identifier (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove spaces from OEM IDs (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Fix missing OEM_TABLE_ID (Frank Ramsay) [1861439] - [misc] x86/platform/uv: Update Copyrights to conform to HPE standards (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update for UV5 NMI MMR changes (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update UV5 TSC checking (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update node present counting (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update UV5 MMR references in UV GRU (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Adjust GAM MMR references affected by UV5 updates (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update MMIOH references based on new UV5 MMRs (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Add and decode Arch Type in UVsystab (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Add UV5 direct references (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update UV MMRs for UV5 (Frank Ramsay) [1861439] - [misc] drivers/misc/sgi-xp: Adjust references in UV kernel modules (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove SCIR MMR references for UV systems (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove UV BAU TLB Shootdown Handler (Frank Ramsay) [1861439] - [x86] x86/kernel: Fix more -Wmissing-prototypes warnings (Frank Ramsay) [1861439] - [x86] x86/apic/uv: Avoid unused variable warning (Frank Ramsay) [1861439] - [misc] misc: sgi-xp: xp_main: Staticify local functions xp_init() and xp_exit() (Frank Ramsay) [1861439] - [misc] misc/sgi-xp: remove SGI SN2 support (Frank Ramsay) [1861439] - [x86] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Frank Ramsay) [1861439] - [x86] efi/x86: Remove unreachable code in kexec_enter_virtual_mode() (Frank Ramsay) [1861439] - [x86] x86/efi: Remove unused EFI_UV1_MEMMAP code (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove uv bios and efi code related to EFI_UV1_MEMMAP (Frank Ramsay) [1861439] - [x86] x86/efi: Remove references to no-longer-used efi_have_uv1_memmap() (Frank Ramsay) [1861439] - [x86] x86/efi: Delete SGI UV1 detection (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove efi=old_map command line option (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove vestigial mention of UV1 platform from bios header (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for uv1 platform from uv_hub (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv_bau (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv_mmrs (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from x2apic_uv_x (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv_tlb (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv_time (Frank Ramsay) [1861439] - [x86] x86/apic/uv: Make x2apic_extra_bits static (Frank Ramsay) [1861439] - [s390] uv: add destroy page call (Thomas Huth) [1882800] - [s390] gmap: improve THP splitting (Thomas Huth) [1882800] - [s390] kvm: s390: clean up redundant 'kvm_run' parameters (Thomas Huth) [1882800] - [documentation] documentation: virt: kvm/s390-pv: drop doubled words (Thomas Huth) [1882800] - [s390] kvm: s390: reduce number of IO pins to 1 (Thomas Huth) [1882800] - [s390] protvirt: use scnprintf() instead of snprintf() (Thomas Huth) [1882800] - [s390] kvm: s390: remove unneeded semicolon in gisa_vcpu_kicker() (Thomas Huth) [1882800] - [s390] kvm: s390: vsie: gmap_table_walk() simplifications (Thomas Huth) [1882800] - [s390] kvm: s390: vsie: Move conditional reschedule (Thomas Huth) [1882800] - [s390] kvm: s390: vsie: Fix possible race when shadowing region 3 tables (Thomas Huth) [1882800] - [s390] kvm: s390: vsie: Fix region 1 ASCE sanity shadow address checks (Thomas Huth) [1882800] - [s390] kvm: s390: Use fallthrough; (Thomas Huth) [1882800] - [s390] mm: use refcount_t for refcount (Thomas Huth) [1882800] - [s390] mm: make gmap_test_and_clear_dirty_pmd static (Thomas Huth) [1882800] - [s390] mm: optimize locking without huge pages in gmap_pmd_op_walk() (Thomas Huth) [1882800] - [net] openvswitch: introduce common code for flushing flows (Eelco Chaudron) [1888576] - [net] openvswitch: silence suspicious RCU usage warning (Eelco Chaudron) [1888576] - [net] openvswitch: make masks cache size configurable (Eelco Chaudron) [1888576] - [net] openvswitch: add masks cache hit counter (Eelco Chaudron) [1888576] - [net] openvswitch: Prevent kernel-infoleak in ovs_ct_put_key() (Eelco Chaudron) [1888576] - [net] openvswitch: kerneldoc fixes (Eelco Chaudron) [1888576] - [net] openvswitch: use div_u64() for 64-by-32 divisions (Eelco Chaudron) [1888576] - [net] openvswitch: suitable access to the dp_meters (Eelco Chaudron) [1888576] - [net] openvswitch: use u64 for meter bucket (Eelco Chaudron) [1888576] - [net] openvswitch: make EINVAL return value more obvious (Eelco Chaudron) [1888576] - [net] openvswitch: remove the unnecessary check (Eelco Chaudron) [1888576] - [net] openvswitch: set max limitation to meters (Eelco Chaudron) [1888576] - [net] openvswitch: expand the meters supported number (Eelco Chaudron) [1888576] - [net] openvswitch: use hlist_for_each_entry_rcu instead of hlist_for_each_entry (Eelco Chaudron) [1888576] - [net] ovs: datapath: hide clang frame-overflow warnings (Eelco Chaudron) [1888576] - [net] openvswitch: use netif_ovs_is_port() instead of opencode (Eelco Chaudron) [1888576] - [platform] platform/x86: intel_pmc_core: avoid unused-function warnings (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: fix bound check in pmc_core_mphy_pg_show() (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: update TGL's LPM0 reg bit map name (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Make pmc_core_substate_res_show() generic (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Make pmc_core_lpm_display() generic for platforms that support sub-states (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add slp_s0_offset attribute back to tgl_reg_map (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Remove duplicate 'if' to create debugfs entry (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Relocate pmc_core_*_display() to outside of CONFIG_DEBUG_FS (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add debugfs support to access live status registers (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Dump low power status registers on an S0ix.y failure (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add an additional parameter to pmc_core_lpm_display() (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Remove slp_s0 attributes from tgl_reg_map (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Refactor the driver by removing redundant code (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add debugfs entry for low power mode status registers (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add debugfs entry to access sub-state residencies (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Fix spelling of MHz unit (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Fix indentation in function definitions (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Put more stuff under #ifdef DEBUG_FS (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Respect error code of kstrtou32_from_user() (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Make debugfs entry for pch_ip_power_gating_status conditional (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Remove unnecessary assignments (David Arcari) [1783140]- [net] mptcp: provide rmem[0] limit (Davide Caratti) [1874368] - [net] mptcp: add missing memory scheduling in the rx path (Davide Caratti) [1874368] - [net] mptcp: depends on IPV6 but not as a module (Davide Caratti) [1874368] - [tools] selftests: mptcp: depends on built-in IPv6 (Davide Caratti) [1874368] - [net] mptcp: MPTCP_IPV6 should depend on IPV6 instead of selecting it (Davide Caratti) [1874368] - [net] mptcp: subflows garbage collection (Davide Caratti) [1874368] - [net] mptcp: fix fallback for MP_JOIN subflows (Davide Caratti) [1874368] - [net] mptcp: make DACK4/DACK8 usage consistent among all subflows (Davide Caratti) [1874368] - [net] mptcp: fix infinite loop on recvmsg()/worker() race. (Davide Caratti) [1874368] - [net] mptcp: don't skip needed ack (Davide Caratti) [1874368] - [net] mptcp: more DATA FIN fixes (Davide Caratti) [1874368] - [net] mptcp: Constify mptcp_pm_ops (Davide Caratti) [1874368] - [net] mptcp: ADD_ADDRs with echo bit are smaller (Davide Caratti) [1874368] - [net] mptcp: Handle incoming 32-bit DATA_FIN values (Davide Caratti) [1874368] - [net] mptcp: Consistently use READ_ONCE/WRITE_ONCE with msk->ack_seq (Davide Caratti) [1874368] - [net] tcp: drop unused function argument from mptcp_incoming_options (Davide Caratti) [1874368] - [net] mptcp: retransmit ADD_ADDR when timeout (Davide Caratti) [1874368] - [net] mptcp: add sk_stop_timer_sync helper (Davide Caratti) [1874368] - [net] mptcp: add struct mptcp_pm_add_entry (Davide Caratti) [1874368] - [tools] selftests: mptcp: add remove addr and subflow test cases (Davide Caratti) [1874368] - [tools] selftests: mptcp: add remove cfg in mptcp_connect (Davide Caratti) [1874368] - [net] mptcp: add mptcp_destroy_common helper (Davide Caratti) [1874368] - [net] mptcp: add RM_ADDR related mibs (Davide Caratti) [1874368] - [net] mptcp: implement mptcp_pm_remove_subflow (Davide Caratti) [1874368] - [net] mptcp: remove addr and subflow in PM netlink (Davide Caratti) [1874368] - [net] mptcp: add accept_subflow re-check (Davide Caratti) [1874368] - [tools] selftests: mptcp: add ADD_ADDR mibs check function (Davide Caratti) [1874368] - [net] tcp: change pingpong threshold to 3 (Davide Caratti) [1874368] - [net] tcp: Refactor pingpong code (Davide Caratti) [1874368] - [net] mptcp: add ADD_ADDR related mibs (Davide Caratti) [1874368] - [net] mptcp: send out ADD_ADDR with echo flag (Davide Caratti) [1874368] - [net] mptcp: add the incoming RM_ADDR support (Davide Caratti) [1874368] - [net] mptcp: add the outgoing RM_ADDR support (Davide Caratti) [1874368] - [net] mptcp: rename addr_signal and the related functions (Davide Caratti) [1874368] - [net] mptcp: Wake up MPTCP worker when DATA_FIN found on a TCP FIN packet (Davide Caratti) [1874368] - [net] mptcp: fix integer overflow in mptcp_subflow_discard_data() (Davide Caratti) [1874368] - [net] mptcp: Fix unsigned 'max_seq' compared with zero in mptcp_data_queue_ofo (Davide Caratti) [1874368] - [tools] selftests: mptcp: interpret \n as a new line (Davide Caratti) [1874368] - [tools] selftests: mptcp: interpret \n as a new line (Davide Caratti) [1874368] - [tools] mptcp: simult flow self-tests (Davide Caratti) [1874368] - [net] mptcp: call tcp_cleanup_rbuf on subflows (Davide Caratti) [1874368] - [net] mptcp: allow picking different xmit subflows (Davide Caratti) [1874368] - [net] mptcp: allow creating non-backup subflows (Davide Caratti) [1874368] - [net] mptcp: move address attribute into mptcp_addr_info (Davide Caratti) [1874368] - [net] mptcp: add OoO related mibs (Davide Caratti) [1874368] - [net] mptcp: cleanup mptcp_subflow_discard_data() (Davide Caratti) [1874368] - [net] mptcp: move ooo skbs into msk out of order queue. (Davide Caratti) [1874368] - [net] mptcp: introduce and use mptcp_try_coalesce() (Davide Caratti) [1874368] - [net] mptcp: basic sndbuf autotuning (Davide Caratti) [1874368] - [net] mptcp: trigger msk processing even for OoO data (Davide Caratti) [1874368] - [net] mptcp: set data_ready status bit in subflow_check_data_avail() (Davide Caratti) [1874368] - [net] mptcp: rethink 'is writable' conditional (Davide Caratti) [1874368] - [net] tcp: reduce POLLOUT events caused by TCP_NOTSENT_LOWAT (Davide Caratti) [1874368] - [net] mptcp: fix kmalloc flag in mptcp_pm_nl_get_local_id (Davide Caratti) [1874368] - [net] mptcp: fix subflow's remote_id issues (Davide Caratti) [1874368] - [net] mptcp: fix subflow's local_id issues (Davide Caratti) [1874368] - [net] mptcp: Remove unused macro MPTCP_SAME_STATE (Davide Caratti) [1874368] - [net] treewide: Use fallthrough pseudo-keyword (Davide Caratti) [1874368] - [net] netlink: consistently use NLA_POLICY_EXACT_LEN() (Davide Caratti) [1874368] - [net] mptcp: free acked data before waiting for more memory (Davide Caratti) [1874368] - [net] mptcp: sendmsg: reset iter on error redux (Davide Caratti) [1874368] - [net] mptcp: sendmsg: reset iter on error (Davide Caratti) [1874368] - [net] mptcp: fix warn at shutdown time for unaccepted msk sockets (Davide Caratti) [1874368] - [net] mptcp: use mptcp_for_each_subflow in mptcp_stream_accept (Davide Caratti) [1874368] - [net] mptcp: fix syncookie build error on UP (Davide Caratti) [1874368] - [net] tcp: fix syn cookied MPTCP request socket leak (Davide Caratti) [1874368] - [net] tcp: fix build fong CONFIG_MPTCP=n (Davide Caratti) [1874368] - [tools] selftests: mptcp: add test cases for mptcp join tests with syn cookies (Davide Caratti) [1874368] - [tools] selftests: mptcp: make 2nd net namespace use tcp syn cookies unconditionally (Davide Caratti) [1874368] - [net] mptcp: enable JOIN requests even if cookies are in use (Davide Caratti) [1874368] - [net] tcp: free request sock directly upon TFO or syncookies error (Davide Caratti) [1874368] - [include] net: keep refcount warning in reqsk_free() (Davide Caratti) [1874368] - [net] tcp: syncookies: create mptcp request socket for ACK cookies with MPTCP option (Davide Caratti) [1874368] - [net] mptcp: subflow: add mptcp_subflow_init_cookie_req helper (Davide Caratti) [1874368] - [net] mptcp: rename and export mptcp_subflow_request_sock_ops (Davide Caratti) [1874368] - [net] mptcp: subflow: split subflow_init_req (Davide Caratti) [1874368] - [net] mptcp: token: move retry to caller (Davide Caratti) [1874368] - [net] tcp: rename request_sock cookie_ts bit to syncookie (Davide Caratti) [1874368] - [net] mptcp: Safely store sequence number when sending data (Davide Caratti) [1874368] - [net] mptcp: Safely read sequence number when lock isn't held (Davide Caratti) [1874368] - [net] mptcp: Skip unnecessary skb extension allocation for bare acks (Davide Caratti) [1874368] - [net] mptcp: Only use subflow EOF signaling on fallback connections (Davide Caratti) [1874368] - [net] mptcp: Use full MPTCP-level disconnect state machine (Davide Caratti) [1874368] - [net] mptcp: Add helper to process acks of DATA_FIN (Davide Caratti) [1874368] - [net] mptcp: Add mptcp_close_state() helper (Davide Caratti) [1874368] - [net] mptcp: Track received DATA_FIN sequence number and add related helpers (Davide Caratti) [1874368] - [net] mptcp: Use MPTCP-level flag for sending DATA_FIN (Davide Caratti) [1874368] - [net] mptcp: Remove outdated and incorrect comment (Davide Caratti) [1874368] - [net] mptcp: Return EPIPE if sending is shut down during a sendmsg (Davide Caratti) [1874368] - [net] mptcp: Allow DATA_FIN in headers without TCP FIN (Davide Caratti) [1874368] - [net] subflow: introduce and use mptcp_can_accept_new_subflow() (Davide Caratti) [1874368] - [net] subflow: use rsk_ops->send_reset() (Davide Caratti) [1874368] - [net] mptcp: cleanup subflow_finish_connect() (Davide Caratti) [1874368] - [net] mptcp: explicitly track the fully established status (Davide Caratti) [1874368] - [net] mptcp: mark as fallback even early ones (Davide Caratti) [1874368] - [net] mptcp: avoid data corruption on reinsert (Davide Caratti) [1874368] - [net] subflow: always init 'rel_write_seq' (Davide Caratti) [1874368] - [net] mptcp: zero token hash at creation time. (Davide Caratti) [1874368] - [net] mptcp: move helper to where its used (Davide Caratti) [1874368] - [tools] selftests/mptcp: Better delay & reordering configuration (Davide Caratti) [1874368] - [tools] selftests: mptcp: fix typo in mptcp_connect usage (Davide Caratti) [1874368] - [tools] mptcp: more stable diag self-tests (Davide Caratti) [1874368] - [tools] selftests: mptcp: fix dependecies (Davide Caratti) [1874368] - [net] inet_diag: validate INET_DIAG_REQ_PROTOCOL attribute (Davide Caratti) [1874368] - [tools] selftests/mptcp: add diag interface tests (Davide Caratti) [1874368] - [net] mptcp: add MPTCP socket diag interface (Davide Caratti) [1874368] - [net] mptcp: add msk interations helper (Davide Caratti) [1874368] - [net] inet_diag: support for wider protocol numbers (Davide Caratti) [1874368] - [net] mptcp: use mptcp worker for path management (Davide Caratti) [1874368] - [include] mptcp: Remove unused inline function mptcp_rcv_synsent() (Davide Caratti) [1874368] - [net] mptcp: support IPV6_V6ONLY setsockopt (Davide Caratti) [1874368] - [net] mptcp: add REUSEADDR/REUSEPORT support (Davide Caratti) [1874368] - [net] use mptcp setsockopt function for SOL_SOCKET on mptcp sockets (Davide Caratti) [1874368] - [net] mptcp: do nonce initialization at subflow creation time (Davide Caratti) [1874368] - [net] mptcp: close poll() races (Davide Caratti) [1874368] - [net] mptcp: __mptcp_tcp_fallback() returns a struct sock (Davide Caratti) [1874368] - [net] mptcp: create first subflow at msk creation time (Davide Caratti) [1874368] - [net] mptcp: check for plain TCP sock at accept time (Davide Caratti) [1874368] - [net] mptcp: move mptcp_options_received's port initialization (Davide Caratti) [1874368] - [net] mptcp: initialize mptcp_options_received's ahmac (Davide Caratti) [1874368] - [net] mptcp: MPTCP_KUNIT_TESTS should depend on MPTCP instead of selecting it (Davide Caratti) [1874368] - [net] mptcp: introduce token KUNIT self-tests (Davide Caratti) [1874368] - [net] mptcp: move crypto test to KUNIT (Davide Caratti) [1874368] - [net] mptcp: refactor token container (Davide Caratti) [1874368] - [net] mptcp: add __init annotation on setup functions (Davide Caratti) [1874368] - [net] tcp: move ipv4_specific to tcp include file (Davide Caratti) [1874368] - [net] tcp: move ipv6_specific declaration to remove a warning (Davide Caratti) [1874368] - [net] mptcp: use list_first_entry_or_null (Davide Caratti) [1874368] - [net] mptcp: attempt coalescing when moving skbs to mptcp rx queue (Davide Caratti) [1874368] - [net] allow __skb_ext_alloc to sleep (Davide Caratti) [1874368] - [net] mptcp: remove inner wait loop from mptcp_sendmsg_frag (Davide Caratti) [1874368] - [net] mptcp: fill skb page frag cache outside of mptcp_sendmsg_frag (Davide Caratti) [1874368] - [net] mptcp: fill skb extension cache outside of mptcp_sendmsg_frag (Davide Caratti) [1874368] - [net] mptcp: move common nospace-pattern to a helper (Davide Caratti) [1874368] - [net] mptcp: Use 32-bit DATA_ACK when possible (Davide Caratti) [1874368] - [s390] s390/qeth: implement ndo_bridge_setlink for learning_sync (Philipp Rudo) [1651745] - [s390] s390/qeth: implement ndo_bridge_getlink for learning_sync (Philipp Rudo) [1651745] - [s390] s390/qeth: Reset address notification in case of buffer overflow (Philipp Rudo) [1651745] - [net] bridge: Add SWITCHDEV_FDB_FLUSH_TO_BRIDGE notifier (Philipp Rudo) [1651745] - [s390] s390/qeth: Translate address events into switchdev notifiers (Philipp Rudo) [1651745] - [s390] s390/qeth: Detect PNSO OC3 capability (Philipp Rudo) [1651745] - [s390] s390/cio: Helper functions to read CSSID, IID, and CHID (Philipp Rudo) [1651745] - [s390] s390/cio: Add new Operation Code OC3 to PNSO (Philipp Rudo) [1651745] - [cpuidle] cpuidle: Drop misleading comments about RCU usage (David Arcari) [1888014] - [cpuidle] cpuidle: Allow cpuidle drivers to take over RCU-idle (David Arcari) [1888014] - [include] cpuidle: Make CPUIDLE_FLAG_TLB_FLUSHED generic (David Arcari) [1888014] - [cpuidle] sched, idle, rcu: Push rcu_idle deeper into the idle path (David Arcari) [1888014] - [cpuidle] cpuidle: Fixup IRQ state (David Arcari) [1888014] - [kernel] cpuidle: Add RH_KABI warnings (David Arcari) [1878232] - [acpi] cpuidle: ACPI: fix 'return' with no value build warning (David Arcari) [1878232] - [acpi] cpuidle: change enter_s2idle() prototype (David Arcari) [1878232] - [cpuidle] cpuidle/pseries: Make symbol 'pseries_idle_driver' static (David Arcari) [1878232] - [cpuidle] cpuidle/powernv : Remove dead code block (David Arcari) [1878232] - [cpuidle] cpuidle: Rearrange s2idle-specific idle state entry code (David Arcari) [1878232] - [cpuidle] PM: s2idle: Clear _TIF_POLLING_NRFLAG before suspend to idle (David Arcari) [1878232] - [cpuidle] cpuidle: Fix three reference count leaks (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Remove sysfs_switch and switch attributes (David Arcari) [1878232] - [cpuidle] cpuidle: Make cpuidle governor switchable to be the default behaviour (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Accept governor name with 15 characters (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Fix the overlap for showing available governors (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Minor coding style corrections (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Remove the unused define_one_r(o/w) macros (David Arcari) [1878232] - [cpuidle] cpuidle-haltpoll: Fix small typo (David Arcari) [1878232] - [idle] intel_idle: Customize IceLake server support (David Arcari) [1881620 1857129] - [idle] intel_idle: Eliminate redundant static variable (David Arcari) [1857129] - [idle] intel_idle: Update copyright notice, known limitations and version (David Arcari) [1857129] - [idle] intel_idle: Define CPUIDLE_FLAG_TLB_FLUSHED as BIT(16) (David Arcari) [1857129] - [idle] intel_idle: Clean up kerneldoc comments for multiple functions (David Arcari) [1857129] - [idle] intel_idle: Reorder declarations of static variables (David Arcari) [1857129] - [idle] intel_idle: Annotate init time data structures (David Arcari) [1857129] - [idle] intel_idle: Add __initdata annotations to init time variables (David Arcari) [1857129] - [idle] intel_idle: Relocate definitions of cpuidle callbacks (David Arcari) [1857129] - [idle] intel_idle: Clean up definitions of cpuidle callbacks (David Arcari) [1857129] - [idle] intel_idle: Simplify LAPIC timer reliability checks (David Arcari) [1857129] - [idle] intel_idle: Introduce 'states_off' module parameter (David Arcari) [1857129] - [idle] intel_idle: Clean up irtl_2_usec() (David Arcari) [1857129] - [idle] intel_idle: Move 3 functions closer to their callers (David Arcari) [1857129] - [idle] intel_idle: Annotate initialization code and data structures (David Arcari) [1857129] - [idle] intel_idle: Move and clean up intel_idle_cpuidle_devices_uninit() (David Arcari) [1857129] - [idle] intel_idle: Rearrange intel_idle_cpuidle_driver_init() (David Arcari) [1857129] - [idle] intel_idle: Clean up NULL pointer check in intel_idle_init() (David Arcari) [1857129] - [idle] intel_idle: Fold intel_idle_probe() into intel_idle_init() (David Arcari) [1857129] - [idle] intel_idle: Eliminate __setup_broadcast_timer() (David Arcari) [1857129] - [idle] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335 (David Arcari) [1857129]- [hv] hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Add parsing of VMbus interrupt in ACPI DSDT (Mohammed Gamal) [1886096] - [hv] driver: hv: util: Use VMBUS_RING_SIZE() for ringbuffer sizes (Mohammed Gamal) [1886096] - [kernel] hv: vmbus: Move virt_to_hvpfn() to hyperv header (Mohammed Gamal) [1886096] - [hv] hv: Use HV_HYP_PAGE in hv_synic_enable_regs() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Introduce types of GPADL (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Move __vmbus_open() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Always use HV_HYP_PAGE_SIZE for gpadl (Mohammed Gamal) [1886096] - [hv] hv: remove cast from hyperv_die_event (Mohammed Gamal) [1886096] - [hv] hv: Change flag to write log level in panic msg to false (Mohammed Gamal) [1886096] - [kernel] hv: vmbus: Remove the lock field from the vmbus_channel struct (Mohammed Gamal) [1886096] - [scsi] storvsc: Introduce the per-storvsc_device spinlock (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Remove unnecessary channel->lock critical sections (sc_list updaters) (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Use channel_mutex in channel_vp_mapping_show() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Remove unnecessary channel->lock critical sections (sc_list readers) (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Replace cpumask_test_cpu(, cpu_online_mask) with cpu_online() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Remove the numa_node field from the vmbus_channel struct (Mohammed Gamal) [1886096] - [kernel] hv: vmbus: Remove the target_vp field from the vmbus_channel struct (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Resolve more races involving init_vp_index() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Resolve race between init_vp_index() and CPU hotplug (Mohammed Gamal) [1886096] - [hv] driver: hv: vmbus: drop a no long applicable comment (Mohammed Gamal) [1886096] - [hv] hyper-v: Replace open-coded variant of *phN specifier (Mohammed Gamal) [1886096] - [hv] hyper-v: Supply GUID pointer to printf() like functions (Mohammed Gamal) [1886096] - [hv] hyper-v: Use UUID API for exporting the GUID (part 2) (Mohammed Gamal) [1886096] - [hv] hv: remove redundant assignment to pointer primary_channel (Mohammed Gamal) [1886096] - [scsi] storvsc: Re-init stor_chns when a channel interrupt is re-assigned (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Introduce the CHANNELMSG_MODIFYCHANNEL message type (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Synchronize init_vp_index() vs. CPU hotplug (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Remove the unused HV_LOCALIZED channel affinity logic (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Use a spin lock for synchronizing channel scheduling vs. channel removal (Mohammed Gamal) [1886096] - [hv] hv_utils: Always execute the fcopy and vss callbacks in a tasklet (Mohammed Gamal) [1886096] - [netdrv] hv_netvsc: Disable NAPI before closing the VMBus channel (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Replace the per-CPU channel lists with a global array of channels (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Don't bind the offer&rescind works to a specific CPU (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Always handle the VMBus messages on CPU0 (Mohammed Gamal) [1886096] - [hv] hv: check VMBus messages lengths (Mohammed Gamal) [1886096] - [hv] hv: make sure that 'struct vmbus_channel_message_header' compiles correctly (Mohammed Gamal) [1886096] - [hv] hv: avoid passing opaque pointer to vmbus_onmessage() (Mohammed Gamal) [1886096] - [hv] hv: allocate the exact needed memory for messages (Mohammed Gamal) [1886096] - [hv] hv: copy from message page only what's needed (Mohammed Gamal) [1886096] - [x86] hyperv: Clarify comment on x2apic mode (Mohammed Gamal) [1886099] - [x86] hyperv: report value of misc_features (Mohammed Gamal) [1886099] - [x86] hyperv: Make hv_setup_sched_clock inline (Mohammed Gamal) [1886099] - [net] ipv6: reply ICMP error if the first fragment don't include all headers (Hangbin Liu) [1874734] - [net] icmpv6: Add ICMPv6 Parameter Problem, code 3 definition (Hangbin Liu) [1874734] - [powerpc] powerpc/process: Add missing include of stacktrace.h (Desnes Augusto Nunes do Rosario) [1883975] - [powerpc] powerpc/test_emulate_sstep: Fix build error (Desnes Augusto Nunes do Rosario) [1883975] - [nvdimm] powerpc/pmem: Initialize pmem device on newer hardware (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Avoid the barrier in flush routines (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Update ppc64 to use the new barrier instruction (Desnes Augusto Nunes do Rosario) [1878632] - [md] libnvdimm/nvdimm/flush: Allow architecture to override the flush barrier (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Add flush routines using new pmem store and sync instruction (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Add new instructions for persistent storage and sync (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Restrict papr_scm to P8 and above (Desnes Augusto Nunes do Rosario) [1878632] - [i2c] i2c: ismt: Add support for Intel Emmitsburg PCH (David Arcari) [1886162] - [include] timer: add fsleep for flexible sleeping (Josef Oskera) [1892674] - [scsi] qla2xxx: Update driver version to 10.02.00.103-k (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Return EBUSY on fcport deletion (Nilesh Javali) [1887427] - [trace] scsi: qla2xxx: Suppress two recently introduced compiler warnings (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix return of uninitialized value in rval (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Convert to DEFINE_SHOW_ATTRIBUTE (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Initialize variable in qla8044_poll_reg() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Do not consume srb greedily (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use constant when it is known (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix inconsistent format argument type in qla_dbg.c (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix inconsistent format argument type in qla_os.c (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix inconsistent format argument type in tcm_qla2xxx.c (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix point-to-point (N2N) device discovery issue (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix crash on session cleanup with unload (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix reset of MPI firmware (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix MPI reset needed message (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix buffer-buffer credit extraction error (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Correct the check for sscanf() return value (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add SLER and PI control support (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add IOCB resource tracking (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add rport fields in debugfs (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make tgt_port_database available in initiator mode (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix I/O errors during LIP reset tests (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Performance tweak (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix memory size truncation (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Reduce duplicate code in reporting speed (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Honor status qualifier in FCP_RSP per spec (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Allow dev_loss_tmo setting for FC-NVMe devices (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Setup debugfs entries for remote ports (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix I/O failures during remote port toggle testing (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove unneeded variable 'rval' (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Handle incorrect entry_type entries (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Log calling function name in qla2x00_get_sp_from_handle() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Simplify return value logic in qla2x00_get_sp_from_handle() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Warn if done() or free() are called on an already freed srb (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix the return value (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix wrong return value in qla_nvme_register_hba() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix wrong return value in qlt_chk_unresolv_exchg() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove redundant variable initialization (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix the size used in a 'dma_free_coherent()' call (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove pci-dma-compat wrapper API (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove superfluous memset() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix regression on sparc64 (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use MBX_TOV_SECONDS for mailbox command timeout values (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Address a set of sparse warnings (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: SAN congestion management implementation (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Change in PUREX to handle FPIN ELS requests (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Introduce a function for computing the debug message prefix (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make qla2x00_restart_isp() easier to read (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix a Coverity complaint in qla2100_fw_dump() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make __qla2x00_alloc_iocbs() initialize 32 bits of request_t.handle (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove a superfluous cast (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Initialize 'n' before using it (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make qla82xx_flash_wait_write_finish() easier to read (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove the __packed annotation from struct fcp_hdr and fcp_hdr_le (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Check the size of struct fcp_hdr at compile time (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix a condition in qla2x00_find_all_fabric_devs() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Set NVMe status code for failed NVMe FCP request (Nilesh Javali) [1887427] - [scsi] scsi: Fix trivial spelling (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove return value from qla_nvme_ls() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove an unused function (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix endianness annotations in source files (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix endianness annotations in header files (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use make_handle() instead of open-coding it (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Cast explicitly to uint16_t / uint32_t (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Change {RD, WRT}_REG_*() function names from upper case into lower case (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix the code that reads from mailbox registers (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use register names instead of register offsets (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Change two hardcoded constants into offsetof() / sizeof() expressions (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Increase the size of struct qla_fcp_prio_cfg to FCP_PRIO_CFG_SIZE (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make a gap in struct qla2xxx_offld_chain explicit (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add more BUILD_BUG_ON() statements (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Sort BUILD_BUG_ON() statements alphabetically (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Simplify the functions for dumping firmware (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix spelling of a variable name (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Do not log message when reading port speed via sysfs (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make qlafx00_process_aen() return void (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use true, false for ha->fw_dumped (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use true, false for need_mpi_reset (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make qla_set_ini_mode() return void (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix issue with adapter's stopping state (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix failure message in qlt_disable_vha() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix warning after FC target reset (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: check UNLOADING before posting async work (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: set UNLOADING before waiting for session deletion (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use ARRAY_SIZE() instead of open-coding it (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Split qla2x00_configure_local_loop() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix regression warnings (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove non functional code (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: add ring buffer for tracing debug logs (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix RDP respond data format (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: fix FW resource count values (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Improved secure flash support messages (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use FC generic update firmware options routine for ISP27xx (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Avoid setting firmware options twice in 24xx_update_fw_options (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Convert MAKE_HANDLE() from a define into an inline function (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix sparse warnings triggered by the PCI state checking code (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Suppress endianness complaints in qla2x00_configure_local_loop() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Simplify the code for aborting SCSI commands (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix sparse warning reported by kbuild bot (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Print portname for logging in qla24xx_logio_entry() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix qla2x00_echo_test() based on ISP type (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Correction to selection of loopback/echo test (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix RDP response size (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Handle cases for limiting RDP response payload length (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add deferred queue for processing ABTS and RDP (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Cleanup ELS/PUREX iocb fields (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Show correct port speed capabilities for RDP command (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Display message for FCE enabled (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add vendor extended FDMI commands (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add ql2xrdpenable module parameter for RDP (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add vendor extended RDP additions and amendments (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add changes in preparation for vendor extended FDMI/RDP (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix gnl.l memory leak on adapter init failure (Nilesh Javali) [1887427]- [kernel] PM: hibernate: Batch hibernate and resume IO requests (Lenny Szubowicz) [1868096] - [net] tunnels: Fix off-by-one in lower MTU bounds for ICMP/ICMPv6 replies (Antoine Tenart) [1895765] - [block] block: mark flush request as IDLE when it is really finished (Ming Lei) [1895913] - [net] vsock: forward all packets to the host when no H2G is registered (Vitaly Kuznetsov) [1893826] - [maintainers] maintainers: Add entry for the Nitro Enclaves driver (Vitaly Kuznetsov) [1893826] - [documentation] nitro_enclaves: Add overview documentation (Vitaly Kuznetsov) [1893826] - [samples] nitro_enclaves: Add sample for ioctl interface usage (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add Makefile for the Nitro Enclaves driver (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add Kconfig for the Nitro Enclaves driver (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for terminating an enclave (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for starting an enclave (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for setting an enclave memory region (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for getting the enclave image load info (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for setting an enclave vCPU (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for creating an enclave VM (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Init misc device providing the ioctl interface (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Handle out-of-band PCI device events (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Handle PCI device command requests (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Init PCI device driver (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Define enclave info for internal bookkeeping (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Define the PCI device interface (Vitaly Kuznetsov) [1893826] - [uapi] nitro_enclaves: Add ioctl interface definition (Vitaly Kuznetsov) [1893826] - [kernel] cpu/hotplug: Add new {add, remove}_cpu() functions (Vitaly Kuznetsov) [1893826] - [x86] x86/delay: Introduce TPAUSE delay (Prarit Bhargava) [1838636] - [x86] x86/delay: Refactor delay_mwaitx() for TPAUSE support (Prarit Bhargava) [1838636] - [x86] x86/delay: Preparatory code cleanup (Prarit Bhargava) [1838636] - [net] netfilter: ipset: Update byte and packet counters regardless of whether they match (Phil Sutter) [1806882] - [net] ethtool: add and use message type for tunnel info reply (Ivan Vecera) [1867211] - [infiniband] RDMA/hns: Mark hns_roce driver as unsupported (Kamal Heib) [1878211] - [net] tipc: fix memory leak caused by tipc_buf_append() (Xin Long) [1865774] - [net] tipc: fix the skb_unshare() in tipc_buf_append() (Xin Long) [1865774] - [net] tipc: use skb_unshare() instead in tipc_buf_append() (Xin Long) [1865774] - [netdrv] net: team: fix memory leak in __team_options_register (Hangbin Liu) [1892142] - [netdrv] team: set dev->needed_headroom in team_setup_by_port() (Hangbin Liu) [1892142] - [netdrv] team: use netif_is_team_port() (Hangbin Liu) [1892142] - [char] random: decouple random and urandom extrng fops (Vladis Dronov) [1890711] - [platform] platform/x86: intel_pmc_core: Add Intel RocketLake (RKL) support (Steve Best) [1782713] - [netdrv] fm10k: convert to new udp_tunnel_nic infra (Vladis Dronov) [1884254] - [netdrv] ethernet/intel: Convert fallthrough code comments (Vladis Dronov) [1884254] - [netdrv] docs: networking: reorganize driver documentation again (Vladis Dronov) [1884254] - [netdrv] net/intel: remove driver versions from Intel drivers (Vladis Dronov) [1884254] - [infiniband] RDMA/core: Fix ordering of CQ pool destruction (Kamal Heib) [1878969 1857603] - [infiniband] IB/isert: Fix unaligned immediate-data handling (Kamal Heib) [1857603] - [infiniband] RDMA/core: Fix reported speed and width (Kamal Heib) [1857603] - [infiniband] RDMA/core: Fix unsafe linked list traversal after failing to allocate CQ (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Fix panic when calling kmem_cache_create() (Kamal Heib) [1867296 1857603] - [infiniband] RDMA/rxe: Fix memleak in rxe_mem_init_user (Kamal Heib) [1857603] - [net] xprtrdma: Release in-flight MRs on disconnect (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars (Kamal Heib) [1870430 1857603] - [infiniband] RDMA/hfi1: Correct an interlock issue for TID RDMA WRITE request (Kamal Heib) [1870281 1857603] - [infiniband] RDMA/core: Fix spelling mistake "Could't" -> "Couldn't" (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Remove pkey table (Kamal Heib) [1857603] - [infiniband] RDMA/umem: Add a schedule point in ib_umem_get() (Kamal Heib) [1857603] - [infiniband] RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP (Kamal Heib) [1857603] - [rdma] RDMA/include: Replace license text with SPDX tags (Kamal Heib) [1857603] - [infiniband] RDMA/cma: Execute rdma_cm destruction from a handler properly (Kamal Heib) [1857603] - [infiniband] RDMA/cma: Remove unneeded locking for req paths (Kamal Heib) [1857603] - [infiniband] RDMA/cma: Using the standard locking pattern when delivering the removal event (Kamal Heib) [1857603] - [infiniband] RDMA/cma: Simplify DEVICE_REMOVAL for internal_id (Kamal Heib) [1857603] - [infiniband] RDMA/efa: Add EFA 0xefa1 PCI ID (Kamal Heib) [1857603] - [infiniband] RDMA/efa: User/kernel compatibility handshake mechanism (Kamal Heib) [1857603] - [infiniband] RDMA/efa: Expose minimum SQ size (Kamal Heib) [1857603] - [infiniband] RDMA/efa: Expose maximum TX doorbell batch (Kamal Heib) [1857603] - [infiniband] IB/srpt: use new shared CQ mechanism (Kamal Heib) [1857603] - [infiniband] IB/isert: use new shared CQ mechanism (Kamal Heib) [1857603] - [infiniband] IB/iser: use new shared CQ mechanism (Kamal Heib) [1857603] - [infiniband] RDMA/core: Fix return error value in _ib_modify_qp() to negative (Kamal Heib) [1857603] - [infiniband] RDMA/uverbs: Silence shiftTooManyBitsSigned warning (Kamal Heib) [1857603] - [infiniband] RDMA/core: Update write interface to use automatic object lifetime (Kamal Heib) [1857603] - [infiniband] RDMA/core: Align abort/commit object scheme for write() and ioctl() paths (Kamal Heib) [1857603] - [uapi] RDMA: rdma_user_ioctl.h: fix a duplicated word + clarify (Kamal Heib) [1857603] - [infiniband] RDMA/qedr: Remove the query_pkey callback (Kamal Heib) [1857603] - [infiniband] RDMA/i40iw: Remove the query_pkey callback (Kamal Heib) [1857603] - [infiniband] RDMA/cxgb4: Remove the query_pkey callback (Kamal Heib) [1857603] - [infiniband] RDMA/siw: Remove the query_pkey callback (Kamal Heib) [1857603] - [infiniband] RDMA/core: Remove query_pkey from the mandatory ops (Kamal Heib) [1857603] - [infiniband] RDMA/core: Allocate the pkey cache only if the pkey_tbl_len is set (Kamal Heib) [1857603] - [infiniband] RDMA/core: Expose pkeys sysfs files only if pkey_tbl_len is set (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Prevent access to wr->next ptr afrer wr is posted to send queue (Kamal Heib) [1857603] - [infiniband] IB/hfi1: Remove unnecessary fall-through markings (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Remove rxe_link_layer() (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Return void from rxe_mem_init_dma() (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Return void from rxe_init_port_param() (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Drop pointless checks in rxe_init_ports (Kamal Heib) [1857603] - [infiniband] RDMA/counter: Allow manually bind QPs with different pids to same counter (Kamal Heib) [1857603] - [infiniband] RDMA/counter: Only bind user QPs in auto mode (Kamal Heib) [1857603] - [infiniband] RDMA/counter: Add PID category support in auto mode (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Skip dgid check in loopback mode (Kamal Heib) [1857603] - [infiniband] RDMA/core: Create and destroy counters in the ib_core (Kamal Heib) [1857603] - [infiniband] IB/uverbs: Expose UAPI to query MR (Kamal Heib) [1857603] - [infiniband] IB/uverbs: Expose UAPI to query ucontext (Kamal Heib) [1857603] - [infiniband] IB/uverbs: Set IOVA on IB MR in uverbs layer (Kamal Heib) [1857603] - [infiniband] IB/uverbs: Enable CQ ioctl commands by default (Kamal Heib) [1857603] - [infiniband] RDMA/core: Clean ib_alloc_xrcd() and reuse it to allocate XRC domain (Kamal Heib) [1857603] - [infiniband] RDMA: Remove the udata parameter from alloc_mr callback (Kamal Heib) [1857603] - [infiniband] RDMA/core: Remove ib_alloc_mr_user function (Kamal Heib) [1857603] - [infiniband] RDMA/core: Check for error instead of success in alloc MR function (Kamal Heib) [1857603] - [infiniband] RDMA/core: Clean up tracepoint headers (Kamal Heib) [1857603] - [infiniband] RDMA/ipoib: Handle user-supplied address when creating child (Kamal Heib) [1857603] - [infiniband] RDMA/core: Fix bogus WARN_ON during ib_unregister_device_queued() (Kamal Heib) [1857603] - [infiniband] IB/hfi1: Convert PCIBIOS_* errors to generic -E* errors (Kamal Heib) [1857603] - [infiniband] RDMA/core: Delete not-used create RWQ table function (Kamal Heib) [1857603] - [infiniband] IB/mad: Delete RMPP_STATE_CANCELING state (Kamal Heib) [1857603] - [infiniband] IB/mad: Change atomics to refcount API (Kamal Heib) [1857603] - [infiniband] IB/mad: Issue complete whenever decrements agent refcount (Kamal Heib) [1857603] - [infiniband] RDMA: Add support to dump resource tracker in RAW format (Kamal Heib) [1857603] - [infiniband] RDMA: Add dedicated CM_ID resource tracker function (Kamal Heib) [1857603] - [infiniband] RDMA: Add dedicated QP resource tracker function (Kamal Heib) [1857603] - [infiniband] RDMA: Add a dedicated CQ resource tracker function (Kamal Heib) [1857603] - [infiniband] RDMA: Add dedicated MR resource tracker function (Kamal Heib) [1857603] - [infiniband] RDMA/core: Don't call fill_res_entry for PD (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Remove unused rxe_mem_map_pages (Kamal Heib) [1857603] - [infiniband] RDMA/hfi1: Remove hfi1_create_qp declaration (Kamal Heib) [1857603] - [infiniband] RDMA/ipoib: Return void from ipoib_mcast_stop_thread() (Kamal Heib) [1857603] - [infiniband] RDMA: Correct trivial kernel-doc inconsistencies (Kamal Heib) [1857603] - [infiniband] IB/srpt: Remove WARN_ON from srpt_cm_req_recv (Kamal Heib) [1857603] - [tools] tools/power turbostat: Support additional CPU model numbers (Steve Best) [1782718] - [net] udp_tunnel: add the ability to hard-code IANA VXLAN (Ivan Vecera) [1879204] - [tools] selftests: net: add a test for UDP tunnel info infra (Ivan Vecera) [1867211] - [netdrv] netdevsim: add UDP tunnel port offload support (Ivan Vecera) [1867211] - [net] ethtool: add tunnel info interface (Ivan Vecera) [1867211] - [net] ethtool: Make helpers public (Ivan Vecera) [1867211] - [net] udp_tunnel: add central NIC RX port offload infrastructure (Ivan Vecera) [1867211] - [net] udp_tunnel: re-number the offload tunnel types (Ivan Vecera) [1867211] - [fs] debugfs: make sure we can remove u32_array files cleanly (Ivan Vecera) [1867211] - [fs] debugfs: make debugfs_create_u32_array() return void (Ivan Vecera) [1867211] - [fs] debugfs: update documented return values of debugfs helpers (Ivan Vecera) [1867211]- [net] openvswitch: fix to make sure flow_lookup() is not preempted (Eelco Chaudron) [1888237] - [netdrv] powerpc/vnic: Extend "failover pending" window (Steve Best) [1897280] - [net] ipv6: Set SIT tunnel hard_header_len to zero (Davide Caratti) [1897244] - [net] ip_tunnel: fix over-mtu packet send fail without TUNNEL_DONT_FRAGMENT flags (Davide Caratti) [1897244] - [net] gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY (Davide Caratti) [1897244] - [netdrv] vxlan: fix memleak of fdb (Davide Caratti) [1897244] - [net] vxlan: Ensure FDB dump is performed under RCU (Davide Caratti) [1897244] - [net] gre: refetch erspan header from skb->data after pskb_may_pull() (Davide Caratti) [1897244] - [net] erspan: fix the tun_info options_len check for erspan (Davide Caratti) [1897244] - [net] ip_gre: fix possible use-after-free in erspan_rcv (Davide Caratti) [1897244] - [net] erspan: fix error handling for erspan tunnel (Davide Caratti) [1897244] - [net] erspan: return PACKET_REJECT when the appropriate tunnel is not found (Davide Caratti) [1897244] - [netdrv] net: atlantic: fix build when object tree is separate (Igor Russkikh) [1857861] - [netdrv] net: atlantic: Use readx_poll_timeout() for large timeout (Igor Russkikh) [1857861] - [netdrv] net: ethernet: aquantia: Fix wrong return value (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix PTP on AQC10X (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add hwmon getter for MAC temperature (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A0 ntuple filters (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use intermediate variable to improve readability a bit (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use U32_MAX in aq_hw_utils.c (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add support for 64-bit reads/writes (Igor Russkikh) [1857861] - [netdrv] net: atlantic: enable ipv6 support for TCP LSO and UDP GSO (Igor Russkikh) [1857861] - [netdrv] net: atlantic: PTP statistics (Igor Russkikh) [1857861] - [netdrv] net: atlantic: additional per-queue stats (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use u64_stats_update_* to protect access to 64-bit stats (Igor Russkikh) [1857861] - [netdrv] net: atlantic: split rx and tx per-queue stats (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make _get_sw_stats return count as return value (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use simple assignment in _get_stats and _get_sw_stats (Igor Russkikh) [1857861] - [netdrv] net: atlantic: move FRAC_PER_NS to aq_hw.h (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add support for FW 4.x (Igor Russkikh) [1857861] - [netdrv] net: atlantic: align return value of ver_match function with function name (Igor Russkikh) [1857861] - [netdrv] net: atlantic: disable PTP on AQC111, AQC112 (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix ip dst and ipv6 address filters (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix aq_ndev_start_xmit()'s return type (Igor Russkikh) [1857861] - [netdrv] net: atlantic: put ptp code under IS_REACHABLE check (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add alignment checks in hw_atl2_utils_fw.c (Igor Russkikh) [1857861] - [netdrv] net: atlantic: missing space in a comment in aq_nic.h (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix typo in aq_ring_tx_clean (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make aq_pci_func_init static (Igor Russkikh) [1857861] - [netdrv] net: atlantic: Replace ENOTSUPP usage to EOPNOTSUPP (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix variable type in aq_ethtool_get_pauseparam (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: phy loopback support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: report link partner capabilities (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: flow control support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: EEE support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove baseX usage (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: half duplex support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: proper rss_ctrl1 (54c0) initialization (Igor Russkikh) [1857861] - [netdrv] net: atlantic: QoS implementation: min_rate (Igor Russkikh) [1857861] - [netdrv] net: atlantic: change the order of arguments for TC weight/credit setters (Igor Russkikh) [1857861] - [netdrv] net: atlantic: always use random TC-queue mapping for TX on A2 (Igor Russkikh) [1857861] - [netdrv] net: atlantic: automatically downgrade the number of queues if necessary (Igor Russkikh) [1857861] - [netdrv] net: atlantic: QoS implementation: max_rate (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make TCVEC2RING accept nic_cfg (Igor Russkikh) [1857861] - [netdrv] net: atlantic: per-TC queue statistics (Igor Russkikh) [1857861] - [netdrv] net: atlantic: QoS implementation: multi-TC support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: changes for multi-TC support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: move PTP TC initialization to a separate function (Igor Russkikh) [1857861] - [netdrv] net: atlantic: changes for multi-TC support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: unify MAC generation (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove check for boot code survivability before reset request (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove hw_atl_b0_hw_rss_set call from A2 code (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove TPO2 check from A0 code (Igor Russkikh) [1857861] - [netdrv] net: atlantic: rename AQ_NIC_RATE_2GS to AQ_NIC_RATE_2G5 (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use __packed instead of the full expansion (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2 ingress / egress hw configuration (Igor Russkikh) [1857861] - [netdrv] net: atlantic: basic A2 init/deinit hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: common functions needed for basic A2 init/deinit hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: HW bindings for basic A2 init/deinit hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add A2 RPF hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: HW bindings for A2 RFP (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2 hw_ops skeleton (Igor Russkikh) [1857861] - [netdrv] net: atlantic: minimal A2 fw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: minimal A2 HW bindings required for fw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2 driver-firmware interface (Igor Russkikh) [1857861] - [netdrv] net: atlantic: move IS_CHIP_FEATURE to aq_hw.h (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make hw_get_regs optional (Igor Russkikh) [1857861] - [netdrv] net: atlantic: simplify hw_get_fw_version() usage (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add hw_soft_reset, hw_prepare to hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add defines for 10M and EEE 100M link mode (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add A2 device IDs (Igor Russkikh) [1857861] - [netdrv] net: atlantic: update company name in the driver description (Igor Russkikh) [1857861] - [netdrv] aquantia: Fix the media type of AQC100 ethernet controller in the driver (Igor Russkikh) [1857861] - [netdrv] net: atlantic: MACSec offload statistics implementation (Igor Russkikh) [1857861] - [netdrv] net: aquantia: reject all unsupported coalescing params (Igor Russkikh) [1857861] - [netdrv] net: atlantic: Replace zero-length array with flexible-array member (Igor Russkikh) [1857861] - [netdrv] net/aquantia: Delete module version (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix out of range usage of active_vlans array (Igor Russkikh) [1857861] - [netdrv] net: atlantic: possible fault in transition to hibernation (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix potential error handling (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix use after free kasan warn (Igor Russkikh) [1857861] - [netdrv] net: atlantic: better loopback mode handling (Igor Russkikh) [1857861] - [netdrv] net: atlantic: ptp gpio adjustments (Igor Russkikh) [1857861] - [netdrv] net: atlantic: check rpc result and wait for rpc address (Igor Russkikh) [1857861] - [netdrv] net: atlantic: checksum compat issue (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove duplicate entries (Igor Russkikh) [1857861] - [netdrv] net: atlantic: loopback configuration in improper place (Igor Russkikh) [1857861] - [netdrv] net: atlantic: broken link status on old fw (Igor Russkikh) [1857861] - [netdrv] net: atlantic: Signedness bug in aq_vec_isr_legacy() (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make function 'aq_ethtool_get_priv_flags', 'aq_ethtool_set_priv_flags' static (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make symbol 'aq_pm_ops' static (Igor Russkikh) [1857861] - [netdrv] net: atlantic: change email domains to Marvell (Igor Russkikh) [1857861] - [netdrv] net: atlantic: implement UDP GSO offload (Igor Russkikh) [1857861] - [netdrv] net: atlantic: update flow control logic (Igor Russkikh) [1857861] - [netdrv] net: atlantic: stylistic renames (Igor Russkikh) [1857861] - [netdrv] net: atlantic: code style cleanup (Igor Russkikh) [1857861] - [netdrv] net: atlantic: loopback tests via private flags (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add fw configuration memory area (Igor Russkikh) [1857861] - [netdrv] net: atlantic: adding ethtool physical identification (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add msglevel configuration (Igor Russkikh) [1857861] - [netdrv] net: atlantic: refactoring pm logic (Igor Russkikh) [1857861] - [netdrv] net: atlantic: implement wake_phy feature (Igor Russkikh) [1857861] - [netdrv] net: atlantic: update firmware interface (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix return value check in aq_ptp_init() (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix error handling in aq_ptp_poll (Igor Russkikh) [1857861] - [netdrv] net: aquantia: remove unused including (Igor Russkikh) [1857861] - [netdrv] net: aquantia: make two symbols be static (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix unintention integer overflow on left shift (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix spelling mistake: tx_queus -> tx_queues (Igor Russkikh) [1857861] - [netdrv] net: aquantia: disable ptp object build if no config (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix warnings on endianness (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix var initialization warning (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add support for PIN funcs (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add support for Phy access (Igor Russkikh) [1857861] - [netdrv] net: aquantia: implement get_ts_info ethtool (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add support for ptp ioctls (Igor Russkikh) [1857861] - [netdrv] net: aquantia: rx filters for ptp (Igor Russkikh) [1857861] - [netdrv] net: aquantia: implement data PTP datapath (Igor Russkikh) [1857861] - [netdrv] net: aquantia: styling fixes on ptp related functions (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add PTP rings infrastructure (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add basic ptp_clock callbacks (Igor Russkikh) [1857861] - [netdrv] net: aquantia: unify styling of bit enums (Igor Russkikh) [1857861] - [netdrv] net: aquantia: PTP skeleton declarations and callbacks (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add an error handling in aq_nic_set_multicast_list (Igor Russkikh) [1857861] - [netdrv] net: aquantia: correctly handle macvlan and multicast coexistence (Igor Russkikh) [1857861] - [netdrv] net: aquantia: do not pass lro session with invalid tcp checksum (Igor Russkikh) [1857861] - [netdrv] net: aquantia: when cleaning hw cache it should be toggled (Igor Russkikh) [1857861] - [netdrv] net: aquantia: temperature retrieval fix (Igor Russkikh) [1857861] - [netdrv] net: aquantia: Fix aq_vec_isr_legacy() return value (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix out of memory condition on rx side (Igor Russkikh) [1857861] - [netdrv] net: aquantia: linkstate irq should be oneshot (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix limit of vlan filters (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix removal of vlan 0 (Igor Russkikh) [1857861] - [netdrv] net: aquantia: implement vlan offload configuration (Igor Russkikh) [1857861] - [netdrv] net: aquantia: vlan offloads logic in datapath (Igor Russkikh) [1857861] - [netdrv] net: aquantia: adding fields and device features for vlan offload (Igor Russkikh) [1857861] - [netdrv] net: aquantia: added vlan offload related macros and functions (Igor Russkikh) [1857861] - [netdrv] net: aquantia: make all files GPL-2.0-only (Igor Russkikh) [1857861] - [netdrv] net: aquantia: replace internal driver version code with uts (Igor Russkikh) [1857861] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 (Igor Russkikh) [1857861] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 308 (Igor Russkikh) [1857861] - [include] net: phy: introduce phy_read_mmd_poll_timeout macro (Josef Oskera) [1892739] - [include] net: phy: introduce phy_read_poll_timeout macro (Josef Oskera) [1892739] - [netdrv] phy: add device-managed devm_mdiobus_register (Josef Oskera) [1892740] - [include] net: add helper eth_hw_addr_crc (Josef Oskera) [1892738] - [netdrv] LiquidIO: mark liquidio and liquidio_vf as deprecated in RHEL8 (Stefan Assmann) [1878178] - [net] tcp: remove SOCK_QUEUE_SHRUNK (Paolo Abeni) [1890058] - [net] tcp: fix receive window update in tcp_add_backlog() (Paolo Abeni) [1890058] - [net] tcp: md5: allow changing MD5 keys in all socket states (Paolo Abeni) [1890058] - [net] tcp: fix SO_RCVLOWAT possible hangs under high mem pressure (Paolo Abeni) [1890058] - [net] tcp: md5: do not send silly options in SYNCOOKIES (Paolo Abeni) [1890058] - [net] tcp: grow window for OOO packets only for SACK flows (Paolo Abeni) [1890058] - [net] tcp: fix error recovery in tcp_zerocopy_receive() (Paolo Abeni) [1890058] - [net] tcp: fix SO_RCVLOWAT hangs with fat skbs (Paolo Abeni) [1890058] - [net] tcp: fix rx timestamp behavior for tcp_recvmsg (Paolo Abeni) [1890058] - [fs] smb3: smbdirect support can be configured by default (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Do not schedule work to send immediate packet on every receive (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Properly process errors on ib_post_send (Leif Sahlberg) [1887940] - [fs] cifs: Allocate crypto structures on the fly for calculating signatures of incoming packets (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Update receive credits before sending and deal with credits roll back on failure before sending (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Check send queue size before posting a send (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Merge code to track pending packets (Leif Sahlberg) [1887940] - [fs] cifs: Allocate encryption header through kmalloc (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Check and extend sender credits in interrupt context (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Calculate the correct maximum packet size for segmented SMBDirect send/receive (Leif Sahlberg) [1887940] - [net] core: device_rename: Use rwsem instead of a seqcount (Patrick Talbert) [1883310]- [tools] perf tools: Add bpf image check to __map__is_kmodule (Michael Petlan) [1873270] - [tools] perf tools: Add support for PERF_RECORD_KSYMBOL_TYPE_OOL (Michael Petlan) [1873270] - [tools] perf record: Don't clear event's period if set by a term (Michael Petlan) [1873270] - [tools] perf bench: The do_run_multi_threaded() function must use IS_ERR(perf_session__new()) (Michael Petlan) [1873270] - [tools] perf top: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set (Michael Petlan) [1873270] - [tools] perf record: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set (Michael Petlan) [1873270] - [tools] perf evsel: Don't set sample_regs_intr/sample_regs_user for dummy event (Michael Petlan) [1873270] - [tools] perf stat: Turn off summary for interval mode by default (Michael Petlan) [1873270] - [tools] perf trace: Fix off by ones in memset() after realloc() in arches using libaudit (Michael Petlan) [1873270] - [tools] perf top/report: Fix infinite loop in the TUI for grouped events (Michael Petlan) [1873270] - [tools] redhat: use local hashmap library in perf (Michael Petlan) [1873270] - [tools] libtraceevent: Fix build with binutils 2.35 (Michael Petlan) [1873270] - [tools] perf tools: Fix record failure when mixed with ARM SPE event (Michael Petlan) [1873270] - [tools] perf tests: Fix test 68 zstd compression for s390 (Michael Petlan) [1873270] - [tools] tools lib traceevent: Fix memory leak in process_dynamic_array_len (Michael Petlan) [1873270] - [tools] perf tools: Sync hashmap.h with libbpf's (Michael Petlan) [1873270] - [tools] libsubcmd: Fix OPT_CALLBACK_SET() (Michael Petlan) [1873270] - [tools] perf report TUI: Remove needless 'dummy' event from menu (Michael Petlan) [1873270] - [tools] perf intel-pt: Fix PEBS sample for XMM registers (Michael Petlan) [1873270] - [tools] perf intel-pt: Fix displaying PEBS-via-PT with registers (Michael Petlan) [1873270] - [tools] perf intel-pt: Fix recording PEBS-via-PT with registers (Michael Petlan) [1873270] - [tools] tools lib traceevent: Add proper KBUFFER_TYPE_TIME_STAMP handling (Michael Petlan) [1873270] - [tools] tools lib traceevent: Add API to read time information from kbuffer (Michael Petlan) [1873270] - [tools] perf scripts python: exported-sql-viewer.py: Fix time chart call tree (Michael Petlan) [1873270] - [tools] perf scripts python: exported-sql-viewer.py: Fix zero id in call tree 'Find' result (Michael Petlan) [1873270] - [tools] perf scripts python: exported-sql-viewer.py: Fix zero id in call graph 'Find' result (Michael Petlan) [1873270] - [tools] perf scripts python: exported-sql-viewer.py: Fix unexpanded 'Find' result (Michael Petlan) [1873270] - [tools] perf record: Fix duplicated sideband events with Intel PT system wide tracing (Michael Petlan) [1873270] - [tools] perf scripts python: export-to-postgresql.py: Fix struct.pack() int argument (Michael Petlan) [1873270] - [tools] perf build: Fix error message when asking for -fsanitize=address without required libraries (Michael Petlan) [1873270] - [tools] tools lib traceevent: Add handler for __builtin_expect() (Michael Petlan) [1873270] - [tools] tools lib traceevent: Handle __attribute__((user)) in field names (Michael Petlan) [1873270] - [tools] tools lib traceevent: Add append() function helper for appending strings (Michael Petlan) [1873270] - [tools] perf script: Initialize zstd_data (Michael Petlan) [1873270] - [tools] perf pmu: Remove unused declaration (Michael Petlan) [1873270] - [tools] perf parse-events: Fix an old style declaration (Michael Petlan) [1873270] - [tools] perf parse-events: Fix an incompatible pointer (Michael Petlan) [1873270] - [tools] perf bpf: Fix bpf prologue generation (Michael Petlan) [1873270] - [tools] perf probe: Fix user attribute access in kprobes (Michael Petlan) [1873270] - [tools] perf stat: Fix NULL pointer dereference (Michael Petlan) [1873270] - [tools] perf report: Fix NULL pointer dereference in hists__fprintf_nr_sample_events() (Michael Petlan) [1873270] - [tools] perf tools: Remove some duplicated includes (Michael Petlan) [1873270] - [tools] perf symbols: Fix kernel maps for kcore and eBPF (Michael Petlan) [1873270] - [tools] perf stat: Ensure group is defined on top of the same cpu mask (Michael Petlan) [1873270] - [tools] perf libdw: Fix off-by 1 relative directory includes (Michael Petlan) [1873270] - [tools] perf arm-spe: Support synthetic events (Michael Petlan) [1873270] - [tools] perf auxtrace: Add four itrace options (Michael Petlan) [1873270] - [tools] perf tools: Move arm-spe-pkt-decoder.h/c to the new dir (Michael Petlan) [1873270] - [tools] perf test: Initialize memory in dwarf-unwind (Michael Petlan) [1873270] - [tools] perf tests: Don't tail call optimize in unwind test (Michael Petlan) [1873270] - [tools] tools compiler.h: Add attribute to disable tail calls (Michael Petlan) [1873270] - [tools] perf build: Add a LIBPFM4=1 build test entry (Michael Petlan) [1873270] - [tools] perf tools: Add optional support for libpfm4 (Michael Petlan) [1873270] - [tools] perf tools: Correct license on jsmn JSON parser (Michael Petlan) [1873270] - [tools] perf jit: Fix inaccurate DWARF line table (Michael Petlan) [1873270] - [tools] perf jvmti: Remove redundant jitdump line table entries (Michael Petlan) [1873270] - [tools] perf build: Add NO_SDT=1 to the default set of build tests (Michael Petlan) [1873270] - [tools] perf build: Add NO_LIBCRYPTO=1 to the default set of build tests (Michael Petlan) [1873270] - [tools] perf build: Add NO_SYSCALL_TABLE=1 to the build tests (Michael Petlan) [1873270] - [tools] perf build: Remove libaudit from the default feature checks (Michael Petlan) [1873270] - [tools] perf trace: Grow the syscall table as needed when using libaudit (Michael Petlan) [1873270] - [tools] perf trace: Use zalloc() to make sure all fields are zeroed in the syscalltbl constructor (Michael Petlan) [1873270] - [tools] perf trace: Remove union from syscalltbl, all the fields are needed (Michael Petlan) [1873270] - [tools] perf build: Allow explicitely disabling the NO_SYSCALL_TABLE variable (Michael Petlan) [1873270] - [tools] perf build: Group the NO_SYSCALL_TABLE logic (Michael Petlan) [1873270] - [tools] perf intel-pt: Refine kernel decoding only warning message (Michael Petlan) [1873270] - [tools] perf record: Respect --no-switch-events (Michael Petlan) [1873270] - [tools] perf script: Fix --call-trace for Intel PT (Michael Petlan) [1873270] - [tools] perf evlist: Disable 'immediate' events last (Michael Petlan) [1873270] - [tools] perf kcore_copy: Fix module map when there are no modules loaded (Michael Petlan) [1873270] - [tools] perf jvmti: Fix demangling Java symbols (Michael Petlan) [1873270] - [tools] perf tests: Add test for the java demangler (Michael Petlan) [1873270] - [tools] perf jvmti: Do not report error when missing debug information (Michael Petlan) [1873270] - [tools] perf jvmti: Fix jitdump for methods without debug info (Michael Petlan) [1873270] - [tools] perf symbols: Fix debuginfo search for Ubuntu (Michael Petlan) [1873270] - [tools] perf parse: Add 'struct parse_events_state' pointer to scanner (Michael Petlan) [1873270] - [tools] perf stat: Do not pass avg to generic_metric (Michael Petlan) [1873270] - [tools] perf tests: Consider subtests when searching for user specified tests (Michael Petlan) [1873270] - [tools] perf list: Add metrics to command line usage (Michael Petlan) [1873270] - [tools] perf script: Don't force less for non tty output with --xed (Michael Petlan) [1873270] - [tools] perf metricgroup: Remove unnecessary ', ' from events (Michael Petlan) [1873270] - [tools] perf metricgroup: Add options to not group or merge (Michael Petlan) [1873270] - [tools] perf metricgroup: Remove duped metric group events (Michael Petlan) [1873270] - [tools] perf metricgroup: Order event groups by size (Michael Petlan) [1873270] - [tools] perf metricgroup: Delay events string creation (Michael Petlan) [1873270] - [tools] perf metricgroup: Use early return in add_metric (Michael Petlan) [1873270] - [tools] perf metricgroup: Always place duration_time last (Michael Petlan) [1873270] - [tools] perf metricgroup: Free metric_events on error (Michael Petlan) [1873270] - [tools] perf util: Fix potential SEGFAULT in put_tracepoints_path error path (Michael Petlan) [1873270] - [tools] perf util: Fix memory leak of prefix_if_not_in (Michael Petlan) [1873270] - [tools] perf ftrace: Detect workload failure (Michael Petlan) [1873270] - [tools] perf ftrace: Trace system wide if no target is given (Michael Petlan) [1873270] - [tools] perf branch: Replace zero-length array with flexible-array (Michael Petlan) [1873270] - [tools] perf config: Add stat.big-num support (Michael Petlan) [1873270] - [tools] perf bpf-loader: Add missing '*' for key_scan_pos (Michael Petlan) [1873270] - [tools] perf stat: Report summary for interval mode (Michael Petlan) [1873270] - [tools] perf stat: Save aggr value to first member of prev_raw_counts (Michael Petlan) [1873270] - [tools] perf stat: Copy counts from prev_raw_counts to evsel->counts (Michael Petlan) [1873270] - [tools] perf counts: Reset prev_raw_counts counts (Michael Petlan) [1873270] - [tools] perf stat: Fix wrong per-thread runtime stat for interval mode (Michael Petlan) [1873270] - [tools] perf expr: Allow numbers to be followed by a dot (Michael Petlan) [1873270] - [tools] perf metricgroup: Make 'evlist_used' variable a bitmap instead of array of bools (Michael Petlan) [1873270] - [tools] perf stat: Fail on extra comma while parsing events (Michael Petlan) [1873270] - [tools] perf script: Better align register values in dump (Michael Petlan) [1873270] - [tools] perf stat: POWER9 metrics: expand "ICT" acronym (Michael Petlan) [1873270] - [tools] perf tools: Replace zero-length array with flexible-array (Michael Petlan) [1873270] - [tools] perf intel-pt: Use allocated branch stack for PEBS sample (Michael Petlan) [1873270] - [tools] perf docs: Introduce security.txt file to document related issues (Michael Petlan) [1873270] - [tools] perf tool: Make perf tool aware of SELinux access control (Michael Petlan) [1873270] - [tools] perf docs: Extend CAP_SYS_ADMIN with CAP_PERFMON where needed (Michael Petlan) [1873270] - [tools] perf expr: Migrate expr ids table to a hashmap (Michael Petlan) [1873270] - [tools] perf tools: Grab a copy of libbpf's hashmap (Michael Petlan) [1873270] - [tools] perf stat: Fix duration_time value for higher intervals (Michael Petlan) [1873270] - [tools] perf trace: Fix compilation error for make NO_LIBBPF=1 DEBUG=1 (Michael Petlan) [1873270] - [tools] perf beauty: Allow the CC used in the arch errno names script to acccept CFLAGS (Michael Petlan) [1873270] - [tools] perf trace: Fix the selection for architectures to generate the errno name tables (Michael Petlan) [1873270] - [tools] perf test: Improve pmu event metric testing (Michael Petlan) [1873270] - [tools] perf test: Provide a subtest callback to ask for the reason for skipping a subtest (Michael Petlan) [1873270] - [tools] perf parse-events: Make add PMU verbose output clearer (Michael Petlan) [1873270] - [tools] perf expr: Fix memory leaks in metric bison (Michael Petlan) [1873270] - [tools] perf expr: Test parsing of floating point numbers (Michael Petlan) [1873270] - [tools] perf record: Use an eventfd to wakeup when done (Michael Petlan) [1873270] - [tools] tools feature: Rename HAVE_EVENTFD to HAVE_EVENTFD_SUPPORT (Michael Petlan) [1873270] - [tools] perf evsel: Initialize evsel->per_pkg_mask to NULL in evsel__init() (Michael Petlan) [1873270] - [tools] perf evsel: Fix 2 memory leaks (Michael Petlan) [1873270] - [tools] perf parse-events: Fix incorrect conversion of 'if () free()' to 'zfree()' (Michael Petlan) [1873270] - [tools] perf tools: Fix is_bpf_image function logic (Michael Petlan) [1873270] - [tools] perf c2c: Fix 'perf c2c record -e list' to show the default events used (Michael Petlan) [1873270] - [tools] perf record: Add dummy event during system wide synthesis (Michael Petlan) [1873270] - [tools] perf evsel: Dummy events never triggers, no need to ask for PERF_SAMPLE_BRANCH_STACK (Michael Petlan) [1873270] - [tools] perf parse-events: Use strcmp() to compare the PMU name (Michael Petlan) [1873270] - [tools] perf expr: Print a debug message for division by zero (Michael Petlan) [1873270] - [tools] perf expr: Debug lex if debugging yacc (Michael Petlan) [1873270] - [tools] perf expr: Parse numbers as doubles (Michael Petlan) [1873270] - [tools] perf expr: Increase max other (Michael Petlan) [1873270] - [tools] perf expr: Allow ',' to be an other token (Michael Petlan) [1873270] - [tools] perf metrics: Fix parse errors in skylake metrics (Michael Petlan) [1873270] - [tools] perf metrics: Fix parse errors in cascade lake metrics (Michael Petlan) [1873270] - [tools] perf expr: Allow for unlimited escaped characters in a symbol (Michael Petlan) [1873270] - [tools] perf script: Enable IP fields for callchains (Michael Petlan) [1873270] - [tools] perf callchain: Setup callchain properly in pipe mode (Michael Petlan) [1873270] - [tools] perf session: Try to read pipe data from file (Michael Petlan) [1873270] - [tools] perf tools: Do not seek in pipe fd during tracing data processing (Michael Petlan) [1873270] - [tools] perf tools: Do not display extra info when there is nothing to build (Michael Petlan) [1873270] - [tools] perf probe: Do not show the skipped events (Michael Petlan) [1873270] - [tools] perf probe: Check address correctness by map instead of _etext (Michael Petlan) [1873270] - [tools] perf probe: Fix to check blacklist address correctly (Michael Petlan) [1873270] - [tools] perf probe: Accept the instance number of kretprobe event (Michael Petlan) [1873270] - [tools] perf counts: Rename perf_evsel__*counts() to evsel__*counts() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__w_cache* to evsel__w_cache* (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__new*() to evsel__new*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename *perf_evsel__get_config_term() & friends to evsel__env() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__fprintf() to evsel__fprintf() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__resort*() to evsel__resort*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__object_config() to evsel__object_config() (Michael Petlan) [1873270] - [tools] perf cs-etm: Move definition of 'traceid_list' global variable from header file (Michael Petlan) [1873270] - [tools] libsymbols kallsyms: Move hex2u64 out of header (Michael Petlan) [1873270] - [tools] libsymbols kallsyms: Parse using io api (Michael Petlan) [1873270] - [tools] perf bench: Add kallsyms parsing (Michael Petlan) [1873270] - [tools] perf: cs-etm: Update to build with latest opencsd version (Michael Petlan) [1873270] - [tools] perf symbol: Fix kernel symbol address display (Michael Petlan) [1873270] - [tools] perf inject: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf annotate: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf trace: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf script: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf sched: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf lock: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf kmem: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf stat: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__store_ids() to evsel__store_id() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__env() to evsel__env() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__group_idx() to evsel__group_idx() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__fallback() to evsel__fallback() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__has*() to evsel__has*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__{prev, next}() to evsel__{prev, next}() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__parse_sample*() to evsel__parse_sample*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename *perf_evsel__read*() to *evsel__read() (Michael Petlan) [1873270] - [tools] perf evsel: Ditch perf_evsel__cmp(), not used for quite a while (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__is_*() to evsel__is*() (Michael Petlan) [1873270] - [tools] perf pmu: Add perf_pmu__find_by_type helper (Michael Petlan) [1873270] - [tools] tools feature: Add support for detecting libpfm4 (Michael Petlan) [1873270] - [tools] perf doc: Pass ASCIIDOC_EXTRA as an argument (Michael Petlan) [1873270] - [tools] perf mem2node: Avoid double free related to realloc (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__{str, int}val() and other tracepoint field metehods to to evsel__*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__open_per_*() to evsel__open_per_*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__*filter*() to evsel__*filter*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename *perf_evsel__*set_sample_*() to *evsel__*set_sample_*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__group_desc() to evsel__group_desc() (Michael Petlan) [1873270] - [tools] perf evsel: Rename *perf_evsel__*name() to *evsel__*name() (Michael Petlan) [1873270] - [tools] perf evsel: Rename __perf_evsel__sample_size() to __evsel__sample_size() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__calc_id_pos() to evsel__calc_id_pos() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__config*() to evsel__config*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__exit() to evsel__exit() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__is_aux_event() to evsel__is_aux_event() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__find_pmu() to evsel__find_pmu() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__compute_deltas() to evsel__compute_deltas() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__nr_cpus() to evsel__nr_cpus() (Michael Petlan) [1873270] - [tools] perf evsel: Rename 'struct perf_evsel__sb_cb_t' to 'struct evsel__sb_cb_t' (Michael Petlan) [1873270] - [tools] perf intel-pt: Update documentation about using /proc/kcore (Michael Petlan) [1873270] - [tools] perf intel-pt: Update documentation about itrace G and L options (Michael Petlan) [1873270] - [tools] perf intel-pt: Add support for synthesizing branch stacks for regular events (Michael Petlan) [1873270] - [tools] perf thread-stack: Add thread_stack__br_sample_late() (Michael Petlan) [1873270] - [tools] perf evsel: Add support for synthesized branch stack sample type (Michael Petlan) [1873270] - [tools] perf auxtrace: Add option to synthesize branch stack for regular events (Michael Petlan) [1873270] - [tools] perf intel-pt: Change branch stack support to use thread-stacks (Michael Petlan) [1873270] - [tools] perf intel-pt: Consolidate thread-stack use condition (Michael Petlan) [1873270] - [tools] perf thread-stack: Add branch stack support (Michael Petlan) [1873270] - [tools] perf tools: Simplify checking if SMT is active (Michael Petlan) [1873270] - [tools] perf tools: Fix reading new topology attribute "core_cpus" (Michael Petlan) [1873270] - [tools] libperf evlist: Fix a refcount leak (Michael Petlan) [1873270] - [tools] perf parse-events: Fix another memory leaks found on parse_events() (Michael Petlan) [1873270] - [tools] perf parse-events: Fix memory leaks found on parse_events (Michael Petlan) [1873270] - [tools] perf parse-events: Fix memory leaks found on parse_events (Michael Petlan) [1873270] - [tools] libperf: Add NULL pointer check for cpu_map iteration and NULL assignment for all_cpus (Michael Petlan) [1873270] - [tools] perf record: Move side band evlist setup to separate routine (Michael Petlan) [1873270] - [tools] perf record: Introduce --switch-output-event (Michael Petlan) [1873270] - [tools] libsubcmd: Introduce OPT_CALLBACK_SET() (Michael Petlan) [1873270] - [tools] perf evlist: Allow reusing the side band thread for more purposes (Michael Petlan) [1873270] - [tools] perf evlist: Move the sideband thread routines to separate object (Michael Petlan) [1873270] - [tools] perf parse-events: Add parse_events_option() variant that creates evlist (Michael Petlan) [1873270] - [tools] perf bpf: Decouple creating the evlist from adding the SB event (Michael Petlan) [1873270] - [tools] perf top: Move sb_evlist to 'struct perf_top' (Michael Petlan) [1873270] - [tools] perf record: Move sb_evlist to 'struct record' (Michael Petlan) [1873270] - [tools] perf tools: Move routines that probe for perf API features to separate file (Michael Petlan) [1873270] - [tools] perf vendor events power9: Add hv_24x7 socket/chip level metric events (Michael Petlan) [1873270] - [tools] perf tools: Enable Hz/hz prinitg for --metric-only option (Michael Petlan) [1873270] - [tools] perf tests expr: Added test for runtime param in metric expression (Michael Petlan) [1873270] - [tools] perf metricgroups: Enhance JSON/metric infrastructure to handle "?" (Michael Petlan) [1873270] - [tools] perf pmu: Fix function name in comment, its get_cpuid_str(), not get_cpustr() (Michael Petlan) [1873270] - [tools] perf report: Fix warning assignment of 0/1 to bool variable (Michael Petlan) [1873270] - [tools] perf tools: Remove unneeded semicolons (Michael Petlan) [1873270] - [tools] perf c2c: Remove unneeded semicolon (Michael Petlan) [1873270] - [tools] libtraceevent: Remove unneeded semicolon (Michael Petlan) [1873270] - [tools] perf script: Remove extraneous newline in perf_sample__fprintf_regs() (Michael Petlan) [1873270] - [tools] perf synthetic events: Remove use of sscanf from /proc reading (Michael Petlan) [1873270] - [tools] tools api: Add a lightweight buffered reading api (Michael Petlan) [1873270] - [tools] perf bench: Add a multi-threaded synthesize benchmark (Michael Petlan) [1873270] - [tools] perf record: Add num-synthesize-threads option (Michael Petlan) [1873270] - [tools] perf test session topology: Fix data path (Michael Petlan) [1873270] - [tools] perf stat: Improve runtime stat for interval mode (Michael Petlan) [1873270] - [tools] perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode (Michael Petlan) [1873270] - [tools] perf evlist: Remove duplicate headers (Michael Petlan) [1873270] - [tools] perf bench: Fix div-by-zero if runtime is zero (Michael Petlan) [1873270] - [tools] perf cgroup: Avoid needless closing of unopened fd (Michael Petlan) [1873270] - [tools] perf hist: Add fast path for duplicate entries check (Michael Petlan) [1873270] - [tools] perf c2c: Add option to enable the LBR stitching approach (Michael Petlan) [1873270] - [tools] perf top: Add option to enable the LBR stitching approach (Michael Petlan) [1873270] - [tools] perf script: Add option to enable the LBR stitching approach (Michael Petlan) [1873270] - [tools] perf report: Add option to enable the LBR stitching approach (Michael Petlan) [1873270] - [tools] perf callchain: Stitch LBR call stack (Michael Petlan) [1873270] - [tools] perf callchain: Save previous cursor nodes for LBR stitching approach (Michael Petlan) [1873270] - [tools] perf thread: Save previous sample for LBR stitching approach (Michael Petlan) [1873270] - [tools] perf thread: Add a knob for LBR stitch approach (Michael Petlan) [1873270] - [tools] perf machine: Factor out lbr_callchain_add_lbr_ip() (Michael Petlan) [1873270] - [tools] perf machine: Factor out lbr_callchain_add_kernel_ip() (Michael Petlan) [1873270] - [tools] perf machine: Refine the function for LBR call stack reconstruction (Michael Petlan) [1873270] - [tools] perf machine: Remove the indent in resolve_lbr_callchain_sample (Michael Petlan) [1873270] - [tools] perf header: Support CPU PMU capabilities (Michael Petlan) [1873270] - [tools] perf parser: Add support to specify rXXX event with pmu (Michael Petlan) [1873270] - [tools] perf doc: allow ASCIIDOC_EXTRA to be an argument (Michael Petlan) [1873270] - [tools] perf pmu: Add support for PMU capabilities (Michael Petlan) [1873270] - [tools] tools lib traceevent: Take care of return value of asprintf (Michael Petlan) [1873270] - [tools] perf stat: Force error in fallback on :k events (Michael Petlan) [1873270] - [tools] perf tools: Add support for leader-sampling with AUX area events (Michael Petlan) [1873270] - [tools] perf evlist: Allow multiple read formats (Michael Petlan) [1873270] - [tools] perf evsel: Rearrange perf_evsel__config_leader_sampling() (Michael Petlan) [1873270] - [tools] perf evlist: Move leader-sampling configuration (Michael Petlan) [1873270] - [tools] perf evsel: Move and globalize perf_evsel__find_pmu() and perf_evsel__is_aux_event() (Michael Petlan) [1873270] - [tools] perf intel-pt: Add support for synthesizing callchains for regular events (Michael Petlan) [1873270] - [tools] perf evsel: Add support for synthesized sample type (Michael Petlan) [1873270] - [tools] perf evsel: Be consistent when looking which evsel PERF_SAMPLE_ bits are set (Michael Petlan) [1873270] - [tools] perf thread-stack: Add thread_stack__sample_late() (Michael Petlan) [1873270] - [tools] perf auxtrace: Add an option to synthesize callchains for regular events (Michael Petlan) [1873270] - [tools] perf auxtrace: For reporting purposes, un-group AUX area event (Michael Petlan) [1873270] - [tools] perf s390-cpumsf: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf cs-etm: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf arm-spe: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf intel-bts: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf intel-pt: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf auxtrace: Add ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf metrictroup: Split the metricgroup__add_metric function (Michael Petlan) [1873270] - [tools] perf expr: Add expr_scanner_ctx object (Michael Petlan) [1873270] - [tools] perf expr: Add expr_ prefix for parse_ctx and parse_id (Michael Petlan) [1873270] - [tools] perf synthetic-events: save 4kb from 2 stack frames (Michael Petlan) [1873270] - [tools] tools api fs: Make xxx__mountpoint() more scalable (Michael Petlan) [1873270] - [tools] perf bench: Add event synthesis benchmark (Michael Petlan) [1873270] - [tools] perf script: Simplify auxiliary event printing functions (Michael Petlan) [1873270] - [tools] perf tools: Support CAP_PERFMON capability (Michael Petlan) [1873270] - [tools] perf annotate: Add basic support for bpf_image (Michael Petlan) [1873270] - [tools] perf machine: Set ksymbol dso as loaded on arrival (Michael Petlan) [1873270] - [tools] perf tools: Synthesize bpf_trampoline/dispatcher ksymbol event (Michael Petlan) [1873270] - [tools] perf stat: Honour --timeout for forked workloads (Michael Petlan) [1873270] - [powerpc] powerpc/watchpoint: Add hw_len wherever missing (Michael Petlan) [1873270] - [kernel] perf: Fix task_function_call() error handling (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Fix RAPL config variable bug (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Add AMD Fam17h RAPL support (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Make perf_probe_msr() more robust and flexible (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Flip logic on default events visibility (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Refactor to share the RAPL code between Intel and AMD CPUs (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Move RAPL support to common x86 code (Michael Petlan) [1873270] - [kernel] perf/core: Replace zero-length array with flexible-array (Michael Petlan) [1873270] - [x86] perf/x86: Replace zero-length array with flexible-array (Michael Petlan) [1873270] - [x86] perf/x86/intel: Add more available bits for OFFCORE_RESPONSE of Intel Tremont (Michael Petlan) [1873270] - [x86] perf/x86/intel/pt: Drop pointless NULL assignment (Michael Petlan) [1873270] - [kernel] perf: Add cond_resched() to task_function_call() (Michael Petlan) [1873270] - [powerpc] powerpc/perf: open access for CAP_PERFMON privileged process (Michael Petlan) [1873270] - [kernel] perf/core: open access to probes for CAP_PERFMON privileged process (Michael Petlan) [1873270] - [kernel] perf/core: Open access to the core for CAP_PERFMON privileged process (Michael Petlan) [1873270] - [include] perf/core: Fix !CONFIG_PERF_EVENTS build warnings and failures (Michael Petlan) [1873270] - [security] perf_event: Add support for LSM and SELinux checks (Michael Petlan) [1873270] - [powerpc] powerpc/perf/hv-24x7: Fix inconsistent output values incase multiple hv-24x7 events run (Michael Petlan) [1873270] - [powerpc] powerpc/hv-24x7: Add rtas call in hv-24x7 driver to get processor details (Michael Petlan) [1873270] - [powerpc] powerpc/hv-24x7: Add sysfs files inside hv-24x7 device to show processor details (Michael Petlan) [1873270] - [documentation] Documentation/ABI: Add ABI documentation for chips and sockets (Michael Petlan) [1873270] - [powerpc] powerpc/pseries: Update hv-24x7 information after migration (Michael Petlan) [1873270] - [powerpc] powerpc/watchpoint: Fix ptrace code that muck around with address/len (Michael Petlan) [1873270] - [powerpc] powerpc/watchpoint: Fix length calculation for unaligned target (Michael Petlan) [1873270] - [powerpc] powerpc/watchpoint: Introduce macros for watchpoint length (Michael Petlan) [1873270] - [powerpc] powerpc/perf: fix imc allocation failure handling (Michael Petlan) [1873270] - [powerpc] powerpc/perf/24x7: use rb_entry (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Fix MMCRA corruption by bhrb_filter (Michael Petlan) [1873270] - [powerpc] perf/core, arch/powerpc: use PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs (Michael Petlan) [1873270] - [powerpc] Powerpc/perf: Wire up PMI throttling (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Remove l2 bus events from HW cache event array (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Add constraints for power9 l2/l3 bus events (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Fix unit_sel/cache_sel checks (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Cleanup cache_sel bits comment (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Fix thresholding counter data for unknown type (Michael Petlan) [1873270] - [fs] writeback: Drop I_DIRTY_TIME_EXPIRE (Waiman Long) [1860031] - [fs] writeback: Fix sync livelock due to b_dirty_time processing (Waiman Long) [1860031] - [fs] writeback: Avoid skipping inode writeback (Waiman Long) [1860031] - [fs] writeback: Protect inode->i_io_list with inode->i_lock (Waiman Long) [1860031] - [fs] dcache: sort the freeing-without-RCU-delay mess for good (Waiman Long) [1860031] - [net] udp: Improve load balancing for SO_REUSEPORT. (Davide Caratti) [1894075] - [net] udp: Fix wrong clean up for IS_UDPLITE macro (Davide Caratti) [1894075] - [fs] ext4: disallow modifying DAX inode flag if inline_data has been set (Eric Sandeen) [1838344] - [include] dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: Fix stack overflow when mounting fsdax pmem device (Eric Sandeen) [1838876 1854346 1838344] - [dax] dm: Call proper helper to determine dax support (Eric Sandeen) [1838876 1854346 1838344] - [md] dm/dax: Fix table reference counts (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: fix detection of dax support for non-persistent memory block devices (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: do not print error message for non-persistent memory block device (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax: Fix incorrect argument passed to xas_set_err() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Support that ioctl(SETXFLAGS/GETXFLAGS) can set/get inode DAX on XFS (Eric Sandeen) [1838876 1854346 1838344] - [dax] drivers/dax: Expand lock scope to cover the use of addresses (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/dax: Remove unused size parameter (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: print error message by pr_info() in __generic_fsdax_supported() (Eric Sandeen) [1838876 1854346 1838344] - [fs] ext4: avoid race conditions when remounting with options that change dax (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Update xfs_ioctl_setattr_dax_invalidate() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Combine xfs_diflags_to_linux() and xfs_diflags_to_iflags() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Create function xfs_inode_should_enable_dax() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Make DAX mount option a tri-state (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Change XFS_MOUNT_DAX to XFS_MOUNT_DAX_ALWAYS (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Remove unnecessary initialization of i_rwsem (Eric Sandeen) [1838876 1854346 1838344] - [documentation] Documentation/dax: Update DAX enablement for ext4 (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Introduce DAX inode flag (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Remove jflag variable (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Make DAX mount option a tri-state (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Only change S_DAX on inode load (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Update ext4_should_use_dax() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Change EXT4_MOUNT_DAX to EXT4_MOUNT_DAX_ALWAYS (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Narrow scope of DAX check in setflags (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs: Introduce DCACHE_DONTCACHE (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs: Lift XFS_IDONTCACHE to the VFS layer (Eric Sandeen) [1838876 1854346 1838344] - [documentation] Documentation/dax: Update Usage section (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/stat: Define DAX statx attribute (Eric Sandeen) [1838876 1854346 1838344] - [block] fs: Remove unneeded IS_DAX() check in io_is_direct() (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: Move mandatory ->zero_page_range() check in alloc_dax() (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax, iomap: Add helper dax_iomap_zero() to zero a range (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax: Use new dax zero page method for zeroing a page (Eric Sandeen) [1838876 1854346 1838344] - [md] dm,dax: Add dax zero_page_range operation (Eric Sandeen) [1838876 1854346 1838344] - [s390] s390, dcssblk, dax: Add dax zero_page_range operation to dcssblk driver (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax, pmem: Add a dax operation zero_page_range (Eric Sandeen) [1838876 1854346 1838344] - [nvdimm] pmem: Add functions for reading/writing page to/from pmem (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs: Constify vma argument to vma_is_dax (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax: pass NOWAIT flag to iomap_apply (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: Get rid of fs_dax_get_by_host() helper (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax: Pass dax_dev instead of bdev to dax_writeback_mapping_range() (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: Fix alloc_dax_region() compile warning (Eric Sandeen) [1838876 1854346 1838344] - [fs] xfs: disable map_sync for async flush (Eric Sandeen) [1838876 1854346 1838344] - [fs] ext4: disable map_sync for async flush (Eric Sandeen) [1838876 1854346 1838344] - [include] dax: check synchronous mapping is supported (Eric Sandeen) [1838876 1854346 1838344] - [dax] libnvdimm: add dax_dev sync flag (Eric Sandeen) [1838876 1854346 1838344] - [nvdimm] libnvdimm: nd_region flush callback support (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: only allow FSSETXATTR to set DAX flag on files and dirs (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: teach vfs_ioc_fssetxattr_check to check extent size hints (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: teach vfs_ioc_fssetxattr_check to check project id info (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: create a generic checking function for FS_IOC_FSSETXATTR (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: create a generic checking and prep function for FS_IOC_SETFLAGS (Eric Sandeen) [1838876 1854346 1838344] - [dax] drivers/dax: Allow to include DEV_DAX_PMEM as builtin (Eric Sandeen) [1838876 1854346 1838344] - [netdrv] net: intel: Remove in_interrupt() warnings (Corinna Vinschen) [1838746] - [netdrv] igb: read PBA number from flash (Corinna Vinschen) [1838746] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Corinna Vinschen) [1838746] - [netdrv] treewide: Use fallthrough pseudo-keyword (Corinna Vinschen) [1838746] - [netdrv] igb: use eth_zero_addr() to clear mac address (Corinna Vinschen) [1838746] - [netdrv] igb: Remove unnecessary usages of memset (Corinna Vinschen) [1838746] - [netdrv] igb: reinit_locked() should be called with rtnl_lock (Corinna Vinschen) [1838746] - [netdrv] ethernet/intel: Convert fallthrough code comments (Corinna Vinschen) [1838746] - [netdrv] net/intel: remove driver versions from Intel drivers (Corinna Vinschen) [1838746] - [netdrv] igb: make igb_set_fc_watermarks() return void (Corinna Vinschen) [1838746] - [netdrv] igb: Report speed and duplex as unknown when device is runtime suspended (Corinna Vinschen) [1838746] - [netdrv] igb: convert to use i2c_new_client_device() (Corinna Vinschen) [1838746] - [net] Bluetooth: Allow suspend even when preparation has failed (Gopal Tiwari) [1881485] - [net] Bluetooth: Check scan state before disabling during suspend (Gopal Tiwari) [1881485] - [fs] fuse: fix the ->direct_IO() treatment of iov_iter (Miklos Szeredi) [1875608] - [net] openvswitch: handle DNAT tuple collision (Dumitru Ceara) [1877128] - [net] xdp: Rename convert_to_xdp_frame in xdp_convert_buff_to_frame (Petr Oros) [1867194]- [fs] NFSv4.2: fix failure to unregister shrinker (Scott Mayhew) [1897988] - [tools] cpupower: Provide online and offline CPU information (Diego Domingos) [1893779] - [net] net/smc: improve return codes for SMC-Dv2 (Claudio Imbrenda) [1731027] - [s390] s390/ism: fix incorrect system EID (Claudio Imbrenda) [1731027] - [net] net/smc: fix suppressed return code (Claudio Imbrenda) [1731027] - [net] net/smc: fix null pointer dereference in smc_listen_decline() (Claudio Imbrenda) [1731027] - [net] net/smc: fix invalid return code in smcd_new_buf_create() (Claudio Imbrenda) [1731027] - [net] net/smc: fix valid DMBE buffer sizes (Claudio Imbrenda) [1731027] - [net] net/smc: fix use-after-free of delayed events (Claudio Imbrenda) [1731027] - [net] net/smc: restore smcd_version when all ISM V2 devices failed to init (Claudio Imbrenda) [1731027] - [net] net/smc: cleanup buffer usage in smc_listen_work() (Claudio Imbrenda) [1731027] - [net] net/smc: consolidate unlocking in same function (Claudio Imbrenda) [1731027] - [net] net/smc: use an array to check fields in system EID (Claudio Imbrenda) [1731027] - [net] net/smc: send ISM devices with unique chid in CLC proposal (Claudio Imbrenda) [1731027] - [net] net/smc: CLC decline - V2 enhancements (Claudio Imbrenda) [1731027] - [net] net/smc: introduce CLC first contact extension (Claudio Imbrenda) [1731027] - [net] net/smc: CLC accept / confirm V2 (Claudio Imbrenda) [1731027] - [net] net/smc: determine accepted ISM devices (Claudio Imbrenda) [1731027] - [net] net/smc: build and send V2 CLC proposal (Claudio Imbrenda) [1731027] - [net] net/smc: determine proposed ISM devices (Claudio Imbrenda) [1731027] - [net] net/smc: introduce list of pnetids for Ethernet devices (Claudio Imbrenda) [1731027] - [net] net/smc: introduce CHID callback for ISM devices (Claudio Imbrenda) [1731027] - [net] net/smc: introduce System Enterprise ID (SEID) (Claudio Imbrenda) [1731027] - [net] net/smc: prepare for more proposed ISM devices (Claudio Imbrenda) [1731027] - [net] net/smc: split CLC confirm/accept data to be sent (Claudio Imbrenda) [1731027] - [net] net/smc: separate find device functions (Claudio Imbrenda) [1731027] - [net] net/smc: CLC header fields renaming (Claudio Imbrenda) [1731027] - [net] net/smc: remove constant and introduce helper to check for a pnet id (Claudio Imbrenda) [1731027] - [netdrv] vmxnet3: fix cksum offload issues for non-udp tunnels (Cathy Avery) [1868451] - [netdrv] vmxnet3: use correct tcp hdr length when packet is encapsulated (Cathy Avery) [1868451] - [scsi] scsi: vmw_pvscsi: Use true, false for adapter->use_msg (Cathy Avery) [1895014] - [scsi] scsi: vmw_pvscsi: Silence dma mapping errors (Cathy Avery) [1895014] - [scsi] scsi: vmw_pvscsi: Fix swiotlb operation (Cathy Avery) [1895014] - [scsi] scsi: vmw_pscsi: use sg helper to iterate over scatterlist (Cathy Avery) [1895014] - [scsi] Revert "vmw_pvscsi: Fixed to work with SG_CHAIN" (Cathy Avery) [1895014] - [scsi] scsi: vmw_pscsi: switch to generic DMA API (Cathy Avery) [1895014] - [netdrv] mdiobus: Disable preemption upon u64_stats update (Petr Oros) [1889849] - [net] u64_stats: Document writer non-preemptibility requirement (Petr Oros) [1889849] - [netdrv] phy: fixed_phy: Remove unused seqcount (Petr Oros) [1889849] - [net] net/smc: fix double kfree in smc_listen_work() (Claudio Imbrenda) [1847444] - [net] net/smc: check variable before dereferencing in smc_close.c (Claudio Imbrenda) [1847444] - [net] net/smc: use separate work queues for different worker types (Claudio Imbrenda) [1847444] - [net] net/smc: use the retry mechanism for netlink messages (Claudio Imbrenda) [1847444] - [net] net/smc: immediate freeing in smc_lgr_cleanup_early() (Claudio Imbrenda) [1847444] - [net] net/smc: reduce smc_listen_decline() calls (Claudio Imbrenda) [1847444] - [net] net/smc: improve server ISM device determination (Claudio Imbrenda) [1847444] - [net] net/smc: common routine for CLC accept and confirm (Claudio Imbrenda) [1847444] - [net] net/smc: dynamic allocation of CLC proposal buffer (Claudio Imbrenda) [1847444] - [net] net/smc: introduce better field names (Claudio Imbrenda) [1847444] - [net] net/smc: reduce active tcp_listen workers (Claudio Imbrenda) [1847444] - [net] net/smc: fix sock refcounting in case of termination (Claudio Imbrenda) [1847444] - [net] net/smc: reset sndbuf_desc if freed (Claudio Imbrenda) [1847444] - [net] net/smc: fix toleration of fake add_link messages (Claudio Imbrenda) [1847444] - [net] net/smc: Prevent kernel-infoleak in __smc_diag_dump() (Claudio Imbrenda) [1847444] - [s390] s390/ism: fix error return code in ism_probe() (Claudio Imbrenda) [1847444] - [s390] s390/zcrypt: Introduce Failure Injection feature (Philipp Rudo) [1851124] - [s390] s390/zcrypt: move ap_msg param one level up the call chain (Philipp Rudo) [1851124] - [s390] s390/ap/zcrypt: revisit ap and zcrypt error handling (Philipp Rudo) [1851124] - [s390] s390/ap: Support AP card SCLP config and deconfig operations (Philipp Rudo) [1851124] - [s390] s390/sclp: Add support for SCLP AP adapter config/deconfig (Philipp Rudo) [1851124] - [s390] s390/ap: add card/queue deconfig state (Philipp Rudo) [1851124] - [s390] s390/ap: add error response code field for ap queue devices (Philipp Rudo) [1851124] - [s390] s390/ap: split ap queue state machine state from device state (Philipp Rudo) [1851124] - [crypto] s390/zcrypt: New config switch CONFIG_ZCRYPT_DEBUG (Philipp Rudo) [1851124] - [s390] s390/zcrypt: introduce msg tracking in zcrypt functions (Philipp Rudo) [1851124] - [s390] s390/ap: rework crypto config info and default domain code (Philipp Rudo) [1851124] - [s390] s390/zcrypt: provide cex4 cca sysfs attributes for cex3 (Philipp Rudo) [1851124] - [s390] s390/ap: rename and clarify ap state machine related stuff (Philipp Rudo) [1851124] - [s390] s390/zcrypt: split ioctl function into smaller code units (Philipp Rudo) [1851124] - [s390] s390/zcrypt: code beautification and struct field renames (Philipp Rudo) [1851124] - [s390] s390/zcrypt: fix smatch warnings (Philipp Rudo) [1851124] - [s390] s390/ap: introduce new ap function ap_get_qdev() (Philipp Rudo) [1851124] - [s390] s390/zcrypt: replace snprintf/sprintf with scnprintf (Philipp Rudo) [1851124] - [s390] s390/zcrypt: Use scnprintf() for avoiding potential buffer overflow (Philipp Rudo) [1851124] - [s390] s390/zcrypt: Support for CCA protected key block version 2 (Philipp Rudo) [1851124] - [s390] s390/zcrypt: fix card and queue total counter wrap (Philipp Rudo) [1851124] - [s390] s390/zcrypt: move ap device reset from bus to driver code (Philipp Rudo) [1851124] - [s390] s390/zcrypt: Fix CCA cipher key gen with clear key value function (Philipp Rudo) [1851124] - [s390] s390/zcrypt: handle new reply code FILTERED_BY_HYPERVISOR (Philipp Rudo) [1851124] - [fs] NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE (Benjamin Coddington) [1888612] - [fs] NFSv4.x recover from pre-mature loss of openstateid (Benjamin Coddington) [1888612] - [fs] NFSv4: Handle NFS4ERR_OLD_STATEID in CLOSE/OPEN_DOWNGRADE (Benjamin Coddington) [1888612] - [hv] hv: vmbus: Add timeout to vmbus_wait_for_unload (Mohammed Gamal) [1888980] - [net] sched: act_gate: Unlock ->tcfa_lock in tc_setup_flow_action() (Ivan Vecera) [1874071] - [net] sched: act_ct: Fix adding udp port mangle operation (Ivan Vecera) [1874071] - [net] sched: Fix suspicious RCU usage while accessing tcf_tunnel_info (Ivan Vecera) [1874071] - [net] sched: get rid of qdisc->padded (Ivan Vecera) [1874071] - [net] sched: check error pointer in tcf_dump_walker() (Ivan Vecera) [1874071] - [net] sched: remove a redundant goto chain check (Ivan Vecera) [1874071] - [net] sched: cls_u32: Replace one-element array with flexible-array member (Ivan Vecera) [1874071] - [net] sched: commit action insertions together (Ivan Vecera) [1874071] - [net] sched: defer tcf_idr_insert() in tcf_action_init_1() (Ivan Vecera) [1874071] - [net] sched: Remove unused function qdisc_queue_drop_head() (Ivan Vecera) [1874071] - [net] sched: taprio: Fix allowing too small intervals (Ivan Vecera) [1874071] - [net] sched: sch_generic: aviod concurrent reset and enqueue op for lockless qdisc (Ivan Vecera) [1874071] - [net] sched: skip an unnecessay check (Ivan Vecera) [1874071] - [net] sched: act_ife: load meta modules before tcf_idr_check_alloc() (Ivan Vecera) [1874071] - [net] sched: fix error path in red_init() (Ivan Vecera) [1874071] - [net] sched: taprio: Fix using wrong queues in gate mask (Ivan Vecera) [1874071] - [net] sched: Use fallthrough pseudo-keyword (Ivan Vecera) [1874071] - [net] netlink: consistently use NLA_POLICY_EXACT_LEN() (Ivan Vecera) [1874071] - [net] sched: act_ct: fix miss set mru for ovs after defrag in act_ct (Ivan Vecera) [1874071] - [net] sched: cls_u32: Use struct_size() helper (Ivan Vecera) [1874071] - [net] sched: act_pedit: Use flex_array_size() helper in memcpy() (Ivan Vecera) [1874071] - [net] sched: initialize timer earlier in red_init() (Ivan Vecera) [1874071] - [net] sched: cls_flower: Add hash info to flow classification (Ivan Vecera) [1874071] - [net] flow_dissector: add packet hash dissection (Ivan Vecera) [1874071] - [net] sched: sch_api: add missing rcu read lock to silence the warning (Ivan Vecera) [1874071] - [tools] tc-testing: Add tdc to kselftests (Ivan Vecera) [1874071] - [net] sched: Do not drop root lock in tcf_qevent_handle() (Ivan Vecera) [1874071] - [net] sched: kerneldoc fixes (Ivan Vecera) [1874071] - [net] sched: Pass qdisc reference in struct flow_block_offload (Ivan Vecera) [1874071] - [net] sched: Use fallthrough pseudo-keyword (Ivan Vecera) [1874071] - [net] sched: Allow changing default qdisc to FQ-PIE (Ivan Vecera) [1874071] - [net] qos: police action offloading parameter 'burst' change to the original value (Ivan Vecera) [1874071] - [tools] selftests: forwarding: Add a RED test for SW datapath (Ivan Vecera) [1874071] - [net] sched: sch_red: Add qevents "early_drop" and "mark" (Ivan Vecera) [1874071] - [net] sched: sch_red: Split init and change callbacks (Ivan Vecera) [1874071] - [net] sched: Introduce helpers for qevent blocks (Ivan Vecera) [1874071] - [net] sched: sch_cake: add RFC 8622 LE PHB support to CAKE diffserv handling (Ivan Vecera) [1874071] - [net] qos: police action add index for tc flower offloading (Ivan Vecera) [1874071] - [net] qos: add tc police offloading action with max frame size limit (Ivan Vecera) [1874071] - [net] sched: tcindex_change: Remove redundant null check (Ivan Vecera) [1874071] - [net] sched: Remove redundant skb null check (Ivan Vecera) [1874071] - [net] sched: Remove redundant condition in qdisc_graft (Ivan Vecera) [1874071] - [net] sched: cls_u32: Use struct_size() in kzalloc() (Ivan Vecera) [1874071] - [net] sched: taprio: Use struct_size() in kzalloc() (Ivan Vecera) [1874071] - [net] vlan: consolidate VLAN parsing code and limit max parsing depth (Ivan Vecera) [1874071] - [net] flow_offload: Move rhashtable inclusion to the source file (Ivan Vecera) [1874071] - [net] sched: act_ct: fix restore the qdisc_skb_cb after defrag (Ivan Vecera) [1874071] - [net] sched: fix a memory leak in atm_tc_init() (Ivan Vecera) [1874071] - [net] sched: act_ct: add miss tcf_lastuse_update. (Ivan Vecera) [1874071] - [net] sched: consistently handle layer3 header accesses in the presence of VLANs (Ivan Vecera) [1874071] - [net] tunnel: Propagate ECT(1) when decapsulating as recommended by RFC6040 (Ivan Vecera) [1874071] - [net] sched: sch_cake: fix a few style nits (Ivan Vecera) [1874071] - [net] sched: sch_cake: don't call diffserv parsing code when it is not needed (Ivan Vecera) [1874071] - [net] sched: sch_cake: don't try to reallocate or unshare skb unconditionally (Ivan Vecera) [1874071] - [tools] tc-testing: avoid action cookies with odd length. (Ivan Vecera) [1874071] - [net] sched: Add MODULE_DESCRIPTION entries to network modules (Ivan Vecera) [1874071] - [tools] tc-testing: update geneve options match in tunnel_key unit tests (Ivan Vecera) [1874071] - [net] flow_offload: fix flow_indr_dev_unregister path (Ivan Vecera) [1874071] - [net] flow_offload: use flow_indr_block_cb_alloc/remove function (Ivan Vecera) [1874071] - [net] flow_offload: add flow_indr_block_cb_alloc/remove function (Ivan Vecera) [1874071] - [net] sched: act_gate: fix configuration of the periodic timer (Ivan Vecera) [1874071] - [net] sched: act_gate: fix NULL dereference in tcf_gate_init() (Ivan Vecera) [1874071] - [net] flow_offload: remove indirect flow_block declarations leftover (Ivan Vecera) [1874071] - [net] sched: export __netdev_watchdog_up() (Ivan Vecera) [1874071] - [net] sched: act_ct: add nat mangle action only for NAT-conntrack (Ivan Vecera) [1874071] - [net] sched: sch_cake: Take advantage of skb->hash where appropriate (Ivan Vecera) [1874071] - [net] sched: fix a couple of splats in the error path of tfc_gate_init() (Ivan Vecera) [1874071] - [net] sched: get rid of unnecessary dev_qdisc_reset() (Ivan Vecera) [1874071] - [net] sched: avoid resetting active qdisc for multiple times (Ivan Vecera) [1874071] - [net] sched: add a tracepoint for qdisc creation (Ivan Vecera) [1874071] - [net] sched: add tracepoints for qdisc_reset() and qdisc_destroy() (Ivan Vecera) [1874071] - [net] sched: use qdisc_reset() in qdisc_destroy() (Ivan Vecera) [1874071] - [net] sched: fix infinite loop in sch_fq_pie (Ivan Vecera) [1874071] - [net] sched: fix reporting the first-time use timestamp (Ivan Vecera) [1874071] - [net] tracing: Fix header include guards in trace event headers (Ivan Vecera) [1874071] - [netdrv] ipvlan: fix device features (Davide Caratti) [1892621] - [netdrv] ipvlan: consolidate TSO flags using NETIF_F_ALL_TSO (Davide Caratti) [1892621] - [netdrv] ipvlan: set hw_enc_features like macvlan (Davide Caratti) [1892621] - [tools] ACPI: Use valid link to the ACPI specification (David Arcari) [1857138] - [tools] cpupower: Replace HTTP links with HTTPS ones (David Arcari) [1857138] - [tools] cpupower: Fix NULL but dereferenced coccicheck errors (David Arcari) [1857138] - [tools] cpupower: Fix comparing pointer to 0 coccicheck warns (David Arcari) [1857138] - [tools] cpupower: Remove unneeded semicolon (David Arcari) [1857138] - [tools] cpupower: .gitignore: add SPDX License Identifier (David Arcari) [1857138] - [tools] cpupower: avoid multiple definition with gcc -fno-common (David Arcari) [1857138] - [tools] cpupower: Revert library ABI changes from commit ae2917093fb60bdc1ed3e (David Arcari) [1857138] - [tools] cpupower: ToDo: Update ToDo with ideas for per_cpu_schedule handling (David Arcari) [1857138] - [tools] tools/power/cpupower: Fix initializer override in hsw_ext_cstates (David Arcari) [1857138] - [tools] cpupower: update German translation (David Arcari) [1857138] - [tools] tools/power/cpupower: fix 64bit detection when cross-compiling (David Arcari) [1857138] - [tools] cpupower: Add missing newline at end of file (David Arcari) [1857138] - [tools] cpupower: Replace GPLv2 boilerplate/reference with SPDX - rule 285 (David Arcari) [1857138] - [tools] cpupower: correct spelling of interval (David Arcari) [1857138] - [tools] cpupower: Replace GPLv2 boilerplate/reference with SPDX - rule 167 (David Arcari) [1857138] - [tools] cpupower: Replace GPLv2 boilerplate/reference with SPDX - rule 166 (David Arcari) [1857138] - [tools] cpupower: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (David Arcari) [1857138] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 155 (David Arcari) [1857138] - [tools] cpupower: Add SPDX license identifier for more missed files (David Arcari) [1857138] - [tools] tools/power/cpupower: Display boost frequency separately (David Arcari) [1857138] - [tools] cpupower : Auto-completion for cpupower tool (David Arcari) [1857138] - [tools] tools/power/cpupower: fix compilation with STATIC=true (David Arcari) [1857138] - [tools] cpupower: remove stringop-truncation waring (David Arcari) [1857138] - [tools] cpupower: convert ISO_8859-1 text comments to utf-8 (David Arcari) [1857138] - [x86] x86/resctrl: Support wider MBM counters (Puneet Sethi) [1834658] - [x86] x86/resctrl: Support CPUID enumeration of MBM counter width (Puneet Sethi) [1834658] - [x86] x86/resctrl: Maintain MBM counter width per resource (Puneet Sethi) [1834658] - [x86] x86/resctrl: Query LLC monitoring properties once during boot (Puneet Sethi) [1834658] - [x86] x86/resctrl: Remove unnecessary RMID checks (Puneet Sethi) [1834658] - [x86] x86/cpu: Move resctrl CPUID code to resctrl/ (Puneet Sethi) [1834658] - [x86] x86/resctrl: Rename asm/resctrl_sched.h to asm/resctrl.h (Puneet Sethi) [1834658] - [x86] x86/resctrl: Preserve CDP enable over CPU hotplug (Puneet Sethi) [1834658] - [net] af_packet: TPACKET_V3: fix fill status rwlock imbalance (Ivan Vecera) [1889829] - [net] packet: tpacket_rcv: do not increment ring index on drop (Ivan Vecera) [1889829] - [net] af_packet: TPACKET_V3: replace busy-wait loop (Ivan Vecera) [1889829] - [net] SUNRPC: Fix svc_flush_dcache() (Scott Mayhew) [1888214] - [fs] pNFS/flexfiles: Be consistent about mirror index types (Scott Mayhew) [1888214] - [fs] pNFS/flexfiles: Ensure we initialise the mirror bsizes correctly on read (Scott Mayhew) [1888214] - [fs] NFSv4.2: fix client's attribute cache management for copy_file_range (Scott Mayhew) [1888214] - [fs] nfs: Fix security label length not being reset (Scott Mayhew) [1888214] - [net] SUNRPC: stop printk reading past end of string (Scott Mayhew) [1888214] - [fs] NFS: Zero-stateid SETATTR should first return delegation (Scott Mayhew) [1888214] - [fs] NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall (Scott Mayhew) [1888214] - [net] SUNRPC: remove duplicate include (Scott Mayhew) [1888214] - [fs] nfsd: fix oops on mixed NFSv4/NFSv3 client access (Scott Mayhew) [1888214] - [fs] NFS: Fix flexfiles read failover (Scott Mayhew) [1888214] - [fs] fs: nfs: delete repeated words in comments (Scott Mayhew) [1888214] - [fs] rpc_pipefs: convert comma to semicolon (Scott Mayhew) [1888214] - [fs] NFS: Don't return layout segments that are in use (Scott Mayhew) [1888214] - [fs] NFS: Don't move layouts to plh_return_segs list while in use (Scott Mayhew) [1888214] - [fs] NFS: Add layout segment info to pnfs read/write/commit tracepoints (Scott Mayhew) [1888214] - [fs] NFS: Add tracepoints for layouterror and layoutstats (Scott Mayhew) [1888214] - [fs] NFS: Report the stateid + status in trace_nfs4_layoutreturn_on_close() (Scott Mayhew) [1888214] - [fs] NFSv4.2: xattr cache: get rid of cache discard work queue (Scott Mayhew) [1888214] - [fs] NFS: remove redundant initialization of variable result (Scott Mayhew) [1888214] - [net] svcrdma: CM event handler clean up (Scott Mayhew) [1888214] - [net] svcrdma: Remove transport reference counting (Scott Mayhew) [1888214] - [net] svcrdma: Fix another Receive buffer leak (Scott Mayhew) [1888214] - [trace] SUNRPC: Refresh the show_rqstp_flags() macro (Scott Mayhew) [1888214] - [fs] nfsd: netns.h: delete a duplicated word (Scott Mayhew) [1888214] - [net] sunrpc: destroy rpc_inode_cachep after unregister_filesystem (Scott Mayhew) [1888214] - [fs] freezer: Add unsafe version of freezable_schedule_timeout_interruptible() for NFS (Scott Mayhew) [1888214] - [fs] NFSv4.2: add client side xattr caching (Scott Mayhew) [1888214] - [fs] NFSv4.2: hook in the user extended attribute handlers (Scott Mayhew) [1888214] - [fs] NFSv4.2: add the extended attribute proc functions (Scott Mayhew) [1888214] - [fs] nfs: make the buf_to_pages_noslab function available to the nfs code (Scott Mayhew) [1888214] - [fs] nfs: define and use the NFS_INO_INVALID_XATTR flag (Scott Mayhew) [1888214] - [fs] NFS: Update symbolic flags displayed by trace events (Scott Mayhew) [1888214] - [fs] nfs: modify update_changeattr to deal with regular files (Scott Mayhew) [1888214] - [fs] NFSv4.2: query the extended attribute access bits (Scott Mayhew) [1888214] - [fs] nfs: define nfs_access_get_cached function (Scott Mayhew) [1888214] - [fs] NFSv4.2: add client side XDR handling for extended attributes (Scott Mayhew) [1888214] - [fs] NFSv4.2: query the server for extended attribute support (Scott Mayhew) [1888214] - [fs] NFSv4.2: define limits and sizes for user xattr handling (Scott Mayhew) [1888214] - [include] nfs: add client side only definitions for user xattrs (Scott Mayhew) [1888214] - [fs] nfsd: Use seq_putc() in two functions (Scott Mayhew) [1888214] - [net] svcrdma: Display chunk completion ID when posting a rw_ctxt (Scott Mayhew) [1888214] - [net] svcrdma: Record send_ctxt completion ID in trace_svcrdma_post_send() (Scott Mayhew) [1888214] - [net] svcrdma: Introduce Send completion IDs (Scott Mayhew) [1888214] - [net] svcrdma: Record Receive completion ID in svc_rdma_decode_rqst (Scott Mayhew) [1888214] - [net] svcrdma: Introduce Receive completion IDs (Scott Mayhew) [1888214] - [trace] svcrdma: Introduce infrastructure to support completion IDs (Scott Mayhew) [1888214] - [net] svcrdma: Add common XDR encoders for RDMA and Read segments (Scott Mayhew) [1888214] - [net] svcrdma: Add common XDR decoders for RDMA and Read segments (Scott Mayhew) [1888214] - [net] SUNRPC: Add helpers for decoding list discriminators symbolically (Scott Mayhew) [1888214] - [include] svcrdma: Remove declarations for functions long removed (Scott Mayhew) [1888214] - [net] svcrdma: Clean up trace_svcrdma_send_failed() tracepoint (Scott Mayhew) [1888214] - [net] svcrdma: Consolidate send_error helper functions (Scott Mayhew) [1888214] - [net] svcrdma: Make svc_rdma_send_error_msg() a global function (Scott Mayhew) [1888214] - [net] svcrdma: Eliminate return value for svc_rdma_send_error_msg() (Scott Mayhew) [1888214] - [net] svcrdma: Add a @status parameter to svc_rdma_send_error_msg() (Scott Mayhew) [1888214] - [net] svcrdma: Add @rctxt parameter to svc_rdma_send_error() functions (Scott Mayhew) [1888214] - [net] svcrdma: Remove save_io_pages() call from send_error_msg() (Scott Mayhew) [1888214] - [net] svcrdma: Fix page leak in svc_rdma_recv_read_chunk() (Scott Mayhew) [1888214] - [net] SUNRPC: Augment server-side rpcgss tracepoints (Scott Mayhew) [1888214] - [fs] nfsd: add fattr support for user extended attributes (Scott Mayhew) [1888214] - [fs] nfsd: implement the xattr functions and en/decode logic (Scott Mayhew) [1888214] - [fs] nfsd: add structure definitions for xattr requests / responses (Scott Mayhew) [1888214] - [fs] nfsd: take xattr bits into account for permission checks (Scott Mayhew) [1888214] - [fs] nfsd: define xattr functions to call into their vfs counterparts (Scott Mayhew) [1888214] - [fs] nfsd: add defines for NFSv4.2 extended attribute support (Scott Mayhew) [1888214] - [fs] nfsd: split off the write decode code into a separate function (Scott Mayhew) [1888214] - [fs] xattr: add a function to check if a namespace is supported (Scott Mayhew) [1888214] - [fs] xattr: break delegations in {set, remove}xattr (Scott Mayhew) [1888214] - [uapi] nfs, nfsd: NFSv4.2 extended attribute protocol definitions (Scott Mayhew) [1888214] - [fs] pNFS/flexfiles: The mirror count could depend on the layout segment range (Scott Mayhew) [1888214] - [fs] pNFS/flexfiles: Clean up redundant calls to pnfs_put_lseg() (Scott Mayhew) [1888214] - [fs] NFS: Allow applications to speed up readdir+statx() using AT_STATX_DONT_SYNC (Scott Mayhew) [1888214] - [include] NFS: Replace zero-length array with flexible-array (Scott Mayhew) [1888214] - [include] nfs4: Remove unneeded semicolon (Scott Mayhew) [1888214] - [tools] selftests/livepatch: adopt to newer sysctl error format (Yannick Cote) [1869880] - [tools] selftests/livepatch: Use "comm" instead of "diff" for dmesg (Yannick Cote) [1869880] - [tools] selftests/livepatch: add test delimiter to dmesg (Yannick Cote) [1869880] - [tools] selftests/livepatch: refine dmesg 'taints' in dmesg comparison (Yannick Cote) [1869880] - [tools] selftests/livepatch: Don't clear dmesg when running tests (Yannick Cote) [1869880] - [lib] selftests/livepatch: fix mem leaks in test-klp-shadow-vars (Yannick Cote) [1869880] - [lib] selftests/livepatch: more verification in test-klp-shadow-vars (Yannick Cote) [1869880] - [lib] selftests/livepatch: rework test-klp-shadow-vars (Yannick Cote) [1869880] - [lib] selftests/livepatch: simplify test-klp-callbacks busy target tests (Yannick Cote) [1869880] - [tools] selftests: Install settings files to fix TIMEOUT failures (Yannick Cote) [1869880] - [cpufreq] cpufreq: intel_pstate: Fix intel_pstate_get_hwp_max() for turbo disabled (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Free memory only when turning off (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Add ->offline and ->online callbacks (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Tweak the EPP sysfs interface (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Update cached EPP in the active mode (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Refuse to turn off with HWP enabled (Puneet Sethi) [1881199] - [documentation] Documentation: fix pm/intel_pstate build warning and wording (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Implement passive mode with HWP enabled (Puneet Sethi) [1881199] - [tools] tools arch x86: Sync the msr-index.h copy with the kernel sources (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0 (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Rearrange the storing of new EPP values (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Avoid enabling HWP if EPP is not supported (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Clean up aperf_mperf_shift description (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Supply struct attribute description for get_aperf_mperf_shift() (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Fix static checker warning for epp variable (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Allow raw energy performance preference value (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Allow enable/disable energy efficiency (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Add one more OOB control bit (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once (Puneet Sethi) [1881199] - [documentation] Documentation: intel_pstate: update links for references (Puneet Sethi) [1881199] - [documentation] Documentation: PM: Unify copyright notices (Puneet Sethi) [1881199] - [documentation] Documentation: PM: Add SPDX license tags to multiple files (Puneet Sethi) [1881199] - [documentation] cpufreq: intel_pstate: Documentation: Add references sections (Puneet Sethi) [1881199] - [documentation] Documentation: intel_pstate: Clarify coordination of P-State limits (Puneet Sethi) [1881199] - [documentation] Documentation: intel_pstate: Add base_frequency information (Puneet Sethi) [1881199] - [i2c] i2c: ismt: Remove call to memset after dmam_alloc_coherent (Tony Camuso) [1875395] - [i2c] i2c: ismt: Add support for Intel Cedar Fork (Tony Camuso) [1875395] - [documentation] docs: net: fm10k: add documentation for fm10k driver (Vladis Dronov) [1838728] - [netdrv] net: fm10k: reject unsupported coalescing params (Vladis Dronov) [1838728] - [netdrv] intel: Replace zero-length array with flexible-array member (Vladis Dronov) [1838728] - [netdrv] net: Use skb accessors in network drivers (Vladis Dronov) [1838728] - [netdrv] hdlc_ppp: add range checks in ppp_cp_parse_cr() (Guillaume Nault) [1882082] {CVE-2020-25643}- [pinctrl] pinctrl: sunrisepoint: Modify COMMUNITY macros to be consistent (David Arcari) [1783488] - [pinctrl] pinctrl: cannonlake: Modify COMMUNITY macros to be consistent (David Arcari) [1783488] - [pinctrl] pinctrl: tigerlake: Fix register offsets for TGL-H variant (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Update header block to reflect direct dependencies (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Switch to use intel_pinctrl_get_soc_data() (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Extract intel_pinctrl_get_soc_data() helper for wider use (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Use fallthrough pseudo-keyword (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Fix pin being driven low for a while on gpiod_get(..., GPIOD_OUT_HIGH) (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Drop no-op ACPI_PTR() call (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Make use of for_each_requested_gpio_in_range() (David Arcari) [1783488] - [include] gpiolib: Introduce for_each_requested_gpio_in_range() macro (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Protect IO in few call backs by lock (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Split intel_config_get() to three functions (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Drop the only label in the code for consistency (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Get rid of redundant 'else' in intel_config_set_debounce() (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Make use of IRQ_RETVAL() (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Reduce scope of the lock (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Disable input and output buffer when switching to GPIO (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Allow drivers to define ACPI address space ID (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Allow drivers to define total amount of IRQs per community (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Move npins closer to pin_base in struct intel_community (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Update description in struct intel_community (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Use platform_get_irq_optional() explicitly (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Introduce new flag to force GPIO base to be 0 (David Arcari) [1783488] - [pinctrl] pinctrl: tigerlake: Use generic flag for special GPIO base treatment (David Arcari) [1783488] - [pinctrl] pinctrl: icelake: Use generic flag for special GPIO base treatment (David Arcari) [1783488] - [pinctrl] pinctrl: cannonlake: Use generic flag for special GPIO base treatment (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Enable pin configuration setting for GPIO chip (David Arcari) [1783488] - [pinctrl] pinctrl: sunrisepoint: Fix PAD lock register offset for SPT-H (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Mark expected switch fall-throughs (David Arcari) [1783488] - [kernel] mm: disable proactive compaction by default (Rafael Aquini) [1848427] - [mm] mm: use unsigned types for fragmentation score (Rafael Aquini) [1848427] - [mm] mm: fix compile error due to COMPACTION_HPAGE_ORDER (Rafael Aquini) [1848427] - [mm] mm: proactive compaction (Rafael Aquini) [1848427] - [i2c] i2c: mlxbf: I2C_MLXBF should depend on MELLANOX_PLATFORM (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Update author and maintainer email info (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Update reference clock frequency (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Remove unecessary wrapper functions (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Fix resrticted cast warning of sparse (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Add CONFIG_ACPI to guard ACPI function call (Alaa Hleihel) [1655741 1655709] - [documentation] dt-bindings: i2c: I2C binding for Mellanox BlueField SoC (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: I2C SMBus driver for Mellanox BlueField SoC (Alaa Hleihel) [1655741 1655709] - [misc] misc: eeprom: ee1004: convert to i2c_new_dummy_device (Alaa Hleihel) [1655741] - [misc] eeprom: ee1004: Deal with nack on page selection (Alaa Hleihel) [1655741] - [misc] eeprom: ee1004: Move selected page detection to a separate function (Alaa Hleihel) [1655741] - [misc] eeprom: New ee1004 driver for DDR4 memory (Alaa Hleihel) [1655741] - [net] xfrm: Use correct address family in xfrm_state_find (Xin Long) [1892641] - [net] xfrm: clone whole liftime_cur structure in xfrm_do_migrate (Xin Long) [1892641] - [net] xfrm: clone XFRMA_SEC_CTX in xfrm_do_migrate (Xin Long) [1892641] - [net] xfrm: clone XFRMA_REPLAY_ESN_VAL in xfrm_do_migrate (Xin Long) [1892641] - [net] xfrm: clone XFRMA_SET_MARK in xfrm_do_migrate (Xin Long) [1892641] - [net] ip_vti: Fix unused variable warning (Xin Long) [1892641] - [net] xfrm: Make the policy hold queue work with VTI. (Xin Long) [1892641] - [s390] s390/qeth: delay draining the TX buffers (Philipp Rudo) [1847443] - [s390] s390/qeth: strictly order bridge address events (Philipp Rudo) [1847443] - [s390] s390/qeth: unify structs for bridge port state (Philipp Rudo) [1847443] - [s390] s390/qeth: copy less data from bridge state events (Philipp Rudo) [1847443] - [s390] s390/qeth: don't let HW override the configured port role (Philipp Rudo) [1847443] - [s390] s390/qeth: don't disable address events during initialization (Philipp Rudo) [1847443] - [s390] s390/qeth: make queue lock a proper spinlock (Philipp Rudo) [1847443] - [s390] s390/qeth: use to_delayed_work() (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up qeth_l3_send_setdelmc()'s declaration (Philipp Rudo) [1847443] - [s390] s390/qeth: use all configured RX buffers (Philipp Rudo) [1847443] - [s390] s390/qeth: don't process empty bridge port events (Philipp Rudo) [1847443] - [s390] s390/qeth: integrate RX refill worker with NAPI (Philipp Rudo) [1847443] - [s390] s390/qeth: tolerate pre-filled RX buffer (Philipp Rudo) [1847443] - [s390] s390/qdio: remove internal polling in non-thinint path (Philipp Rudo) [1847443] - [s390] s390/qdio: allow to scan all 128 Input SBALs (Philipp Rudo) [1847443] - [s390] s390/qdio: fix statistics for 128 SBALs (Philipp Rudo) [1847443] - [s390] s390/qeth: constify the MPC initialization data (Philipp Rudo) [1847443] - [s390] s390/qeth: unify RX-mode hashtables (Philipp Rudo) [1847443] - [s390] s390/qeth: cleanup OAT code (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up a magic number in the OAT callback (Philipp Rudo) [1847443] - [s390] s390/qeth: use u64_to_user_ptr() in the OAT code (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up error handling for isolation mode cmds (Philipp Rudo) [1847443] - [s390] s390/qeth: don't clear the configured isolation mode (Philipp Rudo) [1847443] - [s390] s390/qeth: only init the isolation mode when necessary (Philipp Rudo) [1847443] - [s390] s390/qeth: fine-tune errno when cmds are cancelled (Philipp Rudo) [1847443] - [s390] s390/qeth: reject unsupported link type earlier (Philipp Rudo) [1847443] - [s390] s390/qeth: let isolation mode override HW offload restrictions (Philipp Rudo) [1847443] - [s390] s390/qeth: fix error handling for isolation mode cmds (Philipp Rudo) [1847443] - [s390] s390/qdio: warn about unexpected SLSB states (Philipp Rudo) [1847443] - [s390] s390/qdio: clean up usage of qdio_data (Philipp Rudo) [1847443] - [s390] s390/qdio: reduce SLSB writes during Input Queue processing (Philipp Rudo) [1847443] - [s390] s390/qdio: fine-tune SLSB update (Philipp Rudo) [1847443] - [s390] s390/cio, s390/qeth: cleanup PNSO CHSC (Philipp Rudo) [1847443] - [s390] s390/qdio: remove q->first_to_kick (Philipp Rudo) [1847443] - [s390] s390/qdio: fix up qdio_start_irq() kerneldoc (Philipp Rudo) [1847443] - [s390] s390/qdio: add IRQ reduction for error SBALs (Philipp Rudo) [1847443] - [s390] s390/qdio: refactor ACK processing for primed SBALs (Philipp Rudo) [1847443] - [s390] s390/qdio: simplify overlap calculation on Input refill (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up Kconfig help text (Philipp Rudo) [1847443] - [s390] s390/qeth: return error when starting a reset fails (Philipp Rudo) [1847443] - [s390] s390/qeth: set TX IRQ marker on last buffer in a group (Philipp Rudo) [1847443] - [s390] s390/qeth: indicate contiguous TX buffer elements (Philipp Rudo) [1847443] - [s390] s390/qeth: merge TX skb mapping code (Philipp Rudo) [1847443] - [s390] s390/qeth: don't use restricted offloads for local traffic (Philipp Rudo) [1847443] - [s390] s390/qeth: extract helpers for next-hop lookup (Philipp Rudo) [1847443] - [s390] s390/qeth: add debugfs file for local IP addresses (Philipp Rudo) [1847443] - [s390] s390/qeth: process local address events (Philipp Rudo) [1847443] - [s390] s390/qeth: keep track of LP2LP capability for csum offload (Philipp Rudo) [1847443] - [s390] s390/qeth: fix cancelling of TX timer on dev_close() (Philipp Rudo) [1847443] - [s390] s390/qdio: remove always-true condition (Philipp Rudo) [1847443] - [s390] s390/qdio: de-duplicate tiqdio_inbound_processing() (Philipp Rudo) [1847443] - [s390] s390/qdio: keep track of allocated queue count (Philipp Rudo) [1847443] - [s390] s390/qdio: roll-back after queue allocation error (Philipp Rudo) [1847443] - [s390] s390/qdio: do more fine-grained allocation roll-back (Philipp Rudo) [1847443] - [s390] s390/qdio: consolidate thinint init/exit (Philipp Rudo) [1847443] - [s390] s390/qdio: put thinint indicator after early error (Philipp Rudo) [1847443] - [s390] s390/qdio: tear down thinint indicator after early error (Philipp Rudo) [1847443] - [s390] s390/qdio: consistently restore the IRQ handler (Philipp Rudo) [1847443] - [s390] s390/qdio: clear DSCI early for polling drivers (Philipp Rudo) [1847443] - [s390] s390/qdio: inline shared_ind() (Philipp Rudo) [1847443] - [s390] s390/qdio: remove cdev from init_data (Philipp Rudo) [1847443] - [s390] s390/qdio: allow for non-contiguous SBAL array in init_data (Philipp Rudo) [1847443] - [s390] zfcp: inline zfcp_qdio_setup_init_data() (Philipp Rudo) [1847443] - [s390] s390/qdio: cleanly split alloc and establish (Philipp Rudo) [1847443] - [s390] s390/qeth: phase out OSN support (Philipp Rudo) [1847443] - [s390] s390/qeth: make OSN / OSX support configurable (Philipp Rudo) [1847443] - [s390] s390/qeth: remove fake_broadcast attribute (Philipp Rudo) [1847443] - [s390] s390/qdio: set qdio_irq->cdev at allocation time (Philipp Rudo) [1847443] - [s390] s390/qdio: remove unused function declarations (Philipp Rudo) [1847443] - [s390] s390/qeth: modernize two list helpers (Philipp Rudo) [1847443] - [s390] s390/qeth: keep track of fixed prio-queue configuration (Philipp Rudo) [1847443] - [s390] s390/qeth: fine-tune MAC Address-related errnos (Philipp Rudo) [1847443] - [s390] s390/qeth: add TX IRQ coalescing support for IQD devices (Philipp Rudo) [1847443] - [s390] s390/qeth: collect more TX statistics (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up the mac_bits (Philipp Rudo) [1847443] - [s390] s390/qeth: simplify L3 dev_id logic (Philipp Rudo) [1847443] - [s390] s390/qdio: extend polling support to multiple queues (Philipp Rudo) [1847443] - [s390] s390/qeth: remove redundant if-clause in RX poll code (Philipp Rudo) [1847443] - [s390] s390/qeth: split out RX poll code (Philipp Rudo) [1847443] - [s390] s390/qeth: simplify RX buffer tracking (Philipp Rudo) [1847443] - [s390] s390/qdio: pass ISC as parameter to chsc_sadc() (Philipp Rudo) [1847443] - [s390] s390/qeth: use dev->reg_state (Philipp Rudo) [1847443] - [s390] s390/qeth: remove gratuitous NULL checks (Philipp Rudo) [1847443] - [s390] s390/qeth: add phys_to_virt() translation for AOB (Philipp Rudo) [1847443] - [s390] s390/qeth: don't report hard-coded driver version (Philipp Rudo) [1847443] - [s390] s390/qeth: add SW timestamping support for IQD devices (Philipp Rudo) [1847443] - [s390] s390/qeth: balance the TX queue selection for IQD devices (Philipp Rudo) [1847443] - [s390] s390/qeth: allow configuration of TX queues for IQD devices (Philipp Rudo) [1847443] - [s390] s390/qeth: allow configuration of TX queues for z/VM NICs (Philipp Rudo) [1847443] - [s390] s390/qeth: remove prio-queueing support for z/VM NICs (Philipp Rudo) [1847443] - [s390] s390/qeth: use memory reserves in TX slow path (Philipp Rudo) [1847443] - [s390] s390/qeth: use memory reserves to back RX buffers (Philipp Rudo) [1847443] - [s390] s390/qeth: remove VNICC callback parameter struct (Philipp Rudo) [1847443] - [s390] s390/qdio: add tighter controls for IRQ polling (Philipp Rudo) [1847443] - [s390] s390/qdio: export SSQD via debugfs (Philipp Rudo) [1847443] - [s390] s390/qeth: support configurable RX copybreak (Philipp Rudo) [1847443] - [s390] s390/qeth: don't check for IFF_UP when scheduling napi (Philipp Rudo) [1847443] - [s390] s390/qeth: don't re-start read cmd when IDX has terminated (Philipp Rudo) [1847443] - [s390] s390/qeth: reset seqnos on connection startup (Philipp Rudo) [1847443] - [s390] s390/qeth: remove unused cmd definitions (Philipp Rudo) [1847443] - [s390] s390/qeth: validate device-provided MAC address (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up CREATE_ADDR cmd code (Philipp Rudo) [1847443] - [s390] s390/qeth: remove dead code in qeth_l3_iqd_read_initial_mac() (Philipp Rudo) [1847443] - [s390] s390/qdio: simplify debugfs code (Philipp Rudo) [1847443] - [s390] s390/qdio: use QDIO_IRQ_STATE_INACTIVE instead of 0 (Philipp Rudo) [1847443] - [s390] s390/qeth: don't warn for napi with 0 budget (Philipp Rudo) [1847443] - [s390] s390/qdio: reduce access to cdev->private->qdio_data (Philipp Rudo) [1847443] - [s390] s390/qdio: clean up cdev access in qdio_setup_irq() (Philipp Rudo) [1847443] - [s390] s390/qdio: fill SL with absolute addresses (Philipp Rudo) [1847443] - [s390] s390/qdio: don't allocate *aob array with GFP_ATOMIC (Philipp Rudo) [1847443] - [s390] s390/qdio: simplify ACK tracking (Philipp Rudo) [1847443] - [s390] s390/qeth: remove HARDSETUP state (Philipp Rudo) [1847443] - [s390] s390/qeth: make cmd/reply matching more flexible (Philipp Rudo) [1847443] - [s390] s390/qeth: consolidate online/offline code (Philipp Rudo) [1847443] - [s390] s390/qeth: shift some bridgeport code around (Philipp Rudo) [1847443] - [s390] s390/qeth: remove QETH_RX_PULL_LEN (Philipp Rudo) [1847443] - [s390] s390/qeth: use napi_gro_frags() for SG skbs (Philipp Rudo) [1847443] - [s390] s390/qeth: consolidate RX code (Philipp Rudo) [1847443] - [s390] s390/qeth: make use of napi_schedule_irqoff() (Philipp Rudo) [1847443] - [s390] s390/qeth: consolidate helpers for capability checking (Philipp Rudo) [1847443] - [s390] s390/qeth: stop yielding the ip_lock during IPv4 registration (Philipp Rudo) [1847443] - [s390] s390/qeth: don't raise NETDEV_REBOOT event from L3 offline path (Philipp Rudo) [1847443] - [s390] s390/qeth: remove open-coded inet_make_mask() (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up L3 sysfs code (Philipp Rudo) [1847443] - [s390] s390/qeth: overhaul L3 IP address dump code (Philipp Rudo) [1847443] - [s390] s390/qeth: wake up all waiters from qeth_irq() (Philipp Rudo) [1847443] - [s390] s390/qeth: only handle IRQs while device is online (Philipp Rudo) [1847443] - [s390] s390: clean up qdio.h (Philipp Rudo) [1847443] - [s390] s390/cio: fix kdoc for tiqdio_thinint_handler (Philipp Rudo) [1847443] - [s390] s390/drivers: fix proc/debugfs file permissions (Philipp Rudo) [1847443] - [s390] s390: convert to DEFINE_SHOW_ATTRIBUTE (Philipp Rudo) [1847443] - [s390] scsi: zfcp: Avoid benign overflow of the Request Queue's free-level (Philipp Rudo) [1874100] - [s390] scsi: zfcp: Replace open-coded list move (Philipp Rudo) [1874100] - [s390] scsi: zfcp: Clean up zfcp_erp_action_ready() (Philipp Rudo) [1874100] - [s390] scsi: zfcp: Fix an outdated comment for zfcp_qdio_send() (Philipp Rudo) [1874100] - [s390] scsi: zfcp: Use prandom_u32_max() for backoff (Philipp Rudo) [1874100] - [s390] scsi: zfcp: fix wrong data and display format of SFP+ temperature (Philipp Rudo) [1874100] - [s390] scsi: zfcp: trace channel log even for FCP command responses (Philipp Rudo) [1874100] - [s390] scsi: zfcp: proper indentation to reduce confusion in zfcp_erp_required_act (Philipp Rudo) [1874100] - [s390] scsi: zfcp: move maximum age of diagnostic buffers into a per-adapter variable (Philipp Rudo) [1874100] - [s390] scsi: zfcp: implicitly refresh config-data diagnostics when reading sysfs (Philipp Rudo) [1874100] - [s390] scsi: zfcp: introduce sysfs interface to read the local B2B-Credit (Philipp Rudo) [1874100] - [s390] scsi: zfcp: implicitly refresh port-data diagnostics when reading sysfs (Philipp Rudo) [1874100] - [s390] scsi: zfcp: introduce sysfs interface for diagnostics of local SFP transceiver (Philipp Rudo) [1874100] - [s390] scsi: zfcp: support retrieval of SFP Data via Exchange Port Data (Philipp Rudo) [1874100] - [s390] scsi: zfcp: fix GCC compiler warning emitted with -Wmaybe-uninitialized (Philipp Rudo) [1874100] - [s390] scsi: zfcp: fix request object use-after-free in send path causing seqno errors (Philipp Rudo) [1874100] - [s390] scsi: s390: zfcp_fc: use sg helper to iterate over scatterlist (Philipp Rudo) [1874100] - [s390] scsi: zfcp: reduce flood of fcrscn1 trace records on multi-element RSCN (Philipp Rudo) [1874100] - [s390] scsi: zfcp: improve kdoc for return of zfcp_status_read_refill() (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop old default switch case which might paper over missing case (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop default switch case which might paper over missing case (Philipp Rudo) [1874100] - [s390] scsi: zfcp: silence -Wimplicit-fallthrough in zfcp_erp_lun_strategy() (Philipp Rudo) [1874100] - [s390] scsi: zfcp: silence remaining kdoc warnings in header files (Philipp Rudo) [1874100] - [s390] scsi: zfcp: silence all W=1 build warnings for existing kdoc (Philipp Rudo) [1874100] - [s390] scsi: zfcp: properly format LUN (and WWPN) for LUN sharing violation kmsg (Philipp Rudo) [1874100] - [s390] scsi: zfcp: use enum zfcp_erp_act_result for argument/return of affected functions (Philipp Rudo) [1874100] - [s390] scsi: zfcp: use enum zfcp_erp_steps for struct zfcp_erp_action.step (Philipp Rudo) [1874100] - [s390] scsi: zfcp: the action field of zfcp_erp_action is actually the type (Philipp Rudo) [1874100] - [s390] scsi: zfcp: clarify function argument name for trace tag string (Philipp Rudo) [1874100] - [s390] scsi: zfcp: ERP thread setup kdoc update (Philipp Rudo) [1874100] - [s390] scsi: zfcp: update kernel message for invalid FCP_CMND length, it's not the CDB (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop duplicate seq_no from zfcp_fsf_req which is also in QTCB header (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop duplicate fsf_command from zfcp_fsf_req which is also in QTCB header (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop unnecessary forward prototype for struct zfcp_fsf_req (Philipp Rudo) [1874100] - [s390] scsi: zfcp: group sort internal structure definitions for proximity (Philipp Rudo) [1874100] - [s390] scsi: zfcp: namespace prefix for internal latency data structures (Philipp Rudo) [1874100] - [s390] scsi: zfcp: update width in comment for ZFCP_COMMON_FLAGS mask (Philipp Rudo) [1874100] - [s390] scsi: zfcp: move scsi_eh & non-ERP timeout defines owned by and local to zfcp_fsf.c (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop unnecessary forward prototype for struct zfcp_reqlist (Philipp Rudo) [1874100] - [s390] scsi: zfcp: move SG table helper from aux to fc and make them static (Philipp Rudo) [1874100] - [s390] scsi: zfcp: remove unnecessary null pointer check before mempool_destroy (Philipp Rudo) [1874100] - [s390] s390/dasd, zfcp: fix gcc 8 stringop-truncation warnings (Philipp Rudo) [1874100] - [s390] s390/stp: unify stp_work_mutex and clock_sync_mutex (Philipp Rudo) [1856342] - [s390] s390/stp: add sysfs file to show scheduled leap seconds (Philipp Rudo) [1856342] - [s390] s390/stp: add support for leap seconds (Philipp Rudo) [1856342] - [s390] s390/stp: use u32 instead of unsigned int (Philipp Rudo) [1856342] - [s390] s390/stp: use __packed (Philipp Rudo) [1856342] - [s390] s390/stp: add locking to sysfs functions (Philipp Rudo) [1856342] - [s390] s390/stp: allow group and users to read stp sysfs files (Philipp Rudo) [1856342] - [s390] s390/ipl: add support to control memory clearing for nvme re-IPL (Philipp Rudo) [1851122] - [kernel] tick: broadcast-hrtimer: Fix a race in bc_set_next (Vladis Dronov) [1876567] - [fs] gfs2: Make sure we don't miss any delayed withdraws (Robert S Peterson) [1873565] - [fs] gfs2: add some much needed cleanup for log flushes that fail (Robert S Peterson) [1873565] - [fs] gfs2: fix trans slab error when withdraw occurs inside log_flush (Robert S Peterson) [1873565] - [block] blk-mq: mark flush request as IDLE in flush_end_io() (Gopal Tiwari) [1894347] - [nvme] nvme-tcp: avoid repeated request completion (Gopal Tiwari) [1894347] - [nvme] nvme-rdma: avoid repeated request completion (Gopal Tiwari) [1894347] - [nvme] nvme-tcp: avoid race between time out and tear down (Gopal Tiwari) [1894347] - [nvme] nvme-rdma: avoid race between time out and tear down (Gopal Tiwari) [1894347] - [nvme] nvme: introduce nvme_sync_io_queues (Gopal Tiwari) [1894347] - [documentation] kvm: x86: hyper-v: Mention SynDBG CPUID leaves in api.rst (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: remove unused variable (Vitaly Kuznetsov) [1882793] - [tools] kvm: selftests: Don't require THP to run tests (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: evmcs: make evmcs_sanitize_exec_ctrls() work again (Vitaly Kuznetsov) [1882793] - [tools] kvm: selftests: test behavior of unmapped L2 APIC-access address (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Fix NULL dereference at kvm_msr_ignored_check() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: replace static const variables with macros (Vitaly Kuznetsov) [1882793] - [x86] kvm: ioapic: break infinite recursion on lazy EOI (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: rename pi_init to avoid conflict with paride (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Avoid modulo operator on 64-bit value to fix i386 build (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: NX largepage recovery for TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Don't clear write flooding count for direct roots (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support MMIO in the TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support write protection for nesting in tdp MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support disabling dirty logging for the tdp MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support dirty logging for the TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support changed pte notifier in tdp MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add access tracking for tdp_mmu (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support invalidate range MMU notifier for TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Allocate struct kvm_mmu_pages for all pages in TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add TDP MMU PF handler (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Remove disallowed_hugepage_adjust shadow_walk_iterator arg (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support zapping SPTEs in the TDP MMU (Vitaly Kuznetsov) [1882793] - [virt] kvm: Cache as_id in kvm_memory_slot (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add functions to handle changed TDP SPTEs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Allocate and free TDP MMU roots (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Init / Uninit the TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Introduce tdp_iter (Vitaly Kuznetsov) [1882793] - [x86] kvm: mmu: extract spte.h and spte.c (Vitaly Kuznetsov) [1882793] - [x86] kvm: mmu: Separate updating a PTE from kvm_set_pte_rmapp (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Separate making SPTEs from set_spte (Vitaly Kuznetsov) [1882793] - [x86] kvm: mmu: Separate making non-leaf sptes from link_shadow_page (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Let the guest own CR4.FSGSBASE (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Intercept guest reserved CR4 bits to inject #GP fault (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move call to update_exception_bitmap() into VMX code (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Invoke vendor's vcpu_after_set_cpuid() after all common updates (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Intercept LA57 to inject #GP fault when it's reserved (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Initialize prev_ga_tag before use (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: implement on demand allocation of the nested state (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: allow kvm_x86_ops.set_efer to return an error value (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: report negative values from wrmsr emulation to userspace (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: xen_hvm_config: cleanup return values (Vitaly Kuznetsov) [1882793] - [x86] kvm x86/mmu: Make struct kernel_param_ops definitions const (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: allocate vcpu->arch.cpuid_entries dynamically (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: disconnect kvm_check_cpuid() from vcpu->arch.cpuid_entries (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: only provide PV features if enabled in guest's CPUID (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: set wall_clock in kvm_write_wall_clock() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: encapsulate wrmsr(MSR_KVM_SYSTEM_TIME) emulation in helper fn (Vitaly Kuznetsov) [1882793] - [x86] kvm: hide KVM options from menuconfig when KVM is not compiled (Vitaly Kuznetsov) [1882793] - [documentation] kvm: vmx: Forbid userspace MSR filters for x2APIC (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Ignore userspace MSR filters for x2APIC (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Fix x2APIC MSR intercept handling on !APICV platforms (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: vmx_uret_msrs_list[] can be static (Vitaly Kuznetsov) [1882793] - [tools] kvm: x86: do not attempt TSC synchronization on guest writes (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: delay MSR permission processing to first nested VM run (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: rename KVM_REQ_GET_VMCS12_PAGES (Vitaly Kuznetsov) [1882793] - [tools] kvm: selftests: Add test for user space MSR handling (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Introduce MSR filtering (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: vmx: Prevent MSR passthrough when MSR access is denied (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: svm: Prevent MSR passthrough when MSR access is denied (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Prepare MSR bitmaps for userspace tracked MSRs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add infrastructure for MSR filtering (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Allow deflecting unknown MSR accesses to user space (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Return -ENOENT on unimplemented MSRs (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vmx_uret_msr's "index" to "slot" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "vmx_msr_index" to "vmx_uret_msrs_list" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "vmx_set_guest_msr" to "vmx_set_guest_uret_msr" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "find_msr_entry" to "vmx_find_uret_msr" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add vmx_setup_uret_msr() to handle lookup and swap (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Move uret MSR lookup into update_transition_efer() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Check guest support for RDTSCP before processing MSR_TSC_AUX (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "__find_msr_index" to "__vmx_find_uret_msr" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vcpu_vmx's "guest_msrs_ready" to "guest_uret_msrs_loaded" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vcpu_vmx's "save_nmsrs" to "nr_active_uret_msrs" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vcpu_vmx's "nmsrs" to "nr_uret_msrs" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename the "shared_msr_entry" struct to "vmx_uret_msr" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "vmx_find_msr_index" to "vmx_find_loadstore_msr_slot" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Prepend "MAX_" to MSR array size defines (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Rename "shared_msrs" to "user_return_msrs" (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move individual kvm_mmu initialization into common helper (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Read EXIT_QUAL and INTR_INFO only when needed for nested exit (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Use common definition for kvm_nested_vmexit tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add macro wrapper for defining kvm_exit tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add intr/vectoring info and error code to kvm_exit tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add a helper to test for a valid error code given an intr info (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Read guest RIP from within the kvm_nested_vmexit tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add RIP to the kvm_entry, i.e. VM-Enter, tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: WARN on attempt to switch the currently loaded VMCS (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Drop redundant VMCS switch and free_nested() call (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Ensure vmcs01 is the loaded VMCS when freeing nested state (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Move free_nested() below vmx_switch_vmcs() (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Explicitly check for valid guest state for !unrestricted guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Reload vmcs01 if getting vmcs12's pages fails (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Reset the segment cache when stuffing guest segs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Track write/user faults using bools (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Hoist ITLB multi-hit workaround check up a level (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Rename 'hlevel' to 'level' in FNAME(fetch) (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Account NX huge page disallowed iff huge page was requested (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Capture requested page level before NX huge page workaround (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move "huge page disallowed" calculation into mapping helpers (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Refactor the zap loop for recovering NX lpages (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Commit zap of remaining invalid pages when recovering lpages (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename ops.h to vmx_ops.h (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Extract posted interrupt support to separate files (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Bail early from final #PF handling on spurious faults (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Return unique RET_PF_* values if the fault was fixed (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Invert RET_PF_* check when falling through to emulation (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Return -EIO if page fault returns RET_PF_INVALID (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Recursively zap nested TDP SPs when zapping last/only parent (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move flush logic from mmu_page_zap_pte() to FNAME(invlpg) (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: hyper-v: disallow configuring SynIC timers with no SynIC (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Stash 'kvm' in a local variable in kvm_mmu_free_roots() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add a helper and macros to reduce boilerplate for sec exec ctls (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename RDTSCP secondary exec control name to insert "ENABLE" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Use VMX_FEATURE_* flags to define VMCS control bits (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Unconditionally clear CPUID.INVPCID if !CPUID.PCID (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vmx_*_supported() helpers to cpu_has_vmx_*() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Use "illegal GPA" helper for PT/RTIT output base check (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move illegal GPA helper out of the MMU code (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Replace MSR_IA32_RTIT_OUTPUT_BASE_MASK with helper function (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Unexport cpuid_query_maxphyaddr() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Use precomputed MAXPHYADDR for RTIT base MSR check (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Do not perform emulation for INVD intercept (Vitaly Kuznetsov) [1882793] - [x86] kvm: sev: shorten comments around sev_clflush_pages (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Mark SEV launch secret pages as dirty (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Add VM-Enter failed tracepoints for super early checks (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: CR3 MBZ bits are only 63:52 (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: emulating RDPID failure shall return #UD rather than #GP (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Morph notification vector IRQ on nested VM-Enter to pending PI (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add tracepoint for cr_interception (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Analyze is_guest_mode() in svm_vcpu_run() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Invoke NMI handler via indirect call instead of INTn (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Move IRQ invocation to assembly subroutine (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add kvm_x86_ops hook to short circuit emulation (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: use __GFP_ZERO instead of clear_page() (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: KVM needs to unset "unrestricted guest" VM-execution control in vmcs02 if vmcs12 doesn't set it (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Enable INVPCID feature on AMD (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move handling of INVPCID types to x86 (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Rename and move the function vmx_handle_memory_failure to x86.c (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Remove set_cr_intercept, clr_cr_intercept and is_cr_intercept (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add new intercept word in vmcb_control_area (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Modify 64 bit intercept field to two 32 bit vectors (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Modify intercept_exceptions to generic intercepts (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Change intercept_dr to generic intercepts (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Change intercept_cr to generic intercepts (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Introduce vmcb_(set_intercept/clr_intercept/_is_intercept) (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: Remove unused field (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: refactor exit labels in svm_create_vcpu (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: use __GFP_ZERO instead of clear_page (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: refactor msr permission bitmap allocation (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: rename nested vmcb to vmcb12 (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: rename a variable in the svm_create_vcpu (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Reduce world switch latency caused by timer_advance_ns (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Narrow down the kick target vCPU (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Guarantee the timer is in tsc-deadline mode when setting (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Return 0 when getting the tscdeadline timer if the lapic is hw disabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Fix updating DFR missing apic map recalculation (Vitaly Kuznetsov) [1882793] - [virt] kvm/eventfd: move wildcard calculation outside loop (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Simplify the initialization of nested_vmx_msrs (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Fix VMX controls MSRs setup when nested VMX enabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: Avoid freeing uninitialized pointers in svm_set_nested_state() (Vitaly Kuznetsov) [1882793] - [x86] hyperv: Remove aliases with X64 in their name (Vitaly Kuznetsov) [1882793] - [x86] hyperv: Split hyperv-tlfs.h into arch dependent and independent files (Vitaly Kuznetsov) [1882793] - [x86] hyperv: Remove HV_PROCESSOR_POWER_STATE #defines (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add GHCB definitions (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: nested: Don't allocate VMCB structures on stack (Vitaly Kuznetsov) [1882793] - [x86] kvm: mmu: page_track: Fix RCU list API usage (Vitaly Kuznetsov) [1882793] - [kernel] rculist: Introduce list/hlist_for_each_entry_srcu() macros (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: update PFEC_MASK/PFEC_MATCH together with PF intercept (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add a dedicated INVD intercept routine (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Reset MMU context if guest toggles CR4.SMAP or CR4.PKE (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: fix MSR_IA32_TSC read for nested migration (Vitaly Kuznetsov) [1882793] - [tools] selftests: kvm: Fix assert failure in single-step test (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: vmx: Make smaller physical guest address space support user-configurable (Vitaly Kuznetsov) [1882793] - [x86] revert "kvm: Check the allocation of pv cpu mask" (Vitaly Kuznetsov) [1882793] - [x86] kvm: emulator: more strict rsm checks (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: more strict SMM checks when returning to nested guest (Vitaly Kuznetsov) [1882793] - [x86] svm: nsvm: setup nested msr permission bitmap on nested state load (Vitaly Kuznetsov) [1882793] - [x86] svm: nsvm: correctly restore GIF on vmexit from nesting after migration (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Don't freeze guest when event delivery causes an APIC-access exit (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: avoid emulation with stale next_rip (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: always allow writing '0' to MSR_KVM_ASYNC_PF_EN (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Periodically schedule when unregistering regions on destroy (Vitaly Kuznetsov) [1882793] - [x86] kvm x86/mmu: use KVM_REQ_MMU_SYNC to sync when needed (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Fix the update value of nested load IA32_PERF_GLOBAL_CTRL control (Vitaly Kuznetsov) [1882793] - [virt] kvm: fix memory leak in kvm_io_bus_unregister_dev() (Vitaly Kuznetsov) [1882793] - [x86] kvm: Check the allocation of pv cpu mask (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Update VMCS02 when L2 PAE PDPTE updates detected (Vitaly Kuznetsov) [1882793] - [documentation] kvm: documentation: Minor fixups (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Toggling CR4.PKE does not load PDPTEs in PAE mode (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Toggling CR4.SMAP does not load PDPTEs in PAE mode (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: fix access code passed to gva_to_gpa (Vitaly Kuznetsov) [1882793] - [tools] selftests: kvm: Use a shorter encoding to clear RAX (Vitaly Kuznetsov) [1882793] - [x86] kvm/hyper-v: Synic default SCONTROL MSR needs to be enabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Don't attempt to load PDPTRs when 64-bit mode is enabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: detect assigned device via irqbypass manager (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Fix sev_pin_memory() error handling (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Set the TDCR settable bits (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Fix disable pause loop exit/pause filtering capability on SVM (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Prevent setting the tscdeadline timer if the lapic is hw disabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Specify max TDP level via kvm_configure_mmu() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Rename max_page_level to max_huge_page_level (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Dynamically calculate TDP level from max level and MAXPHYADDR (Vitaly Kuznetsov) [1882793] - [x86] kvm: vxm: Remove temporary WARN on expected vs. actual EPTP level mismatch (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Pull the PGD's level from the MMU instead of recalculating it (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Make vmx_load_mmu_pgd() static (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add separate helper for shadow NPT root page role calc (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Drop a duplicate declaration of construct_eptp() (Vitaly Kuznetsov) [1882793] - [x86] kvm: Using macros instead of magic values (Vitaly Kuznetsov) [1882793] - [tools] kvm: nvmx: check for invalid hdr.vmx.flags (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: check for required but missing VMCS12 in KVM_SET_NESTED_STATE (Vitaly Kuznetsov) [1882793] - [tools] selftests: kvm: do not set guest mode flag (Vitaly Kuznetsov) [1882793] - [documentation] documentation: virt/kvm/api: eliminate duplicated word (Vitaly Kuznetsov) [1882793] - [documentation] docs: kvm: Replace HTTP links with HTTPS ones (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: remove nonsensical EXITINFO1 adjustment on nested NPF (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add a capability for GUEST_MAXPHYADDR < HOST_MAXPHYADDR support (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: optimize #PF injection when MAXPHYADDR does not match (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add guest physical address check in EPT violation and misconfig (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: introduce vmx_need_pf_intercept (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: update exception bitmap on CPUID changes (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: rename update_bp_intercept to update_exception_bitmap (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: mmu: Add guest physical address check in translate_gpa() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: mmu: Move translate_gpa() to mmu.c (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add helper functions for illegal GPA checking and page fault injection (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: move MSR_IA32_PERF_CAPABILITIES emulation to common x86 code (Vitaly Kuznetsov) [1882793] - [virt] kvm: Move x86's MMU memory cache helpers to common KVM code (Vitaly Kuznetsov) [1882793] - [kernel] kvm: Move x86's version of struct kvm_mmu_memory_cache to common code (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Prepend "kvm_" to memory cache helpers that will be global (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Skip filling the gfn cache for guaranteed direct MMU topups (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Zero allocate shadow pages (outside of mmu_lock) (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Make __GFP_ZERO a property of the memory cache (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Separate the memory caches for shadow pages and gfn arrays (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Clean up the gorilla math in mmu_topup_memory_caches() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Topup memory caches after walking GVA->GPA (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move fast_page_fault() call above mmu_topup_memory_caches() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Try to avoid crashing KVM if a MMU memory cache is empty (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Remove superfluous gotos from mmu_topup_memory_caches() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Use consistent "mc" name for kvm_mmu_memory_cache locals (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Consolidate "page" variant of memory cache helpers (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Track the associated kmem_cache in the MMU caches (Vitaly Kuznetsov) [1882793] - [x86] kvm/x86: pmu: Fix #GP condition check for RDPMC emulation (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move kvm_x86_ops.vcpu_after_set_cpuid() into kvm_vcpu_after_set_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Rename cpuid_update() callback to vcpu_after_set_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Rename kvm_update_cpuid() to kvm_vcpu_after_set_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Extract kvm_update_cpuid_runtime() from kvm_update_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Introduce kvm_check_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move kvm_apic_set_version() to kvm_update_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Use guest_cpuid_has() in kvm_apic_set_version() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Go on updating other CPUID leaves when leaf 1 is absent (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Reset vcpu->arch.cpuid_nent to 0 if SET_CPUID* fails (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: limit the maximum number of vPMU fixed counters to 3 (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: Check that MBZ bits in CR3 and CR4 are not set on vmrun of nested guests (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Make CR4.VMXE reserved for the guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Create mask for guest CR4 reserved bits in kvm_update_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Read PDPTEs on CR0.CD and CR0.NW changes (Vitaly Kuznetsov) [1882793] - [x86] kvm: Add "nopvspin" parameter to disable PV spinlocks (Vitaly Kuznetsov) [1882793] - [x86] kvm: Change print code to use pr_*() format (Vitaly Kuznetsov) [1882793] - [x86] revert "kvm: x86: Fix setup the virt_spin_lock_key before static key get initialized" (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Rename page_header() to to_shadow_page() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add sptep_to_sp() helper to wrap shadow page lookup (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Make kvm_mmu_page definition and accessor internal-only (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add MMU-internal header (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move kvm_mmu_available_pages() into mmu.c (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move mmu_audit.c and mmutrace.h into the mmu/ sub-directory (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Exit to userspace on make_mmu_pages_available() error (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Batch zap MMU pages when shrinking the slab (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Batch zap MMU pages when recycling oldest pages (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Don't put invalid SPs back on the list of active pages (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Optimize MMU page cache lookup for fully direct MMUs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Avoid multiple hash lookups in kvm_get_mmu_page() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Use VMCALL and VMMCALL mnemonics in kvm_para.h (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Rename svm_nested_virtualize_tpr() to nested_svm_virtualize_tpr() (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add svm_ prefix to set/clr/is_intercept() (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add vmcb_ prefix to mark_*() functions (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Rename struct nested_state to svm_nested_state (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Wrap VM-Fail valid path in generic VM-Fail helper (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Set last_vmentry_cpu in vcpu_enter_guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move last_cpu into kvm_vcpu_arch as last_vmentry_cpu (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add "last CPU" to some KVM_EXIT information (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add last_cpu to struct vcpu_vmx (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Always set svm->last_cpu on VMRUN (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Prefer vcpu->cpu to raw_smp_processor_id() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: report sev_pin_memory errors with PTR_ERR (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: fix svn_pin_memory()'s use of get_user_pages_fast() (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: Check that DR6[63:32] and DR7[64:32] are not set on vmrun of nested guests (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move the check for upper 32 reserved bits of DR6 to separate function (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Do the same ignore_msrs check for feature msrs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move ignore_msrs handling upper the stack (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Make .write_log_dirty a nested operation (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: WARN if PML emulation helper is invoked outside of nested guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Drop kvm_arch_write_log_dirty() wrapper (Vitaly Kuznetsov) [1882793] - [s390] kvm: async_pf: change kvm_setup_async_pf()/kvm_arch_setup_async_pf() return type to bool (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: drop KVM_PV_REASON_PAGE_READY case from kvm_handle_page_fault() (Vitaly Kuznetsov) [1882793] - [documentation] documentation: virt: kvm/api: drop doubled words (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Use KVM_POSSIBLE_CR*_GUEST_BITS to initialize guest/host masks (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Mark CR4.TSD as being possibly owned by the guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Inject #GP if guest attempts to toggle CR4.LA57 in 64-bit mode (Vitaly Kuznetsov) [1882793] - [virt] kvm: use more precise cast and do not drop __user (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: bit 8 of non-leaf PDPEs is not reserved (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Fix async pf caused null-ptr-deref (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Remove vcpu_vmx's defunct copy of host_pkru (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: allow TSC to differ by NTP correction bounds without TSC scaling (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Fix MSR range of APIC registers in X2APIC mode (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Stop context switching MSR_IA32_UMWAIT_CONTROL (Vitaly Kuznetsov) [1882793] - [x86] cpu: Move prototype for get_umwait_control_msr() to a global location (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Plumb L2 GPA through to PML emulation (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Avoid mixing gpa_t with gfn_t in walk_addr_generic() (Vitaly Kuznetsov) [1882793] - [x86] process/64: Make save_fsgs_for_kvm() ready for FSGSBASE (Vitaly Kuznetsov) [1882793] - [kernel] kvm: Replace zero-length array with flexible-array (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add helpers to identify interrupt type from intr_info (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Switch KVM guest to using interrupts for page ready APF delivery (Vitaly Kuznetsov) [1882793] - [x86] kvm: Remove defunct KVM_DEBUG_FS Kconfig (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Always treat MSR_IA32_PERF_CAPABILITIES as a valid PMU MSR (Vitaly Kuznetsov) [1882793] - [x86] kvm_hv_set_msr(): use __put_user() instead of 32bit __clear_user() (Vitaly Kuznetsov) [1882793] - [tools] kvm: selftests: update hyperv_cpuid with SynDBG tests (Vitaly Kuznetsov) [1882793] - [x86] kvm/hyper-v: Add support for synthetic debugger via hypercalls (Vitaly Kuznetsov) [1882793] - [x86] kvm/hyper-v: enable hypercalls regardless of hypercall page (Vitaly Kuznetsov) [1882793] - [x86] kvm/hyper-v: Add support for synthetic debugger interface (Vitaly Kuznetsov) [1882793] - [x86] hyper-v: Add synthetic debugger definitions (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/pmu: Support full width counting (Vitaly Kuznetsov) [1882793] - [documentation] kvm: x86: announce KVM_FEATURE_ASYNC_PF_INT (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: acknowledgment mechanism for async pf page ready notifications (Vitaly Kuznetsov) [1882793] - [documentation] kvm: x86: interrupt based APF 'page ready' event delivery (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: extend struct kvm_vcpu_pv_apf_data with token info (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: hyperv: Remove duplicate definitions of Reference TSC Page (Vitaly Kuznetsov) [1882793] - [x86] kvm: Restrict ASYNC_PF to user space (Vitaly Kuznetsov) [1882793] - [x86] kvm: Sanitize kvm_async_pf_task_wait() (Vitaly Kuznetsov) [1882793] - [x86] kvm: Handle async page faults directly through do_page_fault() (Vitaly Kuznetsov) [1882793] - [virt] kvm: add halt-polling cpu usage stats (Vitaly Kuznetsov) [1882793] - [powerpc] kvm: Replace vcpu->swait with rcuwait (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Introduce rcuwait_active() (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Introduce prepare_to and finish_rcuwait (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Add @state argument to rcuwait_wait_event() (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Let rcuwait_wake_up() return whether or not a task was awoken (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Fix stale wake call name in comment (Vitaly Kuznetsov) [1882793] - [s390] kvm: s390: Use kvm_vcpu_wake_up in kvm_s390_vcpu_wakeup (Vitaly Kuznetsov) [1882793] - [documentation] docs/virt/kvm: Document configuring and running nested guests (Vitaly Kuznetsov) [1882793] - [tools] docs: fix broken references for ReST files that moved around (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Extend VMXs #AC interceptor to handle split lock #AC in guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Emulate split-lock access as a write in emulator (Vitaly Kuznetsov) [1882793] - [net] core: check length before updating Ethertype in skb_mpls_{push,pop} (Guillaume Nault) [1893886] - [net] pktgen: fix error message with wrong function name (Guillaume Nault) [1893886] - [net] handle the return value of pskb_carve_frag_list() correctly (Guillaume Nault) [1893886] - [net] Fix potential wrong skb->protocol in skb_vlan_untag() (Guillaume Nault) [1893886] - [net] make symbol 'flush_works' static (Guillaume Nault) [1893886] - [net] compat: Add missing sock updates for SCM_RIGHTS (Guillaume Nault) [1893886] - [net] mpls: drop skb's dst in mpls_forward() (Guillaume Nault) [1893886] - [include] net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb (Guillaume Nault) [1893886] - [net] fix skb_panic to output real address (Guillaume Nault) [1893886] - [net] fix a potential recursive NETDEV_FEAT_CHANGE (Guillaume Nault) [1893886] - [net] neigh: send protocol value in neighbor create notification (Guillaume Nault) [1893886] - [net] revert default NAPI poll timeout to 2 jiffies (Guillaume Nault) [1893886] - [net] compat_ioctl: handle SIOCOUTQNSD (Guillaume Nault) [1893886] - [net] neigh: use long type to store jiffies delta (Guillaume Nault) [1893886] - [documentation] dev-tools: kselftest.rst: Update examples and paths (Hangbin Liu) [1876011] - [tools] selftests/run_kselftest.sh: Make each test individually selectable (Hangbin Liu) [1876011] - [tools] selftests: Extract run_kselftest.sh and generate stand-alone test list (Hangbin Liu) [1876011] - [tools] selftests/harness: Flush stdout before forking (Hangbin Liu) [1876011] - [tools] selftests: forwarding: Add missing 'rp_filter' configuration (Hangbin Liu) [1892298] - [tools] selftests/net: relax cpu affinity requirement in msg_zerocopy test (Hangbin Liu) [1892298] - [tools] selftests: ethtool: Fix test when only two speeds are supported (Hangbin Liu) [1892298] - [tools] selftests/net: tcp_mmap: fix clang warning for target arch PowerPC (Hangbin Liu) [1892298] - [tools] selftests/net: psock_fanout: fix clang issues for target arch PowerPC (Hangbin Liu) [1892298] - [netdrv] netxen: mark netxen_nic as deprecated in RHEL8 (Ivan Vecera) [1878188] - [net] linkmode: introduce linkmode_intersects() (Ivan Vecera) [1893193] - [net] ipv6: avoid lockdep issue in fib6_del() (Hangbin Liu) [1892196] - [net] ipv6: fix memory leaks on IPV6_ADDRFORM path (Hangbin Liu) [1892196] - [net] ila: remove unused inline function ila_addr_is_ila (Hangbin Liu) [1892196] - [net] ila: Fix uninitialised return value in ila_xlat_nl_cmd_flush (Hangbin Liu) [1892196] - [netdrv] i40e: always propagate error value in i40e_set_vsi_promisc() (Stefan Assmann) [1835705] - [netdrv] i40e: fix return of uninitialized aq_ret in i40e_set_vsi_promisc (Stefan Assmann) [1835705] - [netdrv] i40e: Remove scheduling while atomic possibility (Stefan Assmann) [1835705] - [pci] hv: Fix hibernation in case interrupts are not re-created (Mohammed Gamal) [1846838] - [powerpc] kvm: ppc: book3s hv: xics: Replace the 'destroy' method by a 'release' method (Greg Kurz) [1857527] - [security] selinux: complete the inlining of hashtab functions (Ondrej Mosnacek) [1878149] - [security] selinux: prepare for inlining of hashtab functions (Ondrej Mosnacek) [1878149] - [security] selinux: specialize symtab insert and search functions (Ondrej Mosnacek) [1878149] - [security] selinux: fixed a checkpatch warning with the sizeof macro (Ondrej Mosnacek) [1878149] - [security] selinux: log error messages on required process class / permissions (Ondrej Mosnacek) [1878149] - [security] selinux: fix undefined return of cond_evaluate_expr (Ondrej Mosnacek) [1878149] - [security] selinux: fix a double free in cond_read_node()/cond_read_list() (Ondrej Mosnacek) [1878149] - [security] selinux: fix double free (Ondrej Mosnacek) [1878149] - [security] selinux: netlabel: Remove unused inline function (Ondrej Mosnacek) [1878149] - [security] selinux: do not allocate hashtabs dynamically (Ondrej Mosnacek) [1878149] - [security] selinux: fix return value on error in policydb_read() (Ondrej Mosnacek) [1878149] - [security] selinux: simplify range_write() (Ondrej Mosnacek) [1878149] - [security] selinux: fix error return code in policydb_read() (Ondrej Mosnacek) [1878149] - [security] selinux: don't produce incorrect filename_trans_count (Ondrej Mosnacek) [1878149] - [security] selinux: implement new format of filename transitions (Ondrej Mosnacek) [1878149] - [security] selinux: move context hashing under sidtab (Ondrej Mosnacek) [1878149] - [security] selinux: hash context structure directly (Ondrej Mosnacek) [1878149] - [security] selinux: store role transitions in a hash table (Ondrej Mosnacek) [1878149] - [security] selinux: drop unnecessary smp_load_acquire() call (Ondrej Mosnacek) [1878149] - [security] selinux: fix warning Comparison to bool (Ondrej Mosnacek) [1878149] - [security] selinux: fix error return code in cond_read_list() (Ondrej Mosnacek) [1878149] - [security] selinux: free str on error in str_read() (Ondrej Mosnacek) [1878149] - [security] selinux: clean up indentation issue with assignment statement (Ondrej Mosnacek) [1878149] - [security] selinux: avtab_init() and cond_policydb_init() return void (Ondrej Mosnacek) [1878149] - [security] selinux: clean up error path in policydb_init() (Ondrej Mosnacek) [1878149] - [security] selinux: remove unused initial SIDs and improve handling (Ondrej Mosnacek) [1878149] - [security] selinux: reduce the use of hard-coded hash sizes (Ondrej Mosnacek) [1878149] - [security] selinux: Add xfs quota command types (Ondrej Mosnacek) [1878149] - [security] selinux: optimize storage of filename transitions (Ondrej Mosnacek) [1878149] - [security] selinux: factor out loop body from filename_trans_read() (Ondrej Mosnacek) [1878149] - [security] selinux: generalize evaluate_cond_node() (Ondrej Mosnacek) [1878149] - [security] selinux: convert cond_expr to array (Ondrej Mosnacek) [1878149] - [security] selinux: convert cond_av_list to array (Ondrej Mosnacek) [1878149] - [security] selinux: convert cond_list to array (Ondrej Mosnacek) [1878149] - [security] selinux: sel_avc_get_stat_idx should increase position index (Ondrej Mosnacek) [1878149] - [security] selinux: simplify evaluate_cond_node() (Ondrej Mosnacek) [1878149] - [security] selinux: move status variables out of selinux_ss (Ondrej Mosnacek) [1878149] - [scripts] selinux: use kernel linux/socket.h for genheaders and mdp (Ondrej Mosnacek) [1878149] - [scripts] genheaders: -s had been there since v6; -*s - since v7 (Ondrej Mosnacek) [1878149] - [scsi] scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug (Ming Lei) [1876863] - [scsi] scsi: scsi_debug: Support host tagset (Ming Lei) [1876863] - [scsi] scsi: core: Show nr_hw_queues in sysfs (Ming Lei) [1876863] - [scsi] scsi: Add host and host template flag 'host_tagset' (Ming Lei) [1876863] - [block] null_blk: Support shared tag bitmap (Ming Lei) [1876863] - [block] blk-mq, elevator: Count requests per hctx to improve performance (Ming Lei) [1876863] - [block] blk-mq: Record active_queues_shared_sbitmap per tag_set for when using shared sbitmap (Ming Lei) [1876863] - [block] blk-mq: Record nr_active_requests per queue for when using shared sbitmap (Ming Lei) [1876863] - [block] blk-mq: Relocate hctx_may_queue() (Ming Lei) [1876863] - [block] blk-mq: Facilitate a shared sbitmap per tagset (Ming Lei) [1876863] - [block] blk-mq: Use pointers for blk_mq_tags bitmap tags (Ming Lei) [1876863] - [block] blk-mq: Pass flags for tag init/free (Ming Lei) [1876863] - [block] blk-mq: Free tags in blk_mq_init_tags() upon error (Ming Lei) [1876863] - [block] blk-mq: Rename blk_mq_update_tag_set_depth() (Ming Lei) [1876863] - [block] blk-mq: Rename BLK_MQ_F_TAG_SHARED as BLK_MQ_F_TAG_QUEUE_SHARED (Ming Lei) [1876863] - [block] block: fix double account of flush request's driver tag (Ming Lei) [1876863] - [block] blk-mq: centralise related handling into blk_mq_get_driver_tag (Ming Lei) [1876863] - [block] blk-mq: streamline handling of q->mq_ops->queue_rq result (Ming Lei) [1876863] - [block] blk-mq: remove pointless call of list_entry_rq() in hctx_show_busy_rq() (Ming Lei) [1876863] - [block] blk-mq: move blk_mq_get_driver_tag into blk-mq.c (Ming Lei) [1876863] - [block] blk-mq: support batching dispatch in case of io (Ming Lei) [1876863] - [block] blk-mq: pass obtained budget count to blk_mq_dispatch_rq_list (Ming Lei) [1876863] - [block] blk-mq: remove dead check from blk_mq_dispatch_rq_list (Ming Lei) [1876863] - [block] blk-mq: move getting driver tag and budget into one helper (Ming Lei) [1876863] - [block] blk-mq: pass hctx to blk_mq_dispatch_rq_list (Ming Lei) [1876863] - [block] blk-mq: remove the BLK_MQ_REQ_INTERNAL flag (Ming Lei) [1876863] - [net] netns: Constify exported functions (Guillaume Nault) [1806134] - [net] netns: protect netns ID lookups with RCU (Guillaume Nault) [1806134] - [net] netns: Remove __peernet2id_alloc() (Guillaume Nault) [1806134] - [net] netns: read NETNSA_NSID as s32 attribute in rtnl_net_getid() (Guillaume Nault) [1806134] - [tools] selftests: txtimestamp: add flag for timestamp validation tolerance. (Hangbin Liu) [1861175] - [tools] selftests/net: so_txtime: fix clang issues for target arch PowerPC (Hangbin Liu) [1861175] - [tools] selftests/net: rxtimestamp: fix clang issues for target arch PowerPC (Hangbin Liu) [1861175] - [tools] selftest: txtimestamp: fix net ns entry logic (Hangbin Liu) [1861175] - [tools] selftests/net: update initializer syntax to use c99 designators (Hangbin Liu) [1861175] - [tools] selftests/net: add ipv6 test coverage in rxtimestamp test (Hangbin Liu) [1861175] - [tools] selftests/net: plug rxtimestamp test into kselftest framework (Hangbin Liu) [1861175] - [tools] selftests/net: in rxtimestamp getopt_long needs terminating null entry (Hangbin Liu) [1861175] - [tools] selftests/net: in timestamping, strncpy needs to preserve null byte (Hangbin Liu) [1861175] - [tools] selftests: move timestamping selftests to net folder (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: print statistics for timestamp events. (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: add support for epoll(). (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: add new command-line flags. (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: allow printing latencies in nsec. (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: allow individual txtimestamp tests. (Hangbin Liu) [1861175] - [tools] selftests: timestamping: Fix SIOCGSTAMP undeclared build failure (Hangbin Liu) [1861175] - [tools] selftests: fix timestamping Makefile (Hangbin Liu) [1861175] - [tools] selftests: add missing include unistd (Hangbin Liu) [1861175] - [tools] selftests/txtimestamp: Fix an equals vs assign bug (Hangbin Liu) [1861175] - [tools] selftests: add txtimestamp kselftest (Hangbin Liu) [1861175] - [tools] selftests: expand txtimestamp with ipv6 dgram + raw and pf_packet (Hangbin Liu) [1861175] - [tools] selftests: expand txtimestamp with cmsg support (Hangbin Liu) [1861175] - [hwmon] hwmon: (k10temp) Add support for Zen3 CPUs (Wei Huang) [1846851] - [powerpc] vfs: add faccessat2 syscall (Miklos Szeredi) [1333764] - [fs] vfs: split out access_override_creds() (Miklos Szeredi) [1333764] - [md] Revert "dm writecache: set "Tech Preview" taint using mark_tech_preview()" (Mike Snitzer) [1859413] - [s390] mm: fix huge pte soft dirty copying (Cornelia Huck) [1700709] - [fs] proc/mounts: add cursor (Miklos Szeredi) [1759472]- [char] random: Add a poll handler to extrng_fops (Vladis Dronov) [1884857] - [platform] platform/mellanox: mlxbf-pmc: Add Mellanox BlueField PMC driver (Alaa Hleihel) [1655729] - [mm] mm/page_idle.c: skip offline pages (Chris von Recklinghausen) [1867490] - [powerpc] powerpc/pseries: Detect secure and trusted boot state of the system (Diego Domingos) [1853411] - [net] bpf: Check correct cred for CAP_SYSLOG in bpf_dump_raw_ok() (Yauheni Kaliuta) [1874003] - [kernel] kallsyms: Refactor kallsyms_show_value() to take cred (Yauheni Kaliuta) [1874003] - [kernel] kprobes: Show blacklist addresses as same as kallsyms does (Yauheni Kaliuta) [1874003] - [arm64] arm64: insn: Report PAC and BTI instructions as skippable (Yauheni Kaliuta) [1874003] - [arm64] arm64: insn: Don't assume unrecognized HINTs are skippable (Yauheni Kaliuta) [1874003] - [lib] usercopy: Avoid soft lockups in test_check_nonzero_user() (Yauheni Kaliuta) [1874003] - [security] selinux: map CAP_PERFMON and CAP_BPF to CAP_SYS_ADMIN (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: fix netdevsim trap_flow_action_cookie read (Yauheni Kaliuta) [1874003] - [net] net/bpfilter: Initialize pos in __bpfilter_process_sockopt (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Extend map-in-map selftest to detect memory leaks (Yauheni Kaliuta) [1874003] - [net] bpf: Fix map leak in HASH_OF_MAPS map (Yauheni Kaliuta) [1874003] - [net] bpf: Fix NULL pointer dereference in __btf_resolve_helper_id() (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix cgroup sockopt verifier test (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix libbpf hashmap on (I)LP32 architectures (Yauheni Kaliuta) [1874003] - [tools] selftests: bpf: Fix detach from sockmap tests (Yauheni Kaliuta) [1874003] - [net] bpf: net: Avoid incorrect bpf_sk_reuseport_detach call (Yauheni Kaliuta) [1874003] - [net] bpf: net: Avoid copying sk_user_data of reuseport_array during sk_clone (Yauheni Kaliuta) [1874003] - [tools] bpf: Add tests for PTR_TO_BTF_ID vs. null comparison (Yauheni Kaliuta) [1874003] - [net] bpf: Fix an incorrect branch elimination by verifier (Yauheni Kaliuta) [1874003] - [include] bpf: sockmap: Require attach_bpf_fd when detaching a program (Yauheni Kaliuta) [1874003] - [net] bpf: sockmap: Check value of unused args to BPF_PROG_ATTACH (Yauheni Kaliuta) [1874003] - [net] bpf: Enforce BPF ringbuf size to be the power of 2 (Yauheni Kaliuta) [1874003] - [tools] bpf, sockmap: Add ingres skb tests that utilize merge skbs (Yauheni Kaliuta) [1874003] - [net] bpf, sockmap: RCU dereferenced psock may be used outside RCU block (Yauheni Kaliuta) [1874003] - [net] bpf, sockmap: RCU splat with redirect and strparser error or TLS (Yauheni Kaliuta) [1874003] - [tools] bpf: tcp: bpf_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT (Yauheni Kaliuta) [1874003] - [net] bpf: Do not allow btf_ctx_access with __int128 types (Yauheni Kaliuta) [1874003] - [tools] bpf: Fix formatting in documentation for BPF helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Restore behaviour of CAP_SYS_ADMIN allowing the loading of networking bpf programs (Yauheni Kaliuta) [1874003] - [net] bpf: Set the number of exception entries properly for subprograms (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix CO-RE relocs against .text section (Yauheni Kaliuta) [1874003] - [tools] libbpf: Forward-declare bpf_stats_type for systems with outdated UAPI headers (Yauheni Kaliuta) [1874003] - [documentation] bpf: Document optval > PAGE_SIZE behavior for sockopt hooks (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Make sure optvals > PAGE_SIZE are bypassed (Yauheni Kaliuta) [1874003] - [net] bpf: Don't return EINVAL from {get, set}sockopt when optlen > PAGE_SIZE (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Add ringbuf map type to map command docs (Yauheni Kaliuta) [1874003] - [samples] bpf, xdp, samples: Fix null pointer dereference in *_user code (Yauheni Kaliuta) [1874003] - [tools] tools/bpftool: Add ringbuf map to a list of known map types (Yauheni Kaliuta) [1874003] - [tools] bpf: Fix definition of bpf_ringbuf_output() helper in UAPI comments (Yauheni Kaliuta) [1874003] - [net] bpf: Undo internal BPF_PROBE_MEM in BPF insns dump (Yauheni Kaliuta) [1874003] - [tools] libbpf: Support pre-initializing .bss global variables (Yauheni Kaliuta) [1874003] - [tools] tools/bpftool: Fix skeleton codegen (Yauheni Kaliuta) [1874003] - [net] bpf: Fix memlock accounting for sock_hash (Yauheni Kaliuta) [1874003] - [net] bpf: tcp: Recv() should return 0 when the peer socket is closed (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Exit on error in function codegen (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Fix memory leak in codegen error cases (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add cgroup_skb/egress test for load_bytes_relative (Yauheni Kaliuta) [1874003] - [net] net/filter: Permit reading NET in load_bytes_relative when MAC not set (Yauheni Kaliuta) [1874003] - [tools] tools, bpf: Do not force gcc as CC (Yauheni Kaliuta) [1874003] - [tools] libbpf: Define __WORDSIZE if not available (Yauheni Kaliuta) [1874003] - [net] bpf: Devmap adjust uapi for attach bpf program (Yauheni Kaliuta) [1874003] - [net] bpf: Reset data_meta before running programs attached to devmap entry (Yauheni Kaliuta) [1874003] - [scripts] scripts: Require pahole v1.16 when generating BTF (Yauheni Kaliuta) [1874003] - [net] bpf, sockhash: Synchronize delete from bucket list on map free (Yauheni Kaliuta) [1874003] - [net] bpf, sockhash: Fix memory leak when unlinking sockets in sock_hash_free (Yauheni Kaliuta) [1874003] - [net] bpf/sockmap: Fix kernel panic at __tcp_bpf_recvmsg (Yauheni Kaliuta) [1874003] - [kernel] bpf: rework the compat kernel probe handling (Yauheni Kaliuta) [1874003] - [kernel] bpf: handle the compat string in bpf_trace_copy_string better (Yauheni Kaliuta) [1874003] - [kernel] bpf: factor out a bpf_trace_copy_string helper (Yauheni Kaliuta) [1874003] - [net] mmap locking API: add mmap_read_trylock_non_owner() (Yauheni Kaliuta) [1874003] - [net] bpf: sockmap: use mmap locking API (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix ringbuf selftest sample counting undeterminism (Yauheni Kaliuta) [1874003] - [net] bpf: Fix an error code in check_btf_func() (Yauheni Kaliuta) [1874003] - [net] bpf: make bpf_check_uarg_tail_zero() use check_zeroed_user() (Yauheni Kaliuta) [1874003] - [lib] lib: introduce copy_struct_from_user() helper (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add a default $(CXX) value (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: Don't use $(COMPILE.c) (Yauheni Kaliuta) [1874003] - [s390] s390/bpf: Use bcr 0, 0 as tail call nop filler (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix verifier test (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix sample_cnt shared between two threads (Yauheni Kaliuta) [1874003] - [tools] bpf, selftests: Adapt cls_redirect to call csum_level helper (Yauheni Kaliuta) [1874003] - [net] bpf: Add csum_level helper for fixing up csum levels (Yauheni Kaliuta) [1874003] - [net] bpf: Fix up bpf_skb_adjust_room helper's skb csum setting (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add _GNU_SOURCE for reallocarray to ringbuf.c (Yauheni Kaliuta) [1874003] - [net] bpf: Use tracing helpers for lsm programs (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add test for SO_BINDTODEVICE opt of bpf_setsockopt (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: sync bpf.h (Yauheni Kaliuta) [1874003] - [tools] bpf, selftests: Add test for ktls with skb bpf ingress policy (Yauheni Kaliuta) [1874003] - [net] bpf: Fix running sk_skb program types with ktls (Yauheni Kaliuta) [1874003] - [net] bpf: Refactor sockmap redirect code so its easy to reuse (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add SEC name for xdp programs attached to device map (Yauheni Kaliuta) [1874003] - [net] bpf: Add support to attach bpf program to a devmap entry (Yauheni Kaliuta) [1874003] - [kernel] bpf: Use strncpy_from_unsafe_strict() in bpf_seq_printf() helper (Yauheni Kaliuta) [1874003] - [net] devmap: Formalize map value as a named struct (Yauheni Kaliuta) [1874003] - [net] bpf: Add rx_queue_mapping to bpf_sock (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add tests for write-only stacks/queues (Yauheni Kaliuta) [1874003] - [documentation] docs/bpf: Add BPF ring buffer design notes (Yauheni Kaliuta) [1874003] - [tools] bpf: Add BPF ringbuf and perf buffer benchmarks (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add BPF ringbuf selftests (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add BPF ring buffer support (Yauheni Kaliuta) [1874003] - [tools] bpf: Implement BPF ring buffer and verifier support for it (Yauheni Kaliuta) [1874003] - [net] bpf: Fix map permissions check (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Cleanup comments in test_maps (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Cleanup some file descriptors in test_maps (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix a typo in test_maps (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix perf_buffer__free() API for sparse allocs (Yauheni Kaliuta) [1874003] - [tools] bpf, selftests: Test probe_* helpers from SCHED_CLS (Yauheni Kaliuta) [1874003] - [tools] bpf, selftests: Add sk_msg helpers load and attach test (Yauheni Kaliuta) [1874003] - [net] bpf, sk_msg: Add get socket storage helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Extend bpf_base_func_proto helpers with probe_* and *current_task* (Yauheni Kaliuta) [1874003] - [net] bpf, sk_msg: Add some generic helpers that may be useful from sk_msg (Yauheni Kaliuta) [1874003] - [net] bpf: Fix spelling in comment explaining ARG1 in ___bpf_prog_run (Yauheni Kaliuta) [1874003] - [tools] libbpf: Install headers as part of make install (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add API to consume the perf ring buffer content (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Print correct error message when failing to load BTF (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Make capability check account for new BPF caps (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Clean subcommand help messages (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: CONFIG_LIRC required for test_lirc_mode2.sh (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: CONFIG_IPV6_SEG6_BPF required for test_seg6_loop.o (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add general instructions for test execution (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, add printk to test_sk_lookup_kern to encode null ptr check (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, verifier case for non null pointer map value branch (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, verifier case for non null pointer check branch taken (Yauheni Kaliuta) [1874003] - [net] bpf: Verifier track null pointer branch_taken with JNE and JEQ (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: sync bpf.h (Yauheni Kaliuta) [1874003] - [tools] bpf, testing: Add get{peer, sock}name selftests to test_progs (Yauheni Kaliuta) [1874003] - [tools] bpf, bpftool: Enable get{peer, sock}name attach types (Yauheni Kaliuta) [1874003] - [tools] bpf, libbpf: Enable get{peer, sock}name attach types (Yauheni Kaliuta) [1874003] - [net] bpf: Add get{peer, sock}name attach types for sock_addr (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Refactor kprobe, tail call kern progs map definition (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Add tracex7 test file to .gitignore (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Refactor tail call user progs with libbpf (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Refactor kprobe tracing user progs with libbpf (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Refactor pointer error check with libbpf (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, add ktls tests to test_sockmap (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, add blacklist to test_sockmap (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, add whitelist option to test_sockmap (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, provide verbose option for selftests execution (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, break down test_sockmap into subtests (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, improve test_sockmap total bytes counter (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, print error in test_sockmap error cases (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, sockmap test prog run without setting cgroup (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, remove prints from sockmap tests (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, move sockmap bpf prog header into progs (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Remove test_align leftovers (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Move test_align under test_progs (Yauheni Kaliuta) [1874003] - [tools] libbpf, hashmap: Fix signedness warnings (Yauheni Kaliuta) [1874003] - [tools] libbpf, hashmap: Remove unused #include (Yauheni Kaliuta) [1874003] - [net] bpf: Fix check_return_code to only allowin trace_iter progs (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Use CAP_BPF and CAP_PERFMON in tests (Yauheni Kaliuta) [1874003] - [net] bpf: Implement CAP_BPF (Yauheni Kaliuta) [1874003] - [security] bpf, capability: Introduce CAP_BPF (Yauheni Kaliuta) [1874003] - [security] capabilities: Introduce CAP_PERFMON to kernel and user space (Yauheni Kaliuta) [1874003] - [tools] bpf, bpftool: Allow probing for CONFIG_HZ from kernel config (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test for sk helpers in cgroup skb (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add connect_fd_to_fd, connect_wait net helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Introduce bpf_sk_{, ancestor_}cgroup_id helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Allow skb_ancestor_cgroup_id helper in cgroup skb (Yauheni Kaliuta) [1874003] - [net] bpf: Allow sk lookup helpers in cgroup skb (Yauheni Kaliuta) [1874003] - [tools] selftest/bpf: Fix spelling mistake "SIGALARM" -> "SIGALRM" (Yauheni Kaliuta) [1874003] - [net] bpf: Fix bpf_iter's task iterator logic (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test narrow loads for bpf_sock_addr.user_port (Yauheni Kaliuta) [1874003] - [net] bpf: Support narrow loads from bpf_sock_addr.user_port (Yauheni Kaliuta) [1874003] - [samples] samples/bpf: xdp_redirect_cpu: Set MAX_CPUS according to NR_CPUS (Yauheni Kaliuta) [1874003] - [samples] samples/bpf: Remove compiler warnings (Yauheni Kaliuta) [1874003] - [net] bpf: Enable bpf_iter targets registering ctx argument types (Yauheni Kaliuta) [1874003] - [net] bpf: Change func bpf_iter_unreg_target() signature (Yauheni Kaliuta) [1874003] - [net] bpf: net: Refactor bpf_iter target registration (Yauheni Kaliuta) [1874003] - [net] bpf: Add comments to interpret bpf_prog return values (Yauheni Kaliuta) [1874003] - [tools] bpf: Change btf_iter func proto prefix to "bpf_iter_" (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: selftests : Explain bpf_iter test failures with llvm 10.0.0 (Yauheni Kaliuta) [1874003] - [tools] selftest/bpf: Add BPF triggering benchmark (Yauheni Kaliuta) [1874003] - [tools] selftest/bpf: Fmod_ret prog and implement test_overhead as part of bench (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add benchmark runner infrastructure (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Extract parse_num_list into generic testing_helpers.c (Yauheni Kaliuta) [1874003] - [tools] tools, bpf: Synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1874003] - [scripts] bpf: Minor fixes to BPF helpers documentation (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Minor fixes for documentation (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Poison and replace kernel integer typedefs (Yauheni Kaliuta) [1874003] - [tools] bpf, libbpf: Replace zero-length array with flexible-array (Yauheni Kaliuta) [1874003] - [arm64] bpf, arm64: Optimize ADD, SUB, JMP BPF_K using arm64 add/sub immediates (Yauheni Kaliuta) [1874003] - [arm64] bpf, arm64: Optimize AND, OR, XOR, JSET BPF_K using arm64 logical immediates (Yauheni Kaliuta) [1874003] - [tools] bpf, runqslower: include proper uapi/bpf.h (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: selftests: Add iter progs for bpf_map/task/task_file (Yauheni Kaliuta) [1874003] - [tools] tools/bpftool: Add bpf_iter support for bptool (Yauheni Kaliuta) [1874003] - [tools] tools/libpf: Add offsetof/container_of macro in bpf_helpers.h (Yauheni Kaliuta) [1874003] - [tools] tools/libbpf: Add bpf_iter support (Yauheni Kaliuta) [1874003] - [net] bpf: Support variable length array in tracing programs (Yauheni Kaliuta) [1874003] - [net] bpf: Handle spilled PTR_TO_BTF_ID properly when checking stack_boundary (Yauheni Kaliuta) [1874003] - [kernel] bpf: Add bpf_seq_printf and bpf_seq_write helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Add PTR_TO_BTF_ID_OR_NULL support (Yauheni Kaliuta) [1874003] - [net] bpf: Add task and task/file iterator targets (Yauheni Kaliuta) [1874003] - [net] bpf: Add bpf_map iterator (Yauheni Kaliuta) [1874003] - [net] bpf: Implement common macros/helpers for target iterators (Yauheni Kaliuta) [1874003] - [net] bpf: Create file bpf iterator (Yauheni Kaliuta) [1874003] - [net] bpf: Create anonymous bpf iterator (Yauheni Kaliuta) [1874003] - [net] bpf: Implement bpf_seq_read() for bpf iterator (Yauheni Kaliuta) [1874003] - [net] bpf: Support bpf tracing/iter programs for BPF_LINK_UPDATE (Yauheni Kaliuta) [1874003] - [net] bpf: Support bpf tracing/iter programs for BPF_LINK_CREATE (Yauheni Kaliuta) [1874003] - [net] bpf: Allow loading of a bpf_iter program (Yauheni Kaliuta) [1874003] - [net] bpf: Implement an interface to register bpf_iter targets (Yauheni Kaliuta) [1874003] - [tools] bpf: Allow any port in bpf_bind helper (Yauheni Kaliuta) [1874003] - [net] net: Refactor arguments of inet{,6}_bind (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Move existing common networking parts into network_helpers (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Generalize helpers to control background listener (Yauheni Kaliuta) [1874003] - [net] crypto: lib/sha1 - rename "sha" to "sha1" (Yauheni Kaliuta) [1874003] - [arm64] arm64: bpf: Annotate JITed code for BTI (Yauheni Kaliuta) [1874003] - [arm64] arm64: insn: Add constants for new HINT instruction decode (Yauheni Kaliuta) [1874003] - [kernel] sysctl: Fix unused function warning (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Use reno instead of dctcp (Yauheni Kaliuta) [1874003] - [net] bpf: Fix use-after-free of bpf_link when priming half-fails (Yauheni Kaliuta) [1874003] - [tools] bpf: Bpf_{g, s}etsockopt for struct bpf_sock_addr (Yauheni Kaliuta) [1874003] - [tools] bpf: Add selftest for BPF_ENABLE_STATS (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add support for command BPF_ENABLE_STATS (Yauheni Kaliuta) [1874003] - [net] bpf: Sharing bpf runtime stats with BPF_ENABLE_STATS (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test allowed maps for bpf_sk_select_reuseport (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix false uninitialized variable warning (Yauheni Kaliuta) [1874003] - [net] bpf: Fix unused variable warning (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Use SOCKMAP for server sockets in bpf_sk_assign test (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test that lookup on SOCKMAP/SOCKHASH is allowed (Yauheni Kaliuta) [1874003] - [net] bpf: Allow bpf_map_lookup_elem for SOCKMAP and SOCKHASH (Yauheni Kaliuta) [1874003] - [tools] tools: bpftool: Make libcap dependency optional (Yauheni Kaliuta) [1874003] - [tools] tools: bpftool: Allow unprivileged users to probe features (Yauheni Kaliuta) [1874003] - [tools] tools: bpftool: For "feature probe" define "full_mode" bool as global (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Disable ASAN instrumentation for mmap()'ed memory read (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix invalid memory reads in core_relo selftest (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix memory leak in extract_build_id() (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix memory leak and possible double-free in hashmap__clear (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Convert test_hashmap into test_progs test (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add SAN_CFLAGS param to selftests build to allow sanitizers (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Ensure test flavors use correct skeletons (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add BTF-defined map-in-map support (Yauheni Kaliuta) [1874003] - [tools] libbpf: Refactor map creation logic and fix cleanup leak (Yauheni Kaliuta) [1874003] - [tools] libbpf: Refactor BTF-defined map definition parsing logic (Yauheni Kaliuta) [1874003] - [tools] bpftool: Add link bash completions (Yauheni Kaliuta) [1874003] - [tools] bpftool: Add bpftool-link manpage (Yauheni Kaliuta) [1874003] - [tools] bpftool: Add bpf_link show and pin support (Yauheni Kaliuta) [1874003] - [tools] bpftool: Expose attach_type-to-string array to non-cgroup code (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test bpf_link's get_next_id, get_fd_by_id, and get_obj_info (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add low-level APIs for new bpf_link commands (Yauheni Kaliuta) [1874003] - [net] bpf: Add support for BPF_OBJ_GET_INFO_BY_FD for bpf_link (Yauheni Kaliuta) [1874003] - [net] bpf: Support GET_FD_BY_ID and GET_NEXT_ID for bpf_link (Yauheni Kaliuta) [1874003] - [net] bpf: Allocate ID for bpf_link (Yauheni Kaliuta) [1874003] - [tools] libbpf: Remove unneeded semicolon in btf_dump_emit_type (Yauheni Kaliuta) [1874003] - [net] bpf, cgroup: Remove unused exports (Yauheni Kaliuta) [1874003] - [tools] libbpf: Return err if bpf_object__load failed (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add cls_redirect classifier (Yauheni Kaliuta) [1874003] - [net] bpf: Make verifier log more relevant by default (Yauheni Kaliuta) [1874003] - [net] bpf: add bpf_ktime_get_boot_ns() (Yauheni Kaliuta) [1874003] - [net] net: bpf: Make bpf_ktime_get_ns() available to non GPL programs (Yauheni Kaliuta) [1874003] - [net] net: bpf: Allow TC programs to call BPF_FUNC_skb_change_head (Yauheni Kaliuta) [1874003] - [net] bpf: Fix missing bpf_base_func_proto in cgroup_base_func_proto for CGROUP_NET=n (Yauheni Kaliuta) [1874003] - [tools] bpf_helpers.h: Add note for building with vmlinux.h or linux/types.h (Yauheni Kaliuta) [1874003] - [net] bpf: Enable more helpers for BPF_PROG_TYPE_CGROUP_{DEVICE, SYSCTL, SOCKOPT} (Yauheni Kaliuta) [1874003] - [tools] tools/bpf/bpftool: Remove duplicate headers (Yauheni Kaliuta) [1874003] - [net] bpf: Remove set but not used variable 'dst_known' (Yauheni Kaliuta) [1874003] - [net] xdp: export the DEV_MAP_BULK_SIZE macro (Yauheni Kaliuta) [1874003] - [kernel] trace/bpf_trace: Open access for CAP_PERFMON privileged process (Yauheni Kaliuta) [1874003] - [scsi] scsi: lpfc: Fix initial FLOGI failure due to BBSCN not supported (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.5 (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Reject CT request for MIB commands (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add FDMI Vendor MIB support (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix duplicate wq_create_version check (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Removed unused macros in lpfc_attr.c (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free() (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix scheduling call while in softirq context in lpfc_unreg_rpi (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc() (Dick Kennedy) [1887549] - [scsi] scsi: Remove unneeded break statements (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add dependency on CPU_FREQ (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Remove unneeded variable 'status' in lpfc_fcp_cpu_map_store() (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Drop nodelist reference on error in lpfc_gen_req() (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Remove set but not used 'qp' (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.4 (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Extend the RDF FPIN Registration descriptor for additional events (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix setting IRQ affinity with an empty CPU mask (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix spelling mistake "Cant" -> "Can't" (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.3 (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix validation of bsg reply lengths (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix retry of PRLI when status indicates its unsupported (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix oops when unloading driver while running mds diags (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix RSCN timeout due to incorrect gidft counter (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix no message shown for lpfc_hdw_queue out of range value (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix FCoE speed reporting (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add missing misc_deregister() for lpfc_init() (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: nvmet: Avoid hang / use-after-free again when destroying targetport (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix typo in comment for ULP (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add description for lpfc_release_rpi()'s 'ndlpl param (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix a bunch of kerneldoc misdemeanors (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add and rename a whole bunch of function parameter descriptions (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Use __printf() format notation (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix kerneldoc parameter formatting/misnaming/missing issues (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix some function parameter descriptions (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Ensure variable has the same stipulations as code using it (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix-up formatting/docrot where appropriate (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Provide description for lpfc_mem_alloc()'s 'align' param (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix-up around 120 documentation issues (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Remove unused variable 'pg_addr' (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Correct some pretty obvious misdocumentation (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix less-than-zero comparison of unsigned value (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix interrupt assignments when multiple vectors are supported on same CPU (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix inconsistent indenting (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.2 (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add an internal trace log buffer (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add blk_io_poll support for latency improvment (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add support to display if adapter dumps are available (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Allow applications to issue Common Set Features mailbox command (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix language in 0373 message to reflect non-error message (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix shost refcount mismatch when deleting vport (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix stack trace seen while setting rrq active (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix oops due to overrun when reading SLI3 data (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix missing MDS functionality (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix unused assignment in lpfc_sli4_bsg_link_diag_test (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Avoid another null dereference in lpfc_sli4_hba_unset() (Dick Kennedy) [1887549] - [scsi] lpfc_debugfs: get rid of pointless access_ok() (Dick Kennedy) [1887549] - [scsi] lpfc: add nvmet discovery_event op support (Dick Kennedy) [1887549] - [scsi] scsi: core: Don't start concurrent async scan on same host (Ming Lei) [1874501] - [crypto] crypto: bcm - Verify GCM/CCM key length in setkey (Vladis Dronov) [1887389] - [x86] x86/cpufeatures: Add support for fast short REP; MOVSB (Steve Best) [1838265] - [scsi] scsi: mpt3sas: A small correction in _base_process_reply_queue (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix sync irqs (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Detect tampered Aero and Sea adapters (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Don't call disable_irq from IRQ poll handler (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Remove pci-dma-compat wrapper API (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Remove superfluous memset() (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Update driver version to 35.100.00.00 (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Postprocessing of target and LUN reset (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Add functions to check if any cmd is outstanding on Target and LUN (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Rename and export interrupt mask/unmask functions (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Cancel the running work during host reset (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Dump system registers for debugging (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Memset config_cmds.reply buffer with zeros (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix kdoc comments format (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix set but unused variable (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix error returns in BRM_status_show (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix unlock imbalance (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix spelling mistake (Tomas Henzl) [1851440] - [s390] s390/zcrypt: Fix ZCRYPT_PERDEV_REQCNT ioctl (Claudio Imbrenda) [1885962] - [scsi] scsi: megaraid: Make smp_affinity_enable static (Tomas Henzl) [1860910] - [scsi] remove ioremap_nocache and devm_ioremap_nocache (Tomas Henzl) [1860910] - [scsi] scsi: megaraid: Remove set but unused variable (Tomas Henzl) [1860910] - [scsi] scsi: megaraid: Fix compilation warnings (Tomas Henzl) [1860910] - [scsi] scsi: megaraid: Fix kdoc comments format (Tomas Henzl) [1860910] - [scsi] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Tomas Henzl) [1860910] - [net] ethtool: Add support for 100Gbps per lane link modes (Ivan Vecera) [1879202]- [netdrv] ibmveth: Fix use of ibmveth in a bridge (Steve Best) [1893294] - [x86] ima: add a new CONFIG for loading arch-specific policies (Bruno Meneguele) [1869758] - [netdrv] e1000e: Add support for Meteor Lake (Ken Cox) [1838750] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Ken Cox) [1838750] - [netdrv] treewide: Use fallthrough pseudo-keyword (Ken Cox) [1838750] - [netdrv] e1000e: Remove unnecessary usages of memset (Ken Cox) [1838750] - [netdrv] e1000e: continue to init PHY even when failed to disable ULP (Ken Cox) [1838750] - [netdrv] ethernet/intel: Convert fallthrough code comments (Ken Cox) [1838750] - [netdrv] net/intel: remove driver versions from Intel drivers (Ken Cox) [1838750] - [netdrv] e1000e: fix unused-function warning (Ken Cox) [1838750] - [netdrv] e1000e: Do not wake up the system via WOL if device wakeup is disabled (Ken Cox) [1838750] - [netdrv] e1000e: Relax condition to trigger reset for ME workaround (Ken Cox) [1838750] - [netdrv] e1000e: disable s0ix entry and exit flows for ME systems (Ken Cox) [1838750] - [netdrv] e1000e: Disable TSO for buffer overrun workaround (Ken Cox) [1838750] - [netdrv] e1000e: Warn if disabling ULP failed (Ken Cox) [1838750] - [scsi] scsi: fnic: Do not call 'scsi_done()' for unhandled commands (Govindarajulu Varadarajan) [1870397] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Corinna Vinschen) [1838749] - [netdrv] igbvf: use generic power management (Corinna Vinschen) [1838749] - [netdrv] ethernet/intel: Convert fallthrough code comments (Corinna Vinschen) [1838749] - [netdrv] net/intel: remove driver versions from Intel drivers (Corinna Vinschen) [1838749] - [net] SUNRPC: Properly set the @subbuf parameter of xdr_buf_subsegment() (Steve Dickson) [1884361] - [net] SUNRPC: Fix ("SUNRPC: Add "@len" parameter to gss_unwrap()") (Steve Dickson) [1884361] - [net] netfilter: nf_queue: do not release refcouts until nf_reinject is done (Florian Westphal) [1886557] - [net] netfilter: nf_queue: place bridge physports into queue_entry struct (Florian Westphal) [1886557] - [net] netfilter: nf_queue: make nf_queue_entry_release_refs static (Florian Westphal) [1886557] - [firewire] firewire: Deprecate Firewire support in RHEL8 (Prarit Bhargava) [1871863] - [lib] Add pldmfw library for PLDM firmware update (Patrick Talbert) [1878278] - [lib] bitops: introduce the for_each_set_clump8 macro (Patrick Talbert) [1878278] - [mm] x86/ioremap: Map EFI runtime services data as encrypted for SEV (Lenny Szubowicz) [1883134] - [powerpc] Revert "powerpc/powernv/idle: Replace CPU feature check with PVR check" (Steve Best) [1882365] - [powerpc] powerpc/xive: Do not expose a debugfs file when XIVE is disabled (Steve Best) [1854526] - [kvm] powerpc/xive: Enforce load-after-store ordering when StoreEOI is active (Steve Best) [1854526] - [powerpc] powerpc/xive: Add a debugfs file to dump internal XIVE state (Steve Best) [1854526] - [net] openvswitch: add TTL decrement action (Eelco Chaudron) [1762450]- [kernel] futex: Adjust absolute futex timeouts with per time namespace offset (Waiman Long) [1548297] - [kernel] futex: Remove unused or redundant includes (Waiman Long) [1548297] - [include] vdso: Fix clocksource.h macro detection (Waiman Long) [1548297] - [x86] um: Fix header inclusion (Waiman Long) [1548297] - [arm64] arm64: vdso32: make vdso32 install conditional (Waiman Long) [1548297] - [arm64] ARM64: vdso32: Install vdso32 from vdso_install (Waiman Long) [1548297] - [arm64] vdso/treewide: Add vdso_data pointer argument to __arch_get_hw_counter() (Waiman Long) [1548297] - [kernel] timekeeping/vsyscall: Provide vdso_update_begin/end() (Waiman Long) [1548297] - [include] lib/vdso: Allow to add architecture-specific vdso data (Waiman Long) [1548297] - [arm64] arm64: enable time namespace support (Waiman Long) [1548297] - [arm64] arm64/vdso: Restrict splitting VVAR VMA (Waiman Long) [1548297] - [arm64] arm64/vdso: Handle faults on timens page (Waiman Long) [1548297] - [arm64] arm64/vdso: Add time namespace page (Waiman Long) [1548297] - [arm64] arm64/vdso: Zap vvar pages when switching to a time namespace (Waiman Long) [1548297] - [arm64] arm64/vdso: use the fault callback to map vvar pages (Waiman Long) [1548297] - [arm64] arm64: compat: Allow 32-bit vdso and sigpage to co-exist (Waiman Long) [1548297] - [x86] x86/vdso: Unbreak paravirt VDSO clocks (Waiman Long) [1548297] - [lib] lib/vdso: Provide sanity check for cycles (again) (Waiman Long) [1548297] - [kernel] clocksource: Remove obsolete ifdef (Waiman Long) [1548297] - [tools] selftests/timens: handle a case when alarm clocks are not supported (Waiman Long) [1548297] - [arm64] arm64: vdso: Add --eh-frame-hdr to ldflags (Waiman Long) [1548297] - [arm64] arm64: vdso: Add -fasynchronous-unwind-tables to cflags (Waiman Long) [1548297] - [arm64] arm64: vdso: use consistent 'map' nomenclature (Waiman Long) [1548297] - [arm64] arm64: vdso: use consistent 'abi' nomenclature (Waiman Long) [1548297] - [arm64] arm64: vdso: simplify arch_vdso_type ifdeffery (Waiman Long) [1548297] - [arm64] arm64: vdso: remove aarch32_vdso_pages (Waiman Long) [1548297] - [arm64] arm64: vdso: Add '-Bsymbolic' to ldflags (Waiman Long) [1548297] - [x86] x86/vdso/vdso2c: Convert iterators to unsigned (Waiman Long) [1548297] - [x86] x86/vdso/vdso2c: Correct error messages on file open (Waiman Long) [1548297] - [include] vdso/datapage: Use correct clock mode name in comment (Waiman Long) [1548297] - [arm64] arm64: vdso: don't free unallocated pages (Waiman Long) [1548297] - [fs] proc, time/namespace: Show clock symbolic names in /proc/pid/timens_offsets (Waiman Long) [1548297] - [kernel] time/namespace: Add max_time_namespaces ucount (Waiman Long) [1548297] - [kernel] time/namespace: Fix time_for_children symlink (Waiman Long) [1548297] - [arm64] arm64: compat: Fix syscall number of compat_clock_getres (Waiman Long) [1548297] - [tools] selftests/timens: Remove duplicated include (Waiman Long) [1548297] - [kernel] sys/sysinfo: Respect boottime inside time namespace (Waiman Long) [1548297] - [clocksource] clocksource/drivers/arm_arch_timer: Fix vDSO clockmode when vDSO disabled (Waiman Long) [1548297] - [lib] lib/vdso: Enable common headers (Waiman Long) [1548297] - [x86] x86/vdso: Enable x86 to use common headers (Waiman Long) [1548297] - [arm64] arm64: vdso32: Include common headers in the vdso library (Waiman Long) [1548297] - [arm64] arm64: vdso: Include common headers in the vdso library (Waiman Long) [1548297] - [arm64] arm64: Introduce asm/vdso/processor.h (Waiman Long) [1548297] - [arm64] arm64: vdso32: Code clean up (Waiman Long) [1548297] - [include] linux/elfnote.h: Replace elf.h with UAPI equivalent (Waiman Long) [1548297] - [include] common: Introduce processor.h (Waiman Long) [1548297] - [include] linux/ktime.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/jiffies.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/time64.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/time32.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/time.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/math64.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/clocksource.h: Extract common header for vDSO (Waiman Long) [1548297] - [arm64] arm64: Introduce asm/vdso/clocksource.h (Waiman Long) [1548297] - [x86] x86: Introduce asm/vdso/clocksource.h (Waiman Long) [1548297] - [include] linux/limits.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/bits.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/const.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/bits.h: make BIT(), GENMASK(), and friends available in assembly (Waiman Long) [1548297] - [lib] lib/vdso: Allow architectures to provide the vdso data pointer (Waiman Long) [1548297] - [lib] lib/vdso: Allow architectures to override the ns shift operation (Waiman Long) [1548297] - [lib] lib/vdso: Allow fixed clock mode (Waiman Long) [1548297] - [include] lib/vdso: Move VCLOCK_TIMENS to vdso_clock_modes (Waiman Long) [1548297] - [kernel] lib/vdso: Avoid highres update if clocksource is not VDSO capable (Waiman Long) [1548297] - [lib] lib/vdso: Cleanup clock mode storage leftovers (Waiman Long) [1548297] - [arm64] ARM/arm64: vdso: Use common vdso clock mode storage (Waiman Long) [1548297] - [x86] x86/vdso: Use generic VDSO clock mode storage (Waiman Long) [1548297] - [kernel] clocksource: Add common vdso clock mode storage (Waiman Long) [1548297] - [x86] x86/vdso: Move VDSO clocksource state tracking to callback (Waiman Long) [1548297] - [include] clocksource: Cleanup struct clocksource and documentation (Waiman Long) [1548297] - [lib] lib/vdso: Allow the high resolution parts to be compiled out (Waiman Long) [1548297] - [lib] lib/vdso: Only read hrtimer_res when needed in __cvdso_clock_getres() (Waiman Long) [1548297] - [x86] x86/vdso: Mark the TSC clocksource path likely (Waiman Long) [1548297] - [kernel] lib/vdso: Update coarse timekeeper unconditionally (Waiman Long) [1548297] - [kernel] lib/vdso: Make __arch_update_vdso_data() logic understandable (Waiman Long) [1548297] - [kernel] alarmtimer: Unregister wakeup source when module get fails (Waiman Long) [1548297] - [tools] selftests/timens: Check for right timens offsets after fork and exec (Waiman Long) [1548297] - [tools] selftests/timens: Add a simple perf test for clock_gettime() (Waiman Long) [1548297] - [tools] selftests/timens: Add timer offsets test (Waiman Long) [1548297] - [tools] selftests/timens: Add procfs selftest (Waiman Long) [1548297] - [tools] selftests/timens: Add a test for clock_nanosleep() (Waiman Long) [1548297] - [tools] selftests/timens: Add a test for timerfd (Waiman Long) [1548297] - [tools] selftests/timens: Add Time Namespace test for supported clocks (Waiman Long) [1548297] - [fs] fs/proc: Introduce /proc/pid/timens_offsets (Waiman Long) [1548297] - [x86] x86/vdso: Zap vvar pages when switching to a time namespace (Waiman Long) [1548297] - [x86] x86/vdso: On timens page fault prefault also VVAR page (Waiman Long) [1548297] - [x86] x86/vdso: Handle faults on timens page (Waiman Long) [1548297] - [kernel] time: Allocate per-timens vvar page (Waiman Long) [1548297] - [x86] x86/vdso: Add time napespace page (Waiman Long) [1548297] - [x86] x86/vdso: Provide vdso_data offset on vvar_page (Waiman Long) [1548297] - [lib] lib/vdso: Prepare for time namespace support (Waiman Long) [1548297] - [x86] x86/vdso: Restrict splitting VVAR VMA (Waiman Long) [1548297] - [fs] fs/proc: Respect boottime inside time namespace for /proc/uptime (Waiman Long) [1548297] - [kernel] posix-timers: Make clock_nanosleep() time namespace aware (Waiman Long) [1548297] - [kernel] hrtimers: Prepare hrtimer_nanosleep() for time namespaces (Waiman Long) [1548297] - [kernel] alarmtimer: Make nanosleep() time namespace aware (Waiman Long) [1548297] - [kernel] posix-timers: Make timer_settime() time namespace aware (Waiman Long) [1548297] - [fs] timerfd: Make timerfd_settime() time namespace aware (Waiman Long) [1548297] - [kernel] time: Add do_timens_ktime_to_host() helper (Waiman Long) [1548297] - [kernel] posix-clocks: Wire up clock_gettime() with timens offsets (Waiman Long) [1548297] - [kernel] posix-timers: Use clock_get_ktime() in common_timer_get() (Waiman Long) [1548297] - [kernel] posix-clocks: Introduce clock_get_ktime() callback (Waiman Long) [1548297] - [kernel] alarmtimer: Provide get_timespec() callback (Waiman Long) [1548297] - [kernel] alarmtimer: Rename gettime() callback to get_ktime() (Waiman Long) [1548297] - [kernel] posix-clocks: Rename .clock_get_timespec() callbacks accordingly (Waiman Long) [1548297] - [kernel] posix-clocks: Rename the clock_get() callback to clock_get_timespec() (Waiman Long) [1548297] - [kernel] time: Add timens_offsets to be used for tasks in time namespace (Waiman Long) [1548297] - [kernel] ns: Introduce Time Namespace (Waiman Long) [1548297] - [lib] lib/vdso: Mark do_hres() and do_coarse() as __always_inline (Waiman Long) [1548297] - [lib] lib/vdso: Avoid duplication in __cvdso_clock_getres() (Waiman Long) [1548297] - [lib] lib/vdso: Let do_coarse() return 0 to simplify the callsite (Waiman Long) [1548297] - [x86] x86/vdso: Remove unused VDSO_HAS_32BIT_FALLBACK (Waiman Long) [1548297] - [arm64] arm64: compat: vdso: Remove unused VDSO_HAS_32BIT_FALLBACK (Waiman Long) [1548297] - [lib] lib/vdso: Remove checks on return value for 32 bit vDSO (Waiman Long) [1548297] - [lib] lib/vdso: Remove VDSO_HAS_32BIT_FALLBACK (Waiman Long) [1548297] - [arm64] arm64: compat: vdso: Expose BUILD_VDSO32 (Waiman Long) [1548297] - [include] lib/vdso: Add unlikely() hint into vdso_read_begin() (Waiman Long) [1548297] - [x86] y2038: vdso: change time_t to __kernel_old_time_t (Waiman Long) [1548297] - [uapi] y2038: add __kernel_old_timespec and __kernel_old_time_t (Waiman Long) [1548297] - [arm64] timekeeping/vsyscall: Update VDSO data unconditionally (Waiman Long) [1548297] - [x86] um: Fix VDSO compiler warning (Waiman Long) [1548297] - [kernel] timekeeping/vsyscall: Prevent math overflow in BOOTTIME update (Waiman Long) [1548297] - [arm64] arm64: compat: vdso: Use legacy syscalls as fallback (Waiman Long) [1548297] - [x86] x86/vdso/32: Use 32bit syscall fallback (Waiman Long) [1548297] - [arm64] arm64: vdso: Cleanup Makefiles (Waiman Long) [1548297] - [arm64] arm64: vdso: fix flip/flop vdso build bug (Waiman Long) [1548297] - [x86] x86/vdso: Fix flip/flop vdso build bug (Waiman Long) [1548297] - [kernel] timekeeping/vsyscall: Use __iter_div_u64_rem() (Waiman Long) [1548297] - [arm64] arm64: compat: Fix __arch_get_hw_counter() implementation (Waiman Long) [1548297] - [arm64] arm64: Fix __arch_get_hw_counter() implementation (Waiman Long) [1548297] - [arm64] arm64: compat: No need for pre-ARMv7 barriers on an ARMv8 system (Waiman Long) [1548297] - [arm64] arm64: vdso: Remove unnecessary asm-offsets.c definitions (Waiman Long) [1548297] - [include] vdso: Remove superfluous #ifdef __KERNEL__ in vdso/datapage.h (Waiman Long) [1548297] - [arm64] arm64: vdso: Enable vDSO compat support (Waiman Long) [1548297] - [arm64] arm64: compat: Get sigreturn trampolines from vDSO (Waiman Long) [1548297] - [arm64] arm64: elf: VDSO code page discovery (Waiman Long) [1548297] - [arm64] arm64: compat: VDSO setup for compat layer (Waiman Long) [1548297] - [arm64] arm64: vdso: Refactor vDSO code (Waiman Long) [1548297] - [arm64] arm64: compat: Add vDSO (Waiman Long) [1548297] - [arm64] arm64: compat: Generate asm offsets for signals (Waiman Long) [1548297] - [arm64] arm64: compat: Expose signal related structures (Waiman Long) [1548297] - [arm64] arm64: compat: Add missing syscall numbers (Waiman Long) [1548297] - [arm64] arm64: vdso: Build vDSO with -ffixed-x18 (Waiman Long) [1548297] - [arm64] arm64: vdso: Substitute gettimeofday() with C implementation (Waiman Long) [1548297] - [lib] lib/vdso: Build 32 bit specific functions in the right context (Waiman Long) [1548297] - [lib] lib/vdso: Make __cvdso_clock_getres() static (Waiman Long) [1548297] - [lib] lib/vdso: Make clock_getres() POSIX compliant again (Waiman Long) [1548297] - [lib] lib/vdso/32: Provide legacy syscall fallbacks (Waiman Long) [1548297] - [lib] lib/vdso: Move fallback invocation to the callers (Waiman Long) [1548297] - [lib] lib/vdso/32: Remove inconsistent NULL pointer checks (Waiman Long) [1548297] - [x86] lib/vdso: Make delta calculation work correctly (Waiman Long) [1548297] - [x86] x86/vdso: Add clock_gettime64() entry point (Waiman Long) [1548297] - [x86] x86/vdso: Add clock_getres() entry point (Waiman Long) [1548297] - [x86] x86/vdso: Switch to generic vDSO implementation (Waiman Long) [1548297] - [x86] x86/vdso: Prevent segfaults due to hoisted vclock reads (Waiman Long) [1548297] - [kernel] timekeeping: Provide a generic update_vsyscall() implementation (Waiman Long) [1548297] - [lib] lib/vdso: Add compat support (Waiman Long) [1548297] - [lib] lib/vdso: Provide generic VDSO implementation (Waiman Long) [1548297] - [include] hrtimer: Split out hrtimer defines into separate header (Waiman Long) [1548297] - [include] vdso: Define standardized vdso_datapage (Waiman Long) [1548297] - [arm64] arm64: arch_timer: mark functions as __always_inline (Waiman Long) [1548297] - [x86] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 223 (Waiman Long) [1548297] - [clocksource] clocksource/drivers/arm_arch_timer: Don't trace count reader functions (Waiman Long) [1548297] - [arm64] arm64: vdso: Explicitly add build-id option (Waiman Long) [1548297] - [x86] gcc-9: properly declare the {pv, hv}clock_page storage (Waiman Long) [1548297] - [arm64] arm64: vdso: Fix clock_getres() for CLOCK_REALTIME (Waiman Long) [1548297] - [arm64] arm64: compat: Refactor aarch32_alloc_vdso_pages() (Waiman Long) [1548297] - [arm64] arm64: compat: Split kuser32 (Waiman Long) [1548297] - [arm64] arm64: compat: Alloc separate pages for vectors and sigpage (Waiman Long) [1548297] - [arm64] arm64: arch_timer: Ensure counter register reads occur with seqlock held (Waiman Long) [1548297] - [clocksource] clocksource/arm_arch_timer: Use arch_timer_read_counter to access stable counters (Waiman Long) [1548297] - [clocksource] clocksource/arm_arch_timer: Remove use of workaround static key (Waiman Long) [1548297] - [arm64] clocksource/arm_arch_timer: Drop use of static key in arch_timer_reg_read_stable (Waiman Long) [1548297] - [clocksource] clocksource/arm_arch_timer: Direcly assign set_next_event workaround (Waiman Long) [1548297] - [arm64] arm64: Use arch_timer_read_counter instead of arch_counter_get_cntvct (Waiman Long) [1548297] - [watchdog] watchdog/sbsa: Use arch_timer_read_counter instead of arch_counter_get_cntvct (Waiman Long) [1548297] - [kernel] alarmtimer: Return correct remaining time (Waiman Long) [1548297] - [arm64] arm64: vdso: use $(LD) instead of $(CC) to link VDSO (Waiman Long) [1548297] - [arm64] arm64: vdso: fix and clean-up Makefile (Waiman Long) [1548297] - [x86] x86/vdso: Remove hpet_page from vDSO (Waiman Long) [1548297] - [scripts] checksyscalls: fix up mq_timedreceive and stat exceptions (Waiman Long) [1548297] - [uapi] time: Add time_types.h (Waiman Long) [1548297] - [uapi] socket: Add struct __kernel_sock_timeval (Waiman Long) [1548297] - [arm64] arm64: asm-offsets: remove unused offsets (Waiman Long) [1548297] - [arm64] y2038: add 64-bit time_t syscalls to all 32-bit architectures (Waiman Long) [1548297] - [arm64] arm64: replace arm64-obj-* in Makefile with obj-* (Waiman Long) [1548297] - [x86] x86/vdso: Remove obsolete "fake section table" reservation (Waiman Long) [1548297] - [x86] x86/vdso: Rename variable to fix -Wshadow warning (Waiman Long) [1548297] - [x86] x86/vdso: Rearrange do_hres() to improve code generation (Waiman Long) [1548297] - [x86] x86/vdso: Document vgtod_ts better (Waiman Long) [1548297] - [x86] x86/vdso: Remove "memory" clobbers in the vDSO syscall fallbacks (Waiman Long) [1548297] - [x86] x86/vdso: Initialize the CPU/node NR segment descriptor earlier (Waiman Long) [1548297] - [x86] x86/vdso: Introduce helper functions for CPU and node number (Waiman Long) [1548297] - [x86] x86/segments/64: Rename the GDT PER_CPU entry to CPU_NUMBER (Waiman Long) [1548297] - [x86] x66/vdso: Add CLOCK_TAI support (Waiman Long) [1548297] - [x86] x86/vdso: Move cycle_last handling into the caller (Waiman Long) [1548297] - [x86] x86/vdso: Simplify the invalid vclock case (Waiman Long) [1548297] - [x86] x86/vdso: Replace the clockid switch case (Waiman Long) [1548297] - [x86] x86/vdso: Collapse coarse functions (Waiman Long) [1548297] - [x86] x86/vdso: Collapse high resolution functions (Waiman Long) [1548297] - [x86] x86/vdso: Introduce and use vgtod_ts (Waiman Long) [1548297] - [x86] x86/vdso: Use unsigned int consistently for vsyscall_gtod_data:: Seq (Waiman Long) [1548297] - [x86] x86/vdso: Enforce 64bit clocksource (Waiman Long) [1548297] - [x86] x86/time: Implement clocksource_arch_init() (Waiman Long) [1548297] - [kernel] clocksource: Provide clocksource_arch_init() (Waiman Long) [1548297] - [fs] fs/proc/uptime.c: use ktime_get_boottime_ts64 (Waiman Long) [1548297] - [include] y2038: Provide aliases for compat helpers (Waiman Long) [1548297] - [fs] kernel: add kcompat_sys_{f,}statfs64() (Waiman Long) [1548297] - [kernel] sysinfo: Remove get_monotonic_boottime() (Waiman Long) [1548297] - [kernel] posix-timers: Use new ktime_get_*_ts64() helpers (Waiman Long) [1548297] - [kernel] time: Use ktime_get_real_seconds() in time syscall (Waiman Long) [1548297] - [include] time: Introduce struct __kernel_itimerspec (Waiman Long) [1548297] - [scripts] kconfig: improve the recursive dependency report (Bruno Meneguele) [1890578] - [scripts] kconfig: report recursive dependency involving 'imply' (Bruno Meneguele) [1890578] - [scripts] kconfig: error out when seeing recursive dependency (Bruno Meneguele) [1890578] - [scsi] scsi: hpsa: Update copyright (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Remove pci-dma-compat wrapper API (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Use fallthrough pseudo-keyword (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Correct ctrl queue depth (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Bump version (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Increase controller error handling timeout (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Increase queue depth for external LUNs (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Correct rare oob condition (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: hpsa_ioctl(): Tidy up a bit (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Get rid of compat_alloc_user_space() (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Don't bother with vmalloc for BIG_IOCTL_Command_struct (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Lift {BIG_, }IOCTL_Command_struct copy{in, out} into hpsa_ioctl() (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: remove ioremap_nocache and devm_ioremap_nocache (Joseph Szczypek) [1861541] - [tools] selftests/powerpc: Make alignment handler test P9N DD2.1 vector CI load workaround (Gustavo Duarte) [1887442] - [powerpc] powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation (Gustavo Duarte) [1887442] - [scsi] scsi: smartpqi: Update copyright (Don Brace) [1861538] - [scsi] scsi: smartpqi: Bump version to 1.2.16-010 (Don Brace) [1861538] - [scsi] scsi: smartpqi: Add RAID bypass counter (Don Brace) [1861538] - [scsi] scsi: smartpqi: Avoid crashing kernel for controller issues (Don Brace) [1861538] - [scsi] scsi: smartpqi: Update logical volume size after expansion (Don Brace) [1861538] - [scsi] scsi: smartpqi: Add id support for SmartRAID 3152-8i (Don Brace) [1861538] - [scsi] scsi: smartpqi: Identify physical devices without issuing INQUIRY (Don Brace) [1861538] - [mm] mm: simplify find_min_pfn_with_active_regions() (Baoquan He) [1844157] - [mm] mm: clean up free_area_init_node() and its helpers (Baoquan He) [1844157] - [mm] mm: rename free_area_init_node() to free_area_init_memoryless_node() (Baoquan He) [1844157] - [mm] mm: free_area_init: allow defining max_zone_pfn in descending order (Baoquan He) [1844157] - [powerpc] mm: remove early_pfn_in_nid() and CONFIG_NODES_SPAN_OTHER_NODES (Baoquan He) [1844157] - [mm] mm: memmap_init: iterate over memblock regions rather that check each PFN (Baoquan He) [1844157] - [mm] arm64: simplify detection of memory zone boundaries for UMA configs (Baoquan He) [1844157] - [mm] mm: use free_area_init() instead of free_area_init_nodes() (Baoquan He) [1844157] - [mm] mm: free_area_init: use maximal zone PFNs rather than zone sizes (Baoquan He) [1844157] - [mm] mm: remove CONFIG_HAVE_MEMBLOCK_NODE_MAP option (Baoquan He) [1844157] - [mm] numa: make "nr_node_ids" unsigned int (Baoquan He) [1844157] - [mm] mm: make early_pfn_to_nid() and related defintions close to each other (Baoquan He) [1844157] - [mm] mm: memblock: replace dereferences of memblock_region.nid with API calls (Baoquan He) [1844157] - [mm] mm: factor out next_present_section_nr() (Baoquan He) [1844157] - [mm] mm/page_alloc: fix and rework pfn handling in memmap_init_zone() (Baoquan He) [1844157] - [mm] mm/page_alloc: skip non present sections on zone initialization (Baoquan He) [1844157] - [mm] mm: move mirrored memory specific code outside of memmap_init_zone (Baoquan He) [1844157] - [mm] mm: calculate deferred pages after skipping mirrored memory (Baoquan He) [1844157] - [mm] mm/memblock.c: fix a typo in __next_mem_pfn_range() comments (Baoquan He) [1844157] - [mm] memblock: remove memblock_{set, clear}_region_flags (Baoquan He) [1844157] - [mm] mm: replace all open encodings for NUMA_NO_NODE (Baoquan He) [1844157] - [powerpc] lockdep: Only trace IRQ edges (Waiman Long) [1885084] - [arm64] arm64: Implement arch_irqs_disabled() (Waiman Long) [1885084] - [include] locking/lockdep: Cleanup (Waiman Long) [1885084] - [include] lockdep: Use raw_cpu_*() for per-cpu variables (Waiman Long) [1885084] - [x86] locking/seqlock, headers: Untangle the spaghetti monster (Waiman Long) [1885084] - [misc] vmw_balloon: Explicitly include linux/io.h for virt_to_phys() (Waiman Long) [1885084] - [x86] x86: i8259: Add missing include file (Waiman Long) [1885084] - [include] seqcount: More consistent seqprop names (Waiman Long) [1885084] - [include] seqcount: Compress SEQCNT_LOCKNAME_ZERO() (Waiman Long) [1885084] - [include] seqlock: Fold seqcount_LOCKNAME_init() definition (Waiman Long) [1885084] - [include] seqlock: Fold seqcount_LOCKNAME_t definition (Waiman Long) [1885084] - [include] seqlock: s/__SEQ_LOCKDEP/__SEQ_LOCK/g (Waiman Long) [1885084] - [kernel] hrtimer: Use sequence counter with associated raw spinlock (Waiman Long) [1885084] - [kernel] timekeeping: Use sequence counter with associated raw spinlock (Waiman Long) [1885084] - [kernel] timekeeping: Use proper seqcount initializer (Waiman Long) [1885084] - [init] sched: tasks: Use sequence counter with associated spinlock (Waiman Long) [1885084] - [kernel] lockdep: Refactor IRQ trace events fields into struct (Waiman Long) [1885084] - [drm] dma-buf: Use sequence counter with associated wound/wait mutex (Waiman Long) [1885084] - [dma-buf] dma-buf: Remove custom seqcount lockdep class key (Waiman Long) [1885084] - [include] seqlock: Align multi-line macros newline escapes at 72 columns (Waiman Long) [1885084] - [documentation] seqlock: Extend seqcount API with associated locks (Waiman Long) [1885084] - [include] seqlock: lockdep assert non-preemptibility on seqcount_t write (Waiman Long) [1885084] - [lib] lockdep: Add preemption enabled/disabled assertion APIs (Waiman Long) [1885084] - [include] seqlock: Implement raw_seqcount_begin() in terms of raw_read_seqcount() (Waiman Long) [1885084] - [include] seqlock: Add kernel-doc for seqcount_t and seqlock_t APIs (Waiman Long) [1885084] - [include] seqlock: Reorder seqcount_t and seqlock_t API definitions (Waiman Long) [1885084] - [include] seqlock: seqcount_t latch: End read sections with read_seqcount_retry() (Waiman Long) [1885084] - [include] seqlock: Properly format kernel-doc code samples (Waiman Long) [1885084] - [documentation] Documentation: locking: Describe seqlock design and usage (Waiman Long) [1885084] - [include] seqlock: Require WRITE_ONCE surrounding raw_seqcount_barrier (Waiman Long) [1885084] - [include] seqlock, kcsan: Add annotations for KCSAN (Waiman Long) [1885084] - [include] include/linux/compiler.h: Introduce data_race(expr) macro (Waiman Long) [1885084] - [kernel] kcsan: Add Kernel Concurrency Sanitizer infrastructure (Waiman Long) [1885084] - [include] locking/qspinlock: Do not include atomic.h from qspinlock_types.h (Waiman Long) [1885084] - [include] locking/atomic: Move ATOMIC_INIT into linux/types.h (Waiman Long) [1885084] - [connector] connector/cn_proc: Protect send_msg() with a local lock (Waiman Long) [1885084] - [mm] mm/swap: Use local_lock for protection (Waiman Long) [1885084] - [include] radix-tree: Use local_lock for protection (Waiman Long) [1885084] - [include] locking: Introduce local_lock() (Waiman Long) [1885084] - [documentation] Documentation/locking/locktypes: Minor copy editor fixes (Waiman Long) [1885084] - [documentation] Documentation/locking/locktypes: Further clarifications and wordsmithing (Waiman Long) [1885084] - [documentation] Documentation: Add lock ordering and nesting documentation (Waiman Long) [1885084] - [mm] mm/swap.c: trivial mark_page_accessed() cleanup (Waiman Long) [1885084] - [lib] radix tree: Remove radix_tree_maybe_preload_order (Waiman Long) [1885084] - [kernel] locking/lockdep: Fix "USED" <- "IN-NMI" inversions (Waiman Long) [1885084] - [kernel] lockdep: Remove lockdep_hardirq{s_enabled, _context}() argument (Waiman Long) [1885084] - [kernel] lockdep: Change hardirq{s_enabled, _context} to per-cpu variables (Waiman Long) [1885084] - [kernel] x86/entry: Rename trace_hardirqs_off_prepare() (Waiman Long) [1885084] - [kernel] lockdep: Prepare for NMI IRQ state tracking (Waiman Long) [1885084] - [include] lockdep: Move list.h inclusion into lockdep.h (Waiman Long) [1885084] - [include] lockdep: Split header file into lockdep and lockdep_types (Waiman Long) [1885084] - [kernel] lockdep: __always_inline more for noinstr (Waiman Long) [1885084] - [kernel] lockdep: Prepare for noinstr sections (Waiman Long) [1885084] - [kernel] tracing: Provide lockdep less trace_hardirqs_on/off() variants (Waiman Long) [1885084] - [include] vmlinux.lds.h: Create section for protection against instrumentation (Waiman Long) [1885084] - [kernel] locking/lockdep: Replace zero-length array with flexible-array (Waiman Long) [1885084] - [kernel] hrtimer: Don't dereference the hrtimer pointer after the callback (Waiman Long) [1885084] - [kernel] hrtimer: Add missing sparse annotation for __run_timer() (Waiman Long) [1885084] - [kernel] lockdep: Always inline lockdep_{off,on}() (Waiman Long) [1885084] - [kernel] locking/lockdep: Improve 'invalid wait context' splat (Waiman Long) [1885084] - [kernel] lockdep: Rename trace_{hard, soft}{irq_context, irqs_enabled}() (Waiman Long) [1885084] - [kernel] lockdep: Rename trace_softirqs_{on,off}() (Waiman Long) [1885084] - [kernel] lockdep: Rename trace_hardirq_{enter, exit}() (Waiman Long) [1885084] - [kernel] completion: Use lockdep_assert_RT_in_threaded_ctx() in complete_all() (Waiman Long) [1885084] - [usb] completion: Use simple wait queues (Waiman Long) [1885084] - [kernel] sched/swait: Prepare usage in completions (Waiman Long) [1885084] - [kernel] lockdep: Add posixtimer context tracing bits (Waiman Long) [1885084] - [kernel] lockdep: Annotate irq_work (Waiman Long) [1885084] - [kernel] lockdep: Add hrtimer context tracing bits (Waiman Long) [1885084] - [include] lockdep: Introduce wait-type checks (Waiman Long) [1885084] - [kernel] lockdep: Teach lockdep about "USED" <- "IN-NMI" inversions (Waiman Long) [1885084] - [kernel] locking/lockdep: Rework lockdep_lock (Waiman Long) [1885084] - [kernel] locking/lockdep: Fix bad recursion pattern (Waiman Long) [1885084] - [s390] s390/ftrace: fix endless recursion in function_graph tracer (Waiman Long) [1885084] - [s390] s390/time: ensure get_clock_monotonic() returns monotonic values (Waiman Long) [1885084] - [kernel] irq_work: Fix IRQ_WORK_BUSY bit clearing (Waiman Long) [1885084] - [kernel] irq_work: Slightly simplify IRQ_WORK_PENDING clearing (Waiman Long) [1885084] - [kernel] irq_work: Fix irq_work_claim() memory ordering (Waiman Long) [1885084] - [kernel] irq_work: Convert flags to atomic_t (Waiman Long) [1885084] - [kernel] kprobes: Prohibit probing on lockdep functions (Waiman Long) [1885084] - [kernel] kprobes: Prohibit probing on hardirq tracers (Waiman Long) [1885084] - [lib] locking/lockdep: Make global debug_locks* variables read-mostly (Waiman Long) [1885084] - [kernel] locking/lockdep: Delete unnecessary #include (Waiman Long) [1885084] - [kernel] tracing: More reverting of "tracing: Centralize preemptirq tracepoints and unify their usage" (Waiman Long) [1885084] - [kernel] tracing/irqsoff: Handle preempt_count for different configs (Waiman Long) [1885084] - [kernel] tracing: Partial revert of "tracing: Centralize preemptirq tracepoints and unify their usage" (Waiman Long) [1885084] - [kernel] tracing: irqsoff: Account for additional preempt_disable (Waiman Long) [1885084] - [kernel] tracing: Centralize preemptirq tracepoints and unify their usage (Waiman Long) [1885084] - [kernel] tracing/irqsoff: Split reset into separate functions (Waiman Long) [1885084] - [kernel] sched/fair: Use dst group while checking imbalance for NUMA balancer (Phil Auld) [1877360] - [kernel] sched/fair: Reduce busy load balance interval (Phil Auld) [1877360] - [kernel] sched/fair: Reduce minimal imbalance threshold (Phil Auld) [1877360] - [kernel] sched/fair: Minimize concurrent LBs between domain level (Phil Auld) [1877360] - [kernel] sched/fair: Fix wrong cpu selecting from isolated domain (Phil Auld) [1877360] - [kernel] sched/fair: Relax constraint on task's load during load balance (Phil Auld) [1877360] - [kernel] sched/numa: Use runnable_avg to classify node (Phil Auld) [1877360] - [kernel] sched: Remove duplicated tick_nohz_full_enabled() check (Phil Auld) [1877360] - [kernel] sched: Warn if garbage is passed to default_wake_function() (Phil Auld) [1877360] - [kernel] sched: nohz: stop passing around unused "ticks" parameter (Phil Auld) [1877360] - [kernel] sched/fair: update_pick_idlest() Select group with lowest group_util when idle_cpus are equal (Phil Auld) [1877360] - [kernel] sched: Better document ttwu() (Phil Auld) [1877360] - [kernel] sched/fair: handle case of task_h_load() returning 0 (Phil Auld) [1877360] - [kernel] sched: Fix unreliable rseq cpu_id for new tasks (Phil Auld) [1877360] - [kernel] sched/core: s/WF_ON_RQ/WQ_ON_CPU/ (Phil Auld) [1877360] - [include] sched/core: Remove mmdrop() definition (Phil Auld) [1877360] - [kernel] sched/fair: Optimize dequeue_task_fair() (Phil Auld) [1877360] - [kernel] sched/pelt: Cleanup PELT divider (Phil Auld) [1877360] - [kernel] sched/fair: Fix NOHZ next idle balance (Phil Auld) [1877360] - [kernel] sched: correct SD_flags returned by tl->sd_flags() (Phil Auld) [1877360] - [kernel] sched/fair: Remove unused 'sd' parameter from scale_rt_capacity() (Phil Auld) [1877360] - [kernel] sched/idle, stop: Remove .get_rr_interval from sched_class (Phil Auld) [1877360] - [kernel] sched/core: Remove redundant 'preempt' param from sched_class->yield_to_task() (Phil Auld) [1877360] - [kernel] sched/pelt: Remove redundant cap_scale() definition (Phil Auld) [1877360] - [kernel] sched/pelt: Sync util/runnable_sum with PELT window when propagating (Phil Auld) [1877360] - [kernel] sched/cpuacct: Fix charge cpuacct.usage_sys (Phil Auld) [1877360] - [kernel] sched/cpuacct: Use __this_cpu_add() instead of this_cpu_ptr() (Phil Auld) [1877360] - [kernel] sched/fair: Fix unthrottle_cfs_rq() for leaf_cfs_rq list (Phil Auld) [1877360] - [kernel] sched/core: Simplify sched_init() (Phil Auld) [1877360] - [kernel] sched/fair: Mark sched_init_granularity __init (Phil Auld) [1877360] - [kernel] sched/core: Fix illegal RCU from offline CPUs (Phil Auld) [1877360] - [kernel] sched/fair: Use __this_cpu_read() in wake_wide() (Phil Auld) [1877360] - [kernel] sched: Extract the task putting code from pick_next_task() (Phil Auld) [1877360] - [kernel] sched: Make newidle_balance() static again (Phil Auld) [1877360] - [kernel] sched/fair: Remove distribute_running from CFS bandwidth (Phil Auld) [1877360] - [kernel] sched/fair: Simplify the code of should_we_balance() (Phil Auld) [1877360] - [kernel] sched/debug: Fix trival print_task() format (Phil Auld) [1877360] - [kernel] sched/debug: Factor out printing formats into common macros (Phil Auld) [1877360] - [kernel] sched/debug: Remove redundant macro define (Phil Auld) [1877360] - [kernel] sched/core: Remove unused rq::last_load_update_tick (Phil Auld) [1877360] - [kernel] sched/fair: Align rq->avg_idle and rq->avg_scan_cost (Phil Auld) [1877360] - [kernel] sched/fair: Improve spreading of utilization (Phil Auld) [1877360] - [kernel] sched/fair: Fix condition of avg_load calculation (Phil Auld) [1877360] - [kernel] kthread: Do not preempt current task if it is going to call schedule() (Phil Auld) [1877360] - [kernel] sched/core: Distribute tasks within affinity masks (Phil Auld) [1877360] - [kernel] time/sched_clock: Expire timer in hardirq context (Phil Auld) [1877360] - [kernel] sched/deadline: Make two functions static (Phil Auld) [1877360] - [mm] slab: store tagged freelist for off-slab slabmgmt (Waiman Long) [1887067] - [mm] mm/kasan: fix false positive invalid-free reports with CONFIG_KASAN_SW_TAGS=y (Waiman Long) [1887067] - [arm64] arm64: avoid clang warning about self-assignment (Waiman Long) [1887067] - [mm] kasan: add memory corruption identification for software tag-based mode (Waiman Long) [1887067] - [mm] mm/kasan: print frame description for stack bugs (Waiman Long) [1887067] - [mm] kasan: initialize tag to 0xff in __kasan_kmalloc (Waiman Long) [1887067] - [mm] kasan: Makefile: Replace -pg with CC_FLAGS_FTRACE (Waiman Long) [1887067] - [mm] x86/uaccess, kasan: Fix KASAN vs SMAP (Waiman Long) [1887067] - [mm] mm/kasan: Simplify stacktrace handling (Waiman Long) [1887067] - [mm] kasan: fix variable 'tag' set but not used warning (Waiman Long) [1887067] - [mm] slub: fix a crash with SLUB_DEBUG + KASAN_SW_TAGS (Waiman Long) [1887067] - [mm] kasan, slab: remove redundant kasan_slab_alloc hooks (Waiman Long) [1887067] - [mm] kasan, slab: make freelist stored without tags (Waiman Long) [1887067] - [mm] kasan, slab: fix conflicts with CONFIG_HARDENED_USERCOPY (Waiman Long) [1887067] - [mm] kasan: prevent tracing of tags.c (Waiman Long) [1887067] - [mm] kasan: fix random seed generation for tag-based mode (Waiman Long) [1887067] - [mm] slub: fix SLAB_CONSISTENCY_CHECKS + KASAN_SW_TAGS (Waiman Long) [1887067] - [mm] kasan, slub: fix more conflicts with CONFIG_SLAB_FREELIST_HARDENED (Waiman Long) [1887067] - [mm] kasan, slub: fix conflicts with CONFIG_SLAB_FREELIST_HARDENED (Waiman Long) [1887067] - [mm] kasan, slub: move kasan_poison_slab hook before page_address (Waiman Long) [1887067] - [mm] kmemleak: account for tagged pointers when calculating pointer range (Waiman Long) [1887067] - [mm] kasan, kmemleak: pass tagged pointers to kmemleak (Waiman Long) [1887067] - [mm] kasan: fix assigning tags twice (Waiman Long) [1887067] - [mm] kasan: mark file common so ftrace doesn't trace it (Waiman Long) [1887067] - [mm] kasan: fix krealloc handling for tag-based mode (Waiman Long) [1887067] - [mm] kasan: make tag based mode work with CONFIG_HARDENED_USERCOPY (Waiman Long) [1887067] - [arm64] kasan, arm64: use ARCH_SLAB_MINALIGN instead of manual aligning (Waiman Long) [1887067] - [mm] kasan: add SPDX-License-Identifier mark to source files (Waiman Long) [1887067] - [documentation] kasan: update documentation (Waiman Long) [1887067] - [arm64] kasan, arm64: select HAVE_ARCH_KASAN_SW_TAGS (Waiman Long) [1887067] - [mm] kasan: add __must_check annotations to kasan hooks (Waiman Long) [1887067] - [mm] kasan, mm, arm64: tag non slab memory allocated via pagealloc (Waiman Long) [1887067] - [arm64] kasan, arm64: add brk handler for inline instrumentation (Waiman Long) [1887067] - [mm] kasan: add hooks implementation for tag-based mode (Waiman Long) [1887067] - [mm] kasan: add bug reporting routines for tag-based mode (Waiman Long) [1887067] - [mm] kasan: split out generic_report.c from report.c (Waiman Long) [1887067] - [mm] kasan, mm: perform untagged pointers comparison in krealloc (Waiman Long) [1887067] - [mm] kasan, arm64: enable top byte ignore for the kernel (Waiman Long) [1887067] - [mm] kasan, arm64: fix up fault handling logic (Waiman Long) [1887067] - [mm] kasan: preassign tags to objects with ctors or SLAB_TYPESAFE_BY_RCU (Waiman Long) [1887067] - [arm64] kasan, arm64: untag address in _virt_addr_is_linear (Waiman Long) [1887067] - [arm64] kasan: add tag related helper functions (Waiman Long) [1887067] - [mm] kasan: initialize shadow to 0xff for tag-based mode (Waiman Long) [1887067] - [mm] kasan: rename kasan_zero_page to kasan_early_shadow_page (Waiman Long) [1887067] - [arm64] kasan, arm64: adjust shadow size for tag-based mode (Waiman Long) [1887067] - [mm] kasan: add CONFIG_KASAN_GENERIC and CONFIG_KASAN_SW_TAGS (Waiman Long) [1887067] - [mm] kasan: rename source files to reflect the new naming scheme (Waiman Long) [1887067] - [mm] kasan: move common generic and tag-based code to common.c (Waiman Long) [1887067] - [mm] kasan, slub: handle pointer tags in early_kmem_cache_node_alloc (Waiman Long) [1887067] - [mm] kasan, mm: change hooks signatures (Waiman Long) [1887067] - [arm64] arm64: kasan: Increase stack size for KASAN_EXTRA (Waiman Long) [1887067] - [s390] s390/cio: add cond_resched() in the slow_eval_known_fn() loop (Claudio Imbrenda) [1885961] - [s390] scsi: zfcp: fix missing erp_lock in port recovery trigger for point-to-point (Claudio Imbrenda) [1885876] - [tools] selftests/vm/gup_benchmark.c: match gup struct to kernel (Rafael Aquini) [1873952] - [uapi] redhat: Fix the number of KVM_CAP_S390_DIAG318 (Thomas Huth) [1659413] - [s390] setup: diag 318: refactor struct (Thomas Huth) [1659413] - [s390] kvm: diagnose 0x318 sync and reset (Thomas Huth) [1659413] - [mm] swap: reduce lock contention on swap cache from swap slots allocation (Nico Pache) [1839049] - [mm] mm/swapfile.c: use prandom_u32_max() (Nico Pache) [1839049] - [mm] swap: try to scan more free slots even when fragmented (Nico Pache) [1839049] - [mm] mm/swapfile.c: move inode_lock out of claim_swapfile (Nico Pache) [1839049] - [mm] vfs: don't allow writes to swap files (Nico Pache) [1839049] - [mm] mm: set S_SWAPFILE on blockdev swap devices (Nico Pache) [1839049] - [edac] EDAC/ie31200: Add Intel Coffee Lake CPU support (Aristeu Rozanski) [1847567]- [netdrv] macsec: avoid use-after-free in macsec_handle_frame() (Balazs Nemeth) [1890122] - [include] netlink: check for null extack in cookie helpers (Ivan Vecera) [1878274] - [net] ethtool: Don't omit the netlink reply if no features were changed (Ivan Vecera) [1878274] - [net] ethtool: Account for hw_features in netlink interface (Ivan Vecera) [1878274] - [net] ethtool: Fix preserving of wanted feature bits in netlink interface (Ivan Vecera) [1878274] - [net] ethtool: ethnl_set_linkmodes: remove redundant null check (Ivan Vecera) [1878274] - [net] ethtool: fix genlmsg_put() failure handling in ethnl_default_dumpit() (Ivan Vecera) [1878274] - [net] ethtool: add missing string for NETIF_F_GSO_TUNNEL_REMCSUM (Ivan Vecera) [1878274] - [net] ethtool: Fix check in ethtool_rx_flow_rule_create (Ivan Vecera) [1878274] - [net] ethtool: linkinfo: remove an unnecessary NULL check (Ivan Vecera) [1878274] - [net] ethtool: propagate get_coalesce return value (Ivan Vecera) [1878274] - [net] ethtool: don't call set_channels in drivers if config didn't change (Ivan Vecera) [1878274] - [net] ethtool: check if there is at least one channel for TX/RX in the core (Ivan Vecera) [1878274] - [net] drivers: Remove inclusion of vermagic header (Ivan Vecera) [1878274] - [net] ethtool: count header size in reply size estimate (Ivan Vecera) [1878274] - [net] ethtool: provide timestamping information with TSINFO_GET request (Ivan Vecera) [1878274] - [net] ethtool: add timestamping related string sets (Ivan Vecera) [1878274] - [net] ethtool: add EEE_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set EEE settings with EEE_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide EEE settings with EEE_GET request (Ivan Vecera) [1878274] - [net] ethtool: add PAUSE_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set pause parameters with PAUSE_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide pause parameters with PAUSE_GET request (Ivan Vecera) [1878274] - [net] ethtool: add COALESCE_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set coalescing parameters with COALESCE_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide coalescing parameters with COALESCE_GET request (Ivan Vecera) [1878274] - [net] ethtool: fix reference leak in ethnl_set_privflags() (Ivan Vecera) [1878274] - [net] ethtool: fix incorrect tx-checksumming settings reporting (Ivan Vecera) [1878274] - [include] ethtool.h: Replace zero-length array with flexible-array member (Ivan Vecera) [1878274] - [net] ethtool: fix reference leak in some *_SET handlers (Ivan Vecera) [1878274] - [net] ethtool: reject unrecognized request flags (Ivan Vecera) [1878274] - [include] netlink: add nl_set_extack_cookie_u32() (Ivan Vecera) [1878274] - [net] netlink: allow extack cookie also for error messages (Ivan Vecera) [1878274] - [net] ethtool: fix spelling mistake "exceeeds" -> "exceeds" (Ivan Vecera) [1878274] - [net] ethtool: add CHANNELS_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set device channel counts with CHANNELS_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide channel counts with CHANNELS_GET request (Ivan Vecera) [1878274] - [net] ethtool: add RINGS_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set device ring sizes with RINGS_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide ring sizes with RINGS_GET request (Ivan Vecera) [1878274] - [net] ethtool: add PRIVFLAGS_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set device private flags with PRIVFLAGS_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide private flags with PRIVFLAGS_GET request (Ivan Vecera) [1878274] - [net] ethtool: add FEATURES_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set netdev features with FEATURES_SET request (Ivan Vecera) [1878274] - [net] ethtool: add ethnl_parse_bitset() helper (Ivan Vecera) [1878274] - [net] ethtool: provide netdev features with FEATURES_GET request (Ivan Vecera) [1878274] - [net] ethtool: update mapping of features to legacy ioctl requests (Ivan Vecera) [1878274] - [net] ethtool: rename ethnl_parse_header() to ethnl_parse_header_dev_get() (Ivan Vecera) [1878274] - [include] hns: reject unsupported coalescing params (Ivan Vecera) [1878274] - [include] net: liquidio: reject unsupported coalescing params (Ivan Vecera) [1878274] - [net] ethtool: Factored out similar ethtool link settings for virtual devices to core (Ivan Vecera) [1878274] - [net] ethtool: limit bitset size (Ivan Vecera) [1878274] - [net] ethtool: fix application of verbose no_mask bitset (Ivan Vecera) [1878274] - [net] ethtool: Add support for low latency RS FEC (Ivan Vecera) [1878274] - [net] ethtool: add WOL_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set wake-on-lan settings with WOL_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide WoL settings with WOL_GET request (Ivan Vecera) [1878274] - [net] ethtool: add DEBUG_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set message mask with DEBUG_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide message mask with DEBUG_GET request (Ivan Vecera) [1878274] - [net] ethtool: fix kernel-doc descriptions (Ivan Vecera) [1878274] - [net] ethtool: potential NULL dereference in strset_prepare_data() (Ivan Vecera) [1878274] - [net] ethtool: fix ->reply_size() error handling (Ivan Vecera) [1878274] - [net] ethtool: fix a memory leak in ethnl_default_start() (Ivan Vecera) [1878274] - [net] ethtool: remove set but not used variable 'lsettings' (Ivan Vecera) [1878274] - [net] ethtool: provide link state with LINKSTATE_GET request (Ivan Vecera) [1878274] - [net] ethtool: add LINKMODES_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set link modes related data with LINKMODES_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide link mode information with LINKMODES_GET request (Ivan Vecera) [1878274] - [net] ethtool: add LINKINFO_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: add default notification handler (Ivan Vecera) [1878274] - [net] ethtool: set link settings with LINKINFO_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide link settings with LINKINFO_GET request (Ivan Vecera) [1878274] - [net] ethtool: provide string sets with STRSET_GET request (Ivan Vecera) [1878274] - [net] ethtool: default handlers for GET requests (Ivan Vecera) [1878274] - [net] ethtool: support for netlink notifications (Ivan Vecera) [1878274] - [net] ethtool: netlink bitset handling (Ivan Vecera) [1878274] - [net] ethtool: helper functions for netlink interface (Ivan Vecera) [1878274] - [net] ethtool: introduce ethtool netlink interface (Ivan Vecera) [1878274] - [net] ethtool: provide link mode names as a string set (Ivan Vecera) [1878274] - [net] ethtool: move string arrays into common file (Ivan Vecera) [1878274] - [net] ethtool: move RHEL specific stuff to separate header file (Ivan Vecera) [1878274] - [net] ethtool: move to its own directory (Ivan Vecera) [1878274] - [net] rtnetlink: provide permanent hardware address in RTM_NEWLINK (Ivan Vecera) [1878274] - [net] Zeroing the structure ethtool_wolinfo in ethtool_get_wol() (Ivan Vecera) [1878274] - [net] ethtool: Allow parsing ETHER_FLOW types when using flow_rule (Ivan Vecera) [1878274] - [net] ethtool: Allow matching on vlan DEI bit (Ivan Vecera) [1878274] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Ivan Vecera) [1878274] - [include] net: ethtool: Document get_rxfh_context and set_rxfh_context ethtool ops (Ivan Vecera) [1878274] - [include] ethtool: avoid signed-unsigned comparison in ethtool_validate_speed() (Ivan Vecera) [1878274] - [net] ethtool: not call vzalloc for zero sized memory request (Ivan Vecera) [1878274] - [net] ethtool: reduce stack usage with clang (Ivan Vecera) [1878274] - [net] ethtool: Use explicit designated initializers for .cmd (Ivan Vecera) [1878274] - [net] ethtool: remove unnecessary check in ethtool_get_regs() (Ivan Vecera) [1878274] - [include] uapi/ethtool: fix spelling errors (Ivan Vecera) [1878274] - [net] ethtool: fix a missing-check bug (Ivan Vecera) [1878274] - [include] ethtool: Remove trailing semicolon for static inline (Ivan Vecera) [1878274] - [net] ipv6: some fixes for ipv6_dev_find() (Xin Long) [1862458] - [net] tipc: not enable tipc when ipv6 works as a module (Xin Long) [1862458] - [net] tipc: set ub->ifindex for local ipv6 address (Xin Long) [1862458] - [net] ipv6: add ipv6_dev_find() (Xin Long) [1862458] - [powerpc] powerpc/pseries: explicitly reschedule during drmem_lmb list traversal (Steve Best) [1892377] - [scsi] scsi: ibmvscsi: Fix potential race after loss of transport (Steve Best) [1892316] - [mm] mm: fix a race during THP splitting (Rafael Aquini) [1865813 1739593] - [mm] mm, memcg: do not high throttle allocators based on wraparound (Waiman Long) [1873759] - [mm] mm, memcg: throttle allocators based on ancestral memory.high (Waiman Long) [1873759] - [mm] mm, memcg: fix corruption on 64-bit divisor in memory.high throttling (Waiman Long) [1873759] - [mm] mm, memcg: throttle allocators when failing reclaim over memory.high (Waiman Long) [1873759] - [mm] mm, oom: dump stack of victim when reaping failed (Waiman Long) [1873759] - [mm] mm/oom: fix pgtables units mismatch in Killed process message (Waiman Long) [1873759] - [mm] mm, oom: consider present pages for the node size (Waiman Long) [1873759] - [mm] mm/oom_kill.c: fix oom_cpuset_eligible() comment (Waiman Long) [1873759] - [mm] mm/oom: add oom_score_adj and pgtables to Killed process message (Waiman Long) [1873759] - [mm] mm/oom_kill.c: remove redundant OOM score normalization in select_bad_process() (Waiman Long) [1873759] - [fs] oom: decouple mems_allowed from oom_unkillable_task (Waiman Long) [1873759] - [mm] mm, oom: remove redundant task_in_mem_cgroup() check (Waiman Long) [1873759] - [mm] mm, oom: refactor dump_tasks for memcg OOMs (Waiman Long) [1873759] - [mm] mm, oom: describe task memory unit, larger PID pad (Waiman Long) [1873759] - [mm] mm, oom: remove oom_lock from oom_reaper (Waiman Long) [1873759] - [mm] mm/vmscan: remove unused RECLAIM_OFF/RECLAIM_ZONE (Waiman Long) [1873759] - [mm] mm/vmscan: remove prefetch_prev_lru_page (Waiman Long) [1873759] - [mm] mm/vmscan.c: remove unused return value of shrink_node (Waiman Long) [1873759] - [mm] mm/vmscan.c: clean code by removing unnecessary assignment (Waiman Long) [1873759] - [mm] mm: vmscan: protect shrinker idr replace with CONFIG_MEMCG (Waiman Long) [1873759] - [mm] mm/vmscan.c: fix typo in comment (Waiman Long) [1873759] - [mm] mm: vmscan: enforce inactive:active ratio at the reclaim root (Waiman Long) [1873759] - [mm] mm: vmscan: detect file thrashing at the reclaim root (Waiman Long) [1873759] - [mm] mm: vmscan: move file exhaustion detection to the node level (Waiman Long) [1873759] - [include] mm: vmscan: harmonize writeback congestion tracking for nodes & memcgs (Waiman Long) [1873759] - [mm] mm: vmscan: split shrink_node() into node part and memcgs part (Waiman Long) [1873759] - [mm] mm: vmscan: turn shrink_node_memcg() into shrink_lruvec() (Waiman Long) [1873759] - [mm] mm: vmscan: replace shrink_node() loop with a retry jump (Waiman Long) [1873759] - [mm] mm: vmscan: naming fixes: global_reclaim() and sane_reclaim() (Waiman Long) [1873759] - [mm] mm: vmscan: move inactive_list_is_low() swap check to the caller (Waiman Long) [1873759] - [mm] mm: vmscan: simplify lruvec_lru_size() (Waiman Long) [1873759] - [mm] mm/vmscan.c: remove unused scan_control parameter from pageout() (Waiman Long) [1873759] - [mm] mm/vmscan: remove unused lru_pages argument (Waiman Long) [1873759] - [mm] mm: do not allow MADV_PAGEOUT for CoW pages (Waiman Long) [1873759] - [mm] mm: fix trying to reclaim unevictable lru page when calling madvise_pageout (Waiman Long) [1873759] - [mm] mm: factor out common parts between MADV_COLD and MADV_PAGEOUT (Waiman Long) [1873759] - [mm] mm: introduce MADV_PAGEOUT (Waiman Long) [1873759] - [mm] mm: change PAGEREF_RECLAIM_CLEAN with PAGE_REFRECLAIM (Waiman Long) [1873759] - [mm] mm: introduce MADV_COLD (Waiman Long) [1873759] - [mm] mm: thp: don't need care deferred split queue in memcg charge move path (Waiman Long) [1873759] - [mm] mm: thp: make deferred split shrinker memcg aware (Waiman Long) [1873759] - [mm] mm: shrinker: make shrinker not depend on memcg kmem (Waiman Long) [1873759] - [mm] mm: move mem_cgroup_uncharge out of __page_cache_release() (Waiman Long) [1873759] - [mm] mm: thp: extract split_queue_* into a struct (Waiman Long) [1873759] - [mm] mm/page_alloc.c: move ifdefery out of free_area_init_core (Waiman Long) [1873759] - [mm] mm, memcg: do not set reclaim_state on soft limit reclaim (Waiman Long) [1873759] - [mm] mm, vmscan: do not special-case slab reclaim when watermarks are boosted (Waiman Long) [1873759] - [mm] mm/vmscan.c: add checks for incorrect handling of current->reclaim_state (Waiman Long) [1873759] - [mm] mm/vmscan.c: calculate reclaimed slab caches in all reclaim paths (Waiman Long) [1873759] - [mm] mm/vmscan.c: add a new member reclaim_state in struct shrink_control (Waiman Long) [1873759] - [mm] mm: vmscan: remove double slab pressure by inc'ing sc->nr_scanned (Waiman Long) [1873759] - [mm] mm: limit boost_watermark on small zones (Waiman Long) [1873759] - [mm] mm: do not boost watermarks to avoid fragmentation for the DISCONTIG memory model (Waiman Long) [1873759] - [mm] mm, page_alloc: fix a division by zero error when boosting watermarks v2 (Waiman Long) [1873759] - [mm] mm, page_alloc: do not wake kswapd with zone lock held (Waiman Long) [1873759] - [mm] mm/page_alloc.c: drop uneeded __meminit and __meminitdata (Waiman Long) [1873759] - [mm] mm/page_alloc.c: fix never set ALLOC_NOFRAGMENT flag (Waiman Long) [1873759] - [mm] mm/page_alloc.c: avoid potential NULL pointer dereference (Waiman Long) [1873759] - [mm] mm/vmscan.c: don't disable irq again when count pgrefill for memcg (Waiman Long) [1873759] - [mm] mm/vmscan: drop may_writepage and classzone_idx from direct reclaim begin template (Waiman Long) [1873759] - [mm] mm/vmscan: add tracepoints for node reclaim (Waiman Long) [1873759] - [mm] mm: generalize putback scan functions (Waiman Long) [1873759] - [mm] mm: remove pages_to_free argument of move_active_pages_to_lru() (Waiman Long) [1873759] - [mm] mm/workingset: remove unused @mapping argument in workingset_eviction() (Waiman Long) [1873759] - [mm] Revert "mm: slowly shrink slabs with a relatively small number of objects" (Waiman Long) [1873759] - [mm] mm: reclaim small amounts of memory when an external fragmentation event occurs (Waiman Long) [1873759] - [mm] mm: use alloc_flags to record if kswapd can wake (Waiman Long) [1873759] - [mm] mm: move zone watermark accesses behind an accessor (Waiman Long) [1873759] - [mm] mm, page_alloc: spread allocations across zones before introducing fragmentation (Waiman Long) [1873759] - [mm] mm: Convert delete_from_swap_cache to XArray (Waiman Long) [1873759] - [fs] mm: zero-seek shrinkers (Waiman Long) [1873759] - [mm] mm/vmscan.c: fix int overflow in callers of do_shrink_slab() (Waiman Long) [1873759] - [mm] mm: slowly shrink slabs with a relatively small number of objects (Waiman Long) [1873759] - [mm] mm: fix page_freeze_refs and page_unfreeze_refs in comments (Waiman Long) [1873759] - [mm] mm: check shrinker is memcg-aware in register_shrinker_prepared() (Waiman Long) [1873759] - [mm] mm: use special value SHRINKER_REGISTERING instead of list_empty() check (Waiman Long) [1873759] - [mm] mm/vmscan.c: move check for SHRINKER_NUMA_AWARE to do_shrink_slab() (Waiman Long) [1873759] - [mm] mm/vmscan.c: condense scan_control (Waiman Long) [1873759] - [arch] asm-generic/tlb: add missing CONFIG symbol (Waiman Long) [1873759] - [include] asm-gemeric/tlb: remove stray function declarations (Waiman Long) [1873759] - [x86] x86/ldt: Remove unused variable in map_ldt_struct() (Waiman Long) [1873759] - [x86] x86/ldt: Unmap PTEs for the slot before freeing LDT pages (Waiman Long) [1873759] - [x86] x86/mm/tlb: Add freed_tables argument to flush_tlb_mm_range (Waiman Long) [1873759] - [mm] asm-generic/tlb: Remove tlb_table_flush() (Waiman Long) [1873759] - [mm] asm-generic/tlb: Remove tlb_flush_mmu_free() (Waiman Long) [1873759] - [mm] asm-generic/tlb: Remove CONFIG_HAVE_GENERIC_MMU_GATHER (Waiman Long) [1873759] - [mm] asm-generic/tlb: Remove arch_tlb*_mmu() (Waiman Long) [1873759] - [s390] s390/tlb: Convert to generic mmu_gather (Waiman Long) [1873759] - [mm] asm-generic/tlb: Introduce CONFIG_HAVE_MMU_GATHER_NO_GATHER=y (Waiman Long) [1873759] - [include] asm-generic/tlb, ia64: Conditionally provide tlb_migrate_finish() (Waiman Long) [1873759] - [include] asm-generic/tlb: Provide generic tlb_flush() based on flush_tlb_mm() (Waiman Long) [1873759] - [arm64] asm-generic/tlb, arch: Provide generic tlb_flush() based on flush_tlb_range() (Waiman Long) [1873759] - [mm] asm-generic/tlb, arch: Provide CONFIG_HAVE_MMU_GATHER_PAGE_SIZE (Waiman Long) [1873759] - [include] asm-generic/tlb: Provide a comment (Waiman Long) [1873759] - [mm] mm/memory: Move mmu_gather and TLB invalidation code into its own file (Waiman Long) [1873759] - [x86] x86/mm: Page size aware flush_tlb_mm_range() (Waiman Long) [1873759] - [x86] x86/ldt: Split out sanity check in map_ldt_struct() (Waiman Long) [1873759] - [mm] asm-generic/tlb: Track which levels of the page tables have been cleared (Waiman Long) [1873759] - [include] asm-generic/tlb: Track freeing of page-table directories in struct mmu_gather (Waiman Long) [1873759] - [mm] mm/cow: don't bother write protecting already write-protected pages (Waiman Long) [1873759] - [powerpc] mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush (Diego Domingos) [1805031] - [powerpc] powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case (Diego Domingos) [1805031] - [fs] cifs: smb1: Try failing back to SetFileInfo if SetPathInfo fails (Leif Sahlberg) [1857038]- [scsi] scsi: libfc: Fix passing zero to 'PTR_ERR' warning (Chris Leech) [1849542] - [scsi] scsi: libfc: Fix for double free() (Chris Leech) [1849542] - [scsi] scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases (Chris Leech) [1849542] - [scsi] scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del() (Chris Leech) [1849542] - [scsi] scsi: fcoe: Use eth_zero_addr() to clear mac address (Chris Leech) [1849542] - [scsi] scsi: libfc: Provide missing and repair existing function documentation (Chris Leech) [1849542] - [scsi] scsi: libfc: Fix a couple of misdocumented function parameters (Chris Leech) [1849542] - [scsi] scsi: libfc: Repair function parameter documentation (Chris Leech) [1849542] - [scsi] scsi: fcoe: Correct some kernel-doc issues (Chris Leech) [1849542] - [scsi] scsi: fcoe: Fix a myriad of documentation issues (Chris Leech) [1849542] - [scsi] scsi: fcoe: Fix various kernel-doc infringements (Chris Leech) [1849542] - [scsi] scsi: libfc: trivial: Fix spelling mistake of 'discovery' (Chris Leech) [1849542] - [scsi] scsi: libfc: Supply some missing kerneldoc struct/function attributes/params (Chris Leech) [1849542] - [scsi] scsi: libfc: fc_disc: Fix-up some incorrectly referenced function parameters (Chris Leech) [1849542] - [scsi] scsi: libfc: Skip additional kref updating work event (Chris Leech) [1849542] - [scsi] scsi: libfc: Handling of extra kref (Chris Leech) [1849542] - [scsi] scsi: fcoe: remove unneeded semicolon in fcoe.c (Chris Leech) [1849542] - [scsi] scsi: libfc: rport state move to PLOGI if all PRLI retry exhausted (Chris Leech) [1849542] - [scsi] scsi: libfc: If PRLI rejected, move rport to PLOGI state (Chris Leech) [1849542] - [scsi] scsi: libfc: free response frame from GPN_ID (Chris Leech) [1849542] - [scsi] scsi: fcoe: fix null-ptr-deref Read in fc_release_transport (Chris Leech) [1849542] - [scsi] scsi: fcoe: remove redundant call to skb_transport_header (Chris Leech) [1849542] - [scsi] scsi: fcoe: pass in fcoe_rport structure instead of fc_rport_priv (Chris Leech) [1849542] - [scsi] scsi: fcoe: Embed fc_rport_priv in fcoe_rport structure (Chris Leech) [1849542] - [scsi] scsi: libfc: Whitespace cleanup in libfc.h (Chris Leech) [1849542] - [scsi] scsi: fcoe: fix a typo (Chris Leech) [1849542] - [scsi] scsi: libfc: fix null pointer dereference on a null lport (Chris Leech) [1849542] - [scsi] scsi: libfcoe: switch to SPDX tags (Chris Leech) [1849542] - [scsi] scsi: libfc: switch to SPDX tags (Chris Leech) [1849542] - [scsi] scsi: fcoe: make use of fip_mode enum complete (Chris Leech) [1849542] - [scsi] scsi: fcoe: remove unneeded fcoe_ctlr_destroy_store export (Chris Leech) [1849542] - [scsi] scsi: fcoe: convert to use BUS_ATTR_WO (Chris Leech) [1849542] - [scsi] scsi: libfc: free skb when receiving invalid flogi resp (Chris Leech) [1849542] - [scsi] scsi: fcoe: remove set but not used variable 'port' (Chris Leech) [1849542] - [scsi] scsi: libfc: fc_rport: Mark expected switch fall-through (Chris Leech) [1849542] - [scsi] scsi: libfc: Remove set but not used variable 'disc' (Chris Leech) [1849542] - [scsi] scsi: libfc: remove set but not used variable 'rpriv' (Chris Leech) [1849542] - [scsi] scsi: libfc: remove unnecessary condition check (Chris Leech) [1849542] - [scsi] scsi: fcoe: hold disc_mutex when traversing rport lists (Chris Leech) [1849542] - [net] netfilter: nftables: allow re-computing sctp CRC-32C in 'payload' statements (Davide Caratti) [1741052] - [fs] nfsd4: fix NULL dereference in nfsd/clients display code (Scott Mayhew) [1872311] - [fs] nfsd: Fix old-style function definition (Scott Mayhew) [1872311] - [fs] nfsd: clients don't need to break their own delegations (Scott Mayhew) [1872311] - [kernel] kthread: save thread function (Scott Mayhew) [1872311] - [fs] locks: Add trace_leases_conflict (Scott Mayhew) [1872311] - [fs] SUNRPC reverting d03727b248d0 ("NFSv4 fix CLOSE not waiting for direct IO compeletion") (Scott Mayhew) [1872311] - [fs] NFS: Fix interrupted slots by sending a solo SEQUENCE operation (Scott Mayhew) [1872311] - [net] SUNRPC: Add missing definition of ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE (Scott Mayhew) [1872311] - [fs] NFSv4 fix CLOSE not waiting for direct IO compeletion (Scott Mayhew) [1872311] - [fs] nfs: Fix memory leak of export_path (Scott Mayhew) [1872311] - [net] sunrpc: fixed rollback in rpc_gssd_dummy_populate() (Scott Mayhew) [1872311] - [net] xprtrdma: Clean up disconnect (Scott Mayhew) [1872311] - [fs] nfsd: apply umask on fs without ACL support (Scott Mayhew) [1872311] - [fs] NFS: Fix direct WRITE throughput regression (Scott Mayhew) [1872311] - [trace] SUNRPC: rpc_xprt lifetime events should record xprt->state (Scott Mayhew) [1872311] - [fs] nfs: set invalid blocks after NFSv4 writes (Scott Mayhew) [1872311] - [fs] NFS: remove redundant initialization of variable result (Scott Mayhew) [1872311] - [fs] NFS: Add a tracepoint in nfs_set_pgio_error() (Scott Mayhew) [1872311] - [fs] NFS: Trace short NFS READs (Scott Mayhew) [1872311] - [fs] NFS: nfs_xdr_status should record the procedure name (Scott Mayhew) [1872311] - [net] SUNRPC: Set SOFTCONN when destroying GSS contexts (Scott Mayhew) [1872311] - [net] SUNRPC: rpc_call_null_helper() should set RPC_TASK_SOFT (Scott Mayhew) [1872311] - [net] SUNRPC: rpc_call_null_helper() already sets RPC_TASK_NULLCREDS (Scott Mayhew) [1872311] - [net] SUNRPC: trace RPC client lifetime events (Scott Mayhew) [1872311] - [net] SUNRPC: Trace transport lifetime events (Scott Mayhew) [1872311] - [net] SUNRPC: Split the xdr_buf event class (Scott Mayhew) [1872311] - [net] SUNRPC: Add tracepoint to rpc_call_rpcerror() (Scott Mayhew) [1872311] - [trace] SUNRPC: Update the RPC_SHOW_SOCKET() macro (Scott Mayhew) [1872311] - [trace] SUNRPC: Update the rpc_show_task_flags() macro (Scott Mayhew) [1872311] - [net] SUNRPC: Trace GSS context lifetimes (Scott Mayhew) [1872311] - [net] SUNRPC: receive buffer size estimation values almost never change (Scott Mayhew) [1872311] - [net] sunrpc: use kmemdup_nul() in gssp_stringify() (Scott Mayhew) [1872311] - [fs] nfsd: safer handling of corrupted c_type (Scott Mayhew) [1872311] - [fs] mm/writeback: discard NR_UNSTABLE_NFS, use NR_WRITEBACK instead (Scott Mayhew) [1872311] - [mm] mm/writeback: replace PF_LESS_THROTTLE with PF_LOCAL_THROTTLE (Scott Mayhew) [1872311] - [net] SUNRPC: Remove unreachable error condition in rpcb_getport_async() (Scott Mayhew) [1872311] - [fs] nfsd: Fix svc_xprt refcnt leak when setup callback client failed (Scott Mayhew) [1872311] - [net] sunrpc: check that domain table is empty at module unload (Scott Mayhew) [1872311] - [fs] NFS: remove duplicate headers (Scott Mayhew) [1872311] - [fs] NFSv4.1 fix rpc_call_done assignment for BIND_CONN_TO_SESSION (Scott Mayhew) [1872311] - [fs] NFS: Use the correct style for SPDX License Identifier (Scott Mayhew) [1872311] - [net] net: sunrpc: Fix off-by-one issues in 'rpc_ntop6' (Scott Mayhew) [1872311] - [fs] NFS: move dprintk after nfs_alloc_fattr in nfs3_proc_lookup (Scott Mayhew) [1872311] - [fs] NFSD: Fix improperly-formatted Doxygen comments (Scott Mayhew) [1872311] - [fs] NFSD: Squash an annoying compiler warning (Scott Mayhew) [1872311] - [net] SUNRPC: Clean up request deferral tracepoints (Scott Mayhew) [1872311] - [fs] NFSD: Add tracepoints for monitoring NFSD callbacks (Scott Mayhew) [1872311] - [fs] NFSD: Add tracepoints to the NFSD state management code (Scott Mayhew) [1872311] - [fs] NFSD: Add tracepoints to NFSD's duplicate reply cache (Scott Mayhew) [1872311] - [trace] SUNRPC: svc_show_status() macro should have enum definitions (Scott Mayhew) [1872311] - [net] SUNRPC: Restructure svc_udp_recvfrom() (Scott Mayhew) [1872311] - [net] SUNRPC: Refactor svc_recvfrom() (Scott Mayhew) [1872311] - [net] SUNRPC: Clean up svc_release_skb() functions (Scott Mayhew) [1872311] - [net] SUNRPC: Refactor recvfrom path dealing with incomplete TCP receives (Scott Mayhew) [1872311] - [net] SUNRPC: Replace dprintk() call sites in TCP receive path (Scott Mayhew) [1872311] - [net] SUNRPC: Restructure svc_tcp_recv_record() (Scott Mayhew) [1872311] - [net] SUNRPC: Rename svc_sock::sk_reclen (Scott Mayhew) [1872311] - [net] SUNRPC: Trace server-side rpcbind registration events (Scott Mayhew) [1872311] - [net] SUNRPC: Replace dprintk call sites in TCP state change callouts (Scott Mayhew) [1872311] - [net] SUNRPC: Add more svcsock tracepoints (Scott Mayhew) [1872311] - [net] SUNRPC: Remove "#include " (Scott Mayhew) [1872311] - [net] SUNRPC: Trace a few more generic svc_xprt events (Scott Mayhew) [1872311] - [net] SUNRPC: Tracepoint to record errors in svc_xpo_create() (Scott Mayhew) [1872311] - [trace] SUNRPC: Remove kernel memory address from svc_xprt tracepoints (Scott Mayhew) [1872311] - [net] svcrdma: Add tracepoints to report ->xpo_accept failures (Scott Mayhew) [1872311] - [net] svcrdma: Displayed remote IP address should match stored address (Scott Mayhew) [1872311] - [include] svcrdma: Remove the SVCRDMA_DEBUG macro (Scott Mayhew) [1872311] - [net] svcrdma: Rename tracepoints that record header decoding errors (Scott Mayhew) [1872311] - [net] svcrdma: Remove backchannel dprintk call sites (Scott Mayhew) [1872311] - [net] SUNRPC: Move xpt_mutex into socket xpo_sendto methods (Scott Mayhew) [1872311] - [net] sunrpc: add missing newline when printing parameter 'pool_mode' by sysfs (Scott Mayhew) [1872311] - [net] sunrpc: Remove unused function ip_map_update (Scott Mayhew) [1872311] - [fs] nfsd: handle repeated BIND_CONN_TO_SESSION (Scott Mayhew) [1872311] - [net] ip_tunnel_core: Fix build for archs without _HAVE_ARCH_IPV6_CSUM (Aaron Conole) [1849736] - [tools] selftests: pmtu.sh: Add tests for UDP tunnels handled by Open vSwitch (Aaron Conole) [1849736] - [tools] selftests: pmtu.sh: Add tests for bridged UDP tunnels (Aaron Conole) [1849736] - [net] geneve: Support for PMTU discovery on directly bridged links (Aaron Conole) [1849736] - [net] vxlan: Support for PMTU discovery on directly bridged links (Aaron Conole) [1849736] - [net] tunnels: PMTU discovery support for directly bridged IP packets (Aaron Conole) [1849736] - [net] ipv4: route: Ignore output interface in FIB lookup for PMTU route (Aaron Conole) [1849736] - [infiniband] RDMA/core: Free DIM memory in error unwind (Kamal Heib) [1857602] - [infiniband] RDMA/core: Stop DIM before destroying CQ (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Add min length checks to user structure copies (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Protect access to remote_sidr_table (Kamal Heib) [1857602] - [infiniband] RDMA/core: Fix race in rdma_alloc_commit_uobject() (Kamal Heib) [1857602] - [net] xprtrdma: fix incorrect header size calculations (Kamal Heib) [1857602] - [net] xprtrdma: Fix handling of connect errors (Kamal Heib) [1857602] - [net] xprtrdma: Fix return code from rpcrdma_xprt_connect() (Kamal Heib) [1857602] - [net] xprtrdma: Fix recursion into rpcrdma_xprt_disconnect() (Kamal Heib) [1857602] - [net] xprtrdma: Fix double-free in rpcrdma_ep_create() (Kamal Heib) [1857602] - [infiniband] RDMA/siw: Fix reporting vendor_part_id (Kamal Heib) [1857602] - [infiniband] IB/sa: Resolv use-after-free in ib_nl_make_request() (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add explicit cast OPA_MTU_8192 to 'enum ib_mtu' (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add atomic triggered sleep/wakeup (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Correct -EBUSY handling in tx code (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Restore kfree in dummy_netdev cleanup (Kamal Heib) [1857602] - [infiniband] IB/mad: Fix use after free when destroying MAD agent (Kamal Heib) [1857602] - [infiniband] RDMA/counter: Query a counter before release (Kamal Heib) [1857602] - [net] xprtrdma: Fix handling of RDMA_ERROR replies (Kamal Heib) [1857602] - [net] xprtrdma: Clean up synopsis of rpcrdma_flush_disconnect() (Kamal Heib) [1857602] - [net] xprtrdma: Use re_connect_status safely in rpcrdma_xprt_connect() (Kamal Heib) [1857602] - [net] xprtrdma: Prevent dereferencing r_xprt->rx_ep after it is freed (Kamal Heib) [1857602] - [infiniband] RDMA/mad: Fix possible memory leak in ib_mad_post_receive_mads() (Kamal Heib) [1857602] - [infiniband] RDMA/core: Check that type_attrs is not NULL prior access (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Protect bind_list and listen_list while finding matching cm id (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Set maximum pkeys device attribute (Kamal Heib) [1857602] - [infiniband] RDMA/rvt: Fix potential memory leak caused by rvt_alloc_rq (Kamal Heib) [1857602] - [infiniband] RDMA/core: Annotate CMA unlock helper routine (Kamal Heib) [1857602] - [infiniband] RDMA/siw: Fix pointer-to-int-cast warning in siw_rx_pbl() (Kamal Heib) [1857602] - [infiniband] RDMA/hfi1: Fix trivial mis-spelling of 'descriptor' (Kamal Heib) [1857602] - [net] xprtrdma: Make xprt_rdma_slot_table_entries static (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Spurious WARNING triggered in cm_destroy_id() (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Use free_netdev() in hfi1_netdev_free() (Kamal Heib) [1857602] - [infiniband] RDMA/core: Move and rename trace_cm_id_create() (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Fix hfi1_netdev_rx_init() error handling (Kamal Heib) [1857602] - [infiniband] RDMA: Remove 'max_map_per_fmr' (Kamal Heib) [1857602] - [infiniband] RDMA: Remove 'max_fmr' (Kamal Heib) [1857602] - [net] RDMA/rds: Remove FMR support for memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/core: Remove FMR device ops (Kamal Heib) [1857602] - [infiniband] RDMA/rdmavt: Remove FMR memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/mthca: Remove FMR support for memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/mlx4: Remove FMR support for memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/i40iw: Remove FMR leftovers (Kamal Heib) [1857602] - [infiniband] RDMA/bnxt_re: Remove FMR leftovers (Kamal Heib) [1857602] - [infiniband] RDMA/mlx5: Remove FMR leftovers (Kamal Heib) [1857602] - [infiniband] RDMA/core: Remove FMR pool API (Kamal Heib) [1857602] - [infiniband] RDMA/srp: Remove support for FMR memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/iser: Remove support for FMR memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/core: Fix several reference count leaks (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Fix spelling mistake "enought" -> "enough" (Kamal Heib) [1857602] - [rdma] RDMA/core: Use offsetofend() instead of open coding (Kamal Heib) [1857602] - [infiniband] RDMA/srpt: Increase max_send_sge (Kamal Heib) [1857602] - [infiniband] RDMA/srpt: Reduce max_recv_sge to 1 (Kamal Heib) [1857602] - [infiniband] RDMA/srpt: Make debug output more detailed (Kamal Heib) [1857602] - [infiniband] RDMA/srp: Make the channel count configurable per target (Kamal Heib) [1857602] - [infiniband] hfi1: get rid of pointless access_ok() (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Provide ECE reject reason (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Connect ECE to rdma_accept (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Send and receive ECE parameter over the wire (Kamal Heib) [1857602] - [infiniband] RDMA/ucma: Deliver ECE parameters through UCMA events (Kamal Heib) [1857602] - [infiniband] RDMA/ucma: Extend ucma_connect to receive ECE parameters (Kamal Heib) [1857602] - [rdma] RDMA/cm: Add Enhanced Connection Establishment (ECE) bits (Kamal Heib) [1857602] - [infiniband] RDMA/core: Use sizeof_field() helper (Kamal Heib) [1857602] - [infiniband] RDMA/ipoib: Remove can_sleep parameter from iboib_mcast_alloc (Kamal Heib) [1857602] - [infiniband] IB/cma: Fix ports memory leak in cma_configfs (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Introduce create/destroy QP commands over ioctl (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Introduce create/destroy WQ commands over ioctl (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Introduce create/destroy SRQ commands over ioctl (Kamal Heib) [1857602] - [rdma] IB/uverbs: Move QP, SRQ, WQ type and flags to UAPI (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Extend CQ to get its own asynchronous event FD (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Refactor related objects to use their own asynchronous event FD (Kamal Heib) [1857602] - [infiniband] RDMA/core: Allow the ioctl layer to abort a fully created uobject (Kamal Heib) [1857602] - [infiniband] IB/mlx5: Expose UAR object and its alloc/destroy commands (Kamal Heib) [1857602] - [infiniband] IB/mlx5: Fix a NULL vs IS_ERR() check (Kamal Heib) [1857602] - [infiniband] IB/mlx5: Introduce UAPIs to manage packet pacing (Kamal Heib) [1857602] - [netdrv] net/mlx5: Expose raw packet pacing APIs (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Enable the transmit side of the datagram ipoib netdev (Kamal Heib) [1857602] - [infiniband] IB/ipoib: Add capability to switch between datagram and connected mode (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add packet histogram trace event (Kamal Heib) [1857602] - [infiniband] IB/{hfi1, ipoib, rdma}: Broadcast ping sent packets which exceeded mtu size (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Activate the dummy netdev (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add rx functions for dummy netdev (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add interrupt handler functions for accelerated ipoib (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add functions to receive accelerated ipoib packets (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Rename num_vnic_contexts as num_netdev_contexts (Kamal Heib) [1857602] - [infiniband] IB/ipoib: Increase ipoib Datagram mode MTU's upper limit (Kamal Heib) [1857602] - [infiniband] IB/hfi1: RSM rules for AIP (Kamal Heib) [1857602] - [infiniband] IB/{rdmavt, hfi1}: Implement creation of accelerated UD QPs (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Remove module parameter for KDETH qpns (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add the transmit side of a datagram ipoib RDMA netdev (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add functions to transmit datagram ipoib packets (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add accelerated IP capability bit (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Report host information to the device (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Fix setting of wrong bit in get/set_feature commands (Kamal Heib) [1857602] - [infiniband] RDMA/siw: Replace one-element array and use struct_size() helper (Kamal Heib) [1857602] - [net] svcrdma: Fix backchannel return code (Kamal Heib) [1857602] - [net] svcrdma: trace undersized Write chunks (Kamal Heib) [1857602] - [net] svcrdma: Trace page overruns when constructing RDMA Reads (Kamal Heib) [1857602] - [net] svcrdma: Clean up handling of get_rw_ctx errors (Kamal Heib) [1857602] - [net] svcrdma: Clean up the tracing for rw_ctx_init errors (Kamal Heib) [1857602] - [infiniband] RDMA/srpt: Add a newline when printing parameter 'srpt_service_guid' by sysfs (Kamal Heib) [1857602] - [infiniband] RDMA/core: Consolidate ib_create_srq flows (Kamal Heib) [1857602] - [infiniband] RDMA/uverbs: Fix create WQ to use the given user handle (Kamal Heib) [1857602] - [infiniband] RDMA/uverbs: Cleanup wq/srq context usage from uverbs layer (Kamal Heib) [1857602] - [rdma] IB/rdmavt: Replace zero-length array with flexible-array (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Increment the refcount inside cm_find_listen() (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Remove needless cm_id variable (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Remove the cm_free_id() wrapper function (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Make find_remote_id() return a cm_id_private (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Add a note explaining how the timewait is eventually freed (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Pass the cm_id_private into cm_cleanup_timewait (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Pull duplicated code into cm_queue_work_unlock() (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Remove unused store to ret in cm_rej_handler (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Remove return code from add_cm_id_to_port_list (Kamal Heib) [1857602] - [infiniband] RDMA/addr: Mark addr_resolve as might_sleep() (Kamal Heib) [1857602] - [infiniband] RDMA/ucma: Return stable IB device index as identifier (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Initialize the flow label of CM's route path record (Kamal Heib) [1857602] - [infiniband] RDMA/core: Consider flow label when building skb (Kamal Heib) [1857602] - [rdma] RDMA/core: Add hash functions to calculate RoCEv2 flowlabel and UDP source port (Kamal Heib) [1857602] - [infiniband] RDMA: Allow ib_client's to fail when add() is called (Kamal Heib) [1857602] - [infiniband] RDMA/mad: Remove snoop interface (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Count admin commands errors (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Count mmap failures (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Report create CQ error counter (Kamal Heib) [1857602] - [infiniband] RDMA/core: Get xmit slave for LAG (Kamal Heib) [1857602] - [infiniband] RDMA/core: Add LAG functionality (Kamal Heib) [1857602] - [infiniband] RDMA: Group create AH arguments in struct (Kamal Heib) [1857602] - [infiniband] RDMA/rw: use DIV_ROUND_UP to calculate nr_ops (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Limit the scope of rdma_is_consumer_reject function (Kamal Heib) [1857602] - [infiniband] IB: Fix some documentation warnings (Kamal Heib) [1857602] - [infiniband] RDMA: Remove a few extra calls to ib_get_client_data() (Kamal Heib) [1857602] - [infiniband] RDMA/uverbs: Make the event_queue fds return POLLERR when disassociated (Kamal Heib) [1857602] - [infiniband] RDMA/rxe: Set default vendor ID (Kamal Heib) [1857602] - [netdrv] bonding: Use fallthrough pseudo-keyword (Jarod Wilson) [1860495] - [netdrv] bonding: fix active-backup failover for current ARP slave (Jarod Wilson) [1860495] - [netdrv] bonding: fix a potential double-unregister (Jarod Wilson) [1860495] - [netdrv] net: bonding: bond_alb: Describe alb_handle_addr_collision_on_attach()'s 'bond' and 'addr' params (Jarod Wilson) [1860495] - [netdrv] net: bonding: bond_main: Document 'proto' and rename 'new_active' parameters (Jarod Wilson) [1860495] - [netdrv] net: bonding: bond_3ad: Fix a bunch of kerneldoc parameter issues (Jarod Wilson) [1860495] - [netdrv] bonding: show saner speed for broadcast mode (Jarod Wilson) [1868265 1860495] - [netdrv] bonding: check return value of register_netdevice() in bond_newlink() (Jarod Wilson) [1860495] - [netdrv] bonding: check error value of register_netdevice() immediately (Jarod Wilson) [1860495] - [netdrv] bonding: don't need RTNL for ipsec helpers (Jarod Wilson) [1860495] - [netdrv] bonding: deal with xfrm state in all modes and add more error-checking (Jarod Wilson) [1860495] - [netdrv] bonding: allow xfrm offload setup post-module-load (Jarod Wilson) [1860495] - [netdrv] bonding: Remove extraneous parentheses in bond_setup (Jarod Wilson) [1860495] - [netdrv] bonding/xfrm: use real_dev instead of slave_dev (Jarod Wilson) [1860495] - [netdrv] bonding: support hardware encryption offload to slaves (Jarod Wilson) [1860495] - [netdrv] mlx5: become aware of when running as a bonding slave (Jarod Wilson) [1860495] - [netdrv] ixgbe_ipsec: become aware of when running as a bonding slave (Jarod Wilson) [1860495] - [net] xfrm: bail early on slave pass over skb (Jarod Wilson) [1860495] - [netdrv] bonding: Fix reference count leak in bond_sysfs_slave_add (Jarod Wilson) [1860495] - [netdrv] bonding: propagate transmit status (Jarod Wilson) [1860495] - [netdrv] bonding: remove useless stats_lock_key (Jarod Wilson) [1860495] - [netdrv] bonding: Implement ndo_get_xmit_slave (Jarod Wilson) [1860495] - [netdrv] bonding: Add array of all slaves (Jarod Wilson) [1860495] - [netdrv] bonding: Add function to get the xmit slave in active-backup mode (Jarod Wilson) [1860495] - [netdrv] bonding: Add helper function to get the xmit slave in rr mode (Jarod Wilson) [1860495] - [netdrv] bonding: Add helper function to get the xmit slave based on hash (Jarod Wilson) [1860495] - [netdrv] bonding/alb: Add helper functions to get the xmit slave (Jarod Wilson) [1860495] - [netdrv] bonding: Rename slave_arr to usable_slaves (Jarod Wilson) [1860495] - [netdrv] bonding: Export skip slave logic to function (Jarod Wilson) [1860495] - [netdrv] bonding: Remove inclusion of vermagic header (Jarod Wilson) [1860495] - [netdrv] net/bond: Delete driver and module versions (Jarod Wilson) [1860495]- [mm] powerpc/book3s64/radix: Fix boot failure with large amount of guest memory (Steve Best) [1854543] - [powerpc] powerpc/book3s64/radix: Add kernel command line option to disable radix GTSE (Steve Best) [1854543] - [powerpc] powerpc/prom: Enable Radix GTSE in cpu pa-features (Steve Best) [1854543] - [powerpc] powerpc/mm/book3s64/radix: Off-load TLB invalidations to host when !GTSE (Steve Best) [1854543] - [powerpc] powerpc/pseries: H_REGISTER_PROC_TBL should ask for GTSE only if enabled (Steve Best) [1854543] - [powerpc] powerpc/mm: Enable radix GTSE only if supported (Steve Best) [1854543] - [misc] powerpc/64s/radix: introduce options to disable use of the tlbie instruction (Steve Best) [1854543] - [mm] powerpc/64s: remove unnecessary translation cache flushes at boot (Steve Best) [1854543] - [mm] powerpc/64s/pseries: radix flush translations before MMU is enabled at boot (Steve Best) [1854543] - [mm] powerpc/64s: make mmu_partition_table_set_entry TLB flush optional (Steve Best) [1854543] - [mm] powerpc/64s/radix: tidy up TLB flushing code (Steve Best) [1854543] - [mm] powerpc/64s: remove register_process_table callback (Steve Best) [1854543] - [mm] powerpc/mm: Limit resize_hpt_for_hotplug() call to hash guests only (Steve Best) [1854543] - [powerpc] powerpc/mm/radix: Create separate mappings for hot-plugged memory (Steve Best) [1854543] - [mm] powerpc/mm/radix: Remove split_kernel_mapping() (Steve Best) [1854543] - [mm] powerpc/mm/radix: Free PUD table when freeing pagetable (Steve Best) [1854543] - [mm] powerpc/mm/radix: Fix PTE/PMD fragment count for early page table mappings (Steve Best) [1854543] - [mm] powerpc/64s: Fix page table fragment refcount race vs speculative references (Steve Best) [1854543] - [powerpc] powerpc/security: Fix link stack flush instruction (Gustavo Duarte) [1862103] - [powerpc] powerpc/pseries: add new branch prediction security bits for link stack (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: Allow for processors that flush the link stack using the special bcctr (Gustavo Duarte) [1862103] - [powerpc] powerpc/64s: Move branch cache flushing bcctr variant to ppc-ops.h (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: split branch cache flush toggle from code patching (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: make display of branch cache flush more consistent (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: change link stack flush state to the flush type enum (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: re-name count cache flush to branch cache flush (Gustavo Duarte) [1862103] - [kernel] smp: Remove superfluous cond_func check in smp_call_function_many_cond() (Prarit Bhargava) [1882551] - [kernel] smp: Remove allocation mask from on_each_cpu_cond.*() (Prarit Bhargava) [1882551] - [kernel] smp: Add a smp_cond_func_t argument to smp_call_function_many() (Prarit Bhargava) [1882551] - [kernel] smp: Use smp_cond_func_t as type for the conditional function (Prarit Bhargava) [1882551] - [kernel] smp, cpumask: introduce on_each_cpu_cond_mask (Prarit Bhargava) [1882551] - [kernel] smp: use __cpumask_set_cpu in on_each_cpu_cond (Prarit Bhargava) [1882551] - [pci] PCI: Add support for root bus sizing (Myron Stowe) [1886036] - [drm] PCI: Use ioremap(), not phys_to_virt() for platform ROM (Myron Stowe) [1886036] - [pci] PCI: Avoid ASMedia XHCI USB PME# from D0 defect (Myron Stowe) [1886036] - [pci] PCI/ACPI: Move pcie_to_hpx3_typefrom stack to static data (Myron Stowe) [1886036] - [documentation] Documentation: PCI: Add background on Boot Interrupts (Myron Stowe) [1886036] - [pci] PCI: Add boot interrupt quirk mechanism for Xeon chipsets (Myron Stowe) [1886036] - [pci] PCI: Add PCIE_LNKCAP2_SLS2SPEED() macro (Myron Stowe) [1886036] - [pci] PCI: Use pci_speed_string() for all PCI/PCI-X/PCIe strings (Myron Stowe) [1886036] - [pci] PCI: Add pci_speed_string() (Myron Stowe) [1886036] - [pci] PCI: Add 32 GT/s decoding in some macros (Myron Stowe) [1886036] - [powerpc] powerpc/test_emulate_step: Move extern declaration to sstep.h (Desnes Augusto Nunes do Rosario) [1854542] - [powerpc] powerpc/sstep: Introduce macros to retrieve Prefix instruction operands (Desnes Augusto Nunes do Rosario) [1854542] - [powerpc] powerpc/test_emulate_step: Add negative tests for prefixed addi (Desnes Augusto Nunes do Rosario) [1854542] - [powerpc] powerpc/test_emulate_step: Enhancement to test negative scenarios (Desnes Augusto Nunes do Rosario) [1854542] - [netdrv] drivers/net/ibmvnic: Update VNIC protocol version reporting (Steve Best) [1882269] - [s390] s390/zcrypt: fix kmalloc 256k failure (Claudio Imbrenda) [1885963] - [x86] crypto: x86/aesni-gcm - fix crash on empty plaintext (Herbert Xu) [1882868] - [x86] crypto: x86/aesni-gcm - make 'struct aesni_gcm_tfm_s' static const (Herbert Xu) [1882868] - [x86] crypto: aesni - Add scatter/gather avx stubs, and use them in C (Herbert Xu) [1882868] - [x86] crypto: aesni - Introduce partial block macro (Herbert Xu) [1882868] - [x86] crypto: aesni - Introduce READ_PARTIAL_BLOCK macro (Herbert Xu) [1882868] - [x86] crypto: aesni - Move ghash_mul to GCM_COMPLETE (Herbert Xu) [1882868] - [x86] crypto: aesni - Fill in new context data structures (Herbert Xu) [1882868] - [x86] crypto: aesni - Merge avx precompute functions (Herbert Xu) [1882868] - [x86] crypto: aesni - Split AAD hash calculation to separate macro (Herbert Xu) [1882868] - [x86] crypto: aesni - Add GCM_COMPLETE macro (Herbert Xu) [1882868] - [x86] crypto: aesni - support 256 byte keys in avx asm (Herbert Xu) [1882868] - [x86] crypto: aesni - Macro-ify func save/restore (Herbert Xu) [1882868] - [x86] crypto: aesni - Introduce gcm_context_data (Herbert Xu) [1882868] - [x86] crypto: aesni - Merge GCM_ENC_DEC (Herbert Xu) [1882868] - [pci] PCI: Add DMA alias quirk for PLX PEX NTB (Myron Stowe) [1884657] - [pci] PCI: Add nr_devfns parameter to pci_add_dma_alias() (Myron Stowe) [1884657] - [pci] PCI: Fix pci_add_dma_alias() bitmask size (Myron Stowe) [1884657] - [pci] PCI/IOV: Fix memory leak in pci_iov_add_virtfn() (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add Gen4 device IDs (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add Gen4 MRPC GAS access permission check (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add Gen4 flash information interface support (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add Gen4 system info register support (Myron Stowe) [1884657] - [pci] PCI/switchtec: Separate Gen3 register structures into unions (Myron Stowe) [1884657] - [pci] PCI/switchtec: Factor out Gen3 ioctl_flash_part_info() (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add 'generation' variable (Myron Stowe) [1884657] - [pci] PCI/switchtec: Rename generation-specific constants (Myron Stowe) [1884657] - [pci] PCI/switchtec: Move check event ID from mask_event() to switchtec_event_isr() (Myron Stowe) [1884657] - [pci] PCI/switchtec: Remove redundant valid PFF number count (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add support for Intercomm Notify and Upstream Error Containment (Myron Stowe) [1884657] - [pci] PCI/switchtec: Fix vep_vector_number ioread width (Myron Stowe) [1884657] - [pci] PCI/switchtec: Use dma_set_mask_and_coherent() (Myron Stowe) [1884657] - [pci] PCI: Allow adjust_bridge_window() to shrink resource if necessary (Myron Stowe) [1884657] - [pci] PCI: Set resource size directly in adjust_bridge_window() (Myron Stowe) [1884657] - [pci] PCI: Rename extend_bridge_window() to adjust_bridge_window() (Myron Stowe) [1884657] - [pci] PCI: Rename extend_bridge_window() parameter (Myron Stowe) [1884657] - [pci] PCI: Consider alignment of hot-added bridges when assigning resources (Myron Stowe) [1884657] - [pci] PCI: Remove local variable usage in pci_bus_distribute_available_resources() (Myron Stowe) [1884657] - [pci] PCI: Pass size + alignment to pci_bus_distribute_available_resources() (Myron Stowe) [1884657] - [pci] PCI: Rename variables (Myron Stowe) [1884657] - [pci] PCI: Remove unnecessary braces (Myron Stowe) [1884657] - [pci] PCI: Don't disable bridge BARs when assigning bus resources (Myron Stowe) [1884657] - [documentation] Documentation: PCI: Fix pci_alloc_irq_vectors() function name typo (Myron Stowe) [1884657] - [pci] PCI: Increase D3 delay for AMD Ryzen5/7 XHCI controllers (Myron Stowe) [1884657] - [pci] PCI: Add generic quirk for increasing D3hot delay (Myron Stowe) [1884657] - [edac] x86/mce, EDAC/mce_amd: Print PPIN in machine check records (Prarit Bhargava) [1860381]- [netdrv] geneve: add transport ports in route lookup for geneve (Mark Gray) [1884481] {CVE-2020-25645} - [drm] PM: sleep: core: Rename DPM_FLAG_NEVER_SKIP (Ivan Vecera) [1867164] - [base] PM: sleep: core: Drop racy and redundant checks from device_prepare() (Ivan Vecera) [1867164] - [mm] mm/page_isolation: fix potential warning from user (Waiman Long) [1811009] - [mm] mm/hotplug: silence a lockdep splat with printk() (Waiman Long) [1811009] - [mm] mm/debug.c: always print flags in dump_page() (Waiman Long) [1811009] - [mm] mm/debug.c: PageAnon() is true for PageKsm() pages (Waiman Long) [1811009] - [mm] mm/debug.c: __dump_page() prints an extra line (Waiman Long) [1811009] - [mm] mm: fix some typos in mm directory (Waiman Long) [1811009] - [mm] mm, fault_around: do not take a reference to a locked page (Waiman Long) [1811009] - [mm] mm: remove the exporting of totalram_pages (Waiman Long) [1880090] - [mm] mm: remove managed_page_count_lock spinlock (Waiman Long) [1880090] - [mm] mm: convert totalram_pages and totalhigh_pages variables to atomic (Waiman Long) [1880090] - [mm] mm: convert zone->managed_pages to atomic variable (Waiman Long) [1880090] - [net] mm: reference totalram_pages and managed_pages once per function (Waiman Long) [1880090] - [mm] mm/page_alloc: Introduce free_area_init_core_hotplug (Waiman Long) [1880090] - [mm] mm/page_alloc: inline function to handle CONFIG_DEFERRED_STRUCT_PAGE_INIT (Waiman Long) [1880090] - [mm] mm: remove __paginginit (Waiman Long) [1880090] - [mm] mm: access zone->node via zone_to_nid() and zone_set_nid() (Waiman Long) [1880090] - [mm] mm, page_alloc: double zone's batchsize (Waiman Long) [1880090] - [powerpc] powerpc/pseries/cmm: fix managed page counts when migrating pages between zones (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: drain per-cpu pages again during memory offline (Chris von Recklinghausen) [1754739] - [mm] mm: move nr_deactivate accounting to shrink_active_list() (Chris von Recklinghausen) [1754739] - [mm] sh: fix build error in mm/init.c (Chris von Recklinghausen) [1754739] - [mm] mm/memremap: set caching mode for PCI P2PDMA memory to WC (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: add pgprot_t to mhp_params (Chris von Recklinghausen) [1754739] - [mm] powerpc/mm: thread pgprot_t through create_section_mapping() (Chris von Recklinghausen) [1754739] - [mm] x86/mm: thread pgprot_t through init_memory_mapping() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: rename mhp_restrictions to mhp_params (Chris von Recklinghausen) [1754739] - [include] mm/memory_hotplug: drop the flags field from struct mhp_restrictions (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: cleanup __add_pages() (Chris von Recklinghausen) [1754739] - [mm] mm, hotplug: fix page online with DEBUG_PAGEALLOC compiled but not enabled (Chris von Recklinghausen) [1754739] - [mm] arm64/mm: Enable memory hot remove (Chris von Recklinghausen) [1754739] - [firmware] arm/efi: EFI soft reservation to memblock (Chris von Recklinghausen) [1754739] - [mm] arm64: mm: convert mm/dump.c to use walk_page_range() (Chris von Recklinghausen) [1754739] - [base] mm/memory_hotplug: drop valid_start/valid_end from test_pages_in_a_zone() (Chris von Recklinghausen) [1754739] - [base] mm/memory_hotplug: pass in nid to online_pages() (Chris von Recklinghausen) [1754739] - [mm] mm: remove "count" parameter from has_unmovable_pages() (Chris von Recklinghausen) [1754739] - [base] mm: remove the memory isolate notifier (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Disable instrumentation in the EFI runtime handling code (Chris von Recklinghausen) [1754739] - [x86] efi/x86: avoid KASAN false positives when accessing the 1: 1 mapping (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Limit EFI old memory map to SGI UV machines (Chris von Recklinghausen) [1754739] - [x86] efi/libstub/x86: Fix unused-variable warning (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Simplify mixed mode call wrapper (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Simplify 64-bit EFI firmware call wrapper (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Split SetVirtualAddresMap() wrappers into 32 and 64 bit versions (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Split off some old memmap handling into separate routines (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Re-disable RT services for 32-bit kernels running on 64-bit EFI (Chris von Recklinghausen) [1754739] - [x86] efi/libstub: Distinguish between native/mixed not 32/64 bit (Chris von Recklinghausen) [1754739] - [firmware] efi/libstub: Extend native protocol definitions with mixed_mode aliases (Chris von Recklinghausen) [1754739] - [firmware] efi/libstub: Use a helper to iterate over a EFI handle array (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Rename efi_is_native() to efi_is_mixed() (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Unify 32/64-bit functions (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Convert GOP structures to typedef and clean up some types (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Remove unused typedef (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Remove bogus packed attribute from GOP structures (Chris von Recklinghausen) [1754739] - [firmware] efi/libstub/random: Initialize pointer variables to zero for mixed mode (Chris von Recklinghausen) [1754739] - [firmware] efi: Fix efi_loaded_image_t::unload type (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Fix memory leak in __gop_query32/64() (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Return EFI_SUCCESS if a usable GOP was found (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Return EFI_NOT_FOUND if there are no usable GOPs (Chris von Recklinghausen) [1754739] - [hv] mm/memory_hotplug.c: remove __online_page_set_limits() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: don't allow to online/offline memory blocks with holes (Chris von Recklinghausen) [1754739] - [mm] mm/page_isolation.c: convert SKIP_HWPOISON to MEMORY_OFFLINE (Chris von Recklinghausen) [1754739] - [mm] mm/page_alloc.c: don't set pages PageReserved() when offlining (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: remove __online_page_free() and __online_page_increment_counters() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: add a bounds check to __add_pages() (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Fix NMI vs ESPFIX (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Unwind the ESPFIX stack earlier on exception entry (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Move FIXUP_FRAME after pushing fs in SAVE_ALL (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Simplify common_exception (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Use ss segment where required (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Fix IRET exception (Chris von Recklinghausen) [1754739] - [x86] x86/xen/32: Make xen_iret_crit_fixup() independent of frame layout (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe/32: Repair 32-bit Xen PV (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe/32: Allow int3_emulate_push() (Chris von Recklinghausen) [1754739] - [x86] x86: Hide the int3_emulate_call/jmp functions from UML (Chris von Recklinghausen) [1754739] - [x86] ftrace/x86_64: Emulate call function while updating in breakpoint handler (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe/32: Provide consistent pt_regs (Chris von Recklinghausen) [1754739] - [x86] kprobes, x86/ptrace.h: Make regs_get_kernel_stack_nth() not fault on bad stack (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe, x86/ftrace: Add pt_regs frame annotations (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe, x86/kprobes: Fix frame pointer annotations (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe: Move ENCODE_FRAME_POINTER to asm/frame.h (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Clean up return from interrupt preemption path (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Simulation mode (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Switch to balloon_page_alloc() (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Implement balloon compaction (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Convert loaned_pages to an atomic_long_t (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Rip out memory isolate notifier (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Use adjust_managed_page_count() insted of totalram_pages_* (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Drop page array (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Cleanup rc handling in cmm_init() (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Report errors when registering notifiers fails (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Implement release() function for sysfs device (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Push EFI_MEMMAP check into leaf routines (Chris von Recklinghausen) [1754739] - [mm] powerpc: Don't flush caches when adding memory (Chris von Recklinghausen) [1754739] - [firmware] efi/random: use arch-independent efi_call_proto() (Chris von Recklinghausen) [1754739] - [x86] x86/dumpstack/64: Don't evaluate exception stacks before setup (Chris von Recklinghausen) [1754739] - [xen] xen/balloon: Mark pages PG_offline in balloon_append() (Chris von Recklinghausen) [1754739] - [xen] xen/balloon: Drop __balloon_append() (Chris von Recklinghausen) [1754739] - [xen] xen/balloon: Set pages PageOffline() in balloon_add_region() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: prevent memory leak when reusing pgdat (Chris von Recklinghausen) [1754739] - [base] drivers/base/memory.c: don't store end_section_nr in memory blocks (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: remove move_pfn_range() (Chris von Recklinghausen) [1754739] - [mm] mm: introduce compound_nr() (Chris von Recklinghausen) [1754739] - [x86] x86/asm: Make some functions local labels (Chris von Recklinghausen) [1754739] - [firmware] efi-stub: Fix get_efi_config_table on mixed-mode setups (Chris von Recklinghausen) [1754739] - [x86] efi/x86: move UV_SYSTAB handling into arch/x86 (Chris von Recklinghausen) [1754739] - [x86] efi: x86: move efi_is_table_address() into arch/x86 (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: remove unneeded return for void function (Chris von Recklinghausen) [1754739] - [x86] x86/uaccess: Remove redundant CLACs in getuser/putuser error paths (Chris von Recklinghausen) [1754739] - [x86] x86/uaccess: Remove ELF function annotation from copy_user_handle_tail() (Chris von Recklinghausen) [1754739] - [x86] x86/entry: Fix thunk function ELF sizes (Chris von Recklinghausen) [1754739] - [x86] x86/entry/64: Simplify idtentry a little (Chris von Recklinghausen) [1754739] - [mm] mm: vmscan: correct some vmscan counters for THP swapout (Chris von Recklinghausen) [1754739] - [mm] mm/gup: speed up check_and_migrate_cma_pages() on huge page (Chris von Recklinghausen) [1754739] - [x86] x86/ldt: Initialize the context lock for init_mm (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries: avoid blocking in irq when queuing hotplug events (Chris von Recklinghausen) [1754739] - [arm64] arm64/mm: don't initialize pgd_cache twice (Chris von Recklinghausen) [1754739] - [mm] mm/vmscan.c: fix recent_rotated history (Chris von Recklinghausen) [1754739] - [x86] efi/x86/Add missing error handling to old_memmap 1:1 mapping code (Chris von Recklinghausen) [1754739] - [mm] arm64/mm: Inhibit huge-vmap with ptdump (Chris von Recklinghausen) [1754739] - [mm] mm/vmscan.c: simplify shrink_inactive_list() (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: cleanup memory offline path (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: fix the wrong usage of N_HIGH_MEMORY (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: drop redundant hugepage_migration_supported check (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: unlock 1GB-hugetlb on x86_64 (Chris von Recklinghausen) [1754739] - [mm] mm: move recent_rotated pages calculation to shrink_inactive_list() (Chris von Recklinghausen) [1754739] - [mm] x86/mm: Initialize PGD cache during mm initialization (Chris von Recklinghausen) [1754739] - [x86] x86/alternatives: Initialize temporary mm for patching (Chris von Recklinghausen) [1754739] - [mm] x86/mm: Fix a crash with kmemleak_scan() (Chris von Recklinghausen) [1754739] - [x86] x86/irq: Fix outdated comments (Chris von Recklinghausen) [1754739] - [mm] mm/hotplug: treat CMA pages as unmovable (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Remove stack overflow debug code (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Remap the IRQ stack with guard pages (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Split the IRQ stack into its own pages (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Init hardirq_stack_ptr during CPU hotplug (Chris von Recklinghausen) [1754739] - [x86] x86/irq/32: Handle irq stack allocation failure proper (Chris von Recklinghausen) [1754739] - [xen] x86/irq/32: Invoke irq_ctx_init() from init_IRQ() (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Rename irq_stack_ptr to hardirq_stack_ptr (Chris von Recklinghausen) [1754739] - [x86] x86/irq/32: Rename hard/softirq_stack to hard/softirq_stack_ptr (Chris von Recklinghausen) [1754739] - [x86] x86/irq/32: Make irq stack a character array (Chris von Recklinghausen) [1754739] - [x86] x86/irq/32: Define IRQ_STACK_SIZE (Chris von Recklinghausen) [1754739] - [x86] x86/dumpstack/64: Speedup in_exception_stack() (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Split debug IST stack (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Enable IST guard pages (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Disconnect IST index and stack order (Chris von Recklinghausen) [1754739] - [x86] x86/cpu: Remove orig_ist array (Chris von Recklinghausen) [1754739] - [x86] x86/cpu: Prepare TSS.IST setup for guard pages (Chris von Recklinghausen) [1754739] - [x86] x86/dumpstack/64: Use cpu_entry_area instead of orig_ist (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Use cpu entry area instead of orig_ist (Chris von Recklinghausen) [1754739] - [mm] x86/traps: Use cpu_entry_area instead of orig_ist (Chris von Recklinghausen) [1754739] - [mm] x86/cpu_entry_area: Provide exception stack accessor (Chris von Recklinghausen) [1754739] - [mm] x86/cpu_entry_area: Prepare for IST guard pages (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Add structs for exception stacks (Chris von Recklinghausen) [1754739] - [mm] x86/cpu_entry_area: Cleanup setup functions (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Make IST index zero based (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Remove unused stack defines on 32bit (Chris von Recklinghausen) [1754739] - [x86] x86/64: Remove stale CURRENT_MASK (Chris von Recklinghausen) [1754739] - [x86] x86/idt: Remove unused macro SISTG (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Sanitize the top/bottom confusion (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Remove a hardcoded irq_stack_union access (Chris von Recklinghausen) [1754739] - [x86] x86/dumpstack: Fix off-by-one errors in stack identification (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Limit IST stack overflow check to #DB stack (Chris von Recklinghausen) [1754739] - [mm] arm64: mm: Consolidate early page table allocation (Chris von Recklinghausen) [1754739] - [mm] arm64: mm: don't call page table ctors for init_mm (Chris von Recklinghausen) [1754739] - [mm] arm64: mm: use appropriate ctors for page tables (Chris von Recklinghausen) [1754739] - [x86] x86/uaccess: Move copy_user_handle_tail() into asm (Chris von Recklinghausen) [1754739] - [mm] mm/page_isolation.c: fix a wrong flag in set_migratetype_isolate() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: fix notification in offline error path (Chris von Recklinghausen) [1754739] - [mm] mm/hotplug: fix an imbalance with DEBUG_PAGEALLOC (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: explicitly pass the head to isolate_huge_page (Chris von Recklinghausen) [1754739] - [mm] mm/vmscan.c: do not allocate duplicate stack variables in shrink_page_list() (Chris von Recklinghausen) [1754739] - [mm] mm: refactor swap-in logic out of shmem_getpage_gfp (Chris von Recklinghausen) [1754739] - [mm] mm/vmscan.c: remove 7th argument of isolate_lru_pages() (Chris von Recklinghausen) [1754739] - [mm] mm: remove extra drain pages on pcp list (Chris von Recklinghausen) [1754739] - [mm] mm/memory-hotplug: Allow memory resources to be children (Chris von Recklinghausen) [1754739] - [kernel] mm/resource: Move HMM pr_debug() deeper into resource code (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: fix off-by-one in is_pageblock_removable (Chris von Recklinghausen) [1754739] - [mm] x86/cpu_entry_area: Move percpu_setup_debug_store() to __init section (Chris von Recklinghausen) [1754739] - [mm] arm64: ptdump: Don't iterate kernel page tables using PTRS_PER_PXX (Chris von Recklinghausen) [1754739] - [firmware] efi: Use 32-bit alignment for efi_guid_t (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: __offline_pages fix wrong locking (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: test_pages_in_a_zone do not pass the end of zone (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: is_mem_section_removable do not pass the end of a zone (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: don't bail out in do_migrate_range() prematurely (Chris von Recklinghausen) [1754739] - [mm] arm64: dump: no need to check return value of debugfs_create functions (Chris von Recklinghausen) [1754739] - [x86] x86/asm/suspend: Drop ENTRY from local data (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: deobfuscate migration part of offlining (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: try to migrate full pfn range (Chris von Recklinghausen) [1754739] - [mm] mm, hotplug: move init_currently_empty_zone() under zone_span_lock protection (Chris von Recklinghausen) [1754739] - [mm] mm: only report isolation failures when offlining memory (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: be more verbose for memory offline failures (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: print reason for the offlining failure (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: drop pointless block alignment checks from __offline_pages (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Don't unmap EFI boot services code/data regions for EFI_OLD_MEMMAP and EFI_MIXED_MODE (Chris von Recklinghausen) [1754739] - [x86] kprobes/x86: Blacklist non-attachable interrupt functions (Chris von Recklinghausen) [1754739] - [include] linkage: add generic GLOBAL() macro (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Move efi__boot_services() to arch/x86 (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Unmap EFI boot services code/data regions from efi_pgd (Chris von Recklinghausen) [1754739] - [mm] x86/mm/pageattr: Introduce helper function to unmap EFI boot services (Chris von Recklinghausen) [1754739] - [x86] x86/fpu: Use the correct exception table macro in the XSTATE_OP wrapper (Chris von Recklinghausen) [1754739] - [firmware] efi/arm/libstub: Pack FDT after populating it (Chris von Recklinghausen) [1754739] - [x86] x86/traps: Complete prototype declarations (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: clean up node_states_check_changes_offline() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: simplify node_states_check_changes_online (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: tidy up node_states_clear_node() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: spare unnecessary calls to node_set_state (Chris von Recklinghausen) [1754739] - [include] include/linux/linkage.h: align weak symbols (Chris von Recklinghausen) [1754739] - [mm] shmem: Convert shmem_add_to_page_cache to XArray (Chris von Recklinghausen) [1754739] - [mm] shmem: Convert shmem_radix_tree_replace to XArray (Chris von Recklinghausen) [1754739] - [mm] mm: Convert add_to_swap_cache to XArray (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Clear the CS high bits (Chris von Recklinghausen) [1754739] - [x86] x86-32, hibernate: Set up temporary text mapping for 32bit system (Chris von Recklinghausen) [1754739] - [x86] x86-32, hibernate: Switch to original page table after resumed (Chris von Recklinghausen) [1754739] - [x86] x86-32, hibernate: Enable CONFIG_ARCH_HIBERNATION_HEADER on 32bit system (Chris von Recklinghausen) [1754739] - [x86] x86, hibernate: Extract the common code of 64/32 bit system (Chris von Recklinghausen) [1754739] - [x86] x86-32/asm/power: Create stack frames in hibernate_asm_32.S (Chris von Recklinghausen) [1754739] - [x86] PM / hibernate: Check the success of generating md5 digest before hibernation (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Load fixmap GDT in efi_call_phys_epilog() before setting cr3 (Chris von Recklinghausen) [1754739] - [x86] x86/xen: Move pv irq related functions under CONFIG_XEN_PV umbrella (Chris von Recklinghausen) [1754739] - [x86] x86/extable: Introduce _ASM_EXTABLE_UA for uaccess fixups (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Load fixmap GDT in efi_call_phys_epilog() (Chris von Recklinghausen) [1754739] - [tools] tools arch: Update arch/x86/lib/memcpy_64.S copy used in 'perf bench mem memcpy' (Chris von Recklinghausen) [1754739] - [mm] x86/mm: Remove redundant check for kmem_cache_create() (Chris von Recklinghausen) [1754739] - [x86] x86/power/hibernate_64: Remove VLA usage (Chris von Recklinghausen) [1754739] - [firmware] efi: Deduplicate efi_open_volume() (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Merge 32-bit and 64-bit UGA draw protocol setup routines (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Align efi_uga_draw_protocol typedef names to convention (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Merge the setup_efi_pci32() and setup_efi_pci64() routines (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Prevent reentrant firmware calls in mixed mode (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Add debug code to check entry/exit CR3 (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Add PTI CR3 switches to NMI handler code (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Add PTI cr3 switch to non-NMI entry/exit points (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Handle Entry from Kernel-Mode on Entry-Stack (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Introduce SAVE_ALL_NMI and RESTORE_ALL_NMI (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Leave the kernel via trampoline stack (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Enter the kernel via trampoline stack (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Load task stack from x86_tss.sp1 in SYSENTER handler (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Split off return-to-kernel path (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Unshare NMI return path (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Put ESPFIX code into a macro (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Rename TSS_sysenter_sp0 to TSS_entry2task_stack (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Clean up the eboot code (Chris von Recklinghausen) [1754739] - [x86] x86/asm/64: Use 32-bit XOR to zero registers (Chris von Recklinghausen) [1754739] - [x86] Revert "x86/platform/uv: Mark uv_bios_call() and uv_bios_call_irqsave() static" (Frank Ramsay) [1833121] - [x86] Revert "x86/platform/uv: Unexport sn_coherency_id" (Frank Ramsay) [1833121] - [x86] Revert "x86/platform/uv: Unexport symbols only used by x2apic_uv_x.c" (Frank Ramsay) [1833121] - [x86] x86/apic: Cleanup the include maze (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Fix missing checks of kcalloc() return values (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Replace kmalloc() and memset() with kalloc() calls (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Remove the unused _uv_cpu_blade_processor_id() macro (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Unexport uv_apicid_hibits (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Remove _uv_hub_info_check() (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Simplify uv_send_IPI_one() (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Mark uv_min_hub_revision_id static (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Mark is_uv_hubless() static (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Remove the UV*_HUB_IS_SUPPORTED macros (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Unexport symbols only used by x2apic_uv_x.c (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Unexport sn_coherency_id (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Remove the uv_partition_coherence_id() macro (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Mark uv_bios_call() and uv_bios_call_irqsave() static (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Mark memblock related init code and data correctly (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Remove unnecessary #ifdef CONFIG_EFI (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Remove uv_bios_call_reentrant() (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Use efi_enabled() instead of test_bit() (Frank Ramsay) [1833121] - [x86] x86/apic/uv: Remove code for unused distributed GRU mode (Frank Ramsay) [1833121]- [thermal] thermal/x86_pkg_temp: Make pkg_temp_lock a raw_spinlock_t (Prarit Bhargava) [1890657] - [net] sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels (Davide Caratti) [1889601] - [netdrv] ibmveth: Identify ingress large send packets (Gustavo Duarte) [1887038] - [netdrv] ibmveth: Switch order of ibmveth_helper calls (Gustavo Duarte) [1887038] - [sound] ALSA: redhat: add drivers/soundwire tree and regmap-sdw to the redhat/filter-modules.sh (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC - enable AMD Renoir support for DMIC (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC - enable the Intel's SoundWire driver (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix jack detection with Realtek codecs when in D3 (Jaroslav Kysela) [1869536] - [sound] ALSA: fireworks: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/i915 - fix list corruption with concurrent probes (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - The front Mic on a HP machine doesn't work (Jaroslav Kysela) [1869536] - [sound] ALSA: hdspm: Fix typo arbitary (Jaroslav Kysela) [1869536] - [sound] ALSA: bebob: potential info leak in hwdep_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS D700SA with ALC887 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: endpoint.c: fix repeated word 'there' (Jaroslav Kysela) [1869536] - [sound] ALSA: portman2x4: fix repeated word 'if' (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add mute Led support for HP Elitebook 845 G7 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: loader: handle all SOF_IPC_EXT types (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell: Mark FE DAIs as nonatomic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: broadwell: Mark FE DAIs as nonatomic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bdw-rt5677: Mark FE DAIs as nonatomic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add version_id to avoid rt714/rt715 confusion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt715-sdw: probe with RT714 Device ID (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt1316: add missing component string (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt1308: add extra check on init (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qdsp6: add ifdef CONFIG_OF around of_device_id (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: Enable MI2S BCLK and LRCLK together (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt700: add codec prefix (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Remove unused variables (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Remove ti, asi-format code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Set regcache when shutting down and waking device (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Add shutdown capability via a GPIO (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Remove duplicate code for I/V sense (Jaroslav Kysela) [1869536] - [sound] ALSA: ASOC: Intel: sof_sdw: restore playback functionality with max98373 amps (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: add support for new SoundWire hardware layout on TGL (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: remove hard-coded codec_conf table (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: remove ternary operator (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra_max98090: use devm_snd_soc_register_card() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: hda_dsp_common: use static function in conditional block (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: mx27vis-aic32x4: use devm_snd_soc_register_card() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: imx-mc13783: use devm_snd_soc_register_card() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm_adsp: Pass full name to snd_ctl_notify (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt715: Add power-up delay to fix dmic pop sound issue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Enable the power of "MICBIAS" and "Vref2" for the DMIC clock (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: allow runtime pm at end of probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: add codec name prefix to ACPI machine description (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: sysfs: add slave status and device number before probe (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: add enumerated Slave device to device list (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: remove an unnecessary NULL check (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: add data port test fail interrupt (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: enable test modes (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: enable Data Port test modes (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - set mic to auto detect on a HP AIO machine (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - Don't register a cb func if it is registered already (Jaroslav Kysela) [1869536] - [sound] ALSA: HDA: Early Forbid of runtime PM (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - remove kerneldoc for internal hdac_i915 function (Jaroslav Kysela) [1869536] - [sound] ALSA: ctl: Workaround for lockdep warning wrt card->ctl_files_rwlock (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Disable autosuspend for Lenovo ThinkStation P620 (Jaroslav Kysela) [1869536] - [sound] ALSA: treewide: Remove uninitialized_var() usage (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: arm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: add dpcm_create/remove_debugfs_state() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: move CONFIG_DEBUG_FS functions to top side (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: magician: convert to use i2c_new_client_device() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: Enable AC'97 bus support for PXA machines (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: Select regmap from AC'97 machines (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: support TDM out and 8ch I2S out (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: kirkwood: fix external clock probe defer (Jaroslav Kysela) [1869536] - [sound] ALSA: ppc: keywest: convert to use i2c_new_client_device() (Jaroslav Kysela) [1869536] - [sound] ALSA: treewide: Use sizeof_field() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: hdac_hdmi: Set ops to NULL on remove (Jaroslav Kysela) [1869536] - [sound] ALSA: ppc: More constifications (Jaroslav Kysela) [1869536] - [sound] ALSA: i2c: Constify snd_kcontrol_new items (Jaroslav Kysela) [1869536] - [sound] ALSA: ppc: Constify snd_kcontrol_new items (Jaroslav Kysela) [1869536] - [sound] ALSA: vxpocket: Support PCM sync_stop (Jaroslav Kysela) [1869536] - [sound] ALSA: mips: Constify snd_device_ops definitions (Jaroslav Kysela) [1869536] - [sound] ALSA: i2c: Constify snd_device_ops definitions (Jaroslav Kysela) [1869536] - [sound] ALSA: seq: oss: Fix running status after receiving sysex (Jaroslav Kysela) [1869536] - [sound] ALSA: arm: More constification (Jaroslav Kysela) [1869536] - [sound] ALSA: treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers (Jaroslav Kysela) [1869536] - [sound] ALSA: treewide: replace '---help---' in Kconfig files with 'help' (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix SPDX license for header file (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac: make SOF HDA codec driver probe deterministic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Refactor sample rate function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix the spacing and new lines (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Convert bit mask to GENMASK in header (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix unbalanced calls to pm_runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Add the TAS2110 class-D amplifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: control: add size checks for ext_bytes control .put() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: control: fix size checks for volatile ext_bytes control .get() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: control: fix size checks for ext_bytes control .get() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tlv320aic32x4: Enable fast charge (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tlv320aic32x4: Ensure a minimum delay before clock stabilization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt711: wait for the delayed work to finish when the system suspends (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix error handling with update_bits (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix required DT properties in the code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Add missing bias level power states (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix calling reset in probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt700: wait for the delayed work to finish when the system suspends (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Add the TAS2564 compatible (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: add missing MODULE_LICENSE() for imx-common (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: pm: Fix prepare callback behavior for OF usecase (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: cs42l51: add additional ADC volume controls (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix the process being scheduled on core0 always (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - fix CONTROLLER_IN_GPU macro name (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - handle multiple i915 device instances (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - controller is in GPU on the DG1 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - add Intel DG1 PCI and HDMI ids (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO" (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add delay quirk for H570e USB headsets (Jaroslav Kysela) [1869536] - [sound] ALSA: compat_ioctl: avoid compat_alloc_user_space (Jaroslav Kysela) [1869536] - [sound] ALSA: asihpi: fix spellint typo in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation P520 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged (Jaroslav Kysela) [1869536] - [sound] ALSA: asihpi: fix iounmap in error handler (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: use {u32|u16}p_replace_bits (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: use u32p_replace_bits (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: get max rows and cols info from compatible (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: add support to block packing mode (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: clear BIT FIELDs before value set (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: Add generic bandwidth allocation algorithm (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ak4458: Add DSD support for ak4458 and ak4497 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-sc7180: Add MODULE_DEVICE_TABLE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Add support for tgl-h (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv320aic32x4: do software reset before clock registration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv320aic32x4: fix missing aic32x4_disable_regulators() in error path (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Set MCLK input or output direction (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Add fsl_sai_check_version function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Add new added registers and new bit definition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6afe-clocks: add q6afe clock controller (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: reduce verbosity of boot error logs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: fix range checks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: remove several superfluous type-casts (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: (cosmetic) remove redundant "ret" variable uses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: control: update test for pm_runtime_get_sync() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: debug: update test for pm_runtime_get_sync() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add `src_hash` to `sof_ipc_fw_version` structure (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: Add debug support for imx platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: disable size checks for bytes_ext controls if needed (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_audmix: make clock and output src write only (Jaroslav Kysela) [1869536] - [sound] ALSA: remove calls to usb_pipe_type_check for control endpoints (Jaroslav Kysela) [1869536] - [sound] ALSA: hiface: move to use usb_control_msg_send() (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: move to use usb_control_msg_send() and usb_control_msg_recv() (Jaroslav Kysela) [1869536] - [sound] ALSA: 6fire: move to use usb_control_msg_send() and usb_control_msg_recv() (Jaroslav Kysela) [1869536] - [sound] ALSA: usx2y: move to use usb_control_msg_send() (Jaroslav Kysela) [1869536] - [sound] ALSA: USB: add usb_control_msg_send() and usb_control_msg_recv() (Jaroslav Kysela) [1869536] - [sound] ALSA: USB: move snd_usb_pipe_sanity_check into the USB core (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Fix the failure to flush DAC data before playback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Fix DC calibration on bypass boost mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: stm32: sai: add pm_runtime support (Jaroslav Kysela) [1869536] - [sound] ALSA: rockchip_i2s: fix a possible divide-by-zero bug in rockchip_i2s_hw_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Use DMI oem string search for tgl_max98373_rt5682 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda-loader: s/master/primary (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: remove the HDA_DSP_CORE_MASK() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: modify core_power_up/down op (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: rename cores_mask to host_managed_cores_mask (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: j721e-evm: Add support for j7200-cpb audio (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: support machine driver with rt1015p (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe-dai: add support to Codec DMA ports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: add codec lpass clocks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: update q6afe_set_param to support global clocks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: add lpass hw voting support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: add global q6afe waitqueue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: prepare afe_apr_send_pkt to take response opcode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6routing: add support to Codec DMA ports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: add support to Codec DMA ports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qdsp6: dt-bindings: Add q6afe display_port dt binding (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015p: add codec driver (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: add parity error injection through debugfs (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: export broadcast read/write capability for tests (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: realtek-soundwire: ignore initial PARITY errors (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: use quirk to filter out invalid parity errors (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: slave: add first_interrupt_done status (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: filter-out unwanted interrupt reports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC/soundwire: bus: use property to set interrupt masks (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: Remove unused inline function snd_mask_sizeof (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/asihpi: Remove unused function hpi_stream_group_get_map() (Jaroslav Kysela) [1869536] - [sound] ALSA: mixart: Correct comment wrt obsoleted tasklet usage (Jaroslav Kysela) [1869536] - [sound] ALSA: aloop: Replace tasklet with work (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mchp-spdiftx: add driver for S/PDIF TX Controller (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: fix SLIBMUS/SLIMBUS typo (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: fix race condition between suspend and Slave device alerts (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: imx-es8328: add missing put_device() call in imx_es8328_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Parse auxiliary devices from device tree (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mt6359: fix failed to parse DT properties (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Implement snd_sof_bytes_ext_volatile_get kcontrol IO (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: Add support for WO and RO TLV byte kcontrols (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: Kconfig: Allow the j721e machine driver to be used on K3 platform (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KeemBay: Fix warning potential ! vs ~ typo (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: add v1.5.1 compatible (Jaroslav Kysela) [1869536] - [sound] ALSA: dt-bindings: soundwire: add bindings for Qcom controller (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: add support for mmio soundwire master devices (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: avoid dependency on CONFIG_SLIMBUS (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: fix abh/ahb typo (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: make process type optional (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_mux (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_process (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_tone (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_asrc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_src (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_host (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_volume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_mixer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_dai (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: add helper for setting up IPC component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: use the sof_ipc_comp reserved bytes for extended data (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: parse comp_ext_tokens for all widgets (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: create component extended tokens (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add comp_ext to struct snd_sof_widget (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: tokens: add token for component UUID (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Manage module clock via DAPM (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Attach the bus clock to the regmap (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Sort masks in a consistent order (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix field bit number indentation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix ADC_DIG_CTRL field name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix AIF1_MXR_SRC field names (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix AIF1_ADCDAT_CTRL field names (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix AIF1 MODCLK widget name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Remove extraneous widgets (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add dailink .prepare and .hw_free callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add dailink .trigger callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: clarify return value for get_sdw_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: remove stream handling from .prepare and .hw_free (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: remove .trigger operation (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix NULL/ERR_PTR confusion (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: stream: fix NULL/IS_ERR confusion (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: remove SDW_REG_SHIFT() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom : use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: stream: use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: slave: use SDW_DISCO_LINK_ID() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: use FIELD_GET() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: define and use addr bit masks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix core enable sequence (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: support topology components on secondary cores (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add a "core" parameter to widget loading functions (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Set SAI Channel Mode to Output Mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Support multiple data channel enable bits (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: don't manage link power individually (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: pass link_mask information to each master (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add error log for clock-stop invalid configs (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: stream: enable hw_sync as needed by hardware (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add multi-link hw_synchronization information (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: update multi-link definition with hw sync details (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add missing support for all clock stop modes (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add multi-link support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: ignore software command retries (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: disable shim wake on suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix port_readydynamic allocation in mipi_disco (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add definition for maximum number of ports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: soundwire: remove port_readyusage from codecs (Jaroslav Kysela) [1869536] - [sound] ALSA: vx: vx_pcm: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: vx: vx_pcm: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: vx: vx_core: clarify operator precedence (Jaroslav Kysela) [1869536] - [sound] ALSA: rawmidi: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: atmel: ac97: clarify operator precedence (Jaroslav Kysela) [1869536] - [sound] ALSA: ac97: (cosmetic) align argument names (Jaroslav Kysela) [1869536] - [sound] ALSA: usb: scarless_gen2: fix endianness issue (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: auto_parser: remove shadowed variable declaration (Jaroslav Kysela) [1869536] - [sound] ALSA: aoa: i2sbus: use DECLARE_COMPLETION_ONSTACK() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: core: init: use DECLARE_COMPLETION_ONSTACK() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: compress_offload: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: compress_offload: dereference after checking for NULL pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: core: timer: clarify operator precedence (Jaroslav Kysela) [1869536] - [sound] ALSA: core: timer: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: core: pcm_memory: dereference pointer after NULL checks (Jaroslav Kysela) [1869536] - [sound] ALSA: core: pcm: simplify locking for timers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Prefer async probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: remove artificial component and DAI name constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: shutdown codec when changing filter type (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: AMD: Clean kernel log from deferred probe error messages (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Simplify error handling during FW boot (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Add sof_tgl_ops for TGL platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Define FW boot sequence with ICCMAX (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: define macro for code loader stream format (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: modify the signature of get_stream_with_tag() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Add helper function to program ICCMAX stream (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Remove unused parameters in cl_dsp_init() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix VS_LTRC register name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: sof-of-dev: Add .arch_ops field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: Replace sdev->private with sdev->pdata->hw_pdata (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: add extended rom status dump to error log (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix the ipc_size calculation for process component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: intel: hda: support also devices with 1 and 3 dmics (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: report error only for the last ROM init iteration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: loader: Add debug box region (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: Parse debug ABI version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: loader: fix memory leak in get_ext_windows (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: IPC: make sof_ipc_window monosized (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix intel_suspend/resume defined but not used warning (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add AE-7 exit commands (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add AE-7 custom controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add AE-7 microphone selection commands (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add output selection for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add DSP setup functions for AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add init data for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add pre-init function for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add ca0132_mmio_init data for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Set AE-7 bools and select mixer (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add SoundBlaster AE-7 pincfg (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add new quirk ID for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Fix Recon3D Center/LFE output (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add quirk output selection structures (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Clean up ca0132_alt_out_select (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Remove surround output selection (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add bass redirection controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add full-range speaker selection controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add surround channel config control (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add speaker tuning initialization commands (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Cleanup ca0132_mmio_init function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hdmi: tidy up a memset() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: use consistent HDAudio spelling in comments/docs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add dev_dbg log when driver is not selected (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: acpi: add dev_dbg() log for probe completion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: IPC: reduce verbosity of IPC pointer updates (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: reduce the log level for unhandled widgets (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: remove unnecessary memory alloc for sdev->private (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: (cosmetic) use the "bool" type where it makes sense (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: (cosmetic) remove redundant variable initialisations (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Add -EPROBE_DEFER check for regmap init (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ak5558: Add regulator support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: clean-up inclusion of header files (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_sdw: add rt711 rt1316 rt714 SDCA codec support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add topology filename override based on dmi data match (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_rt5682: override quirk data for tgl_max98373_rt5682 (Jaroslav Kysela) [1869536] - [sound] ALSA: SoC: Intel: sof_sdw: Add support for product Ripto (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: rename id as part_id (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: check SoundWire version when matching codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98373-sdw: add missing test on resume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: soc-acpi: add support for SDCA boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: soc-acpi: mirror CML and TGL configurations (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof-soundwire: add support for rt5682 on link2 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: soc-acpi: cnl: add support for rt5682 on SoundWire link2 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: modify SoundWire version id in acpi match table (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Correct wrongly matching entries with audio class (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7219: Fix I/O voltage range configuration during probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_sdw: add .exit callback function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: add support for TLV320AIC32x4 codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add build support for SoundWire (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: add missing out of memory check on drvdata->clks allocation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt6359: add codec driver (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Properly match with audio interface class (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Simplify quirk entries with a macro (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Move device rename and profile quirks to an internal table (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Hook up component probe function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: s3c2412-i2s: avoid hardcoded S3C2410_PA_IIS (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: rx1950: turn into platform driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: neo1973: turn into platform driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*-sdw: use SDW_SLAVE_ENTRY_EXT (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm_adsp: Update naming in error handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Get "extal" clock rate by clk_get_rate (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: add a dedicated menuconfig (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Export DAC/ADC monomix switches (Jaroslav Kysela) [1869536] - [sound] ALSA: remove duplicate "the the" phrase in Kconfig text (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm0010: use DECLARE_COMPLETION_ONSTACK() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: simple-card: Use snd_soc_of_parse_aux_devs() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Add common helper to parse aux devs from device tree (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ak4458: Add regulator support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hdmi: support 'ELD' mixer (Jaroslav Kysela) [1869536] - [sound] ALSA: sound/soc/intel: Fix spelling mistake "cant" --> "can't" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: various vendors: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: skl-topology: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: skl-topology: remove redundant assignments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: sst-utils: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: cldma: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: skl-nhlt: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell-ipc: remove redundant assignments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: common: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Baytrail: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: (cosmetic) align parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst_pvt: simplify return handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst_loader: remove always-true condition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: remove useless assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: platform-pcm: fix redundant return (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst_pvt: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst: remove useless NULL assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: platform-pcm: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: compress: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst-atom-controls: remove redundant assignments (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: refine runtime pm for SDW_INTEL_CLK_STOP_BUS_RESET (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: support clock_stop mode without quirks (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: handle power rail dependencies for clock stop mode (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add CLK_STOP_NOT_ALLOWED support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add CLK_STOP_BUS_RESET support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add CLK_STOP_TEARDOWN for pm_runtime suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: pm_runtime idle scheduling (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: reinitialize IP+DSP in .prepare(), but only when resuming (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: call helper to reset Slave states on resume (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix race condition on system resume (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: reset pm_runtime status during system resume (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add pm_runtime support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7219: Fix clock handling around codec level probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7219: Move soft reset handling to codec level probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7219: Move required devm_* allocations to device level code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm-dai: add support to copy callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm-dai: add gapless support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm-dai: prepare set params to accept profile change (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm-dai: add next track metadata support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: add support to gapless flag in q6asm open (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: add support to remove intial and trailing silence (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: add length to write command token (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: use flags directly from q6asm-dai (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: make commands specific to streams (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: rename misleading session id variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KMB: Enable TDM audio capture (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv3204: Moving GPIO reset and add ADC reset (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv3204: Increased maximum supported channels (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv3204: Enable 24 bit audio support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Enable DAPM for earpiece switch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Enable DAPM for line out switch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Make line out routes stereo (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Enable DAPM for headphone switch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Make headphone routes stereo (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Group and sort mixer routes (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Gate the amplifier clock during suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Fix duplicate use of ADC enable bits (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcht_cx2072x: simplify return handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: rename shadowed variable for all broadwell boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda-codec: move variable used conditionally (Jaroslav Kysela) [1869536] - [sound] ALSA: ASOC: SOF: Intel: hda-codec: move unused label to correct position (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Add a quirk for LRCK inversion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Add missing mixer routes (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix DAPM to match the hardware topology (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Replace synchronous check with fsl_sai_dir_is_synced (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Drop TMR/RMR settings for synchronous mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Refine enable/disable TE/RE sequence in trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-platform: Use platform_get_irq (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: Use platform_get_resource (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-sc7180: Add platform driver for lpass audio (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: fix concurrency issue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass: Use regmap_field for i2sctl and dmactl registers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-platform: fix memory leak (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-platform: Replace card->dev with component->dev (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: Move ahbix clk to platform specific function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Add common array to initialize soc based core clocks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Use dev_dbg() in rt5682_clk_check() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: Add basic power management support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: master: enable pm runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add argument to function definition (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add module_sdw_driver helper macro (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: sdw.h: fix indentation (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: sdw.h: fix PRBS/Static_1 swapped definitions (Jaroslav Kysela) [1869536] - [sound] ALSA: seq: virmidi: Fix running status after receiving sysex (Jaroslav Kysela) [1869536] - [sound] ALSA: bt87x: use pci_status_get_and_clear_errors (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - The Mic on a RedmiBook doesn't work (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Do not cleanup uninitialized dais on soc_pcm_open failure (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fixup headset for ASUS GX502 laptop (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Improved routing for Thinkpad X1 7th/8th Gen (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix double free of dangling pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN Converter9 2-in-1 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: use consistent HDAudio spelling in comments/docs (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: add dev_dbg log when driver is not selected (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: hdmi - add Rocketlake support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell: Fix power transition refactor (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: Ensure the device is resumed in wm89xx_mic_detect functions (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: Skip setting of the WM8994_MICBIAS register for WM1811 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: axg-toddr: fix channel order on g12 platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: add snd_soc_find_dai_with_mutex() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: always check pin power status in i915 pin fixup (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Fix refcount imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt700: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt715: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt711: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1308-sdw: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98373: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion NT950XCJ-X716A (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add basic capture support for Pioneer DJ DJM-250MK2 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add implicit feedback quirk for UR22C (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: fixup ams_delta_mute() function name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pcm3168a: ignore 0 Hz settings (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: hda: Add support for Loongson 7A1000 controller" (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: Program WAKEEN register for Tegra (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Fix 2 channel swapping for Tegra (Jaroslav Kysela) [1869536] - [sound] ALSA: ca0106: fix error code handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: tgl_max98373: fix a runtime pm issue in multi-thread case (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-digi00x: exclude Avid Adrenaline from detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ALSA; firewire-tascam: exclude Tascam FE-8 from detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Set card->owner to avoid warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: atom: Add period size constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: avoid reset of sdo_limit (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_generic: Fix NULLptr dereference in autosuspend delay (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: fix typo in comment on INTSTAT registers (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: ignore broken processing/extension unit (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: Fix memleak in sst_media_open (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: Avoid attempts to read unreadable registers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: msm8916-wcd-analog: fix register Interrupt offset (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: Prevent access to invalid VU register bits on WM1811 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add model alc298-samsung-headphone (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Update documentation comment for MS2109 quirk (Jaroslav Kysela) [1869536] - [sound] ALSA: isa: fix spelling mistakes in the comments (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add capture support for Saffire 6 (USB 1.1) (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add quirk for Samsung Galaxy Flex Book (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Fix potential Oops in snd_echo_resume() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: Use force connectivity quirk on another HP desktop (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix unused variable warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6routing: add dummy register read/write function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6afe-dai: mark all widgets registers as SND_SOC_NOPM (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Make soc_component_read() returning an error code again (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - reverse the setting value in the micmute_led_set (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaduio: Drop superfluous volatile modifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Replacing component->name with codec_dai->name (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add quirk for Pioneer DDJ-RB (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - fix the micmute led status for Lenovo ThinkCentre AIO (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: fix spelling mistake "buss" -> "bus" (Jaroslav Kysela) [1869536] - [sound] ALSA: pci: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: isa: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: Add 100us dma stop delay (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Add dma stop delay variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hda/tegra: Set buffer alignment to 128 bytes (Jaroslav Kysela) [1869536] - [sound] ALSA: seq: oss: Serialize ioctls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: Add quirk to force connectivity (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add startech usb audio dock name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: Fix unused variable warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra210_i2s: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra210_dmic: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra210_ahub: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra210_admaif: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra186_dspk: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add support for Lenovo ThinkStation P620 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: renoir: restore two more registers during resume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Do not remove ADDITIONAL_CONTROL_4 from readable register list (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Remove fsl_asoc_card_set_bias_level function (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: hda: call runtime_allow() for all hda controllers" (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Fix AE-5 microphone selection commands (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add new quirk ID for Recon3D (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Fix ZxR Headphone gain control get value (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add alc269/alc662 pin-tables for Loongson-3 laptops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Two step component registration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Simplify snd_soc_component_initialize declaration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Relocate and expose snd_soc_component_initialize (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sh: Replace 'select' DMADEVICES 'with depends on' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Fix value of FSL_SAI_CR1_RFW_MASK (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: use less strict tests for dailink capabilities (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rk3399_gru_sound: Add DAPM pins, kcontrols for jack detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Do not access WM8962_GPIO_BASE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: use resource_size (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: drop unnecessary list_empty (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Added hw_params support for ALC1015 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Passing card structure based on codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Renaming snd-soc-card structure and fields (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: Add sound support for Midas boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KMB: Rework disable channel function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KMB: Add 8kHz audio support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: Fix regression causing sysfs entries to disappear (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: axg-tdm-formatters: fix sclk inversion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: axg-tdmin: fix g12a skew (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: axg-tdm-interface: fix link fmt setup (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fixed HP right speaker no sound (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix NULL pointer dereference during suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bcm2835: Silence clk_get() error on -EPROBE_DEFER (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Update shutdown GPIO property (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: disable traces when switching to S0Ix D0I3 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: fix the suspend procedure to support s0ix entry (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: Fix keep_power assignment for non-component devices (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Workaround for spurious wakeups on some Intel platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: endpoint : remove needless check before usb_free_coherent() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: AMD: Restore PME_EN state at Power On (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel/boards: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Fix add a "ultra_low_power" function for intel reference board (alc256) (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dapm: don't call pm_runtime_* on card device (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: typo_fix: enable headset mic of ASUS ROG Zephyrus G14(GA401) series with ALC289 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G15(GA502) series with ALC289 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: update dsm param bin max size (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Update dsm init sequence and condition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: don't report of_xlate_dai_name failures (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Avoid printing errors for -EPROBE_DEFER (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: apq8016_sbc: Use qcom_snd_parse_of() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Parse properties with "qcom, " prefix (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Support parsing links without DPCM (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6afe: Remove unused q6afe_is_rx_port() function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Use snd_soc_dai_link_set_capabilities() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Use devm for resource management (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Fix dac event dapm mixer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Support configuring dai fmt from DT (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_esai: add IRQF_SHARED for devm_request_irq (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Fix build error due to 64-by-32 division (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: fix SND_SOC_J721E_EVM warnings & errors (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: omap: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm_adsp: Support new metadata block ID's (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: uniphier: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mxs: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: xtensa: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: kirkwood: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sprd: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: generic: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bcm: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: au1x: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dwc: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rockchip: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: cirrus: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sh: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sof: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: stm: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sunxi: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ux500: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-xxx: add asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: kbl_rt5663_rt5514_max98927: Fix kabylake_ssp_fixup function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: fix deadlock after PCM open error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: fix memleak on module unload (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: call patch_ops.free() on probe error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: support machine driver with max98357b (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: support left justified format for I2S (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel/skl/hda - fix probe regression on systems without i915 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: pcm: Update rate/channels for SAI/ESAI DAIs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: Update SAI config bclk/fsync rate (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx8: Add SAI dai driver for i.MX/i.MX8X (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx8m: Fix SAI DAI driver for i.MX8M (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx8: Fix ESAI DAI driver name for i.MX8/iMX8X (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: Use ARRAY_SIZE instead of hardcoded value (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: define INFO_ flags in dsp_ops for imx8 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add implicit feedback quirk for SSL2 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra210 based ADMAIF driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix reset gpio property name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98357a: move control of SD_MODE back to DAI ops (Jaroslav Kysela) [1869536] - [sound] ALSA: Soundwire: intel_init: save Slave(s) _ADR info in sdw_intel_ctx (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add wake interrupt support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel/cadence: merge Soundwire interrupt handlers/threads (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: add implementation of sdw_intel_enable_irq() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: introduce helper for link synchronization (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: introduce a helper to arm link synchronization (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: revisit SHIM programming sequences (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: report slave_ids for each link to SOF driver (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add clock stop quirks (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add mutex for shared SHIM register access (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add prototype for WAKEEN interrupt processing (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add link_list to handle interrupts with a single thread (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: update headers for interrupts (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: reuse code for wait loops to set/clear bits (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: board: sof_rt5682: Update rt1015 pll input clk freq (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: avoid crash if invalid DSP topology loaded (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add support for systems without i915 audio (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt711: remove properties in card remove (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt711: remove hard-coded codec name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai.h: drop a duplicated word (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wcd9335.h: fix duplicated word (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra20_das.h: delete duplicated words (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Avoid the use of one-element array (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra186 based DSPK driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra210 based AHUB driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra210 based I2S driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra210 based DMIC driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add support for CIF programming (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: common: change match table ehl-rt5660 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: remove .digital_mute (Jaroslav Kysela) [1869536] - [sound] ALSA: Replace the word "slave" in vmaster API (Jaroslav Kysela) [1869536] - [sound] ALSA: asihpi: delete duplicated word (Jaroslav Kysela) [1869536] - [sound] ALSA: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Fixed ALC298 sound bug by adding quirk for Samsung Notebook Pen S (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: optimize the power consumption (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai.h: don't use discriminatory terms for comment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: qdsp6: Use IS_ERR() instead of IS_ERR_OR_NULL() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: disable MICBIAS and Vref2 widget in default (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: qdsp6: Use the defined variable to clean code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: snd_soc_dai_digital_mute() for both CPU/Codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: fixes the missed kfree() for axg_card_add_tdm_loopback (Jaroslav Kysela) [1869536] - [sound] ALSA: info: Drop WARN_ON() from buffer NULL sanity check (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: Use kmemdup in podhd_set_monitor_level() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Add support for Loongson 7A1000 controller (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: pcm: Use SG-buffer only when direct DMA is available" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: Add missed return for calling soc_component_ret (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl-asoc-card: Trivial: Fix misspelling of 'exists' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Support Headphone and Microphone Jack detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: simple-card-utils: Support configure pin_name for asoc_simple_init_jack (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: ak*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: cs*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: da*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: es*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: alc*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: pcm*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: ssm*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: tas*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: tlv*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: spear: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdmi-codec: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: drm/mediatek: exit earlier if failed to register audio driver (Jaroslav Kysela) [1869536] - [sound] ALSA: drm/i2c/tda998x: Make tda998x_audio_digital_mute static (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai.c: add .no_capture_mute support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdmi-codec: return -ENOTSUPP for digital_mute (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix snd_hda_codec_cleanup() documentation (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: export snd_hda_codec_cleanup_for_unbind() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Report the button event in the headset type only (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add missed put_device() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - fixup for yet another Intel reference board (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable Speaker for ASUS UX563 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable Speaker for ASUS UX533 and UX534 (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix the kernel-doc comment (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Replace blacklist word (Jaroslav Kysela) [1869536] - [sound] ALSA: via82xx: Replace the words whitelist (Jaroslav Kysela) [1869536] - [sound] ALSA: nm256: Replace the words blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: intel8x0: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: es1968: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: ctxfi: Replace the word blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: bt87x: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: ac97: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: don't free dma_data in DAI shutdown (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: allocate/free dma_data in set_sdw_stream (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: remove stream allocation/free (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: stream: add helper to startup/shutdown streams (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: implement get_sdw_stream() operations (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: Disable sync-write operation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ssi: don't use discriminatory terms for debug log (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: siu: don't use discriminatory terms for parameter (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsi: don't use discriminatory terms for comment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rsnd: don't use discriminatory terms for comment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rsnd: don't use discriminatory terms for function names (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Enable Vref2 under using PLL2 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rockchip: spdif: Handle clk by pm runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: re-enable IRQs on failure path (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: add hw monitor volume control for POD HD500 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable headset mic of Acer TravelMate B311R-31 with ALC256 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G14(G401) series with ALC289 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - change to suitable link model for ASUS platform (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix race against the error recovery URB submission (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: Improve dai-set-fmt comment in cht_codec_fixup() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: support HDMI jack reporting (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: use hdmi-codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: use hdmi-codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_spdif: Add kctl for configuring TX validity bit (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_spdif: Clear the validity bit for TX (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: Sync the pending work cancel at disconnection (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: Perform sanity check for each URB creation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: ak4458: Remove set but never checked variable 'ret' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: tlv320aic26: Demote seemingly unintentional kerneldoc header (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt5659: Remove many unused const variables (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt5631: fix spurious kernel-doc start and missing arguments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ux500: ux500_msp_i2s: Remove unused variables 'reg_val_DR' and 'reg_val_TSTDR' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: pxa-ssp: Demote seemingly unintentional kerneldoc header (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sunxi: sun4i-spdif: Fix misspelling of 'reg_dac_txdata' in kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sunxi: sun4i-i2s: add missing clock and format arguments in kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: qdsp6: q6asm: Provide documentation for 'codec_profile' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sti: uniperif: fix 'defined by not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel-pdmic: remove codec component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel-classd: remove codec component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98390: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: es8316: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: omap-mcbsp-st: Remove set, but unused variable 'w' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: jz4770: Remove defined but never used variable 'mic_boost_tlv' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: da7219: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: da7210: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: uniphier: aio-core: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra20_das: remove always-true comparison (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: pcm: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: spdif: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sdw_max98373: add card_late_probe support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof-sdw: add MAX98373 I2C dependencies (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98373: add SoundWire support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98373: split I2C and common parts (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: support machine driver with rt1015 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: extract codec and DAI names (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: remove forward declaration of headset_init (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: sort header inclusions in alphabetical (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt286: fix unexpected interrupt happens (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8974: remove unsupported clock mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8974: fix Boost Mixer Aux Switch (Jaroslav Kysela) [1869536] - [sound] ALSA: xen: Remove superfluous fall through comments (Jaroslav Kysela) [1869536] - [sound] ALSA: atmel: Remove invalid "fall through" comments (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Address bugs in the interrupt handling (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Prevent some noise on unloading the module (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Prevent races in calls to set_audio_format() (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Race conditions around "opencount" (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Remove redundant check (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: fixed kernel warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: support machine driver with rt1015 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: sort header inclusions in alphabetical (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qdsp6: use dev_err instead of pr_err (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: add command opcode to timeout error report (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: core: fix null-ptr-deref bug during device removal (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoc: codecs: max98373: remove Idle_bias_on to let codec suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98373: Removed superfluous volume control from chip default (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: add more logs when topology load fails (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: factor kfree(se) in error handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: use break on errors, not continue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: fix tlvs in error handling for widget_dmixer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: fix kernel oops on route addition error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: add min/max channels for SAI/ESAI on i.MX8/i.MX8M (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bdw-rt5677: fix non BE conversion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: set dai_link dpcm_ flags with a helper (Jaroslav Kysela) [1869536] - [sound] ALSA: usb/line6: remove 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: mpc8610_hpcd: Add missing of_node_put() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: add default clock handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add ACPI dependency check (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: acp3x-i2s: remove unused-but-set variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: acp3x-pcm-dma: remove unused-but-set variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: acp3x-i2s: fix 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: acp3x-pcm-dma: fix 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: acp-rt5645: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: acp-da7219-max98357a: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: Fix build error on m68k and others (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Remove only the registered component in devm functions (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: Add Intel silent stream support (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/au88x0: remove "defined but not used" warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: vx_core: remove warning for empty loop body (Jaroslav Kysela) [1869536] - [sound] ALSA: pcmcia/pdaudiocf: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/via82xx: remove 'set but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/fm801: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/es1938: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: xen: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/oxygen/xonar_wm87x6: remove always true condition (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/rme9652/hdspm: remove always true condition (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/korg1212: remove 'set but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/emu10k1: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pci/emu10k1: remove "set but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/ctxfi: fix kernel-doc warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/ctxfi/ctatc: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/aw2-saa7146: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/echoaudio: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/asihpi: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/asihpi: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/asihpi: remove 'set but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: isa/gus: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: isa/gus: remove -Wmissing-prototypes warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: compress: fix partial_drain completion state (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add implicit feedback quirk for RTX6001 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix SND_HDA_GENERIC kconfig & build (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add quirk for MacroSilicon MS2109 (Jaroslav Kysela) [1869536] - [sound] ALSA: core: pcm_iec958: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable headset mic of Acer Veriton N4660G with ALC269VC (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable headset mic of Acer C20-820 with ALC269VC (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable audio jacks of Acer vCopperbox with ALC269VC (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix Lenovo Thinkpad X1 Carbon 7th quirk subdevice id (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: improve debug traces for stream lookups (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: fix failures at PCM open on Intel ICL and later (Jaroslav Kysela) [1869536] - [sound] ALSA: opl3: fix infoleak in opl3 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm8400: remove unused variables (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-ac97: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add logic to check dmic hardware runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: j721e-evm: Fix missing unlock on error in j721e_audio_hw_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_esai: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_asrc: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_spdif: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl-asoc-card: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_ssi: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_ssi_dbg: remove spurious kernel-doc comment start (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Rename dev_gpio to gpio1_is_irq (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Remove struct rt5670_platform_data (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bxt-da7219-max98357a: return -EINVAL on unrecognized speaker amplifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm8994: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm9713: remove spurious kernel-doc comment start (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm8960: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm8986: fix missing kernel-doc arguments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: cs42l42: remove always-true comparisons (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: cs4270: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: sof-acpi-dev: fix 'defined but unused' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: atom: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: atom: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bxt-da7219-max98357a: support MAX98390 speaker amp (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Add an option to select internal ratio mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Enable interrupt in dma_open (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KeemBay: Fix header guard (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Refine regcache usage with pm runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: Add custom machine driver for j721e EVM (CPB and IVI) (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: davinci-mcasp: Specify stream_name for playback/capture (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rockchip: add format and rate constraints on rk3399 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Rectifying Unbalanced pm_runtime_enable! issue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: cancel jack_detect_work if hs_jack is set to null even soundwire mode (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix some typos (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Replace s/frame/packet/ where appropriate (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix packet size calculation (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: initialize bus clock base and scale registers (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add definitions for 1.2 spec (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: remove multiple blank lines (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: extend SDW_SLAVE_ENTRY (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus_type: convert open-coded while() to for() loop (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Fix dac- and adc- vol-tlv values being off by a factor of 10 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Add new gpio1_is_ext_spk_en quirk and enable it on the Lenovo Miix 2 10 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Correct RT5670_LDO_SEL_MASK (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: Change bus format to I2S 2 channel (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Add voltage sense slot configuration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Add right and left channel slot programming (Jaroslav Kysela) [1869536] - [sound] ALSA: asoc: Update supported rate and format for dummy dai (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Drop HAS_DMA dependency to fix link failure (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: Add MAX98373 support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: Fix a typo in Kconfig (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: common: add match table for TGL MAX98373 + RT5682 SoundWire driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoc: Intel: cml_rt1011_rt5682: explicitly access first codec (Jaroslav Kysela) [1869536] - [sound] ALSA: snd/soc: correct trivial kernel-doc inconsistency (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: Update TDM configuration in hw_params (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: cml_rt1011_rt5682: use for_each_card_prelinks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: cml_rt1011_rt5682: use statically define codec config (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: cml_rt1011_rt5682: reduce log level for printing quirk (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_rt5682: Add support for jsl-max98360a-rt5682 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: Fix the comment for max_98373_components (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: add dai_trigger function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: byt*.c: remove cast in dev_info quirk log (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add quirk override with kernel parameter (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bxt_rt298: add missing .owner field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add missing .owner field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cml_rt1011_rt5682: add missing .owner field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: nocodec: add missing .owner field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: add missing header inclusion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dapm: declare missing structure prototypes (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: move definition of enum snd_soc_bias_level (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Fix format issue for extra space before a comma (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Update shutdown GPIO property (Jaroslav Kysela) [1869536] - [sound] ALSA: AsoC: amd: add missing snd- module prefix to the acp3x-rn driver kernel module (Jaroslav Kysela) [1869536] - [sound] ALSA: core: Warn on empty module (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - let hs_mic be picked ahead of hp_mic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Add WM8524 support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: fix the pop noise while OMTP type headset plugin (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix OOB access of mixer element list (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add quirk for Samsung USBC Headset (AKG) (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1011: fix KASAN out-of-bounds bug in find_next_bit() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: set playback and capture constraints (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Fix uninitialized scalar variable in fsl_easrc_set_ctx_format (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: cml_rt1011_rt5682: disable jack in dailink .exit() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_rt5682: move disabling jack to dai link's exit() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: kbl-rt5660: use .exit() dailink callback to release gpiod (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bdw-rt5677: fix module load/unload issues (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: introduce exit() callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_mqs: Fix unchecked return value for clk_prepare_enable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_mqs: Don't check clock is NULL before calling clk API (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Flight S (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm_adsp: Add controls for calibration and diagnostic FW (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: remove snd_soc_component_read32() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: ak*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: cs*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: da*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: alc*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: msm*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: tlv*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wcd*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: use io_mutex correctly (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: Constify static structs (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: transition to 3 steps initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: pass link information as platform data (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: use devm_ allocation (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: remove useless test (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: clarify drvdata and remove more indirections (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: cleanups for indirections/logs (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix memory leak with devm_kasprintf (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: clock_stop: don't deal with UNATTACHED Slave devices (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: Replace 'objs' by 'y' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_spdif: Add pm runtime function (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Enable sync-write operation as default for all controllers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rockchip: Fix a reference count leak (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Removing unnecessary instance initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: closing specific instance (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Let LED cdev handling suspend/resume (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Unify LED helper code (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/sigmatel: Use the new vmaster mute LED helper (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/conexant: Use the new vmaster mute LED helper (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Use the new vmaster mute LED helper (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Add vmaster mute LED helper (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Drop the old mic-mute LED hook (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Drop unused snd_hda_gen_fixup_micmute_led() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/sigmatel: Convert to cdev-variant of mic-mute LED controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/conexant: Convert to cdev-variant of mic-mute LED controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Convert to cdev-variant of mic-mute LED controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Add a helper for mic-mute LED with LED classdev (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Always call led-trigger for mic mute LED (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Intel: add missing PCI IDs for ICL-H, TGL-H and EKL (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: broadwell: simplify card names for SOF uses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cht*: simplify card names for SOF uses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: byt*: simplify card names for SOF uses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: fix memleak with regmap not freed on remove (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add PCI IDs for ICL-H and TGL-H (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add PCI ID for CometLake-S (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: SOF: merge COMETLAKE_LP and COMETLAKE_H (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: imply acodec glue on axg sound card (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add mute LED and micmute LED support for HP systems (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_spdif: Add support for imx6sx platform (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Add MQS support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Fix reference count leaks (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix potential use-after-free of streams (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add quirk for MSI GE63 laptop (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Flush DAC data before playback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_ssi: Fix bclk calculation for mono channel (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: AMD: Use mixer control to switch between DMICs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Add Amp init common setting func (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: DAI wclk supports 44100 Hz output (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Let PLL2 support the freq conversion for 44100Hz sample rate (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rl6231: Add new supports on rl6231 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img-parallel-out: Fix a reference count leak (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8960: Support headphone jack detection function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: Add driver for Aries boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm0010: Use kmemdup rather than duplicating its implementation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Add makefiles and kconfig changes for KeemBay (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Add KeemBay platform driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt6358: support DMIC one-wire mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Fix "Function parameter not described" warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Fix -Wunused-but-set-variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Fix -Wmissing-prototypes warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: tidyup Copyright (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: merge soc_pcm_trigger_start/stop() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: merge soc-io.c into soc-component.c (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_init() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_hw_free() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_hw_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_prepare() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add soc_component_err() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_initialize() to soc-component.c (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_xxx_regmap() to soc-component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add soc_component_pin() and share code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm/compress: reduce verbosity on mapping ok messages (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: improve error messages in soc_pcm_new() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: reduce verbosity of BE override message (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: Use SG-buffer only when direct DMA is available (Jaroslav Kysela) [1869536] - [sound] ALSA: memalloc: Make SG-buffer helper usable for continuous buffer, too (Jaroslav Kysela) [1869536] - [sound] ALSA: memalloc: Initialize all fields of snd_dma_buffer properly (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: Use dma_mmap_coherent() on x86, too (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98357a: add compatible string for MAX98360A (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Clear RIRB status before reading WP (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Update rt1015 default register value according to spec modification (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: set correct directions for dailinks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoc: q6afe: add support to get port direction (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: fix checks for multi-cpu FE dailinks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Let dai clks be registered whether mclk exists or not (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: wait for notification when changing clock configuration for protocol v3 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-topology: use devm_snd_soc_register_dai() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-devres: add devm_snd_soc_register_dai() (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Set 48 kHz rate for Rodecaster (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add quirk for Denon DCD-1500RE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc_dma: Fix data copying speed issue with EDMA (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc_dma: Reuse the dma channel if available in Back-End (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dmaengine_pcm: export soc_component_to_pcm (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: export snd_soc_lookup_component_nolocked (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add implicit feedback quirk for SSL2+ (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Add NVIDIA codec IDs 9a & 9d through a0 to patch table (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: handle EOS correctly (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Update regmap readable reg and volatile (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5645: Add platform-data for Asus T101HA (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for Toshiba Encore WT10-A tablet (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: nocodec: conditionally set dpcm_capture/dpcm_playback flags (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: replace capture_only by dpcm_capture (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: only convert non DPCM link to DPCM link (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: dpcm: fix playback/capture checks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: dpcm: Only allow playback/capture if supported (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: add missing free_irq() in error path (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: disallow linking stream to itself (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Manage auto-pm of all bundled interfaces (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - add a pintbl quirk for several Lenovo machines (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: fix snd_pcm_link() lockdep splat (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Use the new macro for HP Dock rename quirks (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add vendor, product and profile name for HP Thunderbolt Dock (Jaroslav Kysela) [1869536] - [sound] ALSA: emu10k1: delete an unnecessary condition (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix inconsistent card PM state after resume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Fix potential crash during param fw loading (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Fix incorrect printf qualifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Defer probe when fail to find codec device (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rl6231: Modify the target DMIC clock rate (Jaroslav Kysela) [1869536] - [sound] ALSA: es1688: Add the missed snd_card_free() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: add sienna_cichlid audio asic id for sienna_cichlid up (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add Pioneer DJ DJM-900NXS2 support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: q6asm-dai: kCFI fix (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_remove_dai_link() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_add_dai_link() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_set_bias_level_post() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_set_bias_level() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_remove() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_late_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add probed bit field to snd_soc_card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_resume_post() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_resume_pre() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_suspend_post() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_suspend_pre() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_subclass to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_get_codec_dai() to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_set/get_drvdata() to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_jack_new() to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_get_kcontrol() to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: add soc-card.c (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc.h: convert bool to bit field for snd_soc_card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sof_pcm512x: remove CONFIG_SND_HDA_CODEC_HDMI condition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sof-sdw: remove CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC condition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: add depends on SND_SOC_SOF_HDA_AUDIO_CODEC for common hdmi (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fixing usage of plain int instead of NULL (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: fix generic hda codec support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Baytrail: fix 'defined but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: Subject:ASoC: soc-pcm: fix BE dai not hw_free and shutdown during mixer update (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: reduce verbosity of error messages for sof-dai and sof-link (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Enable class-D silence and clock detections (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img-i2s-out: Fix runtime PM imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: remove the redundant pass checks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: refine and log the header in the correct pass (Jaroslav Kysela) [1869536] - [sound] ALSA: ac97: Remove sound driver for ancient platform (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Removing unnecessary instance initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sta32x: add missed function calls in error paths (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: split i2c driver into separate module (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: nau8810: add I2C device and compatible ID (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ingenic: Unconditionally depend on devicetree (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Clean up quirk entries with macros (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Fix return value check in asoc_mmp_sspa_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Fix runtime PM imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img-spdif-in: Fix runtime PM imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img-spdif-out: Fix runtime PM imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: BYT: harden IPC initialization and handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: BYT: mask BUSY or DONE interrupts in handler (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: BYT: add .remove op (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ipc: ignore DSP replies received when they are not expected (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: byt/cht: add .pm_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcr_rt5640/51: remove .ignore_suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: pm: handle resume on legacy Intel platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: byt: Add PM callbacks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dapm: Move dai_link widgets to runtime to fix use after free (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add new codec supported for ALC287 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2552: Fix runtime PM imbalance in tas2552_component_probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fix incomplete error-handling in img_i2s_in_probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: Fix runtime PM imbalance in omap2_mcbsp_set_clks_src (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fix semicolon.cocci warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround (Jaroslav Kysela) [1869536] - [sound] ALSA: hwdep: fix a left shifting 1 by 31 UB bug (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Merge suspend/resume function to runtime_suspend/resume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: imx-audmix: Fix unused assignment to variable 'ret' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Fix -Wmissing-prototypes warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Added Amplifier Driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse compiler version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse windows (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse firmware version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Introduce extended manifest (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: loader: Adjust validation condition for fw_offset (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: add snd_soc_link_compr_set_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: add snd_soc_link_compr_shutdown() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: add snd_soc_link_compr_startup() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: add snd_soc_link_be_hw_params_fixup() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: remove unneeded parameter from snd_soc_link_xxx() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: move soc_rtd_xxx() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: add soc-link.c (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add support for MOTU UltraLite-mk3 (FireWire only model) (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: keep ADCs and DACs always on (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: add digital microphone controls (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: refactoring protocol v2 for fetching mode switch (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: refactoring protocol v3 for clock source getter (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: refactoring protocol v2 for clock source getter (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: remove obsoleted codes (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: use table-based calculation of packet formats for stream management (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: use table-based calculation of packet formats for proc (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add alternative functions to detect packet format for protocol v3 (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add alternative functions to detect packet format for protocol v2 (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add model-specific table of chunk count (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: drop protocol structure (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add wrapper functions for protocol-dependent operations (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: localize protocol data (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: move spec data to v3 protocol file (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: move spec data to v2 protocol file (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: remove Compulab pxa2xx boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: add mono playback switch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: add filter controls (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: don't use regmap defaults (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Fix the error handling in probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: use a single module (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: fix ADC level control (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix spelling mistake (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix trailing line in sysfs_slave.c (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add Slave sysfs support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: master: add sysfs support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: disco: s/ch/channels/ (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Add Device Tree support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: return error when acp de-init fails (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: refactoring dai_hw_params() callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: fix kernel warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Do not pass irq numbers in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Remove unneeded ifdef's (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Set ASR76K and ASR56K based on processing clock (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: enable build for RN machine driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: RN machine driver using dmic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: create platform devices for Renoir (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: enable Renoir acp3x drivers build (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add ACP PDM DMA driver pm ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add Renoir ACP PCI driver PM ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add ACP PDM DMA driver dai ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add acp3x pdm driver dma ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: irq handler changes for ACP3x PDM dma driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add ACP3x PDM platform driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: create acp3x pdm platform device (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add acp init/de-init functions (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add Renoir ACP PCI driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add Renoir ACP3x IP register header (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add more fixup entries for Clevo machines (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: master: add runtime pm support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus_type: add sdw_master_device support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: add unique bus id (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus_type: introduce sdw_slave_type and sdw_master_type (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: rename sdw_bus_master_add/delete, add arguments (Jaroslav Kysela) [1869536] - [sound] ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio option (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for Toshiba Encore WT8-A tablet (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: fix volume controls (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Fix unused assignment in fsl_set_clock_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: Make the driver name consistent across files (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Fix indentation to put on one line affected code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: cleanup dai / component active code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dwc: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: uniphier: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: jz4740: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: cirrus: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bcm: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atomel: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_stream_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dapm: use snd_soc_dai_activate()/deactivate() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_action() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: replace snd_soc_runtime_activate()/deactivate() to macro (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: move set_pll to codec level (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: move set_sysclk to codec level (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: Add regulator support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: Add da7212 DT compatible (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cht_bsw_nau8824: remap BTN_0 as KEY_PLAYPAUSE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt700: remap buttons (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt711: remap buttons (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: fix typo in components string (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: soc-acpi: change machine driver name for WM8804 platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: make imx8m_dsp_ops static (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: make dsp_ops static (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: define INFO_ flags in dsp_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: sdw: relax sdw machine select constraints (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: add support to smart amplifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: inform DSP that driver is going to be removed (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add a power_down_notify method (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Do nothing when DSP PM callbacks are not set (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt1308-sdw: remove duplicate allocation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*-sdw: fix memory leak in set_sdw_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*-sdw: don't assign slave_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Xtreme (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: fix incorrect hw_base increase (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Unexport some local helper functions (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Drop unused snd_hda_queue_unsol_event() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Fix potential race in unsol event handler (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add duplex sound support for USB devices using implicit feedback (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: fixing upper volume limit for RME Babyface Pro routing crosspoints (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_esai: introduce SoC specific data (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Limit int mic boost for Thinkpad T530 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Use force clear for WM8962_SYSCLK_ENA after reset (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Set appropriate bus format for given bit width (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Add support for the runtime power management (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Prepare/unprepare the clocks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Remove the embedded struct ssp_device (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Add support for soc-generic-dmaengine-pcm (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Get rid of dma_params and phys_base (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: A trivial typo fix (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: omap-mcbsp: Fix an error handling path in 'asoc_mcbsp_probe()' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Update description for HDaudio kconfig (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ux500: mop500: Fix some refcounted resources issues (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Drop S20_3LE case (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Flip SNDRV_PCM_FMTBIT_S24_3LE on (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Use readq to read 64 bit registers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: baytrail: Fix register access (Jaroslav Kysela) [1869536] - [sound] ALSA: SoC: rsnd: add interrupt support for SSI BUSIF buffer (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add COEF workaround for ASUS ZenBook UX431DA (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable headset mic of ASUS UX581LV with ALC295 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable headset mic of ASUS UX550GE with ALC295 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable headset mic of ASUS GL503VM with ALC295 (Jaroslav Kysela) [1869536] - [sound] ALSA: drivers/powerpc: Replace _ALIGN_UP() by ALIGN() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: core: fix error return code in sof_probe_continue() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: set headset button maps (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: fulfill missing entries in Kconfig (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: (cosmetic) remove multiple superfluous "else" statements (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: (cosmetic) remove multiple superfluous "else" statements (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: Use IRQF_ONESHOT (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: add support for RME Fireface UFX (untested) (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: add support for RME FireFace 802 (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: code refactoring to decide name of sound card (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: code refactoring to add enumeration constants for model identification (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: start IR context immediately (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: fix configuration error for nominal sampling transfer frequency (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add quirk for Samsung Notebook (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Fix unused variable warning (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: use sequence of syt offset and data block on pool in AMDTP domain (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: pool ideal sequence of syt offset and data block (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: add cache for packet sequence to AMDTP domain structure (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: code refactoring for data block calculation (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: code refactoring for syt offset calculation (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: code refactoring for syt computation (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: code refactoring for parameters of packet queue and IRQ timing (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: add reference to domain structure from stream structure (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: use macro for maximum value of second in 1394 OHCI isoc descriptor (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: fix invalid assignment to union data for directional parameter (Jaroslav Kysela) [1869536] - [sound] ALSA: fireworks: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: rawmidi: Fix racy buffer resize under concurrent accesses (Jaroslav Kysela) [1869536] - [sound] ALSA: soc: fsl_asrc: Make some functions static (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1016: Add the rt1016 support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5677: Use devm_snd_soc_register_component() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: fix error handling of platform_get_irq() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Allow SST driver on SKL and KBL platforms with DMIC (Jaroslav Kysela) [1869536] - [sound] ALSA: portman2x4: Use bitwise instead of arithmetic operator for flags (Jaroslav Kysela) [1869536] - [sound] ALSA: sound/ppc: Use bitwise instead of arithmetic operator for flags (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: Fix error handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd :High hw_level while simultaneous capture (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Return true, false for return type bool (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: Make I2S SD lines configurable (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Use hdac_to_hda_codec macro (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Use dev_to_hdac_dev macro (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: reduce verbosity on enumeration (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: debugfs: clarify SDPX license with GPL-2.0-only (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: slave: don't init debugfs on device registration error (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: fix error handling in probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8524: Add support S32_LE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Use the defined variable to simplify code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Add condition to prevent SoC providing bclk in ratio of 50 times of sample rate (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rl6231: Add the K bypass for the PLL parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: adau7118: Mark the ADAU7118 reset register as volatile (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max9768: update contact email (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98373: reorder max98373_reset() in resume (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: workaround playback failure on Tegra194 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: add member to store ratio for stripe control (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: correct number of SDO lines for Tegra194 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add mapping for ASRock TRX40 Creator (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: hda/realtek: Fix pop noise on ALC225" (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: fix 'function sizeof not defined' error of tracepoints format (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: Add poll callback for hwdep (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: hwdep: add support for O_NONBLOCK opening mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF/Intel: clarify SPDX license with GPL-2.0-only (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ipc: channel map structures (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: sof-wm8804: support for Hifiberry Digiplus boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Update correct LED status at the first time usage of update_mute_led() (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset (Jaroslav Kysela) [1869536] - [sound] ALSA: isa/wavefront: prevent out of bounds write in ioctl (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix unused variable warning w/o CONFIG_LEDS_TRIGGER_AUDIO (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add LED class support for micmute LED (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable micmute LED on and HP system (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Introduce polarity for micmute LED GPIO (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: sort out Kconfig, again (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: remove unwanted btn_type assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: remove duplicate rt5682_reset() calls (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: replace message printing from pr_() to dev_() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: remove empty default case (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: fix space issues (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: simplify assertions (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: change trigger sequence to fix pop noise when stopping playback on sdw platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: replace sof_link_hda_process by sof_set_dai_config (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: set component dai_index to ipc dai config dai_index (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: send ipc for all found DAIs in sof_set_dai_config (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: broadwell: Fix oops during module removal (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: fix I2C/Soundwire dependencies (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: mark PM functions __maybe_unused (Jaroslav Kysela) [1869536] - [sound] ALSA: seq: oss: remove unused inline function snd_seq_oss_timer_is_realtime (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mxs-saif: Fix unused assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoc: nau8810: add AUX related dapm widgets and routes (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm97xx: fix ac97 dependency (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: component: suppress uninitialized-variable warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_get_metadata() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_set_metadata() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_pointer() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_ack() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_get_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_set_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_shutdown() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_start() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_remove() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_bespoke_trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_prepare() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_new() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: don't overwide dai->driver->ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add soc_dai_err() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra_wm8903: Use devm_snd_soc_register_card() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: broadwell: add channel constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bdw-rt5650: add channel constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bdw-rt5677: add channel constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: add explicit dependency on GPIOLIB when DMIC is used (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: davinci-mcasp: Fix dma_chan refcnt leak when getting dma type (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Automatic DMIC format configuration according to information from NHLT (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Multiple I/O PCM format support for pipe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Add alternative topology binary name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hisilicon: Use the defined variable to clean code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Check for null pointer before dereferencing "ctx" in fsl_easrc_hw_free() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: remove comparison to bool in omap_mcbsp_dai_set_dai_fmt() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mxs-saif: Avoid unnecessary check (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add amp number in components string for ucm (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hisilicon: Use IS_ERR() instead of IS_ERR_OR_NULL() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_esai: Disable exception interrupt before scheduling tasklet (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm_native: result of put_user() needs to be checked (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: snd-sof-intel-hda-common - add hda_model parameter and pass it to HDA codec driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-compress: avoid false-positive Wuninitialized warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: set CLOCKING2 as non-volatile register (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix racy list management in output queue (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Remove async workaround for Scarlett 2nd gen (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Improve frames size computation (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Refactor Intel NHLT init (Jaroslav Kysela) [1869536] - [sound] ALSA: ACPICA: Add NHLT table signature (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add missing dependency on IMX_SCU (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: fix spelling mistake "prefitler" -> "prefilter" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Replace guid_copy() with import_guid() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dmic: Allow GPIO operations to sleep (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: return true, false in snd_soc_volsw_is_stereo() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Fix build (Jaroslav Kysela) [1869536] - [sound] ALSA: oxygen: use true, false for bool variables (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix a limit check in proc_dump_substream_formats() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel/skl/hda - fix oops on systems without i915 audio codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Add initial ZL38060 driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-compress: remove snd_compr_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sprd: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sof: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: atom: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: q6sp6: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: uniphier: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: wm_adsp: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-compress: add snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: txx9: add back the hack for a too small resource_size_t (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Add EASRC ASoC CPU DAI drivers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Move common definition to fsl_asrc_common (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Support new property fsl, asrc-format (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Support new property fsl, asrc-format (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: rename asrc_priv to asrc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Enable audio mclk during tegra_asoc_utils_init() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add audio mclk parent configuration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Use device managed resource APIs to get the clock (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wcd934x: remove unneeded semicolon (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wcd9335: remove unneeded semicolon (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wcd934x: remove unnecessary comparisons to bool (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: split woofer and tweeter support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Fix wrong dependency of da7210 and wm8983 (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Print more information in stream proc files (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: txx9: don't work around too small resource_size_t (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell: Power transition refactor (Jaroslav Kysela) [1869536] - [sound] ALSA: Fix misspellings of "Analog Devices" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Fix misspellings of "Analog Devices" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: handle multiple sets of tuple arrays (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: stop parsing when all tokens have been found (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: Get HDA rate and channels from topology (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix: parse hda_tokens to &config->hda (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: Get ALH rate amd channels from topology (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: align sof_ipc_dai_alh_params with FW (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Rename deprecated DMIC IPC struct field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Change DMIC load IPC to fixed length (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Fix typo in header file comment text (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add XRUN flags field to struct sof_ipc_buffer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: make sof_ipc_cc_version to fixed length (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: change type char to uint8_t in topology.h (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: change type char to uint8_t in trace.h (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: change type char to uint8_t in info.h (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add debug ABI version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add probe support extend data (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: Add support for DC Blocker (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse compiler version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse windows (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse firmware version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Introduce extended manifest (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Introduce offset in firmware data (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Mark get_ext* function ext_hdr arguments as const (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix: handle DAI widget connections properly with multiple CPU DAI's (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add i.MX8MP device descriptor (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: Add i.MX8M HW support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: fix undefined reference issue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx8: Fix randbuild error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: Remove unneeded semicolon (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Omit superfluous error message in fsl_micfil_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: skl_hda_generic: remove rtd->codec_dai (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: RME Babyface Pro mixer patch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8900: remove some defined but not used symbols (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8990: remove some defined but unused symbols (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8991: remove defined but not used 'wm8991_dapm_rxvoice_controls' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: remove wm1811_snd_controls and mixin_boost_tlv (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra_wm8903: Support nvidia, headset property (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt711: remove codec_dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt700: remove codec_dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt5682: remove codec_dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt1308: remove codec dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_hdmi: remove codec_dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_hdmi: fix compilation issue in fallback mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof-da7219-max98373: add DMIC widget and route (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_sdw: init all aggregated codecs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: support Elkhart Lake with rt5660 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add PCI ID for ElkhartLake (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Add ElkhartLake HDMI codec vid (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel/skl/hda - set autosuspend timeout for hda codecs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_da7219_max98373: Add BE dailink for dmic16k (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: remove cpu_dai/codec_dai/cpu_dais/codec_dais (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: tidyup soc_new_pcm_runtime() rtd setups (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: set rtd->num_cpu/codec at soc_new_pcm_runtime() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: Add dynamic debug logs in soc_dai_link_sanity_check() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: log number of microphones detected in NHLT tables (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: reduce verbosity on SoundWire detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt1308-sdw: reduce verbosity (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: remove unnecessary parentheses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: remove unneeded variables (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: add autodetection for SoundWire (Jaroslav Kysela) [1869536] - [s390] mm/gup: fix gup_fast with dynamic page table folding (Philipp Rudo) [1879401 1768713 1883266]- [netdrv] Take common prefetch code structure into a function (Ivan Vecera) [1882011] - [net] lwtunnel: only keep the available bits when setting vxlan md->gbp (Xin Long) [1879363] - [net] sched: only keep the available bits when setting vxlan md->gbp (Xin Long) [1879363] - [vhost] Don't call access_ok() when using IOTLB (Greg Kurz) [1883084] - [clocksource] hv: clocksource: Add notrace attribute to read_hv_sched_clock_*() functions (Mohammed Gamal) [1880230] - [net] core: Replace driver version to be kernel version (Petr Oros) [1867192] - [net] use netif_is_bridge_port() to check for IFF_BRIDGE_PORT (Josef Oskera) [1867923] - [net] sctp: fix sctp_auth_init_hmacs() error path (Xin Long) [1891413] - [net] sctp: Fix IPv6 ancestor_size calc in sctp_copy_descendant (Xin Long) [1891413] - [net] sctp: add SCTP_PEER_ADDR_THLDS_V2 sockopt (Xin Long) [1891413] - [net] sctp: add support for Primary Path Switchover (Xin Long) [1891413] - [net] sctp: add SCTP_EXPOSE_POTENTIALLY_FAILED_STATE sockopt (Xin Long) [1891413] - [net] sctp: add SCTP_ADDR_POTENTIALLY_FAILED notification (Xin Long) [1891413] - [net] sctp: add pf_expose per netns and sock and asoc (Xin Long) [1891413] - [net] qos offload add flow status with dropped count (Ivan Vecera) [1890263] - [i2c] i2c: i801: Add support for Intel Tiger Lake PCH-H (Steve Best) [1782725] - [i2c] i2c: i801: Add support for Intel Emmitsburg PCH (David Arcari) [1837403] - [mfd] mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs (David Arcari) [1837403] - [powerpc] powerpc/papr_scm: Fix warning triggered by perf_stats_show() (Diego Domingos) [1875364] - [powerpc] powerpc/papr_scm: Limit the readability of 'perf_stats' sysfs attribute (Diego Domingos) [1875364] - [powerpc] powerpc/papr_scm: Add support for fetching nvdimm 'fuel-gauge' metric (Diego Domingos) [1875364] - [powerpc] powerpc/papr_scm: Fetch nvdimm performance stats from PHYP (Diego Domingos) [1875364] - [include] driver-core: Introduce DEVICE_ATTR_ADMIN_{RO, RW} (Diego Domingos) [1875364] - [net] netfilter: reject: skip csum verification for protocols that don't support it (Florian Westphal) [1740082] - [net] netfilter: Fix remainder of pseudo-header protocol 0 (Florian Westphal) [1740082] - [powerpc] powerpc/pseries: Add KVM guest doorbell restrictions (Diego Domingos) [1870221] - [powerpc] powerpc: Inline doorbell sending functions (Diego Domingos) [1870221] - [powerpc] powerpc/pseries: Use doorbells even if XIVE is available (Diego Domingos) [1870221] - [powerpc] powerpc: Fix P10 PVR revision in /proc/cpuinfo for SMT4 cores (Steve Best) [1885927] - [tools] selftests: implement flower classifier terse dump tests (Ivan Vecera) [1879189] - [net] sched: cls_flower: implement terse dump support (Ivan Vecera) [1879189] - [net] sched: implement terse dump support in act (Ivan Vecera) [1879189] - [net] sched: introduce terse dump flag (Ivan Vecera) [1879189] - [netdrv] net/mlx5e: Fix missing switch_id for representors (Petr Oros) [1874073] - [tools] selftests: net: Add port split test (Petr Oros) [1874073] - [net] devlink: Move input checks from driver to devlink (Petr Oros) [1874073] - [net] devlink: Add a new devlink port split ability attribute and pass to netlink (Petr Oros) [1874073] - [netdrv] mlxsw: Set port split ability attribute in driver (Petr Oros) [1874073] - [net] devlink: Add a new devlink port lanes attribute and pass to netlink (Petr Oros) [1874073] - [netdrv] mlxsw: Set number of port lanes attribute in driver (Petr Oros) [1874073] - [net] devlink: Replace devlink_port_attrs_set parameters with a struct (Petr Oros) [1874073] - [net] devlink: Move switch_port attribute of devlink_port_attrs to devlink_port (Petr Oros) [1874073] - [net] devlink: Move set attribute of devlink_port_attrs to devlink_port (Petr Oros) [1874073] - [netdrv] mlx5e: Use helper API to get devlink port index for all port flavours (Petr Oros) [1874073] - [net] devlink: Add support for board.serial_number to info_get cb. (Petr Oros) [1879194] - [net] devlink: Support setting hardware address of port function (Petr Oros) [1879195] - [net] devlink: Support querying hardware address of port function (Petr Oros) [1879195] - [net] devlink: Prepare devlink port functions to fill extack (Petr Oros) [1879195] - [net] sctp: not disable bh in the whole sctp_get_port_local() (Xin Long) [1704525] - [net] sctp: replace some sock_net(sk) with just 'net' (Xin Long) [1704525] - [x86] x86/resctrl: Fix a NULL vs IS_ERR() static checker warning in rdt_cdp_peer_get() (Terry Bowman) [1873124]- [net] sched: initialize with 0 before setting erspan md->u (Xin Long) [1879358] - [net] ipv6: Discard next-hop MTU less than minimum link MTU (Balazs Nemeth) [1879893] - [kvm] Revert "x86/kvm: Move context tracking where it belongs" (Nitesh Narayan Lal) [1890284] - [video] hyperv_fb: Update screen_info after removing old framebuffer (Kairui Song) [1870081] - [x86] x86/kexec: Use up-to-dated screen_info copy to fill boot params (Kairui Song) [1870081] - [netdrv] netdevsim: Register control traps (Petr Oros) [1888724] - [net] devlink: Add ACL control packet traps (Petr Oros) [1888724] - [net] devlink: Add layer 3 control packet traps (Petr Oros) [1888724] - [net] devlink: Add layer 2 control packet traps (Petr Oros) [1888724] - [net] devlink: Add 'control' trap type (Petr Oros) [1888724] - [net] devlink: Add 'mirror' trap action (Petr Oros) [1888724] - [netdrv] netdevsim: Move layer 3 exceptions to exceptions trap group (Petr Oros) [1888724] - [net] devlink: Create dedicated trap group for layer 3 exceptions (Petr Oros) [1888724] - [net] xfrmi: drop ignore_df check before updating pmtu (Balazs Nemeth) [1857679] - [kernel] sched/features: Fix !CONFIG_JUMP_LABEL case (Daniel Bristot de Oliveira) [1885850] - [net] flow_offload: simplify hw stats check handling (Ivan Vecera) [1888317] - [scsi] scsi: core: Only re-run queue in scsi_end_request() if device queue is busy (Ewan Milne) [1885733] - [scsi] scsi: core: Clean up scsi_noretry_cmd() (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Make sdebug_build_parts() respect virtual_gb (Ewan Milne) [1885733] - [scsi] scsi: fc: Add 256GBit speed setting to SCSI FC transport (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement lun_format (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Remove superfluous close zone in resp_open_zone() (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_sas: Add spaces around binary operator "|" (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_srp: Sanitize scsi_target_block/unblock sequences (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement tur_ms_to_ready parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Fix request sense (Ewan Milne) [1885733] - [scsi] scsi: core: Delete unnecessary buffer allocation for every loop iteration (Ewan Milne) [1885733] - [scsi] scsi: core: Add missing scsi_device_put() in scsi_host_block() (Ewan Milne) [1885733] - [scsi] scsi: core: Only return started requests from scsi_host_find_tag() (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_iscsi: Drop a duplicated word (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_sas: Add missing newline in sysfs 'enable' attribute (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_fc: Match HBA Attribute Length with HBAAPI V2.0 definitions (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Update documentation url and bump version (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: every_nth triggered error injection (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Support hostwide tags (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add check for sdebug_max_queue during module init (Ewan Milne) [1885733] - [scsi] scsi: sd_zbc: Fix kdoc comment format (Ewan Milne) [1885733] - [scsi] scsi: sd: Fix kdoc comment format (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Fix in_use bitmap corruption (Ewan Milne) [1885733] - [scsi] scsi: core: Register sysfs for SCSI workqueue (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_spi: Fix function pointer check (Ewan Milne) [1885733] - [scsi] scsi: core: Fix formatting errors in scsi_lib.c (Ewan Milne) [1885733] - [scsi] scsi: core: Remove scsi_sdb_cache (Ewan Milne) [1885733] - [scsi] scsi: sr: Fix sr_probe() missing deallocate of device minor (Ewan Milne) [1885733] - [scsi] scsi: sr: Fix sr_probe() missing mutex_destroy (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Parser tables and code interaction (Ewan Milne) [1885733] - [scsi] scsi: core: Refactor scsi_mq_setup_tags function (Ewan Milne) [1885733] - [scsi] scsi: core: Fix incorrect usage of shost_for_each_device (Ewan Milne) [1885733] - [scsi] scsi: sd: Add zoned capabilities device attribute (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Fix an error handling bug in sdeb_zbc_model_str() (Ewan Milne) [1885733] - [scsi] scsi: pm: Balance pm_only counter of request queue during system resume (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Disallow zone sizes that are not powers of 2 (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement ZBC host-aware emulation (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add zone_size_mb module parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add zone_nr_conv module parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add zone_max_open module parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add ZBC module parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add ZBC zone commands (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add ZBC mode and VPD pages (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Bump to version 1.89 (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Re-arrange parameters alphabetically (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement PRE-FETCH commands (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Weaken rwlock around ramdisk access (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement VERIFY(10), add VERIFY(16) (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add per_host_store option (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Use scsi_et_resid() where appropriate (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Randomize command completion time (Ewan Milne) [1885733] - [scsi] scsi: core: doc: Change function comments to kernel-doc style (Ewan Milne) [1885733] - [scsi] scsi: sr: Use {get, put}_unaligned_be*() instead of open-coding these functions (Ewan Milne) [1885733] - [scsi] scsi_ioctl.c: switch SCSI_IOCTL_GET_IDLUN to copy_to_user() (Ewan Milne) [1885733] - [scsi] scsi: core: Avoid calling synchronize_rcu() for each device in scsi_host_block() (Ewan Milne) [1885733] - [scsi] scsi: st: remove unneeded variable 'result' in st_release() (Ewan Milne) [1885733] - [scsi] scsi: sr: Fix sr_block_release() (Ewan Milne) [1885733] - [scsi] scsi: scsi_trace: Use get_unaligned_be24() (Ewan Milne) [1885733] - [scsi] scsi: st: Use get_unaligned_be24() and sign_extend32() (Ewan Milne) [1885733] - [scsi] scsi: core: add scsi_host_busy_iter() (Ewan Milne) [1885733] - [scsi] scsi: core: add scsi_host_(block, unblock) helper function (Ewan Milne) [1885733] - [scsi] scsi: core: add scsi_host_complete_all_commands() helper (Ewan Milne) [1885733] - [scsi] scsi: sr: get rid of sr global mutex (Ewan Milne) [1885733] - [powerpc] scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled (Ewan Milne) [1885733] - [scsi] scsi: core: remove .for_blk_mq (Ewan Milne) [1885733] - [scsi] scsi: sd_zbc: Rename sd_zbc_check_zones() (Ewan Milne) [1885733] - [scsi] scsi: sd_zbc: Simplify sd_zbc_check_zones() (Ewan Milne) [1885733] - [ata] scsi: core: Clean up SG_NONE (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport.h: switch to SPDX tags (Ewan Milne) [1885733] - [scsi] scsi: libsas: Inject revalidate event for root port event (Ewan Milne) [1885733] - [scsi] scsi: libsas: Stop hardcoding SAS address length (Ewan Milne) [1885733] - [scsi] scsi: clean obsolete return values of eh_timed_out (Ewan Milne) [1885733] - [scsi] scsi: libsas: Fix some indentation in libsas.h (Ewan Milne) [1885733] - [scsi] scsi: st: mark expected switch fall-throughs (Ewan Milne) [1885733] - [scsi] scsi: libsas: delete dead code in scsi_transport_sas.c (Ewan Milne) [1885733] - [nvme] nvme-rdma: params to enable pi_capable devices (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Fix return value in __lpfc_nvme_ls_abort (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: fix axchg pointer reference after free and double frees (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Fix pointer checks and comments in (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] scsi: lpfc: Fix lpfc_nodelist leak when processing unsolicited event (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] scsi: lpfc: Remove redundant initialization to variable rc (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor Send LS Response support (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor Send LS Abort support (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: nvme: Add Receive LS Request and Send LS Response support to nvme (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor Send LS Request support (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: nvmet: Add Send LS Request and Abort LS Request support (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: nvmet: Add support for NVME LS request hosthandle (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor NVME LS receive handling (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Commonize lpfc_async_xchg_ctx state and flag definitions (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor nvmet_rcv_ctx to create lpfc_async_xchg_ctx (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor lpfc nvme headers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fabrics: allow to queue requests for live queues (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: cancel async events before freeing event struct (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: cancel async events before freeing event struct (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: cancel async events before freeing event struct (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Revert: Fix controller creation races with teardown flow (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: only use power of two io boundaries (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: fix reset hang if controller died in the middle of a reset (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Fix NULL dereference for pci nvme controllers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: cancel nvme device request before disabling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: Fix a missed _irqsave version of spin_lock in 'nvmet_fc_fod_op_done()' (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: serialize controller teardown sequences (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: fix reset hang if controller died in the middle of a reset (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: fix timeout handler (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix controller instance leak (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: fix timeout handler (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fabrics: don't check state NVME_CTRL_NEW for request acceptance (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: serialize controller teardown sequences (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: Fix NULL dereference when a connect data comes in h2cdata pdu (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: have nvme_wait_freeze_timeout return if it timed out (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: Disable keep-alive timer when kato is cleared to 0h (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: Fix wrong return value in __nvme_fc_init_request() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Use spin_lock_irq() when taking the ctrl->lock (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: skip noiob for zoned devices (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: call blk_mq_free_request() directly (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: fix oops in pt cmd execution (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Use u32 for nvme_dev.q_depth and nvme_queue.q_depth (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add ns tear down label for pt-cmd handling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: fix a memory leak (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-passthru: Reject commands with non-sgl flags set (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-loop: remove extra variable in create ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-loop: set ctrl state connecting after init (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce nvme_ctrl_get_by_path() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: introduce the passthru Kconfig option (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: introduce the passthru configfs interface (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: Add passthru enable/disable helpers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add passthru code to process commands (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: export nvme_find_get_ns() and nvme_put_ns() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce nvme_execute_passthru_rq to call nvme_passthru_() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: remove redundant del_work_active flag (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: create helper function to obtain command effects (Gopal Tiwari) [1857052 1853231] - [nvme] nvme-hwmon: log the controller device name (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: check successful reference in nvmet_fc_find_target_assoc (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: clear any SGL flags in passthru commands (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix deadlock in disconnect during scan_work and/or ana_work (Gopal Tiwari) [1857052 1857051 1853231] - [acpi] nvme-pci: add support for ACPI StorageD3Enable property (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: use new shared CQ mechanism (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use xarray for ctrl ns storing (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: document nvme controller states (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: use new shared CQ mechanism (Gopal Tiwari) [1857052 1857051 1853231] - [infiniband] RDMA/core: Add protection for shared CQs used by ULPs (Gopal Tiwari) [1857052 1853231] - [infiniband] RDMA/core: Introduce shared CQ pool API (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove an unnecessary condition (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove redundant validation in nvme_start_ctrl() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: prevent SK hynix PC400 from using Write Zeroes command (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: fix possible hang waiting for icresp response (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: explicitly update mpath disk capacity on revalidation (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove ns->disk checks (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: fix some comments issues (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: remove redundant segment validation (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: use the consistent return type of nvme_pci_iod_alloc_size() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: add a blank line after declarations (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: support for multiple Command Sets Supported and Effects log pages (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: document quirked Intel models (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: expose reconnect_delay and ctrl_loss_tmo via sysfs (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: use USEC_PER_SEC instead of magic numbers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: implement multiple I/O Command Set support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: simplify nvmet_process_resp_list (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: leverage request plugging (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: have queue prod/cons send list become a llist (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: optimize network stack with setting msg flags according to batch size (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fcloop: verify wwnn and wwpn format (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use unsigned type for u64 (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: introduce flags member in nvmet_fabrics_ops (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: remove has_keyed_sgls initialization (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-loop: remove unused 'target_ctrl' in nvme_loop_ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: remove the empty line at the beginning of nvme_should_reset() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: code cleanup for nvme_alloc_host_mem() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: use unsigned for io queue depth (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-core: use u16 type for ctrl->sqsize (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-core: use u16 type for directives (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix a crash in nvme_mpath_add_disk (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: fix a missing completion with remove invalidation (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: factor out a nvme_rdma_end_request helper (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: fix deadlock due to head->lock (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: don't protect ns mutation with ns->head->lock (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: fix bogus request queue reference put (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: fix deadlock between ana_work and scan_work (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix possible deadlock when I/O is blocked (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: assign completion vector correctly (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: initialize tagset numa value to the value of the ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: override the value of the controller's numa node (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: initialize tagset numa value to the value of the ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: set initial value for controller's numa node (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-loop: initialize tagset numa value to the value of the ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: use simple suspend when a HMB is enabled (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: constify nvmet_tcp_ops (Gopal Tiwari) [1857052 1857051 1853231] - [net] net: add sock_set_keepalive (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: constify nvme_tcp_mq_ops and nvme_tcp_admin_mq_ops (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: do not call del_gendisk() on a disk that was never added (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] ipv4: add ip_sock_set_tos (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] tcp: add tcp_sock_set_syncnt (Gopal Tiwari) [1857052 1857051 1853231] - [net] tcp: add tcp_sock_set_nodelay (Gopal Tiwari) [1857052 1857051 1853231] - [net] net: add sock_no_linger (Gopal Tiwari) [1857052 1857051 1853231] - [target] net: add sock_set_reuseaddr (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] net: add sock_set_priority (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: avoid race between nvme_reap_pending_cqes() and nvme_poll() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add metadata/T10-PI support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: add metadata/T10-PI support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add metadata support for block devices (Gopal Tiwari) [1857052 1857051 1853231] - [include] nvme: add Metadata Capabilities enumerations (Gopal Tiwari) [1857052 1853231] - [nvme] nvme: set dma alignment to qword (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add metadata characteristics for a namespace (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce NVME_INLINE_METADATA_SG_CNT (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce max_integrity_segments ctrl attribute (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: add metadata/T10-PI support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: enforce extended LBA format for fabrics metadata (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: introduce nvme_rdma_sgl structure (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: rename nvmet_check_data_len to nvmet_check_transfer_len (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: rename nvmet_rw_len to nvmet_rw_data_len (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: generate AEN for ns revalidate size change (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce NVME_NS_METADATA_SUPPORTED flag (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce namespace features flag (Gopal Tiwari) [1857052 1857051 1853231] - [lightnvm] lightnvm: disable interleaved metadata (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: make nvme_ns_has_pi accessible to transports (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add helper to revalidate bdev and file ns (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: revalidate-ns & generate AEN from configfs (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: set MSG_EOR if we send last payload in the batch (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: replace zero-length array with flexible-array (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: delete an unnecessary declaration (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: make sure write/poll_queues less or equal then cpu count (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: disable streams when get stream params failed (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix io_opt limit setting (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: set MSG_SENDPAGE_NOTLAST with MSG_MORE when we have more to send (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: move send/recv error handling in the send/recv methods instead of call-sites (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: mark nvmet_ana_state static (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: set MSG_SENDPAGE_NOTLAST with MSG_MORE when we have more to send (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: replace kstrndup() with kmemdup_nul() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: dma read memory barrier for completions (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: try to send request in queue_rq context (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: align addrfam list to spec (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: flush scan work on passthrough commands (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: define constants for identification values (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use type-name map for address treq (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use type-name map for ana states (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use type-name map for address family (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: stop using ->queuedata (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: remove volatile cqes (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: avoid scheduling io_work if we are already polling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: clean up error handling in nvme_init_ns_head (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: remove last_sq_tail (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add generic type-name mapping (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: centralize port enable access for configfs (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: avoid gcc-10 zero-length-bounds warning (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: use bh_lock in data_ready (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add ns revalidation support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: slight cleanup for kbuild test warnings (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: unlink head after removing last namespace (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: set bdi capabilities once (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: revalidate after verifying identifiers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: use SRQ per completion vector (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: add an error flow for post_recv failures (Gopal Tiwari) [1857052 1853231] - [nvme] nvme: remove the magic 1024 constant in nvme_scan_ns_list (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: release namespace head reference on error (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: avoid an Identify Controller command for each namespace scan (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: factor out a nvme_ns_remove_by_nsid helper (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: consolidate chunk_sectors settings (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: consolodate io settings (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: revalidate namespace stream parameters (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: clean up nvme_scan_work (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: refine the Qemu Identify CNS quirk (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: check namespace head shared property (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: always search for namespace head (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove unused parameter (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: add LS failure messages (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: provide num dword helper (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: Add Disconnect Association Xmt support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: track hostport handle for associations (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fcloop: add target to host LS request support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fcloop: refactor to enable target to host LS (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: rename ls_list to ls_rcv_list (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: perform small cleanups on unneeded checks (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: Update header and host for common definitions for LS handling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: Update target for common definitions for LS handling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: Better size LS buffers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc nvmet-fc: refactor for common LS definitions (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: Add Disconnect Association Rcv support (Gopal Tiwari) [1857052 1857051 1853231] - [include] nvme-fc: Sync header to FC-NVME-2 rev 1.08 (Gopal Tiwari) [1857052 1853231] - [nvme] nvme-fc and nvmet-fc: revise LLDD api for LS reception and LS request (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: fix "slimmer CQ head update" (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: prevent double free in nvme_alloc_ns() error handling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: fix double free of rdma queue (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: fix bonding failover possible NULL deref (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: fix NULL dereference when removing a referral (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: inherit stable pages constraint in the mpath stack device (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: fix typo in comment (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: Replace comma with a semicolon (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fcloop: fix deallocation of working context (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix compat address handling in several ioctls (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Fix controller creation races with teardown flow (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: Add warning on state change failure at nvme_rdma_setup_ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: cleanup namespace identifier reporting in nvme_init_ns_head (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: rename __nvme_find_ns_head to nvme_find_ns_head (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: release ida resources (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: Implement get_mdts controller op (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Use nvme_state_terminal helper (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: allocate RW ctxs according to mdts (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Add compat_ioctl handler for NVME_IOCTL_SUBMIT_IO (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fabrics: Use scnprintf() for avoiding potential buffer overflow (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Remove unused return code from nvme_delete_ctrl_sync (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Re-order nvme_pci_free_ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: properly print controller address (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: Add get_mdts op for controllers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Simplify nvme_poll_irqdisable (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: slimmer CQ head update (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Remove two-pass completions (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Remove tag from process cq (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: check ncqr & nsqr for set-features cmd (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Check for readiness more quickly, to speed up boot time (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: code cleanup nvme_identify_ns_desc() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Don't deter users from enabling hwmon support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: expose hostid via sysfs for fabrics controllers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: expose hostnqn via sysfs for fabrics controllers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] scsi: treewide: Consolidate {get, put}_unaligned_e24() definitions (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: check sscanf value for subsys serial attr (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove unused return code from nvme_alloc_ns (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: configfs code cleanup (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: make ctrl model configurable (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: make ctrl-id configurable (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Fix uninitialized-variable warning (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Use single IRQ vector for old Apple models (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme/pci: Add sleep quirk for Samsung and Toshiba drives (Gopal Tiwari) [1857052 1857051 1853231] - [md] dm: fix request-based DM to not bounce through indirect dm_make_request (Mike Snitzer) [1885650] - [md] dm: add support for REQ_NOWAIT and enable it for linear target (Mike Snitzer) [1885650] - [block] block: add QUEUE_FLAG_NOWAIT (Mike Snitzer) [1885650] - [md] dm: export dm_copy_name_and_uuid (Mike Snitzer) [1885650] - [md] dm snap persistent: simplify area_io() (Mike Snitzer) [1885650] - [md] dm thin metadata: Remove unused local variable when create thin and snap (Mike Snitzer) [1885650] - [md] dm raid: fix discard limits for raid0, raid1 and raid10 (Mike Snitzer) [1885650] - [md] dm: use dm_table_get_device_name() where appropriate in targets (Mike Snitzer) [1885650] - [md] dm table: make 'struct dm_table' definition accessible to all of DM core (Mike Snitzer) [1885650] - [md] dm: eliminate need for start_io_acct() forward declaration (Mike Snitzer) [1885650] - [md] dm: simplify __process_abnormal_io() (Mike Snitzer) [1885650] - [md] dm: push use of on-stack flush_bio down to __send_empty_flush() (Mike Snitzer) [1885650] - [md] dm thin metadata: Fix use-after-free in dm_bm_set_read_only (Mike Snitzer) [1885650] - [md] dm thin metadata: Avoid returning cmd->bm wild pointer on error (Mike Snitzer) [1885650] - [md] dm cache metadata: Avoid returning cmd->bm wild pointer on error (Mike Snitzer) [1885650] - [md] dm integrity: fix error reporting in bitmap mode after creation (Mike Snitzer) [1885650] - [md] dm crypt: Initialize crypto wait structures (Mike Snitzer) [1885650] - [md] dm mpath: fix racey management of PG initialization (Mike Snitzer) [1885650] - [md] dm writecache: handle DAX to partitions on persistent memory correctly (Mike Snitzer) [1885650] - [md] dm ioctl: Fix compilation warning (Mike Snitzer) [1885650] - [md] dm raid: Remove empty if statement (Mike Snitzer) [1885650] - [md] dm verity: Fix compilation warning (Mike Snitzer) [1885650] - [md] dm bufio: do buffer cleanup from a workqueue (Mike Snitzer) [1885650] - [md] dm verity: add "panic_on_corruption" error handling mode (Mike Snitzer) [1885650] - [md] dm: use noio when sending kobject event (Mike Snitzer) [1885650] - [md] dm writecache: add cond_resched to loop in persistent_memory_claim() (Mike Snitzer) [1885650] - [md] dm ioctl: use struct_size() helper in retrieve_deps() (Mike Snitzer) [1885650] - [md] dm writecache: skip writecache_wait when using pmem mode (Mike Snitzer) [1885650] - [md] dm writecache: correct uncommitted_block when discarding uncommitted entry (Mike Snitzer) [1885650] - [md] dm crypt: avoid truncating the logical block size (Mike Snitzer) [1885650] - [md] dm bufio: clean up rbtree block ordering (Mike Snitzer) [1885650] - [documentation] dm integrity: add status line documentation (Mike Snitzer) [1885650] - [md] dm: replace zero-length array with flexible-array (Mike Snitzer) [1885650] - [md] dm mpath: add Historical Service Time Path Selector (Mike Snitzer) [1885650] - [md] dm mpath: pass IO start time to path selector (Mike Snitzer) [1885650] - [md] dm writecache: improve performance on DDR persistent memory (Optane) (Mike Snitzer) [1885650] - [md] dm writecache: remove superfluous test in persistent_memory_claim (Mike Snitzer) [1885650] - [md] dm persistent data: switch exit_ro_spine to return void (Mike Snitzer) [1885650] - [md] dm integrity: remove set but not used variables (Mike Snitzer) [1885650] - [documentation] dm crypt: document encrypted keyring key option (Mike Snitzer) [1885650] - [md] dm crypt: support using encrypted keys (Mike Snitzer) [1885650] - [md] dm verity fec: fix hash block number in verity_fec_decode (Mike Snitzer) [1885650] - [documentation] dm integrity: document allow_discard option (Mike Snitzer) [1885650] - [net] bridge: always clear mcast matching struct on reports and leaves (Ivan Vecera) [1859244] - [net] bridge: increase multicast's default maximum number of entries (Ivan Vecera) [1859244] - [net] bridge: mark hash_elasticity as obsolete (Ivan Vecera) [1859244] - [net] bridge: multicast: use non-bh rcu flavor (Ivan Vecera) [1859244] - [net] bridge: convert multicast to generic rhashtable (Ivan Vecera) [1859244] - [net] revert "net/bridge: Replace call_rcu_bh() and rcu_barrier_bh()" (Ivan Vecera) [1859244] - [net] ip6gre: avoid tx_error when sending MLD/DAD on external tunnels (Davide Caratti) [1847838] - [nvme] nvme-rdma: fix controller reset hang during traffic (Ming Lei) [1881760] - [nvme] nvme-tcp: fix controller reset hang during traffic (Ming Lei) [1881760] - [scsi] scsi: sd: sd_zbc: Fix ZBC disk initialization (Ming Lei) [1881760] - [md] dm: update original bio sector on Zone Append (Ming Lei) [1881760] - [s390] s390/dasd: Fix zero write for FBA devices (Ming Lei) [1881760] - [block] block: restore a specific error code in bdev_del_partition (Ming Lei) [1881760] - [block] blk-stat: make q->stats->lock irqsafe (Ming Lei) [1881760] - [block] blk-iocost: ioc_pd_free() shouldn't assume irq disabled (Ming Lei) [1881760] - [block] block: fix locking in bdev_del_partition (Ming Lei) [1881760] - [block] block: release disk reference in hd_struct_free_work (Ming Lei) [1881760] - [block] loop: Set correct device size when using LOOP_CONFIGURE (Ming Lei) [1881760] - [block] loop: unset GENHD_FL_NO_PART_SCAN on LOOP_CONFIGURE (Ming Lei) [1881760] - [block] block: check queue's limits.discard_granularity in __blkdev_issue_discard() (Ming Lei) [1881760] - [block] block: don't do revalidate zones on invalid devices (Ming Lei) [1881760] - [s390] s390/dasd: fix inability to use DASD with DIAG driver (Ming Lei) [1881760] - [tools] iocost_monitor: start from the oldest usage index (Ming Lei) [1881760] - [block] iocost: Fix check condition of iocg abs_vdebt (Ming Lei) [1881760] - [block] block: Use non _rcu version of list functions for tag_set_list (Ming Lei) [1881760] - [block] blk-cgroup: show global disk stats in root cgroup io.stat (Ming Lei) [1881760] - [block] blk-cgroup: make iostat functions visible to stat printing (Ming Lei) [1881760] - [block] block: improve discard bio alignment in __blkdev_issue_discard() (Ming Lei) [1881760] - [block] block: defer flush request no matter whether we have elevator (Ming Lei) [1881760] - [block] block: make blk_timeout_init() static (Ming Lei) [1881760] - [block] Revert "blk-rq-qos: remove redundant finish_wait to rq_qos_wait." (Ming Lei) [1881760] - [block] block: relax jiffies rounding for timeouts (Ming Lei) [1881760] - [lib] sbitmap: Consider cleared bits in sbitmap_bitmap_show() (Ming Lei) [1881760] - [block] blk-cgroup: clean up indentation (Ming Lei) [1881760] - [block] blk-cgroup: remove a dead check in blk_throtl_bio (Ming Lei) [1881760] - [block] blk-cgroup: remove blkcg_bio_issue_check (Ming Lei) [1881760] - [block] blk-cgroup: move rcu locking from blkcg_bio_issue_check to blk_throtl_bio (Ming Lei) [1881760] - [kernel] cgroup: unexport cgroup_rstat_updated (Ming Lei) [1881760] - [block] blk-cgroup: remove the !bio->bi_blkg check in blkcg_bio_issue_check (Ming Lei) [1881760] - [block] block: move the initial blkg lookup into blkg_tryget_closest (Ming Lei) [1881760] - [block] block: bypass blkg_tryget_closest for the root_blkg (Ming Lei) [1881760] - [block] block: merge blkg_lookup_create and __blkg_lookup_create (Ming Lei) [1881760] - [block] block: move the bio cgroup associatation helpers to blk-cgroup.c (Ming Lei) [1881760] - [block] block: move bio_associate_blkg_from_page to mm/page_io.c (Ming Lei) [1881760] - [block] block: merge __bio_associate_blkg into bio_associate_blkg_from_css (Ming Lei) [1881760] - [block] block: really clone the block cgroup in bio_clone_blkg_association (Ming Lei) [1881760] - [block] blkcg: clean up blkg_tryget_closest() (Ming Lei) [1881760] - [block] block: remove bio_disassociate_blkg (Ming Lei) [1881760] - [md] dm: use bio_uninit instead of bio_disassociate_blkg (Ming Lei) [1881760] - [block] blk-rq-qos: remove redundant finish_wait to rq_qos_wait (Ming Lei) [1881760] - [block] blktrace: Provide event for request merging (Ming Lei) [1881760] - [fs] block: simplify sb_is_blkdev_sb (Ming Lei) [1881760] - [fs] block: mark bd_finish_claiming static (Ming Lei) [1881760] - [tty] tty/sysrq: emergency_thaw_all does not depend on CONFIG_BLOCK (Ming Lei) [1881760] - [block] blk-iocost: Use struct_size() in kzalloc_node() (Ming Lei) [1881760] - [block] block: bio: Use struct_size() in kmalloc() (Ming Lei) [1881760] - [block] block: create the request_queue debugfs_dir on registration (Ming Lei) [1881760] - [block] blk-mq: add a new blk_mq_complete_request_remote API (Ming Lei) [1881760] - [block] blk-mq: factor out a blk_mq_complete_need_ipi helper (Ming Lei) [1881760] - [block] blk-mq: remove the get_cpu/put_cpu pair in blk_mq_complete_request (Ming Lei) [1881760] - [block] blk-mq: move failure injection out of blk_mq_complete_request (Ming Lei) [1881760] - [block] blk-mq: merge the softirq vs non-softirq IPI logic (Ming Lei) [1881760] - [block] blk-mq: short cut the IPI path in blk_mq_force_complete_rq for !SMP (Ming Lei) [1881760] - [block] blk-mq: complete polled requests directly (Ming Lei) [1881760] - [block] blk-mq: remove raise_blk_irq (Ming Lei) [1881760] - [block] blk-mq: factor out a helper to reise the block softirq (Ming Lei) [1881760] - [block] blk-mq: merge blk-softirq.c into blk-mq.c (Ming Lei) [1881760] - [block] nbd: Fix memory leak in nbd_add_socket (Ming Lei) [1881760] - [block] block: make function __bio_integrity_free() static (Ming Lei) [1881760] - [block] virtio-blk: free vblk-vqs in error path of virtblk_probe() (Ming Lei) [1881760] - [block] blk-mq-debugfs: update blk_queue_flag_nameaccordingly for new flags (Ming Lei) [1881760] - [block] block: release bip in a right way in error path (Ming Lei) [1881760] - [fs] block: make function 'kill_bdev' static (Ming Lei) [1881760] - [block] loop: replace kill_bdev with invalidate_bdev (Ming Lei) [1881760] - [block] partitions/ldm: Replace uuid_copy() with import_uuid() where it makes sense (Ming Lei) [1881760] - [block] block: update hctx map when use multiple maps (Ming Lei) [1881760] - [trace] trace/events/block.h: drop kernel-doc for dropped function parameter (Ming Lei) [1881760] - [block] blk-mq: Remove redundant 'return' statement (Ming Lei) [1881760] - [block] umem: remove redundant initialization of variable ret (Ming Lei) [1881760] - [block] pktcdvd: remove redundant initialization of variable ret (Ming Lei) [1881760] - [kernel] blktrace: fix endianness for blk_log_remap() (Ming Lei) [1881760] - [kernel] blktrace: fix endianness in get_pdu_int() (Ming Lei) [1881760] - [kernel] blktrace: use errno instead of bi_status (Ming Lei) [1881760] - [block] block: nr_sects_write(): Disable preemption on seqcount write (Ming Lei) [1881760] - [nvme] block: remove the error argument to the block_bio_complete tracepoint (Ming Lei) [1881760] - [block] loop: Fix wrong masking of status flags (Ming Lei) [1881760] - [block] block/bio-integrity: don't free 'buf' if bio_integrity_add_page() failed (Ming Lei) [1881760] - [block] block: always define struct blk_integrity in genhd.h (Ming Lei) [1881760] - [s390] dasd: refactor dasd_ioctl_information (Ming Lei) [1881760] - [block] loop: Add LOOP_CONFIGURE ioctl (Ming Lei) [1881760] - [block] loop: Clean up LOOP_SET_STATUS lo_flags handling (Ming Lei) [1881760] - [block] loop: Rework lo_ioctl() __user argument casting (Ming Lei) [1881760] - [block] loop: Move loop_set_status_from_info() and friends up (Ming Lei) [1881760] - [block] loop: Factor out configuring loop from status (Ming Lei) [1881760] - [block] loop: Remove figure_loop_size() (Ming Lei) [1881760] - [block] loop: Refactor loop_set_status() size calculation (Ming Lei) [1881760] - [block] loop: Switch to set_capacity_revalidate_and_notify() (Ming Lei) [1881760] - [block] loop: Factor out setting loop device size (Ming Lei) [1881760] - [block] loop: Remove sector_t truncation checks (Ming Lei) [1881760] - [block] loop: Call loop_config_discard() only after new config is applied (Ming Lei) [1881760] - [block] block/swim3: use set_current_state macro (Ming Lei) [1881760] - [block] block: mark bio_wouldblock_error() bio with BIO_QUIET (Ming Lei) [1881760] - [block] blk-wbt: rename __wbt_update_limits to wbt_update_limits (Ming Lei) [1881760] - [block] blk-wbt: remove wbt_update_limits (Ming Lei) [1881760] - [block] blk-throttle: remove tg_drain_bios (Ming Lei) [1881760] - [block] blk-throttle: remove blk_throtl_drain (Ming Lei) [1881760] - [block] null_blk: force complete for timeout request (Ming Lei) [1881760] - [block] block: fix a warning when blkdev.h is included for !CONFIG_BLOCK builds (Ming Lei) [1881760] - [block] block: reduce part_stat_lock() scope (Ming Lei) [1881760] - [block] block: use __this_cpu_add() instead of access by smp_processor_id() (Ming Lei) [1881760] - [block] block: remove rcu_read_lock() from part_stat_lock() (Ming Lei) [1881760] - [block] block: add a blk_account_io_merge_bio helper (Ming Lei) [1881760] - [block] block: account merge of two requests (Ming Lei) [1881760] - [block] zram: nvdimm: use bio_{start, end}_io_acct and disk_{start, end}_io_acct (Ming Lei) [1881760] - [nvdimm] nvdimm: use bio_{start,end}_io_acct (Ming Lei) [1881760] - [md] dm: use bio_{start,end}_io_acct (Ming Lei) [1881760] - [block] rsxx: use bio_{start,end}_io_acct (Ming Lei) [1881760] - [block] drbd: use bio_{start,end}_io_acct (Ming Lei) [1881760] - [block] block: add disk/bio-based accounting helpers (Ming Lei) [1881760] - [block] block: remove the disk and queue NULL checks in blkdev_issue_flush (Ming Lei) [1881760] - [fs] block: remove the error_sector argument to blkdev_issue_flush (Ming Lei) [1881760] - [block] block: Remove unused flush_queue_delayed in struct blk_flush_queue (Ming Lei) [1881760] - [block] null_blk: Zero-initialize read buffers in non-memory-backed mode (Ming Lei) [1881760] - [include] block: Document the bio_vec properties (Ming Lei) [1881760] - [block] bio.h: Declare the arguments of the bio iteration functions const (Ming Lei) [1881760] - [block] block: Fix type of first compat_put_{, u}long() argument (Ming Lei) [1881760] - [block] block: merge part_{inc, dev}_in_flight into their only callers (Ming Lei) [1881760] - [block] block: don't call part_{inc, dec}_in_flight for blk-mq devices (Ming Lei) [1881760] - [block] block: move the blk-mq calls out of part_in_flight{, _rw} (Ming Lei) [1881760] - [block] block: mark blk_account_io_completion static (Ming Lei) [1881760] - [block] blk-mq: allow blk_mq_make_request to consume the q_usage_counter reference (Ming Lei) [1881760] - [kernel] blktrace: Report pid with note messages (Ming Lei) [1881760] - [block] iocost: don't let vrate run wild while there's no saturation signal (Ming Lei) [1881760] - [block] block: move blk_io_schedule() out of header file (Ming Lei) [1881760] - [block] block: export bio_release_pages and bio_iov_iter_get_pages (Ming Lei) [1881760] - [block] null_blk: Support REQ_OP_ZONE_APPEND (Ming Lei) [1881760] - [scsi] scsi: sd_zbc: emulate ZONE_APPEND commands (Ming Lei) [1881760] - [scsi] scsi: sd_zbc: factor out sanity checks for zoned commands (Ming Lei) [1881760] - [block] block: Modify revalidate zones (Ming Lei) [1881760] - [block] block: introduce blk_req_zone_write_trylock (Ming Lei) [1881760] - [block] block: Introduce REQ_OP_ZONE_APPEND (Ming Lei) [1881760] - [block] block: rename __bio_add_pc_page to bio_add_hw_page (Ming Lei) [1881760] - [block] block: provide fallbacks for blk_queue_zone_is_seq and blk_queue_zone_no (Ming Lei) [1881760] - [fs] block: add blk_io_schedule() for avoiding task hung in sync dio (Ming Lei) [1881760] - [block] block: don't hold part0's refcount in IO path (Ming Lei) [1881760] - [block] block: only define 'nr_sects_seq' in hd_part for 32bit SMP (Ming Lei) [1881760] - [block] bdi: fix up for "remove the name field in struct backing_dev_info" (Ming Lei) [1881760] - [fs] hfs: stop using ioctl_by_bdev (Ming Lei) [1881760] - [fs] bdi: remove the name field in struct backing_dev_info (Ming Lei) [1881760] - [mtd] bdi: simplify bdi_alloc (Ming Lei) [1881760] - [block] bdi: remove bdi_register_owner (Ming Lei) [1881760] - [mm] bdi: unexport bdi_register_va (Ming Lei) [1881760] - [base] driver core: remove device_create_vargs (Ming Lei) [1881760] - [block] block: rename blk_mq_alloc_rq_maps (Ming Lei) [1881760] - [block] block: rename __blk_mq_alloc_rq_map (Ming Lei) [1881760] - [fs] udf: stop using ioctl_by_bdev (Ming Lei) [1881760] - [fs] isofs: stop using ioctl_by_bdev (Ming Lei) [1881760] - [fs] hfsplus: stop using ioctl_by_bdev (Ming Lei) [1881760] - [cdrom] cdrom: factor out a cdrom_multisession helper (Ming Lei) [1881760] - [cdrom] cdrom: factor out a cdrom_read_tocentry helper (Ming Lei) [1881760] - [ide] ide-cd: rename cdrom_read_tocentry (Ming Lei) [1881760] - [cdrom] block: add a cdrom_device_info pointer to struct gendisk (Ming Lei) [1881760] - [block] block: add a bio_queue_enter helper (Ming Lei) [1881760] - [block] block: replace BIO_QUEUE_ENTERED with BIO_CGROUP_ACCT (Ming Lei) [1881760] - [block] block: improve the submit_bio and generic_make_request documentation (Ming Lei) [1881760] - [block] blk-mq: make function '__blk_mq_sched_dispatch_requests' static (Ming Lei) [1881760] - [block] block: bypass ->make_request_fn for blk-mq drivers (Ming Lei) [1881760] - [md] dm: remove the make_request_fn check in device_area_is_invalid (Ming Lei) [1881760] - [block] block: remove create_io_context (Ming Lei) [1881760] - [fs] block: unexport bdev_read_page and bdev_write_page (Ming Lei) [1881760] - [scsi] scsi: merge scsi_init_sgtable into scsi_init_io (Ming Lei) [1881760] - [block] block: provide a blk_rq_map_sg variant that returns the last element (Ming Lei) [1881760] - [block] block: remove RQF_COPY_USER (Ming Lei) [1881760] - [block] block: fold bdev_unhash_inode into invalidate_partition (Ming Lei) [1881760] - [block] block: simplify block device syncing in bdev_del_partition (Ming Lei) [1881760] - [block] block: don't call invalidate_partition from blk_drop_partitions (Ming Lei) [1881760] - [s390] dasd: use blk_drop_partitions instead of badly reimplementing it (Ming Lei) [1881760] - [block] block: remove the disk argument from blk_drop_partitions (Ming Lei) [1881760] - [block] block: remove hd_struct_kill (Ming Lei) [1881760] - [block] block: cleanup hd_struct freeing (Ming Lei) [1881760] - [block] block: pass a hd_struct to delete_partition (Ming Lei) [1881760] - [block] block: refactor blkpg_ioctl (Ming Lei) [1881760] - [block] null_blk: don't allow discard for zoned mode (Ming Lei) [1881760] - [block] null_blk: return error for invalid zone size (Ming Lei) [1881760] - [block] iocost: protect iocg->abs_vdebt with iocg->waitq.lock (Ming Lei) [1881760] - [block] block: remove the bd_openers checks in blk_drop_partitions (Ming Lei) [1881760] - [block] null_blk: Cleanup zoned device initialization (Ming Lei) [1881760] - [block] null_blk: Fix zoned command handling (Ming Lei) [1881760] - [fs] block: remove unused header (Ming Lei) [1881760] - [fs] bdev: Reduce time holding bd_mutex in sync in blkdev_close() (Ming Lei) [1881760] - [trace] blk-wbt: Drop needless newlines from tracepoint format strings (Ming Lei) [1881760] - [block] blk-wbt: Use tracepoint_string() for wbt_step tracepoint string literals (Ming Lei) [1881760] - [s390] s390/dasd: remove IOSCHED_DEADLINE from DASD Kconfig (Ming Lei) [1881760] - [block] block: fix busy device checking in blk_drop_partitions again (Ming Lei) [1881760] - [block] block: fix busy device checking in blk_drop_partitions (Ming Lei) [1881760] - [block] blkcg: don't offline parent blkcg first (Ming Lei) [1881760] - [block] blkcg: rename blkcg->cgwb_refcnt to ->online_pin and always use it (Ming Lei) [1881760] - [block] null_blk: add trace in null_blk_zoned.c (Ming Lei) [1881760] - [block] null_blk: add tracepoint helpers for zoned mode (Ming Lei) [1881760] - [block] block: add a zone condition debug helper (Ming Lei) [1881760] - [block] rsxx: Replace zero-length array with flexible-array member (Ming Lei) [1881760] - [block] null_blk: describe the usage of fault injection param (Ming Lei) [1881760] - [block] null_blk: fix spurious IO errors after failed past-wp access (Ming Lei) [1881760] - [block] nbd: requeue command if the soecket is changed (Ming Lei) [1881760] - [block] nbd: enable replace socket if only one connection is configured (Ming Lei) [1881760] - [block] block/drbd: delete invalid function drbd_md_mark_dirty_ (Ming Lei) [1881760] - [block] loop: Only freeze block queue when needed (Ming Lei) [1881760] - [block] loop: Only change blocksize when needed (Ming Lei) [1881760] - [block] block: move bdevname() into block/generic-partition-rh.c (Ming Lei) [1881760] - [block] block: return NULL in blk_alloc_queue() on error (Ming Lei) [1881760] - [block] block: simplify queue allocation (Ming Lei) [1881760] - [block] Revert "blkdev: check for valid request queue before issuing flush" (Ming Lei) [1881760] - [block] null_blk: use blk_mq_init_queue_data (Ming Lei) [1881760] - [block] block: add a blk_mq_init_queue_data helper (Ming Lei) [1881760] - [block] block: move the ->devnode callback to struct block_device_operations (Ming Lei) [1881760] - [block] block: move block layer internals out of include/linux/genhd.h (Ming Lei) [1881760] - [fs] block: move guard_bio_eod to bio.c (Ming Lei) [1881760] - [block] block: unexport disk_map_sector_rcu (Ming Lei) [1881760] - [block] block: unexport disk_get_part (Ming Lei) [1881760] - [block] block: mark part_in_flight and part_in_flight_rw static (Ming Lei) [1881760] - [block] block: mark block_depr static (Ming Lei) [1881760] - [block] block: factor out requeue handling from dispatch code (Ming Lei) [1881760] - [block] block/diskstats: replace time_in_queue with sum of request times (Ming Lei) [1881760] - [block] block/diskstats: accumulate all per-cpu counters in one pass (Ming Lei) [1881760] - [block] block: merge partition-generic.c and check.c (Ming Lei) [1881760] - [block] block: move the various x86 Unix label formats out of genhd.h (Ming Lei) [1881760] - [block] partitions/msdos: remove LINUX_SWAP_PARTITION (Ming Lei) [1881760] - [block] block: move the *_PARTITION enum out of genhd.h (Ming Lei) [1881760] - [scsi] block: move struct partition out of genhd.h (Ming Lei) [1881760] - [block] block: remove block/partitions/sun.h (Ming Lei) [1881760] - [block] block: remove block/partitions/sgi.h (Ming Lei) [1881760] - [block] block: remove block/partitions/osf.h (Ming Lei) [1881760] - [block] block: remove block/partitions/karma.h (Ming Lei) [1881760] - [block] block: declare all partition detection routines in check.h (Ming Lei) [1881760] - [block] block: remove warn_no_part (Ming Lei) [1881760] - [md] block: cleanup how md_autodetect_dev is called (Ming Lei) [1881760] - [block] block: unexport read_dev_sector and put_dev_sector (Ming Lei) [1881760] - [scsi] scsi: simplify scsi_partsize (Ming Lei) [1881760] - [block] block: remove alloc_part_info and free_part_info (Ming Lei) [1881760] - [block] block: move sysfs methods shared by disks and partitions to genhd.c (Ming Lei) [1881760] - [block] block: move disk_name and related helpers out of partition-generic.c (Ming Lei) [1881760] - [fs] block: remove __bdevname (Ming Lei) [1881760] - [block] block: remove the blk_lookup_devt export (Ming Lei) [1881760] - [block] block, bfq: invoke flush_idle_tree after reparent_active_queues in pd_offline (Ming Lei) [1881760] - [block] block, bfq: make reparent_leaf_entity actually work only on leaf entities (Ming Lei) [1881760] - [block] block, bfq: turn put_queue into release_process_ref in __bfq_bic_change_cgroup (Ming Lei) [1881760] - [block] block, bfq: move forward the getting of an extra ref in bfq_bfqq_move (Ming Lei) [1881760] - [scsi] scsi: Convert to use set_capacity_revalidate_and_notify (Ming Lei) [1881760] - [nvme] nvme: Convert to use set_capacity_revalidate_and_notify (Ming Lei) [1881760] - [block] virtio_blk.c: Convert to use set_capacity_revalidate_and_notify (Ming Lei) [1881760] - [block] block/genhd: Notify udev about capacity change (Ming Lei) [1881760] - [fs] block: fix a device invalidation regression (Ming Lei) [1881760] - [block] blk-iocost: remove duplicated lines in comments (Ming Lei) [1881760] - [block] block: sed-opal: Change the check condition for regular session validity (Ming Lei) [1881760] - [block] block: Document genhd capability flags (Ming Lei) [1881760] - [block] block: cleanup comment for blk_flush_complete_seq (Ming Lei) [1881760] - [block] block: remove unneeded argument from blk_alloc_flush_queue (Ming Lei) [1881760] - [block] block: cleanup for _blk/blk_rq_prep_clone (Ming Lei) [1881760] - [block] block: remove redundant setting of QUEUE_FLAG_DYING (Ming Lei) [1881760] - [block] block: use bio_{wouldblock, io}_error in direct_make_request (Ming Lei) [1881760] - [block] block: fix comment for blk_cloned_rq_check_limits (Ming Lei) [1881760] - [block] null_blk: Add support for init_hctx() fault injection (Ming Lei) [1881760] - [block] null_blk: Handle null_add_dev() failures properly (Ming Lei) [1881760] - [block] null_blk: Fix the null_add_dev() error path (Ming Lei) [1881760] - [block] compat_ioctl: simplify up block/ioctl.c (Ming Lei) [1881760] - [block] compat_ioctl: block: simplify compat_blkpg_ioctl() (Ming Lei) [1881760] - [block] compat_ioctl: block: move blkdev_compat_ioctl() into ioctl.c (Ming Lei) [1881760] - [block] blk-mq: insert flush request to the front of dispatch queue (Ming Lei) [1881760] - [block] block: Remove used kblockd_schedule_work_on() (Ming Lei) [1881760] - [block] null_blk: remove unused fields in 'nullb_cmd' (Ming Lei) [1881760] - [block] drbd: fifo_alloc() should use struct_size (Ming Lei) [1881760] - [block] partitions/ldm: fix spelling mistake "to" -> "too" (Ming Lei) [1881760] - [block] block: mark zone-mgmt bios with REQ_SYNC (Ming Lei) [1881760] - [block] blk-mq: Document functions for sending request (Ming Lei) [1881760] - [block] block: Allow t10-pi to be modular (Ming Lei) [1881760] - [block] blk-mq: optimise blk_mq_flush_plug_list() (Ming Lei) [1881760] - [include] list: introduce list_for_each_continue() (Ming Lei) [1881760] - [block] blk-mq: optimise rq sort function (Ming Lei) [1881760] - [block] blk-cgroup: cgroup_rstat_updated() shouldn't be called on cgroup1 (Ming Lei) [1881760] - [block] blk-cgroup: separate out blkg_rwstat under CONFIG_BLK_CGROUP_RWSTAT (Ming Lei) [1881760] - [block] blk-cgroup: reimplement basic IO stats using cgroup rstat (Ming Lei) [1881760] - [block] blk-cgroup: remove now unused blkg_print_stat_{bytes|ios}_recursive() (Ming Lei) [1881760] - [block] blk-throtl: stop using blkg->stat_bytes and ->stat_ios (Ming Lei) [1881760] - [block] bfq-iosched: Ensure bio->bi_blkg is valid before using it (Ming Lei) [1881760] - [block] bfq-iosched: stop using blkg->stat_bytes and ->stat_ios (Ming Lei) [1881760] - [block] bfq-iosched: relocate bfqg_*rwstat*() helpers (Ming Lei) [1881760] - [md] dm: fix comment in __dm_suspend() (Mike Snitzer) [1881531] - [md] dm: fold dm_process_bio() into dm_make_request() (Mike Snitzer) [1881531] - [md] dm: fix missing imposition of queue_limits from dm_wq_work() thread (Mike Snitzer) [1881531] - [md] dm: optimize max_io_len() by inlining max_io_len_target_boundary() (Mike Snitzer) [1881531] - [md] dm: push md->immutable_target optimization down to __process_bio() (Mike Snitzer) [1881531] - [md] dm: change max_io_len() to use blk_max_size_offset() (Mike Snitzer) [1881531] - [md] dm table: stack 'chunk_sectors' limit to account for target-specific splitting (Mike Snitzer) [1881531] - [block] block: allow 'chunk_sectors' to be non-power-of-2 (Mike Snitzer) [1881531] - [block] block: use lcm_not_zero() when stacking chunk_sectors (Mike Snitzer) [1881531] - [md] dm: fix bio splitting and its bio completion order for regular IO (Mike Snitzer) [1881531] - [net] net-sysfs: add backlog len and CPU id to softnet data (Paolo Abeni) [1866909] - [net] try to avoid unneeded backlog flush (Paolo Abeni) [1866909] - [net] skbuff: fix a data race in skb_queue_len() (Paolo Abeni) [1866909] - [cpuidle] cpuidle: pseries: Fix CEDE latency conversion from tb to us (Diego Domingos) [1608791] - [cpuidle] cpuidle: pseries: Fixup exit latency for CEDE(0) (Diego Domingos) [1608791] - [cpuidle] cpuidle: pseries: Add function to parse extended CEDE records (Diego Domingos) [1608791] - [cpuidle] cpuidle: pseries: Set the latency-hint before entering CEDE (Diego Domingos) [1608791] - [arm64] paravirt: Initialize steal time when cpu is online (Andrew Jones) [1879137]- [infiniband] i40iw: Add support to make destroy QP synchronous (Stefan Assmann) [1757949] - [fs] xfs: don't eat an EIO/ENOSPC writeback error when scrubbing data fork (Carlos Maiolino) [1859160] - [fs] xfs: fix inode allocation block res calculation precedence (Carlos Maiolino) [1859160] - [fs] xfs: fix reflink quota reservation accounting error (Carlos Maiolino) [1859160] - [fs] xfs: preserve rmapbt swapext block reservation from freed blocks (Carlos Maiolino) [1859160] - [fs] xfs: fix duplicate verification from xfs_qm_dqflush() (Carlos Maiolino) [1859160] - [fs] xfs: fix unmount hang and memory leak on shutdown during quotaoff (Carlos Maiolino) [1859160] - [fs] xfs: factor out quotaoff intent AIL removal and memory free (Carlos Maiolino) [1859160] - [fs] xfs: fix incorrect test in xfs_alloc_ag_vextent_lastblock (Carlos Maiolino) [1859160] - [fs] xfs: fix regression in "cleanup xfs_dir2_block_getdents" (Carlos Maiolino) [1859160] - [fs] xfs: fix use-after-free when aborting corrupt attr inactivation (Carlos Maiolino) [1859160] - [fs] xfs: fix iclog release error check race with shutdown (Carlos Maiolino) [1859160] - [fs] xfs: Add the missed xfs_perag_put() for xfs_ifree_cluster() (Carlos Maiolino) [1859160] - [fs] xfs: clean up the error handling in xfs_swap_extents (Carlos Maiolino) [1859160] - [fs] xfs: acquire superblock freeze protection on eofblocks scans (Carlos Maiolino) [1859160] - [fs] xfs: xfs_dabuf_map should return ENOMEM when map allocation fails (Carlos Maiolino) [1859160] - [fs] xfs: fix xfs_buf_ioerror_alert location reporting (Carlos Maiolino) [1859160] - [fs] xfs: remove unnecessary null pointer checks from _read_agf callers (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_*read_agf return EAGAIN to ALLOC_FLAG_TRYLOCK callers (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_btree_get_buffunctions (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_trans_get_buf return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_trans_get_buf_map return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_read return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_get_uncached return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_get return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_read_map return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_get_map return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_alloc return an error code (Carlos Maiolino) [1859160] - [fs] xfs: fix uninitialized variable in xfs_attr3_leaf_inactive (Carlos Maiolino) [1859160] - [fs] xfs: change return value of xfs_inode_need_cow to int (Carlos Maiolino) [1859160] - [fs] xfs: check log iovec size to make sure it's plausibly a buffer log format (Carlos Maiolino) [1859160] - [fs] xfs: make struct xfs_buf_log_format have a consistent size (Carlos Maiolino) [1859160] - [fs] xfs: complain if anyone tries to create a too-large buffer log item (Carlos Maiolino) [1859160] - [fs] xfs: clean up xfs_buf_item_get_format return value (Carlos Maiolino) [1859160] - [fs] xfs: streamline xfs_attr3_leaf_inactive (Carlos Maiolino) [1859160] - [fs] xfs: fix memory corruption during remote attr value buffer invalidation (Carlos Maiolino) [1859160] - [fs] xfs: refactor remote attr value buffer invalidation (Carlos Maiolino) [1859160] - [fs] xfs: fix IOCB_NOWAIT handling in xfs_file_dio_aio_read (Carlos Maiolino) [1859160] - [fs] xfs: Add __packed to xfs_dir2_sf_entry_t definition (Carlos Maiolino) [1859160] - [fs] xfs: fix s_maxbytes computation on 32-bit kernels (Carlos Maiolino) [1859160] - [fs] xfs: truncate should remove all blocks, not just to the end of the page cache (Carlos Maiolino) [1859160] - [fs] xfs: introduce XFS_MAX_FILEOFF (Carlos Maiolino) [1859160] - [fs] xfs: remove bogus assertion when online repair isn't enabled (Carlos Maiolino) [1859160] - [fs] xfs: Remove all strlen in all xfs_attr_* functions for attr names (Carlos Maiolino) [1859160] - [fs] xfs: fix misuse of the XFS_ATTR_INCOMPLETE flag (Carlos Maiolino) [1859160] - [fs] xfs: also remove cached ACLs when removing the underlying attr (Carlos Maiolino) [1859160] - [fs] xfs: reject invalid flags combinations in XFS_IOC_ATTRMULTI_BY_HANDLE (Carlos Maiolino) [1859160] - [fs] xfs: remove shadow variable in xfs_btree_lshift (Carlos Maiolino) [1859160] - [fs] xfs: quota: move to time64_t interfaces (Carlos Maiolino) [1859160] - [fs] xfs: Make the symbol 'xfs_rtalloc_log_count' static (Carlos Maiolino) [1859160] - [fs] libxfs: resync with the userspace libxfs (Carlos Maiolino) [1859160] - [fs] xfs: fix log reservation overflows when allocating large rt extents (Carlos Maiolino) [1859160] - [fs] xfs: fix mount failure crash on invalid iclog memory access (Carlos Maiolino) [1859160] - [fs] xfs: don't check for AG deadlock for realtime files in bunmapi (Carlos Maiolino) [1859160] - [fs] xfs: fix realtime file data space leak (Carlos Maiolino) [1859160] - [fs] xfs: allow parent directory scans to be interrupted with fatal signals (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_da_get_buf (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_da_read_buf (Carlos Maiolino) [1859160] - [fs] xfs: split xfs_da3_node_read (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_dir3_leafn_read (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_dir3_leaf_read (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_attr3_leaf_read (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_da_reada_buf (Carlos Maiolino) [1859160] - [fs] xfs: improve the xfs_dabuf_map calling conventions (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_dabuf_map (Carlos Maiolino) [1859160] - [fs] xfs: simplify mappedbno handling in xfs_da_{get, read}_buf (Carlos Maiolino) [1859160] - [fs] xfs: report corruption only as a regular error (Carlos Maiolino) [1859160] - [fs] xfs: Remove kmem_zone_free() wrapper (Carlos Maiolino) [1859160] - [fs] xfs: Remove kmem_zone_destroy() wrapper (Carlos Maiolino) [1859160] - [fs] xfs: Remove slab init wrappers (Carlos Maiolino) [1859160] - [fs] xfs: fix another missing include (Carlos Maiolino) [1859160] - [fs] xfs: remove XFS_IOC_FSSETDM and XFS_IOC_FSSETDM_BY_HANDLE (Carlos Maiolino) [1859160] - [fs] xfs: remove duplicated include from xfs_dir2_data.c (Carlos Maiolino) [1859160] - [fs] xfs: remove unused structure members & simple typedefs (Carlos Maiolino) [1859160] - [fs] xfs: remove unused typedef definitions (Carlos Maiolino) [1859160] - [fs] xfs: Replace function declaration by actual definition (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_qoff_logitem_t typedef (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_dq_logitem_t typedef (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_quotainfo_t typedef (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_disk_dquot_t and xfs_dquot_t (Carlos Maiolino) [1859160] - [fs] xfs: avoid time_t in user api (Carlos Maiolino) [1859160] - [fs] xfs: don't reset the "inode core" in xfs_iread (Carlos Maiolino) [1859160] - [fs] xfs: merge the projid fields in struct xfs_icdinode (Carlos Maiolino) [1859160] - [fs] xfs: use a struct timespec64 for the in-core crtime (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->m_dirnameops (Carlos Maiolino) [1859160] - [fs] xfs: remove the unused m_chsize field (Carlos Maiolino) [1859160] - [fs] xfs: convert open coded corruption check to use XFS_IS_CORRUPT (Carlos Maiolino) [1859160] - [fs] xfs: kill the XFS_WANT_CORRUPT_* macros (Carlos Maiolino) [1859160] - [fs] xfs: add a XFS_IS_CORRUPT macro (Carlos Maiolino) [1859160] - [fs] xfs: attach dquots before performing xfs_swap_extents (Carlos Maiolino) [1859160] - [fs] xfs: actually check xfs_btree_check_block return in xfs_btree_islastblock (Carlos Maiolino) [1859160] - [fs] xfs: always pass a valid hdr to xfs_dir3_leaf_check_int (Carlos Maiolino) [1859160] - [fs] xfs: merge xfs_dir2_data_freescan and xfs_dir2_data_freescan_int (Carlos Maiolino) [1859160] - [fs] xfs: remove the now unused dir ops infrastructure (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->data_get_ftype and ->data_put_ftype (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->data_bestfree_p (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_data_entsize (Carlos Maiolino) [1859160] - [fs] xfs: move the dir2 data block fixed offsets to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->data_entry_tag_p (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->data_entsize (Carlos Maiolino) [1859160] - [fs] xfs: replace xfs_dir3_data_endp with xfs_dir3_data_end_offset (Carlos Maiolino) [1859160] - [fs] xfs: remove the now unused ->data_entry_p method (Carlos Maiolino) [1859160] - [fs] xfs: cleanup __xfs_dir3_data_check (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_data_freescan_int (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_block_to_sf (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xchk_directory_data_bestfree (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xchk_dir_rec (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_leaf_getdents (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_block_getdents (Carlos Maiolino) [1859160] - [fs] xfs: remove the ->data_unused_p method (Carlos Maiolino) [1859160] - [fs] xfs: remove the ->data_dot_entry_p and ->data_dotdot_entry_p methods (Carlos Maiolino) [1859160] - [fs] xfs: remove the data_dotdot_offset field in struct xfs_dir_ops (Carlos Maiolino) [1859160] - [fs] xfs: remove the data_dot_offset field in struct xfs_dir_ops (Carlos Maiolino) [1859160] - [fs] xfs: remove the unused ->data_first_entry_p method (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->sf_get_ftype and ->sf_put_ftype (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->sf_get_ino and ->sf_put_ino (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->sf_entsize and ->sf_nextentry (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->sf_get_parent_ino and ->sf_put_parent_ino (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->db_to_fdb and ->db_to_fdindex (Carlos Maiolino) [1859160] - [fs] xfs: move the max dir2 free bests count to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: move the dir2 free header size to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: add a bests pointer to struct xfs_dir3_icfree_hdr (Carlos Maiolino) [1859160] - [fs] xfs: make the xfs_dir3_icfree_hdr available to xfs_dir2_node_addname_int (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->free_hdr_to_disk (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->free_hdr_from_disk (Carlos Maiolino) [1859160] - [fs] xfs: move the max dir2 leaf entries count to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: move the dir2 leaf header size to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: add an entries pointer to struct xfs_dir3_icleaf_hdr (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->leaf_hdr_to_disk (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->leaf_hdr_from_disk (Carlos Maiolino) [1859160] - [fs] xfs: move the node header size to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: add a btree entries pointer to struct xfs_da3_icnode_hdr (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->node_hdr_to_disk (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->node_hdr_from_disk (Carlos Maiolino) [1859160] - [fs] xfs: refactor btree node scrubbing (Carlos Maiolino) [1859160] - [fs] xfs: use unsigned int for all size values in struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: move incore structures out of xfs_da_format.h (Carlos Maiolino) [1859160] - [fs] xfs: remove a stray tab in xfs_remount_rw() (Carlos Maiolino) [1859160] - [fs] xfs: convert EIO to EFSCORRUPTED when log contents are invalid (Carlos Maiolino) [1859160] - [fs] xfs: refactor "does this fork map blocks" predicate (Carlos Maiolino) [1859160] - [fs] xfs: clean up weird while loop in xfs_alloc_ag_vextent_near (Carlos Maiolino) [1859160] - [fs] xfs: annotate functions that trip static checker locking checks (Carlos Maiolino) [1859160] - [fs] xfs: Correct comment tyops -> typos (Carlos Maiolino) [1859160] - [fs] xfs: range check ri_cnt when recovering log items (Carlos Maiolino) [1859160] - [fs] xfs: "optimize" buffer item log segment bitmap setting (Carlos Maiolino) [1859160] - [fs] xfs: null out bma->prev if no previous extent (Carlos Maiolino) [1859160] - [fs] xfs: fix missing header includes (Carlos Maiolino) [1859160] - [fs] xfs: periodically yield scrub threads to the scheduler (Carlos Maiolino) [1859160] - [fs] xfs: remove redundant assignment to variable error (Carlos Maiolino) [1859160] - [fs] xfs: add missing early termination checks to record scrubbing functions (Carlos Maiolino) [1859160] - [fs] xfs: make the assertion message functions take a mount parameter (Carlos Maiolino) [1859160] - [fs] xfs: add missing assert in xfs_fsmap_owner_from_rmap (Carlos Maiolino) [1859160] - [fs] xfs: decrease indenting problems in xfs_dabuf_map (Carlos Maiolino) [1859160] - [fs] xfs: fold xfs_mount-alloc() into xfs_init_fs_context() (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_fc_parse_param() above xfs_fc_get_tree() (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_fc_get_tree() above xfs_fc_reconfigure() (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_fc_reconfigure() above xfs_fc_free() (Carlos Maiolino) [1859160] - [fs] xfs: switch to use the new mount-api (Carlos Maiolino) [1859160] - [fs] xfs: dont set sb in xfs_mount_alloc() (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_parseargs() validation to a helper (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_parseags() (Carlos Maiolino) [1859160] - [fs] xfs: avoid redundant checks when options is empty (Carlos Maiolino) [1859160] - [fs] xfs: refactor suffix_kstrtoint() (Carlos Maiolino) [1859160] - [fs] xfs: add xfs_remount_ro() helper (Carlos Maiolino) [1859160] - [fs] xfs: add xfs_remount_rw() helper (Carlos Maiolino) [1859160] - [fs] xfs: merge freeing of mp names and mp (Carlos Maiolino) [1859160] - [fs] xfs: use kmem functions for struct xfs_mount (Carlos Maiolino) [1859160] - [fs] xfs: dont use XFS_IS_QUOTA_RUNNING() for option check (Carlos Maiolino) [1859160] - [fs] xfs: use super s_id instead of struct xfs_mount m_fsname (Carlos Maiolino) [1859160] - [fs] xfs: remove unused struct xfs_mount field m_fsname_len (Carlos Maiolino) [1859160] - [fs] xfs: always log corruption errors (Carlos Maiolino) [1859160] - [fs] xfs: constify the buffer pointer arguments to error functions (Carlos Maiolino) [1859160] - [fs] xfs: relax shortform directory size checks (Carlos Maiolino) [1859160] - [fs] xfs: cleanup use of the XFS_ALLOC_ flags (Carlos Maiolino) [1859160] - [fs] xfs: move extent zeroing to xfs_bmapi_allocate (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_bmapi_allocate (Carlos Maiolino) [1859160] - [fs] xfs: simplify the xfs_iomap_write_direct calling (Carlos Maiolino) [1859160] - [fs] xfs: don't log the inode in xfs_fs_map_blocks if it (Carlos Maiolino) [1859160] - [fs] xfs: slightly tweak an assert in xfs_fs_map_blocks (Carlos Maiolino) [1859160] - [fs] xfs: remove the extsize argument to xfs_eof_alignment (Carlos Maiolino) [1859160] - [fs] xfs: mark xfs_eof_alignment static (Carlos Maiolino) [1859160] - [fs] xfs: simplify xfs_iomap_eof_align_last_fsb (Carlos Maiolino) [1859160] - [fs] xfs: merge xfs_showargs into xfs_fs_show_options (Carlos Maiolino) [1859160] - [fs] xfs: clean up printing inode32/64 in xfs_showargs (Carlos Maiolino) [1859160] - [fs] xfs: clean up printing the allocsize option in (Carlos Maiolino) [1859160] - [fs] xfs: reverse the polarity of XFS_MOUNT_COMPAT_IOSIZE (Carlos Maiolino) [1859160] - [fs] xfs: rename the XFS_MOUNT_DFLT_IOSIZE option to (Carlos Maiolino) [1859160] - [fs] xfs: simplify parsing of allocsize mount option (Carlos Maiolino) [1859160] - [fs] xfs: rename the m_writeio_* fields in struct xfs_mount (Carlos Maiolino) [1859160] - [fs] xfs: remove the m_readio_* fields in struct xfs_mount (Carlos Maiolino) [1859160] - [fs] xfs: don't use a different allocsice for -o wsync (Carlos Maiolino) [1859160] - [fs] xfs: cleanup calculating the stat optimal I/O size (Carlos Maiolino) [1859160] - [fs] xfs: remove the dsunit and dswidth variables in (Carlos Maiolino) [1859160] - [fs] xfs: simplify setting bio flags (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_iread_extents to use xfs_btree_visit_blocks (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_bmap_count_blocks using newer btree helpers (Carlos Maiolino) [1859160] - [fs] xfs: replace -EIO with -EFSCORRUPTED for corrupt metadata (Carlos Maiolino) [1859160] - [fs] xfs: namecheck directory entry names before listing them (Carlos Maiolino) [1859160] - [fs] xfs: namecheck attribute names before listing them (Carlos Maiolino) [1859160] - [fs] xfs: check attribute leaf block structure (Carlos Maiolino) [1859160] - [fs] xfs: consolidate preallocation in xfs_file_fallocate (Carlos Maiolino) [1859160] - [fs] xfs: disable xfs_ioc_space for always COW inodes (Carlos Maiolino) [1859160] - [fs] fs: add generic UNRESVSP and ZERO_RANGE ioctl handlers (Carlos Maiolino) [1859160] - [fs] xfs: don't implement XFS_IOC_RESVSP / XFS_IOC_RESVSP64 (Carlos Maiolino) [1859160] - [fs] xfs: use xfs_inode_buftarg in xfs_file_ioctl (Carlos Maiolino) [1859160] - [fs] xfs: use xfs_inode_buftarg in xfs_file_dio_aio_write (Carlos Maiolino) [1859160] - [fs] xfs: add a xfs_inode_buftarg helper (Carlos Maiolino) [1859160] - [fs] xfs: mark xfs_buf_free static (Carlos Maiolino) [1859160] - [fs] xfs: add mising include of xfs_pnfs.h for missing declarations (Carlos Maiolino) [1859160] - [fs] xfs: don't set bmapi total block req where minleft is (Carlos Maiolino) [1859160] - [fs] xfs: cap longest free extent to maximum allocatable (Carlos Maiolino) [1859160] - [fs] xfs: remove the duplicated inode log fieldmask set (Carlos Maiolino) [1859160] - [fs] xfs: improve the IOMAP_NOWAIT check for COW inodes (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_direct_write_iomap_begin (Carlos Maiolino) [1859160] - [fs] xfs: rename the whichfork variable in xfs_buffered_write_iomap_begin (Carlos Maiolino) [1859160] - [fs] xfs: split the iomap ops for buffered vs direct writes (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_file_iomap_begin_delay around (Carlos Maiolino) [1859160] - [fs] xfs: split out a new set of read-only iomap ops (Carlos Maiolino) [1859160] - [fs] xfs: factor out a helper to calculate the end_fsb (Carlos Maiolino) [1859160] - [fs] xfs: fill out the srcmap in iomap_begin (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_file_iomap_begin_delay (Carlos Maiolino) [1859160] - [fs] xfs: pass two imaps to xfs_reflink_allocate_cow (Carlos Maiolino) [1859160] - [fs] xfs: remove xfs_reflink_dirty_extents (Carlos Maiolino) [1859160] - [fs] xfs: also call xfs_file_iomap_end_delalloc for zeroing operations (Carlos Maiolino) [1859160] - [fs] xfs: remove the XLOG_STATE_DO_CALLBACK state (Carlos Maiolino) [1859160] - [fs] xfs: turn ic_state into an enum (Carlos Maiolino) [1859160] - [fs] xfs: remove the unused XLOG_STATE_ALL and XLOG_STATE_UNUSED flags (Carlos Maiolino) [1859160] - [fs] xfs: remove dead ifdef XFSERRORDEBUG code (Carlos Maiolino) [1859160] - [fs] xfs: call xlog_state_release_iclog with l_icloglock held (Carlos Maiolino) [1859160] - [fs] xfs: move the locking from xlog_state_finish_copy to the callers (Carlos Maiolino) [1859160] - [fs] xfs: remove the unused ic_io_size field from xlog_in_core (Carlos Maiolino) [1859160] - [fs] xfs: pass the correct flag to xlog_write_iclog (Carlos Maiolino) [1859160] - [fs] xfs: optimize near mode bnobt scans with concurrent cntbt lookups (Carlos Maiolino) [1859160] - [fs] xfs: factor out tree fixup logic into helper (Carlos Maiolino) [1859160] - [fs] xfs: refactor near mode alloc bnobt scan into separate function (Carlos Maiolino) [1859160] - [fs] xfs: refactor and reuse best extent scanning logic (Carlos Maiolino) [1859160] - [fs] xfs: refactor allocation tree fixup code (Carlos Maiolino) [1859160] - [fs] xfs: reuse best extent tracking logic for bnobt scan (Carlos Maiolino) [1859160] - [fs] xfs: refactor cntbt lastblock scan best extent logic into helper (Carlos Maiolino) [1859160] - [fs] xfs: track best extent from cntbt lastblock scan in alloc cursor (Carlos Maiolino) [1859160] - [fs] xfs: track allocation busy state in allocation cursor (Carlos Maiolino) [1859160] - [fs] xfs: introduce allocation cursor data structure (Carlos Maiolino) [1859160] - [fs] xfs: track active state of allocation btree cursors (Carlos Maiolino) [1859160] - [fs] xfs: ignore extent size hints for always COW inodes (Carlos Maiolino) [1859160] - [fs] xfs: include QUOTA, FATAL ASSERT build options in XFS_BUILD_OPTIONS (Carlos Maiolino) [1859160] - [pinctrl] pinctrl: tigerlake: Add support for Tiger Lake-H (Steve Best) [1782722] - [pinctrl] pinctrl: intel: Introduce common flags for GPIO mapping scheme (Steve Best) [1782722] - [mfd] mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs (Steve Best) [1782724]- [netdrv] iavf: Fix incorrect adapter get in iavf_resume (Stefan Assmann) [1842896] - [netdrv] iavf: use generic power management (Stefan Assmann) [1842896] - [net] openvswitch: fixes crash if nf_conncount_init() fails (Eelco Chaudron) [1876445] - [fs] cifs`: handle ERRBaduid for SMB1 (Leif Sahlberg) [1875184] - [net] SUNRPC: 'Directory with parent 'rpc_clnt' already present!' (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Don't use RPC_TASK_CRED_NOREF with pnfs (Scott Mayhew) [1872310] - [fs] NFS: Don't use RPC_TASK_CRED_NOREF with delegreturn (Scott Mayhew) [1872310] - [net] SUNRPC: Signalled ASYNC tasks need to exit (Scott Mayhew) [1872310] - [net] SUNRPC: fix use-after-free in rpc_free_client_work() (Scott Mayhew) [1872310] - [fs] NFS: Fix a race in __nfs_list_for_each_server() (Scott Mayhew) [1872310] - [net] SUNRPC: defer slow parts of rpc_free_client() to a workqueue (Scott Mayhew) [1872310] - [net] SUNRPC: Revert 241b1f419f0e ("SUNRPC: Remove xdr_buf_trim()") (Scott Mayhew) [1872310] - [fs] NFSv4: Remove unreachable error condition due to rpc_run_task() (Scott Mayhew) [1872310] - [net] SUNRPC: Remove unreachable error condition (Scott Mayhew) [1872310] - [fs] nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Fix a credential use-after-free issue in pnfs_roc() (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Ensure that _pnfs_return_layout() waits for layoutreturn completion (Scott Mayhew) [1872310] - [net] svcrdma: Fix leak of svc_rdma_recv_ctxt objects (Scott Mayhew) [1872310] - [fs] NFS: Fix an ABBA spinlock issue in pnfs_update_layout() (Scott Mayhew) [1872310] - [net] SUNRPC/cache: Fix unsafe traverse caused double-free in cache_purge (Scott Mayhew) [1872310] - [fs] nfsd: memory corruption in nfsd4_lock() (Scott Mayhew) [1872310] - [fs] pNFS: Fix RCU lock leakage (Scott Mayhew) [1872310] - [fs] NFS: Clean up process of marking inode stale (Scott Mayhew) [1872310] - [fs] NFS: Add softreval behaviour to nfs_lookup_revalidate() (Scott Mayhew) [1872310] - [fs] NFS: Add mount option 'softreval' (Scott Mayhew) [1872310] - [net] SUNRPC: Don't start a timer on an already queued rpc task (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Reference the layout cred in pnfs_prepare_layoutreturn() (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Fix dereference of layout cred in pnfs_layoutcommit_inode() (Scott Mayhew) [1872310] - [fs] NFS: Beware when dereferencing the delegation cred (Scott Mayhew) [1872310] - [fs] NFS: Add a module parameter to set nfs_mountpoint_expiry_timeout (Scott Mayhew) [1872310] - [fs] NFS: Try to join page groups before an O_DIRECT retransmission (Scott Mayhew) [1872310] - [fs] NFS: Refactor nfs_lock_and_join_requests() (Scott Mayhew) [1872310] - [fs] NFS: Reverse the submission order of requests in __nfs_pageio_add_request() (Scott Mayhew) [1872310] - [fs] NFS: Clean up nfs_lock_and_join_requests() (Scott Mayhew) [1872310] - [fs] NFS: Remove the redundant function nfs_pgio_has_mirroring() (Scott Mayhew) [1872310] - [fs] NFS: Fix memory leaks in nfs_pageio_stop_mirroring() (Scott Mayhew) [1872310] - [fs] NFS: Fix a request reference leak in nfs_direct_write_clear_reqs() (Scott Mayhew) [1872310] - [fs] NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests() (Scott Mayhew) [1872310] - [fs] NFS: Remove unused FLUSH_SYNC support in nfs_initiate_pgio() (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: Specify the layout segment range in LAYOUTGET (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: remove requirement for whole file layouts (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: Check the layout segment range before doing I/O (Scott Mayhew) [1872310] - [fs] pNFS/flexfile: Don't merge layout segments if the mirrors don't match (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Fix pnfs_layout_mark_request_commit() invalid layout segment handling (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Simplify bucket layout segment reference counting (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Clean up pNFS commit operations (Scott Mayhew) [1872310] - [fs] NFS: Remove bucket array from struct pnfs_ds_commit_info (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Add a helper pnfs_generic_search_commit_reqs() (Scott Mayhew) [1872310] - [fs] pNFS: Enable per-layout segment commit structures (Scott Mayhew) [1872310] - [fs] pNFS: Add infrastructure for cleaning up per-layout commit structures (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Support commit arrays in nfs_clear_pnfs_ds_commit_verifiers() (Scott Mayhew) [1872310] - [fs] NFS: Fix O_DIRECT commit verifier handling (Scott Mayhew) [1872310] - [fs] NFS: commit errors should be fatal (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Allow O_DIRECT to release the DS commitinfo (Scott Mayhew) [1872310] - [fs] pNFS: Support per-layout segment commits in pnfs_generic_commit_pagelist() (Scott Mayhew) [1872310] - [fs] pNFS: Support per-layout segment commits in pnfs_generic_recover_commit_reqs() (Scott Mayhew) [1872310] - [fs] NFSv4/pNFS: Scan the full list of commit arrays when committing (Scott Mayhew) [1872310] - [fs] NFSv4/pnfs: Support a list of commit arrays in struct pnfs_ds_commit_info (Scott Mayhew) [1872310] - [net] SUNRPC: Fix a potential buffer overflow in 'svc_print_xprts()' (Scott Mayhew) [1872310] - [include] SUNRPC/cache: don't allow invalid entries to be flushed (Scott Mayhew) [1872310] - [fs] pNFS: Add a helper to allocate the array of buckets (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Refactor pnfs_generic_commit_pagelist() (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: Simplify allocation of the mirror array (Scott Mayhew) [1872310] - [fs] NFS: Don't specify NFS version in "UDP not supported" error (Scott Mayhew) [1872310] - [fs] nfsroot: set tcp as the default transport protocol (Scott Mayhew) [1872310] - [fs] NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails (Scott Mayhew) [1872310] - [fs] nfs: Fix up documentation in nfs_follow_referral() and nfs_do_submount() (Scott Mayhew) [1872310] - [net] sunrpc: Add tracing for cache events (Scott Mayhew) [1872310] - [net] SUNRPC/cache: Allow garbage collection of invalid cache entries (Scott Mayhew) [1872310] - [net] sunrpc: clean up cache entry add/remove from hashtable (Scott Mayhew) [1872310] - [net] sunrpc: Fix potential leaks in sunrpc_cache_unhash() (Scott Mayhew) [1872310] - [fs] nfsd: export upcalls must not return ESTALE when mountd is down (Scott Mayhew) [1872310] - [fs] nfsd: Don't add locks to closed or closing open stateids (Scott Mayhew) [1872310] - [net] SUNRPC: Teach server to use xprt_sock_sendmsg for socket sends (Scott Mayhew) [1872310] - [net] SUNRPC: Refactor xs_sendpages() (Scott Mayhew) [1872310] - [fs] NFSD: Clean up nfsd4_encode_readv (Scott Mayhew) [1872310] - [fs] fs: nfsd: nfs4state.c: Use built-in RCU list checking (Scott Mayhew) [1872310] - [net] sunrpc: Pass lockdep expression to RCU lists (Scott Mayhew) [1872310] - [include] sunrpc: Replace zero-length array with flexible-array member (Scott Mayhew) [1872310] - [net] SUNRPC: Trim stack utilization in the wrap and unwrap paths (Scott Mayhew) [1872310] - [net] SUNRPC: Remove xdr_buf_read_mic() (Scott Mayhew) [1872310] - [net] sunrpc: Fix gss_unwrap_resp_integ() again (Scott Mayhew) [1872310] - [fs] nfs: Replace zero-length array with flexible-array member (Scott Mayhew) [1872310] - [fs] NFSv4.2: error out when relink swapfile (Scott Mayhew) [1872310] - [fs] NFS:remove redundant call to nfs_do_access (Scott Mayhew) [1872310] - [net] SUNRPC: remove redundant assignments to variable status (Scott Mayhew) [1872310] - [fs] NFSv4: Add support for CB_RECALL_ANY for flexfiles layouts (Scott Mayhew) [1872310] - [fs] NFSv4: Clean up nfs_delegation_reap_expired() (Scott Mayhew) [1872310] - [fs] NFSv4: Clean up nfs_delegation_reap_unclaimed() (Scott Mayhew) [1872310] - [fs] NFSv4: Clean up nfs_client_return_marked_delegations() (Scott Mayhew) [1872310] - [fs] NFS: Add a helper nfs_client_for_each_server() (Scott Mayhew) [1872310] - [fs] NFSv4/pnfs: Clean up nfs_layout_find_inode() (Scott Mayhew) [1872310] - [fs] NFSv4: Ensure layout headers are RCU safe (Scott Mayhew) [1872310] - [fs] NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: Report DELAY and GRACE errors from the DS to the server (Scott Mayhew) [1872310] - [fs] NFS: Limit the size of the access cache by default (Scott Mayhew) [1872310] - [fs] NFS: Avoid referencing the cred twice in async rename/unlink (Scott Mayhew) [1872310] - [fs] NFSv4: Avoid unnecessary credential references in layoutget (Scott Mayhew) [1872310] - [fs] NFSv4: Avoid referencing the cred unnecessarily during NFSv4 I/O (Scott Mayhew) [1872310] - [fs] NFS: Assume cred is pinned by open context in I/O requests (Scott Mayhew) [1872310] - [net] SUNRPC: Don't take a reference to the cred on synchronous tasks (Scott Mayhew) [1872310] - [net] SUNRPC: Add a flag to avoid reference counts on credentials (Scott Mayhew) [1872310] - [fs] NFS: Ensure we time out if a delegreturn does not complete (Scott Mayhew) [1872310] - [fs] NFSv4/pnfs: pnfs_set_layout_stateid() should update the layout cred (Scott Mayhew) [1872310] - [fs] NFSv4: nfs_update_inplace_delegation() should update delegation cred (Scott Mayhew) [1872310] - [fs] NFS: Use the 64-bit server readdir cookies when possible (Scott Mayhew) [1872310] - [net] Documentation: nfsroot.rst: Fix references to nfsroot.rst (Scott Mayhew) [1872310] - [fs] nfs: add missing "posix" local_lock constant table definition (Scott Mayhew) [1622041] - [samples] samples/vfs: avoid warning in statx override (Scott Mayhew) [1622041] - [fs] Fix use after free in get_tree_bdev() (Scott Mayhew) [1622041] - [security] selinux: fix regression introduced by move_mount(2) syscall (Scott Mayhew) [1622041] - [fs] mm/hugetlbfs: fix for_each_hstate() loop in init_hugetlbfs_fs() (Scott Mayhew) [1622041] - [fs] mm/hugetlbfs: fix error handling when setting up mounts (Scott Mayhew) [1622041] - [fs] cramfs: fix usage on non-MTD device (Scott Mayhew) [1622041] - [fs] vfs: move_mount: reject moving kernel internal mounts (Scott Mayhew) [1622041] - [fs] do_move_mount(): fix an unsafe use of is_anon_ns() (Scott Mayhew) [1622041] - [fs] fs/namespace: fix unprivileged mount propagation (Scott Mayhew) [1622041] - [fs] vfs: fsmount: add missing mntget() (Scott Mayhew) [1622041] - [fs] get rid of checking for absent device name in vfs_get_tree() (Scott Mayhew) [1622041] - [scripts] scripts/gdb: replace flags (MS_xyz -> SB_xyz) (Scott Mayhew) [1622041] - [mm] tmpfs: switch to use of invalfc() (Scott Mayhew) [1622041] - [kernel] cgroup1: switch to use of errorfc() et.al (Scott Mayhew) [1622041] - [fs] procfs: switch to use of invalfc() (Scott Mayhew) [1622041] - [fs] hugetlbfs: switch to use of invalfc() (Scott Mayhew) [1622041] - [fs] cramfs: switch to use of errofc() et.al (Scott Mayhew) [1622041] - [fs] gfs2: switch to use of errorfc() et.al (Scott Mayhew) [1622041] - [include] prefix-handling analogues of errorf() and friends (Scott Mayhew) [1622041] - [fs] turn fs_param_is_... into functions (Scott Mayhew) [1622041] - [fs] fs_parse: handle optional arguments sanely (Scott Mayhew) [1622041] - [fs] fs_parse: fold fs_parameter_desc/fs_parameter_spec (Scott Mayhew) [1622041] - [x86] x86/resctrl: Fix typos in the mba_sc mount option (Scott Mayhew) [1622041] - [fs] fs_parser: remove fs_parameter_description name field (Scott Mayhew) [1622041] - [documentation] vfs: Update mount API docs (Scott Mayhew) [1622041] - [fs] add prefix to fs_context->log (Scott Mayhew) [1622041] - [include] new primitive: __fs_parse() (Scott Mayhew) [1622041] - [include] struct p_log, variants of warnf() et.al. taking that one instead (Scott Mayhew) [1622041] - [fs] teach logfc() to handle prefices, give it saner calling conventions (Scott Mayhew) [1622041] - [kernel] get rid of cg_invalf() (Scott Mayhew) [1622041] - [fs] get rid of fs_value_is_filename_empty (Scott Mayhew) [1622041] - [fs] don't bother with explicit length argument for __lookup_constant() (Scott Mayhew) [1622041] - [fs] fold struct fs_parameter_enum into struct constant_table (Scott Mayhew) [1622041] - [fs] fs_parse: get rid of ->enums (Scott Mayhew) [1622041] - [fs] fs: fs_parser: fix printk format warning (Scott Mayhew) [1622041] - [fs] Pass consistent param->type to fs_parse() (Scott Mayhew) [1622041] - [fs] vfs: add missing blkdev_put() in get_tree_bdev() (Scott Mayhew) [1622041] - [mm] shmem: fix LSM options parsing (Scott Mayhew) [1622041] - [fs] gfs2: make gfs2_fs_parameters static (Scott Mayhew) [1622041] - [fs] gfs2: Fix initialisation of args for remount (Scott Mayhew) [1622041] - [fs] gfs2: Fix memory leak when gfs2meta's fs_context is freed (Scott Mayhew) [1622041] - [fs] gfs2: Convert gfs2 to fs_context (Scott Mayhew) [1622041] - [fs] NFS: Fix fscache super_cookie allocation (Scott Mayhew) [1622041] - [fs] NFS: Fix a few constant_table array definitions (Scott Mayhew) [1622041] - [fs] NFS: Fix leak of ctx->nfs_server.hostname (Scott Mayhew) [1622041] - [fs] NFS: Don't hard-code the fs_type when submounting (Scott Mayhew) [1622041] - [fs] NFS: Ensure the fs_context has the correct fs_type before mounting (Scott Mayhew) [1622041] - [fs] nfs: Return EINVAL rather than ERANGE for mount parse errors (Scott Mayhew) [1622041] - [fs] NFS: Attach supplementary error information to fs_context (Scott Mayhew) [1622041] - [fs] NFS: Additional refactoring for fs_context conversion (Scott Mayhew) [1622041] - [fs] NFS: Add fs_context support (Scott Mayhew) [1622041] - [fs] NFS: Convert mount option parsing to use functionality from fs_parser.h (Scott Mayhew) [1622041] - [fs] NFS: rename nfs_fs_context pointer arg in a few functions (Scott Mayhew) [1622041] - [fs] NFS: Do some tidying of the parsing code (Scott Mayhew) [1622041] - [fs] NFS: Add a small buffer in nfs_fs_context to avoid string dup (Scott Mayhew) [1622041] - [fs] NFS: Deindent nfs_fs_context_parse_option() (Scott Mayhew) [1622041] - [fs] NFS: Split nfs_parse_mount_options() (Scott Mayhew) [1622041] - [fs] NFS: Rename struct nfs_parsed_mount_data to struct nfs_fs_context (Scott Mayhew) [1622041] - [fs] NFS: Constify mount argument match tables (Scott Mayhew) [1622041] - [fs] NFS: Move mount parameterisation bits into their own file (Scott Mayhew) [1622041] - [fs] nfs: get rid of ->set_security() (Scott Mayhew) [1622041] - [fs] nfs_clone_sb_security(): simplify the check for server bogosity (Scott Mayhew) [1622041] - [fs] nfs: get rid of mount_info ->fill_super() (Scott Mayhew) [1622041] - [fs] nfs: don't pass nfs_subversion to ->create_server() (Scott Mayhew) [1622041] - [fs] nfs: unexport nfs_fs_mount_common() (Scott Mayhew) [1622041] - [fs] nfs: merge xdev and remote file_system_type (Scott Mayhew) [1622041] - [fs] nfs: don't bother passing nfs_subversion to ->try_mount() and nfs_fs_mount_common() (Scott Mayhew) [1622041] - [fs] nfs: stash nfs_subversion reference into nfs_mount_info (Scott Mayhew) [1622041] - [fs] nfs: lift setting mount_info from nfs_xdev_mount() (Scott Mayhew) [1622041] - [fs] nfs4: fold nfs_do_root_mount/nfs_follow_remote_path (Scott Mayhew) [1622041] - [fs] nfs: don't bother setting/restoring export_path around do_nfs_root_mount() (Scott Mayhew) [1622041] - [fs] nfs: fold nfs4_remote_fs_type and nfs4_remote_referral_fs_type (Scott Mayhew) [1622041] - [fs] nfs: lift setting mount_info from nfs4_remote{, _referral}_mount (Scott Mayhew) [1622041] - [fs] nfs: stash server into struct nfs_mount_info (Scott Mayhew) [1622041] - [fs] saner calling conventions for nfs_fs_mount_common() (Scott Mayhew) [1622041] - [fs] NFS: Make "port=" mount option optional for RDMA mounts (Scott Mayhew) [1622041] - [fs] vfs: Make fs_parse() handle fs_param_is_fd-type params better (Scott Mayhew) [1622041] - [include] vfs: Convert ramfs, shmem, tmpfs, devtmpfs, rootfs to use the new mount API (Scott Mayhew) [1622041] - [mm] shmem_parse_one(): switch to use of fs_parse() (Scott Mayhew) [1622041] - [mm] shmem_parse_options(): take handling a single option into a helper (Scott Mayhew) [1622041] - [mm] shmem_parse_options(): don't bother with mpol in separate variable (Scott Mayhew) [1622041] - [mm] shmem_parse_options(): use a separate structure to keep the results (Scott Mayhew) [1622041] - [base] make shmem_fill_super() static (Scott Mayhew) [1622041] - [fs] make ramfs_fill_super() static (Scott Mayhew) [1622041] - [base] devtmpfs: don't mix {ramfs, shmem}_fill_super() with mount_single() (Scott Mayhew) [1622041] - [fs] vfs: Convert squashfs to use the new mount API (Scott Mayhew) [1622041] - [mtd] mtd: Kill mount_mtd() (Scott Mayhew) [1622041] - [fs] vfs: Convert cramfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Add a single-or-reconfig keying to vfs_get_super() (Scott Mayhew) [1622041] - [mtd] mtd: Provide fs_context-aware mount_mtd() replacement (Scott Mayhew) [1622041] - [fs] vfs: Create fs_context-aware mount_bdev() replacement (Scott Mayhew) [1622041] - [fs] new helper: get_tree_keyed() (Scott Mayhew) [1622041] - [fs] vfs: set fs_context::user_ns for reconfigure (Scott Mayhew) [1622041] - [init] mnt_init(): call shmem_init() unconditionally (Scott Mayhew) [1622041] - [base] constify ksys_mount() string arguments (Scott Mayhew) [1622041] - [fs] don't bother with registering rootfs (Scott Mayhew) [1622041] - [fs] init_rootfs(): don't bother with init_ramfs_fs() (Scott Mayhew) [1622041] - [security] vfs: Convert selinuxfs to use the new mount API (Scott Mayhew) [1622041] - [security] vfs: Convert securityfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert openpromfs to use the new mount API (Scott Mayhew) [1622041] - [xen] vfs: Convert xenfs to use the new mount API (Scott Mayhew) [1622041] - [oprofile] vfs: Convert oprofilefs to use the new mount API (Scott Mayhew) [1622041] - [misc] vfs: Convert ibmasmfs to use the new mount API (Scott Mayhew) [1622041] - [infiniband] vfs: Convert qib_fs/ipathfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert efivarfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert configfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert binfmt_misc to use the new mount API (Scott Mayhew) [1622041] - [fs] convenience helper: get_tree_single() (Scott Mayhew) [1622041] - [fs] convenience helper get_tree_nodev() (Scott Mayhew) [1622041] - [fs] vfs: Kill sget_userns() (Scott Mayhew) [1622041] - [fs] vfs: Use sget_fc() for pseudo-filesystems (Scott Mayhew) [1622041] - [dma-buf] fold mount_pseudo_xattr() into pseudo_fs_get_tree() (Scott Mayhew) [1622041] - [virtio] vfs: Convert virtio_balloon to use the new mount API (Scott Mayhew) [1622041] - [scsi] vfs: Convert ocxlflash to use the new mount API (Scott Mayhew) [1622041] - [misc] vfs: Convert cxl to use the new mount API (Scott Mayhew) [1622041] - [drm] vfs: Convert drm to use the new mount API (Scott Mayhew) [1622041] - [dax] vfs: Convert dax to use the new mount API (Scott Mayhew) [1622041] - [net] vfs: Convert sockfs to use the new mount API (Scott Mayhew) [1622041] - [mm] vfs: Convert zsmalloc to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert pipe to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert nsfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert bdev to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert anon_inodes to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert aio to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Provide a mount_pseudo-replacement for the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Provide sb->s_iflags settings in fs_context struct (Scott Mayhew) [1622041] - [fs] vfs: Fix refcounting of filenames in fs_parser (Scott Mayhew) [1622041] - [fs] move mount_capable() further out (Scott Mayhew) [1622041] - [fs] move mount_capable() calls to vfs_get_tree() (Scott Mayhew) [1622041] - [kernel] cpuset: move mount -t cpuset logics into cgroup.c (Scott Mayhew) [1622041] - [fs] procfs: set ->user_ns before calling ->get_tree() (Scott Mayhew) [1622041] - [ipc] mqueue: set ->user_ns before ->get_tree() (Scott Mayhew) [1622041] - [fs] switch mount_capable() to fs_context (Scott Mayhew) [1622041] - [fs] legacy_get_tree(): pass fc->user_ns to mount_capable() (Scott Mayhew) [1622041] - [fs] move the capability checks from sget_userns() to legacy_get_tree() (Scott Mayhew) [1622041] - [fs] vfs: Kill mount_ns() (Scott Mayhew) [1622041] - [fs] vfs: Convert nfsctl to use the new mount API (Scott Mayhew) [1622041] - [net] vfs: Convert rpc_pipefs to use the new mount API (Scott Mayhew) [1622041] - [fs] consolidate the capability checks in sget_{fc, userns}() (Scott Mayhew) [1622041] - [fs] start massaging the checks in sget_...(): move to sget_userns() (Scott Mayhew) [1622041] - [x86] no need to protect against put_user_ns(NULL) (Scott Mayhew) [1622041] - [fs] mount_pseudo(): drop 'name' argument, switch to d_make_root() (Scott Mayhew) [1622041] - [mm] zsmalloc: don't bother with dentry_operations (Scott Mayhew) [1622041] - [virtio] balloon: don't bother with dentry_operations (Scott Mayhew) [1622041] - [scsi] cxlflash: don't bother with dentry_operations (Scott Mayhew) [1622041] - [misc] cxl: don't bother with dentry_operations (Scott Mayhew) [1622041] - [fs] fs: VALIDATE_FS_PARSER should default to n (Scott Mayhew) [1622041] - [security] selinux: fix a missing-check bug in selinux_sb_eat_lsm_opts() (Scott Mayhew) [1622041] - [security] selinux: fix a missing-check bug in selinux_add_mnt_opt( ) (Scott Mayhew) [1622041] - [powerpc] uapi: Wire up the mount API syscalls on non-x86 arches (Scott Mayhew) [1622041] - [x86] uapi, x86: Fix the syscall numbering of the mount API syscalls (Scott Mayhew) [1622041] - [fs] uapi, fsopen: use square brackets around "fscontext" (Scott Mayhew) [1622041] - [samples] vfs: Add a sample program for the new mount API (Scott Mayhew) [1622041] - [x86] vfs: syscall: Add fspick() to select a superblock for reconfiguration (Scott Mayhew) [1622041] - [x86] vfs: syscall: Add fsmount() to create a mount for a superblock (Scott Mayhew) [1622041] - [fs] vfs: syscall: Add fsconfig() for configuring and managing a context (Scott Mayhew) [1622041] - [fs] vfs: Implement logging through fs_context (Scott Mayhew) [1622041] - [fs] vfs: syscall: Add fsopen() to prepare for superblock creation (Scott Mayhew) [1622041] - [fs] Make anon_inodes unconditional (Scott Mayhew) [1622041] - [fs] teach move_mount(2) to work with OPEN_TREE_CLONE (Scott Mayhew) [1622041] - [x86] vfs: syscall: Add move_mount(2) to move mounts around (Scott Mayhew) [1622041] - [fs] vfs: syscall: Add open_tree(2) to reference or clone a mount (Scott Mayhew) [1622041] - [fs] fix sysfs_init_fs_context() in !CONFIG_NET_NS case (Scott Mayhew) [1622041] - [fs] vfs: Add some logging to the core users of the fs_context log (Scott Mayhew) [1622041] - [fs] vfs: Implement logging through fs_context (Scott Mayhew) [1622041] - [documentation] vfs: Provide documentation for new mount API (Scott Mayhew) [1622041] - [fs] vfs: Remove kern_mount_data() (Scott Mayhew) [1622041] - [fs] hugetlbfs: Convert to fs_context (Scott Mayhew) [1622041] - [kernel] cpuset: Use fs_context (Scott Mayhew) [1622041] - [fs] kernfs, sysfs, cgroup, intel_rdt: Support fs_context (Scott Mayhew) [1622041] - [kernel] cgroup: store a reference to cgroup_ns into cgroup_fs_context (Scott Mayhew) [1622041] - [kernel] cgroup1_get_tree(): separate "get cgroup_root to use" into a separate helper (Scott Mayhew) [1622041] - [kernel] cgroup_do_mount(): massage calling conventions (Scott Mayhew) [1622041] - [kernel] cgroup: stash cgroup_root reference into cgroup_fs_context (Scott Mayhew) [1622041] - [kernel] cgroup2: switch to option-by-option parsing (Scott Mayhew) [1622041] - [kernel] cgroup1: switch to option-by-option parsing (Scott Mayhew) [1622041] - [kernel] cgroup: take options parsing into ->parse_monolithic() (Scott Mayhew) [1622041] - [kernel] cgroup: fold cgroup1_mount() into cgroup1_get_tree() (Scott Mayhew) [1622041] - [kernel] cgroup: start switching to fs_context (Scott Mayhew) [1622041] - [ipc] ipc: Convert mqueue fs to fs_context (Scott Mayhew) [1622041] - [fs] proc: Add fs_context support to procfs (Scott Mayhew) [1622041] - [fs] procfs: Move proc_fill_super() to fs/proc/root.c (Scott Mayhew) [1622041] - [include] introduce cloning of fs_context (Scott Mayhew) [1622041] - [fs] convenience helpers: vfs_get_super() and sget_fc() (Scott Mayhew) [1622041] - [fs] vfs: Implement a filesystem superblock creation/configuration context (Scott Mayhew) [1622041] - [include] vfs: Put security flags into the fs_context struct (Scott Mayhew) [1622041] - [security] selinux: Implement the new mount API LSM hooks (Scott Mayhew) [1622041] - [include] vfs: Add LSM hooks for the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Add configuration parser helpers (Scott Mayhew) [1622041] - [include] vfs: Introduce logging functions (Scott Mayhew) [1622041] - [fs] introduce fs_context methods (Scott Mayhew) [1622041] - [fs] fs_context flavour for submounts (Scott Mayhew) [1622041] - [fs] convert do_remount_sb() to fs_context (Scott Mayhew) [1622041] - [fs] vfs_get_tree(): evict the call of security_sb_kern_mount() (Scott Mayhew) [1622041] - [fs] new helper: do_new_mount_fc() (Scott Mayhew) [1622041] - [fs] teach vfs_get_tree() to handle subtype, switch do_new_mount() to it (Scott Mayhew) [1622041] - [fs] new helpers: vfs_create_mount(), fc_mount() (Scott Mayhew) [1622041] - [fs] vfs: Introduce fs_context, switch vfs_kern_mount() to it (Scott Mayhew) [1622041] - [fs] saner handling of temporary namespaces (Scott Mayhew) [1622041] - [fs] separate copying and locking mount tree on cross-userns copies (Scott Mayhew) [1622041] - [fs] kill kernfs_pin_sb() (Scott Mayhew) [1622041] - [fs] mount_fs: suppress MAC on MS_SUBMOUNT as well as MS_KERNMOUNT (Scott Mayhew) [1622041] - [security] LSM: new method: ->sb_add_mnt_opt() (Scott Mayhew) [1622041] - [security] selinux: rewrite selinux_sb_eat_lsm_opts() (Scott Mayhew) [1622041] - [security] selinux: regularize Opt_... names a bit (Scott Mayhew) [1622041] - [security] selinux: switch away from match_token() (Scott Mayhew) [1622041] - [security] selinux: new helper - selinux_add_opt() (Scott Mayhew) [1622041] - [include] LSM: bury struct security_mnt_opts (Scott Mayhew) [1622041] - [security] selinux: switch to private struct selinux_mnt_opts (Scott Mayhew) [1622041] - [fs] LSM: hide struct security_mnt_opts from any generic code (Scott Mayhew) [1622041] - [security] LSM: turn sb_eat_lsm_opts() into a method (Scott Mayhew) [1622041] - [fs] nfs_remount(): don't leak, don't ignore LSM options quietly (Scott Mayhew) [1622041] - [security] LSM: split ->sb_set_mnt_opts() out of ->sb_kern_mount() (Scott Mayhew) [1622041] - [fs] new helper: security_sb_eat_lsm_opts() (Scott Mayhew) [1622041] - [security] LSM: lift extracting and parsing LSM options into the caller of ->sb_remount() (Scott Mayhew) [1622041] - [security] LSM: lift parsing LSM options into the caller of ->sb_kern_mount() (Scott Mayhew) [1622041] - [fs] vfs: Separate changing mount flags full remount (Scott Mayhew) [1622041] - [fs] vfs: Suppress MS_* flag defs within the kernel unless explicitly enabled (Scott Mayhew) [1622041]- [hv] hv_utils: drain the timesync packets on onchannelcallback (Vitaly Kuznetsov) [1884733] - [hv] hv_utils: return error if host timesysnc update is stale (Vitaly Kuznetsov) [1884733] - [netdrv] hv_netvsc: Cache the current data path to avoid duplicate call and message (Mohammed Gamal) [1876527] - [netdrv] hv_netvsc: Switch the data path at the right time during hibernation (Mohammed Gamal) [1876527] - [netdrv] hv_netvsc: Fix hibernation for mlx5 VF driver (Mohammed Gamal) [1876527] - [hv] hv: vmbus: hibernation: do not hang forever in vmbus_bus_resume() (Mohammed Gamal) [1876519] - [target] scsi: target: Fix lun lookup for TARGET_SCF_LOOKUP_LUN_FROM_TAG case (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Fix hang in iscsit_access_np() when getting tpg->np_login_sem (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Fix data digest calculation (Maurizio Lombardi) [1880395] - [target] scsi: target: Make iscsit_register_transport() return void (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Make TMR notification optional (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Implement tmr_notify callback (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix and simplify timeout handling (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Factor out new helper ring_insert_padding (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Do not queue aborted commands (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Use priv pointer in se_cmd (Maurizio Lombardi) [1880395] - [target] scsi: target: Add tmr_notify backend function (Maurizio Lombardi) [1880395] - [target] scsi: target: Modify core_tmr_abort_task() (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Fix inconsistent debug message (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Fix login error when receiving (Maurizio Lombardi) [1880395] - [target] scsi: target: Remove unused variable 'tpg' (Maurizio Lombardi) [1880395] - [target] scsi: target: cxgbit: Remove tx flow control code (Maurizio Lombardi) [1880395] - [target] scsi: target: cxgbit: Check connection state before issuing hardware command (Maurizio Lombardi) [1880395] - [target] scsi: target: Handle short iSIDs (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix iscsi transport id buf len calculation (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix iscsi transport id buffer setup (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix iscsi transport id parsing (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix crash during SPEC_I_PT handling (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix xcopy sess release leak (Maurizio Lombardi) [1880395] - [target] scsi: target: Check enforce_pr_isids during registration (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix crash on ARM during cmd completion (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix crash in tcmu_flush_dcache_range on ARM (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Optimize use of flush_dcache_page (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Remove unnecessary bit TCMU_CMD_BIT_INFLIGHT (Maurizio Lombardi) [1880395] - [target] scsi: target: Rename target_setup_cmd_from_cdb() to target_cmd_parse_cdb() (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix NULL pointer dereference (Maurizio Lombardi) [1880395] - [target] scsi: target: Initialize LUN in transport_init_se_cmd() (Maurizio Lombardi) [1880395] - [target] scsi: target: Factor out a new helper, target_cmd_init_cdb() (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix size in calls to tcmu_flush_dcache_range (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix a use after free in tcmu_check_expired_queue_cmd() (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Userspace must not complete queued commands (Maurizio Lombardi) [1880395] - [target] scsi: target: core: Add initiatorname to NON_EXISTENT_LUN error (Maurizio Lombardi) [1880395] - [target] scsi: target: loopback: Fix READ with data and sensebytes (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Make pgr_support and alua_support attributes writable (Maurizio Lombardi) [1880395] - [target] scsi: target: Make transport_flags per device (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Add attributes enforce_pr_isids and force_pr_aptpl (Maurizio Lombardi) [1880395] - [target] scsi: target: Add missing emulate_pr attribute to passthrough backends (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Remove the iscsi_data_count structure (Maurizio Lombardi) [1880395] - [target] scsi: target: Put lun_ref at end of tmr processing (Maurizio Lombardi) [1880395] - [target] scsi: target/iblock: fix WRITE SAME zeroing (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN (Maurizio Lombardi) [1880395] - [target] scsi: target: fix PR IN / READ FULL STATUS for FC (Maurizio Lombardi) [1880395] - [target] scsi: target: Write NULL to *port_nexus_ptr if no ISID (Maurizio Lombardi) [1880395] - [target] scsi: target: use the stack for XCOPY passthrough cmds (Maurizio Lombardi) [1880395] - [target] scsi: target: increase XCOPY I/O size (Maurizio Lombardi) [1880395] - [target] scsi: target: avoid per-loop XCOPY buffer allocations (Maurizio Lombardi) [1880395] - [target] scsi: target: drop xcopy DISK BLOCK LENGTH debug (Maurizio Lombardi) [1880395] - [target] scsi: target: use #define for xcopy descriptor len (Maurizio Lombardi) [1880395] - [crypto] crypto: testmgr - mark cts(cbc(aes)) as FIPS allowed (Vladis Dronov) [1855161] - [kernel] sched/deadline: Unthrottle PI boosted threads while enqueuing (Daniel Bristot de Oliveira) [1869760] - [kernel] sched/deadline: Fix stale throttling on de-/boosted tasks (Daniel Bristot de Oliveira) [1869760] - [netdrv] treewide: Use fallthrough pseudo-keyword (Jonathan Toppins) [1871286] - [netdrv] tg3: Avoid the use of one-element array (Jonathan Toppins) [1871286] - [netdrv] net: tg3: tidy up loop, remove need to compute off with a multiply (Jonathan Toppins) [1871286] - [netdrv] net: tg3: reject unsupported coalescing params (Jonathan Toppins) [1871286] - [netdrv] net: tg3: use skb_list_walk_safe helper for gso segments (Jonathan Toppins) [1871286] - [gpio] gpio: gpio-mlxbf2.c: Provide __releases() annotation to stop confusing Sparse (Alaa Hleihel) [1816931] - [gpio] gpio: gpio-mlxbf2: Tell the compiler that ACPI functions may not be use (Alaa Hleihel) [1816931] - [gpio] gpio: mlxbf2: Fix sleeping while holding spinlock (Alaa Hleihel) [1816931] - [gpio] gpio: mlxbf2: fix return value check in mlxbf2_gpio_get_lock_res() (Alaa Hleihel) [1816931] - [gpio] gpio: mlxbf2: remove unused including (Alaa Hleihel) [1816931] - [gpio] gpio: add driver for Mellanox BlueField 2 GPIO controller (Alaa Hleihel) [1816931] - [include] compiler_attributes.h: Add 'fallthrough' pseudo keyword for switch/case use (Ivan Vecera) [1867168] - [net] net: sctp: Rename fallthrough label to unhandled (Ivan Vecera) [1867168]- [pci] PCI: Mark AMD Navi10 GPU rev 0x00 ATS as broken (Myron Stowe) [1888310] - [netdrv] nfp: flower: fix ABI mismatch between driver and firmware (Ivan Vecera) [1886717] - [netdrv] netronome: fix ipv6 link error (Ivan Vecera) [1886717] - [netdrv] nfp: flower: fix incorrect flag assignment (Ivan Vecera) [1886717] - [netdrv] nfp: flower: fix used time of merge flow statistics (Ivan Vecera) [1886717] - [netdrv] nfp: flower: inform firmware of flower features (Ivan Vecera) [1886717] - [netdrv] nfp: flower: renaming of feature bits (Ivan Vecera) [1886717] - [netdrv] nfp: don't check lack of RX/TX channels (Ivan Vecera) [1886717] - [netdrv] nfp: abm: fix error return code in nfp_abm_vnic_alloc() (Ivan Vecera) [1886717] - [netdrv] nfp: abm: fix a memory leak bug (Ivan Vecera) [1886717] - [netdrv] net/nfp: Update driver to use global kernel version (Ivan Vecera) [1886717] - [netdrv] nfp: allow explicitly selected delayed stats (Ivan Vecera) [1886717] - [netdrv] net: nfp: Use scnprintf() for avoiding potential buffer overflow (Ivan Vecera) [1886717] - [netdrv] nfp: let core reject the unsupported coalescing parameters (Ivan Vecera) [1886717] - [netdrv] nfp: Use pci_get_dsn() (Ivan Vecera) [1886717] - [netdrv] netronome: Replace zero-length array with flexible-array member (Ivan Vecera) [1886717] - [netdrv] devlink: move devlink documentation to subfolder (Ivan Vecera) [1886717] - [netdrv] remove ioremap_nocache and devm_ioremap_nocache (Ivan Vecera) [1886717] - [netdrv] nfp: tls: implement the stream sync RX resync (Ivan Vecera) [1886717] - [netdrv] nfp: pass packet pointer to nfp_net_parse_meta() (Ivan Vecera) [1886717] - [netdrv] nfp: flower: update flow merge code to support IPv6 tunnels (Ivan Vecera) [1886717] - [netdrv] nfp: flower: support ipv6 tunnel keep-alive messages from fw (Ivan Vecera) [1886717] - [netdrv] nfp: flower: handle notifiers for ipv6 route changes (Ivan Vecera) [1886717] - [netdrv] nfp: flower: handle ipv6 tunnel no neigh request (Ivan Vecera) [1886717] - [netdrv] nfp: flower: modify pre-tunnel and set tunnel action for ipv6 (Ivan Vecera) [1886717] - [netdrv] nfp: flower: offload list of IPv6 tunnel endpoint addresses (Ivan Vecera) [1886717] - [netdrv] nfp: flower: compile match for IPv6 tunnels (Ivan Vecera) [1886717] - [netdrv] nfp: flower: move udp tunnel key match compilation to helper function (Ivan Vecera) [1886717] - [netdrv] nfp: flower: pass flow rule pointer directly to match functions (Ivan Vecera) [1886717] - [netdrv] nfp: flower: fix stats id allocation (Ivan Vecera) [1886717] - [netdrv] netronome: use the new txqueue timeout argument (Ivan Vecera) [1886717] - [netdrv] nfp: add support for TLV device stats (Ivan Vecera) [1886717] - [netdrv] treewide: Use sizeof_field() macro (Ivan Vecera) [1886717] - [netdrv] net: use rhashtable_lookup() instead of rhashtable_lookup_fast() (Ivan Vecera) [1886717] - [netdrv] nfp: bpf: make array exp_mask static, makes object smaller (Ivan Vecera) [1886717] - [netdrv] nfp: flower: fix memory leak in nfp_flower_spawn_vnic_reprs (Ivan Vecera) [1886717] - [netdrv] nfp: flower: prevent memory leak in nfp_flower_spawn_phy_reprs (Ivan Vecera) [1886717] - [netdrv] nfp: read chip model from the PluDevice register (Ivan Vecera) [1886717] - [netdrv] nfp: devlink: set unknown fw_load_policy (Ivan Vecera) [1886717] - [documentation] Documentation: nfp: add nfp driver specific notes (Ivan Vecera) [1886717] - [netdrv] kdoc: fix nfp_fw_load documentation (Ivan Vecera) [1886717] - [netdrv] nfp: devlink: add 'reset_dev_on_drv_probe' support (Ivan Vecera) [1886717] - [netdrv] nfp: devlink: add 'fw_load_policy' support (Ivan Vecera) [1886717] - [netdrv] nfp: add devlink param infrastructure (Ivan Vecera) [1886717] - [netdrv] nfp: honor FW reset and loading policies (Ivan Vecera) [1886717] - [netdrv] nfp: nsp: add support for hwinfo set operation (Ivan Vecera) [1886717] - [netdrv] nfp: nsp: add support for optional hwinfo lookup (Ivan Vecera) [1886717] - [netdrv] nfp: nsp: add support for fw_loaded command (Ivan Vecera) [1886717] - [netdrv] nfp: bpf: add simple map op cache (Ivan Vecera) [1886717] - [netdrv] nfp: bpf: rework MTU checking (Ivan Vecera) [1886717] - [netdrv] net: Use skb accessors in network drivers (Ivan Vecera) [1886717] - [netdrv] nfp: tls: rename tls packet counters (Ivan Vecera) [1886717] - [netdrv] nfp: tls: undo TLS sequence tracking when dropping the frame (Ivan Vecera) [1886717] - [netdrv] nfp: tls: avoid one of the ifdefs for TLS (Ivan Vecera) [1886717] - [netdrv] nfp: tls: don't leave key material in freed FW cmsg skbs (Ivan Vecera) [1886717] - [netdrv] nfp: tls: count TSO segments separately for the TLS offload (Ivan Vecera) [1886717] - [netdrv] nfp: tls: use unique connection ids instead of 4-tuple for TX (Ivan Vecera) [1886717] - [netdrv] nfp: tls: move setting ipver_vlan to a helper (Ivan Vecera) [1886717] - [netdrv] nfp: tls: ignore queue limits for delete commands (Ivan Vecera) [1886717] - [netdrv] nfp: tls: fix error return code in nfp_net_tls_add() (Ivan Vecera) [1886717] - [netdrv] nfp: tls: enable TLS RX offload (Ivan Vecera) [1886717] - [netdrv] net/tls: don't clear TX resync flag on error (Ivan Vecera) [1886717] - [netdrv] net/tls: add tracing for device/offload events (Ivan Vecera) [1886717] - [netdrv] nfp: tls: make use of kernel-driven TX resync (Ivan Vecera) [1886717] - [netdrv] net/tls: generalize the resync callback (Ivan Vecera) [1886717] - [netdrv] nfp: tls: implement RX TLS resync (Ivan Vecera) [1886717] - [netdrv] nfp: add async version of mailbox communication (Ivan Vecera) [1886717] - [netdrv] nfp: rename nfp_ccm_mbox_alloc() (Ivan Vecera) [1886717] - [netdrv] nfp: tls: set skb decrypted flag (Ivan Vecera) [1886717] - [netdrv] nfp: tls: add basic statistics (Ivan Vecera) [1886717] - [netdrv] nfp: tls: add/delete TLS TX connections (Ivan Vecera) [1886717] - [netdrv] nfp: tls: add datapath support for TLS TX (Ivan Vecera) [1886717] - [netdrv] nfp: flower: use struct_size() helper (Ivan Vecera) [1886717] - [netdrv] nfp: add missing kdoc (Ivan Vecera) [1886717] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Ivan Vecera) [1886717] - [iommu] iommu/amd: Fix the overwritten field in IVMD header (Baoquan He) [1869148] - [powerpc] pseries/drmem: don't cache node id in drmem_lmb struct (Diego Domingos) [1816543] - [include] cgroup: Fix sock_cgroup_data on big-endian (Vladis Dronov) [1868659] {CVE-2020-14356} - [include] cgroup: fix cgroup_sk_alloc() for sk_clone_lock() (Vladis Dronov) [1868659] {CVE-2020-14356} - [net] netprio_cgroup: Fix unlimited memory leak of v2 cgroups (Vladis Dronov) [1868659] {CVE-2020-14356} - [netdrv] net/broadcom: Clean broadcom code from driver versions (Jonathan Toppins) [1872443]- [net] Bluetooth: fix kernel oops in store_pending_adv_report (Gopal Tiwari) [1888455] {CVE-2020-24490} - [net] Bluetooth: L2CAP: Fix calling sk_filter on non-socket based channel (Gopal Tiwari) [1888258] {CVE-2020-12351} - [net] Bluetooth: A2MP: Fix not initializing all members (Gopal Tiwari) [1888807] {CVE-2020-12352} - [mm] mm, compaction: make capture control handling safe wrt interrupts (Rafael Aquini) [1862175] - [mm] mm/compaction: fix a typo in comment "pessemistic"->"pessimistic" (Rafael Aquini) [1862175] - [mm] mm/compaction: add missing annotation for compact_lock_irqsave (Rafael Aquini) [1862175] - [mm] mm/compaction.c: clean code by removing unnecessary assignment (Rafael Aquini) [1862175] - [kernel] mm/compaction: Disable compact_unevictable_allowed on RT (Rafael Aquini) [1862175] - [kernel] mm/compaction: really limit compact_unevictable_allowed to 0 and 1 (Rafael Aquini) [1862175] - [mm] mm, compaction: fully assume capture is not NULL in compact_zone_order() (Rafael Aquini) [1862175] - [mm] mm, compaction: fix wrong pfn handling in __reset_isolation_pfn() (Rafael Aquini) [1862175] - [mm] mm/compaction.c: remove unnecessary zone parameter in isolate_migratepages() (Rafael Aquini) [1862175] - [mm] mm: compaction: avoid 100 CPU usage during compaction when a task is killed (Rafael Aquini) [1862175] - [mm] mm, compaction: make sure we isolate a valid PFN (Rafael Aquini) [1862175] - [mm] mm/compaction.c: correct zone boundary handling when isolating pages from a pageblock (Rafael Aquini) [1862175] - [trace] mm, compaction: some tracepoints should be defined only when CONFIG_COMPACTION is set (Rafael Aquini) [1862175] - [trace] mm: compaction: show gfp flag names in try_to_compact_pages tracepoint (Rafael Aquini) [1862175] - [mm] mm/compaction.c: fix an undefined behaviour (Rafael Aquini) [1862175] - [mm] mm, page_alloc: always use a captured page regardless of compaction result (Rafael Aquini) [1862175] - [mm] mm/compaction.c: abort search if isolation fails (Rafael Aquini) [1862175] - [mm] mm/compaction.c: correct zone boundary handling when resetting pageblock skip hints (Rafael Aquini) [1862175] - [include] include/linux/list.h: fix list_is_first() kernel-doc (Rafael Aquini) [1862175] - [mm] mm/compaction: pass pgdat to too_many_isolated() instead of zone (Rafael Aquini) [1862175] - [mm] mm: remove zone_lru_lock() function, access ->lru_lock directly (Rafael Aquini) [1862175] - [mm] mm, compaction: capture a page under direct compaction (Rafael Aquini) [1862175] - [mm] mm, compaction: be selective about what pageblocks to clear skip hints (Rafael Aquini) [1862175] - [mm] mm, compaction: sample pageblocks for free pages (Rafael Aquini) [1862175] - [mm] mm, compaction: round-robin the order while searching the free lists for a target (Rafael Aquini) [1862175] - [mm] mm, compaction: reduce premature advancement of the migration target scanner (Rafael Aquini) [1862175] - [mm] mm, compaction: do not consider a need to reschedule as contention (Rafael Aquini) [1862175] - [mm] mm, compaction: rework compact_should_abort as compact_check_resched (Rafael Aquini) [1862175] - [mm] mm, compaction: keep cached migration PFNs synced for unusable pageblocks (Rafael Aquini) [1862175] - [mm] mm, compaction: check early for huge pages encountered by the migration scanner (Rafael Aquini) [1862175] - [mm] mm, compaction: finish pageblock scanning on contention (Rafael Aquini) [1862175] - [mm] mm, compaction: avoid rescanning the same pageblock multiple times (Rafael Aquini) [1862175] - [mm] mm, compaction: use free lists to quickly locate a migration target (Rafael Aquini) [1862175] - [mm] mm, compaction: keep migration source private to a single compaction instance (Rafael Aquini) [1862175] - [mm] mm, compaction: use free lists to quickly locate a migration source (Rafael Aquini) [1862175] - [mm] mm, compaction: always finish scanning of a full pageblock (Rafael Aquini) [1862175] - [mm] mm, migrate: immediately fail migration of a page with no migration handler (Rafael Aquini) [1862175] - [mm] mm, compaction: rename map_pages to split_map_pages (Rafael Aquini) [1862175] - [mm] mm, compaction: remove unnecessary zone parameter in some instances (Rafael Aquini) [1862175] - [mm] mm, compaction: remove last_migrated_pfn from compact_control (Rafael Aquini) [1862175] - [mm] mm, compaction: rearrange compact_control (Rafael Aquini) [1862175] - [mm] mm, compaction: shrink compact_control (Rafael Aquini) [1862175] - [kernel] mm: remove sysctl_extfrag_handler() (Rafael Aquini) [1862175] - [net] netlink: fix state reallocation in policy export (Petr Oros) [1874050] - [net] netlink: add infrastructure to expose policies to userspace (Petr Oros) [1874050] - [lib] netlink: factor out policy range helpers (Petr Oros) [1874050] - [net] netlink: remove NLA_EXACT_LEN_WARN (Petr Oros) [1874050] - [include] netlink: allow NLA_MSECS to have range validation (Petr Oros) [1874050] - [net] netlink: extend policy range validation (Petr Oros) [1874050] - [net] nl80211: link recursive netlink nested policy (Petr Oros) [1874050] - [lib] netlink: limit recursion depth in policy validation (Petr Oros) [1874050] - [net] netlink: remove type-unsafe validation_data pointer (Petr Oros) [1874050] - [powerpc] powerpc/pseries: new lparcfg key/value pair: partition_affinity_score (Steve Best) [1879420] - [powerpc] powerpc/perf: consolidate GPCI hcall structs into asm/hvcall.h (Steve Best) [1879420] - [include] iopoll: Introduce read_poll_timeout_atomic macro (Patrick Talbert) [1879211] - [include] iopoll: redefined readx_poll_timeout macro to simplify the code (Patrick Talbert) [1879211] - [include] iopoll: introduce read_poll_timeout macro (Patrick Talbert) [1879211] - [infiniband] IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode (Kamal Heib) [1857600] - [infiniband] RDMA/core: Fix double destruction of uobject (Kamal Heib) [1857600] - [infiniband] RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe() (Kamal Heib) [1857600] - [net] xprtrdma: Fix use of xdr_stream_encode_item_{present, absent} (Kamal Heib) [1857600] - [net] xprtrdma: Fix trace point use-after-free race (Kamal Heib) [1857600] - [net] xprtrdma: Restore wake-up-all to rpcrdma_cm_event_handler() (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Fix missing RDMA_CM_EVENT_REJECTED event after receiving REJ message (Kamal Heib) [1857600] - [net] xprtrdma: kmalloc rpcrdma_ep separate from rpcrdma_xprt (Kamal Heib) [1857600] - [net] xprtrdma: Extract sockaddr from struct rdma_cm_id (Kamal Heib) [1857600] - [net] xprtrdma: Merge struct rpcrdma_ia into struct rpcrdma_ep (Kamal Heib) [1857600] - [net] xprtrdma: Disconnect on flushed completion (Kamal Heib) [1857600] - [net] xprtrdma: Remove rpcrdma_ia::ri_flags (Kamal Heib) [1857600] - [net] xprtrdma: Invoke rpcrdma_ia_open in the connect worker (Kamal Heib) [1857600] - [net] xprtrdma: Allocate Protection Domain in rpcrdma_ep_create() (Kamal Heib) [1857600] - [net] xprtrdma: Refactor rpcrdma_ep_connect() and rpcrdma_ep_disconnect() (Kamal Heib) [1857600] - [net] xprtrdma: Clean up the post_send path (Kamal Heib) [1857600] - [net] xprtrdma: Refactor frwr_init_mr() (Kamal Heib) [1857600] - [net] xprtrdma: Invoke rpcrdma_ep_create() in the connect worker (Kamal Heib) [1857600] - [net] xprtrdma: Enhance MR-related trace points (Kamal Heib) [1857600] - [infiniband] IB/iser: Always check sig MR before putting it to the free pool (Kamal Heib) [1857600] - [infiniband] RDMA/efa: Use in-kernel offsetofend() to check field availability (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Make sure the cm_id is in the IB_CM_IDLE state in destroy (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Allow ib_send_cm_sidr_rep() to be done under lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Allow ib_send_cm_rej() to be done under lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Allow ib_send_cm_drep() to be done under lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Allow ib_send_cm_dreq() to be done under lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Add some lockdep assertions for cm_id_priv->lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Make it clearer how concurrency works in cm_req_handler() (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Make it clear that there is no concurrency in cm_sidr_req_handler() (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Simplify establishing a listen cm_id (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Make the destroy_id flow more robust (Kamal Heib) [1857600] - [net] svcrdma: Avoid DMA mapping small RPC Replies (Kamal Heib) [1857600] - [net] svcrdma: Fix double sync of transport header buffer (Kamal Heib) [1857600] - [net] svcrdma: Refactor chunk list encoders (Kamal Heib) [1857600] - [net] SUNRPC: Add encoders for list item discriminators (Kamal Heib) [1857600] - [net] svcrdma: Rename svcrdma_encode trace points in send routines (Kamal Heib) [1857600] - [net] svcrdma: Update synopsis of svc_rdma_send_reply_msg() (Kamal Heib) [1857600] - [net] svcrdma: Update synopsis of svc_rdma_map_reply_msg() (Kamal Heib) [1857600] - [net] svcrdma: Update synopsis of svc_rdma_send_reply_chunk() (Kamal Heib) [1857600] - [net] svcrdma: De-duplicate code that locates Write and Reply chunks (Kamal Heib) [1857600] - [include] svcrdma: Use struct xdr_stream to decode ingress transport headers (Kamal Heib) [1857600] - [net] svcrdma: Remove svcrdma_cm_event() trace point (Kamal Heib) [1857600] - [net] SUNRPC: Add xdr_pad_size() helper (Kamal Heib) [1857600] - [net] nfsd: Fix NFSv4 READ on RDMA when using readv (Kamal Heib) [1857600] - [net] svcrdma: Replace zero-length array with flexible-array member (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Delete not implemented CM peer to peer communication (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Teach lockdep about the order of rtnl and lock (Kamal Heib) [1857600] - [infiniband] RDMA/rw: map P2P memory correctly for signature operations (Kamal Heib) [1857600] - [infiniband] RDMA/ipoib: reject unsupported coalescing params (Kamal Heib) [1857600] - [infiniband] RDMA/providers: Fix return value when QP type isn't supported (Kamal Heib) [1857600] - [infiniband] RDMA/hns: Use the new APIs for printing log (Kamal Heib) [1857600] - [infiniband] RDMA/hns: Optimize hns_roce_modify_qp function (Kamal Heib) [1857600] - [infiniband] RDMA/hns: RDMA/hns: Assign rq head pointer when enable rq record db (Kamal Heib) [1857600] - [infiniband] RDMA/hns: Update the prompt message for creating and destroy qp (Kamal Heib) [1857600] - [infiniband] RDMA/efa: Do not delay freeing of DMA pages (Kamal Heib) [1857600] - [infiniband] RDMA/efa: Properly document the interrupt mask register (Kamal Heib) [1857600] - [infiniband] RDMA/efa: Unified getters/setters for device structs bitmask access (Kamal Heib) [1857600] - [infiniband] RDMA/ipoib: Don't set constant driver version (Kamal Heib) [1857600] - [infiniband] RDMA: Replace zero-length array with flexible-array member (Kamal Heib) [1857600] - [infiniband] RDMA/ucma: Use refcount_t for the ctx->ref (Kamal Heib) [1857600] - [infiniband] RDMA/core: Get rid of ib_create_qp_user (Kamal Heib) [1857600] - [infiniband] RDMA/core: Add weak ordering dma attr to dma mapping (Kamal Heib) [1857600] - [infiniband] RDMA/ucma: Mask QPN to be 24 bits according to IBTA (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Use refcount API to reflect refcount (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Rename cma_device ref/deref helpers to to get/put (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Use refcount API to reflect refcount (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Rename cma_device ref/deref helpers to to get/put (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Use RDMA device port iterator (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Use a helper function to enqueue resolve work items (Kamal Heib) [1857600] - [infiniband] RDMA/rw: Fix error flow during RDMA context initialization (Kamal Heib) [1857600] - [infiniband] IB/core: Add interface to advise_mr for kernel users (Kamal Heib) [1857600] - [infiniband] IB/core: Introduce ib_reg_user_mr (Kamal Heib) [1857600] - [uapi] RDMA/core: Add the core support field to METHOD_GET_CONTEXT (Kamal Heib) [1857600] - [infiniband] RDMA/uverbs: Add ioctl command to get a device context (Kamal Heib) [1857600] - [fs] xfs: Fix false positive lockdep warning with sb_internal & fs_reclaim (Waiman Long) [1838643] - [mm] mm/mmu_notifier: mm/rmap.c: Fix a mmu_notifier range bug in try_to_unmap_one (Waiman Long) [1871883] - [mm] mm/memory.c: initialise mmu_notifier_range correctly (Waiman Long) [1871883] - [mm] mm/mmu_notifier: use structure for invalidate_range_start/end calls v2 (Waiman Long) [1871883] - [mm] hugetlb: take PMD sharing into account when flushing tlb/caches (Waiman Long) [1871883] - [mm] mm, hugetlbfs: pass fault address to cow handler (Waiman Long) [1871883] - [mm] mm, hugetlbfs: rename address to haddr in hugetlb_cow() (Waiman Long) [1871883] - [mm] mm, huge page: copy target sub-page last when copy huge page (Waiman Long) [1871883] - [mm] mm, clear_huge_page: move order algorithm into a separate function (Waiman Long) [1871883] - [mm] Revert "mm: always flush VMA ranges affected by zap_page_range" (Waiman Long) [1871883] - [kernel] psi: eliminate kthread_worker from psi trigger scheduling mechanism (Waiman Long) [1873040] - [kernel] psi: get poll_work to run when calling poll syscall next time (Waiman Long) [1873040] - [block] block: loop: set discard granularity and alignment for block device backed loop (Ming Lei) [1866712] - [net] gre: recompute gre csum for sctp over gre tunnels (Lorenzo Bianconi) [1755200] - [include] mm/hugetlb: enable arch specific huge page size support for migration (Donghai Qiao) [1869887] - [mm] arm64/mm: enable HugeTLB migration for contiguous bit HugeTLB pages (Donghai Qiao) [1869887] - [lib] idr: Fix idr_get_next_ul race with idr_remove (Felix Ansell) [1866062] - [lib] genalloc: Fix a set of docs build warnings (Felix Ansell) [1866062] - [lib] lib/Kconfig: fix OBJAGG in lib/ menu structure (Felix Ansell) [1866062] - [lib] lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user() (Felix Ansell) [1866062]- [char] random32: update the net random state on interrupt and activity (Donghai Qiao) [1867569] {CVE-2020-16166} - [fs] nfs: Fix getxattr kernel panic and memory overflow (Benjamin Coddington) [1880894] {CVE-2020-25212} - [tools] selftests: rtnetlink: Test bridge enslavement with different parent IDs (Jonathan Toppins) [1860479] - [tools] selftests: rtnetlink: correct the final return value for the test (Jonathan Toppins) [1860479] - [net] Fix bridge enslavement failure (Jonathan Toppins) [1860479] - [net] Make mpls_entry_encode() available for generic users (Patrick Talbert) [1878818] - [net] SUNRPC dont update timeout value on connection reset (Steve Dickson) [1861895] - [kernel] overflow.h: Add flex_array_size() helper (Petr Oros) [1876924] - [net] netpoll: accept NULL np argument in netpoll_send_skb() (Ivan Vecera) [1867968] - [net] netpoll: netpoll_send_skb() returns transmit status (Ivan Vecera) [1867968] - [net] netpoll: move netpoll_send_skb() out of line (Ivan Vecera) [1867968] - [net] netpoll: remove dev argument from netpoll_send_skb_on_dev() (Ivan Vecera) [1867968] - [net] netpoll: Fix use correct return type for ndo_start_xmit() (Ivan Vecera) [1867968] - [net] core: Introduce netdev_get_xmit_slave (Ivan Vecera) [1867974] - [net] get rid of lockdep_set_class_and_subclass() (Ivan Vecera) [1867961] - [net] change addr_list_lock back to static key (Ivan Vecera) [1867961] - [net] batman-adv: Revert "Drop lockdep.h include for soft-interface.c" (Ivan Vecera) [1867961] - [net] partially revert dynamic lockdep key changes (Ivan Vecera) [1867961] - [kernel] rcu: Maintain RHEL kABI (Waiman Long) [1862812] - [kernel] rcu: Don't acquire lock in NMI handler in rcu_nmi_enter_common() (Waiman Long) [1862812] - [kernel] rcu: Add *_ONCE() to rcu_data ->rcu_forced_tick (Waiman Long) [1862812] - [kernel] rcu: Make rcu_barrier() account for offline no-CBs CPUs (Waiman Long) [1862812] - [kernel] rcu: Clear ->core_needs_qs at GP end or self-reported QS (Waiman Long) [1862812] - [kernel] rcu: Forgive slow expedited grace periods at boot time (Waiman Long) [1862812] - [tools] torture: Hoist calls to lscpu to higher-level kvm.sh script (Waiman Long) [1862812] - [tools] torture: Allow "CFLIST" to specify default list of scenarios (Waiman Long) [1862812] - [kernel] rcutorture: Dynamically allocate rcu_fwds structure (Waiman Long) [1862812] - [kernel] rcutorture: Complete threading rcu_fwd pointers through functions (Waiman Long) [1862812] - [kernel] rcutorture: Move to dynamic initialization of rcu_fwds (Waiman Long) [1862812] - [kernel] rcutorture: Thread rcu_fwd pointer through forward-progress functions (Waiman Long) [1862812] - [kernel] rcutorture: Pull callback forward-progress data into rcu_fwd struct (Waiman Long) [1862812] - [tools] rcutorture: Add worst-case call_rcu() forward-progress results (Waiman Long) [1862812] - [tools] torture: Handle systems lacking the mpstat command (Waiman Long) [1862812] - [tools] torture: Handle jitter for CPUs that cannot be offlined (Waiman Long) [1862812] - [tools] rcutorture: Dispense with Dracut for initrd creation (Waiman Long) [1862812] - [tools] torture: Use gawk instead of awk for systime() function (Waiman Long) [1862812] - [kernel] rcu: Avoid tick_dep_set_cpu() misordering (Waiman Long) [1862812] - [kernel] rcu: Provide wrappers for uses of ->rcu_read_lock_nesting (Waiman Long) [1862812] - [kernel] rcu: Use READ_ONCE() for ->expmask in rcu_read_unlock_special() (Waiman Long) [1862812] - [kernel] rcu: Clear ->rcu_read_unlock_special only once (Waiman Long) [1862812] - [kernel] rcu: Clear .exp_hint only when deferred quiescent state has been reported (Waiman Long) [1862812] - [kernel] rcu: Rename some instance of CONFIG_PREEMPTION to CONFIG_PREEMPT_RCU (Waiman Long) [1862812] - [kernel] rcu: Use CONFIG_PREEMPTION where appropriate (Waiman Long) [1862812] - [kernel] rcu: Make PREEMPT_RCU be a modifier to TREE_RCU (Waiman Long) [1862812] - [kernel] rcu: Use lockdep rather than comment to enforce lock held (Waiman Long) [1862812] - [kernel] rcu: Avoid data-race in rcu_gp_fqs_check_wake() (Waiman Long) [1862812] - [kernel] rcu/nocb: Fix dump_tree hierarchy print always active (Waiman Long) [1862812] - [kernel] rculist.h: Add list_tail_rcu() (Waiman Long) [1862812] - [kernel] rculist_nulls: Change docbook comment headers (Waiman Long) [1862812] - [kernel] rculist_nulls: Add docbook comments (Waiman Long) [1862812] - [include] rcu: Add a hlist_nulls_unhashed_lockless() function (Waiman Long) [1862812] - [kernel] rcu: Use WRITE_ONCE() for assignments to ->pprev for hlist_nulls (Waiman Long) [1862812] - [kernel] rcu: Remove kfree_call_rcu_nobatch() (Waiman Long) [1862812] - [kernel] rcu: Remove kfree_rcu() special casing and lazy-callback handling (Waiman Long) [1862812] - [kernel] rcu: Add support for debug_objects debugging for kfree_rcu() (Waiman Long) [1862812] - [kernel] rcu: Add multiple in-flight batches of kfree_rcu() work (Waiman Long) [1862812] - [kernel] rcu: Make kfree_rcu() use a non-atomic ->monitor_todo (Waiman Long) [1862812] - [kernel] rcuperf: Add kfree_rcu() performance Tests (Waiman Long) [1862812] - [kernel] rcu: Add basic support for kfree_rcu() batching (Waiman Long) [1862812] - [kernel] rcu: Remove unused stop-machine #include (Waiman Long) [1862812] - [kernel] srcu: Apply *_ONCE() to ->srcu_last_gp_end (Waiman Long) [1862812] - [kernel] rcu: Switch force_qs_rnp() to for_each_leaf_node_cpu_mask() (Waiman Long) [1862812] - [kernel] rcu: Move rcu_{expedited, normal} definitions into rcupdate.h (Waiman Long) [1862812] - [kernel] rcu: Move gp_state_namesand gp_state_getname() to tree_stall.h (Waiman Long) [1862812] - [kernel] rcu: Remove the declaration of call_rcu() in tree.h (Waiman Long) [1862812] - [kernel] rcu: Fix tracepoint tracking RCU CPU kthread utilization (Waiman Long) [1862812] - [kernel] rcu: Fix harmless omission of "CONFIG_" from #if condition (Waiman Long) [1862812] - [kernel] rcu: Mark non-global functions and variables as static (Waiman Long) [1862812] - [kernel] rcu: Enable tick for nohz_full CPUs slow to provide expedited QS (Waiman Long) [1862812] - [kernel] rcu: Replace synchronize_sched_expedited_wait() "_sched" with "_rcu" (Waiman Long) [1862812] - [kernel] rcu: Update tree_exp.h function-header comments (Waiman Long) [1862812] - [kernel] rcu: Rename sync_rcu_preempt_exp_done() to sync_rcu_exp_done() (Waiman Long) [1862812] - [kernel] rcu: Allow only one expedited GP to run concurrently with wakeups (Waiman Long) [1862812] - [kernel] rcu: Fix missed wakeup of exp_wq waiters (Waiman Long) [1862812] - [kernel] rcu: Substitute lookup for bit-twiddling in sync_rcu_exp_select_node_cpus() (Waiman Long) [1862812] - [kernel] rcu: Fix data-race due to atomic_t copy-by-value (Waiman Long) [1862812] - [kernel] rcu: Avoid modifying mask_ofl_ipi in sync_rcu_exp_select_node_cpus() (Waiman Long) [1862812] - [kernel] rcu: Use *_ONCE() to protect lockless ->expmask accesses (Waiman Long) [1862812] - [kernel] rcutorture: Make in-kernel-loop testing more brutal (Waiman Long) [1862812] - [kernel] rcutorture: Separate warnings for each failure type (Waiman Long) [1862812] - [kernel] rcu: Remove unused variable rcu_perf_writer_state (Waiman Long) [1862812] - [tools] rcutorture: Remove CONFIG_HOTPLUG_CPU=n from scenarios (Waiman Long) [1862812] - [kernel] rcu: Remove unused function rcutorture_record_progress() (Waiman Long) [1862812] - [kernel] rcu: Make kernel-mode nohz_full CPUs invoke the RCU core processing (Waiman Long) [1862812] - [kernel] rcu: Confine ->core_needs_qs accesses to the corresponding CPU (Waiman Long) [1862812] - [kernel] rcu: Reset CPU hints when reporting a quiescent state (Waiman Long) [1862812] - [kernel] rcu: Force nohz_full tick on upon irq enter instead of exit (Waiman Long) [1862812] - [kernel] rcu: Force tick on for nohz_full CPUs not reaching quiescent states (Waiman Long) [1862812] - [kernel] rcutorture: Emulate dyntick aspect of userspace nohz_full sojourn (Waiman Long) [1862812] - [kernel] rcu: Make CPU-hotplug removal operations enable tick (Waiman Long) [1862812] - [kernel] stop_machine: Provide RCU quiescent state in multi_cpu_stop() (Waiman Long) [1862812] - [kernel] rcutorture: Force on tick for readers and callback flooders (Waiman Long) [1862812] - [kernel] rcu: Force on tick when invoking lots of callbacks (Waiman Long) [1862812] - [kernel] time: Export tick start/stop functions for rcutorture (Waiman Long) [1862812] - [kernel] nohz: Add TICK_DEP_BIT_RCU (Waiman Long) [1862812] - [kernel] rcu: Suppress levelspread uninitialized messages (Waiman Long) [1862812] - [kernel] rcu: Fix uninitialized variable in nocb_gp_wait() (Waiman Long) [1862812] - [trace] rcu: Update descriptions for rcu_future_grace_period tracepoint (Waiman Long) [1862812] - [trace] rcu: Update descriptions for rcu_nocb_wake tracepoint (Waiman Long) [1862812] - [trace] rcu: Remove obsolete descriptions for rcu_barrier tracepoint (Waiman Long) [1862812] - [kernel] rcu: Ensure that ->rcu_urgent_qs is set before resched IPI (Waiman Long) [1862812] - [kernel] rcu: Several rcu_segcblist functions can be static (Waiman Long) [1862812] - [kernel] rcu: Remove unused function hlist_bl_del_init_rcu() (Waiman Long) [1862812] - [kernel] rcu: Allow rcu_do_batch() to dynamically adjust batch sizes (Waiman Long) [1862812] - [kernel] srcu: Avoid srcutorture security-based pointer obfuscation (Waiman Long) [1862812] - [kernel] rcu/nocb: Don't wake no-CBs GP kthread if timer posted under overload (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce __call_rcu_nocb_wake() leaf rcu_node ->lock contention (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce nocb_cb_wait() leaf rcu_node ->lock contention (Waiman Long) [1862812] - [kernel] rcu/nocb: Advance CBs after merge in rcutree_migrate_callbacks() (Waiman Long) [1862812] - [kernel] rcu/nocb: Avoid synchronous wakeup in __call_rcu_nocb_wake() (Waiman Long) [1862812] - [kernel] rcu/nocb: Print no-CBs diagnostics when rcutorture writer unduly delayed (Waiman Long) [1862812] - [kernel] rcu/nocb: EXP Check use and usefulness of ->nocb_lock_contended (Waiman Long) [1862812] - [kernel] rcu/nocb: Add bypass callback queueing (Waiman Long) [1862812] - [kernel] rcu/nocb: Atomic ->len field in rcu_segcblist structure (Waiman Long) [1862812] - [kernel] rcu/nocb: Unconditionally advance and wake for excessive CBs (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce ->nocb_lock contention with separate ->nocb_gp_lock (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce contention at no-CBs invocation-done time (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce contention at no-CBs registry-time CB advancement (Waiman Long) [1862812] - [kernel] rcu/nocb: Round down for number of no-CBs grace-period kthreads (Waiman Long) [1862812] - [kernel] rcu/nocb: Avoid ->nocb_lock capture by corresponding CPU (Waiman Long) [1862812] - [kernel] rcu/nocb: Avoid needless wakeups of no-CBs grace-period kthread (Waiman Long) [1862812] - [kernel] rcu/nocb: Make __call_rcu_nocb_wake() safe for many callbacks (Waiman Long) [1862812] - [kernel] rcu/nocb: Never downgrade ->nocb_defer_wakeup in wake_nocb_gp_defer() (Waiman Long) [1862812] - [kernel] rcu/nocb: Enable re-awakening under high callback load (Waiman Long) [1862812] - [kernel] rcu/nohz: Turn off tick for offloaded CPUs (Waiman Long) [1862812] - [kernel] rcu/nocb: Suppress uninitialized false-positive in nocb_gp_wait() (Waiman Long) [1862812] - [kernel] rcu/nocb: Use build-time no-CBs check in rcu_pending() (Waiman Long) [1862812] - [kernel] rcu/nocb: Use build-time no-CBs check in rcu_core() (Waiman Long) [1862812] - [kernel] rcu/nocb: Use build-time no-CBs check in rcu_do_batch() (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove obsolete nocb_gp_head and nocb_gp_tail fields (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove obsolete nocb_cb_tail and nocb_cb_head fields (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove obsolete nocb_q_count and nocb_q_count_lazy fields (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove obsolete nocb_head and nocb_tail fields (Waiman Long) [1862812] - [kernel] rcu/nocb: Use rcu_segcblist for no-CBs CPUs (Waiman Long) [1862812] - [kernel] rcu/nocb: Leave ->cblist enabled for no-CBs CPUs (Waiman Long) [1862812] - [kernel] rcu/nocb: Allow lockless use of rcu_segcblist_empty() (Waiman Long) [1862812] - [kernel] rcu/nocb: Allow lockless use of rcu_segcblist_restempty() (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove deferred wakeup checks for extended quiescent states (Waiman Long) [1862812] - [kernel] rcu/nocb: Check for deferred nocb wakeups before nohz_full early exit (Waiman Long) [1862812] - [kernel] rcu/nocb: Make rcutree_migrate_callbacks() start at leaf rcu_node structure (Waiman Long) [1862812] - [kernel] rcu/nocb: Add checks for offloaded callback processing (Waiman Long) [1862812] - [kernel] rcu/nocb: Use separate flag to indicate offloaded ->cblist (Waiman Long) [1862812] - [kernel] rcu/nocb: Use separate flag to indicate disabled ->cblist (Waiman Long) [1862812] - [kernel] rcu/nocb: Print gp/cb kthread hierarchy if dump_tree (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename rcu_nocb_leader_stride kernel boot parameter (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename and document no-CB CB kthread sleep trace event (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename rcu_organize_nocb_kthreads() local variable (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename wake_nocb_leader_defer() to wake_nocb_gp_defer() (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename __wake_nocb_leader() to __wake_nocb_gp() (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename wake_nocb_leader() to wake_nocb_gp() (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename nocb_follower_wait() to nocb_cb_wait() (Waiman Long) [1862812] - [kernel] rcu/nocb: Provide separate no-CBs grace-period kthreads (Waiman Long) [1862812] - [kernel] rcu/nocb: Update comments to prepare for forward-progress work (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename rcu_data fields to prepare for forward-progress work (Waiman Long) [1862812] - [kernel] rcutorture: Aggressive forward-progress tests shouldn't block shutdown (Waiman Long) [1862812] - [kernel] rcuperf: Make rcuperf kernel test more robust for !expedited mode (Waiman Long) [1862812] - [kernel] rcutorture: Emulate userspace sojourn during call_rcu() floods (Waiman Long) [1862812] - [tools] rcutorture: Test TREE03 with the threadirqs kernel boot parameter (Waiman Long) [1862812] - [tools] torture: Expand last_ts variable in kvm-test-1-run.sh (Waiman Long) [1862812] - [kernel] rcuperf: Fix perf_type module-parameter description (Waiman Long) [1862812] - [documentation] doc: Add rcutree.kthread_prio pointer to stallwarn.txt (Waiman Long) [1862812] - [kernel] rcu: Change return type of rcu_spawn_one_boost_kthread() (Waiman Long) [1862812] - [kernel] rcu: Add destroy_work_on_stack() to match INIT_WORK_ONSTACK() (Waiman Long) [1862812] - [kernel] rcu: Add kernel parameter to dump trace after RCU CPU stall warning (Waiman Long) [1862812] - [kernel] rcu: Restore barrier() to rcu_read_lock() and rcu_read_unlock() (Waiman Long) [1862812] - [kernel] rcu: Simplify rcu_note_context_switch exit from critical section (Waiman Long) [1862812] - [kernel] rcu: Make rcu_read_unlock_special() checks match raise_softirq_irqoff() (Waiman Long) [1862812] - [kernel] rcu: Simplify rcu_read_unlock_special() deferred wakeups (Waiman Long) [1862812] - [tools] rcu: Don't return a value from rcu_assign_pointer() (Waiman Long) [1862812] - [kernel] rcu: Force inlining of rcu_read_lock() (Waiman Long) [1862812] - [kernel] rcu: Fix irritating whitespace error in rcu_assign_pointer() (Waiman Long) [1862812] - [kernel] rcu: validate arguments for rcu tracepoints (Waiman Long) [1862812] - [trace] tracing: introduce TRACE_EVENT_NOP() (Waiman Long) [1862812] - [kernel] kprobes: Prohibit probing on RCU debug routine (Waiman Long) [1862812] - [init] time: Make VIRT_CPU_ACCOUNTING_GEN depend on GENERIC_CLOCKEVENTS (Waiman Long) [1862812] - [kernel] time: Move CONTEXT_TRACKING to kernel/time/Kconfig (Waiman Long) [1862812]- [fs] xfs: don't commit sunit/swidth updates to disk if that would cause repair failures (Bill O'Donnell) [1849407] - [fs] xfs: split the sunit parameter update into two parts (Bill O'Donnell) [1849407] - [fs] xfs: refactor agfl length computation function (Bill O'Donnell) [1849407] - [net] netfilter: conntrack: proc: rename stat column (Florian Westphal) [1875681] - [net] netfilter: conntrack: add clash resolution stat counter (Florian Westphal) [1875681] - [net] netfilter: conntrack: remove ignore stats (Florian Westphal) [1875681] - [net] netfilter: conntrack: do not increment two error counters at same time (Florian Westphal) [1875681] - [net] netfilter: conntrack: do not auto-delete clash entries on reply (Florian Westphal) [1875681] - [powerpc] powerpc/pseries/iommu: Allow bigger 64bit window by removing default DMA window (Steve Best) [1725198] - [powerpc] powerpc/pseries/iommu: Move window-removing part of remove_ddw into remove_dma_window (Steve Best) [1725198] - [powerpc] powerpc/pseries/iommu: Update call to ibm, query-pe-dma-windows (Steve Best) [1725198] - [powerpc] powerpc/pseries/iommu: Create defines for operations in ibm, ddw-applicable (Steve Best) [1725198] - [x86] x86/cpu: Add Sapphire Rapids CPU model number (Puneet Sethi) [1872367] - [x86] x86/cpu: Add Lakefield, Alder Lake and Rocket Lake models to the to Intel CPU family (Steve Best) [1838902]- [powerpc] powerpc/xmon: Improve dumping prefixed instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add a ppc_inst_as_str() helper (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add ppc_inst_as_u64() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add ppc_inst_next() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Add tests for Prefixed Add Immediate (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Let compute tests specify a required cpu feature (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Set NIP in instruction emulation tests (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Add tests for prefixed floating-point load/stores (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Add tests for prefixed integer load/stores (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add POWER10 architected mode (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/dt_cpu_ftrs: Add MMA feature (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/dt_cpu_ftrs: Enable Prefixed Instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/dt_cpu_ftrs: Advertise support for ISA v3.1 if selected (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add support for ISA v3.1 (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add new HWCAP bits (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc sstep: Add support for prefixed fixed-point arithmetic (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc sstep: Add support for prefixed load/stores (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Support prefixed instructions in alignment handler (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/kprobes: Don't allow breakpoints on suffixes (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Don't allow breakpoints on suffixes (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Test prefixed instructions in feature fixups (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Test prefixed code patching (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add prefixed instructions to instruction data type (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/optprobes: Add register argument to patch_imm64_load_insns() (Desnes Augusto Nunes do Rosario) [1854524] - [kvm] powerpc: Define new SRR1 bits for a ISA v3.1 (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/83xx: handle machine check caused by watchdog timer (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Enable Prefixed Instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Make test_translate_branch() independent of instruction length (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Move insertion of breakpoint for xol'ing (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Use a function for reading instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Introduce a function for reporting instruction length (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Define and use get_user_instr() et. al (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/kprobes: Use patch_instruction() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add a probe_kernel_read_inst() function (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add a probe_user_read_inst() function (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a function for reading instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a datatype for instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/lib: Refactor __patch_instruction() to use __put_user_asm() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: use probe_user_read() and probe_user_write() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/process: Constify the number of insns printed by show instructions functions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/process: Fix interleaved output in show_user_instructions() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/process: Fix sparse address space warnings (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Don't print kernel instructions in show_user_instructions() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add show_user_instructions() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/lib: fix book3s/32 boot failure due to code patching (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Introduce functions for instruction equality (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a function for byte swapping instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a function for getting the instruction op code (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use an accessor for instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc sstep: Add support for extswsli instruction (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: sstep: Add support for maddhd, maddhdu, maddld instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a macro for creating instructions from u32s (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/fsl: Add infrastructure to fixup branch predictor flush (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/smp: Use code patching to restore reset vector (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: sstep: Add tests for addcinstruction (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: sstep: Add tests for addinstruction (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: sstep: Add tests for compute type instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Fix DS operand in ld encoding to appropriate value (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/fsl: Add barrier_nospec implementation for NXP PowerPC Book3E (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/watchpoint: Don't ignore extraneous exceptions blindly (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/watchpoint: Disable watchpoint hit by larx/stcx instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/kgdb: add kgdb_arch_set/remove_breakpoint() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/hw_breakpoint: move instruction stepping out of hw_breakpoint_handler() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: add modify_instruction() and modify_instruction_site() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Change calling convention for create_branch() et. al (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: simplify patch_instruction_site() and patch_branch_site() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/code-patching: Add a helper to get the address of a patch_site (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/ftrace: Handle large kernel configs (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/32: use patch_site_addr() in machine_init() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/lib: Use patch_site to patch copy_32 functions once cache is enabled (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Use bitwise calculations in_breakpoint_table() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Move breakpoints to text section (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Move breakpoint instructions to own array (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Remove store_inst() for patch_instruction() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/powernv/idle: Exclude mfspr on HID1, 4, 5 on P9 and above (Steve Best) [1854539] - [powerpc] powerpc/powernv/idle: Rename pnv_first_spr_loss_level variable (Steve Best) [1854539] - [powerpc] powerpc/powernv/idle: Replace CPU feature check with PVR check (Steve Best) [1854539] - [powerpc] powerpc/64s: Don't set FSCR bits in INIT_THREAD (Steve Best) [1854523] - [powerpc] powerpc/64s: Save FSCR to init_task.thread.fscr after feature init (Steve Best) [1854523] - [powerpc] powerpc/64s: Don't let DT CPU features set FSCR_DSCR (Steve Best) [1854523] - [powerpc] powerpc/64s: Don't init FSCR_DSCR in __init_FSCR() (Steve Best) [1854523]- [kernel] sched/cfs: change initial value of runnable_avg (Phil Auld) [1875995] - [kernel] sched/fair: Fix runnable_avg for throttled cfs (Phil Auld) [1875995] - [kernel] sched/fair: Fix kernel build warning in test_idle_cores() for !SMT NUMA (Phil Auld) [1875995] - [kernel] sched/numa: Acquire RCU lock for checking idle cores during NUMA balancing (Phil Auld) [1875995] - [kernel] sched/numa: Stop an exhastive search if a reasonable swap candidate or idle CPU is found (Phil Auld) [1875995] - [kernel] sched/numa: Bias swapping tasks based on their preferred node (Phil Auld) [1875995] - [kernel] sched/numa: Find an alternative idle CPU if the CPU is part of an active NUMA balance (Phil Auld) [1875995] - [kernel] sched/numa: Prefer using an idle CPU as a migration target instead of comparing tasks (Phil Auld) [1875995] - [kernel] sched/fair: Take into account runnable_avg to classify group (Phil Auld) [1875995] - [kernel] sched/pelt: Add a new runnable average signal (Phil Auld) [1875995] - [kernel] sched/pelt: Remove unused runnable load average (Phil Auld) [1875995] - [kernel] sched: Disable allowing small imbalance to preserve RHEL performance (Phil Auld) [1875995] - [kernel] sched/numa: Use similar logic to the load balancer for moving between domains with spare capacity (Phil Auld) [1875995] - [kernel] sched/numa: Replace runnable_load_avg by load_avg (Phil Auld) [1875995] - [kernel] sched/numa: Distinguish between the different task_numa_migrate() failure cases (Phil Auld) [1875995] - [kernel] sched/numa: Trace when no candidate CPU was found on the preferred node (Phil Auld) [1875995] - [kernel] sched/fair: Allow a small load imbalance between low utilisation SD_NUMA domains (Phil Auld) [1875995] - [mm] powerpc/smp: Implement cpu_to_coregroup_id (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Create coregroup domain (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Allocate cpumask only after searching thread group (Diego Domingos) [1854541] - [powerpc] powerpc/numa: Detect support for coregroup (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Optimize start_secondary (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Dont assume l2-cache to be superset of sibling (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Move topology fixups into a new function (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Move powerpc_topology above (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Merge Power9 topology with Power topology (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Fix a warning under !NEED_MULTIPLE_NODES (Diego Domingos) [1854541] - [mm] powerpc/numa: Restrict possible nodes based on platform (Diego Domingos) [1854541] - [mm] powerpc/numa: Limit possible nodes to within num_possible_nodes (Diego Domingos) [1854541] - [powerpc] powerpc: Fix misleading small cores print (Diego Domingos) [1854541] - [netdrv] ibmvnic: add missing parenthesis in do_reset() (Steve Best) [1879547] - [wireless] rtw88: don't hold all IRQs disabled for PS operations (Jarod Wilson) [1874730] - [netdrv] ibmvnic fix NULL tx_pools and rx_tools issue at do_reset (Steve Best) [1872676]- [kernel] sched: Fix use of count for nr_running tracepoint (Phil Auld) [1861444] - [kernel] sched: Add a tracepoint to track rq->nr_running (Phil Auld) [1861444] - [kernel] sched/debug: Add new tracepoints to track util_est (Phil Auld) [1861444] - [kernel] sched/debug: Export the newly added tracepoints (Phil Auld) [1861444] - [kernel] sched/debug: Add sched_overutilized tracepoint (Phil Auld) [1861444] - [kernel] sched/debug: Add new tracepoint to track PELT at se level (Phil Auld) [1861444] - [kernel] sched/debug: Add a new sched_trace_*() helper functions (Phil Auld) [1861444] - [kernel] sched/autogroup: Make autogroup_path() always available (Phil Auld) [1861444]- [mm] mm/kmemleak.c: fix check for softirq context (Waiman Long) [1878006] - [include] mm/hotplug: invalid PFNs from pfn_to_online_page() (Waiman Long) [1878006] - [mm] mm, kmemleak: little optimization while scanning (Waiman Long) [1878006] - [mm] kmemleak: add module param to print warnings to dmesg (Waiman Long) [1878006] - [mm] kmemleak: always register debugfs file (Waiman Long) [1878006] - [scsi] scsi: megaraid_sas: Don't call disable_irq from process IRQ poll (Tomas Henzl) [1837200] - [scsi] scsi: megaraid_sas: Remove undefined ENABLE_IRQ_POLL macro (Tomas Henzl) [1837200] - [platform] platform/x86: dcdbas: Check SMBIOS for protected buffer address (David Arcari) [1858680] - [platform] firmware: dcdbas: Move dcdbas to drivers/platform/x86 (David Arcari) [1858680] - [fs] cifs: fix DFS mount with cifsacl/modefromsid (Leif Sahlberg) [1871246] - [fs] ext4: fix potential negative array index in do_split() (Pavel Reichl) [1846165] {CVE-2020-14314} - [include] block: allow for_each_bvec to support zero len bvec (Ming Lei) [1872032] - [nvme] nvme-pci: disable the write zeros command for Intel 600P/P3100 (David Milburn) [1875391]- [netdrv] ice: Disable VLAN pruning in promiscuous mode (Jonathan Toppins) [1787477] - [mm] mm: slub: introduce 'slub_merge' kernel parameter (Rafael Aquini) [1871214] - [kernel] time/tick-broadcast: Fix tick_broadcast_offline() lockdep complaint (Alexey Klimov) [1877380]- [init] init/Kconfig: disable io_uring (Jeff Moyer) [1879754] - [block] blk-mq: always allow reserved allocation in hctx_may_queue (Ming Lei) [1740874] - [nvme] nvme-rdma: Avoid double freeing of async event data (Gopal Tiwari) [1878140] - [kernel] printk: queue wake_up_klogd irq_work only if per-CPU areas are ready (Igor Mammedov) [1867022]- [firmware] efi: don't reserve MOK config table memory region (Kairui Song) [1878584] - [fs] xfs: fix boundary test in xfs_attr_shortform_verify (Eric Sandeen) [1875316] {CVE-2020-14385} - [powerpc] powerpc/pseries: Do not initiate shutdown when system is running on UPS (Diego Domingos) [1870477]- [fs] nfsd: avoid a NULL dereference in __cld_pipe_upcall() (Scott Mayhew) [1847225] - [net] packet: fix overflow in tpacket_rcv (Hangbin Liu) [1876224] {CVE-2020-14386} - [net] packet: make tp_drops atomic (Hangbin Liu) [1876224] {CVE-2020-14386} - [net] espintcp: restore IP CB before handing the packet to xfrm (Sabrina Dubroca) [1868201] - [fs] Revert "NFSv4: Handle NFS4ERR_OLD_STATEID in CLOSE/OPEN_DOWNGRADE" (Benjamin Coddington) [1865978] - [fs] Revert "NFSv4.x recover from pre-mature loss of openstateid" (Benjamin Coddington) [1865978] - [infiniband] RDMA/mlx4: Read pkey table length instead of hardcoded value (Alaa Hleihel) [1853564] - [net] net/smc: set rx_off for SMCR explicitly (Philipp Rudo) [1875833] - [drm] drm/i915: Auto detect DPCD backlight support by default (Lyude Paul) [1872381] - [drm] drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight() (Lyude Paul) [1872381] - [drm] drm/i915: Assume 100 brightness when not in DPCD control mode (Lyude Paul) [1872381] - [drm] drm/i915: Fix eDP DPCD aux max backlight calculations (Lyude Paul) [1872381] - [kernel] tracing: Define MCOUNT_INSN_SIZE when not defined without direct calls (Jiri Olsa) [1857599] - [kernel] ftrace: Fix function_graph tracer interaction with BPF trampoline (Jiri Olsa) [1857599] - [x86] x86/function_graph: Simplify with function_graph_enter() (Jiri Olsa) [1857599] - [kernel] function_graph: Create function_graph_enter() to consolidate architecture code (Jiri Olsa) [1857599]- [crypto] pefile: Support multiple signatures in verify_pefile_signature (Lenny Szubowicz) [1862072] - [security] integrity: Load certs from the EFI MOK config table (Lenny Szubowicz) [1868306] - [security] integrity: Move import of MokListRT certs to a separate routine (Lenny Szubowicz) [1868306] - [firmware] efi: Support for MOK variable config table (Lenny Szubowicz) [1868306] - [kernel] Move to dual-signing to split signing keys up better (Frantisek Hrbata) [1837434] {CVE-2020-10713} - [powerpc] pseries/hotplug-cpu: wait indefinitely for vCPU death (Michael Roth) [1856588] - [powerpc] kvm: ppc: book3s hv: Rework secure mem slot dropping (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Move kvmppc_svm_page_out up (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Migrate hot plugged memory (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: In H_SVM_INIT_DONE, migrate remaining normal-GFNs to secure-GFNs (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Track the state GFNs associated with secure VMs (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Disable page merging in H_SVM_INIT_START (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Fix function definition in book3s_hv_uvmem.c (Michael Roth) [1851259] - [kernel] mmap locking api: initial implementation as rwsem wrappers (Michael Roth) [1851259] - [mm] handle multiple owners of device private pages in migrate_vma (Michael Roth) [1851259] - [mm] migrate.c: clean up useless code in migrate_vma_collect_pmd() (Michael Roth) [1851259] - [mm] remove the unused MIGRATE_PFN_DEVICE flag (Michael Roth) [1851259] - [powerpc] rhel: powerpc: kvm: Increase HDEC threshold to enter guest (David Gibson) [1733467] - [netdrv] r8152: Add macpassthru support for ThinkPad Thunderbolt 3 Dock Gen 2 (Michal Schmidt) [1851966] - [fs] ceph: fix inode number handling on arches with 32-bit ino_t (Jeff Layton) [1869679] - [fs] ceph: don't allow setlease on cephfs (Jeff Layton) [1872382] - [block] blk-mq: order adding requests to hctx->dispatch and checking SCHED_RESTART (Ming Lei) [1859628]- [s390] scsi: zfcp: Move allocation of the shost object to after xconf- and xport-data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Fence early sysfs interfaces for accesses of shost objects (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Fence adapter status propagation for common statuses (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Move p-t-p port allocation to after xport data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Fence fc_host updates during link-down handling (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Move fc_host updates during xport data handling into fenced function (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Move shost updates during xconfig data handling into fenced function (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Move shost modification after QDIO (re-)open into fenced function (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: fix fc_host attributes that should be unknown on local link down (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: wire previously driver-specific sysfs attributes also to fc_host (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: expose fabric name as common fc_host sysfs attribute (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: add diagnostics buffer for exchange config data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: diagnostics buffer caching and use for exchange port data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: signal incomplete or error for sync exchange config/port data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Fix use-after-free in request timeout handlers (Claudio Imbrenda) [1872796] - [tools] selftests/powerpc: Update the stack expansion test (Gustavo Duarte) [1869755] - [mm] powerpc: Allow 4224 bytes of stack expansion for the signal frame (Gustavo Duarte) [1869755] - [tools] selftests/powerpc: Add test of stack expansion logic (Gustavo Duarte) [1869755] - [mm] mm: check that mm is still valid in madvise() (Jeff Moyer) [1874560] - [block] block: virtio_blk: fix handling single range discard request (Ming Lei) [1842035] - [block] block: respect queue limit of max discard segment (Ming Lei) [1842035] - [fs] io_uring: Fix NULL pointer dereference in loop_rw_iter() (Jeff Moyer) [1854649] - [fs] io_uring: return locked and pinned page accounting (Jeff Moyer) [1854649] - [fs] io_uring: always allow drain/link/hardlink/async sqe flags (Jeff Moyer) [1854649] - [fs] io_uring: ensure double poll additions work with both request types (Jeff Moyer) [1854649] - [fs] io_uring: fix recvmsg memory leak with buffer selection (Jeff Moyer) [1854649] - [fs] io_uring: fix missing msg_name assignment (Jeff Moyer) [1854649] - [fs] io_uring: fix memleak in io_sqe_files_register() (Jeff Moyer) [1854649] - [fs] io_uring: account user memory freed when exit has been queued (Jeff Moyer) [1854649] - [fs] io_uring: fix memleak in __io_sqe_files_update() (Jeff Moyer) [1854649] - [fs] io_uring: fix regression with always ignoring signals in io_cqring_wait() (Jeff Moyer) [1854649] - [fs] io_uring: use signal based task_work running (Jeff Moyer) [1854649] - [kernel] task_work: teach task_work_add() to do signal_wake_up() (Jeff Moyer) [1854649] - [fs] io_uring: fix missing ->mm on exit (Jeff Moyer) [1854649] - [fs] io_uring: fix potential use after free on fallback request free (Jeff Moyer) [1854649] - [fs] io_uring: fix req->work corruption (Jeff Moyer) [1854649] - [fs] io_uring: fix NULL-mm for linked reqs (Jeff Moyer) [1854649] - [fs] io_uring: fix current->mm NULL dereference on exit (Jeff Moyer) [1854649] - [fs] io_uring: fix hanging iopoll in case of -EAGAIN (Jeff Moyer) [1854649] - [fs] io_uring: fix io_sq_thread no schedule when busy (Jeff Moyer) [1854649] - [fs] io_uring: fix possible race condition against REQ_F_NEED_CLEANUP (Jeff Moyer) [1854649] - [fs] io_uring: reap poll completions while waiting for refs to drop on exit (Jeff Moyer) [1854649] - [fs] io_uring: acquire 'mm' for task_work for SQPOLL (Jeff Moyer) [1854649] - [fs] io_uring: add memory barrier to synchronize io_kiocb's result and iopoll_completed (Jeff Moyer) [1854649] - [fs] io_uring: don't fail links for EAGAIN error in IOPOLL mode (Jeff Moyer) [1854649] - [fs] io_uring: fix io_kiocb.flags modification race in IOPOLL mode (Jeff Moyer) [1854649] - [fs] io_uring: allow O_NONBLOCK async retry (Jeff Moyer) [1854649] - [fs] io_uring: use kvfree() in io_sqe_buffer_register() (Jeff Moyer) [1854649] - [fs] io_uring: validate the full range of provided buffers for access (Jeff Moyer) [1854649] - [fs] io_uring: re-set iov base/len for buffer select retry (Jeff Moyer) [1854649] - [fs] io_uring: fix {SQ, IO}POLL with unsupported opcodes (Jeff Moyer) [1854649] - [fs] io_uring: disallow close of ring itself (Jeff Moyer) [1854649] - [fs] io_uring: fix overflowed reqs cancellation (Jeff Moyer) [1854649] - [fs] io_uring: fix flush req->refs underflow (Jeff Moyer) [1854649] - [fs] io_uring: async task poll trigger cleanup (Jeff Moyer) [1854649] - [fs] io_uring: allow POLL_ADD with double poll_wait() users (Jeff Moyer) [1854649] - [fs] io_uring: remove 'fd is io_uring' from close path (Jeff Moyer) [1854649] - [nvme] nvme: allow retry for requests with REQ_FAILFAST_TRANSPORT set (Mike Snitzer) [1843515] - [nvme] nvme: decouple basic ANA log page re-read support from native multipathing (Mike Snitzer) [1843515] - [nvme] nvme: update failover handling to work with REQ_FAILFAST_TRANSPORT (Mike Snitzer) [1843515] - [nvme] nvme: Return BLK_STS_TARGET if the DNR bit is set (Mike Snitzer) [1843515] - [nvme] nvme: redirect commands on dying queue (Mike Snitzer) [1843515] - [nvme] nvme: just check the status code type in nvme_is_path_error (Mike Snitzer) [1843515] - [nvme] nvme: refactor command completion (Mike Snitzer) [1843515] - [nvme] nvme-multipath: do not reset on unknown status (Mike Snitzer) [1843515] - [nvme] Revert "nvme: allow ANA support to be independent of native multipathing" (Mike Snitzer) [1843515] - [nvme] Revert "nvme-multipath: do not reset on unknown status" (Mike Snitzer) [1843515] - [mm] mm, THP, swap: fix allocating cluster for swapfile by mistake (Gao Xiang) [1855474] - [net] sched: act_ct: Fix skb double-free in tcf_ct_handle_fragments() error flow (Marcelo Leitner) [1866391] - [net] netfilter: conntrack: allow sctp hearbeat after connection re-use (Florian Westphal) [1865798] - [video] vgacon: Fix for missing check in scrollback handling (Lyude Paul) [1859472] {CVE-2020-14331} - [scsi] Revert "scsi: qla2xxx: Disable T10-DIF feature with FC-NVMe during probe" (Nilesh Javali) [1866744] - [scsi] Revert "scsi: qla2xxx: Fix crash on qla2x00_mailbox_command" (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Fix null pointer access during disconnect from subsystem (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Check if FW supports MQ before enabling (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Fix WARN_ON in qla_nvme_register_hba (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Allow ql2xextended_error_logging special value 1 to be set anytime (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Reduce noisy debug message (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Fix login timeout (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Flush I/O on zone disable (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Flush all sessions on zone disable (Nilesh Javali) [1866744] - [tools] bpf: selftests: global_funcs: Check err_str before strstr (Yauheni Kaliuta) [1873163] - [netdrv] net/mlx5e: E-Switch, Specify flow_source for rule with no in_port (Alaa Hleihel) [1869602] - [netdrv] net/mlx5e: E-Switch, Add misc bit when misc fields changed for mirroring (Alaa Hleihel) [1869602] - [tools] selftests/bpf: test for map update access from within EXT programs (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1871071] - [tools] selftests/bpf: test for checking return code for the extended prog (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1871071] - [tools] selftests/bpf: Add test for freplace program with write access (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1871071] - [net] bpf: verifier: use target program's type for access verifications (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1871071] - [scsi] scsi: lpfc: Fix NVMe rport deregister and registration during ADISC (Dick Kennedy) [1871223] - [scsi] scsi: lpfc: Fix LUN loss after cable pull (Dick Kennedy) [1871223] - [infiniband] RDMA/bnxt_re: Do not add user qps to flushlist (Selvin Xavier) [1858674] - [fs] NFSv4.0 allow nconnect for v4.0 (Benjamin Coddington) [1842746] - [mm] mm/vunmap: add cond_resched() in vunmap_pmd_range (Rafael Aquini) [1871710] - [s390] s390/bpf: Maintain 8-byte stack alignment (Jiri Olsa) [1871040]- [netdrv] vrf: Fix IPv6 with qdisc and xfrm (Sabrina Dubroca) [1868565] - [netdrv] vrf: make sure skb->data contains ip header to make routing (Sabrina Dubroca) [1868565] - [netdrv] vrf: Check skb for XFRM_TRANSFORMED flag (Sabrina Dubroca) [1868565] - [net] Do not clear the sock TX queue in sk_set_socket() (Andrea Claudi) [1850421] - [net] Use RCU_INIT_POINTER() to set sk_wq (Andrea Claudi) [1850421] - [net] netfilter: ip6tables: Add a .pre_exit hook in all ip6table_foo.c. (Florian Westphal) [1862384] - [net] netfilter: iptables: Add a .pre_exit hook in all iptable_foo.c. (Florian Westphal) [1862384] - [net] netfilter: ipset: Fix an error code in ip_set_sockfn_get() (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: Don't account for expired elements on insertion (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: Drop spurious condition for overlap detection on insertion (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: Detect partial overlaps on insertion (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: Introduce and use nft_rbtree_interval_start() (Florian Westphal) [1862384] - [net] netfilter: nf_tables: fix nat hook table deletion (Florian Westphal) [1862384] - [net] netfilter: ipset: call ip_set_free() instead of kfree() (Florian Westphal) [1862384] - [net] netfilter: ip6tables: Split ip6t_unregister_table() into pre_exit and exit helpers. (Florian Westphal) [1862384] - [net] netfilter: iptables: Split ipt_unregister_table() into pre_exit and exit helpers. (Florian Westphal) [1862384] - [net] netfilter: nft_set_pipapo: Disable preemption before getting per-CPU pointer (Florian Westphal) [1862384] - [net] netfilter: nft_nat: return EOPNOTSUPP if type or flags are not supported (Florian Westphal) [1862384] - [net] netfilter: conntrack: comparison of unsigned in cthelper confirmation (Florian Westphal) [1862384] - [net] netfilter: conntrack: refetch conntrack after nf_conntrack_update() (Florian Westphal) [1862384] - [net] netfilter: conntrack: Pass value of ctinfo to __nf_conntrack_update (Florian Westphal) [1862384] - [net] netfilter: conntrack: make conntrack userspace helpers work again (Florian Westphal) [1862384] - [net] netfilter: nfnetlink_cthelper: unbreak userspace helper support (Florian Westphal) [1862384] - [net] netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build (Florian Westphal) [1862384] - [net] netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code (Florian Westphal) [1862384] - [net] netfilter: nft_set_bitmap: initialize set element extension in lookups (Florian Westphal) [1862384] - [net] netfilter: nft_fwd_netdev: validate family and chain type (Florian Westphal) [1862384] - [net] netfilter: nft_payload: add missing attribute validation for payload csum flags (Florian Westphal) [1862384] - [net] netfilter: cthelper: add missing attribute validation for cthelper (Florian Westphal) [1862384] - [net] netfilter: ipset: Fix forceadd evaluation path (Florian Westphal) [1862384] - [net] netfilter: bridge: make sure to pull arp header in br_nf_forward_arp() (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: bogus lookup/get on consecutive elements in named sets (Florian Westphal) [1862384] - [net] netfilter: ctnetlink: netns exit must wait for callbacks (Florian Westphal) [1862384] - [arm64] kvm: arm64: Don't inherit exec permission across page-table levels (Andrew Jones) [1869297] - [arm64] kvm: arm64: Flush the instruction cache if not unmapping the VM on reboot (Andrew Jones) [1869297] - [s390] s390, dcssblk: kaddr and pfn can be NULL to ->direct_access() (Claudio Imbrenda) [1868927] - [fs] chardev: Avoid potential use-after-free in 'chrdev_open()' (Vladis Dronov) [1866324] {CVE-2020-0305} - [net] net: accept an empty mask in /sys/class/net/*/queues/rx-*/rps_cpus (Nitesh Narayan Lal) [1868433] - [x86] Revert "x86/intel: Disable HPET on Intel Ice Lake platforms" (David Arcari) [1868405] - [kernel] sched: Fix race against ptrace_freeze_trace() (Oleg Nesterov) [1862560] - [kernel] sched: Fix loadavg accounting race (Oleg Nesterov) [1862560] - [kernel] kernel/sched/: remove caller signal_pending branch predictions (Oleg Nesterov) [1862560] - [kernel] locking/spinlock, sched/core: Clarify requirements for smp_mb__after_spinlock() (Oleg Nesterov) [1862560] - [nvme] nvme: multipath: round-robin: eliminate "fallback" variable (Gopal Tiwari) [1868443] - [nvme] nvme: multipath: round-robin: fix single non-optimized path case (Gopal Tiwari) [1868443] - [nvme] nvme-multipath: do not fall back to __nvme_find_path() for non-optimized paths (Gopal Tiwari) [1868443] - [nvme] nvme-multipath: fix logic for non-optimized paths (Gopal Tiwari) [1868443] - [tools] selftests/bpf: Fix segmentation fault in test_progs (Yauheni Kaliuta) [1868494] - [pci] hv: Fix a timing issue which causes kdump to fail occasionally (Mohammed Gamal) [1861960] - [hv] hv: vmbus: Only notify Hyper-V for die events that are oops (Vitaly Kuznetsov) [1868131] - [x86] kvm: nsvm: Correctly set the shadow NPT root level in its MMU role (Vitaly Kuznetsov) [1845507] - [x86] kvm: x86: drop superfluous mmu_check_root() from fast_pgd_switch() (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: use nested_svm_load_cr3() on guest->host switch (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: implement nested_svm_load_cr3() and use it for host->guest switch (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: move kvm_set_cr3() after nested_svm_uninit_mmu_context() (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: introduce nested_svm_load_cr3()/nested_npt_enabled() (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: prepare to handle errors from enter_svm_guest_mode() (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: reset nested_run_pending upon nested_svm_vmrun_msrpm() failure (Vitaly Kuznetsov) [1845507] - [x86] kvm: mmu: stop dereferencing vcpu->arch.mmu to get the context for MMU init (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: split kvm_init_shadow_npt_mmu() from kvm_init_shadow_mmu() (Vitaly Kuznetsov) [1845507] - [security] selinux: compute genfs symlink context in case of CephFS (Ondrej Mosnacek) [1865800] - [fs] ceph: set sec_context xattr on symlink creation (Ondrej Mosnacek) [1861509] - [tools] selftests: bpf: define SO_RCVTIMEO and SO_SNDTIMEO properly for ppc64le (Jiri Benc) [1860386] - [tools] bpf: Sync RHEL version of asm-generic/socket.h to tools/ (Jiri Benc) [1860386] - [tools] selftests: bpf: skip tests not working on RHEL (Jiri Benc) [1866908] - [tools] Revert "selftests: bpf: disable test_lwt_seg6local" (Jiri Benc) [1866908] - [tools] Revert "bpf: selftests: remove test_bpftool_build.sh from TEST_PROGS" (Jiri Benc) [1866908] - [tools] selftests: add option to skip specific tests in RHEL (Jiri Benc) [1866908] - [tools] selftests: bpf: switch off timeout (Jiri Benc) [1866908] - [tools] selftest/firmware: Add selftest timeout in settings (Jiri Benc) [1866908] - [tools] selftests/harness: Limit step counter reporting (Jiri Benc) [1866908] - [tools] selftests/harness: Clean up kern-doc for fixtures (Jiri Benc) [1866908] - [tools] selftests: fix condition in run_tests (Jiri Benc) [1866908] - [tools] selftests: do not use .ONESHELL (Jiri Benc) [1866908] - [tools] selftests/harness: Report skip reason (Jiri Benc) [1866908] - [tools] selftests/harness: Display signed values correctly (Jiri Benc) [1866908] - [tools] selftests/harness: Refactor XFAIL into SKIP (Jiri Benc) [1866908] - [tools] selftests/harness: Switch to TAP output (Jiri Benc) [1866908] - [tools] selftests: Add header documentation and helpers (Jiri Benc) [1866908] - [tools] kselftest: fix TAP output for skipped tests (Jiri Benc) [1866908] - [tools] kselftest: ksft_test_num return type should be unsigned (Jiri Benc) [1866908] - [tools] selftests: introduce gen_tar Makefile target (Jiri Benc) [1866908] - [tools] kselftest: add fixture variants (Jiri Benc) [1866908] - [tools] kselftest: run tests by fixture (Jiri Benc) [1866908] - [tools] kselftest: create fixture objects (Jiri Benc) [1866908] - [tools] kselftest: factor out list manipulation to a helper (Jiri Benc) [1866908] - [tools] selftests: add build/cross-build dependency check script (Jiri Benc) [1866908] - [tools] kselftest/runner: allow to properly deliver signals to tests (Jiri Benc) [1866908] - [tools] selftests/harness: fix spelling mistake "SIGARLM" -> "SIGALRM" (Jiri Benc) [1866908] - [tools] selftests: enforce local header dependency in lib.mk (Jiri Benc) [1866908] - [tools] selftests/harness: Handle timeouts cleanly (Jiri Benc) [1866908] - [tools] selftests/harness: Move test child waiting logic (Jiri Benc) [1866908] - [tools] selftests: Fix kselftest O=objdir build from cluttering top level objdir (Jiri Benc) [1866908] - [tools] selftests: allow detection of build failures (Jiri Benc) [1866908] - [tools] selftests: fix build behaviour on targets' failures (Jiri Benc) [1866908] - [tools] kselftest: Support old perl versions (Jiri Benc) [1866908] - [tools] kselftest/runner: Print new line in print of timeout log (Jiri Benc) [1866908] - [tools] selftests: Fix dangling documentation references to kselftest_module.sh (Jiri Benc) [1866908] - [tools] kselftest: Fix NULL INSTALL_PATH for TARGETS runlist (Jiri Benc) [1866908] - [tools] selftests: Move kselftest_module.sh into kselftest/ (Jiri Benc) [1866908] - [tools] selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ (Jiri Benc) [1866908] - [tools] selftests/kselftest/runner.sh: Add 45 second timeout per test (Jiri Benc) [1866908] - [tools] kselftest: exclude failed TARGETS from runlist (Jiri Benc) [1866908] - [tools] kselftest: add capability to skip chosen TARGETS (Jiri Benc) [1866908] - [tools] selftests: Add kselftest-all and kselftest-install targets (Jiri Benc) [1866908] - [tools] selftests: use "$(MAKE)" instead of "make" (Jiri Benc) [1866908] - [tools] kselftest: save-and-restore errno to allow for m formatting (Jiri Benc) [1866908] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 481 (Jiri Benc) [1866908] - [tools] selftests/harness: Allow test to configure timeout (Jiri Benc) [1866908] - [tools] selftests: avoid KBUILD_OUTPUT dir cluttering with selftest objects (Jiri Benc) [1866908] - [tools] selftests: fix bpf build/test workflow regression when KBUILD_OUTPUT is set (Jiri Benc) [1866908] - [tools] selftests: fix install target to use default install path (Jiri Benc) [1866908] - [tools] selftests: build and run gpio when output directory is the src dir (Jiri Benc) [1866908] - [documentation] doc: kselftest: Fix KBUILD_OUTPUT usage instructions (Jiri Benc) [1866908] - [tools] selftests: fix headers_install circular dependency (Jiri Benc) [1866908] - [tools] selftests/harness: Add 30 second timeout per test (Jiri Benc) [1866908] - [tools] kselftest: Add test module framework header (Jiri Benc) [1866908] - [tools] kselftest: Add test runner creation script (Jiri Benc) [1866908] - [tools] selftests/harness: Update named initializer syntax (Jiri Benc) [1866908] - [tools] selftest: include stdio.h in kselftest.h (Jiri Benc) [1866908] - [tools] selftests: do not macro-expand failed assertion expressions (Jiri Benc) [1866908] - [documentation] Documentation/dev-tools: clean up kselftest.rst (Jiri Benc) [1866908] - [documentation] doc: dev-tools: kselftest.rst: update config file location (Jiri Benc) [1866908] - [documentation] doc: dev-tools: kselftest.rst: update contributing new tests (Jiri Benc) [1866908]- [fs] nfs: ensure correct writeback errors are returned on close() (Scott Mayhew) [1849424] - [netdrv] net: thunderx: use spin_lock_bh in nicvf_set_rx_mode_task() (Dean Nelson) [1824858] - [crypto] crypto: ecc - SP800-56A rev 3 local public key validation (Herbert Xu) [1855817] - [crypto] crypto: dh - SP800-56A rev 3 local public key validation (Herbert Xu) [1855817] - [crypto] crypto: dh - check validity of Z before export (Herbert Xu) [1855817] - [lib] lib/mpi: Add mpi_sub_ui() (Herbert Xu) [1855817] - [crypto] crypto: ecdh - check validity of Z before export (Herbert Xu) [1855817] - [netdrv] net: thunderx: initialize VF's mailbox mutex before first usage (Dean Nelson) [1866827] - [kernel] timers: Lower base clock forwarding threshold (Phil Auld) [1833096] - [kernel] timers: Remove must_forward_clk (Phil Auld) [1833096] - [kernel] timers: Spare timer softirq until next expiry (Phil Auld) [1833096] - [kernel] timers: Expand clk forward logic beyond nohz (Phil Auld) [1833096] - [kernel] timers: Reuse next expiry cache after nohz exit (Phil Auld) [1833096] - [kernel] timers: Always keep track of next expiry (Phil Auld) [1833096] - [kernel] timers: Optimize _next_timer_interrupt() level iteration (Phil Auld) [1833096] - [kernel] timers: Add comments about calc_index() ceiling work (Phil Auld) [1833096] - [kernel] timers: Move trigger_dyntick_cpu() to enqueue_timer() (Phil Auld) [1833096] - [kernel] timers: Use only bucket expiry for base->next_expiry value (Phil Auld) [1833096] - [kernel] timers: Preserve higher bits of expiration on index calculation (Phil Auld) [1833096] - [kernel] timer: Fix wheel index calculation on last level (Phil Auld) [1833096] - [kernel] timer: Prevent base->clk from moving backward (Phil Auld) [1833096] - [kernel] timer: Read jiffies once when forwarding base clk (Phil Auld) [1833096] - [powerpc] powerpc/64: Update Speculation_Store_Bypass in /proc//status (Gustavo Duarte) [1773868] - [scsi] scsi: virtio-scsi: Correctly handle the case where all LUNs are unplugged (Maxim Levitsky) [1756093] - [kvm] kvm: x86: replace kvm_spec_ctrl_test_value with runtime test on the host (Maxim Levitsky) [1853447] - [kvm] x86/kvm: Move context tracking where it belongs (Nitesh Narayan Lal) [1854011] - [scsi] scsi: megaraid_sas: Clear affinity hint (Tomas Henzl) [1828351] - [netdrv] revert "vxlan: fix tos value before xmit" (Andrea Claudi) [1862166] - [net] udp: Copy has_conns in reuseport_grow(). (Marcelo Leitner) [1867160] - [net] dev: Defer free of skbs in flush_backlog (Marcelo Leitner) [1867160] - [include] net: core: reduce recursion limit value (Marcelo Leitner) [1867160] - [netdrv] pppoe: only process PADT targeted at local interfaces (Andrea Claudi) [1866850] - [net] espintcp: count packets dropped in espintcp_rcv (Sabrina Dubroca) [1866393] - [net] espintcp: handle short messages instead of breaking the encap socket (Sabrina Dubroca) [1866393] - [net] espintcp: recv() should return 0 when the peer socket is closed (Sabrina Dubroca) [1866393] - [net] espintcp: support non-blocking sends (Sabrina Dubroca) [1866393] - [net] mptcp: be careful on subflow creation (Davide Caratti) [1862200] - [net] mptcp: fix bogus sendmsg() return code under pressure (Davide Caratti) [1862200] - [net] mptcp: fix joined subflows with unblocking sk (Davide Caratti) [1862200] - [net] subflow: explicitly check for plain tcp rsk (Davide Caratti) [1862200] - [net] mptcp: silence warning in subflow_data_ready() (Davide Caratti) [1862200] - [net] mptcp: fix race in subflow_data_ready() (Davide Caratti) [1862200] - [net] mptcp: fix memory leak in mptcp_subflow_create_socket() (Davide Caratti) [1862200] - [net] mptcp: don't leak msk in token container (Davide Caratti) [1862200] - [net] ipv4: Silence suspicious RCU usage warning (Guillaume Nault) [1866430] - [net] devinet: fix memleak in inetdev_init() (Guillaume Nault) [1866430] - [net] ipip: fix wrong address family in init error path (Guillaume Nault) [1866430] - [net] inet_csk: Fix so_reuseport bind-address cache in tb->fast* (Guillaume Nault) [1866430] - [net] ipmr: Add lockdep expression to ipmr_for_each_table macro (Guillaume Nault) [1866430] - [net] ipmr: Fix RCU list debugging warning (Guillaume Nault) [1866430] - [net] tcp: make sure listeners don't initialize congestion-control state (Paolo Abeni) [1865904] - [net] sched: The error lable position is corrected in ct_init_module (Davide Caratti) [1865890] - [net] sched: cls_api: fix nooffloaddevcnt warning dmesg log (Davide Caratti) [1865890] - [net] tls: fix race condition causing kernel panic (Sabrina Dubroca) [1861756] - [net] tls: free record only on encryption error (Sabrina Dubroca) [1861756] - [net] tls: fix encryption error checking (Sabrina Dubroca) [1861756] - [net] l2tp: add sk_family checks to l2tp_validate_socket (Guillaume Nault) [1861453] - [net] l2tp: do not use inet_hash()/inet_unhash() (Guillaume Nault) [1861453] - [net] tipc: allow to build NACK message in link timeout function (Xin Long) [1860877] - [net] tipc: fix retransmission on unicast links (Xin Long) [1860877] - [net] tipc: fix NULL pointer dereference in tipc_disc_rcv() (Xin Long) [1860877] - [net] tipc: remove set but not used variable 'prev' (Xin Long) [1860877] - [net] tipc: call tsk_set_importance from tipc_topsrv_create_listener (Xin Long) [1860877] - [net] tipc: add support for broadcast rcv stats dumping (Xin Long) [1860877] - [net] tipc: enable broadcast retrans via unicast (Xin Long) [1860877] - [net] tipc: add back link trace events (Xin Long) [1860877] - [net] tipc: introduce Gap ACK blocks for broadcast link (Xin Long) [1860877] - [net] tipc: block BH before using dst_cache (Xin Long) [1860877] - [net] tipc: fix partial topology connection closure (Xin Long) [1860877] - [net] xfrm: policy: match with both mark and mask on user interfaces (Xin Long) [1854116] - [scsi] scsi: dh: Add Fujitsu device to devinfo and dh lists (Ewan Milne) [1861418] - [x86] kvm: Set KVM_SOFT_MAX_VCPUS to 1024 (Eduardo Habkost) [1856996] - [md] dm integrity: fix integrity recalculation that is improperly skipped (Mike Snitzer) [1860160] - [netdrv] ibmvnic: Fix IRQ mapping disposal in error path (Steve Best) [1867498] - [infiniband] IB/hfi1: Do not destroy link_wq when the device is shut down (Kamal Heib) [1858392] - [infiniband] IB/hfi1: Do not destroy hfi1_wq when the device is shut down (Kamal Heib) [1858392] - [netdrv] Revert "net/broadcom: Clean broadcom code from driver versions" (Jonathan Toppins) [1867146] - [net] devmap: Use bpf_map_area_alloc() for allocating hash buckets (Jiri Benc) [1842380] - [kernel] kexec_file: Correctly output debugging information for the PT_LOAD ELF header (Lianbo Jiang) [1861186] - [kernel] kexec: Improve & fix crash_exclude_mem_range() to handle overlapping ranges (Lianbo Jiang) [1861186] - [x86] x86/crash: Correct the address boundary of function parameters (Lianbo Jiang) [1861186] - [fs] ceph: handle zero-length feature mask in session messages (Jeff Layton) [1866018] - [s390] s390/bpf: Tolerate not converging code shrinking (Yauheni Kaliuta) [1857120] - [s390] s390/bpf: Use brcl for jumping to exit_ip if necessary (Yauheni Kaliuta) [1857120] - [s390] s390/bpf: Fix sign extension in branch_ku (Yauheni Kaliuta) [1857120] - [tools] selftests: bpf: test_kmod.sh: Fix running out of srctree (Yauheni Kaliuta) [1857120] - [lib] bpf: revert "test_bpf: Flag tests that cannot be jited on s390" (Yauheni Kaliuta) [1857120] - [kernel] uprobes: ensure that uprobe->offset and ->ref_ctr_offset are properly aligned (Oleg Nesterov) [1848596]- [fs] nfs: nfs_file_write() should check for writeback errors (Scott Mayhew) [1852788] - [s390] s390/cpum_cf, perf: change DFLT_CCERROR counter name (Philipp Rudo) [1865794] - [net] net/smc: unique reason code for exceeded max dmb count (Philipp Rudo) [1865792] - [s390] s390/ism: indicate correct error reason in ism_alloc_dmb() (Philipp Rudo) [1865792] - [net] net/smc: fix dmb buffer shortage (Philipp Rudo) [1865792] - [net] net/smc: put slot when connection is killed (Philipp Rudo) [1865792] - [net] net/smc: fix restoring of fallback changes (Philipp Rudo) [1865792] - [net] net/smc: remove freed buffer from list (Philipp Rudo) [1865792] - [net] net/smc: do not call dma sync for unmapped memory (Philipp Rudo) [1865792] - [net] net/smc: fix handling of delete link requests (Philipp Rudo) [1865792] - [net] net/smc: move add link processing for new device into llc layer (Philipp Rudo) [1865792] - [net] net/smc: drop out-of-flow llc response messages (Philipp Rudo) [1865792] - [net] net/smc: protect smc ib device initialization (Philipp Rudo) [1865792] - [net] net/smc: fix link lookup for new rdma connections (Philipp Rudo) [1865792] - [net] net/smc: clear link during SMC client link down processing (Philipp Rudo) [1865792] - [net] net/smc: handle unexpected response types for confirm link (Philipp Rudo) [1865792] - [net] net/smc: switch smcd_dev_list spinlock to mutex (Philipp Rudo) [1865792] - [net] net/smc: fix sleep bug in smc_pnet_find_roce_resource() (Philipp Rudo) [1865792] - [net] net/smc: fix work request handling (Philipp Rudo) [1865792] - [net] net/smc: separate LLC wait queues for flow and messages (Philipp Rudo) [1865792] - [net] net/smc: pre-fetch send buffer outside of send_lock (Philipp Rudo) [1865792] - [nvme] nvme-fc: set max_segments to lldd max value (Ewan Milne) [1853181] - [powerpc] ppc64/kexec_file: enable early kernel's OPAL calls (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: fix kexec load failure with lack of memory hole (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: add appropriate regions for memory reserve map (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: prepare elfcore header for crashing kernel (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: setup backup region for kdump kernel (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: restrict memory usage of kdump kernel (Diego Domingos) [1829715] - [mm] powerpc/drmem: make lmb walk a bit more flexible (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: avoid stomping memory used by special regions (Diego Domingos) [1829715] - [powerpc] powerpc/kexec_file: add helper functions for getting memory ranges (Diego Domingos) [1829715] - [powerpc] powerpc/kexec_file: mark PPC64 specific code (Diego Domingos) [1829715] - [kernel] kexec_file: allow archs to handle special regions while locating memory hole (Diego Domingos) [1829715] - [netdrv] net/mlx5e: CT: Support restore ipv6 tunnel (Alaa Hleihel) [1862975] - [netdrv] ionic: unlock queue mutex in error path (Jonathan Toppins) [1854270] - [netdrv] ionic: use mutex to protect queue operations (Jonathan Toppins) [1854270] - [net] xfrm: esp6: fix the location of the transport header with encapsulation (Sabrina Dubroca) [1857653] - [net] ipv4: fill fl4_icmp_{type, code} in ping_v4_sendmsg (Sabrina Dubroca) [1861324] - [netdrv] geneve: fix an uninitialized value in geneve_changelink() (Sabrina Dubroca) [1860945] - [net] ip_tunnel: fix use-after-free in ip_tunnel_lookup() (Sabrina Dubroca) [1860945] - [netdrv] vxlan: Avoid infinite loop when suppressing NS messages with invalid options (Sabrina Dubroca) [1860945] - [tools] selftests: mptcp: capture pcap on both sides (Hangbin Liu) [1859880] - [tools] selftests/net: report etf errors correctly (Hangbin Liu) [1859880] - [tools] selftests: net: ip_defrag: ignore EPERM (Hangbin Liu) [1859880] - [tools] selftests: forwarding: pedit_dsfield: Check counter value (Hangbin Liu) [1859880] - [tools] selftests: net: tcp_mmap: fix SO_RCVLOWAT setting (Hangbin Liu) [1859880] - [tools] selftests: net: tcp_mmap: clear whole tcp_zerocopy_receive struct (Hangbin Liu) [1859880] - [tools] selftests: A few improvements to fib_nexthops.sh (Hangbin Liu) [1859880] - [tools] selftests: Add tests for vrf and xfrms (Hangbin Liu) [1859880] - [tools] selftests: pmtu: implement IPIP, SIT and ip6tnl PMTU discovery tests (Hangbin Liu) [1859880] - [tools] selftests/net/forwarding: define libs as TEST_PROGS_EXTENDED (Hangbin Liu) [1859880] - [tools] selftests/net/forwarding: add Makefile to install tests (Hangbin Liu) [1859880] - [tools] selftests: nft_concat_range: Move option for 'list ruleset' before command (Hangbin Liu) [1859880] - [tools] selftests: netfilter: use randomized netns names (Hangbin Liu) [1859880] - [tools] kselftests: netfilter: fix leftover net/net-next merge conflict (Hangbin Liu) [1859880] - [tools] selftests: netfilter: missing error check when setting up veth interface (Hangbin Liu) [1859880] - [net] sctp: Don't advertise IPv4 addresses if ipv6only is set on the socket (Xin Long) [1860673] - [net] sctp: check assoc before SCTP_ADDR_{MADE_PRIM, ADDED} event (Xin Long) [1860673] - [net] sctp: fix typo sctp_ulpevent_nofity_peer_addr_change (Xin Long) [1860673] - [net] sctp: Fix spelling in Kconfig help (Xin Long) [1860673] - [net] sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and socket is closed (Xin Long) [1860673] - [net] sctp: Don't add the shutdown timer if its already been added (Xin Long) [1860673] - [net] sctp: Fix SHUTDOWN CTSN Ack in the peer restart case (Xin Long) [1860673] - [net] sctp: Fix bundling of SHUTDOWN with COOKIE-ACK (Xin Long) [1860673] - [net] ip6_vti: use IS_REACHABLE to avoid some compile errors (Xin Long) [1840976 1835075] - [net] xfrm: interface: use IS_REACHABLE to avoid some compile errors (Xin Long) [1840976 1835075] - [net] xfrm: interface: not xfrmi_ipv6/ipip_handler twice (Xin Long) [1840976 1835075] - [net] ip6_vti: not register vti_ipv6_handler twice (Xin Long) [1840976 1835075] - [net] ip_vti: not register vti_ipip_handler twice (Xin Long) [1840976 1835075] - [net] xfrm: interface: support IPIP and IPIP6 tunnels processing with .cb_handler (Xin Long) [1840976 1835075] - [net] xfrm: interface: support IP6IP6 and IP6IP tunnels processing with .cb_handler (Xin Long) [1840976 1835075] - [net] ipcomp: assign if_id to child tunnel from parent tunnel (Xin Long) [1840976 1835075] - [net] ip6_vti: support IP6IP tunnel processing (Xin Long) [1840976 1835075] - [net] ip6_vti: support IP6IP6 tunnel processing with .cb_handler (Xin Long) [1840976 1835075] - [net] ip_vti: support IPIP6 tunnel processing (Xin Long) [1840976 1835075] - [net] ip_vti: support IPIP tunnel processing with .cb_handler (Xin Long) [1840976 1835075] - [net] tunnel6: add tunnel6_input_afinfo for ipip and ipv6 tunnels (Xin Long) [1840976 1835075] - [net] tunnel4: add cb_handler to struct xfrm_tunnel (Xin Long) [1840976 1835075] - [net] xfrm: add is_ipip to struct xfrm_input_afinfo (Xin Long) [1840976 1835075] - [net] tunnel6: support for IPPROTO_MPLS (Xin Long) [1840976 1835075] - [net] virtio_vsock: Enhance connection semantics (Stefano Garzarella) [1861735] - [net] virtio_vsock: Fix race condition in virtio_transport_recv_pkt (Stefano Garzarella) [1858135] - [net] vsock/virtio: annotate 'the_virtio_vsock' RCU pointer (Stefano Garzarella) [1861762] - [vhost] vsock/virtio: fix multiple packet delivery to monitoring devices (Stefano Garzarella) [1861762] - [vhost] vsock: fix packet delivery order to monitoring devices (Stefano Garzarella) [1861762] - [vhost] vsock: accept only packets with the right dst_cid (Stefano Garzarella) [1861762] - [vhost] vsock: refuse CID assigned to the guest->host transport (Stefano Garzarella) [1861762] - [vhost] vsock: switch to a mutex for vhost_vsock_hash (Stefano Garzarella) [1861762] - [net] vsock: fix timeout in vsock_accept() (Stefano Garzarella) [1861762] - [net] vsock: Simplify '__vsock_release()' (Stefano Garzarella) [1861762] - [netdrv] net/mlx5e: Fix kernel crash when setting vf VLANID on a VF dev (Alaa Hleihel) [1859477] - [netdrv] net/mlx5e: Modify uplink state on interface up/down (Alaa Hleihel) [1861720 1859477] - [netdrv] net/mlx5e: Fix missing cleanup of ethtool steering during rep rx cleanup (Alaa Hleihel) [1859477 1856660] - [netdrv] ixgbe: Add ethtool support to enable 2.5 and 5.0 Gbps support (Ken Cox) [1835962] - [x86] x86/purgatory: Add -fno-stack-protector (Lianbo Jiang) [1857528] - [x86] x86/purgatory: Fail the build if purgatory.ro has missing symbols (Lianbo Jiang) [1857528] - [x86] x86/purgatory: Do not use __builtin_memcpy and __builtin_memset (Lianbo Jiang) [1857528] - [x86] x86/boot: Provide KASAN compatible aliases for string routines (Lianbo Jiang) [1857528] - [x86] x86/purgatory: Disable various profiling and sanitizing options (Lianbo Jiang) [1857528] - [x86] x86/boot: Restrict header scope to make Clang happy (Lianbo Jiang) [1857528]- [x86] x86/entry/64: Update comments and sanity tests for create_gap (Jiri Olsa) [1850831] - [x86] x86/alternatives: add missing insn.h include (Jiri Olsa) [1850831] - [x86] x86/alternatives: Teach text_poke_bp() to emulate instructions (Jiri Olsa) [1850831] - [x86] x86/paravirt: Standardize 'insn_buff' variable names (Jiri Olsa) [1850831] - [x86] x86_64: Allow breakpoints to emulate call instructions (Jiri Olsa) [1850831] - [x86] x86_64: Add gap to int3 to allow for call emulation (Jiri Olsa) [1850831] - [x86] x86/alternatives: Sync bp_patching update for avoiding NULL pointer exception (Jiri Olsa) [1850831] - [nvme] nvme: add a Identify Namespace Identification Descriptor list quirk (Gopal Tiwari) [1862136] - [nvme] nvme: fix identify error status silent ignore (Gopal Tiwari) [1862136] - [nvme] nvme: fix possible hang when ns scanning fails during error recovery (Gopal Tiwari) [1862136] - [nvme] nvme: refactor nvme_identify_ns_descs error handling (Gopal Tiwari) [1862136] - [infiniband] IB/rdmavt: Fix RQ counting issues causing use of an invalid RWQE (Kamal Heib) [1850314] - [powerpc] powerpc/pseries: PCIE PHB reset (Steve Best) [1747345] - [drm] drm/nouveau/kms: Handle -EINPROGRESS in nouveau_display_acpi_ntfy() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Fix runtime PM leak in nouveau_display_acpi_ntfy() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Invert conditionals in nouveau_display_acpi_ntfy() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Use pm_runtime_put_autosuspend() in hpd_work (Lyude Paul) [1827812] - [drm] drm/nouveau/kms/fbcon: Use pm_runtime_put_autosuspend() in suspend work (Lyude Paul) [1827812] - [drm] drm/nouveau/kms/fbcon: Fix pm_runtime calls in nouveau_fbcon_output_poll_changed() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms/fbcon: Correct pm_runtime calls in nouveau_fbcon_release() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Fix rpm leak in nouveau_connector_hotplug() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Handle -EINPROGRESS in nouveau_connector_hotplug() (Lyude Paul) [1827812] - [drm] drm/nouveau/fbcon: fix module unload when fbcon init has failed for some reason (Lyude Paul) [1827812] - [drm] drm/nouveau/kms/tu102: wait for core update to complete when assigning windows (Lyude Paul) [1827812] - [drm] drm/nouveau/disp/gm200-: fix regression from HDA SOR selection changes (Lyude Paul) [1827812] - [drm] drm/amd/powerplay: fix a crash when overclocking Vega M (Lyude Paul) [1827812] - [drm] drm/amdgpu: Fix NULL dereference in dpm sysfs handlers (Lyude Paul) [1827812] - [drm] drm/amdgpu: fix preemption unit test (Lyude Paul) [1827812] - [drm] drm/amdgpu/gfx10: fix race condition for kiq (Lyude Paul) [1827812] - [drm] drm/amd/display: add dmcub check on RENOIR (Lyude Paul) [1827812] - [drm] drm/amd/display: Check DMCU Exists Before Loading (Lyude Paul) [1827812] - [drm] drm/nouveau/nouveau: fix page fault on device private memory (Lyude Paul) [1827812] - [drm] drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout (Lyude Paul) [1827812] - [drm] drm/i915/perf: Use GTT when saving/restoring engine GPR (Lyude Paul) [1827812] - [drm] drm/i915/gvt: Fix two CFL MMIO handling caused by regression (Lyude Paul) [1827812] - [drm] drm/i915/gt: Only swap to a random sibling once upon creation (Lyude Paul) [1827812] - [drm] drm/i915/gt: Ignore irq enabling on the virtual engines (Lyude Paul) [1827812] - [drm] drm/i915: Move cec_notifier to intel_hdmi_connector_unregister, v2 (Lyude Paul) [1827812] - [drm] drm/amdgpu/display: create fake mst encoders ahead of time (v4) (Lyude Paul) [1827812] - [drm] drm/amd/display: handle failed allocation during stream construction (Lyude Paul) [1827812] - [drm] drm/amdgpu/sdma5: fix wptr overwritten in ->get_wptr() (Lyude Paul) [1827812] - [drm] drm/amdgpu/powerplay: Modify SMC message name for setting power profile mode (Lyude Paul) [1827812] - [drm] drm/i915: Also drop vm.ref along error paths for vma construction (Lyude Paul) [1827812] - [drm] drm/i915: Drop vm.ref for duplicate vma on construction (Lyude Paul) [1827812] - [drm] drm/amdgpu: asd function needs to be unloaded in suspend phase (Lyude Paul) [1827812] - [drm] drm/amdgpu: add TMR destory function for psp (Lyude Paul) [1827812] - [drm] drm/amdgpu: don't do soft recovery if gpu_recovery=0 (Lyude Paul) [1827812] - [drm] drm/i915: Skip stale object handle for debugfs per-file-stats (Lyude Paul) [1827812] - [drm] drm/i915/gt: Pin the rings before marking active (Lyude Paul) [1827812] - [drm] drm/radeon: fix double free (Lyude Paul) [1827812] - [drm] drm: panel-orientation-quirks: Use generic orientation-data for Acer S1003 (Lyude Paul) [1827812] - [drm] drm: panel-orientation-quirks: Add quirk for Asus T101HA panel (Lyude Paul) [1827812] - [iommu] iommu/vt-d: Don't apply gfx quirks to untrusted devices (Lyude Paul) [1827812] - [drm] drm/tegra: hub: Do not enable orphaned window group (Lyude Paul) [1827812] - [drm] drm/ttm: Fix dma_fence refcnt leak when adding move fence (Lyude Paul) [1827812] - [drm] drm/ttm: Fix dma_fence refcnt leak in ttm_bo_vm_fault_reserved (Lyude Paul) [1827812] - [drm] drm/amdgpu/atomfirmware: fix vram_info fetching for renoir (Lyude Paul) [1827812] - [drm] drm/amdgpu: use u rather than d for sclk/mclk (Lyude Paul) [1827812] - [drm] drm/amd/display: Only revalidate bandwidth on medium and fast updates (Lyude Paul) [1827812] - [drm] drm/i915/gt: Mark timeline->cacheline as destroyed after rcu grace period (Lyude Paul) [1827812] - [drm] drm/amd/display: Fix ineffective setting of max bpc property (Lyude Paul) [1827812] - [drm] drm/amd/display: Fix incorrectly pruned modes with deep color (Lyude Paul) [1827812] - [drm] drm/amdgpu: add fw release for sdma v5_0 (Lyude Paul) [1827812] - [drm] drm/radeon: fix fb_div check in ni_init_smc_spll_table() (Lyude Paul) [1827812] - [drm] drm/amd: fix potential memleak in err branch (Lyude Paul) [1827812] - [drm] drm/amd/display: Enable output_bpc property on all outputs (Lyude Paul) [1827812] - [drm] drm/amd/display: Use kfree() to free rgb_user in calculate_user_regamma_ramp() (Lyude Paul) [1827812] - [drm] Revert "drm/amd/display: disable dcn20 abm feature for bring up" (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move gen4 GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move vlv GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move ilk GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move snb GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move ivb GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move hsw GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Incrementally check for rewinding (Lyude Paul) [1827812] - [drm] drm/i915/tc: fix the reset of ln0 (Lyude Paul) [1827812] - [drm] drm/i915/icl+: Fix hotplug interrupt disabling after storm detection (Lyude Paul) [1827812] - [drm] drm/amd/display: Use kvfree() to free coeff in build_regamma() (Lyude Paul) [1827812] - [drm] drm/amdkfd: Use correct major in devcgroup check (Lyude Paul) [1827812] - [drm] drm/connector: notify userspace on hotplug after register complete (Lyude Paul) [1827812] - [drm] drm/i915: Whitelist context-local timestamp in the gen9 cmdparser (Lyude Paul) [1827812] - [drm] drm/i915/gem: Avoid iterating an empty list (Lyude Paul) [1827812] - [drm] drm/i915: Fix AUX power domain toggling across TypeC mode resets (Lyude Paul) [1827812] - [drm] drm/dp_mst: Increase ACT retry timeout to 3s (Lyude Paul) [1827812] - [drm] drm/ast: Don't check new mode if CRTC is being disabled (Lyude Paul) [1827812] - [drm] drm/amdgpu: Replace invalid device ID with a valid device ID (Lyude Paul) [1827812] - [drm] drm/amdgpu/display: use blanked rather than plane state for sync groups (Lyude Paul) [1827812] - [drm] drm/qxl: Use correct notify port address when creating cursor ring (Lyude Paul) [1827812] - [drm] drm/dp_mst: Reformat drm_dp_check_act_status() a bit (Lyude Paul) [1827812] - [drm] drm/ast: fix missing break in switch statement for format->cppcase 4 (Lyude Paul) [1827812] - [drm] drm/amd/display: Revalidate bandwidth before commiting DC updates (Lyude Paul) [1827812] - [drm] drm/nouveau: gr/gk20a: Use firmware version 0 (Lyude Paul) [1827812] - [drm] drm/amdgpu: Sync with VM root BO when switching VM to CPU update mode (Lyude Paul) [1827812] - [drm] drm/amd/powerpay: Disable gfxoff when setting manual mode on picasso and raven (Lyude Paul) [1827812] - [drm] drm/amd/display: Do not disable pipe split if mode is not supported (Lyude Paul) [1827812] - [drm] drm/amd/display: dmcu wait loop calculation is incorrect in RV (Lyude Paul) [1827812] - [drm] drm/amd/display: Correct updating logic of dcn21's pipe VM flags (Lyude Paul) [1827812] - [drm] drm/ast: Allocate initial CRTC state of the correct size (Lyude Paul) [1827812] - [drm] drm/hisilicon: Enforce 128-byte stride alignment to fix the hardware limitation (Lyude Paul) [1827812] - [drm] drm/dp: Lenovo X13 Yoga OLED panel brightness fix (Lyude Paul) [1827812] - [drm] drm/i915/dpcd_bl: Unbreak enable_dpcd_backlight modparam (Lyude Paul) [1827812] - [drm] drm/i915: Force DPCD backlight mode for some Dell CML 2020 panels (Lyude Paul) [1827812] - [drm] drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED panel (Lyude Paul) [1827812] - [drm] drm/dp: Introduce EDID-based quirks (Lyude Paul) [1827812] - [drm] drm/amdgpu: Init data to avoid oops while reading pp_num_states (Lyude Paul) [1827812] - [drm] drm/amd/display: fix virtual signal dsc setup (Lyude Paul) [1827812] - [drm] drm/amd/display: Force watermark value propagation (Lyude Paul) [1827812] - [drm] drm: bridge: adv7511: Extend list of audio sample rates (Lyude Paul) [1827812] - [drm] drm/amdgpu: fix and cleanup amdgpu_gem_object_close v4 (Lyude Paul) [1827812] - [drm] drm/vkms: Hold gem object while still in-use (Lyude Paul) [1827812] - [drm] drm/amd/display: Not doing optimize bandwidth if flip pending (Lyude Paul) [1827812] - [drm] drm/amd/display: remove invalid dc_is_hw_initialized function (Lyude Paul) [1827812] - [drm] drm/amd/display: DP training to set properly SCRAMBLING_DISABLE (Lyude Paul) [1827812] - [drm] drm/edid: Add Oculus Rift S to non-desktop list (Lyude Paul) [1827812] - [drm] drm/amd/display: Fix potential integer wraparound resulting in a hang (Lyude Paul) [1827812] - [drm] drm/amd/display: Added locking for atomic update stream and update planes (Lyude Paul) [1827812] - [drm] drm/amd/display: Indicate dsc updates explicitly (Lyude Paul) [1827812] - [drm] drm/amd/display: Split program front end part that occur outside lock (Lyude Paul) [1827812] - [drm] drm/amd/display: drop cursor position check in atomic test (Lyude Paul) [1827812] - [drm] drm/amd/amdgpu: Update update_config() logic (Lyude Paul) [1827812] - [drm] drm/amdgpu: Use GEM obj reference for KFD BOs (Lyude Paul) [1827812] - [drm] drm/amd/powerplay: perform PG ungate prior to CG ungate (Lyude Paul) [1827812] - [drm] drm/amdgpu: drop unnecessary cancel_delayed_work_sync on PG ungate (Lyude Paul) [1827812] - [drm] drm/i915: Propagate error from completed fences (Lyude Paul) [1827812] - [drm] drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance (Lyude Paul) [1827812] - [drm] drm/amd/display: Prevent dpcd reads with passive dongles (Lyude Paul) [1827812] - [drm] drm/amd/display: fix counter in wait_for_no_pipes_pending (Lyude Paul) [1827812] - [gpu] vgaarb: Keep adding VGA device in queue (Lyude Paul) [1827812]- [net] openvswitch: fixes potential deadlock in dp cleanup code (Eelco Chaudron) [1845662] - [net] openvswitch: reorder masks array based on usage (Eelco Chaudron) [1845662] - [net] openvswitch: ovs_ct_exit to be done under ovs_lock (Eelco Chaudron) [1860853] - [net] ip6_gre: fix null-ptr-deref in ip6gre_init_net() (Hangbin Liu) [1860221] - [net] ip6_gre: fix use-after-free in ip6gre_tunnel_lookup() (Hangbin Liu) [1860221] - [net] mld: fix memory leak in ipv6_mc_destroy_dev() (Hangbin Liu) [1860221] - [net] ipv6: Fix suspicious RCU usage warning in ip6mr (Hangbin Liu) [1860221] - [net] ip6mr: Fix RCU list debugging warning (Hangbin Liu) [1860221] - [net] revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu" (Hangbin Liu) [1860221] - [netdrv] macsec: avoid to set wrong mtu (Sabrina Dubroca) [1860944] - [netdrv] team: fix hang in team_mode_get() (Hangbin Liu) [1860219] - [include] xfrm: Fix crash when the hold queue is used. (Xin Long) [1860672] - [net] xfrm: policy: fix IPv6-only espintcp compilation (Xin Long) [1860672] - [net] xfrm: esp6: fix encapsulation header offset computation (Xin Long) [1860672] - [net] xfrm: Fix double ESP trailer insertion in IPsec crypto offload. (Xin Long) [1860672] - [net] esp4: improve xfrm4_beet_gso_segment() to be more readable (Xin Long) [1860672] - [net] xfrm interface: don't take extra reference to netdev (Xin Long) [1860672] - [net] xfrm interface: fix oops when deleting a x-netns interface (Xin Long) [1860672] - [net] xfrm: remove the unnecessary .net_exit for xfrmi (Xin Long) [1860672] - [net] xfrm: Always set XFRM_TRANSFORMED in xfrm{4, 6}_output_finish (Xin Long) [1860672] - [include] xfrm: fix error in comment (Xin Long) [1860672] - [net] sctp: shrink stream outq when fails to do addstream reconf (Xin Long) [1853535] - [net] sctp: shrink stream outq only when new outcnt < old outcnt (Xin Long) [1853535] - [net] tipc: fix kernel WARNING in tipc_msg_append() (Xin Long) [1844377] - [net] tipc: fix NULL pointer dereference in streaming (Xin Long) [1844377] - [net] tipc: add test for Nagle algorithm effectiveness (Xin Long) [1844377] - [net] tipc: fix failed service subscription deletion (Xin Long) [1844377] - [net] tipc: fix memory leak in service subscripting (Xin Long) [1844377] - [net] tipc: fix large latency in smart Nagle streaming (Xin Long) [1844377] - [net] mptcp: add receive buffer auto-tuning (Florian Westphal) [1858276] - [tools] selftests: mptcp: add option to specify size of file to transfer (Florian Westphal) [1858276] - [net] mptcp: fallback in case of simultaneous connect (Florian Westphal) [1858276] - [net] mptcp: improve fallback to TCP (Florian Westphal) [1858276] - [net] mptcp: fix unblocking connect() (Florian Westphal) [1858276] - [net] mptcp: cache msk on MP_JOIN init_req (Florian Westphal) [1858276] - [net] mptcp: remove msk from the token container at destruction time. (Florian Westphal) [1858276] - [net] mptcp: fix races between shutdown and recvmsg (Florian Westphal) [1858276] - [net] mptcp: fix race between MP_JOIN and close (Florian Westphal) [1858276] - [net] mptcp: drop MPTCP_PM_MAX_ADDR (Florian Westphal) [1858276] - [net] mptcp: bugfix for RM_ADDR option parsing (Florian Westphal) [1858276] - [net] mptcp: drop MP_JOIN request sock on syn cookies (Florian Westphal) [1858276] - [net] mptcp: avoid NULL-ptr derefence on fallback (Florian Westphal) [1858276] - [net] mptcp: drop sndr_key in mptcp_syn_options (Florian Westphal) [1858276] - [net] mptcp: MPTCP_HMAC_TEST should depend on MPTCP (Florian Westphal) [1858276] - [net] mptcp: fix DSS map generation on fin retransmission (Florian Westphal) [1858276] - [net] inet_connection_sock: clear inet_num out of destroy helper (Florian Westphal) [1858276] - [net] mptcp: fix NULL ptr dereference in MP_JOIN error path (Florian Westphal) [1858276] - [net] mptcp: avoid blocking in tcp_sendpages (Florian Westphal) [1858276] - [net] mptcp: break and restart in case mptcp sndbuf is full (Florian Westphal) [1858276] - [net] l2tp: remove skb_dst_set() from l2tp_xmit_skb() (Xin Long) [1832799] - [net] rtnetlink: prevent underflows in do_setvfinfo() (Davide Caratti) [1854740] - [net] netfilter: nf_tables: reintroduce the NFT_SET_CONCAT flag (Phil Sutter) [1847553] - [net] netfilter: nf_tables: report EOPNOTSUPP on unsupported flags/object type (Phil Sutter) [1847553] - [net] openvswitch: take into account de-fragmentation/gso_size in execute_check_pkt_len (Lorenzo Bianconi) [1851888] - [tools] selftests: forwarding: mirror_lib: Use mausezahn (Davide Caratti) [1816443] - [x86] perf/x86/rapl: Add Ice Lake RAPL support (Michael Petlan) [1841266] - [arm64] arm64/mm: enable HugeTLB migration (Donghai Qiao) [1758717] - [scsi] scsi: core: Run queue in case of I/O resource contention failure (Ewan Milne) [1854958] - [message] scsi: mptscsih: Fix read sense data size (Tomas Henzl) [1850563] - [netdrv] net: qed: fix buffer overflow on ethtool -d (Manish Chopra) [1858915] - [x86] sched/cputime: Improve cputime_adjust() (Oleg Nesterov) [1859977] - [kernel] uprobes: Change handle_swbp() to send SIGTRAP with si_code=SI_KERNEL, to fix GDB regression (Oleg Nesterov) [1855390] - [x86] x86/asm: Fix MWAITX C-state hint value (Vladis Dronov) [1767064] - [x86] x86/kexec: Fill in acpi_rsdp_addr from the first kernel (Kairui Song) [1684462] - [x86] x86/kexec: Don't setup EFI info if EFI runtime is not enabled (Kairui Song) [1684462] - [vfio] vfio/pci: fix racy on error and request eventfd ctx (Alex Williamson) [1858346] - [platform] platform/x86: ISST: Increase timeout (Prarit Bhargava) [1854682] - [mm] x86/mm: split vmalloc_sync_all() (Al Stone) [1851547] - [acpi] ACPI: watchdog: Fix gas->access_width usage (Al Stone) [1851547] - [acpi] ACPICA: Introduce ACPI_ACCESS_BYTE_WIDTH() macro (Al Stone) [1851547]- [virt] kvm: x86: take as_id into account when checking PGD (Vitaly Kuznetsov) [1615704] - [arm64] kvm: arm64: Stop clobbering x0 for HVC_SOFT_RESTART (Andrew Jones) [1855788] - [arm64] kvm: arm64: pmu: Fix per-CPU access in preemptible context (Andrew Jones) [1855788] - [arm64] kvm: arm64: Fix kvm_reset_vcpu() return code being incorrect with SVE (Andrew Jones) [1855788] - [arm64] kvm: arm64: Annotate hyp NMI-related functions as __always_inline (Andrew Jones) [1855788] - [arm64] kvm: arm64: Remove host_cpu_context member from vcpu structure (Andrew Jones) [1855788] - [arm64] kvm: arm64: Move hyp_symbol_addr() to kvm_asm.h (Andrew Jones) [1855788] - [arm64] kvm: arm64: Handle PtrAuth traps early (Andrew Jones) [1855788] - [arm64] kvm: arm64: Save the host's PtrAuth keys in non-preemptible context (Andrew Jones) [1855788] - [arm64] kvm: arm64: Stop save/restoring ACTLR_EL1 (Andrew Jones) [1855788] - [kernel] firmware: smccc: Update link to latest SMCCC specification (Andrew Jones) [1855788] - [kernel] arm/arm64: smccc-1.1: Handle function result as parameters (Andrew Jones) [1855788] - [kernel] arm/arm64: smccc-1.1: Make return values unsigned long (Andrew Jones) [1855788] - [video] Revert "hyperv_fb: Fix hibernation for the deferred IO feature" (Mohammed Gamal) [1858755] - [netdrv] net/mlx5e: CT: Map 128 bits labels to 32 bit map ID (Alaa Hleihel) [1859540] - [security] ima: move APPRAISE_BOOTPARAM dependency on ARCH_POLICY to runtime (Bruno Meneguele) [1847219] - [scsi] scsi: lpfc: NVMe remote port devloss_tmo from lldd (Dick Kennedy) [1859344] - [netdrv] net/mlx5e: Disable devlink port support for non-switchdev mode (Alaa Hleihel) [1858501 1852904 1849623] - [tools] perf powerpc: Don't ignore sym-handling.c file (Michael Petlan) [1858133] - [fs] ext4: reserve revoke credits in __ext4_new_inode (Lukas Czerner) [1856760] - [include] jbd2: make jbd2_handle_buffer_credits() handle reserved handles (Lukas Czerner) [1856760] - [fs] jbd2: avoid leaking transaction credits when unreserving handle (Lukas Czerner) [1856760] - [fs] jbd2: Fine tune estimate of necessary descriptor blocks (Lukas Czerner) [1856760] - [fs] jbd2: Provide trace event for handle restarts (Lukas Czerner) [1856760] - [fs] ext4: Reserve revoke credits for freed blocks (Lukas Czerner) [1856760] - [fs] jbd2: Make credit checking more strict (Lukas Czerner) [1856760] - [fs] jbd2: Rename h_buffer_credits to h_total_credits (Lukas Czerner) [1856760] - [fs] jbd2: add missing tracepoint for reserved handle (Lukas Czerner) [1856760] - [fs] jbd2: Reserve space for revoke descriptor blocks (Lukas Czerner) [1856760] - [fs] jbd2: Drop jbd2_space_needed() (Lukas Czerner) [1856760] - [fs] jbd2: remove repeated assignments in __jbd2_log_wait_for_space() (Lukas Czerner) [1856760] - [fs] jbd2: Account descriptor blocks into t_outstanding_credits (Lukas Czerner) [1856760] - [include] jbd2: update locking documentation for transaction_t (Lukas Czerner) [1856760] - [fs] jbd2: Factor out common parts of stopping and restarting a handle (Lukas Czerner) [1856760] - [fs] jbd2: Drop pointless wakeup from jbd2_journal_stop() (Lukas Czerner) [1856760] - [fs] jbd2: Drop pointless check from jbd2_journal_stop() (Lukas Czerner) [1856760] - [fs] jbd2: Reorganize jbd2_journal_stop() (Lukas Czerner) [1856760] - [fs] ext4, jbd2: Provide accessor function for handle credits (Lukas Czerner) [1856760] - [fs] ext4: Provide function to handle transaction restarts (Lukas Czerner) [1856760] - [fs] ext4: Avoid unnecessary revokes in ext4_alloc_branch() (Lukas Czerner) [1856760] - [fs] ext4: Use ext4_journal_extend() instead of jbd2_journal_extend() (Lukas Czerner) [1856760] - [fs] jbd2: Completely fill journal descriptor blocks (Lukas Czerner) [1856760] - [fs] jbd2: Fixup stale comment in commit code (Lukas Czerner) [1856760] - [include] jbd2: Fix possible overflow in jbd2_log_space_left() (Lukas Czerner) [1856760] - [fs] ext4, jbd2: ensure panic by fix a race between jbd2 abort and ext4 error handlers (Lukas Czerner) [1856760] - [fs] ext4: remove set but not used variable 'es' in ext4_jbd2.c (Lukas Czerner) [1856760] - [fs] ext4: remove set but not used variable 'es' (Lukas Czerner) [1856760] - [fs] ext4: save all error info in save_error_info() and drop ext4_set_errno() (Lukas Czerner) [1856760] - [fs] ext4: save the error code which triggered an ext4_error() in the superblock (Lukas Czerner) [1856760] - [fs] jbd2: clean __jbd2_journal_abort_hard() and __journal_abort_soft() (Lukas Czerner) [1856760] - [fs] ext4: stop overwrite the errcode in ext4_setup_super (Lukas Czerner) [1856760] - [fs] ext4: fix partial cluster initialization when splitting extent (Lukas Czerner) [1856760] - [fs] ext4: avoid ext4_error()'s caused by ENOMEM in the truncate path (Lukas Czerner) [1856760] - [fs] ext4: fix race between ext4_sync_parent() and rename() (Lukas Czerner) [1856760] - [fs] ext4: clean up ext4_ext_convert_to_initialized() error handling (Lukas Czerner) [1856760] - [fs] ext4: clean up GET_BLOCKS_PRE_IO error handling (Lukas Czerner) [1856760] - [fs] ext4: fix error pointer dereference (Lukas Czerner) [1856760] - [fs] ext4: Avoid freeing inodes on dirty list (Lukas Czerner) [1856760] - [fs] writeback: Export inode_io_list_del() (Lukas Czerner) [1856760] - [fs] ext4: fix buffer_head refcnt leak when ext4_iget() fails (Lukas Czerner) [1856760] - [fs] ext4: fix EXT_MAX_EXTENT/INDEX to check for zeroed eh_max (Lukas Czerner) [1856760] - [fs] ext4: fix a style issue in fs/ext4/acl.c (Lukas Czerner) [1856760] - [fs] ext4: fix return-value types in several function comments (Lukas Czerner) [1856760] - [fs] ext4: use non-movable memory for superblock readahead (Lukas Czerner) [1856760] - [fs] ext4: fix incorrect group count in ext4_fill_super error message (Lukas Czerner) [1856760] - [fs] ext4: fix incorrect inodes per group in error message (Lukas Czerner) [1856760] - [fs] ext4: avoid ENOSPC when avoiding to reuse recently deleted inodes (Lukas Czerner) [1856760] - [fs] ext4: fix a data race at inode->i_disksize (Lukas Czerner) [1856760] - [fs] ext4: fix a data race at inode->i_blocks (Lukas Czerner) [1856760] - [fs] ext4: clean up error return for convert_initialized_extent() (Lukas Czerner) [1856760] - [fs] ext4: force buffer up-to-date while marking it dirty (Lukas Czerner) [1856760] - [fs] ext4: fix race between writepages and enabling EXT4_EXTENTS_FL (Lukas Czerner) [1856760] - [fs] ext4: rename s_journal_flag_rwsem to s_writepages_rwsem (Lukas Czerner) [1856760] - [fs] ext4: potential crash on allocation error in ext4_alloc_flex_bg_array() (Lukas Czerner) [1856760] - [fs] ext4: fix potential race between s_flex_groups online resizing and access (Lukas Czerner) [1856760] - [fs] ext4: fix potential race between s_group_info online resizing and access (Lukas Czerner) [1856760] - [fs] ext4: fix potential race between online resizing and write operations (Lukas Czerner) [1856760] - [fs] ext4: add cond_resched() to __ext4_find_entry() (Lukas Czerner) [1856760] - [fs] ext4: fix a data race in EXT4_I(inode)->i_disksize (Lukas Czerner) [1856760] - [fs] ext4: fix checksum errors with indexed dirs (Lukas Czerner) [1856760] - [fs] ext4: simplify checking quota limits in ext4_statfs() (Lukas Czerner) [1856760] - [fs] ext4: choose hardlimit when softlimit is larger than hardlimit in ext4_statfs_project() (Lukas Czerner) [1856760] - [fs] ext4: don't assume that mmp_nodename/bdevname have NUL (Lukas Czerner) [1856760] - [fs] jbd2: make sure ESHUTDOWN to be recorded in the journal superblock (Lukas Czerner) [1856760] - [fs] ext4, jbd2: ensure panic when aborting with zero errno (Lukas Czerner) [1856760] - [fs] jbd2: switch to use jbd2_journal_abort() when failed to submit the commit record (Lukas Czerner) [1856760] - [fs] jbd2_seq_info_next should increase position index (Lukas Czerner) [1856760] - [fs] ext4,jbd2: fix comment and code style (Lukas Czerner) [1856760] - [fs] ext4: fix extent_status trace points (Lukas Czerner) [1856760] - [fs] ext4: fix extent_status fragmentation for plain files (Lukas Czerner) [1856760] - [fs] jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal (Lukas Czerner) [1856760] - [fs] ext4: fix some nonstandard indentation in extents.c (Lukas Czerner) [1856760] - [fs] ext4: fix documentation for ext4_ext_try_to_merge() (Lukas Czerner) [1856760] - [fs] ext4: avoid fetching btime in ext4_getattr() unless requested (Lukas Czerner) [1856760] - [fs] ext4: fix ext4_dax_read/write inode locking sequence for IOCB_NOWAIT (Lukas Czerner) [1856760] - [fs] ext4: optimize __ext4_check_dir_entry() (Lukas Czerner) [1856760] - [fs] ext4: check for directory entries too close to block end (Lukas Czerner) [1856760] - [fs] ext4: fix a bug in ext4_wait_for_tail_page_commit (Lukas Czerner) [1856760] - [fs] jbd2: Fix statistics for the number of logged blocks (Lukas Czerner) [1856760] - [fs] ext4: Fix ext4_should_journal_data() for EA inodes (Lukas Czerner) [1856760] - [fs] ext4: Fix credit estimate for final inode freeing (Lukas Czerner) [1856760] - [fs] ext4: Do not iput inode under running transaction (Lukas Czerner) [1856760] - [fs] ext4: Move marking of handle as sync to ext4_add_nondir() (Lukas Czerner) [1856760] - [fs] ext4: update direct I/O read lock pattern for IOCB_NOWAIT (Lukas Czerner) [1856760] - [fs] jbd2: flush_descriptor(): Do not decrease buffer head's ref count (Lukas Czerner) [1856760] - [fs] ext4: fix prefetchw of NULL page (Lukas Czerner) [1856760] - [fs] ext4: check for non-zero journal inum in ext4_calculate_overhead (Lukas Czerner) [1814574] - [fs] ext4: do not commit super on read-only bdev (Lukas Czerner) [1814574] - [kernel] isolcpus: Affine unbound kernel threads to housekeeping cpus (Marcelo Tosatti) [1791930] - [kernel] kthread: Switch to cpu_possible_mask (Marcelo Tosatti) [1791930] - [scsi] scsi: lpfc: Quieten some printks (Dick Kennedy) [1859338] - [scsi] Revert "scsi: lpfc: Fix scsi host template for SLI3 vports" (Dick Kennedy) [1851189] - [md] dm mpath: use double checked locking in fast path (Mike Snitzer) [1848651] - [md] dm mpath: rename current_pgpath to pgpath in multipath_prepare_ioctl (Mike Snitzer) [1848651] - [md] dm mpath: rework __map_bio() (Mike Snitzer) [1848651] - [md] dm mpath: factor out multipath_queue_bio (Mike Snitzer) [1848651] - [md] dm mpath: push locking down to must_push_back_rq() (Mike Snitzer) [1848651] - [md] dm mpath: take m->lock spinlock when testing QUEUE_IF_NO_PATH (Mike Snitzer) [1848651] - [md] dm mpath: changes from initial m->flags locking audit (Mike Snitzer) [1848651] - [md] dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue() (Mike Snitzer) [1848651] - [md] dm: do not use waitqueue for request-based DM (Mike Snitzer) [1848651] - [block] blk-mq: consider non-idle request as "inflight" in blk_mq_rq_inflight() (Mike Snitzer) [1848651] - [powerpc] powerpc/fadump: fix race between pstore write and fadump crash trigger (Steve Best) [1820109] - [tools] libbpf: Fix probe code to return EPERM if encountered (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1856592] - [tools] tools selftests/bpf: Fix vmlinux test for kprobe and trampoline probes (Jiri Olsa) [1855778] - [net] net: Restrict receive packets queuing to housekeeping CPUs (Nitesh Narayan Lal) [1844520] - [pci] PCI: Restrict probe functions to housekeeping CPUs (Nitesh Narayan Lal) [1844520] - [lib] lib: Restrict cpumask_local_spread to houskeeping CPUs (Nitesh Narayan Lal) [1844520]- [tools] selftests/powerpc: Purge extra count_pmc() calls of ebb selftests (Desnes Augusto Nunes do Rosario) [1739769] - [netdrv] bonding: symmetric ICMP transmit (Jarod Wilson) [1760293] - [netdrv] bonding: balance ICMP echoes in layer3+4 mode (Jarod Wilson) [1760362] - [powerpc] powerpc/vas: Report proper error code for address translation failure (Steve Best) [1858160] - [infiniband] IB/hfi1: Fix module use count flaw due to leftover module put calls (Kamal Heib) [1858388] - [gpu] vgaarb: Add support for 64-bit frame buffer address (Karol Herbst) [1735217] - [netdrv] ionic: centralize queue reset code (Jonathan Toppins) [1857851] - [s390] s390/qeth: support net namespaces for L3 devices (Philipp Rudo) [1857311] - [s390] s390/qeth: implement smarter resizing of the RX buffer pool (Philipp Rudo) [1857311] - [s390] s390/qeth: refactor buffer pool code (Philipp Rudo) [1857311] - [s390] s390/qeth: use page pointers to manage RX buffer pool (Philipp Rudo) [1857311] - [s390] s390/qeth: cancel RX reclaim work earlier (Philipp Rudo) [1857311] - [s390] s390/qeth: handle error when backing RX buffer (Philipp Rudo) [1857311] - [s390] s390/qeth: don't reset default_out_queue (Philipp Rudo) [1857311] - [s390] s390/qdio: fill SBALEs with absolute addresses (Philipp Rudo) [1857311] - [s390] s390/qeth: fix off-by-one in RX copybreak check (Philipp Rudo) [1857311] - [s390] s390/qeth: vnicc Fix EOPNOTSUPP precedence (Philipp Rudo) [1857311] - [s390] s390/qeth: consolidate QDIO queue setup (Philipp Rudo) [1857311] - [s390] s390/pci: Fix s390_mmio_read/write with MIO (Philipp Rudo) [1857315] - [s390] scsi: zfcp: Fix panic on ERP timeout for previously dismissed ERP action (Philipp Rudo) [1857312] - [net] net/smc: tolerate future SMCD versions (Philipp Rudo) [1854992] - [fs] ext4: use RCU API in debug_print_tree (Lukas Czerner) [1837777] - [fs] ext4: fix potential use after free after remounting with noblock_validity (Lukas Czerner) [1837777] - [fs] ext4: add cond_resched() to ext4_protect_reserved_inode (Lukas Czerner) [1837777] - [fs] fibmap: Reject negative block numbers (Carlos Maiolino) [1687121] - [vfio] vfio/pci: Fix SR-IOV VF handling with MMIO blocking (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio-pci: Invalidate mmaps and block MMIO access on disabled memory (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio-pci: Fault mmaps to enable vma tracking (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio/type1: Support faulting PFNMAP vmas (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn() (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio/pci: call irq_bypass_unregister_producer() before freeing irq (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio_pci: Enable memory accesses before calling pci_map_rom (Alex Williamson) [1837310] {CVE-2020-12888} - [x86] mm: Fix mremap not considering huge pmd devmap (Rafael Aquini) [1843441] {CVE-2020-10757} - [x86] x86/speculation: PR_SPEC_FORCE_DISABLE enforcement for indirect branches (Waiman Long) [1847396 1846029] {CVE-2020-10768} - [x86] x86/speculation: Prevent rogue cross-process SSBD shutdown (Waiman Long) [1847358 1846029] {CVE-2020-10766} - [x86] x86/speculation: Avoid force-disabling IBPB based on STIBP and enhanced IBRS (Waiman Long) [1847379 1846029] {CVE-2020-10767} - [x86] x86/speculation/mds: Mark mds_user_clear_cpu_buffers() __always_inline (Waiman Long) [1846029] - [arm64] Return ENODEV when the selected speculation misfeature is unsupported (Waiman Long) [1846029] - [x86] x86/speculation: Add support for STIBP always-on preferred mode (Waiman Long) [1846029] - [x86] x86/speculation: Change misspelled STIPB to STIBP (Waiman Long) [1846029]- [powerpc] powernv/iov: Ensure the pdn for VFs always contains a valid PE number (David Gibson) [1848235] - [powerpc] don't use ioremap_prot() nor __ioremap() unless really needed (Greg Kurz) [1855957] - [char] tpm: ibmvtpm: Wait for ready buffer before probing for TPM2 attributes (David Gibson) [1837283] - [powerpc] Check prom_init for disallowed sections (Michael Roth) [1856099] - [powerpc] prom_init: Move __prombss to it's own section and store it in .bss (Michael Roth) [1856099] - [powerpc] prom_init: Move const structures to __initconst (Michael Roth) [1856099] - [powerpc] prom_init: Make "default_colors" const (Michael Roth) [1856099] - [powerpc] prom_init: Move ibm_arch_vec to __prombss (Michael Roth) [1856099] - [fs] ext4: unregister sysfs path before destroying jbd2 journal (Lukas Czerner) [1814577] - [powerpc] powerpc/pseries/svm: Fix incorrect check for shared_lppaca_size (Steve Best) [1856889] - [netdrv] bnxt_en: fix NULL dereference in case SR-IOV configuration fails (Jonathan Toppins) [1856372] - [security] kexec: Allow kexec_file() with appropriate IMA policy when locked down (Bruno Meneguele) [1854097] - [x86] x86/apic/vector: Warn when vector space exhaustion breaks affinity (Neil Horman) [1714686] - [tools] perf report TUI: Fix segmentation fault in perf_evsel__hists_browse() (Michael Petlan) [1855737] - [fs] ext4: do not zeroout extents beyond i_disksize (Lukas Czerner) [1817816] - [pci] PCI/DPC: Print IRQ number used by port (Myron Stowe) [1855343] - [pci] PCI/AER: Use "aer" variable for capability offset (Myron Stowe) [1855343] - [pci] PCI/AER: Remove redundant dev->aer_cap checks (Myron Stowe) [1855343] - [pci] PCI/AER: Remove redundant pci_is_pcie() checks (Myron Stowe) [1855343] - [pci] PCI/AER: Remove HEST/FIRMWARE_FIRST parsing for AER ownership (Myron Stowe) [1855343] - [tools] selftests: bpf: use __u32 for sock::sk_pacing_rate (Yauheni Kaliuta) [1856324] - [tools] libbpf: Handle GCC noreturn-turned-volatile quirk (Yauheni Kaliuta) [1854327] - [netdrv] net/mlx5e: CT: Fix releasing ft entries (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Remove unused function param (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Return err_ptr from internal functions (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Expand tunnel register mappings (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Use mapping for zone restore register (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Re-use tuple modify headers for identical modify actions (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Export sharing of mod headers to a new file (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: Add support for COPY steering action (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: Accept flow rules without match (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Restore ct state from lookup in zone instead of tupleid (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Don't offload tuple rewrites for established tuples (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Use netdev_info instead of pr_info (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Allow header rewrite of 5-tuple and ct clear action (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Save ct entries tuples in hashtables (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: CT: Remove unused variables (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: Avoid eswitch header inclusion in fs core layer (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: vxlan: Use RCU for vxlan table lookup (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Remove unused mlx5e_xsk_first_unused_channel (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Fix memory leak in cleanup (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Fix port buffers cell size value (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Fix 50G per lane indication (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Fix CPU mapping after function reload to avoid aRFS RX crash (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Fix VXLAN configuration restore after function reload (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: Fix eeprom support for SFP module (Alaa Hleihel) [1856057] - [infiniband] IB/mlx5: Fix 50G per lane indication (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Do not include rwlock.h directly (Alaa Hleihel) [1856057] - [fs] jbd2: fix data races at struct journal_head (Lukas Czerner) [1792518] - [fs] jbd2: remove pointless assertion in __journal_remove_journal_head (Lukas Czerner) [1792518] - [fs] jbd2: improve comments about freeing data buffers whose page mapping is NULL (Lukas Czerner) [1792518] - [fs] jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer (Lukas Czerner) [1792518] - [fs] jbd2: move the clearing of b_modified flag to the journal_unmap_buffer() (Lukas Czerner) [1792518] - [fs] ext4: unlock on error in ext4_expand_extra_isize() (Lukas Czerner) [1817636] {CVE-2019-19767} - [fs] ext4: fix support for inode sizes > 1024 bytes (Lukas Czerner) [1817636] {CVE-2019-19767} - [fs] ext4: validate the debug_want_extra_isize mount option at parse time (Lukas Czerner) [1817636] {CVE-2019-19767} - [fs] ext4: add more paranoia checking in ext4_expand_extra_isize handling (Lukas Czerner) [1817636] {CVE-2019-19767} - [fs] ext4: unsigned int compared against zero (Lukas Czerner) [1836666] {CVE-2019-19319} - [fs] ext4: protect journal inode's blocks using block_validity (Lukas Czerner) [1836666] {CVE-2019-19319} - [powerpc] powerpc/kernel/sysfs: Add new config option PMU_SYSFS to enable PMU SPRs sysfs file creation (Michael Petlan) [1821284] - [powerpc] powerpc/kernel/sysfs: Refactor current sysfs.c (Michael Petlan) [1821284] - [kernel] irqdomain: Add the missing assignment of domain->fwnode for named fwnode (Mohammed Gamal) [1846666] - [security] lockdown: Allow unprivileged users to see lockdown status (Vladis Dronov) [1805299] - [edac] EDAC/ghes: Setup DIMM label from DMI and use it in error reports (Robert Richter) [1726153]- [x86] kvm: nvmx: fixes for preemption timer migration (Paolo Bonzini) [1854831] - [powerpc] pci/of: Parse unassigned resources (Greg Kurz) [1849921] - [video] revert "hyperv: hyperv_fb: Support deferred IO for Hyper-V frame buffer driver" (Vitaly Kuznetsov) [1848840] - [video] revert "hyperv: hyperv_fb: Use physical memory for fb on HyperV Gen 1 VMs" (Vitaly Kuznetsov) [1848840] - [pci] hv: Retry PCI bus D0 entry on invalid device state (Mohammed Gamal) [1846666] - [pci] hv: Fix the PCI HyperV probe failure path to release resource properly (Mohammed Gamal) [1846666] - [pci] hv: Allocate a named fwnode instead of an address-based one (Mohammed Gamal) [1846666] - [netdrv] tg3: driver sleeps indefinitely when EEH errors exceed eeh_max_freezes (Jonathan Toppins) [1850176] - [scsi] scsi: lpfc: Fix kdump hang on PPC (Dick Kennedy) [1722596] - [fs] nfsd: fix nfsdfs inode reference count leak ("J. Bruce Fields") [1846235] - [fs] nfsd4: fix nfsdfs reference count loop ("J. Bruce Fields") [1846235] - [kernel] sched: Defend cfs and rt bandwidth quota against overflow (Phil Auld) [1854180] - [kernel] sched/core: Make some functions static (Phil Auld) [1854180] - [kernel] sched/fair: Refill bandwidth before scaling (Phil Auld) [1854180] - [kernel] sched/fair: Eliminate bandwidth race between throttling and distribution (Phil Auld) [1854180] - [kernel] sched/fair: Fix race between runtime distribution and assignment (Phil Auld) [1854180] - [kernel] sched/deadline: Initialize ->dl_boosted (Phil Auld) [1854179] - [kernel] sched/core: Fix PI boosting between RT and DEADLINE tasks (Phil Auld) [1854179] - [netdrv] ibmveth: Fix max MTU limit (Diego Domingos) [1846435] - [kernel] sched/core: Fix ttwu() race (Phil Auld) [1854178] - [tools] perf flamegraph: Explicitly set utf-8 encoding (Michael Petlan) [1849027] - [kernel] sched/core: Check cpus_mask, not cpus_ptr in __set_cpus_allowed_ptr(), to fix mask corruption (Phil Auld) [1854174] - [kernel] workqueue: Remove the warning in wq_worker_sleeping() (Phil Auld) [1854174] - [kernel] sched/fair: Fix negative imbalance in imbalance calculation (Phil Auld) [1854174] - [kernel] sched/fair: Optimize select_idle_core() (Phil Auld) [1854174] - [x86] x86/PCI: Mark Intel C620 MROMs as having non-compliant BARs (Myron Stowe) [1854184] - [netdrv] r8169: fix firmware not resetting tp->ocp_base (Josef Oskera) [1851960] - [acpi] ACPI: configfs: Disallow loading ACPI tables when locked down (Lenny Szubowicz) [1852969] - [arm64] Revert "bpf: Restrict bpf_probe_read{, str}() only to archs where they work" (Jiri Olsa) [1847837] - [s390] s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range (Jiri Olsa) [1847837] - [net] Bluetooth: Modify LE window and interval for suspend (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix incorrect type for window and interval (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Use DEFER_SETUP to group ECRED connections (Gopal Tiwari) [1838924] - [net] Bluetooth: don't assume key size is 16 when the command fails (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Add get_peer_pid callback (Gopal Tiwari) [1838924] - [net] Bluetooth: Restore running state if suspend fails (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix incorrect branch in connection complete (Gopal Tiwari) [1838924] - [net] Bluetooth: Do not cancel advertising when starting a scan (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: remove set but not used variable 'credits' (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Fix a condition in l2cap_sock_recvmsg() (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: handle l2cap config request during open state (Gopal Tiwari) [1838924] - [net] Bluetooth: clean up connection in hci_cs_disconnect (Gopal Tiwari) [1838924] - [net] Bluetooth: Pause discovery and advertising during suspend (Gopal Tiwari) [1838924] - [net] Bluetooth: Handle LE devices during suspend (Gopal Tiwari) [1838924] - [net] Bluetooth: Handle BR/EDR devices during suspend (Gopal Tiwari) [1838924] - [net] Bluetooth: Handle PM_SUSPEND_PREPARE and PM_POST_SUSPEND (Gopal Tiwari) [1838924] - [net] Bluetooth: mgmt: add mgmt_cmd_status in add_advertising (Gopal Tiwari) [1838924] - [net] Bluetooth: fix off by one in err_data_reporting cmd masks (Gopal Tiwari) [1838924] - [net] Bluetooth: Use bt_dev_err for RPA generation failure message (Gopal Tiwari) [1838924] - [net] Bluetooth: RFCOMM: fix ODEBUG bug in rfcomm_dev_ioctl (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Add module option to enable ECRED mode (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Add initial code for Enhanced Credit Based Mode (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Add definitions (Gopal Tiwari) [1838924] - [net] Bluetooth: Increment management interface revision (Gopal Tiwari) [1838924] - [net] Bluetooth: Make use of skb_pull to parse L2CAP signaling PDUs (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix calculation of SCO handle for packet processing (Gopal Tiwari) [1838924] - [net] Bluetooth: guard against controllers sending zero'd events (Gopal Tiwari) [1838924] - [net] Bluetooth: During le_conn_timeout disable EXT_ADV (Gopal Tiwari) [1838924] - [net] Bluetooth: Remove adv set for directed advertising (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix Suspicious RCU usage warnings (Gopal Tiwari) [1838924] - [net] Bluetooth: Use list_for_each_entry_rcu() to traverse RCU list in RCU read-side CS (Gopal Tiwari) [1838924] - [net] Bluetooth: Replace zero-length array with flexible-array member (Gopal Tiwari) [1838924] - [net] Bluetooth: fix passkey uninitialized when used (Gopal Tiwari) [1838924] - [net] Bluetooth: RFCOMM: Use MTU auto tune logic (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix crash when using new BT_PHY option (Gopal Tiwari) [1838924] - [net] Bluetooth: Disable Extended Adv if enabled (Gopal Tiwari) [1838924] - [net] Bluetooth: Add BT_PHY socket option (Gopal Tiwari) [1838924] - [net] Bluetooth: secure bluetooth stack from bluedump attack (Gopal Tiwari) [1838924] - [net] Bluetooth: remove __get_channel/dir and __dir (Gopal Tiwari) [1838924] - [net] Bluetooth: prefetch channel before killing sock (Gopal Tiwari) [1838924] - [net] Bluetooth: optimize barrier usage for Rmw atomics (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix refcount use-after-free issue (Gopal Tiwari) [1838924] - [net] Bluetooth: SMP: Fix SALT value in some comments (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix race condition in hci_release_sock() (Gopal Tiwari) [1838924] - [net] Bluetooth: Move {min, max}_key_size debugfs into hci_debugfs_create_le (Gopal Tiwari) [1838924] - [net] Bluetooth: Add missing checks for HCI_ISODATA_PKT packet type (Gopal Tiwari) [1838924] - [net] Bluetooth: fix appearance typo in mgmt.c (Gopal Tiwari) [1838924] - [net] Bluetooth: adding missing const decoration to mgmt_status_table (Gopal Tiwari) [1838924] - [net] Bluetooth: Increment management interface revision (Gopal Tiwari) [1838924] - [net] Bluetooth: monitor: Add support for ISO packets (Gopal Tiwari) [1838924] - [net] Bluetooth: Make use of __check_timeout on hci_sched_le (Gopal Tiwari) [1838924] - [net] Bluetooth: Implementation of MGMT_OP_SET_BLOCKED_KEYS (Gopal Tiwari) [1838924] - [net] Bluetooth: remove redundant assignment to variable icid (Gopal Tiwari) [1838924] - [net] Bluetooth: Auto tune if input MTU is set to 0 (Gopal Tiwari) [1838924] - [net] Bluetooth: Remove usage of BT_ERR_RATELIMITED macro (Gopal Tiwari) [1838924] - [net] Bluetooth: Adding a bt_dev_warn_ratelimited macro (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix memory leak in hci_connect_le_scan (Gopal Tiwari) [1838924] - [net] Bluetooth: Allow combination of BDADDR_PROPERTY and INVALID_BDADDR quirks (Gopal Tiwari) [1838924] - [net] Bluetooth: delete a stray unlock (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix advertising duplicated flags (Gopal Tiwari) [1838924] - [net] net: use skb_queue_empty_lockless() in poll() handlers (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix not using LE_ADV_NONCONN_IND for instance 0 (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix using advertising instance duration as timeout (Gopal Tiwari) [1838924] - [fs] compat_ioctl: move hci_sock handlers into driver (Gopal Tiwari) [1838924] - [fs] compat_ioctl: move rfcomm handlers into driver (Gopal Tiwari) [1838924] - [net] Bluetooth: hci_core: fix init for HCI_USER_CHANNEL (Gopal Tiwari) [1838924] - [net] Bluetooth: Workaround directed advertising bug in Broadcom controllers (Gopal Tiwari) [1838924] - [net] Bluetooth: missed cpu_to_le16 conversion in hci_init4_req (Gopal Tiwari) [1838924] - [hid] Bluetooth: hidp: Fix assumptions on the return value of hidp_send_message (Gopal Tiwari) [1838924] - [net] Bluetooth: mgmt: Use struct_size() helper (Gopal Tiwari) [1838924] - [net] Bluetooth: Add support for utilizing Fast Advertising Interval (Gopal Tiwari) [1838924] - [net] Bluetooth: 6lowpan: Make variable header_ops constant (Gopal Tiwari) [1838924] - [net] Revert "Bluetooth: validate BLE connection interval updates" (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: print Intel fw build version in power-on boot (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h5: Switch from BT_ERR to bt_dev_err where possible (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: bfusb: Switch from BT_ERR to bt_dev_err where possible (Gopal Tiwari) [1838924] - [net] Bluetooth: Enable erroneous data reporting if WBS is supported (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Replace devm_gpiod_get() with devm_gpiod_get_optional() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Make bt_en and susclk not mandatory for QCA Rome (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btqca: Fix the NVM baudrate tag offcet for wcn3991 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Not send vendor pre-shutdown command for QCA Rome (Gopal Tiwari) [1838924] - [net] Bluetooth: Support querying for WBS support through MGMT (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Add flag to define wideband speech capability (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h4: Remove a redundant assignment in 'h4_flush()' (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h4: Fix a typo in a comment (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h5: Move variable into local scope (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Bug fixes while collecting controller memory dump (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h5: btrtl: Add support for RTL8822C (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: Fix a typo in Kconfig (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_uart: Replace zero-length array with flexible-array member (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_intel: Replace zero-length array with flexible-array member (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btintel: Replace zero-length array with flexible-array member (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Add support for 13d3:3548 Realtek 8822CE device (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Optimized code while enabling clocks for BT SOC (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Enable clocks required for BT SOC (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Use kvmalloc for FW allocations (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Enable power off/on support during hci down/up for QCA Rome (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Retry btsoc initialize when it fails (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Add QCA Rome power off support to the qca_power_shutdown() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: enable IRQ capability from devicetree (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_vhci: Add support for ISO packets (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h4: Add support for ISO packets (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btsdio: Check for valid packet type (Gopal Tiwari) [1838924] - [net] Bluetooth: Add definitions (Gopal Tiwari) [1838924] - [net] Bluetooth: Add support for (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h5: Add support for ISO packets (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Add qca_power_on() API to support both wcn399x and Rome power up (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm : Fix warning about missing blank lines after declarations (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Remove set but not used variable 'opcode' (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Use vfree() instead of kfree() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Add support for 04ca:3021 QCA_ROME device (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Collect controller memory dump during SSR (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Drive RTS only for BCM43438 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Replace of_device_get_match_data with device_get_match_data (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Add missing static inline in header (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Disable runtime suspend on Realtek devices (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: fix memory leak on fw (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: fix non-atomic allocation in completion handler (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Support pcm params in dts (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Support pcm configuration (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Disallow set_baudrate for BCM4354 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Edit the logical value for Realtek Bluetooth reset (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Use the BDADDR_PROPERTY quirk (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Add entry for BCM4335A0 UART bluetooth (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Add entry for BCM4334B0 UART Bluetooth (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: fix PM leak in error case of setup (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btqca: Rename ROME specific variables to generic variables (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btmtksdio: add MODULE_DEVICE_TABLE() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: Fix invalid-free in bcsp_close() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: add PM support (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Add compatible string for BCM43540 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: remove unneeded semicolon (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Fix RTS handling during startup (Gopal Tiwari) [1838924] - [bluetooth] Revert "Bluetooth: hci_qca: Add delay for wcn3990 stability" (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Remove return statement in btintel_reset_to_bootloader (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Split qca_power_setup() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Use regulator bulk enable/disable (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Don't vote for specific voltage (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Update regulator_set_load() usage (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Add delay for wcn3990 stability (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Trigger Intel FW download error recovery (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btwilink: drop superseded driver (Gopal Tiwari) [1838924] - [bluetooth] Revert "Bluetooth: hci_ll: set operational frequency earlier" (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Fix an issue for the incorrect error return code (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Use IS_ENABLED instead of #ifdef (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: print FW version after FW download (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: avoid unused function warning (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_nokia: Save a few cycles in 'nokia_enqueue()' (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Use cmd_timeout to reset Realtek device (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Fix an issue that failing to download the FW which size is over 32K bytes (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Remove trailing newline from calls to rtl_dev macros (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for QCA UART Radio (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Remove redundant prefix from calls to rtl_dev macros (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY (Gopal Tiwari) [1838924] - [bluetooth] bluetooth: bcm: Add support for loading firmware for BCM4345C5 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Add firmware version print (Gopal Tiwari) [1838924] - [bluetooth] bluetooth: hci_bcm: Give more time to come out of reset (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: wait for Pre shutdown complete event before sending the Power off pulse (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Fix -Wunused-const-variable warnings (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Fix suspend issue for Realtek devices (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Remove redundant initializations to zero (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Make structure qca_proto constant (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: bpa10x: change return value (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: disable irqs when spinlock is acquired (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Additional Realtek 8822CE Bluetooth devices (Gopal Tiwari) [1838924]- [powerpc] powerpc/papr_scm: Implement support for PAPR_PDSM_HEALTH (Gustavo Duarte) [1782178] - [powerpc] ndctl/papr_scm, uapi: Add support for PAPR nvdimm specific methods (Gustavo Duarte) [1782178] - [powerpc] powerpc/papr_scm: Improve error logging and handling papr_scm_ndctl() (Gustavo Duarte) [1782178] - [powerpc] powerpc/papr_scm: Fetch nvdimm health information from PHYP (Gustavo Duarte) [1782178] - [lib] seq_buf: Export seq_buf_printf (Gustavo Duarte) [1782178] - [firmware] efi: Restrict efivar_ssdt_load when the kernel is locked down (Lenny Szubowicz) [1852949] - [netdrv] vmxnet3: allow rx flow hash ops only when rss is enabled (Cathy Avery) [1845417] - [netdrv] net: vmxnet3: fix possible buffer overflow caused by bad DMA value in vmxnet3_get_rss() (Cathy Avery) [1845417] - [netdrv] vmxnet3: use correct hdr reference when packet is encapsulated (Cathy Avery) [1845417] - [netdrv] vmxnet3: update to version 4 (Cathy Avery) [1845417] - [netdrv] vmxnet3: add geneve and vxlan tunnel offload support (Cathy Avery) [1845417] - [netdrv] vmxnet3: add support to get/set rx flow hash (Cathy Avery) [1845417] - [netdrv] vmxnet3: prepare for version 4 changes (Cathy Avery) [1845417] - [netdrv] vmxnet3: let core reject the unsupported coalescing parameters (Cathy Avery) [1845417] - [netdrv] vmxnet3: use new helper tcp_v6_gso_csum_prep (Cathy Avery) [1845417] - [netdrv] vmxnet3: Remove always false conditional statement (Cathy Avery) [1845417] - [kernel] kexec: do not verify the signature without the lockdown or mandatory signature (Lianbo Jiang) [1836148] - [fs] block: Fix use-after-free in blkdev_get() (Ming Lei) [1847779] - [kernel] kernel: rh_features: fix reading empty feature list from /proc (Jiri Benc) [1843064] {CVE-2020-10774} - [netdrv] ice: cleanup unsigned loops (Jonathan Toppins) [1781403] - [netdrv] ice: fix usage of incorrect variable (Jonathan Toppins) [1781403] - [netdrv] ice: Fix bad register reads (Jonathan Toppins) [1781403] - [netdrv] ice: check for compatibility between DDP package and firmware (Jonathan Toppins) [1781403] - [netdrv] ice: Check if unicast MAC exists before setting VF MAC (Jonathan Toppins) [1781403] - [netdrv] ice: print Rx MDD auto reset message before VF reset (Jonathan Toppins) [1781403] - [netdrv] ice: Call ice_aq_set_mac_cfg (Jonathan Toppins) [1781403] - [netdrv] ice: Implement aRFS (Jonathan Toppins) [1781403] - [netdrv] ice: Restore filters following reset (Jonathan Toppins) [1781403] - [netdrv] ice: Enable flex-bytes support (Jonathan Toppins) [1781403] - [netdrv] ice: Support IPv6 Flow Director filters (Jonathan Toppins) [1781403] - [netdrv] ice: Support IPv4 Flow Director filters (Jonathan Toppins) [1781403] - [netdrv] ice: Support displaying ntuple rules (Jonathan Toppins) [1781403] - [netdrv] ice: Initialize Flow Director resources (Jonathan Toppins) [1781403] - [netdrv] ice: Rename build_ctob to ice_build_ctob (Jonathan Toppins) [1781405] - [netdrv] ice: remove unnecessary backslash (Jonathan Toppins) [1781405] - [netdrv] ice: remove unnecessary check (Jonathan Toppins) [1781405] - [netdrv] ice: remove unnecessary expression that is always true (Jonathan Toppins) [1781405] - [netdrv] ice: Fix check for removing/adding mac filters (Jonathan Toppins) [1781405] - [netdrv] ice: refactor filter functions (Jonathan Toppins) [1781405] - [netdrv] ice: Fix resource leak on early exit from function (Jonathan Toppins) [1781405] - [netdrv] ice: cleanup vf_id signedness (Jonathan Toppins) [1781405] - [netdrv] ice: Fix casting issues (Jonathan Toppins) [1781405] - [netdrv] ice: Provide more meaningful error message (Jonathan Toppins) [1781405] - [netdrv] ice: Fix probe/open race condition (Jonathan Toppins) [1781405] - [netdrv] ice: only drop link once when setting pauseparams (Jonathan Toppins) [1781405] - [netdrv] ice: Fix check for contiguous TCs (Jonathan Toppins) [1781405] - [netdrv] ice: Don't reset and rebuild for Tx timeout on PFC enabled queue (Jonathan Toppins) [1781405] - [netdrv] ice: Add VF promiscuous support (Jonathan Toppins) [1781405] - [netdrv] ice: Add support for tunnel offloads (Jonathan Toppins) [1781405] - [netdrv] ice: report netlist version in .info_get (Jonathan Toppins) [1781405] - [netdrv] ice: add additional E810 device id (Jonathan Toppins) [1725447] - [x86] x86/split_lock: Update to use X86_MATCH_INTEL_FAM6_MODEL() (Prarit Bhargava) [1482757] - [x86] x86/intel_split_lock: Disable split lock detector by default in RHEL8 (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Provide handle_guest_split_lock() (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Add Tremont family CPU models (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Bits in IA32_CORE_CAPABILITIES are not architectural (Prarit Bhargava) [1482757] - [tools] tools arch x86: Sync asm/cpufeatures.h with the kernel sources (Prarit Bhargava) [1482757] - [tools] tools arch x86: Sync the msr-index.h copy with the kernel sources (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Avoid runtime reads of the TEST_CTRL MSR (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Rework the initialization flow of split lock detection (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Enable split lock detection by kernel (Prarit Bhargava) [1482757] - [netdrv] drivers/net/b44: Change to non-atomic bit operations on pwol_mask (Prarit Bhargava) [1482757] - [x86] x86/cpu: Align cpu_caps_cleared and cpu_caps_set to unsigned long (Prarit Bhargava) [1482757] - [x86] x86/boot: Make the GDT 8-byte aligned (Prarit Bhargava) [1482757] - [wireless] wlcore: simplify/fix/optimize reg_ch_conf_pending operations (Prarit Bhargava) [1482757] - [uapi] prctl: PR_{G, S}ET_IO_FLUSHER to support controlling memory reclaim (Waiman Long) [1757240]- [kernel] kernel: fork: avoid utilizing a non-initialized task_struct_rh pointer in the error exit path (Rafael Aquini) [1838475 1820041] - [infiniband] RDMA/ipoib: Fix ABBA deadlock with ipoib_reap_ah() (Kamal Heib) [1846063] - [infiniband] RDMA/ipoib: Return void from ipoib_ib_dev_stop() (Kamal Heib) [1846063] - [powerpc] mm/pkeys: Make pkey access check work on execute_only_key (Greg Kurz) [1748772] - [powerpc] mm/book3s64: Fix MADV_DONTNEED and parallel page fault race (Greg Kurz) [1748772] - [mm] change pmdp_huge_get_and_clear_full take vm_area_struct as arg (Greg Kurz) [1748772] - [powerpc] mm/book3s64: Avoid sending IPI on clearing PMD (Greg Kurz) [1748772] - [powerpc] 64s: Fix THP PMD collapse serialisation (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use pte_present instead of opencoding _PAGE_PRESENT check (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use find_kvm_host_pte in kvmppc_get_hpa (Greg Kurz) [1748772] - [powerpc] kvm/book3s: use find_kvm_host_pte in kvmppc_book3s_instantiate_page (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Avoid using rmap to protect parallel page table update (Greg Kurz) [1748772] - [powerpc] kvm/book3s: use find_kvm_host_pte in pute_tce functions (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use find_kvm_host_pte in h_enter (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use find_kvm_host_pte in page fault handler (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Add helper for host page table walk (Greg Kurz) [1748772] - [powerpc] kvm: ppc: Fix nested guest RC bits update (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use kvm helpers to walk shadow or secondary table (Greg Kurz) [1748772] - [powerpc] kvm/nested: Add helper to walk nested shadow linux page table (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Add helper to walk partition scoped linux page table (Greg Kurz) [1748772] - [powerpc] kvm/book3s: switch from raw_spin_*lock to arch_spin_lock (Greg Kurz) [1748772] - [powerpc] perf/callchain: Use __get_user_pages_fast in read_user_stack_slow (Greg Kurz) [1748772] - [powerpc] mce: Don't reload pte val in addr_to_pfn (Greg Kurz) [1748772] - [powerpc] book3s64/hash: Use the pte_t address from the caller (Greg Kurz) [1748772] - [powerpc] hash64: Restrict page table lookup using init_mm with __flush_hash_table_range (Greg Kurz) [1748772] - [powerpc] mm/hash64: use _PAGE_PTE when checking for pte_present (Greg Kurz) [1748772] - [powerpc] pkeys: Check vma before returning key fault error to the user (Greg Kurz) [1748772] - [powerpc] pkeys: Avoid using lockless page table walk (Greg Kurz) [1748772] - [powerpc] mmu: add is_strict_kernel_rwx() helper (Greg Kurz) [1748772] - [powerpc] mm: move update_mmu_cache() into book3s hash utils (Greg Kurz) [1748772] - [powerpc] mm: Move book3s32 specifics in subdirectory mm/book3s64 (Greg Kurz) [1748772] - [powerpc] mm: move FSL_BOOK3 version of update_mmu_cache() (Greg Kurz) [1748772] - [powerpc] mm: define empty update_mmu_cache() as static inline (Greg Kurz) [1748772] - [powerpc] change CONFIG_PPC_STD_MMU to CONFIG_PPC_BOOK3S (Greg Kurz) [1748772] - [powerpc] mm: don't use _PAGE_EXEC for calling hash_preload() (Greg Kurz) [1748772] - [powerpc] change CONFIG_PPC_STD_MMU_32 to CONFIG_PPC_BOOK3S_32 (Greg Kurz) [1748772] - [powerpc] handover page flags with a pgprot_t parameter (Greg Kurz) [1748772] - [powerpc] mm: properly set PAGE_KERNEL flags in ioremap() (Greg Kurz) [1748772] - [powerpc] 32: Add ioremap_wt() and ioremap_coherent() (Greg Kurz) [1748772] - [netdrv] crypto/chcr: error seen if CONFIG_CHELSIO_TLS_DEVICE isn't set (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr: avoid -Wreturn-local-addr warning (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4: fix EOTID leak when disabling TC-MQPRIO offload (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4/chcr: Enable ktls settings at run time (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4: cleanup error code in setup_sge_queues_uld() (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4: add adapter hotplug support for ULDs (Christoph von Recklinghausen) [1797945] - [crypto] Crypto: chelsio - Fixes a deadlock between rtnl_lock and uld_mutex (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4/chcr: nic-tls stats in ethtool (Christoph von Recklinghausen) [1797945] - [crypto] crypto/chcr: fix incorrect ipv6 packet length (Christoph von Recklinghausen) [1797945] - [crypto] crypto/chcr: Add missing include file (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr: Add ipv6 support and statistics (Christoph von Recklinghausen) [1797945] - [crypto] chcr: Handle first or middle part of record (Christoph von Recklinghausen) [1797945] - [crypto] chcr: handle partial end part of a record (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr: complete record tx handling (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr: Save tx keys and handle HW response (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr : Register to tls add and del callback (Christoph von Recklinghausen) [1797945] - [hwmon] hwmon: (acpi_power_meter) Change log level for 'unsafe software power cap' (Al Stone) [1749529] - [netdrv] net/mlx4_core: fix a memory leak bug (Alaa Hleihel) [1846792] - [netdrv] net/mlx4_core: Add missing iounmap() in error path (Alaa Hleihel) [1846792] - [netdrv] net/mlx5: E-switch, Fix error unwinding flow for steering init failure (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: E-Switch, Enable chains only if regs loopback is enabled (Alaa Hleihel) [1848830 1846791] - [netdrv] net/mlx5e: en_tc: Rely just on register loopback for tunnel restoration (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: E-Switch, Skip restore modify header between prios of same chain (Alaa Hleihel) [1846791] - [netdrv] net/mlx5e: CT: Fix ipv6 nat header rewrite actions (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Don't fail driver on failure to create debugfs (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Add missing mutex destroy (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Fix devlink objects and devlink device unregister sequence (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Wait for inactive autogroups (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Disable reload while removing the device (Alaa Hleihel) [1846791] - [netdrv] net/mlx5e: Fix ethtool hfunc configuration change (Alaa Hleihel) [1846791] - [netdrv] net/mlx5e: Fix repeated XSK usage on one channel (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: DR, Split RX and TX lock for parallel insertion (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: DR, Add a spinlock to protect the send ring (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: DR, Fix freeing in dr_create_rc_qp() (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Fix fatal error handling during device load (Alaa Hleihel) [1846791 1841363] - [netdrv] net/mlx5: drain health workqueue in case of driver load error (Alaa Hleihel) [1846791 1841363] - [netdrv] net/mlx5: Drain wq first during PCI device removal (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Have single error unwinding path (Alaa Hleihel) [1846791] - [netdrv] mlx5: reject unsupported coalescing params (Alaa Hleihel) [1846791] - [crypto] Crypto: chelsio - Fixes a hang issue during driver registration (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Use multiple txq/rxq per tfm to process the requests (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Recalculate iv only if it is needed (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - un-register crypto algorithms (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Endianess bug in create_authenc_wr (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Print the chcr driver information while module load (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - This fixes the kernel panic which occurs during a libkcapi test (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - This fixes the libkcapi's cbc(aes) aio fail test cases (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Resetting crypto counters during the driver unregister (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - fix writing tfm flags to wrong place (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - calculating tx_channel_id as per the max number of channels (Vishal Kulkarni) [1845004] - [firmware] tpm: check event log version before reading final events (Jerry Snitselaar) [1839284] - [char] tpm: Fix TIS locality timeout problems (Jerry Snitselaar) [1840789]- [vfio] vfio/pci: Clear error and request eventfd ctx after releasing (Alex Williamson) [1847731] - [fs] pNFS/flexfiles: Fix list corruption if the mirror count changes (Benjamin Coddington) [1852500] - [netdrv] ionic: update the queue count on open (Michal Schmidt) [1846879] - [tools] turbostat: Use sched_getcpu() instead of hardcoded cpu 0 (Prarit Bhargava) [1852123] - [infiniband] RDMA/hfi1: Fix null-pointer dereference when calling mmu_notifier_register (Kamal Heib) [1850345] - [platform] Revert "intel-speed-select: Firmware workarounds for Icelake" (Prarit Bhargava) [1820597] - [powerpc] powerpc/crashkernel: Take "mem=" option into account (Pingfan Liu) [1747969] - [tools] perf stat: Increase perf metric output resolution (Michael Petlan) [1844632] - [tools] perf vendor events power9: Add missing metrics to POWER9 'cpi_breakdown' (Michael Petlan) [1844632] - [tools] perf metrics: Fix parse errors in power8 metrics (Michael Petlan) [1844632] - [tools] perf metrics: Fix parse errors in power9 metrics (Michael Petlan) [1844632] - [s390] s390/kaslr: add support for R_390_JMP_SLOT relocation type (Claudio Imbrenda) [1850908] - [s390] s390: prevent leaking kernel address in BEAR (Claudio Imbrenda) [1850907] - [s390] s390/cpumf: Adjust registration of s390 PMU device drivers (Claudio Imbrenda) [1850906] - [firmware] efi/x86: Add TPM related EFI tables to unencrypted mapping checks (Lenny Szubowicz) [1849922] - [security] selinux: allow reading labels before policy is loaded (Ondrej Mosnacek) [1839819] - [idle] intel_idle: Introduce 'use_acpi' module parameter (Prarit Bhargava) [1849666] - [net] xsk: Add overflow check for u64 division, stored into u32 (Jiri Benc) [1838075] - [tools] selftests: netdevsim: Always initialize 'RET' variable (Jiri Benc) [1838075] - [netdrv] netdevsim: Ensure policer drop counter always increases (Jiri Benc) [1838075] - [tools] selftests/bpf: Check for correct program attach/detach in xdp_attach test (Jiri Benc) [1838075] - [tools] libbpf: Fix type of old_fd in bpf_xdp_set_link_opts (Jiri Benc) [1838075] - [net] xsk: Add missing check on user supplied headroom size (Jiri Benc) [1838075] - [net] xdp: Reset prog in dev_change_xdp_fd when fd is negative (Jiri Benc) [1838075] - [netdrv] veth: rely on peer veth_rq for ndo_xdp_xmit accounting (Jiri Benc) [1838075] - [netdrv] veth: rely on veth_rq in veth_xdp_flush_bq signature (Jiri Benc) [1838075] - [net] page pool: allow to pass zero flags to page_pool_init() (Jiri Benc) [1838075] - [tools] selftests/bpf: Add tests for attaching XDP programs (Jiri Benc) [1838075] - [tools] libbpf: Add function to set link XDP fd while specifying old program (Jiri Benc) [1838075] - [tools] Add EXPECTED_FD-related definitions in if_link.h (Jiri Benc) [1838075] - [net] xdp: Support specifying expected existing program when attaching XDP (Jiri Benc) [1838075] - [netdrv] veth: remove atomic64_add from veth_xdp_xmit hotpath (Jiri Benc) [1838075] - [netdrv] veth: introduce more xdp counters (Jiri Benc) [1838075] - [netdrv] veth: distinguish between rx_drops and xdp_drops (Jiri Benc) [1838075] - [netdrv] veth: introduce more specialized counters in veth_stats (Jiri Benc) [1838075] - [netdrv] veth: move xdp stats in a dedicated structure (Jiri Benc) [1838075] - [net] xdp: Replace zero-length array with flexible-array member (Jiri Benc) [1838075] - [net] bpf: inet_diag: Dump bpf_sk_storages in inet_diag_dump() (Jiri Benc) [1838075] - [net] bpf: INET_DIAG support in bpf_sk_storage (Jiri Benc) [1838075] - [net] inet_diag: Move the INET_DIAG_REQ_BYTECODE nlattr to cb->data (Jiri Benc) [1838075] - [net] inet_diag: Refactor inet_sk_diag_fill(), dump(), and dump_one() (Jiri Benc) [1838075] - [net] inet_diag: return classid for all socket types (Jiri Benc) [1838075] - [net] inet_diag: fix reporting cgroup classid and fallback to priority (Jiri Benc) [1838075] - [net] Remove unneeded export of a couple of xdp generic functions (Jiri Benc) [1838075] - [net] page_pool: API cleanup and comments (Jiri Benc) [1838075] - [net] bpf, sockmap: Replace zero-length array with flexible-array member (Jiri Benc) [1838075] - [netdrv] geneve: allow changing DF behavior after creation (Sabrina Dubroca) [1847861] - [net] netfilter: nf_tables: add missing ->release_ops() in error path of newrule() (Andrea Claudi) [1846236] - [net] netfilter: nft_compat: use .release_ops and remove list of extension (Andrea Claudi) [1846236] - [net] ipv6: fix IPV6_ADDRFORM operation logic (Hangbin Liu) [1842025] - [net] ipv6: fix restrict IPV6_ADDRFORM operation (Hangbin Liu) [1842025] - [net] netfilter: nat: fix error handling upon registering inet hook (Florian Westphal) [1579145] - [net] netfilter: nf_tables: fix module autoload for redir (Florian Westphal) [1579145] - [net] netfilter: nf_tables: fix module autoload with inet family (Florian Westphal) [1579145] - [net] netfilter: nft_chain_nat: inet family is missing module ownership (Florian Westphal) [1579145] - [net] netfilter: nf_tables: Support auto-loading for inet nat (Florian Westphal) [1579145] - [net] netfilter: nft_redir: fix module autoload with ip4 (Florian Westphal) [1579145] - [net] netfilter: nat: fix udp checksum corruption (Florian Westphal) [1579145] - [tools] kselftests: extend nft_nat with inet family based nat hooks (Florian Westphal) [1579145] - [net] netfilter: nft_redir: add inet support (Florian Westphal) [1579145] - [net] netfilter: nft_masq: add inet support (Florian Westphal) [1579145] - [net] netfilter: nf_tables: merge route type into core (Florian Westphal) [1579145] - [net] netfilter: nat: add inet family nat support (Florian Westphal) [1579145] - [net] netfilter: nat: don't register device notifier twice (Florian Westphal) [1579145] - [net] netfilter: nf_tables: merge ipv4 and ipv6 nat chain types (Florian Westphal) [1579145] - [net] netfilter: nf_tables: nat: merge nft_masq protocol specific modules (Florian Westphal) [1579145] - [net] netfilter: nf_tables: nat: merge nft_redir protocol specific modules (Florian Westphal) [1579145] - [net] netfilter: nat: remove nf_nat_l3proto.h and nf_nat_core.h (Florian Westphal) [1579145] - [net] netfilter: nat: remove l3proto struct (Florian Westphal) [1579145] - [net] netfilter: nat: remove csum_recalc hook (Florian Westphal) [1579145] - [net] netfilter: nat: remove csum_update hook (Florian Westphal) [1579145] - [net] netfilter: nat: remove l3 manip_pkt hook (Florian Westphal) [1579145] - [net] netfilter: nat: remove nf_nat_l4proto.h (Florian Westphal) [1579145] - [net] netfilter: nat: merge nf_nat_ipv4, 6 into nat core (Florian Westphal) [1579145] - [net] netfilter: nat: fix spurious connection timeouts (Florian Westphal) [1579145] - [net] netfilter: nat: move nlattr parse and xfrm session decode to core (Florian Westphal) [1579145] - [net] netfilter: nat: merge ipv4 and ipv6 masquerade functionality (Florian Westphal) [1579145] - [net] netfilter: kconfig: nat related expression depend on nftables core (Florian Westphal) [1579145] - [net] netfilter: conntrack: fix bogus port values for other l4 protocols (Florian Westphal) [1579145] - [net] netfilter: conntrack: avoid unneeded nf_conntrack_l4proto lookups (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove pernet l4 proto register interface (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove remaining l4proto indirect packet calls (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove module owner field (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove invert_tuple callback (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove pkt_to_tuple callback (Florian Westphal) [1579145] - [net] netfilter: conntrack: udp: set stream timeout to 2 minutes (Florian Westphal) [1579145] - [net] netfilter: conntrack: udp: only extend timeout to stream mode after 2s (Florian Westphal) [1579145] - [net] netfilter: nat: un-export nf_nat_used_tuple (Florian Westphal) [1579145] - [net] netfilter: nat: fix ICMP header corruption on ICMP errors (Florian Westphal) [1579145] - [net] netfilter: nat: fix icmp id randomization (Florian Westphal) [1579145] - [net] netfilter: nat: remove nf_nat_l4proto struct (Florian Westphal) [1579145] - [net] netfilter: nat: remove l4proto->manip_pkt (Florian Westphal) [1579145] - [net] netfilter: nat: remove l4proto->nlattr_to_range (Florian Westphal) [1579145] - [net] netfilter: nat: remove l4proto->in_range (Florian Westphal) [1579145] - [net] netfilter: nat: fold in_range indirection into caller (Florian Westphal) [1579145] - [net] netfilter: nat: remove l4proto->unique_tuple (Florian Westphal) [1579145] - [net] netfilter: nat: un-export nf_nat_l4proto_unique_tuple (Florian Westphal) [1579145] - [net] netfilter: remove NF_NAT_RANGE_PROTO_RANDOM support (Florian Westphal) [1579145] - [x86] kvm: x86/pmu: Tweak kvm_pmu_get_msr to pass 'struct msr_data' in (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: do not pass poisoned hva to __kvm_set_memory_region (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: fix sync_with_host() in smm_test (Vitaly Kuznetsov) [1849987] - [x86] kvm: async_pf: Inject 'page ready' event only if 'page not present' was previously injected (Vitaly Kuznetsov) [1849987] - [x86] revert "kvm: async_pf: Fix #DF due to inject "Page not Present" and "Page Ready" exceptions simultaneously" (Vitaly Kuznetsov) [1849987] - [virt] kvm: async_pf: Cleanup kvm_setup_async_pf() (Vitaly Kuznetsov) [1849987] - [x86] kvm: i8254: remove redundant assignment to pointer s (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: respect singlestep when emulating instruction (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: Don't probe KVM_CAP_HYPERV_ENLIGHTENED_VMCS when nested VMX is unsupported (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: do not substitute SVM/VMX check with KVM_CAP_NESTED_STATE check (Vitaly Kuznetsov) [1849987] - [x86] kvm: nvmx: Consult only the "basic" exit reason when routing nested exit (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: Unexport x86_fpu_cache and make it static (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: Ignore KVM 5-level paging support for VM_MODE_PXXV48_4K (Vitaly Kuznetsov) [1849987] - [virt] kvm: x86: Fix APIC page invalidation race (Vitaly Kuznetsov) [1849987] - [x86] kvm: svm: fix calls to is_intercept (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: fix vmx_preemption_timer_test build with GCC10 (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: Add x86_64/debug_regs to .gitignore (Vitaly Kuznetsov) [1849987] - [x86] revert "kvm: x86: work around leak of uninitialized stack contents" (Vitaly Kuznetsov) [1849987] - [x86] kvm: vmx: Properly handle kvm_read/write_guest_virt*() result (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: emulate reserved nops from 0f/18 to 0f/1f (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: Fix build with "make ARCH=x86_64" (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: minor code refactor and comments fixup around dirty logging (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: avoid unnecessary rmap walks when creating/moving slots (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: remove unnecessary rmap walk of read-only memslots (Vitaly Kuznetsov) [1849987] - [virt] kvm: Use vmemdup_user() (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: Move MPK feature detection to common code (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: Assign correct value to array.maxnent (Vitaly Kuznetsov) [1849987] - [x86] kvm: let kvm_destroy_vm_debugfs clean up vCPU debugfs directories (Vitaly Kuznetsov) [1849987] - [x86] kvm: Handle reads of SandyBridge RAPL PMU MSRs rather than injecting #GP (Vitaly Kuznetsov) [1849987] - [documentation] docs: virt/kvm: close inline string literal (Vitaly Kuznetsov) [1849987] - [documentation] docs: kvm: Fix KVM_KVMCLOCK_CTRL API doc (Vitaly Kuznetsov) [1849987] - [x86] arch/x86/kvm/svm/sev.c: change flag passed to GUP fast in sev_pin_memory() (Vitaly Kuznetsov) [1849987] - [virt] kvm/eventfd: remove unneeded conversion to bool (Vitaly Kuznetsov) [1849987] - [tools] selftests: fix kvm relocatable native/cross builds and installs (Vitaly Kuznetsov) [1849987] - [virt] kvm: x86: move kvm_create_vcpu_debugfs after last failure point (Vitaly Kuznetsov) [1849987] - [powerpc] xive: Share the event-queue page with the Hypervisor (Michael Roth) [1837232] - [powerpc] kvm: ppc: book3s hv: Read ibm, secure-memory nodes (Michael Roth) [1837232] - [powerpc] kvm: ppc: book3s hv: Relax check on H_SVM_INIT_ABORT (Michael Roth) [1837232]- [scsi] scsi: be2iscsi: Use scnprintf() for avoiding potential buffer overflow (Maurizio Lombardi) [1849586] - [edac] EDAC/i10nm: Update driver to support different bus number config register offsets (Aristeu Rozanski) [1838508] - [edac] EDAC, {skx, i10nm}: Make some configurations CPU model specific (Aristeu Rozanski) [1838508] - [fs] fuse: copy_file_range should truncate cache (Miklos Szeredi) [1849786] - [fs] fuse: fix copy_file_range cache issues (Miklos Szeredi) [1849786] - [fs] fuse: update attr_version counter on fuse_notify_inval_inode() (Miklos Szeredi) [1849786] - [fs] fuse: don't check refcount after stealing page (Miklos Szeredi) [1849786] - [fs] fuse: fix weird page warning (Miklos Szeredi) [1849786] - [fs] fuse: use dump_page (Miklos Szeredi) [1849786] - [fs] fuse: always allow query of st_dev (Miklos Szeredi) [1849786] - [fs] fuse: always flush dirty data on close(2) (Miklos Szeredi) [1849786] - [fs] fuse: invalidate inode attr in writeback cache mode (Miklos Szeredi) [1849786] - [fs] virtiofs: schedule blocking async replies in separate worker (Miklos Szeredi) [1849786] - [fs] fuse: Support RENAME_WHITEOUT flag (Miklos Szeredi) [1849786] - [fs] fuse: don't overflow LLONG_MAX with end offset (Miklos Szeredi) [1849786] - [fs] fix up iter on short count in fuse_direct_io() (Miklos Szeredi) [1849786] - [fs] fuse: fix fuse_send_readpages() in the syncronous read case (Miklos Szeredi) [1849786] - [fs] fuse: fix Kconfig indentation (Miklos Szeredi) [1849786] - [fs] virtiofs: Use completions while waiting for queue to be drained (Miklos Szeredi) [1849786] - [fs] virtiofs: Do not send forget request "struct list_head" element (Miklos Szeredi) [1849786] - [fs] virtiofs: Use a common function to send forget (Miklos Szeredi) [1849786] - [fs] virtiofs: Fix old-style declaration (Miklos Szeredi) [1849786] - [fs] fuse: verify nlink (Miklos Szeredi) [1849786] - [fs] fuse: verify write return (Miklos Szeredi) [1849786] - [fs] fuse: verify attributes (Miklos Szeredi) [1849786] - [fs] fuse: redundant get_fuse_inode() calls in fuse_writepages_fill() (Miklos Szeredi) [1849786] - [fs] fuse: truncate pending writes on O_TRUNC (Miklos Szeredi) [1849786] - [fs] fuse: flush dirty data/metadata before non-truncate setattr (Miklos Szeredi) [1849786] - [fs] ovl: initialize error in ovl_copy_xattr (Miklos Szeredi) [1849770] - [fs] ovl: fix redirect traversal on metacopy dentries (Miklos Szeredi) [1849770] - [fs] ovl: initialize OVL_UPPERDATA in ovl_lookup() (Miklos Szeredi) [1849770] - [fs] ovl: use only uppermetacopy state in ovl_lookup() (Miklos Szeredi) [1849770] - [fs] ovl: simplify setting of origin for index lookup (Miklos Szeredi) [1849770] - [fs] ovl: fix out of bounds access warning in ovl_check_fb_len() (Miklos Szeredi) [1849770] - [fs] ovl: return required buffer size for file handles (Miklos Szeredi) [1849770] - [fs] ovl: sync dirty data when remounting to ro mode (Miklos Szeredi) [1849770] - [fs] ovl: resolve more conflicting mount options (Miklos Szeredi) [1849770] - [fs] ovl: potential crash in ovl_fid_to_fh() (Miklos Szeredi) [1849770] - [fs] ovl: clear ATTR_OPEN from attr->ia_valid (Miklos Szeredi) [1849770] - [fs] ovl: clear ATTR_FILE from attr->ia_valid (Miklos Szeredi) [1849770] - [documentation] ovl: document xino expected behavior (Miklos Szeredi) [1849770] - [fs] ovl: enable xino automatically in more cases (Miklos Szeredi) [1849770] - [fs] ovl: avoid possible inode number collisions with xino=on (Miklos Szeredi) [1849770] - [fs] ovl: use a private non-persistent ino pool (Miklos Szeredi) [1849770] - [fs] ovl: fix WARN_ON nlink drop to zero (Miklos Szeredi) [1849770] - [fs] ovl: fix a typo in comment (Miklos Szeredi) [1849770] - [fs] ovl: replace zero-length array with flexible-array member (Miklos Szeredi) [1849770] - [fs] ovl: ovl_obtain_alias(): don't call d_instantiate_anon() for old (Miklos Szeredi) [1849770] - [fs] ovl: strict upper fs requirements for remote upper fs (Miklos Szeredi) [1849770] - [fs] ovl: check if upper fs supports RENAME_WHITEOUT (Miklos Szeredi) [1849770] - [fs] ovl: allow remote upper (Miklos Szeredi) [1849770] - [fs] ovl: decide if revalidate needed on a per-dentry basis (Miklos Szeredi) [1849770] - [fs] ovl: separate detection of remote upper layer from stacked overlay (Miklos Szeredi) [1849770] - [fs] ovl: restructure dentry revalidation (Miklos Szeredi) [1849770] - [fs] ovl: ignore failure to copy up unknown xattrs (Miklos Szeredi) [1849770] - [documentation] ovl: document permission model (Miklos Szeredi) [1849770] - [fs] ovl: simplify i_ino initialization (Miklos Szeredi) [1849770] - [fs] ovl: factor out helper ovl_get_root() (Miklos Szeredi) [1849770] - [fs] ovl: fix out of date comment and unreachable code (Miklos Szeredi) [1849770] - [fs] ovl: fix value of i_ino for lower hardlink corner case (Miklos Szeredi) [1849770] - [fs] ovl: fix lockdep warning for async write (Miklos Szeredi) [1849770] - [fs] ovl: fix some xino configurations (Miklos Szeredi) [1849770] - [fs] ovl: fix lock in ovl_llseek() (Miklos Szeredi) [1849770] - [fs] ovl: fix lseek overflow on 32bit (Miklos Szeredi) [1849770] - [documentation] docs: filesystems: add overlayfs to index.rst (Miklos Szeredi) [1849770] - [fs] ovl: add splice file read write helper (Miklos Szeredi) [1849770] - [fs] ovl: implement async IO routines (Miklos Szeredi) [1849770] - [fs] vfs: add vfs_iocb_iter_helper functions (Miklos Szeredi) [1849770] - [fs] ovl: layer is const (Miklos Szeredi) [1849770] - [fs] ovl: fix corner case of non-constant st_dev; st_ino (Miklos Szeredi) [1849770] - [fs] ovl: fix corner case of conflicting lower layer uuid (Miklos Szeredi) [1849770] - [fs] ovl: generalize the lower_fsarray (Miklos Szeredi) [1849770] - [fs] ovl: simplify ovl_same_sb() helper (Miklos Szeredi) [1849770] - [fs] ovl: generalize the lower_layersarray (Miklos Szeredi) [1849770] - [fs] ovl: improving copy-up efficiency for big sparse file (Miklos Szeredi) [1849770] - [fs] ovl: use ovl_inode_lock in ovl_llseek() (Miklos Szeredi) [1849770] - [fs] ovl: use pr_fmt auto generate prefix (Miklos Szeredi) [1849770] - [fs] ovl: fix wrong WARN_ON() in ovl_cache_update_ino() (Miklos Szeredi) [1849770] - [fs] locks: print unsigned ino in /proc/locks (Miklos Szeredi) [1849770] - [documentation] docs: filesystems: overlayfs: Fix restview warnings (Miklos Szeredi) [1849770] - [fs] ovl: relax WARN_ON() on rename to self (Miklos Szeredi) [1849770] - [fs] ovl: fix corner case of non-unique st_dev; st_ino (Miklos Szeredi) [1849770] - [fs] ovl: don't use a temp buf for encoding real fh (Miklos Szeredi) [1849770] - [fs] ovl: make sure that real fid is 32bit aligned in memory (Miklos Szeredi) [1849770] - [fs] ovl: fix lookup failure on multi lower squashfs (Miklos Szeredi) [1849770] - [fs] ovl: filter of trusted xattr results in audit (Miklos Szeredi) [1849770] - [fs] ovl: Fix dereferencing possible ERR_PTR() (Miklos Szeredi) [1849770] - [fs] ovl: fix regression caused by overlapping layers detection (Miklos Szeredi) [1849770] - [fs] ovl: make i_ino consistent with st_ino in more cases (Miklos Szeredi) [1849770] - [fs] ovl: fix typo in MODULE_PARM_DESC (Miklos Szeredi) [1849770] - [fs] ovl: fix bogus -Wmaybe-unitialized warning (Miklos Szeredi) [1849770] - [fs] ovl: don't fail with disconnected lower NFS (Miklos Szeredi) [1849770] - [fs] ovl: detect overlapping layers (Miklos Szeredi) [1849770] - [fs] ovl: using posix_acl_xattr_size() to get size instead of posix_acl_to_xattr() (Miklos Szeredi) [1849770] - [fs] ovl: abstract ovl_inode lock with a helper (Miklos Szeredi) [1849770] - [fs] ovl: remove the 'locked' argument of ovl_nlink_{start, end} (Miklos Szeredi) [1849770] - [fs] ovl: relax requirement for non null uuid of lower fs (Miklos Szeredi) [1849770] - [fs] ovl: fold copy-up helpers into callers (Miklos Szeredi) [1849770] - [fs] ovl: untangle copy up call chain (Miklos Szeredi) [1849770] - [fs] ovl: clean up error handling in ovl_get_tmpfile() (Miklos Szeredi) [1849770] - [netdrv] ionic: tame the watchdog timer on reconfig (Jonathan Toppins) [1846879 1846280] - [remoteproc] remoteproc: pull in slab.h (Jarod Wilson) [1849080]- [x86] revert "kvm: vmx: Micro-optimize vmexit time when not exposing PMU" (Vitaly Kuznetsov) [1844099] - [fs] nfsd4: kill warnings on testing stateids with mismatched clientids (Benjamin Coddington) [1765672] - [fs] NFS: Ensure security label is set for root inode (Scott Mayhew) [1660798] - [s390] kexec: Fix file verification on S390 (Lianbo Jiang) [1815369] - [s390] kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE (Lianbo Jiang) [1815369] - [netdrv] ibmvnic: continue to init in CRQ reset returns H_CLOSED (Steve Best) [1850179] - [net] sunrpc: add missing newline when printing parameter 'auth_hashtable_size' by sysfs (Benjamin Coddington) [1849998] - [net] sunrpc: clean up properly in gss_mech_unregister() (Benjamin Coddington) [1849998] - [net] sunrpc: svcauth_gss_register_pseudoflavor must reject duplicate registrations (Benjamin Coddington) [1849998] - [net] SUNRPC: Fix backchannel RPC soft lockups (Benjamin Coddington) [1849998] - [fs] NFS: Fix a page leak in nfs_destroy_unlinked_subrequests() (Benjamin Coddington) [1849998] - [fs] nfsd4: make drc_slab global, not per-net (Benjamin Coddington) [1849998] - [net] SUNRPC: Fix GSS privacy computation of auth->au_ralign (Benjamin Coddington) [1849998] - [net] SUNRPC: Add "@len" parameter to gss_unwrap() (Benjamin Coddington) [1849998] - [fs] NFS: finish_automount() requires us to hold 2 refs to the mount record (Benjamin Coddington) [1849998] - [fs] NFS: Fix use-after-free issues in nfs_pageio_add_request() (Benjamin Coddington) [1849998] - [fs] NFS: alloc_nfs_open_context() must use the file cred when available (Benjamin Coddington) [1849998] - [net] libceph: don't omit used_replica in target_copy() (Jeff Layton) [1847528] - [net] libceph: don't omit recovery_deletes in target_copy() (Jeff Layton) [1847528] - [net] libceph: move away from global osd_req_flags (Jeff Layton) [1847528] - [fs] ceph: skip checking caps when session reconnecting and releasing reqs (Jeff Layton) [1847528] - [fs] ceph: make sure mdsc->mutex is nested in s->s_mutex to fix dead lock (Jeff Layton) [1847528] - [fs] ceph: don't return -ESTALE if there's still an open file (Jeff Layton) [1847528] - [include] libceph, rbd: replace zero-length array with flexible-array (Jeff Layton) [1847528] - [fs] ceph: allow rename operation under different quota realms (Jeff Layton) [1847528] - [fs] ceph: normalize 'delta' parameter usage in check_quota_exceeded (Jeff Layton) [1847528] - [fs] ceph: ceph_kick_flushing_caps needs the s_mutex (Jeff Layton) [1847528] - [fs] ceph: request expedited service on session's last cap flush (Jeff Layton) [1847528] - [fs] ceph: convert mdsc->cap_dirty to a per-session list (Jeff Layton) [1847528] - [fs] ceph: reset i_requested_max_size if file write is not wanted (Jeff Layton) [1847528] - [fs] ceph: throw a warning if we destroy session with mutex still locked (Jeff Layton) [1847528] - [fs] ceph: fix potential race in ceph_check_caps (Jeff Layton) [1847528] - [fs] ceph: document what protects i_dirty_item and i_flushing_item (Jeff Layton) [1847528] - [fs] ceph: don't take i_ceph_lock in handle_cap_import (Jeff Layton) [1847528] - [fs] ceph: don't release i_ceph_lock in handle_cap_trunc (Jeff Layton) [1847528] - [fs] ceph: add comments for handle_cap_flush_ack logic (Jeff Layton) [1847528] - [fs] ceph: split up __finish_cap_flush (Jeff Layton) [1847528] - [fs] ceph: reorganize __send_cap for less spinlock abuse (Jeff Layton) [1847528] - [fs] ceph: flush release queue when handling caps for unknown inode (Jeff Layton) [1847528] - [net] libceph: ignore pool overlay and cache logic on redirects (Jeff Layton) [1847528] - [x86] kvm: lapic: ensure APIC map is up to date on concurrent update requests (Igor Mammedov) [1835330] - [x86] kvm: lapic: fix broken vcpu hotplug (Igor Mammedov) [1835330] - [netdrv] net: hns3: add some error checking in hclge_tm module (Mark Langsdorf) [1809057] {CVE-2019-15925} - [fs] udf: Fix mounting of Win7 created UDF filesystems (Oleksandr Natalenko) [1842400] - [netdrv] net: qed: fixes crash while running driver in kdump kernel (Manish Chopra) [1727746] - [netdrv] net: qed: Disable SRIOV functionality inside kdump kernel (Manish Chopra) [1727746] - [netdrv] net: qed*: Reduce RX and TX default ring count when running inside kdump kernel (Manish Chopra) [1727746] - [fs] cifs: dump Security Type info in DebugData (Leif Sahlberg) [1845390] - [net] netfilter: flowtable: Make nf_flow_table_offload_add/del_cb inline (Marcelo Leitner) [1840938] - [net] sched: act_ct: Make tcf_ct_flow_table_restore_skb inline (Marcelo Leitner) [1840938] - [net] netfilter: flowtable: Add pending bit for offload work (Marcelo Leitner) [1842670] - [net] Evict neighbor entries on carrier down (Ivan Vecera) [1845352] - [net] bridge: explicitly zero is_sticky in fdb_create (Ivan Vecera) [1845350] - [net] bridge: add support for sticky fdb entries (Ivan Vecera) [1845350] - [net] remove indirect block netdev event registration (Marcelo Leitner) [1841300] - [netdrv] bnxt_tc: update indirect block support (Marcelo Leitner) [1841300] - [netdrv] nfp: update indirect block support (Marcelo Leitner) [1841300] - [netdrv] mlx5: update indirect block support (Marcelo Leitner) [1841300] - [net] use flow_indr_dev_setup_offload() (Marcelo Leitner) [1841300] - [net] cls_api: add tcf_block_offload_init() (Marcelo Leitner) [1841300] - [net] flow_offload: consolidate indirect flow_block infrastructure (Marcelo Leitner) [1841300] - [net] netfilter: nf_flowtable: expose nf_flow_table_gc_cleanup() (Marcelo Leitner) [1841300] - [fs] iomap: Handle memory allocation failure in readahead (Carlos Maiolino) [1828792] - [fs] iomap: fix comments in iomap_dio_rw (Carlos Maiolino) [1828792] - [fs] iomap: Remove pgoff from tracepoints (Carlos Maiolino) [1828792] - [fs] fs: Fix page_mkwrite off-by-one errors (Carlos Maiolino) [1828792] - [fs] iomap: stop using ioend after it's been freed in iomap_finish_ioend() (Carlos Maiolino) [1828792] - [fs] iomap: fix sub-page uptodate handling (Carlos Maiolino) [1828792] - [fs] iomap: remove unneeded variable in iomap_dio_rw() (Carlos Maiolino) [1828792] - [fs] iomap: Do not create fake iter in iomap_dio_bio_actor() (Carlos Maiolino) [1828792] - [fs] iomap: trace iomap_appply results (Carlos Maiolino) [1828792] - [fs] fs/iomap: remove redundant check in iomap_dio_rw() (Carlos Maiolino) [1828792] - [fs] iomap: use a srcmap for a read-modify-write I/O (Carlos Maiolino) [1828792] - [fs] iomap: renumber IOMAP_HOLE to 0 (Carlos Maiolino) [1828792] - [fs] iomap: use write_begin to read pages to unshare (Carlos Maiolino) [1828792] - [fs] iomap: move the zeroing case out of iomap_read_page_sync (Carlos Maiolino) [1828792] - [fs] iomap: ignore non-shared or non-data blocks in xfs_file_dirty (Carlos Maiolino) [1828792] - [fs] iomap: always use AOP_FLAG_NOFS in iomap_write_begin (Carlos Maiolino) [1828792] - [fs] iomap: remove the unused iomap argument to __iomap_write_end (Carlos Maiolino) [1828792] - [fs] iomap: better document the IOMAP_F_* flags (Carlos Maiolino) [1828792] - [fs] iomap: enhance writeback error message (Carlos Maiolino) [1828792] - [fs] iomap: pass a struct page to iomap_finish_page_writeback (Carlos Maiolino) [1828792] - [fs] iomap: cleanup iomap_ioend_compare (Carlos Maiolino) [1828792] - [fs] iomap: move struct iomap_page out of iomap.h (Carlos Maiolino) [1828792] - [fs] iomap: warn on inline maps in iomap_writepage_map (Carlos Maiolino) [1828792] - [fs] iomap: lift the xfs writeback code to iomap (Carlos Maiolino) [1828792] - [fs] iomap: lift common tracing code from xfs to iomap (Carlos Maiolino) [1828792] - [fs] iomap: zero newly allocated mapped blocks (Carlos Maiolino) [1828792] - [fs] xfs: remove the fork fields in the writepage_ctx and ioend (Carlos Maiolino) [1828792] - [fs] xfs: turn io_append_trans into an io_private void pointer (Carlos Maiolino) [1828792] - [fs] xfs: refactor the ioend merging code (Carlos Maiolino) [1828792] - [fs] xfs: use a struct iomap in xfs_writepage_ctx (Carlos Maiolino) [1828792] - [fs] xfs: set IOMAP_F_NEW more carefully (Carlos Maiolino) [1828792] - [fs] xfs: initialize iomap->flags in xfs_bmbt_to_iomap (Carlos Maiolino) [1828792] - [fs] xfs: Use iomap_dio_rw to wait for unaligned direct IO (Carlos Maiolino) [1828792] - [fs] iomap: Allow forcing of waiting for running DIO in iomap_dio_rw() (Carlos Maiolino) [1828792] - [fs] iomap: move the iomap_dio_rw ->end_io callback into a structure (Carlos Maiolino) [1828792] - [fs] iomap: split size and error for iomap_dio_rw ->end_io (Carlos Maiolino) [1828792] - [fs] iomap: fix Invalid License ID (Carlos Maiolino) [1828792] - [fs] iomap: move internal declarations into fs/iomap/ (Carlos Maiolino) [1828792] - [fs] iomap: move the main iteration code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the buffered IO code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the direct IO code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the SEEK_HOLE code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the file mapping reporting code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the swapfile code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: start moving code to fs/iomap/ (Carlos Maiolino) [1828792] - [fs] iomap: move iomap_read_inline_data around (Carlos Maiolino) [1828792] - [fs] iomap: convert to SPDX identifier (Carlos Maiolino) [1828792] - [fs] iomap: remove duplicated include from iomap.c (Carlos Maiolino) [1828792] - [netdrv] fjes: Handle workqueue allocation failure (Masayoshi Mizuma) [1830565] {CVE-2019-16231}- [fs] NFSv4: Ensure the delegation cred is pinned when we call delegreturn (Benjamin Coddington) [1848933] - [fs] NFSv4: Ensure the delegation is pinned in nfs_do_return_delegation() (Benjamin Coddington) [1848933] - [fs] NFSv4.1 make cachethis=no for writes (Benjamin Coddington) [1848933] - [fs] NFSv4: Fix revalidation of dentries with delegations (Benjamin Coddington) [1848933] - [fs] NFSv4: Fix races between open and dentry revalidation (Benjamin Coddington) [1848933] - [fs] NFS: Fix up directory verifier races (Benjamin Coddington) [1848933] - [net] sunrpc: expiry_time should be seconds not timeval (Benjamin Coddington) [1848933] - [fs] NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals (Benjamin Coddington) [1848933] - [fs] NFSv4: try lease recovery on NFS4ERR_EXPIRED (Benjamin Coddington) [1848933] - [fs] NFS: Fix memory leaks (Benjamin Coddington) [1848933] - [fs] nfs: optimise readdir cache page invalidation (Benjamin Coddington) [1848933] - [fs] NFS: Switch readdir to using iterate_shared() (Benjamin Coddington) [1848933] - [fs] NFS: Use kmemdup_nul() in nfs_readdir_make_qstr() (Benjamin Coddington) [1848933] - [fs] NFS: Directory page cache pages need to be locked when read (Benjamin Coddington) [1848933] - [fs] NFS: Fix memory leaks and corruption in readdir (Benjamin Coddington) [1848933] - [net] SUNRPC: Use kmemdup_nul() in rpc_parse_scope_id() (Benjamin Coddington) [1848933] - [fs] NFS: Replace various occurrences of kstrndup() with kmemdup_nul() (Benjamin Coddington) [1848933] - [fs] NFSv4: Limit the total number of cached delegations (Benjamin Coddington) [1848933] - [fs] NFSv4: Add accounting for the number of active delegations held (Benjamin Coddington) [1848933] - [fs] NFSv4: Try to return the delegation immediately when marked for return on close (Benjamin Coddington) [1848933] - [fs] NFS: Clear NFS_DELEGATION_RETURN_IF_CLOSED when the delegation is returned (Benjamin Coddington) [1848933] - [fs] NFSv4: nfs_inode_evict_delegation() should set NFS_DELEGATION_RETURNING (Benjamin Coddington) [1848933] - [fs] NFS: nfs_find_open_context() should use cred_fscmp() (Benjamin Coddington) [1848933] - [fs] NFS: nfs_access_get_cached_rcu() should use cred_fscmp() (Benjamin Coddington) [1848933] - [fs] NFSv3: FIx bug when using chacl and chmod to change acl (Benjamin Coddington) [1848933] - [fs] NFSv4.x recover from pre-mature loss of openstateid (Benjamin Coddington) [1848933] - [fs] NFS: Trust cached access if we've already revalidated the inode once (Benjamin Coddington) [1848933] - [fs] NFS: Fix nfs_direct_write_reschedule_io() (Benjamin Coddington) [1848933] - [fs] NFS: When resending after a short write, reset the reply count to zero (Benjamin Coddington) [1848933] - [fs] NFS: Improve tracing of permission calls (Benjamin Coddington) [1848933] - [fs] NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes() (Benjamin Coddington) [1848933] - [fs] NFS: Fix up fsync() when the server rebooted (Benjamin Coddington) [1848933] - [net] SUNRPC: Remove broken gss_mech_list_pseudoflavors() (Benjamin Coddington) [1848933] - [fs] NFS: Revalidate the file mapping on all fatal writeback errors (Benjamin Coddington) [1848933] - [fs] NFS: Revalidate the file size on a fatal write error (Benjamin Coddington) [1848933] - [fs] nfs: NFS_SWAP should depend on SWAP (Benjamin Coddington) [1848933] - [net] SUNRPC: constify copied structure (Benjamin Coddington) [1848933] - [fs] fs/nfs, swapon: check holes in swapfile (Benjamin Coddington) [1848933] - [net] SUNRPC: call_connect_status should handle -EPROTO (Benjamin Coddington) [1848933] - [fs] NFS: Introduce trace events triggered by page writeback errors (Benjamin Coddington) [1848933] - [net] SUNRPC: Capture signalled RPC tasks (Benjamin Coddington) [1848933] - [fs] NFS: move dprintk after nfs_alloc_fattr in nfs3_proc_lookup (Benjamin Coddington) [1848933] - [fs] NFS4: Remove unneeded semicolon (Benjamin Coddington) [1848933] - [fs] nfs: encode nfsv4 timestamps as 64-bit (Benjamin Coddington) [1848933] - [fs] nfs: remove timespec from xdr_encode_nfstime (Benjamin Coddington) [1848933] - [fs] nfs: use timespec64 in nfs_fattr (Benjamin Coddington) [1848933] - [net] sunrpc: convert to time64_t for expiry (Benjamin Coddington) [1848933] - [fs] nfsd: use true, false for bool variable in nfssvc.c (Benjamin Coddington) [1848933] - [fs] nfsd: use true, false for bool variable in nfs4proc.c (Benjamin Coddington) [1848933] - [fs] nfsd: use true, false for bool variable in vfs.c (Benjamin Coddington) [1848933] - [fs] nfsd: remove nfs4_reset_lease() declarations (Benjamin Coddington) [1848933] - [fs] nfsd: use ktime_get_real_seconds() in nfs4_verifier (Benjamin Coddington) [1848933] - [fs] nfsd: use boottime for lease expiry calculation (Benjamin Coddington) [1848933] - [fs] nfsd: fix jiffies/time_t mixup in LRU list (Benjamin Coddington) [1848933] - [fs] nfsd: fix delay timer on 32-bit architectures (Benjamin Coddington) [1848933] - [fs] nfsd: use time64_t in nfsd_proc_setattr() check (Benjamin Coddington) [1848933] - [fs] nfsd: pass a 64-bit guardtime to nfsd_setattr() (Benjamin Coddington) [1848933] - [fs] nfsd: make 'boot_time' 64-bit wide (Benjamin Coddington) [1848933] - [fs] nfsd: use timespec64 in encode_time_delta (Benjamin Coddington) [1848933] - [fs] nfsd: handle nfs3 timestamps as unsigned (Benjamin Coddington) [1848933] - [fs] nfsd: print 64-bit timestamps in client_info_show (Benjamin Coddington) [1848933] - [fs] nfsd: use ktime_get_seconds() for timestamps (Benjamin Coddington) [1848933] - [fs] nfsd: remove unnecessary assertion in nfsd4_encode_replay (Benjamin Coddington) [1848933] - [fs] nfsd: Clone should commit src file metadata too (Benjamin Coddington) [1848933] - [fs] nfsd4: Remove unneeded semicolon (Benjamin Coddington) [1848933] - [fs] nfs: fix timstamp debug prints (Benjamin Coddington) [1848933] - [net] nfs: use time64_t internally (Benjamin Coddington) [1848933] - [fs] nfsd: Return the correct number of bytes written to the file (Benjamin Coddington) [1848933] - [fs] nfsd: Fix up some unused variable warnings (Benjamin Coddington) [1848933] - [kernel] blktrace: ensure our debugfs dir exists (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: fix debugfs use after free (Ming Lei) [1816559] {CVE-2019-19770} - [block] loop: be paranoid on exit and prevent new additions / removals (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: annotate required lock on do_blk_trace_setup() (Ming Lei) [1816559] {CVE-2019-19770} - [block] block: revert back to synchronous request_queue removal (Ming Lei) [1816559] {CVE-2019-19770} - [block] block: clarify context for refcount increment helpers (Ming Lei) [1816559] {CVE-2019-19770} - [block] block: add docs for gendisk / request_queue refcount helpers (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: no need to check return value of debugfs_create functions (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: Avoid sparse warnings when assigning q->blk_trace (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: break out of blktrace setup on concurrent calls (Ming Lei) [1816559] {CVE-2019-19770} - [nvme] nvme-fc: don't call nvme_cleanup_cmd() for AENs (Ewan Milne) [1847572] - [nvme] nvme-fc: convert assoc_active flag to bit op (Ewan Milne) [1847572] - [nvme] nvme-fc: Ensure private pointers are NULL if no data (Ewan Milne) [1847572] - [nvme] nvme-multipath: do not reset on unknown status (Ewan Milne) [1847572] - [documentation] x86/speculation: Add Ivy Bridge to affected list (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [documentation] x86/speculation: Add SRBDS vulnerability and mitigation documentation (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [x86] x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) mitigation (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [x86] x86/cpu: Add 'table' argument to cpu_matches() (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [x86] x86/cpu: Add a steppings field to struct x86_cpu_id (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [x86] x86/cpu/bugs: Convert to new matching macros (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [crypto] crypto: simd - correctly take reqsize of wrapped skcipher into account (Mark Salter) [1830471] - [fs] nfsd: depend on CRYPTO_MD5 for legacy client tracking (Benjamin Coddington) [1847468] - [fs] nfsd: check for EBUSY from vfs_rmdir/vfs_unink (Benjamin Coddington) [1847468] - [fs] NFS: Fallocate should use the nfs4_fattr_bitmap (Benjamin Coddington) [1847468] - [fs] NFS: Return -ETXTBSY when attempting to write to a swapfile (Benjamin Coddington) [1847468] - [fs] fs: nfs: sysfs: Remove NULL check before kfree (Benjamin Coddington) [1847468] - [fs] NFS: remove unneeded semicolon (Benjamin Coddington) [1847468] - [fs] NFSv4: add declaration of current_stateid (Benjamin Coddington) [1847468] - [include] sunrpc: remove __KERNEL__ ifdefs (Benjamin Coddington) [1847468] - [fs] nfsd: document callback_wq serialization of callback code (Benjamin Coddington) [1847468] - [fs] nfsd: mark cb path down on unknown errors (Benjamin Coddington) [1847468] - [net] SUNRPC: Avoid RPC delays when exiting suspend (Benjamin Coddington) [1847468] - [fs] NFSv4: Don't retry the GETATTR on old stateid in nfs4_delegreturn_done() (Benjamin Coddington) [1847468] - [fs] NFSv4: Handle NFS4ERR_OLD_STATEID in delegreturn (Benjamin Coddington) [1847468] - [fs] NFSv4: Fix races between open and delegreturn (Benjamin Coddington) [1847468] - [fs] NFS: nfs_inode_find_state_and_recover() fix stateid matching (Benjamin Coddington) [1847468] - [fs] NFSv4: Fix nfs4_inode_make_writeable() (Benjamin Coddington) [1847468] - [fs] NFSv4: nfs4_return_incompatible_delegation() should check delegation validity (Benjamin Coddington) [1847468] - [fs] NFSv4: Don't reclaim delegations that have been returned or revoked (Benjamin Coddington) [1847468] - [fs] NFSv4: Ignore requests to return the delegation if it was revoked (Benjamin Coddington) [1847468] - [fs] NFSv4: Revoke the delegation on success in nfs4_delegreturn_done() (Benjamin Coddington) [1847468] - [fs] NFSv4: Update the stateid seqid in nfs_revoke_delegation() (Benjamin Coddington) [1847468] - [fs] NFSv4: Clear the NFS_DELEGATION_REVOKED flag in nfs_update_inplace_delegation() (Benjamin Coddington) [1847468] - [fs] NFSv4: Hold the delegation spinlock when updating the seqid (Benjamin Coddington) [1847468] - [fs] NFSv4: Don't remove the delegation from the super_list more than once (Benjamin Coddington) [1847468] - [fs] NFS: Rename nfs_inode_return_delegation_noreclaim() (Benjamin Coddington) [1847468] - [fs] NFSv4: fail nfs4_refresh_delegation_stateid() when the delegation was revoked (Benjamin Coddington) [1847468] - [fs] NFSv4: Delegation recalls should not find revoked delegations (Benjamin Coddington) [1847468] - [fs] NFSv4: nfs4_callback_getattr() should ignore revoked delegations (Benjamin Coddington) [1847468] - [fs] NFSv4: Fix delegation handling in update_open_stateid() (Benjamin Coddington) [1847468] - [fs] NFSv4.1: Don't rebind to the same source port when reconnecting to the server (Benjamin Coddington) [1847468] - [fs] NFS/pnfs: Separate NFSv3 DS and MDS traffic (Benjamin Coddington) [1847468] - [fs] pNFS: nfs3_set_ds_client should set NFS_CS_NOPING (Benjamin Coddington) [1847468] - [fs] NFS: Add a flag to tell nfs_client to set RPC_CLNT_CREATE_NOPING (Benjamin Coddington) [1847468] - [fs] NFS: Use non-atomic bit ops when initialising struct nfs_client_initdata (Benjamin Coddington) [1847468] - [fs] NFSv3: Clean up timespec encode (Benjamin Coddington) [1847468] - [fs] NFSv2: Clean up timespec encode (Benjamin Coddington) [1847468] - [fs] NFSv2: Fix a typo in encode_sattr() (Benjamin Coddington) [1847468] - [fs] NFSv4: NFSv4 callbacks also support 64-bit timestamps (Benjamin Coddington) [1847468] - [fs] NFSv4: Encode 64-bit timestamps (Benjamin Coddington) [1847468] - [fs] NFS: Convert struct nfs_fattr to use struct timespec64 (Benjamin Coddington) [1847468] - [fs] NFS: If nfs_mountpoint_expiry_timeout < 0, do not expire submounts (Benjamin Coddington) [1847468] - [net] SUNRPC: Add trace points to observe transport congestion control (Benjamin Coddington) [1847468] - [net] SUNRPC: Eliminate log noise in call_reserveresult (Benjamin Coddington) [1847468] - [fs] nfsd: remove private bin2hex implementation (Benjamin Coddington) [1847468] - [fs] nfsd: remove set but not used variable 'len' (Benjamin Coddington) [1847468] - [fs] NFSv3: fix rpc receive buffer size for MOUNT call (Steve Dickson) [1837034] - [fs] NFS: remove unused macros (Steve Dickson) [1837034] - [mm] mm, slab: fix sign conversion problem in memcg_uncharge_slab() (Waiman Long) [1849016] - [mm] mm: fix false-positive OVERCOMMIT_GUESS failures (Waiman Long) [1849016] - [mm] mm: remove CONFIG_MIGRATE_VMA_HELPER (Karol Herbst) [1847908] - [nvdimm] libnvdimm: Export the target_node attribute for regions and namespaces (Jeff Moyer) [1783157] - [dax] dax: Add numa_node to the default device-dax attributes (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Simplify root read-only definition for the 'resource' attribute (Jeff Moyer) [1783157] - [dax] dax: Simplify root read-only definition for the 'resource' attribute (Jeff Moyer) [1783157] - [dax] dax: Create a dax device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move nvdimm_bus_attribute_group to device_type (Jeff Moyer) [1783157] - [acpi] libnvdimm: Move nvdimm_attribute_group to device_type (Jeff Moyer) [1783157] - [acpi] libnvdimm: Move nd_mapping_attribute_group to device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move nd_region_attribute_group to device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move nd_numa_attribute_group to device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move nd_device_attribute_group to device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move region attribute group definition (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move attribute groups to device type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm/region: Initialize bad block for volatile namespaces (Jeff Moyer) [1783157] - [x86] x86/mce: Add Xeon Icelake to list of CPUs that support PPIN (Steve Best) [1848710] - [powerpc] powerpc/kernel: Enables memory hot-remove after reboot on pseries guests (David Gibson) [1848844] - [fs] cifs: multichannel: try to rebind when reconnecting a channel (Leif Sahlberg) [1842759] - [fs] cifs: multichannel: use pointer for binding channel (Leif Sahlberg) [1842759] - [fs] cifs: multichannel: move channel selection above transport layer (Leif Sahlberg) [1842759] - [fs] cifs: move some variables off the stack in smb2_ioctl_query_info (Leif Sahlberg) [1842759] - [fs] cifs: reduce stack use in smb2_compound_op (Leif Sahlberg) [1842759] - [fs] cifs: multichannel: always zero struct cifs_io_parms (Leif Sahlberg) [1842759] - [fs] smb3: default to minimum of two channels when multichannel specified (Leif Sahlberg) [1842759] - [fs] cifs: multichannel: move channel selection in function (Leif Sahlberg) [1842759] - [mm] x86/init: fix build with CONFIG_SWAP=n (Waiman Long) [1839415] - [netdrv] ionic: add pcie_print_link_status (Jonathan Toppins) [1846506] - [netdrv] ionic: no link check while resetting queues (Jonathan Toppins) [1846953] - [netdrv] ionic: export features for vlans to use (Jonathan Toppins) [1846868] - [netdrv] ionic: remove support for mgmt device (Jonathan Toppins) [1846506] - [netdrv] ionic: wait on queue start until after IFF_UP (Jonathan Toppins) [1844924] - [netdrv] ionic: add more ethtool stats (Jonathan Toppins) [1848149] - [netdrv] ionic: more ionic name tweaks (Jonathan Toppins) [1848149] - [netdrv] ionic: ionic_intr_free parameter change (Jonathan Toppins) [1848149] - [netdrv] ionic: reset device at probe (Jonathan Toppins) [1848149] - [netdrv] ionic: shorter dev cmd wait time (Jonathan Toppins) [1848149] - [netdrv] ionic: add support for more xcvr types (Jonathan Toppins) [1848149] - [netdrv] ionic: protect vf calls from fw reset (Jonathan Toppins) [1848149] - [netdrv] ionic: updates to ionic FW api description (Jonathan Toppins) [1848149] - [netdrv] ionic: support longer tx sg lists (Jonathan Toppins) [1848149] - [netdrv] ionic: Use debugfs_create_bool() to export bool (Jonathan Toppins) [1848149] - [netdrv] drivers:Remove inclusion of vermagic header (Jonathan Toppins) [1848149] - [net] SUNRPC: Destroy the back channel when we destroy the host transport (Benjamin Coddington) [1846984] - [net] SUNRPC: fix race to sk_err after xs_error_report (Benjamin Coddington) [1846984] - [fs] NFS: Remove redundant mirror tracking in O_DIRECT (Benjamin Coddington) [1846984] - [fs] nfs: Fix nfsi->nrequests count error on nfs_inode_remove_request (Benjamin Coddington) [1846984] - [net] sunrpc: clean up indentation issue (Benjamin Coddington) [1846984] - [fs] NFS: Optimise the default readahead size (Benjamin Coddington) [1846984] - [fs] nfsd: fix nfs read eof detection (Benjamin Coddington) [1846984] - [fs] nfsd: Make nfsd_reset_boot_verifier_locked static (Benjamin Coddington) [1846984] - [fs] NFSv4: Handle NFS4ERR_OLD_STATEID in LOCKU (Benjamin Coddington) [1846984] - [fs] NFSv4: Handle NFS4ERR_OLD_STATEID in CLOSE/OPEN_DOWNGRADE (Benjamin Coddington) [1846984] - [fs] NFSv4: Fix OPEN_DOWNGRADE error handling (Benjamin Coddington) [1846984] - [fs] pNFS: Handle NFS4ERR_OLD_STATEID on layoutreturn by bumping the state seqid (Benjamin Coddington) [1846984] - [fs] NFSv4: Add a helper to increment stateid seqids (Benjamin Coddington) [1846984] - [fs] NFSv4: Handle RPC level errors in LAYOUTRETURN (Benjamin Coddington) [1846984] - [fs] NFSv4: Handle NFS4ERR_DELAY correctly in return-on-close (Benjamin Coddington) [1846984] - [fs] NFSv4: Clean up pNFS return-on-close error handling (Benjamin Coddington) [1846984] - [fs] NFS: remove unused check for negative dentry (Benjamin Coddington) [1846984] - [fs] NFSv3: use nfs_add_or_obtain() to create and reference inodes (Benjamin Coddington) [1846984] - [fs] NFS: Refactor nfs_instantiate() for dentry referencing callers (Benjamin Coddington) [1846984] - [fs] nfs_instantiate(): prevent multiple aliases for directory inode (Benjamin Coddington) [1846984] - [net] SUNRPC: Rename xdr_buf_read_netobj to xdr_buf_read_mic (Benjamin Coddington) [1846984] - [fs] nfsd: degraded slot-count more gracefully as allocation nears exhaustion (Benjamin Coddington) [1846984] - [fs] nfsd: handle drc over-allocation gracefully (Benjamin Coddington) [1846984] - [net] SUNRPC: RPC level errors should always set task->tk_rpc_status (Benjamin Coddington) [1846984] - [fs] nfsd: Support the server resetting the boot verifier (Benjamin Coddington) [1846984] - [net] sunrpc: Use kzfree rather than its implementation (Benjamin Coddington) [1846984] - [fs] nfsd: eliminate an unnecessary acl size limit (Benjamin Coddington) [1846984] - [fs] Deprecate nfsd fault injection (Benjamin Coddington) [1846984] - [fs] NFS: Have nfs4_proc_get_lease_time() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Have nfs41_proc_secinfo_no_name() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Have nfs41_proc_reclaim_complete() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Have _nfs4_proc_secinfo() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Have nfs4_proc_setclientid() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Add an nfs4_call_sync_custom() function (Benjamin Coddington) [1846984] - [fs] NFSv4: Fix a memory leak bug (Benjamin Coddington) [1846984] - [net] xprtrdma: Fix bc_max_slots return value (Benjamin Coddington) [1846984] - [net] SUNRPC: Inline xdr_commit_encode (Benjamin Coddington) [1846984] - [net] SUNRPC: Remove rpc_wake_up_queued_task_on_wq() (Benjamin Coddington) [1846984] - [fs] fs: nfs: Fix possible null-pointer dereferences in encode_attrs() (Benjamin Coddington) [1846984] - [fs] nfsd: Fix the documentation for svcxdr_tmpalloc() (Benjamin Coddington) [1846984] - [fs] nfsd: Remove unnecessary NULL checks (Benjamin Coddington) [1846984] - [s390] vfio-ccw: make vfio_ccw_regops variables declarations static (Cornelia Huck) [1660917] - [s390] vfio-ccw: Add trace for CRW event (Cornelia Huck) [1660917] - [s390] vfio-ccw: Wire up the CRW irq and CRW region (Cornelia Huck) [1660917] - [s390] vfio-ccw: Introduce a new CRW region (Cornelia Huck) [1660917] - [s390] vfio-ccw: Refactor IRQ handlers (Cornelia Huck) [1660917] - [s390] vfio-ccw: Introduce a new schib region (Cornelia Huck) [1660917] - [s390] vfio-ccw: Refactor the unregister of the async regions (Cornelia Huck) [1660917] - [s390] vfio-ccw: Register a chp_event callback for vfio-ccw (Cornelia Huck) [1660917] - [s390] vfio-ccw: Introduce new helper functions to free/destroy regions (Cornelia Huck) [1660917] - [documentation] vfio-ccw: document possible errors (Cornelia Huck) [1660917] - [s390] vfio-ccw: Enable transparent CCW IPL from DASD (Cornelia Huck) [1660917] - [s390] cio: generate delayed uevent for vfio-ccw subchannels (Cornelia Huck) [1660917] - [s390] vfio-ccw: Use the correct style for SPDX License Identifier (Cornelia Huck) [1660917] - [s390] vfio-ccw: Rework the io_fctl trace (Cornelia Huck) [1660917] - [s390] vfio-ccw: Add a trace for asynchronous requests (Cornelia Huck) [1660917] - [s390] vfio-ccw: Trace the FSM jumptable (Cornelia Huck) [1660917] - [s390] vfio-ccw: Refactor how the traces are built (Cornelia Huck) [1660917] - [s390] vfio-ccw: fix error return code in vfio_ccw_sch_init() (Cornelia Huck) [1660917] - [s390] vfio-ccw: add some logging (Cornelia Huck) [1660917] - [s390] vfio-ccw: make vfio_ccw_async_region_ops static (Cornelia Huck) [1660917] - [documentation] documentation: fix vfio-ccw doc (Cornelia Huck) [1660917] - [documentation] vfio-ccw: Update documentation for csch/hsch (Cornelia Huck) [1660917] - [s390] vfio-ccw: Don't call cp_free if we are processing a channel program (Cornelia Huck) [1660917] - [s390] vfio-ccw: Set pa_nr to 0 if memory allocation fails for pa_iova_pfn (Cornelia Huck) [1660917] - [s390] vfio-ccw: Fix memory leak and don't call cp_free in cp_init (Cornelia Huck) [1660917] - [s390] vfio-ccw: Fix misleading comment when setting orb.cmd.c64 (Cornelia Huck) [1660917] - [s390] vfio-ccw: Fix the conversion of Format-0 CCWs to Format-1 (Cornelia Huck) [1660917] - [s390] cio: introduce driver_override on the css bus (Cornelia Huck) [1660917] - [s390] vfio-ccw: make convert_ccw0_to_ccw1 static (Cornelia Huck) [1660917] - [s390] vfio-ccw: Remove copy_ccw_from_iova() (Cornelia Huck) [1660917] - [s390] vfio-ccw: Factor out the ccw0-to-ccw1 transition (Cornelia Huck) [1660917] - [s390] vfio-ccw: Copy CCW data outside length calculation (Cornelia Huck) [1660917] - [s390] vfio-ccw: Skip second copy of guest cp to host (Cornelia Huck) [1660917] - [s390] vfio-ccw: Move guest_cp storage into common struct (Cornelia Huck) [1660917] - [s390] cio: Combine direct and indirect CCW paths (Cornelia Huck) [1660917] - [s390] vfio-ccw: Rearrange IDAL allocation in direct CCW (Cornelia Huck) [1660917] - [s390] vfio-ccw: Remove pfn_array_table (Cornelia Huck) [1660917] - [s390] vfio-ccw: Adjust the first IDAW outside of the nested loops (Cornelia Huck) [1660917] - [s390] vfio-ccw: Rearrange pfn_array and pfn_array_table arrays (Cornelia Huck) [1660917] - [s390] cio: Use generalized CCW handler in cp_init() (Cornelia Huck) [1660917] - [s390] cio: Generalize the TIC handler (Cornelia Huck) [1660917] - [s390] cio: Refactor the routine that handles TIC CCWs (Cornelia Huck) [1660917] - [s390] cio: Squash cp_free() and cp_unpin_free() (Cornelia Huck) [1660917] - [s390] vfio-ccw: Destroy kmem cache region on module exit (Cornelia Huck) [1660917] - [documentation] docs: s390: convert docs to ReST and rename to *.rst (Cornelia Huck) [1660917] - [s390] cio: Remove vfio-ccw checks of command codes (Cornelia Huck) [1660917] - [s390] cio: Allow zero-length CCWs in vfio-ccw (Cornelia Huck) [1660917] - [s390] cio: Don't pin vfio pages for empty transfers (Cornelia Huck) [1660917] - [s390] cio: Initialize the host addresses in pfn_array (Cornelia Huck) [1660917] - [s390] cio: Split pfn_array_alloc_pin into pieces (Cornelia Huck) [1660917] - [s390] cio: Set vfio-ccw FSM state before ioeventfd (Cornelia Huck) [1660917] - [s390] cio: Update SCSW if it points to the end of the chain (Cornelia Huck) [1660917] - [s390] vfio-ccw: Prevent quiesce function going into an infinite loop (Cornelia Huck) [1660917] - [s390] vfio-ccw: Release any channel program when releasing/removing vfio-ccw mdev (Cornelia Huck) [1660917] - [s390] vfio-ccw: Do not call flush_workqueue while holding the spinlock (Cornelia Huck) [1660917] - [s390] vfio-ccw: add handling for async channel instructions (Cornelia Huck) [1660917] - [s390] cio: export hsch to modules (Cornelia Huck) [1660917] - [s390] vfio-ccw: add capabilities chain (Cornelia Huck) [1660917] - [s390] vfio-ccw: protect the I/O region (Cornelia Huck) [1660917] - [s390] vfio-ccw: rework ssch state handling (Cornelia Huck) [1660917] - [s390] vfio-ccw: make it safe to access channel programs (Cornelia Huck) [1660917] - [s390] vfio: ccw: only free cp on final interrupt (Cornelia Huck) [1660917] - [s390] cio: Use cpa range elsewhere within vfio-ccw (Cornelia Huck) [1660917] - [s390] cio: Fix vfio-ccw handling of recursive TICs (Cornelia Huck) [1660917] - [s390] vfio-ccw: Don't assume there are more ccws after a TIC (Cornelia Huck) [1660917] - [s390] vfio: ccw: Merge BUSY and BOXED states (Cornelia Huck) [1660917] - [s390] cio: Fix cleanup when unsupported IDA format is used (Cornelia Huck) [1660917] - [s390] cio: Fix cleanup of pfn_array alloc failure (Cornelia Huck) [1660917] - [s390] vfio: ccw: Register mediated device once all structures are initialized (Cornelia Huck) [1660917] - [s390] cio: make vfio_ccw_io_region static (Cornelia Huck) [1660917] - [s390] cio: Fix how vfio-ccw checks pinned pages (Cornelia Huck) [1660917] - [s390] cio: Refactor alloc of ccw_io_region (Cornelia Huck) [1660917] - [s390] cio: Convert ccw_io_region to pointer (Cornelia Huck) [1660917] - [netdrv] ibmvnic: Harden device login requests (Steve Best) [1847183] - [mm] s390/cmm: fix information leak in cmm_timeout_handler() (Nico Pache) [1846532] {CVE-2020-10773} - [fs] kernfs: fix potential null pointer dereference (Carlos Maiolino) [1847872] - [netdrv] net: sfc: reject unsupported coalescing params (Jarod Wilson) [1844659] - [netdrv] iavf: increase reset complete wait time (Stefan Assmann) [1844598] - [netdrv] iavf: Fix reporting 2.5 Gb and 5Gb speeds (Stefan Assmann) [1844598] - [netdrv] iavf: use appropriate enum for comparison (Stefan Assmann) [1844598] - [netdrv] iavf: fix speed reporting over virtchnl (Stefan Assmann) [1844598] - [block] blk-mq: fix blk_mq_all_tag_iter (Ming Lei) [1824037] - [block] blk-mq: split out a __blk_mq_get_driver_tag helper (Ming Lei) [1824037] - [block] blk-mq: drain I/O when all CPUs in a hctx are offline (Ming Lei) [1824037] - [block] blk-mq: add blk_mq_all_tag_iter (Ming Lei) [1824037] - [block] blk-mq: open code __blk_mq_alloc_request in blk_mq_alloc_request_hctx (Ming Lei) [1824037] - [block] blk-mq: use BLK_MQ_NO_TAG in more places (Ming Lei) [1824037] - [block] blk-mq: rename BLK_MQ_TAG_FAIL to BLK_MQ_NO_TAG (Ming Lei) [1824037] - [block] blk-mq: move more request initialization to blk_mq_rq_ctx_init (Ming Lei) [1824037] - [block] blk-mq: simplify the blk_mq_get_request calling convention (Ming Lei) [1824037] - [block] blk-mq: remove a pointless queue enter pair in blk_mq_alloc_request_hctx (Ming Lei) [1824037] - [block] blk-mq: remove a pointless queue enter pair in blk_mq_alloc_request (Ming Lei) [1824037] - [block] blk-mq: move the call to blk_queue_enter_live out of blk_mq_get_request (Ming Lei) [1824037] - [nvme] nvme: force complete cancelled requests (Ming Lei) [1824037] - [block] blk-mq: blk-mq: provide forced completion method (Ming Lei) [1824037] - [block] block: Limit number of items taken from the I/O scheduler in one go (Ming Lei) [1824037] - [scsi] Revert "scsi: core: run queue if SCSI device queue isn't ready and queue is idle" (Ming Lei) [1824037] - [block] blk-mq: Rerun dispatching in the case of budget contention (Ming Lei) [1824037] - [block] blk-mq: Add blk_mq_delay_run_hw_queues() API call (Ming Lei) [1824037] - [block] blk-mq: In blk_mq_dispatch_rq_list() "no budget" is a reason to kick (Ming Lei) [1824037] - [block] blk-mq: Put driver tag in blk_mq_dispatch_rq_list() when no budget (Ming Lei) [1824037] - [block] blk-mq: don't commit_rqs() if none were queued (Ming Lei) [1824037] - [block] blk-mq: Remove some unused function arguments (Ming Lei) [1824037] - [block] blk-mq-tag: document tag iteration helper return value (Ming Lei) [1824037] - [block] blk-mq: Document the functions that iterate over requests (Ming Lei) [1824037] - [block] loop: Better discard support for block devices (Ming Lei) [1824037] - [block] loop: Report EOPNOTSUPP properly (Ming Lei) [1824037] - [block] block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices (Ming Lei) [1824037] - [block] block, zoned: fix integer overflow with BLKRESETZONE et al (Ming Lei) [1824037] - [block] block: Fix use-after-free issue accessing struct io_cq (Ming Lei) [1824037] - [netdrv] cxgb4: add EOTID tracking and software context dump (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: tune burst buffer size for TC-MQPRIO offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: improve credits recovery in TC-MQPRIO Tx path (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix delete filter entry fail in unload path (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix large delays in PTP synchronization (Vishal Kulkarni) [1828665] - [netdrv] net/cxgb4: Check the return from t4_query_params properly (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: free MQPRIO resources in shutdown path (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix MPS index overwrite when setting MAC address (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Add support to catch bits set in INT_CAUSE5 (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: remove set but not used variable 'tab' (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/ptp: pass the sign of offset delta in FW CMD (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix Txq restart check during backpressure (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix throughput drop during Tx backpressure (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: rework TC filter rule insertion across regions (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: update T5/T6 adapter register ranges (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix checks for max queues to allocate (Vishal Kulkarni) [1828665] - [netdrv] net/chelsio: Don't set N/A for not available FW (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Added tls stats prints (Vishal Kulkarni) [1828665] - [netdrv] l2t_seq_next should increase position index (Vishal Kulkarni) [1828665] - [netdrv] seq_tab_next() should increase position index (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: reject overlapped queues in TC-MQPRIO offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix Tx multi channel port rate limit (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/cxgb4vf: fix flow control display for auto negotiation (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix refcount init for TC-MQPRIO offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/chtls: fix ULD connection failures due to wrong TID base (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix missed high priority region calculation (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Fix kernel panic while accessing sge_info (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add support for high priority filters (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add stats for MQPRIO QoS offload Tx path (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add UDP segmentation offload support (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/chcr: update SGL DMA unmap for USO (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add TC-MATCHALL classifier ingress offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: check rule prio conflicts before offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add TC-MATCHALL classifier egress offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: remove unneeded semicolon for switch block (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Fix an error code in cxgb4_mqprio_alloc_hw_resources() (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: make function 'cxgb4_mqprio_free_hw_resources' static (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: remove redundant assignment to hdr_len (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix 64-bit division on i386 (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Use match_string() helper to simplify the code (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add FLOWC based QoS offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add Tx and Rx path for ETHOFLD traffic (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add ETHOFLD hardware queue support (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: parse and configure TC-MQPRIO offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: rework queue config and MSI-X allocation (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: query firmware for QoS offload resources (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Add pci reset handler (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/l2t: Simplify 't4_l2e_free()' and '_t4_l2e_free()' (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix panic when attaching to ULD fail (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: request the TX CIDX updates to status page (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Signedness bug in init_one() (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: no need to check return value of debugfs_create functions (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: smt: Use normal int for refcount (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: smt: Add lock for atomic_dec_and_test (Vishal Kulkarni) [1828665] - [fs] xfs: clear PF_MEMALLOC before exiting xfsaild thread (Brian Foster) [1827912]- [drm] drm/amd/display: Defer cursor lock until after VUPDATE (Lyude Paul) [1814893] - [drm] drm/amd/display: Use cursor locking to prevent flip delays (Lyude Paul) [1814893] - [drm] drm/amdgpu/display: Fix Pollock Variant Detection (Lyude Paul) [1814893] - [drm] drm/amd/display: Fix RV2 Variant Detection (Lyude Paul) [1814893] - [drm] drm/amdgpu/display: fix pci revision id fetching (Lyude Paul) [1814893] - [drm] drm/nouveau/device: detect vGPUs (Lyude Paul) [1814893] - [drm] drm/nouveau/device: detect if changing endianness failed (Lyude Paul) [1814893] - [drm] drm/nouveau/device: rework mmio mapping code to get rid of second map (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/gm200-: detect and potentially disable HDA support on some SORs (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/gp100: split SOR implementation from gm200 (Lyude Paul) [1814893] - [drm] drm/nouveau/disp: modify OR allocation policy to account for HDA requirements (Lyude Paul) [1814893] - [drm] drm/nouveau/disp: split part of OR allocation logic into a function (Lyude Paul) [1814893] - [drm] drm/nouveau/disp: provide hint to OR allocation about HDA requirements (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/gt215-: fix race with audio driver runpm (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/hda/gv100-: NV_PDISP_SF_AUDIO_CNTRL0 register moved (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/hda/gf119-: select HDA device entry based on bound head (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/hda/gf119-: add HAL for programming device entry in SF (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/hda/gt215-: pass head to nvkm_ior.hda.eld() (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/gm200-: fix NV_PDISP_SOR_HDMI2_CTRL(n) selection (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: Share DP SST mode_valid() handling with MST (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: Move 8BPC limit for MST into nv50_mstc_get_modes() (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/gv100-: Add support for interlaced modes (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: Probe SOR and PIOR caps for DP interlacing support (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: Initialize core channel in nouveau_display_create() (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/gv100-: expose capabilities class (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/nv50-: increase timeout on pio channel free() polling (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: wait for FIFO space on PIO channels (Lyude Paul) [1814893] - [drm] drm/nouveau/nvif: protect waits against GPU falling off the bus (Lyude Paul) [1814893] - [drm] drm/nouveau/nvif: access PTIMER through usermode class, if available (Lyude Paul) [1814893] - [drm] drm/nouveau/ttm: evict other IO mappings when running out of BAR1 space (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: clear SW state of disabled windows harder (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Add aux table invalidate for all engines (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Invalidate aux table entries forcibly (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Flush L3 (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Fix HDC pipeline flush (Lyude Paul) [1814893] - [drm] Revert "drm/i915/tgl: Include ro parts of l3 to invalidate" (Lyude Paul) [1814893] - [drm] drm/i915: Push MST link retraining to the hotplug work (Lyude Paul) [1814893] - [drm] drm/i915: Flatten intel_dp_check_mst_status() a bit (Lyude Paul) [1814893] - [drm] drm/i915/tc: Do not warn when aux power well of static TC ports timeout (Lyude Paul) [1814893] - [drm] drm/i915/tc: Catch TC users accessing FIA registers without enable aux (Lyude Paul) [1814893] - [drm] drm/i915/tc/tgl: Implement TC cold sequences (Lyude Paul) [1814893] - [drm] drm/i915/tc: Skip ref held check for TC legacy aux power wells (Lyude Paul) [1814893] - [drm] drm/i915/tc/icl: Implement TC cold sequences (Lyude Paul) [1814893] - [drm] drm/i915/display: Split hsw_power_well_enable() into two (Lyude Paul) [1814893] - [drm] drm/i915/display: Add intel_legacy_aux_to_power_domain() (Lyude Paul) [1814893] - [drm] drm/i915/display: Move out code to return the digital_port of the aux ch (Lyude Paul) [1814893] - [drm] drm/i915: Add missing deinitialization cases of load failure (Lyude Paul) [1814893] - [drm] drm/i915: split intel_modeset_init() to pre/post irq install (Lyude Paul) [1814893] - [drm] drm/i915: split i915_driver_modeset_probe() to pre/post irq install (Lyude Paul) [1814893] - [drm] drm/i915: split i915_driver_modeset_remove() to pre/post irq uninstall (Lyude Paul) [1814893] - [drm] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall (Lyude Paul) [1814893] - [drm] drm/i915: Extract skl SAGV checking (Lyude Paul) [1814893] - [drm] drm/i915: Track active_pipes in bw_state (Lyude Paul) [1814893] - [drm] drm/i915: Use bw state for per crtc SAGV evaluation (Lyude Paul) [1814893] - [drm] drm/i915: Introduce intel_calc_active_pipes() (Lyude Paul) [1814893] - [drm] drm/i915: Add pre/post plane updates for SAGV (Lyude Paul) [1814893] - [drm] drm/i915: Prepare to extract gen specific functions from intel_can_enable_sagv (Lyude Paul) [1814893] - [drm] drm/i915: Add intel_atomic_get_bw_*_state helpers (Lyude Paul) [1814893] - [drm] drm/i915: Introduce skl_plane_wm_level accessor (Lyude Paul) [1814893] - [drm] drm/i915: do AUD_FREQ_CNTRL state save on all gen9+ platforms (Lyude Paul) [1814893] - [drm] drm/i915: Extend hotplug detect retry on TypeC connectors to 5 seconds (Lyude Paul) [1814893] - [drm] drm/i915: Add a retry counter for hotplug detect retries (Lyude Paul) [1814893] - [drm] drm/i915: Introduce intel_connector_hpd_pin() (Lyude Paul) [1814893] - [drm] drm/i915: Prefer intel_connector over drm_connector in hotplug code (Lyude Paul) [1814893] - [drm] drm/i915: Use intel_attached_encoder() (Lyude Paul) [1814893] - [drm] drm/i915/ehl: Restrict w/a 1607087056 for EHL/JSL (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Initialize multicast register steering for workarounds (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Make Wa_14010229206 permanent (Lyude Paul) [1814893] - [drm] drm/i915: Add Wa_1605460711 / Wa_1408767742 to ICL and EHL (Lyude Paul) [1814893] - [drm] drm/i915: Apply Wa_1406680159:icl, ehl as an engine workaround (Lyude Paul) [1814893] - [drm] drm/i915: Add Wa_1406306137:icl,ehl (Lyude Paul) [1814893] - [drm] drm/i915: Add Wa_1604278689:icl,ehl (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Don't treat unslice registers as masked (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Make Wa_1606700617 permanent (Lyude Paul) [1814893] - [drm] drm/i915/tgl: WaDisableGPGPUMidThreadPreemption (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Move and restrict Wa_1408615072 (Lyude Paul) [1814893] - [drm] drm/i915/gen11: Moving WAs to rcs_engine_wa_init() (Lyude Paul) [1814893] - [drm] drm/i915: add Wa_14010594013: icl,ehl (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add Wa number to WaAllowPMDepthAndInvocationCountAccessFromUMD (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add note about Wa_1409142259 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Fix the Wa number of a fix (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add note about Wa_1607063988 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add note to Wa_1607297627 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Extend Wa_1606931601 for all steppings (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add Wa_1409085225, Wa_14010229206 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Implement Wa_1806527549 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Implement Wa_1409804808 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add Wa_1808121037 to tgl (Lyude Paul) [1814893] - [drm] drm/i915: Use engine wa list for Wa_1607090982 (Lyude Paul) [1814893] - [drm] drm/i915: Implement Wa_1607090982 (Lyude Paul) [1814893] - [drm] drm/i915: Disable tesselation clock gating on tgl A0 (Lyude Paul) [1814893] - [drm] drm/i915: Move ringbuffer WAs to engine workaround list (Lyude Paul) [1814893] - [drm] drm/i915/gt: Skip rmw for masked registers (Lyude Paul) [1814893] - [drm] drm/i915/selftests: Also wait for the scratch buffer to be bound (Lyude Paul) [1814893] - [drm] drm/i915/dp: Return the right vswing tables (Lyude Paul) [1814893] - [drm] drm/i915/dp/tgl+: Update combo phy vswing tables (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add definitions for VRR registers and bits (Lyude Paul) [1814893] - [drm] drm/i915: use forced codec wake on all gen9+ platforms (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add new PCI IDs to TGL (Lyude Paul) [1814893] - [drm] drm/i915/perf: Invalidate OA TLB on when closing perf stream (Lyude Paul) [1814893] - [drm] Bump DRM backport version to 5.6.14 (Lyude Paul) [1814893] - [drm] drm/i915/tgl+: Fix interrupt handling for DP AUX transactions (Lyude Paul) [1814893] - [drm] drm/amd/amdgpu: add raven1 part to the gfxoff quirk list (Lyude Paul) [1814893] - [drm] drm/amd/display: add basic atomic check for cursor plane (Lyude Paul) [1814893] - [drm] Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE() (Lyude Paul) [1814893] - [drm] drm/i915: Handle idling during i915_gem_evict_something busy loops (Lyude Paul) [1814893] - [drm] drm/i915: Mark concurrent submissions with a weak-dependency (Lyude Paul) [1814893] - [drm] drm/i915/gvt: Fix kernel oops for 3-level ppgtt guest (Lyude Paul) [1814893] - [drm] drm/amdgpu: force fbdev into vram (Lyude Paul) [1814893] - [drm] drm/i915/gem: Remove object_is_locked assertion from unpin_from_display_plane (Lyude Paul) [1814893] - [drm] drm/i915: Don't enable WaIncreaseLatencyIPCEnabled when IPC is disabled (Lyude Paul) [1814893] - [drm] drm/i915/gt: Make timeslicing an explicit engine property (Lyude Paul) [1814893] - [drm] drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper() (Lyude Paul) [1814893] - [drm] drm/amd/display: Update downspread percent to match spreadsheet for DCN2.1 (Lyude Paul) [1814893] - [drm] drm/amd/display: Defer cursor update around VUPDATE for all ASIC (Lyude Paul) [1814893] - [drm] drm/amd/display: check if REFCLK_CNTL register is present (Lyude Paul) [1814893] - [drm] drm/amd/powerplay: avoid using pm_en before it is initialized revised (Lyude Paul) [1814893] - [drm] drm/amd/display: blank dp stream before re-train the link (Lyude Paul) [1814893] - [drm] drm/i915/display: Load DP_TP_CTL/STATUS offset before use it (Lyude Paul) [1814893] - [drm] drm/i915/tgl: TBT AUX should use TC power well ops (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add Wa_14010477008:tgl (Lyude Paul) [1814893] - [drm] drm/amd/display: work around fp code being emitted outside of DC_FP_START/END (Lyude Paul) [1814893] - [drm] drm/amdgpu: drop redundant cg/pg ungate on runpm enter (Lyude Paul) [1814893] - [drm] drm/amdgpu: move kfd suspend after ip_suspend_phase1 (Lyude Paul) [1814893] - [drm] drm/amdgpu: Fix oops when pp_funcs is unset in ACPI event (Lyude Paul) [1814893] - [drm] drm/amdgpu: Correctly initialize thermal controller for GPUs with Powerplay table v0 (e.g Hawaii) (Lyude Paul) [1814893] - [drm] drm/amd/powerplay: fix resume failed as smu table initialize early exit (Lyude Paul) [1814893] - [drm] drm/bridge: anx6345: set correct BPC for display_info of connector (Lyude Paul) [1814893] - [drm] drm/i915: Use proper fault mask in interrupt postinstall too (Lyude Paul) [1814893] - [drm] drm/i915/selftests: Fix i915_address_space refcnt leak (Lyude Paul) [1814893] - [drm] drm/qxl: qxl_release use after free (Lyude Paul) [1814893] - [drm] drm/qxl: qxl_release leak in qxl_hw_surface_alloc() (Lyude Paul) [1814893] - [drm] drm/qxl: qxl_release leak in qxl_draw_dirty_fb() (Lyude Paul) [1814893] - [drm] drm/i915/gt: Check cacheline is valid before acquiring (Lyude Paul) [1814893] - [drm] drm/i915/gem: Hold obj->vma.lock over for_each_ggtt_vma() (Lyude Paul) [1814893] - [drm] drm/amd/display: Fix green screen issue after suspend (Lyude Paul) [1814893] - [drm] drm/edid: Fix off-by-one in DispID DTD pixel clock (Lyude Paul) [1814893] - [drm] drm/amdgpu: invalidate L2 before SDMA IBs (v2) (Lyude Paul) [1814893] - [dma-buf] dma-buf: Fix SET_NAME ioctl uapi (Lyude Paul) [1814893] - [drm] drm/scheduler: fix drm_sched_get_cleanup_job (Lyude Paul) [1814893] - [drm] drm/amdgpu: fix wrong vram lost counter increment V2 (Lyude Paul) [1814893] - [drm] drm/dp_mst: Zero assigned PBN when releasing VCPI slots (Lyude Paul) [1814893] - [drm] drm/amd/display: Calculate scaling ratios on every medium/full update (Lyude Paul) [1814893] - [drm] drm/amd/display: Update stream adjust in dc_stream_adjust_vmin_vmax (Lyude Paul) [1814893] - [video] fbdev: potential information leak in do_fb_ioctl() (Lyude Paul) [1814893] - [drm] drm/nouveau/gr/gp107, gp108: implement workaround for HW hanging during init (Lyude Paul) [1814893] - [drm] drm/amdkfd: kfree the wrong pointer (Lyude Paul) [1814893] - [drm] drm/nouveau: workaround runpm fail by disabling PCI power management on certain intel bridges (Lyude Paul) [1814893] - [drm] drm/nouveau/svm: fix vma range check for migration (Lyude Paul) [1814893] - [drm] drm/nouveau/svm: check for SVM initialized before migrating (Lyude Paul) [1814893] - [drm] drm/amd/display: Don't try hdcp1.4 when content_type is set to type1 (Lyude Paul) [1814893] - [drm] drm/ttm: flush the fence on the bo after we individualize the reservation object (Lyude Paul) [1814893] - [drm] drm/i915/perf: Do not clear pollin for small user read buffers (Lyude Paul) [1814893] - [drm] drm/nouveau/sec2/gv100-: add missing MODULE_FIRMWARE() (Lyude Paul) [1814893] - [drm] drm/amdgpu: fix the hw hang during perform system reboot and reset (Lyude Paul) [1814893] - [drm] drm/amdgpu/gfx9: add gfxoff quirk (Lyude Paul) [1814893] - [drm] drm/amd/powerplay: force the trim of the mclk dpm_levels if OD is enabled (Lyude Paul) [1814893] - [drm] drm/i915/gt: Fill all the unused space in the GGTT (Lyude Paul) [1814893] - [drm] drm/i915/ggtt: do not set bits 1-11 in gen12 ptes (Lyude Paul) [1814893] - [drm] drm/amdgpu: fix gfx hang during suspend with video playback (v2) (Lyude Paul) [1814893] - [drm] drm/dp_mst: Fix clearing payload state on topology disable (Lyude Paul) [1814893] - [drm] Revert "drm/dp_mst: Remove VCPI while disabling topology mgr" (Lyude Paul) [1814893] - [drm] drm/i915/gt: Treat idling as a RPS downclock event (Lyude Paul) [1814893] - [drm] drm/vboxvideo: Add missing remove_conflicting_pci_framebuffers call, v2 (Lyude Paul) [1814893] - [drm] drm/i915/icl+: Don't enable DDI IO power on a TypeC port in TBT mode (Lyude Paul) [1814893] - [drm] drm/amd/display: Check for null fclk voltage when parsing clock table (Lyude Paul) [1814893] - [drm] drm/amdgpu: unify fw_write_wait for new gfx9 asics (Lyude Paul) [1814893] - [drm] drm/amd/powerplay: implement the is_dpm_running() (Lyude Paul) [1814893] - [drm] drm/amdgpu/powerplay: using the FCLK DPM table to set the MCLK (Lyude Paul) [1814893] - [drm] drm: Remove PageReserved manipulation from drm_pci_alloc (Lyude Paul) [1814893] - [drm] drm/bridge: analogix-anx78xx: Fix drm_dp_link helper removal (Lyude Paul) [1814893] - [drm] drm/i915/gem: Flush all the reloc_gpu batch (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Disable preemption timeout (Lyude Paul) [1814893] - [drm] drm/i915/display: Fix mode private_flags comparison at atomic_check (Lyude Paul) [1814893] - [drm] drm/bridge: analogix-anx6345: Avoid duplicate -supply suffix (Lyude Paul) [1814893] - [drm] drm/i915: Allow for different modes of interruptible i915_active_wait (Lyude Paul) [1814893] - [gpu] DRM Backport 5.5 -> 5.6 (Lyude Paul) [1814893] - [video] video: fbdev: intelfb: use const pointer for fb_ops (Lyude Paul) [1814893] - [include] video: fbdev: make fbops member of struct fb_info a const pointer (Lyude Paul) [1814893] - [video] video: fbdev: uvesafb: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: fbdev: nvidia: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: fbdev: mb862xx: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: fbdev: atyfb: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: fbmem: use const pointer for fb_ops (Lyude Paul) [1814893] - [video] video: fbdev: vesafb: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: udlfb: don't restore fb_mmap after deferred IO cleanup (Lyude Paul) [1814893] - [video] video: smscufx: don't restore fb_mmap after deferred IO cleanup (Lyude Paul) [1814893] - [drm] drm/fb-helper: don't preserve fb_ops across deferred IO use (Lyude Paul) [1814893] - [drm] drm/fb-helper: Remove drm_fb_helper_fbdev_{setup, teardown}() (Lyude Paul) [1814893] - [video] video: fb_defio: preserve user fb_ops (Lyude Paul) [1814893] - [drm] mm, drm/ttm: Fix vm page protection handling (Lyude Paul) [1814893] - [dma-buf] udmabuf: Remove deleted map/unmap handlers (Lyude Paul) [1814893] - [include] dma-buf: Remove kernel map/unmap hooks (Lyude Paul) [1814893] - [drm] drm/udl: Remove udl implementation of GEM's free_object() (Lyude Paul) [1814893] - [drm] drm/udl: Unmap buffer object after damage update (Lyude Paul) [1814893] - [drm] drm/udl: Fix Kconfig indentation (Lyude Paul) [1814893] - [drm] drm/udl: Replace fbdev code with generic emulation (Lyude Paul) [1814893] - [drm] drm/udl: Remove struct udl_gem_object and functions (Lyude Paul) [1814893] - [drm] drm/udl: Switch to SHMEM (Lyude Paul) [1814893] - [drm] drm/udl: Allocate GEM object via struct drm_driver.gem_create_object (Lyude Paul) [1814893] - [drm] drm/udl: Remove flags field from struct udl_gem_object (Lyude Paul) [1814893] - [drm] drm/armada: Delete dma_buf->k(un)map implemenation (Lyude Paul) [1814893] - [tee] drm/tee_shm: Drop dma_buf_k(unmap) support (Lyude Paul) [1814893] - [samples] sample/vfio-mdev/mbocs: Remove dma_buf_k(un)map support (Lyude Paul) [1814893] - [media] media/videobuf2: Drop dma_buf->k(un)map support (Lyude Paul) [1814893] - [drm] drm/vmwgfx: Delete mmaping functions (Lyude Paul) [1814893] - [dma-buf] dma-buf: Drop dma_buf_k(un)map (Lyude Paul) [1814893] - [drm] drm/tegra: Remove dma_buf->k(un)map (Lyude Paul) [1814893] - [drm] drm/omapdrm: Drop dma_buf->k(un)map (Lyude Paul) [1814893] - [drm] drm/i915: Drop dma_buf->k(un)map (Lyude Paul) [1814893] - [staging] staging/android/ion: delete dma_buf->kmap/unmap implemenation (Lyude Paul) [1814893] - [drm] drm/i915: Remove dma_buf_kmap selftest (Lyude Paul) [1814893] - [drm] drm/tegra: Delete host1x_bo_ops->k(un)map (Lyude Paul) [1814893] - [gpu] drm/tegra: Map cmdbuf once for reloc processing (Lyude Paul) [1814893] - [pinctrl] pinctrl: Allow modules to use pinctrl_register_mappings (Lyude Paul) [1814893] - [include] lockdep: add might_lock_nested() (Lyude Paul) [1814893] - [gpu] DRM Backport 5.4 -> 5.5 (Lyude Paul) [1814893] - [security] device_cgroup: Export devcgroup_check_permission (Lyude Paul) [1814893] - [video] fbdev: drop res_id parameter from remove_conflicting_pci_framebuffers (Lyude Paul) [1814893] - [media] media: cec: check 'transmit_in_progress', not 'transmitting' (Lyude Paul) [1814893] - [media] media: cec: avoid decrementing transmit_queue_sz if it is 0 (Lyude Paul) [1814893] - [media] media: cec: CEC 2.0-only bcast messages were ignored (Lyude Paul) [1814893] - [media] cec: add cec_adapter to cec_notifier_cec_adap_unregister() (Lyude Paul) [1814893] - [media] media: cec-pin: add 'received' callback (Lyude Paul) [1814893] - [media] media: cec: expose the new connector info API (Lyude Paul) [1814893] - [media] media: cec/cec-adap.c: use new UI_CMD defines (Lyude Paul) [1814893] - [media] media: cec-notifier: clear cec_adap in cec_notifier_unregister (Lyude Paul) [1814893] - [media] media: cec-adap: return from cec_s_conn_info() if adap is invalid (Lyude Paul) [1814893] - [media] media: cec-notifier: add new notifier functions (Lyude Paul) [1814893] - [media] media: cec: add struct cec_connector_info support (Lyude Paul) [1814893] - [media] media: cec-notifier: rename variables, check kstrdup and n->conn_name (Lyude Paul) [1814893] - [media] media: cec-adap: fix regression in ping sanity check (Lyude Paul) [1814893] - [media] media: cec: allow any initiator for Ping and Image/Text View On (Lyude Paul) [1814893] - [media] media: cec: support CEC_MSG_FL_RAW (Lyude Paul) [1814893] - [media] media: cec: add CEC_MSG_FL_RAW flag and msg_is_raw helper function (Lyude Paul) [1814893] - [media] media: cec: move check from cec_transmit to cec_transmit_msg_fh (Lyude Paul) [1814893] - [media] media: cec: cec_transmit_msg_fh: do sanity checks first (Lyude Paul) [1814893] - [media] media: cec: mark devnode as registered before actually registering it (Lyude Paul) [1814893] - [media] media: cec-notifier: add cec_notifier_parse_hdmi_phandle helper (Lyude Paul) [1814893] - [media] media: Kconfig files: use the right help coding style (Lyude Paul) [1814893] - [media] media: cec: fill in cec chardev kobject to ease debugging (Lyude Paul) [1814893] - [media] media: cec: fix epoll() by calling poll_wait first (Lyude Paul) [1814893] - [media] media: cec: keep track of outstanding transmits (Lyude Paul) [1814893] - [media] media: cec: add debug_phys_addr module option (Lyude Paul) [1814893] - [media] media: cec: report Vendor ID after initialization (Lyude Paul) [1814893] - [media] media: cec-pin: fix broken tx_ignore_nack_until_eom error injection (Lyude Paul) [1814893] - [media] media: cec: increase debug level for 'queue full' (Lyude Paul) [1814893] - [media] media: cec: check for non-OK/NACK conditions while claiming a LA (Lyude Paul) [1814893] - [media] media: cec: forgot to cancel delayed work (Lyude Paul) [1814893] - [media] media: cec: name for RC passthrough device does not need 'RC for' (Lyude Paul) [1814893] - [media] media: cec-gpio: select correct Signal Free Time (Lyude Paul) [1814893] - [media] media: cec: fix the Signal Free Time calculation (Lyude Paul) [1814893] - [media] media: cec: add new tx/rx status bits to detect aborts/timeouts (Lyude Paul) [1814893] - [media] media: cec: remove cec-edid.c (Lyude Paul) [1814893] - [media] media: cec/v4l2: move V4L2 specific CEC functions to V4L2 (Lyude Paul) [1814893] - [media] media: cec: integrate cec_validate_phys_addr() in cec-api.c (Lyude Paul) [1814893] - [media] media: cec: make cec_get_edid_spa_location() an inline function (Lyude Paul) [1814893] - [media] media: use strscpy() instead of strlcpy() (Lyude Paul) [1814893] - [media] media: cec: move compat_ioctl handling to cec-api.c (Lyude Paul) [1814893] - [media] media: cec: add support for 5V signal testing (Lyude Paul) [1814893] - [uapi] media: uapi/linux/cec.h: add 5V events (Lyude Paul) [1814893] - [scsi] compat_ioctl: move more drivers to compat_ptr_ioctl (Lyude Paul) [1814893] - [vhost] compat_ioctl: move drivers to compat_ptr_ioctl (Lyude Paul) [1814893] - [rtc] compat_ioctl: move rtc handling into drivers/rtc/dev.c (Lyude Paul) [1814893] - [fs] ceph: fix compat_ioctl for ceph_dir_operations (Lyude Paul) [1814893] - [fs] compat_sys_ioctl(): make parallel to do_vfs_ioctl() (Lyude Paul) [1814893] - [fs] compat: move FS_IOC_RESVSP_32 handling to fs/ioctl.c (Lyude Paul) [1814893] - [fs] do_vfs_ioctl(): use saner types (Lyude Paul) [1814893] - [fs] compat: itanic doesn't have one (Lyude Paul) [1814893] - [fs] FIGETBSZ: fix compat (Lyude Paul) [1814893] - [fs] fix compat handling of FICLONERANGE, FIDEDUPERANGE and FS_IOC_FIEMAP (Lyude Paul) [1814893] - [gpu] DRM Backport 5.3 -> 5.4 (Lyude Paul) [1814893] - [include] Add wait_var_event_interruptible() (Lyude Paul) [1814893] - [kernel] kthread: Add __kthread_should_park() (Lyude Paul) [1814893] - [kernel] PM / sleep: Refactor filesystems sync to reduce duplication (Lyude Paul) [1814893] - [fpga] drivers: Introduce device lookup variants by of_node (Lyude Paul) [1814893] - [s390] drivers: Introduce device lookup variants by name (Lyude Paul) [1814893] - [base] drivers: Add generic helper to match by of_node (Lyude Paul) [1814893] - [drm] kbuild: change *FLAGS_.o to take the path relative to $(obj) (Lyude Paul) [1814893] - [video] fbdev: lock_fb_info cannot fail (Lyude Paul) [1814893] - [video] fbdev/atyfb: lock_fb_info can't fail (Lyude Paul) [1814893] - [video] fbdev: sysfs files can't disappear before the device is gone (Lyude Paul) [1814893] - [video] fbcon: call fbcon_fb_(un)registered directly (Lyude Paul) [1814893] - [video] fbcon: Remove fbcon_has_exited (Lyude Paul) [1814893] - [video] fbcon: s/struct display/struct fbcon_display/ (Lyude Paul) [1814893] - [video] fbdev: locking check for fb_set_suspend (Lyude Paul) [1814893] - [tty] vt/fbcon: deinitialize resources in visual_init() after failed memory allocation (Lyude Paul) [1814893] - [video] fbcon: Don't reset logo_shown when logo is currently shown (Lyude Paul) [1814893] - [video] fbdev: fix WARNING in __alloc_pages_nodemask bug (Lyude Paul) [1814893] - [video] fbdev: fix divide error in fb_var_to_videomode (Lyude Paul) [1814893] - [video] fbdev: list all pci memory bars as conflicting apertures (Lyude Paul) [1814893]- [block] Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT" (Jeff Moyer) [1784478] - [fs] io_uring: reset -EBUSY error when io sq thread is waken up (Jeff Moyer) [1784478] - [fs] io_uring: don't add non-IO requests to iopoll pending list (Jeff Moyer) [1784478] - [fs] io_uring: don't use kiocb.private to store buf_index (Jeff Moyer) [1784478] - [fs] io_uring: cancel work if task_work_add() fails (Jeff Moyer) [1784478] - [fs] io_uring: remove dead check in io_splice() (Jeff Moyer) [1784478] - [fs] io_uring: fix FORCE_ASYNC req preparation (Jeff Moyer) [1784478] - [fs] io_uring: don't prepare DRAIN reqs twice (Jeff Moyer) [1784478] - [fs] io_uring: initialize ctx->sqo_wait earlier (Jeff Moyer) [1784478] - [fs] io_uring: polled fixed file must go through free iteration (Jeff Moyer) [1784478] - [fs] io_uring: fix zero len do_splice() (Jeff Moyer) [1784478] - [fs] io_uring: don't use 'fd' for openat/openat2/statx (Jeff Moyer) [1784478] - [fs] splice: move f_mode checks to do_{splice, tee}() (Jeff Moyer) [1784478] - [fs] io_uring: handle -EFAULT properly in io_uring_setup() (Jeff Moyer) [1784478] - [fs] io_uring: fix mismatched finish_wait() calls in io_uring_cancel_files() (Jeff Moyer) [1784478] - [fs] io_uring: punt splice async because of inode mutex (Jeff Moyer) [1784478] - [fs] io_uring: check non-sync defer_list carefully (Jeff Moyer) [1784478] - [fs] io_uring: fix extra put in sync_file_range() (Jeff Moyer) [1784478] - [fs] io_uring: use cond_resched() in io_ring_ctx_wait_and_kill() (Jeff Moyer) [1784478] - [fs] io_uring: use proper references for fallback_req locking (Jeff Moyer) [1784478] - [fs] io_uring: only force async punt if poll based retry can't handle it (Jeff Moyer) [1784478] - [fs] io_uring: enable poll retry for any file with ->read_iter / ->write_iter (Jeff Moyer) [1784478] - [fs] io_uring: statx must grab the file table for valid fd (Jeff Moyer) [1784478] - [fs] io_uring: only restore req->work for req that needs do completion (Jeff Moyer) [1784478] - [fs] io_uring: don't count rqs failed after current one (Jeff Moyer) [1784478] - [fs] io_uring: kill already cached timeout.seq_offset (Jeff Moyer) [1784478] - [fs] io_uring: fix cached_sq_head in io_timeout() (Jeff Moyer) [1784478] - [fs] io_uring: only post events in io_poll_remove_all() if we completed some (Jeff Moyer) [1784478] - [fs] io_uring: io_async_task_func() should check and honor cancelation (Jeff Moyer) [1784478] - [fs] io_uring: check for need to re-wait in polled async handling (Jeff Moyer) [1784478] - [fs] io_uring: correct O_NONBLOCK check for splice punt (Jeff Moyer) [1784478] - [fs] io_uring: restore req->work when canceling poll request (Jeff Moyer) [1784478] - [fs] io_uring: move all request init code in one place (Jeff Moyer) [1784478] - [fs] io_uring: keep all sqe->flags in req->flags (Jeff Moyer) [1784478] - [fs] io_uring: early submission req fail code (Jeff Moyer) [1784478] - [fs] io_uring: track mm through current->mm (Jeff Moyer) [1784478] - [fs] io_uring: remove obsolete @mm_fault (Jeff Moyer) [1784478] - [fs] io_uring: punt final io_ring_ctx wait-and-free to workqueue (Jeff Moyer) [1784478] - [fs] io_uring: fix fs cleanup on cqe overflow (Jeff Moyer) [1784478] - [fs] io_uring: don't read user-shared sqe flags twice (Jeff Moyer) [1784478] - [fs] io_uring: remove req init from io_get_req() (Jeff Moyer) [1784478] - [fs] io_uring: alloc req only after getting sqe (Jeff Moyer) [1784478] - [fs] io_uring: simplify io_get_sqring (Jeff Moyer) [1784478] - [fs] io_uring: do not always copy iovec in io_req_map_rw() (Jeff Moyer) [1784478] - [fs] io_uring: ensure openat sets O_LARGEFILE if needed (Jeff Moyer) [1784478] - [fs] io_uring: initialize fixed_file_data lock (Jeff Moyer) [1784478] - [fs] io_uring: remove redundant variable pointer nxt and io_wq_assign_next call (Jeff Moyer) [1784478] - [fs] io_uring: fix ctx refcounting in io_submit_sqes() (Jeff Moyer) [1784478] - [fs] io_uring: process requests completed with -EAGAIN on poll list (Jeff Moyer) [1784478] - [fs] io_uring: remove bogus RLIMIT_NOFILE check in file registration (Jeff Moyer) [1784478] - [fs] io_uring: use io-wq manager as backup task if task is exiting (Jeff Moyer) [1784478] - [fs] io_uring: grab task reference for poll requests (Jeff Moyer) [1784478] - [fs] io_uring: retry poll if we got woken with non-matching mask (Jeff Moyer) [1784478] - [fs] io_uring: add missing finish_wait() in io_sq_thread() (Jeff Moyer) [1784478] - [fs] io_uring: refactor file register/unregister/update handling (Jeff Moyer) [1784478] - [fs] io_uring: cleanup io_alloc_async_ctx() (Jeff Moyer) [1784478] - [fs] io_uring: fix missing 'return' in comment (Jeff Moyer) [1784478] - [fs] io-wq: handle hashed writes in chains (Jeff Moyer) [1784478] - [fs] io-uring: drop 'free_pfile' in struct io_file_put (Jeff Moyer) [1784478] - [fs] io-uring: drop completion when removing file (Jeff Moyer) [1784478] - [fs] io_uring: Fix ->data corruption on re-enqueue (Jeff Moyer) [1784478] - [fs] io-wq: close cancel gap for hashed linked work (Jeff Moyer) [1784478] - [uapi] io_uring: make spdxcheck.py happy (Jeff Moyer) [1784478] - [fs] io_uring: honor original task RLIMIT_FSIZE (Jeff Moyer) [1784478] - [fs] io_uring: make sure accept honor rlimit nofile (Jeff Moyer) [1784478] - [fs] io_uring: make sure openat/openat2 honor rlimit nofile (Jeff Moyer) [1784478] - [fs] io-wq: hash dependent work (Jeff Moyer) [1784478] - [fs] io-wq: split hashing and enqueueing (Jeff Moyer) [1784478] - [fs] io-wq: don't resched if there is no work (Jeff Moyer) [1784478] - [fs] io_uring: NULL-deref for IOSQE_{ASYNC,DRAIN} (Jeff Moyer) [1784478] - [fs] io-wq: remove duplicated cancel code (Jeff Moyer) [1784478] - [fs] io_uring: fix truncated async read/readv and write/writev retry (Jeff Moyer) [1784478] - [uapi] io_uring: dual license io_uring.h uapi header (Jeff Moyer) [1784478] - [fs] io_uring: io_uring_enter(2) don't poll while SETUP_IOPOLL|SETUP_SQPOLL enabled (Jeff Moyer) [1784478] - [fs] io_uring: Fix unused function warnings (Jeff Moyer) [1784478] - [fs] io_uring: add end-of-bits marker and build time verify it (Jeff Moyer) [1784478] - [fs] io_uring: provide means of removing buffers (Jeff Moyer) [1784478] - [fs] io_uring: add IOSQE_BUFFER_SELECT support for IORING_OP_RECVMSG (Jeff Moyer) [1784478] - [net] net: abstract out normal and compat msghdr import (Jeff Moyer) [1784478] - [fs] io_uring: add IOSQE_BUFFER_SELECT support for IORING_OP_READV (Jeff Moyer) [1784478] - [fs] io_uring: support buffer selection for OP_READ and OP_RECV (Jeff Moyer) [1784478] - [fs] io_uring: add IORING_OP_PROVIDE_BUFFERS (Jeff Moyer) [1784478] - [fs] io_uring: ensure RCU callback ordering with rcu_barrier() (Jeff Moyer) [1784478] - [fs] io_uring: fix lockup with timeouts (Jeff Moyer) [1784478] - [fs] io_uring: free fixed_file_data after RCU grace period (Jeff Moyer) [1784478] - [fs] io_uring: buffer registration infrastructure (Jeff Moyer) [1784478] - [fs] io_uring/io-wq: forward submission ref to async (Jeff Moyer) [1784478] - [fs] io-wq: optimise out *next_work() double lock (Jeff Moyer) [1784478] - [fs] io-wq: optimise locking in io_worker_handle_work() (Jeff Moyer) [1784478] - [fs] io-wq: shuffle io_worker_handle_work() code (Jeff Moyer) [1784478] - [fs] io_uring: get next work with submission ref drop (Jeff Moyer) [1784478] - [fs] io_uring: remove @nxt from handlers (Jeff Moyer) [1784478] - [fs] io_uring: make submission ref putting consistent (Jeff Moyer) [1784478] - [fs] io_uring: clean up io_close (Jeff Moyer) [1784478] - [fs] io_uring: Ensure mask is initialized in io_arm_poll_handler (Jeff Moyer) [1784478] - [fs] io_uring: remove io_prep_next_work() (Jeff Moyer) [1784478] - [fs] io_uring: remove extra nxt check after punt (Jeff Moyer) [1784478] - [fs] io_uring: use poll driven retry for files that support it (Jeff Moyer) [1784478] - [fs] io_uring: mark requests that we can do poll async in io_op_defs (Jeff Moyer) [1784478] - [fs] io_uring: add per-task callback handler (Jeff Moyer) [1784478] - [fs] io_uring: store io_kiocb in wait->private (Jeff Moyer) [1784478] - [fs] io-wq: use BIT for ulong hash (Jeff Moyer) [1784478] - [fs] io_uring: remove IO_WQ_WORK_CB (Jeff Moyer) [1784478] - [fs] io-wq: remove unused IO_WQ_WORK_HAS_MM (Jeff Moyer) [1784478] - [fs] io_uring: extract kmsg copy helper (Jeff Moyer) [1784478] - [fs] io_uring: clean io_poll_complete (Jeff Moyer) [1784478] - [fs] io_uring: add splice(2) support (Jeff Moyer) [1784478] - [fs] io_uring: add interface for getting files (Jeff Moyer) [1784478] - [fs] splice: make do_splice public (Jeff Moyer) [1784478] - [fs] io_uring: remove req->in_async (Jeff Moyer) [1784478] - [fs] io_uring: don't do full *prep_worker() from io-wq (Jeff Moyer) [1784478] - [fs] io_uring: don't call work.func from sync ctx (Jeff Moyer) [1784478] - [fs] io_uring: io_accept() should hold on to submit reference on retry (Jeff Moyer) [1784478] - [fs] io_uring: consider any io_read/write -EAGAIN as final (Jeff Moyer) [1784478] - [fs] io-wq: remove io_wq_flush and IO_WQ_WORK_INTERNAL (Jeff Moyer) [1784478] - [fs] io-wq: fix IO_WQ_WORK_NO_CANCEL cancellation (Jeff Moyer) [1784478] - [fs] io_uring: fix 32-bit compatability with sendmsg/recvmsg (Jeff Moyer) [1784478] - [fs] io_uring: define and set show_fdinfo only if procfs is enabled (Jeff Moyer) [1784478] - [fs] io_uring: drop file set ref put/get on switch (Jeff Moyer) [1784478] - [fs] io_uring: import_single_range() returns 0/-ERROR (Jeff Moyer) [1784478] - [fs] io_uring: pick up link work on submit reference drop (Jeff Moyer) [1784478] - [fs] io-wq: ensure work->task_pid is cleared on init (Jeff Moyer) [1784478] - [fs] io-wq: remove spin-for-work optimization (Jeff Moyer) [1784478] - [fs] io_uring: fix poll_list race for SETUP_IOPOLL|SETUP_SQPOLL (Jeff Moyer) [1784478] - [fs] io_uring: fix personality idr leak (Jeff Moyer) [1784478] - [fs] io_uring: handle multiple personalities in link chains (Jeff Moyer) [1784478] - [fs] io_uring: fix __io_iopoll_check deadlock in io_sq_thread (Jeff Moyer) [1784478] - [fs] io_uring: prevent sq_thread from spinning when it should stop (Jeff Moyer) [1784478] - [fs] io_uring: fix use-after-free by io_cleanup_req() (Jeff Moyer) [1784478] - [fs] io_uring: remove unnecessary NULL checks (Jeff Moyer) [1784478] - [fs] io_uring: add missing io_req_cancelled() (Jeff Moyer) [1784478] - [fs] io_uring: prune request from overflow list on flush (Jeff Moyer) [1784478] - [fs] io-wq: don't call kXalloc_node() with non-online node (Jeff Moyer) [1784478] - [fs] io_uring: retain sockaddr_storage across send/recvmsg async punt (Jeff Moyer) [1784478] - [fs] io_uring: cancel pending async work if task exits (Jeff Moyer) [1784478] - [fs] io-wq: add io_wq_cancel_pid() to cancel based on a specific pid (Jeff Moyer) [1784478] - [fs] io-wq: make io_wqe_cancel_work() take a match handler (Jeff Moyer) [1784478] - [fs] io_uring: fix openat/statx's filename leak (Jeff Moyer) [1784478] - [fs] io_uring: fix double prep iovec leak (Jeff Moyer) [1784478] - [fs] io_uring: fix async close() with f_op->flush() (Jeff Moyer) [1784478] - [fs] io_uring: allow AT_FDCWD for non-file openat/openat2/statx (Jeff Moyer) [1784478] - [fs] io_uring: grab ->fs as part of async preparation (Jeff Moyer) [1784478] - [fs] io-wq: add support for inheriting ->fs (Jeff Moyer) [1784478] - [fs] io_uring: retry raw bdev writes if we hit -EOPNOTSUPP (Jeff Moyer) [1784478] - [fs] io_uring: add cleanup for openat()/statx() (Jeff Moyer) [1784478] - [fs] io_uring: fix iovec leaks (Jeff Moyer) [1784478] - [fs] io_uring: remove unused struct io_async_open (Jeff Moyer) [1784478] - [fs] io_uring: flush overflowed CQ events in the io_uring_poll() (Jeff Moyer) [1784478] - [fs] io_uring: statx/openat/openat2 don't support fixed files (Jeff Moyer) [1784478] - [fs] io_uring: fix deferred req iovec leak (Jeff Moyer) [1784478] - [fs] io_uring: fix 1-bit bitfields to be unsigned (Jeff Moyer) [1784478] - [fs] io_uring: get rid of delayed mm check (Jeff Moyer) [1784478] - [fs] io_uring: cleanup fixed file data table references (Jeff Moyer) [1784478] - [fs] io_uring: spin for sq thread to idle on shutdown (Jeff Moyer) [1784478] - [fs] io_uring: put the flag changing code in the same spot (Jeff Moyer) [1784478] - [fs] io_uring: iterate req cache backwards (Jeff Moyer) [1784478] - [fs] io_uring: punt even fadvise() WILLNEED to async context (Jeff Moyer) [1784478] - [fs] io_uring: fix sporadic double CQE entry for close (Jeff Moyer) [1784478] - [fs] io_uring: remove extra ->file check (Jeff Moyer) [1784478] - [fs] io_uring: don't map read/write iovec potentially twice (Jeff Moyer) [1784478] - [fs] io_uring: use the proper helpers for io_send/recv (Jeff Moyer) [1784478] - [fs] io_uring: prevent potential eventfd recursion on poll (Jeff Moyer) [1784478] - [fs] eventfd: track eventfd_signal() recursion depth (Jeff Moyer) [1784478] - [fs] io_uring: add BUILD_BUG_ON() to assert the layout of struct io_uring_sqe (Jeff Moyer) [1784478] - [fs] io_uring: add ->show_fdinfo() for the io_uring file descriptor (Jeff Moyer) [1784478] - [fs] io_uring: add support for epoll_ctl(2) (Jeff Moyer) [1784478] - [fs] eventpoll: support non-blocking do_epoll_ctl() calls (Jeff Moyer) [1784478] - [fs] eventpoll: abstract out epoll_ctl() handler (Jeff Moyer) [1784478] - [fs] io_uring: fix linked command file table usage (Jeff Moyer) [1784478] - [fs] io_uring: support using a registered personality for commands (Jeff Moyer) [1784478] - [fs] io_uring: allow registering credentials (Jeff Moyer) [1784478] - [fs] io_uring: add io-wq workqueue sharing (Jeff Moyer) [1784478] - [fs] io-wq: allow grabbing existing io-wq (Jeff Moyer) [1784478] - [fs] io_uring/io-wq: don't use static creds/mm assignments (Jeff Moyer) [1784478] - [fs] io-wq: make the io_wq ref counted (Jeff Moyer) [1784478] - [fs] io_uring: fix refcounting with batched allocations at OOM (Jeff Moyer) [1784478] - [fs] io_uring: add comment for drain_next (Jeff Moyer) [1784478] - [fs] io_uring: don't attempt to copy iovec for READ/WRITE (Jeff Moyer) [1784478] - [fs] io_uring: don't cancel all work on process exit (Jeff Moyer) [1784478] - [fs] Revert "io_uring: only allow submit from owning task" (Jeff Moyer) [1784478] - [fs] io_uring: honor IOSQE_ASYNC for linked reqs (Jeff Moyer) [1784478] - [fs] io_uring: prep req when do IOSQE_ASYNC (Jeff Moyer) [1784478] - [fs] io_uring: use labeled array init in io_op_defs (Jeff Moyer) [1784478] - [fs] io_uring: optimise sqe-to-req flags translation (Jeff Moyer) [1784478] - [fs] io_uring: remove REQ_F_IO_DRAINED (Jeff Moyer) [1784478] - [fs] io_uring: file switch work needs to get flushed on exit (Jeff Moyer) [1784478] - [fs] io_uring: hide uring_fd in ctx (Jeff Moyer) [1784478] - [fs] io_uring: remove extra check in __io_commit_cqring (Jeff Moyer) [1784478] - [fs] io_uring: optimise use of ctx->drain_next (Jeff Moyer) [1784478] - [fs] RHEL-only: Add IORING_OP_OPENAT2 opcode (Jeff Moyer) [1784478] - [fs] io_uring: add support for probing opcodes (Jeff Moyer) [1784478] - [fs] io_uring: account fixed file references correctly in batch (Jeff Moyer) [1784478] - [fs] io_uring: add opcode to issue trace event (Jeff Moyer) [1784478] - [fs] io_uring: enable option to only trigger eventfd for async completions (Jeff Moyer) [1784478] - [fs] io_uring: change io_ring_ctx bool fields into bit fields (Jeff Moyer) [1784478] - [fs] io_uring: file set registration should use interruptible waits (Jeff Moyer) [1784478] - [fs] io_uring: Remove unnecessary null check (Jeff Moyer) [1784478] - [fs] io_uring: add support for send(2) and recv(2) (Jeff Moyer) [1784478] - [fs] io_uring: remove extra io_wq_current_is_worker() (Jeff Moyer) [1784478] - [fs] io_uring: optimise commit_sqring() for common case (Jeff Moyer) [1784478] - [fs] io_uring: optimise head checks in io_get_sqring() (Jeff Moyer) [1784478] - [fs] io_uring: clamp to_submit in io_submit_sqes() (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_SETUP_CLAMP (Jeff Moyer) [1784478] - [fs] io_uring: extend batch freeing to cover more cases (Jeff Moyer) [1784478] - [fs] io_uring: wrap multi-req freeing in struct req_batch (Jeff Moyer) [1784478] - [fs] io_uring: batch getting pcpu references (Jeff Moyer) [1784478] - [include] pcpu_ref: add percpu_ref_tryget_many() (Jeff Moyer) [1784478] - [fs] io_uring: add IORING_OP_MADVISE (Jeff Moyer) [1784478] - [mm] mm: make do_madvise() available internally (Jeff Moyer) [1784478] - [fs] io_uring: add IORING_OP_FADVISE (Jeff Moyer) [1784478] - [fs] io_uring: allow use of offset == -1 to mean file position (Jeff Moyer) [1784478] - [fs] io_uring: add non-vectored read/write commands (Jeff Moyer) [1784478] - [fs] io_uring: improve poll completion performance (Jeff Moyer) [1784478] - [fs] io_uring: split overflow state into SQ and CQ side (Jeff Moyer) [1784478] - [fs] io_uring: add lookup table for various opcode needs (Jeff Moyer) [1784478] - [fs] io_uring: remove two unnecessary function declarations (Jeff Moyer) [1784478] - [fs] io_uring: move *queue_link_head() from common path (Jeff Moyer) [1784478] - [fs] io_uring: rename prev to head (Jeff Moyer) [1784478] - [fs] io_uring: add IOSQE_ASYNC (Jeff Moyer) [1784478] - [fs] io-wq: support concurrent non-blocking work (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_STATX (Jeff Moyer) [1784478] - [fs] fs: make two stat prep helpers available (Jeff Moyer) [1784478] - [fs] io_uring: avoid ring quiesce for fixed file set unregister and update (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_CLOSE (Jeff Moyer) [1784478] - [fs] io-wq: add support for uncancellable work (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_OPENAT (Jeff Moyer) [1784478] - [fs] fs: make build_open_flags() available internally (Jeff Moyer) [1784478] - [fs] io_uring: add support for fallocate() (Jeff Moyer) [1784478] - [fs] io_uring: fix compat for IORING_REGISTER_FILES_UPDATE (Jeff Moyer) [1784478] - [fs] io_uring: only allow submit from owning task (Jeff Moyer) [1784478] - [fs] io_uring: ensure workqueue offload grabs ring mutex for poll list (Jeff Moyer) [1784478] - [fs] io_uring: clear req->result always before issuing a read/write request (Jeff Moyer) [1784478] - [fs] io_uring: be consistent in assigning next work from handler (Jeff Moyer) [1784478] - [fs] io-wq: cancel work if we fail getting a mm reference (Jeff Moyer) [1784478] - [fs] io_uring: don't setup async context for read/write fixed (Jeff Moyer) [1784478] - [fs] io_uring: remove punt of short reads to async context (Jeff Moyer) [1784478] - [fs] io-wq: add cond_resched() to worker thread (Jeff Moyer) [1784478] - [fs] io-wq: remove unused busy list from io_sqe (Jeff Moyer) [1784478] - [fs] io_uring: pass in 'sqe' to the prep handlers (Jeff Moyer) [1784478] - [fs] io_uring: standardize the prep methods (Jeff Moyer) [1784478] - [fs] io_uring: read 'count' for IORING_OP_TIMEOUT in prep handler (Jeff Moyer) [1784478] - [fs] io_uring: move all prep state for IORING_OP_{SEND, RECV}_MGS to prep handler (Jeff Moyer) [1784478] - [fs] io_uring: move all prep state for IORING_OP_CONNECT to prep handler (Jeff Moyer) [1784478] - [fs] io_uring: add and use struct io_rw for read/writes (Jeff Moyer) [1784478] - [fs] io_uring: use u64_to_user_ptr() consistently (Jeff Moyer) [1784478] - [fs] io_uring: io_wq_submit_work() should not touch req->rw (Jeff Moyer) [1784478] - [fs] io_uring: don't wait when under-submitting (Jeff Moyer) [1784478] - [fs] io_uring: warn about unhandled opcode (Jeff Moyer) [1784478] - [fs] io_uring: read opcode and user_data from SQE exactly once (Jeff Moyer) [1784478] - [fs] io_uring: make IORING_OP_TIMEOUT_REMOVE deferrable (Jeff Moyer) [1784478] - [fs] io_uring: make IORING_OP_CANCEL_ASYNC deferrable (Jeff Moyer) [1784478] - [fs] io_uring: make IORING_POLL_ADD and IORING_POLL_REMOVE deferrable (Jeff Moyer) [1784478] - [fs] io_uring: make HARDLINK imply LINK (Jeff Moyer) [1784478] - [fs] io_uring: any deferred command must have stable sqe data (Jeff Moyer) [1784478] - [fs] io_uring: remove 'sqe' parameter to the OP helpers that take it (Jeff Moyer) [1784478] - [fs] io_uring: fix pre-prepped issue with force_nonblock == true (Jeff Moyer) [1784478] - [fs] io-wq: re-add io_wq_current_is_worker() (Jeff Moyer) [1784478] - [fs] io_uring: fix sporadic -EFAULT from IORING_OP_RECVMSG (Jeff Moyer) [1784478] - [fs] io_uring: fix stale comment and a few typos (Jeff Moyer) [1784478] - [fs] io_uring: ensure we return -EINVAL on unknown opcode (Jeff Moyer) [1784478] - [fs] io_uring: add sockets to list of files that support non-blocking issue (Jeff Moyer) [1784478] - [net] net: make socket read/write_iter() honor IOCB_NOWAIT (Jeff Moyer) [1784478] - [fs] io_uring: only hash regular files for async work execution (Jeff Moyer) [1784478] - [fs] io_uring: run next sqe inline if possible (Jeff Moyer) [1784478] - [fs] io_uring: don't dynamically allocate poll data (Jeff Moyer) [1784478] - [fs] io_uring: deferred send/recvmsg should assign iov (Jeff Moyer) [1784478] - [fs] io_uring: sqthread should grab ctx->uring_lock for submissions (Jeff Moyer) [1784478] - [fs] io-wq: briefly spin for new work after finishing work (Jeff Moyer) [1784478] - [fs] io-wq: remove worker->wait waitqueue (Jeff Moyer) [1784478] - [fs] io_uring: allow unbreakable links (Jeff Moyer) [1784478] - [fs] io_uring: fix a typo in a comment (Jeff Moyer) [1784478] - [fs] io_uring: hook all linked requests via link_list (Jeff Moyer) [1784478] - [fs] io_uring: fix error handling in io_queue_link_head (Jeff Moyer) [1784478] - [fs] io_uring: use hash table for poll command lookups (Jeff Moyer) [1784478] - [fs] io-wq: clear node->next on list deletion (Jeff Moyer) [1784478] - [fs] io_uring: ensure deferred timeouts copy necessary data (Jeff Moyer) [1784478] - [fs] io_uring: allow IO_SQE_* flags on IORING_OP_TIMEOUT (Jeff Moyer) [1784478] - [fs] io_uring: handle connect -EINPROGRESS like -EAGAIN (Jeff Moyer) [1784478] - [fs] io_uring: remove io_wq_current_is_worker (Jeff Moyer) [1784478] - [fs] io_uring: remove parameter ctx of io_submit_state_start (Jeff Moyer) [1784478] - [fs] io_uring: mark us with IORING_FEAT_SUBMIT_STABLE (Jeff Moyer) [1784478] - [fs] io_uring: ensure async punted connect requests copy data (Jeff Moyer) [1784478] - [fs] io_uring: ensure async punted sendmsg/recvmsg requests copy data (Jeff Moyer) [1784478] - [fs] io_uring: ensure async punted read/write requests copy iovec (Jeff Moyer) [1784478] - [fs] io_uring: add general async offload context (Jeff Moyer) [1784478] - [fs] io_uring: transform send/recvmsg() -ERESTARTSYS to -EINTR (Jeff Moyer) [1784478] - [fs] io_uring: use current task creds instead of allocating a new one (Jeff Moyer) [1784478] - [fs] io_uring: fix missing kmap() declaration on powerpc (Jeff Moyer) [1784478] - [fs] io_uring: add mapping support for NOMMU archs (Jeff Moyer) [1784478] - [fs] io_uring: make poll->wait dynamically allocated (Jeff Moyer) [1784478] - [fs] io-wq: shrink io_wq_work a bit (Jeff Moyer) [1784478] - [fs] io-wq: fix handling of NUMA node IDs (Jeff Moyer) [1784478] - [fs] io_uring: use kzalloc instead of kcalloc for single-element allocations (Jeff Moyer) [1784478] - [fs] io_uring: cleanup io_import_fixed() (Jeff Moyer) [1784478] - [fs] io_uring: inline struct sqe_submit (Jeff Moyer) [1784478] - [fs] io_uring: store timeout's sqe->off in proper place (Jeff Moyer) [1784478] - [net] net: disallow ancillary data for __sys_{send, recv}msg_file() (Jeff Moyer) [1784478] - [net] net: separate out the msghdr copy from ___sys_{send, recv}msg() (Jeff Moyer) [1784478] - [fs] io_uring: remove superfluous check for sqe->off in io_accept() (Jeff Moyer) [1784478] - [fs] io_uring: async workers should inherit the user creds (Jeff Moyer) [1784478] - [fs] io-wq: have io_wq_create() take a 'data' argument (Jeff Moyer) [1784478] - [fs] io_uring: fix dead-hung for non-iter fixed rw (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_CONNECT (Jeff Moyer) [1784478] - [net] net: add __sys_connect_file() helper (Jeff Moyer) [1784478] - [fs] io_uring: only return -EBUSY for submit on non-flushed backlog (Jeff Moyer) [1784478] - [fs] io_uring: only !null ptr to io_issue_sqe() (Jeff Moyer) [1784478] - [fs] io_uring: simplify io_req_link_next() (Jeff Moyer) [1784478] - [fs] io_uring: pass only !null to io_req_find_next() (Jeff Moyer) [1784478] - [fs] io_uring: remove io_free_req_find_next() (Jeff Moyer) [1784478] - [fs] io_uring: add likely/unlikely in io_get_sqring() (Jeff Moyer) [1784478] - [fs] io_uring: rename __io_submit_sqe() (Jeff Moyer) [1784478] - [fs] io_uring: improve trace_io_uring_defer() trace point (Jeff Moyer) [1784478] - [fs] io_uring: drain next sqe instead of shadowing (Jeff Moyer) [1784478] - [fs] io_uring: close lookup gap for dependent next work (Jeff Moyer) [1784478] - [fs] io_uring: allow finding next link independent of req reference count (Jeff Moyer) [1784478] - [fs] io_uring: io_allocate_scq_urings() should return a sane state (Jeff Moyer) [1784478] - [fs] io_uring: Always REQ_F_FREE_SQE for allocated sqe (Jeff Moyer) [1784478] - [fs] io_uring: io_fail_links() should only consider first linked timeout (Jeff Moyer) [1784478] - [fs] io_uring: Fix leaking linked timeouts (Jeff Moyer) [1784478] - [fs] io_uring: remove redundant check (Jeff Moyer) [1784478] - [fs] io_uring: break links for failed defer (Jeff Moyer) [1784478] - [fs] io-wq: remove extra space characters (Jeff Moyer) [1784478] - [fs] io-wq: wait for io_wq_create() to setup necessary workers (Jeff Moyer) [1784478] - [fs] io_uring: request cancellations should break links (Jeff Moyer) [1784478] - [fs] io_uring: correct poll cancel and linked timeout expiration completion (Jeff Moyer) [1784478] - [fs] io_uring: remove dead REQ_F_SEQ_PREV flag (Jeff Moyer) [1784478] - [fs] io_uring: fix sequencing issues with linked timeouts (Jeff Moyer) [1784478] - [fs] io_uring: make req->timeout be dynamically allocated (Jeff Moyer) [1784478] - [fs] io_uring: make io_double_put_req() use normal completion path (Jeff Moyer) [1784478] - [fs] io_uring: cleanup return values from the queueing functions (Jeff Moyer) [1784478] - [fs] io_uring: io_async_cancel() should pass in 'nxt' request pointer (Jeff Moyer) [1784478] - [fs] io_uring: make POLL_ADD/POLL_REMOVE scale better (Jeff Moyer) [1784478] - [fs] io-wq: remove now redundant struct io_wq_nulls_list (Jeff Moyer) [1784478] - [fs] io_uring: Fix getting file for non-fd opcodes (Jeff Moyer) [1784478] - [fs] io_uring: introduce req_need_defer() (Jeff Moyer) [1784478] - [fs] io_uring: clean up io_uring_cancel_files() (Jeff Moyer) [1784478] - [fs] io-wq: ensure free/busy list browsing see all items (Jeff Moyer) [1784478] - [fs] io_uring: ensure registered buffer import returns the IO length (Jeff Moyer) [1784478] - [fs] io_uring: Fix getting file for timeout (Jeff Moyer) [1784478] - [fs] io-wq: ensure we have a stable view of ->cur_work for cancellations (Jeff Moyer) [1784478] - [fs] io_wq: add get/put_work handlers to io_wq_create() (Jeff Moyer) [1784478] - [fs] io_uring: check for validity of ->rings in teardown (Jeff Moyer) [1784478] - [fs] io_uring: fix potential deadlock in io_poll_wake() (Jeff Moyer) [1784478] - [fs] io_uring: use correct "is IO worker" helper (Jeff Moyer) [1784478] - [fs] io_uring: make timeout sequence == 0 mean no sequence (Jeff Moyer) [1784478] - [fs] io_uring: fix -ENOENT issue with linked timer with short timeout (Jeff Moyer) [1784478] - [fs] io_uring: don't do flush cancel under inflight_lock (Jeff Moyer) [1784478] - [fs] io_uring: flag SQPOLL busy condition to userspace (Jeff Moyer) [1784478] - [fs] io_uring: make ASYNC_CANCEL work with poll and timeout (Jeff Moyer) [1784478] - [fs] io_uring: provide fallback request for OOM situations (Jeff Moyer) [1784478] - [fs] io_uring: convert accept4() -ERESTARTSYS into -EINTR (Jeff Moyer) [1784478] - [fs] io_uring: fix error clear of ->file_table in io_sqe_files_register() (Jeff Moyer) [1784478] - [fs] io_uring: separate the io_free_req and io_free_req_find_next interface (Jeff Moyer) [1784478] - [fs] io_uring: keep io_put_req only responsible for release and put req (Jeff Moyer) [1784478] - [fs] io_uring: remove passed in 'ctx' function parameter ctx if possible (Jeff Moyer) [1784478] - [fs] io_uring: reduce/pack size of io_ring_ctx (Jeff Moyer) [1784478] - [fs] io_uring: properly mark async work as bounded vs unbounded (Jeff Moyer) [1784478] - [fs] io-wq: add support for bounded vs unbunded work (Jeff Moyer) [1784478] - [fs] io-wq: io_wqe_run_queue() doesn't need to use list_empty_careful() (Jeff Moyer) [1784478] - [fs] io_uring: add support for backlogged CQ ring (Jeff Moyer) [1784478] - [fs] io_uring: pass in io_kiocb to fill/add CQ handlers (Jeff Moyer) [1784478] - [fs] io_uring: make io_cqring_events() take 'ctx' as argument (Jeff Moyer) [1784478] - [fs] io_uring: add support for linked SQE timeouts (Jeff Moyer) [1784478] - [fs] io_uring: abstract out io_async_cancel_one() helper (Jeff Moyer) [1784478] - [fs] io_uring: use inlined struct sqe_submit (Jeff Moyer) [1784478] - [fs] io_uring: Use submit info inlined into req (Jeff Moyer) [1784478] - [fs] io_uring: allocate io_kiocb upfront (Jeff Moyer) [1784478] - [fs] io_uring: io_queue_link*() right after submit (Jeff Moyer) [1784478] - [fs] io_uring: Merge io_submit_sqes and io_ring_submit (Jeff Moyer) [1784478] - [fs] io_uring: kill dead REQ_F_LINK_DONE flag (Jeff Moyer) [1784478] - [fs] io_uring: fixup a few spots where link failure isn't flagged (Jeff Moyer) [1784478] - [fs] io_uring: enable optimized link handling for IORING_OP_POLL_ADD (Jeff Moyer) [1784478] - [fs] io-wq: use proper nesting IRQ disabling spinlocks for cancel (Jeff Moyer) [1784478] - [fs] io_uring: add completion trace event (Jeff Moyer) [1784478] - [fs] io-wq: use kfree_rcu() to simplify the code (Jeff Moyer) [1784478] - [fs] io_uring: set -EINTR directly when a signal wakes up in io_cqring_wait (Jeff Moyer) [1784478] - [fs] io_uring: support for generic async request cancel (Jeff Moyer) [1784478] - [fs] io_uring: ensure we clear io_kiocb->result before each issue (Jeff Moyer) [1784478] - [fs] io_uring: io_wq_create() returns an error pointer, not NULL (Jeff Moyer) [1784478] - [fs] io_uring: fix race with canceling timeouts (Jeff Moyer) [1784478] - [fs] io_uring: support for larger fixed file sets (Jeff Moyer) [1784478] - [fs] io_uring: protect fixed file indexing with array_index_nospec() (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_ACCEPT (Jeff Moyer) [1784478] - [net] net: add __sys_accept4_file() helper (Jeff Moyer) [1784478] - [fs] io_uring: io_uring: add support for async work inheriting files (Jeff Moyer) [1784478] - [fs] io_uring: replace workqueue usage with io-wq (Jeff Moyer) [1784478] - [fs] io-wq: small threadpool implementation for io_uring (Jeff Moyer) [1784478] - [fs] io_uring: Fix mm_fault with READ/WRITE_FIXED (Jeff Moyer) [1784478] - [fs] io_uring: remove index from sqe_submit (Jeff Moyer) [1784478] - [fs] io_uring: add set of tracing events (Jeff Moyer) [1784478] - [fs] io_uring: add support for canceling timeout requests (Jeff Moyer) [1784478] - [fs] io_uring: add support for absolute timeouts (Jeff Moyer) [1784478] - [fs] io_uring: replace s->needs_lock with s->in_async (Jeff Moyer) [1784478] - [fs] io_uring: allow application controlled CQ ring size (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_REGISTER_FILES_UPDATE (Jeff Moyer) [1784478] - [fs] io_uring: allow sparse fixed file sets (Jeff Moyer) [1784478] - [fs] io_uring: run dependent links inline if possible (Jeff Moyer) [1784478] - [fs] io_uring: don't touch ctx in setup after ring fd install (Jeff Moyer) [1784478] - [fs] io_uring: Fix leaked shadow_req (Jeff Moyer) [1784478] - [fs] io_uring: fix bad inflight accounting for SETUP_IOPOLL|SETUP_SQTHREAD (Jeff Moyer) [1784478] - [fs] io_uring: used cached copies of sq->dropped and cq->overflow (Jeff Moyer) [1784478] - [fs] io_uring: Fix race for sqes with userspace (Jeff Moyer) [1784478] - [fs] io_uring: Fix broken links with offloading (Jeff Moyer) [1784478] - [fs] io_uring: Fix corrupted user_data (Jeff Moyer) [1784478] - [fs] io_uring: correct timeout req sequence when inserting a new entry (Jeff Moyer) [1784478] - [fs] io_uring : correct timeout req sequence when waiting timeout (Jeff Moyer) [1784478] - [fs] io_uring: revert "io_uring: optimize submit_and_wait API" (Jeff Moyer) [1784478] - [fs] io_uring: fix logic error in io_timeout (Jeff Moyer) [1784478] - [fs] io_uring: fix up O_NONBLOCK handling for sockets (Jeff Moyer) [1784478] - [fs] io_uring: consider the overflow of sequence for timeout req (Jeff Moyer) [1784478] - [fs] io_uring: fix sequence logic for timeout requests (Jeff Moyer) [1784478] - [fs] io_uring: only flush workqueues on fileset removal (Jeff Moyer) [1784478] - [fs] io_uring: remove wait loop spurious wakeups (Jeff Moyer) [1784478] - [fs] io_uring: fix reversed nonblock flag for link submission (Jeff Moyer) [1784478] - [fs] io_uring: use __kernel_timespec in timeout ABI (Jeff Moyer) [1784478] - [fs] io_uring: make CQ ring wakeups be more efficient (Jeff Moyer) [1784478] - [fs] io_uring: compare cached_cq_tail with cq.head in_io_uring_poll (Jeff Moyer) [1784478] - [fs] io_uring: correctly handle non ->{read, write}_iter() file_operations (Jeff Moyer) [1784478] - [fs] io_uring: IORING_OP_TIMEOUT support (Jeff Moyer) [1784478] - [fs] io_uring: use cond_resched() in sqthread (Jeff Moyer) [1784478] - [fs] io_uring: fix potential crash issue due to io_get_req failure (Jeff Moyer) [1784478] - [fs] io_uring: ensure poll commands clear ->sqe (Jeff Moyer) [1784478] - [fs] io_uring: fix use-after-free of shadow_req (Jeff Moyer) [1784478] - [fs] io_uring: use kmemdup instead of kmalloc and memcpy (Jeff Moyer) [1784478] - [fs] io_uring: increase IORING_MAX_ENTRIES to 32K (Jeff Moyer) [1784478] - [fs] io_uring: make sqpoll wakeup possible with getevents (Jeff Moyer) [1784478] - [fs] io_uring: extend async work merging (Jeff Moyer) [1784478] - [fs] io_uring: limit parallelism of buffered writes (Jeff Moyer) [1784478] - [fs] io_uring: add io_queue_async_work() helper (Jeff Moyer) [1784478] - [fs] io_uring: optimize submit_and_wait API (Jeff Moyer) [1784478] - [fs] io_uring: add support for link with drain (Jeff Moyer) [1784478] - [fs] io_uring: fix wrong sequence setting logic (Jeff Moyer) [1784478] - [fs] io_uring: expose single mmap capability (Jeff Moyer) [1784478] - [fs] io_uring: allocate the two rings together (Jeff Moyer) [1784478] - [lib] percpu_ref: release percpu memory early without PERCPU_REF_ALLOW_REINIT (Jeff Moyer) [1784478] - [fs] io_uring: initialize percpu refcounters using PERCU_REF_ALLOW_REINIT (Jeff Moyer) [1784478] - [include] percpu_ref: introduce PERCPU_REF_ALLOW_REINIT flag (Jeff Moyer) [1784478] - [fs] binder: fix use-after-free due to ksys_close() during fdget() (Jeff Moyer) [1784478] - [init] RHEL-only: Enable io_uring for x86 builds (Jeff Moyer) [1784478] - [arm64] compat: ARM64: always include asm-generic/compat.h (Jeff Moyer) [1784478] - [include] asm-generic: Move common compat types to asm-generic/compat.h (Jeff Moyer) [1784478]- [fs] coredump: fix crash when umh is disabled (Yauheni Kaliuta) [1845114] - [kernel] umh: fix memory leak on execve failure (Yauheni Kaliuta) [1845114] - [net] bpf: Replace zero-length array with flexible-array member (Yauheni Kaliuta) [1845114] - [net] bpf: Fix returned error sign when link doesn't support updates (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Don't attach programs to UDP sockets (Yauheni Kaliuta) [1845114] - [net] bpf: cgroup: Allow multi-attach program to replace itself (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: use struct timespec instead of __kernel_timespec (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix bpf_link leak in ns_current_pid_tgid selftest (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix test_align verifier log patterns (Yauheni Kaliuta) [1845114] - [net] bpf, cgroup: Return ENOLINK for auto-detached links on update (Yauheni Kaliuta) [1845114] - [net] bpf: Refactor bpf_link update handling (Yauheni Kaliuta) [1845114] - [tools] bpf, selftests: Add a verifier test for assigning 32bit reg states to 64bit ones (Yauheni Kaliuta) [1845114] - [tools] bpf, selftests: Verifier bounds tests need to be updated (Yauheni Kaliuta) [1845114] - [net] bpf: Fix a verifier issue when assigning 32bit reg states to 64bit ones (Yauheni Kaliuta) [1845114] - [net] bpf: Fix use-after-free in fmod_ret check (Yauheni Kaliuta) [1845114] - [net] flow_dissector: Drop BPF flow dissector prog ref on netns cleanup (Yauheni Kaliuta) [1845114] - [tools] bpf: Prevent mmap()'ing read-only maps as writable (Yauheni Kaliuta) [1845114] - [net] bpf: Enforce returning 0 for fentry/fexit progs (Yauheni Kaliuta) [1845114] - [tools] libbpf: Fix register naming in PT_REGS s390 macros (Yauheni Kaliuta) [1845114] - [samples] samples: bpf: Fix build error (Yauheni Kaliuta) [1845114] - [net] bpf: Fix error return code in map_lookup_and_delete_elem() (Yauheni Kaliuta) [1845114] - [net] bpf: Fix sk_psock refcnt leak when receiving message (Yauheni Kaliuta) [1845114] - [tools] tools/runqslower: Ensure own vmlinux.h is picked up first (Yauheni Kaliuta) [1845114] - [net] bpf: Make bpf_link_fops static (Yauheni Kaliuta) [1845114] - [tools] bpftool: Respect the -d option in struct_ops cmd (Yauheni Kaliuta) [1845114] - [net] bpf: Fix leak in LINK_UPDATE and enforce empty old_prog_fd (Yauheni Kaliuta) [1845114] - [tools] bpf: Fix reStructuredText markup (Yauheni Kaliuta) [1845114] - [tools] libbpf: Only check mode flags in get_xdp_id (Yauheni Kaliuta) [1845114] - [tools] bpf, selftests: Add test for BPF_STX BPF_B storing R10 (Yauheni Kaliuta) [1845114] - [x86] bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B (Yauheni Kaliuta) [1845114] - [net] bpf: Forbid XADD on spilled pointers for unprivileged users (Yauheni Kaliuta) [1845114] - [tools] libbpf: Always specify expected_attach_type on program load if supported (Yauheni Kaliuta) [1845114] - [net] bpf: remove unneeded conversion to bool in __mark_reg_unknown (Yauheni Kaliuta) [1845114] - [tools] tools, bpftool: Fix struct_ops command invalid pointer free (Yauheni Kaliuta) [1845114] - [net] bpf: Fix use of sk->sk_reuseport from sk_assign (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add test for bpf_get_link_xdp_id (Yauheni Kaliuta) [1845114] - [tools] libbpf: Fix bpf_get_link_xdp_id flags handling (Yauheni Kaliuta) [1845114] - [net] bpf: Fix a typo "inacitve" -> "inactive" (Yauheni Kaliuta) [1845114] - [tools] libbpf: Initialize *nl_pid so gcc 10 is happy (Yauheni Kaliuta) [1845114] - [tools] bpf, lsm: Fix the file_mprotect LSM test (Yauheni Kaliuta) [1845114] - [tools] bpf: Fix spelling mistake "arithmatic" -> "arithmetic" in test_verifier (Yauheni Kaliuta) [1845114] - [lib] kbuild, btf: Fix dependencies for DEBUG_INFO_BTF (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Test FD-based cgroup attachment (Yauheni Kaliuta) [1845114] - [tools] libbpf: Add support for bpf_link-based cgroup attachment (Yauheni Kaliuta) [1845114] - [net] bpf: Implement bpf_prog replacement for an active bpf_cgroup_link (Yauheni Kaliuta) [1845114] - [net] bpf: Implement bpf_link-based cgroup BPF program attachment (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_verifier, add alu32 bounds tracking tests (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_verifier, #65 error message updates for trunc of boundary-cross (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_verifier, bpf_get_stack return value add <0 (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_progs, add test to catch retval refine error handling (Yauheni Kaliuta) [1845114] - [net] bpf: Verifier, refine 32bit bound in do_refine_retval_range (Yauheni Kaliuta) [1845114] - [include] bpf: Verifier, do explicit ALU32 bounds tracking (Yauheni Kaliuta) [1845114] - [net] bpf: Verifier, do_refine_retval_range may clamp umin to 0 incorrectly (Yauheni Kaliuta) [1845114] - [init] bpf, lsm: Make BPF_LSM depend on BPF_EVENTS (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Extend sk_assign tests for UDP (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Add test for sk_assign (Yauheni Kaliuta) [1845114] - [net] bpf: Don't refcount LISTEN sockets in sk_assign() (Yauheni Kaliuta) [1845114] - [net] net: Track socket refcounts in skb_steal_sock() (Yauheni Kaliuta) [1845114] - [net] bpf: Add socket assign support (Yauheni Kaliuta) [1845114] - [net] bpf: btf: Fix arg verification in btf_ctx_access() (Yauheni Kaliuta) [1845114] - [net] bpf: Simplify reg_set_min_max_inv handling (Yauheni Kaliuta) [1845114] - [documentation] bpf: lsm: Add Documentation (Yauheni Kaliuta) [1845114] - [tools] bpf: lsm: Add selftests for BPF_PROG_TYPE_LSM (Yauheni Kaliuta) [1845114] - [tools] tools/libbpf: Add support for BPF_PROG_TYPE_LSM (Yauheni Kaliuta) [1845114] - [net] bpf: lsm: Implement attach, detach and execution (Yauheni Kaliuta) [1845114] - [net] bpf: lsm: Provide attachment points for BPF LSM programs (Yauheni Kaliuta) [1845114] - [net] bpf: Introduce BPF_PROG_TYPE_LSM (Yauheni Kaliuta) [1845114] - [tools] selftests: Add test for overriding global data value before load (Yauheni Kaliuta) [1845114] - [tools] libbpf: Add setter for initial value for internal maps (Yauheni Kaliuta) [1845114] - [net] bpf, net: Fix build issue when net ns not configured (Yauheni Kaliuta) [1845114] - [net] bpf: Fix build warning regarding missing prototypes (Yauheni Kaliuta) [1845114] - [tools] libbpf, xsk: Init all ring members in xsk_umem__create and xsk_socket__create (Yauheni Kaliuta) [1845114] - [tools] bpf: Add selftest cases for ctx_or_null argument type (Yauheni Kaliuta) [1845114] - [net] bpf: Enable retrival of pid/tgid/comm from bpf cgroup hooks (Yauheni Kaliuta) [1845114] - [net] bpf: Enable bpf cgroup hooks to retrieve cgroup v2 and ancestor id (Yauheni Kaliuta) [1845114] - [net] bpf: Allow to retrieve cgroup v1 classid from v2 hooks (Yauheni Kaliuta) [1845114] - [net] bpf: Add netns cookie and enable it for bpf cgroup hooks (Yauheni Kaliuta) [1845114] - [net] bpf: Enable perf event rb output for bpf cgroup progs (Yauheni Kaliuta) [1845114] - [net] bpf: Enable retrieval of socket cookie for bind/post-bind hook (Yauheni Kaliuta) [1845114] - [net] bpf: Remove unused vairable 'bpf_xdp_link_lops' (Yauheni Kaliuta) [1845114] - [net] bpf: Factor out attach_type to prog_type mapping for attach/detach (Yauheni Kaliuta) [1845114] - [net] bpf: Factor out cgroup storages operations (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_verifier, #70 error message updates for 32-bit right shift (Yauheni Kaliuta) [1845114] - [net] bpf: Verifer, adjust_scalar_min_max_vals to always call update_reg_bounds() (Yauheni Kaliuta) [1845114] - [net] bpf: Verifer, refactor adjust_scalar_min_max_vals (Yauheni Kaliuta) [1845114] - [tools] libbpf: Don't allocate 16M for log buffer by default (Yauheni Kaliuta) [1845114] - [tools] libbpf: Remove unused parameter `def` to get_map_field_int (Yauheni Kaliuta) [1845114] - [documentation] bpf: Document bpf_inspect drgn tool (Yauheni Kaliuta) [1845114] - [samples] samples, bpf: Refactor perf_event user program with libbpf bpf_link (Yauheni Kaliuta) [1845114] - [samples] samples, bpf: Move read_trace_pipe to trace_helpers (Yauheni Kaliuta) [1845114] - [tools] bpf: Add tests for bpf_sk_storage to bpf_tcp_ca (Yauheni Kaliuta) [1845114] - [net] bpf: Add bpf_sk_storage support to bpf_tcp_ca (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix mix of tabs and spaces (Yauheni Kaliuta) [1845114] - [net] bpf, tcp: Make tcp_bpf_recvmsg static (Yauheni Kaliuta) [1845114] - [net] bpf, tcp: Fix unused function warnings (Yauheni Kaliuta) [1845114] - [tools] bpftool: Add struct_ops support (Yauheni Kaliuta) [1845114] - [tools] bpftool: Translate prog_id to its bpf prog_name (Yauheni Kaliuta) [1845114] - [tools] bpftool: Print as a string for char array (Yauheni Kaliuta) [1845114] - [tools] bpftool: Print the enum's name instead of value (Yauheni Kaliuta) [1845114] - [tools] bpf, libbpf: Fix ___bpf_kretprobe_args1(x) macro definition (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Reset process and thread affinity after each test/sub-test (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix test_progs's parsing of test numbers (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix race in tcp_rtt test (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix nanosleep for real this time (Yauheni Kaliuta) [1845114] - [tools] selftest/bpf: Fix compilation warning in sockmap_parse_prog.c (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add vmlinux.h selftest exercising tracing of syscalls (Yauheni Kaliuta) [1845114] - [tools] libbpf: Provide CO-RE variants of PT_REGS macros (Yauheni Kaliuta) [1845114] - [tools] libbpf: Ignore incompatible types with matching name during CO-RE relocation (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Ensure consistent test failure output (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix spurious failures in accept due to EAGAIN (Yauheni Kaliuta) [1845114] - [tools] tools/bpf: Move linux/types.h for selftests and bpftool (Yauheni Kaliuta) [1845114] - [net] bpf: Add missing annotations for __bpf_prog_enter() and __bpf_prog_exit() (Yauheni Kaliuta) [1845114] - [scripts] bpf_helpers_doc.py: Fix warning when compiling bpftool (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix usleep() implementation (Yauheni Kaliuta) [1845114] - [net] bpf: Remove bpf_image tree (Yauheni Kaliuta) [1845114] - [net] bpf: Add dispatchers to kallsyms (Yauheni Kaliuta) [1845114] - [net] bpf: Add trampolines to kallsyms (Yauheni Kaliuta) [1845114] - [net] bpf: Add bpf_ksym_add/del functions (Yauheni Kaliuta) [1845114] - [net] bpf: Add prog flag to struct bpf_ksym object (Yauheni Kaliuta) [1845114] - [net] bpf: Abstract away entire bpf_link clean up procedure (Yauheni Kaliuta) [1845114] - [net] bpf: Add bpf_ksym_find function (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Make tcp_rtt test more robust to failures (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: test_progs: Don't leak server_fd in tcp_rtt (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: test_progs: fix client/server race in tcp_rtt (Yauheni Kaliuta) [1845114] - [net] bpf: Move ksym_tnode to bpf_ksym (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Guarantee that useep() calls nanosleep() syscall (Yauheni Kaliuta) [1845114] - [net] bpf: Move lnode list node to struct bpf_ksym (Yauheni Kaliuta) [1845114] - [tools] tools: bpftool: Restore message on failure to guess program type (Yauheni Kaliuta) [1845114] - [include] bpf: Add name to struct bpf_ksym (Yauheni Kaliuta) [1845114] - [net] bpf: Add struct bpf_ksym (Yauheni Kaliuta) [1845114] - [include] bpf: Add bpf_trampoline_ name prefix for DECLARE_BPF_DISPATCHER (Yauheni Kaliuta) [1845114] - [mm] x86/mm: Rename is_kernel_text to __is_kernel_text (Yauheni Kaliuta) [1845114] - [tools] bpf: Add bpf_xdp_output() helper (Yauheni Kaliuta) [1845114] - [tools] tools/testing/selftests/bpf: Add self-tests for new helper bpf_get_ns_current_pid_tgid (Yauheni Kaliuta) [1845114] - [net] bpf: Added new helper bpf_get_ns_current_pid_tgid (Yauheni Kaliuta) [1845114] - [fs] fs/nsfs.c: Added ns_match (Yauheni Kaliuta) [1845114] - [tools] tools: bpftool: Fix minor bash completion mistakes (Yauheni Kaliuta) [1845114] - [tools] tools: bpftool: Allow all prog/map handles for pinning objects (Yauheni Kaliuta) [1845114] - [tools] libbpf: Split BTF presence checks into libbpf- and kernel-specific parts (Yauheni Kaliuta) [1845114] - [tools] bpftool: Add _bpftool and profiler.skel.h to .gitignore (Yauheni Kaliuta) [1845114] - [tools] bpftool: Skeleton should depend on libbpf (Yauheni Kaliuta) [1845114] - [tools] bpftool: Only build bpftool-prog-profile if supported by clang (Yauheni Kaliuta) [1845114] - [tools] bpftool: Use linux/types.h from source tree for profiler build (Yauheni Kaliuta) [1845114] - [tools] tools/runqslower: Add BPF_F_CURRENT_CPU for running selftest on older kernels (Yauheni Kaliuta) [1845114] - [x86] bpf: Fix trampoline generation for fmod_ret programs (Yauheni Kaliuta) [1845114] - [net] bpf: Add bpf_link_new_file that doesn't install FD (Yauheni Kaliuta) [1845114] - [tools] bpftool: Bash completion for "bpftool prog profile" (Yauheni Kaliuta) [1845114] - [tools] bpftool: Documentation for bpftool prog profile (Yauheni Kaliuta) [1845114] - [tools] bpftool: Introduce "prog profile" command (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Enable UDP sockmap reuseport tests (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Add tests for UDP sockets in sockmap (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Don't listen() on UDP sockets (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Add UDP support (Yauheni Kaliuta) [1845114] - [net] bpf: Add sockmap hooks for UDP sockets (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Simplify sock_map_init_proto (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Move generic sockmap hooks from BPF TCP (Yauheni Kaliuta) [1845114] - [net] bpf: tcp: Guard declarations with CONFIG_NET_SOCK_MSG (Yauheni Kaliuta) [1845114] - [net] bpf: tcp: Move assertions into tcp_bpf_get_proto (Yauheni Kaliuta) [1845114] - [net] skmsg: Update saved hooks only once (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Only check ULP for TCP sockets (Yauheni Kaliuta) [1845114] - [kernel] bpf: Fix bpf_prog_test_run_tracing for !CONFIG_NET (Yauheni Kaliuta) [1845114] - [net] bpf: Remove unnecessary CAP_MAC_ADMIN check (Yauheni Kaliuta) [1845114] - [tools] bpf: Add selftests for BPF_MODIFY_RETURN (Yauheni Kaliuta) [1845114] - [tools] bpf: Add test ops for BPF_PROG_TYPE_TRACING (Yauheni Kaliuta) [1845114] - [tools] tools/libbpf: Add support for BPF_MODIFY_RETURN (Yauheni Kaliuta) [1845114] - [net] bpf: Attachment verification for BPF_MODIFY_RETURN (Yauheni Kaliuta) [1845114] - [net] bpf: Introduce BPF_MODIFY_RETURN (Yauheni Kaliuta) [1845114] - [x86] bpf: JIT helpers for fmod_ret progs (Yauheni Kaliuta) [1845114] - [net] bpf: Refactor trampoline update code (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Support out-of-tree vmlinux builds for VMLINUX_BTF (Yauheni Kaliuta) [1845114] - [tools] tools/runqslower: Drop copy/pasted BPF_F_CURRENT_CPU definiton (Yauheni Kaliuta) [1845114] - [tools] libbpf: Assume unsigned values for BTF_KIND_ENUM (Yauheni Kaliuta) [1845114] - [tools] bpf: Switch BPF UAPI #define constants used from BPF program side to enums (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Test new __sk_buff field gso_size (Yauheni Kaliuta) [1845114] - [tools] bpf: Sync uapi bpf.h to tools/ (Yauheni Kaliuta) [1845114] - [net] bpf: Add gso_size to __sk_buff (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add link pinning selftests (Yauheni Kaliuta) [1845114] - [tools] libbpf: Add bpf_link pinning/unpinning (Yauheni Kaliuta) [1845114] - [net] bpf: Introduce pinnable bpf_link abstraction (Yauheni Kaliuta) [1845114] - [tools] libbpf: Merge selftests' bpf_trace_helpers.h into libbpf's bpf_tracing.h (Yauheni Kaliuta) [1845114] - [tools] libbpf: Fix use of PT_REGS_PARM macros with vmlinux.h (Yauheni Kaliuta) [1845114] - [tools] bpftool: Add header guards to generated vmlinux.h (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add test for "bpftool feature" command (Yauheni Kaliuta) [1845114] - [tools] selftests/tpm2: Add log and *.pyc to .gitignore (Yauheni Kaliuta) [1845114] - [tools] bpftool: Update bash completion for "bpftool feature" command (Yauheni Kaliuta) [1845114] - [tools] bpftool: Update documentation of "bpftool feature" command (Yauheni Kaliuta) [1845114] - [tools] bpftool: Make probes which emit dmesg warnings optional (Yauheni Kaliuta) [1845114] - [tools] bpftool: Move out sections to separate functions (Yauheni Kaliuta) [1845114] - [tools] bpftool: Support struct_ops, tracing, ext prog types (Yauheni Kaliuta) [1845114] - [scripts] scripts/bpf: Switch to more portable python3 shebang (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Print backtrace on SIGSEGV in test_progs (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Run reuseport tests only with supported socket types (Yauheni Kaliuta) [1845114] - [net] bpf/stackmap: Dont trylock mmap_sem with PREEMPT_RT and interrupts disabled (Yauheni Kaliuta) [1845114] - [net] bpf, lpm: Make locking RT friendly (Yauheni Kaliuta) [1845114] - [net] bpf: Prepare hashtab locking for PREEMPT_RT (Yauheni Kaliuta) [1845114] - [net] bpf: Factor out hashtab bucket lock operations (Yauheni Kaliuta) [1845114] - [net] bpf: Replace open coded recursion prevention in sys_bpf() (Yauheni Kaliuta) [1845114] - [net] bpf: Use recursion prevention helpers in hashtab code (Yauheni Kaliuta) [1845114] - [include] bpf: Provide recursion prevention helpers (Yauheni Kaliuta) [1845114] - [include] bpf: Use migrate_disable/enable in array macros and cgroup/lirc code (Yauheni Kaliuta) [1845114] - [net] bpf: Use migrate_disable/enabe() in trampoline code (Yauheni Kaliuta) [1845114] - [lib] bpf/tests: Use migrate disable instead of preempt disable (Yauheni Kaliuta) [1845114] - [net] bpf: Use bpf_prog_run_pin_on_cpu() at simple call sites (Yauheni Kaliuta) [1845114] - [include] bpf: Replace cant_sleep() with cant_migrate() (Yauheni Kaliuta) [1845114] - [include] bpf: Provide bpf_prog_run_pin_on_cpu() helper (Yauheni Kaliuta) [1845114] - [include] sched/rt: Provide migrate_disable/enable() inlines (Yauheni Kaliuta) [1845114] - [include] sched: Provide cant_migrate() (Yauheni Kaliuta) [1845114] - [net] bpf: Dont iterate over possible CPUs with interrupts disabled (Yauheni Kaliuta) [1845114] - [net] bpf: Remove recursion prevention from rcu free callback (Yauheni Kaliuta) [1845114] - [kernel] perf/bpf: Remove preempt disable around BPF invocation (Yauheni Kaliuta) [1845114] - [kernel] bpf/trace: Remove redundant preempt_disable from trace_call_bpf() (Yauheni Kaliuta) [1845114] - [kernel] bpf: disable preemption for bpf progs attached to uprobe (Yauheni Kaliuta) [1845114] - [kernel] bpf/trace: Remove EXPORT from trace_call_bpf() (Yauheni Kaliuta) [1845114] - [kernel] bpf/tracing: Remove redundant preempt_disable() in __bpf_trace_run() (Yauheni Kaliuta) [1845114] - [net] bpf: Update locking comment in hashtab code (Yauheni Kaliuta) [1845114] - [net] bpf: Enforce preallocation for instrumentation programs on RT (Yauheni Kaliuta) [1845114] - [net] bpf: Tighten the requirements for preallocated hash maps (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Tests for sockmap/sockhash holding listening sockets (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Extend SK_REUSEPORT tests to cover SOCKMAP/SOCKHASH (Yauheni Kaliuta) [1845114] - [documentation] docs/bpf: Update bpf development Q/A file (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Update xdp_bpf2bpf test to use new set_attach_target API (Yauheni Kaliuta) [1845114] - [tools] libbpf: Add support for dynamic program attach target (Yauheni Kaliuta) [1845114] - [tools] libbpf: Bump libpf current version to v0.0.8 (Yauheni Kaliuta) [1845114] - [tools] libbpf: Relax check whether BTF is mandatory (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Change llvm flag -mcpu=probe to -mcpu=v3 (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add bpf_read_branch_records() selftest (Yauheni Kaliuta) [1845114] - [kernel] bpf: Add bpf_read_branch_records() helper (Yauheni Kaliuta) [1845114] - [kernel] bpf: Allow bpf_perf_event_read_value in all BPF programs (Yauheni Kaliuta) [1845114] - [dma] dma-direct: improve DMA mask overflow reporting (Don Dutile) [1816437] - [dma] dma-direct: improve swiotlb error reporting (Don Dutile) [1816437] - [dma] dma-direct: relax addressability checks in dma_direct_supported (Don Dutile) [1816437] - [dma] dma-contiguous: CMA: give precedence to cmdline (Don Dutile) [1816437] - [misc] lib/genalloc.c: rename addr_in_gen_pool to gen_pool_has_addr (Don Dutile) [1816437] - [lib] lib/genalloc.c: export symbol addr_in_gen_pool (Don Dutile) [1816437] - [acpi] dma-mapping: treat dev->bus_dma_mask as a DMA limit (Don Dutile) [1816437] - [powerpc] dma-direct: unify the dma_capable definitions (Don Dutile) [1816437] - [of] of/device: Really only set bus DMA mask when appropriate (Don Dutile) [1816437] - [dma] dma-direct: exclude dma_direct_map_resource from the min_low_pfn check (Don Dutile) [1816437] - [dma] dma-debug: clean up put_hash_bucket() (Don Dutile) [1816437] - [iommu] dma-mapping: drop the dev argument to arch_sync_dma_for_* (Don Dutile) [1816437] - [xen] swiotlb-xen: simplify cache maintainance (Don Dutile) [1816437] - [xen] swiotlb-xen: simplify the DMA sync method implementations (Don Dutile) [1816437] - [dma] dma-debug: increase HASH_SIZE (Don Dutile) [1816437] - [dma] dma-debug: reorder struct dma_debug_entry fields (Don Dutile) [1816437] - [dma] dma-mapping: merge the generic remapping helpers into dma-direct (Don Dutile) [1816437] - [dma] dma-direct: provide mmap and get_sgtable method overrides (Don Dutile) [1816437] - [dma] dma-direct: remove the dma_handle argument to __dma_direct_alloc_pages (Don Dutile) [1816437] - [dma] dma-direct: remove __dma_direct_free_pages (Don Dutile) [1816437] - [mm] dma/direct: turn ARCH_ZONE_DMA_BITS into a variable (Don Dutile) [1816437] - [dma] dma-direct: check for overflows on 32 bit DMA addresses (Don Dutile) [1816437] - [s390] s390/dma: provide proper ARCH_ZONE_DMA_BITS value (Don Dutile) [1816437] - [mm] powerpc: fix off by one in max_zone_pfn initialization for ZONE_DMA (Don Dutile) [1816437] - [powerpc] powerpc: enable a 30-bit ZONE_DMA for 32-bit pmac (Don Dutile) [1816437] - [mm] arm64: rename variables used to calculate ZONE_DMA32's size (Don Dutile) [1816437] - [mm] arm64: mm: use arm64_dma_phys_limit instead of calling max_zone_dma_phys() (Don Dutile) [1816437] - [mm] arm64: mm: make CONFIG_ZONE_DMA32 configurable (Don Dutile) [1816437] - [dma] kernel: dma-contiguous: mark CMA parameters __initdata/__initconst (Don Dutile) [1816437] - [dma] dma-debug: add a schedule point in debug_dma_dump_mappings() (Don Dutile) [1816437] - [dma] dma-debug: Use pr_warn instead of pr_warning (Don Dutile) [1816437] - [dma] dma-mapping: fix false positivse warnings in dma_common_free_remap() (Don Dutile) [1816437] - [xen] swiotlb-xen: ensure we have a single callsite for xen_dma_map_page (Don Dutile) [1816437] - [iommu] dma-mapping: introduce a dma_common_find_pages helper (Don Dutile) [1816437] - [iommu] dma-mapping: always use VM_DMA_COHERENT for generic DMA remap (Don Dutile) [1816437] - [mm] vmalloc: lift the arm flag for coherent mappings to common code (Don Dutile) [1816437] - [mm] dma-mapping: provide a better default ->get_required_mask (Don Dutile) [1816437] - [dma] dma-mapping: remove the dma_declare_coherent_memory export (Don Dutile) [1816437] - [dma] dma-mapping: remove the dma_mmap_from_dev_coherent export (Don Dutile) [1816437] - [dma] dma-mapping: remove CONFIG_ARCH_NO_COHERENT_DMA_MMAP (Don Dutile) [1816437] - [dma] dma-mapping: add a dma_can_mmap helper (Don Dutile) [1816437] - [powerpc] dma-mapping: explicitly wire up ->mmap and ->get_sgtable (Don Dutile) [1816437] - [mm] dma-mapping: move the dma_get_sgtable API comments from arm to common code (Don Dutile) [1816437] - [dma] dma-mapping: introduce dma_get_merge_boundary() (Don Dutile) [1816437] - [mm] dma-mapping: make dma_atomic_pool_init self-contained (Don Dutile) [1816437] - [arm64] dma-mapping: remove arch_dma_mmap_pgprot (Don Dutile) [1816437] - [scsi] scsi: ibmvscsi: Don't send host info in adapter info MAD after LPM (Steve Best) [1847078] - [fs] NFS: Fix inode fileid checks in attribute revalidation code (Benjamin Coddington) [1846295] - [fs] NFS: remove set but not used variable 'mapping' (Benjamin Coddington) [1846295] - [fs] NFSv2: Fix write regression (Benjamin Coddington) [1846295] - [fs] NFSv2: Fix eof handling (Benjamin Coddington) [1846295] - [fs] NFS: Fix writepage(s) error handling to not report errors twice (Benjamin Coddington) [1846295] - [fs] NFS: Fix spurious EIO read errors (Benjamin Coddington) [1846295] - [fs] pNFS/flexfiles: Don't time out requests on hard mounts (Benjamin Coddington) [1846295] - [net] SUNRPC: Handle EADDRINUSE and ENOBUFS correctly (Benjamin Coddington) [1846295] - [fs] pNFS/flexfiles: Turn off soft RPC calls (Benjamin Coddington) [1846295] - [fs] NFS: On fatal writeback errors, we need to call nfs_inode_remove_request() (Benjamin Coddington) [1846295] - [fs] NFS: Fix initialisation of I/O result struct in nfs_pgio_rpcsetup (Benjamin Coddington) [1846295] - [fs] NFSv4: Fix return value in nfs_finish_open() (Benjamin Coddington) [1846295] - [fs] NFSv4: Fix return values for nfs4_file_open() (Benjamin Coddington) [1846295] - [fs] NFS: Don't refresh attributes with mounted-on-file information (Benjamin Coddington) [1846295] - [fs] NFSv4: Ensure state recovery handles ETIMEDOUT correctly (Benjamin Coddington) [1846295] - [fs] NFSv4: Report the error from nfs4_select_rw_stateid() (Benjamin Coddington) [1846295] - [fs] NFSv4: Print an error in the syslog when state is marked as irrecoverable (Benjamin Coddington) [1846295] - [net] SUNRPC: Optimise transport balancing code (Benjamin Coddington) [1846295] - [fs] NFSv4: Don't use the zero stateid with layoutget (Benjamin Coddington) [1846295] - [net] SUNRPC: Fix up backchannel slot table accounting (Benjamin Coddington) [1846295] - [net] SUNRPC: Skip zero-refcount transports (Benjamin Coddington) [1846295] - [net] SUNRPC: Replace division by multiplication in calculation of queue length (Benjamin Coddington) [1846295] - [fs] NFSv4: Validate the stateid before applying it to state recovery (Benjamin Coddington) [1846295] - [fs] nfs4.0: Refetch lease_time after clientid update (Benjamin Coddington) [1846295] - [fs] nfs4: Rename nfs41_setup_state_renewal (Benjamin Coddington) [1846295] - [fs] nfs4: Make nfs4_proc_get_lease_time available for nfs4.0 (Benjamin Coddington) [1846295] - [fs] nfs: Fix copy-and-paste error in debug message (Benjamin Coddington) [1846295] - [fs] NFS: Replace 16 seq_printf() calls by seq_puts() (Benjamin Coddington) [1846295] - [fs] NFS: Use seq_putc() in nfs_show_stats() (Benjamin Coddington) [1846295] - [fs] nfsd: Fix misuse of strlcpy (Benjamin Coddington) [1846295] - [net] SUNRPC: Drop redundant CONFIG_ from CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES (Benjamin Coddington) [1846295] - [fs] NFS: Cleanup if nfs_match_client is interrupted (Benjamin Coddington) [1846295] - [fs] nfs: disable client side deduplication (Benjamin Coddington) [1846295] - [fs] NFS: Clean up writeback code (Benjamin Coddington) [1846295] - [net] SUNRPC: Remove warning in debugfs.c when compiling with W=1 (Benjamin Coddington) [1846295] - [fs] NFS: Add sysfs support for per-container identifier (Benjamin Coddington) [1846295] - [net] SUNRPC: Remove the bh-safe lock requirement on the rpc_wait_queue->lock (Benjamin Coddington) [1846295] - [fs] NFS: Cleanup - add nfs_clients_exit to mirror nfs_clients_init (Benjamin Coddington) [1846295] - [fs] NFS: Create a root NFS directory in /sys/fs/nfs (Benjamin Coddington) [1846295] - [net] SUNRPC: Remove the bh-safe lock requirement on xprt->transport_lock (Benjamin Coddington) [1846295] - [net] SUNRPC: Replace direct task wakeups from softirq context (Benjamin Coddington) [1846295] - [net] SUNRPC: Replace the queue timer with a delayed work function (Benjamin Coddington) [1846295] - [fs] NFSv4: Handle open for execute correctly (Benjamin Coddington) [1846295] - [fs] nfs: dget_parent() never returns NULL (Benjamin Coddington) [1846295] - [net] nfs: fix out-of-date connectathon talk URL (Benjamin Coddington) [1846295] - [fs] nfsd4: remove outdated nfsd4_decode_time comment (Benjamin Coddington) [1846295] - [fs] nfsd: Spelling s/EACCESS/EACCES/ (Benjamin Coddington) [1846295] - [fs] lockd: Make two symbols static (Benjamin Coddington) [1846295] - [fs] lockd: Show pid of lockd for remote locks (Benjamin Coddington) [1846295] - [fs] lockd: Remove lm_compare_owner and lm_owner_key (Benjamin Coddington) [1846295] - [fs] lockd: Convert NLM service fl_owner to nlm_lockowner (Benjamin Coddington) [1846295] - [fs] lockd: prepare nlm_lockowner for use by the server (Benjamin Coddington) [1846295] - [net] sunrpc: no need to check return value of debugfs_create functions (Benjamin Coddington) [1846295] - [fs] nfsd: no need to check return value of debugfs_create functions (Benjamin Coddington) [1846295] - [fs] xfs: add agf freeblocks verify in xfs_agf_verify (Brian Foster) [1837192] {CVE-2020-12655} - [scsi] scsi: iscsi: Fix deadlock on recovery path during GFP_IO reclaim (Chris Leech) [1830140] - [scsi] scsi: iscsi: Register sysfs for iscsi workqueue (Chris Leech) [1830140] - [scsi] scsi: iscsi: Report unbind session event when the target has been removed (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Fix error count for active session (Chris Leech) [1830140] - [scsi] scsi: iscsi: Report connection state in sysfs (Chris Leech) [1830140] - [scsi] scsi: iscsi: Add support for asynchronous iSCSI session destruction (Chris Leech) [1830140] - [scsi] scsi: iscsi: Perform connection failure entirely in kernel space (Chris Leech) [1830140] - [scsi] scsi: iscsi: Don't destroy session if there are outstanding connections (Chris Leech) [1830140] - [scsi] scsi: iscsi: Fix a potential deadlock in the timeout handler (Chris Leech) [1830140] - [scsi] scsi: iscsi: Don't send data to unbound connection (Chris Leech) [1830140] - [scsi] scsi: libiscsi: switch to SPDX tags (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Hold back_lock when calling iscsi_complete_task (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Use scsi_et_resid() where appropriate (Chris Leech) [1830140] - [scsi] scsi: iscsi: Capture iscsi debug messages using tracepoints (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Fix NULL pointer dereference in iscsi_eh_session_reset (Chris Leech) [1830140] - [scsi] scsi: iscsi_tcp: Explicitly cast param in iscsi_sw_tcp_host_get_param (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Annotate fall-through (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Annotate locking assumptions (Chris Leech) [1830140] - [nvme] nvmet: fail outstanding host posted AEN req (David Milburn) [1833642] - [nvme] nvmet: add async event tracing support (David Milburn) [1833642] - [nvme] nvmet: cleanups the loop in nvmet_async_events_process (David Milburn) [1833642] - [nvme] nvmet: fix memory leak when removing namespaces and controllers concurrently (David Milburn) [1833642] - [netdrv] ibmvnic: Flush existing work items before device removal (Steve Best) [1846761] - [kernel] signal: Extend exec_id to 64bits (Chris von Recklinghausen) [1834652] {CVE-2020-12826}- [arm64] docs: fix broken references to text files (Andrew Jones) [1842468] - [arm64] kvm: arm64: Move __load_guest_stage2 to kvm_mmu.h (Andrew Jones) [1842468] - [arm64] kvm: arm64: Drop obsolete comment about sys_reg ordering (Andrew Jones) [1842468] - [arm64] kvm: arm64: Parametrize exception entry with a target EL (Andrew Jones) [1842468] - [arm64] kvm: arm64: Don't use empty structures as CPU reset state (Andrew Jones) [1842468] - [arm64] kvm: arm64: Move sysreg reset check to boot time (Andrew Jones) [1842468] - [arm64] kvm: arm64: Add missing reset handlers for PMU emulation (Andrew Jones) [1842468] - [arm64] kvm: arm64: Refactor vcpu_{read, write}_sys_reg (Andrew Jones) [1842468] - [arm64] kvm: arm64: vgic-v3: Take cpu_if pointer directly instead of vcpu (Andrew Jones) [1842468] - [arm64] kvm: arm64: Remove obsolete kvm_virt_to_phys abstraction (Andrew Jones) [1842468] - [arm64] kvm: arm64: Fix incorrect comment on kvm_get_hyp_vector() (Andrew Jones) [1842468] - [arm64] kvm: arm64: Clean up cpu_init_hyp_mode() (Andrew Jones) [1842468] - [arm64] cpufeature: Drop open encodings while extracting parange (Andrew Jones) [1842468] - [arm64] kvm: arm64: Make KVM_CAP_MAX_VCPUS compatible with the selected GIC version (Andrew Jones) [1842468] - [arm64] kvm: arm64: Support enabling dirty log gradually in small chunks (Andrew Jones) [1842468] - [arm64] kvm: arm64: Unify handling THP backed host memory (Andrew Jones) [1842468] - [arm64] kvm: arm64: Clean up the checking for huge mapping (Andrew Jones) [1842468] - [arm64] kvm: arm/arm64: Release kvm->mmu_lock in loop to prevent starvation (Andrew Jones) [1842468] - [arm64] kvm: arm64: Sidestep stage2_unmap_vm() on vcpu reset when S2FWB is supported (Andrew Jones) [1842468] - [arm64] kvm: Fix spelling in code comments (Andrew Jones) [1842468] - [arm64] kvm: arm64: Simplify __kvm_timer_set_cntvoff implementation (Andrew Jones) [1842468] - [arm64] kvm: arm64: Clean up kvm makefiles (Andrew Jones) [1842468] - [arm64] kvm: arm64: Change CONFIG_KVM to a menuconfig entry (Andrew Jones) [1842468] - [arm64] kvm: arm64: Update help text (Andrew Jones) [1842468] - [arm64] kvm: arm64: Kill off CONFIG_KVM_ARM_HOST (Andrew Jones) [1842468] - [arm64] kvm: arm64: Move virt/kvm/arm to arch/arm64 (Andrew Jones) [1842468] - [arm64] Unify WORKAROUND_SPECULATIVE_AT_{NVHE, VHE} (Andrew Jones) [1842468] - [arm64] cpufeature: Add CPU capability for AArch32 EL1 support (Andrew Jones) [1842468] - [net] SUNRPC: Fix a credential refcount leak (Benjamin Coddington) [1831672] - [net] Revert "SUNRPC: Declare RPC timers as TIMER_DEFERRABLE" (Benjamin Coddington) [1831672] - [net] net :sunrpc :clnt :Fix xps refcount imbalance on the error path (Benjamin Coddington) [1831672] - [net] SUNRPC: Rebalance a kref in auth_gss.c (Benjamin Coddington) [1831672] - [fs] NFS: Fix a double unlock from nfs_match, get_client (Benjamin Coddington) [1831672] - [fs] nfs: pass the correct prototype to read_cache_page (Benjamin Coddington) [1831672] - [fs] NFSv4: don't mark all open state for recovery when handling recallable state revoked flag (Benjamin Coddington) [1831672] - [net] SUNRPC: Fix an error code in gss_alloc_msg() (Benjamin Coddington) [1831672] - [net] SUNRPC: task should be exit if encode return EKEYEXPIRED more times (Benjamin Coddington) [1831672] - [fs] NFS: make nfs_match_client killable (Benjamin Coddington) [1831672] - [fs] nfsd: update callback done processing (Benjamin Coddington) [1831672] - [fs] lockd: Store the lockd client credential in struct nlm_host (Benjamin Coddington) [1831672] - [fs] NFS: When mounting, don't share filesystems between different user namespaces (Benjamin Coddington) [1831672] - [fs] NFS: Convert NFSv2 to use the container user namespace (Benjamin Coddington) [1831672] - [fs] NFSv4: Convert the NFS client idmapper to use the container user namespace (Benjamin Coddington) [1831672] - [fs] NFS: Convert NFSv3 to use the container user namespace (Benjamin Coddington) [1831672] - [net] SUNRPC: Use namespace of listening daemon in the client AUTH_GSS upcall (Benjamin Coddington) [1831672] - [net] net: Remove some unneeded semicolon (Benjamin Coddington) [1831672] - [net] SUNRPC: Use the client user namespace when encoding creds (Benjamin Coddington) [1831672] - [fs] NFS: Store the credential of the mount process in the nfs_server (Benjamin Coddington) [1831672] - [fs] SUNRPC: Cache cred of process creating the rpc_client (Benjamin Coddington) [1831672] - [net] SUNRPC: Update comments based on recent changes (Benjamin Coddington) [1831672] - [net] SUNRPC: Avoid digging into the ATOMIC pool (Benjamin Coddington) [1831672] - [net] xprtrdma: Recognize XDRBUF_SPARSE_PAGES (Benjamin Coddington) [1831672] - [fs] Fix nfs4.2 return -EINVAL when do dedupe operation (Benjamin Coddington) [1831672] - [fs] NFS: Remove redundant open context from nfs_page (Benjamin Coddington) [1831672] - [fs] NFS: Add a helper to return a pointer to the open context of a struct nfs_page (Benjamin Coddington) [1831672] - [fs] NFS: Ensure that all nfs lock contexts have a valid open context (Benjamin Coddington) [1831672] - [fs] NFS: Allow signal interruption of NFS4ERR_DELAYed operations (Benjamin Coddington) [1831672] - [fs] pNFS: Add tracking to limit the number of pNFS retries (Benjamin Coddington) [1831672] - [fs] NFS: Remove unused argument from nfs_create_request() (Benjamin Coddington) [1831672] - [fs] NFS: Fix up NFS I/O subrequest creation (Benjamin Coddington) [1831672] - [fs] NFS: Replace custom error reporting mechanism with generic one (Benjamin Coddington) [1831672] - [fs] NFS: Don't inadvertently clear writeback errors (Benjamin Coddington) [1831672] - [fs] NFS: Don't call generic_error_remove_page() while holding locks (Benjamin Coddington) [1831672] - [fs] NFS: Don't interrupt file writeout due to fatal errors (Benjamin Coddington) [1831672] - [fs] NFS: Add a mount option "softerr" to allow clients to see ETIMEDOUT errors (Benjamin Coddington) [1831672] - [uapi] NFS: Move internal constants out of uapi/linux/nfs_mount.h (Benjamin Coddington) [1831672] - [fs] NFS: Consider ETIMEDOUT to be a fatal error (Benjamin Coddington) [1831672] - [net] SUNRPC: Add the 'softerr' rpc_client flag (Benjamin Coddington) [1831672] - [net] SUNRPC: Ensure to ratelimit the "server not responding" syslog messages (Benjamin Coddington) [1831672] - [net] SUNRPC: Start the first major timeout calculation at task creation (Benjamin Coddington) [1831672] - [net] SUNRPC: Ensure that the transport layer respect major timeouts (Benjamin Coddington) [1831672] - [net] SUNRPC: Declare RPC timers as TIMER_DEFERRABLE (Benjamin Coddington) [1831672] - [net] SUNRPC: Simplify queue timeouts using timer_reduce() (Benjamin Coddington) [1831672] - [net] SUNRPC: Fix up tracking of timeouts (Benjamin Coddington) [1831672] - [net] SUNRPC: Add function rpc_sleep_on_timeout() (Benjamin Coddington) [1831672] - [fs] SUNRPC: Remove unused argument 'action' from rpc_sleep_on_priority() (Benjamin Coddington) [1831672] - [net] SUNRPC: Refactor rpc_sleep_on() (Benjamin Coddington) [1831672] - [net] SUNRPC: Refactor xprt_request_wait_receive() (Benjamin Coddington) [1831672] - [fs] nfsd: fh_drop_write in nfsd_unlink (Benjamin Coddington) [1831672] - [fs] nfsd: avoid uninitialized variable warning (Benjamin Coddington) [1831672] - [netdrv] Revert "net: phy: realtek: fix using paged operations with RTL8105e / RTL8208" (Josef Oskera) [1846022] - [netdrv] ice: Fix Tx timeout when link is toggled on a VF's interface (Jonathan Toppins) [1843144] - [netdrv] ice: add a devlink region for dumping NVM contents (Jonathan Toppins) [1843144] - [nvme] nvme-fc: print proper nvme-fc devloss_tmo value (Gopal Tiwari) [1846049] - [acpi] ACPI: EC: PM: Avoid flushing EC work when EC GPE is inactive (Al Stone) [1803969] - [acpi] ACPI: EC: PM: Avoid premature returns from acpi_s2idle_wake() (Al Stone) [1803969] - [acpi] ACPI: PM: Add acpi_register_wakeup_handler() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Refine active GPEs check (Al Stone) [1803969] - [acpi] ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE (Al Stone) [1803969] - [base] PM: sleep: wakeup: Skip wakeup_source_sysfs_remove() if device is not there (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Fix comment in acpi_s2idle_prepare_late() (Al Stone) [1803969] - [platform] platform/x86: sony-laptop: Make resuming thermal profile safer (Al Stone) [1803969] - [platform] platform/x86: sony-laptop: SNC calls should handle BUFFER types (Al Stone) [1803969] - [acpi] ACPI: Update Tiger Lake ACPI device IDs (Al Stone) [1803969] - [acpi] ACPI: EC: Avoid printing confusing messages in acpi_ec_setup() (Al Stone) [1803969] - [acpi] ACPI: EC: Fix flushing of pending work (Al Stone) [1803969] - [base] PM / wakeup: Register wakeup class kobj after device is added (Al Stone) [1803969] - [base] PM / wakeup: Fix sysfs registration error path (Al Stone) [1803969] - [base] PM / wakeup: Unexport wakeup_source_sysfs_{add, remove}() (Al Stone) [1803969] - [kernel] PM: suspend: Fix platform_suspend_prepare_noirq() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system (Al Stone) [1803969] - [acpi] ACPICA: Introduce acpi_any_gpe_status_set() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Avoid possible race related to the EC GPE (Al Stone) [1803969] - [acpi] ACPI: watchdog: Allow disabling WDAT at boot (Al Stone) [1803969] - [acpi] ACPI / APD: Add clock frequency for Hisilicon Hip08-Lite I2C controller (Al Stone) [1803969] - [acpi] ACPI: thermal: switch to use helpers (Al Stone) [1803969] - [acpi] ACPI/IORT: Fix 'Number of IDs' handling in iort_id_map() (Al Stone) [1803969] - [acpi] ACPI/IORT: Parse SSID property of named component node (Al Stone) [1803969] - [iommu] iommu/arm-smmu-v3: Parse PASID devicetree property of platform devices (Al Stone) [1803969] - [acpi] ACPICA: Update version to 20200110 (Al Stone) [1803969] - [acpi] ACPICA: All acpica: Update copyrights to 2020 Including tool signons (Al Stone) [1803969] - [acpi] ACPI: button: Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch (Al Stone) [1803969] - [acpi] ACPI: PPTT: Consistently use unsigned int as parameter type (Al Stone) [1803969] - [acpi] ACPI: EC: Reference count query handlers under lock (Al Stone) [1803969] - [acpi] ACPICA: Update version to 20191213 (Al Stone) [1803969] - [acpi] ACPICA: Dispatcher: always generate buffer objects for ASL create_field() operator (Al Stone) [1803969] - [acpi] ACPICA: acpisrc: add unix line ending support for non-windows build (Al Stone) [1803969] - [acpi] ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1 (Al Stone) [1803969] - [acpi] ACPICA: debugger: fix spelling mistake "adress" -> "address" (Al Stone) [1803969] - [acpi] ACPI: video: Do not export a non working backlight interface on MSI MS-7721 boards (Al Stone) [1803969] - [acpi] ACPI: fan: Add Tiger Lake ACPI device ID (Al Stone) [1803969] - [acpi] ACPI: DPTF: Add Tiger Lake ACPI device IDs (Al Stone) [1803969] - [acpi] ACPI: fan: Expose fan performance state information (Al Stone) [1803969] - [acpi] ACPI / LPSS: Rename pwm_backlight pwm-lookup to pwm_soc_backlight (Al Stone) [1803969] - [acpi] ACPI: video: Use native backlight on Lenovo E41-25/45 (Al Stone) [1803969] - [acpi] ACPI: video: fix typo in comment (Al Stone) [1803969] - [acpi] ACPI / battery: Deal better with neither design nor full capacity not being reported (Al Stone) [1803969] - [acpi] ACPI / battery: Use design-cap for capacity calculations if full-cap is not available (Al Stone) [1803969] - [acpi] ACPI / battery: Deal with design or full capacity being reported as -1 (Al Stone) [1803969] - [acpi] ACPI/sleep: Convert acpi_wakeup_address into a function (Al Stone) [1803969] - [acpi] ACPI: PM: Avoid attaching ACPI PM domain to certain devices (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Rework ACPI events synchronization (Al Stone) [1803969] - [acpi] ACPI: EC: Rework flushing of pending work (Al Stone) [1803969] - [acpi] ACPI: bus: Fix NULL pointer check in acpi_bus_get_private_data() (Al Stone) [1803969] - [acpi] ACPI: Fix Kconfig indentation (Al Stone) [1803969] - [acpi] ACPI: OSL: only free map once in osl.c (Al Stone) [1803969] - [acpi] ACPI: button: Add DMI quirk for Acer Switch 10 SW5-032 lid-switch (Al Stone) [1803969] - [acpi] ACPI: sysfs: Change ACPI_MASKABLE_GPE_MAX to 0x100 (Al Stone) [1803969] - [acpi] ACPI: OSI: Shoot duplicate word (Al Stone) [1803969] - [acpi] ACPI: HMAT: use u instead of d to print u32 values (Al Stone) [1803969] - [acpi] ACPI: NUMA: HMAT: fix a section mismatch (Al Stone) [1803969] - [acpi] ACPI: HMAT: don't mix pxm and nid when setting memory target processor_pxm (Al Stone) [1803969] - [acpi] ACPI: NUMA: HMAT: Register "soft reserved" memory as an "hmem" device (Al Stone) [1803969] - [acpi] ACPI: NUMA: HMAT: Register HMAT at device_initcall level (Al Stone) [1803969] - [acpi] ACPI: NUMA: Establish a new drivers/acpi/numa/ directory (Al Stone) [1803969] - [x86] x86/efi: EFI soft reservation to E820 enumeration (Al Stone) [1803969] - [firmware] efi: Common enable/disable infrastructure for EFI soft reservation (Al Stone) [1803969] - [firmware] efi: Enumerate EFI_MEMORY_SP (Al Stone) [1803969] - [dax] device-dax: Add a driver for "hmem" devices (Al Stone) [1803969] - [nvdimm] lib: Uplevel the pmem "region" ida to a global allocator (Al Stone) [1803969] - [acpi] ACPICA: Update version to 20191018 (Al Stone) [1803969] - [acpi] ACPICA: debugger: remove leading whitespaces when converting a string to a buffer (Al Stone) [1803969] - [acpi] ACPICA: acpiexec: initialize all simple types and field units from user input (Al Stone) [1803969] - [acpi] ACPICA: debugger: add field unit support for acpi_db_get_next_token (Al Stone) [1803969] - [acpi] ACPICA: debugger: surround field unit output with braces '{' (Al Stone) [1803969] - [acpi] ACPICA: debugger: add command to dump all fields of particular subtype (Al Stone) [1803969] - [acpi] ACPICA: utilities: add flag to only display data when dumping buffers (Al Stone) [1803969] - [acpi] ACPICA: make acpi_load_table() return table index (Al Stone) [1803969] - [acpi] ACPICA: Add new external interface, acpi_unload_table() (Al Stone) [1803969] - [acpi] ACPICA: More Clang changes (Al Stone) [1803969] - [acpi] ACPICA: Win OSL: Replace get_tick_count with get_tick_count64 (Al Stone) [1803969] - [acpi] ACPICA: Results from Clang (Al Stone) [1803969] - [acpi] ACPI: EC: add support for hardware-reduced systems (Al Stone) [1803969] - [acpi] ACPI: EC: tweak naming in preparation for GpioInt support (Al Stone) [1803969] - [acpi] ACPI: button: Remove unused acpi_lid_notifier_register() functions (Al Stone) [1803969] - [acpi] ACPI: button: Add DMI quirk for Asus T200TA (Al Stone) [1803969] - [acpi] ACPI: button: Add DMI quirk for Medion Akoya E2215T (Al Stone) [1803969] - [acpi] ACPI: button: Turn lid_blacklst DMI table into a generic quirk table (Al Stone) [1803969] - [acpi] ACPI: button: Allow disabling LID support with the lid_init_state module option (Al Stone) [1803969] - [acpi] ACPI: button: Refactor lid_init_state module parsing code (Al Stone) [1803969] - [acpi] ACPI: LPSS: Add dmi quirk for skipping _DEP check for some device-links (Al Stone) [1803969] - [acpi] ACPI: LPSS: Add LNXVIDEO -> BYT I2C1 to lpss_device_links (Al Stone) [1803969] - [acpi] ACPI: LPSS: Add LNXVIDEO -> BYT I2C7 to lpss_device_links (Al Stone) [1803969] - [acpi] ACPI / PMIC: Add Cherry Trail Crystal Cove PMIC OpRegion driver (Al Stone) [1803969] - [acpi] ACPI / PMIC: Add byt prefix to Crystal Cove PMIC OpRegion driver (Al Stone) [1803969] - [acpi] ACPI / PMIC: Do not register handlers for unhandled OpRegions (Al Stone) [1803969] - [acpi] ACPI: processor_idle: Skip dummy wait if kernel is in guest (Al Stone) [1803969] - [acpi] acpi: Use pr_warn instead of pr_warning (Al Stone) [1803969] - [acpi] ACPI: CPPC: Set pcc_datato NULL in acpi_cppc_processor_exit() (Al Stone) [1803969] - [mfd] rhel: constify some function arguments when searching for devices (Al Stone) [1803969] - [acpi] ACPI: platform: Unregister stale platform devices (Al Stone) [1803969] - [i2c] i2c: Revert incorrect conversion to use generic helper (Al Stone) [1803969] - [base] drivers: Introduce device lookup variants by ACPI_COMPANION device (Al Stone) [1803969] - [s390] drivers: s390/cio: Fix compilation warning about const qualifiers (Al Stone) [1803969] - [s390] driver_find_device: Unify the match function with class_find_device() (Al Stone) [1803969] - [acpi] ACPI / LPSS: Switch to use acpi_dev_hid_uid_match() (Al Stone) [1803969] - [acpi] ACPI / utils: Move acpi_dev_get_first_match_dev() under CONFIG_ACPI (Al Stone) [1803969] - [acpi] ACPI / utils: Describe function parameters in kernel-doc (Al Stone) [1803969] - [acpi] ACPI: Always build evged in (Al Stone) [1803969] - [acpi] ACPI: video: update doc for acpi_video_bus_DOS() (Al Stone) [1803969] - [acpi] ACPI: PM: Drop Dell XPS13 9360 from LPS0 Idle _DSM blacklist (Al Stone) [1803969] - [acpi] ACPI: HMAT: ACPI_HMAT_MEMORY_PD_VALID is deprecated since ACPI-6.3 (Al Stone) [1803969] - [acpi] i2c: imx: ACPI support for NXP i2c controller (Al Stone) [1803969] - [acpi] ACPI / PCI: fix acpi_pci_irq_enable() memory leak (Al Stone) [1803969] - [acpi] ACPI: custom_method: fix memory leaks (Al Stone) [1803969] - [acpi] ACPI: thermal: Remove redundant acpi_has_method() calls (Al Stone) [1803969] - [acpi] ACPI / property: Fix acpi_graph_get_remote_endpoint() name in kerneldoc (Al Stone) [1803969] - [acpi] ACPI / CPPC: do not require the _PSD method (Al Stone) [1803969] - [acpi] ACPI: SBS: remove unused const variable 'SMBUS_PEC' (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Always set up EC GPE for system wakeup (Al Stone) [1803969] - [platform] intel-hid: Disable button array during suspend-to-idle (Al Stone) [1803969] - [platform] intel-hid: intel-vbtn: Avoid leaking wakeup_mode set (Al Stone) [1803969] - [platform] platform/x86: intel-hid: Missing power button release on some Dell models (Al Stone) [1803969] - [platform] platform/x86: intel-hid: Convert to use SPDX identifier (Al Stone) [1803969] - [platform] platform/x86: intel-hid: Add support for Device Specific Methods (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Avoid rearming SCI for wakeup unnecessarily (Al Stone) [1803969] - [base] PM / wakeup: Show wakeup sources stats in sysfs (Al Stone) [1803969] - [kernel] PM / wakeup: Use wakeup_source_register() in wakelock.c (Al Stone) [1803969] - [base] PM / wakeup: Drop wakeup_source_init(), wakeup_source_prepare() (Al Stone) [1803969] - [base] PM: sleep: Fix possible overflow in pm_system_cancel_wakeup() (Al Stone) [1803969] - [acpi] ACPI/PCI: Remove surplus parentheses from a return statement (Al Stone) [1803969] - [acpi] ACPICA: Update version to 20190816 (Al Stone) [1803969] - [acpi] ACPICA: Add "Windows 2019" string to _OSI support (Al Stone) [1803969] - [acpi] ACPICA: Differentiate Windows 8.1 from Windows 8 (Al Stone) [1803969] - [acpi] ACPICA: Fully deploy ACPI_PRINTF_LIKE macro (Al Stone) [1803969] - [acpi] ACPICA: Fix issues with arg types within printf format strings (Al Stone) [1803969] - [acpi] ACPICA: Macros: remove pointer math on a null pointer (Al Stone) [1803969] - [acpi] ACPICA: Debugger: remove redundant assignment on obj_desc (Al Stone) [1803969] - [acpi] ACPI / APEI: Release resources if gen_pool_add() fails (Al Stone) [1803969] - [acpi] acpi: Use built-in RCU list checking for acpi_ioremaps list (Al Stone) [1803969] - [acpi] HMAT: Skip publishing target info for nodes with no online memory (Al Stone) [1803969] - [acpi] HMAT: Register attributes for memory hot add (Al Stone) [1803969] - [acpi] HMAT: Register memory-side cache after parsing (Al Stone) [1803969] - [acpi] ACPI / processor: don't print errors for processorIDs == 0xff (Al Stone) [1803969] - [acpi] ACPI: PM: Print debug messages on device power state changes (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Execute LPS0 _DSM functions with suspended devices (Al Stone) [1803969] - [acpi] ACPI: EC: PM: Make acpi_ec_dispatch_gpe() print debug message (Al Stone) [1803969] - [acpi] ACPI: EC: PM: Consolidate some code depending on PM_SLEEP (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Eliminate acpi_sleep_no_ec_events() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Switch EC over to polling during "noirq" suspend (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Add acpi.sleep_no_lps0 module parameter (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Rearrange lps0_device_attach() (Al Stone) [1803969] - [acpi] ACPI / APEI: Get rid of NULL_UUID_LE constant (Al Stone) [1803969] - [acpi] ACPI: PM: Set up EC GPE for system wakeup from drivers that need it (Al Stone) [1803969] - [acpi] PM: sleep: Simplify suspend-to-idle control flow (Al Stone) [1803969] - [kernel] PCI: irq: Introduce rearm_wake_irq() (Al Stone) [1803969] - [acpi] ACPI: PM: Set s2idle_wakeup earlier and clear it later (Al Stone) [1803969] - [acpi] ACPI: EC: Return bool from acpi_ec_dispatch_gpe() (Al Stone) [1803969] - [acpi] ACPICA: Return u32 from acpi_dispatch_gpe() (Al Stone) [1803969] - [kernel] kernel/sysctl.c: ignore out-of-range taint bits introduced via kernel.tainted (Rafael Aquini) [1845358] - [documentation] kernel: add panic_on_taint (Rafael Aquini) [1845358] - [mm] hugetlbfs: fix changes to command line processing (Baoquan He) [1823769] - [documentation] hugetlbfs: clean up command line processing (Baoquan He) [1823769] - [mm] hugetlbfs: remove hugetlb_add_hstate() warning for existing hstate (Baoquan He) [1823769] - [mm] hugetlbfs: move hugepagesz= parsing to arch independent code (Baoquan He) [1823769] - [mm] mm: simplify MEMORY_ISOLATION && COMPACTION || CMA into CONTIG_ALLOC (Baoquan He) [1823769] - [mm] hugetlbfs: add arch_hugetlb_valid_size (Baoquan He) [1823769] - [mm] arm64/hugetlb: Use macros for contiguous huge page sizes (Baoquan He) [1823769] - [mm] arm64: hugetlb: Register hugepages during arch init (Baoquan He) [1823769] - [fs] xfs: prohibit fs freezing when using empty transactions (Brian Foster) [1845099] - [security] selinux: properly handle multiple messages in selinux_netlink_send() (Ondrej Mosnacek) [1839643] {CVE-2020-10751} - [mm] bdi: add a ->dev_name field to struct backing_dev_info (Ming Lei) [1788378] - [block] bdi: use bdi_dev_name() to get device name (Ming Lei) [1788378] - [mm] bdi: move bdi_dev_name out of line (Ming Lei) [1788378] - [fs] memcg: fix a crash in wb_workfn when a device disappears (Ming Lei) [1788378]- [tools] libbpf: provide backported RHEL symbols as upstream aliases 2 (Yauheni Kaliuta) [1813372] - [include] bpf: include/linux/bpf.h: fix spaces (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add test for freplace program with expected_attach_type (Yauheni Kaliuta) [1813372] - [scripts] checkpatch: don't warn about new vsprintf pointer extension 'pe' (Yauheni Kaliuta) [1813372] - [s390] s390: enable bpf jit by default when not built as always-on (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Copy runqslower to OUTPUT directory (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix memory leak in test selector (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix huge memory leak in libbpf_find_vmlinux_btf_id() (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add runqslower binary to .gitignore (Yauheni Kaliuta) [1813372] - [net] bpf: Change kvfree to kfree in generic_map_lookup_batch() (Yauheni Kaliuta) [1813372] - [tools] bpf, selftests: Use bpf_probe_read_kernel (Yauheni Kaliuta) [1813372] - [net] bpf/cgroup: Replace rcu_swap_protected() with rcu_replace_pointer() (Yauheni Kaliuta) [1813372] - [net] bpf: Fix bug in mmap() implementation for BPF array map (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Validate frozen map contents stays frozen (Yauheni Kaliuta) [1813372] - [net] bpf: Fix handling of XADD on BTF memory (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Run SYN cookies with reuseport BPF test only for TCP (Yauheni Kaliuta) [1813372] - [tools] bpftool: Fix typo in bash-completion (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix handling of optional field_name in btf_dump__emit_type_decl (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Declare bpf_log_buf variables as static (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix a couple of broken test_btf cases (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Enforce returning 0 for fentry/fexit programs (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix BPF_KRETPROBE macro and use it in attach_probe test (Yauheni Kaliuta) [1813372] - [net] bpf: Propagate expected_attach_type when verifying freplace programs (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix trampoline_count clean up logic (Yauheni Kaliuta) [1813372] - [net] bpf: Explicitly memset some bpf info structures declared on the stack (Yauheni Kaliuta) [1813372] - [net] bpf: Explicitly memset the bpf_attr structure (Yauheni Kaliuta) [1813372] - [net] bpf: Sanitize the bpf_struct_ops tcp-cc name (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add test for the packed enum member in struct/union (Yauheni Kaliuta) [1813372] - [net] bpf/btf: Fix BTF verification of enum members in struct/union (Yauheni Kaliuta) [1813372] - [net] bpf: Fix cgroup ref leak in cgroup_bpf_inherit on out-of-memory (Yauheni Kaliuta) [1813372] - [net] bpf: Initialize storage pointers to NULL to prevent freeing garbage pointer (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Add test for JMP32 JSET BPF_X with upper bits set (Yauheni Kaliuta) [1813372] - [x86] bpf, x32: Fix bug with JMP32 JSET BPF_X checking upper bits (Yauheni Kaliuta) [1813372] - [net] bpf: Do not allow map_freeze in struct_ops map (Yauheni Kaliuta) [1813372] - [net] bpf: Return better error value in delete_elem for struct_ops map (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add send_signal_sched_switch test (Yauheni Kaliuta) [1813372] - [kernel] bpf: Fix deadlock with rq_lock in bpf_send_signal() (Yauheni Kaliuta) [1813372] - [net] bpf: Fix a potential deadlock with bpf_map_do_batch (Yauheni Kaliuta) [1813372] - [net] bpf: Do not grab the bucket spinlock by default on htab batch ops (Yauheni Kaliuta) [1813372] - [tools] libbpf: Sanitise internal map names so they are not rejected by the kernel (Yauheni Kaliuta) [1813372] - [tools] bpf, uapi: Remove text about bpf_redirect_map() giving higher performance (Yauheni Kaliuta) [1813372] - [net] bpf, offload: Replace bitwise AND by logical AND in bpf_prog_offload_info_fill (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Mark SYN cookie test skipped for UDP sockets (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix error checking on reading the tcp_fastopen sysctl (Yauheni Kaliuta) [1813372] - [net] bpf: Make btf_check_func_type_match() static (Yauheni Kaliuta) [1813372] - [tools] bpf: Selftests build error in sockmap_basic.c (Yauheni Kaliuta) [1813372] - [net] bpf: Improve bucket_log calculation logic (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Test freeing sockmap/sockhash with a socket in it (Yauheni Kaliuta) [1813372] - [tools] tools/bpf/runqslower: Rebuild libbpf.a on libbpf source change (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix trampoline_count.c selftest compilation warning (Yauheni Kaliuta) [1813372] - [net] bpf: Fix modifier skipping logic (Yauheni Kaliuta) [1813372] - [tools] bpftool: Remove redundant "HAVE" prefix from the large INSN limit check (Yauheni Kaliuta) [1813372] - [tools] runqslower: Fix Makefile (Yauheni Kaliuta) [1813372] - [net] bpf: Reuse log from btf_prase_vmlinux() in btf_struct_ops_init() (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add test based on port range for BPF flow dissector (Yauheni Kaliuta) [1813372] - [net] bpf: map_seq_next should always increase position index (Yauheni Kaliuta) [1813372] - [tools] tools/bpf: Allow overriding llvm tools for runqslower (Yauheni Kaliuta) [1813372] - [tools] selftest/bpf: Add test for allowed trampolines count (Yauheni Kaliuta) [1813372] - [net] bpf: Allow to resolve bpf trampoline and dispatcher in unwind (Yauheni Kaliuta) [1813372] - [net] bpf: Allow BTF ctx access for string pointers (Yauheni Kaliuta) [1813372] - [tools] libbpf: Improve handling of failed CO-RE relocations (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Reset global state between reuseport test runs (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Make reuseport test output more legible (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Ignore FIN packets for reuseport tests (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Use a temporary file in test_sockmap (Yauheni Kaliuta) [1813372] - [tools] bpftool: Print function linkage in BTF dump (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Improve bpftool changes detection (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Initialize duration variable before using (Yauheni Kaliuta) [1813372] - [tools] bpf: tcp: Add bpf_cubic example (Yauheni Kaliuta) [1813372] - [tools] bpf: Sync uapi bpf.h to tools/ (Yauheni Kaliuta) [1813372] - [net] bpf: Add BPF_FUNC_jiffies64 (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add tests for program extensions (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add support for program extensions (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce dynamic program extensions (Yauheni Kaliuta) [1813372] - [scripts] bpf, btf: Always output invariant hit in pahole DWARF to BTF transform (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Build urandom_read with LDFLAGS and LDLIBS (Yauheni Kaliuta) [1813372] - [net] bpf: Fix error path under memory pressure (Yauheni Kaliuta) [1813372] - [net] bpf: don't bother with getname/kern_path - use user_path_at (Yauheni Kaliuta) [1813372] - [tools] selftests: Refactor build to remove tools/lib/bpf from include path (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Use consistent include paths for libbpf (Yauheni Kaliuta) [1813372] - [tools] bpftool: Use consistent include paths for libbpf (Yauheni Kaliuta) [1813372] - [tools] runsqslower: Support user-specified libbpf include and object paths (Yauheni Kaliuta) [1813372] - [tools] tools/runqslower: Remove tools/lib/bpf from include path (Yauheni Kaliuta) [1813372] - [tools] selftests: Use consistent include paths for libbpf (Yauheni Kaliuta) [1813372] - [tools] tools/runqslower: Use consistent include paths for libbpf (Yauheni Kaliuta) [1813372] - [tools] selftests: Pass VMLINUX_BTF to runqslower Makefile (Yauheni Kaliuta) [1813372] - [tools] tools/bpf/runqslower: Fix override option for VMLINUX_BTF (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Don't try to remove user's homedir on clean (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Skip perf hw events test if the setup disabled it (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Don't check for btf fd in test_btf (Yauheni Kaliuta) [1813372] - [net] bpf: Fix memory leaks in generic update/delete batch ops (Yauheni Kaliuta) [1813372] - [tools] libbpf: Load btf_vmlinux only once per object (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix potential multiplication overflow in mmap() size calculation (Yauheni Kaliuta) [1813372] - [tools] libbpf: Simplify BTF initialization logic (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix error handling bug in btf_dump__new (Yauheni Kaliuta) [1813372] - [net] bpf: Remove set but not used variable 'first_key' (Yauheni Kaliuta) [1813372] - [tools] libbpf: Revert bpf_helper_defs.h inclusion regression (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix test_progs send_signal flakiness with nmi mode (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix unneeded extra initialization in bpf_map_batch_common (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add whitelist/blacklist of test names to test_progs (Yauheni Kaliuta) [1813372] - [tools] bpftool: Support dumping a map with btf_vmlinux_value_type_id (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add struct_ops map name (Yauheni Kaliuta) [1813372] - [tools] libbpf: Expose bpf_find_kernel_btf as a LIBBPF_API (Yauheni Kaliuta) [1813372] - [tools] bpftool: Fix missing BTF output for json during map dump (Yauheni Kaliuta) [1813372] - [tools] bpftool: Fix a leak of btf object (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add batch ops testing to array bpf map (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add batch ops testing for htab and htab_percpu map (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add libbpf support to batch ops (Yauheni Kaliuta) [1813372] - [tools] tools/bpf: Sync uapi header bpf.h (Yauheni Kaliuta) [1813372] - [net] bpf: Add batch ops to all htab bpf map (Yauheni Kaliuta) [1813372] - [net] bpf: Add lookup and update batch ops to arraymap (Yauheni Kaliuta) [1813372] - [net] bpf: Add generic support for update and delete batch ops (Yauheni Kaliuta) [1813372] - [net] bpf: Add generic support for lookup batch op (Yauheni Kaliuta) [1813372] - [net] bpf: Add bpf_map_{value_size, update_value, map_copy_value} functions (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add a test for attaching a bpf fentry/fexit trace to an XDP program (Yauheni Kaliuta) [1813372] - [tools] tools/bpf: Add self tests for bpf_send_signal_thread() (Yauheni Kaliuta) [1813372] - [kernel] bpf: Add bpf_send_signal_thread() helper (Yauheni Kaliuta) [1813372] - [net] bpf: Fix seq_show for BPF_MAP_TYPE_STRUCT_OPS (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Build runqslower from selftests (Yauheni Kaliuta) [1813372] - [tools] tools/bpf: Add runqslower tool to tools/bpf (Yauheni Kaliuta) [1813372] - [tools] bpftool: Apply preserve_access_index attribute to all types in BTF dump (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Conform selftests/bpf Makefile output to libbpf and bpftool (Yauheni Kaliuta) [1813372] - [scripts] libbpf: Clean up bpf_helper_defs.h generation output (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add BPF_PROG, BPF_KPROBE, and BPF_KRETPROBE macros (Yauheni Kaliuta) [1813372] - [tools] libbpf: Poison kernel-only integer types (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add unit tests for global functions (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Modify a test to check global functions (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add a test for a large global function (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add fexit-to-skb test for global funcs (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce function-by-function verification (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Further clean up Makefile output (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Ensure bpf_helper_defs.h are taken from selftests dir (Yauheni Kaliuta) [1813372] - [tools] libbpf,selftests/bpf: Fix clean targets (Yauheni Kaliuta) [1813372] - [tools] libbpf: Make bpf_map order and indices stable (Yauheni Kaliuta) [1813372] - [tools] bpf: Document BPF_F_QUERY_EFFECTIVE flag (Yauheni Kaliuta) [1813372] - [tools] bpf: Add bpf_dctcp example (Yauheni Kaliuta) [1813372] - [tools] bpf: libbpf: Add STRUCT_OPS support (Yauheni Kaliuta) [1813372] - [tools] bpf: Synch uapi bpf.h to tools/ (Yauheni Kaliuta) [1813372] - [net] bpf: Add BPF_FUNC_tcp_send_ack helper (Yauheni Kaliuta) [1813372] - [net] bpf: tcp: Support tcp_congestion_ops in bpf (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce BPF_MAP_TYPE_STRUCT_OPS (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce BPF_PROG_TYPE_STRUCT_OPS (Yauheni Kaliuta) [1813372] - [net] bpf: Support bitfield read access in btf_struct_access (Yauheni Kaliuta) [1813372] - [net] bpf: Add enum support to btf_ctx_access() (Yauheni Kaliuta) [1813372] - [net] bpf: Avoid storing modifier to info->btf_id (Yauheni Kaliuta) [1813372] - [net] bpf: Save PTR_TO_BTF_ID register state when spilling to stack (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Restore original comm in test_overhead (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add misc section and probe for large INSN limit (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add probe for large INSN limit (Yauheni Kaliuta) [1813372] - [tools] bpftool: Make skeleton C code compilable with C++ compiler (Yauheni Kaliuta) [1813372] - [tools] bpf: Print error message for bpftool cgroup show (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Xdp_redirect_cpu fix missing tracepoint attach (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add option to specify transmit fill pattern (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add option to specify tx packet size (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add option to specify number of packets to send (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add option to specify batch size (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Use common code to handle signal and main exit (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add duration option to specify how long to run (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Preserve errno in test_progs CHECK macros (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Test BPF_F_REPLACE in cgroup_attach_multi (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Convert test_cgroup_attach to prog_tests (Yauheni Kaliuta) [1813372] - [tools] libbpf: Introduce bpf_prog_attach_xattr (Yauheni Kaliuta) [1813372] - [net] bpf: Support replacing cgroup-bpf program in MULTI mode (Yauheni Kaliuta) [1813372] - [net] bpf: Remove unused new_flags in hierarchy_allows_attach() (Yauheni Kaliuta) [1813372] - [net] bpf: Simplify __cgroup_bpf_attach (Yauheni Kaliuta) [1813372] - [net] bpf: Remove unnecessary assertion on fp_old (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix another __u64 printf warning (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix printing of ulimit value (Yauheni Kaliuta) [1813372] - [tools] libbpf: BTF is required when externs are present (Yauheni Kaliuta) [1813372] - [tools] libbpf: Allow to augment system Kconfig through extra optional config (Yauheni Kaliuta) [1813372] - [tools] libbpf: Put Kconfig externs into .kconfig section (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add bpf_link__disconnect() API to preserve underlying BPF resource (Yauheni Kaliuta) [1813372] - [tools] bpf: Allow to change skb mark in test_run (Yauheni Kaliuta) [1813372] - [tools] bpftool: Work-around rst2man conversion bug (Yauheni Kaliuta) [1813372] - [tools] bpftool: Simplify format string to not use positional args (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add gen subcommand manpage (Yauheni Kaliuta) [1813372] - [tools] libbpf: Remove BPF_EMBED_OBJ macro from libbpf.h (Yauheni Kaliuta) [1813372] - [tools] bpftool, selftests/bpf: Embed object file inside skeleton (Yauheni Kaliuta) [1813372] - [tools] libbpf: Reduce log level for custom section names (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix libbpf_common.h when installing libbpf through 'make install' (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: More succinct Makefile output (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add zlib as a dependency in pkg-config template (Yauheni Kaliuta) [1813372] - [tools] libbpf: Print hint about ulimit when getting permission denied error (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Attach XDP programs in driver mode by default (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Set -fno-stack-protector when building BPF programs (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Add missing -lz to TPROGS_LDLIBS (Yauheni Kaliuta) [1813372] - [tools] bpftool: Fix compilation warning on shadowed variable (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix build by renaming variables (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add flexible array relocation tests (Yauheni Kaliuta) [1813372] - [tools] libbpf: Support flexible arrays in CO-RE (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add tests for libbpf-provided externs (Yauheni Kaliuta) [1813372] - [tools] bpftool: Generate externs datasec in BPF skeleton (Yauheni Kaliuta) [1813372] - [tools] libbpf: Support libbpf-provided extern variables (Yauheni Kaliuta) [1813372] - [tools] libbpf: Extract internal map names into constants (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add `gen skeleton` BASH completions (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add test validating data section to struct convertion layout (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Convert few more selftest to skeletons (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add BPF skeletons selftests and convert attach_probe.c (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add skeleton codegen command (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add BPF object skeleton support (Yauheni Kaliuta) [1813372] - [tools] libbpf: Reduce log level of supported section names dump (Yauheni Kaliuta) [1813372] - [tools] libbpf: Postpone BTF ID finding for TRACING programs to load phase (Yauheni Kaliuta) [1813372] - [tools] libbpf: Refactor global data map initialization (Yauheni Kaliuta) [1813372] - [tools] libbpf: Expose BPF program's function name (Yauheni Kaliuta) [1813372] - [tools] libbpf: Expose BTF-to-C type declaration emitting API (Yauheni Kaliuta) [1813372] - [tools] libbpf: Expose btf__align_of() API (Yauheni Kaliuta) [1813372] - [tools] libbpf: Extract common user-facing helpers (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add BPF_EMBED_OBJ macro for embedding BPF .o files (Yauheni Kaliuta) [1813372] - [tools] libbpf: Move non-public APIs from libbpf.h to libbpf_internal.h (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add generic bpf_program__attach() (Yauheni Kaliuta) [1813372] - [tools] libbpf: Don't require root for bpf_object__open() (Yauheni Kaliuta) [1813372] - [tools] bpftool: Match maps by name (Yauheni Kaliuta) [1813372] - [tools] bpftool: Match programs by name (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Test wire_len/gso_segs in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813372] - [net] bpf: Expose __sk_buff wire_len/gso_segs to BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813372] - [x86] bpf, x86: Align dispatcher branch targets to 16B (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Add xdp_perf test (Yauheni Kaliuta) [1813372] - [net] bpf: Start using the BPF dispatcher in BPF_TEST_RUN (Yauheni Kaliuta) [1813372] - [net] bpf, xdp: Start using the BPF dispatcher for XDP (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce BPF dispatcher (Yauheni Kaliuta) [1813372] - [net] bpf: Move trampoline JIT image allocation to a function (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix perf_buffer test on systems w/ offline CPUs (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add CPU mask parsing tests (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Switch reuseport tests for test_progs framework (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Move reuseport tests under prog_tests/ (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Pull up printing the test name into test runner (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Propagate errors during setup for reuseport tests (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Run reuseport tests in a loop (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Unroll the main loop in reuseport test (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add helpers for getting socket family & type name (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Use sa_family_t everywhere in reuseport tests (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Let libbpf determine program type from section name (Yauheni Kaliuta) [1813372] - [tools] libbpf: Recognize SK_REUSEPORT programs from section name (Yauheni Kaliuta) [1813372] - [arm64] bpf, x86, arm64: Enable jit by default when not built as always-on (Yauheni Kaliuta) [1813372] - [net] bpf: Switch to offsetofend in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813372] - [tools] libbpf: Bump libpf current version to v0.0.7 (Yauheni Kaliuta) [1813372] - [fs] vmalloc: fix remap_vmalloc_range() bounds checks (Yauheni Kaliuta) [1813370] - [net] bpf: Prevent re-mmap()'ing BPF map as writable for initially r/o mapping (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: fix test_sysctl_prog with alu32 (Yauheni Kaliuta) [1813370] - [powerpc] powerpc/bpf: Enable bpf_probe_read{, str}() on powerpc again (Yauheni Kaliuta) [1813370] - [kernel] bpf: Restrict bpf_trace_printk()'s s usage and add pks, pus specifier (Yauheni Kaliuta) [1813370] - [lib] printf: add support for printing symbolic error names (Yauheni Kaliuta) [1813370] - [net] bpf: Add bpf_probe_read_{user, kernel}_str() to do_refine_retval_range (Yauheni Kaliuta) [1813370] - [arm64] bpf: Restrict bpf_probe_read{, str}() only to archs where they work (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Fix accounting bug with direct->count in register_ftrace_direct() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Return the first found result in lookup_rec() (Yauheni Kaliuta) [1813370] - [net] bpf: Undo incorrect __reg_bound_offset32 handling (Yauheni Kaliuta) [1813370] - [net] bpf: Fix tnum constraints for 32-bit comparisons (Yauheni Kaliuta) [1813370] - [x86] x86: Fix kernel-doc atomic.h warnings (Yauheni Kaliuta) [1813370] - [net] bpf: Fix trampoline usage in preempt (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Reintroduce missed build targets (Yauheni Kaliuta) [1813370] - [trace] bpf: Reliably preserve btf_trace_xxx types (Yauheni Kaliuta) [1813370] - [include] bpf: Avoid setting bpf insns pages read-only when prog is jited (Yauheni Kaliuta) [1813370] - [scripts] bpf: Force .BTF section start to zero when dumping from vmlinux (Yauheni Kaliuta) [1813370] - [scripts] bpf: Support pre-2.25-binutils objcopy for vmlinux BTF (Yauheni Kaliuta) [1813370] - [net] bpfilter: remove superfluous testing message (Jiri Benc) [1819632] - [net] bpfilter: fix dprintf usage for /dev/kmsg (Jiri Benc) [1819632] - [net] bpf, sockmap: Remove bucket->lock from sock_{hash|map}_free (Jiri Benc) [1819632] - [netdrv] veth: ignore peer tx_dropped when counting local rx_dropped (Jiri Benc) [1819632] - [net] xsk: Publish global consumer pointers when NAPI is finished (Jiri Benc) [1819632] - [kernel] bpf, xdp: Remove no longer required rcu_read_{un}lock() (Jiri Benc) [1819632] - [netdrv] bpf, xdp: virtio_net use access ptr macro for xdp enable check (Jiri Benc) [1819632] - [kernel] bpf, xdp: Update devmap comments to reflect napi/rcu usage (Jiri Benc) [1819632] - [net] xsk, net: Make sock_def_readable() have external linkage (Jiri Benc) [1819632] - [kernel] devmap: Adjust tracepoint for map-less queue flush (Jiri Benc) [1819632] - [net] xdp: Use bulking for non-map XDP_REDIRECT and consolidate code paths (Jiri Benc) [1819632] - [net] xdp: Move devmap bulk queue into struct net_device (Jiri Benc) [1819632] - [net] xsk: Support allocations of large umems (Jiri Benc) [1819632] - [tools] Sync uapi/linux/if_link.h (Jiri Benc) [1819632] - [net] bpf: Return -EBADRQC for invalid map type in __bpf_tx_xdp_map (Jiri Benc) [1819632] - [net] flow_dissector: fix document for skb_flow_get_icmp_tci (Jiri Benc) [1819632] - [net] xsk: Use struct_size() helper (Jiri Benc) [1819632] - [net] xsk: Add function naming comments and reorder functions (Jiri Benc) [1819632] - [net] xsk: Remove unnecessary READ_ONCE of data (Jiri Benc) [1819632] - [net] xsk: ixgbe: i40e: ice: mlx5: Xsk_umem_discard_addr to xsk_umem_release_addr (Jiri Benc) [1819632] - [net] xsk: Change names of validation functions (Jiri Benc) [1819632] - [net] xsk: Simplify the consumer ring access functions (Jiri Benc) [1819632] - [net] xsk: Simplify xskq_nb_avail and xskq_nb_free (Jiri Benc) [1819632] - [net] xsk: Eliminate the RX batch size (Jiri Benc) [1819632] - [net] xsk: Standardize naming of producer ring access functions (Jiri Benc) [1819632] - [net] xsk: Consolidate to one single cached producer pointer (Jiri Benc) [1819632] - [net] xsk: Simplify detection of empty and full rings (Jiri Benc) [1819632] - [net] xsk: Eliminate the lazy update threshold (Jiri Benc) [1819632] - [net] xdp: Simplify __bpf_tx_xdp_map() (Jiri Benc) [1819632] - [net] xdp: Remove map_to_flush and map swap detection (Jiri Benc) [1819632] - [net] xdp: Make cpumap flush_list common for all map instances (Jiri Benc) [1819632] - [net] xdp: Make devmap flush_list common for all map instances (Jiri Benc) [1819632] - [net] xsk: Make xskmap flush_list common for all map instances (Jiri Benc) [1819632] - [kernel] xdp: Fix graze->grace type-o in cpumap comments (Jiri Benc) [1819632] - [kernel] xdp: Simplify cpumap cleanup (Jiri Benc) [1819632] - [kernel] xdp: Simplify devmap cleanup (Jiri Benc) [1819632] - [net] sysctl: Fix compiler warning when only cBPF is present (Jiri Benc) [1819631] - [net] dsa: fix flow dissection on Tx path (Jiri Benc) [1819631] - [net] page_pool: add the possibility to sync DMA memory for device (Jiri Benc) [1819631] - [net] xsk: Fix xsk_poll()'s return type (Jiri Benc) [1819631] - [tools] net-af_xdp: Use correct number of channels from ethtool (Jiri Benc) [1819631] - [net] xdp: remove memory poison on free for struct xdp_mem_allocator (Jiri Benc) [1819631] - [documentation] xsk: Extend documentation for Rx|Tx-only sockets and shared umems (Jiri Benc) [1819631] - [net] xsk: Restructure/inline XSKMAP lookup/redirect/flush (Jiri Benc) [1819631] - [kernel] xsk: Store struct xdp_sock as a flexible array member of the XSKMAP (Jiri Benc) [1819631] - [include] xdp: Fix type of string pointer in __XDP_ACT_SYM_TAB (Jiri Benc) [1819631] - [documentation] xsk: Improve documentation for AF_XDP (Jiri Benc) [1819631] - [tools] Sync if_link.h (Jiri Benc) [1819631] - [net] xdp: Trivial, fix spelling in function description (Jiri Benc) [1819631] - [netdrv] netdevsim: Use scnprintf() for avoiding potential buffer overflow (Jiri Benc) [1819631] - [netdrv] netdevsim: fix ptr_ret.cocci warnings (Jiri Benc) [1819631] - [netdrv] netdevsim: remove unused sdev code (Jiri Benc) [1819631] - [netdrv] netdevsim: use IS_ERR instead of IS_ERR_OR_NULL for debugfs (Jiri Benc) [1819631] - [netdrv] netdevsim: fix stack-out-of-bounds in nsim_dev_debugfs_init() (Jiri Benc) [1819631] - [netdrv] netdevsim: fix panic in nsim_dev_take_snapshot_write() (Jiri Benc) [1819631] - [net] openvswitch: New MPLS actions for layer 2 tunnelling (Guillaume Nault) [1839760] - [net] Rephrased comments section of skb_mpls_pop() (Guillaume Nault) [1839760] - [net] skb_mpls_push() modified to allow MPLS header push at start of packet. (Guillaume Nault) [1839760] - [net] Change in Openvswitch to support MPLS label depth of 3 in ingress direction (Guillaume Nault) [1839182] - [block] block: fix use-after-free on cached last_lookup partition (Ming Lei) [1787968]- [drm] drm/prime: fix extracting of the DMA addresses from a scatterlist (Jerry Snitselaar) [1815610] - [iommu] iommu: Check for deferred attach in iommu_group_do_dma_attach() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Add get_domain_info() helper (Jerry Snitselaar) [1815610] - [iommu] iommu: Don't take group reference in iommu_alloc_default_domain() (Jerry Snitselaar) [1815610] - [iommu] iommu: Don't call .probe_finalize() under group->mutex (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Apply per-device dma_ops (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Allow PCI sub-hierarchy to use DMA domain (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Allow 32bit devices to uses DMA domain (Jerry Snitselaar) [1815610] - [iommu] iommu: Do not probe devices on IOMMU-less busses (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix variable "iommu" set but not used (Jerry Snitselaar) [1815610] - [iommu] iommu: Unexport iommu_group_get_for_dev() (Jerry Snitselaar) [1815610] - [iommu] iommu: Move more initialization to __iommu_probe_device() (Jerry Snitselaar) [1815610] - [iommu] iommu: Remove add_device()/remove_device() code-paths (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Axe a useless test in 'arm_smmu_master_alloc_smes()' (Jerry Snitselaar) [1815610] - [iommu] iommu/s390: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove dev_data->passthrough (Jerry Snitselaar) [1815610] - [iommu] iommu: Export bus_iommu_probe() and make is safe for re-probing (Jerry Snitselaar) [1815610] - [iommu] iommu: Move iommu_group_create_direct_mappings() out of iommu_group_add_device() (Jerry Snitselaar) [1815610] - [iommu] iommu: Split off default domain allocation from group assignment (Jerry Snitselaar) [1815610] - [iommu] iommu: Move new probe_device path to separate function (Jerry Snitselaar) [1815610] - [iommu] iommu: Keep a list of allocated groups in __iommu_probe_device() (Jerry Snitselaar) [1815610] - [iommu] iommu: Move default domain allocation to iommu_probe_device() (Jerry Snitselaar) [1815610] - [iommu] iommu: Add probe_device() and release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Return -ENODEV in add_device when device is not handled by IOMMU (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove dma_mask check from check_device() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Wire up iommu_ops->def_domain_type (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Implement iommu_ops->def_domain_type call-back (Jerry Snitselaar) [1815610] - [iommu] iommu: Add def_domain_type() callback in iommu_ops (Jerry Snitselaar) [1815610] - [iommu] iommu: Move default domain allocation to separate function (Jerry Snitselaar) [1815610] - [iommu] iommu: Fix reference count leak in iommu_group_alloc (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Remove real DMA lookup in find_domain (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Allocate domain info for real DMA sub-devices (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Only clear real DMA device's context entries (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix get_acpihid_device_id() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Switch to use acpi_dev_hid_uid_match() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix over-read of ACPI UID from IVRS table (Jerry Snitselaar) [1815610] - [iommu] iommu: Fix deferred domain attachment (Jerry Snitselaar) [1815610] - [include] iommu: Move fwspec->iommu_priv to struct dev_iommu (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Use accessor functions for iommu private data (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Refactor master_cfg/fwspec usage (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Use accessor functions for iommu private data (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Improve add_device() error handling (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Return -EBUSY when trying to re-add a device (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Fix resource_size check (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Populate VMID field for CMDQ_OP_TLBI_NH_VA (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Drop __GFP_ZERO flag from DMA allocation (Jerry Snitselaar) [1815610] - [include] iommu: Introduce accessors for iommu private data (Jerry Snitselaar) [1815610] - [acpi] ACPI/IORT: Remove direct access of dev->iommu_fwspec (Jerry Snitselaar) [1815610] - [include] iommu: Define dev_iommu_fwspec_get() for !CONFIG_IOMMU_API (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Do not flush Device Table in iommu_map_page() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Update Device Table in increase_address_space() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Call domain_flush_complete() in update_domain() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Do not loop forever when trying to increase address space (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix race in increase_address_space()/fetch_pte() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system (Jerry Snitselaar) [1815610] - [iommu] iommu: Fix the memory leak in dev_iommu_free() (Jerry Snitselaar) [1815610] - [include] iommu: Move iommu_fwspec to struct dev_iommu (Jerry Snitselaar) [1815610] - [include] iommu: Rename struct iommu_param to dev_iommu (Jerry Snitselaar) [1815610] - [iommu] iommu/of: Take a ref to the IOMMU driver during ->of_xlate() (Jerry Snitselaar) [1815610] - [iommu] drivers/iommu: Take a ref to the IOMMU driver prior to ->add_device() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix mm reference leak (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix the configuration of GCR3 table root pointer (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Silence RCU-list debugging warning in dmar_find_atsr() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix page request descriptor size (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Populate debugfs if IOMMUs are detected (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Ignore devices with out-of-spec domain number (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix the wrong printing in RHSA parsing (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix debugfs register reads (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: quirk_ioat_snb_local_iommu: replace WARN_TAINT with pr_warn + add_taint (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: dmar_parse_one_rmrr: replace WARN_TAINT with pr_warn + add_taint (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: dmar: replace WARN_TAINT with pr_warn + add_taint (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Silence RCU-list debugging warnings (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix RCU-list bugs in intel_iommu_init() (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: Fix MSI reservation allocation (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix a bug in intel_iommu_iova_to_phys() for huge page (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Disable IOMMU on Stoney Ridge systems (Jerry Snitselaar) [1815610] - [iommu] iommu: intel: Use generic_iommu_put_resv_regions() (Jerry Snitselaar) [1815610] - [iommu] iommu: amd: Use generic_iommu_put_resv_regions() (Jerry Snitselaar) [1815610] - [iommu] iommu: arm: Use generic_iommu_put_resv_regions() (Jerry Snitselaar) [1815610] - [iommu] iommu: Implement generic_iommu_put_resv_regions() (Jerry Snitselaar) [1815610] - [iommu] iommu/iova: Silence warnings under memory pressure (Jerry Snitselaar) [1815610] - [iommu] iommu: Fix Kconfig indentation (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Remove unnecessary WARN_ON_ONCE() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Unnecessary to handle default identity domain (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Add RMRR base and end addresses sanity check (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Mark firmware tainted if RMRR fails sanity check (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Don't reject Host Bridge due to scope mismatch (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Loose requirement for flush queue initializaton (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Avoid iova flush queue in strict mode (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: trace: Extend map_sg trace event (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Avoid sending invalid page response (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix off-by-one in PASID allocation (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Avoid duplicated code for PASID setup (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Reject SVM bind for failed capability check (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Match CPU and IOMMU paging mode (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix CPU and IOMMU SVM feature matching checks (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Remove VMD child device sanity check (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Use pci_real_dma_dev() for mapping (Jerry Snitselaar) [1815610] - [pci] PCI: Introduce pci_real_dma_dev() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove the unnecessary assignment (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove unused struct member (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Replace two consecutive readl calls with one readq (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix typos for PPR macros (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove local variables (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove unused variable (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Only support x2APIC with IVHD type 11h/40h (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Check feature support bit before accessing MSI capability registers (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Treat per-device exclusion ranges as r/w unity-mapped regions (Jerry Snitselaar) [1815610] - [iommu] iommu: Use C99 flexible array in fwspec (Jerry Snitselaar) [1833512 1815610] - [iommu] drivers/iommu: Allow IOMMU bus ops to be unregistered (Jerry Snitselaar) [1815610] - [iommu] iommu/of: Request ACS from the PCI core when configuring IOMMU linkage (Jerry Snitselaar) [1815610] - [iommu] drivers/iommu: Export core IOMMU API symbols to permit modular drivers (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix IOMMU perf counter clobbering during init (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: fix variable 'cookie' set but not used (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Unlink device if failed to add to group (Jerry Snitselaar) [1815610] - [iommu] iommu: Remove device link to group on failure (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix adding non-PCI devices to Intel IOMMU (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: Relax locking in iommu_dma_prepare_msi() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Remove incorrect PSI capability check (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: Rationalise types for DMA masks (Jerry Snitselaar) [1815610] - [iommu] iommu/iova: Init the struct iova to fix the possible memleak (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Check VT-d RMRR region in BIOS is reported as reserved (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Turn off translations at shutdown (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Support multiple PCI DMA aliases in device table (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Do not re-fetch iommu->cmd_buf_tail (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Pass gfp flags to iommu_map_page() in amd_iommu_map() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Simpify decoding logic for INVALID_PPR_REQUEST event (Jerry Snitselaar) [1815610] - [drm] drm/prime: use dma length macro when mapping sg (Jerry Snitselaar) [1815610] - [drm] drm/amdgpu: fix scatter-gather mapping with user pages (Jerry Snitselaar) [1815610] - [drm] drm/radeon: fix scatter-gather mapping with user pages (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Convert AMD iommu driver to the dma-iommu api (Jerry Snitselaar) [1815610] - [iommu] iommu/dma-iommu: Use the dev->coherent_dma_mask (Jerry Snitselaar) [1815610] - [iommu] iommu/dma-iommu: Handle deferred devices (Jerry Snitselaar) [1815610] - [include] iommu: KABI cleanup (Jerry Snitselaar) [1815610] - [iommu] iommu: Add gfp parameter to iommu_ops::map (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove unnecessary locking from AMD iommu driver (Jerry Snitselaar) [1815610] - [iommu] drivers: iommu: hyperv: Make HYPERV_IOMMU only available on x86 (Jerry Snitselaar) [1815610] - [include] iommu/vt-d: Fix QI_DEV_IOTLB_PFSID and QI_DEV_EIOTLB_PFSID macros (Jerry Snitselaar) [1815610] - [iommu] iommu: pass cell_count = -1 to of_for_each_phandle with cells_name (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Free context bitmap in the err path of arm_smmu_init_domain_context (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Return the correct dma mask when we are bypassing the IOMMU (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Apply the same IVRS IOAPIC workaround to Acer Aspire A315-41 (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Mask TLBI address correctly (Jerry Snitselaar) [1815610] - [iommu] iommu: Remove wrong default domain comments (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: Fix for dereferencing before null checking (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Declare Broadwell igfx dmar support snafu (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Add Scalable Mode fault information (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Use bounce buffer for untrusted devices (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Add trace events for device dma map/unmap (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Don't switch off swiotlb if bounce page is used (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Check whether device requires bounce buffer (Jerry Snitselaar) [1815610] - [dma] swiotlb: Split size parameter to map/unmap APIs (Jerry Snitselaar) [1815610] - [xen] swiotlb-xen: use ->map_page to implement ->map_sg (Jerry Snitselaar) [1815610] - [xen] swiotlb-xen: make instances match their method names (Jerry Snitselaar) [1815610] - [uapi] iommu: Add padding to struct iommu_fault (Jerry Snitselaar) [1815610] - [iommu] iommu: Add recoverable fault reporting (Jerry Snitselaar) [1815610] - [iommu] iommu: Introduce device fault report API (Jerry Snitselaar) [1815610] - [include] driver core: Add per device iommu param (Jerry Snitselaar) [1815610] - [uapi] iommu: Introduce device fault data (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Silence warnings under memory pressure (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Override wrong IVRS IOAPIC on Raven Ridge systems (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Use dma_direct for bypass devices (Jerry Snitselaar) [1815610] - [dma] dma-direct: don't check swiotlb=force in dma_direct_map_resource (Jerry Snitselaar) [1815610] - [mm] dma-mapping: remove the default map_resource implementation (Jerry Snitselaar) [1815610] - [iommu] Revert "iommu/vt-d: Fix lock inversion between iommu->lock and device_domain_lock" (Jerry Snitselaar) [1815610 1813666] - [dma] dma-direct: don't truncate dma_required_mask to bus addressing capabilities (Jerry Snitselaar) [1815610] - [acpi] ACPI / utils: Introduce acpi_dev_hid_uid_match() helper (Jerry Snitselaar) [1815610] - [security] efi: Only print errors about failing to get certs if EFI vars are found (Lenny Szubowicz) [1804969] - [infiniband] RDMA/iw_cxgb4: Fix incorrect function parameters (Vishal Kulkarni) [1828676] - [infiniband] RDMA/iw_cxgb4: initiate CLOSE when entering TERM (Vishal Kulkarni) [1828676] - [infiniband] RDMA/iw_cgxb4: Fix an error handling path in 'c4iw_connect()' (Vishal Kulkarni) [1828676] - [infiniband] RDMA/iw_cxgb4: Avoid freeing skb twice in arp failure case (Vishal Kulkarni) [1828676] - [infiniband] iw_cxgb4: fix ECN check on the passive accept (Vishal Kulkarni) [1828676] - [vfio] vfio/pci: fix memory leaks of eventfd ctx (Alex Williamson) [1837678] - [vfio] vfio/pci: fix memory leaks in alloc_perm_bits() (Alex Williamson) [1837678] - [vfio] vfio: avoid possible overflow in vfio_iommu_type1_pin_pages (Alex Williamson) [1837678] - [vfio] vfio/mdev: make create attribute static (Alex Williamson) [1837678] - [vfio] vfio/type1: remove hugepage checks in is_invalid_reserved_pfn() (Alex Williamson) [1837678] - [vfio] vfio/type1: Initialize resv_msi_base (Alex Williamson) [1837678] - [vfio] vfio_pci: Restore original state on release (Alex Williamson) [1837678] - [uapi] vfio: re-arrange vfio region definitions (Alex Williamson) [1837678] - [vfio] mdev: Send uevents around parent device registration (Alex Williamson) [1837678] - [vfio] vfio/mdev: Synchronize device create/remove with parent removal (Alex Williamson) [1837678] - [vfio] vfio/mdev: Avoid creating sysfs remove file on stale device removal (Alex Williamson) [1837678] - [vfio] vfio/mdev: Improve the create/remove sequence (Alex Williamson) [1837678] - [vfio] vfio/mdev: Avoid inline get and put parent helpers (Alex Williamson) [1837678] - [vfio] vfio/mdev: Fix aborting mdev child device removal if one fails (Alex Williamson) [1837678] - [vfio] vfio/mdev: Follow correct remove sequence (Alex Williamson) [1837678] - [vfio] vfio/mdev: Avoid masking error code to EBUSY (Alex Williamson) [1837678] - [vfio] vfio/mdev: Removed unused kref (Alex Williamson) [1837678] - [vfio] vfio/mdev: Avoid release parent reference during error path (Alex Williamson) [1837678] - [uapi] vfio-ccw: add handling for async channel instructions (Alex Williamson) [1837678] - [uapi] vfio-ccw: add capabilities chain (Alex Williamson) [1837678] - [vfio] vfio: Fix WARNING "do not call blocking ops when !TASK_RUNNING" (Alex Williamson) [1837678] - [vfio] vfio/pci: use correct format characters (Alex Williamson) [1837678] - [vfio] vfio: expand minor range when registering chrdev region (Alex Williamson) [1837678] - [vfio] vfio/mdev: add static modifier to add_mdev_supported_type (Alex Williamson) [1837678] - [vfio] vfio/type1: Remove map_try_harder() code path (Alex Williamson) [1837678] - [vfio] vfio/pci: Fix potential memory leak in vfio_msi_cap_len (Alex Williamson) [1837678] - [vfio] vfio: Mark expected switch fall-throughs (Alex Williamson) [1837678] - [fs] gfs2: Only do glock put in gfs2_create_inode for free inodes (Robert S Peterson) [1831666] - [fs] gfs2: Grab glock reference sooner in gfs2_add_revoke (Robert S Peterson) [1831666] - [fs] Revert "gfs2: Don't demote a glock until its revokes are written" (Robert S Peterson) [1831666] - [fs] signal: Fix wrong PIDTYPE_TGID check in send_sigio() & send_sigurg() (Waiman Long) [1845597] - [md] dm mpath: add DM device name to Failing/Reinstating path log messages (Mike Snitzer) [1822975] - [md] dm mpath: enhance queue_if_no_path debugging (Mike Snitzer) [1822975] - [md] dm mpath: restrict queue_if_no_path state machine (Mike Snitzer) [1822975] - [md] dm mpath: simplify __must_push_back (Mike Snitzer) [1822975] - [md] dm: use DMDEBUG macros now that they use pr_debug variants (Mike Snitzer) [1822975] - [include] dm: use dynamic debug instead of compile-time config option (Mike Snitzer) [1822975] - [md] dm mpath: switch paths in dm_blk_ioctl() code path (Mike Snitzer) [1822975] - [md] dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath (Mike Snitzer) [1822975] - [tools] selftests: mlxsw: qos_mc_aware: Specify arping timeout as an integer (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload fails (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl_tcam: Position vchunk in a vregion list properly (Ivan Vecera) [1821646] - [netdrv] mlxsw: Fix some IS_ERR() vs NULL bugs (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_VLAN_MANGLE (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_PRIORITY (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: fix unintention integer overflow on left shift (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for devlink-trap policers (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Add support for setting of packet trap group parameters (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Switch to use correct packet trap group (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Do not initialize dedicated discard policer (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Add devlink-trap policer support (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Prepare policers for registration with devlink (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Track used packet trap policer IDs (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Extend QPCR register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_ptp: Fix build warnings (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Avoid uninitialized symbol errors (Ivan Vecera) [1821646] - [netdrv] mlxsw: switchx2: Remove unnecessary conversion to bool (Ivan Vecera) [1821646] - [netdrv] mlxsw: core_acl: Avoid defining static variable in header file (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Remove unused RIF and FID families (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Add proper function documentation (Ivan Vecera) [1821646] - [netdrv] mlxsw: i2c: Add missing field documentation (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_mr: Fix list iteration in error path (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: qos_dscp_router: Test no DSCP rewrite after pedit (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Offload FLOW_ACTION_MANGLE (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add DSCP, ECN, dscp_rw to QOS_ACTION (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Rename mlxsw_afa_qos_cmd to mlxsw_afa_qos_switch_prio_cmd (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Explicitly register packet trap groups (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Fix 64-bit division in mlxsw_sp_counter_resources_register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Offload FLOW_ACTION_PRIORITY (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add QOS_ACTION (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Only issue reset when system is ready (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add tc action hw_stats tests (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Expose devlink resource occupancy for counters (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Consolidate subpools initialization (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Move config validation along with resource register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Expose subpool sizes over devlink resources (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Add entry_size_res_id for each subpool and use it to query entry size (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Move sub_pools under per-instance pool struct (Ivan Vecera) [1821646] - [tools] selftests: spectrum-2: Adjust tc_flower_scale limit according to current counter count (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Query bank size from FW resources (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Increase register field length to 31 bits (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: RED: Test RED ECN nodrop offload (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Offload RED ECN nodrop mode (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Ask device for rule stats only if counter was created (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Support offloading of FIFO Qdisc (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Add handle parameter to ..._ops.replace (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Introduce struct mlxsw_sp_qdisc_state (Ivan Vecera) [1821646] - [netdrv] net: mlxfw: Replace zero-length array with flexible-array member (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: qos_defprio: Use until_counter_is (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Wait longer before accessing the device after reset (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Update module_type values in PMTM register and map them to width (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: resource_scale: Invoke for Spectrum-3 (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Reduce router scale running time using offload indication (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Reduce running time using offload indication (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add shared buffer traffic test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add mlxsw lib (Ivan Vecera) [1821646] - [tools] selftests: devlink_lib: Add devlink port helpers (Ivan Vecera) [1821646] - [tools] selftests: devlink_lib: Check devlink info command is supported (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add shared buffer configuration test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Use busywait helper in rtnetlink test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Use busywait helper in vxlan test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Use busywait helper in blackhole routes test (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_l3_drops: Avoid race condition (Ivan Vecera) [1821646] - [tools] selftests: add a mirror test to mlxsw tc flower restrictions (Ivan Vecera) [1821646] - [tools] selftests: add egress redirect test to mlxsw tc flower restrictions (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add mlxsw_sp_span_ops.buffsize_get for Spectrum-3 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Initialize advertised speeds to supported speeds (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Move the ECN-marked packet counter to ethtool (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_switchdev: Optimize SFN records processing (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Lookup and pass cookie down to devlink_trap_report() (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Extract cookie index for ACL discard trap packets (Ivan Vecera) [1821646] - [netdrv] mlxsw: core_acl_flex_actions: Implement flow_offload action cookie offload (Ivan Vecera) [1821646] - [netdrv] mlxsw: core_acl_flex_actions: Add trap with userdef action (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: fix spelling mistake: "progamming" -> "programming" (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_acl_drops: Add ACL traps test (Ivan Vecera) [1821646] - [tools] selftests: pass pref and handle to devlink_trap_drop_* helpers (Ivan Vecera) [1821646] - [tools] selftests: introduce test for mlxsw tc flower restrictions (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Add ACL devlink-trap support (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Introduce dummy group with thin policer (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Extend MLXSW_RXL_DIS to register disabled trap group (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Allow to enable/disable rx_listener for trap (Ivan Vecera) [1821646] - [netdrv] mlxsw: acl_flex_actions: Trap all ACL dropped packets to DISCARD_*_ACL traps (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Pass the ingress indication down to flex action (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Disable mixed bound blocks to contain action drop (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Track ingress and egress block bindings (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Prepare mlxsw_core_trap_action_set() to handle not only action (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Use listener->en/dis_action instead of hard-coded values (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Allow to register disabled traps using MLXSW_RXL_DIS (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Set unreg_action to be SET_FW_DEFAULT (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Remove unused values (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Remove priv from listener equality comparison (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Make block arg const where appropriate (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Make global arrays const as they should be (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Remove initialization to false of mlxsw_listener struct (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Convert is_event and is_ctrl bools to be single bits (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Remove dummy union name from struct mlxsw_listener (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Remove unused action field from mlxsw_rx_listener struct (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Move policer initialization to mlxsw_sp_trap_init() (Ivan Vecera) [1821646] - [netdrv] mlxsw: core_acl_flex_actions: Rename Trap / Discard Action to Trap Action (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Move functions to avoid their forward declarations (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Use err variable instead of directly checking func return value (Ivan Vecera) [1821646] - [netdrv] net/mlx5: Add fsm_reactivate callback support (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Add reactivate flow support to FSM burn flow (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Use MLXFW_ERR_MSG macro for error reporting (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Convert pr_* to dev_* in mlxfw_fsm.c (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: More error messages coverage (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Improve FSM err message reporting and return codes (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Generic mlx FW flash status notify (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Remove RTNL where possible (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Take router lock from exported helpers (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Take router lock from inetaddr listeners (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Take router lock from netdev listener (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_dpipe: Take router lock from dpipe code (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Take router lock from inside routing code (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Introduce router lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Store NVE decapsulation configuration in router (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Expose router struct to internal users (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_mr: Protect multicast route list with a lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_mr: Protect multicast table list with a lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_mr: Publish multicast route after writing it to the device (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_nve: Make tunnel initialization symmetric (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Export function to check if RIF exists (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Prevent RIF access outside of routing code (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Prepare function for router lock introduction (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Prepare function for router lock introduction (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Do not assume RTNL is taken when resolving underlay device (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Do not assume RTNL is taken during RIF teardown (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Do not assume RTNL is taken during nexthop init (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Only update mirroring agents if present (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Convert callers to use new mirroring API (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Prepare work item to update mirroring agents (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Use struct_size() to simplify allocation (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Do no expose mirroring agents to entire driver (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Protect counter pool with a lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_kvdl: Protect allocations with a lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: Replace zero-length array with flexible-array member (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: vxlan: Add test for error path (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: vxlan: Adjust test to recent changes (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: extack: Test creation of multiple VLAN-aware bridges (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: extack: Test bridge creation with VXLAN (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Remove deprecated test (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Reduce dependency between bridge and router code (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_switchdev: Remove VXLAN checks during FID membership (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_switchdev: Have VXLAN device take reference on FID (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_switchdev: Propagate extack to bridge creation function (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_fid: Use 'refcount_t' for FID reference counting (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_dpipe: Add missing error path (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add validation of hardware device types for MGPIR register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Clear offload indication from IPv6 nexthops on abort (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for local table route replacement (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Fix 64-bit division error in mlxsw_sp_qdisc_tbf_rate_kbps (Ivan Vecera) [1821646] - [netdrv] mlxsw: minimal: Fix an error handling path in 'mlxsw_m_port_create()' (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Support offloading of TBF Qdisc (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Configure shaper rate and burst size together (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add lowest_shaper_bs to struct mlxsw_sp (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Increase MLXSW_REG_QEEC_MAS_DIS (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add max_shaper_bs to QoS ETS Element Configuration (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Extract a common leaf unoffload function (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Add mlxsw_sp_qdisc_get_class_stats() (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Extract a per-TC stat function (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Fix use-after-free during reload (Ivan Vecera) [1821646] - [netdrv] spectrum: Add a delayed work to update SPAN buffsize according to speed (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Fix SPAN egress mirroring buffer size for Spectrum-2 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Put buffsize update code into helper function (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Push code getting port speed into a helper (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_tunnel_vxlan: Add test case for overlay_smac_is_mc (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add OVERLAY_SMAC_MC trap (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_tunnel_ipip: Add test case for decap_error (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_tunnel_vxlan: Add test case for decap_error (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add tunnel devlink-trap support (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Reorder cases according to enum order (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add ECN configurations with IPinIP tunnels (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add Tunneling IPinIP Decapsulation ECN Mapping Register (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add Tunneling IPinIP Encapsulation ECN Mapping Register (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add NON_ROUTABLE trap (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_l3_drops: Add test cases of irif and erif disabled (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add irif and erif disabled traps (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Include MC TCs in Qdisc counters (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Wipe xstats.backlog of down ports (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: qos_mc_aware: Fix mausezahn invocation (Ivan Vecera) [1821646] - [netdrv] mlxsw: switchx2: Do not modify cloned SKBs during xmit (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Do not modify cloned SKBs during xmit (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Do not enforce same firmware version for multiple ASICs (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test for FIB offload API (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Set hardware flags for routes (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Separate nexthop offload indication from route (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Only require minimum firmware version (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Update firmware version to xx.2000.2714 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Ignore grafting of invisible FIFO (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Disable DIP_LINK_LOCAL check in hardware pipeline (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Disable SIP_DIP check in hardware pipeline (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Disable MC_DMAC check in hardware pipeline (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Disable SIP_CLASS_E check in hardware pipeline (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_dcb: Allow setting default port priority (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add QoS Port DSCP to Priority Mapping Register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Support offloading of ETS Qdisc (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Generalize PRIO offload to support ETS (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Rename MLXSW_REG_QEEC_HIERARCY_* enumerators (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Clarify a comment (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use dedicated policer for VRRP packets (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Skip loopback RIFs during MAC validation (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Fix out-of-memory error in mfa2 flash burning (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Fix use of uninitialized adjacency index (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: After underlay moves, demote conflicting tunnels (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Check devlink device before running test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add router scale test for Spectrum-2 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Fix determining underlay for a GRE tunnel (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Verify FSM error code translation doesn't exceed array size (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Allocate discard adjacency entry when needed (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Enable EMAD string TLV (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add support for using EMAD string TLV (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Extend EMAD information reported to devlink hwerr (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add support for EMAD string TLV parsing (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add EMAD string TLV (Ivan Vecera) [1821646] - [netdrv] mlxsw: emad: Remove deprecated EMAD TLVs (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Parse TLVs' offsets of incoming EMADs (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Enable devlink reload only on probe (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for devlink-trap layer 3 exceptions (Ivan Vecera) [1821646] - [tools] selftests: forwarding: devlink: Add functionality for trap exceptions test (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add layer 3 devlink-trap exceptions support (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add specific trap for packets routed via invalid nexthops (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add new FIB entry type for reject routes (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for devlink-trap layer 3 drops (Ivan Vecera) [1821646] - [tools] selftests: devlink: Make devlink_trap_cleanup() more generic (Ivan Vecera) [1821646] - [tools] selftests: devlink: Export functions to devlink library (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add layer 3 devlink-trap support (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Fix error return code in mlxsw_sp_port_module_info_init() (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Generalize split count check (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Iterate over all ports in gap during unsplit create (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Fix base port get for split count 4 and 8 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use port_module_max_width to compute base port index (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Remember split base local port and use it in unsplit (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Introduce resource for getting offset of 4 lanes split port (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Push getting offsets of split ports into a helper (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add sanity checks into module info get (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Pass mapping values in port mapping structure (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use mapping of port being split for creating split ports (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Replace port_to_module array with array of structs (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Distinguish between unsplittable and split port (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Move max_width check up before count check (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use PMTM register to get max module width (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add Port Module Type Mapping Register (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Extend PMLP tx/rx lane value size to 4 bits (Ivan Vecera) [1821646] - [netdrv] mlxsw: Fix 64-bit division in mlxsw_sp_sb_prs_init (Ivan Vecera) [1821646] - [netdrv] mlxsw: Enforce firmware version for Spectrum-2 (Ivan Vecera) [1821646] - [netdrv] mlxsw: Bump firmware version to 13.2000.2308 (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Increase PCI reset timeout for SN3800 systems (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Increase size of MPAR register (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Unpublish devlink parameters during reload (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_buffers: remove unneeded semicolon (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_buffers: Calculate the size of the main pool (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use guaranteed buffer size as pool size limit (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Extend QSFP EEPROM size for ethtool (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add macro for getting QSFP module EEPROM page number (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Push Ethernet header before reporting trap (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add Spectrum-2 target scale for tc flower scale test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add a resource scale test for Spectrum-2 (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add Spectrum-2 mirror-to-gretap target scale test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Generalize the parameters of mirror_gre test (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Register switched port analyzers (SPAN) as resource (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add support for 400Gbps (50Gbps per lane) link modes (Ivan Vecera) [1821646] - [netdrv] mlxsw: minimal: Add validation for FW version (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Push minor/subminor fw version check into helper (Ivan Vecera) [1821646] - [netdrv] mlxsw: thermal: Provide optimization for QSFP modules number detection (Ivan Vecera) [1821646] - [netdrv] mlxsw: hwmon: Provide optimization for QSFP modules number detection (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Extend MGPIR register with new field exposing the number of QSFP modules (Ivan Vecera) [1821646] - [netdrv] mlxsw: Propagate extack down to register_fib_notifier() (Ivan Vecera) [1821646] - [netdrv] mlxsw: Register port netdevices into net of core (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Take devlink net instead of init_net (Ivan Vecera) [1821646] - [netdrv] mlxsw: PCI: Send EMAD traffic on a separate queue (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use per-netns netdevice notifier registration (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Fail in case user specifies multiple mirror actions (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Clear VLAN filters during port initialization (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_buffers: Add the ability to query the CPU port's shared buffer (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Register CPU port with devlink (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_buffers: Prevent changing CPU port's configuration (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add a test case for devlink-trap (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for devlink-trap L2 drops (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add devlink-trap support (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add trap group for layer 2 discards (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add layer 2 discard trap IDs (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add new trap actions (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add API to set trap action (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Extend to support Spectrum-3 ASIC (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Forbid to offload match on reserved TCP flags bits (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Track rules that forbid egress block bind (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Forbid to offload mirred redirect on egress (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Increase scale of IPv6 nexthop groups (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Expose KVD size for Spectrum-2 (Ivan Vecera) [1821646] - [netdrv] geneve: change from tx_error to tx_dropped on missing metadata (Jiri Benc) [1843412] - [net] mptcp: use untruncated hash in ADD_ADDR HMAC (Florian Westphal) [1840167] - [net] mptcp: use rightmost 64 bits in ADD_ADDR HMAC (Florian Westphal) [1840167] - [tools] selftests: mptcp: pm: rm the right tmp file (Florian Westphal) [1840167] - [net] mptcp: cope better with MP_JOIN failure (Florian Westphal) [1840167] - [net] inet_connection_sock: factor out destroy helper. (Florian Westphal) [1840167] - [net] mptcp: add new sock flag to deal with join subflows (Florian Westphal) [1840167] - [net] mptcp: Initialize map_seq upon subflow establishment (Florian Westphal) [1840167] - [net] mptcp: set correct vfs info for subflows (Florian Westphal) [1840167] - [net] mptcp: fix uninitialized value access (Florian Westphal) [1840167] - [net] mptcp: initialize the data_fin field for mpc packets (Florian Westphal) [1840167] - [net] mptcp: fix 'use_ack' option access. (Florian Westphal) [1840167] - [net] mptcp: avoid a WARN on bad input. (Florian Westphal) [1840167] - [net] mptcp: move option parsing into mptcp_incoming_options() (Florian Westphal) [1840167] - [net] mptcp: consolidate synack processing. (Florian Westphal) [1840167] - [net] mptcp: replace mptcp_disconnect with a stub (Florian Westphal) [1840167] - [net] mptcp: fix race in msk status update (Florian Westphal) [1840167] - [net] tcp: mptcp: use mptcp receive buffer space to select rcv window (Florian Westphal) [1840167] - [net] mptcp/pm_netlink.c : add check for nla_put_in/6_addr (Florian Westphal) [1840167] - [net] mptcp: fix data_fin handing in RX path (Florian Westphal) [1840167] - [net] mptcp: drop req socket remote_key* fields (Florian Westphal) [1840167] - [net] mptcp: avoid flipping mp_capable field in syn_recv_sock() (Florian Westphal) [1840167] - [net] mptcp: handle mptcp listener destruction via rcu (Florian Westphal) [1840167] - [net] mptcp: fix 'Attempt to release TCP socket in state' warnings (Florian Westphal) [1840167] - [net] mptcp: fix splat when incoming connection is never accepted before exit/close (Florian Westphal) [1840167] - [net] mptcp: fix double-unlock in mptcp_poll (Florian Westphal) [1840167] - [net] mptcp: add some missing pr_fmt defines (Florian Westphal) [1840167] - [net] mptcp: fix "fn parameter not described" warnings (Florian Westphal) [1840167] - [net] mptcp: re-check dsn before reading from subflow (Florian Westphal) [1840167] - [net] mptcp: subflow: check parent mptcp socket on subflow state change (Florian Westphal) [1840167] - [net] mptcp: fix tcp fallback crash (Florian Westphal) [1840167] - [tools] selftests:mptcp: fix failure due to whitespace damage (Florian Westphal) [1840167] - [tools] selftests: add test-cases for MPTCP MP_JOIN (Florian Westphal) [1840167] - [tools] selftests: add PM netlink functional tests (Florian Westphal) [1840167] - [net] mptcp: add netlink-based PM (Florian Westphal) [1840167] - [net] mptcp: add and use MIB counter infrastructure (Florian Westphal) [1840167] - [net] mptcp: allow dumping subflow context to userspace (Florian Westphal) [1840167] - [net] mptcp: implement and use MPTCP-level retransmission (Florian Westphal) [1840167] - [net] mptcp: rework mptcp_sendmsg_frag to accept optional dfrag (Florian Westphal) [1840167] - [net] mptcp: allow partial cleaning of rtx head dfrag (Florian Westphal) [1840167] - [net] mptcp: implement memory accounting for mptcp rtx queue (Florian Westphal) [1840167] - [net] mptcp: introduce MPTCP retransmission timer (Florian Westphal) [1840167] - [net] mptcp: queue data for mptcp level retransmission (Florian Westphal) [1840167] - [net] mptcp: update per unacked sequence on pkt reception (Florian Westphal) [1840167] - [net] mptcp: Implement path manager interface commands (Florian Westphal) [1840167] - [net] mptcp: Add handling of outgoing MP_JOIN requests (Florian Westphal) [1840167] - [net] mptcp: Add handling of incoming MP_JOIN requests (Florian Westphal) [1840167] - [net] mptcp: Add path manager interface (Florian Westphal) [1840167] - [net] mptcp: Add ADD_ADDR handling (Florian Westphal) [1840167] - [net] tcp: annotate sk->sk_wmem_queued lockless reads (Florian Westphal) [1840167] - [net] mptcp: don't hang in mptcp_sendmsg() after TCP fallback (Florian Westphal) [1840167] - [net] mptcp: Remove set but not used variable 'can_ack' (Florian Westphal) [1840167] - [net] mptcp: rename fourth ack field (Florian Westphal) [1840167] - [net] mptcp: move msk state update to subflow_syn_recv_sock() (Florian Westphal) [1840167] - [net] mptcp: drop unneeded checks (Florian Westphal) [1840167] - [net] mptcp: create msk early (Florian Westphal) [1840167] - [net] mptcp: don't hang before sending 'MP capable with data' (Florian Westphal) [1840167] - [net] mptcp: don't grow mptcp socket receive buffer when rcvbuf is locked (Florian Westphal) [1840167] - [tools] mptcp: selftests: add rcvbuf set option (Florian Westphal) [1840167] - [net] mptcp: always include dack if possible. (Florian Westphal) [1840167] - [net] mptcp: Only send DATA_FIN with final mapping (Florian Westphal) [1840167] - [net] mptcp: Use per-subflow storage for DATA_FIN sequence number (Florian Westphal) [1840167] - [net] mptcp: Check connection state before attempting send (Florian Westphal) [1840167] - [net] mptcp: add dummy icsk_sync_mss() (Florian Westphal) [1840167] - [net] mptcp: defer work schedule until mptcp lock is released (Florian Westphal) [1840167] - [net] mptcp: avoid work queue scheduling if possible (Florian Westphal) [1840167] - [net] mptcp: remove mptcp_read_actor (Florian Westphal) [1840167] - [net] mptcp: add rmem queue accounting (Florian Westphal) [1840167] - [net] mptcp: update mptcp ack sequence from work queue (Florian Westphal) [1840167] - [net] mptcp: add work queue skeleton (Florian Westphal) [1840167] - [net] mptcp: add and use mptcp_data_ready helper (Florian Westphal) [1840167] - [net] xfrm: fix a NULL-ptr deref in xfrm_local_error (Xin Long) [1835208] - [net] xfrm: add IPv6 support for espintcp (Sabrina Dubroca) [1446392] - [net] xfrm: add support for UDPv6 encapsulation of ESP (Sabrina Dubroca) [1446392] - [net] xfrm: ifdef setsockopt(UDP_ENCAP_ESPINUDP/UDP_ENCAP_ESPINUDP_NON_IKE) (Sabrina Dubroca) [1446392] - [net] esp: Export esp_output_fill_trailer function (Sabrina Dubroca) [1446392] - [net] udp: fix jump label misuse (Sabrina Dubroca) [1446392] - [net] udp: implement complete book-keeping for encap_needed (Sabrina Dubroca) [1446392] - [net] xfrm: espintcp: save and call old ->sk_destruct (Sabrina Dubroca) [1446392] - [net] xfrm: add espintcp (RFC 8229) (Sabrina Dubroca) [1446392] - [net] esp4: split esp_output_udp_encap and introduce esp_output_encap (Sabrina Dubroca) [1446392] - [net] esp4: prepare esp_input_done2 for non-UDP encapsulation (Sabrina Dubroca) [1446392] - [net] xfrm: add route lookup to xfrm4_rcv_encap (Sabrina Dubroca) [1446392] - [net] xfrm: introduce xfrm_trans_queue_net (Sabrina Dubroca) [1446392] - [net] add queue argument to __skb_wait_for_more_packets and __skb_{, try_}recv_datagram (Sabrina Dubroca) [1446392] - [net] use skb_queue_empty_lockless() in busy poll contexts (Sabrina Dubroca) [1446392] - [include] net: add skb_queue_empty_lockless() (Sabrina Dubroca) [1446392] - [net] add READ_ONCE() annotation in __skb_wait_for_more_packets() (Sabrina Dubroca) [1446392] - [net] datagram: remove rendundant 'peeked' argument (Sabrina Dubroca) [1446392] - [tools] kvm: selftests: fix rdtsc() for vmx_tsc_adjust_test (Vitaly Kuznetsov) [1841490] - [x86] kvm: lapic: Also cancel preemption timer when disarm LAPIC timer (Vitaly Kuznetsov) [1841490] - [s390] kvm_host: unify VM_STAT and VCPU_STAT definitions in a single place (Vitaly Kuznetsov) [1841490] - [x86] kvm/x86: Remove redundant function implementations (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: VMX preemption timer migration test (Vitaly Kuznetsov) [1841490] - [tools] tools arch kvm: Sync kvm headers with the kernel sources (Vitaly Kuznetsov) [1841490] - [tools] tools headers uapi: Update tools's copy of kvm.h headers (Vitaly Kuznetsov) [1841490] - [tools] tools headers: Sync the various kvm.h header copies (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Fix VMX preemption timer migration (Vitaly Kuznetsov) [1841490] - [uapi] x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit (Vitaly Kuznetsov) [1841490] - [virt] kvm: introduce kvm_read_guest_offset_cached() (Vitaly Kuznetsov) [1841490] - [virt] kvm: rename kvm_arch_can_inject_async_page_present() to kvm_arch_can_dequeue_async_page_present() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Replace zero-length array with flexible-array (Vitaly Kuznetsov) [1841490] - [virt] revert "kvm: No need to retry for hva_to_pfn_remapped()" (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: implement KVM_GET_NESTED_STATE and KVM_SET_NESTED_STATE (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: fix smm test on SVM (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: add a SVM version of state-test (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: introduce cpu_has_svm() check (Vitaly Kuznetsov) [1841490] - [x86] kvm: mmu: pass arbitrary CR0/CR4/EFER to kvm_init_shadow_mmu (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: leave guest mode when clearing EFER.SVME (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: split nested_vmcb_check_controls (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove HF_HIF_MASK (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove HF_VINTR_MASK (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: synthesize correct EXITINTINFO on vmexit (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: preserve VGIF across VMCB switch (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: extract svm_set_gif (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove unnecessary if (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: synchronize VMCB controls updated by the processor on every vmexit (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: restore clobbered INT_CTL fields after clearing VINTR (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: save all control fields in svm->nested (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove trailing padding for struct vmcb_control_area (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: pass vmcb_control_area to copy_vmcb_control_area (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: clean up tsc_offset update (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: move MMU setup to nested_prepare_vmcb_control (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: extract preparation of VMCB for nested run (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: extract load_nested_vmcb_control (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: move map argument out of enter_svm_guest_mode (Vitaly Kuznetsov) [1841490] - [virt] kvm: check userspace_addr for all memslots (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: always update CR3 in VMCS (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: always update CR3 in VMCB (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: correctly inject INIT vmexits (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove exit_required (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: inject exceptions via svm_check_nested_events (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: enable event window in inject_pending_event (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: track manually whether an event has been injected (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Preserve registers modifications done before nested_svm_vmexit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Initialize tdp_level during vCPU creation (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: leave ASID aside in copy_vmcb_control_area (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: fix condition for filtering async PF (Vitaly Kuznetsov) [1841490] - [x86] kvm: Fix the indentation to match coding style (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: replace "fall through" with "return" to indicate different case (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Take an unsigned 32-bit int for has_emulated_msr()'s index (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Remove superfluous brackets from case statement (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: allow KVM_STATE_NESTED_MTF_PENDING in kvm_state flags (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: simplify is_mmio_spte (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: don't expose MSR_IA32_UMWAIT_CONTROL unconditionally (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: enable X86_FEATURE_WAITPKG in KVM capabilities (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Set mmio_value to '0' if reserved #PF can't be generated (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: only do L1TF workaround on affected processors (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Migrate the VMX-preemption timer (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Change emulated VMX-preemption timer hrtimer to absolute (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Really make emulated nested preemption timer pinned (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Remove unused 'ops' param from nested_vmx_hardware_setup() (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Remove unnecessary V_IRQ unsetting (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Merge svm_enable_vintr into svm_set_vintr (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Handle preemption timer fastpath (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: TSCDEADLINE MSR emulation fastpath (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: introduce kvm_can_use_hv_timer (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Optimize posted-interrupt delivery for timer fastpath (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Introduce more exit_fastpath_completion enum values (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Introduce kvm_vcpu_exit_request() helper (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Print symbolic names of VMX VM-Exit flags in traces (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Introduce generic fastpath handler (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Drop superfluous VMREAD of vmcs02.GUEST_SYSENTER_* (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Truncate writes to vmcs.SYSENTER_EIP/ESP for 32-bit vCPU (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Improve handle_external_interrupt_irqoff inline assembly (Vitaly Kuznetsov) [1841490] - [documentation] kvm: documentation: Fix up cpuid page (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Sanity check on gfn before removal (Vitaly Kuznetsov) [1841490] - [virt] kvm: No need to retry for hva_to_pfn_remapped() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Force ASYNC_PF_PER_VCPU to be power of two (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Remove unneeded __ASM_SIZE usage with POP instruction (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Add a helper to consolidate root sp allocation (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Drop KVM's hugepage enums in favor of the kernel's enums (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Move max hugepage level to a separate #define (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Tweak PSE hugepage handling to avoid 2M vs 4M conundrum (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Cleanup vcpu->arch.guest_xstate_size (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Tweak handling of failure code for nested VM-Enter failure (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Capture TDP level when updating CPUID (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Move nested EPT out of kvm_x86_ops.get_tdp_level() hook (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Add proper cache tracking for CR0 (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Add proper cache tracking for CR4 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Unconditionally validate CR3 during nested transitions (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Save L1 TSC offset in 'struct kvm_vcpu_arch' (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Skip IBPB when temporarily switching between vmcs01 and vmcs02 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Skip IBPB when switching between vmcs01 and vmcs02 (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Use accessor to read vmcs.INTR_INFO when handling exception (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: handle wrap around 32-bit address space (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Replace late check_nested_events() hack with more precise fix (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Use vmx_get_rflags() to query RFLAGS in vmx_interrupt_blocked() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Use vmx_interrupt_blocked() directly from vmx_handle_exit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: WARN on injected+pending exception even in nested case (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Preserve IRQ/NMI/SMI priority irrespective of exiting behavior (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Report interrupts as allowed when in L2 and exit-on-interrupt is set (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Prioritize SMI over nested IRQ/NMI (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Preserve IRQ/NMI priority irrespective of exiting behavior (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Split out architectural interrupt/NMI/SMI blocking checks (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Split out architectural interrupt/NMI blocking checks (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Move SMI vmexit handling to svm_check_nested_events() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Report NMIs as allowed when in L2 and Exit-on-NMI is set (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Report NMIs as allowed when in L2 and Exit-on-NMI is set (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: replace is_smm checks with kvm_x86_ops.smi_allowed (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Make return for {interrupt_nmi, smi}_allowed() a bool instead of int (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Set KVM_REQ_EVENT if run is canceled with req_immediate_exit set (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Open a window for pending nested VMX preemption timer (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Preserve exception priority irrespective of exiting behavior (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Implement check_nested_events for NMI (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: immediately inject INTR vmexit (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: leave halted state on vmexit (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: introduce nested_run_pending (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Fix pkru save/restore when guest CR4.PKE=0, move it to x86.c (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Disable AVIC before setting V_IRQ (Vitaly Kuznetsov) [1841490] - [virt] kvm: Introduce kvm_make_all_cpus_request_except() (Vitaly Kuznetsov) [1841490] - [tools] kvm: vmx: pass correct DR6 for GD userspace exit (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86, svm: isolate vcpu->arch.dr6 from vmcb->save.dr6 (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: keep DR6 synchronized with vcpu->arch.dr6 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: trap #DB and #BP to userspace if guest debugging is on (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add KVM_SET_GUEST_DEBUG test (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Fix single-step with KVM_SET_GUEST_DEBUG (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Set RTM for DB_VECTOR too for KVM_EXIT_DEBUG (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: fix DR6 delivery for various cases of #DB injection (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Declare KVM_CAP_SET_GUEST_DEBUG properly (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Fix build for evmcs.h (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Use KVM CPU capabilities to determine CR4 reserved bits (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Explicitly clear RFLAGS.CF and RFLAGS.ZF in VM-Exit RSB path (Vitaly Kuznetsov) [1841490] - [x86] kvm: ioapic: Restrict lazy EOI update to edge-triggered interrupts (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Fixes posted interrupt check for IRQs delivery modes (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: fill in kvm_run->debug.arch.dr[67] (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Replace a BUG_ON(1) with BUG() to squash clang warning (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: do not allow VMRUN inside SMM (Vitaly Kuznetsov) [1841490] - [virt] kvm: add capability for halt polling (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Store vmcs.EXIT_QUALIFICATION as an unsigned long, not u32 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Drop a redundant call to vmx_get_intr_info() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: move nested-related kvm_x86_ops to a separate struct (Vitaly Kuznetsov) [1841490] - [x86] kvm: evmcs: check if nesting is enabled (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: check_nested_events is never NULL (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm/set_memory_region_test: do not check RIP if the guest shuts down (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: avoid infinite loop on NPF from bad address (Vitaly Kuznetsov) [1841490] - [x86] kvm: Remove redundant argument to kvm_arch_vcpu_ioctl_run (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Check for CR0.CD and CR0.NW on VMRUN of nested guests (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Improve latency for single target IPI fastpath (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Optimize handling of VM-Entry failures in vmx_vcpu_run() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Remove non-functional "support" for CR3 target values (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Avoid an extra memslot lookup in try_async_pf() for L2 (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Set @writable to false for non-visible accesses by L2 (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Cache vmcs.EXIT_INTR_INFO using arch avail_reg flags (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Cache vmcs.EXIT_QUALIFICATION using arch avail_reg flags (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Drop manual clearing of segment cache on nested VMCS switch (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Reset register cache (available and dirty masks) on VMCS switch (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Invoke ept_save_pdptrs() if and only if PAE paging is enabled (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Rename exit_reason to vm_exit_reason for nested VM-Exit (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Cast exit_reason to u16 to check for nested EXTERNAL_INTERRUPT (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Pull exit_reason from vcpu_vmx in nested_vmx_reflect_vmexit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Drop a superfluous WARN on reflecting EXTERNAL_INTERRUPT (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Split VM-Exit reflection logic into L0 vs. L1 wants (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: match comment with return type for nested_vmx_exit_reflected (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Move nested VM-Exit tracepoint into nested_vmx_reflect_vmexit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Move VM-Fail check out of nested_vmx_exit_reflected() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Uninline nested_vmx_reflect_vmexit(), i.e. move it to nested.c (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Move reflection check into nested_vmx_reflect_vmexit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Use do_machine_check to pass MCE to the host (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Clean cr3/pgd handling in vmx_load_mmu_pgd() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Replace "cr3" with "pgd" in "new cr3/pgd" related code (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Free only the affected contexts when emulating INVEPT (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Don't flush TLB on nested VMX transition (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Skip MMU sync on nested VMX transition when possible (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Add module param to force TLB flush on root reuse (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Add separate override for MMU sync during fast CR3 switch (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Move fast_cr3_switch() side effects to __kvm_mmu_new_cr3() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Don't reload APIC access page if its control is disabled (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Retrieve APIC access page HPA only when necessary (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Reload APIC access page on nested VM-Exit only if necessary (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Selectively use TLB_FLUSH_CURRENT for nested VM-Enter/VM-Exit (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Use KVM_REQ_TLB_FLUSH_CURRENT for MMU specific flushes (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Introduce KVM_REQ_TLB_FLUSH_CURRENT to flush current ASID (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Add helper to handle TLB flushes on nested VM-Enter/VM-Exit (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Rename ->tlb_flush() to ->tlb_flush_all() (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Document the ASID logic in svm_flush_tlb() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Introduce vmx_flush_tlb_current() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Move nested_get_vpid02() to vmx/nested.h (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Move vmx_flush_tlb() to vmx.c (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Wire up ->tlb_flush_guest() directly to svm_flush_tlb() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Drop @invalidate_gpa param from kvm_x86_ops' tlb_flush() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Clean up vmx_flush_tlb_gva() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: make Hyper-V PV TLB flush use tlb_flush_guest() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Move "flush guest's TLB" logic to separate kvm_x86_ops hook (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Use vpid_sync_vcpu_addr() to emulate INVVPID with address (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Drop redundant capability checks in low level INVVPID helpers (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Handle INVVPID fallback logic in vpid_sync_vcpu_addr() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Move vpid_sync_vcpu_addr() down a few lines (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Use vpid_sync_context() directly when possible (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Skip global INVVPID fallback if vpid==0 in vpid_sync_context() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Sync SPTEs when injecting page/EPT fault into L1 (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: cleanup kvm_inject_emulated_page_fault (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: introduce kvm_mmu_invalidate_gva (Vitaly Kuznetsov) [1841490] - [x86] kvm: Disable objtool frame pointer checking for vmenter.S (Vitaly Kuznetsov) [1841490] - [x86] kvm: Remove CREATE_IRQCHIP/SET_PIT2 race (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Export kvm_propagate_fault() (as kvm_inject_emulated_page_fault) (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Invalidate all roots when emulating INVVPID without EPT (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Invalidate all EPTP contexts when emulating INVEPT for L1 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Validate the EPTP when emulating INVEPT(EXTENT_CONTEXT) (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Flush all EPTP/VPID contexts on remote TLB flush (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: Add testcase for creating max number of memslots (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Make set_memory_region_test common to all architectures (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add "zero" testcase to set_memory_region_test (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: Add vm_get_fd() in kvm_util (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add "delete" testcase to set_memory_region_test (Vitaly Kuznetsov) [1841490] - [tools] kvm: sefltests: Add explicit synchronization to move mem region test (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add GUEST_ASSERT variants to pass values to host (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add util to delete memory region (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Use kernel's list instead of homebrewed replacement (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Take vcpu pointer instead of id in vm_vcpu_rm() (Vitaly Kuznetsov) [1841490] - [x86] kvm: pass through CPUID(0x80000006) (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Return updated timer current count register from KVM_GET_LAPIC (Vitaly Kuznetsov) [1841490] - [virt] kvm: remove redundant assignment to variable r (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Fix __svm_vcpu_run declaration (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Do not setup frame pointer in __svm_vcpu_run (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Do not mark svm_vcpu_run with STACK_FRAME_NON_STANDARD (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: reflect MTF VM-exits if injected by L1 (Vitaly Kuznetsov) [1841490] - [kernel] kvm: Check validity of resolved slot when searching memslots (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Enable machine check support for 32bit targets (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: move more vmentry code to assembly (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: fix compilation with modular PSP and non-modular KVM (Vitaly Kuznetsov) [1841490] - [x86] Increase KVM_MAX_VCPUS to 1024, KVM_MAX_VCPU_ID to 2048 (Eduardo Habkost) [1810811] - [scsi] scsi: core: avoid host-wide host_busy counter for scsi_mq (Ewan Milne) [1761928] - [gpio] gpio: xgene-sb: set valid IRQ type in to_irq() (Brian Masney) [1802402] - [block] rbd: compression_hint option (Ilya Dryomov) [1835925] - [include] libceph: support for alloc hint flags (Ilya Dryomov) [1835925] - [net] libceph: read_from_replica option (Ilya Dryomov) [1835925] - [net] libceph: support for balanced and localized reads (Ilya Dryomov) [1835925] - [net] libceph: crush_location infrastructure (Ilya Dryomov) [1835925] - [net] libceph: decode CRUSH device/bucket types and names (Ilya Dryomov) [1835925] - [net] libceph: add non-asserting rbtree insertion helper (Ilya Dryomov) [1835925] - [pci] PCI: pciehp: Fix MSI interrupt race (Myron Stowe) [1779610] - [security] ima: Remove __init annotation from ima_pcrread() (Bruno Meneguele) [1843774] - [security] ima: Call ima_calc_boot_aggregate() in ima_eventdigest_init() (Bruno Meneguele) [1843774] - [security] ima: Directly assign the ima_default_policy pointer to ima_rules (Bruno Meneguele) [1843774] - [documentation] powerpc/fadump: sysfs for fadump memory reservation (Diego Domingos) [1804202] - [documentation] Documentation/ABI: Mark /sys/kernel/fadump_* sysfs files deprecated (Diego Domingos) [1804202] - [documentation] powerpc/powernv: Move core and fadump_release_opalcore under new kobject (Diego Domingos) [1804202] - [powerpc] powerpc/fadump: Reorganize /sys/kernel/fadump_* sysfs files (Diego Domingos) [1804202] - [fs] sysfs: wrap __compat_only_sysfs_link_entry_to_kobj function to change the symlink name (Diego Domingos) [1804202] - [documentation] Documentation/ABI: Add ABI documentation for /sys/kernel/fadump_* (Diego Domingos) [1804202] - [hwtracing] intel_th: pci: Add Tiger Lake CPU support (Jiri Olsa) [1483079] - [netdrv] e1000e: fix S0ix flows for cable connected case (Ken Cox) [1781385] - [netdrv] e1000e: reject unsupported coalescing params (Ken Cox) [1781385] - [netdrv] e1000e: Add support for Tiger Lake device (Ken Cox) [1781385] - [netdrv] e1000e: Add support for Alder Lake (Ken Cox) [1781385] - [netdrv] net: intel: e1000e: fix possible sleep-in-atomic-context bugs in e1000e_get_hw_semaphore() (Ken Cox) [1781385] - [netdrv] e1000e: fix missing cpu_to_le64 on buffer_addr (Ken Cox) [1781385] - [netdrv] e1000(e): use new helper tcp_v6_gso_csum_prep (Ken Cox) [1781385] - [netdrv] e1000e: Revert "e1000e: Make watchdog use delayed work" (Ken Cox) [1781385] - [netdrv] e1000e: Use netdev_info instead of pr_info for link messages (Ken Cox) [1781385] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Ken Cox) [1781385] - [netdrv] e1000e: Fix compiler warning when CONFIG_PM_SLEEP is not set (Ken Cox) [1781385] - [netdrv] net: ixgbevf: reject unsupported coalescing params (Ken Cox) [1781379] - [netdrv] ixgbevf: Remove limit of 10 entries for unicast filter list (Ken Cox) [1781379] - [netdrv] net: ixgbe: reject unsupported coalescing params (Ken Cox) [1781378] - [netdrv] ixgbe: Use pci_get_dsn() (Ken Cox) [1781378] - [netdrv] intel: Replace zero-length array with flexible-array member (Ken Cox) [1781378] - [netdrv] ixgbe: Fix calculation of queue with VFs and flow director on interface flap (Ken Cox) [1781378] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Ken Cox) [1781378] - [netdrv] ixgbe: protect TX timestamping from API misuse (Ken Cox) [1781378] - [netdrv] ixgbe: Make use of cpumask_local_spread to improve RSS locality (Ken Cox) [1781378] - [netdrv] ixgbe: Remove duplicate clear_bit() call (Ken Cox) [1781378] - [netdrv] ixgbe: Add UDP segmentation offload support (Ken Cox) [1781378] - [x86] x86/resctrl: Fix invalid attempt at removing the default resource group (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Clean up unused function parameter in mkdir path (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix a deadlock due to inaccurate reference (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix use-after-free due to inaccurate refcount of rdtgroup (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix use-after-free when deleting resource groups (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Add task resctrl information display (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Check monitoring static key in the MBM overflow handler (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Do not reconfigure exiting tasks (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix potential memory leak (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix an imbalance in domain_remove_cpu() (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix potential lockdep warning (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Prevent NULL pointer dereference when reading mondata (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Cleanup cbm_ensure_valid() (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Prevent possible overrun during bitmap operations (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Don't stop walking closids when a locksetup group is found (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Use _ASM_BX to avoid ifdeffery (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Remove unused variable (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Remove duplicate MSR_MISC_FEATURE_CONTROL definition (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Avoid confusion over the new X86_RESCTRL config (Alexander Beregalov) [1830948] - [x86] x86/cache: Rename config option to CONFIG_X86_RESCTRL (Alexander Beregalov) [1830948] - [tools] perf flamegraph: Use /bin/bash for report and record scripts (Michael Petlan) [1281843] - [tools] perf script: Add flamegraph.py script (Michael Petlan) [1281843] - [tools] perf script: Avoid NULL dereference on symbol (Michael Petlan) [1841130] - [tools] tools/build: tweak unused value workaround (Michael Petlan) [1841130] - [tools] perf stat: Fix no metric header if --per-socket and --metric-only set (Michael Petlan) [1841130] - [tools] perf python: Check if clang supports -fno-semantic-interposition (Michael Petlan) [1841130] - [tools] perf tools: Support Python 3.8+ in Makefile (Michael Petlan) [1841130] - [tools] perf script: Fix invalid read of directory entry after closedir() (Michael Petlan) [1841130] - [tools] perf script report: Fix SEGFAULT when using DWARF mode (Michael Petlan) [1841130] - [tools] perf script: add -S/--symbols documentation (Michael Petlan) [1841130] - [tools] perf pmu-events x86: Use CPU_CLK_UNHALTED.THREAD in Kernel_Utilization metric (Michael Petlan) [1841130] - [tools] perf events parser: Add missing Intel CPU events to parser (Michael Petlan) [1841130] - [tools] perf script: Allow --symbol to accept hexadecimal addresses (Michael Petlan) [1841130] - [tools] perf top: Support hotkey to change sort order (Michael Petlan) [1841130] - [tools] perf top: Support --group-sort-idx to change the sort order (Michael Petlan) [1841130] - [tools] perf symbols: Fix arm64 gap between kernel start and module end (Michael Petlan) [1841130] - [tools] perf build-test: Honour JOBS to override detection of number of cores (Michael Petlan) [1841130] - [tools] perf script: Add --show-cgroup-events option (Michael Petlan) [1841130] - [tools] perf top: Add --all-cgroups option (Michael Petlan) [1841130] - [tools] perf record: Add --all-cgroups option (Michael Petlan) [1841130] - [tools] perf record: Support synthesizing cgroup events (Michael Petlan) [1841130] - [tools] perf report: Add 'cgroup' sort key (Michael Petlan) [1841130] - [tools] perf cgroup: Maintain cgroup hierarchy (Michael Petlan) [1841130] - [tools] perf tools: Basic support for CGROUP event (Michael Petlan) [1841130] - [tools] perf tools: Add file-handle feature test (Michael Petlan) [1841130] - [tools] perf python: Include rwsem.c in the pythong biding (Michael Petlan) [1841130] - [tools] tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1841130] - [tools] perf script: Introduce --deltatime option (Michael Petlan) [1841130] - [tools] perf: Normalize gcc parameter when generating arch errno table (Michael Petlan) [1841130] - [tools] perf parse-events: Add defensive NULL check (Michael Petlan) [1841130] - [tools] perf callchain: Update docs regarding kernel/user space unwinding (Michael Petlan) [1841130] - [tools] perf cpumap: Fix snprintf overflow check (Michael Petlan) [1841130] - [tools] perf test: Test pmu-events aliases (Michael Petlan) [1841130] - [tools] perf pmu: Make pmu_uncore_alias_match() public (Michael Petlan) [1841130] - [tools] perf pmu: Add is_pmu_core() (Michael Petlan) [1841130] - [tools] perf test: Add pmu-events test (Michael Petlan) [1841130] - [tools] perf pmu: Refactor pmu_add_cpu_aliases() (Michael Petlan) [1841130] - [tools] perf jevents: Support test events folder (Michael Petlan) [1841130] - [tools] perf jevents: Add some test events (Michael Petlan) [1841130] - [tools] perf tools: Unify a bit the build directory output (Michael Petlan) [1841130] - [tools] perf metricgroup: Fix printing event names of metric group with multiple events incase of overlapping events (Michael Petlan) [1841130] - [tools] perf stat: Align the output for interval aggregation mode (Michael Petlan) [1841130] - [tools] perf report/top TUI: Support hotkeys to let user select any event for sorting (Michael Petlan) [1841130] - [tools] perf report: Support a new key to reload the browser (Michael Petlan) [1841130] - [tools] perf report: Allow specifying event to be used as sort key in --group output (Michael Petlan) [1841130] - [tools] perf report/top TUI: Support hotkey 'a' for annotation of unresolved addresses (Michael Petlan) [1841130] - [tools] perf report: Support interactive annotation of code without symbols (Michael Petlan) [1841130] - [tools] perf report: Print al_addr when symbol is not found (Michael Petlan) [1841130] - [tools] perf symbols: Consolidate symbol fixup issue (Michael Petlan) [1841130] - [tools] perf parse-events: Fix 3 use after frees found with clang ASAN (Michael Petlan) [1841130] - [tools] perf/tests: Add CET instructions to the new instructions test (Michael Petlan) [1841130] - [tools] perf expr: Fix copy/paste mistake (Michael Petlan) [1841130] - [tools] perf report: Fix no branch type statistics report issue (Michael Petlan) [1841130] - [tools] perf tools: Give synthetic mmap events an inode generation (Michael Petlan) [1841130] - [tools] perf test: Print if shell directory isn't present (Michael Petlan) [1841130] - [tools] perf record: Fix binding of AIO user space buffers to nodes (Michael Petlan) [1841130] - [tools] perf intel-pt: Update intel-pt.txt file with new location of the documentation (Michael Petlan) [1841130] - [tools] perf intel-pt: Add Intel PT man page references (Michael Petlan) [1841130] - [tools] perf intel-pt: Rename intel-pt.txt and put it in man page format (Michael Petlan) [1841130] - [tools] perf doc: Set man page date to last git commit (Michael Petlan) [1841130] - [tools] perf cs-etm: Fix unsigned variable comparison to zero (Michael Petlan) [1841130] - [tools] perf cs-etm: Optimize copying last branches (Michael Petlan) [1841130] - [tools] perf cs-etm: Correct synthesizing instruction samples (Michael Petlan) [1841130] - [tools] perf cs-etm: Continuously record last branch (Michael Petlan) [1841130] - [tools] perf cs-etm: Swap packets for instruction samples (Michael Petlan) [1841130] - [tools] perf map: Use strstarts() to look for Android libraries (Michael Petlan) [1841130] - [tools] perf vendor events intel: Add NO_NMI_WATCHDOG metric constraint (Michael Petlan) [1841130] - [tools] perf metricgroup: Support metric constraint (Michael Petlan) [1841130] - [tools] perf util: Factor out sysctl__nmi_watchdog_enabled() (Michael Petlan) [1841130] - [tools] perf metricgroup: Factor out metricgroup__add_metric_weak_group() (Michael Petlan) [1841130] - [tools] perf jevents: Support metric constraint (Michael Petlan) [1841130] - [tools] perf block-info: Support color ops to print block percents in color (Michael Petlan) [1841130] - [tools] perf block-info: Allow selecting which columns to report and its order (Michael Petlan) [1841130] - [tools] perf diff: Use __block_info__cmp() to replace block_pair_cmp() (Michael Petlan) [1841130] - [tools] perf expr: Make expr__parse() return -1 on error (Michael Petlan) [1841130] - [tools] perf expr: Straighten expr__parse()/expr__find_other() interface (Michael Petlan) [1841130] - [tools] perf expr: Increase EXPR_MAX_OTHER to support metrics with more than 15 variables (Michael Petlan) [1841130] - [tools] perf expr: Move expr lexer to flex (Michael Petlan) [1841130] - [tools] perf expr: Add expr.c object (Michael Petlan) [1841130] - [tools] perf header: Add check for unexpected use of reserved membrs in event attr (Michael Petlan) [1841130] - [tools] perf evsel: Support PERF_SAMPLE_BRANCH_HW_INDEX (Michael Petlan) [1841130] - [tools] perf tools: Add hw_idx in struct branch_stack (Michael Petlan) [1841130] - [tools] tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1841130] - [tools] tools lib traceevent: Remove extra '\n' in print_event_time() (Michael Petlan) [1841130] - [tools] perf annotate: Get rid of annotation->nr_jumps (Michael Petlan) [1841130] - [tools] perf llvm: Add debug hint message about missing kernel-devel package (Michael Petlan) [1841130] - [tools] perf stat: Show percore counts in per CPU output (Michael Petlan) [1841130] - [tools] tools lib api fs: Move cgroupsfs_find_mountpoint() (Michael Petlan) [1841130] - [kernel] perf/core: fix parent pid/tid in task exit events (Michael Petlan) [1841130] - [x86] perf/x86/cstate: Add Jasper Lake CPU support (Michael Petlan) [1841130] - [kernel] perf/core: Disable page faults when getting phys address (Michael Petlan) [1841130] - [x86] perf/x86/intel/uncore: Add Ice Lake server uncore support (Michael Petlan) [1841130] - [kernel] perf/cgroup: Correct indirection in perf_less_group_idx() (Michael Petlan) [1841130] - [kernel] perf/core: Fix event cgroup tracking (Michael Petlan) [1841130] - [init] perf/core: Add PERF_SAMPLE_CGROUP feature (Michael Petlan) [1841130] - [kernel] perf/core: Add PERF_RECORD_CGROUP event (Michael Petlan) [1841130] - [x86] x86 user stack frame reads: switch to explicit __get_user() (Michael Petlan) [1841130] - [x86] perf/x86/intel/uncore: Factor out __snr_uncore_mmio_init_box (Michael Petlan) [1841130] - [x86] perf/x86/intel/uncore: Add box_offsets for free-running counters (Michael Petlan) [1841130] - [kernel] perf/core: Fix reversed NULL check in perf_event_groups_less() (Michael Petlan) [1841130] - [kernel] perf/core: Fix endless multiplex timer (Michael Petlan) [1841130] - [kernel] perf/cgroup: Order events in RB tree by cgroup id (Michael Petlan) [1841130] - [kernel] perf/cgroup: Grow per perf_cpu_context heap storage (Michael Petlan) [1841130] - [kernel] perf/core: Add per perf_cpu_context min_heap storage (Michael Petlan) [1841130] - [kernel] perf/core: Use min_heap in visit_groups_merge() (Michael Petlan) [1841130] - [lib] lib: Introduce generic min-heap (Michael Petlan) [1841130] - [kernel] perf/cgroup: Reorder perf_cgroup_connect() (Michael Petlan) [1841130] - [kernel] perf/core: Remove 'struct sched_in_data' (Michael Petlan) [1841130] - [kernel] perf/core: Unify {pinned, flexible}_sched_in() (Michael Petlan) [1841130] - [x86] perf/x86: Add Intel Tiger Lake uncore support (Michael Petlan) [1841130] - [x86] perf/x86/intel: Output LBR TOS information correctly (Michael Petlan) [1841130] - [powerpc] perf/core: Add new branch sample type for HW index of raw branch records (Michael Petlan) [1841130] - [x86] perf/x86/intel: Avoid unnecessary PEBS_ENABLE MSR access in PMI (Michael Petlan) [1841130] - [x86] x86/cpu: Add Jasper Lake to Intel family (Michael Petlan) [1841130] - [fs] pstore/ram: Run without kernel crash dump region (Desnes Augusto Nunes do Rosario) [1824906] - [fs] pstore/ram: Avoid NULL deref in ftrace merging failure path (Desnes Augusto Nunes do Rosario) [1824906] - [fs] pstore: Convert buf_lock to semaphore (Desnes Augusto Nunes do Rosario) [1824906] - [fs] pstore/ram: Correctly calculate usable PRZ bytes (Desnes Augusto Nunes do Rosario) [1824906] - [drm] memremap: add an owner field to struct dev_pagemap (Don Dutile) [1816441] - [mm] mm: devmap: refactor 1-based refcounting for ZONE_DEVICE pages (Don Dutile) [1816441] - [mm] mm/swap: fix release_pages() when releasing devmap pages (Don Dutile) [1816441] - [mm] mm: revert remove MEMORY_DEVICE_PUBLIC support in swap.c (Don Dutile) [1816441] - [nvdimm] mm: Cleanup __put_devmap_managed_page() vs ->page_free() (Don Dutile) [1816441] - [documentation] hv_netvsc: Update document for XDP support (Mohammed Gamal) [1815497] - [netdrv] hv_netvsc: Fix XDP refcnt for synthetic and VF NICs (Mohammed Gamal) [1815497] - [netdrv] hv_netvsc: Add XDP support (Mohammed Gamal) [1815497] - [powerpc] kvm: ppc: book3s hv: Remove user-triggerable WARN_ON (Laurent Vivier) [1784050] - [powerpc] kvm: ppc: book3s hv: Close race with page faults around memslot flushes (Laurent Vivier) [1784050] - [powerpc] pseries/svm: Allow IOMMU to work in SVM (Michael Roth) [1730194] - [powerpc] pseries/iommu: Separate FW_FEATURE_MULTITCE to put/stuff features (Michael Roth) [1730194] - [powerpc] pseries: Allow not having ibm, hypertas-functions::hcall-multi-tce for DDW (Michael Roth) [1730194] - [powerpc] revert "powerpc/pseries/iommu: Don't use dma_iommu_ops on secure guests" (Michael Roth) [1730194] - [powerpc] ultravisor: Add PPC_UV config option (Michael Roth) [1730194] - [mm] ksm: Export ksm_madvise() (Michael Roth) [1730194] - [powerpc] configs: Enable secure guest support in pseries and ppc64 defconfigs (Michael Roth) [1730194] - [powerpc] prom_init: Undo relocation before entering secure mode (Michael Roth) [1730194] - [powerpc] pseries/svm: Force SWIOTLB for secure guests (Michael Roth) [1730194] - [powerpc] pseries/iommu: Don't use dma_iommu_ops on secure guests (Michael Roth) [1730194] - [powerpc] pseries/svm: Disable doorbells in SVM guests (Michael Roth) [1730194] - [powerpc] pseries/svm: Export guest SVM status to user space via sysfs (Michael Roth) [1730194] - [powerpc] pseries/svm: Use shared memory for Debug Trace Log (DTL) (Michael Roth) [1730194] - [powerpc] prom_init: Pass the "os-term" message to hypervisor (Michael Roth) [1730194] - [powerpc] Add support for adding an ESM blob to the zImage wrapper (Michael Roth) [1730194] - [powerpc] pseries: Introduce option to build secure virtual machines (Michael Roth) [1730194] - [s390] mm: Remove sev_active() function (Michael Roth) [1730194] - [kernel] fs/core/vmcore: Move sev_active() reference to x86 arch code (Michael Roth) [1730194] - [kernel] x86, s390/mm: Move sme_active() and sme_me_mask to x86-specific header (Michael Roth) [1730194] - [kernel] dma-mapping: Remove dma_check_mask() (Michael Roth) [1730194] - [kernel] swiotlb: Remove call to sme_active() (Michael Roth) [1730194] - [x86] s390: Move ARCH_HAS_MEM_ENCRYPT definition to arch/Kconfig (Michael Roth) [1730194] - [powerpc] xmon: don't access ASDR in VMs (Michael Roth) [1730194] - [powerpc] xmon: Fix compile error in print_insn* functions (Michael Roth) [1730194] - [mm] memremap: provide a not device managed memremap_pages (Michael Roth) [1730194] - [mm] memremap: don't use a separate devm action for devmap_managed_enable_get (Michael Roth) [1730194] - [mm] memremap: remove the dev field in struct dev_pagemap (Michael Roth) [1730194] - [kernel] resource: add a not device managed request_free_mem_region variant (Michael Roth) [1730194] - [mm] turn migrate_vma upside down (Michael Roth) [1730194] - [kernel] mm: simplify ZONE_DEVICE page private data (Michael Roth) [1730194] - [kernel] mm: remove hmm_devmem_add (Michael Roth) [1730194] - [mm] remove hmm_vma_alloc_locked_page (Michael Roth) [1730194] - [dax] device-dax: use the dev_pagemap internal refcount (Michael Roth) [1730194] - [mm] export alloc_pages_vma (Michael Roth) [1730194] - [netdrv] net/mlx5: Kconfig: Fix spelling typo (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Introduce kconfig var for TC support (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Move TC-specific code from en_main.c to en_tc.c (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Extract neigh-specific code from en_rep.c to rep/neigh.c (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Extract TC-specific code from en_rep.c to rep/tc.c (Alaa Hleihel) [1843359] - [infiniband] net/mlx5: Refactor imm_inval_pkey field in cqe struct (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Take DCBNL-related definitions into dedicated files (Alaa Hleihel) [1843359] - [netdrv] net/mlx5: E-Switch: Move eswitch chains to a new directory (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: remove duplicated check chain_index in mlx5e_rep_setup_ft_cb (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: add mlx5e_rep_indr_setup_ft_cb support (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: refactor indr setup block (Alaa Hleihel) [1843359] - [infiniband] IB/mlx5: Fix DEVX support for MLX5_CMD_OP_INIT2INIT_QP command (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Remove warning "devices are not on same switch HW" (Alaa Hleihel) [1842258] - [infiniband] RDMA/mlx5: Add init2init as a modify command (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: replace EINVAL in mlx5e_flower_parse_meta() (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Fix MLX5_TC_CT dependencies (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Properly set default values when disabling adaptive moderation (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Fix stats update for matchall classifier (Alaa Hleihel) [1842258] - [netdrv] net: sched: expose HW stats types per action used by drivers (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: en_tc: Fix cast to restricted __be32 warning (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: en_tc: Fix incorrect type in initializer warnings (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Allow partial data mask for tunnel options (Alaa Hleihel) [1842258] - [include] net/mlx5: IPSec: Fix incorrect type for spi (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Accel: fpga tls fix cast to __be64 and incorrect argument types (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: cmd: Fix memset with byte count warning (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: DR: Fix incorrect type in return expression (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: DR: Fix cast to restricted __be32 (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: DR: Fix incorrect type in argument (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: IPoIB, Drop multicast packets that this interface sent (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: IPoIB, Enable loopback packets for IPoIB interfaces (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Fix error flow in case of function_setup failure (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: CT: Correctly get flow rule (Alaa Hleihel) [1842258 1840408] - [netdrv] net/mlx5e: Update netdev txq on completions during closure (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Annotate mutex destroy for root ns (Alaa Hleihel) [1842258 1840408] - [netdrv] net/mlx5: Don't maintain a case of del_sw_func being null (Alaa Hleihel) [1842258 1840408] - [netdrv] net/mlx5: Fix cleaning unmanaged flow tables (Alaa Hleihel) [1842258 1840408] - [netdrv] net/mlx5: Fix memory leak in mlx5_events_init (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Fix inner tirs handling (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: kTLS, Destroy key object after destroying the TIS (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Fix allowed tc redirect merged eswitch offload cases (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Avoid processing commands before cmdif is ready (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Fix a race when moving command interface to events mode (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Add command entry handling completion (Alaa Hleihel) [1842258] - [infiniband] RDMA/mlx5: Fix NULL pointer dereference in destroy_prefetch_work (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Fix crash upon suspend/resume (Alaa Hleihel) [1842258 1841973] - [netdrv] net/mlx5e: Fix devlink port netdev unregistration sequence (Alaa Hleihel) [1842258 1790226] - [netdrv] net/mlx5e: Fix devlink port register sequence (Alaa Hleihel) [1842258 1790226] - [netdrv] net/mlx5e: Use devlink virtual flavour for VF devlink port (Alaa Hleihel) [1842258 1790226] - [netdrv] net/mlx5e: Add support for devlink-port in non-representors mode (Alaa Hleihel) [1842258 1790226] - [netdrv] net/mlx5e: Rename representor get devlink port function (Alaa Hleihel) [1842258 1790226] - [fs] nfsd4: add filename to states output ("J. Bruce Fields") [1475182] - [fs] nfsd4: stid display should preserve on-the-wire byte order ("J. Bruce Fields") [1475182] - [fs] nfsd4: common stateid-printing code ("J. Bruce Fields") [1475182] - [fs] nfsd: remove read permission bit for ctl sysctl ("J. Bruce Fields") [1475182] - [fs] nfsd: "\s" should be "s" ("J. Bruce Fields") [1475182] - [fs] nfsd: initialize i_private before d_add ("J. Bruce Fields") [1475182] - [fs] nfsd: use i_wrlock instead of rcu for nfsdfs i_private ("J. Bruce Fields") [1475182] - [fs] nfsd: fix dentry leak upon mkdir failure ("J. Bruce Fields") [1475182] - [fs] nfsd: Make __get_nfsdfs_client() static ("J. Bruce Fields") [1475182] - [fs] nfsd: Make two functions static ("J. Bruce Fields") [1475182] - [fs] nfsd: decode implementation id ("J. Bruce Fields") [1475182] - [fs] nfsd: use 64-bit seconds fields in nfsd v4 code ("J. Bruce Fields") [1475182] - [fs] nfsd: create xdr_netobj_dup helper ("J. Bruce Fields") [1475182] - [fs] nfsd: allow forced expiration of NFSv4 clients ("J. Bruce Fields") [1475182] - [fs] nfsd: create get_nfsdfs_clp helper ("J. Bruce Fields") [1475182] - [fs] nfsd4: show layout stateids ("J. Bruce Fields") [1475182] - [fs] nfsd: show lock and deleg stateids ("J. Bruce Fields") [1475182] - [fs] nfsd4: add file to display list of client's opens ("J. Bruce Fields") [1475182] - [fs] nfsd: add more information to client info file ("J. Bruce Fields") [1475182] - [include] nfsd: escape high characters in binary data ("J. Bruce Fields") [1475182] - [fs] nfsd: copy client's address including port number to cl_addr ("J. Bruce Fields") [1475182] - [fs] nfsd4: add a client info file ("J. Bruce Fields") [1475182] - [fs] nfsd: make client/ directory names small ints ("J. Bruce Fields") [1475182] - [fs] nfsd: add nfsd/clients directory ("J. Bruce Fields") [1475182] - [fs] nfsd4: use reference count to free client ("J. Bruce Fields") [1475182] - [fs] nfsd: rename cl_refcount ("J. Bruce Fields") [1475182] - [fs] nfsd: persist nfsd filesystem across mounts ("J. Bruce Fields") [1475182]- [wireless] iwlwifi: pcie: handle QuZ configs with killer NICs as well (Jarod Wilson) [1844129 1842382] - [net] mac80211: add ieee80211_is_any_nullfunc() (Jarod Wilson) [1844129] - [net] mac80211: sta_info: Add lockdep condition for RCU list usage (Jarod Wilson) [1844129] - [net] mac80211: fix channel switch trigger from unknown mesh peer (Jarod Wilson) [1844129] - [wireless] rtw88: avoid unused function warnings (Jarod Wilson) [1844129] - [wireless] brcmfmac: add stub for monitor interface xmit (Jarod Wilson) [1844129] - [wireless] iwlwifi: actually check allocated conf_tlv pointer (Jarod Wilson) [1844129] - [wireless] iwlwifi: fix WGDS check when WRDS is disabled (Jarod Wilson) [1844129] - [wireless] iwlwifi: mvm: fix inactive TID removal return value usage (Jarod Wilson) [1844129] - [wireless] iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation (Jarod Wilson) [1844129] - [wireless] iwlwifi: mvm: limit maximum queue appropriately (Jarod Wilson) [1844129] - [wireless] iwlwifi: pcie: indicate correct RB size to device (Jarod Wilson) [1844129] - [wireless] iwlwifi: mvm: beacon statistics shouldn't go backwards (Jarod Wilson) [1844129] - [wireless] iwlwifi: pcie: actually release queue memory in TVQM (Jarod Wilson) [1844129] - [wireless] mac80211: populate debugfs only after cfg80211 init (Jarod Wilson) [1844129] - [net] mac80211: fix race in ieee80211_register_hw() (Jarod Wilson) [1844129] - [net] nl80211: fix NL80211_ATTR_FTM_RESPONDER policy (Jarod Wilson) [1844129] - [powerpc] powerpc/fadump: Account for memory_limit while reserving memory (Steve Best) [1840646] - [mm] mm: make deferred init's max threads arch-specific (David Hildenbrand) [1818764] - [mm] mm: parallelize deferred_init_memmap() (David Hildenbrand) [1818764] - [mm] mm: don't track number of pages during deferred initialization (David Hildenbrand) [1818764] - [kernel] padata: add basic support for multithreaded jobs (David Hildenbrand) [1818764] - [kernel] padata: allocate work structures for parallel jobs from a pool (David Hildenbrand) [1818764] - [init] padata: initialize earlier (David Hildenbrand) [1818764] - [kernel] padata: remove exit routine (David Hildenbrand) [1818764] - [documentation] padata: update documentation (David Hildenbrand) [1818764] - [mm] mm: call cond_resched() from deferred_init_memmap() (David Hildenbrand) [1818764] - [mm] mm: initialize deferred pages with interrupts enabled (David Hildenbrand) [1818764] - [mm] mm/pagealloc.c: call touch_nmi_watchdog() on max order boundaries in deferred init (David Hildenbrand) [1818764] - [mm] mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous() (David Hildenbrand) [1818764] - [mm] mm/page_alloc.c: fix regression with deferred struct page init (David Hildenbrand) [1818764] - [mm] mm: initialize MAX_ORDER_NR_PAGES at a time instead of doing larger sections (David Hildenbrand) [1818764] - [mm] mm: implement new zone specific memblock iterator (David Hildenbrand) [1818764] - [mm] mm: drop meminit_pfn_in_nid as it is redundant (David Hildenbrand) [1818764] - [kernel] audit: add subj creds to NETFILTER_CFG record to (Richard Guy Briggs) [1478533] - [kernel] audit: make symbol 'audit_nfcfgs' static (Richard Guy Briggs) [1478533] - [net] netfilter: add audit table unregister actions (Richard Guy Briggs) [1478533] - [net] audit: tidy and extend netfilter_cfg x_tables (Richard Guy Briggs) [1478533] - [x86] x86/efi: Allocate e820 buffer before calling efi_exit_boot_service (Lenny Szubowicz) [1824005] - [mm] hugetlb_cgroup: fix possible illegal access to memory (Joel Savitz) [1835398] - [kvm] KVM: s390: Remove false WARN_ON_ONCE for the PQAP instruction (Claudio Imbrenda) [1836184] - [sound] ASoC: Intel: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [thermal] thermal: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [powercap] powercap/intel_rapl: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [platform] platform/x86: Convert to new CPU match macros (Prarit Bhargava) [1841649] - [pci] PCI: intel-mid: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [mmc] mmc: sdhci-acpi: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [idle] intel_idle: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [extcon] extcon: axp288: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [edac] EDAC: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [acpi] ACPI: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [x86] x86/platform: Convert to new CPU match macros (Prarit Bhargava) [1841649] - [x86] x86/kernel: Convert to new CPU match macros (Prarit Bhargava) [1841649] - [x86] x86/perf/events: Convert to new CPU match macros (Prarit Bhargava) [1841649] - [x86] x86/cpu: Add consistent CPU match macros (Prarit Bhargava) [1841649] - [fs] fix autofs regression caused by follow_managed() changes (Miklos Szeredi) [1784857] - [fs] fs/namei.c: fix missing barriers when checking positivity (Miklos Szeredi) [1784857] - [fs] fix dget_parent() fastpath race (Miklos Szeredi) [1784857] - [fs] new helper: lookup_positive_unlocked() (Miklos Szeredi) [1784857] - [fs] fs/namei.c: pull positivity check into follow_managed() (Miklos Szeredi) [1784857] - [mm] x86/kasan: Fix boot with 5-level paging and KASAN (Baoquan He) [1838418] - [netdrv] bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Return error when allocating zero size context memory (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Improve AER slot reset (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Reduce BNXT_MSIX_VEC_MAX value to supported CQs per PF (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Fix VF anti-spoof filter setup (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Fix "fw.mgmt" and "fw.nsci" info via devlink info_get cb (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add partno to devlink info_get cb (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Read partno and serialno of the board from VPD (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add fw.mgmt.api version to devlink info_get cb (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Reset rings if ring reservation fails during open() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Free context memory after disabling PCI in probe error path (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Return error if bnxt_alloc_ctx_mem() fails (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: fix memory leaks in bnxt_dcbnl_ieee_getets() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Fix Priority Bytes and Packets counters in ethtool -S (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Call devlink_port_type_clear() in remove() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Return -EAGAIN if fw command returns BUSY (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Modify some bnxt_hwrm_*_free() functions to void (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Remove unnecessary assignment of return code (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Clear DCB settings after firmware reset (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Process the NQ under NAPI continuous polling (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Simplify __bnxt_poll_cqs_done() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Handle all NQ notifications in bnxt_poll_p5() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Use pci_get_dsn() (Jonathan Toppins) [1790621] - [netdrv] bnxt: reject unsupported coalescing params (Jonathan Toppins) [1790621] - [netdrv] net/broadcom: Clean broadcom code from driver versions (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: fix error handling when flashing from file (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: reinitialize IRQs when MTU is modified (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: add newline to netdev_*() format strings (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Issue PCIe FLR in kdump kernel to cleanup pending DMAs (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Improve device shutdown method (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support for devlink info command (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Rename switch_id to dsn (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support to update progress of flash update (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Move devlink_register before registering netdev (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Register devlink irrespective of firmware spec version (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Refactor bnxt_dl_register() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Disable workaround for lost interrupts on 575XX B0 and newer chips (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Periodically check and remove aged-out ntuple filters (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Do not accept fragments for aRFS flow steering (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Support UDP RSS hashing on 575XX chips (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Improve bnxt_probe_phy() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Improve link up detection (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Call recovery done after reset is successfully done (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Remove unnecessary NULL checks for fw_health (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support for flashing the device via devlink (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Allow PHY settings on multi-function or NPAR PFs if allowed by FW (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add async. event logic for PHY configuration changes (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Refactor the initialization of the ethtool link settings (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Skip disabling autoneg before PHY loopback when appropriate (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Assign more RSS context resources to the VFs (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Initialize context memory to the value specified by firmware (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add chip IDs for 57452 and 57454 chips (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Report health status update after reset is done (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Set MASTER flag during driver registration (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Update firmware interface spec to 1.10.1.12 (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Fix array overrun in bnxt_fill_l2_rewrite_fields() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support for NAT(L3/L4 rewrite) (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support for L2 rewrite (Jonathan Toppins) [1790621] - [netdrv] net/mlx5: E-switch, Protect eswitch mode changes (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: E-switch, Extend eswitch enable to handle num_vfs change (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: Split eswitch mode check to different helper function (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: Simplify mlx5_unload_one() and its callers (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: Simplify mlx5_register_device to return void (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: Avoid deriving mlx5_core_dev second time (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: E-switch, Annotate esw state_lock mutex destroy (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: E-switch, Annotate termtbl_mutex mutex destroy (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5e: CT: Fix offload with CT action after CT NAT action (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Fix missing pedit action after ct clear action (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: remove set but not used variable 'unnew' (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Fix insert rules when TC_CT config isn't enabled (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Fix actions_match_supported() return (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Avoid false warning about rule may be used uninitialized (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Use correct type for chain, prio and level values (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-switch, Fix printing wrong error value (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Fix rejecting all egress rules not on vlan (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch: Fix using fwd and modify when firmware doesn't support it (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: Add missing inline to stub esw_add_restore_rule (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Enable restore table only if reg_c1 is supported (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, free flow_group_in after creating the restore table (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-switch, Fix mutex init order (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: CT: Change idr to xarray to protect parallel tuple id allocation (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Use rhashtable's ct entries instead of a separate list (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Fix stack usage compiler warning (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Support clear action (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: CT: Handle misses after executing CT action (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: CT: Offload established flows (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: CT: Introduce connection tracking (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5: E-Switch, Support getting chain mapping (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5: E-Switch, Add support for offloading rules with no in_port (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5: E-Switch, Introduce global tables (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: en_rep: Create uplink rep root table after eswitch offloads table (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5: E-Switch, Enable reg c1 loopback when possible (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: Restore tunnel metadata on miss (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: E-Switch, Get reg_c1 value on miss (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Support inner header rewrite with goto action (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Disallow inserting vxlan/vlan egress rules without decap/pop (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Move tc tunnel parsing logic with the rest at tc_tun module (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Allow re-allocating mod header actions (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: E-Switch, Restore chain id on miss (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Rx, Split rep rx mpwqe handler from nic (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: E-Switch, Mark miss packets with new chain id mapping (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: E-Switch, Get reg_c0 value on CQE (Alaa Hleihel) [1790219 1790218 1663246] - [infiniband] net/mlx5: E-Switch, Move source port on reg_c0 to the upper 16 bits (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: Introduce mapping infra for mapping unique ids to data (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Add devlink fdb_large_groups parameter (Alaa Hleihel) [1790203 1663246] - [netdrv] net/mlx5: Change the name of steering mode param id (Alaa Hleihel) [1790203 1663246] - [netdrv] net/mlx5e: Fix an IS_ERR() vs NULL check (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: Verify goto chain offload support (Alaa Hleihel) [1663246] - [include] net/mlx5: HW bit for goto chain offload support (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Remove redundant comment about goto slow path (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Reduce number of arguments in slow path handling (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Use NL_SET_ERR_MSG_MOD() extack for errors (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Allow goto earlier chain if FW supports it (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Eswitch, Use per vport tables for mirroring (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: make the symbol 'ESW_POOLS' static (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Increase number of chains and priorities (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Refactor chains and priorities (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: ft: Check prio and chain sanity for ft offload (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: ft: Use getter function to get ft chain (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: TC: Offload flow table rules (Alaa Hleihel) [1663246]- [net] neigh: fix ARP retransmit timer guard (Hangbin Liu) [1767282] - [net] xfrm: fix a warning in xfrm_policy_insert_list (Xin Long) [1820956] - [net] netfilter: ipset: Fix subcounter update skip (Phil Sutter) [1834881] - [netdrv] macvlan: return correct error value (Matteo Croce) [1806146] - [net] core: properly remove skb from list (Ivan Vecera) [1839657] - [tools] selftests: fix flower parent qdisc (Ivan Vecera) [1824071] - [net] sch_choke: Remove classid from choke_skb_cb. (Ivan Vecera) [1824071] - [net] sched: choke: Remove unused inline function choke_set_classid (Ivan Vecera) [1824071] - [net] schedule: add action gate offloading (Ivan Vecera) [1824071] - [net] qos: introduce a gate control flow action (Ivan Vecera) [1824071] - [net] sched: fallback to qdisc noqueue if default qdisc setup fail (Ivan Vecera) [1824071] - [tools] selftests: forwarding: tc_actions.sh: add matchall mirror test (Ivan Vecera) [1824071] - [net] sched: report ndo_setup_tc failures via extack (Ivan Vecera) [1824071] - [net] sched : Remove unnecessary cast in kfree (Ivan Vecera) [1824071] - [tools] selftests: tc-testing: Add a TDC test for pedit munge ip6 dsfield (Ivan Vecera) [1824071] - [tools] selftests: forwarding: pedit_dsfield: Add pedit munge ip6 dsfield (Ivan Vecera) [1824071] - [net] sched: act_ct: update nf_conn_acct for act_ct SW offload in flowtable (Ivan Vecera) [1824071] - [net] net_sched: gen_estimator: extend packet counter to 64bit (Ivan Vecera) [1824071] - [net] flow_offload: skip hw stats check for FLOW_ACTION_HW_STATS_DONT_CARE (Ivan Vecera) [1824071] - [net] net_sched: sch_skbprio: add message validation to skbprio_change() (Ivan Vecera) [1824071] - [net] net_sched: fix tcm_parent in tc filter dump (Ivan Vecera) [1824071] - [net] sch_sfq: validate silly quantum values (Ivan Vecera) [1824071] - [net] sch_choke: avoid potential panic in choke_reset() (Ivan Vecera) [1824071] - [net] fq_codel: fix TCA_FQ_CODEL_DROP_BATCH_SIZE sanity checks (Ivan Vecera) [1824071] - [net] sched: etf: do not assume all sockets are full blown (Ivan Vecera) [1824071] - [tools] tc-testing: remove duplicate code in tdc.py (Ivan Vecera) [1824071] - [net] sched: Fix setting last executed chain on skb extension (Ivan Vecera) [1824071] - [net] net_sched: fix a missing refcnt in tcindex_init() (Ivan Vecera) [1824071] - [net] net_sched: add a temporary refcnt for struct tcindex_data (Ivan Vecera) [1824071] - [net] sched: expose HW stats types per action used by drivers (Ivan Vecera) [1824071] - [net] introduce nla_put_bitfield32() helper and use it (Ivan Vecera) [1824071] - [tools] selftests: skbedit_priority: Test counters at the skbedit rule (Ivan Vecera) [1824071] - [net] sched: act_pedit: Implement stats_update callback (Ivan Vecera) [1824071] - [net] sched: act_skbedit: Implement stats_update callback (Ivan Vecera) [1824071] - [tools] selftests: forwarding: Add a forwarding test for pedit munge dsfield (Ivan Vecera) [1824071] - [net] flow_offload.h: Fix a comment at flow_action_entry.mangle (Ivan Vecera) [1824071] - [net] Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build (Ivan Vecera) [1824071] - [net] netfilter: nft_fwd_netdev: allow to redirect to ifb via ingress (Ivan Vecera) [1824071] - [net] cbs: Fix software cbs to consider packet sending time (Ivan Vecera) [1824071] - [include] taprio: do not use BIT() in TCA_TAPRIO_ATTR_FLAG_* definitions (Ivan Vecera) [1824071] - [net] cls_flower: Add extack support for flags key (Ivan Vecera) [1824071] - [net] cls_flower: Add extack support for src and dst port range options (Ivan Vecera) [1824071] - [net] cls_flower: Add extack support for mpls options (Ivan Vecera) [1824071] - [include] net: sched: refine extack messages in tcf_change_indev (Ivan Vecera) [1824071] - [net] sched: rename more stats_types (Ivan Vecera) [1824071] - [tools] selftests: forwarding: Add an skbedit priority selftest (Ivan Vecera) [1824071] - [net] tc_skbedit: Make the skbedit priority offloadable (Ivan Vecera) [1824071] - [include] tc_skbedit: Factor a helper out of is_tcf_skbedit_{mark, ptype}() (Ivan Vecera) [1824071] - [include] net: sched: Do not assume RTNL is held in tunnel key action helpers (Ivan Vecera) [1824071] - [net] sched: act_ct: Fix leak of ct zone template on replace (Ivan Vecera) [1824071] - [net] net_sched: sch_fq: enable use of hrtimer slack (Ivan Vecera) [1824071] - [net] net_sched: do not reprogram a timer about to expire (Ivan Vecera) [1824071] - [net] net_sched: add qdisc_watchdog_schedule_range_ns() (Ivan Vecera) [1824071] - [net] rename flow_action_hw_stats_types* -> flow_action_hw_stats* (Ivan Vecera) [1824071] - [net] net_sched: cls_route: remove the right filter from hashtable (Ivan Vecera) [1824071] - [tools] selftests: qdiscs: RED: Add nodrop tests (Ivan Vecera) [1824071] - [net] sched: RED: Introduce an ECN nodrop mode (Ivan Vecera) [1824071] - [net] sched: Allow extending set of supported RED flags (Ivan Vecera) [1824071] - [tools] selftests: qdiscs: Add TDC test for RED (Ivan Vecera) [1824071] - [tools] tc-testing: add ETS scheduler to tdc build configuration (Ivan Vecera) [1824071] - [net] sched: act_ct: Enable hardware offload of flow table entires (Ivan Vecera) [1824071] - [net] sched: act_ct: Support refreshing the flow table entries (Ivan Vecera) [1824071] - [net] sched: act_ct: Support restoring conntrack info on skbs (Ivan Vecera) [1824071] - [net] sched: act_ct: Instantiate flow table entry actions (Ivan Vecera) [1824071] - [net] net_sched: keep alloc_hash updated after hash allocation (Ivan Vecera) [1824071] - [net] net_sched: hold rtnl lock in tcindex_partial_destroy_work() (Ivan Vecera) [1824071] - [include] flow_offload: restrict driver to pass one allowed bit to flow_action_hw_stats_types_check() (Ivan Vecera) [1824071] - [netdrv] flow_offload: introduce "delayed" HW stats type and allow it in mlx5 (Ivan Vecera) [1824071] - [include] flow_offload: turn hw_stats_type into dedicated enum (Ivan Vecera) [1824071] - [include] flow_offload: use flow_action_for_each in flow_action_mixed_hw_stats_types_check() (Ivan Vecera) [1824071] - [net] sched: pie: change tc_pie_xstats->prob (Ivan Vecera) [1824071] - [net] taprio: Fix sending packets without dequeueing them (Ivan Vecera) [1824071] - [net] sched: act_ct: fix lockdep splat in tcf_ct_flow_table_get (Ivan Vecera) [1824071] - [tools] selftests: forwarding: ETS: Use Qdisc counters (Ivan Vecera) [1824071] - [net] sched: Make FIFO Qdisc offloadable (Ivan Vecera) [1824071] - [include] pie: realign comment (Ivan Vecera) [1824071] - [net] pie: remove pie_vars->accu_prob_overflows (Ivan Vecera) [1824071] - [net] pie: remove unnecessary type casting (Ivan Vecera) [1824071] - [net] pie: use term backlog instead of qlen (Ivan Vecera) [1824071] - [tools] tc-testing: updated tdc tests for basic filter with canid extended match rules (Ivan Vecera) [1824071] - [tools] tc-testing: list kernel options for basic filter with canid ematch. (Ivan Vecera) [1824071] - [net] sched: act_ct: Use pskb_network_may_pull() (Ivan Vecera) [1824071] - [net] sched: act_ct: Fix ipv6 lookup of offloaded connections (Ivan Vecera) [1824071] - [net] sched: act_ct: Software offload of established flows (Ivan Vecera) [1824071] - [net] sched: act_ct: Offload established connections to flow table (Ivan Vecera) [1824071] - [net] sched: act_ct: Create nf flow table per zone (Ivan Vecera) [1824071] - [net] taprio: add missing attribute validation for txtime delay (Ivan Vecera) [1824071] - [net] fq: add missing attribute validation for orphan mask (Ivan Vecera) [1824071] - [tools] selftests: forwarding: tc_common: Convert to use busywait (Ivan Vecera) [1824071] - [tools] selftests: forwarding: Convert until_counter_is() to take expression (Ivan Vecera) [1824071] - [tools] selftests: forwarding: lib: Add tc_rule_handle_stats_get() (Ivan Vecera) [1824071] - [include] net: flow_offload: Replace zero-length array with flexible-array member (Ivan Vecera) [1824071] - [net] sched: Replace zero-length array with flexible-array member (Ivan Vecera) [1824071] - [net] sched: act: count in the size of action flags bitfield (Ivan Vecera) [1824071] - [tools] tc-testing: updated tdc tests for basic filter with u32 extended match rules (Ivan Vecera) [1824071] - [tools] tc-testing: updated tdc tests for basic filter with u16 extended match rules (Ivan Vecera) [1824071] - [tools] tc-testing: updated tdc tests for basic filter (Ivan Vecera) [1824071] - [net] sched: correct flower port blocking (Ivan Vecera) [1824071] - [net] sched: Support specifying a starting chain via tc skb ext (Ivan Vecera) [1824071] - [net] sched: Change the block's chain list to an rcu list (Ivan Vecera) [1824071] - [net] sched: Pass ingress block to tcf_classify_ingress (Ivan Vecera) [1824071] - [net] sched: Introduce ingress classification function (Ivan Vecera) [1824071] - [net] sched: flower: add missing validation of TCA_FLOWER_FLAGS (Ivan Vecera) [1824071] - [net] sched: matchall: add missing validation of TCA_MATCHALL_FLAGS (Ivan Vecera) [1824071] - [net] taprio: Fix dropping packets when using taprio + ETF offloading (Ivan Vecera) [1824071] - [net] taprio: Use taprio_reset_tc() to reset Traffic Classes configuration (Ivan Vecera) [1824071] - [net] taprio: Add missing policy validation for flags (Ivan Vecera) [1824071] - [net] taprio: Fix still allowing changing the flags during runtime (Ivan Vecera) [1824071] - [net] taprio: Fix enabling offload with wrong number of traffic classes (Ivan Vecera) [1824071] - [net] sched: prevent a use after free (Ivan Vecera) [1824071] - [tools] tc-testing: add missing 'nsPlugin' to basic.json (Ivan Vecera) [1824071] - [net] sch_choke: Use kvcalloc (Ivan Vecera) [1824071] - [tools] selftests: mlxsw: Add a RED selftest (Ivan Vecera) [1824071] - [tools] selftests: forwarding: lib.sh: Add start_tcp_traffic (Ivan Vecera) [1824071] - [tools] selftests: mlxsw: Add a TBF selftest (Ivan Vecera) [1824071] - [tools] selftests: forwarding: lib: Allow reading TC rule byte counters (Ivan Vecera) [1824071] - [tools] selftests: forwarding: lib: Add helpers for busywaiting (Ivan Vecera) [1824071] - [tools] selftests: Move two functions from mlxsw's qos_lib to lib (Ivan Vecera) [1824071] - [net] sched: Make TBF Qdisc offloadable (Ivan Vecera) [1824071] - [net] sched: sch_tbf: Don't overwrite backlog before dumping (Ivan Vecera) [1824071] - [net] sched: add Flow Queue PIE packet scheduler (Ivan Vecera) [1824071] - [net] sched: pie: export symbols to be reused by FQ-PIE (Ivan Vecera) [1824071] - [net] sched: pie: fix alignment in struct instances (Ivan Vecera) [1824071] - [net] sched: pie: fix commenting (Ivan Vecera) [1824071] - [include] pie: improve comments and commenting style (Ivan Vecera) [1824071] - [net] pie: rearrange structure members and their initializations (Ivan Vecera) [1824071] - [include] pie: use u8 instead of bool in pie_vars (Ivan Vecera) [1824071] - [include] pie: rearrange macros in order of length (Ivan Vecera) [1824071] - [include] pie: use U64_MAX to denote (2^64 - 1) (Ivan Vecera) [1824071] - [net] sched: pie: move common code to pie.h (Ivan Vecera) [1824071] - [net] sched: use skb_list_walk_safe helper for gso segments (Ivan Vecera) [1824071] - [tools] selftests: qdiscs: Add test coverage for ETS Qdisc (Ivan Vecera) [1824071] - [tools] selftests: forwarding: sch_ets: Add test coverage for ETS Qdisc (Ivan Vecera) [1824071] - [tools] selftests: forwarding: Move start_/stop_traffic from mlxsw to lib.sh (Ivan Vecera) [1824071] - [net] sch_ets: Make the ETS qdisc offloadable (Ivan Vecera) [1824071] - [net] sch_ets: Add a new Qdisc (Ivan Vecera) [1824071] - [include] net: pkt_cls: Clarify a comment (Ivan Vecera) [1824071] - [net] sch_cake: drop unused variable tin_quantum_prio (Ivan Vecera) [1824071] - [net] sched: act_ctinfo: fix memory leak (Ivan Vecera) [1824071] - [net] sched: act_ife: initalize ife->metalist earlier (Ivan Vecera) [1824071] - [net] sch_cake: avoid possible divide by zero in cake_enqueue() (Ivan Vecera) [1824071] - [tools] tc-testing: initial tdc selftests for cls_u32 (Ivan Vecera) [1824071] - [net] treewide: Use sizeof_field() macro (Ivan Vecera) [1824071] - [tools] tc-testing: unbreak full listing of tdc testcases (Ivan Vecera) [1824071] - [net] act_ct: support asymmetric conntrack (Ivan Vecera) [1824071] - [net] sch_cake: Add missing NLA policy entry TCA_CAKE_SPLIT_GSO (Ivan Vecera) [1824071] - [net] remove the unnecessary strict_start_type in some policies (Ivan Vecera) [1824071] - [net] sched: pie: enable timestamp based delay calculation (Ivan Vecera) [1824071] - [net] taprio: don't reject same mqprio settings (Ivan Vecera) [1824071] - [tools] tc-testing: Introduced tdc tests for basic filter (Ivan Vecera) [1824071] - [tools] tc-testing: updated pedit TDC tests (Ivan Vecera) [1824071] - [net] net_sched: add TCA_STATS_PKT64 attribute (Ivan Vecera) [1824071] - [net] net_sched: extend packet counter to 64bit (Ivan Vecera) [1824071] - [include] net_sched: do not export gnet_stats_basic_packed to uapi (Ivan Vecera) [1824071] - [tools] tc-testing: added tests with cookie for mpls TC action (Ivan Vecera) [1824071] - [net] icmp: remove duplicate code (Ivan Vecera) [1824071] - [include] icmp: add helpers to recognize ICMP error packets (Ivan Vecera) [1824071] - [net] taprio: fix panic while hw offload sched list swap (Ivan Vecera) [1824071] - [net] sched: Replace rcu_swap_protected() with rcu_replace_pointer() (Ivan Vecera) [1824071] - [net] net_sched: sch_fq: avoid calling ktime_get_ns() if not needed (Ivan Vecera) [1824071] - [net] net_sched: sch_fq: add dctcp-like marking (Ivan Vecera) [1824071] - [net] net_sched: sch_fq: remove dead code dealing with retransmits (Ivan Vecera) [1824071] - [net] sched: act_ct: fix build failure in RHEL8 (Ivan Vecera) [1824071] - [net] don't return invalid table id error when we fall back to PF_UNSPEC (Sabrina Dubroca) [1814093] - [net] netfilter: update include directives. (Marcelo Leitner) [1837856] - [include] netfilter: fix include guards. (Marcelo Leitner) [1837856] - [include] netfilter: add include guard to xt_connlabel.h (Marcelo Leitner) [1837856] - [net] sk_msg: Don't use RCU_INIT_POINTER on sk_user_data (Sabrina Dubroca) [1819627] - [tools] selftests/bpf: Fix build of sockmap_ktls.c (Sabrina Dubroca) [1819627] - [net] Generate reuseport group ID on group creation (Sabrina Dubroca) [1819627] - [net] bpf: Allow selecting reuseport socket from a SOCKMAP/SOCKHASH (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: Let all kernel-land lookup values in SOCKMAP/SOCKHASH (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: Return socket cookie on lookup from syscall (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: Don't set up upcalls and progs for listening sockets (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: Allow inserting listening TCP sockets into sockmap (Sabrina Dubroca) [1819627] - [net] tcp_bpf: Don't let child socket inherit parent protocol ops on copy (Sabrina Dubroca) [1819627] - [net] net, sk_msg: Clear sk_user_data pointer on clone if tagged (Sabrina Dubroca) [1819627] - [net] net, sk_msg: Annotate lockless access to sk_prot on clone (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: bpf_tcp_ingress needs to subtract bytes from sg.size (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: msg_pop_data can incorrecty set an sge length (Sabrina Dubroca) [1819627] - [net] tls: fix const assignment warning (Sabrina Dubroca) [1819627] - [net] tls: Fix sk_psock refcnt leak in bpf_exec_tx_verdict() (Sabrina Dubroca) [1819627] - [net] tls: Fix sk_psock refcnt leak when in tls_data_ready() (Sabrina Dubroca) [1819627] - [tools] selftests/bpf: Test unhashing kTLS socket after removing from map (Sabrina Dubroca) [1819627] - [include] bpf, sk_msg: Don't clear saved sock proto on restore (Sabrina Dubroca) [1819627] - [include] bpf, sk_msg: Let ULP restore sk_proto and write_space callback (Sabrina Dubroca) [1819627] - [net] tls: Annotate access to sk_prot with READ_ONCE/WRITE_ONCE (Sabrina Dubroca) [1819627] - [net] tls: Read sk_prot once when building tls proto ops (Sabrina Dubroca) [1819627] - [net] tls: Constify base proto ops used for building tls proto (Sabrina Dubroca) [1819627] - [net] tls: Fix to avoid gettig invalid tls record (Sabrina Dubroca) [1819627] - [net] tls: avoid spurious decryption error with HW resync (Sabrina Dubroca) [1819627] - [net] tls: add helper for testing if socket is RX offloaded (Sabrina Dubroca) [1819627] - [tools] selftests: net: tls: remove recv_rcvbuf test (Sabrina Dubroca) [1819627] - [net] tls: use sg_next() to walk sg entries (Sabrina Dubroca) [1819627] - [net] tls: remove the dead inplace_crypto code (Sabrina Dubroca) [1819627] - [tools] selftests/tls: add a test for fragmented messages (Sabrina Dubroca) [1819627] - [net] tls: Fix unused function warning (Sabrina Dubroca) [1819627] - [net] tls: store decrypted on a single bit (Sabrina Dubroca) [1819627] - [net] tls: store async_capable on a single bit (Sabrina Dubroca) [1819627] - [net] tls: pass context to tls_device_decrypted() (Sabrina Dubroca) [1819627] - [net] tls: make allocation failure unlikely (Sabrina Dubroca) [1819627] - [net] tls: mark sk->err being set as unlikely (Sabrina Dubroca) [1819627] - [net] sockmap: use bitmap for copy info (Sabrina Dubroca) [1819627] - [net] tls: add TlsDeviceRxResync statistic (Sabrina Dubroca) [1819627] - [net] tls: add TlsDecryptError stat (Sabrina Dubroca) [1819627] - [net] tls: add statistics for installed sessions (Sabrina Dubroca) [1819627] - [net] tls: add skeleton of MIB statistics (Sabrina Dubroca) [1819627] - [net] tls: add device decrypted trace point (Sabrina Dubroca) [1819627] - [net] tls: add tracing for device/offload events (Sabrina Dubroca) [1819627] - [net] tls: allow compiling TLS TOE out (Sabrina Dubroca) [1819627] - [net] tls: rename tls_hw_* functions tls_toe_* (Sabrina Dubroca) [1819627] - [net] tls: move TOE-related code to a separate file (Sabrina Dubroca) [1819627] - [net] tls: move tls_build_proto() on init path (Sabrina Dubroca) [1819627] - [net] tls: use the full sk_proto pointer (Sabrina Dubroca) [1819627] - [net] tls: rename tls_device to tls_toe_device (Sabrina Dubroca) [1819627] - [net] tls: move TOE-related structures to a separate header (Sabrina Dubroca) [1819627] - [net] tls: sleeping function from invalid context (Sabrina Dubroca) [1819627] - [net] netfilter: nft_set_rbtree: Add missing expired checks (Phil Sutter) [1778020] - [tools] selftests: netfilter: extend flowtable test script with dnat rule (Marcelo Leitner) [1811193] - [tools] selftests: netfilter: extend flowtable test script for ipsec (Marcelo Leitner) [1811193] - [tools] selftests: netfilter: add flowtable test script (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: set NF_FLOW_TEARDOWN flag on entry expiration (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Remove WQ_MEM_RECLAIM from workqueue (Marcelo Leitner) [1811193] - [net] netfilter: nf_conntrack: add IPS_HW_OFFLOAD status bit (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Free block_cb when being deleted (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add counter support in HW offload (Marcelo Leitner) [1811193] - [net] netfilter: conntrack: add nf_ct_acct_add() (Marcelo Leitner) [1811193] - [net] netfilter: conntrack: export nf_ct_acct_update() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Use work entry per offload command (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Use rw sem as flow block lock (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add counter support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add enum nft_flowtable_flags to uapi (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix incorrect tc_setup_type type (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: populate addr_type mask (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix flushing of offloaded flows on free (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: fix NULL pointer dereference in tunnel offload support (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: reload ip{v6}h in nf_flow_tuple_ip{v6} (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: reload ip{v6}h in nf_flow_nat_ip{v6} (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: dump NFTA_CHAIN_FLAGS attribute (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: free flowtable hooks on hook register error (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add tunnel encap/decap action offload support (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add indr block setup support (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flow_table_block_offload_init() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add tunnel match offload support (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: skip offload setup if disabled (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Use nf_flow_offload_tuple for stats as well (Marcelo Leitner) [1811193] - [net] flow_offload: Add flow_match_ct to get rule ct match (Marcelo Leitner) [1811193] - [include] net/sched: act_ct: Enable hardware offload of flow table entires (Marcelo Leitner) [1811193] - [include] net/sched: act_ct: Support refreshing the flow table entries (Marcelo Leitner) [1811193] - [include] net/sched: act_ct: Support restoring conntrack info on skbs (Marcelo Leitner) [1811193] - [net] sched: act_ct: Instantiate flow table entry actions (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Add API for registering to flow table events (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix setting forgotten NF_FLOW_HW_DEAD flag (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix missing flush hardware on table free (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix hardware flush order on nf_flow_table_cleanup (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: fix check the chain offload flag (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: fix memory leak in nf_tables_parse_netdev_hooks() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flow_table_offload_cmd() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flow_offload_tuple() helper (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: refresh flow if hardware offload fails (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flowtable_hw_offload() helper function (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: use atomic bitwise operations for flow flags (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: remove dying bit, use teardown bit instead (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flow_offload_work_alloc() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: restrict flow dissector match on meta ingress device (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: fetch stats only if flow is still alive (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flowtable_time_stamp (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: unbind callbacks from flowtable destroy path (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: fix the nat port mangle. (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: check the status of dst_neigh (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: fix incorrect ethernet dst address (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: fix big-endian integer overflow (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Correct memcpy size for flow_overload_mangle() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: return EOPNOTSUPP if rule specifies no actions (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: add IPv6 match description (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Don't use offset uninitialized in flow_offload_port_{d, s}nat (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Fix block_cb tc_setup_type as TC_SETUP_CLSFLOWER (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Fix block setup as TC_SETUP_FT cmd (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: check if bind callback fails and unbind if hook registration fails (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add nft_unregister_flowtable_hook() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: undo updates if transaction fails (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: release flow_rule on error from commit path (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: remove reference to flow rule from deletion path (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: add IPv6 support (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: add flow_action_entry_next() and use it (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove unnecessary parameter in flow_offload_fill_dir (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Fix check ndo_setup_tc when setup_block (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: Check for the NETDEV_UNREGISTER event (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: hardware offload support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add flowtable offload control plane (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: detach routing information from flow description (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: skip tcp rst and fin packets (Marcelo Leitner) [1811193] - [net] netfilter: nf_flowtable: remove flow_offload_entry structure (Marcelo Leitner) [1811193] - [include] netfilter: nf_flow_table: remove union from flow_offload structure (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: move conntrack object to struct flow_offload (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: skip EBUSY on chain update (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: bogus EOPNOTSUPP on basechain update (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: pass extack to nft_flow_cls_offload_setup() (Marcelo Leitner) [1811193] - [net] netfilter: nft_meta: offload support for interface index (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: white-space fixes. (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: check for register data length mismatches (Marcelo Leitner) [1811193] - [net] netfilter: nft_bitwise: Adjust parentheses to fix memcmp size argument (Marcelo Leitner) [1811193] - [net] netfilter: nft_bitwise: add offload support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: unbind if multi-device binding fails (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add nft_flow_block_offload_init() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add nft_chain_offload_cmd() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: restore basechain deletion (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: support for multiple devices per netdev hook (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: fix base chain stat rcu_dereference usage (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: remove rules on unregistered device only (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add nft_flow_cls_offload_setup() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: Pass callback list to nft_setup_cb_call() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add nft_flow_block_chain() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: increase maximum devices number per flowtable (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: allow netdevice to be used only once per flowtable (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: dynamically allocate hooks per net_device in flowtables (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove flowtable hook flush routine in netns exit routine (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: move priority to struct nf_flowtable (Marcelo Leitner) [1811193] - [net] netfilter: nft_payload: fix missing check for matching length in offloads (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: set timeout before insertion into hashes (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: fix always true policy is unset check (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add NFT_CHAIN_POLICY_UNSET and use it (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: remove rules when the device unregisters (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: refactor the nft_flow_offload_rule function (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: refactor the nft_flow_offload_chain function (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add __nft_offload_get_chain function (Marcelo Leitner) [1811193] - [net] netfilter: nft_{fwd, dup}_netdev: add offload support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: avoid excessive stack usage (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: move indirect flow_block callback logic to core (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: set default timeout after successful insertion (Marcelo Leitner) [1811193] - [net] netfilter: ctnetlink: honor IPS_OFFLOAD flag (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: clear skb tstamp before xmit (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: map basechain priority to hardware priority (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: teardown flow timeout race (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: conntrack picks up expired flows (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: support indr block call (Marcelo Leitner) [1811193] - [net] flow_offload: add flow_block structure and use it (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: store data in offload context registers (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: fix offload for flows that are subject to xfrm (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: don't fail when updating base chain policy (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add hardware offload support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: delay chain policy update until transaction is complete (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: IPCB is only valid for ipv4 family (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: don't offload when sequence numbers need adjustment (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: set liberal tracking mode for tcp (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: ignore DF bit setting (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove unnecessary variable in flow_offload_tuple (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: add entry to flowtable after confirmation (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: fix checking method of conntrack helper (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: fix missing error check for rhashtable_insert_fast (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: do not flow offload deleted conntrack entries (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: simplify nf_flow_offload_gc_step() (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: check ttl value in flow offload data path (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: fix netdev refcnt leak (Marcelo Leitner) [1811193] - [net] netfilter: nf_flowtable: skip device lookup from interface index (Marcelo Leitner) [1811193] - [net] netfilter: conntrack: fix IPV6=n builds (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: fix interaction with vrf slave device (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: Fix reverse route lookup (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: make nf_flow_table_iterate() static (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: do not remove offload when other netns's interface is down (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove unnecessary parameter of nf_flow_table_cleanup() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: use rhashtable_lookup() instead of rhashtable_lookup_fast() (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove unnecessary nat flag check code (Marcelo Leitner) [1811193] - [net] mptcp: mark tech preview and disable by default (Florian Westphal) [1835796] - [net] mptcp: fix bogus socket flag values (Florian Westphal) [1835796] - [net] mptcp: select CRYPTO (Florian Westphal) [1835796] - [net] mptcp: Protect subflow socket options before connection completes (Florian Westphal) [1835796] - [net] mptcp: make the symbol 'mptcp_sk_clone_lock' static (Florian Westphal) [1835796] - [net] mptcp: fix use-after-free for ipv6 (Florian Westphal) [1835796] - [net] mptcp: fix use-after-free on tcp fallback (Florian Westphal) [1835796] - [net] mptcp: Fix undefined mptcp_handle_ipv6_mapped for modular IPV6 (Florian Westphal) [1835796] - [net] mptcp: Fix incorrect IPV6 dependency check (Florian Westphal) [1835796] - [net] mptcp: handle tcp fallback when using syn cookies (Florian Westphal) [1835796] - [net] mptcp: avoid a lockdep splat when mcast group was joined (Florian Westphal) [1835796] - [net] mptcp: fix panic on user pointer access (Florian Westphal) [1835796] - [net] mptcp: defer freeing of cached ext until last moment (Florian Westphal) [1835796] - [net] mptcp: Fix build with PROC_FS disabled. (Florian Westphal) [1835796] - [tools] selftests: settings: tests can be in subsubdirs (Florian Westphal) [1835796] - [net] mptcp: Fix code formatting (Florian Westphal) [1835796] - [net] mptcp: do not inherit inet proto ops (Florian Westphal) [1835796] - [net] add and use MPTCP_PROTO_KERN (Florian Westphal) [1835796] - [net] mptcp: cope with later TCP fallback (Florian Westphal) [1835796] - [net] mptcp: process MP_CAPABLE data option (Florian Westphal) [1835796] - [net] mptcp: parse and emit MP_CAPABLE option according to v1 spec (Florian Westphal) [1835796] - [net] mptcp: move from sha1 (v0) to sha256 (v1) (Florian Westphal) [1835796] - [tools] mptcp: add basic kselftest for mptcp (Florian Westphal) [1835796] - [net] mptcp: new sysctl to control the activation per NS (Florian Westphal) [1835796] - [net] mptcp: allow collapsing consecutive sendpages on the same substream (Florian Westphal) [1835796] - [net] mptcp: recvmsg() can drain data from multiple subflows (Florian Westphal) [1835796] - [net] mptcp: add subflow write space signalling and mptcp_poll (Florian Westphal) [1835796] - [net] mptcp: Implement MPTCP receive path (Florian Westphal) [1835796] - [net] mptcp: Write MPTCP DSS headers to outgoing data packets (Florian Westphal) [1835796] - [net] mptcp: Add setsockopt()/getsockopt() socket operations (Florian Westphal) [1835796] - [net] mptcp: Add shutdown() socket operation (Florian Westphal) [1835796] - [net] mptcp: Add key generation and token tree (Florian Westphal) [1835796] - [net] mptcp: Create SUBFLOW socket for incoming connections (Florian Westphal) [1835796] - [net] mptcp: Handle MP_CAPABLE options for outgoing connections (Florian Westphal) [1835796] - [net] mptcp: Associate MPTCP context with TCP socket (Florian Westphal) [1835796] - [net] mptcp: Handle MPTCP TCP options (Florian Westphal) [1835796] - [net] mptcp: Add MPTCP socket stubs (Florian Westphal) [1835796] - [net] netfilter: conntrack: fix infinite loop on rmmod (Florian Westphal) [1832381] - [tools] selftests: add netdevsim devlink dev info test (Petr Oros) [1830928] - [tools] selftests: test netdevsim reload forbid and fail (Petr Oros) [1830928] - [netdrv] mlx4: fix "initializer element not constant" compiler error (Petr Oros) [1830928] - [netdrv] netdevsim: dev: Fix memory leak in nsim_dev_take_snapshot_write (Petr Oros) [1830928] - [net] devlink: fix return value after hitting end in region read (Petr Oros) [1830928] - [net] devlink: Fix reporter's recovery condition (Petr Oros) [1830928] - [documentation] docs: devlink: clarify the scope of snapshot id (Petr Oros) [1830928] - [net] devlink: let kernel allocate region snapshot id (Petr Oros) [1830928] - [net] devlink: factor out building a snapshot notification (Petr Oros) [1830928] - [documentation] devlink: fix broken link warning (Petr Oros) [1830928] - [net] devlink: use NL_SET_ERR_MSG_MOD instead of NL_SET_ERR_MSG (Petr Oros) [1830928] - [include] devlink: Add macro for "fw.mgmt.api" to info_get cb. (Petr Oros) [1830928] - [netdrv] netdevsim: support taking immediate snapshot via devlink (Petr Oros) [1830928] - [net] devlink: implement DEVLINK_CMD_REGION_NEW (Petr Oros) [1830928] - [net] devlink: track snapshot id usage count using an xarray (Petr Oros) [1830928] - [net] devlink: report error once U32_MAX snapshot ids have been used (Petr Oros) [1830928] - [net] devlink: extract snapshot id allocation to helper function (Petr Oros) [1830928] - [net] devlink: use -ENOSPC to indicate no more room for snapshots (Petr Oros) [1830928] - [net] devlink: add function to take snapshot while locked (Petr Oros) [1830928] - [net] devlink: trivial: fix tab in function documentation (Petr Oros) [1830928] - [net] devlink: convert snapshot destructor callback to region op (Petr Oros) [1830928] - [net] devlink: prepare to support region operations (Petr Oros) [1830928] - [documentation] devlink: expand the devlink-info documentation (Petr Oros) [1830928] - [net] devlink: Introduce devlink port flavour virtual (Petr Oros) [1830928] - [net] devlink: validate length of region addr/len (Petr Oros) [1830928] - [net] devlink: validate length of param values (Petr Oros) [1830928] - [net] core: Replace zero-length array with flexible-array member (Petr Oros) [1830928] - [net] core: devlink.c: Use built-in RCU list checking (Petr Oros) [1830928] - [net] devlink: Rely on driver eswitch thread safety instead of devlink (Petr Oros) [1830928] - [net] core: devlink.c: Hold devlink->lock from the beginning of devlink_dpipe_table_register() (Petr Oros) [1830928] - [net] devlink: Force enclosing array on binary fmsg data (Petr Oros) [1830928] - [net] devlink: report 0 after hitting end in region read (Petr Oros) [1830928] - [net] devlink: correct misspelling of snapshot (Petr Oros) [1830928] - [tools] selftests: Add a test of large binary to devlink health test (Petr Oros) [1830928] - [netdrv] netdevsim: Update dummy reporter's devlink binary interface (Petr Oros) [1830928] - [net] devlink: Allow large formatted message of binary output (Petr Oros) [1830928] - [tools] selftests: netdevsim: Add test cases for devlink-trap policers (Petr Oros) [1823743] - [netdrv] netdevsim: Add support for setting of packet trap group parameters (Petr Oros) [1823743] - [net] devlink: Allow setting of packet trap group parameters (Petr Oros) [1823743] - [net] devlink: Add packet trap group parameters support (Petr Oros) [1823743] - [netdrv] netdevsim: Add devlink-trap policer support (Petr Oros) [1823743] - [documentation] Add description of packet trap policers (Petr Oros) [1823743] - [net] devlink: Add packet trap policers support (Petr Oros) [1823743] - [net] devlink: Add auto dump flag to health reporter (Petr Oros) [1823743] - [net] devlink: Implicitly set auto recover flag when registering health reporter (Petr Oros) [1823743] - [netdrv] netdevsim: Change dummy reporter auto recover default (Petr Oros) [1823743] - [net] devlink: Only pass packet trap group identifier in trap structure (Petr Oros) [1823743] - [net] devlink: Stop reference counting packet trap groups (Petr Oros) [1823743] - [netdrv] netdevsim: Explicitly register packet trap groups (Petr Oros) [1823743] - [net] devlink: Add API to register packet trap groups (Petr Oros) [1823743] - [net] esp6: calculate transport_header correctly when sel.family != AF_INET6 (Xin Long) [1815980 1761579] - [net] esp4: support ipv6 nexthdrs process for beet gso segment (Xin Long) [1815980 1761579] - [net] esp6: support ipv6 nexthdrs process for beet gso segment (Xin Long) [1815980 1761579] - [net] xfrm: remove the xfrm_state_put call becofe going to out_reset (Xin Long) [1815980 1761579] - [net] esp6: get the right proto for transport mode in esp6_gso_encap (Xin Long) [1815980 1761579] - [net] xfrm: do pskb_pull properly in __xfrm_transport_prep (Xin Long) [1815980 1761579] - [net] xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input (Xin Long) [1815980 1761579] - [net] xfrm: add prep for esp beet mode offload (Xin Long) [1815980 1761579] - [net] esp6: add gso_segment for esp6 beet mode (Xin Long) [1815980 1761579] - [net] esp4: add gso_segment for esp4 beet mode (Xin Long) [1815980 1761579] - [net] xfrm: kconfig: make xfrm depend on inet (Xin Long) [1815980 1761579] - [net] xfrm: make xfrm modes builtin (Xin Long) [1815980 1761579] - [net] xfrm: remove afinfo pointer from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove output2 indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove input2 indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove gso_segment indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove xmit indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove output indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove input indirection from xfrm_mode (Xin Long) [1761579 1815980] - [net] xfrm: prefer family stored in xfrm_mode struct (Xin Long) [1815980 1761579] - [net] xfrm: place af number into xfrm_mode struct (Xin Long) [1761579 1815980] - [net] xfrm: gso partial offload support (Xin Long) [1761579 1815980] - [net] netfilter: cttimeout: remove set but not used variable 'l3num' (Florian Westphal) [1822085] - [net] netfilter: conntrack: handle icmp pkt_to_tuple helper via direct calls (Florian Westphal) [1822085] - [net] netfilter: conntrack: handle builtin l4proto packet functions via direct calls (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove net_id (Florian Westphal) [1822085] - [net] netfilter: conntrack: gre: switch module to be built-in (Florian Westphal) [1822085] - [net] netfilter: remove unused parameters in nf_ct_l4proto_[un]register_sysctl() (Florian Westphal) [1822085] - [net] netfilter: conntrack: gre: convert rwlock to rcu (Florian Westphal) [1822085] - [net] netfilter: nfnetlink_cttimeout: fetch timeouts for udplite and gre, too (Florian Westphal) [1822085] - [net] netfilter: nfnetlink_cttimeout: pass default timeout policy to obj_to_nlattr (Florian Westphal) [1822085] - [net] netfilter: conntrack: add nf_{tcp, udp, sctp, icmp, dccp, icmpv6, generic}_pernet() (Florian Westphal) [1822085] - [net] netfilter: conntrack: clamp l4proto array size at largers supported protocol (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove l3->l4 mapping information (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove unused proto arg from netns init functions (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove error callback and handle icmp from core (Florian Westphal) [1822085] - [net] netfilter: conntrack: avoid using ->error callback if possible (Florian Westphal) [1822085] - [net] netfilter: conntrack: deconstify packet callback skb pointer (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove the l4proto->new() function (Florian Westphal) [1822085] - [net] netfilter: conntrack: timeout interface depend on CONFIG_NF_CONNTRACK_TIMEOUT (Florian Westphal) [1822085] - [net] netfilter: conntrack: pass nf_hook_state to packet and error handlers (Florian Westphal) [1822085] - [net] netfilter: conntrack: place 'new' timeout in first location too (Florian Westphal) [1822085] - [net] netfilter: nf_conntrack_h323: Remove deprecated config check (Florian Westphal) [1822085] - [include] netfilter: nf_tables: merge route type into core (Florian Westphal) [1822085] - [net] netfilter: ipv6: avoid indirect calls for IPV6=y case (Florian Westphal) [1822085] - [net] netfilter: nat: remove module dependency on ipv6 core (Florian Westphal) [1822085] - [net] netfilter: remove obsolete need_conntrack stub (Florian Westphal) [1822085] - [net] netfilter: conntrack: avoid use-after free on rmmod (Florian Westphal) [1822085] - [net] netfilter: conntrack: dccp, sctp: handle null timeout argument (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove duplicated include from nf_conntrack_proto_udp.c (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove l3proto abstraction (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove get_timeout() indirection (Florian Westphal) [1822085] - [net] netfilter: conntrack: avoid l4proto pkt_to_tuple calls (Florian Westphal) [1822085] - [net] netfilter: conntrack: avoid calls to l4proto invert_tuple (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove get_l4proto indirection from l3 protocol trackers (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove invert_tuple indirection from l3 protocol trackers (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove pkt_to_tuple indirection from l3 protocol trackers (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove ctnetlink callbacks from l3 protocol trackers (Florian Westphal) [1822085] - [net] openvswitch: use nf_ct_get_tuplepr, invert_tuplepr (Florian Westphal) [1822085] - [net] netfilter: utils: move nf_ip6_checksum* from ipv6 to utils (Florian Westphal) [1822085] - [net] netfilter: utils: move nf_ip_checksum* from ipv4 to utils (Florian Westphal) [1822085] - [net] netfilter: flowtables: use fixed renew timeout on teardown (Florian Westphal) [1822085] - [netdrv] geneve: use the correct nlattr array in NL_SET_ERR_MSG_ATTR (Xin Long) [1809503] - [netdrv] vxlan: use the correct nlattr array in NL_SET_ERR_MSG_ATTR (Xin Long) [1809503] - [netdrv] geneve: Allow configuration of DF behaviour (Xin Long) [1809503] - [netdrv] vxlan: Allow configuration of DF behaviour (Xin Long) [1809503] - [netdrv] net: phy: realtek: fix using paged operations with RTL8105e / RTL8208 (Josef Oskera) [1841511] - [netdrv] r8169: fix OCP access on RTL8117 (Josef Oskera) [1841511] - [netdrv] r8169: re-establish support for RTL8401 chip version (Josef Oskera) [1841511] - [netdrv] r8169: change back SG and TSO to be disabled by default (Josef Oskera) [1841511] - [netdrv] r8169: factor out rtl8169_tx_map (Josef Oskera) [1841511] - [netdrv] r8169: improve handling of TD_MSS_MAX (Josef Oskera) [1841511] - [netdrv] r8169: fix PHY driver check on platforms w/o module softdeps (Josef Oskera) [1841511] - [netdrv] r8169: re-enable MSI on RTL8168c (Josef Oskera) [1841511] - [netdrv] r8169: don't use MSI before RTL8168d (Josef Oskera) [1841511] - [netdrv] r8169: improve RTL8168b FIFO overflow workaround (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl_schedule_task (Josef Oskera) [1841511] - [netdrv] r8169: simplify rtl_task (Josef Oskera) [1841511] - [netdrv] r8169: add new helper rtl8168g_enable_gphy_10m (Josef Oskera) [1841511] - [netdrv] net: r8169: reject unsupported coalescing params (Josef Oskera) [1841511] - [netdrv] r8169: simplify getting stats by using netdev_stats_to_stats64 (Josef Oskera) [1841511] - [netdrv] r8169: let rtl8169_mark_to_asic clear rx descriptor field opts2 (Josef Oskera) [1841511] - [netdrv] r8169: remove now unneeded barrier in rtl_tx (Josef Oskera) [1841511] - [netdrv] r8169: simplify usage of rtl8169_unmap_tx_skb (Josef Oskera) [1841511] - [netdrv] r8169: ensure tx_skb is fully reset after calling rtl8169_unmap_tx_skb (Josef Oskera) [1841511] - [netdrv] r8169: convert while to for loop in rtl_tx (Josef Oskera) [1841511] - [netdrv] r8169: use pci_status_get_and_clear_errors (Josef Oskera) [1841511] - [netdrv] r8169: add PCI_STATUS_PARITY to PCI status error bits (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl8169_start_xmit (Josef Oskera) [1841511] - [netdrv] r8169: remove RTL_EVENT_NAPI constants (Josef Oskera) [1841511] - [netdrv] r8169: use new helper tcp_v6_gso_csum_prep (Josef Oskera) [1841511] - [netdrv] r8169: improve statistics of missed rx packets (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl_jumbo_config (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl8169_get_mac_version (Josef Oskera) [1841511] - [netdrv] r8169: add helper rtl_pci_commit (Josef Oskera) [1841511] - [netdrv] r8169: simplify setting netdev features (Josef Oskera) [1841511] - [netdrv] r8169: remove setting PCI_CACHE_LINE_SIZE in rtl_hw_start_8169 (Josef Oskera) [1841511] - [netdrv] r8169: remove unneeded check from rtl_link_chg_patch (Josef Oskera) [1841511] - [netdrv] r8169: fix performance regression related to PCIe max read request size (Josef Oskera) [1841511] - [netdrv] r8169: don't set min_mtu/max_mtu if not needed (Josef Oskera) [1841511] - [netdrv] r8169: factor out PHY configuration to r8169_phy_config.c (Josef Oskera) [1841511] - [netdrv] r8169: add r8169.h (Josef Oskera) [1841511] - [netdrv] r8169: rename rtl_apply_firmware (Josef Oskera) [1841511] - [netdrv] r8169: add phydev argument to rtl8168d_apply_firmware_cond (Josef Oskera) [1841511] - [netdrv] r8169: use phy_read/write instead of rtl_readphy/writephy (Josef Oskera) [1841511] - [netdrv] r8169: replace rtl_w0w1_phy (Josef Oskera) [1841511] - [netdrv] r8169: replace rtl_patchphy (Josef Oskera) [1841511] - [netdrv] r8169: move disabling MAC EEE for RTL8402/RTL8106e (Josef Oskera) [1841511] - [netdrv] r8169: move setting ERI register 0x1d0 for RTL8106 (Josef Oskera) [1841511] - [netdrv] r8169: switch to phylib functions in rtl_writephy_batch (Josef Oskera) [1841511] - [netdrv] r8169: change argument type of RTL8168g-specific PHY config functions (Josef Oskera) [1841511] - [netdrv] r8169: change argument type of EEE PHY functions (Josef Oskera) [1841511] - [netdrv] r8169: move RTL8169scd Gigabyte PHY quirk (Josef Oskera) [1841511] - [netdrv] r8169: remove not needed debug print in rtl8169_init_phy (Josef Oskera) [1841511] - [netdrv] r8169: prepare for exporting rtl_hw_phy_config (Josef Oskera) [1841511] - [netdrv] r8169: add constant EnAnaPLL (Josef Oskera) [1841511] - [netdrv] r8169: move enabling EEE to rtl8169_init_phy (Josef Oskera) [1841511] - [netdrv] r8169: remove MAC workaround in rtl8168e_2_hw_phy_config (Josef Oskera) [1841511] - [netdrv] r8169: factor out rtl8168h_2_get_adc_bias_ioffset (Josef Oskera) [1841511] - [netdrv] r8169: check that Realtek PHY driver module is loaded (Josef Oskera) [1841511] - [netdrv] treewide: Use sizeof_field() macro (Josef Oskera) [1841511] - [netdrv] r8169: fix rtl_hw_jumbo_disable for RTL8168evl (Josef Oskera) [1841511] - [netdrv] r8169: add missing RX enabling for WoL on RTL8125 (Josef Oskera) [1841511] - [netdrv] r8169: fix jumbo configuration for RTL8168evl (Josef Oskera) [1841511] - [netdrv] r8169: add check for PHY_MDIO_CHG to rtl_nic_fw_data_ok (Josef Oskera) [1841511] - [netdrv] r8169: use macro FIELD_SIZEOF in definition of FW_OPCODE_SIZE (Josef Oskera) [1841511] - [netdrv] r8169: change mdelay to msleep in rtl_fw_write_firmware (Josef Oskera) [1841511] - [netdrv] r8169: load firmware for RTL8168fp/RTL8117 (Josef Oskera) [1841511] - [netdrv] r8169: improve conditional firmware loading for RTL8168d (Josef Oskera) [1841511] - [netdrv] r8169: use r8168d_modify_extpage in rtl8168f_config_eee_phy (Josef Oskera) [1841511] - [netdrv] r8169: add support for RTL8117 (Josef Oskera) [1841511] - [netdrv] r8169: respect EEE user setting when restarting network (Josef Oskera) [1841511] - [netdrv] r8169: remove rtl8168c_4_hw_phy_config (Josef Oskera) [1841511] - [netdrv] r8169: add helper r8168d_modify_extpage (Josef Oskera) [1841511] - [netdrv] r8169: switch to phylib functions in more places (Josef Oskera) [1841511] - [netdrv] r8169: add helper r8168d_phy_param (Josef Oskera) [1841511] - [netdrv] r8169: add helper r8168g_phy_param (Josef Oskera) [1841511] - [netdrv] r8169: fix page read in r8168g_mdio_read (Josef Oskera) [1841511] - [netdrv] r8169: fix wrong PHY ID issue with RTL8168dp (Josef Oskera) [1841511] - [netdrv] r8169: use helper rtl_hw_aspm_clkreq_enable also in rtl_hw_start_8168g_2 (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl8169_rx_fill (Josef Oskera) [1841511] - [netdrv] r8169: align fix_features callback with vendor driver (Josef Oskera) [1841511] - [netdrv] r8169: never set PCI_EXP_DEVCTL_NOSNOOP_EN (Josef Oskera) [1841511] - [netdrv] r8169: remove rtl_hw_start_8168bef (Josef Oskera) [1841511] - [netdrv] r8169: remove rtl_hw_start_8168dp (Josef Oskera) [1841511] - [netdrv] r8169: simplify setting PCI_EXP_DEVCTL_NOSNOOP_EN (Josef Oskera) [1841511] - [netdrv] r8169: remove fiddling with the PCIe max read request size (Josef Oskera) [1841511] - [netdrv] r8169: fix jumbo packet handling on resume from suspend (Josef Oskera) [1841511] - [netdrv] r8169: don't set bit RxVlan on RTL8125 (Josef Oskera) [1841511] - [netdrv] r8169: add support for EEE on RTL8125 (Josef Oskera) [1841511] - [netdrv] r8169: add RTL8125 PHY initialization (Josef Oskera) [1841511] - [netdrv] r8169: add support for RTL8125 (Josef Oskera) [1841511] - [netdrv] r8169: don't use bit LastFrag in tx descriptor after send (Josef Oskera) [1841511] - [netdrv] r8169: read common register for PCI commit (Josef Oskera) [1841511] - [netdrv] r8169: move disabling interrupt coalescing to RTL8169/RTL8168 init (Josef Oskera) [1841511] - [netdrv] r8169: factor out reading MAC address from registers (Josef Oskera) [1841511] - [netdrv] r8169: restrict rtl_is_8168evl_up to RTL8168 chip versions (Josef Oskera) [1841511] - [netdrv] r8169: change interrupt mask type to u32 (Josef Oskera) [1841511] - [netdrv] r8169: improve DMA handling in rtl_rx (Josef Oskera) [1841511] - [netdrv] r8169: fix DMA issue on MIPS platform (Josef Oskera) [1841511] - [netdrv] r8169: sync EEE handling for RTL8168h with vendor driver (Josef Oskera) [1841511] - [netdrv] r8169: use the generic EEE management functions (Josef Oskera) [1841511] - [fs] gfs2: Even more gfs2_find_jhead fixes (Abhijith Das) [1828653] - [kernel] sched/fair: Don't NUMA balance for kthreads (Phil Auld) [1842543] - [kernel] sched/core: Offload wakee task activation if it the wakee is descheduling (Phil Auld) [1842543] - [kernel] sched/core: Optimize ttwu() spinning on p->on_cpu (Phil Auld) [1842543] - [fs] gfs2: Smarter iopen glock waiting (Andreas Grunbacher) [1582655] - [fs] gfs2: Wake up when setting GLF_DEMOTE (Andreas Grunbacher) [1582655] - [fs] gfs2: Check inode generation number in delete_work_func (Andreas Grunbacher) [1582655] - [fs] gfs2: Move inode generation number check into gfs2_inode_lookup (Andreas Grunbacher) [1582655] - [fs] gfs2: Minor gfs2_lookup_by_inum cleanup (Andreas Grunbacher) [1582655] - [fs] gfs2: Try harder to delete inodes locally (Andreas Grunbacher) [1582655] - [fs] gfs2: Give up the iopen glock on contention (Andreas Grunbacher) [1582655] - [fs] gfs2: Turn gl_delete into a delayed work (Andreas Grunbacher) [1582655] - [fs] gfs2: Keep track of deleted inode generations in LVBs (Andreas Grunbacher) [1582655] - [fs] gfs2: Allow ASPACE glocks to also have an lvb (Andreas Grunbacher) [1582655] - [fs] gfs2: Avoid access time thrashing in gfs2_inode_lookup (Andreas Grunbacher) [1582655] - [fs] gfs2: Use IS_ERR_OR_NULL (Andreas Grunbacher) [1582655] - [fpga] fpga: mark the intel fpga drivers as tech preview (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: stratix10-svc: Remove unneeded semicolon (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: Fix incompatible function behavior for RSU driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: add Intel Stratix10 remote system update driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] firmware: stratix10-svc: extend svc to support new RSU features (Luis Goncalves) [1689274 1660310 1494701 1494699] - [edac] EDAC/altera, firmware/intel: Add Stratix10 ECC DBE SMC call (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: stratix10-svc: fix wrong of_node_put() in init function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] firmware: add remote status update client support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: add Intel Stratix10 service layer driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: pci: fix return value of cci_pci_sriov_configure (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: xilinx-pr-decoupler: Remove clk_get error message for probe defer (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: remove redundant dev_err message (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: remove set but not used variable 'afu' (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: remove set but not used variable 'fme' (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add power management support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add thermal management support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] Documentation: fpga: dfl: add descriptions for thermal/power management interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: Remove dev_err() usage after platform_get_irq() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] Documentation: fpga: dfl: add descriptions for virtualization and new interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add global error reporting support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add STP (SignalTap) support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add error reporting support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: expose __afu_port_enable/disable function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add userclock sysfs interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: convert platform_driver to use dev_groups (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: convert platform_driver to use dev_groups (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: make init callback optional (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Add Stratix10 (V2) Support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Preparation for V2 parts (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Discover Vendor Specific offset (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-ps-spi: Fix getting of optional confd gpio (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add capability sysfs interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: make uinit callback optional (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add id_table for dfl private feature driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add AFU state related sysfs interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: pci: enable SRIOV support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add DFL_FPGA_FME_PORT_RELEASE/ASSIGN ioctl support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: use driver core functions, not sysfs ones (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-pr-ip: Make alt_pr_unregister function void (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Fix function definition argument (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga-manager: altera-ps-spi: Fix build error (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: align PR buffer size per PR datawidth (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: remove copy_to_user() in ioctl for PR (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl-fme-mgr: fix FME_PR_INTFC_ID register address (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] drivers: fpga: Kconfig: pedantic cleanups (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] docs: fpga: convert docs to ReST and rename to *.rst (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: zynqmp-fpga: Correctly handle error pointer (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] include: fpga: adi-axi-common.h: add common regs & defs header (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: expand minor range when registering chrdev region (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: Add lockdep classes for pdata->lock (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: Pass the correct device to dma_mapping_error() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: stratix10-soc: fix use-after-free on s10_init() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] treewide: Add SPDX license identifier - Makefile/Kconfig (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] mm/gup: change GUP fast to use flags rather than a write 'bool' (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga manager: Adding FPGA Manager support for Xilinx zynqmp (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera_freeze_bridge: remove restriction to socfpga (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: mgr: altera-ps-spi: make array dummy static, shrinks object size (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: stratix10-soc: fix wrong of_node_put() in init function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] Remove 'type' argument from access_ok() function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: of-fpga-region: Use platform_set_drvdata (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl-fme-region: Use platform_get_drvdata() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: add intel stratix10 soc fpga manager driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: mgr: altera-ps-spi: enable usage on non-dt platforms (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: fix probing for multiple FPGAs on the bus (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] zynq-fpga: Only route PR via PCAP when required (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Fix registration for CvP incapable devices (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: remove set but not used variable 'priv' (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: fix 'bad IO access' on x86_64 (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: add devm_fpga_region_create (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: bridge: add devm_fpga_bridge_create (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: mgr: add devm_fpga_mgr_create (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] docs: fpga: document fpga manager flags (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: bridge: fix obvious function documentation error (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: do not access region struct after fpga_region_unregister (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] drivers: fpga: fix two trivial spelling mistakes (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: fix return value check in in pr_mgmt_init() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add DFL_FPGA_PORT_DMA_MAP/UNMAP ioctls support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add afu sub feature support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add DFL_FPGA_GET_API_VERSION/CHECK_EXTENSION ioctls support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add header sub feature support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add port ops support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add FPGA Accelerated Function Unit driver basic framework (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme-region: add support for compat_id (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add fpga region platform driver for FME (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add fpga bridge platform driver for FME (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme-mgr: add compat_id support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add fpga manager platform driver for FME (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add partial reconfiguration sub feature support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add DFL_FPGA_GET_API_VERSION/CHECK_EXTENSION ioctls support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add header sub feature support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add FPGA Management Engine driver basic framework (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl-pci: add enumeration for feature devices (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: add FPGA DFL PCIe device driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add dfl_fpga_check_port_id function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add dfl_fpga_port_ops support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add feature device infrastructure (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add dfl_fpga_cdev_find_port (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add chardev support for feature devices (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: add device feature list support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: region: add compat_id support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] fpga: mgr: add compat_id support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: mgr: add status for fpga-manager (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] fpga: mgr: add region_id to fpga_image_info (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] docs: fpga: add a document for FPGA Device Feature List (DFL) Framework Overview (Luis Goncalves) [1689274 1660310 1494701 1494699] - [mm] mm: Add a vmf_insert_mixed_prot() function (Dave Airlie) [1838335] - [mm] mm: Add write-protect and clean utilities for address space ranges (Dave Airlie) [1838335] - [mm] mm: Add a walk_page_mapping() function to the pagewalk code (Dave Airlie) [1838335] - [mm] pagewalk: separate function pointers from iterator data (Dave Airlie) [1838335] - [mm] mm: split out a new pagewalk.h header from mm.h (Dave Airlie) [1838335] - [mm] mm: update ptep_modify_prot_commit to take old pte value as arg (Dave Airlie) [1838335] - [x86] mm: update ptep_modify_prot_start/commit to take vm_area_struct as arg (Dave Airlie) [1838335] - [mm] mm/mmu_notifier: add an interval tree notifier (Dave Airlie) [1838335] - [mm] mm/mmu_notifier: define the header pre-processor parts even if disabled (Dave Airlie) [1838335] - [mm] mm/mmu_notifiers: add a lockdep map for invalidate_range_start/end (Dave Airlie) [1838335] - [misc] misc/sgi-gru: use mmu_notifier_get/put for struct gru_mm_struct (Dave Airlie) [1838335] - [drm] drm/backport: add mmu notifier get/put support to drm backport (Dave Airlie) [1838335] - [mm] mm/mmu_notifiers: add a get/put scheme for the registration (Dave Airlie) [1838335] - [mm] mm/mmu_notifiers: do not speculatively allocate a mmu_notifier_mm (Dave Airlie) [1838335] - [mm] mm/mmu_notifiers: hoist do_mmu_notifier_register down_write to the caller (Dave Airlie) [1838335] - [mm] mm/mmu_notifier.c: remove mmu_notifier_synchronize() (Dave Airlie) [1838335] - [infiniband] locking/lockdep: Rename lockdep_assert_held_exclusive() -> lockdep_assert_held_write() (Dave Airlie) [1838335] - [include] mm/mmu_notifier: contextual information for event enums (Dave Airlie) [1838335] - [mm] mm/memory_hotplug.c: only respect mem= parameter during boot stage (Baoquan He) [1838809 1781472] - [scsi] scsi: mpt3sas: Remove unused including (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Fix double free warnings (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Disable DIF when prot_mask set to zero (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Capture IOC data for debugging purposes (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Use true, false for ioc->use_32bit_dma (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Remove NULL check before freeing function (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Update mpt3sas version to 33.101.00.00 (Tomas Henzl) [1790760] - [scsi] mpt3sas: Fix memset in non-rdpq mode (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Fix reply queue count in non RDPQ mode (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Handle RDPQ DMA allocation in same 4G region (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Separate out RDPQ allocation to new function (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Rename function name is_MSB_are_same (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Don't change the DMA coherent mask after allocations (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: use true, false for bool variables (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Fix kernel panic observed on soft HBA unplug (Tomas Henzl) [1790760] - [scsi] scsi: Replace zero-length array with flexible-array member (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Update drive version to 33.100.00.00 (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Remove usage of device_busy counter (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Print function name in which cmd timed out (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Optimize mpt3sas driver logging (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: print in which path firmware fault occurred (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Handle CoreDump state from watchdog thread (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Add support IOCs new state named COREDUMP (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: renamed _base_after_reset_handler function (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Add support for NVMe shutdown (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Update MPI Headers to v02.00.57 (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Fix double free in attach error handling (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Clean up some indenting (Tomas Henzl) [1790760] - [crypto] crypto: af_alg - cast ki_complete ternary op to int (Herbert Xu) [1837499] - [netdrv] virtio-net: per-queue RPS config (Eugenio Perez) [1718086] - [netdrv] virtio_net: Differentiate sk_buff and xdp_frame on freeing (Eugenio Perez) [1718086] - [netdrv] virtio_net: Use xdp_return_frame to free xdp_frames on destroying vqs (Eugenio Perez) [1718086] - [netdrv] virtio_net: enable napi_tx by default (Eugenio Perez) [1718086] - [netdrv] virtio_net: Don't call free_old_xmit_skbs for xdp_frames (Eugenio Perez) [1718086] - [netdrv] virtio_net: Don't enable NAPI when interface is down (Eugenio Perez) [1718086] - [include] cpumask: make cpumask_next_wrap available without smp (Eugenio Perez) [1718086] - [netdrv] virtio_net: Stripe queue affinities across cores (Eugenio Perez) [1718086] - [virtio] virtio: Make vp_set_vq_affinity() take a mask (Eugenio Perez) [1718086]- [netdrv] ice: add board identifier info to devlink .info_get (Jonathan Toppins) [1796682] - [netdrv] ice: add basic handler for devlink .info_get (Jonathan Toppins) [1796682] - [netdrv] ice: enable initial devlink support (Jonathan Toppins) [1796682] - [netdrv] ice: implement full NVM read from ETHTOOL_GEEPROM (Jonathan Toppins) [1796682] - [netdrv] ice: discover and store size of available flash (Jonathan Toppins) [1796682] - [netdrv] ice: store NVM version info in extracted format (Jonathan Toppins) [1796682] - [netdrv] ice: create function to read a section of the NVM and Shadow RAM (Jonathan Toppins) [1796682] - [netdrv] ice: use __le16 types for explicitly Little Endian values (Jonathan Toppins) [1796682] - [netdrv] ice: fix incorrect size description of ice_get_nvm_version (Jonathan Toppins) [1781388] - [netdrv] ice: use variable name more descriptive than type (Jonathan Toppins) [1781388] - [netdrv] ice: Use EOPNOTSUPP instead of ENOTSUPP (Jonathan Toppins) [1781388] - [netdrv] ice: Fix format specifier (Jonathan Toppins) [1781388] - [netdrv] ice: fix use of deprecated strlcpy() (Jonathan Toppins) [1781388] - [netdrv] ice: Increase mailbox receive queue length to maximum (Jonathan Toppins) [1781388] - [netdrv] ice: Correct setting VLAN pruning (Jonathan Toppins) [1781388] - [netdrv] ice: renegotiate link after FW DCB on (Jonathan Toppins) [1781388] - [netdrv] ice: Fix corner case when switching from IEEE to CEE (Jonathan Toppins) [1781388] - [netdrv] ice: Display Link detected via Ethtool in safe mode (Jonathan Toppins) [1781388] - [netdrv] ice: Fix removing driver while bare-metal VFs pass traffic (Jonathan Toppins) [1781388] - [netdrv] ice: Improve clarity of prints and variables (Jonathan Toppins) [1781388] - [netdrv] ice: allow bigger VFs (Jonathan Toppins) [1781388] - [netdrv] ice: Cleanup unneeded parenthesis (Jonathan Toppins) [1781388] - [netdrv] ice: Use pci_get_dsn() (Jonathan Toppins) [1781388] - [netdrv] ice: let core reject the unsupported coalescing parameters (Jonathan Toppins) [1781388] - [netdrv] ice: fix define for E822 backplane device (Jonathan Toppins) [1781388] - [netdrv] ice: add support for E823 devices (Jonathan Toppins) [1795812] - [netdrv] ice: add backslash-n to strings (Jonathan Toppins) [1781388] - [netdrv] ice: increase PF reset wait timeout to 300 milliseconds (Jonathan Toppins) [1781388] - [netdrv] ice: Support XDP UMEM wake up mechanism (Jonathan Toppins) [1781388] - [netdrv] ice: SW DCB, report correct max TC value (Jonathan Toppins) [1781388] - [netdrv] ice: Report correct DCB mode (Jonathan Toppins) [1781388] - [netdrv] ice: Add DCBNL ops required to configure ETS in CEE for SW DCB (Jonathan Toppins) [1781388] - [netdrv] ice: Always clear the QRXFLXP_CNTXT register for VF Rx queues (Jonathan Toppins) [1781388] - [netdrv] ice: Fix for TCAM entry management (Jonathan Toppins) [1781388] - [netdrv] ice: update malicious driver detection event handling (Jonathan Toppins) [1781388] - [netdrv] ice: Validate config for SW DCB map (Jonathan Toppins) [1781388] - [netdrv] ice: Wait for VF to be reset/ready before configuration (Jonathan Toppins) [1792691] - [netdrv] ice: Don't reject odd values of usecs set by user (Jonathan Toppins) [1781388] - [netdrv] ice: use true/false for bool types (Jonathan Toppins) [1781388] - [netdrv] ice: add function argument description to function header comment (Jonathan Toppins) [1781388] - [netdrv] ice: use proper format for function pointer as a function parameter (Jonathan Toppins) [1781388] - [netdrv] ice: remove unnecessary fallthrough comments (Jonathan Toppins) [1781388] - [netdrv] ice: Fix virtchnl_queue_select bitmap validation (Jonathan Toppins) [1781388] - [netdrv] ice: Fix and refactor Rx queue disable for VFs (Jonathan Toppins) [1781388] - [netdrv] ice: Handle LAN overflow event for VF queues (Jonathan Toppins) [1781388] - [netdrv] ice: Fix implicit queue mapping mode in ice_vsi_get_qs (Jonathan Toppins) [1781388] - [netdrv] ice: Add support to enable/disable all Rx queues before waiting (Jonathan Toppins) [1781388] - [netdrv] ice: Only allow tagged bcast/mcast traffic for VF in port VLAN (Jonathan Toppins) [1781388] - [netdrv] ice: Fix Port VLAN priority bits (Jonathan Toppins) [1781388] - [netdrv] ice: Add helper to determine if VF link is up (Jonathan Toppins) [1781388] - [netdrv] ice: Refactor port vlan configuration for the VF (Jonathan Toppins) [1781388] - [netdrv] ice: Add initial support for QinQ (Jonathan Toppins) [1781388] - [netdrv] ice: Trivial fixes (Jonathan Toppins) [1781388] - [netdrv] ice: Use correct netif error function (Jonathan Toppins) [1781388] - [netdrv] ice: Cleanup ice_vsi_alloc_q_vectors (Jonathan Toppins) [1781388] - [netdrv] ice: Make print statements more compact (Jonathan Toppins) [1781388] - [netdrv] ice: Use ice_pf_to_dev (Jonathan Toppins) [1781388] - [netdrv] ice: Remove possible null dereference (Jonathan Toppins) [1781388] - [netdrv] ice: update Unit Load Status bitmask to check after reset (Jonathan Toppins) [1781388] - [netdrv] ice: fix and consolidate logging of NVM/firmware version information (Jonathan Toppins) [1781388] - [netdrv] ice: Modify link message logging (Jonathan Toppins) [1781388] - [netdrv] ice: Remove CONFIG_PCI_IOV wrap in ice_set_pf_caps (Jonathan Toppins) [1781388] - [netdrv] ice: Remove ice_dev_onetime_setup() (Jonathan Toppins) [1781388] - [netdrv] ice: Don't allow same value for Rx tail to be written twice (Jonathan Toppins) [1781388] - [netdrv] ice: display supported and advertised link modes (Jonathan Toppins) [1781388] - [netdrv] ice: Fix switch between FW and SW LLDP (Jonathan Toppins) [1781388] - [netdrv] ice: Fix DCB rebuild after reset (Jonathan Toppins) [1781388] - [netdrv] ice: Bump version (Jonathan Toppins) [1781401] - [netdrv] ice: Implement ethtool get/set rx-flow-hash (Jonathan Toppins) [1781401] - [netdrv] ice: Initilialize VF RSS tables (Jonathan Toppins) [1781401] - [netdrv] ice: Optimize table usage (Jonathan Toppins) [1781401] - [netdrv] ice: Enable writing filtering tables (Jonathan Toppins) [1781401] - [netdrv] ice: Populate TCAM filter software structures (Jonathan Toppins) [1781401] - [netdrv] ice: Allocate flow profile (Jonathan Toppins) [1781401] - [netdrv] ice: Enable writing hardware filtering tables (Jonathan Toppins) [1781401] - [netdrv] ice: remove redundant assignment to variable xmit_done (Jonathan Toppins) [1781388] - [netdrv] ice: Removing hung_queue variable to use txqueue function parameter (Jonathan Toppins) [1781388] - [netdrv] ice: Add device ids for E822 devices (Jonathan Toppins) [1781951] - [netdrv] ice: Suppress Coverity warnings for xdp_rxq_info_reg (Jonathan Toppins) [1781388] - [netdrv] ice: Add a boundary check in ice_xsk_umem() (Jonathan Toppins) [1781388] - [netdrv] ice: add extra check for null Rx descriptor (Jonathan Toppins) [1781388] - [netdrv] ice: suppress checked_return error (Jonathan Toppins) [1781388] - [netdrv] ice: Demote MTU change print to debug (Jonathan Toppins) [1781388] - [netdrv] ice: Enable ip link show on the PF to display VF unicast MAC(s) (Jonathan Toppins) [1781388] - [netdrv] ice: Fix VF link state when it's IFLA_VF_LINK_STATE_AUTO (Jonathan Toppins) [1781388] - [netdrv] ice: Remove Rx flex descriptor programming (Jonathan Toppins) [1781388] - [netdrv] ice: Return error on not supported ethtool -C parameters (Jonathan Toppins) [1781388] - [netdrv] ice: Restore interrupt throttle settings after VSI rebuild (Jonathan Toppins) [1781388] - [netdrv] ice: Set default value for ITR in alloc function (Jonathan Toppins) [1781388] - [netdrv] ice: Add ice_for_each_vf() macro (Jonathan Toppins) [1781388] - [netdrv] ice: Add code to keep track of current dflt_vsi (Jonathan Toppins) [1781388] - [netdrv] ice: Fix VF spoofchk (Jonathan Toppins) [1781388] - [netdrv] ice: Support UDP segmentation offload (Jonathan Toppins) [1781388] - [netdrv] ice: Update FW API minor version (Jonathan Toppins) [1781388] - [netdrv] ice: remove pointless NULL check of port_info (Jonathan Toppins) [1781388] - [netdrv] ice: Implement ethtool ops for channels (Jonathan Toppins) [1781388] - [netdrv] ice: implement VF stats NDO (Jonathan Toppins) [1781388] - [netdrv] ice: add helpers for virtchnl (Jonathan Toppins) [1781388] - [netdrv] ice: Add ice_pf_to_dev(pf) macro (Jonathan Toppins) [1781388] - [netdrv] ice: Do not use devm* functions for local uses (Jonathan Toppins) [1781388] - [netdrv] ice: Refactor removal of VLAN promiscuous rules (Jonathan Toppins) [1781388] - [netdrv] ice: Fix setting coalesce to handle DCB configuration (Jonathan Toppins) [1781388] - [netdrv] ice: Only disable VF state when freeing each VF resources (Jonathan Toppins) [1781388] - [netdrv] ice: fix stack leakage (Jonathan Toppins) [1781388] - [netdrv] ice: Don't modify stripping for add/del VLANs on VF (Jonathan Toppins) [1781388] - [netdrv] ice: Disallow VF VLAN opcodes if VLAN offloads disabled (Jonathan Toppins) [1781388] - [netdrv] ice: Correct capabilities reporting of max TCs (Jonathan Toppins) [1781388] - [netdrv] ice: Store number of functions for the device (Jonathan Toppins) [1781388] - [netdrv] ice: fix potential infinite loop because loop counter being too small (Jonathan Toppins) [1781388] - [netdrv] ice: print opcode when printing controlq errors (Jonathan Toppins) [1781388] - [netdrv] ice: use more accurate ICE_DBG mask types (Jonathan Toppins) [1781388] - [netdrv] ice: Introduce and use ice_vsi_type_str (Jonathan Toppins) [1781388] - [netdrv] ice: remove unnecessary conditional check (Jonathan Toppins) [1781388] - [netdrv] ice: Update enum ice_flg64_bits to current specification (Jonathan Toppins) [1781388] - [netdrv] ice: delay less (Jonathan Toppins) [1781388] - [netdrv] ice: use pkg_dwnld_status instead of sq_last_status (Jonathan Toppins) [1781388] - [netdrv] ice: Change max MSI-x vector_id check in cfg_irq_map (Jonathan Toppins) [1781388] - [netdrv] ice: Check if VF is disabled for Opcode and other operations (Jonathan Toppins) [1781388] - [netdrv] ice: configure software LLDP in ice_init_pf_dcb (Jonathan Toppins) [1781388] - [netdrv] ice: Fix to change Rx/Tx ring descriptor size via ethtool with DCBx (Jonathan Toppins) [1781388] - [netdrv] ice: avoid setting features during reset (Jonathan Toppins) [1781388] - [netdrv] ice: Implement DCBNL support (Jonathan Toppins) [1781388] - [netdrv] ice: Add NDO callback to set the maximum per-queue bitrate (Jonathan Toppins) [1781388] - [netdrv] ice: Use ice_ena_vsi and ice_dis_vsi in DCB configuration flow (Jonathan Toppins) [1781388] - [netdrv] ice: Fix return value when SR-IOV is not supported (Jonathan Toppins) [1781388] - [netdrv] ice: Rename VF function ice_vc_dis_vf to match its behavior (Jonathan Toppins) [1781388] - [netdrv] ice: Get rid of ice_cleanup_header (Jonathan Toppins) [1781388] - [netdrv] ice: print PCI link speed and width (Jonathan Toppins) [1781388] - [netdrv] ice: print unsupported module message (Jonathan Toppins) [1781388] - [netdrv] ice: write register with correct offset (Jonathan Toppins) [1781388] - [netdrv] ice: Check for null pointer dereference when setting rings (Jonathan Toppins) [1781388] - [netdrv] ice: save PCI state in probe (Jonathan Toppins) [1781388] - [netdrv] ice: Adjust DCB INIT for SW mode (Jonathan Toppins) [1781388] - [netdrv] ice: fix driver unload flow (Jonathan Toppins) [1781388] - [netdrv] ice: handle DCBx non-contiguous TC request (Jonathan Toppins) [1781388] - [netdrv] ice: Update Boot Configuration Section read of NVM (Jonathan Toppins) [1781388] - [netdrv] ice: add ethtool -m support for reading i2c eeprom modules (Jonathan Toppins) [1781388] - [netdrv] ice: allow 3k MTU for XDP (Jonathan Toppins) [1781388] - [netdrv] ice: add build_skb() support (Jonathan Toppins) [1781388] - [netdrv] ice: introduce frame padding computation logic (Jonathan Toppins) [1781388] - [netdrv] ice: introduce legacy Rx flag (Jonathan Toppins) [1781388] - [netdrv] ice: Add support for AF_XDP (Jonathan Toppins) [1730487] - [netdrv] ice: Move common functions to ice_txrx_lib.c (Jonathan Toppins) [1781388] - [netdrv] ice: Add support for XDP (Jonathan Toppins) [1730487] - [netdrv] ice: get rid of per-tc flow in Tx queue configuration routines (Jonathan Toppins) [1781388] - [netdrv] ice: Introduce ice_base.c (Jonathan Toppins) [1781388] - [netdrv] net:Use skb accessors in network drivers (Jonathan Toppins) [1781388] - [powerpc] powerpc/eeh: Remove eeh_add_device_tree_late() (Myron Stowe) [1840904] - [powerpc] powerpc/eeh: Add sysfs files in late probe (Myron Stowe) [1840904] - [powerpc] powerpc: Drop using struct of_pci_range.pci_space field (Myron Stowe) [1840904] - [powerpc] powerpc/pci: Fold pcibios_setup_device() into pcibios_bus_add_device() (Myron Stowe) [1840904] - [powerpc] powerpc/pci: Remove pcibios_setup_bus_devices() (Myron Stowe) [1840904] - [powerpc] powerpc/pci: Fix pcibios_setup_device() ordering (Myron Stowe) [1840904] - [powerpc] powerpc/pci: Remove legacy debug code (Myron Stowe) [1840904] - [x86] x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE (David Arcari) [1826966] - [x86] x86/microcode/AMD: Make stub function static inline (David Arcari) [1826966] - [x86] x86/microcode/intel: Issue the revision updated message only on the BSP (David Arcari) [1826966] - [x86] x86/microcode: Update late microcode in parallel (David Arcari) [1826966] - [x86] x86/microcode/amd: Fix two -Wunused-but-set-variable warnings (David Arcari) [1826966] - [x86] x86/microcode: Fix the microcode load on CPU hotplug for real (David Arcari) [1826966] - [x86] x86/microcode, cpuhotplug: Add a microcode loader CPU hotplug callback (David Arcari) [1826966] - [x86] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 353 (David Arcari) [1826966] - [x86] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (David Arcari) [1826966] - [x86] treewide: Add SPDX license identifier - Makefile/Kconfig (David Arcari) [1826966] - [x86] x86/microcode: Fix the ancient deprecated microcode loading method (David Arcari) [1826966] - [x86] x86/microcode/intel: Refactor Intel microcode blob loading (David Arcari) [1826966] - [x86] x86/microcode: Announce reload operation's completion (David Arcari) [1826966] - [x86] x86/microcode/AMD: Update copyright (David Arcari) [1826966] - [x86] x86/microcode/AMD: Check the equivalence table size when scanning it (David Arcari) [1826966] - [x86] x86/microcode/AMD: Convert CPU equivalence table variable into a struct (David Arcari) [1826966] - [x86] x86/microcode/AMD: Check microcode container data in the late loader (David Arcari) [1826966] - [x86] x86/microcode/AMD: Fix container size's type (David Arcari) [1826966] - [x86] x86/microcode/AMD: Convert early parser to the new verification routines (David Arcari) [1826966] - [x86] x86/microcode/AMD: Change verify_patch()'s return value (David Arcari) [1826966] - [x86] x86/microcode/AMD: Move chipset-specific check into verify_patch() (David Arcari) [1826966] - [x86] x86/microcode/AMD: Move patch family check to verify_patch() (David Arcari) [1826966] - [x86] x86/microcode/AMD: Simplify patch family detection (David Arcari) [1826966] - [x86] x86/microcode/AMD: Concentrate patch verification (David Arcari) [1826966] - [x86] x86/microcode/AMD: Cleanup verify_patch_size() more (David Arcari) [1826966] - [x86] x86/microcode/AMD: Clean up per-family patch size checks (David Arcari) [1826966] - [x86] x86/microcode/AMD: Move verify_patch_size() up in the file (David Arcari) [1826966] - [x86] x86/microcode/AMD: Add microcode container verification (David Arcari) [1826966] - [x86] x86/microcode/AMD: Subtract SECTION_HDR_SIZE from file leftover length (David Arcari) [1826966] - [x86] x86/microcode: Make revision and processor flags world-readable (David Arcari) [1826966] - [pci] PCI: Add pci_status_get_and_clear_errors (Josef Oskera) [1840535] - [pci] PCI: Add constant PCI_STATUS_ERROR_BITS (Josef Oskera) [1840535] - [arm64] arm64: dts: ls1046ardb: set RGMII interfaces to RGMII_ID mode (Petr Oros) [1816982] - [arm64] arm64: dts: ls1043a-rdb: correct RGMII delay mode to rgmii-id (Petr Oros) [1816982] - [netdrv] net: phy: marvell: Fix pause frame negotiation (Petr Oros) [1816982] - [netdrv] net: phy: propagate an error back to the callers of phy_sfp_probe (Petr Oros) [1816982] - [netdrv] net: phy: at803x: fix clock sink configuration on ATH8030 and ATH8035 (Petr Oros) [1816982] - [netdrv] r8169: fix resume on cable plug-in (Petr Oros) [1816982] - [documentation] dt-bindings: net: remove un-implemented property (Petr Oros) [1816982] - [netdrv] net: phy: mdio-bcm-unimac: Fix clock handling (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: w/a for fld detect threshold bootstrapping issue (Petr Oros) [1816982] - [netdrv] net: phy: sfp-bus.c: get rid of docs warnings (Petr Oros) [1816982] - [netdrv] net: phy: mdio-mux-bcm-iproc: check clk_prepare_enable() return value (Petr Oros) [1816982] - [netdrv] net: phy: fix MDIO bus PM PHY resuming (Petr Oros) [1816982] - [of] drivers/of/of_mdio.c:fix of_mdiobus_register() (Petr Oros) [1816982] - [netdrv] net: phy: bcm63xx: fix OOPS due to missing driver name (Petr Oros) [1816982] - [netdrv] phylink: Improve error message when validate failed (Petr Oros) [1816982] - [netdrv] net: phy: avoid clearing PHY interrupts twice in irq handler (Petr Oros) [1816982] - [netdrv] net: phy: marvell: don't interpret PHY status unless resolved (Petr Oros) [1816982] - [netdrv] net: phy: mscc: fix firmware paths (Petr Oros) [1816982] - [netdrv] net: phy: corrected the return value for genphy_check_and_restart_aneg and genphy_c45_check_and_restart_aneg (Petr Oros) [1816982] - [documentation] docs: networking: phy: Rephrase paragraph for clarity (Petr Oros) [1816982] - [netdrv] net: phy: Avoid multiple suspends (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: Fix a typo ("firsly") (Petr Oros) [1816982] - [netdrv] net: phy: restore mdio regs in the iproc mdio driver (Petr Oros) [1816982] - [netdrv] net: phy: at803x: disable vddio regulator (Petr Oros) [1816982] - [netdrv] net: mii_timestamper: fix static allocation by PHY driver (Petr Oros) [1816982] - [of] net: mdio: of: fix potential NULL pointer derefernce (Petr Oros) [1816982] - [netdrv] net: phy: add default ARCH_BCM_IPROC for MDIO_BCM_IPROC (Petr Oros) [1816982] - [netdrv] net: phy: DP83822: Add support for additional DP83825 devices (Petr Oros) [1816982] - [netdrv] phy: dp83826: Add phy IDs for DP83826N and 826NC (Petr Oros) [1816982] - [netdrv] net: phy: add new version of phy_do_ioctl (Petr Oros) [1816982] - [netdrv] net: phy: rename phy_do_ioctl to phy_do_ioctl_running (Petr Oros) [1816982] - [netdrv] r8169: use generic ndo_do_ioctl handler phy_do_ioctl (Petr Oros) [1816982] - [netdrv] net: phy: add generic ndo_do_ioctl handler phy_do_ioctl (Petr Oros) [1816982] - [netdrv] net: phylink: allow in-band AN for USXGMII (Petr Oros) [1816982] - [netdrv] net: phy: adin: fix a warning about msleep (Petr Oros) [1816982] - [netdrv] net: phy: don't crash in phy_read/_write_mmd without a PHY driver (Petr Oros) [1816982] - [netdrv] net: phylink: Allow 2.5BASE-T, 5GBASE-T and 10GBASE-T for the 10G link modes (Petr Oros) [1816982] - [netdrv] net: phy: adin: const-ify static data (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Set FORCE_LINK_GOOD to default after reset (Petr Oros) [1816982] - [netdrv] net: phy: Maintain MDIO device and bus statistics (Petr Oros) [1816982] - [powerpc] powerpc: Add const qual to local_read() parameter (Petr Oros) [1816982] - [include] u64_stats: provide u64_stats_t type (Petr Oros) [1816982] - [documentation] Documentation: net-sysfs: Remove duplicate PHY device documentation (Petr Oros) [1816982] - [netdrv] mdio_bus: Simplify reset handling and extend to non-DT systems (Petr Oros) [1816982] - [netdrv] net: phy: Added IRQ print to phylink_bringup_phy() (Petr Oros) [1816982] - [netdrv] net: phy: DP83822: Update Kconfig with DP83825I support (Petr Oros) [1816982] - [netdrv] net: phy: DP83TC811: Fix typo in Kconfig (Petr Oros) [1816982] - [netdrv] net: phylink: add support for polling MAC PCS (Petr Oros) [1816982] - [netdrv] net: phylink: make QSGMII a valid PHY mode for in-band AN (Petr Oros) [1816982] - [uapi] mii: Add helpers for parsing SGMII auto-negotiation (Petr Oros) [1816982] - [netdrv] net: phylink: fix failure to register on x86 systems (Petr Oros) [1816982] - [netdrv] net: phy: fixed_phy: switch to using fwnode_gpiod_get_index (Petr Oros) [1816982] - [netdrv] net: phy: fixed_phy: fix use-after-free when checking link GPIO (Petr Oros) [1816982] - [netdrv] net: phylink: switch to using fwnode_gpiod_get_index() (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add support for configuring the RX delay on RTL8211F (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add logging for the RGMII TX delay configuration (Petr Oros) [1816982] - [netdrv] net: mdio: of: Register discovered MII time stampers (Petr Oros) [1816982] - [documentation] dt-bindings: ptp: Introduce MII time stamping devices (Petr Oros) [1816982] - [netdrv] net: Add a layer for non-PHY MII time stamping drivers (Petr Oros) [1816982] - [netdrv] net: Introduce a new MII time stamping interface (Petr Oros) [1816982] - [netdrv] net: phy: dp83640: Move the probe and remove methods around (Petr Oros) [1816982] - [netdrv] net: netcp_ethss: Use the PHY time stamping interface (Petr Oros) [1816982] - [net] net: ethtool: Use the PHY time stamping interface (Petr Oros) [1816982] - [net] net: vlan: Use the PHY time stamping interface (Petr Oros) [1816982] - [netdrv] net: macvlan: Use the PHY time stamping interface (Petr Oros) [1816982] - [include] net: phy: Introduce helper functions for time stamping support (Petr Oros) [1816982] - [include] of: mdio: Add missing inline to of_mdiobus_child_is_phy() dummy (Petr Oros) [1816982] - [netdrv] net: phy: aquantia: add suspend / resume ops for AQR105 (Petr Oros) [1816982] - [netdrv] net: phy: ensure that phy IDs are correctly typed (Petr Oros) [1816982] - [include] mod_devicetable: fix PHY module format (Petr Oros) [1816982] - [of] of: mdio: export of_mdiobus_child_is_phy (Petr Oros) [1816982] - [netdrv] net: sfp: report error on failure to read sfp soft status (Petr Oros) [1816982] - [netdrv] net: phy: marvell: use genphy_check_and_restart_aneg() (Petr Oros) [1816982] - [netdrv] net: phy: marvell: use phy_modify_changed() (Petr Oros) [1816982] - [netdrv] net: phy: marvell: use existing clause 37 definitions (Petr Oros) [1816982] - [netdrv] net: phy: marvell: consolidate phy status reading (Petr Oros) [1816982] - [netdrv] net: phy: marvell: use positive logic for link state (Petr Oros) [1816982] - [netdrv] net: phy: marvell: initialise link partner state earlier (Petr Oros) [1816982] - [netdrv] net: phy: marvell: rearrange to use genphy_read_lpa() (Petr Oros) [1816982] - [netdrv] net: phy: provide and use genphy_read_status_fixed() (Petr Oros) [1816982] - [netdrv] net: phy: add genphy_check_and_restart_aneg() (Petr Oros) [1816982] - [netdrv] net: phy: use phy_resolve_aneg_pause() (Petr Oros) [1816982] - [netdrv] net: phy: remove redundant .aneg_done initialisers (Petr Oros) [1816982] - [netdrv] net: phy: dp83869: Remove unneeded semicolon (Petr Oros) [1816982] - [netdrv] net: phylink: extend clause 45 PHY validation workaround (Petr Oros) [1816982] - [netdrv] net: phylink: improve clause 45 PHY ksettings_set implementation (Petr Oros) [1816982] - [netdrv] net: phylink: fix interface passed to mac_link_up (Petr Oros) [1816982] - [netdrv] net: phylink: propagate phy_attach_direct() return code (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Add rx-fifo-depth and tx-fifo-depth (Petr Oros) [1816982] - [documentation] dt-bindings: dp83867: Convert fifo-depth to common fifo-depth and make optional (Petr Oros) [1816982] - [netdrv] net: sfp: re-attempt probing for phy (Petr Oros) [1816982] - [netdrv] net: sfp: error handling for phy probe (Petr Oros) [1816982] - [netdrv] net: sfp: rename sm_retries (Petr Oros) [1816982] - [netdrv] net: sfp: use a definition for the fault recovery attempts (Petr Oros) [1816982] - [netdrv] net: sfp: add support for Clause 45 PHYs (Petr Oros) [1816982] - [netdrv] net: phy: add Broadcom BCM84881 PHY driver (Petr Oros) [1816982] - [netdrv] net: phylink: make Broadcom BCM84881 based SFPs work (Petr Oros) [1816982] - [netdrv] net: phylink: delay MAC configuration for copper SFP modules (Petr Oros) [1816982] - [netdrv] net: phylink: split phylink_sfp_module_insert() (Petr Oros) [1816982] - [netdrv] net: phylink: split link_an_mode configured and current settings (Petr Oros) [1816982] - [netdrv] net: phylink: support Clause 45 PHYs on SFP+ modules (Petr Oros) [1816982] - [netdrv] net: phylink: re-split __phylink_connect_phy() (Petr Oros) [1816982] - [netdrv] net: mdio-i2c: add support for Clause 45 accesses (Petr Oros) [1816982] - [netdrv] net: sfp: move phy_start()/phy_stop() to phylink (Petr Oros) [1816982] - [netdrv] net: sfp: add module start/stop upstream notifications (Petr Oros) [1816982] - [netdrv] net: sfp: derive interface mode from ethtool link modes (Petr Oros) [1816982] - [netdrv] net: sfp: remove incomplete 100BASE-FX and 100BASE-LX support (Petr Oros) [1816982] - [netdrv] net: sfp: avoid tx-fault with Nokia GPON module (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: fix hfs boot in rgmii mode (Petr Oros) [1816982] - [netdrv] phy: mdio-thunder: add missed pci_release_regions in remove (Petr Oros) [1816982] - [netdrv] net: sfp: fix hwmon (Petr Oros) [1816982] - [netdrv] net: sfp: fix unbind (Petr Oros) [1816982] - [netdrv] net: phy: realtek: fix using paged operations with RTL8105e / RTL8208 (Petr Oros) [1816982] - [netdrv] net: phy: Use the correct style for SPDX License Identifier (Petr Oros) [1816982] - [netdrv] net: phy: dp83869: Fix return paths to return proper values (Petr Oros) [1816982] - [netdrv] net: phy: add helpers phy_(un)lock_mdio_bus (Petr Oros) [1816982] - [netdrv] mdio_bus: don't use managed reset-controller (Petr Oros) [1816982] - [netdrv] net: phy: initialise phydev speed and duplex sanely (Petr Oros) [1816982] - [netdrv] net: phy: remove phy_ethtool_sset() (Petr Oros) [1816982] - [netdrv] net: sfp: soft status and control support (Petr Oros) [1816982] - [netdrv] net: sfp: add some quirks for GPON modules (Petr Oros) [1816982] - [netdrv] net: sfp: add support for module quirks (Petr Oros) [1816982] - [netdrv] net: phylink: fix link mode modification in PHY mode (Petr Oros) [1816982] - [netdrv] net: phylink: update documentation on create and destroy (Petr Oros) [1816982] - [netdrv] mdio_bus: Fix init if CONFIG_RESET_CONTROLLER=n (Petr Oros) [1816982] - [netdrv] net: phy: dp83869: fix return of uninitialized variable ret (Petr Oros) [1816982] - [netdrv] phy: mdio-sun4i: add missed regulator_disable in remove (Petr Oros) [1816982] - [netdrv] mscc.c: fix semicolon.cocci warnings (Petr Oros) [1816982] - [netdrv] net: phy: avoid matching all-ones clause 45 PHY IDs (Petr Oros) [1816982] - [netdrv] net: phylink: update to use phy_support_asym_pause() (Petr Oros) [1816982] - [netdrv] net: phy: marvell10g: add SFP+ support (Petr Oros) [1816982] - [netdrv] net: phy: add core phylib sfp support (Petr Oros) [1816982] - [netdrv] net: phy: dp83869: Add TI dp83869 phy (Petr Oros) [1816982] - [documentation] dt-bindings: net: dp83869: Add TI dp83869 phy (Petr Oros) [1816982] - [netdrv] mscc.c: Add support for additional VSC PHYs (Petr Oros) [1816982] - [netdrv] net: sfp: fix spelling mistake "requies" -> "requires" (Petr Oros) [1816982] - [netdrv] net: sfp: allow modules with slow diagnostics to probe (Petr Oros) [1816982] - [netdrv] net: sfp: allow sfp to probe slow to initialise GPON modules (Petr Oros) [1816982] - [netdrv] net: sfp: move module insert reporting out of probe (Petr Oros) [1816982] - [netdrv] net: sfp: split power mode switching from probe (Petr Oros) [1816982] - [netdrv] net: sfp: track upstream's attachment state in state machine (Petr Oros) [1816982] - [netdrv] net: sfp: ensure TX_FAULT has deasserted before probing the PHY (Petr Oros) [1816982] - [netdrv] net: sfp: allow fault processing to transition to other states (Petr Oros) [1816982] - [netdrv] net: sfp: eliminate mdelay() from PHY probe (Petr Oros) [1816982] - [netdrv] net: sfp: split the PHY probe from sfp_sm_mod_init() (Petr Oros) [1816982] - [netdrv] net: sfp: control TX_DISABLE and phy only from main state machine (Petr Oros) [1816982] - [netdrv] net: sfp: avoid power switch on address-change modules (Petr Oros) [1816982] - [netdrv] net: sfp: parse SFP power requirement earlier (Petr Oros) [1816982] - [netdrv] net: sfp: rename T_PROBE_WAIT to T_SERIAL (Petr Oros) [1816982] - [netdrv] net: sfp: handle module remove outside state machine (Petr Oros) [1816982] - [netdrv] net: sfp: rename sfp_sm_ins_next() as sfp_sm_mod_next() (Petr Oros) [1816982] - [netdrv] net: sfp: move tx disable on device down to main state machine (Petr Oros) [1816982] - [netdrv] net: sfp: move sfp sub-state machines into separate functions (Petr Oros) [1816982] - [netdrv] net: sfp: fix sfp_bus_put() kernel documentation (Petr Oros) [1816982] - [include] net: sfp: fix sfp_bus_add_upstream() warning (Petr Oros) [1816982] - [netdrv] net: sfp: rework upstream interface (Petr Oros) [1816982] - [netdrv] net: phy: at803x: add missing dependency on CONFIG_REGULATOR (Petr Oros) [1816982] - [netdrv] net: phy: at803x: remove config_init for AR9331 (Petr Oros) [1816982] - [netdrv] net: phy: at803x: fix the PHY names (Petr Oros) [1816982] - [netdrv] net: phy: at803x: mention AR8033 as same as AR8031 (Petr Oros) [1816982] - [netdrv] net: phy: at803x: add device tree binding (Petr Oros) [1816982] - [documentation] dt-bindings: net: phy: Add support for AT803X (Petr Oros) [1816982] - [netdrv] net: phy: at803x: fix Kconfig description (Petr Oros) [1816982] - [netdrv] net: phylink: Fix phylink_dbg() macro (Petr Oros) [1816982] - [netdrv] net: phy: marvell: add downshift support for 88E1145 (Petr Oros) [1816982] - [netdrv] net: phy: marvell: add PHY tunable support for more PHY versions (Petr Oros) [1816982] - [netdrv] net: phy: marvell: add downshift support for M88E1111 (Petr Oros) [1816982] - [netdrv] net: phy: marvell: fix downshift function naming (Petr Oros) [1816982] - [netdrv] net: phy: marvell: fix typo in constant MII_M1011_PHY_SRC_DOWNSHIFT_MASK (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: support Wake on LAN (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: move dt parsing to probe (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: enable robust auto-mdix (Petr Oros) [1816982] - [netdrv] net: phy: smsc: LAN8740: add PHY_RST_AFTER_CLK_EN flag (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: add 1000Base-X support for BCM54616S (Petr Oros) [1816982] - [netdrv] net: phy: add support for clause 37 auto-negotiation (Petr Oros) [1816982] - [netdrv] net: phy: modify assignment to OR for dev_flags in phy_attach_direct (Petr Oros) [1816982] - [netdrv] net: phy: marvell: remove superseded function marvell_set_downshift (Petr Oros) [1816982] - [netdrv] net: phy: marvell: support downshift as PHY tunable (Petr Oros) [1816982] - [netdrv] net: phy: avoid NPE if read_page/write_page callbacks are not available (Petr Oros) [1816982] - [netdrv] net: phy: micrel: Update KSZ87xx PHY name (Petr Oros) [1816982] - [netdrv] net: phy: micrel: Discern KSZ8051 and KSZ8795 PHYs (Petr Oros) [1816982] - [netdrv] net: phy: Fix "link partner" information disappear issue (Petr Oros) [1816982] - [netdrv] net: sfp: move fwnode parsing into sfp-bus layer (Petr Oros) [1816982] - [netdrv] net: phylink: use more linkmode_* (Petr Oros) [1816982] - [netdrv] phylink: fix kernel-doc warnings (Petr Oros) [1816982] - [netdrv] net: phy: mscc: make arrays static, makes object smaller (Petr Oros) [1816982] - [netdrv] net: phy: at803x: use operating parameters from PHY-specific status (Petr Oros) [1816982] - [netdrv] net: phy: extract pause mode (Petr Oros) [1816982] - [netdrv] net: phy: extract link partner advertisement reading (Petr Oros) [1816982] - [netdrv] net: phy: allow for reset line to be tied to a sleepy GPIO controller (Petr Oros) [1816982] - [documentation] docs: networking: phy: Improve phrasing (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: Use bcm54xx_config_clock_delay() for BCM54612E (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: Fix RGMII delays configuration for BCM54210E (Petr Oros) [1816982] - [netdrv] net: phy: at803x: remove probe and struct at803x_priv (Petr Oros) [1816982] - [netdrv] net: phy: at803x: add ar9331 support (Petr Oros) [1816982] - [of] of: mdio: Fix a signedness bug in of_phy_get_and_connect() (Petr Oros) [1816982] - [netdrv] net/phy: fix DP83865 10 Mbps HDX loopback disable function (Petr Oros) [1816982] - [netdrv] net: phy: adin: implement Energy Detect Powerdown mode via phy-tunable (Petr Oros) [1816982] - [net] ethtool: implement Energy Detect Powerdown support via phy-tunable (Petr Oros) [1816982] - [netdrv] net: mdio: switch to using gpiod_get_optional() (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Add SGMII mode type switching (Petr Oros) [1816982] - [documentation] net: phy: dp83867: Add documentation for SGMII mode type (Petr Oros) [1816982] - [netdrv] net: phylink: Fix flow control resolution (Petr Oros) [1816982] - [netdrv] net: phy: Do not check Link status when loopback is enabled (Petr Oros) [1816982] - [netdrv] net: phy: gmii2rgmii: Dont use priv field in phy device (Petr Oros) [1816982] - [include] include: mdio: Add driver data helpers (Petr Oros) [1816982] - [netdrv] net: phy: force phy suspend when calling phy_stop (Petr Oros) [1816982] - [netdrv] phy: mdio-sun4i: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] phy: mdio-mux-meson-g12a: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] phy: mdio-moxart: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] phy: mdio-hisi-femac: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] phy: mdio-bcm-iproc: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] net: phy: sfp: Add labels to hwmon sensors (Petr Oros) [1816982] - [netdrv] net: phy: remove genphy_config_init (Petr Oros) [1816982] - [netdrv] net: phy: remove calls to genphy_config_init (Petr Oros) [1816982] - [netdrv] net: phy: realtek: support NBase-T MMD EEE registers on RTL8125 (Petr Oros) [1816982] - [uapi] net: phy: add EEE-related constants (Petr Oros) [1816982] - [documentation] dt-bindings: net: add bindings for ADIN PHY driver (Petr Oros) [1816982] - [netdrv] net: phy: adin: add ethtool get_stats support (Petr Oros) [1816982] - [netdrv] net: phy: adin: implement downshift configuration via phy-tunable (Petr Oros) [1816982] - [netdrv] net: phy: adin: implement PHY subsystem software reset (Petr Oros) [1816982] - [netdrv] net: phy: adin: add EEE translation layer from Clause 45 to Clause 22 (Petr Oros) [1816982] - [netdrv] net: phy: adin: add support MDI/MDIX/Auto-MDI selection (Petr Oros) [1816982] - [netdrv] net: phy: adin: make RMII fifo depth configurable (Petr Oros) [1816982] - [netdrv] net: phy: adin: make RGMII internal delays configurable (Petr Oros) [1816982] - [netdrv] net: phy: adin: configure RGMII/RMII/MII modes on config (Petr Oros) [1816982] - [netdrv] net: phy: adin: add {write,read}_mmd hooks (Petr Oros) [1816982] - [netdrv] net: phy: adin: add support for interrupts (Petr Oros) [1816982] - [netdrv] net: phy: adin: hook genphy_{suspend, resume} into the driver (Petr Oros) [1816982] - [netdrv] net: phy: adin: add support for Analog Devices PHYs (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add support for EEE registers on integrated PHY's (Petr Oros) [1816982] - [netdrv] net: phy: swphy: emulate register MII_ESTATUS (Petr Oros) [1816982] - [netdrv] net: phy: read MII_CTRL1000 in genphy_read_status only if needed (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add NBase-T PHY auto-detection (Petr Oros) [1816982] - [netdrv] net: phy: let phy_speed_down/up support speeds >1Gbps (Petr Oros) [1816982] - [netdrv] net: phy: add phy_speed_down_core and phy_resolve_min_speed (Petr Oros) [1816982] - [netdrv] net: phy: add __set_linkmode_max_speed (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add support for the 2.5Gbps PHY in RTL8125 (Petr Oros) [1816982] - [netdrv] net: phy: add phy_modify_paged_changed (Petr Oros) [1816982] - [netdrv] net: phy: prepare phylib to deal with PHY's extending Clause 22 (Petr Oros) [1816982] - [netdrv] net: phy: simplify genphy_config_advert by using the linkmode_adv_to_xxx_t functions (Petr Oros) [1816982] - [netdrv] net: phy: at803x: stop switching phy delay config needlessly (Petr Oros) [1816982] - [netdrv] net: mdio-octeon: Fix Kconfig warnings and build errors (Petr Oros) [1816982] - [netdrv] net: phy: xgene: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] net: phy: Add mdio-aspeed (Petr Oros) [1816982] - [netdrv] net: phy: phy_led_triggers: Fix a possible null-pointer dereference in phy_led_trigger_change_speed() (Petr Oros) [1816982] - [netdrv] net: phylink: Fix flow control for fixed-link (Petr Oros) [1816982] - [netdrv] net: phylink: don't start and stop SGMII PHYs in SFP modules twice (Petr Oros) [1816982] - [netdrv] net: phy: Make use of linkmode_mod_bit helper (Petr Oros) [1816982] - [netdrv] net: stmmac: enable clause 45 mdio support (Petr Oros) [1816982] - [documentation] doc: phy: document some PHY_INTERFACE_MODE_xxx settings (Petr Oros) [1816982] - [netdrv] Revert "net: phylink: set the autoneg state in phylink_phy_change" (Petr Oros) [1816982] - [netdrv] net: phy: sfp: clean up a condition (Petr Oros) [1816982] - [netdrv] net: phylink: set the autoneg state in phylink_phy_change (Petr Oros) [1816982] - [netdrv] net: phy: Add more 1000BaseX support detection (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: Add genphy_suspend and genphy_resume for BCM5464 (Petr Oros) [1816982] - [netdrv] net: sfp: add mutex to prevent concurrent state checks (Petr Oros) [1816982] - [netdrv] net: sfp: Stop SFP polling and interrupt handling during shutdown (Petr Oros) [1816982] - [netdrv] net: phy: Add detection of 1000BaseX link mode support (Petr Oros) [1816982] - [netdrv] net: phy: remove state PHY_FORCING (Petr Oros) [1816982] - [netdrv] net: phy: export phy_queue_state_machine (Petr Oros) [1816982] - [netdrv] net: phy: add callback for custom interrupt handler to struct phy_driver (Petr Oros) [1816982] - [netdrv] net: phy: enable interrupts when PHY is attached already (Petr Oros) [1816982] - [netdrv] net: phy: sfp: enable i2c-bus detection on ACPI based systems (Petr Oros) [1816982] - [netdrv] net: phy: tja11xx: Switch to HWMON_CHANNEL_INFO() (Petr Oros) [1816982] - [netdrv] net: phylink: Add phylink_{printk, err, warn, info, dbg} macros (Petr Oros) [1816982] - [netdrv] net: phylink: Add PHYLINK_DEV operation type (Petr Oros) [1816982] - [netdrv] net: phylink: Add struct phylink_config to PHYLINK API (Petr Oros) [1816982] - [netdrv] net: phylink: Add phylink_mac_link_{up, down} wrapper functions (Petr Oros) [1816982] - [netdrv] net: phy: Add phy_standalone sysfs entry (Petr Oros) [1816982] - [netdrv] net: phy: Check against net_device being NULL (Petr Oros) [1816982] - [netdrv] net: phy: Guard against the presence of a netdev (Petr Oros) [1816982] - [netdrv] net: phy: Add phy_sysfs_create_links helper function (Petr Oros) [1816982] - [netdrv] net: sfp: remove sfp-bus use of netdevs (Petr Oros) [1816982] - [netdrv] net: sfp: add mandatory attach/detach methods for sfp buses (Petr Oros) [1816982] - [netdrv] net: phy: allow Clause 45 access via mii ioctl (Petr Oros) [1816982] - [netdrv] net: phylink: support for link gpio interrupt (Petr Oros) [1816982] - [netdrv] net: phylink: remove netdev from phylink mii ioctl emulation (Petr Oros) [1816982] - [netdrv] net: phy: bcm87xx: improve bcm87xx_config_init and feature detection (Petr Oros) [1816982] - [netdrv] net: phy: tja11xx: Add TJA11xx PHY driver (Petr Oros) [1816982] - [netdrv] net: phy: aquantia: add USXGMII support and warn if XGMII mode is set (Petr Oros) [1816982] - [documentation] dt-bindings: net: document new usxgmii phy mode (Petr Oros) [1816982] - [include] net: phy: add interface mode PHY_INTERFACE_MODE_USXGMII (Petr Oros) [1816982] - [netdrv] net: phy: lxt: Add suspend/resume support to LXT971 and LXT973 (Petr Oros) [1816982] - [netdrv] net: phy: Make phy_basic_t1_features use base100t1 (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Allocate state struct in probe (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Validate FIFO depth property (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: IO impedance is not dependent on RGMII delay (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Use unsigned variables to store unsigned properties (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Rework delay rgmii delay handling (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Add ability to disable output clock (Petr Oros) [1816982] - [documentation] dt-bindings: phy: dp83867: Add documentation for disabling clock output (Petr Oros) [1816982] - [documentation] dt-bindings: phy: dp83867: Describe how driver behaves w.r.t rgmii delay (Petr Oros) [1816982] - [documentation] Documentation: net: phy: switch documentation to rst format (Petr Oros) [1816982] - [of] of: mdio: Support fixed links in of_phy_get_and_connect() (Petr Oros) [1816982] - [documentation] doc: add phylink documentation to the networking book (Petr Oros) [1816982] - [include] net: phylink: update mac_config() documentation (Petr Oros) [1816982] - [tools] libbpf: use .so dynamic symbols for abi check (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Install generated test progs (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Fix memory leak caused by not freeing entry in unregister_ftrace_direct() (Yauheni Kaliuta) [1813370] - [tools] libbpf: Support CO-RE relocations for LDX/ST/STX instructions (Yauheni Kaliuta) [1813370] - [include] bpf: Add bpf_jit_blinding_enabled for !CONFIG_BPF_JIT (Yauheni Kaliuta) [1813370] - [tools] tools, bpf_asm: Warn when jumps are out of range (Yauheni Kaliuta) [1813370] - [include] bpf: Add typecast to bpf helpers to help BTF generation (Yauheni Kaliuta) [1813370] - [trace] bpf: Add typecast to raw_tracepoints to help BTF generation (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix build on read-only filesystems (Yauheni Kaliuta) [1813370] - [tools] bpf: Add further test_verifier cases for record_func_key (Yauheni Kaliuta) [1813370] - [net] bpf: Fix record_func_key to perform backtracking on r3 (Yauheni Kaliuta) [1813370] - [net] bpf: Fix missing prog untrack in release_maps (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: fix syscall_tp due to unused syscall (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: Replace symbol compare of trace_event (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Test function_graph tracer and bpf trampoline together (Yauheni Kaliuta) [1813370] - [net] bpf: Make BPF trampoline use register_ftrace_direct() API (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add modify_ftrace_direct() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add information on number of page groups allocated (Yauheni Kaliuta) [1813370] - [x86] ftrace/x86: Tell objtool to ignore nondeterministic ftrace stack layout (Yauheni Kaliuta) [1813370] - [x86] ftrace/x86: Add a counter to test function_graph with direct (Yauheni Kaliuta) [1813370] - [x86] ftrace/x86: Add register_ftrace_direct() for custom trampolines (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add another check for match in register_ftrace_direct() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add ftrace_find_direct_func() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add register_ftrace_direct() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Separate out the copying of a ftrace_hash from __ftrace_hash_move() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Separate out functionality from ftrace_location_range() (Yauheni Kaliuta) [1813370] - [net] bpf: Fix build in minimal configurations, again (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add a fexit/bpf2bpf test with target bpf prog no callees (Yauheni Kaliuta) [1813370] - [net] bpf: Fix a bug when getting subprog 0 jited image in check_attach_btf_id (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Bring back c++ include/link test (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Don't hard-code root cgroup id (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Fix broken xdp_rxq_info due to map order assumptions (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix readelf output parsing for Fedora (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix readelf output parsing on powerpc with recent binutils (Yauheni Kaliuta) [1813370] - [tools] selftests: bpf: correct perror strings (Yauheni Kaliuta) [1813370] - [tools] selftests: bpf: test_sockmap: handle file creation failures gracefully (Yauheni Kaliuta) [1813370] - [net] bpf: Fix build in minimal configurations (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix up generation of bpf_helper_defs.h (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix global variable relocation (Yauheni Kaliuta) [1813370] - [net] bpf: Fix static checker warning (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix usage of u32 in userspace code (Yauheni Kaliuta) [1813370] - [net] bpf: Simplify __bpf_arch_text_poke poke type handling (Yauheni Kaliuta) [1813370] - [tools] bpf: Introduce BPF_TRACE_x helper for the tracing tests (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Add various tail call test cases (Yauheni Kaliuta) [1813370] - [x86] bpf, x86: Emit patchable direct jump as tail call (Yauheni Kaliuta) [1813370] - [net] bpf: Constant map key tracking for prog array pokes (Yauheni Kaliuta) [1813370] - [net] bpf: Add poke dependency tracking for prog array maps (Yauheni Kaliuta) [1813370] - [include] bpf: Add initial poke descriptor table for jit images (Yauheni Kaliuta) [1813370] - [net] bpf: Move owner type, jited info into array auxiliary data (Yauheni Kaliuta) [1813370] - [net] bpf: Move bpf_free_used_maps into sleepable section (Yauheni Kaliuta) [1813370] - [x86] bpf, x86: Generalize and extend bpf_arch_text_poke for direct jumps (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add BPF trampoline performance test (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Ensure core_reloc_kernel is reading test_progs's data only (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add verifier tests for better jmp32 register bounds (Yauheni Kaliuta) [1813370] - [net] bpf: Provide better register bounds after jmp32 instructions (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Integrate verbose verifier log into test_progs (Yauheni Kaliuta) [1813370] - [tools] libbpf: Support initialized global variables (Yauheni Kaliuta) [1813370] - [tools] selftests, bpftool: Skip the build test if not in tree (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix various errors and warning reported by checkpatch.pl (Yauheni Kaliuta) [1813370] - [tools] selftests, bpftool: Set EXIT trap after usage function (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Ensure no DWARF relocations for BPF object files (Yauheni Kaliuta) [1813370] - [tools] tools, bpftool: Fix warning on ignored return value for 'read' (Yauheni Kaliuta) [1813370] - [net] bpf: Switch bpf_map_{area_alloc, area_mmapable_alloc}() to u64 size (Yauheni Kaliuta) [1813370] - [net] bpf: Make array_map_mmap static (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Enforce no-ALU32 for test_progs-no_alu32 (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Remove JITed image size limitations (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Use lg(f)rl when long displacement cannot be used (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Use lgrl instead of lg where possible (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Load literal pool register using larl (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Align literal pool entries (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Use relative long branches (Yauheni Kaliuta) [1813370] - [net] bpf: Fix memory leak on object 'data' (Yauheni Kaliuta) [1813370] - [tools] selftests, bpf: Workaround an alu32 sub-register spilling issue (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add BPF_TYPE_MAP_ARRAY mmap() tests (Yauheni Kaliuta) [1813370] - [tools] libbpf: Make global data internal arrays mmap()-able, if possible (Yauheni Kaliuta) [1813370] - [net] bpf: Add mmap() support for BPF_MAP_TYPE_ARRAY (Yauheni Kaliuta) [1813370] - [netdrv] bpf: Convert bpf_prog refcnt to atomic64_t (Yauheni Kaliuta) [1813370] - [netdrv] net: thunderx: set xdp_prog to NULL if bpf_prog_add fails (Yauheni Kaliuta) [1813370] - [net] bpf: Switch bpf_map ref counter to atomic64_t so bpf_map_inc() never fails (Yauheni Kaliuta) [1813370] - [lib] locking/atomic: Use s64 for atomic64 (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make conditional inc/dec ops optional (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make unconditional inc/dec ops optional (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make test ops optional (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make atomic64_fetch_add_unless() optional (Yauheni Kaliuta) [1813370] - [powerpc] atomics/powerpc: Define atomic64_fetch_add_unless() (Yauheni Kaliuta) [1813370] - [lib] atomics/generic: Define atomic64_fetch_add_unless() (Yauheni Kaliuta) [1813370] - [include] atomics: Prepare for atomic64_fetch_add_unless() (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make atomic_fetch_add_unless() optional (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make atomic64_inc_not_zero() optional (Yauheni Kaliuta) [1813370] - [include] atomics: Make conditional ops return 'bool' (Yauheni Kaliuta) [1813370] - [net] atomics/treewide: Remove atomic_inc_not_zero_hint() (Yauheni Kaliuta) [1813370] - [net] atomics/treewide: Rename __atomic_add_unless() => atomic_fetch_add_unless() (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add a test for attaching BPF prog to another BPF prog and subprog (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Extend test_pkt_access test (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support for attaching BPF programs to other BPF programs (Yauheni Kaliuta) [1813370] - [net] bpf: Support attaching tracing BPF program to other BPF programs (Yauheni Kaliuta) [1813370] - [net] bpf: Compare BTF types of functions arguments with actual types (Yauheni Kaliuta) [1813370] - [net] bpf: Annotate context types (Yauheni Kaliuta) [1813370] - [net] bpf: Fix race in btf_resolve_helper_id() (Yauheni Kaliuta) [1813370] - [x86] bpf: Reserve space for BPF trampoline in BPF programs (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add stress test for maximum number of progs (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add combined fentry/fexit test (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add fexit tests for BPF trampoline (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add test for BPF trampoline (Yauheni Kaliuta) [1813370] - [net] bpf: Add kernel test functions for fentry testing (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Simple test for fentry/fexit (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support to attach to fentry/fexit tracing progs (Yauheni Kaliuta) [1813370] - [tools] libbpf: Introduce btf__find_by_name_kind() (Yauheni Kaliuta) [1813370] - [net] bpf: Introduce BPF trampoline (Yauheni Kaliuta) [1813370] - [x86] bpf: Add bpf_arch_text_poke() helper (Yauheni Kaliuta) [1813370] - [x86] bpf: Refactor x86 JIT into helpers (Yauheni Kaliuta) [1813370] - [documentation] bpf, doc: Change right arguments for JIT example code (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add missing option to xdpsock usage (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Remove duplicate option from xdpsock (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Make sure JIT passes do not increase code size (Yauheni Kaliuta) [1813370] - [net] bpf: Support doubleword alignment in bpf_jit_binary_alloc (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: adjust Makefile and README.rst (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Add missing object file to TEST_FILES (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Workaround a verifier failure for test_progs (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use Rx-only and Tx-only sockets in xdpsock (Yauheni Kaliuta) [1813370] - [tools] libbpf: Allow for creating Rx or Tx only AF_XDP sockets (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add XDP_SHARED_UMEM support to xdpsock (Yauheni Kaliuta) [1813370] - [tools] libbpf: Support XDP_SHARED_UMEM with external XDP program (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add tests for automatic map unpinning on load failure (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: update map definition to new syntax BTF-defined map (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: Update outdated error message (Yauheni Kaliuta) [1813370] - [tools] bpf: Add cb access in kfree_skb test (Yauheni Kaliuta) [1813370] - [net] bpf: Add array support to btf_struct_access (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Remove unused SEEN_RET0, SEEN_REG_AX and ret0_ip (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Wrap JIT macro parameter usages in parentheses (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Use kvcalloc for addrs array (Yauheni Kaliuta) [1813370] - [net] bpf: Account for insn->off when doing bpf_probe_read_kernel (Yauheni Kaliuta) [1813370] - [tools] libbpf: Simplify BPF_CORE_READ_BITFIELD_PROBED usage (Yauheni Kaliuta) [1813370] - [tools] selftests/bps: Clean up removed ints relocations negative tests (Yauheni Kaliuta) [1813370] - [tools] selftests: bpf: log direct file writes (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add field size relocation tests (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Add relocatable bitfield reading tests (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support for field size relocations (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support for relocatable bitfields (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Remove too strict field offset relo test cases (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Add selftest to read/write sockaddr from user space (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Convert prog tests to probe_read_{user, kernel}{, _str} helper (Yauheni Kaliuta) [1813370] - [samples] bpf, samples: Use bpf_probe_read_user where appropriate (Yauheni Kaliuta) [1813370] - [net] bpf: Switch BPF probe insns to bpf_probe_read_kernel (Yauheni Kaliuta) [1813370] - [kernel] bpf: Add probe_read_{user, kernel} and probe_read_{user, kernel}_str helpers (Yauheni Kaliuta) [1813370] - [kernel] bpf: Make use of probe_user_write in probe write helper (Yauheni Kaliuta) [1813370] - [mm] uaccess: Add strict non-pagefault kernel-space read function (Yauheni Kaliuta) [1813370] - [mm] uaccess: Add non-pagefault user-space write function (Yauheni Kaliuta) [1813370] - [mm] uaccess: Add non-pagefault user-space read functions (Yauheni Kaliuta) [1813370] - [tools] selftests: Add tests for automatic map pinning (Yauheni Kaliuta) [1813370] - [net] bpf: Implement map_gen_lookup() callback for XSKMAP (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support for prog_tracing (Yauheni Kaliuta) [1813370] - [net] bpf: Replace prog_raw_tp+btf_id with prog_tracing (Yauheni Kaliuta) [1813370] - [net] bpf: Fix bpf jit kallsym access (Yauheni Kaliuta) [1813370] - [documentation] bpf: Add s390 testing documentation (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Test narrow load from bpf_sysctl.write (Yauheni Kaliuta) [1813370] - [net] bpf: Enforce 'return 0' in BTF-enabled raw_tp programs (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Restore $(OUTPUT)/test_stub.o rule (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Use -m{little, big}-endian for clang (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Fix .gitignore to ignore no_alu32/ (Yauheni Kaliuta) [1813370] - [net] bpf: Prepare btf_ctx_access for non raw_tp use case (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix strncat bounds error in libbpf_prog_type_by_name (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Fix LDLIBS order (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Move test_section_names into test_progs and fix it (Yauheni Kaliuta) [1813370] - [tools] tools/bpf: Turn on llvm alu32 attribute by default (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Get rid of a bunch of explicit BPF program type setting (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Make reference_tracking test use subtests (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Make a copy of subtest name (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add uprobe/uretprobe and tp/raw_tp section suffixes (Yauheni Kaliuta) [1813370] - [tools] bpf, libbpf: Add kernel version section parsing back (Yauheni Kaliuta) [1813370] - [kernel] bpf: Fix build error without CONFIG_NET (Yauheni Kaliuta) [1813370] - [net] bpf: Fix bpf_attr.attach_btf_id check (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Remove test_libbpf.sh and test_libbpf_open (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Move test_queue_stack_map.h into progs/ where it belongs (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Replace test_progs and test_maps w/ general rule (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add simple per-test targets to Makefile (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Switch test_maps to test_progs' test.h format (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Teach test_progs to cd into subdir (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Restore the netns after flow dissector reattach test (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add kfree_skb raw_tp test (Yauheni Kaliuta) [1813370] - [net] bpf: Check types of arguments passed into helpers (Yauheni Kaliuta) [1813370] - [net] bpf: Add support for BTF pointers to x86 JIT (Yauheni Kaliuta) [1813370] - [net] bpf: Add support for BTF pointers to interpreter (Yauheni Kaliuta) [1813370] - [net] bpf: Attach raw_tp program with BTF via type name (Yauheni Kaliuta) [1813370] - [net] bpf: Implement accurate raw_tp context access via BTF (Yauheni Kaliuta) [1813370] - [tools] libbpf: Auto-detect btf_id of BTF-based raw_tracepoints (Yauheni Kaliuta) [1813370] - [net] bpf: Add attach_btf_id attribute to program load (Yauheni Kaliuta) [1813370] - [net] bpf: Process in-kernel BTF (Yauheni Kaliuta) [1813370] - [tools] selftests: bpf: Add selftest for __sk_buff tstamp (Yauheni Kaliuta) [1813370] - [net] bpf: Allow __sk_buff tstamp in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Remove obsolete pahole/BTF support detection (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Enforce libbpf build before BPF programs are built (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add preparation steps and sysroot info to readme (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add sysroot support (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Provide C/LDFLAGS to libbpf (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add C/LDFLAGS to libbpf.so and test_libpf targets (Yauheni Kaliuta) [1813370] - [tools] libbpf: Don't use cxx to test_libpf target (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use target CC environment for HDR_PROBE (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use own flags but not HOSTCFLAGS (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Base target programs rules on Makefile.target (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add makefile.target for separate CC target build (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Drop unnecessarily inclusion for bpf_load (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use __LINUX_ARM_ARCH__ selector for arm (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use own EXTRA_CFLAGS for clang commands (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use --target from cross-compile (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Fix cookie_uid_helper_example obj build (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Fix HDR_PROBE "echo" (Yauheni Kaliuta) [1813370] - [tools] libbpf: Handle invalid typedef emitted by old GCC (Yauheni Kaliuta) [1813370] - [tools] libbpf: Generate more efficient BPF_CORE_READ code (Yauheni Kaliuta) [1813370] - [net] bpf: Fix cast to pointer from integer of different size warning (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Check that flow dissector can be re-attached (Yauheni Kaliuta) [1813370] - [net] flow_dissector: Allow updating the flow dissector program atomically (Yauheni Kaliuta) [1813370] - [include] bpf: Align struct bpf_prog_stats (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add read-only map values propagation tests (Yauheni Kaliuta) [1813370] - [net] bpf: Track contents of read-only maps as scalars (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Convert test_btf_dump into test_progs test (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: Add max_pckt_size option at xdp_adjust_tail (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: add test for BPF flow dissector in the root namespace (Yauheni Kaliuta) [1813370] - [net] bpf/flow_dissector: add mode to enforce global BPF flow dissector (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Trivial - fix spelling mistake in usage (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Fix dependency ordering for attach_probe test (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add cscope and tags targets to Makefile (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: switch tests to new bpf_object__open_{file, mem}() APIs (Yauheni Kaliuta) [1813370] - [tools] bpf: Add loop test case with 32 bit reg comparison against 0 (Yauheni Kaliuta) [1813370] - [x86] bpf, x86: Small optimization in comparing against imm0 (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Correct path to include msg + path (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add static to enable_all_controllers() (Yauheni Kaliuta) [1813370] - [tools] libbpf: provide backported RHEL symbols as upstream aliases (Yauheni Kaliuta) [1813370] - [tools] libbpf: Bump current version to v0.0.6 (Yauheni Kaliuta) [1813370] - [tools] libbpf: bump up version, 0.0.5 (Yauheni Kaliuta) [1813370] - [net] cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled (Yauheni Kaliuta) [1823623 1813370] - [vfio] vfio-pci: Mask cap zero (Alex Williamson) [1840248] - [vfio] spapr_tce: Fix incorrect tce_iommu_group memory free (David Gibson) [1832386] - [fs] CIFS: fiemap: do not return EINVAL if get nothing (Leif Sahlberg) [1837180] - [fs] CIFS: Increment num_remote_opens stats counter even in case of smb2_query_dir_first (Leif Sahlberg) [1837180] - [fs] cifs: potential unintitliazed error code in cifs_getattr() (Leif Sahlberg) [1837180] - [fs] cifs: Use #define in cifs_dbg (Leif Sahlberg) [1837180] - [fs] cifs: fix rename() by ensuring source handle opened with DELETE bit (Leif Sahlberg) [1837180] - [fs] cifs: add missing mount option to /proc/mounts (Leif Sahlberg) [1837180] - [fs] cifs: fix potential mismatch of UNC paths (Leif Sahlberg) [1837180] - [fs] cifs: enable change notification for SMB2.1 dialect (Leif Sahlberg) [1837180] - [fs] cifs: Fix mode output in debugging statements (Leif Sahlberg) [1837180] - [fs] cifs: fix mount option display for sec=krb5i (Leif Sahlberg) [1837180] - [fs] smb3: Add defines for new information level, FileIdInformation (Leif Sahlberg) [1837180] - [fs] smb3: print warning once if posix context returned on open (Leif Sahlberg) [1837180] - [fs] smb3: add one more dynamic tracepoint missing from strict fsync path (Leif Sahlberg) [1837180] - [fs] cifs: fix mode bits from dir listing when mounted with modefromsid (Leif Sahlberg) [1837180] - [fs] cifs: fix channel signing (Leif Sahlberg) [1837180] - [fs] cifs: add SMB3 change notification support (Leif Sahlberg) [1837180] - [fs] cifs: make multichannel warning more visible (Leif Sahlberg) [1837180] - [fs] cifs: Add tracepoints for errors on flush or fsync (Leif Sahlberg) [1837180] - [fs] cifs: log warning message (once) if out of disk space (Leif Sahlberg) [1837180] - [fs] smb3: fix problem with null cifs super block with previous patch (Leif Sahlberg) [1837180] - [fs] SMB3: Backup intent flag missing from some more ops (Leif Sahlberg) [1837180] - [fs] cifs: update internal module version number (Leif Sahlberg) [1837180] - [fs] CIFS: Fix task struct use-after-free on reconnect (Leif Sahlberg) [1837180] - [fs] cifs: use PTR_ERR_OR_ZERO() to simplify code (Leif Sahlberg) [1837180] - [fs] cifs: add support for fallocate mode 0 for non-sparse files (Leif Sahlberg) [1837180] - [fs] CIFS: Add support for setting owner info, dos attributes, and create time (Leif Sahlberg) [1837180] - [fs] cifs: remove set but not used variable 'server' (Leif Sahlberg) [1837180] - [fs] cifs: fix unitialized variable poential problem with network I/O cache lock patch (Leif Sahlberg) [1837180] - [fs] cifs: Fix return value in __update_cache_entry (Leif Sahlberg) [1837180] - [fs] cifs: Avoid doing network I/O while holding cache lock (Leif Sahlberg) [1837180] - [fs] cifs: Fix potential deadlock when updating vol in cifs_reconnect() (Leif Sahlberg) [1837180] - [fs] cifs: Merge is_path_valid() into get_normalized_path() (Leif Sahlberg) [1837180] - [fs] cifs: Introduce helpers for finding TCP connection (Leif Sahlberg) [1837180] - [fs] cifs: Get rid of kstrdup_const()'d paths (Leif Sahlberg) [1837180] - [fs] cifs: Clean up DFS referral cache (Leif Sahlberg) [1837180] - [fs] cifs: Don't use iov_iter::type directly (Leif Sahlberg) [1837180] - [fs] cifs: set correct max-buffer-size for smb2_ioctl_init() (Leif Sahlberg) [1837180] - [fs] fs/cifs/cifssmb.c: use true, false for bool variable (Leif Sahlberg) [1837180] - [fs] fs/cifs/smb2ops.c: use true, false for bool variable (Leif Sahlberg) [1837180]- [lib] XArray: Optimise xas_sibling() if !CONFIG_XARRAY_MULTI (Don Dutile) [1840916] - [include] XArray: Fix incorrect comment in header file (Don Dutile) [1840916] - [lib] XArray: Fix xas_pause for large multi-index entries (Don Dutile) [1840916] - [lib] XArray: Fix xa_find_next for large multi-index entries (Don Dutile) [1840916] - [lib] XArray tests: Add check_insert (Don Dutile) [1840916] - [documentation] XArray: Add xa_for_each_range (Don Dutile) [1840916] - [documentation] XArray: Improve documentation of search marks (Don Dutile) [1840916] - [documentation] docs: remove :c:func: annotations from xarray.rst (Don Dutile) [1840916] - [lib] XArray: Fix xas_find returning too many entries (Don Dutile) [1840916] - [lib] XArray: Fix xa_find_after with multi-index entries (Don Dutile) [1840916] - [lib] XArray: Fix infinite loop with entry at ULONG_MAX (Don Dutile) [1840916] - [include] XArray: Add wrappers for nested spinlocks (Don Dutile) [1840916] - [lib] XArray: Fix xas_pause at ULONG_MAX (Don Dutile) [1840916] - [include] xarray.h: fix kernel-doc warning (Don Dutile) [1840916] - [lib] XArray: Fix xas_next() with a single entry at 0 (Don Dutile) [1840916] - [fs] mm: fix page cache convergence regression (Don Dutile) [1840916] - [netdrv] ionic: call ionic_port_init after fw-upgrade (Jonathan Toppins) [1830969] - [netdrv] ionic: leave netdev mac alone after fw-upgrade (Jonathan Toppins) [1830969] - [netdrv] ionic: add device reset to fw upgrade down (Jonathan Toppins) [1830969] - [netdrv] ionic: refresh devinfo after fw-upgrade (Jonathan Toppins) [1830969] - [netdrv] ionic: no link check until after probe (Jonathan Toppins) [1830969] - [netdrv] phy: avoid unnecessary link-up delay in polling mode (Petr Oros) [1785663] - [x86] x86: Select HARDIRQS_SW_RESEND on x86 (David Arcari) [1840433] - [pci] PCI/AER: Fix the broken interrupt injection (David Arcari) [1840433] - [kernel] genirq: Provide interrupt injection mechanism (David Arcari) [1840433] - [kernel] genirq: Sanitize state handling in check_irq_resend() (David Arcari) [1840433] - [kernel] genirq: Add return value to check_irq_resend() (David Arcari) [1840433] - [x86] x86/apic/vector: Force interupt handler invocation to irq context (David Arcari) [1840433] - [kernel] genirq: Add protection against unsafe usage of generic_handle_irq() (David Arcari) [1840433] - [kernel] genirq/debugfs: Add missing sanity checks to interrupt injection (David Arcari) [1840433] - [include] genirq/irqdomain: Make sure all irq domain flags are distinct (David Arcari) [1840433] - [x86] x86/apic/msi: Plug non-maskable MSI affinity race (David Arcari) [1840433] - [char] char: ipmi: convert to use i2c_new_client_device() (Tony Camuso) [1832408] - [char] ipmi: kcs: Fix aspeed_kcs_probe_of_v1() (Tony Camuso) [1832408] - [char] ipmi: Add missing annotation for ipmi_ssif_lock_cond() and ipmi_ssif_unlock_cond() (Tony Camuso) [1832408] - [char] ipmi: kcs: aspeed: Implement v2 bindings (Tony Camuso) [1832408] - [char] ipmi: kcs: Finish configuring ASPEED KCS device before enable (Tony Camuso) [1832408] - [char] ipmi: fix hung processes in __get_guid() (Tony Camuso) [1832408] - [char] drivers: char: ipmi: ipmi_msghandler: Pass lockdep expression to RCU lists (Tony Camuso) [1832408] - [char] ipmi_si: Avoid spurious errors for optional IRQs (Tony Camuso) [1832408] - [base] driver core: platform: Export platform_get_irq_optional() (Tony Camuso) [1832408] - [base] driver core: platform: Introduce platform_get_irq_optional() (Tony Camuso) [1832408] - [x86] x86/efi: Update e820 with reserved EFI boot services data to fix kexec breakage (Kairui Song) [1779544] - [powerpc] powerpc/nvdimm: use H_SCM_QUERY hcall on H_OVERLAP error (Pingfan Liu) [1792125] - [powerpc] powerpc/nvdimm: Use HCALL error as the return value (Pingfan Liu) [1792125] - [scsi] scsi: sd: Signal drive managed SMR disks (Ewan Milne) [1838784] - [scsi] scsi: core: free sgtables in case command setup fails (Ewan Milne) [1838784] - [scsi] scsi: core: Allow the state change from SDEV_QUIESCE to SDEV_BLOCK (Ewan Milne) [1838784] - [scsi] scsi: sg: add sg_remove_request in sg_write (Ewan Milne) [1838784] - [scsi] scsi: sg: add sg_remove_request in sg_common_write (Ewan Milne) [1838784] - [scsi] scsi: sd: Fix optimal I/O size for devices that change reported values (Ewan Milne) [1838784] - [scsi] scsi: move scsicam_bios_param to the end of scsicam.c (Ewan Milne) [1838784] - [scsi] scsi: simplify scsi_bios_ptable (Ewan Milne) [1838784] - [scsi] scsi: core: Use scnprintf() for avoiding potential buffer overflow (Ewan Milne) [1838784] - [scsi] scsi: core: avoid repetitive logging of device offline messages (Ewan Milne) [1838784] - [scsi] scsi: core: use kobj_to_dev (Ewan Milne) [1838784] - [scsi] scsi: sd: Clear sdkp->protection_type if disk is reformatted without PI (Ewan Milne) [1838784] - [scsi] scsi: core: Fix a compiler warning triggered by the SCSI logging code (Ewan Milne) [1838784] - [scsi] scsi: core: Adjust DBD setting in MODE SENSE for caching mode page per LLD (Ewan Milne) [1838784] - [scsi] scsi: sd_zbc: Improve report zones error printout (Ewan Milne) [1838784] - [scsi] scsi: scsi_transport_sas: Fix memory leak when removing devices (Ewan Milne) [1838784] - [scsi] scsi: scsi_debug: num_tgts must be >= 0 (Ewan Milne) [1838784] - [scsi] scsi: core: Handle drivers which set sg_tablesize to zero (Ewan Milne) [1838784] - [scsi] scsi: tracing: Fix handling of TRANSFER LENGTH == 0 for READ(6) and WRITE(6) (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_ioctl(): get rid of access_ok() (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_write(): get rid of access_ok()/__copy_from_user()/__get_user() (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_read(): get rid of access_ok()/__copy_..._user() (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_new_write(): don't bother with access_ok (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_write(): __get_user() can fail.. (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_new_write(): replace access_ok() + __copy_from_user() with copy_from_user() (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_ioctl(): fix copyout handling (Ewan Milne) [1838784] - [scsi] scsi: core: scsi_trace: Use get_unaligned_be*() (Ewan Milne) [1838784] - [scsi] drivers/scsi: Replace rcu_swap_protected() with rcu_replace_pointer() (Ewan Milne) [1838784] - [scsi] scsi: sd: define variable dif as unsigned int instead of bool (Ewan Milne) [1838784] - [scsi] scsi: core: try to get module before removing device (Ewan Milne) [1838784] - [scsi] scsi: scsi_dh_alua: handle RTPG sense code correctly during state transitions (Ewan Milne) [1838784] - [powerpc] powerpc/64: flush_inval_dcache_range() becomes flush_dcache_range() (Gustavo Duarte) [1834180] - [x86] x86/ima: use correct identifier for SetupMode variable (Diego Domingos) [1781925] - [lib] kobject: fix dereference before null check on kobj (Diego Domingos) [1781925] - [include] MODSIGN: make new include file self contained (Diego Domingos) [1781925] - [security] ima: initialize the "template" field with the default template (Diego Domingos) [1781925] - [x86] x86/ima: Check EFI_RUNTIME_SERVICES before using (Diego Domingos) [1781925] - [x86] x86/ima: check EFI SetupMode too (Diego Domingos) [1781925] - [security] ima: Set file->f_mode instead of file->f_flags in ima_calc_file_hash() (Diego Domingos) [1781925] - [security] evm: check hash algorithm passed to init_desc() (Diego Domingos) [1781925] - [base] firmware: improve LSM/IMA security behaviour (Diego Domingos) [1781925] - [lib] kobject: Add support for default attribute groups to kobj_type (Diego Domingos) [1781925] - [samples] samples/kobject: Replace foo_ktype's default_attrs field with groups (Diego Domingos) [1781925] - [x86] x86/ima: require signed kernel modules (Diego Domingos) [1781925] - [security] powerpc: Load firmware trusted keys/hashes into kernel keyring (Diego Domingos) [1781925] - [powerpc] powerpc: expose secure variables to userspace via sysfs (Diego Domingos) [1781925] - [powerpc] powerpc/powernv: Add OPAL API interface to access secure variable (Diego Domingos) [1781925] - [powerpc] powerpc/ima: fix secure boot rules in ima arch policy (Diego Domingos) [1781925] - [security] ima: Set again build_ima_appraise variable (Diego Domingos) [1781925] - [security] ima: Remove redundant policy rule set in add_rules() (Diego Domingos) [1781925] - [powerpc] powerpc/ima: Indicate kernel modules appended signatures are enforced (Diego Domingos) [1781925] - [powerpc] powerpc/ima: Update ima arch policy to check for blacklist (Diego Domingos) [1781925] - [security] ima: Check against blacklisted hashes for files with modsig (Diego Domingos) [1781925] - [security] ima: prevent a file already mmap'ed write to be mmap'ed execute (Diego Domingos) [1781925] - [certs] certs: Add wrapper function to check blacklisted binary hash (Diego Domingos) [1781925] - [security] ima: Make process_buffer_measurement() generic (Diego Domingos) [1781925] - [powerpc] powerpc/ima: Define trusted boot policy (Diego Domingos) [1781925] - [powerpc] powerpc: Detect the trusted boot state of the system (Diego Domingos) [1781925] - [powerpc] powerpc/ima: Add support to initialize ima policy rules (Diego Domingos) [1781925] - [powerpc] powerpc: Detect the secure boot mode of the system (Diego Domingos) [1781925] - [security] ima: use struct_size() in kzalloc() (Diego Domingos) [1781925] - [tools] sefltest/ima: support appended signatures (modsig) (Diego Domingos) [1781925] - [security] ima: Fix use after free in ima_read_modsig() (Diego Domingos) [1781925] - [security] ima: fix freeing ongoing ahash_request (Diego Domingos) [1781925] - [security] ima: always return negative code for error (Diego Domingos) [1781925] - [security] ima: Store the measurement again when appraising a modsig (Diego Domingos) [1781925] - [security] ima: Define ima-modsig template (Diego Domingos) [1781925] - [security] ima: Collect modsig (Diego Domingos) [1781925] - [security] ima: Implement support for module-style appended signatures (Diego Domingos) [1781925] - [security] ima: Factor xattr_verify() out of ima_appraise_measurement() (Diego Domingos) [1781925] - [security] integrity: Introduce struct evm_xattr (Diego Domingos) [1781925] - [security] ima: Add modsig appraise_type option for module-style appended signatures (Diego Domingos) [1781925] - [kernel] MODSIGN: Export module signature definitions (Diego Domingos) [1781925] - [kernel] modsign: log module name in the event of an error (Diego Domingos) [1781925] - [kernel] KEXEC: Call ima_kexec_cmdline to measure the boot command line args (Diego Domingos) [1781925] - [security] IMA: Define a new template field buf (Diego Domingos) [1781925] - [security] IMA: Define a new hook to measure the kexec boot command line arguments (Diego Domingos) [1781925] - [security] IMA: support for per policy rule template formats (Diego Domingos) [1781925] - [security] integrity: Fix __integrity_init_keyring() section mismatch (Diego Domingos) [1781925] - [security] x86/ima: fix the Kconfig dependency for IMA_ARCH_POLICY (Diego Domingos) [1781925] - [security] ima: Make arch_policy_entry static (Diego Domingos) [1781925] - [security] ima: show rules with IMA_INMASK correctly (Diego Domingos) [1781925] - [security] ima: fix wrong signed policy requirement when not appraising (Diego Domingos) [1781925] - [tools] selftests/kexec: update get_secureboot_mode (Diego Domingos) [1781925] - [tools] selftests/kexec: make kexec_load test independent of IMA being enabled (Diego Domingos) [1781925] - [tools] selftests/kexec: check kexec_load and kexec_file_load are enabled (Diego Domingos) [1781925] - [tools] selftests/kexec: Add missing '=y' to config options (Diego Domingos) [1781925] - [tools] selftests/kexec: kexec_file_load syscall test (Diego Domingos) [1781925] - [tools] selftests/kexec: define "require_root_privileges" (Diego Domingos) [1781925] - [tools] selftests/kexec: define common logging functions (Diego Domingos) [1781925] - [tools] selftests/kexec: define a set of common functions (Diego Domingos) [1781925] - [tools] selftests/kexec: cleanup the kexec selftest (Diego Domingos) [1781925] - [tools] selftests/kexec: move the IMA kexec_load selftest to selftests/kexec (Diego Domingos) [1781925] - [security] evm: remove set but not used variable 'xattr' (Diego Domingos) [1781925] - [security] security: integrity: partial revert of make ima_main explicitly non-modular (Diego Domingos) [1781925] - [security] ima: cleanup the match_token policy code (Diego Domingos) [1781925] - [security] ima: Use inode_is_open_for_write (Diego Domingos) [1781925] - [security] security: fs: make inode explicitly non-modular (Diego Domingos) [1781925] - [security] security: audit and remove any unnecessary uses of module.h (Diego Domingos) [1781925] - [security] security: integrity: make evm_main explicitly non-modular (Diego Domingos) [1781925] - [security] security: integrity: make ima_main explicitly non-modular (Diego Domingos) [1781925] - [tools] selftests/ima: kexec_load syscall test (Diego Domingos) [1781925] - [security] ima: don't measure/appraise files on efivarfs (Diego Domingos) [1781925] - [x86] x86/ima: retry detecting secure boot mode (Diego Domingos) [1781925] - [x86] x86/ima: define arch_get_ima_policy() for x86 (Diego Domingos) [1781925] - [kernel] kernel/kexec_file.c: remove some duplicated includes (Diego Domingos) [1781925] - [security] ima: open a new file instance if no read permissions (Diego Domingos) [1781925] - [security] security/integrity: constify some read-only data (Diego Domingos) [1781925] - [documentation] security: fix LSM description location (Diego Domingos) [1781925] - [security] evm: Allow non-SHA1 digital signatures (Diego Domingos) [1781925] - [security] security: export security_kernel_load_data function (Diego Domingos) [1781925] - [security] ima: based on policy warn about loading firmware (pre-allocated buffer) (Diego Domingos) [1781925] - [security] ima: prevent kexec_load syscall based on runtime secureboot flag (Diego Domingos) [1781925] - [security] module: replace the existing LSM hook in init_module (Diego Domingos) [1781925] - [security] ima: based on policy require signed firmware (sysfs fallback) (Diego Domingos) [1781925] - [security] ima: add support for arch specific policies (Diego Domingos) [1781925] - [security] ima: based on policy require signed kexec kernel images (Diego Domingos) [1781925] - [security] ima: refactor ima_init_policy() (Diego Domingos) [1781925] - [include] sysfs: Fixes __BIN_ATTR_WO() macro (Diego Domingos) [1781925] - [include] security: define new LSM hook named security_kernel_load_data (Diego Domingos) [1781925] - [kernel] kexec: add call to LSM hook in original kexec_load syscall (Diego Domingos) [1781925] - [base] firmware: add call to LSM hook before firmware sysfs fallback (Diego Domingos) [1781925] - [security] ima: add build time policy (Diego Domingos) [1781925] - [security] ima: Support platform keyring for kernel appraisal (Diego Domingos) [1781925] - [security] integrity: Remove references to module keyring (Diego Domingos) [1781925] - [powerpc] powerpc/kexec: Fix loading of kernel + initramfs with kexec_file_load() (Diego Domingos) [1781925] - [security] ima: Use designated initializers for struct ima_event_data (Diego Domingos) [1781925] - [security] ima: Update MAX_TEMPLATE_NAME_LEN to fit largest reasonable definition (Diego Domingos) [1781925] - [certs] PKCS#7: Refactor verify_pkcs7_signature() (Diego Domingos) [1781925] - [crypto] PKCS#7: Introduce pkcs7_get_digest() (Diego Domingos) [1781925] - [security] integrity: Select CONFIG_KEYS instead of depending on it (Diego Domingos) [1781925] - [powerpc] powerpc/powernv: Move opal_power_control_init() call in opal_init() (Diego Domingos) [1781925] - [security] x86/efi: move common keyring handler functions to new file (Diego Domingos) [1781925] - [security] x86/efi: remove unused variables (Diego Domingos) [1781925] - [include] sysfs: add BIN_ATTR_WO() macro (Diego Domingos) [1781925] - [x86] x86/ima: define arch_ima_get_secureboot (Diego Domingos) [1781925] - [powerpc] powerpc/pci: unmap legacy INTx interrupts of passthrough IO adapters (Steve Best) [1840279] - [powerpc] powerpc/xive: Clear the page tables for the ESB IO mapping (Steve Best) [1840279] - [hv] hyper-v: Use UUID API for exporting the GUID (Mohammed Gamal) [1828451 1815498] - [kernel] uuid: Add inline helpers to import / export UUIDs (Mohammed Gamal) [1828451 1815498] - [hv] hv: Move AEOI determination to architecture dependent code (Mohammed Gamal) [1828451 1815498] - [x86] hyper-v: Report crash data in die() when panic_on_oops is set (Mohammed Gamal) [1828451 1815498] - [hv] x86/hyper-v: Report crash register data when sysctl_record_panic_msg is not set (Mohammed Gamal) [1828451 1815498] - [x86] hyper-v: Report crash register data or kmsg before running crash kernel (Mohammed Gamal) [1828451 1815498] - [hv] x86/hyper-v: Trigger crash enlightenment only once during system crash (Mohammed Gamal) [1828451 1815498] - [hv] x86/hyper-v: Free hv_panic_page when fail to register kmsg dump (Mohammed Gamal) [1828451 1815498] - [hv] x86/hyper-v: Unload vmbus channel in hv panic callback (Mohammed Gamal) [1828451 1815498] - [hv] hv_debugfs: Make hv_debug_root static (Mohammed Gamal) [1828451 1815498] - [hv] hyperv_vmbus.h: Replace zero-length array with flexible-array member (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Ignore CHANNELMSG_TL_CONNECT_RESULT(23) (Mohammed Gamal) [1828451 1815498] - [hv] hv_balloon: Balloon up according to request page number (Mohammed Gamal) [1828451 1815498] - [hv] hv_balloon: use generic_online_page() (Mohammed Gamal) [1828451 1815498] - [mm] memory_hotplug: export generic_online_page() (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Fix crash handler reset of Hyper-V synic (Mohammed Gamal) [1828451 1815498] - [hv] hv: Replace binary semaphore with mutex (Mohammed Gamal) [1828451 1815498] - [hv] hv: balloon: Remove dependencies on guest page size (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Remove dependencies on guest page size (Mohammed Gamal) [1828451 1815498] - [hv] hv: util: Specify ring buffer size using Hyper-V page size (Mohammed Gamal) [1828451 1815498] - [hv] hv: Specify receive buffer size using Hyper-V page size (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Add module parameter to cap the VMBus version (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Enable VMBus protocol versions 4.1, 5.1 and 5.2 (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Introduce table of VMBus protocol versions (Mohammed Gamal) [1828451 1815498] - [pci] hv: Replace zero-length array with flexible-array member (Mohammed Gamal) [1793636] - [pci] hv: Decouple the func definition in hv_dr_state from VSP message (Mohammed Gamal) [1793636] - [pci] hv: Add support for protocol 1.3 and support PCI_BUS_RELATIONS2 (Mohammed Gamal) [1793636] - [pci] hv: Add missing kfree(hbus) in hv_pci_probe()'s error handling path (Mohammed Gamal) [1793636] - [pci] hv: Remove unnecessary type casting from kzalloc (Mohammed Gamal) [1793636] - [pci] hv: Avoid a kmemleak false positive caused by the hbus buffer (Mohammed Gamal) [1793636] - [infiniband] RDMA/srpt: Fix disabling device management (Kamal Heib) [1840016] - [misc] vhost: disable for OABI (Jason Wang) [1771441] - [include] virtio: drop vringh.h dependency (Jason Wang) [1771441] - [virtio] virtio_input: pull in slab.h (Jason Wang) [1771441] - [char] virtio-rng: pull in slab.h (Jason Wang) [1771441] - [block] virtio_blk: add a missing include (Jason Wang) [1771441] - [vdpa] vdpa: fix comment of vdpa_register_device() (Jason Wang) [1771441] - [vhost] vdpa: make vhost, virtio depend on menu (Jason Wang) [1771441] - [include] vdpa: allow a 32 bit vq alignment (Jason Wang) [1771441] - [vdpa] vdpasim: Return status in vdpasim_get_status (Jason Wang) [1771441] - [vdpa] vdpa: remove unused variables 'ifcvf' and 'ifcvf_lm' (Jason Wang) [1771441] - [vdpa] vdpa-sim: depend on HAS_DMA (Jason Wang) [1771441] - [virtio] vdpa: move to drivers/vdpa (Jason Wang) [1771441] - [virtio] virtio: Intel IFC VF driver for VDPA (Jason Wang) [1771441] - [virtio] vdpasim: vDPA device simulator (Jason Wang) [1771441] - [vhost] vhost: introduce vDPA-based backend (Jason Wang) [1771441] - [virtio] virtio: introduce a vDPA based transport (Jason Wang) [1771441] - [virtio] vDPA: introduce vDPA bus (Jason Wang) [1771441] - [vhost] vringh: IOTLB support (Jason Wang) [1771441] - [vhost] vhost: factor out IOTLB (Jason Wang) [1771441] - [vhost] vhost: allow per device message handler (Jason Wang) [1771441] - [misc] vhost: refine vhost and vringh kconfig (Jason Wang) [1771441] - [vhost] vringh: fix copy direction of vringh_iov_push_kern() (Jason Wang) [1771441] - [vhost] vhost: factor out setting vring addr and num (Jason Wang) [1771441] - [vhost] vhost: introduce helpers to get the size of metadata area (Jason Wang) [1771441] - [vhost] vhost: rename vq_iotlb_prefetch() to vq_meta_prefetch() (Jason Wang) [1771441] - [vhost] vhost: fine grain userspace memory accessors (Jason Wang) [1771441] - [vhost] vhost: generalize adding used elem (Jason Wang) [1771441] - [misc] mic: vop: Allow building on more systems (Jason Wang) [1771441] - [virtio] virtio: support VIRTIO_F_ORDER_PLATFORM (Jason Wang) [1771441] - [uapi] vhost: split structs into a separate header file (Jason Wang) [1771441] - [fs] compat_ioctl: add compat_ptr_ioctl() (Jason Wang) [1771441] - [vhost] vhost: allow vhost-scsi driver to be built-in (Jason Wang) [1771441] - [x86] arch/x86: Remove vendor specific CPU ID checks (Prarit Bhargava) [1840145] - [tools] perf vendor events amd: Update Zen1 events to V2 (Wei Huang) [1790641] - [tools] perf vendor events amd: Add Zen2 events (Wei Huang) [1790641] - [tools] perf vendor events amd: Restrict model detection for zen1 based processors (Wei Huang) [1790641] - [x86] perf/amd/uncore: Add support for Family 19h L3 PMU (Wei Huang) [1790641] - [x86] perf/amd/uncore: Make L3 thread mask code more readable (Wei Huang) [1790641] - [x86] perf/amd/uncore: Prepare L3 thread mask code for Family 19h (Wei Huang) [1790641] - [scsi] scsi: fnic: Use scnprintf() for avoiding potential buffer overflow (Govindarajulu Varadarajan) [1797808] - [scsi] scsi: fnic: do not queue commands during fwreset (Govindarajulu Varadarajan) [1797808] - [scsi] scsi: fnic: fix invalid stack access (Govindarajulu Varadarajan) [1797808] - [scsi] scsi: fnic: fix use after free (Govindarajulu Varadarajan) [1797808] - [scsi] scsi: fnic: make array dev_cmd_err static const, makes object smaller (Govindarajulu Varadarajan) [1797808]- [media] media: v4l: fix uapi mpeg slice params definition (Torez Smith) [1825410 1821835] - [uapi] v4l2-controls: add a missing include (Torez Smith) [1825410 1821835] - [dma] dma-mapping: remove dma_release_declared_memory (Torez Smith) [1825410 1821835] - [usb] usb/ohci-tmio: remove the HCD_DMA flag (Torez Smith) [1825410 1821835] - [usb] usb: add a HCD_DMA flag instead of guestimating DMA capabilities (Torez Smith) [1825410 1821835] - [usb] usb: add a hcd_uses_dma helper (Torez Smith) [1825410 1821835] - [usb] usb: don't create dma pools for HCDs with a localmem_pool (Torez Smith) [1825410 1821835] - [usb] usb: host: ohci-tmio: Mark expected switch fall-throughs (Torez Smith) [1825410 1821835] - [usb] USB: drop HCD_LOCAL_MEM flag (Torez Smith) [1825410 1821835] - [usb] usb: host: ohci-tmio: init genalloc for local memory (Torez Smith) [1825410 1821835] - [usb] dma-mapping: remove the DMA_MEMORY_EXCLUSIVE flag (Torez Smith) [1825410 1821835] - [media] media: xirlink_cit: add missing descriptor sanity checks (Torez Smith) [1825410 1821835] - [media] media: ttusb-dec: Fix info-leak in ttusb_dec_send_command() (Torez Smith) [1788005 1825410 1821835] {CVE-2019-19533} - [media] media: usb: fix memory leak in af9005_identify_state (Torez Smith) [1825141 1825410 1821835] {CVE-2019-18809} - [netdrv] cdc_ether: fix rndis support for Mediatek based smartphones (Torez Smith) [1825410 1821835] - [netdrv] r8152: remove calling netif_napi_del (Torez Smith) [1825410 1821835] - [netdrv] Revert "r8152: napi hangup fix after disconnect" (Torez Smith) [1825410 1821835] - [netdrv] r8152: Set memory to all 0xFFs on failed reg reads (Torez Smith) [1825410 1821835] - [netdrv] net: kalmia: fix memory leaks (Torez Smith) [1825410 1821835] - [netdrv] cx82310_eth: fix a memory leak bug (Torez Smith) [1825410 1821835] - [netdrv] lan78xx: Fix memory leaks (Torez Smith) [1825410 1821835] - [netdrv] r8152: fix typo in register name (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: pcan_usb_pro: Fix info-leaks to USB devices (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: pcan_usb_fd: Fix info-leaks to USB devices (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: force the string buffer NULL-terminated (Torez Smith) [1825410 1821835] - [netdrv] net: usb: pegasus: fix improper read if get_registers() fail (Torez Smith) [1825410 1821835] - [netdrv] net: usb: qmi_wwan: Add the BroadMobi BM818 card (Torez Smith) [1825410 1821835] - [netdrv] can: mark expected switch fall-throughs (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: fix potential double kfree_skb() (Torez Smith) [1825410 1821835] - [netdrv] usb: qmi_wwan: add D-Link DWM-222 A2 device ID (Torez Smith) [1825410 1821835] - [uapi] media: videodev2.h: change V4L2_PIX_FMT_BGRA444 define: fourcc was already in use (Torez Smith) [1825410 1821835] - [netdrv] r8152: set RTL8152_UNPLUG only for real disconnection (Torez Smith) [1825410 1821835] - [netdrv] r8152: move calling r8153b_rx_agg_chg_indicate() (Torez Smith) [1825410 1821835] - [netdrv] net: usb: asix: init MAC address buffers (Torez Smith) [1825410 1821835] - [netdrv] r8152: fix the setting of detecting the linking change for runtime suspend (Torez Smith) [1825410 1821835] - [media] media: hdpvr: fix locking and a missing msleep (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Fix out-of-bounds read (Torez Smith) [1825410 1821835] - [uapi] media: videodev2.h: Fix shifting signed 32-bit value by 31 bits problem (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 468 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 238 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 235 (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: extend permitted QMAP mux_id value range (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: avoid RCU stalls on device disconnect when in QMAP mode (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: add network device usage statistics for qmimux devices (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: add support for QMAP padding in the RX path (Torez Smith) [1825410 1821835] - [media] media: cx231xx-cards: Add Hauppauge 955Q variant (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: Add Hauppauge HVR1955/1975 devices (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: Add i2c client demod/tuner support (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: Add multiple dvb frontend support (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix access to uninitialized fields on probe error (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Include streaming interface number in debugfs dir name (Torez Smith) [1825410 1821835] - [netdrv] can: usb: Kconfig: Remove duplicate menu entry (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: fix null-ptr-deref in class_unregister() (Torez Smith) [1825410 1821835] - [media] media: cxusb: Revert "media: cxusb: add raw mode support for, Medion MD95700" (Torez Smith) [1825410 1821835] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 412 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 286 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 258 (Torez Smith) [1825410 1821835] - [media] media: media/usb: set device_caps in struct video_device (Torez Smith) [1825410 1821835] - [media] media: dvb-usb/cxusb-analog.c: fix coccinelle warning, use ktime.h (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 (Torez Smith) [1825410 1821835] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 164 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 131 (Torez Smith) [1825410 1821835] - [media] media: cx231xx-dvb: fix memory leak in dvb_fini() (Torez Smith) [1825410 1821835] - [media] media: em28xx: use usb_to_input_id() rather than handrolling it (Torez Smith) [1825410 1821835] - [media] media: em28xx: use common code for decoding nec scancodes (Torez Smith) [1825410 1821835] - [media] media: em28xx: give RC device proper name (Torez Smith) [1825410 1821835] - [media] media: cxusb: fix several coding style issues (Torez Smith) [1825410 1821835] - [media] media: cxusb-analog: Fix some coding style issues (Torez Smith) [1825410 1821835] - [media] media: cxusb: add raw mode support for Medion MD95700 (Torez Smith) [1825410 1821835] - [media] media: cxusb: add analog mode support for Medion MD95700 (Torez Smith) [1825410 1821835] - [media] media: cxusb: implement Medion MD95700 digital / analog coexistence (Torez Smith) [1825410 1821835] - [media] media: usb:zr364xx:Fix KASAN:null-ptr-deref Read in zr364xx_vidioc_querycap (Torez Smith) [1825410 1821835] - [media] media: pwc: convert to BIT macro (Torez Smith) [1825410 1821835] - [media] media: cpia2_usb: first wake up, then free in disconnect (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: use a different format for warnings (Torez Smith) [1825410 1821835] - [media] media: smsusb: better handle optional alignment (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 65 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 (Torez Smith) [1825410 1821835] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 55 (Torez Smith) [1825410 1821835] - [media] media: remove redundant 'default n' from Kconfig-s (Torez Smith) [1825410 1821835] - [media] media: af9035: Remove duplicate error reporting for dvbsky_usb_generic_rw (Torez Smith) [1825410 1821835] - [media] media: dvbsky: Remove duplicate error reporting for dvbsky_usb_generic_rw (Torez Smith) [1825410 1821835] - [media] media: dvb-usb-v2: Report error on all error paths (Torez Smith) [1825410 1821835] - [media] media: au0828: fix null dereference in error path (Torez Smith) [1825410 1821835] - [media] media: dvb: usb: fix use after free in dvb_usb_device_exit (Torez Smith) [1825410 1821835] - [media] media: usb: siano: Fix false-positive "uninitialized variable" warning (Torez Smith) [1825410 1821835] - [netdrv] usbnet: fix kernel crash after disconnect (Torez Smith) [1825410 1821835] - [netdrv] usbnet: ipheth: fix racing condition (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 (Torez Smith) [1825410 1821835] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 17 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 (Torez Smith) [1825410 1821835] - [media] treewide: Add SPDX license identifier - Makefile/Kconfig (Torez Smith) [1825410 1821835] - [media] treewide: Add SPDX license identifier for more missed files (Torez Smith) [1825410 1821835] - [media] media: usb: siano: Fix general protection fault in smsusb (Torez Smith) [1825410 1821835] - [media] media: prefix header search paths with $(srctree)/ (Torez Smith) [1825410 1821835] - [media] media: remove unneeded header search paths (Torez Smith) [1825410 1821835] - [netdrv] aqc111: cleanup mtu related logic (Torez Smith) [1825410 1821835] - [netdrv] Revert "aqc111: fix writing to the phy on BE" (Torez Smith) [1825410 1821835] - [netdrv] Revert "aqc111: fix double endianness swap on BE" (Torez Smith) [1825410 1821835] - [netdrv] net: usb: qmi_wwan: add Telit 0x1260 and 0x1261 compositions (Torez Smith) [1825410 1821835] - [netdrv] aqc111: fix double endianness swap on BE (Torez Smith) [1825410 1821835] - [netdrv] aqc111: fix writing to the phy on BE (Torez Smith) [1825410 1821835] - [netdrv] aqc111: fix endianness issue in aqc111_change_mtu (Torez Smith) [1825410 1821835] - [netdrv] net: usb: smsc: fix warning reported by kbuild test robot (Torez Smith) [1825410 1821835] - [netdrv] net: usb: support of_get_mac_address new ERR_PTR error (Torez Smith) [1825410 1821835] - [netdrv] usbnet: ipheth: Remove unnecessary NULL pointer check (Torez Smith) [1825410 1821835] - [netdrv] usbnet: ipheth: Simplify device detection (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: new Wistron, ZTE and D-Link devices (Torez Smith) [1825410 1821835] - [uapi] media: v4l: Add definitions for missing 16-bit RGB555 formats (Torez Smith) [1825410 1821835] - [uapi] media: v4l: Add definitions for missing 16-bit RGB4444 formats (Torez Smith) [1825410 1821835] - [uapi] media: v4l: Add definitions for missing 32-bit RGB formats (Torez Smith) [1825410 1821835] - [netdrv] r8152: sync sa_family with the media type of network device (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: Prevent a buffer overflow (Torez Smith) [1825410 1821835] - [media] media: au0828: stop video streaming only when last user stops (Torez Smith) [1825410 1821835] - [media] media: au0828: Fix NULL pointer dereference in au0828_analog_stream_enable() (Torez Smith) [1825410 1821835] - [media] media: au0828: fix enable and disable source audio and video inconsistencies (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Add quirk for Quectel dynamic config (Torez Smith) [1825410 1821835] - [netdrv] r8152: Refresh MAC address during USBDEVFS_RESET (Torez Smith) [1825410 1821835] - [netdrv] r8152: remove extra action copying ethernet address (Torez Smith) [1825410 1821835] - [media] media: replace strncpy() by strscpy() (Torez Smith) [1825410 1821835] - [media] media: usbvision: fix a potential NULL pointer dereference (Torez Smith) [1825410 1821835] - [media] media: gspca: Kill URBs on USB device disconnect (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: add Olicard 600 (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Extend HWID table by QNAP device (Torez Smith) [1825410 1821835] - [media] media: pwc-ctl: pChoose can't be NULL (Torez Smith) [1825410 1821835] - [media] media: Kconfig files: use the right help coding style (Torez Smith) [1825410 1821835] - [media] media: em28xx-input: make const array addr_list static (Torez Smith) [1825410 1821835] - [media] media: dvb: Add support for the Avermedia TD310 (Torez Smith) [1825410 1821835] - [media] media: dvb: init i2c already in it930x_frontend_attach (Torez Smith) [1825410 1821835] - [media] media: dvbsky: Avoid leaking dvb frontend (Torez Smith) [1825410 1821835] - [media] media: gspca: do not resubmit URBs when streaming has stopped (Torez Smith) [1825410 1821835] - [media] media: au0828: minor fix to a misleading comment in _close() (Torez Smith) [1825410 1821835] - [media] media: go7007: avoid clang frame overflow warning with KASAN (Torez Smith) [1825410 1821835] - [media] media: cpia2: Fix use-after-free in cpia2_exit (Torez Smith) [1825410 1821835] - [netdrv] peak_usb: fix clang build warning (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Add support for Quectel EG12/EM12 (Torez Smith) [1825410 1821835] - [media] media: a few more typos at staging, pci, platform, radio and usb (Torez Smith) [1825410 1821835] - [media] media: usb: fix several typos (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Use usb_make_path to fill in usb_info (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix smatch warning (Torez Smith) [1825410 1821835] - [media] media: v4l: Add 32-bit packed YUV formats (Torez Smith) [1825410 1821835] - [netdrv] net: usb: cdc-phonet: use struct_size() in alloc_netdev() (Torez Smith) [1825410 1821835] - [netdrv] net: usb: rtl8150: mark expected switch fall-through (Torez Smith) [1825410 1821835] - [netdrv] net: usb: pegasus: Mark expected switch fall-through (Torez Smith) [1825410 1821835] - [media] media: hdpvr: fix smatch warning (Torez Smith) [1825410 1821835] - [media] media: usbvision: use u64 for the timestamp internally (Torez Smith) [1825410 1821835] - [media] media: stkwebcam: use u64 for the timestamp internally (Torez Smith) [1825410 1821835] - [media] media: cpia2: use u64 for the timestamp internally (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Avoid NULL pointer dereference at the end of streaming (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix 'type' check leading to overflow (Torez Smith) [1825410 1821835] - [netdrv] net: usb: asix: ax88772_bind return error when hw_reset fail (Torez Smith) [1825410 1821835] - [netdrv] net: usb: rtl8150: remove set but not used variable 'rx_stat' (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Extend HWID table by TRENDnet device (Torez Smith) [1825410 1821835] - [uapi] media: videodev2.h: Add more field helper macros (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534-ov772x: remove unnecessary COM3 initialization (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534-ov722x: remove camera clock setup from bridge_init (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534-ov722x: remove mode specific video data registers from bridge_init (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534-ov772x: add SGBRG8 bayer mode support (Torez Smith) [1825410 1821835] - [media] media: gspca: ov543-ov772x: move video format specific registers into bridge_start (Torez Smith) [1825410 1821835] - [media] media: gspca: support multiple pixel formats in TRY_FMT (Torez Smith) [1825410 1821835] - [media] media: gspca: support multiple pixel formats in ENUM_FRAMEINTERVALS (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534: replace msleep(10) with usleep_range (Torez Smith) [1825410 1821835] - [uapi] media: v4l: uAPI: V4L2_BUF_TYPE_META_OUTPUT is an output buffer type (Torez Smith) [1825410 1821835] - [media] media: gspca: mt9m111: Check write_bridge for timeout (Torez Smith) [1825410 1821835] - [media] media: gspca: Check the return value of write_bridge for timeout (Torez Smith) [1825410 1821835] - [media] media: usb: gspca: add a missed check for goto_low_power (Torez Smith) [1825410 1821835] - [media] media: usb: gspca: add a missed return-value check for do_command (Torez Smith) [1825410 1821835] - [media] media: v4l2-ctrls.c/uvc: zero v4l2_event (Torez Smith) [1825410 1821835] - [media] media: usb: pwc: Don't use coherent DMA buffers for ISO transfer (Torez Smith) [1825410 1821835] - [media] media: usb: pwc: Introduce TRACE_EVENTs for pwc_isoc_handler() (Torez Smith) [1825410 1821835] - [netdrv] cdc_ether: trivial whitespace readability fix (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: add MTU default to qmap network interface (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Fix qmap header retrieval in qmimux_rx_fixup (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Add support for Fibocom NL678 series (Torez Smith) [1825410 1821835] - [netdrv] lan78xx: Resolve issue with changing MAC address (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Added support for Telit LN940 series (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Added support for Fibocom NL668 series (Torez Smith) [1825410 1821835] - [media] media: v4l: Add support for V4L2_BUF_TYPE_META_OUTPUT (Torez Smith) [1825410 1821835] - [media] media: siano: Use kmemdup instead of duplicating its function (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: fix spelling mistake "statuss" -> "status" (Torez Smith) [1825410 1821835] - [media] media: lmedm04: Move interrupt buffer to priv buffer (Torez Smith) [1825410 1821835] - [media] media: lmedm04: Add missing usb_free_urb to free interrupt urb (Torez Smith) [1825410 1821835] - [media] media: stkwebcam: Bugfix for wrong return values (Torez Smith) [1825410 1821835] - [media] media: stkwebcam: Support for ASUS A6VM notebook added (Torez Smith) [1825410 1821835] - [media] media: usb: dvb-usb: remove old friio driver (Torez Smith) [1825410 1821835] - [media] media: lmedm04: use dvb_usbv2_generic_rw_locked (Torez Smith) [1825410 1821835] - [media] media: lmedm04: Move usb buffer to lme2510_state (Torez Smith) [1825410 1821835] - [media] media: rtl28xxu: add support for Sony CXD2837ER slave demod (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Utilise for_each_uvc_urb iterator (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Rename uvc_{un, }init_video() (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Split uvc_video_enable into two (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Move decode processing to process context (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Abstract streaming object lifetime (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: queue: Support asynchronous buffer handling (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: queue: Simplify spin-lock usage (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Protect queue internals with helper (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Convert decode functions to use new context structure (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Refactor URB descriptors (Torez Smith) [1825410 1821835] - [media] media: em28xx: fix spelling mistake, "Cinnergy" -> "Cinergy" (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Refactor teardown of uvc on USB disconnect (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Add support for the CNF4 format (Torez Smith) [1825410 1821835] - [documentation] media: v4l: Add 4bpp packed depth confidence format CNF4 (Torez Smith) [1825410 1821835] - [media] media: usb: Use kmemdup instead of duplicating its function (Torez Smith) [1825410 1821835] - [media] media: dvb: Use WARM definition from identify_state() (Torez Smith) [1825410 1821835] - [media] media: dib0700: fix spelling mistake "Amplifyer" -> "Amplifier" (Torez Smith) [1825410 1821835] - [media] media: dvb-usb-v2: Fix incorrect use of transfer_flags URB_FREE_BUFFER (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Initialize wol_cfg with memset in aqc111_suspend (Torez Smith) [1825410 1821835] - [netdrv] net: Don't default Aquantia USB driver to 'y' (Torez Smith) [1825410 1821835] - [netdrv] can: ucan: fix spelling mistake: "resumbmitting" -> "resubmitting" (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Extend cdc_ether blacklist (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add ASIX's HW ids (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for wake on LAN by MAGIC packet (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Implement get/set_link_ksettings callbacks (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Initialize ethtool_ops structure (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add RX VLAN filtering support (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for VLAN_CTAG_TX/RX offload (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Implement set_rx_mode callback (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for TSO (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for enable/disable checksum offload (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for changing MTU (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add checksum offload support (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Implement RX data path (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Implement TX data path (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for getting and setting of MAC address (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Introduce link management (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Introduce PHY access (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Various callbacks implementation (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add implementation of read and write commands (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add bind and empty unbind callbacks (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Driver skeleton for Aquantia AQtion USB to 5GbE (Torez Smith) [1825410 1821835] - [netdrv] usbnet: ipheth: fix potential recvmsg bug and recvmsg bug 2 (Torez Smith) [1825410 1821835] - [media] media: pulse8-cec: return 0 when invalidating the logical address (Torez Smith) [1825410 1821835] - [media] media: gspca: fix frame overflow error (Torez Smith) [1825410 1821835] - [media] media: cropcap/g_selection split (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: check for csum being in last four bytes (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: fix memcpy for accessing rx-data (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: simplify tx_fixup code (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: fix rx packet alignment (Torez Smith) [1825410 1821835] - [netdrv] can: ucan: remove duplicated include from ucan.c (Torez Smith) [1825410 1821835] - [netdrv] can: ucan: remove set but not used variable 'udev' (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Fix accessing freed memory in kvaser_usb_start_xmit() (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Fix potential uninitialized variable use (Torez Smith) [1825410 1821835] - [netdrv] net: smsc95xx: Fix MTU range (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: disable carrier check while suspending (Torez Smith) [1825410 1821835] - [netdrv] net: cdc_ncm: remove set but not used variable 'ctx' (Torez Smith) [1825410 1821835] - [netdrv] net: cdc_ncm: use tasklet_init() for tasklet_struct init (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Added support for Gemalto's Cinterion ALASxx WWAN interface (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: replace `printk` with `pr_*` (Torez Smith) [1825410 1821835] - [media] media: cx231xx: fix potential sign-extension overflow on large shift (Torez Smith) [1825410 1821835] - [media] Revert "media: dvbsky: use just one mutex for serializing device R/W ops" (Torez Smith) [1825410 1821835] - [netdrv] net/usb: cancel pending work when unbinding smsc75xx (Torez Smith) [1825410 1821835] - [netdrv] smsc95xx: Check for Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] smsc75xx: Check for Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] r8152: Check for supported Wake-on-LAN Modes (Torez Smith) [1825410 1821835] - [netdrv] sr9800: Check for supported Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] lan78xx: Check for supported Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] ax88179_178a: Check for supported Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] asix: Check for supported Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [media] media: v4l: Add definition for the Sunxi tiled NV12 format (Torez Smith) [1825410 1821835] - [documentation] media: v4l: Add definitions for MPEG-2 slice format and metadata (Torez Smith) [1825410 1821835] - [media] media: au0828: Fix incorrect error messages (Torez Smith) [1825410 1821835] - [media] media: au0828: cannot kfree dev before usb disconnect (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Avoid unnecessary self assignment (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: set DTR for modems in forced USB2 mode (Torez Smith) [1825410 1821835] - [media] media: mxl111sf: declare its own pads (Torez Smith) [1825410 1821835] - [media] media: au0828: use signals instead of hardcoding a pad number (Torez Smith) [1825410 1821835] - [media] media: v4l2: taint pads with the signal types for consumer devices (Torez Smith) [1825410 1821835] - [media] media: em28xx: make v4l2-compliance happier by starting sequence on zero (Torez Smith) [1825410 1821835] - [media] media: em28xx: fix input name for Terratec AV 350 (Torez Smith) [1825410 1821835] - [media] media: em28xx: use a default format if TRY_FMT fails (Torez Smith) [1825410 1821835] - [media] media: em28xx: fix handler for vidioc_s_input() (Torez Smith) [1825410 1821835] - [netdrv] net: usb: remove redundant null pointer check before of_node_put (Torez Smith) [1825410 1821835] - [media] media: usbvision: remove time_in_irq (Torez Smith) [1825410 1821835] - [media] media: gspca: sq930x: use GFP_KERNEL in sd_dq_callback() (Torez Smith) [1825410 1821835] - [media] media: replace strcpy() by strscpy() (Torez Smith) [1825410 1821835] - [media] media: use strscpy() instead of strlcpy() (Torez Smith) [1825410 1821835] - [documentation] media: videodev2.h: add new capabilities for buffer types (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Store device information pointer in struct uvc_device (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Rename UVC_QUIRK_INFO to UVC_INFO_QUIRK (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix uvc_alloc_entity() allocation alignment (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix spelling mistake: "entites" -> "entities" (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Remove unnecessary NULL check before debugfs_remove_recursive (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Make uvc_control_mapping menu_info field const (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Make some structs const (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Support dynamic config on Quectel EP06 (Torez Smith) [1825410 1821835] - [netdrv] lan78xx: Do not access skb_queue_head list pointers directly (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Make declaration style consistent (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Switch to SPDX identifier (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Drop unnecessary strcpy in lan78xx_probe (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Bail out if lan78xx_get_endpoints fails (Torez Smith) [1825410 1821835] - [netdrv] net: usbnet: mark expected switch fall-through (Torez Smith) [1825410 1821835] - [media] media: v4l2-ctrls: v4l2_ctrl_add_handler: add from_other_dev (Torez Smith) [1825410 1821835] - [media] media: videodev2.h: add request_fd field to v4l2_ext_controls (Torez Smith) [1825410 1821835] - [uapi] media: videodev2.h: Add new DV flag CAN_DETECT_REDUCED_FPS (Torez Smith) [1825410 1821835] - [media] media: af9035: prevent buffer overflow on write (Torez Smith) [1825410 1821835] - [netdrv] r8152: disable RX aggregation on new Dell TB16 dock (Torez Smith) [1825410 1821835] - [netdrv] drivers/net/usb/r8152: remove the unneeded variable "ret" in rtl8152_system_suspend (Torez Smith) [1825410 1821835] - [media] media: rtl28xxu: be sure that it won't go past the array size (Torez Smith) [1825410 1821835] - [netdrv] net:usb: Use ARRAY_SIZE instead of calculating the array size (Torez Smith) [1825410 1821835] - [media] media: au0828: fix spelling mistake: "completition" -> "completion" (Torez Smith) [1825410 1821835] - [media] media: cx231xx: fix spelling mistake: "completition" -> "completion" (Torez Smith) [1825410 1821835] - [media] media: dvb-usb-v2: fix spelling mistake: "completition" -> "completion" (Torez Smith) [1825410 1821835] - [media] media: dvb-usb: fix spelling mistake: "completition" -> "completion" (Torez Smith) [1825410 1821835] - [media] media: usb: hackrf: Replace GFP_ATOMIC with GFP_KERNEL (Torez Smith) [1825410 1821835] - [media] media: usb: em28xx: Replace mdelay() with msleep() in em28xx_pre_card_setup() (Torez Smith) [1825410 1821835] - [media] media: usb: em28xx: Replace GFP_ATOMIC with GFP_KERNEL in em28xx_init_usb_xfer() (Torez Smith) [1825410 1821835] - [media] media: dw2102: Fix memleak on sequence of probes (Torez Smith) [1825410 1821835] - [media] media: usbtv: use irqsave() in USB's complete callback (Torez Smith) [1825410 1821835] - [media] media: go7007: use irqsave() in USB's complete callback (Torez Smith) [1825410 1821835] - [media] media: cx231xx: use irqsave() in USB's complete callback (Torez Smith) [1825410 1821835] - [documentation] media: v4l: Add new 10-bit packed grayscale format (Torez Smith) [1825410 1821835] - [documentation] media: doc-rst: Add packed Bayer raw14 pixel formats (Torez Smith) [1825410 1821835] - [media] media: em28xx: disable null packet filter for WinTVdualHD (Torez Smith) [1825410 1821835] - [uapi] media: videodev2: get rid of VIDIOC_RESERVED (Torez Smith) [1825410 1821835] - [media] media: em28xx: explicitly disable TS packet filter (Torez Smith) [1825410 1821835] - [media] media: dvb-usb/friio, dvb-usb-v2/gl861: decompose friio and merge with gl861 (Torez Smith) [1825410 1821835] - [netdrv] net: usb: sr9700: Replace mdelay() with msleep() in sr9700_bind() (Torez Smith) [1825410 1821835] - [netdrv] net: usb: pegasus: Replace mdelay() with msleep() in setup_pegasus_II() (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Send a control event when a Control Change interrupt arrives (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Handle control pipe protocol STALLs (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Remove a redundant check (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Also validate buffers in BULK mode (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Add KSMedia 8-bit IR format support (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix minor spelling (Torez Smith) [1825410 1821835] - [media] media: em28xx-cards: disable V4L2 mode for dual tuners (Torez Smith) [1825410 1821835] - [media] media: em28xx: Remove duplicate PID (Torez Smith) [1825410 1821835] - [media] media: em28xx: Fix DualHD disconnect oops (Torez Smith) [1825410 1821835] - [media] media: em28xx: Fix dual transport stream operation (Torez Smith) [1825410 1821835] - [media] media: dib0700: add code comment (Torez Smith) [1825410 1821835] - [media] media: cx231xx: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: em28xx: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: hdpvr: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: dvb-usb: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: tm6000: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: gl861: fix probe of dvb_usb_gl861 (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Simplify struct kvaser_cmd_cardinfo (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Add support for Kvaser USB hydra family (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Split driver into kvaser_usb_core.c and kvaser_usb_leaf.c (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Add SPDX GPL-2.0 license identifier (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Fix typos (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Improve logging messages (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Refactor kvaser_usb_init_one() (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Refactor kvaser_usb_get_endpoints() (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Add pointer to struct usb_interface into struct kvaser_usb (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Replace USB timeout constants with one define (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Rename message/msg to command/cmd (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Remove unused commands and defines (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Remove unnecessary return (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: mark expected switch fall-throughs (Torez Smith) [1825410 1821835] - [netdrv] can: ucan: add driver for Theobroma Systems UCAN devices (Torez Smith) [1825410 1821835] - [netdrv] can: usb: Kconfig/Makefile: sort alphabetically (Torez Smith) [1825410 1821835] - [media] media: gspca_kinect: cast sizeof to int for comparison (Torez Smith) [1825410 1821835] - [media] media: videodev.h: add PIX_FMT_FWHT for use with vicodec (Torez Smith) [1825410 1821835] - [netdrv] net: usb: hso: use swap macro in hso_kick_transmit (Torez Smith) [1825410 1821835] - [netdrv] net: usb: asix: allow optionally getting mac address from device tree (Torez Smith) [1825410 1821835]- [hid] HID: Improve Windows Precision Touchpad detection (Benjamin Tissoires) [1811209] - [hid] HID: multitouch: enable multi-input as a quirk for some devices (Benjamin Tissoires) [1811209] - [hid] drivers/hid/hid-multitouch.c: fix a possible null pointer access (Benjamin Tissoires) [1811209] - [hid] HID: multitouch: Add LG MELF0410 I2C touchscreen support (Benjamin Tissoires) [1811209] - [hid] HID: multitouch: add support for the Smart Tech panel (Benjamin Tissoires) [1811209] - [hid] HID: multitouch: do not filter mice nodes (Benjamin Tissoires) [1811209] - [hid] HID: wacom: Report 2nd-gen Intuos Pro S center button status over BT (Benjamin Tissoires) [1835753] - [hid] Revert "HID: wacom: generic: read the number of expected touches on a per collection basis" (Benjamin Tissoires) [1835753] - [hid] HID: wacom: Read HID_DG_CONTACTMAX directly for non-generic devices (Benjamin Tissoires) [1835753] - [hid] HID: wacom: Recognize new MobileStudio Pro PID (Benjamin Tissoires) [1835753] - [hid] HID: wacom: generic: Treat serial number and related fields as unsigned (Benjamin Tissoires) [1835753] - [hid] HID: wacom: add new MobileStudio Pro 13 support (Benjamin Tissoires) [1835753] - [hid] HID: wacom: do not call hid_set_drvdata(hdev, NULL) (Benjamin Tissoires) [1835753] - [hid] HID: wacom: support named keys on older devices (Benjamin Tissoires) [1835753] - [target] scsi: target: iscsi: calling iscsit_stop_session() inside iscsit_close_session() has no effect (Maurizio Lombardi) [1840024] - [target] scsi: target: fix hang when multiple threads try to destroy the same iscsi session (Maurizio Lombardi) [1840024] - [target] scsi: target: remove boilerplate code (Maurizio Lombardi) [1840024] - [target] scsi: target: use an enum to track emulate_ua_intlck_ctrl (Maurizio Lombardi) [1840024] - [target] scsi: target: convert boolean se_dev_attrib types to bool (Maurizio Lombardi) [1840024] - [target] scsi: target: fix unmap_zeroes_data boolean initialisation (Maurizio Lombardi) [1840024] - [fs] page cache: Finish XArray conversion (Waiman Long) [1812073] - [mm] mm: Convert __do_page_cache_readahead to XArray (Waiman Long) [1812073] - [mm] mm: Convert is_page_cache_freeable to XArray (Waiman Long) [1812073] - [mm] mm: memcontrol: clean up and document effective low/min calculations (Waiman Long) [1812073] - [mm] mm: memcontrol: fix memory.low proportional distribution (Waiman Long) [1812073] - [mm] mm: kmem: rename (__)memcg_kmem_(un)charge_memcg() to __memcg_kmem_(un)charge() (Waiman Long) [1812073] - [mm] mm: memcg/slab: cache page number in memcg_(un)charge_slab() (Waiman Long) [1812073] - [mm] mm: kmem: switch to nr_pages in (__)memcg_kmem_charge_memcg() (Waiman Long) [1812073] - [mm] mm: kmem: rename memcg_kmem_(un)charge() into memcg_kmem_(un)charge_page() (Waiman Long) [1812073] - [mm] mm: kmem: cleanup memcg_kmem_uncharge_memcg() arguments (Waiman Long) [1812073] - [mm] mm: kmem: cleanup (__)memcg_kmem_charge_memcg() arguments (Waiman Long) [1812073] - [mm] mm: memcg/slab: use mem_cgroup_from_obj() (Waiman Long) [1812073] - [kernel] mm: fork: fix kernel_stack memcg stats for various stack implementations (Waiman Long) [1812073] - [mm] memcg: fix NULL pointer dereference in __mem_cgroup_usage_unregister_event (Waiman Long) [1812073] - [mm] mm: clean up and clarify lruvec lookup procedure (Waiman Long) [1812073] - [mm] mm: memcontrol: try harder to set a new memory.high (Waiman Long) [1812073] - [mm] mm: memcontrol: remove dead code from memory_max_write() (Waiman Long) [1812073] - [mm] mm, memcg: clean up reclaim iter array (Waiman Long) [1812073] - [mm] mm, memcg: make scan aggression always exclude protection (Waiman Long) [1812073] - [mm] mm, memcg: make memory.emin the baseline for utilisation determination (Waiman Long) [1812073] - [mm] mm, memcg: proportional memory.{low, min} reclaim (Waiman Long) [1812073] - [mm] memcg, kmem: do not fail __GFP_NOFAIL charges (Waiman Long) [1812073] - [mm] mm: workingset: fix vmstat counters for shadow nodes (Waiman Long) [1812073] - [mm] mm: memcontrol: use CSS_TASK_ITER_PROCS at mem_cgroup_scan_tasks() (Waiman Long) [1812073] - [kernel] fork, memcg: alloc_thread_stack_node needs to set tsk->stack (Waiman Long) [1812073] - [mm] mm/memcontrol.c: fix bad line in comment (Waiman Long) [1812073] - [kernel] fork, memcg: fix cached_stacks case (Waiman Long) [1812073] - [mm] mm: don't raise MEMCG_OOM event due to failed high-order allocation (Waiman Long) [1812073] - [mm] mm: vmscan: memcontrol: remove mem_cgroup_select_victim_node() (Waiman Long) [1812073] - [mm] mm: vmscan: do not share cgroup iteration between reclaimers (Waiman Long) [1812073] - [mm] mm: vmscan: do not iterate all mem cgroups for global direct reclaim (Waiman Long) [1812073] - [mm] mm: workingset: use cheaper __inc_lruvec_state in irqsafe node reclaim (Waiman Long) [1812073] - [tools] xarray: Fix early termination of xas_for_each_marked (Waiman Long) [1812073] - [lib] mm: Convert workingset to XArray (Waiman Long) [1812073] - [mm] page cache: Convert filemap_range_has_page to XArray (Waiman Long) [1812073] - [mm] page cache: Remove stray radix comment (Waiman Long) [1812073] - [mm] page cache: Convert delete_batch to XArray (Waiman Long) [1812073] - [mm] page cache: Convert filemap_map_pages to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_entries_tag to XArray (Waiman Long) [1812073] - [mm] page cache; Convert find_get_pages_range_tag to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_pages_contig to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_pages_range to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_entries to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_entry to XArray (Waiman Long) [1812073] - [mm] page cache: Convert page deletion to XArray (Waiman Long) [1812073] - [include] page cache: Add and replace pages using the XArray (Waiman Long) [1812073] - [mm] page cache: Convert hole search to XArray (Waiman Long) [1812073] - [kernel] docs: cgroup-v1: Document the cpuset_v2_mode mount option (Waiman Long) [1812073] - [kernel] cgroup1: don't call release_agent when it is "" (Waiman Long) [1812073] - [kernel] cgroup: Iterate tasks that did not finish do_exit() (Waiman Long) [1812073] - [kernel] cgroup: cgroup_procs_next should increase position index (Waiman Long) [1812073] - [kernel] cgroup-v1: cgroup_pidlist_next should update position index (Waiman Long) [1812073] - [kernel] cgroup: init_tasks shouldn't be linked to the root cgroup (Waiman Long) [1812073] - [kernel] cgroup: Prevent double killing of css when enabling threaded cgroup (Waiman Long) [1812073] - [kernel] cgroup: fix function name in comment (Waiman Long) [1812073] - [kernel] cgroup: freezer: don't change task and cgroups status unnecessarily (Waiman Long) [1812073] - [kernel] cgroup: use cgroup->last_bstat instead of cgroup->bstat_pending for consistency (Waiman Long) [1812073] - [kernel] cgroup: remove cgroup_enable_task_cg_lists() optimization (Waiman Long) [1812073] - [kernel] cgroup: pids: use atomic64_t for pids->limit (Waiman Long) [1812073] - [kernel] cgroup: Optimize single thread migration (Waiman Long) [1812073] - [kernel] cgroup: Update comments about task exit path (Waiman Long) [1812073] - [kernel] cgroup: short-circuit current_cgns_cgroup_from_root() on the default hierarchy (Waiman Long) [1812073] - [kernel] Use kvmalloc in cgroups-v1 (Waiman Long) [1812073] - [kernel] cgroup: minor tweak for logic to get cgroup css (Waiman Long) [1812073] - [kernel] cgroup: Replace a seq_printf() call by seq_puts() in cgroup_print_ss_mask() (Waiman Long) [1812073] - [kernel] cgroup: Fix css_task_iter_advance_css_set() cset skip condition (Waiman Long) [1812073] - [kernel] cgroup: css_task_iter_skip()'d iterators must be advanced before accessed (Waiman Long) [1812073] - [include] cgroup: Include dying leaders with live threads in PROCS iterations (Waiman Long) [1812073] - [kernel] cgroup: Implement css_task_iter_skip() (Waiman Long) [1812073] - [kernel] cgroup/pids: turn cgroup_subsys->free() into cgroup_subsys->release() to fix the accounting (Waiman Long) [1586281 1812073] - [platform] intel-speed-select: Firmware workarounds for Icelake (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Fix invalid core mask (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Increase CPU count (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Fix json perf-profile output output (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Update version (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Enable clos for turbo-freq enable (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Check support status before enable (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Change debug to error (Prarit Bhargava) [1840289] - [platform] intel_speed_select: internal-only-debug-patch (Prarit Bhargava) [1840289]- [nvdimm] libnvdimm/region: Fix build error (Diego Domingos) [1779218] - [nvdimm] libnvdimm/region: Introduce an 'align' attribute (Diego Domingos) [1779218] - [nvdimm] libnvdimm/region: Introduce NDD_LABELING (Diego Domingos) [1779218] - [nvdimm] libnvdimm/namespace: Enforce memremap_compat_align() (Diego Domingos) [1779218] - [nvdimm] libnvdimm/pfn: Prevent raw mode fallback if pfn-infoblock valid (Diego Domingos) [1779218] - [mm] mm/memremap_pages: Introduce memremap_compat_align() (Diego Domingos) [1779218] - [x86] x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Fix error handling in __unwind_start() (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Fix premature unwind stoppage due to IRET frames (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Fix error path for bad ORC entry type (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Prevent unwinding before ORC initialization (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Don't skip the first frame for inactive tasks (Josh Poimboeuf) [1755143] - [x86] x86/unwind: Prevent false warnings for non-current tasks (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Convert global variables to static (Josh Poimboeuf) [1755143] - [x86] x86/entry/64: Fix unwind hints in rewind_stack_do_exit() (Josh Poimboeuf) [1755143] - [x86] x86/entry/64: Fix unwind hints in __switch_to_asm() (Josh Poimboeuf) [1755143] - [x86] x86/entry/64: Fix unwind hints in kernel exit path (Josh Poimboeuf) [1755143] - [x86] x86/entry/64: Fix unwind hints in register clearing code (Josh Poimboeuf) [1755143] - [tools] objtool: Fix stack offset tracking for indirect CFAs (Josh Poimboeuf) [1755143] - [s390] s390: nvme reipl (Philipp Rudo) [1525179] - [s390] s390: nvme ipl (Philipp Rudo) [1525179] - [infiniband] RDMA/bnxt_re: make bnxt_re_ib_init static (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Wait for all the CQ events before freeing CQ data structures (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove unnecessary sched count (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Fix lifetimes in bnxt_re_task (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Use ib_device_try_get() (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove a redundant 'memset' (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove set but not used variables 'pg' and 'idx' (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove set but not used variable 'dev_attr' (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove set but not used variable 'pg_size' (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Use driver_unregister and unregistration API (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor device add/remove functionalities (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Using vmalloc requires including vmalloc.h (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: use ibdev based message printing functions (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor doorbell management functions (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor notification queue management code (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor command queue management code (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor net ring allocation function (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor hardware queue memory allocation (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Replace chip context structure with pointer (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor queue pair creation code (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: remove ioremap_nocache and devm_ioremap_nocache (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Enable SRIOV VF support on Broadcom's 57500 adapter series (Selvin Xavier) [1790622] - [netdrv] net: be2net: reject unsupported coalescing params (Petr Oros) [1790633] - [netdrv] treewide: Use sizeof_field() macro (Petr Oros) [1790633] - [netdrv] net: emulex: benet: indent a Kconfig depends continuation line (Petr Oros) [1790633] - [infiniband] i40iw: fix null pointer dereference on a null wqe pointer (Stefan Assmann) [1839718] - [infiniband] RDMA/providers: Fix return value when QP type isn't supported (Stefan Assmann) [1839718] - [infiniband] RDMA: Replace zero-length array with flexible-array member (Stefan Assmann) [1839718] - [infiniband] i40iw: Do an RCU lookup in i40iw_add_ipv4_addr (Stefan Assmann) [1839718] - [infiniband] IB/core: Introduce ib_reg_user_mr (Stefan Assmann) [1839718] - [infiniband] RDMA/i40iw: fix a potential NULL pointer dereference (Stefan Assmann) [1839718] - [infiniband] i40iw: Remove setting of VMA private data and use rdma_user_mmap_io (Stefan Assmann) [1839718] - [infiniband] RDMA/i40iw: Fix potential use after free (Stefan Assmann) [1839718] - [powerpc] powerpc/pseries: Fix of_read_drc_info_cell() to point at next record (Diego Domingos) [1779198] - [powerpc] powerpc/pseries: Enable support for ibm, drc-info property (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Correctly match ibm, my-drc-index to drc-name when using drc-info (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Avoid a sometimes-uninitialized warning (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Annotate and correctly byte swap DRC properties (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Add drc-info support for hotplug slot registration (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Don't rely on firmware feature to imply drc-info support (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Fix up pointer to first drc-info entry (Diego Domingos) [1779198] - [powerpc] powerpc/pseries: Add cpu DLPAR support for drc-info property (Diego Domingos) [1779198] - [powerpc] powerpc/pseries: Fix drc-info mappings of logical cpus to drc-index (Diego Domingos) [1779198] - [powerpc] powerpc/pseries: Fix bad drc_index_start value parsing of drc-info entry (Diego Domingos) [1779198] - [kernel] sched/fair: Optimize enqueue_task_fair() (Phil Auld) [1780466] - [kernel] sched/fair: Fix enqueue_task_fair() warning some more (Phil Auld) [1780466] - [kernel] sched/fair: Fix enqueue_task_fair warning (Phil Auld) [1780466] - [kernel] sched/fair: Fix reordering of enqueue/dequeue_task_fair() (Phil Auld) [1780466] - [kernel] sched/fair: Reorder enqueue/dequeue_task_fair path (Phil Auld) [1780466] - [fs] ceph: demote quotarealm lookup warning to a debug message (Jeff Layton) [1827767] - [fs] ceph: fix double unlock in handle_cap_export() (Jeff Layton) [1827767] - [fs] ceph: fix special error code in ceph_try_get_caps() (Jeff Layton) [1827767] - [fs] ceph: fix endianness bug when handling MDS session feature bits (Jeff Layton) [1827767] - [fs] ceph: fix potential bad pointer deref in async dirops cb's (Jeff Layton) [1827767] - [block] rbd: don't mess with a page vector in rbd_notify_op_lock() (Jeff Layton) [1827767] - [block] rbd: don't test rbd_dev->opts in rbd_dev_image_release() (Jeff Layton) [1827767] - [block] rbd: call rbd_dev_unprobe() after unwatching and flushing notifies (Jeff Layton) [1827767] - [block] rbd: avoid a deadlock on header_rwsem when flushing notifies (Jeff Layton) [1827767] - [fs] ceph: fix snapshot directory timestamps (Jeff Layton) [1827767] - [fs] ceph: wait for async creating inode before requesting new max size (Jeff Layton) [1827767] - [fs] ceph: don't skip updating wanted caps when cap is stale (Jeff Layton) [1827767] - [fs] ceph: request new max size only when there is auth cap (Jeff Layton) [1827767] - [fs] ceph: cleanup return error of try_get_cap_refs() (Jeff Layton) [1827767] - [fs] ceph: return ceph_mdsc_do_request() errors from __get_parent() (Jeff Layton) [1827767] - [fs] ceph: check all mds' caps after page writeback (Jeff Layton) [1827767] - [fs] ceph: update i_requested_max_size only when sending cap msg to auth mds (Jeff Layton) [1827767] - [fs] ceph: simplify calling of ceph_get_fmode() (Jeff Layton) [1827767] - [fs] ceph: remove delay check logic from ceph_check_caps() (Jeff Layton) [1827767] - [fs] ceph: consider inode's last read/write when calculating wanted caps (Jeff Layton) [1827767] - [fs] ceph: always renew caps if mds_wanted is insufficient (Jeff Layton) [1827767] - [fs] ceph: update dentry lease for async create (Jeff Layton) [1827767] - [fs] ceph: attempt to do async create when possible (Jeff Layton) [1827767] - [fs] ceph: cache layout in parent dir on first sync create (Jeff Layton) [1827767] - [fs] ceph: add new MDS req field to hold delegated inode number (Jeff Layton) [1827767] - [fs] ceph: decode interval_sets for delegated inos (Jeff Layton) [1827767] - [fs] ceph: make ceph_fill_inode non-static (Jeff Layton) [1827767] - [fs] ceph: perform asynchronous unlink if we have sufficient caps (Jeff Layton) [1827767] - [fs] ceph: don't take refs to want mask unless we have all bits (Jeff Layton) [1827767] - [fs] ceph: cap tracking for async directory operations (Jeff Layton) [1827767] - [fs] ceph: make __take_cap_refs non-static (Jeff Layton) [1827767] - [fs] ceph: add infrastructure for waiting for async create to complete (Jeff Layton) [1827767] - [fs] ceph: track primary dentry link (Jeff Layton) [1827767] - [fs] ceph: add flag to designate that a request is asynchronous (Jeff Layton) [1827767] - [fs] ceph: more caps.c lockdep assertions (Jeff Layton) [1827767] - [fs] ceph: clean up kick_flushing_inode_caps() (Jeff Layton) [1827767] - [net] libceph: directly skip to the end of redirect reply (Jeff Layton) [1827767] - [net] libceph: simplify ceph_monc_handle_map() (Jeff Layton) [1827767] - [fs] ceph: return ETIMEDOUT errno to userland when request timed out (Jeff Layton) [1827767] - [fs] ceph: re-org copy_file_range and fix some error paths (Jeff Layton) [1827767] - [fs] ceph: move to a dedicated slabcache for mds requests (Jeff Layton) [1827767] - [fs] ceph: reorganize fields in ceph_mds_request (Jeff Layton) [1827767] - [fs] ceph: replace zero-length array with flexible-array member (Jeff Layton) [1827767] - [block] rbd: enable multiple blk-mq queues (Jeff Layton) [1827767] - [block] rbd: embed image request in blk-mq pdu (Jeff Layton) [1827767] - [block] rbd: acquire header_rwsem just once in rbd_queue_workfn() (Jeff Layton) [1827767] - [block] rbd: get rid of img_request_layered_clear() (Jeff Layton) [1827767] - [block] rbd: kill img_request kref (Jeff Layton) [1827767] - [fs] ceph: check if file lock exists before sending unlock request (Jeff Layton) [1827767] - [fs] ceph: move ceph_osdc_{read, write}pages to ceph.ko (Jeff Layton) [1827767] - [fs] ceph: don't ClearPageChecked in ceph_invalidatepage() (Jeff Layton) [1827767] - [block] rbd: remove barriers from img_request_layered_{set, clear, test}() (Jeff Layton) [1827767] - [fs] libceph: drop CEPH_DEFINE_SHOW_FUNC (Jeff Layton) [1827767] - [fs] ceph: check inode type for CEPH_CAP_FILE_{CACHE, RD, REXTEND, LAZYIO} (Jeff Layton) [1827767] - [fs] ceph: add refcounting for Fx caps (Jeff Layton) [1827767] - [fs] ceph: register MDS request with dir inode from the start (Jeff Layton) [1827767] - [fs] ceph: fix memory leak in ceph_cleanup_snapid_map() (Jeff Layton) [1827767] - [net] libceph: fix alloc_msg_with_page_vector() memory leaks (Jeff Layton) [1827767] - [include] ceph: check POOL_FLAG_FULL/NEARFULL in addition to OSDMAP_FULL/NEARFULL (Jeff Layton) [1827767] - [fs] ceph: canonicalize server path in place (Jeff Layton) [1827767] - [fs] ceph: do not execute direct write in parallel if O_APPEND is specified (Jeff Layton) [1827767] - [block] rbd: set the 'device' link in sysfs (Jeff Layton) [1827767] - [fs] ceph: move net/ceph/ceph_fs.c to fs/ceph/util.c (Jeff Layton) [1827767] - [fs] ceph: print name of xattr in __ceph_{get, set}xattr() douts (Jeff Layton) [1827767] - [fs] ceph: print r_direct_hash in hex in __choose_mds() dout (Jeff Layton) [1827767] - [fs] ceph: use copy-from2 op in copy_file_range (Jeff Layton) [1827767] - [fs] ceph: close holes in structs ceph_mds_session and ceph_mds_request (Jeff Layton) [1827767] - [block] rbd: work around -Wuninitialized warning (Jeff Layton) [1827767] - [fs] ceph: allocate the correct amount of extra bytes for the session features (Jeff Layton) [1827767] - [fs] ceph: rename get_session and switch to use ceph_get_mds_session (Jeff Layton) [1827767] - [fs] ceph: remove the extra slashes in the server path (Jeff Layton) [1827767] - [fs] ceph: add possible_max_rank and make the code more readable (Jeff Layton) [1827767] - [fs] ceph: print dentry offset in hex and fix xattr_version type (Jeff Layton) [1827767] - [fs] ceph: only touch the caps which have the subset mask requested (Jeff Layton) [1827767] - [fs] ceph: don't clear I_NEW until inode metadata is fully populated (Jeff Layton) [1827767] - [fs] ceph: retry the same mds later after the new session is opened (Jeff Layton) [1827767] - [fs] ceph: check availability of mds cluster on mount after wait timeout (Jeff Layton) [1827767] - [fs] ceph: keep the session state until it is released (Jeff Layton) [1827767] - [fs] ceph: add __send_request helper (Jeff Layton) [1827767] - [fs] ceph: ensure we have a new cap before continuing in fill_inode (Jeff Layton) [1827767] - [fs] ceph: drop unused ttl_from parameter from fill_inode (Jeff Layton) [1827767] - [fs] ceph: fix possible long time wait during umount (Jeff Layton) [1827767] - [fs] ceph: only choose one MDS who is in up:active state without laggy (Jeff Layton) [1827767] - [fs] ceph: fix mdsmap cluster available check based on laggy number (Jeff Layton) [1827767] - [fs] ceph: remove unnecessary assignment in ceph_pre_init_acls() (Jeff Layton) [1827767] - [fs] ceph: delete redundant douts in con_get/put() (Jeff Layton) [1827767] - [fs] ceph: hold extra reference to r_parent over life of request (Jeff Layton) [1827767] - [fs] ceph: add more debug info when decoding mdsmap (Jeff Layton) [1827767] - [fs] ceph: switch to global cap helper (Jeff Layton) [1827767] - [fs] ceph: trigger the reclaim work once there has enough pending caps (Jeff Layton) [1827767] - [fs] ceph: show tasks waiting on caps in debugfs caps file (Jeff Layton) [1827767] - [fs] fs: ceph: Delete timespec64_trunc() usage (Jeff Layton) [1827767] - [block] rbd: ask for a weaker incompat mask for read-only mappings (Jeff Layton) [1827767] - [block] rbd: don't query snapshot features (Jeff Layton) [1827767] - [block] rbd: remove snapshot existence validation code (Jeff Layton) [1827767] - [block] rbd: don't establish watch for read-only mappings (Jeff Layton) [1827767] - [block] rbd: don't acquire exclusive lock for read-only mappings (Jeff Layton) [1827767] - [block] rbd: disallow read-write partitions on images mapped read-only (Jeff Layton) [1827767] - [block] rbd: treat images mapped read-only seriously (Jeff Layton) [1827767] - [block] rbd: introduce RBD_DEV_FLAG_READONLY (Jeff Layton) [1827767] - [block] rbd: introduce rbd_is_snap() (Jeff Layton) [1827767] - [fs] ceph: don't leave ino field in ceph_mds_request_head uninitialized (Jeff Layton) [1827767] - [fs] ceph: tone down loglevel on ceph_mdsc_build_path warning (Jeff Layton) [1827767] - [fs] ceph: fix geting random mds from mdsmap (Jeff Layton) [1827767] - [block] rbd: fix spelling mistake "requeueing" -> "requeuing" (Jeff Layton) [1827767] - [fs] ceph: make several helper accessors take const pointers (Jeff Layton) [1827767] - [net] libceph: drop unnecessary check from dispatch() in mon_client.c (Jeff Layton) [1827767] - [fs] ceph: don't allow copy_file_range when stripe_count != 1 (Jeff Layton) [1827767] - [fs] ceph: allow object copies across different filesystems in the same cluster (Jeff Layton) [1827767] - [fs] ceph: pass filp to ceph_get_caps() (Jeff Layton) [1827767] - [fs] ceph: allow copy_file_range when src and dst inode are same (Jeff Layton) [1827767] - [fs] ceph: increment change_attribute on local changes (Jeff Layton) [1827767] - [fs] ceph: make 'nocopyfrom' a default mount option (Jeff Layton) [1827767] - [fs] vfs: allow copy_file_range to copy across devices (Jeff Layton) [1827767] - [fs] vfs: no fallback for ->copy_file_range (Jeff Layton) [1827767] - [fs] ceph: add destination file data sync before doing any remote copy (Jeff Layton) [1827767] - [fs] ceph: new mount option to disable usage of copy-from op (Jeff Layton) [1827767] - [fs] ceph: support copy_file_range file operation (Jeff Layton) [1827767] - [include] libceph: support the RADOS copy-from operation (Jeff Layton) [1827767] - [fs] cachefiles: Fix race between read_waiter and read_copier involving op->to_do (Dave Wysochanski) [1832644] - [char] security: keys: trusted: fix lost handle flush (Jerry Snitselaar) [1815609] - [security] KEYS: trusted: Remove set but not used variable 'keyhndl' (Jerry Snitselaar) [1815609] - [char] KEYS: trusted: Move TPM2 trusted keys code (Jerry Snitselaar) [1815609] - [security] KEYS: trusted: Create trusted keys subsystem (Jerry Snitselaar) [1815609] - [security] KEYS: Use common tpm_buf for trusted and asymmetric keys (Jerry Snitselaar) [1815609] - [char] tpm: Move tpm_buf code to include/linux/ (Jerry Snitselaar) [1815609] - [char] tpm/tpm_tis: Free IRQ if probing fails (Jerry Snitselaar) [1815609 1788758] - [char] tpm: Revert tpm_tis_spi_mod.ko to tpm_tis_spi.ko (Jerry Snitselaar) [1815609 1788758] - [char] tpm: Add tpm_version_major sysfs file (Jerry Snitselaar) [1815609] - [char] tpm: Handle negative priv->response_len in tpm_common_read() (Jerry Snitselaar) [1815609] - [char] tpm: fix invalid locking in NONBLOCKING mode (Jerry Snitselaar) [1815609] - [char] tpm_crb: fix fTPM on AMD Zen+ CPUs (Jerry Snitselaar) [1815609] - [char] tpm: use GFP_KERNEL instead of GFP_HIGHMEM for tpm_buf (Jerry Snitselaar) [1815609] - [char] tpm: add check after commands attribs tab allocation (Jerry Snitselaar) [1815609] - [char] tpm: tpm_tis_spi: Drop THIS_MODULE usage from driver struct (Jerry Snitselaar) [1815609 1788758] - [char] tpm: tpm_tis_spi: Cleanup includes (Jerry Snitselaar) [1815609 1788758] - [char] tpm: tpm_tis_spi: Support cr50 devices (Jerry Snitselaar) [1815609 1788758] - [char] tpm: tpm_tis_spi: Introduce a flow control callback (Jerry Snitselaar) [1815609 1788758] - [char] tpm: Add a flag to indicate TPM power is managed by firmware (Jerry Snitselaar) [1815609] - [char] tpm_tis: override durations for STM tpm with firmware 1.2.8.28 (Jerry Snitselaar) [1815609 1788758] - [char] tpm: provide a way to override the chip returned durations (Jerry Snitselaar) [1815609] - [char] tpm: Remove duplicate code from caps_show() in tpm-sysfs.c (Jerry Snitselaar) [1815609 1788758] - [char] tpm: tpm2_bios_measurements_next should increase position index (Jerry Snitselaar) [1815609 1795739] - [char] tpm: tpm1_bios_measurements_next should increase position index (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Don't make log failures fatal (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Initialize crypto_id of allocated_banks to HASH_ALGO__LAST (Jerry Snitselaar) [1815609 1795739] - [include] efi/tpm: Don't access event->count when it isn't mapped (Jerry Snitselaar) [1815609 1795739] - [firmware] efi/tpm: Return -EINVAL when determining tpm final events log size fails (Jerry Snitselaar) [1815609 1795739] - [firmware] efi/tpm: Fix sanity check of unsigned tbl_size being less than zero (Jerry Snitselaar) [1815609 1795739] - [firmware] efi/tpm: Only set 'efi_tpm_final_log_size' after successful event log parsing (Jerry Snitselaar) [1815609 1795739] - [firmware] efi/tpm: Don't traverse an event log with no events (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Don't duplicate events from the final event log in the TCG2 log (Jerry Snitselaar) [1815609 1795739] - [firmware] Abstract out support for locating an EFI config table (Jerry Snitselaar) [1815609 1795739] - [firmware] efi: Attempt to get the TCG2 event log in the boot stub (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Append the final event log to the TPM event log (Jerry Snitselaar) [1815609 1795739] - [firmware] tpm: Reserve the TPM final events table (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Abstract crypto agile event size calculations (Jerry Snitselaar) [1815609 1795739] - [netdrv] bnx2x: Fix accounting of vlan resources among the PFs (Manish Chopra) [1791026] - [netdrv] bnx2x: Use appropriate define for vlan credit (Manish Chopra) [1791026] - [netdrv] bnx2x: Fix logic to get total no. of PFs per engine (Manish Chopra) [1791026] - [netdrv] bnx2x: Do not handle requests from VFs after parity (Manish Chopra) [1791026] - [netdrv] qed: remove redundant assignment to variable 'rc' (Manish Chopra) [1791024] - [netdrv] qed: Fix use after free in qed_chain_free (Manish Chopra) [1791024] - [netdrv] qed: Fix race condition between scheduling and destroying the slowpath workqueue (Manish Chopra) [1791024] - [netdrv] qede: remove some unused code in function qede_selftest_receive_traffic (Manish Chopra) [1791024] - [netdrv] qede: Fix race between rdma destroy workqueue and link change event (Manish Chopra) [1791024] - [netdrv] qed: Fix timestamping issue for L2 unicast ptp packets (Manish Chopra) [1791024] - [netdrv] qed: Remove set but not used variable 'p_link' (Manish Chopra) [1791024] - [netdrv] qed: Fix a error code in qed_hw_init() (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 debug features (Manish Chopra) [1791024] - [netdrv] qed: rt init valid initialization changed (Manish Chopra) [1791024] - [netdrv] qed: Debug feature: ilt and mdump (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Add fw overlay feature (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 HSI changes (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 iscsi/fcoe changes (Manish Chopra) [1791024] - [netdrv] qed: Add abstraction for different hsi values per chip (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Additional ll2 type (Manish Chopra) [1791024] - [netdrv] qed: Use dmae to write to widebus registers in fw_funcs (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Parser offsets modified (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Queue Manager changes (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Expose new registers and change windows (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Internal ram offsets modifications (Manish Chopra) [1791024] - [netdrv] qede: Disable hardware gro when xdp prog is installed (Manish Chopra) [1791024] - [netdrv] qed: remove redundant assignments to rc (Manish Chopra) [1791024] - [netdrv] qed: Optimize execution time for nvm attributes configuration (Manish Chopra) [1791024] - [netdrv] qed: fix spelling mistake "queuess" -> "queues" (Manish Chopra) [1791024] - [fs] fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info() (Bhupesh Sharma) [1832060] {CVE-2020-10732} - [tty] vt: selection, push sel_lock up (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: selection, push console lock down (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [staging] staging: speakup: refactor to use existing code in vt (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: selection: allow functions to be called from inside kernel (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: don't reinvent min() (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: selection, close sel_buffer race (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: fix broken display when running aptitude (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: selection: take screen contents from uniscr if available (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: preserve unicode values corresponding to screen characters (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [input] Input: add safety guards to input_set_keycode() (Chris von Recklinghausen) [1828223] {CVE-2019-20636}- [scsi] scsi: bnx2i: fix potential use after free (Nilesh Javali) [1792114] - [tools] perf python: Fix clang detection to strip out options passed in $CC (Michael Petlan) [1818841] - [tools] libperf: Add counting example (Michael Petlan) [1818841] - [tools] perf report/top TUI: Fix title line formatting (Michael Petlan) [1818841] - [tools] perf probe: Do not depend on dwfl_module_addrsym() (Michael Petlan) [1818841] - [tools] perf probe: Fix to delete multiple probe event (Michael Petlan) [1818841] - [tools] perf parse-events: Fix reading of invalid memory in event parsing (Michael Petlan) [1818841] - [tools] perf python: Fix clang detection when using CC=clang-version (Michael Petlan) [1818841] - [tools] perf map: Fix off by one in strncpy() size argument (Michael Petlan) [1818841] - [tools] tools: Let O= makes handle a relative path with -C option (Michael Petlan) [1818841] - [tools] tools: Fix off-by 1 relative directory includes (Michael Petlan) [1818841] - [tools] perf jevents: Fix leak of mapfile memory (Michael Petlan) [1818841] - [tools] perf bench: Clear struct sigaction before sigaction() syscall (Michael Petlan) [1818841] - [tools] perf bench futex-wake: Restore thread count default to online CPU count (Michael Petlan) [1818841] - [tools] perf top: Fix stdio interface input handling with glibc 2.28+ (Michael Petlan) [1818841] - [tools] perf diff: Fix undefined string comparision spotted by clang's -Wstring-compare (Michael Petlan) [1818841] - [tools] perf symbols: Don't try to find a vmlinux file when looking for kernel modules (Michael Petlan) [1818841] - [tools] perf bench: Share some global variables to fix build with gcc 10 (Michael Petlan) [1818841] - [tools] perf parse-events: Use asprintf() instead of strncpy() to read tracepoint files (Michael Petlan) [1818841] - [tools] perf env: Do not return pointers to local variables (Michael Petlan) [1818841] - [tools] perf tests bp_account: Make global variable static (Michael Petlan) [1818841] - [tools] perf annotate: Fix segfault with source toggle (Michael Petlan) [1818841] - [tools] perf annotate: Align struct annotate_args (Michael Petlan) [1818841] - [tools] perf annotate: Simplify disasm_line allocation and freeing code (Michael Petlan) [1818841] - [tools] perf annotate: Remove privsize from symbol__annotate() args (Michael Petlan) [1818841] - [tools] perf probe: Check return value of strlist__add() for -ENOMEM (Michael Petlan) [1818841] - [tools] perf config: Document missing config options (Michael Petlan) [1818841] - [tools] perf annotate: Fix perf config option description (Michael Petlan) [1818841] - [tools] perf annotate: Prefer cmdline option over default config (Michael Petlan) [1818841] - [tools] perf annotate: Make perf config effective (Michael Petlan) [1818841] - [tools] perf config: Introduce perf_config_u8() (Michael Petlan) [1818841] - [tools] perf annotate: Fix --show-nr-samples for tui/stdio2 (Michael Petlan) [1818841] - [tools] perf annotate: Fix --show-total-period for tui/stdio2 (Michael Petlan) [1818841] - [tools] perf annotate/tui: Re-render title bar after switching back from script browser (Michael Petlan) [1818841] - [tools] perf arch powerpc: Sync powerpc syscall.tbl with the kernel sources (Michael Petlan) [1818841] - [tools] perf auxtrace: Add auxtrace_record__read_finish() (Michael Petlan) [1818841] - [tools] perf arm-spe: Fix endless record after being terminated (Michael Petlan) [1818841] - [tools] perf cs-etm: Fix endless record after being terminated (Michael Petlan) [1818841] - [tools] perf intel-bts: Fix endless record after being terminated (Michael Petlan) [1818841] - [tools] perf intel-pt: Fix endless record after being terminated (Michael Petlan) [1818841] - [tools] perf test: Fix test trace+probe_vfs_getname.sh on s390 (Michael Petlan) [1818841] - [tools] perf bpf: Remove bpf/ subdir from bpf.h headers used to build bpf events (Michael Petlan) [1818841] - [tools] perf llvm: Fix script used to obtain kernel make directives to work with new kbuild (Michael Petlan) [1818841] - [tools] perf tools: Add arm64 version of get_cpuid() (Michael Petlan) [1818841] - [tools] perf trace: Resolve prctl's 'option' arg strings to numbers (Michael Petlan) [1818841] - [tools] perf beauty prctl: Export the 'options' strarray (Michael Petlan) [1818841] - [tools] perf maps: Move kmap::kmaps setup to maps__insert() (Michael Petlan) [1818841] - [tools] perf maps: Fix map__clone() for struct kmap (Michael Petlan) [1818841] - [tools] perf maps: Mark ksymbol DSOs with kernel type (Michael Petlan) [1818841] - [tools] perf maps: Mark module DSOs with kernel type (Michael Petlan) [1818841] - [tools] perf symbols: Convert symbol__is_idle() to use strlist (Michael Petlan) [1818841] - [tools] perf symbols: Update the list of kernel idle symbols (Michael Petlan) [1818841] - [tools] perf stat: Don't report a null stalled cycles per insn metric (Michael Petlan) [1818841] - [tools] perf probe: Add ustring support for perf probe command (Michael Petlan) [1818841] - [tools] perf: Make perf able to build with latest libbfd (Michael Petlan) [1818841] - [tools] perf test: Fix test case Merge cpu map (Michael Petlan) [1818841] - [tools] perf parse: Copy string to perf_evsel_config_term (Michael Petlan) [1818841] - [tools] perf parse: Refactor 'struct perf_evsel_config_term' (Michael Petlan) [1818841] - [tools] perf: Use consistent include paths for libbpf (Michael Petlan) [1818841] - [tools] perf beauty sockaddr: Fix augmented syscall format warning (Michael Petlan) [1818841] - [tools] perf/ui/gtk: Fix gtk2 build (Michael Petlan) [1818841] - [tools] perf ui gtk: Add missing zalloc object (Michael Petlan) [1818841] - [tools] perf tools: Use define api.pure full instead of pure-parser (Michael Petlan) [1818841] - [tools] perf tools: Support --prefix/--prefix-strip (Michael Petlan) [1818841] - [tools] perf report: Clarify in help that --children is default (Michael Petlan) [1818841] - [tools] tools build: Fix test-clang.cpp with Clang 8+ (Michael Petlan) [1818841] - [tools] perf clang: Fix build with Clang 9 (Michael Petlan) [1818841] - [tools] tools lib: Fix builds when glibc contains strlcpy() (Michael Petlan) [1818841] - [tools] perf report/top: Make 'e' visible in the help and make it toggle showing callchains (Michael Petlan) [1818841] - [tools] perf report/top: Do not offer annotation for symbols without samples (Michael Petlan) [1818841] - [tools] perf report/top: Allow pressing hotkeys in the options popup menu (Michael Petlan) [1818841] - [tools] tools ui popup: Allow returning hotkeys (Michael Petlan) [1818841] - [tools] perf hists browser: Allow passing an initial hotkey (Michael Petlan) [1818841] - [tools] perf report/top: Add 'k' hotkey to zoom directly into the kernel map (Michael Petlan) [1818841] - [tools] perf hists browser: Generalize the do_zoom_dso() function (Michael Petlan) [1818841] - [tools] perf report/top: Improve toggle callchain menu option (Michael Petlan) [1818841] - [tools] perf report/top: Add menu entry for toggling callchain expansion (Michael Petlan) [1818841] - [tools] perf report/top: Make ENTER consistently bring up menu (Michael Petlan) [1818841] - [tools] perf hists browser: Restore ESC as "Zoom out" of DSO/thread/etc (Michael Petlan) [1818841] - [tools] tools lib api fs: Fix gcc9 stringop-truncation compilation error (Michael Petlan) [1818841] - [tools] libperf: Add man pages (Michael Petlan) [1818841] - [tools] libperf: Move to tools/lib/perf (Michael Petlan) [1818841] - [tools] perf tests bp_signal: Show expected versus obtained values (Michael Petlan) [1818841] - [tools] perf sched timehist: Add support for filtering on CPU (Michael Petlan) [1818841] - [tools] perf record: Adapt affinity to machines with #CPUs > 1K (Michael Petlan) [1818841] - [tools] perf mmap: Declare type for cpu mask of arbitrary length (Michael Petlan) [1818841] - [tools] tools bitmap: Implement bitmap_equal() operation at bitmap API (Michael Petlan) [1818841] - [x86] perf/amd/uncore: Replace manual sampling check with CAP_NO_INTERRUPT flag (Michael Petlan) [1818841] - [x86] perf/x86/intel: Fix inaccurate period in context switch for auto-reload (Michael Petlan) [1818841] - [x86] perf/x86/amd: Add missing L2 misses event spec to AMD Family 17h's event map (Michael Petlan) [1818841] - [x86] perf/x86/msr: Add Tremont support (Michael Petlan) [1818841] - [x86] perf/x86/cstate: Add Tremont support (Michael Petlan) [1818841] - [x86] perf/x86/intel: Add Elkhart Lake support (Michael Petlan) [1818841] - [include] kernel/events: Add a missing prototype for arch_perf_update_userpage() (Michael Petlan) [1818841] - [x86] perf/x86/amd: Add support for Large Increment per Cycle Events (Michael Petlan) [1818841] - [x86] perf/x86/amd: Constrain Large Increment per Cycle events (Michael Petlan) [1818841] - [x86] perf/x86/intel/rapl: Add Comet Lake support (Michael Petlan) [1818841] - [x86] perf/x86/intel: Explicitly include asm/io.h to use virt_to_phys() (Michael Petlan) [1818841] - [x86] x86/cpu: Add Elkhart Lake to Intel family (Michael Petlan) [1818841] - [x86] x86/timer: Don't skip PIT setup when APIC is disabled or in legacy mode (David Arcari) [1837490] - [x86] x86/intel: Disable HPET on Intel Ice Lake platforms (David Arcari) [1837490] - [x86] x86/timer: Force PIT initialization when !X86_FEATURE_ARAT (David Arcari) [1837490] - [x86] x86/timer: Skip PIT initialization on modern chipsets (David Arcari) [1837490] - [x86] x86/apic: Rename 'lapic_timer_frequency' to 'lapic_timer_period' (David Arcari) [1837490] - [x86] x86/apic: Unify duplicated local apic timer clockevent initialization (David Arcari) [1837490] - [vhost] vsock: kick send_pkt worker once device is started (Stefano Garzarella) [1835651] - [tools] redhat: update kvm/{arm, arm64} headers in tools (Gavin Shan) [1833572] - [tools] kvm: selftests: aarch64: Use stream when given (Gavin Shan) [1833572] - [virt] kvm: arm64: Fix 32bit PC wrap-around (Gavin Shan) [1833572] - [virt] kvm: arm64: vgic-v4: Initialize GICv4.1 even in the absence of a virtual ITS (Gavin Shan) [1833572] - [arm64] kvm: arm64: Save/restore sp_el0 as part of __guest_enter (Gavin Shan) [1833572] - [virt] kvm: arm64: vgic-its: Fix memory leak on the error path of vgic_add_lpi() (Gavin Shan) [1833572] - [virt] kvm: arm64: vgic-v3: Retire all pending LPIs on vcpu destroy (Gavin Shan) [1833572] - [virt] kvm: arm: vgic-v2: Only use the virtual state when userspace accesses pending bits (Gavin Shan) [1833572] - [virt] kvm: arm: vgic: Only use the virtual state when userspace accesses enable bits (Gavin Shan) [1833572] - [virt] kvm: arm: vgic: Synchronize the whole guest on GIC{D, R}_I{S, C}ACTIVER read (Gavin Shan) [1833572] - [virt] kvm: arm64: psci: Forbid 64bit functions for 32bit guests (Gavin Shan) [1833572] - [virt] kvm: arm64: psci: Narrow input registers when using 32bit functions (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Update effective affinity of virtual SGIs (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Add support for VPENDBASER's Dirty+Valid signaling (Gavin Shan) [1833572] - [virt] kvm: arm: vgic: Fix limit condition when writing to GICD_I[CS]ACTIVER (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Expose HW-based SGIs in debugfs (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Eagerly vmap vPEs (Gavin Shan) [1833572] - [arm64] kvm: arm64: gicv4.1: Allow non-trapping WFI when using HW SGIs (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Add VSGI property setup (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Reload VLPI configuration on distributor enable/disable (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Add VSGI allocation/teardown (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Plumb SGI implementation selection in the distributor (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Move doorbell management to the GICv4 abstraction layer (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Allow SGIs to switch between HW and SW interrupts (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Plumb set_vcpu_affinity SGI callbacks (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Add direct injection capability to SGI registers (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Let doorbells be auto-enabled (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Plumb get/set_irqchip_state SGI callbacks (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Plumb mask/unmask SGI callbacks (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Add initial SGI configuration (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Plumb skeletal VSGI irqchip (Gavin Shan) [1833572] - [irqchip] gic-v3: Move irq_domain_update_bus_token to after checking for NULL domain (Gavin Shan) [1833572] - [kernel] irqchip/gic-v4: Use Inner-Shareable attributes for virtual pending tables (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Map the ITS SGIR register page (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Advertise support v4.1 to KVM (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Ensure mutual exclusion betwen invalidations on the same RD (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Wait for completion of redistributor's INVALL operation (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Ensure mutual exclusion between vPE affinity change and RD access (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Skip absent CPUs while iterating over redistributors (Gavin Shan) [1833572] - [irqchip] gic-v3: Use SGIs without active state if offered (Gavin Shan) [1833572] - [irqchip] gic-v4: Provide irq_retrigger to avoid circular locking dependency (Gavin Shan) [1833572] - [irqchip] gic-v3-its: Probe ITS page size for all GITS_BASERn registers (Gavin Shan) [1833572] - [irqchip] gic-v3-its: Fix access width for gicr_syncr (Gavin Shan) [1833572] - [documentation] kvm: arm/arm64: Always capitalize ITS (Gavin Shan) [1833572] - [nvme] nvme-pci: align io queue count with allocted nvme_queue in nvme_probe (Gopal Tiwari) [1837824] - [rtc] rtc: cmos: Stop using shared IRQ (Pingfan Liu) [1829667]- [netdrv] enic: prevent waking up stopped tx queues over watchdog reset (Govindarajulu Varadarajan) [1797807] - [kernel] crash_core: Increase crashkernel=auto size for x86_64 & S390 (Kairui Song) [1746644] - [netdrv] net: iavf: reject unsupported coalescing params (Stefan Assmann) [1781341] - [netdrv] iavf: Enable support for up to 16 queues (Stefan Assmann) [1781341] - [netdrv] iavf: use tc_cls_can_offload_and_chain0() instead of chain check (Stefan Assmann) [1781341] - [netdrv] treewide: Use sizeof_field() macro (Stefan Assmann) [1781341] - [netdrv] i40e: Remove unneeded conversion to bool (Stefan Assmann) [1781334] - [netdrv] net: i40e: reject unsupported coalescing params (Stefan Assmann) [1781334] - [netdrv] intel: Replace zero-length array with flexible-array member (Stefan Assmann) [1781334] - [netdrv] i40e: Fix the conditional for i40e_vc_validate_vqs_bitmaps (Stefan Assmann) [1781334] - [netdrv] i40e: fix spelling mistake "to" -> "too" (Stefan Assmann) [1781334] - [netdrv] i40e: Set PHY Access flag on X722 (Stefan Assmann) [1781334] - [netdrv] i40e: Fix virtchnl_queue_select bitmap validation (Stefan Assmann) [1781334] - [netdrv] i40e: Removing hung_queue variable to use txqueue function parameter (Stefan Assmann) [1781334] - [netdrv] treewide: Use sizeof_field() macro (Stefan Assmann) [1781334] - [netdrv] i40e: need_wakeup flag might not be set for Tx (Stefan Assmann) [1781334] - [netdrv] i40e: Fix receive buffer starvation for AF_XDP (Stefan Assmann) [1781334] - [netdrv] i40e: fix potential RX buffer starvation for AF_XDP (Stefan Assmann) [1781334] - [block] null_blk: Fix changing the number of hardware queues (Ming Lei) [1835602] - [block] block: reset mapping if failed to update hardware queue count (Ming Lei) [1835602] - [block] block: alloc map and request for new hardware queue (Ming Lei) [1835602] - [block] block: save previous hardware queue count before udpate (Ming Lei) [1835602] - [block] block: free both rq_map and request (Ming Lei) [1835602] - [block] blk-mq: Fix a recently introduced regression in blk_mq_realloc_hw_ctxs() (Ming Lei) [1835602] - [documentation] Documentation: admin-guide: PM: Add intel_idle document (Steve Best) [1485545] - [idle] intel_idle: Use ACPI _CST on server systems (Steve Best) [1485545] - [idle] intel_idle: Add module parameter to prevent ACPI _CST from being used (Steve Best) [1485545] - [idle] intel_idle: Allow ACPI _CST to be used for selected known processors (Steve Best) [1485545] - [idle] intel_idle: Use ACPI _CST for processor models without C-state tables (Steve Best) [1485545] - [idle] intel_idle: Refactor intel_idle_cpuidle_driver_init() (Steve Best) [1485545] - [infiniband] RDMA/uverbs: Move IB_EVENT_DEVICE_FATAL to destroy_uobj (Kamal Heib) [1786608] - [infiniband] RDMA/uverbs: Do not discard the IB_EVENT_DEVICE_FATAL event (Kamal Heib) [1786608] - [infiniband] RDMA/core: Fix double put of resource (Kamal Heib) [1786608] - [infiniband] IB/core: Fix potential NULL pointer dereference in pkey cache (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Fix another case where pq is left on waitlist (Kamal Heib) [1786608] - [infiniband] RDMA/rxe: Always return ERR_PTR from rxe_create_mmap_info() (Kamal Heib) [1786608] - [infiniband] RDMA/core: Fix race between destroy and release FD object (Kamal Heib) [1786608] - [infiniband] IB/rdmavt: Always return ERR_PTR from rvt_create_mmap_info() (Kamal Heib) [1786608] - [infiniband] RDMA/core: Fix overwriting of uobj in case of error (Kamal Heib) [1786608] - [infiniband] RDMA/core: Prevent mixed use of FDs between shared ufiles (Kamal Heib) [1786608] - [infiniband] RDMA/uverbs: Fix a race with disassociate and exit_mmap() (Kamal Heib) [1786608] - [infiniband] RDMA/siw: Fix potential siw_mem refcnt leak in siw_fastreg_mr() (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Fix an error check in cm_alloc_id_priv() (Kamal Heib) [1786608] - [net] svcrdma: Fix trace point use-after-free race (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Call kobject_put() when kobject_init_and_add() fails (Kamal Heib) [1786608] - [infiniband] RDMA/rxe: Set sys_image_guid to be aligned with HW IB devices (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Use scnprintf() for avoiding potential buffer overflow (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Remove kobj from hfi1_devdata (Kamal Heib) [1786608] - [infiniband] IB/rdmavt: Delete unused routine (Kamal Heib) [1786608] - [infiniband] RDMA/rxe: Fix configuration of atomic queue pair attributes (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Fix memory leaks in sysfs registration and unregistration (Kamal Heib) [1819051 1786608] - [net] svcrdma: Fix leak of transport addresses (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow (Kamal Heib) [1786608] - [infiniband] RDMA/siw: Suppress uninitialized var warning (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Add missing locking around id.state in cm_dup_req_handler (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Read id.state under lock when doing pr_debug() (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Remove a race freeing timewait_info (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Fix checking for allowed duplicate listens (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Fix ordering of xa_alloc_cyclic() in ib_create_cm_id() (Kamal Heib) [1786608] - [net] svcrdma: Fix double svc_rdma_send_ctxt_put() in an error path (Kamal Heib) [1786608] - [infiniband] RDMA/core: Remove the duplicate header file (Kamal Heib) [1786608] - [infiniband] RDMA/siw: Fix passive connection establishment (Kamal Heib) [1786608] - [infiniband] RDMA/ucma: Put a lock around every call to the rdma_cm layer (Kamal Heib) [1786608] - [infiniband] RDMA/siw: Fix setting active_{speed, width} attributes (Kamal Heib) [1798583 1786608] - [scsi] qla2xxx: Update driver version to 10.01.00.25.08.3-k (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Delete all sessions before unregister local nvme port (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: make 1-bit bit-fields unsigned int (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix MPI failure AEN (8200) handling (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Move free of fcport out of interrupt context (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix I/Os being passed down when FC device is being deleted (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Set Nport ID for N2N (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Handle NVME status iocb correctly (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Remove restriction of FC T10-PI and FC-NVMe (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Serialize fc_port alloc in N2N (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix NPIV instantiation after FW dump (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Force semaphore on flash validation failure (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: add more FW debug information (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Update BPM enablement semantics (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use a dedicated interrupt handler for 'handshake-required' ISPs (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Return appropriate failure through BSG Interface (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix FCP-SCSI FC4 flag passing error (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add 16.0GT for PCI String (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use QLA_FW_STOPPED macro to propagate flag (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add fixes for mailbox command (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix control flags for login/logout IOCB (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Save rscn_gen for new fcport (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use correct ISP28xx active FW region (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use endian macros to assign static fields in fwdump header (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add endianizer macro calls to fc host stats (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use get_unaligned_*() instead of open-coding these functions (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix the endianness of the qla82xx_get_fw_size() return type (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Improve readability of the code that handles qla_flt_header (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix mtcp dump collection failure (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix stuck session in GNL (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix RIDA Format-2 (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Consolidate fabric scan (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Correct fcport flags handling (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix stuck login session using prli_pend_timer (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use common routine to free fcport struct (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add D-Port Diagnostic reason explanation logs (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix update_fcport for current_topology (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Cleanup unused async_logout_done (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add a shadow variable to hold disc_state history of fcport (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Retry PLOGI on FC-NVMe PRLI failure (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix fabric scan hang (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Remove defer flag to indicate immeadiate port loss (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add debug dump of LOGO payload and ELS IOCB (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Ignore PORT UPDATE after N2N PLOGI (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Don't defer relogin unconditonally (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Send Notify ACK after N2N PLOGI (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Configure local loop for N2N target (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix PLOGI payload and ELS IOCB dump length (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Don't call qlt_async_event twice (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Allow PLOGI in target mode (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Change discovery state before PLOGI (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Drop superfluous INIT_WORK of del_work (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Initialize free_work before flushing it (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use explicit LOGO in target mode (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Ignore NULL pointer in tcm_qla2xxx_free_mcmd (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: unregister ports after GPN_FT failure (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan (Nilesh Javali) [1789526] - [s390] s390/kexec_file: fix initrd location for kdump kernel (Lianbo Jiang) [1835097]- [sound] ALSA: ALSA - update sound configuration (Jaroslav Kysela) [1797509] - [sound] ALSA: Revert "ALSA: Use the legacy HDA driver as default for Intel DSP platforms" (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: IPC: dai-intel: move ALH declarations in header file (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: add core id to sof_ipc_comp (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: bump the version (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: add alac & ape decoder params (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: Add wma decoder params (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: add wma codec profiles (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove X86 dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: depend on ACPI || OF (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: depend on ACPI (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix regmap dependencies and align with other serial links (Jaroslav Kysela) [1797509] - [sound] ALSA: treewide: Add SPDX license identifier - Makefile/Kconfig (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix kconfig help format (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: Kconfig: fix help format (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove useless prototypes (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi_disco: Switch to use fwnode_property_count_uXX() (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: don't program ports when a stream that has not been prepared (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix support for multiple Slaves on the same link (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: do not update parameters during DISABLED-PREPARED transition (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: only prepare stream when it is configured (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: update state machine and add state checks (Jaroslav Kysela) [1797509] - [sound] ALSA: Documentation: soundwire: Ensure that code is inside the code blocks (Jaroslav Kysela) [1797509] - [sound] ALSA: Documentation: soundwire: fix stream.rst markup warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: Documentation: soundwire: Add documentation for multi link (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: remove redundant pr_err traces (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: remove unnecessary variable initializations (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix disable sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix bad unlock balance (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: use sdw_write instead of update (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix PDI/stream mapping for Bulk (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus_type: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: export helpers to find row and column values (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: check first if Slaves become UNATTACHED (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: Add read_only_wordlength flag to port properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix device number leak on errors (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: sdw_slave: track unattach_request to handle all init sequences (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: sdw_slave: add initialization_complete definition (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: sdw_slave: add enumeration_complete structure (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: sdw_slave: add probe_complete structure and new fields (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove bitfield for unique_id, use u8 (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: make stream name a const pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: Add compute_params callback (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: provide correct return value on error (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add helper macros for devID fields (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: don't treat CMD_IGNORED as error on ClockStop (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: add clock stop helpers (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix io error when processing alert event (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: avoid multiple assignments (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: disable pm_runtime in sdw_slave_delete (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: add helper to clear Slave status to UNATTACHED (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: write Slave Device Number without runtime_pm (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: add PM/no-PM versions of read/write functions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: improve dynamic debug comments for enumeration (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: split handling of Device0 events (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix race condition with initialization_complete signaling (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix race condition with enumeration_complete signaling (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix race condition with probe_complete signaling (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: ignore uniqueID when irrelevant (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: slave: add helper to extract slave ID (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: slave: fix scanf format (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: slave: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: core: add device tree support for slave devices (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: set initial value to port_status (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: clear FIFO to avoid pop noise issue on playback start (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: multi-link support (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: commit changes in the exit_reset() sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove automatic command retries (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove PREQ_DELAY assignment (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: enable NORMAL operation in cdns_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: reorder MCP_CONFIG settings (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: make SSP interval programmable (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: move clock/SSP related inits to dedicated function (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: merge routines to clear/set bits (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: mask Slave interrupt before stopping clock (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: fix a io timeout issue in S3 test (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: add clock_stop/restart routines (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: handle error cases with CONFIG_UPDATE (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: add interface to check clock status (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: simplifiy cdns_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: s/update_config/config_update (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: fix kernel-doc parameter descriptions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove useless variable incrementation (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: update kernel-doc parameter descriptions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: handle multiple status reports per Slave (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: remove config update for interrupt setting (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: log more useful information during timeouts (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: clear interrupt status before enabling interrupt (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: filter out bad interrupts (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: make clock stop exit configurable on init (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: free all resources on hw_free() (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add sdw_stream_setup helper for .startup callback (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add trigger support in sdw dai driver (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add prepare support in sdw dai driver (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: rename res field as link_res (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix factor of two in MCLK handling (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: update stream callbacks for hwparams/free stream operations (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: update interfaces between ASoC and SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix typo in comments (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: use correct header for io calls (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel_init: add kernel module parameter to filter out links (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel_init: add checks on link numbers (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: filter SoundWire controller device search (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove empty line after braces (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel_init: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add helper for initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix intel_register_dai PDI offsets and numbers (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel/cadence: add flag for interrupt enable (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove playback/capture stream_name (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove DAI_ID_RANGE definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add missing headers for cross-compilation (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: handle disabled links (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add debugfs register dump (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove unused variables (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: more alignment fixes (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: add hw_reset capability in debugfs (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel/cadence: fix startup sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: improve PDI allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: don't filter out PDI0/1 (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence/intel: simplify PDI/port mapping (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: add debugfs register dump (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: move shutdown() callback and don't export symbol (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix alignment issues in header files (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix SPDX license for header files (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: add kernel parameter to override interrupt mask (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix divider setting in clock register (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: make use of mclk_freq property (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: use firmware defaults for frame shape (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: revisit interrupt settings (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix definitions for INTSTAT0/1 (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix register definition for SLAVE_STATE (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: simplify bus clash interrupt clear (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: check the number of bidir PDIs (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: log Slave status mask on errors (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: use rate_limited dynamic debug (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: remove spurious newline (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix boolean comparisons (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: balance parentheses (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cdns: Fix compilation error on arm64 (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove empty line after braces (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: read mclk_freq property from firmware (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix channel number reported by hardware (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: prevent possible dereference in hw_params (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove BIOS work-arounds (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: set dai min and max channels correctly (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: Intel: add log for number of PCM and PDM PDIs (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add debugfs support (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add new mclk_freq field for properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: include mod_devicetable.h to avoid compiling warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: rename/clarify MIPI DisCo properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: clarify comment (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi-disco: fix clock stop modes (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi-disco: remove master_count property for masters (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove master data port properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add port-related definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: wrap macro argument in parenthesis (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: rename 'freq' fields (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi_disco: fix master/link error (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi_disco: fix boolean comparisons (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi_disco: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix out of boundary access on port properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add a blank line between functions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix more typos (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: more alignment fixes (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove empty line before/after braces (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add missing newlines in dynamic debug logs (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: remove useless initialization of local variable (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix boolean comparison (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: protect macro parameters (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix implicit header use of module.h/export.h (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix inversion in devm_kcalloc parameters (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: remove spurious newline (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix boolean comparisons (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: remove useless parentheses (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix typos in comments (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove useless initializations (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix SPDX license for header files (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: Add SNDRV_PCM_INFO_BATCH flag (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: add support for ALAC and APE decoders (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: add support to wma decoder (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: only enable dais from device tree (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm: add support for alac and ape configs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm: add support to wma config (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm: pass codec profile to q6asm_open_write (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qdsp6: q6routing: remove default routing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sprd: Allow the MCDT driver to build into modules (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: lpass-platform: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: common: Silence duplicate parse error messages (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: sdm845: handle soundwire stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Update dependencies for Arizona machine drivers (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: qcom: add support for get_sdw_stream() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: use for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soundwaire: qcom: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: qcom: add support for SoundWire controller (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: sdm845: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: s3c24xx-i2s: Fix build after removal of DAI suspend/resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Silence warnings during deferred probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: fsi: Restore devm_ioremap() alignment (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: dma: set bus width to data width for monaural data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Fix "status check failed" spam for multi-SSI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Don't treat master SSI in multi SSI setup as parent (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Fix parent SSI start/stop in multi-SSI mode (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sprd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: i2s: manage rebind issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: i2s: improve error management on probe deferral (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: i2s: manage error when getting reset controller (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: manage error when getting reset controller (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: improve error management on probe deferral (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: fix sai probe (Jaroslav Kysela) [1797509] - [sound] ALSA: soc/stm/stm32_sub_sai: Add missing '\n' in log messages (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: Add missing cleanup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: manage rebind issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: fix regmap status check (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: improve error management on probe deferral (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: manage error when getting reset controller (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sunxi: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sun8i-codec: Remove unused dev from codec struct (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tegra: tegra_wm8903: Support DAPM events for built-in microphone (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tegra: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: davinci-mcasp: remove redundant assignment to variable ret (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: davinci-mcasp: Add support for platforms using UDMA (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: Add udma-pcm platform driver for UDMA (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ux500: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xtensa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: zte: zx-spdif: remove redundant dev_err message (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: zte: zx-tdm: remove redundant variables dev (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: apq8016_sbc: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mxs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: use for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: use SND_SOC_DAPM_PINCTRL in TDM out (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: apply some refactors (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: pull TDM GPIO pins down when probed (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: change supported formats of DL2 and UL1 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: add speaker switch (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650: support HDMI jack reporting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Add support for the JZ4770 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Add support for the JZ4760 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Avoid passing enum as match data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Add local dev variable in probe function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740: Use of_device_get_match_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Fix divider written at incorrect offset in register (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: img: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: generic: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple-card-utils: use for_each_pcm_streams() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple-card: Add support for codec2codec DAI links (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_asrc_dma: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: dwc-i2s: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: cirrus: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: Fix pointer cast warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: brcm: Add DSL/PON SoC audio driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mchp-i2s-mcc: make signed 1 bit bitfields unsigned (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Allow I2S wake event after ACP is powerd On (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp3x-pcm-dma: clean up two indentation issues (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: AMD: Clear format bits before setting them (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Adding TDM support in hw_params (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Fix button configuration (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoc: amd: acp3x: Add missing include (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Fix compile warning of argument type (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoc: amd: Add DMIC switch capability to machine driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Add machine driver for Raven based platform (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: Fix potential NULL dereference (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Alpha S (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Apply async workaround for Scarlett 2i4 2nd gen (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Correct a typo of NuPrime DAC-10 USB ID (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add Pioneer DJ DJM-250MK2 quirk (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add quirk for Focusrite Scarlett 2i2 (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Use pcm_for_each_format() macro for PCM format iterations (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix missing braces in some struct inits (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add connector notifier delegation (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add static mapping table for ALC1220-VB-based mobos (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Check mapping at creating connector controls, too (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add mixer workaround for TRX40 and co (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Don't create jack controls for PCM terminals (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Don't override ignore_ctl_error value from the map (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Filter error from connector kctl ops, too (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix mixer controls' USB interface for Kingston HyperX Amp (0951:16d8) (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Parse source ID of UAC2 effect unit (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: audio-v2: Add uac2_effect_unit_descriptor definition (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Don't create a mixer element with bogus volume range (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix case when USB MIDI interface has more than one extra endpoint descriptor (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-midi: Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: line6: Fix POD HD500 audio playback (Jaroslav Kysela) [1797509] - [sound] ALSA: line6: Fix endless MIDI read loop (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Filter out unsupported sample rates on Focusrite devices (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add support for Presonus Studio 1810c (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add support for MOTU MicroBook IIc (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Inform devices that need delayed registration (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add delayed_register option (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Rewrite registration quirk handling (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Create a registration quirk for Kingston HyperX Amp (0951:16d8) (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd9335: fix address map representation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: Remove some unnecessary NULL checks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: remove unused headers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: fix High Accuracy Buck enable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: Remove set but not unused variable 'hph_comp_ctrl7' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm0010: Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8960: Fix wrong clock after suspend & resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: wsa881x: remove soundwire stream handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: wsa881x: request gpio direction before setting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wsa881x: mark read_only_wordlength flag (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8974: remove unused variables (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm_adsp: Use scnprintf() for the limited buffer output (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas571x: disable regulators on failed probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Fixed incorrect amp_level setting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Add support for ISENSE and VSENSE (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Add entries for the TAS2563 audio amplifier (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Add support for digital volume control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sgtl5000: Fix VAG power-on handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: modify some structure to be static (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix SND_SOC_ALL_CODECS imply ac97 fallout (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm89xx: Add missing dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: fix unmet dependencies (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix SND_SOC_ALL_CODECS imply misc fallout (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: adau7118: Fix Kconfig warning without CONFIG_I2C (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix SND_SOC_ALL_CODECS imply I2C fallout (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix SND_SOC_ALL_CODECS imply SPI fallout (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682-sdw: fix 'defined but not used' pm functions (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Make rt5682_clock_config static (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Fix build error without CONFIG_I2C (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: move DAI clock registry to I2S mode (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add a property for DMIC delay (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add a property for DMIC clock rate (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: remove noisy debug messages (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: fix the random recording noise of headset (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Fine tune the HP performance in soundwire mode (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Revise the DAC1 volume setting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Revise the function name (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add the soundwire support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Use imply for SND_SOC_ALL_CODECS (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add CCF usage for providing I2S clks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Enable PLL2 function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add the field "is_sdw" of private data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5659: remove redundant assignment to variable idx (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5645: Add platform-data for Medion E1239T (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1308-sdw: use slot and rx_mask to configure stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1308-sdw: add set_tdm_slot() support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: fix typo for bypass boost control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rl6231: Add new supports on rl6231 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip: Make RK3328 GPIO_MUTE control explicit (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: MT6660: make spdxcheck.py happy (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: MT6660 update to 1.0.8_G (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98357a: Add ACPI HID MAX98360A (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98357a: move control of SD_MODE to DAPM (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: hdac_hdmi: (cosmetic) remove redundant variable initialisations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: cs4270: pull reset GPIO low then high (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: allow operation without i915 gfx (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: fix ordering bug in resume flow (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: add parameter to control SoundWire clock stop quirks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: initial SoundWire machine driver autodetect (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: add SoundWire stream config/free callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Account for compress streams when servicing IRQs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Fix stream cleanup on hw free (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-loader: clear the IPC ack bit after FW_PURGE done (Jaroslav Kysela) [1797509] - [sound] ALSA: Asoc: SOF: Intel: hda: check SoundWire wakeen interrupt in irq thread (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: add WAKEEN interrupt support for SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: merge IPC, stream and SoundWire interrupt handlers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: add SoundWire configuration interface (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Expose SDnFMT helpers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Fix probe point getter (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pcm: skip DMA buffer pre-allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Turn "firmware boot complete" message into a dbg message (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: ipc: check ipc return value before data copy (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sof: sof-audio: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Do not reset hw_params for streams that ignored suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: audio: Add helper to check if only D0i3 streams are active (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Add i.MX8QM device descriptor (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Remove SOF_IPC_EXT_DMA_BUFFER (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Make sof_ipc_ext_data enum more rigid (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: fix uninitialised "work" with VirtIO (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: (cosmetic) use for_each_pcm_streams() in sof_dai_load() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: connect dai widget to all cpu-dais (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: remove unnecessary ROM IPC filter function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-dai: add stream capability (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-ctrl: add reset cycle before parsing capabilities (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: call codec wake at chip init (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: do not leave clock gating off upon error (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: disable SoundWire interrupts on suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sof: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Improve DSP state logging (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: use snd_sof_dsp_set_power_state() op (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Allow trace DMA in S0 when DSP is in D0I3 for debug (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Amend the DSP state transition diagram (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: cnl: Implement feature to support DSP D0i3 in S0 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: remove unnecessary waitq before loading firmware (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: add min/max channels for SSP on Baytrail/Broadwell (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: remove SND_SOC_SOF_HDA_COMMON_HDMI_CODEC (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Probe compress operations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix Kconfig indentation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx8: Add ops for i.MX8QM (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Rename i.MX8 platform to i.MX8X (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Provide probe debugfs support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Move DSP power state transitions to platform-specific ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pm: Introduce DSP power states (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pm: Unify suspend/resume routines (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Add Probe compress CPU DAIs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Generic probe compress operations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Implement Probe IPC API (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: use for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: kbl_da7219_max98927: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: cml_rt1011_rt5682: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: haswell: Remove ignore_suspend flag from SSP0 dai link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: BXT: switch pcm512x based boards to sof_pcm512x (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: CHT: add support for pcm512x boards (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: soc-acpi-intel-icl-match: remove useless 'rt1308_2_adr' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: soc-acpi-intel-cml-match: remove useless 'rt1308_2_adr' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_pcm512x: drop reverse deps for SND_HDA_CODEC_HDMI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_rt5682: Add support for tgl-max98373-rt5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_rt5682: Add rt1015 speaker amp support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: drop reverse deps for SND_HDA_CODEC_HDMI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_sdw: Add Volteer support with RT5682 SNDW helper function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: add sof_sdw machine driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: add match table for TGL RT5682 SoundWire driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: soc-acpi: update topology and driver name for SoundWire platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: Add mach table for tgl-max98373-rt5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-acpi: expand description of _ADR-based devices (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Await purge request ack on CNL (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Allow for ROM init retry on CNL platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skylake: (cosmetic) remove redundant variable initialisations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Enable codec wakeup during chip init (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Select hda configuration permissively (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Remove superfluous chip initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Shield against no-NHLT configurations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sof_da7219_max98373: Add speaker switch (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_da7219_max98373: Add support for max98360a speaker amp (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_nau88l25_ssm4567: disable route checks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel/skl/hda - add no-HDMI cases to generic HDA driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Make glk+rt5682 echo ref dynamic (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: don't use GFP_ATOMIC for machine driver contexts (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN MPWIN895CL tablet (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: broadwell: Remove ignore_suspend flag from SSP0 dai link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: broadwell: Revert back SSP0 link to use dummy components (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5677: Remove ignore_suspend flag from SSP0 dai link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5677: Revert SSP0 link to use dummy components (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5650: Remove ignore_suspend flag from SSP0 dai link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5650: Revert SSP0 link to use dummy components (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: (cosmetic) simplify structure member access (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: atom: Fix uninitialized variable compiler warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: mrfld: return error codes when an error occurs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_pcm512x: make HDMI optional for all platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_pcm512x: add support for SOF platforms with pcm512x (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: mrfld: fix incorrect check on p->sink (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: atom: Check drv->lock is locked in sst_fill_and_send_cmd_unlocked (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: atom: Take the drv->lock mutex before calling sst_send_slot_map() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use scnprintf() for string truncation (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Allow setting preallocation again for x86 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Fix endianness issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value of soc_tplg_dai_config (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value of pcm_new_ver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Add missing memory checks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check soc_tplg_add_route return value (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value of soc_tplg_*_create (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value of soc_tplg_create_tlv (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: use name_prefix for new kcontrol (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Perform component check upfront (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fix regwmask (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-generic-dmaengine-pcm: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: Merge for_each_rtd_cpu/codec_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: Remove dapm_connect_dai_link_widgets helper (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: Move error message to avoid some duplication (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: select sleep_state when initializing PINCTRL widget (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: connect virtual mux with default value (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: fixup dapm kcontrol widget (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dai: revert all changes to DAI startup/shutdown sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dai: fix DAI startup/shutdown sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dai: return proper error for get_sdw_stream() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dai: add get_sdw_stream() callback (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: export DPCM runtime update functions (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dpcm: allow start or stop during pause for backend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: Merge for_each_rtd_cpu/codec_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: (cosmetic) simplify dpcm_prune_paths() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: Merge for_each_rtd_cpu/codec_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: Merge CPU/Codec for soc_dai_pcm_new() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: Fix regression introducing multiple copies of DAI widgets (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add asoc_rtd_to_cpu/codec() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: Merge CPU/Codec DAIs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: add for_each_card_widgets() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: add for_each_card_dapms() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc.h: remove non plural form for_each_xxx macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc.h: add for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc: use for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: disable route checks for legacy devices (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add initial support for multiple CPU DAIs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fix card registration regression (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: don't use rtd->cpu_dai on for_each_rtd_cpu_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add multiple CPU DAI support in DAPM (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add dapm_add_valid_dai_widget helper (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: Do Digital Mute for both CPU/Codec in same timing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: check DAI's activity more simply (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: tidyup dulicate handing at dpcm_fe_dai_startup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use snd_soc_dai_get_pcm_stream() at dpcm_set_fe_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add dpcm_fe_dai_cleanup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: move dpcm_fe_dai_close() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: Export parameter intersection logic (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: remove duplicate be check from dpcm_add_paths() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use defined stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: check if cpu-dai supports a given stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Return error if the function does not support multi-cpu (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add multiple CPU DAI support for PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: fix state tracking error in snd_soc_component_open/close() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: move dpcm_path_put() to soc-pcm.c (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: merge dpcm_run_new/old_update() into dpcm_fe_runtime_update() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add snd_soc_dai_get_widget() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: cleanup soc_pcm_apply_msb() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add snd_soc_dai_get_pcm_stream() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm/soc-compress: don't use snd_soc_dapm_stream_stop() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dpcm: remove confusing trace in dpcm_get_be() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: Fix possible buffer overflow in dpcm state sysfs output (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: merge playback/cature_active into stream_active (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use goto and remove multi return (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add snd_soc_dpcm_can_be() and remove duplicate code (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: remove snd_soc_dpcm_be_get/set_state() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: remove soc_dpcm_be_digital_mute() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use dpcm_get_be() at dpcm_end_walk_at_be() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use dai_get_widget() at dpcm_end_walk_at_be() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use dai_get_widget() at dpcm_get_be() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: move dai_get_widget() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: fix regression in soc_new_pcm() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: tidyup soc_pcm_open() order (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: move soc_pcm_close() next to soc_pcm_open() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: adjustment for DAI member 0 reset (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: call snd_soc_component_open/close() once (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: don't use bit-OR'ed error (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm/soc-compress: use snd_soc_dapm_stream_stop() for SND_SOC_DAPM_STREAM_STOP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add for_each_dapm_widgets() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add snd_soc_runtime_action() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: call snd_soc_dai_startup()/shutdown() once (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: ensure component names are unique (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: allow a dt node to provide several components (Jaroslav Kysela) [1797509] - [sound] ALSA: emu8000: Fix the cast to __user pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: opti9xx: shut up gcc-10 range warning (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire-tascam: Add missing annotation for tscm_hwdep_read_queue() (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire-tascam: Add missing annotation for tscm_hwdep_read_locked() (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire: use KBUILD_MODNAME for struct driver.name instead of string (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: Fix endianness annotations (Jaroslav Kysela) [1797509] - [sound] ALSA: hdsp: remove redundant assignment to variable err (Jaroslav Kysela) [1797509] - [sound] ALSA: korg1212: fix if-statement empty body warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1724: Fix invalid access for enumerated ctl items (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Two front mics on a Lenovo ThinkCenter (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add new codec supported for ALC245 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix unexpected init_amp override (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the headset mic on Asus FX505DT (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add quirk for MSI GL63 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add HP new mute led supported for ALC236 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add supported new mute Led for HP (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add quirk for Lenovo Carbon X1 8th gen (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Set principled PC Beep configuration for ALC256 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - a fake key event is triggered by running shutup (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek: Enable mute LED on an HP system (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the headset of Acer N50-600 with ALC662 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable headset mic of Acer X2660G with ALC662 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek: Fix pop noise on ALC225 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Move ELD parse and jack reporting into update_eld() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Move runtime PM resume into hdmi_present_sense_via_verbs() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Don't use standard hda_jack for generic HDMI jacks (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Reduce hda_jack_tbl lookup at unsol event handling (Jaroslav Kysela) [1797509] - [sound] ALSA: drm/nouveau: Fix regression by audio component transition (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: fix without unlocked before return (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: fix race in monitor detection during probe (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Add module option to disable audio component binding (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Add Recon3Di quirk to handle integrated sound on EVGA X99 Classified motherboard (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Match both PCI ID and SSID for driver blacklist (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Remove ASUS ROG Zenith from the blacklist (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: call runtime_allow() for all hda controllers (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Explicitly permit using autosuspend if runtime PM is supported (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Keep the controller initialization even if no codecs found (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Release resources at error in delayed probe (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Honor PM disablement in PM freeze and thaw_noirq ops (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Don't release card at firmware loading error (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Add driver blacklist (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: remove redundant assignment to variable timeout (Jaroslav Kysela) [1797509] - [sound] ALSA: hda_codec: Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Always use jackpoll helper for jack update after resume (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Skip controller resume if not needed (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Fix potential access overflow in beep helper (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: default enable CA0132 DSP support (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Fix endianness annotations (Jaroslav Kysela) [1797509] - [sound] ALSA: ctxfi: Remove unnecessary cast in kfree (Jaroslav Kysela) [1797509] - [sound] ALSA: ali5451: remove redundant variable capture_flag (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: Use standard macros for fixing PCM format cast (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Fix PCM format assignment (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Use a macro for parameter masks to reduce the needed cast (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Minor refactoring (Jaroslav Kysela) [1797509] - [sound] ALSA: dmaengine_pcm: No need to take runtime reference twice in pcm_pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: dmaengine_pcm: Consider DMA cache caused delay in pointer callback (Jaroslav Kysela) [1797509] - [sound] ALSA: dmaengine_pcm: Consider DMA cache caused delay in pointer callback (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm_dmaengine: Use pcm_for_each_format() macro for PCM format iteration (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix superfluous snprintf() usage (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Place the plugin buffer overflow checks correctly (for 5.7) (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Fix regression by buffer overflow fix (again) (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Remove WARNING from snd_pcm_plug_alloc() checks (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Simplify plugin frame size calculations (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Avoid plugin buffer overflow (Jaroslav Kysela) [1797509] - [sound] ALSA: info: remove redundant assignment to variable c (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Unlock mutex temporarily for sleeping at read/write (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Use standard macros for fixing PCM format cast (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Add a standalone version of snd_pcm_limit_hw_rates (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: More helper macros for reducing snd_pcm_format_t cast (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm.h: add for_each_pcm_streams() (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Add snd_device_get_state() helper (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Implement compress page allocation and free routines (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Expand DMA buffer information (Jaroslav Kysela) [1797509] - [sound] ALSA: uapi: Fix sparse warning (Jaroslav Kysela) [1797509] - [sound] ALSA: control: Fix incompatible protocol error (Jaroslav Kysela) [1797509] - [sound] ALSA: ctl: bump protocol version up to v2.1.0 (Jaroslav Kysela) [1797509] - [sound] ALSA: ctl: remove unused macro for timestamping of elem_value (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: use __u32 instead of uint32_t in uapi headers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: uapi: remove unused sof header files (Jaroslav Kysela) [1797509] - [sound] ALSA: uapi: Drop unneeded typedefs (Jaroslav Kysela) [1797509] - [sound] ALSA: uapi: Add linux/types.h include back (but carefully) (Jaroslav Kysela) [1797509] - [sound] ALSA: hdspm: Drop linux/types.h inclusion in uapi header (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Spelling s/configr/configur/ (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: fix for_rtd_codec_dai_rollback() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dpcm: tidyup for_each_dpcm_xx() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple_card_utils.h: Fix potential multiple redefinition error (Jaroslav Kysela) [1797509] - [sound] ALSA: rawmidi: Avoid bit fields for state flags (Jaroslav Kysela) [1797509] - [sound] ALSA: memalloc: Drop snd_dma_pci_data() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: media: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: media: solo6x10: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: media: cs231xx: Clean up ALSA PCM API usages (Jaroslav Kysela) [1797509] - [sound] ALSA: media: em28xx: Clean up ALSA PCM API usages (Jaroslav Kysela) [1797509] - [sound] ALSA: media: delete unused proc_fs.h include (Jaroslav Kysela) [1797509] - [sound] ALSA: media: em28xx-audio: use GFP_KERNEL for memory allocation during init (Jaroslav Kysela) [1797509] - [sound] ALSA: media: go7007: Clean up ALSA PCM API usages (Jaroslav Kysela) [1797509] - [sound] ALSA: media: tm6000: Clean up ALSA PCM API usages (Jaroslav Kysela) [1797509] - [sound] ALSA: media: usbtv: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: media: solo6x10: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: media: tw686x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: media: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1797509] - [sound] ALSA: media: tw686x: audio: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: Allow const arrays for legacy resource management helpers (Jaroslav Kysela) [1797509] - [sound] ALSA: pcmcia: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: pdaudiocf: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pdaudiocf: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: pdaudiocf: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: pcmcia: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: pdaudiocf: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: parisc: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: parisc: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: parisc: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire-tascam: fix corruption due to spin lock without restoration in SoftIRQ context (Jaroslav Kysela) [1797509] - [sound] ALSA: oxfw: fix for Stanton SCS.1d (Jaroslav Kysela) [1797509] - [sound] ALSA: oxfw: don't add MIDI/PCM interface when packet streaming is unavailable (Jaroslav Kysela) [1797509] - [sound] ALSA: oxfw: fix return value in error path of isochronous resources reservation (Jaroslav Kysela) [1797509] - [sound] ALSA: oxfw: use ENXIO for not-supported cases (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire-motu: fix double unlocked 'motu->mutex' (Jaroslav Kysela) [1797509] - [sound] ALSA: fireface: fix return value in error path of isochronous resources reservation (Jaroslav Kysela) [1797509] - [sound] ALSA: dice: loosen stream format check for MIDI conformant data channel (Jaroslav Kysela) [1797509] - [sound] ALSA: dice: fix fallback from protocol extension into limited functionality (Jaroslav Kysela) [1797509] - [sound] ALSA: dice: add support for Alesis MasterControl (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: emux: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Apply 48kHz fixed rate playback for Jabra Evolve 65 headset (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82 (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add clock validity quirk for Denon MC7000/MCX8000 (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Apply sample rate quirk for Audioengine D1 (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix UAC2/3 effect unit parsing (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Annotate endianess in Scarlett gen2 quirk (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix endianess in descriptor validation (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: add implicit fb quirk for MOTU M Series (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: unlock on error in probe (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: fix sync-ep altsetting sanity check (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add boot quirk for MOTU M Series (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: update old-style static const declaration (Jaroslav Kysela) [1797509] - [sound] ALSA: bcd2000: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: caiaq: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Use lower hex numbers for IDs (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Apply the sample rate quirk for Bose Companion 5 (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: Constify struct snd_usb_audio_quirk entries (Jaroslav Kysela) [1797509] - [sound] ALSA: line6: Constify snd_ratden definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Constify snd_pcm_hardware definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: fix Corsair Virtuoso mixer label collision (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: fix set_format altsetting sanity check (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: set the interface format after resume on Dell WD19 (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: Adjust indentation in snd_usX2Y_hwdep_dsp_status (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ua101: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: line6: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: hiface: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: caiaq: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: 6fire: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix Focusrite Scarlett 6i6 gen1 - input handling (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix NULL dereference at parsing BADD (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix Scarlett 6i6 Gen 2 port data (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add skip_validation option (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix incorrect size check for processing/extension units (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix incorrect NULL check in create_yamaha_midi_quirk() (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: not submit urb for stopped endpoint (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix missing error check at mixer resolution test (Jaroslav Kysela) [1797509] - [sound] ALSA: ua101: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: hiface: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: caiaq: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: 6fire: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: 6fire: Drop the dead code (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: intel_hdmi: Remove dev_err() on platform_get_irq() failure (Jaroslav Kysela) [1797509] - [sound] ALSA: x86: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: hdml-lpe-audio: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: xen: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: atmel: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: arm: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: arm: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: ac97: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: wss: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: wss: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: wavefront: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: sc6000: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: sb: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: sb: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: opti9xx: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: opti9xx: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: opl3sa2: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: msnd: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: gus: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: gus: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: es18xx: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: es18xx: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: es1688: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: es1688: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: es1688: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: cs423x: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: cs4236: fix error return comparison of an unsigned integer (Jaroslav Kysela) [1797509] - [sound] ALSA: cmi8330: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: cmi8328: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: isa: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: isa: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1816a: constify copied structure (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1816a: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: isa: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xlnx: Use devm_platform_ioremap_resource() in xlnx_formatter_pcm_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xtensa: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xtensa: xtfpga-i2s: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xilinx: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xilinx: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xilinx: xlnx_formatter_pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: aio-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: txx9aclc: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: sdma-pcm: Add back the flags parameter for non standard dma names (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tegra: disable rx_fifo after disable stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tegra: add a TDM configuration callback (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sunxi: sun4i-codec: remove unneeded semicolon (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: fix race condition in irq handler (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: retry synchronization in sync state (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: manage rebind issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: fix possible circular locking (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: add restriction on mmap support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: fix sysclk management on shutdown (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: clean up indentation issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: dfsdm: fix 16 bits record (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm: stm32_adfsdm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sprd: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sprd: sprd-pcm-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: ipc: Fix memory leak in sof_set_get_large_ctrl_data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-stream: fix the CONFIG_ prefix missing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx8: fix memory allocation failure check on priv->pd_dev (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: utils: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-utils: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-ops: use snd_soc_card_get_kcontrol() at snd_soc_limit_volume() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: generic-dmaengine-pcm: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: generic-dmaengine: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-generic-dmaengine-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: do error check after rsnd_channel_normalization() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: dma: fix SSI9 4/5/6/7 busif dma address (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: fsi: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rcar: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: core.c: add WARN_ON() on rsnd_channel_normalization() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: add missing of_node_put() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Reinitialize bit clock inversion flag for every format setting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: rsnd: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: siu_pcm: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: siu_pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dma-sh7760: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: dma-sh7760: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Use pr_warn instead of pr_warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: idma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Rename Arndale card driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: arndale: Add support for WM1811 CODEC (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: arndale: Simplify DAI link initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip: rockchip_max98090: Enable SHDN to fix headset detection (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip_max98090: Add HDMI jack support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip_max98090: Optionally support HDMI use case (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6routing: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: lpass-platform: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: pxa2xx-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: pxa-ssp: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: poodle: Spelling s/enpoints/endpoints/, s/connetion/connection/ (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: pxa2xx: No need to keep pointer to platform device (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: mmp-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: g12a: add tohdmitx reset (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: axg-fifo: relax period size constraints (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: axg-fifo: improve depth handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: axg-fifo: fix fifo threshold setup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183: support WoV (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mt8183: fix audio playback slowly after playback during bootup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mtk-btcvsd: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: fix device remove ordering (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740: Remove unused match variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: fix IRQ error handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: kirkwood-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740: Drop lb60 board code (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple-card: fixup simple_dai_link_of_dpcm() comment (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: audio-graph: fixup graph_dai_link_of_dpcm() comment (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_sai: Fix noise when using EDMA (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_mqs: Move static keyword to the front of declarations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_mqs: Fix error handling in probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_mqs: remove set but not used variable 'bclk' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_esai: Add spin lock to protect reset, stop and start (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_dma: fix build failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_dma: don't use snd_soc_rtdcom_lookup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: imx-pcm-fiq: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: mpc5200_dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_asrc_dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8958: use to simplify code (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tlv320aic32x4: add a check for devm_clk_get (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd9335: clean up indentation issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoc: tas2770: Remove unused defines and variables (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Fix misuse of GENMASK macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt6358: support WoV (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-digital: add missing MIX2 path for RX1/2 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Add earpiece (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Fix RX1 selection in RDAC2 MUX (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: refine the setting of internal clock divider (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: Fix error with S24_3LE format bitstream in i.MX8 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: update supported sample format (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: Use in(out)put_format instead of in(out)put_word_width (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_mqs: Add MQS component driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: dwc-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8994: Add support for MCLKn clock gating (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8994: Add support for setting MCLK clock rate (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Fix sample rate error message (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Return invalid for when bitwidth is invalid (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Introduce the TAS2562 amplifier (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2770: clean up an indentation issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2770: Fix snd_soc_update_bits error handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2770: Remove unneeded read of the TDM_CFG3 register (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoc: tas2770: Fix build error without GPIOLIB (Jaroslav Kysela) [1797509] - [sound] ALSA: tas2770: fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: tas2770: add tas2770 smart PA kernel driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5663: clean up indentation issues (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5650: Add Kahlee platform specfic changes (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: Fix serial mode dependent format support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: Use fixup instead of constraint for channels and formats (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: The codec does not support S32_LE (Jaroslav Kysela) [1797509] - [sound] ALSA: ASOC: adau7118: Change regulators id (Jaroslav Kysela) [1797509] - [sound] ALSA: ASOC: Add ADAU7118 8 Channel PDM-to-I2S/TDM Converter driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: adau1761: Add ALC controls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: adau1761: Add PGA Slew time control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: cygnus-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: dbdma2: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel_ssc_dai: Remove wrong spinlock usage (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: atmel-pcm-pdc: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: ACP needs to be powered off in BIOS (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Additional DAI for I2S SP instance (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Fix simultaneous playback and capture (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp3x: Fix return value check in acp3x_dai_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: add ACP3x TDM mode support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Buffer Size instead of MAX Buffer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Fix for Subsequent Playback issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd MMAP_INTERLEAVED Support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Added ACP3x system resume and runtime pm (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Handle ACP3x I2S-SP Interrupts (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Enabling I2S instance in DMA and DAI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Refactoring of DAI from DMA driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp3x-pcm-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp3x: clean up indentation issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp-pcm-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8741: Fix typo in Kconfig prompt (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Fix snd_sof_ipc_stream_posn() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: modify pre-divider for sysclk (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: add operation callback function for rt1015_dai (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-component: tidyup snd_soc_pcm_component_sync_stop() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: Correct DAPM handling of active widgets during shutdown (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Fix available clock counter incrementation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm/soc-compress: don't use snd_soc_dapm_stream_stop() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm512x: Fix unbalanced regulator enable call in probe error path (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Fix memleak in soc_tplg_manifest_load() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Fix memleak in soc_tplg_link_elems_load() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skl: Fix possible buffer overflow in debug outputs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skl: Fix pin debug prints (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sun8i-codec: Fix setting DAI data format (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: remove snd_soc_dapm_put_enum_double_locked (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: revert invalid fix for handling SHDN (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codec2codec: avoid invalid/double-free of pcm runtime (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: move i915 init earlier (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Add system_suspend_target field to struct snd_sof_dev (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: fix atmel_ssc_set_audio link failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_sai: Fix exiting path on probing failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: Add missing COMMON_CLK dependency to SND_SOC_ALL_CODECS (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: Add missing COMMON_CLK dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: treewide: remove redundant IS_ERR() before error code check (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: add PCI ID for JasperLake (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: Add __maybe_unused to PM callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt711: Add __maybe_unused to PM callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt700: Add __maybe_unused to PM callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1308-sdw: Add __maybe_unused to PM callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: consistent HDMI codec probing code (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: soc-acpi-intel-icl-match: fix rt715 ADR (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pci: add missing default_fw_name of JasperLake (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: trace: fix unconditional free in trace release (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: core: release resources on errors in probe_continue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: core: free trace on errors (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: fix an Oops, caused by invalid topology (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: do not disable i915 power during probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: refactor i915_get/put functions (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: Remove unnecessary const (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: silence lockdep warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove null_snd_soc_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_trigger() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_hw_free() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_hw_params() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_prepare() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_shutdown() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_startup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: add rt1015 amplifier driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: fix soc_tplg_fe_link_create() - link->dobj initialization order (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_common: Fix global-out-of-bounds bug (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add MediaTek MT6660 Speaker Amp Driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix deadlock in max98090_dapm_put_enum_double() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: add snd_soc_dapm_put_enum_double_locked (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: revert "ASoC: max98090: fix lockdep warning" (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove bus_control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove DAI suspend/resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ux500: ux500_msp_dai: remove unused DAI .suspend/.resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: dwc-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: omap-mcpdm: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sti: sti_uniperif: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: spdif: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: s3c24xx-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740: jz4740-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: cirrus: ep93xx-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: atmel_ssc_dai: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: cygnus-ssp: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-generic-dmaengine-pcm: Fix error handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: crash in snd_soc_dapm_new_dai (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: Remove unnecessary string buffers and snprintf calls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Remove unnecessary string buffers and snprintf calls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Remove code duplication in byt_rt5640_codec_fixup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Add MIC BIAS Internal3 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Simplify MIC BIAS Internal (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: fix return value check in rt715_sdw_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt711: fix return value check in rt711_sdw_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt700: fix return value check in rt700_sdw_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: remove unused including (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Fix SKL dai count (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm_adsp: Correct cache handling of new kernel control API (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sgtl5000: add multi endpoint support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: Add support for imx8qm & imx8qxp (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sgtl5000: Fix VDDA and VDDIO comparison (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: Add jz4770-codec driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: remove unused variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcht_es8316: removed unused variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_rt286: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_nau88l25_ssm4567: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_nau88l25_max98357a: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASOC: Intel: kbl_rt5663_rt5514_max98927: remove useless initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_rt5663_rt5514_max98927: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_rt5663_max98927: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_rt5660: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: remove unnecessary initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: test return value on route add (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: removed unused variables (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bxt_rt298: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bxt_da7219_max98357a: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-dai: fix compilation warning in pcm_prepare (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: remove warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: use dev_to_sdw_dev() instead of to_sdw_slave_device() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt700: remove unused including (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1308-sdw: add rt1308 SdW amplifier driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: fix build error with CONFIG_SND_ATMEL_SOC_DMA=m (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-digital: Reset RX interpolation path after use (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Fix MIC BIAS Internal1 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sti: fix possible sleep-in-atomic (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Fix selected events for MIC BIAS External1 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdac_hda: Fix error in driver removal after failed probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: fix HDA codec driver probe with multiple controllers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: lower print level to dbg if we will reinit DSP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: reference SoundWire machine lists (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: support alternate list of machines (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: add match tables for TGL w/ SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: add match tables for CNL/CFL/CML w/ SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: add match tables for ICL w/ SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: soc-acpi: declare new tables for SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-acpi: add _ADR-based link descriptors (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-acpi: add link_mask field (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: fix PCM playback through ALSA OSS emulation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5650: change cpu_dai and platform components for SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: broadwell: change cpu_dai and platform components for SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5677: change cpu_dai and platform components for SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5677: fix Kconfig dependencies (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt711: remove unused including (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: add RT715 codec driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: Remove unused rtd variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm/soc-compress: use snd_soc_dapm_stream_stop() for SND_SOC_DAPM_STREAM_STOP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: add snd_soc_dapm_stream_stop() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add snd_soc_close_delayed_work() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: do pinctrl_pm_select_xxx() as component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove duplicate pinctrl operation when suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: care .ignore_suspend for Component suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename snd_soc_rtdcom_add() to snd_soc_rtd_add_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt700: add rt700 codec driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_rtdcom_list (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: Drop incorrectly applied duplicate commit (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt711: add rt711 codec driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: add wsa881x amplifier support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix lockdep warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix incorrect helper in max98090_dapm_put_enum_double() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix incorrect helper in max98090_dapm_put_enum_double() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: gtm601: fix build warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: loader: add dynamic debug trace (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pci: change the default firmware path when the community key is used (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix NULL dereference at freeing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_rt5682: Ignore the speaker amp when there isn't one (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Fix Irbis NB41 netbook quirk (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5640: Fix NULL dereference on module unload (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-topology: fix endianness issues (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: hda_dsp_common: use NULL pointer assignment, not 0 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: Fix compile-testing RT1011/RT5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx8: use resource_size (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: constify copied structure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Create multiple I2S platform device endpoint (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: sdm845: add support to DB845c and Lenovo Yoga (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add audio routings (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add capture dapm widgets (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add playback dapm widgets (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add basic controls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add support to wcd9340/wcd9341 codec (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: gtm601: add Broadmobi bm818 sound profile (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: remove unused variable 'constraints_16000' and 'ch_mono' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdac_hda: Update hdac hda dai table to include intel-hdmi-hifi4 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Add iDisp4 DAI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx8: Fix dsp_box offset (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_audmix: add missed pm_runtime_disable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: fix input pin state management (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: fix inconsistent lock state (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: Fix access to uninitialized list heads (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: Set dpcm_playback / dpcm_capture (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: Remove empty suspend function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: Add Broadwell rt5650 machine driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: move arch_ops under ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Prevent use-after-free in snd_soc_get_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx: Read SAI parameters and send them to DSP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx: Describe SAI parameters to be sent to DSP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: fix incorrect HDMI Kconfig dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: drop HDA codec upon probe failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Add machine driver for da7219_max98373 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: log compiler name and version information (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: define struct with compiler name and version (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Introduce state machine for FW boot (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: remove references to Haswell (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: cml_rt1011_rt5682: fix codec_conf by removing legacy style (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: hda-dai: fix oops on hda_link .hw_free (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: fix fault at driver unload after failed probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: compress: Add pm_runtime support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skylake: Remove superfluous bus ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove legacy style of codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: rx51: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: speyside: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: neo1973_wm8753: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: lowland: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: bells: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650-rt5676: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650-rt5514: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skl_nau88l25_ssm4567: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: kbl_rt5663_rt5514_max98927: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: kbl_rt5663_max98927: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: kbl_da7219_max98927: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: imx-audmix: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: support snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8962: fix lambda value (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Drop snd_soc_pcm_lib_ioctl() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: haswell: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: baytrail: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xtensa: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5514-spi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup for CONFIG_DEBUG_FS (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup for CONFIG_DMI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_set_name_prefix() and soc_set_of_name_prefix() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: byt: fixup topology filename for BYT-CR (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: soc_set_name_prefix(): get component device_node at out of loop (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: soc_set_name_prefix(): tidyup loop condition (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename soc_link_init() to soc_init_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add missing return value check for soc_link_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move soc_link_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename soc_link_dai_pcm_new() to soc_dai_pcm_new() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move soc_link_dai_pcm_new() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename snd_soc_remove_dai_link() to snd_soc_remove_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename snd_soc_add_dai_link() to snd_soc_add_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_find_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: find rtd via dai_link pointer at snd_soc_get_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_get_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_get_dai_substream() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_disconnect_sync() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove dai_link_list (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc.h: dobj is used only when SND_SOC_TOPOLOGY (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: add SND_SOC_BYTES_E (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: add codec_mask module parameter (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Add asynchronous sample rate converter topology support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: work-around incorrect ACPI HID for CML boards (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: split cht and byt debug window sizes (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: loader: fix snd_sof_fw_parse_ext_data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: loader: snd_sof_fw_parse_ext_data log warning on unknown header (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple-card: Don't create separate link when platform is present (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value for soc_tplg_pcm_create() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value for snd_soc_add_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Explicitly include linux/io.h for virt_to_phys() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: nocodec: Amend arguments for sof_nocodec_setup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Remove unused drv_name in sof_pdata (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: remove nocodec_fw_filename (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Make creation of machine device from SOF core optional (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: intel: hda: Modify signature for hda_codec_probe_bus() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: partition audio-related parts from SOF core (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Drop superfluous snd_pcm_sgbuf_ops_page (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Introduce default_fw_filename member in sof_dev_desc (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: core: move check for runtime callbacks to core (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: core: modify the signature for snd_sof_create_page_table (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sof: pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: remove snd_sof_init_topology() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Remove unnecessary string buffers and snprintf calls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: remove unused variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel/skl/hda - export number of digital microphones via control components (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdmi-codec: set plugged_cb to NULL when component removing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdmi-codec: re-introduce mutex locking again (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdmi-codec: drop mutex locking again (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fix soc-core.c kernel-doc warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: solve MSI issues by merging ipc and stream irq handlers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: davinci-mcasp: Improve the sysclk selection (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: cs42l51: add dac mux widget in codec routes (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Calculate DALIGN inversion at run-time (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tlv320aic31xx: Add Volume Soft Stepping control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: save and restore SHDN when changing sensitive registers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_sai: add IRQF_SHARED (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tlv320aic31xx: Add HP output driver pop reduction controls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: common: refine hw_params and hw_prepare (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: common: add some helpers to control mtk_memif (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdac_hdmi: Drop support for Icelake (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: make common HDMI driver default (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: Add mach table for tgl-max98357a-rt5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sof_rt5682: Add support for tgl-max98357a-rt5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sof_rt5682: Add quirk for number of HDMI DAI's (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: only flush inited work during free (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Update quirk for Teclast X89 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: Init pcm runtime work early to avoid warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sst: Add missing include (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix possible race conditions (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: exit workaround earlier if PLL is locked (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: remove msleep in PLL unlocked workaround (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8904: fix automatic sysclk configuration (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Fix build error without CONFIG_SPI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: Fix unload for SAI/ESAI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: BYT: fix a copy/paste mistake in byt_dump() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: AMD: Enable clk in startup intead of hw_params (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: fix i2c arbitration lost issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: DMI long name - avoid to add board name if matches with product name (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: improve the DMI long card code in asoc-core (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: fix DALIGN register for SSIU (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: component: Add sync_stop PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: Make ioctl ops optional (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: check symmetry before hw_params (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: Update the RST gpio handling to align with documentation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: add control components management (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: remove soc_pcm_private_free() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: fixup dead-lock at snd_soc_unregister_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: fix RIP warning on card removal (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-component: tidyup snd_soc_pcm_component_new/free() parameter (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Update quirk for Acer Switch 10 SW5-012 2-in-1 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm_adsp: Expose mixer control API (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tlv320aic31xx: configure output common-mode voltage (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Fix CFL and CML FW nocodec binary names (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Fix build break (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: Add support for optional RST gpio handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm5100: add missed pm_runtime_disable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm2200: add missed operations in remove and probe failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: add support to flac decoder (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: add flac decoder params (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm: add support to flac config (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: rt5677_check_hotword() can be static (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: fix the charge pump capacitor discharges (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: davinci-mcasp: Use dma_request_chan() directly for channel request (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dmaengine: Use dma_request_chan() directly for channel request (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: care card_probed at soc_cleanup_card_resources() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_unbind_card() next to snd_soc_bind_card() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: call snd_soc_dapm_shutdown() at soc_cleanup_card_resources() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5645: Fixed typo for buddy jack support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8904: fix regcache handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup soc_probe_aux_devices() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_bind_card() and snd_soc_instantiate_card() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_remove_component() and soc_cleanup_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_remove_dai_link() and soc_unbind_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_add_dai_link() and soc_bind_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_unregister_dai() and soc_del_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_register_dai() and soc_add_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove soc_is_dai_link_bound() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: free kcontrol memory on error (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: PM: only suspend to D0I3 when needed (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: add helper to check if we should enter d0i3 suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: PM: add check before setting d0_substate (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: PM: add state machine to comments (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: use fallback for firmware name (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: acpi-match: split CNL tables in three (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Fix CFL and CML FW nocodec binary names (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: cancel jack_detect_work if hs_jack is set to null (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5645: Fixed buddy jack support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8904: configure sysclk/FLL automatically (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_rt5663_rt5514_max98927: Add dmic format constraint (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add DA7213 audio codec as selectable option (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Wait for DSP to boot before loading firmware (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Set ADC clock to use PLL and enable ASRC (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bdw-rt5677: Turn on MCLK1 for DSP via DAPM (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Allow VAD to be shut on/off at all times (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Disable irq at suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Stop and restart DSP over suspend/resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Mark reg RT5677_PWR_ANLG2 as volatile (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Add DAPM audio path for hotword stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Enable jack detect while DSP is running (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bdw-rt5677: Add a DAI link for rt5677 SPI PCM device (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_audmix: Add spin lock to protect tdms (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5514-spi: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5514-spi: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: set L1SEN on S0ix suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: fix missing NULL pointer check (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: Fix compile warning with CONFIG_DEBUG_FS=n (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: Fix bytes control size checks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove topology specific operation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: call snd_soc_register_dai() from snd_soc_register_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: don't call snd_soc_dapm_new_dai_widgets() at snd_soc_register_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: have legacy_dai_naming at snd_soc_register_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add snd_soc_unregister_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_unregister_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_register_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: use snd_soc_lookup_component() at snd_soc_unregister_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_component_add/del() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add snd_soc_del_component_unlocked() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup snd_soc_lookup_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_lookup_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add soc_unbind_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: call soc_bind_dai_link() under snd_soc_add_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove duplicated soc_is_dai_link_bound() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: typo fix at soc_dai_link_sanity_check() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup soc_init_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move soc_init_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add for_each_rtd_components() and replace (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove for_each_rtdcom_safe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: Use different sequence for start/stop trigger (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: snd_soc_unbind_card() cleanup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add snd_soc_pcm_lib_ioctl() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: setup card->rtd_num at snd_soc_instantiate_card() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: use devm_xxx for component related resource (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add soc_setup_card_name() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove soc_remove_dai_links() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: use devm_kzalloc() for rtd (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: Clarify usage of ignore_machine (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_rtdcom_del_all() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup soc_new_pcm_runtime() alloc order (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: set trigger order for FE DAI link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: update FE/BE trigger order based on the command (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98373: replace gpio_request with devm_gpio_request (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: mark HDAudio codec support as deprecated (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: use def_tristate, avoid using select (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx: fix reverse CONFIG_SND_SOC_SOF_OF dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Kconfig: add EXPERT dependency for developer options, clarify help (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: add mutual exclusion between SOF and legacy Baytrail driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Broadwell: clarify mutual exclusion with legacy driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Baytrail: clarify mutual exclusion with Atom/SST driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Simplify the hda_dsp_wait_d0i3c_done() function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Add acpi match for rt1011 based m/c driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ux500: Remove redundant variable "status" (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdac_hda: fix race in device removal (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: set the different setting for QFN/WLCSP package (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: some minor changes to improve readability (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: add the range check for temperature_calib from device property (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: remove unnecessary tabs using spaces instead (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: fix spelling mistake "temperture" -> "temperature" (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: Read and apply r0 and temperature device property (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: set tx/rx slots from tx/rx_mask in TDM case (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: improve the rt1011_set_dai_fmt() function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: remove redundant code in kcontrol (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove unneeded snd_soc_tplg_component_remove() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677-spi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Load firmware via SPI using delayed work (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677-spi: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677-spi: fixup compile warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677-spi: fix sparse warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Add missing null check for failed allocation of rt5677_dsp (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Add a PCM device for streaming hotword via SPI (Jaroslav Kysela) [1797509] - [sound] ALSA: serial-u16550: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: opl4: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: oss: Constify snd_seq_oss_callback definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: opl3: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: opl3: Constify snd_opl3_drum_voice definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: mts64: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: Constify snd_pcm_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: Fix PCM format loop in proc output (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Fix dependency on timer API (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: do not override bus codec_mask in link_get() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Reset stream if DMA RUN bit not cleared (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: No preallocation on x86 platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Update kernel-doc function parameter descriptions (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Comment about snd_hdac_bus_update_rirb() and spinlock (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: trident: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: rme32: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pcxhr: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: intel8x0: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Apply aligned MMIO access only conditionally (Jaroslav Kysela) [1797509] - [sound] ALSA: remove ioremap_nocache and devm_ioremap_nocache (Jaroslav Kysela) [1797509] - [sound] ALSA: au88x0: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: atiixp: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: asihpi: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the headset of ASUS B9450FA with ALC294 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add Headset Button supported for ThinkPad X1 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add Headset Mic supported (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix a regression for mute led on Lenovo Carbon X1 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use scnprintf() for printing texts for sysfs/procfs (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Apply quirk for yet another MSI laptop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Apply quirk for MSI GP63, too (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix silent output on MSI-GL73 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add more codec supported Headset Button (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Clear RIRB status before reading WP (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fixed one of HP ALC671 platform Headset Mic supported (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Fix DP-MST support for NVIDIA codecs (Jaroslav Kysela) [1797509] - [sound] ALSA: hdsp: Make the firmware loading ioctl a bit more readable (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Fix annotation and cast for the recent uapi header change (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Add JasperLake PCI ID and codec vid (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Add Clevo W65_67SB the power_save blacklist (Jaroslav Kysela) [1797509] - [sound] ALSA: cs46xx: fix spelling mistake "to" -> "too" (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add docking station support for Lenovo Thinkpad T420s (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - add retry logic to parse_intel_hdmi() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add Headset Mic supported for HP cPC (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/analog - Minor optimization for SPDIF mux connections (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: patch_hdmi: remove warnings with empty body (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: correct kernel-doc parameter descriptions (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Manage concurrent reg access more properly (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: enable regmap internal locking (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Fix a typo in comments (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Disable regmap internal locking (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: patch_realtek: fix empty macro usage in if block (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Rename back to dmic_detect option (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: echoaudio: remove set but not used variable 'chip' (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add quirk for the bass speaker on Lenovo Yoga X1 7th gen (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Set EAPD control to default for ALC222 (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: fm801: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: ens137x: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: cs4281: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: azt3328: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: ak4531: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: lx6464es: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: aw2: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: cmipci: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: es1968: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: es1938: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: atiixp: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: asihpi: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ctxfi: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: cs46xx: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: korg1212: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: nm256: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ymfpci: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: mixart: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: pcxhr: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: rme9652: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hdspm: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hdsp: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1712: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: riptide: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: au88x0: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ac97: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: intel8x0: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: vx: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Apply mic mute LED quirk for Dell E7xx laptops, too (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add new codec supported for ALCS1200A (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - constify and cleanup static NodeID tables (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_pci_quirk tables (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Constify snd_pci_quirk tables (Jaroslav Kysela) [1797509] - [sound] ALSA: fm801: Constify snd_fm801_tea575x_gpios (Jaroslav Kysela) [1797509] - [sound] ALSA: es1968: Constify snd_es1968_tea575x_gpios (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Constify snd_emu_chip_details (Jaroslav Kysela) [1797509] - [sound] ALSA: bt87x: Constify snd_bt87x_boards (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1712: Constify wm-specific tables (Jaroslav Kysela) [1797509] - [sound] ALSA: ice17xx: Constify snd_ice1712_card_info (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: Constify snd_ca0106_details (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: Constify snd_ca0106_category_str items (Jaroslav Kysela) [1797509] - [sound] ALSA: ac97: Constify snd_ac97_res_table definition (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: vx: Constify snd_vx_hardware and snd_vx_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: info: Make snd_info_entry_ops as const (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: ac97: Treat snd_ac97_bus_ops as const (Jaroslav Kysela) [1797509] - [sound] ALSA: Constify snd_timer_hardware definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_pcm_hardware definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: constify copied structure (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the bass speaker of ASUS UX431FLC (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1724: Fix sleep-in-atomic in Infrasonic Quartet support code (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add Bass Speaker and fixed dac for bass speaker (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Apply sync-write workaround to old Intel platforms, too (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: echoaudio: remove usage of dimen menber of elem_value structure (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - fix atpx_present when CLASS is not VGA (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Make uapi/emu10k1.h compilable again (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add headset Mic no shutup for ALC283 (Jaroslav Kysela) [1797509] - [sound] ALSA: cmipci: Allow disabling MPU port via module option (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Downgrade error message for single-cmd fallback (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Fix regression by strip mask fix (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Fix work handling in delayed HP detection (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Avoid endless loop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Keep power on during processing DSP response (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Unify get_response handling (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use waitqueue for RIRB in HDA-core helper, too (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: tegra: Fix unused variable compile warning (Jaroslav Kysela) [1797509] - [sound] ALSA: hdsp: Make uapi/hdsp.h compilable again (Jaroslav Kysela) [1797509] - [sound] ALSA: vx222: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: pcxhr: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: mixart: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: lx6464es: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ymfpci: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: trident: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: sonicvibes: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: sis7019: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: rme9652: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: rme96: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: rme32: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: riptide: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: oxygen: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: nm256: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: maestro3: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: lola: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: korg1212: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: intel8x0: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1724: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1712: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: fm801: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: es1968: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: es1938: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ens137x: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ctxfi: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: cs5535audio: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: cs46xx: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: cs4281: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: cmipci: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: bt87x: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: azt3328: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: aw2: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: au88x0: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: atiixp: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: als300: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ali5451: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1889: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Line-out jack doesn't work on a Dell AIO (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - Fix duplicate unref of pci_dev (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: simplify get_audio_levels (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - Keep old slot assignment behavior for Intel platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Modify stream stripe mask only when needed (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - fixup for the bass speaker on Lenovo Carbon X1 7th gen (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - preserve non-MST PCM routing for Intel platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - fix kernel oops caused by invalid PCM idx (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix inverted bass GPIO pin on Acer 8951G (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - fix regression in connect list handling (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - enable automatic runtime pm for AMD HDMI codecs by default (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - enable runtime pm for newer AMD display audio (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - Add new pci ids for AMD GPU display audio (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - fix vgaswitcheroo detection for AMD (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable internal speaker of ASUS UX431FLC (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - Clear codec->relaxed_resume flag at unbinding (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Disable audio component for legacy Nvidia HDMI codecs (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Move some alc236 pintbls to fallback table (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Move some alc256 pintbls to fallback table (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add mute led support for HP ProBook 645 G4 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add DP-MST support for NVIDIA codecs (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add DP-MST support for non-acomp codecs (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add DP-MST jack support (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Rename snd_hda_pin_sense to snd_hda_jack_pin_sense (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - remove forced polling workaround for CFL and CNL (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - remove redundant code comments (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - fix port numbering for ICL and TGL platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - Clean up Intel platform-specific fixup checks (Jaroslav Kysela) [1797509] - [sound] ALSA: au88x0: Fix incorrect device pointer for preallocation (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - fix pin setup on Tigerlake (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Add Cometlake-S PCI ID (Jaroslav Kysela) [1797509] - [sound] ALSA: rme32: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - add Tigerlake support (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Fix possible workqueue stall (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: Fix concurrent access to queue current tick/time (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: Avoid concurrent access to queue flags (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix double hw_free calls (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix sparse warnings wrt snd_pcm_state_t (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix memory leak at closing a stream without hw_free (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Set per-card upper limit of PCM buffer allocations (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Make snd_pcm_hw_constraints_init() and _complete() static (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: Fix racy access for queue timer in proc read (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: fix nsec/sec initialization confusion (Jaroslav Kysela) [1797509] - [sound] ALSA: control: potential uninitialized return value (Jaroslav Kysela) [1797509] - [sound] ALSA: rawmidi: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: oss: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: jack: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: info: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: control: Add verification for kctl accesses (Jaroslav Kysela) [1797509] - [sound] ALSA: mixer: oss: Constify snd_mixer_oss_assign_table definition (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: Constify struct snd_midi_op (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Constify snd_timer_hardware definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Treat snd_device_ops as const (Jaroslav Kysela) [1797509] - [sound] ALSA: ctl: allow TLV read operation for callback type of element in locked case (Jaroslav Kysela) [1797509] - [sound] ALSA: ctl: remove dimen member from elem_info structure (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Avoid possible info leaks from PCM stream buffers (Jaroslav Kysela) [1797509] - [sound] ALSA: control: remove useless assignment in .info callback of PCM chmap element (Jaroslav Kysela) [1797509] - [sound] ALSA: uapi: Fix typos and header inclusion in asound.h (Jaroslav Kysela) [1797509] - [sound] ALSA: bump uapi version numbers (Jaroslav Kysela) [1797509] - [sound] ALSA: add new 32-bit layout for snd_pcm_mmap_status/control (Jaroslav Kysela) [1797509] - [sound] ALSA: move snd_pcm_ioctl_sync_ptr_compat into pcm_native.c (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_ctl_elem_value (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_timer_tread (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_rawmidi_status (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_pcm_status (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_timer_status (Jaroslav Kysela) [1797509] - [sound] ALSA: Replace timespec with timespec64 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: fixup dpcm_prune_paths() loop continue (Jaroslav Kysela) [1797509] - [sound] ALSA: ps3: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pmac: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ymfpci: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: trident: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: sonicvibes: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: sis7019: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: riptide: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: oxygen: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: mixart: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: maestro3: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: lx6464es: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: lola: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: intel8x0: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1724: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1712: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: fm801: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: es1938: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ens137x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ctxfi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: cs5535: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: cs4281: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: cmipci: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: bt87x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: azt3328: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aw2: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: atiixp: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: asihpi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: als4000: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: parisc: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: wss: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: gus: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: sb: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: es18xx: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: es1688: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: cmi8330: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1816a: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pcsp: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: atmel: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aaci: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: es1968: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: rme: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: als300: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ali5451: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1889: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use standard waitqueue for RIRB wakeup (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Drop superfluous snd_pcm_sgbuf_ops_page (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: atom: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sst-mfld-platform-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sst-baytrail-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: Drop superfluous snd_pcm_sgbuf_ops_page (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sst-haswell-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skylake: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skl-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ml403: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: vx: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: vx: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Avoid pointer dereference before null-check (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Avoid unexpected timer event callback tasklets (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Remove redundant locking in timer open function (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Support runtime change of snd_timer via info interface (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Support selection of snd_timer instead of jiffies (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Move CABLE_VALID_BOTH to the top of file (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Rename all jiffies timer specific functions (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Use callback functions for timer specific implementations (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Support return of error code for timer start and stop (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Describe units of variables (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_free_pcm_runtime() and soc_rtd_free() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_new_pcm_runtime() and soc_rtd_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: create rtd->codec_dais first (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: call list_del(&rtd->list) at soc_free_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_add_pcm_runtime() into soc_new_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move soc_free_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: use list_del_init and move it back to soc_cleanup_component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: delete component->card_list in soc_remove_component only (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-component: remove snd_pcm_ops from component driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add new pcm_construct/pcm_destruct (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_pcm_ops member to component driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-component.h: remove GPL explanation from header (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Avoid potential buffer overflows (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Add card sync_irq field (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Add the support for sync-stop operation (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Move PCM_RUNTIME_CHECK() macro into local header (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Allow NULL ioctl ops (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Introduce managed buffer allocation mode (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix stream lock usage in snd_pcm_period_elapsed() (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Fix the breakage of slave link open (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Unexport snd_pcm_sgbuf_ops_page (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Yet another missing check of non-cached buffer type (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Fix possible race at assigning a timer instance (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Make snd_timer_close() returning void (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Unify master/slave linking code (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Fix incorrectly assigned timer instance (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Limit max amount of slave instances (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Create proc files only for non-empty preallocations (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Warn if doubly preallocated (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Handle special page mapping in the default mmap handler (Jaroslav Kysela) [1797509] - [sound] ALSA: memalloc: Add vmalloc buffer allocation support (Jaroslav Kysela) [1797509] - [sound] ALSA: memalloc: Allow NULL device for SNDRV_DMA_TYPE_CONTINUOUS type (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm_dmaengine: Extract snd_dmaengine_pcm_refine_runtime_hwparams (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel - do not describe I/O configuration in the long card name (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel - use control components to describe card config (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: make common HDMI driver the default for SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: sof_rt5682: use dependency on SOF_HDA_LINK (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: Geminilake is only supported by SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: fix configs for bxt-da7219-max98057a (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: remove select SND_HDA_DSP_LOADER (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: Add CML m/c using RT1011 and RT5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: compress: fix unsigned integer overflow check (Jaroslav Kysela) [1797509] - [sound] ALSA: Revert "ALSA: usb-audio: set the interface format after resume on Dell WD19" (Jaroslav Kysela) [1797509]- [crypto] crypto: ccp - use file mode for sev ioctl permissions (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Cleanup sp_dev_master in psp_dev_destroy() (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Cleanup misc_dev on sev_exit() (Vladis Dronov) [1765717] - [crypto] crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN (Vladis Dronov) [1765717] - [crypto] crypto: ccp - move SEV vdata to a dedicated data structure (Vladis Dronov) [1765717] - [crypto] crypto: ccp - create a generic psp-dev file (Vladis Dronov) [1765717] - [crypto] crypto: ccp - rename psp-dev files to sev-dev (Vladis Dronov) [1765717] - [crypto] crypto: ccp - set max RSA modulus size for v3 platform devices as well (Vladis Dronov) [1765717] - [crypto] crypto: ccp - add SEV command privilege separation (Vladis Dronov) [1765717] - [crypto] crypto: ccp - fix uninitialized list head (Vladis Dronov) [1765717] - [crypto] crypto: user - fix memory leak in crypto_report (Vladis Dronov) [1829808 1765717] {CVE-2019-19062} - [crypto] crypto: ccp - Release all allocated memory if sha type is invalid (Vladis Dronov) [1825134 1765717] {CVE-2019-18808} - [crypto] crypto: ccp - invoke fallback for XTS ciphertext stealing (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Remove unnecessary linux/pci.h include (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Include DMA declarations explicitly (Vladis Dronov) [1765717] - [crypto] crypto: ccp - use devm_platform_ioremap_resource() to simplify code (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Clean up and exit correctly on allocation failure (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Log an error message when ccp-crypto fails to load (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Ignore tag length when decrypting GCM ciphertext (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Add support for valid authsize values less than 16 (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Fix oops by properly managing allocated structures (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Reduce maximum stack usage (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Include the module name in system log messages (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Add a module parameter to control registration for DMA (Vladis Dronov) [1765717] - [crypto] crypto: ccp - module parameter to limit the number of enabled CCPs (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Add a module parameter to specify a queue count (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Make CCP debugfs support optional (Vladis Dronov) [1765717] - [crypto] crypto: ctr - add helper for performing a CTR encryption walk (Vladis Dronov) [1765717] - [crypto] crypto: ccp - memset structure fields to zero before reuse (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Fix 3DES complaint from ccp-crypto module (Vladis Dronov) [1765717] - [crypto] crypto: ccp - fix AES CFB error exposed by new test vectors (Vladis Dronov) [1765717] - [crypto] crypto: ccp - AES CFB mode is a stream cipher (Vladis Dronov) [1765717] - [crypto] treewide: Add SPDX license identifier - Makefile/Kconfig (Vladis Dronov) [1765717] - [crypto] crypto: shash - remove shash_desc::flags (Vladis Dronov) [1765717] - [crypto] crypto: ccp - no need to check return value of debugfs_create functions (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Remove forward declaration (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Remove VLA usage of skcipher (Vladis Dronov) [1765717] - [crypto] crypto: skcipher - Introduce crypto_sync_skcipher (Vladis Dronov) [1765717] - [infiniband] IB/mlx4: Test return value of calls to ib_get_cached_pkey (Alaa Hleihel) [1767259] - [netdrv] net/mlx4_core: Fix use of ENOSPC around mlx4_counter_alloc() (Alaa Hleihel) [1767259] - [infiniband] RDMA/mlx4: Initialize ib_spec on the stack (Alaa Hleihel) [1767259] - [powerpc] powerpc/powernv: Re-enable imc trace-mode in kernel (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: Implement a global lock to avoid races between trace, core and thread imc events (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: Return accordingly on invalid chip-id in (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: Remove PM_BR_CMPL_ALT from power9 event list (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: Add generic compat mode pmu driver (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: init pmu from core-book3s (Desnes Augusto Nunes do Rosario) [1725201] - [fs] NFS: Fix fscache super_cookie index_key from changing after umount (Dave Wysochanski) [1790933] - [fs] NFSv4: Fix fscache cookie aux_data to ensure change_attr is included (Dave Wysochanski) [1793560] - [fs] nfs: fscache: use timespec64 in inode auxdata (Dave Wysochanski) [1793560] - [documentation] i2c: replace i2c_new_probed_device with an ERR_PTR variant (David Arcari) [1835245] - [documentation] docs: stop suggesting strlcpy (David Arcari) [1835245] - [scsi] scsi: hpsa: Update driver version (Joseph Szczypek) [1815628] - [scsi] scsi: hpsa: correct race condition in offload enabled (Joseph Szczypek) [1815628] - [kernel] audit: log audit netlink multicast bind and unbind (Richard Guy Briggs) [1829622] - [ipc] ipc/mqueue.c: change __do_notify() to bypass check_kill_permission() (Oleg Nesterov) [1808931] - [scsi] scsi: megaraid_sas: Update driver version to 07.714.04.00-rc1 (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: TM command refire leads to controller firmware crash (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Replace undefined MFI_BIG_ENDIAN macro with __BIG_ENDIAN_BITFIELD macro (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Remove IO buffer hole detection logic (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Limit device queue depth to controller queue depth (Tomas Henzl) [1791041] - [scsi] scsi: megaraid: Use true, false for bool variables (Tomas Henzl) [1791041] - [scsi] scsi: megaraid: make two symbols static in megaraid_sas_base.c (Tomas Henzl) [1791041] - [scsi] scsi: megaraid: make some symbols static in megaraid_sas_fusion.c (Tomas Henzl) [1791041] - [scsi] scsi: megaraid: make some symbols static in megaraid_sas_fp.c (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Use scnprintf() for avoiding potential buffer overflow (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: silence a warning (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: fix indentation issue (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Update driver version to 07.713.01.00-rc1 (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Use Block layer API to check SCSI device in-flight IO requests (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Limit the number of retries for the IOCTLs causing firmware fault (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Do not initiate OCR if controller is not in ready state (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Re-Define enum DCMD_RETURN_STATUS (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Do not set HBA Operational if FW is not in operational state (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Do not kill HBA if JBOD Seqence map or RAID map is disabled (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Do not kill host bus adapter, if adapter is already dead (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Update optimal queue depth for SAS and NVMe devices (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Set no_write_same only for Virtual Disk (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Reset adapter if FW is not in READY state after device resume (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Make poll_aen_lock static (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: remove unused variables 'debugBlk', 'fusion' (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Unique names for MSI-X vectors (Tomas Henzl) [1791041]- [crypto] crypto: drbg - fix error return code in drbg_alloc_state() (Vladis Dronov) [1822458] - [fs] fs: call fsnotify_sb_delete after evict_inodes (Jay Shin) [1834741] - [fs] fs: avoid softlockups in s_inodes iterators (Jay Shin) [1834741] - [fs] fs/drop_caches.c: avoid softlockups in drop_pagecache_sb() (Jay Shin) [1834741] - [net] net/smc: remove set but not used variables 'del_llc, del_llc_resp' (Philipp Rudo) [1725886] - [net] net/smc: remove unused inline function smc_curs_read (Philipp Rudo) [1725886] - [net] net/smc: log important pnetid and state change events (Philipp Rudo) [1725886] - [net] net/smc: save SMC-R peer link_uid (Philipp Rudo) [1725886] - [net] net/smc: create improved SMC-R link_uid (Philipp Rudo) [1725886] - [net] net/smc: improve termination processing (Philipp Rudo) [1725886] - [net] net/smc: add termination reason and handle LLC protocol violation (Philipp Rudo) [1725886] - [net] net/smc: asymmetric link tagging (Philipp Rudo) [1725886] - [net] net/smc: assign link to a new connection (Philipp Rudo) [1725886] - [net] net/smc: send DELETE_LINK, ALL message and wait for send to complete (Philipp Rudo) [1725886] - [net] net/smc: wait for departure of an IB message (Philipp Rudo) [1725886] - [net] net/smc: handle incoming CDC validation message (Philipp Rudo) [1725886] - [net] net/smc: send failover validation message (Philipp Rudo) [1725886] - [net] net/smc: switch connections to alternate link (Philipp Rudo) [1725886] - [net] net/smc: save state of last sent CDC message (Philipp Rudo) [1725886] - [net] net/smc: enqueue local LLC messages (Philipp Rudo) [1725886] - [net] net/smc: delete link processing as SMC server (Philipp Rudo) [1725886] - [net] net/smc: delete link processing as SMC client (Philipp Rudo) [1725886] - [net] net/smc: llc_del_link_work and use the LLC flow for delete link (Philipp Rudo) [1725886] - [net] net/smc: delete an asymmetric link as SMC server (Philipp Rudo) [1725886] - [net] net/smc: final part of add link processing as SMC server (Philipp Rudo) [1725886] - [net] net/smc: rkey processing for a new link as SMC server (Philipp Rudo) [1725886] - [net] net/smc: first part of add link processing as SMC server (Philipp Rudo) [1725886] - [net] net/smc: final part of add link processing as SMC client (Philipp Rudo) [1725886] - [net] net/smc: rkey processing for a new link as SMC client (Philipp Rudo) [1725886] - [net] net/smc: first part of add link processing as SMC client (Philipp Rudo) [1725886] - [net] smc: Remove unused function (Philipp Rudo) [1725886] - [net] net/smc: llc_add_link_work to handle ADD_LINK LLC requests (Philipp Rudo) [1725886] - [net] net/smc: allocate index for a new link (Philipp Rudo) [1725886] - [net] net/smc: introduce smc_pnet_find_alt_roce() (Philipp Rudo) [1725886] - [net] net/smc: remove DELETE LINK processing from smc_core.c (Philipp Rudo) [1725886] - [net] net/smc: take link down instead of terminating the link group (Philipp Rudo) [1725886] - [net] net/smc: add smcr_port_err() and smcr_link_down() processing (Philipp Rudo) [1725886] - [net] net/smc: add smcr_port_add() and smcr_link_up() processing (Philipp Rudo) [1725886] - [net] net/smc: remember PNETID of IB device for later device matching (Philipp Rudo) [1725886] - [net] net/smc: mutex to protect the lgr against parallel reconfigurations (Philipp Rudo) [1725886] - [net] net/smc: extend smc_llc_send_add_link() and smc_llc_send_delete_link() (Philipp Rudo) [1725886] - [net] net/smc: map and register buffers for a new link (Philipp Rudo) [1725886] - [net] net/smc: unmapping of buffers to support multiple links (Philipp Rudo) [1725886] - [net] net/smc: multiple link support for rmb buffer registration (Philipp Rudo) [1725886] - [net] net/smc: remove obsolete link state DELETING (Philipp Rudo) [1725886] - [net] net/smc: remove handling of CONFIRM_RKEY_CONTINUE (Philipp Rudo) [1725886] - [net] net/smc: adapt SMC remote DELETE_RKEY processing to use the LLC flow (Philipp Rudo) [1725886] - [net] net/smc: adapt SMC remote CONFIRM_RKEY processing to use the LLC flow (Philipp Rudo) [1725886] - [net] net/smc: new smc_rtoken_set functions for multiple link support (Philipp Rudo) [1725886] - [net] net/smc: move the TEST_LINK response processing into event handler (Philipp Rudo) [1725886] - [net] net/smc: multiple link support and LLC flow for smc_llc_do_delete_rkey (Philipp Rudo) [1725886] - [net] net/smc: multiple link support and LLC flow for smc_llc_do_confirm_rkey (Philipp Rudo) [1725886] - [net] net/smc: adapt SMC client code to use the LLC flow (Philipp Rudo) [1725886] - [net] net/smc: adapt SMC server code to use the LLC flow (Philipp Rudo) [1725886] - [net] net/smc: add logic to evaluate CONFIRM_LINK messages to LLC layer (Philipp Rudo) [1725886] - [net] net/smc: introduce link group type (Philipp Rudo) [1725886] - [net] net/smc: enqueue all received LLC messages (Philipp Rudo) [1725886] - [net] net/smc: add event-based llc_flow framework (Philipp Rudo) [1725886] - [net] net/smc: move llc layer related init and clear into smc_llc.c (Philipp Rudo) [1725886] - [net] net/smc: use mutex instead of rwlock_t to protect buffers (Philipp Rudo) [1725886] - [net] net/smc: process llc responses in tasklet context (Philipp Rudo) [1725886] - [net] net/smc: use worker to process incoming llc messages (Philipp Rudo) [1725886] - [net] net/smc: simplify link deactivation (Philipp Rudo) [1725886] - [net] net/smc: move testlink work to system work queue (Philipp Rudo) [1725886] - [net] net/smc: add new link state and related helpers (Philipp Rudo) [1725886] - [net] net/smc: multi-link support for smc_rmb_rtoken_handling() (Philipp Rudo) [1725886] - [net] net/smc: convert static link ID instances to support multiple links (Philipp Rudo) [1725886] - [net] net/smc: convert static link ID to dynamic references (Philipp Rudo) [1725886] - [net] net/smc: introduce link_idx for link group array (Philipp Rudo) [1725886] - [net] net/smc: separate function for link initialization (Philipp Rudo) [1725886] - [net] net/smc: rework pnet table to support SMC-R failover (Philipp Rudo) [1725886] - [net] net/smc: improve peer ID in CLC decline for SMC-R (Philipp Rudo) [1725886] - [net] net/smc: rework peer ID handling (Philipp Rudo) [1725886] - [net] net/smc: reduce port_event scheduling (Philipp Rudo) [1725886] - [net] net/smc: simplify normal link termination (Philipp Rudo) [1725886] - [net] net/smc: remove unused parameter of smc_lgr_terminate() (Philipp Rudo) [1725886] - [net] net/smc: do not delete lgr from list twice (Philipp Rudo) [1725886] - [net] net/smc: use termination worker under send_lock (Philipp Rudo) [1725886] - [net] net/smc: improve smc_lgr_cleanup() (Philipp Rudo) [1725886] - [pci] PCI: Add new PCI_VPD_RO_KEYWORD_SERIALNO macro (Jonathan Toppins) [1834900] - [pci] PCI: Introduce pci_get_dsn (Jonathan Toppins) [1834900] - [scsi] scsi: lpfc: Remove redundant initialization to variable rc (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.1 (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Fix MDS Diagnostic Enablement definition (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Fix noderef and address space warnings (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Remove unnecessary lockdep_assert_held calls (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Change default queue allocation for reduced memory consumption (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Fix negation of else clause in lpfc_prep_node_fc4type (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Remove re-binding of nvme rport during registration (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Maintain atomic consistency of queue_claimed flag (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: remove duplicate unloading checks (Dick Kennedy) [1835310] - [scsi] scsi: qedf: Get dev info after updating the params (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Fix crash when MFW calls for protocol stats while function is still probing (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Add schedule recovery handler (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Implement callback for bw_update (Nilesh Javali) [1792113] - [netdrv] scsi: qed: Send BW update notifications to the protocol drivers (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Honor status qualifier in FCP_RSP per spec (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Acquire rport_lock for resetting the delay_timestamp (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Increase the upper limit of retry delay (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Keep track of num of pending flogi (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Simplify mutex_unlock() usage (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Add port_id getter (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Remove always false 'tmp_prio < 0' statement (Nilesh Javali) [1792113] - [include] NFSv4.1: fix handling of backchannel binding in BIND_CONN_TO_SESSION (Steve Dickson) [1828592] - [edac] EDAC/amd64: Drop some family checks for newer systems (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/amd64: Add family ops for Family 19h Models 00h-0Fh (Aristeu Rozanski) [1779822 1735611] - [x86] x86/amd_nb: Add Family 19h PCI IDs (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/mce_amd: Always load on SMCA systems (Aristeu Rozanski) [1779822 1735611] - [x86] x86/MCE/AMD, EDAC/mce_amd: Add new Load Store unit McaType (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/amd64: Save max number of controllers to family type (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/amd64: Gather hardware information early (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/amd64: Make struct amd64_family_type global (Aristeu Rozanski) [1779822 1735611] - [fs] nfsd: Add tracepoints for update of the expkey and export cache entries (Dave Wysochanski) [1775408] - [fs] nfsd: Add tracepoints for exp_find_key() and exp_get_by_name() (Dave Wysochanski) [1775408] - [fs] nfsd: Add tracing to nfsd_set_fh_dentry() (Dave Wysochanski) [1775408] - [net] SUNRPC: Clean up: Replace dprintk and BUG_ON call sites in svcauth_gss.c (Dave Wysochanski) [1775408] - [net] svcrdma: Create a generic tracing class for displaying xdr_buf layout (Dave Wysochanski) [1775408] - [net] SUNRPC: Capture completion of all RPC tasks (Dave Wysochanski) [1775408] - [net] SUNRPC: Trace gssproxy upcall results (Dave Wysochanski) [1775408] - [trace] fix null pointer deref in tracepoints in back channel (Dave Wysochanski) [1775408] - [fs] NFS: Clean up generic file commit tracepoint (Dave Wysochanski) [1775408] - [fs] NFS: Clean up generic writeback tracepoints (Dave Wysochanski) [1775408] - [fs] NFS: Clean up generic file read tracepoints (Dave Wysochanski) [1775408] - [fs] pNFS/flexfiles: Add tracing for layout errors (Dave Wysochanski) [1775408] - [fs] pNFS/flexfiles: Record resend attempts on I/O failure (Dave Wysochanski) [1775408] - [fs] NFS: Fix fix of show_nfs_errors (Dave Wysochanski) [1775408] - [fs] NFSv4: Improve read/write/commit tracing (Dave Wysochanski) [1775408] - [fs] NFS4: Report callback authentication errors (Dave Wysochanski) [1775408] - [fs] NFS4: Trace lock reclaims (Dave Wysochanski) [1775408] - [fs] NFS4: Trace state recovery operation (Dave Wysochanski) [1775408] - [fs] NFS: Add a tracepoint in nfs_fh_to_dentry() (Dave Wysochanski) [1775408] - [fs] pnfs/flexfiles: Add tracepoints for detecting pnfs fallback to MDS (Dave Wysochanski) [1775408] - [fs] NFS: Record task, client ID, and XID in xdr_status trace points (Dave Wysochanski) [1775408] - [fs] NFS: Display symbolic status code names in trace log (Dave Wysochanski) [1775408] - [fs] NFS: Fix show_nfs_errors macros again (Dave Wysochanski) [1775408] - [fs] NFS4: Add a trace event to record invalid CB sequence IDs (Dave Wysochanski) [1775408] - [media] media: v4l: event: Add subscription to list before calling "add" operation (Jarod Wilson) [1828805] {CVE-2019-9458} - [media] media: v4l: event: Prevent freeing event subscriptions while accessed (Jarod Wilson) [1828805] {CVE-2019-9458} - [vhost] vhost: Check docket sk_family instead of call getname (Vladis Dronov) [1823301] {CVE-2020-10942} - [documentation] kvm: ppc: book3s hv: Add a capability for enabling secure guests (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: H_SVM_INIT_START must call UV_RETURN (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Check caller of H_SVM_* Hcalls (David Gibson) [1814624] - [powerpc] Introduce the MSR_S bit (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Skip kvmppc_uvmem_free if Ultravisor is not supported (David Gibson) [1814624] - [powerpc] kvm: ppc: Kill kvmppc_ops::mmu_destroy() and kvmppc_mmu_destroy() (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s pr: Move kvmppc_mmu_init() into PR KVM (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Treat TM-related invalid form instructions on P9 like the valid ones (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Use RADIX_PTE_INDEX_SIZE in Radix MMU code (David Gibson) [1814624] - [powerpc] kvm: no need to check return value of debugfs_create functions (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s pr: Fix -Werror=return-type build failure (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Release lock on page-out failure path (David Gibson) [1814624] - [powerpc] mm: Remove kvm radix prefetch workaround for Power9 DD2.2 (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: xive: Fix typo in comment (David Gibson) [1814624] - [documentation] kvm: ppc: book3s hv: Implement H_SVM_INIT_ABORT hcall (David Gibson) [1814624] - [powerpc] kvm: ppc: Add skip_page_out parameter to uvmem functions (David Gibson) [1814624] - [powerpc] kvm: ppc: book3e: Replace current->mm by kvm->mm (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s: Replace current->mm by kvm->mm (David Gibson) [1814624] - [mm] add account_locked_vm utility function (David Gibson) [1814624] - [powerpc] kvm: ppc: Remove set but not used variable 'ra', 'rs', 'rt' (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Don't do ultravisor calls on systems without ultravisor (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Support reset of secure guest (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Handle memory plug/unplug to secure VM (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Radix changes for secure guest (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Shared pages support for secure guests (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Support for running secure guests (David Gibson) [1814624] - [powerpc] pseries/svm: Unshare all pages before kexecing a new kernel (David Gibson) [1814624] - [powerpc] pseries/svm: Use shared memory for LPPACA structures (David Gibson) [1814624] - [powerpc] pseries: Add and use LPPACA_SIZE constant (David Gibson) [1814624] - [powerpc] pseries/svm: Add helpers for UV_SHARE_PAGE and UV_UNSHARE_PAGE (David Gibson) [1814624] - [powerpc] prom_init: Add the ESM call to prom_init (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Reject mflags=2 (LPCR[AIL]=2) ADDR_TRANS_MODE mode (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Implement LPCR[AIL]=3 mode for injected interrupts (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Reuse kvmppc_inject_interrupt for async guest delivery (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s: Replace reset_msr mmu op with inject_interrupt arch op (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s: Define and use SRR1_MSR_BITS (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: xive: Show VP id in debugfs (David Gibson) [1814624] - [powerpc] kvm: ppc: e500: Replace current->mm by kvm->mm (David Gibson) [1814624] - [powerpc] kvm: ppc: Report single stepping capability (David Gibson) [1814624] - [powerpc] kvm: Fix kvmppc_vcore->in_guest value in kvmhv_switch_to_host (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: use smp_mb() when setting/clearing host_ipi flag (David Gibson) [1814624] - [powerpc] 64s: Set reserved PCR bits (David Gibson) [1814624] - [powerpc] Fix definition of PCR bits to work with old binutils (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s: Invalidate multiple TCEs at once (David Gibson) [1814624] - [powerpc] powernv/ioda: Split out TCE invalidation from TCE updates (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Don't lose pending doorbell request on migration on P9 (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Check for MMU ready on piggybacked virtual cores (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Define usage types for rmap array in guest memslot (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Don't push XIVE context when not using XIVE device (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Fix race in re-enabling XIVE escalation interrupts (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s pr: Fix software breakpoints (David Gibson) [1814624] - [powerpc] kvm: ppc: Remove leftover comment from emulate_loadstore.c (David Gibson) [1814624] - [x86] hyperv: Properly suspend/resume reenlightenment notifications (Mohammed Gamal) [1815475] - [kernel] pm: hibernate: Freeze kernel threads in software_resume() (Mohammed Gamal) [1815475] - [kernel] pm: hibernate: Propagate the return value of hibernation_restore() (Mohammed Gamal) [1815475] - [x86] hyperv: Suspend/resume the VP assist page for hibernation (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Fix Suspend-to-Idle for Generation-2 VM (Mohammed Gamal) [1815475] - [net] hv_sock: Add the support of hibernation (Mohammed Gamal) [1815475] - [video] hyperv_fb: Fix hibernation for the deferred IO feature (Mohammed Gamal) [1815475] - [video] hyperv_fb: Add the support of hibernation (Mohammed Gamal) [1815475] - [scsi] storvsc: Add the support of hibernation (Mohammed Gamal) [1815475] - [netdrv] hv_netvsc: Add the support of hibernation (Mohammed Gamal) [1815475] - [pci] hv: Change pci_protocol_version to per-hbus (Mohammed Gamal) [1815475] - [pci] hv: Add hibernation support (Mohammed Gamal) [1815475] - [input] hyperv-keyboard: Add the support of hibernation (Mohammed Gamal) [1815475] - [hid] hyperv: NULL check before some freeing functions is not needed (Mohammed Gamal) [1815475] - [hid] hyperv: Add the support of hibernation (Mohammed Gamal) [1815475] - [clocksource] hyper-v: Suspend/resume Hyper-V clocksource for hibernation (Mohammed Gamal) [1815475] - [x86] hyperv: Suspend/resume the hypercall page for hibernation (Mohammed Gamal) [1815475] - [x86] hyperv: Implement hv_is_hibernation_supported() (Mohammed Gamal) [1815475] - [hv] hv_utils: Add the support of hibernation (Mohammed Gamal) [1815475] - [hv] hv_utils: Support host-initiated hibernation request (Mohammed Gamal) [1815475] - [hv] hv_utils: Support host-initiated restart request (Mohammed Gamal) [1815475] - [hv] hv_balloon: Add the support of hibernation (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Fix harmless building warnings without CONFIG_PM_SLEEP (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Resume after fixing up old primary channels (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Suspend after cleaning up hv_sock and sub channels (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Clean up hv_sock channels by force upon suspend (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Suspend/resume the vmbus itself for hibernation (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Ignore the offers when resuming from hibernation (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Implement suspend/resume for VSC drivers for hibernation (Mohammed Gamal) [1815475] - [net] ipv4: really enforce backoff for redirects (Paolo Abeni) [1834184] - [net] netfilter: nat: never update the UDP checksum when it's 0 (Guillaume Nault) [1794714] - [net] sched: allow flower to match erspan options (Xin Long) [1830482] - [net] sched: allow flower to match vxlan options (Xin Long) [1830482] - [net] sched: add erspan option support to act_tunnel_key (Xin Long) [1830482] - [net] sched: add vxlan option support to act_tunnel_key (Xin Long) [1830482] - [netdrv] netdevsim: disable devlink reload when resources are being used (Ivan Vecera) [1829778] - [netdrv] netdevsim: fix using uninitialized resources (Ivan Vecera) [1829778] - [netdrv] drivers/net: netdevsim depends on INET (Ivan Vecera) [1829778] - [netdrv] netdevsim: fix nsim_fib6_rt_create() error path (Ivan Vecera) [1829778] - [tools] selftests: netdevsim: Add test for FIB offload API (Ivan Vecera) [1829778] - [tools] selftests: forwarding: Add helpers and tests for FIB offload (Ivan Vecera) [1829778] - [tools] selftests: mlxsw: Add a self-test for port-default priority (Ivan Vecera) [1829778] - [netdrv] netdevsim: fib: Add dummy implementation for FIB offload (Ivan Vecera) [1829778] - [net] ipv6: Add "offload" and "trap" indications to routes (Ivan Vecera) [1829778] - [net] ipv4: Add "offload" and "trap" indications to routes (Ivan Vecera) [1829778] - [net] ipv4: Encapsulate function arguments in a struct (Ivan Vecera) [1829778] - [net] ipv4: Replace route in list before notifying (Ivan Vecera) [1829778] - [tools] selftests: netdevsim: Extend devlink trap test to include flow action cookie (Petr Oros) [1823745] - [netdrv] netdevsim: add ACL trap reporting cookie as a metadata (Petr Oros) [1823745] - [net] devlink: extend devlink_trap_report() to accept cookie and pass (Petr Oros) [1823745] - [net] drop_monitor: extend by passing cookie from driver (Petr Oros) [1823745] - [net] devlink: add trap metadata type for cookie (Petr Oros) [1823745] - [net] devlink: add ACL generic packet traps (Petr Oros) [1823745] - [net] devlink: Add overlay source MAC is multicast trap (Petr Oros) [1823745] - [net] devlink: Add tunnel generic packet traps (Petr Oros) [1823745] - [net] devlink: Add non-routable packet trap (Petr Oros) [1823745] - [netdrv] mlxsw: spectrum_router: Prevent incorrect replacement of local table routes (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Remove FIB entry list from FIB node (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Consolidate identical functions (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Make route creation and destruction symmetric (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Eliminate dead code (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Remove unnecessary checks (Ivan Vecera) [1828994] - [net] ipv6: Remove old route notifications and convert listeners (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Start using new IPv6 route notifications (Ivan Vecera) [1828994] - [net] ipv6: Handle multipath route deletion notification (Ivan Vecera) [1828994] - [net] ipv6: Handle route deletion notification (Ivan Vecera) [1828994] - [net] ipv6: Only Replay routes of interest to new listeners (Ivan Vecera) [1828994] - [net] ipv6: Notify multipath route if should be offloaded (Ivan Vecera) [1828994] - [net] ipv6: Notify route if replacing currently offloaded one (Ivan Vecera) [1828994] - [net] ipv6: Notify newly added route if should be offloaded (Ivan Vecera) [1828994] - [include] net: fib_notifier: Add temporary events to the FIB notification chain (Ivan Vecera) [1828994] - [net] ipv4: Remove old route notifications and convert listeners (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Start using new IPv4 route notifications (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Don't rely on missing extack to symbolize dump (Ivan Vecera) [1828994] - [net] ipv4: Only Replay routes of interest to new listeners (Ivan Vecera) [1828994] - [net] ipv4: Handle route deletion notification during flush (Ivan Vecera) [1828994] - [net] ipv4: Handle route deletion notification (Ivan Vecera) [1828994] - [net] ipv4: Notify newly added route if should be offloaded (Ivan Vecera) [1828994] - [net] ipv4: Notify route if replacing currently offloaded one (Ivan Vecera) [1828994] - [net] ipv4: Extend FIB alias find function (Ivan Vecera) [1828994] - [net] ipv4: Notify route after insertion to the routing table (Ivan Vecera) [1828994] - [include] net: fib_notifier: Add temporary events to the FIB notification chain (Ivan Vecera) [1828994] - [net] vti6: Fix memory leak of skb if input policy check fails (Xin Long) [1829720] - [net] xfrm: policy: Fix doulbe free in xfrm_policy_timer (Xin Long) [1829720] - [net] xfrm: add the missing verify_sec_ctx_len check in xfrm_add_acquire (Xin Long) [1829720] - [net] xfrm: fix uctx len check in verify_sec_ctx_len (Xin Long) [1829720] - [net] xfrm: handle NETDEV_UNREGISTER for xfrm device (Xin Long) [1829720] - [net] xfrm: interface: do not confirm neighbor when do pmtu update (Xin Long) [1829720] - [documentation] xfrm: update doc about xfrm[46]_gc_thresh (Xin Long) [1829720] - [documentation] devlink: remove trigger command from devlink-region.rst (Petr Oros) [1822570] - [include] devlink: promote "fw.bundle_id" to a generic info version (Petr Oros) [1822570] - [documentation] devlink: document devlink info versions reported by bnxt_en driver (Petr Oros) [1822570] - [include] devlink: add macro for "fw.roce" (Petr Oros) [1822570] - [documentation] Fix typo in devlink documentation (Petr Oros) [1822570] - [documentation] devlink: fix typos in qed documentation (Petr Oros) [1822570] - [documentation] devlink: document region snapshot triggering from userspace (Petr Oros) [1822570] - [documentation] devlink: introduce devlink-dpipe.rst documentation file (Petr Oros) [1822570] - [documentation] devlink: add a devlink-resource.rst documentation file (Petr Oros) [1822570] - [netdrv] devlink: rename and expand devlink-trap-netdevsim.rst (Petr Oros) [1822570] - [documentation] devlink: add documentation for ionic device driver (Petr Oros) [1822570] - [documentation] devlink: add a file documenting devlink regions (Petr Oros) [1822570] - [documentation] devlink: add a driver-specific file for the qed driver (Petr Oros) [1822570] - [documentation] devlink: add parameter documentation for the mlx4 driver (Petr Oros) [1822570] - [documentation] devlink: document info versions for each driver (Petr Oros) [1822570] - [documentation] devlink: convert driver-specific files to reStructuredText (Petr Oros) [1822570] - [documentation] devlink: mention reloading in devlink-params.rst (Petr Oros) [1822570] - [documentation] devlink: add documentation for generic devlink parameters (Petr Oros) [1822570] - [documentation] devlink: convert devlink-params.txt to reStructuredText (Petr Oros) [1822570] - [documentation] devlink: rename devlink-info-versions.rst and add a header (Petr Oros) [1822570] - [documentation] devlink: convert devlink-health.txt to rst format (Petr Oros) [1822570] - [documentation] devlink: move devlink documentation to subfolder (Petr Oros) [1822570] - [include] devlink: add macro for "fw.psid" (Petr Oros) [1822570] - [netdrv] ethtool: Add support for 400Gbps (50Gbps per lane) link modes (Ivan Vecera) [1828942] - [netdrv] phy: Add support for 100BaseT1 and 1000BaseT1 (Ivan Vecera) [1828942] - [net] phy: improve definition of __ETHTOOL_LINK_MODE_MASK_NBITS (Ivan Vecera) [1828942] - [net] netfilter: nf_tables: simplify NLM_F_CREATE handling (Phil Sutter) [1812666] - [net] devlink: Add layer 3 generic packet exception traps (Petr Oros) [1828737] - [net] devlink: Add layer 3 generic packet traps (Petr Oros) [1828737] - [net] netfilter: nf_tables: fix infinite loop when expr is not available (Phil Sutter) [1757933] - [net] netfilter: nf_tables: autoload modules from the abort path (Phil Sutter) [1757933] - [net] netfilter: nf_tables: remove WARN and add NLA_STRING upper limits (Phil Sutter) [1757933] - [net] netfilter: nf_tables: store transaction list locally while requesting module (Phil Sutter) [1757933] - [net] netfilter: nf_tables: use-after-free in failing rule with bound set (Phil Sutter) [1757933] - [net] netfilter: nft_meta: skip EAGAIN if nft_meta_bridge is not a module (Phil Sutter) [1757933] - [net] netfilter: nf_tables: force module load in case select_ops() returns -EAGAIN (Phil Sutter) [1757933] - [net] netfilter: nf_tables: add nft_expr_type_request_module() (Phil Sutter) [1757933] - [net] netfilter: nf_tables: bogus EBUSY in helper removal from transaction (Phil Sutter) [1757933] - [net] netfilter: nf_tables: fix set double-free in abort path (Phil Sutter) [1757933] - [net] netfilter: nft_compat: don't use refcount_inc on newly allocated entry (Phil Sutter) [1757933] - [net] netfilter: nf_tables: unbind set in rule from commit path (Phil Sutter) [1757933] - [net] netfilter: nft_compat: destroy function must not have side effects (Phil Sutter) [1757933] - [net] netfilter: nft_compat: make lists per netns (Phil Sutter) [1757933] - [net] netfilter: nft_compat: use refcnt_t type for nft_xt reference count (Phil Sutter) [1757933] - [net] netfilter: nf_tables: fix suspicious RCU usage in nft_chain_stats_replace() (Phil Sutter) [1757933] - [net] netfilter: nf_tables: asynchronous release (Phil Sutter) [1757933] - [net] netfilter: nf_tables: split set destruction in deactivate and destroy phase (Phil Sutter) [1757933] - [net] netfilter: nf_tables: flow event notifier must use transaction mutex (Phil Sutter) [1757933] - [net] netfilter: nf_tables: use dedicated mutex to guard transactions (Phil Sutter) [1757933] - [net] netfilter: nf_tables: avoid global info storage (Phil Sutter) [1757933] - [net] netfilter: nf_tables: take module reference when starting a batch (Phil Sutter) [1757933] - [net] netfilter: nf_tables: make valid_genid callback mandatory (Phil Sutter) [1757933] - [net] netfilter: nf_tables: add and use helper for module autoload (Phil Sutter) [1757933]- [kernel] sched: Fix missing bracket in membarrier_switch_mm from mismerge (Phil Auld) [1745111] - [fs] nfs: fix NULL deference in nfs4_get_valid_delegation ("J. Bruce Fields") [1831553] - [acpi] PCI/AER: Use only _OSC to determine AER ownership (Myron Stowe) [1712820] - [pci] PCI/EDR: Log only ACPI_NOTIFY_DISCONNECT_RECOVER events (Myron Stowe) [1712820] - [pci] PCI/AER: Rationalize error status register clearing (Myron Stowe) [1712820] - [pci] PCI/DPC: Add Error Disconnect Recover (EDR) support (Myron Stowe) [1712820] - [pci] PCI/DPC: Expose dpc_process_error(), dpc_reset_link() for use by EDR (Myron Stowe) [1712820] - [pci] PCI/AER: Add pci_aer_raw_clear_status() to unconditionally clear Error Status (Myron Stowe) [1712820] - [pci] PCI/DPC: Cache DPC capabilities in pci_init_capabilities() (Myron Stowe) [1712820] - [pci] PCI/ERR: Return status of pcie_do_recovery() (Myron Stowe) [1712820] - [pci] PCI/ERR: Remove service dependency in pcie_do_recovery() (Myron Stowe) [1712820] - [pci] PCI/DPC: Move DPC data into struct pci_dev (Myron Stowe) [1712820] - [pci] PCI/ERR: Update error status after reset_link() (Myron Stowe) [1712820] - [pci] PCI/ERR: Combine pci_channel_io_frozen cases (Myron Stowe) [1712820] - [pci] PCI/ASPM: Reduce severity of common clock config message (Myron Stowe) [1712820] - [pci] PCI/ASPM: Clear the correct bits when enabling L1 substates (Myron Stowe) [1712820] - [pci] PCI/PM: Print config space of devices before suspend (Myron Stowe) [1712820] - [pci] PCI/AER: Initialize aer_fifo (Myron Stowe) [1712820] - [pci] PCI/AER: Factor message prefixes with dev_fmt() (Myron Stowe) [1712820] - [pci] PCI/AER: Log which device prevents error recovery (Myron Stowe) [1712820] - [security] ima: Switch to ima_hash_algo for boot aggregate (Jerry Snitselaar) [1786441] - [mm] mm: mempolicy: require at least one nodeid for MPOL_PREFERRED (Rafael Aquini) [1834435] {CVE-2020-11565} - [tools] perf maps: Add missing unlock to maps__insert() error case (Michael Petlan) [1818838] - [tools] perf dso: Fix dso comparison (Michael Petlan) [1818838] - [tools] perf block-info: Fix wrong block address comparison in block_info__cmp() (Michael Petlan) [1818838] - [tools] libperf: Setup initial evlist::all_cpus value (Michael Petlan) [1818838] - [tools] perf report: Fix no libunwind compiled warning break s390 issue (Michael Petlan) [1818838] - [tools] perf hists: Fix variable name's inconsistency in hists__for_each() macro (Michael Petlan) [1818838] - [tools] perf map: Set kmap->kmaps backpointer for main kernel map chunks (Michael Petlan) [1818838] - [tools] perf report: Fix incorrectly added dimensions as switch perf data file (Michael Petlan) [1818838] - [tools] tools lib traceevent: Fix memory leakage in filter_event (Michael Petlan) [1818838] - [tools] perf vendor events s390: Remove name from L1D_RO_EXCL_WRITES description (Michael Petlan) [1818838] - [tools] perf vendor events s390: Fix counter long description for DTLB1_GPAGE_WRITES (Michael Petlan) [1818838] - [tools] libtraceevent: Allow custom libdir path (Michael Petlan) [1818838] - [tools] perf top: Do not bail out when perf_env__read_cpuid() returns ENOSYS (Michael Petlan) [1818838] - [tools] perf arch: Make the default get_cpuid() return compatible error (Michael Petlan) [1818838] - [tools] perf inject: Fix processing of ID index for injected instruction tracing (Michael Petlan) [1818838] - [tools] perf report: Bail out --mem-mode if mem info is not available (Michael Petlan) [1818838] - [tools] perf report: Make -F more strict like -s (Michael Petlan) [1818838] - [tools] perf report/top TUI: Replace pr_err() with ui__error() (Michael Petlan) [1818838] - [tools] libtraceevent: Copy pkg-config file to output folder when using O= (Michael Petlan) [1818838] - [tools] libtraceevent: Fix lib installation with O= (Michael Petlan) [1818838] - [tools] perf kvm: Clarify the 'perf kvm' -i and -o command line options (Michael Petlan) [1818838] - [tools] perf machine: Fill map_symbol->maps in append_inlines() to fix segfault (Michael Petlan) [1818838] - [tools] perf jit: Move test functionality in to a test (Michael Petlan) [1818838] - [tools] perf stat: Use affinity for enabling/disabling events (Michael Petlan) [1818838] - [tools] perf evsel: Add functions to enable/disable for a specific CPU (Michael Petlan) [1818838] - [tools] perf stat: Use affinity for reading (Michael Petlan) [1818838] - [tools] perf stat: Use affinity for opening events (Michael Petlan) [1818838] - [tools] perf stat: Factor out open error handling (Michael Petlan) [1818838] - [tools] perf stat: Use affinity for closing file descriptors (Michael Petlan) [1818838] - [tools] perf evsel: Add functions to close evsel on a CPU (Michael Petlan) [1818838] - [tools] perf evsel: Add iterator to iterate over events ordered by CPU (Michael Petlan) [1818838] - [tools] perf evlist: Maintain evlist->all_cpus (Michael Petlan) [1818838] - [tools] perf cpumap: Maintain cpumaps ordered and without dups (Michael Petlan) [1818838] - [tools] perf script: Fix brstackinsn for AUXTRACE (Michael Petlan) [1818838] - [tools] perf affinity: Add infrastructure to save/restore affinity (Michael Petlan) [1818838] - [tools] perf pmu: Use file system cache to optimize sysfs access (Michael Petlan) [1818838] - [tools] perf regs: Make perf_reg_name() return "unknown" instead of NULL (Michael Petlan) [1818838] - [tools] perf diff: Use llabs() with 64-bit values (Michael Petlan) [1818838] - [tools] perf diff: Use llabs() with 64-bit values (Michael Petlan) [1818838] - [tools] perf tests: Rename tests/map_groups.c to tests/maps.c (Michael Petlan) [1818838] - [tools] perf tests: Rename thread-mg-share to thread-maps-share (Michael Petlan) [1818838] - [tools] perf maps: Rename map_groups.h to maps.h (Michael Petlan) [1818838] - [tools] perf maps: Rename 'mg' variables to 'maps' (Michael Petlan) [1818838] - [tools] perf map_symbol: Rename ms->mg to ms->maps (Michael Petlan) [1818838] - [tools] perf addr_location: Rename al->mg to al->maps (Michael Petlan) [1818838] - [tools] perf thread: Rename thread->mg to thread->maps (Michael Petlan) [1818838] - [tools] perf maps: Merge 'struct maps' with 'struct map_groups' (Michael Petlan) [1818838] - [tools] x86/insn: perf tools: Add some more instructions to the new instructions test (Michael Petlan) [1818838] - [tools] perf map: Remove unused functions (Michael Petlan) [1818838] - [tools] perf map: Remove needless struct forward declarations (Michael Petlan) [1818838] - [tools] perf map: Ditch leftover map__reloc_vmlinux() prototype (Michael Petlan) [1818838] - [tools] perf script: Move map__fprintf_srccode() to near its only user (Michael Petlan) [1818838] - [tools] perf parse: Fix potential memory leak when handling tracepoint errors (Michael Petlan) [1818838] - [tools] libtraceevent: Fix memory leakage in copy_filter_type (Michael Petlan) [1818838] - [tools] libtraceevent: Fix header installation (Michael Petlan) [1818838] - [tools] perf intel-bts: Does not support AUX area sampling (Michael Petlan) [1818838] - [tools] perf intel-pt: Add support for decoding AUX area samples (Michael Petlan) [1818838] - [tools] perf intel-pt: Add support for recording AUX area samples (Michael Petlan) [1818838] - [tools] perf pmu: When using default config, record which bits of config were changed by the user (Michael Petlan) [1818838] - [tools] perf auxtrace: Add support for queuing AUX area samples (Michael Petlan) [1818838] - [tools] perf session: Add facility to peek at all events (Michael Petlan) [1818838] - [tools] perf auxtrace: Add support for dumping AUX area samples (Michael Petlan) [1818838] - [tools] perf inject: Cut AUX area samples (Michael Petlan) [1818838] - [tools] perf record: Add aux-sample-size config term (Michael Petlan) [1818838] - [tools] perf record: Add support for AUX area sampling (Michael Petlan) [1818838] - [tools] perf auxtrace: Add support for AUX area sample recording (Michael Petlan) [1818838] - [tools] perf auxtrace: Move perf_evsel__find_pmu() (Michael Petlan) [1818838] - [tools] perf record: Add a function to test for kernel support for AUX area sampling (Michael Petlan) [1818838] - [tools] perf tools: Add kernel AUX area sampling definitions (Michael Petlan) [1818838] - [tools] perf report: Jump to symbol source view from total cycles view (Michael Petlan) [1818838] - [tools] perf util: Move block TUI function to ui browsers (Michael Petlan) [1818838] - [tools] perf dso: Move dso_id from 'struct map' to 'struct dso' (Michael Petlan) [1818838] - [tools] perf dsos: Remove unused dsos__find() method (Michael Petlan) [1818838] - [tools] perf map: Move comparision of map's dso_id to a separate function (Michael Petlan) [1818838] - [tools] perf map: Pass a dso_id to map__new() (Michael Petlan) [1818838] - [tools] perf map: Move maj/min/ino/ino_generation to separate struct (Michael Petlan) [1818838] - [tools] perf parse: Report initial event parsing error (Michael Petlan) [1818838] - [tools] x86/insn: perf tools: Add some instructions to the new instructions test (Michael Petlan) [1818838] - [tools] perf map: Move seldom used ->flags field to second cacheline (Michael Petlan) [1818838] - [tools] perf map: Use bitmap for booleans (Michael Petlan) [1818838] - [tools] libtraceevent: Fix parsing of event o and X argument types (Michael Petlan) [1818838] - [tools] perf callchain: Fix segfault in thread__resolve_callchain_sample() (Michael Petlan) [1818838] - [tools] perf map_groups: Auto sort maps by name, if needed (Michael Petlan) [1818838] - [tools] perf machine: No need to check if kernel module maps pre-exist (Michael Petlan) [1818838] - [tools] perf record: No need to process the synthesized MMAP events twice (Michael Petlan) [1818838] - [tools] perf map: No need to adjust the long name of modules (Michael Petlan) [1818838] - [tools] perf map_groups: Add a front end cache for map lookups by name (Michael Petlan) [1818838] - [tools] perf maps: Do not use an rbtree to sort by map name (Michael Petlan) [1818838] - [tools] perf maps: Purge the entries from maps->names in __maps__purge() (Michael Petlan) [1818838] - [tools] perf vendor events power9: Fix commas so PMU event files are valid JSON (Michael Petlan) [1818838] - [tools] perf vendor events power8: Fix commas so PMU event files are valid JSON (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Fix commas so PMU event files are valid JSON (Michael Petlan) [1818838] - [tools] perf parse: Use YYABORT to clear stack after failure, plugging leaks (Michael Petlan) [1818838] - [tools] perf tool: Provide an option to print perf_event_open args and return value (Michael Petlan) [1818838] - [tools] perf map: Remove ->groups from 'struct map' (Michael Petlan) [1818838] - [tools] perf map: Combine maps__fixup_overlappings with its only use (Michael Petlan) [1818838] - [tools] perf annotate: Stop using map->groups, use map_symbol->mg instead (Michael Petlan) [1818838] - [tools] perf tools: Add a 'struct map_groups' pointer to 'struct map_symbol' (Michael Petlan) [1818838] - [tools] perf symbols: Use kmaps(map)->machine when we know its a kernel map (Michael Petlan) [1818838] - [tools] pref tools: Make 'struct addr_map_symbol' contain 'struct map_symbol' (Michael Petlan) [1818838] - [tools] perf callchain: Use 'struct map_symbol' in 'struct callchain_cursor_node' (Michael Petlan) [1818838] - [tools] perf unwind: Use 'struct map_symbol' in 'struct unwind_entry' (Michael Petlan) [1818838] - [tools] perf annotate: Pass a 'map_symbol' in places receiving a pair of 'map' and 'symbol' pointers (Michael Petlan) [1818838] - [tools] perf tools: Add map_groups to 'struct addr_location' (Michael Petlan) [1818838] - [tools] perf map_groups: Pass the object to map_groups__find_ams() (Michael Petlan) [1818838] - [tools] perf symbols: Stop using map->groups, we can use kmaps instead (Michael Petlan) [1818838] - [tools] perf map: Use map->dso->kernel + map__kmaps() in map__kmaps() (Michael Petlan) [1818838] - [tools] perf report: Sort by sampled cycles percent per block for tui (Michael Petlan) [1818838] - [tools] perf report: Support --percent-limit for --total-cycles (Michael Petlan) [1818838] - [tools] perf report: Sort by sampled cycles percent per block for stdio (Michael Petlan) [1818838] - [tools] perf hist: Support block formats with compare/sort/display (Michael Petlan) [1818838] - [tools] perf hist: Count the total cycles of all samples (Michael Petlan) [1818838] - [tools] perf block: Cleanup and refactor block info functions (Michael Petlan) [1818838] - [tools] perf diff: Don't use hack to skip column length calculation (Michael Petlan) [1818838] - [tools] perf tests: Fix out of bounds memory access (Michael Petlan) [1818838] - [tools] perf record: Add support for limit perf output file size (Michael Petlan) [1818838] - [tools] perf annotate: Fix heap overflow (Michael Petlan) [1818838] - [tools] perf machine: Add kernel_dso() method (Michael Petlan) [1818838] - [tools] perf symbols: Remove needless checks for map->groups->machine (Michael Petlan) [1818838] - [tools] perf parse: Add a deep delete for parse event terms (Michael Petlan) [1818838] - [tools] perf parse: If pmu configuration fails free terms (Michael Petlan) [1818838] - [tools] perf parse: Before yyabort-ing free components (Michael Petlan) [1818838] - [tools] perf parse: Add destructors for parse event terms (Michael Petlan) [1818838] - [tools] perf parse: Ensure config and str in terms are unique (Michael Petlan) [1818838] - [tools] perf parse: Add parse events handle error (Michael Petlan) [1818838] - [tools] perf inject: Make --strip keep evsels (Michael Petlan) [1818838] - [tools] perf tools: Fix cross compile for ARM64 (Michael Petlan) [1818838] - [tools] perf stat: Add --per-node agregation support (Michael Petlan) [1818838] - [tools] perf env: Add perf_env__numa_node() (Michael Petlan) [1818838] - [tools] perf tools: Splice events onto evlist even on error (Michael Petlan) [1818838] - [tools] libsubcmd: Use -O0 with DEBUG=1 (Michael Petlan) [1818838] - [tools] libsubcmd: Move EXTRA_FLAGS to the end to allow overriding existing flags (Michael Petlan) [1818838] - [tools] perf map_groups: Introduce for_each_entry() and for_each_entry_safe() iterators (Michael Petlan) [1818838] - [tools] perf maps: Add for_each_entry()/_safe() iterators (Michael Petlan) [1818838] - [tools] perf map: Allow map__next() to receive a NULL arg (Michael Petlan) [1818838] - [tools] perf map: Check if the map still has some refcounts on exit (Michael Petlan) [1818838] - [tools] perf dso: Add dso__data_write_cache_addr() (Michael Petlan) [1818838] - [tools] perf dso: Refactor dso_cache__read() (Michael Petlan) [1818838] - [tools] perf auxtrace: Add auxtrace_cache__remove() (Michael Petlan) [1818838] - [tools] perf jevents: Fix resource leak in process_mapfile() and main() (Michael Petlan) [1818838] - [tools] perf kvm: Use evlist layer api when possible (Michael Petlan) [1818838] - [tools] perf tests: Fix a typo (Michael Petlan) [1818838] - [tools] perf tools: Avoid a malloc() for array events (Michael Petlan) [1818838] - [tools] perf tools: Move ALLOC_LIST into a function (Michael Petlan) [1818838] - [tools] perf evsel: Avoid close(-1) (Michael Petlan) [1818838] - [tools] perf evsel: Always preserve errno while cleaning up perf_event_open failures (Michael Petlan) [1818838] - [tools] perf cs-etm: Fix definition of macro TO_CS_QUEUE_NR (Michael Petlan) [1818838] - [tools] perf llvm: Make .o saving a debug message, not an info one (Michael Petlan) [1818838] - [tools] perf record: Put a copy of kcore into the perf.data directory (Michael Petlan) [1818838] - [tools] perf data: Support single perf.data file directory (Michael Petlan) [1818838] - [tools] perf session: Fix indent in perf_session__new()" (Michael Petlan) [1818838] - [tools] perf data: Rename directory "header" file to "data" (Michael Petlan) [1818838] - [tools] perf data: Move perf_dir_version into data.h (Michael Petlan) [1818838] - [tools] perf data: Correctly identify directory data files (Michael Petlan) [1818838] - [tools] perf trace: Use STUL_STRARRAY_FLAGS with mmap (Michael Petlan) [1818838] - [tools] perf trace: Wire up strarray__strtoul_flags() (Michael Petlan) [1818838] - [tools] libbeauty: Introduce strarray__strtoul_flags() (Michael Petlan) [1818838] - [tools] libbeauty: Make the mmap_flags strarray visible outside of its beautifier (Michael Petlan) [1818838] - [tools] perf trace: Use strtoul for the fcntl 'cmd' argument (Michael Petlan) [1818838] - [tools] libbeauty: Introduce syscall_arg__strtoul_strarrays() (Michael Petlan) [1818838] - [tools] libperf: Add pr_err() macro (Michael Petlan) [1818838] - [tools] libperf: Do not export perf_evsel__init()/perf_evlist__init() (Michael Petlan) [1818838] - [tools] libperf: Keep count of failed tests (Michael Petlan) [1818838] - [tools] libperf: Add tests_mmap_cpus test (Michael Petlan) [1818838] - [tools] libperf: Add tests_mmap_thread test (Michael Petlan) [1818838] - [tools] libperf: Link static tests with libapi.a (Michael Petlan) [1818838] - [tools] libperf: Move mask setup to perf_evlist__mmap_ops() (Michael Petlan) [1818838] - [tools] libperf: Move mmap allocation to perf_evlist__mmap_ops::get (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist__for_each_mmap() (Michael Petlan) [1818838] - [tools] perf tests: Disable bp_signal testing for arm64 (Michael Petlan) [1818838] - [tools] perf tests bp_account: Add dedicated checking helper is_supported() (Michael Petlan) [1818838] - [tools] perf tests: Remove needless headers for bp_account (Michael Petlan) [1818838] - [tools] perf list: Hide deprecated events by default (Michael Petlan) [1818838] - [tools] perf trace: Pass a syscall_arg to syscall_arg_fmt->strtoul() (Michael Petlan) [1818838] - [tools] perf trace: Honour --max-events in processing syscalls:sys_enter_* (Michael Petlan) [1818838] - [tools] libbeauty: Introduce syscall_arg__strtoul_strarray() (Michael Petlan) [1818838] - [tools] perf trace: Initialize evsel_trace->fmt for syscalls:sys_enter_* tracepoints (Michael Petlan) [1818838] - [tools] perf trace: Introduce 'struct evsel__trace' for evsel->priv needs (Michael Petlan) [1818838] - [tools] perf trace: Hide evsel->access further, simplify code (Michael Petlan) [1818838] - [tools] perf trace: Introduce accessors to trace specific evsel->priv (Michael Petlan) [1818838] - [tools] perf trace: Show error message when not finding a field used in a filter expression (Michael Petlan) [1818838] - [tools] perf trace: Hook the 'vec' tracepoint argument with the x86 IRQ vectors scnprintf/strtoul (Michael Petlan) [1818838] - [tools] perf trace beauty: Add the glue for the autogenerated x86 IRQ vector array (Michael Petlan) [1818838] - [tools] libbeauty: Add a strarray__scnprintf_suffix() method (Michael Petlan) [1818838] - [tools] libbeauty: Hook up the x86 irq_vectors table generator (Michael Petlan) [1818838] - [tools] libbeauty: Add a generator for x86's IRQ vectors -> strings (Michael Petlan) [1818838] - [tools] tools arch x86: Grab a copy of the file containing the IRQ vector defines (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Add some missing events for Hisi hip08 HHA PMU (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Add some missing events for Hisi hip08 L3C PMU (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Add some missing events for Hisi hip08 DDRC PMU (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Fix Hisi hip08 DDRC PMU eventname (Michael Petlan) [1818838] - [tools] perf trace: Support tracepoint dynamic char arrays (Michael Petlan) [1818838] - [tools] perf trace: Filter own pid to avoid a feedback look in 'perf trace record -a' (Michael Petlan) [1818838] - [tools] perf string: Export asprintf__tp_filter_pids() (Michael Petlan) [1818838] - [tools] perf trace: Introduce --errno-summary (Michael Petlan) [1818838] - [tools] perf trace: Add syscall failure stats to -s/--summary and -S/--with-summary (Michael Petlan) [1818838] - [tools] perf stat: Support --all-kernel/--all-user (Michael Petlan) [1818838] - [tools] perf annotate: Fix objdump --no-show-raw-insn flag (Michael Petlan) [1818838] - [tools] perf annotate: Don't pipe objdump output through 'expand' command (Michael Petlan) [1818838] - [tools] perf annotate: Don't pipe objdump output through 'grep' command (Michael Petlan) [1818838] - [tools] perf annotate: Use libsubcmd's run-command.h to fork objdump (Michael Petlan) [1818838] - [tools] perf annotate: Avoid reallocation in objdump parsing (Michael Petlan) [1818838] - [tools] perf report: Add warning when libunwind not compiled in (Michael Petlan) [1818838] - [tools] perf test: Avoid infinite loop for task exit case (Michael Petlan) [1818838] - [tools] perf test: Report failure for mmap events (Michael Petlan) [1818838] - [tools] perf script: Fix --reltime with --time (Michael Petlan) [1818838] - [tools] perf tools: Allow to build with -ltcmalloc (Michael Petlan) [1818838] - [tools] perf diff: Report noisy for cycles diff (Michael Petlan) [1818838] - [tools] perf tools: Propagate CFLAGS to libperf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_evlist__filter_pollfd() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist__purge() (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist__exit() (Michael Petlan) [1818838] - [tools] libperf: Move the pollfd allocation from tools/perf to libperf (Michael Petlan) [1818838] - [tools] libperf: Centralize map refcnt setting (Michael Petlan) [1818838] - [tools] perf evlist: Switch to libperf's mmap interface (Michael Petlan) [1818838] - [tools] perf evlist: Introduce perf_evlist__mmap_cb_mmap() (Michael Petlan) [1818838] - [tools] perf evlist: Introduce perf_evlist__mmap_cb_get() (Michael Petlan) [1818838] - [tools] perf tools: Introduce perf_evlist__mmap_cb_idx() (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist_mmap_ops::mmap callback (Michael Petlan) [1818838] - [tools] libperf: Add perf_evlist_mmap_ops::get callback (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist_mmap_ops::idx callback (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist__mmap_ops() (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_evlist__mmap()/munmap() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__read_event() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__read_done() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__read_init() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__consume() function from tools/perf (Michael Petlan) [1818838] - [tools] perf tools: Use perf_mmap way to detect aux mmap (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__put() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__unmap() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__get() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__mmap() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__mmap_len() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Add 'struct perf_mmap_param' (Michael Petlan) [1818838] - [tools] libperf: Add perf_mmap__init() function (Michael Petlan) [1818838] - [tools] perf tools: Avoid 'sample_reg_masks' being const + weak (Michael Petlan) [1818838] - [tools] perf beauty: Introduce strtoul() for x86 MSRs (Michael Petlan) [1818838] - [tools] perf trace: Expand strings in filters to integers (Michael Petlan) [1818838] - [tools] perf trace: Introduce a strtoul() method for 'struct strarrays' (Michael Petlan) [1818838] - [tools] perf trace: Add a strtoul() method to 'struct syscall_arg_fmt' (Michael Petlan) [1818838] - [tools] perf trace: Introduce --filter for tracepoint events (Michael Petlan) [1818838] - [tools] perf evlist: Introduce append_tp_filter_pid() and append_tp_filter_pids() (Michael Petlan) [1818838] - [tools] perf evlist: Introduce append_tp_filter() method (Michael Petlan) [1818838] - [tools] perf evlist: Factor out asprintf routine to build a tracepoint pid filter (Michael Petlan) [1818838] - [tools] perf trace: Associate the "msr" tracepoint arg name with x86_MSR__scnprintf() (Michael Petlan) [1818838] - [tools] perf trace beauty: Add the glue for the autogenerated MSR arrays (Michael Petlan) [1818838] - [tools] perf trace: Allow associating scnprintf routines with well known arg names (Michael Petlan) [1818838] - [tools] perf beauty: Hook up the x86 MSR table generator (Michael Petlan) [1818838] - [tools] perf trace beauty: Add a x86 MSR cmd id->str table generator (Michael Petlan) [1818838] - [tools] perf beauty: Make strarray's offset be u64 (Michael Petlan) [1818838] - [tools] perf trace: Allow choosing how to augment the tracepoint arguments (Michael Petlan) [1818838] - [tools] perf trace: Enclose all events argument lists with () (Michael Petlan) [1818838] - [tools] perf trace: Add array of chars scnprintf beautifier (Michael Petlan) [1818838] - [tools] perf trace: Add the syscall_arg_fmt pointer to syscall_arg (Michael Petlan) [1818838] - [tools] perf trace: Move some scnprintf methods from syscall to syscall_arg_fmt (Michael Petlan) [1818838] - [tools] perf trace: Allocate an array of beautifiers for tracepoint args (Michael Petlan) [1818838] - [tools] perf trace: Factor out the initialization of syscal_arg_fmt->scnprintf (Michael Petlan) [1818838] - [tools] perf script: Allow --time with --reltime (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add Time chart by CPU (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add ability for Call tree to open at a specified task and time (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Tidy up Call tree call_time (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add global time range calculations (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add HBoxLayout and VBoxLayout (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add LookupModel() (Michael Petlan) [1818838] - [tools] perf trace augmented_syscalls: Do not show syscalls when none was asked for (Michael Petlan) [1818838] - [tools] perf trace: Postpone parsing .perfconfig trace.add_events to after --verbose is processed (Michael Petlan) [1818838] - [tools] perf trace: Generalize the syscall_fmt find routines (Michael Petlan) [1818838] - [tools] perf trace: Separate 'struct syscall_fmt' definition from syscall_fmts variable (Michael Petlan) [1818838] - [tools] perf trace: Make evlist__set_evsel_handler() affect just entries without a handler (Michael Petlan) [1818838] - [tools] perf evlist: Adopt __set_tracepoint_handlers method from perf_session (Michael Petlan) [1818838] - [tools] perf top: Initialize perf_env->cpuid, needed by the per arch annotation init routine (Michael Petlan) [1818838] - [tools] perf env: Add routine to read the env->cpuid from the running machine (Michael Petlan) [1818838] - [kernel] perf/cgroups: Install cgroup events to correct cpuctx (Michael Petlan) [1818838] - [kernel] perf/core: Fix mlock accounting in perf_mmap() (Michael Petlan) [1818838] - [x86] perf/x86/intel/uncore: Remove PCIe3 unit for SNR (Michael Petlan) [1818838] - [x86] perf/x86/intel/uncore: Fix missing marker for snr_uncore_imc_freerunning_events (Michael Petlan) [1818838] - [x86] perf/x86/intel/uncore: Add PCI ID of IMC for Xeon E3 V5 Family (Michael Petlan) [1818838] - [kernel] perf: Correctly handle failed perf_get_aux_event() (Michael Petlan) [1818838] - [x86] perf/x86/intel: Fix PT PMI handling (Michael Petlan) [1818838] - [x86] perf/x86/intel/bts: Fix the use of page_private() (Michael Petlan) [1818838] - [x86] perf/x86: Fix potential out-of-bounds access (Michael Petlan) [1818838] - [x86] perf/x86: Implement immediate enforcement of /sys/devices/cpu/rdpmc value of 0 (Michael Petlan) [1818838] - [kernel] perf/core: Make the mlock accounting simple again (Michael Petlan) [1818838] - [kernel] perf/core: Fix the mlock accounting, again (Michael Petlan) [1818838] - [x86] perf/x86/intel/pt: Prevent redundant WRMSRs (Michael Petlan) [1818838] - [x86] perf/x86/intel/pt: Opportunistically use single range output mode (Michael Petlan) [1818838] - [x86] perf/x86/intel/pt: Add sampling support (Michael Petlan) [1818838] - [x86] perf/x86/intel/pt: Factor out pt_config_start() (Michael Petlan) [1818838] - [kernel] perf/aux: Allow using AUX data in perf samples (Michael Petlan) [1818838] - [kernel] perf/core: Fix unlock balance in perf_init_event() (Michael Petlan) [1818838] - [x86] perf/x86/amd: Remove set but not used variable 'active' (Michael Petlan) [1818838] - [kernel] perf/core: Optimize perf_init_event() for TYPE_SOFTWARE (Michael Petlan) [1818838] - [kernel] perf/core: Optimize perf_init_event() (Michael Petlan) [1818838] - [kernel] perf/core: Optimize perf_install_in_event() (Michael Petlan) [1818838] - [x86] perf/x86: Synchronize PMU task contexts on optimized context switches (Michael Petlan) [1818838] - [x86] perf/x86/intel: Implement LBR callstack context synchronization (Michael Petlan) [1818838] - [x86] perf/x86: Install platform specific ->swap_task_ctx() adapter (Michael Petlan) [1818838] - [x86] perf/core, perf/x86: Introduce swap_task_ctx() method at 'struct pmu' (Michael Petlan) [1818838] - [kernel] perf/ring_buffer: Matching the memory allocate and free, in rb_alloc() (Michael Petlan) [1818838] - [kernel] perf/ring_buffer: Modify the parameter type of perf_mmap_free_page() (Michael Petlan) [1818838] - [documentation] Documentation: Document sysfs interfaces purr, spurr, idle_purr, idle_spurr (Steve Best) [1783286] - [powerpc] powerpc/sysfs: Show idle_purr and idle_spurr for every CPU (Steve Best) [1783286] - [powerpc] powerpc/pseries: Account for SPURR ticks on idle CPUs (Steve Best) [1783286] - [powerpc] powerpc/idle: Store PURR snapshot in a per-cpu global variable (Steve Best) [1783286] - [powerpc] powerpc: Move idle_loop_prolog()/epilog() functions to header file (Steve Best) [1783286] - [kernel] padata: add separate cpuhp node for CPUHP_PADATA_DEAD (Herbert Xu) [1671674] - [kernel] padata: fix uninitialized return value in padata_replace() (Herbert Xu) [1671674] - [kernel] padata: remove reorder_objects (Herbert Xu) [1671674] - [crypto] padata: remove cpumask change notifier (Herbert Xu) [1671674] - [kernel] padata: always acquire cpu_hotplug_lock before pinst->lock (Herbert Xu) [1671674] - [kernel] padata: validate cpumask without removed CPU during offline (Herbert Xu) [1671674] - [crypto] crypto: pcrypt - Avoid deadlock by using per-instance padata queues (Herbert Xu) [1671674] - [kernel] padata: Remove unused padata_remove_cpu (Herbert Xu) [1671674] - [crypto] crypto: pcrypt - Fix user-after-free on module unload (Herbert Xu) [1671674] - [kernel] padata: Remove broken queue flushing (Herbert Xu) [1671674] - [kernel] padata: remove cpu_index from the parallel_queue (Herbert Xu) [1671674] - [kernel] padata: unbind parallel jobs from specific CPUs (Herbert Xu) [1671674] - [kernel] padata: use separate workqueues for parallel and serial work (Herbert Xu) [1671674] - [crypto] padata, pcrypt: take CPU hotplug lock internally in padata_alloc_possible (Herbert Xu) [1671674] - [crypto] crypto: pcrypt - remove padata cpumask notifier (Herbert Xu) [1671674] - [crypto] padata: make padata_do_parallel find alternate callback CPU (Herbert Xu) [1671674] - [kernel] workqueue: require CPU hotplug read exclusion for apply_workqueue_attrs (Herbert Xu) [1671674] - [kernel] workqueue: unconfine alloc/apply/free_workqueue_attrs() (Herbert Xu) [1671674] - [crypto] padata: allocate workqueue internally (Herbert Xu) [1671674] - [kernel] padata: initialize pd->cpu with effective cpumask (Herbert Xu) [1671674] - [kernel] padata: purge get_cpu and reorder_via_wq from padata_do_serial (Herbert Xu) [1671674] - [kernel] padata: Replace delayed timer with immediate workqueue in padata_reorder (Herbert Xu) [1671674] - [kernel] padata: use smp_mb in padata_reorder to avoid orphaned padata jobs (Herbert Xu) [1671674] - [kernel] tracing: Avoid memory leak in process_system_preds() (Jerome Marchand) [1829953] {CVE-2019-19072} - [kernel] tracing: Have error path in predicate_parse() free its allocated memory (Jerome Marchand) [1829953] {CVE-2019-19072} - [kernel] tracing: Avoid memory leak in predicate_parse() (Jerome Marchand) [1829953] {CVE-2019-19072} - [kernel] tracing: Fix memory leak in create_filter() (Jerome Marchand) [1829953] {CVE-2019-19072} - [tools] KVM: selftests: s390x: Provide additional num-guest-pages adjustment (Philipp Rudo) [1792266] - [s390] s390/protvirt: fix compilation issue (Philipp Rudo) [1792266] - [kvm] KVM: s390: Fix PV check in deliverable_irqs() (Philipp Rudo) [1792266] - [kvm] KVM: s390: Return last valid slot if approx index is out-of-bounds (Philipp Rudo) [1792266] - [kvm] KVM: s390: vsie: Fix delivery of addressing exceptions (Philipp Rudo) [1792266] - [mm] s390/gmap: return proper error code on ksm unsharing (Philipp Rudo) [1792266] - [s390] KVM: s390: mark sie block as 512 byte aligned (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390: check for registers to NOT change on reset (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390: test more register variants for the reset ioctl (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390: fix early guest crash (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390: fixup fprintf format error in reset.c (Philipp Rudo) [1792266] - [kvm] KVM: s390: Also reset registers in sync regs for initial cpu reset (Philipp Rudo) [1792266] - [kvm] KVM: s390: introduce module parameter kvm.use_gisa (Philipp Rudo) [1792266] - [documentation] KVM: s390: protvirt: Add KVM api documentation (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: introduce and enable KVM_CAP_S390_PROTECTED (Philipp Rudo) [1792266] - [documentation] DOCUMENTATION: Protected virtual machine introduction and IPL (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add UV cpu reset calls (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: do not inject interrupts after start (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Mask PSW interrupt bits for interception 104 and 112 (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Support cmd 5 operation state (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Report CPU state to Ultravisor (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: UV calls in support of diag308 0, 1 (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add program exception injection (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Only sync fmt4 registers (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Do only reset registers that are accessible (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: disallow one_reg (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: STSI handling (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Write sthyi data to instruction data area (Philipp Rudo) [1792266] - [kvm] KVM: s390/mm: handle guest unpin events (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: handle secure guest prefix pages (Philipp Rudo) [1792266] - [kvm] KVM: S390: protvirt: Introduce instruction data area bounce buffer (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add new gprs location handling (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Handle spec exception loops (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add SCLP interrupt handling (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Implement interrupt injection (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Instruction emulation (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Handle SE notification interceptions (Philipp Rudo) [1792266] - [mm] KVM: s390/mm: Make pages accessible before destroying the guest (Philipp Rudo) [1792266] - [mm] KVM: s390: protvirt: Secure memory is not mergeable (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add initial vm and cpu lifecycle handling (Philipp Rudo) [1792266] - [s390] KVM: s390: add new variants of UV CALL (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add UV debug trace (Philipp Rudo) [1792266] - [kvm] KVM: s390/interrupt: do not pin adapter interrupt pages (Philipp Rudo) [1792266] - [s390] s390/protvirt: Add sysfs firmware interface for Ultravisor information (Philipp Rudo) [1792266] - [s390] s390/mm: add (non)secure page access exceptions handlers (Philipp Rudo) [1792266] - [s390] s390/mm: provide memory management functions for protected KVM guests (Philipp Rudo) [1792266] - [s390] s390/protvirt: add ultravisor initialization (Philipp Rudo) [1792266] - [s390] s390/protvirt: introduce host side setup (Philipp Rudo) [1792266] - [documentation] KVM: s390: rstify new ioctls in api.rst (Philipp Rudo) [1792266] - [s390] s390/uv: Fix handling of length extensions (Philipp Rudo) [1792266] - [tools] selftests: KVM: testing the local IRQs resets (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390x: Add reset tests (Philipp Rudo) [1792266] - [kvm] KVM: s390: Add new reset vcpu API (Philipp Rudo) [1792266] - [kvm] KVM: s390: Cleanup initial cpu reset (Philipp Rudo) [1792266] - [kvm] KVM: s390: do not clobber registers during guest reset/store status (Philipp Rudo) [1792266] - [kvm] KVM: s390: ENOTSUPP -> EOPNOTSUPP fixups (Philipp Rudo) [1792266] - [s390] s390/uv: use EOPNOTSUPP instead of ENOTSUPP (Philipp Rudo) [1792266] - [kvm] KVM: s390: Do not yield when target is already running (Philipp Rudo) [1792266] - [kvm] KVM: s390: count invalid yields (Philipp Rudo) [1792266] - [kvm] KVM: s390: mark __insn32_query() as __always_inline (Philipp Rudo) [1792266] - [kvm] KVM: s390: fix __insn32_query() inline assembly (Philipp Rudo) [1792266] - [kvm] KVM: s390: Cleanup kvm_arch_init error path (Philipp Rudo) [1792266] - [kvm] KVM: s390: Remove unused parameter from __inject_sigp_restart() (Philipp Rudo) [1792266] - [mm] mm/gup/writeback: add callbacks for inaccessible pages (Philipp Rudo) [1792266] - [scsi] scsi: libiscsi: fall back to sendmsg for slab pages (Maurizio Lombardi) [1825775] - [fs] smb3: fix default permissions on new files when mounting with modefromsid (Leif Sahlberg) [1833374] - [fs] gfs2: don't call quota_unhold if quotas are not locked (Robert S Peterson) [1830043] - [fs] gfs2: move privileged user check to gfs2_quota_lock_check (Robert S Peterson) [1830043] - [fs] gfs2: remove check for quotas on in gfs2_quota_check (Robert S Peterson) [1830043] - [fs] gfs2: Change BUG_ON to an assert_withdraw in gfs2_quota_change (Robert S Peterson) [1830043] - [fs] gfs2: Fix problems regarding gfs2_qa_get and _put (Robert S Peterson) [1830043] - [powerpc] powerpc/eeh: Fix deadlock handling dead PHB (Sam Bobroff) [1774820] - [powerpc] powerpc/powernv/eeh: Fix oops when probing cxl devices (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Slightly simplify eeh_add_to_parent_pe() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Remove unused return path from eeh_pe_dev_traverse() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Fix crash when edev->pdev changes (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Convert log messages to eeh_edev_* macros (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Introduce EEH edev logging macros (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Add bdfn field to eeh_dev (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Refactor around eeh_probe_devices() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: EEH for pSeries hot plug (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Initialize EEH address cache earlier (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Improve debug messages around device addition (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Clear stale EEH_DEV_NO_HANDLER flag (Sam Bobroff) [1774820] - [powerpc] powerpc/64: Adjust order in pcibios_init() (Sam Bobroff) [1774820] - [powerpc] powerpc/pci: Add pci_find_controller_for_domain() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh_cache: Bump log level of eeh_addr_cache_print() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh_cache: Add pr_debug() prints for insert/remove (Sam Bobroff) [1774820]- [gpio] gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 CHT + AXP288 model (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 BYT + AXP288 model (David Arcari) [1829900] - [gpio] gpiolib: acpi: Rework honor_wakeup option into an ignore_wake option (David Arcari) [1829900] - [gpio] gpiolib: acpi: Correct comment for HP x2 10 honor_wakeup quirk (David Arcari) [1829900] - [gpio] gpiolib: Fix irq_disable() semantics (David Arcari) [1829900] - [gpio] gpiolib: fix gpio_do_set_config() (David Arcari) [1829900] - [gpio] gpiolib: remove unnecessary argument from set_config call (David Arcari) [1829900] - [gpio] Revert "gpiolib: remove set but not used variable 'config'" (David Arcari) [1829900] - [gpio] Revert "gpiolib: Remove duplicated function gpio_do_set_config()" (David Arcari) [1829900] - [gpio] treewide: remove redundant IS_ERR() before error code check (David Arcari) [1829900] - [gpio] gpiolib: hold gpio devices lock until ->descs array is initialised (David Arcari) [1829900] - [gpio] gpio: Drop the chained IRQ handler assign function (David Arcari) [1829900] - [gpio] gpio: xlp: Pass irqchip when adding gpiochip (David Arcari) [1829900] - [pinctrl] pinctrl: qcom: Pass irqchip when adding gpiochip (David Arcari) [1829900] - [pinctrl] pinctrl: iproc: allow for error from platform_get_irq() (David Arcari) [1829900] - [pinctrl] pinctrl: bcm-iproc: Pass irqchip when adding gpiochip (David Arcari) [1829900] - [gpio] gpio: pl061: Pass irqchip when adding gpiochip (David Arcari) [1829900] - [gpio] gpio: pl061: Move irq_chip definition inside struct pl061 (David Arcari) [1829900] - [gpio] gpiolib: Lower verbosity when allocating hierarchy irq (David Arcari) [1829900] - [gpio] gpiolib: Remove duplicated function gpio_do_set_config() (David Arcari) [1829900] - [include] gpio: Fix the no return statement warning (David Arcari) [1829900] - [gpio] gpiolib: remove set but not used variable 'config' (David Arcari) [1829900] - [gpio] gpiolib: Set lockdep class for hierarchical irq domains (David Arcari) [1829900] - [gpio] gpiolib: Add the support for the msi parent domain (David Arcari) [1829900] - [gpio] gpiolib: Add support for the irqdomain which doesn't use irq_fwspec as arg (David Arcari) [1829900] - [gpio] gpiolib: use gpiochip_get_desc() in gpio_ioctl() (David Arcari) [1829900] - [gpio] gpiolib: use gpiochip_get_desc() in lineevent_create() (David Arcari) [1829900] - [gpio] gpiolib: use gpiochip_get_desc() in linehandle_create() (David Arcari) [1829900] - [gpio] gpiolib: convert the type of hwnum to unsigned int in gpiochip_get_desc() (David Arcari) [1829900] - [gpio] gpiolib: have a single place of calling set_config() (David Arcari) [1829900] - [gpio] gpiolib: use 'unsigned int' instead of 'unsigned' in gpio_set_config() (David Arcari) [1829900] - [gpio] gpio: gpiolib: fix confusing indention (David Arcari) [1829900] - [mmc] mmc: core: Rework cd-gpio handling (David Arcari) [1829900] - [mmc] mmc: core: Rework wp-gpio handling (David Arcari) [1829900] - [gpio] gpio: add gpiod_toggle_active_low() (David Arcari) [1829900] - [gpio] gpiolib: Make use of assign_bit() API (David Arcari) [1829900] - [gpio] gpiolib: Add GPIOCHIP_NAME definition (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add honor_wakeup module-option + quirk mechanism (David Arcari) [1829900] - [gpio] gpiolib: acpi: Turn dmi_system_id table into a generic quirk table (David Arcari) [1829900] - [gpio] gpiolib: fix up emulated open drain outputs (David Arcari) [1829900] - [gpio] gpio: Fix error message on out-of-range GPIO in lookup table (David Arcari) [1829900] - [gpio] gpiolib: of: Make of_gpio_spi_cs_get_count static (David Arcari) [1829900] - [gpio] gpio: Handle counting of Freescale chipselects (David Arcari) [1829900] - [gpio] gpio: of: Fix bogus reference to gpiod_get_count() (David Arcari) [1829900] - [gpio] gpiolib: Grammar s/manager/managed/ (David Arcari) [1829900] - [gpio] gpiolib: acpi: Make acpi_gpiochip_alloc_event always return AE_OK (David Arcari) [1829900] - [gpio] gpiolib: acpi: Print pin number on acpi_gpiochip_alloc_event errors (David Arcari) [1829900] - [gpio] gpiolib: fix coding style in gpiod_hog() (David Arcari) [1829900] - [gpio] gpio: add new SET_CONFIG ioctl() to gpio chardev (David Arcari) [1829900] - [gpio] gpiolib: move validation of line handle flags into helper function (David Arcari) [1829900] - [gpio] gpiolib: add support for biasing output lines (David Arcari) [1829900] - [gpio] gpiolib: add support for disabling line bias (David Arcari) [1829900] - [gpio] gpiolib: add support for pull up/down to lineevent_create (David Arcari) [1829900] - [gpio] gpio: expose pull-up/pull-down line flags to userspace (David Arcari) [1829900] - [gpio] Revert "gpio: expose pull-up/pull-down line flags to userspace" (David Arcari) [1829900] - [gpio] gpiolib: No need to call gpiochip_remove_pin_ranges() twice (David Arcari) [1829900] - [include] gpio: Add definition for GPIO direction (David Arcari) [1829900] - [gpio] gpiolib: Switch order of valid mask and hw init (David Arcari) [1829900] - [gpio] gpio: of: don't warn if ignored GPIO flag matches the behavior (David Arcari) [1829900] - [gpio] gpio: fix kernel-doc for of_gpio_need_valid_mask() (David Arcari) [1829900] - [gpio] gpio: expose pull-up/pull-down line flags to userspace (David Arcari) [1829900] - [gpio] gpiolib: introduce fwnode_gpiod_get_index() (David Arcari) [1829900] - [gpio] gpiolib: introduce devm_fwnode_gpiod_get_index() (David Arcari) [1829900] - [gpio] gpiolib: sanitize flags before allocating memory in lineevent_create() (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add Terra Pad 1061 to the run_edge_events_on_boot_blacklist (David Arcari) [1829900] - [gpio] gpio: fix getting nonexclusive gpiods from DT (David Arcari) [1829900] - [gpio] gpiolib: don't clear FLAG_IS_OUT when emulating open-drain/open-source (David Arcari) [1829900] - [gpio] gpiolib: of: add a fallback for wlf, reset GPIO name (David Arcari) [1829900] - [gpio] gpio: remove explicit comparison with 0 (David Arcari) [1829900] - [gpio] gpio: devres: Switch to EXPORT_SYMBOL_GPL() (David Arcari) [1829900] - [gpio] gpio: of: Switch to EXPORT_SYMBOL_GPL() (David Arcari) [1829900] - [gpio] gpio: of: Make of_gpio_simple_xlate() private (David Arcari) [1829900] - [gpio] gpio: of: Make of_get_named_gpiod_flags() private (David Arcari) [1829900] - [gpio] gpiolib: acpi: make acpi_can_fallback_to_crs() static (David Arcari) [1829900] - [gpio] gpio: of: Normalize return code variable name (David Arcari) [1829900] - [gpio] gpio: gpiolib: Normalize return code variable name (David Arcari) [1829900] - [include] gpio: Move gpiochip_lock/unlock_as_irq to gpio/driver.h (David Arcari) [1829900] - [gpio] gpio: Use callback presence to determine need of valid_mask (David Arcari) [1829900] - [gpio] gpio: Pass mask and size with the init_valid_mask() (David Arcari) [1829900] - [pinctrl] pinctrl: msm: Add ability for drivers to supply a reserved GPIO list (David Arcari) [1829900] - [pinctrl] pinctrl: msm: Use init_valid_mask exported function (David Arcari) [1829900] - [include] gpio: stubs in headers should be inline (David Arcari) [1829900] - [gpio] gpio: Add support for hierarchical IRQ domains (David Arcari) [1829900] - [kernel] genirq: introduce irq_domain_translate_twocell (David Arcari) [1829900] - [gpio] gpio: refactor gpiochip_allocate_mask() with bitmap_alloc() (David Arcari) [1829900] - [gpio] gpio: of: Fix hard-assigned valid_mask for OF case (David Arcari) [1829900] - [sound] gpiolib-acpi: Move acpi_dev_add_driver_gpios() et al to consumer.h (David Arcari) [1829900] - [gpio] gpiolib: acpi: Split ACPI stuff to gpiolib-acpi.h (David Arcari) [1829900] - [include] gpiolib: of: Reshuffle contents of consumer.h for new library layout (David Arcari) [1829900] - [include] pinctrl: remove unneeded #ifdef around declarations (David Arcari) [1829900] - [hwmon] hwmon: pmbus: ucd9000: remove unneeded include (David Arcari) [1829900] - [include] gpio: remove less important #ifdef around declarations (David Arcari) [1829900] - [gpio] gpio: of: Break out OF-only code (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add gpiolib_acpi_run_edge_events_on_boot option and blacklist (David Arcari) [1829900] - [gpio] gpiolib: of: fix fallback quirks handling (David Arcari) [1829900] - [gpio] gpio: fix line flag validation in lineevent_create (David Arcari) [1829900] - [gpio] gpio: fix line flag validation in linehandle_create (David Arcari) [1829900] - [gpio] gpio: Fix irqchip initialization order (David Arcari) [1829900] - [gpio] gpio: of: fix Freescale SPI CS quirk handling (David Arcari) [1829900] - [gpio] gpiolib: never report open-drain/source lines as 'input' to user-space (David Arcari) [1829900] - [include] gpio: Fix build error of function redefinition (David Arcari) [1829900] - [gpio] gpiolib: Preserve desc->flags when setting state (David Arcari) [1829900] - [include] gpio: don't WARN() on NULL descs if gpiolib is disabled (David Arcari) [1829900] - [gpio] gpiolib: fix incorrect IRQ requesting of an active-low lineevent (David Arcari) [1829900] - [gpio] Revert "gpio/spi: Fix spi-gpio regression on active high CS" (David Arcari) [1829900] - [gpio] gpiolib: of: fix a memory leak in of_gpio_flags_quirks() (David Arcari) [1829900] - [gpio] gpiolib: Use spinlock_t instead of struct spinlock (David Arcari) [1829900] - [gpio] gpiolib: Clarify use of non-sleeping functions (David Arcari) [1829900] - [gpio] gpiolib: Fix references to gpiod_et_*value_cansleep() variants (David Arcari) [1829900] - [include] gpiolib: Document new gpio_chip.init_valid_mask field (David Arcari) [1829900] - [gpio] gpio/spi: Fix spi-gpio regression on active high CS (David Arcari) [1829900] - [gpio] gpio: No need to cast away return value of debugfs_create_file() (David Arcari) [1829900] - [include] gpio: Add comments on #if/#else/#endif (David Arcari) [1829900] - [regulator] gpio: Fix return value mismatch of function gpiod_get_from_of_node() (David Arcari) [1829900] - [gpio] gpio: Drop the parent_irq from gpio_irq_chip (David Arcari) [1829900] - [gpio] gpio: of: parse stmmac PHY reset line specific active-low property (David Arcari) [1829900] - [gpio] gpio: pass lookup and descriptor flags to request_own (David Arcari) [1829900] - [gpio] gpio: of: Handle the Freescale SPI CS (David Arcari) [1829900] - [gpio] gpio: Fix gpiochip_add_data_with_key() error path (David Arcari) [1829900] - [gpio] gpiolib: acpi: Respect pin bias setting (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add acpi_gpio_update_gpiod_lookup_flags() helper (David Arcari) [1829900] - [gpio] gpiolib: acpi: Set pin value, based on bias, more accurately (David Arcari) [1829900] - [gpio] gpiolib: acpi: Change type of dflags (David Arcari) [1829900] - [gpio] gpiolib: Introduce GPIO_LOOKUP_FLAGS_DEFAULT (David Arcari) [1829900] - [gpio] gpiolib: Make use of enum gpio_lookup_flags consistent (David Arcari) [1829900] - [include] gpiolib: Indent entry values of enum gpio_lookup_flags (David Arcari) [1829900] - [gpio] gpio: of: Optimize quirk checks (David Arcari) [1829900] - [gpio] gpio: mmio: Drop bgpio_dir_inverted (David Arcari) [1829900] - [gpio] gpio: Set proper argument value to set_config (David Arcari) [1829900] - [gpio] gpio: Remove obsolete comment about gpiochip_free_hogs() usage (David Arcari) [1829900] - [gpio] gpio: mmio: Fix bgpio_get_set & bgpio_get_set_multiple (David Arcari) [1829900] - [gpio] gpio: mmio: Support two direction registers (David Arcari) [1829900] - [gpio] gpiolib: Don't WARN on gpiod_put() for optional GPIO (David Arcari) [1829900] - [gpio] gpiolib: acpi: Fix references in kernel doc and amend (David Arcari) [1829900] - [gpio] gpio: of: Fix of_gpiochip_add() error path (David Arcari) [1829900] - [gpio] gpio: of: Check for "spi-cs-high" in child instead of parent node (David Arcari) [1829900] - [gpio] gpio: of: Check propname before applying "cs-gpios" quirks (David Arcari) [1829900] - [gpio] Revert "gpio: use new gpio_set_config() helper in more places" (David Arcari) [1829900] - [gpio] gpio: of: Handle both enable-gpio{,s} (David Arcari) [1829900] - [gpio] gpio: of: Restrict enable-gpio quirk to regulator-gpio (David Arcari) [1829900] - [gpio] gpio: of: Apply regulator-gpio quirk only to enable-gpios (David Arcari) [1829900] - [gpio] gpio: add core support for pull-up/pull-down configuration (David Arcari) [1829900] - [gpio] gpio: use new gpio_set_config() helper in more places (David Arcari) [1829900] - [gpio] gpio: rename gpio_set_drive_single_ended() to gpio_set_config() (David Arcari) [1829900] - [gpio] gpiolib: acpi: Correct kernel doc of struct acpi_gpio_event (David Arcari) [1829900] - [gpio] gpio: of: Fix logic inversion (David Arcari) [1829900] - [gpio] gpio: add irq domain activate/deactivate functions (David Arcari) [1829900] - [gpio] gpiolib: fix line event timestamps for nested irqs (David Arcari) [1829900] - [gpio] gpiolib-acpi: Preserve non direction flags when updating gpiod_flags (David Arcari) [1829900] - [gpio] gpiolib-acpi: Remove unnecessary WARN_ON from acpi_gpiochip_free_interrupts (David Arcari) [1829900] - [gpio] gpiolib-acpi: remove unused variable 'err', cleans up build warning (David Arcari) [1829900] - [mmc] mmc: core: don't override the CD GPIO level when "cd-inverted" is set (David Arcari) [1829900] - [arm64] arm64: dts: meson: Fix mmc cd-gpios polarity (David Arcari) [1829900] - [gpio] gpio/mmc/of: Respect polarity in the device tree (David Arcari) [1829900] - [include] gpiolib: Fix return value of gpio_to_desc() stub if !GPIOLIB (David Arcari) [1829900] - [documentation] Documentation: gpio: fix function links in the HTML docs (David Arcari) [1829900] - [documentation] docs: driver-model: convert docs to ReST and rename to *.rst (David Arcari) [1829900] - [documentation] docs: gpio: driver.rst: fix a bad tag (David Arcari) [1829900] - [documentation] gpio: Fix minor grammar errors in documentation (David Arcari) [1829900] - [documentation] gpio: Update documentation (David Arcari) [1829900] - [gpio] gpio: Pass a flag to gpiochip_request_own_desc() (David Arcari) [1829900] - [gpio] gpio: Add devm_gpiod_unhinge() (David Arcari) [1829900] - [gpio] gpio: devres: Handle nonexclusive GPIOs (David Arcari) [1829900] - [gpio] gpio: Enable nonexclusive gpiods from DT nodes (David Arcari) [1829900] - [gpio] gpiolib-acpi: Only defer request_irq for GpioInt ACPI event handlers (David Arcari) [1829900] - [gpio] gpio: OF: Parse MMC-specific CD and WP properties (David Arcari) [1829900] - [gpio] gpio: restore original GPLv2+ license of gpiolib-of.c sources (David Arcari) [1829900] - [include] gpio: drop broken to_gpio_irq_chip() helper (David Arcari) [1829900] - [gpio] gpio: drop devm_gpio_chip_match() (David Arcari) [1829900] - [gpio] gpio: don't free unallocated ida on gpiochip_add_data_with_key() error path (David Arcari) [1829900] - [gpio] gpiolib: Fix possible use after free on label (David Arcari) [1829900] - [documentation] Documentation: gpio: driver: fix wire name for I2C (David Arcari) [1829900] - [documentation] gpio/driver.rst: document gpiochip_disable/enable_irq() (David Arcari) [1829900] - [gpio] gpio: drop devm_gpiochip_remove() (David Arcari) [1829900] - [gpio] gpio: Clarify kerneldoc on gpiochip_set_chained_irqchip() (David Arcari) [1829900] - [gpio] gpio: Remove unused 'irqchip' argument to gpiochip_set_cascaded_irqchip() (David Arcari) [1829900] - [gpio] gpio: Drop parent irq assignment during cascade setup (David Arcari) [1829900] - [gpio] gpiolib: Initialize gdev field before is used (David Arcari) [1829900] - [gpio] gpio: Assign gpio_irq_chip::parents to non-stack pointer (David Arcari) [1829900] - [gpio] gpio: fix doc string for devm_gpiochip_add_data() to not talk about irq_chip (David Arcari) [1829900] - [gpio] gpio: mockup: fix indicated direction (David Arcari) [1829900] - [gpio] gpiolib: Show correct direction from the beginning (David Arcari) [1829900] - [gpio] gpiolib: Add init_valid_mask exported function (David Arcari) [1829900] - [gpio] gpio: Slightly more helpful debugfs (David Arcari) [1829900] - [gpio] Accept partial 'gpio-line-names' property (David Arcari) [1829900] - [gpio] gpio: Restore indentation of continued lines (David Arcari) [1829900] - [gpio] gpio: Propagate errors from gpiod_set_array_value_complex() (David Arcari) [1829900] - [gpio] gpiolib: Fix incorrect use of find_next_zero_bit() (David Arcari) [1829900] - [gpio] gpiolib: Fix missing updates of bitmap index (David Arcari) [1829900] - [gpio] gpio: Add comments on single direction chips (David Arcari) [1829900] - [gpio] gpiolib: Fix gpio_direction_* for single direction GPIOs (David Arcari) [1829900] - [gpio] gpio: Rename devres implementation file (David Arcari) [1829900] - [gpio] gpio: Use SPDX header for core library (David Arcari) [1829900] - [gpio] gpiolib: Fix array members of same chip processed separately (David Arcari) [1829900] - [gpio] gpiolib: Free the last requested descriptor (David Arcari) [1829900] - [gpio] gpio: Get rid of legacy header (David Arcari) [1829900] - [gpio] gpiolib: check if irqchip already has the irq hook replacements (David Arcari) [1829900] - [gpio] gpiolib: use better errno if get_direction is not available (David Arcari) [1829900] - [documentation] gpiolib: Implement fast processing path in get/set array (David Arcari) [1829900] - [documentation] Documentation: gpio: Fix reference to gpiod_get_array() (David Arcari) [1829900] - [gpio] gpiolib: Pass array info to get/set array functions (David Arcari) [1829900] - [gpio] gpiolib: Identify arrays matching GPIO hardware (David Arcari) [1829900] - [gpio] gpiolib: Pass bitmaps, not integer arrays, to get/set array (David Arcari) [1829900] - [gpio] gpiolib: Don't support irq sharing for userspace (David Arcari) [1829900] - [gpio] gpio: of: Handle SPI chipselect legacy bindings (David Arcari) [1829900] - [gpio] gpiolib: override irq_enable/disable (David Arcari) [1829900] - [gpio] gpiolib: add flag to indicate if the irq is disabled (David Arcari) [1829900] - [gpio] gliolib: set hooks in gpiochip_set_irq_hooks() (David Arcari) [1829900] - [gpio] gpiolib: export gpiochip_irq_reqres/relres() (David Arcari) [1829900] - [include] gpio: fix kernel-doc notation warning for 'request_key' (David Arcari) [1829900] - [gpio] gpio: Fix crash due to registration race (David Arcari) [1829900] - [gpio] gpio: Convert to using pOFn instead of device_node.name (David Arcari) [1829900] - [gpio] gpiolib-acpi: Register GpioInt ACPI event handlers from a late_initcall (David Arcari) [1829900] - [gpio] gpiolib: acpi: Switch to cansleep version of GPIO library call (David Arcari) [1829900] - [gpio] gpiolib: Avoid calling chip->request() for unused gpios (David Arcari) [1829900] - [gpio] gpio: mmio: Fix up inverted direction registers (David Arcari) [1829900] - [gpio] gpiolib: Fix of_node inconsistency (David Arcari) [1829900] - [gpio] gpiolib: Don't shadow error code of gpiochip_lock_as_irq() (David Arcari) [1829900] - [include] gpiolib: Use GPIOD_OUT_{LOW, HIGH} macros in open drain ones (David Arcari) [1829900] - [gpio] gpiolib: probe deferral error reporting (David Arcari) [1829900] - [include] Input: gpio_keys - add missing include to gpio_keys.h (David Arcari) [1829900] - [gpio] gpiolib: remove an unnecessary TODO (David Arcari) [1829900] - [gpio] gpiolib: don't allow userspace to set values of input lines (David Arcari) [1829900] - [gpio] gpiolib: Join one line back for better readability (David Arcari) [1829900] - [gpio] gpiolib: Consistent use of ->get_direction() inside gpiolib (David Arcari) [1829900] - [gpio] gpiolib: Defer on non-DT find_chip_by_name() failure (David Arcari) [1829900] - [gpio] gpiolib: Respect error code of ->get_direction() (David Arcari) [1829900] - [gpio] gpiolib: Join string literals back (David Arcari) [1829900] - [include] gpio.h: fix location of gpio legacy documentation (David Arcari) [1829900] - [fs] gfs2: Fix use-after-free in gfs2_logd after withdraw (Robert S Peterson) [1831695] - [fs] gfs2: Fix BUG during unmount after file system withdraw (Robert S Peterson) [1831695] - [fs] gfs2: Fix error exit in do_xmote (Robert S Peterson) [1831695] - [fs] gfs2: fix withdraw sequence deadlock (Robert S Peterson) [1831695] - [mm] s390/mm: fix page table upgrade vs 2ndary address mode accesses (Vladis Dronov) [1828154] {CVE-2020-11884} - [media] media: serial_ir: Fix use-after-free in serial_ir_init_module (Vladis Dronov) [1802396] {CVE-2019-19543} - [mm] mm/memory_hotplug: fix remove_memory() lockdep splat (Christoph von Recklinghausen) [1830942] - [mm] mm/page_alloc.c: initialize memmap of unavailable memory directly (Christoph von Recklinghausen) [1782827] - [fs] fs/proc/page.c: allow inspection of last section and fix end detection (Christoph von Recklinghausen) [1782827] - [mm] mm/page_alloc.c: fix uninitialized memmaps on a partially populated last section (Christoph von Recklinghausen) [1782827] - [powerpc] kvm: ppc: book3s hv: Handle non-present PTEs in page fault functions (David Gibson) [1820402] - [vfio] vfio-pci/nvlink2: Allow fallback to ibm, mmio-atsd[0] (David Gibson) [1819169] - [s390] s390/cpuinfo: fix wrong output when CPU0 is offline (Philipp Rudo) [1812982] - [s390] s390/topology: remove offline CPUs from CPU topology masks (Philipp Rudo) [1812982] - [hwtracing] intel_th: pci: Add Comet Lake PCH-V support (Tony Camuso) [1822983] - [kernel] kprobes: Fix optimize_kprobe()/unoptimize_kprobe() cancellation logic (Waiman Long) [1833383] - [kernel] kprobes: Set unoptimized flag after unoptimizing code (Waiman Long) [1833383] - [kernel] kprobes: Prohibit probing on BUG() and WARN() address (Waiman Long) [1833383] - [kernel] kprobes: Fix potential deadlock in kprobe_optimizer() (Waiman Long) [1833383] - [fs] gfs2: More gfs2_find_jhead fixes (Abhijith Das) [1828653] - [kernel] audit: fix a net reference leak in audit_list_rules_send() (Richard Guy Briggs) [1827327] - [kernel] audit: fix a net reference leak in audit_send_reply() (Richard Guy Briggs) [1827327] - [kernel] audit: check the length of userspace generated audit records (Richard Guy Briggs) [1827303] - [s390] s390/pci: do not set affinity for floating irqs (Philipp Rudo) [1834319] - [netdrv] mlx5: Remove the unsupported mark from ConnectX-6 Dx device (Alaa Hleihel) [1789382 1782831] - [netdrv] mlx5: Update list of unsupported devices (Alaa Hleihel) [1823685 1789382] - [infiniband] RDMA/mlx5: Verify that QP is created with RQ or SQ (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix udata response upon SRQ creation (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Set of completion request bit should not clear other adjacent bits (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: en_accel, Add missing net/geneve.h include (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix q counters on uplink representors (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix command entry leak in Internal Error State (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix forced completion access non initialized command entry (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: DR, On creation set CQ's arm_db member to right value (Alaa Hleihel) [1789384 1789382] - [infiniband] RDMA/mlx5: Set GRH fields in query QP on RoCE (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Get the latest values from counters in switchdev mode (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Don't trigger IRQ multiple times on XSK wakeup to avoid WQ overruns (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix failing fw tracer allocation on s390 (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix pfnum in devlink port attribute (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix nest_level for vlan pop action (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Add missing release firmware call (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix frequent ioread PCI access during recovery (Alaa Hleihel) [1789382] - [netdrv] flow_offload: check for basic action hw stats type (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Remove unused argument from parse_tc_pedit_action() (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Use netdev_warn() instead of pr_err() for errors (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: DR, Remove unneeded functions deceleration (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: DR, Improve log messages (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: DR, Change matcher priority parameter type (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: Eswitch, avoid redundant mask (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Don't allow forwarding between uplink (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Fix missing congestion control debugfs on rep rdma device (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Optimize u64 division on 32-bit arches (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Prevent UMR usage with RO only when we have RO caps (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix group version management (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: E-Switch, Hold mutex when querying drop counter in legacy mode (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Tidy up and fix reverse christmas ordring (Alaa Hleihel) [1831133 1789382] - [netdrv] net/mlx5: Expose port speed when possible (Alaa Hleihel) [1831133 1789382] - [include] net/mlx5: Expose link speed directly (Alaa Hleihel) [1831133 1789382] - [netdrv] net/mlx5e: Use netdev_warn() for errors for added prefix (Alaa Hleihel) [1789382] - [include] net/mlx5: fix spelling mistake "reserverd" -> "reserved" (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: sparse: warning: Using plain integer as NULL pointer (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: sparse: warning: incorrect type in assignment (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: RX, Use indirect calls wrapper for handling compressed completions (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: RX, Use indirect calls wrapper for posting descriptors (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Change inline mode correctly when changing trust state (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Add context to the preactivate hook (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Allow mlx5e_switch_priv_channels to fail and recover (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Remove unneeded netif_set_real_num_tx_queues (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix configuration of XPS cpumasks and netdev queues in corner cases (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Use preactivate hook to set the indirection table (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Rename hw_modify to preactivate (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Encapsulate updating netdev queues into a function (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Add missing LRO cap check (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Define one flow for TXQ selection when TCs are configured (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Block delay drop to unprivileged users (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix access to wrong pointer while performing flush due to error (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Do not recover from a non-fatal syndrome (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix ICOSQ recovery flow with Striding RQ (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix missing reset of SW metadata in Striding RQ reset (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Enhance ICOSQ WQE info fields (Alaa Hleihel) [1789382] - [netdrv] net/mlx5_core: Set IB capability mask1 to fix ib_srpt connection failure (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix the number of hwcounters of a dynamic counter (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Clear LAG notifier pointer after unregister (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix endianness handling in pedit mask (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: kTLS, Fix wrong value in record tracker enum (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: kTLS, Fix TCP seq off-by-1 issue in TX resync flow (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: DR, Fix postsend actions write length (Alaa Hleihel) [1789384 1789382] - [infiniband] IB/mlx5: Fix implicit ODP race (Alaa Hleihel) [1789382] - [netdrv] mlx5: register lag notifier for init network namespace only (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix crash in recovery flow without devlink reporter (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Reset RQ doorbell counter before moving RQ state from RST to RDY (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix sleep while atomic in mlx5_eswitch_get_vepa (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Use div64_u64 for num_var_hw_entries calculation (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Prevent overflow in mmap offset calculations (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix async events cleanup flows (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Return failure when rts2rts_qp_counters_set_id is not supported (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Deprecate usage of generic TLS HW capability bit (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: TX, Error completion is for last WQE in batch (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: IPsec, fix memory leak at mlx5_fpga_ipsec_delete_sa_ctx (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: IPsec, Fix esp modify function attribute (Alaa Hleihel) [1789382] - [infiniband] RDMA/core: Make the entire API tree static (Alaa Hleihel) [1789382] - [netdrv] mlx5: Use dev_net netdevice notifier registrations (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Return the administrative GUID if exists (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: DR, Allow connecting flow table to a lower/same level table (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: DR, Modify header copy support (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: DR, Modify set action limitation extension (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5e: Add mlx5e_flower_parse_meta support (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix printk format warning (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Allow creating autogroups with reserved entries (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Add ignore level support fwd to table rules (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: fs_core: Introduce unmanaged flow tables (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Refactor mlx5_create_auto_grouped_flow_table (Alaa Hleihel) [1789383 1789382] - [include] net/mlx5e: Expose FEC feilds and related capability bit (Alaa Hleihel) [1789382] - [include] net/mlx5: Add mlx5_ifc definitions for connection tracking support (Alaa Hleihel) [1789382] - [include] net/mlx5: Add copy header action struct layout (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Expose resource dump register mapping (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Add structures and defines for MIRC register (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Read MCAM register groups 1 and 2 (Alaa Hleihel) [1789382] - [include] net/mlx5: Add structures layout for new MCAM access reg groups (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Expose RoCE accelerator counters (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Set relaxed ordering when requested (Alaa Hleihel) [1789382] - [include] net/mlx5: Expose relaxed ordering bits (Alaa Hleihel) [1789382] - [include] net/mlx5: Add RoCE accelerator counters (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix handling of IOVA != user_va in ODP paths (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Mask out unsupported ODP capabilities for kernel QPs (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Don't fake udata for kernel path (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Add ODP WQE handlers for kernel QPs (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Simplify devx async commands (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Add mmap support for VAR (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Introduce VAR object and its alloc/destroy methods (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Extend caps stage to handle VAR capabilities (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Expose vDPA emulation device capabilities (Alaa Hleihel) [1789382] - [include] net/mlx5: Add Virtio Emulation related device capabilities (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Use async EQ setup cleanup helpers for multiple EQs (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Reduce No CQ found log level from warn to debug (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Increase the max number of channels to 128 (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Support accept action on nic table (Alaa Hleihel) [1789382] - [netdrv] mlx5: work around high stack usage with gcc (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: limit the function in local scope (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: use true, false for bool variable (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Unify ODP MR code paths to allow extra flexibility (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Fix outstanding_pi index for GSI qps (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Add devlink reload (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Set netdev name space on creation (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Load profile according to RoCE enablement state (Alaa Hleihel) [1790200 1789382] - [netdrv] net/mlx5: Handle "enable_roce" devlink param (Alaa Hleihel) [1790200 1789382] - [fs] gfs2: Another gfs2_walk_metadata fix (Andreas Grunbacher) [1826419] - [nvme] nvmet-tcp: optimize tcp stack TX when data digest is used (Chris Leech) [1829540] - [nvme] nvmet-tcp: fix maxh2cdata icresp parameter (Chris Leech) [1829540] - [nvme] nvmet-tcp: set SO_PRIORITY for accepted sockets (Chris Leech) [1829540] - [nvme] nvmet-tcp: set MSG_MORE only if we actually have more to send (Chris Leech) [1829540] - [nvme] nvme-tcp: fix possible crash in recv error flow (Chris Leech) [1829540] - [nvme] nvme-tcp: don't poll a non-live queue (Chris Leech) [1829540] - [nvme] nvme-tcp: fix possible crash in write_zeroes processing (Chris Leech) [1829540] - [nvme] nvme-tcp: Add warning on state change failure at nvme_tcp_setup_ctrl (Chris Leech) [1829540] - [nvme] nvme: Make nvme_uninit_ctrl symmetric to nvme_init_ctrl (Chris Leech) [1829540] - [nvme] nvme: Fix ctrl use-after-free during sysfs deletion (Chris Leech) [1829540] - [nvme] nvme-tcp: break from io_work loop if recv failed (Chris Leech) [1829540] - [nvme] nvme-tcp: move send failure to nvme_tcp_try_send (Chris Leech) [1829540] - [nvme] nvme-tcp: optimize queue io_cpu assignment for multiple queue maps (Chris Leech) [1829540] - [nvme] nvme-tcp: Set SO_PRIORITY for all host sockets (Chris Leech) [1829540] - [nvme] nvme/tcp: fix bug on double requeue when send fails (Chris Leech) [1829540] - [nvme] Revert "nvme: Restart request timers in resetting state" (Chris Leech) [1829540] - [acpi] ACPI: processor: Export acpi_processor_evaluate_cst() (Steve Best) [1826415] - [acpi] ACPI: processor: Make ACPI_PROCESSOR_CSTATE depend on ACPI_PROCESSOR (Steve Best) [1826415] - [acpi] ACPI: processor: Clean up acpi_processor_evaluate_cst() (Steve Best) [1826415] - [acpi] ACPI: processor: Introduce acpi_processor_evaluate_cst() (Steve Best) [1826415] - [acpi] ACPI: processor: Export function to claim _CST control (Steve Best) [1826415] - [s390] s390/ftrace: fix potential crashes when switching tracers (Philipp Rudo) [1831796] - [net] net/smc: cancel event worker during device removal (Philipp Rudo) [1780665] - [net] net/smc: check for valid ib_client_data (Philipp Rudo) [1780665] - [net] net/smc: fix cleanup for linkgroup setup failures (Philipp Rudo) [1780665] - [net] net/smc: no peer ID in CLC decline for SMCD (Philipp Rudo) [1780665] - [net] net/smc: transfer fasync_list in case of fallback (Philipp Rudo) [1780665] - [net] net/smc: fix leak of kernel memory to user space (Philipp Rudo) [1780665] - [net] net/smc: allow unprivileged users to read pnet table (Philipp Rudo) [1780665] - [net] net/smc: unregister ib devices in reboot_event (Philipp Rudo) [1780665] - [net] net/smc: add fallback check to connect() (Philipp Rudo) [1780665] - [net] net/smc: shorten lgr_cnt initialization (Philipp Rudo) [1780665] - [net] net/smc: fix fastopen for non-blocking connect() (Philipp Rudo) [1780665] - [net] net/smc: remove unused constant (Philipp Rudo) [1780665] - [net] net/smc: use rcu_barrier() on module unload (Philipp Rudo) [1780665] - [net] net/smc: guarantee removal of link groups in reboot (Philipp Rudo) [1780665] - [net] net/smc: introduce bookkeeping of SMCR link groups (Philipp Rudo) [1780665] - [net] net/smc: immediate termination for SMCR link groups (Philipp Rudo) [1780665] - [net] net/smc: wait for tx completions before link freeing (Philipp Rudo) [1780665] - [net] net/smc: abnormal termination without orderly flag (Philipp Rudo) [1780665] - [net] net/smc: no WR buffer wait for terminating link group (Philipp Rudo) [1780665] - [net] net/smc: introduce bookkeeping of SMCD link groups (Philipp Rudo) [1780665] - [net] net/smc: abnormal termination of SMCD link groups (Philipp Rudo) [1780665] - [net] net/smc: immediate termination for SMCD link groups (Philipp Rudo) [1780665] - [net] net/smc: fix final cleanup sequence for SMCD devices (Philipp Rudo) [1780665] - [net] net/smc: fix refcount non-blocking connect() -part 2 (Philipp Rudo) [1780665] - [net] net/smc: fix ethernet interface refcounting (Philipp Rudo) [1780665] - [net] net/smc: fix refcounting for non-blocking connect() (Philipp Rudo) [1780665] - [net] net/smc: fix closing of fallback SMC sockets (Philipp Rudo) [1780665] - [net] net/smc: remove close abort worker (Philipp Rudo) [1780665] - [net] net/smc: introduce link group termination worker (Philipp Rudo) [1780665] - [net] net/smc: improve abnormal termination of link groups (Philipp Rudo) [1780665] - [net] net/smc: tell peers about abnormal link group termination (Philipp Rudo) [1780665] - [net] net/smc: improve link group freeing (Philipp Rudo) [1780665] - [net] net/smc: improve abnormal termination locking (Philipp Rudo) [1780665] - [net] net/smc: terminate link group without holding lgr lock (Philipp Rudo) [1780665] - [net] net/smc: cancel send and receive for terminated socket (Philipp Rudo) [1780665] - [net] net/smc: receive pending data after RCV_SHUTDOWN (Philipp Rudo) [1780665] - [net] net/smc: receive returns without data (Philipp Rudo) [1780665] - [net] net/smc: fix SMCD link group creation with VLAN id (Philipp Rudo) [1780665] - [net] net/smc: improve close of terminated socket (Philipp Rudo) [1780665] - [net] net/smc: no new connections on disappearing devices (Philipp Rudo) [1780665] - [net] net/smc: increase device refcount for added link group (Philipp Rudo) [1780665] - [net] net/smc: separate locks for SMCD and SMCR link group lists (Philipp Rudo) [1780665] - [net] net/smc: separate SMCD and SMCR link group lists (Philipp Rudo) [1780665] - [net] net/smc: original socket family in inet_sock_diag (Philipp Rudo) [1780665] - [infiniband] RDMA/bnxt_re: Use rdma_read_gid_hw_context to retrieve HW gid index (Kamal Heib) [1828601] - [infiniband] RDMA/core: Add helper function to retrieve driver gid context from gid attr (Kamal Heib) [1828601] - [media] media: videobuf2-v4l2: drop WARN_ON in vb2_warn_zero_bytesused() (Vladis Dronov) [1825616] {CVE-2019-9455} - [net] SUNRPC: Fix initialisation of struct rpc_xprt_switch (Steve Dickson) [1683394] - [net] SUNRPC: add links for all client xprts to debugfs (Steve Dickson) [1683394] - [net] SUNRPC: enhance rpc_clnt_show_stats() to report on all xprts (Steve Dickson) [1683394] - [net] SUNRPC: Fix transport accounting when caller specifies an rpc_xprt (Steve Dickson) [1683394] - [fs] NFS: send state management on a single connection (Steve Dickson) [1683394] - [net] SUNRPC: Add basic load balancing to the transport switch (Steve Dickson) [1683394] - [net] SUNRPC: Fix up task signalling (Steve Dickson) [1683394] - [fs] NFS: Allow multiple connections to a NFSv2 or NFSv3 server (Steve Dickson) [1683394] - [fs] NFS: Display the "nconnect" mount option if it is set (Steve Dickson) [1683394] - [fs] pNFS: Allow multiple connections to the DS (Steve Dickson) [1683394] - [fs] NFSv4: Allow multiple connections to NFSv4.x (x>0) servers (Steve Dickson) [1683394] - [fs] NFS: Add a mount option to specify number of TCP connections to use (Steve Dickson) [1683394] - [net] SUNRPC: Allow creation of RPC clients with multiple connections (Steve Dickson) [1683394] - [net] netlabel: cope with NULL catmap (Paolo Abeni) [1827251] {CVE-2020-10711} - [scsi] scsi: qla2xxx: fix a potential NULL pointer dereference ("Ewan D. Milne") [1829250] {CVE-2019-16233} - [input] Input: ff-memless - kill timer in destroy() (Chris von Recklinghausen) [1815024] {CVE-2019-19524}- [netdrv] net/mlx5e: kTLS, Do not send decrypted-marked SKBs via non-accel path (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: kTLS, Remove redundant posts in TX resync flow (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: kTLS, Fix corner-case checks in TX resync flow (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-Switch, Prevent ingress rate configuration of uplink rep (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Update the list of the PCI supported devices (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Fix lowest FDB pool size (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Fix hairpin RSS table size (Alaa Hleihel) [1789380] - [netdrv] Revert "net/mlx5: Support lockless FTE read lookups" (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Move devlink registration before interfaces load (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Always print health reporter message to dmesg (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Avoid duplicating rule destinations (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Fix device memory flows (Alaa Hleihel) [1789380] - [netdrv] treewide: Use sizeof_field() macro (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: E-switch, Fix Ingress ACL groups in switchdev mode for prio tag (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Fix build error without IPV6 (Alaa Hleihel) [1789380] - [netdrv] net: use rhashtable_lookup() instead of rhashtable_lookup_fast() (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Remove redundant pointer check (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: TC, Stub out ipv6 tun create header function (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: DR, Add support for Geneve packets SW steering (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: DR, Add HW bits and definitions for Geneve flex parser (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: DR, Refactor VXLAN GPE flex parser tunnel code for SW steering (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Don't write read-only fields in MODIFY_HCA_VPORT_CONTEXT command (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Implement callbacks for getting VFs GUID attributes (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Rx, Update page pool numa node when changed (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Support extended number of strides for Striding RQ (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Remove redundant NULL initializations (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Add new chain for netfilter flow table offload (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Refactor creating fast path prio chains (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Accumulate levels for chains prio namespaces (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Define fdb tc levels per prio (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Rename FDB_* tc related defines to FDB_TC_* defines (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Simplify fdb chain and prio eswitch defines (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Support flow counters offset for bulk counters (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Dump of fw_fatal use updated devlink binary interface (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Rename profile and init methods (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: fix spelling mistake "metdata" -> "metadata" (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: fix kvfree of uninitialized pointer spec (Alaa Hleihel) [1789380] - [infiniband] IB: mlx5: no need to check return value of debugfs_create functions (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: LAG, Use port enumerators (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: rate limit alloc_ent error messages (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Add ToS (DSCP) header rewrite support (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Bit sized fields rewrite support (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: WQ, Move short getters into header file (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: TX, Dump WQs wqe descriptors on CQE with error events (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Support lockless FTE read lookups (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Do not hold group lock while allocating FTE in software (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Verify that rule has at least one fwd/drop action (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Remove unneeded variable in mlx5_unload_one (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: FPGA, support network cards with standalone FPGA (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Introduce and use mlx5_core_is_vf() (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Refactor ingress acl configuration (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Restrict metadata disablement to offloads mode (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Offloads shift ACL programming during enable/disable vport (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Offloads introduce and use per vport acl tables APIs (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Move ACL drop counters life cycle close to ACL lifecycle (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Legacy introduce and use per vport acl tables APIs (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Prepare code to handle vport enable error (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Tide up state_lock and vport enabled flag usage (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Move legacy drop counter and rule under legacy structure (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Move metdata fields under offloads structure (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Introduce and use mlx5_esw_is_manager_vport() (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Introduce and use vlan rule config helper (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-Switch, Rename ingress acl config in offloads mode (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-Switch, Rename egress config to generic name (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Test write combining support (Alaa Hleihel) [1789380] - [netdrv] net: Fix misspellings of "configure" and "configuration" (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Do not race with mlx5_ib_invalidate_range during create and destroy (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Do not store implicit children in the odp_mkeys xarray (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Rework implicit ODP destroy (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Avoid double lookups on the pagefault path (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Reduce locking in implicit_mr_get_data() (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Use an xarray for the children of an implicit ODP (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Split implicit handling from pagefault_mr (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Set the HW IOVA of the child MRs to their place in the tree (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Lift implicit_mr_alloc() into the two routines that call it (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Rework implicit_mr_get_data (Alaa Hleihel) [1789380] - [netdrv] RDMA/mlx5: Delete struct mlx5_priv->mkey_table (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Use a dedicated mkey xarray for ODP (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Split sig_err MR data into its own xarray (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Use SRCU properly in ODP prefetch (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Align usage of QP1 create flags with rest of mlx5 defines (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Add capability for max sge to get optimized performance (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Introduce and use mkey context setting helper routine (Alaa Hleihel) [1789380] - [include] net/mlx5: Expose optimal performance scatter entries capability (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Remove unnecessary else statement (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Remove unnecessary return statement (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Group boolean parameters to take less space (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Add missing capability bit check for IP-in-IP (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Fix ingress rate configuration for representors (Alaa Hleihel) [1789378] - [netdrv] mlx5: reject unsupported external timestamp flags (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Replace kfree with kvfree when free vhca stats (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Remove incorrect match criteria assignment line (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Enhance TX resync flow (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Save a copy of the crypto info (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Remove unneeded cipher type checks (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Limit DUMP wqe size (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Fix missing SQ edge fill (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Fix page refcnt leak in TX resync error flow (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Save by-value copy of the record frags (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Save only the frag page to release at completion (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Size of a Dump WQE is fixed (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Release reference on DUMPed fragments in shutdown flow (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: Put live in the correct place for ODP MRs (Alaa Hleihel) [1789378] - [infiniband] RDMA/odp: Lift umem_mutex out of ib_umem_odp_unmap_dma_pages() (Alaa Hleihel) [1789378] - [netdrv] drivers: net: Fix Kconfig indentation (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: DR, Remove redundant dev_name print from err log (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: DR, Remove useless set memory to zero use memset() (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Remove unused function parameter (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Use PTR_ERR_OR_ZERO rather than its implementation (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Use ipv6_stub to avoid dependency with ipv6 being a module (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Kconfig: Fix MLX5_CORE dependency with PCI_HYPERV_INTERFACE (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Fix static checker warning of potential pointer math issue (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Remove unlikely() from WARN*() condition (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Support TSO and TX checksum offloads for IP-in-IP tunnels (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Improve stateless offload capability check (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Support RSS for IP-in-IP and IPv6 tunneled packets (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Change function's position to a more fitting file (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Add page fault handler for DC initiator WQE (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Remove check of FW capabilities in ODP page fault handling (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Set ODP capabilities for DC transport to max (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: RDMA_RX flow type support for user applications (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Fix return code in case of hyperv wrong size read (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Add mlx5e HV VHCA stats agent (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add HV VHCA control agent (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add HV VHCA infrastructure (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add wrappers for HyperV PCIe operations (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Add trace point for neigh update (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Add trace point for neigh used value update (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Add tc flower tracepoints (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: Use odp instead of mr->umem in pagefault_mr (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: Use ib_umem_start instead of umem.address (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Create bypass and loopback flow steering namespaces for RDMA RX (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add per-namespace flow table default miss action support (Alaa Hleihel) [1789378] - [include] net/mlx5: Expose IP-in-IP capability bit (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Improve functions documentation (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Report and recover from CQE with error on RQ (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: RX, Handle CQE with error at the earliest stage (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Report and recover from rx timeout (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Report and recover from CQE error on ICOSQ (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Split open/close ICOSQ into stages (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Add support to rx reporter diagnose (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Add helper functions for reporter's basics (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Add cq info to tx reporter diagnose (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Extend tx reporter diagnostics output (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Extend tx diagnose function (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Generalize tx reporter's functionality (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Change naming convention for reporter's functions (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Rename reporter header file (Alaa Hleihel) [1790198 1789378] - [infiniband] RDMA/mlx5: Annotate lock dependency in bind/unbind slave port (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Expose XRQ legacy commands over the DEVX interface (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Add legacy events to DEVX list (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add XRQ legacy commands opcodes (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Use debug message instead of warn (Alaa Hleihel) [1789378] - [netdrv] mlx5: no need to check return value of debugfs_create functions (Alaa Hleihel) [1789378] - [infiniband] mlx5: Use refcount_t for refcount (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Allow dropping specific tunnel packets (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: TX reporter cleanup (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Set tx reporter only on successful creation (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Rx, checksum handling refactoring (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Tx, Soften inline mode VLAN dependencies (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: XDP, Slight enhancement for WQE fetch function (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: XDP, Close TX MPWQE session when no room for inline packet left (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Tx, Strict the room needed for SQ edge NOPs (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: E-Switch, add ingress rate support (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: Remove DEBUG ODP code (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Add CREATE_PSV/DESTROY_PSV for devx interface (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Avoid unnecessary typecast (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: xsk: dynamically allocate mlx5e_channel_param (Alaa Hleihel) [1789378] - [netdrv] net: Use skb accessors in network drivers (Alaa Hleihel) [1789378] - [char] tpm: Export tpm2_get_cc_attrs_tbl for ibmvtpm driver as module (David Gibson) [1781915] - [char] tpm: ibmvtpm: Add support for TPM2 (David Gibson) [1781915] - [char] tpm: of: Handle IBM, vtpm20 case when getting log parameters (David Gibson) [1781915] - [wireless] iwlwifi: mvm: Do not require PHY_SKU NVM section for 3168 devices (Jarod Wilson) [1807052] - [wireless] mwifiex: set needed_headroom, not hard_header_len (Jarod Wilson) [1807052] - [wireless] ath9k: Handle txpower changes even when TPC is disabled (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02: fix coverage_class type (Jarod Wilson) [1807052] - [wireless] rtw88: Use kfree_skb() instead of kfree() (Jarod Wilson) [1807052] - [wireless] brcmfmac: abort and release host after error (Jarod Wilson) [1807052] - [wireless] ath11k: Silence clang -Wsometimes-uninitialized in ath11k_update_per_peer_stats_from_txcompl (Jarod Wilson) [1807052] - [wireless] ath10k: Call cpu_latency_qos_*() instead of pm_qos_*() (Jarod Wilson) [1807052] - [net] mac80211: fix authentication with iwlwifi/mvm (Jarod Wilson) [1807052] - [net] mac80211: set IEEE80211_TX_CTRL_PORT_CTRL_PROTO for nl80211 TX (Jarod Wilson) [1807052] - [net] mac80211: mark station unauthorized before key removal (Jarod Wilson) [1807052] - [net] mac80211: Check port authorization in the ieee80211_tx_dequeue() case (Jarod Wilson) [1807052] - [net] cfg80211: Do not warn on same channel at the end of CSA (Jarod Wilson) [1807052] - [net] mac80211: drop data frames without key on encrypted links (Jarod Wilson) [1807052] - [net] nl80211: fix NL80211_ATTR_CHANNEL_WIDTH attribute type (Jarod Wilson) [1807052] - [wireless] iwlwifi: don't send GEO_TX_POWER_LIMIT if no wgds table (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: add 0x2526/0x401* devices back to cfg detection (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Fix regression due to commit d1d1a96bdb44 (Jarod Wilson) [1807052] - [wireless] iwlwifi: cfg: use antenna diversity with all AX101 devices (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Fix rate scale NSS configuration (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg: don't abort if sending DBGC_SUSPEND_RESUME fails (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: don't add TLV offset when reading FIFOs (Jarod Wilson) [1807052] - [wireless] iwlwifi: check allocated pointer when allocating conf_tlvs (Jarod Wilson) [1807052] - [wireless] iwlwifi: consider HE capability when setting LDPC (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: take the required lock when clearing time event data (Jarod Wilson) [1807052] - [net] mac80211: Do not send mesh HWMP PREQ if HWMP is disabled (Jarod Wilson) [1807052] - [net] nl80211: add missing attribute validation for channel switch (Jarod Wilson) [1807052] - [net] nl80211: add missing attribute validation for beacon report scanning (Jarod Wilson) [1807052] - [net] nl80211: add missing attribute validation for critical protocol indication (Jarod Wilson) [1807052] - [wireless] mt76: fix array overflow on receiving too many fragments for a packet (Jarod Wilson) [1807052] - [net] mac80211: rx: avoid RCU list traversal under mutex (Jarod Wilson) [1807052] - [net] nl80211: explicitly include if_vlan.h (Jarod Wilson) [1807052] - [net] mac80211: Remove a redundant mutex unlock (Jarod Wilson) [1807052] - [net] cfg80211: check reg_rule for NULL in handle_channel_custom() (Jarod Wilson) [1807052] - [net] nl80211: fix potential leak in AP start (Jarod Wilson) [1807052] - [net] mac80211: fix wrong 160/80+80 MHz setting (Jarod Wilson) [1807052] - [net] cfg80211: add missing policy for NL80211_ATTR_STATUS_CODE (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: fix max_nss in mt7615_eeprom_parse_hw_cap (Jarod Wilson) [1807052] - [net] cfg80211: check wiphy driver existence for drvinfo report (Jarod Wilson) [1807052] - [net] mac80211: consider more elements in parsing CRC (Jarod Wilson) [1807052] - [net] mac80211: fix quiet mode activation in action frames (Jarod Wilson) [1807052] - [net] mac80211: use more bits for ack_frame_id (Jarod Wilson) [1807052] - [wireless] rtw88: Fix return value of rtw_wow_check_fw_status (Jarod Wilson) [1807052] - [wireless] iwlwifi: d3: read all FW CPUs error info (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix TDLS discovery with the new firmware API (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Check the sta is not NULL in iwl_mvm_cfg_he_sta() (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: avoid use after free for pmsr request (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: update the DTS measurement type (Jarod Wilson) [1807052] - [wireless] iwlwifi: don't throw error when trying to remove IGTK (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Fix thermal zone registration (Jarod Wilson) [1807052] - [wireless] iwlwifi: use helpers (Jarod Wilson) [1807052] - [wireless] mwifiex: Fix possible buffer overflows in mwifiex_cmd_append_vsie_tlv() (Jarod Wilson) [1807052] - [wireless] mwifiex: Fix possible buffer overflows in mwifiex_ret_wmm_get_status() (Jarod Wilson) [1807052] - [wireless] mwifiex: fix unbalanced locking in mwifiex_process_country_ie() (Jarod Wilson) [1807052] - [wireless] rtlwifi: btcoex: fix spelling mistake "initilized" -> "initialized" (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723ae: remove unused variables (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: remove unused variables (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8821ae: remove unused variables (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: remove redundant assignment to variable cond (Jarod Wilson) [1807052] - [wireless] brcmfmac: Remove always false 'idx < 0' statement (Jarod Wilson) [1807052] - [wireless] rtw88: use shorter delay time to poll PS state (Jarod Wilson) [1807052] - [wireless] rtw88: fix potential NULL skb access in TX ISR (Jarod Wilson) [1807052] - [wireless] brcmfmac: add initial support for monitor mode (Jarod Wilson) [1807052] - [wireless] brcmfmac: simplify building interface combinations (Jarod Wilson) [1807052] - [wireless] brcmfmac: sdio: Fix OOB interrupt initialization on brcm43362 (Jarod Wilson) [1807052] - [wireless] brcmfmac: use true,false for bool variable (Jarod Wilson) [1807052] - [wireless] rtw88: use true,false for bool variable (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8821ae: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723be: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723ae: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Remove sw.h header (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192cu: Remove sw.h header (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ce: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192cu: Fix typo (Jarod Wilson) [1807052] - [wireless] rtw88: change max_num_of_tx_queue() definition to inline in pci.h (Jarod Wilson) [1807052] - [wireless] rtw88: assign NULL to skb after being kfree()'ed (Jarod Wilson) [1807052] - [wireless] rtw88: use rtw_hci_stop() instead of rtwdev->hci.ops->stop() (Jarod Wilson) [1807052] - [wireless] rtw88: remove unused vif pointer in struct rtw_vif (Jarod Wilson) [1807052] - [wireless] rtw88: remove unused variable 'in_lps' (Jarod Wilson) [1807052] - [wireless] rtw88: remove unused spinlock (Jarod Wilson) [1807052] - [wireless] rtw88: 8822c: update power sequence to v15 (Jarod Wilson) [1807052] - [wireless] rtw88: fix TX secondary channel offset of 40M if current bw is 20M or 40M (Jarod Wilson) [1807052] - [wireless] rtw88: fix rate mask for 1SS chip (Jarod Wilson) [1807052] - [wireless] rtw88: Add wowlan net-detect support (Jarod Wilson) [1807052] - [wireless] rtw88: Add wowlan pattern match support (Jarod Wilson) [1807052] - [wireless] rtw88: support wowlan feature for 8822c (Jarod Wilson) [1807052] - [wireless] rtw88: load wowlan firmware if wowlan is supported (Jarod Wilson) [1807052] - [wireless] rtw88: add interface config for 8822c (Jarod Wilson) [1807052] - [wireless] rtw88: pci: reset dma when reset pci trx ring (Jarod Wilson) [1807052] - [wireless] rtw88: pci: reset ring index when release skbs in tx ring (Jarod Wilson) [1807052] - [wireless] ath10k: Use device_get_match_data() to simplify code (Jarod Wilson) [1807052] - [wireless] ath10k: Add newlines to printk messages (Jarod Wilson) [1807052] - [wireless] ath10k: Correct the DMA direction for management tx buffers (Jarod Wilson) [1807052] - [wireless] mwifiex: drop most magic numbers from mwifiex_process_tdls_action_frame() (Jarod Wilson) [1807052] - [wireless] ath11k: fix up some error paths (Jarod Wilson) [1807052] - [wireless] ath11k: make sure to also report the RX bandwidth inside radiotap (Jarod Wilson) [1807052] - [wireless] ath11k: avoid null pointer dereference when pointer band is null (Jarod Wilson) [1807052] - [wireless] ath11k: Add missing pdev rx rate stats (Jarod Wilson) [1807052] - [wireless] ath11k: ensure ts.flags is initialized before bit-wise or'ing in values (Jarod Wilson) [1807052] - [wireless] ath11k: set TxBf parameters after vdev start (Jarod Wilson) [1807052] - [wireless] ath11k: enable HE tlvs in ppdu stats for pktlog lite (Jarod Wilson) [1807052] - [wireless] ath11k: fix debugfs build failure (Jarod Wilson) [1807052] - [wireless] ath10k: Don't call SCM interface for statically mapped msa region (Jarod Wilson) [1807052] - [wireless] Revert "ath10k: fix DMA related firmware crashes on multiple devices" (Jarod Wilson) [1807052] - [wireless] ath10k: drop RX skb with invalid length for sdio (Jarod Wilson) [1807052] - [wireless] ath10k: use true,false for bool variable (Jarod Wilson) [1807052] - [wireless] ath10k: Add optional qdss clk (Jarod Wilson) [1807052] - [wireless] ath10k: pci: Fix comment on ath10k_pci_dump_memory_sram (Jarod Wilson) [1807052] - [wireless] ath10k: pci: Only dump ATH10K_MEM_REGION_TYPE_IOREG when safe (Jarod Wilson) [1807052] - [wireless] ath9k: use true,false for bool variable (Jarod Wilson) [1807052] - [net] net: mac80211: use skb_list_walk_safe helper for gso segments (Jarod Wilson) [1807052] - [wireless] net: iwlwifi: use skb_list_walk_safe helper for gso segments (Jarod Wilson) [1807052] - [wireless] iwlwifi: add device name to device_info (Jarod Wilson) [1807052] - [wireless] iwlwifi: implement a new device configuration table (Jarod Wilson) [1807052] - [wireless] iwlwifi: assume the driver_data is a trans_cfg, but allow full cfg (Jarod Wilson) [1807052] - [wireless] iwlwifi: prph: remove some unused register definitions (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: print out extended secboot status before dump (Jarod Wilson) [1807052] - [wireless] iwlwifi: incorporate firmware filename into version (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: check for the domain on all TLV types during init (Jarod Wilson) [1807052] - [wireless] iwlwifi: add new iwlax411 struct for type SoSnj (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: remove the iwl_dbg_tlv_gen_active_trigs() function (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: remove unnecessary active triggers status flag (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: don't allow changing the domain via debugfs (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Update BEACON_TEMPLATE_CMD firmware API (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove CSR registers abstraction (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove some outdated iwl22000 configurations (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: validate queue ID before array deref/bit ops (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: use partial pages if applicable (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: map only used part of RX buffers (Jarod Wilson) [1807052] - [wireless] iwlwifi: allocate more receive buffers for HE devices (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: add support for responder config command version 7 (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: add support for location range request version 8 (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: remove support for fw scan api v11 (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: don't skip a TX FIFO when dumping (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: update powersave correctly for D3 (Jarod Wilson) [1807052] - [wireless] ath11k: Use sizeof_field() instead of FIELD_SIZEOF() (Jarod Wilson) [1807052] - [wireless] ath11k: explicitly cast wmi commands to their correct struct type (Jarod Wilson) [1807052] - [wireless] orinoco: avoid assertion in case of NULL pointer (Jarod Wilson) [1807052] - [wireless] brcmfmac: Keep OOB wake-interrupt disabled when it shouldn't be enabled (Jarod Wilson) [1807052] - [wireless] brcmfmac: Fix memory leak in brcmf_usbdev_qinit (Jarod Wilson) [1807052] - [wireless] brcmfmac: not set mbss in vif if firmware does not support MBSS (Jarod Wilson) [1807052] - [wireless] brcmfmac: add RSDB condition when setting interface combinations (Jarod Wilson) [1807052] - [wireless] brcmfmac: add support for BCM4359 SDIO chipset (Jarod Wilson) [1807052] - [wireless] brcmfmac: make errors when setting roaming parameters non-fatal (Jarod Wilson) [1807052] - [wireless] brcmfmac: fix rambase for 4359/9 (Jarod Wilson) [1807052] - [wireless] brcmfmac: set F2 blocksize and watermark for 4359 (Jarod Wilson) [1807052] - [wireless] brcmfmac: reset two D11 cores if chip has two D11 cores (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: use generic rtl_signal_scale_mapping (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192cu: use generic rtl_signal_scale_mapping (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ce: use generic rtl_signal_scale_mapping (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: use generic rtl_query_rxpwrpercentage (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192cu: use generic rtl_query_rxpwrpercentage (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ce: use generic rtl_query_rxpwrpercentage (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: fix interface sanity check (Jarod Wilson) [1807052] - [wireless] brcmfmac: fix interface sanity check (Jarod Wilson) [1807052] - [wireless] brcmfmac: set interface carrier to off by default (Jarod Wilson) [1807052] - [wireless] mwifiex: delete unused mwifiex_get_intf_num() (Jarod Wilson) [1807052] - [wireless] rt2x00usb: Fix a warning message in 'rt2x00usb_watchdog_tx_dma()' (Jarod Wilson) [1807052] - [wireless] brcmfmac: Fix use after free in brcmf_sdio_readframes() (Jarod Wilson) [1807052] - [wireless] rt2x00: use RESET state bit to prevent IV changes on restart (Jarod Wilson) [1807052] - [wireless] rt2x00: implement reconfig_complete (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl_pci: Fix -Wcast-function-type (Jarod Wilson) [1807052] - [wireless] brcmsmac: Remove always false 'channel < 0' statement (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove last definitions of local bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723be: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723ae: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl88821ae: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove dependence on special bit manipulation macros for common driver (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ce: rtl8192c_com: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Remove usage of private bit manipulation (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Convert inline routines to little-endian words (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Convert macros that set descriptor (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Replace local bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Remove unused GET_XXX and SET_XXX macros (Jarod Wilson) [1807052] - [wireless] brcmfmac: Fix memory leak in brcmf_p2p_create_p2pdev() (Jarod Wilson) [1807052] - [wireless] ath9k: fix storage endpoint lookup (Jarod Wilson) [1807052] - [wireless] ath11k: Remove unneeded semicolon (Jarod Wilson) [1807052] - [wireless] ath11k: remove an unneeded NULL check (Jarod Wilson) [1807052] - [wireless] ath11k: checking for NULL vs IS_ERR() (Jarod Wilson) [1807052] - [wireless] ath11k: delete a stray unlock in ath11k_dbg_htt_stats_req() (Jarod Wilson) [1807052] - [wireless] ath11k: fix missing free of skb on error return path (Jarod Wilson) [1807052] - [wireless] ath11k: fix uninitialized variable radioup (Jarod Wilson) [1807052] - [wireless] ath11k: fix memory leak on reg_info (Jarod Wilson) [1807052] - [wireless] ath11k: Remove unnecessary enum scan_priority (Jarod Wilson) [1807052] - [wireless] ath11k: fix several spelling mistakes (Jarod Wilson) [1807052] - [wireless] ath11k: add some missing __packed qualifiers (Jarod Wilson) [1807052] - [wireless] ath11k: set the BA buffer size to 256 when HE is enabled (Jarod Wilson) [1807052] - [wireless] ath11k: fix pdev when invoking ath11k_wmi_send_twt_enable_cmd() (Jarod Wilson) [1807052] - [wireless] ath11k: optimize ath11k_hal_tx_status_parse (Jarod Wilson) [1807052] - [wireless] ath11k: optimise ath11k_dp_tx_completion_handler (Jarod Wilson) [1807052] - [wireless] ath11k: move some tx_status parsing to debugfs code (Jarod Wilson) [1807052] - [wireless] ath11k: rename ath11k_wmi_base instances from wmi_sc to wmi_ab (Jarod Wilson) [1807052] - [wireless] ath11k: drop memset when setting up a tx cmd desc (Jarod Wilson) [1807052] - [wireless] ath11k: disable PS for STA interfaces by default upon bringup (Jarod Wilson) [1807052] - [wireless] ath11k: add wmi helper for turning STA PS on/off (Jarod Wilson) [1807052] - [wireless] ath10k: Fix some typo in some warning messages (Jarod Wilson) [1807052] - [wireless] ath11k: register HE mesh capabilities (Jarod Wilson) [1807052] - [net] netlink: rename nl80211_validate_nested() to nla_validate_nested() (Jarod Wilson) [1807052] - [wireless] wireless/mediatek: Replace rcu_swap_protected() with rcu_replace_pointer() (Jarod Wilson) [1807052] - [wireless] ath: add support for special 0x0 regulatory domain (Jarod Wilson) [1807052] - [wireless] ath10k: change bundle count for max rx bundle for sdio (Jarod Wilson) [1807052] - [wireless] ath10k: enable napi on RX path for sdio (Jarod Wilson) [1807052] - [wireless] ath11k: fix indentation in ath11k_mac_prepare_he_mode() (Jarod Wilson) [1807052] - [wireless] ath11k: Setup REO destination ring before sending wmi_init command (Jarod Wilson) [1807052] - [wireless] ath11k: Move mac80211 hw allocation before wmi_init command (Jarod Wilson) [1807052] - [wireless] ath11k: Skip update peer stats for management packets (Jarod Wilson) [1807052] - [wireless] ath11k: update tx duration in station info (Jarod Wilson) [1807052] - [wireless] ath11k: fix vht guard interval mapping (Jarod Wilson) [1807052] - [wireless] ath11k: fix memory leak in monitor mode (Jarod Wilson) [1807052] - [wireless] ath11k: Advertise MPDU start spacing as no restriction (Jarod Wilson) [1807052] - [wireless] ath11k: Update tx and rx chain count properly on drv_set_antenna (Jarod Wilson) [1807052] - [wireless] ath11k: add necessary peer assoc params in wmi dbg (Jarod Wilson) [1807052] - [wireless] ath11k: unlock mutex during failure in qmi fw ready (Jarod Wilson) [1807052] - [wireless] ath11k: add support for controlling tx power to a station (Jarod Wilson) [1807052] - [wireless] ath11k: update bawindow size in delba process (Jarod Wilson) [1807052] - [wireless] ath11k: avoid use_after_free in ath11k_dp_rx_msdu_coalesce API (Jarod Wilson) [1807052] - [wireless] ath11k: avoid burst time conversion logic (Jarod Wilson) [1807052] - [wireless] ath11k: pktlog: fix sending/using the pdev id (Jarod Wilson) [1807052] - [wireless] ath11k: qmi clean up in ath11k_qmi_wlanfw_wlan_cfg_send() (Jarod Wilson) [1807052] - [wireless] ath11k: qmi clean up ce and HTC service config update (Jarod Wilson) [1807052] - [wireless] ath11k: tracing: fix ath11k tracing (Jarod Wilson) [1807052] - [wireless] ath10k: enable wow feature for sdio chip (Jarod Wilson) [1807052] - [wireless] ath10k: change log level for mpdu status of sdio chip (Jarod Wilson) [1807052] - [wireless] ath10k: set WMI_PEER_AUTHORIZE after a firmware crash (Jarod Wilson) [1807052] - [wireless] ath10k: set max mtu to 1500 for sdio chip (Jarod Wilson) [1807052] - [wireless] ath10k: enable firmware log by default for sdio (Jarod Wilson) [1807052] - [wireless] ath11k: Fix target crash due to WBM_IDLE_LINK ring desc shortage (Jarod Wilson) [1807052] - [wireless] ath11k: Fixing TLV length issue in peer pktlog WMI command (Jarod Wilson) [1807052] - [wireless] ath11k: Fix skb_panic observed during msdu coalescing (Jarod Wilson) [1807052] - [wireless] ath11k: remove unused tx ring counters (Jarod Wilson) [1807052] - [wireless] ath11k: avoid WMM param truncation (Jarod Wilson) [1807052] - [wireless] ath11k: optimize RX path latency (Jarod Wilson) [1807052] - [wireless] ath11k: update tcl cmd descriptor parameters for STA mode (Jarod Wilson) [1807052] - [wireless] ath11k: fix wmi service ready ext tlv parsing (Jarod Wilson) [1807052] - [wireless] ath11k: fix resource leak in ath11k_mac_sta_state (Jarod Wilson) [1807052] - [wireless] ath11k: Fix htt stats sounding info and pdev cca stats (Jarod Wilson) [1807052] - [wireless] ath10k: move non-fatal warn logs to dbg level (Jarod Wilson) [1807052] - [wireless] ath11k: add spatial reuse support (Jarod Wilson) [1807052] - [wireless] ath11k: add TWT support (Jarod Wilson) [1807052] - [wireless] ath11k: add HE support (Jarod Wilson) [1807052] - [wireless] ath11k: Remove dead code while handling amsdu packets (Jarod Wilson) [1807052] - [wireless] ath11k: fix missed bw conversion in tx completion (Jarod Wilson) [1807052] - [wireless] ath11k: convert message from info to dbg (Jarod Wilson) [1807052] - [wireless] ath11k: ignore event 0x6017 (Jarod Wilson) [1807052] - [wireless] ath11k: add RX stats support for radiotap (Jarod Wilson) [1807052] - [wireless] ath11k: driver for Qualcomm IEEE 802.11ax devices (Jarod Wilson) [1807052] - [wireless] ath10k: fix RX of frames with broken FCS in monitor mode (Jarod Wilson) [1807052] - [wireless] ath10k: report rssi of each chain to mac80211 for sdio (Jarod Wilson) [1807052] - [wireless] ath10k: Handle "invalid" BDFs for msm8998 devices (Jarod Wilson) [1807052] - [wireless] ath10k: Fix qmi init error handling (Jarod Wilson) [1807052] - [wireless] ath10k: add NL80211_FEATURE_ND_RANDOM_MAC_ADDR for NLO (Jarod Wilson) [1807052] - [wireless] ath10k: Handle when FW doesn't support QMI_WLFW_HOST_CAP_REQ_V01 (Jarod Wilson) [1807052] - [wireless] ath10k: add large size for BMI download data for SDIO (Jarod Wilson) [1807052] - [wireless] ath10k: correct the tlv len of ath10k_wmi_tlv_op_gen_config_pno_start (Jarod Wilson) [1807052] - [wireless] ath10k: sdio: remove struct ath10k_sdio_rx_data::status (Jarod Wilson) [1807052] - [wireless] ath10k: sdio: cosmetic cleanup (Jarod Wilson) [1807052] - [wireless] ath10k: add workqueue for RX path of sdio (Jarod Wilson) [1807052] - [wireless] ath10k: change max RX bundle size from 8 to 32 for sdio (Jarod Wilson) [1807052] - [wireless] ath10k: enable RX bundle receive for sdio (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: don't send the IWL_MVM_RXQ_NSSN_SYNC notif to Rx queues (Jarod Wilson) [1807052] - [net] cfg80211: fix page refcount issue in A-MSDU decap (Jarod Wilson) [1807052] - [net] cfg80211: check for set_wiphy_params (Jarod Wilson) [1807052] - [net] cfg80211: fix memory leak in cfg80211_cqm_rssi_update (Jarod Wilson) [1807052] - [net] cfg80211: fix memory leak in nl80211_probe_mesh_link (Jarod Wilson) [1807052] - [net] cfg80211: fix deadlocks in autodisconnect work (Jarod Wilson) [1807052] - [net] wireless: wext: avoid gcc -O3 warning (Jarod Wilson) [1807052] - [net] mac80211: Fix TKIP replay protection immediately after key setup (Jarod Wilson) [1807052] - [net] cfg80211: Fix radar event during another phy CAC (Jarod Wilson) [1807052] - [net] wireless: fix enabling channel 12 for custom regulatory domain (Jarod Wilson) [1807052] - [net] mac80211: mesh: restrict airtime metric to peered established plinks (Jarod Wilson) [1807052] - [wireless] Revert "iwlwifi: mvm: fix scan config command size" (Jarod Wilson) [1807052] - [wireless] iwlwifi: fw: make pos static in iwl_sar_get_ewrd_table() loop (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove lar_disable module parameter (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg: force stop the debug monitor HW (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: always disable L0S states (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: rename L0S_ENABLED bit to L0S_DISABLED (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix potential SKB leak on TXQ TX (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix SKB leak on invalid queue (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: extend hardware workaround to context-info (Jarod Wilson) [1807052] - [wireless] iwlwifi: Don't ignore the cap field upon mcc update (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: report TX rate to mac80211 directly for RS offload (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix NVM check for 3168 devices (Jarod Wilson) [1807052] - [wireless] iwlwifi: fix TLV fragment allocation loop (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: allocate smaller dev_cmd for TX headers (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: detect the DMA bug and warn if it happens (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: work around DMA hardware bug (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: move page tracking into get_page_hdr() (Jarod Wilson) [1807052] - [wireless] iwlwifi: don't send PPAG command if disabled (Jarod Wilson) [1807052] - [wireless] mt76: Off by one in mt76_calc_rx_airtime() (Jarod Wilson) [1807052] - [wireless] mt76: fix LED link time failure (Jarod Wilson) [1807052] - [net] mac80211: Turn AQL into an NL80211_EXT_FEATURE (Jarod Wilson) [1807052] - [net] mac80211: airtime: Fix an off by one in ieee80211_calc_rx_airtime() (Jarod Wilson) [1807052] - [net] cfg80211: fix double-free after changing network namespace (Jarod Wilson) [1807052] - [net] mac80211: fix TID field in monitor mode transmit (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: move power gating workaround earlier in the flow (Jarod Wilson) [1807052] - [wireless] Revert "iwlwifi: assign directly to iwl_trans->cfg in QuZ detection" (Jarod Wilson) [1807052] - [wireless] wireles: Use sizeof_field() macro (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0: fix default mac address overwrite (Jarod Wilson) [1807052] - [wireless] ath9k: use iowrite32 over __raw_writel (Jarod Wilson) [1807052] - [net] mac80211: Use Airtime-based Queue Limits (AQL) on packet dequeue (Jarod Wilson) [1807052] - [net] mac80211: Implement Airtime-based Queue Limit (AQL) (Jarod Wilson) [1807052] - [net] mac80211: Import airtime calculation code from mt76 (Jarod Wilson) [1807052] - [net] mac80211: consider QoS Null frames for STA_NULLFUNC_ACKED (Jarod Wilson) [1807052] - [net] mac80211: expose HW conf flags through debugfs (Jarod Wilson) [1807052] - [net] mac80211: Add new sta_info getter by sta/vif addrs (Jarod Wilson) [1807052] - [net] mac80211: add a comment about monitor-to-dev injection (Jarod Wilson) [1807052] - [wireless] drivers: net: Fix Kconfig indentation, continued (Jarod Wilson) [1807052] - [wireless] mt76: fix fix ampdu locking (Jarod Wilson) [1807052] - [wireless] mt76: mt76u: fix endpoint definition order (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: read {tx,rx} mask from eeprom (Jarod Wilson) [1807052] - [wireless] mt76: move mt76_get_antenna in mt76_core module (Jarod Wilson) [1807052] - [wireless] mt76: fix possible out-of-bound access in mt7615_fill_txs/mt7603_fill_txs (Jarod Wilson) [1807052] - [wireless] Revert "mt76: mt76x0e: don't use hw encryption for MT7630E" (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: disable radar pattern detector during scanning (Jarod Wilson) [1807052] - [wireless] mt76: move interface_modes definition in mt76_core module (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: add ibss support (Jarod Wilson) [1807052] - [wireless] mt76: move SUPPORTS_REORDERING_BUFFER hw property in mt76_register_device (Jarod Wilson) [1807052] - [wireless] mt76: use mt76_dev in mt76_is_{mmio,usb} (Jarod Wilson) [1807052] - [wireless] mt76: Remove set but not used variable 'idx' (Jarod Wilson) [1807052] - [wireless] mt76: mt76u: rely on a dedicated stats workqueue (Jarod Wilson) [1807052] - [wireless] mt76: mt76u: rely on usb_interface instead of usb_dev (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: remove unneeded semicolon (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0: remove 350ms delay in mt76x0_phy_calibrate (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02u: update ewma pkt len in mt76x02u_tx_prepare_skb (Jarod Wilson) [1807052] - [wireless] mt76: remove obsolete .add_buf() from struct mt76_queue_ops (Jarod Wilson) [1807052] - [wireless] mt76: add sanity check for a-mpdu rx wcid index (Jarod Wilson) [1807052] - [wireless] mt76: refactor cc_lock locking scheme (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0: eeprom: add support for MAC address from OF (Jarod Wilson) [1807052] - [wireless] mt76: avoid enabling interrupt if NAPI poll is still pending (Jarod Wilson) [1807052] - [wireless] mt76: fix aggregation stop issue (Jarod Wilson) [1807052] - [wireless] mt76: drop rcu read lock in mt76_rx_aggr_stop (Jarod Wilson) [1807052] - [wireless] mt76: add missing locking around ampdu action (Jarod Wilson) [1807052] - [wireless] mt76: do not use devm API for led classdev (Jarod Wilson) [1807052] - [wireless] mt76: enable airtime fairness (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: track tx/rx airtime for airtime fairness (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: introduce mt7615_mac_wtbl_update routine (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: fix survey channel busy time (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: report tx_time, bss_rx and busy time to mac80211 (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02: track approximate tx airtime for airtime fairness and survey (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02: move MT_CH_TIME_CFG init to mt76x02_mac_cc_reset (Jarod Wilson) [1807052] - [wireless] mt76: unify channel survey update code (Jarod Wilson) [1807052] - [wireless] mt76: mt7603: switch to a different counter for survey busy time (Jarod Wilson) [1807052] - [wireless] mt76: mt7603: track tx airtime for airtime fairness and survey (Jarod Wilson) [1807052] - [wireless] mt76: track rx airtime for airtime fairness and survey (Jarod Wilson) [1807052] - [wireless] mt76: store current channel survey_state in struct mt76_dev (Jarod Wilson) [1807052] - [wireless] mt76: rename mt76_driver_ops txwi_flags to drv_flags and include tx aligned4 (Jarod Wilson) [1807052] - [wireless] mt76: report rx a-mpdu subframe status (Jarod Wilson) [1807052] - [wireless] mt76: mt7603: remove q_rx field from struct mt7603_dev (Jarod Wilson) [1807052] - [wireless] mt76: mt7603: collect aggregation stats (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: collect aggregation stats (Jarod Wilson) [1807052] - [wireless] mt76: move aggr_stats array in mt76_dev (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: add queue entry in debugfs (Jarod Wilson) [1807052] - [wireless] mt76: move queue debugfs entry to driver specific code (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02u: move mt76x02u_mac_start in mt76x02-usb module (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0u: reset counter starting the device (Jarod Wilson) [1807052] - [wireless] mt76: mt76x2: move mt76x02_mac_reset_counters in mt76x02_mac_start (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02: move mac_reset_counter in mt76x02_lib module (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: enable SCS by default (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0e: make array mt76x0_chan_map static const, makes object smaller (Jarod Wilson) [1807052] - [wireless] mt76: usb: add lockdep_assert_held in __mt76u_vendor_request (Jarod Wilson) [1807052] - [wireless] mt76: remove empty flag in mt76_txq_schedule_list (Jarod Wilson) [1807052] - [wireless] mt76: use cancel_delayed_work_sync in mt76_rx_aggr_shutdown (Jarod Wilson) [1807052] - [wireless] mt76: remove aggr_work field from struct mt76_wcid (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: fix control frame rx in monitor mode (Jarod Wilson) [1807052] - [wireless] iwlwifi: bump FW API to 52 for 22000 series (Jarod Wilson) [1807052] - [wireless] iwlwifi: check kasprintf() return value (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: remove outdated comment referring to wake lock (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: trace IOVA for iwlwifi_dev_tx_tb (Jarod Wilson) [1807052] - [wireless] iwlwifi: dvm: excessive if in rs_bt_update_lq() (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Report tx/rx antennas (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: rx: use rxq queue_size instead of constant (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: remove left-over non-functional email alias (Jarod Wilson) [1807052] - [wireless] iwlwifi: config: remove max_rx_agg_size (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: make some RX functions static (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: support scan req FW API ver 13 (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: fix support for transmitting SKBs with fraglist (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: Remove set but not used variable 'vif', 'dev', 'len' (Jarod Wilson) [1807052] - [wireless] brcmfmac: remove monitor interface when detaching (Jarod Wilson) [1807052] - [wireless] brcmfmac: disable PCIe interrupts before bus reset (Jarod Wilson) [1807052] - [wireless] rtw88: allows to enable/disable HCI link PS mechanism (Jarod Wilson) [1807052] - [wireless] rtw88: pci: enable CLKREQ function if host supports it (Jarod Wilson) [1807052] - [wireless] rtw88: pci: use for loop instead of while loop for DBI/MDIO (Jarod Wilson) [1807052] - [wireless] rtw88: pci: use macros to access PCI DBI/MDIO registers (Jarod Wilson) [1807052] - [wireless] rtlwifi: set proper udelay within rf_serial_read (Jarod Wilson) [1807052] - [wireless] rtlwifi: rf_lock use non-irqsave spin_lock (Jarod Wilson) [1807052] - [wireless] brcmfmac: remove set but not used variable 'mpnum', 'nsp', 'nmp' (Jarod Wilson) [1807052] - [wireless] rtw88: remove duplicated include from ps.c (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: Remove set but not used variable 'rsr' (Jarod Wilson) [1807052] - [wireless] brcmsmac: remove unnecessary return (Jarod Wilson) [1807052] - [wireless] net: wireless: ti: remove local VENDOR_ID and DEVICE_ID definitions (Jarod Wilson) [1807052] - [wireless] net: wireless: ti: wl1251 use new SDIO_VENDOR_ID_TI_WL1251 definition (Jarod Wilson) [1807052] - [wireless] net: wireless: ti: wl1251 add device tree support (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix non-ACPI function (Jarod Wilson) [1807052] - [wireless] iwlwifi: 22000: fix some indentation (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove IWL_DEVICE_22560/IWL_DEVICE_FAMILY_22560 (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: sync the iwl_mvm_session_prot_notif layout (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: start CTDP budget from 2400mA (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: don't skip mgmt tid when flushing all tids (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: scan: enable adaptive dwell in p2p (Jarod Wilson) [1807052] - [wireless] iwlwifi: refactor the SAR tables from mvm to acpi (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: support scan req cmd ver 12 (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: make new scan req versioning flow (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix unaligned read of rx_pkt_status (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove redundant assignment to variable bufsz (Jarod Wilson) [1807052] - [wireless] iwlwifi: bump FW API to 51 for 22000 series (Jarod Wilson) [1807052] - [wireless] iwlwifi: FW API: reference enum in docs of modify_mask (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: print rate_n_flags in a pretty format (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: adapt the code to use api ver 11 (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: Create function to build scan cmd (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: create function for scan scheduling params (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: support dump collection upon assert during D3 (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: make iwl_pcie_gen2_update_byte_tbl static (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: in VHT connection use only VHT capabilities (Jarod Wilson) [1807052] - [wireless] iwlwifi: nvm: update iwl_uhb_nvm_channels (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: remove else-if in iwl_send_phy_cfg_cmd() (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix support for single antenna diversity (Jarod Wilson) [1807052] - [wireless] ath10k: qmi: Sleep for a while before assigning MSA memory (Jarod Wilson) [1807052] - [wireless] ath10k: Revert "ath10k: add cleanup in ath10k_sta_state()" (Jarod Wilson) [1807052] - [wireless] mwifiex: Re-work support for SDIO HW reset (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: Add support for Edimax EW-7611ULB (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Fix missing enable interrupt flag (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Fix missing callback that tests for hw release of buffer (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Fix missing code to retrieve RX buffer address (Jarod Wilson) [1807052] - [net] mac80211: Use debugfs_create_xul() helper (Jarod Wilson) [1807052] - [net] cfg80211: VLAN offload support for set_key and set_sta_vlan (Jarod Wilson) [1807052] - [net] mac80211: Shrink the size of ack_frame_id to make room for tx_time_est (Jarod Wilson) [1807052] - [net] mac80211: don't re-parse elems in ieee80211_assoc_success() (Jarod Wilson) [1807052] - [net] mac80211: move store skb ack code to its own function (Jarod Wilson) [1807052] - [wireless] ath10k: disable cpuidle during downloading firmware (Jarod Wilson) [1807052] - [wireless] ath10k: fix potential issue of peer stats allocation (Jarod Wilson) [1807052] - [wireless] ath10k: fix get invalid tx rate for Mesh metric (Jarod Wilson) [1807052] - [wireless] rtw88: signal completion even on firmware-request failure (Jarod Wilson) [1807052] - [wireless] rtw88: fix potential NULL pointer access for firmware (Jarod Wilson) [1807052] - [wireless] rtlwifi: fix memory leak in rtl92c_set_fw_rsvdpagepkt() (Jarod Wilson) [1807052] - [wireless] rt2800: remove errornous duplicate condition (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8225se: remove some unused const variables (Jarod Wilson) [1807052] - [wireless] brcmsmac: remove set but not used variables (Jarod Wilson) [1807052] - [wireless] rtw88: raise LPS threshold to 50, for less power consumption (Jarod Wilson) [1807052] - [wireless] ath5k: eeprom: Remove unneeded variable (Jarod Wilson) [1807052] - [wireless] ath10k: remove unneeded semicolon (Jarod Wilson) [1807052] - [wireless] mt7601u: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8821ae: Drop condition with no effect (Jarod Wilson) [1807052] - [wireless] b43: dma: Fix use true/false for bool type variable (Jarod Wilson) [1807052] - [wireless] b43: main: Fix use true/false for bool type (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192c: Drop condition with no effect (Jarod Wilson) [1807052] - [wireless] rtw88: remove redundant null pointer check on arrays (Jarod Wilson) [1807052] - [wireless] rtw88: avoid FW info flood (Jarod Wilson) [1807052] - [wireless] rtw88: fix potential read outside array boundary (Jarod Wilson) [1807052] - [wireless] rtw88: rearrange if..else statements for rx rate indexes (Jarod Wilson) [1807052] - [wireless] rtw88: use rtw_phy_pg_cfg_pair struct, not arrays (Jarod Wilson) [1807052] - [wireless] rtw88: 8822b: add RFE type 3 support (Jarod Wilson) [1807052] - [wireless] rtw88: fix sparse warnings for power tracking (Jarod Wilson) [1807052] - [wireless] rtw88: fix sparse warnings for DPK (Jarod Wilson) [1807052] - [wireless] net: Fix various misspellings of "connect" (Jarod Wilson) [1807052] - [wireless] net: Fix misspellings of "configure" and "configuration" (Jarod Wilson) [1807052] - [wireless] rtw88: fix GENMASK_ULL for u64 (Jarod Wilson) [1807052] - [wireless] iwlwifi: rx: use new api to get band from rx mpdu (Jarod Wilson) [1807052] - [wireless] iwlwifi: nvm: create function to convert channel index to nl80211_band (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Invert the condition for OFDM rate (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: create function to convert nl80211 band to phy band (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: use vzalloc to allocate dumping memory regions (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add user trigger support (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: add notification for missed VAP (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix old-style declaration (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: use the new session protection command (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: remove leftover rs_remove_sta_debugfs() prototype (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: add support for new version for D0I3_END_CMD (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: consider ieee80211 station max amsdu value (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: support FW notification dumping in case of missed beacon (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: remove old API and some related code (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: rename external debug configuration file (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: support FW response/notification region type (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: support domain changing via debugfs (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add periodic trigger new API support (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: implement monitor allocation flow (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: implement time point handling (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add TLV allocation new API support (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: use new API in dump info (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add error tables dumping support (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add monitor dumping support (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg: remove multi buffers infra (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: use new trigger TLV in dump flow (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: use new region TLV in dump flow (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: load external dbg cfg after internal cfg is loaded (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: fix warnings for symbol not declared (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: remove set but not used variable 'rate_mask' (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove unnecessary NULL check in rtl_regd_init (Jarod Wilson) [1807052] - [wireless] rtw88: add phy_info debugfs to show Tx/Rx physical status (Jarod Wilson) [1807052] - [wireless] rtw88: add set_bitrate_mask support (Jarod Wilson) [1807052] - [wireless] rtw88: Enable 802.11ac beamformee support (Jarod Wilson) [1807052] - [wireless] rtw88: add power tracking support (Jarod Wilson) [1807052] - [wireless] rtw88: use macro to check the current band (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: fix RTL8723BU connection failure issue after warm reboot (Jarod Wilson) [1807052] - [wireless] rtw88: mark rtw_fw_hdr __packed (Jarod Wilson) [1807052] - [wireless] net/wireless: Delete unnecessary checks before the macro call "dev_kfree_skb" (Jarod Wilson) [1807052] - [wireless] wireless: Remove call to memset after dma_alloc_coherent (Jarod Wilson) [1807052] - [wireless] rtw88: include interrupt.h for tasklet_struct (Jarod Wilson) [1807052] - [wireless] rtw88: use a for loop in rtw_power_mode_change(), not goto (Jarod Wilson) [1807052] - [wireless] rtw88: coex: Set 4 slot mode for A2DP (Jarod Wilson) [1807052] - [wireless] rtw88: pci: config phy after chip info is setup (Jarod Wilson) [1807052] - [wireless] rtw88: Use rtw_write8_set to set SYS_FUNC (Jarod Wilson) [1807052] - [wireless] rtw88: add NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 support (Jarod Wilson) [1807052] - [wireless] rtw88: config 8822c multicast address in MAC init flow (Jarod Wilson) [1807052] - [wireless] ath10k: Correct error handling of dma_map_single() (Jarod Wilson) [1807052] - [wireless] ath: rename regulatory rules (Jarod Wilson) [1807052] - [wireless] ath10k: fix memory leak for tpc_stats_final (Jarod Wilson) [1807052] - [wireless] ath10k: fix array out-of-bounds access (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Convert inline routines to little-endian words (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Convert macros that set descriptor (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Replace local bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Remove unused GET_XXX and SET_XXX (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove set but not used variable 'err' (Jarod Wilson) [1807052] - [wireless] ath10k: fix null dereference on pointer crash_data (Jarod Wilson) [1807052] - [wireless] ath10k: enable transmit data ack RSSI for QCA9884 (Jarod Wilson) [1807052] - [net] mac80211: minstrel_ht: rename prob_ewma to prob_avg, use it for the new average (Jarod Wilson) [1807052] - [net] mac80211: minstrel_ht: replace rate stats ewma with a better moving average (Jarod Wilson) [1807052] - [net] mac80211: minstrel: remove divisions in tx status path (Jarod Wilson) [1807052] - [net] nl80211: trivial: Remove redundant loop (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove set but not used variable 'cur_tx_wp' (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: make arrays static, makes object smaller (Jarod Wilson) [1807052] - [wireless] rtw88: Fix an error message (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: add bluetooth co-existence support for single antenna (Jarod Wilson) [1807052] - [wireless] mwifiex: pcie: Fix memory leak in mwifiex_pcie_alloc_cmdrsp_buf (Jarod Wilson) [1829230 1807052] {CVE-2019-19056} - [wireless] rtlwifi: rtl8723: Remove set but not used variable 'own' (Jarod Wilson) [1807052] - [wireless] rtlwifi: btcoex: Remove set but not used variables 'wifi_busy', 'bt_info_ext' (Jarod Wilson) [1807052] - [wireless] rtlwifi: btcoex: Remove set but not used variable 'result' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Remove set but not used variable 'h2c_parameter' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Remove set but not used variables 'v3', 'rtstatus', 'reg_ecc', 'reg_ec4', 'reg_eac', 'b_pathb_ok' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192c: Remove set but not used variables 'reg_ecc', 'reg_eac' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723ae: Remove set but not used variables 'reg_ecc', 'reg_ec4', 'reg_eac', 'b_pathb_ok' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8821ae: Remove set but not used variables 'rtstatus', 'bd' (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: Improve TX performance of RTL8723BU on rtl8xxxu driver (Jarod Wilson) [1807052] - [wireless] brcmfmac: add support for SAE authentication offload (Jarod Wilson) [1807052] - [wireless] rtw88: fix error handling when setup efuse info (Jarod Wilson) [1807052] - [wireless] rtw88: fix NSS of hw_cap (Jarod Wilson) [1807052] - [wireless] rtw88: use struct rtw_fw_hdr to access firmware header (Jarod Wilson) [1807052] - [wireless] rtw88: raise firmware version debug level (Jarod Wilson) [1807052] - [wireless] rtw88: configure TX queue EDCA parameters (Jarod Wilson) [1807052] - [wireless] rtw88: Don't set RX_FLAG_DECRYPTED if packet has no encryption (Jarod Wilson) [1807052] - [wireless] rtw88: fix beaconing mode rsvd_page memory violation issue (Jarod Wilson) [1807052] - [wireless] rtw88: flush hardware tx queues (Jarod Wilson) [1807052] - [wireless] rtw88: add TX-AMSDU support (Jarod Wilson) [1807052] - [wireless] rtw88: report tx rate to mac80211 stack (Jarod Wilson) [1807052] - [wireless] rtw88: take over rate control from mac80211 (Jarod Wilson) [1807052] - [wireless] rtw88: add driver TX queue support (Jarod Wilson) [1807052] - [wireless] rtw88: allows to set RTS in TX descriptor (Jarod Wilson) [1807052] - [wireless] rtw88: check firmware leave lps successfully (Jarod Wilson) [1807052] - [wireless] mac80211: simplify TX aggregation start (Jarod Wilson) [1807052] - [net] mac80211: pass internal sta to ieee80211_tx_frags() (Jarod Wilson) [1807052] - [net] mac80211: IBSS: avoid unneeded return value processing (Jarod Wilson) [1807052] - [wireless] ar5523: check NULL before memcpy() in ar5523_cmd() (Jarod Wilson) [1807052] - [wireless] ath10k: add support for hardware rfkill (Jarod Wilson) [1807052] - [wireless] ath10k: restore QCA9880-AR1A (v1) detection (Jarod Wilson) [1807052] - [wireless] ath10k: fix offchannel tx failure when no ath10k_mac_tx_frm_has_freq (Jarod Wilson) [1807052] - [wireless] cw1200: Fix a signedness bug in cw1200_load_firmware() (Jarod Wilson) [1807052] - [wireless] rtw88: remove misleading module parameter rtw_fw_support_lps (Jarod Wilson) [1807052] - [wireless] rtw88: add deep PS PG mode for 8822c (Jarod Wilson) [1807052] - [wireless] rtw88: select deep PS mode when module is inserted (Jarod Wilson) [1807052] - [wireless] rtw88: not to enter LPS by coex strategy (Jarod Wilson) [1807052] - [wireless] rtw88: add deep power save support (Jarod Wilson) [1807052] - [wireless] rtw88: leave PS state for dynamic mechanism (Jarod Wilson) [1807052] - [wireless] rtw88: LPS enter/leave should be protected by lock (Jarod Wilson) [1807052] - [wireless] rtw88: remove unused lps state check helper (Jarod Wilson) [1807052] - [wireless] rtw88: not to control LPS by each vif (Jarod Wilson) [1807052] - [wireless] rtw88: not to enter or leave PS under IRQ (Jarod Wilson) [1807052] - [wireless] rtw88: pci: reset H2C queue indexes in a single write (Jarod Wilson) [1807052] - [wireless] rtw88: remove redundant flag check helper function (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723be: Remove set but not used variables 'reg_ecc', 'reg_eac' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove set but not used variables 'reg_ecc', 'reg_eac' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove set but not used variables 'short_gi', 'buf_len' (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove set but not used variables 'dataempty', 'hoffset' (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove set but not used variable 'rtstate' (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: prevent leaking urb (Jarod Wilson) [1829887 1807052] {CVE-2019-19068} - [wireless] net/wireless: Use kmemdup rather than duplicating its implementation (Jarod Wilson) [1807052] - [wireless] ath9k_htc: Discard undersized packets (Jarod Wilson) [1807052] - [wireless] ath9k_htc: Modify byte order for an error message (Jarod Wilson) [1807052] - [wireless] ath9k_hw: fix uninitialized variable data (Jarod Wilson) [1807052] - [wireless] ath10k: fix backtrace on coredump (Jarod Wilson) [1807052] - [wireless] ath10k: coredump: fix IRAM addr for QCA9984, QCA4019, QCA9888 and QCA99x0 (Jarod Wilson) [1807052] - [wireless] ath10k: switch to ieee80211_tx_dequeue_ni (Jarod Wilson) [1807052] - [wireless] ath10k: change sw version print format to hex (Jarod Wilson) [1807052] - [wireless] ath10k: print supported MCS rates within service ready event (Jarod Wilson) [1807052] - [wireless] ath10k: print service ready returned channel range (Jarod Wilson) [1807052] - [wireless] ath10k: add 2ghz channel arguments to service ready structure (Jarod Wilson) [1807052] - [wireless] ath9k: remove unused including (Jarod Wilson) [1807052] - [wireless] mwifiex: use 'total_ie_len' in mwifiex_update_bss_desc_with_ie() (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove excessive check in _rtl_ps_inactive_ps() (Jarod Wilson) [1807052] - [wireless] rtlwifi: prevent memory leak in rtl_usb_probe (Jarod Wilson) [1829850 1807052] {CVE-2019-19063} - [wireless] rtlwifi: rtl8723ae: Remove unused 'rtstatus' variable (Jarod Wilson) [1807052] - [wireless] mt7601u: fix bbp version check in mt7601u_wait_bbp_ready (Jarod Wilson) [1807052] - [wireless] rtw88: 8822c: fix boolreturn.cocci warnings (Jarod Wilson) [1807052] - [wireless] brcmsmac: remove duplicated if condition (Jarod Wilson) [1807052] - [wireless] brcmfmac: fix suspend/resume when power is cut off (Jarod Wilson) [1807052] - [wireless] brcmfmac: don't WARN when there are no requests (Jarod Wilson) [1807052] - [wireless] brcmsmac: remove a useless test (Jarod Wilson) [1807052] - [wireless] brcmfmac: send port authorized event for FT-802.1X (Jarod Wilson) [1807052] - [wireless] ath10k: fix memory leak (Jarod Wilson) [1807052] - [wireless] ath10k: remove the warning of sdio not full support (Jarod Wilson) [1807052] - [wireless] ath: Use dev_get_drvdata where possible (Jarod Wilson) [1807052] - [wireless] ath: fix various spelling mistakes (Jarod Wilson) [1807052] - [wireless] ath10k: fix missing checks for bmi reads and writes (Jarod Wilson) [1807052] - [wireless] ath10k: Add support to provide higher range mem chunks in wmi init command (Jarod Wilson) [1807052] - [wireless] ath10k: Add peer param map for tlv and non-tlv (Jarod Wilson) [1807052] - [wireless] ath10k: Enable MSA region dump support for WCN3990 (Jarod Wilson) [1807052] - [wireless] ath10k: Add xo calibration support for wifi rf clock (Jarod Wilson) [1807052] - [wireless] ath10k: fix spelling mistake "eanble" -> "enable" (Jarod Wilson) [1807052] - [wireless] ath10k: add cleanup in ath10k_sta_state() (Jarod Wilson) [1807052] - [wireless] ath10k: revalidate the msa region coming from firmware (Jarod Wilson) [1807052] - [wireless] ath10k: use ath10k_pci_soc_ functions for all warm_reset instances (Jarod Wilson) [1807052] - [wireless] ath10k: Use ARRAY_SIZE (Jarod Wilson) [1807052] - [wireless] ath10k: avoid leaving .bss_info_changed prematurely (Jarod Wilson) [1807052] - [wireless] ath10k: Use standard bulk clock API in snoc (Jarod Wilson) [1807052] - [wireless] ath10k: Use standard regulator bulk API in snoc (Jarod Wilson) [1807052] - [wireless] ath10k: snoc: skip regulator operations (Jarod Wilson) [1807052] - [wireless] ath10k: Fix HOST capability QMI incompatibility (Jarod Wilson) [1807052] - [wireless] ath10k: Check if station exists before forwarding tx airtime report (Jarod Wilson) [1807052] - [include] include/linux/units.h: add helpers for kelvin to/from Celsius conversion (Jarod Wilson) [1807052]- [x86] x86/PCI: Define to_pci_sysdata() even when !CONFIG_PCI (Myron Stowe) [1788364 1783436] - [pci] PCI: vmd: Add two VMD Device IDs (Myron Stowe) [1788364 1783436] - [pci] x86/PCI: Expose VMD's pci_dev in struct pci_sysdata (Myron Stowe) [1788364 1783436] - [x86] x86/PCI: Add to_pci_sysdata() helper (Myron Stowe) [1788364 1783436] - [pci] PCI: vmd: Add device id for VMD device 8086:9A0B (Myron Stowe) [1788364 1783436] - [pci] PCI: vmd: Add bus 224-255 restriction decode (Myron Stowe) [1788364 1783436] - [fs] fuse: copy_file_range needs to strip setuid bits and update timestamps (Eric Sandeen) [1721881] - [fs] vfs: allow copy_file_range to copy across devices (Eric Sandeen) [1721881] - [fs] vfs: add missing checks to copy_file_range (Eric Sandeen) [1721881] - [mm] vfs: remove redundant checks from generic_remap_checks() (Eric Sandeen) [1721881] - [fs] vfs: introduce generic_file_rw_checks() (Eric Sandeen) [1721881] - [fs] vfs: no fallback for ->copy_file_range (Eric Sandeen) [1721881] - [fs] vfs: introduce generic_copy_file_range() (Eric Sandeen) [1721881] - [ptp] ptp: add VMware virtual PTP clock driver (Prarit Bhargava) [1829706] - [powerpc] powerpc/powernv/ioda: Handle failures correctly in pnv_pci_ioda_iommu_bypass_supported() (Michael Roth) [1805101] - [powerpc] powerpc/pseries/dma: Enable SWIOTLB (Michael Roth) [1805101] - [powerpc] powerpc/pseries/dma: Allow SWIOTLB (Michael Roth) [1805101] - [powerpc] powerpc/powernv: Fix build with IOMMU_API=n (Michael Roth) [1805101] - [powerpc] powerpc/powernv: Remove unused pnv_npu_try_dma_set_bypass() function (Michael Roth) [1805101] - [powerpc] powerpc/dma: Fix invalid DMA mmap behavior (Michael Roth) [1805101] - [powerpc] powerpc/dma: trim the fat from (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove set_dma_offset (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove get_dma_offset (Michael Roth) [1805101] - [powerpc] powerpc/dma: use the generic direct mapping bypass (Michael Roth) [1805101] - [powerpc] powerpc/powernv/npu: Remove NPU DMA ops (Michael Roth) [1805101] - [powerpc] powerpc/dma: use the dma_direct mapping routines (Michael Roth) [1805101] - [powerpc] powerpc/dma: use the dma-direct allocator for coherent platforms (Michael Roth) [1805101] - [powerpc] swiotlb: remove swiotlb_dma_supported (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove dma_nommu_dma_supported (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove dma_nommu_get_required_mask (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove dma_nommu_mmap_coherent (Michael Roth) [1805101] - [powerpc] powerpc/dma: use phys_to_dma instead of get_dma_offset (Michael Roth) [1805101] - [powerpc] dma-mapping, powerpc: simplify the arch dma_set_mask override (Michael Roth) [1805101] - [powerpc] powerpc/dma: fix an off-by-one in dma_capable (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove max_direct_dma_addr (Michael Roth) [1805101] - [powerpc] powerpc/dma: move pci_dma_dev_setup_swiotlb to fsl_pci.c (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove get_pci_dma_ops (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove the iommu fallback for coherent allocations (Michael Roth) [1805101] - [powerpc] powerpc/pci: remove the dma_set_mask pci_controller ops methods (Michael Roth) [1805101] - [misc] cxl: drop the dma_set_mask callback from vphb (Michael Roth) [1805101] - [powerpc] KABI: re-use deprecated field for iommu_bypass_supported function pointer (Michael Roth) [1805101] - [powerpc] powerpc/dma: stop overriding dma_get_required_mask (Michael Roth) [1805101] - [dma] KABI: add fake includes for headers used in arch/powerpc/kernel/dma.c (Michael Roth) [1805101] - [powerpc] powerpc/powernv: use the generic iommu bypass code (Michael Roth) [1805101] - [powerpc] powerpc/powernv: Remove PCI_MSI ifdef checks (Michael Roth) [1805101] - [powerpc] powerpc/powernv: remove pnv_npu_dma_set_mask (Michael Roth) [1805101] - [powerpc] powerpc/powernv: remove pnv_pci_ioda_pe_single_vendor (Michael Roth) [1805101] - [powerpc] powerpc/dart: use the generic iommu bypass code (Michael Roth) [1805101] - [powerpc] powerpc/dart: remove dead cleanup code in iommu_init_early_dart (Michael Roth) [1805101] - [powerpc] powerpc/cell: use the generic iommu bypass code (Michael Roth) [1805101] - [powerpc] powerpc/cell: move dma direct window setup out of dma_configure (Michael Roth) [1805101] - [powerpc] powerpc/pseries: use the generic iommu bypass code (Michael Roth) [1805101] - [powerpc] powerpc/pseries: unwind dma_get_required_mask_pSeriesLP a bit (Michael Roth) [1805101] - [powerpc] powerpc/dma: handle iommu bypass in dma_iommu_ops (Michael Roth) [1805101] - [powerpc] powerpc/dma: untangle vio_dma_mapping_ops from dma_iommu_ops (Michael Roth) [1805101] - [dma] dma-direct: we might need GFP_DMA for 32-bit dma masks (Michael Roth) [1805101] - [powerpc] powerpc/dma: split the two __dma_alloc_coherent implementations (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove the unused dma_iommu_ops export (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove the unused ISA_DMA_THRESHOLD export (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove the unused ARCH_HAS_DMA_MMAP_COHERENT define (Michael Roth) [1805101] - [powerpc] powerpc/dma: properly wire up the unmap_page and unmap_sg methods (Michael Roth) [1805101] - [powerpc] powerpc: allow NOT_COHERENT_CACHE for amigaone (Michael Roth) [1805101] - [powerpc] powerpc/fadump: consider reserved ranges while reserving memory (Steve Best) [1813701] - [powerpc] powerpc/fadump: use static allocation for reserved memory ranges (Steve Best) [1813701] - [fs] audit: Report suspicious O_CREAT usage (partial) (Eric Sandeen) [1797843] - [fs] vfs: fix do_last() regression (Eric Sandeen) [1797843] - [fs] do_last(): fetch directory ->i_mode and ->i_uid before it's too late (Eric Sandeen) [1797843] - [fs] namei: allow restricted O_CREAT of FIFOs and regular files (Eric Sandeen) [1797843] - [netdrv] fm10k: use txqueue parameter in fm10k_tx_timeout (Neil Horman) [1781387] - [netdrv] fm10k: Use sizeof_field() macro (Neil Horman) [1781387] - [netdrv] fm10k: update driver version to match out-of-tree (Neil Horman) [1781387] - [netdrv] fm10k: add support for ndo_get_vf_stats operation (Neil Horman) [1781387] - [netdrv] fm10k: add missing field initializers to TLV attributes) (Neil Horman) [1781387] - [netdrv] fm10k: use a local variable for the frag pointer (Neil Horman) [1781387] - [netdrv] ethernet: Delete unnecessary checks before the macro call "dev_kfree_skb" (Neil Horman) [1781387] - [netdrv] fm10k: no need to check return value of debugfs_create functions (Neil Horman) [1781387] - [security] KEYS: Avoid false positive ENOMEM error on key read (Waiman Long) [1807693] - [security] KEYS: Don't write out to userspace while holding key semaphore (Waiman Long) [1807693] - [security] selinux: allow per-file labeling for CephFS (Ondrej Mosnacek) [1823764] - [scsi] scsi: qedi: make qedi_ll2_buf_size static (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Fix termination timeouts in session logout (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Add modules param to enable qed iSCSI debug (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Do not flush offload work if ARP not resolved (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Use correct msix count for fastpath vectors (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Avoid unnecessary endpoint allocation on link down (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Remove additional char from boot target iqnname (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Add PCI shutdown handler support (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Add MFW error recovery process (Nilesh Javali) [1792111] - [netdrv] ibmvnic: Skip fatal error reset after passive init (Steve Best) [1830989] - [ata] ahci: Add Intel Comet Lake PCH-V PCI ID (David Milburn) [1802690] - [ata] ahci: Add Intel Comet Lake PCH-H PCI ID (David Milburn) [1802690] - [ata] ahci: Add Intel Comet Lake H RAID PCI ID (David Milburn) [1802690] - [x86] x86, sched: Move check for CPU type to caller function (Prarit Bhargava) [1828260] - [x86] x86, sched: Don't enable static key when starting secondary CPUs (Prarit Bhargava) [1828260] - [x86] x86, sched: Account for CPUs with less than 4 cores in freq. invariance (Prarit Bhargava) [1828260] - [x86] x86, sched: Bail out of frequency invariance if base frequency is unknown (Prarit Bhargava) [1828260] - [lib] scsi: klist: Make it safe to use klists in atomic context (Waiman Long) [1829027] - [char] random: try to actively add entropy rather than passively wait for it (Neil Horman) [1778762] - [md] dm writecache: fix data corruption when reloading the target (Mike Snitzer) [1830129] - [kernel] smp: Allow smp_call_function_single_async() to insert locked csd (Peter Xu) [1830014] - [scsi] scsi: ibmvscsi: Fix WARN_ON during event pool release (Steve Best) [1829242] - [block] block: avoid to check null profile pointer to see if it is in 3rd party module (Ming Lei) [1829464] - [tools] perf scripting perl: Add common_callchain to fix argument order (Michael Petlan) [1809191] - [netdrv] ionic: fix unused assignment (Jonathan Toppins) [1780645] - [netdrv] ionic: add dynamic_debug header (Jonathan Toppins) [1780645] - [netdrv] ionic: set station addr only if needed (Jonathan Toppins) [1780645] - [netdrv] ionic: replay filters after fw upgrade (Jonathan Toppins) [1780645] - [netdrv] ionic: remove lifs on fw reset (Jonathan Toppins) [1780645] - [netdrv] ionic: disable the queues on link down (Jonathan Toppins) [1780645] - [netdrv] ionic: check for queues before deleting (Jonathan Toppins) [1780645] - [netdrv] ionic: clean tx queue of unfinished requests (Jonathan Toppins) [1780645] - [netdrv] ionic: move irq request to qcq alloc (Jonathan Toppins) [1780645] - [netdrv] ionic: move debugfs add/delete to match alloc/free (Jonathan Toppins) [1780645] - [netdrv] ionic: check for linkup in watchdog (Jonathan Toppins) [1780645] - [netdrv] ionic: decouple link message from netdev state (Jonathan Toppins) [1780645] - [netdrv] ionic: check for NULL structs on teardown (Jonathan Toppins) [1780645] - [netdrv] ionic: clean irq affinity on queue deinit (Jonathan Toppins) [1780645] - [netdrv] ionic: ignore eexist on rx filter add (Jonathan Toppins) [1780645] - [netdrv] ionic: only save good lif dentry (Jonathan Toppins) [1780645] - [netdrv] ionic: leave dev cmd request contents alone on FW timeout (Jonathan Toppins) [1780645] - [netdrv] ionic: add timeout error checking for queue disable (Jonathan Toppins) [1780645] - [netdrv] ionic: make spdxcheck.py happy (Jonathan Toppins) [1780645] - [netdrv] ionic: add decode for IONIC_RC_ENOSUPP (Jonathan Toppins) [1780645] - [netdrv] ionic: print data for unknown xcvr type (Jonathan Toppins) [1780645] - [netdrv] ionic: remove adminq napi instance (Jonathan Toppins) [1780645] - [netdrv] ionic: deinit rss only if selected (Jonathan Toppins) [1780645] - [netdrv] ionic: stop devlink warn on mgmt device (Jonathan Toppins) [1780645] - [netdrv] net: ionic: Use scnprintf() for avoiding potential buffer overflow (Jonathan Toppins) [1780645] - [netdrv] netdev:pass the stuck queue to the timeout handler (Jonathan Toppins) [1780645] - [netdrv] ionic: drop ethtool driver version (Jonathan Toppins) [1780645] - [netdrv] ionic: add support for device id 0x1004 (Jonathan Toppins) [1780645] - [netdrv] ionic: print pci bus lane info (Jonathan Toppins) [1780645] - [netdrv] ionic: support ethtool rxhash disable (Jonathan Toppins) [1780645] - [netdrv] ionic: clean up bitflag usage (Jonathan Toppins) [1780645] - [netdrv] ionic: improve irq numa locality (Jonathan Toppins) [1780645] - [netdrv] ionic: remove pragma packed (Jonathan Toppins) [1780645] - [netdrv] ionic: keep ionic dev on lif init fail (Jonathan Toppins) [1780645] - [netdrv] ionic: fix vf op lock usage (Jonathan Toppins) [1780645] - [netdrv] ionic: let core reject the unsupported coalescing parameters (Jonathan Toppins) [1780645] - [netdrv] ionic: fix fw_status read (Jonathan Toppins) [1780645] - [netdrv] ionic: use new helper tcp_v6_gso_csum_prep (Jonathan Toppins) [1780645] - [netdrv] ionic: fix rxq comp packet type mask (Jonathan Toppins) [1780645] - [netdrv] ionic: clear compiler warning on hb use before set (Jonathan Toppins) [1780645] - [netdrv] ionic: restrict received packets to mtu size (Jonathan Toppins) [1780645] - [netdrv] ionic: add Rx dropped packet counter (Jonathan Toppins) [1780645] - [netdrv] ionic: drop use of subdevice tags (Jonathan Toppins) [1780645] - [netdrv] ionic: support sr-iov operations (Jonathan Toppins) [1780645] - [netdrv] ionic: ionic_if bits for sr-iov support (Jonathan Toppins) [1780645] - [netdrv] ionic: keep users rss hash across lif reset (Jonathan Toppins) [1780645] - [netdrv] ionic: Remove set but not used variable 'sg_desc' (Jonathan Toppins) [1780645] - [netdrv] ionic: update driver version (Jonathan Toppins) [1780645] - [netdrv] ionic: implement support for rx sgl (Jonathan Toppins) [1780645] - [netdrv] ionic: add a watchdog timer to monitor heartbeat (Jonathan Toppins) [1780645] - [netdrv] ionic: add heartbeat check (Jonathan Toppins) [1780645] - [netdrv] ionic: reverse an interrupt coalesce calculation (Jonathan Toppins) [1780645] - [netdrv] ionic: fix up struct name comments (Jonathan Toppins) [1780645] - [netdrv] dynamic_debug: provide dynamic_hex_dump stub (Jonathan Toppins) [1780645] - [netdrv] ionic: fix stats memory dereference (Jonathan Toppins) [1780645] - [netdrv] ionic: add lif_quiesce to wait for queue activity to stop (Jonathan Toppins) [1780645] - [netdrv] ionic: implement ethtool set-fec (Jonathan Toppins) [1780645] - [netdrv] ionic: report users coalesce request (Jonathan Toppins) [1780645] - [netdrv] ionic: use wait_on_bit_lock() rather than open code (Jonathan Toppins) [1780645] - [netdrv] ionic: simplify returns in devlink info (Jonathan Toppins) [1780645] - [netdrv] ionic: select CONFIG_NET_DEVLINK (Jonathan Toppins) [1780645] - [netdrv] ionic: Fix an error code in ionic_lif_alloc() (Jonathan Toppins) [1780645] - [netdrv] ionic: Remove unnecessary ternary operator in ionic_debugfs_add_ident (Jonathan Toppins) [1780645] - [netdrv] ionic: Remove unused including (Jonathan Toppins) [1780645] - [netdrv] ionic: Add coalesce and other features (Jonathan Toppins) [1780645] - [netdrv] ionic: Add RSS support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add driver stats (Jonathan Toppins) [1780645] - [netdrv] ionic: Add netdev-event handling (Jonathan Toppins) [1780645] - [netdrv] ionic: Add Tx and Rx handling (Jonathan Toppins) [1780645] - [netdrv] ionic: Add initial ethtool support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add async link status check and basic stats (Jonathan Toppins) [1780645] - [netdrv] ionic: Add Rx filter and rx_mode ndo support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add management of rx filters (Jonathan Toppins) [1780645] - [netdrv] ionic: Add the basic NDO callbacks for netdev support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add notifyq support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add adminq action (Jonathan Toppins) [1780645] - [netdrv] ionic: Add basic adminq support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add interrupts and doorbells (Jonathan Toppins) [1780645] - [netdrv] ionic: Add basic lif support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add port management commands (Jonathan Toppins) [1780645] - [netdrv] ionic: Add hardware init and device commands (Jonathan Toppins) [1780645] - [netdrv] ionic: Add basic framework for IONIC Network device driver (Jonathan Toppins) [1780645] - [netdrv] net: sfp: add more extended compliance codes (Jonathan Toppins) [1780645] - [scsi] scsi: core: Add DID_ALLOC_FAILURE and DID_MEDIUM_ERROR to hostbyte_table (Maurizio Lombardi) [1819061] - [netdrv] igc: Add debug messages to MAC filter code (Corinna Vinschen) [1781384] - [netdrv] igc: Refactor igc_del_mac_filter() (Corinna Vinschen) [1781384] - [netdrv] igc: Refactor igc_mac_entry_can_be_used() (Corinna Vinschen) [1781384] - [netdrv] igc: Remove igc_*_mac_steering_filter() wrappers (Corinna Vinschen) [1781384] - [netdrv] igc: Remove IGC_MAC_STATE_QUEUE_STEERING (Corinna Vinschen) [1781384] - [netdrv] igc: Remove 'queue' check in igc_del_mac_filter() (Corinna Vinschen) [1781384] - [netdrv] igc: Improve address check in igc_del_mac_filter() (Corinna Vinschen) [1781384] - [netdrv] igc: Refactor igc_rar_set_index() (Corinna Vinschen) [1781384] - [netdrv] igc: Fix igc_uc_unsync() (Corinna Vinschen) [1781384] - [netdrv] igc: Change igc_add_mac_filter() returning value (Corinna Vinschen) [1781384] - [netdrv] igc: Check unsupported flag in igc_add_mac_filter() (Corinna Vinschen) [1781384] - [netdrv] igc: Remove duplicate code in MAC filtering logic (Corinna Vinschen) [1781384] - [netdrv] igc: Add new device IDs for i225 part (Corinna Vinschen) [1781384] - [netdrv] igc: Fix default MAC address filter override (Corinna Vinschen) [1781384] - [netdrv] igc: Remove dead code related to flower filter (Corinna Vinschen) [1781384] - [netdrv] igc: Fix NFC queue redirection support (Corinna Vinschen) [1781384] - [netdrv] igc: Remove copper fiber switch control (Corinna Vinschen) [1781384] - [netdrv] igc: Enable NETIF_F_HW_TC flag (Corinna Vinschen) [1781384] - [netdrv] igc: Fix double definition (Corinna Vinschen) [1781384] - [netdrv] igc: Fix overwrites when dumping registers (Corinna Vinschen) [1781384] - [netdrv] igc: Remove forward declaration (Corinna Vinschen) [1781384] - [netdrv] igc: Remove unused CTRL_EXT_LINK_MODE_MASK (Corinna Vinschen) [1781384] - [netdrv] igc: Remove unused MDIC_DEST mask (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for ETF offloading (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for taprio offloading (Corinna Vinschen) [1781384] - [netdrv] igc: Add GSO partial support (Corinna Vinschen) [1781384] - [netdrv] net: igc: let core reject the unsupported coalescing parameters (Corinna Vinschen) [1781384] - [netdrv] intel: Replace zero-length array with flexible-array member (Corinna Vinschen) [1781384] - [netdrv] igc: Add comment (Corinna Vinschen) [1781384] - [netdrv] igc: Add WOL support (Corinna Vinschen) [1781384] - [netdrv] igc: Add pcie error handler support (Corinna Vinschen) [1781384] - [netdrv] igc: Complete to commit Add basic skeleton for PTP (Corinna Vinschen) [1781384] - [netdrv] igc: Fix the typo in comment (Corinna Vinschen) [1781384] - [netdrv] igc: Add dump options (Corinna Vinschen) [1781384] - [netdrv] igc: Complete to commit Add legacy power management support (Corinna Vinschen) [1781384] - [netdrv] igc: make non-global functions static (Corinna Vinschen) [1781384] - [netdrv] igc: Add PHY power management control (Corinna Vinschen) [1781384] - [netdrv] RHEL-only: Revert "igc: add additional delay during phy hw reset" (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for TSO (Corinna Vinschen) [1781384] - [netdrv] igc: Add SKU for i225 device (Corinna Vinschen) [1781384] - [netdrv] igc: Remove unused definition (Corinna Vinschen) [1781384] - [netdrv] igc: Fix typo in a comment (Corinna Vinschen) [1781384] - [netdrv] igc: Use Start of Packet signal from PHY for timestamping (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for ethtool GET_TS_INFO command (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for TX timestamping (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for RX timestamping (Corinna Vinschen) [1781384] - [netdrv] igc: Add basic skeleton for PTP (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_sw_init (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_write_itr (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_assign_vector (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_free_q_vector (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_free_q_vectors (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_irq_disable (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_irq_enable (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_configure_msix (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_set_rx_mode (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_set_interrupt_capability (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_alloc_mapped_page (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_configure (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_set_default_mac_filter (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_power_down_link (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_clean_tx_ring (Corinna Vinschen) [1781384] - [netdrv] igc: Remove serdes comments from a description of methods (Corinna Vinschen) [1781384] - [netdrv] igc: Add legacy power management support (Corinna Vinschen) [1781384] - [netdrv] igc: Add 64 bit DMA access support (Corinna Vinschen) [1781384] - [netdrv] igc: Fix parameter descriptions for a several functions (Corinna Vinschen) [1781384] - [netdrv] igc: Fix the parameter description for igc_alloc_rx_buffers (Corinna Vinschen) [1781384] - [netdrv] igc: Remove excess parameter description from igc_is_non_eop (Corinna Vinschen) [1781384] - [netdrv] igc: Prefer to use the pci_release_mem_regions method (Corinna Vinschen) [1781384] - [netdrv] igc: Improve the DMA mapping flow (Corinna Vinschen) [1781384] - [netdrv] igc: Add scatter gather support (Corinna Vinschen) [1781384] - [netdrv] treewide: Use sizeof_field() macro (Corinna Vinschen) [1781384] - [netdrv] igb/igc: use ktime accessors for skb->tstamp (Corinna Vinschen) [1781384] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Corinna Vinschen) [1781384] - [netdrv] igb/igc: Don't warn on fatal read failures when the device is removed (Corinna Vinschen) [1781384] - [netdrv] net: igb: let core reject the unsupported coalescing parameters (Corinna Vinschen) [1781381] - [netdrv] intel: Replace zero-length array with flexible-array member (Corinna Vinschen) [1781381] - [netdrv] igb: Fix SGMII SFP module discovery for 100FX/LX (Corinna Vinschen) [1781381] - [netdrv] igb: dont drop packets if rx flow control is enabled (Corinna Vinschen) [1781381] - [netdrv] treewide: Use sizeof_field() macro (Corinna Vinschen) [1781381] - [netdrv] igb/igc: use ktime accessors for skb->tstamp (Corinna Vinschen) [1781381] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Corinna Vinschen) [1781381] - [netdrv] igb: Fix constant media auto sense switching when no cable is connected (Corinna Vinschen) [1781381] - [netdrv] igb: Enable media autosense for the i350 (Corinna Vinschen) [1781381] - [netdrv] igb/igc: Don't warn on fatal read failures when the device is removed (Corinna Vinschen) [1781381] - [netdrv] igb: Add UDP segmentation offload support (Corinna Vinschen) [1781381] - [netdrv] net: igbvf: reject unsupported coalescing params (Corinna Vinschen) [1781382] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Corinna Vinschen) [1781382] - [ata] ahci: Do not export local variable ahci_em_messages (Prarit Bhargava) [1826320] - [scripts] modpost: check for static EXPORT_SYMBOL* functions (Prarit Bhargava) [1826320] - [kernel] torture: Remove exporting of internal functions (Prarit Bhargava) [1826320] - [input] Input: synaptics-rmi4 - remove the exporting of rmi_2d_sensor_set_input_params (Prarit Bhargava) [1826320] - [netdrv] net: phy: make exported variables non-static (Prarit Bhargava) [1826320] - [scsi] scsi: libsas: remove the exporting of sas_wait_eh (Prarit Bhargava) [1826320] - [drm] drm/client: remove the exporting of drm_client_close (Prarit Bhargava) [1826320] - [scripts] modpost: always show verbose warning for section mismatch (Prarit Bhargava) [1826320] - [net] netfilter: nf_nat_ipv4: remove obsolete EXPORT_SYMBOL (Prarit Bhargava) [1826320] - [crypto] crypto: skcipher - remove the exporting of skcipher_walk_next (Prarit Bhargava) [1826320] - [scsi] scsi: scsi_debug: Fix a recently introduced regression (Ming Lei) [1822001] - [block] scsi: block: remove bidi support (Ming Lei) [1822001] - [scsi] scsi: block: remove req->special (Ming Lei) [1822001] - [scsi] scsi: stop setting up request->special (Ming Lei) [1822001] - [scsi] scsi: remove bidirectional command support (Ming Lei) [1822001] - [scsi] scsi: remove the SCSI OSD library (Ming Lei) [1822001] - [fs] scsi: fs: remove exofs (Ming Lei) [1822001] - [block] scsi: bsg-lib: handle bidi requests without block layer help (Ming Lei) [1822001] - [block] scsi: bsg: refactor bsg_ioctl (Ming Lei) [1822001] - [netdrv] sfc: fix XDP-redirect in this driver (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: support configuring vf spoofchk on EF10 VFs (Jarod Wilson) [1796582 1788753 1684003] - [netdrv] sfc: ethtool: Refactor to remove fallthrough comments in case blocks (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Replace zero-length array with flexible-array member (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove unused variable 'efx_default_channel_type' (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: elide assignment of skb (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some ARFS code out of headers (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: only schedule asynchronous filter work if needed (Jarod Wilson) [1796582 1788753] - [netdrv] net: sfc: Use scnprintf() for avoiding potential buffer overflow (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: detach from cb_page in efx_copy_channel() (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: complete the next packet when we receive a timestamp (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: fix timestamp reconstruction at 16-bit rollover points (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move mcdi filtering code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: create header for mcdi filtering code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: rename mcdi filtering functions/structs (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove duplicated include from efx.c (Jarod Wilson) [1796582 1788753] - [netdrv] sfc/ethtool_common: Make some function to static (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove set but not used variable 'nic_data' (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove duplicated include from ef10.c (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move RPS code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move yet more functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move RSS code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move a couple more functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some ethtool code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move various functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move more rx code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move more tx code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: refactor selftest work init code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI logging device attribute (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: conditioned some functionality (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI receive queue management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI transmit queue management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI event queue management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI VI alloc/free code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move more MCDI port code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some MCDI port utility functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some port link state/caps code (Jarod Wilson) [1796582 1788753] - [netdrv] net: sfc: use skb_list_walk_safe helper for gso segments (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move common tx code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move common rx code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move event queue management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move channel interrupt management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move channel alloc/removal code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move channel start/stop code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some channel-related code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move struct init and fini code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some device reset code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move datapath management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move mac configuration and status functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move reset workqueue code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: further preparation for code split (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: add new headers in preparation for code split (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove ioremap_nocache and devm_ioremap_nocache (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Remove unnecessary dependencies on I2C (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: avoid duplicate error handling code in 'efx_ef10_sriov_set_vf_mac()' (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Include XDP packet headroom in buffer step size (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: fix channel allocation with brute force (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: fix build without CONFIG_RFS_ACCEL (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: do ARFS expiry work occasionally even without NAPI poll (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: add statistics for ARFS (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: suppress MCDI errors from ARFS (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: change ARFS expiry mechanism (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Only cancel the PPS workqueue if it exists (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: trace_xdp_exception on XDP failure (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: add XDP counters to ethtool stats (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: handle XDP_TX outcomes of XDP eBPF programs (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: allocate channels for XDP tx queues (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Enable setting of xdp_prog (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: perform XDP processing on received packets (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: support encapsulation of xdp_frames in efx_tx_buffer (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: use the new __netdev_tx_sent_queue BQL optimisation (Jarod Wilson) [1796582 1788753] - [netdrv] net/sfc: Use skb_frag_off accessors (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: phase out dma_zalloc_coherent() (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove redundant variable old_vlan (Jarod Wilson) [1796582 1788753] - [netdrv] net: sfc: Convert random_ether_addr to eth_random_addr (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: batch up RX delivery (Jarod Wilson) [1796582 1788753] - [netdrv] net: mlx4: Use scnprintf() for avoiding potential buffer overflow (Alaa Hleihel) [1789363] - [infiniband] IB/mlx4: Fix leak in id_map_find_del (Alaa Hleihel) [1789363] - [infiniband] IB/mlx4: Fix memory leak in add_gid error flow (Alaa Hleihel) [1789363] - [include] mlx4: Bump up MAX_MSIX from 64 to 128 (Alaa Hleihel) [1789363] - [infiniband] RDMA/mlx4: use true, false for bool variable (Alaa Hleihel) [1789363] - [infiniband] RDMA/mlx4: Redo TX checksum offload in line with docs (Alaa Hleihel) [1789363] - [netdrv] mlx4: use new txqueue timeout argument (Alaa Hleihel) [1789363] - [netdrv] treewide: Use sizeof_field() macro (Alaa Hleihel) [1789363 1789362] - [infiniband] IB/mlx4: Update HW GID table while adding vlan GID (Alaa Hleihel) [1789363 1789362] - [netdrv] net/mlx4_en: ethtool: make array modes static const, makes object smaller (Alaa Hleihel) [1789363 1789361] - [infiniband] RDMA/mlx4: Annotate boolean arguments as bool and not int (Alaa Hleihel) [1789363 1789361] - [netdrv] mlx4: avoid large stack usage in mlx4_init_hca() (Alaa Hleihel) [1789363 1789361] - [infiniband] RDMA/mlx4: Untag user pointers in mlx4_get_umem_mr (Alaa Hleihel) [1789363 1789361] - [netdrv] net: Use skb accessors in network drivers (Alaa Hleihel) [1789363 1789361]- [net] ip_vti: receive ipip packet by calling ip_tunnel_rcv (Xin Long) [1815554] - [net] xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output (Xin Long) [1815968] - [net] sched: Fix hw_stats_type setting in pedit loop (Ivan Vecera) [1817156] - [net] sched: set the hw_stats_type in pedit loop (Ivan Vecera) [1817156] - [include] flow_offload: fix allowed types check (Ivan Vecera) [1817156] - [net] sched: act: allow user to specify type of HW stats for a filter (Ivan Vecera) [1817156] - [net] flow_offload: pass action cookie through offload structures (Ivan Vecera) [1817156] - [netdrv] flow_offload: introduce "disabled" HW stats type and allow it in mlxsw (Ivan Vecera) [1817156] - [include] flow_offload: introduce "delayed" HW stats type and allow it in mlx5 (Ivan Vecera) [1817156] - [netdrv] flow_offload: introduce "immediate" HW stats type and allow it in mlxsw (Ivan Vecera) [1817156] - [netdrv] mlxsw: restrict supported HW stats type to "any" (Ivan Vecera) [1817156] - [netdrv] mlxsw: spectrum_flower: Do not allow mixing HW stats types for actions (Ivan Vecera) [1817156] - [netdrv] flow_offload: check for basic action hw stats type (Ivan Vecera) [1817156] - [include] flow_offload: Introduce offload of HW stats type (Ivan Vecera) [1817156] - [net] netfilter: nf_tables: use-after-free in dynamic operations (Phil Sutter) [1822577] - [net] devlink: Add health recover notifications on devlink flows (Petr Oros) [1821169] - [net] devlink: add devink notification when reporter update health state (Petr Oros) [1821169] - [net] devlink: add support for reporter recovery completion (Petr Oros) [1821169] - [net] devlink: Add new "enable_roce" generic device param (Petr Oros) [1805955] - [netdrv] netdevsim: use __GFP_NOWARN to avoid memalloc warning (Petr Oros) [1817157] - [tools] selftests: add netdevsim devlink health tests (Petr Oros) [1817157] - [netdrv] netdevsim: implement couple of testing devlink health reporters (Petr Oros) [1817157] - [net] devlink: propagate extack down to health reporter ops (Petr Oros) [1817157] - [net] devlink: don't do reporter recovery if the state is healthy (Petr Oros) [1817157] - [net] xsk: Fix out of boundary write in __xsk_rcv_memcpy (Jiri Benc) [1819630] - [samples] bpf: Allow for -ENETDOWN in xdpsock (Jiri Benc) [1819630] - [samples] bpf: Drop doubled variable declaration in xdpsock (Jiri Benc) [1819630] - [netdrv] i40e: Relax i40e_xsk_wakeup's return value when PF is busy (Jiri Benc) [1819630] - [netdrv] net/ixgbe: Fix concurrency issues between config flow and XSK (Jiri Benc) [1819630] - [netdrv] net/i40e: Fix concurrency issues between config flow and XSK (Jiri Benc) [1819630] - [net] xsk: Add rcu_read_lock around the XSK wakeup (Jiri Benc) [1819630] - [net] fix installing orphaned programs (Jiri Benc) [1819630] - [tools] libbpf: Don't use kernel-side u32 type in xsk.c (Jiri Benc) [1819630] - [tools] libbpf: Fix compatibility for kernels without need_wakeup (Jiri Benc) [1819630] - [net] xsk: Fix crash in poll when device does not support ndo_xsk_wakeup (Jiri Benc) [1819630] - [kernel] bpf/xskmap: Return ERR_PTR for failure case instead of NULL. (Jiri Benc) [1819630] - [net] xdp: convert put_page() to put_user_page*() (Jiri Benc) [1819630] - [net] xdp: mm: introduce page_size() (Jiri Benc) [1819630] - [net] xsk: relax UMEM headroom alignment (Jiri Benc) [1819630] - [samples] bpf: fix xdpsock l2fwd tx for unaligned mode (Jiri Benc) [1819630] - [netdrv] ixgbe: fix xdp handle calculations (Jiri Benc) [1819630] - [netdrv] ixgbe: fix xdp handle calculations (Jiri Benc) [1819630] - [netdrv] i40e: fix xdp handle calculations (Jiri Benc) [1819630] - [netdrv] i40e: fix xdp handle calculations (Jiri Benc) [1819630] - [net] xsk: use state member for socket synchronization (Jiri Benc) [1819630] - [documentation] doc/af_xdp: include unaligned chunk case (Jiri Benc) [1819630] - [samples] bpf: use hugepages in xdpsock app (Jiri Benc) [1819630] - [samples] bpf: add buffer recycling for unaligned chunks to xdpsock (Jiri Benc) [1819630] - [samples] bpf: add unaligned chunks mode support to xdpsock (Jiri Benc) [1819630] - [tools] libbpf: add flags to umem config (Jiri Benc) [1819630] - [netdrv] mlx5e: Allow XSK frames smaller than a page (Jiri Benc) [1819630] - [netdrv] mlx5e: modify driver for handling offsets (Jiri Benc) [1819630] - [netdrv] ixgbe: modify driver for handling offsets (Jiri Benc) [1819630] - [netdrv] i40e: modify driver for handling offsets (Jiri Benc) [1819630] - [net] xsk: add support to allow unaligned chunk placement (Jiri Benc) [1819630] - [net] xdp: xdp_umem: replace kmap on vmap for umem map (Jiri Benc) [1819630] - [net] Don't call XDP_SETUP_PROG when nothing is changed (Jiri Benc) [1819630] - [kernel] bpf: Use PTR_ERR_OR_ZERO in xsk_map_inc() (Jiri Benc) [1819630] - [kernel] xsk: support BPF_EXIST and BPF_NOEXIST flags in XSKMAP (Jiri Benc) [1819630] - [net] xsk: remove AF_XDP socket from map when the socket is released (Jiri Benc) [1819630] - [netdrv] mlx5e: Add AF_XDP need_wakeup support (Jiri Benc) [1819630] - [netdrv] net/mlx5e: Move the SW XSK code from NAPI poll to a separate function (Jiri Benc) [1819630] - [samples] bpf: add use of need_wakeup flag in xdpsock (Jiri Benc) [1819630] - [tools] libbpf: add support for need_wakeup flag in AF_XDP part (Jiri Benc) [1819630] - [netdrv] ixgbe: need_wakeup flag might not be set for Tx (Jiri Benc) [1819630] - [netdrv] ixgbe: add support for AF_XDP need_wakeup feature (Jiri Benc) [1819630] - [netdrv] i40e: add support for AF_XDP need_wakeup feature (Jiri Benc) [1819630] - [net] xsk: add support for need_wakeup flag in AF_XDP rings (Jiri Benc) [1819630] - [net] xsk: replace ndo_xsk_async_xmit with ndo_xsk_wakeup (Jiri Benc) [1819630] - [net] xdp: xdp_umem: fix umem pages mapping for 32bits systems (Jiri Benc) [1819630] - [net] ethtool: add infrastructure for centralized checking of coalescing parameters (Ivan Vecera) [1818096] - [tools] selftests: netfilter: add simple masq/redirect test cases (Hangbin Liu) [1826220] - [tools] selftests: netfilter: fix config fragment CONFIG_NF_TABLES_INET (Hangbin Liu) [1826220] - [tools] selftests: add script to stress-test nft packet path vs. control plane (Hangbin Liu) [1826220] - [net] devlink: disallow reload operation during device cleanup (Petr Oros) [1805958] - [tools] selftests: test creating netdevsim inside network namespace (Petr Oros) [1805958] - [net] devlink: export devlink net setter (Petr Oros) [1805958] - [net] devlink: don't ignore errors during dumpit (Petr Oros) [1805958] - [netdrv] netdevsim: fix spelling mistake "forbidded" -> "forbid" (Petr Oros) [1805958] - [netdrv] netdevsim: implement devlink dev_info op (Petr Oros) [1805958] - [netdrv] netdevsim: add couple of debugfs bools to debug devlink reload (Petr Oros) [1805958] - [netdrv] netdevsim: create devlink and netdev instances in namespace (Petr Oros) [1805958] - [include] net: skbuff: disambiguate argument and member for skb_list_walk_safe helper (Josef Oskera) [1818105] - [include] net: introduce skb_list_walk_safe for skb segment walking (Josef Oskera) [1818105] - [netdrv] netdevsim: drop code duplicated by a merge (Petr Oros) [1805951] - [tools] selftests: devlink: undo changes at the end of resource_test (Petr Oros) [1805951] - [tools] selftests: netdevsim: add tests for devlink reload with resources (Petr Oros) [1805951] - [net] devlink: allow to change namespaces during reload (Petr Oros) [1805951] - [net] devlink: Add method for time-stamp on reporter's dump (Petr Oros) [1805951] - [netdrv] netdevsim: take devlink net instead of init_net (Petr Oros) [1805951] - [netdrv] netdevsim: register port netdevices into net of device (Petr Oros) [1805951] - [netdrv] netdevsim: implement proper devlink reload (Petr Oros) [1805951] - [netdrv] netdevsim: add all ports in nsim_dev_create() and del them in destroy() (Petr Oros) [1805951] - [net] devlink: export devlink net getter (Petr Oros) [1805951] - [net] fib_notifier: propagate extack down to the notifier block callback (Petr Oros) [1805951] - [net] fib_notifier: propagate possible error during fib notifier registration (Petr Oros) [1805951] - [net] fib_notifier: make FIB notifier per-netns (Petr Oros) [1805951] - [netdrv] netdevsim: change fib accounting and limitations to be per-device (Petr Oros) [1805951] - [netdrv] netdevsim: Set offsets to various protocol layers (Petr Oros) [1805951] - [net] devlink: Fix error handling in param and info_get dumpit cb (Petr Oros) [1805951] - [net] lwtunnel: check erspan options before allocating tun_info (Xin Long) [1730151] - [net] lwtunnel: be STRICT to validate the new LWTUNNEL_IP(6)_OPTS (Xin Long) [1730151] - [net] lwtunnel: add support for multiple geneve opts (Xin Long) [1730151] - [net] lwtunnel: change to use nla_put_u8 for LWTUNNEL_IP_OPT_ERSPAN_VER (Xin Long) [1730151] - [net] lwtunnel: ignore any TUNNEL_OPTIONS_PRESENT flags set by users (Xin Long) [1730151] - [net] lwtunnel: get nlsize for erspan options properly (Xin Long) [1730151] - [net] lwtunnel: change to use nla_parse_nested on new options (Xin Long) [1730151] - [net] lwtunnel: add options setting and dumping for erspan (Xin Long) [1730151] - [net] lwtunnel: add options setting and dumping for vxlan (Xin Long) [1730151] - [net] lwtunnel: add options setting and dumping for geneve (Xin Long) [1730151] - [net] lwtunnel: add options process for cmp_encap (Xin Long) [1730151] - [net] lwtunnel: add options process for arp request (Xin Long) [1730151] - [net] ip_tunnel: Add dst_cache support in lwtunnel_state of ip tunnel (Xin Long) [1730151] - [include] tcp: Define IPPROTO_MPTCP (Florian Westphal) [1812198] - [net] skb: add helpers to allocate ext independently from sk_buff (Florian Westphal) [1812198] - [net] tcp: Check for filled TCP option space before SACK (Florian Westphal) [1812198] - [net] tcp: Export TCP functions and ops struct (Florian Westphal) [1812198] - [net] tcp: coalesce/collapse must respect MPTCP extensions (Florian Westphal) [1812198] - [net] mptcp: Add MPTCP to skb extensions (Florian Westphal) [1812198] - [net] tcp, ulp: Add clone operation to tcp_ulp_ops (Florian Westphal) [1812198] - [include] tcp: Add MPTCP option number (Florian Westphal) [1812198] - [net] Make sock protocol value checks more specific (Florian Westphal) [1812198] - [net] ipv6: provide and use ipv6 specific version for {recv, send}msg (Florian Westphal) [1812198] - [net] inet: factor out inet_send_prepare() (Florian Westphal) [1812198] - [net] tipc: fix incorrect increasing of link window (Xin Long) [1822129] - [net] tipc: Add a missing case of TIPC_DIRECT_MSG type (Xin Long) [1822129] - [net] tipc: add NULL pointer check to prevent kernel oops (Xin Long) [1822129] - [net] tipc: simplify trivial boolean return (Xin Long) [1822129] - [net] tipc: add missing attribute validation for MTU property (Xin Long) [1822129] - [net] tipc: fix successful connect() but timed out (Xin Long) [1822129] - [net] tipc: make three functions static (Xin Long) [1822129] - [net] tipc: fix wrong connect() return code (Xin Long) [1822129] - [net] tipc: make legacy address flag readable over netlink (Xin Long) [1822129] - [net] tipc: don't send gap blocks in ACK messages (Xin Long) [1822129] - [net] tipc: fix use-after-free in tipc_disc_rcv() (Xin Long) [1822129] - [net] tipc: introduce variable window congestion control (Xin Long) [1822129] - [net] tipc: eliminate more unnecessary nacks and retransmissions (Xin Long) [1822129] - [net] tipc: eliminate gap indicator from ACK messages (Xin Long) [1822129] - [net] tipc: fix duplicate SYN messages under link congestion (Xin Long) [1822129] - [net] tipc: support in-order name publication events (Xin Long) [1822129] - [net] tipc: add back tipc prefix to log messages (Xin Long) [1822129] - [net] tipc: fix update of the uninitialized variable err (Xin Long) [1822129] - [net] tipc: add support for AEAD key setting via netlink (Xin Long) [1822129] - [net] tipc: introduce TIPC encryption & authentication (Xin Long) [1822129] - [include] tipc: add new AEAD key structure for user API (Xin Long) [1822129] - [net] tipc: enable creating a "preliminary" node (Xin Long) [1822129] - [net] tipc: add reference counter to bearer (Xin Long) [1822129] - [net] tipc: eliminate checking netns if node established (Xin Long) [1822129] - [net] tipc: eliminate the dummy packet in link synching (Xin Long) [1822129] - [net] tipc: improve message bundling algorithm (Xin Long) [1822129] - [net] tipc: add smart nagle feature (Xin Long) [1822129] - [net] tipc: improve throughput between nodes in netns (Xin Long) [1822129] - [net] tipc: add loopback device tracking (Xin Long) [1822129] - [netdrv] vxlan: check return value of gro_cells_init() (Sabrina Dubroca) [1821295] - [netdrv] geneve: move debug check after netdev unregister (Sabrina Dubroca) [1821295] - [net] ip6_tunnel: enhance tunnel locate with link check (Sabrina Dubroca) [1821295] - [netdrv] vxlan: implement get_link_ksettings ethtool method (Sabrina Dubroca) [1821295] - [netdrv] vxlan: check tun_info options_len properly (Sabrina Dubroca) [1821295] - [include] iptunnel: make TUNNEL_FLAGS available in uapi (Sabrina Dubroca) [1821295] - [net] introduce dev_net notifier register/unregister variants (Ivan Vecera) [1818102] - [net] push code from net notifier reg/unreg into helpers (Ivan Vecera) [1818102] - [net] call call_netdevice_unregister_net_notifiers from unregister (Ivan Vecera) [1818102] - [net] introduce per-netns netdevice notifiers (Ivan Vecera) [1818102] - [net] push loops and nb calls into helper functions (Ivan Vecera) [1818102] - [include] net: ipv6: do not consider routes via gateways for anycast address check (Hangbin Liu) [1816506] - [net] ipv6/addrconf: call ipv6_mc_up() for non-Ethernet interface (Hangbin Liu) [1816506] - [net] ipv6: need update peer route when modify metric (Hangbin Liu) [1816506] - [net] ipv6: use configured metric when add peer route (Hangbin Liu) [1816506] - [net] ipv6: restrict IPV6_ADDRFORM operation (Hangbin Liu) [1816506] - [net] ipv6: Fix nlmsg_flags when splitting a multipath route (Hangbin Liu) [1816506] - [net] ipv6: Fix route replacement with dev-only route (Hangbin Liu) [1816506] - [net] ipv6/addrconf: fix potential NULL deref in inet6_set_link_af() (Hangbin Liu) [1816506] - [net] net-ipv6-ndisc: add support for RFC7710 RA Captive Portal Identifier (Hangbin Liu) [1816506] - [net] ipv6: Don't use dst gateway directly in ip6_confirm_neigh() (Hangbin Liu) [1816506] - [net] ipv6: Fix the link time qualifier of 'ping_v6_proc_exit_net()' (Hangbin Liu) [1816506] - [net] ipv6: propagate ipv6_add_dev's error returns out of ipv6_find_idev (Hangbin Liu) [1816506] - [net] ipv6: allow any source address for sendmsg pktinfo with ip_nonlocal_bind (Hangbin Liu) [1816506] - [net] multicast: remove useless parameter for group add (Hangbin Liu) [1816506] - [documentation] networking: devlink-trap: Fix reference to other document (Petr Oros) [1805882] - [netdrv] netdevsim: Fix use-after-free during device dismantle (Petr Oros) [1805882] - [netdrv] netdevsim: Fix build error without CONFIG_INET (Petr Oros) [1805882] - [net] devlink: move reload fail indication to devlink core and expose to user (Petr Oros) [1805882] - [net] devlink: split reload op into two (Petr Oros) [1805882] - [netdrv] mlx4: Split restart_one into two functions (Petr Oros) [1805882] - [include] devlink: add unknown 'fw_load_policy' value (Petr Oros) [1805882] - [net] devlink: add 'reset_dev_on_drv_probe' param (Petr Oros) [1805882] - [include] devlink: extend 'fw_load_policy' values (Petr Oros) [1805882] - [include] devlink: Add new info version tags for ASIC and FW (Petr Oros) [1805882] - [net] devlink: Use switch-case instead of if-else (Petr Oros) [1805882] - [net] devlink: Make port index data type as unsigned int (Petr Oros) [1805882] - [net] devlink: send notifications for deleted snapshots on region destroy (Petr Oros) [1805882] - [net] devlink: remove pointless data_len arg from region snapshot create (Petr Oros) [1805882] - [documentation] Add description of netdevsim traps (Petr Oros) [1805882] - [netdrv] netdevsim: Add devlink-trap support (Petr Oros) [1805882] - [tools] selftests: netdevsim: add devlink regions tests (Petr Oros) [1805882] - [tools] selftests: netdevsim: add devlink params tests (Petr Oros) [1805882] - [netdrv] netdevsim: implement support for devlink region and snapshots (Petr Oros) [1805882] - [netdrv] netdevsim: register couple of devlink params (Petr Oros) [1805882]- [arm64] kvm: arm64: limit PMU version to PMUv3 for ARMv8.1 (Gavin Shan) [1814009] - [arm64] cpufeature: Extract capped perfmon fields (Gavin Shan) [1814009] - [virt] kvm: arm64: Use the correct timer structure to access the physical counter (Gavin Shan) [1814009] - [arm64] Ask the compiler to __always_inline functions used by KVM at HYP (Gavin Shan) [1814009] - [arm64] kvm: arm64: Define our own swab32() to avoid a uapi static inline (Gavin Shan) [1814009] - [arm64] kvm: arm64: Ask the compiler to __always_inline functions used at HYP (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Fold VHE entry/exit work into kvm_vcpu_run_vhe() (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Fix up includes for trace.h (Gavin Shan) [1814009] - [virt] kvm: arm64: Treat emulated TVAL TimerValue as a signed 32-bit integer (Gavin Shan) [1814009] - [virt] kvm: arm64: pmu: Only handle supported event counters (Gavin Shan) [1814009] - [virt] kvm: arm64: pmu: Fix chained SW_INCR counters (Gavin Shan) [1814009] - [virt] kvm: arm64: pmu: Don't mark a counter as chained if the odd one is disabled (Gavin Shan) [1814009] - [virt] kvm: arm64: pmu: Don't increment SW_INCR if PMCR.E is unset (Gavin Shan) [1814009] - [virt] kvm: arm: Make inject_abt32() inject an external abort instead (Gavin Shan) [1814009] - [virt] kvm: arm: Fix DFSR setting for non-LPAE aarch32 guests (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Fix young bit from mmu notifier (Gavin Shan) [1814009] - [arm64] kvm: Add UAPI notes for swapped registers (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Cleanup MMIO handling (Gavin Shan) [1814009] - [arm64] kvm: arm64: Write arch.mdcr_el2 changes since last vcpu_load on VHE (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Drop the kvm_vgic_register_mmio_region() (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic-its: Properly check the unmapped coll in DISCARD handler (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Correct AArch32 SPSR on exception entry (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Correct CPSR on exception entry (Gavin Shan) [1814009] - [arm64] kvm: arm64: Correct PSTATE on exception entry (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Re-check VMA on detecting a poisoned page (Gavin Shan) [1814009] - [virt] kvm: arm: Remove duplicate include (Gavin Shan) [1814009] - [virt] kvm: arm: Call hyp_cpu_pm_exit at the right place (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Handle GICR_PENDBASER.PTZ filed as RAZ (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic-its: Fix restoration of unmapped collections (Gavin Shan) [1814009] - [virt] kvm: arm64: Only sign-extend MMIO up to register width (Gavin Shan) [1814009] - [arm64] kvm: stop treating register x18 as caller save (Gavin Shan) [1814009] - [arm64] Workaround for Cortex-A55 erratum 1530923 (Gavin Shan) [1814009] - [arm64] Rename WORKAROUND_1319367 to SPECULATIVE_AT_NVHE (Gavin Shan) [1814009] - [arm64] Enable and document ARM errata 1319367 and 1319537 (Gavin Shan) [1814009] - [arm64] Rename WORKAROUND_1165522 to SPECULATIVE_AT_VHE (Gavin Shan) [1814009] - [arm64] Introduce ID_ISAR6 CPU register (Gavin Shan) [1814009] - [arm64] nofpsmid: Handle TIF_FOREIGN_FPSTATE flag cleanly (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Properly handle faulting of device mappings (Gavin Shan) [1814009] - [arm64] kvm: arm64: Ensure 'params' is initialised when looking up sys register (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Remove excessive permission check in kvm_arch_prepare_memory_region (Gavin Shan) [1814009] - [arm64] kvm: arm64: Don't log IMP DEF sysreg traps (Gavin Shan) [1814009] - [arm64] kvm: Invoke compute_layout() before alternatives are applied (Gavin Shan) [1814009] - [arm64] kvm: arm64: Sanely ratelimit sysreg messages (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Use wrapper function to lock/unlock all vcpus in kvm_vgic_create() (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Fix potential double free dist->spis in __kvm_vgic_destroy() (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Get rid of unused arg in cpu_init_hyp_mode() (Gavin Shan) [1814009] - [arm64] kvm: arm64: Opportunistically turn off WFI trapping when using direct LPI injection (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Let the timer expire in hardirq context on RT (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Fix some comments typo (Gavin Shan) [1814009] - [kvm] arm/arm64: vgic: Remove the declaration of kvm_send_userspace_msi() (Gavin Shan) [1814009] - [arm64] kvm: arm64: Don't set HCR_EL2.TVM when S2FWB is supported (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Show halt poll counters in debugfs (Gavin Shan) [1814009] - [arm64] kvm: Prevent speculative S1 PTW when restoring vcpu context (Gavin Shan) [1814009] - [arm64] kvm: Disable EL1 PTW when invalidating S2 TLBs (Gavin Shan) [1814009] - [arm64] Add ARM64_WORKAROUND_1319367 for all A57 and A72 versions (Gavin Shan) [1814009] - [arm64] kvm: Reorder system register restoration and stage-2 activation (Gavin Shan) [1814009] - [arm64] kvm: arm64: Select TASK_DELAY_ACCT+TASKSTATS rather than SCHEDSTATS (Gavin Shan) [1814009] - [arm64] Retrieve stolen time as paravirtualized guest (Gavin Shan) [1814009] - [arm64] arm/arm64: Make use of the SMCCC 1.1 wrapper (Gavin Shan) [1814009] - [kernel] arm/arm64: Provide a wrapper for SMCCC 1.1 calls (Gavin Shan) [1814009] - [virt] kvm: arm64: Provide VCPU attributes for stolen time (Gavin Shan) [1814009] - [virt] kvm: arm64: Support stolen time reporting via shared structure (Gavin Shan) [1814009] - [virt] kvm: arm64: Implement PV_TIME_FEATURES call (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Factor out hypercall handling from PSCI code (Gavin Shan) [1814009] - [documentation] kvm: arm64: Document PV-time interface (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Allow user injection of external data aborts (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Allow reporting non-ISV data aborts to userspace (Gavin Shan) [1814009] - [arm64] errata: use arm_smccc_1_1_get_conduit() (Gavin Shan) [1814009] - [kernel] arm/arm64: smccc/psci: add arm_smccc_1_1_get_conduit() (Gavin Shan) [1814009] - [arm64] kvm: arm64: Fix ptrauth ID register masking logic (Gavin Shan) [1814009] - [arm64] kvm: arm64: Add capability to advertise ptrauth for guest (Gavin Shan) [1814009] - [arm64] kvm: arm64: Add userspace flag to enable pointer authentication (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Context-switch ptrauth registers (Gavin Shan) [1814009] - [arm64] kvm: arm64: Add a vcpu flag to control ptrauth for guest (Gavin Shan) [1814009] - [tools] selftests: kvm: s390: fix format strings for access reg test (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: make syncregs more reliable on s390 (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: drop vcpu_setup from s390x (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add support for vcpu_args_set to aarch64 and s390x (Vitaly Kuznetsov) [1813987] - [iommu] amd: Fix IOMMU AVIC not properly update the is_run bit in IRTE (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Fix kernel crash with PR KVM (Vitaly Kuznetsov) [1813987] - [x86] cpu: Print "VMX disabled" error message iff KVM is enabled (Vitaly Kuznetsov) [1813987] - [tools] redhat: update kvm/x86 headers in tools (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: fix crash cleanup when KVM wasn't used (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Filter out the broadcast dest for IPI fastpath (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: don't clear mtf_pending when nested events are blocked (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Remove unnecessary exception trampoline in vmx_vmenter (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Split svm_vcpu_run inline assembly to separate file (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Move SEV code to separate file (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Move AVIC code to separate file (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Move Nested SVM Implementation to nested.c (Vitaly Kuznetsov) [1813987] - [x86] kvm svm: Move SVM related files to own sub-directory (Vitaly Kuznetsov) [1813987] - [x86] kvm: fix a missing-prototypes "vmread_error" (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix BUILD_BUG() in __cpuid_entry_get_reg() w/ CONFIG_UBSAN=y (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add a trampoline to fix VMREAD error handling (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Annotate svm_x86_ops as __initdata (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Annotate vmx_x86_ops as __initdata (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop __exit from kvm_x86_ops' hardware_unsetup() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Copy kvm_x86_ops by value to eliminate layer of indirection (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Set kvm_x86_ops only after ->hardware_setup() completes (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Configure runtime hooks using vmx_x86_ops (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Move hardware_setup() definition below vmx_x86_ops (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move init-only kvm_x86_ops to separate struct (Vitaly Kuznetsov) [1813987] - [virt] kvm: Pass kvm_init()'s opaque param to additional arch funcs (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Fix cosmetic copy-paste error in vm_mem_region_move() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix out of range accesses to memslots (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Micro-optimize IPI fastpath delay (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Delay read msr data iff writes ICR MSR (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Narrow down the IPI fastpath to single target IPI (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Gracefully handle faults on VMXON (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Fold loaded_vmcs_init() into alloc_loaded_vmcs() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Always VMCLEAR in-use VMCSes during crash with kexec support (Vitaly Kuznetsov) [1813987] - [tools] kvm_stat: add command line switch '-c' to log in csv format (Vitaly Kuznetsov) [1813987] - [tools] kvm_stat: add command line switch '-s' to set update interval (Vitaly Kuznetsov) [1813987] - [tools] kvm_stat: switch to argparse (Vitaly Kuznetsov) [1813987] - [tools] kvm_stat: rework command line sequence and message texts (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: don't allow memory operands for inline asm that modifies SP (Vitaly Kuznetsov) [1813987] - [x86] kvm: lapic: Mark hrtimer for period or oneshot mode to expire in hard interrupt context (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Issue WBINVD after deactivating an SEV guest (Vitaly Kuznetsov) [1813987] - [documentation] kvm: svm: document KVM_MEM_ENCRYPT_OP, let userspace detect if SEV is available (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: remove bogus user-triggerable WARN_ON (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Rework timespec functions and usage (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Code style cleanup in kvm_arch_dev_ioctl() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add blurb to CPUID tracepoint when using max basic leaf values (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add requested index to the CPUID tracepoint (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: check for EFER.SVME=1 before entering guest (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: remove side effects from nested_vmx_exit_reflected (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: access regs array in vmenter.S in its natural order (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: enlightened VMPTRLD with an incorrect GPA (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: test enlightened vmenter with wrong eVMCS version (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: define and use EVMCS_VERSION (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: properly handle errors in nested_vmx_handle_enlightened_vmptrld() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: stop abusing need_vmcs12_to_shadow_sync for eVMCS mapping (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Uses TEST_FAIL in tests/utilities (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Introduce the TEST_FAIL macro (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Introduce steal-time test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: virt_map should take npages, not size (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Use consistent message for test skipping (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Enable printf format warnings for TEST_ASSERT (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Share common API documentation (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: svm: Add vmcall test to gitignore (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: Remove an obsolete comment (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: correct meaningless kvm_apicv_activated() check (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Consolidate nested MTF checks to helper function (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Micro-optimize vmexit time when not exposing PMU (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Introduce GA Log tracepoint for AVIC (Vitaly Kuznetsov) [1813987] - [documentation] kvm: documentation: Update fast page fault for indirect sp (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: avoid loss of pending IRQ/NMI before entering L2 (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: implement check_nested_events for interrupts (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: ignore L1 interrupt window while running L2 with V_INTR_MASKING=1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: do not change host intercepts while nested VM is running (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: rename set_cr3 callback and related flags to load_mmu_pgd (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: unify callbacks to load paging root (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor kvm_cpuid() param that controls out-of-range logic (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor out-of-range logic to contain the madness (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix CPUID range checks for Hypervisor and Centaur classes (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add helpers to perform CPUID-based guest vendor check (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Trace the original requested CPUID function in kvm_cpuid() (Vitaly Kuznetsov) [1813987] - [x86] kvm: cpuid: add support for supervisor states (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move nSVM CPUID 0x8000000A handling into common x86 code (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: Advertise and enable NRIPS for L1 iff nrips is enabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: Expose SVM features to L1 iff nested is enabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move VMX's host_efer to common x86 code (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop largepages_enabled and its accessor/mutator (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Don't propagate MMU lpage support to memslot.disallow_lpage (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Configure max page level during hardware setup (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Merge kvm_{enable, disable}_tdp() into a common function (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Refactor logging of NPT enabled/disabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Directly query Intel PT mode when refreshing PMUs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Check for Intel PT MSR virtualization using KVM cpu caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Directly use VMX capabilities helper to detect RDTSCP support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use KVM cpu caps to detect MSR_TSC_AUX virt support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Do kvm_cpuid_array capacity checks in terminal functions (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use kvm_cpu_caps to detect Intel PT support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Set emulated/transmuted feature bits via kvm_cpu_caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Override host CPUID results with kvm_cpu_caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Do host CPUID at load time to mask KVM cpu caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove stateful CPUID handling (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Squash CPUID 0x2.0 insanity for modern CPUs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove the unnecessary loop on CPUID 0x7 sub-leafs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fold CPUID 0x7 masking back into __do_cpuid_func() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use KVM cpu caps to track UMIP emulation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use KVM cpu caps to mark CR4.LA57 as not-reserved (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add a helper to check kernel support when setting cpu cap (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move XSAVES CPUID adjust to VMX's KVM cpu cap update (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Convert feature updates from CPUID to KVM cpu caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Convert feature updates from CPUID to KVM cpu caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce kvm_cpu_caps to replace runtime CPUID masking (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor handling of XSAVES CPUID adjustment (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: handle GBPAGE CPUID adjustment for EPT with generic code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle Intel PT CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle RDTSCP CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle PKU CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle UMIP emulation CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle INVPCID CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle MPX CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor cpuid_mask() to auto-retrieve the register (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce cpuid_entry_{change, set, clear}() mutators (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce cpuid_entry_{get, has}() accessors (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Replace bare "unsigned" with "unsigned int" in cpuid helpers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use u32 for holding CPUID register value in helpers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop explicit @func param from ->set_supported_cpuid() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Clear output regs for CPUID 0x14 if PT isn't exposed to guest (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Make kvm_mpx_supported() an inline function (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use supported_xcr0 to detect MPX support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Calculate the supported xcr0 mask at load time (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add helpers to query Intel PT mode (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use common loop iterator when handling CPUID 0xD.N (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop redundant array size check (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Encapsulate CPUID entries and metadata in struct (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor CPUID 0x4 and 0x8000001d handling (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Hoist loop counter and terminator to top of __do_cpuid_func() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Consolidate CPUID array max num entries checking (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop redundant boot cpu checks on SSBD feature bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop the explicit @index from do_cpuid_7_mask() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Clean up CPUID 0x7 sub-leaf loop (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor CPUID 0xD.N sub-leaf entry creation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Warn on zero-size save state for valid CPUID 0xD.N sub-leaf (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Check for CPUID 0xD.N support before validating array size (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move CPUID 0xD.1 handling out of the index>0 loop (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Check userspace CPUID array size after validating sub-leaf (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Clean up error handling in kvm_dev_ioctl_get_cpuid() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Simplify handling of Centaur CPUID leafs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor loop around do_cpuid_func() to separate helper (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Return -E2BIG when KVM_GET_SUPPORTED_CPUID hits max entries (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Shrink the usercopy region of the emulation context (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move kvm_emulate.h into KVM's private directory (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Dynamically allocate per-vCPU emulation context (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move emulation-only helpers to emulate.c (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Explicitly pass an exception struct to check_intercept (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor I/O emulation helpers to provide vcpu-only variant (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop gfn_to_pfn_atomic() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix warning due to implicit truncation on 32-bit KVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Drop unnecessary check on ept caps for execute-only (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Rename kvm_mmu->get_cr3() to ->get_guest_pgd() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Rename EPTP validity helper and associated variables (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Rename nested_ept_get_cr3() to nested_ept_get_eptp() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Allow L1 to use 5-level page walks for nested EPT (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Drop kvm_mmu_extended_role.cr4_la57 hack (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Don't drop level/direct from MMU role calculation (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Support dirty log initial-all-set test (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Properly handle userspace interrupt window request (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: trigger kvmclock sync request just once on VM creation (Vitaly Kuznetsov) [1813987] - [x86] kvm: lapic: Recalculate apic map in batch (Vitaly Kuznetsov) [1813987] - [x86] kvm: Fix some obsolete comments (Vitaly Kuznetsov) [1813987] - [virt] kvm: x86: enable dirty log gradually in small chunks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Reuse the current root if possible for fast switch (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Ignore guest CR3 on fast root switch for direct MMU (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Inhibit APIC virtualization for X2APIC guest (Vitaly Kuznetsov) [1813987] - [virt] kvm: Remove unnecessary asm/kvm_host.h includes (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Fix unknown ucall command asserts (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Consolidate VM allocation and free for VMX and SVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Directly return __vmalloc() result in ->vm_alloc() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Gracefully handle __vmalloc() failure during VM allocation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Adjust counter sample period after a wrmsr (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Consolidate open coded variants of memslot TLB flushes (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Use range-based TLB flush for dirty log memslot flush (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move kvm_arch_flush_remote_tlbs_memslot() to mmu.c (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add test for KVM_SET_USER_MEMORY_REGION (Vitaly Kuznetsov) [1813987] - [virt] kvm: Dynamically size memslot array based on number of used slots (Vitaly Kuznetsov) [1813987] - [virt] kvm: Terminate memslot walks via used_slots (Vitaly Kuznetsov) [1813987] - [virt] kvm: Ensure validity of memslot with respect to kvm_get_dirty_log() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Provide common implementation for generic dirty log functions (Vitaly Kuznetsov) [1813987] - [virt] kvm: Clean up local variable usage in __kvm_set_memory_region() (Vitaly Kuznetsov) [1813987] - [x86] kvm: Simplify kvm_free_memslot() and all its descendents (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move memslot deletion to helper function (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Free arrays for old memslot when moving memslot's base gfn (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop "const" attribute from old memslot in commit_memory_region() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move setting of memslot into helper routine (Vitaly Kuznetsov) [1813987] - [virt] kvm: Refactor error handling for setting memory region (Vitaly Kuznetsov) [1813987] - [virt] kvm: Explicitly free allocated-but-unused dirty bitmap (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop kvm_arch_create_memslot() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Move memslot memory allocation into prepare_memory_region() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Allocate memslot resources during prepare_memory_region() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Don't free new memslot if allocation of said memslot fails (Vitaly Kuznetsov) [1813987] - [virt] kvm: Reinstall old memslots if arch preparation fails (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Allocate new rmap and large page tracking when moving memslot (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move gpa_val and gpa_available into the emulator context (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add EMULTYPE_PF when emulation is triggered by a page fault (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: remove unused function apic_lvt_vector() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add 'else' to split mutually exclusive case (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: eliminate some unreachable code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix print format and coding style (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: rewrite the comment in vmx_get_mt_mask (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Convert some printf's to pr_info's (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Rework debug message printing (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Time guest demand paging (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Support multiple vCPUs in demand paging test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Pass args to vCPU in global vCPU args struct (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add memory size parameter to the demand paging test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add configurable demand paging delay (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add demand paging content to the demand paging test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Create a demand paging test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Introduce num-pages conversion utilities (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Introduce vm_guest_mode_params (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Rename vm_guest_mode_params (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: aarch64: Remove unnecessary ifdefs (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Remove unnecessary defines (Vitaly Kuznetsov) [1813987] - [tools] redhat: selftests: kvm: add SPDX-License-Identifier (Vitaly Kuznetsov) [1813987] - [x86] redhat: kvm: x86: add SPDX-License-Identifier (Vitaly Kuznetsov) [1813987] - [x86] x86 kvm page table walks: switch to explicit __get_user() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: avoid NULL pointer dereference with incorrect EVMCS GPAs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Initializing all kvm_lapic_irq fields in ioapic_write_indirect (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Condition ENCLS-exiting enabling on CPU support for SGX1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: fix Kconfig menu text for -Werror (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: remove stale comment from struct x86_emulate_ctxt (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Fix the svm vmexit code for WRMSR (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix dereference null cpufreq policy (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: limit the number of "kvm: disabled by bios" messages (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: avoid useless copy of cpufreq policy (Vitaly Kuznetsov) [1813987] - [x86] kvm: allow disabling -Werror (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: allow compiling as non-module with W=1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: Pre-allocate 1 cpumask variable per cpu for both pv tlb and pv ipis (Vitaly Kuznetsov) [1813987] - [x86] kvm: Introduce pv check helpers (Vitaly Kuznetsov) [1813987] - [kernel] kvm: let declaration of kvm_get_running_vcpus match implementation (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: allocate AVIC data structures based on kvm_amd module parameter (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Emulate MTF when performing instruction emulation (Vitaly Kuznetsov) [1813987] - [x86] kvm: fix error handling in svm_hardware_setup (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Fix potential memory leak in svm_cpu_init() (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: avoid calculating pending eoi from an uninitialized val (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: clear PIN_BASED_POSTED_INTR from nested pinbased_ctls only when apicv is globally disabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: handle nested posted interrupts when apicv is disabled for L1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: svm: Fix NULL pointer dereference when AVIC not enabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Hold KVM's srcu lock when syncing vmcs12->shadow (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: don't notify userspace IOAPIC on edge-triggered interrupt EOI (Vitaly Kuznetsov) [1813987] - [x86] kvm/emulate: fix a -Werror=cast-function-type (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix incorrect comparison in trace event (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Fix some obsolete comments and grammar error (Vitaly Kuznetsov) [1813987] - [kernel] kvm: x86: fix missing prototypes (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: enable -Werror (Vitaly Kuznetsov) [1813987] - [documentation] docs: virt: guest-halt-polling.txt convert to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: review-checklist.txt: rename to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert timekeeping.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert s390-diag.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert ppc-pv.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert nested-vmx.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert mmu.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert locking.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert hypercalls.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: arm/psci.txt: convert to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert arm/hyp-abi.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert api.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/xive.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/xics.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/vm.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/vfio.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/vcpu.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/s390_flic.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/mpic.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/arm-vgit.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: devices/arm-vgit-v3.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: devices/arm-vgic-its.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: virt: Convert msr.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: virt: convert halt-polling.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: add arm/pvtime.rst to index.rst (Vitaly Kuznetsov) [1813987] - [documentation] docs: virtual: add it to the documentation body (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix WARN_ON check of an unsigned less than zero (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Remove unused x86_register enum (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Fix struct guest_walker arrays for 5-level paging (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Use correct root level for nested EPT shadow page tables (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Fix some comment typos and coding style (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Avoid retpoline on ->page_fault() with TDP (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: reuse smp_wmb() in kvm_make_request() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: remove duplicated KVM_REQ_EVENT request (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: svm: Add vmcall test (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: AMD Nested test infrastructure (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Replace get_{gdt, idt}_base() by get_{gdt, idt}() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Deliver exception payload on KVM_GET_VCPU_EVENTS (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Handle pending #DB when injecting INIT VM-exit (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Mask off reserved bit from #DB exception payload (Vitaly Kuznetsov) [1813987] - [virt] kvm: Disable preemption in kvm_get_running_vcpu() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: delete meaningless vmx_decache_cr0_guest_bits() declaration (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Mark CR4.UMIP as reserved based on associated CPUID bit (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix perfctr WRMSR for running counters (Vitaly Kuznetsov) [1813987] - [x86] kvm: mmu: Separate generating and setting mmio ptes (Vitaly Kuznetsov) [1813987] - [x86] kvm: mmu: Replace unsigned with unsigned int for PTE access (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Remove stale comment from nested_vmx_load_cr3() (Vitaly Kuznetsov) [1813987] - [x86] kvm: do not setup pv tlb flush when not paravirtualized (Vitaly Kuznetsov) [1813987] - [x86] Add "nopv" parameter to disable PV extensions (Vitaly Kuznetsov) [1813987] - [virt] kvm: fix overflow of zero page refcount with ksm running (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Take a u64 when checking for a valid dr7 value (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: use raw clock values consistently (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: reorganize pvclock_gtod_data members (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: delete meaningless nested_vmx_run() declaration (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: allow AVIC without split irqchip (Vitaly Kuznetsov) [1813987] - [x86] kvm: ioapic: Lazy update IOAPIC EOI (Vitaly Kuznetsov) [1813987] - [x86] kvm: ioapic: Refactor kvm_ioapic_update_eoi() (Vitaly Kuznetsov) [1813987] - [x86] kvm: i8254: Deactivate APICv when using in-kernel PIT re-injection mode (Vitaly Kuznetsov) [1813987] - [x86] svm: Temporarily deactivate AVIC during ExtINT handling (Vitaly Kuznetsov) [1813987] - [x86] svm: Deactivate AVIC when launching guest with nested SVM support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: hyperv: Use APICv update request interface (Vitaly Kuznetsov) [1813987] - [x86] svm: Add support for dynamic APICv (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce x86 ops hook for pre-update APICv (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce APICv x86 ops for checking APIC inhibit reasons (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: avic: Add support for dynamic setup/teardown of virtual APIC backing page (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: svm: Add support to (de)activate posted interrupts (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add APICv (de)activate request trace points (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add support for dynamic APICv activation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: remove get_enable_apicv from kvm_x86_ops (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce APICv inhibit reason bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: lapic: Introduce APICv update helper function (Vitaly Kuznetsov) [1813987] - [iommu] amd: Re-factor guest virtual APIC (de-)activation code (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Add fpu and one reg set/get library functions (Vitaly Kuznetsov) [1813987] - [x86] kvm: Clean up host's steal time structure (Vitaly Kuznetsov) [1813987] - [x86] kvm: Make sure KVM_VCPU_FLUSH_TLB flag is not missed (Vitaly Kuznetsov) [1813987] - [virt] x86/kvm: Cache gfn to pfn translation (Vitaly Kuznetsov) [1813987] - [virt] x86/kvm: Introduce kvm_(un)map_gfn() (Vitaly Kuznetsov) [1813987] - [x86] kvm: Be careful not to clear KVM_VCPU_FLUSH_TLB bit (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use a typedef for fastop functions (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add 'else' to unify fastop and execute call path (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: inline memslot_valid_for_gpte (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Use huge pages for DAX-backed files (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Remove lpage_is_disallowed() check from set_spte() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Fold max_mapping_level() into kvm_mmu_hugepage_adjust() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Zap any compound page when collapsing sptes (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Remove obsolete gfn restoration in FNAME(fetch) (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Rely on host page tables to find HugeTLB mappings (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Drop level optimization from fast_page_fault() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Walk host page tables to find THP mappings (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Refactor THP adjust to prep for changing query (Vitaly Kuznetsov) [1813987] - [x86] mm: Introduce lookup_address_in_mm() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Play nice with read-only memslots when querying host page size (Vitaly Kuznetsov) [1813987] - [x86] kvm: Use vcpu-specific gva->hva translation when querying host page size (Vitaly Kuznetsov) [1813987] - [mm] thp: kvm: Explicitly check for THP when populating secondary MMU (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Enforce max_level on HugeTLB mappings (Vitaly Kuznetsov) [1813987] - [virt] kvm: Return immediately if __kvm_gfn_to_hva_cache_init() fails (Vitaly Kuznetsov) [1813987] - [virt] kvm: Clean up __kvm_gfn_to_hva_cache_init() and its callers (Vitaly Kuznetsov) [1813987] - [virt] kvm: Check for a bad hva before dropping into the ghc slow path (Vitaly Kuznetsov) [1813987] - [x86] kvm/x86: export kvm_vector_hashing_enabled() is unnecessary (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: remove duplicated segment cache clear (Vitaly Kuznetsov) [1813987] - [x86] Adding 'else' to reduce checking (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Check GUEST_DR7 on vmentry of nested guests (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move running VCPU from ARM to common code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop x86_set_memory_region() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Don't take srcu lock in init_rmode_identity_map() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Add build-time error check on kvm_run size (Vitaly Kuznetsov) [1813987] - [virt] kvm: Remove kvm_read_guest_atomic() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Perform non-canonical checks in 32-bit KVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: WARN on failure to set IA32_PERF_GLOBAL_CTRL (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove unused ctxt param from emulator's FPU accessors (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: revert "kvm: x86: Fix fpu state crash in kvm guest" (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Ensure guest's FPU state is loaded when accessing for emulation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle TIF_NEED_FPU_LOAD in kvm_{load, put}_guest_fpu() (Vitaly Kuznetsov) [1813987] - [x86] revert "kvm: x86: Add a WARN on TIF_NEED_FPU_LOAD in kvm_load_guest_fpu()" (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: short-circuit kvm_apic_accept_pic_intr() when pic intr is accepted (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: avoid clearing pending exception event twice (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect pmu_intel.c from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect DR-based index computations from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect exit_reason from being used in Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor prefix decoding to prevent Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect MSR-based index computations from Spectre-v1/L1TF attacks in x86.c (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect MSR-based index computations in pmu.h from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect MSR-based index computations in fixed_msr_to_seg_unit() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect kvm_lapic_reg_write() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect ioapic_write_indirect() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect ioapic_read_indirect() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor picdev_write() to prevent Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect kvm_hv_msr_[get|set]_crash_data() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect x86_decode_insn from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move vcpu->run page allocation out of kvm_vcpu_init() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move putting of vcpu->pid to kvm_vcpu_destroy() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop kvm_arch_vcpu_init() and kvm_arch_vcpu_uninit() (Vitaly Kuznetsov) [1813987] - [arm64] kvm: arm64: Free sve_state via arm specific hook (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Move all vcpu init code into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [virt] kvm: arm: Move all vcpu init code into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move all vcpu init code into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop kvm_arch_vcpu_setup() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: booke: Setup vcpu during kvmppc_core_vcpu_create() (Vitaly Kuznetsov) [1813987] - [s390] kvm: s390: Manually invoke vcpu setup during kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move guts of kvm_arch_vcpu_setup() into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move initialization of preempt notifier to kvm_vcpu_init() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Unexport kvm_vcpu_cache and kvm_vcpu_{un}init() (Vitaly Kuznetsov) [1813987] - [s390] kvm: Move vcpu alloc and init invocation to common code (Vitaly Kuznetsov) [1813987] - [virt] kvm: Introduce kvm_vcpu_destroy() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Invoke kvm_vcpu_uninit() immediately prior to freeing vcpu (Vitaly Kuznetsov) [1813987] - [s390] kvm: s390: Invoke kvm_vcpu_init() before allocating sie_page (Vitaly Kuznetsov) [1813987] - [s390] kvm: s390: Move guts of kvm_arch_vcpu_init() into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Add kvm_arch_vcpu_precreate() to handle pre-allocation issues (Vitaly Kuznetsov) [1813987] - [kernel] kvm: Remove kvm_arch_vcpu_free() declaration (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop kvm_arch_vcpu_free() (Vitaly Kuznetsov) [1813987] - [virt] kvm: arm: Drop kvm_arch_vcpu_free() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Drop kvm_arch_vcpu_free() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Move kvm_vcpu_init() invocation to common code (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: e500mc: Move reset of oldpir below call to kvm_vcpu_init() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: book3s pr: Allocate book3s and shadow vcpu after common init (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Allocate vcpu struct in common PPC code (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: e500mc: Add build-time assert that vcpu is at offset 0 (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: book3s pr: Free shared page if mmu initialization fails (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: book3s hv: Uninit vCPU if vcore creation fails (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove spurious clearing of async #PF MSR (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove spurious kvm_mmu_unload() from vcpu destruction path (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move kvm_vcpu_init() invocation to common code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move allocation of pio_data page down a few lines (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move FPU allocation to common x86 code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Allocate vcpu struct in common x86 code (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Use direct vcpu pointer during vCPU create/free (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Use direct vcpu pointer during vCPU create/free (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Allocate VPID after initializing VCPU (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Free wbinvd_dirty_mask if vCPU creation fails (Vitaly Kuznetsov) [1813987] - [virt] kvm: async_pf: drop kvm_arch_async_page_present wrappers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix overlap between SPTE_MMIO_MASK and generation (Vitaly Kuznetsov) [1813987] - [virt] kvm: Refactor handling of VM debugfs files (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Apply max PA check for MMIO sptes to 32-bit KVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: vmread should not set rflags to specify success in case of #PF (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Micro-optimize nEPT's bad memptype/XWR checks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Reorder the reserved bit check in prefetch_invalid_gpte() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: delete meaningless nested_vmx_prepare_msr_bitmap() declaration (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor and rename bit() to feature_bit() macro (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Expand build-time assertion on reverse CPUID usage (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add CPUID_7_1_EAX to the reverse CPUID table (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move bit() helper to cpuid.h (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add dedicated emulator helpers for querying CPUID features (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add macro to ensure reserved cr4 bits checks stay in sync (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop special XSAVE handling from guest_cpuid_has() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Ensure all logical CPUs have consistent reserved cr4 bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Don't let userspace set host-reserved cr4 bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add helper to consolidate up PT/RTIT WRMSR fault logic (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add non-canonical check on writes to RTIT address MSRs (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix some writing mistakes (Vitaly Kuznetsov) [1813987] - [x86] kvm: hyperv: Fix some typos in vcpu unimpl info (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix some grammar mistakes (Vitaly Kuznetsov) [1813987] - [x86] kvm: Fix some comment typos and missing parentheses (Vitaly Kuznetsov) [1813987] - [x86] kvm: Fix some out-dated function names in comment (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix some wrong function names in comment (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: check kvm_pit outside kvm_vm_ioctl_reinject() (Vitaly Kuznetsov) [1813987] - [x86] kvm: lapic: micro-optimize fixed mode ipi delivery (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: FIXED+PHYSICAL mode single target IPI fastpath (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Allow KVM_INTEL when building for Centaur and/or Zhaoxin CPUs (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Check for full VMX support when verifying CPU compatibility (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Use VMX feature flag to query BIOS enabling (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Drop initialization of IA32_FEAT_CTL MSR (Vitaly Kuznetsov) [1813987] - [x86] cpufeatures: Add flag to track whether MSR IA32_FEAT_CTL is configured (Vitaly Kuznetsov) [1813987] - [x86] cpu: Set synthetic VMX cpufeatures during init_ia32_feat_ctl() (Vitaly Kuznetsov) [1813987] - [x86] cpufeatures: Add EPT_AD feature bit (Vitaly Kuznetsov) [1813987] - [x86] cpu: Detect VMX features on Intel, Centaur and Zhaoxin CPUs (Vitaly Kuznetsov) [1813987] - [x86] vmx: Introduce VMX_FEATURES_* (Vitaly Kuznetsov) [1813987] - [x86] cpu: Clear VMX feature flag if VMX is not fully enabled (Vitaly Kuznetsov) [1813987] - [x86] centaur: Use common IA32_FEAT_CTL MSR initialization (Vitaly Kuznetsov) [1813987] - [x86] mce: WARN once if IA32_FEAT_CTL MSR is left unlocked (Vitaly Kuznetsov) [1813987] - [x86] intel: Initialize IA32_FEAT_CTL MSR at boot (Vitaly Kuznetsov) [1813987] - [tools] x86: Sync msr-index.h from kernel sources (Vitaly Kuznetsov) [1813987] - [tools] selftests, kvm: Replace manual MSR defs with common msr-index.h (Vitaly Kuznetsov) [1813987] - [x86] msr-index: Clean up bit defines for IA32_FEATURE_CONTROL MSR (Vitaly Kuznetsov) [1813987] - [tools] tools arch x86: Grab a copy of the file containing the MSR numbers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: WARN if root_hpa is invalid when handling a page fault (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: WARN on an invalid root_hpa (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move root_hpa validity checks to top of page fault handler (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move calls to thp_adjust() down a level (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move transparent_hugepage_adjust() above __direct_map() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Consolidate tdp_page_fault() and nonpaging_page_fault() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Rename lpage_disallowed to account_disallowed_nx_lpage (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Persist gfn_lpage_is_disallowed() to max_level (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Incorporate guest's page level into max level for shadow MMU (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Refactor handling of forced 4k pages in page faults (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Refactor the per-slot level calculation in mapping_level() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Refactor handling of cache consistency with TDP (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move nonpaging_page_fault() below try_async_pf() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Fold nonpaging_map() into nonpaging_page_fault() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move definition of make_mmu_pages_available() up (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use gpa_t for cr2/gpa to fix TDP support on 32-bit KVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add a WARN on TIF_NEED_FPU_LOAD in kvm_load_guest_fpu() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix potential put_fpu() w/o load_fpu() on MPX platform (Vitaly Kuznetsov) [1813987] - [kernel] kvm: Remove duplicated declaration of kvm_vcpu_kick (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Aesthetic cleanup of handle_vmread and handle_vmwrite (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: VMWRITE checks unsupported field before read-only field (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: VMWRITE checks VMCS-link pointer before VMCS field (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Fix the spelling of CPU_BASED_USE_TSC_OFFSETTING (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename NMI_PENDING to NMI_WINDOW (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename INTERRUPT_PENDING to INTERRUPT_WINDOW (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix some comment typos (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Convert the last users of "shorthand = 0" to use macros (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix callers of kvm_apic_match_dest() to use correct macros (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop KVM_APIC_SHORT_MASK and KVM_APIC_DEST_MASK (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use APIC_DEST_* macros properly in kvm_lapic_irq.dest_mode (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move irrelevant declarations out of ioapic.h (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix kvm_bitmap_or_dest_vcpus() to use irq shorthand (Vitaly Kuznetsov) [1813987] - [x86] kvm: explicitly set rmap_head->val to 0 in pte_list_desc_remove_entry() (Vitaly Kuznetsov) [1813987] - [virt] kvm: get rid of var page in kvm_set_pfn_dirty() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: remove unreachable statement in vmx_get_msr_feature() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: use CPUID to locate host page table reserved bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Host feature SSBD doesn't imply guest feature AMD_SSBD (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Host feature SSBD doesn't imply guest feature SPEC_CTRL_SSBD (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Stop wasting a page for guest_msrs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix out-of-bounds write in KVM_GET_EMULATED_CPUID (CVE-2019-19332) (Vitaly Kuznetsov) [1813987] - [documentation] documentation: kvm: Fix mention to number of ioctls classes (Vitaly Kuznetsov) [1813987] - [x86] kvm x86: Move kvm cpuid support out of svm (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Relax guest IA32_FEATURE_CONTROL constraints (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Grab KVM's srcu lock when setting nested state (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Open code shared_msr_update() in its only caller (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix jump label out_free_* in kvm_init() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: create mmu/ subdirectory (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Remove unnecessary TLB flushes on L1<->L2 switches when L1 use apic-access-page (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Do not mark vmcs02->apic_access_page as dirty when unpinning (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Assume TLB entries of L1 and L2 are tagged differently if L0 use EPT (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Unexport kvm_vcpu_reload_apic_access_page() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: add CR4_LA57 bit to nested CR4_FIXED1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Use semi-colon instead of comma for exit-handlers initialization (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Add support for capturing highest observable L2 TSC (Vitaly Kuznetsov) [1813987] - [x86] tss: Fix and move VMX BUILD_BUG_ON() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename function find_msr() to vmx_find_msr_index() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename NR_AUTOLOAD_MSRS to NR_LOADSTORE_MSRS (Vitaly Kuznetsov) [1813987] - [x86] kvm: nested: Introduce read_and_check_msr_entry() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Expose load IA32_PERF_GLOBAL_CTRL VM-{Entry, Exit} control (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Load GUEST_IA32_PERF_GLOBAL_CTRL MSR on VM-Entry (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: mark functions in the header as "static inline" (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Use kvm_set_msr to load IA32_PERF_GLOBAL_CTRL on VM-Exit (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Check HOST_IA32_PERF_GLOBAL_CTRL on VM-Entry (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Check GUEST_IA32_PERF_GLOBAL_CTRL on VM-Entry (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add helper to check reserved bits in IA32_PERF_GLOBAL_CTRL (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Simplify loop in kvm_create_max_vcpus test (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: optimization: Requst TLB flush in fast_cr3_switch() instead of do it directly (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Add lazy mechanism to release perf_event per vPMC (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Reuse perf_event to avoid unnecessary pmc_reprogram_counter (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Introduce a new kvm_pmu_ops->msr_idx_to_pmc callback (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Rename pmu_ops callbacks from msr_idx to rdpmc_ecx (Vitaly Kuznetsov) [1813987] - [kernel] perf/core: Provide a kernel-internal interface to pause perf_event (Vitaly Kuznetsov) [1813987] - [kernel] perf/core: Provide a kernel-internal interface to recalibrate event period (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Update vmcs01 TPR_THRESHOLD if L2 changed L1 TPR (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Refactor update_cr8_intercept() (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Remove check if APICv enabled in SVM update_cr8_intercept() handler (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: add helper func to remove duplicate code in kvm_pv_send_ipi (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: avoid unused setup_syscalls_segments call when SYSCALL check failed (Vitaly Kuznetsov) [1813987] - [virt] kvm: mmio: get rid of odd out_err label in kvm_coalesced_mmio_init (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Consume pending LAPIC INIT event when exit on INIT_SIGNAL (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Prevent set vCPU into INIT/SIPI_RECEIVED state when INIT are latched (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Evaluate latched_init in KVM_SET_VCPU_EVENTS when vCPU not in SMM (Vitaly Kuznetsov) [1813987] - [x86] kvm: retpolines: x86: eliminate retpoline from svm.c exit handlers (Vitaly Kuznetsov) [1813987] - [x86] kvm: retpolines: x86: eliminate retpoline from vmx.c exit handlers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: optimize more exit handlers in vmx.c (Vitaly Kuznetsov) [1813987] - [virt] kvm: Add a comment describing the /dev/kvm no_compat handling (Vitaly Kuznetsov) [1813987] - [virt] kvm: Forbid /dev/kvm being opened by a compat task when CONFIG_KVM_COMPAT=n (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Reset the three MSR list number variables to 0 in kvm_init_msr_list() (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: fix build with glibc >= 2.30 (Vitaly Kuznetsov) [1813987] - [virt] kvm: mmu: Do not treat ZONE_DEVICE pages as being reserved (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Introduce pi_is_pir_empty() helper (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Do not change PID.NDST when loading a blocked vCPU (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Consider PID.PIR to determine if vCPU has pending interrupts (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Fix comment to specify PID.ON instead of PIR.ON (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix initialization of MSR lists (Vitaly Kuznetsov) [1813987] - [virt] kvm: fix placement of refcount initialization (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix NULL-ptr deref after kvm_create_vm fails (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: get rid of odd out jump label in pdptrs_changed (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: switch KVMCLOCK base to monotonic raw clock (Vitaly Kuznetsov) [1813987] - [virt] kvm: call kvm_arch_destroy_vm if vm creation fails (Vitaly Kuznetsov) [1813987] - [x86] kvm/pmu: Replace rcu_swap_protected() with rcu_replace_pointer() (Vitaly Kuznetsov) [1813987] - [kernel] rcu: Upgrade rcu_swap_protected() to rcu_replace_pointer() (Vitaly Kuznetsov) [1813987] - [x86] kvm: Fix -Wmissing-prototypes warnings (Vitaly Kuznetsov) [1813987] - [virt] kvm: Allocate memslots and buses before calling kvm_arch_init_vm (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Don't leak L1 MMIO regions to L2 (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Fix potential wrong physical id in avic_handle_ldr_update (Vitaly Kuznetsov) [1813987] - [virt] kvm: Add separate helper for putting borrowed reference to kvm (Vitaly Kuznetsov) [1813987] - [tools] kvm: tests: Add test to verify MSR_IA32_XSS (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Update svm_xsaves_supported (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move IA32_XSS to kvm_{get, set}_msr_common (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move IA32_XSS-swapping on VM-entry/VM-exit to common x86 code (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Use wrmsr for switching between guest and host IA32_XSS on Intel (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Use wrmsr for switching between guest and host IA32_XSS on AMD (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove unneeded kvm_vcpu variable, guest_xcr0_loaded (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Fix conditions for guest IA32_XSS support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce vcpu->arch.xsaves_enabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename {vmx, nested_vmx}_vcpu_setup() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Initialize vmx->guest_msrs[] right after allocation (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Remove vmx->hv_deadline_tsc initialization from vmx_vcpu_setup() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Write VPID to vmcs when creating vcpu (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Declare kvm_pmu->reprogram_pmi field using DECLARE_BITMAP (Vitaly Kuznetsov) [1813987] - [x86] kvm: remove redundant code in kvm_arch_vm_ioctl (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Modify kvm_x86_ops.get_enable_apicv() to use struct kvm parameter (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fold decache_cr3() into cache_reg() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add helpers to test/mark reg availability and dirtiness (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fold 'enum kvm_ex_reg' definitions into 'enum kvm_reg' (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add WARNs to detect out-of-bounds register indices (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Optimize vmx_set_rflags() for unrestricted guest (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Consolidate to_vmx() usage in RFLAGS accessors (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Skip GUEST_CR3 VMREAD+VMWRITE if the VMCS is up-to-date (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Always write vmcs02.GUEST_CR3 during nested VM-Enter (Vitaly Kuznetsov) [1813987] - [x86] kvm: clear kvmclock MSR on reset (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix bugon.cocci warnings (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Remove specialized handling of unexpected exit-reasons (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: fix sync_regs_test with newer gccs (Vitaly Kuznetsov) [1813987] - [virt] kvm: Don't shrink/grow vCPU halt_poll_ns if host side polling is disabled (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: synchronize .gitignore to Makefile (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Expose RDPID in KVM_GET_SUPPORTED_CPUID (Vitaly Kuznetsov) [1813987] - [virt] kvm: Allow kvm_device_ops to be const (Vitaly Kuznetsov) [1813987] - [kernel] kvm: Implement kvm_put_guest() (Vitaly Kuznetsov) [1813987] - [x86] xen: kvm: Gather the definition of emulate prefixes (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: do not blindly clobber registers in guest asm (Vitaly Kuznetsov) [1813987]- [fs] cifs: handle prefix paths in reconnect (Leif Sahlberg) [1814203] - [fs] cifs: use compounding for open and first query-dir for readdir() (Leif Sahlberg) [1814203] - [fs] cifs: create a helper function to parse the query-directory response buffer (Leif Sahlberg) [1814203] - [fs] cifs: prepare SMB2_query_directory to be used with compounding (Leif Sahlberg) [1814203] - [fs] xfs: reflink should force the log out if mounted with wsync (Bill O'Donnell) [1825373] - [fs] xfs: factor out a new xfs_log_force_inode helper (Bill O'Donnell) [1825373] - [fs] xfs: don't ever return a stale pointer from __xfs_dir3_free_read (Bill O'Donnell) [1825373] - [fs] xfs: fix xfs_rmap_has_other_keys usage of ECANCELED (Bill O'Donnell) [1825373] - [fs] xfs: clear kernel only flags in XFS_IOC_ATTRMULTI_BY_HANDLE (Bill O'Donnell) [1825373] - [fs] xfs: use bitops interface for buf log item AIL flag check (Bill O'Donnell) [1825373] - [fs] xfs: Sanity check flags of Q_XQUOTARM call (Bill O'Donnell) [1825373] - [fs] iomap: iomap that extends beyond EOF should be marked dirty (Bill O'Donnell) [1825373] - [s390] s390/kasan: Fix crash when attaching PCI device (Philipp Rudo) [1827334] - [s390] s390/qeth: fix initialization on old HW (Philipp Rudo) [1780667] - [s390] s390/qeth: vnicc Fix init to default (Philipp Rudo) [1780667] - [s390] s390/qeth: Fix vnicc_is_in_use if rx_bcast not set (Philipp Rudo) [1780667] - [s390] s390/qeth: fix false reporting of VNIC CHAR config failure (Philipp Rudo) [1780667] - [s390] s390/qeth: lock the card while changing its hsuid (Philipp Rudo) [1780667] - [s390] s390/qeth: fix qdio teardown after early init error (Philipp Rudo) [1780667] - [s390] s390/qeth: don't return -ENOTSUPP to userspace (Philipp Rudo) [1780667] - [s390] s390/qeth: fix promiscuous mode after reset (Philipp Rudo) [1780667] - [s390] s390/qeth: handle error due to unsupported transport mode (Philipp Rudo) [1780667] - [s390] s390/qeth: return proper errno on IO error (Philipp Rudo) [1780667] - [s390] s390/qeth: don't check drvdata in sysfs code (Philipp Rudo) [1780667] - [s390] s390/qeth: replace qeth_l3_get_addr_buffer() (Philipp Rudo) [1780667] - [s390] s390/qeth: remove VLAN tracking for L3 devices (Philipp Rudo) [1780667] - [net] net: 8021q: vlan_core: allow use list of vlans for real device (Philipp Rudo) [1780667] - [s390] s390/qeth: consolidate L3 mcast registration code (Philipp Rudo) [1780667] - [s390] s390/qeth: remove gratuitious RX modeset (Philipp Rudo) [1780667] - [s390] s390/qeth: fine-tune L3 mcast locking (Philipp Rudo) [1780667] - [s390] s390/qeth: clean up error path in qeth_core_probe_device() (Philipp Rudo) [1780667] - [s390] s390/qeth: don't cache MAC addresses for multicast IPs (Philipp Rudo) [1780667] - [s390] s390/qeth: use helpers for IP address hashing (Philipp Rudo) [1780667] - [s390] s390/qeth: don't set card state in qeth_qdio_clear_card() (Philipp Rudo) [1780667] - [s390] s390/qeth: consolidate some duplicated HW cmd code (Philipp Rudo) [1780667] - [s390] s390/qeth: keep IRQ disabled until NAPI is really done (Philipp Rudo) [1780667] - [s390] s390/qeth: use QDIO_BUFNR() (Philipp Rudo) [1780667] - [s390] s390/qdio: move SSQD Sniffer mask definition (Philipp Rudo) [1780667] - [s390] s390/qdio: don't attempt IRQ avoidance on Output SBALs (Philipp Rudo) [1780667] - [s390] s390/qdio: simplify thinint device registration (Philipp Rudo) [1780667] - [s390] s390/qdio: add statistics helper macro (Philipp Rudo) [1780667] - [s390] s390/qdio: remove a forward declaration (Philipp Rudo) [1780667] - [s390] s390/qdio: reduce log level for EQBS partial (Philipp Rudo) [1780667] - [s390] s390/qdio: use QDIO_BUFNR() (Philipp Rudo) [1780667] - [s390] s390/qeth: Fix initialization of vnicc cmd masks during set online (Philipp Rudo) [1780667] - [s390] s390/qeth: Fix error handling during VNICC initialization (Philipp Rudo) [1780667] - [s390] s390/qdio: clarify size of the QIB parm area (Philipp Rudo) [1780667] - [s390] s390/qeth: get vnicc sub-cmd type from reply data (Philipp Rudo) [1780667] - [s390] s390/qeth: merge qeth_reply struct into qeth_cmd_buffer (Philipp Rudo) [1780667] - [s390] s390/qeth: keep cmd alive after IO completion (Philipp Rudo) [1780667] - [s390] s390/qeth: use correct length field in SNMP cmd callback (Philipp Rudo) [1780667] - [s390] s390/qeth: propagate length of processed cmd IO data to callback (Philipp Rudo) [1780667] - [s390] s390/qeth: use node_descriptor struct (Philipp Rudo) [1780667] - [s390] s390/cio: move struct node_descriptor to cio.h (Philipp Rudo) [1780667] - [s390] scsi: zfcp: log FC Endpoint Security errors (Philipp Rudo) [1723820] - [s390] scsi: zfcp: enhance handling of FC Endpoint Security errors (Philipp Rudo) [1723820] - [lib] lib/zlib: add zlib_deflate_dfltcc_enabled() function (Philipp Rudo) [1659435] - [lib] s390/boot: add dfltcc= kernel command line parameter (Philipp Rudo) [1659435] - [lib] lib/zlib: add s390 hardware support for kernel zlib_inflate (Philipp Rudo) [1659435] - [s390] s390/boot: rename HEAP_SIZE due to name collision (Philipp Rudo) [1659435] - [lib] lib/zlib: add s390 hardware support for kernel zlib_deflate (Philipp Rudo) [1659435] - [base] mm/memory_hotplug: allow to specify a default online_type (David Hildenbrand) [1038941] - [base] mm/memory_hotplug: convert memhp_auto_online to store an online_type (David Hildenbrand) [1038941] - [mm] mm/memory_hotplug: unexport memhp_auto_online (David Hildenbrand) [1038941] - [hv] hv_balloon: don't check for memhp_auto_online manually (David Hildenbrand) [1038941] - [powerpc] powernv/memtrace: always online added memory blocks (David Hildenbrand) [1038941] - [base] drivers/base/memory: store mapping between MMOP_* and string in an array (David Hildenbrand) [1038941] - [base] drivers/base/memory: map MMOP_OFFLINE to 0 (David Hildenbrand) [1038941] - [base] drivers/base/memory: rename MMOP_ONLINE_KEEP to MMOP_ONLINE (David Hildenbrand) [1038941] - [netdrv] cxgb4: fix adapter crash due to wrong MC size (Vishal Kulkarni) [1813128] - [scsi] scsi: ibmvfc: Don't send implicit logouts prior to NPIV login (Steve Best) [1828725] - [fs] cifs: ignore cached share root handle closing errors (Leif Sahlberg) [1827485] - [fs] cifs: Optimize readdir on reparse points (Leif Sahlberg) [1827485] - [fs] cifs: Adjust indentation in smb2_open_file (Leif Sahlberg) [1827485] - [fs] CIFS: Close cached root handle only if it has a lease (Leif Sahlberg) [1827485] - [fs] SMB3: Fix crash in SMB2_open_init due to uninitialized field in compounding path (Leif Sahlberg) [1827485] - [fs] smb3: fix refcount underflow warning on unmount when no directory leases (Leif Sahlberg) [1827485] - [fs] fs: cifs: Delete usage of timespec64_trunc (Leif Sahlberg) [1827485] - [fs] smb3: improve check for when we send the security descriptor context on create (Leif Sahlberg) [1827485] - [fs] smb3: fix mode passed in on create for modetosid mount option (Leif Sahlberg) [1827485] - [fs] cifs: fix possible uninitialized access and race on iface_list (Leif Sahlberg) [1827485] - [fs] cifs: Fix lookup of SMB connections on multichannel (Leif Sahlberg) [1827485] - [fs] smb3: query attributes on file close (Leif Sahlberg) [1827485] - [fs] smb3: remove unused flag passed into close functions (Leif Sahlberg) [1827485] - [fs] cifs: remove redundant assignment to pointer pneg_ctxt (Leif Sahlberg) [1827485] - [fs] fs: cifs: Fix atime update check vs mtime (Leif Sahlberg) [1827485] - [fs] CIFS: fix a white space issue in cifs_get_inode_info() (Leif Sahlberg) [1827485] - [fs] cifs: update internal module version number (Leif Sahlberg) [1827485] - [fs] cifs: Always update signing key of first channel (Leif Sahlberg) [1827485] - [fs] cifs: Fix retrieval of DFS referrals in cifs_mount() (Leif Sahlberg) [1827485] - [fs] cifs: Fix potential softlockups while refreshing DFS cache (Leif Sahlberg) [1827485] - [fs] cifs: Fix lookup of root ses in DFS referral cache (Leif Sahlberg) [1827485] - [fs] cifs: Fix use-after-free bug in cifs_reconnect() (Leif Sahlberg) [1827485] - [fs] cifs: dump channel info in DebugData (Leif Sahlberg) [1827485] - [fs] smb3: dump in_send and num_waiters stats counters by default (Leif Sahlberg) [1827485] - [fs] cifs: try harder to open new channels (Leif Sahlberg) [1827485] - [fs] CIFS: Properly process SMB3 lease breaks (Leif Sahlberg) [1827485] - [fs] cifs: move cifsFileInfo_put logic into a work-queue (Leif Sahlberg) [1827485] - [fs] cifs: try opening channels after mounting (Leif Sahlberg) [1827485] - [fs] CIFS: refactor cifs_get_inode_info() (Leif Sahlberg) [1827485] - [fs] cifs: switch servers depending on binding state (Leif Sahlberg) [1827485] - [fs] cifs: add server param (Leif Sahlberg) [1827485] - [fs] cifs: add multichannel mount options and data structs (Leif Sahlberg) [1827485] - [fs] cifs: sort interface list by speed (Leif Sahlberg) [1827485] - [fs] CIFS: Fix SMB2 oplock break processing (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Return -EAGAIN when transport is reconnecting (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Only queue work for error recovery on memory registration (Leif Sahlberg) [1827485] - [fs] smb3: add debug messages for closing unmatched open (Leif Sahlberg) [1827485] - [fs] CIFS: Respect O_SYNC and O_DIRECT flags during reconnect (Leif Sahlberg) [1827485] - [fs] smb3: remove confusing dmesg when mounting with encryption ("seal") (Leif Sahlberg) [1827485] - [fs] cifs: close the shared root handle on tree disconnect (Leif Sahlberg) [1827485] - [fs] CIFS: Return directly after a failed build_path_from_dentry() in cifs_do_create() (Leif Sahlberg) [1827485] - [fs] CIFS: Use common error handling code in smb2_ioctl_query_info() (Leif Sahlberg) [1827485] - [fs] CIFS: Use memdup_user() rather than duplicating its implementation (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Return -ECONNABORTED when trasnport is not in connected state (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Add messages on RDMA session destroy and reconnection (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Return -EINVAL when the number of iovs exceeds SMBDIRECT_MAX_SGE (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Invalidate and deregister memory registration on re-send for direct I/O (Leif Sahlberg) [1827485] - [fs] cifs: Don't display RDMA transport on reconnect (Leif Sahlberg) [1827485] - [fs] CIFS: remove set but not used variables 'cinode' and 'netfid' (Leif Sahlberg) [1827485] - [fs] cifs: add support for flock (Leif Sahlberg) [1827485] - [fs] cifs: remove unused variable 'sid_user' (Leif Sahlberg) [1827485] - [fs] cifs: rename a variable in SendReceive() (Leif Sahlberg) [1827485] - [fs] SMB3: Fix persistent handles reconnect (Leif Sahlberg) [1827485] - [fs] fix memory leak in large read decrypt offload (Leif Sahlberg) [1827485] - [fs] cifs: Fix missed free operations (Leif Sahlberg) [1827485] - [fs] cifs: clarify comment about timestamp granularity for old servers (Leif Sahlberg) [1827485] - [fs] cifs: Handle -EINPROGRESS only when noblockcnt is set (Leif Sahlberg) [1827485] - [fs] smb3: remove noisy debug message and minor cleanup (Leif Sahlberg) [1827485] - [fs] fs: cifs: mute -Wunused-const-variable message (Leif Sahlberg) [1827485] - [fs] smb3: cleanup some recent endian errors spotted by updated sparse (Leif Sahlberg) [1827485] - [fs] CIFS: Fix oplock handling for SMB 2.1+ protocols (Leif Sahlberg) [1827485] - [fs] smb3: missing ACL related flags (Leif Sahlberg) [1827485] - [fs] smb3: pass mode bits into create calls (Leif Sahlberg) [1827485] - [fs] smb3: Add missing reparse tags (Leif Sahlberg) [1827485] - [fs] CIFS: fix max ea value size (Leif Sahlberg) [1827485] - [fs] fs/cifs/sess.c: Remove set but not used variable 'capabilities' (Leif Sahlberg) [1827485] - [fs] fs/cifs/smb2pdu.c: Make SMB2_notify_init static (Leif Sahlberg) [1827485] - [fs] smb3: fix leak in "open on server" perf counter (Leif Sahlberg) [1827485] - [fs] smb3: allow decryption keys to be dumped by admin for debugging (Leif Sahlberg) [1827485] - [fs] cifs: update internal module version number (Leif Sahlberg) [1827485] - [fs] cifs: modefromsid: write mode ACE first (Leif Sahlberg) [1827485] - [fs] cifs: cifsroot: add more err checking (Leif Sahlberg) [1827485] - [fs] smb3: add missing worker function for SMB3 change notify (Leif Sahlberg) [1827485] - [fs] cifs: Add support for root file systems (Leif Sahlberg) [1827485] - [fs] cifs: modefromsid: make room for 4 ACE (Leif Sahlberg) [1827485] - [fs] smb3: fix potential null dereference in decrypt offload (Leif Sahlberg) [1827485] - [fs] smb3: allow disabling requesting leases (Leif Sahlberg) [1827485] - [fs] smb3: improve handling of share deleted (and share recreated) (Leif Sahlberg) [1827485] - [fs] smb3: display max smb3 requests in flight at any one time (Leif Sahlberg) [1827485] - [fs] smb3: only offload decryption of read responses if multiple requests (Leif Sahlberg) [1827485] - [fs] cifs: add a helper to find an existing readable handle to a file (Leif Sahlberg) [1827485] - [fs] smb3: enable offload of decryption of large reads via mount option (Leif Sahlberg) [1827485] - [fs] smb3: allow parallelizing decryption of reads (Leif Sahlberg) [1827485] - [fs] smb3: allow skipping signature verification for perf sensitive configurations (Leif Sahlberg) [1827485] - [fs] smb3: add dynamic tracepoints for flush and close (Leif Sahlberg) [1827485] - [fs] smb3: log warning if CSC policy conflicts with cache mount option (Leif Sahlberg) [1827485] - [fs] smb3: add mount option to allow RW caching of share accessed by only 1 client (Leif Sahlberg) [1827485] - [fs] smb3: add some more descriptive messages about share when mounting cache=ro (Leif Sahlberg) [1827485] - [fs] smb3: add mount option to allow forced caching of read only share (Leif Sahlberg) [1827485] - [fs] cifs: fix dereference on ses before it is null checked (Leif Sahlberg) [1827485] - [fs] cifs: use existing handle for compound_op(OP_SET_INFO) when possible (Leif Sahlberg) [1827485] - [fs] cifs: create a helper to find a writeable handle by path name (Leif Sahlberg) [1827485] - [fs] cifs: remove set but not used variables (Leif Sahlberg) [1827485] - [fs] smb3: Incorrect size for netname negotiate context (Leif Sahlberg) [1827485] - [fs] cifs: remove unused variable (Leif Sahlberg) [1827485] - [fs] cifs: remove redundant assignment to variable rc (Leif Sahlberg) [1827485] - [fs] smb3: add missing flag definitions (Leif Sahlberg) [1827485] - [fs] cifs: add passthrough for smb2 setinfo (Leif Sahlberg) [1827485] - [fs] cifs: prepare SMB2_Flush to be usable in compounds (Leif Sahlberg) [1827485] - [fs] cifs: allow chmod to set mode bits using special sid (Leif Sahlberg) [1827485] - [fs] cifs: get mode bits from special sid on stat (Leif Sahlberg) [1827485] - [fs] fs: cifs: cifsssmb: remove redundant assignment to variable ret (Leif Sahlberg) [1827485] - [fs] cifs: fix a comment for the timeouts when sending echos (Leif Sahlberg) [1827485] - [fs] fs: cifs: switch to RC4 library interface (Leif Sahlberg) [1827485] - [fs] smb3: smbdirect no longer experimental (Leif Sahlberg) [1827485] - [fs] cifs: copy_file_range needs to strip setuid bits and update timestamps (Leif Sahlberg) [1827485] - [tools] perf vendor events s390: Add new deflate counters for IBM z15 (Philipp Rudo) [1827333] - [s390] s390/cpum_cf: Add new extended counters for IBM z15 (Philipp Rudo) [1827333] - [s390] s390/zcrypt: use kvmalloc instead of kmalloc for 256k alloc (Philipp Rudo) [1827310] - [s390] s390/pkey/zcrypt: Support EP11 AES secure keys (Philipp Rudo) [1723826] - [s390] s390/zcrypt: extend EP11 card and queue sysfs attributes (Philipp Rudo) [1723826] - [s390] s390/zcrypt: add new low level ep11 functions support file (Philipp Rudo) [1723826] - [s390] s390/zcrypt: ep11 structs rework, export zcrypt_send_ep11_cprb (Philipp Rudo) [1723826] - [s390] s390/zcrypt: enable card/domain autoselect on ep11 cprbs (Philipp Rudo) [1723826] - [crypto] crypto/testmgr: enable selftests for paes-s390 ciphers (Philipp Rudo) [1780668] - [s390] s390/pkey: Add support for key blob with clear key value (Philipp Rudo) [1780668] - [s390] s390/crypto: enable clear key values for paes ciphers (Philipp Rudo) [1780668] - [s390] s390/crypto: Rework on paes implementation (Philipp Rudo) [1780668] - [s390] scsi: zfcp: trace FC Endpoint Security of FCP devices and connections (Philipp Rudo) [1723822] - [s390] scsi: zfcp: log FC Endpoint Security of connections (Philipp Rudo) [1723822] - [s390] scsi: zfcp: report FC Endpoint Security in sysfs (Philipp Rudo) [1723822] - [s390] scsi: zfcp: auto variables for dereferenced structs in open port handler (Philipp Rudo) [1723822] - [block] blk-iocost: Fix error on iocost_ioc_vrate_adj (Waiman Long) [1828563] - [s390] s390/ipl: add support to control memory clearing for FCP and CCW re-IPL (Philipp Rudo) [1812985] - [s390] s390: support KPROBES_ON_FTRACE (Philipp Rudo) [1810526] - [s390] s390/ftrace: generate traced function stack frame (Philipp Rudo) [1810526] - [s390] s390/ftrace: save traced function caller (Philipp Rudo) [1810526] - [misc] mei: me: fix irq number stored in hw struct (Tony Camuso) [1822645] - [misc] mei: me: add cedar fork device ids (Tony Camuso) [1822645] - [misc] mei: fix CNL itouch device number to match the spec (Tony Camuso) [1822645] - [misc] misc: Replace zero-length array with flexible-array member (Tony Camuso) [1822645] - [misc] mei: remove unused includes from pci-{me, txe}.c (Tony Camuso) [1822645] - [misc] mei: limit number of bytes in mei header (Tony Camuso) [1822645] - [misc] mei: bus: replace zero-length array with flexible-array member (Tony Camuso) [1822645] - [misc] mei: me: add jasper point DID (Tony Camuso) [1822645] - [misc] mei: hdcp: bind only with i915 on the same PCH (Tony Camuso) [1822645] - [misc] mei: bus: use simple sprintf for sysfs (Tony Camuso) [1822645] - [misc] mei: bus: add more client attributes to sysfs (Tony Camuso) [1822645] - [misc] mei: add trc detection register to sysfs (Tony Camuso) [1822645] - [misc] mei: abstract fw status register read (Tony Camuso) [1822645] - [misc] mei: me: store irq number in the hw struct (Tony Camuso) [1822645] - [misc] mei: me: mei_me_dev_init() use struct device instead of struct pci_dev (Tony Camuso) [1822645] - [misc] mei: me: add comet point V device id (Tony Camuso) [1822645] - [misc] mei: bus: prefix device names on bus with the bus name (Tony Camuso) [1822645] - [misc] mei: me: fix me_intr_clear function name in KDoc (Tony Camuso) [1822645] - [misc] mei: buf: drop 'running hook' debug messages (Tony Camuso) [1822645] - [misc] mei: avoid FW version request on Ibex Peak and earlier (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Fill transcoder index in port info (Tony Camuso) [1822645] - [misc] drm/i915: mei_hdcp: I915 sends ddi index as per ME FW (Tony Camuso) [1822645] - [drm] drm/i915: Attach content type property (Tony Camuso) [1822645] - [drm] drm: Add Content protection type property (Tony Camuso) [1822645] - [misc] mei: me: add Tiger Lake point LP device ID (Tony Camuso) [1822645] - [misc] mei: Use dev_get_drvdata where possible (Tony Camuso) [1822645] - [misc] mei: me: add mule creek canyon (EHL) device ids (Tony Camuso) [1822645] - [misc] mei: no need to check return value of debugfs_create functions (Tony Camuso) [1822645] - [documentation] mei: docs: add hdcp documentation (Tony Camuso) [1822645] - [documentation] mei: docs: add a short description for nfc behind mei (Tony Camuso) [1822645] - [documentation] mei: docs: update mei client bus documentation (Tony Camuso) [1822645] - [documentation] mei: docs: move iamt docs to a iamt.rst file (Tony Camuso) [1822645] - [documentation] mei: docs: move documentation under driver-api (Tony Camuso) [1822645] - [misc] mei: Convert to use DEFINE_SHOW_ATTRIBUTE macro (Tony Camuso) [1822645] - [drm] drm: generic fn converting be24 to cpu and vice versa (Tony Camuso) [1822645] - [misc] mei: expose device state in sysfs (Tony Camuso) [1822645] - [misc] mei: hdcp: use own Kconfig file (Tony Camuso) [1822645] - [misc] mei: adjust the copyright notice in the files (Tony Camuso) [1822645] - [misc] mei/hdcp: Fix SPDX identifiers (Tony Camuso) [1822645] - [misc] mei: convert to SPDX license tags (Tony Camuso) [1822645] - [misc] mei: add missing SPDX tag to mei Kconfig (Tony Camuso) [1822645] - [misc] mei: bus: move hw module get/put to probe/release (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Component framework for I915 Interface (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Closing wired HDCP2.2 Tx Session (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Enabling the HDCP authentication (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Verify M_prime (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Repeater topology verification and ack (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Prepare Session Key (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Verify L_prime (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Initiate Locality check (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Store the HDCP Pairing info (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Verify H_prime (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Verify Receiver Cert and prepare km (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Define ME FW interface for HDCP2.2 (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Client driver for HDCP application (Tony Camuso) [1822645] - [misc] mei: bus: whitelist hdcp client (Tony Camuso) [1822645] - [misc] mei: hbm: clean the feature flags on link reset (Tony Camuso) [1822645] - [misc] mei: bus: export to_mei_cl_device for mei client devices drivers (Tony Camuso) [1822645] - [misc] mei: free read cb on ctrl_wr list flush (Tony Camuso) [1822645] - [misc] mei: me: add ice lake point device id (Tony Camuso) [1822645] - [misc] mei: squash single_recv_buf into one bit in client properties (Tony Camuso) [1822645] - [misc] mei: me: add denverton innovation engine device IDs (Tony Camuso) [1822645] - [misc] mei: me: mark LBG devices as having dma support (Tony Camuso) [1822645] - [misc] mei: dma: silent the reject message (Tony Camuso) [1822645] - [misc] mei: me: mark CNP devices as having dma support (Tony Camuso) [1822645] - [misc] mei: bump hbm version to 2.1 (Tony Camuso) [1822645] - [misc] mei: dma ring: implement transmit flow (Tony Camuso) [1822645] - [misc] mei: dma ring: implement rx circular buffer logic (Tony Camuso) [1822645] - [misc] mei: hw: add dma ring control block (Tony Camuso) [1822645] - [misc] mei: hbm: setup dma ring (Tony Camuso) [1822645] - [misc] mei: dma ring buffers allocation (Tony Camuso) [1822645] - [misc] mei: expedite ioctl return on the notify set operation error (Tony Camuso) [1822645] - [misc] mei: flush queues by the host client only (Tony Camuso) [1822645] - [misc] mei: hbm: drop BUG() from the hbm handler (Tony Camuso) [1822645] - [misc] mei: replace POLL* with EPOLL* for write queues (Tony Camuso) [1822645] - [misc] misc: remove redundant include moduleparam.h (Tony Camuso) [1822645] - [misc] mei: bus: need to unlink client before freeing (Tony Camuso) [1822645] - [misc] mei: bus: fix hw module get/put balance (Tony Camuso) [1822645] - [misc] mei: fix use-after-free in mei_cl_write (Tony Camuso) [1822645] - [misc] mei: ignore not found client in the enumeration (Tony Camuso) [1822645] - [misc] mei: restrict dma ring support to hbm version 2.1 (Tony Camuso) [1822645] - [misc] mei: hbm: introduce dma bit in the message header (Tony Camuso) [1822645] - [misc] mei: add support for variable length mei headers (Tony Camuso) [1822645] - [misc] mei: add mei_msg_hdr_init wrapper (Tony Camuso) [1822645] - [misc] mei: move hbuf_depth from the mei device to the hw modules (Tony Camuso) [1822645] - [misc] mei: cleanup slots to data conversions (Tony Camuso) [1822645] - [misc] mei: bus: suppress sign-compare warnings (Tony Camuso) [1822645] - [misc] mei: fix ssize_t to int assignment in read and write ops (Tony Camuso) [1822645] - [misc] mei: use correct type for counter variable in for loops (Tony Camuso) [1822645] - [misc] mei: check for error returned from mei_hbuf_empty_slots() (Tony Camuso) [1822645] - [misc] mei: don't update offset in write (Tony Camuso) [1822645] - [misc] mei: bus: type promotion bug in mei_fwver() (Tony Camuso) [1822645] - [misc] mei: bus: type promotion bug in mei_nfc_if_version() (Tony Camuso) [1822645] - [misc] mei: expose fw version to sysfs (Tony Camuso) [1822645] - [misc] mei: add optional timeout to internal bus recv (Tony Camuso) [1822645] - [misc] mei: remove unused MEI_IAMTHIF_STALL_TIMER define (Tony Camuso) [1822645] - [s390] s390/pci: Fix unexpected write combine on resource (Philipp Rudo) [1827311] - [powerpc] pwerpc/vas: Include linux/types.h in uapi/asm/vas-api.h (Gustavo Duarte) [1725806] - [documentation] Documentation/powerpc: VAS API (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Remove 'pid' in vas_tx_win_attr struct (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Enable and setup GZIP compresstion type (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Make enable code generic to add new GZIP compression type (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Rename nx-842-powernv file name to nx-common-powernv (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Initialize coproc entry with kzalloc (Gustavo Duarte) [1725806] - [crypto] crypto: nx - Add of_node_put() before return in 842 (Gustavo Duarte) [1725806] - [crypto] crypto/NX: Set receive window credits to max number of CRBs in RxFIFO (Gustavo Duarte) [1725806] - [powerpc] crypto/nx: Initialize 842 high and normal RxFIFO control registers (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Add VAS user space API (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Define VAS_TX_WIN_OPEN ioctl API (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Initialize window attributes for GZIP coprocessor type (Gustavo Duarte) [1725806] - [powerpc] powerpc: Use mm_context vas_windows counter to issue CP_ABORT (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Free send window in VAS instance after credits returned (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Display process stuck message (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Do not use default credits for receive window (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Print CRB and FIFO values (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Return credits after handling fault (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Update CSB and notify process for fault CRBs (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Setup thread IRQ handler per VAS instance (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Take reference to PID and mm for user space windows (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Register NX with fault window ID and IRQ port value (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Setup fault window per VAS instance (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Alloc and setup IRQ and trigger port (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Define nx_fault_stamp in coprocessor_request_block (Gustavo Duarte) [1725806] - [powerpc] powerpc/xive: Define xive_native_alloc_irq_on_chip() (Gustavo Duarte) [1725806] - [powerpc] powerpc/powernv: remove the unused vas_win_paste_addr and vas_win_id functions (Gustavo Duarte) [1725806] - [tools] intel-speed-select: Fix speed-select-base-freq-properties output on CLX-N (Prarit Bhargava) [1828306] - [tools] tools/power/x86/intel-speed-select: Fix CLX-N package information output (Prarit Bhargava) [1828306] - [kernel] sched/isolation: Allow "isolcpus=" to skip unknown sub-parameters (Peter Xu) [1799014] - [arm64] arm64: tlb: skip tlbi broadcast, fix speculative tlb lookups (Andrea Arcangeli) [1820817] - [x86] pci: hv: Introduce hv_msi_entry (Mohammed Gamal) [1816740] - [pci] hv: Move retarget related structures into tlfs header (Mohammed Gamal) [1816740] - [pci] hv: Move hypercall related definitions into tlfs header (Mohammed Gamal) [1816740] - [pci] hv: Reorganize the code in preparation of hibernation (Mohammed Gamal) [1816740] - [pci] hv: Add a Hyper-V PCI interface driver for software backchannel interface (Mohammed Gamal) [1816740] - [pci] hv: Add a paravirtual backchannel in software (Mohammed Gamal) [1816740]- [include] i2c: fix a doc warning (David Arcari) [1826759] - [i2c] i2c: acpi: put device when verifying client fails (David Arcari) [1826759] - [i2c] i2c: i2c-core-of: convert to use i2c_new_client_device() (David Arcari) [1826759] - [i2c] i2c: i2c-core-base: convert to use i2c_new_client_device() (David Arcari) [1826759] - [i2c] i2c: i2c-core-acpi: convert to use i2c_new_client_device() (David Arcari) [1826759] - [i2c] i2c: fix bus recovery stop mode timing (David Arcari) [1826759] - [i2c] i2c: core: Use DEVICE_ATTR_*() helper macros (David Arcari) [1826759] - [include] i2c: remove unneeded 'extern' from function declatations (David Arcari) [1826759] - [include] i2c: add helper to check if a client has a driver attached (David Arcari) [1826759] - [include] i2c: fix header file kernel-doc warning (David Arcari) [1826759] - [misc] eeprom: at24: use devm_i2c_new_dummy_device() (David Arcari) [1826759] - [i2c] i2c: remove i2c_new_dummy() API (David Arcari) [1826759] - [media] media: dvb-frontends: cxd2820r_core: convert to i2c_new_dummy_device (David Arcari) [1826759] - [media] media: dvb-frontends: mn88473: convert to i2c_new_dummy_device (David Arcari) [1826759] - [media] media: dvb-frontends: mn88472: convert to i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (w83791d) convert to use devm_i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (w83793d) convert to use devm_i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (w83781d) convert to i2c_new_dummy_device (David Arcari) [1826759] - [media] media: ir-kbd-i2c: convert to i2c_new_dummy_device() (David Arcari) [1826759] - [misc] misc: eeprom: max6875: convert to i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (w83792d) convert to use devm_i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (asb100) convert to i2c_new_dummy_device (David Arcari) [1826759] - [i2c] i2c: replace i2c_new_probed_device with an ERR_PTR variant (David Arcari) [1826759] - [i2c] i2c: smbus: Don't filter out duplicate alerts (David Arcari) [1826759] - [i2c] i2c: of: Populate fwnode in of_i2c_get_board_info() (David Arcari) [1826759] - [i2c] i2c: remove helpers for ref-counting clients (David Arcari) [1826759] - [i2c] i2c: core: fix use after free in of_i2c_notify (David Arcari) [1826759] - [i2c] i2c: acpi: Force bus speed to 400KHz if a Silead touchscreen is present (David Arcari) [1826759] - [i2c] i2c: add support for filters optional properties (David Arcari) [1826759] - [i2c] i2c: slave-eeprom: Add read only mode (David Arcari) [1826759] - [i2c] i2c: slave-eeprom: Add comment about address handling (David Arcari) [1826759] - [i2c] i2c-eeprom_slave: Add support for more eeprom models (David Arcari) [1826759] - [i2c] i2c: make i2c_unregister_device() ERR_PTR safe (David Arcari) [1826759] - [media] i2c: replace i2c_new_secondary_device with an ERR_PTR variant (David Arcari) [1826759] - [i2c] i2c: Drop unneeded check for of_node (David Arcari) [1826759] - [i2c] i2c: core: Tidy up handling of init_irq (David Arcari) [1826759] - [i2c] i2c: core: Move ACPI gpio IRQ handling into i2c_acpi_get_irq (David Arcari) [1826759] - [i2c] i2c: core: Move ACPI IRQ handling to probe time (David Arcari) [1826759] - [i2c] i2c: acpi: Factor out getting the IRQ from ACPI (David Arcari) [1826759] - [i2c] i2c: acpi: Use available IRQ helper functions (David Arcari) [1826759] - [i2c] i2c: core: Allow whole core to use i2c_dev_irq_from_resources (David Arcari) [1826759] - [i2c] i2c: core: add sysfs header (David Arcari) [1826759] - [i2c] i2c: add newly exported functions to the header, too (David Arcari) [1826759] - [i2c] i2c: mux: add sysfs header (David Arcari) [1826759] - [include] i2c: headers: reformat header comment and update copyright (David Arcari) [1826759] - [include] i2c: headers: update docs about I2C_CLIENT_* (David Arcari) [1826759] - [i2c] i2c: core: always have a named variable in arguments (David Arcari) [1826759] - [include] i2c: headers: always have a named variable in arguments (David Arcari) [1826759] - [include] i2c: headers: don't use 'dev' as adapter variable (David Arcari) [1826759] - [i2c] i2c: mux: Use struct_size() in devm_kzalloc() (David Arcari) [1826759] - [i2c] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (David Arcari) [1826759] - [i2c] i2c: acpi: export i2c_acpi_find_adapter_by_handle (David Arcari) [1826759] - [media] tua6100: Avoid build warnings (David Arcari) [1826759] - [i2c] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (David Arcari) [1826759] - [i2c] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (David Arcari) [1826759] - [i2c] i2c: acpi: permit bus speed to be discovered after enumeration (David Arcari) [1826759] - [i2c] i2c: dev: fix potential memory leak in i2cdev_ioctl_rdwr (David Arcari) [1826759] - [include] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 (David Arcari) [1826759] - [i2c] treewide: Add SPDX license identifier - Makefile/Kconfig (David Arcari) [1826759] - [i2c] i2c: core: add device-managed version of i2c_new_dummy (David Arcari) [1826759] - [i2c] i2c: core: improve return value handling of i2c_new_device and i2c_new_dummy (David Arcari) [1826759] - [i2c] i2c: core: apply 'is_suspended' check for SMBus, too (David Arcari) [1826759] - [i2c] i2c: core: ratelimit 'transfer when suspended' errors (David Arcari) [1826759] - [i2c] i2c: Prevent runtime suspend of adapter when Host Notify is required (David Arcari) [1826759] - [i2c] gcc-9: don't warn about uninitialized variable (David Arcari) [1826759] - [i2c] i2c: mux: populate the new *_atomic callbacks (David Arcari) [1826759] - [i2c] i2c: core: introduce callbacks for atomic transfers (David Arcari) [1826759] - [i2c] i2c: core: use I2C locking behaviour also for SMBUS (David Arcari) [1826759] - [i2c] i2c: core: remove use of in_atomic() (David Arcari) [1826759] - [include] i2c: apply coding style for struct i2c_adapter (David Arcari) [1826759] - [i2c] i2c: add extra check to safe DMA buffer helper (David Arcari) [1826759] - [i2c] i2c: Allow recovery of the initial IRQ by an I2C client device (David Arcari) [1826759] - [i2c] i2c: expand minor range when registering chrdev region (David Arcari) [1826759] - [i2c] i2c: core-smbus: don't trace smbus_reply data on errors (David Arcari) [1826759] - [i2c] i2c: of: Try to find an I2C adapter matching the parent (David Arcari) [1826759] - [include] i2c: acpi: Move I2C bits from acpi.h to i2c.h (David Arcari) [1826759] - [i2c] i2c: dev: prevent adapter retries and timeout being set as minus value (David Arcari) [1826759] - [i2c] i2c: add suspended flag and accessors for i2c adapters (David Arcari) [1826759] - [i2c] treewide: surround Kconfig file paths with double quotes (David Arcari) [1826759] - [i2c] i2c: acpi: Introduce i2c_acpi_get_i2c_resource() helper (David Arcari) [1826759] - [i2c] i2c: acpi: Use ACPI_FAILURE instead of !ACPI_SUCCESS (David Arcari) [1826759] - [i2c] i2c: acpi: Return error pointers from i2c_acpi_new_device() (David Arcari) [1826759] - [i2c] i2c: Clear client->irq in i2c_device_remove (David Arcari) [1826759] - [i2c] i2c: Remove unnecessary call to irq_find_mapping (David Arcari) [1826759] - [i2c] i2c: Fix kerneldoc for renamed i2c dma put function (David Arcari) [1826759] - [i2c] i2c: core: remove level of indentation in i2c_transfer (David Arcari) [1826759] - [i2c] i2c: core: remove outdated DEBUG output (David Arcari) [1826759] - [i2c] i2c: refactor function to release a DMA safe buffer (David Arcari) [1826759] - [i2c] i2c: don't use any __deprecated handling anymore (David Arcari) [1826759] - [i2c] i2c: remove deprecated attach_adapter callback (David Arcari) [1826759] - [i2c] i2c: core: Parse SDA hold time from firmware (David Arcari) [1826759] - [i2c] i2c: quirks: add zero length checks (David Arcari) [1826759] - [i2c] i2c: recovery: make pin init look like STOP (David Arcari) [1826759] - [i2c] i2c: recovery: rename variable for easier understanding (David Arcari) [1826759] - [i2c] i2c: recovery: add get_bus_free callback (David Arcari) [1826759] - [i2c] i2c: recovery: refactor recovery function (David Arcari) [1826759] - [i2c] i2c: recovery: require either get_sda or set_sda (David Arcari) [1826759] - [i2c] i2c: remove i2c_lock_adapter and use i2c_lock_bus directly (David Arcari) [1826759] - [media] media: tda1004x: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [media] media: tda18271: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [media] media: af9013: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [media] media: drxk_hard: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [media] media: rtl2830: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [i2c] i2c: mux: pca9541: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [i2c] i2c: mux: make use of __i2c_smbus_xfer (David Arcari) [1826759] - [kvm] KVM: PPC: Book3S HV: Fix H_CEDE return code for nested guests (David Gibson) [1778556] - [block] block/diskstats: more accurate approximation of io_ticks for slow disks (Ming Lei) [1811745] - [scsi] scsi: storvsc: Correctly set number of hardware queues for IDE disk (Cathy Avery) [1816702] - [netdrv] bonding/alb: make sure arp header is pulled before accessing it (Jarod Wilson) [1819408] - [netdrv] bonding/alb: properly access headers in bond_alb_xmit() (Jarod Wilson) [1819408] - [netdrv] bonding: rename AD_STATE_* to LACP_STATE_* (Jarod Wilson) [1819408] - [netdrv] bonding: fix active-backup transition after link failure (Jarod Wilson) [1819408] - [netdrv] bonding: move 802.3ad port state flags to uapi (Jarod Wilson) [1819408] - [netdrv] bonding: fix bond_neigh_init() (Jarod Wilson) [1819408] - [netdrv] bonding: fix state transition issue in link monitoring (Jarod Wilson) [1819408] - [netdrv] bonding: fix potential NULL deref in bond_update_slave_arr (Jarod Wilson) [1819408] - [netdrv] team: Always enable vlan tx offload (Hangbin Liu) [1827017] - [net] netlink: Use netlink header as base to calculate bad attribute offset (Andrea Claudi) [1825252] - [net] netlink: cap max groups which will be considered in netlink_bind() (Andrea Claudi) [1825252] - [net] tcp: repair: fix TCP_QUEUE_SEQ implementation (Paolo Abeni) [1823771] - [net] tcp: fix "old stuff" D-SACK causing SACK to be treated as D-SACK (Paolo Abeni) [1823771] - [net] tcp: refine rule to allow EPOLLOUT generation under mem pressure (Paolo Abeni) [1823771] - [net] tcp: refine tcp_write_queue_empty() implementation (Paolo Abeni) [1823771] - [include] fib: add missing attribute validation for tun_id (Marcelo Leitner) [1823468] - [include] net/flow_dissector: remove unexist field description (Marcelo Leitner) [1823468] - [net] vlan: vlan_changelink() should propagate errors (Marcelo Leitner) [1823468] - [net] af_packet: set defaule value for tmo (Marcelo Leitner) [1823468] - [net] packet: fix data-race in fanout_flow_is_huge() (Marcelo Leitner) [1823468] - [net] llc: fix sk_buff refcounting in llc_conn_state_process() (Marcelo Leitner) [1823468] - [net] llc: fix another potential sk_buff leak in llc_ui_sendmsg() (Marcelo Leitner) [1823468] - [net] llc: fix sk_buff leak in llc_conn_service() (Marcelo Leitner) [1823468] - [net] llc: fix sk_buff leak in llc_sap_state_process() (Marcelo Leitner) [1823468] - [net] openvswitch: Fix conntrack cache with timeout (Patrlck Talbert) [1765587] - [net] openvswitch: Fix log message in ovs conntrack (Patrlck Talbert) [1765587] - [net] openvswitch: use after free in __ovs_ct_free_action() (Patrlck Talbert) [1765587] - [net] openvswitch: Add timeout support to ct action (Patrlck Talbert) [1765587] - [net] netfilter: Export nf_ct_{set, destroy}_timeout() (Patrlck Talbert) [1765587] - [net] netfilter: cttimeout: ctnl_timeout_find_get() returns incorrect pointer to type (Patrlck Talbert) [1765587] - [net] netfilter: remove ifdef around cttimeout in struct nf_conntrack_l4proto (Patrlck Talbert) [1765587] - [net] netfilter: cttimeout: decouple timeout policy from nfnetlink_cttimeout object (Patrlck Talbert) [1765587] - [net] netfilter: cttimeout: move ctnl_untimeout to nf_conntrack (Patrlck Talbert) [1765587] - [netdrv] ipvlan: do not use cond_resched_rcu() in ipvlan_process_multicast() (Davide Caratti) [1822906] - [netdrv] ipvlan: add cond_resched_rcu() while processing muticast backlog (Davide Caratti) [1822906] - [netdrv] ipvlan: don't deref eth hdr before checking it's set (Davide Caratti) [1822906] - [netdrv] ipvlan: do not add hardware address of master to its unicast filter list (Davide Caratti) [1822906] - [include] net/dst: do not confirm neighbor for vxlan and geneve pmtu update (Hangbin Liu) [1755686] - [net] sit: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [net] vti: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [net] tunnel: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [include] net/dst: add new function skb_dst_update_pmtu_no_confirm (Hangbin Liu) [1755686] - [netdrv] gtp: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [net] ip6_gre: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [net] add bool confirm_neigh parameter for dst_ops.update_pmtu (Hangbin Liu) [1755686] - [net] neigh: support smaller retrans_time settting (Hangbin Liu) [1767282] - [include] net: core: add helper tcp_v6_gso_csum_prep (Josef Oskera) [1818097] - [net] ip_tunnel: fix interface lookup with no key (Guillaume Nault) [1822247] - [net] ipv4: fix a RCU-list lock in inet_dump_fib() (Guillaume Nault) [1822247] - [net] gre: fix uninit-value in __iptunnel_pull_header (Guillaume Nault) [1822247] - [net] netfilter: conntrack: allow insertion of clashing entries (Florian Westphal) [1821404] - [net] netfilter: conntrack: split resolve_clash function (Florian Westphal) [1821404] - [net] netfilter: conntrack: place confirm-bit setting in a helper (Florian Westphal) [1821404] - [net] netfilter: never get/set skb->tstamp (Florian Westphal) [1821404] - [net] netfilter: conntrack: remove two args from resolve_clash (Florian Westphal) [1821404] - [net] netfilter: conntrack: tell compiler to not inline nf_ct_resolve_clash (Florian Westphal) [1821404] - [netdrv] macsec: restrict to ethernet devices (Sabrina Dubroca) [1820524] - [netdrv] macsec: add missing attribute validation for port (Sabrina Dubroca) [1820524] - [net] netns: restore ops before calling ops_exit_list (Ivan Vecera) [1822568] - [net] netns: add pre_exit method to struct pernet_operations (Ivan Vecera) [1822568] - [include] net: dst: Force 4-byte alignment of dst_metrics (Guillaume Nault) [1822148] - [include] net: annotate lockless accesses to sk->sk_napi_id (Guillaume Nault) [1822148] - [net] Fix typo of SKB_SGO_CB_OFFSET (Guillaume Nault) [1822148] - [net] use indirect call wrappers for skb_copy_datagram_iter() (Guillaume Nault) [1822148] - [net] datagram: Make __skb_datagram_iter static (Guillaume Nault) [1822148] - [net] Fix Tx hash bound checking (Guillaume Nault) [1822148] - [net] openvswitch: add missing attribute validation for hash (Eelco Chaudron) [1819202] - [net] openvswitch: Distribute switch variables for initialization (Eelco Chaudron) [1819202] - [net] openvswitch: support asymmetric conntrack (Eelco Chaudron) [1819202] - [net] openvswitch: remove another BUG_ON() (Eelco Chaudron) [1819202] - [net] openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info() (Eelco Chaudron) [1819202] - [net] openvswitch: don't call pad_packet if not necessary (Eelco Chaudron) [1819202] - [net] openvswitch: add hash info to upcall (Eelco Chaudron) [1819202] - [net] openvswitch: select vport upcall portid directly (Eelco Chaudron) [1819202] - [net] openvswitch: simplify the ovs_dp_cmd_new (Eelco Chaudron) [1819202] - [net] openvswitch: fix possible memleak on destroy flow-table (Eelco Chaudron) [1819202] - [net] openvswitch: add likely in flow_lookup (Eelco Chaudron) [1819202] - [net] openvswitch: simplify the flow_hash (Eelco Chaudron) [1819202] - [net] openvswitch: optimize flow-mask looking up (Eelco Chaudron) [1819202] - [net] openvswitch: optimize flow mask cache hash collision (Eelco Chaudron) [1819202] - [net] openvswitch: shrink the mask array if necessary (Eelco Chaudron) [1819202] - [net] openvswitch: convert mask list in mask array (Eelco Chaudron) [1819202] - [net] openvswitch: add flow-mask cache for performance (Eelco Chaudron) [1819202] - [net] openvswitch: Allow attaching helper in later commit (Eelco Chaudron) [1819202] - [net] openvswitch: change type of UPCALL_PID attribute to NLA_UNSPEC (Eelco Chaudron) [1819202] - [net] openvswitch: Make metadata_dst tunnel work in IP_TUNNEL_INFO_BRIDGE mode (Eelco Chaudron) [1819202] - [netdrv] mlxsw: spectrum_router: Remove unlikely user-triggerable warning (Ivan Vecera) [1821358] - [net] ipv6: Error when route does not have any valid nexthops (Ivan Vecera) [1821358] - [tools] selftests: mlxsw: Add a test for FIB offload indication (Ivan Vecera) [1821358] - [net] ipv6: Stop sending in-kernel notifications for each nexthop (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Create IPv6 multipath routes in one go (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Add / delete multiple IPv6 nexthops (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Pass array of routes to route handling functions (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Adjust IPv6 replace logic to new notifications (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Pass multiple routes to work item (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Prepare function to return errors (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Remove processing of IPv6 append notifications (Ivan Vecera) [1821358] - [net] ipv6: Add IPv6 multipath notification for route delete (Ivan Vecera) [1821358] - [net] ipv6: Add IPv6 multipath notifications for add / replace (Ivan Vecera) [1821358] - [netdrv] netdevsim: Ignore IPv6 multipath notifications (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Ignore IPv6 multipath notifications (Ivan Vecera) [1821358] - [net] ipv6: Extend notifier info for multipath routes (Ivan Vecera) [1821358] - [net] ipv6: export function to send route updates (Ivan Vecera) [1821358] - [net] sctp: fix possibly using a bad saddr with a given dst (Xin Long) [1821578] - [net] sctp: fix refcount bug in sctp_wfree (Xin Long) [1821578] - [net] sctp: move the format error check out of __sctp_sf_do_9_1_abort (Xin Long) [1821578] - [net] Remove switchdev_ops (Ivan Vecera) [1821402] - [net] switchdev: Replace port attr set SDO with a notification (Ivan Vecera) [1821402] - [net] switchdev: Complete removal of switchdev_port_attr_get() (Ivan Vecera) [1821402] - [net] Get rid of switchdev_port_attr_get() (Ivan Vecera) [1821402] - [net] Remove SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS_SUPPORT (Ivan Vecera) [1821402] - [net] fib_notifier: move fib_notifier_ops from struct net into per-net struct (Ivan Vecera) [1821186] - [net] Properly unlink GRO packets on overflow. (Ivan Vecera) [1805302] - [net] Add and use skb_list_del_init(). (Ivan Vecera) [1805302] - [net] Add and use skb_mark_not_on_list(). (Ivan Vecera) [1805302] - [net] Init backlog NAPI's gro_hash. (Ivan Vecera) [1805302] - [net] gro: properly remove skb from list (Ivan Vecera) [1805302] - [net] core: trivial netif_receive_skb_list() entry point (Ivan Vecera) [1805302] - [net] Convert GRO SKB handling to list_head. (Ivan Vecera) [1805302] - [net] ipv6: don't auto-add link-local address to lag ports (Jarod Wilson) [1733953] - [tools] selftests: forwarding: vxlan_bridge_1d: use more proper tos value (Hangbin Liu) [1816587] - [tools] selftests: forwarding: vxlan_bridge_1d: fix tos value (Hangbin Liu) [1816587] - [tools] selftests: forwarding: use proto icmp for {gretap, ip6gretap}_mac testing (Hangbin Liu) [1816587] - [tools] fcnal-test: Fix vrf argument in local tcp tests (Hangbin Liu) [1816587] - [tools] selftests: forwarding: router: Add test case for destination IP link-local (Hangbin Liu) [1816587] - [tools] selftests: forwarding: router: Add test case for source IP equals destination IP (Hangbin Liu) [1816587] - [tools] selftests: forwarding: router: Add test case for multicast destination MAC mismatch (Hangbin Liu) [1816587] - [tools] selftests: forwarding: router: Add test case for source IP in class E (Hangbin Liu) [1816587] - [tools] selftests/net: make so_txtime more robust to timer variance (Hangbin Liu) [1816587] - [tools] selftests: forwarding: Add speed and auto-negotiation test (Hangbin Liu) [1816587] - [tools] selftests: forwarding: lib.sh: Add wait for dev with timeout (Hangbin Liu) [1816587] - [tools] selftests: forwarding: Add ethtool_lib.sh (Hangbin Liu) [1816587] - [tools] selftests: net: avoid ptl lock contention in tcp_mmap (Hangbin Liu) [1816587] - [tools] selftest: net: add alternative names test (Hangbin Liu) [1816587] - [tools] selftest: net: add some traceroute tests (Hangbin Liu) [1816587] - [tools] selftests: net: Fix printf format warnings on arm (Hangbin Liu) [1816587] - [tools] selftests: net: Use size_t and ssize_t for counting file size (Hangbin Liu) [1816587] - [tools] selftests: Make l2tp.sh executable (Hangbin Liu) [1816587] - [tools] selftests/net: add nettest to .gitignore (Hangbin Liu) [1816587] - [tools] selftests: Add test cases for `ip nexthop flush proto XX` (Hangbin Liu) [1816587] - [tools] selftest: A few cleanups for fib_nexthops.sh (Hangbin Liu) [1816587] - [tools] selftests: Fix get_ifidx and callers in nettest.c (Hangbin Liu) [1816587] - [tools] selftests: Fix detection of nettest command in fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add l2tp tests (Hangbin Liu) [1816587] - [tools] selftests: nettest: fix spelling mistake: "potocol" -> "protocol" (Hangbin Liu) [1816587] - [tools] selftests: Add use case section to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 netfilter tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 netfilter tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 runtime tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 runtime tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 address bind tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 address bind tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 udp tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 udp tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 tcp tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 tcp tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 ping tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 ping tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Setup for functional tests for fib and socket lookups (Hangbin Liu) [1816587] - [tools] selftests: Add nettest (Hangbin Liu) [1816587] - [tools] selftests/net: add missing gitignores (ipv6_flowlabel) (Hangbin Liu) [1816587] - [tools] selftests: txring_overwrite: fix incorrect test of mmap() return value (Hangbin Liu) [1816587] - [tools] selftests/net: skip psock_tpacket test if KALLSYMS was not enabled (Hangbin Liu) [1816587] - [tools] selftests: rtnetlink: skip ipsec offload tests if netdevsim isn't present (Hangbin Liu) [1816587] - [tools] selftests: Add test cases for nexthop objects (Hangbin Liu) [1816587] - [tools] selftests/net: ipv6 flowlabel (Hangbin Liu) [1816587] - [tools] selftests/net: SO_TXTIME with ETF and FQ (Hangbin Liu) [1816587] - [tools] selftests: fib-onlink: Make quiet by default (Hangbin Liu) [1816587] - [tools] selftests/net: correct the return value for run_afpackettests (Hangbin Liu) [1816587] - [tools] selftests/net: correct the return value for run_netsocktests (Hangbin Liu) [1816587] - [tools] selftests: forwarding: Add reverse path forwarding (RPF) test cases (Hangbin Liu) [1816587] - [tools] selftest/net: Remove duplicate header (Hangbin Liu) [1816587] - [tools] selftests: fib_tests: sleep after changing carrier. again. (Hangbin Liu) [1816587] - [tools] selftests: net: use LDLIBS instead of LDFLAGS (Hangbin Liu) [1816587] - [tools] selftests/net: add txring_overwrite (Hangbin Liu) [1816587] - [tools] fib_tests: Add tests for invalid metric on route (Hangbin Liu) [1816587] - [tools] selftests: forwarding: test for bridge sticky flag (Hangbin Liu) [1816587] - [tools] selftests: net: Test headroom handling of ip6_gre devices (Hangbin Liu) [1816587] - [net] Don't disable interrupts in __netdev_alloc_skb() (Andrea Claudi) [1811207] - [net] Don't disable interrupts in napi_alloc_frag() (Andrea Claudi) [1811207] - [net] ipv4: ensure rcu_read_lock() in cipso_v4_error() (Matteo Croce) [1720708] - [net] ipv4: add sanity checks in ipv4_link_failure() (Matteo Croce) [1720708] - [net] ipv4: ensure rcu_read_lock() in ipv4_link_failure() (Matteo Croce) [1720708] - [net] ipv4: recompile ip options in ipv4_link_failure (Matteo Croce) [1720708] - [net] avoid use IPCB in cipso_v4_error (Matteo Croce) [1720708] - [net] Add __icmp_send helper. (Matteo Croce) [1720708] - [net] ipv4: defensive cipso option parsing (Matteo Croce) [1720708] - [net] netfilter: nf_queue: enqueue skbs with NULL dst (Matteo Croce) [1786116]- [powerpc] powerpc/pseries/ddw: Extend upper limit for huge DMA window for persistent memory (Steve Best) [1817596] - [cpuidle] cpuidle: haltpoll: allow force loading on hosts without the REALTIME hint (David Arcari) [1825353] - [cpuidle] cpuidle: dt: Support hierarchical CPU idle states (David Arcari) [1825353] - [of] of: base: Add of_get_cpu_state_node() to get idle states for a CPU node (David Arcari) [1825353] - [cpuidle] cpuidle: Allow idle states to be disabled by default (David Arcari) [1825353] - [cpuidle] cpuidle: Drop unnecessary type cast in cpuidle_poll_time() (David Arcari) [1825353] - [cpuidle] cpuidle: Fix cpuidle_driver_state_disabled() (David Arcari) [1825353] - [cpuidle] cpuidle: use first valid target residency as poll time (David Arcari) [1825353] - [cpuidle] cpuidle: Drop disabled field from struct cpuidle_state (David Arcari) [1825353] - [cpuidle] cpuidle: Pass exit latency limit to cpuidle_use_deepest_state() (David Arcari) [1825353] - [include] cpuidle: Allow idle injection to apply exit latency limit (David Arcari) [1825353] - [thermal] cpuidle: play_idle: Increase the resolution to usec (David Arcari) [1825353] - [cpuidle] cpuidle: Use nanoseconds as the unit of time (David Arcari) [1825353] - [cpuidle] cpuidle: menu: Allow tick to be stopped if PM QoS is used (David Arcari) [1825353] - [cpuidle] cpuidle: Consolidate disabled state checks (David Arcari) [1825353] - [cpuidle] cpuidle: Do not unset the driver if it is there already (David Arcari) [1825353] - [cpuidle] cpuidle: haltpoll: Take 'idle=' override into account (David Arcari) [1825353] - [cpuidle] cpuidle-haltpoll: Enable kvm guest polling when dedicated physical CPUs are available (David Arcari) [1825353] - [fs] gfs2: fix gfs2_find_jhead that returns uninitialized jhead with seq 0 (Abhijith Das) [1655566] - [fs] gfs2: Another gfs2_find_jhead fix (Abhijith Das) [1655566] - [fs] gfs2: read journal in large chunks (Abhijith Das) [1655566] - [fs] gfs2: add a helper function to get_log_header that can be used elsewhere (Abhijith Das) [1655566] - [fs] gfs2: changes to gfs2_log_XXX_bio (Abhijith Das) [1655566] - [fs] gfs2: add more timing info to journal recovery process (Abhijith Das) [1655566] - [mm] mm: hugetlb controller for cgroup v2 (Joel Savitz) [1810728] - [arm64] crypto: arm64/aes-ce - implement 5 way interleave for ECB, CBC and CTR (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ce - add 5 way interleave routines (Mark Salter) [1826982] - [arm64] crypto: arm64/sha2-ce - correct digest for empty data in finup (Mark Salter) [1826982] - [arm64] crypto: arm64/sha1-ce - correct digest for empty data in finup (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-neonbs - don't access already-freed walk.iv (Mark Salter) [1826982] - [arm64] crypto: arm64/cbcmac - handle empty messages in same way as template (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - update IV after partial final CTR block (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-neonbs - fix returning final keystream block (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif-ce - cleanup and optimizations (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - register PMULL variants as separate algos (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - remove dead code (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - revert to C code for short inputs (Mark Salter) [1826982] - [arm64] crypto: arm64/ghash-neon - bump priority to 150 (Mark Salter) [1826982] - [arm64] crypto: arm64/ghash - register PMULL variants as separate algos (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ccm - don't use an atomic walk needlessly (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - ensure XTS mask is always loaded (Mark Salter) [1826982] - [arm64] crypto: arm64/aes - fix handling sub-block CTS-CBC inputs (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - improve XTS mask handling (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - add support for CTS-CBC mode (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - revert NEON yield for skciphers (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - remove pointless (u8 *) casts (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - implement non-Crypto Extensions alternative (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - preparatory refactor for 8x8 PMULL version (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-modes - get rid of literal load of addend vector (Mark Salter) [1826982] - [arm64] crypto: arm64/sm4-ce - check for the right CPU feature bit (Mark Salter) [1826982] - [arm64] crypto: arm64/gcm-aes-ce - fix no-NEON fallback code (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-gcm-ce - fix scatterwalk API violation (Mark Salter) [1826982] - [arm64] crypto: arm64/ghash-ce - implement 4-way aggregation (Mark Salter) [1826982] - [arm64] crypto: arm64/ghash-ce - replace NEON yield check with block limit (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ce-gcm - don't reload key schedule if avoidable (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ce-gcm - implement 2-way aggregation (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ce-gcm - operate on two input blocks at a time (Mark Salter) [1826982] - [mm] mm, slub: prevent kmalloc_node crashes and memory leaks (Rafael Aquini) [1819839] - [mm] mm: slub: be more careful about the double cmpxchg of freelist (Rafael Aquini) [1819839] - [mm] mm: slub: add missing TID bump in kmem_cache_alloc_bulk() (Rafael Aquini) [1819839] - [mm] mm/slub.c: avoid slub allocation while holding list_lock (Rafael Aquini) [1819839] - [mm] mm/slub.c: clean up validate_slab() (Rafael Aquini) [1819839] - [mm] mm: slub: print the offset of fault addresses (Rafael Aquini) [1819839] - [mm] hugetlbfs: don't retry when pool page allocations start to fail (Rafael Aquini) [1727288] - [mm] mm, compaction: raise compaction priority after it withdrawns (Rafael Aquini) [1727288] - [mm] mm, reclaim: cleanup should_continue_reclaim() (Rafael Aquini) [1727288] - [mm] mm, reclaim: make should_continue_reclaim perform dryrun detection (Rafael Aquini) [1727288]- [tools] bpf: selftests: remove test_bpftool_build.sh from TEST_PROGS (Yauheni Kaliuta) [1813365] - [tools] libbpf: Support .text sub-calls relocations (Yauheni Kaliuta) [1813365] - [tools] libbpf: Sanitize global functions (Yauheni Kaliuta) [1813365] - [kernel] workqueue: Add RCU annotation for pwq list walk (Yauheni Kaliuta) [1813365] - [kernel] perf/core: Add SRCU annotation for pmus list walk (Yauheni Kaliuta) [1813365] - [net] kcm: disable preemption in kcm_parse_func_strparser() (Yauheni Kaliuta) [1813365] - [net] kcm: use BPF_PROG_RUN (Yauheni Kaliuta) [1813365] - [kernel] bpf: clarify description for CONFIG_BPF_EVENTS (Yauheni Kaliuta) [1813365] - [lib] test_bpf: Fix a new clang warning about xor-ing two numbers (Yauheni Kaliuta) [1813365] - [include] bpf: add include guard to tnum.h (Yauheni Kaliuta) [1813365] - [tools] libbpf: handle symbol versioning properly for libbpf.a (Yauheni Kaliuta) [1813365] - [net] bpf, devmap: Pass lockdep expression to RCU lists (Yauheni Kaliuta) [1813365] - [tools] libbpf: Fix Makefile' libbpf symbol mismatch diagnostic (Yauheni Kaliuta) [1813365] - [net] xdp: Fix cleanup on map free for devmap_hash map type (Yauheni Kaliuta) [1813365] - [tools] tools, bpf: Fix build for 'make -s tools/bpf O=' (Yauheni Kaliuta) [1813365] - [tools] libbpf: Fix passing uninitialized bytes to setsockopt (Yauheni Kaliuta) [1813365] - [tools] selftests: bpf: Skip write only files in debugfs (Yauheni Kaliuta) [1813365] - [net] xdp: Handle device unregister for devmap_hash map type (Yauheni Kaliuta) [1813365] - [net] ipv4: Add lockdep condition to fix for_each_entry() (Yauheni Kaliuta) [1813365] - [kernel] rcu/sync: Remove custom check for RCU readers (Yauheni Kaliuta) [1813365] - [kernel] rcu: Add support for consolidated-RCU reader checking (Yauheni Kaliuta) [1813365] - [kernel] rcu: Remove redundant debug_locks check in rcu_read_lock_sched_held() (Yauheni Kaliuta) [1813365] - [net] xdp: Prevent overflow in devmap_hash cost calculation for 32-bit builds (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: Add a workaround for asm_inline (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: Fix build for task_fd_query_user.c (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: Don't leak server_fd in test_sockopt_inherit (Yauheni Kaliuta) [1813365] - [tools] tools: bpf: Use !building_out_of_srctree to determine srctree (Yauheni Kaliuta) [1813365] - [net] bpf: Clean up indentation issue in BTF kflag processing (Yauheni Kaliuta) [1813365] - [tools] libbpf: Teach btf_dumper to emit stand-alone anonymous enum definitions (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: adjust strobemeta loop to satisfy latest clang (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: delete unused variables in test_sysctl (Yauheni Kaliuta) [1813365] - [tools] libbpf: fix false uninitialized variable warning (Yauheni Kaliuta) [1813365] - [tools] libbpf: Remove getsockopt() check for XDP_OPTIONS (Yauheni Kaliuta) [1813365] - [net] xdp: Fix race in dev_map_hash_update_elem() when replacing element (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_tcp_rtt (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_sockopt_inherit (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_sockopt_multi (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_sockopt_sk (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_sockopt (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: add test__join_cgroup helper (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: precision tracking tests (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: fix endianness issues in test_sysctl (Yauheni Kaliuta) [1813365] - [arm64] arm64: bpf: optimize modulo operation (Yauheni Kaliuta) [1813365] - [s390] bpf: s390: add JIT support for bpf line info (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: add missing \n to CHECK_FAIL (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: fix verbose mode garbage (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: Fix a typo in test_offload.py (Yauheni Kaliuta) [1813365] - [net] bpf: fix error check in bpf_tcp_gen_syncookie (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: do not link twice against libbpf.a in Makefile (Yauheni Kaliuta) [1813365] - [tools] tools: bpf: account for generated feature/ and libbpf/ directories (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: improve and check builds for different make invocations (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: ignore make built-in rules for getting kernel version (Yauheni Kaliuta) [1813365] - [s390] bpf: s390: add JIT support for multi-function programs (Yauheni Kaliuta) [1746980 1813365] - [tools] selftests/bpf: remove wrong nhoff in flow dissector test (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: remove unused ret (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: remove asserts from subtests (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: remove global fail/success counts (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: test__skip (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add precision tracking test (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: verifier precise tests (Yauheni Kaliuta) [1813365] - [tools] tools/bpf: sync bpf.h (Yauheni Kaliuta) [1813365] - [net] bpf: introduce verifier internal test flag (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add "bpftool map freeze" subcommand (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: show frozen status for maps (Yauheni Kaliuta) [1813365] - [uapi] bpf: clarify when bpf_trace_printk discards lines (Yauheni Kaliuta) [1813365] - [samples] samples: bpf: syscall_nrs: use mmap2 if defined (Yauheni Kaliuta) [1813365] - [tools] libbpf: use LFS (_FILE_OFFSET_BITS) instead of direct mmap2 syscall (Yauheni Kaliuta) [1813365] - [net] bpf: add new BPF_BTF_GET_NEXT_ID syscall command (Yauheni Kaliuta) [1813365] - [net] bpf: add BTF ids in procfs for file descriptors to BTF objects (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add sockopt clone/inheritance test (Yauheni Kaliuta) [1813365] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1813365] - [net] bpf: support cloning sk storage on accept() (Yauheni Kaliuta) [1813365] - [net] bpf: export bpf_map_inc_not_zero (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add documentation for net attach/detach (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add bash-completion for net attach/detach (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add net detach command to detach XDP on interface (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add net attach command to attach XDP on interface (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: compile with $(EXTRA_WARNINGS) (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add feature check for zlib (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: fix reading from /proc/config.gz (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: xdp_fwd explain bpf_fib_lookup return codes (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: make xdp_fwd more practically usable via devmap lookup (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: xdp_fwd rename devmap name to be xdp_tx_ports (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: drop extra trailing tab (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: test__printf -> printf (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: switch to open_memstream (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add loop test 5 (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add loop test 4 (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: extend sockopt_sk selftest with TCP_CONGESTION use case (Yauheni Kaliuta) [1813365] - [net] bpf: always allocate at least 16 bytes for setsockopt hook (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add support for reporting the effective cgroup progs (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add test for bpf_tcp_gen_syncookie (Yauheni Kaliuta) [1813365] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1813365] - [net] bpf: add bpf_tcp_gen_syncookie helper (Yauheni Kaliuta) [1813365] - [net] tcp: add skb-less helpers to retrieve SYN cookie (Yauheni Kaliuta) [1813365] - [net] tcp: tcp_syn_flood_action read port from socket (Yauheni Kaliuta) [1813365] - [net] tcp: rate limit synflood warnings further (Yauheni Kaliuta) [1813365] - [tools] tools: Add definitions for devmap_hash map type (Yauheni Kaliuta) [1813365] - [tools] tools/libbpf_probes: Add new devmap_hash type (Yauheni Kaliuta) [1813365] - [tools] tools/include/uapi: Add devmap_hash BPF map type (Yauheni Kaliuta) [1813365] - [net] xdp: Add devmap_hash map type for looking up devices by hashed index (Yauheni Kaliuta) [1813365] - [net] xdp: Refactor devmap allocation code for reuse (Yauheni Kaliuta) [1813365] - [include] include/bpf.h: Remove map_insert_ctx() stubs (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: convert send_signal.c to use subtests (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: convert bpf_verif_scale.c to sub-tests API (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: support BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP (Yauheni Kaliuta) [1813365] - [tools] bpf/flow_dissector: support ipv6 flow_label and BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: support BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG (Yauheni Kaliuta) [1813365] - [tools] tools/bpf: sync bpf_flow_keys flags (Yauheni Kaliuta) [1813365] - [net] bpf/flow_dissector: support flags in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813365] - [documentation] bpf/flow_dissector: document flags (Yauheni Kaliuta) [1813365] - [net] bpf/flow_dissector: pass input flags to BPF flow dissector program (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: Add selftests for bpf_perf_event_output (Yauheni Kaliuta) [1813365] - [net] bpf: Allow bpf_skb_event_output for a few prog types (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: remove perf buffer helpers (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: switch trace_output sample to perf_buffer API (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: convert xdp_sample_pkts_user to perf_buffer API (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: switch test_tcpnotify to perf_buffer API (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: convert test_get_stack_raw_tp to perf_buffer API (Yauheni Kaliuta) [1813365] - [block] block, bfq: fix use-after-free in bfq_idle_slice_timer_body (Ming Lei) [1823596] - [block] block, bfq: fix overwrite of bfq_group pointer in bfq_find_set_group() (Ming Lei) [1823596] - [block] block, bfq: clarify the goal of bfq_split_bfqq() (Ming Lei) [1823596] - [block] block, bfq: get a ref to a group when adding it to a service tree (Ming Lei) [1823596] - [block] block, bfq: remove ifdefs from around gets/puts of bfq groups (Ming Lei) [1823596] - [block] block, bfq: extend incomplete name of field on_st (Ming Lei) [1823596] - [block] block, bfq: get extra ref to prevent a queue from being freed during a group move (Ming Lei) [1823596] - [block] block, bfq: do not insert oom queue into position tree (Ming Lei) [1823596] - [block] block, bfq: do not plug I/O for bfq_queues with no proc refs (Ming Lei) [1823596] - [block] block, bfq: improve arithmetic division in bfq_delta() (Ming Lei) [1823596] - [block] block/bfq: remove unused bfq_class_rt which never used (Ming Lei) [1823596] - [block] block: Prevent hung_check firing during long sync IO (Ming Lei) [1813383] - [block] brd: check and limit max_part par (Ming Lei) [1790403]- [char] random: silence a lockdep splat with printk() (Brian Masney) [1798900] - [net] SUNRPC: fix krb5p mount to provide large enough buffer in rq_rcvsize (Steve Dickson) [1825388] - [include] percpu-refcount: Use normal instead of RCU-sched" (Waiman Long) [1803822] - [kernel] locking/spinlock/debug: Fix various data races (Waiman Long) [1803822] - [kernel] locktorture: Forgive apparent unfairness if CPU hotplug (Waiman Long) [1803822] - [kernel] locktorture: Use private random-number generators (Waiman Long) [1803822] - [tools] locktorture: Allow CPU-hotplug to be disabled via --bootargs (Waiman Long) [1803822] - [kernel] locking: locktorture: Do not include rwlock.h directly (Waiman Long) [1803822] - [kernel] locktorture: Replace strncmp() with str_has_prefix() (Waiman Long) [1803822] - [kernel] locking/rtmutex: rcu: Add WRITE_ONCE() to rt_mutex ->owner (Waiman Long) [1803822] - [arm64] arm64/spinlock: fix a -Wunused-function warning (Waiman Long) [1803822] - [arm64] locking/osq: Use optimized spinning loop for arm64 (Waiman Long) [1803822] - [kernel] locking/qspinlock: Fix inaccessible URL of MCS lock paper (Waiman Long) [1803822] - [include] string.h: Add str_has_prefix() helper function (Waiman Long) [1803822] - [kernel] futex: Remove {get,drop}_futex_key_refs() (Waiman Long) [1803822] - [kernel] futex: Remove pointless mmgrap() + mmdrop() (Waiman Long) [1803822] - [kernel] futex: Unbreak futex hashing (Waiman Long) [1803822] - [fs] futex: Fix inode life-time issue (Waiman Long) [1803822] - [kernel] futex: Fix kernel-doc notation warning (Waiman Long) [1803822] - [kernel] futex: Prevent exit livelock (Waiman Long) [1803822] - [kernel] futex: Provide distinct return value when owner is exiting (Waiman Long) [1803822] - [include] futex: Add mutex around futex exit (Waiman Long) [1803822] - [kernel] futex: Provide state handling for exec() as well (Waiman Long) [1803822] - [kernel] futex: Sanitize exit state handling (Waiman Long) [1803822] - [kernel] futex: Mark the begin of futex exit explicitly (Waiman Long) [1803822] - [kernel] futex: Set task::futex_state to DEAD right after handling futex exit (Waiman Long) [1803822] - [kernel] futex: Split futex_mm_release() for exit/exec (Waiman Long) [1803822] - [kernel] exit/exec: Seperate mm_release() (Waiman Long) [1803822] - [kernel] futex: Replace PF_EXITPIDONE with a state (Waiman Long) [1803822] - [kernel] futex: Move futex exit handling into futex code (Waiman Long) [1803822] - [kernel] futex: Prevent robust futex exit race (Waiman Long) [1803822] - [kernel] futex: Drop leftover wake_q_add() comment (Waiman Long) [1803822] - [kernel] fork: Provide a function for copying init_mm (Waiman Long) [1803822] - [kernel] y2038: futex: Move compat implementation into futex.c (Waiman Long) [1803822] - [fs] nfsd: Fix races between nfsd4_cb_release() and nfsd4_shutdown_callback() ("J. Bruce Fields") [1797484] - [fs] nfsd: minor 4.1 callback cleanup ("J. Bruce Fields") [1797484] - [video] vgacon: Fix a UAF in vgacon_invert_region (Vladis Dronov) [1818732] {CVE-2020-8647 CVE-2020-8649} - [powerpc] powerpc/xive: Use XIVE_BAD_IRQ instead of zero to catch non configured IPIs (David Gibson) [1773891] - [clocksource] hyper-v: Make sched clock return nanoseconds correctly (Mohammed Gamal) [1816731] - [clocksource] hyper-v: Set TSC clocksource as default w/ InvariantTSC (Mohammed Gamal) [1816731] - [clocksource] hyper-v: Untangle stimers and timesync from clocksources (Mohammed Gamal) [1816731] - [clocksource] hyper-v: Reserve PAGE_SIZE space for tsc page (Mohammed Gamal) [1816731] - [clocksource] x86/hyperv: Initialize clockevents earlier in CPU onlining (Mohammed Gamal) [1816731] - [x86] hyperv: Allow guests to enable InvariantTSC (Mohammed Gamal) [1816731] - [hv] hv: vmbus: Suspend/resume the synic for hibernation (Mohammed Gamal) [1816731] - [hv] hv: vmbus: Break out synic enable and disable operations (Mohammed Gamal) [1816731] - [x86] hyperv: Set pv_info.name to "Hyper-V" (Mohammed Gamal) [1816731] - [x86] hyperv: Hide pv_ops access for CONFIG_PARAVIRT=n (Mohammed Gamal) [1816731] - [clocksource] hyperv: Enable TSC page clocksource on 32bit (Mohammed Gamal) [1816731] - [clocksource] hyperv: Add Hyper-V specific sched clock function (Mohammed Gamal) [1816731] - [clocksource] hyperv: Allocate Hyper-V TSC page statically (Mohammed Gamal) [1816731] - [clocksource] Continue making Hyper-V clocksource ISA agnostic (Mohammed Gamal) [1816731] - [clocksource] Make Hyper-V clocksource ISA agnostic (Mohammed Gamal) [1816731] - [tools] hv: Reopen the devices if read() or write() returns errors (Mohammed Gamal) [1824182] - [tools] hv: add vmbus testing tool (Mohammed Gamal) [1824182] - [tools] hv: move to tools buildsystem (Mohammed Gamal) [1824182] - [tools] hv: kvp: eliminate 'may be used uninitialized' warning (Mohammed Gamal) [1824182] - [tools] hv: fix typos in toolchain (Mohammed Gamal) [1824182] - [tools] hv: fix KVP and VSS daemons exit code (Mohammed Gamal) [1824182] - [tools] hv: fixed Python pep8/flake8 warnings for lsvmbus (Mohammed Gamal) [1824182] - [tools] hv: kvp: Fix a warning of buffer overflow with gcc 8.0.1 (Mohammed Gamal) [1824182] - [tools] hv: fcopy: set 'error' in case an unknown operation was requested (Mohammed Gamal) [1824182] - [tools] hv: Fix a bug in the key delete code (Mohammed Gamal) [1824182] - [tools] hv: vss: fix loop device detection (Mohammed Gamal) [1824182] - [hv] hv: vmbus: Introduce latency testing (Mohammed Gamal) [1824182] - [tools] hv: update lsvmbus to be compatible with python3 (Mohammed Gamal) [1824182]- [hwtracing] coresight: etm4x: Add kernel configuration for CONTEXTID (Michael Petlan) [1818835] - [samples] samples/bpf: fix build by setting HAVE_ATTR_TEST to zero (Michael Petlan) [1818835] - [tools] perf metricgroup: Fix printing event names of metric group with multiple events (Michael Petlan) [1818835] - [tools] perf script: Fix invalid LBR/binary mismatch error (Michael Petlan) [1818835] - [tools] perf c2c: Fix return type for histogram sorting comparision functions (Michael Petlan) [1818835] - [tools] perf session: Fix decompression of PERF_RECORD_COMPRESSED records (Michael Petlan) [1818835] - [tools] perf tools: Fix time sorting (Michael Petlan) [1818835] - [tools] perf tools: Remove unused trace_find_next_event() (Michael Petlan) [1818835] - [tools] perf scripting engines: Iterate on tep event arrays directly (Michael Petlan) [1818835] - [tools] perf tools: Make usage of test_attr__* optional for perf-sys.h (Michael Petlan) [1818835] - [tools] perf kmem: Fix memory leak in compact_gfp_flags() (Michael Petlan) [1818835] - [tools] perf c2c: Fix memory leak in build_cl_output() (Michael Petlan) [1818835] - [tools] perf tools: Fix mode setting in copyfile_mode_ns() (Michael Petlan) [1818835] - [tools] perf annotate: Fix multiple memory and file descriptor leaks (Michael Petlan) [1818835] - [tools] perf tools: Fix resource leak of closedir() on the error paths (Michael Petlan) [1818835] - [tools] perf evlist: Fix fix for freed id arrays (Michael Petlan) [1818835] - [tools] perf annotate: Don't return -1 for error when doing BPF disassembly (Michael Petlan) [1818835] - [tools] perf annotate: Return appropriate error code for allocation failures (Michael Petlan) [1818835] - [tools] perf annotate: Fix arch specific ->init() failure errors (Michael Petlan) [1818835] - [tools] perf annotate: Propagate the symbol__annotate() error return (Michael Petlan) [1818835] - [tools] perf annotate: Fix the signedness of failure returns (Michael Petlan) [1818835] - [tools] perf annotate: Propagate perf_env__arch() error (Michael Petlan) [1818835] - [tools] perf evsel: Fall back to global 'perf_env' in perf_evsel__env() (Michael Petlan) [1818835] - [tools] perf tools: Propagate get_cpuid() error (Michael Petlan) [1818835] - [tools] perf jevents: Fix period for Intel fixed counters (Michael Petlan) [1818835] - [tools] perf script brstackinsn: Fix recovery from LBR/binary mismatch (Michael Petlan) [1818835] - [tools] perf docs: Correct and clarify jitdump spec (Michael Petlan) [1818835] - [tools] perf inject jit: Fix JIT_CODE_MOVE filename (Michael Petlan) [1818835] - [tools] perf map: Fix overlapped map handling (Michael Petlan) [1818835] - [tools] perf vendor events s390: Use s390 machine name instead of type 8561 (Michael Petlan) [1818835] - [tools] perf llvm: Don't access out-of-scope array (Michael Petlan) [1818835] - [tools] perf docs: Allow man page date to be specified (Michael Petlan) [1818835] - [tools] perf tests: Avoid raising SEGV using an obvious NULL dereference (Michael Petlan) [1818835] - [tools] libsubcmd: Make _FORTIFY_SOURCE defines dependent on the feature (Michael Petlan) [1818835] - [tools] perf unwind: Fix libunwind build failure on i386 systems (Michael Petlan) [1818835] - [tools] perf parser: Remove needless include directives (Michael Petlan) [1818835] - [tools] perf build: Add detection of java-11-openjdk-devel package (Michael Petlan) [1818835] - [tools] perf jvmti: Include JVMTI support for s390 (Michael Petlan) [1818835] - [tools] perf evlist: Fix access of freed id arrays (Michael Petlan) [1818835] - [tools] perf stat: Fix free memory access / memory leaks in metrics (Michael Petlan) [1818835] - [tools] perf tools: Replace needless mmap.h with what is needed, event.h (Michael Petlan) [1818835] - [tools] perf evsel: Move config terms to a separate header (Michael Petlan) [1818835] - [tools] perf evlist: Remove unused perf_evlist__fprintf() method (Michael Petlan) [1818835] - [tools] perf evsel: Introduce evsel_fprintf.h (Michael Petlan) [1818835] - [tools] perf evsel: Remove need for symbol_conf in evsel_fprintf.c (Michael Petlan) [1818835] - [tools] perf copyfile: Move copyfile routines to separate files (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__poll() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__add_pollfd() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__alloc_pollfd() function (Michael Petlan) [1818835] - [tools] libperf: Add libperf_init() call to the tests (Michael Petlan) [1818835] - [tools] libperf: Merge libperf_set_print() into libperf_init() (Michael Petlan) [1818835] - [tools] libperf: Add libperf dependency for tests targets (Michael Petlan) [1818835] - [tools] libperf: Use sys/types.h to get ssize_t, not unistd.h (Michael Petlan) [1818835] - [tools] perf tools: No need to include internal/lib.h from util/util.h (Michael Petlan) [1818835] - [tools] libperf: Move 'page_size' global variable to libperf (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__id_add_fd() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__id_add() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__read_format() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__first()/last() functions (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__alloc_id/perf_evsel__free_id functions (Michael Petlan) [1818835] - [tools] libperf: Move 'heads' from 'struct evlist' to 'struct perf_evlist' (Michael Petlan) [1818835] - [tools] libperf: Move 'ids' from 'struct evsel' to 'struct perf_evsel' (Michael Petlan) [1818835] - [tools] libperf: Move 'id' from 'struct evsel' to 'struct perf_evsel' (Michael Petlan) [1818835] - [tools] libperf: Move 'sample_id' from 'struct evsel' to 'struct perf_evsel' (Michael Petlan) [1818835] - [tools] libperf: Add missing 'struct xyarray' forward declaration (Michael Petlan) [1818835] - [tools] libperf: Move 'pollfd' from 'struct evlist' to 'struct perf_evlist' (Michael Petlan) [1818835] - [tools] libperf: Move 'mmap_len' from 'struct evlist' to 'struct perf_evlist' (Michael Petlan) [1818835] - [tools] libperf: Move 'nr_mmaps' from 'struct evlist' to 'struct perf_evlist' (Michael Petlan) [1818835] - [tools] libperf: Move 'system_wide' from 'struct evsel' to 'struct perf_evsel' (Michael Petlan) [1818835] - [tools] libperf: Add 'flush' to 'struct perf_mmap' (Michael Petlan) [1818835] - [tools] libperf: Add 'event_copy' to 'struct perf_mmap' (Michael Petlan) [1818835] - [tools] libperf: Add 'overwrite' to 'struct perf_mmap' (Michael Petlan) [1818835] - [tools] libperf: Add prev/start/end to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add 'refcnt' to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add 'cpu' to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add 'fd' to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add 'mask' to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add perf_mmap struct (Michael Petlan) [1818835] - [tools] perf evlist: Adopt backwards ring buffer state enum (Michael Petlan) [1818835] - [tools] libperf: Link libapi.a in libperf.so (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__purge() to evlist__purge() (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__exit() to evlist__exit() (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__alloc_mmap() to evlist__alloc_mmap() (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__munmap() to evlist__munmap() (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__mmap() to evlist__mmap() (Michael Petlan) [1818835] - [tools] perf tools: Rename 'struct perf_mmap' to 'struct mmap' (Michael Petlan) [1818835] - [tools] tools: Add missing stdio.h include to asm/bug.h header (Michael Petlan) [1818835] - [tools] libtraceevent: Man pages for tep plugins APIs (Michael Petlan) [1818835] - [tools] libtraceevent: Move traceevent plugins in its own subdirectory (Michael Petlan) [1818835] - [tools] libtraceevent: Add tep_get_event() in event-parse.h (Michael Petlan) [1818835] - [tools] libtraceevent: Man pages fix, changes in event printing APIs (Michael Petlan) [1818835] - [tools] libtraceevent: Man pages fix, rename tep_ref_get() to tep_get_ref() (Michael Petlan) [1818835] - [tools] libtraceevent: Man pages for libtraceevent event print related API (Michael Petlan) [1818835] - [tools] libtraceevent: Round up in tep_print_event() time precision (Michael Petlan) [1818835] - [tools] perf record: Move restricted maps check to after a possible fallback to not collect kernel samples (Michael Petlan) [1818835] - [tools] perf record: Fix priv level with branch sampling for paranoid=2 (Michael Petlan) [1818835] - [tools] perf probe: Fix to clear tev->nargs in clear_probe_trace_event() (Michael Petlan) [1818835] - [tools] perf probe: Skip same probe address for a given line (Michael Petlan) [1818835] - [tools] perf tests: Fix static build test (Michael Petlan) [1818835] - [tools] perf kvm stat: Set 'trace_cycles' as default event for 'perf kvm record' in powerpc (Michael Petlan) [1818835] - [tools] perf kvm: Add arch neutral function to choose event for perf kvm record (Michael Petlan) [1818835] - [tools] perf kvm: Move kvm-stat header file from conditional inclusion to common include section (Michael Petlan) [1818835] - [tools] perf test: Fix spelling mistake "allos" -> "allocate" (Michael Petlan) [1818835] - [tools] perf stat: Fix a segmentation fault when using repeat forever (Michael Petlan) [1818835] - [tools] perf stat: Reset previous counts on repeat with interval (Michael Petlan) [1818835] - [tools] tools lib traceevent: Convert remaining pusers to p (Michael Petlan) [1818835] - [tools] perf tools: Move event synthesizing routines to separate .c file (Michael Petlan) [1818835] - [tools] perf memswap: Adopt 'struct u64_swap' from evsel.h (Michael Petlan) [1818835] - [tools] perf tools: Move event synthesizing routines to separate header (Michael Petlan) [1818835] - [tools] perf auxtrace: Add missing 'struct perf_sample' forward declaration (Michael Petlan) [1818835] - [tools] perf sched: Add missing event.h include directive (Michael Petlan) [1818835] - [tools] perf annotate: Add missing machine.h include directive (Michael Petlan) [1818835] - [tools] perf hist: Add missing 'struct branch_stack' forward declaration (Michael Petlan) [1818835] - [tools] perf python: Remove debug.h (Michael Petlan) [1818835] - [tools] perf callchain: Remove needless event.h include (Michael Petlan) [1818835] - [tools] perf stat: Move perf_stat_synthesize_config() to event.h (Michael Petlan) [1818835] - [tools] perf event: Move perf_event__synthesize* to event.h (Michael Petlan) [1818835] - [tools] perf env: Remove needless cpumap.h header (Michael Petlan) [1818835] - [tools] perf symbols: Add missing dso.h header (Michael Petlan) [1818835] - [tools] perf probe: Add missing build-id.h header (Michael Petlan) [1818835] - [tools] perf tools: Remove util.h from where it is not needed (Michael Petlan) [1818835] - [tools] perf tools: Remove debug.h from places where it is not needed (Michael Petlan) [1818835] - [tools] perf debug: No need to include ui/util.h (Michael Petlan) [1818835] - [tools] perf tools: Remove needless builtin.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Add PMU event JSON files for ARM Cortex-A76 and, Neoverse N1 (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_cpu_map__max() function (Michael Petlan) [1818835] - [tools] libperf: Add missing event.h file to install rule (Michael Petlan) [1818835] - [tools] perf tests: Add libperf automated test for 'make -C tools/perf build-test' (Michael Petlan) [1818835] - [tools] perf python: Add missing python/perf.so dependency for libperf (Michael Petlan) [1818835] - [tools] perf build: Ignore intentional differences for the x86 insn decoder (Michael Petlan) [1818835] - [tools] perf intel-pt: Use shared x86 insn decoder (Michael Petlan) [1818835] - [tools] objtool: Move x86 insn decoder to a common location (Michael Petlan) [1818835] - [tools] perf intel-pt: Remove inat.c from build dependency list (Michael Petlan) [1818835] - [tools] perf: Update .gitignore file (Michael Petlan) [1818835] - [tools] perf metricgroup: Support multiple events for metricgroup (Michael Petlan) [1818835] - [tools] perf metricgroup: Scale the metric result (Michael Petlan) [1818835] - [tools] perf pmu: Change convert_scale from static to global (Michael Petlan) [1818835] - [tools] perf symbols: Move mem_info and branch_info out of symbol.h (Michael Petlan) [1818835] - [tools] perf auxtrace: Uninline functions that touch perf_session (Michael Petlan) [1818835] - [tools] perf tools: Remove needless evlist.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Remove needless evlist.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Remove needless thread_map.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Remove needless thread.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Remove needless map.h include directives (Michael Petlan) [1818835] - [tools] perf probe: No need for symbol.h, symbol_conf is enough (Michael Petlan) [1818835] - [tools] perf tools: Remove needless sort.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Move 'struct events_stats' and prototypes to separate header (Michael Petlan) [1818835] - [tools] perf hist: Remove needless ui/progress.h from hist.h (Michael Petlan) [1818835] - [tools] perf dsos: Move the dsos struct and its methods to separate source files (Michael Petlan) [1818835] - [tools] perf symbols: Move symsrc prototypes to a separate header (Michael Petlan) [1818835] - [tools] perf symbols: Add missing linux/refcount.h to symbol.h (Michael Petlan) [1818835] - [tools] perf symbol: Move C++ demangle defines to the only file using it (Michael Petlan) [1818835] - [tools] perf dso: Adopt DSO related macros from symbol.h (Michael Petlan) [1818835] - [tools] libtraceevent: Change users plugin directory (Michael Petlan) [1818835] - [tools] libtraceevent: Remove tep_register_trace_clock() (Michael Petlan) [1818835] - [tools] libtraceevent, perf tools: Changes in tep_print_event_* APIs (Michael Petlan) [1818835] - [tools] perf event: Remove needless include directives from event.h (Michael Petlan) [1818835] - [tools] perf env: Remove env.h from other headers where just a fwd decl is needed (Michael Petlan) [1818835] - [tools] perf debug: Remove needless include directives from debug.h (Michael Petlan) [1818835] - [tools] perf tools: Remove debug.h from header files not needing it (Michael Petlan) [1818835] - [tools] perf tools: Remove perf.h from source files not needing it (Michael Petlan) [1818835] - [tools] perf tools: Remove needless perf.h include directive from headers (Michael Petlan) [1818835] - [tools] perf time-utils: Adopt rdclock() from perf.h (Michael Petlan) [1818835] - [tools] perf tools: Move everything related to sys_perf_event_open() to perf-sys.h (Michael Petlan) [1818835] - [tools] perf header: Move CPUINFO_PROC to the only file where it is used (Michael Petlan) [1818835] - [tools] perf tools: Remove needless libtraceevent include directives (Michael Petlan) [1818835] - [tools] libperf: Warn when exceeding MAX_NR_CPUS in cpumap (Michael Petlan) [1818835] - [tools] perf c2c: Display proper cpu count in nodes column (Michael Petlan) [1818835] - [tools] tools lib traceevent: Remove unneeded qsort and uses memmove instead (Michael Petlan) [1818835] - [tools] tools lib traceevent: Do not free tep->cmdlines in add_new_comm() on failure (Michael Petlan) [1818835] - [tools] perf evlist: Use unshare(CLONE_FS) in sb threads to let setns(CLONE_NEWNS) work (Michael Petlan) [1818835] - [tools] libperf: Move 'enum perf_user_event_type' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Rename the PERF_RECORD_ structs to have a "perf" prefix (Michael Petlan) [1818835] - [tools] libperf: Add 'union perf_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_COMPRESSED 'struct compressed_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_FEATURE 'struct feature_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_TIME_CONV 'struct time_conv_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_STAT_ROUND 'struct stat_round_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_STAT 'struct stat_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_STAT_CONFIG 'struct stat_config_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_THREAD_MAP 'struct thread_map_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_SWITCH 'struct context_switch_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_ITRACE_START 'struct itrace_start_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_AUX 'struct aux_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_AUXTRACE_ERROR 'struct auxtrace_error_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_AUXTRACE 'struct auxtrace_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_AUXTRACE_INFO 'struct auxtrace_info_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_ID_INDEX 'struct id_index_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_BUILD_ID 'struct build_id_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_TRACING_DATA 'struct tracing_data_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_EVENT_TYPE 'struct event_type_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_EVENT_UPDATE 'struct event_update_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_CPU_MAP 'struct cpu_map_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_ATTR 'struct attr_event' to perf/event.h (Michael Petlan) [1818835] - [tools] perf top: Fix event group with more than two events (Michael Petlan) [1818835] - [tools] perf top: Decay all events in the evlist (Michael Petlan) [1818835] - [tools] perf clang: Delete needless util-cxx.h header (Michael Petlan) [1818835] - [tools] perf evlist: Remove needless util.h from evlist.h (Michael Petlan) [1818835] - [tools] perf tools: Remove needless util.h include from builtin.h (Michael Petlan) [1818835] - [tools] perf tools: Warn that perf_event_paranoid can restrict kernel symbols (Michael Petlan) [1818835] - [tools] perf symbols: Use CAP_SYSLOG with kptr_restrict checks (Michael Petlan) [1818835] - [tools] perf evsel: Kernel profiling is disallowed only when perf_event_paranoid > 1 (Michael Petlan) [1818835] - [tools] perf tools: Use CAP_SYS_ADMIN with perf_event_paranoid checks (Michael Petlan) [1818835] - [tools] perf event: Check ref_reloc_sym before using it (Michael Petlan) [1818835] - [tools] perf arch powerpc: Sync powerpc syscall.tbl (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_missing_features::bpf_event to ::bpf (Michael Petlan) [1818835] - [tools] perf tool: Rename perf_tool::bpf_event to bpf (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_event::bpf_event to perf_event::bpf (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_event::ksymbol_event to perf_event::ksymbol (Michael Petlan) [1818835] - [tools] libperf: Rename the PERF_RECORD_ structs to have a "perf" suffix (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_SAMPLE 'struct sample_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_BPF_EVENT 'struct bpf_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_KSYMBOL 'struct ksymbol_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_THROTTLE 'struct throttle_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_READ 'struct read_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_LOST_SAMPLES 'struct lost_samples_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_LOST 'struct lost_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_FORK 'struct fork_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_NAMESPACES 'struct namespaces_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_COMM 'struct comm_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_MMAP2 'struct mmap2_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_MMAP 'struct mmap_event' to perf/event.h (Michael Petlan) [1818835] - [tools] perf script: Fix memory leaks in list_scripts() (Michael Petlan) [1818835] - [tools] perf report: Fix --ns time sort key output (Michael Petlan) [1818835] - [tools] perf report: Use timestamp__scnprintf_nsec() for time sort key (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Reduce perf_event_output() boilerplate (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Introduce helper to get the scratch space (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Postpone tmp map lookup to after pid_filter (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Rename augmented_filename to augmented_arg (Michael Petlan) [1818835] - [tools] perf trace beauty ioctl: Fix off-by-one error in cmd->string table (Michael Petlan) [1818835] - [tools] perf tests: Fixes hang in zstd compression test by changing the source of random data (Michael Petlan) [1818835] - [tools] perf sort: Remove needless headers from sort.h, provide fwd struct decls (Michael Petlan) [1818835] - [tools] perf srcline: Add missing srcline.h header to files needing its defs (Michael Petlan) [1818835] - [tools] perf cacheline: Move cacheline related routines to separate files (Michael Petlan) [1818835] - [tools] perf record: Move record_opts and other record decls out of perf.h (Michael Petlan) [1818835] - [tools] perf stat: Remove needless headers from stat.h (Michael Petlan) [1818835] - [tools] perf cpumap: No need to include perf.h, ditch it (Michael Petlan) [1818835] - [tools] libperf: Fix alignment trap with xyarray contents in 'perf stat' (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map__nr/perf_thread_map__pid functions (Michael Petlan) [1818835] - [tools] perf cpumap: Remove needless includes from cpumap.h (Michael Petlan) [1818835] - [tools] perf evsel: Switch to libperf's cpumap.h (Michael Petlan) [1818835] - [tools] perf x86 kvm-stat: Add missing string.h header (Michael Petlan) [1818835] - [tools] perf evsel: util/evsel.h needs stdio.h as it uses FILE (Michael Petlan) [1818835] - [tools] perf evsel: Remove needless stddef.h from util/evsel.h (Michael Petlan) [1818835] - [tools] perf evsel: Remove needless counts.h header from util/evsel.h (Michael Petlan) [1818835] - [tools] perf evsel: Add missing perf/evsel.h header in util/evsel.h (Michael Petlan) [1818835] - [tools] perf scripting python: Add missing counts.h header (Michael Petlan) [1818835] - [tools] perf stat: Add missing counts.h (Michael Petlan) [1818835] - [tools] perf tests: Add missing counts.h (Michael Petlan) [1818835] - [tools] perf script: Add missing counts.h (Michael Petlan) [1818835] - [tools] perf evlist: Add missing xyarray.h header (Michael Petlan) [1818835] - [tools] perf bpf: Add missing xyarray.h header (Michael Petlan) [1818835] - [tools] perf counts: Add missing headers needed for types used (Michael Petlan) [1818835] - [tools] perf evsel: Move xyarray.h from evsel.c to evsel.h to reduce include dep tree (Michael Petlan) [1818835] - [tools] perf metricgroup: Remove needless includes from metricgroup.h (Michael Petlan) [1818835] - [tools] perf kvm s390: Add missing string.h header (Michael Petlan) [1818835] - [tools] perf arm64: Add missing debug.h header (Michael Petlan) [1818835] - [tools] libperf: Move perf's cpu_map__idx() to perf_cpu_map__idx() (Michael Petlan) [1818835] - [tools] libperf: Move perf's cpu_map__empty() to perf_cpu_map__empty() (Michael Petlan) [1818835] - [tools] perf tools: Use perf_cpu_map__nr instead of cpu_map__nr (Michael Petlan) [1818835] - [tools] tools headers: Add missing perf_event.h include (Michael Petlan) [1818835] - [tools] libperf: Fix arch include paths (Michael Petlan) [1818835] - [tools] tools headers: Fixup bitsperlong per arch includes (Michael Petlan) [1818835] - [tools] perf top: Show info message while collecting samples (Michael Petlan) [1818835] - [tools] perf ui browser: Allow specifying message to show when no samples are available to display (Michael Petlan) [1818835] - [tools] perf ui: Introduce non-interactive ui__info_window() function (Michael Petlan) [1818835] - [tools] perf ui: Make 'exit_msg' optional in ui__question_window() (Michael Petlan) [1818835] - [tools] perf cs-etm: Support sample flags 'insn' and 'insnlen' (Michael Petlan) [1818835] - [tools] perf report: Prefer DWARF callstacks to LBR ones when captured both (Michael Petlan) [1818835] - [tools] perf report: Dump LBR callstack data by -D jointly with thread stack (Michael Petlan) [1818835] - [tools] perf record: Enable LBR callstack capture jointly with thread stack (Michael Petlan) [1818835] - [tools] tools lib traceevent: Fix "robust" test of do_generate_dynamic_list_file (Michael Petlan) [1818835] - [tools] perf evsel: Add comment for 'idx' member in 'struct perf_sample_id (Michael Petlan) [1818835] - [tools] tools headers: Synchronize linux/bits.h with the kernel sources (Michael Petlan) [1818835] - [tools] tools headers: Grab copy of linux/const.h, needed by linux/bits.h (Michael Petlan) [1818835] - [tools] perf tools: tools/include should come before tools/uapi/include (Michael Petlan) [1818835] - [tools] tools headers: Add limits.h to access __WORDSIZE (Michael Petlan) [1818835] - [tools] perf unwind: Remove unnecessary test (Michael Petlan) [1818835] - [tools] perf unwind: Fix libunwind when tid != pid (Michael Petlan) [1818835] - [tools] perf map: Use zalloc for map_groups (Michael Petlan) [1818835] - [tools] perf report: Add --switch-on/--switch-off events (Michael Petlan) [1818835] - [tools] perf top: Add --switch-on/--switch-off events (Michael Petlan) [1818835] - [tools] perf trace: Add --switch-on/--switch-off events (Michael Petlan) [1818835] - [tools] perf evswitch: Add hint when not finding specified on/off events (Michael Petlan) [1818835] - [tools] perf evswitch: Move enoent error message printing to separate function (Michael Petlan) [1818835] - [tools] perf evswitch: Introduce init() method to set the on/off evsels from the command line (Michael Petlan) [1818835] - [tools] perf evswitch: Introduce OPTS_EVSWITCH() for cmd line processing (Michael Petlan) [1818835] - [tools] perf evswitch: Add the names of on/off events (Michael Petlan) [1818835] - [tools] perf evswitch: Move switch logic to use in other tools (Michael Petlan) [1818835] - [tools] perf evswitch: Move struct to a separate header to use in other tools (Michael Petlan) [1818835] - [tools] perf script: Allow specifying event to switch off processing of other events (Michael Petlan) [1818835] - [tools] perf script: Allow showing the --switch-on event (Michael Petlan) [1818835] - [tools] perf script: Allow specifying event to switch on processing of other events (Michael Petlan) [1818835] - [tools] perf vendor events intel: Add Tremontx event file v1.02 (Michael Petlan) [1818835] - [tools] perf ui: No need to set ui_browser to 1 twice (Michael Petlan) [1818835] - [tools] perf record: Support aarch64 random socket_id assignment (Michael Petlan) [1818835] - [tools] perf.data documentation: Clarify HEADER_SAMPLE_TOPOLOGY format (Michael Petlan) [1818835] - [tools] perf evsel: Provide meaningful warning when trying to use 'aux_output' on older kernels (Michael Petlan) [1818835] - [tools] perf intel-pt: Add brief documentation for PEBS via Intel PT (Michael Petlan) [1818835] - [tools] perf tools: Add aux-output config term (Michael Petlan) [1818835] - [tools] perf intel-pt: Process options for PEBS event synthesis (Michael Petlan) [1818835] - [tools] perf tools: Add itrace option 'o' to synthesize aux-output events (Michael Petlan) [1818835] - [tools] perf tools: Add aux_output attribute flag (Michael Petlan) [1818835] - [tools] perf record: Add an option to take an AUX snapshot on exit (Michael Petlan) [1818835] - [tools] perf ftrace: Improve error message about capability to use ftrace (Michael Petlan) [1818835] - [tools] perf ftrace: Use CAP_SYS_ADMIN instead of euid==0 (Michael Petlan) [1818835] - [tools] perf tools: Add CAP_SYSLOG define for older systems (Michael Petlan) [1818835] - [tools] perf tools: Add NO_LIBCAP=1 to the minimal build test (Michael Petlan) [1818835] - [tools] perf tools: Add helpers to use capabilities if present (Michael Petlan) [1818835] - [tools] tools build: Add capability-related feature detection (Michael Petlan) [1818835] - [tools] perf top: Collapse and resort all evsels in a group (Michael Petlan) [1818835] - [tools] perf hist: Remove dummy entries when finding real ones (Michael Petlan) [1818835] - [tools] perf trace: Fix segmentation fault when access syscall info on arm64 (Michael Petlan) [1818835] - [tools] perf hists: Do not link a pair if already linked (Michael Petlan) [1818835] - [tools] perf top: Set display thread COMM to help with debugging (Michael Petlan) [1818835] - [tools] perf vendor events intel: Add Icelake V1.00 event file (Michael Petlan) [1818835] - [tools] perf tools: Fix paths in include statements (Michael Petlan) [1818835] - [tools] perf test vfs_getname: Disable ~/.perfconfig to get default output (Michael Petlan) [1818835] - [tools] perf config: Document the PERF_CONFIG environment variable (Michael Petlan) [1818835] - [tools] perf config: Honour $PERF_CONFIG env var to specify alternate .perfconfig (Michael Petlan) [1818835] - [tools] perf session: Avoid infinite loop when seeing invalid header.size (Michael Petlan) [1818835] - [tools] libperf: Initial documentation (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__enable/disable test (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__enable/disable test (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel tests (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist test (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map test (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map test (Michael Petlan) [1818835] - [tools] libperf: Add tests support (Michael Petlan) [1818835] - [tools] libperf: Add install targets (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__attr() function (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_evlist__enable()/disable() functions from perf (Michael Petlan) [1818835] - [tools] libperf: Adopt simplified perf_evlist__open()/close() functions from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__cpus()/threads() functions (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map__for_each_cpu() macro (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_evsel__enable()/disable()/apply_filter() functions (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_evsel__read() function from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Adopt simplified perf_evsel__close() function from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Adopt simplified perf_evsel__open() function from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_evsel__alloc_fd() function from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Adopt the readn()/writen() functions from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Move nr_members from perf's evsel to libperf's perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Move fd array from perf's evsel to lobperf's perf_evsel class (Michael Petlan) [1818835] - [tools] libperf: Adopt xyarray class from perf (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__set_maps() function (Michael Petlan) [1818835] - [tools] libperf: Add threads to struct perf_evlist (Michael Petlan) [1818835] - [tools] libperf: Add cpus to struct perf_evlist (Michael Petlan) [1818835] - [tools] libperf: Add has_user_cpus to struct perf_evlist (Michael Petlan) [1818835] - [tools] libperf: Add threads to struct perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Add own_cpus to struct perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Add cpus to struct perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__delete() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__delete() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__for_each_evsel() iterator (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__new() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__new() function (Michael Petlan) [1818835] - [tools] libperf: Move zalloc.o into libperf (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map__new()/perf_cpu_map__read() functions (Michael Petlan) [1818835] - [tools] libperf: Move perf_event_attr field from perf's evsel to libperf's perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Add nr_entries to struct perf_evlist (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__remove() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__add() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__init() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__init function (Michael Petlan) [1818835] - [tools] libperf: Include perf_evlist in evlist object (Michael Petlan) [1818835] - [tools] libperf: Include perf_evsel in evsel object (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist and perf_evsel structs (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map__get()/perf_thread_map__put() (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map__new_dummy() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map struct (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map__get()/perf_cpu_map__put() (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map__dummy_new() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map struct (Michael Petlan) [1818835] - [tools] libperf: Add debug output support (Michael Petlan) [1818835] - [tools] libperf: Add perf/core.h header (Michael Petlan) [1818835] - [tools] libperf: Add libperf to the python.so build (Michael Petlan) [1818835] - [tools] libperf: Add build version support (Michael Petlan) [1818835] - [tools] libperf: Make libperf.a part of the perf build (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__disable() to evlist__disable() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__enable() to evlist__enable() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__close() to evlist__close() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__open() to evlist__open() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__cpus() to evsel__cpus() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__apply_filter() to evsel__apply_filter() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__disable() to evsel__disable() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__enable() to evsel__enable() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__open() to evsel__open() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__remove() to evlist__remove() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__add() to evlist__add() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__new() to evsel__new() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__delete() to evsel__delete() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__delete() to evlist__delete() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__new() to evlist__new() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__init() to evlist__init() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__init() to evsel__init() (Michael Petlan) [1818835] - [tools] perf evlist: Rename struct perf_evlist to struct evlist (Michael Petlan) [1818835] - [tools] perf evsel: Rename struct perf_evsel to struct evsel (Michael Petlan) [1818835] - [tools] perf tools: Rename struct thread_map to struct perf_thread_map (Michael Petlan) [1818835] - [tools] perf cpu_map: Rename struct cpu_map to struct perf_cpu_map (Michael Petlan) [1818835] - [tools] perf stat: Move loaded out of struct perf_counts_values (Michael Petlan) [1818835] - [tools] perf trace: Add "sendfile64" alias to the "sendfile" syscall (Michael Petlan) [1818835] - [tools] perf trace: Reuse BPF augmenters from syscalls with similar args signature (Michael Petlan) [1818835] - [tools] perf trace: Preallocate the syscall table (Michael Petlan) [1818835] - [tools] perf trace: Mark syscall ids that are not allocated to avoid unnecessary error messages (Michael Petlan) [1818835] - [tools] perf trace: Forward error codes when trying to read syscall info (Michael Petlan) [1818835] - [tools] perf trace beauty: Add BPF augmenter for the 'rename' syscall (Michael Petlan) [1818835] - [tools] perf trace beauty: Beautify bind's sockaddr arg (Michael Petlan) [1818835] - [tools] perf trace beauty: Beautify 'sendto's sockaddr arg (Michael Petlan) [1818835] - [tools] perf trace beauty: Do not try to use the fd->pathname beautifier for bind/connect fd arg (Michael Petlan) [1818835] - [tools] perf trace beauty: Disable fd->pathname when close() not enabled (Michael Petlan) [1818835] - [tools] perf trace beauty: Make connect's addrlen be printed as an int, not hex (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Augment sockaddr arg in 'connect' (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Rename augmented_args_filename to augmented_args_payload (Michael Petlan) [1818835] - [tools] perf trace: Look for default name for entries in the syscalls prog array (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Support copying two string syscall args (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Switch to using BPF_MAP_TYPE_PROG_ARRAY (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Add handler for "openat" (Michael Petlan) [1818835] - [tools] perf trace: Handle raw_syscalls:sys_enter just like the BPF_OUTPUT augmented event (Michael Petlan) [1818835] - [tools] perf trace: Put the per-syscall entry/exit prog_array BPF map infrastructure in place (Michael Petlan) [1818835] - [tools] perf trace: Allow specifying the bpf prog to augment specific syscalls (Michael Petlan) [1818835] - [tools] perf trace: Add BPF handler for unaugmented syscalls (Michael Petlan) [1818835] - [tools] perf trace: Order -e syscalls table (Michael Petlan) [1818835] - [tools] perf trace: Look up maps just on the __augmented_syscalls__ BPF object (Michael Petlan) [1818835] - [tools] perf trace: Add pointer to BPF object containing __augmented_syscalls__ (Michael Petlan) [1818835] - [tools] perf evsel: Store backpointer to attached bpf_object (Michael Petlan) [1818835] - [tools] perf bpf: Do not attach a BPF prog to a tracepoint if its name starts with ! (Michael Petlan) [1818835] - [tools] perf include bpf: Add bpf_tail_call() prototype (Michael Petlan) [1818835] - [tools] perf: cs-etm: Optimize option setup for CPU-wide sessions (Michael Petlan) [1818835] - [tools] perf cs-etm: Remove duplicate GENMASK() define, use linux/bits.h instead (Michael Petlan) [1818835] - [tools] perf cs-etm: Add support for CPU-wide trace scenarios (Michael Petlan) [1818835] - [tools] perf cs-etm: Add notion of time to decoding code (Michael Petlan) [1818835] - [tools] perf cs-etm: Linking PE contextID with perf thread mechanic (Michael Petlan) [1818835] - [tools] perf cs-etm: Add support for multiple traceID queues (Michael Petlan) [1818835] - [tools] perf cs-etm: Use traceID aware memory callback API (Michael Petlan) [1818835] - [tools] perf cs-etm: Move tid/pid to traceid_queue (Michael Petlan) [1818835] - [tools] perf cs-etm: Move thread to traceid_queue (Michael Petlan) [1818835] - [tools] perf cs-etm: Get rid of unused cpu in struct cs_etm_queue (Michael Petlan) [1818835] - [tools] perf cs-etm: Introduce the concept of trace ID queues (Michael Petlan) [1818835] - [tools] perf cs-etm: Fix indentation in function cs_etm__process_decoder_queue() (Michael Petlan) [1818835] - [tools] perf cs-etm: Move packet queue out of decoder structure (Michael Petlan) [1818835] - [tools] perf cs-etm: Refactor error path in cs_etm_decoder__new() (Michael Petlan) [1818835] - [tools] perf cs-etm: Add handling of switch-CPU-wide events (Michael Petlan) [1818835] - [tools] perf cs-etm: Add handling of itrace start events (Michael Petlan) [1818835] - [tools] perf cs-etm: Configure SWITCH_EVENTS in CPU-wide mode (Michael Petlan) [1818835] - [tools] perf cs-etm: Configure timestamp generation in CPU-wide mode (Michael Petlan) [1818835] - [tools] perf cs-etm: Configure contextID tracing in CPU-wide mode (Michael Petlan) [1818835] - [kernel] perf/core: Fix missing static inline on perf_cgroup_switch() (Michael Petlan) [1818835] - [kernel] perf/core: Consistently fail fork on allocation failures (Michael Petlan) [1818835] - [kernel] perf/core: Disallow uncore-cgroup events (Michael Petlan) [1818835] - [include] perf/headers: Fix spelling s/EACCESS/EACCES/, s/privilidge/privilege/ (Michael Petlan) [1818835] - [x86] perf/x86/uncore: Fix event group support (Michael Petlan) [1818835] - [kernel] perf/core: Start rejecting the syscall with attr.__reserved_2 set (Michael Petlan) [1818835] - [kernel] perf/aux: Fix tracking of auxiliary trace buffer allocation (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Fix base for single entry topa (Michael Petlan) [1818835] - [x86] perf/x86/cstate: Add Tiger Lake CPU support (Michael Petlan) [1818835] - [x86] perf/x86/msr: Add Tiger Lake CPU support (Michael Petlan) [1818835] - [x86] perf/x86/intel: Add Tiger Lake CPU support (Michael Petlan) [1818835] - [x86] perf/x86/cstate: Update C-state counters for Ice Lake (Michael Petlan) [1818835] - [x86] perf/x86/msr: Add new CPU model numbers for Ice Lake (Michael Petlan) [1818835] - [kernel] perf/core: Fix corner case in perf_rotate_context() (Michael Petlan) [1818835] - [kernel] perf/core: Rework memory accounting in perf_mmap() (Michael Petlan) [1818835] - [kernel] perf/core: Fix several typos in comments (Michael Petlan) [1818835] - [x86] perf/x86: Make more stuff static (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Get rid of reverse lookup table for ToPA (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Free up space in a ToPA descriptor (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Split ToPA metadata and page layout (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Use pointer arithmetics instead in ToPA entry calculation (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Use helpers to obtain ToPA entry size (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Clean up ToPA allocation path (Michael Petlan) [1818835]- [scsi] scsi: bnx2fc: Update the driver version to 2.12.13 (Nilesh Javali) [1792115] - [scsi] scsi: bnx2fc: fix boolreturn.cocci warnings (Nilesh Javali) [1792115] - [scsi] scsi: bnx2fc: Fix SCSI command completion after cleanup is posted (Nilesh Javali) [1792115] - [scsi] scsi: bnx2fc: Process the RQE with CQE in interrupt context (Nilesh Javali) [1792115] - [scsi] scsi: bnx2fc: timeout calculation invalid for bnx2fc_eh_abort() (Nilesh Javali) [1792115] - [powerpc] powerpc/smp: Use nid as fallback for package_id (Steve Best) [1764530] - [kernel] audit: Add __rcu annotation to RCU pointer (Richard Guy Briggs) [1822776] - [infiniband] i40iw: Report correct firmware version (Stefan Assmann) [1726909] - [x86] x86/mce/amd: Add PPIN support for AMD MCE (Wei Huang) [1790521] - [kernel] locking/percpu-rwsem: Fix a task_struct refcount (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Add might_sleep() for writer locking (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Fold __percpu_up_read() (Waiman Long) [1810257] - [kernel] locking/rwsem: Remove RWSEM_OWNER_UNKNOWN (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Remove the embedded rwsem (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Extract __percpu_down_read_trylock() (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Move __this_cpu_inc() into the slowpath (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Convert to bool (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem, lockdep: Make percpu-rwsem use its own lockdep_map (Waiman Long) [1810257] - [kernel] locking/lockdep: Remove unused @nested argument from lock_release() (Waiman Long) [1810257] - [kernel] sched/core: Convert get_task_struct() to return the task (Waiman Long) [1810257] - [kernel] locking/lockdep, cpu/hotplug: Annotate AP thread (Waiman Long) [1810257] - [tty] tty/ldsem: Decrement wait_readers on timeouted down_read() (Waiman Long) [1810257] - [tty] tty/ldsem: Convert to regular lockdep annotations (Waiman Long) [1810257] - [tty] tty/ldsem: Wake up readers after timed out down_write() (Waiman Long) [1810257] - [tty] atomic/tty: Fix up atomic abuse in ldsem (Waiman Long) [1810257] - [kernel] cpu/hotplug: Remove skip_onerr field from cpuhp_step structure (Waiman Long) [1810257] - [watchdog] watchdog: hpwdt: drop warning after calling watchdog_init_timeout (Joseph Szczypek) [1790669] - [mm] powerpc/pkeys: Fix handling of pkey state across fork() (Steve Best) [1823744] - [irqchip] irqchip/gic-v3: Workaround Cavium erratum 38539 when reading GICD_TYPER2 (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Avoid 64bit division for the sake of 32bit ARM (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Rename VPENDBASER/VPROPBASER accessors (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Remove superfluous WARN_ON (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Drop 'tmp' in inherit_vpe_l1_table_from_rd() (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Ensure L2 vPE table is allocated at RD level (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Set vpe_l1_base for all redistributors (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Fix programming of GICR_VPROPBASER_4_1_SIZE (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Reference to its_invall_cmd descriptor when building INVALL (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Only provision redistributors that are enabled in ACPI (Mark Salter) [1818174] - [arm64] arm64: acpi: fix DAIF manipulation with pNMI (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Allow direct invalidation of VLPIs (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Suppress per-VLPI doorbell (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Add VPE INVALL callback (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Add VPE eviction callback (Mark Salter) [1818174] - [include] irqchip/gic-v4.1: Add VPE residency callback (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Add mask/unmask doorbell callbacks (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Plumb skeletal VPE irqchip (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Implement the v4.1 flavour of VMOVP (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Don't use the VPE proxy if RVPEID is set (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Implement the v4.1 flavour of VMAPP (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: VPE table (aka GICR_VPROPBASER) allocation (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add GICv4.1 VPEID size discovery (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Detect GICv4.1 supporting RVPEID (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix get_vlpi_map() breakage with doorbells (Mark Salter) [1818174] - [arm64] arm64: Kconfig: Remove CONFIG_ prefix from ARM64_PSEUDO_NMI section (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Make vlpi_lock a spinlock (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Lock VLPI map array before translating it (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Synchronise INT/CLEAR commands targetting a VLPI using VSYNC (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Synchronise INV command targetting a VLPI using VSYNC (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Add its_vlpi_map helpers (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Kill its->device_ids and use TYPER copy instead (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Kill its->ite_size and use TYPER copy instead (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Make is_v4 use a TYPER copy (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Allow LPI invalidation via the DirectLPI interface (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Factor out wait_for_syncr primitive (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Free collection mapping on device teardown (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix u64 to __le64 warnings (Mark Salter) [1818174] - [irqchip] irqchip: Remove redundant semicolon after while (Mark Salter) [1818174] - [virt] KVM: vgic-v4: Track the number of VLPIs per vcpu (Mark Salter) [1818174] - [virt] KVM: arm64: vgic-v4: Move the GICv4 residency flow to be driven by vcpu_load/put (Mark Salter) [1818174] - [arm64] arm64: add local_daif_inherit() (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Use the exact ITSList for VMOVP (Mark Salter) [1818174] - [arm64] arm64: Relax ICC_PMR_EL1 accesses when ICC_CTLR_EL1.PMHE is clear (Mark Salter) [1818174] - [arm64] arm64: Fix incorrect irqflag restore for priority masking for compat (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Fix GIC_LINE_NR accessor (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix LPI release for Multi-MSI devices (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Remove the redundant set_bit for lpi_map (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add quirks for HIP06/07 invalid GICD_TYPER erratum 161010803 (Mark Salter) [1818174] - [irqchip] irqchip/gic: Skip DT quirks when evaluating IIDR-based quirks (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Warn about inconsistent implementations of extended ranges (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add EPPI range support (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Dynamically allocate PPI partition descriptors (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Dynamically allocate PPI NMI refcounts (Mark Salter) [1818174] - [irqchip] irqchip/gic: Prepare for more than 16 PPIs (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add ESPI range support (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add INTID range and convertion primitives (Mark Salter) [1818174] - [irqchip] irqchip/gic: Rework gic_configure_irq to take the full ICFGR base (Mark Salter) [1818174] - [irqchip] irqchip/gic-v2m: Register the frame's PA instead of its VA in fwnode (Mark Salter) [1818174] - [irqchip] irqchip/gic: Register the distributor's PA instead of its VA in fwnode (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Register the ITS' PA instead of its VA in fwnode (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Register the distributor's PA instead of its VA in fwnode (Mark Salter) [1818174] - [arm64] arm64: kprobes: Recover pstate.D in single-step exception handler (Mark Salter) [1818174] - [arm64] arm64: Lower priority mask for GIC_PRIO_IRQON (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Free unused vpt_page when alloc vpe table fail (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Mark expected switch fall-through (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix misuse of GENMASK macro (Mark Salter) [1818174] - [arm64] arm64: fix kernel stack overflow in kdump capture kernel (Mark Salter) [1818174] - [arm64] arm64: irqflags: Introduce explicit debugging for IRQ priorities (Mark Salter) [1818174] - [arm64] arm64: Enable the support of pseudo-NMIs (Mark Salter) [1818174] - [arm64] arm64: Fix incorrect irqflag restore for priority masking (Mark Salter) [1818174] - [arm64] arm64: Fix interrupt tracing in the presence of NMIs (Mark Salter) [1818174] - [arm64] arm64: irqflags: Add condition flags to inline asm clobber list (Mark Salter) [1818174] - [arm64] arm64: irqflags: Pass flags as readonly operand to restore instruction (Mark Salter) [1818174] - [arm64] arm64: Do not enable IRQs for ct_user_exit (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix command queue pointer comparison bug (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Make free_lpi_range a little cheaper (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Drop redundant initialization in mk_lpi_range (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Move allocation outside mutex (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix typo in a comment in its_msi_prepare() (Mark Salter) [1818174] - [include] irqchip/gic-v3-its: fix some definitions of inner cacheability attributes (Mark Salter) [1818174] - [arm64] arm64: fix wrong check of on_sdei_stack in nmi context (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix comparison logic in lpi_range_cmp (Mark Salter) [1818174] - [arm64] arm64: remove obsolete selection of MULTI_IRQ_HANDLER (Mark Salter) [1818174] - [irqchip] irqchip/gicv3-its: Use NUMA aware memory allocation for ITS tables (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Avoid parsing _indirect_ twice for Device table (Mark Salter) [1818174] - [arm64] arm64: irqflags: Fix clang build warnings (Mark Salter) [1818174] - [arm64] arm64: KVM/mm: Move SEA handling behind a single 'claim' interface (Mark Salter) [1818174] - [arm64] arm64: Skip irqflags tracing for NMI in IRQs disabled context (Mark Salter) [1818174] - [arm64] arm64: Skip preemption when exiting an NMI (Mark Salter) [1818174] - [arm64] arm64: Handle serror in NMI context (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Allow interrupts to be set as pseudo-NMI (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Handle pseudo-NMIs (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Detect if GIC can support pseudo-NMIs (Mark Salter) [1818174] - [arm64] arm64: gic-v3: Implement arch support for priority masking (Mark Salter) [1818174] - [irqchip] arm64: Switch to PMR masking when starting CPUs (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Factor group0 detection into functions (Mark Salter) [1818174] - [arm64] arm64: alternative: Apply alternatives early in boot process (Mark Salter) [1818174] - [arm64] arm64: alternative: Allow alternative status checking per cpufeature (Mark Salter) [1818174] - [arm64] arm64: sysreg: Make mrs_s and msr_s macros work with Clang and LTO (Mark Salter) [1818174] - [arm64] arm64: daifflags: Include PMR in daifflags restore operations (Mark Salter) [1818174] - [arm64] arm64: irqflags: Use ICC_PMR_EL1 for interrupt masking (Mark Salter) [1818174] - [firmware] efi: Let architectures decide the flags that should be saved/restored (Mark Salter) [1818174] - [kvm] arm64: kvm: Unmask PMR before entering guest (Mark Salter) [1818174] - [mm] arm64: Unmask PMR before going idle (Mark Salter) [1818174] - [arm64] arm64: Make PMR part of task context (Mark Salter) [1818174] - [arm64] arm64: ptrace: Provide definitions for PMR values (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Switch to PMR masking before calling IRQ handler (Mark Salter) [1818174] - [arm64] arm64: cpufeature: Add cpufeature for IRQ priority masking (Mark Salter) [1818174] - [arm64] arm64: cpufeature: Set SYSREG_GIC_CPUIF as a boot system feature (Mark Salter) [1818174] - [arm64] arm64: Remove unused daif related functions/macros (Mark Salter) [1818174] - [arm64] arm64: Fix HCR.TGE status for NMI contexts (Mark Salter) [1818174] - [kernel] irqdesc: Add domain handler for NMIs (Mark Salter) [1818174] - [kernel] genirq: Update irq stats from NMI handlers (Mark Salter) [1818174] - [kernel] genirq: Provide NMI handlers (Mark Salter) [1818174] - [kernel] genirq: Provide NMI management for percpu_devid interrupts (Mark Salter) [1818174] - [kernel] genirq: Provide basic NMI management for interrupt lines (Mark Salter) [1818174] - [include] irqchip/gic-v3-its: Fix ITT_entry_size accessor (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Gracefully fail on LPI exhaustion (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Plug allocation race for devices sharing a DevID (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4: Fix occasional VLPI drop (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-mbi: Fix uninitialized mbi_lock (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add quirk for msm8996 broken registers (Mark Salter) [1818174] - [irqchip] irqchip/gic: Add support to device tree based quirks (Mark Salter) [1818174] - [arm64] arm64: capabilities: Batch cpu_enable callbacks (Mark Salter) [1818174] - [arm64] arm64: capabilities: Use linear array for detection and verification (Mark Salter) [1818174] - [arm64] arm64: capabilities: Optimize this_cpu_has_cap (Mark Salter) [1818174] - [arm64] arm64: capabilities: Speed up capability lookup (Mark Salter) [1818174] - [irqchip] irqchip: Convert to using pOFn instead of device_node.name (Mark Salter) [1818174] - [mm] arm64: Use daifflag_restore after bp_hardening (Mark Salter) [1818174] - [arm64] arm64: daifflags: Use irqflags functions for daifflags (Mark Salter) [1818174] - [include] irqchip/gic: Unify GIC priority definitions (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Remove acknowledge loop (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Allow interrupt to be configured as wake-up sources (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Make its_lock a raw_spin_lock_t (Mark Salter) [1818174] - [irqchip] genirq/irqchip: Remove MULTI_IRQ_HANDLER as it's now obselete (Mark Salter) [1818174] - [arm64] arm64: Use the new GENERIC_IRQ_MULTI_HANDLER (Mark Salter) [1818174] - [irqchip] irqchip: Port the ARM IRQ drivers to GENERIC_IRQ_MULTI_HANDLER (Mark Salter) [1818174] - [arm64] arm64: sdei: Mark sdei stack helper functions as static (Mark Salter) [1818174] - [arm64] arm64: Add stack information to on_accessible_stack (Mark Salter) [1818174] - [x86] Reserve at most 64M of SWIOTLB memory for crashkernel (Kairui Song) [1812754] - [md] md/raid1: introduce wait_for_serialization (Nigel Croxon) [1788370] - [md] md/raid1: use bucket based mechanism for IO serialization (Nigel Croxon) [1788370] - [md] md: introduce a new struct for IO serialization (Nigel Croxon) [1788370] - [md] md: don't destroy serial_info_pool if serialize_policy is true (Nigel Croxon) [1788370] - [md] raid1: serialize the overlap write (Nigel Croxon) [1788370] - [md] md: reorgnize mddev_create/destroy_serial_pool (Nigel Croxon) [1788370] - [md] md: add serialize_policy sysfs node for raid1 (Nigel Croxon) [1788370] - [md] md: prepare for enable raid1 io serialization (Nigel Croxon) [1788370] - [md] md: fix a typo s/creat/create (Nigel Croxon) [1788370] - [md] md: rename wb stuffs (Nigel Croxon) [1788370] - [md] raid5: remove worker_cnt_per_group argument from alloc_thread_groups (Nigel Croxon) [1788370] - [lib] md/raid6: fix algorithm choice under larger PAGE_SIZE (Nigel Croxon) [1788370] - [lib] raid6/test: fix a compilation warning (Nigel Croxon) [1788370] - [md] md-bitmap: small cleanups (Nigel Croxon) [1788370]- [firmware] efi: cper: print AER info of PCIe fatal error (Vladis Dronov) [1822595] - [init] redhat: Replace hardware.redhat.com link in Unsupported message (Prarit Bhargava) [1810301] - [pci] PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken (Myron Stowe) [1820933] - [pci] PCI: Fix typos (Myron Stowe) [1820933] - [pci] PCI: Remove useless comments and tidy others (Myron Stowe) [1820933] - [pci] PCI: Remove unnecessary includes (Myron Stowe) [1820933] - [tools] tools: PCI: Fix fd leakage (Myron Stowe) [1820933] - [pci] PCI: Export pci_parse_request_of_pci_ranges() (Myron Stowe) [1820933] - [include] resource: Add a resource_list_first_type helper (Myron Stowe) [1820933] - [pci] PCI/ATS: Restore EXPORT_SYMBOL_GPL() for pci_{enable, disable}_ats() (Myron Stowe) [1820933] - [include] PCI/ATS: Add PASID stubs (Myron Stowe) [1820933] - [pci] PCI: Unify ACS quirk desired vs provided checking (Myron Stowe) [1820933] - [pci] PCI: Make ACS quirk implementations more uniform (Myron Stowe) [1820933] - [pci] PCI: Apply Cavium ACS quirk to ThunderX2 and ThunderX3 (Myron Stowe) [1820933] - [pci] PCI/IOV: Serialize sysfs sriov_numvfs reads vs writes (Myron Stowe) [1820933] - [pci] PCI: Add DMA alias quirk for Intel VCA NTB (Myron Stowe) [1820933] - [pci] PCI: Fix Intel ACS quirk UPDCR register address (Myron Stowe) [1820933] - [pci] PCI/ATS: Make pci_restore_pri_state(), pci_restore_pasid_state() private (Myron Stowe) [1820933] - [pci] PCI/ATS: Remove unnecessary EXPORT_SYMBOL_GPL() (Myron Stowe) [1820933] - [include] PCI/ATS: Remove unused PRI and PASID stubs (Myron Stowe) [1820933] - [pci] PCI/ATS: Consolidate ATS declarations in linux/pci-ats.h (Myron Stowe) [1820933] - [pci] PCI/ATS: Cache PRI PRG Response PASID Required bit (Myron Stowe) [1820933] - [pci] PCI/ATS: Use PF PASID for VFs (Myron Stowe) [1820933] - [pci] PCI/ATS: Cache PASID Capability offset (Myron Stowe) [1820933] - [pci] PCI/ATS: Cache PRI Capability offset (Myron Stowe) [1820933] - [pci] PCI/ATS: Disable PF/VF ATS service independently (Myron Stowe) [1820933] - [pci] PCI/ATS: Handle sharing of PF PASID Capability with all VFs (Myron Stowe) [1820933] - [pci] PCI/ATS: Handle sharing of PF PRI Capability with all VFs (Myron Stowe) [1820933] - [pci] PCI/ATS: Move pci_prg_resp_pasid_required() to CONFIG_PCI_PRI (Myron Stowe) [1820933] - [iommu] iommu/vt-d: Select PCI_PRI for INTEL_IOMMU_SVM (Myron Stowe) [1820933] - [pci] PCI/switchtec: Read all 64 bits of part_event_bitmap (Myron Stowe) [1820933] - [pci] PCI: Do not use bus number zero from EA capability (Myron Stowe) [1820933] - [pci] PCI: Avoid double hpmemsize MMIO window assignment (Myron Stowe) [1820933] - [pci] PCI: Add "pci=hpmmiosize" and "pci=hpmmioprefsize" parameters (Myron Stowe) [1820933] - [pci] PCI: Add PCI_STD_NUM_BARS for the number of standard BARs (Myron Stowe) [1820933] - [pci] PCI: Fix missing bridge dma_ranges resource list cleanup (Myron Stowe) [1820933] - [pci] PCI: Protect pci_reassign_bridge_resources() against concurrent addition/removal (Myron Stowe) [1820933] - [pci] PCI/MSI: Fix incorrect MSI-X masking on resume (Myron Stowe) [1820933] - [pci] PCI/MSI: Move power state check out of pci_msi_supported() (Myron Stowe) [1820933] - [pci] PCI/MSI: Remove unused pci_irq_get_node() (Myron Stowe) [1820933] - [uapi] PCI: Add #defines for Enter Compliance, Transmit Margin (Myron Stowe) [1820933] - [pci] PCI: Allow building PCIe things without PCIEPORTBUS (Myron Stowe) [1820933] - [pci] PCI: Remove PCIe Kconfig dependencies on PCI (Myron Stowe) [1820933] - [pci] PCI/ASPM: Remove dependency on PCIEPORTBUS (Myron Stowe) [1820933] - [pci] PCI/PTM: Remove dependency on PCIEPORTBUS (Myron Stowe) [1820933] - [pci] PCI/PTM: Remove spurious "d" from granularity message (Myron Stowe) [1820933] - [pci] PCI: sysfs: Remove unused attribute groups (Myron Stowe) [1820933] - [x86] x86/PCI: Avoid AMD FCH XHCI USB PME# from D0 defect (Myron Stowe) [1820933] - [pci] PCI: Remove unused includes and superfluous struct declaration (Myron Stowe) [1820933] - [x86] x86/PCI: Replace deprecated EXTRA_CFLAGS with ccflags-y (Myron Stowe) [1820933] - [pci] x86/PCI: Correct SPDX comment style (Myron Stowe) [1820933] - [x86] x86/PCI: Add NumaChip SPDX GPL-2.0 to replace COPYING boilerplate (Myron Stowe) [1820933] - [pci] ACPI / hotplug / PCI: Allocate resources directly under the non-hotplug bridge (Myron Stowe) [1820933] - [pci] PCI: pciehp: Prevent deadlock on disconnect (Myron Stowe) [1820933] - [pci] PCI: pciehp: Do not disable interrupt twice on suspend (Myron Stowe) [1820933] - [pci] PCI: pciehp: Refactor infinite loop in pcie_poll_cmd() (Myron Stowe) [1820933] - [pci] PCI: pciehp: Fix indefinite wait on sysfs requests (Myron Stowe) [1820933] - [pci] PCI: pciehp: Avoid returning prematurely from sysfs requests (Myron Stowe) [1820933] - [pci] PCI: Warn if no host bridge NUMA node info (Myron Stowe) [1820933] - [pci] PCI/ASPM: Remove PCIEASPM_DEBUG Kconfig option and related code (Myron Stowe) [1820933] - [pci] PCI/ASPM: Add sysfs attributes for controlling ASPM link states (Myron Stowe) [1820933] - [pci] PCI/ASPM: Add pcie_aspm_get_link() (Myron Stowe) [1820933] - [pci] PCI/ASPM: Allow re-enabling Clock PM (Myron Stowe) [1820933] - [pci] PCI/ASPM: Add L1 PM substate support to pci_disable_link_state() (Myron Stowe) [1820933] - [pci] PCI/ASPM: Remove pcie_aspm_enabled() unnecessary locking (Myron Stowe) [1820933] - [pci] PCI/DPC: Add "pcie_ports=dpc-native" to allow DPC without AER control (Myron Stowe) [1820933] - [pci] PCI/AER: Fix kernel-doc warnings (Myron Stowe) [1820933] - [pci] PCI/AER: Use for_each_set_bit() to simplify code (Myron Stowe) [1820933] - [pci] PCI/AER: Add PoisonTLPBlocked to Uncorrectable error counters (Myron Stowe) [1820933] - [pci] PCI/AER: Save AER Capability for suspend/resume (Myron Stowe) [1820933] - [pci] PCI: Add ACS quirk for iProc PAXB (Myron Stowe) [1820933] - [cpufreq] cpufreq: intel_pstate: Simplify intel_pstate_cpu_init() (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_work_fn (Prarit Bhargava) [1823339] - [cpufreq] x86/devicetable: Move x86 specific macro out of generic code (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Use scnprintf() for avoiding potential buffer overflow (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: Consolidate policy verification (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: powernv: Fix unsafe notifiers (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: powernv: Fix use-after-free (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: dt: Allow platform specific intermediate callbacks (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: add function to get the hardware max frequency (Prarit Bhargava) [1823339] - [kernel] sched/vtime: Prevent unstable evaluation of WARN(vtime->state) (Prarit Bhargava) [1823339] - [cpufreq] docs: cpufreq: fix a broken reference (Prarit Bhargava) [1823339] - [kernel] PM: QoS: annotate data races in pm_qos_*_value() (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Fix policy initialization for internal governor drivers (Prarit Bhargava) [1823339] - [documentation] Documentation: power: fix pm_qos_interface.rst format warning (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Make CPU latency QoS depend on CONFIG_CPU_IDLE (Prarit Bhargava) [1823339] - [documentation] Documentation: PM: QoS: Update to reflect previous code changes (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Update file information comments (Prarit Bhargava) [1823339] - [x86] x86: platform: iosf_mbi: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [cpuidle] cpuidle: Call cpu_latency_qos_limit() instead of pm_qos_request() (Prarit Bhargava) [1823339] - [x86] x86: baytrail/cherrytrail: Rework and move P-Unit PMIC bus semaphore code (Prarit Bhargava) [1823339] - [sound] sound: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [media] drivers: media: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [wireless] drivers: net: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [drm] drm/i915: Implement a better i945gm vblank irq vs. C-states workaround (Prarit Bhargava) [1823339] - [drm] drm: i915: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop PM_QOS_CPU_DMA_LATENCY and rename related functions (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Adjust pm_qos_request() signature and reorder pm_qos.h (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Simplify definitions of CPU latency QoS trace events (Prarit Bhargava) [1823339] - [tty] PM: QoS: Rename things related to the CPU latency QoS (Prarit Bhargava) [1823339] - [cpuidle] PM: QoS: Drop PM_QOS_CPU_DMA_LATENCY notifier chain (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Redefine struct pm_qos_request and drop struct pm_qos_object (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Clean up misc device file operations (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop iterations over global QoS classes (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Clean up pm_qos_read_value() and pm_qos_get/set_value() (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Clean up pm_qos_update_target() and pm_qos_update_flags() (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop the PM_QOS_SUM QoS type (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop pm_qos_update_request_timeout() (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop debugfs interface (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: ti-cpufreq: Add support for OPP_PLUS (Prarit Bhargava) [1823339] - [x86] x86/intel_pstate: Handle runtime turbo disablement/enablement in frequency invariance (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance on ATOM (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance on ATOM_GOLDMONT* (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance on XEON_PHI_KNL/KNM (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance on SKYLAKE_X (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Avoid creating excessively large stack frames (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: loongson2_cpufreq: adjust cpufreq uses of LOONGSON_CHIPCFG (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: brcmstb-avs: fix imbalance of cpufreq policy refcount (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: fix spelling mistake: "Whethet" -> "Whether" (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: s3c: fix unbalances of cpufreq policy refcount (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: tegra186: convert to devm_platform_ioremap_resource (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: kirkwood: convert to devm_platform_ioremap_resource (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: CPPC: put ACPI table after using it (Prarit Bhargava) [1823339] - [cpufreq] cpufreq : CPPC: Break out if HiSilicon CPPC workaround is matched (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: scmi: Match scmi device by both name and protocol id (Prarit Bhargava) [1823339] - [base] PM / QoS: Restore DEV_PM_QOS_MIN/MAX_FREQUENCY (Prarit Bhargava) [1823339] - [base] PM: QoS: Drop frequency QoS types from device PM QoS (Prarit Bhargava) [1823339] - [include] PM / QoS: Reorder pm_qos/freq_qos/dev_pm_qos structs (Prarit Bhargava) [1823339] - [include] PM / QoS: Redefine FREQ_QOS_MAX_DEFAULT_VALUE to S32_MAX (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Fix Kconfig indentation (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Use vtime aware kcpustat accessors for user time (Prarit Bhargava) [1823339] - [kernel] sched/vtime: Bring up complete kcpustat accessor (Prarit Bhargava) [1823339] - [documentation] PM: Wrap documentation to fit in 80 columns (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Invalidate frequency QoS requests after removal (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Register drivers only after CPU devices have been registered (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Add NULL checks to show() and store() methods of cpufreq (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: Fix invalid EPB setting (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Initialize cpufreq-dt driver earlier (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: Fix plain int as pointer warning from sparse (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: powernv: fix stack bloat and hard limit on number of CPUs (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Clarify the comment in cpufreq_set_policy() (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Use vtime aware kcpustat accessor to fetch CPUTIME_SYSTEM (Prarit Bhargava) [1823339] - [kernel] sched/kcpustat: Introduce vtime-aware kcpustat accessor for CPUTIME_SYSTEM (Prarit Bhargava) [1823339] - [include] sched/vtime: Introduce vtime_accounting_enabled_cpu() (Prarit Bhargava) [1823339] - [kernel] sched/vtime: Rename vtime_accounting_cpu_enabled() to vtime_accounting_enabled_this_cpu() (Prarit Bhargava) [1823339] - [include] context_tracking: Introduce context_tracking_enabled_cpu() (Prarit Bhargava) [1823339] - [include] context_tracking: Rename context_tracking_is_cpu_enabled() to context_tracking_enabled_this_cpu() (Prarit Bhargava) [1823339] - [kernel] sched/vtime: Record CPU under seqcount for kcpustat needs (Prarit Bhargava) [1823339] - [acpi] ACPI: processor: Add QoS requests for all CPUs (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: scpi: remove stale/outdated comment about the driver (Prarit Bhargava) [1823339] - [thermal] thermal/drivers/cpufreq_cooling: Fix return of cpufreq_set_cur_state (Prarit Bhargava) [1823339] - [acpi] cpufreq: Use per-policy frequency QoS (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Introduce frequency QoS (Prarit Bhargava) [1823339] - [acpi] ACPI: processor: Avoid NULL pointer dereferences at init time (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: ti-cpufreq: Add support for AM3517 (Prarit Bhargava) [1823339] - [cpufreq] ARM: dts: omap36xx: using OPP1G needs to control the abb_ldo (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: ti-cpufreq: add support for omap34xx and omap36xx (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Remove CPUFREQ_ADJUST and CPUFREQ_NOTIFY policy notifier events (Prarit Bhargava) [1823339] - [base] arch_topology: Use CPUFREQ_CREATE_POLICY instead of CPUFREQ_NOTIFY (Prarit Bhargava) [1823339] - [acpi] ACPI: cpufreq: Switch to QoS requests instead of cpufreq notifier (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Get rid of unused flags (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: Implement QoS supported freq constraints (Prarit Bhargava) [1823339] - [thermal] thermal: cpu_cooling: Switch to QoS requests for freq limits (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Add policy create/remove notifiers back (Prarit Bhargava) [1823339] - [documentation] docs: power: convert docs to ReST and rename to *.rst (Prarit Bhargava) [1823339] - [kernel] PM: QoS: no need to check return value of debugfs_create functions (Prarit Bhargava) [1823339] - [kernel] PM / QoS: Change to use DEFINE_SHOW_ATTRIBUTE macro (Prarit Bhargava) [1823339] - [nvme] nvme-fc: Revert "add module to ops template to allow module references" (Gopal Tiwari) [1823270] - [nvme] nvme: fix deadlock caused by ANA update wrong locking (Gopal Tiwari) [1823270] - [nvme] nvme-pci: Hold cq_poll_lock while completing CQEs (Gopal Tiwari) [1823270] - [uapi] nvme: change nvme_passthru_cmd64 to explicitly mark rsvd (Gopal Tiwari) [1823270] - [tools] tools/power/x86/intel-speed-select: Fix a typo in error message (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Update version (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Avoid duplicate Package strings for json (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Add display for enabled cpus count (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Print friendly warning for bad command line (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Fix avx options for turbo-freq feature (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve CLX commands (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Show error for invalid CPUs in the options (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve core-power result and error display (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Kernel interface error handling (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve error display for turbo-freq feature (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve error display for base-freq feature (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve output of perf-profile commands (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Enhance help for core-power assoc (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Display error for invalid priority type (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Check feature status first (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve error display for perf-profile feature (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Add an API for error/information print (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Enhance --info option (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Enhance help (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Helpful warning for missing kernel interface (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Store topology information (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Max CPU count calculation when CPU0 is offline (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Special handling for CPU 0 online/offline (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Use more verbiage for clos information (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Enhance core-power info command (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Make target CPU optional for core-power info (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Warn for invalid package id (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Fix last cpu number (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Fix mailbox usage for CLOS_PM_QOS_CONFIG (Prarit Bhargava) [1778956] - [platform] platform/x86: ISST: Fix wrong unregister type (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Avoid duplicate names for json parsing (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Fix display for turbo-freq auto mode (Prarit Bhargava) [1778956] - [platform] platform/x86: ISST: Allow additional core-power mailbox commands (Prarit Bhargava) [1778956] - [misc] mei: me: add comet point (lake) H device ids (Ken Cox) [1815355] - [misc] mei: me: add comet point (lake) LP device ids (Ken Cox) [1815355] - [misc] mei: define dma ring buffer sizes for PCH12 HW and newer (Ken Cox) [1815355] - [misc] mei: hbm: define dma ring setup protocol (Ken Cox) [1815355] - [acpi] apei/ghes: Do not delay GHES polling (Robert Richter) [1793544] - [edac] EDAC/ghes: Do not warn when incrementing refcount on 0 (Robert Richter) [1793544] - [edac] EDAC/ghes: Fix locking and memory barrier issues (Robert Richter) [1793544] - [edac] EDAC/ghes: Fix Use after free in ghes_edac remove path (Robert Richter) [1793544] - [edac] EDAC, ghes: Use CPER module handles to locate DIMMs (Robert Richter) [1793544] - [kernel] sched/fair: Fix statistics for find_idlest_group() (Phil Auld) [1794398] - [kernel] sched/core: Annotate curr pointer in rq with __rcu (Phil Auld) [1794398] - [kernel] sched/psi: Fix OOB write when writing 0 bytes to PSI files (Phil Auld) [1794398] - [kernel] sched/psi: Correct overly pessimistic size calculation (Phil Auld) [1794398] - [kernel] sched/fair: Prevent unlimited runtime on throttled group (Phil Auld) [1794398] - [kernel] sched/nohz: Optimize get_nohz_timer_target() (Phil Auld) [1794398] - [kernel] sched/topology: Assert non-NUMA topology masks don't (partially) overlap (Phil Auld) [1794398] - [kernel] sched/psi: create /proc/pressure and /proc/pressure/{io|memory|cpu} only when psi enabled (Phil Auld) [1794398] - [kernel] sched/fair: Remove redundant call to cpufreq_update_util() (Phil Auld) [1794398] - [kernel] sched/debug: Add new tracepoints to track PELT at rq level (Phil Auld) [1794398] - [kernel] sched/fair: calculate delta runnable load only when it's needed (Phil Auld) [1794398] - [kernel] sched/fair: Fix sgc->{min, max}_capacity calculation for SD_OVERLAP (Phil Auld) [1794398] - [kernel] sched/debug: Reset watchdog on all CPUs while processing sysrq-t (Phil Auld) [1794398] - [kernel] sched/fair: Make sched-idle CPU selection consistent throughout (Phil Auld) [1794398] - [kernel] sched/core: Remove unused variable from set_user_nice() (Phil Auld) [1794398] - [kernel] sched/fair: Optimize select_idle_cpu (Phil Auld) [1794398] - [kernel] schied/fair: Skip calculating @contrib without load (Phil Auld) [1794398] - [kernel] sched: Spare resched IPI when prio changes on a single fair task (Phil Auld) [1794398] - [kernel] sched: Use fair:prio_changed() instead of ad-hoc implementation (Phil Auld) [1794398] - [kernel] sched/wait: fix ___wait_var_event(exclusive) (Phil Auld) [1794398] - [kernel] psi: Fix a division error in psi poll() (Phil Auld) [1794398] - [kernel] sched/psi: Fix sampling error and rare div0 crashes with cgroups and high uptime (Phil Auld) [1794398] - [kernel] sched/cpufreq: Move the cfs_rq_util_change() call to cpufreq_update_util() (Phil Auld) [1794398] - [kernel] sched/pelt: Fix update of blocked PELT ordering (Phil Auld) [1794398] - [kernel] sched/core: Avoid spurious lock dependencies (Phil Auld) [1794398] - [kernel] Add wake_up_interruptible_sync_poll_locked() (Phil Auld) [1794398] - [kernel] Remove the nr_exclusive argument from __wake_up_sync_key() (Phil Auld) [1794398] - [x86] x86/mce: Do not log spurious corrected mce errors (Prarit Bhargava) [1819761] - [x86] x86/MCE: Add an MCE-record filtering function (Prarit Bhargava) [1819761]- [mm] mm/page_alloc: increase default min_free_kbytes bound (Joel Savitz) [1808039] - [crypto] crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN (Neil Horman) [1782179] - [crypto] crypto: qat - switch to skcipher API (Neil Horman) [1782179] - [scsi] scsi: lpfc: Change default SCSI LUN QD to 64 (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.0 (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Remove prototype FIPS/DSS options from SLI-3 (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Make debugfs ktime stats generic for NVME and SCSI (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix erroneous cpu limit of 128 on I/O statistics (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix crash in target side cable pulls hitting WAIT_FOR_UNREG (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix update of wq consumer index in lpfc_sli4_wq_release (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix crash after handling a pci error (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix scsi host template for SLI3 vports (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix lpfc overwrite of sg_cnt field in nvmefc_tgt_fcp_req (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix lockdep error - register non-static key (Dick Kennedy) [1822334] - [fs] utimes: Clamp the timestamps in notify_change() (Eric Sandeen) [1795991] - [fs] smb3: Fix regression in time handling (Eric Sandeen) [1795991] - [fs] isofs: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] fs: ceph: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] fs: fat: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] fat: propagate 64-bit inode timestamps (Eric Sandeen) [1795991] - [fs] fs: cifs: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] fs: nfs: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] ext4: Initialize timestamps limits (Eric Sandeen) [1795991] - [fs] fs: Fill in max and min timestamps in superblock (Eric Sandeen) [1795991] - [fs] utimes: Clamp the timestamps before update (Eric Sandeen) [1795991] - [fs] timestamp_truncate: Replace users of timespec64_trunc (Eric Sandeen) [1795991] - [fs] vfs: Add timestamp_truncate() api (Eric Sandeen) [1795991] - [fs] vfs: Add file timestamp range support (Eric Sandeen) [1795991] - [fs] cramfs: Deprecate cramfs in RHEL (Abhijith Das) [1794513] - [thermal] thermal: intel: intel_pch_thermal: Add Comet Lake (CML) platform support (David Arcari) [1773794] - [thermal] thermal: intel: Fix unmatched pci_release_region (David Arcari) [1773794] - [thermal] thermal: intel: Use dev_get_drvdata (David Arcari) [1773794] - [thermal] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (David Arcari) [1773794] - [thermal] drivers: thermal: Move various drivers for intel platforms into a subdir (David Arcari) [1773794] - [x86] x86/cpufeatures: Enable a new AVX512 CPU feature (David Arcari) [1783143] - [x86] cpu/cpuid-deps: Add a tab to cpuid dependent features (David Arcari) [1783143] - [crypto] crypto: rng - Override drivers/char/random in FIPS mode (Herbert Xu) [1785660] - [char] random: Add hook to override device reads and getrandom(2) (Herbert Xu) [1785660] - [block] nbd: add a flush_workqueue in nbd_start_device (Ming Lei) [1798919] - [scsi] scsi: sd_sbc: Fix sd_zbc_report_zones() (Ming Lei) [1798919] - [block] block: Fix partition support for host aware zoned block devices (Ming Lei) [1798919] - [scsi] block: allow partitions on host aware zone devices (Ming Lei) [1798919] - [block] null_blk: Fix zone write handling (Ming Lei) [1798919] - [fs] fs: move guard_bio_eod() after bio_set_op_attrs (Ming Lei) [1798919] - [block] null_blk: Fix REQ_OP_ZONE_CLOSE handling (Ming Lei) [1798919] - [block] block: add bio_truncate to fix guard_bio_eod (Ming Lei) [1798919] - [block] compat_ioctl: block: handle Persistent Reservations (Ming Lei) [1798919] - [block] compat_ioctl: block: handle add zone open, close and finish ioctl (Ming Lei) [1798919] - [block] compat_ioctl: block: handle BLKGETZONESZ/BLKGETNRZONES (Ming Lei) [1798919] - [block] compat_ioctl: block: handle BLKREPORTZONE/BLKRESETZONE (Ming Lei) [1798919] - [block] block: fix memleak when __blk_rq_map_user_iov() is failed (Ming Lei) [1798919] - [s390] s390/dasd: fix typo in copyright statement (Ming Lei) [1798919] - [s390] s390/dasd: fix memleak in path handling error case (Ming Lei) [1798919] - [s390] s390/dasd/cio: Interpret ccw_device_get_mdc return value correctly (Ming Lei) [1798919] - [block] block: Fix a lockdep complaint triggered by request queue flushing (Ming Lei) [1798919] - [block] block: Fix the type of 'sts' in bsg_queue_rq() (Ming Lei) [1798919] - [block] block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT (Ming Lei) [1798919] - [block] nbd: fix shutdown and recv work deadlock v2 (Ming Lei) [1798919] - [block] blk-iocost: fix incorrect vtime comparison in iocg_is_idle() (Ming Lei) [1798919] - [block] iocost: check active_list of all the ancestors in iocg_activate() (Ming Lei) [1798919] - [block] iocost: over-budget forced IOs should schedule async delay (Ming Lei) [1798919] - [block] blk-cgroup: remove blkcg_drain_queue (Ming Lei) [1798919] - [block] block: fix NULL pointer dereference in account statistics with IDE (Ming Lei) [1798919] - [block] null_blk: remove unused variable warning on !CONFIG_BLK_DEV_ZONED (Ming Lei) [1798919] - [block] brd: warn on un-aligned buffer (Ming Lei) [1798919] - [block] brd: remove max_hw_sectors queue limit (Ming Lei) [1798919] - [block] block: set the zone size in blk_revalidate_disk_zones atomically (Ming Lei) [1798919] - [block] block: don't handle bio based drivers in blk_revalidate_disk_zones (Ming Lei) [1798919] - [block] block: allocate the zone bitmaps lazily (Ming Lei) [1798919] - [block] block: replace seq_zones_bitmap with conv_zones_bitmap (Ming Lei) [1798919] - [block] block: simplify blkdev_nr_zones (Ming Lei) [1798919] - [block] block: remove the empty line at the end of blk-zoned.c (Ming Lei) [1798919] - [block] null_blk: cleanup null_gendisk_register (Ming Lei) [1798919] - [block] null_blk: fix zone size paramter check (Ming Lei) [1798919] - [fs] block: don't send uevent for empty disk when not invalidating (Ming Lei) [1798919] - [block] ataflop: Remove unneeded semicolon (Ming Lei) [1798919] - [block] drbd: Remove unneeded semicolon (Ming Lei) [1798919] - [scsi] sr_vendor: support Beurer GL50 evo CD-on-a-chip devices (Ming Lei) [1798919] - [cdrom] cdrom: respect device capabilities during opening action (Ming Lei) [1798919] - [fs] block: move clearing bd_invalidated into check_disk_size_change (Ming Lei) [1798919] - [block] block: remove (__)blkdev_reread_part as an exported API (Ming Lei) [1798919] - [block] block: fix bdev_disk_changed for non-partitioned devices (Ming Lei) [1798919] - [block] block: move rescan_partitions to fs/block_dev.c (Ming Lei) [1798919] - [block] block: merge invalidate_partitions into rescan_partitions (Ming Lei) [1798919] - [block] block: refactor rescan_partitions (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: Remove set but not used variable 'buflen' (Ming Lei) [1798919] - [md] block: rework zone reporting (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: Cleanup sd_zbc_alloc_report_buffer() (Ming Lei) [1798919] - [block] null_blk: Add zone_nr_conv to features (Ming Lei) [1798919] - [block] null_blk: clean up report zones (Ming Lei) [1798919] - [block] null_blk: clean up the block device operations (Ming Lei) [1798919] - [block] block: Remove partition support for zoned block devices (Ming Lei) [1798919] - [md] block: Simplify report zones execution (Ming Lei) [1798919] - [block] block: cleanup the !zoned case in blk_revalidate_disk_zones (Ming Lei) [1798919] - [scsi] block: Enhance blk_revalidate_disk_zones() (Ming Lei) [1798919] - [block] nbd: prevent memory leak (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: add zone open, close, and finish support (Ming Lei) [1798919] - [block] null_blk: add zone open, close, and finish support (Ming Lei) [1798919] - [md] dm: add zone open, close and finish support (Ming Lei) [1798919] - [block] loop: fix no-unmap write-zeroes request behavior (Ming Lei) [1798919] - [block] null_blk: return fixed zoned reads > write pointer (Ming Lei) [1798919] - [block] null_blk: Enable modifying 'submit_queues' after an instance has been configured (Ming Lei) [1798919] - [block] null_blk: Improve nullb_device_##NAME##_store() readability (Ming Lei) [1798919] - [block] block,bfq: Skip tracing hooks if possible (Ming Lei) [1798919] - [block] block: Don't disable interrupts in trigger_softirq() (Ming Lei) [1798919] - [lib] sbitmap: Delete sbitmap_any_bit_clear() (Ming Lei) [1798919] - [block] blk-mq: Delete blk_mq_has_free_tags() and blk_mq_can_queue() (Ming Lei) [1798919] - [block] block: add zone open, close and finish ioctl support (Ming Lei) [1798919] - [uapi] uapi: fix ioctl documentation (Ming Lei) [1798919] - [uapi] uapi: linux/blkzoned.h: fix BLKGETZONESZ and BLKGETNRZONES definitions (Ming Lei) [1798919] - [block] block: add zone open, close and finish operations (Ming Lei) [1798919] - [block] block: Simplify REQ_OP_ZONE_RESET_ALL handling (Ming Lei) [1798919] - [block] block: Remove REQ_OP_ZONE_RESET plugging (Ming Lei) [1798919] - [fs] bdev: Refresh bdev size for disks without partitioning (Ming Lei) [1798919] - [fs] bdev: Factor out bdev revalidation into a common helper (Ming Lei) [1798919] - [block] blk-mq: Make blk_mq_run_hw_queue() return void (Ming Lei) [1798919] - [fs] fcntl: fix typo in RWH_WRITE_LIFE_NOT_SET r/w hint name (Ming Lei) [1798919] - [block] blk-mq: remove needless goto from blk_mq_get_driver_tag (Ming Lei) [1798919] - [block] block: Reduce the amount of memory used for tag sets (Ming Lei) [1798919] - [block] block: Reduce the amount of memory required per request queue (Ming Lei) [1798919] - [block] block: Remove the synchronize_rcu() call from __blk_mq_update_nr_hw_queues() (Ming Lei) [1798919] - [block] block: account statistics for passthrough requests (Ming Lei) [1798919] - [block] blk-stat: Optimise blk_stat_add() (Ming Lei) [1798919] - [block] blk-mq: Embed counters into struct mq_inflight (Ming Lei) [1798919] - [block] blk-mq: Reuse callback in blk_mq_in_flight*() (Ming Lei) [1798919] - [block] blk-mq: Inline status checkers (Ming Lei) [1798919] - [block] block: Document all members of blk_mq_tag_set and bkl_mq_queue_map (Ming Lei) [1798919] - [block] block: Reduce sysfs_lock locking inside blk_cleanup_queue() (Ming Lei) [1798919] - [block] block: Remove "dying" checks from sysfs callbacks (Ming Lei) [1798919] - [block] block: Remove request_queue.nr_queues (Ming Lei) [1798919] - [trace] block: Fix writeback throttling W=1 compiler warnings (Ming Lei) [1798919] - [block] block: Fix three kernel-doc warnings (Ming Lei) [1798919] - [fs] writeback: fix use-after-free in finish_writeback_work() (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: Fix sd_zbc_complete() (Ming Lei) [1798919] - [block] nbd:fix memory leak in nbd_get_socket() (Ming Lei) [1798919] - [block] nbd: verify socket is supported during setup (Ming Lei) [1798919] - [block] nbd: handle racing with error'ed out commands (Ming Lei) [1798919] - [block] nbd: protect cmd->status with cmd->lock (Ming Lei) [1798919] - [block] nbd: fix possible sysfs duplicate warning (Ming Lei) [1798919] - [block] nbd: fix possible page fault for nbd disk (Ming Lei) [1798919] - [block] nbd: rename the runtime flags as NBD_RT_ prefixed (Ming Lei) [1798919] - [block] nbd: fix max number of supported devs (Ming Lei) [1798919] - [block] nbd: fix zero cmd timeout handling v2 (Ming Lei) [1798919] - [block] nbd: add missing config put (Ming Lei) [1798919] - [block] nbd: add function to convert blk req op to nbd cmd (Ming Lei) [1798919] - [block] nbd: add set cmd timeout helper (Ming Lei) [1798919] - [block] loop: change queue block size to match when using DIO (Ming Lei) [1798919] - [block] rsxx: add missed destroy_workqueue calls in remove (Ming Lei) [1798919] - [fs] cgroup, writeback: don't switch wbs immediately on dead wbs if the memcg is dead (Ming Lei) [1798919] - [block] block: drbd: remove a stray unlock in __drbd_send_protocol() (Ming Lei) [1798919] - [block] blkcg: make blkcg_print_stat() print stats only for online blkgs (Ming Lei) [1798919] - [block] iocost: don't nest spin_lock_irq in ioc_weight_write() (Ming Lei) [1798919] - [block] blk-rq-qos: fix first node deletion of rq_qos_del() (Ming Lei) [1798919] - [block] blkcg: Fix multiple bugs in blkcg_activate_policy() (Ming Lei) [1798919] - [block] block: Fix elv_support_iosched() (Ming Lei) [1798919] - [block] null_blk: Fix zoned command return code (Ming Lei) [1798919] - [block] blk-wbt: fix performance regression in wbt scale_up/scale_down (Ming Lei) [1798919] - [ata] Revert "libata, freezer: avoid block device removal while system is frozen" (Ming Lei) [1798919] - [mm] bdi: Do not use freezable workqueue (Ming Lei) [1798919] - [uapi] block: pg: add header include guard (Ming Lei) [1798919] - [block] block: fix null pointer dereference in blk_mq_rq_timed_out() (Ming Lei) [1798919] - [block] rq-qos: get rid of redundant wbt_update_limits() (Ming Lei) [1798919] - [block] iocost: bump up default latency targets for hard disks (Ming Lei) [1798919] - [block] iocost: improve nr_lagging handling (Ming Lei) [1798919] - [block] iocost: better trace vrate changes (Ming Lei) [1798919] - [block] block: drop device references in bsg_queue_rq() (Ming Lei) [1798919] - [block] pktcdvd: remove warning on attempting to register non-passthrough dev (Ming Lei) [1798919] - [ata] ata: libahci_platform: Add of_node_put() before loop exit (Ming Lei) [1798919] - [block] block, bfq: push up injection only after setting service time (Ming Lei) [1798919] - [block] block, bfq: increase update frequency of inject limit (Ming Lei) [1798919] - [block] block, bfq: reduce upper bound for inject limit to max_rq_in_driver+1 (Ming Lei) [1798919] - [block] block, bfq: update inject limit only after injection occurred (Ming Lei) [1798919] - [block] block: centralize PI remapping logic to the block layer (Ming Lei) [1798919] - [block] block: use symbolic constants for t10_pi type (Ming Lei) [1798919] - [block] null_blk: format pr_* logs with pr_fmt (Ming Lei) [1798919] - [block] null_blk: match the type of parameter nr_devices (Ming Lei) [1798919] - [block] null_blk: do not fail the module load with zero devices (Ming Lei) [1798919] - [block] block: also check RQF_STATS in blk_mq_need_time_stamp() (Ming Lei) [1798919] - [block] block: make rq sector size accessible for block stats (Ming Lei) [1798919] - [block] bfq: Fix bfq linkage error (Ming Lei) [1798919] - [scsi] scsi: core: remove dummy q->dev check (Ming Lei) [1798919] - [block] block: bypass blk_set_runtime_active for uninitialized q->dev (Ming Lei) [1798919] - [block] null_blk: validate the number of devices (Ming Lei) [1798919] - [block] null_blk: fix module name at log message (Ming Lei) [1798919] - [block] iocost_monitor: Report debt (Ming Lei) [1798919] - [tools] iocost_monitor: Report more info with higher accuracy (Ming Lei) [1798919] - [tools] iocost_monitor: Always use strings for json values (Ming Lei) [1798919] - [block] blk-iocost: Don't let merges push vtime into the future (Ming Lei) [1798919] - [block] blk-iocost: Account force-charged overage in absolute vtime (Ming Lei) [1798919] - [block] blk-iocost: Fix incorrect operation order during iocg free (Ming Lei) [1798919] - [block] bfq: Add per-device weight (Ming Lei) [1798919] - [block] bfq: Extract bfq_group_set_weight from bfq_io_set_weight_legacy (Ming Lei) [1798919] - [block] bfq: Fix the missing barrier in __bfq_entity_update_weight_prio (Ming Lei) [1798919] - [block] block: fix elevator_get_by_features() (Ming Lei) [1798919] - [scsi] sd: Set ELEVATOR_F_ZBD_SEQ_WRITE for ZBC disks (Ming Lei) [1798919] - [block] block: Set ELEVATOR_F_ZBD_SEQ_WRITE for nullblk zoned disks (Ming Lei) [1798919] - [block] block: Delay default elevator initialization (Ming Lei) [1798919] - [block] block: Improve default elevator selection (Ming Lei) [1798919] - [block] block: Introduce elevator features (Ming Lei) [1798919] - [block] block: Change elevator_init_mq() to always succeed (Ming Lei) [1798919] - [block] block: Cleanup elevator_init_mq() use (Ming Lei) [1798919] - [block] paride/pcd: need to check if cd->disk is null in pcd_detect (Ming Lei) [1798919] - [block] paride/pcd: need to set queue to NULL before put_disk (Ming Lei) [1798919] - [block] blkcg: add missing NULL check in ioc_cpd_alloc() (Ming Lei) [1798919] - [block] blkcg: fix missing free on error path of blk_iocost_init() (Ming Lei) [1798919] - [trace] blkcg: blk-iocost: predeclare used structs (Ming Lei) [1798919] - [block] blkcg: add tools/cgroup/iocost_coef_gen.py (Ming Lei) [1798919] - [block] blkcg: add tools/cgroup/iocost_monitor.py (Ming Lei) [1798919] - [block] blkcg: implement blk-iocost (Ming Lei) [1798919] - [block] blk-mq: add optional request->alloc_time_ns (Ming Lei) [1798919] - [block] block: extend 'struct request' via 'request_aux' (Ming Lei) [1798919] - [block] blkcg: s/RQ_QOS_CGROUP/RQ_QOS_LATENCY/ (Ming Lei) [1798919] - [block] block/rq_qos: implement rq_qos_ops->queue_depth_changed() (Ming Lei) [1798919] - [block] block/rq_qos: add rq_qos_merge() (Ming Lei) [1798919] - [block] blkcg: separate blkcg_conf_get_disk() out of blkg_conf_prep() (Ming Lei) [1798919] - [block] blkcg: make ->cpd_init_fn() optional (Ming Lei) [1798919] - [block] blkcg: pass @q and @blkcg into blkcg_pol_alloc_pd_fn() (Ming Lei) [1798919] - [include] writeback: Generalize and expose wb_completion (Ming Lei) [1798919] - [block] null_blk: fix inline misuse (Ming Lei) [1798919] - [block] null_blk: create a helper for req completion (Ming Lei) [1798919] - [block] null_blk: create a helper for zoned devices (Ming Lei) [1798919] - [block] null_blk: create a helper for mem-backed ops (Ming Lei) [1798919] - [block] null_blk: create a helper for badblocks (Ming Lei) [1798919] - [block] null_blk: create a helper for throttling (Ming Lei) [1798919] - [block] null_blk: move duplicate code to callers (Ming Lei) [1798919] - [block] block: remove struct request_queue queue_head (Ming Lei) [1798919] - [fs] writeback, cgroup: inode_switch_wbs() shouldn't give up on wb_switch_rwsem trylock fail (Ming Lei) [1798919] - [fs] writeback, cgroup: Adjust WB_FRN_TIME_CUT_DIV to accelerate foreign inode switching (Ming Lei) [1798919] - [block] blk-mq: Fix memory leak in blk_mq_init_allocated_queue error handling (Ming Lei) [1798919] - [block] loop: Add LOOP_SET_DIRECT_IO to compat ioctl (Ming Lei) [1798919] - [lib] lib: scatterlist: Fix to support no mapped sg (Ming Lei) [1798919] - [block] null_blk: implement REQ_OP_ZONE_RESET_ALL (Ming Lei) [1798919] - [scsi] scsi: implement REQ_OP_ZONE_RESET_ALL (Ming Lei) [1798919] - [block] blk-zoned: implement REQ_OP_ZONE_RESET_ALL (Ming Lei) [1798919] - [block] block: add req op to reset all zones and flag (Ming Lei) [1798919] - [block] block: Fix a comment in blk_cleanup_queue() (Ming Lei) [1798919] - [block] block: Fix spelling in the header above blkg_lookup() (Ming Lei) [1798919] - [kernel] cgroup: Move cgroup_parse_float() implementation out of CONFIG_SYSFS (Ming Lei) [1798919] - [kernel] cgroup: add cgroup_parse_float() (Ming Lei) [1798919] - [block] nbd: replace kill_bdev() with __invalidate_device() again (Ming Lei) [1798919] - [block] nbd: add netlink reconfigure resize support (Ming Lei) [1798919] - [block] nbd: fix crash when the blksize is zero (Ming Lei) [1798919] - [block] nbd: propagate genlmsg_reply return code (Ming Lei) [1798919] - [block] block: loop: mark bvec as ITER_BVEC_FLAG_NO_REF (Ming Lei) [1798919] - [block] loop: properly observe rotational flag of underlying device (Ming Lei) [1798919] - [block] block: Limit zone array allocation size (Ming Lei) [1798919] - [block] block: Fix null_blk_zoned creation failure with small number of zones (Ming Lei) [1798919] - [scsi] sd_zbc: Fix report zones buffer allocation (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: Fix sd_zbc_report_zones() buffer allocation (Ming Lei) [1798919] - [md] block: Kill gfp_t argument of blkdev_report_zones() (Ming Lei) [1798919] - [md] dm zoned: Fix zone report handling (Ming Lei) [1798919] - [block] blkcg: implement REQ_CGROUP_PUNT (Ming Lei) [1798919] - [include] blkcg, writeback: Implement wbc_blkcg_css() (Ming Lei) [1798919] - [fs] blkcg, writeback: Add wbc->no_cgroup_owner (Ming Lei) [1798919] - [fs] blkcg, writeback: Rename wbc_account_io() to wbc_account_cgroup_owner() (Ming Lei) [1798919] - [block] cgroup, blkcg: Prepare some symbols for module and !CONFIG_CGROUP usages (Ming Lei) [1798919] - [fs] writeback: synchronize sync(2) against cgroup writeback membership switches (Ming Lei) [1798919] - [block] blk-mq: move cancel of requeue_work to the front of blk_exit_queue (Ming Lei) [1798919] - [block] blk-mq-debugfs: support rq_qos (Ming Lei) [1798919] - [block] null_blk: fix type mismatch null_handle_cmd() (Ming Lei) [1798919] - [block] null_blk: remove duplicate 0 initialization (Ming Lei) [1798919] - [block] null_blk: remove duplicate check for report zone (Ming Lei) [1798919] - [block] null_blk: add zoned config support information (Ming Lei) [1798919] - [tools] tools arch x86: Sync asm/cpufeatures.h with the kernel sources (Vitaly Kuznetsov) [1807448] - [x86] vmware: Use bool type for vmw_sched_clock (Vitaly Kuznetsov) [1807448] - [x86] vmware: Enable steal time accounting (Vitaly Kuznetsov) [1807448] - [x86] vmware: Add steal time clock support for VMware guests (Vitaly Kuznetsov) [1807448] - [x86] vmware: Remove vmware_sched_clock_setup() (Vitaly Kuznetsov) [1807448] - [x86] vmware: Make vmware_select_hypercall() __init (Vitaly Kuznetsov) [1807448] - [x86] cpu/vmware: Fix platform detection VMWARE_PORT macro (Vitaly Kuznetsov) [1807448] - [x86] cpu/vmware: Use the full form of INL in VMWARE_HYPERCALL, for clang/llvm (Vitaly Kuznetsov) [1807448] - [x86] cpu/vmware: Use the full form of INL in VMWARE_PORT (Vitaly Kuznetsov) [1807448] - [x86] vmware: Add a header file for hypercall definitions (Vitaly Kuznetsov) [1807448] - [x86] vmware: Update platform detection code for VMCALL/VMMCALL hypercalls (Vitaly Kuznetsov) [1807448] - [netdrv] hv_netvsc: Fix unwanted wakeup in netvsc_attach() (Mohammed Gamal) [1815503] - [netdrv] hv_netvsc: make recording RSS hash depend on feature flag (Mohammed Gamal) [1815503] - [netdrv] hv_netvsc: record hardware hash in skb (Mohammed Gamal) [1815503] - [netdrv] hv_netvsc: flag software created hash value (Mohammed Gamal) [1815503] - [video] hyperv: hyperv_fb: Use physical memory for fb on HyperV Gen 1 VMs (Mohammed Gamal) [1816744] - [video] hyperv: hyperv_fb: Support deferred IO for Hyper-V frame buffer driver (Mohammed Gamal) [1816744] - [video] hyperv: hyperv_fb: Obtain screen resolution from Hyper-V host (Mohammed Gamal) [1816744] - [uio] uio_hv_generic: drop #ifdef DEBUG (Mohammed Gamal) [1816744] - [hid] hv: Remove dependencies on PAGE_SIZE for ring buffer (Mohammed Gamal) [1816744] - [x86] x86/hyperv: Create and use Hyper-V page definitions (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Drop HV_X64_CONFIGURE_PROFILER definition (Mohammed Gamal) [1816285] - [x86] x86: hv: Add function to allocate zeroed page for Hyper-V (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Add functions to allocate/deallocate page for Hyper-V (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Fix indentation in hv_do_fast_hypercall16() (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Micro-optimize send_ipi_one() (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Make vapic support x2apic mode (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Fix overflow bug in fill_gva_list() (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Zero out the VP ASSIST PAGE on allocation (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Make hv_vcpu_is_preempted() visible (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Implement EOI assist (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Prevent potential NULL pointer dereference (Mohammed Gamal) [1816285] - [x86] Drivers: hv: vmbus: Break out ISA independent parts of mshyperv.h (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Remove unused include (Mohammed Gamal) [1816285] - [net] vsock/virtio: add support for MSG_PEEK (Stefano Garzarella) [1818059]- [include] leds: triggers: new function led_set_trigger_data() (Torez Smith) [1686205] - [leds] leds: triggers: add device attribute support (Torez Smith) [1686205] - [usb] USB: cdc-wdm: fix race between write and disconnect due to flag abuse (Torez Smith) [1686205] - [usb] usb: host: xhci: rcar: Fix typo in compatible string matching (Torez Smith) [1686205] - [usb] usb: host: xhci-tegra: Set DMA mask correctly (Torez Smith) [1686205] - [usb] USB: storage: ums-realtek: Whitelist auto-delink support (Torez Smith) [1686205] - [usb] USB: storage: ums-realtek: Update module parameter description for auto_delink_en (Torez Smith) [1686205] - [usb] usb: host: ohci: fix a race condition between shutdown and irq (Torez Smith) [1686205] - [usb] usb: hcd: use managed device resources (Torez Smith) [1686205] - [usb] typec: tcpm: fix a typo in the comparison of pdo_max_voltage (Torez Smith) [1686205] - [usb] usb-storage: Add new JMS567 revision to unusual_devs (Torez Smith) [1686205] - [usb] usb: chipidea: udc: don't do hardware access if gadget has stopped (Torez Smith) [1686205] - [usb] usbtmc: more sanity checking for packet size (Torez Smith) [1686205] - [usb] usb: udc: lpc32xx: silence fall-through warning (Torez Smith) [1686205] - [usb] usb: chipidea: imx: fix EPROBE_DEFER support during driver probe (Torez Smith) [1686205] - [usb] usb: host: fotg2: restart hcd after port reset (Torez Smith) [1686205] - [usb] USB: CDC: fix sanity checks in CDC union parser (Torez Smith) [1686205] - [usb] usb: cdc-acm: make sure a refcount is taken early enough (Torez Smith) [1686205] - [usb] USB: serial: option: add the BroadMobi BM818 card (Torez Smith) [1686205] - [usb] USB: serial: option: Add Motorola modem UARTs (Torez Smith) [1686205] - [usb] USB: core: Fix races in character device registration and deregistraion (Torez Smith) [1686205] - [usb] usb: gadget: mass_storage: Fix races between fsg_disable and fsg_set_alt (Torez Smith) [1686205] - [usb] usb: gadget: composite: Clear "suspended" on reset/disconnect (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: Fix sysfs interface of "role" (Torez Smith) [1686205] - [usb] usb: setup authorized_default attributes using usb_bus_notify (Torez Smith) [1686205] - [usb] usb: iowarrior: fix deadlock on disconnect (Torez Smith) [1686205] - [usb] Revert "USB: rio500: simplify locking" (Torez Smith) [1686205] - [usb] usb: usbfs: fix double-free of usb memory upon submiturb error (Torez Smith) [1686205] - [usb] usb: yurex: Fix use-after-free in yurex_delete (Torez Smith) [1686205] - [usb] USB: serial: option: add D-Link DWM-222 device ID (Torez Smith) [1686205] - [usb] USB: serial: option: Add support for ZTE MF871A (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Ignore unsupported/unknown alternate mode requests (Torez Smith) [1686205] - [usb] xhci: Fix NULL pointer dereference at endpoint zero reset (Torez Smith) [1686205] - [usb] usb: host: xhci-rcar: Fix timeout in xhci_suspend() (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: Fix uninitilized symbol error (Torez Smith) [1686205] - [usb] usb: typec: tcpm: remove tcpm dir if no children (Torez Smith) [1686205] - [usb] usb: typec: tcpm: free log buf memory when remove debug file (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Add NULL check before dereferencing config (Torez Smith) [1686205] - [tools] tools headers UAPI: Sync usbdevice_fs.h with the kernels to get new ioctl (Torez Smith) [1686205] - [usb] xhci: Fix crash if scatter gather is used with Immediate Data Transfer (IDT) (Torez Smith) [1686205] - [usb] usb: usb251xb: Reallow swap-dx-lanes to apply to the upstream port (Torez Smith) [1686205] - [usb] Revert "usb: usb251xb: Add US port lanes inversion property" (Torez Smith) [1686205] - [documentation] Revert "usb: usb251xb: Add US lanes inversion dts-bindings" (Torez Smith) [1686205] - [usb] usb: wusbcore: fix unbalanced get/put cluster_id (Torez Smith) [1686205] - [usb] usb/hcd: Fix a NULL vs IS_ERR() bug in usb_hcd_setup_local_mem() (Torez Smith) [1686205] - [usb] usb-storage: Add a limitation for blk_queue_max_hw_sectors() (Torez Smith) [1686205] - [usb] usb: pci-quirks: Minor cleanup for AMD PLL quirk (Torez Smith) [1686205] - [usb] usb: pci-quirks: Correct AMD PLL quirk detection (Torez Smith) [1686205] - [usb] vfs: Convert gadgetfs to use the new mount API (Torez Smith) [1686205] - [usb] Revert "usb: gadget: storage: Remove warning message" (Torez Smith) [1686205] - [documentation] Revert "dt-bindings: add binding for USBSS-DRD controller." (Torez Smith) [1686205] - [usb] Revert "usb:gadget Separated decoding functions from dwc3 driver." (Torez Smith) [1686205] - [usb] Revert "usb:gadget Patch simplify usb_decode_set_clear_feature function." (Torez Smith) [1686205] - [usb] Revert "usb:gadget Simplify usb_decode_get_set_descriptor function." (Torez Smith) [1686205] - [usb] Revert "usb:cdns3 Add Cadence USB3 DRD Driver" (Torez Smith) [1686205] - [usb] Revert "usb:cdns3 Fix for stuck packets in on-chip OUT buffer." (Torez Smith) [1686205] - [documentation] dt-bindings: usb: ehci: Fix example warnings (Torez Smith) [1686205] - [usb] usb :fsl: Change string format for errata property (Torez Smith) [1686205] - [usb] usb: host: Stops USB controller init if PLL fails to lock (Torez Smith) [1686205] - [usb] usb: phy: Workaround for USB erratum-A005728 (Torez Smith) [1686205] - [usb] usb: fsl: Set USB_EN bit to select ULPI phy (Torez Smith) [1686205] - [usb] usb: Handle USB3 remote wakeup for LPM enabled devices correctly (Torez Smith) [1686205] - [usb] drivers/usb/typec/tps6598x.c: fix 4CC cmd write (Torez Smith) [1686205] - [usb] drivers/usb/typec/tps6598x.c: fix portinfo width (Torez Smith) [1686205] - [usb] usb: storage: scsiglue: Do not skip VPD if try_vpd_pages is set (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: add a workaround for a race condition of workqueue (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: remove redundant assignment to ret (Torez Smith) [1686205] - [usb] usb: dwc2: use a longer AHB idle timeout in dwc2_core_reset() (Torez Smith) [1686205] - [usb] USB: gadget: function: fix issue Unneeded variable: "value" (Torez Smith) [1686205] - [usb] usb: phy: phy-mxs-usb: add imx7ulp support (Torez Smith) [1686205] - [usb] usb:cdns3 Fix for stuck packets in on-chip OUT buffer (Torez Smith) [1686205] - [usb] usb:cdns3 Add Cadence USB3 DRD Driver (Torez Smith) [1686205] - [usb] usb:gadget Simplify usb_decode_get_set_descriptor function (Torez Smith) [1686205] - [usb] usb:gadget Patch simplify usb_decode_set_clear_feature function (Torez Smith) [1686205] - [usb] usb:gadget Separated decoding functions from dwc3 driver (Torez Smith) [1686205] - [documentation] dt-bindings: add binding for USBSS-DRD controller (Torez Smith) [1686205] - [usb] usb: dwc3: pci: add support for TigerLake Devices (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: add ID for isodebug v1 (Torez Smith) [1686205] - [usb] usb: host: Fix excessive alignment restriction for local memory allocations (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use struct platform_callback pointer (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use renesas_usbhs_platform_info on of_device_id.data (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add a common function for the .get_id (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: move device tree properties parsing (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add struct device * declaration in usbhs_probe() (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add has_new_pipe_configs flag (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use dev_of_node macro instead of open coded (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Remove type member from renesas_usbhs_driver_param (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use a specific flag instead of type for multi_clks (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Avoid to write platform_data's value (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: move macros from mod.c to the mod.h (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: remove notify_hotplug callback (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: revise the irq_vbus comments (Torez Smith) [1686205] - [usb] USB: core: Fix compiler warnings in devio.c (Torez Smith) [1686205] - [usb] USB: core: Remove usbfs_mutex (Torez Smith) [1686205] - [usb] usb: clean up some of the computations in adu_read (Torez Smith) [1686205] - [usb] scsi: usb: image: microtek: use sg helper to iterate over scatterlist (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use struct assignment instead of memcpy() (Torez Smith) [1686205] - [usb] USB: core: correct a spelling mistake in the comment (Torez Smith) [1686205] - [usb] usb: dwc3: remove unused @lock member of dwc3_ep struct (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Add Support for Intel Elkhart Lake Devices (Torez Smith) [1686205] - [usb] usb: Replace snprintf with scnprintf in gether_get_ifname (Torez Smith) [1686205] - [uapi] USB: fix types in uapi include (Torez Smith) [1686205] - [usb] USB: serial: option: add support for GosunCn ME3630 RNDIS mode (Torez Smith) [1686205] - [usb] xhci: detect USB 3.2 capable host controllers correctly (Torez Smith) [1686205] - [usb] usb: xhci: Don't try to recover an endpoint if port is in error state (Torez Smith) [1686205] - [usb] usb: gadget: ether: Fix race between gether_disconnect and rx_submit (Torez Smith) [1686205] - [usb] usb: gadget: storage: Remove warning message (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Add support for disabling U1 and U2 entries (Torez Smith) [1686205] - [usb] usb: gadget: send usb_gadget as an argument in get_config_params (Torez Smith) [1686205] - [documentation] doc: dt: bindings: usb: dwc3: Update entries for disabling U1 and U2 (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Use of_clk_get_parent_count() (Torez Smith) [1686205] - [usb] usb: dwc3: Fix core validation in probe, move after clocks are enabled (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Improve error handling (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Start USB in 'host mode' on the SDM845 (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Add support for booting with ACPI (Torez Smith) [1686205] - [usb] Revert "usb: dwc2: host: Setting qtd to NULL after freeing it" (Torez Smith) [1686205] - [usb] usb: gadget: net2272: remove redundant assignments to pointer 's' (Torez Smith) [1686205] - [usb] usb: gadget: Zero ffs_io_data (Torez Smith) [1686205] - [usb] USB: omap_udc: Remove unneeded variable (Torez Smith) [1686205] - [usb] fotg210-udc: Remove unneeded variable (Torez Smith) [1686205] - [usb] usb: gadget: at91_udc: Remove unneeded variable (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: Enhance role switch support (Torez Smith) [1686205] - [usb] usb: gadget: u_audio: Fixed variable declaration coding style issue (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: data_len used before properly set (Torez Smith) [1686205] - [usb] USB: dwc2: Don't turn off the usbphy in suspend if wakeup is enabled (Torez Smith) [1686205] - [documentation] Documentation: dt-bindings: Add snps, need-phy-for-wake for dwc2 USB (Torez Smith) [1686205] - [usb] usb: dwc2: Force 8bit UTMI width for Samsung Exynos SoCs (Torez Smith) [1686205] - [usb] usb: dwc3: meson-g12a: Add support for IRQ based OTG switching (Torez Smith) [1686205] - [usb] usb: dwc2: Use generic PHY width in params setup (Torez Smith) [1686205] - [usb] usb: host: fotg2: add device tree probing (Torez Smith) [1686205] - [usb] usb: isp1362: Spelling s/eclusive/exclusive/ (Torez Smith) [1686205] - [usb] USB: add usbfs ioctl to retrieve the connection parameters (Torez Smith) [1686205] - [usb] usb: host: xhci-tegra: Fix Wunused-const-variable (Torez Smith) [1686205] - [usb] usb: chipidea: udc: workaround for endpoint conflict issue (Torez Smith) [1686205] - dt-bindings: usb: renesas_gen3: Rename bindings documentation file (Torez Smith) [1686205] - dt-bindings: usb: renesas_usbhs: Rename bindings documentation file (Torez Smith) [1686205] - [documentation] docs: power: convert docs to ReST and rename to *.rst (Torez Smith) [1686205] - [usb] docs: kbuild: convert docs to ReST and rename to *.rst (Torez Smith) [1686205] - [usb] usb: chipidea: msm: Use devm_platform_ioremap_resource() (Torez Smith) [1686205] - [usb] usb: chipidea: imx: Use devm_platform_ioremap_resource() (Torez Smith) [1686205] - [usb] usb: chipidea: Use dev_err() instead of pr_err() (Torez Smith) [1686205] - [usb] usb: chipidea: imx: "fsl, usbphy" phandle is not mandatory now (Torez Smith) [1686205] - [usb] usb: chipidea: imx: add imx7ulp support (Torez Smith) [1686205] - [usb] usb: typec: Make sure an alt mode exist before getting its partner (Torez Smith) [1686205] - [usb] Revert "usb: mtu3: fix up undefined reference to usb_debug_root" (Torez Smith) [1686205] - [usb] USB: sisusbvga: Remove unneeded variable (Torez Smith) [1686205] - [usb] usb: typec: tcpm: fusb302: simplify getting the adapter of a client (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: add runtime pm workaround (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: enable runtime pm support (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: fix return value check in lpc32xx_udc_probe() (Torez Smith) [1686205] - [usb] usb: gadget: dwc2: fix zlp handling (Torez Smith) [1686205] - [usb] usb: dwc2: Set actual frame number for completed ISOC transfer for none DDMA (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC (Torez Smith) [1686205] - [usb] usb: gadget: fusb300_udc: Fix memory leak of fusb300->ep (Torez Smith) [1686205] - [usb] usb: phy: mxs: Disable external charger detect in mxs_phy_hw_init() (Torez Smith) [1686205] - [usb] usb: dwc2: Fix DMA cache alignment issues (Torez Smith) [1686205] - [usb] usb: dwc2: host: Fix wMaxPacketSize handling (fix webcam regression) (Torez Smith) [1686205] - [usb] USB: move usb debugfs directory creation to the usb common core (Torez Smith) [1686205] - [usb] usb: host: u132-hcd: remove unneeded variable frame (Torez Smith) [1686205] - [usb] media: usb/gadget/f_uvc: set device_caps in struct video_device (Torez Smith) [1686205] - [usb] usbip: Replace unused kvec array with single variable in vhci_send_cmd_unlink() (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: remove controlling PWEN/EXTLP support (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: remove sudmac support (Torez Smith) [1686205] - [usb] usb: xhci: Add Clear_TT_Buffer (Torez Smith) [1686205] - [usb] usb: Add devaddr in struct usb_device (Torez Smith) [1686205] - [usb] USB: Fix chipmunk-like voice when using Logitech C270 for recording audio (Torez Smith) [1686205] - [usb] USB: usb-storage: Add new ID to ums-realtek (Torez Smith) [1686205] - [usb] USB: use genalloc for USB HCs with local memory (Torez Smith) [1686205] - [usb] usb: phy: mv-usb: Remove set but not used variable 'phy' (Torez Smith) [1686205] - [usb] usb: ftdi-elan: fix possible condition with no effect (if == else) (Torez Smith) [1686205] - [usb] USB: ohci-spear: Remove set but not used variable 'ohci' (Torez Smith) [1686205] - [usb] USB: atm: ueagle-atm.c: remove redundant license text (Torez Smith) [1686205] - [usb] USB: atm: ueagle-atm.c: fix SPDX tag to be BSD2 (Torez Smith) [1686205] - [usb] usb: ohci-s3c2410: Remove set but not used variable 'hcd' (Torez Smith) [1686205] - [usb] usb: cdc-wdm: remove redundant assignment to rv (Torez Smith) [1686205] - [usb] usb: host: ohci-st: Remove set but not used variable 'ohci' (Torez Smith) [1686205] - [usb] usb: host: ehci-st: Remove set but not used variable 'ehci' (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: fix memory leak in do_flash (Torez Smith) [1686205] - [include] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Torez Smith) [1686205] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Torez Smith) [1686205] - [usb] usbip: usbip_host: fix stub_dev lock context imbalance regression (Torez Smith) [1686205] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 (Torez Smith) [1686205] - [usb] usb: avoid redundant allocation and free of memory (Torez Smith) [1686205] - [usb] signal/usb: Replace kill_pid_info_as_cred with kill_pid_usb_asyncio (Torez Smith) [1686205] - [usb] xhci: Use zu for printing size_t type (Torez Smith) [1686205] - [usb] xhci: Convert xhci_handshake() to use readl_poll_timeout_atomic() (Torez Smith) [1686205] - [usb] xhci: Fix immediate data transfer if buffer is already DMA mapped (Torez Smith) [1686205] - [usb] usb: xhci: avoid null pointer deref when bos field is NULL (Torez Smith) [1686205] - [usb] usb: xhci: Fix a potential null pointer dereference in xhci_debugfs_create_endpoint() (Torez Smith) [1686205] - [usb] xhci: update bounce buffer with correct sg num (Torez Smith) [1686205] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Torez Smith) [1686205] - [usb] USB: serial: option: add Telit 0x1260 and 0x1261 compositions (Torez Smith) [1686205] - [usb] USB: serial: pl2303: add Allied Telesis VT-Kit3 (Torez Smith) [1686205] - [usb] USB: serial: option: add support for Simcom SIM7500/SIM7600 RNDIS mode (Torez Smith) [1686205] - [tools] treewide: Add SPDX license identifier - Makefile/Kconfig (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add support for r7s9210 (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add support for RZ/A2 (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: support byte addressable CFIFO (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: add support for CNEN bit (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: move flags to param (Torez Smith) [1686205] - [usb] usb: core: hub: Disable hub-initiated U1/U2 (Torez Smith) [1686205] - [usb] usb: core: hub: Enable/disable U1/U2 in configured state (Torez Smith) [1686205] - [usb] USB: rio500: simplify locking (Torez Smith) [1686205] - [usb] USB: rio500: fix memory leak in close after disconnect (Torez Smith) [1686205] - [usb] USB: rio500: refuse more than one device at a time (Torez Smith) [1686205] - [usb] usbip: usbip_host: fix BUG: sleeping function called from invalid context (Torez Smith) [1686205] - [usb] USB: sisusbvga: fix oops in error path of sisusb_probe (Torez Smith) [1686205] - [usb] USB: Add LPM quirk for Surface Dock GigE adapter (Torez Smith) [1686205] - [usb] usb: mtu3: fix up undefined reference to usb_debug_root (Torez Smith) [1686205] - [usb] USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor (Torez Smith) [1686205] - [usb] usb: remove redundant 'default n' from Kconfig-s (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use specific struct instead of USBHS_TYPE_* enums (Torez Smith) [1686205] - [usb] USB: OHCI: remove space before open square bracket '[' (Torez Smith) [1686205] - [usb] usb: exynos: add workaround for the USB device bindings conflict (Torez Smith) [1686205] - [usb] usbip: usbip_host: cleanup do_rebind() return path (Torez Smith) [1686205] - [usb] USB: serial: f81232: clear overrun flag (Torez Smith) [1686205] - [usb] USB: serial: f81232: fix interrupt worker not stop (Torez Smith) [1686205] - [usb] usb: dwc3: Rename DWC3_DCTL_LPM_ERRATA (Torez Smith) [1686205] - [usb] usb: dwc3: Fix default lpm_nyet_threshold value (Torez Smith) [1686205] - [usb] usb: dwc3: debug: Print GET_STATUS(device) tracepoint (Torez Smith) [1686205] - [usb] usb: dwc3: Do core validation early on probe (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Set lpm_capable (Torez Smith) [1686205] - [usb] usb: gadget: atmel: tie wake lock to running clock (Torez Smith) [1686205] - [usb] usb: gadget: atmel: support USB suspend (Torez Smith) [1686205] - [usb] usb: gadget: atmel_usba_udc: simplify setting of interrupt-enabled mask (Torez Smith) [1686205] - [usb] dwc2: gadget: Fix completed transfer size calculation in DDMA (Torez Smith) [1686205] - [usb] usb: dwc2: Set lpm mode parameters depend on HW configuration (Torez Smith) [1686205] - [usb] usb: dwc2: Fix channel disable flow (Torez Smith) [1686205] - [usb] usb: dwc2: Set actual frame number for completed ISOC transfer (Torez Smith) [1686205] - [usb] usb: gadget: do not use __constant_cpu_to_le16 (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Increase descriptors count for ISOC's (Torez Smith) [1686205] - [usb] usb: dwc3: move synchronize_irq() out of the spinlock protected block (Torez Smith) [1686205] - [usb] usb: dwc3: Free resource immediately after use (Torez Smith) [1686205] - [usb] usb: dwc3: of-simple: Convert to bulk clk API (Torez Smith) [1686205] - [usb] usb: dwc2: Delayed status support (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: rework interrupt handling (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: add support for stotg04 phy (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: properly setup phy interrupts (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: simplify vbus handling (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: simplify probe (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Move gadget phy init into core phy init (Torez Smith) [1686205] - [usb] usb: dwc2: Move phy init into core (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Replace phyif with phy_utmi_width (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Remove duplicated phy init (Torez Smith) [1686205] - [usb] usb: dwc2: Move UTMI_PHY_DATA defines closer (Torez Smith) [1686205] - [usb] usb: dwc2: optionally assert phy reset when waking up (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc2: Document quirk to reset PHY upon wakeup (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc2: document the vbus-supply property (Torez Smith) [1686205] - [usb] USB: UDC: net22{80, 72}: remove mistaken test of req->zero (Torez Smith) [1686205] - [usb] USB: UDC: net2280: Remove redundant "if" condition (Torez Smith) [1686205] - [usb] usb: gadget: fsl: fix link error against usb-gadget module (Torez Smith) [1686205] - [usb] usb: gadget: f_ncm: Add OS descriptor support (Torez Smith) [1686205] - [usb] usb: gadget: f_ncm: Fix NTP-32 support (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Reject LPM token during Control transfers (Torez Smith) [1686205] - [usb] USB: Export usb_wakeup_enabled_descendants() (Torez Smith) [1686205] - [usb] usb: dwc2: bus suspend/resume for hosts with DWC2_POWER_DOWN_PARAM_NONE (Torez Smith) [1686205] - [usb] usb: dwc3: Add Amlogic G12A DWC3 glue (Torez Smith) [1686205] - [usb] usb: dwc2: Add Amlogic G12A DWC2 Params (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc3: Add Amlogic G12A DWC3 Glue Bindings (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc2: Add Amlogic G12A DWC2 Compatible (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: don't free buffer prematurely (Torez Smith) [1686205] - [usb] USB: serial: io_edgeport: fix up switch fall-through comments (Torez Smith) [1686205] - [usb] usb: usb251xb: Add US port lanes inversion property (Torez Smith) [1686205] - [usb] usb: usb251xb: Create a ports field collector method (Torez Smith) [1686205] - [documentation] usb: usb251xb: Add US lanes inversion dts-bindings (Torez Smith) [1686205] - [usb] usb: isp1760-hcd: Fix fall-through annotations (Torez Smith) [1686205] - [usb] usb: musb: dsps: Use dev_get_drvdata() (Torez Smith) [1686205] - [usb] usb: musb: jz4740: obtain USB PHY from devicetree (Torez Smith) [1686205] - [usb] usb: musb: jz4740: Let the platform probe the PHY (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Add usb-phy property to the jz4740-musb node (Torez Smith) [1686205] - [soc] soc: sunxi: Fix missing dependency on REGMAP_MMIO (Torez Smith) [1686205] - [usb] usb: musb: omap2430: Add support for idling phy when musb is idle (Torez Smith) [1686205] - [usb] usb: musb: Silence error about blacklisting hubs if !CONFIG_USB (Torez Smith) [1686205] - [usb] usbip: vhci_hcd: Mark expected switch fall-through (Torez Smith) [1686205] - [usb] UAS: fix alignment of scatter/gather segments (Torez Smith) [1686205] - [include] USB: serial: drop unused iflag macro (Torez Smith) [1686205] - [usb] USB: serial: drop unnecessary goto (Torez Smith) [1686205] - [usb] USB: serial: clean up throttle handling (Torez Smith) [1686205] - [usb] USB: serial: fix unthrottle races (Torez Smith) [1686205] - [usb] USB: cdc-acm: clean up throttle handling (Torez Smith) [1686205] - [usb] USB: cdc-acm: fix unthrottle races (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: fix missing unlock on error in ccg_cmd_write_flash_row() (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add support for r8a77470 (Torez Smith) [1686205] - [documentation] dt-bindings: usb-xhci: Add r8a774c0 support (Torez Smith) [1686205] - [usb] usb: xhci: add endpoint context tracing when an endpoint is added (Torez Smith) [1686205] - [usb] xhci: Add tracing for input control context (Torez Smith) [1686205] - [usb] xhci: add port and bus number to port dynamic debugging (Torez Smith) [1686205] - [usb] usb: xhci: add Immediate Data Transfer support (Torez Smith) [1686205] - [usb] usb: usb251xb: Add an empty hub' i2c-bus segment checker (Torez Smith) [1686205] - [usb] USB: serial: spcp8x5: simplify init_termios (Torez Smith) [1686205] - [usb] USB: serial: oti6858: simplify init_termios (Torez Smith) [1686205] - [usb] USB: serial: iuu_phoenix: simplify init_termios (Torez Smith) [1686205] - [usb] USB: serial: iuu_phoenix: drop bogus initial cflag (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: clean up initial-termios handling (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: drop unused termios (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: drop unused driver data flag (Torez Smith) [1686205] - [usb] USB: serial: fix initial-termios handling (Torez Smith) [1686205] - [usb] USB: yurex: Fix protection fault after device removal (Torez Smith) [1686205] - [usb] usb: usbip: fix isoc packet num validation in get_pipe (Torez Smith) [1686205] - [usb] usb/hcd: Send a uevent signaling that the host controller had died (Torez Smith) [1686205] - [usb] usb: typec: Add driver for NVIDIA Alt Modes (Torez Smith) [1686205] - [usb] usb: typec: displayport: Export probe and remove functions (Torez Smith) [1686205] - [usb] usb: typec: ucsi: Support for DisplayPort alt mode (Torez Smith) [1686205] - [usb] usb: typec: ucsi: Preliminary support for alternate modes (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: add firmware flashing support (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: add get_fw_info function (Torez Smith) [1686205] - [usb] usb: usb251xb: Lock i2c-bus segment the hub resides (Torez Smith) [1686205] - [usb] usb: dwc3: Allow building USB_DWC3_QCOM without EXTCON (Torez Smith) [1686205] - [usb] usbip: stub_rx: tidy the indenting in is_clear_halt_cmd() (Torez Smith) [1686205] - [usb] USB: serial: digi_acceleport: clean up set_termios (Torez Smith) [1686205] - [usb] USB: serial: digi_acceleport: clean up modem-control handling (Torez Smith) [1686205] - [usb] USB: core: Fix bug caused by duplicate interface PM usage counter (Torez Smith) [1686205] - [usb] usb: mtu3: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: chipidea: msm: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: dwc2: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: misc: usb3503: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: host: xhci-plat: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: xhci-mtk: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Revert "Resolve fixed power role contract setup" (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Implement start_toggling for all port-types (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Notify the tcpc to start connection-detection for SRPs (Torez Smith) [1686205] - [usb] usb: host: use usb_endpoint_maxp instead of usb_maxpacket (Torez Smith) [1686205] - [usb] USB: dummy-hcd: Fix failure to give back unlinked URBs (Torez Smith) [1686205] - [usb] USB: core: Don't unbind interfaces following device reset failure (Torez Smith) [1686205] - [usb] usb-storage: Set virt_boundary_mask to avoid SG overflows (Torez Smith) [1686205] - [usb] USB: core: Fix unterminated string returned by usb_string() (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Convert the generic EHCI binding to YAML (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Convert the generic OHCI binding to YAML (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Convert USB HCD generic binding to YAML (Torez Smith) [1686205] - [usb] USB: hub: Remove returned value 'status' since never used (Torez Smith) [1686205] - [usb] usb: host: xhci-tegra: Add Tegra186 XUSB support (Torez Smith) [1686205] - [usb] usb: host: xhci-tegra: Selectively program IPFS (Torez Smith) [1686205] - [documentation] dt-bindings: usb: xhci-tegra: Add Tegra186 support (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: drop the vbus GPIO (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: disable the regulator if the overcurrent irq fired (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: let the regulator framework keep track of use count (Torez Smith) [1686205] - [usb] USB: serial: pl2303: fix tranceiver suspend mode (Torez Smith) [1686205] - [usb] USB: serial: pl2303: fix non-supported xon/xoff (Torez Smith) [1686205] - [usb] USB: serial: option: add Olicard 600 (Torez Smith) [1686205] - [usb] USB: serial: cp210x: add new device id (Torez Smith) [1686205] - [usb] usb: u132-hcd: fix resource leak (Torez Smith) [1686205] - [usb] usb: cdc-acm: fix race during wakeup blocking TX traffic (Torez Smith) [1686205] - [usb] usb: mtu3: fix EXTCON dependency (Torez Smith) [1686205] - [usb] usb: usb251xb: fix to avoid potential NULL pointer dereference (Torez Smith) [1686205] - [usb] usb: core: Try generic PHY_MODE_USB_HOST if usb_phy_roothub_set_mode fails (Torez Smith) [1686205] - [usb] usb: introduce usb_ep_type_string() function (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Make fusb302_irq_work static (Torez Smith) [1686205] - [usb] usb: u132-hcd: fix potential NULL pointer dereference (Torez Smith) [1686205] - [usb] usb: typec: wcove: Provide fwnode for the port (Torez Smith) [1686205] - [usb] usb: core: Add PM runtime calls to usb_hcd_platform_shutdown (Torez Smith) [1686205] - [usb] usb: sierra: fix a missing check of device_create_file (Torez Smith) [1686205] - [usb] usb: mtu3: add a function to switch mailbox state to string (Torez Smith) [1686205] - [usb] usb: mtu3: add tracepoints to help debug (Torez Smith) [1686205] - [usb] usb: mtu3: move vbus and mode debugfs interfaces into mtu3_debugfs.c (Torez Smith) [1686205] - [usb] usb: mtu3: add debugfs interface files (Torez Smith) [1686205] - [usb] usb: mtu3: supports new QMU format (Torez Smith) [1686205] - [usb] usb: mtu3: rebuild qmu_gpd struct to prepare to support new QMU format (Torez Smith) [1686205] - [usb] usb: mtu3: fix transfer error of USB3 Gen2 isoc (Torez Smith) [1686205] - [usb] usb: mtu3: rebuild the code of getting vbus regulator (Torez Smith) [1686205] - [usb] usb: mtu3: remove unnecessary local variable @req (Torez Smith) [1686205] - [usb] usb: mtu3: print useful information also for device and host modes (Torez Smith) [1686205] - [usb] usb: mtu3: check return value of devm_extcon_register_notifier() (Torez Smith) [1686205] - [usb] xhci: Don't let USB3 ports stuck in polling state prevent suspend (Torez Smith) [1686205] - [usb] usb: xhci: dbc: Don't free all memory with spinlock held (Torez Smith) [1686205] - [usb] xhci: Fix port resume done detection for SS ports with LPM enabled (Torez Smith) [1686205] - [usb] USB: serial: mos7720: fix mos_parport refcount imbalance on error path (Torez Smith) [1686205] - [usb] USB: gadget: f_hid: fix deadlock in f_hidg_write() (Torez Smith) [1686205] - [usb] usb: gadget: net2272: Fix net2272_dequeue() (Torez Smith) [1686205] - [usb] usb: gadget: net2280: Fix net2280_dequeue() (Torez Smith) [1686205] - [usb] usb: gadget: net2280: Fix overrun of OUT messages (Torez Smith) [1686205] - [usb] usb: dwc3: pci: add support for Comet Lake PCH ID (Torez Smith) [1686205] - [usb] usb: usb251xb: Remove unnecessary comparison of unsigned integer with >= 0 (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Add __printf attribute to fusb302_log function (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Improve suspend/resume handling (Torez Smith) [1686205] - [usb] usb: typec: fusb302: 2 small misc. fixes (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Fix fusb302_handle_togdone_src Ra handling (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Check vconn is off when we start toggling (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Fold fusb302_set_cc_pull into tcpm_set_cc (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Refactor / simplify tcpm_set_cc() (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Make fusb302_set_cc_polarity also set pull ups / downs (Torez Smith) [1686205] - [usb] usb: typec: pi3usb30532: Keep orientation when setting mux to safe mode (Torez Smith) [1686205] - [usb] usb: typec: altmodes/displayport: Fall back to multi-func pins (Torez Smith) [1686205] - [usb] usbip: Remove unnecessary null check (Torez Smith) [1686205] - [include] USB: usb.h: tweak struct urb to remove wasted space (Torez Smith) [1686205] - [usb] usb: common: Consider only available nodes for dr_mode (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Try PD-2.0 if sink does not respond to 3.0 source-caps (Torez Smith) [1686205] - [usb] usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk (Torez Smith) [1686205] - [usb] usb: typec: Fix unchecked return value (Torez Smith) [1686205] - [usb] USB: serial: option: set driver_info for SIM5218 and compatibles (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: add additional NovaTech products (Torez Smith) [1686205] - [usb] USB: serial: option: add support for Quectel EM12 (Torez Smith) [1686205] - [usb] wusb: Remove unnecessary static function ckhdid_printf (Torez Smith) [1686205] - [usb] usb: core: make default autosuspend delay configurable (Torez Smith) [1686205] - [usb] usb: core: Fix typo in description of "authorized_default" (Torez Smith) [1686205] - [usb] usb: chipidea: Refactor USB PHY selection and keep a single PHY (Torez Smith) [1686205] - [usb] usb: chipidea: Grab the (legacy) USB PHY by phandle first (Torez Smith) [1686205] - [usb] usb: chipidea: imx: set power polarity (Torez Smith) [1686205] - [documentation] dt-bindings: usb: ci-hdrc-usb2: add property power-active-high (Torez Smith) [1686205] - [usb] usb: chipidea: imx: remove unused header files (Torez Smith) [1686205] - [usb] usb: chipidea: tegra: Fix missed ci_hdrc_remove_device() (Torez Smith) [1686205] - [usb] usb: core: add option of only authorizing internal devices (Torez Smith) [1686205] - [usb] usb: typec: tps6598x: handle block writes separately with plain-I2C adapters (Torez Smith) [1686205] - [usb] usb: xhci: Fix for Enabling USB ROLE SWITCH QUIRK on INTEL_SUNRISEPOINT_LP_XHCI (Torez Smith) [1686205] - [usb] usb: xhci: fix build warning - missing prototype (Torez Smith) [1686205] - [usb] usb: xhci: dbc: Fixing typo error (Torez Smith) [1686205] - [usb] usb: xhci: remove unused member 'parent' in xhci_regset struct (Torez Smith) [1686205] - [usb] xhci: tegra: Prevent error pointer dereference (Torez Smith) [1686205] - [usb] USB: serial: option: add Telit ME910 ECM composition (Torez Smith) [1686205] - [usb] usb: core: Replace hardcoded check with inline function from usb.h (Torez Smith) [1686205] - [usb] usb: core: skip interfaces disabled in devicetree (Torez Smith) [1686205] - [usb] usb: typec: mux: remove redundant check on variable match (Torez Smith) [1686205] - [usb] USB: serial: cp210x: fix GPIO in autosuspend (Torez Smith) [1686205] - [usb] usb: dwc3: drd: Defer probe if extcon device is not found (Torez Smith) [1686205] - [usb] cdc-wdm: pass return value of recover_from_urb_loss (Torez Smith) [1686205] - [usb] usb: host: oxu210hp-hcd: remove set but not used variables 'uframes, transfer_buffer_length' (Torez Smith) [1686205] - [usb] USB: renesas_usbhs: fix spelling mistake "doens't" -> "doesn't" (Torez Smith) [1686205] - [usb] usb: wusbcore: wa-xfer: use struct_size() helper (Torez Smith) [1686205] - [usb] usb: core: config: Use struct_size() in kzalloc() (Torez Smith) [1686205] - [usb] usb: dwc2: use struct_size() in kzalloc() (Torez Smith) [1686205] - [usb] usb: typec: mux: Fix unsigned comparison with less than zero (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: add ID for Hjelmslund Electronics USB485 (Torez Smith) [1686205] - [usb] usb: typec: mux: Find the muxes by also matching against the device node (Torez Smith) [1686205] - [usb] usb: typec: Find the ports by also matching against the device node (Torez Smith) [1686205] - [usb] usb: roles: Find the muxes by also matching against the device node (Torez Smith) [1686205] - [usb] usb: typec: Rationalize the API for the muxes (Torez Smith) [1686205] - [usb] usb: typec: tps6598x: Check mode of operation (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Remove unused functions (Torez Smith) [1686205] - [usb] USB: musb: mark expected switch fall-through (Torez Smith) [1686205] - [usb] usb: phy: twl6030-usb: fix possible use-after-free on remove (Torez Smith) [1686205] - [usb] usb: misc: usbtest: add super-speed isoc support (Torez Smith) [1686205] - [usb] usb: dwc3: Reset num_trbs after skipping (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: don't enable interrupt when disabling endpoint (Torez Smith) [1686205] - [usb] scsi: uas: Use scsi_et_resid() where appropriate (Torez Smith) [1686205] - [usb] usb: host: oxu210hp-hcd: fix indentation issue (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: add vbus and overcurrent gpios (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: add a helper pointer to &pdev->dev (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: add a new line after local variables (Torez Smith) [1686205] - [usb] usb: musb: Kconfig: Drop dependency on CONFIG_USB for jz4740 (Torez Smith) [1686205] - [usb] usb: musb: Kconfig: Drop dependency on MACH_JZ4740 for jz4740 (Torez Smith) [1686205] - [usb] usb: musb: jz4740: Add support for devicetree (Torez Smith) [1686205] - [documentation] Documentation: dt: Add binding info for jz4740-musb driver (Torez Smith) [1686205] - [usb] USB: musb: fix indentation issue on a return statement (Torez Smith) [1686205] - [usb] fotg210-udc: pass struct device to DMA API functions (Torez Smith) [1686205] - [usb] fotg210-udc: remove a bogus dma_sync_single_for_device call (Torez Smith) [1686205] - [usb] usb: gadget: Change Andrzej Pietrasiewicz's e-mail address (Torez Smith) [1686205] - [usb] usb: f_fs: Avoid crash due to out-of-scope stack ptr access (Torez Smith) [1686205] - [usb] usb: typec: ucsi: Remove debug.h file (Torez Smith) [1686205] - [usb] usb: typec: Prepare alt mode enter/exit reporting for UCSI alt mode support (Torez Smith) [1686205] - [usb] usb: typec: displayport: Move the Configuration VDO helpers to the header (Torez Smith) [1686205] - [usb] USB: Fix configuration selection issues introduced in v4.20.0 (Torez Smith) [1686205] - [usb] usb: handle warm-reset port requests on hub resume (Torez Smith) [1686205] - [usb] USB: serial: cp210x: add ID for Ingenico 3070 (Torez Smith) [1686205] - [usb] USB: serial: cp210x: add minimum baud rate for CP2105 SCI (Torez Smith) [1686205] - [usb] usb: dwc3: haps: Workaround matching VID PID (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: preserve wMaxPacketSize across usb_ep_autoconfig() call (Torez Smith) [1686205] - [usb] usb: gadget: move non-super speed code out of usb_ep_autoconfig_ss() (Torez Smith) [1686205] - [usb] usb: gadget: function: sync f_uac1 ac header baInterfaceNr (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Add scatter-gather mode (Torez Smith) [1686205] - [usb] usb: gadget: fix various indentation issues (Torez Smith) [1686205] - [usb] usb: dwc2: Fix EP TxFIFO number setting (Torez Smith) [1686205] - [usb] udc: net2280: Fix net2280_disable (Torez Smith) [1686205] - [usb] USB: gadget: Improve kerneldoc for usb_ep_dequeue() (Torez Smith) [1686205] - [usb] usb: dwc3: debug: purge usage of strcat (Torez Smith) [1686205] - [usb] USB: serial: cp210x: add GPIO support for CP2104 (Torez Smith) [1686205] - [usb] usb: dwc3: trace: pass trace buffer size to decoding functions (Torez Smith) [1686205] - [usb] usb: core: Move variable initialization to appropriate place (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: remove DWC3_EP_END_TRANSFER_PENDING (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: early giveback if End Transfer already completed (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: don't use resource_index as a flag (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: clear DWC3_EP_TRANSFER_STARTED on cmd complete (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Correct the PPS out_volt calculation (Torez Smith) [1686205] - [usb] usb: gadget: musb: fix short isoc packets with inventra dma (Torez Smith) [1686205] - [usb] usbip: Fix vep_free_request() null pointer checks on input args (Torez Smith) [1686205] - [usb] usb: ehci-orion: add S2RAM support (Torez Smith) [1686205] - [usb] usb: ehci-orion: avoid double PHY initialization (Torez Smith) [1686205] - [usb] usb: host: xhci: mvebu: add reset on resume quirk (Torez Smith) [1686205] - [usb] usb: core: comply to PHY framework (Torez Smith) [1686205] - [usb] usb: phy: am335x: fix race condition in _probe (Torez Smith) [1686205] - [usb] usb: dwc3: exynos: Fix error handling of clk_prepare_enable (Torez Smith) [1686205] - [usb] usb: phy: fix link errors (Torez Smith) [1686205] - [usb] usb: gadget: udc: net2272: Fix bitwise and boolean operations (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Handle 0 xfer length for OUT EP (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: remove req->started flag (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: prevent dwc3_request from being queued twice (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: add dwc3_request status tracking (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: add support for r8a774c0 (Torez Smith) [1686205] - [usb] usb: gadget: uvc: add uvcg_warn macro (Torez Smith) [1686205] - [usb] usb: gadget: u_serial: process RX in workqueue instead of tasklet (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add r8a774c0 support (Torez Smith) [1686205] - [documentation] usb: gadget: udc: renesas_usb3: Add bindings for r8a774c0 (Torez Smith) [1686205] - [usb] usb: gadget: aspeed: fix typo (Torez Smith) [1686205] - [usb] usb: dwc3: keystone: Add support for ti, am654-dwc3 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: keystone-usb: Add ti, am654-dwc3 support (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Fix OTG events when gadget driver isn't loaded (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Add support for MSM8998 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Add support for msm8998 (Torez Smith) [1686205] - [usb] usb: gadget: Remove dead branch code (Torez Smith) [1686205] - [usb] USB: serial: cp210x: support all gpios on CP2102N QFN28 package (Torez Smith) [1686205] - [usb] usb: ftdi-elan: Fix if == else warnings in ftdi_elan_respond_engine (Torez Smith) [1686205] - [usb] usb: typec: tpcm: improve error handling of tcpm_register_port (Torez Smith) [1686205] - [usb] usb: misc: usb3503: Add system sleep support in non-I2C mode (Torez Smith) [1686205] - [usb] usbip: Fix vhci_urb_enqueue() URB null transfer buffer error path (Torez Smith) [1686205] - [usb] usb: sisusb: remove useless macros and compact the code (Torez Smith) [1686205] - [usb] usb: sisusb: let files build only when needed (Torez Smith) [1686205] - [usb] usb: sisusb_con, cleanup configs (Torez Smith) [1686205] - [usb] usb: sisusb_con, convert addr macros to functions (Torez Smith) [1686205] - [usb] usb: ftdi-elan: remove a unnecessary variable 'empty_packets' (Torez Smith) [1686205] - [usb] usb: assign ACPI companions for embedded USB devices (Torez Smith) [1686205] - [usb] usb: split code locating ACPI companion into port and device (Torez Smith) [1686205] - [usb] USB: host: whci: rename Kbuild file (Torez Smith) [1686205] - [usb] USB: remove README file (Torez Smith) [1686205] - [usb] USB: add missing SPDX lines to Kconfig and Makefiles (Torez Smith) [1686205] - [usb] USB: storage: karma: add whitespace after declarations (Torez Smith) [1686205] - [usb] USB: serial: keyspan_usa: add proper SPDX lines for .h files (Torez Smith) [1686205] - [usb] USB: EHCI: ehci-mv: add MODULE_DEVICE_TABLE (Torez Smith) [1686205] - [usb] USB: Consolidate LPM checks to avoid enabling LPM twice (Torez Smith) [1686205] - [usb] USB: Add new USB LPM helpers (Torez Smith) [1686205] - [usb] drivers: usb :fsl: Remove USB Errata checking code (Torez Smith) [1686205] - [usb] usb: kconfig: remove dependency FSL_SOC for ehci fsl driver (Torez Smith) [1686205] - [usb] usb: ehci: fsl: Update register accessing for arm/arm64 platforms (Torez Smith) [1686205] - [usb] usb: usb251xb: add usb data lane port swap feature (Torez Smith) [1686205] - [documentation] dt-bindings: usb: usb251xb: add documentation for data lane swapping (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: replace udelay() with usleep_range() (Torez Smith) [1686205] - [usb] USB: host: ohci-at91: add sam9x60-sfr definition for ohci (Torez Smith) [1686205] - [usb] xhci: Use struct_size() in kzalloc() (Torez Smith) [1686205] - [usb] usb: hub: add retry routine after intr URB submit error (Torez Smith) [1686205] - [usb] USB: leds: fix regression in usbport led trigger (Torez Smith) [1686205] - [usb] usb: chipidea: fix static checker warning for NULL pointer (Torez Smith) [1686205] - [usb] USB: usbip: delete README file (Torez Smith) [1686205] - [usb] USB: serial: pl2303: add new PID to support PL2303TB (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Fix Remote Wakeup interrupt bit clearing (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: fix GPIO not working in autosuspend (Torez Smith) [1686205] - [usb] usb: gadget: Potential NULL dereference on allocation error (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Fix the uninitialized link_state when udc starts (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Clear req->needs_extra_trb flag on cleanup (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: synchronize_irq dwc irq in suspend (Torez Smith) [1686205] - [usb] USB: core: urb: Use struct_size() in kmalloc() (Torez Smith) [1686205] - [usb] cross-tree: phase out dma_zalloc_coherent() (Torez Smith) [1686205] - [usb] usb: gadget: udc: reduce indentation (Torez Smith) [1686205] - [usb] usb: devio: update max count of DPs per interval for ISOC (Torez Smith) [1686205] - [usb] usb: host: u132-hcd: fix a couple of indentation issues (Torez Smith) [1686205] - [usb] usb: core: Simplify return value of usb_get_configuration() (Torez Smith) [1686205] - [usb] USB: Add USB_QUIRK_DELAY_CTRL_MSG quirk for Corsair K70 RGB (Torez Smith) [1686205] - [usb] usbcore: Select only first configuration for non-UAC3 compliant devices (Torez Smith) [1686205] - [usb] USB: storage: add quirk for SMI SM3350 (Torez Smith) [1686205] - [usb] USB: storage: don't insert sane sense for SPC3+ when bad sense specified (Torez Smith) [1686205] - [usb] usb: cdc-acm: send ZLP for Telit 3G Intel based modems (Torez Smith) [1686205] - [usb] USB: serial: simple: add Motorola Tetra TPG2200 device id (Torez Smith) [1686205] - [usb] USB: serial: option: add Fibocom NL678 series (Torez Smith) [1686205] - [usb] cdc-acm: fix abnormal DATA RX issue for Mediatek Preloader (Torez Smith) [1686205] - [usb] usb: r8a66597: Fix a possible concurrency use-after-free bug in r8a66597_endpoint_disable() (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Extend the matching rules on PPS APDO selection (Torez Smith) [1686205] - [documentation] usb: typec: Improve Alt Mode documentation (Torez Smith) [1686205] - [usb] usb: musb: dsps: fix runtime pm for peripheral mode (Torez Smith) [1686205] - [usb] usb: musb: dsps: fix otg state machine (Torez Smith) [1686205] - [usb] USB: serial: pl2303: add ids for Hewlett-Packard HP POS pole displays (Torez Smith) [1686205] - [usb] PCI: Move Synopsys HAPS platform device IDs (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: add support for RZ/G2E (Torez Smith) [1686205] - [usb] usb: ehci-omap: Fix deferred probe for phy handling (Torez Smith) [1686205] - [usb] usb: roles: Add a description for the class to Kconfig (Torez Smith) [1686205] - [usb] xhci: Don't prevent USB2 bus suspend in state check intended for USB3 only (Torez Smith) [1686205] - [usb] USB: serial: option: add Telit LN940 series (Torez Smith) [1686205] - [usb] USB: serial: option: add Fibocom NL668 series (Torez Smith) [1686205] - [usb] USB: serial: option: add Simcom SIM7500/SIM7600 (MBIM mode) (Torez Smith) [1686205] - [usb] USB: serial: option: add GosunCn ZTE WeLink ME3630 (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: mark PM functions as __maybe_unused (Torez Smith) [1686205] - [usb] usb: core: Remove unnecessary memset() (Torez Smith) [1686205] - [usb] usb: host: isp1362-hcd: convert to DEFINE_SHOW_ATTRIBUTE (Torez Smith) [1686205] - [usb] usb: dwc2: Fix disable all EP's on disconnect (Torez Smith) [1686205] - [usb] usb: chipidea: imx: allow to configure oc polarity on i.MX25 (Torez Smith) [1686205] - [usb] usb: chipidea: imx: Warn if oc polarity isn't specified (Torez Smith) [1686205] - [usb] usb: chipidea: imx: support configuring for active low oc signal (Torez Smith) [1686205] - [documentation] doc: usb: ci-hdrc-usb2: Add pinctrl properties for HSIC pin groups (Torez Smith) [1686205] - [usb] usb: chipidea: host: override ehci->hub_control (Torez Smith) [1686205] - [usb] usb: chipidea: imx: add HSIC support (Torez Smith) [1686205] - [usb] usb: chipidea: add flag for imx hsic implementation (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Disable CSP for stream OUT ep (Torez Smith) [1686205] - [usb] USB: serial: mos7840: remove set but not used variables 'number, serial' (Torez Smith) [1686205] - [usb] USB: serial: option: add HP lt4132 (Torez Smith) [1686205] - [usb] usb: dwc2: disable power_down on Amlogic devices (Torez Smith) [1686205] - [usb] xhci: move usb2 get port status link resume handling to its own function (Torez Smith) [1686205] - [usb] xhci: refactor U0 link state handling in get_port_status (Torez Smith) [1686205] - [usb] xhci: cleanup code that sets portstatus and portchange bits (Torez Smith) [1686205] - [usb] xhci: move usb2 speficic bits to own function in get_port_status call (Torez Smith) [1686205] - [usb] xhci: move usb3 speficic bits to own function in get_port_status call (Torez Smith) [1686205] - [usb] xhci: remove unused hcd_index() (Torez Smith) [1686205] - [usb] xhci: move bus_state structure under the xhci_hub structure (Torez Smith) [1686205] - [usb] xhci: remove the unused sw_lpm_support (Torez Smith) [1686205] - [usb] Revert "usb: dwc3: pci: Use devm functions to get the phy GPIOs" (Torez Smith) [1686205] - [usb] USB: gadget: udc: s3c2410_udc: convert to DEFINE_SHOW_ATTRIBUTE (Torez Smith) [1686205] - [usb] usb: mtu3: fix dbginfo in qmu_tx_zlp_error_handler (Torez Smith) [1686205] - [usb] usb: dwc3: trace: add missing break statement to make compiler happy (Torez Smith) [1686205] - [usb] xhci: Prevent U1/U2 link pm states if exit latency is too long (Torez Smith) [1686205] - [usb] xhci: workaround CSS timeout on AMD SNPS 3.0 xHC (Torez Smith) [1686205] - [tty] USB: serial: console: fix reported terminal settings (Torez Smith) [1686205] - [usb] usb: appledisplay: Remove unnecessary spinlock (Torez Smith) [1686205] - [usb] usb: appledisplay: Set urb transfer_flags to URB_NO_TRANSFER_DMA_MAP (Torez Smith) [1686205] - [usb] usb: quirk: add no-LPM quirk on SanDisk Ultra Flair device (Torez Smith) [1686205] - [usb] USB: Fix invalid-free bug in port_over_current_notify() (Torez Smith) [1686205] - [usb] usb: appledisplay: Add 27" Apple Cinema Display (Torez Smith) [1686205] - [platform] staging: typec: fusb302: Rename fcs, extcon-name to linux, extcon-name (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Report isoc transfer frame number (Torez Smith) [1686205] - [include] usb: gadget: Introduce frame_number to usb_request (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use SIMPLE_DEV_PM_OPS macro (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Remove dummy runtime PM callbacks (Torez Smith) [1686205] - [usb] usb: dwc2: host: use hrtimer for NAK retries (Torez Smith) [1686205] - [usb] usb: hub: delay hub autosuspend if USB3 port is still link training (Torez Smith) [1686205] - [usb] usb: mtu3: clear SOFTCONN when clear USB3_EN if work as HS mode (Torez Smith) [1686205] - [usb] usb: mtu3: enable SETUPENDISR interrupt (Torez Smith) [1686205] - [usb] usb: mtu3: fix the issue about SetFeature(U1/U2_Enable) (Torez Smith) [1686205] - [usb] usb: mtu3: enable hardware remote wakeup from L1 automatically (Torez Smith) [1686205] - [usb] usb: mtu3: remove QMU checksum (Torez Smith) [1686205] - [usb] usb/mtu3: power down device ip at setup (Torez Smith) [1686205] - [usb] usb: dwc2: Disable power down feature on Samsung SoCs (Torez Smith) [1686205] - [usb] usb: dwc3: Correct the logic for checking TRB full in __dwc3_prepare_one_trb() (Torez Smith) [1686205] - [usb] usb: dwc3: don't issue no-op trb for stream capable endpoints (Torez Smith) [1686205] - [usb] usb: dwc3: update stream id in depcmd (Torez Smith) [1686205] - [usb] USB: serial: mos7840: add a product ID for the new product (Torez Smith) [1686205] - [usb] USB: serial: mos7840: clean up register handling (Torez Smith) [1686205] - [usb] usb: gadget: u_ether: fix unsafe list iteration (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: check if dep->frame_number is still valid (Torez Smith) [1686205] - [usb] USB: omap_udc: fix rejection of out transfers when DMA is used (Torez Smith) [1686205] - [usb] USB: omap_udc: fix USB gadget functionality on Palm Tungsten E (Torez Smith) [1686205] - [usb] USB: omap_udc: fix omap_udc_start() on 15xx machines (Torez Smith) [1686205] - [usb] USB: omap_udc: fix crashes on probe error and module removal (Torez Smith) [1686205] - [usb] USB: omap_udc: use devm_request_irq() (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: remove unnecessary dev_info() (Torez Smith) [1686205] - [usb] usb: dwc3: trace: log ep commands in hex (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: return errors from __dwc3_gadget_start_isoc() (Torez Smith) [1686205] - [usb] usb: core: quirks: add RESET_RESUME quirk for Cherry G230 Stream series (Torez Smith) [1686205] - [usb] USB: usb-storage: Add new IDs to ums-realtek (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: remove wait_end_transfer (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: move requests to cancelled_list (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: introduce cancelled_list (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: extract dwc3_gadget_ep_skip_trbs() (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: use num_trbs when skipping TRBs on ->dequeue() (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: track number of TRBs per request (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: combine unaligned and zero flags (Torez Smith) [1686205] - [usb] usb: dwc3: Add workaround for isoc start transfer failure (Torez Smith) [1686205] - [documentation] usb: dwc3: Add disabling of start_transfer failure quirk (Torez Smith) [1686205] - [usb] usb: dwc3: Track DWC_usb31 VERSIONTYPE (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: Allow scatter-gather buffers (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: Add support for CCID descriptors (Torez Smith) [1686205] - [usb] usb: gadget: uvc: constify vb2_ops structure (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Accept LPM token when TxFIFO is not empty (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Fix WkupAlert interrupt handler (Torez Smith) [1686205] - [usb] usb: dwc3: Set default mode for DWC_usb3 v3.30a and higher (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: add a safety connection way for forced_b_device (Torez Smith) [1686205] - [usb] usb: dwc3: drd: Add support for DR detection through extcon (Torez Smith) [1686205] - [usb] usb: dwc3: drd: Switch to device property for 'extcon' handling (Torez Smith) [1686205] - [usb] usb: dwc3: don't log probe deferrals; but do log other error codes (Torez Smith) [1686205] - [usb] usb: gadget: aspeed-vhub: constify usb_gadget_ops structure (Torez Smith) [1686205] - [usb] usb: dwc3: Support option to disable USB2 LPM (Torez Smith) [1686205] - [documentation] usb: dwc3: Add a property to disable USB2 LPM (Torez Smith) [1686205] - [usb] usb: dwc3: Set GUSB2PHYCFG.ENBLSLPM (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Print/set link state for peripheral mode (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Properly print/set link state for HS (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Dump internal LSP and ep registers (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Print eps Tx/RxFIFO in bytes (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Properly name Tx/RxFIFO (Torez Smith) [1686205] - [usb] Revert "usb: dwc3: gadget: skip Set/Clear Halt when invalid" (Torez Smith) [1686205] - [usb] drivers: usb: early: clean up indentation, remove extraneous tabs (Torez Smith) [1686205] - [usb] USB: ene_usb6250: add missing indentation (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: use rounding when calculating baud rate divisors (Torez Smith) [1686205] - [usb] USB: serial: f81534: fix reading old/new IC config (Torez Smith) [1686205] - [usb] usb: cdc-acm: add entry for Hiro (Conexant) modem (Torez Smith) [1686205] - [usb] usb: xhci: Prevent bus suspend if a port connect change or polling state is detected (Torez Smith) [1686205] - [usb] usb: core: Fix hub port connection events lost (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: fix ISOC TRB type on unaligned transfers (Torez Smith) [1686205] - [usb] Revert "usb: gadget: ffs: Fix BUG when userland exits with submitted AIO transfers" (Torez Smith) [1686205] - [usb] usb: dwc2: pci: Fix an error code in probe (Torez Smith) [1686205] - [usb] usb: dwc3: Fix NULL pointer exception in dwc3_pci_remove() (Torez Smith) [1686205] - [usb] USB: serial: mos7840: remove set but not used variables 'st, data1, iflag' (Torez Smith) [1686205] - [usb] USB: serial: quatech2: remove set but not used variable 'port_priv' (Torez Smith) [1686205] - [include] USB: remove the unused struct hcd_timeout definition (Torez Smith) [1686205] - [usb] usb: typec: ucsi: add support for Cypress CCGx (Torez Smith) [1686205] - [usb] usb: xhci: fix timeout for transition from RExit to U0 (Torez Smith) [1686205] - [usb] usb: xhci: fix uninitialized completion when USB3 port got wrong status (Torez Smith) [1686205] - [usb] xhci: Add check for invalid byte size error when UAS devices are connected (Torez Smith) [1686205] - [usb] xhci: handle port status events for removed USB3 hcd (Torez Smith) [1686205] - [usb] xhci: Fix leaking USB3 shared_hcd at xhci removal (Torez Smith) [1686205] - [documentation] dt-bindings: usb: xhci-tegra: Add power-domain details (Torez Smith) [1686205] - [usb] USB: misc: appledisplay: add 20" Apple Cinema Display (Torez Smith) [1686205] - [usb] USB: quirks: Add no-lpm quirk for Raydium touchscreens (Torez Smith) [1686205] - [usb] usb: quirks: Add delay-init quirk for Corsair K70 LUX RGB (Torez Smith) [1686205] - [usb] USB: Wait for extra delay time after USB_PORT_FEAT_RESET for quirky hub (Torez Smith) [1686205] - [usb] USB: gadget: udc: fix spelling mistake "intrerrupt" -> "interrupt" (Torez Smith) [1686205] - [usb] usb: host: remove unnecessary condition check (Torez Smith) [1686205] - [usb] usb: typec: tcpm: charge current handling for sink during hard reset (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Do not disconnect link for self powered devices (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Properly check last unaligned/zero chain TRB (Torez Smith) [1686205] - [usb] usb: dwc3: core: Clean up ULPI device (Torez Smith) [1686205] - [usb] usb: phy: ab8500: silence some uninitialized variable warnings (Torez Smith) [1686205] - [usb] usb: xhci: tegra: Add genpd support (Torez Smith) [1686205] - [usb] usb: xhci: tegra: Power-off power-domains on removal (Torez Smith) [1686205] - [usb] usbip:vudc: BUG kmalloc-2048 (Not tainted): Poison overwritten (Torez Smith) [1686205] - [tools] usbip: tools: fix atoi() on non-null terminated string (Torez Smith) [1686205] - [usb] USB: misc: appledisplay: fix backlight update_status return code (Torez Smith) [1686205] - [usb] USB: fix the usbfs flag sanitization for control transfers (Torez Smith) [1686205] - [documentation] usb: host: add DT bindings for faraday fotg2 (Torez Smith) [1686205] - [usb] usb: host: ohci-at91: fix request of irq for optional gpio (Torez Smith) [1686205] - [usb] usb: xhci: pci: Enable Intel USB role mux on Apollo Lake platforms (Torez Smith) [1686205] - [usb] usb: roles: intel_xhci: Fix Unbalanced pm_runtime_enable (Torez Smith) [1686205] - [usb] cdc-acm: correct counting of UART states in serial state notification (Torez Smith) [1686205] - [usb] cdc-acm: do not reset notification buffer index upon urb unlinking (Torez Smith) [1686205] - [usb] cdc-acm: fix race between reset and control messaging (Torez Smith) [1686205] - [usb] usb: usbip: Fix BUG: KASAN: slab-out-of-bounds in vhci_hub_control() (Torez Smith) [1686205] - [usb] usb/early: remove set but not used variable 'remain_length' (Torez Smith) [1686205] - [usb] usb: typec: Fix copy/paste on typec_set_vconn_role() kerneldoc (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Report back negotiated PPS voltage and current (Torez Smith) [1686205] - [usb] USB: core: remove set but not used variable 'udev' (Torez Smith) [1686205] - [usb] usb: core: fix memory leak on port_dev_path allocation (Torez Smith) [1686205] - [usb] USB: net2280: Remove ->disconnect() callback from net2280_pullup() (Torez Smith) [1686205] - [usb] usb: dwc2: disable power_down on rockchip devices (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: add support for r8a77990 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usb3: add bindings for r8a77990 (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: remove set but not used variable 'iflag' (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: fix interrupt-out transfer length (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: add support for FT232R CBUS gpios (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: fix gpio name collisions (Torez Smith) [1686205] - [netdrv] net: usbnet: make driver_info const (Torez Smith) [1686205] - [usb] usb: typec: remove set but not used variables 'snk_ma, min_mv' (Torez Smith) [1686205] - [usb] usb: export firmware port location in sysfs (Torez Smith) [1686205] - [usb] usb: hub: try old enumeration scheme first for high speed devices (Torez Smith) [1686205] - [documentation] dt-bindings: usb-xhci: Document r8a7744 support (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add support for r8a7744 (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Fix APDO PPS order checking to be based on voltage (Torez Smith) [1686205] - [tools] usbip: fix vhci_hcd controller counting (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: Fix b-device mode for "workaround" (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Add handler for WkupAlert interrupt (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: enable WKUP_ALERT interrupt (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Program GREFCLK register (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Add parameters for GREFCLK register (Torez Smith) [1686205] - [usb] usb: dwc2: Add definitions for new registers (Torez Smith) [1686205] - [usb] usb: dwc2: Update target (u)frame calculation (Torez Smith) [1686205] - [usb] usb: dwc2: Add dwc2_gadget_dec_frame_num_by_one() function (Torez Smith) [1686205] - [usb] usb: dwc2: Add core parameter for service interval support (Torez Smith) [1686205] - [usb] usb: dwc2: Update registers definitions to support service interval (Torez Smith) [1686205] - [usb] usb: gadget: f_uac2: disable IN/OUT ep if unused (Torez Smith) [1686205] - [usb] USB: gadget core: Issue ->disconnect() callback from usb_gadget_disconnect() (Torez Smith) [1686205] - [usb] usb: dwc3: Fix spelling of 'optimizations' (Torez Smith) [1686205] - [usb] usb: gadget: atmel: remove pointless retrieval of DT name property (Torez Smith) [1686205] - [usb] usb: gadget: fsl_udc_core: fixup struct_udc_setup documentation (Torez Smith) [1686205] - [usb] usb: gadget: fsl_udc_core: check allocation return value and cleanup on failure (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Check ENBLSLPM before sending ep command (Torez Smith) [1686205] - [usb] usb: dwc2: fix unbalanced use of external vbus-supply (Torez Smith) [1686205] - [usb] usb: dwc2: fix call to vbus supply exit routine, call it unlocked (Torez Smith) [1686205] - [usb] usb: dwc2: fix a race with external vbus supply (Torez Smith) [1686205] - [usb] usb: dwc2: get optional vbus-supply regulator once (Torez Smith) [1686205] - [usb] usb: dwc3: add EXTCON dependency for qcom (Torez Smith) [1686205] - [usb] usb: gadget: udc: atmel: handle at91sam9rl PMC (Torez Smith) [1686205] - [usb] usb: gadget: udc: fotg210-udc: Fix a sleep-in-atomic-context bug in fotg210_get_status() (Torez Smith) [1686205] - [usb] usb: dwc2: Disable all EP's on disconnect (Torez Smith) [1686205] - [documentation] usb: dwc3: exynos: Add support for Exynos5433 variant with all clocks (Torez Smith) [1686205] - [usb] usb: dwc3: exynos: Rework clock handling and prepare for new variants (Torez Smith) [1686205] - [usb] usb: dwc3: exynos: Remove dead code (Torez Smith) [1686205] - [usb] usb: gadget: udc: Remove unnecessary parentheses (Torez Smith) [1686205] - [usb] usb: dwc2: remove set but unused variable (Torez Smith) [1686205] - [usb] usb: gadget: fix spelling mistakeis "queing" -> "queuing" (Torez Smith) [1686205] - [usb] usb: xhci-mtk: resume USB3 roothub first (Torez Smith) [1686205] - [usb] xhci: Add missing CAS workaround for Intel Sunrise Point xHCI (Torez Smith) [1686205] - [usb] usb: cdc_acm: Do not leak URB buffers (Torez Smith) [1686205] - [usb] usb: usbtmc: uninitialized symbol 'actual' in usbtmc_ioctl_abort_bulk_in_tag (Torez Smith) [1686205] - [usb] usb: usbtmc: uninitialized symbol 'actual' in usbtmc_ioctl_clear (Torez Smith) [1686205] - [usb] usb: usbtmc: uninitialized symbol 'actual' in usbtmc_read (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix memory leak in usbtmc_ioctl_request (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: add support for R-Car E3 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: add bindings for r8a77990 (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: rcar3: Use OTG mode for R-Car D3 (Torez Smith) [1686205] - [usb] Revert "usb: renesas_usbhs: set the mode by using extcon state for non-otg channel" (Torez Smith) [1686205] - [usb] Revert "usb: renesas_usbhs: add extcon notifier to set mode for non-otg channel" (Torez Smith) [1686205] - [usb] usb: core: added uevent for over-current (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Resolve fixed power role contract setup (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Correct spelling mistake for toggling state (Torez Smith) [1686205] - [usb] xhci: Avoid USB autosuspend when resuming USB2 ports (Torez Smith) [1686205] - [usb] usb: xhci: tegra: Firmware header is little endian (Torez Smith) [1686205] - [usb] xhci: Use soft retry to recover faster from transaction errors (Torez Smith) [1686205] - [usb] usb: host: xhci-plat: add platform TPL support (Torez Smith) [1686205] - [usb] usb: xhci-mtk: supports SSP without external USB3 gen2 hub (Torez Smith) [1686205] - [usb] usb: xhci-mtk: supports bandwidth scheduling with multi-TT (Torez Smith) [1686205] - [usb] usb: xhci-mtk: improve bandwidth scheduling (Torez Smith) [1686205] - [usb] usb: xhci-mtk: fix ISOC error when interval is zero (Torez Smith) [1686205] - [usb] usb: xhci-mtk: use maximum ESIT payload of endpiont context (Torez Smith) [1686205] - [usb] usb: host: Replace empty define with do while (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: implement GPIO support for FT-X devices (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Use u to print unsigned int values (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Simplify attributes macros (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Fix operation on big endian platforms (Torez Smith) [1686205] - [uapi] usb: video: Fix endianness mismatches in descriptor structures (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Remove uvc_set_trace_param() function (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Replace plain printk() with dev_*() (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Only halt video streaming endpoint in bulk mode (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Factor out video USB request queueing (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Sort frame intervals upon writing (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Prevent format changes after linking header (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Add bFrameIndex attributes (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Add bFormatIndex attributes (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Add interface number attributes (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Allocate groups dynamically (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Drop leaked references to config items (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc2: add description for px30 (Torez Smith) [1686205] - [usb] USB: serial: simple: add Motorola Tetra MTP6550 id (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: fix spelling mistake "retreiving" -> "retrieving" (Torez Smith) [1686205] - [usb] USB: STORAGE: ISD200 Fixed coding style issue "space required in for loop" (Torez Smith) [1686205] - [usb] usb: typec: Group all TCPCI/TCPM code together (Torez Smith) [1686205] - [usb] usb: typec: fusb302: reorganizing the probe function a little (Torez Smith) [1686205] - [usb] usb: typec: class: Don't use port parent for getting mux handles (Torez Smith) [1686205] - [usb] usb: typec: mux: Take care of driver module reference counting (Torez Smith) [1686205] - [usb] usb: core: safely deal with the dynamic quirk lists (Torez Smith) [1686205] - [usb] usb: roles: Take care of driver module reference counting (Torez Smith) [1686205] - [usb] usb: phy: mxs: fix spelling mistake "stardard" -> "standard" (Torez Smith) [1686205] - [usb] usb: host: fotg2: Fix potential NULL dereference (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add multiple clocks management (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: add clock-names property (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add reset_control (Torez Smith) [1686205] - [documentation] dt-bindings: usb: ohci: Add clocks description for R-Car Gen3 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: ehci: Add clocks description for R-Car Gen3 (Torez Smith) [1686205] - [usb] usbcore: Select UAC3 configuration for audio if present (Torez Smith) [1686205] - [documentation] usb: gadget: udc: renesas_usb3: Add r8a774a1 support (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add r8a774a1 support (Torez Smith) [1686205] - [documentation] dt-bindings: usb-xhci: Add r8a774a1 support (Torez Smith) [1686205] - [documentation] dt-bindings: ehci-mv: add bindings (Torez Smith) [1686205] - [usb] USB: EHCI: ehci-mv: add DT support (Torez Smith) [1686205] - [usb] USB: EHCI: ehci-mv: use phy-pxa-usb (Torez Smith) [1686205] - [usb] USB: EHCI: ehci-mv: remove private_init (Torez Smith) [1686205] - [usb] USB: EHCI: make ehci-mv a separate driver (Torez Smith) [1686205] - [usb] usb: usbtmc: Remove sysfs group TermChar and auto_abort (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix split quoted string in debug message (Torez Smith) [1686205] - [usb] usb: usbtmc: Remove redundant macro USBTMC_SIZE_IOBUFFER (Torez Smith) [1686205] - [usb] usb: usbtmc: Remove redundant code (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_API_VERSION (Torez Smith) [1686205] - [usb] usb: usbtmc: Replace USBTMC_TIMEOUT macros for control messages (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix ioctl USBTMC_IOCTL_ABORT_BULK_OUT (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix ioctl USBTMC_IOCTL_ABORT_BULK_IN (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix ioctl USBTMC_IOCTL_CLEAR (Torez Smith) [1686205] - [usb] usb: usbtmc: Optimize usbtmc_read (Torez Smith) [1686205] - [usb] usb: usbtmc: Optimize usbtmc_write (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_AUTO_ABORT (Torez Smith) [1686205] - [usb] usb: usbtmc: add ioctl USBTMC_IOCTL_MSG_IN_ATTR (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC488_IOCTL_WAIT_SRQ (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix suspend/resume (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_CLEANUP_IO (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_CANCEL_IO (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for vendor specific read (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_WRITE_RESULT (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for vendor specific write (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for generic requests on control (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Populate tcpc fwnode for TCPM property handling (Torez Smith) [1686205] - [documentation] dt-bindings: usb: fusb302: Use usb-connector bindings for configuration (Torez Smith) [1686205] - [documentation] dt-bindings: connector: Add support for USB-PD PPS APDOs to bindings (Torez Smith) [1686205] - [usb] USB: handle NULL config in usb_find_alt_setting() (Torez Smith) [1686205] - [usb] USB: fix error handling in usb_driver_claim_interface() (Torez Smith) [1686205] - [usb] USB: remove LPM management from usb_driver_claim_interface() (Torez Smith) [1686205] - [usb] USB: usbdevfs: restore warning for nonsensical flags (Torez Smith) [1686205] - [usb] USB: usbdevfs: sanitize flags more (Torez Smith) [1686205] - [usb] Revert "usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_outstanding_interrupt()" (Torez Smith) [1686205] - [usb] usb: musb: dsps: do not disable CPPI41 irq in driver teardown (Torez Smith) [1686205] - [usb] usb: chipidea: Fix otg event handler (Torez Smith) [1686205] - [usb] usb: chipidea: Prevent unbalanced IRQ disable (Torez Smith) [1686205] - [documentation] doc: usb: ci-hdrc-usb2: Add pinctrl properties definition (Torez Smith) [1686205] - [usb] usb: chipidea: Add dynamic pinctrl selection (Torez Smith) [1686205] - [usb] usb: chipidea: imx: make MODULE_LICENCE and SPDX-identifier match (Torez Smith) [1686205] - [usb] usb: chipidea: imx: enable OTG overcurrent in case USB subsystem is already started (Torez Smith) [1686205] - [usb] usb: chipidea: imx: do not use preprocessor conditionals for PM (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Add section header comments (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Don't wrap groups unnecessarily (Torez Smith) [1686205] - [usb] mos7720: bury dead TIOCM... in ->ioctl() (Torez Smith) [1686205] - [usb] USB: serial: option: add two-endpoints device-id flag (Torez Smith) [1686205] - [usb] USB: serial: option: improve Quectel EP06 detection (Torez Smith) [1686205] - [usb] Revert "cdc-acm: implement put_char() and flush_chars()" (Torez Smith) [1686205] - [usb] usb: Change usb_of_get_companion_dev() place to usb/common (Torez Smith) [1686205] - [usb] usb: xhci: fix interrupt transfer error happened on MTK platforms (Torez Smith) [1686205] - [usb] usb: core: phy: clean up return value check about devm_of_phy_get_by_index() (Torez Smith) [1686205] - [usb] usb: mtu3: disable vbus rise/fall interrupts of ltssm (Torez Smith) [1686205] - [usb] USB: wusbcore: Switch to bitmap_zalloc() (Torez Smith) [1686205] - [usb] usb: misc: fix obsolete function (Torez Smith) [1686205] - [usb] usb: iowarrior: replace kmalloc with kmalloc_array (Torez Smith) [1686205] - [usb] USB: OHCI: Remove USB bus reset delay from OHCI handover code (Torez Smith) [1686205] - [usb] usb: host: fotg2: add silicon clock handling (Torez Smith) [1686205] - [usb] USB: typec: fsusb302: remove unused variables snk_pdo and toggling_mode_name (Torez Smith) [1686205] - [usb] usb storage: remove inherited SCSI dependency for USB_STORAGE_ENE_UB6250 (Torez Smith) [1686205] - [usb] usb storage: group dependent USB storage Kconfig entries together (Torez Smith) [1686205] - [usb] USB: Removing NULL check for pool since dma_pool_destroy is safe (Torez Smith) [1686205] - [usb] usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_outstanding_interrupt() (Torez Smith) [1686205] - [usb] usb: misc: uss720: Fix two sleep-in-atomic-context bugs (Torez Smith) [1686205] - [usb] usb: host: u132-hcd: Fix a sleep-in-atomic-context bug in u132_get_frame() (Torez Smith) [1686205] - [usb] usb: Avoid use-after-free by flushing endpoints early in usb_set_interface() (Torez Smith) [1686205] - [usb] usb/typec: fix kernel-doc notation warning for typec_match_altmode (Torez Smith) [1686205] - [usb] usb: Don't die twice if PCI xhci host is not responding in resume (Torez Smith) [1686205] - [usb] usb: mtu3: fix error of xhci port id when enable U3 dual role (Torez Smith) [1686205] - [usb] usb: uas: add support for more quirk flags (Torez Smith) [1686205] - [usb] USB: Add quirk to support DJI CineSSD (Torez Smith) [1686205] - [usb] usb: typec: fix kernel-doc parameter warning (Torez Smith) [1686205] - [usb] usb/dwc3/gadget: fix kernel-doc parameter warning (Torez Smith) [1686205] - [usb] USB: yurex: Check for truncation in yurex_read() (Torez Smith) [1686205] - [usb] USB: yurex: Fix buffer over-read in yurex_write() (Torez Smith) [1686205] - [usb] usb: host: xhci-plat: Iterate over parent nodes for finding quirks (Torez Smith) [1686205] - [usb] xhci: Fix use after free for URB cancellation on a reallocated endpoint (Torez Smith) [1686205] - [usb] USB: add quirk for WORLDE Controller KS49 or Prodipe MIDI 49C USB controller (Torez Smith) [1686205] - [usb] usb: dwc2: Fix call location of dwc2_check_core_endianness (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Fix return value check in dwc3_byt_enable_ulpi_refclock() (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: fix maxpacket size of ep0 (Torez Smith) [1686205] - [usb] usb: gadget: fotg210-udc: Fix memory leak of fotg210->ep (Torez Smith) [1686205] - [usb] USB: net2280: Fix erroneous synchronization change (Torez Smith) [1686205] - [usb] usb: dwc3: of-simple: avoid unused function warnings (Torez Smith) [1686205] - [usb] USB: serial: ti_usb_3410_5052: fix array underflow in completion handler (Torez Smith) [1686205] - [usb] USB: serial: io_ti: fix array underflow in completion handler (Torez Smith) [1686205] - [usb] USB: serial: pl2303: add a new device id for ATEN (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Kconfig: convert to SPDX identifiers (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Check MaxPacketSize from descriptor (Torez Smith) [1686205] - [usb] usb: dwc2: Turn on uframe_sched on "stm32f4x9_fsotg" platforms (Torez Smith) [1686205] - [usb] usb: dwc2: Turn on uframe_sched on "amlogic" platforms (Torez Smith) [1686205] - [usb] usb: dwc2: Turn on uframe_sched on "his" platforms (Torez Smith) [1686205] - [usb] usb: dwc2: Turn on uframe_sched on "bcm" platforms (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: ISOC's starting flow improvement (Torez Smith) [1686205] - [usb] usb: dwc2: Make dwc2_readl/writel functions endianness-agnostic (Torez Smith) [1686205] - [usb] usb: dwc3: core: Enable AutoRetry feature in the controller (Torez Smith) [1686205] - [usb] usb: dwc3: Set default mode for dwc_usb31 (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: Add register of usb role switch (Torez Smith) [1686205] - [usb] usb: dwc2: replace ioread32/iowrite32_rep with dwc2_readl/writel_rep (Torez Smith) [1686205] - [usb] usb: dwc2: Modify dwc2_readl/writel functions prototype (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Intel Merrifield can be host (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Supply device properties via driver data (Torez Smith) [1686205] - [documentation] arm64: dts: dwc3: description of incr burst type (Torez Smith) [1686205] - [usb] usb: dwc3: Enable undefined length INCR burst type (Torez Smith) [1686205] - [usb] usb: dwc3: add global soc bus configuration reg0 (Torez Smith) [1686205] - [usb] usb: dwc3: Describe 'wakeup_work' field of struct dwc3_pci (Torez Smith) [1686205] - [usb] USB: option: add support for DW5821e (Torez Smith) [1686205] - [usb] usb: dwc3: change stream event enable bit back to 13 (Torez Smith) [1686205] - [usb] usb: dwc3: of-simple: reset host controller at suspend/resume (Torez Smith) [1686205] - [usb] usb: gadget: storage: Remove reference counting (Torez Smith) [1686205] - [usb] usb: gadget: storage: Add error handling for no memory (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Use devm functions to get the phy GPIOs (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Enable ULPI Refclk on platforms where the firmware does not (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Add GPIO lookup table on platforms without ACPI GPIO resources (Torez Smith) [1686205] - [usb] USB: gadget: Document that certain ep operations can be called in interrupt context (Torez Smith) [1686205] - [usb] usb: gadget: configfs: avoid spaces for indentation (Torez Smith) [1686205] - [usb] usb: dwc3: Add a glue driver for Synopsys HAPS platform (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Expose configuration name through video node (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Move function to avoid forward declaration (Torez Smith) [1686205] - [usb] usb: dwc2: Move dwc2_readl/writel functions after hsotg structure (Torez Smith) [1686205] - [usb] usb: gadget: tcm: fix spelling mistake: "Manufactor" -> "Manufacturer" (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Move trace parameter to function module (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Minimize #include in headers (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Move userspace API definition to public header (Torez Smith) [1686205] - [usb] usb: host: exynos: Remove support for Exynos5440 (Torez Smith) [1686205] - [usb] usb: usbtmc: Add support for 32 bit compat applications (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for termination character (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for EOM bit (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for trigger (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctls to set/get usb timeout (Torez Smith) [1686205] - [usb] usb: usbtmc: use consistent timeout error (Torez Smith) [1686205] - [usb] usb: usbtmc: Support Read Status Byte with SRQ per file (Torez Smith) [1686205] - [usb] USB: serial: cp210x: implement GPIO support for CP2102N (Torez Smith) [1686205] - [usb] USB: serial: cp210x: improve line-speed handling for CP2104 and CP2105 (Torez Smith) [1686205] - [usb] USB: serial: cp210x: generalise CP2102N line-speed handling (Torez Smith) [1686205] - [usb] USB: serial: cp210x: improve baudrate support for CP2102N (Torez Smith) [1686205] - [usb] USB: serial: cp210x: honour device-type maximum line speed (Torez Smith) [1686205] - [usb] USB: serial: cp210x: make line-speed quantisation data driven (Torez Smith) [1686205] - [usb] USB: serial: iuu_phoenix: drop redundant input-speed re-encoding (Torez Smith) [1686205] - [usb] USB: serial: iuu_phoenix: drop unused driver-data baud rate (Torez Smith) [1686205] - [usb] USB: serial: mos7720: remove redundant variables iflag, mask and serial (Torez Smith) [1686205] - [documentation] dt-bindings: usb-xhci: Add r8a77990 support (Torez Smith) [1686205] - [usb] usb: host: ehci-sched: remove redundant pointer dev (Torez Smith) [1686205] - [usb] usb: host: u132-hcd: remove redundant variable num_ports (Torez Smith) [1686205] - [usb] USB: host: whci: remove redundant variable t (Torez Smith) [1686205] - [usb] usb: xhci: dbc: remove redundant pointer dbc (Torez Smith) [1686205] - [usb] usb: isp1760: remove redundant variable 'selector' (Torez Smith) [1686205] - [usb] usb-misc: sisusbvga: remove redundant variable modey (Torez Smith) [1686205] - [usb] usb: misc: uss720: remove redundant pointer usbdev (Torez Smith) [1686205] - [usb] usb: usbip: remove redundant pointer ep (Torez Smith) [1686205] - [usb] USB: serial: kl5kusb105: remove KLSI device id (Torez Smith) [1686205] - [usb] usb: host: xhci-rcar: Add a condition check about PLL active (Torez Smith) [1686205] - [usb] usb: host: xhci-rcar: Simplify getting the firmware name for R-Car Gen3 (Torez Smith) [1686205] - [usb] usb: host: xhci-plat: add firmware_name for R-Car Gen3 (Torez Smith) [1686205] - [usb] usb: typec: avoid format-overflow warning (Torez Smith) [1686205] - [usb] usb: typec: unlock dp->lock on error exit path, and also zero ret if successful (Torez Smith) [1686205] - [usb] usb: typec: fix dereference before null check on adev (Torez Smith) [1686205] - [usb] usb: usbtest: use irqsave() in USB's complete callback (Torez Smith) [1686205] - [usb] USB: serial: kobil_sct: add missing version error handling (Torez Smith) [1686205] - [usb] USB: serial: kobil_sct: fix modem-status error handling (Torez Smith) [1686205] - [usb] usb: simplify usbport trigger (Torez Smith) [1686205] - [include] device connection: Add fwnode member to struct device_connection (Torez Smith) [1686205]- [security] KEYS: reaching the keys quotas correctly (Vladis Dronov) [1820405] - [security] KEYS: allow reaching the keys quotas exactly (Vladis Dronov) [1820405] - [infiniband] RDMA/core: Ensure security pkey modify is not lost (Kamal Heib) [1786604] - [infiniband] IB/hfi1: Ensure pq is not left on waitlist (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/mad: Do not crash if the rdma device does not have a umad interface (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix missing error check on dev_set_name() (Kamal Heib) [1786604] - [infiniband] RDMA/nl: Do not permit empty devices names during RDMA_NLDEV_CMD_NEWLINK/SET (Kamal Heib) [1786604] - [infiniband] RDMA/iwcm: Fix iwcm work deallocation (Kamal Heib) [1786604] - [infiniband] RDMA/siw: Fix failure handling during device creation (Kamal Heib) [1786604] - [infiniband] RDMA/nldev: Fix crash when set a QP to a new counter but QPN is missing (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix protection fault in ib_mr_pool_destroy (Kamal Heib) [1786604] - [infiniband] IB/hfi1, qib: Ensure RCU is locked when accessing list (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/core: Fix pkey and port assignment in get_new_pps (Kamal Heib) [1786604] - [infiniband] RMDA/cm: Fix missing ib_cm_destroy_id() in ib_cm_insert_listen() (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix use of logical OR in get_new_pps (Kamal Heib) [1786604] - [infiniband] Revert "RDMA/cma: Simplify rdma_resolve_addr() error flow" (Kamal Heib) [1786604] - [net] xprtrdma: Fix DMA scatter-gather list mapping imbalance (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix protection fault in get_pkey_idx_qp_list (Kamal Heib) [1786604] - [infiniband] RDMA/rxe: Fix soft lockup problem due to using tasklets in softirq (Kamal Heib) [1786604] - [infiniband] IB/umad: Fix kernel crash while unloading ib_umad (Kamal Heib) [1786604] - [infiniband] RDMA/core: Add missing list deletion on freeing event queue (Kamal Heib) [1786604] - [infiniband] RDMA/siw: Remove unwanted WARN_ON in siw_cm_llp_data_ready() (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix invalid memory access in spec_filter_size (Kamal Heib) [1786604] - [infiniband] IB/rdmavt: Reset all QPs when the device is shut down (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Close window for pq and request coliding (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Acquire lock to release TID entries when user file is closed (Kamal Heib) [1786604 1739282] - [infiniband] IB/umem: use get_user_pages_fast() to pin DMA pages (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Mask access flags with the correct optional range (Kamal Heib) [1786604] - [infiniband] RDMA/cma: Fix unbalanced cm_id reference count during address resolve (Kamal Heib) [1786604] - [infiniband] RDMA/umem: Fix ib_umem_find_best_pgsz() (Kamal Heib) [1786604] - [infiniband] IB/hfi1: Fix logical condition in msix_request_irq (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/cm: Remove CM message structs (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Use IBA functions for complex structure members (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Use IBA functions for simple structure members (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Use IBA functions for swapping get/set acessors (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Use IBA functions for simple get/set acessors (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Add SET/GET implementations to hide IBA wire format (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Add accessors for CM_REQ transport_type (Kamal Heib) [1786604] - [infiniband] RDMA/core: Ensure that rdma_user_mmap_entry_remove() is a fence (Kamal Heib) [1786604] - [rdma] RDMA/uverbs: Add new relaxed ordering memory region access flag (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Allow passing of optional access flags for MR registration (Kamal Heib) [1786604] - [rdma] RDMA/core: Add optional access flags range (Kamal Heib) [1786604] - [rdma] RDMA/uverbs: Verify MR access flags (Kamal Heib) [1786604] - [infiniband] RDMA/core: Remove ucontext_lock from the uverbs_destry_ufile_hw() path (Kamal Heib) [1786604] - [infiniband] RDMA/core: Add UVERBS_METHOD_ASYNC_EVENT_ALLOC (Kamal Heib) [1786604] - [infiniband] IB/srp: Never use immediate data if it is disabled by a user (Kamal Heib) [1786604] - [infiniband] RDMA/rxe: Compute the maximum sges and inline size based on the WQE size (Kamal Heib) [1786604] - [infiniband] Introduce maximum WQE size to check limits (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Remove unused ucontext parameter from efa_qp_user_mmap_entries_remove (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Remove {} brackets from single statement if (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Device definitions documentation updates (Kamal Heib) [1786604] - [net] xprtrdma: DMA map rr_rdma_buf as each rpcrdma_rep is created (Kamal Heib) [1786604] - [net] xprtrdma: Destroy reps from previous connection instance (Kamal Heib) [1786604] - [net] xprtrdma: Destroy rpcrdma_rep when Receive is flushed (Kamal Heib) [1786604] - [net] xprtrdma: Allocate and map transport header buffers at connect time (Kamal Heib) [1786604] - [net] xprtrdma: Refactor frwr_is_supported (Kamal Heib) [1786604] - [net] xprtrdma: Eliminate per-transport "max pages" (Kamal Heib) [1786604] - [net] xprtrdma: Refactor initialization of ep->rep_max_requests (Kamal Heib) [1786604] - [net] xprtrdma: Make sendctx queue lifetime the same as connection lifetime (Kamal Heib) [1786604] - [net] xprtrdma: Eliminate ri_max_send_sges (Kamal Heib) [1786604] - [infiniband] RDMA/core: Use READ_ONCE for ib_ufile.async_file (Kamal Heib) [1786604] - [infiniband] RDMA/core: Make ib_uverbs_async_event_file into a uobject (Kamal Heib) [1786604] - [rdma] RDMA/core: Remove the ufile arg from rdma_alloc_begin_uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Simplify type usage for ib_uverbs_async_handler() (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not erase the type of ib_wq.uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not erase the type of ib_srq.uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not erase the type of ib_qp.uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not erase the type of ib_cq.uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Make ib_ucq_object use ib_uevent_object (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not allow alloc_commit to fail (Kamal Heib) [1786604] - [infiniband] RDMA/core: Simplify destruction of FD uobjects (Kamal Heib) [1786604] - [infiniband] RDMA/mlx5: Use RCU and direct refcounts to keep memory alive (Kamal Heib) [1786604] - [infiniband] RDMA/uverbs: Remove needs_kfree_rcu from uverbs_obj_type_class (Kamal Heib) [1786604] - [infiniband] RDMA/core: Remove err in iw_query_port (Kamal Heib) [1786604] - [infiniband] IB/hfi1: Add RcvShortLengthErrCnt to hfi1stats (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Add software counter for ctxt0 seq drop (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Return void in packet receiving functions (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Decouple IRQ name from type (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Create API for auto activate (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: IB/hfi1: Add an API to handle special case drop (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Move common receive IRQ code to function (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Add fast and slow handlers for receive context (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Move chip specific functions to chip.c (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/core: Fix locking in ib_uverbs_event_read (Kamal Heib) [1786604] - [infiniband] IB/core: Fix build failure without hugepages (Kamal Heib) [1786604] - [infiniband] IB/core: Rename event_handler_lock to qp_open_list_lock (Kamal Heib) [1786604] - [infiniband] IB/core: Cut down single member ib_cache structure (Kamal Heib) [1786604] - [infiniband] RDMA/core: Add trace points to follow MR allocation (Kamal Heib) [1786604] - [infiniband] RDMA/core: Trace points for diagnosing completion queue issues (Kamal Heib) [1786604] - [infiniband] RDMA/cma: Add trace points in RDMA Connection Manager (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Delete unused CM ARP functions (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Delete unused CM LAP functions (Kamal Heib) [1786604] - [infiniband] RDMA/rxe: Fix error type of mmap_offset (Kamal Heib) [1786604] - [infiniband] IB/iser: use true,false for bool variable (Kamal Heib) [1786604] - [infiniband] IB/hfi1: use true,false for bool variable (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/siw: use true,false for bool variable (Kamal Heib) [1786604] - [infiniband] IB/core: Fix ODP with IB_ACCESS_HUGETLB handling (Kamal Heib) [1786604] - [infiniband] IB/core: Fix ODP get user pages flow (Kamal Heib) [1786604] - [infiniband] IB/rdmavt: Correct comments in rdmavt_qp.h header (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: List all receive contexts from debugfs (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Add accessor API routines to access context members (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/cm: Use RCU synchronization mechanism to protect cm_id_private xa_load() (Kamal Heib) [1786604] - [infiniband] RDMA/srpt: Remove unnecessary assertion in srpt_queue_response (Kamal Heib) [1786604] - [infiniband] RDMA/netlink: Do not always generate an ACK for some netlink operations (Kamal Heib) [1786604] - [infiniband] RDMA/siw: Simplify QP representation (Kamal Heib) [1786604] - [infiniband] RDMA/qedr: Add kernel capability flags for dpm enabled mode (Kamal Heib) [1786604] - [platform] platform/x86: intel_pmc_core: Add Intel Tiger Lake support (Alexander Beregalov) [1783390] - [platform] platform/x86: intel_pmc_core: Create platform dependent bitmap structs (Alexander Beregalov) [1783390] - [platform] platform/x86: intel_pmc_core: Clean up: Remove comma after the termination line (Alexander Beregalov) [1783390] - [pinctrl] pinctrl: tigerlake: Tiger Lake uses _HID enumeration (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Add Coffee Lake-S ACPI ID (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Pass irqchip when adding gpiochip (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Add GPIO <-> pin mapping ranges via callback (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Replace WARN with dev_info_once when setting direct-irq pin to output (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Add missing Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Reuse struct intel_pinctrl in the driver (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use local variable to keep device pointer (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Keep pointer to struct device instead of its container (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Share struct intel_pinctrl for wider use (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use GPIO direction definitions (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use GPIO direction definitions (David Arcari) [1773772] - [include] gpio: Add definition for GPIO direction (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Move IRQ valid mask initialization to a dedicated callback (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Group GPIO IRQ chip initialization (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Allocate IRQ chip dynamic (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Pass irqchip when adding gpiochip (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Add GPIO <-> pin mapping ranges via callback (David Arcari) [1773772] - [gpio] gpiolib: Introduce ->add_pin_ranges() callback (David Arcari) [1773772] - [gpio] gpiolib: Initialize the hardware with a callback (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Update North Community pin list (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Really serialize all register accesses (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Update pin list according to v1.1v6 (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Missed type change to unsigned int (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Add Intel Tiger Lake pin controller support (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use helper to restore register values on ->resume() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Drop level from warning to debug in intel_restore_hostown() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_restore_intmask() helper (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_restore_hostown() helper (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_restore_padcfg() helper (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Avoid potential glitches if pin is in GPIO mode (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Allocate IRQ chip dynamic (David Arcari) [1773772] - [pinctrl] gpio: Initialize the irqchip valid_mask with a callback (David Arcari) [1773772] - [pinctrl] pinctrl: intel: mark intel_pin_to_gpio __maybe_unused (David Arcari) [1773772] - [pinctrl] pinctrl: intel: remap the pin number to gpio offset for irq enabled pin (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Update pin names according to v1.08 (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Remove dev_err() usage after platform_get_irq() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use NSEC_PER_USEC for debounce calculus (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Re-use data structures from pinctrl-intel.h (part 2) (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Remove default Interrupt Status offset (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: icelake: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Simplify offset validation in intel_get_padcfg() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Drop double check for data in intel_pinctrl_probe_by_uid() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use devm_platform_ioremap_resource() (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use devm_platform_ioremap_resource() (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use GENMASK() consistently (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Re-use data structures from pinctrl-intel.h (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use defined macro instead of magic in byt_get_gpio_mux() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Clear interrupt status in mask/unmask callback (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use GENMASK() consistently (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Increase readability of intel_gpio_update_pad_mode() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Retain HOSTSW_OWN for requested gpio pin (David Arcari) [1773772] - [pinctrl] pinctrl: pinctrl-intel: move gpio suspend/resume to noirq phase (David Arcari) [1773772] - [pinctrl] pinctrl: cedarfork: Update pin names according to v1.13c (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Fix potential NULL pointer dereference (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: icelake: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Replace acpi.h with mod_devicetable.h (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Replace acpi.h with mod_devicetable.h (David Arcari) [1773772] - [pinctrl] pinctrl: cedarfork: Replace acpi.h with mod_devicetable.h (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Unexport intel_pinctrl_probe() (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: icelake: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: cedarfork: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: intel: simplify getting .driver_data (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: simplify getting .driver_data (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Sort register offsets by value (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Update pin list for B0 stepping (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Convert unsigned to unsigned int (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Convert unsigned to unsigned int (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Convert unsigned to unsigned int (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Sort headers alphabetically (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Remove unneeded MODULE_DEVICE_TABLE() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Move linux/pm.h to the local header (David Arcari) [1773772] - [pinctrl] pinctrl: Include nothing else (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: icelake: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: cedarfork: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce common macro for PM operations (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Convert to use intel_pinctrl_probe_by_hid() (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Convert to use intel_pinctrl_probe_by_hid() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_pinctrl_probe_by_hid() internal API (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Convert to use device_get_match_data() (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Convert to use intel_pinctrl_probe_by_uid() (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Convert to use intel_pinctrl_probe_by_uid() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_pinctrl_probe_by_uid() internal API (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Fix a spelling typo in kernel documentation (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: actually print the apparently misconfigured pin (David Arcari) [1773772] - [mm] mm, page_alloc: move_freepages should not examine struct page of reserved memory (Rafael Aquini) [1588584] - [mm] mm, page_alloc: initialize num_movable in move_freepages() (Rafael Aquini) [1588584] - [tools] selftests: vm: drop dependencies on page flags from mlock2 tests (Rafael Aquini) [1658886] - [powercap] powercap/intel_rapl: add support for TigerLake Mobile (David Arcari) [1783136] - [kernel] locking/lockdep: Avoid recursion in lockdep_count_{for, back}ward_deps() (Waiman Long) [1780993] - [kernel] locking/lockdep: Reuse freed chain_hlocks entries (Waiman Long) [1780993] - [kernel] locking/lockdep: Track number of zapped lock chains (Waiman Long) [1780993] - [kernel] locking/lockdep: Throw away all lock chains with zapped class (Waiman Long) [1780993] - [kernel] locking/lockdep: Track number of zapped classes (Waiman Long) [1780993] - [kernel] locking/lockdep: Display irq_context names in /proc/lockdep_chains (Waiman Long) [1780993] - [kernel] locking/lockdep: Decrement IRQ context counters when removing lock chain (Waiman Long) [1780993] - [kernel] locking/lockdep: Fix lockdep_stats indentation problem (Waiman Long) [1780993] - [kernel] locking/lockdep: Fix buffer overrun problem in stack_trace (Waiman Long) [1780993] - [lib] lib/string: Make memzero_explicit() inline instead of external (Florian Westphal) [1820623] - [crypto] crypto: sha256 - Remove sha256/224_init code duplication (Florian Westphal) [1820623] - [crypto] crypto: sha256 - Merge crypto/sha256.h into crypto/sha.h (Florian Westphal) [1820623] - [crypto] crypto: chelsio - Rename arrays to avoid conflict with crypto/sha256.h (Florian Westphal) [1820623] - [x86] crypto: x86 - Rename functions to avoid conflict with crypto/sha256.h (Florian Westphal) [1820623] - [arm64] crypto: arm64 - Rename functions to avoid conflict with crypto/sha256.h (Florian Westphal) [1820623] - [crypto] crypto: sha256_generic - Switch to the generic lib/crypto/sha256.c lib code (Florian Westphal) [1820623] - [lib] crypto: sha256 - Add sha224 support to sha256 library code (Florian Westphal) [1820623] - [lib] crypto: sha256 - Make lib/crypto/sha256.c suitable for generic use (Florian Westphal) [1820623] - [lib] crypto: sha256 - Use get/put_unaligned_be32 to get input, memzero_explicit (Florian Westphal) [1820623] - [s390] crypto: sha256 - Move lib/sha256.c to lib/crypto (Florian Westphal) [1820623] - [crypto] crypto: sha256_generic - Fix some coding style issues (Florian Westphal) [1820623] - [lib] crypto: sha256 - Fix some coding style issues (Florian Westphal) [1820623] - [thunderbolt] thunderbolt: Fix error code in tb_port_is_width_supported() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Prevent crash if non-active NVMem file is read (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: fix memory leak of object sw (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Fix xhci check in usb4_switch_setup() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add support for USB 3.x tunnels (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add support for Time Management Unit (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Make tb_switch_find_cap() available to other files (Jarod Wilson) [1482838] - [netdrv] thunderbolt: Update Kconfig entries to USB4 (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add initial support for USB4 (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Populate PG field in hot plug acknowledgment packet (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Call tb_eeprom_get_drom_offset() from tb_eeprom_read_n() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Make tb_find_port() available to other files (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Power cycle the router if NVM authentication fails (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Do not start firmware unless asked by the user (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add bandwidth management for Display Port tunnels (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add Display Port adapter pairing and resource management (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add Display Port CM handshake for Titan Ridge devices (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add downstream PCIe port mappings for Alpine and Titan Ridge (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Expand controller name in tb_switch_is_xy() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add default linking between lane adapters if not provided by DROM (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add support for lane bonding (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Refactor add_switch() into two functions (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add helper macro to iterate over switch ports (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Make tb_sw_write() take const parameter (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Convert DP adapter register names to follow the USB4 spec (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Convert PCIe adapter register names to follow the USB4 spec (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Convert basic adapter register names to follow the USB4 spec (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Log error if adding switch fails (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Log switch route string on config read/write timeout (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Introduce tb_switch_is_icm() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add 'generation' attribute for devices (Jarod Wilson) [1482838]- [scsi] scsi: lpfc: Copyright updates for 12.6.0.4 patches (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Update lpfc version to 12.6.0.4 (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Clean up hba max_lun_queue_depth checks (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Remove handler for obsolete ELS - Read Port Status (RPS) (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix coverity errors in fmdi attribute handling (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix compiler warning on frame size (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix registration of ELS type support in fdmi (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix broken Credit Recovery after driver load (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix lpfc_io_buf resource leak in lpfc_get_scsi_buf_s4 error path (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix RQ buffer leakage when no IOCBs available (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Make lpfc_defer_acc_rsp static (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Update lpfc version to 12.6.0.3 (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix improper flag check for IO type (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix MDS Latency Diagnostics Err-drop rates (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix unmap of dpp bars affecting next driver load (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix disablement of FC-AL on lpe35000 models (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix ras_log via debugfs (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix Fabric hostname registration if system hostname changes (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix missing check for CSF in Write Object Mbox Rsp (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix: Rework setting of fdmi symbolic node name registration (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix incomplete NVME discovery when target (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: fix spelling mistakes of asynchronous (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix memory leak on lpfc_bsg_write_ebuf_set func (Dick Kennedy) [1793674] - [tools] tools/power turbostat: Support Tiger Lake (David Arcari) [1783441] - [md] dm integrity: fix logic bug in integrity tag testing (Mike Snitzer) [1820280] - [md] Revert "dm: always call blk_queue_split() in dm_process_bio()" (Mike Snitzer) [1820705] - [md] dm integrity: fix ppc64le warning (Mike Snitzer) [1820280] - [md] dm writecache: add cond_resched to avoid CPU hangs (Mike Snitzer) [1820280] - [md] dm integrity: improve discard in journal mode (Mike Snitzer) [1820280] - [md] dm integrity: add optional discard support (Mike Snitzer) [1820280] - [md] dm integrity: allow resize of the integrity device (Mike Snitzer) [1820280] - [md] dm integrity: factor out get_provided_data_sectors() (Mike Snitzer) [1820280] - [md] dm integrity: don't replay journal data past the end of the device (Mike Snitzer) [1820280] - [md] dm integrity: remove sector type casts (Mike Snitzer) [1820280] - [md] dm integrity: fix a crash with unusually large tag size (Mike Snitzer) [1820280] - [md] dm verity fec: fix memory leak in verity_fec_dtr (Mike Snitzer) [1820280] - [md] dm writecache: optimize superblock write (Mike Snitzer) [1820280] - [md] dm writecache: implement gradual cleanup (Mike Snitzer) [1820280] - [md] dm writecache: implement the "cleaner" policy (Mike Snitzer) [1820280] - [md] dm writecache: do direct write if the cache is full (Mike Snitzer) [1820280] - [md] dm integrity: print device name in integrity_metadata() error message (Mike Snitzer) [1820280] - [md] dm crypt: use crypt_integrity_aead() helper (Mike Snitzer) [1820280] - [lib] lib/test_bitmap: add tests for bitmap_parselist_user() (Vladis Dronov) [1819152] - [lib] lib/test_bitmap: add testcases for bitmap_parselist() (Vladis Dronov) [1819152] - [lib] lib/test_bitmap: switch test_bitmap_parselist to ktime_get() (Vladis Dronov) [1819152] - [lib] lib: rework bitmap_parselist (Vladis Dronov) [1819152] - [lib] lib: make bitmap_parselist_user() a wrapper on bitmap_parselist() (Vladis Dronov) [1819152] - [platform] platform/x86: mlx-platform: Add support for next generation systems (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Add support for new capability register (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for new capability register (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for new system type (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Set system mux configuration based on system type (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add more definitions for system attributes (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Style changes (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add missed attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Fix documentation inconsistency for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Cosmetic changes (Ivan Vecera) [1820312] - [platform] platform/mellanox: Fix Kconfig indentation (Ivan Vecera) [1820312] - [leds] leds: mlxreg: Fix possible buffer overflow (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Remove dev_err() usage after platform_get_irq() (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix error handling in mlxplat_init() (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add more reset cause attributes (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Modify DMI matching order (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add regmap structure for the next generation systems (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Change API for i2c-mlxcpld driver activation (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Move regmap initialization before all drivers activation (Ivan Vecera) [1820312] - [documentation] ABI: sysfs-driver-mlxreg-io: fix the what fields (Ivan Vecera) [1820312] - [documentation] docs: watchdog: convert docs to ReST and rename to *.rst (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix parent device in i2c-mux-reg device registration (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Add devm_free_irq call to remove flow (Ivan Vecera) [1820312] - [i2c] i2c: mlxcpld: Fix wrong initialization order in probe (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Use devm_thermal_of_cooling_device_register (Ivan Vecera) [1820312] - [thermal] thermal: Introduce devm_thermal_of_cooling_device_register (Ivan Vecera) [1820312] - [watchdog] watchdog: mlx_wdt: Use 'dev' instead of dereferencing it repeatedly (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Use HWMON_CHANNEL_INFO macro (Ivan Vecera) [1820312] - [include] hwmon: Add convience macro to define simple static sensors (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Add support for fan capability registers (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add mlx-wdt platform driver activation (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for tachometer speed register (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix access mode for fan_dir attribute (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add UID LED for the next generation systems (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add extra CPLD for next generation systems (Ivan Vecera) [1820312] - [documentation] Documentation/watchdog: Add documentation mlx-wdt driver (Ivan Vecera) [1820312] - [watchdog] watchdog: mlx-wdt: introduce a watchdog driver for Mellanox systems (Ivan Vecera) [1820312] - [include] platform_data/mlxreg: additions for Mellanox watchdog driver (Ivan Vecera) [1820312] - [leds] leds: mlxreg: Add support for capability register (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Fix KASAN warning (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Correct mlxreg-io KernelVersion for 5.0 (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for new VMOD0007 board name (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for fan capability registers (Ivan Vecera) [1820312] - [include] platform_data/mlxreg: Add capability field to core platform data (Ivan Vecera) [1820312] - [include] platform_data/mlxreg: Document fixes for core platform data (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for fan direction register (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Convert to use SPDX identifier (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Allow mlxreg-io driver activation for new systems (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix LED configuration (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix tachometer registers (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Rename new systems product names (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add definitions for new registers (Ivan Vecera) [1820312] - [i2c] i2c: mux: mlxcpld: simplify code to reach the adapter (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Properly use mlxplat_mlxcpld_msn201x_items (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix copy-paste error in mlxplat_init() (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Remove unused define (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Change mlxreg-io configuration for MSN274x systems (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Allow mlxreg-io driver activation for more systems (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add ASIC hotplug device configuration (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Add hotplug hwmon uevent notification (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Improve mechanism of ASIC health discovery (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add mlxreg-fan platform driver activation (Ivan Vecera) [1820312] - [platform] platform/mellanox: Use 2-factor allocator calls (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Modify macros for tachometer fault status reading (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Fix macros for tacho fault reading (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Add support for Mellanox FAN driver (Ivan Vecera) [1820312] - [i2c] i2c: mux: mlxcpld: make use of __i2c_smbus_xfer (Ivan Vecera) [1820312] - [i2c] i2c: smbus: add unlocked __i2c_smbus_xfer variant (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add documentation mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add mlxreg-io platform driver activation (Ivan Vecera) [1820312] - [platform] platform/mellanox: Introduce support for Mellanox register access driver (Ivan Vecera) [1820312] - [kernel] audit: trigger accompanying records when no rules present (Richard Guy Briggs) [1819944] - [kernel] sched/fair: Allow a per-CPU kthread waking a task to stack on the same CPU, to fix XFS performance regression (Phil Auld) [1745111] - [hid] HID: intel-ish-hid: ipc: Add Tiger Lake PCI device ID (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: ipc: add CMP device id (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: Spelling s/diconnect/disconnect/ (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: fix wrong error handling in ishtp_cl_alloc_tx_ring() (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: ipc: check the NO_D3 flag to distinguish resume paths (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: ipc: make ish suspend paths clear (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: ipc: set NO_D3 flag only when needed (Tony Camuso) [1818043] - [netdrv] net: ena: Add PCI shutdown handler to allow safe kexec (Bhupesh Sharma) [1758323] - [net] vsock: fix potential deadlock in transport->release() (Stefano Garzarella) [1771582] - [net] vsock/virtio: remove loopback handling (Stefano Garzarella) [1771582] - [net] vsock: use local transport when it is loaded (Stefano Garzarella) [1771582] - [net] vsock: add vsock_loopback transport (Stefano Garzarella) [1771582] - [net] vsock: add local transport support in the vsock core (Stefano Garzarella) [1771582] - [uapi] vsock: add VMADDR_CID_LOCAL definition (Stefano Garzarella) [1771582] - [net] vsock/virtio_transport_common: remove unused virtio header includes (Stefano Garzarella) [1771582] - [infiniband] IB/rdmavt: Free kernel completion queue when done (Gopal Tiwari) [1805036] - [powerpc] powerpc/64s: Fix section mismatch warnings from boot code (Desnes Augusto Nunes do Rosario) [1391523] - [powerpc] powerpc/prom: convert PROM_BUG() to standard trap (Desnes Augusto Nunes do Rosario) [1391523] - [powerpc] powerpc/64: mark start_here_multiplatform as __ref (Desnes Augusto Nunes do Rosario) [1391523] - [mfd] mfd: intel-lpss: Add Intel Tiger Lake PCI IDs (David Arcari) [1773767] - [mfd] mfd: intel-lpss: Release IDA resources (David Arcari) [1773767] - [mfd] mfd: intel-lpss: Keep device tables sorted by ID (David Arcari) [1773767] - [i2c] i2c: i801: Add support for Intel Tiger Lake (David Arcari) [1773765] - [edac] EDAC/mce_amd: Print !SMCA processor warning only once (Prarit Bhargava) [1796178] - [powerpc] powerpc/pseries/dlpar: Fix a missing check in dlpar_parse_cc_property() (Steve Best) [1806630] {CVE-2019-12614}- [x86] x86/gart: Rewrite early_gart_iommu_check() comment (Waiman Long) [1818532] - [mm] mm/memblock.c: warn if zero alignment was requested (Waiman Long) [1818532] - [powerpc] memblock: stop using implicit alignment to SMP_CACHE_BYTES (Waiman Long) [1818532] - [mm] memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants (Waiman Long) [1818532] - [mm] mm: remove nobootmem (Waiman Long) [1818532] - [mm] memblock: rename __free_pages_bootmem to memblock_free_pages (Waiman Long) [1818532] - [mm] memblock: rename free_all_bootmem to memblock_free_all (Waiman Long) [1818532] - [firmware] memblock: replace free_bootmem_late with memblock_free_late (Waiman Long) [1818532] - [x86] memblock: replace free_bootmem{_node} with memblock_free (Waiman Long) [1818532] - [mm] mm: nobootmem: remove bootmem allocation APIs (Waiman Long) [1818532] - [mm] memblock: replace __alloc_bootmem with memblock_alloc_from (Waiman Long) [1818532] - [mm] memblock: replace alloc_bootmem_pages with memblock_alloc (Waiman Long) [1818532] - [mm] memblock: replace alloc_bootmem_low_pages with memblock_alloc_low (Waiman Long) [1818532] - [mm] memblock: replace alloc_bootmem_pages_node with memblock_alloc_node (Waiman Long) [1818532] - [mm] memblock: add align parameter to memblock_alloc_node() (Waiman Long) [1818532] - [arm64] memblock: replace alloc_bootmem_low with memblock_alloc_low (2) (Waiman Long) [1818532] - [usb] memblock: replace alloc_bootmem_pages_nopanic with memblock_alloc_nopanic (Waiman Long) [1818532] - [x86] memblock: replace __alloc_bootmem_node_nopanic with memblock_alloc_try_nid_nopanic (Waiman Long) [1818532] - [x86] memblock: replace alloc_bootmem_low with memblock_alloc_low (Waiman Long) [1818532] - [x86] memblock: replace alloc_bootmem_align with memblock_alloc (Waiman Long) [1818532] - [mm] memblock: remove _virt from APIs returning virtual address (Waiman Long) [1818532] - [powerpc] memblock: rename memblock_alloc{_nid, _try_nid} to memblock_phys_alloc* (Waiman Long) [1818532] - [mm] mm: nobootmem: remove dead code (Waiman Long) [1818532] - [mm] mm: remove bootmem allocator implementation (Waiman Long) [1818532] - [mm] mm: remove CONFIG_HAVE_MEMBLOCK (Waiman Long) [1818532] - [mm] mm: remove CONFIG_NO_BOOTMEM (Waiman Long) [1818532] - [mm] mm: disable deferred struct page for 32-bit arches (Waiman Long) [1818532] - [mm] mm: make DEFERRED_STRUCT_PAGE_INIT explicitly depend on SPARSEMEM (Waiman Long) [1818532] - [mm] mm/hugetlb.c: don't zero 1GiB bootmem pages (Waiman Long) [1818532] - [mm] docs/mm: memblock: add overview documentation (Waiman Long) [1818532] - [include] docs/mm: memblock: add kernel-doc description for memblock types (Waiman Long) [1818532] - [mm] docs/mm: memblock: add kernel-doc comments for memblock_add (Waiman Long) [1818532] - [mm] docs/mm: bootmem: add overview documentation (Waiman Long) [1818532] - [include] docs/mm: bootmem: add kernel-doc description of 'struct bootmem_data' (Waiman Long) [1818532] - [mm] docs/mm: bootmem: fix kernel-doc warnings (Waiman Long) [1818532] - [mm] docs/mm: nobootmem: fixup kernel-doc comments (Waiman Long) [1818532] - [mm] mm/bootmem: drop duplicated kernel-doc comments (Waiman Long) [1818532] - [lib] lib/smp_processor_id: Don't use cpumask_equal() (Waiman Long) [1812092] - [kernel] audit: always check the netlink payload length in audit_receive_msg() (Richard Guy Briggs) [1814448] - [kernel] audit: fix error handling in audit_data_to_entry() (Richard Guy Briggs) [1814448] - [fs] fat: work around race with userspace's read via blockdev while mounting (Bill O'Donnell) [1771351] - [include] raid6/test: fix a compilation error (Bhupesh Sharma) [1817524] - [arm64] arm64: kexec_file: add crash dump support (Bhupesh Sharma) [1817524] - [lib] libfdt: include fdt_addresses.c (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.5.1-22-gc40aeb60b47a (Bhupesh Sharma) [1817524] - [include] libfdt: reduce the number of headers included from libfdt_env.h (Bhupesh Sharma) [1817524] - [arm64] arm64: dts: amd: Fix SPI bus warnings (Bhupesh Sharma) [1817524] - [arm64] arm64: dts: broadcom: Fix I2C and SPI bus warnings (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.5.0-30-g702c1b6c0e73 (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.5.0-23-g87963ee20693 (Bhupesh Sharma) [1817524] - [include] linux/kernel.h: split *_MAX and *_MIN macros into (Bhupesh Sharma) [1817524] - [scripts] kbuild: disable dtc simple_bus_reg warnings by default (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.4.7-57-gf267e674d145 (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.4.7-14-gc86da84d30e4 (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: consolidate include path options in Makefile (Bhupesh Sharma) [1817524] - [pci] PCI: Remove unnecessary returns (Myron Stowe) [1807175] - [pci] PCI: OF: Correct of_irq_parse_pci() documentation (Myron Stowe) [1807175] - [pci] PCI: Fix typos and whitespace errors (Myron Stowe) [1807175] - [documentation] PCI: Correct pci=resource_alignment parameter example (Myron Stowe) [1807175] - [pci] PCI: Use PCI_SRIOV_NUM_BARS in loops instead of PCI_IOV_RESOURCE_END (Myron Stowe) [1807175] - [pci] PCI: Convert pci_resource_to_user() to a weak function (Myron Stowe) [1807175] - [pci] PCI: pciehp: Refer to "Indicators" instead of "LEDs" in comments (Myron Stowe) [1807175] - [pci] PCI: pciehp: Remove pciehp_green_led_{on, off, blink}() (Myron Stowe) [1807175] - [pci] PCI: pciehp: Remove pciehp_set_attention_status() (Myron Stowe) [1807175] - [pci] PCI: pciehp: Combine adjacent indicator updates (Myron Stowe) [1807175] - [pci] PCI: pciehp: Add pciehp_set_indicators() to set both indicators (Myron Stowe) [1807175] - [pci] PCI: Add pci_irq_vector() and other stubs when !CONFIG_PCI (Myron Stowe) [1807175] - [pci] PCI: Force trailing new line to resource_alignment_param in sysfs (Myron Stowe) [1807175] - [pci] PCI: Move pci__resource_alignment_param() into their callers (Myron Stowe) [1807175] - [pci] PCI: pci.c: convert to use BUS_ATTR_RW (Myron Stowe) [1807175] - [pci] PCI: Clean up resource_alignment parameter to not require static buffer (Myron Stowe) [1807175] - [pci] PCI/IOV: Remove group write permission from sriov_numvfs, sriov_drivers_autoprobe (Myron Stowe) [1807175] - [pci] PCI/IOV: Move sysfs SR-IOV functions to iov.c (Myron Stowe) [1807175] - [pci] PCI: sysfs: Change permissions from symbolic to octal (Myron Stowe) [1807175] - [pci] PCI: sysfs: Revert "rescan" file renames (Myron Stowe) [1807175] - [pci] PCI: sysfs: Change DEVICE_ATTR() to DEVICE_ATTR_WO() (Myron Stowe) [1807175] - [pci] PCI: pci-sysfs.c: convert to use BUS_ATTR_WO (Myron Stowe) [1807175] - [pci] PCI: sysfs: Define device attributes with DEVICE_ATTR*() (Myron Stowe) [1807175] - [pci] PCI: Mark expected switch fall-through (Myron Stowe) [1807175] - [pci] PCI: Use devm_add_action_or_reset() (Myron Stowe) [1807175] - [pci] PCI: Get rid of dev->has_secondary_link flag (Myron Stowe) [1807175] - [pci] PCI/ACPI: Remove unnecessary struct hotplug_program_ops (Myron Stowe) [1807175] - [pci] PCI/ACPI: Move _HPP & _HPX functions to pci-acpi.c (Myron Stowe) [1807175] - [pci] PCI/ACPI: Rename _HPX structs from hpp_* to hpx_* (Myron Stowe) [1807175] - [pci] PCI: Make pci_set_of_node(), etc private (Myron Stowe) [1807175] - [pci] PCI: Make pci_enable_ptm() private (Myron Stowe) [1807175] - [pci] PCI: Make pcie_set_ecrc_checking(), pcie_ecrc_get_policy() private (Myron Stowe) [1807175] - [pci] PCI: Make pci_ats_init() private (Myron Stowe) [1807175] - [pci] PCI: Make pcie_update_link_speed() private (Myron Stowe) [1807175] - [pci] PCI: Make pci_bus_get(), pci_bus_put() private (Myron Stowe) [1807175] - [pci] PCI: Make pci_hotplug_io_size, mem_size, and bus_size private (Myron Stowe) [1807175] - [pci] PCI: Make pci_save_vc_state(), pci_restore_vc_state(), etc private (Myron Stowe) [1807175] - [pci] PCI: Make pci_get_host_bridge_device(), pci_put_host_bridge_device() private (Myron Stowe) [1807175] - [pci] PCI: Make pci_check_pme_status(), pci_pme_wakeup_bus() private (Myron Stowe) [1807175] - [pci] PCI: Make PCI_PM_* delay times private (Myron Stowe) [1807175] - [pci] PCI: Unexport pci_bus_sem (Myron Stowe) [1807175] - [pci] PCI: Unexport pci_bus_get() and pci_bus_put() (Myron Stowe) [1807175] - [pci] PCI: Remove pci_block_cfg_access() et al (unused) (Myron Stowe) [1807175] - [wireless] PCI: Move ASPM declarations to linux/pci.h (Myron Stowe) [1807175] - [pci] PCI/MSI: Support allocating virtual MSI interrupts (Myron Stowe) [1807175] - [fs] gfs2: Remove unnecessary gfs2_qa_{get,put} pairs (Robert S Peterson) [1807146] - [fs] gfs2: Split gfs2_rsqa_delete into gfs2_rs_delete and gfs2_qa_put (Robert S Peterson) [1807146] - [fs] gfs2: Change inode qa_data to allow multiple users (Robert S Peterson) [1807146] - [fs] gfs2: eliminate gfs2_rsqa_alloc in favor of gfs2_qa_alloc (Robert S Peterson) [1807146] - [fs] gfs2: Switch to list_{first,last}_entry (Robert S Peterson) [1807146] - [fs] gfs2: Clean up inode initialization and teardown (Robert S Peterson) [1807146] - [fs] gfs2: Minor gfs2_alloc_inode cleanup (Robert S Peterson) [1807146] - [pinctrl] pinctrl: pinmux: fix a possible null pointer in pinmux_can_be_used_for_gpio (David Arcari) [1817454] - [pinctrl] pinctrl/gpio: Take MUX usage into account (David Arcari) [1817454] - [include] gpio: Fix build warnings on undefined struct pinctrl_dev (David Arcari) [1817454] - [pinctrl] pinctrl: remove unused pin_is_valid() (David Arcari) [1817454] - [pinctrl] pinctrl: remove unneeded initializer for list_for_each_entry() iterator (David Arcari) [1817454] - [pinctrl] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 (David Arcari) [1817454] - [pinctrl] pinctrl: core: Do not add device links for hogs (David Arcari) [1817454] - [pinctrl] pinctrl: Enable device link creation for pin control (David Arcari) [1817454] - [pinctrl] pinctrl: generic: add new 'drive-strength-microamp' property support (David Arcari) [1817454] - [pinctrl] pinctrl: remove unused 'pinconf-config' debugfs interface (David Arcari) [1817454] - [pinctrl] pinctrl: Change to use DEFINE_SHOW_ATTRIBUTE macro (David Arcari) [1817454] - [pinctrl] pinctrl: core: make sure strcmp() doesn't get a null parameter (David Arcari) [1817454] - [pinctrl] pinctrl: core: Remove broken remove_last group and pinmux functions (David Arcari) [1817454] - [pinctrl] pinctrl: pinmux: Return selector to the pinctrl driver (David Arcari) [1817454] - [pinctrl] pinctrl: core: Return selector to the pinctrl driver (David Arcari) [1817454] - [pinctrl] pinctrl: Cut unused sysfs includes (David Arcari) [1817454] - [mm] mm, numa: fix bad pmd by atomically check for pmd_trans_huge when marking page tables prot_numa (Rafael Aquini) [1763878] - [mm] mm: thp: fix flags for pmd migration when split (Rafael Aquini) [1763878] - [mm] mm: thp: relocate flush_cache_range() in migrate_misplaced_transhuge_page() (Rafael Aquini) [1763878] - [mm] mm: thp: fix mmu_notifier in migrate_misplaced_transhuge_page() (Rafael Aquini) [1763878] - [mm] mm: thp: fix MADV_DONTNEED vs migrate_misplaced_transhuge_page race condition (Rafael Aquini) [1763878] - [fs] nfsd: set the server_scope during service startup (Scott Mayhew) [1817752] - [fs] nfsd: v4 support requires CRYPTO_SHA256 (Scott Mayhew) [1817752] - [fs] nfsd: Fix cld_net->cn_tfm initialization (Scott Mayhew) [1817752] - [fs] nfsd: add support for upcall version 2 (Scott Mayhew) [1817752] - [fs] nfsd: add a "GetVersion" upcall for nfsdcld (Scott Mayhew) [1817752] - [fs] nfsd: handle legacy client tracking records sent by nfsdcld (Scott Mayhew) [1817752] - [fs] nfsd: re-order client tracking method selection (Scott Mayhew) [1817752] - [fs] nfsd: keep a tally of RECLAIM_COMPLETE operations when using nfsdcld (Scott Mayhew) [1817752] - [fs] nfsd: un-deprecate nfsdcld (Scott Mayhew) [1817752] - [fs] nfsd: make nfs4_client_reclaim use an xdr_netobj instead of a fixed char array (Scott Mayhew) [1817752]- [s390] scsi: zfcp: fix to prevent port_remove with pure auto scan LUNs (only sdevs) (Philipp Rudo) [1814791] - [s390] scsi: zfcp: fix missing zfcp_port reference put on -EBUSY from port_remove (Philipp Rudo) [1814792] - [infiniband] RDMA/qedr: Fix null-pointer dereference when calling rdma_user_mmap_get_offset (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Make qedr_iw_load_qp() static (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Fix potential use after free (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Remove unsupported modify_port callback (Kamal Heib) [1786602] - [infiniband] IB/ipoib: Add ndo operation for getting VFs GUID attributes (Kamal Heib) [1786602] - [net] xprtrdma: Fix oops in Receive handler after device removal (Kamal Heib) [1786602] - [net] xprtrdma: Fix completion wait during device removal (Kamal Heib) [1786602] - [net] xprtrdma: Fix create_qp crash on device unload (Kamal Heib) [1786602] - [infiniband] IB/hfi1: Adjust flow PSN with the correct resync_psn (Kamal Heib) [1786602] - [infiniband] IB/hfi1: Don't cancel unused work item (Kamal Heib) [1786602] - [infiniband] IB/core: Introduce rdma_user_mmap_entry_insert_range() API (Kamal Heib) [1786602] - [infiniband] RDMA/counter: Prevent auto-binding a QP which are not tracked with res (Kamal Heib) [1786602] - [infiniband] rxe: correctly calculate iCRC for unaligned payloads (Kamal Heib) [1786602] - [infiniband] treewide: Use sizeof_field() macro (Kamal Heib) [1786602] - [infiniband] RDMA/cma: add missed unregister_pernet_subsys in init failure (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Expose RDMA read related attributes (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Support remote read access in MR registration (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Store network attributes in device attributes (Kamal Heib) [1786602] - [infiniband] IB/hfi1: remove redundant assignment to variable ret (Kamal Heib) [1786602] - [infiniband] net: use rhashtable_lookup() instead of rhashtable_lookup_fast() (Kamal Heib) [1786602] - [infiniband] IB/core: Add interfaces to get VF node and port GUIDs (Kamal Heib) [1786602] - [infiniband] RDMA/cm: Use refcount_t type for refcount variable (Kamal Heib) [1786602] - [infiniband] RDMA/cma: Use ACK timeout for RoCE packetLifeTime (Kamal Heib) [1786602] - [infiniband] IB/umem: remove the dmasync argument to ib_umem_get (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Add iWARP doorbell recovery support (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Add doorbell overflow recovery support (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Use the common mmap API (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Fix memory leak in user qp and mr (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/qedr: Fix synchronization methods and memory leaks in qedr (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/qedr: Fix qpids xarray api used (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/qedr: Fix srqs xarray initialization (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/qedr: Remove Unneeded variable rc (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/mlx4: Separate creation of RWQ and QP (Kamal Heib) [1786602] - [infiniband] RDMA/hns: Package for hns_roce_rereg_user_mr function (Kamal Heib) [1786602] - [infiniband] RDMA/hns: Fix sg offset non-zero issue (Kamal Heib) [1786602] - [infiniband] dma-mapping: remove the DMA_ATTR_WRITE_BARRIER flag (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Clear the admin command buffer prior to its submission (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Cleanup unused mmap structures (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Report the SCSI residual to the initiator (Kamal Heib) [1786602] - [infiniband] RDMA: Change MAD processing function to remove extra casting and parameter (Kamal Heib) [1786602] - [infiniband] RDMA/mlx5: Rewrite MAD processing logic to be readable (Kamal Heib) [1786602] - [infiniband] RDMA/ocrdma: Simplify process_mad function (Kamal Heib) [1786602] - [infiniband] RDMA/ocrdma: Make ocrdma_pma_counters() return void (Kamal Heib) [1786602] - [infiniband] RDMA/mad: Do not check MAD sizes in roce and ib drivers (Kamal Heib) [1786602] - [infiniband] RDMA/hfi1: Delete unreachable code (Kamal Heib) [1786602] - [infiniband] RDMA/mad: Allocate zeroed MAD buffer (Kamal Heib) [1786602] - [infiniband] RDMA/mad: Delete never implemented functions (Kamal Heib) [1786602] - [infiniband] RDMA/core: Fix return code when modify_port isn't supported (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Use the common mmap_xa helpers (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Use the common mmap_xa helpers (Kamal Heib) [1786602] - [infiniband] RDMA: Connect between the mmap entry and the umap_priv structure (Kamal Heib) [1786602] - [infiniband] RDMA/hns: Use rdma_user_mmap_io (Kamal Heib) [1786602] - [infiniband] RDMA/core: Create mmap database and cookie helper functions (Kamal Heib) [1786602] - [infiniband] RDMA/core: Move core content from ib_uverbs to ib_core (Kamal Heib) [1786602] - [infiniband] RDMA/odp: Remove broken debugging call to invalidate_range (Kamal Heib) [1786602] - [infiniband] RDMA/vmw_pvrdma: Use resource ids from physical device if available (Kamal Heib) [1786602] - [infiniband] RDMA/core: Set DMA parameters correctly (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Increase DMA max_segment_size parameter (Kamal Heib) [1786602] - [infiniband] RDMA/rxe: Increase DMA max_segment_size parameter (Kamal Heib) [1786602] - [uapi] rdma: Remove nes ABI header (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Fix TPG creation (Kamal Heib) [1786602] - [infiniband] RDMA/cm: Update copyright together with SPDX tag (Kamal Heib) [1786602] - [infiniband] RDMA/cm: Use specific keyword to check define (Kamal Heib) [1786602] - [infiniband] RDMA/cm: Delete unused cm_is_active_peer function (Kamal Heib) [1786602] - [infiniband] RDMA/rxe: Remove useless rxe_init_device_param assignments (Kamal Heib) [1786602] - [net] xprtrdma: Replace dprintk in xprt_rdma_set_port (Kamal Heib) [1786602] - [net] xprtrdma: Replace dprintk() in rpcrdma_update_connect_private() (Kamal Heib) [1786602] - [net] xprtrdma: Refine trace_xprtrdma_fixup (Kamal Heib) [1786602] - [net] xprtrdma: Report the computed connect delay (Kamal Heib) [1786602] - [net] xprtrdma: Wake tasks after connect worker fails (Kamal Heib) [1786602] - [net] xprtrdma: Pull up sometimes (Kamal Heib) [1786602] - [net] xprtrdma: Refactor rpcrdma_prepare_msg_sges() (Kamal Heib) [1786602] - [net] xprtrdma: Move the rpcrdma_sendctx::sc_wr field (Kamal Heib) [1786602] - [net] xprtrdma: Remove rpcrdma_sendctx::sc_device (Kamal Heib) [1786602] - [net] xprtrdma: Remove rpcrdma_sendctx::sc_xprt (Kamal Heib) [1786602] - [net] xprtrdma: Ensure ri_id is stable during MR recycling (Kamal Heib) [1786602] - [net] xprtrdma: Manage MRs in context of a single connection (Kamal Heib) [1786602] - [net] xprtrdma: Fix MR list handling (Kamal Heib) [1786602] - [net] xprtrdma: Initialize rb_credits in one place (Kamal Heib) [1786602] - [infiniband] RDMA/core: Check that process is still alive before sending it to the users (Kamal Heib) [1786602] - [infiniband] RDMA/restrack: Remove PID namespace support (Kamal Heib) [1786602] - [infiniband] RDMA/uverbs: Add a check for uverbs_attr_get to uverbs_copy_to_struct_or_zero (Kamal Heib) [1786602] - [infiniband] IB/cma: Honor traffic class from lower netdevice for RoCE (Kamal Heib) [1786602] - [infiniband] RDMA/nldev: Provide MR statistics (Kamal Heib) [1786602] - [infiniband] RDMA/mlx5: Return ODP type per MR (Kamal Heib) [1786602] - [infiniband] RDMA/nldev: Allow different fill function per resource (Kamal Heib) [1786602] - [infiniband] IB/mlx5: Introduce ODP diagnostic counters (Kamal Heib) [1786602] - [infiniband] infiniband: fix sw/rdmavt/ kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix core/ kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/iser/iser_initiator.c kernel-doc warnings (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/iser/iser_verbs.c kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix core/verbs.c kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/srpt/ib_srpt.h kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/iser/iscsi_iser.h kernel-doc warnings (Kamal Heib) [1786602] - [infiniband] infiniband: fix core/ipwm_util.h kernel-doc warnings (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/iser/iscsi_iser.kernel-doc notation (Kamal Heib) [1786602] - [infiniband] RDMA/rw: Support threshold for registration vs scattering to local pages (Kamal Heib) [1786602] - [uapi] RDMA/uapi: Fix and re-organize the usage of rdma_driver_id (Kamal Heib) [1786602] - [net] svcrdma: Improve DMA mapping trace points (Kamal Heib) [1786602] - [infiniband] RDMA/iser: Use iser_err instead of pr_err for logging (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Calculate max_it_iu_size if remote max_it_iu length available (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Add parse function for maximum initiator to target IU size (Kamal Heib) [1786602] - [infiniband] IB/cm: Use container_of() instead of typecast (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Make the code for handling port identities more systematic (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Rework the code that waits until an RDMA port is no longer in use (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Rework the approach for closing an RDMA channel (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Improve a debug message (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Fix handling of iWARP logins (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Fix handling of SR-IOV and iWARP ports (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Make route resolving error messages more informative (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Honor the max_send_sge device attribute (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Remove two casts (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Make node GUIDs valid EUI-64 identifiers (Kamal Heib) [1786602] - [infiniband] RDMA/iw_cxgb3: Remove the iw_cxgb3 module from kernel (Kamal Heib) [1786602] - [infiniband] RDMA/rxe: Verify modify_device mask (Kamal Heib) [1786602] - [infiniband] RDMA/core: Fix return code when modify_device isn't supported (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Fix port number endianness in a debug message (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Simplify several debug messages (Kamal Heib) [1786602] - [infiniband] IB/iser: remove redundant macro definitions (Kamal Heib) [1786602] - [infiniband] IB/iser: bound protection_sg size by data_sg size (Kamal Heib) [1786602] - [infiniband] IB/iser: add unlikely checks in the fast path (Kamal Heib) [1786602] - [infiniband] RDMA/counter: Prevent QP counter manual binding in auto mode (Kamal Heib) [1786602] - [kvm] KVM: SVM: Override default MMIO mask if memory encryption is enabled (Wei Huang) [1789537] - [netdrv] mlx5e: Reorder mirrer action parsing to check for encap first (Ivan Vecera) [1818074] - [tools] selftests: mlxsw: Adjust test to recent changes (Ivan Vecera) [1818074] - [netdrv] vxlan: fix unexpected failure of vxlan_changelink() (Ivan Vecera) [1818074] - [netdrv] bonding: fix lockdep warning in bond_get_stats() (Ivan Vecera) [1818074] - [netdrv] bonding: fix using uninitialized mode_lock (Ivan Vecera) [1818074] - [net] export netdev_next_lower_dev_rcu() (Ivan Vecera) [1818074] - [netdrv] bonding: add missing netdev_update_lockdep_key() (Ivan Vecera) [1818074] - [net] avoid updating qdisc_xmit_lock_key in netdev_update_lockdep_key() (Ivan Vecera) [1818074] - [include] net: fix kernel-doc warning in (Ivan Vecera) [1818074] - [net] batman-adv: Drop lockdep.h include for soft-interface.c (Ivan Vecera) [1818074] - [net] remove unnecessary variables and callback (Ivan Vecera) [1818074] - [netdrv] macsec: Fix multiple coding style issues (Ivan Vecera) [1818074] - [netdrv] vxlan: add adjacent link to limit depth level (Ivan Vecera) [1818074] - [net] core: add ignore flag to netdev_adjacent structure (Ivan Vecera) [1818074] - [netdrv] team: fix nested locking lockdep warning (Ivan Vecera) [1818074] - [netdrv] bonding: use dynamic lockdep key instead of subclass (Ivan Vecera) [1818074] - [netdrv] bonding: fix unexpected IFF_BONDING bit unset (Ivan Vecera) [1818074] - [net] core: add generic lockdep keys (Ivan Vecera) [1818074] - [net] core: limit nested device depth (Ivan Vecera) [1818074] - [net] udp: rehash on disconnect (Davide Caratti) [1817671] - [net] revert "udp: do rmem bulk free even if the rx sk queue is empty" (Davide Caratti) [1817671] - [net] udp: fix data-race in udp_set_dev_scratch() (Davide Caratti) [1817671] - [net] page_pool: refill page when alloc.count of pool is zero (Petr Oros) [1811201] - [net] page_pool: help compiler remove code in case CONFIG_NUMA=n (Petr Oros) [1811201] - [net] page_pool: handle page recycle for NUMA_NO_NODE condition (Petr Oros) [1811201] - [netdrv] mlx5e: Rx, Update page pool numa node when changed (Petr Oros) [1811201] - [net] page_pool: Don't recycle non-reusable pages (Petr Oros) [1811201] - [net] page_pool: Add API to update numa node (Petr Oros) [1811201] - [include] page_pool: extend tracepoint to also include the page PFN (Petr Oros) [1811201] - [net] page_pool: add destroy attempts counter and rename tracepoint (Petr Oros) [1811201] - [net] page_pool: remove unnecessary variable init (Petr Oros) [1811201] - [net] page_pool: fix logic in __page_pool_get_cached (Petr Oros) [1811201] - [netdrv] team: add missing attribute validation for array index (Hangbin Liu) [1816499] - [netdrv] team: add missing attribute validation for port ifindex (Hangbin Liu) [1816499] - [netdrv] team: Add vlan tx offload to hw_enc_features (Hangbin Liu) [1816499] - [netdrv] team: set slave to promisc if team is already in promisc mode (Hangbin Liu) [1816499] - [netdrv] team: Free BPF filter when unregistering netdev (Hangbin Liu) [1816499] - [netdrv] net: Remove switchdev.h inclusion from team/bond/vlan (Hangbin Liu) [1816499] - [netdrv] team: use operstate consistently for linkup (Hangbin Liu) [1816499] - [netdrv] team: avoid complex list operations in team_nl_cmd_options_set() (Hangbin Liu) [1816499] - [netdev] pass the stuck queue to the timeout handler (Ivan Vecera) [1811203] - [net] flow_dissector: extract more ICMP information (Ivan Vecera) [1795213] - [net] flow_dissector: skip the ICMP dissector for non ICMP packets (Ivan Vecera) [1795213] - [net] flow_dissector: add meaningful comments (Ivan Vecera) [1795213] - [net] vti[6]: fix packet tx through bpf_redirect() in XinY cases (Sabrina Dubroca) [1795145] - [net] xfrm interface: fix packet tx through bpf_redirect() (Sabrina Dubroca) [1795145] - [net] vti[6]: fix packet tx through bpf_redirect() (Sabrina Dubroca) [1795145] - [documentation] Clarify trap's description (Petr Oros) [1809496] - [net] devlink: Wait longer before warning about unset port type (Petr Oros) [1809496] - [documentation] Add a section for devlink-trap testing (Petr Oros) [1809496] - [tools] selftests: devlink_trap: Add test cases for devlink-trap (Petr Oros) [1809496] - [tools] selftests: forwarding: devlink_lib: Add devlink-trap helpers (Petr Oros) [1809496] - [tools] selftests: forwarding: devlink_lib: Allow tests to define devlink device (Petr Oros) [1809496] - [documentation] Add devlink-trap documentation (Petr Oros) [1809496] - [net] devlink: Add generic packet traps and groups (Petr Oros) [1809496] - [net] devlink: Add packet trap infrastructure (Petr Oros) [1809496] - [net] devlink: add warning in case driver does not set port type (Petr Oros) [1809496] - [net] devlink: remove unused devlink_port_get_phys_port_name() function (Petr Oros) [1809496] - [net] tcp: add sanity tests in tcp_add_backlog() (Guillaume Nault) [1790843] - [net] tcp: implement coalescing on backlog queue (Guillaume Nault) [1790843] - [include] tcp: make tcp_space() aware of socket backlog (Guillaume Nault) [1790843] - [net] tcp: take care of compressed acks in tcp_add_reno_sack() (Guillaume Nault) [1790843] - [include] tcp: hint compiler about sack flows (Guillaume Nault) [1790843] - [net] tcp: drop dst in tcp_add_backlog() (Guillaume Nault) [1790843] - [net] drop_monitor: Do not cancel uninitialized work item (Petr Oros) [1810114] - [net] drop_monitor: Use kstrdup (Petr Oros) [1810114] - [net] drop_monitor: Better sanitize notified packets (Petr Oros) [1810114] - [net] drop_monitor: Make timestamps y2038 safe (Petr Oros) [1810114] - [net] drop_monitor: Allow user to start monitoring hardware drops (Petr Oros) [1810114] - [net] drop_monitor: Add support for summary alert mode for hardware drops (Petr Oros) [1810114] - [net] drop_monitor: Add support for packet alert mode for hardware drops (Petr Oros) [1810114] - [net] drop_monitor: Consider all monitoring states before performing configuration (Petr Oros) [1810114] - [net] drop_monitor: Add basic infrastructure for hardware drops (Petr Oros) [1810114] - [net] drop_monitor: Initialize hardware per-CPU data (Petr Oros) [1810114] - [net] drop_monitor: Move per-CPU data init/fini to separate functions (Petr Oros) [1810114] - [maintainers] drop_monitor: Add missing uAPI file to MAINTAINERS file (Petr Oros) [1810114] - [net] drop_monitor: Expose tail drop counter (Petr Oros) [1810114] - [net] drop_monitor: Make drop queue length configurable (Petr Oros) [1810114] - [net] drop_monitor: Add a command to query current configuration (Petr Oros) [1810114] - [net] drop_monitor: Allow truncation of dropped packets (Petr Oros) [1810114] - [net] drop_monitor: Add packet alert mode (Petr Oros) [1810114] - [net] drop_monitor: Add alert mode operations (Petr Oros) [1810114] - [net] drop_monitor: Require CAP_NET_ADMIN for drop monitor configuration (Petr Oros) [1810114] - [net] drop_monitor: Reset per-CPU data before starting to trace (Petr Oros) [1810114] - [net] drop_monitor: Initialize timer and work item upon tracing enable (Petr Oros) [1810114] - [net] drop_monitor: Split tracing enable / disable to different functions (Petr Oros) [1810114] - [net] drop_monitor: Use pre_doit / post_doit hooks (Petr Oros) [1810114] - [net] drop_monitor: Add extack support (Petr Oros) [1810114] - [net] drop_monitor: Avoid multiple blank lines (Petr Oros) [1810114] - [net] drop_monitor: Document scope of spinlock (Petr Oros) [1810114] - [net] drop_monitor: Rename and document scope of mutex (Petr Oros) [1810114] - [net] drop_monitor: Use correct error code (Petr Oros) [1810114] - [net] revert "net: dev: introduce support for sch BYPASS for lockless qdisc" (Paolo Abeni) [1805983] - [net] neighbour: remove neigh_cleanup() method (Ivan Vecera) [1795285] - [include] trace: events: neigh_update: print new state in string format (Ivan Vecera) [1795285] - [net] neigh: hook tracepoints in neigh update code (Ivan Vecera) [1795285] - [net] trace: events: add a few neigh tracepoints (Ivan Vecera) [1795285] - [net] netfilter: nf_tables: add __nft_chain_type_get() (Florian Westphal) [1806888] - [net] devlink: Hang reporter's dump method on a dumpit cb (Andrea Claudi) [1804798] - [net] core: Do not clear VF index for node/port GUIDs query (Petr Oros) [1805312] - [net] core: Populate VF index in struct ifla_vf_guid (Petr Oros) [1805312] - [net] core: Add support for getting VF GUIDs (Petr Oros) [1805312] - [tools] ptp: Extend the test program to check the external time stamp flags (Petr Oros) [1795192] - [netdrv] mlx5: Reject requests to enable time stamping on both edges (Petr Oros) [1795192] - [netdrv] igb: Reject requests that fail to enable time stamping on both edges (Petr Oros) [1795192] - [netdrv] dp83640: Reject requests to enable time stamping on both edges (Petr Oros) [1795192] - [netdrv] mv88e6xxx: Reject requests to enable time stamping on both edges (Petr Oros) [1795192] - [netdrv] ptp: Introduce strict checking of external time stamp options (Petr Oros) [1795192] - [netdrv] renesas: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] mlx5: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] igb: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] dp83640: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] mv88e6xxx: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] net: reject PTP periodic output requests with unsupported flags (Petr Oros) [1795192] - [ptp] Validate requests to enable time stamping of external signals (Petr Oros) [1795192] - [tools] ptp: Fix example program to match kernel (Petr Oros) [1795192] - [include] uaccess: add noop untagged_addr definition (Josef Oskera) [1805320] - [include] debugfs: Add debugfs_create_xul() for hexadecimal unsigned long (Josef Oskera) [1795286] - [documentation] debugfs: Document debugfs helper for unsigned long values (Josef Oskera) [1795286] - [net] vsock/virtio: add WARN_ON check on virtio_transport_get_ops() (Stefano Garzarella) [1692797] - [net] vsock/virtio: fix null-pointer dereference in virtio_transport_recv_listen() (Stefano Garzarella) [1692797] - [net] vsock: avoid to assign transport if its initialization fails (Stefano Garzarella) [1692797] - [misc] vsock/vmci: make vmci_vsock_cb_host_called static (Stefano Garzarella) [1692797] - [net] vsock: fix bind() behaviour taking care of CID (Stefano Garzarella) [1692797] - [net] vsock: prevent transport modules unloading (Stefano Garzarella) [1692797] - [misc] vsock/vmci: register vmci_transport only when VMCI guest/host are active (Stefano Garzarella) [1692797] - [net] vsock: add multi-transports support (Stefano Garzarella) [1692797] - [net] hv_sock: set VMADDR_CID_HOST in the hvs_remote_addr_init() (Stefano Garzarella) [1692797] - [net] vsock: move vsock_insert_unbound() in the vsock_create() (Stefano Garzarella) [1692797] - [net] vsock: add vsock_create_connected() called by transports (Stefano Garzarella) [1692797] - [net] vsock: handle buffer_size sockopts in the core (Stefano Garzarella) [1692797] - [net] vsock: add 'struct vsock_sock *' param to vsock_core_get_transport() (Stefano Garzarella) [1692797] - [net] vsock/virtio: add transport parameter to the virtio_transport_reset_no_sock() (Stefano Garzarella) [1692797] - [net] vsock: add 'transport' member in the struct vsock_sock (Stefano Garzarella) [1692797] - [kernel] vsock: remove linux/vm_sockets.h file (Stefano Garzarella) [1692797] - [net] vsock: remove vm_sockets_get_local_cid() (Stefano Garzarella) [1692797] - [net] vsock/vmci: remove unused VSOCK_DEFAULT_CONNECT_TIMEOUT (Stefano Garzarella) [1692797] - [x86] kvm: x86: clear stale x86_emulate_ctxt->intercept value (Jon Maloy) [1806817] {CVE-2020-2732} - [x86] kvm: vmx: check descriptor table exits on instruction emulation (Jon Maloy) [1806817] {CVE-2020-2732} - [x86] kvm: nvmx: Check IO instruction VM-exit conditions (Jon Maloy) [1806817] {CVE-2020-2732} - [x86] kvm: nvmx: Refactor IO bitmap checks into helper function (Jon Maloy) [1806817] {CVE-2020-2732} - [x86] kvm: nvmx: Don't emulate instructions in guest mode (Jon Maloy) [1806817] {CVE-2020-2732}- [fs] gfs2: Fix oversight in gfs2_ail1_flush (Robert S Peterson) [1724769] - [kernel] sched/uclamp: Extend sched_setattr() to support utilization clamping (Phil Auld) [1810399] - [kernel] sched/core: Further clarify sched_class::set_next_task() (Phil Auld) [1810399] - [kernel] sched/fair: Use mul_u32_u32() (Phil Auld) [1810399] - [kernel] sched/core: Simplify sched_class::pick_next_task() (Phil Auld) [1810399] - [kernel] sched/core: Optimize pick_next_task() (Phil Auld) [1810399] - [kernel] sched/core: Make pick_next_task_idle() more consistent (Phil Auld) [1810399] - [kernel] sched/fair: Better document newidle_balance() (Phil Auld) [1810399] - [kernel] sched: Fix pick_next_task() vs 'change' pattern race (Phil Auld) [1810399] - [cpufreq] cpufreq: Initialize the governors in core_initcall (Phil Auld) [1810399] - [kernel] sched/vtime: Fix guest/system mis-accounting on task switch (Phil Auld) [1810399] - [kernel] sched/fair/util_est: Implement faster ramp-up EWMA on utilization increases (Phil Auld) [1810399] - [kernel] sched/topology: Allow sched_asym_cpucapacity to be disabled (Phil Auld) [1810399] - [kernel] sched/topology: Don't try to build empty sched domains (Phil Auld) [1810399] - [kernel] sched/topology: Don't set SD_BALANCE_WAKE on cpuset domain relax (Phil Auld) [1810399] - [kernel] membarrier: Fix RCU locking bug caused by faulty merge (Phil Auld) [1810399] - [kernel] sched/core: Fix preempt_schedule() interrupt return comment (Phil Auld) [1810399] - [kernel] sched/membarrier: Return -ENOMEM to userspace on memory allocation failure (Phil Auld) [1810399] - [kernel] sched/membarrier: Skip IPIs when mm->mm_users == 1 (Phil Auld) [1810399] - [tools] selftests, sched/membarrier: Add multi-threaded test (Phil Auld) [1810399] - [kernel] sched/membarrier: Fix p->mm->membarrier_state racy load (Phil Auld) [1810399] - [include] sched/membarrier: Call sync_core only before usermode for same mm (Phil Auld) [1810399] - [kernel] sched/membarrier: Remove redundant check (Phil Auld) [1810399] - [kernel] sched/membarrier: Fix private expedited registration check (Phil Auld) [1810399] - [kernel] tasks, sched/core: RCUify the assignment of rq->curr (Phil Auld) [1810399] - [kernel] tasks, sched/core: With a grace period after finish_task_switch(), remove unnecessary code (Phil Auld) [1810399] - [kernel] tasks, sched/core: Ensure tasks are available for a grace period after leaving the runqueue (Phil Auld) [1810399] - [kernel] tasks: Add a count of task RCU users (Phil Auld) [1810399] - [include] sched/core: Convert task_struct.usage to refcount_t (Phil Auld) [1810399] - [include] sched/core: Convert vcpu_is_preempted() from macro to an inline function (Phil Auld) [1810399] - [kernel] sched/fair: Remove unused cfs_rq_clock_task() function (Phil Auld) [1810399] - [scripts] Kbuild: Handle PREEMPT_RT for version string and magic (Phil Auld) [1810399] - [kernel] sched/fair: Use rq_lock/unlock in online_fair_sched_group (Phil Auld) [1810399] - [kernel] sched: Rework pick_next_task() slow-path (Phil Auld) [1810399] - [kernel] sched: Allow put_prev_task() to drop rq->lock (Phil Auld) [1810399] - [kernel] sched/fair: Expose newidle_balance() (Phil Auld) [1810399] - [kernel] sched: Add task_struct pointer to sched_class::set_curr_task (Phil Auld) [1810399] - [kernel] sched: Rework CPU hotplug task selection (Phil Auld) [1810399] - [kernel] rcu/tree: Fix SCHED_FIFO params (Phil Auld) [1810399] - [kernel] sched: Clean up active_mm reference counting (Phil Auld) [1810399] - [kernel] sched/{rt, deadline}: Fix set_next_task vs pick_next_task (Phil Auld) [1810399] - [kernel] sched: Fix kerneldoc comment for ia64_set_curr_task (Phil Auld) [1810399] - [kernel] stop_machine: Fix stop_cpus_in_progress ordering (Phil Auld) [1810399] - [kernel] sched/psi: Reduce psimon FIFO priority (Phil Auld) [1810399] - [kernel] sched/psi: Do not require setsched permission from the trigger creator (Phil Auld) [1810399] - [x86] x86/kvm: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [x86] x86/dumpstack: Indicate PREEMPT_RT in dumps (Phil Auld) [1810399] - [x86] x86: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [kernel] kprobes: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [kernel] tracing: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [include] locking/spinlocks: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [kernel] rcu: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [kernel] sched/preempt: Use CONFIG_PREEMPTION where appropriate (Phil Auld) [1810399] - [kernel] sched/core: Prevent race condition between cpuset and __sched_setscheduler() (Phil Auld) [1810399] - [kernel] rcu/tree: Call setschedule() gp ktread to SCHED_FIFO outside of atomic region (Phil Auld) [1810399] - [kernel] cgroup/cpuset: Change cpuset_rwsem and hotplug lock order (Phil Auld) [1810399] - [kernel] cgroup/cpuset: Convert cpuset_mutex to percpu_rwsem (Phil Auld) [1810399] - [kernel] sched/deadline: Fix bandwidth accounting at all levels after offline migration (Phil Auld) [1810399] - [kernel] cpusets: Rebuild root domain deadline accounting information (Phil Auld) [1810399] - [kernel] sched/core: Streamle calls to task_rq_unlock() (Phil Auld) [1810399] - [kernel] sched/topology: Add partition_sched_domains_locked() (Phil Auld) [1810399] - [kernel] sched/stats: Fix unlikely() use of sched_info_on() (Phil Auld) [1810399] - [kernel] sched/fair: Change task_numa_work() storage to static (Phil Auld) [1810399] - [kernel] sched/fair: Move task_numa_work() init to init_numa_balancing() (Phil Auld) [1810399] - [kernel] sched/fair: Move init_numa_balancing() below task_numa_work() (Phil Auld) [1810399] - [kernel] sched/rt, Kconfig: Unbreak def/oldconfig with CONFIG_PREEMPT=y (Phil Auld) [1810399] - [kernel] sched/rt, Kconfig: Introduce CONFIG_PREEMPT_RT (Phil Auld) [1810399] - [kernel] kconfig: include kernel/Kconfig.preempt from init/Kconfig (Phil Auld) [1810399] - [kernel] sched/core: Fix preempt warning in ttwu (Phil Auld) [1810399] - [kernel] sched/core: Optimize try_to_wake_up() for local wakeups (Phil Auld) [1810399] - [kernel] sched/core: Introduce set_next_task() helper for better code readability (Phil Auld) [1810399] - [kernel] sched/fair: Don't increase sd->balance_interval on newidle balance (Phil Auld) [1810399] - [kernel] sched/fair: Clean up load_balance() condition (Phil Auld) [1810399] - [mm] mm: fix possible PMD dirty bit lost in set_pmd_migration_entry() (Rafael Aquini) [1809698] - [mm] mm, thp: fix defrag setting if newline is not used (Rafael Aquini) [1809698] - [mm] mm/migrate.c: also overwrite error when it is bigger than zero (Rafael Aquini) [1809698] - [mm] mm/mempolicy.c: fix out of bounds write in mpol_parse_str() (Rafael Aquini) [1809698] - [mm] mm: memcg/slab: call flush_memcg_workqueue() only if memcg workqueue is valid (Rafael Aquini) [1809698] - [mm] mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio() (Rafael Aquini) [1809698] - [mm] mm/gup: fix memory leak in __gup_benchmark_ioctl (Rafael Aquini) [1809698] - [mm] mm: move_pages: return valid node id in status if the page is already on the target node (Rafael Aquini) [1809698] - [mm] mm/zsmalloc.c: fix the migrated zspage statistics (Rafael Aquini) [1809698] - [mm] mm: memcg/slab: wait for !root kmem_cache refcnt killing on root kmem_cache destruction (Rafael Aquini) [1809698] - [mm] mm/mempolicy.c: check range first in queue_pages_test_walk (Rafael Aquini) [1809698] - [mm] mm/memory.c: fix a huge pud insertion race during faulting (Rafael Aquini) [1809698] - [mm] mm: move the backup x_devmap() functions to asm-generic/pgtable.h (Rafael Aquini) [1809698] - [mm] mm/rmap.c: don't reuse anon_vma if we just want a copy (Rafael Aquini) [1809698] - [mm] mm/ksm.c: don't WARN if page is still mapped in remove_stable_node() (Rafael Aquini) [1809698] - [mm] mm/page_io.c: do not free shared swap slots (Rafael Aquini) [1809698] - [mm] mm: thp: handle page cache THP correctly in PageTransCompoundMap (Rafael Aquini) [1809698] - [mm] mm/slub: fix a deadlock in show_slab_objects() (Rafael Aquini) [1809698] - [mm] mm/vmpressure.c: fix a signedness bug in vmpressure_register_event() (Rafael Aquini) [1809698] - [trace] include/trace/events/writeback.h: fix -Wstringop-truncation warnings (Rafael Aquini) [1809698] - [mm] mm/compaction.c: clear total_{migrate, free}_scanned before scanning a new zone (Rafael Aquini) [1809698] - [mm] mm/hmm: fix hmm_range_fault()'s handling of swapped out pages (Rafael Aquini) [1809698] - [mm] mm/migrate.c: initialize pud_entry in migrate_vma() (Rafael Aquini) [1809698] - [kernel] ptrace: restore smp_rmb() in __ptrace_may_access() (Rafael Aquini) [1809698] - [documentation] mm: fix Documentation/vm/hmm.rst Sphinx warnings (Rafael Aquini) [1809698] - [fs] writeback: fix inode cgroup switching comment (Rafael Aquini) [1809698] - [include] mm/page_poison: update comment after code moved (Rafael Aquini) [1809698] - [mm] mm/filemap: pass inclusive 'end_byte' parameter to filemap_range_has_page (Rafael Aquini) [1809698] - [mm] ARM: 8826/1: mm: initialize pfn limits with find_limits() (Rafael Aquini) [1809698] - [fs] mm, proc: report PR_SET_THP_DISABLE in proc (Rafael Aquini) [1809698] - [mm] mm/khugepaged: fix crashes due to misaccounted holes (Rafael Aquini) [1809698] - [include] writeback: don't decrement wb->refcnt if !wb->bdi (Rafael Aquini) [1809698] - [mm] mm/filemap.c: Use existing variable (Rafael Aquini) [1809698] - [fs] removed extra extern file_fdatawait_range (Rafael Aquini) [1809698] - [s390] Revert "s390/dasd: Disable Thin Provisioning to prevent data loss" (Philipp Rudo) [1816984] - [s390] s390/dasd: fix data corruption for thin provisioned devices (Philipp Rudo) [1816984] - [block] virtio-blk: improve virtqueue error to BLK_STS (Philipp Rudo) [1816983] - [block] virtio-blk: fix hw_queue stopped on arbitrary error (Philipp Rudo) [1816983] - [s390] s390/pkey: fix missing length of protected key on return (Philipp Rudo) [1816981] - [s390] s390/mm: fix panic in gup_fast on large pud (Philipp Rudo) [1816980]- [mmc] mmc: core: Use a minimum 1600ms timeout when enabling CACHE ctrl (Yannick Cote) [1811430] - [mmc] mmc: core: Allow BKOPS and CACHE ctrl even if no HPI support (Yannick Cote) [1811430] - [net] net/smc: keep vlan_id for SMC-R in smc_listen_work() (Philipp Rudo) [1796890] - [scripts] redhat: fix modpost.c prerequisites (Frantisek Hrbata) [1818499] - [tools] tools/power/x86/intel-speed-select: Update version (Prarit Bhargava) [1817068] - [tools] tools/power/x86/intel-speed-select: Change the order for clos disable (Prarit Bhargava) [1817068] - [tools] tools/power/x86/intel-speed-select: Fix result display for turbo-freq auto mode (Prarit Bhargava) [1817068] - [tools] tools/power/x86/intel-speed-select: Add support for core-power discovery (Prarit Bhargava) [1817068] - [netdrv] can, slip: Protect tty->disc_data in write_wakeup and close with RCU (Steve Best) [1816036] - [kernel] exit: panic before exit_mm() on global init exit (Oleg Nesterov) [1808944] - [fs] nfsd: restore NFSv3 ACL support ("J. Bruce Fields") [1815683] - [fs] nfsd4: Fix kernel crash when reading proc file reply_cache_stats ("J. Bruce Fields") [1815683] - [fs] nfsd: fix cleanup of nfsd_reply_cache_init on failure ("J. Bruce Fields") [1815683] - [fs] nfsd: note inadequate stats locking ("J. Bruce Fields") [1815683] - [fs] nfsd4: drc containerization ("J. Bruce Fields") [1815683] - [fs] nfsd: don't call nfsd_reply_cache_shutdown twice ("J. Bruce Fields") [1815683] - [fs] nfsd: knfsd must use the container user namespace ("J. Bruce Fields") [1815683] - [net] SUNRPC: rsi_parse() should use the current user namespace ("J. Bruce Fields") [1815683] - [net] SUNRPC: Fix the server AUTH_UNIX userspace mappings ("J. Bruce Fields") [1815683] - [fs] lockd: Pass the user cred from knfsd when starting the lockd server ("J. Bruce Fields") [1815683] - [net] SUNRPC: Temporary sockets should inherit the cred from their parent ("J. Bruce Fields") [1815683] - [fs] SUNRPC: Cache the process user cred in the RPC server listener ("J. Bruce Fields") [1815683] - [fs] nfsd: Allow containers to set supported nfs versions ("J. Bruce Fields") [1815683] - [fs] nfsd: Add custom rpcbind callbacks for knfsd ("J. Bruce Fields") [1815683] - [fs] SUNRPC: Allow further customisation of RPC program registration ("J. Bruce Fields") [1815683] - [net] SUNRPC: Clean up generic dispatcher code ("J. Bruce Fields") [1815683] - [fs] SUNRPC: Add a callback to initialise server requests ("J. Bruce Fields") [1815683] - [fs] SUNRPC/nfs: Fix return value for nfs4_callback_compound() ("J. Bruce Fields") [1815683] - [kernel] sched: Avoid scale real weight down to zero (Phil Auld) [1808562] - [nvme] nvme/pci: move cqe check after device shutdown (David Milburn) [1779247 1750267] - [mm] mm, slb: guarantee natural alignment for kmalloc(power-of-two) (Brian Foster) [1814964] - [tools] tools/power turbostat: Support Ice Lake server (Steve Best) [1776467] - [pinctrl] pinctrl: intel: Allow to request locked pads (Prarit Bhargava) [1783115] - [s390] s390/qeth: fix potential deadlock on workqueue flush (Philipp Rudo) [1814783] - [s390] s390/qeth: streamline control code for promisc mode (Philipp Rudo) [1814783] - [s390] scsi: zfcp: fix request object use-after-free in send path causing wrong traces (Philipp Rudo) [1814790] - [s390] s390/pci: Fix possible deadlock in recover_store() (Philipp Rudo) [1814788] - [s390] s390/pci: Recover handle in clp_set_pci_fn() (Philipp Rudo) [1814788] - [s390] scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host (Philipp Rudo) [1814794] - [s390] scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP devices (Philipp Rudo) [1814793] - [s390] s390/cio: fix virtio-ccw DMA without PV (Philipp Rudo) [1814787] - [s390] s390/kaslr: store KASLR offset for early dumps (Philipp Rudo) [1814781] - [mm] s390/mm: fix dynamic pagetable upgrade for hugetlbfs (Philipp Rudo) [1814779] - [char] tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send() (Steve Best) [1808048] - [s390] s390/qeth: fix dangling IO buffers after halt/clear (Philipp Rudo) [1814782] - [virtio] virtio_ring: fix unmap of indirect descriptors (Philipp Rudo) [1797289] - [virtio] virtio_ring: fix return code on DMA mapping fails (Philipp Rudo) [1797289] - [misc] dma-mapping: zero memory returned from dma_alloc_* (Philipp Rudo) [1788928] - [platform] platform/mellanox: fix the mlx-bootctl sysfs (Alaa Hleihel) [1655714] - [platform] platform/mellanox: Add bootctl driver for Mellanox BlueField Soc (Alaa Hleihel) [1655714] - [char] tpm: ibmvtpm: Wait for buffer to be set before proceeding (Steve Best) [1815548] - [scsi] iscsi: Avoid potential deadlock in iscsi_if_rx func (Oleksandr Natalenko) [1815874] - [x86] x86/vector: Remove warning on managed interrupt migration (Peter Xu) [1812331] - [scsi] scsi: lpfc: fix spelling mistake "Notication" -> "Notification" (Dick Kennedy) [1796565] - [scsi] scsi: lpfc: add RDF registration and Link Integrity FPIN logging (Dick Kennedy) [1796565] - [uapi] scsi: fc: Update Descriptor definition and add RDF and Link Integrity FPINs (Dick Kennedy) [1796565]- [kvm] KVM: PPC: Book3S HV: Use __gfn_to_pfn_memslot in HPT page fault handler (Sam Bobroff) [1815491] - [net] tcp: also NULL skb->dev when copy was needed (Florian Westphal) [1775961] - [net] tcp: ensure skb->dev is NULL before leaving TCP stack (Florian Westphal) [1775961]- [mm] mm/memcontrol: use vmstat names for printing statistics (Waiman Long) [1793534] - [base] mm/vmstat: add helpers to get vmstat item names for each enum type (Waiman Long) [1793534] - [mm] mm/vmstat.c: assert that vmstat_text is in sync with stat_items_size (Waiman Long) [1793534] - [mm] mm: memcontrol: dump memory.stat during cgroup OOM (Waiman Long) [1793534] - [mm] mm/memcontrol.c: lost css_put in memcg_expand_shrinker_maps() (Waiman Long) [1793534] - [mm] mm: memcg/slab: fix percpu slab vmstats flushing (Waiman Long) [1793534] - [include] include/linux/memcontrol.h: fix comments based on per-node memcg (Waiman Long) [1793534] - [mm] mm: memcg: switch to css_tryget() in get_mem_cgroup_from_mm() (Waiman Long) [1793534] - [mm] mm: memcontrol: fix network errors from failing __GFP_ATOMIC charges (Waiman Long) [1793534] - [mm] mm: slab: make page_cgroup_ino() to recognize non-compound slab pages properly (Waiman Long) [1793534] - [mm] mm: memcontrol: fix NULL-ptr deref in percpu stats flush (Waiman Long) [1793534] - [mm] mm/memcontrol: update lruvec counters in mem_cgroup_move_account (Waiman Long) [1793534] - [mm] mm: memcg: get number of pages on the LRU list in memcgroup base on lru_zone_size (Waiman Long) [1793534] - [mm] mm: memcontrol: fix percpu vmstats and vmevents flush (Waiman Long) [1793534] - [mm] mm, memcg: partially revert "mm/memcontrol.c: keep local VM counters in sync with the hierarchical ones" (Waiman Long) [1793534] - [mm] mm: memcontrol: flush percpu slab vmstats on kmem offlining (Waiman Long) [1793534] - [mm] mm: memcontrol: flush percpu vmevents before releasing memcg (Waiman Long) [1793534] - [mm] mm: memcontrol: flush percpu vmstats before releasing memcg (Waiman Long) [1793534] - [mm] mm/memcontrol.c: keep local VM counters in sync with the hierarchical ones (Waiman Long) [1793534] - [mm] mm/memcontrol: fix wrong statistics in memory.stat (Waiman Long) [1793534] - [mm] mm: memcontrol: don't batch updates of local VM stats and events (Waiman Long) [1793534] - [mm] mm: memcontrol: fix NUMA round-robin reclaim at intermediate level (Waiman Long) [1793534] - [mm] mm: memcontrol: fix recursive statistics correctness & scalabilty (Waiman Long) [1793534] - [mm] mm: memcontrol: move stat/event counting functions out-of-line (Waiman Long) [1793534] - [mm] mm: memcontrol: make cgroup stats and events query API explicitly local (Waiman Long) [1793534] - [mm] mm, memcg: rename ambiguously named memory.stat counters and functions (Waiman Long) [1793534] - [mm] mm: memcontrol: quarantine the mem_cgroup_nr_lru_pages() API (Waiman Long) [1793534] - [mm] mm: memcontrol: push down mem_cgroup_nr_lru_pages() (Waiman Long) [1793534] - [mm] mm: memcontrol: push down mem_cgroup_node_nr_lru_pages() (Waiman Long) [1793534] - [mm] mm: memcontrol: replace node summing with memcg_page_state() (Waiman Long) [1793534] - [mm] mm: memcontrol: replace zone summing with lruvec_page_state() (Waiman Long) [1793534] - [include] mm: memcontrol: track LRU counts in the vmstats array (Waiman Long) [1793534] - [mm] mm: writeback: use exact memcg dirty counts (Waiman Long) [1793534] - [mm] mm: memcontrol: expose THP events on a per-memcg basis (Waiman Long) [1793534] - [mm] memcg: killed threads should not invoke memcg OOM killer (Waiman Long) [1793534] - [mm] mm, memcg: extract memcg maxable seq_file logic to seq_show_memcg_tunable (Waiman Long) [1793534] - [mm] mm, memcg: create mem_cgroup_from_seq (Waiman Long) [1793534] - [mm] mm/oom_kill.c: fix uninitialized oc->constraint (Waiman Long) [1793534] - [mm] mm, oom: add oom victim's memcg to the oom context information (Waiman Long) [1793534] - [mm] mm, oom: reorganize the oom report in dump_header (Waiman Long) [1793534] - [include] mm: Clarify the implication of adding new node stat items (Waiman Long) [1793534] - [mm] memcg: Revert "Add preemption point in accumulate_memcg_tree()" (Waiman Long) [1793534] - [base] driver core: add dev_groups to all drivers (Don Dutile) [1814347] - [tools] selftests/livepatch: Remove unused local variable in set_ftrace_enabled() (Yannick Cote) [1807115] - [tools] selftests/livepatch: Replace set_dynamic_debug() with setup_config() in README (Yannick Cote) [1807115] - [tools] selftests: livepatch: Fix it to do root uid check and skip (Yannick Cote) [1807115] - [tools] selftests/livepatch: Test interaction with ftrace_enabled (Yannick Cote) [1807115] - [tools] selftests/livepatch: Make dynamic debug setup and restore generic (Yannick Cote) [1807115] - [kernel] ftrace: Introduce PERMANENT ftrace_ops flag (Yannick Cote) [1807115] - [samples] livepatch: Handle allocation failure in the sample of shadow variable API (Yannick Cote) [1807115] - [lib] livepatch/samples/selftest: Use klp_shadow_alloc() API correctly (Yannick Cote) [1807115] - [lib] livepatch/selftest: Clean up shadow variable names and type (Yannick Cote) [1807115] - [samples] livepatch/sample: Use the right type for the leaking data pointer (Yannick Cote) [1807115] - [kernel] kprobes: Allow kprobes coexist with livepatch (Yannick Cote) [1727330 1807115] - [x86] ftrace/x86: Remove mcount() declaration (Yannick Cote) [1807115] - [tools] selftests: livepatch: add missing fragments to config (Yannick Cote) [1807115] - [lib] livepatch: Selftests of the API for tracking system state changes (Yannick Cote) [1807115] - [documentation] livepatch: Documentation of the new API for tracking system state changes (Yannick Cote) [1807115] - [kernel] livepatch: Allow to distinguish different version of system state changes (Yannick Cote) [1807115] - [kernel] livepatch: Basic API to track system state changes (Yannick Cote) [1807115] - [kernel] livepatch: Keep replaced patches until post_patch callback is called (Yannick Cote) [1807115] - [tools] selftests/livepatch: Disable the timeout (Yannick Cote) [1807115] - [kernel] livepatch: Nullify obj->mod in klp_module_coming()'s error path (Yannick Cote) [1807115] - [powerpc] livepatch: Remove klp_check_compiler_support() (Yannick Cote) [1807115] - [x86] ftrace/x86: Remove mcount support (Yannick Cote) [1807115] - [x86] ftrace/x86_32: Remove support for non DYNAMIC_FTRACE (Yannick Cote) [1807115] - [documentation] docs/livepatch: Unify style of livepatch documentation in the ReST format (Yannick Cote) [1807115] - [documentation] docs: livepatch: convert docs to ReST and rename to *.rst (Yannick Cote) [1807115] - [kernel] livepatch: Remove duplicate warning about missing reliable stacktrace support (Yannick Cote) [1807115] - [kernel] livepatch: Use static buffer for debugging messages under rq lock (Yannick Cote) [1807115] - [include] livepatch: Remove stale kobj_added entries from kernel-doc descriptions (Yannick Cote) [1807115] - [kernel] livepatch: Remove duplicated code for early initialization (Yannick Cote) [1807115] - [kernel] livepatch: Remove custom kobject state handling (Yannick Cote) [1807115] - [kernel] livepatch: Convert error about unsupported reliable stacktrace into a warning (Yannick Cote) [1807115] - [kernel] kprobes: Replace p with other pointer types (Yannick Cote) [1727330 1807115]- [drm] drm/bochs: downgrade pci_request_region failure from error to warning (Dave Airlie) [1804735] - [drm] drm/bochs: deinit bugfix (Dave Airlie) [1804735] - [fs] gfs2: fix O_EXCL|O_CREAT handling on cold dcache (Andrew Price) [1811787] - [net] esp: remove the skb from the chain when it's enqueued in cryptd_wq (Xin Long) [1807909] - [powerpc] powerpc/nvdimm: set target_node properly (Diego Domingos) [1815038]- [kernel] posix-cpu-timers: Fix two trivial comments (Prarit Bhargava) [1810244] - [kernel] hrtimer: Annotate lockless access to timer->base (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Fix permission check regression (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Always clear head pointer on dequeue (Prarit Bhargava) [1810244] - [kernel] hrtimer: Add a missing bracket and hide `migration_base' on !SMP (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Make expiry_active check actually work correctly (Prarit Bhargava) [1810244] - [include] posix-timers: Unbreak CONFIG_POSIX_TIMERS=n build (Prarit Bhargava) [1810244] - [kernel] tick: Mark sched_timer to expire in hard interrupt context (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Utilize timerqueue for storage (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Move state tracking to struct posix_cputimers (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Deduplicate rlimit handling (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove pointless comparisons (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Get rid of 64bit divisions (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Consolidate timer expiry further (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Get rid of zero checks (Prarit Bhargava) [1810244] - [kernel] rlimit: Rewrite non-sensical RLIMIT_CPU comment (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Respect INFINITY for hard RTTIME limit (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Switch thread group sampling to array (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Restructure expiry array (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove cputime_expires (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Make expiry checks array based (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Provide array based sample functions (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Remove the odd field rename defines (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Switch check_*_timers() to array cache (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Simplify set_process_cpu_timer() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Simplify timer queueing (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Provide array based access to expiry cache (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Move expiry cache into struct posix_cputimers (Prarit Bhargava) [1810244] - [include] sched: Move struct task_cputime to types.h (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Create a container struct (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Move prof/virt_ticks into caller (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Sample task times once in expiry check (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Get rid of pointer indirection (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Simplify sample functions (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove pointless return value check (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use clock ID in posix_cpu_timer_rearm() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use clock ID in posix_cpu_timer_get() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use clock ID in posix_cpu_timer_set() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Consolidate thread group sample code (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Rename thread_group_cputimer() and make it static (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Sample directly in timer check (Prarit Bhargava) [1810244] - [kernel] itimers: Use quick sample function (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Provide quick sample function for itimer (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use common permission check in posix_cpu_timer_create() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use common permission check in posix_cpu_clock_get() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Provide task validation functions (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove tsk argument from run_posix_cpu_timers() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Sanitize bogus WARNONS (Prarit Bhargava) [1810244] - [kernel] hrtimer: Don't take expiry_lock when timer is currently migrated (Prarit Bhargava) [1810244] - [kernel] hrtimer: Protect lockless access to timer->base (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Fixup stale comment (Prarit Bhargava) [1810244] - [include] alarmtimers: Avoid rtc.h include (Prarit Bhargava) [1810244] - [include] posix-timers: Cleanup forward declarations and includes (Prarit Bhargava) [1810244] - [kernel] hrtimer: Improve comments on handling priority inversion against softirq kthread (Prarit Bhargava) [1810244] - [kernel] posix-timers: Use a callback for cancel synchronization on PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] posix-timers: Move rcu_head out of it union (Prarit Bhargava) [1810244] - [kernel] posix-timers: Rework cancel retry loops (Prarit Bhargava) [1810244] - [kernel] posix-timers: Cleanup the flag/flags confusion (Prarit Bhargava) [1810244] - [kernel] itimers: Prepare for PREEMPT_RT (Prarit Bhargava) [1810244] - [fs] timerfd: Prepare for PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] alarmtimer: Prepare for PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] sched/deadline: Ensure inactive_timer runs in hardirq context (Prarit Bhargava) [1810244] - [kernel] timers: Prepare support for PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] hrtimer: Prepare support for PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] hrtimer: Determine hard/soft expiry mode for hrtimer sleepers on RT (Prarit Bhargava) [1810244] - [kernel] hrtimer: Move unmarked hrtimers to soft interrupt expiry on RT (Prarit Bhargava) [1810244] - [kernel] tick: Mark tick related hrtimers to expiry in hard interrupt context (Prarit Bhargava) [1810244] - [kvm] KVM: LAPIC: Mark hrtimer to expire in hard interrupt context (Prarit Bhargava) [1810244] - [kernel] watchdog: Mark watchdog_hrtimer to expire in hard interrupt context (Prarit Bhargava) [1810244] - [kernel] perf/core: Mark hrtimers to expire in hard interrupt context (Prarit Bhargava) [1810244] - [kernel] hrtimer: Make enqueue mode check work on RT (Prarit Bhargava) [1810244] - [kernel] sched: Mark hrtimers to expire in hard interrupt context (Prarit Bhargava) [1810244] - [staging] hrtimer/treewide: Use hrtimer_sleeper_start_expires() (Prarit Bhargava) [1810244] - [kernel] hrtimer: Provide hrtimer_sleeper_start_expires() (Prarit Bhargava) [1810244] - [kernel] hrtimer: Consolidate hrtimer_init() + hrtimer_init_sleeper() calls (Prarit Bhargava) [1810244] - [kernel] hrtimer: Remove task argument from hrtimer_init_sleeper() (Prarit Bhargava) [1810244] - [kernel] futex: Consolidate duplicated timer setup code (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove private interval storage (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Unbreak timer rearming (Prarit Bhargava) [1810244] - [mm] mm, slub: naive detection of double-free or freelist corruption (Rafael Aquini) [1810288] - [fs] nfs: add minor version to nfs_server_key for fscache (Dave Wysochanski) [1777097] - [edac] EDAC, mellanox: Add ECC support for BlueField DDR4 (Alaa Hleihel) [1725108] - [platform] platform/mellanox: fix potential deadlock in the tmfifo driver (Alaa Hleihel) [1655736] - [platform] platform/mellanox: Add TmFifo driver for Mellanox BlueField Soc (Alaa Hleihel) [1655736] - [mm] powerpc/pmem: Fix kernel crash due to wrong range value usage in flush_dcache_range (Steve Best) [1814279] - [mm] powerpc: Chunk calls to flush_dcache_range in arch_*_memory (Steve Best) [1814279] - [fs] cifs: fix NULL dereference in match_prepath (Leif Sahlberg) [1760879] - [fs] cifs: fail i/o on soft mounts if sessionsetup errors out (Leif Sahlberg) [1798031] - [sound] ALSA: usb-audio: set the interface format after resume on Dell WD19 (Perry Yuan) [1807965] - [fs] cifs: make sure we do not overflow the max EA buffer size (Leif Sahlberg) [1752437]- [netdrv] net/mlx5e: Don't clear the whole vf config when switching modes (mohamad meib) [1814350] - [fs] fuse: fix stack use after return (Miklos Szeredi) [1814666]- [target] scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session" (Maurizio Lombardi) [1784442] - [infiniband] scsi: Revert "RDMA/isert: Fix a recently introduced regression related to logout" (Maurizio Lombardi) [1784442] - [target] scsi: Revert "target/core: Inline transport_lun_remove_cmd()" (Maurizio Lombardi) [1784442] - [target] scsi: libfc: remove unnecessary assertion on ep variable (Maurizio Lombardi) [1784442] - [infiniband] scsi: RDMA/isert: Fix a recently introduced regression related to logout (Maurizio Lombardi) [1784442] - [target] scsi: target/iblock: Fix protection error with blocks greater than 512B (Maurizio Lombardi) [1784442] - [target] scsi: target: core: Fix a pr_debug() argument (Maurizio Lombardi) [1784442] - [target] scsi: target: iscsi: Wait for all commands to finish before freeing a session (Maurizio Lombardi) [1784442] - [target] scsi: target: core: Release SPC-2 reservations when closing a session (Maurizio Lombardi) [1784442] - [target] scsi: target: core: Document target_cmd_size_check() (Maurizio Lombardi) [1784442] - [target] scsi: target: tcmu: Prevent memory reclaim recursion (Maurizio Lombardi) [1784442] - [scsi] scsi: cxgb4i: remove set but not used variable 'ppmax' (Maurizio Lombardi) [1784442] - [target] scsi: target: remove unused extension parameters (Maurizio Lombardi) [1784442] - [target] scsi: target: fix SendTargets=All string compares (Maurizio Lombardi) [1784442] - [target] scsi: target: Remove tpg_list and se_portal_group.se_tpg_node (Maurizio Lombardi) [1784442] - [target] scsi: target: cxgbit: Fix cxgbit_fw4_ack() (Maurizio Lombardi) [1784442] - [infiniband] IB/hfi1: TID RDMA WRITE should not return IB_WC_RNR_RETRY_EXC_ERR (Kamal Heib) [1786601] - [infiniband] IB/hfi1: Calculate flow weight based on QP MTU for TID RDMA (Kamal Heib) [1786601] - [infiniband] IB/hfi1: Ensure r_tid_ack is valid before building TID RDMA ACK packet (Kamal Heib) [1786601] - [infiniband] IB/hfi1: Ensure full Gen3 speed in a Gen4 system (Kamal Heib) [1786601] - [infiniband] IB/core: Avoid deadlock during netlink message handling (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Fix incorrect error print (Kamal Heib) [1786601] - [infiniband] IB/iser: Support up to 16MB data transfer in a single command (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Add missing cast for 32 bit (Kamal Heib) [1786601] - [documentation] Documentation/infiniband: update name of some functions (Kamal Heib) [1786601] - [infiniband] RDMA/iwpm: Delete unnecessary checks before the macro call "dev_kfree_skb" (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Use existing FIELD_SIZEOF macro (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Remove umem check on dereg MR flow (Kamal Heib) [1786601] - [net] xprtrdma: Send Queue size grows after a reconnect (Kamal Heib) [1786601] - [net] xprtrdma: Clear xprt->reestablish_timeout on close (Kamal Heib) [1786601] - [net] xprtrdma: Recycle MRs after disconnect (Kamal Heib) [1786601] - [net] xprtrdma: Optimize rpcrdma_post_recvs() (Kamal Heib) [1786601] - [net] xprtrdma: Inline XDR chunk encoder functions (Kamal Heib) [1786601] - [infiniband] RDMA/core: Make invalidate_range a device operation (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Use kvcalloc for the dma_list and page_list (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Check for overflow when computing the umem_odp end (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Provide ib_umem_odp_release() to undo the allocs (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Split creating a umem_odp from ib_umem_get (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Make the three ways to create a umem_odp clear (Kamal Heib) [1786601] - [infiniband] RMDA/odp: Consolidate umem_odp initialization (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Make it clearer when a umem is an implicit ODP umem (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Iterate over the whole rbtree directly (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Use the common interval tree library instead of generic (Kamal Heib) [1786601] - [net] xprtrdma: Clean up xprt_rdma_set_connect_timeout() (Kamal Heib) [1786601] - [net] xprtrdma: Use an llist to manage free rpcrdma_reps (Kamal Heib) [1786601] - [net] xprtrdma: Remove rpcrdma_buffer::rb_mrlock (Kamal Heib) [1786601] - [net] xprtrdma: Cache free MRs in each rpcrdma_req (Kamal Heib) [1786601] - [net] xprtrdma: Ensure creating an MR does not trigger FS writeback (Kamal Heib) [1786601] - [net] xprtrdma: Move rpcrdma_mr_get out of frwr_map (Kamal Heib) [1786601] - [net] xprtrdma: Combine rpcrdma_mr_put and rpcrdma_mr_unmap_and_put (Kamal Heib) [1786601] - [net] xprtrdma: Simplify rpcrdma_mr_pop (Kamal Heib) [1786601] - [net] xprtrdma: Rename rpcrdma_buffer::rb_all (Kamal Heib) [1786601] - [net] xprtrdma: Rename CQE field in Receive trace points (Kamal Heib) [1786601] - [infiniband] RDMA: Delete DEBUG code (Kamal Heib) [1786601] - [include] xprtrdma: Boost client's max slot table size to match Linux server (Kamal Heib) [1786601] - [net] xprtrdma: Boost maximum transport header size (Kamal Heib) [1786601] - [net] xprtrdma: Fix calculation of ri_max_segs again (Kamal Heib) [1786601] - [net] xprtrdma: Update obsolete comment (Kamal Heib) [1786601] - [net] xprtrdma: Refresh the documenting comment in frwr_ops.c (Kamal Heib) [1786601] - [net] svcrdma: Use llist for managing cache of recv_ctxts (Kamal Heib) [1786601] - [net] svcrdma: Remove svc_rdma_wq (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Rate limit admin queue error prints (Kamal Heib) [1786601] - [rdma] RDMA/core: Introduce ratelimited ibdev printk functions (Kamal Heib) [1786601] - [net] rdma: Enable ib_alloc_cq to spread work over a device's comp_vectors (Kamal Heib) [1786601] - [infiniband] RDMA/core: fix spelling mistake "Nelink" -> "Netlink" (Kamal Heib) [1786601] - [infiniband] net: Use skb_frag_off accessors (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Expose device statistics (Kamal Heib) [1786601] - [infiniband] RDMA/core: Support netlink commands in non init_net net namespaces (Kamal Heib) [1786601] - [rdma] RDMA: Make most headers compile stand alone (Kamal Heib) [1786601] - [infiniband] RDMA/core: Annotate destroy of mutex to ensure that it is released as unlocked (Kamal Heib) [1786601] - [infiniband] net: Use skb accessors in network drivers (Kamal Heib) [1786601] - [documentation] docs: infiniband: add it to the driver-api bookset (Kamal Heib) [1786601] - [infiniband] IB/hfi1: use the new FOLL_LONGTERM flag to get_user_pages_fast() (Kamal Heib) [1786601] - [documentation] Documentation/infiniband: update from locked to pinned_vm (Kamal Heib) [1786601] - [infiniband] opa_vnic: fix check on record->event, incorrect operator used (Kamal Heib) [1786601] - [infiniband] opa_vnic: Convert vport_idr to XArray (Kamal Heib) [1786601] - [infiniband] IB/hfi1: Ensure ucast_dlid access doesnt exceed bounds (Kamal Heib) [1786601] - [infiniband] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Kamal Heib) [1786601] - [infiniband] treewide: Add SPDX license identifier - Kbuild (Kamal Heib) [1786601] - [infiniband] mm/gup: add make_dirty arg to put_user_pages_dirty_lock() (Kamal Heib) [1786601] - [netdrv] ibmvnic: Do not process device remove during device reset (Steve Best) [1813223] - [bluetooth] Revert "Bluetooth: btusb: driver to enable the usb-wakeup feature" (Gopal Tiwari) [1811534] - [tty] serial: 8250_pci: Make PCI class test non fatal (Prarit Bhargava) [1812742] - [powercap] powercap/intel_rapl: add support for ICX-D (Steve Best) [1485067] - [char] drivers: ipmi: fix off-by-one bounds check that leads to a out-of-bounds write (Tony Camuso) [1812922] - [char] ipmi:ssif: Handle a possible NULL pointer reference (Tony Camuso) [1812922] - [char] drivers: ipmi: Modify max length of IPMB packet (Tony Camuso) [1812922] - [char] drivers: ipmi: Support raw i2c packet in IPMB (Tony Camuso) [1812922] - [char] ipmi: fix ipmb_poll()'s return type (Tony Camuso) [1812922] - [char] char: Fix Kconfig indentation, continued (Tony Camuso) [1812922] - [char] char: Fix Kconfig indentation (Tony Camuso) [1812922] - [char] ipmi: kill off 'timespec' usage again (Tony Camuso) [1812922] - [char] drivers: ipmi: Support for both IPMB Req and Resp (Tony Camuso) [1812922] - [char] ipmi: Fix memory leak in __ipmi_bmc_register (Tony Camuso) [1812922] - [char] ipmi: bt-bmc: use devm_platform_ioremap_resource() to simplify code (Tony Camuso) [1812922] - [char] ipmi: use *ph to print small buffer (Tony Camuso) [1812922] - [char] ipmi: Don't leave holes in the I2C address list in the ssif driver (Tony Camuso) [1812922] - [char] ipmi: fix return value of ipmi_set_my_LUN (Tony Camuso) [1812922] - [char] ipmi: Convert pr_xxx() to dev_xxx() in the BT code (Tony Camuso) [1812922] - [char] ipmi:dmi: Ignore IPMI SMBIOS entries with a zero base address (Tony Camuso) [1812922] - [char] ipmi_si: fix potential integer overflow on large shift (Tony Camuso) [1812922] - [char] ipmi_si_pci: fix NULL device in ipmi_si error message (Tony Camuso) [1812922] - [char] ipmi: Convert printk(KERN_ to pr_( (Tony Camuso) [1812922] - [char] pci:ipmi: Move IPMI PCI class id defines to pci_ids.h (Tony Camuso) [1812922] - [char] ipmi:powernv: Convert ipmi_smi_t to struct ipmi_smi (Tony Camuso) [1812922] - [fs] NFSv4 fix acl retrieval over krb5i/krb5p mounts (Steve Dickson) [1787627]- [fs] gfs2: Additional information when gfs2_ail1_flush withdraws (Robert S Peterson) [1752976] - [fs] gfs2: Fix lru_count going negative (Robert S Peterson) [1752976] - [fs] gfs2: allow journal replay to hold sd_log_flush_lock (Robert S Peterson) [1752976] - [fs] gfs2: don't allow releasepage to free bd still used for revokes (Robert S Peterson) [1752976] - [fs] gfs2: clean up iopen glock mess in gfs2_create_inode (Robert S Peterson) [1752976] - [fs] gfs2: flesh out delayed withdraw for gfs2_log_flush (Robert S Peterson) [1752976] - [fs] gfs2: Fix incorrect variable name (Robert S Peterson) [1752976] - [fs] gfs2: Do proper error checking for go_sync family of glops functions (Robert S Peterson) [1752976] - [fs] gfs2: Don't demote a glock until its revokes are written (Robert S Peterson) [1752976] - [fs] gfs2: drain the ail2 list after io errors (Robert S Peterson) [1752976] - [fs] gfs2: Withdraw in gfs2_ail1_flush if write_cache_pages fails (Robert S Peterson) [1752976] - [fs] gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty (Robert S Peterson) [1752976] - [fs] gfs2: Check for log write errors before telling dlm to unlock (Robert S Peterson) [1752976] - [fs] gfs2: Prepare to withdraw as soon as an IO error occurs in log write (Robert S Peterson) [1752976] - [fs] gfs2: Issue revokes more intelligently (Robert S Peterson) [1752976] - [fs] gfs2: Add verbose option to check_journal_clean (Robert S Peterson) [1752976] - [fs] gfs2: fix infinite loop when checking ail item count before go_inval (Robert S Peterson) [1752976] - [fs] gfs2: Force withdraw to replay journals and wait for it to finish (Robert S Peterson) [1752976] - [fs] gfs2: Allow some glocks to be used during withdraw (Robert S Peterson) [1752976] - [fs] gfs2: move check_journal_clean to util.c for future use (Robert S Peterson) [1752976] - [fs] gfs2: Ignore dlm recovery requests if gfs2 is withdrawn (Robert S Peterson) [1752976] - [fs] gfs2: Only complain the first time an io error occurs in quota or log (Robert S Peterson) [1752976] - [fs] gfs2: log error reform (Robert S Peterson) [1752976] - [fs] gfs2: Rework how rgrp buffer_heads are managed (Robert S Peterson) [1752976] - [fs] gfs2: clear ail1 list when gfs2 withdraws (Robert S Peterson) [1752976] - [fs] gfs2: Introduce concept of a pending withdraw (Robert S Peterson) [1752976] - [fs] gfs2: Return bool from gfs2_assert functions (Robert S Peterson) [1752976] - [fs] gfs2: Turn gfs2_consist into void functions (Robert S Peterson) [1752976] - [fs] gfs2: Remove usused cluster_wide arguments of gfs2_consist functions (Robert S Peterson) [1752976] - [fs] gfs2: Report errors before withdraw (Robert S Peterson) [1752976] - [fs] gfs2: Split gfs2_lm_withdraw into two functions (Robert S Peterson) [1752976] - [fs] gfs2: Fix possible fs name overflows (Robert S Peterson) [1752976] - [fs] gfs2: Remove active journal side effect from gfs2_write_log_header (Robert S Peterson) [1752976] - [fs] gfs2: Don't loop forever in gfs2_freeze if withdrawn (Robert S Peterson) [1752976] - [fs] gfs2: fix infinite loop in gfs2_ail1_flush on io error (Robert S Peterson) [1752976] - [fs] gfs2: Introduce function gfs2_withdrawn (Robert S Peterson) [1752976] - [fs] gfs2: fix glock reference problem in gfs2_trans_add_unrevoke (Robert S Peterson) [1752976] - [fs] gfs2: make gfs2_log_shutdown static (Robert S Peterson) [1752976] - [fs] gfs2: replace more printk with calls to fs_info and friends (Robert S Peterson) [1752976] - [fs] gfs2: dump fsid when dumping glock problems (Robert S Peterson) [1752976] - [fs] gfs2: simplify gfs2_freeze by removing case (Robert S Peterson) [1752976] - [fs] gfs2: Rename SDF_SHUTDOWN to SDF_WITHDRAWN (Robert S Peterson) [1752976] - [fs] gfs2: Warn when a journal replay overwrites a rgrp with buffers (Robert S Peterson) [1752976] - [fs] gfs2: log which portion of the journal is replayed (Robert S Peterson) [1752976] - [fs] gfs2: kthread and remount improvements (Robert S Peterson) [1752976] - [fs] gfs2: Fix occasional glock use-after-free (Robert S Peterson) [1752976] - [fs] gfs2: Rename sd_log_le_{revoke,ordered} (Robert S Peterson) [1724769] - [watchdog] watchdog: make nowayout sysfs file writable (David Arcari) [1802742] - [watchdog] watchdog: prevent deferral of watchdogd wakeup on RT (David Arcari) [1802742] - [watchdog] watchdog: Fix the race between the release of watchdog_core_data and cdev (David Arcari) [1802742] - [watchdog] watchdog: convert remaining drivers to use SPDX license identifier (David Arcari) [1802742] - [watchdog] watchdog: make the device time out at open_deadline when open_timeout is used (David Arcari) [1802742] - [watchdog] watchdog: introduce CONFIG_WATCHDOG_OPEN_TIMEOUT (David Arcari) [1802742] - [watchdog] watchdog: introduce watchdog.open_timeout commandline parameter (David Arcari) [1802742] - [watchdog] watchdog: let core print error message when registering device fails (David Arcari) [1802742] - [watchdog] watchdog: make watchdog_deferred_registration_add() void (David Arcari) [1802742] - [watchdog] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (David Arcari) [1802742] - [watchdog] watchdog: add error messages when initializing timeout fails (David Arcari) [1802742] - [watchdog] watchdog: refactor watchdog_init_timeout (David Arcari) [1802742] - [watchdog] watchdog: core: fix null pointer dereference when releasing cdev (David Arcari) [1802742] - [x86] x86/ioapic: Prevent inconsistent state when moving an interrupt (Prarit Bhargava) [1810236] - [x86] x86/fpu: Don't cache access to fpu_fpregs_owner_ctx (Prarit Bhargava) [1810236] - [lib] lib/ubsan: don't serialize UBSAN report (Prarit Bhargava) [1810243] - [lib] ubsan, x86: Annotate and allow __ubsan_handle_shift_out_of_bounds() in uaccess regions (Prarit Bhargava) [1810243] - [kernel] workqueue: Fix pwq ref leak in rescuer_thread() (Prarit Bhargava) [1810243] - [kernel] workqueue: Fix missing kfree(rescuer) in destroy_workqueue() (Prarit Bhargava) [1810243] - [kernel] workqueue: Fix spurious sanity check failures in destroy_workqueue() (Prarit Bhargava) [1810243] - [include] hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD (Prarit Bhargava) [1810243] - [kernel] genirq: Force interrupt threading on RT (Prarit Bhargava) [1810243] - [include] hrtimer: Introduce HARD expiry mode (Prarit Bhargava) [1810243] - [kernel] workqueue: Remove GPF argument from alloc_workqueue_attrs() (Prarit Bhargava) [1810243] - [kernel] workqueue: Make alloc/apply/free_workqueue_attrs() static (Prarit Bhargava) [1810243] - [tools] objtool: Add UACCESS validation (Prarit Bhargava) [1810243] - [tools] objtool: Handle function aliases (Prarit Bhargava) [1810243] - [lib] ubsan: build ubsan.c more conservatively (Prarit Bhargava) [1810243] - [lib] x86/uaccess, ubsan: Fix UBSAN vs. SMAP (Prarit Bhargava) [1810243] - [tools] objtool: Rewrite alt->skip_orig (Prarit Bhargava) [1810243] - [fs] dlm: Don't swamp the CPU with callbacks queued during recovery (Robert S Peterson) [1752976] - [nvme] nvmet: update AEN list and array at one place (Gopal Tiwari) [1781927] - [nvme] nvmet: Fix controller use after free (Gopal Tiwari) [1781927] - [nvme] nvmet: Fix error print message at nvmet_install_queue function (Gopal Tiwari) [1781927] - [nvme] nvme-pci: remove nvmeq->tags (Gopal Tiwari) [1781927] - [nvme] nvmet: fix dsm failure when payload does not match sgl descriptor (Gopal Tiwari) [1781927] - [nvme] nvme: hwmon: switch to use helpers (Gopal Tiwari) [1781927] - [nvme] nvmet: fix per feat data len for get_feature (Gopal Tiwari) [1781927] - [nvme] nvme/pci: Fix read queue count (Gopal Tiwari) [1781927] - [nvme] nvme/pci Limit write queue sizes to possible cpus (Gopal Tiwari) [1781927] - [nvme] nvme/pci: Fix write and poll queue types (Gopal Tiwari) [1781927] - [nvme] nvme/pci: Remove last_cq_head (Gopal Tiwari) [1781927] - [nvme] nvme: Namepace identification descriptor list is optional (Gopal Tiwari) [1781927] - [nvme] Revert "nvme: Add quirk for Kingston NVME SSD running FW E8FK11.T" (Gopal Tiwari) [1781927] - [nvme] nvme: else following return is not needed (Gopal Tiwari) [1781927] - [nvme] nvme: add error message on mismatching controller ids (Gopal Tiwari) [1781927] - [nvme] nvme_fc: add module to ops template to allow module references (Gopal Tiwari) [1781927] - [nvme] nvmet-loop: Avoid preallocating big SGL for data (Gopal Tiwari) [1781927] - [nvme] nvme-fc: Avoid preallocating big SGL for data (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: Avoid preallocating big SGL for data (Gopal Tiwari) [1781927] - [nvme] nvme: hwmon: add quirk to avoid changing temperature threshold (Gopal Tiwari) [1781927] - [nvme] nvme: hwmon: provide temperature min and max values for each sensor (Gopal Tiwari) [1781927] - [nvme] nvme: Discard workaround for non-conformant devices (Gopal Tiwari) [1781927] - [nvme] nvme: Add hardware monitoring support (Gopal Tiwari) [1781927] - [nvme] nvme-multipath: fix crash in nvme_mpath_clear_ctrl_paths (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: fix a segmentation fault during module unload (Gopal Tiwari) [1781927] - [nvme] nvmet: clean up command parsing a bit (Gopal Tiwari) [1781927] - [nvme] nvmet: fill discovery controller sn, fr and mn correctly (Gopal Tiwari) [1781927] - [nvme] nvmet: Open code nvmet_req_execute() (Gopal Tiwari) [1781927] - [nvme] nvmet: Remove the data_len field from the nvmet_req struct (Gopal Tiwari) [1781927] - [nvme] nvmet: add plugging for read/write when ns is bdev (Gopal Tiwari) [1781927] - [nvme] nvmet: stop using bio_set_op_attrs (Gopal Tiwari) [1781927] - [nvme] nvmet: Introduce nvmet_dsm_len() helper (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Spelling s/resdicovered/rediscovered/ (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: Don't check data_len in nvmet_tcp_map_data() (Gopal Tiwari) [1781927] - [nvme] nvme: Introduce nvme_lba_to_sect() (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: Don't set the request's data_len (Gopal Tiwari) [1781927] - [nvme] nvmet: Cleanup discovery execute handlers (Gopal Tiwari) [1781927] - [nvme] nvmet-rdma: add unlikely check at nvmet_rdma_map_sgl_keyed (Gopal Tiwari) [1781927] - [nvme] nvme: Cleanup and rename nvme_block_nr() (Gopal Tiwari) [1781927] - [nvme] nvme: introduce "Command Aborted By host" status code (Gopal Tiwari) [1781927] - [nvme] nvmet: Introduce common execute function for get_log_page and identify (Gopal Tiwari) [1781927] - [nvme] nvme: move common call to nvme_cleanup_cmd to core layer (Gopal Tiwari) [1781927] - [nvme] nvmet: add unlikely check at nvmet_req_alloc_sgl (Gopal Tiwari) [1781927] - [nvme] nvme-fc: ensure association_id is cleared regardless of a Disconnect LS (Gopal Tiwari) [1781927] - [nvme] nvme-fc: clarify error messages (Gopal Tiwari) [1781927] - [nvme] nvme: introduce nvme_is_aen_req function (Gopal Tiwari) [1781927] - [nvme] nvme-fc and nvmet-fc: sync with FC-NVME-2 header changes (Gopal Tiwari) [1781927] - [nvme] nvmet: use bio_io_error instead of duplicating it (Gopal Tiwari) [1781927] - [nvme] nvme-fc: Set new cmd set indicator in nvme-fc cmnd iu (Gopal Tiwari) [1781927] - [nvme] nvme-multipath: remove unused groups_only mode in ana log (Gopal Tiwari) [1781927] - [nvme] nvme-multipath: fix possible io hang after ctrl reconnect (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: fix possible leakage during error flow (Gopal Tiwari) [1781927] - [nvme] nvmet-loop: fix possible leakage during error flow (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: Initialize sk->sk_ll_usec only with NET_RX_BUSY_POLL (Gopal Tiwari) [1781927] - [nvme] nvme: Wait for reset state when required (Gopal Tiwari) [1781927] - [nvme] nvme: Prevent resets during paused controller state (Gopal Tiwari) [1781927] - [nvme] nvme: Restart request timers in resetting state (Gopal Tiwari) [1781927] - [nvme] nvme: Remove ADMIN_ONLY state (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Free tagset if no IO queues (Gopal Tiwari) [1781927] - [nvme] nvme: fix possible deadlock when nvme_update_formats fails (Gopal Tiwari) [1781927] - [include] nvme-fc: Sync nvme-fc header to FC-NVME-2 (Gopal Tiwari) [1781927] - [nvme] nvme: retain split access workaround for capability reads (Gopal Tiwari) [1781927] - [nvme] nvme: Move ctrl sqsize to generic space (Gopal Tiwari) [1781927] - [nvme] nvme: Add ctrl attributes for queue_count and sqsize (Gopal Tiwari) [1781927] - [nvme] nvme: allow 64-bit results in passthru commands (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: Fix max_hw_sectors calculation (Gopal Tiwari) [1781927] - [nvme] Added QUIRKs for ADATA XPG SX8200 Pro 512GB (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: fix wrong stop condition in io_work (Gopal Tiwari) [1781927] - [nvme] nvme: fix an error code in nvme_init_subsystem() (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: remove superflous check on request sgl (Gopal Tiwari) [1781927] - [nvme] nvme: Add quirk for Kingston NVME SSD running FW E8FK11.T (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Fix a race in controller removal (Gopal Tiwari) [1781927] - [nvme] nvmet: change ppl to lpp (Gopal Tiwari) [1781927] - [nvme] nvme: add uevent variables for controller devices (Gopal Tiwari) [1781927] - [nvme] nvme: Remove redundant assignment of cq vector (Gopal Tiwari) [1781927] - [nvme] nvme: enable aen regardless of the presence of I/O queues (Gopal Tiwari) [1781927] - [nvme] nvme: send discovery log page change events to userspace (Gopal Tiwari) [1781927] - [nvme] nvme: Assign subsys instance from first ctrl (Gopal Tiwari) [1781927] - [nvme] nvmet: fix a wrong error status returned in error log page (Gopal Tiwari) [1781927] - [nvme] nvme: tcp: remove redundant assignment to variable ret (Gopal Tiwari) [1781927] - [nvme] nvme-fabrics: allow discovery subsystems accept a kato (Gopal Tiwari) [1781927] - [nvme] nvmet: Use PTR_ERR_OR_ZERO() in nvmet_init_discovery() (Gopal Tiwari) [1781927] - [nvme] nvme: Treat discovery subsystems as unique subsystems (Gopal Tiwari) [1781927] - [nvme] nvme-fc: Fail transport errors with NVME_SC_HOST_PATH (Gopal Tiwari) [1781927] - [nvme] nvme: make nvme_report_ns_ids propagate error back (Gopal Tiwari) [1781927] - [nvme] nvme: pass status to nvme_error_status (Gopal Tiwari) [1781927] - [nvme] nvme: fix ns removal hang when failing to revalidate due to a transient error (Gopal Tiwari) [1781927] - [nvme] nvme: make nvme_identify_ns propagate errors back (Gopal Tiwari) [1781927] - [nvme] nvme: fail cancelled commands with NVME_SC_HOST_PATH_ERROR (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: fail command with NVME_SC_HOST_PATH_ERROR send failed (Gopal Tiwari) [1781927] - [nvme] nvme: include admin_q sync with nvme_sync_queues (Gopal Tiwari) [1781927] - [nvme] nvme-fc: Use rq_dma_dir macro (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: Use rq_dma_dir macro (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: Add TOS for rdma transport (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Support shared tags across queues for Apple 2018 controllers (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Add support for Apple 2018+ models (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Add support for variable IO SQ element size (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: Add TOS for tcp transport (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: Use struct nvme_ctrl directly (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Pass the queue to SQ_SIZE/CQ_SIZE macros (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: Add TOS for tcp transport (Gopal Tiwari) [1781927] - [nvme] nvme: trace bio completion (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: fix possible NULL deref (Gopal Tiwari) [1781927] - [nvme] nvme: tcp: selects CRYPTO_CRC32C for nvme-tcp (Gopal Tiwari) [1781927] - [nvme] nvme-fabrics: Add type of service (TOS) configuration (Gopal Tiwari) [1781927] - [nvme] nvmet: trace: parse Get LBA Status command in detail (Gopal Tiwari) [1781927] - [nvme] nvmet: fix data units read and written counters in SMART log (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: fix possible memory leak (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: support simple polling (Gopal Tiwari) [1781927] - [nvme] nvme: trace: parse Get LBA Status command in detail (Gopal Tiwari) [1781927] - [include] nvme: add Get LBA Status command opcode (Gopal Tiwari) [1781927] - [nvme] nvme: move sqsize setting to the core (Gopal Tiwari) [1781927] - [nvme] nvme: don't pass cap to nvme_disable_ctrl (Gopal Tiwari) [1781927] - [nvme] nvme-pci: set ctrl sqsize to the device q_depth (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: cleanup nvme_tcp_recv_pdu (Gopal Tiwari) [1781927] - [nvme] nvme: have nvme_init_identify set ctrl->cap (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: Use protocol specific operations while reading socket (Gopal Tiwari) [1781927] - [nvme] nvme: Fix cntlid validation when not using NVMEoF (Gopal Tiwari) [1781927] - [infiniband] PCI/P2PDMA: Introduce pci_p2pdma_unmap_sg() (Gopal Tiwari) [1781927] - [nvme] PCI/P2PDMA: Add attrs argument to pci_p2pdma_map_sg() (Gopal Tiwari) [1781927] - [lightnvm] lightnvm: remove nvm_submit_io_sync_fn (Gopal Tiwari) [1781927] - [powerpc] xive: Discard ESB load value when interrupt is invalid (David Gibson) [1744408] - [documentation] kvm: ppc: book3s hv: xive: Allow userspace to set the # of VPs (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Make VP block size configurable (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Set kvm->arch.xive when VPs are allocated (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Compute the VP id in a common helper (David Gibson) [1744408] - [powerpc] xive: Implement get_irqchip_state method for XIVE to fix shutdown race (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Free escalation interrupts before disabling the VP (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Ensure VP isn't already in use (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: Fix regression on big endian hosts (David Gibson) [1725763] - [powerpc] 64s: Fix misleading SPR and timebase information (David Gibson) [1725763] - [powerpc] powernv: Add ultravisor message log interface (David Gibson) [1725763] - [powerpc] powernv/opal-msglog: Refactor memcons code (David Gibson) [1725763] - [powerpc] kvm: Use UV_RETURN ucall to return to ultravisor (David Gibson) [1725763] - [powerpc] powernv: Access LDBAR only if ultravisor disabled (David Gibson) [1725763] - [powerpc] powernv/idle: Fix restore of SPRN_LDBAR for POWER9 stop state (David Gibson) [1725763] - [powerpc] powernv/idle: Restore AMR/UAMOR/AMOR/IAMR after idle (David Gibson) [1725763] - [powerpc] 64s: Reimplement book3s idle code in C (David Gibson) [1725763] - [powerpc] revert "powerpc/powernv/idle: Restore IAMR after idle" (David Gibson) [1725763] - [powerpc] revert "powerpc/powernv/idle: Restore AMR/UAMOR/AMOR after idle" (David Gibson) [1725763] - [powerpc] mm: Write to PTCR only if ultravisor disabled (David Gibson) [1725763] - [powerpc] mm: Use UV_WRITE_PATE ucall to register a PATE (David Gibson) [1725763] - [powerpc] powernv: Introduce FW_FEATURE_ULTRAVISOR (David Gibson) [1725763] - [powerpc] kernel: Add ucall_norets() ultravisor call handler (David Gibson) [1725763] - [documentation] documentation/powerpc: Ultravisor API (David Gibson) [1725763] - [documentation] documentation/powerpc: Add ELF note documentation (David Gibson) [1725763] - [powerpc] Add PowerPC Capabilities ELF note (David Gibson) [1725763] - [netdrv] mlx5e: allow TSO on VXLAN over VLAN topologies (Davide Caratti) [1780643] - [net] bluetooth: Add debug setting for changing minimum encryption key size (Gopal Tiwari) [1764976] - [net] bluetooth: hidp: Let hidp_send_message return number of queued bytes (Gopal Tiwari) [1764976] - [net] bluetooth: 6lowpan: search for destination address in all peers (Gopal Tiwari) [1764976] - [net] bluetooth: 6lowpan: always check destination address (Gopal Tiwari) [1764976] - [net] bluetooth: 6lowpan: check neighbour table for SLAAC (Gopal Tiwari) [1764976] - [net] bluetooth: Add SMP workaround Microsoft Surface Precision Mouse bug (Gopal Tiwari) [1764976] - [net] bluetooth: Use controller sets when available (Gopal Tiwari) [1764976] - [net] bluetooth: l2cap: Check bearer type on __l2cap_global_chan_by_addr (Gopal Tiwari) [1764976] - [net] bluetooth: validate BLE connection interval updates (Gopal Tiwari) [1764976] - [net] bluetooth: Add support for LE ping feature (Gopal Tiwari) [1764976] - [net] bluetooth: Check state in l2cap_disconnect_rsp (Gopal Tiwari) [1764976] - [net] bluetooth: hidp: NUL terminate a string in the compat ioctl (Gopal Tiwari) [1764976] - [net] bluetooth: Ignore CC events not matching the last HCI command (Gopal Tiwari) [1764976] - [net] bluetooth: Align minimum encryption key size for LE and BR/EDR connections (Gopal Tiwari) [1764976] - [net] bluetooth: hci_core: Don't stop BT if the BD address missing in dts (Gopal Tiwari) [1764976] - [net] bluetooth: Use struct_size() helper (Gopal Tiwari) [1764976] - [net] bluetooth: Fix incorrect pointer arithmatic in ext_adv_report_evt (Gopal Tiwari) [1764976] - [net] bluetooth: hidp: fix buffer overflow (Gopal Tiwari) [1764976] - [net] bluetooth: Add return check for L2CAP security level set (Gopal Tiwari) [1764976] - [net] bluetooth: Fix not initializing L2CAP tx_credits (Gopal Tiwari) [1764976] - [net] bluetooth: Check address length before reading address field (Gopal Tiwari) [1764976] - [net] bluetooth: Add quirk for reading BD_ADDR from fwnode property (Gopal Tiwari) [1764976] - [net] bluetooth: mgmt: Use struct_size() helper (Gopal Tiwari) [1764976] - [net] bluetooth: a2mp: Use struct_size() helper (Gopal Tiwari) [1764976] - [net] bluetooth: hci_event: Use struct_size() helper (Gopal Tiwari) [1764976] - [net] bluetooth: Fix decrementing reference count twice in releasing socket (Gopal Tiwari) [1764976] - [net] bluetooth: make hw_err static, reduces object code size (Gopal Tiwari) [1764976] - [net] bluetooth: Allow driver specific cmd timeout handling (Gopal Tiwari) [1764976] - [net] bluetooth: Mark expected switch fall-throughs (Gopal Tiwari) [1764976] - [net] bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt (Gopal Tiwari) [1764976] - [net] Bluetooth: Fix locking in bt_accept_enqueue() for BH context (Gopal Tiwari) [1764976] - [net] bluetooth: 6lowpan: Fix debugfs_simple_attr.cocci warnings (Gopal Tiwari) [1764976] - [net] bluetooth: Fix unnecessary error message for HCI request completion (Gopal Tiwari) [1764976] - [net] bluetooth: clean an indentation issue, remove extraneous space (Gopal Tiwari) [1764976] - [net] bluetooth: Change to use DEFINE_SHOW_ATTRIBUTE macro (Gopal Tiwari) [1764976] - [net] bluetooth: Remove redundant check on status (Gopal Tiwari) [1764976] - [net] bluetooth: Errata Service Release 8, Erratum 3253 (Gopal Tiwari) [1764976] - [net] bluetooth: Use separate L2CAP LE credit based connection result values (Gopal Tiwari) [1764976] - [net] rfcomm: get rid of mentioning TIOC[SG]SERIAL (Gopal Tiwari) [1764976] - [net] bluetooth: Fix debugfs NULL pointer dereference (Gopal Tiwari) [1764976] - [net] bluetooth: l2cap: Detect if remote is not able to use the whole MPS (Gopal Tiwari) [1764976] - [net] bluetooth: l2cap: Derive rx credits from MTU and MPS (Gopal Tiwari) [1764976] - [net] bluetooth: l2cap: Derive MPS from connection MTU (Gopal Tiwari) [1764976] - [net] bluetooth: Add definitions and track LE resolve list modification (Gopal Tiwari) [1764976] - [net] bluetooth: Remove unnecessary smp_mb__{before, after}_atomic (Gopal Tiwari) [1764976] - [net] bluetooth: smp: fix crash in unpairing (Gopal Tiwari) [1764976] - [net] bluetooth: smp: Fix trying to use non-existent local OOB data (Gopal Tiwari) [1764976] - [net] bluetooth: Use correct tfm to generate OOB data (Gopal Tiwari) [1764976] - [net] hidp: fix compat_ioctl (Gopal Tiwari) [1764976] - [net] hidp: constify hidp_connection_add() (Gopal Tiwari) [1764976] - [net] cmtp: fix compat_ioctl (Gopal Tiwari) [1764976] - [net] bnep: fix compat_ioctl (Gopal Tiwari) [1764976] - [net] bluetooth: Add definitions for LE set address resolution (Gopal Tiwari) [1764976] - [net] bluetooth: remove redundant variables 'adv_set' and 'cp' (Gopal Tiwari) [1764976] - [net] bluetooth: hidp: Fix handling of strncpy for hid->name information (Gopal Tiwari) [1764976] - [net] bluetooth: Add new quirk for non-persistent setup settings (Gopal Tiwari) [1764976] - [net] bluetooth: Handle ADv set terminated event (Gopal Tiwari) [1764976] - [net] bluetooth: Implement secondary advertising on different PHYs (Gopal Tiwari) [1764976] - [net] bluetooth: Implement Set ADV set random address (Gopal Tiwari) [1764976] - [net] bluetooth: Implement disable and removal of adv instance (Gopal Tiwari) [1764976] - [net] bluetooth: Use ext adv for directed adv (Gopal Tiwari) [1764976] - [net] bluetooth: Implement PHY changed event (Gopal Tiwari) [1764976] - [net] bluetooth: Handle extended ADV PDU types (Gopal Tiwari) [1764976] - [net] bluetooth: Use Set ext adv/scan rsp data if controller supports (Gopal Tiwari) [1764976] - [net] bluetooth: Impmlement extended adv enable (Gopal Tiwari) [1764976] - [net] bluetooth: Define PHY flags in hdev and set 1M as default (Gopal Tiwari) [1764976] - [net] bluetooth: Read no of adv sets during init (Gopal Tiwari) [1764976] - [net] bluetooth: Implement Get PHY Configuration mgmt command (Gopal Tiwari) [1764976] - [net] bluetooth: Use selected PHYs in extended connect (Gopal Tiwari) [1764976] - [net] bluetooth: Set Scan PHYs based on selected PHYs by user (Gopal Tiwari) [1764976] - [net] bluetooth: Implement Set PHY Confguration command (Gopal Tiwari) [1764976] - [net] bluetooth: Add defines for BREDR pkt_type (Gopal Tiwari) [1764976] - [net] bluetooth: Use lock_sock_nested in bt_accept_enqueue (Gopal Tiwari) [1764976] - [net] bluetooth: avoid killing an already killed socket (Gopal Tiwari) [1764976] - [net] bluetooth: Use extended LE Connection if supported (Gopal Tiwari) [1764976] - [net] bluetooth: Introduce helpers for le conn status and complete (Gopal Tiwari) [1764976] - [net] bluetooth: Process extended ADV report event (Gopal Tiwari) [1764976] - [net] bluetooth: Use extended scanning if controller supports (Gopal Tiwari) [1764976] - [net] bluetooth: Introduce helpers for LE set scan start and complete (Gopal Tiwari) [1764976] - [net] bluetooth: Store Resolv list size (Gopal Tiwari) [1764976] - [net] bluetooth: Add HCI command for clear Resolv list (Gopal Tiwari) [1764976] - [leds] triggers: let struct (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Skip 1 error print in device_want_to_sleep() (Gopal Tiwari) [1764976] - [bluetooth] btqca: Reset download type to default (Gopal Tiwari) [1764976] - [bluetooth] btqca: release_firmware after qca_inject_cmd_complete_event (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Send VS pre shutdown command (Gopal Tiwari) [1764976] - [bluetooth] btqca: Use correct byte format for opcode of injected command (Gopal Tiwari) [1764976] - [bluetooth] btqca: Add a short delay before downloading the NVM (Gopal Tiwari) [1764976] - [bluetooth] btusb: Fix error return code in btusb_mtk_setup_firmware() (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Use kfree_skb() instead of kfree() (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add protocol support for MediaTek MT7663U USB devices (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add protocol support for MediaTek MT7668U USB devices (Gopal Tiwari) [1764976] - [bluetooth] Add new 13d3:3491 QCA_ROME device (Gopal Tiwari) [1764976] - [bluetooth] Add new 13d3:3501 QCA_ROME device (Gopal Tiwari) [1764976] - [bluetooth] hci_bcsp: Fix memory leak in rx_skb (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Add support for RTL8723DU (Gopal Tiwari) [1764976] - [bluetooth] btmtkuart: add an implementation for clock osc property (Gopal Tiwari) [1764976] - [bluetooth] btmtkuart: add an implementation for boot-gpios property (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add entry for BCM4359C0 UART bluetooth (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Load customized NVM based on the device property (Gopal Tiwari) [1764976] - [bluetooth] hci_mrvl: Add serdev support (Gopal Tiwari) [1764976] - [bluetooth] hci_mrvl: Wait for final ack before switching baudrate (Gopal Tiwari) [1764976] - [bluetooth] hci_ldisc: Add function to wait for characters to be sent (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: wcn3990: Drop baudrate change vendor event (Gopal Tiwari) [1764976] - [bluetooth] btqca: inject command complete event during fw download (Gopal Tiwari) [1764976] - [bluetooth] Cleanup formatting and coding style (Gopal Tiwari) [1764976] - [bluetooth] btrtl: HCI reset on close for Realtek BT chip (Gopal Tiwari) [1764976] - [bluetooth] hci_ll: Refactor download_firmware (Gopal Tiwari) [1764976] - [bluetooth] hci_ll: set operational frequency earlier (Gopal Tiwari) [1764976] - [bluetooth] btsdio: Do not bind to non-removable BCM4356 (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Rename STATE_ to QCA_ (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add default address for BCM2076B1 (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Added support for WCN3998 (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Fix crash with non-serdev devices (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Give enough time to ROME controller to bootup (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Fix empty regulator supplies for Intel Macs (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add entry for BCM2076B1 UART Bluetooth (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add default address for BCM43341B (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: add support for SD8987 chipset (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: Drop newline with bt_dev logging macros (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: Fix hdev->stat.byte_rx accumulation (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: Add runtime PM support to SDIO based Bluetooth (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: Add a bit definition for CHLPCR (Gopal Tiwari) [1764976] - [bluetooth] mediatek: Fixed incorrect type in assignment (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: fix spelling mistake "sliped" -> "slipped" (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: fix uninitialized symbol errors in btmtksdio_rx_packet (Gopal Tiwari) [1764976] - [bluetooth] mediatek: Use module_sdio_driver helper (Gopal Tiwari) [1764976] - [bluetooth] mediatek: add support for MediaTek MT7663S and MT7668S SDIO devices (Gopal Tiwari) [1764976] - [bluetooth] btqca: Fix misspelling of 'baudrate' (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add helper function to get the chip family (Gopal Tiwari) [1764976] - [bluetooth] btusb: request wake pin with NOAUTOEN (Gopal Tiwari) [1764976] - [bluetooth] mediatek: add support for MediaTek MT7663U and MT7668U UART devices (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Reduce delay after sending baudrate request for WCN3990 (Gopal Tiwari) [1764976] - [bluetooth] btusb: add QCA6174A compatible properties (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Use msleep() instead of open coding it (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add delay after power-off pulse (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Move boot delay to qca_send_power_pulse() (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Pass boolean 'on/off' to qca_send_power_pulse() (Gopal Tiwari) [1764976] - [bluetooth] btqcomsmd: use HCI_QUIRK_USE_BDADDR_PROPERTY (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Set HCI_QUIRK_USE_BDADDR_PROPERTY for wcn3990 (Gopal Tiwari) [1764976] - [bluetooth] hci_ldisc: Postpone HCI_UART_PROTO_READY bit set in hci_uart_set_proto() (Gopal Tiwari) [1764976] - [bluetooth] mediatek: update the common setup between MT7622 and other devices (Gopal Tiwari) [1764976] - [bluetooth] mediatek: pass a pointer to mtk_hci_wmt_sync (Gopal Tiwari) [1764976] - [bluetooth] mediatek: fix up an error path to restore bdev->tx_state (Gopal Tiwari) [1764976] - [bluetooth] mediatek: trivial typo fix (Gopal Tiwari) [1764976] - [bluetooth] hci_ldisc: Initialize hci_dev before open() (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Disable IBS state machine and flush Tx buffer (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Deassert RTS while baudrate change command (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: use wait_until_sent() for power pulses (Gopal Tiwari) [1764976] - [bluetooth] remove redundant zero check on count (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add shutdown routine for BTUSB_INTEL_NEW devices (Gopal Tiwari) [1764976] - [bluetooth] btusb: btusb_intel_cmd_timeout: use sleeping functions (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Restore old logic to assume firmware is already loaded (Gopal Tiwari) [1764976] - [bluetooth] btusb: Use the cmd_timeout method to reset the Intel BT chip (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: add support for sd8977 chipset (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: Drop unused GPIO includes (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: lower log level of informational message (Gopal Tiwari) [1764976] - [bluetooth] hci_uart: Check if socket buffer is ERR_PTR in h4_recv_buf() (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: improve printk messages (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add helper to set device address (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add entry for BCM4329B1 UART bluetooth (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Handle specific unknown packets after firmware loading (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Turn off RTL8723BS on suspend, reprobe on resume (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add suspend / resume ops (Gopal Tiwari) [1764976] - [bluetooth] hci_intel: clean an indentation issue, remove extraneous spaces (Gopal Tiwari) [1764976] - [bluetooth] hci_serdev: Remove setting of HCI_QUIRK_RESET_ON_CLOSE (Gopal Tiwari) [1764976] - [bluetooth] Remove unnecessary smp_mb__after_atomic() barriers (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Add BCM20702A1 variant (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Wait for device to come out of reset after power on (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Add support for regulator supplies (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Add compatible string for BCM4330 (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add default address for BCM43430A0 (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Add support for LPO clock (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Use "txco" and "extclk" to get clock reference (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Simplify clk_get error handling (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Handle deferred probing for the clock supply (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add support for controller debug logs (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add support for 0cf3:535b QCA_ROME device (Gopal Tiwari) [1764976] - [bluetooth] btsdio: Do not bind to non-removable BCM43430 (Gopal Tiwari) [1764976] - [bluetooth] ath3k: add more information to error message (Gopal Tiwari) [1764976] - [bluetooth] bt3c_cs: Fix obsolete function (Gopal Tiwari) [1764976] - [bluetooth] btrsi: fix bt tx timeout issue (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add entry for BCM4335C0 UART bluetooth (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Add support for RTL8822C with USB interface (Gopal Tiwari) [1764976] - [bluetooth] hci_serdev: Fixed error space required before open paranethesis (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add poweroff support during hci down for wcn3990 (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add quirk for BTUSB_INTEL_NEW (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Make array extension_sig static, shrinks object size (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Remove serdev_device_open/close function calls (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Remove hdev dereference in qca_close() (Gopal Tiwari) [1764976] - [bluetooth] hci_serdev: clear HCI_UART_PROTO_READY to avoid closing proto races (Gopal Tiwari) [1764976] - [bluetooth] hci_serdev: Add protocol check in hci_uart_dequeue() (Gopal Tiwari) [1764976] - [bluetooth] hci_ldisc: Free rw_semaphore on close (Gopal Tiwari) [1764976] - [bluetooth] mediatek: Fix memory leak (Gopal Tiwari) [1764976] - [bluetooth] Make BT_HCIUART_RTL configuration option depend on ACPI (Gopal Tiwari) [1764976] - [bluetooth] mediatek: pass correct size to h4_recv_buf() (Gopal Tiwari) [1764976] - [bluetooth] Introduce BT_HCIUART_RTL configuration option (Gopal Tiwari) [1764976] - [bluetooth] mediatek: Add protocol support for MediaTek serial devices (Gopal Tiwari) [1764976] - [bluetooth] btqca: Introduce HCI_EV_VENDOR and use it (Gopal Tiwari) [1764976] - [bluetooth] h5: Fix missing dependency on BT_HCIUART_SERDEV (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add support for Qualcomm Bluetooth chip wcn3990 (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Enable 3.2 Mbps operating speed (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add wrapper functions for setting UART speed (Gopal Tiwari) [1764976] - [bluetooth] btqca: Add wcn3990 firmware download support (Gopal Tiwari) [1764976] - [bluetooth] btqca: Redefine qca_uart_setup() to generic function (Gopal Tiwari) [1764976] - [bluetooth] btqca: Rename ROME specific functions to generic functions (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add support for enable and device-wake GPIOs (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add support for the RTL8723BS (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add vendor setup, open, and close callbacks (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add support for serdev enumerated devices (Gopal Tiwari) [1764976] - [bluetooth] btrtl: add support for retrieving the UART settings (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Use rtl_dev_err and rtl_dev_info (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Add support for a config filename postfix (Gopal Tiwari) [1764976] - [bluetooth] btrtl: add support for the RTL8723BS and RTL8723DS chips (Gopal Tiwari) [1764976] - [bluetooth] btrtl: add MODULE_FIRMWARE declarations (Gopal Tiwari) [1764976] - [bluetooth] btrtl: split the device initialization into smaller parts (Gopal Tiwari) [1764976] - [bluetooth] btusb: Release RF resource on BT shutdown (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Replace GFP_ATOMIC with GFP_KERNEL (Gopal Tiwari) [1764976] - [bluetooth] hci_intel: Replace GFP_ATOMIC with GFP_KERNEL in inject_cmd_complete() (Gopal Tiwari) [1764976] - [bluetooth] btusb: Replace GFP_ATOMIC with GFP_KERNEL in inject_cmd_complete() (Gopal Tiwari) [1764976] - [bluetooth] bfusb: Replace GFP_ATOMIC with GFP_KERNEL in bfusb_send_frame() (Gopal Tiwari) [1764976] - [bluetooth] bluecard_cs: Replace GFP_ATOMIC with GFP_KERNEL in bluecard_hci_set_baud_rate() (Gopal Tiwari) [1764976] - [bluetooth] bpa10x: Replace GFP_ATOMIC with GFP_KERNEL in bpa10x_send_frame() (Gopal Tiwari) [1764976] - [bluetooth] btmrvl_sdio: Replace GFP_ATOMIC with GFP_KERNEL in btmrvl_sdio_card_to_host() (Gopal Tiwari) [1764976] - [bluetooth] btusb: use irqsave() in URB's complete callback (Gopal Tiwari) [1764976] - [bluetooth] Add a new Realtek 8723DE ID 0bda:b009 (Gopal Tiwari) [1764976]- Revert "[redhat] switch secureboot kernel image signing to release keys" (Frantisek Hrbata) - [powerpc] powerpc/pseries: Avoid NULL pointer dereference when drmem is unavailable (David Hildenbrand) [1812874] - [x86] kvm/svm: PKU not currently supported (Wei Huang) [1789159] - [x86] Remove the unsupported check for Cooper Lake (David Arcari) [1813921]- [netdrv] net/mlx5e: Show/set Rx network flow classification rules on ul rep (Alaa Hleihel) [1795156 1794280] - [netdrv] net/mlx5e: Init ethtool steering for representors (Alaa Hleihel) [1795156 1794280] - [netdrv] net/mlx5e: Show/set Rx flow indir table and RSS hash key on ul rep (Alaa Hleihel) [1795156 1794280] - [netdrv] net/mlx5e: Introduce root ft concept for representors netdevs (Alaa Hleihel) [1795156 1794280] - [netdrv] net/mlx5: E-Switch, Use vport metadata matching only when mandatory (Alaa Hleihel) [1795156] - [nvme] nvme: log additional message for controller status (David Milburn) [1752952]- [powerpc] powerpc: fix hardware PMU exception bug on PowerVM compatibility mode systems (Desnes Augusto Nunes do Rosario) [1755221] - [mm] powerpc/book3s64/radix: Remove WARN_ON in destroy_context() (Steve Best) [1812821] - [kernel] rcutorture: Upper case solves the case of the vanishing NULL pointer (Waiman Long) [1810247] - [tools] torture: Suppress propagating trace_printk() warning (Waiman Long) [1810247] - [kernel] rcutorture: Dump trace buffer for callback pipe drain failures (Waiman Long) [1810247] - [tools] torture: Add --trust-make to suppress "make clean" (Waiman Long) [1810247] - [tools] torture: Make --cpus override idleness calculations (Waiman Long) [1810247] - [tools] torture: Run kernel build in source directory (Waiman Long) [1810247] - [tools] torture: Add function graph-tracing cheat sheet (Waiman Long) [1810247] - [tools] torture: Capture qemu output (Waiman Long) [1810247] - [tools] rcutorture: Tweak kvm options (Waiman Long) [1810247] - [kernel] rcutorture: Add trivial RCU implementation (Waiman Long) [1810247] - [kernel] rcutorture: Halt forward-progress checks at end of run (Waiman Long) [1810247] - [kernel] rcutorture: Give the scheduler a chance on PREEMPT && NO_HZ_FULL kernels (Waiman Long) [1810247] - [tools] rcutorture: Exempt TREE01 from forward-progress testing (Waiman Long) [1810247] - [kernel] rcutorture: Exempt tasks RCU from timely draining of grace periods (Waiman Long) [1810247] - [tools] rcutorture: Provide rudimentary Makefile (Waiman Long) [1810247] - [tools] torture: Make kvm-find-errors.sh and kvm-recheck.sh provide exit status (Waiman Long) [1810247] - [kernel] torture: Allow inter-stutter interval to be specified (Waiman Long) [1810247] - [kernel] rcutorture: Fix stutter_wait() return value and freelist checks (Waiman Long) [1810247] - [kernel] rcutorture: Add cond_resched() to forward-progress free-up loop (Waiman Long) [1810247] - [tools] rcutorture: Add cpu0 to the set of CPUs to add jitter (Waiman Long) [1810247] - [tools] rcutorture: Select from only online CPUs (Waiman Long) [1810247] - [kernel] rcu/sync: Simplify the state machine (Waiman Long) [1810247] - [kernel] locking/percpu-rwsem: Add DEFINE_PERCPU_RWSEM(), use it to initialize cgroup_threadgroup_rwsem (Waiman Long) [1810247] - [kernel] rcu/sync: Kill rcu_sync_type/gp_type (Waiman Long) [1810247] - [kernel] rcu: Make __call_srcu static (Waiman Long) [1810247] - [kernel] rcu: Upgrade sync_exp_work_done() to smp_mb() (Waiman Long) [1810247] - [documentation] doc: Remove ".vnet" from paulmck email addresses (Waiman Long) [1810247] - [kernel] rcu: Set a maximum limit for back-to-back callback invocation (Waiman Long) [1810247] - [kernel] rcu: Correctly unlock root node in rcu_check_gp_start_stall() (Waiman Long) [1810247] - [kernel] rcu: Dump specified number of blocked tasks (Waiman Long) [1810247] - [kernel] rcu: Remove unused rdp local from synchronize_rcu_expedited() (Waiman Long) [1810247] - [kernel] rcu: Rename rcu_data's ->deferred_qs to ->exp_deferred_qs (Waiman Long) [1810247] - [kernel] rcu: Add checks for dynticks counters in rcu_is_cpu_rrupt_from_idle() (Waiman Long) [1810247] - [kernel] rcu: Avoid self-IPI in sync_sched_exp_online_cleanup() (Waiman Long) [1810247] - [kernel] rcu: Avoid self-IPI in sync_rcu_exp_select_node_cpus() (Waiman Long) [1810247] - [kernel] rcu: Inline invoke_rcu_callbacks() into its sole remaining caller (Waiman Long) [1810247] - [kernel] rcu: Use irq_work to get scheduler's attention in clean context (Waiman Long) [1810247] - [kernel] rcu: Allow rcu_read_unlock_special() to raise_softirq() if in_irq() (Waiman Long) [1810247] - [kernel] rcu: Only do rcu_read_unlock_special() wakeups if expedited (Waiman Long) [1810247] - [kernel] rcu: Check for wakeup-safe conditions in rcu_read_unlock_special() (Waiman Long) [1810247] - [kernel] rcu: Enable elimination of Tree-RCU softirq processing (Waiman Long) [1810247] - [kernel] rcuperf: Fix cleanup path for invalid perf_type strings (Waiman Long) [1810247] - [kernel] rcutorture: Fix cleanup path for invalid torture_type strings (Waiman Long) [1810247] - [kernel] rcutorture: Fix expected forward progress duration in OOM notifier (Waiman Long) [1810247] - [kernel] rcutorture: Remove ->ext_irq_conflict field (Waiman Long) [1810247] - [kernel] rcutorture: Make rcutorture_extend_mask() comment match the code (Waiman Long) [1810247] - [tools] tools/.../rcutorture: Convert to SPDX license identifier (Waiman Long) [1810247] - [kernel] torture: Don't try to offline the last CPU (Waiman Long) [1810247] - [kernel] rcu: Fix nohz status in stall warning (Waiman Long) [1810247] - [kernel] rcu: Move forward-progress checkers into tree_stall.h (Waiman Long) [1810247] - [kernel] rcu: Move irq-disabled stall-warning checking to tree_stall.h (Waiman Long) [1810247] - [kernel] rcu: Organize functions in tree_stall.h (Waiman Long) [1810247] - [kernel] rcu: Move FAST_NO_HZ stall-warning code to tree_stall.h (Waiman Long) [1810247] - [kernel] rcu: Inline RCU stall-warning info helper functions (Waiman Long) [1810247] - [kernel] rcu: Move rcu_print_task_exp_stall() to tree_exp.h (Waiman Long) [1810247] - [kernel] rcu: Inline RCU task stall-warning helper functions (Waiman Long) [1810247] - [kernel] rcu: Move RCU CPU stall-warning code out of tree.c (Waiman Long) [1810247] - [kernel] rcu: Move RCU CPU stall-warning code out of tree_plugin.h (Waiman Long) [1810247] - [kernel] rcu: Move RCU CPU stall-warning code out of update.c (Waiman Long) [1810247] - [kernel] srcu: Remove cleanup_srcu_struct_quiesced() (Waiman Long) [1810247] - [kernel] srcu: Check for in-flight callbacks in _cleanup_srcu_struct() (Waiman Long) [1810247] - [kernel] rcu: Correct READ_ONCE()/WRITE_ONCE() for ->rcu_read_unlock_special (Waiman Long) [1810247] - [kernel] rcu: Fix typo in tree_exp.h comment (Waiman Long) [1810247] - [kernel] rcu: Eliminate redundant NULL-pointer check (Waiman Long) [1810247] - [kernel] rcu: Fix force_qs_rnp() header comment (Waiman Long) [1810247] - [kernel] rcu: Update jiffies_to_sched_qs and adjust_jiffies_till_sched_qs() comments (Waiman Long) [1810247] - [kernel] rcu: Do a single rhp->func read in rcu_head_after_call_rcu() (Waiman Long) [1810247] - [kernel] rcu: Default jiffies_to_sched_qs to jiffies_till_sched_qs (Waiman Long) [1810247] - [kernel] rcu: Fix self-wakeups for grace-period kthread (Waiman Long) [1810247] - [kernel] rcu: Report error for bad rcu_nocbs= parameter values (Waiman Long) [1810247] - [kernel] rcu: Allow rcu_nocbs= to specify all CPUs (Waiman Long) [1810247] - [kernel] rcu: Move common code out of if-else block (Waiman Long) [1810247] - [kernel] rcu: Set rcutree.kthread_prio sysfs access to read-only (Waiman Long) [1810247] - [kernel] rcu: Make exit_rcu() handle non-preempted RCU readers (Waiman Long) [1810247] - [kernel] rcu: rcu_qs -- Use raise_softirq_irqoff to not save irqs twice (Waiman Long) [1810247] - [kernel] rcu: Avoid unnecessary softirq when system is idle (Waiman Long) [1810247] - [kernel] rcu: Unconditionally expedite during suspend/hibernate (Waiman Long) [1810247] - [kernel] rcu/tree: Convert to SPDX license identifier (Waiman Long) [1810247] - [kernel] srcu: Remove srcu_queue_delayed_work_on() (Waiman Long) [1810247] - [kernel] sched/fair: Define sched_idle_cpu() only for SMP configurations (Phil Auld) [1419746] - [kernel] sched/fair: Load balance aggressively for SCHED_IDLE CPUs (Phil Auld) [1419746] - [kernel] sched/fair : Improve update_sd_pick_busiest for spare capacity case (Phil Auld) [1419746] - [kernel] sched/fair: Fix find_idlest_group() to handle CPU affinity (Phil Auld) [1419746] - [kernel] sched/cfs: fix spurious active migration (Phil Auld) [1419746] - [kernel] sched/fair: Add comments for group_type and balancing at SD_NUMA level (Phil Auld) [1419746] - [kernel] sched/fair: Fix rework of find_idlest_group() (Phil Auld) [1419746] - [kernel] sched/fair: Rework find_idlest_group() (Phil Auld) [1419746] - [kernel] sched/fair: Optimize find_idlest_group() (Phil Auld) [1419746] - [kernel] sched/fair: Use load instead of runnable load in wakeup path (Phil Auld) [1419746] - [kernel] sched/fair: Use utilization to select misfit task (Phil Auld) [1419746] - [kernel] sched/fair: Spread out tasks evenly when not overloaded (Phil Auld) [1419746] - [kernel] sched/fair: Use load instead of runnable load in load_balance() (Phil Auld) [1419746] - [kernel] sched/fair: Use rq->nr_running when balancing load (Phil Auld) [1419746] - [kernel] sched/fair: Rework load_balance() (Phil Auld) [1419746] - [kernel] sched/fair: Remove meaningless imbalance calculation (Phil Auld) [1419746] - [kernel] sched/fair: Rename sg_lb_stats::sum_nr_running to sum_h_nr_running (Phil Auld) [1419746] - [kernel] sched/fair: Clean up asym packing (Phil Auld) [1419746] - [kernel] sched/fair: Fall back to sched-idle CPU if idle CPU isn't found (Phil Auld) [1419746] - [kernel] sched/fair: Start tracking SCHED_IDLE tasks count in cfs_rq (Phil Auld) [1419746] - [kernel] sched/core: Allow sched_setattr() to use the current policy (Phil Auld) [1419746] - [kernel] sched/fair: Introduce fits_capacity() (Phil Auld) [1419746] - [kernel] sched/core: Provide a pointer to the valid CPU mask (Phil Auld) [1419746] - [x86] x86/percpu: Optimize raw_cpu_xchg() (Phil Auld) [1419746] - [kernel] x86/percpu, sched/fair: Avoid local_clock() (Phil Auld) [1419746] - [x86] x86/percpu, x86/irq: Relax {set,get}_irq_regs() (Phil Auld) [1419746] - [x86] x86/percpu: Relax smp_processor_id() (Phil Auld) [1419746] - [x86] x86/percpu: Differentiate this_cpu_{}() and __this_cpu_{}() (Phil Auld) [1419746] - [kernel] sched/fair: Fix unnecessary increase of balance interval (Phil Auld) [1419746] - [kernel] sched/fair: Trigger asym_packing during idle load balance (Phil Auld) [1419746] - [kernel] sched/fair: Fix rounding bug for asym packing (Phil Auld) [1419746] - [kernel] sched/fair: Fix warning on non-SMP build (Phil Auld) [1419746] - [kernel] sched/core: Create task_has_idle_policy() helper (Phil Auld) [1419746] - [firmware] efi: fix a mistype in comments mentioning efivar_entry_iter_begin() (Vladis Dronov) [1804417] - [firmware] efi: add a sanity check to efivar_store_raw() (Vladis Dronov) [1804417] - [firmware] efi: fix a race and a buffer overflow while reading efivars via sysfs (Vladis Dronov) [1804417] - [scsi] scsi: ibmvfc: Fix NULL return compiler warning (Steve Best) [1810653] - [scsi] scsi: ibmvfc: Avoid loss of all paths during SVC node reboot (Steve Best) [1810653] - [fs] xfs: fix some memory leaks in log recovery (Bill O'Donnell) [1765693] - [fs] xfs: Fix deadlock between AGI and AGF when target_ip exists in xfs_rename() (Bill O'Donnell) [1765693] - [fs] xfs: fix inode fork extent count overflow (Bill O'Donnell) [1765693] - [fs] xfs: change the seconds fields in xfs_bulkstat to signed (Bill O'Donnell) [1765693] - [fs] xfs: assure zeroed memory buffers for certain kmem allocations (Bill O'Donnell) [1765693] - [fs] xfs: removed unused error variable from xchk_refcountbt_rec (Bill O'Donnell) [1765693] - [fs] xfs: remove unused flags arg from xfs_get_aghdr_buf() (Bill O'Donnell) [1765693] - [fs] xfs: Fix tail rounding in xfs_alloc_file_space() (Bill O'Donnell) [1765693] - [fs] xfs: remove unlikely() from WARN_ON() condition (Bill O'Donnell) [1765693] - [fs] xfs: avoid unused to_mp() function warning (Bill O'Donnell) [1765693] - [fs] xfs: log proper length of superblock (Bill O'Donnell) [1765693] - [fs] xfs: revert 1baa2800e62d ("xfs: remove the unused XFS_ALLOC_USERDATA flag") (Bill O'Donnell) [1765693] - [fs] xfs: removed unneeded variable (Bill O'Donnell) [1765693] - [fs] xfs: push the grant head when the log head moves forward (Bill O'Donnell) [1765693] - [fs] xfs: push iclog state cleaning into xlog_state_clean_log (Bill O'Donnell) [1765693] - [fs] xfs: factor iclog state processing out of xlog_state_do_callback() (Bill O'Donnell) [1765693] - [fs] xfs: factor callbacks out of xlog_state_do_callback() (Bill O'Donnell) [1765693] - [fs] xfs: factor debug code out of xlog_state_do_callback() (Bill O'Donnell) [1765693] - [fs] xfs: prevent CIL push holdoff in log recovery (Bill O'Donnell) [1765693] - [fs] xfs: fix missed wakeup on l_flush_wait (Bill O'Donnell) [1765693] - [fs] xfs: push the AIL in xlog_grant_head_wake (Bill O'Donnell) [1765693] - [fs] xfs: Use WARN_ON_ONCE for bailout mount-operation (Bill O'Donnell) [1765693] - [fs] xfs: define a flags field for the AG geometry ioctl structure (Bill O'Donnell) [1765693] - [fs] xfs: add a xfs_valid_startblock helper (Bill O'Donnell) [1765693] - [fs] xfs: remove the unused XFS_ALLOC_USERDATA flag (Bill O'Donnell) [1765693] - [fs] xfs: cleanup xfs_fsb_to_db (Bill O'Donnell) [1765693] - [fs] xfs: fix the dax supported check in xfs_ioctl_setattr_dax_invalidate (Bill O'Donnell) [1765693] - [fs] xfs: Fix stale data exposure when readahead races with hole punch (Bill O'Donnell) [1765693] - [mm] fs: Export generic_fadvise() (Bill O'Donnell) [1765693] - [fs] xfs: reverse search directory freespace indexes (Bill O'Donnell) [1765693] - [fs] xfs: speed up directory bestfree block scanning (Bill O'Donnell) [1765693] - [fs] xfs: factor free block index lookup from xfs_dir2_node_addname_int() (Bill O'Donnell) [1765693] - [fs] xfs: factor data block addition from xfs_dir2_node_addname_int() (Bill O'Donnell) [1765693] - [fs] xfs: move xfs_dir2_addname() (Bill O'Donnell) [1765693] - [fs] xfs: remove all *_ITER_CONTINUE values (Bill O'Donnell) [1765693] - [fs] xfs: remove all *_ITER_ABORT values (Bill O'Donnell) [1765693] - [fs] xfs: log proper length of btree block in scrub/repair (Bill O'Donnell) [1765693] - [fs] xfs: reinitialize rm_flags when unpacking an offset into an rmap irec (Bill O'Donnell) [1765693] - [fs] xfs: remove unnecessary int returns from deferred bmap functions (Bill O'Donnell) [1765693] - [fs] xfs: remove unnecessary int returns from deferred refcount functions (Bill O'Donnell) [1765693] - [fs] xfs: remove unnecessary int returns from deferred rmap functions (Bill O'Donnell) [1765693] - [fs] xfs: remove unnecessary parameter from xfs_iext_inc_seq (Bill O'Donnell) [1765693] - [fs] xfs: fix sign handling problem in xfs_bmbt_diff_two_keys (Bill O'Donnell) [1765693] - [fs] xfs: don't return _QUERY_ABORT from xfs_rmap_has_other_keys (Bill O'Donnell) [1765693] - [fs] xfs: fix maxicount division by zero error (Bill O'Donnell) [1765693] - [fs] xfs: bmap scrub should only scrub records once (Bill O'Donnell) [1765693] - [fs] xfs: remove excess function parameter description in 'xfs_btree_sblock_v5hdr_verify' (Bill O'Donnell) [1765693] - [fs] fs: xfs: Remove KM_NOSLEEP and KM_SLEEP (Bill O'Donnell) [1765693] - [fs] fs/xfs: Fix return code of xfs_break_leased_layouts() (Bill O'Donnell) [1765693] - [fs] xfs: compat_ioctl: use compat_ptr() (Bill O'Donnell) [1765693] - [fs] xfs: fall back to native ioctls for unhandled compat ones (Bill O'Donnell) [1765693] - [fs] xfs: remove more ondisk directory corruption asserts (Bill O'Donnell) [1765693] - [fs] fs: xfs: xfs_log: Don't use KM_MAYFAIL at xfs_log_reserve() (Bill O'Donnell) [1765693] - [fs] xfs: Fix possible null-pointer dereferences in xchk_da_btree_block_check_sibling() (Bill O'Donnell) [1765693] - [fs] xfs: fix stack contents leakage in the v1 inumber ioctls (Bill O'Donnell) [1765693] - [fs] xfs: sync up xfs_trans_inode with userspace (Bill O'Donnell) [1765693] - [fs] xfs: move xfs_trans_inode.c to libxfs/ (Bill O'Donnell) [1765693] - [fs] xfs: chain bios the right way around in xfs_rw_bdev (Bill O'Donnell) [1765693] - [fs] xfs: bump INUMBERS cursor correctly in xfs_inumbers_walk (Bill O'Donnell) [1765693] - [fs] xfs: don't update lastino for FSBULKSTAT_SINGLE (Bill O'Donnell) [1765693] - [fs] xfs: online scrub needn't bother zeroing its temporary buffer (Bill O'Donnell) [1765693] - [fs] xfs: only allocate memory for scrubbing attributes when we need it (Bill O'Donnell) [1765693] - [fs] xfs: refactor attr scrub memory allocation function (Bill O'Donnell) [1765693] - [fs] xfs: refactor extended attribute buffer pointer functions (Bill O'Donnell) [1765693] - [fs] xfs: attribute scrub should use seen_enough to pass error values (Bill O'Donnell) [1765693] - [fs] xfs: allow single bulkstat of special inodes (Bill O'Donnell) [1765693] - [fs] xfs: specify AG in bulk req (Bill O'Donnell) [1765693] - [fs] xfs: wire up the v5 inumbers ioctl (Bill O'Donnell) [1765693] - [fs] xfs: wire up new v5 bulkstat ioctls (Bill O'Donnell) [1765693] - [fs] xfs: introduce v5 inode group structure (Bill O'Donnell) [1765693] - [fs] xfs: introduce new v5 bulkstat structure (Bill O'Donnell) [1765693] - [fs] xfs: rename bulkstat functions (Bill O'Donnell) [1765693] - [fs] xfs: remove various bulk request typedef usage (Bill O'Donnell) [1765693] - [fs] fs: xfs: xfs_log: Change return type from int to void (Bill O'Donnell) [1765693] - [fs] xfs: poll waiting for quotacheck (Bill O'Donnell) [1765693] - [fs] xfs: multithreaded iwalk implementation (Bill O'Donnell) [1765693] - [fs] xfs: refactor INUMBERS to use iwalk functions (Bill O'Donnell) [1765693] - [fs] xfs: refactor iwalk code to handle walking inobt records (Bill O'Donnell) [1765693] - [fs] xfs: refactor xfs_iwalk_grab_ichunk (Bill O'Donnell) [1765693] - [fs] xfs: clean up long conditionals in xfs_iwalk_ichunk_ra (Bill O'Donnell) [1765693] - [fs] xfs: change xfs_iwalk_grab_ichunk to use startino, not lastino (Bill O'Donnell) [1765693] - [fs] xfs: move bulkstat ichunk helpers to iwalk code (Bill O'Donnell) [1765693] - [fs] xfs: calculate inode walk prefetch more carefully (Bill O'Donnell) [1765693] - [fs] xfs: convert bulkstat to new iwalk infrastructure (Bill O'Donnell) [1765693] - [fs] xfs: bulkstat should copy lastip whenever userspace supplies one (Bill O'Donnell) [1765693] - [fs] xfs: convert quotacheck to use the new iwalk functions (Bill O'Donnell) [1765693] - [fs] xfs: create simplified inode walk function (Bill O'Donnell) [1765693] - [fs] xfs: create iterator error codes (Bill O'Donnell) [1765693] - [fs] xfs: remove XFS_TRANS_NOFS (Bill O'Donnell) [1765693] - [fs] xfs: simplify xfs_ioend_can_merge (Bill O'Donnell) [1765693] - [fs] xfs: allow merging ioends over append boundaries (Bill O'Donnell) [1765693] - [fs] xfs: fix a comment typo in xfs_submit_ioend (Bill O'Donnell) [1765693] - [fs] xfs: remove the unused xfs_count_page_state declaration (Bill O'Donnell) [1765693] - [fs] xfs: fix iclog allocation size (Bill O'Donnell) [1765693] - [fs] xfs: remove unused header files (Bill O'Donnell) [1765693] - [fs] xfs: account for log space when formatting new AGs (Bill O'Donnell) [1765693] - [fs] xfs: refactor free space btree record initialization (Bill O'Donnell) [1765693] - [fs] xfs: always update params on small allocation (Bill O'Donnell) [1765693] - [fs] xfs: skip small alloc cntbt logic on NULL cursor (Bill O'Donnell) [1765693] - [fs] xfs: move small allocation helper (Bill O'Donnell) [1765693] - [fs] xfs: clean up small allocation helper (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_trans_bmap.c into xfs_bmap_item.c (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_trans_rmap.c into xfs_rmap_item.c (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_trans_refcount.c into xfs_refcount_item.c (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_trans_extfree.c into xfs_extfree_item.c (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_bud_init into xfs_trans_get_bud (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_rud_init into xfs_trans_get_rud (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_cud_init into xfs_trans_get_cud (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_efd_init into xfs_trans_get_efd (Bill O'Donnell) [1765693] - [fs] xfs: remove a pointless comment duplicated above all xfs_item_ops instances (Bill O'Donnell) [1765693] - [fs] xfs: use a list_head for iclog callbacks (Bill O'Donnell) [1765693] - [fs] xfs: remove the xfs_log_item_t typedef (Bill O'Donnell) [1765693] - [fs] xfs: don't cast inode_log_items to get the log_item (Bill O'Donnell) [1765693] - [fs] xfs: add a flag to release log items on commit (Bill O'Donnell) [1765693] - [fs] xfs: split iop_unlock (Bill O'Donnell) [1765693] - [fs] xfs: don't use xfs_trans_free_items in the commit path (Bill O'Donnell) [1765693] - [fs] xfs: remove the dummy iop_push implementation for inode creation items (Bill O'Donnell) [1765693] - [fs] xfs: don't require log items to implement optional methods (Bill O'Donnell) [1765693] - [fs] xfs: stop using XFS_LI_ABORTED as a parameter flag (Bill O'Donnell) [1765693] - [fs] xfs: fix a trivial comment typo in xfs_trans_committed_bulk (Bill O'Donnell) [1765693] - [fs] xfs: add struct xfs_mount pointer to struct xfs_buf (Bill O'Donnell) [1765693] - [fs] xfs: remove the b_io_length field in struct xfs_buf (Bill O'Donnell) [1765693] - [fs] xfs: properly type the b_log_item field in struct xfs_buf (Bill O'Donnell) [1765693] - [fs] xfs: remove unused buffer cache APIs (Bill O'Donnell) [1765693] - [fs] xfs: stop using bp naming for log recovery buffers (Bill O'Donnell) [1765693] - [fs] xfs: use bios directly to read and write the log recovery buffers (Bill O'Donnell) [1765693] - [fs] xfs: return an offset instead of a pointer from xlog_align (Bill O'Donnell) [1765693] - [fs] xfs: move the log ioend workqueue to struct xlog (Bill O'Donnell) [1765693] - [fs] xfs: use bios directly to write log buffers (Bill O'Donnell) [1765693] - [fs] xfs: make use of the l_targ field in struct xlog (Bill O'Donnell) [1765693] - [fs] xfs: remove the syncing argument from xlog_verify_iclog (Bill O'Donnell) [1765693] - [fs] xfs: update both stat counters together in xlog_sync (Bill O'Donnell) [1765693] - [fs] xfs: factor out iclog size calculation from xlog_sync (Bill O'Donnell) [1765693] - [fs] xfs: factor out splitting of an iclog from xlog_sync (Bill O'Donnell) [1765693] - [fs] xfs: factor out log buffer writing from xlog_sync (Bill O'Donnell) [1765693] - [fs] xfs: don't use REQ_PREFLUSH for split log writes (Bill O'Donnell) [1765693] - [fs] xfs: remove XLOG_STATE_IOABORT (Bill O'Donnell) [1765693] - [fs] xfs: reformat xlog_get_lowest_lsn (Bill O'Donnell) [1765693] - [fs] xfs: cleanup xlog_get_iclog_buffer_size (Bill O'Donnell) [1765693] - [fs] xfs: remove the l_iclog_size_log field from struct xlog (Bill O'Donnell) [1765693] - [fs] xfs: renumber XBF_WRITE_FAIL (Bill O'Donnell) [1765693] - [fs] xfs: remove the never used _XBF_COMPOUND flag (Bill O'Donnell) [1765693] - [fs] xfs: remove the no-op spinlock_destroy stub (Bill O'Donnell) [1765693] - [fs] xfs: move xfs_ino_geometry to xfs_shared.h (Bill O'Donnell) [1765693] - [fs] xfs: remove unused flag arguments (Bill O'Donnell) [1765693] - [fs] xfs: remove the debug-only q_transp field from struct xfs_dquot (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_buf_zero and xfs_buf_iomove (Bill O'Donnell) [1765693] - [fs] xfs: remove unused flags arg from getsb interfaces (Bill O'Donnell) [1765693] - [fs] xfs: include WARN, REPAIR build options in XFS_BUILD_OPTIONS (Bill O'Donnell) [1765693] - [fs] xfs: finish converting to inodes_per_cluster (Bill O'Donnell) [1765693] - [fs] xfs: fix inode_cluster_size rounding mayhem (Bill O'Donnell) [1765693] - [fs] xfs: refactor inode geometry setup routines (Bill O'Donnell) [1765693] - [fs] xfs: separate inode geometry (Bill O'Donnell) [1765693] - [fs] xfs: use file_modified() helper (Bill O'Donnell) [1765693] - [fs] vfs: introduce file_modified() helper (Bill O'Donnell) [1765693]- [md] dm: bump version of core and various targets (Mike Snitzer) [1810746] - [md] dm: fix congested_fn for request-based device (Mike Snitzer) [1810746] - [md] dm integrity: use dm_bio_record and dm_bio_restore (Mike Snitzer) [1810746] - [md] dm bio record: save_restore bi_end_io and bi_integrity (Mike Snitzer) [1810746] - [md] dm writecache: verify watermark during resume (Mike Snitzer) [1810746] - [md] dm: report suspended device during destroy (Mike Snitzer) [1810746] - [md] dm thin metadata: fix lockdep complaint (Mike Snitzer) [1810746] - [md] dm cache: fix a crash due to incorrect work item cancelling (Mike Snitzer) [1810746] - [md] dm integrity: fix invalid table returned due to argument count mismatch (Mike Snitzer) [1810746] - [md] dm integrity: fix a deadlock due to offloading to an incorrect workqueue (Mike Snitzer) [1810746] - [md] dm integrity: fix recalculation when moving from journal mode to bitmap mode (Mike Snitzer) [1810746] - [md] dm writecache: improve performance of large linear writes on SSDs (Mike Snitzer) [1810746] - [md] dm mpath: Add timeout mechanism for queue_if_no_path (Mike Snitzer) [1810746] - [md] dm thin: change data device's flush_bio to be member of struct pool (Mike Snitzer) [1810746] - [md] dm thin: don't allow changing data device during thin-pool reload (Mike Snitzer) [1810746] - [md] dm thin: fix use-after-free in metadata_pre_commit_callback (Mike Snitzer) [1810746] - [md] dm thin metadata: use pool locking at end of dm_pool_metadata_close (Mike Snitzer) [1810746] - [md] dm writecache: fix incorrect flush sequence when doing SSD mode commit (Mike Snitzer) [1810746] - [md] dm crypt: fix benbi IV constructor crash if used in authenticated mode (Mike Snitzer) [1810746] - [md] dm crypt: Implement Elephant diffuser for Bitlocker compatibility (Mike Snitzer) [1810746] - [md] dm space map common: fix to ensure new block isn't already in use (Mike Snitzer) [1810746] - [md] dm verity: don't prefetch hash blocks for already-verified data (Mike Snitzer) [1810746] - [md] dm crypt: fix GFP flags passed to skcipher_request_alloc() (Mike Snitzer) [1810746] - [md] dm thin metadata: Fix trivial math error in on-disk format documentation (Mike Snitzer) [1810746] - [md] dm thin metadata: use true_false for bool variable (Mike Snitzer) [1810746] - [md] dm snapshot: use true_false for bool variable (Mike Snitzer) [1810746] - [md] dm bio prison v2: use true_false for bool variable (Mike Snitzer) [1810746] - [md] dm mpath: use true_false for bool variable (Mike Snitzer) [1810746] - [md] dm zoned: support zone sizes smaller than 128MiB (Mike Snitzer) [1810746] - [md] dm raid: table line rebuild status fixes (Mike Snitzer) [1810746] - [documentation] docs: dm-integrity: remove reference to ARC4 (Mike Snitzer) [1810746] - [md] dm thin: Flush data device before committing metadata (Mike Snitzer) [1810746] - [md] dm thin metadata: Add support for a pre-commit callback (Mike Snitzer) [1810746] - [md] dm btree: increase rebalance threshold in __rebalance2() (Mike Snitzer) [1810746] - [md] dm mpath: remove harmful bio-based optimization (Mike Snitzer) [1810746] - [md] dm integrity: fix excessive alignment of metadata runs (Mike Snitzer) [1810746] - [md] dm cache: replace spin_lock_irqsave with spin_lock_irq (Mike Snitzer) [1810746] - [md] dm bio prison: replace spin_lock_irqsave with spin_lock_irq (Mike Snitzer) [1810746] - [md] dm thin: replace spin_lock_irqsave with spin_lock_irq (Mike Snitzer) [1810746] - [md] dm raid: streamline rs_get_progress() and its raid_status() caller side (Mike Snitzer) [1810746] - [md] dm raid: simplify rs_setup_recovery call chain (Mike Snitzer) [1810746] - [md] dm raid: to ensure resynchronization, perform raid set grow in preresume (Mike Snitzer) [1810746] - [md] dm raid: change rs_set_dev_and_array_sectors API and callers (Mike Snitzer) [1810746] - [md] dm: introduce DM_GET_TARGET_VERSION (Mike Snitzer) [1810746] - [md] dm bufio: introduce a global cache replacement (Mike Snitzer) [1810746] - [md] dm bufio: remove old-style buffer cleanup (Mike Snitzer) [1810746] - [md] dm bufio: introduce a global queue (Mike Snitzer) [1810746] - [md] dm bufio: refactor adjust_total_allocated (Mike Snitzer) [1810746] - [md] dm bufio: call adjust_total_allocated from __link_buffer and __unlink_buffer (Mike Snitzer) [1810746] - [md] dm crypt: omit parsing of the encapsulated cipher (Mike Snitzer) [1810746] - [md] dm crypt: switch to ESSIV crypto API template (Mike Snitzer) [1810746] - [crypto] crypto: essiv - create wrapper template for ESSIV generation (Mike Snitzer) [1810746] - [security] crypto: drop mask=CRYPTO_ALG_ASYNC from shash tfm allocations (Mike Snitzer) [1810746] - [crypto] crypto: drop mask=CRYPTO_ALG_ASYNC from cipher tfm allocations (Mike Snitzer) [1810746] - [md] dm verity: add root hash pkcs#7 signature verification (Mike Snitzer) [1810746] - [md] dm crypt: reuse eboiv skcipher for IV generation (Mike Snitzer) [1810746] - [md] dm integrity: fix a crash due to BUG_ON in __journal_read_write() (Mike Snitzer) [1810746] - [md] dm kcopyd: Increase default sub-job size to 512KB (Mike Snitzer) [1810746] - [documentation] docs: device-mapper: move it to the admin-guide (Mike Snitzer) [1810746] - [documentation] docs: convert docs to ReST and rename to *.rst (Mike Snitzer) [1810746] - [md] dm crypt: implement eboiv - encrypted byte-offset initialization vector (Mike Snitzer) [1810746] - [md] dm integrity: use kzalloc() instead of kmalloc() + memset() (Mike Snitzer) [1810746] - [md] dm integrity: always set version on superblock update (Mike Snitzer) [1810746] - [md] dm integrity: whitespace, coding style and dead code cleanup (Mike Snitzer) [1810746] - [md] dm integrity: implement synchronous mode for reboot handling (Mike Snitzer) [1810746] - [md] dm integrity: handle machine reboot in bitmap mode (Mike Snitzer) [1810746] - [md] dm integrity: add a bitmap mode (Mike Snitzer) [1810746] - [md] dm integrity: introduce a function add_new_range_and_wait() (Mike Snitzer) [1810746] - [md] dm integrity: allow large ranges to be described (Mike Snitzer) [1810746] - [md] dm ingerity: pass size to dm_integrity_alloc_page_list() (Mike Snitzer) [1810746] - [md] dm integrity: introduce rw_journal_sectors() (Mike Snitzer) [1810746] - [md] dm crypt and integrity: shash - remove shash_desc::flags (Mike Snitzer) [1810746] - [md] dm: fix potential for q->make_request_fn NULL pointer (Mike Snitzer) [1794340] - [netdrv] net/mlx5e: Don't clear the whole vf config when switching modes (mohamad meib) [1811428] - [scsi] scsi: be2iscsi: be_main: Mark expected switch fall-through (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: be_iscsi: Mark expected switch fall-through (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: switch to generic DMA API (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: fix spelling mistake "Retreiving" -> "Retrieving" (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: remove unused variable dmsg (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: Update copyright (Maurizio Lombardi) [1796740] - [security] selinux: fix sidtab string cache locking (Ondrej Mosnacek) [1807001 1806991] - [security] selinux: do not allocate ancillary buffer on first load (Ondrej Mosnacek) [1807001] - [security] selinux: remove redundant selinux_nlmsg_perm (Ondrej Mosnacek) [1807001] - [security] selinux: fix wrong buffer types in policydb.c (Ondrej Mosnacek) [1807001] - [security] selinux: treat atomic flags more carefully (Ondrej Mosnacek) [1807001] - [security] selinux: make default_noexec read-only after init (Ondrej Mosnacek) [1807001] - [security] selinux: move ibpkeys code under CONFIG_SECURITY_INFINIBAND (Ondrej Mosnacek) [1807001] - [security] Documentation, selinux: fix references to old selinuxfs mount point (Ondrej Mosnacek) [1807001] - [security] selinuxfs: use scnprintf to get real length for inode (Ondrej Mosnacek) [1807001] - [security] selinux: remove set but not used variable 'sidtab' (Ondrej Mosnacek) [1807001] - [security] selinux: ensure the policy has been loaded before reading the sidtab stats (Ondrej Mosnacek) [1807001] - [security] selinux: ensure we cleanup the internal AVC counters on error in avc_update() (Ondrej Mosnacek) [1807001] - [security] selinux: randomize layout of key structures (Ondrej Mosnacek) [1807001] - [security] selinux: clean up selinux_enabled/disabled/enforcing_boot (Ondrej Mosnacek) [1807001] - [security] selinux: remove unnecessary selinux cred request (Ondrej Mosnacek) [1807001] - [security] selinux: ensure we cleanup the internal AVC counters on error in avc_insert() (Ondrej Mosnacek) [1807001] - [security] security: only build lsm_audit if CONFIG_SECURITY=y (Ondrej Mosnacek) [1807001] - [security] selinux: clean up selinux_inode_permission MAY_NOT_BLOCK tests (Ondrej Mosnacek) [1807001] - [security] selinux: fall back to ref-walk if audit is required (Ondrej Mosnacek) [1807001] - [security] selinux: revert "stop passing MAY_NOT_BLOCK to the AVC upon follow_link" (Ondrej Mosnacek) [1807001] - [security] selinux: cache the SID -> context string translation (Ondrej Mosnacek) [1807001 1806991] - [security] selinux: sidtab reverse lookup hash table (Ondrej Mosnacek) [1807001] - [security] selinux: default_range glblub implementation (Ondrej Mosnacek) [1807001] - [security] selinux: allow labeling before policy is loaded (Ondrej Mosnacek) [1807001 1777525] - [security] selinux: remove load size limit (Ondrej Mosnacek) [1807001] - [security] selinux: fix residual uses of current_security() for the SELinux blob (Ondrej Mosnacek) [1807001] - [kernel] rcu: Make kfree_rcu() ignore NULL pointers (Ondrej Mosnacek) [1807001] - [security] SELinux: Abstract use of ipc security blobs (Ondrej Mosnacek) [1807001] - [security] SELinux: Abstract use of inode security blob (Ondrej Mosnacek) [1807001] - [security] SELinux: Abstract use of file security blob (Ondrej Mosnacek) [1807001] - [security] SELinux: Abstract use of cred security blob (Ondrej Mosnacek) [1807001] - [security] selinux: kill selinux_sb_get_mnt_opts() (Ondrej Mosnacek) [1807001] - [security] selinux; don't open-code a loop in sb_finish_set_opts() (Ondrej Mosnacek) [1807001] - [security] selinux: expand superblock_doinit() calls (Ondrej Mosnacek) [1807001] - [netdrv] hv_netvsc: Fix unwanted rx_table reset (Mohammed Gamal) [1805950] - [netdrv] hv_netvsc: Fix tx_table init in rndis_set_subchannel() (Mohammed Gamal) [1805950] - [netdrv] hv_netvsc: Fix send_table offset in case of a host bug (Mohammed Gamal) [1805950] - [netdrv] hv_netvsc: Fix offset usage in netvsc_send_table() (Mohammed Gamal) [1805950]- [block] blk-mq: Keep set->nr_hw_queues and set->map.nr_queues in sync (Ming Lei) [1810523] - [block] block: clear REQ_HIPRI if polling is not supported (Ming Lei) [1809506]- [perf] arm_spe: Enable ACPI/Platform automatic module loading (Jeremy Linton) [1501652] - [perf] perf: arm_spe: Don't error on high-order pages for aux buf (Jeremy Linton) [1501652] - [perf] arm_spe: handle devm_kasprintf() failure (Jeremy Linton) [1501652] - [perf] arm_spe: Enable automatic DT loading (Jeremy Linton) [1501652] - [block] blk-iolatency: fix STS_AGAIN handling (Ming Lei) [1764737] - [block] blk-iolatency: only account submitted bios (Ming Lei) [1764737] - [block] blk-iolatency: clear use_delay when io.latency is set to zero (Ming Lei) [1764737] - [block] blk-iolatency: #include "blk.h" (Ming Lei) [1764737] - [block] Blk-iolatency: warn on negative inflight IO counter (Ming Lei) [1764737] - [block] blk-iolatency: fix IO hang due to negative inflight counter (Ming Lei) [1764737] - [block] block: fix blk-iolatency accounting underflow (Ming Lei) [1764737] - [fs] xfs: stabilize insert range start boundary to avoid COW writeback race (Brian Foster) [1728979] - [x86] uprobes/x86: Fix detection of 32-bit user mode (Oleg Nesterov) [1804961] - [ipc] Revert "ipc, sem: remove uneeded sem_undo_list lock usage in exit_sem()" ("Herton R. Krzesinski") [1807627] - [powerpc] powerpc/tm: Fix clearing MSRin current when reclaiming on signal delivery (Gustavo Duarte) [1751116] - [powerpc] powerpc/tm: Set MSRjust prior to recheckpoint (Gustavo Duarte) [1751116] - [arm64] arm64: smp: Increase secondary CPU boot timeout value (Gavin Shan) [1807684] - [fs] ext4: work around deleting a file with i_nlink == 0 safely (Carlos Maiolino) [1801049] - [char] ipmi: fix sleep-in-atomic in free_user at cleanup SRCU user->release_barrier (Waiman Long) [1810638] - [char] ipmi: Revert "fix sleep-in-atomic in free_user at cleanup SRCU user->release_barrier" (Waiman Long) [1810638]- [kernel] blktrace: Protect q->blk_trace with RCU (Ming Lei) [1798329] - [drm] drm/i915: Force DPCD backlight mode for some Dell CML 2020 panels (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED panel (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/dp: Introduce EDID-based quirks (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Auto detect DPCD backlight support by default (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight() (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Assume 100 brightness when not in DPCD control mode (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Fix eDP DPCD aux max backlight calculations (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Check backlight type while doing eDP backlight initializaiton (Lyude Paul) [1782671 1773796 1748892] - [tools] selftests: nft_concat_range: Add test for reported add/flush/add issue (Stefano Brivio) [1807892] - [net] nft_set_pipapo: Actually fetch key data in nft_pipapo_remove() (Stefano Brivio) [1807892] - [net] sched: don't take rtnl lock during flow_action setup (Marcelo Leitner) [1804385] - [include] net: sched: refactor ct action helpers to require tcf_lock (Marcelo Leitner) [1804385] - [include] net: sched: refactor police action helpers to require tcf_lock (Marcelo Leitner) [1804385] - [net] sched: lock action when translating it to flow_action infra (Marcelo Leitner) [1804385] - [powerpc] powerpc/smp: Fix NMI IPI xmon timeout (Diego Domingos) [1747320] - [powerpc] powerpc/smp: Fix NMI IPI timeout (Diego Domingos) [1747320] - [powerpc] powerpc: NMI IPI make NMI IPIs fully sychronous (Diego Domingos) [1747320] - [arm64] arm64: select CPUMASK_OFFSTACK if NUMA (Andrea Arcangeli) [1712856] - [arm64] arm64: tlb: skip tlbi broadcast (Andrea Arcangeli) [1712856]- [fs] fs/proc/proc_sysctl.c: Fix a NULL pointer dereference (Vladis Dronov) [1795521] {CVE-2019-20054} - [fs] fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links (Vladis Dronov) [1795521] {CVE-2019-20054} - [ptp] ptp: correctly disable flags on old ioctls (Petr Oros) [1795188] - [uapi] PTP: add support for one-shot output (Petr Oros) [1795188] - [ptp] PTP: introduce new versions of IOCTLs (Petr Oros) [1795188] - [virtio] virtio_ring: fix stalls for packed rings (Eugenio Perez) [1601355] - [virtio] virtio_ring: Fix potential mem leak in virtqueue_add_indirect_packed (Eugenio Perez) [1601355] - [uapi] virtio: drop internal struct from UAPI (Eugenio Perez) [1601355] - [virtio] virtio_ring: advertize packed ring layout (Eugenio Perez) [1601355] - [virtio] virtio_ring: leverage event idx in packed ring (Eugenio Perez) [1601355] - [virtio] virtio_ring: introduce packed ring support (Eugenio Perez) [1601355] - [virtio] virtio_ring: cache whether we will use DMA API (Eugenio Perez) [1601355] - [virtio] virtio_ring: extract split ring handling from ring creation (Eugenio Perez) [1601355] - [virtio] virtio_ring: allocate desc state for split ring separately (Eugenio Perez) [1601355] - [virtio] virtio_ring: introduce helper for indirect feature (Eugenio Perez) [1601355] - [virtio] virtio_ring: introduce debug helpers (Eugenio Perez) [1601355] - [virtio] virtio_ring: put split ring fields in a sub struct (Eugenio Perez) [1601355] - [virtio] virtio_ring: put split ring functions together (Eugenio Perez) [1601355] - [virtio] virtio_ring: add _split suffix for split ring functions (Eugenio Perez) [1601355] - [uapi] virtio: add packed ring types and macros (Eugenio Perez) [1601355] - [x86] x86/mtrr: Skip cache flushes on CPUs with cache self-snooping (Prarit Bhargava) [1724541] - [x86] x86/cpu/intel: Clear cache self-snoop capability in CPUs with known errata (Prarit Bhargava) [1724541] - [documentation] Documentation PCI: Fix pciebus-howto.rst filename typo (Myron Stowe) [1793091] - [tools] tools: PCI: Fix installation when `make tools/pci_install` (Myron Stowe) [1793091] - [tools] tools: PCI: Fix broken pcitest compilation (Myron Stowe) [1793091] - [tools] tools pci: Do not delete pcitest.sh in 'make clean' (Myron Stowe) [1793091] - [pci] PCI: endpoint: Clear BAR before freeing its space (Myron Stowe) [1793091] - [pci] PCI: endpoint: Skip odd BAR when skipping 64bit BAR (Myron Stowe) [1793091] - [pci] PCI: endpoint: Allocate enough space for fixed size BAR (Myron Stowe) [1793091] - [pci] PCI: endpoint: Set endpoint controller pointer to NULL (Myron Stowe) [1793091] - [pci] PCI: endpoint: Add support to specify alignment for buffers allocated to BARs (Myron Stowe) [1793091] - [pci] PCI: pci-epf-test: Use pci_epc_get_features() to get EPC features (Myron Stowe) [1793091] - [pci] PCI: pci-epf-test: Do not allocate next BARs memory if current BAR is 64Bit (Myron Stowe) [1793091] - [pci] PCI: pci-epf-test: Remove setting epf_bar flags in function driver (Myron Stowe) [1793091] - [pci] PCI: endpoint: Fix pci_epf_alloc_space() to set correct MEM TYPE flags (Myron Stowe) [1793091] - [pci] PCI: endpoint: Add helper to get first unreserved BAR (Myron Stowe) [1793091] - [pci] PCI: endpoint: Add new pci_epc_ops to get EPC features (Myron Stowe) [1793091] - [pci] PCI: endpoint: functions: Use memcpy_fromio()/memcpy_toio() (Myron Stowe) [1793091] - [pci] PCI: Skip resource distribution when no hotplug bridges (Myron Stowe) [1793091] - [pci] PCI: Simplify pci_bus_distribute_available_resources() (Myron Stowe) [1793091] - [pci] PCI: Reset both NVIDIA GPU and HDA in ThinkPad P50 workaround (Myron Stowe) [1793091] - [pci] PCI: Enable NVIDIA HDA controllers (Myron Stowe) [1793091] - [pci] PCI: Use seq_puts() instead of seq_printf() in show_device() (Myron Stowe) [1793091] - [pci] PCI: Add NVIDIA GPU multi-function power dependencies (Myron Stowe) [1793091] - [pci] PCI: Generalize multi-function power dependency device links (Myron Stowe) [1793091] - [pci] PCI: sysfs: Ignore lockdep for remove attribute (Myron Stowe) [1793091] - [pci] PCI: Decode PCIe 32 GT/s link speed (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert endpoint/pci-test-howto.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert endpoint/pci-test-function.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert endpoint/pci-endpoint-cfs.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert endpoint/pci-endpoint.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert pcieaer-howto.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert pci-error-recovery.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert acpi-info.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert MSI-HOWTO.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert pci-iov-howto.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert PCIEBUS-HOWTO.txt to reST (Myron Stowe) [1793091] - [documentation] docs: pci: fix broken links due to conversion from pci.txt to pci.rst (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert pci.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: add Linux PCI to Sphinx TOC tree (Myron Stowe) [1793091] - [pci] PCI: Reset Lenovo ThinkPad P50 nvgpu at boot if necessary (Myron Stowe) [1793091] - [pci] PCI: Add a stub for pci_ats_disabled() (Myron Stowe) [1793091] - [pci] PCI: Provide pci_match_id() with CONFIG_PCI=n (Myron Stowe) [1793091] - [misc] ocxl: Add PCI hotplug dependency to Kconfig (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Wrap warnings in macro (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Relax check when disabling slot (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Register opencapi slots (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Improve error msg on power state change failure (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Remove erroneous warning (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: Find opencapi slot for a device node (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: Release opencapi device (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: set up PE on opencapi device when enabling (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: Protect PE list (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: Fix ref count for devices with their own PE (Steve Best) [1788902] - [of] of: overlay: add_changeset_property() memory leak (Steve Best) [1798483] - [of] of: unittest: initialize args before calling of_*parse_*() (Steve Best) [1798483] - [of] of: unittest: find overlaysentry by name instead of index (Steve Best) [1798483] - [of] of: unittest: allow base devicetree to have symbol metadata (Steve Best) [1798483] - [of] of: overlay: set node fields from properties when add new overlay node (Steve Best) [1798483] - [of] of: unittest: remove unused of_unittest_apply_overlay() argument (Steve Best) [1798483] - [of] of: overlay: check prevents multiple fragments touching same property (Steve Best) [1798483] - [of] of: overlay: check prevents multiple fragments add or delete same node (Steve Best) [1798483] - [of] of: overlay: test case of two fragments adding same node (Steve Best) [1798483] - [of] of: overlay: make all pr_debug() and pr_err() messages unique (Steve Best) [1798483] - [of] of: overlay: validate overlay properties (Steve Best) [1798483] - [of] of: overlay: reorder fields in struct fragment (Steve Best) [1798483] - [of] of: overlay: do not duplicate properties from overlay for new nodes (Steve Best) [1798483] - [of] of: overlay: use prop add changeset entry for property in new nodes (Steve Best) [1798483] - [of] of: Convert to using pOFn instead of device_node.name (Steve Best) [1798483] - [powerpc] powerpc/pseries: add of_node_put() in dlpar_detach_node() (Steve Best) [1798483] - [of] of: overlay: add missing of_node_get() in __of_attach_node_sysfs (Steve Best) [1798483] - [of] of: overlay: add missing of_node_put() after add new node to changeset (Steve Best) [1798483] - [of] of: overlay: add tests to validate kfrees from overlay removal (Steve Best) [1798483]- [kernel] open the RHEL 8.3 development (Frantisek Hrbata) - [netdrv] Revert "r8169: don't use MSI before RTL8168d" (Josef Oskera) [1792839] - [drm] drm/nouveau/kms/gv100-: Re-set LUT after clearing for modesets (Ben Skeggs) [1789026] - [drm] drm/nouveau/disp/gv100-: not all channel types support reporting error codes (Ben Skeggs) [1789481] - [drm] drm/nouveau/disp/nv50-: prevent oops when no channel method map provided (Ben Skeggs) [1789481] - [fs] cifs: don't leak -EAGAIN for stat() during reconnect (Dave Wysochanski) [1769599] - [block] blk-mq: insert passthrough request into hctx->dispatch directly (Ming Lei) [1788728] - [scsi] scsi: megaraid_sas: fixup MSIx interrupt setup during resume (Tomas Henzl) [1805353]- [fs] NFS: Add deferred cache invalidation for close-to-open consistency violations (Benjamin Coddington) [1803162] - [block] nbd: fix stack corruption in nbd_check_sock_type() (Ming Lei) [1803664] - [mm] mm/vmscan.c: don't round up scan size for online memory cgroup (Aristeu Rozanski) [1775691] - [tools] selftests/bpf: fix clearing buffered output between tests/subtests (Yauheni Kaliuta) [1786006] - [tools] libbpf: avoid usage of __builtin_preserve_field_info (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: samples/bpf: fix Split off legacy stuff from bpf_helpers.h (Yauheni Kaliuta) [1786006] - [tools] libbpf: fix Make DECLARE_LIBBPF_OPTS macro strictly a variable declaration (Yauheni Kaliuta) [1786006] - [tools] selftests: fix too long argument (Yauheni Kaliuta) [1786006] - [tools] libbpf: Add BPF-side definitions of supported field relocation kinds (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: add sub-tests support for test_progs (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: abstract away test log output (Yauheni Kaliuta) [1786006] - [tools] selftest/bpf: centralize libbpf logging management for test_progs (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: prevent headers to be compiled as C code (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: add test selectors by number and name to test_progs (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: revamp test_progs to allow more control (Yauheni Kaliuta) [1786006] - [net] core: Don't skip generic XDP program execution for cloned SKBs (Jiri Benc) [1802507] - [tools] selftests/bpf: De-flake test_tcpbpf (Jiri Benc) [1802507] - [net] bpf, sockmap: Check update requirements after locking (Jiri Benc) [1802507] - [net] bpf, sockhash: Synchronize_rcu before free'ing map (Jiri Benc) [1802507] - [net] bpf, sockmap: Don't sleep while holding RCU lock on tear-down (Jiri Benc) [1802507] - [net] net: bpf: Don't leak time wait and request sockets (Jiri Benc) [1802507] - [net] bpf/sockmap: Read psock ingress_msg before sk_receive_queue (Jiri Benc) [1802507] - [net] bpf: Clear skb->tstamp in bpf_redirect when necessary (Jiri Benc) [1802507] - [net] xdp: obtain the mem_id mutex before trying to remove an entry (Jiri Benc) [1802507] - [net] page_pool: do not release pool until inflight == 0 (Jiri Benc) [1802507] - [net] xsk: Fix registration of Rx-only sockets (Jiri Benc) [1802507] - [net] xsk: avoid store-tearing when assigning umem (Jiri Benc) [1802507] - [net] xsk: avoid store-tearing when assigning queues (Jiri Benc) [1802507] - [tools] bpftool: Don't crash on missing xlated program instructions (Jiri Benc) [1802507] - [tools] bpftool: Fix printing incorrect pointer in btf_dump_ptr (Jiri Benc) [1802507] - [tools] bpftool: Don't crash on missing jited insns or ksyms (Jiri Benc) [1802507] - [tools] bpftool: Match several programs with same tag (Jiri Benc) [1802507] - [tools] libbpf: Fix realloc usage in bpf_core_find_cands (Jiri Benc) [1802507] - [tools] libbpf: Add missing newline in opts validation macro (Jiri Benc) [1802507] - [tools] libbpf: Don't attach perf_buffer to offline/missing CPUs (Jiri Benc) [1802507] - [tools] libbpf: Extract and generalize CPU mask parsing logic (Jiri Benc) [1802507] - [tools] libbpf: Fix printf compilation warnings on ppc64le arch (Jiri Benc) [1802507] - [tools] libbpf: Fix sym->st_value print on 32-bit arches (Jiri Benc) [1802507] - [tools] libbpf: Make btf__resolve_size logic always check size error condition (Jiri Benc) [1802507] - [tools] libbpf: Fix another potential overflow issue in bpf_prog_linfo (Jiri Benc) [1802507] - [tools] libbpf: Fix potential overflow issue (Jiri Benc) [1802507] - [tools] libbpf: Fix memory leak/double free issue (Jiri Benc) [1802507] - [tools] libbpf: Fix off-by-one error in ELF sanity check (Jiri Benc) [1802507] - [tools] selftests/bpf: Fix test_attach_probe (Jiri Benc) [1802507] - [kernel] bpf: Fix bpf_event_output re-entry issue (Jiri Benc) [1802507] - [net] bpf: Fix incorrect verifier simulation of ARSH under ALU32 (Jiri Benc) [1802507] - [net] bpf: Fix passing modified ctx to ld/abs/ind instruction (Jiri Benc) [1802507] - [net] bpf: cgroup: prevent out-of-order release of cgroup bpf (Jiri Benc) [1802507] - [net] bpf: Fix precision tracking for unbounded scalars (Jiri Benc) [1802507] - [net] bpf: Fix cgroup local storage prog tracking (Jiri Benc) [1802507] - [net] bpf/stackmap: Fix deadlock with rq_lock in bpf_get_stack() (Jiri Benc) [1802507] - [net] bpf, offload: Unlock on error in bpf_offload_dev_create() (Jiri Benc) [1802507] - [powerpc] powerpc/bpf: Fix tail call implementation (Jiri Benc) [1802507] - [net] bpf: Fix use after free in bpf_get_prog_name (Jiri Benc) [1802507] - [net] bpf: Fix use after free in subprog's jited symbol removal (Jiri Benc) [1802507] - [uapi] bpf: fix BTF limits (Jiri Benc) [1802507] - [net] bpf: fix BTF verification of enums (Jiri Benc) [1802507] - [netdrv] ice: Don't tell the OS that link is going down (Jonathan Toppins) [1792670] - [powerpc] powerpc/powernv: implement opal_put_chars_atomic (Steve Best) [1806254] - [tty] powerpc/powernv: move opal console flushing to udbg (Steve Best) [1806254] - [powerpc] powerpc/powernv: Remove OPALv1 support from opal console driver (Steve Best) [1806254] - [powerpc] powerpc/powernv: Implement and use opal_flush_console (Steve Best) [1806254] - [powerpc] powerpc/powernv: opal-kmsg use flush fallback from console code (Steve Best) [1806254] - [powerpc] powerpc/powernv: opal-kmsg standardise OPAL_BUSY handling (Steve Best) [1806254] - [powerpc] powerpc/powernv: Fix OPAL console driver OPAL_BUSY loops (Steve Best) [1806254] - [powerpc] powerpc/powernv: opal_put_chars partial write fix (Steve Best) [1806254] - [x86] Mark Comet Lake-S as supported (David Arcari) [1805754]- rebuild, due infrastructure issues last kernel build wasn't signed properly [1807216]- [nvme] nvme-multipath: Fix memory leak with ana_log_buf (David Milburn) [1804822] - [powerpc] pci/of: Fix OF flags parsing for 64bit BARs (David Gibson) [1804038]- [pci] PCI: pciehp: Add DMI table for in-band presence disabled (Myron Stowe) [1749528] - [pci] PCI: pciehp: Wait for PDS if in-band presence is disabled (Myron Stowe) [1749528] - [pci] PCI: pciehp: Add support for disabling in-band presence (Myron Stowe) [1749528] - [netdrv] net/mlx5: DR, Handle reformat capability over sw-steering tables (Alaa Hleihel) [1794997] - [netdrv] net/mlx5: DR, Fix matching on vport gvmi (Alaa Hleihel) [1794997] - [netdrv] net/mlx5: DR, use non preemptible call to get the current cpu number (Alaa Hleihel) [1794997] - [netdrv] net/mlx5: DR, Enable counter on non-fwd-dest objects (Alaa Hleihel) [1794997] - [iommu] iommu/vt-d: Simplify check in identity_mapping() (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Remove deferred_attach_domain() (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Do deferred attachment in iommu_need_mapping() (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Move deferred device attachment into helper function (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Add attach_deferred() helper (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Refactor find_domain() helper (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Allow devices with RMRRs to use identity domain (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Call __dmar_remove_one_dev_info with valid pointer (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Fix lock inversion between iommu->lock and device_domain_lock (Jerry Snitselaar) [1797124 1784649] - [ata] ata: ahci: Add shutdown to freeze hardware resources of ahci (David Milburn) [1784955] - [include] redhat: kabi: convert incorrect use of RH_KABI_EXTEND (Jiri Benc) [1715803] - [include] redhat: kabi: macros for intentional kABI breakage (Jiri Benc) [1715803] - [uapi] redhat: kabi: bpf: remove misleading comment (Jiri Benc) [1715803] - [include] redhat: kabi: introduce RH_KABI_HIDE_INCLUDE and RH_KABI_FAKE_INCLUDE (Jiri Benc) [1715803] - [kernel] kernel/module.c: wakeup processes in module_wq on module unload (Prarit Bhargava) [1804209] - [x86] kvm: x86: do not reset microcode version on INIT or RESET (Paolo Bonzini) [1801853] - [x86] kvm: x86: list MSR_IA32_UCODE_REV as an emulated MSR (Paolo Bonzini) [1801853] - [nvme] nvme: prevent warning triggered by nvme_stop_keep_alive (David Milburn) [1799890] - [nvme] nvme: nvme_keep_alive_end_io fixup setting comp_seen flag (David Milburn) [1799890]- [iommu] iommu: don't change default domain if already set by quirk (Jerry Snitselaar) [1786292] - [net] netfilter: ipset: Copy the right MAC address in hash:ip, mac IPv6 sets (Stefano Brivio) [1759422] - [net] ipv6/addrconf: only check invalid header values when NETLINK_F_STRICT_CHK is set (Guillaume Nault) [1802817] - [net] tcp: clear tp->segs_{in|out} in tcp_disconnect() (Guillaume Nault) [1802682] - [net] tcp: clear tp->data_segs{in|out} in tcp_disconnect() (Guillaume Nault) [1802682] - [net] tcp: clear tp->delivered in tcp_disconnect() (Guillaume Nault) [1802682] - [net] tcp: clear tp->total_retrans in tcp_disconnect() (Guillaume Nault) [1802682] - [net] tcp: do not leave dangling pointers in tp->highest_sack (Guillaume Nault) [1802682] - [net] tcp: Fix highest_sack and highest_sack_seq (Guillaume Nault) [1802682] - [net] tcp: do not send empty skb from tcp_write_xmit() (Guillaume Nault) [1802682] - [net] tcp: md5: fix potential overestimation of TCP option space (Guillaume Nault) [1802682] - [net] tcp: fix data-race in tcp_recvmsg() (Guillaume Nault) [1802682] - [net] bridge: ebtables: don't crash when using dnat target in output chains (Andrea Claudi) [1798923] - [net] ip6_tunnel: fix namespaces move (Andrea Claudi) [1798649] - [net] ip_tunnel: fix namespaces move (Andrea Claudi) [1798649] - [net] ipv4: Detect rollover in specific fib table dump (Guillaume Nault) [1801587] - [net] inet: protect against too small mtu values. (Guillaume Nault) [1801587] - [net] icmp: fix data-race in cmp_global_allow() (Guillaume Nault) [1801587] - [net] inetpeer: fix data-race in inet_putpeer / inet_putpeer (Guillaume Nault) [1801587] - [net] ipv4: Fix table id reference in fib_sync_down_addr (Guillaume Nault) [1801587] - [net] dccp: do not leak jiffies on the wire (Guillaume Nault) [1801587] - [net] inet: stop leaking jiffies on the wire (Guillaume Nault) [1801587] - [tools] selftests: fib_tests: add more tests for metric update (Guillaume Nault) [1801587] - [net] ipv4: fix route update on metric change. (Guillaume Nault) [1801587] - [net] iptunnel: Set tun_flags in the iptunnel_metadata_reply from src (Guillaume Nault) [1801587] - [net] flow_dissector: Fix to use new variables for port ranges in bpf hook (Ivan Vecera) [1789862] - [net] net_sched: fix a resource leak in tcindex_set_parms() (Ivan Vecera) [1789862] - [tools] tc-testing: fix eBPF tests failure on linux fresh clones (Ivan Vecera) [1789862] - [net] net_sched: fix an OOB access in cls_tcindex (Ivan Vecera) [1789862] - [net] cls_rsvp: fix rsvp_policy (Ivan Vecera) [1789862] - [net] net_sched: ematch: reject invalid TCF_EM_SIMPLE (Ivan Vecera) [1789862] - [net] net_sched: walk through all child classes in tc_bind_tclass() (Ivan Vecera) [1789862] - [net] net_sched: fix ops->bind_class() implementations (Ivan Vecera) [1789862] - [net] net_sched: fix datalen for ematch (Ivan Vecera) [1789862] - [net] net_sched: use validated TCA_KIND attribute in tc_new_tfilter() (Ivan Vecera) [1789862] - [net] sch_prio: When ungrafting, replace with FIFO (Ivan Vecera) [1789862] - [net] pkt_sched: fq: do not accept silly TCA_FQ_QUANTUM (Ivan Vecera) [1789862] - [net] sched: add delete_empty() to filters and use it in cls_flower (Ivan Vecera) [1789862] - [net] sched: act_mirred: Pull mac prior redir to non mac_header_xmit device (Ivan Vecera) [1789862] - [net] sched: cls_u32: fix refcount leak in the error path of u32_change() (Ivan Vecera) [1789862] - [net] net_sched: sch_fq: properly set sk->sk_pacing_status (Ivan Vecera) [1789862] - [net] net_sched: validate TCA_KIND attribute in tc_chain_tmplt_add() (Ivan Vecera) [1789862] - [net] mqprio: Fix out-of-bounds access in mqprio_dump (Ivan Vecera) [1789862] - [net] sched: allow indirect blocks to bind to clsact in TC (Ivan Vecera) [1789862] - [net] core: rename indirect block ingress cb function (Ivan Vecera) [1789862] - [net] Fixed updating of ethertype in skb_mpls_push() (Ivan Vecera) [1789862] - [net] cls_flower: Fix the behavior using port ranges with hw-offload (Ivan Vecera) [1789862] - [net] sched: fix dump qlen for sch_mq/sch_mqprio with NOLOCK subqueues (Ivan Vecera) [1789862] - [net] Fixed updating of ethertype in function skb_mpls_pop (Ivan Vecera) [1789862] - [net] sched: fix `tc -s class show` no bstats on class with nolock subqueues (Ivan Vecera) [1789862] - [net] sched: act_pedit: fix WARN() in the traffic path (Ivan Vecera) [1789862] - [net] sched: actions: remove unused 'order' (Ivan Vecera) [1789862] - [net] sched: annotate lockless accesses to qdisc->empty (Ivan Vecera) [1789862] - [net] annotate lockless accesses to sk->sk_max_ack_backlog (Ivan Vecera) [1789862] - [net] inet: minor optimization for backlog setting in listen(2) (Ivan Vecera) [1789862] - [net] annotate lockless accesses to sk->sk_ack_backlog (Ivan Vecera) [1789862] - [net] use helpers to change sk_ack_backlog (Ivan Vecera) [1789862] - [net] sched: prevent duplicate flower rules from tcf_proto destroy race (Ivan Vecera) [1789862] - [net] flow_dissector: switch to siphash (Ivan Vecera) [1789862] - [netdrv] macvlan: use skb_reset_mac_header() in macvlan_queue_xmit() (Davide Caratti) [1801128] - [netdrv] macvlan: do not assume mac_header is set in macvlan_broadcast() (Davide Caratti) [1801128] - [net] psample: fix skb_over_panic (Sabrina Dubroca) [1800589] - [net] openvswitch: don't unlock mutex when changing the user_features fails (Davide Caratti) [1799363] - [net] rtnetlink: validate IFLA_MTU attribute in rtnl_create_link() (Guillaume Nault) [1798715] - [net] rtnetlink: fix a typo fbd -> fdb (Guillaume Nault) [1798715] - [net] bpf: Sockmap, skmsg helper overestimates push, pull, and pop bounds (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, msg_push_data may leave end mark in place (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, push write_space updates through ulp updates (Sabrina Dubroca) [1798179] - [net] sk_msg: Don't check if sock is locked when tearing down psock (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, fix pop data with SK_DROP return code (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, skmsg can have wrapped skmsg that needs extra chaining (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, tls_sw can create a plaintext buf > encrypt buf (Sabrina Dubroca) [1798179] - [include] bpf: Sockmap/tls, during free we may call tcp_bpf_unhash() in loop (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap, ensure sock lock held during tear down (Sabrina Dubroca) [1798179] - [net] tls: fix async operation (Sabrina Dubroca) [1798179] - [net] tls: Fix return values to avoid ENOTSUPP (Sabrina Dubroca) [1798179] - [net] skmsg: fix TLS 1.3 crash with full sk_msg (Sabrina Dubroca) [1798179] - [net] tls: free the record on encryption error (Sabrina Dubroca) [1798179] - [net] tls: take into account that bpf_exec_tx_verdict() may free the record (Sabrina Dubroca) [1798179] - [net] bpf: skmsg, fix potential psock NULL pointer dereference (Sabrina Dubroca) [1798179] - [net] tls: enable sk_msg redirect to tls socket egress (Sabrina Dubroca) [1798179] - [netdrv] macsec: fix refcnt leak in module exit routine (Sabrina Dubroca) [1799029] - [netdrv] ppp: Adjust indentation into ppp_async_input (Guillaume Nault) [1798104] - [net] l2tp: Allow duplicate session creation with UDP (Guillaume Nault) [1798104] - [net] Fix bugs introduced by netlink strict checking backport (Petr Oros) [1782172] - [tools] selftests: forwarding: fix race between packet receive and tc check (Hangbin Liu) [1797941] - [tools] selftests: forwarding: tc_common: Add hitting check (Hangbin Liu) [1797941] - [tools] selftests: net: push jq workaround into separate helper (Hangbin Liu) [1797941] - [tools] selftests: loopback.sh: skip this test if the driver does not support (Hangbin Liu) [1797941] - [tools] selftests: pmtu: fix init mtu value in description (Hangbin Liu) [1797941] - [tools] selftests: forwarding: Delete IPv6 address at the end (Hangbin Liu) [1797941] - [tools] selftests: pmtu: use -oneline for ip route list cache (Hangbin Liu) [1797941] - [tools] selftests: net: tcp_mmap should create detached threads (Hangbin Liu) [1797941] - [tools] selftests: net: reuseport_dualstack: fix uninitalized parameter (Hangbin Liu) [1797941] - [net] tipc: fix link overflow issue at socket shutdown (Xin Long) [1798070] - [net] tipc: fix retrans failure due to wrong destination (Xin Long) [1798070] - [net] tipc: fix potential hanging after b/rcast changing (Xin Long) [1798070] - [net] tipc: fix ordering of tipc module init and exit routine (Xin Long) [1798070] - [net] tipc: fix wrong timeout input for tipc_wait_for_cond() (Xin Long) [1798070] - [net] tipc: fix wrong socket reference counter after tipc_sk_timeout() returns (Xin Long) [1798070] - [net] tipc: fix potential memory leak in __tipc_sendmsg() (Xin Long) [1798070] - [net] tipc: fix link name length check (Xin Long) [1798070] - [net] tipc: update replicast capability for broadcast send link (Xin Long) [1798070] - [net] tipc: update cluster capabilities if node deleted (Xin Long) [1798070] - [net] tipc: update mon's self addr when node addr generated (Xin Long) [1798070] - [net] tipc: reduce sensitive to retransmit failures (Xin Long) [1798070] - [net] sctp: free cmd->obj.chunk for the unprocessed SCTP_CMD_REPLY (Xin Long) [1798061] - [net] sctp: fully initialize v4 addr in some functions (Xin Long) [1798061] - [net] sctp: cache netns in sctp_ep_common (Xin Long) [1798061] - [net] sctp: Fix memory leak in sctp_sf_do_5_2_4_dupcook (Xin Long) [1798061] - [net] xfrm: support output_mark for offload ESP packets (Xin Long) [1798059] - [net] xfrm: release device reference for invalid state (Xin Long) [1798059] - [net] netfilter: fix a use-after-free in mtype_destroy() (Davide Caratti) [1796361] - [net] netfilter: ipset: avoid null deref when IPSET_ATTR_LINENO is present (Davide Caratti) [1796361] - [net] netfilter: conntrack: Request module if l3proto is unknown (Phil Sutter) [1752765] - [include] tcp: Protect accesses to .ts_recent_stamp with {READ,WRITE}_ONCE() (Guillaume Nault) [1780828] - [include] tcp: tighten acceptance of ACKs not matching a child socket (Guillaume Nault) [1780828] - [include] tcp: fix rejected syncookies due to stale timestamps (Guillaume Nault) [1780828] - [net] SUNRPC: Make "no retrans timeout" soft tasks behave like softconn for timeouts (Steve Dickson) [1801454] - [kernel] genirq, sched/isolation: Isolate from handling managed interrupts (Peter Xu) [1783026]- [nvme] nvme: fix the parameter order for nvme_get_log in nvme_get_fw_slot_info (David Milburn) [1798630] - [mm] arm64: debug: Remove unused return value from do_debug_exception() (Bhupesh Sharma) [1802511] - [mm] arm64: debug: Don't propagate UNKNOWN FAR into si_code for debug signals (Bhupesh Sharma) [1802511] - [mm] arm64/mm: Reorganize arguments for is_el1_permission_fault() (Bhupesh Sharma) [1802511] - [mm] arm64/mm: Define esr_to_debug_fault_info() (Bhupesh Sharma) [1802511] - [infiniband] IB/mlx5: Do reverse sequence during device removal (Alaa Hleihel) [1801497] - [netdrv] bnxt_en: Fix RDMA driver failure with SRIOV after firmware reset (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Refactor logic to re-enable SRIOV after firmware reset detected (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix logic that disables Bus Master during firmware reset (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix TC queue mapping (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix NTUPLE firmware command failures (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix ipv6 RFS filter matching logic (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Do not treat DSN (Digital Serial Number) read failure as fatal (Jonathan Toppins) [1801868] - [netdrv] bnxt: Detach page from page pool before sending up the stack (Jonathan Toppins) [1801868] - [netdrv] bnxt: apply computed clamp value for coalece parameter (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix MSIX request logic for RDMA driver (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Free context memory in the open path if firmware has been reset (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Return error if FW returns more data than dump length (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix bp->fw_health allocation and free logic (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Add missing devlink health reporters for VFs (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix the logic that creates the health reporters (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Do driver unregister cleanup in bnxt_init_one() failure path (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Send FUNC_RESOURCE_QCAPS command in bnxt_resume() (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Combine 2 functions calling the same HWRM_DRV_RGTR fw command (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Abort waiting for firmware response if there is no heartbeat (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Return proper error code for non-existent NVM variable (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Add a warning message for driver initiated reset (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Improve RX buffer error handling (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Extend ETHTOOL_RESET to hot reset driver (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Increase firmware response timeout for coredump commands (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix suspend/resume path on 57500 chips (Jonathan Toppins) [1801111] - [netdrv] bnxt_en: Disable/enable Bus master during suspend/resume (Jonathan Toppins) [1801111] - [fs] cifs: fix soft mounts hanging in the reconnect code (Leif Sahlberg) [1795423] - [kernel] audit: CONFIG_CHANGE don't log internal bookkeeping as an event (Richard Guy Briggs) [1798512] - [security] selinux: reorder hooks to make runtime disable less broken (Ondrej Mosnacek) [1778990] - [scsi] scsi: qla2xxx: Fix unbound NVME response length (Himanshu Madhani) [1796480] - [isdn] misdn: enforce CAP_NET_RAW for raw sockets (Andrea Claudi) [1779475] {CVE-2019-17055}- [fs] Revert: f5bcc37b81fc ("namei: allow restricted O_CREAT of FIFOs and regular files") (Eric Sandeen) [1801468] - [fs] Revert: 433cbb6cf0ae ("quota: honor quota type in Q_XGETQSTATcalls") (Eric Sandeen) [1800435] - [infiniband] RDMA/siw: Fix setting active_mtu attribute (Kamal Heib) [1797199] - [infiniband] RDMA/hfi1: Fix memory leak in _dev_comp_vect_mappings_create (Kamal Heib) [1733690] - [scsi] scsi: lpfc: Fix release of hwq to clear the eq relationship (Dick Kennedy) [1798661] - [x86] kvm/hyper-v: don't allow to turn on unsupported VMX controls for nested guests (Vitaly Kuznetsov) [1786288] - [x86] kvm/hyper-v: move VMX controls sanitization out of nested_enable_evmcs() (Vitaly Kuznetsov) [1786288] - [x86] kvm/hyper-v: remove stale evmcs_already_enabled check from nested_enable_evmcs() (Vitaly Kuznetsov) [1786288] - [x86] kvm: svm: relax conditions for allowing MSR_IA32_SPEC_CTRL accesses (Paolo Bonzini) [1796417] - [x86] kvm: x86: avoid incorrect writes to host MSR_IA32_SPEC_CTRL (Paolo Bonzini) [1796417] - [tools] selftests: netfilter: Introduce tests for sets with range concatenation (Stefano Brivio) [1593711] - [net] nf_tables: Add set type for arbitrary concatenation of ranges (Stefano Brivio) [1593711] - [lib] bitmap: Introduce bitmap_cut(): cut bits and shift remaining (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: Support for sets with multiple ranged fields (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: add NFTA_SET_ELEM_KEY_END attribute (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: add nft_setelem_parse_key() (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: validate NFT_DATA_VALUE after nft_data_init() (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: validate NFT_SET_ELEM_INTERVAL_END (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: remove unused parameter ctx (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: remove unused variable (Stefano Brivio) [1593711] - [ptp] ptp: free ptp device pin descriptors properly (Vladis Dronov) [1787568] - [ptp] ptp: fix the race between the release of ptp_clock and cdev (Vladis Dronov) [1787568] - [ptp] ptp: Fix pass zero to ERR_PTR() in ptp_clock_register (Vladis Dronov) [1787568]- [fs] NFSv4: pnfs_roc() must use cred_fscmp() to compare creds (Benjamin Coddington) [1800893] - [drm] drm/nouveau/kms/gv100-: avoid sending a core update until the first modeset (Ben Skeggs) [1801091] - [drm] drm/nouveau/kms/gv100-: move window ownership setup into modesetting path (Ben Skeggs) [1801091] - [drm] drm/nouveau/disp/gv100-: halt NV_PDISP_FE_RM_INTR_STAT_CTRL_DISP_ERROR storms (Ben Skeggs) [1801091] - [drm] drm/nouveau: Add HD-audio component notifier support (Ben Skeggs) [1792191] - [netdrv] net/mlx5: Fix deadlock in fs_core (Alaa Hleihel) [1786630] - [drm] drm/amd/dm/mst: Ignore payload update failures (Lyude Paul) [1773800 1773795] - [kernel] sched/rt: Optimize checking group RT scheduler constraints (Phil Auld) [1797106] - [fs] cifs: Fix mount options set in automount (Dave Wysochanski) [1790922]- [kernel] timers/nohz: Update NOHZ load in remote tick (Scott Wood) [1791434] - [kernel] sched/core: Don't skip remote tick for idle CPUs (Scott Wood) [1791434] - [drm] drm/amdgpu/vi: silence an uninitialized variable warning (Lyude Paul) [1792565] - [drm] drm: panel-lvds: Potential Oops in probe error handling (Lyude Paul) [1792565] - [drm] drm/i915: Fix pid leak with banned clients (Lyude Paul) [1792565] - [drm] drm/amdgpu: allow direct upload save restore list for raven2 (Lyude Paul) [1792565] - [drm] drm/amd/display: Reorder detect_edp_sink_caps before link settings read (Lyude Paul) [1792565] - [drm] drm/i915: Add missing include file (Lyude Paul) [1792565] - [drm] drm/amdgpu: enable gfxoff for raven1 refresh (Lyude Paul) [1792565] - [drm] drm/amdgpu/discovery: reserve discovery data at the top of VRAM (Lyude Paul) [1792565] - [drm] drm/amdgpu: cleanup creating BOs at fixed location (v2) (Lyude Paul) [1792565] - [drm] drm/tegra: Fix ordering of cleanup code (Lyude Paul) [1792565] - [drm] drm/i915/gen9: Clear residual context state on context switch (Lyude Paul) [1792565] - [drm] drm/i915: Add Wa_1407352427:icl,ehl (Lyude Paul) [1792565] - [drm] drm/dp_mst: correct the shifting in DP_REMOTE_I2C_READ (Lyude Paul) [1792565] - [drm] drm/fb-helper: Round up bits_per_pixel if possible (Lyude Paul) [1792565] - [drm] drm/i915: Add Wa_1408615072 and Wa_1407596294 to icl, ehl (Lyude Paul) [1792565] - [drm] drm/amdgpu/smu: add metrics table lock for vega20 (v2) (Lyude Paul) [1792565] - [drm] drm/amdgpu/smu: add metrics table lock for navi (v2) (Lyude Paul) [1792565] - [drm] drm/amdgpu/smu: add metrics table lock (Lyude Paul) [1792565] - [drm] drm/nouveau/kms/nv50-: fix panel scaling (Lyude Paul) [1792565 1741114] - [drm] drm/nouveau: Fix drm-core using atomic code-paths on pre-nv50 hardware (Lyude Paul) [1792565] - [drm] drm/nouveau: Move the declaration of struct nouveau_conn_atom up a bit (Lyude Paul) [1792565] - [drm] drm/amd/display: Reset steer fifo before unblanking the stream (Lyude Paul) [1792565] - [drm] drm/amd/display: Change the delay time before enabling FEC (Lyude Paul) [1792565] - [drm] drm/amd/display: Fixed kernel panic when booting with DP-to-HDMI dongle (Lyude Paul) [1792565] - [drm] drm/amdgpu: add cache flush workaround to gfx8 emit_fence (Lyude Paul) [1792565] - [drm] drm/amdgpu: add check before enabling/disabling broadcast mode (Lyude Paul) [1792565] - [drm] drm: limit to INT_MAX in create_blob ioctl (Lyude Paul) [1792565] - [drm] drm/amdgpu: Call find_vma under mmap_sem (Lyude Paul) [1792565] - [drm] drm/amdgpu: fix uninitialized variable pasid_mapping_needed (Lyude Paul) [1792565] - [drm] drm/amdgpu: fix bad DMA from INTERRUPT_CNTL2 (Lyude Paul) [1792565] - [drm] drm/amdgpu: Avoid accidental thread reactivation (Lyude Paul) [1792565] - [drm] drm/amdgpu: fix potential double drop fence reference (Lyude Paul) [1792565] - [drm] drm/amdgpu: disallow direct upload save restore list from gfx driver (Lyude Paul) [1792565] - [gpu] gpu: host1x: Allocate gather copy for host1x (Lyude Paul) [1792565] - [drm] drm/tegra: sor: Use correct SOR index on Tegra210 (Lyude Paul) [1792565] - [drm] drm/amd/display: correctly populate dpp refclk in fpga (Lyude Paul) [1792565] - [drm] drm: Don't free jobs in wait_event_interruptible() (Lyude Paul) [1792565] - [drm] drm/gma500: fix memory disclosures due to uninitialized bytes (Lyude Paul) [1792565] - [drm] drm/amdgpu: fix amdgpu trace event print string format error (Lyude Paul) [1792565] - [drm] drm/amd/powerplay: avoid disabling ECC if RAS is enabled for VEGA20 (Lyude Paul) [1792565] - [drm] drm/bridge: dw-hdmi: Restore audio when setting a mode (Lyude Paul) [1792565] - [drm] drm/amd/display: Program DWB watermarks from correct state (Lyude Paul) [1792565] - [drm] drm/amd/display: Fix dongle_caps containing stale information (Lyude Paul) [1792565] - [drm] drm/amd/display: add new active dongle to existent w/a (Lyude Paul) [1792565] - [drm] drm/amd/display: refactor Device ID for external chips (Lyude Paul) [1792565] - [drm] drm/amd/display: wait for set pipe mcp command completion (Lyude Paul) [1792565] - [drm] drm/amd/display: Properly round nominal frequency for SPD (Lyude Paul) [1792565] - [drm] drm/drm_vblank: Change EINVAL by the correct errno (Lyude Paul) [1792565] - [drm] drm/amdkfd: Fix MQD size calculation (Lyude Paul) [1792565] - [drm] drm/bridge: dw-hdmi: Refuse DDC/CI transfers on the internal I2C controller (Lyude Paul) [1792565] - [drm] drm/amd/display: set minimum abm backlight level (Lyude Paul) [1792565] - [drm] drm/amd/display: load iram for abm 2.3 (Lyude Paul) [1792565] - [drm] drm/amd/powerplay: A workaround to GPU RESET on APU (Lyude Paul) [1792565] - [drm] drm/amdkfd: fix a potential NULL pointer dereference (v2) (Lyude Paul) [1792565] - [drm] drm/amd/display: Set number of pipes to 1 if the second pipe was disabled (Lyude Paul) [1792565] - [drm] drm/amd/display: Handle virtual signal type in disable_link() (Lyude Paul) [1792565] - [drm] drm/ttm: return -EBUSY on pipelining with no_gpu_wait (v2) (Lyude Paul) [1792565] - [drm] drm/amdgpu: grab the id mgr lock while accessing passid_mapping (Lyude Paul) [1792565] - [drm] drm/amdgpu/sriov: add ring_stop before ring_create in psp v11 code (Lyude Paul) [1792565] - [drm] drm/bridge: analogix-anx78xx: silence -EPROBE_DEFER warnings (Lyude Paul) [1792565] - [drm] drm/amd/display: verify stream link before link test (Lyude Paul) [1792565] - [drm] drm: Use EOPNOTSUPP, not ENOTSUPP (Lyude Paul) [1792565] - [drm] drm/mipi-dbi: fix a loop in debugfs code (Lyude Paul) [1792565] - [drm] drm: mst: Fix query_payload ack reply struct (Lyude Paul) [1792565] - [drm] Revert "drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper." (Lyude Paul) [1792565] - [drm] drm/amdgpu: add invalidate semaphore limit for SRIOV and picasso in gmc9 (Lyude Paul) [1792565] - [drm] drm/amdgpu: avoid using invalidate semaphore for picasso (Lyude Paul) [1792565] - [drm] drm/amdgpu/gfx10: re-init clear state buffer after gpu reset (Lyude Paul) [1792565] - [drm] drm/amdgpu/gfx10: explicitly wait for cp idle after halt/unhalt (Lyude Paul) [1792565] - [drm] drm/amdgpu: invalidate mmhub semaphore workaround in gmc9/gmc10 (Lyude Paul) [1792565] - [drm] drm/amdgpu: set adev->num_vmhubs for gmc6, 7, 8 (Lyude Paul) [1792565] - [drm] drm/amdgpu: Export function to flush TLB of specific vm hub (Lyude Paul) [1792565] - [drm] drm/amdgpu: add new member in amdgpu_device for vmhub counts per asic chip (Lyude Paul) [1792565] - [drm] drm/amdgpu: rename AMDGPU_GFXHUB/MMHUB macro with hub number (Lyude Paul) [1792565] - [drm] drm/amdgpu: initialize vm_inv_eng0_sem for gfxhub and mmhub (Lyude Paul) [1792565] - [drm] drm/amd/display: add default clocks if not able to fetch them (Lyude Paul) [1792565] - [drm] drm/amd/display: re-enable wait in pipelock, but add timeout (Lyude Paul) [1792565] - [drm] drm/dp_mst: Correct the bug in drm_dp_update_payload_part1() (Lyude Paul) [1792565] - [drm] drm/radeon: fix r1xx/r2xx register checker for POT textures (Lyude Paul) [1792565] - [drm] drm/i915/fbc: Disable fbc by default on all glk+ (Lyude Paul) [1792565] - [drm] drm/nouveau/kms/nv50-: Limit MST BPC to 8 (Lyude Paul) [1792565 1773804] - [drm] drm/nouveau/kms/nv50-: Store the bpc we're using in nv50_head_atom (Lyude Paul) [1792565 1773804] - [drm] drm/nouveau/kms/nv50-: Call outp_atomic_check_view() before handling PBN (Lyude Paul) [1792565 1773804] - [drm] drm/mgag200: Flag all G200 SE A machines as broken wrt (Lyude Paul) [1792565] - [drm] drm/mgag200: Add workaround for HW that does not support 'startadd' (Lyude Paul) [1792565] - [drm] drm/mgag200: Store flags from PCI driver data in device structure (Lyude Paul) [1792565] - [drm] drm/mgag200: Extract device type from flags (Lyude Paul) [1792565] - [dma-buf] dma-buf: Fix memory leak in sync_file_merge() (Lyude Paul) [1792565] - [video] video/hdmi: Fix AVI bar unpack (Lyude Paul) [1792565] - [drm] drm: damage_helper: Fix race checking plane->state->fb (Lyude Paul) [1792565] - [drm] drm/i915: Fix detection for a CMP-V PCH (Lyude Paul) [1792565] - [x86] Mark AMD Ryzen 7 as supported (David Arcari) [1797317] - [x86] Mark AMD Ryzen 5 as supported (David Arcari) [1718051] - [mm] mm/sparse.c: reset section's mem_map when fully deactivated (Pingfan Liu) [1797848] - [drm] drm/mgag200: Don't unpin the current cursor image's buffer (Lyude Paul) [1784290] - [drm] drm/mgag200: Set cursor scanout address to correct BO (Lyude Paul) [1784290] - [drm] drm/mgag200: Pin displayed cursor BO to video memory (Lyude Paul) [1784290] - [tools] Correction to manpage of cpupower (Prarit Bhargava) [1796139] - [fs] cifs: fix soft mounts hanging in the reconnect code (Dave Wysochanski) [1795429] - [net] ipv6_stub: use ip6_dst_lookup_flow instead of ip6_dst_lookup (Sabrina Dubroca) [1774440] - [net] ipv6: add net argument to ip6_dst_lookup_flow (Sabrina Dubroca) [1774440] - [netdrv] can: peak_usb: fix slab info leak (Guillaume Nault) [1787486] {CVE-2019-19534} - [netdrv] vxlan: fix tos value before xmit (Hangbin Liu) [1786075] - [net] netfilter: nft_tproxy: Fix port selector on Big Endian (Phil Sutter) [1781481] - [net] devlink: Change devlink health locking mechanism (Petr Oros) [1785997] - [net] xfrm: Fix memleak on xfrm state destroy (Xin Long) [1780470] - [net] erspan: remove the incorrect mtu limit for erspan (Hangbin Liu) [1783871] - [net] ieee802154: enforce CAP_NET_RAW for raw sockets (Andrea Claudi) [1779495] {CVE-2019-17053} - [net] netfilter: masquerade: don't flush all conntracks if only one address deleted on device (Patrick Talbert) [1772334]- [mm] memcg: Add preemption point in accumulate_memcg_tree() (Waiman Long) [1795049] - [edac] EDAC: skx_common: downgrade message importance on missing PCI device (Aristeu Rozanski) [1775511] - [infiniband] IB/core: Do not notify GID change event of an unregistered device (Kamal Heib) [1787333] - [infiniband] IB/core: Let IB core distribute cache update events (Kamal Heib) [1787333] - [arm64] arm64: kexec: always reset to EL2 if present (Bhupesh Sharma) [1794805] - [tools] perf header: Use last modification time for timestamp (Michael Petlan) [1791258] - [netdrv] net/mlx5e: Enable all available stats for uplink reps (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Create q counters on uplink representors (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Convert rep stats to mlx5e_stats_grp-based infra (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: IPoIB, use separate stats groups (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Convert stats groups array to array of group pointers (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Declare stats groups via macro (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Profile specific stats groups (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Move uplink rep init/cleanup code into own functions (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Add discard counters per priority (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Add port buffer's congestion counters (Alaa Hleihel) [1786321] - [netdrv] net/mlx5: Expose HW capability bits for port buffer per priority congestion counters (Alaa Hleihel) [1786321] - [netdrv] qede: Fix multicast mac configuration (Manish Chopra) [1784894] - [thunderbolt] thunderbolt: Drop unnecessary read when writing LC command in Ice Lake (Jarod Wilson) [1784568] - [thunderbolt] thunderbolt: Fix lockdep circular locking depedency warning (Jarod Wilson) [1784568] - [thunderbolt] thunderbolt: Read DP IN adapter first two dwords in one go (Jarod Wilson) [1784568]- [pci] PCI/PM: Move pci_dev_wait() definition earlier (Myron Stowe) [1794266] - [pci] PCI/PM: Add missing link delays required by the PCIe spec (Myron Stowe) [1794266] - [pci] PCI/PM: Add pcie_wait_for_link_delay() (Myron Stowe) [1794266] - [pci] PCI/PM: Return error when changing power state from D3cold (Myron Stowe) [1794266] - [pci] PCI/PM: Decode D3cold power state correctly (Myron Stowe) [1794266] - [pci] PCI/PM: Fold __pci_complete_power_transition() into its caller (Myron Stowe) [1794266] - [pci] PCI/PM: Avoid exporting __pci_complete_power_transition() (Myron Stowe) [1794266] - [pci] PCI/PM: Fold __pci_start_power_transition() into its caller (Myron Stowe) [1794266] - [pci] PCI/PM: Use pci_power_up() in pci_set_power_state() (Myron Stowe) [1794266] - [pci] PCI/PM: Move power state update away from pci_power_up() (Myron Stowe) [1794266] - [pci] PCI/PM: Remove unused pci_driver.suspend_late() hook (Myron Stowe) [1794266] - [pci] PCI/PM: Remove unused pci_driver.resume_early() hook (Myron Stowe) [1794266] - [xen] xen-platform: Convert to generic power management (Myron Stowe) [1794266] - [pci] PCI/PM: Simplify pci_set_power_state() (Myron Stowe) [1794266] - [pci] PCI/PM: Expand PM reset messages to mention D3hot (not just D3) (Myron Stowe) [1794266] - [pci] PCI/PM: Apply D2 delay as milliseconds, not microseconds (Myron Stowe) [1794266] - [pci] PCI/PM: Use pci_WARN() to include device information (Myron Stowe) [1794266] - [pci] PCI/PM: Use PCI dev_printk() wrappers for consistency (Myron Stowe) [1794266] - [pci] PCI/PM: Make power management op coding style consistent (Myron Stowe) [1794266] - [pci] PCI/PM: Run resume fixups before disabling wakeup events (Myron Stowe) [1794266] - [pci] PCI/PM: Clear PCIe PME Status even for legacy power management (Myron Stowe) [1794266] - [pci] PCI/PM: Always return devices to D0 when thawing (Myron Stowe) [1794266] - [pci] PCI: PM: Fix pci_power_up() (Myron Stowe) [1794266] - [pci] PCI: Make pcie_downstream_port() available outside of access.c (Myron Stowe) [1794266] - [pci] PCI: Add pci_info_ratelimited() to ratelimit PCI separately (Myron Stowe) [1794266] - [pci] PCI: PM: Simplify bus-level hibernation callbacks (Myron Stowe) [1794266] - [pci] PCI: Do not poll for PME if the device is in D3cold (Myron Stowe) [1794266] - [pci] PCI: PM: Replace pci_dev_keep_suspended() with two functions (Myron Stowe) [1794266] - [pci] PCI: PM: Avoid resuming devices in D3hot during system suspend (Myron Stowe) [1794266] - [pci] PCI: PM: Avoid skipping bus-level PM on platforms without ACPI (Myron Stowe) [1794266] - [pci] treewide: Switch printk users from pf and pF to ps and pS, respectively (Myron Stowe) [1794266] - [sound] ALSA: Use the legacy HDA driver as default for Intel DSP platforms (Jaroslav Kysela) [1793227] - [nvme] nvme: nvme_mpath_init remove multipath check (David Milburn) [1790958] - [mm] mm/page-writeback.c: don't break integrity writeback on ->writepage() error (Christoph von Recklinghausen) [1782117] - [arm64] arm64: Revert support for execute-only user mappings (Jeremy Linton) [1788629] - [powerpc] powerpc/papr_scm: Don't enable direct map for a region by default (Steve Best) [1795706]- [tools] selftests/eeh: Bump EEH wait time to 60s (Steve Best) [1783199] - [tools] tools/kvm_stat: Fix kvm_exit filter name (Gavin Shan) [1780345] - [infiniband] RDMA/bnxt_re: Report more number of completion vectors (Selvin Xavier) [1788037 1753515] - [infiniband] RDMA/bnxt_re: Fix Send Work Entry state check while polling completions (Selvin Xavier) [1788037] - [infiniband] RDMA/bnxt_re: Fix missing le16_to_cpu (Selvin Xavier) [1788037] - [infiniband] RDMA/bnxt_re: Avoid freeing MR resources if dereg fails (Selvin Xavier) [1788037 1737147] - [infiniband] RDMA/bnxt_re: Fix stat push into dma buffer on gen p5 devices (Selvin Xavier) [1788037 1771855] - [infiniband] RDMA/bnxt_re: Fix chip number validation Broadcom's Gen P5 series (Selvin Xavier) [1788037 1783943] - [netdrv] net/mlx5e: Clear VF config when switching modes (mohamad meib) [1787276] - [base] drivers/base/memory.c: cache memory blocks in xarray to accelerate lookup fixup (David Hildenbrand) [1789900] - [base] drivers/base/memory.c: cache memory blocks in xarray to accelerate lookup (David Hildenbrand) [1789900] - [base] drivers/base/memory.c: drop the mem_sysfs_mutex (David Hildenbrand) [1789900] - [base] driver/base/memory.c: validate memory block size early (David Hildenbrand) [1789900] - [fs] block: Don't revalidate bdev of hidden gendisk (David Milburn) [1779342] - [scsi] scsi: virtio_scsi: unplug LUNs when events missed (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: implement request batching (Maxim Levitsky) [1614188] - [scsi] scsi: core: fix dh and multipathing for SCSI hosts without request batching (Maxim Levitsky) [1614188] - [scsi] scsi: core: fix missing .cleanup_rq for SCSI hosts without request batching (Maxim Levitsky) [1614188] - [scsi] scsi: core: add support for request batching (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: Use struct_size() helper (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: remove unused 'affinity_hint_set' (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: Use HCTX_TYPE_DEFAULT for blk_mq_tag_set->map (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: don't send sc payload with tmfs (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: Remove per-target data because it is no longer used (Maxim Levitsky) [1614188] - [powerpc] powerpc/pseries/lparcfg: Fix display of Maximum Memory (Steve Best) [1795622] - [powerpc] powernv: Don't reprogram SLW image on every KVM guest entry/exit (Laurent Vivier) [1751078] - [x86] Mark certain versions of Comet Lake as supported (David Arcari) [1794198] - [s390] s390/dasd: Disable Thin Provisioning to prevent data loss (Philipp Rudo) [1793461]- [x86] kvm: x86/mmu: Take slots_lock when using kvm_mmu_zap_all_fast() (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] kvm: x86: disable shattered huge page recovery for PREEMPT_RT (Paolo Bonzini) [1690344] {CVE-2018-12207} - [documentation] documentation: Add ITLB_MULTIHIT documentation (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] kvm: x86: mmu: Recovery of shattered NX large pages (Paolo Bonzini) [1690344] {CVE-2018-12207} - [virt] kvm: Add helper function for creating VM worker threads (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] kvm: mmu: ITLB_MULTIHIT mitigation (Paolo Bonzini) [1690344] {CVE-2018-12207} - [kernel] cpu/speculation: Uninline and export CPU mitigations helpers (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] cpu: Add Tremont to the cpu vulnerability whitelist (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] bugs: Add ITLB_MULTIHIT bug infrastructure (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] kvm: vmx, svm: always run with EFER.NXE=1 when shadow paging is active (Paolo Bonzini) [1690344] {CVE-2018-12207} - [crypto] crypto: hmac - fix memory leak in hmac_init_tfm() (Herbert Xu) [1775858] - [crypto] crypto: hash - fix incorrect HASH_MAX_DESCSIZE (Herbert Xu) [1775858] - [nvme] nvme: Translate more status codes to blk_status_t (Gopal Tiwari) [1781537] - [include] nvme: resync include/linux/nvme.h with nvmecli (Gopal Tiwari) [1781537] - [netdrv] hv_netvsc: Fix memory leak when removing rndis device (Mohammed Gamal) [1733007] - [fs] cifs: Fix memory allocation in __smb2_handle_cancelled_cmd() (Dave Wysochanski) [1793182] - [tools] perf c2c: Fix report with offline cpus (Michael Petlan) [1744903] - [kernel] locking/rwsem: Fix kernel crash when spinning on RWSEM_OWNER_UNKNOWN (Waiman Long) [1793028] - [mm] mm/memory_hotplug: don't free usage map when removing a re-added early section (Pingfan Liu) [1787269] - [netdrv] iavf: remove current MAC address filter on VF reset (Stefan Assmann) [1735725 1738738] - [dma] dma-mapping: fix handling of dma-ranges for reserved memory (again) (Jerry Snitselaar) [1784691]- [fs] pnfs/filelayout: enable LAYOUTGET on OPEN (Steve Dickson) [1756140] - [fs] NFSD fixing possible null pointer derefering in copy offload (Benjamin Coddington) [1763220] - [fs] nfsd: Ensure CLONE persists data and metadata changes to the target file (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix backchannel latency metrics (Benjamin Coddington) [1763220] - [fs] NFSv4.x: Drop the slot if nfs4_delegreturn_prepare waits for layoutreturn (Benjamin Coddington) [1763220] - [fs] NFSv4.x: Handle bad/dead sessions correctly in nfs41_sequence_process() (Benjamin Coddington) [1763220] - [fs] NFS: Fix an RCU lock leak in nfs4_refresh_delegation_stateid() (Benjamin Coddington) [1763220] - [fs] NFSv4: Don't allow a cached open with a revoked delegation (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix svcauth_gss_proxy_init() (Benjamin Coddington) [1763220] - [net] SUNRPC: The TCP back channel mustn't disappear while requests are outstanding (Benjamin Coddington) [1763220] - [net] xprtrdma: Close window between waking RPC senders and posting Receives (Benjamin Coddington) [1763220] - [net] xprtrdma: Connection becomes unstable after a reconnect (Benjamin Coddington) [1763220] - [net] xprtrdma: Add unique trace points for posting Local Invalidate WRs (Benjamin Coddington) [1763220] - [net] sunrpc: fix crash when cache_head become valid before update (Benjamin Coddington) [1763220] - [fs] nfsd4: fix up replay_matches_cache() (Benjamin Coddington) [1763220] - [fs] NFSv4: Fix leak of clp->cl_acceptor string (Benjamin Coddington) [1763220] - [fs] pNFS: Ensure we do clear the return-on-close layout stateid on fatal errors (Benjamin Coddington) [1763220] - [fs] NFS: Fix O_DIRECT accounting of number of bytes read/written (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix another issue with MIC buffer space (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix buffer handling of GSS MIC without slack (Benjamin Coddington) [1763220] - [fs] Revert "NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated" (Benjamin Coddington) [1763220] - [net] SUNRPC: Don't handle errors if the bind/connect succeeded (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix congestion window race with disconnect (Benjamin Coddington) [1763220] - [net] SUNRPC: Don't try to parse incomplete RPC messages (Benjamin Coddington) [1763220] - [net] SUNRPC: Don't receive TCP data into a request buffer that has been reset (Benjamin Coddington) [1763220] - [net] SUNRPC: Dequeue the request from the receive queue while we're re-encoding (Benjamin Coddington) [1763220] - [net] SUNRPC: Handle connection breakages correctly in call_status() (Benjamin Coddington) [1763220] - [net] xprtrdma: Toggle XPRT_CONGESTED in xprtrdma's slot methods (Benjamin Coddington) [1763220] - [fs] NFS: Ensure O_DIRECT reports an error if the bytes read/written is 0 (Benjamin Coddington) [1763220] - [fs] NFSv4/pnfs: Fix a page lock leak in nfs_pageio_resend() (Benjamin Coddington) [1763220] - [fs] NFS: Fix regression whereby fscache errors are appearing on 'nofsc' mounts (Benjamin Coddington) [1763220] - [fs] NFSv4: Fix a potential sleep while atomic in nfs4_do_reclaim() (Benjamin Coddington) [1763220] - [fs] NFSv4.1: Only reap expired delegations (Benjamin Coddington) [1763220] - [fs] NFSv4.1: Fix open stateid recovery (Benjamin Coddington) [1763220] - [fs] NFSv4: Fix a credential refcount leak in nfs41_check_delegation_stateid (Benjamin Coddington) [1763220] - [fs] NFSv4: Handle the special Linux file open access mode (Benjamin Coddington) [1763220] - [fs] nfsd: Fix overflow causing non-working mounts on 1 TB machines (Benjamin Coddington) [1763220] - [md] md: make sure desc_nr less than MD_SB_DISKS (Nigel Croxon) [1769057] - [md] md: raid1: check rdev before reference in raid1_sync_request func (Nigel Croxon) [1769057] - [md] md/raid10: prevent access of uninitialized resync_pages offset (Nigel Croxon) [1769057] - [md] md: avoid invalid memory access for array sb->dev_roles (Nigel Croxon) [1769057] - [md] md/raid1: avoid soft lockup under high load (Nigel Croxon) [1769057] - [md] md: no longer compare spare disk superblock events in super_load (Nigel Croxon) [1769057] - [md] md: improve handling of bio with REQ_PREFLUSH in md_flush_request() (Nigel Croxon) [1769057] - [md] md/bitmap: avoid race window between md_bitmap_resize and bitmap_file_clear_bit (Nigel Croxon) [1769057] - [md] md/raid0: Fix an error message in raid0_make_request() (Nigel Croxon) [1769057] - [md] md/raid0: fix warning message for parameter default_layout (Nigel Croxon) [1769057] - [netdrv] net/mlx5: DR, Init lists that are used in rule's member (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, No need for atomic refcount for internal SW steering resources (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Create multiple destination action from dr_create_fte (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Add support for multiple destination table action (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Align dest FT action creation to API (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Pass table flags at creation to lower layer (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Create multi-destination table for SW-steering use (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Create FTE entry in the FW from SW-steering (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Use attributes struct for FW flow table creation (Alaa Hleihel) [1775986] - [drm] drm/amd/display: fix struct init in update_bounding_box (Don Dutile) [1784621] - [tools] perf/x86/pmu-events: Fix Kernel_Utilization metric (Michael Petlan) [1788434] - [tools] perf vendor events intel: Update all the Intel JSON metrics from TMAM 3.6 (Michael Petlan) [1788434] - [tools] perf vendor events intel: Update CascadelakeX events to v1.05 (Michael Petlan) [1788434] - [tools] cpupower: mperf_monitor: Update cpupower to use the RDPRU instruction (Janakarajan Natarajan) [1766357] - [tools] cpupower: mperf_monitor: Introduce per_cpu_schedule flag (Janakarajan Natarajan) [1766357] - [tools] cpupower: Move needs_root variable into a sub-struct (Janakarajan Natarajan) [1766357] - [mm] coredump: fix race condition between collapse_huge_page() and core dumping (Andrea Arcangeli) [1722986] - [mm] memcg, oom: don't require __GFP_FS when invoking memcg OOM killer (Waiman Long) [1791170] - [uapi] mm: move MAP_SYNC to asm-generic/mman-common.h (Jeff Moyer) [1791539]- [linux] ptr_ring: wrap back ->producer in __ptr_ring_swap_queue() (Lu Lu) [1663784] - [virtio] virtio-balloon: fix managed page counts when migrating pages between zones (David Hildenbrand) [1689800] - [infiniband] IB/mlx4: Follow mirror sequence of device add during device removal (mohamad meib) [1786042] - [netdrv] gve: Fix the queue page list allocated pages count (Patricio Noyola) [1789114] - [netdrv] gve: fix dma sync bug where not all pages synced (David Awogbemila) [1790957] - [netdrv] gve: Fixes DMA synchronization (David Awogbemila) [1789027] - [net] SUNRPC: Ignore queue transmission errors on successful transmission (Benjamin Coddington) [1769367] - [net] Revert "SUNRPC: Micro-optimise when the task is known not to be sleeping" (Benjamin Coddington) [1769367] - [net] SUNRPC: Fix up calculation of client message length (Benjamin Coddington) [1769367] - [net] Merge tag 'nfs-rdma-for-5.1-1' of git://git.linux-nfs.org/projects/anna/linux-nfs (Benjamin Coddington) [1769367] - [char] tpm: Revert "tpm_tis_core: Turn on the TPM before probing IRQ's" (Jerry Snitselaar) [1789088] - [char] tpm: Revert "tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts" (Jerry Snitselaar) [1789088] - [tools] perf jvmti: Link against tools/lib/ctype.h to have weak strlcpy() (Michael Petlan) [1786048] - [tools] perf jvmti: Link against tools/lib/string.o to have weak strlcpy() (Michael Petlan) [1786048] - [kernel] kprobes: Show address of kprobes if kallsyms does (Michael Petlan) [1747099] - [kernel] genirq/debugfs: Reset domain debugfs_file on removal of the debugfs file (Mohammed Gamal) [1782640] - [powerpc] powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest (Steve Best) [1789594]- [platform] x86: intel_pmc_core: Add Comet Lake (CML) platform support to intel_pmc_core driver (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Fix the SoC naming inconsistency (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core_pltdrv: Module removal warning fix (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Do not ioremap RAM (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: Remove dev_err() usage after platform_get_irq() (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Add ICL-NNPI support to PMC Core (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Attach using APCI HID "INT33A1" (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: transform Pkg C-state residency from TSC ticks into microseconds (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc: no need to check return value of debugfs_create functions (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Allow to dump debug registers on S0ix failure (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Convert to a platform_driver (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: Don't map non-used optional resources (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: Apply same width for offset definitions (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: Use BIT() macro (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Mark local function static (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: adding error handling (Lenny Szubowicz) [1773793] - [mm] memory_hotplug: cleanup __remove_pages() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: drop local variables in shrink_zone_span() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: don't check for "all holes" in shrink_zone_span() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: we always have a zone in find_(smallest|biggest)_section_pfn (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: poison memmap in remove_pfn_range_from_zone() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: shrink zones when offlining memory (Christoph von Recklinghausen) [1766491] - [mm] memmap_init: update variable name in memmap_init_zone (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: don't access uninitialized memmaps in shrink_zone_span() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: fix try_offline_node() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: fix updating the node span (Christoph von Recklinghausen) [1766491] - [mm] hugetlbfs: don't access uninitialized memmaps in pfn_range_valid_gigantic() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: don't access uninitialized memmaps in shrink_pgdat_span() (Christoph von Recklinghausen) [1766491] - [mm] page_owner: don't access uninitialized memmaps when reading /proc/pagetypeinfo (Christoph von Recklinghausen) [1766491] - [mm] memory-failure.c: don't access uninitialized memmaps in memory_failure() (Christoph von Recklinghausen) [1766491] - [fs] proc/page.c: don't access uninitialized memmaps in fs/proc/page.c (Christoph von Recklinghausen) [1766491] - [base] base/memory.c: don't access uninitialized memmaps in soft_offline_page_store() (Christoph von Recklinghausen) [1766491] - [base] base/node.c: simplify unregister_memory_block_under_nodes() (Christoph von Recklinghausen) [1766491] - [kernel] /proc/kpagecount: return 0 for special pages that are never mapped (Christoph von Recklinghausen) [1766491] - [netdrv] fm10k: fix fm10k_get_fault_pf to read correct address (Neil Horman) [1721716] - [netdrv] fm10k: convert NON_Q_VECTORS(hw) into NON_Q_VECTORS (Neil Horman) [1721716] - [netdrv] fm10k: mark unused parameters with __always_unused (Neil Horman) [1721716] - [netdrv] fm10k: cast page_addr to u8 * when incrementing it (Neil Horman) [1721716] - [netdrv] fm10k: explicitly return 0 on success path in function (Neil Horman) [1721716] - [netdrv] fm10k: remove needless initialization of size local variable (Neil Horman) [1721716] - [netdrv] fm10k: remove needless assignment of err local variable (Neil Horman) [1721716] - [netdrv] fm10k: remove unnecessary variable initializer (Neil Horman) [1721716] - [netdrv] fm10k: reduce scope of the ring variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the result local variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the local msg variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the local i variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the err variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the tx_buffer variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the q_idx local variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of local err variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of qv local variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce scope of *p local variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce scope of the err variable (Neil Horman) [1721716] - [netdrv] fm10k: Use dev_get_drvdata (Neil Horman) [1721716] - [crypto] crypto: qat - Silence smp_processor_id() warning (Neil Horman) [1723573] - [crypto] crypto: qat - use struct_size() helper (Neil Horman) [1723573] - [crypto] crypto: qat - do not offload zero length requests (Neil Horman) [1723573] - [crypto] crypto: qat - return error for block ciphers for invalid requests (Neil Horman) [1723573] - [crypto] crypto: qat - return proper error code in setkey (Neil Horman) [1723573] - [crypto] crypto: qat - fix block size for aes ctr mode (Neil Horman) [1723573] - [crypto] crypto: qat - update iv after encryption or decryption operations (Neil Horman) [1723573] - [crypto] crypto: qat - add check for negative offset in alg precompute function (Neil Horman) [1723573] - [crypto] crypto: qat - remove spin_lock in qat_ablkcipher_setkey (Neil Horman) [1723573] - [crypto] treewide: Add SPDX license identifier - Makefile/Kconfig (Neil Horman) [1723573] - [crypto] crypto: shash - remove shash_desc::flags (Neil Horman) [1723573] - [crypto] crypto: rsa - unimplement sign/verify for raw RSA backends (Neil Horman) [1723573] - [hv] Revert "hv: vmbus: Implement suspend/resume for VSC drivers for hibernation" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Ignore the offers when resuming from hibernation" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Suspend/resume the vmbus itself for hibernation" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Clean up hv_sock channels by force upon suspend" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Suspend after cleaning up hv_sock and sub channels" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Resume after fixing up old primary channels" (Mohammed Gamal) [1788082] - [hv] Revert "vmbus: Fix harmless building warnings without CONFIG_PM_SLEEP" (Mohammed Gamal) [1788082] - [x86] kvm: vmx: Introduce handle_unexpected_vmexit and handle WAITPKG vmexit (Paul Lai) [1494707] - [x86] kvm: vmx: Emulate MSR IA32_UMWAIT_CONTROL (Paul Lai) [1494707] - [x86] kvm: x86: Add support for user wait instructions (Paul Lai) [1494707] - [tools] tools arch x86: Update tools's copy of cpufeatures.h (Paul Lai) [1494707] - [kvm] KVM: x86: expose AVX512_BF16 feature to guest (Paul Lai) [1642539] - [x86] x86/cpufeatures: Enumerate the new AVX512 BFLOAT16 instructions (Paul Lai) [1642539] - [block] rbd: silence bogus uninitialized warning in rbd_object_map_update_finish() (Jeff Layton) [1777961] - [fs] ceph: increment/decrement dio counter on async requests (Jeff Layton) [1777961] - [fs] ceph: take the inode lock before acquiring cap refs (Jeff Layton) [1777961] - [scsi] scsi: lpfc: fix build failure with DEBUGFS disabled (Dick Kennedy) [1784863] - [scsi] Revert "storvsc: setup 1:1 mapping between hardware queue and CPU queue" (Cathy Avery) [1787594] - [tools] perf session: Return error code for perf_session__new() function on failure (Michael Petlan) [1754995] - [tools] perf header: Fix false warning when there are no duplicate cache entries (Michael Petlan) [1776499] - [firmware] efi/memreserve: Register reservations as 'reserved' in /proc/iomem (Bhupesh Sharma) [1772730] - [firmware] efi/memreserve: deal with memreserve entries in unmapped memory (Bhupesh Sharma) [1772730] - [powerpc] powerpc/powernv: Avoid re-registration of imc debugfs directory (Diego Domingos) [1781098] - [powerpc] powerpc/powernv: Return for invalid IMC domain (Diego Domingos) [1781098]- [tools] perf tools: Allow to link with libbpf dynamicaly (Michael Petlan) [1781570] - [tools] perf probe: Fix spelling mistake "addrees" -> "address" (Michael Petlan) [1760227] - [tools] perf probe: Trace a magic number if variable is not found (Michael Petlan) [1760227] - [tools] perf probe: Support DW_AT_const_value constant value (Michael Petlan) [1760227] - [tools] perf probe: Support multiprobe event (Michael Petlan) [1760227] - [tools] perf probe: Generate event name with line number (Michael Petlan) [1760227] - [tools] perf probe: Do not show non representive lines by perf-probe -L (Michael Petlan) [1760227] - [tools] perf probe: Verify given line is a representive line (Michael Petlan) [1760227] - [tools] perf probe: Show correct statement line number by perf probe -l (Michael Petlan) [1760227] - [tools] perf probe: Skip overlapped location on searching variables (Michael Petlan) [1760227] - [tools] perf probe: Fix to show calling lines of inlined functions (Michael Petlan) [1760227] - [tools] perf probe: Filter out instances except for inlined subroutine and subprogram (Michael Petlan) [1760227] - [tools] perf probe: Skip end-of-sequence and non statement lines (Michael Petlan) [1760227] - [tools] perf probe: Return a better scope DIE if there is no best scope (Michael Petlan) [1760227] - [tools] perf probe: Fix to show ranges of variables in functions without entry_pc (Michael Petlan) [1760227] - [tools] perf probe: Fix to show inlined function callsite without entry_pc (Michael Petlan) [1760227] - [tools] perf probe: Fix to list probe event with correct line number (Michael Petlan) [1760227] - [tools] perf probe: Fix to probe an inline function which has no entry pc (Michael Petlan) [1760227] - [tools] perf probe: Fix to probe a function which has no entry pc (Michael Petlan) [1760227] - [tools] perf probe: Fix wrong address verification (Michael Petlan) [1760227] - [tools] perf probe: Fix to show function entry line as probe-able (Michael Petlan) [1760227] - [tools] perf probe: Walk function lines in lexical blocks (Michael Petlan) [1760227] - [tools] perf probe: Fix to find range-only function instance (Michael Petlan) [1760227] - [scsi] qla2xxx: Fix incorrect SFUB length used for Secure Flash Update MB Cmd (Himanshu Madhani) [1782598] - [scsi] qla2xxx: Added support for MPI and PEP regions for ISP28XX (Himanshu Madhani) [1782598] - [scsi] qla2xxx: Correctly retrieve and interpret active flash region (Himanshu Madhani) [1782598] - [nvme] nvme: Add quirk for LiteON CL1 devices running FW 22301111 (Perry Yuan) [1769179] - [nvme] nvme-pci: Save PCI state before putting drive into deepest state (Perry Yuan) [1769180] - [infiniband] rdma/cxgb4: Fix spelling mistake "immedate" -> "immediate" (Vishal Kulkarni) [1725823] - [infiniband] rdma/cxgb4: Fix null pointer dereference on alloc_skb failure (Vishal Kulkarni) [1725823] - [infiniband] iw_cxgb4: Fix qpid leak (Vishal Kulkarni) [1725823] - [netdrv] net/mlx5e: Use correct enum to determine uplink port (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix concurrency issues between config flow and XSK (mohamad meib) [1786113] - [infiniband] IB/mlx5: Fix steering rule of drop and count (mohamad meib) [1786113] - [netdrv] net/mlx5e: ethtool, Fix analysis of speed setting (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix translation of link mode into speed (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix free peer_flow when refcount is 0 (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix freeing flow with kfree() and not kvfree() (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix SFF 8472 eeprom length (mohamad meib) [1786113] - [netdrv] net/mlx5e: Query global pause state before setting prio2buffer (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix TXQ indices to be sequential (mohamad meib) [1786113] - [infiniband] RDMA/mlx5: Fix a race with mlx5_ib_update_xlt on an implicit MR (mohamad meib) [1786113] - [netdrv] ath10k: Fix a NULL-ptr-deref bug in ath10k_usb_alloc_urb_from_pipe (Jarod Wilson) [1783853] {CVE-2019-15099} - [netdrv] revert "[netdrv] ice: mark driver as tech-preview" (Jonathan Toppins) [1783062] - [netdrv] ibmvnic: Fix typo in retry check (Steve Best) [1783775] - [netdrv] ibmveth: Detect unsupported packets before sending to the hypervisor (Steve Best) [1784904] - [netdrv] igc: add additional delay during phy hw reset (David Arcari) [1782824] - [net] bridge: fix regression in br_mdb_fill_info() (Petr Oros) [1783888] - [net] bpf: Emit audit messages upon successful prog load and unload (Jiri Olsa) [1781266] - [fs] fuse: fix leak of fuse_io_priv (Miklos Szeredi) [1777009] - [fs] virtiofs: Check contents of options string (Vivek Goyal) [1783426] - [fs] exec: Fix mem leak in kernel_read_file (Eric Sandeen) [1683731] {CVE-2019-8980} - [lib] sbitmap: only queue kyber's wait callback if not already active (Ming Lei) [1784544] - [fs] CIFS: Fix NULL-pointer dereference in smb2_push_mandatory_locks (Dave Wysochanski) [1788202] - [kernel] ftrace: Check for successful allocation of hash (Desnes Augusto Nunes do Rosario) [1719414] - [kernel] ftrace: Check for empty hash and comment the race with registering probes (Desnes Augusto Nunes do Rosario) [1719414] - [kernel] ftrace: Fix NULL pointer dereference in t_probe_next() (Desnes Augusto Nunes do Rosario) [1719414] - [iommu] vt-d: Allocate reserved region for ISA with correct permission (Jerry Snitselaar) [1778041] - [iommu] set group default domain before creating direct mappings (Jerry Snitselaar) [1778041] - [iommu] vt-d: Fix dmar pte read access not set error (Jerry Snitselaar) [1778041] - [iommu] vt-d: Set ISA bridge reserved region as relaxable (Jerry Snitselaar) [1778041] - [iommu] fix KASAN use-after-free in iommu_insert_resv_region (Auger Eric) [1777014] - [platform] platform/x86: dell-laptop: fix rfkill functionality (Jarod Wilson) [1725878] - [mm] mm/hugetlb: defer freeing of huge pages if in non-task context (Waiman Long) [1780015] - [mm] powerpc/book3s64/hash: Use secondary hash for bolted mapping if the primary is full (Steve Best) [1783159] - [mm] powerpc/pseries: Don't fail hash page table insert for bolted mapping (Steve Best) [1783159] - [powerpc] powerpc/pseries: Don't opencode HPTE_V_BOLTED (Steve Best) [1783159] - [powerpc] powerpc/perf: Disable trace_imc pmu (Steve Best) [1785573] - [powerpc] powerpc/spinlocks: Include correct header for static key (Phil Auld) [1767529] - [powerpc] powerpc/shared: Use static key to detect shared processor (Phil Auld) [1767529] - [powerpc] powerpc/vcpu: Assume dedicated processors as non-preempt (Phil Auld) [1767529] - [arm64] arm64: compat: Workaround Neoverse-N1 #1542419 for compat user-space (Jeremy Linton) [1757828] - [arm64] arm64: Fake the IminLine size on systems affected by Neoverse-N1 #1542419 (Jeremy Linton) [1757828] - [arm64] arm64: errata: Hide CTR_EL0.DIC on systems affected by Neoverse-N1 #1542419 (Jeremy Linton) [1757828] - [arm64] arm64: Handle erratum 1418040 as a superset of erratum 1188873 (Jeremy Linton) [1757828] - [arm64] arm64: errata: Add workaround for Cortex-A76 erratum #1463225 (Jeremy Linton) [1757828] - [arm64] arm64: Kconfig: Tidy up errata workaround help text (Jeremy Linton) [1757828] - [arm64] arm64: Apply ARM64_ERRATUM_1188873 to Neoverse-N1 (Jeremy Linton) [1757828] - [arm64] arm64: Add part number for Neoverse N1 (Jeremy Linton) [1757828] - [arm64] arm64: Make ARM64_ERRATUM_1188873 depend on COMPAT (Jeremy Linton) [1757828] - [clocksource] arm64: Restrict ARM64_ERRATUM_1188873 mitigation to AArch32 (Jeremy Linton) [1757828] - [arm64] arm64: arch_timer: avoid unused function warning (Jeremy Linton) [1757828] - [arm64] arm64: Add workaround for Cortex-A76 erratum 1286807 (Jeremy Linton) [1757828]- [kernel] audit: remove redundant condition check in kauditd_thread() (Richard Guy Briggs) [1716002] - [kernel] audit: Report suspicious O_CREAT usage (Richard Guy Briggs) [1716002] - [fs] namei: allow restricted O_CREAT of FIFOs and regular files (Richard Guy Briggs) [1716002] - [kernel] audit_get_nd(): don't unlock parent too early (Richard Guy Briggs) [1716002] - [fs] namei.c: keep track of nd->root refcount status (Richard Guy Briggs) [1716002] - [fs] namei.c: new helper - legitimize_root() (Richard Guy Briggs) [1716002] - [kernel] kill the last users of user_{path, lpath, path_dir}() (Richard Guy Briggs) [1716002] - [kernel] namei.h: get the comments on LOOKUP_... in sync with reality (Richard Guy Briggs) [1716002] - [kernel] kill LOOKUP_NO_EVAL, don't bother including namei.h from audit.h (Richard Guy Briggs) [1716002] - [kernel] audit_inode(): switch to passing AUDIT_INODE_.. (Richard Guy Briggs) [1716002] - [fs] filename_mountpoint(): make LOOKUP_NO_EVAL unconditional there (Richard Guy Briggs) [1716002] - [fs] filename_lookup(): audit_inode() argument is always 0 (Richard Guy Briggs) [1716002] - [kernel] audit: remove the BUG() calls in the audit rule comparison functions (Richard Guy Briggs) [1716002] - [kernel] audit: enforce op for string fields (Richard Guy Briggs) [1716002] - [kernel] audit: deliver signal_info regarless of syscall (Richard Guy Briggs) [1716002] - [fs] fsnotify: fix unlink performance regression (Richard Guy Briggs) [1716002] - [kernel] audit_compare_dname_path(): switch to const struct qstr * (Richard Guy Briggs) [1716002] - [kernel] audit_update_watch(): switch to const struct qstr * (Richard Guy Briggs) [1716002] - [fs] inotify_handle_event(): don't bother with strlen() (Richard Guy Briggs) [1716002] - [kernel] fsnotify: switch send_to_group() and ->handle_event to const struct qstr * (Richard Guy Briggs) [1716002] - [kernel] fsnotify(): switch to passing const struct qstr * for file_name (Richard Guy Briggs) [1716002] - [kernel] switch fsnotify_move() to passing const struct qstr * for old_name (Richard Guy Briggs) [1716002] - [fs] ovl_lookup_real_one(): don't bother with strlen() (Richard Guy Briggs) [1716002] - [kernel] audit: fix a memory leak bug (Richard Guy Briggs) [1716002] - [kernel] audit: purge unnecessary list_empty calls (Richard Guy Briggs) [1716002] - [security] audit: link integrity evm_write_xattrs record to syscall event (Richard Guy Briggs) [1716002] - [csky] syscall_get_arch: add "struct task_struct *" argument (Richard Guy Briggs) [1716002] - [kernel] audit: Make audit_log_cap and audit_copy_inode static (Richard Guy Briggs) [1716002] - [kernel] audit: connect LOGIN record to its syscall record (Richard Guy Briggs) [1716002] - [kernel] audit: fix a memleak caused by auditing load module (Richard Guy Briggs) [1716002] - [kernel] fanotify: check FS_ISDIR flag instead of d_is_dir() (Richard Guy Briggs) [1716002] - [kernel] fsnotify: report FS_ISDIR flag with MOVE_SELF and DELETE_SELF events (Richard Guy Briggs) [1716002] - [kernel] fsnotify: annotate directory entry modification events (Richard Guy Briggs) [1716002] - [kernel] audit: mark expected switch fall-through (Richard Guy Briggs) [1716002] - [kernel] audit: hide auditsc_get_stamp and audit_serial prototypes (Richard Guy Briggs) [1716002] - [tty] audit: join tty records to their syscall (Richard Guy Briggs) [1716002] - [kernel] audit: remove audit_context when CONFIG_ AUDIT and not AUDITSYSCALL (Richard Guy Briggs) [1716002] - [kernel] audit: remove unused actx param from audit_rule_match (Richard Guy Briggs) [1716002] - [kernel] audit: ignore fcaps on umount (Richard Guy Briggs) [1716002] - [kernel] audit: clean up AUDITSYSCALL prototypes and stubs (Richard Guy Briggs) [1716002] - [kernel] audit: more filter PATH records keyed on filesystem magic (Richard Guy Briggs) [1716002] - [kernel] audit: add support for fcaps v3 (Richard Guy Briggs) [1716002] - [kernel] audit: move loginuid and sessionid from CONFIG_AUDITSYSCALL to CONFIG_AUDIT (Richard Guy Briggs) [1716002] - [kernel] audit: add syscall information to CONFIG_CHANGE records (Richard Guy Briggs) [1716002] - [kernel] audit: hand taken context to audit_kill_trees for syscall logging (Richard Guy Briggs) [1716002] - [kernel] audit: give a clue what CONFIG_CHANGE op was involved (Richard Guy Briggs) [1716002] - [kernel] audit: remove duplicated include from audit.c (Richard Guy Briggs) [1716002] - [kernel] audit: shorten PATH cap values when zero (Richard Guy Briggs) [1716002] - [kernel] audit: use current whenever possible (Richard Guy Briggs) [1716002] - [kernel] audit: minimize our use of audit_log_format() (Richard Guy Briggs) [1716002] - [kernel] audit: remove WATCH and TREE config options (Richard Guy Briggs) [1716002] - [kernel] audit: use session_info helper (Richard Guy Briggs) [1716002] - [kernel] audit: localize audit_log_session_info prototype (Richard Guy Briggs) [1716002] - [kernel] audit: Use 'mark' name for fsnotify_mark variables (Richard Guy Briggs) [1716002] - [kernel] audit: Replace chunk attached to mark instead of replacing mark (Richard Guy Briggs) [1716002] - [kernel] audit: Simplify locking around untag_chunk() (Richard Guy Briggs) [1716002] - [kernel] audit: Drop all unused chunk nodes during deletion (Richard Guy Briggs) [1716002] - [kernel] audit: Guarantee forward progress of chunk untagging (Richard Guy Briggs) [1716002] - [kernel] audit: Allocate fsnotify mark independently of chunk (Richard Guy Briggs) [1716002] - [kernel] audit: Provide helper for dropping mark's chunk reference (Richard Guy Briggs) [1716002] - [kernel] audit: Remove pointless check in insert_hash() (Richard Guy Briggs) [1716002] - [kernel] audit: Factor out chunk replacement code (Richard Guy Briggs) [1716002] - [kernel] audit: Make hash table insertion safe against concurrent lookups (Richard Guy Briggs) [1716002] - [kernel] audit: Embed key into chunk (Richard Guy Briggs) [1716002] - [kernel] audit: Fix possible tagging failures (Richard Guy Briggs) [1716002] - [kernel] audit: Fix possible spurious -ENOSPC error (Richard Guy Briggs) [1716002] - [kernel] audit_tree: Remove mark->lock locking (Richard Guy Briggs) [1716002] - [kernel] audit: print empty EXECVE args (Richard Guy Briggs) [1716002] - [security] evm: fix return value check in evm_write_xattrs() (Richard Guy Briggs) [1716002] - [kernel] audit: fix use-after-free in audit_add_watch (Richard Guy Briggs) [1716002] - [kernel] audit: use ktime_get_coarse_real_ts64() for timestamps (Richard Guy Briggs) [1716002] - [kernel] audit: use ktime_get_coarse_ts64() for time access (Richard Guy Briggs) [1716002] - [kernel] audit: simplify audit_enabled check in audit_watch_log_rule_change() (Richard Guy Briggs) [1716002] - [kernel] audit: check audit_enabled in audit_tree_log_remove_rule() (Richard Guy Briggs) [1716002] - [kernel] cred: conditionally declare groups-related functions (Richard Guy Briggs) [1716002] - [kernel] audit: eliminate audit_enabled magic number comparison (Richard Guy Briggs) [1716002] - [kernel] audit: Fix extended comparison of GID/EGID (Richard Guy Briggs) [1716002] - [kernel] audit: tie ANOM_ABEND records to syscall (Richard Guy Briggs) [1716002] - [kernel] audit: tie SECCOMP records to syscall (Richard Guy Briggs) [1716002] - [kernel] audit: allow other filter list types for AUDIT_EXE (Richard Guy Briggs) [1716002] - [documentation] admin guide/pm: Admin guide for intel-speed-select (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Display TRL buckets for just base config level (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Ignore missing config level (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Increment version (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Use core count for base-freq mask (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Support platform with limited Intel(R) Speed Select (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Use Frequency weight for CLOS (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Make CLOS frequency in MHz (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Use mailbox for CLOS_PM_QOS_CONFIG (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Auto mode for CLX (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Correct CLX-N frequency units (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Change display of "avx" to "avx2" (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Extend command set for perf-profile (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Implement base-freq commands on CascadeLake-N (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Implement 'perf-profile info' on CascadeLake-N (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Implement CascadeLake-N help and command functions structures (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Add check for CascadeLake-N models (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Make process_command generic (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Add int argument to command functions (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Refuse to disable core-power when getting used (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Turbo-freq feature auto mode (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Base-freq feature auto mode (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Remove warning for unused result (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix perf-profile command output (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Extend core-power command set (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix some debug prints (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Format get-assoc information (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Allow online/offline based on tdp (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix high priority core mask over count (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Display core count for bucket (Prarit Bhargava) [1766228] - [platform] x86: isst: Allow additional TRL MSRs (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix memory leak (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Output success/failed for command output (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Output human readable CPU list (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Change turbo ratio output to maximum turbo frequency (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Switch output to MHz (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Simplify output for turbo-freq and base-freq (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix cpu-count output (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix help option typo (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix package typo (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix a read overflow in isst_set_tdp_level_msr() (Prarit Bhargava) [1766228] - [platform] x86: isst: Use dev_get_drvdata (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Add .gitignore file (Prarit Bhargava) [1766228] - [tools] tools/power/x86: A tool to validate Intel Speed Select commands (Prarit Bhargava) [1766228] - [platform] x86: isst: Restore state on resume (Prarit Bhargava) [1766228] - [platform] x86: isst: Add Intel Speed Select PUNIT MSR interface (Prarit Bhargava) [1766228] - [platform] x86: isst: Add Intel Speed Select mailbox interface via MSRs (Prarit Bhargava) [1766228] - [platform] x86: isst: Add Intel Speed Select mailbox interface via PCI (Prarit Bhargava) [1766228] - [platform] x86: isst: Add Intel Speed Select mmio interface (Prarit Bhargava) [1766228] - [platform] x86: isst: Add IOCTL to Translate Linux logical CPU to PUNIT CPU number (Prarit Bhargava) [1766228] - [platform] x86: isst: Store per CPU information (Prarit Bhargava) [1766228] - [platform] x86: isst: Add common API to register and handle ioctls (Prarit Bhargava) [1766228] - [documentation] platform/x86: isst: Update ioctl-number.txt for Intel Speed Select interface (Prarit Bhargava) [1766228]- [tools] libbpf: Refactor relocation handling (Yauheni Kaliuta) [1772081] - [tools] libbpf: Fix call relocation offset calculation bug (Yauheni Kaliuta) [1772081] - [tools] libbpf: Fix bpf_object name determination for bpf_object__open_file() (Yauheni Kaliuta) [1772081] - [tools] libbpf: return previous print callback from libbpf_set_print (Yauheni Kaliuta) [1772081] - [tools] libbpf: fix bpf_object__name() to actually return object name (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Make CO-RE reloc test impartial to test_progs flavor (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Add BPF_CORE_READ and BPF_CORE_READ_STR_INTO macro tests (Yauheni Kaliuta) [1772081] - [tools] bpftool: Allow to read btf as raw data (Yauheni Kaliuta) [1772081] - [tools] bpftool: implement "bpftool btf show|list" (Yauheni Kaliuta) [1772081] - [tools] libbpf: add bpf_btf_get_next_id() to cycle through BTF objects (Jiri Olsa) [1772081] - [tools] libbpf: refactor bpf_*_get_next_id() functions (Yauheni Kaliuta) [1772081] - [tools] bpf: synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1772081] - [tools] libbpf: attempt to load kernel BTF from sysfs first (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add getter for program size (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add bpf_get_link_xdp_info() function to get more XDP information (Yauheni Kaliuta) [1772081] - [tools] libbpf: Use pr_warn() when printing netlink errors (Yauheni Kaliuta) [1772081] - [tools] libbpf: Propagate EPERM to caller on program load (Yauheni Kaliuta) [1772081] - [tools] libbpf: Unpin auto-pinned maps if loading fails (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add auto-pinning of maps when loading BPF objects (Yauheni Kaliuta) [1772081] - [tools] libbpf: Teach bpf_object__open to guess program types (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add bpf_program__get_{type, expected_attach_type) APIs (Yauheni Kaliuta) [1772081] - [tools] libbpf: Move directory creation into _pin() functions (Yauheni Kaliuta) [1772081] - [tools] libbpf: Store map pin path and status in struct bpf_map (Yauheni Kaliuta) [1772081] - [tools] libbpf: Fix error handling in bpf_map__reuse_fd() (Yauheni Kaliuta) [1772081] - [tools] libbpf: Make DECLARE_LIBBPF_OPTS macro strictly a variable declaration (Yauheni Kaliuta) [1772081] - [tools] bpftool: Fix bpftool build by switching to bpf_object__open_file() (Yauheni Kaliuta) [1772081] - [tools] bpf: Rename pr_warning to pr_warn to align with kernel logging (Yauheni Kaliuta) [1772081] - [tools] libbpf: provide more helpful message on uninitialized global var (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Add field existence CO-RE relocs tests (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add support for field existance CO-RE relocation (Yauheni Kaliuta) [1772081] - [tools] libbpf: Update BTF reloc support to latest Clang format (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add BPF_CORE_READ/BPF_CORE_READ_INTO helpers (Yauheni Kaliuta) [1772081] - [tools] libbpf: Refactor bpf_object__open APIs to use common opts (Yauheni Kaliuta) [1772081] - [tools] libbpf: Move bpf_{helpers, helper_defs, endian, tracing}.h into libbpf (Jiri Olsa) [1772081] - [tools] uapi/bpf: fix helper docs (Yauheni Kaliuta) [1772081] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1772081] - [uapi] bpf: fix 'struct pt_reg' typo in documentation (Yauheni Kaliuta) [1772081] - [tools] libbpf: Fix BTF-defined map's __type macro handling of arrays (Yauheni Kaliuta) [1772081] - [scripts] bpf: Print an error when known types list needs updating (Yauheni Kaliuta) [1772081] - [scripts] bpf: Emit an #error directive known types list needs updating (Yauheni Kaliuta) [1772081] - [scripts] bpf: Fix xdp_md forward declaration typo (Yauheni Kaliuta) [1772081] - [scripts] bpf: teach bpf_helpers_doc.py to dump BPF helper definitions (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Split off tracing-only helpers into bpf_tracing.h (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: samples/bpf: Split off legacy stuff from bpf_helpers.h (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Undo GCC-specific bpf_helpers.h changes (Yauheni Kaliuta) [1772081] - [tools] libbpf: auto-generate list of BPF helper definitions (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add bpf-gcc support (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: bpf_tcp_gen_syncookie->bpf_helpers (Yauheni Kaliuta) [1772081] - [tools] libbpf: relicense bpf_helpers.h and bpf_endian.h (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: introduce bpf_cpu_to_be64 and bpf_be64_to_cpu (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Adjust CO-RE reloc tests for new bpf_core_read() macro (Yauheni Kaliuta) [1772081] - [tools] bpf: fix core_reloc.c compilation error (Yauheni Kaliuta) [1772081] - [tools] libbpf: add bpf_object__open_{file, mem} w/ extensible opts (Yauheni Kaliuta) [1772081] - [tools] libbpf: make libbpf.map source of truth for libbpf version (Yauheni Kaliuta) [1772081] - [tools] libbpf: stop enforcing kern_version, populate it for users (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs misc tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs ints tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs ptr-as-array tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs modifiers/typedef tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs enum/ptr/func_proto tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs array tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs nesting tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs struct flavors tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs testing setup (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add BPF_CORE_READ relocatable read macro (Yauheni Kaliuta) [1772081] - [tools] libbpf: implement BPF CO-RE offset relocation algorithm (Yauheni Kaliuta) [1772081] - [tools] libbpf: add .BTF.ext offset relocation section loading (Yauheni Kaliuta) [1772081] - [tools] libbpf: convert libbpf code to use new btf helpers (Yauheni Kaliuta) [1772081] - [tools] libbpf: add helpers for working with BTF types (Yauheni Kaliuta) [1772081] - [gpu] drm/i915: Add new CNL PCH ID seen on a CML platform (Lyude Paul) [1771779] - [gpu] drm/amdgpu: add warning for GRBM 1-cycle delay issue in gfx9 (Lyude Paul) [1771779] - [gpu] drm/amdgpu: register gpu instance before fan boost feature enablment (Lyude Paul) [1771779] - [gpu] drm/amd/swsmu: fix smu workload bit map error (Lyude Paul) [1771779] - [gpu] drm/amdgpu: dont schedule jobs while in reset (Lyude Paul) [1771779] - [gpu] drm/i915/userptr: Try to acquire the page lock around set_page_dirty() (Lyude Paul) [1771779] - [gpu] drm/i915/pmu: "Frequency" is reported as accumulated cycles (Lyude Paul) [1771779] - [gpu] drm/i915: Don't oops in dumb_create ioctl if we have no crtcs (Lyude Paul) [1771779] - [gpu] drm/amd/powerplay: issue no PPSMC_MSG_GetCurrPkgPwr on unsupported ASICs (Lyude Paul) [1771779] - [gpu] drm/amdgpu: disable gfxoff on original raven (Lyude Paul) [1771779] - [gpu] drm/amdgpu: disable gfxoff when using register read interface (Lyude Paul) [1771779] - [gpu] revert "drm/i915/ehl: Update MOCS table for EHL" (Lyude Paul) [1771779] - [gpu] drm/i915: update rawclk also on resume (Lyude Paul) [1771779] - [gpu] dc.c:use kzalloc without test (Lyude Paul) [1771779] - [gpu] drm/amd/display: Passive DP->HDMI dongle detection fix (Lyude Paul) [1771779] - [gpu] drm/amd/display: add 50us buffer as WA for pstate switch in active (Lyude Paul) [1771779] - [gpu] drm/amd/display: do not synchronize "drr" displays (Lyude Paul) [1771779] - [gpu] drm/amdgpu: If amdgpu_ib_schedule fails return back the error (Lyude Paul) [1771779] - [gpu] drm/sched: Set error to s_fence if HW job submission failed (Lyude Paul) [1771779] - [gpu] drm/amdgpu/sdma5: do not execute 0-sized IBs (v2) (Lyude Paul) [1771779] - [gpu] drm/radeon: fix si_enable_smc_cac() failed issue (Lyude Paul) [1771779] - [gpu] drm/amdgpu: fix error handling in amdgpu_bo_list_create (Lyude Paul) [1771779] - [gpu] drm/amdgpu: fix potential VM faults (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Fix SDMA hang when performing VKexample test (Lyude Paul) [1771779] - [gpu] drm/amdgpu/powerplay/vega10: allow undervolting in p7 (Lyude Paul) [1771779] - [gpu] drm/amdgpu/gfx10: update gfx golden settings (Lyude Paul) [1771779] - [gpu] drm/i915: Fix PCH reference clock for FDI on HSW/BDW (Lyude Paul) [1771779] - [gpu] drm/amdgpu/gmc10: properly set BANK_SELECT and FRAGMENT_SIZE (Lyude Paul) [1771779] - [gpu] drm/amdgpu: fix memory leak (Lyude Paul) [1771779] - [gpu] drm/amdgpu: user pages array memory leak fix (Lyude Paul) [1771779] - [gpu] drm/amdgpu/uvd7: fix allocation size in enc ring test (v2) (Lyude Paul) [1771779] - [gpu] drm/amdgpu/uvd6: fix allocation size in enc ring test (v2) (Lyude Paul) [1771779] - [gpu] drm/amdgpu/vcn: fix allocation size in enc ring test (Lyude Paul) [1771779] - [gpu] drm/amdgpu/vce: fix allocation size in enc ring test (Lyude Paul) [1771779] - [gpu] drm/i915: Favor last VBT child device with conflicting AUX ch/DDC pin (Lyude Paul) [1771779] - [gpu] drm/i915/userptr: Never allow userptr into the mappable GGTT (Lyude Paul) [1771779] - [gpu] drm/amdgpu/sdma5: fix mask value of POLL_REGMEM packet for pipe sync (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Bail earlier when amdgpu.cik_/si_support is not set to 1 (Lyude Paul) [1771779] - [gpu] drm/ttm: Restore ttm prefaulting (Lyude Paul) [1771779] - [gpu] drm/edid: Add 6 bpc quirk for SDC panel in Lenovo G50 (Lyude Paul) [1771779] - [gpu] drm/amd/display: memory leak (Lyude Paul) [1771779] - [gpu] drm/amdgpu: fix multiple memory leaks in acp_hw_init (Lyude Paul) [1771779] - [gpu] drm: Clear the fence pointer when writeback job signaled (Lyude Paul) [1771779] - [gpu] drm: Free the writeback_job when it with an empty fb (Lyude Paul) [1771779] - [gpu] drm/i915: Mark contents as dirty on a write fault (Lyude Paul) [1771779] - [gpu] drm/i915: Whitelist COMMON_SLICE_CHICKEN2 (Lyude Paul) [1771779] - [gpu] drm/i915: Bump skl+ max plane width to 5k for linear/x-tiled (Lyude Paul) [1771779] - [gpu] drm/i915: Perform GGTT restore much earlier during resume (Lyude Paul) [1771779] - [gpu] drm/radeon: Bail earlier when radeon.cik_/si_support=0 is passed (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Check for valid number of registers to read (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Fix KFD-related kernel oops on Hawaii (Lyude Paul) [1771779] - [gpu] drm/i915: to make vgpu ppgtt notificaiton as atomic operation (Lyude Paul) [1771779] - [gpu] drm/i915/gvt: update vgpu workload head pointer correctly (Lyude Paul) [1771779] - [gpu] drm/amd/powerplay: change metrics update period from 1ms to 100ms (Lyude Paul) [1771779] - [gpu] drm/nouveau/kms/nv50-: Don't create MSTMs for eDP connectors (Lyude Paul) [1771779] - [gpu] drm/atomic: Take the atomic toys away from X (Lyude Paul) [1771779] - [gpu] drm/atomic: Reject FLIP_ASYNC unconditionally (Lyude Paul) [1771779] - [gpu] drm/i915/dp: Fix dsc bpp calculations, v5 (Lyude Paul) [1771779] - [dma-buf] sw_sync: Synchronize signal vs syncpt free (Lyude Paul) [1771779] - [gpu] drm/amdgpu/si: fix ASIC tests (Lyude Paul) [1771779] - [gpu] drm/amd/display: fix trigger not generated for freesync (Lyude Paul) [1771779] - [gpu] drm/amd/display: fix MPO HUBP underflow with Scatter Gather (Lyude Paul) [1771779] - [gpu] drm/amd/powerpaly: fix navi series custom peak level value error (Lyude Paul) [1771779] - [gpu] drm/amd/display: support spdif (Lyude Paul) [1771779] - [gpu] drm/nouveau/volt: Fix for some cards having 0 maximum voltage (Lyude Paul) [1771779] - [gpu] drm/nouveau/kms/tu102-: disable input lut when input is already FP16 (Lyude Paul) [1771779] - [gpu] drm/amdgpu/sdma5: fix number of sdma5 trap irq types for navi1x (Lyude Paul) [1771779] - [gpu] drm/amd/display: Register VUPDATE_NO_LOCK interrupts for DCN2 (Lyude Paul) [1771779] - [gpu] drm/amd/display: reprogram VM config when system resume (Lyude Paul) [1771779] - [gpu] drm/amd/display: Fix frames_to_insert math (Lyude Paul) [1771779] - [gpu] drm/amd/display: fix issue where 252-255 values are clipped (Lyude Paul) [1771779] - [gpu] drm: radeon: Fix a possible null-pointer dereference in radeon_connector_set_property() (Lyude Paul) [1771779] - [gpu] revert "drm/radeon: Fix EEH during kexec" (Lyude Paul) [1771779] - [gpu] drm/amd/display: Use proper enum conversion functions (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Fix hard hang for S/G display BOs (Lyude Paul) [1771779] - [gpu] drm/panel: check failure cases in the probe func (Lyude Paul) [1771779] - [gpu] drm/bridge: sii902x: fix missing reference to mclk clock (Lyude Paul) [1771779] - [gpu] drm/tinydrm/kconfig: Select BACKLIGHT_CLASS_DEVICE (Lyude Paul) [1771779] - [video] ssd1307fb: Start page range at page_offset (Lyude Paul) [1771779] - [gpu] drm/amd/display: Copy GSL groups when committing a new context (Lyude Paul) [1771779] - [gpu] drm/amd/display: Clear FEC_READY shadow register if DPCD write fails (Lyude Paul) [1771779] - [gpu] drm/amd/display: fix not calling ppsmu to trigger PME (Lyude Paul) [1771779] - [gpu] drm/amd/display: Power-gate all DSCs at driver init time (Lyude Paul) [1771779] - [gpu] drm/amd/display: add monitor patch to add T7 delay (Lyude Paul) [1771779] - [gpu] drm/panel: simple: fix AUO g185han01 horizontal blanking (Lyude Paul) [1771779] - [gpu] drm/vkms: Avoid assigning 0 for possible_crtc (Lyude Paul) [1771779] - [gpu] drm/bridge: tc358767: Increase AUX transfer length limit (Lyude Paul) [1771779] - [gpu] drm/vkms: Fix crc worker races (Lyude Paul) [1771779] - [gpu] drm/amdgpu/display: fix 64 bit divide (Lyude Paul) [1771779] - [gpu] drm/amd/display: Add missing HBM support and raise Vega20's uclk (Lyude Paul) [1771779] - [gpu] drm/amd/display: dce11.x /dce12 update formula input (Lyude Paul) [1771779] - [gpu] drm/amd/display: Restore backlight brightness after system resume (Lyude Paul) [1771779] - [gpu] drm: fix module name in edid_firmware log message (Lyude Paul) [1771779] - [gpu] drm/amd/powerplay/smu7: enforce minimal VBITimeout (v2) (Lyude Paul) [1771779] - [gpu] drm/amd/display: readd -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines (Lyude Paul) [1771779] - [gpu] drm/amd/display: Don't replace the dc_state for fast updates (Lyude Paul) [1771779] - [gpu] drm/amd/display: Skip determining update type for async updates (Lyude Paul) [1771779] - [gpu] drm/amd/display: Allow cursor async updates for framebuffer swaps (Lyude Paul) [1771779] - [include] sk_buff: fix skb_ext_put() and skb_ext_reset() calls (Ivan Vecera) [1779923] - [net] openvswitch: fix flow command message size (Paolo Abeni) [1776765] - [net] netfilter: nf_tables: add SECMARK support (Phil Sutter) [1715851] - [net] netfilter: nf_tables: add requirements for connsecmark support (Phil Sutter) [1715851] - [wireless] mwifiex: pcie: Fix memory leak in mwifiex_pcie_init_evt_ring (Jarod Wilson) [1781534] {CVE-2019-19057} - [tools] selftests/powerpc: Disable basic EEH selftest (Steve Best) [1782232] - [x86] kvm: x86: Remove a spurious export of a static function (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: vmx: use MSR_IA32_TSX_CTRL to hard-disable TSX on guest that lack it (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: vmx: implement MSR_IA32_TSX_CTRL disable RTM functionality (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: x86: implement MSR_IA32_TSX_CTRL effect on CPUID (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: x86: do not modify masked bits of shared MSRs (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: x86: fix presentation of TSX feature in ARCH_CAPABILITIES (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm/x86: Export MDS_NO=0 to guests when TSX is enabled (Paolo Bonzini) [1779553] {CVE-2019-19338} - [fs] cifs: Close open handle after interrupted close (Leif Sahlberg) [1771691] - [fs] cifs: Do not miss cancelled OPEN responses (Leif Sahlberg) [1771691] - [fs] cifs: Fix NULL pointer dereference in mid callback (Leif Sahlberg) [1771691] - [fs] cifs: add a debug macro that prints \\server\share for errors (Leif Sahlberg) [1772630] - [fs] cifs: add new debugging macro cifs_server_dbg (Leif Sahlberg) [1772630]- [netdrv] wireless: fix nl80211 vendor commands (Jarod Wilson) [1776606] - [net] nl80211: fix VENDOR_CMD_RAW_DATA (Jarod Wilson) [1776606] - [netdrv] rt2x00: initialize last_reset (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: don't consider IV len in A-MSDU (Jarod Wilson) [1776606] - [net] mac80211: fix station inactive_time shortly after boot (Jarod Wilson) [1776606] - [net] mac80211: fix ieee80211_txq_setup_flows() failure path (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fw api: support new API for scan config cmd (Jarod Wilson) [1776606] - [netdrv] mt76: dma: fix buffer unmap with non-linear skbs (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x2e: disable pcie_aspm by default (Jarod Wilson) [1776606] - [net] nl80211: fix validation of mesh path nexthop (Jarod Wilson) [1776606] - [net] nl80211: Disallow setting of HT for channel 14 (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl_pci: Fix problem of too small skb->len (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: 0x2720 is qu and 0x30DC is not (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: add workaround for power gating in integrated 22000 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: handle iwl_mvm_tvqm_enable_txq() error return (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix all 9460 entries for qnj (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix PCI ID 0x2720 configs that should be soc (Jarod Wilson) [1776606] - [netdrv] rtlwifi: Fix potential overflow on P2P code (Jarod Wilson) [1775223 1776606] {CVE-2019-17666} - [netdrv] iwlwifi: pcie: fix merge damage on making QnJ exclusive (Jarod Wilson) [1776606] - [netdrv] ath10k: fix latency issue for QCA988x (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: change qu with jf devices to use qu configuration (Jarod Wilson) [1776606] - [netdrv] iwlwifi: exclude GEO SAR support for 3168 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix memory leaks in iwl_pcie_ctxt_info_gen3_init (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: fix memory leak in alloc_sgtable (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix rb_allocator workqueue allocation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix indexing in command dump for new HW (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix race in sync rx queue notification (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: force single phy init (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix ACPI table revision checks (Jarod Wilson) [1776606] - [netdrv] iwlwifi: don't access trans_cfg via cfg (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove input-polldev.h header (Jarod Wilson) [1776606] - [net] mac80211: Don't access sk_queue_head->next directly (Jarod Wilson) [1776606] - [net] mac80211: fix scan when operating on DFS channels in ETSI domains (Jarod Wilson) [1776606] - [net] mac80211: accept deauth frames in IBSS mode (Jarod Wilson) [1776606] - [net] cfg80211: fix a bunch of RCU issues in multi-bssid code (Jarod Wilson) [1776606] - [net] nl80211: fix memory leak in nl80211_get_ftm_responder_stats (Jarod Wilson) [1776606] - [net] cfg80211: wext: avoid copying malformed SSIDs (Jarod Wilson) [1778634 1776606] {CVE-2019-17133} - [net] mac80211: Reject malformed SSID elements (Jarod Wilson) [1776606] - [net] mac80211: keep BHs disabled while calling drv_tx_wake_queue() (Jarod Wilson) [1776606] - [net] mac80211: fix txq null pointer dereference (Jarod Wilson) [1776606] - [net] nl80211: fix null pointer dereference (Jarod Wilson) [1776606] - [net] cfg80211: initialize on-stack chandefs (Jarod Wilson) [1776606] - [net] cfg80211: validate SSID/MBSSID element ordering assumption (Jarod Wilson) [1776606] - [net] nl80211: validate beacon head (Jarod Wilson) [1776606] - [net] cfg80211: Purge frame registrations on iftype change (Jarod Wilson) [1776606] - [net] cfg80211: Do not compare with boolean in nl80211_common_reg_change_event (Jarod Wilson) [1776606] - [net] cfg80211: always shut down on HW rfkill (Jarod Wilson) [1776606] - [net] cfg80211: fix boundary value in ieee80211_frequency_to_channel() (Jarod Wilson) [1776606] - [net] cfg80211: add local BSS receive time to survey information (Jarod Wilson) [1776606] - [net] nl80211: add NL80211_CMD_UPDATE_FT_IES to supported commands (Jarod Wilson) [1776606] - [netdrv] wireless: Fix Kconfig indentation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fw: don't send GEO_TX_POWER_LIMIT command to FW version 36 (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix mt7615 firmware path definitions (Jarod Wilson) [1776606] - [netdrv] rtw88: configure firmware after HCI started (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: release tx skbs DMAed when stop (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: extract skbs free routine for trx rings (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix build w/o CONFIG_THERMAL (Jarod Wilson) [1776606] - [netdrv] rtw88: report RX power for each antenna (Jarod Wilson) [1776606] - [netdrv] rtw88: fix wrong rx power calculation (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192de: replace _rtl92d_evm_db_to_percentage with generic version (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: replace _rtl92c_evm_db_to_percentage with generic version (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: replace _rtl92c_evm_db_to_percentage with generic version (Jarod Wilson) [1776606] - [netdrv] rtw88: allows to receive AMSDU in AMPDU (Jarod Wilson) [1776606] - [netdrv] rtw88: add dynamic cck pd mechanism (Jarod Wilson) [1776606] - [netdrv] rtw88: move IQK/DPK into phy_calibration (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: add SW DPK support (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: add FW IQK support (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: Enable interrupt migration (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: update pwr_seq to v13 (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: update PHY parameter to v38 (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: rtl8192ce: rtl8192de: rtl8723ae: rtl8821ae: Remove some unused bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723be: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723be: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723be: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723be: Remove unused SET_XXX and GET_XXX macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723ae: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723ae: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723ae: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723ae: Remove unused GET_XXX and SET_XXX macros (Jarod Wilson) [1776606] - [netdrv] brcmsmac: Use DIV_ROUND_CLOSEST directly to make it readable (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: make array static const and remove redundant assignment (Jarod Wilson) [1776606] - [netdrv] brcmfmac: don't realloc wiphy during PCIe reset (Jarod Wilson) [1776606] - [netdrv] brcmfmac: split brcmf_attach() and brcmf_detach() functions (Jarod Wilson) [1776606] - [netdrv] brcmfmac: move "cfg80211_ops" pointer to another struct (Jarod Wilson) [1776606] - [netdrv] ath10k: fix channel info parsing for non tlv target (Jarod Wilson) [1776606] - [netdrv] ath10k: adjust skb length in ath10k_sdio_mbox_rx_packet (Jarod Wilson) [1776606] - [netdrv] ath10k: free beacon buf later in vdev teardown (Jarod Wilson) [1776606] - [net] mac80211: allow drivers to set max MTU (Jarod Wilson) [1776606] - [net] mac80211: ibss: send deauth when expiring inactive STAs (Jarod Wilson) [1776606] - [net] mac80211: don't check if key is NULL in ieee80211_key_link() (Jarod Wilson) [1776606] - [net] mac80211: clear crypto tx tailroom counter upon keys enable (Jarod Wilson) [1776606] - [net] mac80211: remove unnecessary key condition (Jarod Wilson) [1776606] - [net] mac80211: list features in WEP/TKIP disable in better order (Jarod Wilson) [1776606] - [net] mac80211: vht: add support VHT EXT NSS BW in parsing VHT (Jarod Wilson) [1776606] - [netdrv] ath9k: release allocated buffer if timed out (Jarod Wilson) [1778582 1776606] {CVE-2019-19074} - [netdrv] ath9k_htc: release allocated buffer if timed out (Jarod Wilson) [1778572 1776606] {CVE-2019-19073} - [netdrv] ath9k: Remove unneeded variable to store return value (Jarod Wilson) [1776606] - [netdrv] ath10k: add reorder and change PN check logic for mac80211 (Jarod Wilson) [1776606] - [netdrv] ath10k: add mic bytes for pmf management packet (Jarod Wilson) [1776606] - [netdrv] brcmfmac: use *ph to print small buffer (Jarod Wilson) [1776606] - [netdrv] hostap: use *ph to print small buffer (Jarod Wilson) [1776606] - [netdrv] rtlwifi: Fix file release memory leak (Jarod Wilson) [1776606] - [netdrv] rtw88: fix seq_file memory leak (Jarod Wilson) [1776606] - [netdrv] hostap: remove set but not used variable 'copied' in prism2_io_debug_proc_read (Jarod Wilson) [1776606] - [netdrv] brcmfmac: add "reset" debugfs entry for testing reset (Jarod Wilson) [1776606] - [netdrv] brcmfmac: add stub version of brcmf_debugfs_get_devdir() (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: remove iwl_fw_cancel_dumps function (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove periodic trigger (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: fix dump structs doc (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fw api: add DRAM buffer allocation command (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove apply point, switch to time point API (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add iwl_tlv_array_len() (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: don't log un-decrypted frames (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add support for single antenna diversity (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: handle BAR_FRAME_RELEASE (0xc2) notification (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: drop BA sessions on too many old-SN frames (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add sta_id to WOWLAN_CONFIG_CMD (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add support for suspend-resume flow for new device generation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix warning iwl-trans.h is included more than once (Jarod Wilson) [1776606] - [netdrv] iwlwifi: always access the trans configuration via trans (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pass the iwl_trans instead of cfg to some functions (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add a pointer to the trans_cfg directly in trans (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pass the iwl_config_trans_params when needed (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: set iwl_trans->cfg later in the probe function (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: move some cfg mangling from trans_pcie_alloc to probe (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: use the cfg we passed to iwl_trans_pcie_alloc() (Jarod Wilson) [1776606] - [netdrv] iwlwifi: separate elements from cfg that are needed by trans_alloc (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use regions ops array instead of switch case in dump flow (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: make a single ops struct for paging collect (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: move tx fifo data into fw runtime (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use linked list for dump TLVs during dump creation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: separate cfg and dump flows to different modules (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: look for the first supported channel when add/remove phy ctxt (Jarod Wilson) [1776606] - [netdrv] iwlwifi: allocate bigger nvm data in case of UHB (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove unnecessary IWL_DEVICE_AX200_COMMON definition (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: align wrt log prints to the same format (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove debug flow TLV (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: verify debug TLVs at allocation phase (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use function to check if ini dbg mode is on (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove duplicate FW string definitions (Jarod Wilson) [1776606] - [netdrv] iwlwifi: bump FW API to 50 for 22000 series (Jarod Wilson) [1776606] - [netdrv] iwlwifi: api: fix FTM struct documentation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: support per-platform antenna gain (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove check for lq_sta in __iwl_mvm_rs_tx_status() (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: simplify the channel switch flow for newer firmware (Jarod Wilson) [1776606] - [netdrv] iwlwifi: stop passing bogus gfp flags arguments to dma_alloc_coherent (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove periphery phy and aux regions handling (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use linked list to store debug TLVs (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: maintain buffer allocations from trans instead of TLVs buffer (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: add debug periphery registers to 9000 device family (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove unused regdb_ptrs allocation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: align dbg tlv functions names to a single format (Jarod Wilson) [1776606] - [netdrv] iwlwifi: scan: don't pass large argument by value (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove pm_runtime completely (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove the d0i3 related module parameters (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: remove some more d0i3 code from the transport (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: remove the refs / unrefs from the transport (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove the opmode's d0i3 handlers (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove runtime_pm_mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: Set w-pointer upon resume according to SN (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: use FW thermal monitoring regardless of CONFIG_THERMAL (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: name magic numbers with enum (Jarod Wilson) [1776606] - [netdrv] iwlwifi: scan: add support for new scan request command version (Jarod Wilson) [1776606] - [netdrv] iwlwifi: LTR updates (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove the code under IWLWIFI_PCIE_RTPM (Jarod Wilson) [1776606] - [netdrv] iwlwifi: trans: remove suspending flag (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove CMD_HIGH_PRIO (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove last leftovers of d0i3 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove iwl_mvm_update_d0i3_power_mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove d0i3_ap_sta_id (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: iwl_mvm_wowlan_config_key_params is for wowlan only (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove the d0i3 entry/exit flow (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove the tx defer for d0i3 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove all the d0i3 references (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: start to remove the code for d0i3 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add the skb length to a print (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix scan config command size (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add ldbg config cmd debug print (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: support debug recording suspend resume command (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: move debug recording stop from trans to op mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: move monitor recording functionality from header file (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove unnecessary forward declarations (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: Block 26-tone RU OFDMA transmissions (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove redundant condition in iwl_mvm_set_hw_rfkill_state (Jarod Wilson) [1776606] - [netdrv] iwlwifi: Send DQA enable command only if TVL is on (Jarod Wilson) [1776606] - [netdrv] iwlwifi: bump FW API to 49 for 22000 series (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add support to read temperature from mcu (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: introduce mt7615_txwi_to_txp utility routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use devm_platform_ioremap_resource() to simplify code (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0: remove unneeded return value on set channel (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0: remove redundant chandef copy (Jarod Wilson) [1776606] - [netdrv] mt76: make mt76_rx_convert static (Jarod Wilson) [1776606] - [netdrv] mt76: remove offchannel check in tx scheduling (Jarod Wilson) [1776606] - [netdrv] mt76: do not send BAR frame on tx aggregation flush stop (Jarod Wilson) [1776606] - [netdrv] mt76: stop rx aggregation on station removal (Jarod Wilson) [1776606] - [netdrv] mt76: dma: reset q->rx_head on rx reset (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: apply calibration-free data from OTP (Jarod Wilson) [1776606] - [netdrv] mt76: add default implementation for mt76_sw_scan/mt76_sw_scan_complete (Jarod Wilson) [1776606] - [netdrv] mt76: fix some checkpatch warnings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add BIP_CMAC_128 cipher support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: remove unnecessary mcu queue initialization (Jarod Wilson) [1776606] - [netdrv] mt76: move mt76_tx_tasklet in mt76 module (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: enable survey support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: move survey_time in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02u: enable survey support (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02u: enable multi-vif support (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: do not copy beacon skb in mt76x02_mac_set_beacon_enable (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: introduce mt76x02_pre_tbtt_enable and mt76x02_beacon_enable macros (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add Smart Carrier Sense support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: rework locking scheme for mt7615_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: switch to SPDX tag instead of verbose boilerplate text (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: fix some checkpatch warnings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix some checkpatch warnings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix some checkpatch warnings (Jarod Wilson) [1776606] - [netdrv] mt76: Add paragraphs to describe the config symbols fully (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: update cw_min/max related settings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add 4 WMM sets support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix watchdog rescheduling in mt7603_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix MT7615_WATCHDOG_TIME definition (Jarod Wilson) [1776606] - [netdrv] mt76: introduce mt76_mmio_read_copy routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add set_key_cmd and mt76_wcid to mt7615_mac_wtbl_set_key signature (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: remove wtbl_sec_key definition (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: introduce mt7615_mac_wtbl_set_key routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add mt7615_mac_wtbl_addr routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: move mt7615_mac_get_key_info in mac.c (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add missing register initialization (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0u: add support to TP-Link T2UHP (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: use params->ssn value directly (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use params->ssn value directly (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: use params->ssn value directly (Jarod Wilson) [1776606] - [netdrv] mt76: usb: remove unneeded {put,get}_unaligned (Jarod Wilson) [1776606] - [netdrv] mt76: usb: fix endian in mt76u_copy (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix invalid fallback rates (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix invalid fallback rates (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix PS buffering of action frames (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix using VHT STBC rates (Jarod Wilson) [1776606] - [netdrv] mt76: mt76u: fix typo in mt76u_fill_rx_sg (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: sync with mt7603 rate control changes (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: reset rate index/counters on rate table update (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: move mt7615_mcu_set_rates to mac.c (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: enable hardware rate up/down selection (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: introduce mt7615_mcu_send_ram_firmware routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: always release sem in mt7615_load_patch (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fall back to sw encryption for unsupported ciphers (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: clean up FWDL TXQ during/after firmware upload (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add radar pattern test knob to debugfs (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add csa support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: do not perform txcalibration before cac is complited (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add hw dfs pattern detector support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: introduce mt7615_regd_notifier (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix sparse warnings: warning: restricted __le16 degrades to integer (Jarod Wilson) [1776606] - [netdrv] mt76: round up length on mt76_wr_copy (Jarod Wilson) [1776606] - [netdrv] ath6kl: fix a NULL-ptr-deref bug in ath6kl_usb_alloc_urb_from_pipe() (Jarod Wilson) [1776606] - [netdrv] ath6kl: Fix a possible null-pointer dereference in ath6kl_htc_mbox_create() (Jarod Wilson) [1776606] - [netdrv] ath9k: dynack: set ackto to max timeout in ath_dynack_reset (Jarod Wilson) [1776606] - [netdrv] ath9k: dynack: set max timeout according to channel width (Jarod Wilson) [1776606] - [netdrv] ath9k: dynack: properly set last timeout timestamp in ath_dynack_reset (Jarod Wilson) [1776606] - [netdrv] ath9k: dyanck: introduce ath_dynack_set_timeout routine (Jarod Wilson) [1776606] - [netdrv] ath9k: dynack: fix possible deadlock in ath_dynack_node_{de}init (Jarod Wilson) [1776606] - [netdrv] ath9k: add loader for AR92XX (and older) pci(e) (Jarod Wilson) [1776606] - [netdrv] brcmfmac: get chip's default RAM info during PCIe setup (Jarod Wilson) [1776606] - [netdrv] brcmfmac: replace strncpy() by strscpy() (Jarod Wilson) [1776606] - [netdrv] rt2x00: do not set IEEE80211_TX_STAT_AMPDU_NO_BACK on tx status (Jarod Wilson) [1776606] - [netdrv] brcmfmac: remove redundant assignment to pointer hash (Jarod Wilson) [1776606] - [netdrv] brcm80211: Avoid possible null-pointer dereferences in wlc_phy_radio_init_2056() (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: enable MSI interrupt (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: Move a mass of jobs in hw IRQ to soft IRQ (Jarod Wilson) [1776606] - [netdrv] rtw88: remove redundant assignment to pointer debugfs_topdir (Jarod Wilson) [1776606] - [netdrv] rtw88: drop unused rtw_coex_coex_dm_reset() (Jarod Wilson) [1776606] - [netdrv] rtw88: Fix an error message (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Fix incorrect returned values (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Fix incorrect returned values (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Fix incorrect returned values (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Remove unused GET_XXX and SET_XXX (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Remove some variable initializations (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Remove unused GET_XXX and SET_XXX (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl_pci: Fix memory leak when hardware init fails (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove unused variables 'RTL8712_SDIO_EFUSE_TABLE' and 'MAX_PGPKT_SIZE' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Fix value set in descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: fix non-kerneldoc comment in usb.c (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: fix infinite loop because supported is not being shifted (Jarod Wilson) [1776606] - [netdrv] mt76: Remove dev_err() usage after platform_get_irq() (Jarod Wilson) [1776606] - [net] mac80211: Do not send Layer 2 Update frame before authorization (Jarod Wilson) [1776606] - [netdrv] revert "rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band" (Jarod Wilson) [1776606] - [netdrv] rt2x00: clear up IV's on key removal (Jarod Wilson) [1776606] - [netdrv] iwlwifi: assign directly to iwl_trans->cfg in QuZ detection (Jarod Wilson) [1776606] - [netdrv] mwifiex: Fix three heap overflow at parsing element in cfg80211_ap_settings (Jarod Wilson) [1776244 1775484 1775475 1776606] - [netdrv] mt76: mt76x0e: disable 5GHz band for MT7630E (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0e: don't use hw encryption for MT7630E (Jarod Wilson) [1776606] - [net] nl80211: fill all policy .type entries (Jarod Wilson) [1776606] - [net] cfg80211: Add support to set tx power for a station associated (Jarod Wilson) [1776606] - [net] cfg80211: Fix Extended Key ID key install checks (Jarod Wilson) [1776606] - [net] mac80211: AMPDU handling for rekeys with Extended Key ID (Jarod Wilson) [1776606] - [net] mac80211: Simplify Extended Key ID API (Jarod Wilson) [1776606] - [net] nl80211: require and validate vendor command policy (Jarod Wilson) [1776606] - [net] mac80211: AMPDU handling for Extended Key ID (Jarod Wilson) [1776606] - [net] mac80211: IEEE 802.11 Extended Key ID support (Jarod Wilson) [1776606] - [net] nl80211/cfg80211: Extended Key ID support (Jarod Wilson) [1776606] - [net] nl80211/cfg80211: Specify band specific min RSSI thresholds with sched scan (Jarod Wilson) [1776606] - [net] cfg80211: Use const more consistently in for_each_element macros (Jarod Wilson) [1776606] - [net] nl80211: use for_each_element() in validate_ie_attr() (Jarod Wilson) [1776606] - [net] cfg80211: add peer measurement with FTM initiator API (Jarod Wilson) [1776606] - [net] nl80211: use netlink policy validation function for elements (Jarod Wilson) [1776606] - [net] nl80211: use policy range validation where applicable (Jarod Wilson) [1776606] - [net] cfg80211: support FTM responder configuration/statistics (Jarod Wilson) [1776606] - [net] lib80211: move TKIP handling to ARC4 library code (Jarod Wilson) [1776606] - [net] lib80211: move WEP handling to ARC4 library code (Jarod Wilson) [1776606] - [net] mac80211: move WEP handling to ARC4 library interface (Jarod Wilson) [1776606] - [netdrv] rt2x00: clear IV's on start to fix AP mode regression (Jarod Wilson) [1776606] - [netdrv] rt2800usb: Add new rt2800usb device PLANEX GW-USMicroN (Jarod Wilson) [1776606] - [netdrv] rt2x00: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [netdrv] rt2x00usb: remove unnecessary rx flag checks (Jarod Wilson) [1776606] - [netdrv] rt2x00usb: fix rx queue hang (Jarod Wilson) [1776606] - [netdrv] rt2800: do not enable watchdog by default (Jarod Wilson) [1776606] - [netdrv] rt2x00: add restart hw (Jarod Wilson) [1776606] - [netdrv] rt2800: do not nullify initialization vector data (Jarod Wilson) [1776606] - [netdrv] rt2800: add pre_reset_hw callback (Jarod Wilson) [1776606] - [netdrv] rt2800: initial watchdog implementation (Jarod Wilson) [1776606] - [netdrv] rt2800: add helpers for reading dma done index (Jarod Wilson) [1776606] - [netdrv] rt2x00: allow to specify watchdog interval (Jarod Wilson) [1776606] - [netdrv] rt2x00: add RT3883 support (Jarod Wilson) [1776606] - [netdrv] rt2x00mmio: remove legacy comment (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove not used entry field (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove last_nostatus_check (Jarod Wilson) [1776606] - [netdrv] rt2800mmio: use timer and work for handling tx statuses timeouts (Jarod Wilson) [1776606] - [netdrv] rt2800mmio: fetch tx status changes (Jarod Wilson) [1776606] - [netdrv] rt2800: move txstatus pending routine (Jarod Wilson) [1776606] - [netdrv] rt2800: new flush implementation for SoC devices (Jarod Wilson) [1776606] - [netdrv] rt2800: partially restore old mmio txstatus behaviour (Jarod Wilson) [1776606] - [netdrv] rt2x00: code-style fix in rt2800usb.c (Jarod Wilson) [1776606] - [netdrv] rt2x00: do not print error when queue is full (Jarod Wilson) [1776606] - [netdrv] rt2x00: check number of EPROTO errors (Jarod Wilson) [1776606] - [netdrv] rt2x00: use ratelimited variants dev_warn/dev_err (Jarod Wilson) [1776606] - [netdrv] rt2x00: do not increment sequence number while re-transmitting (Jarod Wilson) [1776606] - [netdrv] rt2800: comment and simplify AGC init for RT6352 (Jarod Wilson) [1776606] - [netdrv] rt2800: enable TX_PIN_CFG_RFRX_EN only for MT7620 (Jarod Wilson) [1776606] - [netdrv] rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove confusing AGC register (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove unneeded check (Jarod Wilson) [1776606] - [netdrv] rt2x00: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [netdrv] rt2x00: Work around a firmware bug with shared keys (Jarod Wilson) [1776606] - [netdrv] rt2x00: reduce tx power to nominal level on RT6352 (Jarod Wilson) [1776606] - [netdrv] rt2x00: rt61pci: mark expected switch fall-through (Jarod Wilson) [1776606] - [netdrv] rt2x00: rt2800lib: mark expected switch fall-throughs (Jarod Wilson) [1776606] - [netdrv] rt2x00: rt2500pci: mark expected switch fall-through (Jarod Wilson) [1776606] - [netdrv] rt2x00: rt2400pci: mark expected switch fall-through (Jarod Wilson) [1776606] - [netdrv] rt2800: flush and txstatus rework for rt2800mmio (Jarod Wilson) [1776606] - [netdrv] rt2x00: use different txstatus timeouts when flushing (Jarod Wilson) [1776606] - [netdrv] rt2x00: do not check for txstatus timeout every time on tasklet (Jarod Wilson) [1776606] - [netdrv] rt2800mmio: use txdone/txstatus routines from lib (Jarod Wilson) [1776606] - [netdrv] rt2800: move usb specific txdone/txstatus routines to rt2800lib (Jarod Wilson) [1776606] - [netdrv] rt2x00: use simple_read_from_buffer() (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove redundant functions rt2x00mac_sta_{add/remove} (Jarod Wilson) [1776606] - [net] mac80211: Correctly set noencrypt for PAE frames (Jarod Wilson) [1776606] - [net] mac80211: Don't memset RXCB prior to PAE intercept (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: handle switching killer Qu B0 NICs to C0 (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: improve rate probing for devices with static fallback (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: fix default max throughput rate indexes (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: reduce unnecessary rate probing attempts (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: fix per-group max throughput rate initialization (Jarod Wilson) [1776606] - [net] nl80211: Add support for EDMG channels (Jarod Wilson) [1776606] - [net] mac80211: fix possible NULL pointerderef in obss pd code (Jarod Wilson) [1776606] - [net] mac80211: add assoc-at support (Jarod Wilson) [1776606] - [uapi] cfg80211: Support assoc-at timer in sta-info (Jarod Wilson) [1776606] - [net] cfg80211: apply same mandatory rate flags for 5GHz and 6GHz (Jarod Wilson) [1776606] - [net] cfg80211: ibss: use 11a mandatory rates for 6GHz band operation (Jarod Wilson) [1776606] - [net] cfg80211: use same IR permissive rules for 6GHz band (Jarod Wilson) [1776606] - [net] cfg80211: add 6GHz in code handling array with NUM_NL80211_BANDS entries (Jarod Wilson) [1776606] - [net] cfg80211: extend ieee80211_operating_class_to_band() for 6GHz (Jarod Wilson) [1776606] - [net] cfg80211: util: add 6GHz channel to freq conversion and vice versa (Jarod Wilson) [1776606] - [net] cfg80211: add 6GHz UNII band definitions (Jarod Wilson) [1776606] - [uapi] nl80211: add 6GHz band definition to enum nl80211_band (Jarod Wilson) [1776606] - [net] revert "cfg80211: fix processing world regdomain when non modular" (Jarod Wilson) [1776606] - [net] mac80211: add missing length field increment when generating Radiotap header (Jarod Wilson) [1776606] - [net] mac80211: 80Mhz was not reported properly when using tx_status_ext (Jarod Wilson) [1776606] - [net] mac80211: fix bad guard when reporting legacy rates (Jarod Wilson) [1776606] - [net] mac80211: fix TX legacy rate reporting when tx_status_ext is used (Jarod Wilson) [1776606] - [net] mac80211: fix possible sta leak (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix recognition of QuZ devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: don't switch FW to qnj when ax201 is detected (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix the byte count table format for 22560 devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: Allow multicast data frames only when associated (Jarod Wilson) [1776606] - [netdrv] revert "mwifiex: fix system hang problem after resume" (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Remove unused GET_XXX and SET_XXX (Jarod Wilson) [1776606] - [netdrv] rtw88: add BT co-existence support (Jarod Wilson) [1776606] - [netdrv] rtw88: enclose c2h cmd handle with mutex (Jarod Wilson) [1776606] - [netdrv] rtw88: allow c2h operation in irq context (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Remove local configuration variable (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl88188ee: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Remove unused GET_XXX and SET_XXX descriptor macros (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: remove set but not used variable 'ip_sel' (Jarod Wilson) [1776606] - [netdrv] brcmsmac: remove three set but not used variables (Jarod Wilson) [1776606] - [netdrv] brcmfmac: remove set but not used variable 'dtim_period' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove unneeded function _rtl_dump_channel_map() (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl_pci: Use dev_get_drvdata (Jarod Wilson) [1776606] - [netdrv] mwifiex: pcie: Use dev_get_drvdata (Jarod Wilson) [1776606] - [netdrv] mwifiex: make error values consistent in mwifiex_update_bss_desc_with_ie() (Jarod Wilson) [1776606] - [netdrv] rtw88: use txpwr_lmt_cfg_pair struct, not arrays (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: fix compile time assert build errors (Jarod Wilson) [1776606] - [net] mac80211: HE STA disassoc due to QOS NULL not sent (Jarod Wilson) [1776606] - [net] mac80211: allow setting spatial reuse parameters from bss_conf (Jarod Wilson) [1776606] - [net] nl80211: add strict start type (Jarod Wilson) [1776606] - [net] cfg80211: add support for parsing OBBS_PD attributes (Jarod Wilson) [1776606] - [net] mac80211: reject zero MAC address in add station (Jarod Wilson) [1776606] - [net] cfg80211: use parallel_ops for genl (Jarod Wilson) [1776606] - [net] mac80211: add missing null return check from call to ieee80211_get_sband (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix a use-after-free bug in iwl_mvm_tx_tso_segment (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix an out-of-bound access (Jarod Wilson) [1776606] - [netdrv] iwlwifi: don't unmap as page memory that was mapped as single (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix version check for GEO_TX_POWER_LIMIT support (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add 3 new IDs for the 9000 series (iwl9260_2ac_160_cfg) (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix possible out-of-bounds read when accessing lq_info (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix frame drop from the reordering buffer (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: replace RS mutex with a spin_lock (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: send LQ command always ASYNC (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix comparison of u32 variable with less than zero (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix locking in delayed GTK setting (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: move iwl_dbg_tlv_free outside of debugfs ifdef (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: move iwl_dbg_tlv_load_bin out of debug override ifdef (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add a wrapper around rs_tx_status to handle locks (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add a loose synchronization of the NSSN across Rx queues (Jarod Wilson) [1776606] - [netdrv] iwlwiif: mvm: refactor iwl_mvm_notify_rx_queue (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add a new RSS sync notification for NSSN sync (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: prepare the ground for more RSS notifications (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: don't send GEO_TX_POWER_LIMIT on version < 41 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: avoid races in rate init and rate perform (Jarod Wilson) [1776606] - [net] revert "mac80211: set NETIF_F_LLTX when using intermediate tx queues" (Jarod Wilson) [1776606] - [net] mac80211: add support for the ADDBA extension element (Jarod Wilson) [1776606] - [net] mac80211: propagate HE operation info into bss_conf (Jarod Wilson) [1776606] - [net] cfg80211: fix dfs channels remain DFS_AVAILABLE after ch_switch (Jarod Wilson) [1776606] - [net] cfg80211: fix duplicated scan entries after channel switch (Jarod Wilson) [1776606] - [net] cfg80211: refactor cfg80211_bss_update (Jarod Wilson) [1776606] - [net] mac80211: don't WARN on short WMM parameters from AP (Jarod Wilson) [1776606] - [net] nl80211: Include wiphy address setup in NEW_WIPHY (Jarod Wilson) [1776606] - [net] mac80211: implement HE support for mesh (Jarod Wilson) [1776606] - [net] mac80211: add IEEE80211_KEY_FLAG_GENERATE_MMIE to ieee80211_key_flags (Jarod Wilson) [1776606] - [kernel] mac80211: he: add Spatial Reuse element parsing support (Jarod Wilson) [1776606] - [net] mac80211: add struct ieee80211_tx_status support to ieee80211_add_tx_radiotap_header (Jarod Wilson) [1776606] - [net] {nl, mac}80211: fix interface combinations on crypto controlled devices (Jarod Wilson) [1776606] - [net] mac80211: propagate struct ieee80211_tx_status into ieee80211_tx_monitor() (Jarod Wilson) [1776606] - [net] mac80211: add xmit rate to struct ieee80211_tx_status (Jarod Wilson) [1776606] - [kernel] mac80211: add support for parsing ADDBA_EXT IEs (Jarod Wilson) [1776606] - [net] cfg80211: give all multi-BSSID BSS entries the same timestamp (Jarod Wilson) [1776606] - [net] cfg80211: don't parse MBSSID if transmitting BSS isn't created (Jarod Wilson) [1776606] - [net] cfg80211: clean up cfg80211_inform_single_bss_frame_data() (Jarod Wilson) [1776606] - [net] cfg80211: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [net] mac80211: add tx dequeue function for process context (Jarod Wilson) [1776606] - [net] mac80211: run late dequeue late tx handlers without holding fq->lock (Jarod Wilson) [1776606] - [net] lib80211: use crypto API ccm(aes) transform for CCMP processing (Jarod Wilson) [1776606] - [net] mac80211: remove unused and unneeded remove_sta_debugfs callback (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove unused .remove_sta_debugfs callback (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dvm: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [net] mac80211: pass the vif to cancel_remain_on_channel (Jarod Wilson) [1776606] - [netdrv] mwifiex: use eth_broadcast_addr() to assign broadcast address (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove assignment to itself (Jarod Wilson) [1776606] - [netdrv] brcmfmac: don't net_ratelimit() CONSOLE messages on firmware crash (Jarod Wilson) [1776606] - [netdrv] rtw88: debug: dump tx power indexes in use (Jarod Wilson) [1776606] - [netdrv] rtlwifi: btcoex: fix issue possible condition with no effect (if == else) (Jarod Wilson) [1776606] - [netdrv] brcmfmac: remove unnecessary strlcpy() upon obtaining "ver" iovar (Jarod Wilson) [1776606] - [netdrv] brcmfmac: simply remove flowring if bus is down (Jarod Wilson) [1776606] - [netdrv] brcmfmac: avoid firmware commands when bus is down (Jarod Wilson) [1776606] - [netdrv] brcmfmac: clear events in brcmf_fweh_detach() will always fail (Jarod Wilson) [1776606] - [netdrv] brcmfmac: avoid firmware command in brcmf_netdev_open() when bus is down (Jarod Wilson) [1776606] - [netdrv] brcmfmac: change the order of things in brcmf_detach() (Jarod Wilson) [1776606] - [netdrv] revert "brcmfmac: fix NULL pointer derefence during USB disconnect" (Jarod Wilson) [1776606] - [netdrv] brcmfmac: allow 160MHz in custom regulatory rules (Jarod Wilson) [1776606] - [netdrv] brcmfmac: enable DFS_OFFLOAD extended feature if supported (Jarod Wilson) [1776606] - [netdrv] brcmfmac: add 160MHz in chandef_to_chanspec() (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: Use DMA sync instead of remapping in RX ISR (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: Rearrange the memory usage for skb in RX ISR (Jarod Wilson) [1776606] - [netdrv] rtw88: Fix misuse of GENMASK macro (Jarod Wilson) [1776606] - [netdrv] rtl8xxxu: Fix wifi low signal strength issue of RTL8723BU (Jarod Wilson) [1776606] - [net] mac80211: don't warn about CW params when not using them (Jarod Wilson) [1776606] - [net] mac80211: fix possible memory leak in ieee80211_assign_beacon (Jarod Wilson) [1776606] - [kernel] fix typos and some coding style in comments (Jarod Wilson) [1776606] - [netdrv] ath10k: work around uninitialized vht_pfr variable (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: add support for qu c-step devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add new cards for 9000 and 20000 series (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: clear rfkill_safe_init_done when we start the firmware (Jarod Wilson) [1776606] - [netdrv] iwlwifi: don't WARN when calling iwl_get_shared_mem_conf with RF-Kill (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: don't service an interrupt that was masked (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix RF-Kill interrupt while FW load for gen2 devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix ALIVE interrupt handling for gen2 devices w/o MSI-X (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: delay GTK setting in FW in AP mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove MAC_FILTER_IN_11AX for AP mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: debug recording stop and restart command remove (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: don't stop dbg recording before entering D3 from 9000 devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: fix debug monitor stop and restart in ini mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: make the usage of TWT configurable (Jarod Wilson) [1776606] - [netdrv] iwlwifi: support FSEQ TLV even when FMAC is not compiled (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: move trans debug fields to a separate struct (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove redundant checking of ini mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: enforce apply point early on buffer allocation tlv (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: fix debug monitor stop and restart delays (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: increase the size of PCI dumps (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: Drop large non sta frames (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: Add log information about SAR status (Jarod Wilson) [1776606] - [netdrv] iwlwifi: Add support for SAR South Korea limitation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix module init error paths (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: convert to FW AC when configuring MU EDCA (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: correctly fill the ac array in the iwl_mac_ctx_cmd (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove some unnecessary NULL checks (Jarod Wilson) [1776606] - [netdrv] iwlwifi: d3: Use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] iwlwifi: lib: Use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fw api: support adwell HB default APs number api (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove multiple debugfs entries (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: implement dump info collection (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add a debugfs entry to set a fixed size AMSDU for all TX packets (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: support debug info TLV (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use different barker for ini dump (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: add consecutive trigger firing support (Jarod Wilson) [1776606] - [kernel] ieee80211: Add a missing extended capability flag definition (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: abort region collection in case the size is 0 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: update CSI API (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: dump headers cleanup (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: allow dump collection in case of an early error (Jarod Wilson) [1776606] - [netdrv] iwlwifi: iwl_mvm_tx_mpdu() must be called with BH disabled (Jarod Wilson) [1776606] - [netdrv] ath10k: pci: remove unnecessary casts (Jarod Wilson) [1776606] - [netdrv] ath10k: remove unnecessary 'out of memory' message (Jarod Wilson) [1776606] - [netdrv] ath10k: destroy sdio workqueue while remove sdio module (Jarod Wilson) [1776606] - [netdrv] ath10k: Move non-fatal warn logs to dbg level for SDIO chip (Jarod Wilson) [1776606] - [netdrv] ath10k: Fix memory leak in qmi (Jarod Wilson) [1776606] - [netdrv] ath10k: add new hw_ops for sdio chip (Jarod Wilson) [1776606] - [netdrv] ath9k: correctly handle short radar pulses (Jarod Wilson) [1776606] - [netdrv] rtw88: refine flow to get tx power index (Jarod Wilson) [1776606] - [netdrv] rtw88: remove all RTW_MAX_POWER_INDEX macro (Jarod Wilson) [1776606] - [netdrv] rtw88: update tx power limit table to RF v20 (Jarod Wilson) [1776606] - [netdrv] rtw88: correct power limit selection (Jarod Wilson) [1776606] - [netdrv] rtw88: choose the lowest as world-wide power limit (Jarod Wilson) [1776606] - [netdrv] rtw88: fix incorrect tx power limit at 5G (Jarod Wilson) [1776606] - [netdrv] rtw88: remove unused variable (Jarod Wilson) [1776606] - [netdrv] rtw88: unify prefixes for tx power setting routine (Jarod Wilson) [1776606] - [netdrv] rtw88: do not use (void *) as argument (Jarod Wilson) [1776606] - [netdrv] rtw88: resolve order of tx power setting routines (Jarod Wilson) [1776606] - [netdrv] ath: fix SPDX tags (Jarod Wilson) [1776606] - [netdrv] ath10k: Add WMI diag fw logging support for WCN3990 (Jarod Wilson) [1776606] - [netdrv] ath10k: add report MIC error for sdio chip (Jarod Wilson) [1776606] - [netdrv] ath10k: add support for controlling tx power to a station (Jarod Wilson) [1776606] - [netdrv] ath10k: Add peer delete response event (Jarod Wilson) [1776606] - [netdrv] ath10k: wait for vdev delete response from firmware (Jarod Wilson) [1776606] - [netdrv] ath10k: fix PCIE device wake up failed (Jarod Wilson) [1776606] - [netdrv] ath10k: fix failure to set multiple fixed rate (Jarod Wilson) [1776606] - [netdrv] ath10k: Change the warning message string (Jarod Wilson) [1776606] - [netdrv] ath10k: fix fw crash by moving chip reset after napi disabled (Jarod Wilson) [1776606] - [netdrv] ath10k: add missing error handling (Jarod Wilson) [1776606] - [netdrv] ath10k: enabling tx stats support over pktlog (Jarod Wilson) [1776606] - [netdrv] ath10k: acquire lock to fix lockdep's warning (Jarod Wilson) [1776606] - [netdrv] ath10k: change firmware file name for UTF mode of SDIO/USB (Jarod Wilson) [1776606] - [netdrv] ath10k: add support for firmware crash recovery on SDIO chip (Jarod Wilson) [1776606] - [netdrv] ath10k: Add wrapper function to ath10k debug (Jarod Wilson) [1776606] - [netdrv] ath10k: add htt_h2t_aggr_cfg_msg op for high latency devices (Jarod Wilson) [1776606] - [netdrv] ath10k: add inline wrapper for htt_h2t_aggr_cfg_msg (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix sparse warnings: warning: incorrect type in assignment (different base types) (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix sparse warnings: warning: cast from restricted __le16 (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix sparse warnings: incorrect type in assignment (different base types) (Jarod Wilson) [1776606] - [netdrv] mt76: move nl80211_dfs_regions in mt76_dev data structure (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: remove cfg80211_chan_def from mt7615_set_channel signature (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: update peer's bssid when state transition occurs (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix incorrect settings in mesh mode (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: take into account extPA when configuring tx power (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: init per-channel target power (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add support for per-chain signal strength reporting (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: simplify mt7615_mcu_set_sta_rec routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: improve hardware rate switching configuration (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: rework and fix tx status reporting (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: remove key check in mt7615_mcu_set_wtbl_key (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: remove unused variable in mt7615_mcu_set_bcn (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix slow performance when enable encryption (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: enable support for mesh (Jarod Wilson) [1776606] - [netdrv] mt76: Remove set but not used variables 'pid' and 'final_mpdu' (Jarod Wilson) [1776606] - [netdrv] mt76: move mt76_get_rate in mt76-module (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: rearrange locking in mt7615_config (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: init get_txpower mac80211 callback (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add the capability to configure tx power (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: select wifi band according to eeprom (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add support for mtd eeprom parsing (Jarod Wilson) [1776606] - [netdrv] mt76: move mt76_insert_ccmp_hdr in mt76-module (Jarod Wilson) [1776606] - [netdrv] mt76: fix setting chan->max_power (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix reading target tx power from eeprom (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: do not process rx packets if the device is not initialized (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: add debugfs knob to enable/disable edcca (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add static qualifier to mt7615_rx_poll_complete (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: rearrange cleanup operations in mt7615_unregister_device (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: stop mac80211 queues before setting the channel (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: run __mt76_mcu_send_msg in mt7615_mcu_send_firmware (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: init mcu_restart function pointer (Jarod Wilson) [1776606] - [netdrv] mt7615: initialize mt76_mcu_ops data structure (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: use standard signature for mt7615_mcu_msg_send (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: remove unused structure in mcu.h (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: do not use function pointers whenever possible (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: unify __mt7615_mcu_set_dev_info and mt7615_mcu_set_dev_info (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: remove skb_ret from mt7615_mcu_msg_send (Jarod Wilson) [1776606] - [netdrv] mt7615: remove dest from mt7615_mcu_msg_send signature (Jarod Wilson) [1776606] - [netdrv] mt7615: remove query from mt7615_mcu_msg_send signature (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: remove unused parameter in mt7615_mcu_del_wtbl (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: unify mt7615_mcu_add_wtbl_bmc and mt7615_mcu_del_wtbl_bmc (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: use proper msg size in mt7615_mcu_add_wtbl (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: use proper msg size in mt7615_mcu_add_wtbl_bmc (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: remove bss_info_convert_vif_type routine (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: simplify __mt7615_mcu_set_sta_rec (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: simplify __mt7615_mcu_set_wtbl (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: Make mt7615_irq_handler static (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: Use after free in mt7615_mcu_set_bcn() (Jarod Wilson) [1776606] - [netdrv] mt76: Fix a signedness bug in mt7615_add_interface() (Jarod Wilson) [1776606] - [netdrv] mt76: move netif_napi_del in mt76_dma_cleanup (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: use napi polling for tx cleanup (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use napi polling for tx cleanup (Jarod Wilson) [1776606] - [netdrv] wireless/mediatek: Add SPDX license identifier - Makefile/Kconfig (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: dynamically alloc mcu req in mt7603_mcu_set_eeprom (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: enable/disable pre_tbtt_tasklet in mt7603_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: move pre_tbtt_tasklet in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: move beacon_mask in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: move beacon_int in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: report firmware version using ethtool (Jarod Wilson) [1776606] - [netdrv] mt76: fix endianness sparse warnings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: use sizeof instead of sizeof_field (Jarod Wilson) [1776606] - [netdrv] mt76: add mac80211 driver for MT7615 PCIe-based chipsets (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: run __mt76_mcu_send_msg in mt7603_mcu_send_firmware (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: init mcu_restart function pointer (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: initialize mt76_mcu_ops data structure (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use standard signature for mt7603_mcu_msg_send (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: remove query from mt7603_mcu_msg_send signature (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix initialization of max rx length (Jarod Wilson) [1776606] - [netdrv] mt76: use macro for sn and seq_ctrl conversion (Jarod Wilson) [1776606] - [netdrv] mt76: add skb pointer to mt76_tx_info (Jarod Wilson) [1776606] - [netdrv] mt76: move mac_work in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: only schedule txqs from the tx tasklet (Jarod Wilson) [1776606] - [netdrv] mt76: move tx tasklet to struct mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: store wcid tx rate info in one u32 reduce locking (Jarod Wilson) [1776606] - [netdrv] mt76: use readl/writel instead of ioread32/iowrite32 (Jarod Wilson) [1776606] - [netdrv] mt76: fix tx power issues (Jarod Wilson) [1776606] - [netdrv] mt76: introduce mt76_free_device routine (Jarod Wilson) [1776606] - [netdrv] mt76: unify set_tim (Jarod Wilson) [1776606] - [netdrv] mt7603: core: do not use magic numbers in mt7603_reg_map (Jarod Wilson) [1776606] - [netdrv] mt7603: remove mt7603_mcu_init routine (Jarod Wilson) [1776606] - [netdrv] mt76: dma: add static qualifier to mt76_dma_tx_queue_skb (Jarod Wilson) [1776606] - [netdrv] mt76: introduce mt76_tx_info data structure (Jarod Wilson) [1776606] - [netdrv] mt76: introduce mt76_sw_queue data structure (Jarod Wilson) [1776606] - [netdrv] mt76: remove mt76_queue dependency from tx_complete_skb function pointer (Jarod Wilson) [1776606] - [netdrv] mt76: remove mt76_queue dependency from tx_prepare_skb function pointer (Jarod Wilson) [1776606] - [netdrv] mt76: remove mt76_queue dependency from tx_queue_skb function pointer (Jarod Wilson) [1776606] - [netdrv] mt76: dma: move mt76x02_init_{tx, rx}_queue in mt76 module (Jarod Wilson) [1776606] - [netdrv] mt76: mmio: move mt76x02_set_irq_mask in mt76 module (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: send BAR after powersave wakeup (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix sequence number assignment (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: add missing initialization for dev->ps_lock (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use the correct hweight8() function (Jarod Wilson) [1776606] - [netdrv] mt76: fix return value check in mt76_wmac_probe() (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: set moredata flag when queueing ps-filtered packets (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: clear the service period on releasing PS filtered packets (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: notify mac80211 about buffered frames in ps queue (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix up hardware queue index for PS filtered packets (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: clear ps filtering mode before releasing buffered frames (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix tx status HT rate validation (Jarod Wilson) [1776606] - [netdrv] mt76: add driver for MT7603E and MT7628/7688 (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0u: do not reset radio on resume (Jarod Wilson) [1776606] - [netdrv] mt7601u: null check the allocation (Jarod Wilson) [1776606] - [netdrv] mt7601u: use params->ssn value directly (Jarod Wilson) [1776606] - [netdrv] mt76: usb: fix rx A-MSDU support (Jarod Wilson) [1776606] - [netdrv] mt76: mt76u: get rid of {out,in}_max_packet (Jarod Wilson) [1776606] - [netdrv] mt76: mt76u: reduce rx memory footprint (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02u: fix sparse warnings: should it be static? (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0: fix RF frontend initialization for external PA (Jarod Wilson) [1776606] - [netdrv] mt76: generalize mt76_get_txpower for 4x4:4 devices (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: fix tx reordering on rate control probing without a-mpdu (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: fix tx status reporting issues (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: fix edcca file permission (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: run mt76x02_edcca_init atomically in mt76_edcca_set (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x2: move mutex_lock inside mt76x2_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x2u: remove mt76x02_edcca_init in mt76x2u_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: remove enable from mt76x02_edcca_init signature (Jarod Wilson) [1776606] - [netdrv] mt76: move tx_napi in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: remove useless return in mt76x02_resync_beacon_timer (Jarod Wilson) [1776606] - [netdrv] mt7601u: fix possible memory leak when the device is disconnected (Jarod Wilson) [1776606] - [netdrv] mt7601u: do not schedule rx_tasklet when the device has been disconnected (Jarod Wilson) [1776606] - [netdrv] mwifiex: don't disable hardirqs; just softirqs (Jarod Wilson) [1776606] - [netdrv] mwifiex: dispatch/rotate from reorder table atomically (Jarod Wilson) [1776606] - [netdrv] mwifiex: ignore processing invalid command response (Jarod Wilson) [1776606] - [netdrv] mwifiex: update set_mac_address logic (Jarod Wilson) [1776606] - [netdrv] mwifiex: print PCI mmap with pK (Jarod Wilson) [1776606] - [netdrv] mwifiex: drop 'set_consistent_dma_mask' log message (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add support for hr1 RF ID (Jarod Wilson) [1776606] - [netdrv] iwlwifi: change 0x02F0 fw from qu to quz (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add new cards for 22000 and change wrong structs (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add new cards for 22000 and fix struct name (Jarod Wilson) [1776606] - [net] mac80211: notify offchannel expire on mgmt_tx (Jarod Wilson) [1776606] - [net] nl80211: send event when CMD_FRAME duration expires (Jarod Wilson) [1776606] - [net] mac80211: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [net] mac80211: extend __rate_control_send_low warning (Jarod Wilson) [1776606] - [net] mac80211: fill low rate even for HAS_RATE_CONTROL (Jarod Wilson) [1776606] - [net] mac80211: use STA info in rate_control_send_low() (Jarod Wilson) [1776606] - [net] mac80211: call rate_control_send_low() internally (Jarod Wilson) [1776606] - [net] cfg80211: Add a function to iterate all BSS entries (Jarod Wilson) [1776606] - [net] mac80211: allow turning TWT responder support on and off via netlink (Jarod Wilson) [1776606] - [net] mac80211: dynamically enable the TWT requester support on STA interfaces (Jarod Wilson) [1776606] - [net] mac80211: add ieee80211_get_he_iftype_cap() helper (Jarod Wilson) [1776606] - [uapi] nl80211: add support for SAE authentication offload (Jarod Wilson) [1776606] - [net] nl80211: add WPA3 definition for SAE authentication (Jarod Wilson) [1776606] - [net] nl80211: add NL80211_ATTR_IFINDEX to port authorized event (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: remove redundant assignment to rtstatus (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove redundant assignment to variable k (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove redundant assignment to variable badworden (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: fix error handle when usb probe failed (Jarod Wilson) [1776606] - [netdrv] rtlwifi: btcoex: remove unused function exhalbtc_stack_operation_notify (Jarod Wilson) [1776606] - [netdrv] rtlwifi: btcoex: Remove set but not used variable 'len' and 'asso_type_v2' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Remove set but not used variables 'cur_txokcnt' and 'b_last_is_cur_rdl_state' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Remove unused GET_XXX and SET_XXX descriptor macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: 8192de: use le32 to access cckswing tables (Jarod Wilson) [1776606] - [netdrv] rtlwifi: 8192de: Fix used uninitialized variables in power tracking (Jarod Wilson) [1776606] - [netdrv] rtlwifi: 8192de: make tables to be 'static const' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: 8192de: Reduce indentation and fix coding style (Jarod Wilson) [1776606] - [netdrv] rtw88: fix typo rtw_writ16_set (Jarod Wilson) [1776606] - [netdrv] rtw88: rsvd page should go though management queue (Jarod Wilson) [1776606] - [netdrv] rtw88: restore DACK results to save time (Jarod Wilson) [1776606] - [netdrv] rtw88: power on again if it was already on (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: use more accurate ofdm fa counting (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: disable rx clock gating before counter reset (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: update channel and bandwidth BB setting (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: add rf write protection when switching channel (Jarod Wilson) [1776606] - [netdrv] rtw88: add beacon function setting (Jarod Wilson) [1776606] - [netdrv] rtw88: add support for random mac scan (Jarod Wilson) [1776606] - [netdrv] rtw88: add fast xmit support (Jarod Wilson) [1776606] - [netdrv] rtw88: more descriptions about LPS (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: check if queue mapping exceeds size of ac_to_hwq (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: use ieee80211_ac_numbers instead of 0-3 (Jarod Wilson) [1776606] - [netdrv] brcmfmac: use strlcpy() instead of strcpy() (Jarod Wilson) [1776606] - [netdrv] brcmfmac: fix typos in code comments (Jarod Wilson) [1776606] - [netdrv] brcm80211: select WANT_DEV_COREDUMP conditionally for brcmfmac (Jarod Wilson) [1776606] - [netdrv] brcmfmac: use separate Kconfig file for brcmfmac (Jarod Wilson) [1776606] - [netdrv] brcmfmac: switch source files to using SPDX license identifier (Jarod Wilson) [1776606] - [netdrv] brcmsmac: switch phy source files to using SPDX license identifier (Jarod Wilson) [1776606] - [netdrv] brcmutil: switch source files to using SPDX license identifier (Jarod Wilson) [1776606] - [netdrv] brcm80211: switch common header files to using SPDX license identifier (Jarod Wilson) [1776606] - [net] cfg80211: Handle bss expiry during connection (Jarod Wilson) [1776606] - [netdrv] ath10k: Check tx_stats before use it (Jarod Wilson) [1776606] - [netdrv] ath10k: add peer id check in ath10k_peer_find_by_id (Jarod Wilson) [1776606] - [netdrv] ath10k: Add wmi tlv service map for mesh 11s (Jarod Wilson) [1776606] - [netdrv] ath10k: Do not send probe response template for mesh (Jarod Wilson) [1776606] - [netdrv] ath10k: Add wmi tlv vdev subtype for mesh in WCN3990 (Jarod Wilson) [1776606] - [netdrv] ath10k: change swap mail box config for UTF mode of SDIO (Jarod Wilson) [1776606] - [netdrv] ath10k: Fix the wrong value of enums for wmi tlv stats id (Jarod Wilson) [1776606] - [netdrv] ath10k: coredump: use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] ath10k: Use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] ath10k: Fix encoding for protected management frames (Jarod Wilson) [1776606] - [netdrv] ath10k: rx_duration update for fw_stats debugfs entry (Jarod Wilson) [1776606] - [netdrv] ath10k: Fix the tx stats bytes & packets parsing (Jarod Wilson) [1776606] - [netdrv] ath10k: Modify CE4 src buffer entries to 2048 for WCN3990 (Jarod Wilson) [1776606] - [netdrv] ath10k: Move board id and fw version logging to info level (Jarod Wilson) [1776606] - [netdrv] ath10k: Added support to reset HTT stats in debugfs (Jarod Wilson) [1776606] - [netdrv] ath10k: Extended the HTT stats support to retrieve Mu-MIMO related stats (Jarod Wilson) [1776606] - [netdrv] ath: DFS JP domain W56 fixed pulse type 3 RADAR detection (Jarod Wilson) [1776606] - [netdrv] ath9k: drop redundant code in ar9003_hw_set_channel (Jarod Wilson) [1776606] - [netdrv] ath: drop duplicated define (Jarod Wilson) [1776606] - [netdrv] ath9k: Remove some set but not used variables (Jarod Wilson) [1776606] - [netdrv] ath9k: Differentiate between max combined and per chain power (Jarod Wilson) [1776606] - [netdrv] ath9k: Check for errors when reading SREV register (Jarod Wilson) [1776606] - [netdrv] ath9k: Don't trust TX status TID number when reporting airtime (Jarod Wilson) [1776606] - [netdrv] ath6kl: remove redundant check of status != 0 (Jarod Wilson) [1776606] - [netdrv] ath6kl: add some bounds checking (Jarod Wilson) [1776606] - [netdrv] ath6kl: wmi: use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] ath6kl: debug: Use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] ath10k: fix incorrect multicast/broadcast rate setting (Jarod Wilson) [1776606] - [netdrv] ath10k: enable QCA6174 hw3.2 SDIO hardware (Jarod Wilson) [1776606] - [netdrv] ath10k: add fragmentation handler for high latency devices (Jarod Wilson) [1776606] - [netdrv] ath10k: add PN replay protection for high latency devices (Jarod Wilson) [1776606] - [netdrv] ath10k: add handler for HTT_T2H_MSG_TYPE_SEC_IND event (Jarod Wilson) [1776606] - [netdrv] ath10k: add struct for high latency PN replay protection (Jarod Wilson) [1776606] - [netdrv] ath10k: sdio: add missing error check (Jarod Wilson) [1776606] - [netdrv] ath10k: add initialization of HTC header (Jarod Wilson) [1776606] - [netdrv] ath10k: fix use-after-free on SDIO data frames (Jarod Wilson) [1776606] - [netdrv] ath10k: htt: support MSDU ids with SDIO (Jarod Wilson) [1776606] - [netdrv] ath10k: initialise struct ath10k_bus params to zero (Jarod Wilson) [1776606] - [netdrv] ath10k: htt: don't use txdone_fifo with SDIO (Jarod Wilson) [1776606] - [netdrv] ath10k: don't disable interrupts in ath10k_sdio_remove() (Jarod Wilson) [1776606] - [netdrv] ath10k: sdio: workaround firmware UART pin configuration bug (Jarod Wilson) [1776606] - [net] cfg80211: Add airtime statistics and settings (Jarod Wilson) [1776606] - [base] depend on HAS_IOMEM for devm_platform_ioremap_resource() (Jarod Wilson) [1776606] - [base] provide devm_platform_ioremap_resource() (Jarod Wilson) [1776606] - [lib] crypto: arc4 - refactor arc4 core code into separate library (Jarod Wilson) [1776606] - [crypto] export arc4 defines (Jarod Wilson) [1776606] - [crypto] arc4 - convert to skcipher API (Jarod Wilson) [1776606] - [kernel] bitfield: add u8 helpers (Jarod Wilson) [1776606]- [md] raid5: need to set STRIPE_HANDLE for batch head (Nigel Croxon) [1774840] - [scsi] lpfc: remove left-over BUILD_NVME defines (Ewan Milne) [1782235] - [block] fix memleak of bio integrity data (Ming Lei) [1779898] - [fs] xfs: attach dquots and reserve quota blocks during unwritten conversion (Carlos Maiolino) [1782094] - [nvme] nvme-fc: fix double-free scenarios on hw queues (Ewan Milne) [1781390] - [tools] power turbostat: Add Cometlake support (David Arcari) [1759661] - [mm] hugetlbfs: take read_lock on i_mmap for PMD sharing (Waiman Long) [1731295] - [documentation] powerpc/pseries: Add documentation for vcpudispatch_stats (Gustavo Duarte) [1723870] - [powerpc] pseries: Protect against hogging the cpu while setting up the stats (Gustavo Duarte) [1723870] - [powerpc] pseries: Provide vcpu dispatch statistics (Gustavo Duarte) [1723870] - [powerpc] pseries: Move mm/book3s64/vphn.c under platforms/pseries/ (Gustavo Duarte) [1723870] - [powerpc] pseries: Generalize hcall_vphn() (Gustavo Duarte) [1723870] - [powerpc] mm: Move book3s64 specifics in subdirectory mm/book3s64 (Gustavo Duarte) [1723870] - [powerpc] pseries: Introduce rwlock to gatekeep DTLB usage (Gustavo Duarte) [1723870] - [powerpc] pseries: Factor out DTL buffer allocation and registration routines (Gustavo Duarte) [1723870] - [powerpc] pseries: Do not save the previous DTL mask value (Gustavo Duarte) [1723870] - [powerpc] pseries: Use macros for referring to the DTL enable mask (Gustavo Duarte) [1723870] - [powerpc] mm: change #include "mmu_decl.h" to (Gustavo Duarte) [1723870] - [fs] devpts_pty_kill(): don't bother with d_delete() (Eric Sandeen) [1772718] - [fs] devpts: always delete dcache dentry-s in dput() (Eric Sandeen) [1772718] - [infiniband] rdma/siw: Fix post_recv QP state locking (Kamal Heib) [1779625] - [infiniband] rdma/siw: Fix SQ/RQ drain logic (Kamal Heib) [1779625] - [infiniband] rdma/siw: Relax from kmap_atomic() use in TX path (Kamal Heib) [1779625] - [netdrv] nfp: flower: cmsg rtnl locks can timeout reify messages (Pablo Cascon) [1729154] - [netdrv] nfp: Drop unnecessary continue in nfp_net_pf_alloc_vnics (Pablo Cascon) [1729154] - [netdrv] nfp: flower: handle neighbour events on internal ports (Pablo Cascon) [1729154] - [netdrv] nfp: flower: prevent ingress block binds on internal ports (Pablo Cascon) [1729154] - [netdrv] nfp: add AMDA0058 boards to firmware list (Pablo Cascon) [1729154] - [netdrv] nfp: no need to check return value of debugfs_create functions (Pablo Cascon) [1729154] - [netdrv] nfp: flower: encode mac indexes with pre-tunnel rule check (Pablo Cascon) [1729154] - [netdrv] nfp: flower: remove offloaded MACs when reprs are applied to OvS bridges (Pablo Cascon) [1729154] - [netdrv] nfp: flower: offload pre-tunnel rules (Pablo Cascon) [1729154] - [netdrv] nfp: flower: verify pre-tunnel rules (Pablo Cascon) [1729154] - [netdrv] nfp: flower: detect potential pre-tunnel rules (Pablo Cascon) [1729154] - [netdrv] nfp: flower: push vlan after tunnel in merge (Pablo Cascon) [1729154] - [netdrv] nfp: flower: offload MPLS set action (Pablo Cascon) [1729154] - [netdrv] nfp: flower: offload MPLS pop action (Pablo Cascon) [1729154] - [netdrv] nfp: flower: offload MPLS push action (Pablo Cascon) [1729154] - [netdrv] nfp: flower: ensure ip protocol is specified for L4 matches (Pablo Cascon) [1729154] - [netdrv] nfp: flower: fix ethernet check on match fields (Pablo Cascon) [1729154] - [netdrv] nfp: ccm: increase message limits (Pablo Cascon) [1729154] - [netdrv] nfp: Use spinlock_t instead of struct spinlock (Pablo Cascon) [1729154] - [netdrv] nfp: flower: add GRE encap action support (Pablo Cascon) [1729154] - [netdrv] nfp: flower: add GRE decap classification support (Pablo Cascon) [1729154] - [netdrv] nfp: flower: rename tunnel related functions in action offload (Pablo Cascon) [1729154] - [netdrv] nfp: flower: add helper functions for tunnel classification (Pablo Cascon) [1729154] - [netdrv] nfp: flower: refactor tunnel key layer calculation (Pablo Cascon) [1729154] - [netdrv] nfp: flower: extend extack messaging for flower match and actions (Pablo Cascon) [1729154] - [netdrv] nfp: flower: use extack messages in flower offload (Pablo Cascon) [1729154] - [netdrv] nfp: flower: check L4 matches on unknown IP protocols (Pablo Cascon) [1729154] - [netdrv] nfp: print a warning when binding VFs to PF driver (Pablo Cascon) [1729154] - [netdrv] nfp: update the old flash error message (Pablo Cascon) [1729154] - [netdrv] nfp: prepare for more TX metadata prepend (Pablo Cascon) [1729154] - [netdrv] nfp: add tls init code (Pablo Cascon) [1729154] - [netdrv] nfp: parse crypto opcode TLV (Pablo Cascon) [1729154] - [netdrv] nfp: add support for sending control messages via mailbox (Pablo Cascon) [1729154] - [netdrv] nfp: parse the mailbox cmsg TLV (Pablo Cascon) [1729154] - [netdrv] nfp: make bar_lock a semaphore (Pablo Cascon) [1729154] - [netdrv] nfp: count all failed TX attempts as errors (Pablo Cascon) [1729154] - [netdrv] nfp: ensure skb network header is set for packet redirect (Pablo Cascon) [1728773] - [netdrv] nfp: reintroduce ndo_get_port_parent_id for representor ports (Pablo Cascon) [1728773] - [netdrv] nfp: implement PCI driver shutdown callback (Pablo Cascon) [1728773] - [netdrv] nfp: add SR-IOV trusted VF support (Pablo Cascon) [1728773] - [netdrv] nfp: split out common control message handling code (Pablo Cascon) [1728773] - [netdrv] nfp: move vNIC reset before netdev init (Pablo Cascon) [1728773] - [netdrv] nfp: add a mutex lock for the vNIC ctrl BAR (Pablo Cascon) [1728773] - [netdrv] nfp: opportunistically poll for reconfig result (Pablo Cascon) [1728773] - [netdrv] nfp: remove ndo_get_port_parent_id implementation (Pablo Cascon) [1728773] - [netdrv] nfp: pass switch ID through devlink_port_attrs_set() (Pablo Cascon) [1728773] - [netdrv] nfp: implement ethtool get module EEPROM (Pablo Cascon) [1728773] - [netdrv] nfp: nsp: implement read SFF module EEPROM (Pablo Cascon) [1728773] - [netdrv] nfp: do not handle nn->port defined case in nfp_net_get_phys_port_name() (Pablo Cascon) [1728773] - [netdrv] nfp: register devlink port before netdev (Pablo Cascon) [1728773] - [netdrv] nfp: remove defines for unused control bits (Pablo Cascon) [1728773] - [netdrv] replace ndo_get_devlink with ndo_get_devlink_port (Pablo Cascon) [1728773] - [netdrv] nfp: add .ndo_get_devlink (Pablo Cascon) [1728773] - [netdrv] nfp: flower: add rcu locks when accessing netdev for tunnels (Pablo Cascon) [1728773] - [netdrv] nfp: flower: add qos offload stats request and reply (Pablo Cascon) [1728773] - [netdrv] nfp: flower: fix size_t compile warning (Pablo Cascon) [1728773] - [netdrv] nfp: flower: fix implicit fallthrough warning (Pablo Cascon) [1728773] - [netdrv] nfp: flower: offload merge flows (Pablo Cascon) [1728773] - [netdrv] nfp: flower: support stats update for merge flows (Pablo Cascon) [1728773] - [netdrv] nfp: flower: generate merge flow rule (Pablo Cascon) [1728773] - [netdrv] nfp: flower: validate merge hint flows (Pablo Cascon) [1728773] - [netdrv] nfp: flower: handle merge hint messages (Pablo Cascon) [1728773] - [netdrv] nfp: flower: get flows by host context (Pablo Cascon) [1728773] - [netdrv] nfp: flower: allow tunnels to output to internal port (Pablo Cascon) [1728773] - [netdrv] nfp: flower: support fallback packets from internal ports (Pablo Cascon) [1728773] - [netdrv] nfp: allow fallback packets from non-reprs (Pablo Cascon) [1728773] - [netdrv] nfp: flower: allow offloading of matches on 'internal' ports (Pablo Cascon) [1728773] - [netdrv] nfp: flower: turn on recirc and merge hint support in firmware (Pablo Cascon) [1728773] - [netdrv] nfp: flower: reduce action list size by coalescing mangle actions (Pablo Cascon) [1728773] - [fs] xfs: properly serialise fallocate against AIO+DIO (Eric Sandeen) [1765547] - [fs] xfs: fix attr leaf header freemap.size underflow (Brian Foster) [1728989] - [mm] maintain randomization of page free lists (Rafael Aquini) [1620349] - [mm] move buddy list manipulations into helpers (Rafael Aquini) [1620349] - [mm] shuffle initial free memory to improve memory-side-cache utilization (Rafael Aquini) [1620349] - [powerpc] kvm: ppc: book3s hv: Flush link stack on guest exit to host kernel (Gustavo Duarte) [1777686] - [powerpc] book3s64: Fix link stack flush on context switch (Gustavo Duarte) [1777686] - [powerpc] 64s: support nospectre_v2 cmdline option (Gustavo Duarte) [1777686] - [powerpc] fsl: Update Spectre v2 reporting (Gustavo Duarte) [1777686] - [powerpc] fsl: Add nospectre_v2 command line argument (Gustavo Duarte) [1777686] - [powerpc] fsl: Fix spectre_v2 mitigations reporting (Gustavo Duarte) [1777686] - [powerpc] 64: Make meltdown reporting Book3S 64 specific (Gustavo Duarte) [1777686] - [powerpc] 64: Disable the speculation barrier from the command line (Gustavo Duarte) [1777686] - [x86] kprobes: Avoid kretprobe recursion bug (Jiri Olsa) [1779235] - [x86] kprobes: Verify stack frame on kretprobe (Jiri Olsa) [1779235]- [fs] iomap: Fix pipe page leakage during splicing (Andreas Grunbacher) [1622634] - [fs] iomap: fix return value of iomap_dio_bio_actor on 32bit systems (Andreas Grunbacher) [1622634] - [fs] iomap: iomap_bmap should check iomap_apply return value (Andreas Grunbacher) [1622634] - [fs] iomap: Fix overflow in iomap_page_mkwrite (Andreas Grunbacher) [1622634] - [fs] splice: only read in as much information as there is pipe buffer space (Andreas Grunbacher) [1622634] - [fs] gfs2: Always mark inode dirty in fallocate (Andreas Grunbacher) [1622634] - [fs] dax: Fix pmd vs pte conflict detection (Jeff Moyer) [1777250] - [fs] xfs: move local to extent inode logging into bmap helper (Brian Foster) [1737677] - [fs] xfs: remove broken error handling on failed attr sf to leaf change (Brian Foster) [1737677] - [fs] xfs: log the inode on directory sf to block format change (Brian Foster) [1737677] - [block] bfq: deschedule empty bfq_queues not referred by any process (Ming Lei) [1773831] - [scsi] revert "scsi: qla2xxx: Fix memory leak when sending I/O fails" (Himanshu Madhani) [1759275] - [infiniband] rdma/iw_cxgb4: Report correct port speed/width (Vishal Kulkarni) [1757806] - [infiniband] rdma/iw_cxgb4: fix SRQ access from dump_qp() (Vishal Kulkarni) [1779997] - [net] nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds (Vladis Dronov) [1778898] - [atm] iphase: Fix Spectre v1 vulnerability (Vladis Dronov) [1778898] - [x86] tls: Fix possible spectre-v1 in do_get_thread_area() (Vladis Dronov) [1778898] - [x86] ptrace: Fix possible spectre-v1 in ptrace_get_debugreg() (Vladis Dronov) [1778898] - [net] atm: Fix potential Spectre v1 vulnerabilities (Vladis Dronov) [1778898] - [powerpc] ptrace: Mitigate potential Spectre v1 (Vladis Dronov) [1778898] - [char] applicom: Fix potential Spectre v1 vulnerabilities (Vladis Dronov) [1778898] - [char] mwave: fix potential Spectre v1 vulnerability (Vladis Dronov) [1778898] - [misc] misc/sgi-gru: fix Spectre v1 vulnerability (Vladis Dronov) [1778898] - [usb] gadget: storage: Fix Spectre v1 vulnerability (Vladis Dronov) [1778898] - [misc] hmc6352: fix potential Spectre v1 (Vladis Dronov) [1778898] - [s390] qeth: ensure linear access to packet headers (Philipp Rudo) [1781085] - [s390] qeth: guard against runt packets (Philipp Rudo) [1781085] - [s390] qeth: handle skb allocation error gracefully (Philipp Rudo) [1781085] - [s390] qeth: drop unwanted packets earlier in RX path (Philipp Rudo) [1781085] - [s390] qeth: support per-frame invalidation (Philipp Rudo) [1781085] - [s390] qeth: gather more detailed RX dropped/error statistics (Philipp Rudo) [1781085] - [s390] Mark expected switch fall-throughs (Philipp Rudo) [1781085] - [sched] fair: Scale bandwidth quota and period without losing quota/period ratio precision (Phil Auld) [1706247] - [sched] fair: Fix -Wunused-but-set-variable warnings (Phil Auld) [1706247] - [sched] fair: Fix low cpu usage with high throttling by removing expiration of cpu-local slices (Phil Auld) [1706247] - [kernel] sched/core: Remove double update_max_interval() call on CPU startup (Phil Auld) [1757535] - [kernel] sched/core: Fix migration to invalid CPU in __set_cpus_allowed_ptr() (Phil Auld) [1757535] - [kernel] sched/fair: Don't assign runtime for throttled cfs_rq (Phil Auld) [1757535] - [kernel] cpufreq: schedutil: Don't skip freq update when limits change (Phil Auld) [1757535] - [kernel] sched/deadline: Fix double accounting of rq/running bw in push & pull (Phil Auld) [1757535] - [kernel] sched/fair: Fix imbalance due to CPU affinity (Phil Auld) [1757535] - [kernel] sched/fair: Use RCU accessors consistently for ->numa_group (Phil Auld) [1757535] - [kernel] sched/fair: Don't free p->numa_faults with concurrent readers (Phil Auld) [1757535] - [kernel] sched/fair: Rename weighted_cpuload() to cpu_runnable_load() (Phil Auld) [1757535] - [kernel] sched/topology: Remove unused 'sd' parameter from arch_scale_cpu_capacity() (Phil Auld) [1757535] - [kernel] sched/fair: Don't push cfs_bandwith slack timers forward (Phil Auld) [1757535] - [documentation] sched/fair: Fix "runnable_avg_yN_inv" not used warnings (Phil Auld) [1757535] - [kernel] sched/fair: Clean up definition of NOHZ blocked load functions (Phil Auld) [1757535] - [kernel] sched/core: Add __sched tag for io_schedule() (Phil Auld) [1757535] - [kernel] sched/fair: Remove sgs->sum_weighted_load (Phil Auld) [1757535] - [kernel] sched/core: Remove sd->*_idx (Phil Auld) [1757535] - [kernel] sched/core: Remove rq->cpu_load[] (Phil Auld) [1757535] - [kernel] sched/debug: Remove sd->*_idx range on sysctl (Phil Auld) [1757535] - [kernel] sched/fair: Replace source_load() & target_load() with weighted_cpuload() (Phil Auld) [1757535] - [kernel] sched/fair: Remove the rq->cpu_load[] update code (Phil Auld) [1757535] - [kernel] sched/fair: Remove rq->load (Phil Auld) [1757535] - [kernel] sched/core: Unify p->on_rq updates (Phil Auld) [1757535] - [kernel] sched/core: Remove ttwu_activate() (Phil Auld) [1757535] - [kernel] sched/cpufreq: Fix 32-bit math overflow (Phil Auld) [1757535] - [kernel] sched/fair: Update scale invariance of PELT (Phil Auld) [1757535] - [kernel] sched/pelt: Skip updating util_est when utilization is higher than CPU's capacity (Phil Auld) [1757535] - [kernel] sched/fair: Move the rq_of() helper function (Phil Auld) [1757535] - [kernel] sched/core: Use READ_ONCE()/WRITE_ONCE() in move_queued_task()/task_rq_lock() (Phil Auld) [1757535] - [kernel] sched/numa: Remove unused numa_stats::nr_running field (Phil Auld) [1757535] - [kernel] sched/fair: Add lsub_positive() and use it consistently (Phil Auld) [1706247 1757535] - [kernel] sched/fair: Mask UTIL_AVG_UNCHANGED usages (Phil Auld) [1706247 1757535] - [cpuidle] teo: Avoid using "early hits" incorrectly (Al Stone) [1725618] - [cpuidle] teo: Fix "early hits" handling for disabled idle states (Al Stone) [1725618] - [cpuidle] teo: Consider hits and misses metrics of disabled states (Al Stone) [1725618] - [cpuidle] teo: Rename local variable in teo_select() (Al Stone) [1725618] - [cpuidle] teo: Ignore disabled idle states that are too deep (Al Stone) [1725618] - [cpuidle] teo: Get rid of redundant check in teo_update() (Al Stone) [1725618] - [cpuidle] teo: Allow tick to be stopped if PM QoS is used (Al Stone) [1725618] - [cpuidle] governors: unify last_state_idx (Al Stone) [1725618] - [powerpc] powernv/cpuidle: Fix idle states all being marked invalid (Al Stone) [1725618] - [cpuidle] menu: Avoid overflows when computing variance (Al Stone) [1725618] - [cpuidle] dt: bail out if the idle-state DT node is not compatible (Al Stone) [1725618] - [kernel] cpuidle: use BIT() for idle state flags and remove CPUIDLE_DRIVER_FLAGS_MASK (Al Stone) [1725618] - [cpuidle] New timer events oriented governor for tickless systems (Al Stone) [1725618] - [cpuidle] Add 'above' and 'below' idle state metrics (Al Stone) [1725618] - [cpuidle] big.little: fix refcount leak (Al Stone) [1725618] - [documentation] documentation: admin-guide: pm: Add cpuidle document (Al Stone) [1725618] - [cpuidle] powerpc/pseries/cpuidle: Fix preempt warning (Al Stone) [1725618] - [cpuidle] arm: cpuidle: Convert to use cpuidle_register|unregister() (Al Stone) [1725618] - [cpuidle] arm: cpuidle: Don't register the driver when back-end init returns -ENXIO (Al Stone) [1725618] - [cpuidle] menu: Remove get_loadavg() from the performance multiplier (Al Stone) [1725618] - [kernel] sched: Factor out nr_iowait and nr_iowait_cpu (Al Stone) [1725618] - [kernel] sched/core: Fix comment regarding nr_iowait_cpu() and get_iowait_load() (Al Stone) [1725618] - [cpuidle] menu: Avoid computations when result will be discarded (Al Stone) [1725618] - [cpuidle] menu: Drop redundant comparison (Al Stone) [1725618] - [cpuidle] menu: Simplify checks related to the polling state (Al Stone) [1725618] - [cpuidle] menu: Move the latency_req == 0 special case check (Al Stone) [1725618] - [cpuidle] menu: Avoid computations for very close timers (Al Stone) [1725618] - [cpuidle] menu: Do not update last_state_idx in menu_select() (Al Stone) [1725618] - [cpuidle] menu: Get rid of first_idx from menu_select() (Al Stone) [1725618] - [cpuidle] menu: Compute first_idx when latency_req is known (Al Stone) [1725618] - [cpuidle] menu: Replace data->predicted_us with local variable (Al Stone) [1725618] - [cpuidle] enter_state: Don't needlessly calculate diff time (Al Stone) [1725618] - [kernel] cpuidle: Remove unnecessary wrapper cpuidle_get_last_residency() (Al Stone) [1725618] - [cpuidle] menu: Update stale polling override comment (Al Stone) [1725618] - [cpuidle] menu: Fix white space (Al Stone) [1725618] - [cpuidle] powernv/cpuidle: Use parsed device tree values for cpuidle_init (Al Stone) [1725618] - [powerpc] powernv/cpuidle: Parse dt idle properties into global structure (Al Stone) [1725618] - [cpuidle] arm: cpuidle: silence error on driver registration failure (Al Stone) [1725618]- [documentation] docs: admin-guide: Remove threads-max auto-tuning (Joe Lawrence) [1771270] - [documentation] docs: admin-guide: Fix min value of threads-max in kernel.rst (Joe Lawrence) [1771270] - [kernel] sysctl.c: do not override max_threads provided by userspace (Joe Lawrence) [1771270] - [fs] ext4: fix integer overflow when calculating commit interval (Lukas Czerner) [1775166] - [fs] ext4: fix punch hole for inline_data file systems (Lukas Czerner) [1775166] - [fs] ext4: fix warning inside ext4_convert_unwritten_extents_endio (Lukas Czerner) [1775166] - [fs] ext4: set error return correctly when ext4_htree_store_dirent fails (Lukas Czerner) [1775166] - [fs] ext4: fix warning when turn on dioread_nolock and inline_data (Lukas Czerner) [1775166] - [fs] ext4: use jbd2_inode dirty range scoping (Lukas Czerner) [1775166] - [fs] jbd2: introduce jbd2_inode dirty range scoping (Lukas Czerner) [1775166] - [mm] add filemap_fdatawait_range_keep_errors() (Lukas Czerner) [1775166] - [fs] ext4: enforce the immutable flag on open files (Lukas Czerner) [1775166] - [fs] ext4: don't allow any modifications to an immutable file (Lukas Czerner) [1775166] - [fs] jbd2: fix typo in comment of journal_submit_inode_data_buffers (Lukas Czerner) [1775166] - [fs] jbd2: fix some print format mistakes (Lukas Czerner) [1775166] - [fs] ext4: do not delete unlinked inode from orphan list on failed truncate (Lukas Czerner) [1775166] - [fs] ext4: wait for outstanding dio during truncate in nojournal mode (Lukas Czerner) [1775166] - [fs] ext4: don't perform block validity checks on the journal inode (Lukas Czerner) [1775166] - [fs] ext4: fix block validity checks for journal inodes using indirect blocks (Lukas Czerner) [1775166] - [fs] ext4: fix miscellaneous sparse warnings (Lukas Czerner) [1775166] - [fs] jbd2: fix potential double free (Lukas Czerner) [1775166] - [fs] quota: fix condition for resetting time limit in do_set_dqblk() (Lukas Czerner) [1778119] - [fs] quota: honor quota type in Q_XGETQSTAT[V] calls (Lukas Czerner) [1778119] - [fs] quota: fix a problem about transfer quota (Lukas Czerner) [1778119] - [fs] quota: add dqi_dirty_list description to comment of Dquot List Management (Lukas Czerner) [1778119] - [fs] quota: check time limit when back out space/inode change (Lukas Czerner) [1778119] - [fs] quota: fix wrong indentation (Lukas Czerner) [1778119] - [fs] quota: remove trailing whitespaces (Lukas Czerner) [1778119] - [fs] quota: code cleanup for __dquot_alloc_space() (Lukas Czerner) [1778119] - [fs] quota: Lock s_umount in exclusive mode for Q_XQUOTA{ON, OFF} quotactls (Lukas Czerner) [1778119] - [fs] quota: Replace XQM_MAXQUOTAS usage with MAXQUOTAS (Lukas Czerner) [1778119] - [hv] vmbus: Fix harmless building warnings without CONFIG_PM_SLEEP (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Resume after fixing up old primary channels (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Suspend after cleaning up hv_sock and sub channels (Mohammed Gamal) [1774675] - [kernel] hv: vmbus: Add a helper function is_sub_channel() (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Clean up hv_sock channels by force upon suspend (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Suspend/resume the vmbus itself for hibernation (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Ignore the offers when resuming from hibernation (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Implement suspend/resume for VSC drivers for hibernation (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Fix virt_to_hvpfn() for X86_PAE (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Remove the unused "tsc_page" from struct hv_context (Mohammed Gamal) [1774675] - [hv] tools: hv: Use the correct style for SPDX License Identifier (Mohammed Gamal) [1774675] - [hv] hv_balloon: Reorganize the probe function (Mohammed Gamal) [1774675] - [hv] hv_balloon: Use a static page for the balloon_up send buffer (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Replace page definition with Hyper-V specific one (Mohammed Gamal) [1774675] - [hv] hv: Add a module description line to the hv_vmbus driver (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Remove the undesired put_cpu_ptr() in hv_synic_cleanup() (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Fix race condition with new ring_buffer_info mutex (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Set ring_info field to 0 and remove memset (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Refactor chan->state if statement (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Expose monitor data only when monitor pages are used (Mohammed Gamal) [1774675] - [netdrv] hv_netvsc: Fix error handling in netvsc_attach() (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Fix error handling in netvsc_set_features() (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Sync offloading features to VF NIC (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Allow scatter-gather feature to be tunable (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Fix a warning of suspicious RCU usage (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Fix extra rcu_read_unlock in netvsc_recv_callback() (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Set probe mode to sync (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: fix race that may miss tx queue wakeup (Mohammed Gamal) [1774687] - [netdrv] nfp: bpf: fix latency bug when updating stack index register (Pablo Cascon) [1729156] - [netdrv] nfp: bpf: eliminate zero extension code-gen (Pablo Cascon) [1729156] - [netdrv] bnxt_en: Call bnxt_ulp_stop()/bnxt_ulp_start() during suspend/resume (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Call bnxt_ulp_stop()/bnxt_ulp_start() during error recovery (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Improve bnxt_ulp_stop()/bnxt_ulp_start() call sequence (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: flow_offload: offload tunnel decap rules via indirect callbacks (Jonathan Toppins) [1773724] - [netdrv] bnxt: Avoid logging an unnecessary message when a flow can't be offloaded (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Add support to collect crash dump via ethtool (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Add support to invoke OP-TEE API to reset firmware (Jonathan Toppins) [1773724] - [netdrv] broadcom: bnxt: Fix use true/false for bool (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Avoid disabling pci device in bnxt_remove_one() for already disabled device (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Minor formatting changes in FW devlink_health_reporter (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Adjust the time to wait before polling firmware readiness (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Fix devlink NVRAM related byte order related issues (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Fix the size of devlink MSIX parameters (Jonathan Toppins) [1773724] - [nvme] Fix parsing of ANA log page (Ewan Milne) [1769028] - [nvme] nvme-multipath: fix ana log nsid lookup when nsid is not found (Ewan Milne) [1769028] - [nvme] nvme-multipath: fix possible I/O hang when paths are updated (Ewan Milne) [1769028] - [nvme] revert "nvme: update node paths after adding new path" (Ewan Milne) [1769028] - [netdrv] mlx5: Update the list of the PCI supported devices (Mohammad Heib) [1776921] - [netdrv] mlx5: Fix auto group size calculation (Mohammad Heib) [1776921] - [netdrv] mlx5e: Do not use non-EXT link modes in EXT mode (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix set vf link state error flow (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Limit STE hash table enlarge based on bytemask (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Fix invalid EQ vector number on CQ creation (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Skip rehash for tables with byte mask zero (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix error flow cleanup in mlx5e_tc_tun_create_header_ipv4/6 (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Fix matcher builders select check (Mohammad Heib) [1776921] - [netdrv] mlx5: Read num_vfs before disabling SR-IOV (Mohammad Heib) [1776921] - [netdrv] mlx5: Clear VF's configuration on disabling SRIOV (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Fix memory leak during rule creation (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Fix memory leak in modify action destroy (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix eswitch debug print of max fdb flow (Mohammad Heib) [1776921] - [netdrv] mlx5: LAG, Use affinity type enumerators (Mohammad Heib) [1776921] - [netdrv] mlx5: E-switch, Enable metadata on own vport (Mohammad Heib) [1776921] - [netdrv] mlx5: Correct comment for legacy fields (Mohammad Heib) [1776921] - [netdrv] mlx5: Fixed a typo in a comment in esw_del_uc_addr() (Mohammad Heib) [1776921] - [netdrv] mlx5: Fix rtable reference leak (Mohammad Heib) [1776921] - [netdrv] mlx5: fix a -Wstringop-truncation warning (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix a race with XSKICOSQ in XSK wakeup flow (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix wrong max num channels indication (Mohammad Heib) [1776921] - [netdrv] mlx5e: Add XSK zero-copy support (Mohammad Heib) [1776921]- [mm] memremap: drop unused SECTION_SIZE and SECTION_MASK (Don Dutile) [1754737] - [mm] memremap: Fix reuse of pgmap instances with internal references (Don Dutile) [1754737] - [mm] memunmap: don't access uninitialized memmap in memunmap_pages() (Don Dutile) [1754737] - [mm] memremap: move from kernel/ to mm/ (Don Dutile) [1754737] - [kernel] memremap: provide an optional internal refcount in struct dev_pagemap (Don Dutile) [1754737] - [kernel] memremap: replace the altmap_valid field with a PGMAP_ALTMAP_VALID flag (Don Dutile) [1754737] - [mm] memremap: remove the data field in struct dev_pagemap (Don Dutile) [1754737] - [kernel] memremap: add a migrate_to_ram method to struct dev_pagemap_ops (Don Dutile) [1754737] - [kernel] memremap: lift the devmap_enable manipulation into devm_memremap_pages (Don Dutile) [1754737] - [nvdimm] memremap: pass a struct dev_pagemap to ->kill and ->cleanup (Don Dutile) [1754737] - [kernel] memremap: move dev_pagemap callbacks into a separate structure (Don Dutile) [1754737] - [kernel] memremap: validate the pagemap type passed to devm_memremap_pages (Don Dutile) [1754737] - [mm] remove MEMORY_DEVICE_PUBLIC support (Don Dutile) [1754737] - [mm] migrate.c: cleanup expected_page_refs() (Don Dutile) [1754737] - [mm] migration: factor out code to compute expected number of page references (Don Dutile) [1754737] - [kernel] mm/devm_memremap_pages: fix final page put race (Don Dutile) [1754737] - [kernel] mm/devm_memremap_pages: introduce devm_memunmap_pages (Don Dutile) [1754737] - [kernel] memremap.c: remove the unused device_private_entry_fault() export (Don Dutile) [1754737] - [base] devres: introduce devm_release_action() (Don Dutile) [1754737] - [base] devres: Align data[] to ARCH_KMALLOC_MINALIGN (Don Dutile) [1754737] - [base] devres: provide devm_kstrdup_const() (Don Dutile) [1754737] - [base] devres: constify p in devm_kfree() (Don Dutile) [1754737] - [kernel] mm: move is_kernel_rodata() to asm-generic/sections.h (Don Dutile) [1754737] - [kernel] mm: fix vm_fault_t cast in VM_FAULT_GET_HINDEX() (Don Dutile) [1754737] - [kernel] mm: create the new vm_fault_t type (Don Dutile) [1754737] - [kernel] mm/hmm: convert to use vm_fault_t (Don Dutile) [1754737] - [kernel] mm/hmm: fix memremap.h, move dev_page_fault_t callback to hmm (Don Dutile) [1754737] - [fs] proc/vmcore.c: Convert to use vmf_error() (Don Dutile) [1754737] - [fs] proc/vmcore.c: use new typedef vm_fault_t (Don Dutile) [1754737] - [s390] vdso_fault return type (Don Dutile) [1754737] - [mm] inline vm_insert_pfn_prot() into caller (Don Dutile) [1754737] - [mm] remove vm_insert_pfn() (Don Dutile) [1754737] - [mm] make vm_insert_pfn_prot() static (Don Dutile) [1754737] - [x86] convert vdso to use vm_fault_t (Don Dutile) [1754737] - [mm] introduce vmf_insert_pfn_prot() (Don Dutile) [1754737] - [mm] convert __vm_insert_mixed() to vm_fault_t (Don Dutile) [1754737] - [kernel] mm: remove vm_insert_mixed() (Don Dutile) [1754737] - [fs] cramfs: convert to use vmf_insert_mixed (Don Dutile) [1754737] - [scsi] cxlflash: Change return type for fault handler (Don Dutile) [1754737] - [misc] ocxl: Change return type for fault handler (Don Dutile) [1754737] - [kernel] fs/iomap.c: change return type to vm_fault_t (Don Dutile) [1754737] - [mm] swap.c: remove duplicated include (Don Dutile) [1754737] - [kernel] perf/aux: Fix the aux_output group inheritance fix (Michael Petlan) [1743210] - [kernel] perf/core: Fix inheritance of aux_output groups (Michael Petlan) [1743210] - [kernel] perf/aux: Disallow aux_output for kernel events (Michael Petlan) [1743210] - [kernel] perf/core: Reattach a misplaced comment (Michael Petlan) [1743210] - [kernel] perf/aux: Fix AUX output stopping (Michael Petlan) [1743210] - [tools] perf vendor events s390: Add JSON transaction for machine type 8561 (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Fix use of TRUE with SQLite (Michael Petlan) [1743210] - [tools] objtool: Fix build by linking against tools/lib/ctype.o sources (Michael Petlan) [1743210] - [tools] perf list: Allow plurals for metric, metricgroup (Michael Petlan) [1743210] - [tools] perf vendor events: Minor fixes to the README (Michael Petlan) [1743210] - [tools] perf vendor events amd: Remove redundant '[' (Michael Petlan) [1743210] - [tools] perf vendor events amd: Add L3 cache events for Family 17h (Michael Petlan) [1743210] - [tools] tools include uapi: Update copy of files related to new fspick, fsmount, fsconfig, fsopen, move_mount and open_tree syscalls (Michael Petlan) [1743210] - [tools] perf pmu-events: Fix missing "cpu_clk_unhalted.core" event (Michael Petlan) [1743210] - [tools] perf annotate: Fix s390 gap between kernel end and module start (Michael Petlan) [1743210] - [tools] perf record: Fix module size on s390 (Michael Petlan) [1743210] - [tools] perf tools: Fix include paths in ui directory (Michael Petlan) [1743210] - [tools] perf tools: Fix a typo in a variable name in the Documentation Makefile (Michael Petlan) [1743210] - [tools] perf cpumap: Fix writing to illegal memory in handling cpumap mask (Michael Petlan) [1743210] - [tools] perf ftrace: Fix failure to set cpumask when only one cpu is present (Michael Petlan) [1743210] - [tools] perf db-export: Fix thread__exec_comm() (Michael Petlan) [1743210] - [tools] perf annotate: Fix printing of unaugmented disassembled instructions from BPF (Michael Petlan) [1743210] - [tools] perf bench numa: Fix cpu0 binding (Michael Petlan) [1743210] - [tools] perf tools: Fix perf.data documentation units for memory size (Michael Petlan) [1743210] - [tools] perf header: Fix use of unitialized value warning (Michael Petlan) [1743210] - [tools] perf header: Fix divide by zero error if f_header.attr_size==0 (Michael Petlan) [1743210] - [tools] tools perf beauty: Fix usbdevfs_ioctl table generator to handle _IOC() (Michael Petlan) [1743210] - [tools] perf build: Do not use -Wshadow on gcc < 4.8 (Michael Petlan) [1743210] - [tools] perf probe: Avoid calling freeing routine multiple times for same pointer (Michael Petlan) [1743210] - [tools] perf probe: Set pev->nargs to zero after freeing pev->args entries (Michael Petlan) [1743210] - [tools] perf session: Fix loading of compressed data split across adjacent records (Michael Petlan) [1743210] - [tools] perf stat: Always separate stalled cycles per insn (Michael Petlan) [1743210] - [tools] perf stat: Fix segfault for event group in repeat mode (Michael Petlan) [1743210] - [tools] perf tools: Fix proper buffer size for feature processing (Michael Petlan) [1743210] - [tools] perf script: Fix off by one in brstackinsn IPC computation (Michael Petlan) [1743210] - [tools] perf script: Improve man page description of metrics (Michael Petlan) [1743210] - [tools] perf script: Fix --max-blocks man page description (Michael Petlan) [1743210] - [tools] perf vendor events s390: Add JSON files for machine type 8561 (Michael Petlan) [1743210] - [tools] perf cs-etm: Return errcode in cs_etm__process_auxtrace_info() (Michael Petlan) [1743210] - [tools] perf cs-etm: Remove errnoeous ERR_PTR() usage in cs_etm__process_auxtrace_info (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Export switch events (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Export switch events (Michael Petlan) [1743210] - [tools] perf db-export: Export switch events (Michael Petlan) [1743210] - [tools] perf db-export: Factor out db_export__threads() (Michael Petlan) [1743210] - [tools] perf script: Add scripting operation process_switch() (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Use new 'has_calls' column (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Remove redundant semi-colons (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Add has_calls column to comms table (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Add has_calls column to comms table (Michael Petlan) [1743210] - [tools] perf db-export: Also export thread's current comm (Michael Petlan) [1743210] - [tools] perf db-export: Factor out db_export__comm() (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Export comm details (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Export comm details (Michael Petlan) [1743210] - [tools] perf db-export: Export comm details (Michael Petlan) [1743210] - [tools] perf db-export: Fix a white space issue in db_export__sample() (Michael Petlan) [1743210] - [tools] perf db-export: Move export__comm_thread into db_export__sample() (Michael Petlan) [1743210] - [tools] perf db-export: Export comm before exporting thread (Michael Petlan) [1743210] - [tools] perf db-export: Export main_thread in db_export__sample() (Michael Petlan) [1743210] - [tools] perf db-export: Pass main_thread to db_export__thread() (Michael Petlan) [1743210] - [tools] perf db-export: Rename db_export__comm() to db_export__exec_comm() (Michael Petlan) [1743210] - [tools] perf db-export: Get rid of db_export__deferred() (Michael Petlan) [1743210] - [tools] perf trace: Auto bump rlimit(MEMLOCK) for eBPF maps sake (Michael Petlan) [1743210] - [tools] perf test: Auto bump rlimit(MEMLOCK) for BPF test sake (Michael Petlan) [1743210] - [tools] perf tools: Introduce rlimit__bump_memlock() helper (Michael Petlan) [1743210] - [tools] perf-probe: Add user memory access attribute support (Michael Petlan) [1743210] - [tools] perf intel-pt: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf intel-bts: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf script: Assume native_arch for pipe mode (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Fix DROP VIEW power_events_view (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Fix DROP VIEW power_events_view (Michael Petlan) [1743210] - [tools] perf hists browser: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf cs-etm: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf parse-events: remove unused variable: error (Michael Petlan) [1743210] - [tools] perf parse-events: Remove unused variable 'i' (Michael Petlan) [1743210] - [tools] perf metricgroup: Add missing list_del_init() when flushing egroups list (Michael Petlan) [1743210] - [tools] perf tools: Use list_del_init() more thorougly (Michael Petlan) [1743210] - [tools] perf tools: Use zfree() where applicable (Michael Petlan) [1743210] - [tools] tools lib: Adopt zalloc()/zfree() from tools/perf (Michael Petlan) [1743210] - [tools] perf tools: Move get_current_dir_name() cond prototype out of util.h (Michael Petlan) [1743210] - [tools] perf namespaces: Move the conditional setns() prototype to namespaces.h (Michael Petlan) [1743210] - [tools] perf tools: Add missing headers, mostly stdlib.h (Michael Petlan) [1743210] - [tools] perf evsel: perf_evsel__name(NULL) is valid, no need to check evsel (Michael Petlan) [1743210] - [tools] perf session: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf inject: The tool->read() call may pass a NULL evsel, handle it (Michael Petlan) [1743210] - [tools] perf map: Fix potential NULL pointer dereference found by smatch tool (Michael Petlan) [1743210] - [tools] perf trace: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf annotate: Fix dereferencing freed memory found by the smatch tool (Michael Petlan) [1743210] - [tools] perf top: Fix potential NULL pointer dereference detected by the smatch tool (Michael Petlan) [1743210] - [tools] perf stat: Fix use-after-freed pointer detected by the smatch tool (Michael Petlan) [1743210] - [tools] perf test mmap-thread-lookup: Initialize variable to suppress memory sanitizer warning (Michael Petlan) [1743210] - [tools] perf script: Allow specifying the files to process guest samples (Michael Petlan) [1743210] - [tools] perf tools metric: Don't include duration_time in group (Michael Petlan) [1743210] - [tools] perf list: avoid extra : for --raw metrics (Michael Petlan) [1743210] - [tools] perf vendor events intel: Metric fixes for SKX/CLX (Michael Petlan) [1743210] - [tools] perf tools: Fix typos / broken sentences (Michael Petlan) [1743210] - [tools] perf jevents: Add support for Hisi hip08 L3C PMU aliasing (Michael Petlan) [1743210] - [tools] perf jevents: Add support for Hisi hip08 HHA PMU aliasing (Michael Petlan) [1743210] - [tools] perf jevents: Add support for Hisi hip08 DDRC PMU aliasing (Michael Petlan) [1743210] - [tools] perf pmu: Support more complex PMU event aliasing (Michael Petlan) [1743210] - [tools] perf diff: Documentation -c cycles option (Michael Petlan) [1743210] - [tools] perf diff: Print the basic block cycles diff (Michael Petlan) [1743210] - [tools] perf diff: Link same basic blocks among different data (Michael Petlan) [1743210] - [tools] perf diff: Use hists to manage basic blocks per symbol (Michael Petlan) [1743210] - [tools] perf diff: Check if all data files with branch stacks (Michael Petlan) [1743210] - [tools] perf hists: Add block_info in hist_entry (Michael Petlan) [1743210] - [tools] perf symbol: Create block_info structure (Michael Petlan) [1743210] - [tools] perf jevents: Use nonlocal include statements in pmu-events.c (Michael Petlan) [1743210] - [tools] perf annotate: Add csky support (Michael Petlan) [1743210] - [tools] perf stat: Fix metrics with --no-merge (Michael Petlan) [1743210] - [tools] perf stat: Fix group lookup for metric group (Michael Petlan) [1743210] - [tools] perf stat: Don't merge events in the same PMU (Michael Petlan) [1743210] - [tools] perf stat: Make metric event lookup more robust (Michael Petlan) [1743210] - [tools] tools lib: Move argv_{split, free} from tools/perf/util/ (Michael Petlan) [1743210] - [tools] perf tools: Drop strxfrchar(), use strreplace() equivalent from kernel (Michael Petlan) [1743210] - [tools] tools lib: Adopt strreplace() from the kernel (Michael Petlan) [1743210] - [tools] perf tools: Ditch rtrim(), use strim() from tools/lib (Michael Petlan) [1743210] - [tools] perf tools: Remove trim() implementation, use tools/lib's strim() (Michael Petlan) [1743210] - [tools] tools lib: Adopt strim() from the kernel (Michael Petlan) [1743210] - [tools] perf tools: Ditch rtrim(), use skip_spaces() to get closer to the kernel (Michael Petlan) [1743210] - [tools] perf report: Use skip_spaces() (Michael Petlan) [1743210] - [tools] perf metricgroup: Use strsep() (Michael Petlan) [1743210] - [tools] perf strfilter: Use skip_spaces() (Michael Petlan) [1743210] - [tools] perf probe: Use skip_spaces() for argv handling (Michael Petlan) [1743210] - [tools] perf time-utils: Use skip_spaces() (Michael Petlan) [1743210] - [tools] perf header: Use skip_spaces() in __write_cpudesc() (Michael Petlan) [1743210] - [tools] perf stat: Use recently introduced skip_spaces() (Michael Petlan) [1743210] - [tools] tools lib: Adopt skip_spaces() from the kernel sources (Michael Petlan) [1743210] - [tools] perf tools: Use linux/ctype.h in more places (Michael Petlan) [1743210] - [tools] tools perf: Move from sane_ctype.h obtained from git to the Linux's original (Michael Petlan) [1743210] - [tools] perf tools: Add missing util.h to pick up 'page_size' variable (Michael Petlan) [1743210] - [tools] perf tools: Remove old baggage that is util/include/linux/ctype.h (Michael Petlan) [1743210] - [tools] perf symbols: We need util.h in symbol-elf.c for zfree() (Michael Petlan) [1743210] - [tools] perf kallsyms: Adopt hex2u64 from tools/perf/util/util.h (Michael Petlan) [1743210] - [tools] tools x86 machine: Add missing util.h to pick up 'page_size' (Michael Petlan) [1743210] - [tools] perf string: Move 'dots' and 'graph_dotted_line' out of sane_ctype.h (Michael Petlan) [1743210] - [tools] perf ctype: Remove now unused 'spaces' variable (Michael Petlan) [1743210] - [tools] perf ui stdio: No need to use 'spaces' to left align (Michael Petlan) [1743210] - [tools] perf ctype: Remove unused 'graph_line' variable (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Export Intel PT power and ptwrite events (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Export Intel PT power and ptwrite events (Michael Petlan) [1743210] - [tools] perf db-export: Export synth events (Michael Petlan) [1743210] - [tools] perf intel-pt: Synthesize CBR events when last seen value changes (Michael Petlan) [1743210] - [tools] perf intel-pt: Add CBR value to decoder state (Michael Petlan) [1743210] - [tools] perf intel-pt: Cater for CBR change in PSB+ (Michael Petlan) [1743210] - [tools] perf intel-pt: Decoder to output CBR changes immediately (Michael Petlan) [1743210] - [tools] perf thread-stack: Eliminate code duplicating thread_stack__pop_ks() (Michael Petlan) [1743210] - [tools] perf thread-stack: Fix thread stack return from kernel for kernel-only case (Michael Petlan) [1743210] - [tools] perf tools: Fix cache.h include directive (Michael Petlan) [1743210] - [tools] tools build: Fix the zstd test in the test-all.c common case feature test (Michael Petlan) [1743210] - [tools] perf build: Handle slang being in /usr/include and in /usr/include/slang/ (Michael Petlan) [1743210] - [tools] tools build: Add test to check if slang.h is in /usr/include/slang/ (Michael Petlan) [1743210] - [tools] perf tools: Don't hardcode host include path for libslang (Michael Petlan) [1743210] - [tools] perf evsel: Make perf_evsel__name() accept a NULL argument (Michael Petlan) [1743210] - [tools] perf trace: Fixup pointer arithmetic when consuming augmented syscall args (Michael Petlan) [1743210] - [tools] perf pmu: Fix uncore PMU alias list for ARM64 (Michael Petlan) [1743210] - [tools] perf tests: Add missing SPDX headers (Michael Petlan) [1743210] - [tools] tools build feature tests: Add missing SPDX headers (Michael Petlan) [1743210] - [tools] perf trace: Streamline validation of select syscall names list (Michael Petlan) [1743210] - [tools] perf trace: Fix exclusion of not available syscall names from selector list (Michael Petlan) [1743210] - [tools] perf intel-pt: Add callchain to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Add memory information to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Add LBR information to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Add XMM registers to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Add gp registers to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Synthesize PEBS sample basic information (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out common sample preparation for re-use (Michael Petlan) [1743210] - [tools] perf intel-pt: Prepare to synthesize PEBS samples (Michael Petlan) [1743210] - [tools] perf intel-pt: Add decoder support for PEBS via PT (Michael Petlan) [1743210] - [tools] perf intel-pt: Add Intel PT packet decoder test (Michael Petlan) [1743210] - [tools] perf intel-pt: Add new packets for PEBS via PT (Michael Petlan) [1743210] - [tools] perf tests arm64: Compile tests unconditionally (Michael Petlan) [1743210] - [tools] perf trace: Skip unknown syscalls when expanding strace like syscall groups (Michael Petlan) [1743210] - [tools] perf report: Support s390 diag event display on x86 (Michael Petlan) [1743210] - [tools] perf report: Fix OOM error in TUI mode on s390 (Michael Petlan) [1743210] - [tools] perf test 6: Fix missing kvm module load for s390 (Michael Petlan) [1743210] - [tools] perf time-utils: Add support for multiple explicit time intervals (Michael Petlan) [1743210] - [tools] perf tests: Add a test for time-utils (Michael Petlan) [1743210] - [tools] perf time-utils: Make perf_time__parse_for_ranges() more logical (Michael Petlan) [1743210] - [tools] perf time-utils: Simplify perf_time__parse_for_ranges() error paths slightly (Michael Petlan) [1743210] - [tools] perf time-utils: Fix --time documentation (Michael Petlan) [1743210] - [tools] perf time-utils: Prevent percentage time range overlap (Michael Petlan) [1743210] - [tools] perf time-utils: Factor out set_percent_time() (Michael Petlan) [1743210] - [tools] perf time-utils: Treat time ranges consistently (Michael Petlan) [1743210] - [tools] perf intel-pt: Add support for efficient time interval filtering (Michael Petlan) [1743210] - [tools] perf intel-pt: Add support for lookahead (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out intel_pt_get_buffer() (Michael Petlan) [1743210] - [tools] perf intel-pt: Add intel_pt_fast_forward() (Michael Petlan) [1743210] - [tools] perf intel-pt: Add reposition parameter to intel_pt_get_data() (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out intel_pt_reposition() (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out intel_pt_8b_tsc() (Michael Petlan) [1743210] - [tools] perf intel-pt: Add lookahead callback (Michael Petlan) [1743210] - [tools] perf report: Set perf time interval in itrace_synth_ops (Michael Petlan) [1743210] - [tools] perf script: Set perf time interval in itrace_synth_ops (Michael Petlan) [1743210] - [tools] perf auxtrace: Add perf time interval to itrace_synth_ops (Michael Petlan) [1743210] - [tools] perf config: Update default value for llvm.clang-bpf-cmd-template (Michael Petlan) [1743210] - [tools] perf cs-etm: Properly set the value of 'old' and 'head' in snapshot mode (Michael Petlan) [1743210] - [tools] perf data: Fix perf.data documentation for HEADER_CPU_TOPOLOGY (Michael Petlan) [1743210] - [tools] perf tools: Apply new CPU topology sysfs attributes (Michael Petlan) [1743210] - [tools] perf header: Rename "sibling cores" to "sibling sockets" (Michael Petlan) [1743210] - [tools] perf stat: Support per-die aggregation (Michael Petlan) [1743210] - [tools] perf header: Add die information in CPU topology (Michael Petlan) [1743210] - [tools] perf cpumap: Retrieve die id information (Michael Petlan) [1743210] - [tools] perf evsel: Remove superfluous nthreads system_wide setup in alloc_fd() (Michael Petlan) [1743210] - [tools] perf record: Add support to collect callchains from kernel or user space only (Michael Petlan) [1743210] - [tools] perf config: Bail out when a handler returns failure for a key-value pair (Michael Petlan) [1743210] - [tools] perf trace: Exit when failing to build eBPF program (Michael Petlan) [1743210] - [tools] perf trace: Associate more argument names with the filename beautifier (Michael Petlan) [1743210] - [tools] perf trace: Consume the augmented_raw_syscalls payload (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Move reading filename to the loop (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Change helper to consider just the augmented_filename part (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Move the probe_read_str to a separate function (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Tell which args are filenames and how many bytes to copy (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Select find text when find bar is activated (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add IPC information to Call Tree (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add IPC information to Call Graph Graph (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add CallGraphModelParams (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add IPC information to the Branch reports (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Export IPC information (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Export IPC information (Michael Petlan) [1743210] - [tools] perf db-export: Export IPC information (Michael Petlan) [1743210] - [tools] perf db-export: Add brief documentation (Michael Petlan) [1743210] - [tools] perf thread-stack: Accumulate IPC information (Michael Petlan) [1743210] - [tools] perf intel-pt: Document IPC usage (Michael Petlan) [1743210] - [tools] perf intel-pt: Accumulate cycle count from TSC/TMA/MTC packets (Michael Petlan) [1743210] - [tools] perf intel-pt: Re-factor TIP cases in intel_pt_walk_to_ip (Michael Petlan) [1743210] - [tools] perf intel-pt: Record when decoding PSB+ packets (Michael Petlan) [1743210] - [tools] perf script: Add output of IPC ratio (Michael Petlan) [1743210] - [tools] perf intel-pt: Add support for samples to contain IPC ratio (Michael Petlan) [1743210] - [tools] perf tools: Add IPC information to perf_sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Accumulate cycle count from CYC packets (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out intel_pt_update_sample_time (Michael Petlan) [1743210] - [tools] perf record: Allow mixing --user-regs with --call-graph=dwarf (Michael Petlan) [1743210] - [tools] perf symbols: Remove unused variable 'err' (Michael Petlan) [1743210] - [tools] perf data: document directory format header: HEADER_DIR_FORMAT (Michael Petlan) [1743210] - [tools] perf data: document clockid header: HEADER_CLOCKID (Michael Petlan) [1743210] - [tools] perf data: document memory topology header: HEADER_MEM_TOPOLOGY (Michael Petlan) [1743210] - [tools] perf data: Add description of header HEADER_BPF_PROG_INFO and HEADER_BPF_BTF (Michael Petlan) [1743210] - [tools] perf intel-pt: Rationalize intel_pt_sync_switch()'s use of next_tid (Michael Petlan) [1743210] - [tools] perf intel-pt: Improve sync_switch by processing PERF_RECORD_SWITCH* in events (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Add support for pyside2 (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Add support for pyside2 (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add support for pyside2 (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Use argparse module for argument parsing (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Change python2 to python (Michael Petlan) [1743210] - [tools] perf top: Lower message level for failure on synthesizing events for pre-existing BPF programs (Michael Petlan) [1743210] - [tools] perf machine: Return NULL instead of null-terminating /proc/version array (Michael Petlan) [1743210] - [tools] perf version: Append 12 git SHA chars to the version string (Michael Petlan) [1743210] - [tools] perf script: Remove superfluous BPF event titles (Michael Petlan) [1743210] - [tools] perf script: Add --show-bpf-events to show eBPF related events (Michael Petlan) [1743210] - [tools] perf tests: Add map_groups__merge_in test (Michael Petlan) [1743210] - [tools] perf script: Pad DSO name for --call-trace (Michael Petlan) [1743210] - [tools] perf dso: Add BPF DSO read and size hooks (Michael Petlan) [1743210] - [tools] perf dso: Simplify dso_cache__read function (Michael Petlan) [1743210] - [tools] perf dso: Separate generic code in dso_cache__read (Michael Petlan) [1743210] - [tools] perf dso: Separate generic code in dso__data_file_size() (Michael Petlan) [1743210] - [tools] perf tools: Remove const from thread read accessors (Michael Petlan) [1743210] - [tools] perf top: Add --namespaces option (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for sync_file_range's 'flags' arg values (Michael Petlan) [1743210] - [tools] perf trace: Beautify 'fsmount' arguments (Michael Petlan) [1743210] - [tools] perf trace: Introduce syscall_arg__scnprintf_strarray_flags (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for fsmount's 'attr_flags' arg values (Michael Petlan) [1743210] - [tools] perf trace: Beautify 'fsconfig' arguments (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for fsconfig's 'cmd' arg values (Michael Petlan) [1743210] - [tools] perf trace: Beautify 'fspick' arguments (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for fspick's 'flags' arg values (Michael Petlan) [1743210] - [tools] perf trace: Beautify 'move_mount' arguments (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for 'move_mount' flags argument (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Fix up comment (Michael Petlan) [1743210] - [tools] perf tools: Preserve eBPF maps when loading kcore (Michael Petlan) [1743210] - [tools] perf machine: Keep zero in pgoff BPF map (Michael Petlan) [1743210] - [tools] perf intel-pt: Fix itrace defaults for perf script intel-pt documentation (Michael Petlan) [1743210] - [tools] perf auxtrace: Fix itrace defaults for perf script (Michael Petlan) [1743210] - [tools] perf intel-pt: Fix itrace defaults for perf script (Michael Petlan) [1743210] - [tools] perf-with-kcore.sh: Always allow fix_buildid_cache_permissions (Michael Petlan) [1743210] - [tools] tools build: Check if gettid() is available before providing helper (Michael Petlan) [1743210] - [tools] tools build feature: Check if get_current_dir_name() is available (Michael Petlan) [1743210] - [tools] perf jvmti: Address gcc string overflow warning for strncpy() (Michael Petlan) [1743210] - [tools] perf python: Remove -fstack-protector-strong if clang doesn't have it (Michael Petlan) [1743210] - [tools] perf annotate tui browser: Do not use member from variable within its own initialization (Michael Petlan) [1743210] - [tools] perf thread: Allow references to thread objects after machine__exit() (Michael Petlan) [1743210] - [fs] sysfs: Fix internal_create_group() for named group updates (Michael Petlan) [1743210] - [x86] perf/x86/intel: Support PEBS output to PT (Michael Petlan) [1743210] - [kernel] perf: Allow normal events to output AUX data (Michael Petlan) [1743210] - [x86] perf/x86/amd/ibs: Handle erratum #420 only on the affected CPU family (10h) (Michael Petlan) [1743210] - [x86] perf/x86/amd/ibs: Fix reading of the IBS OpData register and thus precise RIP validity (Michael Petlan) [1743210] - [kernel] perf/hw_breakpoint: Fix arch_hw_breakpoint use-before-initialization (Michael Petlan) [1743210] - [x86] perf/x86/amd/ibs: Fix sample bias for dispatched micro-ops (Michael Petlan) [1743210] - [x86] perf/x86/intel: Restrict period on Nehalem (Michael Petlan) [1743210] - [x86] perf/x86: Fix typo in comment (Michael Petlan) [1743210] - [kernel] perf/core: Fix creating kernel counters for PMUs that override event->cpu (Michael Petlan) [1743210] - [x86] perf/x86: Apply more accurate check on hypervisor platform (Michael Petlan) [1743210] - [x86] perf/x86/intel: Fix invalid Bit 13 for Icelake MSR_OFFCORE_RSP_x register (Michael Petlan) [1743210] - [x86] perf/x86/intel: Fix SLOTS PEBS event constraint (Michael Petlan) [1743210] - [x86] perf/x86/intel: Mark expected switch fall-throughs (Michael Petlan) [1743210] - [kernel] perf_event_get(): don't bother with fget_raw() (Michael Petlan) [1743210] - [kernel] perf/core: Fix exclusive events' grouping (Michael Petlan) [1743210] - [x86] perf/x86/amd/uncore: Set the thread mask for F17h L3 PMCs (Michael Petlan) [1743210] - [perf] x86/amd/uncore: Do not set 'ThreadMask' and 'SliceMask' for non-L3 PMCs (Michael Petlan) [1743210] - [kernel] perf/core: Fix race between close() and fork() (Michael Petlan) [1743210] - [perf] cgroups: Don't rotate events for cgroups unnecessarily (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Get quirk state from new probe framework (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Get attributes from new probe framework (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Get MSR values from new probe framework (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Get rapl_cntr_mask from new probe framework (Michael Petlan) [1743210] - [x86] intel: Aggregate big core client naming (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Use new MSR detection interface (Michael Petlan) [1743210] - [x86] perf/x86/cstate: Use new probe function (Michael Petlan) [1743210] - [x86] perf/x86/msr: Use new probe function (Michael Petlan) [1743210] - [x86] perf/x86: Add MSR probe interface (Michael Petlan) [1743210] - [x86] perf/x86/intel: Disable check_msr for real HW (Michael Petlan) [1743210] - [x86] perf/x86/intel: Use ->is_visible callback for default group (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Add IMC uncore support for Snow Ridge (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Clean up client IMC (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Support MMIO type uncore blocks (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Factor out box ref/unref functions (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Add uncore support for Snow Ridge server (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Handle invalid event coding for free-running counter (Michael Petlan) [1743210] - [x86] perf/x86/intel: Add more Icelake CPUIDs (Michael Petlan) [1743210] - [x86] perf/x86/intel: Add Icelake desktop CPUID (Michael Petlan) [1743210] - [x86] perf/x86: Use update attribute groups for default attributes (Michael Petlan) [1743210] - [x86] perf/x86/intel: Use update attributes for skylake format (Michael Petlan) [1743210] - [x86] perf/x86: Use update attribute groups for extra format (Michael Petlan) [1743210] - [x86] perf/x86: Use update attribute groups for caps (Michael Petlan) [1743210] - [x86] perf/x86: Add is_visible attribute_group callback for base events (Michael Petlan) [1743210] - [x86] perf/x86: Use the new pmu::update_attrs attribute group (Michael Petlan) [1743210] - [x86] perf/x86: Get rid of x86_pmu::event_attrs (Michael Petlan) [1743210] - [x86] perf/x86/regs: Check reserved bits (Michael Petlan) [1743210] - [fs] sysfs: Add sysfs_update_groups function (Michael Petlan) [1743210] - [kernel] perf/core: Add attr_groups_update into struct pmu (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Add new IMC PCI IDs for KabyLake, AmberLake and WhiskeyLake CPUs (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Add tabs to Uncore IMC PCI IDs (Michael Petlan) [1743210] - [kernel] perf/core: Allow non-privileged uprobe for user processes (Michael Petlan) [1743210] - [x86] perf/x86: Add Intel Ice Lake NNPI uncore support (Michael Petlan) [1743210] - [perf] arm_pmu: acpi: spe: Add initial MADT/SPE probing (Michael Petlan) [1743210] - [netdrv] mwifiex: fix possible heap overflow in mwifiex_process_country_ie() (Jarod Wilson) [1776210] {CVE-2019-14895} - [kernel] crash_core: Make S390 share the same crashkernel=auto reservation policy as X86_64 (Baoquan He) [1780432] - [s390] kasan: avoid report in get_wchan (Philipp Rudo) [1780112 1780111] - [s390] process: avoid potential reading of freed stack (Philipp Rudo) [1780112] - [fs] cifs: don't use 'pre:' for MODULE_SOFTDEP (Leif Sahlberg) [1767094] - [hwmon] Do not output deprecated warning for hwmon_device_register() (Prarit Bhargava) [1778295] - [scsi] lpfc: size cpu map by last cpu id set (Dick Kennedy) [1778912] - [scsi] lpfc: use hdwq assigned cpu for allocation (Dick Kennedy) [1778908] - [scsi] be2iscsi: Include null char in SET_HOST_DATA (Maurizio Lombardi) [1776358] - [netdrv] vmxnet3: turn off lro when rxcsum is disabled (Neil Horman) [1776056] - [mmc] sdhci-pci: Add another Id for Intel CML (Alexander Beregalov) [1766718] - [x86] kvm: untaint kernel for tech-preview when using nested VMX (Paolo Bonzini) [1726756] - [powerpc] kvm: ppc: book3s hv: xive: Fix potential page leak on error path (Laurent Vivier) [1760202] - [powerpc] kvm: ppc: book3s hv: xive: Free previous EQ page when setting up a new one (Laurent Vivier) [1760202] - [virt] kvm: arm/arm64: vgic: Don't rely on the wrong pending table (Auger Eric) [1777059] - [x86] kvm: x86: remove set but not used variable 'called' (Nitesh Narayan Lal) [1773677] - [x86] kvm: x86: Zero the IOAPIC scan request dest vCPUs bitmap (Nitesh Narayan Lal) [1773677] - [x86] kvm: x86: deliver KVM IOAPIC scan request to target vCPUs (Nitesh Narayan Lal) [1773677] - [kernel] kvm: remember position in kvm->vcpus array (Nitesh Narayan Lal) [1773677] - [kernel] watchdog: Reduce message verbosity (Vitaly Kuznetsov) [1774915]- [fs] binfmt_elf: Do not move brk for INTERP-less ET_EXEC (Waiman Long) [1749633] - [fs] binfmt_elf: move brk out of mmap when doing direct loader exec (Waiman Long) [1749633] - [gpu] drm/i915/cmdparser: Fix jump whitelist clearing (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915/gen8+: Add RC6 CTX corruption WA (Dave Airlie) [1756805] {CVE-2019-0154} - [gpu] drm/i915: Lower RM timeout to avoid DSI hard hangs (Dave Airlie) [1756805] {CVE-2019-0154} - [gpu] drm/i915/cmdparser: Ignore Length operands during command matching (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915/cmdparser: Add support for backward jumps (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915/cmdparser: Use explicit goto for error paths (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Add gen9 BCS cmdparsing (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Allow parsing of unsized batches (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Support ro ppgtt mapped cmdparser shadow buffers (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Add support for mandatory cmdparsing (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Remove Master tables from cmdparser (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Disable Secure Batches for gen6+ (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Rename gen7 cmdparser tables (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] [drm] radeon: fix bad DMA from INTERRUPT_CNTL2 (Sam Bobroff) [1293697] - [netdrv] mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame() (Jarod Wilson) [1776162] {CVE-2019-14901} - [netdrv] mlx4_en: Fix wrong limitation for number of TX rings (Mohammad Heib) [1776822] - [netdrv] mlx4_en: fix mlx4 ethtool -N insertion (Mohammad Heib) [1776822] - [netdrv] mlx4_core: fix wrong comment about the reason of subtract one from the max_cqes (Mohammad Heib) [1776822] - [netdrv] ibmvnic: Serialize device queries (Steve Best) [1778037] - [netdrv] ibmvnic: Bound waits for device queries (Steve Best) [1778037] - [netdrv] ibmvnic: Terminate waiting device threads after loss of service (Steve Best) [1778037] - [netdrv] ibmvnic: Fix completion structure initialization (Steve Best) [1778037] - [netdrv] ibmvnic: Ignore H_FUNCTION return from H_EOI to tolerate XIVE mode (Steve Best) [1778037] - [netdrv] revert "net/ibmvnic: Fix EOI when running in XIVE mode" (Steve Best) [1778037] - [netdrv] cnic: Set fp_hsi_ver as part of CLIENT_SETUP ramrod (Manish Chopra) [1770797] - [netdrv] bnx2x: Fix PF-VF communication over multi-cos queues (Manish Chopra) [1770797] - [netdrv] bnx2x: Enable Multi-Cos feature (Manish Chopra) [1770797] - [netdrv] bnx2x: Utilize FW 7.13.15.0 (Manish Chopra) [1770797] - [fs] seq_file: fix problem when seeking mid-record (Bill O'Donnell) [1753822] - [documentation] fs/seq_file.c: simplify seq_file iteration code and interface (Bill O'Donnell) [1753822] - [scripts] kbuild: replace BASH-specific ${@:2} with shift and ${@} (Jiri Olsa) [1739493] - [scripts] btf: do not use CONFIG_OUTPUT_FORMAT (Jiri Olsa) [1739493] - [kernel] btf: fix return value check in btf_vmlinux_init() (Jiri Olsa) [1739493] - [kernel] btf: rename /sys/kernel/btf/kernel into /sys/kernel/btf/vmlinux (Jiri Olsa) [1739493] - [scripts] btf: expose BTF info through sysfs (Jiri Olsa) [1739493] - [netdrv] qede: fix NULL pointer deref in __qede_remove() (Manish Chopra) [1769203] - [gpu] cleanup: Remove .rej files (Prarit Bhargava) [1779738] - [lib] string: Add strscpy_pad() function (Josef Oskera) [1764588] - [char] virtio_console: allocate inbufs in add_port() only if it is needed (Pankaj Gupta) [1612795] - [fs] xfs: add kmem_alloc_io() (Bill O'Donnell) [1583556] - [fs] xfs: make mem_to_page available outside of xfs_buf.c (Bill O'Donnell) [1583556] - [fs] xfs: get allocation alignment from the buftarg (Bill O'Donnell) [1583556] - [fs] xfs: add kmem_alloc_io() (Bill O'Donnell) [1583556] - [fs] cifs: Fix cifsInodeInfo lock_sem deadlock when reconnect occurs (Leif Sahlberg) [1765979] - [fs] cifs: avoid using MID 0xFFFF (Leif Sahlberg) [1765979] - [fs] cifs: Fix retry mid list corruption on reconnects (Leif Sahlberg) [1765979] - [fs] nfsd: allow fh_want_write to be called twice ("J. Bruce Fields") [1699222] - [net] revert "sunrpc: Fix up task signalling" (Dave Wysochanski) [1776067] - [s390] kasan: support memcpy_real with TRACE_IRQFLAGS (Philipp Rudo) [1777468] - [s390] kasan: add kdump support (Philipp Rudo) [1777468] - [s390] idle: fix cpu idle time calculation (Philipp Rudo) [1777361] - [s390] kaslr: add support for R_390_GLOB_DAT relocation type (Philipp Rudo) [1777467] - [x86] jump_label: Make tp_vec_nr static (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Batch jump label updates (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Batch updates if arch supports it (Daniel Bristot de Oliveira) [1731860] - [x86] alternative: Batch of patch operations (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Sort entries of the same key by the code (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Add a __jump_label_set_jump_code() helper (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Don't warn on __exit jump entries (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Add a jump_label_can_update() helper (Daniel Bristot de Oliveira) [1731860] - [x86] alternatives: Remove the return value of text_poke_*() (Daniel Bristot de Oliveira) [1731860] - [x86] jump-label: Remove support for custom text poker (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Use text_poke_early() during early init (Daniel Bristot de Oliveira) [1731860] - [x86] alternatives: Add text_poke_kgdb() to not assert the lock when debugging (Daniel Bristot de Oliveira) [1731860] - [x86] kprobes: Prohibit probing on functions before kprobe_int3_handler() (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Fix NULL dereference bug in __jump_label_mod_update() (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Annotate entries that operate on __init code earlier (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Switch to jump_entry accessors (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Implement generic support for relative references (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Abstract jump_entry member accessors (Daniel Bristot de Oliveira) [1731860] - [x86] alternatives: Lockdep-enforce text_mutex in text_poke*() (Daniel Bristot de Oliveira) [1731860] - [x86] revert "x86/paravirt: Set up the virt_spin_lock_key after static keys get initialized" (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Initialize static branching early (Vitaly Kuznetsov) [1777260] - [x86] speculation: Fix redundant MDS mitigation message (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] speculation: Fix incorrect MDS/TAA mitigation status (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] speculation/taa: Fix printing of TAA_MSG_SMT on IBRS_ALL CPUs (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] tsx: Add config options to set tsx=on|off|auto (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [documentation] x86/speculation/taa: Add documentation for TSX Async Abort (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] tsx: Add "auto" option to the tsx= cmdline parameter (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] speculation/taa: Add sysfs reporting for TSX Async Abort (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] speculation/taa: Add mitigation for TSX Async Abort (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] cpu: Add a "tsx=" cmdline option with TSX disabled by default (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] cpu: Add a helper function x86_read_arch_cap_msr() (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] msr: Add the IA32_TSX_CTRL MSR (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [powerpc] xive: Prevent page fault issues in the machine crash handler (Diego Domingos) [1756116] - [tools] Fix memcpy_mcsafe_64.S link on selftests (Desnes Augusto Nunes do Rosario) [1775570]- [powerpc] perf: Fix loop exit condition in nest_imc_event_init (Steve Best) [1778609] - [net] netfilter: nf_tables: Add missing nft_tproxy Makefile line (Phil Sutter) [1762977]- [x86] kdump: Remove the backup region handling (Lianbo Jiang) [1730143] - [x86] kdump: Always reserve the low 1M when the crashkernel option is specified (Lianbo Jiang) [1730143] - [x86] crash: Add a forward declaration of struct kimage (Lianbo Jiang) [1730143] - [x86] kdump: Remove the unused crash_copy_backup_region() (Lianbo Jiang) [1730143] - [pci] p2pdma: Fix missing check for dma_virt_ops (Don Dutile) [1754734] - [pci] p2pdma: use the dev_pagemap internal refcount (Don Dutile) [1754734] - [pci] memremap: pass a struct dev_pagemap to ->kill and ->cleanup (Don Dutile) [1754734] - [pci] memremap: move dev_pagemap callbacks into a separate structure (Don Dutile) [1754734] - [pci] mm/devm_memremap_pages: fix final page put race (Don Dutile) [1754734] - [pci] p2pdma: track pgmap references per resource, not globally (Don Dutile) [1754734] - [pci] p2pdma: fix the gen_pool_add_virt() failure path (Don Dutile) [1754734] - [pci] mm, hmm: mark hmm_devmem_{add, add_resource} EXPORT_SYMBOL_GPL (Don Dutile) [1754734] - [lib] genalloc.c: Add algorithm, align and zeroed family of DMA allocators (Don Dutile) [1754732] - [lib] genalloc.c: include vmalloc.h (Don Dutile) [1754732] - [lib] genalloc.c: use vzalloc_node() to allocate the bitmap (Don Dutile) [1754732] - [md] dm table: propagate BDI_CAP_STABLE_WRITES to fix sporadic checksum errors (Mike Snitzer) [1770210] - [fs] gfs2: fix race between gfs2_freeze_func and unmount (Abhijith Das) [1676972] - [fs] cifs: smbd: Retry on memory registration failure (Leif Sahlberg) [1771772] - [fs] cifs: smbd: Indicate to retry on transport sending failure (Leif Sahlberg) [1771772] - [fs] cifs: smbd: Return EINTR when interrupted (Leif Sahlberg) [1771772] - [fs] cifs: smbd: Don't destroy transport on RDMA disconnect (Leif Sahlberg) [1771772] - [lib] crc-t10dif: crc_t10dif_mutex can be static (Vladis Dronov) [1769462] - [lib] crc-t10dif: Allow current transform to be inspected in sysfs (Vladis Dronov) [1769462] - [lib] crc-t10dif: Pick better transform if one becomes available (Vladis Dronov) [1769462] - [crypto] api - Introduce notifier for new crypto algorithms (Vladis Dronov) [1769462] - [netdrv] e1000e: Drop unnecessary __E1000_DOWN bit twiddling (Ken Cox) [1748256] - [netdrv] e1000e: Use rtnl_lock to prevent race conditions between net and pci/pm (Ken Cox) [1748256]- [powerpc] pseries: safely roll back failed DLPAR cpu add (Steve Best) [1772341] - [powerpc] pseries: address checkpatch warnings in dlpar_offline_cpu (Steve Best) [1772341] - [scsi] storvsc: setup 1:1 mapping between hardware queue and CPU queue (Cathy Avery) [1771503] - [scsi] storvsc: Add ability to change scsi queue depth (Cathy Avery) [1771503] - [scsi] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 320 (Cathy Avery) [1771503] - [scsi] smartpqi: bump version (Don Brace) [1725045] - [scsi] smartpqi: Align driver syntax with oob (Don Brace) [1725045] - [scsi] smartpqi: remove unused manifest constants (Don Brace) [1725045] - [scsi] smartpqi: fix problem with unique ID for physical device (Don Brace) [1725045] - [scsi] smartpqi: correct syntax issue (Don Brace) [1725045] - [scsi] smartpqi: change TMF timeout from 60 to 30 seconds (Don Brace) [1725045] - [scsi] smartpqi: fix LUN reset when fw bkgnd thread is hung (Don Brace) [1725045] - [scsi] smartpqi: add inquiry timeouts (Don Brace) [1725045] - [scsi] smartpqi: fix call trace in device discovery (Don Brace) [1725045] - [scsi] smartpqi: fix controller lockup observed during force reboot (Don Brace) [1725045] - [scsi] smartpqi: clean up an indentation issue (Don Brace) [1725045] - [scsi] smartpqi: remove set but not used variable 'ctrl_info' (Don Brace) [1725045] - [scsi] smartpqi: clean up indentation of a statement (Don Brace) [1725045] - [scsi] smartpqi: bump version (Don Brace) [1725045] - [scsi] smartpqi: update copyright (Don Brace) [1725045] - [scsi] smartpqi: add new pci ids (Don Brace) [1725045] - [scsi] smartpqi: correct REGNEWD return status (Don Brace) [1725045] - [scsi] smartpqi: add gigabyte controller (Don Brace) [1725045] - [scsi] smartpqi: correct hang when deleting 32 lds (Don Brace) [1725045] - [scsi] smartpqi: add bay identifier (Don Brace) [1725045] - [scsi] smartpqi: add sysfs entries (Don Brace) [1725045] - [scsi] smartpqi: add module param to hide vsep (Don Brace) [1725045] - [scsi] smartpqi: add pci ids for fiberhome controller (Don Brace) [1725045] - [scsi] smartpqi: add module param for exposure order (Don Brace) [1725045] - [scsi] smartpqi: unlock on error in pqi_submit_raid_request_synchronous() (Don Brace) [1725045] - [scsi] smartpqi: Reporting unhandled SCSI errors (Don Brace) [1725045] - [scsi] mpt3sas: Bump mpt3sas driver version to 32.100.00.00 (Tomas Henzl) [1725737] - [scsi] mpt3sas: Fix module parameter max_msix_vectors (Tomas Henzl) [1725737] - [scsi] mpt3sas: Reject NVMe Encap cmnds to unsupported HBA (Tomas Henzl) [1725737] - [scsi] mpt3sas: Use Component img header to get Package ver (Tomas Henzl) [1725737] - [scsi] mpt3sas: Fail release cmnd if diag buffer is released (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add app owned flag support for diag buffer (Tomas Henzl) [1725737] - [scsi] mpt3sas: Reuse diag buffer allocated at load time (Tomas Henzl) [1725737] - [scsi] mpt3sas: clear release bit when buffer reregistered (Tomas Henzl) [1725737] - [scsi] mpt3sas: Maintain owner of buffer through UniqueID (Tomas Henzl) [1725737] - [scsi] mpt3sas: Free diag buffer without any status check (Tomas Henzl) [1725737] - [scsi] mpt3sas: Fix clear pending bit in ioctl status (Tomas Henzl) [1725737] - [scsi] mpt3sas: Display message before releasing diag buffer (Tomas Henzl) [1725737] - [scsi] mpt3sas: Register trace buffer based on NVDATA settings (Tomas Henzl) [1725737] - [scsi] mpt3sas: Introduce module parameter to override queue depth (Tomas Henzl) [1725737] - [scsi] mpt3sas: Update driver version to 31.100.00.00 (Tomas Henzl) [1725737] - [scsi] mpt3sas: Run SAS DEVICE STATUS CHANGE EVENT from ISR (Tomas Henzl) [1725737] - [scsi] mpt3sas: Reduce the performance drop (Tomas Henzl) [1725737] - [scsi] mpt3sas: Handle fault during HBA initialization (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add sysfs to know supported features (Tomas Henzl) [1725737] - [scsi] mpt3sas: Support MEMORY MOVE Tool box command (Tomas Henzl) [1725737] - [scsi] mpt3sas: Allow ioctls to blocked access status NVMe (Tomas Henzl) [1725737] - [scsi] mpt3sas: Enumerate SES of a managed PCIe switch (Tomas Henzl) [1725737] - [scsi] mpt3sas: Update MPI headers to 2.6.8 spec (Tomas Henzl) [1725737] - [scsi] mpt3sas: Gracefully handle online firmware update (Tomas Henzl) [1725737] - [scsi] mpt3sas: memset request frame before reusing (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add support for PCIe Lane margin (Tomas Henzl) [1725737] - [scsi] mpt3sas: support target smid for [abort|query] task (Tomas Henzl) [1725737] - [scsi] mpt3sas: clean up a couple sizeof() uses (Tomas Henzl) [1725737] - [scsi] mpt3sas: Fix msix load balance on and off settings (Tomas Henzl) [1725737] - [scsi] mpt3sas: Determine smp affinity on per HBA basis (Tomas Henzl) [1725737] - [scsi] mpt3sas: Use configured PCIe link speed, not max (Tomas Henzl) [1725737] - [scsi] mpt3sas: Remove CPU arch check to determine perf_mode (Tomas Henzl) [1725737] - [scsi] mpt3sas: use DEVICE_ATTR_{RO, RW} (Tomas Henzl) [1725737] - [scsi] mpt3sas: make driver options visible in sys (Tomas Henzl) [1725737] - [scsi] mpt3sas: Mark expected switch fall-through (Tomas Henzl) [1725737] - [scsi] mpt3sas: Update driver version to 29.100.00.00 (Tomas Henzl) [1725737] - [scsi] mpt3sas: Introduce perf_mode module parameter (Tomas Henzl) [1725737] - [scsi] mpt3sas: Enable interrupt coalescing on high iops (Tomas Henzl) [1725737] - [scsi] mpt3sas: Affinity high iops queues IRQs to local node (Tomas Henzl) [1725737] - [scsi] mpt3sas: save and use MSI-X index for posting RD (Tomas Henzl) [1725737] - [scsi] mpt3sas: Use high iops queues under some circumstances (Tomas Henzl) [1725737] - [scsi] mpt3sas: change _base_get_msix_index prototype (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add flag high_iops_queues (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add Atomic RequestDescriptor support on Aero (Tomas Henzl) [1725737] - [scsi] mpt3sas: function pointers of request descriptor (Tomas Henzl) [1725737] - [scsi] mpt3sas_ctl: fix double-fetch bug in _ctl_ioctl_main() (Tomas Henzl) [1725737] - [md] revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues" (Mike Snitzer) [1775756] - [md] dm thin: wakeup worker only when deferred bios exist (Mike Snitzer) [1775756] - [md] dm raid: Remove unnecessary negation of a shift in raid10_format_to_md_layout (Mike Snitzer) [1775756] - [md] dm writecache: handle REQ_FUA (Mike Snitzer) [1775756] - [md] dm writecache: fix uninitialized variable warning (Mike Snitzer) [1775756] - [md] dm stripe: use struct_size() in kmalloc() (Mike Snitzer) [1775756] - [md] dm table: do not allow request-based DM to stack on partitions (Mike Snitzer) [1775756] - [md] dm cache: fix bugs when a GFP_NOWAIT allocation fails (Mike Snitzer) [1775756] - [md] dm writecache: skip writecache_wait for pmem mode (Mike Snitzer) [1775756] - [md] dm stats: use struct_size() helper (Mike Snitzer) [1775756] - [md] dm space map common: remove check for impossible sm_find_free() return value (Mike Snitzer) [1775756] - [md] dm raid1: use struct_size() with kzalloc() (Mike Snitzer) [1775756] - [md] dm writecache: optimize performance by sorting the blocks for writeback_all (Mike Snitzer) [1775756] - [md] dm writecache: add unlikely for getting two block with same LBA (Mike Snitzer) [1775756] - [md] dm writecache: remove unused member pointer in writeback_struct (Mike Snitzer) [1775756] - [md] dm: make dm_table_find_target return NULL (Mike Snitzer) [1775756] - [md] dm table: fix invalid memory accesses with too high sector number (Mike Snitzer) [1775756] - [md] dm space map metadata: fix missing store of apply_bops() return value (Mike Snitzer) [1775756] - [md] dm btree: fix order of block initialization in btree_split_beneath (Mike Snitzer) [1775756] - [md] dm raid: add missing cleanup in raid_ctr() (Mike Snitzer) [1775756] - [md] dm kcopyd: always complete failed jobs (Mike Snitzer) [1775756] - [md] dm crypt: remove obsolete comment about plumb IV (Mike Snitzer) [1775756] - [md] dm crypt: wipe private IV struct after key invalid flag is set (Mike Snitzer) [1775756] - [md] dm: update stale comment in end_clone_bio() (Mike Snitzer) [1775756] - [md] dm log writes: fix incorrect comment about the logged sequence example (Mike Snitzer) [1775756] - [md] dm log writes: use struct_size() to calculate size of pending_block (Mike Snitzer) [1775756] - [md] dm crypt: use struct_size() when allocating encryption context (Mike Snitzer) [1775756] - [md] dm thin metadata: check if in fail_io mode when setting needs_check (Mike Snitzer) [1775756] - [md] dm verity: use message limit for data block corruption message (Mike Snitzer) [1775756] - [md] dm log writes: make sure super sector log updates are written in order (Mike Snitzer) [1775756] - [md] dm: fix a couple brace coding style issues (Mike Snitzer) [1775756] - [md] dm crypt: print device name in integrity error message (Mike Snitzer) [1775756] - [documentation] dm integrity: update documentation (Mike Snitzer) [1775756] - [md] dm integrity: don't report unused options (Mike Snitzer) [1775756] - [md] dm integrity: don't check null pointer before kvfree and vfree (Mike Snitzer) [1775756] - [md] dm integrity: correctly calculate the size of metadata area (Mike Snitzer) [1775756] - [md] dm mpath: always free attached_handler_name in parse_path() (Mike Snitzer) [1775756] - [md] dm writecache: avoid unnecessary lookups in writecache_find_entry() (Mike Snitzer) [1775756] - [md] dm writecache: remove unused member page_offset in writeback_struct (Mike Snitzer) [1775756] - [md] dm delay: fix a crash when invalid device is specified (Mike Snitzer) [1775756] - [md] dm: only initialize md->dax_dev if CONFIG_DAX_DRIVER is enabled (Mike Snitzer) [1775756] - [md] dm writecache: add unlikely for returned value of rb_next_prev (Mike Snitzer) [1775756] - [md] dm writecache: remove needless dereferences in __writecache_writeback_pmem() (Mike Snitzer) [1775756] - [md] dm crypt: fix endianness annotations around org_sector_of_dmreq (Mike Snitzer) [1775756] - [md] dm integrity: fix deadlock with overlapping I_O (Mike Snitzer) [1775756] - [md] dm: disable DISCARD if the underlying storage no longer supports it (Mike Snitzer) [1775756] - [md] dm: revert 8f50e358153d ("dm: limit the max bio size as BIO_MAX_PAGES * PAGE_SIZE") (Mike Snitzer) [1775756] - [md] dm integrity: make dm_integrity_init and dm_integrity_exit static (Mike Snitzer) [1775756] - [md] dm integrity: change memcmp to strncmp in dm_integrity_ctr (Mike Snitzer) [1775756] - [x86] platform/uv: Account for UV Hubless in is_uvX_hub Ops (Frank Ramsay) [1757510] - [x86] platform/uv: Check EFI Boot to set reboot type (Frank Ramsay) [1757510] - [x86] platform/uv: Decode UVsystab Info (Frank Ramsay) [1757510] - [x86] platform/uv: Add UV Hubbed/Hubless Proc FS Files (Frank Ramsay) [1757510] - [x86] platform/uv: Setup UV functions for Hubless UV Systems (Frank Ramsay) [1757510] - [x86] platform/uv: Add return code to UV BIOS Init function (Frank Ramsay) [1757510] - [x86] platform/uv: Return UV Hubless System Type (Frank Ramsay) [1757510] - [x86] platform/uv: Save OEM_ID from ACPI MADT probe (Frank Ramsay) [1757510] - [x86] mm: Handle physical-virtual alignment mismatch in phys_p4d_init() (Baoquan He) [1685383] - [x86] mm/kaslr: Reduce randomization granularity for 5-level paging to 1GB (Baoquan He) [1685383] - [x86] mm/kaslr: Use only one PUD entry for real mode trampoline (Baoquan He) [1685383] - [documentation] documentation/stackprotector: powerpc supports stack protector (Bhupesh Sharma) [1714310] - [makefile] kbuild: mark prepare0 as PHONY to fix external module build (Bhupesh Sharma) [1714310] - [makefile] kbuild: fix single target build for external module (Bhupesh Sharma) [1714310] - [arm64] enable per-task stack canaries (Bhupesh Sharma) [1714310] - [powerpc] Fix stack protector crashes on CPU hotplug (Bhupesh Sharma) [1714310] - [powerpc] 64: properly initialise the stackprotector canary on SMP (Bhupesh Sharma) [1714310] - [powerpc] Fix stackprotector detection for non-glibc toolchains (Bhupesh Sharma) [1714310] - [powerpc] 64: add stack protector support (Bhupesh Sharma) [1714310] - [powerpc] 32: add stack protector support (Bhupesh Sharma) [1714310] - [pci] vmd: Fix shadow offsets to reflect spec changes (Myron Stowe) [1757896] - [pci] vmd: Fix config addressing when using bus offsets (Myron Stowe) [1757896] - [pci] Fix typos and whitespace errors (Myron Stowe) [1757896] - [pci] vmd: use the proper dma_* APIs instead of direct methods calls (Myron Stowe) [1757896] - [powerpc] powernv: Disable native PCIe port management (Gustavo Duarte) [1524642] - [powerpc] eeh: Fix eeh eeh_debugfs_break_device() with SRIOV devices (Gustavo Duarte) [1524642] - [tools] selftests/powerpc: Add basic EEH selftest (Gustavo Duarte) [1524642] - [powerpc] eeh: Add a eeh_dev_break debugfs interface (Gustavo Duarte) [1524642] - [powerpc] eeh: Add debugfs interface to run an EEH check (Gustavo Duarte) [1524642] - [powerpc] eeh: Fix debugfs_simple_attr.cocci warnings (Gustavo Duarte) [1524642] - [powerpc] eeh: Fix build with STACKTRACE=n (Gustavo Duarte) [1524642] - [powerpc] eeh: Set attention indicator while recovering (Gustavo Duarte) [1524642] - [pci] pci-hotplug/pnv_php: Add attention indicator support (Gustavo Duarte) [1524642] - [pci] pci-hotplug/pnv_php: Add support for IODA3 Power9 PHBs (Gustavo Duarte) [1524642] - [pci] pci-hotplug/pnv_php: Add a reset_slot() callback (Gustavo Duarte) [1524642] - [powerpc] powernv/eeh: Use generic code to handle hot resets (Gustavo Duarte) [1524642] - [powerpc] eeh: Remove stale CAPI comment (Gustavo Duarte) [1524642] - [powerpc] eeh: Defer printing stack trace (Gustavo Duarte) [1524642] - [powerpc] eeh: Check slot presence state in eeh_handle_normal_event() (Gustavo Duarte) [1524642] - [powerpc] eeh: Make permanently failed devices non-actionable (Gustavo Duarte) [1524642] - [powerpc] eeh: Fix race when freeing PDNs (Gustavo Duarte) [1524642] - [powerpc] eeh: Clean up EEH PEs after recovery finishes (Gustavo Duarte) [1524642] - [netdrv] be2net: disable bh with spin_lock in be_process_mcc (Petr Oros) [1724777] - [netdrv] be2net: Synchronize be_update_queues with dev_watchdog (Petr Oros) [1724777] - [netdrv] be2net: Signal that the device cannot transmit during reconfiguration (Petr Oros) [1724777] - [netdrv] be2net: fix link failure after ethtool offline test (Petr Oros) [1724777] - [netdrv] be2net: Fix number of Rx queues used for flow hashing (Petr Oros) [1724777] - [netdrv] benet: remove broken and unused macro (Petr Oros) [1724777] - [netdrv] benet: use skb_vlan_tag_get_prio() (Petr Oros) [1724777] - [netdrv] benet: use __vlan_hwaccel helpers (Petr Oros) [1724777] - [netdrv] revert "[netdrv] be2net: Disable queue dump in be_tx_timeout handler" (Petr Oros) [1724777] - [infiniband] rdma/i40iw: Set queue pair state when being queried (Stefan Assmann) [1721712] - [infiniband] ib/i40iw: Use kmemdup rather than open coding (Stefan Assmann) [1721712] - [infiniband] rdma/i40iw: Handle workqueue allocation failure (Stefan Assmann) [1721712] - [nvdimm] libnvdimm/pfn_dev: Add page size and struct page size to pfn superblock (Baoquan He) [1724969] - [nvdimm] libnvdimm/pfn_dev: Add a build check to make sure we notice when struct page size change (Baoquan He) [1724969] - [nvdimm] libnvdimm/pfn: Fix namespace creation on misaligned addresses (Baoquan He) [1724969] - [nvdimm] libnvdimm/pfn: stop padding pmem namespaces to section alignment (Baoquan He) [1724969] - [nvdimm] libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields (Baoquan He) [1724969] - [nvdimm] revert "libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields" (Baoquan He) [1724969] - [nvdimm] revert "libnvdimm/pfn_dev: Add page size and struct page size to pfn superblock" (Baoquan He) [1724969] - [nvdimm] revert "libnvdimm/pfn_dev: Add a build check to make sure we notice when struct page size change" (Baoquan He) [1724969] - [mm] sparsemem: cleanup 'section number' data types (Baoquan He) [1724969] - [kernel] mm/devm_memremap_pages: enable sub-section remap (Baoquan He) [1724969] - [mm] sparsemem: support sub-section hotplug (Baoquan He) [1724969] - [mm] sparsemem: prepare for sub-section ranges (Baoquan He) [1724969] - [kernel] mm: kill is_dev_zone() helper (Baoquan He) [1724969] - [mm] hotplug: kill is_dev_zone() usage in __remove_pages() (Baoquan He) [1724969] - [mm] sparsemem: convert kmalloc_section_memmap() to populate_section_memmap() (Baoquan He) [1724969] - [mm] hotplug: prepare shrink_{zone, pgdat}_span for sub-section removal (Baoquan He) [1724969] - [mm] sparsemem: add helpers track active portions of a section at boot (Baoquan He) [1724969] - [mm] sparsemem: introduce a SECTION_IS_EARLY flag (Baoquan He) [1724969] - [mm] sparsemem: introduce struct mem_section_usage (Baoquan He) [1724969] - [base] base/memory.c: get rid of find_memory_block_hinted() (Baoquan He) [1724969] - [mm] memory_hotplug: move and simplify walk_memory_blocks() (Baoquan He) [1724969] - [mm] memory_hotplug: rename walk_memory_range() and pass start+size instead of pfns (Baoquan He) [1724969] - [mm] hotplug: make remove_memory() interface usable (Baoquan He) [1724969] - [kernel] mm: make register_mem_sect_under_node() static (Baoquan He) [1724969] - [base] base/memory: use "unsigned long" for block ids (Baoquan He) [1724969] - [base] mm: section numbers use the type "unsigned long" (Baoquan He) [1724969] - [base] base/memory.c: Use DEVICE_ATTR_RO and friends (Baoquan He) [1724969] - [mm] sparse.c: set section nid for hot-add memory (Baoquan He) [1724969] - [mm] memory_hotplug: remove "zone" parameter from sparse_remove_one_section (Baoquan He) [1724969] - [base] mm/memory_hotplug: make unregister_memory_block_under_nodes() never fail (Baoquan He) [1724969] - [base] mm/memory_hotplug: remove memory block devices before arch_remove_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: drop MHP_MEMBLOCK_API (Baoquan He) [1724969] - [base] mm/memory_hotplug: create memory block devices after arch_add_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: allow arch_remove_memory() without CONFIG_MEMORY_HOTREMOVE (Baoquan He) [1724969] - [arm64] mm: add temporary arch_remove_memory() implementation (Baoquan He) [1724969] - [mm] sparse.c: clean up obsolete code comment (Baoquan He) [1724969] - [base] base/memory: pass a block_id to init_memory_block() (Baoquan He) [1724969] - [base] base/memory.c: remove an unnecessary check on NR_MEM_SECTIONS (Baoquan He) [1724969] - [s390] s390x/mm: implement arch_remove_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: make __remove_section() never fail (Baoquan He) [1724969] - [base] mm/memory_hotplug: make unregister_memory_section() never fail (Baoquan He) [1724969] - [base] base/memory.c: clean up relics in function parameters (Baoquan He) [1724969] - [base] mm, memory_hotplug: update a comment in unregister_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: release memory resource after arch_remove_memory() (Baoquan He) [1724969] - [kernel] mm, memory_hotplug: provide a more generic restrictions for memory hotplug (Baoquan He) [1724969] - [kernel] linux/memory_hotplug.h: remove duplicate declaration of offline_pages() (Baoquan He) [1724969] - [mm] x86: respect memory size limiting via mem= parameter (Baoquan He) [1724969] - [arm64] Add memory hotplug support (Baoquan He) [1724969] - [arm64] mm: check for upper PAGE_SHIFT bits in pfn_valid() (Baoquan He) [1724969] - [powerpc] mm: Fix section mismatch warning (Baoquan He) [1724969] - [base] mm/memory_hotplug: do not unlock after failing to take the device_hotplug_lock (Baoquan He) [1724969] - [mm] memory_hotplug: drop "online" parameter from add_memory_resource() (Baoquan He) [1724969] - [s390] s390x/mm: fail when an altmap is used for arch_add_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: simplify and fix check_hotplug_memory_range() (Baoquan He) [1724969] - [mm] memory_hotplug: add nid parameter to arch_remove_memory (Baoquan He) [1724969] - [mm] sparse: pass nid instead of pgdat to sparse_add_one_section() (Baoquan He) [1724969] - [mm] sparse: drop pgdat_resize_lock in sparse_add/remove_one_section() (Baoquan He) [1724969] - [documentation] memory-hotplug.rst: add some details about locking internals (Baoquan He) [1724969] - [powerpc] powernv: hold device_hotplug_lock when calling memtrace_offline_pages() (Baoquan He) [1724969] - [powerpc] powernv: hold device_hotplug_lock when calling device_online() (Baoquan He) [1724969] - [powerpc] powernv: Allow memory that has been hot-removed to be hot-added (Baoquan He) [1724969] - [powerpc] powernv/memtrace: Remove memtrace mmap() (Baoquan He) [1724969] - [mm] memory_hotplug: fix online/offline_pages called w.o. mem_hotplug_lock (Baoquan He) [1724969] - [mm] memory_hotplug: make add_memory() take the device_hotplug_lock (Baoquan He) [1724969] - [mm] memory_hotplug: make remove_memory() take the device_hotplug_lock (Baoquan He) [1724969] - [powerpc] memtrace: Remove memory in chunks (Baoquan He) [1724969] - [base] mm/memory_hotplug.c: drop unnecessary checks from register_mem_sect_under_node() (Baoquan He) [1724969] - [base] mm/memory_hotplug.c: make register_mem_sect_under_node() a callback of walk_memory_range() (Baoquan He) [1724969] - [mm] memory_hotplug.c: call register_mem_sect_under_node() (Baoquan He) [1724969] - [mm] memory_hotplug.c: make add_memory_resource use __try_online_node (Baoquan He) [1724969] - [pci] Always allow probing with driver_override (Myron Stowe) [1702178] - [pci] Return error if cannot probe VF (Myron Stowe) [1702178] - [target] scsi: target: core: Do not overwrite CDB byte 1 (Maurizio Lombardi) [1764579] - [target] scsi: target: tcmu: clean the nl_cmd of the udev when nl send fails (Maurizio Lombardi) [1764579] - [target] scsi: target: tcmu: avoid use-after-free after command timeout (Maurizio Lombardi) [1764579] - [target] scsi: tcmu: Simplify tcmu_update_uio_info() (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: fix possible condition with no effect (if == else) (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Make sure PDU processing continues if parsing a command fails (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Make iscsit_map_iovec() more robust (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Handle too large immediate data buffers correctly (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Only send R2T if needed (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Detect conn_cmd_list corruption early (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Make the XCOPY setup code easier to read by inlining two functions (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Simplify LUN initialization in XCOPY implementation (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Remove a set-but-not-used member variable from the XCOPY implementation (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Rework the SPC-2 reservation handling code (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Fix a race condition in the LUN lookup code (Maurizio Lombardi) [1764579] - [target] scsi: target: alua: fix the tg_pt_gps_count (Maurizio Lombardi) [1764579] - [target] scsi: target: iscsi: Free conn_ops when zalloc_cpumask_var failed (Maurizio Lombardi) [1764579] - [target] scsi: target: iscsi: Fix np_ip_proto and np_sock_type in iscsit_setup_np (Maurizio Lombardi) [1764579] - [target] scsi: target: fix unsigned comparision with less than zero (Maurizio Lombardi) [1764579] - [target] scsi: target: Add device product id and revision configfs attributes (Maurizio Lombardi) [1764579] - [kernel] genirq/affinity: Remove const qualifier from node_to_cpumask argument (Ming Lei) [1743064] - [kernel] genirq/affinity: Spread vectors on node according to nr_cpu ratio (Ming Lei) [1743064] - [kernel] genirq/affinity: Improve __irq_build_affinity_masks() (Ming Lei) [1743064] - [kernel] genirq/affinity: Remove unused argument from [__]irq_build_affinity_masks() (Ming Lei) [1743064] - [kernel] workqueue, lockdep: Fix a memory leak in wq->lock_name (Waiman Long) [1736654] - [kernel] workqueue, lockdep: Fix an alloc_workqueue() error path (Waiman Long) [1736654] - [kernel] locking/lockdep: Report more stack trace statistics (Waiman Long) [1736654] - [kernel] locking/lockdep: Reduce space occupied by stack traces (Waiman Long) [1736654] - [kernel] locking/lockdep: Make it clear that what lock_class::key points at is not modified (Waiman Long) [1736654] - [kernel] lockdep: Make print_lock() address visible (Waiman Long) [1736654] - [kernel] locking/lockdep: Clean up #ifdef checks (Waiman Long) [1736654] - [kernel] locking/lockdep: Hide unused 'class' variable (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix lock used or unused stats error (Waiman Long) [1736654] - [kernel] locking/lockdep: increase size of counters for lockdep statistics (Waiman Long) [1736654] - [kernel] locking/lockdep: Move mark_lock() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove unnecessary DEBUG_LOCKS_WARN_ON() (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix merging of hlocks with non-zero references (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix OOO unlock when hlocks need merging (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove !dir in lock irq usage check (Waiman Long) [1736654] - [kernel] locking/lockdep: Adjust new bit cases in mark_lock (Waiman Long) [1736654] - [kernel] locking/lockdep: Consolidate lock usage bit initialization (Waiman Long) [1736654] - [kernel] locking/lockdep: Check redundant dependency only when CONFIG_LOCKDEP_SMALL (Waiman Long) [1736654] - [kernel] locking/lockdep: Refactorize check_noncircular and check_redundant (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove unused argument in __lock_release (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove redundant argument in check_deadlock (Waiman Long) [1736654] - [documentation] locking/lockdep: Add explanation to lock usage rules in lockdep design doc (Waiman Long) [1736654] - [kernel] locking/lockdep: Update comments on dependency search (Waiman Long) [1736654] - [kernel] locking/lockdep: Avoid constant checks in __bfs by using offset reference (Waiman Long) [1736654] - [kernel] locking/lockdep: Change the return type of __cq_dequeue() (Waiman Long) [1736654] - [kernel] locking/lockdep: Change type of the element field in circular_queue (Waiman Long) [1736654] - [kernel] locking/lockdep: Update comment (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove unused argument in validate_chain() and check_deadlock() (Waiman Long) [1736654] - [kernel] locking/lockdep: Change the range of class_idx in held_lock struct (Waiman Long) [1736654] - [kernel] locking/lockdep: Define INITIAL_CHAIN_KEY for chain keys to start with (Waiman Long) [1736654] - [kernel] locking/lockdep: Use lockdep_init_task for task initiation consistently (Waiman Long) [1736654] - [kernel] locking/lockdep: Update obsolete struct field description (Waiman Long) [1736654] - [kernel] locking/lockdep: Print the right depth for chain key collision (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove useless conditional macro (Waiman Long) [1736654] - [kernel] locking/lockdep: Adjust lock usage bit character checks (Waiman Long) [1736654] - [documentation] locking/lockdep: Add description and explanation in lockdep design doc (Waiman Long) [1736654] - [kernel] locking/lockdep: Change all print_*() return type to void (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove the unused print_lock_trace() function (Waiman Long) [1736654] - [kernel] locking/lockdep: Don't complain about incorrect name for no validate class (Waiman Long) [1736654] - [kernel] lockdep: Add assertion to check if in an interrupt (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove unnecessary unlikely() (Waiman Long) [1736654] - [kernel] locking/lockdep: Test all incompatible scenarios at once in check_irq_usage() (Waiman Long) [1736654] - [kernel] locking/lockdep: Avoid bogus Clang warning (Waiman Long) [1736654] - [kernel] locking/lockdep: Generate LOCKF_ bit composites (Waiman Long) [1736654] - [kernel] locking/lockdep: Use expanded masks on find_usage_*() functions (Waiman Long) [1736654] - [kernel] locking/lockdep: Map remaining magic numbers to lock usage mask names (Waiman Long) [1736654] - [kernel] locking/lockdep: Move valid_state() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING (Waiman Long) [1736654] - [kernel] lockdep: Simplify stack trace handling (Waiman Long) [1736654] - [kernel] locking/lockdep: Make lockdep_unregister_key() honor 'debug_locks' again (Waiman Long) [1736654] - [kernel] locking/lockdep: Zap lock classes even with lock debugging disabled (Waiman Long) [1736654] - [kernel] locking/lockdep: Only call init_rcu_head() after RCU has been initialized (Waiman Long) [1736654] - [kernel] locking/lockdep: Avoid a Clang warning (Waiman Long) [1736654] - [kernel] locking/lockdep: Shrink struct lock_class_key (Waiman Long) [1736654] - [kernel] locking/lockdep: Add module_param to enable consistency checks (Waiman Long) [1736654] - [tools] lockdep/lib/tests: Test dynamic key registration (Waiman Long) [1736654] - [tools] lockdep/lib/tests: Fix run_tests.sh (Waiman Long) [1736654] - [kernel] workqueue: Use dynamic lockdep keys for workqueues (Waiman Long) [1736654] - [kernel] locking/lockdep: Add support for dynamic keys (Waiman Long) [1736654] - [kernel] locking/lockdep: Verify whether lock objects are small enough to be used as class keys (Waiman Long) [1736654] - [kernel] locking/lockdep: Check data structure consistency (Waiman Long) [1736654] - [kernel] locking/lockdep: Reuse lock chains that have been freed (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix a comment in add_chain_cache() (Waiman Long) [1736654] - [kernel] locking/lockdep: Introduce lockdep_next_lockchain() and lock_chain_count() (Waiman Long) [1736654] - [kernel] locking/lockdep: Reuse list entries that are no longer in use (Waiman Long) [1736654] - [kernel] locking/lockdep: Free lock classes that are no longer in use (Waiman Long) [1736654] - [kernel] locking/lockdep: Update two outdated comments (Waiman Long) [1736654] - [kernel] locking/lockdep: Make it easy to detect whether or not inside a selftest (Waiman Long) [1736654] - [kernel] locking/lockdep: Split lockdep_free_key_range() and lockdep_reset_lock() (Waiman Long) [1736654] - [kernel] locking/lockdep: Initialize the locks_before and locks_after lists earlier (Waiman Long) [1736654] - [kernel] locking/lockdep: Make zap_class() remove all matching lock order entries (Waiman Long) [1736654] - [kernel] locking/lockdep: Reorder struct lock_class members (Waiman Long) [1736654] - [kernel] locking/lockdep: Avoid that add_chain_cache() adds an invalid chain to the cache (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix reported required memory size (2/2) (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix reported required memory size (1/2) (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix two 32-bit compiler warnings (Waiman Long) [1736654] - [kernel] locking/lockdep: Rename lockdep_info() to lockdep_init() (Waiman Long) [1736654] - [kernel] locking/lockdep: Add debug_locks check in __lock_downgrade() (Waiman Long) [1736654] - [kernel] locking/lockdep: Provide enum lock_usage_bit mask names (Waiman Long) [1736654] - [kernel] locking/lockdep: Simplify mark_held_locks() (Waiman Long) [1736654] - [kernel] locking/lockdep: Add debug_locks check in __lock_downgrade() (Waiman Long) [1736654] - [kernel] locking/lockdep: Stop using RCU primitives to access 'all_lock_classes' (Waiman Long) [1736654] - [kernel] locking/lockdep: Make concurrent lockdep_reset_lock() calls safe (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove a superfluous INIT_LIST_HEAD() statement (Waiman Long) [1736654] - [kernel] locking/lockdep: Introduce lock_class_cache_is_registered() (Waiman Long) [1736654] - [kernel] locking/lockdep: Inline __lockdep_init_map() (Waiman Long) [1736654] - [kernel] locking/lockdep: Declare local symbols static (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Test the lockdep_reset_lock() implementation (Waiman Long) [1736654] - [tools] lib/lockdep: Add dummy print_irqtrace_events() implementation (Waiman Long) [1736654] - [tools] lib/lockdep: Rename "trywlock" into "trywrlock" (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Run lockdep tests a second time under Valgrind (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Improve testing accuracy (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Fix shellcheck warnings (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Display compiler warning and error messages (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove ::version from lock_class structure (Waiman Long) [1736654] - [init] kconfig: disable io_uring support (Jeff Moyer) [1758680] - [virt] kvm: arm64: pmu: Reset sample period on overflow handling (Auger Eric) [1760872] - [virt] kvm: arm64: pmu: Set the CHAINED attribute before creating the in-kernel event (Auger Eric) [1760872] - [arm64] kvm: Handle PMCR_EL0.LC as RES1 on pure AArch64 systems (Auger Eric) [1760872] - [virt] kvm: arm64: pmu: Fix cycle counter truncation (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Introduce kvm_pmu_vcpu_init() to setup PMU counter index (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Support chained PMU counters (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Remove pmc->bitmask (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Re-create event when setting counter value (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Extract duplicated code to own function (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Rename kvm_pmu_{enable/disable}_counter functions (Auger Eric) [1760872] - [arm64] perf: Hook up new events (Auger Eric) [1760872] - [arm64] perf: Move event definitions into perf_event.h (Auger Eric) [1760872] - [arm64] perf: Remove duplicate generic cache events (Auger Eric) [1760872] - [arm64] perf: Terminate PMU assignment statements with semicolons (Auger Eric) [1760872] - [arm64] Allow CAVIUM_TX2_ERRATUM_219 to be selected (Auger Eric) [1771633] - [arm64] Avoid Cavium TX2 erratum 219 when switching TTBR (Auger Eric) [1771633] - [arm64] Enable workaround for Cavium TX2 erratum 219 when running SMT (Auger Eric) [1771633] - [arm64] kvm: Trap VM ops when ARM64_WORKAROUND_CAVIUM_TX2_219_TVM is set (Auger Eric) [1771633] - [arm64] sysreg: fix incorrect definition of SYS_PAR_EL1_F (Auger Eric) [1771633] - [arm64] Force SSBS on context switch (Mark Salter) [1756103] - [arm64] enable pointer authentication (Mark Salter) [1756103] - [arm64] add ptrace regsets for ptrauth key management (Mark Salter) [1756103] - arm64: cpufeature: Rework ptr auth hwcaps using multi_entry_cap_matches (Mark Salter) [1756103] - [arm64] capabilities: Merge duplicate entries for Qualcomm erratum 1003 (Mark Salter) [1756103] - [arm64] cpufeature: Reduce number of pointer auth CPU caps from 6 to 4 (Mark Salter) [1756103] - [documentation] arm64: docs: document pointer authentication (Mark Salter) [1756103] - [documentation] arm64: docs: Document SSBS HWCAP (Mark Salter) [1756103] - [documentation] arm64: docs: Fix typos in ELF hwcaps (Mark Salter) [1756103] - [arm64] ptr auth: Move per-thread keys from thread_info to thread_struct (Mark Salter) [1756103] - [arm64] add prctl control for resetting ptrauth keys (Mark Salter) [1756103] - [arm64] perf: strip PAC when unwinding userspace (Mark Salter) [1756103] - [arm64] expose user PAC bit positions via ptrace (Mark Salter) [1756103] - [arm64] add basic pointer authentication support (Mark Salter) [1756103] - arm64/cpufeature: detect pointer authentication (Mark Salter) [1756103] - [arm64] cpufeature: Convert hook_lock to raw_spin_lock_t in cpu_enable_ssbs() (Mark Salter) [1756103] - [arm64] entry: Allow handling of undefined instructions from EL1 (Mark Salter) [1756103] - [arm64] Fix silly typo in comment (Mark Salter) [1756103] - [fs] smb3: fix signing verification of large reads (Dave Wysochanski) [1753114] - [fs] revert "nfs4: Fix v4.0 client state corruption when mount" (Benjamin Coddington) [1767012] - [kernel] svcrdma: Increase the default connection credit limit (Benjamin Coddington) [1771430] - [x86] quirks: Disable HPET on Intel Coffe Lake platforms (David Arcari) [1773774] - [sched] core: Fix CPU controller for !RT_GROUP_SCHED (Phil Auld) [1774652] - [x86] Add comment for x86 processor OS version support (David Arcari) [1709878] - [x86] kvm: svm: taint module and print taint message iff nested is enabled (Bandan Das) [1775410] - [x86] cpu: Add Tiger Lake to Intel family (Steve Best) [1773790] - [fs] Fix the locking in dcache_readdir() and friends (Miklos Szeredi) [1761746] - [infiniband] rdma/mlx5: Return proper error value (Mohammad Heib) [1772101] - [scsi] mpt3sas: change allocation option (Tomas Henzl) [1770264] - [scsi] qla2xxx: Initialized mailbox to prevent driver load failure (Himanshu Madhani) [1770309] - [mfd] intel-lpss: Add Intel Comet Lake PCH-H PCI IDs (David Arcari) [1773307] - [powercap] intel_rapl: add support for Cometlake desktop (David Arcari) [1759664] - [powercap] intel_rapl: add support for CometLake Mobile (David Arcari) [1746265] - [kernel] intel_rapl: need linux/cpuhotplug.h for enum cpuhp_state (Alexander Beregalov) [1732604] - [thermal] int340x/processor_thermal_device: Fix proc_thermal_rapl_remove() (Alexander Beregalov) [1732604] - [thermal] int340x/processor_thermal_device: add support for MMIO RAPL (Alexander Beregalov) [1732604] - [thermal] thermal: processor_thermal_device: Fix build warning (Alexander Beregalov) [1732604] - [thermal] thermal: processor_thermal: Read PPCC on resume (Alexander Beregalov) [1732604] - [thermal] thermal: processor_thermal: Downgrade error message (Alexander Beregalov) [1732604] - [thermal] intel: int340x: processor_thermal_device: simplify to get driver data (Alexander Beregalov) [1732604] - [thermal] int3403_thermal: favor _TMP instead of PTYP (Alexander Beregalov) [1732604] - [thermal] int340x_thermal: fix mode setting (Alexander Beregalov) [1732604] - [thermal] int340x_thermal: Add additional UUIDs (Alexander Beregalov) [1732604] - [thermal] thermal: int340x_thermal: Fix sysfs race condition (Alexander Beregalov) [1732604] - [thermal] thermal: int340x_thermal: Make PCI dependency explicit (Alexander Beregalov) [1732604] - [thermal] int340x_thermal: Fix a NULL vs IS_ERR() check (Alexander Beregalov) [1732604] - [thermal] int340x_thermal: int3400_thermal: simplify getting .driver_data (Alexander Beregalov) [1732604] - [powercap] Invoke powercap_init() and rapl_init() earlier (Alexander Beregalov) [1732604] - [powercap] intel_rapl: Fix module autoloading issue (Alexander Beregalov) [1732604] - [powercap] intel_rapl: support two power limits for every RAPL domain (Alexander Beregalov) [1732604] - [powercap] intel_rapl: support 64 bit register (Alexander Beregalov) [1732604] - [powercap] intel_rapl: abstract RAPL common code (Alexander Beregalov) [1732604] - [powercap] intel_rapl: cleanup hardcoded MSR access (Alexander Beregalov) [1732604] - [powercap] intel_rapl: cleanup some functions (Alexander Beregalov) [1732604] - [powercap] intel_rapl: abstract register access operations (Alexander Beregalov) [1732604] - [powercap] intel_rapl: abstract register address (Alexander Beregalov) [1732604] - [powercap] intel_rapl: introduce struct rapl_if_private (Alexander Beregalov) [1732604] - [kernel] intel_rapl: introduce intel_rapl.h (Alexander Beregalov) [1732604] - [powercap] intel_rapl: remove hardcoded register index (Alexander Beregalov) [1732604] - [powercap] intel_rapl: use reg instead of msr (Alexander Beregalov) [1732604] - [security] ima: Differentiate auditing policy rules from "audit" actions (Richard Guy Briggs) [1479911] - [security] ima: Do not audit if CONFIG_INTEGRITY_AUDIT is not set (Richard Guy Briggs) [1479911] - [security] ima: Use audit_log_format() rather than audit_log_string() (Richard Guy Briggs) [1479911] - [security] ima: Call audit_log_string() rather than logging it untrusted (Richard Guy Briggs) [1479911] - [security] selinux: avoid atomic_t usage in sidtab (Ondrej Mosnacek) [1741182] - [security] selinux: always return a secid from the network caches if we find one (Ondrej Mosnacek) [1741182] - [security] selinux: policydb - rename type_val_to_struct_array (Ondrej Mosnacek) [1741182] - [security] selinux: policydb - fix some checkpatch.pl warnings (Ondrej Mosnacek) [1741182] - [security] selinux: shuffle around policydb.c to get rid of forward declarations (Ondrej Mosnacek) [1741182] - [security] selinux: fix memory leak in policydb_init() (Ondrej Mosnacek) [1741182] - [security] selinux: check sidtab limit before adding a new entry (Ondrej Mosnacek) [1741182] - [security] selinux: format all invalid context as untrusted (Ondrej Mosnacek) [1479914 1741182] - [security] selinux: remove some no-op BUG_ONs (Ondrej Mosnacek) [1741182] - [security] selinux: provide __le variables explicitly (Ondrej Mosnacek) [1741182] - [security] selinux: avoid uninitialized variable warning (Ondrej Mosnacek) [1741182] - [security] selinux: remove useless assignments (Ondrej Mosnacek) [1741182] - [security] selinux: fix NULL dereference in policydb_destroy() (Ondrej Mosnacek) [1741182] - [security] selinux: convert to kvmalloc (Ondrej Mosnacek) [1741182] - [kernel] lsm: generalize flag passing to security_capable (Ondrej Mosnacek) [1741182] - [kernel] selinux: Remove unused selinux_is_enabled (Ondrej Mosnacek) [1741182] - [kernel] selinux: Remove cred security blob poisoning (Ondrej Mosnacek) [1741182] - [security] selinux: Remove SECURITY_SELINUX_BOOTPARAM_VALUE (Ondrej Mosnacek) [1741182]- [tools] selftests: mlxsw: Add a test for leftover DSCP rule (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Fix local variable declarations in DSCP tests (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Add counters for GC events (Ivan Vecera) [1737368] - [netdrv] mlxsw: Bump firmware version to 13.2000.1886 (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Prevent auto negotiation on number of lanes (Ivan Vecera) [1737368] - [netdrv] mlxsw: Remove 56G speed support (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Keep unmatched entries in a linked list (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Further reduce pool size on Spectrum-2 (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Fix error path in mlxsw_sp_module_init() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: fix duplicated check on orig_egr_types (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Increase parsing depth when PTP is enabled (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Fix typo in qos_mc_aware.sh (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Do not process learned records with a dummy FID (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_dcb: Configure DSCP map as the last rule is removed (Ivan Vecera) [1737368] - [netdrv] remove redundant memset (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Apply the PTP shaper enable/disable logic (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Set up PTP shaper when port status has changed (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Enable/disable PTP shaper on a port when getting HWTSTAMP on/off (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Add new operation for getting the port's speed (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Set the PTP shaper parameters (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add QoS PTP Shaper Configuration Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Add note about the PTP shaper (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add ptps field in QoS ETS Element Configuration Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Fix validation in mlxsw_sp1_ptp_packet_finish() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Support ethtool get_ts_info (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Support SIOCGHWTSTAMP, SIOCSHWTSTAMP ioctls (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Configure PTP traps and FIFO events (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Garbage-collect unmatched entries (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Support timestamping on Spectrum-1 (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Disable BH when working with PHC (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Add PTP initialization / finalization (Ivan Vecera) [1737368] - [netdrv] mlxsw: pci: ptp: Hook into packet transmit path (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add support for using SKB control buffer (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Hook into packet receive path (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Add support for traps specific to Spectrum-1 (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Extract a helper for trap registration (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Monitoring Global Configuration Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Time Precision Packet Timestamping Reading (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Monitoring Precision Time Protocol Trap Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Monitoring Time Precision Packet Port Configuration Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add support for negative temperature readout (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add the hottest thermal zone detection (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Extend thermal core with per inter-connect device thermal zones (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_flower: Implement support for ingress device matching (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Fix SRC_SYS_PORT element size (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Avoid size check for RX_ACL_SYSTEM_PORT element (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Write RX_ACL_SYSTEM_PORT acl element correctly (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Fix compilation on 32-bit ARM (Ivan Vecera) [1737368] - [tools] selftests: ptp: Add Physical Hardware Clock test (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: PTP physical hardware clock initialization (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Add implementation for physical hardware clock operations (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Management Pulse Per Second Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Management UTC Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: pci: Query free running clock PCI BAR and offsets (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add a new interface for reading the hardware free running clock (Ivan Vecera) [1737368] - [netdrv] mlxsw: cmd: Free running clock PCI BAR and offsets via query firmware (Ivan Vecera) [1737368] - [netdrv] mlxsw: Implement flash update status notifications (Ivan Vecera) [1737368] - [netdrv] mlxfw: Introduce status_notify op and call it to notify about the status (Ivan Vecera) [1737368] - [netdrv] mlxfw: Propagate error messages through extack (Ivan Vecera) [1737368] - [netdrv] mlxsw: Move firmware flash implementation to devlink (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Reduce buffer size in transactions for SFP modules temperature readout (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Extend the index size for temperature sensors readout (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Extend hwmon interface with inter-connect temperature attributes (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Management General Peripheral Information Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Extend sensor index field size of Management Temperature Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Re-order initialization sequence (Ivan Vecera) [1737368] - [netdrv] mlxsw: i2c: Allow flexible setting of I2C transactions size (Ivan Vecera) [1737368] - [netdrv] mlxsw: i2c: Extend initialization with querying firmware info (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Disallow prio-tagged packets when PVID is removed (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Reduce pool size on Spectrum-2 (Ivan Vecera) [1737368] - [tools] selftests: tc_flower: Add TOS matching test (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_flower: Fix TOS matching (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Test nexthop offload indication (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Refresh nexthop neighbour when it becomes dead (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Use different seeds for ECMP and LAG hash (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Prevent force of 56G (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Avoid warning after identical rules insertion (Ivan Vecera) [1737368] - [tools] selftests: Add loopback test (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Implement loopback ethtool feature (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Port Physical Loopback Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: split base on local_ports_in_{1x, 2x} resources (Ivan Vecera) [1737368] - [netdrv] mlxsw: resources: Add local_ports_in_{1x, 2x} (Ivan Vecera) [1737368] - [netdrv] mlxsw: Bump firmware version to 13.2000.1122 (Ivan Vecera) [1737368] - [netdrv] mlxsw: Remove obsolete dependency on THERMAL=m (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Prevent ipv6 gateway with v4 route via replace and append (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Adjust CPU port shared buffer egress quotas (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Allow skipping ingress port quota configuration (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Split business logic from mlxsw_sp_port_sb_pms_init() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Use new CPU ingress pool for control packets (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Add pools for CPU traffic (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Remove assumption about pool order (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Forbid changing multicast TCs' attributes (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Forbid changing threshold type of first egress pool (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Forbid configuration of multicast pool (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Add ability to veto TC's configuration (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Add ability to veto pool's configuration (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Use defines for pool indices (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Add extack messages for invalid configurations (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Relax FIB rule validation (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Use a stable ECMP/LAG seed (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Test neighbour offload indication (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Add neighbour offload indication (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Propagate neighbour update errors (Ivan Vecera) [1737368] - [documentation] documentation: networking: devlink-info-versions: Add fw.psid (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add support for devlink info command (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add MGIR register (Ivan Vecera) [1737368] - [tools] selftests: forwarding: test for bridge mcast traffic after report and leave (Ivan Vecera) [1737368] - [netdrv] mlxsw: switch_ib: Pass valid HW id down to mlxsw_core_port_init() (Ivan Vecera) [1737368] - [netdrv] mlxsw: Remove ndo_get_port_parent_id implementation (Ivan Vecera) [1737368] - [netdrv] mlxsw: Pass switch ID through devlink_port_attrs_set() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Rename rehash_dis trace (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Remove failed_rollback dead end (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Move rehash_dis trace call and err msg to vregion_migrate() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Remove redundant failed_rollback from migrate_start() (Ivan Vecera) [1737368] - [netdrv] mlxsw: Remove ndo_get_phys_port_name implementation (Ivan Vecera) [1737368] - [netdrv] mlxsw: Implement ndo_get_devlink_port (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Add a new test for strict priority (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Add qos_lib.sh (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: qos_mc_aware: Configure shared buffers (Ivan Vecera) [1737368] - [tools] selftests: forwarding: devlink_lib: Add shared buffer helpers (Ivan Vecera) [1737368] - [tools] selftests: forwarding: devlink_lib: Simplify deduction of DEVLINK_DEV (Ivan Vecera) [1737368] - [tools] selftests: forwarding: devlink_lib: Avoid double sourcing of lib.sh (Ivan Vecera) [1737368] - [tools] selftests: forwarding: Test action VLAN modify (Ivan Vecera) [1737368] - [tools] selftests: forwarding: Add PCP match and VLAN match tests (Ivan Vecera) [1737368] - [infiniband] rdma/mlx5: Use irq xarray locking for mkey_table (Alaa Hleihel) [1724336] - [netdrv] mlx4_core: Dynamically set guaranteed amount of counters per VF (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Initialize on stack link modes bitmap (Alaa Hleihel) [1724336] - [netdrv] mlx5e: fix ethtool self test: link speed (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix handling of compressed CQEs in case of low NAPI budget (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Don't store direct pointer to action's tunnel info (Alaa Hleihel) [1724336] - [netdrv] mlx5: Fix NULL pointer dereference in extended destination (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Only skip encap flows update when encap init failed (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Determine source port properly for vlan push action (Alaa Hleihel) [1724336] - [kernel] mlx5: Fix flow counter list auto bits struct (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Clear old rate limit when closing QP (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Remove dead code (Alaa Hleihel) [1724336] - [netdrv] mlx5: fix memory leak in mlx5_fw_fatal_reporter_dump (Alaa Hleihel) [1724336] - [netdrv] mlx5: prevent memory leak in mlx5_fpga_conn_create_cq (Alaa Hleihel) [1724336] - [netdrv] mlx5e: TX, Fix consumer index of error cqe dump (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Zero-memset WQE info struct upon update (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Fix assumption of single WQEBB of NOP in cleanup flow (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Add missing synchronize_srcu() for MW cases (Alaa Hleihel) [1724307 1724336] - [infiniband] rdma/mlx5: Order num_pending_prefetch properly with synchronize_srcu (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Do not allow rereg of a ODP MR (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix matching on tunnel addresses type (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add device ID of upcoming BlueField-2 (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Free mpi in mp_slave mode (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Use the original address for the page during free_pages (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: FWTrace, Reduce stack usage (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Remove unnecessary clear_bit()s (Alaa Hleihel) [1724336] - [netdrv] mlx5: fix spelling mistake "offlaods" -> "offloads" (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Remove leftover declaration (Alaa Hleihel) [1724336] - [netdrv] mlx5e: ethtool, Fix a typo in WOL function names (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add missing include file to lib/crypto.c (Alaa Hleihel) [1724336] - [netdrv] mlx5: remove self-assignment on esw->dev (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Support MLX5_CMD_OP_QUERY_LAG as a DEVX general command (Alaa Hleihel) [1724307 1724336] - [kernel] mlx5: Fix mlx5_ifc_query_lag_out_bits (Alaa Hleihel) [1724336] - [netdrv] mlx5: Fix formats with line continuation whitespace (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix mlx5e_tx_reporter_create return value (Alaa Hleihel) [1724336] - [kernel] mlx5: Fix offset of tisc bits reserved field (Alaa Hleihel) [1724336] - [netdrv] mlx5: fix -Wtype-limits compilation warnings (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Support per device q counters in switchdev mode (Alaa Hleihel) [1659186 1724336] - [infiniband] ib/mlx5: Refactor code for counters allocation (Alaa Hleihel) [1659186 1724336] - [netdrv] mlx5: DR, Replace CRC32 implementation to use kernel lib (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Support IPv4 and IPv6 mixed matcher (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Allow insertion of duplicate rules (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: avoid 64-bit division in dr_icm_pool_mr_create() (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5e: Fix traffic duplication in ethtool steering (Alaa Hleihel) [1724336] - [netdrv] mlx5: DR, Allow matching on vport based on vhca_id (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Fix getting incorrect prev node in ste_free (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Remove redundant vport number from action (Alaa Hleihel) [1760284 1724336] - [kernel] mlx5: DR, Fix SW steering HW bits and definitions (Alaa Hleihel) [1724336] - [netdrv] mlx5: fix missing assignment of variable err (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Fix rt's type in dr_action_create_reformat_action (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Fix error return code in dr_domain_init_resources() (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Fix addr's type in mlx5dr_icm_dm (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Add devlink flow_steering_mode parameter (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Add support to use SMFS in switchdev mode (Alaa Hleihel) [1760284 1724327 1724336] - [netdrv] mlx5: Add API to set the namespace steering mode (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Add direct rule fs_cmd implementation (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add CONFIG_MLX5_SW_STEERING for software steering support (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose APIs for direct rule managing (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add required FW steering functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering rule functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering action functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering matcher functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering table functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering domain functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add Steering entry (STE) utilities (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose an internal API to issue RDMA operations (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, ICM pool memory allocator (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add direct rule command utilities (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add the internal direct rule types definitions (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Add flow steering actions to fs_cmd shim layer (Alaa Hleihel) [1760284 1724327 1724336] - [netdrv] mlx5: Set only stag for match untagged packets (Alaa Hleihel) [1760284 1724336] - [kernel] mlx5: Add stub for mlx5_eswitch_mode (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Avoid disabling RoCE when uninitialized (Alaa Hleihel) [1760284 1724336] - [kernel] mlx5: Add HW bits and definitions required for SW steering (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Move device memory management to mlx5_core (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5e: Support LAG TX port affinity distribution (Alaa Hleihel) [1760285 1724336] - [netdrv] mlx5e: Expose new function for TIS destroy loop (Alaa Hleihel) [1760285 1724336] - [kernel] mlx5: Add lag_tx_port_affinity capability bit (Alaa Hleihel) [1760285 1724336] - [netdrv] mlx5e: Add device out of buffer counter (Alaa Hleihel) [1760291 1724336] - [netdrv] mlx5: Fix the order of fc_stats cleanup (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix deallocation of non-fully init encap entries (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Only access fully initialized flows in neigh update (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Refactor neigh update for concurrent execution (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Refactor neigh used value update for concurrent execution (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect neigh hash encap list with spinlock and rcu (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Refactor mlx5e_neigh_update_table->encap_lock (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend neigh hash entry with rcu (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Always take reference to neigh entry (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extract code that queues neigh update work into function (Alaa Hleihel) [1663231 1724336] - [kernel] mlx5: Add support for VNIC_ENV internal rq counter (Alaa Hleihel) [1760291 1724336] - [netdrv] mlx5e: Use refcount_t for refcount (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Use vhca_id in generating representor port_index (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Simplify querying port representor parent id (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5: E-switch, Removed unused hwid (Alaa Hleihel) [1663231 1724327 1724336] - [netdrv] mlx5e: Allow concurrent creation of encap entries (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect encap hash table with mutex (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend encap entry with reference counter (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Allow concurrent creation of mod_hdr entries (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect mod_hdr hash table with mutex (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect mod header entry flows list with spinlock (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend mod header entry with reference counter (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Allow concurrent creation of hairpin entries (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect hairpin hash table with mutex (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect hairpin entry flows list with spinlock (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend hairpin entry with reference counter (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5: E-switch, Tide up eswitch config sequence (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Remove redundant mc_promisc NULL check (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, remove redundant error handling (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-switch, Introduce helper function to enable/disable vports (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-switch, Initialize TSAR Qos hardware block before its user vports (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-switch, Combine metadata enable/disable functionality (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Verify support QoS element type (Alaa Hleihel) [1724336] - [netdrv] mlx5: Make load_one() and unload_one() symmetric (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add flow counter pool (Alaa Hleihel) [1760297 1724336] - [netdrv] mlx5: Add flow counter bulk infrastructure (Alaa Hleihel) [1760297 1724336] - [kernel] mlx5: Add flow counter bulk allocation hardware bits and command (Alaa Hleihel) [1760297 1724336] - [netdrv] mlx5: Refactor and optimize flow counter bulk query (Alaa Hleihel) [1760297 1724336] - [netdrv] mlx5e: Protect tc flow table with mutex (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Rely on rcu instead of rtnl lock when getting upper dev (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Eswitch, use state_lock to synchronize vlan change (Alaa Hleihel) [1663231 1724327 1724336] - [netdrv] mlx5e: Eswitch, change offloads num_flows type to atomic64 (Alaa Hleihel) [1663231 1724327 1724336] - [netdrv] mlx5e: Protect unready flows with dedicated lock (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect tc flows hashtable with rcu (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Change flow flags type to unsigned long (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend tc flow struct with reference counter (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Simplify get_route_and_out_devs helper function (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Improve ethtool rxnfc callback structure (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Avoid warning print when not required (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Print a warning when LRO feature is dropped or not allowed (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Remove ethernet segment from dump WQE (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Add num bytes metadata to WQE info (Alaa Hleihel) [1724336] - [netdrv] mlx5: Fix delay in fw fatal report handling due to fw report (Alaa Hleihel) [1724336] - [netdrv] mlx5: Fix crdump chunks print (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Block MR WR if UMR is not possible (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix MR re-registration flow to use UMR properly (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Report and handle ODP support properly (Alaa Hleihel) [1724308 1724336] - [infiniband] ib/mlx5: Consolidate use_umr checks into single function (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix compatibility issue with ethtool flash device (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix use-after-free error while accessing ev_file pointer (Alaa Hleihel) [1724307 1724336] - [netdrv] mlx5e: Remove redundant check in CQE recovery flow of tx reporter (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix error flow of CQE recovery on tx reporter (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix false negative indication on tx reporter CQE recovery (Alaa Hleihel) [1724336] - [netdrv] mlx5e: kTLS, Fix tisn field placement (Alaa Hleihel) [1724336] - [netdrv] mlx5e: kTLS, Fix tisn field name (Alaa Hleihel) [1724336] - [netdrv] mlx5e: kTLS, Fix progress params context WQE layout (Alaa Hleihel) [1724336] - [kernel] mlx5: kTLS, Fix wrong TIS opmod constants (Alaa Hleihel) [1724336] - [netdrv] mlx5: crypto, Fix wrong offset in encryption key command (Alaa Hleihel) [1724336] - [netdrv] mlx5e: ethtool, Avoid setting speed to 56GBASE when autoneg off (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Only support tx/rx pause setting for port owner (Alaa Hleihel) [1724336] - [netdrv] mlx5: Support inner header match criteria for non decap flow action (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Use flow keys dissector to parse packets for ARFS (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Check the correct variable in error handling code (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Fix implicit MR release flow (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5e: always initialize frag->last_in_page (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Release locks during notifier unregister (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix MR registration flow to use UMR properly (Alaa Hleihel) [1764207 1724336] - [netdrv] mlx5e: kTLS, Call WARN_ONCE on netdev mismatch (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Prevent encap flow counter update async to user query (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix matching of speed to PRM link modes (Alaa Hleihel) [1724336] - [kernel] mlx5: Fix modify_cq_in alignment (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add missing RDMA_RX capabilities (Alaa Hleihel) [1724336] - [netdrv] mlx5: Use reversed order when unregister devices (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix RSS Toeplitz setup to be aligned with the HW specification (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Prevent concurrent MR updates during invalidation (Alaa Hleihel) [1724308 1724336] - [infiniband] ib/mlx5: Fix clean_mr() to work in the expected order (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Move MRs to a kernel PD when freeing them to the MR cache (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Use direct mkey destroy command upon UMR unreg failure (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix unreg_umr to ignore the mkey state (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Replace kfree with kvfree (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Replace kfree with kvfree (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Rely on filter_dev instead of dissector keys for tunnels (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Verify encapsulation is supported (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Convert single case statement switch statements into if statements (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Reduce ingress acl modify metadata stack usage (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Fix compilation error in TLS code (Alaa Hleihel) [1724336] - [netdrv] mlx5e: IPoIB, Add error path in mlx5_rdma_setup_rn (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix error flow in tx reporter diagnose (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix return value from timeout recover function (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Rx, Fix checksum calculation for new hardware (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix port tunnel GRE entropy control (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Fix default encap mode (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Return in default case statement in tx_post_resync_params (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Register devlink ports for physical link, PCI PF, VFs (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Set RDMA DIM to be enabled by default (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Report correctly tag matching rendezvous capability (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Implement VHCA tunnel mechanism in DEVX (Alaa Hleihel) [1724307 1724336] - [kernel] mlx5: Introduce VHCA tunnel device capability (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Add kTLS TX HW offload support (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Introduce a fenced NOP WQE posting function (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Re-work TIS creation functions (Alaa Hleihel) [1760285 1724336] - [netdrv] mlx5e: Tx, Unconstify SQ stop room (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Don't implicitly assume SKB-less wqe has one WQEBB (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Make SQ WQE fetch function type generic (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Enforce L4 inline copy when needed (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Move helper functions to a new txrx datapath header (Alaa Hleihel) [1724336] - [netdrv] mlx5: Accel, Add core TLS support for the Connect-X family (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add crypto library to support create/destroy encryption key (Alaa Hleihel) [1724336] - [netdrv] mlx5: Kconfig, Better organize compilation flags (Alaa Hleihel) [1724336] - [netdrv] mlx5: Accel, Expose accel wrapper for IPsec FPGA function (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Add counter_alloc_stats() and counter_update_stats() support (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Support statistic q counter configuration (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Add counter set id as a parameter for mlx5_ib_query_q_counters() (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Support set qp counter (Alaa Hleihel) [1724336] - [netdrv] mlx5: Added devlink info callback (Alaa Hleihel) [1724336] - [netdrv] mlx5: Added fw version query command (Alaa Hleihel) [1724336] - [kernel] mlx5: Add rts2rts_qp_counters_set_id field in hca cap (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Use proper allocation API to get zeroed memory (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: DEVX cleanup mdev (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Add DEVX support for CQ events (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Implement DEVX dispatching event (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Enable subscription for device events over DEVX (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Register DEVX with mlx5_core to get async events (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_EVENT_FD (Alaa Hleihel) [1724307 1724336] - [kernel] mlx5: Properly name the generic WQE control field (Alaa Hleihel) [1724336] - [kernel] mlx5: Introduce TLS TX offload hardware bits and structures (Alaa Hleihel) [1724336] - [netdrv] mlx5: Refactor mlx5_esw_query_functions for modularity (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch prepare functions change handler to be modular (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Introduce and use mlx5_eswitch_get_total_vports() (Alaa Hleihel) [1724327 1724336] - [infiniband] ib/mlx5: Fixed reporting counters on 2nd port for Dual port RoCE (Alaa Hleihel) [1724336] - [kernel] mlx5: Expose device definitions for object events (Alaa Hleihel) [1724336] - [netdrv] mlx5: Report EQE data upon CQ completion (Alaa Hleihel) [1724336] - [netdrv] mlx5: Report a CQ error event only when a handler was set (Alaa Hleihel) [1724336] - [netdrv] mlx5: mlx5_core_create_cq() enhancements (Alaa Hleihel) [1724336] - [netdrv] mlx5: Expose the API to register for ANY event (Alaa Hleihel) [1724336] - [netdrv] mlx5: Use event mask based on device capabilities (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Fix mlx5_core_destroy_cq() error flow (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Handle UC address change in switchdev mode (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Consider host PF for inline mode and vlan pop (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Use iterator for vlan and min-inline setups (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Reg/unreg function changed event at correct stage (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Consolidate eswitch function number of VFs (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Refactor eswitch SR-IOV interface (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Handle host PF vport mac/guid for ECPF (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Use correct flags when configuring vlan (Alaa Hleihel) [1724336] - [netdrv] mlx5: Reduce dependency on enabled_vfs counter and num_vfs (Alaa Hleihel) [1724336] - [netdrv] mlx5: Don't handle VF func change if host PF is disabled (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Limit scope of mlx5_get_next_phys_dev() to PCI PF devices (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move pci status reg access mutex to mlx5_pci_init (Alaa Hleihel) [1724336] - [kernel] mlx5: Rename mlx5_pci_dev_type to mlx5_coredev_type (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Cleanup rep when doing unload (Alaa Hleihel) [1724336] - [infiniband] {ib, net}/mlx5: E-Switch, Use index of rep for vport to IB port mapping (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Use vport index when init rep (Alaa Hleihel) [1724327 1724336] - [kernel] mlx5: Added MCQI and MCQS registers' description to ifc (Alaa Hleihel) [1724336] - [kernel] mlx5: Add hardware definitions for sub functions (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Disallow tc redirect offload cases we don't support (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Expose same physical switch_id for all representors (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Don't refresh TIRs when updating representor SQs (Alaa Hleihel) [1724336] - [netdrv] mlx5e: reduce stack usage in mlx5_eswitch_termtbl_create (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Set drvinfo in generic manner (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Correct phys_port_name for PF port (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Report netdevice MPLS features (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Move to HW checksumming advertising (Alaa Hleihel) [1724336] - [netdrv] mlx5: MPFS, Allow adding the same MAC more than once (Alaa Hleihel) [1724336] - [netdrv] mlx5: MPFS, Cleanup add MAC flow (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Move queue param structs to en/params.h (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Encapsulate open/close queues into a function (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Consider XSK in XDP MTU limit calculation (Alaa Hleihel) [1724336] - [netdrv] mlx5e: XDP_TX from UMEM support (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Share the XDP SQ for XDP_TX between RQs (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Refactor struct mlx5e_xdp_info (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Allow ICO SQ to be used by multiple RQs (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Calculate linear RX frag size considering XSK (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Replace deprecated PCI_DMA_TODEVICE (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Attach/detach XDP program safely (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Enable vport metadata matching if firmware supports it (Alaa Hleihel) [1724327 1724336] - [infiniband] rdma/mlx5: Add vport metadata matching for IB representors (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Add match on vport metadata for rule in slow path (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Pass metadata from FDB to eswitch manager (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Add query and modify esw vport context functions (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Add match on vport metadata for rule in fast path (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Specifying known origin of packets matching the flow (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Tag packet with vport number in VF vports and uplink ingress ACLs (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Add flow context for flow tag (Alaa Hleihel) [1724336] - [netdrv] mlx5: Introduce a helper API to check VF vport (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Support allocating modify header context from ingress ACL (Alaa Hleihel) [1724336] - [netdrv] mlx5: Get vport ACL namespace by vport index (Alaa Hleihel) [1724336] - [kernel] mlx5: Introduce vport metadata matching bits and enum constants (Alaa Hleihel) [1724336] - [netdrv] mlx5: Convert mkey_table to XArray (Alaa Hleihel) [1724308 1724307 1724336] - [infiniband] rdma/mlx5: Refactor MR descriptors allocation (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Use PA mapping for PI handover (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Improve PI handover performance (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Remove unused IB_WR_REG_SIG_MR code (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Enable decap and packet reformat on FDB (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Consider eswitch encap mode (Alaa Hleihel) [1724336] - [netdrv] mlx5: add missing void argument to function mlx5_devlink_alloc (Alaa Hleihel) [1724336] - [kernel] mlx5: Expose eswitch encap mode (Alaa Hleihel) [1724336] - [netdrv] mlx5: Declare more strictly devlink encap mode (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: use indirect calls wrapper for the rx packet handler (Alaa Hleihel) [1724336] - [netdrv] mlx5e: use indirect calls wrapper for skb allocation (Alaa Hleihel) [1724336] - [netdrv] mlx5: Report devlink health on FW fatal issues (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add support for FW fatal reporter dump (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add fw fatal devlink_health_reporter (Alaa Hleihel) [1724336] - [netdrv] mlx5: Report devlink health on FW issues (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add support for FW reporter dump (Alaa Hleihel) [1724336] - [netdrv] mlx5: Create FW devlink_health_reporter (Alaa Hleihel) [1724336] - [netdrv] mlx5: Issue SW reset on FW assert (Alaa Hleihel) [1724336] - [netdrv] mlx5: Control CR-space access by different PFs (Alaa Hleihel) [1724336] - [netdrv] mlx5: Handle SW reset of FW in error flow (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add Crdump support (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add Vendor Specific Capability access gateway (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move all devlink related functions calls to devlink.c (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add EQ enable/disable API (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Use a single IRQ for all async EQs (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Rename mlx5_irq_info to mlx5_irq (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move all IRQ logic to pci_irq.c (Alaa Hleihel) [1724336] - [netdrv] mlx5: Generalize IRQ interface to work with irq_table (Alaa Hleihel) [1724336] - [netdrv] mlx5: Separate IRQ table creation from EQ table creation (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move IRQ affinity set to IRQ allocation phase (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move IRQ rmap creation to IRQ allocation phase (Alaa Hleihel) [1724336] - [netdrv] mlx5: Separate IRQ data from EQ table data (Alaa Hleihel) [1724336] - [netdrv] mlx5: Separate IRQ request/free from EQ life cycle (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Change interrupt handler to call chain notifier (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Introduce EQ polling budget (Alaa Hleihel) [1724336] - [netdrv] mlx5: Support querying max VFs from device (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Return raw output for query esw functions (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Handle representors creation in handler context (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Increase wait time for fw initialization (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move firmware flash implementation to devlink (Alaa Hleihel) [1724336] - [netdrv] mlx5e: TX, Improve performance under GSO workload (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Use termination table for VLAN push actions (Alaa Hleihel) [1722647 1724327 1724336] - [netdrv] mlx5e: Geneve, Add support for encap/decap flows offload (Alaa Hleihel) [1725582 1724336] - [netdrv] mlx5e: Rearrange tc tunnel code in a modular way (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Geneve, Keep tunnel info as pointer to the original struct (Alaa Hleihel) [1724336] - [netdrv] mlx5: Geneve, Manage Geneve TLV options (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Enable setting multiple match criteria for flow group (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Allow matching only enc_key_id/enc_dst_port for decapsulation action (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Generalize vport type in vport representor (Alaa Hleihel) [1724336] - [netdrv] {ib, net}/mlx5: Constify rep ops functions pointers (Alaa Hleihel) [1724327 1724336] - [netdrv] {ib, net}/mlx5: No need to typecast from void* to mlx5_ib_dev* (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Honor eswitch functions changed event cap (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Replace host_params event with functions_changed event (Alaa Hleihel) [1724327 1724336] - [kernel] mlx5: Introduce termination table bits (Alaa Hleihel) [1722647 1724336] - [kernel] mlx5: Add core dump register access HW bits (Alaa Hleihel) [1724336] - [netdrv] mlx5: potential error pointer dereference in error handling (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Support tagged tunnel over bond (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Avoid detaching non-existing netdev under switchdev mode (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Fix source port matching in fdb peer flow rule (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Replace reciprocal_scale in TX select queue function (Alaa Hleihel) [1724335] - [netdrv] mlx5: Avoid reloading already removed devices (Alaa Hleihel) [1724335] - [netdrv] mlx5: Update pci error handler entries and command translation (Alaa Hleihel) [1724335] - [infiniband] mlx5: avoid 64-bit division (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Disable rxhash when CQE compress is enabled (Alaa Hleihel) [1724335] - [netdrv] mlx5e: restrict the real_dev of vlan device is the same as uplink device (Alaa Hleihel) [1724335] - [netdrv] mlx5: Allocate root ns memory using kzalloc to match kfree (Alaa Hleihel) [1724335] - [netdrv] mlx5: Avoid double free in fs init error unwinding path (Alaa Hleihel) [1724335] - [netdrv] mlx5: Avoid double free of root ns in the error flow path (Alaa Hleihel) [1724335] - [netdrv] mlx5: Fix error handling in mlx5_load() (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Fix possible modify header actions memory leak (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Fix no rewrite fields with the same match (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Additional check for flow destination comparison (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Add missing ethtool driver info for representors (Alaa Hleihel) [1766306 1724335] - [netdrv] mlx5e: Fix number of vports for ingress ACL configuration (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Fix ethtool rxfh commands when CONFIG_MLX5_EN_RXNFC is disabled (Alaa Hleihel) [1724335] - [netdrv] mlx5: Fix peer pf disable hca command (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Correct type to u16 for vport_num and int for vport_index (Alaa Hleihel) [1724335] - [netdrv] mlx5: Add meaningful return codes to status_to_err function (Alaa Hleihel) [1724335] - [netdrv] mlx5: Imply MLXFW in mlx5_core (Alaa Hleihel) [1724335] - [netdrv] mlx5: Set completion EQs as shared resources (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Verify DEVX general object type correctly (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Remove MAYEXEC flag (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Device resource control for privileged DEVX user (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Add steering SW ICM device memory type (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Warn on allocated MEMIC buffers during cleanup (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Support device memory type attribute (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Add missing XRC options to QP optional params mask (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Use atomic rep state to serialize state change (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Fix the check of legal vport (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Use getter to access all vport array (Alaa Hleihel) [1724335] - [netdrv] mlx5: Use available mlx5_vport struct (Alaa Hleihel) [1724335] - [netdrv] mlx5: Reuse mlx5_esw_for_each_vf_vport macro in two files (Alaa Hleihel) [1724335] - [netdrv] mlx5: Remove unused mlx5_query_nic_vport_vlans (Alaa Hleihel) [1724335] - [netdrv] mlx5e: remove meaningless CFLAGS_tracepoint.o (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Put the common XDP code into a function (Alaa Hleihel) [1724335] - [netdrv] mlx5e: ethtool, Add support for EEPROM high pages query (Alaa Hleihel) [1724322 1724335] - [netdrv] mlx5e: Return error when trying to insert existing flower filter (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Replace TC VLAN pop with VLAN 0 rewrite in prio tag mode (Alaa Hleihel) [1724335] - [netdrv] mlx5e: ACLs for priority tag mode (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Turn on HW tunnel offload in all TIRs (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Take common TIR context settings into a function (Alaa Hleihel) [1724335] - [kernel] mlx5: Fix broken hca cap offset (Alaa Hleihel) [1725554 1724335] - [kernel] mlx5: Geneve, Add flow table capabilities for Geneve decap with TLV options (Alaa Hleihel) [1725554 1724335] - [kernel] mlx5: Geneve, Add basic Geneve encap/decap flow table capabilities (Alaa Hleihel) [1725554 1724335] - [netdrv] mlx5: Eswitch, enable RoCE loopback traffic (Alaa Hleihel) [1724335] - [netdrv] mlx5: Add new miss flow table action (Alaa Hleihel) [1724335] - [netdrv] mlx5: Add support in RDMA RX steering (Alaa Hleihel) [1724335] - [netdrv] mlx5: Pass flow steering objects to fs_cmd (Alaa Hleihel) [1724335] - [netdrv] mlx5: Enable general events on all interfaces (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Restrict 'DELAY_DROP_TIMEOUT' subtype to Ethernet interfaces (Alaa Hleihel) [1724335] - [netdrv] mlx5: Separate and generalize dma device from pci device (Alaa Hleihel) [1724335] - [netdrv] mlx5: Get rid of storing copy of device name (Alaa Hleihel) [1724335] - [kernel] mlx5: e-switch: Introduce prio tag mode (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Expose TIR ICM address to user space (Alaa Hleihel) [1724335] - [netdrv] mlx5: Introduce new TIR creation core API (Alaa Hleihel) [1724335] - [kernel] mlx5: Expose TIR ICM address in command outbox (Alaa Hleihel) [1724335] - [kernel] mlx5: Expose SW ICM related device memory capabilities (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Use #define for the WQE wait timeout constant (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Remove unused rx_page_reuse stat (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Take HW interrupt trigger into a function (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Remove unused parameter (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Add an underflow warning comment (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Move parameter calculation functions to en/params.c (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Report mlx5e_xdp_set errors (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Remove unused parameter (Alaa Hleihel) [1724335] - [netdrv] mlx5e: XDP, Inline small packets into the TX MPWQE in XDP xmit flow (Alaa Hleihel) [1724335] - [netdrv] mlx5e: XDP, Add TX MPWQE session counter (Alaa Hleihel) [1724335] - [netdrv] mlx5e: XDP, Enhance RQ indication for XDP redirect flush (Alaa Hleihel) [1724335] - [netdrv] mlx5e: XDP, Fix shifted flag index in RQ bitmap (Alaa Hleihel) [1724335] - [netdrv] mlx5e: RX, Support multiple outstanding UMR posts (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Don't create IB representors when in multiport RoCE mode (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Initialize roce port info before multiport master init (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Allow DEVX and raw creation flow on reps (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Add query e-switch vport context to devx white list (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Allow inserting a steering rule to the FDB (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Create flow table with max size supported (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Access the prio bypass inside the FDB flow table namespace (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Check for error return in flow_rule rather than err (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Remove VF representor profile (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move to single device multiport ports in switchdev mode (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move SMI caps logic (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Refactor netdev affinity code (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move default representors SQ steering to rule to modify QP (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move rep into port struct (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Use correct size for device resources (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move ports allocation to outside of INIT stage (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Free IB device on remove (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move netdev info into the port struct (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, add a new prio to be used by the RDMA side (Alaa Hleihel) [1724335] - [kernel] mlx5: E-Switch, don't use hardcoded values for FDB prios (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Remove references to uboject->context (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Unify logic of MTU boundaries (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Obsolete param field holding a constant value (Alaa Hleihel) [1724335] - [netdrv] mlx5: A write memory barrier is sufficient in EQ ci update (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Do not rewrite fields with the same match (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Offload TC e-switch rules with ingress VLAN device (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Offload TC e-switch rules with egress VLAN device (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Allow VLAN rewrite of prio field with the same match (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Deny VLAN rewrite if there is no VLAN header match (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Use helpers to get headers criteria and value pointers (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Return -EOPNOTSUPP when attempting to offload an unsupported action (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Deletes unnecessary setting of esw_attr->parse_attr (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Remove 'parse_attr' argument in parse_tc_fdb_actions() (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Make the log friendly when decapsulation offload not supported (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Fix double mutex initialization (Alaa Hleihel) [1724335] - [netdrv] mlx5: Handle event of power detection in the PCIE slot (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Cleanup WQE page fault handler (Alaa Hleihel) [1724335] - [kernel] mlx5: Expose MPEIN (Management PCIE INfo) register layout (Alaa Hleihel) [1724335] - [netdrv] mlx5: Add rate limit print macros (Alaa Hleihel) [1724335] - [infiniband] mlx5: Add explicit bar address field (Alaa Hleihel) [1724335] - [netdrv] mlx5: Replace dev_err/warn/info by mlx5_core_err/warn/info (Alaa Hleihel) [1724335] - [netdrv] mlx5: Use dev->priv.name instead of dev_name (Alaa Hleihel) [1724335] - [netdrv] mlx5: Make mlx5_core messages independent from mdev->pdev (Alaa Hleihel) [1724335] - [netdrv] mlx5: Break load_one into three stages (Alaa Hleihel) [1724335] - [netdrv] mlx5: Function setup/teardown procedures (Alaa Hleihel) [1724335] - [netdrv] mlx5: Move health and page alloc init to mdev_init (Alaa Hleihel) [1724335] - [netdrv] mlx5: Split mdev init and pci init (Alaa Hleihel) [1724335] - [netdrv] mlx5: Remove redundant init functions parameter (Alaa Hleihel) [1724335] - [kernel] mlx5: Remove spinlock support from mlx5_write64 (Alaa Hleihel) [1724335] - [kernel] mlx5: Remove unused MLX5_*_DOORBELL_LOCK macros (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Declare devx_async_cmd_event_fops static (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Compare only index part of a memory window rkey (Alaa Hleihel) [1724335] - [infiniband] mlx5: Convert mlx5_srq_table to XArray (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Replace TC VLAN pop and push actions with VLAN modify (Alaa Hleihel) [1722646 1724335] - [netdrv] mlx5e: Support VLAN modify action (Alaa Hleihel) [1722646 1724335] - [netdrv] mlx5e: Add VLAN ID rewrite fields (Alaa Hleihel) [1722646 1724335] - [netdrv] mlx5e: TX, Add geneve tunnel stateless offload support (Alaa Hleihel) [1722661 1724335] - [netdrv] mlx5e: Take SW parser code to a separate function (Alaa Hleihel) [1722661 1724335] - [netdrv] mlx5e: Fix port buffer function documentation format (Alaa Hleihel) [1724335] - [netdrv] mlx5: Simplify mlx5_sriov_is_enabled() by using pci core API (Alaa Hleihel) [1724335] - [netdrv] mlx5: Rename total_vfs to total_vports (Alaa Hleihel) [1724335] - [netdrv] mlx5: Simplify sriov enable/disable flow (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Use rdma_user_map_io for mapping BAR pages (Alaa Hleihel) [1724333] - [netdrv] mlx5e: ethtool, Remove unsupported SFP EEPROM high pages query (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Switch to Toeplitz RSS hash by default (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Protect against non-uplink representor for encap (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Rx, Fixup skb checksum for packets with tail padding (Alaa Hleihel) [1724333] - [netdrv] mlx5e: XDP, Avoid checksum complete when XDP prog is loaded (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Use fail-safe channels reopen in tx reporter recover (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Skip un-needed tx recover if interface state is down (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Update xon formula (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Update xoff formula (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, fix syndrome (0x678139) when turn on vepa (Alaa Hleihel) [1722659 1724333] - [netdrv] mlx5: E-Switch, Protect from invalid memory access in offload fdb table (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Fix access to invalid memory when toggling esw modes (Alaa Hleihel) [1722659 1724333] - [netdrv] mlx5e: Add a lock on tir list (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Fix error handling when refreshing TIRs (Alaa Hleihel) [1724333] - [netdrv] mlx5: Decrease default mr cache size (Alaa Hleihel) [1748518 1724333] - [infiniband] ib/mlx5: Reset access mask when looping inside page fault handler (Alaa Hleihel) [1724333] - [netdrv] mlx5: Avoid panic when setting vport rate (Alaa Hleihel) [1724333] - [netdrv] mlx5: Avoid panic when setting vport mac, getting vport config (Alaa Hleihel) [1724333] - [netdrv] mlx5e: IPoIB, Fix RX checksum statistics update (Alaa Hleihel) [1724333] - [netdrv] mlx5: Remove redundant lag function to get pf num (Alaa Hleihel) [1724333] - [netdrv] mlx5: ODP support for XRC transport is not enabled by default in FW (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Update tx reporter status in case channels were successfully opened (Alaa Hleihel) [1722274 1724333] - [netdrv] mellanox: Switch to bitmap_zalloc() (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Set correct write permissions for implicit ODP MR (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Declare mlx5e_tx_reporter_recover_from_ctx as static (Alaa Hleihel) [1724333] - [netdrv] mlx5: Support ndo bridge_setlink and getlink (Alaa Hleihel) [1722659 1724333] - [netdrv] mlx5: E-Switch, Add support for VEPA in legacy mode (Alaa Hleihel) [1722659 1724333] - [netdrv] mlx5e: Fix mlx5e_tx_reporter_create return value (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Fix return status of TX reporter timeout recover (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Re-add support for TX timeout when TX reporter is not valid (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Fix warn print in case of TX reporter creation failure (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Disable esw manager vport correctly (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Fix the warning on vport index out of range (Alaa Hleihel) [1724333] - [netdrv] mlx5: Delete unused FPGA QPN variable (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Wrap the open and apply of channels in one fail-safe function (Alaa Hleihel) [1724333] - [netdrv] mlx5: Factor out HCA capabilities functions (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Allow transition to offloads mode for ECPF (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Load/unload VF reps according to event from host PF (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Consider ECPF vport depends on eswitch ownership (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Assign a different position for uplink rep and vport (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Centralize repersentor reg/unreg to eswitch driver (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Support load/unload reps of specific vport types (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Add state to eswitch vport representors (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Use getter and iterator to access vport/rep (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Split VF and special vports for offloads mode (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Refactor offloads flow steering init/cleanup (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Properly refer to host PF vport as other vport (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Properly refer to the esw manager vport (Alaa Hleihel) [1724333] - [netdrv] mlx5: Correctly set LAG mode for ECPF (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Avoid magic numbers when initializing offloads mode (Alaa Hleihel) [1724333] - [kernel] mlx5: Relocate vport macros to the vport header file (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Normalize the name of uplink vport number (Alaa Hleihel) [1724333] - [kernel] mlx5: Provide an alternative VF upper bound for ECPF (Alaa Hleihel) [1724333] - [kernel] mlx5: Add host params change event (Alaa Hleihel) [1724333] - [kernel] mlx5: Add query host params command (Alaa Hleihel) [1724333] - [netdrv] mlx5: Update enable HCA dependency (Alaa Hleihel) [1724333] - [netdrv] mlx5: Introduce Mellanox SmartNIC and modify page management logic (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Use unified register/load function for uplink and VF vports (Alaa Hleihel) [1724333] - [netdrv] mlx5: Use consistent vport num argument type (Alaa Hleihel) [1724333] - [kernel] mlx5: Use void pointer as the type in address_of macro (Alaa Hleihel) [1724333] - [netdrv] mlx5: Align ODP capability function with netdev coding style (Alaa Hleihel) [1724333] - [netdrv] mlx5: use RCU lock in mlx5_eq_cq_get() (Alaa Hleihel) [1724333] - [infiniband] rdma/mlx5: Fix memory leak in case we fail to add an IB device (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Simplify WQE count power of two check (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Add tx timeout support for mlx5e tx reporter (Alaa Hleihel) [1722274 1724333] - [netdrv] mlx5e: Add tx reporter support (Alaa Hleihel) [1722274 1724333] - [infiniband] ib/mlx5: Advertise XRC ODP support (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Advertise SRQ ODP support for supported transports (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Add ODP SRQ support (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Let read user wqe also from SRQ buffer (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Add XRC initiator ODP support (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Clean mlx5_ib_mr_responder_pfault_handler() signature (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Remove useless check in ODP handler (Alaa Hleihel) [1724333] - [netdrv] mlx5: Set ODP SRQ support in firmware (Alaa Hleihel) [1724333] - [kernel] mlx5: Add XRC transport to ODP device capabilities layout (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Implement DEVX hot unplug for async command FD (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Implement the file ops of DEVX async command FD (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Reuse fold sw stats in representors (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Present the representors SW stats when state is not opened (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Separate between ethtool and netdev software stats folding (Alaa Hleihel) [1724333] - [netdrv] mlx5: Add trace points for flow tables create/destroy (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Expand XPS cpumask to cover all online cpus (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Take CQ decompress fields into a separate structure (Alaa Hleihel) [1724333] - [netdrv] mlx5e: RX, Make sure packet header does not cross page boundary (Alaa Hleihel) [1724333] - [infiniband] mlx5: no need to check return value of debugfs_create functions (Alaa Hleihel) [1724333] - [netdrv] mlx5: Add pci AtomicOps request (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Don't override existing ip_protocol (Alaa Hleihel) [1724333] - [infiniband] rdma/mlx5: Replace kzalloc with kcalloc (Alaa Hleihel) [1724333] - [documentation] netfilter: doc: Add nf_tables part in tproxy.txt (Phil Sutter) [1762977] - [net] netfilter: nft_socket: fix erroneous socket assignment (Phil Sutter) [1762977] - [net] netfilter: nft_socket: Break evaluation if no socket found (Phil Sutter) [1762977] - [net] netfilter: nft_tproxy: Fix missing-braces warning (Phil Sutter) [1762977] - [net] netfilter: nft_tproxy: Add missing config check (Phil Sutter) [1762977] - [net] netfilter: nf_tables: Add native tproxy support (Phil Sutter) [1762977] - [net] netfilter: nft_tproxy: Move nf_tproxy_assign_sock() to nf_tproxy.h (Phil Sutter) [1762977] - [net] sched: ensure opts_len <= IP_TUNNEL_OPTS_MAX in act_tunnel_key (Ivan Vecera) [1774706] - [net] ipmr: Fix skb headroom in ipmr_get_route(). (Guillaume Nault) [1773692] - [net] netns: fix GFP flags in rtnl_net_notifyid() (Guillaume Nault) [1763661] - [net] netns: fix NLM_F_ECHO mechanism for RTM_NEWNSID (Guillaume Nault) [1763661] - [netdrv] ptp: ptp_clock: Publish scaled_ppm_to_ppb (Ivan Vecera) [1772085] - [kernel] rh_features: move rh_features entry to sys/kernel (Hangbin Liu) [1660583] - [net] netfilter: nf_tables: Make nft_meta expression more robust (Phil Sutter) [1725169] - [tools] selftests/tls: add test for concurrent recv and send (Sabrina Dubroca) [1760375] - [net] tls: add a TX lock (Sabrina Dubroca) [1760375] - [net] tls: don't pay attention to sk_write_pending when pushing partial records (Sabrina Dubroca) [1760375] - [net] tls: fix sk_msg trim on fallback to copy mode (Sabrina Dubroca) [1760375] - [net] tls: align non temporal copy to cache lines (Sabrina Dubroca) [1760375] - [net] tls: remove the record tail optimization (Sabrina Dubroca) [1760375] - [net] tls: use RCU for the adder to the offload record list (Sabrina Dubroca) [1760375] - [net] tls: unref frags in order (Sabrina Dubroca) [1760375] - [net] tcp: ulp: fix possible crash in tcp_diag_get_aux_size() (Sabrina Dubroca) [1760375] - [net] tls: dedup the record cleanup (Sabrina Dubroca) [1760375] - [net] tls: clean up the number of #ifdefs for CONFIG_TLS_DEVICE (Sabrina Dubroca) [1760375] - [net] tls: narrow down the critical area of device_offload_lock (Sabrina Dubroca) [1760375] - [net] tls: don't jump to return (Sabrina Dubroca) [1760375] - [net] tls: export protocol version, cipher, tx_conf/rx_conf to socket diag (Sabrina Dubroca) [1760375] - [net] tcp: ulp: add functions to dump ulp-specific information (Sabrina Dubroca) [1760375] - [net] tls: use RCU protection on icsk->icsk_ulp_data (Sabrina Dubroca) [1760375] - [net] core/skmsg: Delete an unnecessary check before the function call "consume_skb" (Sabrina Dubroca) [1760375] - [net] tls, fix sk_write_space NULL write when tx disabled (Sabrina Dubroca) [1760375] - [net] tls: swap sk_write_space on close (Sabrina Dubroca) [1760375] - [net] tls: prevent skb_orphan() from leaking TLS plain text with offload (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add a litmus test for the socket reuse through shutdown (Sabrina Dubroca) [1760375] - [net] tls: partially revert fix transition through disconnect with close (Sabrina Dubroca) [1760375] - [documentation] TLS: fix stat counters description (Sabrina Dubroca) [1760375] - [tools] selftests/tls: fix TLS tests with CONFIG_TLS=n (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add shutdown tests (Sabrina Dubroca) [1760375] - [tools] selftests/tls: close the socket with open record (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add a bidirectional test (Sabrina Dubroca) [1760375] - [tools] selftests/tls: test error codes around TLS ULP installation (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add a test for ULP but no keys (Sabrina Dubroca) [1760375] - [net] bpf: sockmap/tls, close can race with map free (Sabrina Dubroca) [1760375] - [net] tls: fix transition through disconnect with close (Sabrina Dubroca) [1760375] - [net] tls: remove sock unlock/lock around strp_done() (Sabrina Dubroca) [1760375] - [net] tls: remove close callback sock unlock/lock around TX work flush (Sabrina Dubroca) [1760375] - [net] tls: don't call tls_sk_proto_close for hw record offload (Sabrina Dubroca) [1760375] - [net] tls: don't arm strparser immediately in tls_set_sw_offload() (Sabrina Dubroca) [1760375] - [net] tls: add missing prot info init (Sabrina Dubroca) [1760375] - [netdrv] mlx5: Return -EINVAL when WARN_ON_ONCE triggers in mlx5e_tls_resync(). (Sabrina Dubroca) [1760375] - [net] tls: don't clear TX resync flag on error (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add test for poll() with data in TLS ULP (Sabrina Dubroca) [1760375] - [net] tls: add kernel-driven resync mechanism for TX (Sabrina Dubroca) [1760375] - [net] tls: generalize the resync callback (Sabrina Dubroca) [1760375] - [net] tls: add kernel-driven TLS RX resync (Sabrina Dubroca) [1760375] - [net] tls: rename handle_device_resync() (Sabrina Dubroca) [1760375] - [net] tls: pass record number as a byte array (Sabrina Dubroca) [1760375] - [net] tls: simplify seq calculation in handle_device_resync() (Sabrina Dubroca) [1760375] - [net] tls: export TLS per skb encryption (Sabrina Dubroca) [1760375] - [include] net/tls: simplify driver context retrieval (Sabrina Dubroca) [1760375] - [include] net/tls: split the TLS_DRIVER_STATE_SIZE and bump TX to 16 bytes (Sabrina Dubroca) [1760375] - [net] tls: don't pass version to tls_advance_record_sn() (Sabrina Dubroca) [1760375] - [include] net/tls: reorganize struct tls_context (Sabrina Dubroca) [1760375] - [net] tls: use version from prot (Sabrina Dubroca) [1760375] - [net] tls: don't re-check msg decrypted status in tls_device_decrypted() (Sabrina Dubroca) [1760375] - [net] tls: don't look for decrypted frames on non-offloaded sockets (Sabrina Dubroca) [1760375] - [net] tls: remove false positive warning (Sabrina Dubroca) [1760375] - [net] tls: check return values from skb_copy_bits() and skb_store_bits() (Sabrina Dubroca) [1760375] - [net] tls: fully initialize the msg wrapper skb (Sabrina Dubroca) [1760375] - [net] tls: replace the sleeping lock around RX resync with a bit lock (Sabrina Dubroca) [1760375] - [net] revert "net/tls: avoid NULL-deref on resync during device removal" (Sabrina Dubroca) [1760375] - [net] tls: avoid NULL-deref on resync during device removal (Sabrina Dubroca) [1760375] - [net] tls: Add support of AES128-CCM based ciphers (Sabrina Dubroca) [1760375] - [documentation] add TLS offload documentation (Sabrina Dubroca) [1760375] - [documentation] tls: RSTify the ktls documentation (Sabrina Dubroca) [1760375] - [net] xdp: increase kABI version (Jiri Benc) [1749817] - [tools] selftests: bpf: disable test_seg6_loop test (Jiri Benc) [1749817] - [tools] selftests: bpf: fix test_tc_tunnel hanging (Jiri Benc) [1749817] - [tools] selftests: bpf: xdping is not meant to be run standalone (Jiri Benc) [1749817] - [tools] libbpf: Use implicit XSKMAP lookup from AF_XDP XDP program (Jiri Benc) [1749817] - [lib] bpf, testing: Introduce 'gso_linear_no_head_frag' skb_segment test (Jiri Benc) [1749817] - [lib] bpf, testing: Refactor test_skb_segment() for testing skb_segment() on different skbs (Jiri Benc) [1749817] - [tools] selftests/bpf: test_progs: Don't leak server_fd in tcp_rtt (Jiri Benc) [1749817] - [tools] selftests/bpf: test_progs: fix client/server race in tcp_rtt (Jiri Benc) [1749817] - [net] flow_dissector: Fix potential use-after-free on BPF_PROG_DETACH (Jiri Benc) [1749817] - [tools] selftests/bpf: fix race in test_tcp_rtt test (Jiri Benc) [1749817] - [net] xdp: unpin xdp umem pages in error path (Jiri Benc) [1749817] - [net] sock: make cookie generation global instead of per netns (Jiri Benc) [1749817] - [net] bpfilter: add "WITH Linux-syscall-note" to SPDX tag of uapi headers (Jiri Benc) [1749817] - [net] bpf: sockmap, only create entry if ulp is not already enabled (Jiri Benc) [1749817] - [net] bpf: sockmap, synchronize_rcu before free'ing map (Jiri Benc) [1749817] - [net] bpf: sockmap, sock_map_delete needs to use xchg (Jiri Benc) [1749817] - [net] core: page_pool: add user refcnt and reintroduce page_pool_destroy (Jiri Benc) [1749817] - [net] bpf: avoid unused variable warning in tcp_bpf_rtt() (Jiri Benc) [1749817] - [net] xdp: fix potential deadlock on socket mutex (Jiri Benc) [1749817] - [net] bpfilter: print umh messages to /dev/kmsg (Jiri Benc) [1749817] - [net] xdp: fix possible cq entry leak (Jiri Benc) [1749817] - [net] xdp: fix race on generic receive path (Jiri Benc) [1749817] - [samples] bpf: fix tcp_bpf.readme detach command (Jiri Benc) [1749817] - [samples] bpf: add sample program that periodically dumps TCP stats (Jiri Benc) [1749817] - [tools] selftests/bpf: test BPF_SOCK_OPS_RTT_CB (Jiri Benc) [1749817] - [tools] bpf/tools: sync bpf.h (Jiri Benc) [1749817] - [net] bpf: add icsk_retransmits to bpf_tcp_sock (Jiri Benc) [1749817] - [net] bpf: add dsack_dups/delivered{, _ce} to bpf_tcp_sock (Jiri Benc) [1749817] - [net] bpf: split shared bpf_tcp_sock and bpf_sock_ops implementation (Jiri Benc) [1749817] - [net] bpf: add BPF_CGROUP_SOCK_OPS callback that is executed on every RTT (Jiri Benc) [1749817] - [net] init/kconfig: add CONFIG_CC_CAN_LINK (Jiri Benc) [1749817] - [net] page_pool: add helper function for retrieving dma direction (Jiri Benc) [1749817] - [net] xdp: fix hang while unregistering device bound to xdp socket (Jiri Benc) [1749817] - [net] xdp: hold device for umem regardless of zero-copy mode (Jiri Benc) [1749817] - [net] xsk: Change the default frame size to 4096 and allow controlling it (Jiri Benc) [1749817] - [tools] libbpf: Support getsockopt XDP_OPTIONS (Jiri Benc) [1749817] - [net] xsk: Add getsockopt XDP_OPTIONS (Jiri Benc) [1749817] - [net] xsk: Add API to check for available entries in FQ (Jiri Benc) [1749817] - [net] xsk: Properly terminate assignment in xskq_produce_flush_desc (Jiri Benc) [1749817] - [net] xdp: Make __mem_id_disconnect static (Jiri Benc) [1749817] - [net] xsk: sample kernel code is now in libbpf (Jiri Benc) [1749817] - [net] page_pool: fix compile warning when CONFIG_PAGE_POOL is disabled (Jiri Benc) [1749817] - [net] page_pool: make sure struct device is stable (Jiri Benc) [1749817] - [net] page_pool: add tracepoints for page_pool with details need by XDP (Jiri Benc) [1749817] - [net] xdp: add tracepoints for XDP mem (Jiri Benc) [1749817] - [net] xdp: force mem allocator removal and periodic warning (Jiri Benc) [1749817] - [net] xdp: tracking page_pool resources and safe removal (Jiri Benc) [1749817] - [netdrv] mlx5: more strict use of page_pool API (Jiri Benc) [1749817] - [net] page_pool: introduce page_pool_free and use in mlx5 (Jiri Benc) [1749817] - [net] veth: use xdp_release_frame for XDP_PASS (Jiri Benc) [1749817] - [net] xdp: page_pool related fix to cpumap (Jiri Benc) [1749817] - [net] xdp: fix leak of IDA cyclic id if rhashtable_insert_slow fails (Jiri Benc) [1749817] - [net] page_pool: add helper function to unmap dma addresses (Jiri Benc) [1749817] - [net] page_pool: add helper function to retrieve dma addresses (Jiri Benc) [1749817] - [net] page_pool: use DMA_ATTR_SKIP_CPU_SYNC for DMA mappings (Jiri Benc) [1749817] - [net] page_pool: don't use page->private to store dma_addr_t (Jiri Benc) [1749817] - [mm] add dma_addr_t to struct page (Jiri Benc) [1749817] - [tools] bpf: Sync asm-generic/socket.h to tools/ (Jiri Benc) [1749817] - [net] bpf: net: Add SO_DETACH_REUSEPORT_BPF (Jiri Benc) [1749817] - [net] veth: Support bulk XDP_TX (Jiri Benc) [1749817] - [net] flow_dissector: remove unused FLOW_DISSECTOR_F_STOP_AT_L3 flag (Jiri Benc) [1749817] - [tools] selftests/bpf: fix compilation error for flow_dissector.c (Jiri Benc) [1749817] - [net] bpf: Update BPF_CGROUP_RUN_PROG_INET_EGRESS calls (Jiri Benc) [1749817] - [net] signal/bpfilter: Fix bpfilter_kernl to use send_sig not force_sig (Jiri Benc) [1749817] - [net] arch: Use asm-generic/socket.h when possible (Jiri Benc) [1749817] - [net] flow_dissector: correct comments on enum flow_dissector_key_id (Jiri Benc) [1749817] - [net] tcp: add stat of data packet reordering events (Jiri Benc) [1749817] - [net] tcp: add dsack blocks received stats (Jiri Benc) [1749817] - [net] tcp: add data bytes retransmitted stats (Jiri Benc) [1749817] - [net] tcp: add data bytes sent stats (Jiri Benc) [1749817] - [net] tcp: add a helper to calculate size of opt_stats (Jiri Benc) [1749817] - [net] netfilter: Support iif matches in POSTROUTING (Phil Sutter) [1775961] - [tools] selftests: add basic netdevsim devlink flash testing (Petr Oros) [1770359] - [netdrv] netdevsim: implement fake flash updating with notifications (Petr Oros) [1770359] - [net] devlink: allow driver to update progress of flash update (Petr Oros) [1770359] - [net] devlink: Add extack to shared buffer operations (Petr Oros) [1770347] - [net] xfrm: policy: avoid warning splat when merging nodes (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix bydst hlist corruption on hash rebuild (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix infinite loop when merging src-nodes (Sabrina Dubroca) [1758100] - [tools] selftests: xfrm: alter htresh to trigger move of policies to hash table (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix reinsertion on node merge (Sabrina Dubroca) [1758100] - [net] xfrm: policy: delete inexact policies from inexact list on hash rebuild (Sabrina Dubroca) [1758100] - [net] xfrm: policy: use hlist rcu variants on inexact insert, part 2 (Sabrina Dubroca) [1758100] - [tools] selftests: xfrm: add block rules with adjacent/overlapping subnets (Sabrina Dubroca) [1758100] - [net] xfrm: policy: remove set but not used variable 'priority' (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix policy hash rebuild (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix netlink/pf_key policy lookups (Sabrina Dubroca) [1758100] - [net] xfrm: policy: add 2nd-level saddr trees for inexact policies (Sabrina Dubroca) [1758100] - [net] xfrm: policy: store inexact policies in a tree ordered by source address (Sabrina Dubroca) [1758100] - [net] xfrm: policy: check reinserted policies match their node (Sabrina Dubroca) [1758100] - [net] xfrm: policy: store inexact policies in a tree ordered by destination address (Sabrina Dubroca) [1758100] - [net] xfrm: policy: add inexact policy search tree infrastructure (Sabrina Dubroca) [1758100] - [net] xfrm: policy: consider if_id when hashing inexact policy (Sabrina Dubroca) [1758100] - [net] xfrm: policy: store inexact policies in an rhashtable (Sabrina Dubroca) [1758100] - [net] xfrm: policy: return NULL when inexact search needed (Sabrina Dubroca) [1758100] - [net] xfrm: policy: split list insertion into a helper (Sabrina Dubroca) [1758100] - [net] xfrm: security: iterate all, not inexact lists (Sabrina Dubroca) [1758100] - [tools] selftests: add xfrm policy test script (Sabrina Dubroca) [1758100] - [net] af_packet: fix the tx skb protocol in raw sockets with ETH_P_ALL (Ivan Vecera) [1765561] - [netdrv] mlx5e: Trust kernel regarding transport offset (Ivan Vecera) [1765561] - [netdrv] net/mlx5e: Remove the wrong assumption about transport offset (Ivan Vecera) [1765561] - [net] packet: Remove redundant skb->protocol set (Ivan Vecera) [1765561] - [net] packet: Ask driver for protocol if not provided by user (Ivan Vecera) [1765561] - [net] ethernet: Add parse_protocol header_ops support (Ivan Vecera) [1765561] - [include] net: Introduce parse_protocol header_ops callback (Ivan Vecera) [1765561] - [net] Don't set transport offset to invalid value (Ivan Vecera) [1765561] - [netdrv] Fix Kconfig indentation (Josef Oskera) [1764592] - [netdrv] be2net: make two arrays static const, makes object smaller (Josef Oskera) [1764592] - [netdrv] be2net: eliminate enable field from be_aic_obj (Josef Oskera) [1764592] - [netdrv] Use skb_frag_off accessors (Josef Oskera) [1764592] - [netdrv] Use skb accessors in network drivers (Josef Oskera) [1764592] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 338 (Josef Oskera) [1764592] - [netdrv] treewide: Add SPDX license identifier - Makefile/Kconfig (Josef Oskera) [1764592] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Josef Oskera) [1764592] - [documentation] networking: switchdev: Update port parent ID section (Ivan Vecera) [1757840] - [net] Get rid of SWITCHDEV_ATTR_ID_PORT_PARENT_ID (Ivan Vecera) [1757840] - [net] dsa: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [drivers] staging: fsl-dpaa2: ethsw: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [netdrv] mscc: ocelot: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [netdrv] net/mlx5e: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [netdrv] liquidio: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [net] tipc: fix unlimited bundling of small messages (Jon Maloy) [1761969] - [net] tipc: clean up skb list lock handling on send path (Jon Maloy) [1761969] - [net] tipc: fix false detection of retransmit failures (Jon Maloy) [1761969] - [net] tipc: reduce risk of wakeup queue starvation (Jon Maloy) [1761969] - [net] tipc: fix changeover issues due to large packet (Jon Maloy) [1761969] - [net] tipc: optimize link synching mechanism (Jon Maloy) [1761969] - [net] tipc: Fix a typo (Jon Maloy) [1761969] - [net] tipc: use rcu dereference functions properly (Jon Maloy) [1761969] - [net] tipc: remove ub->ubsock checks (Jon Maloy) [1761969] - [net] tipc: embed jiffies in macro TIPC_BC_RETR_LIM (Jon Maloy) [1761969] - [net] tipc: add dst_cache support for udp media (Jon Maloy) [1761969] - [net] tipc: rename function msg_get_wrapped() to msg_inner_hdr() (Jon Maloy) [1761969] - [net] tipc: eliminate unnecessary skb expansion during retransmission (Jon Maloy) [1761969] - [net] tipc: simplify stale link failure criteria (Jon Maloy) [1761969] - [net] tipc: check msg->req data len in tipc_nl_compat_bearer_disable (Jon Maloy) [1761969] - [net] tipc: remove the unnecessary msg->req check from tipc_nl_compat_bearer_set (Jon Maloy) [1761969] - [net] tipc: fix issues with early FAILOVER_MSG from peer (Jon Maloy) [1761969] - [net] tipc: include retrans failure detection for unicast (Jon Maloy) [1761969] - [net] tipc: purge deferredq list for each grp member in tipc_group_delete (Jon Maloy) [1761969] - [net] devlink: remove redundant rtnl lock assert (Marcelo Leitner) [1774694]- [gpu] drm/i915/aml: Allow SPT PCH for all AML devices (Lyude Paul) [1761469 1731110] - [gpu] drm/i915/cml: Add second PCH ID for CMP (Lyude Paul) [1731110] - [drm] i915/cml: Add Missing PCI IDs (Lyude Paul) [1727949 1731110] - [gpu] DRM Backport 5.2 -> 5.3 (Lyude Paul) [1731110] - [xen] mm/pgtable: drop pgtable_t variable from pte_fn_t functions (Lyude Paul) [1731110] - [gpu] DRM Backport 5.1 -> 5.2 (Lyude Paul) [1731110] - [s390] bus_find_device: Unify the match callback with class_find_device (Lyude Paul) [1731110] - [kernel] i2c: algo-bit: include main i2c header (Lyude Paul) [1731110] - [extcon] axp288: Add a depends on ACPI to the Kconfig entry (Lyude Paul) [1731110] - [extcon] axp288: Convert to use acpi_dev_get_first_match_dev() (Lyude Paul) [1731110] - [acpi] gpio: merrifield: Fix build err without CONFIG_ACPI (Lyude Paul) [1731110] - [gpio] merrifield: Convert to use acpi_dev_get_first_match_dev() (Lyude Paul) [1731110] - [kernel] proc/sysctl: add shared variables for range check (Lyude Paul) [1731110] - [gpu] drm/i915: Split Pineview device info into desktop and mobile (Lyude Paul) [1731110] - [gpu] snd/hda, drm/i915: Track the display_power_status using a cookie (Lyude Paul) [1731110] - [video] hdmi: Dropped static functions from kernel doc (Lyude Paul) [1731110] - [video] hdmi: Add Unpack function for DRM infoframe (Lyude Paul) [1731110] - [video] drm: Enable HDR infoframe support (Lyude Paul) [1731110] - [kernel] drm: Add HDR source metadata property (Lyude Paul) [1731110] - [gpu] drm: Add colorspace info to AVI Infoframe (Lyude Paul) [1731110] - [gpu] drm: Add HDMI colorspace property (Lyude Paul) [1731110] - [kernel] video/hdmi: Add an enum for HDMI packet types (Lyude Paul) [1731110] - [video] hdmi: Constify infoframe passed to the pack functions (Lyude Paul) [1731110] - [video] hdmi: Constify infoframe passed to the log functions (Lyude Paul) [1731110] - [video] hdmi: Pass buffer size to infoframe unpack functions (Lyude Paul) [1731110] - [video] hdmi: Constify 'buffer' to the unpack functions (Lyude Paul) [1731110] - [video] media: hdmi.h: rename ADOBE_RGB to OPRGB and ADOBE_YCC to OPYCC (Lyude Paul) [1731110] - [media] replace ADOBERGB by OPRGB (Lyude Paul) [1731110] - [dma-buf] add show_fdinfo handler (Lyude Paul) [1731110] - [dma-buf] dma-fence: Signal all callbacks from dma_fence_release() (Lyude Paul) [1731110] - [dma-buf] udmabuf: actually unmap the scatterlist (Lyude Paul) [1731110] - [dma-buf] Make mmap callback actually optional (Lyude Paul) [1731110] - [dma-buf] Remove unused sync_dump() (Lyude Paul) [1731110] - [kernel] dma-buf: explicitely note that dma-fence-chains use 64bit seqno (Lyude Paul) [1731110] - [dma-buf] fix stack corruption in dma_fence_chain_release (Lyude Paul) [1731110] - [dma-buf] add new dma_fence_chain container v7 (Lyude Paul) [1731110] - [dma-buf] add some lockdep asserts to the reservation object implementation (Lyude Paul) [1731110] - [iommu] arm-smmu-v3: Fix build error without CONFIG_PCI_ATS (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Avoid locking on invalidation path when not using ATS (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Fix ATC invalidation ordering wrt main TLBs (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Rework enabling/disabling of ATS for PCI masters (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Don't issue CMD_SYNC for zero-length invalidations (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Remove boolean bitfield for 'ats_enabled' flag (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Document ordering guarantees of command insertion (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Defer TLB invalidation until ->iotlb_sync() (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Reduce contention during command-queue insertion (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Operate directly on low-level queue where possible (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Move low-level queue fields out of arm_smmu_queue (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Drop unused 'q' argument from Q_OVF macro (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Separate s/w and h/w views of prod and cons indexes (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Pass struct iommu_iotlb_gather to ->tlb_add_page() (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Pass struct iommu_iotlb_gather to ->unmap() (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Remove unused ->tlb_sync() callback (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Replace ->tlb_add_flush() with ->tlb_add_page() (Jerry Snitselaar) [1729845] - [iommu] io-pgtable-arm: Call ->tlb_flush_walk() and ->tlb_flush_leaf() (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Hook up ->tlb_flush_walk() and ->tlb_flush_leaf() in drivers (Jerry Snitselaar) [1729845] - [kernel] iommu/io-pgtable: Introduce tlb_flush_walk() and tlb_flush_leaf() (Jerry Snitselaar) [1729845] - [iommu] Pass struct iommu_iotlb_gather to ->unmap() and ->iotlb_sync() (Jerry Snitselaar) [1729845] - [kernel] iommu: Introduce iommu_iotlb_gather_add_page() (Jerry Snitselaar) [1729845] - [kernel] iommu: Introduce struct iommu_iotlb_gather for batching TLB flushes (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Rename iommu_gather_ops to iommu_flush_ops (Jerry Snitselaar) [1729845] - [iommu] io-pgtable-arm: Remove redundant call to io_pgtable_tlb_sync() (Jerry Snitselaar) [1729845] - [kernel] iommu: Remove empty iommu_tlb_range_add() callback from iommu_ops (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Invalidate ATC when detaching a device (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Add support for PCI ATS (Jerry Snitselaar) [1729845] - [iommu] Introduce iotlb_sync_map callback (Jerry Snitselaar) [1742234] - [kernel] dma-mapping: fix page attributes for dma_mmap_* (Jerry Snitselaar) [1754727] - [kernel] dma-mapping: check pfn validity in dma_common_{mmap, get_sgtable} (Jerry Snitselaar) [1754727] - [kernel] swiotlb: checking whether swiotlb buffer is full with io_tlb_used (Jerry Snitselaar) [1754727] - [kernel] dma-direct: fix zone selection after an unaddressable CMA allocation (Jerry Snitselaar) [1754727] - [kernel] dma-contiguous: page-align the size in dma_free_contiguous() (Jerry Snitselaar) [1754727] - [kernel] dma-contiguous: do not overwrite align in dma_alloc_contiguous() (Jerry Snitselaar) [1754727] - [kernel] dma-mapping: fix panic caused by passing empty cma command line argument (Jerry Snitselaar) [1754727] - [iommu] dma: Handle SG length overflow better (Jerry Snitselaar) [1742234] - [iommu] dma: Handle MSI mappings separately (Jerry Snitselaar) [1742234] - [iommu] dma: Apply dma_{alloc, free}_contiguous functions (Jerry Snitselaar) [1742234] - [iommu] dma: Don't depend on CONFIG_DMA_DIRECT_REMAP (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_mmap (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_get_sgtable (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_alloc, part 2 (Jerry Snitselaar) [1742234] - [iommu] dma: Cleanup variable naming in iommu_dma_alloc (Jerry Snitselaar) [1742234] - [iommu] dma: Split iommu_dma_free (Jerry Snitselaar) [1742234] - [iommu] dma: Merge the CMA and alloc_pages allocation paths (Jerry Snitselaar) [1742234] - [iommu] dma: Don't remap CMA unnecessarily (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_alloc (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_free (Jerry Snitselaar) [1742234] - [iommu] dma: Remove __iommu_dma_free (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor the page array remapping allocator (Jerry Snitselaar) [1742234] - [iommu] dma: Factor out remapped pages lookup (Jerry Snitselaar) [1742234] - [iommu] dma: Squash __iommu_dma_{map, unmap}_page helpers (Jerry Snitselaar) [1742234] - [iommu] dma: Move domain lookup into __iommu_dma_{map, unmap} (Jerry Snitselaar) [1742234] - [iommu] dma: Move __iommu_dma_map (Jerry Snitselaar) [1742234] - [iommu] dma: Use for_each_sg in iommu_dma_alloc (Jerry Snitselaar) [1742234] - [clk] Make clk_bulk_get_all() return a valid "id" (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm: Support all Mali configurations (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm: Correct Mali attributes (Jerry Snitselaar) [1722978] - [iommu] vt-d: Fix panic after kexec -p for kdump (Jerry Snitselaar) [1742234] - [kernel] iommu/iova: Fix compilation error with !CONFIG_IOMMU_IOVA (Jerry Snitselaar) [1742234] - [iommu] amd: Check PM_LEVEL_SIZE() condition in locked section (Jerry Snitselaar) [1742234] - [iommu] amd: Fix incorrect PASID decoding from event log (Jerry Snitselaar) [1742234] - [iommu] amd: Lock code paths traversing protection_domain->dev_list (Jerry Snitselaar) [1742234] - [iommu] amd: Lock dev_data in attach/detach code paths (Jerry Snitselaar) [1742234] - [iommu] amd: Check for busy devices earlier in attach_device() (Jerry Snitselaar) [1742234] - [iommu] amd: Take domain->lock for complete attach/detach path (Jerry Snitselaar) [1742234] - [iommu] amd: Remove amd_iommu_devtable_lock (Jerry Snitselaar) [1742234] - [iommu] amd: Remove domain->updated (Jerry Snitselaar) [1742234] - [iommu] iova: Avoid false sharing on fq_timer_on (Jerry Snitselaar) [1742234] - [iommu] Don't use sme_active() in generic code (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix wrong analysis whether devices share the same bus (Jerry Snitselaar) [1742234] - [iommu] amd: Wait for completion of IOTLB flush in attach_device (Jerry Snitselaar) [1742234] - [iommu] amd: Unmap all L7 PTEs when downgrading page-sizes (Jerry Snitselaar) [1742234] - [iommu] amd: Introduce first_pte_l7() helper (Jerry Snitselaar) [1742234] - [iommu] amd: Fix downgrading default page-sizes in alloc_pte() (Jerry Snitselaar) [1742234] - [iommu] amd: Fix pages leak in free_pagetable() (Jerry Snitselaar) [1742234] - [documentation] documentation: Update Documentation for iommu.passthrough (Jerry Snitselaar) [1745844] - [iommu] Disable passthrough mode when SME is active (Jerry Snitselaar) [1745844] - [iommu] Set default domain type at runtime (Jerry Snitselaar) [1745844] - [iommu] Print default domain type on boot (Jerry Snitselaar) [1745844] - [x86] dma: Get rid of iommu_pass_through (Jerry Snitselaar) [1745844] - [iommu] vt-d: Request passthrough mode from IOMMU core (Jerry Snitselaar) [1745844] - [iommu] amd: Request passthrough mode from IOMMU core (Jerry Snitselaar) [1745844] - [iommu] Use Functions to set default domain type in iommu_set_def_domain_type() (Jerry Snitselaar) [1745844] - [iommu] Add helpers to set/get default domain type (Jerry Snitselaar) [1745844] - [iommu] Remember when default domain type was set on kernel command line (Jerry Snitselaar) [1745844] - [iommu] amd: Flush old domains in kdump kernel (Jerry Snitselaar) [1742234] - [iommu] amd: Fix race in increase_address_space() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove global page flush support (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix possible use-after-free of private domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Detach domain before using a private one (Jerry Snitselaar) [1742234] - [iommu] vt-d: Correctly check format of page table in debugfs (Jerry Snitselaar) [1742234] - [iommu] vt-d: Detach domain when move device out of group (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Mark expected switch fall-through (Jerry Snitselaar) [1722978] - [iommu] vt-d: Print pasid table entries MSB to LSB in debugfs (Jerry Snitselaar) [1742234] - [iommu] iova: Remove stale cached32_node (Jerry Snitselaar) [1742234] - [iommu] vt-d: Check if domain->pgd was allocated (Jerry Snitselaar) [1742234] - [iommu] vt-d: Don't queue_iova() if there is no flush queue (Jerry Snitselaar) [1742234] - [iommu] amd: fix a crash in iova_magazine_free_pfns (Jerry Snitselaar) [1742234] - [iommu] Use right function to get group for device (Jerry Snitselaar) [1742234] - [iommu] arm-smmu-v3: Fix compilation when CONFIG_CMA=n (Jerry Snitselaar) [1722978] - [iommu] io-pgtable: Support non-coherent page tables (Jerry Snitselaar) [1722978] - [iommu] io-pgtable: Replace IO_PGTABLE_QUIRK_NO_DMA with specific flag (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm-v7s: request DMA32 memory, and improve debugging (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm: Add support to use system cache (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Increase maximum size of queues (Jerry Snitselaar) [1722978] - [iommu] amd: Flush not present cache in iommu_map_page (Jerry Snitselaar) [1742234] - [iommu] amd: Only free resources once on init error (Jerry Snitselaar) [1742234] - [iommu] amd: Move gart fallback to amd_iommu_init (Jerry Snitselaar) [1742234] - [iommu] amd: Make iommu_disable safer (Jerry Snitselaar) [1742234] - [iommu] amd: Add missed 'tag' to error msg in iommu_print_event (Jerry Snitselaar) [1742234] - [iommu] amd: Remove redundant assignment to variable npages (Jerry Snitselaar) [1742234] - [iommu] vt-d: Cleanup unused variable (Jerry Snitselaar) [1742234] - [iommu] vt-d: Silence a variable set but not used (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove an unused variable "length" (Jerry Snitselaar) [1742234] - [iommu] vt-d: Cleanup after delegating DMA domain to generic iommu (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix suspicious RCU usage in probe_acpi_namespace_devices() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Allow DMA domain attaching to rmrr locked device (Jerry Snitselaar) [1742234] - [iommu] vt-d: Don't enable iommu's which have been ignored (Jerry Snitselaar) [1742234] - [iommu] vt-d: Set domain type for a private domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Don't return error when device gets right domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix a variable set but not used (Jerry Snitselaar) [1742234] - [kernel] iommu/vt-d: Fix typo in SVM code comment (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove static identity map code (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove duplicated code for device hotplug (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove startup parameter from device_def_domain_type() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Cleanup get_valid_domain_for_dev() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Implement is_attach_deferred iommu ops entry (Jerry Snitselaar) [1742234] - [iommu] vt-d: Probe DMA-capable ACPI name space devices (Jerry Snitselaar) [1742234] - [iommu] vt-d: Handle 32bit device with identity default domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Identify default domains replaced with private (Jerry Snitselaar) [1742234] - [iommu] vt-d: Delegate the dma domain to upper layer (Jerry Snitselaar) [1742234] - [iommu] vt-d: Delegate the identity domain to upper layer (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add device_def_domain_type() helper (Jerry Snitselaar) [1742234] - [iommu] vt-d: Enable DMA remapping after rmrr mapped (Jerry Snitselaar) [1742234] - [iommu] vt-d: Expose ISA direct mapping region via iommu_get_resv_regions (Jerry Snitselaar) [1742234] - [iommu] vt-d: Implement apply_resv_region iommu ops entry (Jerry Snitselaar) [1742234] - [iommu] Add API to request DMA domain for device (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add debugfs support to show scalable mode DMAR table internals (Jerry Snitselaar) [1742234] - [iommu] vt-d: Introduce macros useful for dumping DMAR table (Jerry Snitselaar) [1742234] - [iommu] vt-d: Modify the format of intel DMAR tables dump (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove unnecessary rcu_read_locks (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix bind svm with multiple devices (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Avoid constant zero in TLBI writes (Jerry Snitselaar) [1722978] - [iommu] vt-d: Set the right field for Page Walk Snoop (Jerry Snitselaar) [1742234] - [iommu] Add missing new line for dma type (Jerry Snitselaar) [1742234] - [kernel] iommu/iova: Separate atomic variables to improve performance (Jerry Snitselaar) [1742234] - [iommu] Remove iommu_callback_data (Jerry Snitselaar) [1742234] - [iommu] amd: Remove amd_iommu_pd_list (Jerry Snitselaar) [1742234] - [iommu] amd: Use pci_prg_resp_pasid_required() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix leak in intel_pasid_alloc_table on error path (Jerry Snitselaar) [1742234] - [iommu] vt-d: Make kernel parameter igfx_off work with vIOMMU (Jerry Snitselaar) [1742234] - [iommu] vt-d: Set intel_iommu_gfx_mapped correctly (Jerry Snitselaar) [1742234] - [iommu] vt-d: cleanup: no spaces at the start of a line (Jerry Snitselaar) [1742234] - [iommu] vt-d: Don't request page request irq under dmar_global_lock (Jerry Snitselaar) [1742234] - [iommu] vt-d: Use struct_size() helper (Jerry Snitselaar) [1742234] - [iommu] vt-d: Flush IOTLB for untrusted device in time (Jerry Snitselaar) [1742234] - [iommu] vt-d: Clean up iommu_no_mapping (Jerry Snitselaar) [1742234] - [vfio] type1: Add domain at(de)taching group helpers (Jerry Snitselaar) [1742234] - [iommu] vt-d: Return ID associated with an auxiliary domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Aux-domain specific domain attach/detach (Jerry Snitselaar) [1742234] - [iommu] vt-d: Move common code out of iommu_attch_device() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add per-device IOMMU feature ops entries (Jerry Snitselaar) [1742234] - [iommu] vt-d: Make intel_iommu_enable_pasid() more generic (Jerry Snitselaar) [1742234] - [iommu] vt-d: Switch to bitmap_zalloc() (Jerry Snitselaar) [1742234] - [iommu] Bind process address spaces to devices (Jerry Snitselaar) [1742234] - [iommu] Add APIs for multiple domains per device (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Log CBFRSYNRA register on context fault (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Don't disable SMMU in kdump kernel (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Disable tagged pointers (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Link domains and devices (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Add a master->domain pointer (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Store SteamIDs in master (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Rename arm_smmu_master_data to arm_smmu_master (Jerry Snitselaar) [1722978] - [iommu] io-pgtable: Add ARM Mali midgard MMU page table format (Jerry Snitselaar) [1722978] - [iommu] vt-d: Save the right domain ID used by hardware (Jerry Snitselaar) [1742234] - [iommu] iova: Fix tracking of recently failed iova address (Jerry Snitselaar) [1742234] - [iommu] Fix IOMMU debugfs fallout (Jerry Snitselaar) [1742234] - [kernel] iommu: Document iommu_ops.is_attach_deferred() (Jerry Snitselaar) [1742234] - [kernel] iommu: Document iommu_ops.iotlb_sync_map() (Jerry Snitselaar) [1742234] - [kernel] iommu: Fix flush_tlb_all typo (Jerry Snitselaar) [1742234] - [iommu] io-pgtable-arm-v7s: Only kmemleak_ignore L2 tables (Jerry Snitselaar) [1722978] - [iommu] Use dev_printk() when possible (Jerry Snitselaar) [1742234] - [kernel] iommu: Allow io-pgtable to be used outside of iommu/ (Jerry Snitselaar) [1722978] - [iommu] iova: Allow compiling the library without IOMMU support (Jerry Snitselaar) [1742234] - [iommu] amd: Use dev_printk() when possible (Jerry Snitselaar) [1742234] - [iommu] amd: Remove clear_flush_young notifier (Jerry Snitselaar) [1742234] - [iommu] amd: Print reason for iommu_map_page failure in map_sg (Jerry Snitselaar) [1742234] - [iommu] vt-d: Get domain ID before clear pasid entry (Jerry Snitselaar) [1742234] - [iommu] vt-d: Set context field after value initialized (Jerry Snitselaar) [1742234] - [kernel] pci/ats: Add inline to pci_prg_resp_pasid_required() (Jerry Snitselaar) [1724921 1724927] - [iommu] vt-d: Enable ATS only if the device uses page aligned address (Jerry Snitselaar) [1724922] - [pci] ats: Add pci_ats_page_aligned() interface (Jerry Snitselaar) [1724922] - [iommu] vt-d: Fix PRI/PASID dependency issue (Jerry Snitselaar) [1724921 1724927] - [pci] ats: Add pci_prg_resp_pasid_required() interface (Jerry Snitselaar) [1724921 1724927] - [iommu] vt-d: Allow interrupts from the entire bus for aliased devices (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add helper to set an IRTE to verify only the bus number (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove misleading "domain 0" test from domain_exit() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove unused dmar_remove_one_dev_info() argument (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove unnecessary local variable initializations (Jerry Snitselaar) [1742234] - [iommu] vt-d: Use dev_printk() when possible (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove change_pte notifier (Jerry Snitselaar) [1742234] - iommu/vt-d: Implement dma_[un]map_resource() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Support page request in scalable mode (Jerry Snitselaar) [1742234] - [iommu] vt-d: Leave scalable mode default off (Jerry Snitselaar) [1742234] - [iommu] of: Fix probe-deferral (Jerry Snitselaar) [1742234] - [iommu] Check for iommu_ops == NULL in iommu_probe_device() (Jerry Snitselaar) [1742234] - [iommu] of: Don't call iommu_ops->add_device directly (Jerry Snitselaar) [1742234] - powerpc/iommu: Use device_iommu_mapped() (Jerry Snitselaar) [1742234] - [powerpc] iommu: Use device_iommu_mapped() (Jerry Snitselaar) [1742234] - [iommu] of: Use device_iommu_mapped() (Jerry Snitselaar) [1742234] - [iommu] of: Use helper functions to access dev->iommu_fwspec (Jerry Snitselaar) [1742234] - [iommu] dma: Use helper functions to access dev->iommu_fwspec (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Use helper functions to access dev->iommu_fwspec (Jerry Snitselaar) [1722978] - [acpi] iort: Fix rc_dma_get_range() (Jerry Snitselaar) [1722978] - [kernel] iommu: Change tlb_range_add to iotlb_range_add and tlb_sync to iotlb_sync (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Make arm-smmu-v3 explicitly non-modular (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Make arm-smmu explicitly non-modular (Jerry Snitselaar) [1722978] - [iommu] Audit and remove any unnecessary uses of module.h (Jerry Snitselaar) [1742234] - [iommu] irq_remapping: Remove unused header files (Jerry Snitselaar) [1742234] - [iommu] Do physical merging in iommu_map_sg() (Jerry Snitselaar) [1742234] - [iommu] amd: Remove leading 0s in error log messages (Jerry Snitselaar) [1742234] - [iommu] amd: Fix line-break in error log reporting (Jerry Snitselaar) [1742234] - [iommu] amd: Use pr_fmt() (Jerry Snitselaar) [1742234] - [iommu] amd: Allow to upgrade page-size (Jerry Snitselaar) [1742234] - [iommu] amd: Restart loop if cmpxchg64 succeeded in alloc_pte() (Jerry Snitselaar) [1742234] - [iommu] amd: Allow downgrading page-sizes in alloc_pte() (Jerry Snitselaar) [1742234] - [iommu] amd: Ignore page-mode 7 in free_sub_pt() (Jerry Snitselaar) [1742234] - [iommu] amd: Introduce free_sub_pt() function (Jerry Snitselaar) [1742234] - [iommu] amd: Collect page-table pages in freelist (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove deferred invalidation (Jerry Snitselaar) [1724930] - [iommu] vt-d: Shared virtual address in scalable mode (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add first level page table interface (Jerry Snitselaar) [1742234] - [iommu] vt-d: Setup context and enable RID2PASID support (Jerry Snitselaar) [1742234] - [iommu] vt-d: Pass pasid table to context mapping (Jerry Snitselaar) [1742234] - [iommu] vt-d: Setup pasid entry for RID2PASID support (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add second level page table interface (Jerry Snitselaar) [1742234] - [iommu] vt-d: Reserve a domain id for FL and PT modes (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add 256-bit invalidation descriptor support (Jerry Snitselaar) [1742234] - [kernel] iommu/vt-d: Move page table helpers into header (Jerry Snitselaar) [1742234] - [iommu] vt-d: Manage scalalble mode PASID tables (Jerry Snitselaar) [1742234] - [iommu] vt-d: Enumerate the scalable mode capability (Jerry Snitselaar) [1742234] - [kernel] iommu/vtd: Cleanup dma_remapping.h header (Jerry Snitselaar) [1742234] - [documentation] dt-bindings: arm-smmu: Add binding doc for Qcom smmu-500 (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Add support for qcom, smmu-v2 variant (Jerry Snitselaar) [1722978] - [documentation] dt-bindings: arm-smmu: Add bindings for qcom, smmu-v2 (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Add the device_link between masters and smmu (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Invoke pm_runtime across the driver (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Add pm_runtime/sleep ops (Jerry Snitselaar) [1722978] - [clk] add managed version of clk_bulk_get_all (Jerry Snitselaar) [1722978] - [clk] add new APIs to operate on all available clocks (Jerry Snitselaar) [1722978] - [clk] bulk: add of_clk_bulk_get() (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Use explicit mb() when moving cons pointer (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Avoid memory corruption from Hisilicon MSI payloads (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Fix big-endian CMD_SYNC writes (Jerry Snitselaar) [1722978] - [iommu] revert "iommu/io-pgtable-arm: Check for v7s-incapable systems" (Jerry Snitselaar) [1722978] - [iommu] Fix a typo (Jerry Snitselaar) [1742234] - [iommu] Tidy up window attributes (Jerry Snitselaar) [1742234] - [iommu] amd: Add default branch in amd_iommu_capable() (Jerry Snitselaar) [1742234] - [iommu] amd: Move iommu_init_pci() to .init section (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add debugfs support to show context internals (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add debugfs support for Interrupt remapping (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add debugfs support to show register contents (Jerry Snitselaar) [1742234] - [iommu] vt-d: Enable base Intel IOMMU debugfs support (Jerry Snitselaar) [1742234] - [kernel] iommu/vt-d: Update register definitions to VT-d 3.0 specification (Jerry Snitselaar) [1742234] - [iommu] vt-d: Relocate struct/function declarations to its header files (Jerry Snitselaar) [1742234] - [of] iommu/of: make of_pci_map_rid() available for other devices too (Jerry Snitselaar) [1742234] - [iommu] arm-smmu-v3: Remove unnecessary wrapper function (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Add SPDX header (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Fix a couple of minor comment typos (Jerry Snitselaar) [1722978] - [kernel] iommu/shmobile: Remove unused linux/platform_data/sh_ipmmu.h header (Jerry Snitselaar) [1742234] - [iommu] vt-d: Handle memory shortage on pasid table allocation (Jerry Snitselaar) [1742234] - [iommu] Add sysfs attribyte for domain type (Jerry Snitselaar) [1742234] - [iommu] amd: Add basic debugfs infrastructure for AMD IOMMU (Jerry Snitselaar) [1742234] - [iommu] Enable debugfs exposure of IOMMU driver internals (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove the obsolete per iommu pasid tables (Jerry Snitselaar) [1742234] - [iommu] vt-d: Apply per pci device pasid table in SVA (Jerry Snitselaar) [1742234] - [iommu] vt-d: Allocate and free pasid table (Jerry Snitselaar) [1742234] - [iommu] vt-d: Per PCI device pasid table interfaces (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add for_each_device_domain() helper (Jerry Snitselaar) [1742234] - [iommu] vt-d: Move device_domain_info to header (Jerry Snitselaar) [1742234] - [iommu] vt-d: Apply global PASID in SVA (Jerry Snitselaar) [1742234] - [iommu] vt-d: Avoid using idr_for_each_entry() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Global PASID name space (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix dev iotlb pfsid use (Jerry Snitselaar) [1742234] - [kernel] iommu/vt-d: Add definitions for PFSID (Jerry Snitselaar) [1742234] - [iommu] amd: Argument page_size could be uninitialized (Jerry Snitselaar) [1742234] - [iommu] arm-smmu-v3: Abort all transactions if SMMU is enabled in kdump kernel (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Prevent any devices access to memory without registration (Jerry Snitselaar) [1722978] - [iommu] [] iommu/arm-smmu-v3: sync the OVACKFLG to PRIQ consumer register (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm-v7s: Abort allocation when table address overflows the PTE (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm: Fix pgtable allocation in selftest (Jerry Snitselaar) [1722978] - [netdrv] iavf: initialize ITRN registers with correct values (Stefan Assmann) [1721697] - [netdrv] iavf: fix MAC address setting for VFs when filter is rejected (Stefan Assmann) [1721697] - [netdrv] iavf: allow permanent MAC address to change (Stefan Assmann) [1721697] - [netdrv] iavf: remove unused debug function iavf_debug_d (Stefan Assmann) [1721697] - [netdrv] Use skb_frag_off accessors (Stefan Assmann) [1721697] - [netdrv] Use skb accessors in network drivers (Stefan Assmann) [1721697] - [netdrv] iavf: fix dereference of null rx_buffer pointer (Stefan Assmann) [1721697] - [netdrv] iavf: Fix up debug print macro (Stefan Assmann) [1721697] - [netdrv] iavf: use struct_size() helper (Stefan Assmann) [1721697] - [netdrv] iavf: allow null RX descriptors (Stefan Assmann) [1721697] - [netdrv] iavf: add call to iavf_[add|del]_cloud_filter (Stefan Assmann) [1721697] - [netdrv] iavf: Refactor init state machine (Stefan Assmann) [1721697] - [netdrv] iavf: Refactor the watchdog state machine (Stefan Assmann) [1721697] - [netdrv] iavf: Remove timer for work triggering, use delaying work instead (Stefan Assmann) [1721697] - [netdrv] iavf: Move commands processing to the separate function (Stefan Assmann) [1721697] - [netdrv] iavf: Fix the math for valid length for ADq enable (Stefan Assmann) [1721697] - [netdrv] iavf: Change GFP_KERNEL to GFP_ATOMIC in kzalloc() (Stefan Assmann) [1721697] - [netdrv] iavf: wait longer for close to complete (Stefan Assmann) [1721697] - [netdrv] iavf: use signed variable (Stefan Assmann) [1721697] - [netdrv] iavf: Create VLAN tag elements starting from the first element (Stefan Assmann) [1721697] - [netdrv] iavf: update comments and file checks to match iavf (Stefan Assmann) [1721697] - [netdrv] iavf: rename i40e_device to iavf_device (Stefan Assmann) [1721697] - [netdrv] iavf: change remaining i40e defines to be iavf (Stefan Assmann) [1721697] - [netdrv] iavf: rename iavf_client.h defines to match driver name (Stefan Assmann) [1721697] - [netdrv] iavf: rename iavf_status structure flags (Stefan Assmann) [1721697] - [netdrv] iavf: replace i40e variables with iavf (Stefan Assmann) [1721697] - [netdrv] iavf: rename i40e functions to be iavf (Stefan Assmann) [1721697] - [netdrv] iavf: change iavf_status_code to iavf_status (Stefan Assmann) [1721697] - [netdrv] iavf: Rename i40e_adminq* files to iavf_adminq* (Stefan Assmann) [1721697] - [netdrv] iavf: iavf_client: use struct_size() helper (Stefan Assmann) [1721697] - [netdrv] iavf: use struct_size() in kzalloc() (Stefan Assmann) [1721697] - [netdrv] iavf: Limiting RSS queues to CPUs (Stefan Assmann) [1721697] - [netdrv] iavf: Use printf instead of gnu_printf for iavf_debug_d (Stefan Assmann) [1721697] - [netdrv] igb/igc: use ktime accessors for skb->tstamp (Stefan Assmann) [1721695] - [netdrv] i40e: Fix for ethtool -m issue on X722 NIC (Stefan Assmann) [1721695] - [netdrv] intel: Demote MTU change prints to debug (Stefan Assmann) [1721695] - [netdrv] i40e: implement VF stats NDO (Stefan Assmann) [1721695] - [netdrv] i40e: enable X710 support (Stefan Assmann) [1721695] - [netdrv] i40e: Add UDP segmentation offload support (Stefan Assmann) [1721695] - [netdrv] i40e: prevent memory leak in i40e_setup_macvlans (Stefan Assmann) [1721695] - [netdrv] i40e: Refactoring VF MAC filters counting to make more reliable (Stefan Assmann) [1721695] - [netdrv] i40e: Fix LED blinking flow for X710T*L devices (Stefan Assmann) [1721695] - [netdrv] i40e: allow ethtool to report SW and FW versions in recovery mode (Stefan Assmann) [1721695] - [netdrv] i40e: initialize ITRN registers with correct values (Stefan Assmann) [1721695] - [netdrv] i40e: Extend PHY access with page change flag (Stefan Assmann) [1721695] - [netdrv] i40e: Extract detection of HW flags into a function (Stefan Assmann) [1721695] - [netdrv] i40e: Wrong 'Advertised FEC modes' after set FEC to AUTO (Stefan Assmann) [1721695] - [netdrv] i40e: Fix for persistent lldp support (Stefan Assmann) [1721695] - [netdrv] i40e: clear __I40E_VIRTCHNL_OP_PENDING on invalid min Tx rate (Stefan Assmann) [1721695] - [netdrv] i40e: use BIT macro to specify the cloud filter field flags (Stefan Assmann) [1721695] - [netdrv] i40e: Fix message for other card without FEC (Stefan Assmann) [1721695] - [netdrv] i40e: fix missed "Negotiated" string in i40e_print_link_message() (Stefan Assmann) [1721695] - [netdrv] i40e: mark additional missing bits as reserved (Stefan Assmann) [1721695] - [netdrv] i40e: remove I40E_AQC_ADD_CLOUD_FILTER_OIP (Stefan Assmann) [1721695] - [netdrv] i40e: use ktime_get_real_ts64 instead of ktime_to_timespec64 (Stefan Assmann) [1721695] - [netdrv] i40e: check __I40E_VF_DISABLE bit in i40e_sync_filters_subtask (Stefan Assmann) [1721695] - [netdrv] i40e: Remove EMPR traces from debugfs facility (Stefan Assmann) [1721695] - [netdrv] i40e: Implement debug macro hw_dbg using dev_dbg (Stefan Assmann) [1721695] - [netdrv] i40e: fix hw_dbg usage in i40e_hmc_get_object_va (Stefan Assmann) [1721695] - [netdrv] i40e: simplify Rx buffer recycle (Stefan Assmann) [1721695] - [netdrv] i40e: fix retrying in i40e_aq_get_phy_capabilities (Stefan Assmann) [1721695] - [netdrv] i40e: Persistent LLDP support (Stefan Assmann) [1721695] - [netdrv] i40e: allow reset in recovery mode (Stefan Assmann) [1721695] - [netdrv] i40e: Remove function i40e_update_dcb_config() (Stefan Assmann) [1721695] - [netdrv] i40e: Fix crash caused by stress setting of VF MAC addresses (Stefan Assmann) [1721695] - [netdrv] i40e: reset veb.tc_stats when resetting veb.stats (Stefan Assmann) [1721695] - [netdrv] i40e: Update FW API version to 1.9 (Stefan Assmann) [1721695] - [netdrv] i40e: check_recovery_mode had wrong if statement (Stefan Assmann) [1721695] - [netdrv] i40e: Add drop mode parameter to set mac config (Stefan Assmann) [1721695] - [netdrv] i40e: fix shifts of signed values (Stefan Assmann) [1721695] - [netdrv] i40e: add check on i40e_configure_tx_ring() return value (Stefan Assmann) [1721695] - [netdrv] i40e: Check if transceiver implements DDM before access (Stefan Assmann) [1721695] - [netdrv] i40e: reduce stack usage in i40e_set_fc (Stefan Assmann) [1721695] - [netdrv] i40e: no need to check return value of debugfs_create functions (Stefan Assmann) [1721695] - [netdrv] i40e: Remove unicast log when VF is leaving multicast mode (Stefan Assmann) [1721695] - [netdrv] i40e: verify string count matches even on early return (Stefan Assmann) [1721695] - [netdrv] i40e: Log info when PF is entering and leaving Allmulti mode (Stefan Assmann) [1721695] - [netdrv] i40e: Update visual effect for advertised FEC mode (Stefan Assmann) [1721695] - [netdrv] i40e: fix code comments (Stefan Assmann) [1721695] - [netdrv] i40e: don't report link up for a VF who hasn't enabled queues (Stefan Assmann) [1721695] - [netdrv] i40e: Log disable-fw-lldp flag change by ethtool (Stefan Assmann) [1721695] - [netdrv] i40e: fix incorrect ethtool statistics veb and veb.tc_ (Stefan Assmann) [1721695] - [netdrv] Use skb_frag_off accessors (Stefan Assmann) [1721695] - [netdrv] i40e: Use dev_get_drvdata (Stefan Assmann) [1721695] - [netdrv] Use skb accessors in network drivers (Stefan Assmann) [1721695] - [netdrv] i40e: Add macvlan support on i40e (Stefan Assmann) [1721695] - [netdrv] i40e/i40e_virtchnl_pf: Use struct_size() in kzalloc() (Stefan Assmann) [1721695] - [netdrv] i40e: update copyright string (Stefan Assmann) [1721695] - [netdrv] i40e: Fix descriptor count manipulation (Stefan Assmann) [1721695] - [netdrv] i40e: missing priorities for any QoS traffic (Stefan Assmann) [1721695] - [netdrv] i40e: Add log entry while creating or deleting TC0 (Stefan Assmann) [1721695] - [netdrv] i40e: fix incorrect function documentation comment (Stefan Assmann) [1721695] - [netdrv] i40e: Fix for missing "link modes" info in ethtool (Stefan Assmann) [1721695] - [netdrv] i40e: fix 'Unknown bps' in dmesg for 2.5Gb/5Gb speeds (Stefan Assmann) [1721695] - [netdrv] i40e: mark expected switch fall-through (Stefan Assmann) [1721695] - [netdrv] i40e: Missing response checks in driver when starting/stopping FW LLDP (Stefan Assmann) [1721695] - [netdrv] i40e: remove duplicate stat calculation for tx_errors (Stefan Assmann) [1721695] - [netdrv] i40e: Check if the BAR size is large enough before writing to registers (Stefan Assmann) [1721695] - [netdrv] i40e: Missing response checks in driver when starting/stopping FW LLDP (Stefan Assmann) [1721695] - [netdrv] i40e: add input validation for virtchnl handlers (Stefan Assmann) [1721695] - [netdrv] i40e: Improve AQ log granularity (Stefan Assmann) [1721695] - [netdrv] i40e: Add bounds check for ch[] array (Stefan Assmann) [1721695] - [netdrv] i40e: Use signed variable (Stefan Assmann) [1721695] - [netdrv] i40e: add constraints for accessing veb array (Stefan Assmann) [1721695] - [netdrv] i40e: let untrusted VF to create up to 16 VLANs (Stefan Assmann) [1721695] - [netdrv] i40e: add functions stubs to support EEE (Stefan Assmann) [1721695] - [netdrv] i40e: Use LLDP ethertype define ETH_P_LLDP (Stefan Assmann) [1721695] - [netdrv] r8169: disable TSO on a single version of RTL8168c to fix performance (Corinna Vinschen) [1730024] - [netdrv] r8169: fix sporadic transmit timeout issue (Corinna Vinschen) [1730024] - [netdrv] r8169: inline rtl8169_free_rx_databuff (Corinna Vinschen) [1730024] - [netdrv] r8169: fix performance issue on RTL8168evl (Corinna Vinschen) [1730024] - [netdrv] r8169: allocate rx buffers using alloc_pages_node (Corinna Vinschen) [1730024] - [netdrv] r8169: sync PCIe PHY init with vendor driver 8.047.01 (Corinna Vinschen) [1730024] - [netdrv] r8169: add helper r8168_mac_ocp_modify (Corinna Vinschen) [1730024] - [netdrv] r8169: remove access to legacy register MultiIntr (Corinna Vinschen) [1730024] - [netdrv] r8169: make use of xmit_more (Corinna Vinschen) [1730024] - [netdrv] r8169: don't use MSI before RTL8168d (Corinna Vinschen) [1730024] - [netdrv] revert ("r8169: remove 1000/Half from supported modes") (Corinna Vinschen) [1730024] - [netdrv] r8169: enable HW csum and TSO (Corinna Vinschen) [1730024] - [netdrv] r8169: remove r8169_csum_workaround (Corinna Vinschen) [1730024] - [netdrv] r8169: implement callback ndo_features_check (Corinna Vinschen) [1730024] - [netdrv] r8169: set GSO size and segment limits (Corinna Vinschen) [1730024] - [netdrv] r8169: align setting PME with vendor driver (Corinna Vinschen) [1730024] - [netdrv] r8169: improve rtl_set_rx_mode (Corinna Vinschen) [1730024] - [netdrv] r8169: fix a typo in a comment (Corinna Vinschen) [1730024] - [netdrv] r8169: improve rtl_rx (Corinna Vinschen) [1730024] - [netdrv] r8169: fix RTL8168g PHY init (Corinna Vinschen) [1730024] - [netdrv] r8169: fix issue with confused RX unit after PHY power-down on RTL8411b (Corinna Vinschen) [1730024] - [netdrv] r8169: sync few chip names with vendor driver (Corinna Vinschen) [1730024] - [netdrv] r8169: add random MAC address fallback (Corinna Vinschen) [1730024] - [netdrv] revert "r8169: improve handling VLAN tag" (Corinna Vinschen) [1730024] - [netdrv] r8169: remove not needed call to dma_sync_single_for_device (Corinna Vinschen) [1730024] - [netdrv] r8169: consider that 32 Bit DMA is the default (Corinna Vinschen) [1730024] - [netdrv] r8169: improve handling VLAN tag (Corinna Vinschen) [1730024] - [netdrv] r8169: don't activate ASPM in chip if OS can't control ASPM (Corinna Vinschen) [1730024] - [netdrv] r8169: improve handling of Abit Fatal1ty F-190HD (Corinna Vinschen) [1730024] - [netdrv] r8169: use helper rtl_is_8168evl_up for setting register MaxTxPacketSize (Corinna Vinschen) [1730024] - [netdrv] r8169: add helper rtl_is_8168evl_up (Corinna Vinschen) [1730024] - [netdrv] r8169: improve rtl_coalesce_info (Corinna Vinschen) [1730024] - [netdrv] r8169: let mdio read functions return -ETIMEDOUT (Corinna Vinschen) [1730024] - [netdrv] r8169: remove struct rtl_cfg_info (Corinna Vinschen) [1730024] - [netdrv] r8169: remove member coalesce_info from struct rtl_cfg_info (Corinna Vinschen) [1730024] - [netdrv] r8169: remove callback hw_start from struct rtl_cfg_info (Corinna Vinschen) [1730024] - [netdrv] r8169: rename CPCMD_QUIRK_MASK and apply it on all chip versions (Corinna Vinschen) [1730024] - [netdrv] r8169: improve setting interrupt mask (Corinna Vinschen) [1730024] - [netdrv] r8169: silence sparse warning in rtl8169_start_xmit (Corinna Vinschen) [1730024] - [netdrv] r8169: factor out firmware handling (Corinna Vinschen) [1730024] - [netdrv] r8169: rename r8169.c to r8169_main.c (Corinna Vinschen) [1730024] - [netdrv] r8169: add rtl_fw_request_firmware and rtl_fw_release_firmware (Corinna Vinschen) [1730024] - [netdrv] r8169: make rtl_fw_format_ok and rtl_fw_data_ok more independent (Corinna Vinschen) [1730024] - [netdrv] r8169: simplify rtl_fw_write_firmware (Corinna Vinschen) [1730024] - [netdrv] r8169: add enum rtl_fw_opcode (Corinna Vinschen) [1730024] - [netdrv] r8169: use paged versions of phylib MDIO access functions (Corinna Vinschen) [1730024] - [netdrv] r8169: avoid tso csum function indirection (Corinna Vinschen) [1730024] - [netdrv] r8169: remove struct jumbo_ops (Corinna Vinschen) [1730024] - [netdrv] r8169: remove struct mdio_ops (Corinna Vinschen) [1730024] - [netdrv] r8169: improve r8169_csum_workaround (Corinna Vinschen) [1730024] - [netdrv] r8169: decouple rtl_phy_write_fw from actual driver code (Corinna Vinschen) [1730024] - [netdrv] r8169: improve rtl_fw_format_ok (Corinna Vinschen) [1730024] - [netdrv] r8169: enable WoL speed down on more chip versions (Corinna Vinschen) [1730024] - [netdrv] r8169: fix MAC address being lost in PCI D3 (Corinna Vinschen) [1730024] - [netdrv] r8169: remove 1000/Half from supported modes (Corinna Vinschen) [1730024] - [netdrv] r8169: remove support for RTL_GIGA_MAC_VER_01 (Corinna Vinschen) [1730024] - [netdrv] r8169: improve RTL8168d PHY initialization (Corinna Vinschen) [1730024] - [netdrv] r8169: change type of member mac_version in rtl8169_private (Corinna Vinschen) [1730024] - [netdrv] r8169: remove unneeded return statement in rtl_hw_init_8168g (Corinna Vinschen) [1730024] - [netdrv] r8169: remove rtl_hw_init_8168ep (Corinna Vinschen) [1730024] - [netdrv] treewide: Add SPDX license identifier - Makefile/Kconfig (Corinna Vinschen) [1730024] - [netdrv] treewide: Add SPDX license identifier for more missed files (Corinna Vinschen) [1730024] - [netdrv] r8169: add rtl8168g_set_pause_thresholds (Corinna Vinschen) [1730024] - [netdrv] r8169: add rtl_set_fifo_size (Corinna Vinschen) [1730024] - [netdrv] r8169: move EEE LED config to rtl8168_config_eee_mac (Corinna Vinschen) [1730024] - [netdrv] r8169: simplify rtl_writephy_batch and rtl_ephy_init (Corinna Vinschen) [1730024] - [netdrv] r8169: speed up rtl_loop_wait (Corinna Vinschen) [1730024] - [netdrv] r8169: make use of phy_set_asym_pause (Corinna Vinschen) [1730024] - [netdrv] r8169: remove rtl_write_exgmac_batch (Corinna Vinschen) [1730024] - [netdrv] r8169: remove manual autoneg restart workaround (Corinna Vinschen) [1730024] - [netdrv] r8169: add rtl_reset_packet_filter (Corinna Vinschen) [1730024] - [netdrv] r8169: add helpers rtl_eri_set/clear_bits (Corinna Vinschen) [1730024] - [netdrv] r8169: make ERIAR_EXGMAC the default in eri functions (Corinna Vinschen) [1730024] - [netdrv] r8169: use pci_dev_id() helper (Corinna Vinschen) [1730024] - [kernel] phy: fix write to mii-ctrl1000 register (Petr Oros) [1772010] - [netdrv] bcmgenet: don't set phydev->link from MAC (Petr Oros) [1772010] - [netdrv] mdio_bus: Fix PTR_ERR applied after initialization to constant (Petr Oros) [1772010] - [netdrv] phy: micrel: add Asym Pause workaround for KSZ9021 (Petr Oros) [1772010] - [netdrv] phy: fix race in genphy_update_link (Petr Oros) [1772010] - [netdrv] phy: consider AN_RESTART status when reading link status (Petr Oros) [1772010] - [kernel] fixed_phy: Add forward declaration for struct gpio_desc; (Petr Oros) [1772010] - [netdrv] phy: fixed_phy: print gpio error only if gpio node is present (Petr Oros) [1772010] - [netdrv] phy: mscc: initialize stats array (Petr Oros) [1772010] - [netdrv] phy: bcm7xxx: define soft_reset for 40nm EPHY (Petr Oros) [1772010] - [netdrv] Add genphy_c45_config_aneg() function to phy-c45.c (Petr Oros) [1772010] - [netdrv] phy: sfp: hwmon: Fix scaling of RX power (Petr Oros) [1772010] - [kernel] hwmon: Fix HWMON_P_MIN_ALARM mask (Petr Oros) [1772010] - [netdrv] phy: rename Asix Electronics PHY driver (Petr Oros) [1772010] - [netdrv] sfp: read eeprom in maximum 16 byte increments (Petr Oros) [1772010] - [netdrv] phylink: avoid reducing support mask (Petr Oros) [1772010] - [netdrv] phy: dp83867: Set up RGMII TX delay (Petr Oros) [1772010] - [netdrv] phy: dp83867: do not call config_init twice (Petr Oros) [1772010] - [netdrv] phy: dp83867: increase SGMII autoneg timer duration (Petr Oros) [1772010] - [netdrv] phy: dp83867: fix speed 10 in sgmii mode (Petr Oros) [1772010] - [netdrv] phy: marvell10g: report if the PHY fails to boot firmware (Petr Oros) [1772010] - [netdrv] phylink: ensure consistent phy interface mode (Petr Oros) [1772010] - [netdrv] phylink: ensure inband AN works correctly (Petr Oros) [1772010] - [netdrv] phy: aquantia: readd XGMII support for AQR107 (Petr Oros) [1772010] - [netdrv] phy: realtek: Replace phy functions with non-locked version in rtl8211e_config_init() (Petr Oros) [1772010] - [netdrv] meson: fixup g12a glue ephy id (Petr Oros) [1772010] - [netdrv] phy: realtek: fix double page ops in generic Realtek driver (Petr Oros) [1772010] - [netdrv] phy: realtek: add missing page operations (Petr Oros) [1772010] - [netdrv] phy: realtek: Change TX-delay setting for RGMII modes only (Petr Oros) [1772010] - [netdrv] phy: realtek: Add rtl8211e rx/tx delays config (Petr Oros) [1772010] - [netdrv] phy: improve pause mode reporting in phy_print_status (Petr Oros) [1772010] - [kernel] phy: improve resuming from hibernation (Petr Oros) [1772010] - [netdrv] phy: fix phy_validate_pause (Petr Oros) [1772010] - [netdrv] phy: micrel: make sure the factory test bit is cleared (Petr Oros) [1772010] - [netdrv] phy: marvell: Fix buffer overrun with stats counters (Petr Oros) [1772010] - [netdrv] phy: avoid unneeded MDIO reads in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: improve genphy_soft_reset (Petr Oros) [1772010] - [netdrv] spi: micrel eth switch: declare missing of table (Petr Oros) [1772010] - [netdrv] phy: marvell: add new default led configure for m88e151x (Petr Oros) [1772010] - [netdrv] phy: vitesse: Remove support for VSC8514 (Petr Oros) [1772010] - [netdrv] phy: mscc: add support for VSC8514 PHY (Petr Oros) [1772010] - [netdrv] mdio: rename mdio_device reset to reset_gpio (Petr Oros) [1772010] - [netdrv] phy: add support for reset-controller (Petr Oros) [1772010] - [documentation] dt-bindings: add PHY reset controller binding (Petr Oros) [1772010] - [netdrv] phy: remove dead code from phy_sanitize_settings (Petr Oros) [1772010] - [netdrv] phy: don't set autoneg if it's not supported (Petr Oros) [1772010] - [netdrv] phy: micrel: add Asym Pause workaround (Petr Oros) [1772010] - [netdrv] phy: warn if phylib and ethtool PHY mode definitions are out of sync (Petr Oros) [1772010] - [netdrv] phy: add support for new modes in phylib (Petr Oros) [1772010] - [netdrv] phy: shrink PHY settings array (Petr Oros) [1772010] - [netdrv] phy: switch drivers to use dynamic feature detection (Petr Oros) [1772010] - [netdrv] phy: fix setting autoneg_complete in genphy_update_link (Petr Oros) [1772010] - [netdrv] phy: replace genphy_10g_driver with genphy_c45_driver (Petr Oros) [1772010] - [netdrv] phy: remove unnecessary callback settings in C45 drivers (Petr Oros) [1772010] - [netdrv] phy: improve link partner capability detection (Petr Oros) [1772010] - [netdrv] phy: meson-gxl: clean-up gxl variant driver (Petr Oros) [1772010] - [netdrv] phy: meson-gxl: add g12a support (Petr Oros) [1772010] - [netdrv] phy: add amlogic g12a mdio mux support (Petr Oros) [1772010] - [documentation] dt-bindings: phy: add g12a mdio mux documentation (Petr Oros) [1772010] - [netdrv] phy: realtek: remove setting callback get_features and use phylib fallback (Petr Oros) [1772010] - [netdrv] phy: fix autoneg mismatch case in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: marvell10g: add the suspend/resume callbacks for the 88x2210 (Petr Oros) [1772010] - [netdrv] phy: marvell10g: implement suspend/resume callbacks (Petr Oros) [1772010] - [netdrv] phy: deal properly with autoneg incomplete in genphy_c45_read_lpa (Petr Oros) [1772010] - [netdrv] phy: use c45 standard to detect link partner autoneg capability (Petr Oros) [1772010] - [netdrv] phy: aquantia: add SGMII statistics (Petr Oros) [1772010] - [netdrv] phy: improve genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: aquantia: add suspend / resume callbacks for AQR107 family (Petr Oros) [1772010] - [netdrv] phy: realtek: use genphy_read_abilities (Petr Oros) [1772010] - [netdrv] phy: mdio-bcm-unimac: remove redundant !timeout check (Petr Oros) [1772010] - [netdrv] phy: marvell: add PHY tunable fast link down support for 88E1540 (Petr Oros) [1772010] - [uapi] ethtool: add PHY Fast Link Down support (Petr Oros) [1772010] - [netdrv] phy: aquantia: inform about proprietary 1000Base-T2 mode being in use (Petr Oros) [1772010] - [netdrv] phy: aquantia: report PHY details like firmware version (Petr Oros) [1772010] - [netdrv] phy: aquantia: print remote capabilities if link partner is Aquantia PHY (Petr Oros) [1772010] - [kernel] phy: bcm54xx: Encode link speed and activity into LEDs (Petr Oros) [1772010] - [netdrv] phy: aquantia: simplify aqr_config_aneg (Petr Oros) [1772010] - [netdrv] phy: don't clear BMCR in genphy_soft_reset (Petr Oros) [1772010] - [netdrv] phy: Re-parent menus for MDIO bus drivers correctly (Petr Oros) [1772010] - [netdrv] phy: Correct Cygnus/Omega PHY driver prompt (Petr Oros) [1772010] - [netdrv] phy: aquantia: add downshift support (Petr Oros) [1772010] - [netdrv] phy: Move Omega PHY entry to Cygnus PHY driver (Petr Oros) [1772010] - [netdrv] phy: Prepare for moving Omega out of bcm7xxx (Petr Oros) [1772010] - [netdrv] phy: Add DP83825I to the DP83822 driver (Petr Oros) [1772010] - [netdrv] phy: aquantia: check for changed interface mode in read_status (Petr Oros) [1772010] - [netdrv] phy: aquantia: check for supported interface modes in config_init (Petr Oros) [1772010] - [netdrv] phy: improve handling link_change_notify callback (Petr Oros) [1772010] - [netdrv] phy: meson-gxl: fix interrupt support (Petr Oros) [1772010] - [gpio] gpiolib: devprop: Fix syntax error (Petr Oros) [1772010] - [kernel] gpiolib: export devprop_gpiochip_set_names() (Petr Oros) [1772010] - [netdrv] phy: mdio-mux: fix Kconfig dependencies (Petr Oros) [1772010] - [netdrv] phy: use phy_modify_mmd_changed in genphy_c45_an_config_aneg (Petr Oros) [1772010] - [netdrv] phy: remove gen10g_no_soft_reset (Petr Oros) [1772010] - [netdrv] phy: don't export gen10g_read_status (Petr Oros) [1772010] - [netdrv] phy: remove gen10g_config_init (Petr Oros) [1772010] - [netdrv] phy: remove gen10g_suspend and gen10g_resume (Petr Oros) [1772010] - [netdrv] phy: use genphy_c45_aneg_done in genphy_aneg_done (Petr Oros) [1772010] - [netdrv] phy: micrel ksz8061: link failure after cable connect (Petr Oros) [1772010] - [netdrv] phy: phylink: fix uninitialized variable in phylink_get_mac_state (Petr Oros) [1772010] - [netdrv] phy: aquantia: add hwmon support (Petr Oros) [1772010] - [netdrv] phy: aquantia: rename aquantia.c to aquantia_main.c (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use the generic C45 helper to read the 2110 features (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Let genphy_c45_pma_read_abilities set Aneg bit (Petr Oros) [1772010] - [netdrv] phy: dp83867: add soft reset delay (Petr Oros) [1772010] - [netdrv] phy: mdio-mux: Add support for Generic Mux controls (Petr Oros) [1772010] - [netdrv] phy: improve auto-neg emulation in swphy (Petr Oros) [1772010] - [netdrv] phy: marvell10g: add support for the 88x2110 PHY (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Force reading of 2.5/5G (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use a #define for 88X3310 family id (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use 2500BASEX when using 2.5GBASET (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use linkmode_set_bit helper instead of __set_bit (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use get_features to get the PHY abilities (Petr Oros) [1772010] - [netdrv] phy: aquantia: use genphy_c45_read_status (Petr Oros) [1772010] - [netdrv] phy: add genphy_c45_read_status (Petr Oros) [1772010] - [netdrv] phy: don't change modes we don't care about in genphy_c45_read_lpa (Petr Oros) [1772010] - [netdrv] phy: aquantia: add support for auto-negotiation configuration (Petr Oros) [1772010] - [netdrv] phy: aquantia: remove false 5G and 10G speed ability for AQCS109 (Petr Oros) [1772010] - [netdrv] phy: check PMAPMD link status only in genphy_c45_read_link (Petr Oros) [1772010] - [netdrv] mdio_bus: Fix use-after-free on device_register fails (Petr Oros) [1772010] - [netdrv] phy: at803x: disable delay only for RGMII mode (Petr Oros) [1772010] - [netdrv] phy: at803x: don't inline helpers (Petr Oros) [1772010] - [netdrv] phy: aquantia: Use get_features for the PHYs abilities (Petr Oros) [1772010] - [netdrv] phy: marvell10g: use genphy_c45_check_and_restart_aneg in mv3310_config_aneg (Petr Oros) [1772010] - [netdrv] phy: add genphy_c45_check_and_restart_aneg (Petr Oros) [1772010] - [netdrv] phy: use genphy_config_eee_advert in genphy_c45_an_config_aneg (Petr Oros) [1772010] - [netdrv] phy: export genphy_config_eee_advert (Petr Oros) [1772010] - [netdrv] phy: don't use 10BaseT/half as default in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: remove orphaned register read in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: marvell10g: improve mv3310_config_aneg (Petr Oros) [1772010] - [netdrv] phy: disable aneg in genphy_c45_pma_setup_forced (Petr Oros) [1772010] - [netdrv] phy: use mii_10gbt_stat_mod_linkmode_lpa_t in genphy_c45_read_lpa (Petr Oros) [1772010] - [kernel] phy: add helper mii_10gbt_stat_mod_linkmode_lpa_t (Petr Oros) [1772010] - [netdrv] phy: marvell10g: check for newly set aneg (Petr Oros) [1772010] - [netdrv] phy: marvell10g: use genphy_c45_an_config_aneg (Petr Oros) [1772010] - [netdrv] phy: add genphy_c45_an_config_aneg (Petr Oros) [1772010] - [kernel] phy: add helper linkmode_adv_to_mii_10gbt_adv_t (Petr Oros) [1772010] - [netdrv] mdio_bus: Fix PTR_ERR() usage after initialization to constant (Petr Oros) [1772010] - [netdrv] phy: xgmiitorgmii: Support generic PHY status read (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Don't explicitly set Pause and Asym_Pause (Petr Oros) [1772010] - [netdrv] phy: use phy_resolve_aneg_linkmode in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: improve phy_resolve_aneg_linkmode (Petr Oros) [1772010] - [netdrv] phy: fix potential race in the phylib state machine (Petr Oros) [1772010] - [kernel] phy: don't use locking in phy_is_started (Petr Oros) [1772010] - [netdrv] phy: fix interrupt handling in non-started states (Petr Oros) [1772010] - [netdrv] phy: simplify genphy_config_eee_advert (Petr Oros) [1772010] - [netdrv] phylink: avoid resolving link state too early (Petr Oros) [1772010] - [netdrv] phylink: add phylink_init_eee() helper (Petr Oros) [1772010] - [netdrv] phylink: only call mac_config() during resolve when link is up (Petr Oros) [1772010] - [netdrv] phy: use phy_modify_changed in genphy_config_advert (Petr Oros) [1772010] - [netdrv] phy: marvell10g: fix usage of new MMD modifying helpers (Petr Oros) [1772010] - [netdrv] phy: add register modifying helpers returning 1 on change (Petr Oros) [1772010] - [netdrv] phy: aquantia: add support for AQCS109 (Petr Oros) [1772010] - [netdrv] phy: disregard "Clause 22 registers present" bit in get_phy_c45_devs_in_pkg (Petr Oros) [1772010] - [netdrv] phy: let genphy_c45_read_link manage the devices to check (Petr Oros) [1772010] - [netdrv] phy: don't double-read link status register if link is up (Petr Oros) [1772010] - [netdrv] fixed-phy: Add fixed_phy_register_with_gpiod() API (Petr Oros) [1772010] - [netdrv] phy: fixed_phy: Fix fixed_phy not checking GPIO (Petr Oros) [1772010] - [netdrv] phy: consider latched link-down status in polling mode (Petr Oros) [1772010] - [netdrv] sfp: do not probe SFP module before we're attached (Petr Oros) [1772010] - [netdrv] phy: make use of new MMD accessors (Petr Oros) [1772010] - [kernel] phy: provide full set of accessor functions to MMD registers (Petr Oros) [1772010] - [netdrv] phy: improve genphy_c45_read_link (Petr Oros) [1772010] - [netdrv] phy: fixed-phy: Drop GPIO from fixed_phy_add() (Petr Oros) [1772010] - [netdrv] dp83640: expire old TX-skb (Petr Oros) [1772010] - [netdrv] phy: aquantia: replace magic numbers with constants (Petr Oros) [1772010] - [netdrv] phy: aquantia: use macro PHY_ID_MATCH_MODEL (Petr Oros) [1772010] - [netdrv] phy: aquantia: remove unneeded includes (Petr Oros) [1772010] - [netdrv] phy: aquantia: Shorten name space prefix to aqr_ (Petr Oros) [1772010] - [netdrv] revert "net: phy: marvell: avoid pause mode on SGMII-to-Copper for 88e151x" (Petr Oros) [1772010] - [netdrv] phy: at803x: Use helpers to access MMD PHY registers (Petr Oros) [1772010] - [netdrv] phy: change phy_start_interrupts to phy_request_interrupt (Petr Oros) [1772010] - [netdrv] phy: start interrupts in phy_start (Petr Oros) [1772010] - [netdrv] phy: warn if phy_start is called from invalid state (Petr Oros) [1772010] - [netdrv] phy: start state machine in phy_start only (Petr Oros) [1772010] - [netdrv] phy: Add SDPX tag based on COPYING file (Petr Oros) [1772010] - [netdrv] phy: Fixup GPLv2 SPDX tags based on license text (Petr Oros) [1772010] - [netdrv] phy: Fixup GPLv2+ SPDX tags based on license text (Petr Oros) [1772010] - [netdrv] phy: Remove redundent License text when SPDX header is present (Petr Oros) [1772010] - [netdrv] phy: Convert some PHY and MDIO driver files to SPDX headers (Petr Oros) [1772010] - [netdrv] phy: at803x: Disable phy delay for RGMII mode (Petr Oros) [1772010] - [netdrv] phy: improve phy_init_hw (Petr Oros) [1772010] - [netdrv] phy: fix issue with loading PHY driver w/o initramfs (Petr Oros) [1772010] - [netdrv] phy: remove phy_stop_interrupts (Petr Oros) [1772010] - [netdrv] phy: ensure phylib state machine is stopped after calling phy_stop (Petr Oros) [1772010] - [netdrv] phy: stop PHY if needed when entering phy_disconnect (Petr Oros) [1772010] - [netdrv] phy: micrel: use phy_read_mmd and phy_write_mmd (Petr Oros) [1772010] - [netdrv] phy: improve get_phy_id (Petr Oros) [1772010] - [kernel] phy: remove state PHY_CHANGELINK (Petr Oros) [1772010] - [netdrv] phy: mdio_bus: add missing device_del() in mdiobus_register() error handling (Petr Oros) [1772010] - [netdrv] phy: check return code when requesting PHY driver module (Petr Oros) [1772010] - [netdrv] phy: Add helpers to determine if PHY driver is generic (Petr Oros) [1772010] - [netdrv] phy: improve logging in phylib (Petr Oros) [1772010] - [netdrv] phy: don't include asm/irq.h directly (Petr Oros) [1772010] - [netdrv] phy: remove preliminary workaround for not loading PHY driver (Petr Oros) [1772010] - [netdrv] phy: meson-gxl: Use the genphy_soft_reset callback (Petr Oros) [1772010] - [netdrv] phy: marvell: Fix deadlock from wrong locking (Petr Oros) [1772010] - [netdrv] phy: marvell: Errata for mv88e6390 internal PHYs (Petr Oros) [1772010] - [netdrv] phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ9031 (Petr Oros) [1772010] - [netdrv] phy: fix too strict check in phy_start_aneg (Petr Oros) [1772010] - [kernel] phy.h: fix obvious errors in doc and kerneldoc content (Petr Oros) [1772010] - [netdrv] phy: mscc: Fix the VSC 8531/41 Chip Init sequence (Petr Oros) [1772010] - [netdrv] phy: Fix the issue that netif always links up after resuming (Petr Oros) [1772010] - [netdrv] phy: print stack trace in phy_error (Petr Oros) [1772010] - [netdrv] phy: improve phy state checking (Petr Oros) [1772010] - [netdrv] fixed phy: Add fixed_phy_change_carrier() (Petr Oros) [1772010] - [netdrv] phy: mdio-gpio: Add phy_ignore_ta_mask to platform data (Petr Oros) [1772010] - [kernel] phy: mdio-gpio: Add platform_data support for phy_mask (Petr Oros) [1772010] - [kernel] gpio: Export gpiod_get_from_of_node() (Petr Oros) [1772010] - [netdrv] phy: Revert toggling reset changes (Petr Oros) [1772010] - [netdrv] phy: sfp: correct store of detected link modes (Petr Oros) [1772010] - [netdrv] phy: micrel: add toggling phy reset if PHY is not attached (Petr Oros) [1772010] - [netdrv] phy: Fix not to call phy_resume() if PHY is not attached (Petr Oros) [1772010] - [netdrv] phy: improve generic EEE ethtool functions (Petr Oros) [1772010] - [netdrv] phy: add workaround for issue where PHY driver doesn't bind to the device (Petr Oros) [1772010] - [netdrv] phy: mscc: fix deadlock in vsc85xx_default_config (Petr Oros) [1772010] - [netdrv] phy: vitesse: remove duplicate support for VSC8574 (Petr Oros) [1772010] - [netdrv] phy: icplus: allow configuring the interrupt function on IP101GR (Petr Oros) [1772010] - [netdrv] phy: icplus: implement .did_interrupt for IP101A/G (Petr Oros) [1772010] - [netdrv] phy: icplus: rename IP101A_G_NO_IRQ to IP101A_G_IRQ_ALL_MASK (Petr Oros) [1772010] - [netdrv] phy: icplus: use the BIT macro where possible (Petr Oros) [1772010] - [netdrv] phy: icplus: keep all ip101a_g functions together (Petr Oros) [1772010] - [documentation] dt-bindings: phy: add bindings for the IC Plus Corp. IP101A/G PHYs (Petr Oros) [1772010] - [documentation] dt-bindings: vendor-prefix: add prefix for IC Plus Corp (Petr Oros) [1772010] - [netdrv] phy: mdio-gpio: Fix working over slow can_sleep GPIOs (Petr Oros) [1772010] - [netdrv] phy: check for implementation of both callbacks in phy_drv_supports_irq (Petr Oros) [1772010] - [netdrv] phy: icplus: add config_intr callback (Petr Oros) [1772010] - [kernel] phy: remove states PHY_STARTING and PHY_PENDING (Petr Oros) [1772010] - [netdrv] phy: leds: Don't make our own link speed names (Petr Oros) [1772010] - [netdrv] phy: improve and inline phy_change (Petr Oros) [1772010] - [netdrv] phy: simplify phy_mac_interrupt and related functions (Petr Oros) [1772010] - [netdrv] phy: don't set state PHY_CHANGELINK in phy_change (Petr Oros) [1772010] - [kernel] phy: improve struct phy_device member interrupts handling (Petr Oros) [1772010] - [netdrv] phy: remove flag PHY_HAS_INTERRUPT from driver configs (Petr Oros) [1772010] - [netdrv] phy: replace PHY_HAS_INTERRUPT with a check for config_intr and ack_interrupt (Petr Oros) [1772010] - [netdrv] phy: use phy_check_link_status in more places in the state machine (Petr Oros) [1772010] - [kernel] phy: remove state PHY_AN (Petr Oros) [1772010] - [netdrv] phy: add phy_check_link_status (Petr Oros) [1772010] - [netdrv] phy: remove useless check in state machine case PHY_RESUMING (Petr Oros) [1772010] - [netdrv] phy: remove useless check in state machine case PHY_NOLINK (Petr Oros) [1772010] - [netdrv] phy: make phy_trigger_machine static (Petr Oros) [1772010] - [netdrv] phy: bcm7xxx: Add entry for BCM7255 (Petr Oros) [1772010] - [netdrv] phy: Allow BCM54616S PHY to setup internal TX/RX clock delay (Petr Oros) [1772010] - [netdrv] phy: mdio-mux-bcm-iproc: simplify getting .driver_data (Petr Oros) [1772010] - [documentation] dt-bindings: add support for Microchip KSZ9131 (Petr Oros) [1772010] - [netdrv] phy: micrel: add Microchip KSZ9131 initial driver (Petr Oros) [1772010] - [netdrv] phy: mscc: fix memory leak in vsc8574_config_pre_init (Petr Oros) [1772010] - [netdrv] phy: mscc: fix signedness bug in vsc85xx_downshift_get (Petr Oros) [1772010] - [netdrv] phy: merge phy_start_aneg and phy_start_aneg_priv (Petr Oros) [1772010] - [netdrv] phy: simplify handling of PHY_RESUMING in state machine (Petr Oros) [1772010] - [netdrv] phy: improve handling of PHY_RUNNING in state machine (Petr Oros) [1772010] - [netdrv] phy: trigger state machine immediately in phy_start_machine (Petr Oros) [1772010] - [netdrv] phy: sfp: remove sfp_mutex's definition (Petr Oros) [1772010] - [netdrv] phy: mscc: add support for VSC8574 PHY (Petr Oros) [1772010] - [netdrv] phy: mscc: add support for VSC8584 PHY (Petr Oros) [1772010] - [dt-bindings] vsc8531: add two additional LED modes for VSC8584 (Petr Oros) [1772010] - [netdrv] phy: mscc: remove unneeded temporary variable (Petr Oros) [1772010] - [netdrv] phy: mscc: shorten `x != 0` condition to `x` (Petr Oros) [1772010] - [netdrv] phy: mscc: remove unneeded parenthesis (Petr Oros) [1772010] - [netdrv] phy: mscc: Add EEE init sequence (Petr Oros) [1772010] - [netdrv] phy: mscc: add ethtool statistics counters (Petr Oros) [1772010] - [netdrv] phy: mscc: migrate to phy_select/restore_page functions (Petr Oros) [1772010] - [netdrv] phy: phylink: fix SFP interface autodetection (Petr Oros) [1772010] - [netdrv] phy: Convert to using pOFn instead of device_node.name (Petr Oros) [1772010] - [netdrv] phy: improve handling delayed work (Petr Oros) [1772010] - [netdrv] phy: mscc: fix printf format (Petr Oros) [1772010] - [netdrv] phy: mdio-bcm-unimac: mark PM functions as __maybe_unused (Petr Oros) [1772010] - [netdrv] phy: marvell: Fix build (Petr Oros) [1772010] - [netdrv] phy: marvell: Avoid unnecessary soft reset (Petr Oros) [1772010] - [netdrv] phy: Stop with excessive soft reset (Petr Oros) [1772010] - [netdrv] phy: sfp: Fix unregistering of HWMON SFP device (Petr Oros) [1772010] - [netdrv] phy: fix WoL handling when suspending the PHY (Petr Oros) [1772010] - [net] core: add member wol_enabled to struct net_device (Petr Oros) [1772010] - [netdrv] phy: mdio-bcm-unimac: Allow configuring MDIO clock divider (Petr Oros) [1772010] - [netdrv] phy: don't reschedule state machine when PHY is halted (Petr Oros) [1772010] - [netdrv] phy: phylink: ensure the carrier is off when starting phylink (Petr Oros) [1772010] - [netdrv] phy: call state machine synchronously in phy_stop (Petr Oros) [1772010] - [net] linkwatch: add check for netdevice being present to linkwatch_do_dev (Petr Oros) [1772010] - [netdrv] sfp: fix oops with ethtool -m (Petr Oros) [1772010] - [netdrv] mdio: remove duplicated include from mdio_bus.c (Petr Oros) [1772010] - [netdrv] phy: et011c: Remove incorrect PHY_POLL flags (Petr Oros) [1772010] - [netdrv] phy: sfp: Handle unimplemented hwmon limits and alarms (Petr Oros) [1772010] - [netdrv] phy: mscc: read 'vsc8531, led-d-mode' as an u32 (Petr Oros) [1772010] - [netdrv] phy: mscc: read 'vsc8531, edge-slowdown' as an u32 (Petr Oros) [1772010] - [netdrv] phy: mscc: read 'vsc8531, vddmac' as an u32 (Petr Oros) [1772010] - [netdrv] phy: mscc: factorize function for getting LED mode from DT (Petr Oros) [1772010] - [netdrv] phy: mscc: factorize code for LEDs mode (Petr Oros) [1772010] - [netdrv] dp83640: Mark expected switch fall-throughs (Petr Oros) [1772010] - [netdrv] phylink: add helper for configuring 2500BaseX modes (Petr Oros) [1772010] - [netdrv] phy: sftp: print debug message with text, not numbers (Petr Oros) [1772010] - [netdrv] phy: Add support for Broadcom Omega internal Combo GPHY (Petr Oros) [1772010] - [netdrv] phy: Add pm support to Broadcom iProc mdio mux driver (Petr Oros) [1772010] - [netdrv] phy: Add support to configure clock in Broadcom iProc mdio mux (Petr Oros) [1772010] - [documentation] dt-bindings: Add clock handle to Broadcom iProc mdio mux (Petr Oros) [1772010] - [netdrv] phy: Use devm api for mdio bus allocation in bcm iproc mdio mux (Petr Oros) [1772010] - [netdrv] phy: Disable external master access in bcm mdio mux driver (Petr Oros) [1772010] - [arm64] dts: Fix the base address of the Broadcom iProc mdio mux (Petr Oros) [1772010] - [netdrv] phy: Fix the register offsets in Broadcom iProc mdio mux driver (Petr Oros) [1772010] - [documentation] dt-bindings: Fix Broadcom iProc mdio mux driver base address (Petr Oros) [1772010] - [netdrv] phy: mscc: the extended page access register is 16 bits (Petr Oros) [1772010] - [netdrv] phy: marvell: Replace mdelay() with msleep() in m88e1116r_config_init() (Petr Oros) [1772010] - [kernel] phy: add helper phy_polling_mode (Petr Oros) [1772010] - [netdrv] phy: prevent PHYs w/o Clause 22 regs from calling genphy_config_aneg (Petr Oros) [1772010] - [netdrv] phy: add GBit master / slave error detection (Petr Oros) [1772010] - [netdrv] phy: sfp: Do not use "imply HWMON" (Petr Oros) [1772010] - [netdrv] phy: sfp: Add HWMON support for module sensors (Petr Oros) [1772010] - [kernel] hwmon: Add helper to tell if a char is invalid in a name (Petr Oros) [1772010] - [kernel] hwmon: Add support for power min, lcrit, min_alarm and lcrit_alarm (Petr Oros) [1772010] - [kernel] hwmon: Add missing HWMON_T_LCRIT_ALARM define (Petr Oros) [1772010] - [netdrv] phy: Drop OF dependency for MDIO_BCM_UNIMAC (Petr Oros) [1772010] - [gpio] gpiolib: Mark gpio_suffixes array with __maybe_unused (Petr Oros) [1772010] - [netdrv] phy: vitesse: Add support for VSC73xx (Petr Oros) [1772010] - [netdrv] phy: dp83tc811: Fix SGMII enable/disable (Petr Oros) [1772010] - [netdrv] phy: dp83tc811: Add INT_STAT3 (Petr Oros) [1772010] - [netdrv] phy: xgmiitorgmii: Check read_status results (Petr Oros) [1772010] - [netdrv] phy: xgmiitorgmii: Use correct mdio bus (Petr Oros) [1772010] - [netdrv] phy: xgmiitorgmii: Check phy_driver ready before accessing (Petr Oros) [1772010] - [netdrv] mdio-mux-gpio: Remove VLA usage (Petr Oros) [1772010] - [netdrv] phy: fixed-phy: Make the error path simpler (Petr Oros) [1772010] - [netdrv] phy: Allow compile test of GPIO consumers if !GPIOLIB (Petr Oros) [1772010] - [watchdog] hpwdt: Reflect changes (Joseph Szczypek) [1769477] - [documentation] watchdog/hpwdt: Update documentation (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Add module parameter kdumptimeout (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Have core ping watchdog (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Advertize max_hw_heartbeat_ms (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Stop hpwdt on unregister (Joseph Szczypek) [1769477] - [watchdog] hpwdt: drop warning after registering device (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Joseph Szczypek) [1769477] - [nvme] make fabrics command run on a separate request queue (David Milburn) [1766361] - [nvme] Restart request timers in resetting state (David Milburn) [1766361] - [nvme] nvme-rdma: fix possible use-after-free in connect timeout (David Milburn) [1766361] - [block] blk-mq: remove blk_mq_complete_request_sync (David Milburn) [1766361] - [nvme] wait until all completed request's complete fn is called (David Milburn) [1766361] - [nvme] don't abort completed request in nvme_cancel_request (David Milburn) [1766361] - [block] blk-mq: introduce blk_mq_tagset_wait_completed_request() (David Milburn) [1766361] - [block] blk-mq: introduce blk_mq_request_completed() (David Milburn) [1766361]- [hwtracing] intel_th: pci: Add Jasper Lake PCH support (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Add Comet Lake PCH support (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix possible memory leak in mode_store() (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix overflow in shift of an unsigned int (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix missing allocation failure check on a kstrndup (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix an uninitialized mutex (Jiri Olsa) [1771015] - [hwtracing] intel_th: gth: Fix the window switching sequence (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Add Tiger Lake support (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Preserve pre-existing buffer configuration (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Prevent freeing buffers while locked windows exist (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Get rid of the window size limit (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu-sink: An example msu buffer "sink" (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Introduce buffer interface (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Start read iterator from a non-empty window (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Split sgt array and pointer in multiwindow mode (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Support multipage blocks (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Add Ice Lake NNPI support (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix single mode with disabled IOMMU (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Remove set but not used variable 'last' (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix unused variable warning on arm64 platform (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Add current window tracking (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Add a sysfs attribute to trigger window switch (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Correct the block wrap detection (Jiri Olsa) [1771015] - [hwtracing] intel_th: Add switch triggering support (Jiri Olsa) [1771015] - [hwtracing] intel_th: gth: Factor out trace start/stop (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Factor out pipeline draining (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Switch over to scatterlist (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Replace open-coded list_{first, last, next}_entry variants (Jiri Olsa) [1771015] - [hwtracing] intel_th: Only report useful IRQs to subdevices (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Start handling IRQs (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Use MSI interrupt signalling (Jiri Olsa) [1771015] - [hwtracing] intel_th: Communicate IRQ via resource (Jiri Olsa) [1771015] - [hwtracing] intel_th: Add "rtit" source device (Jiri Olsa) [1771015] - [hwtracing] intel_th: Skip subdevices if their MMIO is missing (Jiri Olsa) [1771015] - [hwtracing] intel_th: Rework resource passing between glue layers and core (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix single mode with IOMMU (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Add Comet Lake support (Jiri Olsa) [1771015] - [hwtracing] intel_th: gth: Fix an off-by-one in output unassigning (Jiri Olsa) [1771015] - [hwtracing] intel_th: Don't reference unassigned outputs (Jiri Olsa) [1771015] - [hwtracing] intel_th: pti: Use sysfs_match_string() helper (Jiri Olsa) [1771015] - [hwtracing] intel_th: Only create useful device nodes (Jiri Olsa) [1771015] - [hwtracing] intel_th: Mark expected switch fall-throughs (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix an off-by-one in attribute store (Jiri Olsa) [1771015] - [hwtracing] intel_th: Fix resource handling for ACPI glue layer (Jiri Olsa) [1771015] - [hwtracing] intel_th: Fix device removal logic (Jiri Olsa) [1771015] - [hwtracing] hwtracing/intel_th/msu.c: change return type to vm_fault_t (Jiri Olsa) [1771015] - [scripts] kbuild: modversions: Fix relative CRC byte order interpretation (Don Zickus) [1772940] - [tools] tools x86 uapi asm: Sync the pt_regs.h copy with the kernel sources (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for trace sequences APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for APIs used to extract common fields from a record (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for tep_parse_header_page() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for parse event APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for event filter APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for event fields APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for tep_read_number_field() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for print field APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for get field value APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for find field APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for libtraceevent event get APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for list events APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for event find APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for tep_read_number() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for registering print function (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for function related libtraceevent APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for event handler APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for tep_strerror() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for page size APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for host endian APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for file endian APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for get/set cpus APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for header_page APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for tep_handler related APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Add support for man pages with multiple names (Michael Petlan) [1743208] - [tools] tools lib traceevent: Introduce man pages (Michael Petlan) [1743208] - [tools] perf/x86/regs: Use PERF_REG_EXTENDED_MASK (Michael Petlan) [1743208] - [tools] perf record: Fix s390 missing module symbol and warning for non-root users (Michael Petlan) [1743208] - [tools] perf machine: Read also the end of the kernel (Michael Petlan) [1743208] - [tools] perf test vmlinux-kallsyms: Ignore aliases to _etext when searching on kallsyms (Michael Petlan) [1743208] - [tools] perf session: Add missing swap ops for namespace events (Michael Petlan) [1743208] - [tools] perf namespace: Protect reading thread's namespace (Michael Petlan) [1743208] - [tools] perf data: Fix 'strncat may truncate' build failure with recent gcc (Michael Petlan) [1743208] - [tools] perf stat: Support 'percore' event qualifier (Michael Petlan) [1743208] - [tools] perf stat: Factor out aggregate counts printing (Michael Petlan) [1743208] - [tools] perf tools: Add a 'percore' event qualifier (Michael Petlan) [1743208] - [tools] perf docs: Add description for stderr (Michael Petlan) [1743208] - [tools] perf intel-pt: Fix sample timestamp wrt non-taken branches (Michael Petlan) [1743208] - [tools] perf intel-pt: Fix improved sample timestamp (Michael Petlan) [1743208] - [tools] perf intel-pt: Fix instructions sampling rate (Michael Petlan) [1743208] - [tools] perf regs x86: Add X86 specific arch__intr_reg_mask() (Michael Petlan) [1743208] - [tools] perf parse-regs: Add generic support for arch__intr/user_reg_mask() (Michael Petlan) [1743208] - [tools] perf parse-regs: Split parse_regs (Michael Petlan) [1743208] - [tools] perf vendor events arm64: Add Cortex-A57 and Cortex-A72 events (Michael Petlan) [1743208] - [tools] perf vendor events arm64: Map Brahma-B53 CPUID to cortex-a53 events (Michael Petlan) [1743208] - [tools] perf vendor events arm64: Remove [[:xdigit:]] wildcard (Michael Petlan) [1743208] - [tools] perf jevents: Remove unused variable (Michael Petlan) [1743208] - [tools] perf test zstd: Fixup verbose mode output (Michael Petlan) [1743208] - [tools] perf tests: Implement Zstd comp/decomp integration test (Michael Petlan) [1743208] - [tools] perf inject: Enable COMPRESSED record decompression (Michael Petlan) [1743208] - [tools] perf report: Implement perf.data record decompression (Michael Petlan) [1743208] - [tools] perf record: Implement -z, --compression_level[=] option (Michael Petlan) [1743208] - [tools] perf report: Add stub processing of compressed events for -D (Michael Petlan) [1743208] - [tools] perf record: Implement compression for AIO trace streaming (Michael Petlan) [1743208] - [tools] perf record: Implement compression for serial trace streaming (Michael Petlan) [1743208] - [tools] perf tools: Introduce Zstd streaming based compression API (Michael Petlan) [1743208] - [tools] perf mmap: Implement dedicated memory buffer for data compression (Michael Petlan) [1743208] - [tools] perf record: Implement COMPRESSED event record and its attributes (Michael Petlan) [1743208] - [tools] perf session: Define 'bytes_transferred' and 'bytes_compressed' metrics (Michael Petlan) [1743208] - [tools] perf build tests: Add NO_LIBZSTD=1 to make_minimal (Michael Petlan) [1743208] - [tools] perf machine: Null-terminate version char array upon fgets(/proc/version) error (Michael Petlan) [1743208] - [tools] perf vendor events intel: Add uncore_upi JSON support (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Add 'About' dialog box (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Add context menu (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Add copy to clipboard (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Add tree level (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Fix error when shrinking / enlarging font (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Move view creation (Michael Petlan) [1743208] - [tools] perf tools x86: Add support for recording and printing XMM registers (Michael Petlan) [1743208] - [tools] perf parse-regs: Improve error output when faced with unknown register name (Michael Petlan) [1743208] - [tools] perf record: Fix suggestion to get list of registers usable with --user-regs and --intr-regs (Michael Petlan) [1743208] - [tools] perf tools: Speed up report for perf compiled with linwunwind (Michael Petlan) [1743208] - [tools] tools lib traceevent: Remove hard coded install paths from pkg-config file (Michael Petlan) [1743208] - [tools] csky: Add support for libdw (Michael Petlan) [1743208] - [tools] perf test: Fix spelling mistake "leadking" -> "leaking" (Michael Petlan) [1743208] - [tools] perf annotate: Remove hist__account_cycles() from callback (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Silvermont to v14 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update GoldmontPlus to v1.01 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Goldmont to v13 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Bonnell to V4 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update KnightsLanding events to v9 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Haswell events to v28 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update IvyBridge events to v21 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update SandyBridge events to v16 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update JakeTown events to v20 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update IvyTown events to v20 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update HaswellX events to v20 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update BroadwellX events to v14 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update SkylakeX events to v1.12 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Skylake events to v42 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Broadwell-DE events to v7 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Broadwell events to v23 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update metrics from TMAM 3.5 (Michael Petlan) [1743208] - [tools] perf record: Implement --mmap-flush= option (Michael Petlan) [1743208] - [tools] tools build: Implement libzstd feature check, LIBZSTD_DIR and NO_LIBZSTD defines (Michael Petlan) [1743208] - [tools] tools lib traceevent: Rename input arguments and local variables of libtraceevent from pevent to tep (Michael Petlan) [1743208] - [tools] perf tools, tools lib traceevent: Rename "pevent" member of struct tep_event_filter to "tep" (Michael Petlan) [1743208] - [tools] perf tools, tools lib traceevent: Rename "pevent" member of struct tep_event to "tep" (Michael Petlan) [1743208] - [tools] tools lib traceevent: Rename input arguments of libtraceevent APIs from pevent to tep (Michael Petlan) [1743208] - [tools] tools tools, tools lib traceevent: Make traceevent APIs more consistent (Michael Petlan) [1743208] - [tools] tools lib traceevent: Remove call to exit() from tep_filter_add_filter_str() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Remove tep filter trivial APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Removed unneeded !! and return parenthesis (Michael Petlan) [1743208] - [tools] tools lib traceevent: Implement new traceevent APIs for accessing struct tep_handler fields (Michael Petlan) [1743208] - [tools] tools lib traceevent: Coding style fixes (Michael Petlan) [1743208] - [tools] tools lib traceevent: Change description of few APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Add more debugging to see various internal ring buffer entries (Michael Petlan) [1743208] - [tools] tools lib traceevent: Implement a new API, tep_list_events_copy() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Add mono clocks to be parsed in seconds (Michael Petlan) [1743208] - [tools] tools lib traceevent: Handle trace_printk() "px" (Michael Petlan) [1743208] - [tools] perf list: Output tool events (Michael Petlan) [1743208] - [tools] perf evsel: Support printing evsel name for 'duration_time' (Michael Petlan) [1743208] - [tools] perf stat: Implement duration_time as a proper event (Michael Petlan) [1743208] - [tools] perf stat: Revert checks for duration_time (Michael Petlan) [1743208] - [tools] perf list: Fix s390 counter long description for L1D_RO_EXCL_WRITES (Michael Petlan) [1743208] - [tools] perf tools: Add header defining used namespace struct to event.h (Michael Petlan) [1743208] - [tools] perf trace beauty renameat: No need to include linux/fs.h (Michael Petlan) [1743208] - [tools] perf augmented_raw_syscalls: Use a PERCPU_ARRAY map to copy more string bytes (Michael Petlan) [1743208] - [tools] perf augmented_raw_syscalls: Copy strings from all syscalls with 1st or 2nd string arg (Michael Petlan) [1743208] - [tools] perf trace: Add 'string' event alias to select syscalls with string args (Michael Petlan) [1743208] - [x86] perf/x86: Always store regs->ip in perf_callchain_kernel() (Michael Petlan) [1743208] - [x86] perf/x86: Remove pmu->pebs_no_xmm_regs (Michael Petlan) [1743208] - [x86] perf/x86: Clean up PEBS_XMM_REGS (Michael Petlan) [1743208] - [kernel] perf/x86: Disable extended registers for non-supported PMUs (Michael Petlan) [1743208] - [kernel] perf/ioctl: Add check for the sample_period value (Michael Petlan) [1743208] - [kernel] perf/core: Fix perf_sample_regs_user() mm check (Michael Petlan) [1743208] - [kernel] perf/ring-buffer: Use regular variables for nesting (Michael Petlan) [1743208] - [kernel] perf/ring-buffer: Always use {READ, WRITE}_ONCE() for rb->user_page data (Michael Petlan) [1743208] - [kernel] perf/ring_buffer: Add ordering to rb->nest increment (Michael Petlan) [1743208] - [kernel] perf/ring_buffer: Fix exposing a temporarily decreased data_head (Michael Petlan) [1743208] - [x86] perf/x86/intel/ds: Fix EVENT vs. UEVENT PEBS constraints (Michael Petlan) [1743208] - [x86] perf/x86/intel: Allow PEBS multi-entry in watermark mode (Michael Petlan) [1743208] - [x86] perf/x86/intel: Fix INTEL_FLAGS_EVENT_CONSTRAINT* masking (Michael Petlan) [1743208] - [x86] perf/x86/amd/iommu: Make the 'amd_iommu_attr_groups' symbol static (Michael Petlan) [1743208] - [x86] perf/x86/intel: Add Tremont core PMU support (Michael Petlan) [1743208] - [x86] perf/x86/intel/uncore: Add Intel Icelake uncore support (Michael Petlan) [1743208] - [x86] perf/x86/msr: Add Icelake support (Michael Petlan) [1743208] - [x86] perf/x86/intel/rapl: Add Icelake support (Michael Petlan) [1743208] - [x86] perf/x86/intel/cstate: Add Icelake support (Michael Petlan) [1743208] - [x86] perf/x86/intel: Add Icelake support (Michael Petlan) [1743208] - [x86] perf/x86: Support constraint ranges (Michael Petlan) [1743208] - [x86] perf/x86/lbr: Avoid reading the LBRs when adaptive PEBS handles them (Michael Petlan) [1743208] - [x86] perf/x86/intel: Support adaptive PEBS v4 (Michael Petlan) [1743208] - [x86] perf/x86/intel/ds: Extract code of event update in short period (Michael Petlan) [1743208] - [x86] perf/x86/intel: Extract memory code PEBS parser for reuse (Michael Petlan) [1743208] - [x86] perf/x86: Support outputting XMM registers (Michael Petlan) [1743208] - [x86] perf/x86/intel: Force resched when TFA sysctl is modified (Michael Petlan) [1743208] - [kernel] perf/core: Add perf_pmu_resched() as global function (Michael Petlan) [1743208] - [kernel] perf/headers: Fix stale comment for struct perf_addr_filter (Michael Petlan) [1743208] - [kernel] perf/core: Make perf_swevent_init_cpu() static (Michael Petlan) [1743208] - [x86] perf/x86: Add sanity checks to x86_schedule_events() (Michael Petlan) [1743208] - [x86] perf/x86: Optimize x86_schedule_events() (Michael Petlan) [1743208] - [x86] perf/x86: Clear ->event_constraint[] on put (Michael Petlan) [1743208] - [x86] perf/x86/intel: Optimize intel_get_excl_constraints() (Michael Petlan) [1743208] - [x86] perf/x86: Remove PERF_X86_EVENT_COMMITTED (Michael Petlan) [1743208] - [x86] perf/x86: Simplify x86_pmu.get_constraints() interface (Michael Petlan) [1743208] - [x86] perf/x86/intel: Simplify intel_tfa_commit_scheduling() (Michael Petlan) [1743208] - [tools] perf evsel: Do not rely on errno values for precise_ip fallback (Michael Petlan) [1715508] - [kernel] redhat: perf kABI-check failure fix (Michael Petlan) [1715508] - [tools] perf vendor events: Remove P8 HW events which are not supported (Michael Petlan) [1715508] - [x86] cpufeature: Fix various quality problems in the header (Michael Petlan) [1715508] - [x86] cpufeature: Add facility to check for min microcode revisions (Michael Petlan) [1715508] - [tools] perf tools: Remove needless asm/unistd.h include fixing build in some places (Michael Petlan) [1715508] - [tools] tools build: Add -ldl to the disassembler-four-args feature test (Michael Petlan) [1715508] - [tools] perf cs-etm: Always allocate memory for cs_etm_queue::prev_packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Don't check cs_etm_queue::prev_packet validity (Michael Petlan) [1715508] - [tools] perf report: Report OOM in status line in the GTK UI (Michael Petlan) [1715508] - [tools] perf bench numa: Add define for RUSAGE_THREAD if not present (Michael Petlan) [1715508] - [tools] tools lib traceevent: Change tag string for error (Michael Petlan) [1715508] - [tools] perf annotate: Fix build on 32 bit for BPF annotation (Michael Petlan) [1715508] - [tools] perf bpf: Return value with unlocking in perf_env__find_btf() (Michael Petlan) [1715508] - [tools] perf bpf: Return NULL when RB tree lookup fails in perf_env__find_btf() (Michael Petlan) [1715508] - [tools] perf tools: Fix map reference counting (Michael Petlan) [1715508] - [tools] perf evlist: Fix side band thread draining (Michael Petlan) [1715508] - [tools] perf tools: Check maps for bpf programs (Michael Petlan) [1715508] - [tools] perf bpf: Return NULL when RB tree lookup fails in perf_env__find_bpf_prog_info() (Michael Petlan) [1715508] - [tools] tools include uapi: Sync sound/asound.h copy (Michael Petlan) [1715508] - [tools] perf top: Always sample time to satisfy needs of use of ordered queuing (Michael Petlan) [1715508] - [tools] perf evsel: Use hweight64() instead of hweight_long(attr.sample_regs_user) (Michael Petlan) [1715508] - [tools] tools lib traceevent: Fix missing equality check for strcmp (Michael Petlan) [1715508] - [tools] perf stat: Disable DIR_FORMAT feature for 'perf stat record' (Michael Petlan) [1715508] - [tools] perf scripts python: export-to-sqlite.py: Fix use of parent_id in calls_view (Michael Petlan) [1715508] - [tools] perf header: Fix lock/unlock imbalances when processing BPF/BTF info (Michael Petlan) [1715508] - [tools] perf pmu: Fix parser error for uncore event alias (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Fix never-ending loop (Michael Petlan) [1715508] - [tools] perf machine: Update kernel map address and re-order properly (Michael Petlan) [1715508] - [tools] tools headers uapi: Synchronize i915_drm.h (Michael Petlan) [1715508] - [tools] tools headers uapi: Update drm/i915_drm.h (Michael Petlan) [1715508] - [tools] perf evsel: Fix max perf_event_attr.precise_ip detection (Michael Petlan) [1715508] - [tools] perf intel-pt: Fix TSC slip (Michael Petlan) [1715508] - [tools] perf cs-etm: Add missing case value (Michael Petlan) [1715508] - [tools] perf bpf: Show more BPF program info in print_bpf_prog_info() (Michael Petlan) [1715508] - [tools] perf bpf: Extract logic to create program names from perf_event__synthesize_one_bpf_prog() (Michael Petlan) [1715508] - [tools] perf tools: Save bpf_prog_info and BTF of new BPF programs (Michael Petlan) [1715508] - [tools] perf evlist: Introduce side band thread (Michael Petlan) [1715508] - [tools] perf annotate: Enable annotation of BPF programs (Michael Petlan) [1715508] - [tools] perf build: Check what binutils's 'disassembler()' signature to use (Michael Petlan) [1715508] - [tools] tools build: Add -lrt to FEATURE_CHECK_LDFLAGS-libaio (Michael Petlan) [1715508] - [tools] tools build: Add test-reallocarray.c to test-all.c to fix the build (Michael Petlan) [1715508] - [tools] perf bpf: Process PERF_BPF_EVENT_PROG_LOAD for annotation (Michael Petlan) [1715508] - [tools] perf symbols: Introduce DSO_BINARY_TYPE__BPF_PROG_INFO (Michael Petlan) [1715508] - [tools] perf feature detection: Add -lopcodes to feature-libbfd (Michael Petlan) [1715508] - [tools] perf top: Add option --no-bpf-event (Michael Petlan) [1715508] - [tools] perf bpf: Save BTF information as headers to perf.data (Michael Petlan) [1715508] - [tools] perf bpf: Save BTF in a rbtree in perf_env (Michael Petlan) [1715508] - [tools] perf bpf: Save bpf_prog_info information as headers to perf.data (Michael Petlan) [1715508] - [tools] perf bpf: Save bpf_prog_info in a rbtree in perf_env (Michael Petlan) [1715508] - [tools] perf bpf: Make synthesize_bpf_events() receive perf_session pointer instead of perf_tool (Michael Petlan) [1715508] - [tools] perf bpf: Synthesize bpf events with bpf_program__get_prog_info_linear() (Michael Petlan) [1715508] - [tools] perf record: Replace option --bpf-event with --no-bpf-event (Michael Petlan) [1715508] - [tools] perf tests: Fix a memory leak in test__perf_evsel__tp_sched_test() (Michael Petlan) [1715508] - [tools] perf tests: Fix memory leak by expr__find_other() in test__expr() (Michael Petlan) [1715508] - [tools] perf tests: Fix a memory leak of cpu_map object in the openat_syscall_event_on_all_cpus test (Michael Petlan) [1715508] - [tools] perf evsel: Free evsel->counts in perf_evsel__exit() (Michael Petlan) [1715508] - [tools] perf top: Fix global-buffer-overflow issue (Michael Petlan) [1715508] - [tools] perf maps: Purge all maps from the 'names' tree (Michael Petlan) [1715508] - [tools] perf map: Remove map from 'names' tree in __maps__remove() (Michael Petlan) [1715508] - [tools] perf hist: Add missing map__put() in error case (Michael Petlan) [1715508] - [tools] perf top: Fix error handling in cmd_top() (Michael Petlan) [1715508] - [tools] perf top: Delete the evlist before perf_session, fixing heap-use-after-free issue (Michael Petlan) [1715508] - [tools] perf build-id: Fix memory leak in print_sdt_events() (Michael Petlan) [1715508] - [tools] perf config: Fix a memory leak in collect_config() (Michael Petlan) [1715508] - [tools] perf config: Fix an error in the config template documentation (Michael Petlan) [1715508] - [tools] perf list: Don't forget to drop the reference to the allocated thread_map (Michael Petlan) [1715508] - [tools] perf tools: Add doc about how to build perf with Asan and UBSan (Michael Petlan) [1715508] - [tools] perf vendor events: Remove P8 HW events which are not supported (Michael Petlan) [1715508] - [tools] perf stat: Improve scaling (Michael Petlan) [1715508] - [tools] perf stat: Fix --no-scale (Michael Petlan) [1715508] - [tools] perf script: Support relative time (Michael Petlan) [1715508] - [tools] perf report: Indicate JITed code better in report (Michael Petlan) [1715508] - [tools] perf report: Show all sort keys in help output (Michael Petlan) [1715508] - [tools] perf record: Clarify help for --switch-output (Michael Petlan) [1715508] - [tools] perf record: Allow to limit number of reported perf.data files (Michael Petlan) [1715508] - [tools] perf list: Filter metrics too (Michael Petlan) [1715508] - [tools] perf tools report: Add custom scripts to script menu (Michael Petlan) [1715508] - [tools] perf ui browser: Fix ui popup argv browser for many entries (Michael Petlan) [1715508] - [tools] perf script: Add array bound checking to list_scripts (Michael Petlan) [1715508] - [tools] perf tools: Add some new tips describing the new options (Michael Petlan) [1715508] - [tools] perf report: Implement browsing of individual samples (Michael Petlan) [1715508] - [tools] perf report: Support builtin perf script in scripts menu (Michael Petlan) [1715508] - [tools] perf report: Support running scripts for current time range (Michael Petlan) [1715508] - [tools] perf report: Support time sort key (Michael Petlan) [1715508] - [tools] perf script: Filter COMM/FORK/.. events by CPU (Michael Petlan) [1715508] - [tools] perf tools: Update x86's syscall_64.tbl, no change in tools/perf behaviour (Michael Petlan) [1715508] - [tools] perf script python: Add printdate function to SQL exporters (Michael Petlan) [1715508] - [tools] perf report: Use less for scripts output (Michael Petlan) [1715508] - [tools] perf session: Add process callback to reader object (Michael Petlan) [1715508] - [tools] perf header: Add DIR_FORMAT feature to describe directory data (Michael Petlan) [1715508] - [tools] perf data: Make perf_data__size() work over directory (Michael Petlan) [1715508] - [tools] perf data: Add perf_data__update_dir() function (Michael Petlan) [1715508] - [tools] perf data: Don't store auxtrace index for directory data file (Michael Petlan) [1715508] - [tools] perf data: Support having perf.data stored as a directory (Michael Petlan) [1715508] - [tools] perf vendor events amd: perf PMU events for AMD Family 17h (Michael Petlan) [1715508] - [tools] perf probe: Fix getting the kernel map (Michael Petlan) [1715508] - [tools] perf report: Parse time quantum (Michael Petlan) [1715508] - [tools] perf time-utils: Add utility function to print time stamps in nanoseconds (Michael Petlan) [1715508] - [tools] perf report: Support output in nanoseconds (Michael Petlan) [1715508] - [tools] perf script: Support insn output for normal samples (Michael Petlan) [1715508] - [tools] perf data: Force perf_data__open|close zero data->file.path (Michael Petlan) [1715508] - [tools] perf session: Fix double free in perf_data__close (Michael Petlan) [1715508] - [tools] perf evsel: Probe for precise_ip with simple attr (Michael Petlan) [1715508] - [tools] perf tools: Read and store caps/max_precise in perf_pmu (Michael Petlan) [1715508] - [tools] perf hist: Fix memory leak of srcline (Michael Petlan) [1715508] - [tools] perf hist: Add error path into hist_entry__init (Michael Petlan) [1715508] - [tools] perf diff: Support --pid/--tid filter options (Michael Petlan) [1715508] - [tools] perf diff: Support --cpu filter option (Michael Petlan) [1715508] - [tools] perf diff: Support --time filter option (Michael Petlan) [1715508] - [tools] perf thread: Generalize function to copy from thread addr space from intel-bts code (Michael Petlan) [1715508] - [tools] perf annotate: Calculate the max instruction name, align column to that (Michael Petlan) [1715508] - [tools] perf clang: Remove needless extra semicolon (Michael Petlan) [1715508] - [tools] perf bpf: Automatically add BTF ELF markers (Michael Petlan) [1715508] - [tools] perf beauty msg_flags: Add missing s lost when adding prefix suppression logic (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Add call tree (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Factor out CallGraphModelBase (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Improve TreeModel abstraction (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Factor out TreeWindowBase (Michael Petlan) [1715508] - [tools] perf scripts python: export-to-postgresql.py: Export calls parent_id (Michael Petlan) [1715508] - [tools] perf scripts python: export-to-postgresql.py: Fix invalid input syntax for integer error (Michael Petlan) [1715508] - [tools] perf scripts python: export-to-sqlite.py: Export calls parent_id (Michael Petlan) [1715508] - [tools] perf db-export: Add calls parent_id to enable creation of call trees (Michael Petlan) [1715508] - [tools] perf intel-pt: Fix divide by zero when TSC is not available (Michael Petlan) [1715508] - [tools] perf auxtrace: Improve address filter error message when there is no DSO (Michael Petlan) [1715508] - [tools] perf time-utils: Refactor time range parsing code (Michael Petlan) [1715508] - [tools] tools lib traceevent: Fix buffer overflow in arg_eval (Michael Petlan) [1715508] - [tools] perf probe: Clarify error message about not finding kernel modules debuginfo (Michael Petlan) [1715508] - [tools] replace open encodings for NUMA_NO_NODE (Michael Petlan) [1715508] - [tools] perf script python: Add Python3 support to stat-cpi.py (Michael Petlan) [1715508] - [tools] perf tools: Add perf_exe() helper to find perf binary (Michael Petlan) [1715508] - [tools] perf script: Handle missing fields with -F +. (Michael Petlan) [1715508] - [tools] perf data: Add perf_data__open_dir_data function (Michael Petlan) [1715508] - [tools] perf data: Add perf_data__(create_dir|close_dir) functions (Michael Petlan) [1715508] - [tools] perf data: Fail check_backup in case of error (Michael Petlan) [1715508] - [tools] perf data: Make check_backup work over directories (Michael Petlan) [1715508] - [tools] perf tools: Add rm_rf_perf_data function (Michael Petlan) [1715508] - [tools] perf tools: Add pattern name checking to rm_rf (Michael Petlan) [1715508] - [tools] perf tools: Add depth checking to rm_rf (Michael Petlan) [1715508] - [tools] perf data: Add global path holder (Michael Petlan) [1715508] - [tools] perf data: Move size to struct perf_data_file (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Add top calls report (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Remove no selection error (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Remove SQLTableDialogDataItem (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Create new dialog data item classes (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Move report name into ReportVars (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Factor out ReportVars (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Factor out ReportDialogBase (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Move column headers (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Hide Call Graph option if no calls table (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Remove leftover debugging prints (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Fix missing shebang (Michael Petlan) [1715508] - [tools] perf thread-stack: Hide x86 retpolines (Michael Petlan) [1715508] - [tools] perf thread-stack: Improve thread_stack__no_call_return() (Michael Petlan) [1715508] - [tools] perf tools: Make rm_rf() remove single file (Michael Petlan) [1715508] - [tools] perf cpumap: Increase debug level for cpu_map__snprint verbose output (Michael Petlan) [1715508] - [tools] perf bpf-event: Add missing new line into pr_debug call (Michael Petlan) [1715508] - [tools] perf script: Allow +- operator for type specific fields option (Michael Petlan) [1715508] - [tools] perf evsel: Force sample_type for slave events (Michael Petlan) [1715508] - [tools] perf session: Don't report zero period samples for slave events (Michael Petlan) [1715508] - [tools] perf trace: Allow dumping a BPF map after setting up BPF events (Michael Petlan) [1715508] - [tools] perf bpf: Add bpf_map dumper (Michael Petlan) [1715508] - [tools] perf doc: Fix documentation of the Flags section in perf.data (Michael Petlan) [1715508] - [tools] perf doc: Fix HEADER_CMDLINE description in perf.data documentation (Michael Petlan) [1715508] - [tools] perf report: Don't shadow inlined symbol with different addr range (Michael Petlan) [1715508] - [tools] perf tools: Use sysfs__mountpoint() when reading cpu topology (Michael Petlan) [1715508] - [tools] perf tools: Add numa_topology object (Michael Petlan) [1715508] - [tools] perf tools: Add cpu_topology object (Michael Petlan) [1715508] - [tools] perf tests shell: Skip trace+probe_vfs_getname.sh if built without trace support (Michael Petlan) [1715508] - [tools] perf header: Remove unused 'cpu_nr' field from 'struct cpu_topo' (Michael Petlan) [1715508] - [tools] perf header: Get rid of write_it label (Michael Petlan) [1715508] - [tools] perf list: Display metric expressions for --details option (Michael Petlan) [1715508] - [tools] perf tools: Fix legacy events symbol separator parsing (Michael Petlan) [1715508] - [tools] perf tools: Rename build libperf to perf (Michael Petlan) [1715508] - [tools] perf tools: Rename LIB_FILE to LIBPERF_A (Michael Petlan) [1715508] - [tools] perf tools: Compile perf with libperf-in.o instead of libperf.a (Michael Petlan) [1715508] - [tools] perf cs-etm: Modularize auxtrace_buffer fetch function (Michael Petlan) [1715508] - [tools] perf cs-etm: Modularize main packet processing loop (Michael Petlan) [1715508] - [tools] perf cs-etm: Modularize main decoder function (Michael Petlan) [1715508] - [tools] perf cs-etm: Make cs_etm__run_decoder() queue independent (Michael Petlan) [1715508] - [tools] perf cs-etm: Rethink kernel address initialisation (Michael Petlan) [1715508] - [tools] perf cs-etm: Cleaning up function cs_etm__alloc_queue() (Michael Petlan) [1715508] - [tools] perf cs-etm: Fix erroneous comment (Michael Petlan) [1715508] - [tools] perf cs-etm: Introducing function cs_etm__init_trace_params() (Michael Petlan) [1715508] - [tools] perf cs-etm: Fix memory leak in error path (Michael Petlan) [1715508] - [tools] perf cs-etm: Introducing function cs_etm_decoder__init_dparams() (Michael Petlan) [1715508] - [tools] perf cs-etm: Fix wrong return values in error path (Michael Petlan) [1715508] - [tools] perf cs-etm: Remove unused structure field "time" and "timestamp" (Michael Petlan) [1715508] - [tools] perf cs-etm: Remove unused structure field "state" (Michael Petlan) [1715508] - [tools] perf build: Add missing FEATURE_CHECK_LDFLAGS-libcrypto (Michael Petlan) [1715508] - [tools] perf unwind: Do not put libunwind-{x86, aarch64} in FEATURE_TESTS_BASIC (Michael Petlan) [1715508] - [tools] perf coresight: Do not test for libopencsd by default (Michael Petlan) [1715508] - [tools] perf trace: Filter out gnome-terminal* parent (Michael Petlan) [1715508] - [tools] perf trace: Check if the 'fd' is negative when mapping it to pathname (Michael Petlan) [1715508] - [tools] perf beauty ioctl cmd: The 'fd' arg is signed (Michael Petlan) [1715508] - [tools] perf utils: Silence "Couldn't synthesize bpf events" warning for EPERM (Michael Petlan) [1715508] - [tools] perf cs-etm: Add proper header file for symbols (Michael Petlan) [1715508] - [tools] perf record: Implement --affinity=node|cpu option (Michael Petlan) [1715508] - [tools] perf auxtrace: Add timestamp to auxtrace errors (Michael Petlan) [1715508] - [tools] perf intel-pt: Packet splitting can happen only on 32-bit (Michael Petlan) [1715508] - [tools] perf intel-pt: Fix CYC timestamp calculation after OVF (Michael Petlan) [1715508] - [tools] perf intel-pt: Fix overlap calculation for padding (Michael Petlan) [1715508] - [tools] perf auxtrace: Define auxtrace record alignment (Michael Petlan) [1715508] - [tools] perf thread-stack: Represent jmps to the start of a different symbol (Michael Petlan) [1715508] - [tools] perf thread-stack: Tidy thread_stack__no_call_return() by adding more local variables (Michael Petlan) [1715508] - [tools] perf thread-stack: Tidy thread_stack__push_cp() usage (Michael Petlan) [1715508] - [tools] perf tools: Fix split_kallsyms_for_kcore() for trampoline symbols (Michael Petlan) [1715508] - [tools] perf vendor events intel: Fix Load_Miss_Real_Latency on CLX (Michael Petlan) [1715508] - [tools] perf cs-etm: Set sample flags for exception return packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Set sample flags for exception packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Add traceID in packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata (Michael Petlan) [1715508] - [tools] perf cs-etm: Add exception number in exception packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Set sample flags for trace discontinuity (Michael Petlan) [1715508] - [tools] perf cs-etm: Set sample flags for instruction range packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Add last instruction information in packet (Michael Petlan) [1715508] - [tools] perf tools: Add documentation for BPF event selection (Michael Petlan) [1715508] - [tools] perf report: Move symbol annotation to the resort phase (Michael Petlan) [1715508] - [tools] perf evsel: Add output_resort_cb method (Michael Petlan) [1715508] - [tools] perf hists: Add argument to hists__resort_cb_t callback (Michael Petlan) [1715508] - [tools] perf record: Apply affinity masks when reading mmap buffers (Michael Petlan) [1715508] - [tools] perf tools: Add fallback versions for CPU_{OR, EQUAL}() (Michael Petlan) [1715508] - [tools] perf record: Bind the AIO user space buffers to nodes (Michael Petlan) [1715508] - [tools] perf record: Allocate affinity masks (Michael Petlan) [1715508] - [tools] perf pmu: Remove set_drv_config API (Michael Petlan) [1715508] - [tools] perf coresight: Remove set_drv_config() API (Michael Petlan) [1715508] - [tools] perf arm cs-etm: Use event attributes to send sink information to kernel (Michael Petlan) [1715508] - [tools] perf pmu: Move EVENT_SOURCE_DEVICE_PATH to PMU header file (Michael Petlan) [1715508] - [tools] perf bpf-loader: Remove unecessary includes from bpf-loader.h (Michael Petlan) [1715508] - [tools] perf powerpc kvm-stat: Add missing evlist.h header (Michael Petlan) [1715508] - [tools] perf kvm stat: Replace kvm-stat.h includes with forward declarations (Michael Petlan) [1715508] - [tools] perf pmu: Remove needless evsel.h only needs one fwd decl (Michael Petlan) [1715508] - [tools] perf tests pmu: Add missing headers (Michael Petlan) [1715508] - [tools] perf hist: Remove the needless callchain.h include from hist.h (Michael Petlan) [1715508] - [tools] perf tools: Add missing include in various places (Michael Petlan) [1715508] - [tools] perf thread: Don't include symbol.h, symbol_conf.h is enough (Michael Petlan) [1715508] - [tools] perf evsel: No need to include symbol.h in evsel.h, symbol_conf.h is enough (Michael Petlan) [1715508] - [tools] perf tools: Add missing include for symbols.h (Michael Petlan) [1715508] - [tools] perf hist: Remove symbol.h from hist.h, just fwd decls are needed (Michael Petlan) [1715508] - [tools] perf tests: Add missing headers so far obtained indirectly (Michael Petlan) [1715508] - [tools] perf map: Move structs and prototypes for map groups to a separate header (Michael Petlan) [1715508] - [tools] pref tools: Add missing map.h includes (Michael Petlan) [1715508] - [tools] perf symbols: Introduce map_symbol.h (Michael Petlan) [1715508] - [tools] perf callchain: Uninline callchain_cursor_reset() to remove map.h dependency (Michael Petlan) [1715508] - [tools] perf srccode: Move struct definition from map.h to srccode.h (Michael Petlan) [1715508] - [tools] perf arm pmu: Add missing linux/string.h header (Michael Petlan) [1715508] - [tools] perf powerpc: Add missing headers to skip-callchain-idx.c (Michael Petlan) [1715508] - [tools] perf augmented_syscalls: Convert to bpf_map() (Michael Petlan) [1715508] - [tools] perf bpf examples: Convert etcsnoop to use bpf_map() (Michael Petlan) [1715508] - [tools] perf trace: Fixup etcsnoop example (Michael Petlan) [1715508] - [tools] perf augmented_raw_syscalls: Use bpf_map() (Michael Petlan) [1715508] - [tools] perf bpf: Convert pid_map() to bpf_map() (Michael Petlan) [1715508] - [tools] perf bpf: Add bpf_map() helper (Michael Petlan) [1715508] - [tools] perf bpf: Fix synthesized PERF_RECORD_KSYMBOL/BPF_EVENT (Michael Petlan) [1715508] - [tools] perf sched: Use cached rbtrees (Michael Petlan) [1715508] - [tools] perf hist: Use cached rbtrees (Michael Petlan) [1715508] - [tools] perf symbols: Use cached rbtrees (Michael Petlan) [1715508] - [tools] perf util: Use cached rbtree for rblists (Michael Petlan) [1715508] - [tools] perf callchain: Use cached rbtrees (Michael Petlan) [1715508] - [tools] perf machine: Use cached rbtrees (Michael Petlan) [1715508] - [tools] Update rbtree implementation (Michael Petlan) [1715508] - [tools] perf callchain: No need to include perf.h (Michael Petlan) [1715508] - [tools] perf comm: Remove needless headers from comm.h (Michael Petlan) [1715508] - [tools] perf namespaces: Remove namespaces.h from .h headers (Michael Petlan) [1715508] - [tools] perf symbols: Remove some unnecessary includes from symbol.h (Michael Petlan) [1715508] - [tools] perf symbols: Remove include map.h from dso.h (Michael Petlan) [1715508] - [tools] perf block-range: Add missing headers (Michael Petlan) [1715508] - [tools] perf tools: Move branch structs to branch.h (Michael Petlan) [1715508] - [tools] perf annotate: Remove lots of headers from annotate.h (Michael Petlan) [1715508] - [tools] perf symbols: Move symbol_conf to separate file (Michael Petlan) [1715508] - [tools] perf color: Add missing stdarg.g to color.h (Michael Petlan) [1715508] - [tools] perf utils: Move perf_config using routines from color.c to separate object (Michael Petlan) [1715508] - [tools] perf top: Synthesize BPF events for pre-existing loaded BPF programs (Michael Petlan) [1715508] - [tools] perf tools: Synthesize PERF_RECORD_* for loaded BPF programs (Michael Petlan) [1715508] - [tools] perf tools: Handle PERF_RECORD_BPF_EVENT (Michael Petlan) [1715508] - [tools] perf tools: Handle PERF_RECORD_KSYMBOL (Michael Petlan) [1715508] - [tools] tools headers uapi: Sync tools/include/uapi/linux/perf_event.h (Michael Petlan) [1715508] - [tools] tools headers uapi: Sync tools/include/uapi/linux/perf_event.h (Michael Petlan) [1715508] - [tools] perf report: Display names in s390 diagnostic counter sets (Michael Petlan) [1715508] - [tools] perf tools: Remove duplicate headers (Michael Petlan) [1715508] - [tools] perf session: Add reader__process_events function (Michael Petlan) [1715508] - [tools] perf session: Add 'data_offset' member to reader object (Michael Petlan) [1715508] - [tools] perf session: Add 'data_size' member to reader object (Michael Petlan) [1715508] - [tools] perf session: Add reader object (Michael Petlan) [1715508] - [tools] perf session: Get rid of file_size variable (Michael Petlan) [1715508] - [tools] perf session: Rearrange perf_session__process_events function (Michael Petlan) [1715508] - [tools] perf tools: Replace automatic const char[] variables by statics (Michael Petlan) [1715508] - [tools] perf/doc: Update design.txt for exclude_{host|guest} flags (Michael Petlan) [1715508] - [x86] perf/x86/intel/pt: Remove software double buffering PMU capability (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Fix AUX software double buffering (Michael Petlan) [1715508] - [x86] perf/x86/amd: Update generic hardware cache events for Family 17h (Michael Petlan) [1715508] - [x86] perf/x86/amd: Add event map for AMD Family 17h (Michael Petlan) [1715508] - [x86] perf/x86: Fix incorrect PEBS_REGS (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Fix AUX record suppression (Michael Petlan) [1715508] - [kernel] perf/core: Fix the address filtering fix (Michael Petlan) [1715508] - [kernel] perf/core: Fix perf_event_disable_inatomic() race (Michael Petlan) [1715508] - [x86] perf/x86/intel: Initialize TFA MSR (Michael Petlan) [1715508] - [x86] perf/x86/intel: Fix handling of wakeup_events for multi-entry PEBS (Michael Petlan) [1715508] - [kernel] perf/core: Restore mmap record type correctly (Michael Petlan) [1715508] - [x86] perf/x86/intel: Make dev_attr_allow_tsx_force_abort static (Michael Petlan) [1715508] - [kernel] uprobes: convert uprobe.ref to refcount_t (Michael Petlan) [1715508] - [kernel] perf, bpf: Consider events with attr.bpf_event as side-band events (Michael Petlan) [1715508] - [kernel] perf/core: Mark expected switch fall-through (Michael Petlan) [1715508] - [x86] perf/x86/intel/uncore: Fix client IMC events return huge result (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Use high order allocations for AUX buffers optimistically (Michael Petlan) [1715508] - [x86] events: Mark expected switch-case fall-throughs (Michael Petlan) [1715508] - [kernel] perf, pt, coresight: Fix address filters for vmas with non-zero offset (Michael Petlan) [1715508] - [kernel] perf: Copy parent's address filter offsets on clone (Michael Petlan) [1715508] - [x86] perf/x86/intel: Add counter freezing quirk for Goldmont (Michael Petlan) [1715508] - [x86] perf/x86/intel: Clean up counter freezing quirk (Michael Petlan) [1715508] - [x86] perf/x86/intel: Clean up SNB PEBS quirk (Michael Petlan) [1715508] - [x86] perf/x86/kvm: Avoid unnecessary work in guest filtering (Michael Petlan) [1715508] - [perf] aux: Make perf_event accessible to setup_aux() (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Convert ring_buffer.aux_refcount to refcount_t (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Convert ring_buffer.refcount to refcount_t (Michael Petlan) [1715508] - [kernel] perf: Convert perf_event_context.refcount to refcount_t (Michael Petlan) [1715508] - [kernel] perf/uprobes: Convert to SPDX license identifier (Michael Petlan) [1715508] - [kernel] perf/hw_breakpoints: Convert to SPDX license identifier (Michael Petlan) [1715508] - [kernel] perf/core: Convert to SPDX license identifiers (Michael Petlan) [1715508] - [kernel] perf, bpf: Introduce PERF_RECORD_BPF_EVENT (Michael Petlan) [1715508] - [kernel] perf, bpf: Introduce PERF_RECORD_KSYMBOL (Michael Petlan) [1715508] - [kernel] perf: Remove duplicated workqueue.h include from perf_event.h (Michael Petlan) [1715508] - [tools] perf/core: Remove unused perf_flags (Michael Petlan) [1715508] - [x86] perf/core, arch/x86: Strengthen exclusion checks with PERF_PMU_CAP_NO_EXCLUDE (Michael Petlan) [1715508] - [x86] perf/core, arch/x86: Use PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs (Michael Petlan) [1715508] - [kernel] perf/core: Add PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs (Michael Petlan) [1715508] - [kernel] perf/core: Add function to test for event exclusion flags (Michael Petlan) [1715508]- [kernel] mm/hmm: fix ZONE_DEVICE anon page mapping reuse (Jerome Glisse) [1498655 1597758] - [gpu] drm/nouveau/dmem: missing mutex_lock in error path (Jerome Glisse) [1498655 1597758] - [mm] hmm: always return EBUSY for invalid ranges in hmm_range_{fault, snapshot} (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: move hmm_vma_range_done and hmm_vma_fault to nouveau (Jerome Glisse) [1498655 1597758] - [kernel] mm: factor out a devm_request_free_mem_region helper (Jerome Glisse) [1498655 1597758] - [mm] don't clear ->mapping in hmm_devmem_free (Jerome Glisse) [1498655 1597758] - [mm] remove the struct hmm_device infrastructure (Jerome Glisse) [1498655 1597758] - [mm] hmm: Fix error flows in hmm_invalidate_range_start (Jerome Glisse) [1498655 1597758] - [mm] hmm: Remove confusing comment and logic from hmm_release (Jerome Glisse) [1498655 1597758] - [mm] hmm: Poison hmm_range during unregister (Jerome Glisse) [1498655 1597758] - [mm] hmm: Remove racy protection against double-unregistration (Jerome Glisse) [1498655 1597758] - [mm] hmm: Use lockdep instead of comments (Jerome Glisse) [1498655 1597758] - [mm] hmm: Hold on to the mmget for the lifetime of the range (Jerome Glisse) [1498655 1597758] - [mm] hmm: Do not use list*_rcu() for hmm->ranges (Jerome Glisse) [1498655 1597758] - [mm] hmm: Simplify hmm_get_or_create and make it reliable (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: Remove duplicate condition test before wait_event_timeout (Jerome Glisse) [1498655 1597758] - [mm] hmm: Hold a mmgrab from hmm to mm (Jerome Glisse) [1498655 1597758] - [mm] hmm: Use hmm_mirror not mm as an argument for hmm_range_register (Jerome Glisse) [1498655 1597758] - [mm] hmm: fix use after free with struct hmm in the mmu notifiers (Jerome Glisse) [1498655 1597758] - [mm] hmm: Only set FAULT_FLAG_ALLOW_RETRY for non-blocking (Jerome Glisse) [1498655 1597758] - [mm] hmm: support automatic NUMA balancing (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: clean up some coding style and comments (Jerome Glisse) [1498655 1597758] - [mm] hmm.c: suppress compilation warnings when CONFIG_HUGETLB_PAGE is not set (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: convert various hmm_pfn_* to device_entry which is a better name (Jerome Glisse) [1498655 1597758] - [mm] hmm: add a helper function that fault pages and map them to a device (Jerome Glisse) [1498655 1597758] - [mm] hmm: allow to mirror vma of a file on a DAX backed filesystem (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: add helpers to test if mm is still alive or not (Jerome Glisse) [1498655 1597758] - [mm] hmm: mirror hugetlbfs (snapshoting, faulting and DMA mapping) (Jerome Glisse) [1498655 1597758] - [documentation] [documentation] mm/hmm: add default fault flags to avoid the need to pre-fill pfns arrays (Jerome Glisse) [1498655 1597758] - [mm] hmm: improve driver API to work and wait over a range (Jerome Glisse) [1498655 1597758] - [mm] hmm: improve and rename hmm_vma_fault() to hmm_range_fault() (Jerome Glisse) [1498655 1597758] - [mm] hmm: improve and rename hmm_vma_get_pfns() to hmm_range_snapshot() (Jerome Glisse) [1498655 1597758] - [mm] hmm: do not erase snapshot when a range is invalidated (Jerome Glisse) [1498655 1597758] - [mm] hmm: use reference counting for HMM struct (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: convert to use vm_fault_t (Jerome Glisse) [1498655 1597758] - [mm] hmm.c: remove set but not used variable 'devmem' (Jerome Glisse) [1498655 1597758] - [mm] hmm: mark hmm_devmem_{add, add_resource} EXPORT_SYMBOL_GPL (Jerome Glisse) [1498655 1597758] - [mm] hmm: replace hmm_devmem_pages_create() with devm_memremap_pages() (Jerome Glisse) [1498655 1597758] - [mm] hmm: use devm semantics for hmm_devmem_{add, remove} (Jerome Glisse) [1498655 1597758] - [mm] hmm: invalidate device page table at start of invalidation (Jerome Glisse) [1498655 1597758] - [mm] hmm: use a structure for update callback parameters (Jerome Glisse) [1498655 1597758] - [mm] hmm: properly handle migration pmd (Jerome Glisse) [1498655 1597758] - [mm] hmm: fix utf8 . (Jerome Glisse) [1498655 1597758] - [mm] hmm.c: remove unused variables align_start and align_end (Jerome Glisse) [1498655 1597758] - [hid] hyperv: Use in-place iterator API in the channel callback (Benjamin Tissoires) [1740778 1772010] - [hid] logitech-hidpp: do all FF cleanup in hidpp_ff_destroy() (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: rework device validation (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: split g920_get_config() (Benjamin Tissoires) [1740778] - [hid] fix error message in hid_open_report() (Benjamin Tissoires) [1740778] - [hid] Fix assumption that devices have inputs (Benjamin Tissoires) [1740778] - [hid] i2c-hid: add Trekstor Primebook C11B to descriptor override (Benjamin Tissoires) [1740778] - [hid] apple: Fix stuck function keys when using FN (Benjamin Tissoires) [1740778] - [hid] wacom: Fix several minor compiler warnings (Benjamin Tissoires) [1740778] - [hid] Add quirk for HP X500 PIXART OEM mouse (Benjamin Tissoires) [1740778] - [hid] hidraw: Fix invalid read in hidraw_ioctl (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Fix crash when initial logi_dj_recv_query_paired_devices fails (Benjamin Tissoires) [1740778] - [hid] logitech: Fix general protection fault caused by Logitech driver (Benjamin Tissoires) [1740778] - [hid] sony: Fix memory corruption issue on cleanup (Benjamin Tissoires) [1740778] - [hid] prodikeys: Fix general protection fault during probe (Benjamin Tissoires) [1740778] - [hid] wacom: correct misreported EKR ring values (Benjamin Tissoires) [1740778] - [hid] cp2112: prevent sleeping function called from invalid context (Benjamin Tissoires) [1740778] - [hid] wacom: Correct distance scale for 2nd-gen Intuos devices (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: remove support for the G700 over USB (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech-hidpp: add USB PID for a few more supported mice" (Benjamin Tissoires) [1740778] - [hid] sony: Fix race condition between rumble and device remove (Benjamin Tissoires) [1740778] - [hid] hiddev: do cleanup in failure of opening a device (Benjamin Tissoires) [1740778] - [hid] hiddev: avoid opening a disconnected device (Benjamin Tissoires) [1740778] - [hid] input: fix a4tech horizontal wheel custom usage (Benjamin Tissoires) [1740778] - [hid] Add quirk for HP X1200 PIXART OEM mouse (Benjamin Tissoires) [1740778] - [hid] holtek: test for sanity of intfdata (Benjamin Tissoires) [1740778] - [hid] wacom: fix bit shift for Cintiq Companion 2 (Benjamin Tissoires) [1740778] - [hid] quirks: Set the INCREMENT_USAGE_ON_DUPLICATE quirk on Saitek X52 (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Really fix return value of logi_dj_recv_query_hidpp_devices (Benjamin Tissoires) [1740778] - [hid] Add 044f:b320 ThrustMaster, Inc. 2 in 1 DT (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add the Powerplay receiver (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add USB PID for a few more supported mice (Benjamin Tissoires) [1740778] - [hid] logitech-dj: rename "gaming" receiver to "lightspeed" (Benjamin Tissoires) [1740778] - [hid] Add another Primax PIXART OEM mouse quirk (Benjamin Tissoires) [1740778] - [hid] wacom: generic: add touchring adjustment for 2nd Gen Pro Small (Benjamin Tissoires) [1740778] - [hid] quirks: Refactor ELAN 400 and 401 handling (Benjamin Tissoires) [1740778] - [hid] video: fbdev: don't print error message on framebuffer_alloc() failure (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Fix forwarding of very long HID++ reports (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Huion HS64 tablet (Benjamin Tissoires) [1740778] - [hid] wacom: add new MobileStudio Pro support (Benjamin Tissoires) [1740778] - [hid] wacom: generic: read the number of expected touches on a per collection basis (Benjamin Tissoires) [1740778] - [hid] wacom: generic: support the 'report valid' usage for touch (Benjamin Tissoires) [1740778] - [hid] wacom: generic: read HID_DG_CONTACTMAX from any feature report (Benjamin Tissoires) [1740778] - [hid] wacom: Add 2nd gen Intuos Pro Small support (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee Rainbow CV720 (Benjamin Tissoires) [1740778] - [hid] logitech-dj: fix return value of logi_dj_recv_query_hidpp_devices (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335 (Benjamin Tissoires) [1740778] - [hid] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 (Benjamin Tissoires) [1740778] - [hid] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 307 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 297 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 (Benjamin Tissoires) [1740778] - [hid] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 265 (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Fix 064d:c52f receiver support (Benjamin Tissoires) [1740778] - [hid] revert "hid: core: Call request_module before doing device_add" (Benjamin Tissoires) [1740778] - [hid] revert "hid: core: Do not call request_module() in async context" (Benjamin Tissoires) [1740778] - [hid] revert "hid: Increase maximum report size allowed by hid_field_extract()" (Benjamin Tissoires) [1740778] - [hid] a4tech: fix horizontal scrolling (Benjamin Tissoires) [1740778] - [hid] hyperv: Add a module description line (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 178 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: Add support for the S510 remote control (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: hid: make const array consumer_rdesc_start static (Benjamin Tissoires) [1740778] - [hid] logitech-dj: make const array template static (Benjamin Tissoires) [1740778] - [hid] multitouch: handle faulty Elo touch device (Benjamin Tissoires) [1740778] - [input] treewide: Add SPDX license identifier for more missed files (Benjamin Tissoires) [1740778] - [hid] wacom: Sync INTUOSP2_BT touch state after each frame if necessary (Benjamin Tissoires) [1740778] - [hid] wacom: Correct button numbering 2nd-gen Intuos Pro over Bluetooth (Benjamin Tissoires) [1740778] - [hid] wacom: Send BTN_TOUCH in response to INTUOSP2_BT eraser contact (Benjamin Tissoires) [1740778] - [hid] wacom: Don't report anything prior to the tool entering range (Benjamin Tissoires) [1740778] - [hid] wacom: Don't set tool type until we're in range (Benjamin Tissoires) [1740778] - [hid] wacom: correct touch resolution x/y typo (Benjamin Tissoires) [1740778] - [hid] wacom: generic: Correct pad syncing (Benjamin Tissoires) [1740778] - [hid] wacom: generic: only switch the mode on devices with LEDs (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Add usb-id for the 27MHz MX3000 receiver (Benjamin Tissoires) [1740778] - [hid] rmi: Use SET_REPORT request on control endpoint for Acer Switch 3 and 5 (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add support for the MX5500 keyboard (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for the Logitech MX5500's Bluetooth Mini-Receiver (Benjamin Tissoires) [1740778] - [hid] i2c-hid: add iBall Aer3 to descriptor override (Benjamin Tissoires) [1740778] - [hid] logitech-dj: fix spelling in printk (Benjamin Tissoires) [1740778] - [hid] input: add mapping for KEY_KBD_LAYOUT_NEXT (Benjamin Tissoires) [1740778] - [hid] input: fix assignment of .value (Benjamin Tissoires) [1740778] - [hid] input: make sure the wheel high resolution multiplier is set (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add usbhid dependency in Kconfig (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add support for HID++ 1.0 consumer keys reports (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add support for HID++ 1.0 extra mouse buttons reports (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add support for HID++ 1.0 wheel reports (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: make hidpp10_set_register_bit a bit more generic (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add input_device ptr to struct hidpp_device (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: do not hardcode very long report length (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: handle devices attached to 27MHz wireless receivers (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: use RAP instead of FAP to get the protocol version (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: remove unused origin_is_hid_core function parameter (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: remove double assignment from __hidpp_send_report (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: do not make failure to get the name fatal (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: ignore very-short or empty names (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: make .probe usbhid capable (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: allow non HID++ devices to be handled by this module (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for Logitech Bluetooth Mini-Receiver (Benjamin Tissoires) [1740778] - [hid] logitech-dj: make appending of the HID++ descriptors conditional (Benjamin Tissoires) [1740778] - [hid] logitech-dj: remove false-positive error on double queueing of delayed-work (Benjamin Tissoires) [1740778] - [hid] logitech-dj: pick a better name for non-unifying receivers (Benjamin Tissoires) [1740778] - [hid] logitech-dj: deal with some KVMs adding an extra interface to the usbdev (Benjamin Tissoires) [1740778] - [hid] logitech-dj: replace dev_err calls with hid_err calls (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for 27 MHz mouse-only receivers (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for 27 MHz receivers (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for the gaming unifying receiver (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for non unifying receivers (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add logi_dj_recv_queue_unknown_work helper (Benjamin Tissoires) [1740778] - [hid] logitech-dj: support sharing struct dj_receiver_dev between USB-interfaces (Benjamin Tissoires) [1740778] - [hid] logitech-dj: rename dj_receiver_dev.hdev to dj_receiver_dev.hidpp (Benjamin Tissoires) [1740778] - [hid] logitech-dj: protect the paired_dj_devices access in add_djhid_dev with the lock (Benjamin Tissoires) [1740778] - [hid] logitech-dj: remove unused querying_devices variable (Benjamin Tissoires) [1740778] - [hid] logitech-dj: do not schedule the dj report itself (Benjamin Tissoires) [1740778] - [hid] logitech-dj: remove USB dependency (Benjamin Tissoires) [1740778] - [hid] logitech-dj: declare and use a few HID++ 1.0 constants (Benjamin Tissoires) [1740778] - [hid] logitech-dj: use BIT() macro for RF Report types (Benjamin Tissoires) [1740778] - [hid] logitech-dj: fix variable naming in logi_dj_hidpp_event (Benjamin Tissoires) [1740778] - [hid] logitech-dj: reshuffle logi_dj_recv_forward_* (Benjamin Tissoires) [1740778] - [hid] logitech: Stop setting drvdata to NULL on probe failure and remove (Benjamin Tissoires) [1740778] - [hid] quirks: do not blacklist Logitech devices (Benjamin Tissoires) [1740778] - [hid] u2fzero: fail probe if not using USB transport (Benjamin Tissoires) [1740778] - [hid] u2fzero: fix compiling error in u2fzero_probe() (Benjamin Tissoires) [1740778] - [hid] revert "hid: i2c-hid: Disable runtime PM on Synaptics touchpad" (Benjamin Tissoires) [1740778] - [hid] add driver for U2F Zero built-in LED and RNG (Benjamin Tissoires) [1740778] - [hid] core: Do not call request_module() in async context (Benjamin Tissoires) [1740778] - [hid] macally: Add support for Macally ikey keyboard (Benjamin Tissoires) [1740778] - [hid] core: Call request_module before doing device_add (Benjamin Tissoires) [1740778] - [hid] core: move Usage Page concatenation to Main item (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: change low battery level threshold from 31 to 30 percent (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: remove hidpp_is_connected() (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: simplify printing of HID++ version (Benjamin Tissoires) [1740778] - [hid] picolcd: Convert to use sysfs_streq() (Benjamin Tissoires) [1740778] - [hid] hid-sensor-custom: simplify getting .driver_data (Benjamin Tissoires) [1740778] - [hid] input: add mapping for Assistant key (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Disable runtime PM on Synaptics touchpad (Benjamin Tissoires) [1740778] - [hid] quirks: Fix keyboard + touchpad on Lenovo Miix 630 (Benjamin Tissoires) [1740778] - [hid] input: add mapping for "Toggle Display" key (Benjamin Tissoires) [1740778] - [hid] input: add mapping for "Full Screen" key (Benjamin Tissoires) [1740778] - [hid] input: add mapping for keyboard Brightness Up/Down/Toggle keys (Benjamin Tissoires) [1740778] - [hid] input: add mapping for Expose/Overview key (Benjamin Tissoires) [1740778] - [hid] input: fix mapping of aspect ratio key (Benjamin Tissoires) [1740778] - [hid] logitech: Handle 0 scroll events for the m560 (Benjamin Tissoires) [1740778] - [hid] debug: fix race condition with between rdesc_show() and device removal (Benjamin Tissoires) [1740778] - [hid] logitech: check the return value of create_singlethread_workqueue (Benjamin Tissoires) [1740778] - [hid] steam: fix deadlock with input devices (Benjamin Tissoires) [1740778] - [hid] uclogic: remove redudant duplicated null check on ver_ptr (Benjamin Tissoires) [1740778] - [hid] quirks: Drop misused kernel-doc annotation (Benjamin Tissoires) [1740778] - [hid] quirks: use correct format chars in dbg_hid (Benjamin Tissoires) [1740778] - [hid] Remove Waltop tablets from hid_have_special_driver (Benjamin Tissoires) [1740778] - [hid] Remove KYE tablets from hid_have_special_driver (Benjamin Tissoires) [1740778] - [hid] Remove hid-uclogic entries from hid_have_special_driver (Benjamin Tissoires) [1740778] - [hid] uclogic: Do not initialize non-USB devices (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee G5 (Benjamin Tissoires) [1740778] - [hid] uclogic: Support Gray-coded rotary encoders (Benjamin Tissoires) [1740778] - [hid] uclogic: Support faking Wacom pad device ID (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for XP-Pen Deco 01 (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for XP-Pen Star G640 (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for XP-Pen Star G540 (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee EX07S frame controls (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee M540 (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee 2150 (Benjamin Tissoires) [1740778] - [hid] uclogic: Support v2 protocol (Benjamin Tissoires) [1740778] - [hid] uclogic: Support fragmented high-res reports (Benjamin Tissoires) [1740778] - [hid] uclogic: Support in-range reporting emulation (Benjamin Tissoires) [1740778] - [hid] uclogic: Designate current protocol v1 (Benjamin Tissoires) [1740778] - [hid] uclogic: Re-initialize tablets on resume (Benjamin Tissoires) [1740778] - [hid] uclogic: Extract tablet parameter discovery into a module (Benjamin Tissoires) [1740778] - [hid] uclogic: Extract report descriptors to a module (Benjamin Tissoires) [1740778] - [hid] Clarify vendor ID reuse by Ugee tablets (Benjamin Tissoires) [1740778] - [hid] viewsonic: Support PD1011 signature pad (Benjamin Tissoires) [1740778] - [hid] kye: Add support for EasyPen M406XE (Benjamin Tissoires) [1740778] - [hid] wacom: Add support for Pro Pen slim (Benjamin Tissoires) [1740778] - [hid] roccat: Mark expected switch fall-through (Benjamin Tissoires) [1740778] - [hid] wacom: Mark expected switch fall-through (Benjamin Tissoires) [1740778] - [hid] fix Logitech WingMan Formula GP joined axes (Benjamin Tissoires) [1740778] - [hid] multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons (Benjamin Tissoires) [1740778] - [hid] steam: fix boot loop with bluetooth firmware (Benjamin Tissoires) [1740778] - [hid] Add ASUS T100CHI keyboard dock battery quirks (Benjamin Tissoires) [1740778] - [hid] Add support for Toshiba WT10A tablet bluetooth keyboard (Benjamin Tissoires) [1740778] - [hid] wacom: Move HID fix for AES serial number into wacom_hid_usage_quirk (Benjamin Tissoires) [1740778] - [hid] elan: Make array buf static, shrinks object size (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Ignore input report if there's no data present on Elan touchpanels (Benjamin Tissoires) [1740778] - [hid] core: simplify active collection tracking (Benjamin Tissoires) [1740778] - [hid] Support for Maltron L90 keyboard media keys (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Disable runtime PM on Goodix touchpad (Benjamin Tissoires) [1740778] - [hid] sony: Fix SHANWAN PS3 GamePad rumble and led settings support (Benjamin Tissoires) [1740778] - [hid] sony: Transform one-time SHANWAN check into quirk (Benjamin Tissoires) [1740778] - [hid] core: replace the collection tree pointers with indices (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Add Odys Winbook 13 to descriptor override (Benjamin Tissoires) [1740778] - [hid] lenovo: Add checks to fix of_led_classdev_register (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: add MSI interrupt support (Benjamin Tissoires) [1740778] - [hid] debug: Change to use DEFINE_SHOW_ATTRIBUTE macro (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: fixes incorrect error handling (Benjamin Tissoires) [1740778] - [hid] logitech: Use LDJ_DEVICE macro for existing Logitech mice (Benjamin Tissoires) [1740778] - [hid] logitech: Enable high-resolution scrolling on Logitech mice (Benjamin Tissoires) [1740778] - [hid] logitech: Add function to enable HID++ 1.0 "scrolling acceleration" (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: fix typo, hiddpp to hidpp (Benjamin Tissoires) [1740778] - [hid] input: use the Resolution Multiplier for high-resolution scrolling (Benjamin Tissoires) [1740778] - [hid] core: process the Resolution Multiplier (Benjamin Tissoires) [1740778] - [hid] core: store the collections as a basic tree (Benjamin Tissoires) [1740778] - [hid] cougar: Add support for Cougar 700K Gaming Keyboard (Benjamin Tissoires) [1740778] - [hid] hidraw: enforce minors_lock locking via lockdep (Benjamin Tissoires) [1740778] - [hid] quirks: fix RetroUSB.com devices (Benjamin Tissoires) [1740778] - [kernel] hid: input: support Microsoft wireless radio control hotkey (Benjamin Tissoires) [1740778] - [kernel] hid: use macros in IS_INPUT_APPLICATION (Benjamin Tissoires) [1740778] - [hid] ite: Add USB id match for another ITE based keyboard rfkill key quirk (Benjamin Tissoires) [1740778] - [hid] revert "hid: input: Create a utility class for counting scroll events" (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech: Add function to enable HID++ 1.0 "scrolling acceleration"" (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech: Enable high-resolution scrolling on Logitech mice" (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech: Use LDJ_DEVICE macro for existing Logitech mice" (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech: fix a used uninitialized GCC warning" (Benjamin Tissoires) [1740778] - [hid] revert "hid: input: simplify/fix high-res scroll event handling" (Benjamin Tissoires) [1740778] - [hid] Add quirk for Primax PIXART OEM mice (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Disable runtime PM for LG touchscreen (Benjamin Tissoires) [1740778] - [hid] steam: remove input device when a hid client is running (Benjamin Tissoires) [1740778] - [hid] revert "hid: uhid: use strlcpy() instead of strncpy()" (Benjamin Tissoires) [1740778] - [hid] uhid: forbid UHID_CREATE under KERNEL_DS or elevated privileges (Benjamin Tissoires) [1740778] - [hid] iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers (Benjamin Tissoires) [1740778] - [hid] input: Ignore battery reported by Symbol DS4308 (Benjamin Tissoires) [1740778] - [hid] Add quirk for Microsoft PIXART OEM mouse (Benjamin Tissoires) [1740778] - [kernel] hid: fix up .raw_event() documentation (Benjamin Tissoires) [1740778] - [hid] i2c-hid: add Direkt-Tek DTLAPY133-1 to descriptor override (Benjamin Tissoires) [1740778] - [hid] input: simplify/fix high-res scroll event handling (Benjamin Tissoires) [1740778] - [hid] we do not randomly make new drivers 'default y' (Benjamin Tissoires) [1740778] - [hid] i2c-hid: properly terminate i2c_hid_dmi_desc_override_table[] array (Benjamin Tissoires) [1740778] - [hid] alps: allow incoming reports when only the trackstick is opened (Benjamin Tissoires) [1740778] - [hid] revert "hid: add NOGET quirk for Eaton Ellipse MAX UPS" (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Add a small delay after sleep command for Raydium touchpanel (Benjamin Tissoires) [1740778] - [hid] usbhid: Add quirk for Redragon/Dragonrise Seymur 2 (Benjamin Tissoires) [1740778] - [hid] wacom: Work around HID descriptor bug in DTK-2451 and DTH-2452 (Benjamin Tissoires) [1740778] - [hid] google: add dependency on Cros EC for Hammer (Benjamin Tissoires) [1740778] - [hid] elan: fix spelling mistake "registred" -> "registered" (Benjamin Tissoires) [1740778] - [hid] google: drop superfluous const before SIMPLE_DEV_PM_OPS() (Benjamin Tissoires) [1740778] - [hid] google: add support tablet mode switch for Whiskers (Benjamin Tissoires) [1740778] - [hid] magicmouse: add support for Apple Magic Trackpad 2 (Benjamin Tissoires) [1740778] - [hid] i2c-hid: override HID descriptors for certain devices (Benjamin Tissoires) [1740778] - [hid] hid-bigbenff: driver for BigBen Interactive PS3OFMINIPAD gamepad (Benjamin Tissoires) [1740778] - [hid] logitech: fix a used uninitialized GCC warning (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: using list_head for ipc write queue (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: use resource-managed api (Benjamin Tissoires) [1740778] - [hid] intel_ish-hid: Enhance API to get ring buffer sizes (Benjamin Tissoires) [1740778] - [hid] input: Set INPUT_PROP_-property for HID_UP_DIGITIZERS (Benjamin Tissoires) [1740778] - [hid] microsoft: the driver now neeed MEMLESS_FF infrastructure (Benjamin Tissoires) [1740778] - [hid] cougar: Stop processing vendor events on hid-core (Benjamin Tissoires) [1740778] - [hid] cougar: Make parameter 'g6_is_space' dinamically settable (Benjamin Tissoires) [1740778] - [hid] microsoft: Add rumble support for Xbox One S controller (Benjamin Tissoires) [1740778] - [hid] microsoft: Convert private data to be a proper struct (Benjamin Tissoires) [1740778] - [hid] logitech: Use LDJ_DEVICE macro for existing Logitech mice (Benjamin Tissoires) [1740778] - [hid] logitech: Enable high-resolution scrolling on Logitech mice (Benjamin Tissoires) [1740778] - [hid] logitech: Add function to enable HID++ 1.0 "scrolling acceleration" (Benjamin Tissoires) [1740778] - [hid] input: Create a utility class for counting scroll events (Benjamin Tissoires) [1740778] - [hid] multitouch: simplify the application retrieval (Benjamin Tissoires) [1740778] - [hid] input: do not append a suffix if the name already has it (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Remove RESEND_REPORT_DESCR quirk and its handling (Benjamin Tissoires) [1740778] - [hid] i2c-hid: disable runtime PM operations on hantick touchpad (Benjamin Tissoires) [1740778] - [hid] sensor-hub: Restore fixup for Lenovo ThinkPad Helix 2 sensor hub report (Benjamin Tissoires) [1740778] - [hid] core: fix NULL pointer dereference (Benjamin Tissoires) [1740778] - [hid] hid-saitek: Add device ID for RAT 7 Contagion (Benjamin Tissoires) [1740778] - [hid] core: fix memory leak on probe (Benjamin Tissoires) [1740778] - [hid] add support for Apple Magic Keyboards (Benjamin Tissoires) [1740778] - [hid] intel_ish-hid: tx_buf memory leak on probe/remove (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: Prevent loading of driver on Mehlow (Benjamin Tissoires) [1740778] - [hid] cougar: Add support for the Cougar 500k Gaming Keyboard (Benjamin Tissoires) [1740778] - [hid] cougar: make compare_device_paths reusable (Benjamin Tissoires) [1740778] - [hid] multitouch: handle palm for touchscreens (Benjamin Tissoires) [1740778] - [hid] multitouch: touchscreens also use confidence reports (Benjamin Tissoires) [1740778] - [hid] multitouch: report MT_TOOL_PALM for non-confident touches (Benjamin Tissoires) [1740778] - [hid] microsoft: support the Surface Dial (Benjamin Tissoires) [1740778] - [hid] core: do not upper bound the collection stack (Benjamin Tissoires) [1740778] - [hid] input: enable Totem on the Dell Canvas 27 (Benjamin Tissoires) [1740778] - [hid] multitouch: remove one copy of values (Benjamin Tissoires) [1740778] - [hid] multitouch: ditch mt_report_id (Benjamin Tissoires) [1740778] - [hid] multitouch: store a per application quirks value (Benjamin Tissoires) [1740778] - [hid] multitouch: Store per collection multitouch data (Benjamin Tissoires) [1740778] - [hid] multitouch: make sure the static list of class is not changed (Benjamin Tissoires) [1740778] - [hid] elan: Add support for touchpad on the Toshiba Click Mini L9W (Benjamin Tissoires) [1740778] - [hid] elan: Add USB-id for HP x2 10-n000nd touchpad (Benjamin Tissoires) [1740778] - [hid] elan: Add a flag for selecting if the touchpad has a LED (Benjamin Tissoires) [1740778] - [hid] elan: Query resolution from the touchpad (Benjamin Tissoires) [1740778] - [hid] elan: Query device max_x and max_y value from touchpad (Benjamin Tissoires) [1740778] - [hid] elan: Hardcode finger-count and usb-interface (Benjamin Tissoires) [1740778] - [hid] elan: Correctly report MT_PRESSURE instead of TOOL_WIDTH (Benjamin Tissoires) [1740778] - [hid] elan: Stop claiming we have TOUCH_MAJOR and then never reporting it (Benjamin Tissoires) [1740778] - [hid] elan: Remove unused max_area_x and max_area_y vatiables (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sc->output_report_dmabuf (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sony_battery_probe() (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sony_leds_init() (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sony_register_sensors() (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sony_register_touchpad() (Benjamin Tissoires) [1740778] - [hid] wacom: convert Wacom custom usages to standard HID usages (Benjamin Tissoires) [1740778] - [hid] wacom: Move handling of HID quirks into a dedicated function (Benjamin Tissoires) [1740778] - [hid] wacom: Replace touch_max fixup code with static touch_max definitions (Benjamin Tissoires) [1740778] - [hid] wiimote: add support for Guitar-Hero devices (Benjamin Tissoires) [1740778] - [hid] usbhid: use irqsave() in USB's complete callback (Benjamin Tissoires) [1740778] - [hid] redragon: fix num lock and caps lock LEDs (Benjamin Tissoires) [1740778] - [hid] hid-ntrig: add error handling for sysfs_create_group (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Add vddl regulator control (Benjamin Tissoires) [1740778] - [uapi] input: document meanings of KEY_SCREEN and KEY_ZOOM (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - avoid processing unknown IRQs (Benjamin Tissoires) [1740778] - [input] revert "input: elantech - enable SMBus on new (2018+) systems" (Benjamin Tissoires) [1740778] - [input] elantech - annotate fall-through case in elantech_use_host_notify() (Benjamin Tissoires) [1740778] - [samples] treewide: Add SPDX license identifier - Makefile/Kconfig (Benjamin Tissoires) [1740778] - [kernel] input: elan_i2c - remove Lenovo Legion Y7000 PnpID (Benjamin Tissoires) [1740778] - [input] synaptics - enable RMI mode for HP Spectre X360 (Benjamin Tissoires) [1740778] - [input] elantech - enable SMBus on new (2018+) systems (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 (Benjamin Tissoires) [1740778] - [input] hyperv-keyboard: Use in-place iterator API in the channel callback (Benjamin Tissoires) [1740778] - [input] usbtouchscreen - initialize PM mutex before using it (Benjamin Tissoires) [1740778] - [input] alps - fix a mismatch between a condition check and its comment (Benjamin Tissoires) [1740778] - [input] psmouse - fix build error of multiple definition (Benjamin Tissoires) [1740778] - [input] alps - don't handle ALPS cs19 trackpoint-only device (Benjamin Tissoires) [1740778] - [input] hyperv-keyboard - remove dependencies on PAGE_SIZE for ring buffer (Benjamin Tissoires) [1740778] - [input] synaptics - fix misuse of strlcpy (Benjamin Tissoires) [1740778] - [input] synaptics - whitelist Lenovo T580 SMBus intertouch (Benjamin Tissoires) [1740778] - [input] synaptics - enable SMBUS on T480 thinkpad trackpad (Benjamin Tissoires) [1740778] - [input] joydev - extend absolute mouse detection (Benjamin Tissoires) [1740778] - [kernel] input: elan_i2c - export the device id whitelist (Benjamin Tissoires) [1740778] - [kernel] pm: suspend: Rename pm_suspend_via_s2idle() (Benjamin Tissoires) [1740778] - [kernel] pm: sleep: Add kerneldoc comments to some functions (Benjamin Tissoires) [1740778] - [input] synaptics - enable SMBus on ThinkPad E480 and E580 (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - remove set but not used variable 'sensor_flags' (Benjamin Tissoires) [1740778] - [input] uinput - add compat ioctl number translation for UI_*_FF_UPLOAD (Benjamin Tissoires) [1740778] - [input] libps2 - mark expected switch fall-through (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - write config register values to the right offset (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - fix enum_fmt (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - fill initial format (Benjamin Tissoires) [1740778] - [uapi] input: add KEY_KBD_LAYOUT_NEXT (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - fix possible double free (Benjamin Tissoires) [1740778] - [input] hyperv-keyboard - add module description (Benjamin Tissoires) [1740778] - [input] i8042 - signal wakeup from atkbd/psmouse (Benjamin Tissoires) [1740778] - [input] evdev - use struct_size() in kzalloc() and vzalloc() (Benjamin Tissoires) [1740778] - [input] elan_i2c - add hardware ID for multiple Lenovo laptops (Benjamin Tissoires) [1740778] - [input] wacom_serial4 - add support for Wacom ArtPad II tablet (Benjamin Tissoires) [1740778] - [input] elan_i2c - add id for touchpad found in Lenovo s21e-20 (Benjamin Tissoires) [1740778] - [input] i8042 - rework DT node name comparisons (Benjamin Tissoires) [1740778] - [input] synaptics_i2c - remove redundant spinlock (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ACPI ID for touchpad in Lenovo V330-15ISK (Benjamin Tissoires) [1740778] - [input] revert "input: elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G" (Benjamin Tissoires) [1740778] - [input] elantech - enable 3rd button support on Fujitsu CELSIUS H780 (Benjamin Tissoires) [1740778] - [uapi] input: input_event - fix the CONFIG_SPARC64 mixup (Benjamin Tissoires) [1740778] - [input] uinput - fix undefined behavior in uinput_validate_absinfo() (Benjamin Tissoires) [1740778] - [uapi] input: input_event - provide override for sparc64 (Benjamin Tissoires) [1740778] - [input] soc_button_array - fix mapping of the 5th GPIO in a PNP0C40 device (Benjamin Tissoires) [1740778] - [input] soc_button_array - add usage-page 0x01 usage-id 0xca mapping (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G (Benjamin Tissoires) [1740778] - [input] synaptics - enable SMBus for HP EliteBook 840 G4 (Benjamin Tissoires) [1740778] - [input] synaptics - enable RMI on ThinkPad T560 (Benjamin Tissoires) [1740778] - [documentation] input: add `REL_WHEEL_HI_RES` and `REL_HWHEEL_HI_RES` (Benjamin Tissoires) [1740778] - [uapi] input: restore EV_ABS ABS_RESERVED (Benjamin Tissoires) [1740778] - [input] synaptics - enable SMBus for HP 15-ay000 (Benjamin Tissoires) [1740778] - [input] synaptics - add PNP ID for ThinkPad P50 to SMBus (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ACPI ID for Lenovo IdeaPad 330-15ARR (Benjamin Tissoires) [1740778] - [input] elan_i2c - add support for ELAN0621 touchpad (Benjamin Tissoires) [1740778] - [documentation] revert "input: Add the `REL_WHEEL_HI_RES` event code" (Benjamin Tissoires) [1740778] - [input] atkbd - clean up indentation issue (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ELAN0620 to the ACPI table (Benjamin Tissoires) [1740778] - [input] synaptics - avoid using uninitialized variable when probing (Benjamin Tissoires) [1740778] - [input] xen-kbdfront - mark expected switch fall-through (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ACPI ID for Lenovo IdeaPad 330-15IGM (Benjamin Tissoires) [1740778] - [input] of_touchscreen - add support for touchscreen-min-x|y (Benjamin Tissoires) [1740778] - [input] elants_i2c - use DMA safe i2c when possible (Benjamin Tissoires) [1740778] - [input] uinput - add a schedule point in uinput_inject_events() (Benjamin Tissoires) [1740778] - [input] evdev - add a schedule point in evdev_write() (Benjamin Tissoires) [1740778] - [input] mousedev - add a schedule point in mousedev_write() (Benjamin Tissoires) [1740778] - [uapi] input: reserve 2 events code because of HID (Benjamin Tissoires) [1740778] - [input] i8042 - enable keyboard wakeups by default when s2idle is used (Benjamin Tissoires) [1740778] - [input] uinput - allow for max == min during input_absinfo validation (Benjamin Tissoires) [1740778] - [input] atakbd - fix Atari CapsLock behaviour (Benjamin Tissoires) [1740778] - [input] atakbd - fix Atari keymap (Benjamin Tissoires) [1740778] - [documentation] input: Add the `REL_WHEEL_HI_RES` event code (Benjamin Tissoires) [1740778] - [input] mark expected switch fall-throughs (Benjamin Tissoires) [1740778] - [input] evdev - switch to bitmap API (Benjamin Tissoires) [1740778] - [input] elan_i2c_smbus - cast sizeof to int for comparison (Benjamin Tissoires) [1740778] - [uapi] input: stop telling users to snail-mail Vojtech (Benjamin Tissoires) [1740778] - [documentation] input: add MT_TOOL_DIAL (Benjamin Tissoires) [1740778] - [input] i8042 - increment wakeup_count for the respective port (Benjamin Tissoires) [1740778] - [input] xen-kbdfront - allow better run-time configuration (Benjamin Tissoires) [1740778] - [xen] Sync up with the canonical protocol definitions in Xen (Benjamin Tissoires) [1740778] - [cpufreq] dev_pm_qos_update_request() can return 1 on success (Al Stone) [1739729 1725581] - [cpufreq] Make cpufreq_generic_init() return void (Al Stone) [1739729 1725581] - [cpufreq] Add QoS requests for userspace constraints (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Reuse refresh_frequency_limits() (Al Stone) [1739729 1725581] - [cpufreq] Register notifiers with the PM QoS framework (Al Stone) [1739729 1725581] - [base] pm / qos: Add support for MIN/MAX frequency constraints (Al Stone) [1739729 1725581] - [base] pm / qos: Pass request type to dev_pm_qos_read_value() (Al Stone) [1739729 1725581] - [base] pm / qos: Rename __dev_pm_qos_read_value() and dev_pm_qos_raw_read_value() (Al Stone) [1739729 1725581] - [base] pm / qos: Pass request type to dev_pm_qos_{add|remove}_notifier() (Al Stone) [1739729 1725581] - [cpufreq] Avoid calling cpufreq_verify_current_freq() from handle_update() (Al Stone) [1739729 1725581] - [cpufreq] Consolidate cpufreq_update_current_freq() and __cpufreq_get() (Al Stone) [1739729 1725581] - [cpufreq] Don't skip frequency validation for has_target() drivers (Al Stone) [1739729 1725581] - [cpufreq] Use has_target() instead of !setpolicy (Al Stone) [1739729 1725581] - [cpufreq] Remove redundant !setpolicy check (Al Stone) [1739729 1725581] - [kernel] cpufreq: Move the IS_ENABLED(CPU_THERMAL) macro into a stub (Al Stone) [1739729 1725581] - [opp] Don't use IS_ERR on invalid supplies (Al Stone) [1739729 1725581] - [kernel] pm: sleep: Update struct wakeup_source documentation (Al Stone) [1739729 1725581] - [base] base: power: remove wakeup_sources_stats_dentry variable (Al Stone) [1739729 1725581] - [cpufreq] pcc-cpufreq: Fail initialization if driver cannot be registered (Al Stone) [1739729 1725581] - [opp] Make dev_pm_opp_set_rate() handle freq = 0 to drop performance votes (Al Stone) [1739729 1725581] - [opp] Don't overwrite rounded clk rate (Al Stone) [1739729 1725581] - [base] pm: sleep: Show how long dpm_suspend_start() and dpm_suspend_end() take (Al Stone) [1739729 1725581] - [base] pm / clk: Remove error message on out-of-memory condition (Al Stone) [1739729 1725581] - [base] base: power: clock_ops: Use of_clk_get_parent_count() (Al Stone) [1739729 1725581] - [opp] Allocate genpd_virt_devs from dev_pm_opp_attach_genpd() (Al Stone) [1739729 1725581] - [opp] Attach genpds to devices from within OPP core (Al Stone) [1739729 1725581] - [base] pm / domains: Add GENPD_FLAG_RPM_ALWAYS_ON flag (Al Stone) [1739729 1725581] - [cpufreq] Don't find governor for setpolicy drivers in cpufreq_init_policy() (Al Stone) [1739729 1725581] - [cpufreq] Explain the kobject_put() in cpufreq_policy_alloc() (Al Stone) [1739729 1725581] - [x86] cpufreq: Call transition notifier only once for each policy (Al Stone) [1739729 1725581] - [cpufreq] Fix kobject memleak (Al Stone) [1739729 1725581] - [cpufreq] centrino: Fix centrino_setpolicy() kerneldoc comment (Al Stone) [1739729 1725581] - [base] pm / domains: Allow to attach a CPU via genpd_dev_pm_attach_by_id|name() (Al Stone) [1739729 1725581] - [base] pm / domains: Search for the CPU device outside the genpd lock (Al Stone) [1739729 1725581] - [base] pm / domains: Drop unused in-parameter to some genpd functions (Al Stone) [1739729 1725581] - [base] pm / domains: Use the base device for driver_deferred_probe_check_state() (Al Stone) [1739729 1725581] - [base] pm / domains: Enable genpd_dev_pm_attach_by_id|name() for single PM domain (Al Stone) [1739729 1725581] - [base] pm / domains: Allow OF lookup for multi PM domain case from ->attach_dev() (Al Stone) [1739729 1725581] - [base] pm / domains: Don't kfree() the virtual device in the error path (Al Stone) [1739729 1725581] - [cpufreq] Move ->get callback check outside of __cpufreq_get() (Al Stone) [1739729 1725581] - [x86] tsc: Rework time_cpufreq_notifier() (Al Stone) [1739729 1725581] - [x86] tsc: Fix UV TSC initialization (Al Stone) [1739729 1725581] - [x86] tsc: Prevent result truncation on 32bit (Al Stone) [1739729 1725581] - [x86] tsc: Consolidate init code (Al Stone) [1739729 1725581] - [x86] tsc: Make use of tsc_calibrate_cpu_early() (Al Stone) [1739729 1725581] - [x86] tsc: Split native_calibrate_cpu() into early and late parts (Al Stone) [1739729 1725581] - [x86] tsc: Use TSC as sched clock early (Al Stone) [1739729 1725581] - [x86] tsc: Initialize cyc2ns when tsc frequency is determined (Al Stone) [1739729 1725581] - [x86] tsc: Calibrate tsc only once (Al Stone) [1739729 1725581] - [x86] tsc: Redefine notsc to behave as tsc=unstable (Al Stone) [1739729 1725581] - [x86] platform/uv: Provide is_early_uv_system() (Al Stone) [1739729 1725581] - [base] pm / domains: remove unnecessary unlikely() (Al Stone) [1739729 1725581] - [cpufreq] Remove needless bios_limit check in show_bios_limit() (Al Stone) [1739729 1725581] - [cpufreq] cpufreq/acpi-cpufreq.c: This fixes the following checkpatch warning (Al Stone) [1739729 1725581] - [base] pm / core: Propagate dev->power.wakeup_path when no callbacks (Al Stone) [1739729 1725581] - [base] pm / domains: Add genpd governor for CPUs (Al Stone) [1739729 1725581] - [cpuidle] Export the next timer expiration for CPUs (Al Stone) [1739729 1725581] - [base] pm / core: Introduce dpm_async_fn() helper (Al Stone) [1739729 1725581] - [cpufreq] boost: Remove CONFIG_CPU_FREQ_BOOST_SW Kconfig option (Al Stone) [1739729 1725581] - [opp] Introduce dev_pm_opp_find_freq_ceil_by_volt() (Al Stone) [1739729 1725581] - [base] pm / domains: Add support for CPU devices to genpd (Al Stone) [1739729 1725581] - [base] pm / domains: Add generic data pointer to struct genpd_power_state (Al Stone) [1739729 1725581] - [cpufreq] rhel: cpufreq: switch printk users from pf and pF to ps and pS, respectively (Al Stone) [1739729 1725581] - [base] pm / core: fix kerneldoc comment for device_pm_wait_for_dev() (Al Stone) [1739729 1725581] - [base] pm / core: fix kerneldoc comment for dpm_watchdog_handler() (Al Stone) [1739729 1725581] - [cpufreq] stats: Use lock by stat to replace global spin lock (Al Stone) [1739729 1725581] - [cpufreq] Remove cpufreq_driver check in cpufreq_boost_supported() (Al Stone) [1739729 1725581] - [cpufreq] ppc_cbe: fix possible object reference leak (Al Stone) [1739729 1725581] - [cpufreq] cpufreq: Convert some slow-path static_cpu_has() callers to boot_cpu_has() (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Update max frequency on global turbo changes (Al Stone) [1739729 1725581] - [base] pm / wakeup: Use pm_pr_dbg() instead of pr_debug() (Al Stone) [1739729 1725581] - [cpufreq] Add cpufreq_cpu_acquire() and cpufreq_cpu_release() (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Driver-specific handling of _PPC updates (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Load only on Intel hardware (Al Stone) [1739729 1725581] - [cpufreq] scpi: Fix use after free (Al Stone) [1739729 1725581] - [base] pm / domains: Avoid a potential deadlock (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Fix up iowait_boost computation (Al Stone) [1739729 1725581] - [opp] pm / opp: Update performance state when freq == old_freq (Al Stone) [1739729 1725581] - [base] pm / wakeup: Drop wakeup_source_drop() (Al Stone) [1739729 1725581] - [base] pm / wakeup: Rework wakeup source timer cancellation (Al Stone) [1739729 1725581] - [base] pm / domains: Remove one unnecessary blank line (Al Stone) [1739729 1725581] - [base] pm / domains: Return early for all errors in _genpd_power_off() (Al Stone) [1739729 1725581] - [base] pm / domains: Improve warn for multiple states but no governor (Al Stone) [1739729 1725581] - [opp] Fix handling of multiple power domains (Al Stone) [1739729 1725581] - [base] pm / qos: Fix typo in file description (Al Stone) [1739729 1725581] - [base] pm-runtime: Call pm_runtime_active|suspended_time() from sysfs (Al Stone) [1739729 1725581] - [base] pm-runtime: Consolidate code to get active/suspended time (Al Stone) [1739729 1725581] - [base] pm: Add and use pr_fmt() (Al Stone) [1739729 1725581] - [cpufreq] Improve kerneldoc comments for cpufreq_cpu_get/put() (Al Stone) [1739729 1725581] - [cpufreq] acpi-cpufreq: Report if CPU doesn't support boost technologies (Al Stone) [1739729 1725581] - [base] driver core: Fix PM-runtime for links added during consumer probe (Al Stone) [1739729 1725581] - [cpufreq] Pass updated policy to driver ->setpolicy() callback (Al Stone) [1739729 1725581] - [cpufreq] Fix two debug messages in cpufreq_set_policy() (Al Stone) [1739729 1725581] - [cpufreq] Reorder and simplify cpufreq_update_policy() (Al Stone) [1739729 1725581] - [cpufreq] Add kerneldoc comments for two core functions (Al Stone) [1739729 1725581] - [cpufreq] scmi: Fix use-after-free in scmi_cpufreq_exit() (Al Stone) [1739729 1725581] - [kernel] pm / core: Add support to skip power management in device/driver model (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Rework iowait boosting to be less aggressive (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Eliminate intel_pstate_get_base_pstate() (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Avoid redundant initialization of local vars (Al Stone) [1739729 1725581] - [cpufreq] cpufreq / cppc: Work around for Hisilicon CPPC cpufreq (Al Stone) [1739729 1725581] - [cpufreq] speedstep: convert BUG() to BUG_ON() (Al Stone) [1739729 1725581] - [cpufreq] powernv: fix missing check of return value in init_powernv_pstates() (Al Stone) [1739729 1725581] - [cpufreq] pcc-cpufreq: remove unneeded semicolon (Al Stone) [1739729 1725581] - [kernel] pm / domains: Mark "name" const in dev_pm_domain_attach_by_name() (Al Stone) [1739729 1725581] - [kernel] pm / domains: Mark "name" const in genpd_dev_pm_attach_by_name() (Al Stone) [1739729 1725581] - [cpufreq] Replace double NOT (!!) with single NOT (!) (Al Stone) [1739729 1725581] - [base] pm / suspend: Print debug messages for device using direct-complete (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Add reasons for failure and debug messages (Al Stone) [1739729 1725581] - [base] driver core: Fix possible supplier PM-usage counter imbalance (Al Stone) [1739729 1725581] - [base] pm-runtime: Fix __pm_runtime_set_status() race with runtime resume (Al Stone) [1739729 1725581] - [cpufreq] dt: Implement online/offline() callbacks (Al Stone) [1739729 1725581] - [cpufreq] Allow light-weight tear down and bring up of CPUs (Al Stone) [1739729 1725581] - [base] pm-runtime: Take suppliers into account in __pm_runtime_set_status() (Al Stone) [1739729 1725581] - [opp] no need to check return value of debugfs_create functions (Al Stone) [1739729 1725581] - [cpufreq] scmi: Register an Energy Model (Al Stone) [1739729 1725581] - [opp] pm / opp: Introduce a power estimation helper (Al Stone) [1739729 1725581] - [opp] pm / opp: Remove unused parameter of _generic_set_opp_clk_only() (Al Stone) [1739729 1725581] - [cpufreq] scpi: Register an Energy Model (Al Stone) [1739729 1725581] - [cpufreq] dt: Register an Energy Model (Al Stone) [1739729 1725581] - [cpufreq] stats: Fix concurrency issues while resetting stats (Al Stone) [1739729 1725581] - [cpufreq] stats: Declare freq-attr right after their callbacks (Al Stone) [1739729 1725581] - [base] driver core: Do not call rpm_put_suppliers() in pm_runtime_drop_link() (Al Stone) [1739729 1725581] - [base] driver core: Fix handling of runtime PM flags in device_link_add() (Al Stone) [1739729 1725581] - [base] driver core: Do not resume suppliers under device_links_write_lock() (Al Stone) [1739729 1725581] - [base] driver core: Avoid careless re-use of existing device links (Al Stone) [1739729 1725581] - [base] driver core: Fix DL_FLAG_AUTOREMOVE_SUPPLIER device link flag handling (Al Stone) [1739729 1725581] - [base] driver core: Add flag to autoremove device link on supplier unbind (Al Stone) [1739729 1725581] - [base] driver core: Rename flag AUTOREMOVE to AUTOREMOVE_CONSUMER (Al Stone) [1739729 1725581] - [base] pm-runtime: update accounting_timestamp on enable (Al Stone) [1739729 1725581] - [cpufreq] scpi: Use auto-registration of thermal cooling device (Al Stone) [1739729 1725581] - [cpufreq] scmi: Use auto-registration of thermal cooling device (Al Stone) [1739729 1725581] - [cpufreq] cpufreq-dt: Use auto-registration of thermal cooling device (Al Stone) [1739729 1725581] - [cpufreq] Auto-register the driver as a thermal cooling device if asked (Al Stone) [1739729 1725581] - [cpufreq] thermal: cpu_cooling: Require thermal core to be compiled in (Al Stone) [1739729 1725581] - [cpufreq] Use struct kobj_attribute instead of struct global_attr (Al Stone) [1739729 1725581] - [base] pm / wakeup: fix kerneldoc comment for pm_wakeup_dev_event() (Al Stone) [1739729 1725581] - [base] pm: domains: no need to check return value of debugfs_create functions (Al Stone) [1739729 1725581] - [opp] Add support for parsing the 'opp-level' property (Al Stone) [1739729 1725581] - [kernel] cpufreq: Replace open-coded << with BIT() (Al Stone) [1739729 1725581] - [base] pm: clock_ops: fix missing clk_prepare() return value check (Al Stone) [1739729 1725581] - [cpufreq] e_powersaver: Use struct_size() in kzalloc() (Al Stone) [1739729 1725581] - [cpufreq] Don't update new_policy on failures (Al Stone) [1739729 1725581] - [cpufreq] scmi: Fix frequency invariance in slow path (Al Stone) [1739729 1725581] - [cpufreq] check if policy is inactive early in __cpufreq_get() (Al Stone) [1739729 1725581] - [opp] cpufreq: scpi/scmi: Fix freeing of dynamic OPPs (Al Stone) [1739729 1725581] - [base] pm: sleep: call devfreq suspend/resume (Al Stone) [1739729 1725581] - [devfreq] pm / devfreq: add devfreq_suspend/resume() functions (Al Stone) [1739729 1725581] - [base] pm / domains: remove define_genpd_open_function() and define_genpd_debugfs_fops() (Al Stone) [1739729 1725581] - [base] pm / domains: Propagate performance state updates (Al Stone) [1739729 1725581] - [base] pm / domains: Factorize dev_pm_genpd_set_performance_state() (Al Stone) [1739729 1725581] - [base] pm / domains: Save OPP table pointer in genpd (Al Stone) [1739729 1725581] - [opp] Don't return 0 on error from of_get_required_opp_performance_state() (Al Stone) [1739729 1725581] - [opp] Add dev_pm_opp_xlate_performance_state() helper (Al Stone) [1739729 1725581] - [opp] Improve _find_table_of_opp_np() (Al Stone) [1739729 1725581] - [base] pm / domains: Make genpd performance states orthogonal to the idlestates (Al Stone) [1739729 1725581] - [opp] Fix missing debugfs supply directory for OPPs (Al Stone) [1739729 1725581] - [opp] Use opp_table->regulators to verify no regulator case (Al Stone) [1739729 1725581] - [base] pm: Switch to use ptR (Al Stone) [1739729 1725581] - [cpufreq] powernv: add of_node_put() (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Force HWP min perf before offline (Al Stone) [1739729 1725581] - [cpufreq] cpufreq: change CONFIG_6xx to CONFIG_PPC_BOOK3S_32 (Al Stone) [1739729 1725581] - [opp] Fix parsing of multiple phandles in "operating-points-v2" property (Al Stone) [1739729 1725581] - [opp] Remove of_dev_pm_opp_find_required_opp() (Al Stone) [1739729 1725581] - [base] opp: Rename and relocate of_genpd_opp_to_performance_state() (Al Stone) [1739729 1725581] - [opp] Configure all required OPPs (Al Stone) [1739729 1725581] - [opp] Add dev_pm_opp_{set|put}_genpd_virt_dev() helper (Al Stone) [1739729 1725581] - [base] pm / domains: Add genpd_opp_to_performance_state() (Al Stone) [1739729 1725581] - [opp] Populate OPPs from "required-opps" property (Al Stone) [1739729 1725581] - [opp] Populate required opp tables from "required-opps" property (Al Stone) [1739729 1725581] - [opp] Separate out custom OPP handler specific code (Al Stone) [1739729 1725581] - [opp] Identify and mark genpd OPP tables (Al Stone) [1739729 1725581] - [base] pm / domains: Rename genpd virtual devices as virt_dev (Al Stone) [1739729 1725581] - [cpufreq] remove unused arm_big_little_dt driver (Al Stone) [1739729 1725581] - [cpufreq] drop ARM_BIG_LITTLE_CPUFREQ support for ARM64 (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Fix compilation for !CONFIG_ACPI (Al Stone) [1739729 1725581] - [base] pm / domains: Deal with multiple states but no governor in genpd (Al Stone) [1739729 1725581] - [base] pm / domains: Don't treat zero found compatible idle states as an error (Al Stone) [1739729 1725581] - [cpufreq] conservative: Take limits changes into account properly (Al Stone) [1739729 1725581] - [opp] pm / opp: _of_add_opp_table_v2(): increment count only if OPP is added (Al Stone) [1739729 1725581] - [cpufreq] dt: Try freeing static OPPs only if we have added them (Al Stone) [1739729 1725581] - [opp] Return error on error from dev_pm_opp_get_opp_count() (Al Stone) [1739729 1725581] - [opp] Improve error handling in dev_pm_opp_of_cpumask_add_table() (Al Stone) [1739729 1725581] - [cpufreq] cpufreq / cppc: Mark acpi_ids as used (Al Stone) [1739729 1725581] - [opp] Pass OPP table to _of_add_opp_table_v{1|2}() (Al Stone) [1739729 1725581] - [opp] Prevent creating multiple OPP tables for devices sharing OPP nodes (Al Stone) [1739729 1725581] - [opp] Use a single mechanism to free the OPP table (Al Stone) [1739729 1725581] - [opp] Don't remove dynamic OPPs from _dev_pm_opp_remove_table() (Al Stone) [1739729 1725581] - [opp] Create separate kref for static OPPs list (Al Stone) [1739729 1725581] - [opp] Don't take OPP table's kref for static OPPs (Al Stone) [1739729 1725581] - [opp] Parse OPP table's DT properties from _of_init_opp_table() (Al Stone) [1739729 1725581] - [opp] Pass index to _of_init_opp_table() (Al Stone) [1739729 1725581] - [opp] Protect dev_list with opp_table lock (Al Stone) [1739729 1725581] - [opp] Don't try to remove all OPP tables on failure (Al Stone) [1739729 1725581] - [opp] Free OPP table properly on performance state irregularities (Al Stone) [1739729 1725581] - [cpufreq] Convert to using pOFn instead of device_node.name (Al Stone) [1739729 1725581] - [cpufreq] remove unnecessary unlikely() (Al Stone) [1739729 1725581] - [base] pm / clk: signedness bug in of_pm_clk_add_clks() (Al Stone) [1739729 1725581] - [trace] cpufreq: trace frequency limits change (Al Stone) [1739729 1725581] - [cpufreq] pcc-cpufreq: Disable dynamic scaling on many-CPU systems (Al Stone) [1739729 1725581] - [base] pm / domains: Stop deferring probe at the end of initcall (Al Stone) [1739729 1725581] - [base] driver: core: Allow subsystems to continue deferring probe (Al Stone) [1739729 1725581] - [base] driver core: allow stopping deferred probe after init (Al Stone) [1739729 1725581] - [base] driver core: add a debugfs entry to show deferred devices (Al Stone) [1739729 1725581] - [base] pm / domains: Introduce dev_pm_domain_attach_by_name() (Al Stone) [1739729 1725581] - [base] pm / domains: Introduce option to attach a device by name to genpd (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: use match_string() helper (Al Stone) [1739729 1725581] - [fs] ceph: use ceph_evict_inode to cleanup inode's resource (Jeff Layton) [1767959] - [fs] ceph: return -EINVAL if given fsc mount option on kernel w/o support (Jeff Layton) [1767959] - [fs] ceph: don't try to handle hashed dentries in non-O_CREAT atomic_open (Jeff Layton) [1767959] - [fs] ceph: add missing check in d_revalidate snapdir handling (Jeff Layton) [1767959] - [fs] ceph: fix RCU case handling in ceph_d_revalidate() (Jeff Layton) [1767959] - [fs] ceph: fix use-after-free in __ceph_remove_cap() (Jeff Layton) [1767959] - [block] rbd: cancel lock_dwork if the wait is interrupted (Jeff Layton) [1767959] - [fs] ceph: just skip unrecognized info in ceph_reply_info_extra (Jeff Layton) [1767959] - [fs] ceph: call ceph_mdsc_destroy from destroy_fs_client (Jeff Layton) [1767959] - [net] libceph: use ceph_kvmalloc() for osdmap arrays (Jeff Layton) [1767959] - [net] libceph: avoid a __vmalloc() deadlock in ceph_kvmalloc() (Jeff Layton) [1767959] - [fs] ceph: include ceph_debug.h in cache.c (Jeff Layton) [1767959] - [fs] ceph: move static keyword to the front of declarations (Jeff Layton) [1767959] - [block] rbd: pull rbd_img_request_create() dout out into the callers (Jeff Layton) [1767959] - [fs] ceph: reconnect connection if session hang in opening state (Jeff Layton) [1767959] - [net] libceph: drop unused con parameter of calc_target() (Jeff Layton) [1767959] - [fs] ceph: use release_pages() directly (Jeff Layton) [1767959] - [block] rbd: fix response length parameter for encoded strings (Jeff Layton) [1767959] - [fs] ceph: allow arbitrary security.* xattrs (Jeff Layton) [1767959] - [fs] ceph: only set CEPH_I_SEC_INITED if we got a MAC label (Jeff Layton) [1767959] - [fs] ceph: turn ceph_security_invalidate_secctx into static inline (Jeff Layton) [1767959] - [fs] ceph: add buffered/direct exclusionary locking for reads and writes (Jeff Layton) [1767959] - [net] libceph: handle OSD op ceph_pagelist_append() errors (Jeff Layton) [1767959] - [fs] ceph: don't return a value from void function (Jeff Layton) [1767959] - [fs] ceph: don't freeze during write page faults (Jeff Layton) [1767959] - [fs] ceph: update the mtime when truncating up (Jeff Layton) [1767959] - [fs] ceph: fix indentation in __get_snap_name() (Jeff Layton) [1767959] - [fs] ceph: remove incorrect comment above __send_cap (Jeff Layton) [1767959] - [fs] ceph: remove CEPH_I_NOFLUSH (Jeff Layton) [1767959] - [fs] ceph: remove unneeded test in try_flush_caps (Jeff Layton) [1767959] - [fs] ceph: have __mark_caps_flushing return flush_tid (Jeff Layton) [1767959] - [fs] ceph: fix comments over ceph_add_cap (Jeff Layton) [1767959] - [fs] ceph: eliminate session->s_trim_caps (Jeff Layton) [1767959] - [fs] ceph: fetch cap_gen under spinlock in ceph_add_cap (Jeff Layton) [1767959] - [fs] ceph: remove ceph_get_cap_mds and __ceph_get_cap_mds (Jeff Layton) [1767959] - [fs] ceph: don't SetPageError on writepage errors (Jeff Layton) [1767959] - [fs] ceph: auto reconnect after blacklisted (Jeff Layton) [1767959] - [fs] ceph: invalidate all write mode filp after reconnect (Jeff Layton) [1767959] - [fs] ceph: return -EIO if read/write against filp that lost file locks (Jeff Layton) [1767959] - [fs] ceph: add helper function that forcibly reconnects to ceph cluster (Jeff Layton) [1767959] - [fs] ceph: pass filp to ceph_get_caps() (Jeff Layton) [1767959] - [fs] ceph: track and report error of async metadata operation (Jeff Layton) [1767959] - [fs] ceph: allow closing session in restarting/reconnect state (Jeff Layton) [1767959] - [net] libceph: add function that clears osd client's abort_err (Jeff Layton) [1767959] - [net] libceph: add function that reset client's entity addr (Jeff Layton) [1767959] - [fs] ceph: don't list vxattrs in listxattr() (Jeff Layton) [1767959] - [fs] ceph: fix directories inode i_blkbits initialization (Jeff Layton) [1767959] - [block] rbd: restore zeroing past the overlap when reading from parent (Jeff Layton) [1767959] - [net] libceph: don't call crypto_free_sync_skcipher() on a NULL tfm (Jeff Layton) [1767959] - [net] libceph: fix PG split vs OSD (re)connect race (Jeff Layton) [1767959] - [fs] ceph: don't try fill file_lock on unsuccessful GETFILELOCK reply (Jeff Layton) [1767959] - [fs] ceph: clear page dirty before invalidate page (Jeff Layton) [1767959] - [fs] ceph: fix buffer free while holding i_ceph_lock in fill_inode() (Jeff Layton) [1767959] - [fs] ceph: fix buffer free while holding i_ceph_lock in __ceph_build_xattrs_blob() (Jeff Layton) [1767959] - [fs] ceph: fix buffer free while holding i_ceph_lock in __ceph_setxattr() (Jeff Layton) [1767959] - [kernel] libceph: allow ceph_buffer_put() to receive a NULL ceph_buffer (Jeff Layton) [1767959] - [fs] ceph: fix end offset in truncate_inode_pages_range call (Jeff Layton) [1767959] - [fs] ceph: initialize superblock s_time_gran to 1 (Jeff Layton) [1767959] - [block] rbd: setallochint only if object doesn't exist (Jeff Layton) [1767959] - [block] rbd: support for object-map and fast-diff (Jeff Layton) [1767959] - [block] rbd: call rbd_dev_mapping_set() from rbd_dev_image_probe() (Jeff Layton) [1767959] - [net] libceph: export osd_req_op_data() macro (Jeff Layton) [1767959] - [net] libceph: change ceph_osdc_call() to take page vector for response (Jeff Layton) [1767959] - [kernel] libceph: bump CEPH_MSG_MAX_DATA_LEN (again) (Jeff Layton) [1767959] - [block] rbd: new exclusive lock wait/wake code (Jeff Layton) [1767959] - [block] rbd: quiescing lock should wait for image requests (Jeff Layton) [1767959] - [block] rbd: lock should be quiesced on reacquire (Jeff Layton) [1767959] - [block] rbd: introduce copyup state machine (Jeff Layton) [1767959] - [block] rbd: rename rbd_obj_setup_*() to rbd_obj_init_*() (Jeff Layton) [1767959] - [block] rbd: move OSD request allocation into object request state machines (Jeff Layton) [1767959] - [block] rbd: factor out __rbd_osd_setup_discard_ops() (Jeff Layton) [1767959] - [block] rbd: factor out rbd_osd_setup_copyup() (Jeff Layton) [1767959] - [block] rbd: introduce obj_req->osd_reqs list (Jeff Layton) [1767959] - [fs] libceph: rename r_unsafe_item to r_private_item (Jeff Layton) [1767959] - [block] rbd: introduce image request state machine (Jeff Layton) [1767959] - [block] rbd: move OSD request submission into object request state machines (Jeff Layton) [1767959] - [block] rbd: get rid of RBD_OBJ_WRITE_{FLAT, GUARD} (Jeff Layton) [1767959] - [block] rbd: replace obj_req->tried_parent with obj_req->read_state (Jeff Layton) [1767959] - [block] rbd: get rid of obj_req->xferred, obj_req->result and img_req->xferred (Jeff Layton) [1767959] - [fs] ceph: don't NULL terminate virtual xattrs (Jeff Layton) [1767959] - [fs] ceph: return -ERANGE if virtual xattr value didn't fit in buffer (Jeff Layton) [1767959] - [fs] ceph: make getxattr_cb return ssize_t (Jeff Layton) [1767959] - [fs] ceph: more precise CEPH_CLIENT_CAPS_PENDING_CAPSNAP (Jeff Layton) [1767959] - [fs] ceph: kick flushing and flush snaps before sending normal cap message (Jeff Layton) [1767959] - [fs] ceph: clear CEPH_I_KICK_FLUSH flag inside __kick_flushing_caps() (Jeff Layton) [1767959] - [fs] ceph: increment change_attribute on local changes (Jeff Layton) [1767959] - [fs] ceph: handle change_attr in cap messages (Jeff Layton) [1767959] - [fs] ceph: add change_attr field to ceph_inode_info (Jeff Layton) [1767959] - [kernel] iversion: add a routine to update a raw value with a larger one (Jeff Layton) [1767959] - [fs] ceph: allow querying of STATX_BTIME in ceph_getattr (Jeff Layton) [1767959] - [kernel] libceph: turn on CEPH_FEATURE_MSG_ADDR2 (Jeff Layton) [1767959] - [fs] ceph: handle btime in cap messages (Jeff Layton) [1767959] - [fs] ceph: add btime field to ceph_inode_info (Jeff Layton) [1767959] - [net] libceph: rename ceph_encode_addr to ceph_encode_banner_addr (Jeff Layton) [1767959] - [net] libceph: use TYPE_LEGACY for entity addrs instead of TYPE_NONE (Jeff Layton) [1767959] - [net] ceph: fix decode_locker to use ceph_decode_entity_addr (Jeff Layton) [1767959] - [fs] ceph: have MDS map decoding use entity_addr_t decoder (Jeff Layton) [1767959] - [net] libceph: correctly decode ADDR2 addresses in incremental OSD maps (Jeff Layton) [1767959] - [net] libceph: fix watch_item_t decoding to use ceph_decode_entity_addr (Jeff Layton) [1767959] - [net] libceph: switch osdmap decoding to use ceph_decode_entity_addr (Jeff Layton) [1767959] - [net] libceph: ADDR2 support for monmap (Jeff Layton) [1767959] - [net] libceph: add ceph_decode_entity_addr (Jeff Layton) [1767959] - [net] libceph: fix sa_family just after reading address (Jeff Layton) [1767959] - [fs] ceph: remove request from waiting list before unregister (Jeff Layton) [1767959] - [fs] ceph: don't blindly unregister session that is in opening state (Jeff Layton) [1767959] - [fs] ceph: fix infinite loop in get_quota_realm() (Jeff Layton) [1767959] - [fs] ceph: add selinux support (Jeff Layton) [1767959] - [fs] ceph: rename struct ceph_acls_info to ceph_acl_sec_ctx (Jeff Layton) [1767959] - [fs] ceph: fix debug print format in __set_xattr() (Jeff Layton) [1767959] - [fs] ceph: fix warning PTR_ERR_OR_ZERO can be used (Jeff Layton) [1767959] - [fs] ceph: hold i_ceph_lock when removing caps for freeing inode (Jeff Layton) [1767959] - [fs] ceph: ensure d_name/d_parent stability in ceph_mdsc_lease_send_msg() (Jeff Layton) [1767959] - [fs] ceph: use READ_ONCE to access d_parent in RCU critical section (Jeff Layton) [1767959] - [fs] ceph: fix dir_lease_is_valid() (Jeff Layton) [1767959] - [fs] ceph: close race between d_name_cmp() and update_dentry_lease() (Jeff Layton) [1767959] - [fs] ceph: fix improper use of smp_mb__before_atomic() (Jeff Layton) [1767959] - [fs] ceph: fix "ceph.dir.rctime" vxattr value (Jeff Layton) [1767959] - [fs] ceph: remove unused vxattr length helpers (Jeff Layton) [1767959] - [fs] ceph: fix listxattr vxattr buffer length calculation (Jeff Layton) [1767959] - [fs] ceph: add ceph.snap.btime vxattr (Jeff Layton) [1767959] - [fs] ceph: carry snapshot creation time with inodes (Jeff Layton) [1767959] - [fs] ceph: clean up ceph.dir.pin vxattr name sizeof() (Jeff Layton) [1767959] - [fs] ceph: silence a checker warning in mdsc_show() (Jeff Layton) [1767959] - [net] libceph: remove ceph_get_direct_page_vector() (Jeff Layton) [1767959] - [fs] ceph: don't open-code the check for dead lockref (Jeff Layton) [1767959] - [net] ceph: no need to check return value of debugfs_create functions (Jeff Layton) [1767959] - [fs] ceph: fix ceph_mdsc_build_path to not stop on first component (Jeff Layton) [1767959] - [fs] ceph: fix error handling in ceph_get_caps() (Jeff Layton) [1767959] - [fs] ceph: avoid iput_final() while holding mutex or in dispatch thread (Jeff Layton) [1767959] - [fs] ceph: single workqueue for inode related works (Jeff Layton) [1767959] - [fs] ceph: flush dirty inodes before proceeding with remount (Jeff Layton) [1767959] - [fs] ceph: fix unaligned access in ceph_send_cap_releases (Jeff Layton) [1767959] - [net] libceph: make ceph_pr_addr take an struct ceph_entity_addr pointer (Jeff Layton) [1767959] - [net] libceph: fix unaligned accesses in ceph_entity_addr handling (Jeff Layton) [1767959] - [block] rbd: don't assert on writes to snapshots (Jeff Layton) [1767959] - [block] rbd: client_mutex is never nested (Jeff Layton) [1767959] - [fs] ceph: print inode number in __caps_issued_mask debugging messages (Jeff Layton) [1767959] - [fs] ceph: just call get_session in __ceph_lookup_mds_session (Jeff Layton) [1767959] - [fs] ceph: simplify arguments and return semantics of try_get_cap_refs (Jeff Layton) [1767959] - [fs] ceph: fix comment over ceph_drop_caps_for_unlink (Jeff Layton) [1767959] - [fs] ceph: move wait for mds request into helper function (Jeff Layton) [1767959] - [fs] ceph: have ceph_mdsc_do_request call ceph_mdsc_submit_request (Jeff Layton) [1767959] - [fs] ceph: after an MDS request, do callback and completions (Jeff Layton) [1767959] - [fs] ceph: use pathlen values returned by set_request_path_attr (Jeff Layton) [1767959] - [fs] ceph: use __getname/__putname in ceph_mdsc_build_path (Jeff Layton) [1767959] - [fs] ceph: use ceph_mdsc_build_path instead of clone_dentry_name (Jeff Layton) [1767959] - [fs] ceph: fix potential use-after-free in ceph_mdsc_build_path (Jeff Layton) [1767959] - [fs] ceph: dump granular cap info in "caps" debugfs file (Jeff Layton) [1767959] - [fs] ceph: make iterate_session_caps a public symbol (Jeff Layton) [1767959] - [fs] ceph: fix NULL pointer deref when debugging is enabled (Jeff Layton) [1767959] - [fs] ceph: properly handle granular statx requests (Jeff Layton) [1767959] - [fs] ceph: remove superfluous inode_lock in ceph_fsync (Jeff Layton) [1767959] - [kernel] libceph: fix clang warning for CEPH_DEFINE_OID_ONSTACK (Jeff Layton) [1767959] - [block] rbd: convert all rbd_assert(0) to BUG() (Jeff Layton) [1767959] - [block] rbd: avoid clang -Wuninitialized warning (Jeff Layton) [1767959] - [fs] ceph: snapshot nfs re-export (Jeff Layton) [1767959] - [fs] ceph: quota: fix quota subdir mounts (Jeff Layton) [1767959] - [fs] ceph: factor out ceph_lookup_inode() (Jeff Layton) [1767959] - [fs] ceph: remove duplicated filelock ref increase (Jeff Layton) [1767959] - [fs] ceph: fix ci->i_head_snapc leak (Jeff Layton) [1767959] - [fs] ceph: handle the case where a dentry has been renamed on outstanding req (Jeff Layton) [1767959] - [fs] ceph: ensure d_name stability in ceph_dentry_hash() (Jeff Layton) [1767959] - [fs] ceph: only use d_name directly when parent is locked (Jeff Layton) [1767959] - [fs] mark expected switch fall-throughs (Jeff Layton) [1767959] - [fs] ceph: fix use-after-free on symlink traversal (Jeff Layton) [1767959] - [net] libceph: fix breakage caused by multipage bvecs (Jeff Layton) [1767959] - [block] rbd: drop wait_for_latest_osdmap() (Jeff Layton) [1767959] - [net] libceph: wait for latest osdmap in ceph_monc_blacklist_add() (Jeff Layton) [1767959] - [block] rbd: set io_min, io_opt and discard_granularity to alloc_size (Jeff Layton) [1767959] - [block] rbd: advertise support for RBD_FEATURE_DEEP_FLATTEN (Jeff Layton) [1767959] - [block] rbd: whole-object write and zeroout should copyup when snapshots exist (Jeff Layton) [1767959] - [block] rbd: copyup with an empty snapshot context (aka deep-copyup) (Jeff Layton) [1767959] - [block] rbd: introduce rbd_obj_issue_copyup_ops() (Jeff Layton) [1767959] - [block] rbd: stop copying num_osd_ops in rbd_obj_issue_copyup() (Jeff Layton) [1767959] - [block] rbd: factor out __rbd_osd_req_create() (Jeff Layton) [1767959] - [block] rbd: clear ->xferred on error from rbd_obj_issue_copyup() (Jeff Layton) [1767959] - [block] rbd: remove experimental designation from kernel layering (Jeff Layton) [1767959] - [fs] ceph: add mount option to limit caps count (Jeff Layton) [1767959] - [fs] ceph: periodically trim stale dentries (Jeff Layton) [1767959] - [fs] ceph: delete stale dentry when last reference is dropped (Jeff Layton) [1767959] - [fs] ceph: remove dentry_lru file from debugfs (Jeff Layton) [1767959] - [fs] ceph: touch existing cap when handling reply (Jeff Layton) [1767959] - [fs] ceph: pass inclusive lend parameter to filemap_write_and_wait_range() (Jeff Layton) [1767959] - [block] rbd: round off and ignore discards that are too small (Jeff Layton) [1767959] - [block] rbd: handle DISCARD and WRITE_ZEROES separately (Jeff Layton) [1767959] - [block] rbd: get rid of obj_req->obj_request_count (Jeff Layton) [1767959] - [net] libceph: use struct_size() for kmalloc() in crush_decode() (Jeff Layton) [1767959] - [fs] ceph: send cap releases more aggressively (Jeff Layton) [1767959] - [fs] ceph: support getting ceph.dir.pin vxattr (Jeff Layton) [1767959] - [fs] ceph: support versioned reply (Jeff Layton) [1767959] - [fs] ceph: map snapid to anonymous bdev ID (Jeff Layton) [1767959] - [fs] ceph: split large reconnect into multiple messages (Jeff Layton) [1767959] - [fs] ceph: decode feature bits in session message (Jeff Layton) [1767959] - [fs] ceph: set special inode's blocksize to page size (Jeff Layton) [1767959] - [fs] ceph: avoid repeatedly adding inode to mdsc->snap_flush_list (Jeff Layton) [1767959] - [fs] ceph: quota: cleanup license mess (Jeff Layton) [1767959] - [net] libceph: avoid KEEPALIVE_PENDING races in ceph_con_keepalive() (Jeff Layton) [1767959] - [fs] ceph: clear inode pointer when snap realm gets dropped by its inode (Jeff Layton) [1767959] - [block] rbd: don't return 0 on unmap if RBD_DEV_FLAG_REMOVING is set (Jeff Layton) [1767959] - [fs] ceph: use vmf_error() in ceph_filemap_fault() (Jeff Layton) [1767959] - [net] libceph: allow setting abort_on_full for rbd (Jeff Layton) [1767959] - [fs] ceph: don't encode inode pathes into reconnect message (Jeff Layton) [1767959] - [fs] ceph: update wanted caps after resuming stale session (Jeff Layton) [1767959] - [fs] ceph: skip updating 'wanted' caps if caps are already issued (Jeff Layton) [1767959] - [fs] ceph: don't request excl caps when mount is readonly (Jeff Layton) [1767959] - [fs] ceph: don't update importing cap's mseq when handing cap export (Jeff Layton) [1767959] - [net] libceph: switch more to bool in ceph_tcp_sendmsg() (Jeff Layton) [1767959] - [net] libceph: use MSG_SENDPAGE_NOTLAST with ceph_tcp_sendpage() (Jeff Layton) [1767959] - [net] libceph: use sock_no_sendpage() as a fallback in ceph_tcp_sendpage() (Jeff Layton) [1767959] - [net] libceph: drop last_piece logic from write_partial_message_data() (Jeff Layton) [1767959] - [fs] ceph: remove redundant assignment (Jeff Layton) [1767959] - [fs] ceph: cleanup splice_dentry() (Jeff Layton) [1767959] - [fs] libceph: assume argonaut on the server side (Jeff Layton) [1767959] - [fs] ceph: quota: fix null pointer dereference in quota check (Jeff Layton) [1767959] - [fs] ceph: add non-blocking parameter to ceph_try_get_caps() (Jeff Layton) [1767959] - [net] libceph: check reply num_data_items in setup_request_data() (Jeff Layton) [1767959] - [net] libceph: preallocate message data items (Jeff Layton) [1767959] - [net] libceph, rbd, ceph: move ceph_osdc_alloc_messages() calls (Jeff Layton) [1767959] - [net] libceph: introduce alloc_watch_request() (Jeff Layton) [1767959] - [net] libceph: assign cookies in linger_submit() (Jeff Layton) [1767959] - [net] libceph: enable fallback to ceph_msg_new() in ceph_msgpool_get() (Jeff Layton) [1767959] - [fs] ceph: num_ops is off by one in ceph_aio_retry_work() (Jeff Layton) [1767959] - [net] libceph: no need to call osd_req_opcode_valid() in osd_req_encode_op() (Jeff Layton) [1767959] - [fs] ceph: set timeout conditionally in __cap_delay_requeue (Jeff Layton) [1767959] - [net] libceph: don't consume a ref on pagelist in ceph_msg_data_add_pagelist() (Jeff Layton) [1767959] - [net] libceph: introduce ceph_pagelist_alloc() (Jeff Layton) [1767959] - [net] libceph: osd_req_op_cls_init() doesn't need to take opcode (Jeff Layton) [1767959] - [kernel] libceph: bump CEPH_MSG_MAX_DATA_LEN (Jeff Layton) [1767959] - [fs] ceph: only allow punch hole mode in fallocate (Jeff Layton) [1767959] - [fs] ceph: refactor ceph_sync_read() (Jeff Layton) [1767959] - [fs] ceph: check if LOOKUPNAME request was aborted when filling trace (Jeff Layton) [1767959] - [fs] ceph: fix dentry leak in ceph_readdir_prepopulate (Jeff Layton) [1767959] - [fs] revert "ceph: fix dentry leak in splice_dentry()" (Jeff Layton) [1767959] - [fs] ceph: check snap first in ceph_set_acl() (Jeff Layton) [1767959] - [block] rbd: add __init/__exit annotations (Jeff Layton) [1767959] - [fs] ceph: reset cap hold timeout only for requeued inode (Jeff Layton) [1767959] - [fs] ceph: don't drop message if it contains more data than expected (Jeff Layton) [1767959] - [fs] ceph: support cephfs' own feature bits (Jeff Layton) [1767959] - [net] crush: fix using plain integer as NULL warning (Jeff Layton) [1767959] - [net] libceph: remove unnecessary non NULL check for request_key (Jeff Layton) [1767959] - [fs] ceph: refactor error handling code in ceph_reserve_caps() (Jeff Layton) [1767959] - [fs] ceph: refactor ceph_unreserve_caps() (Jeff Layton) [1767959] - [fs] ceph: change to void return type for __do_request() (Jeff Layton) [1767959] - [fs] ceph: compare fsc->max_file_size and inode->i_size for max file size limit (Jeff Layton) [1767959] - [fs] ceph: add additional size check in ceph_setattr() (Jeff Layton) [1767959] - [fs] ceph: add additional offset check in ceph_write_iter() (Jeff Layton) [1767959] - [fs] ceph: add additional range check in ceph_fallocate() (Jeff Layton) [1767959] - [fs] ceph: add new field max_file_size in ceph_fs_client (Jeff Layton) [1767959] - [net] ceph: fix whitespace (Jeff Layton) [1767959] - [fs] ceph: adding new return type vm_fault_t (Jeff Layton) [1767959] - [kernel] libceph: remove now unused ceph_{en, de}code_timespec() (Jeff Layton) [1767959] - [fs] ceph: use timespec64 for r_stamp (Jeff Layton) [1767959] - [fs] libceph: use timespec64 for r_mtime (Jeff Layton) [1767959] - [fs] ceph: use timespec64 for inode timestamp (Jeff Layton) [1767959] - [fs] ceph: stop using current_kernel_time() (Jeff Layton) [1767959] - [net] libceph: use timespec64 in for keepalive2 and ticket validity (Jeff Layton) [1767959] - [fs] ceph: add d_drop for some error cases in ceph_symlink() (Jeff Layton) [1767959] - [fs] ceph: add d_drop for some error cases in ceph_mknod() (Jeff Layton) [1767959] - [fs] ceph: return errors from posix_acl_equiv_mode() correctly (Jeff Layton) [1767959] - [net] libceph: amend "bad option arg" error message (Jeff Layton) [1767959] - [net] libceph: stop parsing when a bad int arg is detected (Jeff Layton) [1767959] - [kernel] libceph: change ceph_pagelist_encode_string() to take u32 (Jeff Layton) [1767959] - [net] libceph: make ceph_osdc_notify{, _ack}() payload_len u32 (Jeff Layton) [1767959] - [fs] ceph: restore ctime as well in the case of restoring old mode (Jeff Layton) [1767959] - [fs] ceph: add retry logic for error -ERANGE in ceph_get_acl() (Jeff Layton) [1767959]- [tools] objtool: Support repeated uses of the same C jump table (Yauheni Kaliuta) [1747617] - [tools] objtool: Refactor jump table code (Yauheni Kaliuta) [1747617] - [tools] objtool: Fix sibling call detection (Yauheni Kaliuta) [1747617] - [tools] objtool: Add --backtrace support (Yauheni Kaliuta) [1747617] - [tools] libbpf: Improve handling of corrupted ELF during map initialization (Yauheni Kaliuta) [1747617] - [tools] libbpf: Fix negative FD close() in xsk_setup_xdp_prog() (Yauheni Kaliuta) [1747617] - [kernel] bpf: Change size to u64 for bpf_map_{area_alloc, charge_init}() (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: Fix btf_dump padding test case (Yauheni Kaliuta) [1747617] - [tools] libbpf: Fix struct end padding in btf_dump (Yauheni Kaliuta) [1747617] - [tools] bpf: Allow narrow loads of bpf_sysctl fields with offset > 0 (Yauheni Kaliuta) [1747617] - [tools] bpftool: move "__printf()" attributes to header file (Yauheni Kaliuta) [1747617] - [media] bpf: media: properly use bpf_prog_array api (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix format string for p_err() in detect_common_prefix() (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix argument for p_err() in BTF do_dump() (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix arguments for p_err() in do_event_pipe() (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix format strings and arguments for jsonw_printf() (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix precision tracking of stack slots (Yauheni Kaliuta) [1747617] - [kernel] bpf: handle 32-bit zext during constant blinding (Yauheni Kaliuta) [1747617] - [net] bpf: allow narrow loads of some sk_reuseport_md fields with offset > 0 (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix precision tracking in presence of bpf2bpf calls (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add config fragment BPF_JIT (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_btf_dump with O= (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_cgroup_storage on s390 (Yauheni Kaliuta) [1747617] - [tools] bpftool: close prog FD before exit on showing a single program (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix "bind{4, 6} deny specific IP & port" on s390 (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf.h to tools infrastructure (Yauheni Kaliuta) [1747617] - [tools] bpftool: add error message on pin failure (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix error message (prog -> object) (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: tests for jmp to 1st insn (Yauheni Kaliuta) [1747617] - [x86] bpf: fix x64 JIT code generation for jmp to 1st insn (Yauheni Kaliuta) [1747617] - [tools] libbpf: set BTF FD for prog only when there is supported .BTF.ext data (Yauheni Kaliuta) [1747617] - [tools] libbpf : make libbpf_num_possible_cpus function thread safe (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix missing __WORDSIZE definition (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix erroneous multi-closing of BTF FD (Yauheni Kaliuta) [1747617] - [tools] libbpf: silence GCC8 warning about string truncation (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add another gso_segs access (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix sendmsg6_prog on s390 (Yauheni Kaliuta) [1747617] - [tools] libbpf: Avoid designated initializers for unnamed union members (Yauheni Kaliuta) [1747617] - [tools] libbpf: Fix endianness macro usage for some compilers (Yauheni Kaliuta) [1747617] - [tools] libbpf: sanitize VAR to conservative 1-byte INT (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix SIGSEGV when BTF loading fails, but .BTF.ext exists (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_xdp_noinline on s390 (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix "valid read map access into a read-only array 1" on s390 (Yauheni Kaliuta) [1747617] - [kernel] bpf: Disable GCC -fgcse optimization for ___bpf_prog_run() (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix perf_buffer on s390 (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: structure test_{progs, maps, verifier} test runners uniformly (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_verifier/test_maps make dependencies (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix another GCC8 warning for strncpy (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: skip nmi test when perf hw events are disabled (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: remove logic duplication in test_verifier (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add selftests for wide loads (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: rename verifier/wide_store.c to verifier/wide_access.c (Yauheni Kaliuta) [1747617] - [net] bpf: allow wide aligned loads for bpf_sock_addr user_ip6 and msg_src_ip6 (Yauheni Kaliuta) [1747617] - [samples] bpf: build with -D__TARGET_ARCH_$(SRCARCH) (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: put test_stub.o into $(OUTPUT) (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: make directory prerequisites order-only (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix attach_probe on s390 (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: use typedef'ed arrays as map values (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add trickier size resolution tests (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix BTF verifier size resolution logic (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix compiling loop{1, 2, 3}.c on s390 (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: make PT_REGS_* work in userspace (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix s930 -> s390 typo (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: compile progs with -D__TARGET_ARCH_$(SRCARCH) (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: do not ignore clang failures (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: avoid fall-through warnings (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix bpf_target_sparc check (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix ptr to u64 conversion warning on 32-bit platforms (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix precision bit propagation for BPF_ST instructions (Yauheni Kaliuta) [1747617] - [kernel] bpf: Fix ORC unwinding in non-JIT BPF code (Yauheni Kaliuta) [1747617] - [tools] objtool: Add support for C jump tables (Yauheni Kaliuta) [1747617] - [tools] objtool: Don't use ignore flag for fake jumps (Yauheni Kaliuta) [1747617] - [tools] objtool: Support per-function rodata sections (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_reuseport_array on s390 (Yauheni Kaliuta) [1747617] - [tools] bpftool: add completion for bpftool prog "loadall" (Yauheni Kaliuta) [1747617] - [kernel] bpf: cgroup: Fix build error without CONFIG_NET (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_attach_probe map definition (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add verifier tests for wide stores (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1747617] - [tools] libbpf: add perf_buffer_ prefix to README (Yauheni Kaliuta) [1747617] - [tools] bpftool: switch map event_pipe to libbpf's perf_buffer (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: test perf buffer API (Yauheni Kaliuta) [1747617] - [tools] libbpf: auto-set PERF_EVENT_ARRAY size to number of CPUs (Yauheni Kaliuta) [1747617] - [tools] libbpf: add perf buffer API (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add test_tcp_rtt to .gitignore (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_align liveliness expectations (Yauheni Kaliuta) [1747617] - [tools] bpftool: add "prog run" subcommand to test-run programs (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert legacy BPF maps to BTF-defined ones (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert selftests using BTF-defined maps to new syntax (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add __uint and __type macro for BTF-defined maps (Yauheni Kaliuta) [1747617] - [tools] libbpf: capture value in BTF type info for BTF-defined map defs (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert existing tracepoint tests to new APIs (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add kprobe/uprobe selftests (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: switch test to new attach_perf_event API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add raw tracepoint attach API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add tracepoint attach API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add kprobe/uprobe attach API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add ability to attach/detach BPF program to perf event (Yauheni Kaliuta) [1747617] - [tools] libbpf: introduce concept of bpf_link (Yauheni Kaliuta) [1747617] - [tools] libbpf: make libbpf_strerror_r agnostic to sign of error (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: fix inlines in test_lwt_seg6local (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: standardize to static __always_inline (Yauheni Kaliuta) [1747617] - [samples] bpf: Add support for fq's EDT to HBM (Yauheni Kaliuta) [1747617] - [tools] bpf, libbpf, smatch: Fix potential NULL pointer dereference (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix GCC8 warning for strncpy (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: add tests for shifts by zero (Yauheni Kaliuta) [1747617] - [x86] bpf, x32: Fix bug with ALU64 {LSH, RSH, ARSH} BPF_K shift by 0 (Yauheni Kaliuta) [1747617] - [x86] bpf, x32: Fix bug with ALU64 {LSH, RSH, ARSH} BPF_X shift by 0 (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix precision tracking (Yauheni Kaliuta) [1747617] - [tools] bpf: fix uapi bpf_prog_info fields alignment (Yauheni Kaliuta) [1747617] - [kernel] devmap: Allow map lookups from eBPF (Yauheni Kaliuta) [1747617] - [net] bpf_xdp_redirect_map: Perform map lookup in eBPF helper (Yauheni Kaliuta) [1747617] - [net] devmap: Rename ifindex member in bpf_redirect_info (Yauheni Kaliuta) [1747617] - [kernel] devmap/cpumap: Use flush list instead of bitmap (Yauheni Kaliuta) [1747617] - [kernel] xskmap: Move non-standard list manipulation to helper (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix -Wstrict-aliasing in test_sockopt_sk.c (Yauheni Kaliuta) [1747617] - [tools] bpftool: support cgroup sockopt (Yauheni Kaliuta) [1747617] - [documentation] bpf: add sockopt documentation (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add sockopt test that exercises BPF_F_ALLOW_MULTI (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add sockopt test that exercises sk helpers (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add sockopt test (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: test sockopt section name (Yauheni Kaliuta) [1747617] - [tools] libbpf: support sockopt hooks (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1747617] - [kernel] bpf: implement getsockopt and setsockopt hooks (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix cgroup bpf release synchronization (Yauheni Kaliuta) [1747617] - [samples] bpf: make the use of xdp samples consistent (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix BPF_ALU32 | BPF_ARSH on BE arches (Yauheni Kaliuta) [1747617] - [tools] bpftool: use correct argument in cgroup errors (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix compiler warning with CONFIG_MODULES=n (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: build tests with debug info (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix max() type mismatch for 32bit (Yauheni Kaliuta) [1747617] - [trace] xdp: Add tracepoint for bulk XDP_TX (Yauheni Kaliuta) [1747617] - [tools] selftests, bpf: Add test for veth native XDP (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix spelling mistake "conflictling" -> "conflicting" (Yauheni Kaliuta) [1747617] - [kernel] bpf: precise scalar_value tracking (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add realistic loop tests (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add basic verifier tests for loops (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix tests (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix callees pruning callers (Yauheni Kaliuta) [1747617] - [kernel] bpf: introduce bounded loops (Yauheni Kaliuta) [1747617] - [kernel] bpf: extend is_branch_taken to registers (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix tests due to const spill/fill (Yauheni Kaliuta) [1747617] - [kernel] bpf: track spill/fill of constants (Yauheni Kaliuta) [1747617] - [tools] libbpf: constify getter APIs (Yauheni Kaliuta) [1747617] - [samples] bpf: refactor header include path (Yauheni Kaliuta) [1747617] - [samples] bpf: remove unnecessary include options in Makefile (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert tests w/ custom values to BTF-defined maps (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: switch BPF_ANNOTATE_KV_PAIR tests to BTF-defined maps (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add test for BTF-defined maps (Yauheni Kaliuta) [1747617] - [tools] libbpf: allow specifying map definitions using BTF (Yauheni Kaliuta) [1747617] - [tools] libbpf: split initialization and loading of BTF (Yauheni Kaliuta) [1747617] - [tools] libbpf: identify maps by section index in addition to offset (Yauheni Kaliuta) [1747617] - [tools] libbpf: refactor map initialization (Yauheni Kaliuta) [1747617] - [tools] libbpf: streamline ELF parsing error-handling (Yauheni Kaliuta) [1747617] - [tools] libbpf: extract BTF loading logic (Yauheni Kaliuta) [1747617] - [tools] libbpf: add common min/max macro to libbpf_internal.h (Yauheni Kaliuta) [1747617] - [net] bpf: fix the check that forwarding is enabled in bpf_ipv6_fib_lookup (Yauheni Kaliuta) [1747617] - [kernel] bpf: Fix build error without CONFIG_INET (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert socket_cookie test to sk storage (Yauheni Kaliuta) [1747617] - [tools] bpf/tools: sync bpf.h (Yauheni Kaliuta) [1747617] - [net] bpf: export bpf_sock for BPF_PROG_TYPE_SOCK_OPS prog type (Yauheni Kaliuta) [1747617] - [net] bpf: export bpf_sock for BPF_PROG_TYPE_CGROUP_SOCK_ADDR prog type (Yauheni Kaliuta) [1747617] - [tools] bpf: Add test for SO_REUSEPORT_DETACH_BPF (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix check for presence of associated BTF for map creation (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: signedness bug in enable_all_controllers() (Yauheni Kaliuta) [1747617] - [samples] bpf: fix include path in Makefile (Yauheni Kaliuta) [1747617] - [kernel] bpf: silence warning messages in core (Yauheni Kaliuta) [1747617] - [tools] bpf: use libbpf_num_possible_cpus internally (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: remove bpf_util.h from BPF C progs (Yauheni Kaliuta) [1747617] - [tools] bpf: add a new API libbpf_num_possible_cpus() (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf : clean up feature/ when make clean (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix constness of source arg for bpf helpers (Yauheni Kaliuta) [1747617] - [samples] bpf: don't run probes at the local make stage (Yauheni Kaliuta) [1747617] - [tools] libbpf: remove qidconf and better support external bpf programs (Yauheni Kaliuta) [1747617] - [tools] bpf: Add bpf_map_lookup_elem selftest for xskmap (Yauheni Kaliuta) [1747617] - [tools] bpf/tools: sync bpf.h (Yauheni Kaliuta) [1747617] - [net] bpf: Allow bpf_map_lookup_elem() on an xskmap (Yauheni Kaliuta) [1747617] - [documentation] docs: bpf: get rid of two warnings (Yauheni Kaliuta) [1747617] - [net] bpf: allow CGROUP_SKB programs to use bpf_skb_cgroup_id() helper (Yauheni Kaliuta) [1747617] - [samples] bpf: print a warning about headers_install (Yauheni Kaliuta) [1747617] - [kernel] bpf: remove redundant assignment to err (Yauheni Kaliuta) [1747617] - [samples] bpf: hbm: fix spelling mistake "notifcations" -> "notificiations" (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: measure RTT from xdp using xdping (Yauheni Kaliuta) [1747617] - [documentation] bpf: doc: update answer for 32-bit subregister question (Yauheni Kaliuta) [1747617] - [kernel] bpf: move memory size checks to bpf_map_charge_init() (Yauheni Kaliuta) [1747617] - [kernel] bpf: rework memlock-based memory accounting for maps (Yauheni Kaliuta) [1747617] - [kernel] bpf: group memory related fields in struct bpf_map_memory (Yauheni Kaliuta) [1747617] - [net] bpf: add memlock precharge for socket local storage (Yauheni Kaliuta) [1747617] - [kernel] bpf: add memlock precharge check for cgroup_local_storage (Yauheni Kaliuta) [1747617] - [samples] bpf: Add more stats to HBM (Yauheni Kaliuta) [1747617] - [samples] bpf: Add cn support to hbm_out_kern.c (Yauheni Kaliuta) [1747617] - [kernel] bpf: Update __cgroup_bpf_run_filter_skb with cn (Yauheni Kaliuta) [1747617] - [kernel] bpf: cgroup inet skb programs can return 0 to 3 (Yauheni Kaliuta) [1747617] - [kernel] bpf: Create BPF_PROG_CGROUP_INET_EGRESS_RUN_ARRAY (Yauheni Kaliuta) [1747617] - [tools] libbpf: reduce unnecessary line wrapping (Yauheni Kaliuta) [1747617] - [tools] libbpf: typo and formatting fixes (Yauheni Kaliuta) [1747617] - [tools] libbpf: simplify two pieces of logic (Yauheni Kaliuta) [1747617] - [tools] libbpf: use negative fd to specify missing BTF (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix error code returned on corrupted ELF (Yauheni Kaliuta) [1747617] - [tools] libbpf: check map name retrieved from ELF (Yauheni Kaliuta) [1747617] - [tools] libbpf: simplify endianness check (Yauheni Kaliuta) [1747617] - [tools] libbpf: preserve errno before calling into user callback (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix detection of corrupted BPF instructions section (Yauheni Kaliuta) [1747617] - [tools] libbpf: prevent overwriting of log_level in bpf_object__load_progs() (Yauheni Kaliuta) [1747617] - [kernel] bpf: tracing: properly use bpf_prog_array api (Yauheni Kaliuta) [1747617] - [kernel] bpf: cgroup: properly use bpf_prog_array api (Yauheni Kaliuta) [1747617] - [kernel] bpf: remove __rcu annotations from bpf_prog_array (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add auto-detach test (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: enable all available cgroup v2 controllers (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert test_cgrp2_attach2 example into kselftest (Yauheni Kaliuta) [1747617] - [samples] bpf: fix a couple of style issues in bpf_load (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fail test_tunnel.sh if subtests fail (Yauheni Kaliuta) [1747617] - [tools] bpftool: make -d option print debug output from verifier (Yauheni Kaliuta) [1747617] - [tools] libbpf: add bpf_object__load_xattr() API function to pass log_level (Yauheni Kaliuta) [1747617] - [tools] bpftool: add -d option to get debug output from libbpf (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix warning that PTR_ERR_OR_ZERO can be used (Yauheni Kaliuta) [1747617] - [tools] bpf: style fix in while(!feof()) loop (Yauheni Kaliuta) [1747617] - [kernel] bpf: check signal validity in nmi for bpf_send_signal() helper (Yauheni Kaliuta) [1747617] - [tools] bpftool: auto-complete BTF IDs for btf dump (Yauheni Kaliuta) [1747617] - [samples] bpf: add ibumad sample to .gitignore (Yauheni Kaliuta) [1747617] - [x86] x32: bpf: eliminate zero extension code-gen (Yauheni Kaliuta) [1747617] - [s390] bpf: eliminate zero extension code-gen (Yauheni Kaliuta) [1747617] - [powerpc] bpf: eliminate zero extension code-gen (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: enable hi32 randomization for all tests (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: adjust several test_verifier helpers for insn insertion (Yauheni Kaliuta) [1747617] - [tools] libbpf: add "prog_flags" to bpf_program/bpf_prog_load_attr/bpf_load_program_attr (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: randomize high 32-bit when BPF_F_TEST_RND_HI32 is set (Yauheni Kaliuta) [1747617] - [tools] bpf: sync uapi header bpf.h (Yauheni Kaliuta) [1747617] - [uapi] bpf: introduce new bpf prog load flags "BPF_F_TEST_RND_HI32" (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: insert zero extension according to analysis result (Yauheni Kaliuta) [1747617] - [kernel] bpf: introduce new mov32 variant for doing explicit zero extension (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: mark patched-insn with sub-register zext flag (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: mark verified-insn with sub-register zext flag (Yauheni Kaliuta) [1747617] - [tools] bpf: add selftest in test_progs for bpf_send_signal() helper (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf uapi header bpf.h to tools directory (Yauheni Kaliuta) [1747617] - [kernel] bpf: implement bpf_send_signal() helper (Yauheni Kaliuta) [1747617] - [tools] bpftool: update bash-completion w/ new c option for btf dump (Yauheni Kaliuta) [1747617] - [tools] bpftool/docs: add description of btf dump C option (Yauheni Kaliuta) [1747617] - [tools] bpftool: add C output format option to btf dump subcommand (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add btf_dump BTF-to-C conversion tests (Yauheni Kaliuta) [1747617] - [tools] libbpf: add btf_dump API for BTF-to-C conversion (Yauheni Kaliuta) [1747617] - [tools] libbpf: switch btf_dedup() to hashmap for dedup table (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add tests for libbpf's hashmap (Yauheni Kaliuta) [1747617] - [tools] libbpf: add resizable non-thread safe internal hashmap (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: use btf__parse_elf to check presence of BTF/BTF.ext (Yauheni Kaliuta) [1747617] - [tools] bpftool: use libbpf's btf__parse_elf API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add btf__parse_elf API to load .BTF and .BTF.ext (Yauheni Kaliuta) [1747617] - [tools] libbpf: ensure libbpf.h is included along libbpf_internal.h (Yauheni Kaliuta) [1747617] - [samples] bpf: Do not define bpf_printk macro (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: Move bpf_printk to bpf_helpers.h (Yauheni Kaliuta) [1747617] - [kernel] bpf: convert explored_states to hash table (Yauheni Kaliuta) [1747617] - [kernel] bpf: split explored_states (Yauheni Kaliuta) [1747617] - [kernel] bpf: cleanup explored_states (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add pyperf scale test (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: adjust verifier scale test (Yauheni Kaliuta) [1747617] - [kernel] bpf: bump jmp sequence limit (Yauheni Kaliuta) [1747617] - [tools] libbpf: emit diff of mismatched public API, if any (Yauheni Kaliuta) [1747617] - [tools] bpf, selftest: test global data/bss/rodata sections (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: test_tc_tunnel: skip unsupported tests (Jiri Benc) [1749814] - [tools] selftests/bpf: More compatible nc options in test_tc_edt (Jiri Benc) [1749814] - [net] xdp: check device pointer before clearing (Jiri Benc) [1749814] - [net] bpf: udp: Avoid calling reuseport's bpf_prog from udp_gro (Jiri Benc) [1749814] - [net] bpf: sockmap, fix use after free from sleep in psock backlog workqueue (Jiri Benc) [1749814] - [include] bpf: sockmap, restore sk_write_space when psock gets dropped (Jiri Benc) [1749814] - [net] bpfilter: fallback to netfilter if failed to load bpfilter kernel module (Jiri Benc) [1749814] - [net] pass net_device argument to the eth_get_headlen (Jiri Benc) [1749814] - [net] flow_dissector: handle no-skb use case (Jiri Benc) [1749814] - [net] plumb network namespace into __skb_flow_dissect (Jiri Benc) [1749814] - [net] bpfilter: dont use module_init in non-modular code (Jiri Benc) [1749814] - [net] xsk: fix XDP socket ring buffer memory ordering (Jiri Benc) [1749814] - [tools] selftests/bpf: install files test_xdp_vlan.sh (Jiri Benc) [1749814] - [net] fix bpf_xdp_adjust_head regression for generic-XDP (Jiri Benc) [1749814] - [tools] selftests/bpf: reduce time to execute test_xdp_vlan.sh (Jiri Benc) [1749814] - [tools] selftests/bpf: add wrapper scripts for test_xdp_vlan.sh (Jiri Benc) [1749814] - [tools] bpf: fix XDP vlan selftests test_xdp_vlan.sh (Jiri Benc) [1749814] - [net] core: support XDP generic on stacked devices. (Jiri Benc) [1749814] - [netdrv] netvsc: unshare skb in VF rx handler (Jiri Benc) [1749814] - [net] convert rps_needed and rfs_needed to new static branch api (Jiri Benc) [1749814] - [net] core: Document __skb_flow_dissect() flags argument (Jiri Benc) [1749814] - [net] gso: Fix skb_segment splat when splitting gso_size mangled skb having linear-headed frag_list (Jiri Benc) [1749814] - [net] sock_map, fix missing ulp check in sock hash case (Jiri Benc) [1749814] - [net] Fix missing meta data in skb with vlan packet (Jiri Benc) [1749814] - [include] skbuff.h: fix using plain integer as NULL warning (Jiri Benc) [1749814] - [netdrv] netdevsim: Fix error handling in nsim_fib_init and nsim_fib_exit (Jiri Benc) [1761359] - [netdrv] netdevsim: Restore per-network namespace accounting for fib entries (Jiri Benc) [1761359] - [netdrv] netdevsim: Make nsim_num_vf static (Jiri Benc) [1761359] - [netdrv] netdevsim: fix fall-through annotation (Jiri Benc) [1761359] - [netdrv] netdevsim: implement ndo_get_devlink_port (Jiri Benc) [1761359] - [netdrv] netdevsim: move netdev creation/destruction to dev probe (Jiri Benc) [1761359] - [netdrv] netdevsim: extend device attrs to support port addition and deletion (Jiri Benc) [1761359] - [netdrv] netdevsim: implement dev probe/remove skeleton with port initialization (Jiri Benc) [1761359] - [netdrv] netdevsim: change debugfs tree topology (Jiri Benc) [1761359] - [netdrv] netdevsim: generate random switch id instead of using dev id (Jiri Benc) [1761359] - [netdrv] netdevsim: merge sdev into dev (Jiri Benc) [1761359] - [netdrv] netdevsim: rename dev_init/exit() functions and make them independent on ns (Jiri Benc) [1761359] - [netdrv] netdevsim: add bus attributes to add new and delete devices (Jiri Benc) [1761359] - [netdrv] netdevsim: use ida for bus device ids (Jiri Benc) [1761359] - [netdrv] netdevsim: add stub netdevsim driver implementation (Jiri Benc) [1761359] - [netdrv] netdevsim: move device registration and related code to bus.c (Jiri Benc) [1761359] - [netdrv] netdevsim: put netdevsim bus code into separate file (Jiri Benc) [1761359] - [netdrv] netdevsim: rename devlink.c to dev.c to contain per-dev(asic) items (Jiri Benc) [1761359] - [netdrv] netdevsim: create devlink instance per netdevsim instance (Jiri Benc) [1761359] - [netdrv] netdevsim: move device registration on bus to be done earlier in init (Jiri Benc) [1761359] - [netdrv] netdevsim: move sdev-specific init/uninit code into separate functions (Jiri Benc) [1761359] - [netdrv] netdevsim: make bpf_offload_dev_create() per-sdev instead of first ns (Jiri Benc) [1761359] - [netdrv] netdevsim: move shared dev creation and destruction into separate file (Jiri Benc) [1761359] - [netdrv] netdevsim: let net core to free netdevsim netdev (Jiri Benc) [1761359] - [netdrv] netdevsim: remove nsim_dellink() implementation (Jiri Benc) [1761359] - [include] driver core: add BUS_ATTR_WO() macro (Jiri Benc) [1761359] - arm64: bpf: do not allocate executable memory (Yauheni Kaliuta) [1762214] - modules: page-align module section allocations only for arches supporting strict module rwx (Yauheni Kaliuta) [1762214] - modules: always page-align module section allocations (Yauheni Kaliuta) [1762214] - modules: fix compile error if don't have strict module rwx (Yauheni Kaliuta) [1762214] - modules: Use vmalloc special flag (Yauheni Kaliuta) [1762214] - modules: fix BUG when load module with rodata=n (Yauheni Kaliuta) [1762214] - x86/modules: Avoid breaking W^X while loading modules (Yauheni Kaliuta) [1762214] - x86/alternatives, jumplabel: Use text_poke_early() before mm_init() (Yauheni Kaliuta) [1762214] - x86/kprobes: Set instruction page as executable (Yauheni Kaliuta) [1762214] - x86/ftrace: Set trampoline pages as executa (Yauheni Kaliuta) [1762214] - [tools] bpftool: Fix json dump crash on powerpc (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix race in flow dissector tests (Yauheni Kaliuta) [1747615] - [arm64] insn: Fix ldadd instruction encoding (Yauheni Kaliuta) [1747615] - [scripts] kbuild: tolerate missing pahole when generating BTF (Yauheni Kaliuta) [1747615] - [scripts] kbuild: handle old pahole more gracefully when generating BTF (Yauheni Kaliuta) [1747615] - [scripts] kbuild: add ability to generate BTF type info for vmlinux (Yauheni Kaliuta) [1747615] - [scripts] kbuild: hardcode genksyms path and remove GENKSYMS variable (Yauheni Kaliuta) [1747615] - [scripts] bpf: fix script for generating man page on BPF helpers (Yauheni Kaliuta) [1747615] - [tools] add smp_* barrier variants to include infrastructure (Yauheni Kaliuta) [1747615] - [tools] tools headers barrier: Fix arm64 tools build failure wrt smp_load_{acquire, release} (Yauheni Kaliuta) [1747615] - [tools] bpf, x32: Fix bug for BPF_JMP | {BPF_JSGT, BPF_JSLE, BPF_JSLT, BPF_JSGE} (Yauheni Kaliuta) [1747615] - [x86] unwind/orc: Fall back to using frame pointers for generated code (Yauheni Kaliuta) [1747615] - [x86] unwind: Add hardcoded ORC entry for NULL (Yauheni Kaliuta) [1747615] - [x86] unwind: Handle NULL pointer calls better in frame unwinder (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix accessing bpf_sysctl.file_pos on s390 (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix narrower loads on s390 (Yauheni Kaliuta) [1747615] - [net] bpf: rename bpf_ctx_wide_store_ok to bpf_ctx_wide_access_ok (Yauheni Kaliuta) [1747615] - [net] bpf: allow wide (u64) aligned stores for some fields of bpf_sock_addr (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: improve unexpected success reporting in test_syctl (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix "ctx:write sysctl:write read ok" on s390 (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix format string for p_err() in query_flow_dissector() (Yauheni Kaliuta) [1747615] - [tools] bpftool: add raw_tracepoint_writable prog type to header (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix NULL deref in btf_type_is_resolve_source_only (Yauheni Kaliuta) [1747615] - [net] bpf: Set sk_bpf_storage back to NULL for cloned sk (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix nested bpf tracepoints with per-cpu data (Yauheni Kaliuta) [1747615] - [net] bpf: Fix out of bounds memory access in bpf_sk_storage (Yauheni Kaliuta) [1747615] - [kernel] sysctl: define proc_do_static_key() (Yauheni Kaliuta) [1747615] - [x86] bpf, x64: fix stack layout of JITed bpf code (Yauheni Kaliuta) [1747615] - [kernel] bpf, devmap: Add missing RCU read lock on flush (Yauheni Kaliuta) [1747615] - [kernel] bpf, devmap: Add missing bulk queue free (Yauheni Kaliuta) [1747615] - [kernel] bpf, devmap: Fix premature entry free on destroying map (Yauheni Kaliuta) [1747615] - [powerpc] bpf: use unsigned division instruction for 64-bit operations (Yauheni Kaliuta) [1747615] - [tools] bpf: fix div64 overflow tests to properly detect errors (Yauheni Kaliuta) [1747615] - [tools] bpf: sync BPF_FIB_LOOKUP flag changes with BPF uapi (Yauheni Kaliuta) [1747615] - [uapi] bpf: simplify definition of BPF_FIB_LOOKUP related flags (Yauheni Kaliuta) [1747615] - [tools] bpf: lpm_trie: check left child of last leftmost node for NULL (Yauheni Kaliuta) [1747615] - [tools] bpf: expand section tests for test_section_names (Yauheni Kaliuta) [1747615] - [tools] bpf: more msg_name rewrite tests to test_sock_addr (Yauheni Kaliuta) [1747615] - [tools] bpf, bpftool: enable recvmsg attach types (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: enable recvmsg attach types (Yauheni Kaliuta) [1747615] - [tools] bpf: sync tooling uapi header (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix unconnected udp hooks (Yauheni Kaliuta) [1747615] - [tools] bpftool: Fix JSON output when lookup fails (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: move test_lirc_mode2_user to TEST_GEN_PROGS_EXTENDED (Yauheni Kaliuta) [1747615] - [tools] libbpf: Return btf_fd for load_sk_storage_btf (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: fix compiler warning in flow_dissector test (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: complete sub-register zero extension checks (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: move sub-register zero extension checks into subreg.c (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: add zero extend checks for ALU32 and/or/xor (Yauheni Kaliuta) [1747615] - [samples] bpf: suppress compiler warning (Yauheni Kaliuta) [1747615] - [samples] bpf: fix to change the buffer size for read() (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix BTF raw dump of FWD's fwd_kind (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix bpf_get_current_task (Yauheni Kaliuta) [1747615] - [tools] libbpf: move logging helpers into libbpf_internal.h (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add test_sysctl and map_tests/tests.h to .gitignore (Yauheni Kaliuta) [1747615] - [kernel] bpf: relax inode permission check for retrieving bpf program (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add prog detach to flow_dissector test (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add missing \n to flow_dissector CHECK errors (Yauheni Kaliuta) [1747615] - [tools] libbpf: don't fail when feature probing fails (Yauheni Kaliuta) [1747615] - [tools] bpf: test ref bit from data path and add new tests for syscall path (Yauheni Kaliuta) [1747615] - [kernel] bpf, lru: avoid messing with eviction heuristics upon syscall lookup (Yauheni Kaliuta) [1747615] - [kernel] bpf: add map_lookup_elem_sys_only for lookups from syscall side (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync kernel btf.h header (Yauheni Kaliuta) [1747615] - [uapi] bpf: btf: fix the brackets of BTF_INT_OFFSET() (Yauheni Kaliuta) [1747615] - [kernel] bpf: devmap: fix use-after-free Read in __dev_map_entry_free (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix undefined behavior in narrow load handling (Yauheni Kaliuta) [1747615] - [tools] libbpf: detect supported kernel BTF features and sanitize BTF (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: Add files generated after build to .gitignore (Yauheni Kaliuta) [1747615] - [tools] bpf: synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1747615] - [uapi] bpf: fix minor issues in documentation for BPF helpers (Yauheni Kaliuta) [1747615] - [uapi] bpf: fix recurring typo in documentation for BPF helpers (Yauheni Kaliuta) [1747615] - [tools] bpf: add various test cases for backward jumps (Yauheni Kaliuta) [1747615] - [documentation] docs/btf: fix the missing section marks (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: initialize bpf_object pointers where needed (Yauheni Kaliuta) [1747615] - [tools] libbpf: add libbpf_util.h to header install (Yauheni Kaliuta) [1747615] - [tools] bpf: fix perf build error with uClibc (seen on ARC) (Yauheni Kaliuta) [1747615] - [tools] bpftool: exclude bash-completion/bpftool from .gitignore pattern (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: set RLIMIT_MEMLOCK properly for test_libbpf_open.c (Yauheni Kaliuta) [1747615] - [net] bpf: Use PTR_ERR_OR_ZERO in bpf_fd_sk_storage_update_elem() (Yauheni Kaliuta) [1747615] - [kernel] bpf: Use vmalloc special flag (Yauheni Kaliuta) [1747615] - [kernel] bpf: Fail bpf_probe_write_user() while mm is switched (Yauheni Kaliuta) [1747615] - [kernel] mm/tlb: Provide default nmi_uaccess_okay() (Yauheni Kaliuta) [1747615] - [kernel] asm-generic/tlb: Guard with #ifdef CONFIG_MMU (Yauheni Kaliuta) [1747615] - [tools] bpf: Add ene-to-end test for bpf_sk_storage_* helpers (Yauheni Kaliuta) [1747615] - [tools] bpf: Add BPF_MAP_TYPE_SK_STORAGE test to test_maps (Yauheni Kaliuta) [1747615] - [tools] bpf: Add verifier tests for the bpf_sk_storage (Yauheni Kaliuta) [1747615] - [tools] bpf: Refactor BTF encoding macro to test_btf.h (Yauheni Kaliuta) [1747615] - [tools] bpf: Support BPF_MAP_TYPE_SK_STORAGE in bpf map probing (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync bpf.h to tools (Yauheni Kaliuta) [1747615] - [net] bpf: Introduce bpf sk local storage (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: test writable buffers in raw tps (Yauheni Kaliuta) [1747615] - [tools] sync bpf.h (Yauheni Kaliuta) [1747615] - [kernel] bpf: add writable context for raw tracepoints (Yauheni Kaliuta) [1747615] - [arm64] bpf, arm64: use more scalable stadd over ldxr / stxr loop in xadd (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix indendation in bash-completion/bpftool (Yauheni Kaliuta) [1747615] - [tools] bpftool: add bash completions for btf command (Yauheni Kaliuta) [1747615] - [tools] bpftool/docs: add btf sub-command documentation (Yauheni Kaliuta) [1747615] - [tools] bpftool: add ability to dump BTF types (Yauheni Kaliuta) [1747615] - [tools] bpftool: Fix errno variable usage (Yauheni Kaliuta) [1747615] - [tools] bpftool: show flow_dissector attachment status (Yauheni Kaliuta) [1747615] - [net] bpf: support BPF_PROG_QUERY for BPF_FLOW_DISSECTOR attach_type (Yauheni Kaliuta) [1747615] - [samples] bpf: add hbm sample to .gitignore (Yauheni Kaliuta) [1747615] - [tools] libbpf: fix samples/bpf build failure due to undefined UINT32_MAX (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: fix segfault in bpf_object__init_maps' pr_debug statement (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: handle old kernels more graceful wrt global data sections (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: expand test_tc_tunnel with SIT encap (Yauheni Kaliuta) [1747615] - [net] bpf: update skb->protocol in bpf_skb_net_grow (Yauheni Kaliuta) [1747615] - [tools] bpf/flow_dissector: don't adjust nhoff by ETH_HLEN in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: properly return error from bpf_flow_load (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: run flow dissector tests in skb-less mode (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add flow dissector bpf_skb_load_bytes helper test (Yauheni Kaliuta) [1747615] - [net] bpf: when doing BPF_PROG_TEST_RUN for flow dissector use no-skb mode (Yauheni Kaliuta) [1747615] - [kernel] bpf: drop bpf_verifier_lock (Yauheni Kaliuta) [1747615] - [kernel] bpf: remove global variables (Yauheni Kaliuta) [1747615] - [documentation] bpf: document the verifier limits (Yauheni Kaliuta) [1747615] - [tools] libbpf: fix BPF_LOG_BUF_SIZE off-by-one error (Yauheni Kaliuta) [1747615] - [documentation] bpf: move BPF_PROG_TYPE_FLOW_DISSECTOR documentation to a new common place (Yauheni Kaliuta) [1747615] - [tools] bpf: Increase MAX_NR_MAPS to 17 in test_verifier.c (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix compile errors due to unsync linux/in6.h and netinet/in.h (Yauheni Kaliuta) [1747615] - [documentation] bpf: Document BPF_PROG_TYPE_CGROUP_SYSCTL (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix a compilation error (Yauheni Kaliuta) [1747615] - [kernel] bpf: cpumap memory prefetchw optimizations for struct page (Yauheni Kaliuta) [1747615] - [kernel] bpf: cpumap do bulk allocation of SKBs (Yauheni Kaliuta) [1747615] - [net] core: introduce build_skb_around (Yauheni Kaliuta) [1747615] - [kernel] bpf: cpumap use ptr_ring_consume_batched (Yauheni Kaliuta) [1747615] - [tools] libbpf: optimize barrier for XDP socket rings (Yauheni Kaliuta) [1747615] - [tools] bpftool: show btf_id in map listing (Yauheni Kaliuta) [1747615] - [tools] bpftool: re-organize newline printing for map listing (Yauheni Kaliuta) [1747615] - [tools] bpftool: Support sysctl hook (Yauheni Kaliuta) [1747615] - [tools] libbpf: fix printf formatter for ptrdiff_t argument (Yauheni Kaliuta) [1747615] - [kernel] bpf: use BPF_CAST_CALL for casting bpf call (Yauheni Kaliuta) [1747615] - [uapi] bpf: allow clearing all sock_ops callback flags (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: add VRF test cases to lwt_ip_encap test (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: make flow dissector tests more extensible (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: two scale tests (Yauheni Kaliuta) [1747615] - [tools] bpftool: Improve handling of ENOSPC on reuseport_array map dumps (Yauheni Kaliuta) [1747615] - [tools] bpftool: Use print_entry_error() in case of ENOENT when dumping (Yauheni Kaliuta) [1747615] - [tools] bpftool: add a note on program statistics in man page (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix short option name for printing version in man pages (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix man page documentation for "pinmaps" keyword (Yauheni Kaliuta) [1747615] - [tools] bpftool: reset errno for "bpftool cgroup tree" (Yauheni Kaliuta) [1747615] - [tools] bpftool: remove blank line after btf_id when listing programs (Yauheni Kaliuta) [1747615] - [net] bpf: reserve flags in bpf_skb_net_shrink (Yauheni Kaliuta) [1747615] - [tools] bpf: fix whitespace for ENCAP_L2 defines in bpf.h (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: bring back (void *) cast to set_ipv4_csum in test_tc_tunnel (Yauheni Kaliuta) [1747615] - [tools] selftests/btf: add VAR and DATASEC case for dedup tests (Yauheni Kaliuta) [1747615] - [tools] btf: add support for VAR and DATASEC in btf_dedup() (Yauheni Kaliuta) [1747615] - [kernel] bpf: refactor "check_reg_arg" to eliminate code redundancy (Yauheni Kaliuta) [1747615] - [kernel] bpf: factor out reg and stack slot propagation into "propagate_liveness_reg" (Yauheni Kaliuta) [1747615] - [kernel] bpf: refactor propagate_liveness to eliminate code redundance (Yauheni Kaliuta) [1747615] - [kernel] bpf: refactor propagate_liveness to eliminate duplicated for loop (Yauheni Kaliuta) [1747615] - [netdrv] netdevsim: move sdev specific bpf debugfs files to sdev dir (Yauheni Kaliuta) [1747615] - [kernel] bpf: Fix distinct pointer types warning for ARCH=i386 (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: C based test for sysctl and strtoX (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test bpf_strtol and bpf_strtoul helpers (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test ARG_PTR_TO_LONG arg type (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Add sysctl and strtoX helpers to bpf_helpers.h (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce bpf_strtol and bpf_strtoul helpers (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce ARG_PTR_TO_{INT,LONG} arg types (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test file_pos field in bpf_sysctl ctx (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test bpf_sysctl_{get, set}_new_value helpers (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test sysctl_get_current_value helper (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test bpf_sysctl_get_name helper (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test BPF_CGROUP_SYSCTL (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test sysctl section name (Yauheni Kaliuta) [1747615] - [tools] libbpf: Support sysctl hook (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1747615] - [kernel] bpf: Add file_pos field to bpf_sysctl ctx (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce bpf_sysctl_{get, set}_new_value helpers (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce bpf_sysctl_get_current_value helper (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce bpf_sysctl_get_name helper (Yauheni Kaliuta) [1747615] - [kernel] bpf: Sysctl hook (Yauheni Kaliuta) [1747615] - [kernel] bpf: Add base proto function for cgroup-bpf programs (Yauheni Kaliuta) [1747615] - [net] bpf: explicitly prohibit ctx_{in, out} in non-skb BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [tools] selftests_bpf: add L2 encap to test_tc_tunnel (Yauheni Kaliuta) [1747615] - [tools] bpf: sync bpf.h to tools/ for BPF_F_ADJ_ROOM_ENCAP_L2 (Yauheni Kaliuta) [1747615] - [net] bpf: add layer 2 encap support to bpf_skb_adjust_room (Yauheni Kaliuta) [1747615] - [tools] selftests_bpf: extend test_tc_tunnel for UDP encap (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix missing bpf_check_uarg_tail_zero in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [s390] Convert IS_ENABLED uses to __is_defined (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: add selftest for __sk_buff context in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [tools] libbpf: add support for ctx_{size, }_{in, out} in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [net] bpf: support input __sk_buff context in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [tools] bpftool: show btf id in program information (Yauheni Kaliuta) [1747615] - [tools] libbpf: Fix build with gcc-8 (Yauheni Kaliuta) [1747615] - [tools] libbpf: fix crash in XDP socket part with new larger BPF_LOG_BUF_SIZE (Yauheni Kaliuta) [1747615] - [tools] bpf, bpftool: fix a few ubsan warnings (Yauheni Kaliuta) [1747615] - [tools] bpf, selftest: add test cases for BTF Var and DataSec (Yauheni Kaliuta) [1747615] - [tools] bpf, selftest: test {rd, wr}only flags and direct value access (Yauheni Kaliuta) [1747615] - [tools] bpf: bpftool support for dumping data/bss/rodata sections (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: add support for BTF Var and DataSec (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: support global data/bss/rodata sections (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: refactor relocation handling (Yauheni Kaliuta) [1747615] - [tools] bpf: sync {btf, bpf}.h uapi header from tools infrastructure (Yauheni Kaliuta) [1747615] - [kernel] bpf: allow for key-less BTF in array map (Yauheni Kaliuta) [1747615] - [kernel] bpf: kernel side support for BTF Var and DataSec (Yauheni Kaliuta) [1747615] - [documentation] bpf: add specification for BTF Var and DataSec kinds (Yauheni Kaliuta) [1747615] - [kernel] bpf: allow . char as part of the object name (Yauheni Kaliuta) [1747615] - [kernel] bpf: add syscall side map freeze support (Yauheni Kaliuta) [1747615] - [kernel] bpf: add program side {rd, wr}only support for maps (Yauheni Kaliuta) [1747615] - [kernel] bpf: do not retain flags that are not tied to map lifetime (Yauheni Kaliuta) [1747615] - [kernel] bpf: implement lookup-free direct value access for maps (Yauheni Kaliuta) [1747615] - [net] ipv6: Add neighbor helpers that use the ipv6 stub (Yauheni Kaliuta) [1747615] - [tools] libbpf: Ignore -Wformat-nonliteral warning (Yauheni Kaliuta) [1747615] - [kernel] bpf: Add missed newline in verifier verbose log (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test unbounded var_off stack access (Yauheni Kaliuta) [1747615] - [kernel] bpf: Sanity check max value for var_off stack access (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test indirect var_off stack access in unpriv mode (Yauheni Kaliuta) [1747615] - [kernel] bpf: Reject indirect var_off stack access in unpriv mode (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test indirect var_off stack access in raw mode (Yauheni Kaliuta) [1747615] - [kernel] bpf: Reject indirect var_off stack access in raw mode (Yauheni Kaliuta) [1747615] - [samples] bpf: fix build with new clang (Yauheni Kaliuta) [1747615] - [samples] selftests/bpf: add NULL check for ksym_search (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: ksym_search won't check symbols exists (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: synthetic tests to push verifier limits (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add few verifier scale tests (Yauheni Kaliuta) [1747615] - [tools] libbpf: teach libbpf about log_level bit 2 (Yauheni Kaliuta) [1747615] - [kernel] bpf: increase verifier log limit (Yauheni Kaliuta) [1747615] - [kernel] bpf: increase complexity limit and maximum program size (Yauheni Kaliuta) [1747615] - [kernel] bpf: verbose jump offset overflow check (Yauheni Kaliuta) [1747615] - [kernel] bpf: convert temp arrays to kvcalloc (Yauheni Kaliuta) [1747615] - [kernel] bpf: improve verification speed by not remarking live_read (Yauheni Kaliuta) [1747615] - [kernel] bpf: improve verification speed by droping states (Yauheni Kaliuta) [1747615] - [kernel] bpf: add verifier stats and log_level bit 2 (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: remove duplicate .flags initialization in ctx_skb.c (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: fix -Wformat-invalid-specifier for bpf_obj_id.c (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: fix -Wformat-security warning for flow_dissector_load.c (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: tests.h should depend on .c files, not the output (Yauheni Kaliuta) [1747615] - [tools] bpf: add bpffs multi-dimensional array tests in test_btf (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test variable offset stack access (Yauheni Kaliuta) [1747615] - [kernel] bpf: Support variable offset stack access from helpers (Yauheni Kaliuta) [1747615] - [net] ipv6: Move ipv6 stubs to a separate header file (Yauheni Kaliuta) [1747615] - [tools] bpf: generate pkg-config file for libbpf (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: don't depend on hardcoded perf sample_freq (Yauheni Kaliuta) [1747615] - [tools] bpf: test_tc_tunnel.sh needs reverse path filtering disabled (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: tc-bpf flow shaping with EDT (Yauheni Kaliuta) [1747615] - [net] bpf: make bpf_skb_ecn_set_ce callable from BPF_PROG_TYPE_SCHED_ACT (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: convert bpf tunnel test to encap modes (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: convert bpf tunnel test to BPF_F_ADJ_ROOM_FIXED_GSO (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: convert bpf tunnel test to BPF_ADJ_ROOM_MAC (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync bpf.h to tools (Yauheni Kaliuta) [1747615] - [net] bpf: add bpf_skb_adjust_room encap flags (Yauheni Kaliuta) [1747615] - [net] bpf: add bpf_skb_adjust_room flag BPF_F_ADJ_ROOM_FIXED_GSO (Yauheni Kaliuta) [1747615] - [net] bpf: add bpf_skb_adjust_room mode BPF_ADJ_ROOM_MAC (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: extend bpf tunnel test with tso (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: extend bpf tunnel test with gre (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: expand bpf tunnel test to ipv6 (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: expand bpf tunnel test with decap (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: bpf tunnel encap test (Yauheni Kaliuta) [1747615] - [net] bpf: in bpf_skb_adjust_room avoid copy in tx fast path (Yauheni Kaliuta) [1747615] - [samples] bpf: add xdp_sample_pkts to .gitignore (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add tests for bpf_tcp_check_syncookie and bpf_skc_lookup_tcp (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: test references to sock_common (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: allow specifying helper for BPF_SK_LOOKUP (Yauheni Kaliuta) [1747615] - [tools] update uapi/linux/bpf.h (Yauheni Kaliuta) [1747615] - [net] bpf: add helper to check for a valid SYN cookie (Yauheni Kaliuta) [1747615] - [net] bpf: add skc_lookup_tcp helper (Yauheni Kaliuta) [1747615] - [kernel] bpf: allow helpers to return PTR_TO_SOCK_COMMON (Yauheni Kaliuta) [1747615] - [kernel] bpf: track references based on is_acquire_func (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Add arm target register definitions (Yauheni Kaliuta) [1747615] - [documentation] bpf, doc: add RISC-V JIT to BPF documentation (Yauheni Kaliuta) [1747615] - [uapi] bpf: fix documentation for eBPF helpers (Yauheni Kaliuta) [1747615] - [uapi] bpf: add documentation for helpers bpf_spin_lock(), bpf_spin_unlock() (Yauheni Kaliuta) [1747615]- [perf] perf: Add CCPI2 PMU support in ThunderX2 UNCORE driver (Robert Richter) [1726054] - [documentation] documentation: perf: Update documentation for ThunderX2 PMU uncore driver (Robert Richter) [1726054] - [scsi] lpfc: Update lpfc version to 12.6.0.2 (Dick Kennedy) [1771674] - [scsi] lpfc: revise nvme max queues to be hdwq count (Dick Kennedy) [1771674] - [scsi] lpfc: Initialize cpu_map for not present cpus (Dick Kennedy) [1771674] - [scsi] lpfc: fix inlining of lpfc_sli4_cleanup_poll_list() (Dick Kennedy) [1771674] - [scsi] lpfc: fix: coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences (Dick Kennedy) [1771674] - [scsi] lpfc: fix: coverity: lpfc_get_scsi_buf_s3(): Null pointer dereferences (Dick Kennedy) [1771674] - [scsi] lpfc: Fix lpfc_cpumask_of_node_init() (Dick Kennedy) [1771674] - [scsi] lpfc: Fix a kernel warning triggered by lpfc_sli4_enable_intr() (Dick Kennedy) [1771674] - [scsi] lpfc: Fix a kernel warning triggered by lpfc_get_sgl_per_hdwq() (Dick Kennedy) [1771674] - [scsi] lpfc: Update lpfc version to 12.6.0.1 (Dick Kennedy) [1771674] - [scsi] lpfc: Add enablement of multiple adapter dumps (Dick Kennedy) [1771674] - [scsi] lpfc: Change default IRQ model on AMD architectures (Dick Kennedy) [1771674] - [scsi] lpfc: Add registration for CPU Offline/Online events (Dick Kennedy) [1771674] - [scsi] lpfc: Clarify FAWNN error message (Dick Kennedy) [1771674] - [scsi] lpfc: Sync with FC-NVMe-2 SLER change to require Conf with SLER (Dick Kennedy) [1771674] - [scsi] lpfc: Fix dynamic fw log enablement check (Dick Kennedy) [1771674] - [scsi] lpfc: Fix unexpected error messages during RSCN handling (Dick Kennedy) [1771674] - [scsi] lpfc: Fix kernel crash at lpfc_nvme_info_show during remote port bounce (Dick Kennedy) [1771674] - [scsi] lpfc: Fix configuration of BB credit recovery in service parameters (Dick Kennedy) [1771674] - [scsi] lpfc: Fix duplicate unreg_rpi error in port offline flow (Dick Kennedy) [1771674] - [infiniband] ib/srp: Add missing new line after displaying fast_io_fail_tmo param (Kamal Heib) [1678461 1720899] - [net] sunrpc: The RDMA back channel mustn't disappear while requests are outstanding (Kamal Heib) [1720899] - [infiniband] rdma/nldev: Skip counter if port doesn't match (Kamal Heib) [1720899] - [rdma] uverbs: Prevent potential underflow (Kamal Heib) [1720899] - [infiniband] ib/core: Use rdma_read_gid_l2_fields to compare GID L2 fields (Kamal Heib) [1720899] - [infiniband] rdma/siw: free siw_base_qp in kref release routine (Kamal Heib) [1720899] - [infiniband] rdma/iwcm: move iw_rem_ref() calls out of spinlock (Kamal Heib) [1720899] - [infiniband] ib/core: Fix wrong iterating on ports (Kamal Heib) [1720899] - [infiniband] rdma/nldev: Reshuffle the code to avoid need to rebind QP in error path (Kamal Heib) [1720899] - [infiniband] rdma/cm: Fix memory leak in cm_add/remove_one (Kamal Heib) [1720899] - [infiniband] rdma/core: Fix an error handling path in 'res_get_common_doit()' (Kamal Heib) [1720899] - [infiniband] rdma/iwcm: Fix a lock inversion issue (Kamal Heib) [1720899] - [infiniband] rdma/siw: Fix serialization issue in write_space() (Kamal Heib) [1720899] - [infiniband] rdma/vmw_pvrdma: Free SRQ only once (Kamal Heib) [1757294 1720899] - [infiniband] rdma: Fix double-free in srq creation error flow (Kamal Heib) [1720899] - [infiniband] rdma/siw: Fix page address mapping in TX path (Kamal Heib) [1720899] - [infiniband] rdma/cma: Fix false error message (Kamal Heib) [1720899] - [infiniband] rdma/{cxgb3, cxgb4, i40iw}: Remove common code (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma/core: Fix use after free and refcnt leak on ndev in_device in iwarp_query_port (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma/core: Add common iWARP query port (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma/i40iw: Associate ibdev to netdev before IB device registration (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma/cxgb3: Use ib_device_set_netdev() (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma: Introduce ib_port_phys_state enum (Kamal Heib) [1760097 1745655 1720899] - [sched] topology: Improve load balancing on AMD EPYC systems (Phil Auld) [1757535] - [netdrv] broadcom: Use dev_get_drvdata (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add a new BNXT_FW_RESET_STATE_POLL_FW_DOWN state (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.100 (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Increase timeout for HWRM_DBG_COREDUMP_XX commands (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Don't proceed in .ndo_set_rx_mode() when device is not in open state (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix compile error regression with CONFIG_BNXT_SRIOV not set (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add FW fatal devlink_health_reporter (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add bnxt_fw_exception() to handle fatal firmware errors (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add RESET_FW state logic to bnxt_fw_reset_task() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Do not send firmware messages if firmware is in error state (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Retain user settings on a VF after RESET_NOTIFY event (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add devlink health reset reporter (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Handle firmware reset (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Handle RESET_NOTIFY async event from firmware (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add new FW devlink_health_reporter (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add BNXT_STATE_IN_FW_RESET state (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Enable health monitoring (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Pre-map the firmware health monitoring registers (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Discover firmware error recovery capabilities (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Handle firmware reset status during IF_UP (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Register buffers for VFs before reserving resources (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor bnxt_sriov_enable() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Prepare bnxt_init_one() to be called multiple times (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Suppress all error messages in hwrm_do_send_msg() in silent mode (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Simplify error checking in the SR-IOV message forwarding functions (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Convert error code in firmware message response to standard code (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Remove the -1 error return code from bnxt_hwrm_do_send_msg() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Use a common function to print the same ethtool -f error message (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix allocation of zero statistics block size regression (Jonathan Toppins) [1724766] - [netdrv] bnxt: no need to check return value of debugfs_create functions (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add PCI IDs for 57500 series NPAR devices (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Support all variants of the 5750X chip family (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor bnxt_init_one() and turn on TPA support on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Support TPA counters on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Allocate the larger per-ring statistics block for 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor ethtool ring statistics logic (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add hardware GRO setup function for 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add TPA ID mapping logic for 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add fast path logic for TPA on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Set TPA GRO mode flags on 57500 chips properly (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor tunneled hardware GRO logic (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Handle standalone RX_AGG completions (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Expand bnxt_tpa_info struct to support 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor TPA logic (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add TPA structure definitions for BCM57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.89 (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Suppress HWRM errors for HWRM_NVM_GET_VARIABLE command (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix to include flow direction in L2 key (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Use correct src_fid to determine direction of the flow (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix handling FRAG_ERR when NVM_INSTALL_UPDATE cmd fails (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Improve RX doorbell sequence (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix VNIC clearing logic for 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix VNIC accounting when enabling aRFS on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add page_pool_destroy() during RX ring cleanup (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: add page_pool support (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: optimized XDP_REDIRECT support (Jonathan Toppins) [1724766 1669220] - [netdrv] bnxt_en: Refactor __bnxt_xmit_xdp() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: rename some xdp functions (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Device serial number is supported only for PFs (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add support for aRFS on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Query firmware capability to support aRFS on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Separate RDMA MR/AH context allocation (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: read the clause type from the PHY ID (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Read package version from firmware (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Check new firmware capability to display extended stats (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add support for PCIe statistics (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor bnxt_alloc_stats() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Update firmware interface to 1.10.0.69 (Jonathan Toppins) [1724766] - [netdrv] bnxt: remove ndo_get_port_parent_id implementation for physical ports (Jonathan Toppins) [1724766] - [netdrv] bnxt: pass switch ID through devlink_port_attrs_set() (Jonathan Toppins) [1724766] - [netdrv] bnxt: move bp->switch_id initialization to PF probe (Jonathan Toppins) [1724766] - [netdrv] bnxt: remove ndo_get_phys_port_name implementation (Jonathan Toppins) [1724766] - [netdrv] bnxt: implement ndo_get_devlink_port (Jonathan Toppins) [1724766] - [netdrv] bnxt: Implement ndo_get_port_parent_id() (Jonathan Toppins) [1724766] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix firmware signaled resource change logic in open (Jonathan Toppins) [1724766] - [netdrv] bnx2x: Mark expected switch fall-thoughs (Jonathan Toppins) [1724766] - [netdrv] bnx2x: Mark expected switch fall-throughs (Jonathan Toppins) [1724766] - [tools] selftests: kvm: vmx_dirty_log_test: skip the test when VMX is not supported (Vitaly Kuznetsov) [1771575] - [tools] selftests: kvm: consolidate VMX support checks (Vitaly Kuznetsov) [1771575] - [tools] selftests: kvm: vmx_set_nested_state_test: don't check for VMX support twice (Vitaly Kuznetsov) [1771575] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 321 (Stefano Garzarella) [1769904] - [net] vsock: Send reset control packet when socket is partially bound (Stefano Garzarella) [1769904] - [net] vsock/virtio: fix sock refcnt holding during the shutdown (Stefano Garzarella) [1769855] - [kernel] vsock/virtio: remove unused 'work' field from 'struct virtio_vsock_pkt' (Stefano Garzarella) [1769855] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 482 (Stefano Garzarella) [1769855] - [net] vsock/virtio: set SOCK_DONE on peer shutdown (Stefano Garzarella) [1769855] - [net] vsock/virtio: discard packets if credit is not respected (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: send a credit update when buffer size is changed (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: a better comment on credit update (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: fix locking in virtio_transport_inc_tx_pkt() (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: reduce credit update messages (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: change the maximum packet size allowed (Stefano Garzarella) [1679971] - [vhost] vsock: split packets to send using multiple buffers (Stefano Garzarella) [1679971] - [net] vsock/virtio: limit the memory used per-socket (Stefano Garzarella) [1769744] - [net] vsock/virtio: free packets during the socket release (Stefano Garzarella) [1769744] - [net] vsock: Fix a lockdep warning in __vsock_release() (Stefano Garzarella) [1769714] - [net] vsock: correct removal of socket from the list (Stefano Garzarella) [1769714] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Stefano Garzarella) [1769714] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 321 (Stefano Garzarella) [1769714] - [net] Fix ERROR:do not initialise statics to 0 in af_vsock.c (Stefano Garzarella) [1769714] - [net] vsock: bind to random port for VMADDR_PORT_ANY (Stefano Garzarella) [1769714] - [tools] tc-testing: added tests with cookie for conntrack TC action (Ivan Vecera) [1739606] - [net] cls_bpf: fix NULL deref on offload filter removal (Ivan Vecera) [1739606] - [tools] tc-testing: fixed two failing pedit tests (Ivan Vecera) [1739606] - [tools] tc-testing: implement tests for new fast_init action flag (Ivan Vecera) [1739606] - [net] sched: update action implementations to support flags (Ivan Vecera) [1739606] - [net] sched: use temporary variable for actions indexes (Ivan Vecera) [1739606] - [net] sched: extend TCA_ACT space with TCA_ACT_FLAGS (Ivan Vecera) [1739606] - [net] sched: modify stats helper functions to support regular stats (Ivan Vecera) [1739606] - [net] sched: don't expose action qstats to skb_tc_reinsert() (Ivan Vecera) [1739606] - [net] sched: extract qstats update code into functions (Ivan Vecera) [1739606] - [net] sched: extract bstats update code into function (Ivan Vecera) [1739606] - [net] sched: extract common action counters update code into function (Ivan Vecera) [1739606] - [tools] tc-testing: list required kernel options for act_ct action (Ivan Vecera) [1739606] - [net] fq_codel: do not include (Ivan Vecera) [1739606] - [net] sch_generic: Use pfifo_fast as fallback scheduler for CAN hardware (Ivan Vecera) [1739606] - [net] sched: taprio: fix -Wmissing-prototypes warnings (Ivan Vecera) [1739606] - [net] sched: act_police: re-use tcf_tm_dump() (Ivan Vecera) [1739606] - [tools] tc-testing: updated pedit TDC tests (Ivan Vecera) [1739606] - [net] sched: Avoid using yield() in a busy waiting loop (Ivan Vecera) [1739606] - [tools] tc-testing: updated pedit test cases (Ivan Vecera) [1739606] - [net] sched: etf: Fix ordering of packets with same txtime (Ivan Vecera) [1739606] - [tools] tc-testing: updated pedit test cases (Ivan Vecera) [1739606] - [net] taprio: Fix returning EINVAL when configuring without flags (Ivan Vecera) [1739606] - [net] net_sched: fix backward compatibility for TCA_ACT_KIND (Ivan Vecera) [1739606] - [net] net_sched: fix backward compatibility for TCA_KIND (Ivan Vecera) [1739606] - [net] sched: Set default of CONFIG_NET_TC_SKB_EXT to N (Ivan Vecera) [1739606] - [net] sch_netem: fix rcu splat in netem_enqueue() (Ivan Vecera) [1739606] - [net] net_sched: remove need_resched() from qdisc_run() (Ivan Vecera) [1739606] - [net] sched: cbs: Avoid division by zero when calculating the port rate (Ivan Vecera) [1739606] - [net] sched: taprio: Avoid division by zero on invalid link speed (Ivan Vecera) [1739606] - [net] sched: taprio: Fix potential integer overflow in taprio_set_picos_per_byte (Ivan Vecera) [1739606] - [net] sched: cbs: Fix not adding cbs instance to list (Ivan Vecera) [1739606] - [net] Fix Kconfig indentation (Ivan Vecera) [1739606] - [net] net_sched: add policy validation for action attributes (Ivan Vecera) [1739606] - [net] net_sched: add max len check for TCA_KIND (Ivan Vecera) [1739606] - [net] taprio: Add support for hardware offloading (Ivan Vecera) [1739606] - [net] sched: use get_dev() action API in flow_action infra (Ivan Vecera) [1739606] - [net] sched: take reference to psample group in flow_action infra (Ivan Vecera) [1739606] - [net] sched: extend flow_action_entry with destructor (Ivan Vecera) [1739606] - [net] sch_hhf: ensure quantum and hhf_non_hh_weight are non-zero (Ivan Vecera) [1739606] - [net] net_sched: check cops->tcf_block in tc_bind_tclass() (Ivan Vecera) [1739606] - [net] sched: fix reordering issues (Ivan Vecera) [1739606] - [net] net_sched: act_police: add 2 new attributes to support police 64bit rate and peakrate (Ivan Vecera) [1739606] - [net] openvswitch: Set OvS recirc_id from tc chain index (Ivan Vecera) [1739606] - [net] sk_buff: drop all skb extensions on free and skb scrubbing (Ivan Vecera) [1739606] - [net] minor cleanup in skb_ext_add() (Ivan Vecera) [1739606] - [include] net: drop the unused helper skb_ext_get() (Ivan Vecera) [1739606] - [net] fix possible user-after-free in skb_ext_add() (Ivan Vecera) [1739606] - [net] sk_buff: add skb extension infrastructure (Ivan Vecera) [1739606] - [net] sched: cbs: remove redundant assignment to variable port_rate (Ivan Vecera) [1739606] - [tools] tc-testing: don't hardcode 'ip' in nsPlugin.py (Ivan Vecera) [1739606] - [net] sched: cbs: Set default link speed to 10 Mbps in cbs_set_port_rate (Ivan Vecera) [1739606] - [net] taprio: Set default link speed to 10 Mbps in taprio_set_picos_per_byte (Ivan Vecera) [1739606] - [net] taprio: Fix kernel panic in taprio_destroy (Ivan Vecera) [1739606] - [netdrv] mlx5e: Move local var definition into ifdef block (Ivan Vecera) [1739606] - [net] sched: cls_matchall: cleanup flow_action before deallocating (Ivan Vecera) [1739606] - [net] sched: act_vlan: implement stats_update callback (Ivan Vecera) [1739606] - [net] sched: act_sample: fix psample group handling on overwrite (Ivan Vecera) [1739606] - [net] sched: flower: don't take rtnl lock for cls hw offloads API (Ivan Vecera) [1739606] - [net] sched: copy tunnel info when setting flow_action entry->tunnel (Ivan Vecera) [1739606] - [net] sched: take reference to action dev before calling offloads (Ivan Vecera) [1739606] - [net] sched: take rtnl lock in tc_setup_flow_action() (Ivan Vecera) [1739606] - [net] sched: conditionally obtain rtnl lock in cls hw offloads API (Ivan Vecera) [1739606] - [net] sched: add API for registering unlocked offload block callbacks (Ivan Vecera) [1739606] - [net] sched: notify classifier on successful offload add/delete (Ivan Vecera) [1739606] - [net] sched: refactor block offloads counter usage (Ivan Vecera) [1739606] - [net] sched: change tcf block offload counter type to atomic_t (Ivan Vecera) [1739606] - [net] sched: protect block offload-related fields with rw_semaphore (Ivan Vecera) [1739606] - [net] net_sched: fix a NULL pointer deref in ipt action (Ivan Vecera) [1739606] - [tools] tc-testing: concurrency: wrap piped rule update commands (Ivan Vecera) [1739606] - [tools] tc-testing: use dedicated DUMMY interface name for dummy dev (Ivan Vecera) [1739606] - [net] flow_offload: convert block_ing_cb_list to regular list type (Ivan Vecera) [1739606] - [netdrv] sched: use major priority number as hardware priority (Ivan Vecera) [1739606] - [tools] tc-testing: added tdc tests for matchall filter (Ivan Vecera) [1739606] - [net] taprio: remove unused variable 'entry_list_policy' (Ivan Vecera) [1739606] - [tools] tc-testing: updated skbedit action tests with batch create/delete (Ivan Vecera) [1739606] - [net] sched: update skbedit action for batched events operations (Ivan Vecera) [1739606] - [net] fq_codel: remove set but not used variables 'prev_ecn_mark' and 'prev_drop_count' (Ivan Vecera) [1739606] - [net] flow_offload: support get multi-subsystem block (Ivan Vecera) [1739606] - [net] flow_offload: move tc indirect block to flow offload (Ivan Vecera) [1739606] - [net] cls_api: add flow_indr_block_call function (Ivan Vecera) [1739606] - [net] cls_api: remove the tcf_block cache (Ivan Vecera) [1739606] - [net] cls_api: modify the tc_indr_block_ing_cmd parameters. (Ivan Vecera) [1739606] - [net] sched: sch_taprio: fix memleak in error path for sched list parse (Ivan Vecera) [1739606] - [net] fq_codel: Kill useless per-flow dropped statistic (Ivan Vecera) [1739606] - [net] Increase fq_codel count in the bulk dropper (Ivan Vecera) [1739606] - [include] sched: sample: allow accessing psample_group with rtnl (Ivan Vecera) [1739606] - [tools] tc-testing: updated vlan action tests with batch create/delete (Ivan Vecera) [1739606] - [net] sched: update vlan action for batched events operations (Ivan Vecera) [1739606] - [tools] tc-testing: Clarify the use of tdc's -d option (Ivan Vecera) [1739606] - [net] sched: Fix a possible null-pointer dereference in dequeue_func() (Ivan Vecera) [1739606] - [tools] tc-testing: added tdc tests for [b|p]fifo qdisc (Ivan Vecera) [1739606] - [net] ife: error out when nla attributes are empty (Ivan Vecera) [1739606] - [net] sched: verify that q!=NULL before setting q->flags (Ivan Vecera) [1739606] - [net] net_sched: unset TCQ_F_CAN_BYPASS when adding filters (Ivan Vecera) [1739606] - [net] fix: taprio: Change type of txtime-delay parameter to u32 (Ivan Vecera) [1739606] - [tools] tc-tests: updated skbedit tests (Ivan Vecera) [1739606] - [include] pkt_sched: Include const.h (Ivan Vecera) [1739606] - [tools] tc-testing: introduce scapyPlugin for basic traffic (Ivan Vecera) [1739606] - [tools] tc-testing: Allow tdc plugins to see test case data (Ivan Vecera) [1739606] - [tools] tc-testing: added tdc tests for prio qdisc (Ivan Vecera) [1739606] - [tools] tc-testing: updated mirred action tests with batch create/delete (Ivan Vecera) [1739606] - [net] sched: update mirred action for batched events operations (Ivan Vecera) [1739606] - [net] sched: em_ipt: add support for addrtype matching (Ivan Vecera) [1739606] - [net] sched: em_ipt: keep the user-specified nfproto and dump it (Ivan Vecera) [1739606] - [net] sched: em_ipt: set the family based on the packet if it's unspecified (Ivan Vecera) [1739606] - [net] sched: em_ipt: match only on ip/ipv6 traffic (Ivan Vecera) [1739606] - [net] taprio: Adjust timestamps for TCP packets (Ivan Vecera) [1739606] - [net] taprio: make clock reference conversions easier (Ivan Vecera) [1739606] - [net] taprio: Add support for txtime-assist mode (Ivan Vecera) [1739606] - [net] taprio: Remove inline directive (Ivan Vecera) [1739606] - [net] taprio: calculate cycle_time when schedule is installed (Ivan Vecera) [1739606] - [net] etf: Add skip_sock_check (Ivan Vecera) [1739606] - [include] etf: Don't use BIT() in UAPI headers. (Ivan Vecera) [1739606] - [tools] tc-testing: add ingress qdisc tests (Ivan Vecera) [1739606] - [tools] tc-testing: Restore original behaviour for namespaces in tdc (Ivan Vecera) [1739606] - [include] net: sched: act_ctinfo: tidy UAPI definition (Ivan Vecera) [1739606] - [include] act_ctinfo: Don't use BIT() in UAPI headers. (Ivan Vecera) [1739606] - [net] sched: cls_matchall: allow to delete filter (Ivan Vecera) [1739606] - [net] sched: act_ctinfo: fix policy validation (Ivan Vecera) [1739606] - [net] sched: act_ctinfo: fix action creation (Ivan Vecera) [1739606] - [tools] tc-tests: updated skbedit tests (Ivan Vecera) [1739606] - [tools] tc-tests: added path to ip command in tdc (Ivan Vecera) [1739606] - [net] sched: remove NET_CLS_IND config option (Ivan Vecera) [1739606] - [net] sched: act_ctinfo: use extack error reporting (Ivan Vecera) [1739606] - [net] sched: ingress: set 'unlocked' flag for clsact Qdisc ops (Ivan Vecera) [1739606] - [net] sched: ingress: set 'unlocked' flag for Qdisc ops (Ivan Vecera) [1739606] - [tools] tc-tests: updated fw with bind actions by reference use cases (Ivan Vecera) [1739606] - [net] sched: act_ctinfo: minor size optimisation (Ivan Vecera) [1739606] - [net] flow_offload: use struct_size() in kzalloc() (Ivan Vecera) [1739606] - [net] sched: don't use tc_action->order during action dump (Ivan Vecera) [1739606] - [net] sch_htb: redefine htb qdisc overlimits (Ivan Vecera) [1739606] - [tools] selftests: tc-testing: Add pedit tests (Ivan Vecera) [1739606] - [net] sched: add ingress mirred action to hardware IR (Ivan Vecera) [1757520] - [include] net: tc_act: add helpers to detect ingress mirred actions (Ivan Vecera) [1757520] - [net] sched: add skbedit of ptype action to hardware IR (Ivan Vecera) [1757520] - [include] net: tc_act: add skbedit_ptype helper functions (Ivan Vecera) [1757520] - [net] openvswitch: load and reference the NAT helper. (Flavio Leitner) [1752970] - [net] openvswitch: load NAT helper (Flavio Leitner) [1752970] - [net] netfilter: nf_nat: register NAT helpers. (Flavio Leitner) [1752970] - [net] netfilter: add API to manage NAT helpers. (Flavio Leitner) [1752970] - [net] netfilter: use macros to create module aliases. (Flavio Leitner) [1752970] - [net] xfrm: remove a duplicated assignment (Sabrina Dubroca) [1760002] - [net] xfrm: remove empty xfrmi_init_net (Sabrina Dubroca) [1760002] - [net] xfrm: remove unneeded export_symbols (Sabrina Dubroca) [1760002] - [include] xfrm: clean an indentation issue, remove a space (Sabrina Dubroca) [1760002] - [net] xfrm6: remove BUG_ON from xfrm6_dst_ifdown (Sabrina Dubroca) [1760002] - [net] xfrm: policy: add missing indentation (Sabrina Dubroca) [1760002] - [net] xfrm: Fix bucket count reported to userspace (Sabrina Dubroca) [1760002] - [net] xfrm: use complete IPv6 addresses for hash (Sabrina Dubroca) [1760002] - [net] xfrm: use correct size to initialise sp->ovec (Sabrina Dubroca) [1760002] - [net] xfrm: allow driver to quietly refuse offload (Sabrina Dubroca) [1760002] - [net] esp: remove redundant define esph (Sabrina Dubroca) [1760002] - [net] ip6_vti: simplify stats handling in vti6_xmit (Sabrina Dubroca) [1760002] - [net] xfrm: fix 'passing zero to ERR_PTR()' warning (Sabrina Dubroca) [1760002] - [net] xfrm: remove blank lines at EOF (Sabrina Dubroca) [1760002] - [net] xfrm: don't check offload_handle for nonzero (Sabrina Dubroca) [1760002] - [net] ipv6: xfrm: use 64-bit timestamps (Sabrina Dubroca) [1760002] - [net] devlink: Introduce PCI VF port flavour and port attribute (Petr Oros) [1761495] - [net] devlink: Introduce PCI PF port flavour and port attribute (Petr Oros) [1761495] - [net] devlink: Return physical port fields only for applicable port flavours (Petr Oros) [1761495] - [net] devlink: Refactor physical port attributes (Petr Oros) [1761495] - [net] ipv4: fix race condition between route lookup and invalidation (Guillaume Nault) [1765639] - [net] add {READ|WRITE}_ONCE() annotations on ->rskq_accept_head (Guillaume Nault) [1765639] - [net] ipv4/icmp: fix rt dst dev null pointer dereference (Guillaume Nault) [1765639] - [net] ipip: validate header length in ipip_tunnel_xmit (Guillaume Nault) [1765639] - [net] ipv4: Use return value of inet_iif() for __raw_v4_lookup in the while loop (Guillaume Nault) [1765639] - [net] ipv4: Fix raw socket lookup for local traffic (Guillaume Nault) [1765639] - [net] ipv4: Return error for RTA_VIA attribute (Guillaume Nault) [1765639] - [net] ipmr: fix unresolved entry dumps (Guillaume Nault) [1765639] - [net] ipvs: don't ignore errors in case refcounting ip_vs module fails (Davide Caratti) [1687094] - [net] ipvs: fix tinfo memory leak in start_sync_thread (Davide Caratti) [1687094] - [net] tcp: fix a possible lockdep splat in tcp_done() (Marcelo Leitner) [1764654] - [net] tcp: add rcu protection around tp->fastopen_rsk (Marcelo Leitner) [1764654] - [net] tcp: annotate lockless access to tcp_memory_pressure (Marcelo Leitner) [1764654] - [net] tcp: fix tcp_ecn_withdraw_cwr() to clear TCP_ECN_QUEUE_CWR (Marcelo Leitner) [1764654] - [net] tcp: inherit timestamp on mtu probe (Marcelo Leitner) [1764654] - [net] tcp: remove empty skb from write queue in error cases (Marcelo Leitner) [1764654] - [net] tcp: get rid of tcp_check_send_head() (Marcelo Leitner) [1764654] - [net] tcp: make sure EPOLLOUT wont be missed (Marcelo Leitner) [1764654] - [net] ipv4: set the tcp_min_rtt_wlen range from 0 to one day (Marcelo Leitner) [1764654] - [net] net-tcp: /proc/sys/net/ipv4/tcp_probe_interval is a u32 not int (Marcelo Leitner) [1764654] - [net] tcp: fix a race in inet_diag_dump_icsk() (Marcelo Leitner) [1764654] - [net] netfilter: nft_meta: Add NFT_META_I/OIFKIND meta type (Florian Westphal) [1763657] - [net] netfilter: nft_xfrm: use state family, not hook one (Florian Westphal) [1763654] - [net] netfilter: nf_tables: add xfrm expression (Florian Westphal) [1763654] - [net] netfilter: nf_tables: rt: allow checking if dst has xfrm attached (Florian Westphal) [1763654] - [netdrv] mlx5e: Fix unnecessary flow_block_cb_is_busy call (Ivan Vecera) [1737890] - [netdrv] nfp: flower: verify that block cb is not busy before binding (Ivan Vecera) [1737890] - [netdrv] net/mlx5e: Provide cb_list pointer when setting up tc block on rep (Ivan Vecera) [1737890] - [net] sched: Fix NULL-pointer dereference in tc_indr_block_ing_cmd() (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block structure and use it (Ivan Vecera) [1737890] - [net] flow_offload: rename tc_setup_cb_t to flow_setup_cb_t (Ivan Vecera) [1737890] - [include] flow_offload: include linux/kernel.h from flow_offload.h (Ivan Vecera) [1737890] - [net] flow_offload: remove netns parameter from flow_block_cb_alloc() (Ivan Vecera) [1737890] - [net] openvswitch: rename flow_stats to sw_flow_stats (Ivan Vecera) [1737890] - [netdrv] mlx5e: Fix unused variable warning when CONFIG_MLX5_ESWITCH is off (Ivan Vecera) [1737890] - [netdrv] net: flow_offload: rename tc_cls_flower_offload to flow_cls_offload (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block_cb_is_busy() and use it (Ivan Vecera) [1737890] - [net] sched: remove tcf block API (Ivan Vecera) [1737890] - [include] sched: use new symbol for TC kABI version (Ivan Vecera) [1737890] - [netdrv] use flow block API (Ivan Vecera) [1737890] - [net] sched: use flow block API (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block_cb_{priv, incref, decref}() (Ivan Vecera) [1737890] - [net] flow_offload: add list handling functions (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block_cb_alloc() and flow_block_cb_free() (Ivan Vecera) [1737890] - [net] flow_offload: rename TCF_BLOCK_BINDER_TYPE_* to FLOW_BLOCK_BINDER_TYPE_* (Ivan Vecera) [1737890] - [net] flow_offload: rename TC_BLOCK_{UN}BIND to FLOW_BLOCK_{UN}BIND (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block_cb_setup_simple() (Ivan Vecera) [1737890] - [net] openvswitch: free vport unless register_netdevice() succeeds (Stefano Brivio) [1765580] - [net] openvswitch: Clear the L4 portion of the key for "later" fragments. (Stefano Brivio) [1765580] - [net] openvswitch: Properly set L4 keys on "later" IP fragments (Stefano Brivio) [1765580] - [net] openvswitch: Print error when ovs_execute_actions() fails (Stefano Brivio) [1765580] - [net] openvswitch: do not free vport if register_netdevice() is failed. (Stefano Brivio) [1765580] - [net] xfrm: policy: remove pcpu policy cache (Xin Long) [1743519] - [net] netem: correct the parent's backlog when corrupted packet was dropped (Davide Caratti) [1764553] - [net] netem: fix error path for corrupted GSO frames (Davide Caratti) [1764553] - [net] avoid potential infinite loop in tc_ctl_action() (Davide Caratti) [1764553] - [net] act_mirred: Fix mirred_init_module error handling (Davide Caratti) [1764553] - [net] sch_dsmark: fix potential NULL deref in dsmark_init() (Davide Caratti) [1764553] - [net] sch_cbq: validate TCA_CBQ_WRROPT to avoid crash (Davide Caratti) [1764553] - [net] sched: sch_sfb: don't call qdisc_put() while holding tree lock (Davide Caratti) [1764553] - [net] sched: multiq: don't call qdisc_put() while holding tree lock (Davide Caratti) [1764553] - [net] sched: sch_htb: don't call qdisc_put() while holding tree lock (Davide Caratti) [1764553] - [net] sched: fix possible crash in tcf_action_destroy() (Davide Caratti) [1764553] - [net] sch_netem: fix a divide by zero in tabledist() (Davide Caratti) [1764553] - [net] sched: act_sample: don't push mac header on ip6gre ingress (Davide Caratti) [1764553] - [net] net_sched: let qdisc_put() accept NULL pointer (Davide Caratti) [1764553] - [net] tcp: adjust rto_base in retransmits_timed_out() (Marcelo Leitner) [1756775] - [net] tcp: better handle TCP_USER_TIMEOUT in SYN_SENT state (Marcelo Leitner) [1756775] - [include] netlink: use 48 byte ctx instead of 6 signed longs for callback (Petr Oros) [1751273] - [net] rtnetlink: skip metrics loop for dst_default_metrics (Petr Oros) [1751273] - [include] netlink: Add field to skip in-kernel notifications (Petr Oros) [1751273] - [include] netlink: Document all fields of 'struct nl_info' (Petr Oros) [1751273] - [net] ipoib: show VF broadcast address (Petr Oros) [1751273] - [net] remove empty netlink_tap_exit_net (Petr Oros) [1751273] - [net] netlink: make netlink_walk_start() void return type (Petr Oros) [1751273] - [include] net: nexthop uapi (Petr Oros) [1751273] - [net] Treat sock->sk_drops as an unsigned int when printing (Petr Oros) [1751273] - [net] fix two coding style issues (Petr Oros) [1751273] - [net] ipset: drop ipset_nest_start() and ipset_nest_end() (Petr Oros) [1751273] - [net] netlink: make nla_nest_start() add NLA_F_NESTED flag (Petr Oros) [1751273] - [net] netfilter: nf_tables: fix a missing check of nla_put_failure (Petr Oros) [1751273] - [net] ncsi: fix a missing check for nla_nest_start (Petr Oros) [1751273] - [net] genetlink: use idr_alloc_cyclic for family->id assignment (Petr Oros) [1751273] - [net] netlink: Check address length before reading groups field (Petr Oros) [1751273] - [net] core: Fix rtnetlink kernel-doc headers (Petr Oros) [1751273] - [net] rhashtable: Remove obsolete rhashtable_walk_init function (Petr Oros) [1751273] - [net] netfilter: nf_tables: use rhashtable_walk_enter instead of rhashtable_walk_init (Petr Oros) [1751273] - [net] netlink: reduce NLA_POLICY_NESTED{, _ARRAY} arguments (Petr Oros) [1751273] - [net] netlink: rename NETLINK_DUMP_STRICT_CHK -> NETLINK_GET_STRICT_CHK (Petr Oros) [1751273] - [include] netlink: replace __NLA_ENSURE implementation (Petr Oros) [1751273] - [include] netlink: fix typo in nla_parse_nested() comment (Petr Oros) [1751273] - [net] netlink: remove hash::nelems check in netlink_insert (Petr Oros) [1751273] - [net] netlink: Make groups check less stupid in netlink_bind() (Petr Oros) [1751273] - [include] genetlink: constify genl_err_attr() argument (Petr Oros) [1751273] - [net] netlink: do not store start function in netlink_cb (Petr Oros) [1751273] - [include] linux: Add skb_frag_t page_offset accessors (Petr Oros) [1757515] - [include] net: add missing documentation in linux/skbuff.h (Petr Oros) [1757515] - [net] l2tp: Fix possible NULL pointer dereference (Stefano Brivio) [1764185] - [net] l2ip: fix possible use-after-free (Stefano Brivio) [1764185] - [net] l2tp: use rcu_dereference_sk_user_data() in l2tp_udp_encap_recv() (Stefano Brivio) [1764185] - [net] l2tp: fix infoleak in l2tp_ip6_recvmsg() (Stefano Brivio) [1764185] - [net] l2tp: copy 4 more bytes to linear part if necessary (Stefano Brivio) [1764185] - [net] l2tp: fix reading optional fields of L2TPv3 (Stefano Brivio) [1764185] - [net] l2tp: remove ->recv_payload_hook (Stefano Brivio) [1764185] - [net] l2tp: don't export l2tp_session_queue_purge() (Stefano Brivio) [1764185] - [net] l2tp: remove .show from struct l2tp_tunnel (Stefano Brivio) [1764185] - [netdrv] vxlan: do not destroy fdb if register_netdevice() is failed (Stefano Brivio) [1763793] - [net] ip6erspan: remove the incorrect mtu limit for ip6erspan (Stefano Brivio) [1763286] - [net] ipv6: Handle missing host route in __ipv6_ifa_notify (Stefano Brivio) [1763286] - [net] ipv6: drop incoming packets having a v4mapped source address (Stefano Brivio) [1763286] - [net] ip6_gre: fix a dst leak in ip6erspan_tunnel_xmit (Stefano Brivio) [1763286] - [net] mld: fix memory leak in mld_del_delrec() (Stefano Brivio) [1763286] - [net] ipv6: rt6_check should return NULL if 'from' is NULL (Stefano Brivio) [1763286] - [net] ipv6_sockglue: Fix a missing-check bug in ip6_ra_control() (Stefano Brivio) [1763286] - [net] ipv6_gre: Fix GRO to work on IPv6 over GRE tap (Stefano Brivio) [1763286] - [net] ipv4: Return -ENETUNREACH if we can't create route but saddr is valid (Stefano Brivio) [1686686] - [net] netfilter: nft_connlimit: disable bh on garbage collection (Florian Westphal) [1762844] - [net] netfilter: ebtables: Fix argument order to ADD_COUNTER (Florian Westphal) [1762844] - [net] netfilter: ebtables: CONFIG_COMPAT: reject trailing data after last rule (Florian Westphal) [1762844] - [net] netfilter: ebtables: CONFIG_COMPAT: drop a bogus WARN_ON (Florian Westphal) [1762844] - [net] netfilter: bridge: set skb transport_header before entering NF_INET_PRE_ROUTING (Florian Westphal) [1762844] - [net] netfilter: ebtables: also count base chain policies (Florian Westphal) [1762844] - [net] netfilter: ebtables: compat: un-break 32bit setsockopt when no rules are present (Florian Westphal) [1762844] - [net] sctp: change sctp_prot .no_autobind with true (Xin Long) [1762625] - [net] sctp: destroy bucket if failed to bind addr (Xin Long) [1762625] - [net] sctp: remove redundant assignment when call sctp_get_port_local (Xin Long) [1762625] - [net] sctp: change return type of sctp_get_port_local (Xin Long) [1762625] - [net] sctp: Fix the link time qualifier of 'sctp_ctrlsock_exit()' (Xin Long) [1762625] - [net] sctp: fix the missing put_user when dumping transport thresholds (Xin Long) [1762625] - [net] sctp: use transport pf_retrans in sctp_do_8_2_transport_strike (Xin Long) [1762625] - [net] sctp: allow users to set ep ecn flag by sockopt (Xin Long) [1762625] - [net] sctp: allow users to set netns ecn flag with sysctl (Xin Long) [1762625] - [net] sctp: make ecn flag per netns and endpoint (Xin Long) [1762625] - [net] sctp: remove net sctp.x_enable working as a global switch (Xin Long) [1762625] - [net] sctp: add SCTP_AUTH_SUPPORTED sockopt (Xin Long) [1762625] - [net] sctp: add sctp_auth_init and sctp_auth_free (Xin Long) [1762625] - [net] sctp: use ep and asoc auth_enable properly (Xin Long) [1762625] - [net] sctp: add SCTP_ASCONF_SUPPORTED sockopt (Xin Long) [1762625] - [net] sctp: check asoc peer.asconf_capable before processing asconf (Xin Long) [1762625] - [net] sctp: not set peer.asconf_capable in sctp_association_init (Xin Long) [1762625] - [net] sctp: add asconf_enable in struct sctp_endpoint (Xin Long) [1762625] - [net] sctp: fix memleak in sctp_send_reset_streams (Xin Long) [1762625] - [net] sctp: fix the transport error_count check (Xin Long) [1762625] - [net] sched: fix corrupted L2 header with MPLS 'push' and 'pop' actions (Ivan Vecera) [1737820] - [net] avoid errors when trying to pop MLPS header on non-MPLS packets (Ivan Vecera) [1737820] - [net] netfilter: connlabels: prefer static lock initialiser (Ivan Vecera) [1737820] - [net] sched: include mpls actions in hardware intermediate representation (Ivan Vecera) [1737820] - [net] sched: Make NET_ACT_CT depends on NF_NAT (Ivan Vecera) [1737820] - [tools] tc-tests: Add tc action ct tests (Ivan Vecera) [1737820] - [net] sched: cls_flower: Add matching on conntrack info (Ivan Vecera) [1737820] - [net] flow_dissector: add connection tracking dissection (Ivan Vecera) [1737820] - [net] sched: Introduce action ct (Ivan Vecera) [1737820] - [tools] tc-tests: actions: add MPLS tests (Ivan Vecera) [1737820] - [net] sched: add mpls manipulation actions to TC (Ivan Vecera) [1737820] - [net] core: add MPLS update core helper and use in OvS (Ivan Vecera) [1737820] - [net] core: move pop MPLS functionality from OvS to core helper (Ivan Vecera) [1737820] - [net] core: move push MPLS functionality from OvS to core helper (Ivan Vecera) [1737820] - [net] sched: Introduce act_ctinfo action (Ivan Vecera) [1737820] - [netdrv] mlx5e: Allow dissector meta key in tc flower (Ivan Vecera) [1762861] - [tools] selftests: tc: add ingress device matching support (Ivan Vecera) [1762861] - [net] flow_offload: implement support for meta key (Ivan Vecera) [1762861] - [net] sched: cls_flower: use flow_dissector for ingress ifindex (Ivan Vecera) [1762861] - [net] flow_dissector: add support for ingress ifindex dissection (Ivan Vecera) [1762861] - [net] udp: only do GSO if # of segs > 1 (Guillaume Nault) [1762357] - [net] udp: fix gso_segs calculations (Guillaume Nault) [1762357] - [tools] selftests: rtnetlink: add small test case with 'promote_secondaries' enabled (Petr Oros) [1759177] - [net] ipv4: fix infinite loop on secondary addr promotion (Petr Oros) [1759177] - [tools] selftests: rtnetlink: add addresses with fixed life time (Petr Oros) [1759177] - [net] ipv4: remove erroneous advancement of list pointer (Petr Oros) [1759177] - [net] ipv4: fix rcu lockdep splat due to wrong annotation (Petr Oros) [1759177] - [net] ipv4: provide __rcu annotation for ifa_list (Petr Oros) [1759177] - [drivers] use in_dev_for_each_ifa_rtnl/rcu (Petr Oros) [1759177] - [net] use new in_dev_ifa iterators (Petr Oros) [1759177] - [net] netfilter: use in_dev_for_each_ifa_rcu (Petr Oros) [1759177] - [net] devinet: use in_dev_for_each_ifa_rcu in more places (Petr Oros) [1759177] - [net] inetdevice: provide replacement iterators for in_ifaddr walk (Petr Oros) [1759177] - [fs] afs: do not send list of client addresses (Petr Oros) [1759177] - [net] sctp: add SCTP_SEND_FAILED_EVENT event (Xin Long) [1751129] - [net] sctp: add SCTP_ADDR_MADE_PRIM event (Xin Long) [1751129] - [net] sctp: add SCTP_ADDR_REMOVED event (Xin Long) [1751129] - [net] sctp: add SCTP_ADDR_ADDED event (Xin Long) [1751129] - [netdrv] team: call RCU read lock when walking the port_list (Hangbin Liu) [1724896] - [net] packet: fix race in tpacket_snd() (Davide Caratti) [1760276] - [net] packet: fix memory leak in packet_set_ring() (Davide Caratti) [1760276] - [net] packet: unconditionally free po->rollover (Davide Caratti) [1760276] - [net] llc: fix skb leak in llc_build_and_send_ui_pkt() (Davide Caratti) [1760276] - [net] af_key: fix leaks in key_pol_get_resp and dump_sp. (Davide Caratti) [1760276] - [net] packet: in recvmsg msg_name return at least sizeof sockaddr_ll (Davide Caratti) [1760276] - [net] packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec (Davide Caratti) [1760276] - [net] packet: fix 4gb buffer limit due to overflow check (Davide Caratti) [1760276] - [net] llc: do not use sk_eat_skb() (Davide Caratti) [1760276] - [fs] proc: fix /proc/net/* after setns(2) (Davide Caratti) [1760276] - [net] Unpublish sk from sk_reuseport_cb before call_rcu (Paolo Abeni) [1760409] - [net] Fix null de-reference of device refcount (Paolo Abeni) [1760409] - [include] ipv4: Define __ipv4_neigh_lookup_noref when CONFIG_INET is disabled (Paolo Abeni) [1760409] - [net] neighbor: Call __ipv4_neigh_lookup_noref in neigh_xmit (Paolo Abeni) [1760409] - [net] ebpf: record usage of flow dissector (Jiri Benc) [1749812] - [tools] selftests/bpf: More compatible nc options in test_lwt_ip_encap (Jiri Benc) [1749812] - [tools] selftests/bpf: Set rp_filter in test_flow_dissector (Jiri Benc) [1749812] - [net] bpf: lwtunnel: fix reroute supplying invalid dst (Jiri Benc) [1749812] - [kernel] rh_features: convert to atomic allocation (Jiri Benc) [1749812] - [net] xsk: lock the control mutex in sock_diag interface (Jiri Benc) [1749812] - [documentation] networking: fix af_xdp.rst Sphinx warnings (Jiri Benc) [1749812] - [documentation] flow_dissector: rst'ify documentation (Jiri Benc) [1749812] - [documentation] flow_dissector: document BPF flow dissector environment (Jiri Benc) [1749812] - [net] xsk: fix umem memory leak on cleanup (Jiri Benc) [1749812] - [net] xsk: fix to reject invalid options in Tx descriptor (Jiri Benc) [1749812] - [net] xsk: fix to reject invalid flags in xsk_bind (Jiri Benc) [1749812] - [net] xsk: fix potential crash in xsk_diag_put_umem() (Jiri Benc) [1749812] - [net] bpfilter: re-add header search paths to tools include to fix build error (Jiri Benc) [1749812] - [documentation] xsk: add FAQ to facilitate for first time users (Jiri Benc) [1749812] - [net] bpf/test_run: fix unkillable BPF_PROG_TEST_RUN for flow dissector (Jiri Benc) [1749812] - [tools] sync uapi/linux/if_link.h header (Jiri Benc) [1749812] - [net] xdp: allow generic and driver XDP on one interface (Jiri Benc) [1749812] - [net] xdp: Provide extack messages when prog attachment failed (Jiri Benc) [1749812] - [net] bpfilter: remove extra header search paths for bpfilter_umh (Jiri Benc) [1749812] - [include] bpf: fix missing prototype warnings (Jiri Benc) [1749812] - [net] xsk: add sock_diag interface for AF_XDP (Jiri Benc) [1749812] - [net] xsk: add id to umem (Jiri Benc) [1749812] - [net] xsk: track AF_XDP sockets on a per-netns list (Jiri Benc) [1749812] - [include] redhat: rh_kabi: introduce RH_KABI_EXTEND_WITH_SIZE (Jiri Benc) [1749812] - [net] tcp: Avoid TCP syncookie rejected by SO_REUSEPORT socket (Jiri Benc) [1749812] - [net] tcp: use monotonic timestamps for PAWS (Jiri Benc) [1749812] - [net] tcp: remove one indentation level in tcp_create_openreq_child (Jiri Benc) [1749812] - [netdrv] ppp: Fix memory leak in ppp_write (Guillaume Nault) [1759312] - [netdrv] ppp: deflate: Fix possible crash in deflate_init (Guillaume Nault) [1759312] - [netdrv] pppoe: fix reception of frames with no mac header (Guillaume Nault) [1759312] - [net] tcp_bbr: fix quantization code to not raise cwnd if not probing bandwidth (Florian Westphal) [1759208] - [net] tcp_bbr: refactor bbr_target_cwnd() for general inflight provisioning (Florian Westphal) [1759208] - [net] tcp_bbr: centralize code to set gains (Florian Westphal) [1759208] - [net] tcp_bbr: apply PROBE_RTT cwnd cap even if acked==0 (Florian Westphal) [1759208] - [net] tcp_bbr: in restart from idle, see if we should exit PROBE_RTT (Florian Westphal) [1759208] - [net] tcp_bbr: add bbr_check_probe_rtt_done() helper (Florian Westphal) [1759208] - [net] xfrm/xfrm_policy: fix dst dev null pointer dereference in collect_md mode (Hangbin Liu) [1734589] - [tools] selftests: forwarding: gre_multipath: Fix flower filters (Hangbin Liu) [1756832] - [tools] selftests: forwarding: gre_multipath: Enable IPv4 forwarding (Hangbin Liu) [1756832] - [tools] set sysctl bc_forwarding properly in router_broadcast.sh (Hangbin Liu) [1756832] - [tools] selftests: fib_rule_tests: enable forwarding before ipv4 from/iif test (Hangbin Liu) [1756832] - [tools] selftests: fib_rule_tests: use pre-defined DEV_ADDR (Hangbin Liu) [1756832] - [tools] selftests: fib_rule_tests: fix local IPv4 address typo (Hangbin Liu) [1756832] - [tools] selftests: fib_rule_tests: print the result and return 1 if any tests failed (Hangbin Liu) [1756832] - [tools] selftests: fib_tests: Fix 'Command line is not complete' errors (Hangbin Liu) [1756832] - [tools] selftests: Update fib_tests to handle missing ping6 (Hangbin Liu) [1756832] - [tools] fib_tests: Add tests for metrics on routes (Hangbin Liu) [1756832] - [tools] selftests: udpgso_bench.sh explicitly requires bash (Hangbin Liu) [1756832] - [tools] selftests/net: add tls to .gitignore (Hangbin Liu) [1756832] - [net] ipv4: avoid mixed n_redirects and rate_tokens usage (Paolo Abeni) [1753092] - [lib] netlink: set bad attribute also on maxtype check (Petr Oros) [1757776] - [lib] netlink: add validation of NLA_F_NESTED flag (Petr Oros) [1757776] - [net] ila: Fix rhashtable walker list corruption (Petr Oros) [1757776] - [lib] ila: make lockdep happy again (Petr Oros) [1757776] - [net] genetlink: do not validate dump requests if there is no policy (Petr Oros) [1757776] - [include] netlink: Fix nlmsg_parse as a wrapper for strict message parsing (Petr Oros) [1757776] - [net] tipc: fix missing indentation in source code (Petr Oros) [1757776] - [net] genetlink: optionally validate strictly/dumps (Petr Oros) [1757776] - [lib] netlink: add strict parsing for future attributes (Petr Oros) [1757776] - [include] netlink: re-add parse/validate functions in strict mode (Petr Oros) [1757776] - [net] netlink: make validation more configurable for future strictness (Petr Oros) [1757776] - [lib] netlink: add NLA_MIN_LEN (Petr Oros) [1757776] - [net] genetlink: make policy common to family (Petr Oros) [1757776] - [net] ila: Flush netlink command to clear xlat table (Petr Oros) [1757776] - [net] ila: Create main ila source file (Petr Oros) [1757776] - [net] ila: Call library function alloc_bucket_locks (Petr Oros) [1757776] - [net] ila: Fix use of rhashtable walk in ila_xlat.c (Petr Oros) [1757776] - [net] rtnetlink: fix rtnl_valid_stats_req() nlmsg_len check (Petr Oros) [1757750] - [net] mpls: netconf: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] mpls: route: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv6: route: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv6: addrlabel: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv6: netconf: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv6: addr: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv4: ipmr: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv4: route: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv4: netconf: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] namespace: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] rtnetlink: ifinfo: perform strict checks also for doit handler (Petr Oros) [1757750] - [net] rtnetlink: stats: reject requests for unknown stats (Petr Oros) [1757750] - [net] rtnetlink: stats: validate attributes in get as well as dumps (Petr Oros) [1757750] - [net] netlink: add helper to retrieve NETLINK_F_STRICT_CHK (Petr Oros) [1757750] - [include] linux/netlink.h: drop unnecessary extern prefix (Petr Oros) [1757750] - [net] rtnetlink: avoid frame size warning in rtnl_newlink() (Petr Oros) [1757750] - [net] rtnetlink: remove a level of indentation in rtnl_newlink() (Petr Oros) [1757750] - [net] rtnetlink: Add more extack messages to rtnl_newlink (Petr Oros) [1757750] - [net] netfilter: nf_tables: allow lookups in dynamic sets (Florian Westphal) [1759074] - [net] netfilter: nf_tables: check the result of dereferencing base_chain->stats (Florian Westphal) [1759074] - [net] revert "netfilter: nft_hash: add map lookups for hashing operations" (Florian Westphal) [1759074] - [net] netfilter: nf_tables: don't prevent event handler from device cleanup on netns exit (Florian Westphal) [1759074] - [net] netfilter: nft_ct: enable conntrack for helpers (Florian Westphal) [1759074] - [net] netfilter: conntrack: always store window size un-scaled (Florian Westphal) [1758668] - [net] netfilter: synproxy: fix rst sequence number mismatch (Florian Westphal) [1758668] - [net] netfilter: synproxy: fix erroneous tcp mss option (Florian Westphal) [1758668] - [net] netfilter: nfnetlink: avoid deadlock due to synchronous request_module (Florian Westphal) [1758668] - [net] netfilter: nf_queue: fix reinject verdict handling (Florian Westphal) [1758668] - [net] netfilter: conntrack: Use consistent ct id hash calculation (Florian Westphal) [1758668] - [net] netfilter: ctnetlink: don't use conntrack/expect object addresses as id (Florian Westphal) [1758668] - [net] netfilter: bridge: Don't sabotage nf_hook calls for an l3mdev slave (Florian Westphal) [1758668] - [net] netfilter: avoid using skb->nf_bridge directly (Florian Westphal) [1758668] - [net] netfilter: nat: can't use dst_hold on noref dst (Florian Westphal) [1758668] - [net] netfilter: bridge: Don't sabotage nf_hook calls from an l3mdev (Florian Westphal) [1758668] - [net] netfilter: conntrack: fix removal of conntrack entries when l4tracker is removed (Florian Westphal) [1758668] - [net] netfilter: xt_hashlimit: fix a possible memory leak in htable_create() (Florian Westphal) [1758668] - [net] netfilter: xt_TEE: add missing code to get interface index in checkentry. (Florian Westphal) [1758668] - [net] netfilter: xt_TEE: fix wrong interface selection (Florian Westphal) [1758668] - [net] netfilter: xtables: avoid BUG_ON (Florian Westphal) [1758668] - [net] netfilter: nat: limit port clash resolution attempts (Florian Westphal) [1758646] - [net] netfilter: nat: remove l4 protocol port rovers (Florian Westphal) [1758646] - [net] neighbour: remove stray semicolon (Ivan Vecera) [1757459] - [net] neighbor: Initialize protocol when new pneigh_entry are created (Ivan Vecera) [1757459] - [net] neighbour: register rtnl doit handler (Ivan Vecera) [1757459] - [net] neighbor: Add protocol attribute (Ivan Vecera) [1757459] - [net] neighbor: Add extack messages for add and delete commands (Ivan Vecera) [1757459] - [net] rtnetlink: address is mandatory for rtnl_fdb_get (Ivan Vecera) [1757105] - [netdrv] vxlan: support for ndo_fdb_get (Ivan Vecera) [1757105] - [net] rtnetlink: support for fdb get (Ivan Vecera) [1757105] - [net] bridge: support for ndo_fdb_get (Ivan Vecera) [1757105] - [net] ipmr: remove hard code cache_resolve_queue_len limit (Hangbin Liu) [1631022] - [net] ipv6/addrconf: allow adding multicast addr if IFA_F_MCAUTOJOIN is set (Hangbin Liu) [1740961] - [net] xfrm interface: fix management of phydev (Xin Long) [1727240] - [net] xfrm interface: fix list corruption for x-netns (Xin Long) [1727240] - [net] xfrm interface: ifname may be wrong in logs (Xin Long) [1727240] - [net] xfrm interface: avoid corruption on changelink (Xin Long) [1727240] - [net] netlink: add validation function to policy (Ivan Vecera) [1753333] - [net] netlink: add attribute range validation to policy (Ivan Vecera) [1753333] - [net] sched: police: allow accessing police->params with rtnl (Ivan Vecera) [1731416] - [net] sched: remove block pointer from common offload structure (Ivan Vecera) [1731416] - [net] nfp: flower: add qos offload install and remove functionality. (Ivan Vecera) [1731416] - [net] nfp: flower: add qos offload framework (Ivan Vecera) [1731416] - [net] sched: add block pointer to tc_cls_common_offload structure (Ivan Vecera) [1731416] - [net] sched: allow stats updates from offloaded police actions (Ivan Vecera) [1731416] - [net] sched: extend matchall offload for hardware statistics (Ivan Vecera) [1731416] - [net] sched: add police action to the hardware intermediate representation (Ivan Vecera) [1731416] - [net] sched: move police action structures to header (Ivan Vecera) [1731416] - [net] sched: remove unused functions for matchall offload (Ivan Vecera) [1731416] - [net] dsa: use intermediate representation for matchall offload (Ivan Vecera) [1731416] - [netdrv] mlxsw: use intermediate representation for matchall offload (Ivan Vecera) [1731416] - [net] tipc: disallow enabling of loopback interface bearer (Jon Maloy) [1717305] - [net] tipc: add NULL pointer check before calling kfree_rcu (Jon Maloy) [1747392] - [net] xsk: Return the whole xdp_desc from xsk_umem_consume_tx (Ivan Vecera) [1748497] - [net] devlink: add warning for ndo_get_port_parent_id set when not needed (Petr Oros) [1737133] - [net] devlink: introduce devlink_compat_switch_id_get() helper (Petr Oros) [1737133] - [net] devlink: extend port attrs for switch ID (Petr Oros) [1737133] - [net] devlink: convert devlink_port_attrs bools to bits (Petr Oros) [1737133] - [net] devlink: add warning for ndo_get_phys_port_name set when not needed (Petr Oros) [1737133] - [netdrv] nfp: move devlink port type set after netdev registration (Petr Oros) [1737133] - [netdrv] dsa: move devlink_port_attrs_set() call before register (Petr Oros) [1737133] - [netdrv] mlxsw: Move devlink_port_attrs_set() call before register (Petr Oros) [1737133] - [netdrv] bnxt: set devlink port type after registration (Petr Oros) [1737133] - [netdrv] bnxt: call devlink_port_type_eth_set() before port register (Petr Oros) [1737133] - [netdrv] bnxt: set devlink port attrs properly (Petr Oros) [1737133] - [netdrv] dsa: add missing net/devlink.h include (Petr Oros) [1737133] - [netdrv] bnxt: add missing net/devlink.h include (Petr Oros) [1737133] - [netdrv] revert "devlink: Add a generic wake_on_lan port parameter" (Petr Oros) [1737133] - [netdrv] bnxt_en: Add bnxt_en initial port params table and register it (Petr Oros) [1737133] - [netdrv] mlxsw: spectrum: Assume CONFIG_NET_DEVLINK is always enabled (Petr Oros) [1737527] - [netdrv] netdevsim: assume CONFIG_NET_DEVLINK is always enabled (Petr Oros) [1737527] - [net] devlink: introduce devlink_compat_phys_port_name_get() (Petr Oros) [1737527] - [net] replace ndo_get_devlink with ndo_get_devlink_port (Petr Oros) [1737527] - [net] devlink: select NET_DEVLINK from drivers (Petr Oros) [1737527] - [net] devlink: add port type spinlock (Petr Oros) [1737527] - [net] devlink: warn on setting type on unregistered port (Petr Oros) [1737527] - [net] devlink: disallow port_attrs_set() to be called before register (Petr Oros) [1737527] - [net] devlink: don't pass return value of __devlink_port_type_set() (Petr Oros) [1737527] - [net] devlink: don't take devlink_mutex for devlink_compat_* (Petr Oros) [1737527] - [net] devlink: add couple of missing mutex_destroy() calls (Petr Oros) [1737527] - [net] devlink: fix kdoc (Petr Oros) [1737527] - [net] devlink: require non-NULL ops for devlink instances (Petr Oros) [1737527] - [net] devlink: hold a reference to the netdevice around ethtool compat (Petr Oros) [1737527] - [net] devlink: create a special NDO for getting the devlink instance (Petr Oros) [1737527] - [net] devlink: Add WARN_ON to catch errors of not cleaning devlink objects (Petr Oros) [1737527] - [netdrv] s390/qeth: fix xmit_more support (Ivan Vecera) [1734516] - [netdrv] revert "[netdrv] gve: account for lack of netdev_xmit_more() definition (RHEL-only)" (Ivan Vecera) [1734516] - [netdrv] net/mlx5e: Fix wrong xmit_more application (Ivan Vecera) [1734516] - [include] net: use correct this_cpu primitive in dev_recursion_level (Ivan Vecera) [1734516] - [netdrv] drivers: net: aurora: use netdev_xmit_more helper (Ivan Vecera) [1734516] - [netdrv] drivers: net: sfc: use netdev_xmit_more helper (Ivan Vecera) [1734516] - [netdrv] drivers: mellanox: use netdev_xmit_more() helper (Ivan Vecera) [1734516] - [netdrv] net: move skb->xmit_more hint to softnet data (Ivan Vecera) [1734516] - [net] place xmit recursion in softnet data (Ivan Vecera) [1734516]- [netdrv] net: ena: clean up indentation issue (John Linville) [1770979] - [netdrv] net: ena: Select DIMLIB for ENA_ETHERNET (John Linville) [1770979] - [netdrv] net: ena: fix incorrect update of intr_delay_resolution (John Linville) [1770979] - [netdrv] net: ena: fix retrieval of nonadaptive interrupt moderation intervals (John Linville) [1770979] - [netdrv] net: ena: fix update of interrupt moderation register (John Linville) [1770979] - [netdrv] net: ena: remove all old adaptive rx interrupt moderation code from ena_com (John Linville) [1770979] - [netdrv] net: ena: remove ena_restore_ethtool_params() and relevant fields (John Linville) [1770979] - [netdrv] net: ena: remove old adaptive interrupt moderation code from ena_netdev (John Linville) [1770979] - [netdrv] net: ena: remove code duplication in ena_com_update_nonadaptive_moderation_interval _*() (John Linville) [1770979] - [netdrv] net: ena: enable the interrupt_moderation in driver_supported_features (John Linville) [1770979] - [netdrv] net: ena: reimplement set/get_coalesce() (John Linville) [1770979] - [netdrv] net: ena: switch to dim algorithm for rx adaptive interrupt moderation (John Linville) [1770979] - [netdrv] net: ena: add intr_moder_rx_interval to struct ena_com_dev and use it (John Linville) [1770979]- [fs] autofs: add ignore mount option (Ian Kent) [1743441] - [fs] autofs: improve ioctl sbi checks (Ian Kent) [1672133] - [crypto] crypto: ccp - Retry SEV INIT command in case of integrity check failure. (Gary Hook) [1767627] - [crypto] crypto: ccp - Verify access to device registers before initializing (Gary Hook) [1756867] - [crypto] crypto: ccp - Change a message to reflect status instead of failure (Gary Hook) [1756867] - [netdrv] ixgbevf: Bump version for RHEL 8.2.0 (Ken Cox) [1721701] - [netdrv] ixgbevf: Fix secpath usage for IPsec Tx offload (Ken Cox) [1721701] - [netdrv] ixgbevf: make array api static const, makes object smaller (Ken Cox) [1721701] - [netdrv] ixgbevf: Link lost in VM on ixgbevf when restoring from freeze or suspend (Ken Cox) [1721701] - [netdrv] ixgbevf: fix a compilation error of skb_frag_t (Ken Cox) [1721701] - [netdrv] net: Use skb accessors in network drivers (Ken Cox) [1721701] - [netdrv] ixgbevf: Use cached link state instead of re-reading the value for ethtool (Ken Cox) [1721701] - [netdrv] ixgbevf: fix possible divide by zero in ixgbevf_update_itr (Ken Cox) [1721701] - [netdrv] ixgbevf: fix a missing check of ixgbevf_write_msg_read_ack (Ken Cox) [1721701] - [infiniband] IB/hfi1: Use a common pad buffer for 9B and 16B packets (Honggang Li) [1719676] - [infiniband] IB/hfi1: Avoid excessive retry for TID RDMA READ request (Honggang Li) [1719676] - [infiniband] RDMA/hfi1: Prevent memory leak in sdma_init (Honggang Li) [1719676] - [infiniband] IB/hfi1: remove unlikely() from IS_ERR*() condition (Honggang Li) [1719676] - [infiniband] IB/hfi1: Define variables as unsigned long to fix KASAN warning (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, hfi1, qib}: Add a counter for credit waits (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add traces for TID RDMA READ (Honggang Li) [1719676] - [infiniband] infiniband: hfi1: fix memory leaks (Honggang Li) [1719676] - [infiniband] infiniband: hfi1: fix a memory leak bug (Honggang Li) [1719676] - [infiniband] IB/hfi1: Drop stale TID RDMA packets that cause TIDErr (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add additional checks when handling TID RDMA WRITE DATA packet (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add additional checks when handling TID RDMA READ RESP packet (Honggang Li) [1719676] - [infiniband] IB/hfi1: Unsafe PSN checking for TID RDMA READ Resp packet (Honggang Li) [1719676] - [infiniband] IB/hfi1: Drop stale TID RDMA packets (Honggang Li) [1719676] - [infiniband] IB/hfi1: Fix Spectre v1 vulnerability (Honggang Li) [1719676] - [infiniband] IB/hfi1: Remove unused define (Honggang Li) [1719676] - [infiniband] IB/hfi1: Do not update hcrc for a KDETH packet during fault injection (Honggang Li) [1719676] - [infiniband] IB/hfi1: Drop all TID RDMA READ RESP packets after r_next_psn (Honggang Li) [1719676] - [infiniband] IB/hfi1: Field not zero-ed when allocating TID flow memory (Honggang Li) [1719676] - [infiniband] IB/hfi1: Unreserve a flushed OPFN request (Honggang Li) [1719676] - [infiniband] IB/hfi1: Check for error on call to alloc_rsm_map_table (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Fix variable shadowing issue in rvt_create_cq (Honggang Li) [1719676] - [infiniband] RDMA/rvt: Do not use a kernel header in the ABI (Honggang Li) [1719676] - [infiniband] IB/hfi1: No need to use try_module_get for debugfs (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Add trace for map_mr_sg (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Enhance trace information for FRWR debug (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add missing INVALIDATE opcodes for trace (Honggang Li) [1719676] - [infiniband] IB/hfi1: Reduce excessive aspm inlines (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, hfi1, qib}: Add helpers to hide SWQE WR details (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, hfi1, qib}: Remove AH refcount for UD QPs (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Set QP allowed opcodes after QP allocation (Honggang Li) [1719676] - [infiniband] IB/{hfi1, qib, rdmavt}: Put qp in error state when cq is full (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Fracture single lock used for posting and processing RWQEs (Honggang Li) [1719676] - [infiniband] IB/hfi1: Move receive work queue struct into uapi directory (Honggang Li) [1719676] - [infiniband] IB/hfi1: Move rvt_cq_wc struct into uapi directory (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Add new completion inline (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, qib, hfi1}: Convert to new completion API (Honggang Li) [1719676] - [infiniband] IB/hfi1: Spelling s/statisfied/satisfied/ (Honggang Li) [1719676] - [infiniband] IB/hfi1: Handle port down properly in pio (Honggang Li) [1719676] - [infiniband] IB/hfi1: Handle wakeup of orphaned QPs for pio (Honggang Li) [1719676] - [infiniband] IB/hfi1: Wakeup QPs orphaned on wait list after flush (Honggang Li) [1719676] - [infiniband] IB/hfi1: Use aborts to trigger RC throttling (Honggang Li) [1719676] - [infiniband] IB/hfi1: Create inline to get extended headers (Honggang Li) [1719676] - [infiniband] IB/hfi1: Silence txreq allocation warnings (Honggang Li) [1719676] - [infiniband] IB/hfi1: Avoid hardlockup with flushlist_lock (Honggang Li) [1719676] - [infiniband] IB/hfi1: Correct tid qp rcd to match verbs context (Honggang Li) [1719676] - [infiniband] IB/hfi1: Close PSM sdma_progress sleep window (Honggang Li) [1719676] - [infiniband] IB/hfi1: Validate fault injection opcode user input (Honggang Li) [1719676] - [infiniband] IB/hfi1: Use struct_size() helper (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Use struct_size() helper (Honggang Li) [1719676] - [infiniband] IB/hfi1: Validate page aligned for a given virtual address (Honggang Li) [1719676] - [infiniband] IB/{qib, hfi1, rdmavt}: Correct ibv_devinfo max_mr value (Honggang Li) [1719676] - [infiniband] IB/hfi1: Insure freeze_work work_struct is canceled on shutdown (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Fix alloc_qpn() WARN_ON() (Honggang Li) [1719676] - [infiniband] IB/hfi1: Remove set but not used variables 'offset' and 'fspsn' (Honggang Li) [1719676] - [infiniband] RDMA/rdmavt: Catch use-after-free access of AH structures (Honggang Li) [1719676] - [infiniband] IB/hfi1: Remove reference to RHF.VCRCErr (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add selected Rcv counters (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, qib, hfi1}: Use new routine to release reference counts (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Use more efficient allowed_ops (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Fix ab/ba include issues (Honggang Li) [1719676] - [infiniband] IB/hfi1: Make opfn.h self sufficient (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, hfi1): Miscellaneous comment fixes (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add debugfs to control expansion ROM write protect (Honggang Li) [1719676] - [infiniband] hfi1: Convert hfi1_unit_table to XArray (Honggang Li) [1719676] - [infiniband] hfi1: Convert vesw_idr to XArray (Honggang Li) [1719676] - [infiniband] RDMA/rdmavt: Use correct sizing on buffers holding page DMA addresses (Honggang Li) [1719676] - [infiniband] IB/hfi1: Fix two format strings (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add running average for adaptive pio (Honggang Li) [1719676] - [infiniband] mm: replace all open encodings for NUMA_NO_NODE (Honggang Li) [1719676] - [infiniband] drivers/IB,hfi1: do not se mmap_sem (Honggang Li) [1719676] - [infiniband] IB/hfi1: Suppress a compiler warning (Honggang Li) [1719676] - [scsi] qla2xxx: Update driver version (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: don't use zero for FC4_PRIORITY_NVME (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: initialize fc4_type_priority (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: fix NPIV tear down process (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Remove an include directive (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix device connect issues in P2P configuration (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Improve logging for scan thread (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Capture FW dump on MPI heartbeat stop event (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Check for MB timeout while capturing ISP27/28xx FW dump (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Set remove flag for all VP (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Add error handling for PLOGI ELS passthrough (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Dual FCP-NVMe target port support (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix a dma_pool_free() call (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix memory leak when sending I/O fails (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix driver unload hang (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix SRB leak on switch command timeout (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix double scsi_done for abort path (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Do command completion on abort timeout (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Reduce the number of forward declarations (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: fixup incorrect usage of host_byte (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix partial flash write of MBI (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Remove WARN_ON_ONCE in qla2x00_status_cont_entry() (Himanshu Madhani) [1763248] - [scsi] qla2xxx: Fix conflict_port check for NULL (Himanshu Madhani) [1763248] - [netdrv] Bump version for RHEL 8.2.0 (Ken Cox) [1721700] - [netdrv] ixgbe: Fix secpath usage for IPsec TX offload. (Ken Cox) [1721700] - [netdrv] ixgbe: fix double clean of Tx descriptors with xdp (Ken Cox) [1721700] - [netdrv] ixgbe: Prevent u8 wrapping of ITR value to something less than 10us (Ken Cox) [1721700] - [netdrv] ixgbe: use skb_get_queue_mapping in tx path (Ken Cox) [1721700] - [netdrv] ixgbe: fix memory leaks (Ken Cox) [1721700] - [netdrv] ixgbe: sync the first fragment unconditionally (Ken Cox) [1721700] - [netdrv] ixgbe: Use kzfree() rather than its implementation. (Ken Cox) [1721700] - [netdrv] ixgbe: simplify Rx buffer recycle (Ken Cox) [1721700] - [netdrv] ixgbe: no need to check return value of debugfs_create functions (Ken Cox) [1721700] - [netdrv] ixgbe: fix possible deadlock in ixgbe_service_task() (Ken Cox) [1721700] - [netdrv] net: Use skb accessors in network drivers (Ken Cox) [1721700] - [netdrv] ixgbe: fix potential u32 overflow on shift (Ken Cox) [1721700] - [netdrv] ixgbe: Avoid NULL pointer dereference with VF on non-IPsec hw (Ken Cox) [1721700] - [netdrv] ixgbe: Check DDM existence in transceiver before access (Ken Cox) [1721700] - [netdrv] ixgbe: implement support for SDP/PPS output on X550 hardware (Ken Cox) [1721700] - [netdrv] ixgbe: Use LLDP ethertype define ETH_P_LLDP (Ken Cox) [1721700] - [netdrv] ixgbe: add a kernel documentation comment for ixgbe_ptp_get_ts_config (Ken Cox) [1721700] - [netdrv] ixgbe: use 'cc' instead of 'hw_cc' for local variable (Ken Cox) [1721700] - [netdrv] ixgbe: fix PTP SDP pin setup on X540 hardware (Ken Cox) [1721700] - [netdrv] ixgbe: reduce PTP Tx timestamp timeout to 1 second (Ken Cox) [1721700] - [netdrv] ixgbe: fix AF_XDP tx packet count (Ken Cox) [1721700] - [netdrv] ixgbe: fix AF_XDP tx byte count (Ken Cox) [1721700] - [netdrv] ixgbe: remove umem from adapter (Ken Cox) [1721700] - [netdrv] ixgbe: add tracking of AF_XDP zero-copy state for each queue pair (Ken Cox) [1721700] - [netdrv] ixgbe: fix mdio bus registration (Ken Cox) [1721700] - [netdrv] nfp: bpf: implement jitting of JMP32 (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: support removing dead code (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: support optimizing dead branches (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: save original program length (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: split up the skip flag (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: don't use instruction number for jump target (Pablo Cascon) [1729067] - [scsi] scsi: target: iscsi: rename some variables to avoid confusion. (Maurizio Lombardi) [1769801] - [scsi] scsi: target: iscsi: tie the challenge length to the hash digest size (Maurizio Lombardi) [1769801] - [scsi] scsi: target: iscsi: CHAP: add support for SHA1, SHA256 and SHA3-256 (Maurizio Lombardi) [1769801] - [scsi] scsi: target: compare full CHAP_A Algorithm strings (Maurizio Lombardi) [1769801] - [arm64] arm64: topology: Use PPTT to determine if PE is a thread (Jeremy Linton) [1721297] - [acpi] ACPI/PPTT: Add support for ACPI 6.3 thread flag (Jeremy Linton) [1721297] - [acpi] ACPI / LPSS: Save/restore LPSS private registers also on Lynxpoint (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [documentation] docs: fix numaperf.rst and add it to the doc tree (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Rename arm_smmu_v3_set_proximity() 'node' local variable (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [misc] h8300: pci: Remove local declaration of pcibios_penalize_isa_irq (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [mm] mmc: sdhci-acpi: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [ata] ata: pata_acpi: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [gpu] vga-switcheroo: make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [platform] platform/x86: intel_ips: make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [platform] platform/x86: intel_pmc: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [platform] platform/x86: apple-gmux: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [x86] x86/intel/lpss: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [x86] x86/Kconfig: Select PCI_LOCKLESS_CONFIG if PCI is enabled (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [mfd] mfd: Fix unmet dependency warning for MFD_TPS68470 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] drivers/acpi/scan.c: document why we don't need the device_hotplug_lock (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Fix regression in acpi_device_set_power() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Fix off-by-one check in iort_dev_find_its_id() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: video: Add new hw_changes_brightness quirk, set it on PB Easynote MZ35 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: blacklist: fix clang warning for unused DMI table (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] Revert "ACPICA: Update table load object initialization" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Make acpi_sleep_state_supported() non-static (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Remove needless __ghes_check_estatus() calls (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Unexport acpi_device_get_power() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] PCI / ACPI: Use cached ACPI device state to get PCI device power state (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190703 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update table load object initialization (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update for object initialization sequence (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: remove legacy module-level code due to deprecation (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Namespace: simplify creation of the initial/default namespace (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: intel: Drop double removal of address space handler (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: APD: remove redundant assignment to pointer clk (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Introduce "poweroff" callbacks for ACPI PM domain and LPSS (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Simplify and fix PM domain hibernation callbacks (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] PM: ACPI/PCI: Resume all devices during hibernation (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] PCI: PM/ACPI: Refresh all stale power state data in pci_pm_complete() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/PPTT: Add function to return ACPI 6.3 Identical tokens (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/PPTT: Modify node flag detection to find last IDENTICAL (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PM: Introduce concept of a _PR0 dependent device (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Allow transitions to D0 to occur in special cases (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Avoid evaluating _PS3 on transitions from D3hot to D3cold (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi: utils: Cleanup acpi_dev_match_cb (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Make AC and battery drivers available on !X86 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] coresight: acpi: Support for AMBA components (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Clear status of GPEs on first direct enable (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: configfs: Resolve objects on host-directed table loads (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: tables: Allow BGRT to be overridden (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / sleep: Switch to use acpi_dev_get_first_match_dev() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [include] gpio: merrifield: Fix build err without CONFIG_ACPI (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: OSL: Make a W=1 kernel-doc warning go away (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / property: Don't limit named child node matching to data nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPIT: Correct LPIT end address for lpit_process() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/irq: Implement helper to create hierachical domains (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [drivers] node: Add memory-side caching attributes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [drivers] node: Add heterogenous memory access attributes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [drivers] node: Link memory nodes to their compute nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [documentation] doc/mm: New documentation for memory performance (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Call pm_set_suspend_via_firmware() during hibernation (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/PCI: PM: Add missing wakeup.flags.valid checks (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Fix build error when IOMMU_SUPPORT is disabled (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Set enable_for_wake for wakeup GPEs during suspend-to-idle (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190509 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Linux: move ACPI_DEBUG_DEFAULT flag out of ifndef (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: bus: change _ADR representation to 64 bits (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / property: fix handling of data_nodes in acpi_get_next_subnode() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: fix an uninitialized memory_target (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Update acpi_hmat_type enum with ACPI_HMAT_TYPE_PROXIMITY (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: fix memory leaks in hmat_init() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Check ATS capability in root complex nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / DPTF: Use dev_get_drvdata() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: event: replace strcpy() by strscpy() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Use acpi_lpss_* instead of acpi_subsys_* functions for hibernate (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Reject platform device creation on NUMA node mapping failure (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: button: reinitialize button state upon resume (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190405 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Namespace: add check to avoid null pointer dereference (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190329 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: utilities: fix spelling of PCC to platform_comm_channel (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Rename nameseg length macro/define for clarity (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Rename nameseg compare macro for clarity (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Rename nameseg copy macro for clarity (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Print debug messages when enabling GPEs for wakeup (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Register memory side cache attributes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Register performance attributes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Register processor domain to its memory (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Parse and report heterogeneous memory (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi: Add HMAT to generic parsing tables (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi: Create subtable parsing infrastructure (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [arm64] arm64: numa: rework ACPI NUMA initialization (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Add support for PMCG (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: video: Use vendor backlight on Sony VPCEH3U1E (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / utils: Remove deprecated function since no user left (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / tables: Clean up whitespace (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Add labels for PNP button devices (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Simplify acpi_bus_extract_wakeup_device_power_package() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Fix comment typos (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] Revert "ACPICA: Clear status of GPEs before enabling them" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Namespace: remove address node from global list after method termination (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Clear status of GPEs before enabling them (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: use different default debug value than ACPICA (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / utils: Drop reference in test for device presence (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: sysfs: Prevent get_status() from returning acpi_status (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / device_sysfs: Avoid OF modalias creation for removed device (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / configfs: Mark local data structures static (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / configfs: Mark local functions static (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: tables: Simplify PPTT leaf node detection (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / bus: Respect PRP0001 when retrieving device match data (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190215 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/ACPICA: Trivial: fix spelling mistakes and fix whitespace formatting (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: add GTDT Revision 3 support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: HMAT updates (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: PPTT add additional fields in Processor Structure Flags (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: add Error Disconnect Recover Notification value (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: MADT: add support for statistical profiling in GICC (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: add PCC operation region support for AML interpreter (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [clk] clk: x86: Move clk-lpss.h to platform_data/x86 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: APEI: Fix possible out-of-bounds access to BERT region (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / processor: Set P_LVL{2, 3sc] } idle state descriptions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / CPPC: Add a helper to get desired performance (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: SRAT: add Generic Affinity Structure subtable (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: Add Trigger order to PCC Identifier structure in PDTT (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: Adding predefined methods _NBS, _NCH, _NIC, _NIH, and _NIG (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update/clarify messages for control method failures (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Debugger: Fix possible fault with the "test objects" command (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Interpreter: Emit warning for creation of a zero-length op region (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Remove legacy module-level code support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / x86: Make PWM2 device always present at Lenovo Yoga Book (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / video: Extend chassis-type detection with a "Lunch Box" check (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / video: Refactor and fix dmi_is_desktop() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Add support for the SDEI GHES Notification type (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [firmware] firmware: arm_sdei: Add ACPI GHES registration helper (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/PPTT: Add acpi_pptt_warn_missing() to consolidate logs (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Use separate fixmap pages for arm64 NMI-like notifications (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Only use queued estatus entry during in_nmi_queue_one_entry() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Split ghes_read_estatus() to allow a peek at the CPER length (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Make GHES estatus header validation more user friendly (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Pass ghes and estatus separately to avoid a later copy (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Let the notification helper specify the fixmap slot (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Move locking to the notification helper (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Switch NOTIFY_SEA to use the estatus queue (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Move NOTIFY_SEA between the estatus-queue and NOTIFY_NMI (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Don't allow ghes_ack_error() to mask earlier errors (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Generalise the estatus queue's notify code (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Don't update struct ghes' flags in read/clear estatus (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Remove spurious GHES_TO_CLEAR check (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Don't store CPER records physical address in struct ghes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Make estatus pool allocation a static size (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Make hest.c manage the estatus memory pool (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Switch estatus pool to use vmalloc memory (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Remove silent flag from ghes_read_estatus() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Don't wait to serialise with oops messages when panic()ing (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Set debug output flags independent of ACPICA (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Get rid of acpi_sleep_dispatch() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Create platform device for BSG2150 ACPI nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] Revert "ACPI / EC: Remove old CLEAR_ON_RESUME quirk" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Simplify boot EC checks in acpi_ec_add() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Eliminate acpi_config_boot_ec() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Make acpi_ec_dsdt_probe() more straightforward (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Make acpi_ec_ecdt_probe() more straightforward (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Declare boot_ec as static (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / DPTF: remove header search path to the parent directory (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Clean up probing for early EC (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: debug: Clean up acpi_aml_init() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: no need to check return value of debugfs_create functions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Look for ECDT EC after calling acpi_load_tables() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190108 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: All acpica: Update copyrights to 2019 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: acpiexec: Add option to dump extra info for memory leaks (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Convert more ACPI errors to firmware errors (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: APEI: EINJ: Use DEFINE_DEBUGFS_ATTRIBUTE for debugfs files (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Fix parsing HEST that includes Deferred Machine Check subtable (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / tables: table override from built-in initrd (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] APEI / ERST: Switch to use new generic UUID API (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: Add generic intel_soc_pmic_exec_mipi_pmic_seq_element handling (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: Implement exec_mipi_pmic_seq_element for CHT Whiskey Cove PMIC (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Fix build when CONFIG_IOMMU_API=n (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: xpower: Fix TS-pin current-source handling (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: NUMA: Use correct type for printing addresses on i386-PAE (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: power: Skip duplicate power resource references in _PRx (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Fix build failure when CONFIG_NLS is set to 'n' (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / tables: Add an ifdef around amlcode and dsdt_amlcode (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Make PCI slot detection driver depend on PCI (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Stub out ACS functions when CONFIG_PCI is not set (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / OSI: Add OEM _OSI string to enable dGPU direct output (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Loop in full LPS0 mode only (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC / PM: Disable non-wakeup GPEs for suspend-to-idle (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Don't call iommu_ops->add_device directly (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Use device_iommu_mapped() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Use helper functions to access dev->iommu_fwspec (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [include] driver core: Introduce device_iommu_mapped() function (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [iommu] iommu/sysfs: Rename iommu_release_device() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [iommu] iommu: Consolitate ->add/remove_device() calls (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [iommu] iommu: Introduce wrappers around dev->iommu_fwspec (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / tables: add DSDT AmlCode new declaration name support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20181213 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: change coding style to match ACPICA, no functional change (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Debug output: Add option to display method/object evaluation (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: disassembler: disassemble OEMx tables as AML (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Add "Windows 2018.2" string in the _OSI support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Expressions in package elements are not supported (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update buffer-to-string conversions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: add comments, no functional change (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Remove defines that use deprecated flag (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Add "Windows 2018" string in the _OSI support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [pci] PCI: Remove unused attr variable in pci_dma_configure (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Refactor _CCA enforcement (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Ignore acpi_device_fix_up_power() return value (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI, APEI, EINJ: Change to use DEFINE_SHOW_ATTRIBUTE macro (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Create platform device for INT3515 ACPI nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Fix iort_get_platform_device_domain() uninitialized pointer value (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: SPCR: Consider baud rate 0 as preconfigured state (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / glue: Add acpi_platform_notify() function (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [drivers] drivers core: Prepare support for multiple platform notifications (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / platform: Add SMB0001 HID to forbidden_id_list (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Fix handling of buffer-size in acpi_ex_write_data_to_field() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20181031 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: iASL: Enhance error detection (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: iASL: adding definition and disassembly for TPM2 revision 3 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Debugger: refactor to fix unused variable warning (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: xpower: fix IOSF_MBI dependency (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: xpower: Add depends on IOSF_MBI to Kconfig entry (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: xpower: Block P-Unit I2C access during read-modify-write (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [include] PM / Domains: Document flags for genpd (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Create platform device for INT33FE ACPI nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / OSL: Use 'jiffies' as the time bassis for acpi_os_get_timer() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: probe ECDT before loading AML tables regardless of module-level code flag (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Remove acpi_gbl_group_module_level_code and only use acpi_gbl_execute_tables_as_methods instead (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: AML Parser: fix parse loop to correctly skip erroneous extended opcodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: AML interpreter: add region addresses in global list during initialization (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: TAD: Add low-level support for real time capability (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PM: Export acpi_device_get_power() for use by modular build drivers (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: remove redundant 'default n' from Kconfig (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / SBS: Fix rare oops when removing modules (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / SBS: Fix GPE storm on recent MacBookPro's (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20181003 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Never run _REG on system_memory and system_IO (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Split large interpreter file (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update for field unit access (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Rename some of the Field Attribute defines (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update for generic_serial_bus and attrib_raw_process_bytes protocol (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / processor: Fix the return value of acpi_processor_ids_walk() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Resume BYT/CHT I2C controllers from resume_noirq (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Add a device link from the GPU to the BYT I2C5 controller (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Add a device link from the GPU to the CHT I2C7 controller (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Make acpi_lpss_find_device() also find PCI devices (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Make hid_uid_match helper accept a NULL uid argument (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Make hid_uid_match helper take an acpi_device as first argument (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi:ipmi: Convert ipmi_user_t to struct ipmi_user 0001-x86-smp-fix-non-SMP-broken-build-due-to-redefinition.patch brew_job bzlist bzlist-v2 run.sh testing_desc v4-notes v5-notes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Exclude I2C busses shared with PUNIT from pmc_atom_d3_mask (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: Convert drivers to use SPDX identifier (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: Sort headers alphabetically (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / property: Switch to bitmap_zalloc() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: custom_method: remove meaningless null check before debugfs_remove() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Force LPSS quirks on boot (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / bus: Only call dmi_check_system() on X86 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: fix menuconfig presentation of ACPI submenu (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] xen/ACPI: don't upload Px/Cx data for disabled processors (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [x86] x86/smp: fix non-SMP broken build due to redefinition of apic_id_is_primary_thread (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: CrystalCove: Extend PMOP support to support all possible fields (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Clear status of all events when entering sleep states (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20180810 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: acpiexec: fix a small memory leak regression (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Reference count: add additional debugging details (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: acpi_exec: fixing -fi option (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Debugger: Cleanup interface to the AML disassembler (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Utilities: split hex detection into smaller functions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update an error message for a duplicate table (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [platform] platform/x86: Add ACPI i2c-multi-instantiate pseudo driver (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [kernel] PM / reboot: Eliminate race between reboot and suspend (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / x86: utils: Remove status workaround from acpi_device_always_present() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Create platform device for fwnodes with multiple i2c devices (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Initialize status to ACPI_STA_DEFAULT (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / EC: Add another entry for Thinkpad X1 Carbon 6th (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: bus: Fix a pointer coding style issue (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] arm64 / ACPI: clean the additional checks before calling ghes_notify_sea() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Add static attribute to indirect_io_hosts[] (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: Do not export energy_full[_design] on devices without full_charge_capacity (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / EC: Use ec_no_wakeup on ThinkPad X1 Yoga 3rd (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: get rid of negations in conditions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: use specialized print macros (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: reorder headers alphabetically (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: drop inclusion of init.h (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: battery: remove redundant old_present check on insertion (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: property: Use data node name and reg property for graphs (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: property: Allow direct graph endpoint references (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: property: Make the ACPI graph API private (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: property: Allow making references to non-device nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Convert ACPI reference args to generic fwnode reference args (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / OSI: Add OEM _OSI string to enable NVidia HDMI audio (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] Revert "ACPI / bus: Parse tables as term_list for Dell XPS 9570 and Precision M5530" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PM: save NVS memory for ASUS 1025C laptop (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / button: fix defined but not used warning (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20180629 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Revert "iASL compiler: allow compilation of externals with paths that refer to existing names" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Revert "iASL: change processing of external op namespace nodes for correctness" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / x86: enable touchscreen on Dell Venue Pro 7139 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PM: Default to s2idle in all machines supporting LP S0 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / button: increment wakeup count only when notified (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [powerpc] powerpc/papr_scm: Fix an off-by-one check in papr_scm_meta_{get, set} (Gustavo Duarte) [1731035] - [nvdimm] libnvdimm/altmap: Track namespace boundaries in altmap (Gustavo Duarte) [1731035] - [powerpc] powerpc/nvdimm: Pick nearby online node if the device node is not online (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Force a scm-unbind if initial scm-bind fails (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Update drc_pmem_unbind() to use H_SCM_UNBIND_ALL (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries: Update SCM hcall op-codes in hvcall.h (Gustavo Duarte) [1731035] - [mm] mm/nvdimm: add is_ioremap_addr and use that to check ioremap address (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries/scm: Use a specific endian format for storing uuid from the device tree (Gustavo Duarte) [1731035] - [powerpc] powerpc/nvdimm: Add support for multibyte read/write for metadata (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries/scm: Mark the region volatile if cache flush not required (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm/nvdimm: Add an informative message if we fail to allocate altmap block (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm: Consolidate numa_enable check and min_common_depth check (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm: Fix node look up with numa=off boot (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm/drconf: Use NUMA_NO_NODE on failures instead of node 0 (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm/radix: Use the right page size for vmemmap mapping (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm/hash/4k: Don't use 64K page size for vmemmap with 4K pagesize (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Use the correct bind address (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm: Fallback to RAM if the altmap is unusable (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Use ibm, unit-guid as the iset cookie (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Fix DIMM device registration race (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Remove endian conversions (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Update DT properties (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Fix resource end address (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Use depend instead of select (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries: Add driver for PAPR SCM regions (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries: PAPR persistent memory support (Gustavo Duarte) [1731035] - [mm] mm, vmstat: reduce zone->lock holding time by /proc/pagetypeinfo (Waiman Long) [1770314] - [mm] mm, vmstat: hide /proc/pagetypeinfo from normal users (Waiman Long) [1770314] - [crypto] crypto: chtls - remove cdev_list_lock (Neil Horman) [1737078] - [crypto] crypto/chelsio/chtls: listen fails with multiadapt (Neil Horman) [1737078] - [tools] cpupower : Handle set and info subcommands correctly (Steve Best) [1769973] - [s390] s390/qeth: use IQD Multi-Write (Philipp Rudo) [1731028] - [s390] s390/qdio: implement IQD Multi-Write (Philipp Rudo) [1731028] - [s390] s390/qeth: add xmit_more support for IQD devices (Philipp Rudo) [1731028] - [s390] s390/qeth: add BQL support for IQD devices (Philipp Rudo) [1731028] - [s390] s390/qeth: when in TX NAPI mode, use napi_consume_skb() (Philipp Rudo) [1731028] - [s390] s390/qeth: add TX NAPI support for IQD devices (Philipp Rudo) [1731028] - [s390] s390/qeth: collect accurate TX statistics (Philipp Rudo) [1731028] - [s390] s390/qdio: let drivers opt-out from Output Queue scanning (Philipp Rudo) [1731028] - [s390] s390/qdio: enable drivers to poll for Output completions (Philipp Rudo) [1731028] - [usb] xhci-pci: allow host runtime PM as default for Intel Alpine and Titan Ridge (Myron Stowe) [1769877] - [x86] x86/atomic: Fix smp_mb__{before,after}_atomic() (Prarit Bhargava) [1769789] - [kernel] stacktrace: Don't skip first entry on noncurrent tasks (Waiman Long) [1766681] - [kernel] tracing: Fix user stack trace "??" output (Waiman Long) [1766681] - [kernel] tracing: Fix out-of-range read in trace_stack_print() (Waiman Long) [1766681] - [kernel] stacktrace: Constify 'entries' arguments (Waiman Long) [1766681] - [kernel] stacktrace: Force USER_DS for stack_trace_save_user() (Waiman Long) [1766681] - [x86] x86/stacktrace: Prevent infinite loop in arch_stack_walk_user() (Waiman Long) [1766681] - [kernel] stacktrace: Use PF_KTHREAD to check for kernel threads (Waiman Long) [1766681] - [kernel] stacktrace: Unbreak stack_trace_save_tsk_reliable() (Waiman Long) [1766681] - [x86] x86/stacktrace: Use common infrastructure (Waiman Long) [1766681] - [kernel] stacktrace: Keep stack_trace structure and remove snprint_stack_trace() (Waiman Long) [1766681] - [kernel] stacktrace: Provide common infrastructure (Waiman Long) [1766681] - [kernel] livepatch: Simplify stack trace retrieval (Waiman Long) [1766681] - [kernel] tracing: Remove the last struct stack_trace usage (Waiman Long) [1766681] - [kernel] tracing: Simplify stack trace retrieval (Waiman Long) [1766681] - [kernel] tracing: Make ftrace_trace_userstack() static and conditional (Waiman Long) [1766681] - [kernel] tracing: Use percpu stack trace buffer more intelligently (Waiman Long) [1766681] - [kernel] tracing: Simplify stacktrace retrieval in histograms (Waiman Long) [1766681] - [kernel] lockdep: Remove save argument from check_prev_add() (Waiman Long) [1766681] - [kernel] lockdep: Remove unused trace argument from print_circular_bug() (Waiman Long) [1766681] - [drm] drm: Simplify stacktrace handling (Waiman Long) [1766681] - [md] dm persistent data: Simplify stack trace handling (Waiman Long) [1766681] - [md] dm bufio: Simplify stack trace retrieval (Waiman Long) [1766681] - [fs] btrfs: ref-verify: Simplify stack trace retrieval (Waiman Long) [1766681] - [kernel] dma/debug: Simplify stracktrace retrieval (Waiman Long) [1766681] - [lib] fault-inject: Simplify stacktrace retrieval (Waiman Long) [1766681] - [mm] mm/page_owner: Simplify stack trace handling (Waiman Long) [1766681] - [mm] mm/kmemleak: Simplify stacktrace handling (Waiman Long) [1766681] - [mm] mm/slub: Simplify stack trace retrieval (Waiman Long) [1766681] - [kernel] latency_top: Simplify stack trace handling (Waiman Long) [1766681] - [fs] proc: Simplify task stack retrieval (Waiman Long) [1766681] - [kernel] backtrace-test: Simplify stack trace handling (Waiman Long) [1766681] - [lib] lib/stackdepot: Provide functions which operate on plain storage arrays (Waiman Long) [1766681] - [kernel] stacktrace: Provide helpers for common stack trace operations (Waiman Long) [1766681] - [kernel] tracing: Cleanup stack trace code (Waiman Long) [1766681] - [kernel] tracing: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [drm] drm: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [kernel] latency_top: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [mm] mm/kasan: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [mm] mm/page_owner: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [mm] mm/slub: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [kernel] lockdep: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [kernel] s390/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] parisc/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] arm64/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] riscv/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] unicore32/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] sh/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] arm/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] [x86] x86/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] um/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [mm] mm/page_owner: clamp read count to PAGE_SIZE (Waiman Long) [1766681] - [kernel] tracing: Export trace_dump_stack to modules (Waiman Long) [1766681] - [kernel] tracing: Have stack tracer trace full stack (Waiman Long) [1766681] - [kernel] trace: Use rcu_dereference_raw for hooks from trace-event subsystem (Waiman Long) [1766681] - [kernel] tracing: Have trace_stack nr_entries compare not be so subtle (Waiman Long) [1766681] - [cpuidle] cpuidle: governor: Add new governors to cpuidle_governors again (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: do not set an owner to allow modunload (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: set haltpoll as preferred governor (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: allow governor switch on cpuidle_register_driver() (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: Add cpuidle.governor= command line parameter (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: vcpu hotplug support (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: disable host side polling when kvm virtualized (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: add haltpoll governor (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: header file stubs must be "static inline" (Marcelo Tosatti) [1759282] - [cpuidle] governors: unify last_state_idx (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: add poll_limit_ns to cpuidle_device structure (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: poll_state: Fix default time limit (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: poll_state: Disregard disable idle states (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: poll_state: Revise loop termination condition (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: menu: Fix wakeup statistics updates for polling state (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: return -ENODEV on modinit failure (Marcelo Tosatti) [1759282] - [cpuidle] add cpuidle-haltpoll driver (Marcelo Tosatti) [1759282] - [mm] mem-hotplug: fix node spanned pages when we have a node with only ZONE_MOVABLE (Baoquan He) [1756210] - [x86] x86, efi: never relocate kernel below lowest acceptable address (Kairui Song) [1747367] - [fs] CIFS: Force reval dentry if LOOKUP_REVAL flag is set (Dave Wysochanski) [1767664] - [fs] CIFS: Force revalidate inode when dentry is stale (Dave Wysochanski) [1767664] - [fs] CIFS: Gracefully handle QueryInfo errors during open (Dave Wysochanski) [1767664] - [block] blk-mq: make sure that line break can be printed (Ming Lei) [1741462] - [block] blk-mq: avoid sysfs buffer overflow with too many CPU cores (Ming Lei) [1741462] - [netdrv] bnx2x: Fix VF's VLAN reconfiguration in reload. (Manish Chopra) [1720393] - [netdrv] bnx2x: Prevent ptp_task to be rescheduled indefinitely (Manish Chopra) [1720393] - [netdrv] bnx2x: Check if transceiver implements DDM before access (Manish Chopra) [1720393] - [fs] xfs: allocate xattr buffer on demand (Eric Sandeen) [1684599] - [fs] xfs: consolidate attribute value copying (Eric Sandeen) [1684599] - [fs] xfs: move remote attr retrieval into xfs_attr3_leaf_getvalue (Eric Sandeen) [1684599] - [fs] xfs: remove unnecessary indenting from xfs_attr3_leaf_getvalue (Eric Sandeen) [1684599] - [fs] xfs: make attr lookup returns consistent (Eric Sandeen) [1684599] - [i2c] i2c: i801: Add support for Intel Comet Lake (David Arcari) [1761547] - [powerpc] powerpc/xmon: Improve output of XIVE interrupts (Diego Domingos) [1731130] - [powerpc] powerpc/xmon: Fix output of XIVE IPI (Diego Domingos) [1731130] - [powerpc] powerpc/xmon: Add a dump of all XIVE interrupts (Diego Domingos) [1731130] - [powerpc] powerpc/xive: Fix dump of XIVE interrupt under pseries (Diego Domingos) [1731130] - [powerpc] powerpc/xmon: Check for HV mode when dumping XIVE info from OPAL (Diego Domingos) [1731130] - [fs] xfs: convert inode to extent format after extent merge due to shift (Brian Foster) [1745253] - [mmc] mmc: sdhci-pci: Add support for Intel CML (Alexander Beregalov) [1761593] - [powerpc] powerpc/mm/mce: Keep irqs disabled during lockless page table walk (Gustavo Duarte) [1524649] - [tools] seltests/powerpc: Add a selftest for memcpy_mcsafe (Gustavo Duarte) [1524649] - [powerpc] powerpc/memcpy: Fix stack corruption for smaller sizes (Gustavo Duarte) [1524649] - [powerpc] powerpc: add machine check safe copy_to_user (Gustavo Duarte) [1524649] - [powerpc] powerpc/memcpy: Add memcpy_mcsafe for pmem (Gustavo Duarte) [1524649] - [powerpc] powerpc/mce: Handle UE event for memcpy_mcsafe (Gustavo Duarte) [1524649] - [kernel] extable: Add function to search only kernel exception table (Gustavo Duarte) [1524649] - [powerpc] powerpc/mce: Make machine_check_ue_event() static (Gustavo Duarte) [1524649] - [powerpc] powerpc/mce: Fix MCE handling for huge pages (Gustavo Duarte) [1524649] - [powerpc] powerpc/mce: Schedule work from irq_work (Gustavo Duarte) [1524649] - [x86] x86/boot/64: Round memory hole size up to next PMD page (Frank Ramsay) [1755602] - [x86] x86/boot/64: Make level2_kernel_pgt pages invalid outside kernel area (Frank Ramsay) [1755602] - [idle] intel_idle: add support for Jacobsville (Steve Best) [1481744] - [powercap] powercap/intel_rapl: add support for ICX (Steve Best) [1724421] - [block] blk-mq: apply normal plugging for HDD (Ming Lei) [1759380] - [block] blk-mq: honor IO scheduler for multiqueue devices (Ming Lei) [1759380] - [block] blk-mq: simplify blk_mq_make_request() (Ming Lei) [1759380] - [block] blk-mq: remove blk_mq_put_ctx() (Ming Lei) [1759380] - [nvdimm] libnvdimm: Enable unit test infrastructure compile checks (Jeff Moyer) [1724965] - [nvdimm] libnvdimm: Use PAGE_SIZE instead of SZ_4K for align check (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/label: Remove the dpa align check (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pfn_dev: Add page size and struct page size to pfn superblock (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pfn_dev: Add a build check to make sure we notice when struct page size change (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pmem: Advance namespace seed for specific probe errors (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/region: Rewrite _probe_success() to _advance_seeds() (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/security: Consolidate 'security' operations (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/security: Tighten scope of nvdimm->busy vs security operations (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/security: Introduce a 'frozen' attribute (Jeff Moyer) [1724965] - [nvdimm] libnvdimm, region: Use struct_size() in kzalloc() (Jeff Moyer) [1724965] - [tools] tools/testing/nvdimm: Fix fallthrough warning (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/of_pmem: Provide a unique name for bus provider (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/bus: Fix wait_nvdimm_bus_probe_idle() ABBA deadlock (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/bus: Stop holding nvdimm_bus_list_mutex over __nd_ioctl() (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/bus: Prepare the nd_ioctl() path to be re-entrant (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/region: Register badblocks before namespaces (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/bus: Prevent duplicate device_unregister() calls (Jeff Moyer) [1724965] - [drivers] drivers/base: Introduce kill_device() (Jeff Moyer) [1724965] - [nvdimm] libnvdimm, namespace: Drop uuid_t implementation detail (Jeff Moyer) [1724965] - [dax] device-dax: Add a 'resource' attribute (Jeff Moyer) [1724965] - [dax] device-dax: Drop register_filesystem() (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pmem: Bypass CONFIG_HARDENED_USERCOPY overhead (Jeff Moyer) [1724965] - [nvdimm] libnvdimm: Fix compilation warnings with W=1 (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/namespace: Fix label tracking error (Jeff Moyer) [1724965] - [dax] device-dax: Add a 'modalias' attribute to DAX 'bus' devices (Jeff Moyer) [1724965] - [dax] device-dax: Add a 'target_node' attribute (Jeff Moyer) [1724965] - [dax] device-dax: Auto-bind device after successful new_id (Jeff Moyer) [1724965] - [dax] acpi/nfit, device-dax: Identify differentiated memory with a unique numa-node (Jeff Moyer) [1724965] - [dax] device-dax: Add /sys/class/dax backwards compatibility (Jeff Moyer) [1724965] - [dax] device-dax: Add support for a dax override driver (Jeff Moyer) [1724965] - [dax] device-dax: Move resource pinning+mapping into the common driver (Jeff Moyer) [1724965] - [dax] device-dax: Introduce bus + driver model (Jeff Moyer) [1724965] - [dax] device-dax: Start defining a dax bus model (Jeff Moyer) [1724965] - [dax] device-dax: Remove multi-resource infrastructure (Jeff Moyer) [1724965] - [dax] device-dax: Kill dax_region base (Jeff Moyer) [1724965] - [dax] device-dax: Kill dax_region ida (Jeff Moyer) [1724965] - [kernel] memremap: Convert to XArray (Jeff Moyer) [1724965] - [drivers] drivers/dax/device.c: convert variable to vm_fault_t type (Jeff Moyer) [1724965] - [drivers] driver core: Rewrite test_async_driver_probe to cover serialization and NUMA affinity (Jeff Moyer) [1724965] - [drivers] libnvdimm: Schedule device registration on node local to the device (Jeff Moyer) [1724965] - [drivers] PM core: Use new async_schedule_dev command (Jeff Moyer) [1724965] - [drivers] driver core: Attach devices on CPU local to device node (Jeff Moyer) [1724965] - [kernel] async: Add support for queueing on specific NUMA node (Jeff Moyer) [1724965] - [kernel] workqueue: Provide queue_work_node to queue work near a given NUMA node (Jeff Moyer) [1724965] - [drivers] driver core: Probe devices asynchronously instead of the driver (Jeff Moyer) [1724965] - [drivers] device core: Consolidate locking and unlocking of parent and device (Jeff Moyer) [1724965] - [drivers] driver core: Establish order of operations for device_add and device_del via bitflag (Jeff Moyer) [1724965] - [drivers] driver core: Add missing dev->bus->need_parent_lock checks (Jeff Moyer) [1724965] - [drivers] driver core: Move async_synchronize_full call (Jeff Moyer) [1724965]- [scsi] scsi: qedi: update driver version to 8.37.0.20 (Nilesh Javali) [1724588] - [scsi] scsi: qedi: Check targetname while finding boot target information (Nilesh Javali) [1724588] - [scsi] scsi: qedi: remove set but not used variables 'cdev' and 'udev' (Nilesh Javali) [1724588] - [scsi] scsi: qedi: remove memset/memcpy to nfunc and use func instead (Nilesh Javali) [1724588] - [scsi] qedi: Use hwfns and affin_hwfn_idx to get MSI-X vector index (Nilesh Javali) [1724588] - [scsi] scsi: qedf: Update the version to 8.42.3.0 (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Fix race betwen fipvlan request and response path (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Use discovery list to traverse rports (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Decrease the LL2 MTU size to 2500 (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Check for module unloading bit before processing link update AEN (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Initiator fails to re-login to switch after link down (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Add debug information for unsolicited processing (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Add support for 20 Gbps speed (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Interpret supported caps value correctly (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Add shutdown callback handler (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Update module description string (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Fix crash during sg_reset (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Stop sending fipvlan request on unload (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Print message during bailout conditions (Nilesh Javali) [1724589] - [scsi] qedf: Use hwfns and affin_hwfn_idx to get MSI-X vector index to use (Nilesh Javali) [1724589] - [scsi] scsi: bnx2fc: Handle scope bits when array returns BUSY or TSF (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: remove set but not used variables 'task', 'port', 'orig_task' (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: remove set but not used variables 'lport', 'host' (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: remove set but not used variable 'fh' (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: fix bnx2fc_cmd refcount imbalance in send_srr (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: fix bnx2fc_cmd refcount imbalance in send_rec (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Update the driver version to 2.12.10 (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Limit the IO size according to the FW capability (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Do not allow both a cleanup completion and abort completion for the same request (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Separate out completion flags and variables for abort and cleanup (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Only put reference to io_req in bnx2fc_abts_cleanup if cleanup times out (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Redo setting source FCoE MAC (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: fix incorrect cast to u64 on shift operation (Nilesh Javali) [1724598] - [netdrv] qed: Fix build error without CONFIG_DEVLINK (Manish Chopra) [1720392] - [netdrv] RDMA/qedr: Fix the hca_type and hca_rev returned in device attributes (Manish Chopra) [1720392] - [netdrv] qede: qede_fp: simplify a bit 'qede_rx_build_skb()' (Manish Chopra) [1720392] - [netdrv] qede: Make two functions static (Manish Chopra) [1720392] - [netdrv] qede: Handle infinite driver spinning for Tx timestamp. (Manish Chopra) [1720392] - [netdrv] qed: fix spelling mistake "fullill" -> "fulfill" (Manish Chopra) [1720392] - [netdrv] qed: Fix Config attribute frame format. (Manish Chopra) [1720392] - [netdrv] qed*: Fix size of config attribute dump. (Manish Chopra) [1720392] - [netdrv] net: qed: Move static keyword to the front of declaration (Manish Chopra) [1720392] - [netdrv] qede: Add support for dumping the grc data. (Manish Chopra) [1720392] - [netdrv] qed: Add APIs for configuring grc dump config flags. (Manish Chopra) [1720392] - [netdrv] qede: Add support for reading the config id attributes. (Manish Chopra) [1720392] - [netdrv] qed: Add APIs for reading config id attributes. (Manish Chopra) [1720392] - [netdrv] qed: Add cleanup in qed_slowpath_start() (Manish Chopra) [1720392] - [netdrv] qed: Add driver API for flashing the config attributes. (Manish Chopra) [1720392] - [netdrv] qed: Add API for configuring NVM attributes. (Manish Chopra) [1720392] - [netdrv] qed: Add new ethtool supported port types based on media. (Manish Chopra) [1720392] - [netdrv] net/ethernet/qlogic/qed: force the string buffer NULL-terminated (Manish Chopra) [1720392] - [netdrv] qed: RDMA - Fix the hw_ver returned in device attributes (Manish Chopra) [1720392] - [netdrv] qed*: Change dpi_addr to be denoted with __iomem (Manish Chopra) [1720392] - [netdrv] qed: reduce maximum stack frame size (Manish Chopra) [1720392] - [netdrv] qed: Prefer pcie_capability_read_word() (Manish Chopra) [1720392] - [netdrv] qed: Add support for Timestamping the unicast PTP packets. (Manish Chopra) [1720392] - [netdrv] qed: Fix -Wmaybe-uninitialized false positive (Manish Chopra) [1720392] - [netdrv] qed: iWARP - Fix default window size to be based on chip (Manish Chopra) [1720392] - [netdrv] qed: iWARP - Fix tc for MPA ll2 connection (Manish Chopra) [1720392] - [netdrv] qed: iWARP - fix uninitialized callback (Manish Chopra) [1720392] - [netdrv] qed: iWARP - Use READ_ONCE and smp_store_release to access ep->state (Manish Chopra) [1720392] - [netdrv] qed: remove redundant assignment to rc (Manish Chopra) [1720392] - [netdrv] qed: Fix static checker warning (Manish Chopra) [1720392] - [netdrv] qed: fix spelling mistake "inculde" -> "include" (Manish Chopra) [1720392] - [netdrv] qed: Reduce the severity of ptp debug message. (Manish Chopra) [1720392] - [netdrv] qed*: Add iWARP 100g support (Manish Chopra) [1720392] - [netdrv] qed: Add qed devlink parameters table (Manish Chopra) [1720392] - [netdrv] qed: Set the doorbell address correctly (Manish Chopra) [1720392] - [netdrv] qedr: Change the MSI-X vectors selection to be based on affined engine (Manish Chopra) [1720392] - [netdrv] qed: Modify offload protocols to use the affined engine (Manish Chopra) [1720392] - [netdrv] qed*: Change hwfn used for sb initialization (Manish Chopra) [1720392] - [netdrv] qed: Add llh ppfid interface and 100g support for offload protocols (Manish Chopra) [1720392] - [netdrv] qed: Modify api for performing a dmae to another PF (Manish Chopra) [1720392] - [virt] kvm: arm/arm64: vgic: Use the appropriate TRACE_INCLUDE_PATH (Auger Eric) [1749501] - [arm64] kvm: Kill hyp_alternate_select() (Auger Eric) [1749501] - [arm64] kvm: Replace hyp_alternate_select with has_vhe() (Auger Eric) [1749501] - [arm64] kvm: Drop hyp_alternate_select for checking for ARM64_WORKAROUND_834220 (Auger Eric) [1749501] - [documentation] kvm: arm/arm64: vgic: Allow more than 256 vcpus for KVM_IRQ_LINE (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Use a single IO device per redistributor (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Remove spurious semicolons (Auger Eric) [1749501] - [arm64] perf_event: Add missing header needed for smp_processor_id() (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Make function comments match function declarations (Auger Eric) [1749501] - [arm64] kvm: Remove VMID rollover I-cache maintenance (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-irqfd: Implement kvm_arch_set_irq_inatomic (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Check the LPI translation cache on MSI injection (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Cache successful MSI->LPI translation (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Invalidate MSI-LPI translation cache on vgic teardown (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Invalidate MSI-LPI translation cache on ITS disable (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Invalidate MSI-LPI translation cache on disabling LPIs (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Invalidate MSI-LPI translation cache on specific commands (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Add MSI-LPI translation cache invalidation (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Add __vgic_put_lpi_locked primitive (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Add LPI translation cache definition (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-v2: Handle SGI bits in GICD_I{S, C}PENDR0 as WI (Auger Eric) [1749501] - [arm64] kvm: Replace hardcoded '1' with SYS_PAR_EL1_F (Auger Eric) [1749501] - [arm64] sysreg: Add some field definitions for PAR_EL1 (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Fix potential deadlock when ap_list is long (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Properly initialise private IRQ affinity (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Reevaluate level sensitive interrupts on enable (Auger Eric) [1749501] - [arm64] kvm: arm64: Don't write junk to sysregs on reset (Auger Eric) [1749501] - [virt] kvm: arm/arm64: Sync ICH_VMCR_EL2 back when about to block (Auger Eric) [1749501] - [arm64] kvm: hyp: debug-sr: Mark expected switch fall-through (Auger Eric) [1749501] - [arm64] kvm: arm64: Update kvm_arm_exception_class and esr_class_str for new EC (Auger Eric) [1749501] - [virt] kvm: arm: vgic-v3: Mark expected switch fall-through (Auger Eric) [1749501] - [arm64] kvm: regmap: Fix unexpected switch fall-through (Auger Eric) [1749501] - [arm64] sve: Fix a couple of magic numbers for the Z-reg count (Auger Eric) [1749501] - [arm64] sve: Factor out FPSIMD to SVE state conversion (Auger Eric) [1749501] - [arm64] kvm: arm/arm64: Initialise host's MPIDRs by reading the actual register (Auger Eric) [1749501] - [arm64] kvm: arm64: Migrate _elx sysreg accessors to msr_s/mrs_s (Auger Eric) [1749501] - [arm64] sysreg: Make mrs_s and msr_s macros work with Clang and LTO (Auger Eric) [1749501] - [documentation] kvm: doc: Add API documentation on the KVM_REG_ARM_WORKAROUNDS register (Auger Eric) [1749501] - [virt] kvm: arm/arm64: Add save/restore support for firmware workaround state (Auger Eric) [1749501] - [arm64] kvm: Propagate full Spectre v2 workaround state to KVM guests (Auger Eric) [1749501] - [arm64] sve: Fix missing SVE/FPSIMD endianness conversions (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Fix kvm_device leak in vgic_its_destroy (Auger Eric) [1749501] - [arm64] kvm: arm64: Filter out invalid core register IDs in KVM_GET_REG_LIST (Auger Eric) [1749501] - [arm64] kvm: arm64: Skip more of the SError vaxorcism (Auger Eric) [1749501] - [arm64] kvm: arm64: Re-mask SError after the one instruction window (Auger Eric) [1749501] - [arm64] Update silicon-errata.txt for Neoverse-N1 #1349291 (Auger Eric) [1749501] - [arm64] kvm: arm64: Defer guest entry when an asynchronous exception is pending (Auger Eric) [1749501] - [arm64] kvm: arm64: Consume pending SError as early as possible (Auger Eric) [1749501] - [arm64] kvm: arm64: Make indirect vectors preamble behaviour symmetric (Auger Eric) [1749501] - [arm64] kvm: arm64: Abstract the size of the HYP vectors pre-amble (Auger Eric) [1749501] - [arm64] assembler: Switch ESB-instruction with a vanilla nop if !ARM64_HAS_RAS (Auger Eric) [1749501] - [arm64] kvm: arm64/sve: Fix vq_present() macro to yield a bool (Auger Eric) [1749501] - [arm64] kvm: arm64: Implement vq_present() as a macro (Auger Eric) [1749501] - [arm64] fpsimd: Don't disable softirq when touching FPSIMD/SVE state (Auger Eric) [1749501] - [arm64] fpsimd: Introduce fpsimd_save_and_flush_cpu_state() and use it (Auger Eric) [1749501] - [arm64] fpsimd: Remove the prototype for sve_flush_cpu_state() (Auger Eric) [1749501] - [scripts] genksyms: Teach parser about 128-bit built-in types (Auger Eric) [1749501] - [tools] kvm: selftests: introduce aarch64_vcpu_add_default (Auger Eric) [1749501] - [tools] kvm: selftests: introduce aarch64_vcpu_setup (Auger Eric) [1749501] - [virt] kvm: arm/arm64: Move cc/it checks under hyp's Makefile to avoid instrumentation (Auger Eric) [1749501] - [arm64] kvm: arm64: Move pmu hyp code under hyp's Makefile to avoid instrumentation (Auger Eric) [1749501] - [documentation] arm64: docs: Document perf event attributes (Auger Eric) [1749501] - [arm64] kvm: Fix perf cycle counter support for VHE (Auger Eric) [1749501] - [arm64] kvm: Avoid isb's by using direct pmxevtyper sysreg (Auger Eric) [1749501] - [arm64] kvm: Enable VHE support for :G/:H perf event modifiers (Auger Eric) [1749501] - [arm64] kvm: Enable !VHE support for :G/:H perf event modifiers (Auger Eric) [1749501] - [arm64] arm_pmu: Add !VHE support for exclude_host/exclude_guest attributes (Auger Eric) [1749501] - [arm64] kvm: Add accessors to track guest/host only counters (Auger Eric) [1749501] - [arm64] arm_pmu: Remove unnecessary isb instruction (Auger Eric) [1749501] - [arm64] perf: Add support for chaining event counters (Auger Eric) [1749501] - [arm64] perf: Disable PMU while processing counter overflows (Auger Eric) [1749501] - [arm64] perf: Clean up armv8pmu_select_counter (Auger Eric) [1749501] - [arm64] kvm: arm: Remove pgtable page standard functions from stage-2 page tables (Auger Eric) [1749501] - [netdrv] e1000e: Add support for Tiger Lake (Ken Cox) [1767480] - [netdrv] ethernet: Delete unnecessary checks before the macro call dev_kfree_skb (Corinna Vinschen) [1721705] - [netdrv] igb: Use dev_get_drvdata where possible (Corinna Vinschen) [1721705] - [netdrv] net: Use skb accessors in network drivers (Corinna Vinschen) [1721705] - [netdrv] igb: add RR2DCDELAY to ethtool registers dump (Corinna Vinschen) [1721705] - [netdrv] igb: minor ethool regdump amendment (Corinna Vinschen) [1721705] - [netdrv] igb: clear out skb->tstamp after reading the txtime (Corinna Vinschen) [1721705] - [netdrv] igb: mark expected switch fall-through (Corinna Vinschen) [1721705] - [netdrv] igb: mark expected switch fall-through (Corinna Vinschen) [1721705] - [netdrv] igb/igc: warn when fatal read failure happens (Corinna Vinschen) [1721705] - [netdrv] igb: fix various indentation issues (Corinna Vinschen) [1721705] - [netdrv] igb: Exclude device from suspend direct complete optimization (Corinna Vinschen) [1721705] - [netdrv] intel: correct return from set features callback (Corinna Vinschen) [1721705] - [netdrv] net: Use skb accessors in network drivers (Corinna Vinschen) [1721708] - [s390] s390/kaslr: reserve memory for kasan usage (Philipp Rudo) [1725888] - [s390] s390/mem_detect: provide single get_mem_detect_end (Philipp Rudo) [1725888] - [s390] s390/setup: adjust start_code of init_mm to _text (Philipp Rudo) [1725888] - [s390] s390/boot: add missing declarations and includes (Philipp Rudo) [1725888] - [s390] locking/lockdep: check for freed initmem in static_obj() (Philipp Rudo) [1725888] - [s390] s390/kernel: add support for kernel address space layout randomization (KASLR) (Philipp Rudo) [1725888] - [s390] s390/kernel: introduce .dma sections (Philipp Rudo) [1725888] - [s390] s390/sclp: do not use static sccbs (Philipp Rudo) [1725888] - [s390] s390/kprobes: use static buffer for insn_page (Philipp Rudo) [1725888] - [s390] s390/kernel: convert SYSCALL and PGM_CHECK handlers to .quad (Philipp Rudo) [1725888] - [s390] s390/kernel: build a relocatable kernel (Philipp Rudo) [1725888] - [s390] s390/extmem: remove code for 31 bit addressing mode (Philipp Rudo) [1725888] - [s390] s390/setup: remove obsolete #ifdef (Philipp Rudo) [1725888] - [net] net/core: work around section mismatch warning for ptp_classifier (Philipp Rudo) [1725888] - [sound] ALSA: bebob: fix to detect configured source of sampling clock for Focusrite Saffire Pro i/o series (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: link the order of establishing connections and Syt-match clock mode (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: expand delay of start for IR context just for version 3 firmware (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: expand sleep just after breaking connections for protocol version 1 (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC/SOF - enable SND_SOC_SOF_HDA_COMMON_HDMI_CODEC (Jaroslav Kysela) [1710702] - [sound] ALSA: timer: Fix mutex deadlock at releasing card (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: Add quirk for boards using pmc_plt_clk_0 (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: eve: Enable mclk and ssp sclk early (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: dt-bindings: rt5682: add button delay device property (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: rt5682: improve the sensitivity of push button (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: bxt_rt298: common hdmi codec support (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel: sof_rt5682: common hdmi codec support (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: common hdmi codec support (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: bxt-da7219-max98357a: common hdmi codec support (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: add support for snd-hda-codec-hdmi (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: skl-hda-dsp-generic: fix include guard name (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: hdac_hda: add support for HDMI/DP as a HDA codec (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/hdmi - implement mst_no_extra_pcms flag (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF - remove the dead code (skylake/kabylake) (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel - fix the card names (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: pci: Add prepare/complete PM callbacks (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: PM: Add support for DSP D0i3 state when entering S0ix (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: return -ENOTSUPP if D0I3 is not supported (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-dsp: implement suspend/resume for S0ix<->S0 transition (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: ignore suspend/resume for D0ix compatible streams (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: PM: implement prepare/complete callbacks (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add a flag suspend_ignored for sof stream (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add a flag to indicate the system suspend target (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: CNL: add support for sending compact IPC (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: PM: add helpers for setting D0 substate for ADSP (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: configure D0ix IPC flags in set_power_state (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: HDA: add cAVS specific compact IPC header file (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-ipc: Don't read mailbox for PM_GATE reply (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: ipc: introduce message for DSP power gating (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: PM: rename sof_send_pm_ipc to sof_send_pm_ctx_ipc (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: HDA: use macro for register polling retry count (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-dsp: align the comments for D0I3C update (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: topology: parse and store d0i3_compatible flag (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: token: add tokens for PCM compatible with D0i3 substate (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add flag to snd_sof_pcm_stream for D0i3 compatible stream (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: APL: add set_power_state() ops (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: CNL: add set_power_state() ops (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-dsp: Add helper for setting DSP D0ix substate (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add set_power_state() to dsp_ops for power state update (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: reset default d0_substate at probe() and resume() (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add a field to store the current D0 substate of DSP (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: eve: implement set_bias_level function for rt5514 (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: only support INFO_BATCH for legacy platforms (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: define INFO_ flags in dsp_ops (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: initial support to JasperLake. (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: common: add ACPI matching tables for JSL (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda: add dev_err() traces for snd_sof_dsp_read_poll_timeout() (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-loader: improve error handling (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: sof: include types.h at header.h (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Fix randbuild error (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: topology: check errors when parsing LED tokens (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: topology: remove always-true redundant test (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: bdw: fix operator precedence warnings (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: byt: fix operator precedence warnings (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: imx: Read ESAI parameters and send them to DSP (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: acpi led support for switch controls (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: imx: Describe ESAI parameters to be sent to DSP (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: pci: add debug module param (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: acpi: add debug module param (Jaroslav Kysela) [1710702] - [sound] ALSA: Revert "ASoC: SOF: Force polling mode on CFL and CNL" (Jaroslav Kysela) [1710702] - [sound] ALSA: AsoC: SOF: refactor control load code (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: enable dual control for pga (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: enable sync_write in hdac_bus (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: simple_card_utils.h: Add missing include (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: Add context data to any IPC timeout. (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda: fix reset of host_period_bytes (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: ipc: introduce no_stream_position in sof_ipc_stream_params struct (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: core: check for mandatory fw_ready op during SOF probe (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: ipc: retain DSP context after FW exception. (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: trace: move to opt-in with Kconfig and module parameter (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek - Fix 2 front mics of codec 0x623 (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek - Add support for ALC623 (Jaroslav Kysela) [1710702] - [sound] ALSA: hda - Fix mutex deadlock in HDMI codec driver (Jaroslav Kysela) [1710702] - [sound] ALSA: hda - Fix pending unsol events at shutdown (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: Correct a typo in the clock proc string (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: add support for MOTU UltraLite (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: code refactoring to handle model specific switch for protocol v2 (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: minor code refactoring for protocol version 2 (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: detect SPH source of sampling clock (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: print for unknown source of sampling clock (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: fix wrong spelling for macro (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: Fix prototype of helper function to return negative value (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: Disable quirks for BOSS Katana amplifiers (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: sound: usb: usb true/false for bool return type (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: Add DSD support for Gustard U16/X26 USB Interface (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: Allow non-Intel device probe gracefully (Jaroslav Kysela) [1710702] - [sound] ALSA: Revert "ALSA: hda: Flush interrupts on disabling" (Jaroslav Kysela) [1710702] - [sound] ALSA: PCI: Fix missing inline for pci_pr3_present() (Jaroslav Kysela) [1710702] - [sound] ALSA: PCI: Add a helper to check Power Resource Requirements _PR3 existence (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: Fix copy&paste error in the validator (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: Add DSD support for EVGA NU Audio (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: postpone to start IR context (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: handle several AMDTP streams in callback handler of IRQ target (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: cancel flushing isoc context in the laste step to process context callback (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: replace ack callback to flush isoc contexts in AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: replace pointer callback to flush isoc contexts in AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: add irq_target member into amdtp_domain struct (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: tune the minimum available size of PCM period (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: tune the maximum available size of PCM period (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: schedule hardware IRQ according to the size of PCM period (Jaroslav Kysela) [1710702] - [sound] ALSA: fireface: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-tascam: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-digi00x: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: dice: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: oxfw: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: fireworks: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: use variable size of queue for isoc packets instead of fixed size (Jaroslav Kysela) [1710702] - [sound] ALSA: fireface: use the same size of period for PCM substreams in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-tascam: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-digi00x: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: dice: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: oxfw: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: fireworks: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: fireface: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-tascam: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-digi00x: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: dice: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: oxfw: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: fireworks: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: add a member into AMDTP domain for events per period (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek - Enable headset mic on Asus MJ401TA (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek: Reduce the Headphone static noise on XPS 9350/9360 (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek - Add support for ALC711 (Jaroslav Kysela) [1710702] - [sound] ALSA: hda - Force runtime PM on Nvidia HDMI codecs (Jaroslav Kysela) [1710702] - [sound] ALSA: hda - Add laptop imic fixup for ASUS M9V laptop (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: Add Tigerlake/Jasperlake PCI ID (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: Allow HDA to be runtime suspended when dGPU is not bound to a driver (Jaroslav Kysela) [1710702] - [sound] ALSA: hdac: clear link output stream mapping (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: dapm: fix a memory leak bug (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: debug: fix possible memory leak in sof_dfsentry_write() (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: sof-rt5682: add a check for devm_clk_get (Jaroslav Kysela) [1710702] - [sound] ALSA: Fix Kconfig indentation (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: control: return true when kcontrol values change (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: fix intel DSP config (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: add Intel DSP configuration / probe code (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: core: Fix pcm code debugfs error (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoc: rockchip: i2s: Fix RPM imbalance (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: wm_adsp: Don't generate kcontrols without READ flags (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel: bytcr_rt5651: add null check to support_button_press (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel: sof_rt5682: add remove function to disable jack (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: rt5682: add NULL handler to set_jack function (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel: sof_rt5682: use separate route map for dmic (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda: Disable DMI L1 entry during capture (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: initialise and verify FW crash dump data. (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda: fix warnings during FW load (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: pcm: harden PCM STOP sequence (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: pcm: fix resource leak in hw_free (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: topology: fix parse fail issue for byte/bool tuple types (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: loader: fix kernel oops on firmware boot failure (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: wm_adsp: Fix theoretical NULL pointer for alg_region (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: max98373: check for device node before parsing (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: topology: Fix a signedness bug in soc_tplg_dapm_widget_create() (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: soc-component: fix a couple missing error assignments (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: wm8994: Do not register inapplicable controls for WM1811 (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: samsung: arndale: Add missing OF node dereferencing (Jaroslav Kysela) [1710702] - [infiniband] RDMA/bnxt_re: Fix spelling mistake "missin_resp" -> "missing_resp" (Kamal Heib) [1724772] - [infiniband] RDMA: Fix goto target to release the allocated memory (Kamal Heib) [1724772] - [infiniband] IB/bnxt_re: Do not notifify GID change event (Kamal Heib) [1724772] - [infiniband] RDMA/bnxt_re: Honor vlan_id in GID entry comparison (Kamal Heib) [1724772] - [infiniband] ib/bnxt: Remove mention of idr_alloc from comment (Kamal Heib) [1724772] - [infiniband] RDMA/bnxt_re: Use correct sizing on buffers holding page DMA addresses (Kamal Heib) [1724772] - [infiniband] bnxt_re: Clean cq for kernel consumers only (Kamal Heib) [1724772] - [infiniband] bnxt_re: fix the regression due to changes in alloc_pbl (Kamal Heib) [1724772] - [scsi] scsi: lpfc: Make lpfc_debugfs_ras_log_data static (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix NULL check before mempool_destroy is not needed (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: fix spelling error in MAGIC_NUMER_xxx (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: fix build error of lpfc_debugfs.c for vfree/vmalloc (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: lpfc_nvmet: Fix Use plain integer as NULL pointer (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: lpfc_attr: Fix Use plain integer as NULL pointer (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Update lpfc version to 12.6.0.0 (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Add additional discovery log messages (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Add FC-AL support to lpe32000 models (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Add FA-WWN Async Event reporting (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Add log macros to allow print by serverity or verbosity setting (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Make FW logging dynamically configurable (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Revise interrupt coalescing for missing scenarios (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Remove lock contention target write path (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Slight fast-path performance optimizations (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: fix coverity error of dereference after null check (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix hardlockup in lpfc_abort_handler (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix bad ndlp ptr in xri aborted handling (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix SLI3 hba in loop mode not discovering devices (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix lockdep errors in sli_ringtx_put (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix reporting of read-only fw error errors (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: fix lpfc_nvmet_mrq to be bound by hdw queue count (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Make function lpfc_defer_pt2pt_acc static (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: add support for posting FC events on FPIN reception (Dick Kennedy) [1768102] - [infiniband] RDMA/siw: Mark Software iWARP Driver as tech-preview (Kamal Heib) [1767292] - [crypto] crypto: ccp - Replace dma_pool_alloc + memset with dma_pool_zalloc (Gary Hook) [1724859] - [crypto] crypto: ccp/gcm - use const time tag comparison. (Gary Hook) [1724859] - [crypto] crypto: ccp - Switch to SPDX license identifiers (Gary Hook) [1724859] - [crypto] crypto: ccp - Validate the the error value used to index error messages (Gary Hook) [1724859] - [crypto] crypto: ccp - Make ccp_register_rsa_alg static (Gary Hook) [1724859] - [crypto] crypto: ccp - Update copyright notices and dates (Gary Hook) [1724859] - [crypto] cross-tree: phase out dma_zalloc_coherent() (Gary Hook) [1724859] - [x86] x86/umwait: Fix error handling in umwait_init() (Steve Best) [1724525] - [documentation] Documentation/ABI: Document umwait control sysfs interfaces (Steve Best) [1724525] - [x86] x86/umwait: Add sysfs interface to control umwait maximum time (Steve Best) [1724525] - [x86] x86/umwait: Add sysfs interface to control umwait C0.2 state (Steve Best) [1724525] - [x86] x86/umwait: Initialize umwait control values (Steve Best) [1724525] - [x86] x86/cpufeatures: Enumerate user wait instructions (Steve Best) [1724525] - [fs] virtiofs: Remove set but not used variable 'fc' (Vivek Goyal) [1694161] - [fs] virtiofs: Retry request submission from worker context (Vivek Goyal) [1694161] - [fs] virtiofs: Count pending forgets as in_flight forgets (Vivek Goyal) [1694161] - [fs] virtiofs: Set FR_SENT flag only after request has been sent (Vivek Goyal) [1694161] - [fs] virtiofs: No need to check fpq->connected state (Vivek Goyal) [1694161] - [fs] virtiofs: Do not end request in submission context (Vivek Goyal) [1694161] - [fs] fuse: don't advise readdirplus for negative lookup (Vivek Goyal) [1694161] - [fs] fuse: don't dereference req->args on finished request (Vivek Goyal) [1694161] - [fs] virtio-fs: don't show mount options (Vivek Goyal) [1694161] - [fs] virtio-fs: Change module name to virtiofs.ko (Vivek Goyal) [1694161] - [include] bitops: protect variables in bit_clear_unless() macro (Vivek Goyal) [1694161] - [include] bitops: protect variables in set_mask_bits() macro (Vivek Goyal) [1694161] - [fs] fuse: Make fuse_args_to_req static (Vivek Goyal) [1694161] - [fs] fuse: fix memleak in cuse_channel_open (Vivek Goyal) [1694161] - [fs] fuse: fix beyond-end-of-page access in fuse_parse_cache() (Vivek Goyal) [1694161] - [fs] fuse: unexport fuse_put_request (Vivek Goyal) [1694161] - [fs] fuse: kmemcg account fs data (Vivek Goyal) [1694161] - [fs] fuse: on 64-bit store time in d_fsdata directly (Vivek Goyal) [1694161] - [fs] fuse: fix missing unlock_page in fuse_writepage() (Vivek Goyal) [1694161] - [fs] virtio-fs: add virtiofs filesystem (Vivek Goyal) [1694161] - [fs] fuse: allow skipping control interface and forced unmount (Vivek Goyal) [1694161] - [fs] fuse: dissociate DESTROY from fuseblk (Vivek Goyal) [1694161] - [fs] fuse: delete dentry if timeout is zero (Vivek Goyal) [1694161] - [fs] fuse: separate fuse device allocation and installation in fuse_conn (Vivek Goyal) [1694161] - [fs] fuse: add fuse_iqueue_ops callbacks (Vivek Goyal) [1694161] - [fs] fuse: extract fuse_fill_super_common() (Vivek Goyal) [1694161] - [fs] fuse: export fuse_dequeue_forget() function (Vivek Goyal) [1694161] - [fs] fuse: export fuse_get_unique() (Vivek Goyal) [1694161] - [fs] fuse: export fuse_send_init_request() (Vivek Goyal) [1694161] - [fs] fuse: export fuse_len_args() (Vivek Goyal) [1694161] - [fs] fuse: export fuse_end_request() (Vivek Goyal) [1694161] - [fs] fuse: fix request limit (Vivek Goyal) [1694161] - [fs] fuse: stop copying pages to fuse_req (Vivek Goyal) [1694161] - [fs] fuse: stop copying args to fuse_req (Vivek Goyal) [1694161] - [fs] fuse: clean up fuse_req (Vivek Goyal) [1694161] - [fs] fuse: simplify request allocation (Vivek Goyal) [1694161] - [fs] fuse: unexport request ops (Vivek Goyal) [1694161] - [fs] fuse: convert retrieve to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert release to simple api (Vivek Goyal) [1694161] - [fs] cuse: convert init to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert init to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert writepages to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert readdir to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert readpages to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert direct_io to simple api (Vivek Goyal) [1694161] - [fs] fuse: add simple background helper (Vivek Goyal) [1694161] - [fs] fuse: convert sync write to simple api (Vivek Goyal) [1694161] - [fs] fuse: covert readpage to simple api (Vivek Goyal) [1694161] - [fs] fuse: fuse_short_read(): don't take fuse_req as argument (Vivek Goyal) [1694161] - [fs] fuse: convert ioctl to simple api (Vivek Goyal) [1694161] - [fs] fuse: move page alloc (Vivek Goyal) [1694161] - [fs] fuse: convert readlink to simple api (Vivek Goyal) [1694161] - [fs] fuse: add pages to fuse_args (Vivek Goyal) [1694161] - [fs] fuse: convert destroy to simple api (Vivek Goyal) [1694161] - [fs] fuse: add nocreds to fuse_args (Vivek Goyal) [1694161] - [fs] fuse: convert fuse_force_forget() to simple api (Vivek Goyal) [1694161] - [fs] fuse: add noreply to fuse_args (Vivek Goyal) [1694161] - [fs] fuse: convert flush to simple api (Vivek Goyal) [1694161] - [fs] fuse: simplify 'nofail' request (Vivek Goyal) [1694161] - [fs] fuse: rearrange and resize fuse_args fields (Vivek Goyal) [1694161] - [fs] fuse: flatten 'struct fuse_args' (Vivek Goyal) [1694161] - [fs] fuse: fix deadlock with aio poll and fuse_iqueue::waitq.lock (Vivek Goyal) [1694161] - [fs] cuse: fix broken release (Vivek Goyal) [1694161] - [fs] fuse: cleanup fuse_wait_on_page_writeback (Vivek Goyal) [1694161] - [fs] fuse: require /dev/fuse reads to have enough buffer capacity (take 2) (Vivek Goyal) [1694161] - [fs] Revert "fuse: require /dev/fuse reads to have enough buffer capacity" (Vivek Goyal) [1694161] - [fs] fuse: extract helper for range writeback (Vivek Goyal) [1694161] - [fs] fuse: add FUSE_WRITE_KILL_PRIV (Vivek Goyal) [1694161] - [fs] fuse: clean up fuse_alloc_inode (Vivek Goyal) [1694161] - [fs] fuse: Add ioctl flag for x32 compat ioctl (Vivek Goyal) [1694161] - [fs] fuse: document fuse_fsync_in.fsync_flags (Vivek Goyal) [1694161] - [fs] fuse: require /dev/fuse reads to have enough buffer capacity (Vivek Goyal) [1694161] - [fs] fuse: retrieve: cap requested size to negotiated max_write (Vivek Goyal) [1694161] - [fs] fuse: allow filesystems to have precise control over data cache (Vivek Goyal) [1694161] - [fs] fuse: convert printk -> pr_* (Vivek Goyal) [1694161] - [fs] fuse: fix writepages on 32bit (Vivek Goyal) [1694161] - [fs] fuse: cache readdir calls if filesystem opts out of opendir (Vivek Goyal) [1694161] - [fs] fuse: support clients that don't implement 'opendir' (Vivek Goyal) [1694161] - [fs] fuse: lift bad inode checks into callers (Vivek Goyal) [1694161] - [fs] fuse: multiplex cached/direct_io file operations (Vivek Goyal) [1694161] - [fs] fuse add copy_file_range to direct io fops (Vivek Goyal) [1694161] - [fs] fuse: use iov_iter based generic splice helpers (Vivek Goyal) [1694161] - [fs] fuse: Switch to using async direct IO for FOPEN_DIRECT_IO (Vivek Goyal) [1694161] - [fs] fuse: use atomic64_t for khctr (Vivek Goyal) [1694161] - [fs] fuse: clean up aborted (Vivek Goyal) [1694161] - [fs] fuse: Protect ff->reserved_req via corresponding fi->lock (Vivek Goyal) [1694161] - [fs] fuse: Protect fi->nlookup with fi->lock (Vivek Goyal) [1694161] - [fs] fuse: Introduce fi->lock to protect write related fields (Vivek Goyal) [1694161] - [fs] fuse: Convert fc->attr_version into atomic64_t (Vivek Goyal) [1694161] - [fs] fuse: Add fuse_inode argument to fuse_prepare_release() (Vivek Goyal) [1694161] - [fs] fuse: Verify userspace asks to requeue interrupt that we really sent (Vivek Goyal) [1694161] - [fs] fuse: Do some refactoring in fuse_dev_do_write() (Vivek Goyal) [1694161] - [fs] fuse: Wake up req->waitq of only if not background (Vivek Goyal) [1694161] - [fs] fuse: Optimize request_end() by not taking fiq->waitq.lock (Vivek Goyal) [1694161] - [fs] fuse: Kill fasync only if interrupt is queued in queue_interrupt() (Vivek Goyal) [1694161] - [fs] fuse: Remove stale comment in end_requests() (Vivek Goyal) [1694161] - [fs] fuse: Replace page without copying in fuse_writepage_in_flight() (Vivek Goyal) [1694161] - [fs] fuse: fix leaked aux requests (Vivek Goyal) [1694161] - [fs] fuse: only reuse auxiliary request in fuse_writepage_in_flight() (Vivek Goyal) [1694161] - [fs] fuse: clean up fuse_writepage_in_flight() (Vivek Goyal) [1694161] - [fs] fuse: extract fuse_find_writeback() helper (Vivek Goyal) [1694161] - [fs] cuse: fix ioctl (Vivek Goyal) [1694161] - [fs] fuse: Fix memory leak in fuse_dev_free() (Vivek Goyal) [1694161] - [fs] fuse: fix revalidation of attributes for permission check (Vivek Goyal) [1694161] - [fs] fuse: fix fsync on directory (Vivek Goyal) [1694161] - [fs] fuse: Add bad inode check in fuse_destroy_inode() (Vivek Goyal) [1694161] - [fs] fuse: enable caching of symlinks (Vivek Goyal) [1694161] - [fs] fuse: only invalidate atime in direct read (Vivek Goyal) [1694161] - [fs] fuse: realloc page array (Vivek Goyal) [1694161] - [fs] fuse: add max_pages to init_out (Vivek Goyal) [1694161] - [fs] fuse: allocate page array more efficiently (Vivek Goyal) [1694161] - [fs] fuse: reduce size of struct fuse_inode (Vivek Goyal) [1694161] - [fs] fuse: use iversion for readdir cache verification (Vivek Goyal) [1694161] - [fs] fuse: use mtime for readdir cache verification (Vivek Goyal) [1694161] - [fs] fuse: add readdir cache version (Vivek Goyal) [1694161] - [fs] fuse: allow using readdir cache (Vivek Goyal) [1694161] - [fs] fuse: allow caching readdir (Vivek Goyal) [1694161] - [fs] fuse: extract fuse_emit() helper (Vivek Goyal) [1694161] - [fs] fuse: add FOPEN_CACHE_DIR (Vivek Goyal) [1694161] - [fs] fuse: split out readdir.c (Vivek Goyal) [1694161] - [fs] fuse: Use hash table to link processing request (Vivek Goyal) [1694161] - [fs] fuse: kill req->intr_unique (Vivek Goyal) [1694161] - [fs] fuse: change interrupt requests allocation algorithm (Vivek Goyal) [1694161] - [fs] fuse: do not take fc->lock in fuse_request_send_background() (Vivek Goyal) [1694161] - [fs] fuse: introduce fc->bg_lock (Vivek Goyal) [1694161] - [fs] fuse: add locking to max_background and congestion_threshold changes (Vivek Goyal) [1694161] - [fs] fuse: use READ_ONCE on congestion_threshold and max_background (Vivek Goyal) [1694161] - [fs] fuse: use list_first_entry() in flush_bg_queue() (Vivek Goyal) [1694161] - [fs] fuse: reduce allocation size for splice_write (Vivek Goyal) [1694161] - [fs] fuse: use kvmalloc to allocate array of pipe_buffer structs. (Vivek Goyal) [1694161] - [fs] fuse: convert last timespec use to timespec64 (Vivek Goyal) [1694161] - [fs] fs: fuse: Adding new return type vm_fault_t (Vivek Goyal) [1694161] - [fs] fuse: simplify fuse_abort_conn() (Vivek Goyal) [1694161] - [infiniband] RDMA/siw: Fix IPv6 addr_list locking (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix 64/32bit pointer inconsistency (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix SGL mapping issues (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix potential NULL de-ref (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Change CQ flags from 64->32 bits (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix a memory leak in siw_init_cpulist() (Kamal Heib) [1725830 1720892] - [infiniband] Do not dereference 'siw_crypto_shash' before checking (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Remove set but not used variables 'rv' (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix error return code in siw_init_module() (Kamal Heib) [1725830 1720892] - [infiniband] RMDA/siw: Require a 64 bit arch (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Mark expected switch fall-throughs (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: Remove set but not used variable 's' (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: Add missing dependencies on LIBCRC32C and DMA_VIRT_OPS (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Add missing rtnl_lock around access to ifa (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: Use proper enumerated type in map_cqe_status (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Remove unnecessary kthread create/destroy printouts (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix DEFINE_PER_CPU compilation when ARCH_NEEDS_WEAK_PER_CPU (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: addition to kernel build environment (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: completion queue methods (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: receive path (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: transmit path (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: queue pair methods (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: application buffer management (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: application interface (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: connection management (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: network and RDMA core interface (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: main include file (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: iWarp wire packet format (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/cma: fix null-ptr-deref Read in cma_cleanup (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Rewrite PID namespace check to be reliable (Kamal Heib) [1720892] - [infiniband] RDMA/counters: Properly implement PID checks (Kamal Heib) [1720892] - [infiniband] IB/core: Fix NULL pointer dereference when bind QP to counter (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Fix MR npages calculation for IB_ACCESS_HUGETLB (Kamal Heib) [1720892] - [infiniband] RDMA/core: Fix error code in stat_get_doit_qp() (Kamal Heib) [1720892] - [infiniband] RDMA/counter: Prevent QP counter binding if counters unsupported (Kamal Heib) [1720892] - [infiniband] RDMA/hns: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720892] - [infiniband] RDMA/core: Fix -Wunused-const-variable warnings (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Added configuration of RDMA dynamic interrupt moderation to netlink (Kamal Heib) [1720892] - [infiniband] RDMA/core: Provide RDMA DIM support for ULPs (Kamal Heib) [1720892] - [infiniband] linux/dim: Implement RDMA adaptive moderation (DIM) (Kamal Heib) [1720892] - [infiniband] IB/mad: Fix use-after-free in ib mad completion handling (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Track driver QP types in resource tracker (Kamal Heib) [1720892] - [infiniband] RDMA/devices: Remove the lock around remove_client_context (Kamal Heib) [1720892] - [infiniband] RDMA/devices: Do not deadlock during client removal (Kamal Heib) [1720892] - [infiniband] IB/core: Add mitigation for Spectre V1 (Kamal Heib) [1720892] - [infiniband] IB/counters: Always initialize the port counter object (Kamal Heib) [1720892] - [infiniband] IB/core: Fix querying total rdma stats (Kamal Heib) [1720892] - [infiniband] RDMA/core: Fix race when resolving IP address (Kamal Heib) [1720892] - [infiniband] xprtrdma: Modernize ops->connect (Kamal Heib) [1720892] - [infiniband] xprtrdma: Remove rpcrdma_req::rl_buffer (Kamal Heib) [1720892] - [infiniband] xprtrdma: Refactor chunk encoding (Kamal Heib) [1720892] - [infiniband] xprtrdma: Streamline rpcrdma_post_recvs (Kamal Heib) [1720892] - [infiniband] xprtrdma: Simplify rpcrdma_rep_create (Kamal Heib) [1720892] - [infiniband] xprtrdma: Wake RPCs directly in rpcrdma_wc_send path (Kamal Heib) [1720892] - [infiniband] xprtrdma: Reduce context switching due to Local Invalidation (Kamal Heib) [1720892] - [infiniband] xprtrdma: Add mechanism to place MRs back on the free list (Kamal Heib) [1720892] - [infiniband] xprtrdma: Remove fr_state (Kamal Heib) [1720892] - [infiniband] xprtrdma: Remove the RPCRDMA_REQ_F_PENDING flag (Kamal Heib) [1720892] - [infiniband] xprtrdma: Fix occasional transport deadlock (Kamal Heib) [1720892] - [infiniband] xprtrdma: Replace use of xdr_stream_pos in rpcrdma_marshal_req (Kamal Heib) [1720892] - [infiniband] xprtrdma: Fix use-after-free in rpcrdma_post_recvs (Kamal Heib) [1720892] - [infiniband] RDMA/core: Make rdma_counter.h compile stand alone (Kamal Heib) [1720892] - [infiniband] IB/core: Work on the caller socket net namespace in nldev_newlink() (Kamal Heib) [1663224 1720892] - [infiniband] RDMA/rxe: Fill in wc byte_len with IB_WC_RECV_RDMA_WITH_IMM (Kamal Heib) [1720892] - [infiniband] ibverbs/rxe: Remove variable self-initialization (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Allow get default counter statistics through RDMA netlink (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Allow get counter mode through RDMA netlink (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Allow counter manual mode configration through RDMA netlink (Kamal Heib) [1720892] - [infiniband] RDMA/counter: Allow manual mode configuration support (Kamal Heib) [1720892] - [infiniband] RDMA/core: Get sum value of all counters when perform a sysfs stat read (Kamal Heib) [1720892] - [infiniband] RDMA/netlink: Implement counter dumpit calback (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Allow counter auto mode configration through RDMA netlink (Kamal Heib) [1720892] - [infiniband] RDMA/counter: Add "auto" configuration mode support (Kamal Heib) [1720892] - [infiniband] RDMA/counter: Add set/clear per-port auto mode support (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Make is_visible_in_pid_ns() as an API (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Add an API to attach a task to a resource (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Introduce statistic counter (Kamal Heib) [1720892] - [infiniband] IB/ipoib: Add child to parent list only if device initialized (Kamal Heib) [1720892] - [infiniband] RDMA/uverbs: remove redundant assignment to variable ret (Kamal Heib) [1720892] - [infiniband] IB/ipoib: Remove memset after vzalloc in ipoib_cm.c (Kamal Heib) [1720892] - [infiniband] IB: Remove unneeded memset (Kamal Heib) [1720892] - [infiniband] RDMA/netlink: Audit policy settings for netlink attributes (Kamal Heib) [1720892] - [infiniband] docs: infiniband: convert docs to ReST and rename to *.rst (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Use IB_WR_REG_MR_INTEGRITY for PI handover (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Introduce rdma_rw_inv_key helper (Kamal Heib) [1720892] - [infiniband] RDMA/core: Validate integrity handover device cap (Kamal Heib) [1720892] - [infiniband] RDMA/core: Rename signature qp create flag and signature device capability (Kamal Heib) [1720892] - [infiniband] RDMA/core: Add an integrity MR pool support (Kamal Heib) [1720892] - [infiniband] IB/iser: Unwind WR union at iser_tx_desc (Kamal Heib) [1720892] - [infiniband] IB/iser: Use IB_WR_REG_MR_INTEGRITY for PI handover (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Introduce and implement new IB_WR_REG_MR_INTEGRITY work request (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Update set_sig_data_segment attribute for new signature API (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Pass UMR segment flags instead of boolean (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Add attr for max number page list length for PI operation (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Implement mlx5_ib_map_mr_sg_pi and mlx5_ib_alloc_mr_integrity (Kamal Heib) [1720892] - [infiniband] RDMA/core: Add signature attrs element for ib_mr structure (Kamal Heib) [1720892] - [infiniband] RDMA/core: Introduce ib_map_mr_sg_pi to map data/protection sgl's (Kamal Heib) [1720892] - [infiniband] RDMA/core: Introduce IB_MR_TYPE_INTEGRITY and ib_alloc_mr_integrity API (Kamal Heib) [1720892] - [infiniband] RDMA/core: Save the MR type in the ib_mr structure (Kamal Heib) [1720892] - [infiniband] RDMA/core: Introduce new header file for signature operations (Kamal Heib) [1720892] - [infiniband] RDMA/odp: Do not leak dma maps when working with huge pages (Kamal Heib) [1720892] - [infiniband] RDMA/uverbs: Use offsetofend instead of opencoding (Kamal Heib) [1720892] - [infiniband] [scsi] scsi: RDMA/srp: Fix a sleep-in-invalid-context bug (Kamal Heib) [1720892] - [infiniband] RDMA: Check umem pointer validity prior to release (Kamal Heib) [1720892] - [infiniband] RDMA/hns: Remove asynchronic QP destroy (Kamal Heib) [1720892] - [infiniband] RDMA: Convert destroy_wq to be void (Kamal Heib) [1720892] - [infiniband] RDMA/netlink: Resort policy array (Kamal Heib) [1720892] - [infiniband] RDMA: Report available cdevs through RDMA_NLDEV_CMD_GET_CHARDEV (Kamal Heib) [1720892] - [infiniband] RDMA: Add NLDEV_GET_CHARDEV to allow char dev discovery and autoload (Kamal Heib) [1720892] - [infiniband] ipoib: correcly show a VF hardware address (Kamal Heib) [1720892] - [infiniband] RDMA: Move rdma_node_type to uapi/ (Kamal Heib) [1720892] - [infiniband] rdma: Remove nes (Kamal Heib) [1720892] - [infiniband] RDMA/ipoib: Remove check for ETH_SS_TEST (Kamal Heib) [1720892] - [infiniband] RDMA: Convert CQ allocations to be under core responsibility (Kamal Heib) [1720892] - [infiniband] RDMA/hns: Return correct error code from hns_roce_v1_rsv_lp_qp() (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb3: Don't expose DMA addresses (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb4: Don't expose DMA addresses (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb3: Use sizeof() notation instead of plain sizeof (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb3: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720892] - [infiniband] RDMA: Clear CQ objects during their allocation (Kamal Heib) [1720892] - [infiniband] RDMA: Clean destroy CQ in drivers do not return errors (Kamal Heib) [1720892] - [infiniband] RDMA/i40iw: Remove useless NULL checks (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb3: Delete and properly mark unimplemented resize CQ function (Kamal Heib) [1720892] - [infiniband] RDMA/nes: Avoid memory allocation during CQ destroy (Kamal Heib) [1720892] - [infiniband] RDMA: Move owner into struct ib_device_ops (Kamal Heib) [1720892] - [infiniband] RDMA: Move uverbs_abi_ver into struct ib_device_ops (Kamal Heib) [1720892] - [infiniband] RDMA: Move driver_id into struct ib_device_ops (Kamal Heib) [1720892] - [infiniband] rdma: Delete the ib_ucm module (Kamal Heib) [1720892] - [infiniband] ucma: Convert ctx_idr to XArray (Kamal Heib) [1720892] - [infiniband] ucma: Convert multicast_idr to XArray (Kamal Heib) [1720892] - [infiniband] RDMA/ucma: Use struct_size() helper (Kamal Heib) [1720892] - [infiniband] RDMA/srp: Accept again source addresses that do not have a port number (Kamal Heib) [1720892] - [infiniband] RDMA/ipoib: implement ethtool .get_link() callback (Kamal Heib) [1720892] - [infiniband] RDMA/uverbs: check for allocation failure in uapi_add_elm() (Kamal Heib) [1720892] - [infiniband] RDMA: Convert put_page() to put_user_page*() (Kamal Heib) [1720892] - [infiniband] RDMA/nes: Remove second wait queue initialization call (Kamal Heib) [1720892] - [infiniband] RDMA/nes: Remove useless NULL checks (Kamal Heib) [1720892] - [infiniband] RDMA/core: Make ib_destroy_cq() void (Kamal Heib) [1720892] - [infiniband] RDMA/ipoib: Remove check of destroy CQ (Kamal Heib) [1720892] - [infiniband] RDMA/core: Return void from ib_device_check_mandatory() (Kamal Heib) [1720892] - [infiniband] RDMA/umem: Move page_shift from ib_umem to ib_odp_umem (Kamal Heib) [1720892] - [infiniband] RDMA/qedr: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb4: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720892] - [infiniband] RDMA/core: Fix doc typo (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Add info regarding SG count failure (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Print the correct number of sig MRs (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Fix doc typo (Kamal Heib) [1720892] - [infiniband] IB/isert: Remove unused sig_attrs argument (Kamal Heib) [1720892] - [infiniband] IB/iser: Remove unused sig_attrs argument (Kamal Heib) [1720892] - [infiniband] IB/iser: Refactor iscsi_iser_check_protection function (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Entropy in admin commands id (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Print address on AH creation failure (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Be consistent with success flow return value (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Use API to get contiguous memory blocks aligned to device supported page size (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Remove unused includes (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Use rdma block iterator in chunk list creation (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Remove unneeded admin commands abort flow (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Use kvzalloc instead of kzalloc with fallback (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Remove check that prevents destroy of resources in error flows (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Handle mmap insertions overflow (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Fix success return value in case of error (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Remove MAYEXEC flag check from mmap flow (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add driver to Kconfig/Makefile (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the efa module (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add EFA verbs implementation (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add common command handlers (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Implement functions that submit and complete admin commands (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the ABI definitions (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the com service API definitions (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the efa_com.h file (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the efa.h header file (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add EFA device definitions (Kamal Heib) [1720892] - [infiniband] RDMA: Add EFA related definitions (Kamal Heib) [1720892] - [fs] CIFS: Fix use after free of file info structures (Dave Wysochanski) [1757865] - [mm] mm, memory_hotplug: fix scan_movable_pages() for gigantic hugepages (Rafael Aquini) [1730172] - [char] ipmi: Don't allow device module unload when in use (Tony Camuso) [1759916] - [netdrv] net: phy: Also request modules for C45 IDs (Gary Hook) [1764274] - [s390] s390/dasd: Fix error handling during online processing (Philipp Rudo) [1764492] - [s390] s390/cpumsf: Check for CPU Measurement sampling (Philipp Rudo) [1764490] - [edac] EDAC/amd64: Support asymmetric dual-rank DIMMs (Gary Hook) [1753384] - [edac] EDAC/amd64: Cache secondary Chip Select registers (Gary Hook) [1753384] - [edac] EDAC/amd64: Decode syndrome before translating address (Gary Hook) [1753384] - [edac] EDAC/amd64: Find Chip Select memory size using Address Mask (Gary Hook) [1753384] - [edac] EDAC/amd64: Initialize DIMM info for systems with more than two channels (Gary Hook) [1753384] - [edac] EDAC/amd64: Recognize DRAM device type ECC capability (Gary Hook) [1753384] - [edac] EDAC/amd64: Support more than two controllers for chip selects handling (Gary Hook) [1753384] - [scsi] scsi: fnic: fix msix interrupt allocation (Govindarajulu Varadarajan) [1745083] - [scsi] scsi: fnic: print port speed only at driver init or speed change (Govindarajulu Varadarajan) [1745083] - [netdrv] qmi_wwan: apply SET_DTR quirk to Sierra WP7607 (Lubomir Rintel) [1729083]- [tools] libbpf: remove compile time warning from libbpf_util.h (Yauheni Kaliuta) [1747341] - [tools] libbpf: remove dependency on barrier.h in xsk.h (Yauheni Kaliuta) [1747341] - [kernel] seccomp, bpf: disable preemption before calling into bpf prog (Yauheni Kaliuta) [1747341] - [lib] bpf: test_bpf: turn off preemption in function __run_once (Yauheni Kaliuta) [1747341] - [tools] libbpf: remove unnecessary cast-to-void (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix sysctl.c warning (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix using uninitialized ioctl results (Yauheni Kaliuta) [1747341] - [tools] libbpf: proper XSKMAP cleanup (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix invalid munmap call (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix XDP socket ring buffer memory ordering (Yauheni Kaliuta) [1747341] - [tools] libbpf: remove likely/unlikely in xsk.h (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: xdp_redirect, correctly get dummy program id (Yauheni Kaliuta) [1747341] - [net] bpf: fix access to skb_shared_info->gso_segs (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix out of bounds backwards jmps due to dead code removal (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix use after free in prog symbol exposure (Yauheni Kaliuta) [1747341] - [include] bpf: Fix preempt_enable_no_resched() abuse (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test cases for pkt/null checks in subprogs (Yauheni Kaliuta) [1747341] - [kernel] bpf: mark registers in all frames after pkt/null checks (Yauheni Kaliuta) [1747341] - [tools] libbpf: add binary to gitignore (Yauheni Kaliuta) [1747341] - [net] bpf: Check address length before reading address family (Yauheni Kaliuta) [1747341] - [net] flow_dissector: disable preemption around BPF calls (Yauheni Kaliuta) [1747341] - [net] flow_dissector: switch kernel context to struct bpf_flow_dissector (Yauheni Kaliuta) [1747341] - [net] flow_dissector: fix clamping of BPF flow_keys for non-zero nhoff (Yauheni Kaliuta) [1747341] - [net] flow_dissector: allow access only to a subset of __sk_buff fields (Yauheni Kaliuta) [1747341] - [net] net/flow_dissector: pass flow_keys->n_proto to BPF programs (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: fix vlan handling in flow dissector program (Yauheni Kaliuta) [1747341] - [tools] bpf, libbpf: fix quiet install_headers (Yauheni Kaliuta) [1747341] - [tools] libbpf: add libelf dependency to shared library build (Yauheni Kaliuta) [1747341] - [tools] libbpf: add xsk.h to install_headers target (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add btf_dedup test for VOID equivalence check (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix btf_dedup equivalence check handling of different kinds (Yauheni Kaliuta) [1747341] - [documentation] bpf, doc: fix BTF docs reflow of bullet list (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test case for invalid call stack in dead code (Yauheni Kaliuta) [1747341] - [kernel] bpf: remove incorrect 'verifier bug' warning (Yauheni Kaliuta) [1747341] - [kernel] bpf: Only print ref_obj_id for refcounted reg (Yauheni Kaliuta) [1747341] - [tools] tool: use bpf_program__get_prog_info_linear() in prog.c:do_dump() (Yauheni Kaliuta) [1747341] - [tools] tools lib bpf: Introduce bpf_program__get_prog_info_linear() (Yauheni Kaliuta) [1747341] - [tools] perf tools: Fix errors under optimization level '-Og' (Yauheni Kaliuta) [1747341] - [kernel] bpf: Try harder when allocating memory for large maps (Yauheni Kaliuta) [1747341] - [tools] tools: bpf: synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add fwd enum resolution test for btf_dedup (Yauheni Kaliuta) [1747341] - [tools] btf: resolve enum fwds in btf_dedup (Yauheni Kaliuta) [1747341] - [tools] bpf: Add an example for bpf_get_listener_sock (Yauheni Kaliuta) [1747341] - [tools] bpf: Test ref release issue in bpf_tcp_sock and bpf_sk_fullsock (Yauheni Kaliuta) [1747341] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1747341] - [net] bpf: Add bpf_get_listener_sock(struct bpf_sock *sk) helper (Yauheni Kaliuta) [1747341] - [kernel] bpf: Fix bpf_tcp_sock and bpf_sk_fullsock issue related to bpf_sk_release (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix to reject unknown flags in xsk_socket__create() (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: fix segfault of test_progs when prog loading failed (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix replace_map_fd_with_map_ptr's ldimm64 second imm field (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: test_progs: initialize duration in singal_pending test (Yauheni Kaliuta) [1747341] - [tools] libbpf: force fixdep compilation at the start of the build (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: fix compilation with out-of-tree $(OUTPUT) (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test that GSO works in lwt_ip_encap (Yauheni Kaliuta) [1747341] - [bpf] bpf: hbm: fix spelling mistake "deault" -> "default" (Yauheni Kaliuta) [1747341] - [tools] bpf: add test cases for non-pointer sanitiation logic (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - misc (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - spinlock (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - tracepoint (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - stackmap (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - xdp (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - pkt access (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - preparations (Yauheni Kaliuta) [1747341] - [bpf] bpf: HBM test script (Yauheni Kaliuta) [1747341] - [bpf] bpf: User program for testing HBM (Yauheni Kaliuta) [1747341] - [bpf] bpf: Sample HBM BPF program to limit egress bw (Yauheni Kaliuta) [1747341] - [include] bpf: sync bpf.h to tools and update bpf_helpers.h (Yauheni Kaliuta) [1747341] - [net] bpf: add bpf helper bpf_skb_ecn_set_ce (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: silence compiler warning for xdpsock_user.c (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: set unlimited RLIMIT_MEMLOCK for test_sock_fields (Yauheni Kaliuta) [1747341] - [documentation] docs/bpf: minor casing/punctuation fixes (Yauheni Kaliuta) [1747341] - [documentation] docs/btf: reflow text to fill up to 78 characters (Yauheni Kaliuta) [1747341] - [documentation] docs/btf: fix typos, improve wording (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix u64_stats_init() usage in bpf_prog_alloc() (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add btf_dedup test of FWD/STRUCT resolution (Yauheni Kaliuta) [1747341] - [tools] btf: allow to customize dedup hash table size (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix formatting for btf_ext__get_raw_data (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: fix btf_dedup testing code (Yauheni Kaliuta) [1747341] - [tools] tools: libbpf: make sure readelf shows full names in build checks (Yauheni Kaliuta) [1747341] - [bpf] samples: bpf: use libbpf where easy (Yauheni Kaliuta) [1747341] - [tools] tools: libbpf: add a correctly named define for map iteration (Yauheni Kaliuta) [1747341] - [bpf] samples: bpf: remove load_sock_ops in favour of bpftool (Yauheni Kaliuta) [1747341] - [bpf] samples: bpf: force IPv4 in ping (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: use __bpf_constant_htons in test_prog.c for flow dissector (Yauheni Kaliuta) [1747341] - [tools] bpf: add missing entries to bpf_helpers.h (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: selftests: add map lookup to test_map_in_map bpf prog (Yauheni Kaliuta) [1747341] - [kernel] bpf: set inner_map_meta->spin_lock_off correctly (Yauheni Kaliuta) [1747341] - [bpf] samples: bpf: fix: broken sample regarding removed function (Yauheni Kaliuta) [1747341] - [tools] tools/bpftool: recognize bpf_prog_info run_time_ns and run_cnt (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: sync bpf.h into tools (Yauheni Kaliuta) [1747341] - [kernel] bpf: expose program stats via bpf_prog_info (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix build without bpf_syscall (Yauheni Kaliuta) [1747341] - [kernel] bpf: enable program stats (Yauheni Kaliuta) [1747341] - [kernel] bpf: check that BPF programs run with preemption disabled (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: convert xdpsock to use libbpf for AF_XDP access (Yauheni Kaliuta) [1747341] - [tools] libbpf: add support for using AF_XDP sockets (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: make sure signal interrupts BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Fix dummy program unloading for xdp_redirect samples (Yauheni Kaliuta) [1747341] - [s390] s390/net: convert pnetids to ascii (Yauheni Kaliuta) [1747341] - [net] bpf: add skb->queue_mapping write access from tc clsact (Yauheni Kaliuta) [1747341] - [tools] tools/libbpf: support bigger BTF data sizes (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: test_lwt_ip_encap: add negative tests. (Yauheni Kaliuta) [1747341] - [tools] libbpf: Introduce bpf_object__btf (Yauheni Kaliuta) [1747341] - [tools] libbpf: Introduce bpf_map__resize (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: replace bzero with memset (Yauheni Kaliuta) [1747341] - [net] net: fix GSO in bpf_lwt_push_ip_encap (Yauheni Kaliuta) [1747341] - [net] net: fix double-free in bpf_lwt_xmit_reroute (Yauheni Kaliuta) [1747341] - [net] bpf: fix memory leak in bpf_lwt_xmit_reroute (Yauheni Kaliuta) [1747341] - [net] bpf: make LWTUNNEL_BPF dependent on INET (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: add test_lwt_ip_encap selftest (Yauheni Kaliuta) [1747341] - [include] bpf: sync /include/.../bpf.h with tools/include/.../bpf.h (Yauheni Kaliuta) [1747341] - [net] bpf: add handling of BPF_LWT_REROUTE to lwt_bpf.c (Yauheni Kaliuta) [1747341] - [net] ipv6_stub: add ipv6_route_input stub/proxy. (Yauheni Kaliuta) [1747341] - [net] bpf: handle GSO in bpf_lwt_push_encap (Yauheni Kaliuta) [1747341] - [net] bpf: implement BPF_LWT_ENCAP_IP mode in bpf_lwt_push_encap (Yauheni Kaliuta) [1747341] - [net] bpf: add plumbing for BPF_LWT_ENCAP_IP in bpf_lwt_push_encap (Yauheni Kaliuta) [1747341] - [net] bpf: offload: add priv field for drivers (Yauheni Kaliuta) [1747341] - [tools] tools: bpftool: doc, add text about feature-subcommand (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: relax sub-register mode compilation criteria (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: centre kernel bpf objects under new subdir "progs" (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: extend sub-register mode compilation to all bpf object files (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: add "alu32" to .gitignore (Yauheni Kaliuta) [1747341] - [tools] bpf: Add test_sock_fields for skb->sk and bpf_tcp_sock (Yauheni Kaliuta) [1747341] - [tools] bpf: Add skb->sk, bpf_sk_fullsock and bpf_tcp_sock tests to test_verifer (Yauheni Kaliuta) [1747341] - [nclude] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1747341] - [kernel] bpf: Add struct bpf_tcp_sock and BPF_FUNC_tcp_sock (Yauheni Kaliuta) [1747341] - [net] bpf: Refactor sock_ops_convert_ctx_access (Yauheni Kaliuta) [1747341] - [net] bpf: Add state, dst_ip4, dst_ip6 and dst_port to bpf_sock (Yauheni Kaliuta) [1747341] - [kernel] bpf: Add a bpf_sock pointer to __sk_buff and a bpf_sk_fullsock helper (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: remove btf__get_strings() superseded by raw data API (Yauheni Kaliuta) [1747341] - [tools] btf: expose API to work with raw btf_ext data (Yauheni Kaliuta) [1747341] - [tools] btf: expose API to work with raw btf data (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add log_level to bpf_load_program_attr (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add missing strings.h include (Yauheni Kaliuta) [1747341] - [s390] s390/net: move pnet constants (Yauheni Kaliuta) [1747341] - [tools] bpf: test_maps: fix possible out of bound access warning (Yauheni Kaliuta) [1747341] - [tools] tools: bpftool: doc, fix incorrect text (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test reading the offloaded program (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add test for mixing generic and offload XDP (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: print traceback when test fails (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: fix the expected messages (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add const qualifier to btf__get_map_kv_tids() map_name parameter (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add "any alignment" annotation for some tests (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: use localhost in tcp_{server, client}.py (Yauheni Kaliuta) [1747341] - [s390] s390: bpf: fix JMP32 code-gen (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: remove generated verifier/tests.h on 'make clean' (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Check the prog id before exiting (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Add a "force" flag to XDP samples (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Extend RLIMIT_MEMLOCK for xdp_{sample_pkts, router_ipv4} (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Convert XDP samples to libbpf usage (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: xdp_redirect_cpu have not need for read_trace_pipe (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test for BPF_F_LOCK (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: sync uapi/bpf.h (Yauheni Kaliuta) [1747341] - [kernel] bpf: introduce BPF_F_LOCK flag (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add bpf_spin_lock C test (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add simple BPF_PROG_TEST_RUN examples for flow dissector (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add bpf_spin_lock verifier tests (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: sync include/uapi/linux/bpf.h (Yauheni Kaliuta) [1747341] - [kernel] bpf: add support for bpf_spin_lock to cgroup local storage (Yauheni Kaliuta) [1747341] - [kernel] bpf: introduce bpf_spin_lock (Yauheni Kaliuta) [1747341] - [net] bpf: Correctly annotate implicit fall through in bpf_base_func_proto (Yauheni Kaliuta) [1747341] - [kernel] bpf, cgroups: clean up kerneldoc warnings (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix bitrotted kerneldoc (Yauheni Kaliuta) [1747341] - [include] bpf: BPF_PROG_TYPE_CGROUP_{SKB, SOCK, SOCK_ADDR} require cgroups enabled (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: mark verifier test that uses bpf_trace_printk as BPF_PROG_TYPE_TRACEPOINT (Yauheni Kaliuta) [1747341] - [net] bpf: add BPF_PROG_TEST_RUN support for flow dissector (Yauheni Kaliuta) [1747341] - [net] net/flow_dissector: move bpf case into __skb_flow_bpf_dissect (Yauheni Kaliuta) [1747341] - [net] Revert "[net] flow_dissector: disable preemption around BPF calls" (Yauheni Kaliuta) [1747341] - [tools] tools: bpftool: warn about risky prog array updates (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: remove duplicated include (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up the rest of test_verifier (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_verifier (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: prepare for break up of verifier tests (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: makefile support sub-register code-gen test mode (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: functional and min/max reasoning unit tests for JMP32 (Yauheni Kaliuta) [1747341] - [s390] s390: bpf: implement jitting of JMP32 (Yauheni Kaliuta) [1747341] - [powerpc] ppc: bpf: implement jitting of JMP32 (Yauheni Kaliuta) [1747341] - [arm64] arm64: bpf: implement jitting of JMP32 (Yauheni Kaliuta) [1747341] - [x86] x86_64: bpf: implement jitting of JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: JIT blinds support JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: interpreter support for JMP32 (Yauheni Kaliuta) [1747341] - [tools] tools: bpftool: teach cfg code about JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: disassembler support JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier support JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: refactor verifier min/max code for condition jump (Yauheni Kaliuta) [1747341] - [include] bpf: allocate 0x06 to new eBPF instruction class JMP32 (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: suppress readelf stderr when probing for BTF support (Yauheni Kaliuta) [1747341] - [net] bpf: allow BPF programs access skb_shared_info->gso_segs field (Yauheni Kaliuta) [1747341] - [tools] tool: feature probing, change default action (Yauheni Kaliuta) [1747341] - [kernel] bpf: notify offload JITs about optimizations (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier: record original instruction index (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: add tests for dead code removal (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier: remove unconditional branches by 0 (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier: remove dead code (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier: hard wire branches to dead code (Yauheni Kaliuta) [1747341] - [kernel] bpf: change parameters of call/branch offset adjustment (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: don't hardcode iptables/nc path in test_tcpnotify_user (Yauheni Kaliuta) [1747341] - [tools] libbpf: Show supported ELF section names when failing to guess prog/attach type (Yauheni Kaliuta) [1747341] - [documentation] bpf: btf: add btf documentation (Yauheni Kaliuta) [1747341] - [kernel] perf: Make perf_event_output() propagate the output() return (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix a (false) compiler warning (Yauheni Kaliuta) [1747341] - [tools] tool: add bash completion for peek/push/enqueue/pop/dequeue (Yauheni Kaliuta) [1747341] - [tools] tool: add pop and dequeue commands (Yauheni Kaliuta) [1747341] - [tools] tool: add push and enqueue commands (Yauheni Kaliuta) [1747341] - [tools] tool: add peek command (Yauheni Kaliuta) [1747341] - [tools] tool: don't print empty key/value for maps (Yauheni Kaliuta) [1747341] - [tools] tool: make key optional in lookup command (Yauheni Kaliuta) [1747341] - [tools] tool: make key and value optional in update command (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: support __int128 in bpftool map pretty dumper (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add bpffs pretty print test for int128 (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: refactor test_btf pretty printing for multiple map value formats (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add int128 raw test in test_btf (Yauheni Kaliuta) [1747341] - [kernel] bpf: btf: support 128 bit integer type (Yauheni Kaliuta) [1747341] - [tools] libbpf: don't define CC and AR (Yauheni Kaliuta) [1747341] - [include] bpf: remove leftovers after v5.0 update (Yauheni Kaliuta) [1715770] - [target] scsi: target: cxgbit: add support for IEEE_8021QAZ_APP_SEL_STREAM selector (Vishal Kulkarni) [1725820] - [netdrv] cxgb4i: add support for IEEE_8021QAZ_APP_SEL_STREAM selector (Vishal Kulkarni) [1725818] - [net] SUNRPC: Fix possible autodisconnect during connect due to old last_used (Dave Wysochanski) [1724692] - [fs] NFSv4: Add lease_time and lease_expired to 'nfs4:' line of mountstats (Dave Wysochanski) [1727369] - [scsi] scsi: zfcp: fix reaction on bit error threshold notification (Philipp Rudo) [1764494] - [iommu] iommu/arm-smmu: Error out only if not enough context interrupts (Mark Langsdorf) [1658736] - [netdrv] cxgb4:Fix out-of-bounds MSI-X info array access (Vishal Kulkarni) [1763194] - [fs] vfs: Fix EOVERFLOW testing in put_compat_statfs64 (Eric Sandeen) [1757902] - [security] selinux: fix context string corruption in convert_context() (Ondrej Mosnacek) [1758086] - [fs] cifs: use cifsInodeInfo->open_file_lock while iterating to avoid a panic (Dave Wysochanski) [1757865] - [kernel] alarmtimer: Use EOPNOTSUPP instead of ENOTSUPP (Vladis Dronov) [1760638] - [netdrv] cxgb4: RHEL-only disable device dump (Jonathan Toppins) [1708456] - [fs] xfs: Fix deadlock between AGI and AGF with RENAME_WHITEOUT (Brian Foster) [1759564] - [x86] x86/stacktrace: Prevent access_ok() warnings in arch_stack_walk_user() (Jerome Marchand) [1757758] - [s390] s390/sclp: Fix bit checked for has_sipl (Philipp Rudo) [1748347] - [fs] dax: dax_layout_busy_page() should not unmap cow pages (Jeff Moyer) [1752109] - [fs] dax: Fix missed wakeup in put_unlocked_entry() (Jeff Moyer) [1752109] - [fs] dax: Fix missed wakeup with PMD faults (Jeff Moyer) [1752109] - [fs] dax: Fix xarray entry association for mixed mappings (Jeff Moyer) [1752109] - [mm] mm: page_mkclean vs MADV_DONTNEED race (Jeff Moyer) [1752109] - [fs] dax: Flush partial PMDs correctly (Jeff Moyer) [1752109 1724979] - [fs] dax: Use non-exclusive wait in wait_entry_unlocked() (Jeff Moyer) [1752109] - [x86] x86/mm: Fix decoy address handling vs 32-bit builds (Jeff Moyer) [1752109 1585079] - [fs] dax: Fix unlock mismatch with updated API (Jeff Moyer) [1752109 1724956] - [fs] dax: Don't access a freed inode (Jeff Moyer) [1752109 1724956] - [fs] dax: Check page->mapping isn't NULL (Jeff Moyer) [1752109 1585079 1724956] - [fs] dax: Avoid losing wakeup in dax_lock_mapping_entry (Jeff Moyer) [1752109] - [fs] dax: Fix huge page faults (Jeff Moyer) [1752109] - [fs] dax: Fix dax_unlock_mapping_entry for PMD pages (Jeff Moyer) [1752109] - [fs] dax: Reinstate RCU protection of inode (Jeff Moyer) [1752109] - [fs] dax: Make sure the unlocking entry isn't locked (Jeff Moyer) [1752109] - [fs] dax: Remove optimisation from dax_lock_mapping_entry (Jeff Moyer) [1752109] - [fs] dax: Convert page fault handlers to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert dax_lock_mapping_entry to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert dax writeback to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert __dax_invalidate_entry to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert dax_layout_busy_page to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert dax_insert_pfn_mkwrite to XArray (Jeff Moyer) [1752109] - [fs] dax: Hash on XArray instead of mapping (Jeff Moyer) [1752109] - [fs] dax: Rename some functions (Jeff Moyer) [1752109] - [fs] dax: Fix deadlock in dax_lock_mapping_entry() (Jeff Moyer) [1752109 1585079 1641544] - [drivers] device-dax: Add missing address_space_operations (Jeff Moyer) [1752109 1585079] - [x86] x86/mm/pat: Prepare {reserve, free}_memtype() for "decoy" addresses (Jeff Moyer) [1752109 1585079] - [mm] mm, memory_failure: Teach memory_failure() about dev_pagemap pages (Jeff Moyer) [1703560 1752109 1585079] - [fs] filesystem-dax: Introduce dax_lock_mapping_entry() (Jeff Moyer) [1752109 1585079] - [mm] mm, memory_failure: Collect mapping size in collect_procs() (Jeff Moyer) [1752109 1585079] - [mm] mm, madvise_inject_error: Let memory_failure() optionally take a page reference (Jeff Moyer) [1752109 1585079] - [mm] mm, madvise_inject_error: Disable MADV_SOFT_OFFLINE for ZONE_DEVICE pages (Jeff Moyer) [1752109 1585079] - [fs] filesystem-dax: Set page->index (Jeff Moyer) [1752109 1585079] - [drivers] device-dax: Set page->index (Jeff Moyer) [1752109 1585079] - [drivers] device-dax: Enable page_mapping() (Jeff Moyer) [1752109 1585079] - [drivers] device-dax: Convert to vmf_insert_mixed and vm_fault_t (Jeff Moyer) [1752109 1585079] - [pci] PCI: Add quirk to disable MSI-X support for Amazon's Annapurna Labs Root Port (Myron Stowe) [1732357] - [pci] PCI/VPD: Prevent VPD access for Amazon's Annapurna Labs Root Port (Myron Stowe) [1732357] - [pci] PCI: Add ACS quirk for Amazon Annapurna Labs root ports (Myron Stowe) [1732357] - [pci] PCI: Add Amazon's Annapurna Labs vendor ID (Myron Stowe) [1732357] - [arm64] arm64: PCI: Preserve firmware configuration when desired (Myron Stowe) [1732372] - [arm64] arm64: PCI: Allow resource reallocation if necessary (Myron Stowe) [1732372] - [pci] PCI: Don't auto-realloc if we're preserving firmware config (Myron Stowe) [1732372] - [pci] PCI/ACPI: Evaluate PCI Boot Configuration _DSM (Myron Stowe) [1732372] - [irqchip] irqchip/gic-v2m: Add support for Amazon Graviton variant of GICv3+GICv2m (Myron Stowe) [1732382] - [pci] PCI: al: Add Amazon Annapurna Labs PCIe host controller driver (Myron Stowe) [1732357] - [netdrv] mlx4: fix spelling mistake "veify" -> "verify" (Alaa Hleihel) [1724340] - [netdrv] IB/mlx4: Fix memory leaks (Alaa Hleihel) [1724340] - [netdrv] net/mlx4_en: fix a memory leak bug (Alaa Hleihel) [1724340] - [netdrv] IB/mlx4: Delete unused func arg (Alaa Hleihel) [1724340] - [netdrv] net/mlx4_en: ethtool, Remove unsupported SFP EEPROM high pages query (Alaa Hleihel) [1724340 1724339] - [netdrv] net/mlx4_core: Change the error print to info print (Alaa Hleihel) [1724340 1724339] - [netdrv] mlx4: Convert pv_id_table to XArray (Alaa Hleihel) [1724340 1724339] - [netdrv] IB/mlx4: Fix race condition between catas error reset and aliasguid flows (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4_core: Fix qp mtt size calculation (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4_core: Fix locking in SRIOV mode when switching between events and polling (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4_core: Fix reset flow when in command polling mode (Alaa Hleihel) [1724340 1724338] - [netdrv] mellanox: Switch to bitmap_zalloc() (Alaa Hleihel) [1724340 1724338] - [netdrv] IB/mlx4: Increase the timeout for CM cache (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4_core: A write memory barrier is sufficient in EQ ci update (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4: Mark expected switch fall-through (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4: remove unneeded semicolon (Alaa Hleihel) [1724340 1724338] - [parport] parport: parport_serial: Add support for Sunix Multi I/O boards (John Linville) [1663781] - [tty] serial: 8250_pci: Add support for Sunix serial boards (John Linville) [1663781] - [scsi] hpsa: update driver version (Joseph Szczypek) [1761968] - [scsi] scsi: hpsa: add missing hunks in reset-patch (Joseph Szczypek) [1761968] - [netdrv] igc: Clean up unused shadow_vfta pointer (David Arcari) [1721713] - [netdrv] igc: Add Rx checksum support (David Arcari) [1721713] - [netdrv] igc: Add set_rx_mode support (David Arcari) [1721713] - [netdrv] igc: Add SCTP CRC checksumming functionality (David Arcari) [1721713] - [netdrv] igc: Add tx_csum offload functionality (David Arcari) [1721713] - [netdrv] igc: Remove unneeded PCI bus defines (David Arcari) [1721713] - [netdrv] igc: Add NVM checksum validation (David Arcari) [1721713] - [netdrv] igc: Remove useless forward declaration (David Arcari) [1721713] - [netdrv] ethernet: Delete unnecessary checks before the macro call dev_kfree_skb (David Arcari) [1721713] - [netdrv] igc: Add more SKUs for i225 device (David Arcari) [1721713] - [netdrv] igc: Update the MAC reset flow (David Arcari) [1721713] - [netdrv] igc: Remove the unused field from a device specification structure (David Arcari) [1721713] - [netdrv] igc: Remove the polarity field from a PHY information structure (David Arcari) [1721713] - [netdrv] net: Use skb accessors in network drivers (David Arcari) [1721713] - [netdrv] igc: Prefer pcie_capability_read_word() (David Arcari) [1721713] - [netdrv] igc: Cleanup the redundant code (David Arcari) [1721713] - [netdrv] igc: Add flow control support (David Arcari) [1721713] - [netdrv] igc: Remove the obsolete workaround (David Arcari) [1721713] - [netdrv] igc: Clean up unused pointers (David Arcari) [1721713] - [netdrv] igc: Fix double definitions (David Arcari) [1721713] - [netdrv] igb/igc: warn when fatal read failure happens (David Arcari) [1721713] - [scsi] scsi: qla2xxx: Fix different size DMA Alloc/Unmap (Himanshu Madhani) [1753031] - [scsi] qla2xxx: call dma_free_coherent with correct size in all cases in qla24xx_sp_unmap (Himanshu Madhani) [1753031] - [arm64] crypto: arm64/crc32 - remove PMULL based CRC32 driver (Mark Salter) [1742821] - [arm64] arm64/lib: improve CRC32 performance for deep pipelines (Mark Salter) [1742821] - [arm64] arm64/lib: add accelerated crc32 routines (Mark Salter) [1742821] - [arm64] arm64: cpufeature: add feature for CRC32 instructions (Mark Salter) [1742821] - [lib] lib/crc32: make core crc32() routines weak so they can be overridden (Mark Salter) [1742821] - [arm64] arm64: cpu: Move errata and feature enable callbacks closer to callers (Mark Salter) [1742821] - [arm64] arm64: kill config_sctlr_el1() (Mark Salter) [1742821] - [include] ethtool: Add SFF-8436 and SFF-8636 max EEPROM length definitions (Petr Oros) [1757522] - [net] bridge/mdb: remove wrong use of NLM_F_MULTI (Hangbin Liu) [1756799] - [net] bridge: mcast: don't delete permanent entries when fast leave is enabled (Hangbin Liu) [1756799] - [net] bridge: multicast: use rcu to access port list from br_multicast_start_querier (Hangbin Liu) [1756799] - [net] bridge: Fix ethernet header pointer before check skb forwardable (Hangbin Liu) [1756799] - [net] clear skb->tstamp in bridge forwarding path (Hangbin Liu) [1756799] - [net] bridge: br_arp_nd_proxy: set icmp6_router if neigh has NTF_ROUTER (Hangbin Liu) [1756799] - [net] vlan: Inherit MPLS features from parent device (Hangbin Liu) [1724306] - [netdrv] linux/dim: Fix overflow in dim calculation (Ivan Vecera) [1737807] - [lib] dim: Fix -Wunused-const-variable warnings (Ivan Vecera) [1737807] - [lib] linux/dim: Add completions count to dim_sample (Ivan Vecera) [1737807] - [netdrv] linux/dim: Move implementation to .c files (Ivan Vecera) [1737807] - [netdrv] linux/dim: Rename externally used net_dim members (Ivan Vecera) [1737807] - [netdrv] linux/dim: Rename net_dim_sample() to net_dim_update_sample() (Ivan Vecera) [1737807] - [netdrv] linux/dim: Rename externally exposed macros (Ivan Vecera) [1737807] - [include] linux/dim: Remove "net" prefix from internal DIM members (Ivan Vecera) [1737807] - [include] linux/dim: Move logic to dim.h (Ivan Vecera) [1737807] - [tools] selftests: add a test case for cls_lower handle overflow (Ivan Vecera) [1761512] - [net] idr: introduce idr_for_each_entry_continue_ul() (Ivan Vecera) [1761512] - [net] idr: fix overflow case for idr_for_each_entry_ul() (Ivan Vecera) [1761512] - [net] sctp: add chunks to sk_backlog when the newsk sk_socket is not set (Xin Long) [1734271] - [net] netns: enable to dump full nsid translation table (Petr Oros) [1757748] - [net] netns: enable to specify a nsid for a get request (Petr Oros) [1757748] - [net] netns: add support of NETNSA_TARGET_NSID (Petr Oros) [1757748] - [net] netns: introduce 'struct net_fill_args' (Petr Oros) [1757748] - [net] netns: remove net arg from rtnl_net_fill() (Petr Oros) [1757748] - [net] mpls: fix warning with multi-label encap (Hangbin Liu) [1756788] - [net] mpls: Return error for RTA_GATEWAY attribute (Hangbin Liu) [1756788] - [net] macsec: drop skb sk before calling gro_cells_receive (Xin Long) [1745819] - [net] team: add ethtool get_link_ksettings (Hangbin Liu) [1724896] - [net] sched: flower: don't call synchronize_rcu() on mask creation (Ivan Vecera) [1751856] - [net] sched: flower: refactor reoffload for concurrent access (Ivan Vecera) [1751856] - [net] sched: flower: fix filter net reference counting (Ivan Vecera) [1751856] - [net] sched: flower: use correct ht function to prevent duplicates (Ivan Vecera) [1751856] - [net] sched: flower: insert filter to ht before offloading it to hw (Ivan Vecera) [1751856] - [net] sched: ensure tc flower reoffload takes filter ref (Ivan Vecera) [1751856] - [net] sched: flower: set unlocked flag for flower proto ops (Ivan Vecera) [1751856] - [net] sched: flower: track rtnl lock state (Ivan Vecera) [1751856] - [net] sched: flower: protect flower classifier state with spinlock (Ivan Vecera) [1751856] - [net] sched: flower: handle concurrent tcf proto deletion (Ivan Vecera) [1751856] - [net] sched: flower: handle concurrent filter insertion in fl_change (Ivan Vecera) [1751856] - [net] sched: flower: protect masks list with spinlock (Ivan Vecera) [1751856] - [net] sched: flower: handle concurrent mask insertion (Ivan Vecera) [1751856] - [net] sched: flower: add reference counter to flower mask (Ivan Vecera) [1751856] - [net] sched: flower: track filter deletion with flag (Ivan Vecera) [1751856] - [net] sched: flower: introduce reference counting for filters (Ivan Vecera) [1751856] - [net] sched: flower: refactor fl_change (Ivan Vecera) [1751856] - [net] sched: flower: don't check for rtnl on head dereference (Ivan Vecera) [1751856] - [kernel] exit from RHEL 8.2 early ystream mode (Phillip Lougher)- [x86] kvm: svm: Remove unneeded WBINVD and DF_FLUSH when starting SEV guests (Janakarajan Natarajan) [1762517] - [x86] kvm: svm: Reduce WBINVD/DF_FLUSH invocations (Janakarajan Natarajan) [1762517] - [x86] kvm: svm: Guard against DEACTIVATE when performing WBINVD/DF_FLUSH (Janakarajan Natarajan) [1762517] - [x86] kvm: svm: Serialize access to the SEV ASID bitmap (Janakarajan Natarajan) [1762517] - [xen] remove pre-xen3 fallback handlers (Vitaly Kuznetsov) [1759997] - [net] SUNRPC: Count ops completing with tk_status < 0 (Dave Wysochanski) [1636572] - [net] SUNRPC: Use proper printk specifiers for unsigned long long (Dave Wysochanski) [1636572] - [net] SUNRPC: Move call to rpc_count_iostats before rpc_call_done (Dave Wysochanski) [1636572] - [net] SUNRPC: Add tracking of RPC level errors (Dave Wysochanski) [1636572] - [net] SUNRPC: Refactor rpc_restart_call/rpc_restart_call_prepare (Dave Wysochanski) [1636572] - [net] SUNRPC: Fix up task signalling (Dave Wysochanski) [1636572] - [net] SUNRPC: Track writers of the 'channel' file to improve cache_listeners_exist (Dave Wysochanski) [1741333] - [net] sunrpc/cache: handle missing listeners better. (Dave Wysochanski) [1741333] - [pci] PCI/ACPI: Advertise _HPX Type 3 support via _OSC (Myron Stowe) [1712756] - [pci] PCI/ACPI: Implement _HPX Type 3 Setting Record (Myron Stowe) [1712756] - [netdrv] e1000e: Add support for Comet Lake (David Arcari) [1764549] - [netdrv] e1000e: Add support for S0ix (Ken Cox) [1721709] - [netdrv] e1000e: Make speed detection on hotplugging cable more reliable (Ken Cox) [1721709] - [netdrv] ethernet: Delete unnecessary checks before the macro call dev_kfree_skb (Ken Cox) [1721709] - [netdrv] e1000e: add workaround for possible stalled packet (Ken Cox) [1721709] - [netdrv] e1000e: Use dev_get_drvdata where possible (Ken Cox) [1721709] - [netdrv] net: Use skb accessors in network drivers (Ken Cox) [1721709] - [netdrv] e1000e: PCIm function state support (Ken Cox) [1721709] - [netdrv] e1000e: Make watchdog use delayed work (Ken Cox) [1721709] - [netdrv] e1000e: Reduce boot time by tightening sleep ranges (Ken Cox) [1721709] - [netdrv] e1000e: Increase pause and refresh time (Ken Cox) [1721709] - [scsi] scsi: megaraid_sas: Introduce module parameter for default queue depth (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Fix a compilation warning (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Make a bunch of functions static (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Make some functions static (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: fix panic on loading firmware crashdump (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: fix spelling mistake "megarid_sas" -> "megaraid_sas" (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Update driver version to 07.710.50.00 (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add module parameter for FW Async event logging (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Enable msix_load_balance for Invader and later controllers (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Fix calculation of target ID (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Make some symbols static (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Update driver version to 07.710.06.00-rc1 (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Introduce various Aero performance modes (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Use high IOPS queues based on IO workload (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Set affinity for high IOPS reply queues (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Enable coalescing for high IOPS queues (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add support for High IOPS queues (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add support for MPI toolbox commands (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Offload Aero RAID5/6 division calculations to driver (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: RAID1 PCI bandwidth limit algorithm is applicable for only Ventura (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: megaraid_sas: Add check for count returned by HOST_DEVICE_LIST DCMD (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Handle sequence JBOD map failure at driver level (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Don't send FPIO to RL Bypass queue (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: In probe context, retry IOC INIT once if firmware is in fault (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Release Mutex lock before OCR in case of DCMD timeout (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Call disable_irq from process IRQ poll (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Remove few debug counters from IO path (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add support for Non-secure Aero PCI IDs (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add 32 bit atomic descriptor support to AERO adapters (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Use struct_size() helper (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Remove unused including (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: use DEVICE_ATTR_{RO, RW} (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: use octal permissions instead of constants (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: make max_sectors visible in sys (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: remove set but not used variables 'buff_addr' and 'ci_h' (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: remove set but not used variable 'sge_sz' (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: remove set but not used variables 'host' and 'wait_time' (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: remove set but not used variable 'cur_state' (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Update driver version to 07.708.03.00 (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Export RAID map through debugfs (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Fix MSI-X vector print (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add debug prints for device list (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add prints in suspend and resume path (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Print firmware interrupt status (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Print FW fault information (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Export RAID map id through sysfs (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Print BAR information from driver (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Dump system registers for debugging (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Dump system interface regs from sysfs (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add formatting option for megasas_dump (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Enhance internal DCMD timeout prints (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Enhance prints in OCR and TM path (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Load balance completions across all MSI-X (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: IRQ poll to avoid CPU hard lockups (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Block PCI config space access from userspace during OCR (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Rework code around controller reset (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: fw_reset_no_pci_access required for MFI adapters only (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Remove unused variable target_index (Tomas Henzl) [1726251] - [x86] perf/x86/msr: Add Comet Lake CPU support (Michael Petlan) [1763290] - [x86] perf/x86/intel: Add Comet Lake CPU support (Michael Petlan) [1763290] - [x86] perf/x86/cstate: Add Comet Lake CPU support (Michael Petlan) [1763290] - [x86] perf/x86/intel: Update KBL Package C-state events to also include PC8/PC9/PC10 counters (Michael Petlan) [1763290] - [x86] x86/cpu: Add Comet Lake to the Intel CPU models header (Michael Petlan) [1763290] - [s390] s390/qeth: reject oversized SNMP requests (Philipp Rudo) [1726414] - [s390] s390/qeth: serialize cmd reply with concurrent timeout (Philipp Rudo) [1726414] - [s390] s390/qeth: move cast type selection into fill_header() (Philipp Rudo) [1726414] - [s390] s390/qeth: extract helper for route validation (Philipp Rudo) [1726414] - [s390] s390/qeth: consolidate skb RX processing in L3 driver (Philipp Rudo) [1726414] - [s390] s390/qeth: consolidate pm code (Philipp Rudo) [1726414] - [s390] s390/qeth: streamline SNMP cmd code (Philipp Rudo) [1726414] - [s390] s390/qeth: remove static cmd buffer infrastructure (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate MPC cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate vnicc cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate diag cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate various cmds with sub-types (Philipp Rudo) [1726414] - [s390] s390/qeth: clarify parameter for simple assist cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate simple IPA cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: allocate a single cmd on read channel (Philipp Rudo) [1726414] - [s390] s390/qeth: command-chain the IDX sequence (Philipp Rudo) [1726414] - [s390] s390/qeth: convert RCD code to common IO infrastructure (Philipp Rudo) [1726414] - [s390] s390/qeth: add support for dynamically allocated cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: remove 'channel' parameter from callbacks (Philipp Rudo) [1726414] - [s390] s390/qeth: convert device-specific trace entries (Philipp Rudo) [1726414] - [s390] s390/qeth: remove OSN-specific IO code (Philipp Rudo) [1726414] - [s390] s390/qeth: remove qeth_wait_for_buffer() (Philipp Rudo) [1726414] - [s390] s390/qeth: clean up setting of BLKT defaults (Philipp Rudo) [1726414] - [s390] s390/qeth: restart pending READ cmd from callback (Philipp Rudo) [1726414] - [s390] s390/qeth: simplify DOWN state handling (Philipp Rudo) [1726414] - [s390] s390/qeth: use mm helpers (Philipp Rudo) [1726414] - [s390] s390/qeth: don't mask TX errors on IQD devices (Philipp Rudo) [1726414] - [s390] s390/qeth: handle error when updating TX queue count (Philipp Rudo) [1726414] - [s390] s390/qeth: fix VLAN attribute in bridge_hostnotify udev event (Philipp Rudo) [1726414] - [s390] s390/qeth: check dst entry before use (Philipp Rudo) [1726414] - [s390] s390/qeth: handle limited IPv4 broadcast in L3 TX path (Philipp Rudo) [1726414] - [s390] s390/qeth: trust non-IP cast type in qeth_l3_fill_header() (Philipp Rudo) [1726414] - [s390] s390/qeth: extract helper to determine L2 cast type (Philipp Rudo) [1726414] - [s390] s390/qeth: cache max number of available buffer elements (Philipp Rudo) [1726414] - [s390] s390/qeth: don't clear Output buffers on every queue init (Philipp Rudo) [1726414] - [s390] s390/qeth: use IS_* helpers for checking device type (Philipp Rudo) [1726414] - [s390] s390/qeth: clean up stale buffer state documentation (Philipp Rudo) [1726414] - [s390] s390/qeth: remove RX seqno in skb->cb (Philipp Rudo) [1726414] - [s390] s390: qeth: address type mismatch warning (Philipp Rudo) [1726414] - [s390] s390/qeth: stop/wake TX queues based on their fill level (Philipp Rudo) [1726414] - [s390] s390/qeth: simplify QoS code (Philipp Rudo) [1726414] - [s390] s390/qeth: add TX multiqueue support for OSA devices (Philipp Rudo) [1726414] - [s390] s390/qeth: add TX multiqueue support for IQD devices (Philipp Rudo) [1726414] - [s390] s390/qeth: don't keep statistics for tx timeout (Philipp Rudo) [1726414] - [s390] s390/qeth: don't bother updating the last-tx time (Philipp Rudo) [1726414] - [s390] s390/qeth: handle error from qeth_update_from_chp_desc() (Philipp Rudo) [1726414] - [s390] s390/qeth: clarify naming for some QDIO helpers (Philipp Rudo) [1726414] - [s390] s390/qeth: send IDX cmds via qeth_send_control_data() (Philipp Rudo) [1726414] - [s390] s390/qeth: use callback to finalize cmd (Philipp Rudo) [1726414] - [s390] s390/qeth: let qeth_notify_reply() set the notify reason (Philipp Rudo) [1726414] - [s390] s390/qeth: clarify default cmd callback (Philipp Rudo) [1726414] - [s390] s390/qeth: don't poll for cmd IO completion (Philipp Rudo) [1726414] - [s390] s390/qeth: convert IP table spinlock to mutex (Philipp Rudo) [1726414] - [s390] s390/qeth: defer IPv6 address notifier events (Philipp Rudo) [1726414] - [s390] s390/qeth: add wrapper for IP table access (Philipp Rudo) [1726414] - [s390] s390/qeth: remove locking for RX modeset cache (Philipp Rudo) [1726414] - [s390] s390/qeth: defer RX modesetting (Philipp Rudo) [1726414] - [s390] s390/qeth: fix race when initializing the IP address table (Philipp Rudo) [1726414] - [s390] s390/qeth: don't erase configuration while probing (Philipp Rudo) [1726414] - [s390] s390/qeth: drop redundant state checking (Philipp Rudo) [1726414] - [s390] s390/qeth: don't special-case HW trap during suspend (Philipp Rudo) [1726414] - [s390] s390/qeth: remove driver-wide workqueue (Philipp Rudo) [1726414] - [s390] s390/qeth: don't defer close_dev work during recovery (Philipp Rudo) [1726414] - [s390] s390/qeth: remove a redundant check for card->dev (Philipp Rudo) [1726414] - [s390] s390/qeth: call dev_close() during recovery (Philipp Rudo) [1726414] - [s390] s390/qeth: unconditionally clear MAC_REGISTERED flag (Philipp Rudo) [1726414] - [s390] s390/qeth: enable/disable the HW trap a little earlier (Philipp Rudo) [1726414] - [s390] s390/qeth: remove RECOVER state (Philipp Rudo) [1726414] - [s390] s390/qeth: split out OSN netdev ops (Philipp Rudo) [1726414] - [s390] s390/qeth: add support for ETHTOOL_GRINGPARAM (Philipp Rudo) [1726414] - [s390] s390/qeth: overhaul ethtool statistics (Philipp Rudo) [1726414] - [s390] s390/qeth: move ethtool code into its own file (Philipp Rudo) [1726414] - [s390] s390/qeth: reduce ethtool statistics (Philipp Rudo) [1726414] - [s390] s390/qeth: use a static Output Queue array (Philipp Rudo) [1726414] - [s390] s390/qeth: allow manual recovery when device is SOFTSETUP (Philipp Rudo) [1726414] - [s390] s390/qeth: convert remaining legacy cmd callbacks (Philipp Rudo) [1726414] - [s390] s390/qeth: convert bridgeport callbacks (Philipp Rudo) [1726414] - [s390] s390/qeth: allow cmd callbacks to return errnos (Philipp Rudo) [1726414] - [s390] s390/qeth: limit trace to valid data of command request (Philipp Rudo) [1726414] - [s390] s390/qeth: align csum offload with TSO control logic (Philipp Rudo) [1726414] - [s390] s390/qeth: enable only required csum offload features (Philipp Rudo) [1726414] - [s390] s390/qeth: consolidate filling of low-level cmd length fields (Philipp Rudo) [1726414] - [s390] s390/qeth: reduce data length for ARP cache query (Philipp Rudo) [1726414] - [s390] s390/qeth: remove VLAN tracking for L2 devices (Philipp Rudo) [1726414] - [s390] s390/qeth: detach netdevice while card is offline (Philipp Rudo) [1726414] - [s390] s390/qeth: delay netdevice registration (Philipp Rudo) [1726414] - [s390] s390/qeth: remove TX disable from online path (Philipp Rudo) [1726414] - [s390] s390/qeth: register MAC address earlier (Philipp Rudo) [1726414] - [s390] s390/qeth: consolidate open/stop netdev ops (Philipp Rudo) [1726414] - [s390] s390/qeth: remove bogus netif_wake_queue() (Philipp Rudo) [1726414] - [s390] s390/qeth: streamline TX buffer management (Philipp Rudo) [1726414] - [s390] s390/qeth: don't process hsuid in qeth_l3_setup_netdev() (Philipp Rudo) [1726414] - [s390] s390/qeth: remove unused fallback in Layer3's MAC code (Philipp Rudo) [1726414] - [s390] s390/qeth: remove two IPA command helpers (Philipp Rudo) [1726414] - [s390] s390/qeth: replace open-coded cmd setup (Philipp Rudo) [1726414] - [s390] s390/qeth: remove card list (Philipp Rudo) [1726414] - [s390] s390/qeth: unify transmit code (Philipp Rudo) [1726414] - [s390] s390/qeth: handle af_iucv skbs in qeth_l3_fill_header() (Philipp Rudo) [1726414] - [s390] s390/qeth: sanitize ARP requests (Philipp Rudo) [1726414] - [s390] s390/qdio: restrict QAOB usage to IQD unicast queues (Philipp Rudo) [1726414] - [s390] s390/qdio: add sanity checks to the fast-requeue path (Philipp Rudo) [1726414] - [s390] s390/qdio: don't touch the dsci in tiqdio_add_input_queues() (Philipp Rudo) [1726414] - [s390] s390/qdio: (re-)initialize tiqdio list entries (Philipp Rudo) [1726414] - [s390] s390/qdio: optimize state inspection of HW-owned SBALs (Philipp Rudo) [1726414] - [s390] s390/qdio: use get_buf_state() in debug_get_buf_state() (Philipp Rudo) [1726414] - [s390] s390/qdio: allow to scan all Output SBALs in one go (Philipp Rudo) [1726414] - [s390] s390/qdio: consolidate index tracking for queue scan (Philipp Rudo) [1726414] - [s390] s390/qdio: limit direct access to first_to_check cursor (Philipp Rudo) [1726414] - [s390] s390/qdio: eliminate queue's last_move cursor (Philipp Rudo) [1726414] - [s390] s390/qdio: simplify SBAL range calculation (Philipp Rudo) [1726414] - [s390] s390/qdio: pass up count of ready-to-process SBALs (Philipp Rudo) [1726414] - [s390] s390/qdio: fix output of DSCI value in debug file (Philipp Rudo) [1726414] - [s390] s390/qdio: clean up qdio_check_outbound_after_thinint() (Philipp Rudo) [1726414] - [s390] s390/qdio: clean up pci_out_supported() (Philipp Rudo) [1726414] - [s390] s390/qdio: make SBAL address array type-safe (Philipp Rudo) [1726414] - [s390] s390/qdio: clean up AOB handling (Philipp Rudo) [1726414] - [s390] s390/ccwgroup: add get_ccwgroupdev_by_busid() (Philipp Rudo) [1726414]- [net] xprtrdma: Remove stale comment (Kamal Heib) [1720891] - [net] xprtrdma: Update comments that reference ib_drain_qp (Kamal Heib) [1720891] - [net] xprtrdma: Remove pr_err() call sites from completion handlers (Kamal Heib) [1720891] - [net] xprtrdma: Eliminate struct rpcrdma_create_data_internal (Kamal Heib) [1720891] - [net] xprtrdma: Aggregate the inline settings in struct rpcrdma_ep (Kamal Heib) [1720891] - [net] xprtrdma: Remove rpcrdma_create_data_internal::rsize and wsize (Kamal Heib) [1720891] - [net] xprtrdma: Eliminate rpcrdma_ia::ri_device (Kamal Heib) [1720891] - [net] xprtrdma: More Send completion batching (Kamal Heib) [1720891] - [net] xprtrdma: Clean up sendctx functions (Kamal Heib) [1720891] - [net] xprtrdma: Trace marshaling failures (Kamal Heib) [1720891] - [net] xprtrdma: Increase maximum number of backchannel requests (Kamal Heib) [1720891] - [net] xprtrdma: Backchannel can use GFP_KERNEL allocations (Kamal Heib) [1720891] - [net] xprtrdma: Clean up regbuf helpers (Kamal Heib) [1720891] - [net] xprtrdma: De-duplicate "allocate new, free old regbuf" (Kamal Heib) [1720891] - [net] xprtrdma: Allocate req's regbufs at xprt create time (Kamal Heib) [1720891] - [net] xprtrdma: rpcrdma_regbuf alignment (Kamal Heib) [1720891] - [net] xprtrdma: Clean up rpcrdma_create_rep() and rpcrdma_destroy_rep() (Kamal Heib) [1720891] - [net] xprtrdma: Clean up rpcrdma_create_req() (Kamal Heib) [1720891] - [scsi] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 502 (Kamal Heib) [1720891] - [infiniband] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Kamal Heib) [1720891] - [net] xprtrdma: Use struct_size() in kzalloc() (Kamal Heib) [1720891] - [infiniband] RDMA/core: Fix panic when port_data isn't initialized (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Pass udata on uverbs error unwind (Kamal Heib) [1720891] - [infiniband] RDMA/core: Clear out the udata before error unwind (Kamal Heib) [1720891] - [infiniband] RDMA/srp: Rename SRP sysfs name after IB device rename trigger (Kamal Heib) [1720891] - [infiniband] treewide: Add SPDX license identifier - Makefile/Kconfig (Kamal Heib) [1720891] - [infiniband] RDMA/core: Change system parameters callback from dumpit to doit (Kamal Heib) [1720891] - [infiniband] RDMA: Directly cast the sockaddr union to sockaddr (Kamal Heib) [1720891] - [infiniband] RDMA/ipoib: Allow user space differentiate between valid dev_port (Kamal Heib) [1720891] - [infiniband] RDMA/device: Don't fire uevent before device is fully initialized (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Remove hugetlb flag (Kamal Heib) [1720891] - [infiniband] RDMA/bnxt_re: Use core helpers to get aligned DMA address (Kamal Heib) [1720891] - [infiniband] RDMA/bnxt_re: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720891] - [infiniband] RDMA/i40iw: Use core helpers to get aligned DMA address within a supported page size (Kamal Heib) [1720891] - [infiniband] RDMA/i40iw: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720891] - [infiniband] RDMA/verbs: Add a DMA iterator to return aligned contiguous memory blocks (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Add API to find best driver supported page size in an MR (Kamal Heib) [1720891] - [infiniband] RDMA/core: Allow detaching gid attribute netdevice for RoCE (Kamal Heib) [1720891] - [infiniband] RDMA/rxe: Use rdma_read_gid_attr_ndev_rcu to access netdev (Kamal Heib) [1720891] - [infiniband] RDMA/cma: Use rdma_read_gid_attr_ndev_rcu to access netdev (Kamal Heib) [1720891] - [infiniband] RDMA: Introduce and use GID attr helper to read RoCE L2 fields (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Add vlan enable bit for hip08 (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Update some fields of qp context (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Delete unused variable in hns_roce_v2_modify_qp function (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Add enable judgement for UD vlan (Kamal Heib) [1720891] - [infiniband] IB/mlx5: Consider vlan of lower netdev for macvlan GID entries (Kamal Heib) [1720891] - [infiniband] IB/cm: Reduce dependency on gid attribute ndev check (Kamal Heib) [1720891] - [infiniband] RDMA/rxe: Consider skb reserve space based on netdev of GID (Kamal Heib) [1720891] - [infiniband] RDMA: Get rid of iw_cm_verbs (Kamal Heib) [1720891] - [infiniband] RDMA/cxgb4: Use ib_device_set_netdev() (Kamal Heib) [1720891] - [infiniband] RDMA/core: Do not invoke init_port on compat devices (Kamal Heib) [1720891] - [infiniband] IB/core: Set qp->real_qp before it may be accessed (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Initialize uverbs_attr_bundle ucontext in ib_uverbs_get_context (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Initialize udata struct on destroy flows (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Handle page combining avoidance correctly in ib_umem_add_sg_table() (Kamal Heib) [1720891] - [infiniband] RDMA/core: Introduce RDMA subsystem ibdev_* print functions (Kamal Heib) [1720891] - [infiniband] uverbs: Convert idr to XArray (Kamal Heib) [1720891] - [infiniband] RDMA: Remove rdma_user_mmap_page (Kamal Heib) [1720891] - [infiniband] RDMA/mlx5: Use get_zeroed_page() for clock_info (Kamal Heib) [1720891] - [infiniband] RDMA/mlx5: Do not allow the user to write to the clock page (Kamal Heib) [1720891] - [infiniband] RDMA/cma: Consider scope_id while binding to ipv6 ll address (Kamal Heib) [1720891] - [infiniband] IB/core: Allow vlan link local address based RoCE GIDs (Kamal Heib) [1720891] - [infiniband] RDMA/core: Add a netlink command to change net namespace of rdma device (Kamal Heib) [1720891] - [infiniband] RDMA/core: Introduce a helper function to change net namespace of rdma device (Kamal Heib) [1720891] - [infiniband] RDMA/core: Avoid freeing netdevs in disable_device() (Kamal Heib) [1720891] - [infiniband] RDMA/ocrdma: Remove use of idr use pci bdf instead (Kamal Heib) [1720891] - [infiniband] RDMA/drivers: Convert easy drivers to use ib_device_set_netdev() (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Use correct value for SG entries in sg_copy_to_buffer() (Kamal Heib) [1720891] - [infiniband] RDMA: Handle SRQ allocations by IB/core (Kamal Heib) [1720891] - [infiniband] qedr: Convert srqidr to XArray (Kamal Heib) [1720891] - [infiniband] qedr: Convert qpidr to XArray (Kamal Heib) [1720891] - [infiniband] RDMA: Handle AH allocations by IB/core (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Fix bad endianess of port_pd variable (Kamal Heib) [1720891] - [infiniband] RDMA/mad: Reduce MAD scope to mlx5_ib only (Kamal Heib) [1720891] - [infiniband] RDMA/ocrdma: Remove a set-but-not-used variable (Kamal Heib) [1720891] - [infiniband] RDMA/core: Support object allocation in atomic context (Kamal Heib) [1720891] - [infiniband] IB: When attrs.udata/ufile is available use that instead of uobject (Kamal Heib) [1720891] - [infiniband] RDMA/nldev: Return device protocol (Kamal Heib) [1720891] - [infiniband] RDMA/cm: Move debug counters to be under relevant IB device (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Combine contiguous PAGE_SIZE regions in SGEs (Kamal Heib) [1720891] - [infiniband] RDMA/cm: Remove useless zeroing of static global variable (Kamal Heib) [1720891] - [infiniband] RDMA/cma: Set proper port number as index (Kamal Heib) [1720891] - [infiniband] IB: Pass only ib_udata in function prototypes (Kamal Heib) [1720891] - [infiniband] IB: Remove 'uobject->context' dependency in object destroy APIs (Kamal Heib) [1720891] - [infiniband] cxgb4: Convert mmidr to XArray (Kamal Heib) [1720891] - [infiniband] cxgb4: Convert qpidr to XArray (Kamal Heib) [1720891] - [infiniband] cxgb4: Convert cqidr to XArray (Kamal Heib) [1720891] - [infiniband] IB: Pass uverbs_attr_bundle down ib_x destroy path (Kamal Heib) [1720891] - [infiniband] IB: Pass uverbs_attr_bundle down uobject destroy path (Kamal Heib) [1720891] - [infiniband] IB: ucontext should be set properly for all cmd & ioctl paths (Kamal Heib) [1720891] - [infiniband] RDMA/core: Don't compare specific bit after boolean AND (Kamal Heib) [1720891] - [infiniband] RDMA/netlink: Remove unused data structure (Kamal Heib) [1720891] - [infiniband] RDMA/core: Add command to set ib_core device net namspace sharing mode (Kamal Heib) [1720891] - [infiniband] RDMA/core: Add interface to read device namespace sharing mode (Kamal Heib) [1720891] - [infiniband] RDMA/core: Extend ib_device_get_by_index for net namespace (Kamal Heib) [1720891] - [infiniband] RDMA: Check net namespace access for uverbs, umad, cma and nldev (Kamal Heib) [1720891] - [infiniband] RDMA/core: Add module param to disable device sharing among net ns (Kamal Heib) [1720891] - [infiniband] RDMA/core: Support core port attributes in non init_net (Kamal Heib) [1720891] - [infiniband] RDMA/core: Implement compat device/sysfs tree in net namespace (Kamal Heib) [1720891] - [infiniband] RDMA/core: Restrict sysfs entries view to init_net (Kamal Heib) [1720891] - [infiniband] RDMA/core: Introduce ib_core_device to hold device (Kamal Heib) [1720891] - [infiniband] RDMA/rxe: Use correct sizing on buffers holding page DMA addresses (Kamal Heib) [1720891] - [infiniband] RDMA/mthca: Use correct sizing on buffers holding page DMA addresses (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Allow the compiler to verify declaration and definition consistency (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Annotate uverbs_request_next_ptr() return value as a __user pointer (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Add a __user annotation to a pointer (Kamal Heib) [1720891] - [infiniband] IB/rxe: Replace av->network_type with skb->protocol (Kamal Heib) [1720891] - [infiniband] IB/MAD: Add SMP details to MAD tracing (Kamal Heib) [1720891] - [infiniband] IB/UMAD: Add umad trace points (Kamal Heib) [1720891] - [infiniband] IB/MAD: Add agent trace points (Kamal Heib) [1720891] - [infiniband] IB/MAD: Add recv path trace point (Kamal Heib) [1720891] - [infiniband] IB/MAD: Add send path trace points (Kamal Heib) [1720891] - [infiniband] RDMA/vmw_pvrdma: Skip zeroing device attrs (Kamal Heib) [1720891] - [infiniband] IB/iser: remove uninitialized variable len (Kamal Heib) [1720891] - [infiniband] IB/core: Ensure an invalidate_range callback on ODP MR (Kamal Heib) [1720891] - [infiniband] RDMA/rxe: Fix slab-out-bounds access which lead to kernel crash later (Kamal Heib) [1720891] - [infiniband] drivers: infiniband: Fix whitespace in kconfig (Kamal Heib) [1720891] - [infiniband] RDMA/nes: remove redundant check on udata (Kamal Heib) [1720891] - [infiniband] cma: Convert portspace IDRs to XArray (Kamal Heib) [1720891] - [infiniband] ucm: Convert ctx_id_table to XArray (Kamal Heib) [1720891] - [infiniband] ib core: Convert query_idr to XArray (Kamal Heib) [1720891] - [infiniband] RDMA/cm: Convert local_id_table to XArray (Kamal Heib) [1720891] - [infiniband] IB/mad: Convert ib_mad_clients to XArray (Kamal Heib) [1720891] - [infiniband] RDMA: Use __packed annotation instead of __attribute__ ((packed)) (Kamal Heib) [1720891] - [char] tpm: Remove a deprecated comments about implicit sysfs locking (Jerry Snitselaar) [1725580 1742257] - [char] tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts (Jerry Snitselaar) [1725580 1742257] - [char] tpm_tis_core: Turn on the TPM before probing IRQ's (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Fix null pointer dereference on chip register error path (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Actually fail on TPM errors during "get random" (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 505 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 399 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Add SPDX license identifier - Makefile/Kconfig (Jerry Snitselaar) [1725580 1742257] - [tools] selftests/tpm2: Open tpm dev in unbuffered mode (Jerry Snitselaar) [1725580 1742257] - [tools] selftests/tpm2: Extend tests to cover partial reads (Jerry Snitselaar) [1725580 1742257] - [tools] selftests: add TPM 2.0 tests (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: trusted: fix -Wvarags warning (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: Move trusted.h to include/keys [ver #2] (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: trusted: Expose common functionality [ver #2] (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Wrap the buffer from the caller to tpm_buf in tpm_send() (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: trusted: correctly initialize digests and fix locking issue (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: trusted: allow module init if TPM is inactive or deactivated (Jerry Snitselaar) [1725580 1742257] - [net] net/smc: make sure EPOLLOUT is raised (Philipp Rudo) [1726415] - [net] net/smc: avoid fallback in case of non-blocking connect (Philipp Rudo) [1726415] - [net] net/smc: do not schedule tx_work in SMC_CLOSED state (Philipp Rudo) [1726415] - [net] net/smc: common release code for non-accepted sockets (Philipp Rudo) [1726415] - [net] net/smc: Fix error path in smc_init (Philipp Rudo) [1726415] - [net] net/smc: hold conns_lock before calling smc_lgr_register_conn() (Philipp Rudo) [1726415] - [dma] dmaengine: ioatdma: support latency tolerance report (LTR) for v3.4 (Jerry Snitselaar) [1661996] - [dma] dmaengine: ioatdma: add descriptor pre-fetch support for v3.4 (Jerry Snitselaar) [1661996] - [dma] dmaengine: ioatdma: disable DCA enabling on IOATDMA v3.4 (Jerry Snitselaar) [1661996] - [dma] dmaengine: ioatdma: Add Snow Ridge ioatdma device id (Jerry Snitselaar) [1661996] - [kernel] mutex: Fix up mutex_waiter usage (Waiman Long) [1736609] - [kernel] locking/mutex: Use mutex flags macro instead of hard code (Waiman Long) [1736609] - [kernel] locking/mutex: Make __mutex_owner static to mutex.c (Waiman Long) [1736609] - [kernel] locking/mutex: Test for initialized mutex (Waiman Long) [1736609] - [kernel] kernel/locking/mutex.c: remove caller signal_pending branch predictions (Waiman Long) [1736609] - [kernel] Revert "locking/pvqspinlock: Don't wait if vCPU is preempted" (Waiman Long) [1736609] - [kernel] locking/rwsem: Check for operations on an uninitialized rwsem (Waiman Long) [1736609] - [kernel] locking/rwsem: Make handoff writer optimistically spin on owner (Waiman Long) [1736609] - [kernel] locking/rwsem: Add ACQUIRE comments (Waiman Long) [1736609] - [tty] tty/ldsem, locking/rwsem: Add missing ACQUIRE to read_failed sleep loop (Waiman Long) [1736609] - [kernel] locking/rwsem: Add missing ACQUIRE to read_slowpath sleep loop (Waiman Long) [1736609] - [kernel] locking/rwsem: Add missing ACQUIRE to read_slowpath exit when queue is empty (Waiman Long) [1736609] - [kernel] locking/rwsem: Don't call owner_on_cpu() on read-owner (Waiman Long) [1736609] - [kernel] locking/rwsem: Guard against making count negative (Waiman Long) [1736609] - [kernel] locking/rwsem: Adaptive disabling of reader optimistic spinning (Waiman Long) [1736609] - [kernel] locking/rwsem: Enable time-based spinning on reader-owned rwsem (Waiman Long) [1736609] - [kernel] locking/rwsem: Make rwsem->owner an atomic_long_t (Waiman Long) [1736609] - [kernel] locking/rwsem: Enable readers spinning on writer (Waiman Long) [1736609] - [kernel] locking/rwsem: Clarify usage of owner's nonspinaable bit (Waiman Long) [1736609] - [kernel] locking/rwsem: Wake up almost all readers in wait queue (Waiman Long) [1736609] - [kernel] locking/rwsem: More optimal RT task handling of null owner (Waiman Long) [1736609] - [kernel] locking/rwsem: Always release wait_lock before waking up tasks (Waiman Long) [1736609] - [kernel] locking/rwsem: Implement lock handoff to prevent lock starvation (Waiman Long) [1736609] - [kernel] locking/rwsem: Make rwsem_spin_on_owner() return owner state (Waiman Long) [1736609] - [kernel] locking/rwsem: Code cleanup after files merging (Waiman Long) [1736609] - [kernel] locking/rwsem: Add rwsem_init.c to keep __init_rwsem() kABI (Waiman Long) [1736609] - [kernel] locking/rwsem: Merge rwsem.h and rwsem-xadd.c into rwsem.c (Waiman Long) [1736609] - [kernel] locking/rwsem: Implement a new locking scheme (Waiman Long) [1736609] - [kernel] locking/rwsem: Remove rwsem_wake() wakeup optimization (Waiman Long) [1736609] - [kernel] locking/rwsem: Make owner available even if !CONFIG_RWSEM_SPIN_ON_OWNER (Waiman Long) [1736609] - [kernel] locking/lock_events: Use raw_cpu_{add, inc}() for stats (Waiman Long) [1736609] - [kernel] locking/lock_events: Use this_cpu_add() when necessary (Waiman Long) [1736609] - [kernel] locking/rwsem: Revert "[kernel] locking/rwsem: Add missing ACQUIRE to read_slowpath ..." (Waiman Long) [1736609] - [block] block: don't release queue's sysfs lock during switching elevator (Ming Lei) [1760151] - [block] blk-mq: move lockdep_assert_held() into elevator_exit (Ming Lei) [1760151] - [block] block: fix race between switching elevator and removing queues (Ming Lei) [1760151] - [md] raid5: use bio_end_sector in r5_next_bio (Nigel Croxon) [1754949] - [md] raid5: remove STRIPE_OPS_REQ_PENDING (Nigel Croxon) [1754949] - [md] md: add feature flag MD_FEATURE_RAID0_LAYOUT (Nigel Croxon) [1754949] - [md] md/raid0: avoid RAID0 data corruption due to layout confusion. (Nigel Croxon) [1754949] - [md] raid5: don't set STRIPE_HANDLE to stripe which is in batch list (Nigel Croxon) [1754949] - [md] raid5: don't increment read_errors on EILSEQ return (Nigel Croxon) [1754949] - [md] md/raid5: use bio_end_sector to calculate last_sector (Nigel Croxon) [1730670] - [md] md/raid1: fail run raid1 array when active disk less than one (Nigel Croxon) [1730670] - [md] md raid0/linear: Mark array as 'broken' and fail BIOs if a member is gone (Nigel Croxon) [1730670] - [md] raid5 improve too many read errors msg by adding limits (Nigel Croxon) [1730670] - [md] md: don't report active array_state until after revalidate_disk() completes. (Nigel Croxon) [1730670] - [md] md: only call set_in_sync() when it is expected to succeed. (Nigel Croxon) [1730670] - [md] raid1: factor out a common routine to handle the completion of sync write (Nigel Croxon) [1730670] - [md] md: don't call spare_active in md_reap_sync_thread if all member devices can't work (Nigel Croxon) [1730670] - [md] md: don't set In_sync if array is frozen (Nigel Croxon) [1730670] - [md] md: allow last device to be forcibly removed from RAID1/RAID10. (Nigel Croxon) [1730670] - [md] md/raid10: end bio when the device faulty (Nigel Croxon) [1730670] - [md] md/raid1: end bio when the device faulty (Nigel Croxon) [1730670] - [md] md/raid6: Set R5_ReadError when there is read failure on parity disk (Nigel Croxon) [1730670] - [md] raid1: use an int as the return value of raise_barrier() (Nigel Croxon) [1730670] - [md] md/raid1: Fix a warning message in remove_wb() (Nigel Croxon) [1730670] - [crypto] crypto: ccp - Fix SEV_VERSION_GREATER_OR_EQUAL (Gary Hook) [1754634] - [crypto] crypto: ccp - Do not free psp_master when PLATFORM_INIT fails (Gary Hook) [1754634] - [crypto] crypto: ccp - Use kmemdup in ccp_copy_and_save_keypart() (Gary Hook) [1754634] - [crypto] crypto: ccp - introduce SEV_GET_ID2 command (Gary Hook) [1754634] - [netdrv] e1000e: start network tx queue only when link is up (Oleksandr Natalenko) [1747869] - [netdrv] Revert "e1000e: fix cyclic resets at link up with active tx" (Oleksandr Natalenko) [1747869] - [mm] mm/zsmalloc.c: fix build when CONFIG_COMPACTION=n (Rafael Aquini) [1735181] - [mm] mm/zsmalloc.c: fix race condition in zs_destroy_pool (Rafael Aquini) [1735181] - [mm] mm/zsmalloc.c: migration can leave pages in ZS_EMPTY indefinitely (Rafael Aquini) [1735181] - [mm] mm, page_owner: handle THP splits correctly (Rafael Aquini) [1735181] - [mm] hugetlbfs: fix hugetlb page migration/fault race causing SIGBUS (Rafael Aquini) [1735181] - [mm] mm/usercopy: use memory range to be accessed for wraparound check (Rafael Aquini) [1735181] - [mm] mm/memcontrol.c: fix use after free in mem_cgroup_iter() (Rafael Aquini) [1735181] - [mm] mm/hmm: fix bad subpage pointer in try_to_unmap_one (Rafael Aquini) [1735181] - [mm] mm: vmscan: check if mem cgroup is disabled or not before calling memcg slab shrinker (Rafael Aquini) [1735181] - [mm] mm: revert "kmemleak: allow to coexist with fault injection" (Rafael Aquini) [1735181] - [mm] mm/vmalloc: sync unmappings in __purge_vmap_area_lazy() (Rafael Aquini) [1735181] - [mm] mm/vmalloc.c: add priority threshold to __purge_vmap_area_lazy() (Rafael Aquini) [1735181] - [mm] mm/cma.c: fail if fixed declaration can't be honored (Rafael Aquini) [1735181] - [mm] mm/mmu_notifier: use hlist_add_head_rcu() (Rafael Aquini) [1735181] - [mm] mm/mincore.c: fix race between swapoff and mincore (Rafael Aquini) [1735181] - [mm] mm, swap: fix race between swapoff and some swap operations (Rafael Aquini) [1735181] - [mm] mm/failslab.c: by default, do not fail allocations with direct reclaim only (Rafael Aquini) [1735181] - [mm] mm: vmscan: scan anonymous pages on file refaults (Rafael Aquini) [1735181] - [mm] mm/vmscan.c: prevent useless kswapd loops (Rafael Aquini) [1735181] - [mm] mm/page_idle.c: fix oops because end_pfn is larger than max_pfn (Rafael Aquini) [1760459 1735181] - [mm] mm/mempolicy.c: fix an incorrect rebind node in mpol_rebind_nodemask (Rafael Aquini) [1735181] - [mm] mm/vmscan.c: fix trying to reclaim unevictable LRU page (Rafael Aquini) [1735181] - [mm] mm/mlock.c: change count_mm_mlocked_page_nr return type (Rafael Aquini) [1735181] - [mm] mm/mlock.c: mlockall error for flag MCL_ONFAULT (Rafael Aquini) [1735181] - [mm] mm/list_lru.c: fix memory leak in __memcg_init_list_lru_node (Rafael Aquini) [1735181] - [mm] memcg: make it work on sparse non-0-node systems (Rafael Aquini) [1735181] - [mm] prctl_set_mm: downgrade mmap_sem to read lock (Rafael Aquini) [1735181] - [mm] mm/debug.c: fix __dump_page when mapping->host is not set (Rafael Aquini) [1735181] - [mm] mm/debug.c: fix __dump_page() for poisoned pages (Rafael Aquini) [1735181] - [mm] mm: update references to page _refcount (Rafael Aquini) [1735181] - [mm] mm: lower the printk loglevel for __dump_page messages (Rafael Aquini) [1735181] - [mm] mm: print more information about mapping in __dump_page (Rafael Aquini) [1735181] - [mm] hugetlb: use same fault hash key for shared and private mappings (Rafael Aquini) [1735181] - [mm] mm/hugetlb.c: don't put_page in lock of hugetlb_lock (Rafael Aquini) [1735181] - [mm] mm: fix inactive list balancing between NUMA nodes and cgroups (Rafael Aquini) [1735181] - [mm] mm/migrate.c: add missing flush_dcache_page for non-mapped page migrate (Rafael Aquini) [1735181] - [mm] mm: mempolicy: make mbind() return -EIO when MPOL_MF_STRICT is specified (Rafael Aquini) [1734286 1735181] - [mm] mm/hotplug: fix offline undo_isolate_page_range() (Rafael Aquini) [1735181] - [mm] mm/sparse: fix a bad comparison (Rafael Aquini) [1735181] - [mm] mm, swap: bounds check swap_info array accesses to avoid NULL derefs (Rafael Aquini) [1735181] - [mm] mm/vmalloc.c: don't dereference possible NULL pointer in __vunmap() (Rafael Aquini) [1735181] - [mm] mm: hwpoison: fix thp split handing in soft_offline_in_use_page() (Rafael Aquini) [1735181] - [mm] hugetlbfs: fix races and page leaks during migration (Rafael Aquini) [1735181] - [mm] tmpfs: fix uninitialized return value in shmem_link (Rafael Aquini) [1735181] - [mm] tmpfs: fix link accounting when a tmpfile is linked in (Rafael Aquini) [1735181] - [mm] mm: migrate: don't rely on __PageMovable() of newpage after unlocking it (Rafael Aquini) [1735181] - [mm] oom, oom_reaper: do not enqueue same task twice (Rafael Aquini) [1735181] - [mm] mm: page_mapped: don't assume compound page is huge or THP (Rafael Aquini) [1735181] - [mm] mm, memcg: fix reclaim deadlock with writeback (Rafael Aquini) [1735181] - [mm] mm, swap: fix swapoff with KSM pages (Rafael Aquini) [1735181] - [mm] mm/huge_memory: fix lockdep complaint on 32-bit i_size_read() (Rafael Aquini) [1735181] - [mm] mm/huge_memory: splitting set mapping+index before unfreeze (Rafael Aquini) [1735181] - [mm] mm/huge_memory: rename freeze_page() to unmap_page() (Rafael Aquini) [1735181] - [mm] mm/page_alloc.c: fix calculation of pgdat->nr_zones (Rafael Aquini) [1735181] - [mm] mm: use swp_offset as key in shmem_replace_page() (Rafael Aquini) [1735181] - [mm] mm: cleancache: fix corruption on missed inode invalidation (Rafael Aquini) [1735181] - [mm] mm/vmstat.c: fix NUMA statistics updates (Rafael Aquini) [1735181] - [mm] mm, swap: make CONFIG_THP_SWAP depend on CONFIG_SWAP (Rafael Aquini) [1735181] - [mm] ARM: 8820/1: mm: Stop printing the virtual memory layout (Rafael Aquini) [1655192] - [netdrv] net: dsa: bcm_sf2: Remove print of base address (Rafael Aquini) [1655192] - [netdrv] net: systemport: Remove print of base address (Rafael Aquini) [1655192] - [netdrv] net: phy: mdio-bcm-unimac: Remove print of base address (Rafael Aquini) [1655192] - [x86] x86/mm: Don't leak kernel addresses (Rafael Aquini) [1655192] - [x86] x86/realmode: Make set_real_mode_mem() static inline (Rafael Aquini) [1655192] - [x86] x86/realmode: Don't leak the trampoline kernel address (Rafael Aquini) [1655192] - [arm64] arm64/vdso: don't leak kernel addresses (Rafael Aquini) [1655192] - [powerpc] powerpc/traps: Fix the message printed when stack overflows (Rafael Aquini) [1655192] - [kernel] kdb: print real address of pointers instead of hashed addresses (Rafael Aquini) [1655192] - [kernel] kdb: use correct pointer when 'btc' calls 'btt' (Rafael Aquini) [1655192]- [fs] signal: Allow cifs and drbd to receive their terminating signals (Leif Sahlberg) [1757670] - [fs] smb3: fix unmount hang in open_shroot (Leif Sahlberg) [1757670] - [fs] cifs: update internal module number (Leif Sahlberg) [1757670] - [fs] cifs: replace various strncpy with strscpy and similar (Leif Sahlberg) [1757670] - [fs] cifs: Use kzfree() to zero out the password (Leif Sahlberg) [1757670] - [fs] cifs: set domainName when a domain-key is used in multiuser (Leif Sahlberg) [1757670] - [fs] SMB3: Kernel oops mounting a encryptData share with CONFIG_DEBUG_VIRTUAL (Leif Sahlberg) [1757670] - [fs] smb3: send CAP_DFS capability during session setup (Leif Sahlberg) [1757670] - [fs] SMB3: Fix potential memory leak when processing compound chain (Leif Sahlberg) [1757670] - [fs] SMB3: Fix deadlock in validate negotiate hits reconnect (Leif Sahlberg) [1757670] - [fs] cifs: fix rmmod regression in cifs.ko caused by force_sig changes (Leif Sahlberg) [1757670] - [fs] cifs: update internal module number (Leif Sahlberg) [1757670] - [fs] cifs: flush before set-info if we have writeable handles (Leif Sahlberg) [1757670] - [fs] smb3: optimize open to not send query file internal info (Leif Sahlberg) [1757670] - [fs] CIFS: fix deadlock in cached root handling (Leif Sahlberg) [1757670] - [fs] cifs: fix crash in cifs_dfs_do_automount (Leif Sahlberg) [1757670] - [fs] cifs: fix parsing of symbolic link error response (Leif Sahlberg) [1757670] - [fs] cifs: refactor and clean up arguments in the reparse point parsing (Leif Sahlberg) [1757670] - [fs] SMB3: query inode number on open via create context (Leif Sahlberg) [1757670] - [fs] smb3: Send netname context during negotiate protocol (Leif Sahlberg) [1757670] - [fs] smb3: do not send compression info by default (Leif Sahlberg) [1757670] - [fs] smb3: add new mount option to retrieve mode from special ACE (Leif Sahlberg) [1757670] - [fs] smb3: Allow query of symlinks stored as reparse points (Leif Sahlberg) [1757670] - [fs] cifs: Fix a race condition with cifs_echo_request (Leif Sahlberg) [1757670] - [fs] cifs: always add credits back for unsolicited PDUs (Leif Sahlberg) [1757670] - [fs] fs: cifs: cifsssmb: Change return type of convert_ace_to_cifs_ace (Leif Sahlberg) [1757670] - [fs] add some missing definitions (Leif Sahlberg) [1757670] - [fs] cifs: fix typo in debug message with struct field ia_valid (Leif Sahlberg) [1757670] - [fs] smb3: minor cleanup of compound_send_recv (Leif Sahlberg) [1757670] - [fs] CIFS: Fix module dependency (Leif Sahlberg) [1757670] - [fs] cifs: simplify code by removing CONFIG_CIFS_ACL ifdef (Leif Sahlberg) [1757670] - [fs] cifs: Fix check for matching with existing mount (Leif Sahlberg) [1757670] - [fs] cifs: Properly handle auto disabling of serverino option (Leif Sahlberg) [1757670] - [fs] smb3: if max_credits is specified then display it in /proc/mounts (Leif Sahlberg) [1757670] - [fs] Fix match_server check to allow for auto dialect negotiate (Leif Sahlberg) [1757670] - [fs] cifs: add missing GCM module dependency (Leif Sahlberg) [1757670] - [fs] SMB3.1.1: Add GCM crypto to the encrypt and decrypt functions (Leif Sahlberg) [1757670] - [fs] SMB3: Add SMB3.1.1 GCM to negotiated crypto algorigthms (Leif Sahlberg) [1757670] - [fs] fs: cifs: Drop unlikely before IS_ERR(_OR_NULL) (Leif Sahlberg) [1757670] - [fs] cifs: Use kmemdup in SMB2_ioctl_init() (Leif Sahlberg) [1757670] - [fs] SMB3: retry on STATUS_INSUFFICIENT_RESOURCES instead of failing write (Leif Sahlberg) [1757670] - [fs] cifs: fix panic in smb2_reconnect (Leif Sahlberg) [1757670] - [fs] CIFS: cifs_read_allocate_pages: don't iterate through whole page array on ENOMEM (Leif Sahlberg) [1757670] - [fs] dfs_cache: fix a wrong use of kfree in flush_cache_ent() (Leif Sahlberg) [1757670] - [fs] fs/cifs/smb2pdu.c: fix buffer free in SMB2_ioctl_free (Leif Sahlberg) [1757670] - [fs] cifs: fix memory leak of pneg_inbuf on -EOPNOTSUPP ioctl case (Leif Sahlberg) [1757670] - [fs] cifs: add support for SEEK_DATA and SEEK_HOLE (Leif Sahlberg) [1757670] - [fs] cifs: Allocate memory for all iovs in smb2_ioctl (Leif Sahlberg) [1757670] - [fs] cifs: Don't match port on SMBDirect transport (Leif Sahlberg) [1757670] - [fs] cifs:smbd Use the correct DMA direction when sending data (Leif Sahlberg) [1757670] - [fs] cifs:smbd When reconnecting to server, call smbd_destroy() after all MIDs have been called (Leif Sahlberg) [1757670] - [fs] smb3: trivial cleanup to smb2ops.c (Leif Sahlberg) [1757670] - [fs] cifs: cleanup smb2ops.c and normalize strings (Leif Sahlberg) [1757670] - [fs] smb3: display session id in debug data (Leif Sahlberg) [1757670] - [fs] cifs: update module internal version number (Leif Sahlberg) [1757670] - [fs] cifs: fix crash querying symlinks stored as reparse-points (Leif Sahlberg) [1757670] - [fs] SMB3: Clean up query symlink when reparse point (Leif Sahlberg) [1757670] - [fs] cifs: fix strcat buffer overflow and reduce raciness in smb21_set_oplock_level() (Leif Sahlberg) [1757670] - [fs] Negotiate and save preferred compression algorithms (Leif Sahlberg) [1757670] - [fs] cifs: rename and clarify CIFS_ASYNC_OP and CIFS_NO_RESP (Leif Sahlberg) [1757670] - [fs] smb3: Add protocol structs for change notify support (Leif Sahlberg) [1757670] - [fs] cifs: fix smb3_zero_range for Azure (Leif Sahlberg) [1757670] - [fs] cifs: zero-range does not require the file is sparse (Leif Sahlberg) [1757670] - [fs] Add new flag on SMB3.1.1 read (Leif Sahlberg) [1757670] - [fs] cifs: add fiemap support (Leif Sahlberg) [1757670] - [fs] SMB3: Add defines for new negotiate contexts (Leif Sahlberg) [1757670] - [fs] cifs: fix bi-directional fsctl passthrough calls (Leif Sahlberg) [1757670] - [fs] cifs: smbd: take an array of reqeusts when sending upper layer data (Leif Sahlberg) [1757670] - [fs] SMB3: Add handling for different FSCTL access flags (Leif Sahlberg) [1757670] - [fs] cifs: Add support for FSCTL passthrough that write data to the server (Leif Sahlberg) [1757670] - [fs] cifs: remove superfluous inode_lock in cifs_{strict_}fsync (Leif Sahlberg) [1757670] - [fs] cifs: Call MID callback before destroying transport (Leif Sahlberg) [1757670] - [fs] smbd: Make upper layer decide when to destroy the transport (Leif Sahlberg) [1757670] - [fs] SMB3: update comment to clarify enumerating snapshots (Leif Sahlberg) [1757670] - [fs] CIFS: check CIFS_MOUNT_NO_DFS when trying to reuse existing sb (Leif Sahlberg) [1757670] - [fs] CIFS: Show locallease in /proc/mounts for cifs shares mounted with locallease feature. (Leif Sahlberg) [1757670] - [fs] cifs: Fix DFS cache refresher for DFS links (Leif Sahlberg) [1757670] - [fs] cifs: don't use __constant_cpu_to_le32() (Leif Sahlberg) [1757670] - [fs] SMB3: Track total time spent on roundtrips for each SMB3 command (Leif Sahlberg) [1757670] - [fs] cifs: use the right include for signal_pending() (Leif Sahlberg) [1757670] - [fs] CIFS: Mask off signals when sending SMB packets (Leif Sahlberg) [1757670] - [infiniband] RDMA/umem: Revert broken 'off by one' fix (Kamal Heib) [1720888] - [infiniband] RDMA/umem: minor bug fix in error handling path (Kamal Heib) [1720888] - [infiniband] RDMA/uverbs: Don't do double free of allocated PD (Kamal Heib) [1720888] - [infiniband] RDMA: Handle ucontext allocations by IB/core (Kamal Heib) [1720888] - [infiniband] cross-tree: phase out dma_zalloc_coherent() (Kamal Heib) [1720888] - [infiniband] RDMA/core: Fix a WARN() message (Kamal Heib) [1720888] - [infiniband] RDMA/uverbs: Store PR pointer before it is overwritten (Kamal Heib) [1720888] - [infiniband] RDMA/core: Cosmetic change - move member initialization to correct block (Kamal Heib) [1720888] - [infiniband] rdma_rxe: Use netlink messages to add/delete links (Kamal Heib) [1720888] - [infiniband] RDMA/core: Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Close a race after ib_register_device (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Add ib_device_get_by_name() and use it in rxe (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Use driver_unregister and new unregistration API (Kamal Heib) [1720888] - [infiniband] RDMA/device: Provide APIs from the core code to help unregistration (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding (Kamal Heib) [1720888] - [infiniband] RDMA/device: Add ib_device_get_by_netdev() (Kamal Heib) [1720888] - [infiniband] RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev (Kamal Heib) [1720888] - [infiniband] RDMA/cache: Move the cache per-port data into the main ib_port_data (Kamal Heib) [1720888] - [infiniband] RDMA/device: Consolidate ib_device per_port data into one place (Kamal Heib) [1720888] - [infiniband] RDMA: Add and use rdma_for_each_port (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Don't expose number of not-visible entries (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Connect QP number to .doit callback (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Provide parent IDs for PD, MR and QP objects (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Share with user-space object IDs (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Prepare restrack_root to addition of extra fields per-type (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Hide restrack DB from IB/core (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Reduce scope of synchronization lock while updating DB (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Add resource tracker doit callback (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Translate from ID to restrack object (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Convert internal DB from hash to XArray (Kamal Heib) [1720888] - [infiniband] RDMA/core: Move device addition deletion to device.c (Kamal Heib) [1720888] - [infiniband] RDMA/core: Introduce and use ib_setup_port_attrs() (Kamal Heib) [1720888] - [infiniband] RDMA/core: Use simpler device_del() instead of device_unregister() (Kamal Heib) [1720888] - [infiniband] RDMA/nes: Remove useless usecnt variable and redundant memset (Kamal Heib) [1720888] - [infiniband] IB/{hw, sw}: Remove 'uobject->context' dependency in object creation APIs (Kamal Heib) [1720888] - [infiniband] RDMA/qedr: remove set but not used variable 'ib_ctx' (Kamal Heib) [1720888] - [infiniband] RDMA/mthca: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720888] - [infiniband] RDMA: Cleanup undesired pd->uobject usage (Kamal Heib) [1720888] - [infiniband] RDMA/mthca: Clear QP objects during their allocation (Kamal Heib) [1720888] - [include] IB/verbs: Add helper function rdma_udata_to_drv_context (Kamal Heib) [1720888] - [infiniband] IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl and cmd flows (Kamal Heib) [1720888] - [infiniband] IB/ipoib: Use __func__ instead of function's name (Kamal Heib) [1720888] - [infiniband] RDMA/iwpm: Remove set but not used variable 'msg_seq' (Kamal Heib) [1720888] - [infiniband] RDMA/nes: Use for_each_sg_dma_page iterator for umem SGL (Kamal Heib) [1720888] - [net] xprtrdma: Check inline size before providing a Write chunk (Kamal Heib) [1720888] - [infiniband] RDMA/ocrdma: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720888] - [infiniband] RDMA/vmw_pvrdma: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720888] - [infiniband] RDMA/devices: Re-organize device.c locking (Kamal Heib) [1720888] - [infiniband] RDMA/devices: Use xarray to store the client_data (Kamal Heib) [1720888] - [infiniband] RDMA/devices: Use xarray to store the clients (Kamal Heib) [1720888] - [infiniband] RDMA/device: Use an ida instead of a free page in alloc_name (Kamal Heib) [1720888] - [infiniband] RDMA/device: Get rid of reg_state (Kamal Heib) [1720888] - [infiniband] RDMA/device: Check that the rename is nop under the lock (Kamal Heib) [1720888] - [infiniband] RDMA: Handle PD allocations by IB/core (Kamal Heib) [1720888] - [infiniband] RDMA/hns: fix spelling mistake "reseved" -> "reserved" (Kamal Heib) [1720888] - [infiniband] RDMA/core: Share driver structure size with core (Kamal Heib) [1720888] - [infiniband] IB/cma: Define option to set ack timeout and pack tos_set (Kamal Heib) [1720888] - [infiniband] drivers/IB,core: reduce scope of mmap_sem (Kamal Heib) [1720888] - [infiniband] drivers/IB,usnic: reduce scope of mmap_sem (Kamal Heib) [1720888] - [net] svcrdma: Remove syslog warnings in work completion handlers (Kamal Heib) [1720888] - [net] svcrdma: Squelch compiler warning when SUNRPC_DEBUG is disabled (Kamal Heib) [1720888] - [net] svcrdma: Use struct_size() in kmalloc() (Kamal Heib) [1720888] - [infiniband] RDMA/iwpm: move kdoc comments to functions (Kamal Heib) [1720888] - [infiniband] RDMA/cma: Remove CM_ID statistics provided by rdma-cm module (Kamal Heib) [1720888] - [infiniband] scsi: RDMA/srpt: Rework I/O context allocation (Kamal Heib) [1720888] - [infiniband] scsi: RDMA/srpt: Fix handling of command / TMF submission failure (Kamal Heib) [1720888] - [infiniband] RDMA/IWPM: Support no port mapping requirements (Kamal Heib) [1720888] - [infiniband] RDMA/IWPM: refactor the IWPM message attribute names (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Improve loopback marking (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Move rxe_init_av() to rxe_av.c (Kamal Heib) [1720888] - [infiniband] IB/core: Remove ib_sg_dma_address() and ib_sg_dma_len() (Kamal Heib) [1720888] - [infiniband] IB/uverbs: Expose XRC ODP device capabilities (Kamal Heib) [1720888] - [include] IB/core: Allocate a bit for SRQ ODP support (Kamal Heib) [1720888] - [infiniband] RDMA/core: Use the ops infrastructure to keep all callbacks in one place (Kamal Heib) [1720888] - [infiniband] RDMA/cxgb4: Sort SRQ ops alphabetically (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Refactor user/kernel restrack additions (Kamal Heib) [1720888] - [infiniband] RDMA/core: Simplify restrack interface (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Factor out the PID namespace check (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Dynamically generate restrack dumpit callbacks (Kamal Heib) [1720888] - [infiniband] IB/usnic: Remove stub functions (Kamal Heib) [1720888] - [infiniband] RDMA: Add indication for in kernel API support to IB device (Kamal Heib) [1720888] - [infiniband] IB/mlx5: Introduce async DEVX obj query API (Kamal Heib) [1720888] - [infiniband] IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD (Kamal Heib) [1720888] - [infiniband] infiniband: prefix header search paths with $(srctree)/ (Kamal Heib) [1720888] - [infiniband] infiniband: remove unneeded header search paths (Kamal Heib) [1720888] - [infiniband] infiniband: ipoib: no need to check return value of debugfs_create functions (Kamal Heib) [1720888] - [infiniband] infiniband: usnic: no need to check return value of debugfs_create functions (Kamal Heib) [1720888] - [infiniband] infiniband: ocrdma: no need to check return value of debugfs_create functions (Kamal Heib) [1720888] - [infiniband] RDMA/ocrdma: Use PCI-ID as an identification in debugfs (Kamal Heib) [1720888] - [infiniband] IB/umad: Do not check status of nonseekable_open() (Kamal Heib) [1720888] - [infiniband] IB/umad: Avoid additional device reference during open()/close() (Kamal Heib) [1720888] - [infiniband] IB/rxe: Remove unnecessary rxe variable (Kamal Heib) [1720888] - [infiniband] IB/core: Simplify rdma cgroup registration (Kamal Heib) [1720888] - [infiniband] RDMA/device: Use __ib_device_get_by_name() in ib_device_rename() (Kamal Heib) [1720888] - [infiniband] RDMA: Rename port_callback to init_port (Kamal Heib) [1720888] - [infiniband] RDMA: Clear CTX objects during their allocation (Kamal Heib) [1720888] - [infiniband] RDMA: Clear PD objects during their allocation (Kamal Heib) [1720888] - [infiniband] RDMA/ocrdma: Fix out of bounds index check in query pkey (Kamal Heib) [1720888] - [infiniband] IB/{core, hw}: Have ib_umem_get extract the ib_ucontext from ib_udata (Kamal Heib) [1720888] - [infiniband] IB/{core, uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs (Kamal Heib) [1720888] - [infiniband] RDMA/core: Don't depend device ODP capabilities on kconfig option (Kamal Heib) [1720888] - [infiniband] IB/srp: Use struct_size() in kzalloc() (Kamal Heib) [1720888] - [infiniband] IB/core: Use struct_size() in kzalloc() (Kamal Heib) [1720888] - [infiniband] IB/usnic: Use struct_size() in kmalloc() (Kamal Heib) [1720888] - [infiniband] IB/cm: Use struct_size() in kmalloc() (Kamal Heib) [1720888] - [mm] mm: introduce put_user_page*(), placeholder versions (Rafael Aquini) [1746371] - [mm] mm/gup: add FOLL_LONGTERM capability to GUP fast (Rafael Aquini) [1746371] - [mm] mm/gup: change GUP fast to use flags rather than a write 'bool' (Rafael Aquini) [1746371] - [mm] mm/gup: change write parameter to flags in fast walk (Rafael Aquini) [1746371] - [mm] mm/gup: replace get_user_pages_longterm() with FOLL_LONGTERM (Rafael Aquini) [1746371] - [s390] s390/mm: fix pxd_bad with folded page tables (Rafael Aquini) [1746371] - [s390] s390/mm: fix dump_pagetables top level page table walking (Rafael Aquini) [1746371] - [s390] s390/mm: convert to the generic get_user_pages_fast code (Rafael Aquini) [1746371] - [s390] s390/mm: make the pxd_offset functions more robust (Rafael Aquini) [1746371] - [mm] mm/gup: fix gup_pmd_range() for dax (Rafael Aquini) [1746371] - [mm] mm/gup: remove the 'write' parameter from gup_fast_permitted() (Rafael Aquini) [1746371] - [mm] mm/gup: fix follow_page_mask() kerneldoc comment (Rafael Aquini) [1746371] - [mm] mm/gup: fix __get_user_pages_fast() comment (Rafael Aquini) [1746371] - [mm] mm/gup_benchmark: prevent integer overflow in ioctl (Rafael Aquini) [1746371] - [mm] mm/gup_benchmark: add additional pinning methods (Rafael Aquini) [1746371] - [mm] mm/gup_benchmark: time put_page() (Rafael Aquini) [1746371] - [mm] mm/gup_benchmark: fix unsigned comparison to zero in __gup_benchmark_ioctl (Rafael Aquini) [1746371] - [mm] mm: remove caller signal_pending branch predictions (Rafael Aquini) [1746371] - [mm] mm: remove unnecessary local variable addr in __get_user_pages_fast() (Rafael Aquini) [1746371] - [mm] mm: change return type int to vm_fault_t for fault handlers (Rafael Aquini) [1746371] - [mm] mm: make mm->pinned_vm an atomic64 counter (Rafael Aquini) [1746371]- [kernel] sched/core: Schedule new worker even if PI-blocked (Waiman Long) [1758629] - [char] random: add a spinlock_t to struct batched_entropy (Waiman Long) [1758629] - [crypto] crypto: chacha20 - Fix chacha20_block() keystream alignment (again) (Waiman Long) [1758629] - [fs] locking/percpu-rwsem: Remove preempt_disable variants (Waiman Long) [1758629] - [x86] x86/tsc: Add option to disable tsc clocksource watchdog (Waiman Long) [1758629] - [x86] x86/irq: Handle spurious interrupt after shutdown gracefully (Waiman Long) [1758629] - [x86] x86/ioapic: Implement irq_get_irqchip_state() callback (Waiman Long) [1758629] - [kernel] genirq: Add optional hardware synchronization for shutdown (Waiman Long) [1758629] - [kernel] genirq: Fix misleading synchronize_irq() documentation (Waiman Long) [1758629] - [kernel] genirq: Delay deactivation in free_irq() (Waiman Long) [1758629] - [kernel] genirq: Remove redundant NULL pointer check in __free_irq() (Waiman Long) [1758629] - [kernel] genirq: Synchronize only with single thread on free_irq() (Waiman Long) [1758629] - [kernel] genirq: Update code comments wrt recycled thread_mask (Waiman Long) [1758629] - [usb] usb: core: remove flags variable in __usb_hcd_giveback_urb() (Waiman Long) [1758629] - [usb] usb: core: remove local_irq_save() around ->complete() handler (Waiman Long) [1758629] - [media] media: tm6000: use irqsave() in USB's complete callback (Waiman Long) [1758629] - [media] media: em28xx-audio: use irqsave() in USB's complete callback (Waiman Long) [1758629] - [x86] x86/mm/cpa: Optimize __cpa_flush_range() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Factor common code between cpa_flush_*() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Move CLFLUSH test into cpa_flush_array() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Move CLFLUSH test into cpa_flush_range() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Use flush_tlb_kernel_range() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Unconditionally avoid WBINDV when we can (Waiman Long) [1758629] - [x86] x86/mm/cpa: Move flush_tlb_all() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Use flush_tlb_all() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Avoid the 4k pages check completely (Waiman Long) [1758629] - [x86] x86/mm/cpa: Do the range check early (Waiman Long) [1758629] - [x86] x86/mm/cpa: Optimize same protection check (Waiman Long) [1758629] - [x86] x86/mm/cpa: Add sanity check for existing mappings (Waiman Long) [1758629] - [x86] x86/mm/cpa: Avoid static protection checks on unmap (Waiman Long) [1758629] - [x86] x86/mm/cpa: Add large page preservation statistics (Waiman Long) [1758629] - [x86] x86/mm/cpa: Add debug mechanism (Waiman Long) [1758629] - [x86] x86/mm/cpa: Allow range check for static protections (Waiman Long) [1758629] - [x86] x86/mm/cpa: Rework static_protections() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Split, rename and clean up try_preserve_large_page() (Waiman Long) [1758629] - [x86] x86/mm/init32: Mark text and rodata RO in one go (Waiman Long) [1758629] - [mm] mm/kasan/quarantine.c: make quarantine_lock a raw_spinlock_t (Waiman Long) [1758629] - [mm] mm/list_lru.c: fold __list_lru_count_one() into its caller (Waiman Long) [1758629] - [mm] mm: workingset: make shadow_lru_isolate() use locking suffix (Waiman Long) [1758629] - [mm] mm: workingset: remove local_irq_disable() from count_shadow_nodes() (Waiman Long) [1758629] - [iommu] iommu/amd: Remove redundant WARN_ON() (Waiman Long) [1758629] - [mm] mm/list_lru: introduce list_lru_shrink_walk_irq() (Waiman Long) [1758629] - [mm] mm/list_lru.c: pass struct list_lru_node* as an argument to __list_lru_walk_one() (Waiman Long) [1758629] - [mm] mm/list_lru.c: move locking from __list_lru_walk_one() to its caller (Waiman Long) [1758629] - [mm] mm/list_lru.c: use list_lru_walk_one() in list_lru_walk_node() (Waiman Long) [1758629] - [kernel] userns: use irqsave variant of refcount_dec_and_lock() (Waiman Long) [1758629] - [kernel] userns: use refcount_t for reference counting instead atomic_t (Waiman Long) [1758629] - [kernel] bdi: use irqsave variant of refcount_dec_and_lock() (Waiman Long) [1758629] - [mm] bdi: use refcount_t for reference counting instead atomic_t (Waiman Long) [1758629] - [char] random: remove preempt disabled region (Waiman Long) [1758629] - [misc] ocxl: Update for AFU descriptor template version 1.1 (Steve Best) [1751207] - [misc] ocxl: Make ocxl_remove() static (Steve Best) [1751207] - [misc] ocxl: do not use C++ style comments in uapi header (Steve Best) [1751207] - [misc] ocxl: Allow contexts to be attached with a NULL mm (Steve Best) [1751207] - [misc] ocxl: Fix return value check in afu_ioctl() (Steve Best) [1751207] - [misc] ocxl: Provide global MMIO accessors for external drivers (Steve Best) [1751207] - [misc] ocxl: move event_fd handling to frontend (Steve Best) [1751207] - [misc] ocxl: afu_irq only deals with IRQ IDs, not offsets (Steve Best) [1751207] - [misc] ocxl: Allow external drivers to use OpenCAPI contexts (Steve Best) [1751207] - [misc] ocxl: Create a clear delineation between ocxl backend & frontend (Steve Best) [1751207] - [misc] ocxl: Don't pass pci_dev around (Steve Best) [1751207] - [misc] ocxl: Split pci.c (Steve Best) [1751207] - [misc] ocxl: Remove some unused exported symbols (Steve Best) [1751207] - [misc] ocxl: Remove superfluous 'extern' from headers (Steve Best) [1751207] - [misc] ocxl: read_pasid never returns an error, so make it void (Steve Best) [1751207] - [misc] ocxl: Rename struct link to ocxl_link (Steve Best) [1751207] - [misc] ocxl: remove set but not used variables 'tid' and 'lpid' (Steve Best) [1751207] - [misc] ocxl: Fix endiannes bug in read_afu_name() (Steve Best) [1751207] - [misc] ocxl/afu_irq: Don't include (Steve Best) [1751207] - [misc] ocxl: Clarify error path in setup_xsl_irq() (Steve Best) [1751207] - [misc] ocxl: Fix endiannes bug in ocxl_link_update_pe() (Steve Best) [1751207] - [misc] ocxl: Fix access to the AFU Descriptor Data (Steve Best) [1751207] - [netdrv] gve: account for lack of netdev_xmit_more() definition (RHEL-only) (John Linville) [1728864] - [netdrv] gve: Copy and paste bug in gve_get_stats() (John Linville) [1728864] - [netdrv] gve: Fix case where desc_cnt and data_cnt can get out of sync (John Linville) [1728864] - [netdrv] gve: replace kfree with kvfree (John Linville) [1728864] - [netdrv] gve: Remove the exporting of gve_probe (John Linville) [1728864] - [netdrv] gve: fix unused variable/label warnings (John Linville) [1728864] - [netdrv] gve: Fix error return code in gve_alloc_qpls() (John Linville) [1728864] - [netdrv] gve: fix -ENOMEM null check on a page allocation (John Linville) [1728864] - [netdrv] gve: Fix u64_stats_sync to initialize start (John Linville) [1728864] - [netdrv] gve: Add ethtool support (John Linville) [1728864] - [netdrv] gve: Add workqueue and reset support (John Linville) [1728864] - [netdrv] gve: Add transmit and receive support (John Linville) [1728864] - [netdrv] gve: Add basic driver framework for Compute Engine Virtual NIC (John Linville) [1728864] - [mfd] mfd: intel-lpss: Add Intel Comet Lake PCI IDs (David Arcari) [1761586] - [scsi] scsi: core: save/restore command resid for error handling (Ewan Milne) [1760503] - [scsi] scsi: sd: Ignore a failure to sync cache due to lack of authorization (Ewan Milne) [1760503] - [scsi] scsi: core: Add sysfs attributes for VPD pages 0h and 89h (Ewan Milne) [1760503] - [scsi] scsi: core: Log SCSI command age with errors (Ewan Milne) [1760503] - [scsi] scsi: scsi_dh_rdac: zero cdb in send_mode_select() (Ewan Milne) [1760503] - [scsi] scsi: sd: Improve unaligned completion resid message (Ewan Milne) [1760503] - [scsi] scsi: core: Reduce memory required for SCSI logging (Ewan Milne) [1760503] - [scsi] scsi: core: Complain if scsi_target_block() fails (Ewan Milne) [1760503] - [scsi] scsi: core: Make scsi_internal_device_unblock_nowait() reject invalid new_state (Ewan Milne) [1760503] - [scsi] scsi: scsi_debugfs: Use for_each_set_bit to simplify code (Ewan Milne) [1760503] - [scsi] scsi: scsi_dh_alua: always use a 2 second delay before retrying RTPG (Ewan Milne) [1760503] - [scsi] scsi: sd_zbc: Fix compilation warning (Ewan Milne) [1760503] - [scsi] scsi: devinfo: BLIST_TRY_VPD_PAGES for SanDisk Cruzer Blade (Ewan Milne) [1760503] - [scsi] scsi: core: use scmd_printk() to print which command timed out (Ewan Milne) [1760503] - [scsi] scsi: Avoid that .queuecommand() gets called for a blocked SCSI device (Ewan Milne) [1760503] - [scsi] scsi: core: don't preallocate small SGL in case of NO_SG_CHAIN (Ewan Milne) [1760503] - [scsi] scsi: scsi_dh_alua: Fix possible null-ptr-deref (Ewan Milne) [1760503] - [scsi] scsi: st: add a SPDX tag to st.c (Ewan Milne) [1760503] - [scsi] scsi: sr: add a SPDX tag to sr.c (Ewan Milne) [1760503] - [scsi] scsi: sg: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: sd: switch remaining files to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: sd: add a SPDX tag to sd.c (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_srp: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_spi: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_sas: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_iscsi: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_fc: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: core: switch the remaining scsi midlayer files to use SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: core: add SPDX tags to scsi midlayer files missing licensing information (Ewan Milne) [1760503] - [scsi] Revert "scsi: sd: Keep disk read-only when re-reading partition" (Ewan Milne) [1760503] - [scsi] scsi: core: set result when the command cannot be dispatched (Ewan Milne) [1760503] - [scsi] scsi: core: map PQ=1, PDT=other values to SCSI_SCAN_TARGET_PRESENT (Ewan Milne) [1760503] - [scsi] scsi: core: don't hold device refcount in IO path (Ewan Milne) [1760503] - [scsi] scsi: sd: Quiesce warning if device does not report optimal I/O size (Ewan Milne) [1760503] - [scsi] scsi: core: Use HCTX_TYPE_DEFAULT for blk_mq_tag_set->map (Ewan Milne) [1760503] - [scsi] scsi: core: Avoid that a kernel warning appears during system resume (Ewan Milne) [1760503] - [scsi] scsi: core: Also call destroy_rcu_head() for passthrough requests (Ewan Milne) [1760503] - [scsi] scsi: core: replace GFP_ATOMIC with GFP_KERNEL in scsi_scan.c (Ewan Milne) [1760503] - [scsi] scsi: sd: Optimal I/O size should be a multiple of physical block size (Ewan Milne) [1760503] - [scsi] scsi: sd: Fix typo in sd_first_printk() (Ewan Milne) [1760503] - [scsi] scsi: scsi_debug: Implement support for write protect (Ewan Milne) [1760503] - [scsi] scsi: sd_zbc: Fix zone information messages (Ewan Milne) [1760503] - [scsi] scsi: sd: Improve sd_print_capacity() (Ewan Milne) [1760503] - [scsi] scsi: scsi_debug: fix write_same with virtual_gb problem (Ewan Milne) [1760503] - [scsi] scsi: sd: Protect against READ(6) or WRITE(6) with zero block transfer length (Ewan Milne) [1760503] - [scsi] scsi: core: Remove an atomic instruction from the hot path (Ewan Milne) [1760503] - [scsi] scsi: sd: Rename 'SCpnt' into 'cmd' (Ewan Milne) [1760503] - [scsi] scsi: sd: Clean up sd_setup_read_write_cmnd() (Ewan Milne) [1760503] - [scsi] scsi: sd: Create helper functions for read/write commands (Ewan Milne) [1760503] - [scsi] scsi: sd: Simplify misaligned I/O check (Ewan Milne) [1760503] - [scsi] scsi: sd: Be consistent about blocks vs. sectors (Ewan Milne) [1760503] - [scsi] scsi: sd: Remove a local variable (Ewan Milne) [1760503] - [scsi] scsi: scsi_debug: add cmd abort option to every_nth (Ewan Milne) [1760503] - [scsi] scsi: scsi_debug: skip long delays when ndelay small (Ewan Milne) [1760503] - [x86] efi/x86: Do not clean dummy variable in kexec path (Bhupesh Sharma) [1724436] - [scsi] scsi: csiostor: create per port irq affinity mask set (Jonathan Toppins) [1725816] - [pci] PCI: let pci_disable_link_state propagate errors (Myron Stowe) [1735834] - [scsi] scsi: scsi_transport_fc: Add FPIN fc event codes (Ewan Milne) [1755587] - [scsi] scsi: scsi_transport_fc: refactor event posting routines (Ewan Milne) [1755587] - [scsi] scsi: fc: add FPIN ELS definition (Ewan Milne) [1755587] - [scsi] scsi: lib/sg_pool.c: clear 'first_chunk' in case of no preallocation (Ewan Milne) [1747162] - [scsi] scsi: core: Run queue when state is set to running after being blocked (Ewan Milne) [1691599] - [scsi] scsi: sd: Fix a race between closing an sd device and sd I/O (Ewan Milne) [1689118] - [net] net/ibmvnic: Fix EOI when running in XIVE mode. (Steve Best) [1761378] - [powerpc] powerpc/mce: Fix SLB rebolting during MCE recovery path. (Desnes Augusto Nunes do Rosario) [1725842] - [powerpc] powerpc/pseries: hwpoison the pages upon hitting UE (Desnes Augusto Nunes do Rosario) [1725842] - [x86] perf/x86/amd: Change/fix NMI latency mitigation to use a timestamp (David Arcari) [1730134] - [arm64] arm64: entry: Remove unneeded need_resched() loop (Mark Langsdorf) [1737075] - [arm64] arm64: preempt: Fix big-endian when checking preempt count in assembly (Mark Langsdorf) [1737075] - [arm64] arm64: preempt: Provide our own implementation of asm/preempt.h (Mark Langsdorf) [1737075] - [include] preempt: Move PREEMPT_NEED_RESCHED definition into arch code (Mark Langsdorf) [1737075] - [x86] x86/intel_rdt: Ensure a CPU remains online for the region's pseudo-locking sequence (Alexander Beregalov) [1724902] - [kernel] perf/core: Add sanity check to deal with pinned event failure (Alexander Beregalov) [1724902] - [arm64] arm64/sve: Fix wrong free for task->thread.sve_state (Andrew Jones) [1756450] - [scsi] scsi: lpfc: Update lpfc version to 12.4.0.1 (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: cleanup: remove unused fcp_txcmlpq_cnt (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Complete removal of FCoE T10 PI support on SLI-4 adapters (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Update async event logging (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix list corruption detected in lpfc_put_sgl_per_hdwq (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix hdwq sgl locks and irq handling (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix spinlock_irq issues in lpfc_els_flush_cmd() (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix list corruption in lpfc_sli_get_iocbq (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix host hang at boot or slow boot (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix coverity errors on NULL pointer checks (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix NVMe ABTS in response to receiving an ABTS (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix discovery failures when target device connectivity bounces (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix GPF on scsi command completion (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix locking on mailbox command completion (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix device recovery errors after PLOGI failures (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix rpi release when deleting vport (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix NVME io abort failures causing hangs (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix miss of register read failure check (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix premature re-enabling of interrupts in lpfc_sli_host_down (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix pt2pt discovery on SLI3 HBAs (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix reset recovery paths that are not recovering (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Convert existing pf users to ps (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: fix 12.4.0.0 GPF at boot (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Remove bg debugfs buffers (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Resolve checker warning for lpfc_new_io_buf() (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Update lpfc version to 12.4.0.0 (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Merge per-protocol WQ/CQ pairs into single per-cpu pair (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Add NVMe sequence level error recovery support (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Support dynamic unbounded SGL lists on G7 hardware. (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Add MDS driver loopback diagnostics support (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Add first and second level hardware revisions to sysfs reporting (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Migrate to px and pf in kernel print calls (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Add simple unlikely optimizations to reduce NVME latency (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix coverity warnings (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix nvme first burst module parameter description (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix BlockGuard enablement on FCoE adapters (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix reported physical link speed on a disabled trunked link (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix Max Frame Size value shown in fdmishow output (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix upcall to bsg done in non-success cases (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix sli4 adapter initialization with MSI (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix nvme sg_seg_cnt display if HBA does not support NVME (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix nvme target mode ABTSing a received ABTS (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix hang when downloading fw on port enabled for nvme (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix too many sg segments spamming in kernel log (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix crash due to port reset racing vs adapter error handling (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix deadlock on host_lock during cable pulls (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix error in remote port address change (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix driver nvme rescan logging (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix sg_seg_cnt for HBAs that don't support NVME (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix propagation of devloss_tmo setting to nvme transport (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix loss of remote port after devloss due to lack of RPIs (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix devices that don't return after devloss followed by rediscovery (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix null ptr oops updating lpfc_devloss_tmo via sysfs attribute (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix FLOGI handling across multiple link up/down conditions (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix irq raising in lpfc_sli_hba_down (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix Oops in nvme_register with target logout/login (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix issuing init_vpi mbox on SLI-3 card (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix ADISC reception terminating login state if a NVME target (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix discovery when target has no GID_FT information (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix leak of ELS completions on adapter reset (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix failure to clear non-zero eq_delay after io rate reduction (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix crash on driver unload in wq free (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix ELS field alignments (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix PLOGI failure with high remoteport count (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: remove NULL check before some freeing functions (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: use spin_lock_irqsave in IRQ context (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: remove redundant code (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Remove unnecessary null check before kfree (Dick Kennedy) [1757574] - [scripts] scripts/spelling.txt: drop "sepc" from the misspelling list (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: reduce stack size with CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE (Dick Kennedy) [1757574] - [scsi] lpfc: add sysfs interface to post NVME RSCN (Dick Kennedy) [1757574] - [scsi] lpfc: add support for translating an RSCN rcv into a discovery rescan (Dick Kennedy) [1757574] - [scsi] lpfc: add support to generate RSCN events for nport (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: use sg helper to iterate over scatterlist (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Avoid unused function warnings (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Make some symbols static (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Remove set but not used variables 'qp' (Dick Kennedy) [1757574] - [lib] lib/vsprintf: Reinstate printing of legacy clock IDs (Prarit Bhargava) [1751075] - [lib] vsprintf: fix data type of variable in string_nocheck() (Prarit Bhargava) [1751075] - [scripts] kconfig: tests: fix recursive inclusion unit test (Prarit Bhargava) [1751075] - [kernel] printk: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Prarit Bhargava) [1751075] - [kernel] printk: Add SPDX license identifier for missed files (Prarit Bhargava) [1751075] - [kernel] printk: Add SPDX license identifier for more missed files (Prarit Bhargava) [1751075] - [kernel] panic: add an option to replay all the printk message in buffer (Prarit Bhargava) [1751075] - [kernel] panic: avoid the extra noise dmesg (Prarit Bhargava) [1751075] - [lib] vsprintf: Do not break early boot with probing addresses (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Make function pointer_string static (Prarit Bhargava) [1751075] - [lib] vsprintf: Limit the length of inlined error messages (Prarit Bhargava) [1751075] - [lib] vsprintf: Avoid confusion between invalid address and value (Prarit Bhargava) [1751075] - [lib] vsprintf: Prevent crash when dereferencing invalid pointers (Prarit Bhargava) [1751075] - [lib] vsprintf: Consolidate handling of unknown pointer specifiers (Prarit Bhargava) [1751075] - [lib] vsprintf: Factor out pO handler as kobject_string() (Prarit Bhargava) [1751075] - [lib] vsprintf: Factor out pV handler as va_format() (Prarit Bhargava) [1751075] - [lib] vsprintf: Factor out p[iI] handler as ip_addr_string() (Prarit Bhargava) [1751075] - [lib] vsprintf: Do not check address of well-known strings (Prarit Bhargava) [1751075] - [lib] vsprintf: Consistent pK handling for kptr_restrict == 0 (Prarit Bhargava) [1751075] - [lib] vsprintf: Shuffle restricted_pointer() (Prarit Bhargava) [1751075] - [kernel] printk: Tie printk_once / printk_deferred_once into .data.once for reset (Prarit Bhargava) [1751075] - [lib] lib: Use new kselftest header (Prarit Bhargava) [1751075] - [lib] lib/test_printf: Add empty module_exit function (Prarit Bhargava) [1751075] - [scripts] checkpatch: add pt as a valid vsprintf extension (Prarit Bhargava) [1751075] - [lib] lib/test_printf: Switch to bitmap_zalloc() (Prarit Bhargava) [1751075] - [lib] lib/vsprintf.c: move sizeof(struct printf_spec) next to its definition (Prarit Bhargava) [1751075] - [kernel] printk/docs: Add extra integer types to printk-formats (Prarit Bhargava) [1751075] - [kernel] printk: Remove no longer used LOG_PREFIX. (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Remove pCr remnant in comment (Prarit Bhargava) [1751075] - [kernel] printk: Pass caller information to log_store(). (Prarit Bhargava) [1751075] - [kernel] kernel/sysctl: add panic_print into sysctl (Prarit Bhargava) [1751075] - [kernel] panic: add options to print system info when panic happens (Prarit Bhargava) [1751075] - [include] include/linux/printk.h: drop silly "static inline asmlinkage" from dump_stack() (Prarit Bhargava) [1751075] - [kernel] printk: Add caller information to printk() output. (Prarit Bhargava) [1751075] - [kernel] printk: Remove print_prefix() calls with NULL buffer. (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Print time and date in human readable format via pt (Prarit Bhargava) [1751075] - [kernel] printk: fix printk_time race. (Prarit Bhargava) [1751075] - [kernel] printk: Make printk_emit() local function. (Prarit Bhargava) [1751075] - [documentation] doc: printk-formats: Remove bogus kobject references for device nodes (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Hash printed address for netdev bits fallback (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Hash legacy clock addresses (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Prepare for more general use of ptr_to_id() (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Make ptr argument conts in ptr_to_id() (Prarit Bhargava) [1751075] - [kernel] printk: fix integer overflow in setup_log_buf() (Prarit Bhargava) [1751075] - [kernel] printk: do not preliminary split up cont buffer (Prarit Bhargava) [1751075] - [kernel] printk: lock/unlock console only for new logbuf entries (Prarit Bhargava) [1751075] - [kernel] printk: keep kernel cont support always enabled (Prarit Bhargava) [1751075] - [kernel] printk: Give error on attempt to set log buffer length to over 2G (Prarit Bhargava) [1751075] - [kernel] printk: Add KBUILD_MODNAME and remove a redundant print prefix (Prarit Bhargava) [1751075] - [kernel] printk: Correct wrong casting (Prarit Bhargava) [1751075] - [kernel] printk: CON_PRINTBUFFER console registration is a bit racy (Prarit Bhargava) [1751075] - [kernel] printk: Do not miss new messages when replaying the log (Prarit Bhargava) [1751075] - [kernel] Revert "printk: make sure to print log on console." (Prarit Bhargava) [1751075] - [lib] vsprintf: print OF node name using full_name (Prarit Bhargava) [1751075] - [kernel] printk/tracing: Do not trace printk_nmi_enter() (Prarit Bhargava) [1751075] - [misc] notifier: Remove notifier header file wherever not used (Prarit Bhargava) [1751075] - [init] init: allow initcall tables to be emitted using relative references (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Do not handle pO[^F] as px (Prarit Bhargava) [1751075] - [kernel] console: Replace #if 0 with atomic var 'ignore_console_lock_warning' (Prarit Bhargava) [1751075] - [lib] vsprintf: Use hw RNG for ptr_key (Prarit Bhargava) [1751075] - [kernel] printk: Fix warning about unused suppress_message_printing (Prarit Bhargava) [1751075] - [char] random: Return nbytes filled from hw RNG (Prarit Bhargava) [1751075] - [char] random: Fix whitespace pre random-bytes work (Prarit Bhargava) [1751075] - [kernel] printk/nmi: Prevent deadlock when accessing the main log buffer in NMI (Prarit Bhargava) [1751075] - [kernel] printk: Create helper function to queue deferred console handling (Prarit Bhargava) [1751075] - [kernel] printk: Split the code for storing a message into the log buffer (Prarit Bhargava) [1751075] - [kernel] printk: Clean up syslog_print_all() (Prarit Bhargava) [1751075] - [kernel] printk: Export is_console_locked (Prarit Bhargava) [1751075] - [kernel] printk: Remove unnecessary kmalloc() from syslog during clear (Prarit Bhargava) [1751075] - [kernel] printk: Make CONSOLE_LOGLEVEL_QUIET configurable (Prarit Bhargava) [1751075] - [kernel] printk: make sure to print log on console. (Prarit Bhargava) [1751075] - [lib] lib/test_printf.c: accept "ptrval" as valid result for plain 'p' tests (Prarit Bhargava) [1751075] - [kernel] softirq: Remove tasklet_hrtimer (Prarit Bhargava) [1737073] - [include] list: add function list_rotate_to_front() (Prarit Bhargava) [1737073] - [clocksource] clocksource/drivers/tcb_clksrc: Rename the file for consistency (Prarit Bhargava) [1737073] - [clocksource] clocksource/drivers/tcb_clksrc: Move Kconfig option (Prarit Bhargava) [1737073] - [clocksource] clocksource/drivers/tcb_clksrc: Use tcb as sched_clock (Prarit Bhargava) [1737073] - [kernel] irq_work: Do not raise an IPI when queueing work on the local CPU (Prarit Bhargava) [1737073] - [tty] tty/sysrq: Convert show_lock to raw_spinlock_t (Prarit Bhargava) [1737073] - [net] xfrm: Replace hrtimer tasklet with softirq hrtimer (Prarit Bhargava) [1737073] - [netdrv] mac80211_hwsim: Replace hrtimer tasklet with softirq hrtimer (Prarit Bhargava) [1737073] - [kernel] kthread: Do not use TIMER_IRQSAFE (Prarit Bhargava) [1737073] - [kernel] kthread: Convert worker lock to raw spinlock (Prarit Bhargava) [1737073] - [netdrv] mac80211_hwsim: Timer should be initialized before device registered (Prarit Bhargava) [1737073] - [net] xfrm: use time64_t for in-kernel timestamps (Prarit Bhargava) [1737073] - [x86] x86/intel: Aggregate microserver naming (Prarit Bhargava) [1725644] - [x86] x86/intel: Aggregate big core graphics naming (Prarit Bhargava) [1725644] - [x86] x86/intel: Aggregate big core mobile naming (Prarit Bhargava) [1725644] - [x86] x86/intel: Aggregate big core client naming (Prarit Bhargava) [1725644] - [tools] turbostat: Replace GPLv2 boilerplate/reference with SPDX - rule 335 (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: update version number (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: rename has_hsw_msrs() (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Fix Haswell Core systems (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Add support for Hygon Fam 18h (Dhyana) RAPL (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Fix caller parameter of get_tdp_amd() (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Fix CPUC1 display value (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: do not enforce 1ms (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: read from pipes too (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Add Ice Lake NNPI support (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: add Jacobsville support (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: remove duplicate pc10 column (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: fix file descriptor leaks (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: fix leak of file descriptor on error return path (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: fix buffer overrun (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Make interval calculation per thread to reduce jitter (Prarit Bhargava) [1725644] - [tools] tools/power/x86: Enable compiler optimisations and Fortify by default (Prarit Bhargava) [1725644] - [x86] x86/cpu: Add Ice Lake NNPI to Intel family (Prarit Bhargava) [1725644]- [tools] perf tools: Fix segfault in cpu_cache_level__read() (Michael Petlan) [1761995] - [scsi] qla2xxx: Update driver version to 10.01.00.19.08.2-k (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix Nport ID display value (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix N2N link up fail (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix N2N link reset (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Optimize NPIV tear down process (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix stale mem access on driver unload (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix unbound sleep in fcport delete path. (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Silence fwdump template message (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix stale session (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix stuck login session (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix driver reload for ISP82xx (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix flash read for Qlogic ISPs (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix message indicating vectors used by driver (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: fix spelling mistake "initializatin" -> "initialization" (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a recently introduced kernel warning (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a NULL pointer dereference (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify qla24xx_async_abort_cmd() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove two superfluous if-tests (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce qla2x00_els_dcmd2_free() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Inline the qla2x00_fcport_event_handler() function (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Report invalid mailbox status codes (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove superfluous sts_entry_* casts (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Let the compiler check the type of the SCSI command context pointer (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if sp->done() is not called from the completion path (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make sure that aborted commands are freed (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce qla2xxx_get_next_handle() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Modify NVMe include directives (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qlt_handle_abts_completion() more robust (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a race condition between aborting and completing a SCSI command (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce the function qla2xxx_init_sp() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Enable type checking for the SRB free and done callback functions (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Rework key encoding in qlt_find_host_by_d_id() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Set the responder mode if appropriate for ELS pass-through IOCBs (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make it explicit that ELS pass-through IOCBs use little endian (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Check secondary image if reading the primary image fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Change the return type of qla24xx_read_flash_data() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce the be_id_t and le_id_t data types for FC src/dst IDs (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if a soft reset fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use memcpy() and strlcpy() instead of strcpy() and strncpy() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Check the PCI info string output buffer size (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if waiting for pending commands times out (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare fourth qla2x00_set_model_info() argument const (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Always check the qla2x00_wait_for_hba_online() return value (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Suppress multiple Coverity complaint about out-of-bounds accesses (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Suppress a Coveritiy complaint about integer overflow (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove unreachable code from qla83xx_idc_lock() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix qla24xx_process_bidir_cmd() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify a debug statement (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove dead code (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if parsing the version string fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if a mailbox command times out (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use strlcpy() instead of strncpy() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Do not corrupt vha->plogi_ack_list (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Report the firmware status code if a mailbox command fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix session lookup in qlt_abort_work() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify qla24xx_abort_sp_done() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove two superfluous tests (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove a superfluous pointer check (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify qlt_lport_dump() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Reduce the number of casts in GID list code (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Verify locking assumptions at runtime (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Change data_dsd into an array (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare qla_tgt_cmd.cdb const (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Reduce the scope of three local variables in qla2xxx_queuecommand() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Change the return type of qla2x00_update_ms_fdmi_iocb() into void (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare the fourth ql_dump_buffer() argument const (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove a superfluous forward declaration (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove an include directive from qla_mr.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Include the header file from qla_dsd.h (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use tabs instead of spaces for indentation (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Improve Linux kernel coding style conformance (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Really fix qla2xxx_eh_abort() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qla2x00_abort_srb() again decrease the sp reference count (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Allow NVMe IO to resume with short cable pull (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix hang in fcport delete path (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use common update-firmware-options routine for ISP27xx+ (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix NVMe port discovery after a short device port loss (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Correct error handling during initialization failures (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Retry fabric Scan on IOCB queue full (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix premature timer expiration (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix Relogin to prevent modifying scan_state flag (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Reject EH_{abort|device_reset|target_request} (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Skip FW dump on LOOP initialization error (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use Correct index for Q-Pair array (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix abort timeout race condition. (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix DMA unmap leak (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Replace vmalloc + memset with vzalloc (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove unnecessary null check (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: remove double assignment in qla2x00_update_fcport (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Add cleanup for PCI EEH recovery (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Avoid that lockdep complains about unsafe locking in tcm_qla2xxx_close_session() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Avoid that qlt_send_resp_ctio() corrupts memory (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use __le64 instead of uint32_t[2] for sending DMA addresses to firmware (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce the dsd32 and dsd64 data structures (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Check the size of firmware data structures at compile time (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Pass little-endian values to the firmware (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qla24xx_async_abort_cmd() static (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove unnecessary locking from the target code (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove qla_tgt_cmd.released (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if a command is released that is owned by the firmware (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: target: Fix offline port handling and host reset handling (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix abort handling in tcm_qla2xxx_write_pending() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix error handling in qlt_alloc_qfull_cmd() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify qlt_send_term_imm_notif() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix use-after-free issues in qla2xxx_qpair_sp_free_dma() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a qla24xx_enable_msix() error path (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Avoid that qla2x00_mem_free() crashes if called twice (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qla2x00_mem_free() easier to verify (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Increase the size of the mailbox arrays from 4 to 8 (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Log the status code if a firmware command fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Avoid that Coverity complains about dereferencing a NULL rport pointer (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Uninline qla2x00_init_timer() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move qla2x00_is_reserved_id() from qla_inline.h into qla_init.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move qla2x00_clear_loop_id() from qla_inline.h into qla_init.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove a set-but-not-used variable (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare qla2x00_find_new_loop_id() static (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move qla2x00_set_reserved_loop_ids() definition (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a format specifier (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Update two source code comments (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Silence Successful ELS IOCB message (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix device staying in blocked state (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move qla2x00_set_fcport_state() from a .h into a .c file (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove two superfluous casts (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove qla_tgt_cmd.data_work and qla_tgt_cmd.data_work_free (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move the include directive (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare qla24xx_build_scsi_crc_2_iocbs() static (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move the port_state_str[] definition from a .h to a .c file (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Insert spaces where required (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix formatting of pointer types (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Leave a blank line after declarations (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use tabs to indent code (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix FC-AL connection target discovery (Himanshu Madhani) [1728845] - [scsi] scsi: tcm_qla2xxx: Minimize #include directives (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Unregister resources in the opposite order of the registration order (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Unregister chrdev if module initialization fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use get/put_unaligned where appropriate (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qla2x00_process_response_queue() easier to read (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare local symbols static (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use ARRAY_SIZE() in the definition of QLA_LAST_SPEED (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove a comment that refers to the SCSI host lock (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove useless set memory to zero use memset() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Cleanup fcport memory to prevent leak (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Further limit FLASH region write access from SysFS (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix incorrect region-size setting in optrom SYSFS routines (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Disable T10-DIF feature with FC-NVMe during probe (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Increase the max_sgl_segments to 1024 (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Reset the FCF_ASYNC_{SENT|ACTIVE} flags (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Set the qpair in SRB to NULL when SRB is released (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a small typo in qla_bsg.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix comment alignment in qla_bsg.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use HCTX_TYPE_DEFAULT for blk_mq_tag_set->map (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: deadlock by configfs_depend_item (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: use lower_32_bits and upper_32_bits instead of reinventing them (Himanshu Madhani) [1728845] - [md] dm snapshot: rework COW throttling to fix deadlock (Mike Snitzer) [1758605] - [md] dm snapshot: introduce account_start_copy() and account_end_copy() (Mike Snitzer) [1758605] - [netdrv] ice: Bump version (Jonathan Toppins) [1721711] - [netdrv] ice: Enable DDP package download (Jonathan Toppins) [1721711] - [netdrv] ice: Initialize DDP package structures (Jonathan Toppins) [1721711] - [netdrv] ice: Implement Dynamic Device Personalization (DDP) download (Jonathan Toppins) [1721711] - [netdrv] ice: Fix FW version formatting in dmesg (Jonathan Toppins) [1721711] - [netdrv] ice: send driver version to firmware (Jonathan Toppins) [1721711] - [netdrv] ice: Rework around device/function capabilities (Jonathan Toppins) [1721711] - [netdrv] ice: change default number of receive descriptors (Jonathan Toppins) [1721711] - [netdrv] ice: Minor refactor in queue management (Jonathan Toppins) [1721711] - [netdrv] ice: Allow for delayed LLDP MIB change registration (Jonathan Toppins) [1721711] - [netdrv] ice: update Tx context struct (Jonathan Toppins) [1721711] - [netdrv] ice: Report VF link status with opcode to get resources (Jonathan Toppins) [1721711] - [netdrv] ice: Check for DCB capability before initializing DCB (Jonathan Toppins) [1721711] - [netdrv] ice: report link down for VF when PF's queues are not enabled (Jonathan Toppins) [1721711] - [netdrv] ice: Reliably reset VFs (Jonathan Toppins) [1721711] - [netdrv] ice: change work limit to a constant (Jonathan Toppins) [1721711] - [netdrv] ice: small efficiency fixes (Jonathan Toppins) [1721711] - [netdrv] ice: move code closer together (Jonathan Toppins) [1721711] - [netdrv] ice: clean up arguments (Jonathan Toppins) [1721711] - [netdrv] ice: Check root pointer for validity (Jonathan Toppins) [1721711] - [netdrv] ice: Add ice_get_main_vsi to get PF/main VSI (Jonathan Toppins) [1721711] - [netdrv] ice: Update fields in ice_vsi_set_num_qs when reconfiguring (Jonathan Toppins) [1721711] - [netdrv] ice: Only disable VLAN pruning for the VF when all VLANs are removed (Jonathan Toppins) [1721711] - [netdrv] ice: Remove enable DCB when SW LLDP is activated (Jonathan Toppins) [1721711] - [netdrv] ice: Report stats when VSI is down (Jonathan Toppins) [1721711] - [netdrv] ice: Always notify FW of VF reset (Jonathan Toppins) [1721711] - [netdrv] ice: Correctly handle return values for init DCB (Jonathan Toppins) [1721711] - [netdrv] ice: Limit Max TCs on devices with more than 4 ports (Jonathan Toppins) [1721711] - [netdrv] ice: Cleanup defines in ice_type.h (Jonathan Toppins) [1721711] - [netdrv] ice: print extra message if topology issue (Jonathan Toppins) [1721711] - [netdrv] ice: add print of autoneg state to link message (Jonathan Toppins) [1721711] - [netdrv] ice: update driver unloading field for Queue Shutdown AQ command (Jonathan Toppins) [1721711] - [netdrv] ice: add needed PFR during driver unload (Jonathan Toppins) [1721711] - [netdrv] ice: Deduce TSA value from the priority value in the CEE mode (Jonathan Toppins) [1721711] - [netdrv] ice: Report what the user set for coalesce [tx|rx]-usecs (Jonathan Toppins) [1721711] - [netdrv] ice: Fix resource leak in ice_remove_rule_internal() (Jonathan Toppins) [1721711] - [netdrv] ice: Fix EMP reset handling (Jonathan Toppins) [1721711] - [netdrv] ice: fix adminq calls during remove (Jonathan Toppins) [1721711] - [netdrv] ice: Rework ice_ena_msix_range (Jonathan Toppins) [1721711] - [netdrv] ice: Fix VF configuration issues due to reset (Jonathan Toppins) [1721711] - [netdrv] ice: Alloc queue management bitmaps and arrays dynamically (Jonathan Toppins) [1721711] - [netdrv] ice: add support for virtchnl_queue_select.[tx|rx]_queues bitmap (Jonathan Toppins) [1721711] - [netdrv] ice: add support for enabling/disabling single queues (Jonathan Toppins) [1721711] - [netdrv] ice: fix potential infinite loop (Jonathan Toppins) [1721711] - [netdrv] ice: fix ice_is_tc_ena (Jonathan Toppins) [1721711] - [netdrv] ice: add validation in OP_CONFIG_VSI_QUEUES VF message (Jonathan Toppins) [1721711] - [netdrv] ice: Don't clog kernel debug log with VF MDD events errors (Jonathan Toppins) [1721711] - [netdrv] ice: Introduce a local variable for a VSI in the rebuild path (Jonathan Toppins) [1721711] - [netdrv] ice: shorten local and add debug prints (Jonathan Toppins) [1721711] - [netdrv] ice: Sanitize ice_ena_vsi and ice_dis_vsi (Jonathan Toppins) [1721711] - [netdrv] ice: added sibling head to parse nodes (Jonathan Toppins) [1721711] - [netdrv] ice: Fix ethtool port and PFC stats for 4x25G cards (Jonathan Toppins) [1721711] - [netdrv] ice: Don't allow VSI to remove unassociated ucast filter (Jonathan Toppins) [1721711] - [netdrv] ice: Fix issues updating VSI MAC filters (Jonathan Toppins) [1721711] - [netdrv] ice: update ethtool stats on-demand (Jonathan Toppins) [1721711] - [netdrv] ice: Add input handlers for virtual channel handlers (Jonathan Toppins) [1721711] - [netdrv] ice: Don't clear auto_fec bit in ice_cfg_phy_fec() (Jonathan Toppins) [1721711] - [netdrv] ice: Fix flag used for module query (Jonathan Toppins) [1721711] - [netdrv] ice: silence some bogus error messages (Jonathan Toppins) [1721711] - [netdrv] ice: Rename ethtool private flag for lldp (Jonathan Toppins) [1721711] - [netdrv] ice: reject VF attempts to enable head writeback (Jonathan Toppins) [1721711] - [netdrv] ice: Copy dcbx configuration only if mode is correct (Jonathan Toppins) [1721711] - [netdrv] ice: Treat DCBx state NOT_STARTED as valid (Jonathan Toppins) [1721711] - [netdrv] ice: Don't call synchronize_irq() for VF's from the host (Jonathan Toppins) [1721711] - [netdrv] ice: Account for all states of FW DCBx and LLDP (Jonathan Toppins) [1721711] - [netdrv] ice: Allow egress control packets from PF_VSI (Jonathan Toppins) [1721711] - [netdrv] ice: improve print for VF's when adding/deleting MAC filters (Jonathan Toppins) [1721711] - [netdrv] ice: Change type for queue counts (Jonathan Toppins) [1721711] - [netdrv] ice: Move VF resources definition to SR-IOV specific file (Jonathan Toppins) [1721711] - [netdrv] ice: Increase size of Mailbox receive queue for many VFs (Jonathan Toppins) [1721711] - [netdrv] ice: Reduce wait times during VF bringup/reset (Jonathan Toppins) [1721711] - [netdrv] ice: update GLINT_DYN_CTL and GLINT_VECT2FUNC register access (Jonathan Toppins) [1721711] - [netdrv] ice: Do not always bring up PF VSI in ice_ena_vsi() (Jonathan Toppins) [1721711] - [netdrv] ice: allow empty Rx descriptors (Jonathan Toppins) [1721711] - [netdrv] ice: Fix kernel hang with DCB reset in CEE mode (Jonathan Toppins) [1721711] - [netdrv] ice: Set WB_ON_ITR when we don't re-enable interrupts (Jonathan Toppins) [1721711] - [netdrv] ice: fix set pause param autoneg check (Jonathan Toppins) [1721711] - [netdrv] ice: Restructure VFs initialization flows (Jonathan Toppins) [1721711] - [netdrv] ice: Assume that more than one Rx queue is rare in ice_napi_poll (Jonathan Toppins) [1721711] - [netdrv] ice: Use the software based tail when checking for hung Tx ring (Jonathan Toppins) [1721711] - [netdrv] ice: Bump version number (Jonathan Toppins) [1721711] - [netdrv] ice: Remove flag to track VF interrupt status (Jonathan Toppins) [1721711] - [netdrv] ice: Remove unnecessary flag ICE_FLAG_MSIX_ENA (Jonathan Toppins) [1721711] - [netdrv] ice: Don't return error for disabling LAN Tx queue that does exist (Jonathan Toppins) [1721711] - [netdrv] ice: Remove duplicate code in ice_alloc_rx_bufs (Jonathan Toppins) [1721711] - [netdrv] ice: Add stats for Rx drops at the port level (Jonathan Toppins) [1721711] - [netdrv] ice: Update number of VF queue before setting VSI resources (Jonathan Toppins) [1721711] - [netdrv] ice: Set up Tx scheduling tree based on alloc VSI Tx queues (Jonathan Toppins) [1721711] - [netdrv] ice: Only bump Rx tail and release buffers once per napi_poll (Jonathan Toppins) [1721711] - [netdrv] ice: Disable VFs until reset is completed (Jonathan Toppins) [1721711] - [netdrv] ice: Do not configure port with no media (Jonathan Toppins) [1721711] - [netdrv] ice: separate out control queue lock creation (Jonathan Toppins) [1721711] - [netdrv] ice: Always set prefena when configuring an Rx queue (Jonathan Toppins) [1721711] - [netdrv] ice: Move vector base setup to PF VSI (Jonathan Toppins) [1721711] - [netdrv] ice: track hardware stat registers past rollover (Jonathan Toppins) [1721711] - [netdrv] ice: add lp_advertising flow control support (Jonathan Toppins) [1721711] - [netdrv] ice: Use struct_size() helper (Jonathan Toppins) [1721711] - [netdrv] ice: Use LLDP ethertype define ETH_P_LLDP (Jonathan Toppins) [1721711] - [netdrv] ice: Trivial cosmetic changes (Jonathan Toppins) [1721711] - [netdrv] ice: Recognize higher speeds (Jonathan Toppins) [1721711] - [netdrv] ice: Use a different ICE_DBG bit for firmware log messages (Jonathan Toppins) [1721711] - [netdrv] ice: Update function header (Jonathan Toppins) [1721711] - [netdrv] ice: Move define for ICE_AQC_DRIVER_UNLOADING (Jonathan Toppins) [1721711] - [netdrv] ice: Align to updated AQ command formats (Jonathan Toppins) [1721711] - [netdrv] ice: Use continue instead of an else block (Jonathan Toppins) [1721711] - [netdrv] ice: Change minimum descriptor count value for Tx/Rx rings (Jonathan Toppins) [1721711] - [netdrv] ice: Add switch rules to handle LLDP packets (Jonathan Toppins) [1721711] - [netdrv] ice: Cleanup ice_update_link_info (Jonathan Toppins) [1721711] - [netdrv] ice: Use right type for ice_cfg_vsi_lan return (Jonathan Toppins) [1721711] - [netdrv] ice: Add support for Forward Error Correction (FEC) (Jonathan Toppins) [1721711] - [netdrv] ice: Add support for virtchnl_vector_map.[rxq|txq]_map (Jonathan Toppins) [1721711] - [netdrv] ice: Introduce ice_init_mac_fltr and move ice_napi_del (Jonathan Toppins) [1721711] - [netdrv] ice: Use GLINT_DYN_CTL to disable VF's interrupts (Jonathan Toppins) [1721711] - [netdrv] ice: Add a helper to trigger software interrupt (Jonathan Toppins) [1721711] - [netdrv] ice: Configure RSS LUT key only if RSS is enabled (Jonathan Toppins) [1721711] - [netdrv] ice: Add ice_get_fw_log_cfg to init FW logging (Jonathan Toppins) [1721711] - [netdrv] ice: Minor cleanup in ice_switch.h (Jonathan Toppins) [1721711] - [netdrv] ice: Remove redundant and premature event config (Jonathan Toppins) [1721711] - [netdrv] ice: Change message level (Jonathan Toppins) [1721711] - [netdrv] ice: Check all VFs for MDD activity, don't disable (Jonathan Toppins) [1721711] - [netdrv] ice: Refactor interrupt tracking (Jonathan Toppins) [1721711] - [netdrv] ice: Add handler for ethtool selftest (Jonathan Toppins) [1721711] - [netdrv] ice: Don't call ice_cfg_itr() for SR-IOV (Jonathan Toppins) [1721711] - [netdrv] ice: Set minimum default Rx descriptor count to 512 (Jonathan Toppins) [1721711] - [netdrv] ice: Resolve static analysis warning (Jonathan Toppins) [1721711] - [netdrv] ice: Implement toggling ethtool rx-vlan-filter (Jonathan Toppins) [1721711] - [netdrv] ice: Remove direct write for GLLAN_RCTL_0 (Jonathan Toppins) [1721711] - [netdrv] ice: Fix LINE_SPACING style issue (Jonathan Toppins) [1721711] - [netdrv] ice: Silence semantic parser warnings (Jonathan Toppins) [1721711] - [netdrv] ice: Fix couple of issues in ice_vsi_release (Jonathan Toppins) [1721711] - [netdrv] ice: Reorganize ice_vf struct (Jonathan Toppins) [1721711] - [netdrv] ice: Use bitfields when possible (Jonathan Toppins) [1721711] - [netdrv] ice: Reorganize tx_buf and ring structs (Jonathan Toppins) [1721711] - [netdrv] ice: Format ethtool reported stats (Jonathan Toppins) [1721711] - [netdrv] ice: Gracefully handle reset failure in ice_alloc_vfs() (Jonathan Toppins) [1721711] - [netdrv] ice: Refactor the LLDP MIB change event handling (Jonathan Toppins) [1721711] - [netdrv] ice: Advertise supported link modes if none requested (Jonathan Toppins) [1721711] - [netdrv] ice: Fix hang when ethtool disables FW LLDP (Jonathan Toppins) [1721711] - [netdrv] ice: Call out dev/func caps when printing (Jonathan Toppins) [1721711] - [netdrv] ice: Remove braces for single statement blocks (Jonathan Toppins) [1721711] - [netdrv] ice: Cleanup an unnecessary variable initialization (Jonathan Toppins) [1721711] - [netdrv] ice: Implement LLDP persistence (Jonathan Toppins) [1721711] - [netdrv] ice: Fix double spacing (Jonathan Toppins) [1721711] - [kernel] sched/debug: Fix potential deadlock when writing to sched_features (Vladis Dronov) [1760060] - [kernel] sched/debug: Use match_string() helper instead of open-coded logic (Vladis Dronov) [1760060] - [hid] HID: intel-ish-hid: ipc: add EHL device id (Tony Camuso) [1716756] - [hid] HID: remove NO_D3 flag when remove driver (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: fix wrong driver_data usage (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Fix a use after free in load_fw_from_host() (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add SPDX license identifier - Makefile/Kconfig (Tony Camuso) [1716756] - [platform] platform/chrome: Add ChromeOS EC ISHTP driver (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: prefix header search paths with $(srctree)/ (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add Comet Lake PCI device ID (Tony Camuso) [1716756] - [platform] platform/chrome: cros_ec: Add EC host command support using rpmsg (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: fix spelling mistake "multipe" -> "multiple" (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: ISH firmware loader client driver (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add interface function for PCI device pointer (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Use the new interface functions in HID ish client (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Move functions related to bus and device (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add interface functions for struct ishtp_cl (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Move the common functions from client.h (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Store ishtp_cl_device instance in device (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Move driver registry functions (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Simplify ishtp_cl_link() (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Hide members of struct ishtp_cl_device (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add match callback to ishtp bus type (Tony Camuso) [1716756] - [hid] HID: intel-ish: enable raw interface to HID devices on ISH (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Use VID/PID from ISH (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Switch to use new generic UUID API (Tony Camuso) [1716756] - [hid] HID: intel-ish: ipc: handle PIMR before ish_wakeup also clear PISR busy_clear bit (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: use helper function to search client id (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: ishtp: add helper function for client search (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: use helper function to access client buffer (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: ishtp: add helper functions for client buffer operation (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: use helper function for private driver data set/get (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: ishtp: add helper function for driver data get/set (Tony Camuso) [1716756] - [platform] platform/chrome: Move cros-ec transport drivers to drivers/platform. (Tony Camuso) [1716756] - [tools] tools: PCI: Fix compiler warning in pcitest (Myron Stowe) [1753749] - [iommu] iommu: Fix integer truncation (Myron Stowe) [1753749] - [pci] PCI/P2PDMA: Ignore root complex whitelist when an IOMMU is present (Myron Stowe) [1753749] - [pci] PCI: Cleanup setup-bus.c comments and whitespace (Myron Stowe) [1753749] - [include] CPER: Remove unnecessary use of user-space types (Myron Stowe) [1753749] - [include] CPER: Add UEFI spec references (Myron Stowe) [1753749] - [pci] PCI: Fix comment typos (Myron Stowe) [1753749] - [pci] PCI: Cleanup register definition width and whitespace (Myron Stowe) [1753749] - [pci] PCI: pciehp: Remove pointless MY_NAME definition (Myron Stowe) [1753749] - [pci] PCI: pciehp: Remove pointless PCIE_MODULE_NAME definition (Myron Stowe) [1753749] - [pci] PCI: pciehp: Remove unused dbg/err/info/warn() wrappers (Myron Stowe) [1753749] - [pci] PCI: pciehp: Log messages with pci_dev, not pcie_device (Myron Stowe) [1753749] - [pci] PCI: pciehp: Replace pciehp_debug module param with dyndbg (Myron Stowe) [1753749] - [pci] PCI: pciehp: Remove pciehp_debug uses (Myron Stowe) [1753749] - [pci] PCI/AER: Log messages with pci_dev, not pcie_device (Myron Stowe) [1753749] - [pci] PCI/DPC: Log messages with pci_dev, not pcie_device (Myron Stowe) [1753749] - [pci] PCI/PME: Replace dev_printk(KERN_DEBUG) with dev_info() (Myron Stowe) [1753749] - [pci] PCI/AER: Replace dev_printk(KERN_DEBUG) with dev_info() (Myron Stowe) [1753749] - [pci] PCI: Replace dev_printk(KERN_DEBUG) with dev_info(), etc (Myron Stowe) [1753749] - [pci] PCI: Replace printk(KERN_INFO) with pr_info(), etc (Myron Stowe) [1753749] - [pci] PCI: Use dev_printk() when possible (Myron Stowe) [1753749] - [iommu] iommu/dma: Reserve IOVA for PCIe inaccessible DMA address (Myron Stowe) [1753749] - [pci] PCI: Add dma_ranges window list (Myron Stowe) [1753749] - [pci] PCI: endpoint: Fix a potential NULL pointer dereference (Myron Stowe) [1753749] - [tools] tools: PCI: Handle pcitest.sh independently from pcitest (Myron Stowe) [1753749] - [tools] tools: PCI: Add 'h' in optstring of getopt() (Myron Stowe) [1753749] - [tools] tools: PCI: Change pcitest compiling process (Myron Stowe) [1753749] - [tools] tools: PCI: Fix compilation warnings (Myron Stowe) [1753749] - [tools] tools: PCI: Exit with error code when test fails (Myron Stowe) [1753749] - [pci] PCI: Mark Atheros AR9462 to avoid bus reset (Myron Stowe) [1753749] - [pci] switchtec: Fix unintended mask of MRPC event (Myron Stowe) [1753749] - [pci] switchtec: Increase PFF limit from 48 to 255 (Myron Stowe) [1753749] - [pci] PCI/LINK: Disable bandwidth notification interrupt during suspend (Myron Stowe) [1753749] - [pci] PCI/P2PDMA: Allow P2P DMA between any devices under AMD ZEN Root Complex (Myron Stowe) [1753749] - [maintainers] MAINTAINERS: Add Karthikeyan Mitran and Hou Zhiqiang for Mobiveil PCI (Myron Stowe) [1753749] - [platform] platform/chrome: chromeos_laptop: use pci_dev_id() helper (Myron Stowe) [1753749] - [iommu] iommu/amd: Use pci_dev_id() helper (Myron Stowe) [1753749] - [drm] drm/amdkfd: Use pci_dev_id() helper (Myron Stowe) [1753749] - [powerpc] powerpc/powernv/npu: Use pci_dev_id() helper (Myron Stowe) [1753749] - [x86] x86/PCI: Fix PCI IRQ routing table memory leak (Myron Stowe) [1753749] - [pci] PCI: Remove unused pci_request_region_exclusive() (Myron Stowe) [1753749] - [pci] PCI: Mark expected switch fall-throughs (Myron Stowe) [1753749] - [pci] PCI/ACPI: Remove the need for 'struct hotplug_params' (Myron Stowe) [1753749] - [pci] PCI/ACPI: Do not export pci_get_hp_params() (Myron Stowe) [1753749] - [pci] PCI: rpaphp: Get/put device node reference during slot alloc/dealloc (Myron Stowe) [1753749] - [pci] PCI: rpadlpar: Fix leaked device_node references in add/remove paths (Myron Stowe) [1753749] - [pci] PCI: Assign bus numbers present in EA capability for bridges (Myron Stowe) [1753749] - [pci] PCI: OF: Support "external-facing" property (Myron Stowe) [1753749] - [documentation] dt-bindings: Add "external-facing" PCIe port property (Myron Stowe) [1753749] - [pci] PCI: Init PCIe feature bits for managed host bridge alloc (Myron Stowe) [1753749] - [pci] PCI/AER: Change pci_aer_init() stub to return void (Myron Stowe) [1753749] - [s390] s390/zcrypt: CEX7S exploitation support (Philipp Rudo) [1726416] - [s390] s390/pkey: Add sysfs attributes to emit AES CIPHER key blobs (Philipp Rudo) [1726416] - [s390] s390/crypto: Support for SHA3 via CPACF (MSA6) (Philipp Rudo) [1726416] - [s390] s390/crypto: xts-aes-s390 fix extra run-time crypto self tests finding (Philipp Rudo) [1726416] - [s390] s390: vfio-ap: fix warning reset not completed (Philipp Rudo) [1726416] - [s390] crypto: s390 - Rename functions to avoid conflict with crypto/sha256.h (Philipp Rudo) [1726416] - [s390] s390/zcrypt: fix wrong handling of cca cipher keygenflags (Philipp Rudo) [1726416] - [s390] crypto: s390/xts-aes - invoke fallback for ciphertext stealing (Philipp Rudo) [1726416] - [s390] s390/paes: Prepare paes functions for large key blobs (Philipp Rudo) [1726416] - [s390] s390/pkey: add CCA AES cipher key support (Philipp Rudo) [1726416] - [s390] s390/zcrypt: Add low level functions for CCA AES cipher keys (Philipp Rudo) [1726416] - [s390] s390/zcrypt: extend cca_findcard function and helper (Philipp Rudo) [1726416] - [s390] s390/pkey: pkey cleanup: narrow in-kernel API, fix some variable types (Philipp Rudo) [1726416] - [s390] s390/zcrypt: adjust switch fall through comments for -Wimplicit-fallthrough (Philipp Rudo) [1726416] - [s390] crypto: s390/aes - fix name clash after AES library refactor (Philipp Rudo) [1726416] - [s390] s390/zcrypt: new sysfs attributes serialnr and mkvps (Philipp Rudo) [1726416] - [s390] s390/zcrypt: add base code for cca crypto card info support (Philipp Rudo) [1726416] - [s390] s390/zcrypt: move cca misc functions to new code file (Philipp Rudo) [1726416] - [s390] s390: use __u{16, 32, 64} instead of uint{16, 32, 64}_t in uapi header (Philipp Rudo) [1726416] - [s390] s390/zcrypt: remove the exporting of ap_query_configuration (Philipp Rudo) [1726416] - [s390] s390/crypto: sha: Use -ENODEV instead of -EOPNOTSUPP (Philipp Rudo) [1726416] - [s390] s390/crypto: prng: Use -ENODEV instead of -EOPNOTSUPP (Philipp Rudo) [1726416] - [s390] s390/crypto: ghash: Use -ENODEV instead of -EOPNOTSUPP (Philipp Rudo) [1726416] - [s390] s390/pkey: Use -ENODEV instead of -EOPNOTSUPP (Philipp Rudo) [1726416] - [s390] s390/zcrypt: support special flagged EP11 cprbs (Philipp Rudo) [1726416] - [s390] s390/crypto: fix possible sleep during spinlock aquired (Philipp Rudo) [1726416] - [s390] s390/crypto: use TRNG for seeding/reseeding (Philipp Rudo) [1726416] - [s390] s390/crypto: rework generate_entropy function for pseudo random dd (Philipp Rudo) [1726416] - [s390] s390: zcrypt: initialize variables before_use (Philipp Rudo) [1726416] - [powerpc] powerpc/pseries: Track LMB nid instead of using device tree (Steve Best) [1758742] - [powerpc] powerpc/pseries/memory-hotplug: Only update DT once per memory DLPAR request (Steve Best) [1758742] - [net] hv_sock: Fix hang when a connection is closed (Cathy Avery) [1739477] - [net] hv_sock: Use consistent types for UUIDs (Cathy Avery) [1739477] - [net] hvsock: fix epollout hang from race condition (Cathy Avery) [1739477] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Cathy Avery) [1739477] - [net] hv_sock: perf: loop in send() to maximize bandwidth (Cathy Avery) [1739477] - [net] hv_sock: perf: Allow the socket buffer size options to influence the actual socket buffers (Cathy Avery) [1739477] - [net] hv_sock: Add support for delayed close (Cathy Avery) [1739477] - [powerpc] powerpc/rtas: allow rescheduling while changing cpu states (Steve Best) [1758651] - [powerpc] powerpc/pseries/mobility: use cond_resched when updating device tree (Steve Best) [1758651] - [tools] selftests/powerpc: Fix compile error on tlbie_test due to newer gcc (Desnes Augusto Nunes do Rosario) [1755707] - [tools] selftests/powerpc: Add test case for tlbie vs mtpidr ordering issue (Desnes Augusto Nunes do Rosario) [1755707] - [powerpc] powerpc/mm: Fixup tlbie vs mtpidr/mtlpidr ordering issue on POWER9 (Desnes Augusto Nunes do Rosario) [1755707] - [powerpc] powerpc/book3s64/radix: Rename CPU_FTR_P9_TLBIE_BUG feature flag (Desnes Augusto Nunes do Rosario) [1755707] - [powerpc] powerpc/book3s64/mm: Don't do tlbie fixup for some hardware revisions (Desnes Augusto Nunes do Rosario) [1755707] - [scsi] scsi: zfcp: make DIX experimental, disabled, and independent of DIF (Philipp Rudo) [1723829] - [s390] s390: add support for IBM z15 machines (Philipp Rudo) [1757015] - [s390] s390/pci: add mio_enabled attribute (Philipp Rudo) [1757118] - [s390] s390: fix setting of mio addressing control (Philipp Rudo) [1757118] - [s390] s390/pci: correctly handle MIO opt-out (Philipp Rudo) [1757118] - [s390] s390/pci: deal with devices that have no support for MIO instructions (Philipp Rudo) [1757118] - [s390] s390/pci: fix assignment of bus resources (Philipp Rudo) [1757118] - [s390] s390/pci: fix struct definition for set PCI function (Philipp Rudo) [1757118] - [s390] s390/pci: fix MSI message data (Philipp Rudo) [1757123] - [powerpc] powerpc/tm: Add tm-poison test (Steve Best) [1756721] - [powerpc] powerpc/powernv: Add new opal message type (Desnes Augusto Nunes do Rosario) [1706975] - [powerpc] powerpc/powernv: Enhance opal message read interface (Desnes Augusto Nunes do Rosario) [1706975] - [char] hwrng: core - don't wait on add_early_randomness() (Laurent Vivier) [1660802] - [firmware] efi: Export Runtime Configuration Interface table to sysfs (Al Stone) [1665518] - [nvme] nvme: Treat discovery subsystems as unique subsystems (Ewan Milne) [1757525] - [powerpc] powerpc/powernv/opal: Use standard interrupts property when available (Steve Best) [1757173] - [powerpc] powerpc: dump kernel log before carrying out fadump or kdump (Steve Best) [1756922] - [kernel] genirq/affinity: Create affinity mask for single vector (Ming Lei) [1733420] - [virt] kvm: arm/arm64: Only skip MMIO insn once (Andrew Jones) [1733928] - [vfio] type1: remove duplicate retrieval of reserved regions (Auger Eric) [1704597] - [vfio] type1: Add IOVA range capability support (Auger Eric) [1704597] - [vfio] type1: check dma map request is within a valid iova range (Auger Eric) [1704597] - [vfio] type1: Update iova list on detach (Auger Eric) [1704597] - [vfio] type1: Check reserved region conflict and update iova list (Auger Eric) [1704597] - [vfio] type1: Introduce iova list and add iommu aperture validity check (Auger Eric) [1704597] - [iommu] Revisit iommu_insert_resv_region() implementation (Auger Eric) [1704597] - [iommu] vt-d: Differentiate relaxable and non relaxable RMRRs (Auger Eric) [1704597] - [iommu] Introduce IOMMU_RESV_DIRECT_RELAXABLE reserved memory regions (Auger Eric) [1704597] - [iommu] vt-d: Handle PCI bridge RMRR device scopes in intel_iommu_get_resv_regions (Auger Eric) [1704597] - [iommu] vt-d: Handle RMRR with PCI bridge device scopes (Auger Eric) [1704597] - [iommu] vt-d: Introduce is_downstream_to_pci_bridge helper (Auger Eric) [1704597] - [iommu] vt-d: Duplicate iommu_resv_region objects per device list (Auger Eric) [1704597] - [iommu] Fix a leak in iommu_insert_resv_region (Auger Eric) [1704597] - [pci] hv: Avoid use of hv_pci_dev->pci_slot after freeing it (Mohammed Gamal) [1737569]- [x86] kvm: x86: omit "impossible" pmu MSRs from MSR list (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Fix consistency check on injected exception error code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: omit absent pmu MSRs from MSR list (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: Fix libkvm build error (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Limit guest PMCs to those supported on the host (Vitaly Kuznetsov) [1749495] - [virt] kvm: x86, powerpc: do not allow clearing largepages debugfs entry (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: x86: clarify what is reported on KVM_GET_MSRS failure (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Set VMENTER_L1D_FLUSH_NOT_REQUIRED if !X86_BUG_L1TF (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: add test for dirty logging inside nested guests (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: fix nested guest live migration with PML (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: assign two bits to track SPTE kinds (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Expose XSAVEERPTR to the guest (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Enumerate support for CLZERO instruction (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Use AMD CPUID semantics for AMD vCPUs (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Improve emulation of CPUID leaves 0BH and 1FH (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix userspace set invalid CR4 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix a spurious -E2BIG in __do_cpuid_func (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Loosen filter for adaptive tuning of lapic_timer_advance_ns (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: cleanup and fix host 64-bit mode checks (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: fix build warnings in hv_enable_direct_tlbflush() on i386 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Don't check kvm_rebooting in __kvm_handle_fault_on_reboot() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Drop ____kvm_handle_fault_on_reboot() (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Add error handling to VMREAD helper (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Optimize VMX instruction error and fault handling (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Check kvm_rebooting in kvm_spurious_fault() (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: limit atomic switch MSRs (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: Intercept RDPRU (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add "significant index" flag to a few CPUID leaves (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Skip invalid pages during zapping iff root_count is zero (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Explicitly track only a single invalid mmu generation (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "kvm: x86/mmu: Remove is_obsolete() call" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: reclaim the zapped-obsolete page first"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: collapse TLB flushes when zap all pages"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: zap pages in batch"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: add tracepoint for kvm_mmu_invalidate_all_pages"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: show mmu_valid_gen in shadow page related tracepoints"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Use fast invalidate mechanism to zap MMIO sptes (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Treat invalid shadow pages as obsolete (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Tune lapic_timer_advance_ns smoothly (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add comments to document various emulation types (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Handle single-step #DB for EMULTYPE_SKIP on EPT misconfig (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Remove emulation_result enums, EMULATE_{DONE, FAIL, USER_EXIT} (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Remove EMULATE_FAIL handling in handle_invalid_guest_state() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move triple fault request into RM int injection (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Handle emulation failure directly in kvm_task_switch() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Exit to userspace on emulation skip failure (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move #UD injection for failed emulation into emulation code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add explicit flag for forced emulation on #UD (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move #GP injection for VMware into x86_emulate_instruction() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Don't attempt VMWare emulation on #GP with non-zero error code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Refactor kvm_vcpu_do_singlestep() to remove out param (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Clean up handle_emulation_failure() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Relocate MMIO exit stats counting (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Check Host Address Space Size on vmentry of nested guests (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: hyperv_cpuid: add check for NoNonArchitecturalCoreSharing bit (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: hyper-v: set NoNonArchitecturalCoreSharing CPUID bit when SMT is impossible (Vitaly Kuznetsov) [1749495] - [kernel] cpu/smt: create and export cpu_smt_possible() (Vitaly Kuznetsov) [1749495] - [x86] kvm: hyperv: Fix Direct Synthetic timers assert an interrupt w/o lapic_in_kernel (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Manually flush collapsible SPTEs only when toggling flags (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Remove duplicate guest mode handling (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Introduce VM_MODE_PXXV48_4K (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Create VM earlier for dirty log test (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Move vm type into _vm_create() internally (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: announce KVM_CAP_HYPERV_ENLIGHTENED_VMCS support only when it is available (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: svm: remove unneeded nested_enable_evmcs() hook (Vitaly Kuznetsov) [1749495] - [x86] kvm/hyper-v/vmx: Add direct tlb flush support (Vitaly Kuznetsov) [1749495] - [documentation] kvm/hyper-v: Add new KVM capability KVM_CAP_HYPERV_DIRECT_TLBFLUSH (Vitaly Kuznetsov) [1749495] - [x86] hyper-v: Fix definition of struct hv_vp_assist_page (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add Intel PMU MSRs to msrs_to_save[] (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Use IPI shorthands in kvm guest when support (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix INIT signal handling in various CPU states (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Introduce exit reason for receiving INIT signal on guest-mode (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Stop the preemption timer during vCPU reset (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Micro optimize IPI latency (Vitaly Kuznetsov) [1749495] - [x86] kvm: Nested KVM MMUs need PAE root too (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: set ctxt->have_exception in x86_decode_insn() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: always stop emulation on page fault (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: trace nested VM-Enter failures detected by H/W (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: add tracepoint for failed nested VM-Enter (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: Fix a check in nested_svm_vmrun() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Return to userspace with internal error on unexpected exit reason (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add kvm_emulate_{rd, wr}msr() to consolidate VXM/SVM code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Refactor up kvm_{g, s}et_msr() to simplify callers (Vitaly Kuznetsov) [1749495] - [documentation] doc: kvm: Fix return description of KVM_SET_MSRS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Tune PLE Window tracepoint (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Change ple_window type to unsigned int (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Remove tailing newline for tracepoints (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Trace vcpu_id for vmexit (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Manually calculate reserved bits when loading PDPTRS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Disable posted interrupts for non-standard IRQs delivery modes (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Fix and tweak the comments for VM-Enter (Vitaly Kuznetsov) [1749495] - [x86] kvm: Assert that struct kvm_vcpu is always as offset zero (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add pv tlb shootdown tracepoint (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Unconditionally call x86 ops that are always implemented (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Consolidate "is MMIO SPTE" code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Add explicit access mask for MMIO SPTEs (Vitaly Kuznetsov) [1749495] - [documentation] kvm: x86: Rename access permissions cache member in struct kvm_vcpu_arch (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: eliminate hardcoded RIP advancement from vmrun_interception() (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: eliminate weird goto from vmrun_interception() (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: remove hardcoded instruction length from intercepts (Vitaly Kuznetsov) [1749495] - [x86] kvm: add xsetbv to the emulator (Vitaly Kuznetsov) [1749495] - [x86] kvm: clear interrupt shadow on EMULTYPE_SKIP (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: propagate errors from skip_emulated_instruction() (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: don't pretend to advance RIP in case wrmsr_interception() results in #GP (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix x86_decode_insn() return when fetching insn bytes fails (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: use Intel speculation bugs and features as derived in generic x86 code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: always expose VIRT_SSBD to guests (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: fix reporting of AMD speculation bug CPUID leaf (Vitaly Kuznetsov) [1749495] - [virt] kvm: Call kvm_arch_vcpu_blocking early into the blocking sequence (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Reintroduce fast invalidate/zap for flushing memslot (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: work around leak of uninitialized stack contents (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: handle page fault in vmread (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Don't update RIP or do single-step on faulting emulation (Vitaly Kuznetsov) [1749495] - [tools] selftests/kvm: make platform_info_test pass on AMD (Vitaly Kuznetsov) [1749495] - [x86] revert "kvm: x86/mmu: Zap only the relevant pages when removing a memslot" (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: fix state save/load on processors without XSAVE (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: fix vmx_set_nested_state_test (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: provide common function to enable eVMCS (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: do not try running the VM in vmx_set_nested_state_test (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: svm: remove redundant assignment of var new_entry (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: Adding config fragments (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Update gitignore file for latest changes (Vitaly Kuznetsov) [1749495] - [virt] kvm: remove unnecessary PageReserved check (Vitaly Kuznetsov) [1749495] - [x86] kvm: remove useless calls to kvm_para_available (Vitaly Kuznetsov) [1749495] - [x86] kvm: no need to check return value of debugfs_create functions (Vitaly Kuznetsov) [1749495] - [s390] kvm: remove kvm_arch_has_vcpu_debugfs() (Vitaly Kuznetsov) [1749495] - [virt] kvm: Fix leak vCPU's VMCS value into other pCPU (Vitaly Kuznetsov) [1749495] - [virt] kvm: Check preempted_in_kernel for involuntary preemption (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Don't need to wakeup vCPU twice afer timer fire (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Boost queue head vCPU to mitigate lock waiter preemption (Vitaly Kuznetsov) [1749495] - [documentation] documentation: move Documentation/virtual to Documentation/virt (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add fixed counters to PMU filter (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: dump VMCS on failed entry (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/vpmu: refine kvm_pmu err msg when event creation failed (Vitaly Kuznetsov) [1749495] - [virt] kvm: Boost vCPUs that are delivering interrupts (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Remove superfluous define from vmx.c (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: Fix detection of AMD Errata 1096 (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Inject timer interrupt via posted interrupt (Vitaly Kuznetsov) [1749495] - [x86] kvm: Don't call kvm_spurious_fault() from .fixup (Vitaly Kuznetsov) [1749495] - [x86] kvm: Replace vmx_vmenter()'s call to kvm_spurious_fault() with UD2 (Vitaly Kuznetsov) [1749495] - [x86] kvm: Fix fastop function ELF metadata (Vitaly Kuznetsov) [1749495] - [x86] paravirt: Fix callee-saved function ELF sizes (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Make lapic timer unpinned (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/vpmu: reset pmc->counter to 0 for pmu fixed_counters (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Ignore segment base for VMX memory operand when segment not FS or GS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: ioapic and apic debug macros cleanup (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: some tsc debug cleanup (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: fix coccinelle warnings (Vitaly Kuznetsov) [1749495] - [x86] kvm: avoid constant-conversion warning (Vitaly Kuznetsov) [1749495] - [x86] kvm: avoid -Wsometimes-uninitized warning (Vitaly Kuznetsov) [1749495] - [documentation] documentation: virtual: Add toctree hooks (Vitaly Kuznetsov) [1749495] - [documentation] documentation: kvm: Convert cpuid.txt to .rst (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Unconditionally enable irqs in guest context (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: PMU Event Filter (Vitaly Kuznetsov) [1749495] - [kernel] kvm: x86: Fix -Wmissing-prototypes warnings (Vitaly Kuznetsov) [1749495] - [virt] kvm: Properly check if "page" is valid in kvm_vcpu_unmap (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Retry tune per-vCPU timer_advance_ns if adaptive tuning goes insane (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: write down valid APIC registers (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: ARBPRI is a reserved register for x2APIC (Vitaly Kuznetsov) [1749495] - [x86] kvm nvmx: Check Host Segment Registers and Descriptor Tables on vmentry of nested guests (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Stash L1's CR3 in vmcs01.GUEST_CR3 on nested entry w/o EPT (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: add tracepoints around __direct_map and FNAME(fetch) (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: change kvm_mmu_page_get_gfn BUG_ON to WARN_ON (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: remove now unneeded hugepage gfn adjustment (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: make FNAME(fetch) and __direct_map more similar (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Do not release the page inside mmu_set_spte() (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: remove has_leaf_count from struct kvm_cpuid_param (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: rename do_cpuid_1_ent (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: set struct kvm_cpuid_entry2 flags in do_cpuid_1_ent (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: extract do_cpuid_7_mask and support multiple subleafs (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: do_cpuid_ent works on a whole CPUID function (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: remove the trailing newline used in the fmt parameter of TP_printk (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: add nrips module parameter (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: degrade WARN to pr_warn_ratelimited (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Pass through AMD_STIBP_ALWAYS_ON in GET_SUPPORTED_CPUID (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Remove unnecessary sync_roots from handle_invept (Vitaly Kuznetsov) [1749495] - [documentation] documentation: kvm: document CPUID bit for MSR_KVM_POLL_CONTROL (Vitaly Kuznetsov) [1749495] - [documentation] kvm: x86: Expose PV_SCHED_YIELD CPUID feature bit to guest (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Implement PV sched yield hypercall (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Yield to IPI target if necessary (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: list VMX MSRs in KVM_GET_MSR_INDEX_LIST (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: allow setting the VMFUNC controls MSR (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: include conditional controls in /dev/kvm KVM_GET_MSRS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix apic dangling pointer in vcpu (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: check CPUID before allowing read/write of IA32_XSS (Vitaly Kuznetsov) [1749495] - [tools] tests: kvm: Check for a kernel warning (Vitaly Kuznetsov) [1749495] - [tools] kvm: tests: Sort tests in the Makefile alphabetically (Vitaly Kuznetsov) [1749495] - [documentation] kvm: fix typo in documentation (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: shadow pin based execution controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Leave preemption timer running when it's disabled (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Drop hv_timer_armed from 'struct loaded_vmcs' (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Preset *DT exiting in vmcs02 when emulating UMIP (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Preserve last USE_MSR_BITMAPS when preparing vmcs02 (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Explicitly initialize controls shadow at VMCS allocation (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't reset VMCS controls shadow on VMCS switch (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Shadow VMCS controls on a per-VMCS basis (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Shadow VMCS secondary execution controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Shadow VMCS primary execution controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Shadow VMCS pin controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Add builder macros for shadowing controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Use adjusted pin controls for vmcs02 (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Copy PDPTRs to/from vmcs12 only when necessary (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't update GUEST_BNDCFGS if it's clean in HV eVMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Update vmcs12 for MSR_IA32_DEBUGCTLMSR when it's written (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Update vmcs12 for SYSENTER MSRs when they're written (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Update vmcs12 for MSR_IA32_CR_PAT when it's written (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't speculatively write APIC-access page address (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't speculatively write virtual-APIC page address (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't dump VMCS if virtual APIC page can't be mapped (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't reread VMCS-agnostic state when switching VMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't "put" vCPU or host state when switching VMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: simplify vmx_prepare_switch_to_{guest, host} (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't rewrite GUEST_PML_INDEX during nested VM-Entry (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Write ENCLS-exiting bitmap once per vmcs02 (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Always sync GUEST_BNDCFGS when it comes from vmcs01 (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Always signal #GP on WRMSR to MSR_IA32_CR_PAT with bad value (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_rare (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Sync rarely accessed guest fields only when needed (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Add helpers to identify shadowed VMCS fields (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Use descriptive names for VMCS sync functions and flags (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Lift sync_vmcs12() out of prepare_vmcs12() (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Track vmcs12 offsets for shadowed VMCS fields (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Intercept VMWRITEs to GUEST_{CS, SS}_AR_BYTES (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Intercept VMWRITEs to read-only shadow VMCS fields (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Handle NMIs, #MCs and async #PFs in common irqs-disabled fn (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move kvm_{before, after}_interrupt() calls to vendor code (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Store the host kernel's IDT base in a global variable (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Read cached VM-Exit reason to detect external interrupt (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: small cleanup in handle_exception (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Fix handling of #MC that occurs during VM-Entry (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: move MSR_IA32_POWER_CTL handling to common code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: offset is ensure to be in range (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: use same convention to name kvm_lapic_{set, clear}_vector() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: check kvm_apic_sw_enabled() is enough (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: add host poll control msrs (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: segment limit check: use access length (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: fix limit checking in get_vmx_mem_address() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add Intel CPUID.1F cpuid emulation support (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Use DR_TRAP_BITS instead of hard-coded 15 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: clean up conditions for asynchronous page fault handling (Vitaly Kuznetsov) [1749495] - [documentation] docs: amd-memory-encryption.rst get rid of warnings (Vitaly Kuznetsov) [1749495] - [virt] kvm: Convert kvm_lock to a mutex (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: remove unneeded 'asm volatile ("")' from vmcs_write64 (Vitaly Kuznetsov) [1749495] - [virt] kvm: irqchip: Use struct_size() in kzalloc() (Vitaly Kuznetsov) [1749495] - [x86] kvm/vmx: drop bad asm() clobber from nested_vmx_check_vmentry_hw() (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: hide vcpu_setup in processor code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Emulate MSR_IA32_MISC_ENABLE MWAIT bit (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Provide a capability to disable cstate msr read intercepts (Vitaly Kuznetsov) [1749495] - [documentation] kvm: documentation: Add disable pause exits to KVM_CAP_X86_DISABLE_EXITS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: refine kvm_get_arch_capabilities() (Vitaly Kuznetsov) [1749495] - [virt] kvm: Directly return result from kvm_arch_check_processor_compat() (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Optimize timer latency further (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Delay trace_kvm_wait_lapic_expire tracepoint to after vmexit (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Extract adaptive tune timer advancement logic (Vitaly Kuznetsov) [1749495] - [x86] kvm/nsvm: properly map nested VMCB (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix reserved bits related calculation errors caused by MKTME (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move kvm_set_mmio_spte_mask() from x86.c to mmu.c (Vitaly Kuznetsov) [1749495] - [virt] kvm: fix compile on s390 part 2 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: fix return value for reserved EFER (Vitaly Kuznetsov) [1749495] - [tools] kvm_stat: fix fields filter for child events (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: aarch64: compile with warnings on (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/pmu: do not mask the value that is written to fixed PMUs (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/pmu: mask the result of rdpmc according to the width of the counters (Vitaly Kuznetsov) [1749495] - [x86] kvm/pmu: Set AMD's virt PMU version to 1 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: do not spam dmesg with VMCS/VMCB dumps (Vitaly Kuznetsov) [1749495] - [virt] kvm: Check irqchip mode before assign irqfd (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Remove duplicated TEST_ASSERT in hyperv_cpuid.c (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Expose per-vCPU timer_advance_ns to userspace (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Fix lapic_timer_advance_ns parameter overflow (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Fix -Wmissing-prototypes warnings (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Fix using __this_cpu_read() in preemptible context (Vitaly Kuznetsov) [1749495] - [virt] kvm: fix compilation on s390 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Include CPUID leaf 0x8000001e in kvm's supported CPUID (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Include multiple indices with CPUID leaf 0x8000001d (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Fix a condition in test_hv_cpuid() (Vitaly Kuznetsov) [1749495] - [virt] kvm: Fix spinlock taken warning during host resume (Vitaly Kuznetsov) [1749495] - [virt] kvm: fix compilation on aarch64 (Vitaly Kuznetsov) [1749495] - [x86] revert "kvm: nvmx: Expose RDPMC-exiting only when guest supports PMU" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix L1TF mitigation for shadow MMU (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Disable intercept for FS/GS base MSRs in vmcs02 when possible (Vitaly Kuznetsov) [1749495] - [tools] tests: kvm: Add tests to .gitignore (Vitaly Kuznetsov) [1749495] - [documentation] kvm: Introduce KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 (Vitaly Kuznetsov) [1749495] - [virt] kvm: Fix kvm_clear_dirty_log_protect off-by-(minus-)one (Vitaly Kuznetsov) [1749495] - [virt] kvm: Fix the bitmap range to copy during clear dirty (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: use direct accessors for RIP and RSP (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Use accessors for GPRs outside of dedicated caching logic (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Omit caching logic for always-available GPRs (Vitaly Kuznetsov) [1749495] - [x86] kvm, x86: Properly check whether a pfn is an MMIO or not (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use page_address_valid in a few more locations (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map for accessing the enlightened VMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map for accessing the shadow VMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm/nsvm: Use the new mapping API for mapping guest memory (Vitaly Kuznetsov) [1749495] - [x86] kvm/x86: Use kvm_vcpu_map in emulator_cmpxchg_emulated (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map when mapping the posted interrupt descriptor table (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map when mapping the virtual APIC page (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map when mapping the L1 MSR bitmap (Vitaly Kuznetsov) [1749495] - [x86] nvmx: handle_vmptrld: Use kvm_vcpu_map when copying VMCS12 from guest memory (Vitaly Kuznetsov) [1749495] - [virt] kvm: Introduce a new guest mapping API (Vitaly Kuznetsov) [1749495] - [x86] kvm: Handle PFNs outside of kernel reach when touching GPTEs (Vitaly Kuznetsov) [1749495] - [x86] nvmx: Update the PML table without mapping and unmapping the page (Vitaly Kuznetsov) [1749495] - [x86] nvmx: handle_vmon: Read 4 bytes from guest memory (Vitaly Kuznetsov) [1749495] - [x86] kvm: Implement HWCR support (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Include architectural defs header in capabilities.h (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: clean up some debug output (Vitaly Kuznetsov) [1749495] - [virt] kvm_main: fix some comments (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Skip delta_tsc shift-and-divide if the dividend is zero (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Check for a pending timer intr prior to start_hv_timer() (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Refactor ->set_hv_timer to use an explicit expired param (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Explicitly cancel the hv timer if it's pre-expired (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Busy wait for timer to expire when using hv_timer (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Nop emulation of MSR_IA32_POWER_CTL (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add support of clear Trace_ToPA_PMI status (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Inject PMI for KVM guest (Vitaly Kuznetsov) [1749495] - [documentation] revert "kvm: doc: Document the life cycle of a VM and its resources" (Vitaly Kuznetsov) [1749495] - [documentation] documentation: kvm: fix dirty log ioctl arch lists (Vitaly Kuznetsov) [1749495] - [x86] kvm: Make steal_time visible (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Inject #GP if guest attempts to set unsupported EFER bits (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Skip EFER vs. guest CPUID checks for host-initiated writes (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Return -EINVAL when signaling failure in VM-Entry helpers (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Return -EINVAL when signaling failure in pre-VM-Entry helpers (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Rename and split top-level consistency checks to match SDM (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Move guest non-reg state checks to VM-Exit path (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Check "load IA32_PAT" VM-entry control on vmentry (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Check "load IA32_PAT" VM-exit control on vmentry (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: optimize check for valid PAT value (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: clear VM_EXIT_SAVE_IA32_PAT (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: print more APICv fields in dump_vmcs (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Raise #GP when guest vCPU do not support PMU (Vitaly Kuznetsov) [1749495] - [documentation] kvm: doc: Document the life cycle of a VM and its resources (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: skip populating logical dest map if apic is not sw enabled (Bandan Das) [1728503] - [powerpc] kvm: ppc: book3s: Fix incorrect guest-to-user-translation error handling (David Gibson) [1749504] - [powerpc] kvm: Fall through switch case explicitly (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Fix CR0 setting in TM emulation (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Invalidate ERAT when flushing guest TLB entries (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Only write DAWR[X] when handling h_set_dawr in real mode (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: xive: Fix spelling mistake "acessing" -> "accessing" (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Make sure to load LPID for radix VCPUs (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Flush TLB on secondary radix threads (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Move HPT guest TLB flushing to C code (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Handle virtual mode in XIVE VCPU push code (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: smb->smp comment fixup (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s: Allocate guest TCEs on demand too (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Avoid lockdep debugging in TCE realmode handlers (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Fix lockdep warning when entering the guest (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Implement real mode H_PAGE_INIT handler (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Implement virtual mode H_PAGE_INIT handler (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s: Protect memslots while validating user address (David Gibson) [1749504] - [pci] PCI: hv: Use bytes 4 and 5 from instance ID as the PCI domain numbers (Mohammed Gamal) [1671288] - [pci] PCI: hv: Detect and fix Hyper-V PCI domain number collision (Mohammed Gamal) [1671288] - [fs] Revert "lockd: Show pid of lockd for remote locks" (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix an Oops in nfs4_do_setattr (Benjamin Coddington) [1732409] - [fs] NFSv4: Check the return value of update_open_stateid() (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix delegation state recovery (Benjamin Coddington) [1732409] - [fs] pnfs/flexfiles: Fix PTR_ERR() dereferences in ff_layout_track_ds_error (Benjamin Coddington) [1732409] - [fs] Revert "NFS: readdirplus optimization by cache mechanism" (memleak) (Benjamin Coddington) [1732409] - [fs] svcrdma: Ignore source port when computing DRC hash (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Use the correct TCP timeout for flexfiles I/O (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Fix bug only first CB_NOTIFY_LOCK is handled (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Again fix a race where CB_NOTIFY_LOCK fails to wake a waiter (Benjamin Coddington) [1732409] - [fs] SUNRPC fix regression in umount of a secure mount (Benjamin Coddington) [1732409] - [fs] NFS4: Fix v4.0 client state corruption when mount (Benjamin Coddington) [1732409] - [fs] NFSv4: When recovering state fails with EAGAIN, retry the same recovery (Benjamin Coddington) [1732409] - [fs] pnfs: Fix a problem where we gratuitously start doing I/O through the MDS (Benjamin Coddington) [1732409] - [fs] SUNRPC: Ensure the bvecs are reset when we re-encode the RPC request (Benjamin Coddington) [1732409] - [fs] sunrpc/cache: remove the exporting of cache_seq_next (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a use after free when a server rejects the RPCSEC_GSS credential (Benjamin Coddington) [1732409] - [fs] xprtrdma: Fix an frwr_map recovery nit (Benjamin Coddington) [1732409] - [fs] NFSv4.1 fix incorrect return value in copy_file_range (Benjamin Coddington) [1732409] - [fs] NFS: Fix handling of reply page vector (Benjamin Coddington) [1732409] - [fs] NFS: Forbid setting AF_INET6 to "struct sockaddr_in"->sin_family. (Benjamin Coddington) [1732409] - [fs] nfsd: Don't release the callback slot unless it was actually held (Benjamin Coddington) [1732409] - [fs] nfsd/nfsd3_proc_readdir: fix buffer count and page pointers (Benjamin Coddington) [1732409] - [fs] sunrpc: don't mark uninitialised items as VALID. (Benjamin Coddington) [1732409] - [fs] SUNRPC: fix uninitialized variable warning (Benjamin Coddington) [1732409] - [fs] pNFS/flexfiles: Fix layoutstats handling during read failovers (Benjamin Coddington) [1732409] - [fs] NFS: Fix a typo in nfs_init_timeout_values() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't let RPC_SOFTCONN tasks time out if the transport is connected (Benjamin Coddington) [1732409] - [fs] NFS: fix mount/umount race in nlmclnt. (Benjamin Coddington) [1732409] - [fs] NFS: Fix nfs4_lock_state refcounting in nfs4_alloc_{lock, unlock}data() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove redundant check for the reply length in call_decode() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Handle the SYSTEM_ERR rpc error (Benjamin Coddington) [1732409] - [fs] SUNRPC: rpc_decode_header() must always return a non-zero value on error (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use the ENOTCONN error on socket disconnect (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix the minimal size for reply buffer allocation (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a client regression when handling oversized replies (Benjamin Coddington) [1732409] - [fs] pNFS: Fix a typo in pnfs_update_layout (Benjamin Coddington) [1732409] - [fs] SUNRPC: Take the transport send lock before binding+connecting (Benjamin Coddington) [1732409] - [fs] SUNRPC: Micro-optimise when the task is known not to be sleeping (Benjamin Coddington) [1732409] - [fs] SUNRPC: Check whether the task was transmitted before rebind/reconnect (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove redundant calls to RPC_IS_QUEUED() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up (Benjamin Coddington) [1732409] - [fs] nfsd: allow nfsv3 readdir request to be larger. (Benjamin Coddington) [1732409] - [fs] SUNRPC: Respect RPC call timeouts when retrying transmission (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix up RPC back channel transmission (Benjamin Coddington) [1732409] - [fs] SUNRPC: Prevent thundering herd when the socket is not connected (Benjamin Coddington) [1732409] - [fs] nfsd: fix wrong check in write_v4_end_grace() (Benjamin Coddington) [1732409] - [fs] nfsd: fix memory corruption caused by readdir (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow dynamic allocation of back channel slots (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Bump the default callback session slot count to 16 (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert remaining GFP_NOIO, and GFP_NOWAIT sites in sunrpc (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Clean up mirror DS initialisation (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Remove dead code in ff_layout_mirror_valid() (Benjamin Coddington) [1732409] - [fs] NFS/flexfile: Simplify nfs4_ff_layout_select_ds_stateid() (Benjamin Coddington) [1732409] - [fs] NFS/flexfile: Simplify nfs4_ff_layout_ds_version() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Simplify ff_layout_get_ds_cred() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Simplify nfs4_ff_find_or_create_ds_client() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Simplify nfs4_ff_layout_select_ds_fh() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Speed up read failover when DSes are down (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Don't invalidate DS deviceids for being unresponsive (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Remove bogus checks for invalid deviceids (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Avoid unnecessary layout invalidations (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: refactor calls to fs4_ff_layout_prepare_ds() (Benjamin Coddington) [1732409] - [fs] NFSv4: Handle early exit in layoutget by returning an error (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Send LAYOUTERROR when failing over mirrored reads (Benjamin Coddington) [1732409] - [fs] NFSv4.2: Add client support for the generic 'layouterror' RPC call (Benjamin Coddington) [1732409] - [fs] NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated (Benjamin Coddington) [1732409] - [fs] NFSv4/pnfs: Fix barriers in nfs4_mark_deviceid_unavailable() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Fix up sparse RCU annotations (Benjamin Coddington) [1732409] - [fs] NFSv4/flexfiles: Fix invalid deref in FF_LAYOUT_DEVID_NODE() (Benjamin Coddington) [1732409] - [fs] NFS: Add missing encode / decode sequence_maxsz to v4.2 operations (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Don't process the sequence op more than once. (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Reinitialise sequence results before retransmitting a request (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix an Oops in udp_poll() (Benjamin Coddington) [1732409] - [fs] NFS/pnfs: Bulk destroy of layouts needs to be safe w.r.t. umount (Benjamin Coddington) [1732409] - [fs] NFS: Fix a soft lockup in the delegation recovery code (Benjamin Coddington) [1732409] - [fs] nfsd: fix performance-limiting session calculation (Benjamin Coddington) [1732409] - [fs] svcrpc: fix UDP on servers with lots of threads (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove the redundant 'zerocopy' argument to xs_sendpages() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Further cleanups of xs_sendpages() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert socket page send code to use iov_iter() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert xs_send_kvec() to use iov_iter_kvec() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Initiate a connection close on an ESHUTDOWN error in stream receive (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't suppress socket errors when a message read completes (Benjamin Coddington) [1732409] - [fs] SUNRPC: Handle zero length fragments correctly (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't reset the stream record info when the receive worker is running (Benjamin Coddington) [1732409] - [fs] nfs: fix xfstest generic/099 failed on nfsv3 (Benjamin Coddington) [1732409] - [fs] NFS: Fix typo in comments of nfs_readdir_alloc_pages() (Benjamin Coddington) [1732409] - [fs] NFS: Remove redundant semicolon (Benjamin Coddington) [1732409] - [fs] NFS: readdirplus optimization by cache mechanism (Benjamin Coddington) [1732409] - [fs] fs/nfs: Fix nfs_parse_devname to not modify it's argument (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove pointless test in unx_match() (Benjamin Coddington) [1732409] - [fs] NFS: drop useless LIST_HEAD (Benjamin Coddington) [1732409] - [fs] SUNRPC: Ensure rq_bytes_sent is reset before request transmission (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use poll() to fix up the socket requeue races (Benjamin Coddington) [1732409] - [fs] SUNRPC: Set memalloc_nofs_save() on all rpciod/xprtiod jobs (Benjamin Coddington) [1732409] - [fs] NFS: Fix sparse annotations for nfs_set_open_stateid_locked() (Benjamin Coddington) [1732409] - [fs] NFS: Fix up documentation warnings (Benjamin Coddington) [1732409] - [fs] NFS: ENOMEM should also be a fatal error. (Benjamin Coddington) [1732409] - [fs] NFS: EINTR is also a fatal error. (Benjamin Coddington) [1732409] - [fs] NFS: Ensure NFS writeback allocations don't recurse back into NFS. (Benjamin Coddington) [1732409] - [fs] NFS: Pass error information to the pgio error cleanup routine (Benjamin Coddington) [1732409] - [fs] NFS: Clean up list moves of struct nfs_page (Benjamin Coddington) [1732409] - [fs] NFS: Don't recoalesce on error in nfs_pageio_complete_mirror() (Benjamin Coddington) [1732409] - [fs] NFS: Fix an I/O request leakage in nfs_do_recoalesce (Benjamin Coddington) [1732409] - [fs] NFS: Fix I/O request leakages (Benjamin Coddington) [1732409] - [fs] Revert "nfsd4: return default lease period" (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use au_rslack when computing reply buffer size (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add rpc_auth::au_ralign field (Benjamin Coddington) [1732409] - [fs] SUNRPC: Make AUTH_SYS and AUTH_NULL set au_verfsize (Benjamin Coddington) [1732409] - [fs] NFS: Account for XDR pad of buf->pages (Benjamin Coddington) [1732409] - [fs] SUNRPC: Introduce rpc_prepare_reply_pages() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove xdr_buf_trim() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Introduce trace points in rpc_auth_gss.ko (Benjamin Coddington) [1732409] - [fs] xprtrdma: Squelch a sparse warning (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use struct xdr_stream when decoding RPC Reply header (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up rpc_verify_header() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use struct xdr_stream when constructing RPC Call header (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add build option to disable support for insecure enctypes (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove rpc_xprt::tsh_size (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove some dprintk() call sites from auth functions (Benjamin Coddington) [1732409] - [fs] NFS: Add trace events to report non-zero NFS status codes (Benjamin Coddington) [1732409] - [fs] NFS: Remove print_overflow_msg() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add trace event that reports reply page vector alignment (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add XDR overflow trace event (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add xdr_stream::rqst field (Benjamin Coddington) [1732409] - [fs] SUNRPC: Display symbolic flag names in RPC trace events (Benjamin Coddington) [1732409] - [fs] rpc: properly check debugfs dentry before using it (Benjamin Coddington) [1732409] - [fs] svcrpc: fix unlikely races preventing queueing of sockets (Benjamin Coddington) [1732409] - [fs] svcrpc: svc_xprt_has_something_to_do seems a little long (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't allow compiler optimisation of svc_xprt_release_slot() (Benjamin Coddington) [1732409] - [fs] nfsd: fix an IS_ERR() vs NULL check (Benjamin Coddington) [1732409] - [fs] nfsd: Fix error return values for nfsd4_clone_file_range() (Benjamin Coddington) [1732409] - [fs] nfs: Fix NULL pointer dereference of dev_name (Benjamin Coddington) [1732409] - [fs] SUNRPC: Address Kerberos performance/behavior regression (Benjamin Coddington) [1732409] - [fs] SUNRPC: Ensure we respect the RPCSEC_GSS sequence number limit (Benjamin Coddington) [1732409] - [fs] SUNRPC: Ensure rq_bytes_sent is reset before request transmission (Benjamin Coddington) [1732409] - [fs] NFSv4.2 fix unnecessary retry in nfs4_copy_file_range (Benjamin Coddington) [1732409] - [fs] sunrpc: kernel BUG at kernel/cred.c:825! (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix TCP receive code on archs with flush_dcache_page() (Benjamin Coddington) [1732409] - [fs] sunrpc: convert to DEFINE_SHOW_ATTRIBUTE (Benjamin Coddington) [1732409] - [fs] sunrpc: Add xprt after nfs4_test_session_trunk() (Benjamin Coddington) [1732409] - [fs] sunrpc: convert unnecessary GFP_ATOMIC to GFP_NOFS (Benjamin Coddington) [1732409] - [fs] sunrpc: handle ENOMEM in rpcb_getport_async (Benjamin Coddington) [1732409] - [fs] NFS: remove unnecessary test for IS_ERR(cred) (Benjamin Coddington) [1732409] - [fs] NFSv4.2 fix async copy reboot recovery (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix some kernel doc complaints (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify defining common RPC trace events (Benjamin Coddington) [1732409] - [fs] NFS: Fix NFSv4 symbolic trace point output (Benjamin Coddington) [1732409] - [fs] nfs: fixed broken compilation in nfs_callback_up_net() (Benjamin Coddington) [1732409] - [fs] nfs: minor typo in nfs4_callback_up_net() (Benjamin Coddington) [1732409] - [fs] sunrpc: fix debug message in svc_create_xprt() (Benjamin Coddington) [1732409] - [fs] sunrpc: remove svc_rdma_bc_class (Benjamin Coddington) [1732409] - [fs] sunrpc: remove unused bc_up operation from rpc_xprt_ops (Benjamin Coddington) [1732409] - [fs] sunrpc: use SVC_NET() in svcauth_gss_* functions (Benjamin Coddington) [1732409] - [fs] nfsd: drop useless LIST_HEAD (Benjamin Coddington) [1732409] - [fs] SUNRPC discard cr_uid from struct rpc_cred. (Benjamin Coddington) [1732409] - [fs] SUNRPC: simplify auth_unix. (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove crbind rpc_cred operation (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove generic cred code. (Benjamin Coddington) [1732409] - [fs] NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. (Benjamin Coddington) [1732409] - [fs] NFS: struct nfs_open_dir_context: convert rpc_cred pointer to cred. (Benjamin Coddington) [1732409] - [fs] NFS: change access cache to use 'struct cred'. (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove RPCAUTH_AUTH_NO_CRKEY_TIMEOUT (Benjamin Coddington) [1732409] - [fs] NFS: move credential expiry tracking out of SUNRPC into NFS. (Benjamin Coddington) [1732409] - [fs] SUNRPC: add side channel to use non-generic cred for rpc call. (Benjamin Coddington) [1732409] - [fs] SUNRPC: introduce RPC_TASK_NULLCREDS to request auth_none (Benjamin Coddington) [1732409] - [fs] NFS/SUNRPC: don't lookup machine credential until rpcauth_bindcred(). (Benjamin Coddington) [1732409] - [fs] SUNRPC: discard RPC_DO_ROOTOVERRIDE() (Benjamin Coddington) [1732409] - [fs] NFSv4: don't require lock for get_renew_cred or get_machine_cred (Benjamin Coddington) [1732409] - [fs] NFSv4: add cl_root_cred for use when machine cred is not available. (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove machine_cred field from struct auth_cred (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove uid and gid from struct auth_cred (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove groupinfo from struct auth_cred. (Benjamin Coddington) [1732409] - [fs] SUNRPC: add 'struct cred *' to auth_cred and rpc_cred (Benjamin Coddington) [1732409] - [fs] cred: allow get_cred() and put_cred() to be given NULL. (Benjamin Coddington) [1732409] - [fs] cred: export get_task_cred(). (Benjamin Coddington) [1732409] - [fs] cred: add get_cred_rcu() (Benjamin Coddington) [1732409] - [fs] cred: add cred_fscmp() for comparing creds. (Benjamin Coddington) [1732409] - [fs] SUNRPC: allow /proc entries without CONFIG_SUNRPC_DEBUG (Benjamin Coddington) [1732409] - [fs] nfs: fix comment to nfs_generic_pg_test which does the opposite (Benjamin Coddington) [1732409] - [fs] NFSv4: cleanup remove unused nfs4_xdev_fs_type (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove xprt_connect_status() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a race with XPRT_CONNECTING (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix disconnection races (Benjamin Coddington) [1732409] - [fs] Revert "[net] Revert "sunrpc: Ensure we always close the socket after a connection shuts down"" (Benjamin Coddington) [1732409] - [fs] lockd: Show pid of lockd for remote locks (Benjamin Coddington) [1732409] - [fs] NFSD remove OP_CACHEME from 4.2 op_flags (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't force a redundant disconnection in xs_read_stream() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix up socket polling (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use the discard iterator rather than MSG_TRUNC (Benjamin Coddington) [1732409] - [fs] SUNRPC: Treat EFAULT as a truncated message in xs_read_stream_request() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix up handling of the XDRBUF_SPARSE_PAGES flag (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix RPC receive hangs (Benjamin Coddington) [1732409] - [fs] nfsd: Return EPERM, not EACCES, in some SETATTR cases (Benjamin Coddington) [1732409] - [fs] sunrpc: fix cache_head leak due to queued request (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a potential race in xprt_connect() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a memory leak in call_encode() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix leak of krb5p encode pages (Benjamin Coddington) [1732409] - [fs] SUNRPC: call_connect_status() must handle tasks that got transmitted (Benjamin Coddington) [1732409] - [fs] nfs: don't dirty kernel pages read by direct-io (Benjamin Coddington) [1732409] - [fs] NFS: use locks_copy_lock() to copy locks. (Benjamin Coddington) [1732409] - [fs] nfsd: clean up indentation, increase indentation in switch statement (Benjamin Coddington) [1732409] - [fs] nfsd: fix a warning in __cld_pipe_upcall() (Benjamin Coddington) [1732409] - [fs] lockd: fix decoding of TEST results (Benjamin Coddington) [1732409] - [fs] nfsd4: fix crash on writing v4_end_grace before nfsd startup (Benjamin Coddington) [1732409] - [fs] nfsd4: skip unused assignment (Benjamin Coddington) [1732409] - [fs] nfsd4: forbid all renames during grace period (Benjamin Coddington) [1732409] - [fs] nfsd4: remove unused nfs4_check_olstateid parameter (Benjamin Coddington) [1732409] - [fs] nfsd4: zero-length WRITE should succeed (Benjamin Coddington) [1732409] - [fs] NFSv4.2 copy do not allocate memory under the lock (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a NFSv4 state manager deadlock (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix an Oops during delegation callbacks (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a bogus get/put in generic_key_to_expire() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a Oops when destroying the RPCSEC_GSS credential cache (Benjamin Coddington) [1732409] - [fs] NFSv4: Ensure that the state manager exits the loop on SIGKILL (Benjamin Coddington) [1732409] - [fs] NFSv4: Don't exit the state manager without clearing NFS4CLNT_MANAGER_RUNNING (Benjamin Coddington) [1732409] - [fs] SUNRPC: drop pointless static qualifier in xdr_get_next_encode_buffer() (Benjamin Coddington) [1732409] - [fs] nfsd: COPY and CLONE operations require the saved filehandle to be set (Benjamin Coddington) [1732409] - [fs] sunrpc: correct the computation for page_ptr when truncating (Benjamin Coddington) [1732409] - [fs] NFS: fix spelling mistake, EACCESS -> EACCES (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use atomic(64)_t for seq_send(64) (Benjamin Coddington) [1732409] - [fs] nfsd: Fix an Oops in free_session() (Benjamin Coddington) [1732409] - [fs] nfsd: correctly decrement odstate refcount in error path (Benjamin Coddington) [1732409] - [fs] nfsd: fix fall-through annotations (Benjamin Coddington) [1732409] - [fs] knfsd: Improve lookup performance in the duplicate reply cache using an rbtree (Benjamin Coddington) [1732409] - [fs] knfsd: Further simplify the cache lookup (Benjamin Coddington) [1732409] - [fs] knfsd: Simplify NFS duplicate replay cache (Benjamin Coddington) [1732409] - [fs] knfsd: Remove dead code from nfsd_cache_lookup (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify TCP receive code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Replace the cache_detail->hash_lock with a regular spinlock (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove non-RCU protected lookup (Benjamin Coddington) [1732409] - [fs] NFS: Fix up a typo in nfs_dns_ent_put (Benjamin Coddington) [1732409] - [fs] NFS: Lockless DNS lookups (Benjamin Coddington) [1732409] - [fs] knfsd: Lockless lookup of NFSv4 identities. (Benjamin Coddington) [1732409] - [fs] SUNRPC: Lockless server RPCSEC_GSS context lookup (Benjamin Coddington) [1732409] - [fs] knfsd: Allow lockless lookups of the exports (Benjamin Coddington) [1732409] - [fs] SUNRPC: Make server side AUTH_UNIX use lockless lookups (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow cache lookups to use RCU protection rather than the r/w spinlock (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert the auth cred cache to use refcount_t (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert auth creds to use refcount_t (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify lookup code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up the AUTH cache code (Benjamin Coddington) [1732409] - [fs] NFS: change sign of nfs_fh length (Benjamin Coddington) [1732409] - [fs] sunrpc: safely reallow resvport min/max inversion (Benjamin Coddington) [1732409] - [fs] nfs: remove redundant call to nfs_context_set_write_error() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a compile warning for cmpxchg64() (Benjamin Coddington) [1732409] - [fs] SUNRPC: use cmpxchg64() in gss_seq_send64_fetch_and_inc() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor sunrpc_cache_lookup (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add lockless lookup of the server's auth domain (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove the server 'authtab_lock' and just use RCU (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix lookup revalidate of regular files (Benjamin Coddington) [1732409] - [fs] NFS: Refactor nfs_lookup_revalidate() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Replace krb5_seq_lock with a lockless scheme (Benjamin Coddington) [1732409] - [fs] SUNRPC: Lockless lookup of RPCSEC_GSS mechanisms (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove rpc_authflavor_lock in favour of RCU locking (Benjamin Coddington) [1732409] - [fs] NFS: Remove private spinlock in struct nfs_pgio_header (Benjamin Coddington) [1732409] - [fs] NFSv3: Improve NFSv3 performance when server returns no post-op attributes (Benjamin Coddington) [1732409] - [fs] NFSv4: Split out NFS v4.2 copy completion functions (Benjamin Coddington) [1732409] - [fs] NFS: Reduce indentation of nfs4_recovery_handle_error() (Benjamin Coddington) [1732409] - [fs] NFS: Reduce indentation of the switch statement in nfs4_reclaim_open_state() (Benjamin Coddington) [1732409] - [fs] NFS: Split out the body of nfs4_reclaim_open_state() (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Fix the r/wsize checking (Benjamin Coddington) [1732409] - [fs] NFSv4: Convert struct nfs4_state to use refcount_t (Benjamin Coddington) [1732409] - [fs] NFSv4: Convert open state lookup to use RCU (Benjamin Coddington) [1732409] - [fs] NFS: Convert lookups of the open context to RCU (Benjamin Coddington) [1732409] - [fs] NFS: Simplify internal check for whether file is open for write (Benjamin Coddington) [1732409] - [fs] NFS: Convert lookups of the lock context to RCU (Benjamin Coddington) [1732409] - [fs] pNFS: Don't allocate more pages than we need to fit a layoutget response (Benjamin Coddington) [1732409] - [fs] pNFS: Don't zero out the array in nfs4_alloc_pages() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Unexport xdr_partial_copy_from_skb() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up xs_udp_data_receive() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow AF_LOCAL sockets to use the generic stream receive (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up - rename xs_tcp_data_receive() to xs_stream_data_receive() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify TCP receive code by switching to using iterators (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add a bvec array to struct xdr_buf for use with iovec_iter() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add a label for RPC calls that require allocation on receive (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert the xprt->sending queue back to an ordinary wait queue (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix priority queue fairness (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert xprt receive queue to use an rbtree (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't take transport->lock unnecessarily when taking XPRT_LOCK (Benjamin Coddington) [1732409] - [fs] SUNRPC: Cleanup: remove the unused 'task' argument from the request_send() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up transport write space handling (Benjamin Coddington) [1732409] - [fs] SUNRPC: Turn off throttling of RPC slots for TCP sockets (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow soft RPC calls to time out when waiting for the XPRT_LOCK (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow calls to xprt_transmit() to drain the entire transmit queue (Benjamin Coddington) [1732409] - [fs] SUNRPC: Enqueue swapper tagged RPCs at the head of the transmit queue (Benjamin Coddington) [1732409] - [fs] SUNRPC: Support for congestion control when queuing is enabled (Benjamin Coddington) [1732409] - [fs] SUNRPC: Improve latency for interactive tasks (Benjamin Coddington) [1732409] - [fs] SUNRPC: Move RPC retransmission stat counter to xprt_transmit() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify xprt_prepare_transmit() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't reset the request 'bytes_sent' counter when releasing XPRT_LOCK (Benjamin Coddington) [1732409] - [fs] SUNRPC: Treat the task and request as separate in the xprt_ops->send_request() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix up the back channel transmit (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor RPC call encoding (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add a transmission queue for RPC requests (Benjamin Coddington) [1732409] - [fs] SUNRPC: Distinguish between the slot allocation list and receive queue (Benjamin Coddington) [1732409] - [fs] SUNRPC: Minor cleanup for call_transmit() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor xprt_transmit() to remove wait for reply code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor xprt_transmit() to remove the reply queue code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Rename xprt->recv_lock to xprt->queue_lock (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't wake queued RPC calls multiple times in xprt_transmit (Benjamin Coddington) [1732409] - [fs] SUNRPC: Test whether the task is queued before grabbing the queue spinlocks (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add a helper to wake up a sleeping rpc_task and set its status (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor the transport request pinning (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify dealing with aborted partially transmitted messages (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add socket transmit queue offset tracking (Benjamin Coddington) [1732409] - [fs] SUNRPC: Move reset of TCP state variables into the reconnect code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Rename TCP receive-specific state variables (Benjamin Coddington) [1732409] - [fs] SUNRPC: Avoid holding locks across the XDR encoding of the RPC message (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify identification of when the message send/receive is complete (Benjamin Coddington) [1732409] - [fs] SUNRPC: The transmitted message must lie in the RPCSEC window of validity (Benjamin Coddington) [1732409] - [fs] SUNRPC: If there is no reply expected, bail early from call_decode (Benjamin Coddington) [1732409] - [fs] nfsd: remove set but not used variable 'dirp' (Benjamin Coddington) [1732409] - [fs] NFSD introduce async copy feature (Benjamin Coddington) [1732409] - [fs] NFSD OFFLOAD_CANCEL xdr (Benjamin Coddington) [1732409] - [fs] NFSD OFFLOAD_STATUS xdr (Benjamin Coddington) [1732409] - [fs] NFSD CB_OFFLOAD xdr (Benjamin Coddington) [1732409] - [fs] NFS: Don't open code clearing of delegation state (Benjamin Coddington) [1732409] - [fs] NFSv4.1 fix infinite loop on I/O. (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a tracepoint Oops in initiate_file_draining() (Benjamin Coddington) [1732409] - [fs] pNFS: Ensure we return the error if someone kills a waiting layoutget (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a tracepoint Oops in initiate_file_draining() (Benjamin Coddington) [1732409] - [fs] sunrpc: Add comment defining gssd upcall API keywords (Benjamin Coddington) [1732409] - [fs] nfsd: Remove callback_cred (Benjamin Coddington) [1732409] - [fs] nfsd: Use correct credential for NFSv4.0 callback with GSS (Benjamin Coddington) [1732409] - [fs] sunrpc: Extract target name into svc_cred (Benjamin Coddington) [1732409] - [fs] sunrpc: Enable the kernel to specify the hostname part of service principals (Benjamin Coddington) [1732409] - [fs] pNFS: Remove unwanted optimisation of layoutget (Benjamin Coddington) [1732409] - [fs] pNFS/flexfiles: ff_layout_pg_init_read should exit on error (Benjamin Coddington) [1732409] - [fs] pNFS: Treat RECALLCONFLICT like DELAY... (Benjamin Coddington) [1732409] - [fs] pNFS: When updating the stateid in layoutreturn, also update the recall range (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a sleep in atomic context in nfs4_callback_sequence() (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix locking in pnfs_generic_recover_commit_reqs (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a typo in nfs4_init_channel_attrs() (Benjamin Coddington) [1732409] - [fs] NFSv4: Don't busy wait if NFSv4 session draining is interrupted (Benjamin Coddington) [1732409] - [fs] NFS recover from destination server reboot for copies (Benjamin Coddington) [1732409] - [fs] nfsd: use true and false for boolean values (Benjamin Coddington) [1732409] - [fs] nfsd: constify write_op[] (Benjamin Coddington) [1732409] - [fs] fs/nfsd: Delete invalid assignment statements in nfsd4_decode_exchange_id (Benjamin Coddington) [1732409] - [fs] NFSD: Handle full-length symlinks (Benjamin Coddington) [1732409] - [fs] NFSD: Refactor the generic write vector fill helper (Benjamin Coddington) [1732409] - [fs] nfsd: Mark expected switch fall-through (Benjamin Coddington) [1732409] - [fs] nfsd: fix leaked file lock with nfs exported overlayfs (Benjamin Coddington) [1732409] - [fs] NFS add a simple sync nfs4_proc_commit after async COPY (Benjamin Coddington) [1732409] - [fs] NFS handle COPY ERR_OFFLOAD_NO_REQS (Benjamin Coddington) [1732409] - [fs] NFS send OFFLOAD_CANCEL when COPY killed (Benjamin Coddington) [1732409] - [fs] NFS export nfs4_async_handle_error (Benjamin Coddington) [1732409] - [fs] NFS handle COPY reply CB_OFFLOAD call race (Benjamin Coddington) [1732409] - [fs] NFS add support for asynchronous COPY (Benjamin Coddington) [1732409] - [fs] NFS COPY xdr handle async reply (Benjamin Coddington) [1732409] - [fs] NFS OFFLOAD_CANCEL xdr (Benjamin Coddington) [1732409] - [fs] NFS CB_OFFLOAD xdr (Benjamin Coddington) [1732409] - [fs] NFS: Use an appropriate work queue for direct-write completion (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix error handling in nfs4_sp4_select_mode() (Benjamin Coddington) [1732409] - [fs] pnfs: Use true and false for boolean values (Benjamin Coddington) [1732409] - [fs] pnfs: pnfs_find_lseg() should not check NFS_LSEG_LAYOUTRETURN (Benjamin Coddington) [1732409] - [fs] NFS: Mark expected switch fall-throughs (Benjamin Coddington) [1732409] - [fs] NFSv4: Mark the inode change attribute up to date in update_changeattr() (Benjamin Coddington) [1732409] - [fs] NFSv4: Detect nlink changes on cross-directory renames too (Benjamin Coddington) [1732409] - [fs] NFSv4: bump/drop the nlink count on the parent dir when we mkdir/rmdir (Benjamin Coddington) [1732409] - [fs] pnfs: Fix handling of NFS4ERR_OLD_STATEID replies to layoutreturn (Benjamin Coddington) [1732409] - [fs] sunrpc: whitespace fixes (Benjamin Coddington) [1732409] - [fs] NFSv4 client live hangs after live data migration recovery (Benjamin Coddington) [1732409] - [fs] NFSv4.0 fix client reference leak in callback (Benjamin Coddington) [1732409] - [fs] sunrpc: kstrtoul() can also return -ERANGE (Benjamin Coddington) [1732409] - [fs] NFS: silence a harmless uninitialized variable warning (Benjamin Coddington) [1732409] - [fs] net/sunrpc: Make rpc_auth_create_args a const (Benjamin Coddington) [1732409] - [fs] pnfs/blocklayout: off by one in bl_map_stripe() (Benjamin Coddington) [1732409] - [fs] nfs: Referrals not inheriting proto setting from parent (Benjamin Coddington) [1732409] - [fs] nfs: initiate returning delegation when reclaiming one that's been recalled (Benjamin Coddington) [1732409] - [fs] fs: nfs: Adding new return type vm_fault_t (Benjamin Coddington) [1732409] - [fs] nfs: add error check in nfs_idmap_prepare_message() (Benjamin Coddington) [1732409] - [fs] NFS: More excessive attribute revalidation in nfs_execute_ok() (Benjamin Coddington) [1732409] - [fs] NFS: Fix excessive attribute revalidation in nfs_execute_ok() (Benjamin Coddington) [1732409] - [fs] NFS: Ensure we immediately start writeback on rescheduled writes (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Fix a potential layoutget/layoutrecall deadlock (Benjamin Coddington) [1732409] - [fs] pNFS: Parse the results of layoutget on open even if permissions checks fail (Benjamin Coddington) [1732409] - [fs] NFS: Allow optimisation of lseek(fd, SEEK_CUR, 0) on directories (Benjamin Coddington) [1732409] - [fs] pNFS: Wait for stale layoutget calls to complete in pnfs_update_layout() (Benjamin Coddington) [1732409] - [fs] pNFS/flexfiles: Ensure we always return a layout if it has layoutstats (Benjamin Coddington) [1732409] - [fs] pNFS: Ignore non-recalled layouts in pnfs_layout_need_return() (Benjamin Coddington) [1732409] - [fs] pNFS: Don't update the stateid when replying NFS4ERR_DELAY to a layout recall (Benjamin Coddington) [1732409] - [fs] pNFS: Don't discard layout segments that are marked for return (Benjamin Coddington) [1732409] - [fs] nfsd: don't advertise a SCSI layout for an unsupported request_queue (Benjamin Coddington) [1732409] - [fs] nfsd: fix corrupted reply to badly ordered compound (Benjamin Coddington) [1732409] - [fs] nfsd: clarify check_op_ordering (Benjamin Coddington) [1732409] - [fs] nfsd: update obselete comment referencing the BKL (Benjamin Coddington) [1732409] - [fs] nfsd4: cleanup sessionid in nfsd4_destroy_session (Benjamin Coddington) [1732409] - [fs] nfsd4: less confusing nfsd4_compound_in_session (Benjamin Coddington) [1732409] - [fs] nfsd4: support change_attr_type attribute (Benjamin Coddington) [1732409] - [fs] nfsd: fix NFSv4 time_delta attribute (Benjamin Coddington) [1732409] - [fs] nfsd4: return default lease period (Benjamin Coddington) [1732409] - [fs] nfsd4: extend reclaim period for reclaiming clients (Benjamin Coddington) [1732409] - [netdrv] i40e: Do not check VF state in i40e_ndo_get_vf_config (Stefan Assmann) [1752498] - [netdrv] i40e: Add support for X710 device (Stefan Assmann) [1752891] - [mm] mm/oom_kill.c: add task UID to info message on an oom kill (Joel Savitz) [1693039] - [pci] ACPICA: Increase total number of possible Owner IDs (Al Stone) [1713050] - [powerpc] powerpc/pseries: correctly track irq state in default idle (Steve Best) [1751971] - [powerpc] powerpc/imc: Dont create debugfs files for cpu-less nodes (Steve Best) [1726031] - [fs] userfaultfd_release: always remove uffd flags and clear vm_userfaultfd_ctx (Alex Gladkov) [1749763] - [infiniband] RDMA/bnxt_re: Fix stack-out-of-bounds in bnxt_qplib_rcfw_send_message (Selvin Xavier) [1643312] - [drm] drm/bochs: Fix connector leak during driver unload (Sam Bobroff) [1463490] - [tools] selftests: Remove forced unbuffering for test running (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Add test plan API to kselftest.h and adjust callers (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Remove KSFT_TAP_LEVEL (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Move test output to diagnostic lines (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Distinguish between missing and non-executable (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Add plan line and fix result line syntax (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Extract logic for multiple test runs (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Use runner.sh for emit targets (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Extract single-test shell logic from lib.mk (Desnes Augusto Nunes do Rosario) [1721461] - [tools] x86/selftests/pkeys: Fork() to check for state being preserved (Vladis Dronov) [1738880] - [x86] x86/pkeys: Properly copy pkey state at fork() (Vladis Dronov) [1738880] - [netdrv] cxgb4: fix a memory leak bug (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Prefer pcie_capability_read_word() (Jonathan Toppins) [1725776] - [netdrv] allocate_flower_entry: should check for null deref (Jonathan Toppins) [1725776] - [netdrv] cxgb4: reduce kernel stack usage in cudbg_collect_mem_region() (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Add MPS refcounting for alloc/free mac filters (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Add MPS TCAM refcounting for cxgb4 change mac (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Add MPS TCAM refcounting for raw mac filters (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Re-work the logic for mps refcounting (Jonathan Toppins) [1725776] - [netdrv] cxgb4/libcxgb/cxgb4i/cxgbit: enable eDRAM page pods for iSCSI (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Set initial IRQ affinity hints (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Make t4_get_tp_e2c_map static (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Revert "cxgb4: Remove SGE_HOST_PAGE_SIZE dependency on page size" (Jonathan Toppins) [1725776] - [netdrv] cxgb4: offload VLAN flows regardless of VLAN ethtype (Jonathan Toppins) [1725776] - [netdrv] cxgb4: use firmware API for validating filter spec (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Enable hash filter with offload (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Fix error path in cxgb4_init_module (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Delete all hash and TCAM filters before resource cleanup (Jonathan Toppins) [1725776] - [netdrv] cxgb4/cxgb4vf_main: Mark expected switch fall-through (Jonathan Toppins) [1725776] - [netdrv] cxgb4/cxgb4vf: Display advertised FEC in ethtool (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Update 1.23.3.0 as the latest firmware supported. (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Update 1.22.9.0 as the latest firmware supported. (Jonathan Toppins) [1725776] - [netdrv] cxgb4/l2t: Use struct_size() in kvzalloc() (Jonathan Toppins) [1725776] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Jonathan Toppins) [1725776] - [netdrv] crypto/chelsio/chtls: macro correction in tx path (Jonathan Toppins) [1725776]- [kernel] rcu: Add sparse check to rcu_assign_pointer() (Waiman Long) [1737054] - [kernel] rcu: Fix obsolete DYNTICK_IRQ_NONIDLE comment (Waiman Long) [1737054] - [kernel] rcu: Repair rcu_nmi_exit() docbook header (Waiman Long) [1737054] - [kernel] rcu: Remove preemption disabling from expedited CPU selection (Waiman Long) [1737054] - [kernel] rcu: Rename rcu_process_callbacks() to rcu_core() for Tree RCU (Waiman Long) [1737054] - [kernel] rcu: Rename rcu_check_callbacks() to rcu_sched_clock_irq() (Waiman Long) [1737054] - [kernel] rcu: Docbook for rcu_head_init() and rcu_head_after_call_rcu() (Waiman Long) [1737054] - [documentation] doc: Fix outdated links (Waiman Long) [1737054] - [documentation] doc: CPU-hotplug notifiers cannot invoke synchronize_srcu() or srcu_barrier() (Waiman Long) [1737054] - [documentation] doc: Now jiffies_till_sched_qs solicits help from cond_resched() (Waiman Long) [1737054] - [kernel] rcuperf: Stop abusing IS_ENABLED() (Waiman Long) [1737054] - [kernel] rcutorture: Add grace period after CPU offline (Waiman Long) [1737054] - [kernel] torture: Explain and simplify odd "for" loop in mkinitrd.sh (Waiman Long) [1737054] - [kernel] rcutorture: Record grace periods in forward-progress histogram (Waiman Long) [1737054] - [kernel] rcu: Prevent needless ->gp_seq_needed update in __note_gp_changes() (Waiman Long) [1737054] - [kernel] rcu: Do RCU GP kthread self-wakeup from softirq and interrupt (Waiman Long) [1737054] - [kernel] rcu: Add sysrq rcu_node-dump capability (Waiman Long) [1737054] - [kernel] rcu: Protect rcu_check_gp_kthread_starvation() access to ->gp_flags (Waiman Long) [1737054] - [kernel] rcu: Improve diagnostics for failed RCU grace-period start (Waiman Long) [1737054] - [kernel] rcu: Update NOCB comments (Waiman Long) [1737054] - [kernel] rcu: Remove unused rcu_cpu_kthread_cpu per-CPU variable (Waiman Long) [1737054] - [kernel] rcu: Move rcu_cpu_has_work to rcu_data structure (Waiman Long) [1737054] - [kernel] rcu: Remove unused rcu_cpu_kthread_loops per-CPU variable (Waiman Long) [1737054] - [kernel] rcu: Move rcu_cpu_kthread_status to rcu_data structure (Waiman Long) [1737054] - [kernel] rcu: Move rcu_cpu_kthread_task to rcu_data structure (Waiman Long) [1737054] - [kernel] rcu: Accommodate zero jiffies_till_first_fqs and kthread kicking (Waiman Long) [1737054] - [kernel] rcu: Remove wrapper definitions for obsolete RCU update functions (Waiman Long) [1737054] - [kernel] rcu: Discard separate per-CPU callback counts (Waiman Long) [1737054] - [kernel] rcu: Inline _synchronize_rcu_expedited() into synchronize_rcu_expedited() (Waiman Long) [1737054] - [kernel] rcu: Consolidate PREEMPT and !PREEMPT synchronize_rcu() (Waiman Long) [1737054] - [kernel] rcu: Consolidate PREEMPT and !PREEMPT synchronize_rcu_expedited() (Waiman Long) [1737054] - [kernel] rcu: Determine expedited-GP IPI handler at build time (Waiman Long) [1737054] - [kernel] rcu: Inline rcu_kthread_do_work() into its sole remaining caller (Waiman Long) [1737054] - [kernel] rcu: Eliminate RCU_BH_FLAVOR and RCU_SCHED_FLAVOR (Waiman Long) [1737054] - [kernel] rcu: Inline force_quiescent_state() into rcu_force_quiescent_state() (Waiman Long) [1737054] - [kernel] rcu: Make expedited IPI handler return after handling critical section (Waiman Long) [1737054] - [kernel] rcu: Rename and comment changes due to only one rcuo kthread per CPU (Waiman Long) [1737054] - [kernel] sched: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] sched: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [net] net/core: Replace call_rcu_bh() and synchronize_rcu_bh() (Waiman Long) [1737054] - [net] netpoll: allow cleanup to be synchronous (Waiman Long) [1737054] - [net] netfilter: Replace call_rcu_bh(), rcu_barrier_bh(), and synchronize_rcu_bh() (Waiman Long) [1737054] - [kernel] uprobes: Use synchronize_rcu() not synchronize_sched() (Waiman Long) [1737054] - [kernel] rcutorture: Don't do busted forward-progress testing (Waiman Long) [1737054] - [kernel] rcutorture: Use 100ms buckets for forward-progress callback histograms (Waiman Long) [1737054] - [kernel] rcutorture: Recover from OOM during forward-progress tests (Waiman Long) [1737054] - [kernel] rcutorture: Print forward-progress test age upon failure (Waiman Long) [1737054] - [kernel] rcutorture: Print time since GP end upon forward-progress failure (Waiman Long) [1737054] - [kernel] rcutorture: Print histogram of CB invocation at OOM time (Waiman Long) [1737054] - [kernel] rcutorture: Print GP age upon forward-progress failure (Waiman Long) [1737054] - [kernel] rcu: Print per-CPU callback counts for forward-progress failures (Waiman Long) [1737054] - [kernel] rcu: Account for nocb-CPU callback counts in RCU CPU stall warnings (Waiman Long) [1737054] - [kernel] rcutorture: Dump grace-period diagnostics upon forward-progress OOM (Waiman Long) [1737054] - [kernel] rcutorture: Prepare for asynchronous access to rcu_fwd_startat (Waiman Long) [1737054] - [kernel] torture: Remove unnecessary "ret" variables (Waiman Long) [1737054] - [kernel] rcutorture: Affinity forward-progress test to avoid housekeeping CPUs (Waiman Long) [1737054] - [kernel] rcutorture: Break up too-long rcu_torture_fwd_prog() function (Waiman Long) [1737054] - [kernel] rcutorture: Remove cbflood facility (Waiman Long) [1737054] - [kernel] torture: Bring any extra CPUs online during kernel startup (Waiman Long) [1737054] - [kernel] rcutorture: Add call_rcu() flooding forward-progress tests (Waiman Long) [1737054] - [tools] rcutorture/formal: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [tools] tools/kernel.h: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [net] net/decnet: Replace rcu_barrier_bh() with rcu_barrier() (Waiman Long) [1737054] - [net] net/core/skmsg: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [kernel] cgroups: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] types: Remove call_rcu_bh() and call_rcu_sched() (Waiman Long) [1737054] - [include] percpu-rwsem: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [net] net/bridge: Replace call_rcu_bh() and rcu_barrier_bh() (Waiman Long) [1737054] - [kernel] srcu: Use "ssp" instead of "sp" for srcu_struct pointer (Waiman Long) [1737054] - [kernel] srcu: Lock srcu_data structure in srcu_gp_start() (Waiman Long) [1737054] - [mm] mm: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [kernel] percpu-refcount: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [kernel] events: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] workqueue: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [kernel] modules: Replace synchronize_sched() and call_rcu_sched() (Waiman Long) [1737054] - [kernel] sched/membarrier: synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] lockdep: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] kprobes: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [init] main: Replace rcu_barrier_sched() with rcu_barrier() (Waiman Long) [1737054] - [kernel] tracing: Replace synchronize_sched() and call_rcu_sched() (Waiman Long) [1737054] - [kernel] tracepoints: Free early tracepoints after RCU is initialized (Waiman Long) [1737054] - [kernel] tracing: Fix synchronizing to event changes with tracepoint_synchronize_unregister() (Waiman Long) [1737054] - [kernel] tracepoint: Make rcuidle tracepoint callers use SRCU (Waiman Long) [1737054] - [fs] fs/file: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [cpufreq] cpufreq/cpufreq_governor: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [cpufreq] cpufreq/intel_pstate: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [vhost] drivers/vhost: Replace synchronize_rcu_bh() with synchronize_rcu() (Waiman Long) [1737054] - [netdrv] ethernet/sis: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [char] drivers/ipmi: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [crypto] crypto/pcrypt: Replace synchronize_rcu_bh() with synchronize_rcu() (Waiman Long) [1737054] - [mm] mm: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [kernel] locking/mutex: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [fs] userfaultfd: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [net] smsc: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [scripts] checkpatch.pl: Suggest lockdep instead of asserting !spin_is_locked() (Waiman Long) [1737054] - [scripts] checkpatch: Create table of obsolete APIs and apply to RCU (Waiman Long) [1737054] - [maintainers] MAINTAINERS: Add Joel Fernandes as RCU reviewer (Waiman Long) [1737054] - [kernel] rcu: Avoid signed integer overflow in rcu_preempt_deferred_qs() (Waiman Long) [1737054] - [kernel] rcu: Replace this_cpu_ptr() with __this_cpu_read() (Waiman Long) [1737054] - [kernel] rcu: Speed up expedited GPs when interrupting RCU reader (Waiman Long) [1737054] - [kernel] rcu: Trace end of grace period before end of grace period (Waiman Long) [1737054] - [kernel] rcu: Adjust the comment of function rcu_is_watching (Waiman Long) [1737054] - [kernel] rcu: Add jiffies-since-GP-activity to show_rcu_gp_kthreads() (Waiman Long) [1737054] - [kernel] rcu: Add state name to show_rcu_gp_kthreads() output (Waiman Long) [1737054] - [kernel] rcu: Parameterize rcu_check_gp_start_stall() (Waiman Long) [1737054] - [kernel] rcu: Avoid double multiply by HZ (Waiman Long) [1737054] - [documentation] doc: Fix "struction" typo in RCU memory-ordering documentation (Waiman Long) [1737054] - [documentation] doc: Correct parameter in stallwarn (Waiman Long) [1737054] - [documentation] doc: RCU scheduler spinlock rcu_read_unlock() restriction remains (Waiman Long) [1737054] - [documentation] doc: Make listing in RCU perf/scale requirements use rcu_assign_pointer() (Waiman Long) [1737054] - [documentation] doc: Remove obsolete (non-)requirement about disabling preemption (Waiman Long) [1737054] - [documentation] doc: Make reader aware of rcu_dereference_protected (Waiman Long) [1737054] - [documentation] doc: rcu: Encourage use of rcu_barrier in checklist (Waiman Long) [1737054] - [documentation] doc: rcu: Remove obsolete checklist item about synchronize_rcu usage (Waiman Long) [1737054] - [documentation] doc: rcu: Remove obsolete suggestion from checklist (Waiman Long) [1737054] - [documentation] doc: rcu: Add more rationale for using rcu_read_lock_sched in checklist (Waiman Long) [1737054] - [documentation] doc: rcu: Update core and full API in whatisRCU (Waiman Long) [1737054] - [documentation] doc: Document rcutorture forward-progress test kernel parameters (Waiman Long) [1737054] - [documentation] doc: rcu: Update description of gp_seq fields in rcu_data (Waiman Long) [1737054] - [documentation] doc: rcu: Better clarify the rcu_segcblist ->len field (Waiman Long) [1737054] - [documentation] doc: rcu: Update Data-Structures for RCU flavor consolidation (Waiman Long) [1737054] - [documentation] doc: Remove rcu_dynticks from Data-Structures (Waiman Long) [1737054] - [documentation] doc: Update information about resched_cpu (Waiman Long) [1737054] - [kernel] rcu: Eliminate BUG_ON() for kernel/rcu/update.c (Waiman Long) [1737054] - [kernel] rcu: Eliminate BUG_ON() for kernel/rcu/tree_plugin.h (Waiman Long) [1737054] - [kernel] rcu: Stop expedited grace periods from relying on stop-machine (Waiman Long) [1737054] - [kernel] srcu: Prevent __call_srcu() counter wrap with read-side critical section (Waiman Long) [1737054] - [include] srcu: Fix kernel-doc missing notation (Waiman Long) [1737054] - [x86] x86/PCI: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [tools] rcutorture: Make use of nolibc when available (Waiman Long) [1737054] - [tools] rcutorture: Import a copy of nolibc (Waiman Long) [1737054] - [tools] rcutorture: Check initrd/init instead of initrd only (Waiman Long) [1737054] - [tools] rcutorture: Always strip using the cross-compiler (Waiman Long) [1737054] - [tools] rcutorture: Add cross-compile capability to initrd.sh (Waiman Long) [1737054] - [tools] rcutorture: Make initrd/init execute in userspace (Waiman Long) [1737054] - [tools] rcutorture: Add initrd support for systems lacking dracut (Waiman Long) [1737054] - [tools] rcutorture: Automatically create initrd directory (Waiman Long) [1737054] - [documentation] doc: Remove rcu_preempt_state reference in stallwarn (Waiman Long) [1737054] - [documentation] doc: Clarify RCU data-structure comment about rcu_tree fanout (Waiman Long) [1737054] - [documentation] doc: Set down forward-progress requirements (Waiman Long) [1737054] - [powerpc] powerpc: Convert hugepd_free() to use call_rcu() (Waiman Long) [1737054] - [s390] s390/mm: Convert tlb_table_flush() to use call_rcu() (Waiman Long) [1737054] - [kernel] sparc/oprofile: Convert timer_stop() to use synchronize_rcu() (Waiman Long) [1737054] - [kernel] sched/membarrier: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] rcu: Consolidate the RCU update functions invoked by sync.c (Waiman Long) [1737054] - [kernel] rcu: Eliminate synchronize_rcu_mult() (Waiman Long) [1737054] - [kernel] rcu: Fix rcu_{node, data} comments about gp_seq_needed (Waiman Long) [1737054] - [kernel] rcu: Remove unused rcu_state externs (Waiman Long) [1737054] - [kernel] rcu: Eliminate BUG_ON() for kernel/rcu/tree.c (Waiman Long) [1737054] - [kernel] rcu: Eliminate BUG_ON() for sync.c (Waiman Long) [1737054] - [include] srcu: Add notrace variant of srcu_dereference (Waiman Long) [1737054] - [documentation] PM/EM: Document the Energy Model framework (Phil Auld) [1718927] - [kernel] sched/doc: Document Energy Aware Scheduling (Phil Auld) [1718927] - [kernel] sched/fair: Remove unneeded prototype of capacity_of() (Phil Auld) [1718927] - [kernel] sched/fair: Skip LLC NOHZ logic for asymmetric systems (Phil Auld) [1718927] - [kernel] sched/fair: Tune down misfit NOHZ kicks (Phil Auld) [1718927] - [kernel] sched/fair: Comment some nohz_balancer_kick() kick conditions (Phil Auld) [1718927] - [kernel] sched/fair: Prune, fix and simplify the nohz_balancer_kick() comment block (Phil Auld) [1718927] - [kernel] sched/fair: Explain LLC nohz kick condition (Phil Auld) [1718927] - [kernel] sched/fair: Simplify nohz_balancer_kick() (Phil Auld) [1718927] - [kernel] sched/topology: Fix percpu data types in struct sd_data & struct s_data (Phil Auld) [1718927] - [kernel] sched/fair: Simplify post_init_entity_util_avg() by calling it with a task_struct pointer argument (Phil Auld) [1718927] - [kernel] sched/fair: Fix util_avg of new tasks for asymmetric systems (Phil Auld) [1718927] - [kernel] sched/fair: Optimize update_blocked_averages() (Phil Auld) [1718927] - [kernel] sched/topology: Introduce a sysctl for Energy Aware Scheduling (Phil Auld) [1718927] - [kernel] Revert "sched/core: Take the hotplug lock in sched_init_smp()" (Phil Auld) [1718927] - [kernel] cpu/hotplug: Mute hotplug lockdep during init (Phil Auld) [1718927] - [kernel] sched/fair: Select an energy-efficient CPU on task wake-up (Phil Auld) [1718927] - [kernel] sched/fair: Introduce an energy estimation helper function (Phil Auld) [1718927] - [kernel] sched/fair: Add over-utilization/tipping point indicator (Phil Auld) [1718927] - [kernel] sched/fair: Clean-up update_sg_lb_stats parameters (Phil Auld) [1718927] - [kernel] sched/toplogy: Introduce the 'sched_energy_present' static key (Phil Auld) [1718927] - [kernel] sched/topology: Make Energy Aware Scheduling depend on schedutil (Phil Auld) [1718927] - [kernel] sched/topology: Disable EAS on inappropriate platforms (Phil Auld) [1718927] - [kernel] sched/topology: Add lowest CPU asymmetry sched_domain level pointer (Phil Auld) [1718927] - [kernel] sched/topology: Reference the Energy Model of CPUs when available (Phil Auld) [1718927] - [kernel] PM: Introduce an Energy Model management framework (Phil Auld) [1718927] - [kernel] sched/cpufreq: Prepare schedutil for Energy Aware Scheduling (Phil Auld) [1718927] - [kernel] sched/topology: Relocate arch_scale_cpu_capacity() to the internal header (Phil Auld) [1718927] - [kernel] sched/core: Take the hotplug lock in sched_init_smp() (Phil Auld) [1718927] - [kernel] sched/core: Disable SD_PREFER_SIBLING on asymmetric CPU capacity domains (Phil Auld) [1718927] - [kernel] sched/fair: Don't move tasks to lower capacity CPUs unless necessary (Phil Auld) [1718927] - [kernel] sched/fair: Set rq->rd->overload when misfit (Phil Auld) [1718927] - [kernel] sched/fair: Wrap rq->rd->overload accesses with READ/WRITE_ONCE() (Phil Auld) [1718927] - [kernel] sched/core: Change root_domain->overload type to int (Phil Auld) [1718927] - [kernel] sched/fair: Change 'prefer_sibling' type to bool (Phil Auld) [1718927] - [kernel] sched/fair: Kick nohz balance if rq->misfit_task_load (Phil Auld) [1718927] - [kernel] sched/fair: Consider misfit tasks when load-balancing (Phil Auld) [1718927] - [kernel] sched/fair: Add sched_group per-CPU max capacity (Phil Auld) [1718927] - [kernel] sched/fair: Add 'group_misfit_task' load-balance type (Phil Auld) [1718927] - [kernel] sched/topology: Add static_key for asymmetric CPU capacity optimizations (Phil Auld) [1718927] - [kernel] sched/core, workqueues: Distangle worker accounting from rq lock (Phil Auld) [1737067] - [kernel] workqueue: Use normal rcu (Phil Auld) [1737067] - [kernel] tick/broadcast: Fix warning about undefined tick_broadcast_oneshot_offline() (Phil Auld) [1737067] - [kernel] timer/trace: Improve timer tracing (Phil Auld) [1737067] - [include] timer/trace: Replace deprecated vsprintf pointer extension pf by ps (Phil Auld) [1737067] - [kernel] timer: Move trace point to get proper index (Phil Auld) [1737067] - [kernel] tick/sched: Update tick_sched struct documentation (Phil Auld) [1737067] - [kernel] tick: Remove outgoing CPU from broadcast masks (Phil Auld) [1737067] - [kernel] timekeeping: Consistently use unsigned int for seqcount snapshot (Phil Auld) [1737067] - [kernel] sched/fair: Robustify CFS-bandwidth timer locking (Phil Auld) [1737067] - [kernel] tick/sched : Remove redundant cpu_online() check (Phil Auld) [1737067] - [misc] sched/swait: Rename to exclusive (Phil Auld) [1737067] - [kernel] sched/swait: Switch to full exclusive mode (Phil Auld) [1737067] - [kernel] sched/swait: Remove __prepare_to_swait (Phil Auld) [1737067] - [netdrv] net: ena: don't wake up tx queue when down (John Linville) [1722628] - [netdrv] Revert "net: ena: ethtool: add extra properties retrieval via get_priv_flags" (John Linville) [1722628] - [netdrv] net: ena: Fix bug where ring allocation backoff stopped too late (John Linville) [1722628] - [netdrv] net: ena: update driver version from 2.0.3 to 2.1.0 (John Linville) [1722628] - [netdrv] net: ena: remove inline keyword from functions in *.c (John Linville) [1722628] - [netdrv] net: ena: add ethtool function for changing io queue sizes (John Linville) [1722628] - [netdrv] net: ena: allow queue allocation backoff when low on memory (John Linville) [1722628] - [netdrv] net: ena: make ethtool show correct current and max queue sizes (John Linville) [1722628] - [netdrv] net: ena: enable negotiating larger Rx ring size (John Linville) [1722628] - [netdrv] net: ena: add MAX_QUEUES_EXT get feature admin command (John Linville) [1722628] - [netdrv] net: ena: use dev_info_once instead of static variable (John Linville) [1722628] - [netdrv] net: ena: add good checksum counter (John Linville) [1722628] - [netdrv] net: ena: optimise calculations for CQ doorbell (John Linville) [1722628] - [netdrv] net: ena: add support for changing max_header_size in LLQ mode (John Linville) [1722628] - [netdrv] net: ena: allow automatic fallback to polling mode (John Linville) [1722628] - [netdrv] net: ena: add newline at the end of pr_err prints (John Linville) [1722628] - [netdrv] net: ena: arrange ena_probe() function variables in reverse christmas tree (John Linville) [1722628] - [netdrv] net: ena: replace free_tx/rx_ids union with single free_ids field in ena_ring (John Linville) [1722628] - [netdrv] net: ena: ethtool: add extra properties retrieval via get_priv_flags (John Linville) [1722628] - [netdrv] net: ena: add handling of llq max tx burst size (John Linville) [1722628] - [netdrv] net: ena: gcc 8: fix compilation warning (John Linville) [1722628] - [netdrv] net: ena: fix ena_com_fill_hash_function() implementation (John Linville) [1722628] - [netdrv] net: ena: improve latency by disabling adaptive interrupt moderation by default (John Linville) [1722628] - [netdrv] net: ena: fix return value of ena_com_config_llq_info() (John Linville) [1722628] - [netdrv] net: ena: fix incorrect test of supported hash function (John Linville) [1722628] - [netdrv] net: ena: fix: Free napi resources when ena_up() fails (John Linville) [1722628] - [netdrv] net: ena: fix: set freed objects to NULL to avoid failing future allocations (John Linville) [1722628] - [netdrv] net: ena: fix swapped parameters when calling ena_com_indirect_table_fill_entry (John Linville) [1722628] - [arm64] arm64: kexec: Add comment to explain use of __flush_icache_range() (Mark Salter) [1757450] - [arm64] arm64: kexec: machine_kexec should call __flush_icache_range (Mark Salter) [1757450] - [arm64] arm64: Do not issue IPIs for user executable ptes (Mark Salter) [1757450] - [arm64] arm64: hibernate: Avoid sending cross-calling with interrupts disabled (Mark Salter) [1757450] - [arm64] arm64: mm: Export __flush_icache_range() to modules (Mark Salter) [1757450] - [arm64] arm64: IPI each CPU after invalidating the I-cache for kernel mappings (Mark Salter) [1757450] - [s390] s390/dasd: Handle out-of-space constraint (Philipp Rudo) [1525398] - [s390] s390/dasd: Use ALIGN_DOWN macro (Philipp Rudo) [1525398] - [s390] s390/dasd: Make dasd_setup_queue() a discipline function (Philipp Rudo) [1525398] - [s390] s390/dasd: Add new ioctl to release space (Philipp Rudo) [1525398] - [s390] s390/dasd: Add dasd_sleep_on_queue_interruptible() (Philipp Rudo) [1525398] - [s390] s390/dasd: Add missing intensity definition (Philipp Rudo) [1525398] - [s390] s390/dasd: Fix whitespace (Philipp Rudo) [1525398] - [s390] s390/dasd: Add dynamic formatting support for ESE volumes (Philipp Rudo) [1525398] - [s390] s390/dasd: Recognise data for ESE volumes (Philipp Rudo) [1525398] - [s390] s390/dasd: Put sub-order definitions in a separate section (Philipp Rudo) [1525398] - [s390] s390/dasd: Make layout analysis ESE compatible (Philipp Rudo) [1525398] - [s390] s390/dasd: Remove old defines and function (Philipp Rudo) [1525398] - [s390] s390/dasd: Remove unused structs and function prototypes (Philipp Rudo) [1525398] - [tools] perf report: Dump s390 counter set data to file (Philipp Rudo) [1731036] - [tools] perf report: Display arch specific diagnostic counter sets, starting with s390 (Philipp Rudo) [1731036] - [tools] perf report: Add s390 diagnosic sampling descriptor size (Philipp Rudo) [1731036] - [s390] s390/cpum_cf_diag: Add support for CPU-MF SVN 6 (Philipp Rudo) [1731036] - [s390] s390/cpumf: Fix warning from check_processor_id (Philipp Rudo) [1731036] - [s390] s390/cpum_cf_diag: Add support for s390 counter facility diagnostic trace (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: Handle EBUSY return code from CPU counter facility reservation (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: add ctr_stcctm() function (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: move common functions into a separate file (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: introduce kernel_cpumcf_avail() function (Philipp Rudo) [1731036] - [s390] s390/cpu_mf: replace stcctm5() with the stcctm() function (Philipp Rudo) [1731036] - [s390] s390/cpu_mf: add store cpu counter multiple instruction support (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: Add minimal in-kernel interface for counter measurements (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: introduce kernel_cpumcf_alert() to obtain measurement alerts (Philipp Rudo) [1731036] - [s390] s390/cpu_mf: move struct cpu_cf_events and per-CPU variable to header file (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: rename per-CPU counter facility structure and variables (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: prepare for in-kernel counter measurements (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: move counter set controls to a new header file (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: Reject request for sampling in event initialization (Philipp Rudo) [1731036] - [s390] s390/perf: Change CPUM_CF return code in event init function (Philipp Rudo) [1731036] - [acpi] ACPI / property: Add two new Thunderbolt property GUIDs to the list (Jarod Wilson) [1483494] - [acpi] ACPI: property: restore _DSD data subnodes GUID comment (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for Intel Ice Lake (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Expose active parts of NVM even if upgrade is not supported (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Hide switch attributes that are not set (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Do not fail adding switch if some port is not implemented (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Use 32-bit writes when writing ring producer/consumer (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Move NVM upgrade support flag to struct icm (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Correct path indices for PCIe tunnel (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Show key using *pE not *pEp (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Switch to use device_property_count_uXX() (Jarod Wilson) [1483494] - [include] device property: Add helpers to count items in an array (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Implement CIO reset correctly for Titan Ridge (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make sure device runtime resume completes before taking domain lock (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add SPDX license identifier - Makefile/Kconfig (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add SPDX license identifier for more missed files (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make priority unsigned in struct tb_path (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: shash - remove shash_desc::flags (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Start firmware on Titan Ridge Apple systems (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Reword output of tb_dump_hop() (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make rest of the logging to happen at debug level (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make __TB_[SW|PORT]_PRINT take const parameters (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for XDomain connections (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make tb_switch_alloc() return ERR_PTR() (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for DMA tunnels (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add XDomain UUID exchange support (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Run tb_xdp_handle_request() in system workqueue (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Do not tear down tunnels when driver is unloaded (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for Display Port tunnels (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Rework NFC credits handling (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Generalize port finding routines to support all port types (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Scan only valid NULL adapter ports in hotplug (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for full PCIe daisy chains (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Discover preboot PCIe paths the boot firmware established (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Deactivate all paths before restarting them (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Extend tunnel creation to more than 2 adjacent switches (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add helper function to iterate from one port to another (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Assign remote for both ports in case of dual link (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add functions for allocating and releasing HopIDs (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Generalize tunnel creation functionality (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Rename tunnel_pci to tunnel (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Cache adapter specific capability offset into struct port (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Properly disable path (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Set sleep bit when suspending switch (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Configure lanes when switch is initialized (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Move LC specific functionality into a separate file (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add dummy read after port capability list walk on Light Ridge (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Enable TMU access when accessing port space on legacy devices (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Do not allocate switch if depth is greater than 6 (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Take domain lock in switch sysfs attribute callbacks (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Block reads and writes if switch is unplugged (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Drop duplicated get_switch_at_route() (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Remove unused work field in struct tb_switch (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Fix to check the return value of kmemdup (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: property: Fix a missing check of kzalloc (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: xdomain: Fix to check return value of kmemdup (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Fix to check return value of ida_simple_get (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Fix to check for kmemdup failure (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Fix a missing check of kmemdup (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: property: Fix a NULL pointer dereference (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Prevent root port runtime suspend during NVM upgrade (Jarod Wilson) [1483494] - [netdrv] net/ibmvnic: prevent more than one thread from running in reset (Steve Best) [1756943] - [netdrv] net/ibmvnic: unlock rtnl_lock in reset so linkwatch_event can run (Steve Best) [1756943] - [netdrv] sfc: don't score irq moderation points for GRO (Jarod Wilson) [1736303] - [netdrv] sfc: Use dev_get_drvdata where possible (Jarod Wilson) [1736303] - [netdrv] sfc: Remove 'PCIE error reporting unavailable' (Jarod Wilson) [1736303] - [netdrv] sfc: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jarod Wilson) [1736303] - [netdrv] sfc: Add SPDX license identifier - Makefile/Kconfig (Jarod Wilson) [1736303] - [netdrv] bonding: no need to print a message if debugfs_create_dir() fails (Jarod Wilson) [1756517] - [netdrv] bonding: Add vlan tx offload to hw_enc_features (Jarod Wilson) [1756517] - [netdrv] bonding: fix value exported by Netlink for peer_notif_delay (Jarod Wilson) [1756517] - [netdrv] bonding: add an option to specify a delay between peer notifications (Jarod Wilson) [1756517] - [netdrv] bonding: validate ip header before check IPPROTO_IGMP (Jarod Wilson) [1756517] - [netdrv] bonding/main: fix NULL dereference in bond_select_active_slave() (Jarod Wilson) [1756517] - [netdrv] bonding: Always enable vlan tx offload (Jarod Wilson) [1756517] - [netdrv] bonding/options: convert to using slave printk macros (Jarod Wilson) [1756517] - [netdrv] bonding/alb: convert to using slave printk macros (Jarod Wilson) [1756517] - [netdrv] bonding/802.3ad: convert to using slave printk macros (Jarod Wilson) [1756517] - [netdrv] bonding/main: convert to using slave printk macros (Jarod Wilson) [1756517] - [netdrv] bonding: add slave_foo printk macros (Jarod Wilson) [1756517] - [netdrv] bonding: fix error messages in bond_do_fail_over_mac (Jarod Wilson) [1756517] - [netdrv] bonding: improve event debug usability (Jarod Wilson) [1756517] - [netdrv] net: bonding: Inherit MPLS features from slave devices (Jarod Wilson) [1756517] - [netdrv] bonding: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Jarod Wilson) [1756517] - [netdrv] bonding: Replace GPLv2 boilerplate/reference with SPDX - rule 90 (Jarod Wilson) [1756517] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 5 (Jarod Wilson) [1756517] - [netdrv] bonding: Add SPDX license identifier - Makefile/Kconfig (Jarod Wilson) [1756517] - [powerpc] powerpc/fadump: support holes in kernel boot memory area (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: remove RMA_START and RMA_END macros (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: update documentation about option to release opalcore (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: consider f/w load area (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/opalcore: provide an option to invalidate /sys/firmware/opal/core file (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/opalcore: enable CONFIG_OPAL_CORE for FADUMP (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/opalcore: export /sys/firmware/opal/core for analysing opal crashes (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: update documentation about CONFIG_PRESERVE_FA_DUMP (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: add support to preserve crash data on FADUMP disabled kernel (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: improve how crashed kernel's memory is reserved (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: consider reserved ranges while releasing memory (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: make crash memory ranges array allocation generic (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: process architected register state data provided by firmware (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: make use of memblock's bottom up allocation mode (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: Update documentation about OPAL platform support (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: handle invalidation of crashdump and re-registraion (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: Warn before processing partial crashdump (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: process the crashdump by exporting it as /proc/vmcore (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: support copying multiple kernel boot memory regions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: define OPAL register/un-register callback functions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: reset metadata address during clean up (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: register kernel metadata address with opal (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: improve fadump_reserve_mem() (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: add fadump support on powernv (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/opal: add MPIPL interface definitions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/powernv: Make possible for user to force a full ipl cec reboot (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: use FADump instead of fadump for how it is pronounced (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] pseries/fadump: move out platform specific support from generic code (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: release all the memory above boot memory size (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: add source info while displaying region contents (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] pseries/fadump: define RTAS register/un-register callback functions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: introduce callbacks for platform specific operations (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: move rtas specific definitions to platform code (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: define an empty fadump_cleanup() (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: use helper functions to reserve/release cpu notes buffer (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: Improve fadump documentation (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: declare helper functions in internal header file (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: add helper functions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: move internal macros/definitions to a new header (Desnes Augusto Nunes do Rosario) [1524687] - [watchdog] watchdog: iTCO: Add support for Cannon Lake PCH iTCO (Alexander Beregalov) [1724532] - [i2c] i2c: i801: Use iTCO version 6 in Cannon Lake PCH and beyond (Alexander Beregalov) [1724532] - [i2c] i2c: i801: Allow ACPI AML access I/O ports not reserved for SMBus (Alexander Beregalov) [1724532] - [block] loop: set PF_MEMALLOC_NOIO for the worker thread (Ming Lei) [1741392] - [fs] bdev: Fixup error handling in blkdev_get() (Ming Lei) [1741392] - [block] loop: Fix mount(2) failure due to race with LOOP_SET_FD (Ming Lei) [1741392] - [block] block, bfq: handle NULL return value by bfq_init_rq() (Ming Lei) [1741392] - [block] block, bfq: move update of waker and woken list to queue freeing (Ming Lei) [1741392] - [block] block, bfq: reset last_completed_rq_bfqq if the pointed queue is freed (Ming Lei) [1741392] - [block] block: aoe: Fix kernel crash due to atomic sleep when exiting (Ming Lei) [1741392] - [block] rq-qos: use a mb for got_token (Ming Lei) [1741392] - [block] rq-qos: set ourself TASK_UNINTERRUPTIBLE after we schedule (Ming Lei) [1741392] - [block] rq-qos: don't reset has_sleepers on spurious wakeups (Ming Lei) [1741392] - [block] rq-qos: fix missed wake-ups in rq_qos_throttle (Ming Lei) [1741392] - [include] wait: add wq_has_single_sleeper helper (Ming Lei) [1741392] - [block] block, bfq: check also in-flight I/O in dispatch plugging (Ming Lei) [1741392] - [block] block: fix sysfs module parameters directory path in comment (Ming Lei) [1741392] - [block] block: Allow mapping of vmalloc-ed buffers (Ming Lei) [1741392] - [block] block/bio-integrity: fix a memory leak bug (Ming Lei) [1741392] - [block] block: Disable write plugging for zoned block devices (Ming Lei) [1741392] - [block] blk-throttle: fix zero wait time for iops throttled group (Ming Lei) [1741392] - [block] block: Fix potential overflow in blk_report_zones() (Ming Lei) [1741392] - [block] blk-cgroup: turn on psi memstall stuff (Ming Lei) [1741392] - [block] block: init flush rq ref count to 1 (Ming Lei) [1741392] - [lib] sbitmap: Replace cmpxchg with xchg (Ming Lei) [1741392] - [block] block: Remove unused code (Ming Lei) [1741392] - [block] block, bfq: Init saved_wr_start_at_switch_to_srt in unlikely case (Ming Lei) [1741392] - [block] block, bfq: re-schedule empty queues if they deserve I/O plugging (Ming Lei) [1741392] - [block] block, bfq: preempt lower-weight or lower-priority queues (Ming Lei) [1741392] - [block] block, bfq: detect wakers and unconditionally inject their I/O (Ming Lei) [1741392] - [block] block, bfq: bring forward seek&think time update (Ming Lei) [1741392] - [block] block, bfq: update base request service times when possible (Ming Lei) [1741392] - [block] block, bfq: fix rq_in_driver check in bfq_update_inject_limit (Ming Lei) [1741392] - [block] block, bfq: reset inject limit when think-time state changes (Ming Lei) [1741392] - [kernel] cgroup: export css_next_descendant_pre for bfq (Ming Lei) [1741392] - [block] block: update print_req_error() (Ming Lei) [1741392] - [block] block: use blk_op_str() in blk-mq-debugfs.c (Ming Lei) [1741392] - [block] block: add centralize REQ_OP_XXX to string helper (Ming Lei) [1741392] - [block] block: improve print_req_error (Ming Lei) [1741392] - [block] block: rename CONFIG_DEBUG_BLK_CGROUP to CONFIG_BFQ_CGROUP_DEBUG (Ming Lei) [1741392] - [block] bfq-iosched: move bfq_stat_recursive_sum into the only caller (Ming Lei) [1741392] - [block] blk-cgroup: move struct blkg_stat to bfq (Ming Lei) [1741392] - [block] blk-cgroup: introduce a new struct blkg_rwstat_sample (Ming Lei) [1741392] - [block] blk-cgroup: pass blkg_rwstat structures by reference (Ming Lei) [1741392] - [block] blk-cgroup: factor out a helper to read rwstat counter (Ming Lei) [1741392] - [block] block: drbd: no need to check return value of debugfs_create functions (Ming Lei) [1741392] - [block] blk-core: Remove blk_end_request*() declarations (Ming Lei) [1741392] - [block] block: code cleanup queue_poll_stat_show() (Ming Lei) [1741392] - [block] block: use right format specifier for op (Ming Lei) [1741392] - [block] block: get rid of redundant else (Ming Lei) [1741392] - [block] block: use req_op() to maintain consistency (Ming Lei) [1741392] - [fs] blkcg, writeback: dead memcgs shouldn't contribute to writeback ownership arbitration (Ming Lei) [1741392] - [block] blkcg: blkcg_activate_policy() should initialize ancestors first (Ming Lei) [1741392] - [block] blkcg: perpcu_ref init/exit should be done from blkg_alloc/free() (Ming Lei) [1741392] - [block] blkcg: update blkcg_print_stat() to handle larger outputs (Ming Lei) [1741392] - [block] block: bio: Use struct_size() in kmalloc() (Ming Lei) [1741392] - [block] block: genhd: Use struct_size() helper (Ming Lei) [1741392] - [block] block: null_blk: fix race condition for null_del_dev (Ming Lei) [1741392] - [block] blk-mq/debugfs: Fix improper print qualifier (Ming Lei) [1741392] - [block] loop: Don't change loop device under exclusive opener (Ming Lei) [1741392]- [documentation] timekeeping.txt: Correct maxCount of n-bit binary counter (Jaroslav Kysela) [1738610] - [sound] ALSA: clk: Add (devm_)clk_get_optional() functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: uapi: align comments with firmware files (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: rename SOUNDWIRE to ALH (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: add ALH parameters (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: remove SPDX "WITH Linux-syscall-note" from kernel-space headers again (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc.h: fe_compr can be bit field (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc.h: fixup for_each_card_links() macro (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Define a set of DAPM pre/post-up events (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: use bit field for bus_control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple_card_utils.h: care NULL dai at asoc_simple_debug_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: remove an unused field from struct hda_codec (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Avoid polluting led_* namespace (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Add Hiby device family to quirks for native DSD support (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Update DSD support quirks for Oppo and Rotel (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: DSD auto-detection for Playback Designs (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: remove some dead code (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix possible NULL dereference at create_yamaha_midi_quirk() (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Clean up check_input_term() (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Remove superfluous bLength checks (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Unify the release of usb_mixer_elem_info objects (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Simplify parse_audio_unit() (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: More validations of descriptor units (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Check mixer unit bitmap yet more strictly (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Fix memory leak at line6_init_pcm() error path (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix invalid NULL check in snd_emuusb_set_samplerate() (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Add implicit fb quirk for Behringer UFX1604 (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix a stack buffer overflow bug in check_input_term (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix an OOB bug in parse_audio_mixer_unit (Jaroslav Kysela) [1738610] - [sound] ALSA: hiface: fix multiple memory leak bugs (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Add Pioneer DDJ-SX3 PCM quirck (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Skip bSynchAddress endpoint check if it is invalid (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: fix PCM device order (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Unify audioformat release code (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: fix a memory leak bug (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix gpf in snd_usb_pipe_sanity_check (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Scarlett Gen 2 mixer interface (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: sizeof (byte) is always 1, use that fact. (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Fix a typo (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Fix wrong altsetting for LINE6_PODHD500_1 (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: fix Line6 Helix audio format rates (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix parse of UAC2 Extension Units (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Fix write on zero-sized buffer (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: fix sign unintended sign extension on left shifts (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Sanity checks for each pipe and EP types (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Enable .product_name override for Emagic, Unitor 8. (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Use container_of() (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Drop superfluous timer helper function (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: variax: Rewrite complex timer & work combo with a delayed work (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: podhd: Rewrite complex timer & work combo with a delayed work (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: pod: Rewrite complex timer & work combo with a delayed work (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Assure canceling delayed work at disconnection (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 33 (Jaroslav Kysela) [1738610] - [sound] ALSA: sparc: Mark expected switch fall-throughs (Jaroslav Kysela) [1738610] - [sound] ALSA: fix a memory leak bug (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ux500: mop500: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ux500: mop500: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ux500: mop500: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: txx9: txx9aclc-generic: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: rx51: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: rx51: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: rx51: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: osk5912: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap3pandora: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-twl4030: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-twl4030: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-twl4030: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-hdmi: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-hdmi: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-hdmi: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-abe-twl6040: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-abe-twl6040: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-abe-twl6040: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: n810: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Fix slot mask settings when using multiple AXRs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Set unused serializers as INACTIVE (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: Fix SDMA users not providing channel names (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Support for auxclk-fs-ratio (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-evm: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-evm: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-evm: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: ams-delta: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: trimslice: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: trimslice: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: trimslice: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm9712: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm9712: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm9712: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8903: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8903: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8903: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8753: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8753: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8753: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_sgtl5000: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_sgtl5000: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_sgtl5000: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5677: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5677: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5677: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5640: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5640: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5640: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_max98090: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_max98090: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_max98090: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_alc5632: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_alc5632: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_alc5632: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: pass volume min/max linear value to FW (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ignore unrecoverable CTX_SAVE IPC errors at suspend (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: sun50i-codec-analog: Add earpiece (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: sun4i-codec: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: spdifrx: manage identification registers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: dfsdm: add 16 bits audio record support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: add cpu_dai_name for DAIs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: add min/max step for volume_table (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sof: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: clarify operator precedence (Jaroslav Kysela) [1738610] - [sound] ALSA: ASOC: SOF: ipc: prevent logging trace messages (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: add new macro hstream_to_sof_hda_stream() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: make sure RUN bit setting to 0 during clear stream status (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda-stream: fix a deadlock with bus->reg_lock (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: modify stream interrupt handler (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: save handle to sdev in sof_intel_hda_stream (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: remove misleading error trace from IRQ thread (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: dont wake dsp up in kcontrol IO (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: Fix handling of custom_stop_condition on DAPM graph walks (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: compress: Fix memory leak from snd_soc_new_compress (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf: sirf-audio: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf: sirf-audio: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf: sirf-audio: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sh: sh7760-ac97: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: ssiu: tidyup SSI_MODE1/2 settings (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: fixup mod ID calculation in rsnd_ctu_probe_ (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: add missing pin sharing with SSI9 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sh: migor: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tobermory: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tm2_wm5110: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tm2_wm5110: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tm2_wm5110: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: speyside: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: snow: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: snow: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: snow: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8994pcm: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8994: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8994: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8994: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8580: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_spdif: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smartq_wm8987: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: s3c24xx_uda134x: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: s3c24xx_simtec_tlv320aic23: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: s3c24xx_simtec_hermes: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: rx1950_uda1380: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: odroid: fix a double-free issue for cpu_dai (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: odroid: fix an use-after-free issue for codec (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: odroid: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: neo1973_wm8753: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: lowland: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: littlemill: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: jive_wm8750: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: h1940_uda1380: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: bells: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: arndale_rt5631: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: arndale_rt5631: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: arndale_rt5631: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_rt5645: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_rt5645: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_rt5645: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip-max98090: Remove MICBIAS as supply of input pin IN34 (Jaroslav Kysela) [1738610] - [sound] ALSA: SoC: rockchip: rockchip_max98090: Enable MICBIAS for headset keypress detection (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_max98090: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3399_gru_sound: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3399_gru_sound: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3399_gru_sound: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rk3399_gru_sound: Support 32, 44.1 and 88.2 kHz sample rates (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3288_hdmi_analog: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3288_hdmi_analog: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3288_hdmi_analog: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: pdm: select CONFIG_RATIONAL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: storm: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: storm: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: storm: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: apq8016_sbc: Fix oops with multiple DAI links (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: apq8016_sbc: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: apq8016_sbc: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: tosa: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: hx4700: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: kernel: fix typos and some coding style in comments (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: Add missing Slimbus0 audio route (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: apq8016_sbc: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: zylonite: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: z2: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: ttc-dkb: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: spitz: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: pxa2xx-ac97.c: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: poodle: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: palm27x: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: mioa701_wm9713: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: magician: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: imote2: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: em-x270: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: e800_wm9712: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: e750_wm9705: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: e740_wm9705: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: corgi: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: brownstone: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mxs: mxs-sgtl5000: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mxs: mxs-sgtl5000: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mxs: mxs-sgtl5000: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-toddr: add sm1 support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-toddr: expose all 8 inputs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: tdmout: add sm1 support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdmout: right_j is not supported (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: tdmin: expose all 16 inputs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdmin: right_j is not supported (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm: fix sample clock inversion (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm: consistently use SND_SOC_DAIFMT defines (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: g12a-tohdmitx: require regmap mmio (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm-formatter: free reset on device removal (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm-formatter: add reset (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-spdifout: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-spdifin: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-pdm: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-frddr: expose all 8 outputs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-frddr: add sm1 support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-fifo: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650-rt5676: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650-rt5514: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8173-max98090: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt6797-mt6351: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt2701-wm8960: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt2701-cs42448: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Add missing newline at end of file (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: kirkwood: armada-370-db: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: kirkwood: armada-370-db: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: kirkwood: armada-370-db: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: jz4740: qi_lb60: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 239 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Fix incorrect capture position reporting (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Fix NULL ptr dereference when unloading clk dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Don't return failure on machine driver reload (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Do not disable FW notifications (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof_rt5682: use GFP_KERNEL instead of GFP_ATOMIC (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: correct naming for dmic16k (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof_rt5682: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add quirk for Irbis NB41 netbook (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bxt-da7219-max98357a: add BE dailink for dmic16k (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: add MCLK support for BYT platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl_rt286: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl_nau88l25_ssm4567: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl_nau88l25_max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_common: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_rt5663_rt5514_max98927: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_rt5663_max98927: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_rt5660: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: kbl_da7219_max98927: add dai_trigger function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: haswell: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_nau8824: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_max98090_ti: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_nocodec: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_es8316: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_da7213: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_cx2072x: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: byt-rt5640: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: byt-max98090: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bxt_rt298: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bxt_da7219_max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: broadwell: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bdw-rt5677: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph-card: fix use-after-free in graph_for_each_link (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph-card: add missing const at graph_get_dai_id() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: phycore-ac97: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card-utils: care no Platform for DPCM (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph-card: fix use-after-free in graph_dai_link_of_dpcm() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph-card: fix an use-after-free in graph_get_dai_id() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: wm1133-ev1: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: pcm030-audio-fabric: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: mx27vis-aic32x4: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-spdif: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-spdif: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-spdif: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-sgtl5000: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-sgtl5000: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-sgtl5000: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-mc13783: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: mpc8610_hpcd/p1022_ds/p1022_rdk: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: no need to check return value of debugfs_create functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: fsl-asoc-card: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: eukrea-tlv320: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: efika-audio-fabric: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm_adsp: Allow bus error handler to be called directly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm_adsp: no need to check return value of debugfs_create functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: remove multiple defines. (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: add irqflag IRQF_ONESHOT flag (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: Fix misuse of GENMASK macro (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tlv320aic31xx: suppress error message for EPROBE_DEFER (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tas571x: Fix -Wunused-const-variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: Fix charge pump source assignment (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: Fix of unmute outputs on probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: add ADC mute control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: Improve VAG power and mute control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: Fix definition of VAG Ramp Control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5682: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677-spi: Rename driver to differentiate from main codec (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5665: remove redundant assignment to variable idx (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5514-spi: don't use snd_soc_lookup_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: simplify the EFUSE read function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: Remove executable attribute from source files (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: Fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: add silence detection and manual PDB control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: Convert headers to SPDX (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: fix DC calibration offset not applying (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Relocate my e-mail to .com domain zone (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: nau8825: fix fake interruption when booting (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: nau8822: support master mode (Jaroslav Kysela) [1738610] - [sound] ALSA: soc: codecs: mt6358: change return type of mt6358_codec_init_reg (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: msm8916-wcd-digital: Add sidetone support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98383: fix i2c probe failure (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 496 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdac_hdmi: report codec link up/down status to bus (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec: hdac_hdmi: fix pin connections at cvt enable (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 463 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: mark PM function as __maybe_unused (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98357a: use mdelay for sdmode-delay (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98357a: avoid speaker pop when playback startup (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Fix MFREQ selection issue for async mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cros_ec_codec: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ak4118: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: spi: AD ASoC: declare missing of table (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ab8500: add range to usleep_range (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cirrus: snappercl15: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cirrus: simone: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cirrus: ep93xx-i2s.c: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cirrus: edb93xx: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: bcm: cygnus-pcm: Unneeded variable: "ret". (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: au1x: psc-i2s.c: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: au1x: db1200: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: au1x: db1000: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: tse850-pcm5142: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: tse850-pcm5142: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: tse850-pcm5142: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: sam9x5_wm8731: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: sam9x5_wm8731: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: sam9x5_wm8731: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: sam9g20_wm8731: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: mikroe-proto: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: atmel-wm8904: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: atmel-pdmic: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: atmel-pcm-dma.c: use devm_snd_dmaengine_pcm_register() (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: atmel-classd: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: acp-rt5645: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: acp-da7219-max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 200 (Jaroslav Kysela) [1738610] - [sound] ALSA: ps3: Remove Unneeded variable: "ret" (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 277 (Jaroslav Kysela) [1738610] - [sound] ALSA: rme9652: Unneeded variable: "result". (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 274 (Jaroslav Kysela) [1738610] - [sound] ALSA: hdspm: Fix single speed ADAT capture and playback with RME HDSPe AIO (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 264 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 404 (Jaroslav Kysela) [1738610] - [sound] ALSA: lx6464es - Remove set but not used variables 'orun_mask, urun_mask' (Jaroslav Kysela) [1738610] - [sound] ALSA: lx6464es: Remove unneeded variable err (Jaroslav Kysela) [1738610] - [sound] ALSA: lx6464es - add support for LX6464ESe pci express variant (Jaroslav Kysela) [1738610] - [sound] ALSA: ice1712: Check correct return value to snd_i2c_sendbytes (EWS/DMX 6Fire) (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 29 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 46 (Jaroslav Kysela) [1738610] - [sound] ALSA: emu10k1: Remove unneeded variable "change" (Jaroslav Kysela) [1738610] - [sound] ALSA: echoaudio: Replace kmalloc + memcpy with kmemdup (Jaroslav Kysela) [1738610] - [sound] ALSA: pci: echoaudio: remove variable which is a constant (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 364 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 (Jaroslav Kysela) [1738610] - [sound] ALSA: cs4281: remove redundant assignment to variable val and remove a goto (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 116 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 456 (Jaroslav Kysela) [1738610] - [sound] ALSA: au88x0: Remove unneeded variable: "changed" (Jaroslav Kysela) [1738610] - [sound] ALSA: asihpi: Remove unneeded variable change (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 88 (Jaroslav Kysela) [1738610] - [sound] ALSA: ac97: remove unused variable 'snd_ac97_controls_master_mono' (Jaroslav Kysela) [1738610] - [sound] ALSA: dmasound_atari: Mark expected switch fall-through (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 176 (Jaroslav Kysela) [1738610] - [sound] ALSA: i2c: ak4xxx-adda: Fix a possible null pointer dereference in build_adc_controls() (Jaroslav Kysela) [1738610] - [sound] ALSA: isa/wavefront: remove redundant assignment to pointer bptr (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 370 (Jaroslav Kysela) [1738610] - [sound] ALSA: sb: remove redundant assignment to variable result (Jaroslav Kysela) [1738610] - [sound] ALSA: Revert "ALSA: hda: Add codec on bus address table lately" (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Unexport a few more stuff (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Drop export of snd_hdac_bus_add/remove_device() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Add codec on bus address table lately (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: readl/writel need linux/io.h (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: intel-nhlt: handle NHLT VENDOR_DEFINED DMIC geometry (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: move parts of NHLT code to new module (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Fix 1-minute detection delay when i915 module is not available (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Fix a headphone detection issue when using SOF (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: fix: lock reg_lock before calling snd_hdac_bus_update_rirb (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: add polling mode in snd_hdac_bus_get_response (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sdm845: remove unneeded semicolon (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dmaengine: Replace strncpy() with strscpy_pad() for pcm->name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: remove redundant use of ret variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: Add an op to set callback function for plug event (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_unbind_aux_dev() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add soc_unbind_aux_dev() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_bind_aux_dev() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_probe_link_dais() next to soc_remove_link_dais() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_probe_link_dais() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add new soc_link_init() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_probe_dai() next to soc_remove_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_remove_link_dais() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_remove_link_components() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_probe_link_components() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: make array pd static const, makes object smaller (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1305: make array pd static const, makes object smaller (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: make array pd static const, makes object smaller (Jaroslav Kysela) [1738610] - [sound] ALSA: SoC: simple-card-utils: set 0Hz to sysclk when shutdown (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: ignore 0Hz sysclk (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: make two arrays static const, makes object smaller (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: Use regmap_multi_reg_write() when initializing (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: Reset used registers at probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: Group register initialization at probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: Fix memory corruption on BE 64b systems (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: support fixed and variable both clock rates (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: fix redundant codes of clock (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: add DT-bindings (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dmaengine: Make the pcm->name equal to pcm->id if the name is not set (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx8: Fix COMPILE_TEST error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: common: Include link-name in error messages (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: common: Fix NULL pointer in of parser (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: common: Mark links as nonatomic (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: common: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add comment to jack at soc_remove_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf-audio: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ep93xx: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: add clock control of MCLK (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph: indicate rebind issue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: indicate rebind issue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: fix an use-after-free in simple_for_each_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: fix an use-after-free in simple_dai_link_of_dpcm() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: support snd_soc_dai_link_component style for cpu (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_probe_link_components() position (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add snd_soc_dapm_init() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: dapm related setup at one place (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_probe_component() position (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add soc_rtd_free() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: fix space issues (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: remove forward declaration of headset_init (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: move headset jack to card-specific storage (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: move private structure (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF/Intel: fix selection of SND_INTEL_NHTL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: broadwell: Simplify device probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bdw-rt5677: Simplify device probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: haswell: Simplify device probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Haswell: Adjust machine device private context (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-evm: Do not fail if the dai_set_sysclk returns -ENOTSUPP (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: edma-pcm: Fix for legacy dma_slave_map based channel lookup (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-i2s: Add S32_LE as support format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-i2s: Move the XSYNCERR workaround to .prepare callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Baytrail: Fix implicit fallthrough warning (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_ssi: Fix clock control issue in master mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: Fix primary interpolator max rate (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: fix tdm out data is valid on rising edge (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: tdm hw support tdm out and 8ch i2s out (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel_ssc_dai: implement left-justified data mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel_ssc_dai: rework DAI format configuration (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Force suspend/resume during system suspend/resume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: fix tdm out data align issue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: add mutex protection to set_fmt/set_tdm_slot (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: fix inverted L/R of headphone mixer volume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: fix headphone mixer volume table (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Release topology when we are done with it (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Remove memory available check (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Remove MCPS available check (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Remove static table index when parsing topology (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Print module type instead of id (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: NHLT: Fix debug print format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: Expose snd_soc_dapm_new_control_unlocked properly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: topology: fix memory leaks on sm, se and sbe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: topology: Consolidate and fix asoc_tplg_dapm_widget_*_create flow (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: topology: Consolidate how dtexts and dvalues are freed (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-topology: fix modern dai link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-topology: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Use correct function to access iomem space (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx8: Fix an is IS_ERR() vs NULL check (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i: Revert A83t description (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx8: Fix return value check in imx8_probe() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: remove unused DAPM-related variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: Revert initial A83t support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: imx-audmix: register the card on a proper dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx8: Make some functions static (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: rename soc_post_component_init() to soc_rtd_init() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: initialize list at one place (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: fix get control data return type and arguments (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: initialize component list (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-topology: use for_each_component_dais() at remove_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: soc_cleanup_card_resources() become void (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add NOTE to snd_soc_rtdcom_lookup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use device_register() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: switch tdm pins gpio function when playback on or off (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt2701: Fix -Wunused-const-variable warnings (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8988: fix typo in wm8988_right_line_controls (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx: Add i.MX8 HW support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Add OF DSP device support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: AMD: Fix Kconfig warning without GPIOLIB (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Add support for DSP formats (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Replace call to params_width by local variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Use the actual format width instead of an hardcoded one (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Use the physical / slot width for the clocks (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Add support for TDM slots (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: remove unneeded dai_link check from snd_soc_remove_dai_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: merge snd_soc_initialize_card_lists() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Add support for imx8qm (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mchp-i2s-mcc: Fix simultaneous capture and playback in master mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mchp-i2s-mcc: Wait for RX/TX RDY only if controller is running (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mchp-i2s-mcc: Fix unprepare of GCLK (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Support more channels (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Pass the channels number as an argument (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Remove duplicated quirks structure (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix the LRCK period on A83t (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix MCLK Enable bit offset on A83t (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix WSS and SR fields for the A83t (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix the LRCK polarity (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix LRCK and BCLK polarity offsets on newer SoCs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: RX and TX counter registers are swapped (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix the MCLK and BCLK dividers on newer SoCs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Use module clock as BCLK parent on newer SoCs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Move the format configuration to a callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Move the channel configuration to a callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Rework MCLK divider calculation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Replace call to params_channels by local variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Don't use the oversample to calculate BCLK (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Switch to devm for PCM register (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Register regmap and PCM before our component (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8904: implement input mode select as a mux (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8904: fix typo in DAPM kcontrol name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: Add all Chromebooks that need pmc_plt_clk_0 quirk (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: uniphier: Fix double reset assersion when transitioning to suspend state (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: initial support for Intel ALH DAI type (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: Add dummy support for i.MX8 DAIs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: imx-audmux: Add driver suspend and resume to support MEGA Fast (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: common: add ACPI matching tables for EHL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: common: add ACPI matching tables for Tiger Lake (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: Add Cometlake machine driver support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: Move pcm_mutex up to card level from snd_soc_pcm_runtime (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: 88pm860x: remove unused variables 'pcm_switch_controls' and 'aif1_mux' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42l56: remove unused variable 'adc_swap_enum' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8328: remove unused variable 'pga_tlv' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tlv320aic31xx: remove unused variable 'cm_m_enum' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tlv320aic23: remove unused variable 'tlv320aic23_rec_src' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: remove unused variable 'dac_vol_tlv' and 'adc_vol_tlv' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98371: remove unused variable 'max98371_noload_gain_tlv' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42l73: remove unused variables 'vsp_output_mux' and 'xsp_output_mux' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Print constant literals from format specifier (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt6358: add delay after dmic clock on (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-mt6358-ts3a227-max98357: remove unused variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: remove unused variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mt2701: remove unused variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: Fix -Wunused-const-variable warning (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8737: Fix copy-paste error in wm8737_snd_controls (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs4349: Use PM ops 'cs4349_runtime_pm' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8328: Fix copy-paste error in es8328_right_line_controls (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: hsw: remove i386 build warning w/ size_t argument (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: Fix typos in ti/Kconfig (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_max98090: Set period size to 240 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Allow reconfiguration of tdm_slots and slot_width (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Retain the independence of DAC and ADC side of the codec (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-mt6358-ts3a227-max98357: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: make headset codec optional (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-mt6358-ts3a227-max98357: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max9850: remove unused variable 'max9850_reg' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98926: remove two unused variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: remove legacy style of aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: rx51: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: sun4i-codec: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tm2_wm5110: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: speyside: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: neo1973_wm8753: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_max98090: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: support snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdac_hdmi: Offload dapm update at jack detection (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: byt: Refactor fw ready / mem windows creation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: bdw: Use generic function for fw ready / mem windows creation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Remove call to snd_sof_dsp_mailbox_init (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ml26124: remove unused variable 'ngth' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mt6351: remove unused variable 'mt_lineout_control' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: intel: skl_hda_dsp_common: create HDMI jack kctl (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tscs454: remove unused variable 'PLL_48K_RATE' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: fix module_put() warning in soc_cleanup_component (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: dai_link check under soc_dpcm_debugfs_add() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: define soc_dpcm_debugfs_add() for non CONFIG_DEBUG_FS (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for card->deferred_resume_work (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: remove unneeded list_empty() check for snd_soc_try_rebind_card() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: call snd_soc_dapm_debugfs_init() at soc_init_card_debugfs() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for snd_soc_add_card_controls() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for snd_soc_dapm_add_routes() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for snd_soc_add_component_controls() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdac_hda: fix page fault issue by removing race (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Direct MMIO accesses (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Add support for imx7ulp/imx8mq (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: mark regmap as fast_io (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: large_config_get overhaul (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Implement set_bclk_ratio (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Add support for SAI new version (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: derive TX FIFO watermark from FIFO depth (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: add of_match data (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Update Tx/Rx channel enable mask (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Add registers definition for multiple datalines (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for snd_soc_dapm_new_controls() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: reuse rtdcom at snd_soc_rtdcom_add() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: don't use for_each_card_links_safe() at snd_soc_find_dai_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: check return value of snd_soc_add_dai_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add comment for for_each_xxx (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: set component->debugfs_root NULL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: Add a flag for the R0 calibration test (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: Add R0 temperature and TDM1 ADC2DAT Swap control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: don't call clk_get_rate() under atomic context (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98373: Remove executable bits (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_pcm_free() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_pcm_new() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_mmap() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_page() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_copy_user() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_ioctrl() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_pointer() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_set_bias_level() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_stream_event() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_seq_notifier() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_of_xlate_dai_name() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_of_xlate_dai_id() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_remove() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_probe() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_is_suspended() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_resume() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_suspend() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_trigger() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_hw_free() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_hw_params() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_prepare() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_close() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_open() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_get/put() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: add soc-component.c (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: remove soc_fill_silence() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: remove soc_rtdcom_copy_kernel() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: remove soc_rtdcom_ack() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: acp3x: use dma address for acp3x dma driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: acp3x: use dma_ops of parent device for acp3x dma driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: zx-tdm: remove redundant assignment to ts_width on error return path (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: SoC: skylake: no need to check return value of debugfs_create functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: fill some of the runtime stream parameters (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: remove ephemeral variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: create pcm for codec2codec links as well (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: use common NHLT module (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Merge skl_sst and skl into skl_dev struct (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Limit large_config_get to single frame (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Fix use of potentially uninitialized variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Update request-reply IPC model (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Common: Fix NULL dereference in tx_wait_done (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Fix race condition in IPC rx list (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 490 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Read HIPCT extension before clearing DONE bit (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: move NHLT header to common directory (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm-formatter: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: g12a-tohdmitx: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: au1x: psc-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: psc-ac97: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: uniphier: aio-dma: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: uniphier: evea: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: inno_rk3036: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: jz4740: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mmp-sspa: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: jz4725b: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: msm8916-wcd: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: sai: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun8i-codec: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: sun50i-codec-analog: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun8i-codec-analog: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: xlnx: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs4271: Fix a typo in the CS4171_NR_RATIOS (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: Mark expected switch fall-throughs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: xtfpga-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: kirkwood-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: spear: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mxs-saif: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: bcm2835-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_audmix: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: imx-audmux: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mt6797: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mt8173: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ep93xx-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra20_das: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: g12a-tohdmitx: override codec2codec params (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98373: add 88200 and 96000 sampling rate support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Incorrect SR and WSS computation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: fix missing return of error return code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Support for correct symmetric sample bits (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Correct slot_width posed constraint (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: Fix mono capture (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Fix some acpi vs apci typo in somme comments (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Fix clk PDIR handling for i2s master mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: deal with params when necessary (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: name link using stream direction (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: run callbacks in order (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: Add uda1334 codec driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: Add RT1308 amplifier driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Makefile - fix the top-level kernel module names (add snd- prefix) (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Improve serializer handling in multi AXR setups (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Add support for RIGHT_J format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Cleanup skl_module_cfg declaration (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Make MCPS and CPS params obsolete (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Combine snd_soc_skl_ipc and snd_soc_skl (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Reset pipeline before its deletion (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Strip T and L from TLV IPCs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Properly cleanup on component removal (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Initialize lists before access so they are safe to use (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Add function to cleanup debugfs interface (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Use recommended SDxFMT programming sequence (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Switch to modern UUID API (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl-pcm: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8955: Fix a typo in 'wm8995_pll_factors()' function name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Fail card instantiation if DAI format setup fails (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: move snd_soc_dai_stream_valid() to soc-dai.c (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use existing snd_soc_dai_digital_mute() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compress_new() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_remove() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_probe() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_resume() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_suspend() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_delay() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_bespoke_trigger() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_trigger() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_prepare() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_shutdown() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_startup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_hw_free() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: mv soc_dai_hw_params() to soc-dai (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: add soc-dai.c (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: Return -ENOTSUPP from set_channel_map() if no operation provided (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: support dai_link with platforms_num != 1 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: defer card registration if codec component is missing (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: don't use soc_find_component() at snd_soc_find_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use soc_find_component() at snd_soc_find_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: soc_find_component() uses snd_soc_dai_link_component (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: soc_find_component() uses snd_soc_is_matching_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_find_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: call snd_soc_unbind_card() under mutex_lock; (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: allow no Platform on dai_link (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: remove legacy style dai_link (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc.h: add sound dai_link connection macro (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: Support hw_free() callback at DAI level (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5665: Fix a typo in the name of a function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Remove dev_err() usage after platform_get_irq() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_esai: recover the channel swap after xrun (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_esai: Wrap some operations to be functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_esai: Add pm runtime function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: ssp: BCLK delay parameter (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Add DMIC token for unmute gain ramp time (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fix stream id setting (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fix link DMA config (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: reset link DMA state in prepare (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: reserve host DMA channel for hostless streams (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: assign link DMA channel at run-time (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: initial support for Elkhart Lake (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: initial support for Tiger Lake. (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Use generic function for fw ready / mem windows creation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: make sure DMA is start/stop by read the RUN bit (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: fix HDA direct MMIO access (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: remove duplicated clear WAKESTS (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: clear stream status and wakests properly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: add function for hda stop chip (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: set position buffer in init chip (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: correct ROM state mask (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Introduce snd_sof_dsp_get_window_offset (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Introduce snd_sof_dsp_get_mailbox_offset (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: add runtime idle callback (Jaroslav Kysela) [1738610] - [sound] ALSA: docs: timers: convert docs to ReST and rename to *.rst (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: use SOF defined init chip in resume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Enable jack detection (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: reduce ifdef usage for hda (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: remove unused state variable in suspend function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: implement runtime idle for CNL/APL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: use the defined stop chip in suspend (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: use the SOF defined ppcap functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: release link DMA for paused streams during suspend (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: loader: Don't ignore SRAM block types (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: loader: Use the BAR provided by FW (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Introduce snd_sof_dsp_get_bar_index ops (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: core: increase default IPC timeouts (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: use timeout configured at probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pcm: add ALH support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: use common code to send PCM_FREE IPC (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: reset DMA state in prepare (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: couple host and link DMA during FE hw_free (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pci: mark last_busy value at runtime PM init (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fixup HDaudio topology name with DMIC number (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: Add missing include file hdac_hda.h (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: Initialize hdaudio bus properly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fix MSI handling (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Initialize HDA controller after i915 init (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: add a parameter to disable MSI (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: remove duplicated include from hda.c (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: disallow building without CONFIG_PCI again (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: intel: extend IPC dump information (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Allow all channels in case of parallel DIN/DOUT setup (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Fix a typo in the name of a constant (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Add support for multi DIN/DOUT with TDM slots parameter (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Rename min_frame_size to slot_width (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl-hda-dsp-generic: add dmic dapm widget and route (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl-hda-dsp-generic: add dependency to dmic driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: Match Product Family instead of product (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: Invalidate only paths reachable for a given stream (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: use set_get_data in process load (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_esai: Add compatible string for imx6ull (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: keep analog power register at SND_SOC_BIAS_OFF (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: Remove magic number register writes (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: Revert remove superfluous set (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: remove superfluous set (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: depop stereo dac (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: handle concurrent interrupts (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: clear interrupts by polarity flip (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: move jack-detect init to i2c probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: fall back to DT prop names on error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: Add component driver name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: use more of the volume range from DACs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: remove w90x900/nuc900 platform drivers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: nuc900: nuc900-audio: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: add dmic dapm widget to support dmic PCM (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add for_each_xxx macro for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: remove useless check on codec (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: fix null pointer dereference in clean up (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sst: fix kmalloc call with wrong flags (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: Fix deadlock in snd_soc_instantiate_card() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Remove erroneous soc_cleanup_card_resources() call (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use snd_soc_dai_link_component for CPU (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: move DAI pre-links initiation to snd_soc_instantiate_card (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: fix warning reported by kbuild test robot and minor issue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: Mark format integer literals as unsigned (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: Tell codec that jack is being removed (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Change SR and WSS computation (Jaroslav Kysela) [1738610] - [sound] ALSA: SoC: rt274: Fix internal jack assignment in set_jack callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: fix kernel oops with platform_name override (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_nau8824: fix kernel oops with platform_name override (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_es8316: fix kernel oops with platform_name override (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_max98090: fix kernel oops with platform_name override (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 395 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Add offset to RX channel select (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix sun8i tx channel offset mask (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98090: remove 24-bit format support if RJ is 0 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: da7219: Fix build error without CONFIG_I2C (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Fix COMPILE_TEST build error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Implement set_tdm_slot callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: Make some symbols static (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: remove set but not used variable 'is_right_j ' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: Add RT1011 amplifier driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: debug: add new debugfs entries for IPC flood test (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: Introduce SOF_IPC_GLB_TEST_MSG IPC command (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: uapi: mirror firmware changes (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: send time stamp to FW for alignment (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: bump to ABI 3.6 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: soundwire: add initial soundwire support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: add support for mux/demux component (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: fix DSP oops definitions in FW ABI (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: ipc: don't check for HIPCCTL register value (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda-ipc: re-enable IPC IRQ at end of handler (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda-ipc: read all IPC registers first (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: cnl-ipc: re-enable IPC IRQ at end of handler (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: cnl-ipc: move code around for clarity (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: cnl-ipc: read all IPC registers first (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Do not send cmd via SHIM register (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: add mode parameter for snd_sof_debugfs_buf_item (Jaroslav Kysela) [1738610] - [sound] ALSA: Revert "ASoC: core: use component driver name as component name" (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: sai: manage identification registers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: replace fw ready bitfield with explicit bit ordering (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Baytrail: add quirk for Aegex 10 (RU2) tablet (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: fix typos of SPDX-License-Identifier (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 162 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: use the defined ppcap functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: add COMPILE_TEST for PCI options (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: Add COMPILE_TEST for new machine drivers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: remove dependency on asm/platform_sst_audio.h (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoc: fix sound/soc/intel/skylake/slk-ssp-clk.c build error on IA64 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: use common helpers to detect CPUs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: Add missing voice activation register definitions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: use component driver name as component name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Fix build error with CONFIG_GPIOLIB is not set (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: fix undefined references with Baytrail-only support (Jaroslav Kysela) [1738610] - [sound] ALSA: wcd9335: fix a incorrect use of kstrndup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-codec: fix first delay on Speaker (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-spdif: Add support for H6 SoC (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-spdif: Add TX fifo bit flush quirks (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-spdif: Move quirks to the top (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: fix spelling mistake "configued" -> "configured" (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: fix integer overflow on unsigned int multiply (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: force end-of-file for debugfs trace at suspend (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: trace: remove code duplication in sof_wait_trace_avail() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Use struct_size() in kmemdup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98357a: Show KConfig entry (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: Use struct_size() helper (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: remove redundant assignment to pulse_len (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fix the hda init chip (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: fix a race, leading to IPC timeouts (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: control: correct the copy size for bytes kcontrol put (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pcm: remove warning - initialize workqueue on open (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pcm: clear hw_params_upon_resume flag correctly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: core: fix error handling with the probe workqueue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: core: remove snd_soc_unregister_component in case of error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: core: remove DSP after unregistering machine driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: fixup references at soc_cleanup_card_resources() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Force polling mode on CFL and CNL (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 119 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 64 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: lock client_mutex while removing link components (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: Restore original configuration of DAI format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qdsp6: q6core: Use struct_size() in kmemdup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Use struct_size() helper (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: Use struct_size() in krealloc() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: remove unnecessary inclusion of skl.h (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: move card registration to the end of probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: remove unused DAPM pins (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: enable dev runtime suspend and resume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Add machine driver for CX2072X on BYT/CHT platforms (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Add support for Conexant CX2072X CODEC (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_asrc: Unify the supported input and output rate (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: fixup try_module_get()/module_put() timing (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: add newline for clarity (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: fix compile error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: fix compile error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: fix AMP quirk support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: fix for codec button mapping (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 4 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 3 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: Fix configuration of DAI format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: WARN() is not related to component->driver->probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: move pcm_new from snd_soc_component_driver to snd_soc_dai_driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: Remap button control-function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: enable IIR filter (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rename functions that pollute the simple_xxx namespace (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: soc-acpi: Fix machine selection order (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677-spi: Handle over reading when flipping bytes (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dpm: fixup DAI active unbalance (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tlv320aic3x: Add support for high power analog output (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Add reset gpio handling (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Add regcache mask dirty (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_asrc: replace the process_option table with function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_asrc: Fix the issue about unsupported rate (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: add g12a tohdmitx control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: add basic codec-to-codec link support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: allow muxes to force a disconnect (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: set link name based on link node name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: set data align (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: add memory interface data align (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ak4458: rstn_control - return a non-zero on error only (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: re-introduce mutex locking (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: add soc_pcm_components_open() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: add missing cpu_dai->rate = 0 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: do cpu_dai related operation at same place (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use soc_find_component() at snd_soc_get_dai_id() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add soc_component_to_node() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup soc_bind_dai_link() comment balance (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: don't use codec_dais on soc_bind_dai_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use i on snd_soc_resume() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98357a: request GPIO when device get probed (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: ICL add Icelake chip info struct (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: ICL: add Icelake SSP count (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pcm: remove runtime PM calls during pcm open/close (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Add Cometlake PCI IDs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Add Comet Lake PCI IDs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: Reporting accurate hw_ptr for acp3x dma (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: BE dai needs prepare when pause release after resume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ak4458: add return value for ak4458_probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC : cs4265 : readable register too low (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: fix error in verbose ipc command parsing (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: fix race in FW boot timeout handling (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: nocodec: fix undefined reference (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-acpi: fix implicit header use of module.h/export.h (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Move clock operation to PM runtime (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: i2s: manage identification registers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: remove ops dependency on the dai id (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: remove reference to the dai drivers in the private data (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: remove reference to the current substream (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: remove function name debug traces (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 (Jaroslav Kysela) [1738610] - [sound] ALSA: xen-front: fix unintention integer overflow on left shifts (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - PCI quirk for Medion E4254 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Apply AMD controller workaround for Raven platform (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fix alienware headset mic (Jaroslav Kysela) [1738610] - [sound] ALSA: Add Acer Aspire Ethos 8951G model quirk (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi: remove redundant assignment to variable pcm_idx (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fix the problem of two front mics on a ThinkCentre (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Enable internal speaker & headset mic of ASUS UX431FL (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Add quirk for HP Pavilion 15 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fix overridden device-specific initialization (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Fix potential endless loop at applying quirks (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Allow runtime PM for controller if component notifier is used (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Blacklist PC beep for Lenovo ThinkCentre M73/93 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Check beep whitelist before assigning in all codecs (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/ca0132 - Add new SBZ quirk (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Fixes inverted Conexant GPIO mic mute led (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Define a fallback_pin_fixup_tbl for alc269 family (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Expand pin_match function to match upcoming new tbls (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Drop unsol event handler for Intel HDMI codecs (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Add a generic reboot_notify (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Let all conexant codec enter D3 when rebooting (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/sigmatel - remove unused variable 'stac9200_core_init' (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Add quirk for HP Envy x360 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Set fifo_size for both playback and capture streams (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Fix a memory leak bug (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Add a quirk model for fixing Huawei Matebook X right speaker (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Add model description for Chrome headset button quirk (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fix a typo in model documentation (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Inform too slow responses (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Apply workaround for another AMD chip 1022:1487 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Remove page allocation redirection (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Workaround for crackled sound on AMD controller (1022:1457) (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Don't override global PCM hw info flag (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Add support of Zhaoxin controller (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/intel: stop probe if DMICS are detected on Skylake+ platforms (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Show the fatal CORB/RIRB error more clearly (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Add a conexant codec entry to let mute led work (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Fix intermittent CORB/RIRB stall on Intel chips (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Make hdac_device device-managed (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Flush interrupts on disabling (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi - Allow audio component for AMD/ATI and Nvidia HDMI (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi - Don't report spurious jack state changes (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Optimize resume for codecs without jack detection (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Don't resume forcibly i915 HDMI/DP codec (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi - Fix i915 reverse port/pin mapping (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi - Remove duplicated define (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek: apply ALC891 headset fixup to one Dell machine (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fixed Headphone Mic can't record on Dell platform (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Simplify snd_hdac_refresh_widgets() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Fix widget_mutex incomplete protection (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/ca0132 - remove redundant assignment to variable 'changed' (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Change front mic location for Lenovo M710q (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek: Add quirks for several Clevo notebook barebones (Jaroslav Kysela) [1738610] - [sound] ALSA: Revert "ALSA: hda/realtek - Improve the headset mic for Acer Aspire laptops" (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Add Elkhart Lake PCI ID (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: fix a mask for unsolicited event tags (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hda: fix unbalanced codec dev refcount for HDA_DEV_ASOC (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/ca0132: Use struct_size() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Use struct_size() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Update headset mode for ALC256 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: move polling_mode flag to struct hdac_bus (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: assign polling_mode after azx_bus_init (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Improve the headset mic for Acer Aspire laptops (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Force polling mode on CNL for fixing codec communication (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Enable micmute LED for Huawei laptops (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Set default power save node to 0 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Check headset type by unplug and resume (Jaroslav Kysela) [1738610] - [sound] ALSA: hdac: Fix codec name after machine driver is unloaded and reloaded (Jaroslav Kysela) [1738610] - [sound] ALSA: hdac: fix memory release for SST and SOF drivers (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 371 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Add SPDX license identifier for missed files (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Add SPDX license identifier for more missed files (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 130 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 273 (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: fix wrong packet parameter for Alesis iO26 (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: check intermediate state of clock status and retry (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: handle error code when getting current source of clock (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: remove WARN_ON() at destruction of AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: add note for FE-8 (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: add support for MOTU 4pre (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix isoc cycle count to which rx packet is scheduled (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: fix error path for initialization of stream structures (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: fix to handle correct stream for PCM playback (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: fix NULL pointer dereference to unused stream structure (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire: fix a memory leak bug (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: localize kernel APIs to start/stop each AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: code refactoring for initialization/destruction of AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring for initialization/destruction of AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for initialization/destruction of AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring for initialization/destruction of AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: code refactoring for bus reset handler (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: code refactoring for initialization/destruction of AMDTP streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add a kernel API to start AMDTP streams in AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add a kernel API to add AMDTP stream into AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add a kernel API to stop a couple of AMDTP streams in AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add AMDTP domain structure to handle several isoc contexts (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: more code refactoring for MOTU data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: process payload of isoc context according to packet descriptors (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: code refactoring for FF data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring for MOTU data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for TASCAM data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring for DOT data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring for AM824 data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: pass packet descriptor to data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring to process context payloads (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring to process PCM substream (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use packet descriptor for IR context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use packet descriptor for IT context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add list of packet descriptor (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: pass no syt information to data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add syt_override member for some protocols (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: operate data block counter in top level of processing for IR context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: operate data block counter in top level of processing for IT context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: pass data block counter to data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: pass data block count as an argument to tracepoints event (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: obsolete ctx_data.tx.first_dbc with CIP_UNALIGHED_DBC flag (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring for local variables (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring for post operation to data block counter (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring for error path of parser for CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix different data block counter between probed event and transferred isochronous packet (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix initial value of data block count for IR context without CIP_DBC_IS_END_EVENT (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib/fireface: fix initial value of data block counter for IR context with CIP_NO_HEADER (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix invalid length of rx packet payload for tracepoint events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix to process MIDI conformant data channel for AM824 format (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: cache next data_block_counter after probing tracepoints event for IR context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: unify common tracepoints for both direction (Jaroslav Kysela) [1738610] - [sound] ALSA: Revert "ALSA: firewire-lib: fix inverted node IDs for amdtp_packet events" (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: ensure to release isochronous resources in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: ensure to release isochronous resources in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: ensure to release isochronous resources in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: update isochronous resources when starting packet streaming after bus-reset (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring to finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: minor code refactoring to stop isochronous context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: rename helper functions to begin/finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring for condition to stop streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: add helper function to keep isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: unify midi callback function (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: unify the count of subscriber for packet streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: split allocation of isochronous resources from establishment of connection (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: change the range of critical section for stream data in PCM.hw_free callback (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: code refactoring for error path to start duplex stream (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: change the range of critical section for stream data in PCM.hw_free callback (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: code refactoring for callback function to rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: code rafactoring for callback functions to PCM interface (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: fix compiler warning due to returning uninitialized value (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: configure stream parameter in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: configure packet format in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: unify substreams counter (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: rename helper functions for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: expand stop procedure for packet streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: break packet streaming at bus-reset handler (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: start duplex streams if supported (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: set packet parameter according to current configuration (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: code refactoring for stop condition of packet streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: don't set XRUN in stop streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: configure stream parameters in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: configure sampling transfer frequency in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: code refactoring for pcm.hw_params/hw_free (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: code refactoring for rawmidi.open/close (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: unify substream counter (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: code refactoring to initialize/destroy stream data (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: obsolete useless member of private structure (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: don't set XRUN in stop streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: configure sampling transfer frequency in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: update isochronous resources when starting packet streaming after bus-reset (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: code refactoring to keep isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: code refactoring to stop packet streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: update isochronous resources when starting packet streaming after bus-reset (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring to keep isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: simplify error path to begin streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring to finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: refactoring to move timing of registration for isochronous channel (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: allow PCM capture for Stanton SCS.1m (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: minor code refactoring to finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: update isochronous resources when starting packet streaming after bus-reset (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: support allocate_resources operation in latter protocol (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: support allocate_resources operation in ff400 protocol (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: support allocate_resources operation in ff800 protocol (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: add protocol-specific operation to allocate isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: minor code refactoring to finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: update isochronous resources when starting packet streaming after bus reset (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for release of isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for reservation of isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for registration of isochronous channels (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: fix destruction of data for isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: Use ULL suffixes for 64-bit constants (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: refactoring to obsolete IR packet handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: refactoring to obsolete IT packet handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix inverted node IDs for amdtp_packet events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix data block counter for incoming packet without CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use 8 byte packet header for IT context to separate CIP header from CIP payload (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring to queueing packets (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: unify packet handler for IT context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: split helper function to generate CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: unify packet handler for IR context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use 16 bytes IR context header to separate CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: split helper function to check incoming CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: compute pointer to payload buffer in context handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: calculate the length of packet payload in packet handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use clear name for variable of CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use IT context header to compute cycle count for scheduling packet (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: obsolete macro for header of IT context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add helper function to cancel context inner callback handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use union for directional parameters (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: unify tracing events to 'amdtp_packet' event (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use dynamic array for CIP header of tracing events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use the same unit for payload argument in tracing events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add data_blocks/data_block_counter parameter to in_packet/out_packet tracing events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use the same type of argument for CIP header for tracing event (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: add stream format parameters for PreSonus FireStudio (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 (Jaroslav Kysela) [1738610] - [sound] ALSA: aoa: onyx: always initialize register read value (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 250 (Jaroslav Kysela) [1738610] - [sound] ALSA: ac97: Fix double free of ac97_codec_device (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Add SPDX license identifier - Makefile/Kconfig (Jaroslav Kysela) [1738610] - [sound] ALSA: pcm: add support for 352.8KHz and 384KHz sample rate (Jaroslav Kysela) [1738610] - [sound] ALSA: seq: Fix potential concurrent access to the deleted pool (Jaroslav Kysela) [1738610] - [sound] ALSA: pcm: fix lost wakeup event scenarios in snd_pcm_drain (Jaroslav Kysela) [1738610] - [sound] ALSA: compress: Be more restrictive about when a drain is allowed (Jaroslav Kysela) [1738610] - [sound] ALSA: compress: Don't allow paritial drain operations on capture streams (Jaroslav Kysela) [1738610] - [sound] ALSA: compress: Prevent bypasses of set_params (Jaroslav Kysela) [1738610] - [sound] ALSA: compress: Fix regression on compressed capture streams (Jaroslav Kysela) [1738610] - [sound] ALSA: pcm: Fix refcount_inc() on zero usage (Jaroslav Kysela) [1738610] - [sound] ALSA: seq: Break too long mutex context in the write loop (Jaroslav Kysela) [1738610] - [sound] ALSA: seq: fix incorrect order of dest_client/dest_ports arguments (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 (Jaroslav Kysela) [1738610] - [sound] ALSA: control: Use struct_size() (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 151 (Jaroslav Kysela) [1738610] - [sound] ALSA: pcm: oss: Use struct_size() helper (Jaroslav Kysela) [1738610]- [tools] selftests/powerpc: Retry on host facility unavailable (Desnes Augusto Nunes do Rosario) [1739770] - [tools] selftests/powerpc: Do not fail with reschedule (Desnes Augusto Nunes do Rosario) [1739770] - [tools] libperf: Warn when exceeding MAX_NR_CPUS in cpumap (Frank Ramsay) [1753332] - [tools] perf header: Replace MAX_NR_CPUS with cpu__max_cpu() (Frank Ramsay) [1753332] - [tools] perf machine: Replace MAX_NR_CPUS with perf_env::nr_cpus_online (Frank Ramsay) [1753332] - [tools] perf session: Replace MAX_NR_CPUS with perf_env::nr_cpus_online (Frank Ramsay) [1753332] - [tools] perf stat: Replace MAX_NR_CPUS with cpu__max_cpu() (Frank Ramsay) [1753332] - [tools] perf svghelper: Replace MAX_NR_CPUS with perf_env::nr_cpus_online (Frank Ramsay) [1753332] - [tools] perf timechart: Refactor svg_build_topology_map() (Frank Ramsay) [1753332] - [tools] perf tools: Increase MAX_NR_CPUS and MAX_CACHES (Frank Ramsay) [1753332] - [crypto] crypto: chelsio - count incomplete block in IV (Jonathan Toppins) [1725813] - [crypto] crypto: chelsio - Fix softlockup with heavy I/O (Jonathan Toppins) [1725813] - [crypto] crypto: chelsio - Fix NULL pointer dereference (Jonathan Toppins) [1725813] - [nvme] nvme-pci: Allow PCI bus-level PM to be used if ASPM is disabled (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [pci] PCI/ASPM: Add pcie_aspm_enabled() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Fix async probe remove race (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix controller removal race with scan work (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-rdma: fix possible use-after-free in connect error flow (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix a possible deadlock when passthru commands sent to a multipath device (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-core: Fix extra device_put() call on error path (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-file: fix nvmet_file_flush() always returning an error (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-loop: Flush nvme_delete_wq when removing the port (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: Fix use-after-free bug when a port is removed (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-multipath: revalidate nvme_ns_head gendisk in nvme_validate_ns (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] Revert "nvme-pci: don't create a read hctx mapping without read queues" (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix multipath crash when ANA is deactivated (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix memory leak caused by incorrect subsystem free (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: ignore subnqn for ADATA SX6000LNP (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix NULL deref for fabrics options (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix regression upon hot device removal and insertion (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fc: fix module unloads while lports still pending (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-tcp: set the STABLE_WRITES flag when data digests are enabled (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: print a hint while rejecting NSID 0 or 0xffffffff (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-tcp: don't use sendpage for SLAB pages (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-multipath: do not select namespaces which are about to be removed (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-multipath: also check for a disabled path if there is a single sibling (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-multipath: factor out a nvme_path_is_disabled helper (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: export I/O characteristics attributes in Identify (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: set physical block size and optimal I/O size (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: add delete completion and submission queue to admin cmds tracer (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: fix spelling mistake "spcecific" -> "specific" (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: check for NULL return from pci_alloc_p2pmem() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: limit max_hw_sectors based on the DMA max mapping size (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: don't fall back to a 32-bit DMA mask (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: don't create a read hctx mapping without read queues (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: make nvme_dev_pm_ops static (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fcloop: resolve warnings on RCU usage and sleep warnings (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fcloop: fix inconsistent lock state warnings (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [pci] PCI: PM: Skip devices in D0 for (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [pci] PCI: PM: Avoid possible suspend-to-idle issue (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: add I/O characteristics fields (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: enable to inject errors into admin commands (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: prepare for fault injection into admin commands (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: introduce target-side trace (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: print result and status in hex format (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: support for fabrics commands in host-side (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: move opcode symbol print to nvme.h (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: do not export nvme_trace_disk_name (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: properly report state change failure in nvme_reset_work (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: clean up nvme_remove_dead_ctrl a bit (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: set the errno on ctrl state change error (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: adjust irq max_vector using num_possible_cpus() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: use host managed power state for suspend (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove unnecessary zero for static var (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: introduce nvme_is_fabrics to check fabrics cmd (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fc: add message when creating new association (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove queue_count_ops for write_queues and poll_queues (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix possible io failures when removing multipathed ns (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: export get and set features (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: add transport discovery change op (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fcloop: add support for nvmet discovery_event op (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: remove blk_init_request_from_bio (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: initialize the write priority (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: Fix u32 overflow in the number of namespace list calculation (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-fc: add transport discovery change event callback support (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: don't limit DMA segement size (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: fix data_len to 0 for bdev-backed write_zeroes (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-tcp: fix queue mapping when queue count is limited (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: use blk-mq mapping for unmanaged irqs (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: copy MTFA field from identify controller (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: release namespace SRCU protection before performing controller ioctls (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: merge nvme_ns_ioctl into nvme_ioctl (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: remove the ifdef around nvme_nvm_ioctl (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix srcu locking on error return in nvme_get_ns_from_disk (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: Fix known effects (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Sync queues on reset (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Unblock reset_work on IO failure (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Don't disable on timeout in reset state (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Fix controller freeze wait disabling (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: validate cntlid during controller initialisation (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: change locking for the per-subsystem controller list (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: trace all async notice events (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fabrics: remove unused argument (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: add known admin effects to augument admin effects log page (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: init shadow doorbell after each reset (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: mark expected switch fall-through (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: mark nvme_core_init and nvme_core_exit static (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: protect discovery change log event list iteration (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: move command size checks to the core (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: check more command sizes (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fabrics: check more command sizes (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove an unneeded variable initialization (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: unquiesce admin queue on shutdown (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: shutdown on timeout during deletion (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: set 0 capacity if namespace block size exceeds PAGE_SIZE (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-rdma: fix a NULL deref when an admin connect times out (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-file: clamp-down file namespace lba_shift (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: include (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: rename nvme_completion instances from rsp to cqe (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-rdma: remove p2p_client initialization from fast-path (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: return a specified error it subsys_alloc fails (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: fix discover log page when offsets are used (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: never fail double namespace enablement (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: log the error status on Identify Namespace failure (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: tidy up nvme_map_data (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: add safety check for subsystem lock during nvmet_ns_changed (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: only call nvme_unmap_data for requests transferring data (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove q_dmadev from nvme_queue (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: merge nvme_free_iod into nvme_unmap_data (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: move the call to nvme_cleanup_cmd out of nvme_unmap_data (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove nvme_init_iod (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: use a flag for polled queues (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: add a rq_integrity_vec helper (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: add dma_map_bvec helper (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: add a rq_dma_dir helper (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-fc: use zero-sized array and struct_size() in kzalloc() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove unused nvme_iod member (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: avoid double errno conversions (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: avoid double dereference to convert le to cpu (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: fix error flow during ns enable (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: add proper write zeroes setup for the multipath device (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: disable Write Zeroes for qemu controllers (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-fc: bring Disconnect into compliance with FC-NVME spec (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: add proper discard setup for the multipath device (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: remove nvme_ns_config_oncs (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-fc: fix issues with targetport assoc_list list walking (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: add get-feature to admin cmds tracer (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-loop: init nvmet_ctrl fatal_err_work when allocate (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: put ns_head ref if namespace fails allocation (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: fix cdw10 buffer overrun (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: don't warn on block content change effects (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: update comment to make the code easier to read (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: convert to SPDX identifiers (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-lightnvm: convert to SPDX identifiers (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: return error from (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: avoid that deleting a controller triggers a circular locking complaint (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: introduce a helper function for controller deletion (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: unexport nvme_delete_ctrl_sync() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: check kstrtoint() return value in queue_count_set() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: fix indentation (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [lightnvm] lightnvm: simplify geometry (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [powerpc] powerpc/tm: Fix FP/VMX unavailable exceptions inside a transaction (Gustavo Duarte) [1750653] - [powerpc] powerpc/tm: Fix restoring FP/VMX facility incorrectly on interrupts (Gustavo Duarte) [1750653] - [block] block: split .sysfs_lock into two locks (Ming Lei) [1697383] - [block] block: add helper for checking if queue is registered (Ming Lei) [1697383] - [block] blk-mq: don't hold q->sysfs_lock in blk_mq_map_swqueue (Ming Lei) [1697383] - [block] block: don't hold q->sysfs_lock in elevator_init_mq (Ming Lei) [1697383] - [block] block: Remove blk_mq_register_dev() (Ming Lei) [1697383] - [x86] KVM: X86: Fix fpu state crash in kvm guest (Prarit Bhargava) [1737070] - [x86] x86/fpu: Don't use current->mm to check for a kthread (Prarit Bhargava) [1737070] - [x86] x86/fpu: Update kernel's FPU state before using for the fsave header (Prarit Bhargava) [1737070] - [x86] x86/fpu: Use fault_in_pages_writeable() for pre-faulting (Prarit Bhargava) [1737070] - [mm] mm/gup: continue VM_FAULT_RETRY processing even for pre-faults (Prarit Bhargava) [1737070] - [x86] x86/fpu: Fault-in user stack if copy_fpstate_to_sigframe() fails (Prarit Bhargava) [1737070] - [x86] x86/pkeys: Add PKRU value to init_fpstate (Prarit Bhargava) [1737070] - [x86] x86/fpu: Restore regs in copy_fpstate_to_sigframe() in order to use the fastpath (Prarit Bhargava) [1737070] - [x86] x86/fpu: Add a fastpath to copy_fpstate_to_sigframe() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Add a fastpath to __fpu__restore_sig() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Defer FPU state load until return to userspace (Prarit Bhargava) [1737070] - [x86] x86/fpu: Merge the two code paths in __fpu__restore_sig() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Restore from kernel memory on the 64-bit path too (Prarit Bhargava) [1737070] - [x86] x86/fpu: Inline copy_user_to_fpregs_zeroing() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Update xstate's PKRU value on write_pkru() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Prepare copy_fpstate_to_sigframe() for TIF_NEED_FPU_LOAD (Prarit Bhargava) [1737070] - [x86] x86/fpu: Always store the registers in copy_fpstate_to_sigframe() (Prarit Bhargava) [1737070] - [x86] x86/entry: Add TIF_NEED_FPU_LOAD (Prarit Bhargava) [1737070] - [x86] x86/fpu: Eager switch PKRU state (Prarit Bhargava) [1737070] - [x86] x86/pkeys: Don't check if PKRU is zero before writing it (Prarit Bhargava) [1737070] - [x86] x86/fpu: Only write PKRU if it is different from current (Prarit Bhargava) [1737070] - [x86] x86/pkeys: Provide *pkru() helpers (Prarit Bhargava) [1737070] - [x86] x86/fpu: Use a feature number instead of mask in two more helpers (Prarit Bhargava) [1737070] - [x86] x86/fpu: Make __raw_xsave_addr() use a feature number instead of mask (Prarit Bhargava) [1737070] - [x86] x86/fpu: Add an __fpregs_load_activate() internal helper (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove user_fpu_begin() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove fpu->initialized (Prarit Bhargava) [1737070] - [x86] x86/fpu: Don't save fxregs for ia32 frames in copy_fpstate_to_sigframe() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove fpu->initialized usage in copy_fpstate_to_sigframe() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Always init the state in fpu__clear() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove preempt_disable() in fpu__clear() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove fpu__restore() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove fpu->initialized usage in __fpu__restore_sig() (Prarit Bhargava) [1737070] - [x86] x86/entry: Remove unneeded need_resched() loop (Prarit Bhargava) [1737070] - [x86] x86/uaccess: Introduce user_access_{save, restore}() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Fix i486 + no387 boot crash by only saving FPU registers on context switch if there is an FPU (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove second definition of fpu in __fpu__restore_sig() (Prarit Bhargava) [1737070] - [net] udp: correct reuseport selection with connected sockets (Paolo Abeni) [1665807] - [net] udp6: add missing rehash callback to udplite (Paolo Abeni) [1665807] - [net] udp: add missing rehash callback to udplite (Paolo Abeni) [1665807] - [net] udp6: prefer listeners bound to an address (Paolo Abeni) [1665807] - [net] udp: prefer listeners bound to an address (Paolo Abeni) [1665807] - [net] sched: fix race between deactivation and dequeue for NOLOCK qdisc (Davide Caratti) [1744397] - [net] check extack._msg before print (Ivan Vecera) [1751279] - [net] report invalid mtu value via netlink extack (Ivan Vecera) [1751279] - [net] report min and max mtu network device settings (Ivan Vecera) [1751279] - [net] failover: change mtu has RTNL (Ivan Vecera) [1751279] - [net] neigh: fix multiple neigh timer scheduling (Lorenzo Bianconi) [1730632] - [net] virtchnl: fix 'Unknown bps' in dmesg for 2.5Gb/5Gb speeds (Ivan Vecera) [1748437] - [net] Add a define for LLDP ethertype (Ivan Vecera) [1748428] - [net] devlink: Add support for direct reporter health state update (Petr Oros) [1746363] - [netdrv] Add IANA_VXLAN_UDP_PORT definition to vxlan header file (Ivan Vecera) [1731347] - [netdrv] Move the definition of the default Geneve udp port to public header file (Ivan Vecera) [1731347] - [net] openvswitch: Add a new action check_pkt_len (Numan Siddique) [1700733]- [pci] PCI: Add pci_dev_id() helper (Myron Stowe) [1735874] - [netdrv] ibmvnic: Warn unknown speed message only when carrier is present (Steve Best) [1749873] - [netdrv] net/ibmvnic: Fix missing { in __ibmvnic_reset (Steve Best) [1749873] - [netdrv] net/ibmvnic: free reset work of removed device from queue (Steve Best) [1749873] - [netdrv] ibmvnic: Do not process reset during or after device removal (Steve Best) [1749873] - [cpufreq] cpufreq: intel_pstate: Show different max frequency with turbo 3 and HWP (Alexander Beregalov) [1752053] - [char] hpet: Fix missing '=' character in the __setup() code of hpet_mmap_enable (Prarit Bhargava) [1660796] - [hwtracing] intel_th: pci: Add support for another Lewisburg PCH (Jiri Olsa) [1714486] - [x86] x86/entry/32: Fix ENDPROC of common_spurious (Prarit Bhargava) [1730447] - [x86] x86/irq: Seperate unused system vectors from spurious entry again (Prarit Bhargava) [1730447] - [vfio] vfio/type1: Handle different mdev isolation type (Tarun Gupta) [1498341] - [vfio] vfio/type1: Add domain at(de)taching group helpers (Tarun Gupta) [1498341] - [vfio] vfio/mdev: Add iommu related member in mdev_device (Tarun Gupta) [1498341] - [documentation] ipmb: place it at driver-api and convert to ReST (Tony Camuso) [1752071] - [char] ipmi_si_intf: Fix race in timer shutdown handling (Tony Camuso) [1752071] - [char] ipmi_ssif: avoid registering duplicate ssif interface (Tony Camuso) [1752071] - [char] ipmi: Free receive messages when in an oops (Tony Camuso) [1752071] - [char] ipmi_si: Only schedule continuously in the thread in maintenance mode (Tony Camuso) [1752071] - [char] ipmi_si: Remove ipmi_ from the device attr names (Tony Camuso) [1752071] - [char] ipmi_si: Convert device attr permissions to octal (Tony Camuso) [1752071] - [char] ipmi_si: Rework some include files (Tony Camuso) [1752071] - [char] ipmi_si: Convert timespec64 to timespec (Tony Camuso) [1752071] - [char] Fix uninitialized variable in ipmb_dev_int.c (Tony Camuso) [1752071] - [char] fix platform_no_drv_owner.cocci warnings (Tony Camuso) [1752071] - [char] ipmi: ipmb: don't allocate i2c_client on stack (Tony Camuso) [1752071] - [char] ipmi: ipmb: Fix build error while CONFIG_I2C is set to m (Tony Camuso) [1752071] - [char] Add support for IPMB driver (Tony Camuso) [1752071] - [char] drivers: ipmi: Drop device reference (Tony Camuso) [1752071] - [char] ipmi_ssif: fix unexpected driver unregister warning (Tony Camuso) [1752071] - [char] Add SPDX license identifier - Makefile/Kconfig (Tony Camuso) [1752071] - [char] ipmi_si: use bool type for initialized variable (Tony Camuso) [1752071] - [char] ipmi_si: fix unexpected driver unregister warning (Tony Camuso) [1752071] - [char] ipmi: Remove warning if no slave address is present (Tony Camuso) [1752071] - [char] ipmi:ssif: Only unregister the platform driver if it was registered (Tony Camuso) [1752071] - [char] ipmi: Add the i2c-addr property for SSIF interfaces (Tony Camuso) [1752071] - [char] ipmi: avoid atomic_inc in exit function (Tony Camuso) [1752071] - [char] ipmi: Remove file from ipmi_file_private (Tony Camuso) [1752071] - [char] ipmi_si: remove an unused variable in try_smi_init() (Tony Camuso) [1752071] - [char] ipmi: Make ipmi_interfaces_srcu variable static (Tony Camuso) [1752071] - [char] ipmi: Change to ktime_get_ts64() (Tony Camuso) [1752071] - [char] ipmi: Free the address list on module cleanup (Tony Camuso) [1752071] - [edac] EDAC, skx, i10nm: Fix source ID register offset (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, i10nm: Check ECC enabling status per channel (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, i10nm: Add Intel additional Ice-Lake support (Aristeu Rozanski) [1485543 1482412] - [x86] x86/CPU: Add more Icelake model numbers (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx, i10nm: Make skx_common.c a pure library (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx_common: Add code to recognise new compound error code (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, i10nm: Fix randconfig builds (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, i10nm: Add a driver for Intel 10nm server processors (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx_edac: Delete duplicated code (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx_common: Separate common code out from skx_edac (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx: Let EDAC core show the decoded result for debugfs (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx: Move debugfs node under EDAC's hierarchy (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx: Prepend hex formatting with '0x' (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx: Fix function calling order in skx_exit() (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx_edac: Fix logical channel intermediate decoding (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, {i7core,sb,skx}_edac: Fix uncorrected error counting (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC: Correct DIMM capacity unit symbol (Aristeu Rozanski) [1485543 1482412] - [x86] x86/mce: Add notifier_block forward declaration (Aristeu Rozanski) [1485543 1482412] - [netdrv] net: thunderx: fix NULL pointer dereference in nicvf_open/nicvf_stop (Dean Nelson) [1657380] - [netdrv] net: thunder: fix a potential NULL pointer dereference (Dean Nelson) [1657380] - [netdrv] net: thunderx: remove link change polling code and info from nicpf (Dean Nelson) [1657380] - [netdrv] net: thunderx: move link state polling function to VF (Dean Nelson) [1657380] - [netdrv] net: thunderx: add mutex to protect mailbox from concurrent calls for same VF (Dean Nelson) [1657380] - [netdrv] net: thunderx: rework xcast message structure to make it fit into 64 bit (Dean Nelson) [1657380] - [netdrv] net: thunderx: add nicvf_send_msg_to_pf result check for set_rx_mode_task (Dean Nelson) [1657380] - [netdrv] net: thunderx: make CFG_DONE message to run through generic send-ack sequence (Dean Nelson) [1657380] - [netdrv] net: thunderx: replace global nicvf_rx_mode_wq work queue for all VFs to private for each of them. (Dean Nelson) [1657380] - [netdrv] net: thunderx: set tso_hdrs pointer to NULL in nicvf_free_snd_queue (Dean Nelson) [1657380] - [x86] perf/x86/intel/rapl: Cosmetic rename internal variables in response to multi-die/pkg support (David Arcari) [1616309] - [x86] perf/x86/intel/uncore: Cosmetic renames in response to multi-die/pkg support (David Arcari) [1616309] - [hwmon] hwmon/coretemp: Cosmetic: Rename internal variables to zones from packages (David Arcari) [1616309] - [thermal] thermal/x86_pkg_temp_thermal: Cosmetic: Rename internal variables to zones from packages (David Arcari) [1616309] - [x86] perf/x86/intel/cstate: Support multi-die/package (David Arcari) [1616309] - [x86] perf/x86/intel/rapl: Support multi-die/package (David Arcari) [1616309] - [x86] perf/x86/intel/uncore: Support multi-die/package (David Arcari) [1616309] - [topology] topology: Create core_cpus and die_cpus sysfs attributes (David Arcari) [1616309] - [topology] topology: Create package_cpus sysfs attribute (David Arcari) [1616309] - [hwmon] hwmon/coretemp: Support multi-die/package (David Arcari) [1616309] - [powercap] powercap/intel_rapl: Update RAPL domain name and debug messages (David Arcari) [1616309] - [thermal] thermal/x86_pkg_temp_thermal: Support multi-die/package (David Arcari) [1616309] - [powercap] powercap/intel_rapl: Support multi-die/package (David Arcari) [1616309] - [powercap] powercap/intel_rapl: Simplify rapl_find_package() (David Arcari) [1616309] - [x86] x86/topology: Define topology_logical_die_id() (David Arcari) [1616309] - [x86] x86/topology: Define topology_die_id() (David Arcari) [1616309] - [topology] cpu/topology: Export die_id (David Arcari) [1616309] - [x86] x86/topology: Create topology_max_die_per_package() (David Arcari) [1616309] - [x86] x86/topology: Add CPUID.1F multi-die/package support (David Arcari) [1616309] - [x86] x86/smpboot: Rename match_die() to match_pkg() (David Arcari) [1616309] - [documentation] topology: Simplify cputopology.txt formatting and wording (David Arcari) [1616309] - [documentation] x86/topology: Fix documentation typo (David Arcari) [1616309] - [mm] mm: remove stale comment from page struct (Rafael Aquini) [1737065] - [mm] mm/slab.c: fix an infinite loop in leaks_show() (Rafael Aquini) [1737065] - [mm] mm/slub.c: update the comment about slab frozen (Rafael Aquini) [1737065] - [mm] mm/slab.c: remove unneed check in cpuup_canceled (Rafael Aquini) [1737065] - [mm] slub: remove useless kmem_cache_debug() before remove_full() (Rafael Aquini) [1737065] - [mm] slab: use slab_list instead of lru (Rafael Aquini) [1737065] - [mm] slub: use slab_list instead of lru (Rafael Aquini) [1737065] - [mm] slob: use slab_list instead of lru (Rafael Aquini) [1737065] - [mm] slob: respect list_head abstraction layer (Rafael Aquini) [1737065] - [mm] slab: fix a crash by reading /proc/slab_allocators (Rafael Aquini) [1737065] - [mm] mm: add support for kmem caches in DMA32 zone (Rafael Aquini) [1737065] - [mm] mm, slub: make the comment of put_cpu_partial() complete (Rafael Aquini) [1737065] - [mm] mm/slub.c: remove an unused addr argument (Rafael Aquini) [1737065] - [mm] mm/slab.c: kmemleak no scan alien caches (Rafael Aquini) [1737065] - [mm] mm/slub.c: freelist is ensured to be NULL when new_slab() fails (Rafael Aquini) [1737065] - [mm] slab: alien caches must not be initialized if the allocation of the alien cache failed (Rafael Aquini) [1737065] - [mm] include/linux/slab.h: fix sparse warning in kmalloc_type() (Rafael Aquini) [1737065] - [mm] mm/slub.c: record final state of slub action in deactivate_slab() (Rafael Aquini) [1737065] - [mm] mm/slub.c: page is always non-NULL in node_match() (Rafael Aquini) [1737065] - [mm] mm/slub.c: remove validation on cpu_slab in __flush_cpu_slab() (Rafael Aquini) [1737065] - [mm] mm, slab: remove unnecessary unlikely() (Rafael Aquini) [1737065] - [mm] mm: move obj_to_index to include/linux/slab_def.h (Rafael Aquini) [1737065] - [mm] slab: make kmem_cache_create{_usercopy} description proper kernel-doc (Rafael Aquini) [1737065] - [mm] slub: extend slub debug to handle multiple slabs (Rafael Aquini) [1737065] - [mm] mm/slub.c: switch to bitmap_zalloc() (Rafael Aquini) [1737065] - [fs] io_uring: add need_resched() check in inner poll loop (Jeff Moyer) [1706143] - [fs] io_uring: don't enter poll loop if we have CQEs pending (Jeff Moyer) [1706143] - [fs] io_uring: fix potential hang with polled IO (Jeff Moyer) [1706143] - [fs] io_uring: fix an issue when IOSQE_IO_LINK is inserted into defer list (Jeff Moyer) [1706143] - [fs] io_uring: fix manual setup of iov_iter for fixed buffers (Jeff Moyer) [1706143] - [fs] io_uring: fix KASAN use after free in io_sq_wq_submit_work (Jeff Moyer) [1706143] - [fs] io_uring: ensure ->list is initialized for poll commands (Jeff Moyer) [1706143] - [fs] io_uring: track io length in async_list based on bytes (Jeff Moyer) [1706143] - [fs] io_uring: don't use iov_iter_advance() for fixed buffers (Jeff Moyer) [1706143] - [fs] io_uring: add a memory barrier before atomic_read (Jeff Moyer) [1706143] - [fs] io_uring: fix counter inc/dec mismatch in async_list (Jeff Moyer) [1706143] - [fs] io_uring: fix the sequence comparison in io_sequence_defer (Jeff Moyer) [1706143] - [fs] io_uring: fix io_sq_thread_stop running in front of io_sq_thread (Jeff Moyer) [1706143] - [include] io_uring: add support for recvmsg() (Jeff Moyer) [1706143] - [include] io_uring: add support for sendmsg() (Jeff Moyer) [1706143] - [fs] signal: remove the wrong signal_pending() check in restore_user_sigmask() (Jeff Moyer) [1706143] - [fs] io_uring: add support for sqe links (Jeff Moyer) [1706143] - [fs] io_uring: ensure req->file is cleared on allocation (Jeff Moyer) [1706143] - [fs] io_uring: fix memory leak of UNIX domain socket inode (Jeff Moyer) [1706143] - [fs] io_uring: punt short reads to async context (Jeff Moyer) [1706143] - [fs] uio: make import_iovec()/compat_import_iovec() return bytes on success (Jeff Moyer) [1706143] - [fs] io_uring: Fix __io_uring_register() false success (Jeff Moyer) [1706143] - [tools] tools/io_uring: sync with liburing (Jeff Moyer) [1706143] - [tools] tools/io_uring: fix Makefile for pthread library link (Jeff Moyer) [1706143] - [fs] io_uring: use wait_event_interruptible for cq_wait conditional wait (Jeff Moyer) [1706143] - [fs] io_uring: adjust smp_rmb inside io_cqring_events (Jeff Moyer) [1706143] - [fs] io_uring: fix infinite wait in khread_park() on io_finish_async() (Jeff Moyer) [1706143] - [fs] io_uring: remove 'ev_flags' argument (Jeff Moyer) [1706143] - [fs] io_uring: fix failure to verify SQ_AFF cpu (Jeff Moyer) [1706143] - [fs] io_uring: fix race condition reading SQE data (Jeff Moyer) [1706143] - [fs] io_uring: use cpu_online() to check p->sq_thread_cpu instead of cpu_possible() (Jeff Moyer) [1706143] - [fs] io_uring: fix shadowed variable ret return code being not checked (Jeff Moyer) [1706143] - [fs] req->error only used for iopoll (Jeff Moyer) [1706143] - [fs] io_uring: add support for eventfd notifications (Jeff Moyer) [1706143] - [fs] io_uring: add support for IORING_OP_SYNC_FILE_RANGE (Jeff Moyer) [1706143] - [fs] fs: add sync_file_range() helper (Jeff Moyer) [1706143] - [fs] io_uring: add support for marking commands as draining (Jeff Moyer) [1706143] - [fs] io_uring: avoid page allocation warnings (Jeff Moyer) [1706143] - [include] iov_iter: fix iov_iter_type (Jeff Moyer) [1706143] - [fs] block: fix handling for BIO_NO_PAGE_REF (Jeff Moyer) [1706143] - [fs] io_uring: drop req submit reference always in async punt (Jeff Moyer) [1706143] - [fs] io_uring: free allocated io_memory once (Jeff Moyer) [1706143] - [fs] io_uring: fix SQPOLL cpu validation (Jeff Moyer) [1706143] - [fs] io_uring: have submission side sqe errors post a cqe (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier after unsetting IORING_SQ_NEED_WAKEUP (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier after incrementing dropped counter (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier before reading SQ tail (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier after updating SQ head (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier before reading cq head (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier before wq_has_sleeper (Jeff Moyer) [1706143] - [fs] io_uring: fix notes on barriers (Jeff Moyer) [1706143] - [fs] io_uring: fix handling SQEs requesting NOWAIT (Jeff Moyer) [1706143] - [fs] io_uring: remove 'state' argument from io_{read,write} path (Jeff Moyer) [1706143] - [fs] io_uring: fix poll full SQ detection (Jeff Moyer) [1706143] - [fs] io_uring: fix race condition when sq threads goes sleeping (Jeff Moyer) [1706143] - [fs] io_uring: fix race condition reading SQ entries (Jeff Moyer) [1706143] - [fs] io_uring: fail io_uring_register(2) on a dying io_uring instance (Jeff Moyer) [1706143] - [fs] io_uring: fix CQ overflow condition (Jeff Moyer) [1706143] - [fs] io_uring: fix possible deadlock between io_uring_{enter,register} (Jeff Moyer) [1706143] - [powerpc] arch: add pidfd and io_uring syscalls everywhere (Jeff Moyer) [1706143] - [fs] io_uring: drop io_file_put() 'file' argument (Jeff Moyer) [1706143] - [fs] io_uring: only test SQPOLL cpu after we've verified it (Jeff Moyer) [1706143] - [fs] io_uring: park SQPOLL thread if it's percpu (Jeff Moyer) [1706143] - [fs] io_uring: restrict IORING_SETUP_SQPOLL to root (Jeff Moyer) [1706143] - [tools] tools/io_uring: remove IOCQE_FLAG_CACHEHIT (Jeff Moyer) [1706143] - [fs] io_uring: fix double free in case of fileset regitration failure (Jeff Moyer) [1706143] - [fs] io_uring: offload write to async worker in case of -EAGAIN (Jeff Moyer) [1706143] - [fs] io_uring: fix big-endian compat signal mask handling (Jeff Moyer) [1706143] - [fs] block: add BIO_NO_PAGE_REF flag (Jeff Moyer) [1706143] - [fs] iov_iter: add ITER_BVEC_FLAG_NO_REF flag (Jeff Moyer) [1706143] - [maintainers] io_uring: mark me as the maintainer (Jeff Moyer) [1706143] - [fs] io_uring: retry bulk slab allocs as single allocs (Jeff Moyer) [1706143] - [fs] io_uring: fix poll races (Jeff Moyer) [1706143] - [fs] io_uring: fix fget/fput handling (Jeff Moyer) [1706143] - [fs] io_uring: add prepped flag (Jeff Moyer) [1706143] - [fs] io_uring: make io_read/write return an integer (Jeff Moyer) [1706143] - [fs] io_uring: use regular request ref counts (Jeff Moyer) [1706143] - [fs] mm: refactor readahead defines in mm.h (Jeff Moyer) [1706143] - [tools] io_uring: add a few test tools (Jeff Moyer) [1706143] - [fs] io_uring: allow workqueue item to handle multiple buffered requests (Jeff Moyer) [1706143] - [fs] io_uring: add support for IORING_OP_POLL (Jeff Moyer) [1706143] - [fs] io_uring: add io_kiocb ref count (Jeff Moyer) [1706143] - [fs] io_uring: add submission polling (Jeff Moyer) [1706143] - [fs] io_uring: add file set registration (Jeff Moyer) [1706143] - [net] net: split out functions related to registering inflight socket files (Jeff Moyer) [1706143] - [include] io_uring: add support for pre-mapped user IO buffers (Jeff Moyer) [1706143] - [block] block: implement bio helper to add iter bvec pages to bio (Jeff Moyer) [1706143] - [fs] io_uring: batch io_kiocb allocation (Jeff Moyer) [1706143] - [fs] io_uring: use fget/fput_many() for file references (Jeff Moyer) [1706143] - [fs] fs: add fget_many() and fput_many() (Jeff Moyer) [1706143] - [fs] io_uring: support for IO polling (Jeff Moyer) [1706143] - [fs] io_uring: add fsync support (Jeff Moyer) [1706143] - [include] Add io_uring IO interface (Jeff Moyer) [1706143] - [fs] iomap: wire up the iopoll method (Jeff Moyer) [1706143] - [fs] block: add bio_set_polled() helper (Jeff Moyer) [1706143] - [fs] block: wire up block device iopoll method (Jeff Moyer) [1706143] - [fs] signal: Add restore_user_sigmask() (Jeff Moyer) [1706143] - [fs] signal: Add set_user_sigmask() (Jeff Moyer) [1706143] - [net] iov_iter: Fix 9p virtio breakage (Benjamin Coddington) [1734762] - [lib] iov_iter: Add I/O discard iterator (Benjamin Coddington) [1734762] - [fs] iov_iter: Separate type from direction and use accessor functions (Benjamin Coddington) [1734762] - [fs] iov_iter: Use accessor function (Benjamin Coddington) [1734762]- [kernel] ftrace/x86: Anotate text_mutex split between ftrace_arch_code_modify_post_process() and ftrace_arch_code_modify_prepare() (Joe Lawrence) [1696461] - [kernel] ftrace/x86: Remove possible deadlock between register_kprobe() and ftrace_run_update_code() (Joe Lawrence) [1696461] - [kernel] Revert "livepatch: Remove reliable stacktrace check in klp_try_switch_task()" (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: push and pop dynamic debug config (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: add test skip handling (Joe Lawrence) [1696461] - [kernel] module: Fix livepatch/ftrace module text permissions race (Joe Lawrence) [1696461] - [kernel] kprobes: Mark ftrace mcount handler functions nokprobe (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: Add functions.sh to TEST_PROGS_EXTENDED (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: use TEST_PROGS for test scripts (Joe Lawrence) [1696461] - [kernel] livepatch/selftests: use "$@" to preserve argument list (Joe Lawrence) [1696461] - [kernel] livepatch: Module coming and going callbacks can proceed with all listed patches (Joe Lawrence) [1696461] - [kernel] livepatch: Proper error handling in the shadow variables selftest (Joe Lawrence) [1696461] - [kernel] livepatch: return -ENOMEM on ptr_id() allocation failure (Joe Lawrence) [1696461] - [kernel] livepatch: Introduce klp_for_each_patch macro (Joe Lawrence) [1696461] - [kernel] livepatch: core: Return EOPNOTSUPP instead of ENOSYS (Joe Lawrence) [1696461] - [kernel] livepatch: samples: non static warnings fix (Joe Lawrence) [1696461] - [kernel] livepatch: Remove signal sysfs attribute (Joe Lawrence) [1696461] - [kernel] livepatch: Send a fake signal periodically (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: introduce tests (Joe Lawrence) [1696461] - [kernel] livepatch: Remove ordering (stacking) of the livepatches (Joe Lawrence) [1696461] - [kernel] livepatch: Atomic replace and cumulative patches documentation (Joe Lawrence) [1696461] - [kernel] livepatch: Remove Nop structures when unused (Joe Lawrence) [1696461] - [kernel] livepatch: Add atomic replace (Joe Lawrence) [1696461] - [kernel] livepatch: Use lists to manage patches, objects and functions (Joe Lawrence) [1696461] - [kernel] livepatch: Simplify API by removing registration step (Joe Lawrence) [1696461] - [kernel] livepatch: Don't block the removal of patches loaded after a forced transition (Joe Lawrence) [1696461] - [kernel] livepatch: Consolidate klp_free functions (Joe Lawrence) [1696461] - [kernel] livepatch: Shuffle klp_enable_patch()/klp_disable_patch() code (Joe Lawrence) [1696461] - [kernel] livepatch: Change unsigned long old_addr -> void *old_func in struct klp_func (Joe Lawrence) [1696461] - [kernel] livepatch: check kzalloc return values (Joe Lawrence) [1696461] - [kernel] livepatch: Replace synchronize_sched() with synchronize_rcu() (Joe Lawrence) [1696461] - [kernel] livepatch: Validate module/old func name length (Joe Lawrence) [1696461] - [kernel] livepatch: Remove reliable stacktrace check in klp_try_switch_task() (Joe Lawrence) [1696461] - [pci] PCI/LINK: Add Kconfig option (default off) (Myron Stowe) [1748141] - [pci] PCI/portdrv: Use shared MSI/MSI-X vector for Bandwidth Management (Myron Stowe) [1748141] - [pci] PCI: Fix issue with "pci=disable_acs_redir" parameter being ignored (Myron Stowe) [1748141] - [pci] PCI: Add function 1 DMA alias quirk for Marvell 9170 SATA controller (Myron Stowe) [1748141] - [pci] PCI/LINK: Deduplicate bandwidth reports for multi-function devices (Myron Stowe) [1748141] - [pci] PCI/LINK: Clear bandwidth notification interrupt before enabling it (Myron Stowe) [1748141] - [pci] PCI/LINK: Supply IRQ handler so level-triggered IRQs are acked (Myron Stowe) [1748141] - [pci] PCI/LINK: Report degraded links via link bandwidth notification (Myron Stowe) [1748141] - [pci] PCI/portdrv: Support PCIe services on subtractive decode bridges (Myron Stowe) [1748141] - [pci] PCI/portdrv: Use conventional Device ID table formatting (Myron Stowe) [1748141] - [pci] PCI: Update PCIEPORTBUS Kconfig help text (Myron Stowe) [1748141] - [pci] PCI: Clean up usage of __u32 type (Myron Stowe) [1748141] - [pci] PCI: Move Rohm Vendor ID to generic list (Myron Stowe) [1748141] - [pci] PCI: pciehp: Add HXT quirk for Command Completed errata (Myron Stowe) [1748141] - [pci] PCI: Add ACS quirk for HXT SD4800 (Myron Stowe) [1748141] - [pci] PCI: Add HXT vendor ID (Myron Stowe) [1748141] - [pci] PCI: Use of_node_name_eq() for node name comparisons (Myron Stowe) [1748141] - [pci] PCI: Mark expected switch fall-through (Myron Stowe) [1748141] - [pci] PCI: ibmphp: Turn semaphores into completions or mutexes (Myron Stowe) [1748141] - [pci] x86/PCI: Fixup RTIT_BAR of Intel Denverton Trace Hub (Myron Stowe) [1748141] - [pci] PCI: Rely on config space header type, not class code (Myron Stowe) [1748141] - [pci] PCI: Make pci_size() return real BAR size (Myron Stowe) [1748141] - [pci] PCI/DPC: Fix print AER status in DPC event handling (Myron Stowe) [1748141] - [pci] PCI/ASPM: Save LTR Capability for suspend/resume (Myron Stowe) [1748141] - [pci] PCI/ASPM: Use LTR if already enabled by platform (Myron Stowe) [1748141] - [pci] PCI: Enable SERR# forwarding for all bridges (Myron Stowe) [1748141] - [pci] PCI/AER: Use match_string() helper to simplify the code (Myron Stowe) [1748141] - [fs] gfs2: Use async glocks for rename (Robert S Peterson) [1737561] - [fs] gfs2: create function gfs2_glock_update_hold_time (Robert S Peterson) [1737561] - [fs] gfs2: separate holder for rgrps in gfs2_rename (Robert S Peterson) [1737561] - [netdrv] net: aquantia: reapply vlan filters on up (Igor Russkikh) [1740500] - [s390] s390/setup: Fix kernel lock down for s390 (Philipp Rudo) [1748343] - [powerpc] kvm: ppc: book3s hv: Fix XICS-on-XIVE H_IPI when priority = 0 (David Gibson) [1725800] - [s390] vfio-ap: fix irq registration (Thomas Huth) [1660910] - [s390] ap: kvm: Enable PQAP/AQIC facility for the guest (Thomas Huth) [1660910] - [s390] ap: implement PAPQ AQIC interception in kernel (Thomas Huth) [1660910] - [s390] vfio: ap: register IOMMU VFIO notifier (Thomas Huth) [1660910] - [s390] ap: kvm: add PQAP interception for AQIC (Thomas Huth) [1660910] - [s390] kvm: s390: Do not leak kernel stack data in the KVM_S390_INTERRUPT ioctl (Thomas Huth) [1749503] - [s390] kvm: s390: vsie: Return correct values for Invalid CRYCB format (Thomas Huth) [1749503] - [s390] kvm: s390: vsie: Do not shadow CRYCB when no AP and no keys (Thomas Huth) [1749503] - [s390] kvm: s390: change default halt poll time to 50us (Thomas Huth) [1749503] - [s390] kvm: s390: fix typo in parameter description (Thomas Huth) [1749503] - [s390] kvm: s390: provide kvm_arch_no_poll function (Thomas Huth) [1749503] - [kernel] kvm: polling: add architecture backend to disable polling (Thomas Huth) [1749503] - [s390] vtime: steal time exponential moving average (Thomas Huth) [1749503] - [tools] kvm: selftests: fix ucall on x86 (Thomas Huth) [1730412] - [tools] kvm: selftests: Test invalid bits in kvm_valid_regs and kvm_dirty_regs on s390x (Thomas Huth) [1730412] - [s390] kvm: s390: Disallow invalid bits in kvm_valid_regs and kvm_dirty_regs (Thomas Huth) [1730412] - [tools] kvm: selftests: Add a test for the KVM_S390_MEM_OP ioctl (Thomas Huth) [1730412] - [s390] kvm: s390: Test for bad access register and size at the start of S390_MEM_OP (Thomas Huth) [1730412] - [tools] kvm: selftests: Enable dirty_log_test on s390x (Thomas Huth) [1730412] - [tools] kvm: selftests: Implement ucall() for s390x (Thomas Huth) [1730412] - [tools] kvm: selftests: Split ucall.c into architecture specific files (Thomas Huth) [1730412] - [tools] kvm: selftests: ucall improvements (Thomas Huth) [1730412] - [tools] kvm: selftests: aarch64: dirty_log_test: fix unaligned memslot size (Thomas Huth) [1730412] - [tools] kvm: selftests: Compile code with warnings enabled (Thomas Huth) [1730412] - [tools] kvm: selftests: enable pgste option for the linker on s390 (Thomas Huth) [1730412] - [tools] kvm: selftests: Move kvm_create_max_vcpus test to generic code (Thomas Huth) [1730412] - [virt] kvm: s390: Do not report unusabled IDs via KVM_CAP_MAX_VCPU_ID (Thomas Huth) [1730412] - [documentation] kvm: move KVM_CAP_NR_MEMSLOTS to common code (Thomas Huth) [1730412] - [tools] kvm: selftests: Add the sync_regs test for s390x (Thomas Huth) [1730412] - [s390] kvm: s390: fix memory slot handling for KVM_SET_USER_MEMORY_REGION (Thomas Huth) [1730412] - [tools] kvm: selftests: Add processor code for s390x (Thomas Huth) [1730412] - [tools] kvm: selftests: Align memory region addresses to 1M on s390x (Thomas Huth) [1730412] - [tools] kvm: selftests: Introduce a VM_MODE_DEFAULT macro for the default bits (Thomas Huth) [1730412] - [tools] kvm: selftests: aarch64: fix default vm mode (Thomas Huth) [1730412] - [tools] kvm: selftests: Guard struct kvm_vcpu_events with __KVM_HAVE_VCPU_EVENTS (Thomas Huth) [1730412] - [tools] kvm: selftests: Wrap vcpu_nested_state_get/set functions with x86 guard (Thomas Huth) [1730412]- [fs] xfs: fix missing ILOCK unlock when xfs_setattr_nonsize fails due to EDQUOT (Bill O'Donnell) [1739607] - [fs] xfs: fix reflink source file racing with directio writes (Bill O'Donnell) [1739607] - [fs] xfs: implement cgroup aware writeback (Bill O'Donnell) [1274406] - [fs] xfs: simplify xfs_chain_bio (Bill O'Donnell) [1274406] - [fs] xfs: inode btree scrubber should calculate im_boffset correctly (Bill O'Donnell) [1739607] - [fs] xfs: fix broken log reservation debugging (Bill O'Donnell) [1739607] - [fs] xfs: don't reserve per-AG space for an internal log (Bill O'Donnell) [1739607] - [fs] xfs: change some error-less functions to void types (Bill O'Donnell) [1739607] - [fs] xfs: add online scrub for superblock counters (Bill O'Donnell) [1739607] - [fs] xfs: don't parse the mtpt mount option (Bill O'Donnell) [1739607] - [fs] xfs: scrub should check incore counters against ondisk headers (Bill O'Donnell) [1739607] - [fs] xfs: allow scrubbers to pause background reclaim (Bill O'Donnell) [1739607] - [fs] xfs: rename the speculative block allocation reclaim toggle functions (Bill O'Donnell) [1739607] - [fs] xfs: track delayed allocation reservations across the filesystem (Bill O'Donnell) [1739607] - [fs] xfs: fix broken bhold behavior in xrep_roll_ag_trans (Bill O'Donnell) [1739607] - [fs] xfs: unlock inode when xfs_ioctl_setattr_get_trans can't get transaction (Bill O'Donnell) [1739607] - [fs] xfs: kill the xfs_dqtrx_t typedef (Bill O'Donnell) [1739607] - [fs] xfs: widen inode delalloc block counter to 64-bits (Bill O'Donnell) [1739607] - [fs] xfs: widen quota block counters to 64-bit integers (Bill O'Donnell) [1739607] - [fs] xfs: assert that we don't enter agfl freeing with a non-permanent transaction (Bill O'Donnell) [1739607] - [fs] xfs: make tr_growdata a permanent transaction (Bill O'Donnell) [1739607] - [fs] xfs: merge adjacent io completions of the same type (Bill O'Donnell) [1739607] - [fs] xfs: remove unused m_data_workqueue (Bill O'Donnell) [1739607] - [fs] xfs: implement per-inode writeback completion queues (Bill O'Donnell) [1739607] - [fs] xfs: scrub should only cross-reference with healthy btrees (Bill O'Donnell) [1739607] - [fs] xfs: scrub/repair should update filesystem metadata health (Bill O'Donnell) [1739607] - [fs] xfs: hoist the already_fixed variable to the scrub context (Bill O'Donnell) [1739607] - [fs] xfs: collapse scrub bool state flags into a single unsigned int (Bill O'Donnell) [1739607] - [fs] xfs: refactor scrub context initialization (Bill O'Donnell) [1739607] - [fs] xfs: report inode health via bulkstat (Bill O'Donnell) [1739607] - [fs] xfs: report AG health via AG geometry ioctl (Bill O'Donnell) [1739607] - [fs] xfs: report fs and rt health via geometry structure (Bill O'Donnell) [1739607] - [fs] xfs: add a new ioctl to describe allocation group geometry (Bill O'Donnell) [1739607] - [fs] xfs: bump XFS_IOC_FSGEOMETRY to v5 structures (Bill O'Donnell) [1739607] - [fs] xfs: clear BAD_SUMMARY if unmounting an unhealthy filesystem (Bill O'Donnell) [1739607] - [fs] xfs: replace the BAD_SUMMARY mount flag with the equivalent health code (Bill O'Donnell) [1739607] - [fs] xfs: track metadata health status (Bill O'Donnell) [1739607] - [fs] xfs,fstrim: fix to return correct minlen (Bill O'Donnell) [1739607] - [fs] xfs: shutdown after buf release in iflush cluster abort path (Bill O'Donnell) [1739607] - [fs] xfs: wake commit waiters on CIL abort before log item abort (Bill O'Donnell) [1739607] - [fs] xfs: fix btree scrub checking with regards to root-in-inode (Bill O'Donnell) [1739607] - [fs] xfs: dabtree scrub needs to range-check level (Bill O'Donnell) [1739607] - [fs] xfs: clean up xfs_dir2_leaf_addname (Bill O'Donnell) [1739607] - [fs] xfs: zero initialize highstale and lowstale in xfs_dir2_leaf_addname (Bill O'Donnell) [1739607] - [fs] xfs: clean up xfs_dir2_leafn_add (Bill O'Donnell) [1739607] - [fs] xfs: Zero initialize highstale and lowstale in xfs_dir2_leafn_add (Bill O'Donnell) [1739607] - [fs] xfs: fix backwards endian conversion in scrub (Bill O'Donnell) [1739607] - [fs] xfs: fix uninitialized error variables (Bill O'Donnell) [1739607] - [fs] xfs: rework breaking of shared extents in xfs_file_iomap_begin (Bill O'Donnell) [1739607] - [fs] xfs: don't pass iomap flags to xfs_reflink_allocate_cow (Bill O'Donnell) [1739607] - [fs] xfs: fix uninitialized error variable (Bill O'Donnell) [1739607] - [fs] xfs: introduce an always_cow mode (Bill O'Donnell) [1739607] - [fs] xfs: report IOMAP_F_SHARED from xfs_file_iomap_begin_delay (Bill O'Donnell) [1739607] - [fs] xfs: make COW fork unwritten extent conversions more robust (Bill O'Donnell) [1739607] - [fs] xfs: merge COW handling into xfs_file_iomap_begin_delay (Bill O'Donnell) [1739607] - [fs] xfs: also truncate holes covered by COW blocks (Bill O'Donnell) [1739607] - [fs] xfs: don't use delalloc extents for COW on files with extsize hints (Bill O'Donnell) [1739607] - [fs] xfs: fix SEEK_DATA for speculative COW fork preallocation (Bill O'Donnell) [1739607] - [fs] xfs: make xfs_bmbt_to_iomap more useful (Bill O'Donnell) [1739607] - [fs] xfs: fix xfs_buf magic number endian checks (Bill O'Donnell) [1739607] - [fs] xfs: retry COW fork delalloc conversion when no extent was found (Bill O'Donnell) [1739607] - [fs] xfs: remove the truncate short cut in xfs_map_blocks (Bill O'Donnell) [1739607] - [fs] xfs: move xfs_iomap_write_allocate to xfs_aops.c (Bill O'Donnell) [1739607] - [fs] xfs: move stat accounting to xfs_bmapi_convert_delalloc (Bill O'Donnell) [1739607] - [fs] xfs: move transaction handling to xfs_bmapi_convert_delalloc (Bill O'Donnell) [1739607] - [fs] xfs: split XFS_BMAPI_DELALLOC handling from xfs_bmapi_write (Bill O'Donnell) [1739607] - [fs] xfs: factor out two helpers from xfs_bmapi_write (Bill O'Donnell) [1739607] - [fs] xfs: simplify the xfs_bmap_btree_to_extents calling conventions (Bill O'Donnell) [1739607] - [fs] xfs: remove the s_maxbytes checks in xfs_map_blocks (Bill O'Donnell) [1739607] - [fs] xfs: remove the io_type field from the writeback context and ioend (Bill O'Donnell) [1739607] - [fs] xfs: compile time offset checks for common v4/v5 metadata (Bill O'Donnell) [1739607] - [fs] xfs: use buf ops magic to detect btree block type (Bill O'Donnell) [1739607] - [fs] xfs: add magic numbers to dquot buffer ops (Bill O'Donnell) [1739607] - [fs] xfs: add inode magic to inode verifier (Bill O'Donnell) [1739607] - [fs] xfs: factor xfs_da3_blkinfo verification into common helper (Bill O'Donnell) [1739607] - [fs] xfs: miscellaneous verifier magic value fixups (Bill O'Donnell) [1739607] - [fs] xfs: use verifier magic field in dir2 leaf verifiers (Bill O'Donnell) [1739607] - [fs] xfs: distinguish between bnobt and cntbt magic values (Bill O'Donnell) [1739607] - [fs] xfs: split up allocation btree verifier (Bill O'Donnell) [1739607] - [fs] xfs: distinguish between inobt and finobt magic values (Bill O'Donnell) [1739607] - [fs] xfs: create a separate finobt verifier (Bill O'Donnell) [1739607] - [fs] xfs: always check magic values in on-disk byte order (Bill O'Donnell) [1739607] - [fs] xfs: clarify documentation for the function to reverify buffers (Bill O'Donnell) [1739607] - [fs] xfs: cache unlinked pointers in an rhashtable (Bill O'Donnell) [1739607] - [fs] xfs: add tracepoints for high level iunlink operations (Bill O'Donnell) [1739607] - [fs] xfs: refactor inode update in iunlink_remove (Bill O'Donnell) [1739607] - [fs] xfs: refactor unlinked list search and mapping to a separate function (Bill O'Donnell) [1739607] - [fs] xfs: refactor inode unlinked pointer update functions (Bill O'Donnell) [1739607] - [fs] xfs: strengthen AGI unlinked inode bucket pointer checks (Bill O'Donnell) [1739607] - [fs] xfs: refactor AGI unlinked bucket updates (Bill O'Donnell) [1739607] - [fs] xfs: add xfs_verify_agino_or_null helper (Bill O'Donnell) [1739607] - [fs] xfs: clean up iunlink functions (Bill O'Donnell) [1739607] - [fs] xfs: Introduce XFS_PTAG_VERIFIER_ERROR panic mask (Bill O'Donnell) [1739607] - [fs] xfs: remove duplicated xfs_defer.h (Bill O'Donnell) [1739607] - [fs] xfs: check attribute name validity (Bill O'Donnell) [1739607] - [fs] xfs: check directory name validity (Bill O'Donnell) [1739607] - [fs] xfs: fix off-by-one error in rtbitmap cross-reference (Bill O'Donnell) [1739607] - [fs] xfs: scrub should flag dir/attr offsets that aren't mappable with xfs_dablk_t (Bill O'Donnell) [1739607] - [fs] xfs: abort xattr scrub if fatal signals are pending (Bill O'Donnell) [1739607] - [fs] xfs: consolidate scrub dinode mapping code into a single function (Bill O'Donnell) [1739607] - [fs] xfs: scrub big block inode btrees correctly (Bill O'Donnell) [1739607] - [fs] xfs: clean up the inode cluster checking in the inobt scrub (Bill O'Donnell) [1739607] - [fs] xfs: hoist inode cluster checks out of loop (Bill O'Donnell) [1739607] - [fs] xfs: check inobt record alignment on big block filesystems (Bill O'Donnell) [1739607] - [fs] xfs: check the ir_startino alignment directly (Bill O'Donnell) [1739607] - [fs] xfs: never try to scrub more than 64 inodes per inobt record (Bill O'Donnell) [1739607] - [powerpc] powerpc: Allow flush_(inval_)dcache_range to work across ranges >4GB (Steve Best) [1744062] - [scsi] scsi: lpfc: Fix port relogin failure due to GID_FT interaction (Dick Kennedy) [1733217] - [rpmspec] redhat: Fix error messages during build of zfcpdump kernel (Philipp Rudo) [1745652] - [s390] s390/protvirt: avoid memory sharing for diag 308 set/store (Philipp Rudo) [1745614] - [infiniband] IB/hfi1: Remove extra brackets from an if (Petr Oros) [1737066] - [documentation] docs/memory-barriers.txt: Update I/O section to be clearer about CPU vs thread (Petr Oros) [1737066] - [documentation] docs/memory-barriers.txt: Fix style, spacing and grammar in I/O section (Petr Oros) [1737066] - [powerpc] arch: Remove dummy mmiowb() definitions from arch code (Petr Oros) [1737066] - [netdrv] net/ethernet/silan/sc92031: Remove stale comment about mmiowb() (Petr Oros) [1737066] - [infiniband] i40iw: Redefine i40iw_mmiowb() to do nothing (Petr Oros) [1737066] - [scsi] scsi/qla1280: Remove stale comment about mmiowb() (Petr Oros) [1737066] - [netdrv] drivers: Remove explicit invocations of mmiowb() (Petr Oros) [1737066] - [infiniband] drivers: Remove useless trailing comments from mmiowb() invocations (Petr Oros) [1737066] - [documentation] Documentation: Kill all references to mmiowb() (Petr Oros) [1737066] - [riscv] riscv/mmiowb: Hook up mmwiob() implementation to asm-generic code (Petr Oros) [1737066] - [powerpc] powerpc/mmiowb: Hook up mmwiob() implementation to asm-generic code (Petr Oros) [1737066] - [nds32] nds32/io: Remove useless definition of mmiowb() (Petr Oros) [1737066] - [x86] x86/io: Remove useless definition of mmiowb() (Petr Oros) [1737066] - [arm64] arm64/io: Remove useless definition of mmiowb() (Petr Oros) [1737066] - [include] mmiowb: Hook up mmiowb helpers to spinlocks and generic I/O accessors (Petr Oros) [1737066] - [arm64] arch: Use asm-generic header for asm/mmiowb.h (Petr Oros) [1737066] - [kernel] asm-generic/mmiowb: Add generic implementation of mmiowb() tracking (Petr Oros) [1737066] - [documentation] docs/memory-barriers.txt: Rewrite "KERNEL I/O BARRIER EFFECTS" section (Petr Oros) [1737066] - [s390] s390/cpum_sf: save TOD clock base in SDBs for time conversion (Philipp Rudo) [1743504] - [net] netns: provide pure entropy for net_hash_mix() (Paolo Abeni) [1737439] {CVE-2019-10639} - [net] netns: get more entropy from net_hash_mix() (Paolo Abeni) [1737439] {CVE-2019-10639} - [netdrv] net: phy: improve pause handling (Petr Oros) [1735763] - [netdrv] net: phy: fix reading fixed phy status (Petr Oros) [1735763] - [netdrv] net: phy: allow a PHY driver to define neither features nor get_features (Petr Oros) [1735763] - [netdrv] net: phy: Add support for asking the PHY its abilities (Petr Oros) [1735763] - [netdrv] net: phy: use genphy_read_abilities in genphy driver (Petr Oros) [1735763] - [netdrv] net: phy: add genphy_read_abilities (Petr Oros) [1735763] - [netdrv] net: phy: let genphy_c45_read_abilities also check aneg capability (Petr Oros) [1735763] - [netdrv] net: phy: Add generic support for 2.5GBaseT and 5GBaseT (Petr Oros) [1735763] - [netdrv] net: phy: Extract genphy_c45_pma_read_abilities from marvell10g (Petr Oros) [1735763] - [netdrv] net: phy: Move of_set_phy_eee_broken to phy-core.c (Petr Oros) [1735763] - [netdrv] net: phy: Mask-out non-compatible modes when setting the max-speed (Petr Oros) [1735763] - [netdrv] net: phy: don't allow __set_phy_supported to add unsupported modes (Petr Oros) [1735763] - [netdrv] net: phy: remove unneeded masking of PHY register read results (Petr Oros) [1735763] - [netdrv] net: phy: probe the PHY before determining the supported features (Petr Oros) [1735763] - [rpmspec] fix package summary and description for some kernel subpackages ("Herton R. Krzesinski") [1656863] - [fs] mm/huge_memory: fix vmf_insert_pfn_{pmd, pud}() crash, handle unaligned addresses (Jeff Moyer) [1743159] - [mm] mm/huge_memory.c: fix modifying of page protection by insert_pfn_pmd() (Jeff Moyer) [1743159] - [arm64] arm64: disable improved unwind tables (Mark Langsdorf) [1684694] - [arm64] arm64/stacktrace: Export save_stack_trace_regs() (Mark Langsdorf) [1684694] - [fs] nfs4: flex_file: ignore synthetic uid/gid for tightly coupled DSes (Steve Dickson) [1655712] - [include] futex: Update comments and docs about return values of arch futex code (Waiman Long) [1737058] - [arm64] arm64: futex: Avoid copying out uninitialised stack in failed cmpxchg() (Waiman Long) [1737058] - [arm64] arm64: futex: Bound number of LDXR/STXR loops in FUTEX_WAKE_OP (Waiman Long) [1737058] - [kernel] locking/futex: Allow low-level atomic operations to return -EAGAIN (Waiman Long) [1737058] - [arm64] arm64: futex: Fix FUTEX_WAKE_OP atomic ops with non-zero result value (Waiman Long) [1737058] - [kernel] futex: Ensure that futex address is aligned in handle_futex_death() (Waiman Long) [1737058] - [kernel] futex: Convert futex_pi_state.refcount to refcount_t (Waiman Long) [1737058] - [kernel] sched/wake_q: Reduce reference counting for special users (Waiman Long) [1737058] - [kernel] sched/wake_q: Add branch prediction hint to wake_q_add() cmpxchg (Waiman Long) [1737058] - [kernel] futex: No need to check return value of debugfs_create functions (Waiman Long) [1737058] - [kernel] futex: Handle early deadlock return correctly (Waiman Long) [1737058] - [kernel] futex: Fix barrier comment (Waiman Long) [1737058] - [kernel] futex: Cure exit race (Waiman Long) [1737058] - [kernel] futex: Replace spin_is_locked() with lockdep (Waiman Long) [1737058] - [kernel] futex: Mark expected switch fall-throughs (Waiman Long) [1737058] - [kernel] sched/deadline: Correctly handle active 0-lag timers (Phil Auld) [1735907] - [include] build_bug.h: add wrapper for _Static_assert (Ivan Vecera) [1735752] - [include] build_bug.h: remove most of dummy BUILD_BUG_ON stubs for Sparse (Ivan Vecera) [1735752] - [include] build_bug.h: remove negative-array fallback for BUILD_BUG_ON() (Ivan Vecera) [1735752] - [mm] percpu: remove spurious lock dependency between percpu and sched (Rafael Aquini) [1731180] - [mm] percpu: use chunk scan_hint to skip some scanning (Rafael Aquini) [1731180] - [mm] percpu: convert chunk hints to be based on pcpu_block_md (Rafael Aquini) [1731180] - [mm] percpu: make pcpu_block_md generic (Rafael Aquini) [1731180] - [mm] percpu: use block scan_hint to only scan forward (Rafael Aquini) [1731180] - [mm] percpu: remember largest area skipped during allocation (Rafael Aquini) [1731180] - [mm] percpu: add block level scan_hint (Rafael Aquini) [1731180] - [mm] percpu: set PCPU_BITMAP_BLOCK_SIZE to PAGE_SIZE (Rafael Aquini) [1731180] - [mm] percpu: relegate chunks unusable when failing small allocations (Rafael Aquini) [1731180] - [mm] percpu: manage chunks based on contig_bits instead of free_bytes (Rafael Aquini) [1731180] - [mm] percpu: introduce helper to determine if two regions overlap (Rafael Aquini) [1731180] - [mm] percpu: do not search past bitmap when allocating an area (Rafael Aquini) [1731180] - [mm] percpu: update free path with correct new free region (Rafael Aquini) [1731180] - [mm] mm/percpu: add checks for the return value of memblock_alloc*() (Rafael Aquini) [1731180] - [mm] percpu: km: no need to consider pcpu_group_offsets[0] (Rafael Aquini) [1731180] - [mm] percpu: use nr_groups as check condition (Rafael Aquini) [1731180] - [mm] percpu: convert spin_lock_irq to spin_lock_irqsave. (Rafael Aquini) [1731180] - [mm] mm: percpu: remove unnecessary unlikely() (Rafael Aquini) [1731180] - [fs] /proc/meminfo: add percpu populated pages count (Rafael Aquini) [1731180] - [netdrv] tg3: Use napi_alloc_frag() (Jonathan Toppins) [1724774] - [fs] fuse: fix copy_file_range() in the writeback case (Miklos Szeredi) [1650518] - [fs] fuse: add support for copy_file_range() (Miklos Szeredi) [1650518]- [x86] perf/x86/intel: Fix spurious NMI on fixed counter (Michael Petlan) [1755110] - [x86] perf/x86/intel: Fix race in intel_pmu_disable_event() (Michael Petlan) [1755110] - [netdrv] drivers: tap.c: fix wrong backport causing WARN_ON_ONCE(1) in skb_flow_dissect() (Davide Caratti) [1750711] - [virt] KVM: coalesced_mmio: add bounds checking (Bandan Das) [1746804] {CVE-2019-14821}- [fs] gfs2: clear buf_in_tr when ending a transaction in sweep_bh_for_rgrps (Robert S Peterson) [1750939] - [s390] kvm: s390: kvm_s390_vm_start_migration: check dirty_bitmap before using it as target for memset() (Thomas Huth) [1753260] - [fs] cifs: fix credits leak for SMB1 oplock breaks (Leif Sahlberg) [1752243]- Revert "[redhat] switch secureboot kernel image signing to release keys" (Phillip Lougher) - [iommu] iommu/amd: Add support for X2APIC IOMMU interrupts (Suravee Suthikulpanit) [1734842] - [vhost] vhost: make sure log_num < in_num (Eugenio Perez) [1750882] {CVE-2019-14835}- [kernel] open the RHEL 8.2 development (Phillip Lougher) - [md] Revert "[md] dm: eliminate 'split_discard_bios' flag from DM target interface" (Mike Snitzer) [1749929] - [md] Revert "[md] dm: make sure to obey max_io_len_target_boundary" (Mike Snitzer) [1749929] - [pci] PCI: Restore Resizable BAR size bits correctly for 1MB BARs (Myron Stowe) [1717760] - [net] netfilter: nft_fib_netdev: Terminate rule eval if protocol=IPv6 and ipv6 module is disabled (Phil Sutter) [1743945] - [net] netfilter: bridge: Drops IPv6 packets if IPv6 module is not loaded (Phil Sutter) [1743945] - [drm] drm/qxl: get vga ioports (Gerd Hoffmann) [1728936] - [drm] drm/i915: Call dma_set_max_seg_size() in i915_driver_hw_probe() (Lyude Paul) [1724363]- [md] Revert "[md] dm: eliminate 'split_discard_bios' flag from DM target interface" (Mike Snitzer) [1749929] - [md] Revert "[md] dm: make sure to obey max_io_len_target_boundary" (Mike Snitzer) [1749929] - [pci] PCI: Restore Resizable BAR size bits correctly for 1MB BARs (Myron Stowe) [1717760] - [net] netfilter: nft_fib_netdev: Terminate rule eval if protocol=IPv6 and ipv6 module is disabled (Phil Sutter) [1743945] - [net] netfilter: bridge: Drops IPv6 packets if IPv6 module is not loaded (Phil Sutter) [1743945] - [drm] drm/qxl: get vga ioports (Gerd Hoffmann) [1728936] - [drm] drm/i915: Call dma_set_max_seg_size() in i915_driver_hw_probe() (Lyude Paul) [1724363]- [net] netfilter: nft_set: fix allocation size overflow in privsize callback. (Florian Westphal) [1746338] - [net] net: route dump netlink NLM_F_MULTI flag missing (Stefano Brivio) [1745971] - [net] sched: pfifo_fast: fix wrong dereference in pfifo_fast_enqueue (Davide Caratti) [1745390] - [net] sched: pfifo_fast: fix wrong dereference when qdisc is reset (Davide Caratti) [1745387] - [scsi] scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck() (David Milburn) [1746597]- [drm] drm/virtio: use virtio_max_dma_size (Gerd Hoffmann) [1739291] - [mm] hwpoison, memory_hotplug: allow hwpoisoned pages to be offlined (Rafael Aquini) [1706088] - [powerpc] kvm: ppc: book3s: Enable XIVE native capability only if OPAL has required functions [BZ1744884] (David Gibson) [1744884] - [scsi] scsi: lpfc: Fix oops when fewer hdwqs than cpus (Dick Kennedy) [1745731] - [scsi] scsi: lpfc: Limit xri count for kdump environment (Dick Kennedy) [1745731] - [scsi] scsi: lpfc: Mitigate high memory pre-allocation by SCSI-MQ (Dick Kennedy) [1745731] - [scsi] scsi: qla2xxx: Fix hardirq-unsafe locking (Himanshu Madhani) [1719941] - [x86] Revert "[x86] x86/kexec/64: Prevent kexec from 5-level paging to a 4-level only kernel" (Baoquan He) [1669088] - [x86] Revert "[x86] x86/boot: Add xloadflags bits to check for 5-level paging support" (Baoquan He) [1669088]- [wireless] mwifiex: fix 802.11n/WPA detection (Jarod Wilson) [1714476] {CVE-2019-3846}- [x86] x86/kdump: Reserve extra memory when SME or SEV is active (Kairui Song) [1728519] - [scsi] scsi: qla2xxx: Fix hardlockup in abort command during driver remove (Himanshu Madhani) [1690041] - [scsi] qla2xxx: Update driver version to 10.01.00.15.08.1-k1 (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix panic from use after free in qla2x00_async_tm_cmd (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: cleanup trace buffer initialization (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: qla2x00_alloc_fw_dump: set ha->eft (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Use mutex protection during qla2x00_sysfs_read_fw_dump() (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: move IO flush to the front of NVME rport unregistration (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix NVME cmd and LS cmd timeout race condition (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Complain loudly about reference count underflow (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix race conditions in the code for aborting SCSI commands (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Use an on-stack completion in qla24xx_control_vp() (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Change abort wait_loop from msleep to wait_event_timeout (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Set the SCSI command result before calling the command done (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: on session delete, return nvme cmd (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix kernel crash after disconnecting NVMe devices (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Remove the fcport test from qla_nvme_abort_work() (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix driver unload when FC-NVMe LUNs are connected (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Set remote port devloss timeout to 0 (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix panic in qla_dfs_tgt_counters_show (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix fw dump corruption (Himanshu Madhani) [1690041] - [x86] kvm: disable nested virt on pre-haswell processors (Paolo Bonzini) [1739739] - [x86] kvm: taint kernel for tech-preview when using nested virtualization (Paolo Bonzini) [1739739] - [x86] kvm: x86: hyper-v: don't crash on KVM_GET_SUPPORTED_HV_CPUID when kvm_intel.nested is disabled (Vitaly Kuznetsov) [1746100]- [char] ipmi: move message error checking to avoid deadlock (Tony Camuso) [1731388 1718699] - [crypto] crypto: testmgr - mark crc32 checksum as FIPS allowed (Neil Horman) [1738887] - [include] dma-mapping: use dma_get_mask in dma_addressing_limited (Don Dutile) [1738631] - [kernel] dma-direct: correct the physical addr in dma_direct_sync_sg_for_cpu/device (Don Dutile) [1738631] - [kernel] dma-direct: only limit the mapping size if swiotlb could be used (Don Dutile) [1738631] - [include] dma-mapping: add a dma_addressing_limited helper (Don Dutile) [1738631] - [kernel] dma-direct: Force unencrypted DMA under SME for certain DMA masks (Don Dutile) [1738631] - [lib] lib/genalloc: introduce chunk owners (Don Dutile) [1738631] - [lib] lib/genalloc: add gen_pool_dma_zalloc() for zeroed DMA allocations (Don Dutile) [1738631] - [lib] lib/genalloc.c: fix allocation of aligned buffer from non-aligned chunk (Don Dutile) [1738631] - [include] dma-mapping: remove dma_max_pfn (Don Dutile) [1738631] - [mmc] mmc: core: let the dma map ops handle bouncing (Don Dutile) [1738631] - [mmc] mmc: core: align max segment size with logical block size (Don Dutile) [1738631] - [kernel] swiotlb: no need to check return value of debugfs_create functions (Don Dutile) [1738631] - [xen] swiotlb: fix phys_addr_t overflow warning (Don Dutile) [1738631] - [kernel] swiotlb: Return consistent SWIOTLB segments/nr_tbl (Don Dutile) [1738631] - [kernel] swiotlb: Group identical cleanup in swiotlb_cleanup() (Don Dutile) [1738631] - [kernel] swiotlb: save io_tlb_used to local variable before leaving critical section (Don Dutile) [1738631] - [kernel] swiotlb: dump used and total slots when swiotlb buffer is full (Don Dutile) [1738631] - [kernel] swiotlb: add checks for the return value of memblock_alloc*() (Don Dutile) [1738631] - [kernel] swiotlb: add debugfs to track swiotlb buffer usage (Don Dutile) [1738631] - [kernel] dma-direct: fix DMA_ATTR_NO_KERNEL_MAPPING (Don Dutile) [1738631] - [kernel] dma-direct: handle DMA_ATTR_NO_KERNEL_MAPPING in common code (Don Dutile) [1738631] - [kernel] dma-direct: fix DMA_ATTR_NO_KERNEL_MAPPING for remapped allocations (Don Dutile) [1738631] - [kernel] dma-mapping: remove a pointless memset in dma_atomic_pool_init (Don Dutile) [1738631] - [kernel] dma-mapping: fix lack of DMA address assignment in generic remap allocator (Don Dutile) [1738631] - [kernel] dma-remap: support DMA_ATTR_NO_KERNEL_MAPPING (Don Dutile) [1738631] - [kernel] dma-mapping: support highmem in the generic remap allocator (Don Dutile) [1738631] - [kernel] dma-direct: handle DMA_ATTR_NON_CONSISTENT in common code (Don Dutile) [1738631] - [kernel] dma-mapping: add a dma_alloc_need_uncached helper (Don Dutile) [1738631] - [kernel] dma-mapping: truncate dma masks to what dma_addr_t can hold (Don Dutile) [1738631] - [kernel] dma-remap: Avoid de-referencing NULL atomic_pool (Don Dutile) [1738631] - [include] dma-buf: add DMA_BUF_SET_NAME ioctls (Don Dutile) [1738631] - [include] dma-buf: give each buffer a full-fledged inode (Don Dutile) [1738631] - [fs] new wrapper: alloc_file_pseudo() (Don Dutile) [1738631] - [kernel] dma-direct: provide generic support for uncached kernel segments (Don Dutile) [1738631] - [include] dma-contiguous: fix !CONFIG_DMA_CMA version of dma_{alloc, free}_contiguous() (Don Dutile) [1738631] - [kernel] dma-contiguous: use fallback alloc_pages for single pages (Don Dutile) [1738631] - [kernel] dma-contiguous: add dma_{alloc,free}_contiguous() helpers (Don Dutile) [1738631] - [iommu] iommu/dma: Fix condition check in iommu_dma_unmap_sg (Don Dutile) [1738631] - [iommu] iommu/dma: move the arm64 wrappers to common code (Don Dutile) [1738631] - [iommu] iommu/dma-iommu.c: convert to use vm_map_pages() (Don Dutile) [1738631] - [mm] mm: introduce new vm_map_pages() and vm_map_pages_zero() API (Don Dutile) [1738631] - [mm] arm64/iommu: handle non-remapped addresses in ->mmap and ->get_sgtable (Don Dutile) [1738631] - [arm64] arm64/mm: wire up CONFIG_ARCH_HAS_SET_DIRECT_MAP (Don Dutile) [1738631] - [kernel] mm/hibernation: Make hibernation handle unmapped pages (Don Dutile) [1738631] - [mm] page_poison: play nicely with KASAN (Don Dutile) [1738631] - [mm] mm/vmalloc: Avoid rare case of flushing TLB with weird arguments (Don Dutile) [1738631] - [mm] mm/vmalloc: Fix calculation of direct map addr range (Don Dutile) [1738631] - [mm] mm/vmalloc: Add flag for freeing of special permsissions (Don Dutile) [1738631] - [x86] x86/mm/cpa: Add set_direct_map_*() functions (Don Dutile) [1738631] - [arm64] dma-mapping: add a kconfig symbol for arch_setup_dma_ops availability (Don Dutile) [1738631] - [iommu] iommu/dma: Remove the flush_page callback (Don Dutile) [1738631] - [include] iommu/dma: Cleanup dma-iommu.h (Don Dutile) [1738631] - [dma] dmaengine: Add matching device node validation in __dma_request_channel() (Don Dutile) [1738631] - [dma] dmaengine: dma_request_chan_by_mask() to handle deferred probing (Don Dutile) [1738631] - [include] dma-buf: start caching of sg_table objects v2 (Don Dutile) [1738631] - [kernel] dma-mapping: add a Kconfig symbol to indicate arch_dma_prep_coherent presence (Don Dutile) [1738631] - [iommu] iommu/dma-iommu: Remove iommu_dma_map_msi_msg() (Don Dutile) [1738631] - [irqchip] irqchip/ls-scfg-msi: Don't map the MSI page in ls_scfg_msi_compose_msg() (Don Dutile) [1738631] - [irqchip] irqchip/gic-v3-mbi: Don't map the MSI page in mbi_compose_m{b, s}i_msg() (Don Dutile) [1738631] - [irqchip] irqchip/gicv2m: Don't map the MSI page in gicv2m_compose_msi_msg() (Don Dutile) [1738631] - [irqchip] irqchip/gic-v3-its: Don't map the MSI page in its_irq_compose_msi_msg() (Don Dutile) [1738631] - [irqchip] irqchip/gic-v3-its: Align PCI Multi-MSI allocation on their size (Don Dutile) [1738631] - [iommu] iommu/dma-iommu: Split iommu_dma_map_msi_msg() in two parts (Don Dutile) [1738631] - [iommu] iommu/dma: Remove unused variable (Don Dutile) [1738631] - [iommu] iommu/dma: Use NUMA aware memory allocations in __iommu_dma_alloc_pages() (Don Dutile) [1738631] - [kernel] genirq/msi: Add a new field in msi_desc to store an IOMMU cookie (Don Dutile) [1738631] - [pci] PCI/MSI: Remove unused mask_msi_irq() and unmask_msi_irq() (Don Dutile) [1738631] - [include] PCI/MSI: Remove unused __write_msi_msg() and write_msi_msg() (Don Dutile) [1738631] - [include] genirq/msi: Clean up usage of __u8/__u16 types (Don Dutile) [1738631] - [base] platform-msi: Free descriptors in platform_msi_domain_free() (Don Dutile) [1738631] - [base] genirq/msi: Allow creation of a tree-based irqdomain for platform-msi (Don Dutile) [1738631] - [kernel] dma-debug: only skip one stackframe entry (Don Dutile) [1738631] - [dma] dmaengine: idma64: Move driver name to the header (Don Dutile) [1738631] - [kernel] dma-mapping: remove an unnecessary NULL check (Don Dutile) [1738631] - [include] dma-buf: Update [un]map documentation to match the other functions (Don Dutile) [1738631] - [include] dma-buf: Remove leftover [un]map_atomic comments (Don Dutile) [1738631] - [x86] x86/dma: Remove the x86_dma_fallback_dev hack (Don Dutile) [1738631] - [kernel] dma-mapping: remove leftover NULL device support (Don Dutile) [1738631] - [kernel] dma: select GENERIC_ALLOCATOR for DMA_REMAP (Don Dutile) [1738631] - [crypto] crypto: ccp - Ignore unconfigured CCP device on suspend/resume (Gary Hook) [1743999] - [md] dm snapshot: fix oversights in optional discard support (Mike Snitzer) [1744291] - [md] dm snapshot: add optional discard support features (Mike Snitzer) [1744291] - [md] dm snapshot: Use fine-grained locking scheme (Mike Snitzer) [1744291] - [md] dm snapshot: Make exception tables scalable (Mike Snitzer) [1744291] - [md] dm snapshot: Replace mutex with rw semaphore (Mike Snitzer) [1744291] - [md] dm snapshot: Don't sleep holding the snapshot lock (Mike Snitzer) [1744291] - [include] list_bl: Add hlist_bl_add_before/behind helpers (Mike Snitzer) [1744291] - [powerpc] powerpc/rtas: use device model APIs and serialization during LPM (Steve Best) [1741643] - [firmware] firmware/efi: Add NULL pointer checks in efivars API functions (Jarod Wilson) [1741949] - [fs] ovl: fix wrong flags check in FS_IOC_FS[SG]ETXATTR ioctls (Miklos Szeredi) [1724518] - [include] mm: page_cache_add_speculative(): refactor out some code duplication (Michael Petlan) [1738331] - [netdrv] ibmvnic: Unmap DMA address of TX descriptor buffers after use (Steve Best) [1743155] - [fs] NFSv4.1 don't free interrupted slot on open (Steve Dickson) [1708345] - [fs] NFSv4.1: Avoid false retries when RPC calls are interrupted (Steve Dickson) [1708345] - [net] ipv6: Fix return value of ipv6_mc_may_pull() for malformed packets (Stefano Brivio) [1743203] - [net] inet: frags: re-introduce skb coalescing for local delivery (Guillaume Nault) [1719418]- [net] xfrm: fix sa selector validation (Sabrina Dubroca) [1738871] - [net] xfrm: Fix xfrm sel prefix length validation (Sabrina Dubroca) [1738871] - [kernel] locking/rwsem: Prevent decrement of reader count before increment (Waiman Long) [1740338] - [include] include/list: Backport list_cut_before() (Waiman Long) [1740338] - [vhost] vhost: vsock: add weight support (Jason Wang) [1738494] - [vhost] vhost_net: fix possible infinite loop (Jason Wang) [1738494] - [vhost] vhost: introduce vhost_exceeds_weight() (Jason Wang) [1738494] - [vhost] vhost: reject zero size iova range (Jason Wang) [1738494] - [vhost] vhost: silence an unused-variable warning (Jason Wang) [1738494] - [vhost] vhost: correctly check the return value of translate_desc() in log_used() (Jason Wang) [1738494] - [vhost] vhost: return EINVAL if iovecs size does not match the message size (Jason Wang) [1738494] - [vhost] Revert "net: vhost: lock the vqs one by one" (Jason Wang) [1738494] - [vhost] vhost_net: switch to use mutex_trylock() in vhost_net_busy_poll() (Jason Wang) [1738494] - [vhost] vhost: make sure used idx is seen before log in vhost_add_used_n() (Jason Wang) [1738494] - [vhost] vhost: fix IOTLB locking (Jason Wang) [1738494] - [netdrv] tun: wake up waitqueues after IFF_UP is set (Jason Wang) [1738494] - [netdrv] tuntap: synchronize through tfiles array instead of tun->numqueues (Jason Wang) [1738494] - [netdrv] tuntap: fix dividing by zero in ebpf queue selection (Jason Wang) [1738494] - [netdrv] tun: Remove unused first parameter of tun_get_iff() (Jason Wang) [1738494] - [netdrv] tun: Add ioctl() TUNGETDEVNETNS cmd to allow obtaining real net ns of tun device (Jason Wang) [1738494] - [netdrv] tun: add a missing rcu_read_unlock() in error path (Jason Wang) [1738494] - [netdrv] tun: properly test for IFF_UP (Jason Wang) [1738494] - [netdrv] tun: remove unnecessary memory barrier (Jason Wang) [1738494] - [netdrv] tun: fix blocking read (Jason Wang) [1738494] - [netdrv] tun: move the call to tun_set_real_num_queues (Jason Wang) [1738494] - [netdrv] tun: publish tfile after it's fully initialized (Jason Wang) [1738494] - [netdrv] tun: replace get_cpu_ptr with this_cpu_ptr when bh disabled (Jason Wang) [1738494] - [netdrv] tun: remove skb access after netif_receive_skb (Jason Wang) [1738494] - [netdrv] tun: remove unnecessary check in tun_flow_update (Jason Wang) [1738494] - [netdrv] tuntap: fix multiqueue rx (Jason Wang) [1738494] - [netdrv] tun: Adjust on-stack tun_page initialization. (Jason Wang) [1738494] - [netdrv] tuntap: free XDP dropped packets in a batch (Jason Wang) [1738494] - [vhost] vhost_net: mitigate page reference counting during page frag refill (Jason Wang) [1738494] - [vhost] net: vhost: remove bad code line (Jason Wang) [1738494] - [vhost] net: vhost: add rx busy polling in tx path (Jason Wang) [1738494] - [vhost] net: vhost: factor out busy polling logic to vhost_net_busy_poll() (Jason Wang) [1738494] - [vhost] net: vhost: replace magic number of lock annotation (Jason Wang) [1738494] - [vhost] net: vhost: lock the vqs one by one (Jason Wang) [1738494] - [vhost] vhost_net: add a missing error return (Jason Wang) [1738494] - [netdrv] net: tun: remove useless codes of tun_automq_select_queue (Jason Wang) [1738494] - [vhost] vhost_net: batch submitting XDP buffers to underlayer sockets (Jason Wang) [1738494] - [netdrv] tap: accept an array of XDP buffs through sendmsg() (Jason Wang) [1738494] - [netdrv] tuntap: accept an array of XDP buffs through sendmsg() (Jason Wang) [1738494] - [netdrv] tun: switch to new type of msg_control (Jason Wang) [1738494] - [netdrv] tuntap: move XDP flushing out of tun_do_xdp() (Jason Wang) [1738494] - [netdrv] tuntap: split out XDP logic (Jason Wang) [1738494] - [netdrv] tuntap: tweak on the path of skb XDP case in tun_build_skb() (Jason Wang) [1738494] - [netdrv] tuntap: simplify error handling in tun_build_skb() (Jason Wang) [1738494] - [netdrv] tuntap: enable bh early during processing XDP (Jason Wang) [1738494] - [netdrv] tuntap: switch to use XDP_PACKET_HEADROOM (Jason Wang) [1738494] - [netdrv] net: sock: introduce SOCK_XDP (Jason Wang) [1738494] - [vhost] vhost: correctly check the iova range when waking virtqueue (Jason Wang) [1738494] - [vhost] vhost: switch to use new message format (Jason Wang) [1738494] - [vhost] vhost_net: batch update used ring for datacopy TX (Jason Wang) [1738494] - [vhost] vhost_net: rename VHOST_RX_BATCH to VHOST_NET_BATCH (Jason Wang) [1738494] - [vhost] vhost_net: rename vhost_rx_signal_used() to vhost_net_signal_used() (Jason Wang) [1738494] - [vhost] vhost_net: split out datacopy logic (Jason Wang) [1738494] - [vhost] vhost_net: introduce tx_can_batch() (Jason Wang) [1738494] - [vhost] vhost_net: introduce get_tx_bufs() (Jason Wang) [1738494] - [vhost] vhost_net: introduce vhost_exceeds_weight() (Jason Wang) [1738494] - [vhost] vhost_net: introduce helper to initialize tx iov iter (Jason Wang) [1738494] - [vhost] vhost_net: drop unnecessary parameter (Jason Wang) [1738494] - [vhost] vhost_net: Avoid rx vring kicks during busyloop (Jason Wang) [1738494] - [vhost] vhost_net: Avoid rx queue wake-ups during busypoll (Jason Wang) [1738494] - [vhost] vhost_net: Avoid tx vring kicks during busyloop (Jason Wang) [1738494] - [vhost] vhost_net: Rename local variables in vhost_net_rx_peek_head_len (Jason Wang) [1738494] - [mm] x86/mm/fault: Allow stack access below rsp (Waiman Long) [1739341] - [mm] x86/mm: Clarify hardware vs. software "error_code" (Waiman Long) [1739341] - [net] libceph: handle an empty authorize reply (Ilya Dryomov) [1720582]- [drm] drm: Don't retry infinitely when receiving no data on i2c over AUX (Lyude Paul) [1672361] - [scsi] scsi: hpsa: update revision to RH3 (Joseph Szczypek) [1739615] - [scsi] scsi: hpsa: remove printing internal cdb on tag collision (Joseph Szczypek) [1739615] - [scsi] scsi: hpsa: correct scsi command status issue after reset (Joseph Szczypek) [1739615] - [scsi] hpsa: docs: fix broken doc references due to renames (Joseph Szczypek) [1739615] - [scsi] hpsa: docs: pci: fix broken links due to conversion from pci.txt to pci.rst (Joseph Szczypek) [1739615]- [drm] drm/nouveau: Only recalculate PBN/VCPI on mode/connector changes (Lyude Paul) [1734452 1734444] - [drm] drm/nouveau: Only release VCPI slots on mode changes (Lyude Paul) [1734452 1734444] - [infiniband] RDMA/srp: turn off 'use_imm_data' by default (Honggang Li) [1725158] - [gpu] vga_switcheroo: Fix missing gpu_bound call at audio client registration (Lyude Paul) [1739727] - [net] Bluetooth: Fix faulty expression for minimum encryption key size check (Gopal Tiwari) [1743076] {CVE-2019-9506} - [net] Bluetooth: Fix regression with minimum encryption key size alignment (Gopal Tiwari) [1743076] {CVE-2019-9506} - [net] Bluetooth: Align minimum encryption key size for LE and BR/EDR connections (Gopal Tiwari) [1743076] {CVE-2019-9506}- [rpmspec] perf: package tips.txt (Michael Petlan) [1663816] - [mm] mm/memblock.c: skip kmemleak for kasan_init() (Mark Langsdorf) [1722741] - [kernel] mm/resource: Return real error codes from walk failures (Kairui Song) [1740443] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh for powerpc64 (Michael Petlan) [1733231] - [tools] selftests/powerpc: Fix Makefiles for headers_install change (Steve Best) [1740127] - [tools] selftests/powerpc: Add more version checks to alignment_handler test (Steve Best) [1740127] - [tools] selftests/powerpc: Skip earlier in alignment_handler test (Steve Best) [1740127] - [tools] selftests/powerpc: Consolidate copy/paste test logic (Steve Best) [1740127] - [s390] s390/bpf: use 32-bit index for tail calls (Yauheni Kaliuta) [1719377] - [s390] s390/bpf: fix lcgr instruction encoding (Yauheni Kaliuta) [1719377] - [tools] selftests/bpf: fix "alu with different scalars 1" on s390 (Yauheni Kaliuta) [1719377] - [net] bpf: fix use after free in bpf_evict_inode (Yauheni Kaliuta) [1719377] - [arm64] bpf, arm64: remove prefetch insn in xadd mapping (Yauheni Kaliuta) [1719377] - [scsi] scsi: lpfc: Fix crash when cpu count is 1 and null irq affinity mask (Dick Kennedy) [1720905] - [md] md: add bitmap_abort label in md_run (Nigel Croxon) [1721944] - [md] md-bitmap: create and destroy wb_info_pool with the change of bitmap (Nigel Croxon) [1721944] - [md] md-bitmap: create and destroy wb_info_pool with the change of backlog (Nigel Croxon) [1721944] - [md] md: introduce mddev_create/destroy_wb_pool for the change of member device (Nigel Croxon) [1721944] - [md] md/raid1: fix potential data inconsistency issue with write behind device (Nigel Croxon) [1721944] - [md] md: fix for divide error in status_resync (Nigel Croxon) [1721944] - [md] md/raid10: read balance chooses idlest disk for SSD (Nigel Croxon) [1721944] - [md] md: raid1-10: Unify r{1,10}bio_pool_free (Nigel Croxon) [1721944] - [md] md: raid10: Use struct_size() in kmalloc() (Nigel Croxon) [1721944] - [md] md/raid1: get rid of extra blank line and space (Nigel Croxon) [1721944] - [md] md: fix spelling typo and add necessary space (Nigel Croxon) [1721944] - [md] md: md.c: Return -ENODEV when mddev is NULL in rdev_attr_show (Nigel Croxon) [1721944] - [md] raid5-cache: Need to do start() part job after adding journal device (Nigel Croxon) [1721944] - [md] drivers: md: Unify common definitions of raid1 and raid10 (Nigel Croxon) [1721944] - [kernel] userfaultfd: use RCU to free the task struct when fork fails (Andrea Arcangeli) [1718498]- [efi] efi/arm: Revert "Defer persistent reservations until after paging_init()" (Mark Salter) [1699961] - [s390] s390/ipl: Fix detection of has_secure attribute (Philipp Rudo) [1740653] - [fs] xfs: don't crash on null attr fork xfs_bmapi_read (Bill O'Donnell) [1719094] - [powerpc] powerpc/mm: Don't report PUDs as memory leaks when using kmemleak (Desnes Augusto Nunes do Rosario) [1716952] - [x86] kvm: x86: introduce is_pae_paging (Vitaly Kuznetsov) [1720556] - [s390] s390/kasan: Fix recursion loop when triggering kdump (Philipp Rudo) [1740249] - [s390] s390/dasd: fix endless loop after read unit address configuration (Philipp Rudo) [1740251] - [tools] selftests/powerpc: Give some tests longer to run (Steve Best) [1740420] - [nvme] nvme-rdma: use dynamic dma mapping per command (David Milburn) [1738252] - [nvme] nvme-rdma: remove redundant reference between ib_device and tagset (David Milburn) [1738252] - [x86] kvm: svm/avic: Do not send AVIC doorbell to self (Janakarajan Natarajan) [1720981] - [net] tipc: initialise addr_trial_end when setting node addresses (Jon Maloy) [1740317] - [net] tipc: ensure head->lock is initialised (Jon Maloy) [1740317] - [net] netfilter: nf_tables: fix oops during rule dump (Stefano Brivio) [1739734] - [include] netfilter: nf_tables: correct NFT_LOGLEVEL_MAX value (Stefano Brivio) [1739734] - [net] netfilter: nft_compat: do not dump private area (Stefano Brivio) [1739734] - [net] netfilter: nf_tables: fix register ordering (Stefano Brivio) [1739734] - [net] ipvs: defer hook registration to avoid leaks (Stefano Brivio) [1739734] - [net] ipvs: Fix use-after-free in ip_vs_in (Stefano Brivio) [1739734] - [net] netfilter: nf_conntrack_h323: restore boundary check correctness (Stefano Brivio) [1739734] - [net] netfilter: fix nf_l4proto_log_invalid to log invalid packets (Stefano Brivio) [1739734] - [net] netfilter: nf_tables: prevent shift wrap in nft_chain_parse_hook() (Stefano Brivio) [1739734] - [net] netfilter: nft_set_rbtree: check for inactive element after flag mismatch (Stefano Brivio) [1739734] - [net] netfilter: nft_compat: use-after-free when deleting targets (Stefano Brivio) [1739734] - [net] netfilter: nf_tables: fix leaking object reference count (Stefano Brivio) [1739734] - [net] ip6_gre: reload ipv6h in prepare_ip6gre_xmit_ipv6 (Stefano Brivio) [1739640] - [net] ipv6: Unlink sibling route in case of failure (Stefano Brivio) [1739640] - [net] ipv6: Default fib6_type to RTN_UNICAST when not set (Stefano Brivio) [1739640] - [net] inet: frags: call inet_frags_fini() after unregister_pernet_subsys() (Stefano Brivio) [1739640] - [net] ipv6: flowlabel: fl6_sock_lookup() must use atomic_inc_not_zero (Stefano Brivio) [1739640] - [net] netfilter: ipset: Fix rename concurrency with listing (Stefano Brivio) [1739578] - [net] netfilter: ipset: Fix error path in set_target_v3_checkentry() (Stefano Brivio) [1739578] - [net] netfilter: ipset: Fix the last missing check of nla_parse_deprecated() (Stefano Brivio) [1739578] - [net] netfilter: ipset: fix a missing check of nla_parse (Stefano Brivio) [1739578] - [netdrv] ipvlan, l3mdev: fix broken l3s mode wrt local routes (Guillaume Nault) [1738329] - [net] sched: use temporary variable for actions indexes (Marcelo Leitner) [1739244 1729822 1729818 1729398] - [net] sched: cbs: Fix error path of cbs_module_init (Marcelo Leitner) [1739244 1729822 1729818 1729398] - [net] netem: fix use after free and double free with packet corruption (Marcelo Leitner) [1739244 1729822 1729818 1729398] - [net] netem: fix backlog accounting for corrupted GSO frames (Marcelo Leitner) [1739244 1729822 1729818 1729398] - [netdrv] macsec: fix checksumming after decryption (Sabrina Dubroca) [1738237] - [netdrv] macsec: fix use-after-free of skb during RX (Sabrina Dubroca) [1738237] - [net] xfrm interface: fix memory leak on creation (Sabrina Dubroca) [1738267] - [net] tls: fix socket wmem accounting on fallback with netem (Sabrina Dubroca) [1739260] - [net] tls: fix poll ignoring partially copied records (Sabrina Dubroca) [1739260] - [net] tls: make sure offload also gets the keys wiped (Sabrina Dubroca) [1739260] - [net] tls: reject offload of TLS 1.3 (Sabrina Dubroca) [1739260] - [net] tls: fix page double free on TX cleanup (Sabrina Dubroca) [1739260] - [net] tls, correctly account for copied bytes with multiple sk_msgs (Sabrina Dubroca) [1739260] - [net] tcp: fix tcp_set_congestion_control() use from bpf hook (Guillaume Nault) [1738272] - [net] tcp: Reset bytes_acked and bytes_received when disconnecting (Guillaume Nault) [1738272] - [net] tcp: Ensure DCTCP reacts to losses (Guillaume Nault) [1738272] - [net] tcp: tcp_v4_err() should be more careful (Guillaume Nault) [1738272] - [net] tcp: avoid resetting ACK timer upon receiving packet with ECN CWR flag (Guillaume Nault) [1738272] - [net] tcp: always ACK immediately on hole repairs (Guillaume Nault) [1738272] - [net] tcp: avoid resetting ACK timer in DCTCP (Guillaume Nault) [1738272] - [net] tcp: mandate a one-time immediate ACK (Guillaume Nault) [1738272] - [net] tipc: fix unitilized skb list crash (Xin Long) [1734298] - [net] tipc: compat: allow tipc commands without arguments (Xin Long) [1738397] - [net] sctp: factor out sctp_connect_add_peer (Xin Long) [1738393] - [net] sctp: factor out sctp_connect_new_asoc (Xin Long) [1738393] - [net] sctp: clean up __sctp_connect (Xin Long) [1738393] - [net] sctp: check addr_size with sa_family_t size in __sctp_setsockopt_connectx (Xin Long) [1738393] - [net] sctp: only copy the available addr data in sctp_transport_init (Xin Long) [1738393] - [net] sctp: drop unneeded likely() call around IS_ERR() (Xin Long) [1738393] - [net] sctp: fix warning "NULL check before some freeing functions is not needed" (Xin Long) [1738393] - [net] sctp: remove rcu_read_lock from sctp_bind_addr_state (Xin Long) [1738393] - [net] sctp: rename sp strm_interleave to ep intl_enable (Xin Long) [1738393] - [net] sctp: rename asoc intl_enable to asoc peer.intl_capable (Xin Long) [1738393] - [net] sctp: remove prsctp_enable from asoc (Xin Long) [1738393] - [net] sctp: remove reconf_enable from asoc (Xin Long) [1738393] - [net] sctp: count data bundling sack chunk for outctrlchunks (Xin Long) [1738393] - [net] sctp: fix error handling on stream scheduler initialization (Xin Long) [1738393] - [net] sctp: not bind the socket in sctp_connect (Xin Long) [1738393] - [net] sctp: change to hold sk after auth shkey is created successfully (Xin Long) [1738393] - [net] sctp: Free cookie before we memdup a new one (Xin Long) [1738393] - [net] Fix memory leak in sctp_process_init (Xin Long) [1738393] - [net] sctp: deduplicate identical skb_checksum_ops (Xin Long) [1738393] - [net] sctp: Check address length before reading address family (Xin Long) [1738393] - [net] sctp: Pass sk_buff_head explicitly to sctp_ulpq_tail_event(). (Xin Long) [1738393] - [net] sctp: Make sctp_enqueue_event tak an skb list. (Xin Long) [1738393] - [net] sctp: Use helper for sctp_ulpq_tail_event() when hooked up to ->enqueue_event (Xin Long) [1738393] - [net] sctp: Always pass skbs on a list to sctp_ulpq_tail_event(). (Xin Long) [1738393] - [net] sctp: Remove superfluous test in sctp_ulpq_reasm_drain(). (Xin Long) [1738393] - [netdrv] ppp: Remove direct skb_queue_head list pointer access. (Xin Long) [1738393] - [net] ipv6: fix neighbour resolution with raw socket (Stefano Brivio) [1728320] - [net] ipv6: constify rt6_nexthop() (Stefano Brivio) [1728320] - [net] openvswitch: fix csum updates for MPLS actions (Marcelo Leitner) [1738654] - [net] udp_gso: Allow TX timestamp with UDP GSO (Paolo Abeni) [1738585] - [net] bpf: udp: ipv6: Avoid running reuseport's bpf_prog from __udp6_lib_err (Paolo Abeni) [1738585] - [net] fix ifindex collision during namespace removal (Paolo Abeni) [1738492] - [net] rtnl: return early from rtnl_unregister_all when protocol isn't registered (Paolo Abeni) [1738492] - [net] neigh: fix use-after-free read in pneigh_get_next (Paolo Abeni) [1738492] - [net] socket: set sock->sk to NULL after calling proto_ops::release() (Paolo Abeni) [1738492] - [net] socket: make bond ioctls go through compat_ifreq_ioctl() (Paolo Abeni) [1738492] - [net] socket: fix SIOCGIFNAME in compat (Paolo Abeni) [1738492] - [net] Revert "kill dev_ifsioc()" (Paolo Abeni) [1738492] - [net] revert "socket: fix struct ifreq size in compat ioctl" (Paolo Abeni) [1738492] - [net] ip6_tunnel: fix possible use-after-free on xmit (Guillaume Nault) [1737105] - [net] genetlink: Fix a memory leak on error path (Guillaume Nault) [1737821] - [net] netfilter: ipset: Copy the right MAC address in bitmap:ip, mac and hash:ip, mac sets (Stefano Brivio) [1723605] - [net] netfilter: ipset: Actually allow destination MAC address for hash:ip, mac sets too (Stefano Brivio) [1723605] - [net] igmp: fix memory leak in igmpv3_del_delrec() (Hangbin Liu) [1736816] - [net] don't clear sock->sk early to avoid trouble in strparser (Hangbin Liu) [1736816] - [net] ipv4/igmp: fix build error if !CONFIG_IP_MULTICAST (Hangbin Liu) [1736816] - [net] ipv4/igmp: fix another memory leak in igmpv3_del_delrec() (Hangbin Liu) [1736816] - [net] route: set the deleted fnhe fnhe_daddr to 0 in ip_del_fnhe to fix a race (Hangbin Liu) [1736816] - [net] netlabel: fix out-of-bounds memory accesses (Hangbin Liu) [1736816] - [net] ipv4: Fix memory leak in network namespace dismantle (Hangbin Liu) [1736816] - [net] bridge: delete local fdb on device init failure (Hangbin Liu) [1736824] - [net] bridge: stp: don't cache eth dest pointer before skb pull (Hangbin Liu) [1736824] - [net] bridge: don't cache ether dest pointer on input (Hangbin Liu) [1736824] - [net] bridge: mcast: fix stale ipv6 hdr pointer when handling v6 query (Hangbin Liu) [1736824] - [net] bridge: mcast: fix stale nsrcs pointer in igmp3/mld2 report handling (Hangbin Liu) [1736824] - [net] bridge: fix per-port af_packet sockets (Hangbin Liu) [1736824] - [include] ip: fix ip_mc_may_pull() return value (Hangbin Liu) [1736824] - [net] bridge: use struct_size() helper (Hangbin Liu) [1736824] - [net] bridge: simplify ip_mc_check_igmp() and ipv6_mc_check_mld() calls (Hangbin Liu) [1736824] - [net] net/bridge/br_multicast: remove redundant variable "err" (Hangbin Liu) [1736824] - [x86] x86/kdump/64: Restrict kdump kernel reservation to <64TB (Baoquan He) [1669090] - [x86] x86/kexec/64: Prevent kexec from 5-level paging to a 4-level only kernel (Baoquan He) [1669088] - [x86] x86/boot: Add xloadflags bits to check for 5-level paging support (Baoquan He) [1669088] - [tools] perf header: Fix wrong node write in NUMA_TOPOLOGY feature (Michael Petlan) [1722044] - [tools] perf c2c: Fix c2c report for empty numa node (Michael Petlan) [1722044] - [x86] kvm: svm/avic: fix off-by-one in checking host APIC ID (Janakarajan Natarajan) [1720983]- [fs] gfs2: gfs2_walk_metadata fix (Andreas Grunbacher) [1724361] - [netdrv] mlx4/en_netdev: allow offloading VXLAN over VLAN (Paolo Abeni) [1733532] - [fs] xfs: always rejoin held resources during defer roll (Bill O'Donnell) [1706588] - [bluetooth] Bluetooth: hci_uart: check for missing tty operations (Gopal Tiwari) [1734239] {CVE-2019-10207}- [documentation] Documentation: Add swapgs description to the Spectre v1 documentation (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [documentation] Documentation: Add section about CPU vulnerabilities for Spectre (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/speculation/swapgs: Exclude ATOMs from speculation through SWAPGS (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/entry/64: Use JMP instead of JMPQ (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/speculation: Enable Spectre v1 swapgs mitigations (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/speculation: Prepare entry code for Spectre v1 swapgs mitigations (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/cpufeatures: Combine word 11 and 12 into a new scattered features word (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/cpufeatures: Carve out CQM features retrieval (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [netdrv] ibmveth: fix DMA unmap error in ibmveth_xmit_start error path (Steve Best) [1739431] - [rpmspec] rpmspec: use make macro to do headers_install with rpm CFLAGS/LDFLAGS ("Herton R. Krzesinski") [1738659] - [rpmspec] rpmspec: use tools_make for building tools ("Herton R. Krzesinski") [1738659] - [tools] tools gpio: Allow overriding CFLAGS ("Herton R. Krzesinski") [1738659] - [tools] tools thermal tmon: Allow overriding CFLAGS assignments ("Herton R. Krzesinski") [1738659] - [tools] tools iio: Override CFLAGS assignments ("Herton R. Krzesinski") [1738659] - [fs] NFS: Fix dentry revalidation on NFSv4 lookup (Steve Dickson) [1667774] - [fs] pNFS: Avoid read/modify/write when it is not necessary (Benjamin Coddington) [1680649] - [fs] pNFS: Fix potential corruption of page being written (Benjamin Coddington) [1680649] - [fs] gfs2: Inode dirtying fix (Andreas Grunbacher) [1724361] - [net] sunrpc: make visible processing error in bc_svc_process() ("J. Bruce Fields") [1660823] {CVE-2018-16884} - [net] sunrpc: remove unused xpo_prep_reply_hdr callback ("J. Bruce Fields") [1660823] {CVE-2018-16884} - [net] sunrpc: remove svc_tcp_bc_class ("J. Bruce Fields") [1660823] {CVE-2018-16884} - [net] sunrpc: replace svc_serv->sv_bc_xprt by boolean flag ("J. Bruce Fields") [1660823] {CVE-2018-16884} - [net] sunrpc: use-after-free in svc_process_common() ("J. Bruce Fields") [1660823] {CVE-2018-16884}- [scsi] scsi: implement .cleanup_rq callback (Ming Lei) [1696256] - [md] blk-mq: add callback of .cleanup_rq (Ming Lei) [1696256] - [block] blk-mq: insert rq with DONTPREP to hctx dispatch list when requeue (Ming Lei) [1696256] - [scsi] scsi: core: Fix race on creating sense cache (Ming Lei) [1696256] - [block] blk-mq: balance mapping between present CPUs and queues (Ming Lei) [1733040] - [block] blk-mq: Fix spelling in a source code comment (Ming Lei) [1733040] - [drm] drm/i915: Don't dereference request if it may have been retired when printing (Lyude Paul) [1715997] - [drm] drm/i915/icl: whitelist PS_(DEPTH|INVOCATION)_COUNT (Lyude Paul) [1715997] - [drm] drm/i915: whitelist PS_(DEPTH|INVOCATION)_COUNT (Lyude Paul) [1715997] - [drm] drm/i915: Support flags in whitlist WAs (Lyude Paul) [1715997] - [drm] drm/i915: Disable SAMPLER_STATE prefetching on all Gen11 steppings. (Lyude Paul) [1715997] - [drm] drm/i915/userptr: Acquire the page lock around set_page_dirty() (Lyude Paul) [1715997] - [drm] drm/i915/perf: fix ICL perf register offsets (Lyude Paul) [1715997] - [drm] drm/virtio: Add memory barriers for capset cache. (Lyude Paul) [1715997] - [drm] drm/amd/display: Always allocate initial connector state state (Lyude Paul) [1715997] - [drm] drm/vkms: Forward timer right after drm_crtc_handle_vblank (Lyude Paul) [1715997] - [drm] drm/crc-debugfs: Also sprinkle irqrestore over early exits (Lyude Paul) [1715997] - [drm] drm/crc-debugfs: User irqsafe spinlock in drm_crtc_add_crc_entry (Lyude Paul) [1715997] - [drm] drm/amd/display: Increase Backlight Gain Step Size (Lyude Paul) [1715997] - [drm] drm/amd/display: CS_TFM_1D only applied post EOTF (Lyude Paul) [1715997] - [drm] drm/edid: Fix a missing-check bug in drm_load_edid_firmware() (Lyude Paul) [1715997] - [drm] drm/amdkfd: Fix sdma queue map issue (Lyude Paul) [1715997] - [drm] drm/amdkfd: Fix a potential memory leak (Lyude Paul) [1715997] - [drm] drm/amd/display: Disable ABM before destroy ABM struct (Lyude Paul) [1715997] - [drm] drm/amdgpu/sriov: Need to initialize the HDP_NONSURFACE_BAStE (Lyude Paul) [1715997] - [drm] drm/amdgpu: Reserve shared fence for eviction fence (Lyude Paul) [1715997] - [drm] drm/amd/display: Disable cursor when offscreen in negative direction (Lyude Paul) [1715997] - [drm] drm/amd/display: Fill prescale_params->scale for RGB565 (Lyude Paul) [1715997] - [drm] drm/virtio: set seqno for dma-fence (Lyude Paul) [1715997] - [drivers] dma-buf: Discard old fence_excl on retrying get_fences_rcu for realloc (Lyude Paul) [1715997] - [drivers] dma-buf: balance refcount inbalance (Lyude Paul) [1715997] - [drm] drm/edid: parse CEA blocks embedded in DisplayID (Lyude Paul) [1715997] - [drm] drm/nouveau/i2c: Enable i2c pads & busses during preinit (Lyude Paul) [1715997] - [drm] drm: return -EFAULT if copy_to_user() fails (Lyude Paul) [1715997] - [drm] drm/vmwgfx: fix a warning due to missing dma_parms (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Honor the sg list segment size limitation (Lyude Paul) [1715997] - [drm] drm/virtio: move drm_connector_update_edid_property() call (Lyude Paul) [1715997] - [drm] drm/amdgpu/gfx9: use reset default for PA_SC_FIFO_SIZE (Lyude Paul) [1715997] - [drm] drm/amdgpu: Don't skip display settings in hwmgr_resume() (Lyude Paul) [1717138 1715997] - [drm] drm/amd/powerplay: use hardware fan control if no powerplay fan table (Lyude Paul) [1715997] - [drm] drm/i915/ringbuffer: EMIT_INVALIDATE *before* switch context (Lyude Paul) [1715997] - [drm] drm/i915: Skip modeset for cdclk changes if possible (Lyude Paul) [1715997] - [drm] drm/i915: Remove redundant store of logical CDCLK state (Lyude Paul) [1715997] - [drm] drm/i915: Save the old CDCLK atomic state (Lyude Paul) [1715997] - [drm] drm/i915: Force 2*96 MHz cdclk on glk/cnl when audio power is enabled (Lyude Paul) [1715997] - [drm] drm/i915: Don't clobber M/N values during fastset check (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Use the backdoor port if the HB port is not available (Lyude Paul) [1715997] - [drm] drm: add fallback override/firmware EDID modes workaround (Lyude Paul) [1715997] - [drm] drm/edid: abstract override/firmware EDID retrieval (Lyude Paul) [1715997] - [drm] drm/vmwgfx: NULL pointer dereference from vmw_cmd_dx_view_define() (Lyude Paul) [1715997] - [drm] drm/vmwgfx: integer underflow in vmw_cmd_dx_set_shader() leading to an invalid read (Lyude Paul) [1715997] - [drm] drm/amdgpu: keep stolen memory on picasso (Lyude Paul) [1715997] - [drm] drm/i915/dmc: protect against reading random memory (Lyude Paul) [1715997] - [drm] drm/i915: Fix per-pixel alpha with CCS (Lyude Paul) [1715997] - [drm] drm/i915/dsi: Use a fuzzy check for burst mode clock check (Lyude Paul) [1715997] - [drm] drm/i915/sdvo: Implement proper HDMI audio support for SDVO (Lyude Paul) [1715997] - [drm] drm/amdgpu/{uvd,vcn}: fetch ring's read_ptr after alloc (Lyude Paul) [1715997] - [drm] drm/amd/display: Use plane->color_space for dpp if specified (Lyude Paul) [1715997] - [drm] drm/amd/display: disable link before changing link settings (Lyude Paul) [1715997] - [drm] Revert "drm: allow render capable master with DRM_AUTH ioctls" (Lyude Paul) [1715997] - [drm] drm/amd: fix fb references in async update (Lyude Paul) [1715997] - [drm] drm/i915/gvt: Initialize intel_gvt_gtt_entry in stack (Lyude Paul) [1715997] - [drm] drm: don't block fb changes for async plane updates (Lyude Paul) [1715997] - [drm] drm/i915/gvt: emit init breadcrumb for gvt request (Lyude Paul) [1715997] - [drm] drm/amdgpu: fix ring test failure issue during s3 in vce 3.0 (V2) (Lyude Paul) [1715997] - [drm] drm/amd/display: Add ASICREV_IS_PICASSO (Lyude Paul) [1715997] - [drm] drm/amdgpu/soc15: skip reset on init (Lyude Paul) [1715997] - [include] drm/i915: Fix I915_EXEC_RING_MASK (Lyude Paul) [1715997] - [drm] drm/amdgpu: remove ATPX_DGPU_REQ_POWER_FOR_DISPLAYS check when hotplug-in (Lyude Paul) [1715997] - [drm] drm/radeon: prefer lower reference dividers (Lyude Paul) [1715997] - [drm] drm/amdgpu/psp: move psp version specific function pointers to early_init (Lyude Paul) [1715997] - [drm] drm: add non-desktop quirks to Sensics and OSVR headsets. (Lyude Paul) [1715997] - [drm] drm: add non-desktop quirk for Valve HMDs (Lyude Paul) [1715997] - [drm] drm/cma-helper: Fix drm_gem_cma_free_object() (Lyude Paul) [1715997] - [drm] drm/lease: Make sure implicit planes are leased (Lyude Paul) [1715997] - [drm] drm: Expose "FB_DAMAGE_CLIPS" property to atomic aware user-space only (Lyude Paul) [1715997] - [drm] drm/atomic: Wire file_priv through for property changes (Lyude Paul) [1715997] - [drm] drm/fb-helper: generic: Call drm_client_add() after setup is done (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Don't send drm sysfs hotplug events on initial master set (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Fix compat mode shader operation (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Fix user space handle equal to zero (Lyude Paul) [1715997] - [drm] drm: Wake up next in drm_read() chain if we are forced to putback the event (Lyude Paul) [1715997] - [drm] drm/drv: Hold ref on parent device during drm_device lifetime (Lyude Paul) [1715997] - [drm] drm/amd/display: Reset planes that were disabled in init_pipes (Lyude Paul) [1715997] - [drm] drm/amd/display: Fix exception from AUX acquire failure (Lyude Paul) [1715997] - [drm] drm: writeback: Fix leak of writeback job (Lyude Paul) [1715997] - [drm] drm/amd/display: Set stream->mode_changed when connectors change (Lyude Paul) [1715997] - [drm] drm/amd/display: half bandwidth for YCbCr420 during validation (Lyude Paul) [1715997] - [drm] drm/amd/display: Re-add custom degamma support (Lyude Paul) [1715997] - [drm] drm/amd/display: Fix Divide by 0 in memory calculations (Lyude Paul) [1715997] - [drm] drm/amd/display: add pipe lock during stream update (Lyude Paul) [1715997] - [drm] drm/amd/display: Reset alpha state for planes to the correct values (Lyude Paul) [1715997] - [drm] drm/amd/display: Update ABM crtc state on non-modeset (Lyude Paul) [1715997] - [drm] drm/amd/display: Link train only when link is DP and backend is enabled (Lyude Paul) [1715997] - [drm] drm/amd/display: fix releasing planes when exiting odm (Lyude Paul) [1715997] - [drm] drm/amd/display: Prevent cursor hotspot overflow for RV overlay planes (Lyude Paul) [1715997] - [drm] drm/amd/display: use proper formula to calculate bandwidth from timing (Lyude Paul) [1715997] - [drm] drm/amdgpu: fix old fence check in amdgpu_fence_emit (Lyude Paul) [1715997] - [drm] drm/nouveau/bar/nv50: ensure BAR is mapped (Lyude Paul) [1715997] - [pci] PCI: Mark AMD Stoney Radeon R7 GPU ATS as broken (Lyude Paul) [1715997] - [kernel] locking/rwsem: Add missing ACQUIRE to read_slowpath exit when queue is empty (Waiman Long) [1737089] - [tools] perf vendor events power9: Added missing event descriptions (Michael Petlan) [1581405] - [crypto] crypto: skcipher - fix crash flushing dcache in error path (David Gibson) [1724370] - [netdrv] bnx2x: Prevent load reordering in tx completion processing (Manish Chopra) [1729599] - [x86] x86/boot/KASLR: Always return a value from process_mem_region (Baoquan He) [1564822] - [x86] x86/kexec: Add the ACPI NVS region to the ident map (Baoquan He) [1564822] - [x86] x86/boot: Call get_rsdp_addr() after console_init() (Baoquan He) [1564822] - [x86] x86/boot: Use efi_setup_data for searching RSDP on kexec-ed kernels (Baoquan He) [1564822] - [x86] x86/kexec: Add the EFI system tables and ACPI tables to the ident map (Baoquan He) [1564822] - [x86] x86/boot: Fix incorrect ifdeffery scope (Baoquan He) [1564822] - [x86] x86/boot: Correct RSDP parsing with 32-bit EFI (Baoquan He) [1564822] - [x86] x86/boot: Fix randconfig build error due to MEMORY_HOTREMOVE (Baoquan He) [1564822] - [x86] x86/boot: Fix cmdline_find_option() prototype visibility (Baoquan He) [1564822] - [x86] x86/boot/KASLR: Limit KASLR to extract the kernel in immovable memory only (Baoquan He) [1564822] - [x86] x86/boot: Parse SRAT table and count immovable memory regions (Baoquan He) [1564822] - [x86] x86/boot: Early parse RSDP and save it in boot_params (Baoquan He) [1564822] - [x86] x86/boot: Search for RSDP in memory (Baoquan He) [1564822] - [x86] x86/boot: Search for RSDP in the EFI tables (Baoquan He) [1564822] - [x86] x86/boot: Add "acpi_rsdp=" early parsing (Baoquan He) [1564822] - [x86] x86/boot: Copy kstrtoull() to boot/string.c (Baoquan He) [1564822] - [x86] x86/boot: Use CC_SET()/CC_OUT() instead of open coding it (Baoquan He) [1564822] - [x86] x86/boot: Build the command line parsing code unconditionally (Baoquan He) [1564822] - [x86] x86/boot: Clear RSDP address in boot_params for broken loaders (Baoquan He) [1564822] - [x86] x86/acpi, x86/boot: Take RSDP address from boot params if available (Baoquan He) [1564822] - [x86] x86/boot: Mostly revert commit ae7e1238e68f2a ("Add ACPI RSDP address to setup_header") (Baoquan He) [1564822] - [x86] x86/acpi, x86/boot: Take RSDP address for boot params if available (Baoquan He) [1564822] - [x86] x86/boot: Add ACPI RSDP address to setup_header (Baoquan He) [1564822] - [x86] x86/xen: Fix boot loader version reported for PVH guests (Baoquan He) [1564822] - [x86] x86/boot: Add missing va_end() to die() (Baoquan He) [1564822] - [x86] x86/boot/KASLR: Remove return value from handle_mem_options() (Baoquan He) [1564822] - [x86] x86/boot/KASLR: Make local variable mem_limit static (Baoquan He) [1564822] - [crypto] crypto: user - prevent operating on larval algorithms (Herbert Xu) [1728835]- [scsi] scsi: mpt3sas: Use 63-bit DMA addressing on SAS35 HBA (Tomas Henzl) [1734769] - [netdrv] bonding: Force slave speed check after link state recovery for 802.3ad (Jarod Wilson) [1732820] - [pci] PCI: hv: Add pci_destroy_slot() in pci_devices_present_work(), if necessary (Mohammed Gamal) [1733302] - [pci] PCI: hv: Add hv_pci_remove_slots() when we unload the driver (Mohammed Gamal) [1733302] - [pci] PCI: hv: Fix a use-after-free bug in hv_eject_device_work() (Mohammed Gamal) [1733302] - [pci] PCI: hv: Fix a memory leak in hv_eject_device_work() (Mohammed Gamal) [1733302] - [nvme] nvmet: fix setting ns queue's segment boundary (Ming Lei) [1734458]- [tools] perf script python: Remove explicit shebang from setup.py (Michael Petlan) [1664768 1663814] - [tools] perf script python: Remove explicit shebang from tests/attr.c (Michael Petlan) [1664768 1663814] - [tools] perf script python: Remove explicit shebang from Python scripts (Michael Petlan) [1664768 1663814] - [tools] perf script python: Use PyBytes for attr in trace-event-python (Michael Petlan) [1664768 1663814] - [tools] perf script python: Add trace_context extension module to sys.modules (Michael Petlan) [1663814 1664768] - [tools] perf scripts python: exported-sql-viewer.py: Fix python3 support (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to export-to-sqlite.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to export-to-postgresql.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to exported-sql-viewer.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to intel-pt-events.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to event_analyzing_sample.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: add Python3 support to check-perf-trace.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to futex-contention.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Remove mixed indentation (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to syscall-counts-by-pid.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to syscall-counts.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to stackcollapse.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to sctop.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to powerpc-hcalls.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to net_dropmonitor.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to mem-phys-addr.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to failed-syscalls-by-pid.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to netdev-times.py (Michael Petlan) [1663814 1664768] - [powerpc] mm_iommu: Allow pinning large regions (David Gibson) [1629531] - [powerpc] mm_iommu: Fix potential deadlock (David Gibson) [1629531] - [powerpc] mm/iommu: allow large IOMMU page size only for hugetlb backing (David Gibson) [1629531] - [powerpc] mm/iommu: allow migration of cma allocated pages during mm_iommu_do_alloc (David Gibson) [1629531] - [mm] update get_user_pages_longterm to migrate pages allocated from CMA region (David Gibson) [1629531] - [kernel] mm/cma: add PF flag to force non cma alloc (David Gibson) [1629531] - [net] tcp: be more careful in tcp_fragment() (Marcelo Leitner) [1732103] - [net] tipc: initialize 'validated' field of received packets (Jon Maloy) [1730574] - [documentation] networking: fix default_ttl typo in mpls-sysctl (Hangbin Liu) [1724882]- [powerpc] powerpc/mm: Limit rma_size to 1TB when running without HV mode (Suraj Jitindar Singh) [1723297] - [x86] kvm: nvmx: Set cached_vmcs12 and cached_shadow_vmcs12 NULL after free (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: do not use dangling shadow VMCS after guest reset (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Clear pending KVM_REQ_GET_VMCS12_PAGES when leaving nested (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Change KVM_STATE_NESTED_EVMCS to signal vmcs12 is copied from eVMCS (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Allow restore nested-state to enable eVMCS when vCPU in SMM (Paolo Bonzini) [1732096] - [tools] kvm: nvmx: reorganize initial steps of vmx_set_nested_state (Paolo Bonzini) [1732096] - [x86] kvm: x86: Modify struct kvm_nested_state to have explicit fields for data (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Clear nested_run_pending if setting nested state fails (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: really fix the size checks on KVM_SET_NESTED_STATE (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Set nested_run_pending in vmx_set_nested_state after checks complete (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: KVM_SET_NESTED_STATE - Tear down old EVMCS state before setting new state (Paolo Bonzini) [1732096] - [tools] kvm: selftests: avoid type punning (Paolo Bonzini) [1732096] - [tools] tests: kvm: Add tests for KVM_SET_NESTED_STATE (Paolo Bonzini) [1732096] - [x86] kvm: x86/mmu: Allocate PAE root array when using SVM's 32-bit NPT (Paolo Bonzini) [1732096] - [x86] kvm: lapic: Fix pending interrupt in IRR blocked by software disable LAPIC (Paolo Bonzini) [1732096] - [x86] kvm: x86: Dynamically allocate user_fpu (Paolo Bonzini) [1732096] - [x86] revert "kvm: x86: Use task structs fpu field for user" (Paolo Bonzini) [1732096] - [x86] hyperv: suppress "pci: fatal: No config space access function found" (Raghavendra Rao) [1734265] - [powerpc] [kvm] kvm: ppc: book3s hv: Save and restore guest visible PSSCR bits on pseries (Suraj Jitindar Singh) [1710726] - [powerpc] pmu: Set pmcregs_in_use in paca when running as LPAR (Suraj Jitindar Singh) [1710726] - [powerpc] [kvm] kvm: ppc: book3s hv: Always save guest pmu for guest capable of nesting (Suraj Jitindar Singh) [1710726] - [powerpc] kvm: ppc: book3s hv: xive: fix rollback when kvmppc_xive_create fails (David Gibson) [1731900] - [powerpc] powerpc/pseries: Fix xive=off command line (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: don't use string functions from lib/ (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc: remove CONFIG_CMDLINE #ifdef mess (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc: Move `path` variable inside DEBUG_PROM (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Generate "phandle" instead of "linux, phandle" (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Move a few remaining statics to appropriate sections (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Move prom_radix_disable to __prombss (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Remove support for OPAL v2 (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Replace __initdata with __prombss when applicable (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Make of_workarounds static (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/powernv/idle: Restore AMR/UAMOR/AMOR after idle (David Gibson) [1730183] - [powerpc] powerpc/powernv/idle: Restore IAMR after idle (David Gibson) [1730183]- [kernel] fork: report pid exhaustion correctly (Don Dutile) [1726448] - [lib] idr: Fix idr_get_next race with idr_remove (Don Dutile) [1726448] - [kernel] Fix failure path in alloc_pid() (Don Dutile) [1726448] - [target] scsi: iscsi: set auth_protocol back to NULL if CHAP_A value is not supported (Maurizio Lombardi) [1733498]- [infiniband] IB/umem: Add missing down_read on umem_rwsem (Alaa Hleihel) [1733188] - [fs] gfs2: Fix rounding error in gfs2_iomap_page_prepare (Andreas Grunbacher) [1733621] - [s390] s390/qeth: cancel cmd on early error (Philipp Rudo) [1731430] - [s390] s390/qeth: simplify reply object handling (Philipp Rudo) [1731430] - [s390] s390/qeth: release cmd buffer in error paths (Philipp Rudo) [1731430] - [mm] mm: hugetlb: soft-offline: dissolve_free_huge_page() return zero on !PageHuge (Rafael Aquini) [1706088] - [mm] mm: soft-offline: return -EBUSY if set_hwpoison_free_buddy_page() fails (Rafael Aquini) [1706088] - [mm] mm: soft-offline: close the race against page allocation (Rafael Aquini) [1706088] - [mm] mm: fix race on soft-offlining free huge pages (Rafael Aquini) [1706088] - [pci] PCI: Probe bridge window attributes once at enumeration-time (Myron Stowe) [1730763] - [mm] swap_readpage(): avoid blk_wake_io_task() if !synchronous (Ming Lei) [1724016] - [mm] mm/page_io.c: fix polled swap page in (Ming Lei) [1724016] - [include] fs: fix kABI for struct pipe_buf_operations (Miklos Szeredi) [1705007] {CVE-2019-11487} - [fs] fs: prevent page refcount overflow in pipe_buf_get (Miklos Szeredi) [1705007] {CVE-2019-11487} - [mm] mm: prevent get_user_pages() from overflowing page refcount (Miklos Szeredi) [1705007] {CVE-2019-11487} - [include] mm: add 'try_get_page()' helper function (Miklos Szeredi) [1705007] {CVE-2019-11487} - [include] mm: make page ref count overflow check tighter and more explicit (Miklos Szeredi) [1705007] {CVE-2019-11487} - [fs] fuse: call pipe_buf_release() under pipe lock (Miklos Szeredi) [1705007] {CVE-2019-11487} - [kernel] trace: Fix preempt_enable_no_resched() abuse (Phil Auld) [1705550] - [kernel] sched/numa: Fix a possible divide-by-zero (Phil Auld) [1705550] - [kernel] sched/core: Fix buffer overflow in cgroup2 property cpu.max (Phil Auld) [1705550] - [kernel] sched/fair: Remove unused 'sd' parameter from select_idle_smt() (Phil Auld) [1705550] - [kernel] sched/topology: Remove the ::smt_gain field from 'struct sched_domain' cleanups (Phil Auld) [1705550] - [kernel] sched/numa: Remove unused code from update_numa_stats() (Phil Auld) [1705550]- [s390] virtio/s390: fix race on airq_areas[] (Cornelia Huck) [1733499] - [powerpc] powerpc: ignore __GFP_DMA/DMA32 if we left an empty ZONE_DMA/DMA32 enabled for kABI purposes (David Gibson) [1728314] - [netdrv] bnx2x: Disable multi-cos feature. (Manish Chopra) [1679024] - [char] tpm: tpm_ibm_vtpm: Fix unallocated banks (Jerry Snitselaar) [1726126] - [scsi] scsi: ibmvfc: fix WARN_ON during event pool release (Steve Best) [1731133] - [tools] perf vendor events power9: General metrics (Michael Petlan) [1694638] - [tools] perf vendor events power9: Branch_prediction, instruction_stats, latency, lsu_rejects, memory, prefetch & translation metrics (Michael Petlan) [1694638] - [tools] perf vendor events power9: Dl1_reloads, instruction_misses, l[23]_stats & pteg_reloads metrics (Michael Petlan) [1694638] - [tools] perf vendor events power9: Cpi_breakdown & estimated_dcache_miss_cpi metrics (Michael Petlan) [1694638] - [tools] perf vendor events power8: Translaton & general metrics (Michael Petlan) [1694638] - [tools] perf vendor events power8: Branch_prediction, latency, bus_stats, instruction_mix & instruction_stats metrics (Michael Petlan) [1694638] - [tools] perf vendor events power8: Dl1_reload, instruction_misses, l2_stats, lsu_rejects, memory & pteg_reloads metrics (Michael Petlan) [1694638] - [tools] perf vendor events power8: Cpi_breakdown & estimated_dcache_miss_cpi metrics (Michael Petlan) [1694638] - [powerpc] powerpc/tm: Fix oops on sigreturn on systems without TM (Steve Best) [1732753] - [net] net/mlx5e: Add ndo_set_feature for uplink representor (Alaa Hleihel) [1727708] - [misc] VMCI: Fix integer overflow in VMCI handle arrays (Cathy Avery) [1729587] - [tools] perf version: Fix segfault due to missing OPT_END() (Michael Petlan) [1732065] - [sound] ALSA: hda/realtek - Headphone Mic can't record after S3 (Jaroslav Kysela) [1727676] - [char] random: fix CRNG initialization when random.trust_cpu=1 (Oleksandr Natalenko) [1728583] - [char] random: move rand_initialize() earlier (Oleksandr Natalenko) [1728583] - [char] random: make CPU trust a boot parameter (Oleksandr Natalenko) [1728583] - [char] random: add a config option to trust the CPU's hwrng (Oleksandr Natalenko) [1728583] - [fs] blockdev: Fix livelocks on loop device (Ming Lei) [1683593] - [block] nbd: Use set_blocksize() to set device blocksize (Ming Lei) [1683593] - [kernel] ptrace: Fix ->ptracer_cred handling for PTRACE_TRACEME (Aristeu Rozanski) [1730959] {CVE-2019-13272}- [include] linux/printk.h: use DYNAMIC_DEBUG_BRANCH in pr_debug_ratelimited (Mike Snitzer) [1729301] - [include] dm: use printk ratelimiting functions (Mike Snitzer) [1729301] - [md] dm crypt: move detailed message into debug level (Mike Snitzer) [1729301] - [powerpc] powerpc/xive: Fix loop exit-condition in xive_find_target_in_mask() (Steve Best) [1731838] - [s390] s390/qeth: be drop monitor friendly (Philipp Rudo) [1731200] - [s390] s390/cpumf: Add extended counter set definitions for model 8561 and 8562 (Philipp Rudo) [1731195] - [s390] s390/qdio: handle PENDING state for QEBSM devices (Philipp Rudo) [1731194] - [net] net/af_iucv: build proper skbs for HiperTransport (Philipp Rudo) [1731193] - [net] net/af_iucv: remove GFP_DMA restriction for HiperTransport (Philipp Rudo) [1731193] - [wireless] iwlwifi: mvm: disable TX-AMSDU on older NICs (Jarod Wilson) [1728992] - [wireless] carl9170: fix misuse of device driver API (Jarod Wilson) [1728992] - [wireless] p54: fix crash during initialization (Jarod Wilson) [1728992] - [wireless] p54usb: Fix race between disconnect and firmware loading (Jarod Wilson) [1728992] - [wireless] mwifiex: Don't abort on small, spec-compliant vendor IEs (Jarod Wilson) [1728992] - [wireless] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 507 (Jarod Wilson) [1728992] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 505 (Jarod Wilson) [1728992] - [wireless] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 501 (Jarod Wilson) [1728992] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jarod Wilson) [1728992] - [wireless] brcmfmac: sdio: Don't tune while the card is off (Jarod Wilson) [1728992] - [wireless] brcmfmac: sdio: Disable auto-tuning around commands expected to fail (Jarod Wilson) [1728992] - [mmc] mmc: core: Add sdio_retune_hold_now() and sdio_retune_release() (Jarod Wilson) [1728992] - [mmc] mmc: core: API to temporarily disable retuning for SDIO CRC errors (Jarod Wilson) [1728992] - [wireless] Revert "brcmfmac: disable command decode in sdio_aos" (Jarod Wilson) [1728992] - [net] cfg80211: report measurement start TSF correctly (Jarod Wilson) [1728992] - [net] cfg80211: fix memory leak of wiphy device name (Jarod Wilson) [1728992] - [net] cfg80211: util: fix bit count off by one (Jarod Wilson) [1728992] - [net] mac80211: do not start any work during reconfigure flow (Jarod Wilson) [1728992] - [net] cfg80211: use BIT_ULL in cfg80211_parse_mbssid_data() (Jarod Wilson) [1728992] - [net] mac80211: only warn once on chanctx_conf being NULL (Jarod Wilson) [1728992] - [net] mac80211: drop robust management frames from unknown TA (Jarod Wilson) [1728992] - [wireless] mwifiex: Fix heap overflow in mwifiex_uap_parse_tail_ies() (Jarod Wilson) [1728992 1721749] {CVE-2019-10126} - [wireless] iwlwifi: mvm: change TLC config cmd sent by rs to be async (Jarod Wilson) [1728992] - [wireless] iwlwifi: Fix double-free problems in iwl_req_fw_callback() (Jarod Wilson) [1728992] - [wireless] iwlwifi: fix AX201 killer sku loading firmware issue (Jarod Wilson) [1728992] - [wireless] iwlwifi: print fseq info upon fw assert (Jarod Wilson) [1728992] - [wireless] iwlwifi: clear persistence bit according to device family (Jarod Wilson) [1728992] - [wireless] iwlwifi: fix load in rfkill flow for unified firmware (Jarod Wilson) [1728992] - [wireless] iwlwifi: mvm: remove d3_sram debugfs file (Jarod Wilson) [1728992] - [wireless] mwifiex: Abort at too short BSS descriptor element (Jarod Wilson) [1728992 1714476] {CVE-2019-3846} - [wireless] mwifiex: Fix possible buffer overflows at parsing bss descriptor (Jarod Wilson) [1728992 1714476] {CVE-2019-3846} - [net] mac80211: free peer keys before vif down in mesh (Jarod Wilson) [1728992] - [wireless] rtw88: Make some symbols static (Jarod Wilson) [1728992] - [wireless] rtw88: avoid circular locking between local->iflist_mtx and rtwdev->mutex (Jarod Wilson) [1728992] - [wireless] rtw88: fix unassigned rssi_level in rtw_sta_info (Jarod Wilson) [1728992] - [wireless] rtw88: fix subscript above array bounds compiler warning (Jarod Wilson) [1728992] - [net] mac80211: mesh: fix RCU warning (Jarod Wilson) [1728992] - [net] nl80211: fix station_info pertid memory leak (Jarod Wilson) [1728992] - [net] mac80211: Do not use stack memory with scatterlist for GMAC (Jarod Wilson) [1728992] - [net] {nl,mac}80211: allow 4addr AP operation on crypto controlled devices (Jarod Wilson) [1728992] - [wireless] mac80211_hwsim: mark expected switch fall-through (Jarod Wilson) [1728992] - [net] mac80211: fix rate reporting inside cfg80211_calculate_bitrate_he() (Jarod Wilson) [1728992] - [net] mac80211: remove set but not used variable 'old' (Jarod Wilson) [1728992] - [net] mac80211: handle deauthentication/disassociation from TDLS peer (Jarod Wilson) [1728992] - [net] wireless: Skip directory when generating certificates (Jarod Wilson) [1728992] - [netdrv] i40e: Check and set the PF driver state first in i40e_ndo_set_vf_mac (Stefan Assmann) [1719538] - [fs] cifs: fix crash in smb2_compound_op()/smb2_set_next_command() (Leif Sahlberg) [1722704] - [firmware] efi/arm: Show SMBIOS bank/device location in CPER and GHES error logs (Robert Richter) [1721386]- [x86] x86/speculation: Allow guests to use SSBD even if host does not (Waiman Long) [1728341] - [block] block: kill BLK_MQ_F_SG_MERGE (Ming Lei) [1716595] - [block] block: kill QUEUE_FLAG_NO_SG_MERGE (Ming Lei) [1716595]- [x86] x86/insn-eval: Fix use-after-free access to LDT entry (Rafael Aquini) [1728561] {CVE-2019-13233} - [arm64] arm64/mm: Correct the cache line size warning with non coherent device (Mark Salter) [1715061] - [arm64] arm64: cacheinfo: Update cache_line_size detected from DT or PPTT (Mark Salter) [1715061] - [base] drivers: base: cacheinfo: Add variable to record max cache line size (Mark Salter) [1715061] - [arm64] arm64: cpufeature: Trap CTR_EL0 access only where it is necessary (Mark Salter) [1715061] - [arm64] arm64: cpufeature: Fix handling of CTR_EL0.IDC field (Mark Salter) [1715061] - [arm64] arm64: cpufeature: ctr: Fix cpu capability check for late CPUs (Mark Salter) [1715061] - [arm64] arm64: cpu_errata: Remove ARM64_MISMATCHED_CACHE_LINE_SIZE (Mark Salter) [1715061] - [fs] gfs2: Clean up freeing struct gfs2_sbd (Robert S Peterson) [1683698] - [target] scsi: target/iblock: Fix overrun in WRITE SAME emulation (Maurizio Lombardi) [1729503] - [x86] kvm/nvmx: fix VMCLEAR when Enlightened VMCS is in use (Vitaly Kuznetsov) [1717785] - [x86] kvm/nvmx: don't use clean fields data on enlightened VMLAUNCH (Vitaly Kuznetsov) [1717785] - [x86] kvm: nvmx: use correct clean fields when copying from eVMCS (Vitaly Kuznetsov) [1717785] - [fs] NFS4: Only set creation opendata if O_CREAT (Benjamin Coddington) [1708471] - [tools] perf test: Fix failure of 'evsel-tp-sched' test on s390 (Michael Petlan) [1729213] - [fs] PNFS fallback to MDS if no deviceid found (Benjamin Coddington) [1708386] - [mm] mm, memcg: add a memcg_slabinfo debugfs file (Waiman Long) [1699202] - [mm] mm: memcg/slab: reparent memcg kmem_caches on cgroup removal (Waiman Long) [1699202] - [mm] mm: memcg/slab: stop setting page->mem_cgroup pointer for slab pages (Waiman Long) [1699202] - [mm] mm: memcg/slab: rework non-root kmem_cache lifecycle management (Waiman Long) [1699202] - [mm] mm: memcg/slab: synchronize access to kmem_cache dying flag using a spinlock (Waiman Long) [1699202] - [mm] mm: memcg/slab: don't check the dying flag on kmem_cache creation (Waiman Long) [1699202] - [mm] mm: memcg/slab: unify SLAB and SLUB page accounting (Waiman Long) [1699202] - [mm] mm: memcg/slab: introduce __memcg_kmem_uncharge_memcg() (Waiman Long) [1699202] - [mm] mm: memcg/slab: generalize postponed non-root kmem_cache deactivation (Waiman Long) [1699202] - [mm] mm: memcg/slab: rename slab delayed deactivation functions and fields (Waiman Long) [1699202] - [mm] mm: memcg/slab: postpone kmem_cache memcg pointer initialization to memcg_link_cache() (Waiman Long) [1699202] - [mm] slub: add comments to endif pre-processor macros (Waiman Long) [1699202] - [mm] mm, slab: shorten kmalloc cache names for large sizes (Waiman Long) [1699202] - [base] mm, proc: add KReclaimable to /proc/meminfo (Waiman Long) [1699202] - [mm] mm: rename and change semantics of nr_indirectly_reclaimable_bytes (Waiman Long) [1699202] - [fs] dcache: allocate external names from reclaimable kmalloc caches (Waiman Long) [1699202] - [mm] mm, slab/slub: introduce kmalloc-reclaimable caches (Waiman Long) [1699202] - [mm] mm, slab: combine kmalloc_caches and kmalloc_dma_caches (Waiman Long) [1699202] - [mm] mm: don't warn about large allocations for slab (Waiman Long) [1699202] - [mm] slab: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1699202] - [acpi] ACPI / PM: LPIT: Register sysfs attributes based on FADT (Lenny Szubowicz) [1493461] - [platform] platform/x86: intel_pmc_core: Quirk to ignore XTAL shutdown (Lenny Szubowicz) [1493461] - [platform] platform/x86: intel_pmc_core: Add Package cstates residency info (Lenny Szubowicz) [1493461] - [platform] platform/x86: intel_pmc_core: Add ICL platform support (Lenny Szubowicz) [1493461] - [platform] platform/x86: intel_pmc: Sort headers alphabetically (Lenny Szubowicz) [1493461] - [net] Revert "[net] net: openvswitch: Add a new action check_pkt_len" ("Herton R. Krzesinski")- [nvme] nvme-rdma: use nr_phys_segments when map rq to sgl (David Milburn) [1729113] - [nvme] nvme-loop: kill timeout handler (Ming Lei) [1692744] - [netdrv] bnxt_en: Suppress error messages when querying DSCP DCB capabilities. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Cap the returned MSIX vectors to the RDMA driver. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix statistics context reservation logic for RDMA driver. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix ethtool selftest crash under error conditions. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Disable bus master during PCI shutdown and driver unload. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Reduce memory usage when running in kdump kernel. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix possible BUG() condition when calling pci_disable_msix(). (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix aggregation buffer leak under OOM condition. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Improve NQ reservations. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix uninitialized variable usage in bnxt_rx_pkt(). (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix statistics context reservation logic. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Pass correct extended TX port statistics size to firmware. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix possible crash in bnxt_hwrm_ring_free() under error conditions. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Free short FW command HWRM memory in error path in bnxt_init_one() (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Improve multicast address setup logic. (Selvin Xavier) [1727972] - [net] net: openvswitch: Add a new action check_pkt_len (Numan Siddique) [1700733]- [crypto] crypto: vmx - ghash: do nosimd fallback manually (Desnes Augusto Nunes do Rosario) [1729532] - [crypto] crypto: vmx - CTR: always increment IV as quadword (Desnes Augusto Nunes do Rosario) [1729532] - [net] vsock/virtio: fix flush of works during the .remove() (Stefano Garzarella) [1700312] - [net] vsock/virtio: stop workers during the .remove() (Stefano Garzarella) [1700312] - [net] vsock/virtio: use RCU to avoid use-after-free on the_virtio_vsock (Stefano Garzarella) [1700312] - [net] vsock/virtio: Initialize core virtio vsock before registering the driver (Stefano Garzarella) [1700312] - [nvme] nvme-fabrics: document the poll function argument (David Milburn) [1727784 1725132] - [nvme] nvme-rdma: fix queue mapping when queue count is limited (David Milburn) [1727784 1725132] - [nvme] nvme-rdma: rework queue maps handling (David Milburn) [1727784 1725132] - [nvme] nvme-rdma: implement polling queue map (David Milburn) [1727784 1725132] - [nvme] nvme-fabrics: allow nvmf_connect_io_queue to poll (David Milburn) [1727784 1725132] - [hid] HID: multitouch: Add pointstick support for ALPS Touchpad (Benjamin Tissoires) [1672423]- [tools] perf header: Assign proper ff->ph in perf_event__synthesize_features() (Michael Petlan) [1667983] - [pci] PCI/IOV: Assume SR-IOV VFs support extended config space. (Myron Stowe) [1714978] - [pci] Revert "PCI/IOV: Use VF0 cached config space size for other VFs" (Myron Stowe) [1714978] - [x86] x86/crash: Add e820 reserved ranges to kdump kernel's e820 table (Lianbo Jiang) [1630108] - [mm] x86/mm: Rework ioremap resource mapping determination (Lianbo Jiang) [1630108] - [x86] x86/e820, ioport: Add a new I/O resource descriptor IORES_DESC_RESERVED (Lianbo Jiang) [1630108] - [kernel] resource: Fix find_next_iomem_res() iteration issue (Lianbo Jiang) [1630108] - [kernel] resource: Include resource end in walk_*() interfaces (Lianbo Jiang) [1630108] - [x86] x86/kexec: Correct KEXEC_BACKUP_SRC_END off-by-one error (Lianbo Jiang) [1630108] - [scsi] scsi: lpfc: Update lpfc version to 12.2.0.3 (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix kernel warnings related to smp_processor_id() (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix BFS crash with DIX enabled (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix FDMI fc4type for nvme support (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix fcp_rsp_len checking on lun reset (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix poor use of hardware queues if fewer irq vectors (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix oops when driver is loaded with 1 interrupt vector (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix incorrect logical link speed on trunks when links down (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix memory leak in abnormal exit path from lpfc_eq_create (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Rework misleading nvme not supported in firmware message (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix hardlockup in scsi_cmd_iocb_cmpl (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Cancel queued work for an IO when processing a received ABTS (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Prevent 'use after free' memory overwrite in nvmet LS handling (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix PT2PT PLOGI collison stopping discovery (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Revert message logging on unsupported topology (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix nvmet handling of received ABTS for unmapped frames (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Separate CQ processing for nvmet_fc upcalls (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Revise message when stuck due to unresponsive adapter (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Correct nvmet buffer free race condition (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix nvmet target abort cmd matching (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix alloc context on oas lun creations (Dick Kennedy) [1717027]- [virt] kvm: fix guest initialization code mismerge (Marcelo Tosatti) [1726487] - [powerpc] powerpc/watchpoint: Restore NV GPRs while returning from exception (Steve Best) [1728557] - [fs] fs/proc/vmcore: Enable dumping of encrypted memory when SEV was active (Lianbo Jiang) [1646810] - [x86] x86/kexec: Set the C-bit in the identity map page table when SEV is active (Lianbo Jiang) [1646810] - [x86] x86/kexec: Do not map kexec area as decrypted when SEV is active (Lianbo Jiang) [1646810] - [mm] x86/mm: Do not use set_{pud, pmd}_safe() when splitting a large page (Lianbo Jiang) [1646810]- [net] sched: protect against stack overflow in TC act_mirred (Ivan Vecera) [1726399] - [net] sched: refactor reinsert action (Ivan Vecera) [1726399] - [net] mpls: Fix 6PE forwarding (Hangbin Liu) [1726533] - [net] make skb_dst_force return true when dst is refcounted (Florian Westphal) [1704809] - [net] ipv4: Fix off-by-one in route dump counter without netlink strict checking (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv6: fix suspicious RCU usage in rt6_dump_route() (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv4: fix suspicious RCU usage in fib_dump_info_fnhe() (Stefano Brivio) [1725383 1725381 1574290] - [net] ip6_fib: Don't discard nodes with valid routing information in fib6_locate_1() (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv6: Dump route exceptions if requested (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv6/route: Change return code of rt6_dump_route() for partial node dumps (Stefano Brivio) [1725383 1725381 1574290] - [net] revert "net/ipv6: Bail early if user only wants cloned entries" (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv4: Dump route exceptions if requested (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv4/route: Allow NULL flowinfo in rt_fill_info() (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv4/fib_frontend: Allow RTM_F_CLONED flag to be used for filtering (Stefano Brivio) [1725383 1725381 1574290] - [net] fib_frontend, ip6_fib: Select routes or exceptions dump from RTM_F_CLONED (Stefano Brivio) [1725383 1725381 1574290] - [tools] selftests: bpf: disable test_lwt_seg6local (Jiri Benc) [1716346] - [netdrv] ipvlan: Fix ipvlan device tso disabled while NETIF_F_IP_CSUM is set (Matteo Croce) [1725125] - [netdrv] ipvlan: disallow userns cap_net_admin to change global mode/flags (Matteo Croce) [1725124] - [net] netfilter: nft_fib: Fix existence check support (Phil Sutter) [1680578] - [net] ipset: Fix memory accounting for hash types on resize (Stefano Brivio) [1714111] - [tools] selftests: pmtu: Make list_flush_ipv6_exception test more demanding (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce list_flush_ipv4_exception test case (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce list_flush_ipv6_exception test case (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Add support for routing via nexthop objects (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Move route installs to a new function (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Move running of test into a new function (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Fix encapsulating device in pmtu_vti6_link_change_mtu (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Simplify cleanup and namespace names (Stefano Brivio) [1725384] - [tools] selftests: pmtu.sh: Remove quotes around commands in setup_xfrm (Stefano Brivio) [1725384] - [tools] selftests: Add debugging options to pmtu.sh (Stefano Brivio) [1725384] - [tools] selftests: pmtu: add explicit tests for PMTU exceptions cleanup (Stefano Brivio) [1725384] - [tools] selftests: pmtu: disable DAD in all namespaces (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce FoU and GUE PMTU exceptions tests (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce tests for IPv4/IPv6 over GENEVE over IPv4/IPv6 (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce tests for IPv4/IPv6 over VXLAN over IPv4/IPv6 (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Add optional traffic captures for single tests (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Allow selection of single tests (Stefano Brivio) [1725384] - [tools] selftests: pmtu: add basic IPv4 and IPv6 PMTU tests (Stefano Brivio) [1725384] - [tools] selftests: pmtu: extend MTU parsing helper to locked MTU (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce check_pmtu_value() (Stefano Brivio) [1725384] - [tools] selftests: pmtu: properly redirect stderr to /dev/null (Stefano Brivio) [1725384] - [tools] selftests: pmtu: detect correct binary to ping ipv6 addresses (Stefano Brivio) [1725384] - [net] ipv6: icmp: Updating pmtu for link local route (Guillaume Nault) [1721961] - [net] bridge: Mark FDB entries that were added by user as such (Ivan Vecera) [1724400] - [net] tipc: change to use register_pernet_device (Xin Long) [1719136] - [net] sched: cls_flower: fix infinite loop in fl_walk() (Davide Caratti) [1712739]- [rpmspec] redhat: fix vmlinux debuginfo on ppc64le (Jan Stancek) [1727638] - [powerpc] powerpc/rtas: retry when cpu offline races with suspend/migration (Steve Best) [1727051] - [kernel] arm64/crashkernel: Reduce crashkernel size to 448M by default (Bhupesh Sharma) [1564422]- [scsi] scsi: libiscsi: Fix race between iscsi_xmit_task and iscsi_complete_task (Chris Leech) [1718875] - [scsi] scsi: lpfc: Update lpfc version to 12.2.0.2 (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: add check for loss of ndlp when sending RRQ (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: correct rcu unlock issue in lpfc_nvme_info_show (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: resolve lockdep warnings (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Make lpfc_sli4_oas_verify static (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Fix a recently introduced compiler warning (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Fix missing wakeups on abort threads (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Change smp_processor_id() into raw_smp_processor_id() (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Remove unused functions (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Remove set-but-not-used variables (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Move trunk_errmsg[] from a header file into a .c file (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Annotate switch/case fall-through (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Fix indentation and balance braces (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Declare local functions static (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: avoid uninitialized variable warning (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: change snprintf to scnprintf for possible overflow (Dick Kennedy) [1714795] - [net] Bluetooth: hidp: fix buffer overflow (Gopal Tiwari) [1723654] {CVE-2019-11884} - [s390] virtio/s390: make airq summary indicators DMA (Philipp Rudo) [1651752] - [s390] virtio/s390: use DMA memory for ccw I/O and classic notifiers (Philipp Rudo) [1651752] - [s390] virtio/s390: add indirection to indicators access (Philipp Rudo) [1651752] - [s390] virtio/s390: use cacheline aligned airq bit vectors (Philipp Rudo) [1651752] - [s390] s390/airq: use DMA memory for adapter interrupts (Philipp Rudo) [1651752] - [s390] s390/cio: add basic protected virtualization support (Philipp Rudo) [1651752] - [s390] s390/cio: introduce DMA pools to cio (Philipp Rudo) [1651752] - [s390] s390/mm: force swiotlb for protected virtualization (Philipp Rudo) [1651752] - [s390] virtio/s390: DMA support for virtio-ccw (Philipp Rudo) [1651752] - [s390] virtio/s390: use vring_create_virtqueue (Philipp Rudo) [1651752] - [block] virtio-blk: Consider virtio_max_dma_size() for maximum segment size (Philipp Rudo) [1651752] - [virtio] virtio: Introduce virtio_max_dma_size() (Philipp Rudo) [1651752] - [kernel] dma: Introduce dma_max_mapping_size() (Philipp Rudo) [1651752] - [kernel] swiotlb: Add is_swiotlb_active() function (Philipp Rudo) [1651752] - [kernel] swiotlb: Introduce swiotlb_max_mapping_size() (Philipp Rudo) [1651752] - [mm] x86/mm: Create a workarea in the kernel for SME early encryption (Lianbo Jiang) [1564427] - [x86] x86/mm: Identify the end of the kernel area to be reserved (Lianbo Jiang) [1564427] - [x86] x86/kdump: Export the SME mask to vmcoreinfo (Lianbo Jiang) [1564427] - [fs] proc/vmcore: Fix i386 build error of missing copy_oldmem_page_encrypted() (Lianbo Jiang) [1564427] - [fs] kdump, proc/vmcore: Enable kdumping encrypted memory with SME enabled (Lianbo Jiang) [1564427] - [iommu] iommu/amd: Remap the IOMMU device table with the memory encryption mask for kdump (Lianbo Jiang) [1564427] - [kernel] kexec: Allocate decrypted control pages for kdump if SME is enabled (Lianbo Jiang) [1564427] - [mm] x86/ioremap: Add an ioremap_encrypted() helper (Lianbo Jiang) [1564427] - [documentation] Documentation: Add ARM64 to kernel-parameters.rst (Jeremy Linton) [1640855] - [arm64] arm64/speculation: Support 'mitigations=' cmdline option (Jeremy Linton) [1640855] - [arm64] arm64: ssbs: Don't treat CPUs with SSBS as unaffected by SSB (Jeremy Linton) [1640855] - [arm64] arm64: enable generic CPU vulnerabilites support (Jeremy Linton) [1640855] - [arm64] arm64: add sysfs vulnerability show for speculative store bypass (Jeremy Linton) [1640855] - [arm64] arm64: Always enable ssb vulnerability detection (Jeremy Linton) [1640855] - [arm64] arm64: add sysfs vulnerability show for spectre-v2 (Jeremy Linton) [1640855] - [arm64] arm64: Always enable spectre-v2 vulnerability detection (Jeremy Linton) [1640855] - [arm64] arm64: Use firmware to detect CPUs that are not affected by Spectre-v2 (Jeremy Linton) [1640855] - [arm64] arm64: Advertise mitigation of Spectre-v2, or lack thereof (Jeremy Linton) [1640855] - [arm64] arm64: add sysfs vulnerability show for meltdown (Jeremy Linton) [1640855] - [arm64] arm64: Add sysfs vulnerability show for spectre-v1 (Jeremy Linton) [1640855] - [arm64] arm64: Provide a command line to disable spectre_v2 mitigation (Jeremy Linton) [1640855] - [documentation] powerpc/fsl: Add FSL_PPC_BOOK3E as supported arch for nospectre_v2 boot arg (Jeremy Linton) [1640855] - [documentation] Documentation: Document arm64 kpti control (Jeremy Linton) [1640855] - [arm64] arm64: kpti: Whitelist HiSilicon Taishan v110 CPUs (Jeremy Linton) [1640855] - [arm64] arm64: Add MIDR encoding for HiSilicon Taishan CPUs (Jeremy Linton) [1640855] - [arm64] arm64: kpti: Whitelist Cortex-A CPUs that don't implement the CSV3 field (Jeremy Linton) [1640855] - [arm64] arm64: kpti: Update arm64_kernel_use_ng_mappings() when forced on (Jeremy Linton) [1640855] - [arm64] arm64: kpti: Avoid rewriting early page tables when KASLR is enabled (Jeremy Linton) [1640855] - [arm64] arm64: capabilities: Merge duplicate Cavium erratum entries (Jeremy Linton) [1640855] - [arm64] arm64: capabilities: Merge entries for ARM64_WORKAROUND_CLEAN_CACHE (Jeremy Linton) [1640855] - [arm64] arm64: Use a raw spinlock in __install_bp_hardening_cb() (Jeremy Linton) [1640855] - [arm64] arm64: KVM: Guests can skip __install_bp_hardening_cb()s HYP work (Jeremy Linton) [1640855] - [arm64] arm64: fix SSBS sanitization (Jeremy Linton) [1640855] - [arm64] arm64: don't zero DIT on signal return (Jeremy Linton) [1640855] - [kvm] KVM: arm64: Set SCTLR_EL2.DSSBS if SSBD is forcefully disabled and !vhe (Jeremy Linton) [1640855] - [arm64] arm64: ssbd: Add support for PSTATE.SSBS rather than trapping to EL3 (Jeremy Linton) [1640855] - [arm64] arm64: ssbd: Drop #ifdefs for PR_SPEC_STORE_BYPASS (Jeremy Linton) [1640855] - [arm64] arm64: cpufeature: Detect SSBS and advertise to userspace (Jeremy Linton) [1640855] - [arm64] arm64: move SCTLR_EL{1,2} assertions to (Jeremy Linton) [1640855]- [powerpc] powerpc/mm/64s/hash: Reallocate context ids on fork (Steve Best) [1723808] - [powerpc] powerpc/perf: Use cpumask_last() to determine the designated cpu for nest/core units. (Steve Best) [1725746] - [fs] iomap: fix page_done callback for short writes (Andreas Grunbacher) [1724361] - [fs] fs: fold __generic_write_end back into generic_write_end (Andreas Grunbacher) [1724361] - [fs] iomap: don't mark the inode dirty in iomap_write_end (Andreas Grunbacher) [1724361] - [fs] gfs2: Fix iomap write page reclaim deadlock (Andreas Grunbacher) [1724361] - [fs] iomap: Add a page_prepare callback (Andreas Grunbacher) [1724361] - [fs] iomap: Fix use-after-free error in page_done callback (Andreas Grunbacher) [1724361] - [fs] fs: Turn __generic_write_end into a void function (Andreas Grunbacher) [1724361] - [fs] iomap: Clean up __generic_write_end calling (Andreas Grunbacher) [1724361] - [kvm] KVM: PPC: Book3S HV: Clear pending decrementer exceptions on nested guest entry (Suraj Jitindar Singh) [1718822] - [kvm] KVM: PPC: Book3S HV: Signed extend decrementer value if not using large decrementer (Suraj Jitindar Singh) [1718822]- [hid] HID: chicony: add another quirk for PixArt mouse (Oleksandr Natalenko) [1724967] - [scsi] scsi: smartpqi: properly set both the DMA mask and the coherent DMA mask (Don Brace) [1712272] - [tools] perf beauty waitid options: Fix up prefix showing logic (Michael Petlan) [1715507] - [include] redhat: perf kABI-check failure fix (Michael Petlan) [1715507] - [tools] perf script python: Add Python3 support to tests/attr.py (Michael Petlan) [1715507] - [tools] perf trace: Support multiple "vfs_getname" probes (Michael Petlan) [1715507] - [tools] perf symbols: Filter out hidden symbols from labels (Michael Petlan) [1715507] - [tools] perf symbols: Add fallback definitions for GELF_ST_VISIBILITY() (Michael Petlan) [1715507] - [tools] perf clang: Do not use 'return std::move(something)' (Michael Petlan) [1715507] - [tools] perf tests evsel-tp-sched: Fix bitwise operator (Michael Petlan) [1715507] - [tools] perf script: Fix crash when processing recorded stat data (Michael Petlan) [1715507] - [tools] perf top: Fix wrong hottest instruction highlighted (Michael Petlan) [1715507] - [tools] perf tools: Handle TOPOLOGY headers with no CPU (Michael Petlan) [1715507] - [tools] perf python: Remove -fstack-clash-protection when building with some clang versions (Michael Petlan) [1715507] - [tools] perf script: Fix crash with printing mixed trace point and other events (Michael Petlan) [1715507] - [tools] perf ordered_events: Fix crash in ordered_events__free (Michael Petlan) [1715507] - [tools] tools headers powerpc: Remove unistd.h (Michael Petlan) [1715507] - [tools] perf powerpc: Rework syscall table generation (Michael Petlan) [1715507] - [tools] perf symbols: Add 'arch_cpu_idle' to the list of kernel idle symbols (Michael Petlan) [1715507] - [tools] perf beauty: Switch from using uapi/linux/fs.h to uapi/linux/mount.h (Michael Petlan) [1715507] - [tools] tools include uapi: Grab a copy of linux/mount.h (Michael Petlan) [1715507] - [tools] perf top: Lift restriction on using callchains without "sym" in --sort (Michael Petlan) [1715507] - [tools] tools lib traceevent: Remove tep_data_event_from_type() API (Michael Petlan) [1715507] - [tools] tools lib traceevent: Rename tep_is_file_bigendian() to tep_file_bigendian() (Michael Petlan) [1715507] - [tools] tools lib traceevent: Changed return logic of tep_register_event_handler() API (Michael Petlan) [1715507] - [tools] tools lib traceevent: Changed return logic of trace_seq_printf() and trace_seq_vprintf() APIs (Michael Petlan) [1715507] - [tools] tools lib traceevent: Rename struct cmdline to struct tep_cmdline (Michael Petlan) [1715507] - [tools] tools lib traceevent: Initialize host_bigendian at tep_handle allocation (Michael Petlan) [1715507] - [tools] tools lib traceevent: Introduce new libtracevent API: tep_override_comm() (Michael Petlan) [1715507] - [tools] perf tests: Add a test for the ARM 32-bitpage (Michael Petlan) [1715507] - [tools] perf tools: Make find_vdso_map() more modular (Michael Petlan) [1715507] - [tools] perf trace: Fix alignment forlines (Michael Petlan) [1715507] - [tools] perf trace: Fix ')' placement in "interrupted" syscall lines (Michael Petlan) [1715507] - [tools] perf test shell: Use a fallback to get the pathname in vfs_getname (Michael Petlan) [1715507] - [tools] perf python: Make sure the python binding output directory is in place (Michael Petlan) [1715507] - [tools] perf strbuf: Remove redundant va_end() in strbuf_addv() (Michael Petlan) [1715507] - [tools] perf annotate: Pass filename to objdump via execl (Michael Petlan) [1715507] - [tools] perf report: Fix wrong iteration count in --branch-history (Michael Petlan) [1715507] - [tools] tools headers uapi: Sync copy of asm-generic/unistd.h with the kernel sources (Michael Petlan) [1715507] - [tools] tools beauty: Make the prctl option table generator catch all PR_ options (Michael Petlan) [1715507] - [tools] perf stat: Fix endless wait for child process (Michael Petlan) [1715507] - [tools] perf session: Add comment for perf_session__register_idle_thread() (Michael Petlan) [1715507] - [tools] perf thread-stack: Fix thread stack processing for the idle task (Michael Petlan) [1715507] - [tools] perf thread-stack: Allocate an array of thread stacks (Michael Petlan) [1715507] - [tools] perf thread-stack: Factor out thread_stack__init() (Michael Petlan) [1715507] - [tools] perf thread-stack: Allow for a thread stack array (Michael Petlan) [1715507] - [tools] perf thread-stack: Avoid direct reference to the thread's stack (Michael Petlan) [1715507] - [tools] perf thread-stack: Tidy thread_stack__bottom() usage (Michael Petlan) [1715507] - [tools] perf thread-stack: Simplify some code in thread_stack__process() (Michael Petlan) [1715507] - [tools] perf c2c: Increase the HITM ratio limit for displayed cachelines (Michael Petlan) [1715507] - [tools] perf c2c: Change the default coalesce setup (Michael Petlan) [1715507] - [tools] perf trace beauty ioctl: Beautify USBDEVFS_ commands (Michael Petlan) [1715507] - [tools] perf trace beauty: Export function to get the files for a thread (Michael Petlan) [1715507] - [tools] perf trace: Wire up ioctl's USBDEBFS_ cmd table generator (Michael Petlan) [1715507] - [tools] perf beauty ioctl: Add generator for USBDEVFS_ ioctl commands (Michael Petlan) [1715507] - [tools] tools headers uapi: Grab a copy of usbdevice_fs.h (Michael Petlan) [1715507] - [tools] perf trace: Store the major number for a file when storing its pathname (Michael Petlan) [1715507] - [tools] perf trace: Move the files table resizing to outside set_pathname() (Michael Petlan) [1715507] - [tools] perf trace: Rename thread_thread->paths to thread_trace->files (Michael Petlan) [1715507] - [tools] perf script: Fix LBR skid dump problems in brstackinsn (Michael Petlan) [1715507] - [tools] perf trace: Use correct SECCOMP prefix spelling, "SECOMP_*" -> "SECCOMP_*" (Michael Petlan) [1715507] - [tools] perf trace: Do not hardcode the size of the tracepoint common_ fields (Michael Petlan) [1715507] - [tools] perf build: Don't unconditionally link the libbfd feature test to -liberty and -lz (Michael Petlan) [1715507] - [tools] perf beauty mmap: PROT_WRITE should come before PROT_EXEC (Michael Petlan) [1715507] - [tools] perf trace: Check if the raw_syscalls:sys_{enter, exit} are setup before setting tp filter (Michael Petlan) [1715507] - [tools] perf symbols: Relax checks on perf-PID.map ownership (Michael Petlan) [1715507] - [tools] perf trace: Wire up the fadvise 'advice' table generator (Michael Petlan) [1715507] - [tools] perf beauty: Add generator for fadvise64's 'advice' arg constants (Michael Petlan) [1715507] - [tools] tools headers uapi: Grab a copy of fadvise.h (Michael Petlan) [1715507] - [tools] perf beauty mmap: Print mmap's 'offset' arg in hexadecimal (Michael Petlan) [1715507] - [tools] perf beauty mmap: Print PROT_READ before PROT_EXEC to match strace output (Michael Petlan) [1715507] - [tools] perf trace beauty: Beautify arch_prctl()'s arguments (Michael Petlan) [1715507] - [tools] perf trace: When showing string prefixes show prefix + ??? for unknown entries (Michael Petlan) [1715507] - [tools] perf trace: Move strarrays to beauty.h for further reuse (Michael Petlan) [1715507] - [tools] perf beauty: Wire up the x86_arch prctl code table generator (Michael Petlan) [1715507] - [tools] perf beauty: Add a string table generator for x86's 'arch_prctl' codes (Michael Petlan) [1715507] - [tools] tools include arch: Grab a copy of x86's prctl.h (Michael Petlan) [1715507] - [tools] perf trace: Show NULL when syscall pointer args are 0 (Michael Petlan) [1715507] - [tools] perf trace: Enclose the errno strings with () (Michael Petlan) [1715507] - [tools] perf augmented_raw_syscalls: Copy 'access' arg as well (Michael Petlan) [1715507] - [tools] perf trace: Add alignment spaces after the closing parens (Michael Petlan) [1715507] - [tools] perf trace beauty: Print O_RDONLY when (flags & O_ACCMODE) == 0 (Michael Petlan) [1715507] - [tools] perf trace: Allow asking for not suppressing common string prefixes (Michael Petlan) [1715507] - [tools] perf trace: Add a prefix member to the strarray class (Michael Petlan) [1715507] - [tools] perf trace: Enclose strings with double quotes (Michael Petlan) [1715507] - [tools] perf trace: Make the alignment of the syscall args be configurable (Michael Petlan) [1715507] - [tools] perf trace: Allow suppressing the syscall argument names (Michael Petlan) [1715507] - [tools] perf trace: Allow configuring if the syscall start timestamp should be printed (Michael Petlan) [1715507] - [tools] perf trace: Allow configuring default for perf_event_attr.inherit (Michael Petlan) [1715507] - [tools] perf config: Show the configuration when no arguments are provided (Michael Petlan) [1715507] - [tools] perf trace: Allow configuring if the syscall duration should be printed (Michael Petlan) [1715507] - [tools] perf trace: Allow configuring if zeroed syscall args should be printed (Michael Petlan) [1715507] - [tools] perf trace: Allow specifying a set of events to add in perfconfig (Michael Petlan) [1715507] - [tools] perf augmented_raw_syscalls: Do not include stdio.h (Michael Petlan) [1715507] - [tools] perf cs-etm: Generate branch sample for exception packet (Michael Petlan) [1715507] - [tools] perf cs-etm: Treat EO_TRACE element as trace discontinuity (Michael Petlan) [1715507] - [tools] perf cs-etm: Treat NO_SYNC element as trace discontinuity (Michael Petlan) [1715507] - [tools] perf cs-etm: Rename CS_ETM_TRACE_ON to CS_ETM_DISCONTINUITY (Michael Petlan) [1715507] - [tools] perf cs-etm: Refactor enumeration cs_etm_sample_type (Michael Petlan) [1715507] - [tools] perf cs-etm: Remove unused 'trace_on' in cs_etm_decoder (Michael Petlan) [1715507] - [tools] perf cs-etm: Avoid stale branch samples when flush packet (Michael Petlan) [1715507] - [tools] perf cs-etm: Correct packets swapping in cs_etm__flush() (Michael Petlan) [1715507] - [tools] perf trace: Switch to using a struct for the aumented_raw_syscalls syscalls map values (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Switch to using a struct for the syscalls map values (Michael Petlan) [1715507] - [tools] perf bpf: Move perf_event_output() from stdio.h to bpf.h (Michael Petlan) [1715507] - [tools] perf trace: Implement syscall filtering in augmented_syscalls (Michael Petlan) [1715507] - [tools] perf trace: Avoid using raw_syscalls in duplicity with eBPF augmentation (Michael Petlan) [1715507] - [tools] perf trace: Rename set_ev_qualifier_filter to clarify its a tracepoint filter (Michael Petlan) [1715507] - [tools] perf tools: Cast off_t to s64 to avoid warning on bionic libc (Michael Petlan) [1715507] - [tools] perf tools: Add missing open_memstream() prototype for systems lacking it (Michael Petlan) [1715507] - [tools] perf header: Fix up argument to ctime() (Michael Petlan) [1715507] - [tools] perf tools: Add missing sigqueue() prototype for systems lacking it (Michael Petlan) [1715507] - [tools] tools lib subcmd: Don't add the kernel sources to the include path (Michael Petlan) [1715507] - [tools] perf trace beauty: renameat's newdirfd may also be AT_FDCWD (Michael Petlan) [1715507] - [tools] perf trace: Beautify renameat2's flags argument (Michael Petlan) [1715507] - [tools] perf beauty: Wire up the renameat flags table generator to the Makefile (Michael Petlan) [1715507] - [tools] perf beauty: Add a string table generator for renameat2's flags constants (Michael Petlan) [1715507] - [tools] perf trace beauty: Beautify renameat2's fd arg wrt AT_FDCWD (Michael Petlan) [1715507] - [tools] perf trace: Allow selecting use the use of the ordered_events code (Michael Petlan) [1715507] - [tools] perf trace: Rename delivery functions to ease making ordered_events selectable (Michael Petlan) [1715507] - [tools] tools lib traceevent: Fix processing of dereferenced args in bprintk events (Michael Petlan) [1715507] - [tools] perf stat: Avoid segfaults caused by negated options (Michael Petlan) [1715507] - [tools] perf auxtrace: Alter addr_filter__entire_dso() to work if there are no symbols (Michael Petlan) [1715507] - [tools] perf dso: Export data_file_size() method there are no symbols (Michael Petlan) [1715507] - [tools] perf trace: Add ordered processing (Michael Petlan) [1715507] - [tools] perf ordered_events: Add first_time() method (Michael Petlan) [1715507] - [tools] perf trace: Move event delivery to a new deliver_event() function (Michael Petlan) [1715507] - [tools] perf ordered_events: Add ordered_events__flush_time interface (Michael Petlan) [1715507] - [tools] perf annotate: Introduce basic support for ARC (Michael Petlan) [1715507] - [tools] perf config: Modify size factor of snprintf (Michael Petlan) [1715507] - [tools] perf record: Fix memory leak on AIO objects deallocation (Michael Petlan) [1715507] - [tools] perf vendor events intel: Fix Load_Miss_Real_Latency on SKL/SKX (Michael Petlan) [1715507] - [tools] perf parse-events: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf probe: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf ui helpline: Use strlcpy() as a shorter form of strncpy() + explicit set nul (Michael Petlan) [1715507] - [tools] perf svghelper: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf help: Remove needless use of strncpy() (Michael Petlan) [1715507] - [tools] perf header: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf header: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf dso: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf cs-etm: Add support for PTMv1.1 decoding (Michael Petlan) [1715507] - [tools] perf cs-etm: Add support for ETMv3 trace decoding (Michael Petlan) [1715507] - [tools] perf cs-etm: Add configuration for ETMv3 trace protocol (Michael Petlan) [1715507] - [tools] perf top: Move perf_top__reset_sample_counters() to after counts display (Michael Petlan) [1715507] - [tools] perf top: Display slow reader warning when droping samples (Michael Petlan) [1715507] - [tools] perf top: Save and display the drop count stats (Michael Petlan) [1715507] - [tools] perf top: Drop samples which are behind the refresh rate (Michael Petlan) [1715507] - [tools] perf top: Set the 'session_done' volatile variable when exiting (Michael Petlan) [1715507] - [tools] perf top: Use cond variable instead of a lock (Michael Petlan) [1715507] - [tools] perf top: Add processing thread (Michael Petlan) [1715507] - [tools] perf top: Move lost events warning to helpline (Michael Petlan) [1715507] - [tools] perf top: Save and display the lost count stats (Michael Petlan) [1715507] - [tools] perf ordered_events: Add private data member (Michael Petlan) [1715507] - [tools] perf ordered_events: Rework show_progress for __ordered_events__flush (Michael Petlan) [1715507] - [tools] perf tools: Support 'srccode' output (Michael Petlan) [1715507] - [tools] perf trace: We need to consider "nr" if "__syscall_nr" is not there (Michael Petlan) [1715507] - [tools] perf tools: Allow specifying proc-map-timeout in config file (Michael Petlan) [1715507] - [tools] tools lib subcmd: Fix a few source code comment typos (Michael Petlan) [1715507] - [tools] perf tools: Fix diverse comment typos (Michael Petlan) [1715507] - [tools] perf bpf-loader: Fix debugging message typo (Michael Petlan) [1715507] - [tools] perf tools Documentation: Fix diverse typos (Michael Petlan) [1715507] - [tools] tools lib traceevent: Fix diverse typos in comments (Michael Petlan) [1715507] - [tools] perf vendor events intel: Fix diverse typos (Michael Petlan) [1715507] - [tools] perf tests ARM: Disable breakpoint tests 32-bit (Michael Petlan) [1715507] - [tools] perf cs-etm: Support for ARM A32/T32 instruction sets in CoreSight trace (Michael Petlan) [1715507] - [tools] perf beauty mmap_flags: Fixed syntax error Fixed missing ']' error (Michael Petlan) [1715507] - [tools] tools lib traceevent: traceevent API cleanup (Michael Petlan) [1715507] - [tools] perf tools: traceevent API cleanup, remove __tep_data2host*() (Michael Petlan) [1715507] - [tools] tools lib traceevent: Rename tep_free_format() to tep_free_event() (Michael Petlan) [1715507] - [tools] tools lib traceevent, perf tools: Rename 'struct tep_event_format' to 'struct tep_event' (Michael Petlan) [1715507] - [tools] tools lib traceevent: Install trace-seq.h API header file (Michael Petlan) [1715507] - [tools] tools lib traceevent: Added support for pkg-config (Michael Petlan) [1715507] - [tools] tools lib traceevent: Implement new API tep_get_ref() (Michael Petlan) [1715507] - [tools] perf report: Documentation average IPC and IPC coverage (Michael Petlan) [1715507] - [tools] perf report: Display average IPC and IPC coverage per symbol (Michael Petlan) [1715507] - [tools] perf annotate: Create a annotate2 flag in struct symbol (Michael Petlan) [1715507] - [tools] perf annotate: Compute average IPC and IPC coverage per symbol (Michael Petlan) [1715507] - [tools] tools lib traceevent: Add sanity check to is_timestamp_in_us() (Michael Petlan) [1715507] - [tools] perf beauty mmap_flags: Check if the arch has a mmap.h file (Michael Petlan) [1715507] - [tools] perf record: Extend trace writing to multi AIO (Michael Petlan) [1715507] - [tools] perf record: Enable asynchronous trace writing (Michael Petlan) [1715507] - [tools] perf mmap: Map data buffer for preserving collected data (Michael Petlan) [1715507] - [tools] tools build feature: Check if libaio is available (Michael Petlan) [1715507] - [tools] perf intel-pt: Fix error with config term "pt=0" (Michael Petlan) [1715507] - [tools] perf top: Allow passing a kallsyms file (Michael Petlan) [1715507] - [tools] perf bpf: Use ERR_CAST instead of ERR_PTR(PTR_ERR()) (Michael Petlan) [1715507] - [tools] tools include: Adopt ERR_CAST() from the kernel err.h header (Michael Petlan) [1715507] - [tools] perf tests record: Allow for 'sleep' being 'coreutils' (Michael Petlan) [1715507] - [tools] tools lib traceevent: Fix compile warnings in tools/lib/traceevent/event-parse.c (Michael Petlan) [1715507] - [tools] perf script: Use fallbacks for branch stacks (Michael Petlan) [1715507] - [tools] perf tools: Use fallback for sample_addr_correlates_sym() cases (Michael Petlan) [1715507] - [tools] perf thread: Add fallback functions for cases where cpumode is insufficient (Michael Petlan) [1715507] - [tools] perf machine: Record if a arch has a single user/kernel address space (Michael Petlan) [1715507] - [tools] perf env: Also consider env->arch == NULL as local operation (Michael Petlan) [1715507] - [tools] perf map: Remove extra indirection from map__find() (Michael Petlan) [1715507] - [tools] perf stat: Fix CSV mode column output for non-cgroup events (Michael Petlan) [1715507] - [tools] perf stat: Fix shadow stats for clock events (Michael Petlan) [1715507] - [tools] perf build: Give better hint about devel package for libssl (Michael Petlan) [1715507] - [tools] perf pmu: Move *_cpuid_str() weak functions to header.c (Michael Petlan) [1715507] - [tools] perf symbols: Fix slowness due to -ffunction-section (Michael Petlan) [1715507] - [tools] perf jvmti: Separate jvmti cmlr check (Michael Petlan) [1715507] - [tools] perf vendor events: Add JSON metrics for Cascadelake server (Michael Petlan) [1715507] - [tools] perf vendor events: Add stepping in CPUID string for x86 (Michael Petlan) [1715507] - [tools] perf stat: Use perf_evsel__is_clocki() for clock events (Michael Petlan) [1715507] - [tools] perf pmu: Suppress potential format-truncation warning (Michael Petlan) [1715507] - [tools] perf tools: Add Hygon Dhyana support (Michael Petlan) [1715507] - [tools] perf bench: Add epoll_ctl(2) benchmark (Michael Petlan) [1715507] - [tools] perf bench: Add epoll parallel epoll_wait benchmark (Michael Petlan) [1715507] - [tools] tools build feature: Check if eventfd() is available (Michael Petlan) [1715507] - [tools] perf bench: Move HAVE_PTHREAD_ATTR_SETAFFINITY_NP into bench.h (Michael Petlan) [1715507] - [tools] perf script: Share code and output format for uregs and iregs output (Michael Petlan) [1715507] - [tools] perf bpf: Reduce the hardcoded .max_entries for pid_maps (Michael Petlan) [1715507] - [tools] perf script: Add newline after uregs output (Michael Petlan) [1715507] - [tools] Revert "perf augmented_syscalls: Drop 'write', 'poll' for testing without self pid filter" (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Remove example hardcoded set of filtered pids (Michael Petlan) [1715507] - [tools] perf trace: Fill in BPF "filtered_pids" map when present (Michael Petlan) [1715507] - [tools] perf trace: See if there is a map named "filtered_pids" (Michael Petlan) [1715507] - [tools] perf trace: Add "_from_option" suffix to trace__set_filter() (Michael Petlan) [1715507] - [tools] perf evlist: Rename perf_evlist__set_filter* to perf_evlist__set_tp_filter* (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Use pid_filter (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Drop 'write', 'poll' for testing without self pid filter (Michael Petlan) [1715507] - [tools] perf bpf: Add simple pid_filter class accessible to BPF proggies (Michael Petlan) [1715507] - [tools] perf bpf: Add defines for map insertion/lookup (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Remove needless linux/socket.h include (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Filter on a hard coded pid (Michael Petlan) [1715507] - [tools] perf bpf: Add unistd.h to the headers accessible to bpf proggies (Michael Petlan) [1715507] - [kernel] perf/core: Fix impossible ring-buffer sizes warning (Michael Petlan) [1715507] - [x86] perf/x86: Add check_period PMU callback (Michael Petlan) [1715507] - [kernel] perf/core: Don't WARN() for impossible ring-buffer sizes (Michael Petlan) [1715507] - [x86] perf/x86/intel/uncore: Add Node ID mask (Michael Petlan) [1715507] - [kernel] perf core: Fix perf_proc_update_handler() bug (Michael Petlan) [1715507] - [tools] powerpc/perf: Update perf_regs structure to include MMCRA (Michael Petlan) [1715507] - [powerpc] powerpc/perf: Update perf_regs structure to include SIER (Michael Petlan) [1715507] - [include] perf/core: Declare the __percpu attribute on non-deref types (Michael Petlan) [1715507] - [kernel] perf: Fix typos in comments (Michael Petlan) [1715507] - [arm64] arm64: perf: Add support for Armv8.1 PMCEID register format (Michael Petlan) [1715507]- [fs] xfs: abort unaligned nowait directio early (Brian Foster) [1690458] - [fs] xfs: serialize unaligned dio writes against all other dio writes (Brian Foster) [1690458] - [sound] ALSA: hda/hdmi: consider eld_valid also in sync_eld_via_acomp() (Jaroslav Kysela) [1708555] - [fs] Fix error code in nfs_lookup_verify_inode() (Scott Mayhew) [1722315] - [md] dm table: don't copy from a NULL pointer in realloc_argv() (Jerome Marchand) [1571628] - [net] netfilter: ipset: replace a strncpy() with strscpy() (Jerome Marchand) [1571628] - [lib] lib/ubsan.c: don't mark __ubsan_handle_builtin_unreachable as noreturn (Jerome Marchand) [1571628] - [include] netfilter: avoid erronous array bounds warning (Jerome Marchand) [1571628] - [x86] x86/mm/KASLR: Compute the size of the vmemmap section properly (Baoquan He) [1669076] - [security] selinux: fix empty write to keycreate file (Ondrej Mosnacek) [1719067] - [netdrv] net: aquantia: fix vlans not working over bridged network (Igor Russkikh) [1718716] - [s390] s390/jump_label: replace stop_machine with smp_call_function (Philipp Rudo) [1722161] - [s390] s390/dumpstack: print psw mask and address again (Philipp Rudo) [1722157] - [s390] s390/crypto: fix gcm-aes-s390 selftest failures (Philipp Rudo) [1722156] - [wireless] Backport mt76 drivers from linux-5.2-rc5 (Stanislaw Gruszka) [1709867 1709828] - [wireless] Add rtw88 driver from linux-5.2-rc5 (Stanislaw Gruszka) [1487086 1709828] - [wireless] Backport mt7601u driver from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport mwifiex driver from linux-5.2-rc2 (Stanislaw Gruszka) [1709828] - [wireless] Backport rtl8xxxu driver from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport rtlwifi drivers from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport ath9k driver from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport ath10k driver from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport brcm80211 drivers from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport iwlwifi drivers from linux-5.2-rc5 (Stanislaw Gruszka) [1696052 1662020 1662015 1650016 1650015 1650014 1650013 1622445 1494008 1494001 1709828] - [net] Backport mac80211 from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [net] Backport core wireless code from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [include] netlink: add nl_set_extack_cookie_u64() (Stanislaw Gruszka) [1709828] - [netdrv] r8152: Fix an error on RTL8153-BD MAC Address Passthrough support (Torez Smith) [1683883 1683882] - [netdrv] r8152: Add support for MAC address pass through on RTL8153-BD (Torez Smith) [1683883 1683882] - [netdrv] nfp: abm: fix spelling mistake "offseting" -> "offsetting" (Pablo Cascon) [1713258] - [netdrv] nfp: flower: remove vlan CFI bit from push vlan action (Pablo Cascon) [1713258] - [netdrv] nfp: flower: replace CFI with vlan present (Pablo Cascon) [1713258] - [netdrv] nfp: flower: remove double new line (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: fix ALU32 high bits clearance bug (Pablo Cascon) [1713258] - [netdrv] bpf: do not pass netdev to translate() and prepare() offload callbacks (Pablo Cascon) [1713258] - [netdrv] bpf: pass prog instead of env to bpf_prog_offload_verifier_prep() (Pablo Cascon) [1713258] - [netdrv] bpf: pass destroy() as a callback and remove its ndo_bpf subcommand (Pablo Cascon) [1713258] - [netdrv] bpf: pass translate() as a callback and remove its ndo_bpf subcommand (Pablo Cascon) [1713258] - [netdrv] bpf: call verifier_prep from its callback in struct bpf_offload_dev (Pablo Cascon) [1713258] - [netdrv] bpf: pass a struct with offload callbacks to bpf_offload_dev_create() (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: move nfp_bpf_analyzer_ops from verifier.c to offload.c (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: relax prog rejection through max_pkt_offset (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: double check vNIC capabilities after object sharing (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: optimise save/restore for R6~R9 based on register usage (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: fix return address from register-saving subroutine to callee (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: update fixup function for BPF-to-BPF calls support (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: account for additional stack usage when checking stack limit (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: add main logics for BPF-to-BPF calls support in nfp driver (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: copy eBPF subprograms information from kernel verifier (Pablo Cascon) [1713258] - [netdrv] bpf: add verifier callback to get stack usage info for offloaded progs (Pablo Cascon) [1713258]- [rpmspec] Enable kernel signing for ppc64le (Gustavo Duarte) [1504169] - [nvme] nvme: fix memory leak for power latency tolerance (David Milburn) [1724793] - [rpmspec] redhat: fix missing files for mlxsw specific self-tests (Ivan Vecera) [1724735] - [rpmspec] redhat: Package the signing key for s390 (Philipp Rudo) [1714194] - [rpmspec] redhat: Enable kernel signing for s390 (Philipp Rudo) [1714194] - [rpmspec] redhat: Rename secure boot sources (Philipp Rudo) [1714194] - [powerpc] powerpc: fix max_zone_pfns initialization (Laurent Vivier) [1706560] - [crypto] crypto: dh - update test for public key verification (Herbert Xu) [1722692] - [hid] HID: i2c-hid: Don't reset device upon system resume (Perry Yuan) [1715385] - [rpmspec] correct the ghost initramfs attributes (Rafael Aquini) [1678881] - [s390] s390/mm: fix address space detection in exception handling (Philipp Rudo) [1722160] - [s390] s390/zcrypt: Fix wrong dispatching for control domain CPRBs (Philipp Rudo) [1722158] - [virt] kvm: arm/arm64: Fix emulated ptimer irq injection (Andrew Jones) [1716383] - [x86] kvm/nested: mark as TechPreview on first VM creation (Vitaly Kuznetsov) [1723447] - [powerpc] bpf: powerpc64: add JIT support for bpf line info (Yauheni Kaliuta) [1722423] - [fs] cifs: add spinlock for the openFileList to cifsInodeInfo (Leif Sahlberg) [1712197] - [fs] cifs: fix GlobalMid_Lock bug in cifs_reconnect (Leif Sahlberg) [1716743] - [mm] powerpc/numa: document topology_updates_enabled, disable by default (Desnes Augusto Nunes do Rosario) [1705465] - [mm] powerpc/numa: improve control of topology updates (Desnes Augusto Nunes do Rosario) [1705465] - [kernel] bpf: decouple the lifetime of cgroup_bpf from cgroup itself (Jiri Olsa) [1656432] - [netdrv] USB: hso: Fix OOB memory access in hso_probe/hso_get_config_data (Torez Smith) [1689308 1666662] {CVE-2018-19985} - [usb] USB: check usb_get_extra_descriptor for proper size (Torez Smith) [1689308 1666662] {CVE-2018-20169} - [kvm] KVM: PPC: Book3S HV: Restore SPRG3 in kvmhv_p9_guest_entry() (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: Fix lockdep warning when entering guest on POWER9 (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Fix page offset when clearing ESB pages (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Take the srcu read lock when accessing memslots (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Do not clear IRQ data of passthrough interrupts (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Introduce a new mutex for the XIVE device (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Fix the enforced limit on the vCPU identifier (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Do not test the EQ flag validity when resetting (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Clear file mapping when device is released (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: Don't take kvm->lock around kvm_for_each_vcpu (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S: Use new mutex to synchronize access to rtas token list (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: Use new mutex to synchronize MMU setup (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: Avoid touching arch.mmu_ready in XIVE release functions (David Gibson) [1719524] - [mm] mm, oom: don't kill global init via memory.oom.group (Waiman Long) [1711604] - [mm] mm, oom: remove 'prefer children over parent' heuristic (Waiman Long) [1711604] - [mm] mm, oom: fix use-after-free in oom_kill_process (Waiman Long) [1711604] - [kernel] fork, memcg: fix crash in free_thread_stack on memcg charge fail (Waiman Long) [1711604] - [mm] memcg: localize memcg_kmem_enabled() check (Waiman Long) [1711604] - [mm] memcg, oom: notify on oom killer invocation from the charge path (Waiman Long) [1711604] - [mm] mm: handle no memcg case in memcg_kmem_charge() properly (Waiman Long) [1711604] - [kernel] mm: rework memcg kernel stack accounting (Waiman Long) [1711604] - [mm] mm/memcontrol.c: convert mem_cgroup_id::ref to refcount_t type (Waiman Long) [1711604] - [mm] memcg: remove memcg_kmem_skip_account (Waiman Long) [1711604] - [mm] mm/memcontrol.c: fix memory.stat item ordering (Waiman Long) [1711604] - [mm] mm: drain memcg stocks on css offlining (Waiman Long) [1711604] - [mm] mm: memcontrol: print proper OOM header when no eligible victim left (Waiman Long) [1711604] - [mm] mm, oom: introduce memory.oom.group (Waiman Long) [1711604] - [mm] mm, oom: refactor oom_kill_process() (Waiman Long) [1711604] - [mm] memcg: reduce memcg tree traversals for stats collection (Waiman Long) [1711604] - [mm] mm/vmscan.c: clear shrinker bit if there are no objects related to memcg (Waiman Long) [1711604] - [mm] mm: add SHRINK_EMPTY shrinker methods return value (Waiman Long) [1711604] - [mm] mm/vmscan.c: generalize shrink_slab() calls in shrink_node() (Waiman Long) [1711604] - [mm] mm/vmscan.c: iterate only over charged shrinkers during memcg shrink_slab() (Waiman Long) [1711604] - [mm] mm/list_lru.c: set bit in memcg shrinker bitmap on first list_lru item appearance (Waiman Long) [1711604] - [mm] mm/memcontrol.c: export mem_cgroup_is_root() (Waiman Long) [1711604] - [mm] mm/list_lru.c: pass lru argument to memcg_drain_list_lru_node() (Waiman Long) [1711604] - [mm] mm/list_lru: pass dst_memcg argument to memcg_drain_list_lru_node() (Waiman Long) [1711604] - [mm] mm/list_lru.c: add memcg argument to list_lru_from_kmem() (Waiman Long) [1711604] - [mm] fs: propagate shrinker::id to list_lru (Waiman Long) [1711604] - [fs] fs: Don't need to put list_lru into its own cacheline (Waiman Long) [1711604] - [fs] fs/super.c: refactor alloc_super() (Waiman Long) [1711604] - [mm] mm/workingset.c: refactor workingset_init() (Waiman Long) [1711604] - [mm] mm, memcg: assign memcg-aware shrinkers bitmap to memcg (Waiman Long) [1711604] - [mm] mm/memcontrol.c: move up for_each_mem_cgroup{, _tree} defines (Waiman Long) [1711604] - [mm] mm: assign id to every memcg-aware shrinker (Waiman Long) [1711604] - [mm] mm: introduce CONFIG_MEMCG_KMEM as combination of CONFIG_MEMCG && !CONFIG_SLOB (Waiman Long) [1711604] - [mm] mm/list_lru.c: combine code under the same define (Waiman Long) [1711604] - [mm] memcg, oom: move out_of_memory back to the charge path (Waiman Long) [1711604] - [fs] fs, mm: account buffer_head to kmemcg (Waiman Long) [1711604] - [fs] fs: fsnotify: account fsnotify metadata to kmemcg (Waiman Long) [1711604] - [include] mm: introduce mem_cgroup_put() helper (Waiman Long) [1711604] - [net] tcp: refine memory limit test in tcp_fragment() (Florian Westphal) [1724584] - [net] tcp: enforce tcp_min_snd_mss in tcp_mtu_probing() (Florian Westphal) [1719923] {CVE-2019-11479} - [net] tcp: add tcp_min_snd_mss sysctl (Florian Westphal) [1719923] {CVE-2019-11479} - [net] tipc: pass tunnel dev as NULL to udp_tunnel(6)_xmit_skb (Xin Long) [1722751] - [include] ip6_tunnel: allow not to count pkts on tstats by passing dev as NULL (Xin Long) [1722751] - [net] ip_tunnel: allow not to count pkts on tstats by setting skb's dev to NULL (Xin Long) [1722751] - [net] netfilter: ipv6: nf_defrag: accept duplicate fragments again (Guillaume Nault) [1717106] - [net] netfilter: ipv6: nf_defrag: fix leakage of unqueued fragments (Guillaume Nault) [1717106] - [net] ethtool: fix potential userspace buffer overflow (Paolo Abeni) [1718393] - [net] net-gro: fix use-after-free read in napi_gro_frags() (Paolo Abeni) [1718393] - [net] ethtool: Check for vlan etype or vlan tci when parsing flow_rule (Paolo Abeni) [1718393] - [include] test nouarg before dereferencing zerocopy pointers (Paolo Abeni) [1718393] - [net] avoid weird emergency message (Paolo Abeni) [1718393] - [net] net-gro: Fix GRO flush when receiving a GSO packet. (Paolo Abeni) [1718393] - [net] sock_diag: fix autoloading of the raw_diag module (Paolo Abeni) [1718393] - [net] make skb_partial_csum_set() more robust against overflows (Paolo Abeni) [1718393] - [net] packets: Always register packet sk in the same order (Paolo Abeni) [1718393] - [net] net-sysfs: call dev_hold if kobject_init_and_add success (Paolo Abeni) [1718393] - [net] gro_cells: make sure device is up in gro_cells_receive() (Paolo Abeni) [1718393] - [net] net-sysfs: Fix mem leak in netdev_register_kobject (Paolo Abeni) [1718393] - [include] avoid false positives in untrusted gso validation (Paolo Abeni) [1718393] - [include] net: validate untrusted gso packets without csum offload (Paolo Abeni) [1718393] - [net] Do not allocate page fragments that are not skb aligned (Paolo Abeni) [1718393] - [net] set default network namespace in init_dummy_netdev() (Paolo Abeni) [1718393] - [net] Fix usage of pskb_trim_rcsum (Paolo Abeni) [1718393] - [net] call sk_dst_reset when set SO_DONTROUTE (Paolo Abeni) [1718393] - [net] net, skbuff: do not prefer skb allocation fails early (Paolo Abeni) [1718393] - [net] ethtool: check the return value of get_regs_len (Paolo Abeni) [1718393] - [net] packet: copy user buffers before orphan or clone (Paolo Abeni) [1718393] - [net] don't keep lonely packets forever in the gro hash (Paolo Abeni) [1718393] - [net] net-gro: reset skb->pkt_type in napi_reuse_skb() (Paolo Abeni) [1718393] - [net] flow_dissector: do not dissect l4 ports for fragments (Paolo Abeni) [1718393] - [net] net-ethtool: ETHTOOL_GUFO did not and should not require CAP_NET_ADMIN (Paolo Abeni) [1718393] - [net] tipc: fix modprobe tipc failed after switch order of device registration (Jon Maloy) [1718064] - [net] tipc: switch order of device registration to fix a crash (Jon Maloy) [1718064] - [net] tipc: fix hanging clients using poll with EPOLLOUT flag (Jon Maloy) [1718064] - [net] tipc: fix missing Name entries due to half-failover (Jon Maloy) [1718064] - [net] tipc: remove rcu_read_unlock() left in tipc_udp_recv() (Jon Maloy) [1718064] - [net] tipc: tipc_udp_recv() cleanup vs rcu verbs (Jon Maloy) [1718064] - [net] tipc: introduce new socket option TIPC_SOCK_RECVQ_USED (Jon Maloy) [1718064] - [net] tipc: set sysctl_tipc_rmem and named_timeout right range (Jon Maloy) [1718064] - [net] tipc: fix link established but not in session (Jon Maloy) [1718064] - [net] tipc: use standard write_lock & unlock functions when creating node (Jon Maloy) [1718064] - [net] tipc: missing entries in name table of publications (Jon Maloy) [1718064] - [net] tipc: adapt link failover for new Gap-ACK algorithm (Jon Maloy) [1718064] - [net] tipc: reduce duplicate packets for unicast traffic (Jon Maloy) [1718064] - [net] tipc: improve TIPC throughput by Gap ACK blocks (Jon Maloy) [1718064] - [net] tipc: add NULL pointer check (Jon Maloy) [1718064] - [net] tipc: fix return value check in tipc_mcast_send_sync() (Jon Maloy) [1718064] - [net] tipc: fix a null pointer deref (Jon Maloy) [1718064] - [net] tipc: fix use-after-free in tipc_sk_filter_rcv (Jon Maloy) [1718064] - [net] tipc: smooth change between replicast and broadcast (Jon Maloy) [1718064] - [net] tipc: introduce new capability flag for cluster (Jon Maloy) [1718064] - [net] tipc: support broadcast/replicast configurable for bc-link (Jon Maloy) [1718064] - [net] sched: avoid double free on matchall reoffload (Ivan Vecera) [1688236 1687456] - [net] taprio: add null check on sched_nest to avoid potential null pointer dereference (Ivan Vecera) [1688236 1687456] - [net] nfp: flower: remove unused index from nfp_fl_pedit() (Ivan Vecera) [1688236 1687456] - [net] mlx5e: Fix calling wrong function to get inner vlan key and mask (Ivan Vecera) [1688236 1687456] - [net] flow_offload: support CVLAN match (Ivan Vecera) [1688236 1687456] - [net] nfp: flower: fix masks for tcp and ip flags fields (Ivan Vecera) [1688236 1687456] - [net] sched: use the hardware intermediate representation for matchall (Ivan Vecera) [1688236 1687456] - [net] sched: add sample action to the hardware intermediate representation (Ivan Vecera) [1688236 1687456] - [net] cls_cgroup: avoid panic when receiving a packet before filter set (Ivan Vecera) [1688236 1687456] - [net] cls_matchall: avoid panic when receiving a packet before filter set (Ivan Vecera) [1688236 1687456] - [net] add a generic tracepoint for TX queue timeout (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: use struct_size() helper (Ivan Vecera) [1688236 1687456] - [net] taprio: Add support for cycle-time-extension (Ivan Vecera) [1688236 1687456] - [net] taprio: Add support for setting the cycle-time manually (Ivan Vecera) [1688236 1687456] - [net] taprio: Add support adding an admin schedule (Ivan Vecera) [1688236 1687456] - [net] taprio: Fix potencial use of invalid memory during dequeue() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Fix taprio_dequeue() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Fix taprio_peek() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Remove should_restart_cycle() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Refactor taprio_get_start_time() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Remove pointless variable assigment (Ivan Vecera) [1688236 1687456] - [net] tc_act: drop include of module.h from tc_ife.h (Ivan Vecera) [1688236 1687456] - [net] fib: drop include of module.h from fib_notifier.h (Ivan Vecera) [1688236 1687456] - [net] ife: drop include of module.h from net/ife.h (Ivan Vecera) [1688236 1687456] - [net] psample: drop include of module.h from psample.h (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: fix build without 64bit div (Ivan Vecera) [1688236 1687456] - [net] revert: "net: sched: put back q.qlen into a single location" (Ivan Vecera) [1688236 1687456] - [net] sched: when clearing NOLOCK, clear TCQ_F_CPUSTATS, too (Ivan Vecera) [1688236 1687456] - [net] sched: always do stats accounting according to TCQ_F_CPUSTATS (Ivan Vecera) [1688236 1687456] - [net] sched: prefer qdisc_is_empty() over direct qlen access (Ivan Vecera) [1688236 1687456] - [net] caif: avoid using qdisc_qlen() (Ivan Vecera) [1688236 1687456] - [net] sched: cbs: fix port_rate miscalculation (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: fix picos_per_byte miscalculation (Ivan Vecera) [1688236 1687456] - [net] selftests: add a tc matchall test case (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Make sure we can write the IP header before changing DSCP bits (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Use tc_skb_protocol() helper for getting packet protocol (Ivan Vecera) [1688236 1687456] - [net] sched: act_sample: fix divide by zero in the traffic path (Ivan Vecera) [1688236 1687456] - [net] sched: don't set tunnel for decap action (Ivan Vecera) [1688236 1687456] - [net] sched: introduce and use qdisc tree flush/purge helpers (Ivan Vecera) [1688236 1687456] - [net] sched: introduce and use qstats read helpers (Ivan Vecera) [1688236 1687456] - [net] sched: fix ->get helper of the matchall cls (Ivan Vecera) [1688236 1687456] - [net] sched: Kconfig: update reference link for PIE (Ivan Vecera) [1688236 1687456] - [net] dev: introduce support for sch BYPASS for lockless qdisc (Ivan Vecera) [1688236 1687456] - [net] sched: add empty status flag for NOLOCK qdisc (Ivan Vecera) [1688236 1687456] - [net] sched: fix cleanup NULL pointer exception in act_mirr (Ivan Vecera) [1688236 1687456] - [net] sched: let actions use RCU to access 'goto_chain' (Ivan Vecera) [1688236 1687456] - [net] sched: don't dereference a->goto_chain to read the chain index (Ivan Vecera) [1688236 1687456] - [net] sched: act_vlan: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_skbmod: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_skbedit: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_simple: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_sample: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_police: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_pedit: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_nat: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_connmark: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_mirred: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_ife: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_gact: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_csum: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_bpf: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: prepare TC actions to properly validate the control action (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Interpret fwmark parameter as a bitmask (Ivan Vecera) [1688236 1687456] - [net] net_sched: return correct value for *notify* functions (Ivan Vecera) [1688236 1687456] - [net] sched: fix potential use-after-free in __tcf_chain_put() (Ivan Vecera) [1688236 1687456] - [net] sched: flower: insert new filter to idr after setting its mask (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: Fix double free dst_cache (Ivan Vecera) [1688236 1687456] - [net] sched: avoid unused-label warning (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Simplify logic in cake_select_tin() (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Permit use of connmarks as tin classifiers (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Make the dual modes fairer (Ivan Vecera) [1688236 1687456] - [net] tc-testing: Allow test cases to be skipped (Ivan Vecera) [1688236 1687456] - [net] sched: put back q.qlen into a single location (Ivan Vecera) [1688236 1687456] - [net] sched: pie: avoid slow division in drop probability decay (Ivan Vecera) [1688236 1687456] - [net] netem: fix skb length BUG_ON in __skb_to_sgvec (Ivan Vecera) [1688236 1687456] - [net] revert "net: sched: fw: don't set arg->stop in fw_walk() when empty" (Ivan Vecera) [1688236 1687456] - [net] sched: pie: fix 64-bit division (Ivan Vecera) [1688236 1687456] - [net] tc-testing: gitignore, ignore local tdc config file (Ivan Vecera) [1688236 1687456] - [net] sched: fix typo in walker_check_empty() (Ivan Vecera) [1688236 1687456] - [net] sched: pie: fix mistake in reference link (Ivan Vecera) [1688236 1687456] - [net] sched: act_csum: Fix csum calc for tagged packets (Ivan Vecera) [1688236 1687456] - [net] sched: pie: update references (Ivan Vecera) [1688236 1687456] - [net] sched: pie: add derandomization mechanism (Ivan Vecera) [1688236 1687456] - [net] sched: pie: add more cases to auto-tune alpha and beta (Ivan Vecera) [1688236 1687456] - [net] sched: pie: change initial value of pie_vars->burst_time (Ivan Vecera) [1688236 1687456] - [net] sched: pie: change default value of pie_params->tupdate (Ivan Vecera) [1688236 1687456] - [net] sched: pie: change default value of pie_params->target (Ivan Vecera) [1688236 1687456] - [net] sched: pie: change value of QUEUE_THRESHOLD (Ivan Vecera) [1688236 1687456] - [net] sched: don't release block->lock when dumping chains (Ivan Vecera) [1688236 1687456] - [net] sched: set dedicated tcf_walker flag when tp is empty (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: fix metadata handling (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: fix NULL pointer dereference during init (Ivan Vecera) [1688236 1687456] - [net] Use RCU_POINTER_INITIALIZER() to init static variable (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel replace/delete (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel add/delete (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify concurrent delete (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify concurrent replace (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel rules replace (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel rules deletion (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel rules insertion (Ivan Vecera) [1688236 1687456] - [net] selftests: tdc_batch.py: add options needed for concurrency tests (Ivan Vecera) [1688236 1687456] - [net] sched: act_skbedit: fix refcount leak when replace fails (Ivan Vecera) [1688236 1687456] - [net] sched: act_ipt: fix refcount leak when replace fails (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: Add dst_cache support (Ivan Vecera) [1688236 1687456] - [net] net_sched: initialize net pointer inside tcf_exts_init() (Ivan Vecera) [1687456 1688236] - [net] sched: potential NULL dereference in tcf_block_find() (Ivan Vecera) [1688236 1687456] - [net] net_sched: fix a memory leak in cls_tcindex (Ivan Vecera) [1688236 1687456] - [net] net_sched: fix a race condition in tcindex_destroy() (Ivan Vecera) [1688236 1687456] - [net] sched: using kfree_rcu() to simplify the code (Ivan Vecera) [1688236 1687456] - [net] sched: route: don't set arg->stop in route4_walk() when empty (Ivan Vecera) [1688236 1687456] - [net] sched: fw: don't set arg->stop in fw_walk() when empty (Ivan Vecera) [1688236 1687456] - [net] sched: cgroup: verify that filter is not NULL during walk (Ivan Vecera) [1688236 1687456] - [net] sched: matchall: verify that filter is not NULL in mall_walk() (Ivan Vecera) [1688236 1687456] - [net] sched: remove duplicated include from cls_api.c (Ivan Vecera) [1688236 1687456] - [net] net_sched: fix two more memory leaks in cls_tcindex (Ivan Vecera) [1688236 1687456] - [net] net_sched: fix a memory leak in cls_tcindex (Ivan Vecera) [1688236 1687456] - [net] sched: unlock rules update API (Ivan Vecera) [1688236 1687456] - [net] sched: refactor tcf_block_find() into standalone functions (Ivan Vecera) [1688236 1687456] - [net] sched: add flags to Qdisc class ops struct (Ivan Vecera) [1688236 1687456] - [net] sched: extend proto ops to support unlocked classifiers (Ivan Vecera) [1688236 1687456] - [net] sched: extend proto ops with 'put' callback (Ivan Vecera) [1688236 1687456] - [net] sched: track rtnl lock status when validating extensions (Ivan Vecera) [1688236 1687456] - [net] sched: prevent insertion of new classifiers during chain flush (Ivan Vecera) [1688236 1687456] - [net] sched: refactor tp insert/delete for concurrent execution (Ivan Vecera) [1688236 1687456] - [net] sched: traverse classifiers in chain with tcf_get_next_proto() (Ivan Vecera) [1688236 1687456] - [net] sched: introduce reference counting for tcf_proto (Ivan Vecera) [1688236 1687456] - [net] sched: protect filter_chain list with filter_chain_lock mutex (Ivan Vecera) [1688236 1687456] - [net] sched: protect chain template accesses with block lock (Ivan Vecera) [1688236 1687456] - [net] sched: traverse chains in block with tcf_get_next_chain() (Ivan Vecera) [1688236 1687456] - [net] sched: protect block->chain0 with block->lock (Ivan Vecera) [1688236 1687456] - [net] sched: refactor tc_ctl_chain() to use block->lock (Ivan Vecera) [1688236 1687456] - [net] sched: protect chain->explicitly_created with block->lock (Ivan Vecera) [1688236 1687456] - [net] sched: protect block state with mutex (Ivan Vecera) [1688236 1687456] - [net] Change TCA_ACT_* to TCA_ID_* to match that of TCA_ID_POLICE (Ivan Vecera) [1688236 1687456] - [net] Move all TC actions identifiers to one place (Ivan Vecera) [1688236 1687456] - [net] sched: use struct_size() helper (Ivan Vecera) [1688236 1687456] - [net] documentation: bring operstate documentation up-to-date (Ivan Vecera) [1688236 1687456] - [net] cls_flower: Remove filter from mask before freeing it (Ivan Vecera) [1688236 1687456] - [net] cls_flower: don't expose TC actions to drivers anymore (Ivan Vecera) [1688236 1687456] - [net] drivers: net: use flow action infrastructure (Ivan Vecera) [1688236 1687456] - [net] flow_offload: add flow_rule and flow_match structures and use them (Ivan Vecera) [1688236 1687456] - [net] net_sched: add performance counters for basic filter (Ivan Vecera) [1688236 1687456] - [net] net_sched: add hit counter for matchall (Ivan Vecera) [1688236 1687456] - [net] sched: cls_flower: allocate mask dynamically in fl_change() (Ivan Vecera) [1688236 1687456] - [net] selftests: tc-testing: fix parsing of ife type (Ivan Vecera) [1688236 1687456] - [net] net_sched: refetch skb protocol for each filter (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: fix memory leak in case of action replace (Ivan Vecera) [1688236 1687456] - [net] sch_api: Change signature of qdisc_tree_reduce_backlog() to use ints (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Correctly update parent qlen when splitting GSO packets (Ivan Vecera) [1688236 1687456] - [net] sched: Fix detection of empty queues in child qdiscs (Ivan Vecera) [1688236 1687456] - [net] sched: Avoid dereferencing skb pointer after child enqueue (Ivan Vecera) [1688236 1687456] - [net] sched: cls_flower: Remove old entries from rhashtable (Ivan Vecera) [1688236 1687456] - [net] sched: simplify the qdisc_leaf code (Ivan Vecera) [1688236 1687456] - [net] selftests: Fix test errors related to lib.mk khdr target (Ivan Vecera) [1688236 1687456] - [net] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call() (Ivan Vecera) [1688236 1687456] - [net] sched: cls_flower: Reject duplicated rules also under skip_sw (Ivan Vecera) [1688236 1687456] - [net] tc-testing: gitignore, ignore generated test results (Ivan Vecera) [1688236 1687456] - [net] tc-testing: Implement the TdcResults module in tdc (Ivan Vecera) [1688236 1687456] - [net] tc-testing: Add new TdcResults module (Ivan Vecera) [1688236 1687456] - [net] tc-testing: Add command timeout feature to tdc (Ivan Vecera) [1688236 1687456] - [net] netem: use a list in addition to rbtree (Ivan Vecera) [1688236 1687456] - [net] Prevent invalid access to skb->prev in __qdisc_drop_all (Ivan Vecera) [1688236 1687456] - [net] tc-testing: tdc.py: Guard against lack of returncode in executed command (Ivan Vecera) [1688236 1687456] - [net] tc-testing: tdc.py: ignore errors when decoding stdout/stderr (Ivan Vecera) [1688236 1687456] - [net] etf: Drop all expired packets (Ivan Vecera) [1688236 1687456] - [net] etf: Split timersortedlist_erase() (Ivan Vecera) [1688236 1687456] - [net] etf: Use cached rb_root (Ivan Vecera) [1688236 1687456] - [net] etf: Cancel timer if there are no pending skbs (Ivan Vecera) [1688236 1687456] - [net] sched: cls_flower: Classify packets using port ranges (Ivan Vecera) [1688236 1687456] - [net] act_mirred: clear skb->tstamp on redirect (Ivan Vecera) [1688236 1687456] - [net] core: use __vlan_hwaccel helpers (Ivan Vecera) [1688236 1687456] - [net] sched: Replace call_rcu_bh() and rcu_barrier_bh() (Ivan Vecera) [1688236 1687456] - [net] sched: Remove egdev mechanism (Ivan Vecera) [1688236 1687456] - [net] sched: avoid writing on noop_qdisc (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: simplify the hell out u32_delete() emptiness check (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: keep track of knodes count in tc_u_common (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: get rid of tp_c (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: the tp_c argument of u32_set_parms() is always tp->data (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: pass tc_u_common to u32_set_parms() instead of tc_u_hnode (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: clean tc_u_common hashtable (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: get rid of tc_u_common ->rcu (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: get rid of tc_u_knode ->tp (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: get rid of unused argument of u32_destroy_key() (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: make sure that divisor is a power of 2 (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: disallow linking to root hnode (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: mark root hnode explicitly (Ivan Vecera) [1688236 1687456] - [net] sched: pie: fix coding style issues (Ivan Vecera) [1688236 1687456] - [net] treewide: Replace more open-coded allocation size multiplications (Ivan Vecera) [1688236 1687456] - [net] sched: remove unused helpers (Ivan Vecera) [1688236 1687456] - [net] tc-testing: use a plugin to build eBPF program (Ivan Vecera) [1688236 1687456] - [net] tc-testing: fix build of eBPF programs (Ivan Vecera) [1688236 1687456] - [net] tc: Add support for configuring the taprio scheduler (Ivan Vecera) [1688236 1687456] - [documentation] KVM: arm64: Clarify access behaviour for out-of-range SVE register slice IDs (Andrew Jones) [1550499] - [documentation] KVM: Clarify KVM_{SET,GET}_ONE_REG error code documentation (Andrew Jones) [1550499] - [documentation] KVM: Clarify capability requirements for KVM_ARM_VCPU_FINALIZE (Andrew Jones) [1550499] - [kvm] KVM: arm/arm64: Clean up vcpu finalization function parameter naming (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Explain validity checks in set_sve_vls() (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Simplify KVM_REG_ARM64_SVE_VLS array sizing (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: WARN when avoiding divide-by-zero in sve_reg_to_region() (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Make register ioctl access errors more consistent (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Miscellaneous tidyups in guest.c (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Clean up UAPI register ID definitions (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: sys_regs: Demote redundant vcpu_has_sve() checks to WARNs (Andrew Jones) [1550499] - [virt] KVM: arm/arm64: Demote kvm_arm_init_arch_resources() to just set up SVE (Andrew Jones) [1550499] - [arm64] arm64/sve: Clarify vq map semantics (Andrew Jones) [1550499] - [kvm] arm64: KVM: Fix system register enumeration (Andrew Jones) [1550499] - [documentation] KVM: arm64/sve: Document KVM API extensions for SVE (Andrew Jones) [1550499] - [documentation] KVM: Document errors for KVM_GET_ONE_REG and KVM_SET_ONE_REG (Andrew Jones) [1550499] - [arm64] KVM: arm64: Add a capability to advertise SVE support (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Allow userspace to enable SVE for vcpus (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Add pseudo-register for the guest's vector lengths (Andrew Jones) [1550499] - [virt] KVM: arm/arm64: Add KVM_ARM_VCPU_FINALIZE ioctl (Andrew Jones) [1550499] - [virt] KVM: arm/arm64: Add hook for arch-specific KVM initialisation (Andrew Jones) [1550499] - [arm64] arm64/sve: In-kernel vector length availability query interface (Andrew Jones) [1550499] - [kvm] KVM: arm64: Enumerate SVE register indices for KVM_GET_REG_LIST (Andrew Jones) [1550499] - [arm64] KVM: arm64/sve: Add SVE support to register access ioctl interface (Andrew Jones) [1550499] - [kvm] KVM: arm64: Reject ioctl access to FPSIMD V-regs on SVE vcpus (Andrew Jones) [1550499] - [kvm] KVM: arm64: Factor out core register ID enumeration (Andrew Jones) [1550499] - [kvm] KVM: arm64: Add missing #include of in guest.c (Andrew Jones) [1550499] - [include] KVM: Allow 2048-bit register access via ioctl interface (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Context switch the SVE registers (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: System register context switch and access support (Andrew Jones) [1550499] - [kvm] KVM: arm64: Support runtime sysreg visibility filtering (Andrew Jones) [1550499] - [kvm] KVM: arm64: Propagate vcpu into read_id_reg() (Andrew Jones) [1550499] - [arm64] KVM: arm64: Add a vcpu flag to control SVE visibility for the guest (Andrew Jones) [1550499] - [arm64] arm64/sve: Enable SVE state tracking for non-task contexts (Andrew Jones) [1550499] - [arm64] arm64/sve: Check SVE virtualisability (Andrew Jones) [1550499] - [arm64] arm64/sve: Clarify role of the VQ map maintenance functions (Andrew Jones) [1550499] - [arm64] KVM: arm64: Add missing #includes to kvm_host.h (Andrew Jones) [1550499] - [kvm] KVM: arm64: Refactor kvm_arm_num_regs() for easier maintenance (Andrew Jones) [1550499] - [arm64] KVM: arm64: Delete orphaned declaration for __fpsimd_enabled() (Andrew Jones) [1550499] - [arm64] arm64: fpsimd: Always set TIF_FOREIGN_FPSTATE on task state flush (Andrew Jones) [1550499] - [documentation] KVM: Documentation: Document arm64 core registers in detail (Andrew Jones) [1550499] - [arm64] arm64/sve: Disentangle from (Andrew Jones) [1550499] - [arm64] arm64/sve: ptrace: Fix SVE_PT_REGS_OFFSET definition (Andrew Jones) [1550499]- [fs] xfs: fix reporting supported extra file attributes for statx() (Bill O'Donnell) [1721034] - [scsi] scsi: hpsa: correct ioaccel2 chaining (Joseph Szczypek) [1706121] - [powerpc] powerpc/pseries/mobility: rebuild cacheinfo hierarchy post-migration (Steve Best) [1720929] - [powerpc] powerpc/pseries/mobility: prevent cpu hotplug during DT update (Steve Best) [1720929] - [powerpc] powerpc/cacheinfo: add cacheinfo_teardown, cacheinfo_rebuild (Steve Best) [1720929] - [kernel] cpuset: restore sanity to cpuset_cpus_allowed_fallback() (Joel Savitz) [1677311]- [scripts] scripts: override locale from environment when running recordmcount.pl (Prarit Bhargava) [1721515] - [netdrv] net: aquantia: fix wol configuration not applied sometimes (Igor Russkikh) [1662198] - [x86] x86/resctrl: Prevent NULL pointer dereference when local MBM is disabled (Prarit Bhargava) [1721208] - [fs] inotify: Fix fsnotify_mark refcount leak in inotify_update_existing_watch() (Miklos Szeredi) [1451863] - [fs] inotify: Fix fd refcount leak in inotify_add_watch(). (Miklos Szeredi) [1451863] - [fs] fanotify: Use inode_is_open_for_write (Miklos Szeredi) [1451863] - [fs] fanotify: Make sure to check event_len when copying (Miklos Szeredi) [1451863] - [fs] fsnotify/fdinfo: include fdinfo.h for inotify_show_fdinfo() (Miklos Szeredi) [1451863] - [include] fanotify: introduce new event mask FAN_OPEN_EXEC_PERM (Miklos Szeredi) [1451863] - [include] fsnotify: refactor fsnotify_parent()/fsnotify() paired calls when event is on path (Miklos Szeredi) [1451863] - [include] fanotify: introduce new event mask FAN_OPEN_EXEC (Miklos Szeredi) [1451863] - [fs] fanotify: return only user requested event types in event mask (Miklos Szeredi) [1451863] - [fs] fanotify: support reporting thread id instead of process id (Miklos Szeredi) [1451863] - [fs] fanotify: add BUILD_BUG_ON() to count the bits of fanotify constants (Miklos Szeredi) [1451863] - [fs] fsnotify: convert runtime BUG_ON() to BUILD_BUG_ON() (Miklos Szeredi) [1451863] - [fs] fanotify: deprecate uapi FAN_ALL_* constants (Miklos Szeredi) [1451863] - [fs] fanotify: simplify handling of FAN_ONDIR (Miklos Szeredi) [1451863] - [include] fanotify: fix collision of internal and uapi mark flags (Miklos Szeredi) [1451863] - [fs] fanotify: store fanotify_init() flags in group's fanotify_data (Miklos Szeredi) [1451863] - [fs] fanotify: clean up handling of "mark type" (Miklos Szeredi) [1451863] - [fs] fsnotify: fix false positive warning on inode delete (Miklos Szeredi) [1451863] - [include] inotify: Add flag IN_MASK_CREATE for inotify_add_watch() (Miklos Szeredi) [1451863] - [fs] fanotify: factor out helpers to add/remove mark (Miklos Szeredi) [1451863] - [fs] fsnotify: add helper to get mask from connector (Miklos Szeredi) [1451863] - [fs] fsnotify: let connector point to an abstract object (Miklos Szeredi) [1451863] - [fs] fsnotify: pass connp and object type to fsnotify_add_mark() (Miklos Szeredi) [1451863] - [fs] fsnotify: use typedef fsnotify_connp_t for brevity (Miklos Szeredi) [1451863] - [powerpc] powerpc/pseries: Fix oops in hotplug memory notifier (Steve Best) [1720932] - [netdrv] net: aquantia: tcp checksum 0xffff being handled incorrectly (Igor Russkikh) [1719176] - [netdrv] net: aquantia: fix LRO with FCS error (Igor Russkikh) [1719176] - [netdrv] net: aquantia: check rx csum for all packets in LRO session (Igor Russkikh) [1719176] - [netdrv] net: aquantia: tx clean budget logic error (Igor Russkikh) [1719176] - [security] selinux: log raw contexts as untrusted strings (Ondrej Mosnacek) [1719666] - [kernel] audit: add saddr_fam filter field (Richard Guy Briggs) [1715679] - [kernel] audit: re-structure audit field valid checks (Richard Guy Briggs) [1715679] - [kernel] audit: rename FILTER_TYPE to FILTER_EXCLUDE (Richard Guy Briggs) [1715679] - [kernel] audit: allow other filter list types for AUDIT_EXE (Richard Guy Briggs) [1715679] - [documentation] ovl: doc: add non-standard corner cases (Miklos Szeredi) [1718370] - [fs] ovl: support the FS_IOC_FSETXATTR ioctls (Miklos Szeredi) [1718370] - [fs] ovl: relax WARN_ON() for overlapping layers use case (Miklos Szeredi) [1718370] - [fs] ovl: check the capability before cred overridden (Miklos Szeredi) [1718370] - [fs] ovl: do not generate duplicate fsnotify events for "fake" path (Miklos Szeredi) [1718370] - [fs] ovl: support stacked SEEK_HOLE/SEEK_DATA (Miklos Szeredi) [1718370] - [fs] ovl: fix missing upper fs freeze protection on copy up for ioctl (Miklos Szeredi) [1718370] - [fs] fuse: fallocate: fix return with locked inode (Miklos Szeredi) [1717457] - [fs] fuse: honor RLIMIT_FSIZE in fuse_file_fallocate (Miklos Szeredi) [1717457] - [fs] fuse: decrement NR_WRITEBACK_TEMP on the right page (Miklos Szeredi) [1717457] - [fs] fuse: handle zero sized retrieve correctly (Miklos Szeredi) [1717457] - [fs] fuse: continue to send FUSE_RELEASEDIR when FUSE_OPEN returns ENOSYS (Miklos Szeredi) [1717457]- [mm] mm/mincore.c: make mincore() more conservative (Rafael Aquini) [1664203] {CVE-2019-5489} - [x86] x86/umip: Make the UMIP activated message generic (David Arcari) [1720014] - [x86] x86/umip: Print UMIP line only once (David Arcari) [1720014] - [crypto] crypto: vmac - separate tfm and request context (Desnes Augusto Nunes do Rosario) [1702702] - [crypto] crypto: ccp - Update driver messages to remove some confusion (David Arcari) [1719026] - [block] blk-mq: fix hang caused by freeze/unfreeze sequence (Ming Lei) [1719835] - [block] blk-mq: remove WARN_ON(!q->elevator) from blk_mq_sched_free_requests (Ming Lei) [1719835] - [block] block: free sched's request pool in blk_cleanup_queue (Ming Lei) [1719835] - [block] block: don't protect generic_make_request_checks with blk_queue_enter (Ming Lei) [1719835] - [block] block: move blk_exit_queue into __blk_release_queue (Ming Lei) [1719835] - [block] block: print offending values when cloned rq limits are exceeded (Ming Lei) [1719816] - [block] block: fix page leak when merging to same page (Ming Lei) [1662864] - [x86] RHEL: fix build of spec_ctrl.h for older assemblers (Jeff Moyer) [1719406] - [drm] drm/amd/display: Initialize stream_update with memset (Jeff Moyer) [1719406] - [mm] mm/gup: finish consolidating error handling (Jeff Moyer) [1641506] - [mm] mm/gup: cache dev_pagemap while pinning pages (Jeff Moyer) [1641506] - [rpmspec] kernel packaging: Fix extra namespace collision (Prarit Bhargava) [1699868] - [rpmspec] redhat: kernel-selftests-internal: add dependencies (Jiri Benc) [1717943] - [kernel] kernel/module.c: Only return -EEXIST for modules that have finished loading (Prarit Bhargava) [1666939] - [input] Input: elantech - remove P52 and P72 from SMBus blacklist (Benjamin Tissoires) [1703157] - [input] Input: elan_i2c - handle physical middle button (Benjamin Tissoires) [1703157] - [input] Input: elantech/SMBus - export all capabilities from the PS/2 node (Benjamin Tissoires) [1703157] - [input] Input: elan_i2c - do not query the info if they are provided (Benjamin Tissoires) [1703157] - [input] Input: elantech - detect middle button based on firmware version (Benjamin Tissoires) [1703157] - [input] Input: elantech - add helper function elantech_is_buttonpad() (Benjamin Tissoires) [1703157] - [input] Input: elantech - query the min/max information beforehand too (Benjamin Tissoires) [1703157] - [input] Input: elantech - enable middle button support on 2 ThinkPads (Benjamin Tissoires) [1703157] - [input] Input: elan_i2c - increment wakeup count if wake source (Benjamin Tissoires) [1703157] - [kernel] timekeeping: Update multiplier when NTP frequency is set directly (Prarit Bhargava) [1714164] - [fs] xfs: fix use after free in buf log item unlock assert (Brian Foster) [1666150] - [fs] xfs: add missing error check in xfs_prepare_shift() (Brian Foster) [1699214] - [documentation] Documentation: Fix grammatical error in sysctl/fs.txt & clarify negative dentry (Waiman Long) [1673955] - [fs] fs/dcache: Track & report number of negative dentries (Waiman Long) [1673955] - [fs] fs/dcache: Fix incorrect nr_dentry_unused accounting in shrink_dcache_sb() (Waiman Long) [1673955] - [net] tcp: tcp_fragment() should apply sane memory limits (Florian Westphal) [1719858] {CVE-2019-11478} - [net] tcp: limit payload size of sacked skbs (Florian Westphal) [1719603] {CVE-2019-11477}- [tools] kvm: selftests: make hyperv_cpuid test pass on AMD (Vitaly Kuznetsov) [1718501] - [scsi] vmw_pvscsi: Fixed to work with SG_CHAIN (Ewan Milne) [1717278] - [x86] mark AMD Rome processors supported (David Arcari) [1520002] - [fs] ext4: zero out the unused memory region in the extent tree block (Lukas Czerner) [1715276] {CVE-2019-11833} - [s390] s390/smp: Fix calling smp_call_ipl_cpu() from ipl CPU (David Hildenbrand) [1715041] - [vfio] vfio/type1: Limit DMA mappings per container (Alex Williamson) [1695592] {CVE-2019-3882} - [tools] selftests/powerpc: Remove Power9 paste tests (Diego Domingos) [1662374] - [tools] selftests/powerpc: Remove Power9 copy_unaligned test (Diego Domingos) [1662374] - [tools] selftests/powerpc: Fix ptrace tm failure (Diego Domingos) [1662374] - [netdrv] mlxsw: core: Prevent reading unsupported slave address from SFP EEPROM (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Prevent QSFP module initialization for old hardware (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Fix autoneg status in ethtool (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Reincrease PCI reset timeout (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Put MC TCs into DWRR mode (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Add a multicast pool for Spectrum-2 (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test VRF MAC vetoing (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Do not check VRF MAC address (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Do not use WQ_MEM_RECLAIM for mlxsw workqueue (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Do not use WQ_MEM_RECLAIM for mlxsw ordered workqueue (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Do not use WQ_MEM_RECLAIM for EMAD workqueue (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Add MDB entries in prepare phase (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: mlxsw: core: avoid -Wint-in-bool-context warning (Ivan Vecera) [1680241] - [netdrv] mlxsw: minimal: Initialize base_mac (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Prevent duplication during QSFP module initialization (Ivan Vecera) [1680241] - [netdrv] mellanox: Switch to bitmap_zalloc() (Ivan Vecera) [1680241] - [netdrv] mlxsw: i2c: Extend initialization by querying resources data (Ivan Vecera) [1680241] - [netdrv] mlxsw: i2c: Extend input parameters list of command API (Ivan Vecera) [1680241] - [netdrv] mlxsw: i2c: Modify input parameter name in initialization API (Ivan Vecera) [1680241] - [netdrv] mlxsw: i2c: Fix comment misspelling (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Move resource query API to common location (Ivan Vecera) [1680241] - [netdrv] mlxsw: minimal: Add ethtool support (Ivan Vecera) [1680241] - [netdrv] mlxsw: minimal: Make structures and variables names shorter (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Move ethtool module callbacks to a common location (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Make mlxsw_sp_acl_tcam_vregion_rehash() return void (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remember where to continue rehash migration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Allow to interrupt/continue rehash work (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Do rollback as another call to mlxsw_sp_acl_tcam_vchunk_migrate_all() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Put vchunk migrate start/end code into separate functions (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Put this_is_rollback to rehash context struct (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Rename variables in mlxsw_sp_acl_tcam_ventry_migrate() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: assign vchunk->chunk by the newly created chunk (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: assign vregion->region by the newly created region (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Push code start/end from mlxsw_sp_acl_tcam_vregion_migrate() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Push rehash start/end code into separate functions (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce new rehash context struct and save hint_priv there (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Don't migrate already migrated entry (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Push rehash dw struct into rehash sub-struct (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Handle SWITCHDEV_PORT_ATTR_SET (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Use struct_size() in kzalloc() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: remove set but not used variable 'autoneg_status' (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Add massive delta rehash test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Check migrate end trace (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add vregion migration end tracepoint (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Add IPv6 variant of simple delta rehash test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Don't take mutex in mlxsw_sp_acl_tcam_vregion_rehash_work() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remove RTNL lock assertions from ERP code (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Don't take rtnl lock during vregion_rehash_intrvl_set() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce a mutex to guard objagg instance manipulation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Enable vregion rehash per-profile (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce mutex to guard Bloom Filter updates (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce vregion mutex (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Refactor vregion association code (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce a mutex to guard region list updates (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split TCAM group structure into two (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remove unused ops field from group structure (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add Spectrum-2 ASIC support for new port types and speeds (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add Spectrum-2 ASIC port type-speed operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add new port type-speed fields for PTYS register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: 80 columns wrapping change (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Rename p_eth_proto_adm to full name p_eth_proto_admin (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add port type-speed operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Rename port type-speed functions to ASIC specific (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Query port connector type from firmware (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove unsupported eth_proto_lp_advertise field in PTYS (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove duplicate port link mode entry (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Avoid -Wformat-truncation warnings (Ivan Vecera) [1680241] - [netdrv] net: Remove SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS_SUPPORT (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Reject overlarge headroom size requests (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Update port headroom configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Add Spectrum-2 shared buffer configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep mlxsw_sp_sb_mm in sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep mlxsw_sp_sb_cm in sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep mlxsw_sp_sb_prs in mlxsw_sp_sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep mlxsw_sp_sb_pms in mlxsw_sp_sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep pool descriptors in mlxsw_sp_sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Allocate prs & pms dynamically (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add struct mlxsw_sp_sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Change IP2ME CPU policer rate and burst size values (Ivan Vecera) [1680241] - [netdrv] mlxsw: __mlxsw_sp_port_headroom_set(): Fix a use of local variable (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add some missing configuration symbols (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: fix spelling mistake "temprature" -> "temperature" (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Extend thermal module with per QSFP module thermal zones (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Allow thermal zone binding to an external cooling device (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Add QSFP module temperature label attribute to hwmon (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Extend hwmon interface with QSFP module temperature attributes (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Extend hwmon interface with fan fault attribute (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Rename cooling device (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Replace thermal temperature trips with defines (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Modify thermal zone definition (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Set different thermal polling time based on bus frequency capability (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Add API for QSFP module temperature thresholds reading (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Fan Out of Range Event Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Management Temperature Bulk Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Move QSFP EEPROM definitions to common location (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Remove unused variables (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: avoid double sourcing of lib.sh (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_flower: Fix VLAN modify action support (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Drop unnecessary WARN_ON_ONCE() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Set LAG port collector only when active (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Remove getting PORT_BRIDGE_FLAGS (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Use struct_size() in kzalloc() (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Add simple delta rehash test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add couple of vregion rehash tracepoints (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: add "acl_region_rehash_interval" devlink param (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Implement region migration according to hints (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add multi field to PAGT register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Pass hints priv all the way to ERP code (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Implement basic ERP rehash hits creation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split entry struct into entry and ventry (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split chunk struct into chunk and vchunk (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split region struct into region and vregion (Ivan Vecera) [1680241] - [netdrv] lib: objagg: implement optimization hints assembly and use hints for object creation (Ivan Vecera) [1680241] - [netdrv] devlink: publish params only after driver init is done (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for blackhole routes (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Offload blackhole routes (Ivan Vecera) [1680241] - [netdrv] mlxsw: Implement ndo_get_port_parent_id() (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Trace EMAD errors (Ivan Vecera) [1680241] - [netdrv] drivers: net: use flow action infrastructure (Ivan Vecera) [1680241] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_flower: Fix test result handling (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_bridge_1q_lag: Ignore ARP (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_bridge_1q_lag: Enable forwarding (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_bridge_1q_lag: Flush neighbors (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_vlan_bridge_1q: Fix roaming test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_lib: Wait for tardy mirrored packets (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_changes: Fix TTL test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Update ping limits (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_lib: Update ping limits (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Make ping timeout configurable (Ivan Vecera) [1680241] - [tools] selftests: spectrum-2: Add delta two masks one key test (Ivan Vecera) [1680241] - [tools] selftests: spectrum-2: Fix multiple_masks_test (Ivan Vecera) [1680241] - [tools] selftests: spectrum-2: Extend and move trace helpers (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add C-TCAM spill tracepoint (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Include delta bits into hashtable key (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Use OK instead of PASS in test output (Ivan Vecera) [1680241] - [tools] selftests: net: forwarding: change devlink resource support checking (Ivan Vecera) [1680241] - [documentation] Documentation: add devlink param file for mlxsw driver (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Add more extack messages (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Fix rul/rule typo (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Move mr_ruleset and mr_rule structs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remove unnecessary arg on action_replace call path (Ivan Vecera) [1680241] - [netdrv] mlxfw: Replace license text with SPDX identifiers and adjust copyrights (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Enable VXLAN on Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Add support for VXLAN on Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Breakout common code to a common function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Expose functions to create and destroy underlay RIF (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test case for ARP suppression (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test for VXLAN symmetric routing (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test case for ARP decapsulation (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test for VXLAN asymmetric routing (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE hierarchical topology with keys test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE hierarchical topology with key test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE hierarchical topology test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE flat topology with keys test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE flat topology with key test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE flat topology test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP tunneling lib (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Add GRE tunnel support for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Update tunnel decap properties (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Support RIF without device (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Change mlxsw_sp_ipip_lb_ul_vr_id() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Add underlay RIF ID support (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Mark RIF index as taken before creation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Adjust loopback RIF configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Set RIF ops per ASIC type (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Split RIF ops array for Spectrum-2 support (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add underlay egress RIF field in RTDP register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add fields to RITR - Router Interface Table Register (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test case for externally learned FDB entries (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test FDB offload indication (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Do not treat static FDB entries as sticky (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Update dummy FID index (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Return error on PCI reset timeout (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Increase PCI SW reset timeout (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Ring CQ's doorbell before RDQ's (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test veto of unsupported VXLAN FDBs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add extack messages to VXLAN FDB rejection (Ivan Vecera) [1680241] - [netdrv] mlxsw: Add extack to mlxsw_sp_nve_ops.fdb_replay (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Use struct_size() in kzalloc() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl_bloom_filter: use struct_size() in kzalloc() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test for VLAN deletion (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Set PVID correctly during VLAN deletion (Ivan Vecera) [1680241] - [net] net: bridge: Fix VLANs memory leak (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test case for VLAN addition error flow (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Replace error code with EINVAL (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Avoid returning errors in commit phase (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add VXLAN dependency for spectrum (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Disable lag port TX before removing it (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remove ASSERT_RTNL()s in module removal flow (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add cleanup after C-TCAM update error condition (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: drop useless LIST_HEAD (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add router test with VID 1 (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Adjust test regarding VID 1 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove limitation regarding VID 1 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Switch to VID 4095 as default VID (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add an helper function to cleanup VLAN entries (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Store pointer to default port VLAN in port struct (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Allow controlling destruction of default port VLAN (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Set PVID during port initialization (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Replace hard-coded default VID with a define (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test case for L3 VNI (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Do not force specific configuration order (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add rtnetlink tests (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Hold a reference on RIF's netdev (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Make RIF deletion more robust (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Propagate 'struct mlxsw_sp' further (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Properly cleanup LAG uppers when removing port from LAG (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove reference count from VLAN entries (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Handle VLAN device unlinking (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Remove unused function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Do not destroy RIFs based on FID's reference count (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Sanitize VLAN interface's uppers (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Fix memory leak upon driver reload (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add trap for decapsulated ARP packets (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Increase timeout during firmware flash process (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Update the supported firmware to version 13.1910.622 (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add Bloom delta test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add Bloom filter complex test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add Bloom filter simple test (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Activate Bloom filter (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Set master RP index on transition to eRP (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Update Bloom filter on eRP transitions (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Set A-TCAM rules in Bloom filter (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add Bloom filter update (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add Bloom filter handling (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce Bloom filter (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add Spectrum-2 Bloom filter resource (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy Engine Algorithmic Bloom Filter Entries Register (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test FID RIF MAC vetoing (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test RIF MAC vetoing (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Veto unsupported RIF MAC addresses (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add mlxsw_sp.mac_mask (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Generalize mlxsw_sp_netdevice_router_port_event() (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: extack: Test VLAN add on a port device (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: extack: Test VLAN add on a VXLAN device (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Propagate extack on port VLAN events (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Propagate extack on VXLAN VLAN events (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add multicast routing test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Add Multicast routing support for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Limit priority value (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Support rule creation without action creation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add replace rule action operation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add multicast router profile operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add Spectrum-2 keys (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Change stage of ACL initialization (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy Engine Multicast Router Binding Table Register (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add PVID test case for VXLAN with VLAN-aware bridges (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: vxlan: Test FDB un/marking on VXLAN join/leave (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Un/offload FDB on nve_fid_disable/enable (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add mlxsw_sp_fid_ops.fdb_clear_offload (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Add mlxsw_sp_nve_ops.fdb_clear_offload (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Add mlxsw_sp_nve_ops.fdb_replay (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Publish mlxsw_sp_switchdev_notifier (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Track NVE type at FIDs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Fix VLAN device deletion via ioctl (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Relax GRE decap matching check (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Avoid leaking FID's reference count (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Remove easily triggerable warnings (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a new test extack.sh (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add one-armed router test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Mirror loopbacked packets instead of trapping them (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Load firmware version based on devlink parameter (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Reset firmware after flash during driver initialization (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add VxLAN test with a VLAN-aware bridge (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for VxLAN configuration with a VLAN-aware bridge (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Consider VLAN-aware bridges as valid (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Enable VxLAN enslavement to VLAN-aware bridges (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Prepare function for VLAN-aware bridges (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Unify VxLAN leave function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Add API to lookup 802.1Q FIDs without creating them (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Flip driver to use emulated 802.1Q FIDs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Introduce emulated VLAN RIFs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Introduce emulated 802.1Q FIDs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Make flood index calculation more robust (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Do not set field when it is reserved (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Consider VxLAN learning enabled as valid (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Allow VxLAN learning (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Allow deletion of learned FDB entries (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Process learned VxLAN FDB entries (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Add API to resolve learned IP addresses (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Allow FID lookup by its index (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Store ifindex of NVE device in FID (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add definition of unicast tunnel record for SFN register (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Extend cooling device with cooling levels (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for VxLAN flooding (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for VxLAN configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Expose discard counters via ethtool (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Add simple delta test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Implement delta for ERP (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Push code related to num_ctcam_erps inc/dec into separate helpers (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Remove mlxsw_afk_encode() block range args and key/mask check (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Don't encode the key again in mlxsw_sp_acl_atcam_12kb_lkey_id_get() (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl: Change order of args of ops->encode_block() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Pass key pointer to master_mask_set/clear (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl_erp: Convert to use objagg for tracking ERPs (Ivan Vecera) [1680241] - [tools] selftests: Adjust spectrum-2 ctcam_two_atcam_masks_test (Ivan Vecera) [1680241] - [tools] selftests: Adjust spectrum-2 two_mask_test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Fix IP2ME CPU policer configuration (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: qos_mc_aware: Add a test for UC awareness (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: qos_mc_aware: Tweak for min shaper (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Set minimum shaper on MC TCs (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: QEEC: Add minimum shaper fields (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Fix devlink unregister flow (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Don't ignore deletions of learned MACs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Add support for VxLAN encapsulation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Enable VxLAN enslavement to bridges (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Configure matching local routes for NVE decap (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Clear NVE configuration when destroying 802.1D FIDs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Implement VxLAN operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Implement common NVE core (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Allow querying VR ID based on table ID (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Enable local routes promotion to perform NVE decap (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Add APIs to lookup FID without creating it (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Allow setting and clearing NVE properties on FID (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Fix use-after-free when flashing firmware during init (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add NVE packet traps (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add NVE resources (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Monitoring Parsing State Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add definition of unicast tunnel record for SFD register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE QoS Default Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE QoS Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE Decapsulation ECN Mapping Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE Encapsulation ECN Mapping Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE Underlay Multicast Table Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunnel Port Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE General Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Seed LAG hash function (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Extend FDB flush types for NVE (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add a new type of KVD linear record (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Move L3 protocol and address definitions to global header file (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Do not assume notifier information type (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Check notification relevance based on upper device (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Prepare for VxLAN FDB notifications (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove misuses of private header file (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: qos_mc_aware: Make executable (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Have lldpad_app_wait_set() wait for unknown, too (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Fix a typo (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Delete RIF when VLAN device is removed (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Derive event type from event queue number (Ivan Vecera) [1680241] - [netdrv] mlxsw: Make MLXSW_SP1_FWREV_MINOR a hard requirement (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Bump required firmware version (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for UC behavior under MC flood (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Add mtu_set(), mtu_restore() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Add ethtool_stats_get() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Tweak SBMM configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Configure MC pool (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Allow configuration of static pools (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Pass SBPM min_size in cells (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Allow an infinite maximum for per-TC pool limit (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Allow pools of infinite size (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep shared buffer size in mlxsw_sp_sb (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Split TC_COUNT into ingress and egress (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Use devlink pool indices throughout (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Init shaper for TCs 8..15 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Set up a dedicated pool for BUM traffic (Ivan Vecera) [1680241] - [netdrv] mlxsw: remove unused arrays mlxsw_i2c_driver_name and mlxsw_pci_driver_name (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: remove unnecessary function mlxsw_core_driver_put (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Expose counter for all 16 TCs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Include RFC-2819 counters in stats length (Ivan Vecera) [1680241] - [netdrv] mlxsw: Replace license text with SPDX identifiers and adjust copyrights (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add TC flower test for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Reset FW after flash (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Update the supported firmware to version 13.1702.6 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_flower: Disallow usage of vlan_id key on egress (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_flower: use PTR_ERR_OR_ZERO() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: gre_multipath: Update next-hop statistics match criteria (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Configure MC-aware mode on mlxsw ports (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Fix a typo (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS Switch Traffic Class Table is Multicast-Aware Register (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add test for ip_forward_update_priority (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Move DSCP capture to lib.sh (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Move lldpad waiting to lib.sh (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Handle sysctl_ip_fwd_update_priority (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Extract work-scheduling into a new function (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test mirror-to-gretap w/ UL team LACP (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test mirror-to-gretap w/ UL team (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Introduce $ARPING (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Support team devices (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Add require_command() (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: qos_dscp_bridge: Fix (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add test for trust-DSCP (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Support ieee_setapp, ieee_delapp (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS Priority to DSCP Mapping Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS ReWrite Enable Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS Priority Trust State Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS Port DSCP to Priority Mapping Register (Ivan Vecera) [1680241] - [tools] selftests: add a selftest for directed broadcast forwarding (Ivan Vecera) [1680241] - [tools] selftests: forwarding: add tests for TC chain get and dump operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Start using A-TCAM (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add A-TCAM rule insertion and deletion (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Pass C-TCAM region and entry to insert function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add A-TCAM region initialization (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Make global TCAM resources available to regions (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Encapsulate C-TCAM region in A-TCAM region (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add A-TCAM initialization (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Allow encoding a partial key (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Extend Spectrum-2 region struct (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add support for C-TCAM eRPs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Enable C-TCAM only mode in eRP core (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Implement common eRP core (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add Spectrum-2 eRP resources (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add Spectrum-2 maximum large key ID resource (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine eRP Table Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine TCAM Entry Register Version 3 (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Prepare PERERP register for A-TCAM usage (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_flower: Add extack messages (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add extack messages (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_actions: Add extack messages (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Propagate extack pointer (Ivan Vecera) [1680241] - [tools] selftests: forwarding: gre_multipath: Drop IPv6 tests (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Implement chain template hinting (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Extend to support Spectrum-2 ASIC (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add initial Spectrum-2 ACL implementation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add region association callback (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add support for Spectrum-2 block encoding (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Prepare for Spectrum-2 block encoding (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine General Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine Region eRP Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine Region Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine Region Association Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: acl: Introduce activity get operation for action block/set (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add support for activity information from PEFA register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Introduce flex key blocks for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add Spectrum-2 variant of flex actions ops (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_mr_tcam: Add Spectrum-2 stubs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add KVDL manager implementation for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Infrastructure Entry Delete Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Expose counters for various packet sizes (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Optimize processing of VRRP MACs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add VRRP traps (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Direct macvlans' MACs to router (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Enable macvlan upper devices (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_nh: Unset rp_filter on host VRF (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_span: Change LAG lower selection (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add couple of Spectrum-2 KVD resources (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Prepare for multiple FW versions for Spectrum and Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Implement priority setting for rules inserted to TCAM (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add priority field for PTCEV2 register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Move block items encoding into Spectrum op (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Convert mlxsw_afk_create args to ops (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add tcam init/fini ops (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split TCAM handling 3 ways (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_mr_tcam: Push Spectrum-specific operations into a separate file (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_kvdl: Pass entry_count to free function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_kvdl: Pass entry type to alloc/free (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_kvdl: Push out KVD linear management into ops (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_lib: Tighten up VLAN capture (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_actions: Fix helper to get the first KVD linear index (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_actions: Allow the first set to be dummy (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Put pointer to flex action ops to mlxsw_sp (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_keys: Change SRC_SYS_PORT flex key element size (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_keys: Split MAC and IP address flex key elements (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Ignore always-zeroed bits in tp->prio (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Introduce Flex2 key type for PTAR register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Change name of mlxsw_sp_afk_blocks to mlxsw_sp1_afk_blocks (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: avoid uninitialized variable access (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add mlxsw-specific test for mirror to gretap (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Allow importing dependent libraries (Ivan Vecera) [1680241] - [tools] selftests: forwarding: test for bridge port isolation (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test mirror-to-gretap w/ UL 802.1q (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test mirror-to-gretap w/ UL 802.1d (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add scale test for resources (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add target for mirror-to-gretap test on spectrum (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add scale test for mirror-to-gretap (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add target for tc flower test on spectrum (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add tc flower scale test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add target for router test on spectrum (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add router test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add devlink KVD resource test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add devlink_lib_spectrum.sh (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add devlink_lib.sh (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Parameterize NUM_NETIFS in two functions (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Add check_err_fail() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Allow lib.sh sourcing from other directories (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_changes: Fix waiting for neighbor (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Split out setup_wait_dev() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test multipath tunneling (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_vlan_bridge_1q: Unset rp_filter (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test routed bridge interface (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Ban PVID change if bridge has a RIF (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Add mlxsw_sp_rif_fid() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Publish mlxsw_sp_rif_find_by_dev() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Allocate FID according to PVID (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Propagate extack to .fid_get() (Ivan Vecera) [1680241] - [netdrv] net: phy: realtek: Dummy IRQ calls for RTL8366RB (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add generic Realtek PHY driver (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: use new PHYID matching macros (Corinna Vinschen) [1680528] - [include] net: phy: add macros for PHYID matching (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: load driver for all PHYs with a Realtek OUI (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: fix RTL8201F sysfs name (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: Support RTL8366RB variant (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add missing entry for RTL8211C to mdio_device_id table (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add support for RTL8211C (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add missing entry for RTL8211 to mdio_device_id table (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add support for RTL8211 (Corinna Vinschen) [1680528] - [netdrv] r8169: change irq handler to always trigger NAPI polling (Corinna Vinschen) [1680528] - [netdrv] r8169: create function pointer array for chip hw init functions (Corinna Vinschen) [1680528] - [netdrv] r8169: create function pointer array for PHY init functions (Corinna Vinschen) [1680528] - [netdrv] r8169: disable ASPM again (Corinna Vinschen) [1680528] - [netdrv] r8169: disable tx interrupt coalescing on RTL8168 (Corinna Vinschen) [1680528] - [netdrv] Revert "r8169: use netif_receive_skb_list batching" (Corinna Vinschen) [1680528] - [netdrv] r8169: use netif_receive_skb_list batching (Corinna Vinschen) [1680528] - [netdrv] r8169: disable default rx interrupt coalescing on RTL8168 (Corinna Vinschen) [1680528] - [netdrv] r8169: fix cable re-plugging issue (Corinna Vinschen) [1680528] - [netdrv] r8169: use netif_start_queue instead of netif_wake_qeueue in rtl8169_start_xmit (Corinna Vinschen) [1680528] - [netdrv] r8169: don't read interrupt mask register in interrupt handler (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unneeded mmiowb barriers (Corinna Vinschen) [1680528] - [netdrv] Revert "r8169: make use of xmit_more and __netdev_sent_queue" (Corinna Vinschen) [1680528] - [netdrv] Revert "r8169: remove unneeded mmiowb barriers" (Corinna Vinschen) [1680528] - [netdrv] r8169: Avoid pointer aliasing (Corinna Vinschen) [1680528] - [netdrv] r8169: Load MAC address from device tree if present (Corinna Vinschen) [1680528] - [netdrv] r8169: remove rtl_wol_pll_power_down (Corinna Vinschen) [1680528] - [netdrv] r8169: improve WoL handling (Corinna Vinschen) [1680528] - [netdrv] r8169: enable EEE per default on RTL8168f (Corinna Vinschen) [1680528] - [netdrv] r8169: add EEE support for RTL8168f (Corinna Vinschen) [1680528] - [netdrv] r8169: enable EEE per default on chip versions from RTL8168g (Corinna Vinschen) [1680528] - [netdrv] r8169: add general EEE support for chip versions from RTL8168g (Corinna Vinschen) [1680528] - [netdrv] r8169: factor out PHY init sequence adjusting 10M and ALDPS (Corinna Vinschen) [1680528] - [netdrv] r8169: factor out disabling ALDPS (Corinna Vinschen) [1680528] - [netdrv] r8169: improve firmware handling (Corinna Vinschen) [1680528] - [netdrv] r8169: remove PCI DAC support (Corinna Vinschen) [1680528] - [netdrv] r8169: improve rx buffer allocation (Corinna Vinschen) [1680528] - [netdrv] r8169: factor out getting ether_clk (Corinna Vinschen) [1680528] - [netdrv] r8169: replace mii_bus member with phy_device member in struct rtl8169_private (Corinna Vinschen) [1680528] - [netdrv] r8169: reset chip synchronously in __rtl8169_resume (Corinna Vinschen) [1680528] - [netdrv] r8169: add helpers for locking / unlocking the config registers (Corinna Vinschen) [1680528] - [netdrv] r8169: improve rtl_pcie_state_l2l3_enable (Corinna Vinschen) [1680528] - [netdrv] r8169: initialize task workqueue only once (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unneeded call in pcierr (Corinna Vinschen) [1680528] - [netdrv] r8169: remove rtl_get_events (Corinna Vinschen) [1680528] - [netdrv] r8169: load Realtek PHY driver module before r8169 (Corinna Vinschen) [1680528] - [netdrv] r8169: don't try to read counters if chip is in a PCI power-save state (Corinna Vinschen) [1680528] - [netdrv] r8169: Add support for new Realtek Ethernet (Corinna Vinschen) [1680528] - [netdrv] r8169: fix WoL device wakeup enable (Corinna Vinschen) [1680528] - [netdrv] r8169: improve spurious interrupt detection (Corinna Vinschen) [1680528] - [netdrv] r8169: fix crash if CONFIG_DEBUG_SHIRQ is enabled (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unneeded mmiowb barriers (Corinna Vinschen) [1680528] - [netdrv] ethernet/realtek: Replace synchronize_sched() with synchronize_rcu() (Corinna Vinschen) [1680528] - [netdrv] r8169: make use of xmit_more and __netdev_sent_queue (Corinna Vinschen) [1680528] - [netdrv] r8169: replace macro TX_FRAGS_READY_FOR with a function (Corinna Vinschen) [1680528] - [netdrv] r8169: use napi_consume_skb where possible (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify detecting chip versions with same XID (Corinna Vinschen) [1680528] - [netdrv] r8169: remove default chip versions (Corinna Vinschen) [1680528] - [netdrv] r8169: remove ancient GCC bug workaround in a second place (Corinna Vinschen) [1680528] - [netdrv] r8169: improve chip version identification (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify ocp functions (Corinna Vinschen) [1680528] - [netdrv] r8169: remove workaround for ancient gcc bug (Corinna Vinschen) [1680528] - [netdrv] r8169: remove manual padding in struct ring_info (Corinna Vinschen) [1680528] - [netdrv] r8169: remove "not PCI Express" message (Corinna Vinschen) [1680528] - [netdrv] r8169: remove print_mac_version (Corinna Vinschen) [1680528] - [netdrv] r8169: use PCI_VDEVICE macro (Corinna Vinschen) [1680528] - [netdrv] r8169: replace event_slow with irq_mask (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unused interrupt sources (Corinna Vinschen) [1680528] - [netdrv] r8169: use dev_get_drvdata where possible (Corinna Vinschen) [1680528] - [netdrv] r8169: merge rtl_irq_enable and rtl_irq_enable_all (Corinna Vinschen) [1680528] - [pci] PCI: add USR vendor id and use it in r8169 and w6692 driver (Corinna Vinschen) [1680528] - [netdrv] net: ethernet: Convert phydev advertize and supported from u32 to link mode (Corinna Vinschen) [1680528] - [netdrv] r8169: fix broken Wake-on-LAN from S5 (poweroff) (Corinna Vinschen) [1680528] - [netdrv] r8169: add support for Byte Queue Limits (Corinna Vinschen) [1680528] - [netdrv] r8169: handle all interrupt events in the hard irq handler (Corinna Vinschen) [1680528] - [netdrv] r8169: fix NAPI handling under high load (Corinna Vinschen) [1680528] - [netdrv] r8169: re-enable MSI-X on RTL8168g (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unneeded call to netif_stop_queue in rtl8169_net_suspend (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify rtl8169_set_magic_reg (Corinna Vinschen) [1680528] - [netdrv] r8169: Enable MSI-X on RTL8106e (Corinna Vinschen) [1680528] - [netdrv] r8169: set RX_MULTI_EN bit in RxConfig for 8168F-family chips (Corinna Vinschen) [1680528] - [netdrv] r8169: always autoneg on resume (Corinna Vinschen) [1680528] - [netdrv] r8169: fix network stalls due to missing bit TXCFG_AUTO_FIFO (Corinna Vinschen) [1680528] - [netdrv] r8169: Disable clk during suspend / resume (Corinna Vinschen) [1680528] - [netdrv] r8169: improve a check in rtl_init_one (Corinna Vinschen) [1680528] - [netdrv] r8169: improve rtl8169_irq_mask_and_ack (Corinna Vinschen) [1680528] - [netdrv] r8169: use default watchdog timeout (Corinna Vinschen) [1680528] - [netdrv] r8169: fix autoneg issue on resume with RTL8168E (Corinna Vinschen) [1680528] - [netdrv] r8169: remove duplicated RTL8169s PHY initialization steps (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify RTL8169 PHY initialization (Corinna Vinschen) [1680528] - [netdrv] r8169: Get and enable optional ether_clk clock (Corinna Vinschen) [1680528] - [netdrv] r8169: enable ASPM on RTL8106E (Corinna Vinschen) [1680528] - [netdrv] r8169: Align ASPM/CLKREQ setting function with vendor driver (Corinna Vinschen) [1680528] - [netdrv] r8169: Clear RTL_FLAG_TASK_*_PENDING when clearing RTL_FLAG_TASK_ENABLED (Corinna Vinschen) [1680528] - [netdrv] r8169: set TxConfig register after TX / RX is enabled, just like RxConfig (Corinna Vinschen) [1680528] - [netdrv] r8169: don't configure max jumbo frame size per chip version (Corinna Vinschen) [1680528] - [netdrv] r8169: don't configure csum function per chip version (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify interrupt handler (Corinna Vinschen) [1680528] - [netdrv] r8169: don't include asm headers directly (Corinna Vinschen) [1680528] - [netdrv] r8169: remove version info (Corinna Vinschen) [1680528] - [netdrv] r8169: restore previous behavior to accept BIOS WoL settings (Corinna Vinschen) [1680528] - [netdrv] r8169: power down chip in probe (Corinna Vinschen) [1680528] - [netdrv] r8169: don't read chip phy status register (Corinna Vinschen) [1680528] - [netdrv] r8169: remove mii_if_info member from struct rtl8169_private (Corinna Vinschen) [1680528] - [netdrv] r8169: remove rtl8169_set_speed_xmii (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_speed_down / phy_speed_up (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_mii_ioctl (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_ethtool_nway_reset (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_ethtool_(g|s)et_link_ksettings (Corinna Vinschen) [1680528] - [netdrv] r8169: replace open-coded PHY soft reset with genphy_soft_reset (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_resume/phy_suspend (Corinna Vinschen) [1680528] - [netdrv] r8169: add basic phylib support (Corinna Vinschen) [1680528] - [netdrv] r8169: fix runtime suspend (Corinna Vinschen) [1680528] - [netdrv] r8169: remove old PHY reset hack (Corinna Vinschen) [1680528] - [netdrv] r8169: remove TBI 1000BaseX support (Corinna Vinschen) [1680528] - [netdrv] r8169: use standard debug output functions (Corinna Vinschen) [1680528] - [netdrv] r8169: reject unsupported WoL options (Corinna Vinschen) [1680528] - [netdrv] r8169: don't check WoL when powering down PHY and interface is down (Corinna Vinschen) [1680528] - [netdrv] r8169: improve saved_wolopts handling (Corinna Vinschen) [1680528] - [netdrv] Revert "r8169: restore previous behavior to accept BIOS WoL settings" (Corinna Vinschen) [1680528] - [netdrv] r8169: improve phy initialization when resuming (Corinna Vinschen) [1680528] - [netdrv] r8169: enable ASPM on RTL8168E-VL (Corinna Vinschen) [1680528] - [netdrv] r8169: align ASPM entry latency setting with vendor driver (Corinna Vinschen) [1680528] - [netdrv] r8169: Reinstate ASPM Support (Corinna Vinschen) [1680528] - [netdrv] r8169: Don't disable ASPM in the driver (Corinna Vinschen) [1680528] - [kernel] kernel/sched/psi.c: expose pressure metrics on root cgroup (Waiman Long) [1678388] - [kernel] psi: introduce psi monitor (Waiman Long) [1678388] - [spi] include/: refactor headers to allow kthread.h inclusion in psi_types.h (Waiman Long) [1678388] - [kernel] psi: track changed states (Waiman Long) [1678388] - [kernel] psi: split update_stats into parts (Waiman Long) [1678388] - [kernel] psi: rename psi fields in preparation for psi trigger addition (Waiman Long) [1678388] - [kernel] psi: make psi_enable static (Waiman Long) [1678388] - [kernel] psi: introduce state_mask to represent stalled psi states (Waiman Long) [1678388] - [kernel] kernel: cgroup: add poll file operation (Waiman Long) [1678388] - [fs] fs: kernfs: add poll file operation (Waiman Long) [1678388] - [documentation] psi: clarify the units used in pressure files (Waiman Long) [1678388] - [kernel] psi: avoid divide-by-zero crash inside virtual machines (Waiman Long) [1678388] - [init] psi: clarify the Kconfig text for the default-disable option (Waiman Long) [1678388] - [kernel] psi: fix aggregation idle shut-off (Waiman Long) [1678388] - [init] psi: fix reference to kernel commandline enable (Waiman Long) [1678388] - [kernel] psi: make disabling/enabling easier for vendor kernels (Waiman Long) [1678388] - [kernel] kernel/sched/psi.c: simplify cgroup_move_task() (Waiman Long) [1678388] - [kernel] psi: cgroup support (Waiman Long) [1678388] - [kernel] psi: pressure stall information for CPU, memory, and IO (Waiman Long) [1678388] - [kernel] sched: introduce this_rq_lock_irq() (Waiman Long) [1678388] - [kernel] sched: sched.h: make rq locking and clock functions available in stats.h (Waiman Long) [1678388] - [kernel] sched: loadavg: make calc_load_n() public (Waiman Long) [1678388] - [kernel] sched: loadavg: consolidate LOAD_INT, LOAD_FRAC, CALC_LOAD (Waiman Long) [1678388] - [kernel] delayacct: track delays from thrashing cache pages (Waiman Long) [1678388] - [mm] mm: workingset: tell cache transitions from workingset thrashing (Waiman Long) [1678388] - [mm] mm: workingset: don't drop refault information prematurely (Waiman Long) [1678388] - [scsi] scsi: ibmvfc: Add failed PRLI to cmd_status lookup array (Diego Domingos) [1665716] - [scsi] scsi: ibmvfc: Byte swap status and error codes when logging (Diego Domingos) [1665716] - [scsi] scsi: ibmvfc: Remove "failed" from logged errors (Diego Domingos) [1665716] - [scsi] scsi: ibmvfc: Clean up transport events (Diego Domingos) [1665716] - [scsi] scsi: ibmvscsi: Don't use rc uninitialized in ibmvscsi_do_work (Gustavo Duarte) [1665715] - [scsi] scsi: ibmvscsi: fix tripping of blk_mq_run_hw_queue WARN_ON (Gustavo Duarte) [1665715] - [scsi] scsi: ibmvscsi: redo driver work thread to use enum action states (Gustavo Duarte) [1665715] - [scsi] scsi: ibmvscsi: Wire up host_reset() in the driver's scsi_host_template (Gustavo Duarte) [1665715] - [scsi] scsi: ibmvscsi: change strncpy+truncation to strlcpy (Gustavo Duarte) [1665715] - [fs] ext4: avoid panic during forced reboot due to aborted journal (Lukas Czerner) [1717831] - [fs] ext4: fix use-after-free in dx_release() (Lukas Czerner) [1717831] - [fs] ext4: fix data corruption caused by overlapping unaligned and aligned IO (Lukas Czerner) [1717831] - [fs] ext4: avoid drop reference to iloc.bh twice (Lukas Czerner) [1717831] - [nvme] nvme-tcp: mark NVMe/TCP as a technical preview (Chris Leech) [1696451] - [nvme] nvme-tcp: fix possible null deref on a timed out io queue connect (Chris Leech) [1696451] - [nvme] nvme-tcp: rename function to have nvme_tcp prefix (Chris Leech) [1696451] - [nvme] nvme-tcp: fix a NULL deref when an admin connect times out (Chris Leech) [1696451] - [nvme] nvmet-tcp: don't fail maxr2t greater than 1 (Chris Leech) [1696451] - [nvme] nvmet-tcp: implement C2HData SUCCESS optimization (Chris Leech) [1696451] - [nvme] nvme-tcp: fix an endianess miss-annotation (Chris Leech) [1696451] - [nvme] nvme-tcp: support C2HData with SUCCESS flag (Chris Leech) [1696451] - [nvme] nvme-tcp: use older iov_iter API to fix panic (Chris Leech) [1696451] - [nvme] nvmet: fix building bvec from sg list (Ming Lei) [1690287] - [nvme] nvmet: set loop queue's segment boundary mask as PAGE_SIZE - 1 (Ming Lei) [1690287] - [x86] x86/qspinlock: Fix compile error (Waiman Long) [1709451] - [kernel] locking/rwsem: Prevent unneeded warning during locking selftest (Waiman Long) [1709451] - [kernel] locking/rwsem: Enable lock event counting (Waiman Long) [1709451] - [kernel] locking/lock_events: Don't show pvqspinlock events on bare metal (Waiman Long) [1709451] - [kernel] locking/lock_events: Make lock_events available for all archs & other locks (Waiman Long) [1709451] - [kernel] locking/qspinlock_stat: Introduce generic lockevent_*() counting APIs (Waiman Long) [1709451] - [kernel] locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro (Waiman Long) [1709451] - [kernel] locking/rwsem: Add debug check for __down_read*() (Waiman Long) [1709451] - [kernel] locking/rwsem: Micro-optimize rwsem_try_read_lock_unqueued() (Waiman Long) [1709451] - [kernel] locking/rwsem: Move rwsem internal function declarations to rwsem-xadd.h (Waiman Long) [1709451] - [kernel] locking/rwsem: Move owner setting code from rwsem.c to rwsem.h (Waiman Long) [1709451] - [kernel] locking/rwsem: Relocate rwsem_down_read_failed() (Waiman Long) [1709451] - [kernel] locking/rwsem: Optimize down_read_trylock() (Waiman Long) [1709451] - [kernel] locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs (Waiman Long) [1709451] - [x86] locking/rwsem: Remove arch specific rwsem files (Waiman Long) [1709451] - [kernel] locking/qspinlock: Remove unnecessary BUG_ON() call (Waiman Long) [1709451] - [kernel] locking/qspinlock_stat: Track the no MCS node available case (Waiman Long) [1709451] - [kernel] locking/qspinlock: Handle > 4 slowpath nesting levels (Waiman Long) [1709451] - [kernel] locking/pvqspinlock: Extend node size when pvqspinlock is configured (Waiman Long) [1709451] - [kernel] locking/qspinlock_stat: Count instances of nested lock slowpaths (Waiman Long) [1709451] - [kernel] locking/qspinlock, x86: Provide liveness guarantee (Waiman Long) [1709451] - [kernel] locking/qspinlock: Rework some comments (Waiman Long) [1709451] - [kernel] locking/qspinlock: Re-order code (Waiman Long) [1709451] - [x86] x86/headers: Fix -Wmissing-prototypes warning (Waiman Long) [1709451] - [x86] Revert "x86/refcount: Work around GCC inlining bug" (Waiman Long) [1709451] - [x86] x86/asm: 'Simplify' GEN_*_RMWcc() macros (Waiman Long) [1709451] - [x86] x86/refcount: Work around GCC inlining bug (Waiman Long) [1709451] - [lib] locking/refcounts: Include fewer headers in (Waiman Long) [1709451] - [media] media: stk1160: Set the vb2_queue lock before calling vb2_queue_init (Torez Smith) [1697664] - [usb] USB: typec: fsusb302: Drop empty set_current_limit implementation (Torez Smith) [1697664] - [usb] USB: mark expected switch fall-throughs (Torez Smith) [1697664] - [usb] USB: musb: mark expected switch fall-throughs (Torez Smith) [1697664] - [usb] usb: wusbcore: security: cast sizeof to int for comparison (Torez Smith) [1697664] - [usb] usb: typec: tcpm: Support for Alternate Modes (Torez Smith) [1697664] - [usb] usb: typec: pi3usb30532: Start using generic state values (Torez Smith) [1697664] - [usb] usb: typec: Add driver for DisplayPort alternate mode (Torez Smith) [1697664] - [usb] usb: typec: Bus type for alternate modes (Torez Smith) [1697664] - [usb] usb: typec: Register a device for every mode (Torez Smith) [1697664] - [usb] usb: typec: mux: Get the mux identifier from function parameter (Torez Smith) [1697664] - [usb] usb: update for tcpci drivers moving out of staging (Torez Smith) [1697664] - [netdrv] net: usb: Mark expected switch fall-throughs (Torez Smith) [1697664] - [media] media: tm6000: add error handling for dvb_register_adapter (Torez Smith) [1697664] - [usb] usb: typec: function for checking cable plug orientation (Torez Smith) [1697664] - [include] usb: pd: include kernel.h (Torez Smith) [1697664] - [staging] staging: typec: tcpci: move tcpci drivers out of staging (Torez Smith) [1697664] - [usb] typec: tcpm: add starting value for drp toggling (Torez Smith) [1697664] - [usb] usb: typec: tcpm: support get typec and pd config from device properties (Torez Smith) [1697664] - [usb] usb: typec: add API to get typec basic port power and data config (Torez Smith) [1697664] - [staging] usb: typec: add fwnode to tcpc (Torez Smith) [1697664] - [documentation] dt-bindings: usb: add documentation for typec port controller(TCPCI) (Torez Smith) [1697664] - [documentation] dt-bindings: connector: add properties for typec (Torez Smith) [1697664] - [usb] usb: typec: tps6598x: Remove VLA usage (Torez Smith) [1697664] - [usb] usb: cdc-wdm: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: cdc-wdm: don't enable interrupts in USB-giveback (Torez Smith) [1697664] - [usb] usb: legousbtower: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: ldusb: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: iowarrior: remove intr_idx_lock (Torez Smith) [1697664] - [usb] usb: adutux: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: wusbcore: remove excessive irqsave (Torez Smith) [1697664] - [usb] usb: usb-skeleton: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: usblp: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: usbfs: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: core: use irqsave() in sg_complete() complete callback (Torez Smith) [1697664] - [usb] usb: cdc-acm: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: host: ehci-npcm7xx: Fix some error codes in probe (Torez Smith) [1697664] - [media] media: cx231xx: fix RC_CORE dependency (Torez Smith) [1697664] - [usb] USB: serial: digi_acceleport: rename tty flag variable (Torez Smith) [1697664] - [usb] USB: serial: usb_wwan: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: ti_usb_3410_5052: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: symbolserial: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: sierra: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: sierra: fix potential deadlock at close (Torez Smith) [1697664] - [usb] USB: serial: quatech2: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: mos7840: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: mos7720: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: io_ti: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: io_edgeport: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: digi_acceleport: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: cyberjack: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: chipidea: tegra: Use aligned DMA on Tegra114/124 (Torez Smith) [1697664] - [documentation] dt-bindings: usb: new ehci-npcm7xx dt (Torez Smith) [1697664] - [usb] USB host: Add USB ehci support for nuvoton npcm7xx platform (Torez Smith) [1697664] - [usb] usb: cdc-acm: Decrement tty port's refcount if probe() fail (Torez Smith) [1697664] - [usb] USB: mon: use ktime_get_real_ts64 instead of getnstimeofday64 (Torez Smith) [1697664] - [usb] USB: xhci-hcd: Add get_resuming_ports method (Torez Smith) [1697664] - [usb] USB: ehci-hcd: Add get_resuming_ports method (Torez Smith) [1697664] - [usb] USB: Report wakeup events on root-hub ports (Torez Smith) [1697664] - [usb] USB: serial: cast sizeof() to int when comparing with error code (Torez Smith) [1697664] - [netdrv] net: drivers/net: Convert random_ether_addr to eth_random_addr (Torez Smith) [1697664] - [netdrv] net: usb: rtl8150: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [netdrv] net: usb: r8152: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [netdrv] net: usb: kaweth: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [netdrv] net: usb: hso: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [netdrv] net: usb: cdc-phonet: use irqsave() in USB's complete callback (Torez Smith) [1697664]- [net] selftests/tls: add test for sleeping even though there is data (Sabrina Dubroca) [1711821] - [net] tls: fix no wakeup on partial reads (Sabrina Dubroca) [1711821] - [net] selftests/tls: test for lowat overshoot with multiple records (Sabrina Dubroca) [1711821] - [net] tls: fix lowat calculation if some data came from previous record (Sabrina Dubroca) [1711821] - [net] tls: don't ignore netdev notifications if no TLS features (Sabrina Dubroca) [1711821] - [net] tls: fix state removal with feature flags off (Sabrina Dubroca) [1711821] - [net] tls: handle errors from padding_length() (Sabrina Dubroca) [1711821] - [net] tls: avoid NULL pointer deref on nskb->sk in fallback (Sabrina Dubroca) [1711821] - [net] tls: byte swap device req TCP seq no upon setting (Sabrina Dubroca) [1711821] - [net] tls: remove old exports of sk_destruct functions (Sabrina Dubroca) [1711821] - [net] tls: don't log errors every time offload can't proceed (Sabrina Dubroca) [1711821] - [net] tls: fix refcount adjustment in fallback (Sabrina Dubroca) [1711821] - [net] strparser: make it explicitly non-modular (Sabrina Dubroca) [1711821] - [net] strparser: partially revert "strparser: Call skb_unclone conditionally" (Sabrina Dubroca) [1711821] - [net] tls: fix the IV leaks (Sabrina Dubroca) [1711821] - [net] strparser: fix comment (Sabrina Dubroca) [1711821] - [net] tls: prevent false connection termination with offload (Sabrina Dubroca) [1711821] - [net] tls: Replace kfree_skb() with consume_skb() (Sabrina Dubroca) [1711821] - [net] strparser: fix a missing check for create_singlethread_workqueue (Sabrina Dubroca) [1711821] - [net] tls: Fix tls_device receive (Sabrina Dubroca) [1711821] - [net] tls: Fix mixing between async capable and async (Sabrina Dubroca) [1711821] - [net] tls: Return type of non-data records retrieved using MSG_PEEK in recvmsg (Sabrina Dubroca) [1711821] - [net] selftest/tls: Add test to verify received 'type' of non-data record (Sabrina Dubroca) [1711821] - [net] tls: Move protocol constants from cipher context to tls context (Sabrina Dubroca) [1711821] - [net] tls: Do not use async crypto for non-data records (Sabrina Dubroca) [1711821] - [net] tls: Disable async decrytion for tls1.3 (Sabrina Dubroca) [1711821] - [net] tls: Set async_capable for tls zerocopy only if we see EINPROGRESS (Sabrina Dubroca) [1711821] - [net] tls: Add tests for TLS 1.3 (Sabrina Dubroca) [1711821] - [net] tls: Add tls 1.3 support (Sabrina Dubroca) [1711821] - [net] tls: Refactor control message handling on recv (Sabrina Dubroca) [1711821] - [net] tls: Refactor tls aad space size calculation (Sabrina Dubroca) [1711821] - [net] tls: Support 256 bit keys (Sabrina Dubroca) [1711821] - [net] tls: free ctx in sock destruct (Sabrina Dubroca) [1711821] - [net] tls: build_protos moved to common routine (Sabrina Dubroca) [1711821] - [net] tls: Fix recvmsg() to be able to peek across multiple records (Sabrina Dubroca) [1711821] - [net] tls: Make function tls_sw_do_sendpage static (Sabrina Dubroca) [1711821] - [net] tls: remove unused function tls_sw_sendpage_locked (Sabrina Dubroca) [1711821] - [net] Optimize sk_msg_clone() by data merge to end dst sg entry (Sabrina Dubroca) [1711821] - [net] selftests/tls: Fix recv partial/large_buff test cases (Sabrina Dubroca) [1711821] - [net] tls: allocate tls context using GFP_ATOMIC (Sabrina Dubroca) [1711821] - [net] tls: Init routines in create_ctx (Sabrina Dubroca) [1711821] - [net] selftests/tls: Fix recv(MSG_PEEK) & splice() test cases (Sabrina Dubroca) [1711821] - [net] tls: fix currently broken MSG_PEEK behavior (Sabrina Dubroca) [1711821] - [net] selftests/tls: Add MSG_WAITALL in recv() syscall (Sabrina Dubroca) [1711821] - [net] tls: async support causes out-of-bounds access in crypto APIs (Sabrina Dubroca) [1711821] - [net] selftests/tls: Add test for recv(PEEK) spanning across multiple records (Sabrina Dubroca) [1711821] - [net] tls: Add support for async decryption of tls records (Sabrina Dubroca) [1711821] - [net] tls: Calculate nsg for zerocopy path without skb_cow_data (Sabrina Dubroca) [1711821] - [net] strparser: remove redundant variable 'rd_desc' (Sabrina Dubroca) [1711821] - [net] tls: Use kmemdup to simplify the code (Sabrina Dubroca) [1711821] - [net] tls: Use socket data_ready callback on record availability (Sabrina Dubroca) [1711821] - [net] selftests: tls: add selftests for TLS sockets (Sabrina Dubroca) [1711821] - [net] strparser: Call skb_unclone conditionally (Sabrina Dubroca) [1711821] - [net] tls: Remove VLA usage on nonce (Sabrina Dubroca) [1711821] - [net] tls: Removed unused variable (Sabrina Dubroca) [1711821] - [netdrv] veth: use generic helper to report timestamping info (Jiri Benc) [1718938] - [netdrv] veth: Fix -Wformat-truncation (Jiri Benc) [1718938] - [netdrv] veth: Mark expected switch fall-throughs (Jiri Benc) [1718938] - [net] Add extack argument to rtnl_create_link (Jiri Benc) [1718938] - [netdrv] veth: Add ethtool statistics support for XDP (Jiri Benc) [1718938] - [netdrv] veth: Account for XDP packet statistics on rx side (Jiri Benc) [1718938] - [netdrv] veth: Account for packet drops in ndo_xdp_xmit (Jiri Benc) [1718938] - [netdrv] veth: rename pcpu_vstats as pcpu_lstats (Jiri Benc) [1718938] - [netdrv] net: move definition of pcpu_lstats to header file (Jiri Benc) [1718938] - [netdrv] veth: add software timestamping (Jiri Benc) [1718938] - [net] tcp: tcp_grow_window() needs to respect tcp_space() (Marcelo Leitner) [1718344] - [net] tcp: fix a potential NULL pointer dereference in tcp_sk_exit (Marcelo Leitner) [1718344] - [net] tcp: do not use ipv6 header for ipv4 flow (Marcelo Leitner) [1718344] - [net] tcp: Don't access TCP_SKB_CB before initializing it (Marcelo Leitner) [1718344] - [net] tcp: do not report TCP_CM_INQ of 0 for closed connections (Marcelo Leitner) [1718344] - [net] tcp: clear icsk_backoff in tcp_write_queue_purge() (Marcelo Leitner) [1718344] - [net] tcp: allow MSG_ZEROCOPY transmission also in CLOSE_WAIT state (Marcelo Leitner) [1718344] - [net] tcp: change txhash on SYN-data timeout (Marcelo Leitner) [1718344] - [net] tcp: lack of available data can also cause TSO defer (Marcelo Leitner) [1718344] - [net] tcp: fix NULL ref in tail loss probe (Marcelo Leitner) [1718344] - [net] tcp: Do not underestimate rwnd_limited (Marcelo Leitner) [1718344] - [net] tcp: defer SACK compression after DupThresh (Marcelo Leitner) [1718344] - [net] tcp: do not release socket ownership in tcp_close() (Marcelo Leitner) [1718344] - [net] tcp: Fix SOF_TIMESTAMPING_RX_HARDWARE to use the latest timestamp during TCP coalescing (Marcelo Leitner) [1718344] - [net] inet: make sure to grab rcu_read_lock before using ireq->ireq_opt (Marcelo Leitner) [1718344] - [net] tcp/dccp: fix lockdep issue when SYN is backlogged (Marcelo Leitner) [1718344] - [net] xfrm4: Fix uninitialized memory read in _decode_session4 (Sabrina Dubroca) [1718812] - [net] esp4: add length check for UDP encapsulation (Sabrina Dubroca) [1718812] - [net] xfrm: clean up xfrm protocol checks (Sabrina Dubroca) [1718812] - [net] xfrm6_tunnel: Fix potential panic when unloading xfrm6_tunnel module (Sabrina Dubroca) [1718812] - [net] xfrm: Reset secpath in xfrm failure (Sabrina Dubroca) [1718812] - [net] xfrm: policy: Fix out-of-bound array accesses in __xfrm_policy_unlink (Sabrina Dubroca) [1718812] - [net] xfrm: destroy xfrm_state synchronously on net exit path (Sabrina Dubroca) [1718812] - [net] esp: Skip TX bytes accounting when sending from a request socket (Sabrina Dubroca) [1718812] - [net] xfrm: refine validation of template and selector families (Sabrina Dubroca) [1718812] - [net] xfrm: policy: increment xfrm_hash_generation on hash rebuild (Sabrina Dubroca) [1718812] - [net] xfrm6_tunnel: Fix spi check in __xfrm6_tunnel_alloc_spi (Sabrina Dubroca) [1718812] - [net] xfrm_user: fix freeing of xfrm states on acquire (Sabrina Dubroca) [1718812] - [net] xfrm: Fix NULL pointer dereference in xfrm_input when skb_dst_force clears the dst_entry (Sabrina Dubroca) [1718812] - [net] xfrm: Fix error return code in xfrm_output_one() (Sabrina Dubroca) [1718812] - [net] vti4: eliminated some duplicate code (Guillaume Nault) [1718443] - [net] vti4: removed duplicate log message (Guillaume Nault) [1718443] - [net] vti4: ipip tunnel deregistration fixes (Guillaume Nault) [1718443] - [net] vti4: Fix a ipip packet processing bug in 'IPCOMP' virtual tunnel (Guillaume Nault) [1718443] - [net] fou: do not use guehdr after iptunnel_pull_offloads in gue_udp_recv (Guillaume Nault) [1718443] - [netdrv] vxlan: test dev->flags & IFF_UP before calling gro_cells_receive() (Guillaume Nault) [1718443] - [netdrv] vxlan: test dev->flags & IFF_UP before calling netif_rx() (Guillaume Nault) [1718443] - [net] devlink: turn devlink into a built-in (Petr Oros) [1717458] - [net] ipv6: fix EFAULT on sendto with icmpv6 and hdrincl (Stefano Brivio) [1718503] - [net] ipv6: use READ_ONCE() for inet->hdrincl as in ipv4 (Stefano Brivio) [1718503] - [net] ipv6: Fix redirect with VRF (Stefano Brivio) [1718503] - [net] ipv6: Consider sk_bound_dev_if when binding a raw socket to an address (Stefano Brivio) [1718503] - [net] ipv6: prevent possible fib6 leaks (Stefano Brivio) [1718503] - [net] vrf: sit mtu should not be updated when vrf netdev is the link (Stefano Brivio) [1718503] - [net] ipv6: A few fixes on dereferencing rt->from (Stefano Brivio) [1718503] - [tools] selftests: fib_rule_tests: Fix icmp proto with ipv6 (Stefano Brivio) [1718503] - [net] ipv6: fix races in ip6_dst_destroy() (Stefano Brivio) [1718503] - [net] ipv6/flowlabel: wait rcu grace period before put_pid() (Stefano Brivio) [1718503] - [net] ipv6: invert flowlabel sharing check in process and user mode (Stefano Brivio) [1718503] - [net] route: Avoid crash from dereferencing NULL rt->from (Stefano Brivio) [1718503] - [net] udpv6: Check address length before reading address family (Stefano Brivio) [1718503] - [net] ip6_gre: fix possible use-after-free in ip6erspan_rcv (Stefano Brivio) [1718503] - [net] ip6_gre: remove gre_hdr_len from ip6erspan_rcv (Stefano Brivio) [1718503] - [net] ipv6: Fix dangling pointer when ipv6 fragment (Stefano Brivio) [1718503] - [net] ip6_tunnel: Match to ARPHRD_TUNNEL6 for dev type (Stefano Brivio) [1718503] - [net] inet: switch IP ID generator to siphash (Stefano Brivio) [1718503] - [net] sit: fix UBSAN Undefined behaviour in check_6rd (Stefano Brivio) [1718503] - [net] ip6mr: Do not call __IP6_INC_STATS() from preemptible context (Stefano Brivio) [1718503] - [net] sit: fix memory leak in sit_init_net() (Stefano Brivio) [1718503] - [net] ipv4: Add ICMPv6 support when parse route ipproto (Stefano Brivio) [1718503] - [net] ipv6: Return error for RTA_VIA attribute (Stefano Brivio) [1718503] - [net] Set rtm_table to RT_TABLE_COMPAT for ipv6 for tables > 255 (Stefano Brivio) [1718503] - [net] ip6_gre: do not report erspan_ver for ip6gre or ip6gretap (Stefano Brivio) [1718503] - [net] ipv6: route: enforce RCU protection in rt6_update_exception_stamp_rt() (Stefano Brivio) [1718503] - [net] ipv6: route: enforce RCU protection in ip6_route_check_nh_onlink() (Stefano Brivio) [1718503] - [net] ipv6: propagate genlmsg_reply return code (Stefano Brivio) [1718503] - [net] fix IPv6 prefix route residue (Stefano Brivio) [1718503] - [net] ip6mr: Fix notifiers call on mroute_clean_tables() (Stefano Brivio) [1718503] - [net] af_packet: fix raw sockets over 6in4 tunnel (Stefano Brivio) [1718503] - [net] ip6_gre: fix tunnel list corruption for x-netns (Stefano Brivio) [1718503] - [net] ipv6: fix kernel-infoleak in ipv6_local_error() (Stefano Brivio) [1718503] - [net] ip: on queued skb use skb_header_pointer instead of pskb_may_pull (Stefano Brivio) [1718503] - [net] ipv4: fix use-after-free in ip_cmsg_recv_dstaddr() (Stefano Brivio) [1718503] - [net] ipv6: Take rcu_read_lock in __inet6_bind for mapped addresses (Stefano Brivio) [1718503] - [net] ipv6: Consider sk_bound_dev_if when binding a socket to a v4 mapped address (Stefano Brivio) [1718503] - [net] ipv6: Consider sk_bound_dev_if when binding a socket to an address (Stefano Brivio) [1718503] - [net] ip: validate header length on virtual device xmit (Stefano Brivio) [1718503] - [net] ipv6: Fix a test against 'ipv6_find_idev()' return value (Stefano Brivio) [1718503] - [net] ipv6: tunnels: fix two use-after-free (Stefano Brivio) [1718503] - [net] ipv6: add missing tx timestamping on IPPROTO_RAW (Stefano Brivio) [1718503] - [net] clear skb->tstamp in forwarding paths (Stefano Brivio) [1718503] - [net] ipv6: sr: properly initialize flowi6 prior passing to ip6_route_output (Stefano Brivio) [1718503] - [net] always initialize pagedlen (Stefano Brivio) [1718503] - [net] ipv6: Fix PMTU updates for UDP/raw sockets in presence of VRF (Stefano Brivio) [1718503] - [net] ipv6: gro: do not use slow memcmp() in ipv6_gro_receive() (Stefano Brivio) [1718503] - [net] xfrm: fix out-of-bounds packet access (Stefano Brivio) [1718503] - [net] ipv6: take rcu lock in rawv6_send_hdrinc() (Stefano Brivio) [1718503] - [net] ip6_tunnel: be careful when accessing the inner header (Stefano Brivio) [1718503] - [net] revert "ipv6: fix double refcount of fib6_metrics" (Stefano Brivio) [1718503] - [net] ipv6: fix memory leak on dst->_metrics (Stefano Brivio) [1718503] - [net] ipv6: fix cleanup ordering for ip6_mr failure (Stefano Brivio) [1718503] - [net] ipv6: fix cleanup ordering for pingv6 registration (Stefano Brivio) [1718503] - [net] ip6_tunnel: collect_md xmit: Use ip_tunnel_key's provided src address (Stefano Brivio) [1718503] - [net] ipv6: fix addrconf_sysctl_addr_gen_mode (Stefano Brivio) [1718503] - [net] ipv6: don't reinitialize ndev->cnf.addr_gen_mode on new inet6_dev (Stefano Brivio) [1718503] - [net] ipv6: reserve room for IFLA_INET6_ADDR_GEN_MODE (Stefano Brivio) [1718503] - [net] ipv6: propagate net.ipv6.conf.all.addr_gen_mode to devices (Stefano Brivio) [1718503] - [net] openvswitch: check for null pointer return from nla_nest_start_noflag (Stefano Brivio) [1718408] - [net] openvswitch: add seqadj extension when NAT is used (Stefano Brivio) [1718408] - [net] netfilter: Replace spin_is_locked() with lockdep (Stefano Brivio) [1718392] - [net] netfilter: ipset: do not call ipset_nest_end after nla_nest_cancel (Stefano Brivio) [1718392] - [net] netfilter: ipset: Fix calling ip_set() macro at dumping (Stefano Brivio) [1718392] - [include] netfilter: ipset: Correct rcu_dereference() call in ip_set_put_comment() (Stefano Brivio) [1718392] - [net] netfilter: ipset: fix ip_set_list allocation failure (Stefano Brivio) [1718392] - [net] netfilter: ipset: Make invalid MAC address checks consistent (Stefano Brivio) [1649087] - [net] netfilter: ipset: Allow matching on destination MAC address for mac and ipmac sets (Stefano Brivio) [1649087] - [netdrv] rocker: Handle SWITCHDEV_PORT_ATTR_SET (Ivan Vecera) [1717892] - [net] switchdev: Add SWITCHDEV_PORT_ATTR_SET (Ivan Vecera) [1717892] - [netdrv] rocker: Add missing break for PRE_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [net] bridge: Stop calling switchdev_port_attr_get() (Ivan Vecera) [1717892] - [netdrv] rocker: Check Handle PORT_PRE_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [netdrv] mlxsw: spectrum: Handle PORT_PRE_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [include] net: switchdev: Add PORT_PRE_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [netdrv] rocker: Remove port_attr_bridge_flags_get assignment (Ivan Vecera) [1717892] - [netdrv] rocker: Remove getting PORT_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [net] pktgen: do not sleep with the thread lock held (Paolo Abeni) [1715575] - [include] ipv6: fix the check before getting the cookie in rt6_get_cookie (Xin Long) [1709166] - [net] ipv4: not do cache for local delivery if bc_forwarding is enabled (Xin Long) [1712657] - [net] sctp: avoid running the sctp state machine recursively (Xin Long) [1717316] - [netdrv] netdevsim: use skb_sec_path helper (Hangbin Liu) [1711810] - [netdrv] netdevsim: convert to DEFINE_SHOW_ATTRIBUTE (Hangbin Liu) [1711810] - [netdrv] netdevsim: make debug dirs' dentries static (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink: use internal netns switch for ip commands (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink: add testcases for vxlan flag sets (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink: Add a test case for multipath route get (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink.sh: add testcase for neigh get (Hangbin Liu) [1711810] - [tools] selftests: net: rtnetlink.sh: add fdb get test (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink.sh explicitly requires bash (Hangbin Liu) [1711810] - [net] udp: with udp_segment release on error path (Paolo Abeni) [1718079] - [net] ipv6: explicitly initialize udp6_addr in udp_sock_create6() (Paolo Abeni) [1718079] - [netdrv] geneve: Don't assume linear buffers in vxlan_err_lookup() (Stefano Brivio) [1652222] - [netdrv] vxlan: Don't assume linear buffers in vxlan_err_lookup() (Stefano Brivio) [1652222] - [netdrv] geneve: Initialize addr6 with memset (Stefano Brivio) [1652222] - [net] ip_tunnel: don't force DF when MTU is locked (Stefano Brivio) [1652222] - [netdrv] geneve: ICMP error lookup handler (Stefano Brivio) [1652222] - [netdrv] vxlan: ICMP error lookup handler (Stefano Brivio) [1652222] - [net] udp: Handle ICMP errors for tunnels with same destination port on both endpoints (Stefano Brivio) [1652222] - [net] udp: gro behind static key (Stefano Brivio) [1652222] - [net] bpf: in __bpf_redirect_no_mac pull mac only if present (Jiri Benc) [1687471] - [net] lwt_bpf: remove unnecessary rcu_read_lock in run_lwt_bpf (Jiri Benc) [1687471] - [net] bpf: add End.DT6 action to bpf_lwt_seg6_action helper (Jiri Benc) [1687471] - [net] bpf: fix out-of-bounds read in __bpf_skc_lookup (Jiri Benc) [1687459] - [net] bpf: Check sk_fullsock() before returning from bpf_sk_lookup() (Jiri Benc) [1687459] - [net] flow_dissector: disable preemption around BPF calls (Jiri Benc) [1687459] - [net] bpf: sockmap, only stop/flush strp if it was enabled at some point (Jiri Benc) [1687459] - [net] bpf: Stop the psock parser before canceling its work (Jiri Benc) [1687459] - [net] bpf: only test gso type on gso packets (Jiri Benc) [1687459] - [tools] selftests: add dummy xdp test helper (Jiri Benc) [1687459] - [net] filter: mark expected switch fall-through (Jiri Benc) [1687459] - [documentation] Update references to netdev-FAQ (Jiri Benc) [1687459] - [net] bpfilter: remove trailing newline (Jiri Benc) [1687459] - [net] core: filter: mark expected switch fall-through (Jiri Benc) [1687459] - [net] revert "xsk: simplify AF_XDP socket teardown" (Jiri Benc) [1687459] - [net] bpf/test_run: fix unkillable BPF_PROG_TEST_RUN (Jiri Benc) [1687459] - [net] xsk: share the mmap_sem for page pinning (Jiri Benc) [1687459] - [net] xsk: add missing smp_rmb() in xsk_mmap (Jiri Benc) [1687459] - [net] bpf: only adjust gso_size on bytestream protocols (Jiri Benc) [1687459] - [net] sk_msg: Always cancel strp work before freeing the psock (Jiri Benc) [1687459] - [net] bpf: sock recvbuff must be limited by rmem_max in bpf_setsockopt() (Jiri Benc) [1687459] - [net] bpf: fix SO_MAX_PACING_RATE to support TCP internal pacing (Jiri Benc) [1687459] - [net] bpf: bpf_setsockopt: reset sock dst on SO_MARK changes (Jiri Benc) [1687459] - [net] bpf: correctly set initial window on active Fast Open sender (Jiri Benc) [1687459] - [net] xsk: simplify AF_XDP socket teardown (Jiri Benc) [1687459] - [net] bpf: fix doc of bpf_skb_adjust_room() in uapi (Jiri Benc) [1687459] - [net] bpf: do not blindly change rlimit in reuseport net selftest (Jiri Benc) [1687459] - [net] xsk: proper AF_XDP socket teardown ordering (Jiri Benc) [1687459] - [net] bpf: typo fix in Documentation/networking/af_xdp.rst (Jiri Benc) [1687459] - [net] xdp: split code for map vs non-map redirect (Jiri Benc) [1687459] - [net] xdp: explicit inline __xdp_map_lookup_elem (Jiri Benc) [1687459] - [net] xdp: unlikely instrumentation for xdp map redirect (Jiri Benc) [1687459] - [net] xdp: remove redundant variable 'headroom' (Jiri Benc) [1687459] - [net] xsk: include XDP meta data in AF_XDP frames (Jiri Benc) [1687459] - [net] bpf: Enable BPF_PROG_TYPE_SK_REUSEPORT bpf prog in reuseport selection (Jiri Benc) [1687459] - [net] revert "xdp: add NULL pointer check in __xdp_return()" (Jiri Benc) [1687459] - [lib] test_rhashtable: Make test_insert_dup() allocate its hash table dynamically (Jiri Benc) [1717066] - [lib] test_rhashtable: remove semaphore usage (Jiri Benc) [1717066] - [lib] rhashtable: detect when object movement between tables might have invalidated a lookup (Jiri Benc) [1717066] - [lib] rhashtable: remove duplicated include from rhashtable.c (Jiri Benc) [1717066] - [lib] rhashtable: clean up dereference of ->future_tbl (Jiri Benc) [1717066] - [lib] rhashtable: use cmpxchg() to protect ->future_tbl (Jiri Benc) [1717066] - [lib] rhashtable: simplify nested_table_alloc() and rht_bucket_nested_insert() (Jiri Benc) [1717066] - [lib] rhashtable: simplify INIT_RHT_NULLS_HEAD() (Jiri Benc) [1717066] - [lib] rhashtable: remove nulls_base and related code (Jiri Benc) [1717066] - [lib] rhashtable: split rhashtable.h (Jiri Benc) [1717066] - [lib] rhashtable: silence RCU warning in rhashtable_test (Jiri Benc) [1717066] - [net] devlink: publish params only after driver init is done (Ivan Vecera) [1715929] - [net] iptunnel: NULL pointer deref for ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] ip_gre: Refactor collect metatdata mode tunnel xmit to ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] ip_tunnel: Fix route fl4 init in ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] ip_tunnel: Add tnl_update_pmtu in ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] ip_tunnel: Add ip tunnel dst_cache in ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] vlan: Mark expected switch fall-through (Hangbin Liu) [1664359] - [net] vlan: disable SIOCSHWTSTAMP in container (Hangbin Liu) [1664359] - [netdrv] macvlan: Mark expected switch fall-through (Hangbin Liu) [1664359] - [netdrv] macvlan: disable SIOCSHWTSTAMP in container (Hangbin Liu) [1664359] - [netdrv] macvlan: pass get_ts_info and SIOC[SG]HWTSTAMP ioctl to real device (Hangbin Liu) [1664359] - [net] ethtool: add compat for flash update (Petr Oros) [1708339] - [net] devlink: add flash update command (Petr Oros) [1708339] - [net] devlink: Fix list access without lock while reading region (Petr Oros) [1708339] - [net] devlink: Return right error code in case of errors for region read (Petr Oros) [1708339] - [net] devlink: use direct return of genlmsg_reply (Petr Oros) [1708339] - [net] devlink: Rename devlink health attributes (Petr Oros) [1709874] - [net] devlink: Modify reply of DEVLINK_CMD_HEALTH_REPORTER_GET (Petr Oros) [1709874] - [net] devlink: Update reporter state to error even if recover aborted (Petr Oros) [1709874] - [documentation] devlink: Add Documentation/networking/devlink-health.txt (Petr Oros) [1709874] - [net] devlink: Add health dump {get, clear} commands (Petr Oros) [1709874] - [net] devlink: Add health diagnose command (Petr Oros) [1709874] - [net] devlink: Add health recover command (Petr Oros) [1709874] - [net] devlink: Add health set command (Petr Oros) [1709874] - [net] devlink: Add health get command (Petr Oros) [1709874] - [net] devlink: Add health report functionality (Petr Oros) [1709874] - [net] devlink: Add health reporter create/destroy functionality (Petr Oros) [1709874] - [net] devlink: Add devlink formatted message (fmsg) API (Petr Oros) [1709874] - [net] devlink: add hardware errors tracing facility (Petr Oros) [1709874] - [net] cnb: devlink: report cell size of shared buffers (Petr Oros) [1708348] - [net] devlink: skip info_get op call if it is not defined in dumpit (Petr Oros) [1708342] - [include] devlink: add a generic board.manufacture version name (Petr Oros) [1708342] - [net] devlink: don't allocate attrs on the stack (Petr Oros) [1708342] - [net] devlink: fix condition for compat device info (Petr Oros) [1708342] - [net] ethtool: add compat for devlink info (Petr Oros) [1708342] - [include] devlink: add generic info version names (Petr Oros) [1708342] - [net] devlink: add version reporting to devlink info API (Petr Oros) [1708342] - [net] devlink: add device information API (Petr Oros) [1708342] - [net] devlink: Add devlink notifications support for port params (Petr Oros) [1710228] - [net] devlink: Add support for driverinit set value for devlink_port (Petr Oros) [1710228] - [net] devlink: Add support for driverinit get value for devlink_port (Petr Oros) [1710228] - [net] devlink: Add port param set command (Petr Oros) [1710228] - [net] devlink: Add port param get command (Petr Oros) [1710228] - [net] devlink: Add devlink_param for port register and unregister (Petr Oros) [1710228] - [net] ipv6: properly check return value in inet6_dump_all() (Petr Oros) [1714656] - [net] Don't return invalid table id error when dumping all families (Petr Oros) [1714656] - [net] ipmr_base: Do not reset index in mr_table_dump (Petr Oros) [1714656] - [net] ipv6: Fix dump of specific table with strict checking (Petr Oros) [1714656] - [net] ipv4: avoid compile error in fib_info_nh_uses_dev (Petr Oros) [1714656] - [net] ipv4: Bail early if user only wants prefix entries (Petr Oros) [1714656] - [net] ipv6: Bail early if user only wants cloned entries (Petr Oros) [1714656] - [net] mpls: Handle kernel side filtering of route dumps (Petr Oros) [1714656] - [net] Enable kernel side filtering of route dumps (Petr Oros) [1714656] - [net] Plumb support for filtering ipv4 and ipv6 multicast route dumps (Petr Oros) [1714656] - [net] ipmr: Refactor mr_rtm_dumproute (Petr Oros) [1714656] - [net] mpls: Plumb support for filtering route dumps (Petr Oros) [1714656] - [net] ipv6: Plumb support for filtering route dumps (Petr Oros) [1714656] - [net] netfilter: nft_fib: Convert nft_fib4_eval to new dev helper (Petr Oros) [1714656] - [net] netfilter: rpfilter: Convert rpfilter_lookup_reverse to new dev helper (Petr Oros) [1714656] - [net] ipv4: Move device validation to helper (Petr Oros) [1714656] - [net] ipv4: Plumb support for filtering route dumps (Petr Oros) [1714656] - [net] Add struct for fib dump filter (Petr Oros) [1714656] - [lib] iov_iter: Fix build error without CONFIG_CRYPTO (Ivan Vecera) [1714213] - [net] datagram: introduce skb_copy_and_hash_datagram_iter helper (Ivan Vecera) [1714213] - [lib] iov_iter: introduce hash_and_copy_to_iter helper (Ivan Vecera) [1714213] - [net] datagram: consolidate datagram copy to iter helpers (Ivan Vecera) [1714213] - [lib] iov_iter: pass void csum pointer to csum_and_copy_to_iter (Ivan Vecera) [1714213] - [net] datagram: open-code copy_page_to_iter (Ivan Vecera) [1714213] - [include] net: enable mpls_ptr in net_device (Hangbin Liu) [1350011] - [net] netfilter: ipset: actually allow allowable CIDR 0 in hash:net, port, net (Stefano Brivio) [1680512] - [net] netfilter: ipset: fix ip_set_byindex function (Stefano Brivio) [1680512] - [net] netfilter: ipset: Introduction of new commands and protocol version 7 (Stefano Brivio) [1680512] - [net] ipv6: don't return positive numbers when nothing was dumped (Petr Oros) [1700306] - [net] rtnetlink: restore handling of dumpit return value in rtnl_dump_all() (Petr Oros) [1700306] - [net] netlink: fixup regression in RTM_GETADDR (Petr Oros) [1700306] - [net] {ipv4, ipv6}: Do not put target net if input nsid is invalid (Petr Oros) [1700306] - [net] rtnl_dump_all needs to propagate error from dumpit function (Petr Oros) [1700306] - [net] rtnetlink: Move ifm in valid_fdb_dump_legacy to closer to use (Petr Oros) [1700306] - [net] neighbor: NTF_PROXY is a valid ndm_flag for a dump request (Petr Oros) [1700306] - [net] mpls: Implement handler for strict data checking on dumps (Petr Oros) [1700306] - [net] rtnetlink: Update comment in rtnl_stats_dump regarding strict data checking (Petr Oros) [1700306] - [net] ipv6: Put target net when address dump fails due to bad attributes (Petr Oros) [1700306] - [net] ipv4: Put target net when address dump fails due to bad attributes (Petr Oros) [1700306] - [tools] headers uapi: Update linux/netlink.h header copy (Petr Oros) [1700306] - [net] neigh: fix NULL deref in pneigh_dump_table() (Petr Oros) [1700306] - [net] ipv6: Add support for dumping addresses for a specific device (Petr Oros) [1700306] - [net] ipv4: Add support for dumping addresses for a specific device (Petr Oros) [1700306] - [net] ipv6: Remove ip_idx arg to in6_dump_addrs (Petr Oros) [1700306] - [net] ipv4: Move loop over addresses on a device into in_dev_dump_addr (Petr Oros) [1700306] - [net] netlink: Add answer_flags to netlink_callback (Petr Oros) [1700306] - [net] rtnetlink: Update rtnl_fdb_dump for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Move input checking for rtnl_fdb_dump to helper (Petr Oros) [1700306] - [net] bridge: Update br_mdb_dump for strict data checking (Petr Oros) [1700306] - [net] Update netconf dump handlers for strict data checking (Petr Oros) [1700306] - [net] ipv6: Update ip6addrlbl_dump for strict data checking (Petr Oros) [1700306] - [net] fib_rules: Update fib_nl_dumprule for strict data checking (Petr Oros) [1700306] - [net] namespace: Update rtnl_net_dumpid for strict data checking (Petr Oros) [1700306] - [net] neighbor: Update neightbl_dump_info for strict data checking (Petr Oros) [1700306] - [net] neighbor: Update neigh_dump_info for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update fib dumps for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update ipmr_rtm_dumplink for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update inet6_dump_ifinfo for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update rtnl_stats_dump for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update rtnl_bridge_getlink for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update rtnl_dump_ifinfo for strict data checking (Petr Oros) [1700306] - [net] ipv6: Update inet6_dump_addr for strict data checking (Petr Oros) [1700306] - [net] ipv4: Update inet_dump_ifaddr for strict data checking (Petr Oros) [1700306] - [net] netlink: Add new socket option to enable strict checking on dumps (Petr Oros) [1700306] - [net] ipv6: Refactor address dump to push inet6_fill_args to in6_dump_addrs (Petr Oros) [1700306] - [lib] netlink: Add strict version of nlmsg_parse and nla_parse (Petr Oros) [1700306] - [net] Add extack to nlmsg_parse (Petr Oros) [1700306] - [include] netlink: Add extack message to nlmsg_parse for invalid header length (Petr Oros) [1700306] - [net] netlink: Pass extack to dump handlers (Petr Oros) [1700306] - [net] neigh: Extend dump filter to proxy neighbor dumps (Petr Oros) [1700306] - [lib] netlink: add nested array policy validation (Petr Oros) [1700306] - [lib] netlink: allow NLA_NESTED to specify nested policy to validate (Petr Oros) [1700306] - [lib] netlink: move extack setting into validate_nla() (Petr Oros) [1700306] - [lib] netlink: make validation_data const (Petr Oros) [1700306] - [lib] netlink: remove NLA_NESTED_COMPAT (Petr Oros) [1700306] - [lib] netlink: add ethernet address policy types (Petr Oros) [1700306] - [net] sched: cls_u32: add res to offload information (Ivan Vecera) [1711377] - [net] sched: gred: support reporting stats from offloads (Ivan Vecera) [1711377] - [net] sched: gred: add basic Qdisc offload (Ivan Vecera) [1711377] - [net] sched: gred: allow manipulating per-DP RED flags (Ivan Vecera) [1711377] - [net] sched: gred: store red flags per virtual queue (Ivan Vecera) [1711377] - [net] sched: gred: provide a better structured dump and expose stats (Ivan Vecera) [1711377] - [net] sched: gred: store bytesin as a 64 bit value (Ivan Vecera) [1711377] - [net] sched: gred: use extack to provide more details on configuration errors (Ivan Vecera) [1711377] - [net] sched: gred: pass extack to nla_parse_nested() (Ivan Vecera) [1711377] - [net] sched: gred: separate error and non-error path in gred_change() (Ivan Vecera) [1711377] - [net] netlink: add NLA_REJECT policy type (Ivan Vecera) [1711377] - [lib] netlink: Return extack message if attribute validation fails (Ivan Vecera) [1711377] - [net] sched: red: notify drivers about RED's limit parameter (Ivan Vecera) [1711039] - [net] sched: mq: offload a graft notification (Ivan Vecera) [1711039] - [net] sched: red: offload a graft notification (Ivan Vecera) [1711039] - [net] sched: provide notification for graft on root (Ivan Vecera) [1711039] - [net] sched: prio: delay destroying child qdiscs on change (Ivan Vecera) [1711039] - [net] sched: red: delay destroying child qdisc on replace (Ivan Vecera) [1711039] - [net] sched: refactor grafting Qdiscs with a parent (Ivan Vecera) [1711039] - [net] sched: add an offload graft helper (Ivan Vecera) [1711039] - [net] sched: set TCQ_F_OFFLOADED flag for MQ (Ivan Vecera) [1711039] - [net] sched: red: remove unnecessary red_dump_offload_stats parameter (Ivan Vecera) [1711039] - [net] sched: add an offload dump helper (Ivan Vecera) [1711039] - [netdrv] netdevsim: Implement ndo_get_port_parent_id() (Ivan Vecera) [1708368] - [netdrv] rocker: Implement ndo_get_port_parent_id() (Ivan Vecera) [1708368] - [net] Introduce ndo_get_port_parent_id() (Ivan Vecera) [1708368] - [net] use indirect calls helpers at early demux stage (Paolo Abeni) [1700747] - [net] use indirect calls helpers for L3 handler hooks (Paolo Abeni) [1700747] - [net] use indirect calls helpers at the socket layer (Paolo Abeni) [1700747] - [net] use indirect calls helpers for ptype hook (Paolo Abeni) [1700747] - [net] add documentation to socket.c (Paolo Abeni) [1700747] - [net] udp: use indirect call wrappers for GRO socket lookup (Paolo Abeni) [1700747] - [net] use indirect call wrappers at GRO transport layer (Paolo Abeni) [1700747] - [net] use indirect call wrappers at GRO network layer (Paolo Abeni) [1700747] - [net] indirect call wrappers: helpers to speed-up indirect calls of builtin (Paolo Abeni) [1700747] - [powerpc] powerpc: bpf: Fix generation of load/store DW instructions (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: propagate liveness on all frames (Yauheni Kaliuta) [1700846] - [net] bpf: do not restore dst_reg when cur_state is freed (Yauheni Kaliuta) [1700846] - [tools] tools lib bpf: Fix the build by adding a missing stdarg.h include (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: fix version info and add it to shared object (Yauheni Kaliuta) [1700846] - [tools] btf: fix bug with resolving STRUCT/UNION into corresponding FWD (Yauheni Kaliuta) [1700846] - [tools] tools/libbpf: signedness bug in btf_dedup_ref_type() (Yauheni Kaliuta) [1700846] - [tools] libbpf: fix libbpf_print (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: simplify libbpf API function libbpf_set_print() (Yauheni Kaliuta) [1700846] - [tools] tools/bpftool: move set_max_rlimit() before __bpf_object__open_xattr() (Yauheni Kaliuta) [1700846] - [include] bpf: promote bpf_perf_event.h to mandatory UAPI header (Yauheni Kaliuta) [1700846] - [net] bpf: Avoid unnecessary instruction in convert_bpf_ld_abs() (Yauheni Kaliuta) [1700846] - [kernel] bpf: fix check of allowed specifiers in bpf_trace_printk (Yauheni Kaliuta) [1700846] - [documentation] bpf, doc: Document Jump X addressing mode (Yauheni Kaliuta) [1700846] - [tools] tools: bpf: fix license for a compat header file (Yauheni Kaliuta) [1700846] - [documentation] docs: bpf: Capitalise document heading (Yauheni Kaliuta) [1700846] - [documentation] docs: Add bpf/index to top level index (Yauheni Kaliuta) [1700846] - [documentation] docs: bpf: Add toctree to index (Yauheni Kaliuta) [1700846] - [documentation] docs: bpf: Rename README.rst to index.rst (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: skip verifier tests for unsupported map types (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: skip verifier tests for unsupported program types (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: skip sockmap in test_maps if kernel doesn't have support (Yauheni Kaliuta) [1700846] - [rpmspec] rpmspec: pack bpf-helpers, bpftool-net, bpftool-feature manpages (Yauheni Kaliuta) [1700846] - [net] bpf, tcp: correctly handle DONT_WAIT flags and timeo == 0 (Yauheni Kaliuta) [1700846] - [kernel] bpf: mark bpf_event_notify and bpf_event_init as static (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap fix msg->sg.size account on ingress skb (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap remove duplicate queue free (Yauheni Kaliuta) [1700846] - [net] net/tls: remove set but not used variables (Yauheni Kaliuta) [1700846] - [media] bpf: add map helper functions push, pop, peek in more BPF programs (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix infinite loop in map create (Yauheni Kaliuta) [1700846] - [net] net/tls: fix build without CONFIG_TLS_DEVICE (Yauheni Kaliuta) [1700846] - [net] net/tls: don't leak partially sent record in device mode (Yauheni Kaliuta) [1700846] - [net] xdp: fix cpumap redirect SKB creation bug (Yauheni Kaliuta) [1700846] - [net] net/core: Document reuseport_add_sock() bind_inany argument (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: clarify bump in libbpf version info (Yauheni Kaliuta) [1700846] - [net] net/tls: Inform user space about send buffer availability (Yauheni Kaliuta) [1700846] - [tools] libbpf: handle BTF parsing and loading properly (Yauheni Kaliuta) [1700846] - [net] bpf: fix warning about using plain integer as NULL (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: fixing leak when kernel does not support btf (Yauheni Kaliuta) [1700846] - [net] tls: Fix write space handling (Yauheni Kaliuta) [1700846] - [net] tls: Fix tls_device handling of partial records (Yauheni Kaliuta) [1700846] - [tools] bpf: bpftool, fix documentation for attach types (Yauheni Kaliuta) [1700846] - [tools] btf: separate btf creation and loading (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix a selftest test_btf failure (Yauheni Kaliuta) [1700846] - [tools] selftests/btf: add initial BTF dedup tests (Yauheni Kaliuta) [1700846] - [tools] btf: add BTF types deduplication algorithm (Yauheni Kaliuta) [1700846] - [tools] btf: extract BTF type size calculation (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: silence a libbpf unnecessary warning (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: implement libbpf btf__get_map_kv_tids() API function (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: expose functions btf_ext__* as API functions (Yauheni Kaliuta) [1700846] - [tools] libbpf: Add a support for getting xdp prog id on ifindex (Yauheni Kaliuta) [1700846] - [tools] libbpf: Add a helper for retrieving a map fd for a given name (Yauheni Kaliuta) [1700846] - [tools] libbpf: introduce bpf_map_lookup_elem_flags() (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add bash completion for bpftool probes (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for a network device (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add C-style "#define" output for probes (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for eBPF helper functions (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for eBPF map types (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for eBPF program types (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for kernel configuration options (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for /proc/ eBPF parameters (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add basic probe capability, probe syscall availability (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: print out btf log at LIBBPF_WARN level (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: move libbpf pr_* debug print functions to headers (Yauheni Kaliuta) [1700846] - [net] net: tls: Fix deadlock in free_resources tx (Yauheni Kaliuta) [1700846] - [net] net: tls: Save iv in tls_rec for async crypto requests (Yauheni Kaliuta) [1700846] - [tools] bpf: pull in pkt_sched.h header for tooling to fix bpftool build (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: change section name of bpfilter UMH blob (Yauheni Kaliuta) [1700846] - [netdrv] tap: call skb_probe_transport_header after setting skb->dev (Yauheni Kaliuta) [1700846] - [net] Prevent overflow of sk_msg in sk_msg_clone() (Yauheni Kaliuta) [1700846] - [net] tls: Do not call sk_memcopy_from_iter with zero length (Yauheni Kaliuta) [1700846] - [net] net: ipv4: Set skb->dev for output route resolution (Yauheni Kaliuta) [1700846] - [net] bpf: refactor bpf_test_run() to separate own failures and test program result (Yauheni Kaliuta) [1700846] - [include] bpf: fix pointer offsets in context for 32 bit (Yauheni Kaliuta) [1700846] - [tools] tools/bpftool: copy a few net uapi headers to tools directory (Yauheni Kaliuta) [1700846] - [net] bpf: tcp_bpf_recvmsg should return EAGAIN when nonblocking and no data (Yauheni Kaliuta) [1700846] - [net] bpf: skmsg, fix psock create on existing kcm/tls port (Yauheni Kaliuta) [1700846] - [net] tcp, ulp: remove socket lock assertion on ULP cleanup (Yauheni Kaliuta) [1700846] - [lib] bpf: test_bpf: add init_net to dev for flow_dissector (Yauheni Kaliuta) [1700846] - [net] flow_dissector: lookup netns by skb->sk if skb->dev is NULL (Yauheni Kaliuta) [1700846] - [net] tls: Fixed uninitialised vars warning (Yauheni Kaliuta) [1700846] - [include] cgroup: Simplify cgroup_ancestor (Yauheni Kaliuta) [1700846] - [netdrv] veth: Orphan skb before GRO (Yauheni Kaliuta) [1700846] - [net] net/core/filter: fix unused-variable warning (Yauheni Kaliuta) [1700846] - [net] bpf: fix build error with clang (Yauheni Kaliuta) [1700846] - [netdrv] veth: Free queues on link delete (Yauheni Kaliuta) [1700846] - [net] bpf: fix sanitation rewrite in case of non-pointers (Yauheni Kaliuta) [1700846] - [net] bpf: drop refcount if bpf_map_new_fd() fails in map_create() (Yauheni Kaliuta) [1700846] - [net] bpf: decrease usercnt if bpf_map_new_fd() fails in bpf_map_get_fd_by_id() (Yauheni Kaliuta) [1700846] - [net] bpf, lpm: fix lookup bug in map_delete_elem (Yauheni Kaliuta) [1700846] - [net] bpf: fix lockdep false positive in stackmap (Yauheni Kaliuta) [1700846] - [net] bpf: Fix narrow load on a bpf_sock returned from sk_lookup() (Yauheni Kaliuta) [1700846] - [net] bpf: Fix syscall's stackmap lookup potential deadlock (Yauheni Kaliuta) [1700846] - [kernel] bpf: fix potential deadlock in bpf_prog_register (Yauheni Kaliuta) [1700846] - [net] bpf: fix lockdep false positive in percpu_freelist (Yauheni Kaliuta) [1700846] - [net] bpf: run bpf programs with preemption disabled (Yauheni Kaliuta) [1700846] - [tools] bpf, selftests: fix handling of sparse CPU allocations (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix test_btf for typedef func_proto case (Yauheni Kaliuta) [1700846] - [net] bpf: btf: allow typedef func_proto (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix crash with un-owned prog arrays (Yauheni Kaliuta) [1700846] - [tools] bpftool: fix percpu maps updating (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: Cleanup license mess (Yauheni Kaliuta) [1700846] - [net] bpf: Annotate implicit fall through in cgroup_dev_func_proto (Yauheni Kaliuta) [1700846] - [net] bpf: Make function btf_name_offset_valid static (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: retry tests that expect build-id (Yauheni Kaliuta) [1700846] - [net] bpf: zero out build_id for BPF_STACK_BUILD_ID_IP (Yauheni Kaliuta) [1700846] - [net] bpf: don't assume build-id length is always 20 bytes (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: properly account for libbfd variations (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: retry loading program on EAGAIN (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: workaround clang asm goto compilation errors (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: install with_tunnels.sh for test_flow_dissector.sh (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: disallow to remove bpfilter module while being used (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: Fix type cast and pointer warnings (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: restart bpfilter_umh when error occurred (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: use cleanup callback to release umh_info (Yauheni Kaliuta) [1700846] - [kernel] umh: add exit routine for UMH process (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: Set user mode helper's command line (Yauheni Kaliuta) [1700846] - [kernel] umh: Add command line to user mode helpers (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: use get_pid_task instead of pid_task (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix bpftool map dump with bitfields (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: test btf bitfield with >=256 struct member offset (Yauheni Kaliuta) [1700846] - [net] bpf: fix bpffs bitfield pretty print (Yauheni Kaliuta) [1700846] - [net] bpf: fix panic in stack_map_get_build_id() on i386 and arm32 (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: install files tcp_(server|client)*.py (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: user proper argument index (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add missing executables to .gitignore (Yauheni Kaliuta) [1700846] - [tools] bpf, doc: add note for libbpf's stand-alone build (Yauheni Kaliuta) [1700846] - [documentation] bpf, doc: update design qa to reflect kern_version requirement (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix incorrect users of create_and_get_cgroup (Yauheni Kaliuta) [1700846] - [tools] bpf: add various test cases for alu op on mixed dst register types (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test [::] -> [::1] rewrite in sys_sendmsg in test_sock_addr (Yauheni Kaliuta) [1700846] - [net] bpf: Fix [::] -> [::1] rewrite in sys_sendmsg (Yauheni Kaliuta) [1700846] - [tools] bpf: add various test cases to selftests (Yauheni Kaliuta) [1700846] - [net] bpf: fix check_map_access smin_value test when pointer contains offset (Yauheni Kaliuta) [1700846] - [net] bpf: restrict stack pointer arithmetic for unprivileged (Yauheni Kaliuta) [1700846] - [net] bpf: restrict map value pointer arithmetic for unprivileged (Yauheni Kaliuta) [1700846] - [net] bpf: enable access to ax register also from verifier rewrite (Yauheni Kaliuta) [1700846] - [net] bpf: move tmp variable into ax register in interpreter (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix error printing in test_devmap() (Yauheni Kaliuta) [1700846] - [tools] bpf: fix segfault in test_verifier selftest (Yauheni Kaliuta) [1700846] - [net] bpf: tls_sw, init TLS ULP removes BPF proto hooks (Yauheni Kaliuta) [1700846] - [net] bpf: sk_msg, sock{map|hash} redirect through ULP (Yauheni Kaliuta) [1700846] - [net] bpf: sk_msg, zap ingress queue on psock down (Yauheni Kaliuta) [1700846] - [net] bpf: sk_msg, fix socket data_ready events (Yauheni Kaliuta) [1700846] - [net] bpf: skb_verdict, support SK_PASS on RX BPF path (Yauheni Kaliuta) [1700846] - [net] bpf: skmsg, replace comments with BUILD bug (Yauheni Kaliuta) [1700846] - [net] bpf: sk_msg, improve offset chk in _is_valid_access (Yauheni Kaliuta) [1700846] - [tools] bpf: sk_msg, fix sk_msg_md access past end test (Yauheni Kaliuta) [1700846] - [net] bpf/cpumap: make sure frame_size for build_skb is aligned if headroom isn't (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: add missing executables to .gitignore (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: reorder stack size check with dead code sanitization (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: verifier: add tests for JSET interpretation (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: teach the verifier to reason about the BPF_JSET instruction (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: add trivial JSET tests (Yauheni Kaliuta) [1700846] - [tools] bpf: Add BPF_LD_IMM64 to the line_info test (Yauheni Kaliuta) [1700846] - [net] bpf: Ensure line_info.insn_off cannot point to insn with zero code (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: do not force gcc as CC (Yauheni Kaliuta) [1700846] - [tools] bpf: fix up uapi helper description and sync bpf header with tools (Yauheni Kaliuta) [1700846] - [net] bpf: log struct/union attribute for forward type (Yauheni Kaliuta) [1700846] - [tools] bpf: sk_msg, add tests for size field (Yauheni Kaliuta) [1700846] - [tools] bpf: add tools lib/include support sk_msg_md size field (Yauheni Kaliuta) [1700846] - [include] bpf: sockmap, metadata support for reporting size of msg (Yauheni Kaliuta) [1700846] - [net] bpf: correct slot_type marking logic to allow more stack slot sharing (Yauheni Kaliuta) [1700846] - [kernel] bpf: support raw tracepoints in modules (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add an option to prevent auto-mount of bpffs, tracefs (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: attempt to mount tracefs if required for tracelog cmd (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: check precise {func, line, jited_line}_info_rec_size in test_btf (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: fix memleak by freeing line_info (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: support pretty print with kind_flag set (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: refactor btf_dumper_int_bits() (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: test kernel bpffs map pretty print with struct kind_flag (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add test_btf unit tests for kind_flag (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: sync btf.h header from kernel to tools (Yauheni Kaliuta) [1700846] - [net] bpf: enable cgroup local storage map pretty print with kind_flag (Yauheni Kaliuta) [1700846] - [net] bpf: btf: fix struct/union/fwd types with kind_flag (Yauheni Kaliuta) [1700846] - [net] bpf: btf: refactor btf_int_bits_seq_show() (Yauheni Kaliuta) [1700846] - [net] bpf: remove useless version check for prog load (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix -Wmissing declaration warnings (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix warning on struct bpf_prog_linfo definition (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add a prog array map update example to documentation (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix examples in documentation for bpftool prog (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add doc for -m option to bpftool-prog.rst (Yauheni Kaliuta) [1700846] - [net] bpf: add self-check logic to liveness analysis (Yauheni Kaliuta) [1700846] - [net] bpf: improve stacksafe state comparison (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: check insn processed in test_verifier (Yauheni Kaliuta) [1700846] - [net] bpf: speed up stacksafe check (Yauheni Kaliuta) [1700846] - [net] bpf: verbose log bpf_line_info in verifier (Yauheni Kaliuta) [1700846] - [net] bpf: Create a new btf_name_by_offset() for non type name use case (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Fix sk lookup usage in test_sock_addr (Yauheni Kaliuta) [1700846] - [net] bpf: remove obsolete prog->aux sanitation in bpf_insn_prepare_dump (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: make sure callees don't prune with caller differences (Yauheni Kaliuta) [1700846] - [tools] bpf: sync tools/include/uapi/linux/bpf.h (Yauheni Kaliuta) [1700846] - [net] bpf: include sub program tags in bpf_prog_info (Yauheni Kaliuta) [1700846] - [tools] bpf: Remove !func_info and !line_info check from test_btf and bpftool (Yauheni Kaliuta) [1700846] - [net] bpf: Remove bpf_dump_raw_ok() check for func_info and line_info (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: dual license all files (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: replace Netronome boilerplate with SPDX license headers (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix SPDX format in headers (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add btf annotations for cgroup_local_storage maps (Yauheni Kaliuta) [1700846] - [net] bpf: add bpffs pretty print for cgroup local storage maps (Yauheni Kaliuta) [1700846] - [net] bpf: pass struct btf pointer to the map_check_btf() callback (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: use __bpf_constant_htons in test_prog.c (Yauheni Kaliuta) [1700846] - [net] bpf: fix bpf_jit_limit knob for PAGE_SIZE >= 64K (Yauheni Kaliuta) [1700846] - [arm64] bpf: arm64: Enable arm64 jit to provide bpf_line_info (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: use proper type when passing prog_type (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: rename *_info_cnt to nr_*_info (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: sync kernel uapi bpf.h to tools directory (Yauheni Kaliuta) [1700846] - [net] bpf: rename *_info_cnt to nr_*_info in bpf_prog_info (Yauheni Kaliuta) [1700846] - [net] bpf: clean up bpf_prog_get_info_by_fd() (Yauheni Kaliuta) [1700846] - [tools] bpf: bpftool: Fix newline and p_err issue (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add missing pointer dereference for map stacktrace fixup (Yauheni Kaliuta) [1700846] - [net] bpf: relax verifier restriction on BPF_MOV | BPF_ALU (Yauheni Kaliuta) [1700846] - [tools] media: bpf: add bpf function to report mouse movement (Yauheni Kaliuta) [1700846] - [include] bpf: fix documentation for eBPF helpers (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: bpftool: Print bpf_line_info during prog dump (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: Add btf_line_info support to libbpf (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: Refactor and bug fix on the bpf_func_info loading logic (Yauheni Kaliuta) [1700846] - [tools] bpf: Add unit tests for bpf_line_info (Yauheni Kaliuta) [1700846] - [tools] bpf: Refactor and bug fix in test_func_type in test_btf.c (Yauheni Kaliuta) [1700846] - [tools] bpf: tools: Sync uapi bpf.h (Yauheni Kaliuta) [1700846] - [include] bpf: Add bpf_line_info support (Yauheni Kaliuta) [1700846] - [net] net/flow_dissector: correctly cap nhoff and thoff in case of BPF (Yauheni Kaliuta) [1700846] - [net] selftests/bpf: use thoff instead of nhoff in BPF flow dissector (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: update testcases for BPF_ALU | BPF_ARSH (Yauheni Kaliuta) [1700846] - [net] bpf: verifier remove the rejection on BPF_ALU | BPF_ARSH (Yauheni Kaliuta) [1700846] - [net] bpf: interpreter support BPF_ALU | BPF_ARSH (Yauheni Kaliuta) [1700846] - [s390] s390: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_* (Yauheni Kaliuta) [1700846] - [powerpc] ppc: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_* (Yauheni Kaliuta) [1700846] - [tools] bpf: Expect !info.func_info and insn_off name changes in test_btf/libbpf/bpftool (Yauheni Kaliuta) [1700846] - [tools] bpf: tools: Sync uapi bpf.h for the name changes in bpf_func_info (Yauheni Kaliuta) [1700846] - [net] bpf: Change insn_offset to insn_off in bpf_func_info (Yauheni Kaliuta) [1700846] - [net] bpf: Improve the info.func_info and info.func_info_rec_size behavior (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add a command to dump the trace pipe (Yauheni Kaliuta) [1700846] - [arm64] arm64/bpf: don't allocate BPF JIT programs in module memory (Yauheni Kaliuta) [1700846] - [net] bpf: add __weak hook for allocating executable memory (Yauheni Kaliuta) [1700846] - [net] bpf: add per-insn complexity limit (Yauheni Kaliuta) [1700846] - [net] bpf: improve verifier branch analysis (Yauheni Kaliuta) [1700846] - [net] bpf: check pending signals while verifying programs (Yauheni Kaliuta) [1700846] - [tools] selftests: add a test for bpf_prog_test_run_xattr (Yauheni Kaliuta) [1700846] - [tools] libbpf: add bpf_prog_test_run_xattr (Yauheni Kaliuta) [1700846] - [tools] tools: sync uapi/linux/bpf.h (Yauheni Kaliuta) [1700846] - [net] bpf: respect size hint to BPF_PROG_TEST_RUN if present (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: fix: seg fault with NULL pointer arg (Yauheni Kaliuta) [1700846] - [powerpc] bpf: powerpc64: optimize JIT passes for bpf function calls (Yauheni Kaliuta) [1700846] - [tools] bpf: allow BPF read access to qdisc pkt_len (Yauheni Kaliuta) [1700846] - [tools] libbpf: Fix license in README.rst (Yauheni Kaliuta) [1700846] - [net] bpf: Fix memleak in aux->func_info and aux->btf (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: get ifindex from ifname (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: improve xdp1 example (Yauheni Kaliuta) [1700846] - [tools] bpf: Apply F_NEEDS_EFFICIENT_UNALIGNED_ACCESS to more ACCEPT test cases (Yauheni Kaliuta) [1700846] - [tools] bpf: Make more use of 'any' alignment in test_verifier.c (Yauheni Kaliuta) [1700846] - [tools] bpf: Adjust F_NEEDS_EFFICIENT_UNALIGNED_ACCESS handling in test_verifier.c (Yauheni Kaliuta) [1700846] - [tools] bpf: Add BPF_F_ANY_ALIGNMENT (Yauheni Kaliuta) [1700846] - [tools] bpf: Improve socket lookup reuseport documentation (Yauheni Kaliuta) [1700846] - [tools] bpf: Support sk lookup in netns with id 0 (Yauheni Kaliuta) [1700846] - [tools] bpf: Fix verifier log string check for bad alignment (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add owner_prog_type and owner_jited to bpftool output (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: mark offloaded programs more explicitly in plain output (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix bash completion for new map types (queue and stack) (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix bash completion for bpftool prog (attach|detach) (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: use "/proc/self/" i.o. crafting links with getpid() (Yauheni Kaliuta) [1700846] - [arm64] arm64/bpf: use movn/movk/movk sequence to generate kernel addresses (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: make libbpf _GNU_SOURCE friendly (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix a bitfield pretty print issue (Yauheni Kaliuta) [1700846] - [tools] bpf: Fix various lib and testsuite build failures on 32-bit (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add addition type tests to test_btf (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix two test_btf unit test cases (Yauheni Kaliuta) [1700846] - [net] bpf: btf: check name validity for various types (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add config fragment CONFIG_FTRACE_SYSCALLS (Yauheni Kaliuta) [1700846] - [tools] bpf: test_sockmap, add options for msg_pop_data() helper (Yauheni Kaliuta) [1700846] - [tools] bpf: add msg_pop_data helper to tools (Yauheni Kaliuta) [1700846] - [tools] libbpf: Document API and ABI conventions (Yauheni Kaliuta) [1700846] - [tools] libbpf: Verify versioned symbols (Yauheni Kaliuta) [1700846] - [tools] libbpf: Add version script for DSO (Yauheni Kaliuta) [1700846] - [tools] libbpf: Name changing for btf_get_from_id (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: change selftest test_btf for both jit and non-jit (Yauheni Kaliuta) [1700846] - [net] bpf: btf: support proper non-jit func info (Yauheni Kaliuta) [1700846] - [arm64] bpf, arm64: fix getting subprog addr from aux for calls (Yauheni Kaliuta) [1700846] - [net] bpf, ppc64: generalize fetching subprog into bpf_jit_get_func_addr (Yauheni Kaliuta) [1700846] - [tools] bpf: align map type names formatting (Yauheni Kaliuta) [1700846] - [net] bpf: btf: fix spelling mistake "Memmber" -> "Member" (Yauheni Kaliuta) [1700846] - [net] bpf, tags: Fix DEFINE_PER_CPU expansion (Yauheni Kaliuta) [1700846] - [tools] bpf: Add BPF_MAP_TYPE_QUEUE and BPF_MAP_TYPE_STACK to bpftool-map (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: fix: error handling regarding kprobe_events (Yauheni Kaliuta) [1700846] - [tools] libbpf: make bpf_object__open default to UNSPEC (Yauheni Kaliuta) [1700846] - [tools] bpf: add skb->tstamp r/w access from tc clsact and cg skb progs (Yauheni Kaliuta) [1700846] - [net] bpf: fix integer overflow in queue_stack_map (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix spelling mistake "memeory" -> "memory" (Yauheni Kaliuta) [1700846] - [net] bpf, lpm: make longest_prefix_match() faster (Yauheni Kaliuta) [1700846] - [tools] bpf: adding tests for map_in_map helpber in libbpf (Yauheni Kaliuta) [1700846] - [tools] bpf: adding support for map in map in libbpf (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: don't specify prog name if kernel doesn't support it (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: remove map name retry from bpf_create_map_xattr (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: introduce bpf_object__probe_caps to test BPF capabilities (Yauheni Kaliuta) [1700846] - [tools] libbpf: make sure bpf headers are c++ include-able (Yauheni Kaliuta) [1700846] - [tools] bpf: fix a libbpf loader issue (Yauheni Kaliuta) [1700846] - [include] bpf: fix a compilation error when CONFIG_BPF_SYSCALL is not defined (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: add support for func types (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: enhance test_btf file testing to test func info (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: refactor to implement btf_get_from_id() in lib/bpf (Yauheni Kaliuta) [1700846] - [samples] tools/bpf: do not use pahole if clang/llvm can generate BTF sections (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add support to read .BTF.ext sections (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: extends test_btf to test load/retrieve func_type info (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add new fields for program load in lib/bpf (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: sync kernel uapi bpf.h header to tools directory (Yauheni Kaliuta) [1700846] - [net] bpf: Introduce bpf_func_info (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: Add tests for BTF_KIND_FUNC_PROTO and BTF_KIND_FUNC (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: Sync kernel btf.h header (Yauheni Kaliuta) [1700846] - [net] bpf: btf: Add BTF_KIND_FUNC and BTF_KIND_FUNC_PROTO (Yauheni Kaliuta) [1700846] - [net] bpf: btf: Break up btf_type_is_void() (Yauheni Kaliuta) [1700846] - [tools] tools: add selftest for BPF_F_ZERO_SEED (Yauheni Kaliuta) [1700846] - [tools] tools: sync linux/bpf.h (Yauheni Kaliuta) [1700846] - [include] bpf: move BPF_F_QUERY_EFFECTIVE after map flags (Yauheni Kaliuta) [1700846] - [net] bpf: allow zero-initializing hash map seed (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: retry map creation without the name (Yauheni Kaliuta) [1700846] - [net] bpf: allocate local storage buffers using GFP_ATOMIC (Yauheni Kaliuta) [1700846] - [net] bpf: fix off-by-one error in adjust_subprog_starts (Yauheni Kaliuta) [1700846] - [net] bpf: fix null pointer dereference on pointer offload (Yauheni Kaliuta) [1700846] - [tools] bpftool: make libbfd optional (Yauheni Kaliuta) [1700846] - [net] net/bpf: split VLAN_PRESENT bit handling from VLAN_TCI (Yauheni Kaliuta) [1700846] - [powerpc] net/bpf_jit: PPC: split VLAN_PRESENT bit handling from VLAN_TCI (Yauheni Kaliuta) [1700846] - [net] net/skbuff: add macros for VLAN_PRESENT bit (Yauheni Kaliuta) [1700846] - [tools] selftest/bpf: Use bpf_sk_lookup_{tcp, udp} in test_sock_addr (Yauheni Kaliuta) [1700846] - [net] bpf: Support socket lookup in CGROUP_SOCK_ADDR progs (Yauheni Kaliuta) [1700846] - [net] bpf: Fix IPv6 dport byte order in bpf_sk_lookup_udp (Yauheni Kaliuta) [1700846] - [net] bpf: Extend the sk_lookup() helper to XDP hookpoint (Yauheni Kaliuta) [1700846] - [net] bpf: helper to pop data from messages (Yauheni Kaliuta) [1700846] - [net] bpf: fix wrong helper enablement in cgroup local storage (Yauheni Kaliuta) [1700846] - [include] bpf: sk_msg program helper bpf_msg_push_data (Yauheni Kaliuta) [1700846] - [net] bpf: Fix IPv6 dport byte-order in bpf_sk_lookup (Yauheni Kaliuta) [1700846] - [net] bpf: Allow sk_lookup with IPv6 module (Yauheni Kaliuta) [1700846] - [net] net: core: Fix build with CONFIG_IPV6=m (Yauheni Kaliuta) [1700846] - [net] bpf: Fix dev pointer dereference from sk_skb (Yauheni Kaliuta) [1700846] - [net] bpf: fix building without CONFIG_INET (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: Fix bpf_program__next() API (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Fix uninitialized duration warning (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test narrow loads with off > 0 for bpf_sock_addr (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test narrow loads with off > 0 in test_verifier (Yauheni Kaliuta) [1700846] - [net] bpf: Allow narrow loads with offset > 0 (Yauheni Kaliuta) [1700846] - [tools] bpftool: support loading flow dissector (Yauheni Kaliuta) [1700846] - [tools] bpftool: add pinmaps argument to the load/loadall (Yauheni Kaliuta) [1700846] - [tools] bpftool: add loadall command (Yauheni Kaliuta) [1700846] - [tools] libbpf: add internal pin_name (Yauheni Kaliuta) [1700846] - [tools] libbpf: bpf_program__pin: add special case for instances.nr == 1 (Yauheni Kaliuta) [1700846] - [tools] libbpf: cleanup after partial failure in bpf_object__pin (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: rename flow dissector section to flow_dissector (Yauheni Kaliuta) [1700846] - [netdrv] bpf: do not pass netdev to translate() and prepare() offload callbacks (Yauheni Kaliuta) [1700846] - [net] bpf: pass prog instead of env to bpf_prog_offload_verifier_prep() (Yauheni Kaliuta) [1700846] - [netdrv] bpf: pass destroy() as a callback and remove its ndo_bpf subcommand (Yauheni Kaliuta) [1700846] - [include] bpf: pass translate() as a callback and remove its ndo_bpf subcommand (Yauheni Kaliuta) [1700846] - [netdrv] bpf: call verifier_prep from its callback in struct bpf_offload_dev (Yauheni Kaliuta) [1700846] - [net] bpf: call finalize() from its callback in struct bpf_offload_dev (Yauheni Kaliuta) [1700846] - [net] bpf: call verify_insn from its callback in struct bpf_offload_dev (Yauheni Kaliuta) [1700846] - [netdrv] bpf: pass a struct with offload callbacks to bpf_offload_dev_create() (Yauheni Kaliuta) [1700846] - [tools] kselftests/bpf: use ping6 as the default ipv6 ping binary when it exists (Yauheni Kaliuta) [1700846] - [tools] bpftool: Improve handling of ENOENT on map dumps (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add a test case for sock_ops perf-event notification (Yauheni Kaliuta) [1700846] - [net] bpf: add perf event notificaton support for sock_ops (Yauheni Kaliuta) [1700846] - [net] bpf: let verifier to calculate and record max_pkt_offset (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: update references to other man pages in documentation (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: pass an argument to silence open_obj_pinned() (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix plain output and doc for --bpffs option (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: prevent infinite loop in get_fdinfo() (Yauheni Kaliuta) [1700846] - [samples] bpf_load: add map name to load_maps error message (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: adjust rlimit RLIMIT_MEMLOCK when loading programs, maps (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: enable (uncomment) all tests in test_libbpf.sh (Yauheni Kaliuta) [1700846] - [net] bpf: fix bpf_prog_get_info_by_fd to return 0 func_lens for unpriv (Yauheni Kaliuta) [1700846] - [net] bpf: show main program address and length in bpf_prog_info (Yauheni Kaliuta) [1700846] - [net] bpf: show real jited address in bpf_prog_info->jited_ksyms (Yauheni Kaliuta) [1700846] - [net] bpf: show real jited prog address in /proc/kallsyms (Yauheni Kaliuta) [1700846] - [tools] bpf: test make sure to run unpriv test cases in test_verifier (Yauheni Kaliuta) [1700846] - [tools] bpf: add various test cases to test_verifier (Yauheni Kaliuta) [1700846] - [net] bpf: don't set id on after map lookup with ptr_to_map_val return (Yauheni Kaliuta) [1700846] - [tools] libbpf: Fix compile error in libbpf_attach_type_by_name (Yauheni Kaliuta) [1700846] - [tools] kselftests/bpf: use ping6 as the default ipv6 ping binary if it exists (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add unlimited rlimit for flow_dissector_load (Yauheni Kaliuta) [1700846] - [net] bpf: add bpf_jit_limit knob to restrict unpriv allocations (Yauheni Kaliuta) [1700846] - [net] bpf: make direct packet write unclone more robust (Yauheni Kaliuta) [1700846] - [net] bpf: fix leaking uninitialized memory on pop/peek helpers (Yauheni Kaliuta) [1700846] - [net] bpf: fix direct packet write into pop/peek helpers (Yauheni Kaliuta) [1700846] - [net] bpf: fix cg_skb types to hint access type in may_access_direct_pkt_data (Yauheni Kaliuta) [1700846] - [net] bpf: fix direct packet access for flow dissector progs (Yauheni Kaliuta) [1700846] - [net] bpf: disallow direct packet access for unpriv in cg_skb (Yauheni Kaliuta) [1700846] - [tools] bpf: fix test suite to enable all unpriv program types (Yauheni Kaliuta) [1700846] - [net] bpf, btf: fix a missing check bug in btf_parse (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add config fragments BPF_STREAM_PARSER and XDP_SOCKETS (Yauheni Kaliuta) [1700846] - [net] bpf: devmap: fix wrong interface selection in notifier_call (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix completion for "bpftool map update" (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: print nb of cmds to stdout (not stderr) for batch mode (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: document restriction on '.' in names to pin in bpffs (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix return value comparison for tests in test_libbpf.sh (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: simplify and cleanup perf ring buffer walk (Yauheni Kaliuta) [1700846] - [net] bpf, verifier: avoid retpoline for map push/pop/peek operation (Yauheni Kaliuta) [1700846] - [net] bpf, verifier: remove unneeded flow key in check_helper_mem_access (Yauheni Kaliuta) [1700846] - [net] bpf, verifier: reject xadd on flow key memory (Yauheni Kaliuta) [1700846] - [net] bpf, verifier: fix register type dump in xadd and st (Yauheni Kaliuta) [1700846] - [net] ulp: remove uid and user_visible members (Yauheni Kaliuta) [1700846] - [tools] bpf: test_sockmap add options to use msg_push_data (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf support for msg_push_data (Yauheni Kaliuta) [1700846] - [tools] Sync uapi/bpf.h to tools/include (Yauheni Kaliuta) [1700846] - [net] bpf: add tests for direct packet access from CGROUP_SKB (Yauheni Kaliuta) [1700846] - [net] bpf: add cg_skb_is_valid_access for BPF_PROG_TYPE_CGROUP_SKB (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: use correct barriers in perf ring buffer walk (Yauheni Kaliuta) [1700846] - [tools] tools, perf: add and use optimized ring_buffer_{read_head, write_tail} helpers (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add missing executables to .gitignore (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add test cases for queue and stack maps (Yauheni Kaliuta) [1700846] - [net] bpf: add MAP_LOOKUP_AND_DELETE_ELEM syscall (Yauheni Kaliuta) [1700846] - [net] bpf: add queue and stack maps (Yauheni Kaliuta) [1700846] - [net] bpf/verifier: add ARG_PTR_TO_UNINIT_MAP_VALUE (Yauheni Kaliuta) [1700846] - [net] bpf/syscall: allow key to be null in map functions (Yauheni Kaliuta) [1700846] - [net] bpf: rename stack trace map operations (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: use 4 context mode for the NFP disasm (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix file resource leak in load_kallsyms (Yauheni Kaliuta) [1700846] - [tools] bpf: sockmap, add msg_peek tests to test_sockmap (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap, support for msg_peek in sk_msg with redirect ingress (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap, fix skmsg recvmsg handler to track size correctly (Yauheni Kaliuta) [1700846] - [include] bpf: skmsg, improve sk_msg_used_element to work in cork context (Yauheni Kaliuta) [1700846] - [tools] libbpf: Per-symbol visibility for DSO (Yauheni Kaliuta) [1700846] - [tools] bpf, tls: add tls header to tools infrastructure (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add map create command (Yauheni Kaliuta) [1700846] - [tools] bpf: bpftool, add flag to allow non-compat map definitions (Yauheni Kaliuta) [1700846] - [tools] bpf: bpftool, add support for attaching programs to maps (Yauheni Kaliuta) [1700846] - [maintainers] bpf, doc: add maintainers entry to related files (Yauheni Kaliuta) [1700846] - [tools] bpf: add tls support for testing in test_sockmap (Yauheni Kaliuta) [1700846] - [net] tls: add bpf support to sk_msg handling (Yauheni Kaliuta) [1700846] - [net] tls: replace poll implementation with read hook (Yauheni Kaliuta) [1700846] - [net] tls: convert to generic sk_msg interface (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: convert to generic sk_msg interface (Yauheni Kaliuta) [1700846] - [net] tcp, ulp: remove ulp bits from sockmap (Yauheni Kaliuta) [1700846] - [net] tcp, ulp: enforce sock_owned_by_me upon ulp init and cleanup (Yauheni Kaliuta) [1700846] - [net] net/tls: Make function get_rec() static (Yauheni Kaliuta) [1700846] - [net] net/tls: Mark the end in scatterlist table (Yauheni Kaliuta) [1700846] - [net] tls: Fixed a memory leak during socket close (Yauheni Kaliuta) [1700846] - [net] net/tls: Removed redundant checks for non-NULL (Yauheni Kaliuta) [1700846] - [net] tls: Add support for inplace records encryption (Yauheni Kaliuta) [1700846] - [net] tls: Remove redundant vars from tls record structure (Yauheni Kaliuta) [1700846] - [net] net/tls: Fixed race condition in async encryption (Yauheni Kaliuta) [1700846] - [net] tls: Fix socket mem accounting error under async encryption (Yauheni Kaliuta) [1700846] - [net] net/tls: Add support for async encryption of records for performance (Yauheni Kaliuta) [1700846] - [net] tls: Remove dead code in tls_sw_sendmsg (Yauheni Kaliuta) [1700846] - [net] net/tls: Fixed return value when tls_complete_pending_work() fails (Yauheni Kaliuta) [1700846] - [net] bpf: wait for running BPF programs when updating map-in-map (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: install script with_addr.sh (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: add config fragment LWTUNNEL (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: use proper type and uapi perf_event.h header for libbpf (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add XDP selftests for modifying and popping VLAN headers (Yauheni Kaliuta) [1700846] - [tools] bpf: make TC vlan bpf_helpers avail to selftests (Yauheni Kaliuta) [1700846] - [net] net: fix generic XDP to handle if eth header was mangled (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: test_verifier, check bpf_map_lookup_elem access in bpf prog (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: test_verifier, change names of fixup maps (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool, print strerror when map lookup error occurs (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool, split the function do_dump() (Yauheni Kaliuta) [1700846] - [net] bpf: return EOPNOTSUPP when map lookup isn't supported (Yauheni Kaliuta) [1700846] - [net] bpf: error handling when map_lookup_elem isn't supported (Yauheni Kaliuta) [1700846] - [net] bpf: btf: Fix a missing check bug (Yauheni Kaliuta) [1700846] - [net] bpf: allow offload of programs with BPF-to-BPF function calls (Yauheni Kaliuta) [1700846] - [net] bpf: add verifier callback to get stack usage info for offloaded progs (Yauheni Kaliuta) [1700846] - [tools] libbpf: relicense libbpf as LGPL-2.1 OR BSD-2-Clause (Yauheni Kaliuta) [1700846] - [samples] bpf, tracex3_user: erase "ARRAY_SIZE" redefined (Yauheni Kaliuta) [1700846] - [tools] libbpf: Use __u32 instead of u32 in bpf_program__load (Yauheni Kaliuta) [1700846] - [tools] libbpf: Make include guards consistent (Yauheni Kaliuta) [1700846] - [tools] libbpf: Consistent prefixes for interfaces in str_error.h (Yauheni Kaliuta) [1700846] - [tools] libbpf: Consistent prefixes for interfaces in nlattr.h (Yauheni Kaliuta) [1700846] - [tools] libbpf: Consistent prefixes for interfaces in libbpf.h (Yauheni Kaliuta) [1700846] - [tools] libbpf: Move __dump_nlmsg_t from API to implementation (Yauheni Kaliuta) [1700846] - [documentation] Documentation: Describe bpf reference tracking (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Add C tests for reference tracking (Yauheni Kaliuta) [1700846] - [tools] libbpf: Support loading individual progs (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Add tests for reference tracking (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Generalize dummy program types (Yauheni Kaliuta) [1700846] - [tools] bpf: Add helper to retrieve socket in BPF (Yauheni Kaliuta) [1700846] - [include] bpf: Introduce bpf_skb_ancestor_cgroup_id helper (Yauheni Kaliuta) [1700846] - [tools] bpf: sync include/uapi/linux/bpf.h to tools/include/uapi/linux/bpf.h (Yauheni Kaliuta) [1700846] - [tools] bpf: sync bpf.h uapi with tools/ (Yauheni Kaliuta) [1700846] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1700846] - [tools] bpf: Sync bpf.h uapi to tools/ (Yauheni Kaliuta) [1700846] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1700846] - [net] bpf: Add reference tracking to verifier (Yauheni Kaliuta) [1700846] - [net] bpf: Macrofy stack state copy (Yauheni Kaliuta) [1700846] - [include] bpf: Add PTR_TO_SOCKET verifier type (Yauheni Kaliuta) [1700846] - [net] bpf: Generalize ptr_or_null regs check (Yauheni Kaliuta) [1700846] - [net] bpf: Reuse canonical string formatter for ctx errs (Yauheni Kaliuta) [1700846] - [net] bpf: Add iterator for spilled registers (Yauheni Kaliuta) [1700846] - [net] bpf: don't accept cgroup local storage with zero value size (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: cgroup local storage-based network counters (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: extend test_cgrp2_attach2 test to use per-cpu cgroup storage (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: extend the storage test to test per-cpu cgroup storage (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add verifier per-cpu cgroup storage tests (Yauheni Kaliuta) [1700846] - [tools] bpftool: add support for PERCPU_CGROUP_STORAGE maps (Yauheni Kaliuta) [1700846] - [net] bpf: don't allow create maps of per-cpu cgroup local storages (Yauheni Kaliuta) [1700846] - [net] bpf: introduce per-cpu cgroup local storage (Yauheni Kaliuta) [1700846] - [net] bpf: rework cgroup storage pointer passing (Yauheni Kaliuta) [1700846] - [net] bpf: extend cgroup bpf core to allow multiple cgroup storage types (Yauheni Kaliuta) [1700846] - [net] bpf/test_run: support cgroup local storage (Yauheni Kaliuta) [1700846] - [net] bpf: harden flags check in cgroup_storage_update_elem() (Yauheni Kaliuta) [1700846] - [net] bpf: permit CGROUP_DEVICE programs accessing helper bpf_get_current_cgroup_id() (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test libbpf_{prog,attach}_type_by_name (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Use libbpf_attach_type_by_name in test_socket_cookie (Yauheni Kaliuta) [1700846] - [tools] libbpf: Support sk_skb/stream_{parser, verdict} section names (Yauheni Kaliuta) [1700846] - [tools] libbpf: Support cgroup_skb/{e,in}gress section names (Yauheni Kaliuta) [1700846] - [tools] libbpf: Introduce libbpf_attach_type_by_name (Yauheni Kaliuta) [1700846] - [tools] bpftool: Fix bpftool net output (Yauheni Kaliuta) [1700846] - [tools] bpftool: add support for BPF_MAP_TYPE_REUSEPORT_SOCKARRAY maps (Yauheni Kaliuta) [1700846] - [tools] bpf: test_maps, only support ESTABLISHED socks (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap, fix transition through disconnect without close (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap only allow ESTABLISHED sock state (Yauheni Kaliuta) [1700846] - [net] bpf: remove redundant null pointer check before consume_skb (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: fix compilation failure (Yauheni Kaliuta) [1700846] - [net] flow_dissector: fix build failure without CONFIG_NET (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: fix a compilation failure (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: remove duplicated includes (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: improve output format for bpftool net (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix bpf_flow.c build (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: test bpf flow dissection (Yauheni Kaliuta) [1700846] - [tools] flow_dissector: implements eBPF parser (Yauheni Kaliuta) [1700846] - [tools] bpf: support flow dissector in libbpf and bpftool (Yauheni Kaliuta) [1700846] - [include] flow_dissector: implements flow dissector BPF hook (Yauheni Kaliuta) [1700846] - [net] bpf: btf: Fix end boundary calculation for type section (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix a netlink recv issue (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: support prog array map and map of maps (Yauheni Kaliuta) [1700846] - [net] bpf: add bpffs pretty print for program array map (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: add net support (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add more netlink functionalities in lib/bpf (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: move bpf/lib netlink related functions into a new file (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf/test_progs: do not check errno == 0 (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add missing executables to .gitignore (Yauheni Kaliuta) [1700846] - [net] bpf/verifier: fix verifier instability (Yauheni Kaliuta) [1700846] - [net] bpf: avoid misuse of psock when TCP_ULP_BPF collides with another ULP (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool, add xskmap in map types (Yauheni Kaliuta) [1700846] - [tools] bpf: add selftest for bpf's (set|get)_sockopt for SAVE_SYN (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: xdpsock, minor fixes (Yauheni Kaliuta) [1700846] - [samples] bpf: add TCP_SAVE_SYN/TCP_SAVED_SYN sample program (Yauheni Kaliuta) [1700846] - [net] bpf: add TCP_SAVE_SYN/TCP_SAVED_SYN options for bpf_(set|get)sockopt (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: add btf percpu map formated dump (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add bpffs percpu map pretty print tests in test_btf (Yauheni Kaliuta) [1700846] - [net] bpf: add bpffs pretty print for percpu arraymap/hash/lru_hash (Yauheni Kaliuta) [1700846] - [net] bpf/verifier: display non-spill stack slot types in print_verifier_state (Yauheni Kaliuta) [1700846] - [tools] bpf: use --cgroup in test_suite if supplied (Yauheni Kaliuta) [1700846] - [tools] bpf: sockmap test remove shutdown() calls (Yauheni Kaliuta) [1700846] - [net] bpf: remove duplicated include from syscall.c (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap, decrement copied count correctly in redirect error case (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix psock refcount leak in bpf_tcp_recvmsg (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix potential use after free in bpf_tcp_close (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: return from do_event_pipe() on bad arguments (Yauheni Kaliuta) [1700846] - [net] bpf: use per htab salt for bucket hash (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap: write_space events need to be passed to TCP handler (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix sock hash count in alloc_sock_hash_elem (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix sock_hash_alloc and reject zero-sized keys (Yauheni Kaliuta) [1700846] - [net] bpf: fix redirect to map under tail calls (Yauheni Kaliuta) [1700846] - [netdrv] veth: Support per queue XDP ring (Yauheni Kaliuta) [1700846] - [netdrv] veth: Add XDP TX and REDIRECT (Yauheni Kaliuta) [1700846] - [net] xdp: Helpers for disabling napi_direct of xdp_return_frame (Yauheni Kaliuta) [1700846] - [net] bpf: Make redirect_info accessible from modules (Yauheni Kaliuta) [1700846] - [netdrv] veth: Add ndo_xdp_xmit (Yauheni Kaliuta) [1700846] - [netdrv] veth: Handle xdp_frames in xdp napi ring (Yauheni Kaliuta) [1700846] - [netdrv] veth: Avoid drops by oversized packets when XDP is enabled (Yauheni Kaliuta) [1700846] - [netdrv] veth: Add driver XDP (Yauheni Kaliuta) [1700846] - [net] net: Export skb_headers_offset_update (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix bpf selftest test_cgroup_storage failure (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix sock_map_ctx_update_elem race with exist/noexist (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix map elem deletion race with smap_stop_sock (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix leakage of smap_psock_map_entry (Yauheni Kaliuta) [1700846] - [net] bpf: fix a rcu usage warning in bpf_prog_array_copy_core() (Yauheni Kaliuta) [1700846] - [tools] bpf: test: fix spelling mistake "REUSEEPORT" -> "REUSEPORT" (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Selftest for bpf_skb_ancestor_cgroup_id (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Add cgroup id helpers to bpf_helpers.h (Yauheni Kaliuta) [1700846] - [net] bpf: decouple btf from seq bpf fs dump and enable more maps (Yauheni Kaliuta) [1700846] - [tools] bpf: Test BPF_PROG_TYPE_SK_REUSEPORT (Yauheni Kaliuta) [1700846] - [tools] bpf: test BPF_MAP_TYPE_REUSEPORT_SOCKARRAY (Yauheni Kaliuta) [1700846] - [tools] bpf: Refactor ARRAY_SIZE macro to bpf_util.h (Yauheni Kaliuta) [1700846] - [net] bpf: Introduce BPF_PROG_TYPE_SK_REUSEPORT (Yauheni Kaliuta) [1700846] - [net] bpf: Introduce BPF_MAP_TYPE_REUSEPORT_SOCKARRAY (Yauheni Kaliuta) [1700846] - [net] net: Add ID (if needed) to sock_reuseport and expose reuseport_lock (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add bpffs pretty print btf test for hash/lru_hash maps (Yauheni Kaliuta) [1700846] - [net] bpf: btf: add pretty print for hash/lru_hash maps (Yauheni Kaliuta) [1700846] - [net] bpf: fix bpffs non-array map seq_show issue (Yauheni Kaliuta) [1700846] - [powerpc] powerpc/Makefiles: Convert ifeq to ifdef where possible (Yauheni Kaliuta) [1700846] - [net] bpf: introduce update_effective_progs() (Yauheni Kaliuta) [1700846] - [s390] s390: fix br_r1_trampoline for machines without exrl (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix a typo in map in map test (Yauheni Kaliuta) [1700846] - [tools] tools: bpf: fix BTF code added twice to different trees (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: extend test_cgrp2_attach2 test to use cgroup storage (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add a cgroup storage test (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add verifier cgroup storage tests (Yauheni Kaliuta) [1700846] - [tools] bpftool: add support for CGROUP_STORAGE maps (Yauheni Kaliuta) [1700846] - [net] bpf: introduce the bpf_get_local_storage() helper function (Yauheni Kaliuta) [1700846] - [net] bpf: don't allow create maps of cgroup local storages (Yauheni Kaliuta) [1700846] - [net] bpf/verifier: introduce BPF_PTR_TO_MAP_VALUE (Yauheni Kaliuta) [1700846] - [net] bpf: extend bpf_prog_array to store pointers to the cgroup storage (Yauheni Kaliuta) [1700846] - [net] bpf: allocate cgroup storage entries on attaching bpf programs (Yauheni Kaliuta) [1700846] - [net] bpf: pass a pointer to a cgroup storage using pcpu variable (Yauheni Kaliuta) [1700846] - [net] bpf: introduce cgroup storage maps (Yauheni Kaliuta) [1700846] - [net] bpf: add ability to charge bpf maps memory dynamically (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: MOV64 don't mark dst reg unbounded (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test for get_socket_cookie (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Add bpf_get_socket_cookie to bpf_helpers.h (Yauheni Kaliuta) [1700846] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1700846] - [net] bpf: Support bpf_get_socket_cookie in more prog types (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: convert xdpsock_user.c to libbpf (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: convert xdp_fwd_user.c to libbpf (Yauheni Kaliuta) [1700846] - [tools] tools: libbpf: add bpf_object__find_program_by_title() (Yauheni Kaliuta) [1700846] - [tools] tools: libbpf: handle NULL program gracefully in bpf_program__nth_fd() (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: Add BTF build flags to Makefile (Yauheni Kaliuta) [1700846] - [tools] tools/bpftool: ignore build products (Yauheni Kaliuta) [1700846] - [tools] bpf: Add Python 3 support to selftests scripts for bpf (Yauheni Kaliuta) [1700846] - [tools] bpf: btf: fix inconsistent IS_ERR and PTR_ERR (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap: remove redundant pointer sg (Yauheni Kaliuta) [1700846] - [net] bpf: bpf_prog_array_alloc() should return a generic non-rcu pointer (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: don't pass FEATURES_DUMP to libbpf (Yauheni Kaliuta) [1700846] - [tools] tools: libbpf: remove libelf-getphdrnum feature detection (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: test_cgrp2_sock2: fix an off by one (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: ensure that we don't load over MAX_PROGS programs (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test case for BPF_SOCK_OPS_TCP_LISTEN_CB (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Better verification in test_tcpbpf (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Switch test_tcpbpf_user to cgroup_helpers (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Fix const'ness in cgroup_helpers (Yauheni Kaliuta) [1700846] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1700846] - [net] bpf: Add BPF_SOCK_OPS_TCP_LISTEN_CB (Yauheni Kaliuta) [1700846] - [tools] bpf: btf: print map dump and lookup with btf info (Yauheni Kaliuta) [1700846] - [tools] bpf: btf: add btf print functionality (Yauheni Kaliuta) [1700846] - [tools] bpf: btf: export btf types and name by offset from lib (Yauheni Kaliuta) [1700846] - [tools] tools: bpf: build and install man page for eBPF helpers from bpftool/ (Yauheni Kaliuta) [1700846] - [tools] tools: bpf: synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1700846] - [include] bpf: fix documentation for eBPF helpers (Yauheni Kaliuta) [1700846] - [tools] bpftool: add bash completion for cgroup tree command (Yauheni Kaliuta) [1700846] - [tools] bpftool: document cgroup tree command (Yauheni Kaliuta) [1700846] - [tools] bpftool: introduce cgroup tree command (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test sys_connect BPF hooks with TFO (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: Add xdp_sample_pkts example (Yauheni Kaliuta) [1700846] - [tools] trace_helpers.c: Add helpers to poll multiple perf FDs for events (Yauheni Kaliuta) [1700846] - [net] bpf: deal with kABI breakage in cgroups (Yauheni Kaliuta) [1700846] - [netdrv] nfp: bpf: fix static check error through tightening shift amount adjustment (Pablo Cascon) [1663986] - [netdrv] nfp: disable netpoll on representors (Pablo Cascon) [1663986] - [netdrv] nfp: validate the return code from dev_queue_xmit() (Pablo Cascon) [1663986] - [netdrv] nfp: fix simple vNIC mailbox length (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: set higher timeout for flash bundle (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: allow the use of DMA buffer (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: move default buffer handling into its own function (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: use fractional size of the buffer (Pablo Cascon) [1663986] - [netdrv] nfp: report RJ45 connector in ethtool (Pablo Cascon) [1663986] - [netdrv] nfp: remove ethtool flashing fallback (Pablo Cascon) [1663986] - [netdrv] nfp: Remove switchdev.h inclusion (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: fix code-gen bug on BPF_ALU | BPF_XOR | BPF_K (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: allow flashing the device via devlink (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: include vendor/product info in serial number (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: use the generic manufacture identifier instead of vendor (Pablo Cascon) [1663986] - [netdrv] nfp: flower: cmsg: use struct_size() helper (Pablo Cascon) [1663986] - [netdrv] nfp: Implement ndo_get_port_parent_id() (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: complete ALU32 logic shift supports (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: correct the behavior for shifts by zero (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: report the running and flashed versions (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: add support for versions command (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: report fixed versions (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: report driver name and serial number (Pablo Cascon) [1663986] - [netdrv] nfp: use struct_size() in kzalloc() (Pablo Cascon) [1663986] - [netdrv] nfp: flower: enable MAC address sharing for offloadable devs (Pablo Cascon) [1663986] - [netdrv] nfp: flower: ensure MAC cleanup on address change (Pablo Cascon) [1663986] - [netdrv] nfp: flower: add infastructure for non-repr priv data (Pablo Cascon) [1663986] - [netdrv] nfp: flower: ensure deletion of old offloaded MACs (Pablo Cascon) [1663986] - [netdrv] nfp: flower: remove list infastructure from MAC offload (Pablo Cascon) [1663986] - [netdrv] nfp: flower: ignore offload of VF and PF repr MAC addresses (Pablo Cascon) [1663986] - [netdrv] nfp: flower: tidy tunnel related private data (Pablo Cascon) [1663986] - [netdrv] nfp: flower: support multiple memory units for filter offloads (Pablo Cascon) [1663986] - [netdrv] nfp: flower: increase cmesg reply timeout (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: optimize codegen for JSET with a constant (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: remove the trivial JSET optimization (Pablo Cascon) [1663986] - [netdrv] nfp: flower: fix cb_ident duplicate in indirect block register (Pablo Cascon) [1663986] - [netdrv] nfp: abm: allow to opt-out of RED offload (Pablo Cascon) [1663986] - [netdrv] nfp: flower: ensure TCP flags can be placed in IPv6 frame (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_* (Pablo Cascon) [1663986] - [netdrv] nfp: convert to DEFINE_SHOW_ATTRIBUTE (Pablo Cascon) [1663986] - [netdrv] nfp: report more info when reconfiguration fails (Pablo Cascon) [1663986] - [netdrv] nfp: add offset to all TLV parsing errors (Pablo Cascon) [1663986] - [netdrv] nfp: add offloads on representors (Pablo Cascon) [1663986] - [netdrv] nfp: add locking around representor changes (Pablo Cascon) [1663986] - [netdrv] nfp: run don't require Qdiscs on representor netdevs (Pablo Cascon) [1663986] - [netdrv] nfp: run representor TX locklessly (Pablo Cascon) [1663986] - [netdrv] nfp: avoid oversized TSO headers with metadata prepend (Pablo Cascon) [1663986] - [netdrv] nfp: correct descriptor offsets in presence of metadata (Pablo Cascon) [1663986] - [netdrv] nfp: move queue variable init (Pablo Cascon) [1663986] - [netdrv] nfp: move temporary variables in nfp_net_tx_complete() (Pablo Cascon) [1663986] - [netdrv] nfp: copy only the relevant part of the TX descriptor for frags (Pablo Cascon) [1663986] - [netdrv] nfp: flower: prevent offload if rhashtable insert fails (Pablo Cascon) [1663986] - [netdrv] nfp: flower: release metadata on offload failure (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add support for more threshold actions (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add cls_u32 offload for simple band classification (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add functions to update DSCP -> virtual queue map (Pablo Cascon) [1663986] - [netdrv] nfp: abm: calculate PRIO map len and check mailbox size (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add GRED offload (Pablo Cascon) [1663986] - [netdrv] nfp: abm: wrap RED parameters in bands (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add up bands for sto/non-sto stats (Pablo Cascon) [1663986] - [netdrv] nfp: abm: switch to extended stats for reading packet/byte counts (Pablo Cascon) [1663986] - [netdrv] nfp: abm: size threshold table to account for bands (Pablo Cascon) [1663986] - [netdrv] nfp: abm: pass band parameter to functions (Pablo Cascon) [1663986] - [netdrv] nfp: abm: map per-band symbols (Pablo Cascon) [1663986] - [netdrv] nfp: abm: restructure Qdisc handling (Pablo Cascon) [1663986] - [netdrv] nfp: abm: save RED's parameters (Pablo Cascon) [1663986] - [netdrv] nfp: abm: reset RED's child based on limit (Pablo Cascon) [1663986] - [netdrv] nfp: abm: build full Qdisc hierarchy based on graft notifications (Pablo Cascon) [1663986] - [netdrv] nfp: abm: allocate Qdisc child table (Pablo Cascon) [1663986] - [netdrv] nfp: abm: remember which Qdisc is root (Pablo Cascon) [1663986] - [netdrv] nfp: abm: track all offload-enabled qdiscs (Pablo Cascon) [1663986] - [netdrv] nfp: abm: keep track of all RED thresholds (Pablo Cascon) [1663986] - [netdrv] nfp: abm: rename qdiscs -> red_qdiscs (Pablo Cascon) [1663986] - [netdrv] nfp: flower: remove unnecessary code in flow lookup (Pablo Cascon) [1663986] - [netdrv] nfp: flower: remove TC egdev offloads (Pablo Cascon) [1663986] - [netdrv] nfp: flower: offload tunnel decap rules via indirect TC blocks (Pablo Cascon) [1663986] - [netdrv] nfp: flower: increase scope of netdev checking functions (Pablo Cascon) [1663986] - [netdrv] nfp: flower: allow non repr netdev offload (Pablo Cascon) [1663986] - [netdrv] nfp: use the new __netdev_tx_sent_queue() BQL optimisation (Pablo Cascon) [1663986] - [netdrv] nfp: abm: refuse RED offload with harddrop set (Pablo Cascon) [1663986] - [netdrv] nfp: abm: don't set negative threshold (Pablo Cascon) [1663986] - [netdrv] nfp: abm: provide more precise info about offload parameter validation (Pablo Cascon) [1663986] - [netdrv] nfp: parse vNIC TLV capabilities at alloc time (Pablo Cascon) [1663986] - [netdrv] nfp: pass ctrl_bar pointer to nfp_net_alloc (Pablo Cascon) [1663986] - [netdrv] nfp: abm: split qdisc offload code into a separate file (Pablo Cascon) [1663986] - [netdrv] nfp: flower: include geneve as supported offload tunnel type (Pablo Cascon) [1663986] - [netdrv] nfp: flower: use geneve and vxlan helpers (Pablo Cascon) [1663986] - [netdrv] nfp: flower: use the common netdev notifier (Pablo Cascon) [1663986] - [netdrv] nfp: register a notifier handler in a central location for the device (Pablo Cascon) [1663986] - [netdrv] nfp: flower: make nfp_fl_lag_changels_event() void (Pablo Cascon) [1663986] - [netdrv] nfp: flower: don't try to nack device unregister events (Pablo Cascon) [1663986] - [netdrv] nfp: flower: remove unnecessary iteration over devices (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: protect against mis-initializing atomic counters (Pablo Cascon) [1663986] - [netdrv] nfp: devlink port split support for 1x100G CXP NIC (Pablo Cascon) [1663986] - [netdrv] nfp: replace long license headers with SPDX (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: support pointers to other stack frames for BPF-to-BPF calls (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: account for BPF-to-BPF calls when preparing nfp JIT (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: ignore helper-related checks for BPF calls in nfp verifier (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: rename nfp_prog->stack_depth as nfp_prog->stack_frame_depth (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: allow control message sizing for map ops (Pablo Cascon) [1663986] - [netdrv] nfp: allow apps to request larger MTU on control vNIC (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: parse global BPF ABI version capability (Pablo Cascon) [1663986] - [netdrv] nfp: warn on experimental TLV types (Pablo Cascon) [1663986] - [netdrv] nfp: remove ndo_poll_controller (Pablo Cascon) [1663986] - [netdrv] nfp: replace spin_lock_bh with spin_lock in tasklet callback (Pablo Cascon) [1663986] - [netdrv] nfp: separate VXLAN and GRE feature handling (Pablo Cascon) [1663986] - [netdrv] nfp: validate rtsym accesses fall within the symbol (Pablo Cascon) [1663986] - [netdrv] nfp: prefix rtsym error messages with symbol name (Pablo Cascon) [1663986] - [netdrv] nfp: fix readq on absolute RTsyms (Pablo Cascon) [1663986] - [netdrv] nfp: make RTsym users handle absolute symbols correctly (Pablo Cascon) [1663986] - [netdrv] nfp: support access to absolute RTsyms (Pablo Cascon) [1663986] - [netdrv] nfp: convert all RTsym users to use new read/write helpers (Pablo Cascon) [1663986] - [netdrv] nfp: convert existing RTsym helpers to full target decoding (Pablo Cascon) [1663986] - [netdrv] nfp: pass cpp_id to nfp_cpp_map_area() (Pablo Cascon) [1663986] - [netdrv] nfp: add RTsym access helpers (Pablo Cascon) [1663986] - [netdrv] nfp: add basic errors messages to target logic (Pablo Cascon) [1663986] - [netdrv] nfp: save the MU locality field offset (Pablo Cascon) [1663986] - [netdrv] nfp: refactor the per-chip PCIe config (Pablo Cascon) [1663986] - [netdrv] nfp: add support for NFP5000 (Pablo Cascon) [1663986] - [netdrv] nfp: abm: look up MAC addresses via management FW (Pablo Cascon) [1663986] - [netdrv] nfp: add support for indirect HWinfo lookup (Pablo Cascon) [1663986] - [netdrv] nfp: interpret extended FW load result codes (Pablo Cascon) [1663986] - [netdrv] nfp: attempt FW load from flash (Pablo Cascon) [1663986] - [netdrv] nfp: encapsulate NSP command arguments into structs (Pablo Cascon) [1663986] - [netdrv] nfp: clean up return types in kdoc comments (Pablo Cascon) [1663986] - [netdrv] nfp: flower: allow matching on ipv4 UDP tunnel tos and ttl (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: xdp_adjust_tail support (Pablo Cascon) [1663986] - [netdrv] nfp: fix variable dereferenced before check in nfp_app_ctrl_rx_raw() (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: improve map offload info messages (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: remember maps by ID (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: allow receiving perf events on data queues (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: pass raw data buffer to nfp_bpf_event_output() (Pablo Cascon) [1663986] - [netdrv] nfp: allow control message reception on data queues (Pablo Cascon) [1663986] - [netdrv] nfp: move repr handling on RX path (Pablo Cascon) [1663986] - [netdrv] nfp: protect from theoretical size overflows on HW descriptor ring (Pablo Cascon) [1663986] - [netdrv] nfp: restore correct ordering of fields in rx ring structure (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: allow program sharing within ASIC (Pablo Cascon) [1663986] - [netdrv] nfp: add .ndo_init() and .ndo_uninit() callbacks (Pablo Cascon) [1663986] - [netdrv] nfp: add support for simultaneous driver and hw XDP (Pablo Cascon) [1663986] - [netdrv] nfp: avoid using getnstimeofday64() (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: migrate to advanced reciprocal divide in reciprocal_div.h (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: support u32 divide using reciprocal_div.h (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: support u16 and u32 multiplications (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: copy range info for all operands of all ALU operations (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: rename umin/umax to umin_src/umax_src (Pablo Cascon) [1663986] - [netdrv] nfp: make use of napi_consume_skb() (Pablo Cascon) [1663986] - [netdrv] nfp: implement netpoll ndo (thus enabling netconsole) (Pablo Cascon) [1663986] - [netdrv] nfp: fail probe if serial or interface id is missing (Pablo Cascon) [1663986] - [netdrv] nfp: expose ring stats of inactive rings via ethtool (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: allow source ptr type be map ptr in memcpy optimization (Pablo Cascon) [1663986] - [netdrv] bpf: offload: keep the offload state per-ASIC (Pablo Cascon) [1663986] - [netdrv] bpf: offload: aggregate offloads per-device (Pablo Cascon) [1663986] - [tools] selftests/bpf: add test for sharing objects between netdevs (Ivan Vecera) [1708399] - [netdrv] netdevsim: allow program sharing between devices (Ivan Vecera) [1708399] - [net] bpf: offload: allow program and map sharing per-ASIC (Ivan Vecera) [1708399] - [netdrv] bpf: offload: keep the offload state per-ASIC (Ivan Vecera) [1708399] - [netdrv] bpf: offload: aggregate offloads per-device (Ivan Vecera) [1708399] - [net] bpf: offload: rename bpf_offload_dev_match() to bpf_offload_prog_map_match() (Ivan Vecera) [1708399] - [netdrv] netdevsim: associate bound programs with shared dev (Ivan Vecera) [1708399] - [netdrv] netdevsim: add shared netdevsim devices (Ivan Vecera) [1708399] - [netdrv] netdevsim: add switch_id attribute (Ivan Vecera) [1708399]- [infiniband] IB/mlx5: Remove set but not used variable (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: WQE dump jumps over first 16 bytes (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix false compilation warning (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Remove redundant assignment (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Fix compilation warning in en_tc.c (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix compilation warning in eq.c (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Fix the max MTU check in case of XDP (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Fix use-after-free after xdp_return_frame (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Fix scatter to CQE in DCT QP creation (Alaa Hleihel) [1691238] - [netdrv] Revert "net/mlx5e: Enable reporting checksum unnecessary also for L3 packets" (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Rx, Check ip headers sanity (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: FPGA, tls, idr remove on flow delete (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: FPGA, tls, hold rcu read lock a bit longer (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Consider tunnel type for encap contexts (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: E-Switch, Fix esw manager vport indication for more vport commands (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Correctly use the namespace type when allocating pedit action (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: ethtool, Allow legacy link-modes configuration via non-extended ptys (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: ethtool, Fix type analysis of advertised link-mode (Alaa Hleihel) [1691238] - [netdrv] net: mlx5: Add a missing check on idr_find, free buf (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Allow IPv4 ttl & IPv6 hop_limit rewrite for all L4 protocols (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix DCT creation bad flow (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Fix bad flow upon DEVX mkey creation (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Add support for ODP for DEVX indirection mkey (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Manage indirection mkey upon DEVX flow for ODP (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: DEVX handling for indirection MKEY (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Fix access to non-existing receive queue (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Properly get the PF number phys port name ndo (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Consolidate update FTE for all removal changes (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Add a locked flag to node removal functions (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Add modify FTE helper function (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix multiple updates of steering rules in parallel (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Validate correct PD before prefetch MR (Alaa Hleihel) [1691238] - [infiniband] RDMA/mlx5: Introduce and reuse helper to identify ODP MR (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Protect against prefetch of invalid MR (Alaa Hleihel) [1691238] - [infiniband] net/mlx5: Make mlx5_cmd_exec_cb() a safe API (Alaa Hleihel) [1691238] - [infiniband] RDMA: Clean structures from CONFIG_INFINIBAND_ON_DEMAND_PAGING (Alaa Hleihel) [1691238] - [infiniband] RDMA/mlx5: Embed into the code flow the ODP config option (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Add missing static function annotation (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Do not use hw_access_flags for be and CPU data (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix code style issue in mlx driver (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Fix the locking of SRQ objects in ODP events (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Make mlx5_ib_stage_odp_cleanup() static (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Declare local functions 'static' (Alaa Hleihel) [1691238] - [netdrv] RDMA/mlx5: Delete declaration of already removed function (Alaa Hleihel) [1691238] - [netdrv] mlx5-core: Mark ConnectX-6 Dx as unsupported device (Alaa Hleihel) [1691236 1687434] - [netdrv] net/mlx5: Update the list of the PCI supported devices (Alaa Hleihel) [1691236 1687434] - [infiniband] IB/mlx5: Fix mapping of link-mode to IB width and speed (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: ethtool, Add ethtool support for 50Gbps per lane link modes (Alaa Hleihel) [1691236 1683102] - [infiniband] IB/mlx5: Add support for 50Gbps per lane link modes (Alaa Hleihel) [1691236 1683102] - [netdrv] net/mlx5: Add support to ext_* fields introduced in Port Type and Speed register (Alaa Hleihel) [1691236 1683102] - [include] net/mlx5: Add new fields to Port Type and Speed register (Alaa Hleihel) [1691236 1683102] - [netdrv] net/mlx5: Refactor queries to speed fields in Port Type and Speed register (Alaa Hleihel) [1691236 1683102] - [netdrv] net/mlx5e: Set peer flow needed also for multipath (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Update check for merged eswitch device (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Use hint to resolve route when in HW multipath mode (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Always query offloaded tc peer rule counter (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Re-attempt to offload flows on multipath port affinity events (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Emit port affinity event for multipath offloads (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Allow one failure when offloading tc encap rules under multipath (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Don't inherit flow flags on peer flow creation (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Activate HW multipath and handle port affinity based on FIB events (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Add multipath mode (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Use own workqueue for lag netdev events processing (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Expose lag operations in header file (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Use unsigned int bit instead of bool as a struct member (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Don't make internal use of errno to denote missing neigh (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Cleanup attach encap function (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Remove 'parse_attr' argument in mlx5e_tc_add_fdb_flow() (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Introduce mlx5e_flow_esw_attr_init() helper (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Return the allocated flow directly from __mlx5e_add_fdb_flow (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix GRE key by controlling port tunnel entropy calculation (Alaa Hleihel) [1691236 1663240] - [include] net/mlx5: Introduce tunnel entropy control in PCMR register (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5: Use read-modify-write when changing PCMR register values (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Remove wrong and superfluous tc pedit header type check (Alaa Hleihel) [1691236] - [netdrv] drivers: net: use flow action infrastructure (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: support for two independent packet edit actions (Alaa Hleihel) [1691236] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, fix redirect resources availability check (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Fix a compilation warning in events.c (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: No command allowed when command interface is not ready (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix NULL pointer derefernce in set channels error flow (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Don't overwrite pedit action when multiple pedit used (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Update hw flows when encap source mac changed (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Use the inner headers to determine tc/pedit offload limitation on decap flows (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Properly set steering match levels for offloaded TC decap rules (Alaa Hleihel) [1691236 1663207] - [netdrv] net/mlx5e: Unblock setting vid 0 for VFs through the uplink rep (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Move to use common phys port names for vport representors (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Allow MAC invalidation while spoofchk is ON (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Take lock with IRQs disabled to avoid deadlock (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix wrong private flag usage causing checksum disable (Alaa Hleihel) [1691236] - [netdrv] Revert "net/mlx5e: E-Switch, Initialize eswitch only if eswitch manager" (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Fix flow creation on representors (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Fix how advise_mr() launches async work (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Fix check for supported user flags when creating a QP (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix cb_ident duplicate in indirect block register (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix wrong (zero) TX drop counter indication for representor (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix wrong error code return on FEC query failure (Alaa Hleihel) [1691236] - [infiniband] Revert "IB/mlx5: Fix long EEH recover time with NVMe offloads" (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Allow XRC INI usage via verbs in DEVX context (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: drop useless LIST_HEAD (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: fix semicolon.cocci warnings (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Signedness bug in UVERBS_HANDLER() (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Allocate the per-port Q counter shared when DEVX is supported (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Add user control for XDP TX MPWQE feature (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Support Enhanced Multi-Packet TX WQE (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Add array for WQE info descriptors (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Maintain a FIFO structure for xdp_info instances (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Replace boolean doorbell indication with segment pointer (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Warn upon polling an error CQE (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Change the XDP SQ redirect indication (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Precede XDP-related operations in RQ poll by a loaded program check (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: TX, Print opcode in error CQE warning (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Fix wrong error unwind (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Fix long EEH recover time with NVMe offloads (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Simplify netdev unbinding (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use the correct commands for UMEM and UCTX allocation (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use uid as part of alloc/dealloc transport domain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Fix LAG requirement when CONFIG_MLX5_ESWITCH is off (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Fix query_nic_sys_image_guid() error during init (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Support tunnel encap over tagged Ethernet (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Support VLAN encap ETH header generation (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Re-order route and encap header memory allocation (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Tunnel encap ETH header helper function (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Fail attempt to offload e-switch TC encap flows with vlan on underlay (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Tunnel routing output devs helper function (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Fail attempt to offload e-switch TC flows with egress upper devices (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Allow vlans on e-switch uplink reps (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Increase VF representors' SQ size to 128 (Alaa Hleihel) [1691236] - [netdrv] mlx5: extend PTP gettime function to read system clock (Alaa Hleihel) [1691236] - [netdrv] mlx5: update timecounter at least twice per counter overflow (Alaa Hleihel) [1691236] - [include] IB/mlx5: Introduce uid as part of alloc/dealloc transport domain (Alaa Hleihel) [1691236] - [netdrv] drivers: net: ethernet: mellanox: use skb_sec_path helper (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Fix compile issue when ODP disabled (Alaa Hleihel) [1691236] - [include] net/mlx5: Add shared Q counter bits (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Add advise_mr() support (Alaa Hleihel) [1691236 1663248] - [infiniband] IB/uverbs: Add helper to get array size from ptr attribute (Alaa Hleihel) [1691236 1663248] - [infiniband] RDMA/mlx5: Fix function name typo 'fileds' -> 'fields' (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Delete unreachable handle_atomic code by simplifying SW completion (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Continue driver initialization despite debugfs failure (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Add some ethtool port control entries to the uplink rep netdev (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Expose ethtool pause and link functions to mlx5e callers (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Add sriov and udp tunnel ndo support for the uplink rep (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Handle port mtu/link, dcb and lag for uplink reps (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Uninstantiate esw manager vport netdev on switchdev mode (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Remove leftover code from the PF netdev being uplink rep (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Use dedicated uplink vport netdev representor (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Use single argument for the esw representor build params helper (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5: E-Switch, Remove redundant reloading of the IB interface (Alaa Hleihel) [1691236 1663256 1663207] - [netdrv] net/mlx5: Handle LAG FW commands failure gracefully (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Make RoCE and SR-IOV LAG modes explicit (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Rename mlx5_lag_is_bonded() to __mlx5_lag_is_active() (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Allow co-enablement of uplink LAG and SRIOV (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Allow/disallow LAG according to pre-req only (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Adjustments for the activate LAG logic to run under sriov (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: Duplicate offloaded TC eswitch rules under uplink LAG (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: Offload TC e-switch rules with egress LAG device (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: In case of LAG, one switch parent id is used for all representors (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: Enhance flow counter scheme for offloaded TC eswitch rules (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: Infrastructure for duplicated offloading of TC flows (Alaa Hleihel) [1691236 1663230 1663207] - [netdrv] net/mlx5e: E-Switch, Add peer miss rules (Alaa Hleihel) [1691236 1663230 1663207] - [netdrv] net/mlx5: Introduce inter-device communication mechanism (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Fold the modify lag code into function (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Add lag affinity info to log (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Split the activate lag function into two routines (Alaa Hleihel) [1691236 1663230] - [include] net/mlx5: E-Switch, Introduce flow counter affinity (Alaa Hleihel) [1691236 1663230] - [infiniband] IB/mlx5: Unify e-switch representors load approach between uplink and VFs (Alaa Hleihel) [1691236] - [include] net/mlx5: Use lowercase 'X' for hex values (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Remove set but not used variable 'upriv' (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove duplicated include from eswitch.c (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Use monitor counters for update stats (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Monitor counters commands support (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Avoid query PPCNT register if not supported by the device (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Use CQE padding for Ethernet CQs (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Support multiple encapsulations for a TC flow (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5e: Allow association of a flow to multiple encaps (Alaa Hleihel) [1691236 1663239] - [netdrv] net/mlx5e: Change parse attr struct to accommodate multiple tunnel infos (Alaa Hleihel) [1691236 1663239] - [netdrv] net/mlx5e: Support header rewrite actions with remote port mirroring (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5e: Replace the split logic with extended destination (Alaa Hleihel) [1691236 1663239] - [netdrv] net/mlx5e: Annul encap action ordering requirement (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5e: Move flow attr reformat action bit to per dest flags (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5e: Refactor eswitch flow attr for destination specific properties (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5: E-Switch, Rename esw attr mirror count field (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5: Consider encapsulation properties when comparing destinations (Alaa Hleihel) [1691236 1663239] - [infiniband] RDMA/mlx5: Fail early if user tries to create flows on IB representors (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Remove duplicated include from mlx5_ib.h (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Add 2X width support to query_port (Alaa Hleihel) [1691236 1683102] - [infiniband] IB/mlx5: Add HDR speed support to query port (Alaa Hleihel) [1691236 1683102] - [infiniband] IB/mlx5: Report CapabilityMask2 in ib_query_port (Alaa Hleihel) [1691236 1683102] - [netdrv] net/mlx5e: Add GRE protocol offloading (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Move TC tunnel offloading code to separate source file (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Branch according to classified tunnel type (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Refactor VXLAN tunnel decap offloading code (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Refactor VXLAN tunnel encap offloading code (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Replace egdev with indirect block notifications (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Propagate the filter's net device to mlx5e structures (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Provide the TC filter netdev as parameter to flower callbacks (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Support TC indirect block notifications for eswitch uplink reprs (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Store eswitch uplink representor state on a dedicated struct (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5: Remove the get protocol device interface entry (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Support extended destination format in flow steering command (Alaa Hleihel) [1691236 1663239] - [netdrv] net/mlx5: E-Switch, Change vhca id valid bool field to bit flag (Alaa Hleihel) [1691236 1663239 1663207] - [include] net/mlx5: Introduce extended destination fields (Alaa Hleihel) [1691236 1663239] - [infiniband] net/mlx5: Revise gre and nvgre key formats (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5: Add monitor commands layout and event data (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Add support for plugged-disabled cable status in PME (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Add support for PCIe power slot exceeded error in PME (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Rework handling of port module events (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Move flow counters data structures from flow steering header (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use helper to get CQE opcode (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Use helper to get CQE opcode (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: When fetching CQEs return CQE instead of void pointer (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Report packet based credit mode device capability (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Add packet based credit mode support (Alaa Hleihel) [1691236] - [include] net/mlx5: Expose packet based credit mode (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Enable TX on a DEVX flow table (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Improve ethtool private-flags code structure (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: ethtool, Support user configuration for RX hash fields (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Move RSS params to a dedicated struct (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Refactor TIR configuration function (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Move modify tirs hash functionality (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Cleanup unused defines (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Remove trailing space of tx_pause ethtool counter name (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Allow XRC usage via verbs in DEVX context (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Update the supported DEVX commands (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Enforce DEVX privilege by firmware (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Enable modify and query verbs objects via DEVX (Alaa Hleihel) [1691236] - [include] net/mlx5: Update mlx5_ifc with DEVX UCTX capabilities bits (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Unfold modify RMP function (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Unfold create RMP function (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Initialize SRQ tables on mlx5_ib (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Update SRQ functions signatures to mlx5_ib format (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Use stages for callback to setup and release DEVX (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Remove SRQ signature global flag (Alaa Hleihel) [1691236] - [infiniband] net/mlx5: Move SRQ functions to RDMA part (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove references to local mlx5_core functions (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove not-used lib/eq.h header file (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove dead transobj code (Alaa Hleihel) [1691236] - [infiniband] net/mlx5: Align SRQ licenses and copyright information (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Debug print for forwarded async events (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Forward SRQ resource events (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Forward QP/WorkQueues resource events (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove all deprecated software versions of FW events (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Handle raw delay drop general event (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Allow forwarding event type general event as is (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Handle raw port change event rather than the software version (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove unused events callback and logic (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use the new mlx5 core notifier API (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Forward all mlx5 events to mlx5 notifiers chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Use the new mlx5 core notifier API (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Allow port change event to be forwarded to driver notifiers chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Driver events notifier API (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use fragmented QP's buffer for in-kernel users (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use fragmented SRQ's buffer for in-kernel users (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Attach a DEVX counter via raw flow creation (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Improve core device events handling (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Device events, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: CQ ERR, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Resource tables, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: CmdIF, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: FWPage, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: E-Switch, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Clock, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: FPGA, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: FWTrace, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Introduce atomic notifier chain subscription API (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Use the uapi disablement APIs instead of code (Alaa Hleihel) [1691236] - [infiniband] RDMA/uverbs: Use a linear list to describe the compiled-in uapi (Alaa Hleihel) [1691236] - [netdrv] mlx5: use skb_vlan_tag_get_prio() (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Allow modify AV in DCI QP to RTR (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Make EQE access methods inline (Alaa Hleihel) [1691236] - [netdrv] {net, IB}/mlx5: Move Page fault EQ and ODP logic to RDMA (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Generic EQ (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Different EQ types (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Privatize eq_table and friends (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, irq_info and rmap belong to eq_table (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Create all EQs in one place (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Move all EQ logic to eq.c (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Remove redundant completion EQ list lock (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, No need to store eq index as a field (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Remove unused fields and structures (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Use the right place to store/read IRQ affinity hint (Alaa Hleihel) [1691236] - [include] net/mlx5: Fix offsets of ifc reserved fields (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Remove the false indication of software timestamping support (Alaa Hleihel) [1691234 1647734] - [netdrv] net/mlx5: Typo fix in del_sw_hw_rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: RX, Fix wrong early return in receive queue poll (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Cancel DIM work on close SQ (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Remove unused UDP GSO remaining counter (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Avoid encap flows deletion attempt the 1st time a neigh is resolved (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Properly initialize flow attributes for slow path eswitch rule deletion (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Avoid overriding the user provided priority for offloaded tc rules (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Err if asked to mirror a goto chain tc eswitch rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Fix default amount of channels for VF representors (Alaa Hleihel) [1691234] - [include] net/mlx5: E-Switch, Fix fdb cap bits swap (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Block DEVX umem from the non applicable cases (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Fix XRC QP support after introducing extended atomic (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Fix failing ethtool query on FEC query error (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Fix wrong field name in FEC related functions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Fix a bug in turning off FEC policy in unsupported speeds (Alaa Hleihel) [1691234] - [include] net/mlx5: Fix XRC SRQ umem valid bits (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Allocate enough space for the FDB sub-namespaces (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Added 'raw_errors_laneX' fields to ethtool statistics (Alaa Hleihel) [1691234] - [include] net/mlx5: Added "per_lane_error_counters" cap bit to PCAM (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Ethtool driver callback for query/set FEC policy (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Add port FEC get/set functions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add FEC fields to Port Phy Link Mode (PPLM) reg (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Remove counter from idr after removing it from list (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Take fs_counters dellist before addlist (Alaa Hleihel) [1691234] - [infiniband] net/mlx5: Refactor fragmented buffer struct fields and init flow (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Support offloading tc priorities and chains for eswitch flows (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Use a slow path rule instead if vxlan neighbour isn't available (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Enable setting goto slow path chain action (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Avoid duplicated code for tc offloads add/del fdb rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: For TC offloads, always add new flow instead of appending the actions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add a no-append flow insertion mode (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Add chains and priorities (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Have explicit API to delete fwd rules (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Split FDB fast path prio to multiple namespaces (Alaa Hleihel) [1691234] - [include] net/mlx5: Add cap bits for multi fdb encap (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Split TC add rule path for nic vs e-switch (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Change return type of tc add flow functions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Use flow counter IDs and not the wrapping cache object (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Get counters for offloaded flows from callers (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Add support for extended atomic operations (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Allow scatter to CQE without global signaled WRs (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Verify that driver supports user flags (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Support scatter to CQE for DC transport type (Alaa Hleihel) [1691234] - [include] net/mlx5: Expose DC scatter to CQE capability bit (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Add support for flow tag to raw create flow (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Verify DEVX object type (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Add new counter for aRFS rule insertion failures (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Add extack messages for TC offload failures (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: E-Switch, Add extack messages to devlink callbacks (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Allow reporting of checksum unnecessary (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Enable reporting checksum unnecessary also for L3 packets (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Add ethtool control of ring params to VF representors (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Enable multi-queue and RSS for VF representors (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Expose ethtool rss key size / indirection table functions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Expose function for building RSS params (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Provide explicit directive if to create inner indirect tirs (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Provide flow dest when creating vport rx rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Extract creation of rep's default flow rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Enable stateless offloads for VF representor netdevs (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Change VF representors' RQ type (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Ethtool steering, Support masks for l3/l4 filters (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Enable DEVX on IB (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Enable DEVX white list commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Manage device uid for DEVX white list commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Expose RAW QP device handles to user space (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set valid umem bit on DEVX (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of TD commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of XRCD commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of CQ creation (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid upon PD allocation (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of RQT commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of TIS commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of TIR commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of MCG commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of DCT commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of SRQ commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of SQ commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of RQ commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of QP creation (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Use uid as part of PD commands (Alaa Hleihel) [1691234] - [include] net/mlx5: Update mlx5_ifc with DEVX UID bits (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of DCT commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of SRQ commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of SQ commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of RQ commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of QP commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of CQ commands (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Enable vport loopback when user context or QP mandate (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Allow creating RAW ethernet QP with loopback support (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Refactor transport domain bookkeeping logic (Alaa Hleihel) [1691234] - [infiniband] net/mlx5: Rename incorrect naming in IFC file (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Use rdma_user_mmap_io (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Allow creating a matcher for a NIC TX flow table (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add NIC TX namespace when getting a flow table (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add flow actions support to raw create flow (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Refactor raw flow creation (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Don't overwrite action if already set (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Refactor flow action parsing to be more generic (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable attaching packet reformat action to steering flows (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable reformat on NIC RX if supported (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable attaching DECAP action to steering flows (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable decap and packet reformat on flow tables (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable attaching modify header to steering flows (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add NIC TX steering support (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5e: Replace PTP clock lock from RW lock to seq lock (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Move Q counters allocation and drop RQ to init_rx (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add flow counters idr (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Store flow counters in a list (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add new list to store deleted flow counters (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Change flow counters addlist type to single linked list (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Extend packet reformat verbs (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add new flow action verb - packet reformat (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/uverbs: Add generic function to fill in flow action object (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add a new flow action verb - modify header (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Export packet reformat alloc/dealloc functions (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Pass a namespace for packet reformat ID allocation (Alaa Hleihel) [1691234 1663215] - [include] net/mlx5: Expose new packet reformat capabilities (Alaa Hleihel) [1691234 1663215] - [netdrv] {net, RDMA}/mlx5: Rename encap to reformat packet (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Move header encap type to IFC header file (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Break encap/decap into two separated flow table creation flags (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Add support for more namespaces when allocating modify header (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Export modify header alloc/dealloc functions (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Add proper NIC TX steering flow tables support (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Cleanup flow namespace getter switch logic (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Change TX affinity assignment in RoCE LAG mode (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add memic command opcode to command checker (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Destroy the DEVX object upon error flow (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, Read capabilities only when it is safe (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering, fix udp source port value (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Improve argument name for add flow API (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering, l4 proto support (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering, ip6 support (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering flow parsing refactoring (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering flow validation refactoring (Alaa Hleihel) [1691231] - [infiniband] IB/uverbs: Use uverbs_alloc for allocations (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Unexport functions that need not be exported (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Remove unused mlx5_query_vport_admin_state (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: E-Switch, Remove unused argument when creating legacy FDB (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Rename modify/query_vport state related enums (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Mark expected switch fall-throughs (Alaa Hleihel) [1691231] - [netdrv] mellanox: fix the dport endianness in call of __inet6_lookup_established() (Alaa Hleihel) [1691231] - [netdrv] mlx5: handle DMA mapping error case for XDP redirect (Alaa Hleihel) [1691231] - [infiniband] IB/uverbs: Add UVERBS_ATTR_FLAGS_IN to the specs language (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Issue direct lookup on vxlan ports by vport representors (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TX, Use function to access sq_dma object in fifo (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TX, Move DB fields in TXQ-SQ struct (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Add support for XDP_REDIRECT in device-out side (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Re-order fields of struct mlx5e_xdpsq (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Refactor XDP counters (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Make XDP xmit functions more generic (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Add counter for XDP redirect in RX (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Enable driver uapi commands for flow steering (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Add support for a flow table destination for driver flow steering (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Support adding flow steering rule by raw description (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Introduce driver create and destroy flow methods (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Introduce flow steering matcher uapi object (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Add support for flow table destination number (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Add forward compatible support for the FTE match data (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Support offloading double vlan push/pop tc actions (Alaa Hleihel) [1691231 1615127] - [netdrv] net/mlx5e: Refactor tc vlan push/pop actions offloading (Alaa Hleihel) [1691231 1615127] - [netdrv] net/mlx5e: Support offloading tc double vlan headers match (Alaa Hleihel) [1691231 1615127] - [netdrv] net/mlx5: FW tracer, Add debug prints (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, Enable tracing (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, parse traces and kernel tracing support (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, events handling (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, register log buffer memory key (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, create trace buffer and copy strings database (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, implement tracer logic (Alaa Hleihel) [1691231] - [infiniband] RDMA/mlx5: Remove set but not used variables (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Add XRQ commands definitions (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Add core support for double vlan push/pop steering action (Alaa Hleihel) [1691231 1615127] - [netdrv] net/mlx5: Expose MPEGC (Management PCIe General Configuration) structures (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, add hardware structures (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: fix an unused-function warning (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: IPsec, fix byte count in CQE (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Accel, add common metadata functions (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, build TLS netdev from capabilities (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, add software statistics (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, add Innova TLS rx data path (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, add innova rx support (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Accel, add TLS rx offload routines (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, refactor variable names (Alaa Hleihel) [1691231] - [infiniband] RDMA/mlx5: Check that supplied blue flame index doesn't overflow (Alaa Hleihel) [1691231] - [infiniband] RDMA/mlx5: Melt consecutive calls to alloc_bfreg() in one call (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Use 2-factor allocator calls (Alaa Hleihel) [1691231] - [infiniband] RDMA/mlx5: Remove unused port number parameter (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Expose dump and fill memory key (Alaa Hleihel) [1691231] - [include] net/mlx5: Add hardware definitions for dump_fill_mkey (Alaa Hleihel) [1691231] - [infiniband] net/mlx5: Limit scope of dump_fill_mkey function (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Add support for drain SQ & RQ (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Support RoCE ICRC encapsulated error counter (Alaa Hleihel) [1691231 1663195] - [include] net/mlx5: Add RoCE RX ICRC encapsulated counter (Alaa Hleihel) [1691231 1663195] - [infiniband] RDMA/mlx5: Refactor transport domain checks (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Expose DEVX tree (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add DEVX query EQN support (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add DEVX support for memory registration (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add support for DEVX query UAR (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add DEVX support for modify and query commands (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add obj create and destroy functionality (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add support for DEVX general command (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Introduce DEVX (Alaa Hleihel) [1691231 1663190] - [netdrv] net/mlx5: Expose DEVX specification (Alaa Hleihel) [1691231]- [virt] kvm: arm/arm64: Don't emulate virtual timers on userspace ioctls (Andrew Jones) [1716066] - [virt] kvm: arm/arm64: Remove unused timer variable (Andrew Jones) [1716066] - [virt] kvm: arm/arm64: Rework the timer code to use a timer_map (Andrew Jones) [1716066] - [powerpc] powernv: Fix compile without CONFIG_TRACEPOINTS (David Gibson) [1524674] - [virt] kvm: ppc: book3s: Remove useless checks in 'release' method of KVM device (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Clear escalation interrupt pointers on device close (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Prevent races when releasing device (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Replace the 'destroy' method by a 'release' method (David Gibson) [1524674] - [virt] kvm: Introduce a 'release' method for KVM devices (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Activate XIVE exploitation mode (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add passthrough support (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a mapping for the source ESB pages (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a TIMA mapping (David Gibson) [1524674] - [virt] kvm: Introduce a 'mmap' method for KVM devices (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add get/set accessors for the VP XIVE state (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a control to dirty the XIVE EQ pages (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a control to sync the sources (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a global reset control (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add controls for the EQ configuration (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a control to configure a source (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: add a control to initialize a source (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Introduce a new capability KVM_CAP_PPC_IRQ_XIVE (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: Add a new KVM device for the XIVE native exploitation mode (David Gibson) [1524674] - [powerpc] xive: add OPAL extensions for the XIVE native exploitation support (David Gibson) [1524674] - [powerpc] powernv: move OPAL call wrapper tracing and interrupt handling to C (David Gibson) [1524674] - [thermal] thermal/intel_powerclamp: fix truncated kthread name (Lihong Yang) [1716810] - [kernel] kernel/signal.c: trace_signal_deliver when signal_group_exit (Waiman Long) [1548279] - [kernel] signal: unconditionally leave the frozen state in ptrace_stop() (Waiman Long) [1548279] - [kernel] cgroup: never call do_group_exit() with task->frozen bit set (Waiman Long) [1548279] - [kernel] kernel: cgroup: fix misuse of x (Waiman Long) [1548279] - [kernel] cgroup: get rid of cgroup_freezer_frozen_exit() (Waiman Long) [1548279] - [kernel] cgroup: prevent spurious transition into non-frozen state (Waiman Long) [1548279] - [kernel] cgroup: Remove unused cgrp variable (Waiman Long) [1548279] - [documentation] cgroup: document cgroup v2 freezer interface (Waiman Long) [1548279] - [kernel] cgroup: add tracing points for cgroup v2 freezer (Waiman Long) [1548279] - [kernel] cgroup: make TRACE_CGROUP_PATH irq-safe (Waiman Long) [1548279] - [tools] kselftests: cgroup: don't fail on cg_kill_all() error in cg_destroy() (Waiman Long) [1548279] - [kernel] cgroup: cgroup v2 freezer (Waiman Long) [1548279] - [kernel] cgroup: protect cgroup->nr_(dying_)descendants by css_set_lock (Waiman Long) [1548279] - [kernel] cgroup: implement __cgroup_task_count() helper (Waiman Long) [1548279] - [kernel] cgroup: rename freezer.c into legacy_freezer.c (Waiman Long) [1548279] - [kernel] cgroup: remove extra cgroup_migrate_finish() call (Waiman Long) [1548279] - [kernel] cgroup/cpuset: Update stale generate_sched_domains() comments (Waiman Long) [1548279] - [kernel] cgroup: saner refcounting for cgroup_root (Waiman Long) [1548279] - [fs] fix cgroup_do_mount() handling of failure exits (Waiman Long) [1548279] - [kernel] cgroup: Add named hierarchy disabling to cgroup_no_v1 boot param (Waiman Long) [1548279] - [kernel] cgroup: fix parsing empty mount option string (Waiman Long) [1548279] - [kernel] cgroup: fix CSS_TASK_ITER_PROCS (Waiman Long) [1548279] - [kernel] cgroup: Fix dom_cgrp propagation when enabling threaded mode (Waiman Long) [1548279] - [lib] lib: objagg: fix handling of object with 0 users when assembling hints (Ivan Vecera) [1704850] - [lib] test_objagg: Uninitialized variable in error handling (Ivan Vecera) [1704850] - [lib] test_objagg: Test the correct variable (Ivan Vecera) [1704850] - [lib] lib: objagg: Fix an error code in objagg_hints_get() (Ivan Vecera) [1704850] - [lib] lib: objagg: add root count to stats (Ivan Vecera) [1704850] - [lib] lib: objagg: implement optimization hints assembly and use hints for object creation (Ivan Vecera) [1704850] - [lib] lib: objagg: fix typo in objagg_stats_put() docstring (Ivan Vecera) [1704850] - [lib] lib: introduce initial implementation of object aggregation manager (Ivan Vecera) [1704850] - [netdrv] ibmvnic: Fix unchecked return codes of memory allocations (Steve Best) [1718919] - [netdrv] ibmvnic: Refresh device multicast list after reset (Steve Best) [1718919] - [netdrv] ibmvnic: Do not close unopened driver during reset (Steve Best) [1718919] - [target] scsi: target: tcmu: Switch to bitmap_zalloc() (Maurizio Lombardi) [1712917] - [target] scsi: target: tcmu: wait for nl reply only if there are listeners or during an add (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Simplify iscsit_handle_text_cmd() (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Simplify iscsit_dump_data_payload() (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Rename a function and a function pointer (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Fix spelling of "unsolicited" (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Convert comments about locking into runtime checks (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Remove an incorrect comment (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Add target_send_busy() (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Inline transport_lun_remove_cmd() (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Simplify the LUN RESET implementation (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Remove several state tests from the TMF code (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Remove the write_pending_status() callback function (Maurizio Lombardi) [1712917] - [target] scsi: target: make the pi_prot_format ConfigFS path readable (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: fix use after free (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: avoid cmd/qfull timers updated whenever a new cmd comes (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: fix error msg typo when create lio_qr_cache failed (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use kmem_cache_free() instead of kfree() (Maurizio Lombardi) [1712917] - [target] scsi: target: perform t10_wwn ID initialisation in target_alloc_device() (Maurizio Lombardi) [1712917] - [target] scsi: target: remove hardcoded T10 Vendor ID in INQUIRY response (Maurizio Lombardi) [1712917] - [target] scsi: target: add device vendor_id configfs attribute (Maurizio Lombardi) [1712917] - [target] scsi: target: consistently null-terminate t10_wwn strings (Maurizio Lombardi) [1712917] - [target] scsi: target: use consistent left-aligned ASCII INQUIRY data (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Reduce the amount of code executed with a spinlock held (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Make ABORT and LUN RESET handling synchronous (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Fix TAS handling for aborted commands (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Simplify the code for aborting SCSI commands (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Make it possible to wait from more than one context for command completion (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use system workqueues for TMF (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Make sure that target_wait_for_sess_cmds() waits long enough (Maurizio Lombardi) [1712917] - [target] scsi: target: Fix target_wait_for_sess_cmds breakage with active signals (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Simplify transport_clear_lun_ref() (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use kvcalloc() instead of open-coding it (Maurizio Lombardi) [1712917] - [target] scsi: target/tcmu: Fix queue_cmd_ring() declaration (Maurizio Lombardi) [1712917] - [target] scsi: target: replace fabric_ops.name with fabric_alias (Maurizio Lombardi) [1712917] - [target] scsi: target: drop unnecessary get_fabric_name() accessor from fabric_ops (Maurizio Lombardi) [1712917] - [target] scsi: target: drop unused pi_prot_format attribute storage (Maurizio Lombardi) [1712917] - [target] scsi: target: add emulate_pr backstore attr to toggle PR support (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Avoid that a kernel oops is triggered when COMPARE AND WRITE fails (Maurizio Lombardi) [1712917] - [target] scsi: target: Don't request modules that aren't even built (Maurizio Lombardi) [1712917] - [target] scsi: target: Set response length for REPORT TARGET PORT GROUPS (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Always call transport_complete_callback() upon failure (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use sg_alloc_table() instead of open-coding it (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use the SECTOR_SHIFT constant (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Remove the SCF_COMPARE_AND_WRITE_POST flag (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Remove an unused data member from struct xcopy_pt_cmd (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Fix spelling in two source code comments (Maurizio Lombardi) [1712917] - [target] scsi: target: stash sess_err_stats on Data-Out timeout (Maurizio Lombardi) [1712917] - [target] scsi: target: split out helper for cxn timeout error stashing (Maurizio Lombardi) [1712917] - [target] scsi: target: log NOP ping timeouts as errors (Maurizio Lombardi) [1712917] - [target] scsi: target: log Data-Out timeouts as errors (Maurizio Lombardi) [1712917] - [include] scsi: target: use ISCSI_IQN_LEN in iscsi_target_stat (Maurizio Lombardi) [1712917] - [target] scsi: target: iblock: split T10 PI SGL across command bios (Maurizio Lombardi) [1712917] - [target] scsi: iscsi: target: fix spelling mistake "entires" -> "entries" (Maurizio Lombardi) [1712917] - [target] scsi: iscsi: target: Fix conn_ops double free (Maurizio Lombardi) [1712917] - [target] scsi: iscsi: target: Set conn->sess to NULL when iscsi_login_set_conn_values fails (Maurizio Lombardi) [1712917] - [target] scsi: target: loop, usb, vhost, xen: use target_remove_session (Maurizio Lombardi) [1712917] - [target] scsi: tcm_fc: use target_remove_session (Maurizio Lombardi) [1712917] - [target] scsi: target: make transport_init_session_tags static (Maurizio Lombardi) [1712917] - [target] scsi: iscsi target: have iscsit_start_nopin_timer call __iscsit_start_nopin_timer (Maurizio Lombardi) [1712917] - [target] scsi: target: fix __transport_register_session locking (Maurizio Lombardi) [1712917] - [target] Revert "scsi: target/iscsi: Reduce number of __iscsit_free_cmd() callers" (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: use u64 for dev_size (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: use match_int for dev params (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: do not set max_blocks if data_bitmap has been setup (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: unmap if dev is configured (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: check if dev is configured before block/reset (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: use lio core se_device configuration helper (Maurizio Lombardi) [1712917] - [target] scsi: target: add helper to check if dev is configured (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: initialize list head (Maurizio Lombardi) [1712917] - [target] scsi: target_core_user: fix double unlock (Maurizio Lombardi) [1712917] - [target] scsi: target: Remove se_dev_entry.ua_count (Maurizio Lombardi) [1712917] - [target] scsi: target: Fix handling of removed LUNs (Maurizio Lombardi) [1712917] - [target] scsi: target: Send unit attention condition even if the sense buffer is too small (Maurizio Lombardi) [1712917] - [target] scsi: target: Do not duplicate the code that marks that a command has sense data (Maurizio Lombardi) [1712917] - [target] scsi: target/tcm_loop: Avoid that static checkers warn about dead code (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Reduce number of __iscsit_free_cmd() callers (Maurizio Lombardi) [1712917] - [target] scsi: target: Simplify the code for waiting for command completion (Maurizio Lombardi) [1712917] - [target] scsi: target: Simplify transport_generic_free_cmd() (2/2) (Maurizio Lombardi) [1712917] - [target] scsi: target: Simplify transport_generic_free_cmd() (1/2) (Maurizio Lombardi) [1712917] - [target] scsi: target: Fold core_tmr_handle_tas_abort() into transport_cmd_finish_abort() (Maurizio Lombardi) [1712917] - [target] scsi: target: Simplify core_tmr_handle_tas_abort() (Maurizio Lombardi) [1712917] - [target] scsi: target: Document when CMD_T_STOP and CMD_T_COMPLETE are set (Maurizio Lombardi) [1712917] - [target] scsi: target: Make the session shutdown code also wait for commands that are being aborted (Maurizio Lombardi) [1712917] - [target] scsi: target: Introduce transport_init_session() (Maurizio Lombardi) [1712917] - [target] scsi: target: Rename transport_init_session() into transport_alloc_session() (Maurizio Lombardi) [1712917] - [target] scsi: target: Move a list_del_init() statement (Maurizio Lombardi) [1712917] - [target] scsi: target: Avoid that EXTENDED COPY commands trigger lock inversion (Maurizio Lombardi) [1712917] - [target] scsi: target: Use config_item_name() instead of open-coding it (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: Don't pass KERN_ERR to pr_err (Maurizio Lombardi) [1712917] - [target] scsi: target: remove target_find_device (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: add module wide block/reset_netlink support (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: misc nl code cleanup (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: simplify nl interface (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: track nl commands (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: delete unused __wait (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: remove useless code and clean up the code style (Maurizio Lombardi) [1712917]- [ipc] ipc: do cyclic id allocation for the ipc object. (Waiman Long) [1710480] - [ipc] ipc: conserve sequence numbers in ipcmni_extend mode (Waiman Long) [1710480] - [ipc] ipc: allow boot time extension of IPCMNI from 32k to 16M (Waiman Long) [1710480] - [ipc] ipc/mqueue: optimize msg_get() (Waiman Long) [1710480] - [ipc] ipc/mqueue: remove redundant wq task assignment (Waiman Long) [1710480] - [ipc] ipc: prevent lockup on alloc_msg and free_msg (Waiman Long) [1710480] - [ipc] ipc: IPCMNI limit check for semmni (Waiman Long) [1710480] - [ipc] ipc: IPCMNI limit check for msgmni and shmmni (Waiman Long) [1710480] - [ipc] ipc/shm.c: use ERR_CAST() for shm_lock() error return (Waiman Long) [1710480] - [ipc] ipc/shm: properly return EIDRM in shm_lock() (Waiman Long) [1710480] - [ipc] ipc/util.c: update return value of ipc_getref from int to bool (Waiman Long) [1710480] - [ipc] ipc/util.c: further variable name cleanups (Waiman Long) [1710480] - [ipc] ipc: simplify ipc initialization (Waiman Long) [1710480] - [ipc] ipc: get rid of ids->tables_initialized hack (Waiman Long) [1710480] - [lib] lib/rhashtable: guarantee initial hashtable allocation (Waiman Long) [1710480] - [lib] lib/rhashtable: simplify bucket_table_alloc() (Waiman Long) [1710480] - [ipc] ipc: drop ipc_lock() (Waiman Long) [1710480] - [ipc] ipc/util.c: correct comment in ipc_obtain_object_check (Waiman Long) [1710480] - [ipc] ipc: rename ipcctl_pre_down_nolock() (Waiman Long) [1710480] - [ipc] ipc/util.c: use ipc_rcu_putref() for failues in ipc_addid() (Waiman Long) [1710480] - [ipc] ipc: reorganize initialization of kern_ipc_perm.seq (Waiman Long) [1710480] - [ipc] ipc: compute kern_ipc_perm.id under the ipc lock (Waiman Long) [1710480] - [x86] x86/speculation/mds: Improve CPU buffer clear documentation (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Revert CPU buffer clear on double fault exit (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add 'mitigations=' support for MDS (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [s390] s390/speculation: Support 'mitigations=' cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [powerpc] powerpc/speculation: Support 'mitigations=' cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [mm] x86/speculation: Support 'mitigations=' cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [kernel] cpu/speculation: Add 'mitigations=' cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/speculation/mds: Fix documentation typo (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] Documentation: Correct the possible MDS sysfs values (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/mds: Add MDSUM variant to the MDS documentation (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Print SMT vulnerable on MSBDS with mitigations off (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Fix comment (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add SMT warning message (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation: Move arch_smt_update() call to after mitigation decisions (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/speculation/mds: Add mds=full,nosmt cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] Documentation: Add MDS vulnerability documentation (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] documentation: Move L1TF to separate directory (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add mitigation mode VMWERV (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [base] x86/speculation/mds: Add sysfs reporting for MDS (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add mitigation control for MDS (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Conditionally clear CPU buffers on idle entry (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [kvm] x86/kvm/vmx: Add MDS protection when L1D Flush is not active (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Clear CPU buffers on exit to user (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/speculation/mds: Add mds_clear_cpu_buffers() (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [kvm] x86/kvm: Expose X86_FEATURE_MD_CLEAR to guests (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add BUG_MSBDS_ONLY (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add basic bug infrastructure for MDS (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation: Consolidate CPU whitelists (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [tools] x86/msr-index: Cleanup bit defines (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation: Cast ~SPEC_CTRL_STIBP atomic value to int (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [tools] tools power x86_energy_perf_policy: Override CFLAGS assignments and add LDFLAGS to build command (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [scsi] scsi: qla2xxx: Fix read offset in qla24xx_load_risc_flash() (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Simplify conditional check again (Himanshu Madhani) [1665555] - [scsi] qla2xxx: Update driver version to 10.01.00.15.08.1-k (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Secure flash update support for ISP28XX (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add 28xx flash primary/secondary status/image mechanism (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Simplification of register address used in qla_tmpl.c (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Correction and improvement to fwdt processing (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Update flash read/write routine (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add support for multiple fwdump templates/segments (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Cleanups for NVRAM/Flash read/write path (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Correctly report max/min supported speeds (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add Serdes support for ISP28XX (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add Device ID for ISP28XX (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Fix routine qla27xx_dump_{mpi|ram}() (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Remove FW default template (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add fw_attr and port_no SysFS node (Himanshu Madhani) [1665555] - [netdrv] e1000e: Disable runtime PM on CNP+ (David Arcari) [1659179] - [netdrv] intel: correct return from set features callback (David Arcari) [1659179] - [netdrv] e1000e: Fix -Wformat-truncation warnings (David Arcari) [1659179] - [netdrv] e1000e: fix cyclic resets at link up with active tx (David Arcari) [1659179] - [netdrv] e1000e: fix a missing check for return value (David Arcari) [1659179] - [netdrv] e1000e: Exclude device from suspend direct complete optimization (David Arcari) [1659179] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (David Arcari) [1659179] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (David Arcari) [1659179] - [netdrv] e1000e: extend PTP gettime function to read system clock (David Arcari) [1659179] - [netdrv] e1000e: allow non-monotonic SYSTIM readings (David Arcari) [1659179] - [netdrv] intel-ethernet: use correct module license (David Arcari) [1659179] - [kernel] sched/cpufreq: Fix kobject memleak (Phil Auld) [1714719] - [kernel] sched/core: Check quota and period overflow at usec to nsec conversion (Phil Auld) [1714719] - [kernel] sched/core: Handle overflow in cpu_shares_write_u64 (Phil Auld) [1714719] - [kernel] sched/rt: Check integer overflow at usec to nsec conversion (Phil Auld) [1714719] - [base] arch_topology: Make cpu_capacity sysfs node as read-only (Phil Auld) [1714719] - [x86] sched/x86: Save [ER]FLAGS on context switch (Phil Auld) [1714719] - [kernel] sched/fair: Remove setting task's se->runnable_weight during PELT update (Phil Auld) [1714719] - [kernel] sched/fair: Disable LB_BIAS by default (Phil Auld) [1714719] - [arm64] sched/topology, arch/arm64: Rebuild the sched_domain hierarchy when the CPU capacity changes (Phil Auld) [1714719] - [base] sched/topology, drivers/base/arch_topology: Rebuild the sched_domain hierarchy when capacities change (Phil Auld) [1714719] - [kernel] sched/topology: Add SD_ASYM_CPUCAPACITY flag detection (Phil Auld) [1714719] - [kernel] sched/fair: Fix load_balance redo for !imbalance (Phil Auld) [1714719] - [tools] cpupower : frequency-set -r option misses the last cpu in related cpu list (Steve Best) [1717841] - [kernel] Uprobes: Fix kernel oops with delayed_uprobe_remove() (Gustavo Duarte) [1608798] - [kernel] trace_uprobe/sdt: Prevent multiple reference counter for same uprobe (Gustavo Duarte) [1608798] - [kernel] uprobes/sdt: Prevent multiple reference counter for same uprobe (Gustavo Duarte) [1608798] - [kernel] uprobes: Support SDT markers having reference count (semaphore) (Gustavo Duarte) [1608798] - [kernel] Uprobe: Additional argument arch_uprobe to uprobe_write_opcode() (Gustavo Duarte) [1608798] - [kernel] Uprobes: Simplify uprobe_register() body (Gustavo Duarte) [1608798] - [pci] PCI: Rework pcie_retrain_link() wait loop (Myron Stowe) [1707902] - [pci] PCI: Work around Pericom PCIe-to-PCI bridge Retrain Link erratum (Myron Stowe) [1707902] - [pci] PCI: Factor out pcie_retrain_link() function (Myron Stowe) [1707902] - [tools] selftests/powerpc: Fix strncpy usage (Diego Domingos) [1662372] - [tools] selftests: Fix test errors related to lib.mk khdr target (Diego Domingos) [1662372] - [nvme] nvme-fc: use separate work queue to avoid warning (Ewan Milne) [1715135] - [scsi] scsi: scsi_transport_fc: nvme: display FC-NVMe port roles (Ewan Milne) [1715135] - [nvme] nvme-fc: correct csn initialization and increments on error (Ewan Milne) [1715135] - [nvme] nvme-multipath: avoid crash on invalid subsystem cntlid enumeration (Ewan Milne) [1715135] - [nvme] nvme-multipath: don't print ANA group state by default (Ewan Milne) [1715135] - [nvme] nvme-multipath: split bios with the ns_head bio_set before submitting (Ewan Milne) [1715135] - [nvme] nvme-multipath: relax ANA state check (Ewan Milne) [1715135] - [drm] drm/i915: Bump gen7+ fb size limits to 16kx16k (Lyude Paul) [1664969] - [drm] drm/i915: Bump fb stride limit to 128KiB for gen4+ and 256KiB for gen7+ (Lyude Paul) [1664969] - [drm] drm/i915: Align dumb buffer stride to 4k to allow for gtt remapping (Lyude Paul) [1664969] - [drm] drm/i915: Overcome display engine stride limits via GTT remapping (Lyude Paul) [1664969] - [drm] drm/i915: Shuffle stride checking code around (Lyude Paul) [1664969] - [drm] drm/i915/selftests: Add live vma selftest (Lyude Paul) [1664969] - [drm] drm/i915/selftests: Add mock selftest for remapped vmas (Lyude Paul) [1664969] - [drm] drm/i915: Add a new "remapped" gtt_view (Lyude Paul) [1664969] - [md] dax: Arrange for dax_supported check to span multiple devices (Jeff Moyer) [1665364] - [mm] mm/memory_hotplug.c: drop memory device reference after find_memory_block() (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: Retain security state after overwrite (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm/pmem: fix a possible OOB access when read and write pmem (Jeff Moyer) [1665367 1665364 1665362] - [acpi] libnvdimm/security, acpi/nfit: unify zero-key for all security commands (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm/security: provide fix for secure-erase to use zero-key (Jeff Moyer) [1665367 1665364 1665362 1584976] - [mm] mm/memory.c: fix modifying of page protection by insert_pfn() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/btt: Fix a kmemdup failure check (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/namespace: Fix a potential NULL pointer dereference (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Always dump _DSM output payload (Jeff Moyer) [1665367 1665364 1665362] - [fs] fs/dax: Deposit pagetable even when installing zero page (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/namespace: Clean up holder_class_store() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/of_pmem: Fix platform_no_drv_owner.cocci warnings (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Update NFIT flags error message (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/btt: Fix LBA masking during 'free list' population (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/btt: Remove unnecessary code in btt_freelist_init (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/pfn: Remove dax_label_reserve (Jeff Moyer) [1665367 1665364 1665362] - [drivers] dax: Check the end of the block-device capacity with dax_direct_access() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Avoid stale ARS results (Jeff Moyer) [1697175 1665367 1665364 1665362] - [acpi] nfit/ars: Allow root to busy-poll the ARS state machine (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Introduce scrub_flags (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Remove ars_start_flags (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Attempt short-ARS even in the no_init_ars case (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Attempt a short-ARS whenever the ARS state is idle at boot (Jeff Moyer) [1697194 1665367 1665364 1665362] - [fs] fs/dax: NIT fix comment regarding start/end vs range (Jeff Moyer) [1665367 1665364 1665362] - [fs] fs/dax: Convert to use vmf_error() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Require opt-in for read-only label configurations (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/pmem: Honor force_raw for legacy pmem regions (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/pfn: Account for PAGE_SIZE > info-block-size in nd_pfn_init() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm: Fix altmap reservation size calculation (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, pfn: Fix over-trim in trim_pfn_device() (Jeff Moyer) [1665367 1665364 1665362 1662227] - [nvdimm] libnvdimm/dimm: Add a no-BLK quirk based on NVDIMM family (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit: Add Hyper-V NVDIMM DSM command set to white list (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit: acpi_nfit_ctl(): Check out_obj->type in the right place (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit: Fix nfit_intel_shutdown_status() command submission (Jeff Moyer) [1665367 1665364 1665362 1662217] - [nvdimm] libnvdimm/security: Require nvdimm_security_setup_events() to succeed (Jeff Moyer) [1665367 1665364 1665362 1584976] - [tools] nfit_test: fix security state pull for nvdimm security nfit_test (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm/security: Fix nvdimm_security_state() state request selection (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm/label: Clear 'updating' flag after label-set update (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Remove duplicate set nd_set in acpi_nfit_init_interleave_set() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Fix race accessing memdev in nfit_get_smbios_id() (Jeff Moyer) [1665367 1665364 1665362] - [include] libnvdimm/dimm: Fix security capability detection for non-Intel NVDIMMs (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] nfit: Mark some functions as __maybe_unused (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] ACPI/nfit: delete the function to_acpi_nfit_desc (Jeff Moyer) [1665367 1665364 1665362] - [acpi] ACPI/nfit: delete the redundant header file (Jeff Moyer) [1665367 1665364 1665362] - [kernel] mm, devm_memremap_pages: add MEMORY_DEVICE_PRIVATE support (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] mm, devm_memremap_pages: fix shutdown handling (Jeff Moyer) [1665367 1665364 1665362] - [kernel] mm, devm_memremap_pages: kill mapping "System RAM" support (Jeff Moyer) [1665367 1665364 1665362] - [kernel] mm, devm_memremap_pages: mark devm_memremap_pages() EXPORT_SYMBOL_GPL (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/security: Quiet security operations (Jeff Moyer) [1665367 1665364 1665362 1584976] - [documentation] libnvdimm/security: Add documentation for nvdimm security support (Jeff Moyer) [1665367 1665364 1665362 1584976] - [tools] tools/testing/nvdimm: add Intel DSM 1.8 support for nfit_test (Jeff Moyer) [1665367 1665364 1665362 1584976] - [tools] tools/testing/nvdimm: Add overwrite support for nfit_test (Jeff Moyer) [1665367 1665364 1665362 1584976] - [tools] tools/testing/nvdimm: Add test support for Intel nvdimm security DSMs (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm/security: add Intel DSM 1.8 master passphrase support (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm/security: Add security DSM overwrite support (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add support for issue secure erase DSM to Intel nvdimm (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add enable/update passphrase support for Intel nvdimms (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add disable passphrase support to Intel nvdimm. (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add unlock of nvdimm support for Intel DIMMs (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add freeze security support to Intel nvdimm (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] acpi/nfit, libnvdimm: Introduce nvdimm_security_ops (Jeff Moyer) [1665367 1665364 1665362 1584976] - [security] keys-encrypted: add nvdimm key format type to encrypted keys (Jeff Moyer) [1665367 1665364 1665362 1584976] - [security] keys: Export lookup_user_key to external users (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] acpi/nfit, libnvdimm: Store dimm id as a member to struct nvdimm (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm, namespace: Replace kmemdup() with kstrndup() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, label: Switch to bitmap_zalloc() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] ACPI/nfit: Adjust annotation for why return 0 if fail to find NFIT at start (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, bus: Check id immediately following ida_simple_get (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Fix user-initiated ARS to be "ARS-long" rather than "ARS-short" (Jeff Moyer) [1665367 1665364 1665362 1662224 1641487] - [nvdimm] libnvdimm, pfn: Pad pfn namespaces relative to other regions (Jeff Moyer) [1665367 1665364 1665362 1662227] - [tools] tools/testing/nvdimm: Align test resources to 128M (Jeff Moyer) [1665367 1665364 1665362 1662227] - [acpi] acpi/nfit: Add support for Intel DSM 1.8 commands (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] Revert "acpi, nfit: Further restrict userspace ARS start requests" (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi, nfit: Fix ARS overflow continuation (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: Fix the array size for dimm devices. (Jeff Moyer) [1665367 1665364 1665362 1658918] - [mm] mm: Fix warning in insert_pfn() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi, nfit: Further restrict userspace ARS start requests (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi, nfit: Fix Address Range Scrub completion tracking (Jeff Moyer) [1665367 1665364 1665362 1662224 1641487] - [tools] tools/testing/nvdimm: Populate dirty shutdown data (Jeff Moyer) [1665367 1665364 1665362 1662217] - [acpi] acpi, nfit: Collect shutdown status (Jeff Moyer) [1665367 1665364 1665362 1662217] - [acpi] acpi, nfit: Introduce nfit_mem flags (Jeff Moyer) [1665367 1665364 1665362 1662217] - [nvdimm] libnvdimm, label: Fix sparse warning (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, namespace: Drop the repeat assignment for variable dev->parent (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, region: Fail badblocks listing for inactive regions (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, pfn: during init, clear errors in the metadata area (Jeff Moyer) [1665367 1665364 1665362 1641565] - [nvdimm] libnvdimm: Set device node in nd_device_register (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm: Hold reference on parent while scheduling async init (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm: remove duplicate include (Jeff Moyer) [1665367 1665364 1665362] - [fs] filesystem-dax: Fix use of zero page (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, pmem: Restore page attributes when clearing errors (Jeff Moyer) [1665367 1665364 1665362] - [drivers] device-dax: avoid hang on error before devm_memremap_pages() (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: improve emulation of smart injection (Jeff Moyer) [1685043 1665367 1665364 1665362] - [fs] filesystem-dax: Do not request kaddr and pfn when not required (Jeff Moyer) [1665367 1665364 1665362] - [drivers] dax/super: Do not request a pointer kaddr when not required (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: kaddr and pfn can be NULL to ->direct_access() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, pmem: kaddr and pfn can be NULL to ->direct_access() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: queue issuing of ars when an uc error notification comes in (Jeff Moyer) [1665367 1665364 1665362 1641487] - [kernel] mm, dev_pagemap: Do not clear ->mapping on final put (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: Fix support for emulating controller temperature (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: Make DSM failure code injection an override (Jeff Moyer) [1665367 1665364 1665362 1658918] - [acpi] acpi, nfit: Prefer _DSM over _LSR for namespace label reads (Jeff Moyer) [1665367 1665364 1665362 1658918] - [nvdimm] libnvdimm: Introduce locked DIMM capacity support (Jeff Moyer) [1665367 1665364 1665362 1658918] - [drm] drm/nouveau: fix duplication of nv50_head_atom struct (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/core: initial support for boards with TU117 chipset (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/core: allow detected chipset to be overridden (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/kms/gf119-gp10x: push HeadSetControlOutputResource() mthd when encoders change (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/kms/nv50-: fix bug preventing non-vsync'd page flips (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/kms/gv100-: fix spurious window immediate interlocks (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/nouveau: forward error generated while resuming objects tree (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/i2c: Disable i2c bus access after ->fini() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Add WaDisableBankHangMode (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/fbc: disable framebuffer compression on GeminiLake (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Fix setting 10 bit deep color mode (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Add missing combo PHY lane power setup (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Factor out combo PHY lane power setup helper (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Corrupt DSI picture fix for GeminiLake (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Fix clockgating issue when using scalers (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Suppress spurious combo PHY B warning (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Disable read only ppgtt support for gen11 (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Use Engine1 instance for gen11 pm interrupts (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Disable video turbo mode for rp control (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Enable media sampler powergate (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: introduce REG_BIT() and REG_GENMASK() to define register contents (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1664615 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Apply a recommended rc6 threshold (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Use dedicated rc6 enabling sequence for gen11 (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Don't warn on spurious interrupts (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Handle rps interrupts without irq lock (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make sure we have enough memory bandwidth on ICL (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make sandybridge_pcode_read() deal with the second data register (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix ONLY icl+ max plane width (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Fix MG_DP_MODE() register programming (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Really calculate the cursor ddb based on the highest enabled wm level (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Inline skl_update_pipe_wm() into its only caller (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Don't pass pipe_wm around so much (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Move some variables to tighter scope (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Keep plane watermarks enabled more aggressively (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make sure cursor has enough ddb for the selected wm level (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Allocate enough DDB for the cursor (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract skl_compute_wm_params() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Don't pass plane state to skl_compute_plane_wm() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Accept alloc_size == blocks (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/cml: Introduce Comet Lake PCH (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/cml: Add CML PCI IDS (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix PSR2 selective update corruption after PSR1 setup (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Turn off the CUS when turning off a HDR plane (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix legacy gamma mode for ICL (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Refactor icl_is_hdr_plane (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] drm/i915: Add new ICL PCI ID (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Fix CRC mismatch error for DP link layer compliance (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Prevent incorrect DBuf enabling (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Read out memory type (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract DIMM info on cnl+ (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Clean up intel_get_dram_info() a bit (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i914: s/l_info/dimm_l/ etc. (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Generalize intel_is_dram_symmetric() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Use dram_dimm_info more (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract DIMM info on GLK too (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix DRAM size reporting for BXT (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract BXT DIMM helpers (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Polish skl_is_16gb_dimm() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract functions to derive SKL+ DIMM info (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Store DIMM rank information as a number (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Default to Thread Group preemption for compute workloads (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix the state checker for ICL Y planes (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: move MG pll hw_state readout (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Finalize Wa_1408961008:icl (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Call MG_DP_MODE() macro with the right parameters order (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Drop redundant gamma mode mask (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Implement new w/a for underruns with wm1+ disabled (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Include "ignore lines" in skl+ wm state (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make MG PHY macros semantically consistent (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make combo PHY DDI macro definitions consistent for ICL and CNL (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Add degamma and gamma lut size to gen11 caps (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Enable pipe output csc (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Enable ICL Pipe CSC block (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Add icl pipe degamma and gamma support (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/glk: Fix degamma lut programming (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Dump skl+ watermark changes (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Update DSPCNTR gamma/csc bits during crtc_enable() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Disable pipe gamma when C8 pixel format is used (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Turn off pipe CSC when it's not needed (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Turn off pipe gamma when it's not needed (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Track pipe csc enable in crtc state (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Track pipe gamma enable/disable in crtc state (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Populate gamma_mode for all platforms (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm: Main backport to rebase from 4.18 to 5.1 (Lyude Paul) [1713573 1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] {CVE-2019-11085} - [include] list: Backport list_is_first() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] lib/scatterlist: Provide a DMA page iterator (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [acpi] ACPI / PMIC: Add support for executing PMIC MIPI sequence elements (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] vfio: add edid api for display (vgpu) devices. (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [mm] mm: don't miss the last page because of round-off error (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [base] PM-runtime: Add new interface to get accounted time (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm: move i915_kick_out_vgacon to vgaarb (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [scripts] tracing: Avoid calling cc-option -mrecord-mcount for every Makefile (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/fb_helper: Allow leaking fbdev smem_start (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/fb: Stop leaking physical address (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [video] fbdev: Add FBINFO_HIDE_SMEM_START flag (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] vt: Remove vc_panic_force_write (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] fbdev: Drop FBINFO_CAN_FORCE_OUTPUT flag (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [video] fbdev: fix kerneldoc (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] fbdev: add remove_conflicting_pci_framebuffers() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [media] media: cec-notifier: Get notifier by device and connector name (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [base] driver core: Add device_link_remove function (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] include: Move ascii85 functions from i915 to linux/ascii85.h (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [mm] mm, drm/i915: mark pinned shmemfs pages as unevictable (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] list: introduce list_bulk_move_tail helper (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [fs] sysfs: constify sysfs create/remove files harder (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/selftests: Remove unused dmabuf->kmap routines, fix the build (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] dma-buf: remove kmap_atomic interface (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] include/linux/bitops.h: introduce BITS_PER_TYPE (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] dma_buf: remove device parameter from attach callback v2 (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [pci] PCI: Export pcie_get_speed_cap and pcie_get_width_cap (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm: Add support for pps and compression mode command packet (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [kernel] locking/mutex: Fix mutex debug call and ww_mutex documentation (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [kernel] locking: Implement an algorithm choice for Wound-Wait mutexes (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [kernel] locking: WW mutex cleanup (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286]- [netdrv] igb: Fix WARN_ONCE on runtime suspend (Corinna Vinschen) [1659168] - [netdrv] igb: use struct_size() helper (Corinna Vinschen) [1659168] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Corinna Vinschen) [1659168] - [netdrv] igb: Bump version number (Corinna Vinschen) [1659168] - [netdrv] Revert "igb: reduce CPU0 latency when updating statistics" (Corinna Vinschen) [1659168] - [netdrv] igb: Fix an issue that PME is not enabled during runtime suspend (Corinna Vinschen) [1659168] - [netdrv] igb: Change RXPBSIZE size when setting Qav mode (Corinna Vinschen) [1659168] - [netdrv] igb: reduce CPU0 latency when updating statistics (Corinna Vinschen) [1659168] - [netdrv] igb: fix uninitialized variables (Corinna Vinschen) [1659168] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Corinna Vinschen) [1659168] - [netdrv] igb: Fix format with line continuation whitespace (Corinna Vinschen) [1659168] - [netdrv] igb: extend PTP gettime function to read system clock (Corinna Vinschen) [1659168] - [netdrv] i40e/ixgbe/igb: fail on new WoL flag setting WAKE_MAGICSECURE (Corinna Vinschen) [1659168] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (Corinna Vinschen) [1659168] - [netdrv] igb: remove ndo_poll_controller (Corinna Vinschen) [1659168] - [netdrv] intel-ethernet: use correct module license (Corinna Vinschen) [1659168] - [netdrv] igb: Replace mdelay() with msleep() in igb_integrated_phy_loopback() (Corinna Vinschen) [1659168] - [netdrv] igb: Replace GFP_ATOMIC with GFP_KERNEL in igb_sw_init() (Corinna Vinschen) [1659168] - [netdrv] igb: Use an advanced ctx descriptor for launchtime (Corinna Vinschen) [1659168] - [netdrv] igb: e1000_phy: Mark expected switch fall-through (Corinna Vinschen) [1659168] - [netdrv] igb: e1000_82575: Mark expected switch fall-through (Corinna Vinschen) [1659168] - [netdrv] igb_main: Mark expected switch fall-throughs (Corinna Vinschen) [1659168] - [netdrv] igb: Use dma_wmb() instead of wmb() before doorbell writes (Corinna Vinschen) [1659168] - [netdrv] igb: Add support for ETF offload (Corinna Vinschen) [1659168] - [netdrv] igb: Only call skb_tx_timestamp after descriptors are ready (Corinna Vinschen) [1659168] - [netdrv] igb: Refactor igb_offload_cbs() (Corinna Vinschen) [1659168] - [netdrv] igb: Only change Tx arbitration when CBS is on (Corinna Vinschen) [1659168] - [netdrv] igb: Refactor igb_configure_cbs() (Corinna Vinschen) [1659168] - [fs] Revert "[fs] ext4: protect journal inode's blocks using block_validity" (Lukas Czerner) [1716549] - [fs] xfs: don't trip over uninitialized buffer on extent read of corrupted inode (Bill O'Donnell) [1715942] - [fs] xfs: always init bma in xfs_bmapi_write (Bill O'Donnell) [1715942] - [lib] rhashtable: Still do rehash when we get EEXIST (Vladis Dronov) [1712457] - [fs] vmcore: Add a kernel parameter novmcoredd (Kairui Song) [1705864] - [powerpc] powerpc/eeh: Correct retries in eeh_pe_reset_full() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Improve recovery of passed-through devices (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Add include_passed to eeh_clear_pe_frozen_state() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Add include_passed to eeh_pe_state_clear() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: remove sw_state from eeh_unfreeze_pe() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_pe_clear_frozen_state() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup control flow in eeh_handle_normal_event() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_ops.wait_state() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_pe_state_mark() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup unnecessary eeh_pe_state_mark_with_cfg() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_enabled() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup logic in eeh_rmv_from_parent_pe() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup field names in eeh_rmv_data (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup list_head field names (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_add_virt_device() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup unused field in eeh_dev (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup EEH_POSTPONED_PROBE (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Avoid misleading message "EEH: no capable adapters found" (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Fix use of EEH_PE_KEEP on wrong field (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Fix null deref for devices removed during EEH (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Fix possible null deref in eeh_dump_dev_log() (Sam Bobroff) [1352405] - [edac] x86/MCE/AMD, EDAC/mce_amd: Add new error descriptions for some SMCA bank types (Janakarajan Natarajan) [1688469] - [x86] x86/MCE/AMD, EDAC/mce_amd: Add new McaTypes for CS, PSP, and SMU units (Janakarajan Natarajan) [1688469] - [x86] x86/MCE/AMD, EDAC/mce_amd: Add new MP5, NBIO, and PCIE SMCA bank types (Janakarajan Natarajan) [1688469] - [scsi] megaraid_sas: remove tech preview from Aero series (Tomas Henzl) [1668409] - [scsi] megaraid_sas: sync with mainline (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: fix spelling mistake "oustanding" -> "outstanding" (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Make megasas_host_device_list_query() static (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: reduce module load time (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Remove a bunch of set but not used variables (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: return error when create DMA pool failed (Tomas Henzl) [1668409] {CVE-2019-11810} - [scsi] scsi: megaraid_sas: driver version update (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Update structures for HOST_DEVICE_LIST DCMD (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Add support for DEVICE_LIST DCMD in driver (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Rework device add code in AEN path (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Rework code to get PD and LD list (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: correct an info message (Tomas Henzl) [1668409] - [scsi] cross-tree: phase out dma_zalloc_coherent() (Tomas Henzl) [1668409] - [scsi] scsi: megaraid: fix out-of-bound array accesses (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: changes to function prototypes (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: NULL check before some freeing functions is not needed (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas_fusion: Mark expected switch fall-through (Tomas Henzl) [1668409] - [scsi] scsi: megaraid: megaraid_sas_base: Mark expected switch fall-through (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: modify max supported lds related print (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: remove unused macro (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: increase timeout for IOC INIT to 180seconds (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Remove double endian conversion (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Re-use max_mfi_cmds to calculate queue sizes (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Rename scratch_pad registers (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Remove spin lock for dpc operation (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: optimize raid context access in IO path (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fail init if heartbeat timer fails (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: For SRIOV, do not set STOP_ADP bit (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fix combined reply queue mode detection (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fix module parameter description (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fix goto labels in error handling (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Update copyright information (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Add check for reset adapter bit (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fix msleep granularity (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Add support for FW snap dump (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Add watchdog thread to detect Firmware fault (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: switch to generic DMA API (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: fix a missing-check bug (Tomas Henzl) [1668409] - [kernel] get_maintainer.pl: Add default .get_maintainer.conf file for RHEL (Prarit Bhargava) [1714630] - [scripts] get_maintainer: allow option --mpath to read all files in (Prarit Bhargava) [1714630] - [scripts] get_maintainer.pl: add -mpath= for MAINTAINERS file location (Prarit Bhargava) [1714630] - [scripts] get_maintainer: allow usage outside of kernel tree (Prarit Bhargava) [1714630] - [scripts] Revert "[scripts] get_maintainer.pl: Add optional .get_maintainer.MAINTAINERS override" (Prarit Bhargava) [1714630] - [include] signal: Make siginmask safe when passed a signal of 0 (Waiman Long) [1714351] - [fs] signal: Don't send signals to tasks that don't exist (Waiman Long) [1714351] - [kernel] signal: Restore the stop PTRACE_EVENT_EXIT (Waiman Long) [1714351] - [kernel] signal: Better detection of synchronous signals (Waiman Long) [1714351] - [kernel] signal: Always notice exiting tasks (Waiman Long) [1714351] - [kernel] signal: Always attempt to allocate siginfo for SIGSTOP (Waiman Long) [1714351] - [kernel] signal: Guard against negative signal numbers in copy_siginfo_from_user32 (Waiman Long) [1714351] - [kernel] signal: Guard against negative signal numbers in copy_siginfo_from_user (Waiman Long) [1714351] - [kernel] signal: In sigqueueinfo prefer sig not si_signo (Waiman Long) [1714351] - [include] signal: Use a smaller struct siginfo in the kernel (Waiman Long) [1714351] - [include] signal: Distinguish between kernel_siginfo and siginfo (Waiman Long) [1714351] - [kernel] signal: Introduce copy_siginfo_from_user and use it's return value (Waiman Long) [1714351] - [arm64] signal: Remove the need for __ARCH_SI_PREABLE_SIZE and SI_PAD_SIZE (Waiman Long) [1714351] - [kernel] signal: Fail sigqueueinfo if si_signo != sig (Waiman Long) [1714351] - [kernel] signal/sparc: Move EMT_TAGOVF into the generic siginfo.h (Waiman Long) [1714351] - [mm] signal/arm: Use force_sig_fault where appropriate (Waiman Long) [1714351] - [arm64] signal/arm64: Use send_sig_fault where appropriate (Waiman Long) [1714351] - [arm64] signal/arm64: Add and use arm64_force_sig_ptrace_errno_trap (Waiman Long) [1714351] - [arm64] signal/arm64: In ptrace_hbptriggered name the signal description string (Waiman Long) [1714351] - [arm64] signal/arm64: Remove arm64_force_sig_info (Waiman Long) [1714351] - [arm64] signal/arm64: Add and use arm64_force_sig_mceerr as appropriate (Waiman Long) [1714351] - [arm64] signal/arm64: Add and use arm64_force_sig_fault where appropriate (Waiman Long) [1714351] - [mm] signal/arm64: Only call set_thread_esr once in do_page_fault (Waiman Long) [1714351] - [mm] signal/arm64: Only perform one esr_to_fault_info call in do_page_fault (Waiman Long) [1714351] - [mm] signal/arm64: Expand __do_user_fault and remove it (Waiman Long) [1714351] - [mm] signal/arm64: For clarity separate the 3 signal sending cases in do_page_fault (Waiman Long) [1714351] - [mm] signal/arm64: Consolidate the two hwpoison cases in do_page_fault (Waiman Long) [1714351] - [mm] signal/arm64: Factor set_thread_esr out of __do_user_fault (Waiman Long) [1714351] - [arm64] signal/arm64: Factor out arm64_show_signal from arm64_force_sig_info (Waiman Long) [1714351] - [arm64] signal/arm64: Remove unneeded tsk parameter from arm64_force_sig_info (Waiman Long) [1714351] - [arm64] signal/arm64: Push siginfo generation into arm64_notify_die (Waiman Long) [1714351] - [powerpc] signal/powerpc: Use force_sig_fault where appropriate (Waiman Long) [1714351] - [powerpc] signal/powerpc: Simplify _exception_pkey by using force_sig_pkuerr (Waiman Long) [1714351] - [powerpc] signal/powerpc: Specialize _exception_pkey for handling pkey exceptions (Waiman Long) [1714351] - [powerpc] signal/powerpc: Call force_sig_fault from _exception (Waiman Long) [1714351] - [powerpc] signal/powerpc: Factor the common exception code into exception_common (Waiman Long) [1714351] - [powerpc] powerpc/traps: Print unhandled signals in a separate function (Waiman Long) [1714351] - [mm] signal/powerpc: Remove pkey parameter from __bad_area_nosemaphore (Waiman Long) [1714351] - [mm] signal/powerpc: Call _exception_pkey directly from bad_key_fault_exception (Waiman Long) [1714351] - [mm] signal/powerpc: Remove pkey parameter from __bad_area (Waiman Long) [1714351] - [mm] signal/powerpc: Use force_sig_mceerr as appropriate (Waiman Long) [1714351] - [x86] signal/x86: Use force_sig_fault where appropriate (Waiman Long) [1714351] - [mm] signal/x86: Pass pkey by value (Waiman Long) [1714351] - [mm] signal/x86: Replace force_sig_info_fault with force_sig_fault (Waiman Long) [1714351] - [mm] signal/x86: Call force_sig_pkuerr from __bad_area_nosemaphore (Waiman Long) [1714351] - [mm] signal/x86: Pass pkey not vma into __bad_area (Waiman Long) [1714351] - [mm] signal/x86: Don't compute pkey in __do_page_fault (Waiman Long) [1714351] - [mm] signal/x86: Remove pkey parameter from mm_fault_error (Waiman Long) [1714351] - [mm] signal/x86: Remove the pkey parameter from do_sigbus (Waiman Long) [1714351] - [mm] signal/x86: Remove pkey parameter from bad_area_nosemaphore (Waiman Long) [1714351] - [x86] signal/x86/traps: Simplify trap generation (Waiman Long) [1714351] - [x86] signal/x86/traps: Use force_sig instead of open coding it. (Waiman Long) [1714351] - [x86] signal/x86/traps: Use force_sig_bnderr (Waiman Long) [1714351] - [x86] signal/x86/traps: Move more code into do_trap_no_signal so it can be reused (Waiman Long) [1714351] - [x86] signal/x86/traps: Factor out show_signal (Waiman Long) [1714351] - [x86] signal/x86: Move mpx siginfo generation into do_bounds (Waiman Long) [1714351] - [x86] signal/x86: In trace_mpx_bounds_register_exception add __user annotations (Waiman Long) [1714351] - [mm] signal/x86: Move MCE error reporting out of force_sig_info_fault (Waiman Long) [1714351] - [x86] signal/x86: Inline fill_sigtrap_info in it's only caller send_sigtrap (Waiman Long) [1714351] - [powerpc] signal: Simplify tracehook_report_syscall_exit (Waiman Long) [1714351] - [kernel] signal: Pair exports with their functions (Waiman Long) [1714351] - [kernel] signal: Remove specific_send_sig_info (Waiman Long) [1714351] - [kernel] signal: Use group_send_sig_info to kill all processes in a pid namespace (Waiman Long) [1714351] - [tty] tty_io: Use group_send_sig_info in __do_SACK to note it is a session being killed (Waiman Long) [1714351] - [misc] signal/GenWQE: Fix sending of SIGKILL (Waiman Long) [1714351] - [include] signal: Remove SEND_SIG_FORCED (Waiman Long) [1714351] - [kernel] signal: Use SEND_SIG_PRIV not SEND_SIG_FORCED with SIGKILL and SIGSTOP (Waiman Long) [1714351] - [kernel] signal: Never allocate siginfo for SIGKILL or SIGSTOP (Waiman Long) [1714351] - [usb] signal: Don't send siginfo to kthreads. (Waiman Long) [1714351] - [usb] signal: Remove the siginfo paramater from kernel_dqueue_signal (Waiman Long) [1714351] - [tty] signal: send_sig_all no longer needs SEND_SIG_FORCED (Waiman Long) [1714351] - [kernel] signal: Always deliver the kernel's SIGKILL and SIGSTOP to a pid namespace init (Waiman Long) [1714351] - [x86] signal: Properly deliver SIGSEGV from x86 uprobes (Waiman Long) [1714351] - [kernel] signal: Properly deliver SIGILL from uprobes (Waiman Long) [1714351] - [kernel] signal: Always ignore SIGKILL and SIGSTOP sent to the global init (Waiman Long) [1714351] - [iommu] mm: convert return type of handle_mm_fault() caller to vm_fault_t (Waiman Long) [1714351] - [kernel] signal: make get_signal() return bool (Waiman Long) [1714351] - [kernel] signal: make sigkill_pending() return bool (Waiman Long) [1714351] - [kernel] signal: make legacy_queue() return bool (Waiman Long) [1714351] - [kernel] signal: make wants_signal() return bool (Waiman Long) [1714351] - [kernel] signal: make flush_sigqueue_mask() void (Waiman Long) [1714351] - [kernel] signal: make unhandled_signal() return bool (Waiman Long) [1714351] - [kernel] signal: make recalc_sigpending_tsk() return bool (Waiman Long) [1714351] - [kernel] signal: make has_pending_signals() return bool (Waiman Long) [1714351] - [kernel] signal: make sig_ignored() return bool (Waiman Long) [1714351] - [kernel] signal: make sig_task_ignored() return bool (Waiman Long) [1714351] - [kernel] signal: make sig_handler_ignored() return bool (Waiman Long) [1714351] - [kernel] signal: make kill_ok_by_cred() return bool (Waiman Long) [1714351] - [kernel] signal: simplify rt_sigaction() (Waiman Long) [1714351] - [kernel] signal: make do_sigpending() void (Waiman Long) [1714351] - [kernel] signal: make may_ptrace_stop() return bool (Waiman Long) [1714351] - [kernel] signal: make kill_as_cred_perm() return bool (Waiman Long) [1714351] - [kernel] signal: make force_sigsegv() void (Waiman Long) [1714351] - [kernel] signal: Don't restart fork when signals come in. (Waiman Long) [1714351] - [kernel] fork: Have new threads join on-going signal group stops (Waiman Long) [1714351] - [include] fork: Skip setting TIF_SIGPENDING in ptrace_init_task (Waiman Long) [1714351] - [kernel] signal: Add calculate_sigpending() (Waiman Long) [1714351] - [kernel] fork: Unconditionally exit if a fatal signal is pending (Waiman Long) [1714351] - [kernel] fork: Move and describe why the code examines PIDNS_ADDING (Waiman Long) [1714351] - [kernel] signal: Push pid type down into complete_signal. (Waiman Long) [1714351] - [kernel] signal: Push pid type down into __send_signal (Waiman Long) [1714351] - [kernel] signal: Push pid type down into send_signal (Waiman Long) [1714351] - [tty] signal: Pass pid type into do_send_sig_info (Waiman Long) [1714351] - [fs] signal: Pass pid type into send_sigio_to_task & send_sigurg_to_task (Waiman Long) [1714351] - [kernel] signal: Pass pid type into group_send_sig_info (Waiman Long) [1714351] - [kernel] signal: Pass pid and pid type into send_sigqueue (Waiman Long) [1714351] - [kernel] posix-timers: Noralize good_sigevent (Waiman Long) [1714351] - [fs] signal: Use PIDTYPE_TGID to clearly store where file signals will be sent (Waiman Long) [1714351] - [kernel] pid: Implement PIDTYPE_TGID (Waiman Long) [1714351] - [include] pids: Move the pgrp and session pid pointers from task_struct to signal_struct (Waiman Long) [1714351] - [fs] pids: Compute task_tgid using signal->leader_pid (Waiman Long) [1714351] - [kernel] pids: Move task_pid_type into sched/signal.h (Waiman Long) [1714351] - [init] pids: Initialize leader_pid in init_task (Waiman Long) [1714351]- [s390] s390: enable processes for mio instructions (Philipp Rudo) [1651734] - [s390] s390/pci: add parameter to disable usage of MIO instructions (Philipp Rudo) [1651734] - [s390] s390/pci: provide support for MIO instructions (Philipp Rudo) [1651734] - [s390] s390/pci: improve bar check (Philipp Rudo) [1651734] - [s390] s390/ism: move oddities of device IO to wrapper function (Philipp Rudo) [1651734] - [s390] s390/pci: move io address mapping code to pci_insn.c (Philipp Rudo) [1651734] - [s390] s390/pci: add parameter to force floating irqs (Philipp Rudo) [1651735] - [s390] s390/pci: gather statistics for floating vs directed irqs (Philipp Rudo) [1651735] - [s390] s390: show statistics for MSI IRQs (Philipp Rudo) [1651735] - [s390] s390/pci: provide support for CPU directed interrupts (Philipp Rudo) [1651735] - [s390] s390/airq: provide cacheline aligned ivs (Philipp Rudo) [1651735] - [s390] s390/pci: clarify interrupt vector usage (Philipp Rudo) [1651735] - [s390] s390/airq: recognize directed interrupts (Philipp Rudo) [1651735] - [s390] s390/sclp: detect DIRQ facility (Philipp Rudo) [1651735] - [s390] s390/pci: move everything irq related to pci_irq.c (Philipp Rudo) [1651735] - [s390] s390/pci: remove stale rc (Philipp Rudo) [1651735] - [s390] s390/pci: remove unused define (Philipp Rudo) [1651735] - [s390] s390/pci: mark command line parser data __initdata (Philipp Rudo) [1651735] - [cpufreq] cpufreq: intel_pstate: Ignore turbo active ratio in HWP (David Arcari) [1711970] - [scsi] mpt3sas: remove tech preview from Aero series (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: fix indentation issue (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Update mpt3sas driver version to 28.100.00.00 (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Improve the threshold value and introduce module param (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Load balance to improve performance and avoid soft lockups (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Irq poll to avoid CPU hard lockups (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: simplify interrupt handler (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Fix typo in request_desript_type (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Add missing breaks in switch statements (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Update driver version to 27.102.00.00 (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Add support for ATLAS PCIe switch (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Add support for NVMe Switch Adapter (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Rename mpi endpoint device ID macro. (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: mpt3sas_scsih: Mark expected switch fall-through (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: fix memory ordering on 64bit writes (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: fix spelling mistake "manufaucturing" -> "manufacturing" (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Fix driver modifying persistent data in Manufacturing page11 (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Don't modify EEDPTagMode field setting on SAS3.5 HBA devices (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Fix Sync cache command failure during driver unload (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Call sas_remove_host before removing the target devices (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Refactor mpt3sas_wait_for_ioc function (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Separate out mpt3sas_wait_for_ioc (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Added new #define variable IOC_OPERATIONAL_WAIT_COUNT (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: switch to generic DMA API (Tomas Henzl) [1684444] - [tools] perf tools beauty ioctl: Support new ISO7816 commands (Michael Petlan) [1709243] - [tools] perf tools: Restore proper cwd on return from mnt namespace (Michael Petlan) [1709243] - [tools] perf tools: Fix crash on synthesizing the unit (Michael Petlan) [1709243] - [tools] perf tools: Do not zero sample_id_all for group members (Michael Petlan) [1709243] - [tools] perf beauty: Use SRCARCH, ARCH=x86_64 must map to "x86" to find the headers (Michael Petlan) [1709243] - [tools] perf intel-pt: Add MTC and CYC timestamps to debug log (Michael Petlan) [1709243] - [tools] perf intel-pt: Add more event information to debug log (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Fix table find when table re-ordered (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add help window (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add Selected branches report (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Fall back to /usr/local/lib/libxed.so (Michael Petlan) [1709243] - [tools] perf top: Display the LBR stats in callchain entry (Michael Petlan) [1709243] - [tools] perf stat: Handle different PMU names with common prefix (Michael Petlan) [1709243] - [tools] perf record: Support weak groups (Michael Petlan) [1709243] - [tools] perf evlist: Move perf_evsel__reset_weak_group into evlist (Michael Petlan) [1709243] - [tools] perf augmented_syscalls: Start collecting pathnames in the BPF program (Michael Petlan) [1709243] - [tools] perf trace: Fix setting of augmented payload when using eBPF + raw_syscalls (Michael Petlan) [1709243] - [tools] perf trace: When augmenting raw_syscalls plug raw_syscalls:sys_exit too (Michael Petlan) [1709243] - [tools] perf examples bpf: Start augmenting raw_syscalls:sys_{start,exit} (Michael Petlan) [1709243] - [tools] perf intel-pt/bts: Calculate cpumode for synthesized samples (Michael Petlan) [1709243] - [tools] perf intel-pt: Insert callchain context into synthesized callchains (Michael Petlan) [1709243] - [tools] perf top: Start display thread earlier (Michael Petlan) [1709243] - [tools] perf trace beauty: Use the mmap flags table generated from headers (Michael Petlan) [1709243] - [tools] perf beauty: Wire up the mmap flags table generator to the Makefile (Michael Petlan) [1709243] - [tools] perf beauty: Add a generator for MAP_ mmap's flag constants (Michael Petlan) [1709243] - [tools] perf callchain: Honour the ordering of PERF_CONTEXT_{USER,KERNEL,etc} (Michael Petlan) [1709243] - [tools] perf cs-etm: Correct CPU mode for samples (Michael Petlan) [1709243] - [tools] perf unwind: Take pgoff into account when reporting elf to libdwfl (Michael Petlan) [1709243] - [tools] perf top: Do not use overwrite mode by default (Michael Petlan) [1709243] - [tools] perf trace: Beautify mount's first pathname arg (Michael Petlan) [1709243] - [tools] perf trace: Beautify the umount's 'name' argument (Michael Petlan) [1709243] - [tools] perf trace: Consider syscall aliases too (Michael Petlan) [1709243] - [tools] perf trace beauty: Beautify mount/umount's 'flags' argument (Michael Petlan) [1709243] - [tools] perf trace beauty: Allow syscalls to mask an argument before considering it (Michael Petlan) [1709243] - [tools] perf beauty: Introduce strarray__scnprintf_flags() (Michael Petlan) [1709243] - [tools] perf beauty: Switch from GPL v2.0 to LGPL v2.1 (Michael Petlan) [1709243] - [tools] perf beauty: Add a generator for MS_ mount/umount's flag constants (Michael Petlan) [1709243] - [tools] tools include uapi: Grab a copy of linux/fs.h (Michael Petlan) [1709243] - [tools] perf script: Support total cycles count (Michael Petlan) [1709243] - [tools] perf script: Make itrace script default to all calls (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add All branches report (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add ability to display all the database tables (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add ability to shrink / enlarge font (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add ability to find symbols in the call-graph (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add support for multiple sub-windows (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Rename to exported-sql-viewer.py (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Refactor TreeItem class (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Add data helper functions (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Factor out CallGraphModel from TreeModel (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Remove use of setObjectName() (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Add a class for global data (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Separate the database details into a class (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Make a "Main" function (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Change icon (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Set a minimum window size (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Provide better default column sizes (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Use SPDX license identifier (Michael Petlan) [1709243] - [tools] perf trace: Introduce per-event maximum number of events property (Michael Petlan) [1709243] - [tools] perf script: Flush output stream after events in verbose mode (Michael Petlan) [1709243] - [tools] perf script: Allow extended console debug output (Michael Petlan) [1709243] - [tools] perf stat: Poll for monitored tasks being alive (Michael Petlan) [1709243] - [tools] perf trace: Drop thread refcount in trace__event_handler() (Michael Petlan) [1709243] - [tools] perf trace: Drop addr_location refcounts (Michael Petlan) [1709243] - [tools] perf evsel: Mark a evsel as disabled when asking the kernel do disable it (Michael Petlan) [1709243] - [tools] perf evsel: Introduce per event max_events property (Michael Petlan) [1709243] - [tools] tools lib subcmd: Introduce OPTION_ULONG (Michael Petlan) [1709243] - [tools] perf arm64: Fix generate system call table failed with /tmp mounted with noexec (Michael Petlan) [1709243] - [tools] perf symbols: Set PLT entry/header sizes properly on Sparc (Michael Petlan) [1709243] - [tools] perf jitdump: Add Sparc support. (Michael Petlan) [1709243] - [tools] perf annotate: Add Sparc support (Michael Petlan) [1709243] - [tools] perf record: Encode -k clockid frequency into Perf trace (Michael Petlan) [1709243] - [tools] perf probe: Support SDT markers having reference counter (semaphore) (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Move struct tep_handler definition in a local header file (Michael Petlan) [1709243] - [tools] tools lib traceevent: Separate out tep_strerror() for strerror_r() issues (Michael Petlan) [1709243] - [tools] perf python: More portable way to make CFLAGS work with clang (Michael Petlan) [1709243] - [tools] perf python: Make clang_has_option() work on Python 3 (Michael Petlan) [1709243] - [tools] perf tools: Free temporary 'sys' string in read_event_files() (Michael Petlan) [1709243] - [tools] perf tools: Avoid double free in read_event_file() (Michael Petlan) [1709243] - [tools] perf tools: Free 'printk' string in parse_ftrace_printk() (Michael Petlan) [1709243] - [tools] perf tools: Cleanup trace-event-info 'tdata' leak (Michael Petlan) [1709243] - [tools] perf strbuf: Match va_{add,copy} with va_end (Michael Petlan) [1709243] - [tools] perf test: S390 does not support watchpoints in test 22 (Michael Petlan) [1709243] - [tools] perf auxtrace: Include missing asm/bitsperlong.h to get BITS_PER_LONG (Michael Petlan) [1709243] - [tools] tools include: Adopt linux/bits.h (Michael Petlan) [1709243] - [tools] perf intel-pt: Implement decoder flags for trace begin / end (Michael Petlan) [1709243] - [tools] perf intel-pt: Add decoder flags for trace begin / end (Michael Petlan) [1709243] - [tools] perf tools: Improve thread_stack__process() for trace begin / end (Michael Petlan) [1709243] - [tools] perf tools: Improve thread_stack__event() for trace begin / end (Michael Petlan) [1709243] - [tools] perf db-export: Add trace begin / end branch type variants (Michael Petlan) [1709243] - [tools] perf script: Enhance sample flags for trace begin / end (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to enum filter_trivial_type (Michael Petlan) [1709243] - [tools] tools lib traceevent: Rename data2host*() APIs (Michael Petlan) [1709243] - [tools] tools lib traceevent: Rename struct plugin_list to struct tep_plugin_list (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to structs filter_type and event_filter (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to various structs filter_arg_*. (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to struct filter_{arg,value_type} (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to enums filter_{exp,arg}_type (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to enums filter_{boolean,op,cmp}_type (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Rename enum print_arg_type to enum tep_print_arg_type (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Add prefix tep_ to all print_* structures (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix TEP_ to all EVENT_FL_* flags (Michael Petlan) [1709243] - [tools] tools lib traceevent: Rename enum event_{sort_}type to enum tep_event_{sort_}type (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Rename enum format_flags to enum tep_format_flags (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Rename struct format{_field} to struct tep_format{_field} (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Rename struct event_format to struct tep_event_format (Michael Petlan) [1709243] - [tools] perf script: Print DSO for callindent (Michael Petlan) [1709243] - [tools] perf script: Allow sym and dso without ip, addr (Michael Petlan) [1709243] - [tools] tools lib subcmd: Support overwriting the pager (Michael Petlan) [1709243] - [tools] perf tools: Report itrace options in help (Michael Petlan) [1709243] - [tools] perf help: Add missing subcommand `version` (Michael Petlan) [1709243] - [tools] perf tools: Initialize perf_data_file fd field (Michael Petlan) [1709243] - [tools] perf util: Make copyfile_offset() global (Michael Petlan) [1709243] - [tools] perf tools: Add 'struct perf_mmap' arg to record__write() (Michael Petlan) [1709243] - [tools] perf auxtrace: Pass struct perf_mmap into mmap__read* functions (Michael Petlan) [1709243] - [tools] perf tools: Remove perf_tool from event_op3 (Michael Petlan) [1709243] - [tools] perf tools: Remove perf_tool from event_op2 (Michael Petlan) [1709243] - [tools] perf bpf-loader: use PTR_ERR_OR_ZERO inetead of return code (Michael Petlan) [1709243] - [tools] tools include: Adopt PTR_ERR_OR_ZERO from the kernel err.h header (Michael Petlan) [1709243] - [tools] perf ordered_events: Prevent crossing max_alloc_size (Michael Petlan) [1709243] - [tools] perf ordered_events: Add 'struct ordered_events_buffer' layer (Michael Petlan) [1709243] - [tools] perf test: Add watchpoint test (Michael Petlan) [1709243] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh without ping's debuginfo (Michael Petlan) [1709243] - [tools] perf map: Turn some pr_warning() to pr_debug() (Michael Petlan) [1709243] - [tools] perf trace: Use the raw_syscalls:sys_enter for the augmented syscalls (Michael Petlan) [1709243] - [tools] perf trace: Setup augmented_args in the raw_syscalls:sys_enter handler (Michael Petlan) [1709243] - [tools] perf trace: Introduce syscall__augmented_args() method (Michael Petlan) [1709243] - [tools] perf augmented_syscalls: Avoid optimization to pass older BPF validators (Michael Petlan) [1709243] - [tools] perf augmented_syscalls: Check probe_read_str() return separately (Michael Petlan) [1709243] - [tools] perf annotate: Handle arm64 move instructions (Michael Petlan) [1709243] - [tools] perf trace beauty: Alias 'umount' to 'umount2' (Michael Petlan) [1709243] - [tools] perf stat: Move the display functions to stat-display.c (Michael Petlan) [1709243] - [tools] perf stat: Move 'metric_events' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'walltime_*' data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Propagate 'struct target' arg to sort_aggr_thread() (Michael Petlan) [1709243] - [tools] perf stat: Move 'no_merge' data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'big_num' data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Do not use the global 'evsel_list' in print functions (Michael Petlan) [1709243] - [tools] perf stat: Move *_aggr_* data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move ru_* data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'print_mixed_hw_group_error' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'print_free_counters_hint' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'null_run' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Add 'walltime_nsecs_stats' pointer to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Pass 'evlist' to aggr_update_shadow() (Michael Petlan) [1709243] - [tools] perf stat: Pass 'struct perf_stat_config' to first_shadow_cpu() (Michael Petlan) [1709243] - [tools] perf stat: Move 'metric_only_len' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'run_count' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Use 'evsel->evlist' instead of 'evsel_list' in collect_all_aliases() (Michael Petlan) [1709243] - [tools] perf stat: Pass 'evlist' argument to print functions (Michael Petlan) [1709243] - [tools] perf stat: Add 'target' argument to perf_evlist__print_counters() (Michael Petlan) [1709243] - [tools] perf stat: Move 'unit_width' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'metric_only' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'interval_clear' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move csv_* to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Pass a 'struct perf_stat_config' argument to global print functions (Michael Petlan) [1709243] - [tools] perf stat: Pass 'struct perf_stat_config' argument to local print functions (Michael Petlan) [1709243] - [tools] perf stat: Add 'struct perf_stat_config' argument to perf_evlist__print_counters() (Michael Petlan) [1709243] - [tools] perf stat: Move STAT_RECORD out of perf_evlist__print_counters() (Michael Petlan) [1709243] - [tools] perf stat: Introduce perf_evlist__print_counters() (Michael Petlan) [1709243] - [tools] perf stat: Move perf_stat_synthesize_config() to stat.c (Michael Petlan) [1709243] - [tools] perf stat: Add 'perf_event__handler_t' argument to perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Add 'struct perf_evlist' argument to perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Add 'struct perf_tool' argument to perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Add 'struct perf_stat_config' argument to perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Rename 'is_pipe' argument to 'attrs' in perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Move create_perf_stat_counter() to stat.c (Michael Petlan) [1709243] - [tools] perf evsel: Introduce perf_evsel__store_ids() (Michael Petlan) [1709243] - [tools] perf tools: Switch 'session' argument to 'evlist' in perf_event__synthesize_attrs() (Michael Petlan) [1709243] - [tools] perf stat: Add 'identifier' flag to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Use local config arg for scale in create_perf_stat_counter() (Michael Petlan) [1709243] - [tools] perf stat: Move 'no_inherit' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'initial_delay' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Use evsel->threads in create_perf_stat_counter() (Michael Petlan) [1709243] - [tools] perf trace: Show comm and tid for tracepoint events (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Hook into syscalls:sys_exit_SYSCALL too (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Rename augmented_*_syscall__enter to just *_syscall (Michael Petlan) [1709243] - [tools] perf augmented_syscalls: Update the header comments (Michael Petlan) [1709243] - [tools] perf bpf: Add syscall_exit() helper (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Split trace-seq related APIs in a separate header file (Michael Petlan) [1709243] - [tools] perf report: Create auxiliary trace data files for s390 (Michael Petlan) [1709243] - [tools] perf trace beauty: Reorganize 'struct sockaddr *' beautifier (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Augment sendto's 'addr' arg (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Augment bind's 'myaddr' sockaddr arg (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Add augmented_sockaddr_syscall_enter() (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Augment connect's 'sockaddr' arg (Michael Petlan) [1709243] - [tools] perf bpf: Add linux/socket.h to the headers accessible to bpf proggies (Michael Petlan) [1709243] - [tools] perf bpf: Give precedence to bpf header dir (Michael Petlan) [1709243] - [tools] perf trace: Add a etcsnoop.c augmented syscalls eBPF utility (Michael Petlan) [1709243] - [tools] perf trace: Augment 'newstat' (aka 'stat') filename ptr (Michael Petlan) [1709243] - [tools] perf trace: Introduce augmented_filename_syscall_enter() declarator (Michael Petlan) [1709243] - [tools] perf trace: Augment inotify_add_watch pathname syscall arg (Michael Petlan) [1709243] - [tools] perf trace: Augment the 'open' syscall 'filename' arg (Michael Petlan) [1709243] - [tools] perf trace: Use the augmented filename, expanding syscall enter pointers (Michael Petlan) [1709243] - [tools] perf trace: Show comm/tid for augmented_syscalls (Michael Petlan) [1709243] - [tools] perf trace: Extract the comm/tid printing for syscall enter (Michael Petlan) [1709243] - [tools] perf trace: Print the syscall name for augmented_syscalls (Michael Petlan) [1709243] - [tools] perf trace: Make the augmented_syscalls filter out the tracepoint event (Michael Petlan) [1709243] - [tools] perf trace: Pass augmented args to the arg formatters when available (Michael Petlan) [1709243] - [x86] perf/x86/intel: Disallow precise_ip on BTS events (Michael Petlan) [1709243] - [x86] perf/x86/intel: Add generic branch tracing check to intel_pmu_has_bts() (Michael Petlan) [1709243] - [x86] perf/x86/intel: Move branch tracing setup to the Intel-specific source file (Michael Petlan) [1709243] - [x86] perf/x86/intel: Fix regression by default disabling perfmon v4 interrupt handling (Michael Petlan) [1709243] - [x86] perf/x86/intel/uncore: Support CoffeeLake 8th CBOX (Michael Petlan) [1709243] - [x86] perf/x86/intel/uncore: Add more IMC PCI IDs for KabyLake and CoffeeLake CPUs (Michael Petlan) [1709243] - [tools] perf tools: Don't clone maps from parent when synthesizing forks (Michael Petlan) [1709243] - [tools] perf top: Allow disabling the overwrite mode (Michael Petlan) [1709243] - [kernel] perf/core: Clean up inconsisent indentation (Michael Petlan) [1709243] - [tools] perf script: Implement --graph-function (Michael Petlan) [1709243] - [tools] tools script: Add --call-trace and --call-ret-trace (Michael Petlan) [1709243] - [tools] perf script: Add --insn-trace for instruction decoding (Michael Petlan) [1709243] - [tools] perf trace: Introduce --max-events (Michael Petlan) [1709243] - [x86] perf/x86/intel: Add quirk for Goldmont Plus (Michael Petlan) [1709243] - [kernel] perf: Suppress AUX/OVERWRITE records (Michael Petlan) [1709243] - [x86] perf/x86/intel/pt: Annotate 'pt_cap_group' with __ro_after_init (Michael Petlan) [1709243] - [x86] perf/x86: Add __ro_after_init annotations (Michael Petlan) [1709243] - [x86] x86/mm/mem_encrypt: Disable all instrumentation for early SME setup (Janakarajan Natarajan) [1679265] - [fs] cifs: fix copy_file_range to allow write on the same file (Leif Sahlberg) [1689100] - [infiniband] Revert "[infiniband] IB/usnic: Remove stub functions" (Jonathan Toppins) [1713753] - [x86] Update stepping values for Whiskey Lake U/Y (David Arcari) [1704801] - [powerpc] powerpc/perf: Trace imc PMU functions (Jiri Olsa) [1608796] - [powerpc] powerpc/perf: Trace imc events detection and cpuhotplug (Jiri Olsa) [1608796] - [powerpc] powerpc/perf: Declare static identifier a such (Jiri Olsa) [1608796] - [powerpc] powerpc/perf: Add privileged access check for thread_imc (Jiri Olsa) [1608796] - [powerpc] powerpc/perf: Rearrange setting of ldbar for thread-imc (Jiri Olsa) [1608796] - [powerpc] powerpc/include: Add data structures and macros for IMC trace mode (Jiri Olsa) [1608796] - [scsi] hpsa: correct-static-checker-issue-in-reset-handler (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: update driver version (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: correct device resets (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: do-not-complete-cmds-for-deleted-devices (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: wait longer for ptraid commands (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: check for tag collision (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: use local workqueues instead of system workqueues (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: correct simple mode (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: bump driver version (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: correct device id issues (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: check for lv removal (Joseph Szczypek) [1713772] - [mm] mm, slub: restore the original intention of prefetch_freepointer() (Rafael Aquini) [1714671] - [fs] Revert "add KABI padding to dentry structure" (Waiman Long) [1714253] - [crypto] crypto: drbg - add FIPS 140-2 CTRNG for noise source (Herbert Xu) [1687905] - [infiniband] RDMA/qedr: Fix incorrect device rate. (Manish Chopra) [1713580] - [scsi] scsi: bnx2fc: remove unneeded variable (Nilesh Javali) [1665308] - [scsi] scsi: fcoe: make use of fip_mode enum complete (Nilesh Javali) [1665308] - [char] ipmi:ssif: compare block number correctly for multi-part return messages (Tony Camuso) [1712159] - [kernel] kernel/sysctl.c: define minmax conv functions in terms of non-minmax versions (Alex Gladkov) [1683922] - [kernel] kernel/sysctl.c: add missing range check in do_proc_dointvec_minmax_conv (Alex Gladkov) [1683922] - [tools] tools/testing/selftests/sysctl/sysctl.sh: add tests for >32-bit values written to 32-bit integers (Alex Gladkov) [1683922] - [kernel] sched/nohz: Run NOHZ idle load balancer on HK_FLAG_MISC CPUs (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] nohz_full: Allow the boot CPU to be nohz_full (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] sched/isolation: Require a present CPU in housekeeping mask (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] kernel/cpu: Allow non-zero CPU to be primary for suspend / kexec freeze (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] power/suspend: Add function to disable secondaries for suspend (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] sched/core: Allow the remote scheduler tick to be started on CPU0 (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] sched/fair: Use non-atomic cpumask_{set,clear}_cpu() (Desnes Augusto Nunes do Rosario) [1666614] - [lib] lib: reciprocal_div: implement the improved algorithm on the paper mentioned (Petr Oros) [1706982] - [kernel] kernel/sysctl.c: fix proc_do_large_bitmap for large input buffers (Eric Sandeen) [1667092] - [kernel] tools/testing/selftests/sysctl/sysctl.sh: add proc_do_large_bitmap() test case (Eric Sandeen) [1667092] - [tools] tools/testing/selftests/sysctl/sysctl.sh: allow graceful use on older kernels (Eric Sandeen) [1667092] - [tools] tools/testing/selftests/sysctl/sysctl.sh: ignore diff output on verify_diff_w() (Eric Sandeen) [1667092] - [tools] tools/testing/selftests/sysctl/sysctl.sh: load module before testing for it (Eric Sandeen) [1667092] - [tools] tools/testing/selftests/sysctl/sysctl.sh: remove superfluous test_reqs() (Eric Sandeen) [1667092] - [kernel] kernel/sysctl.c: fix out-of-bounds access when setting file-max (Eric Sandeen) [1694160] - [kernel] sysctl: handle overflow for file-max (Eric Sandeen) [1694160] - [kernel] sysctl: handle overflow in proc_get_long (Eric Sandeen) [1694160] - [s390] kvm: s390: Fix potential spectre warnings (Thomas Huth) [1702344] - [powerpc] mm: move warning from resize_hpt_for_hotplug() (Laurent Vivier) [1660737] - [powerpc] pseries: Use pr_xxx() in lpar.c (Laurent Vivier) [1660737] - [infiniband] RDMA/iw_cxgb4: Always disconnect when QP is transitioning to TERMINATE state (Arjun Vynipadath) [1664673] - [infiniband] cxgb4: kfree mhp after the debug print (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxbg: Use correct sizing on buffers holding page DMA addresses (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Make function read_tcb() static (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxgb4: Remove kref accounting for sync operation (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: cq/qp mask depends on bar2 pages in a host page (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: fix srqidx leak during connection abort (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: complete the cached SRQ buffers (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Remove a set-but-not-used variable (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: use tos when finding ipv6 routes (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: use tos when importing the endpoint (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: use listening ep tos when accepting new connections (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb*: kzalloc the iwcm verbs struct (Arjun Vynipadath) [1664673] - [infiniband] RDMA/iw_cxgb4: Drop __GFP_NOFAIL (Arjun Vynipadath) [1664673] - [infiniband] infiniband: cxgb4: no need to check return value of debugfs_create functions (Arjun Vynipadath) [1664673] - [infiniband] RDMA/iw_cxgb4: Fix the unchecked ep dereference (Arjun Vynipadath) [1664673] - [infiniband] RDMA: Introduce and use rdma_device_to_ibdev() (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Check for send WR also while posting write with completion WR (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: only reconnect with MPAv1 if the peer aborts (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Use proper enumerated type in c4iw_bar2_addrs (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxgb4: remove redundant null pointer check before kfree_skb (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Remove pci_unmap_addr() wrappers for DMA API (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Declare ib_post_send() and ib_post_recv() arguments const (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Simplify a structure initialization (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Fix SRQ endianness annotations (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Add support for kernel mode SRQ's (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Add support for srq functions & structs (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxgb4: Restore the dropped uninitialized_var (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxgb4: Make c4iw_poll_cq_one() easier to analyze (Arjun Vynipadath) [1664673] - [fs] gfs2: clean_journal improperly set sd_log_flush_head (Robert S Peterson) [1693660]- [netdrv] bonding/802.3ad: fix slave link initialization transition states (Jarod Wilson) [1714387] - [iommu] iommu/vt-d: Disable ATS support on untrusted devices (Jerry Snitselaar) [1649210 1692246] - [documentation] thunderbolt: Export IOMMU based DMA protection support to userspace (Jerry Snitselaar) [1649210 1692246] - [iommu] iommu/vt-d: Do not enable ATS for untrusted devices (Jerry Snitselaar) [1649210 1692246] - [iommu] iommu/vt-d: Force IOMMU on for platform opt in hint (Jerry Snitselaar) [1649210 1692246] - [arm64] arm64: makefile fix build of .i file in external module case (Jerome Marchand) [1713052] - [s390] s390/protvirt: block kernel command line alteration (Philipp Rudo) [1651711] - [s390] s390/protvirt: add memory sharing for diag 308 set/store (Philipp Rudo) [1651711] - [s390] s390/uv: introduce guest side ultravisor code (Philipp Rudo) [1651711] - [netdrv] net: aquantia: fix undefined devm_hwmon_device_register_with_info reference (Igor Russkikh) [1706905] - [netdrv] net: aquantia: Make aq_ndev_driver_name static (Igor Russkikh) [1706905] - [netdrv] net: aquantia: remove outdated device ids (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixups on 64bit dma counters (Igor Russkikh) [1706905] - [netdrv] net: aquantia: get total counters from DMA block (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fetch up to date statistics on ethtool request (Igor Russkikh) [1706905] - [netdrv] net: aquantia: extract timer cb into work job (Igor Russkikh) [1706905] - [netdrv] net: aquantia: introduce fwreq mutex (Igor Russkikh) [1706905] - [netdrv] net: aquantia: user correct MSI irq type (Igor Russkikh) [1706905] - [netdrv] net: aquantia: use macros for better visibility (Igor Russkikh) [1706905] - [netdrv] net: aquantia: improve ifup link detection (Igor Russkikh) [1706905] - [netdrv] net: aquantia: link status irq handling (Igor Russkikh) [1706905] - [netdrv] net: aquantia: create global service workqueue (Igor Russkikh) [1706905] - [netdrv] net: aquantia: link interrupt handling function (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add link interrupt fields (Igor Russkikh) [1706905] - [netdrv] net: aquantia: implement hwmon api for chip temperature (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add infrastructure to readout chip temperature (Igor Russkikh) [1706905] - [netdrv] net: aquantia: enable driver build for arm64 or compile_test (Igor Russkikh) [1706905] - [netdrv] net: aquantia: improve LRO configuration (Igor Russkikh) [1706905] - [netdrv] net: aquantia: Increase rx ring default size from 1K to 2K (Igor Russkikh) [1706905] - [netdrv] net: aquantia: Make RX default frame size 2K (Igor Russkikh) [1706905] - [netdrv] net: aquantia: Introduce rx refill threshold value (Igor Russkikh) [1706905] - [netdrv] net: aquantia: optimize rx performance by page reuse strategy (Igor Russkikh) [1706905] - [netdrv] net: aquantia: optimize rx path using larger preallocated skb len (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix rx checksum offload for UDP/TCP over IPv6 (Igor Russkikh) [1706905] - [netdrv] net: aquantia: use better wrappers for state registers (Igor Russkikh) [1706905] - [netdrv] net: aquantia: replace AQ_HW_WAIT_FOR with readx_poll_timeout_atomic (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixed instack structure overflow (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixed buffer overflow (Igor Russkikh) [1706905] - [netdrv] net: aquantia: added newline at end of file (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixed memcpy size (Igor Russkikh) [1706905] - [netdrv] net: aquantia: regression on cpus with high cores: set mode with 8 queues (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add support of RSS configuration (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix initialization of RSS table (Igor Russkikh) [1706905] - [netdrv] net: aquantia: increase max number of hw queues (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix RSS table and key sizes (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix rx checksum offload bits (Igor Russkikh) [1706905] - [netdrv] net: aquantia: return 'err' if set MPI_DEINIT state fails (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix spelling mistake "specfield" -> "specified" (Igor Russkikh) [1706905] - [netdrv] net: aquantia: cleanup err handing in hw_atl_utils_fw_rpc_wait (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add support of rx-vlan-filter offload (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add ethertype and PCP to rx flow filters (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add vlan id to rx flow filters (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add support of L3/L4 ntuple filters (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add infrastructure for ntuple rules (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add rx-flow filter definitions (Igor Russkikh) [1706905] - [netdrv] net: aquantia: allow rx checksum offload configuration (Igor Russkikh) [1706905] - [netdrv] net: aquantia: invalid checksumm offload implementation (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixed enable unicast on 32 macvlan (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix potential IOMMU fault after driver unbind (Igor Russkikh) [1706905] - [netdrv] net: aquantia: synchronized flow control between mac/phy (Igor Russkikh) [1706905] - [netdrv] net: aquantia: make function aq_fw2x_update_stats static (Igor Russkikh) [1706905] - [netdrv] net: aquantia: remove some redundant variable initializations (Igor Russkikh) [1706905] - [netdrv] bnxt_en: Add device IDs 0x1806 and 0x1752 for 57500 devices. (Selvin Xavier) [1672208] - [scsi] scsi: fnic: Remove set but not used variable 'vdev' (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: no need to check return value of debugfs_create functions (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Update fnic driver version to 1.6.0.47 (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Enable fnic devcmd2 interface (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Adding devcmd2 init and posting interfaces (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Add devcmd2 initialization helpers (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: fnic devcmd2 controller definitions (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: fnic devcmd2 interface definitions (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Impose upper limit on max. # of CQs processed per intr (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: RQ enable and then post descriptors (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: delaying vnic dev enable till after req intr (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Warn when calling done for IO not issued to fw (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: fnic stats for max CQs processed and ISR time (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Add port speed stat to fnic debug stats (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: use fnic_lock to guard fnic->state_flags (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: vnic_rq_clean change BUG_ON to WARN_ON (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: change fnic queue depth to 256 (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: support to display 20G port speed (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Use vzalloc (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: switch to generic DMA API (Govindarajulu Varadarajan) [1656236] - [pci] PCI/PME: Fix possible use-after-free on remove (Myron Stowe) [1701834] - [pci] PCI/PME: Fix hotplug/sysfs remove deadlock in pcie_pme_remove() (Myron Stowe) [1701834] - [pci] PCI: Blacklist power management of Gigabyte X299 DESIGNARE EX PCIe ports (Myron Stowe) [1701834] - [tools] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel (Michael Petlan) [1709242] - [rpmspec] perf: remove bpf examples (Michael Petlan) [1709242] - [tools] perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (Michael Petlan) [1709242] - [tools] perf report: Don't crash on invalid inline debug information (Michael Petlan) [1709242] - [tools] perf cpu_map: Align cpu map synthesized events properly. (Michael Petlan) [1709242] - [tools] perf tools: Fix tracing_path_mount proper path (Michael Petlan) [1709242] - [tools] perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus (Michael Petlan) [1709242] - [tools] perf vendor events intel: Fix wrong filter_band* values for uncore events (Michael Petlan) [1709242] - [tools] Revert "perf tools: Fix PMU term format max value calculation" (Michael Petlan) [1709242] - [tools] tools headers uapi: Sync kvm.h copy (Michael Petlan) [1709242] - [tools] perf record: Use unmapped IP for inline callchain cursors (Michael Petlan) [1709242] - [tools] perf python: Use -Wno-redundant-decls to build with PYTHON=python3 (Michael Petlan) [1709242] - [tools] perf report: Don't try to map ip to invalid map (Michael Petlan) [1709242] - [tools] perf script python: Fix export-to-sqlite.py sample columns (Michael Petlan) [1709242] - [tools] perf script python: Fix export-to-postgresql.py occasional failure (Michael Petlan) [1709242] - [tools] perf Documentation: Fix out-of-tree asciidoctor man page generation (Michael Petlan) [1709242] - [tools] perf tools: Fix maps__find_symbol_by_name() (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of linux/if_link.h (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of linux/vhost.h (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copies of kvm headers (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of drm/drm.h (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of asm-generic/unistd.h (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of linux/perf_event.h (Michael Petlan) [1709242] - [tools] perf annotate: Fix parsing aarch64 branch instructions after objdump update (Michael Petlan) [1709242] - [tools] perf probe powerpc: Ignore SyS symbols irrespective of endianness (Michael Petlan) [1709242] - [tools] perf event-parse: Use fixed size string for comms (Michael Petlan) [1709242] - [tools] perf util: Fix bad memory access in trace info. (Michael Petlan) [1709242] - [tools] perf tools: Streamline bpf examples and headers installation (Michael Petlan) [1709242] - [tools] perf evsel: Fix potential null pointer dereference in perf_evsel__new_idx() (Michael Petlan) [1709242] - [tools] perf arm64: Fix include path for asm-generic/unistd.h (Michael Petlan) [1709242] - [tools] perf tests: Add breakpoint modify tests (Michael Petlan) [1709242] - [tools] perf annotate: Properly interpret indirect call (Michael Petlan) [1709242] - [tools] tools/lib/lockdep: Add dummy task_struct state member (Michael Petlan) [1709242] - [tools] tools/lib/lockdep: Add empty nmi.h (Michael Petlan) [1709242] - [tools] tools lib traceevent: Change to SPDX License format (Michael Petlan) [1709242] - [tools] perf llvm: Allow passing options to llc in addition to clang (Michael Petlan) [1709242] - [tools] perf parser: Improve error message for PMU address filters (Michael Petlan) [1709242] - [tools] perf tools: Disable parallelism for 'make clean' (Michael Petlan) [1709242] - [tools] perf auxtrace: Fix queue resize (Michael Petlan) [1709242] - [tools] perf python: Remove -mcet and -fcf-protection when building with clang (Michael Petlan) [1709242] - [tools] perf arm spe: Fix uninitialized record error variable (Michael Petlan) [1709242] - [tools] perf tools: Move syscall_64.tbl check into check-headers.sh (Michael Petlan) [1709242] - [tools] perf tools: Make check-headers.sh check based on kernel dir (Michael Petlan) [1709242] - [tools] perf tools: Fix check-headers.sh AND list path of execution (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename static variables and functions in event-parse.c (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename various pevent APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename internal parser related APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename various pevent get/set/is APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_find_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent field APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_data_ APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_register / unregister APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_filter* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename traceevent_plugin_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_function* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, tools lib lockdep: Rename 'enum pevent_errno' to 'enum tep_errno' (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename 'enum pevent_flag' to 'enum tep_flag' (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename traceevent_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent_set_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent_register_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent_read_number_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent print APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent parse APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent find APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent alloc / free APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent plugin related APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename 'struct pevent_record' to 'struct tep_record' (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename struct pevent to struct tep_handle (Michael Petlan) [1709242] - [tools] perf probe powerpc: Fix trace event post-processing (Michael Petlan) [1709242] - [tools] perf map: Optimize maps__fixup_overlappings() (Michael Petlan) [1709242] - [tools] perf map: Synthesize maps only for thread group leader (Michael Petlan) [1709242] - [tools] perf trace: Wire up the augmented syscalls with the syscalls:sys_enter_FOO beautifier (Michael Petlan) [1709242] - [tools] perf trace: Setup the augmented syscalls bpf-output event fields (Michael Petlan) [1709242] - [tools] perf bpf: Make bpf__setup_output_event() return the bpf-output event (Michael Petlan) [1709242] - [tools] perf trace: Handle "bpf-output" events associated with "__augmented_syscalls__" BPF map (Michael Petlan) [1709242] - [tools] perf bpf: Add wrappers to BPF_FUNC_probe_read(_str) functions (Michael Petlan) [1709242] - [tools] perf bpf: Add bpf__setup_output_event() strerror() counterpart (Michael Petlan) [1709242] - [tools] perf bpf: Generalize bpf__setup_stdout() (Michael Petlan) [1709242] - [tools] perf bpf: Make bpf__for_each_stdout_map() generic (Michael Petlan) [1709242] - [tools] perf bpf: Add bpf/stdio.h wrapper to bpf_perf_event_output function (Michael Petlan) [1709242] - [tools] perf bpf: Add struct bpf_map struct (Michael Petlan) [1709242] - [tools] perf report: Add --percent-type option (Michael Petlan) [1709242] - [tools] perf annotate: Add --percent-type option (Michael Petlan) [1709242] - [tools] perf annotate: Display percent type in stdio output (Michael Petlan) [1709242] - [tools] perf annotate: Make local period the default percent type (Michael Petlan) [1709242] - [tools] perf annotate: Add support to toggle percent type (Michael Petlan) [1709242] - [tools] perf annotate: Pass browser percent_type in annotate_browser__calc_percent() (Michael Petlan) [1709242] - [tools] perf annotate: Pass 'struct annotation_options' to map_symbol__annotation_dump() (Michael Petlan) [1709242] - [tools] perf annotate: Pass struct annotation_options to symbol__calc_lines() (Michael Petlan) [1709242] - [tools] perf annotate: Add percent_type to struct annotation_options (Michael Petlan) [1709242] - [tools] perf annotate: Add PERCENT_PERIOD_GLOBAL percent value (Michael Petlan) [1709242] - [tools] perf annotate: Add PERCENT_PERIOD_LOCAL percent value (Michael Petlan) [1709242] - [tools] perf annotate: Add PERCENT_HITS_GLOBAL percent value (Michael Petlan) [1709242] - [tools] perf annotate: Switch struct annotation_data::percent to array (Michael Petlan) [1709242] - [tools] perf annotate: Loop group events directly in annotation__calc_percent() (Michael Petlan) [1709242] - [tools] perf annotate: Rename hist to sym_hist in annotation__calc_percent (Michael Petlan) [1709242] - [tools] perf annotate: Rename local sample variables to data (Michael Petlan) [1709242] - [tools] perf annotate: Rename struct annotation_line::samples* to data* (Michael Petlan) [1709242] - [tools] perf annotate: Get rid of annotation__scnprintf_samples_period() (Michael Petlan) [1709242] - [tools] perf annotate: Make annotation_line__max_percent static (Michael Petlan) [1709242] - [tools] perf annotate: Make symbol__annotate_fprintf2() local (Michael Petlan) [1709242] - [tools] perf bpf: Add 'syscall_enter' probe helper for syscall enter tracepoints (Michael Petlan) [1709242] - [tools] perf tools: Drop unneeded bitmap_zero() calls (Michael Petlan) [1709242] - [tools] perf vendor events arm64: Enable JSON events for eMAG (Michael Petlan) [1709242] - [tools] perf report: Add GUI report support for s390 auxiliary trace (Michael Petlan) [1709242] - [tools] perf report: Add raw report support for s390 auxiliary trace (Michael Petlan) [1709242] - [tools] perf auxtrace: Support for perf report -D for s390 (Michael Petlan) [1709242] - [tools] perf trace: Use perf_evsel__sc_tp_{uint,ptr} for "id"/"args" handling syscalls:* events (Michael Petlan) [1709242] - [tools] perf trace: Setup struct syscall_tp for syscalls:sys_{enter,exit}_NAME events (Michael Petlan) [1709242] - [tools] perf trace: Allow setting up a syscall_tp struct without a format_field (Michael Petlan) [1709242] - [tools] perf trace: Rename some syscall_tp methods to raw_syscall (Michael Petlan) [1709242] - [tools] perf trace: Use beautifiers on syscalls:sys_enter_ handlers (Michael Petlan) [1709242] - [tools] perf trace: Associate vfs_getname()'ed pathname with fd returned from 'openat' (Michael Petlan) [1709242] - [tools] perf trace: Do not require --no-syscalls to suppress strace like output (Michael Petlan) [1709242] - [tools] perf bpf: Include uapi/linux/bpf.h from the 'perf trace' script's bpf.h (Michael Petlan) [1709242] - [tools] perf tools: Allow overriding MAX_NR_CPUS at compile time (Michael Petlan) [1709242] - [tools] perf bpf: Show better message when failing to load an object (Michael Petlan) [1709242] - [tools] perf list: Unify metric group description format with PMU event description (Michael Petlan) [1709242] - [tools] perf cs-etm: Generate branch sample for CS_ETM_TRACE_ON packet (Michael Petlan) [1709242] - [tools] perf cs-etm: Generate branch sample when receiving a CS_ETM_TRACE_ON packet (Michael Petlan) [1709242] - [tools] perf cs-etm: Support dummy address value for CS_ETM_TRACE_ON packet (Michael Petlan) [1709242] - [tools] perf cs-etm: Fix start tracing packet handling (Michael Petlan) [1709242] - [tools] perf build: Fix installation directory for eBPF (Michael Petlan) [1709242] - [tools] perf c2c report: Fix crash for empty browser (Michael Petlan) [1709242] - [tools] perf tests: Fix indexing when invoking subtests (Michael Petlan) [1709242] - [tools] perf trace: Beautify the AF_INET & AF_INET6 'socket' syscall 'protocol' args (Michael Petlan) [1709242] - [tools] perf trace beauty: Add beautifiers for 'socket''s 'protocol' arg (Michael Petlan) [1709242] - [tools] perf trace beauty: Do not print NULL strarray entries (Michael Petlan) [1709242] - [tools] perf beauty: Add a generator for IPPROTO_ socket's protocol constants (Michael Petlan) [1709242] - [tools] tools include uapi: Grab a copy of linux/in.h (Michael Petlan) [1709242] - [tools] perf tests: Fix complex event name parsing (Michael Petlan) [1709242] - [tools] perf evlist: Fix error out while applying initial delay and LBR (Michael Petlan) [1709242] - [tools] perf trace beauty: Default header_dir to cwd to work without parms (Michael Petlan) [1709242] - [tools] perf test: Fix subtest number when showing results (Michael Petlan) [1709242] - [tools] perf stat: Get rid of extra clock display function (Michael Petlan) [1709242] - [tools] perf tools: Use perf_evsel__match instead of open coded equivalent (Michael Petlan) [1709242] - [tools] perf tools: Fix struct comm_str removal crash (Michael Petlan) [1709242] - [tools] perf machine: Use last_match threads cache only in single thread mode (Michael Petlan) [1709242] - [tools] perf machine: Add threads__set_last_match function (Michael Petlan) [1709242] - [tools] perf machine: Add threads__get_last_match function (Michael Petlan) [1709242] - [tools] perf tools: Synthesize GROUP_DESC feature in pipe mode (Michael Petlan) [1709242] - [tools] perf script: Show correct offsets for DWARF-based unwinding (Michael Petlan) [1709242] - [tools] perf trace arm64: Use generated syscall table (Michael Petlan) [1709242] - [tools] perf arm64: Generate system call table from asm/unistd.h (Michael Petlan) [1709242] - [tools] tools include: Grab copies of arm64 dependent unistd.h files (Michael Petlan) [1709242] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh when event exists (Michael Petlan) [1709242] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh to ensure cleanups (Michael Petlan) [1709242] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh for powerpc64 (Michael Petlan) [1709242] - [tools] perf powerpc: Fix callchain ip filtering when return address is in a register (Michael Petlan) [1709242] - [tools] perf powerpc: Fix callchain ip filtering (Michael Petlan) [1709242] - [tools] perf list: Add missing documentation for --desc and --debug options (Michael Petlan) [1709242] - [tools] perf stat: Add transaction flag (-T) support for s390 (Michael Petlan) [1709242] - [tools] perf json: Add s390 transaction counter definition (Michael Petlan) [1709242] - [tools] perf list: Add s390 support for detailed PMU event description (Michael Petlan) [1709242] - [tools] Revert "perf list: Add s390 support for detailed/verbose PMU event description" (Michael Petlan) [1709242] - [tools] perf cs-etm: Bail out immediately for instruction sample failure (Michael Petlan) [1709242] - [tools] perf cs-etm: Introduce invalid address macro (Michael Petlan) [1709242] - [tools] perf hists: Clarify callchain disabling when available (Michael Petlan) [1709242] - [tools] perf tests: Check that complex event name is parsed correctly (Michael Petlan) [1709242] - [arm64] arm64: perf: Reject stand-alone CHAIN events for PMUv3 (Michael Petlan) [1709242] - [x86] perf/x86/amd/uncore: Set ThreadMask and SliceMask for L3 Cache perf events (Michael Petlan) [1709242] - [x86] perf/x86/intel/uncore: Fix PCI BDF address of M3UPI on SKX (Michael Petlan) [1709242] - [kernel] perf/ring_buffer: Prevent concurent ring buffer access (Michael Petlan) [1709242] - [x86] perf/x86/intel/uncore: Use boot_cpu_data.phys_proc_id instead of hardcorded physical package ID 0 (Michael Petlan) [1709242] - [kernel] perf/core: Fix perf_pmu_unregister() locking (Michael Petlan) [1709242] - [kernel] perf/core: Add sanity check to deal with pinned event failure (Michael Petlan) [1709242] - [kernel] perf/core: Force USER_DS when recording user stack data (Michael Petlan) [1709242] - [include] perf/UAPI: Clearly mark __PERF_SAMPLE_CALLCHAIN_EARLY as internal use (Michael Petlan) [1709242] - [x86] perf/x86/intel: Add support/quirk for the MISPREDICT bit on Knights Landing CPUs (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Simplify breakpoint enable in perf_event_modify_breakpoint (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Enable breakpoint in modify_user_hw_breakpoint (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Remove superfluous bp->attr.disabled = 0 (Michael Petlan) [1709242] - [kernel] arm64: perf: Add cap_user_time aarch64 (Michael Petlan) [1709242] - [include] arm_pmu: Add support for 64bit event counters (Michael Petlan) [1709242] - [x86] perf/x86/intel: Support Extended PEBS for Goldmont Plus (Michael Petlan) [1709242] - [x86] perf/x86/intel/ds: Handle PEBS overflow for fixed counters (Michael Petlan) [1709242] - [x86] perf/x86/intel: Support PEBS on fixed counters (Michael Petlan) [1709242] - [kernel] perf, tools: Use correct articles in comments (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Clean up and consolidate modify_user_hw_breakpoint_check() (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Pass new breakpoint type to modify_breakpoint_slot() (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Remove default hw_breakpoint_arch_parse() (Michael Petlan) [1709242] - [arm64] perf/arch/arm64: Implement hw_breakpoint_arch_parse() (Michael Petlan) [1709242] - [powerpc] perf/arch/powerpc: Implement hw_breakpoint_arch_parse() (Michael Petlan) [1709242] - [x86] perf/arch/x86: Implement hw_breakpoint_arch_parse() (Michael Petlan) [1709242] - [arm64] perf/hw_breakpoint: Pass arch breakpoint struct to arch_check_bp_in_kernelspace() (Michael Petlan) [1709242] - [kernel] perf/core: Change perf_mmap_fault() return type to 'vm_fault_t' (Michael Petlan) [1709242] - [x86] perf/x86/intel/lbr: Optimize context switches for the LBR call stack (Michael Petlan) [1709242] - [netdrv] cnic: Refactor code and mark expected switch fall-through (Nilesh Javali) [1665302] - [netdrv] cnic: remove use of VLAN_TAG_PRESENT (Nilesh Javali) [1665302] - [netdrv] cnic: use kvzalloc to allocate memory for csk_tbl (Nilesh Javali) [1665302] - [netdrv] cnic: remove redundant pointer req and variable func (Nilesh Javali) [1665302] - [scsi] drivers: Remove useless trailing comments from mmiowb() invocations (Nilesh Javali) [1665307] - [scsi] scsi: qedf: remove set but not used variables (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Update the driver version to 8.37.25.20 (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add return value to log message if scsi_add_host fails (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Print fcport information on wait for upload timeout (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check the return value of start_xmit (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Log message if scsi_add_host fails (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check for fcoe_libfc_config failure (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add comment to display logging levels (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add port_id for fcport into initiate_cleanup debug message (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add LBA to underrun debug messages (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Print scsi_cmd backpointer in good completion path if the command is still being used (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add driver state to 'driver_stats' debugfs node (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Change MSI-X load error message (Nilesh Javali) [1665301] - [scsi] scsi: qedf: remove memset/memcpy to nfunc and use func instead (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Remove set but not used variable 'fr_len' (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Update the driver version to 8.37.25.19 (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Fix lport may be used uninitialized warning (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Correctly handle refcounting of rdata (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Cleanup rrq_work after QEDF_CMD_OUTSTANDING is cleared (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check for tm_flags instead of cmd_type during cleanup (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add a flag to help debugging io_req which could not be cleaned (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Don't send ABTS for under run scenario (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Don't queue anything if upload is in progress (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check both the FCF and fabric ID before servicing clear virtual link (Nilesh Javali) [1665301] - [scsi] scsi: qedf: fc_rport_priv reference counting fixes (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add missing return in qedf_scsi_done() (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Wait for upload and link down processing during soft ctx reset (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add additional checks for io_req->sc_cmd validity (Nilesh Javali) [1665301] - [scsi] scsi: qedf: fixup bit operations (Nilesh Javali) [1665301] - [scsi] scsi: qedf: fixup locking in qedf_restart_rport() (Nilesh Javali) [1665301] - [scsi] scsi: qedf: missing kref_put in qedf_xmit() (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check for link state before processing LL2 packets and send fipvlan retries (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add missing fc_disc_init call after allocating lport (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Correct the memory barriers in qedf_ring_doorbell (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Use a separate completion for cleanup commands (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Modify abort and tmf handler to handle edge condition and flush (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Modify flush routine to handle all I/Os and TMF (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Simplify s/g list mapping (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add missing return in qedf_post_io_req() in the fcport offload check (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Correct xid range overlap between offloaded requests and libfc requests (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Do not retry ELS request if qedf_alloc_cmd fails (Nilesh Javali) [1665301] - [scsi] scsi: fcoe: make use of fip_mode enum complete (Nilesh Javali) [1665301] - [scsi] scsi: stop setting up request->special (Nilesh Javali) [1665301] - [scsi] scsi: qedf: no need to check return value of debugfs_create functions (Nilesh Javali) [1665301] - [scsi] cross-tree: phase out dma_zalloc_coherent() (Nilesh Javali) [1665301] - [scsi] scsi: qedf: NULL check before some freeing functions is not needed (Nilesh Javali) [1665301] - [scsi] scsi: qedf: fully convert to the generic DMA API (Nilesh Javali) [1665301] - [scsi] scsi: qedi: Adjust termination and offload ramrod timers (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Abort ep termination if offload not scheduled (Nilesh Javali) [1665300] - [scsi] scsi: qedi: fix spelling mistake "oflload" -> "offload" (Nilesh Javali) [1665300] - [scsi] scsi: qedi: remove declaration of nvm_image from stack (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Remove set but not used variable 'cls_sess' (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Add ep_state for login completion on un-reachable targets (Nilesh Javali) [1665300] - [scsi] cross-tree: phase out dma_zalloc_coherent() (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Update driver version to 8.33.0.21 (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Move LL2 producer index processing in BH. (Nilesh Javali) [1665300] - [scsi] scsi: qedi: add module param to set ping packet size (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Add packet filter in light L2 Rx path. (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Check for session online before getting iSCSI TLV data. (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Replace PAGE_SIZE with QEDI_PAGE_SIZE (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Fix spelling mistake "OUSTANDING" -> "OUTSTANDING" (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Cleanup redundant QEDI_PAGE_SIZE macro definition (Nilesh Javali) [1665300] - [scsi] scsi: qedi: fully convert to the generic DMA API (Nilesh Javali) [1665300] - [x86] x86/kdump: Fall back to reserve high crashkernel memory (Pingfan Liu) [1682984] - [x86] x86/kdump: Have crashkernel=X reserve under 4G by default (Pingfan Liu) [1682984] - [x86] Revert "[x86] x86/kdump: make the behavior of crashkernel=X consistent with kaslr" (Pingfan Liu) [1682984] - [scsi] scsi: core: avoid pre-allocating big SGL for data (Ewan Milne) [1698297] - [scsi] scsi: core: avoid pre-allocating big SGL for protection information (Ewan Milne) [1698297] - [nvme] scsi: lib/sg_pool.c: improve APIs for allocating sg pool (Ewan Milne) [1698297] - [kvm] KVM: PPC: Book3S HV: Save/restore vrsave register in kvmhv_p9_guest_entry() (Suraj Jitindar Singh) [1700272] - [fs] ext4: avoid kernel warning when writing the superblock to a dead device (Lukas Czerner) [1695021] - [fs] ext4: cond_resched in work-heavy group loops (Lukas Czerner) [1698815] - [fs] ext4: ignore e_value_offs for xattrs with value-in-ea-inode (Lukas Czerner) [1698815] - [fs] ext4: protect journal inode's blocks using block_validity (Lukas Czerner) [1698815] - [fs] ext4: use BUG() instead of BUG_ON(1) (Lukas Czerner) [1698815] - [fs] jbd2: check superblock mapped prior to committing (Lukas Czerner) [1698815] - [fs] ext4: remove incorrect comment for NEXT_ORPHAN() (Lukas Czerner) [1698815] - [fs] ext4: make sanity check in mballoc more strict (Lukas Czerner) [1698815] - [fs] ext4: fix use-after-free race with debug_want_extra_isize (Lukas Czerner) [1698815] - [fs] ext4: fix ext4_show_options for file systems w/o journal (Lukas Czerner) [1698815] - [fs] ext4: actually request zeroing of inode table after grow (Lukas Czerner) [1698815] - [fs] Revert "ext4: use ext4_write_inode() when fsyncing w/o a journal" (Lukas Czerner) [1698815] - [fs] ext4: fix some error pointer dereferences (Lukas Czerner) [1698815] - [fs] ext4: fix special inode number checks in __ext4_iget() (Lukas Czerner) [1698815] - [fs] ext4: prohibit fstrim in norecovery mode (Lukas Czerner) [1698815] - [fs] ext4: cleanup bh release code in ext4_ind_remove_space() (Lukas Czerner) [1698815] - [fs] ext4: brelse all indirect buffer in ext4_ind_remove_space() (Lukas Czerner) [1698815] - [fs] ext4: report real fs size after failed resize (Lukas Czerner) [1698815] - [fs] ext4: add missing brelse() in add_new_gdb_meta_bg() (Lukas Czerner) [1698815] - [fs] ext4: remove useless ext4_pin_inode() (Lukas Czerner) [1698815] - [fs] ext4: avoid panic during forced reboot (Lukas Czerner) [1698815] - [fs] ext4: fix data corruption caused by unaligned direct AIO (Lukas Czerner) [1698815] - [fs] ext4: fix NULL pointer dereference while journal is aborted (Lukas Czerner) [1698815] - [fs] jbd2: jbd2_get_transaction does not need to return a value (Lukas Czerner) [1698815] - [fs] jbd2: fix invalid descriptor block checksum (Lukas Czerner) [1698815] - [fs] ext4: fix bigalloc cluster freeing when hole punching under load (Lukas Czerner) [1698815] - [fs] ext4: add sysfs attr /sys/fs/ext4//journal_task (Lukas Czerner) [1698815] - [fs] ext4: Change debugging support help prefix from EXT4 to Ext4 (Lukas Czerner) [1698815] - [fs] ext4: fix compile error when using BUFFER_TRACE (Lukas Czerner) [1698815] - [fs] jbd2: fix compile warning when using JBUFFER_TRACE (Lukas Czerner) [1698815] - [fs] ext4: annotate more implicit fall throughs (Lukas Czerner) [1698815] - [fs] ext4: annotate implicit fall throughs (Lukas Czerner) [1698815] - [fs] ext4: don't update s_rev_level if not required (Lukas Czerner) [1698815] - [fs] jbd2: fold jbd2_superblock_csum_{verify,set} into their callers (Lukas Czerner) [1698815] - [fs] jbd2: fix race when writing superblock (Lukas Czerner) [1698815] - [fs] ext4: fix crash during online resizing (Lukas Czerner) [1698815] - [fs] ext4: disallow files with EXT4_JOURNAL_DATA_FL from EXT4_IOC_SWAP_BOOT (Lukas Czerner) [1698815] - [fs] ext4: add mask of ext4 flags to swap (Lukas Czerner) [1698815] - [fs] ext4: update quota information while swapping boot loader inode (Lukas Czerner) [1698815] - [fs] ext4: cleanup pagecache before swap i_data (Lukas Czerner) [1698815] - [fs] ext4: fix check of inode in swap_inode_boot_loader (Lukas Czerner) [1698815] - [fs] ext4: unlock unused_pages timely when doing writeback (Lukas Czerner) [1698815] - [fs] ext4: cleanup clean_bdev_aliases() calls (Lukas Czerner) [1698815] - [fs] jbd2: discard dirty data when forgetting an un-journalled buffer (Lukas Czerner) [1698815] - [fs] jbd2: clear dirty flag when revoking a buffer from an older transaction (Lukas Czerner) [1698815] - [fs] ext4: replace opencoded i_writecount usage with inode_is_open_for_write() (Lukas Czerner) [1698815] - [fs] jbd2: fix deadlock while checkpoint thread waits commit thread to finish (Lukas Czerner) [1698815] - [fs] ext4: use IS_ENCRYPTED() to check encryption status (Lukas Czerner) [1698815] - [fs] ext4: track writeback errors using the generic tracking infrastructure (Lukas Czerner) [1698815] - [fs] ext4: use ext4_write_inode() when fsyncing w/o a journal (Lukas Czerner) [1698815] - [fs] ext4: fix a potential fiemap/page fault deadlock w/ inline_data (Lukas Czerner) [1698815] - [fs] ext4: make sure enough credits are reserved for dioread_nolock writes (Lukas Czerner) [1698815] - [fs] ext4: check for shutdown and r/o file system in ext4_write_inode() (Lukas Czerner) [1698815] - [fs] ext4: force inode writes when nfsd calls commit_metadata() (Lukas Czerner) [1698815] - [fs] ext4: avoid declaring fs inconsistent due to invalid file handles (Lukas Czerner) [1698815] - [fs] ext4: include terminating u32 in size of xattr entries when expanding inodes (Lukas Czerner) [1698815] - [fs] ext4: compare old and new mode before setting update_mode flag (Lukas Czerner) [1698815] - [fs] ext4: fix EXT4_IOC_GROUP_ADD ioctl (Lukas Czerner) [1698815] - [fs] ext4: hard fail dax mount on unsupported devices (Lukas Czerner) [1698815] - [fs] ext4: remove redundant condition check (Lukas Czerner) [1698815] - [fs] jbd2: clean up indentation issue, replace spaces with tab (Lukas Czerner) [1698815] - [fs] ext4: clean up indentation issues, remove extraneous tabs (Lukas Czerner) [1698815] - [fs] ext4: missing unlock/put_page() in ext4_try_to_write_inline_data() (Lukas Czerner) [1698815] - [fs] ext4: fix possible use after free in ext4_quota_enable (Lukas Czerner) [1698815] - [fs] jbd2: avoid long hold times of j_state_lock while committing a transaction (Lukas Czerner) [1698815] - [fs] ext4: add ext4_sb_bread() to disambiguate ENOMEM cases (Lukas Czerner) [1698815] - [fs] ext4: remove unneeded brelse call in ext4_xattr_inode_update_ref() (Lukas Czerner) [1698815] - [fs] ext4: fix use-after-free race in ext4_remount()'s error path (Lukas Czerner) [1698815] - [fs] ext4: don't open-code ERR_CAST (Lukas Czerner) [1698815] - [fs] ext4: cache NULL when both default_acl and acl are NULL (Lukas Czerner) [1698815] - [fs] ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR (Lukas Czerner) [1698815] - [fs] ext4: fix setattr project check in fssetxattr ioctl (Lukas Czerner) [1698815] - [fs] ext4: convert fault handler to use vm_fault_t type (Lukas Czerner) [1698815] - [fs] ext4: fix EXT4_IOC_SWAP_BOOT (Lukas Czerner) [1698815] - [fs] ext4: fix argument checking in EXT4_IOC_MOVE_EXT (Lukas Czerner) [1698815] - [fs] ext4: fix reserved cluster accounting at page invalidation time (Lukas Czerner) [1698815] - [fs] ext4: adjust reserved cluster count when removing extents (Lukas Czerner) [1698815] - [fs] ext4: reduce reserved cluster count by number of allocated clusters (Lukas Czerner) [1698815] - [fs] ext4: fix reserved cluster accounting at delayed write time (Lukas Czerner) [1698815] - [fs] ext4: add new pending reservation mechanism (Lukas Czerner) [1698815] - [fs] ext4: generalize extents status tree search functions (Lukas Czerner) [1698815] - [fs] ext4: readpages() should submit IO as read-ahead (Lukas Czerner) [1698815] - [fs] ext4: improve code readability in ext4_iget() (Lukas Czerner) [1698815] - [fs] ext4: use swap macro in mext_page_double_lock (Lukas Czerner) [1698815] - [fs] ext4: fix warning message in ext4_enable_quotas() (Lukas Czerner) [1698815] - [fs] ext4: super: extend timestamps to 40 bits (Lukas Czerner) [1698815] - [fs] jbd2: replace current_kernel_time64 with ktime equivalent (Lukas Czerner) [1698815] - [fs] ext4: use timespec64 for all inode times (Lukas Czerner) [1698815] - [fs] ext4: use ktime_get_real_seconds for i_dtime (Lukas Czerner) [1698815] - [fs] ext4: use 64-bit timestamps for mmp_time (Lukas Czerner) [1698815] - [scsi] scsi: smartpqi: Use HCTX_TYPE_DEFAULT for blk_mq_tag_set->map (Don Brace) [1665565] - [scsi] scsi: smartpqi: bump driver version (Don Brace) [1665565] - [scsi] scsi: smartpqi: add spdx (Don Brace) [1665565] - [scsi] scsi: smartpqi: update copyright (Don Brace) [1665565] - [scsi] scsi: smartpqi: add H3C controller IDs (Don Brace) [1665565] - [scsi] scsi: smartpqi: increase LUN reset timeout (Don Brace) [1665565] - [scsi] scsi: smartpqi: Reporting 'logical unit failure' (Don Brace) [1665565] - [scsi] scsi: smartpqi_init: fix boolean expression in pqi_device_remove_start (Don Brace) [1665565] - [scsi] scsi: smartpqi: call pqi_free_interrupts() in pqi_shutdown() (Don Brace) [1665565] - [scsi] scsi: smartpqi: fix build warnings (Don Brace) [1665565] - [scsi] scsi: smartpqi: update driver version (Don Brace) [1665565] - [scsi] scsi: smartpqi: add ofa support (Don Brace) [1665565] - [scsi] scsi: smartpqi: increase fw status register read timeout (Don Brace) [1665565] - [scsi] scsi: smartpqi: bump driver version (Don Brace) [1665565] - [scsi] scsi: smartpqi: add smp_utils support (Don Brace) [1665565] - [scsi] scsi: smartpqi: correct lun reset issues (Don Brace) [1665565] - [scsi] scsi: smartpqi: correct volume status (Don Brace) [1665565] - [scsi] scsi: smartpqi: do not offline disks for transient did no connect conditions (Don Brace) [1665565] - [scsi] scsi: smartpqi: allow for larger raid maps (Don Brace) [1665565] - [scsi] scsi: smartpqi: check for null device pointers (Don Brace) [1665565] - [scsi] scsi: smartpqi: enhance numa node detection (Don Brace) [1665565] - [scsi] scsi: smartpqi: wake up drives after os resumes from suspend (Don Brace) [1665565] - [scsi] scsi: smartpqi: fix disk name mount point (Don Brace) [1665565] - [scsi] scsi: smartpqi: add h3c ssid (Don Brace) [1665565] - [scsi] scsi: smartpqi: add sysfs attributes (Don Brace) [1665565] - [scsi] scsi: smartpqi: refactor sending controller raid requests (Don Brace) [1665565] - [scsi] scsi: smartpqi: turn off lun data caching for ptraid (Don Brace) [1665565] - [scsi] scsi: smartpqi: correct host serial num for ssa (Don Brace) [1665565] - [scsi] scsi: smartpqi: add no_write_same for logical volumes (Don Brace) [1665565] - [scsi] scsi: smartpqi: Add retries for device reset (Don Brace) [1665565] - [scsi] scsi: smartpqi: add support for PQI Config Table handshake (Don Brace) [1665565] - [scsi] scsi: smartpqi: fully convert to the generic DMA API (Don Brace) [1665565] - [net] rtnetlink: always put IFLA_LINK for links with a link-netnsid (Sabrina Dubroca) [1711933] - [net] ipv6: add inet6_fill_args (Ivan Vecera) [1711956] - [net] ipv4: add inet_fill_args (Ivan Vecera) [1711956] - [net] rtnetlink: s/IFLA_IF_NETNSID/IFLA_TARGET_NETNSID/g (Ivan Vecera) [1711956] - [include] if_link: add IFLA_TARGET_NETNSID alias (Ivan Vecera) [1711956] - [net] rtnetlink: move type calculation out of loop (Ivan Vecera) [1711956] - [net] ipv6: enable IFA_TARGET_NETNSID for RTM_GETADDR (Ivan Vecera) [1711956] - [net] ipv4: enable IFA_TARGET_NETNSID for RTM_GETADDR (Ivan Vecera) [1711956] - [include] if_addr: add IFA_TARGET_NETNSID (Ivan Vecera) [1711956] - [net] rtnetlink: add rtnl_get_net_ns_capable() (Ivan Vecera) [1711956] - [tools] selftests: forwarding: mirror_gre_vlan_bridge_1q: Fix untagged test (Hangbin Liu) [1710283] - [tools] selftests: forwarding: Tweak tc filters for mirror-to-gretap tests (Hangbin Liu) [1710283] - [tools] selftests: forwarding: lib: Avoid trapping soft devices (Hangbin Liu) [1710283] - [tools] selftests: pmtu: maximum MTU for vti4 is 2^16-1-20 (Hangbin Liu) [1704659] - [net] sched: red: inform offloads about harddrop setting (Ivan Vecera) [1710999] - [net] tls: fix copy to fragments in reencrypt (Ivan Vecera) [1710366] - [net] tls: don't copy negative amounts of data in reencrypt (Ivan Vecera) [1710366] - [net] tls: don't leak IV and record seq when offload fails (Ivan Vecera) [1710366] - [net] tls: avoid potential deadlock in tls_set_device_offload_rx() (Ivan Vecera) [1710366] - [net] tls: prevent bad memory access in tls_is_sk_tx_device_offloaded() (Ivan Vecera) [1710366] - [net] tls: Combined memory allocation for decryption request (Ivan Vecera) [1710366] - [net] tls: Skip zerocopy path for ITER_KVEC (Ivan Vecera) [1710366] - [net] tls: Fix copy-paste error in tls_device_reencrypt (Ivan Vecera) [1710366] - [net] tls: Add rx inline crypto offload (Ivan Vecera) [1710366] - [net] tls: Fill software context without allocation (Ivan Vecera) [1710366] - [net] tls: Split tls_sw_release_resources_rx (Ivan Vecera) [1710366] - [net] tls: Split decrypt_skb to two functions (Ivan Vecera) [1710366] - [net] tcp: Don't coalesce decrypted and encrypted SKBs (Ivan Vecera) [1710366] - [include] Add TLS rx resync NDO (Ivan Vecera) [1710366] - [net] Add TLS RX offload feature (Ivan Vecera) [1710366] - [net] Add decrypted field to skb (Ivan Vecera) [1710366] - [net] tls: Use aead_request_alloc/free for request alloc/free (Ivan Vecera) [1710366] - [net] tls: Refactor tls_offload variable names (Ivan Vecera) [1703389]- [netdrv] qede: use ethtool_rx_flow_rule() to remove duplicated parser code (Manish Chopra) [1663274] - [netdrv] qede: place ethtool_rx_flow_spec after code after TC flower codebase (Manish Chopra) [1663274] - [netdrv] drivers: net: use flow action infrastructure (Manish Chopra) [1663274] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Manish Chopra) [1663274] - [infiniband] RDMA: Cleanup undesired pd->uobject usage (Manish Chopra) [1663274] - [netdrv] qede: Populate mbi version in ethtool driver query data. (Manish Chopra) [1663274] - [netdrv] qed: Define new MF bit for no_vlan config (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "faspath" -> "fastpath" (Manish Chopra) [1663274] - [netdrv] qed: Fix the DORQ's attentions handling (Manish Chopra) [1663274] - [netdrv] qed: Fix missing DORQ attentions (Manish Chopra) [1663274] - [netdrv] qed: Fix the doorbell address sanity check (Manish Chopra) [1663274] - [netdrv] qed: Delete redundant doorbell recovery types (Manish Chopra) [1663274] - [netdrv] qede: fix write to free'd pointer error and double free of ptp (Manish Chopra) [1663274] - [netdrv] qede: Fix internal loopback failure with jumbo mtu configuration (Manish Chopra) [1663274] - [netdrv] qed: Read device port count from the shmem (Manish Chopra) [1663274] - [netdrv] qed: Fix iWARP syn packet mac address validation. (Manish Chopra) [1663274] - [netdrv] qed: Fix iWARP buffer size provided for syn packet processing. (Manish Chopra) [1663274] - [netdrv] qed: fix indentation issue with statements in an if-block (Manish Chopra) [1663274] - [netdrv] qede: Add ethtool interface for SmartAN query. (Manish Chopra) [1663274] - [netdrv] qed: Add API for SmartAN query. (Manish Chopra) [1663274] - [netdrv] qed*: Advance drivers version to 8.37.0.20 (Manish Chopra) [1663274] - [netdrv] qed: Change verbosity for coalescing message. (Manish Chopra) [1663274] - [netdrv] qede: Fix system crash on configuring channels. (Manish Chopra) [1663274] - [netdrv] qed: Consider TX tcs while deriving the max num_queues for PF. (Manish Chopra) [1663274] - [netdrv] qed: Assign UFP TC value to vlan priority in UFP mode. (Manish Chopra) [1663274] - [netdrv] qed: Fix EQ full firmware assert. (Manish Chopra) [1663274] - [netdrv] qed: Fix stack out of bounds bug (Manish Chopra) [1663274] - [netdrv] qed: Fix system crash in ll2 xmit (Manish Chopra) [1663274] - [netdrv] qed: Fix VF probe failure while FLR (Manish Chopra) [1663274] - [netdrv] qed: Fix LACP pdu drops for VFs (Manish Chopra) [1663274] - [netdrv] qed: Fix bug in tx promiscuous mode settings (Manish Chopra) [1663274] - [netdrv] qede: Error recovery process (Manish Chopra) [1663274] - [netdrv] qed: Add infrastructure for error detection and recovery (Manish Chopra) [1663274] - [netdrv] qed: Revise load sequence to avoid PCI errors (Manish Chopra) [1663274] - [netdrv] qed: Mark expected switch fall-through (Manish Chopra) [1663274] - [include] qed: remove duplicated include from qed_if.h (Manish Chopra) [1663274] - [infiniband] RDMA/qedr: Fix out of bounds index check in query pkey (Manish Chopra) [1663274] - [netdrv] qed: Fix qed_ll2_post_rx_buffer_notify_fw() by adding a write memory barrier (Manish Chopra) [1663274] - [include] qed: Fix qed_chain_set_prod() for PBL chains with non power of 2 page count (Manish Chopra) [1663274] - [infiniband] infiniband/qedr: Potential null ptr dereference of qp (Manish Chopra) [1663274] - [netdrv] qed: Fix an error code qed_ll2_start_xmit() (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "Dispalying" -> "Displaying" (Manish Chopra) [1663274] - [netdrv] qede: Register l2 queues with doorbell overflow recovery mechanism (Manish Chopra) [1663274] - [netdrv] qed: Expose the doorbell overflow recovery mechanism to the protocol drivers (Manish Chopra) [1663274] - [netdrv] qed: Register light L2 queues with doorbell overflow recovery mechanism (Manish Chopra) [1663274] - [netdrv] qed: Register slowpath queue doorbell with doorbell overflow recovery mechanism (Manish Chopra) [1663274] - [netdrv] qed: Use the doorbell overflow recovery mechanism in case of doorbell overflow (Manish Chopra) [1663274] - [netdrv] qed: Add doorbell overflow recovery mechanism (Manish Chopra) [1663274] - [netdrv] qede - Add a statistic for a case where driver drops tx packet due to memory allocation failure. (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "attnetion" -> "attention" (Manish Chopra) [1663274] - [netdrv] qed: Add support for MBI upgrade over MFW. (Manish Chopra) [1663274] - [netdrv] qede: Update link status only when interface is ready. (Manish Chopra) [1663274] - [netdrv] qede: Simplify the usage of qede-flags. (Manish Chopra) [1663274] - [netdrv] qed: Display port_id in the UFP debug messages. (Manish Chopra) [1663274] - [netdrv] qed: Fix QM getters to always return a valid pq (Manish Chopra) [1663274] - [netdrv] qed: Fix bitmap_weight() check (Manish Chopra) [1663274] - [netdrv] drivers/net/ethernet/qlogic/qed/qed_rdma.h: fix typo (Manish Chopra) [1663274] - [netdrv] qed: Fix reading wrong value in loop condition (Manish Chopra) [1663274] - [netdrv] qed: Fix rdma_info structure allocation (Manish Chopra) [1663274] - [netdrv] qed: Fix overriding offload_tc by protocols without APP TLV (Manish Chopra) [1663274] - [netdrv] qed: Fix PTT leak in qed_drain() (Manish Chopra) [1663274] - [netdrv] qed: Fix potential memory corruption (Manish Chopra) [1663274] - [netdrv] qed: Fix SPQ entries not returned to pool in error flows (Manish Chopra) [1663274] - [netdrv] qed: Fix blocking/unlimited SPQ entries leak (Manish Chopra) [1663274] - [netdrv] qed: Fix memory/entry leak in qed_init_sp_request() (Manish Chopra) [1663274] - [netdrv] qed: fix link config error handling (Manish Chopra) [1663274] - [netdrv] qed: Fix static checker warning (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "transcevier" -> "transceiver" (Manish Chopra) [1663274] - [netdrv] qed: Prevent link getting down in case of autoneg-off. (Manish Chopra) [1663274] - [netdrv] qede: Check available link modes before link set from ethtool. (Manish Chopra) [1663274] - [netdrv] qed: Add supported link and advertise link to display in ethtool. (Manish Chopra) [1663274] - [netdrv] qed: Added supported transceiver modes, speed capability and board config to HSI. (Manish Chopra) [1663274] - [netdrv] qed: Align local and global PTT to propagate through the APIs. (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "Ireelevant" -> "Irrelevant" (Manish Chopra) [1663274] - [netdrv] qed: Avoid implicit enum conversion in qed_ooo_submit_tx_buffers (Manish Chopra) [1663274] - [infiniband] RDMA/qedr: Remove enumerated type qed_roce_ll2_tx_dest (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "b_cb_registred" -> "b_cb_registered" (Manish Chopra) [1663274] - [netdrv] qed: Remove set but not used variable 'p_archipelago' (Manish Chopra) [1663274] - [netdrv] qed: Avoid implicit enum conversion in qed_iwarp_parse_rx_pkt (Manish Chopra) [1663274] - [netdrv] qed: Avoid constant logical operation warning in qed_vf_pf_acquire (Manish Chopra) [1663274] - [netdrv] qed: Avoid implicit enum conversion in qed_roce_mode_to_flavor (Manish Chopra) [1663274] - [netdrv] qed: Fix mask parameter in qed_vf_prep_tunn_req_tlv (Manish Chopra) [1663274] - [netdrv] qed: Avoid implicit enum conversion in qed_set_tunn_cls_info (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "toogle" -> "toggle" (Manish Chopra) [1663274] - [netdrv] net: qed: list usage cleanup (Manish Chopra) [1663274] - [netdrv] net: qede: Use FIELD_SIZEOF directly instead of reimplementing its function (Manish Chopra) [1663274] - [netdrv] qed: remove duplicated include from qed_cxt.c (Manish Chopra) [1663274] - [netdrv] qed*: Utilize FW 8.37.7.0 (Manish Chopra) [1663274] - [infiniband] RDMA/qedr: remove set but not used variable 'ctx' (Manish Chopra) [1663274] - [netdrv] qed: Lower the severity of a dcbx log message. (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "comparsion" -> "comparison" (Manish Chopra) [1663274] - [netdrv] net_sched: remove list_head from tc_action (Manish Chopra) [1663274] - [infiniband] qedr: Add user space support for SRQ (Manish Chopra) [1663274] - [infiniband] qedr: Add support for kernel mode SRQ's (Manish Chopra) [1663274] - [infiniband] qedr: Add wrapping generic structure for qpidr and adjust idr routines. (Manish Chopra) [1663274] - [netdrv] qed/qede: qede_setup_tc() can be static (Manish Chopra) [1663274] - [netdrv] qede: Ingress tc flower offload (drop action) support. (Manish Chopra) [1663274] - [netdrv] qede: Add destination ip based flow profile. (Manish Chopra) [1663274] - [netdrv] qed/qede: Multi CoS support. (Manish Chopra) [1663274] - [netdrv] qede: qede_fp: Mark expected switch fall-through (Manish Chopra) [1663274] - [netdrv] qed: qed_dev: Mark expected switch fall-throughs (Manish Chopra) [1663274] - [netdrv] qed: Add Multi-TC RoCE support (Manish Chopra) [1663274] - [netdrv] qed: Add DCBX API - qed_dcbx_get_priority_tc() (Manish Chopra) [1663274] - [netdrv] qed: Make some functions static (Manish Chopra) [1663274] - [netdrv] qed: remove redundant functions qed_get_cm_pq_idx_rl (Manish Chopra) [1663274] - [netdrv] qed: remove redundant functions qed_set_gft_event_id_cm_hdr (Manish Chopra) [1663274] - [netdrv] qede: Add driver callbacks for eeprom module query. (Manish Chopra) [1663274] - [netdrv] qed: Add qed APIs for PHY module query. (Manish Chopra) [1663274] - [netdrv] qed: remove redundant pointer 'name' (Manish Chopra) [1663274] - [iommu] iommu: Don't print warning when IOMMU driver only supports unmanaged domains (Jerry Snitselaar) [1707616 1694210 1689183] - [iommu] iommu/vt-d: Check capability before disabling protected memory (Jerry Snitselaar) [1694210] - [iommu] iommu/amd: fix sg->dma_address for sg->offset bigger than PAGE_SIZE (Jerry Snitselaar) [1694210 1694029] - [iommu] iommu/amd: Fix NULL dereference bug in match_hid_uid (Jerry Snitselaar) [1677737 1694210] - [iommu] iommu/vt-d: Fix NULL pointer reference in intel_svm_bind_mm() (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Remove unnecessary WARN_ON() (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Check identity map for hot-added devices (Jerry Snitselaar) [1694210] - [iommu] iommu/dmar: Fix buffer overflow during PCI bus notification (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Fix memory leak in intel_iommu_put_resv_regions() (Jerry Snitselaar) [1694210] - [iommu] iommu/amd: Fix amd_iommu=force_isolation (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Handle domain agaw being less than iommu agaw (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Use memunmap to free memremap (Jerry Snitselaar) [1694210] - [iommu] amd/iommu: Fix Guest Virtual APIC Log Tail Address Register (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Fix NULL pointer dereference in prq_event_thread() (Jerry Snitselaar) [1694210] - [iommu] iommu/amd: Return devid as alias for ACPI HID devices (Jerry Snitselaar) [1694210] - [iommu] iommu/rockchip: Free irqs in shutdown handler (Jerry Snitselaar) [1694210] - [iommu] iommu/rockchip: Move irq request past pm_runtime_enable (Jerry Snitselaar) [1694210] - [iommu] iommu/rockchip: Handle errors returned from PM framework (Jerry Snitselaar) [1694210] - [iommu] iommu/amd: make sure TLB to be flushed before IOVA freed (Jerry Snitselaar) [1694210] - [idle] intel_idle: Get rid of custom ICPU() macro (Alexander Beregalov) [1710976] - [security] selinux: do not report error on connect(AF_UNSPEC) (Ondrej Mosnacek) [1707828] - [security] selinux: Check address length before reading address family (Ondrej Mosnacek) [1707828] - [scsi] scsi: core: add new RDAC LENOVO/DE_Series device (Maurizio Lombardi) [1700912] - [infiniband] i40iw: Avoid panic when handling the inetdev event (Stefan Assmann) [1659180] - [infiniband] cross-tree: phase out dma_zalloc_coherent() (Stefan Assmann) [1659180] - [infiniband] infiniband: prefix header search paths with $(srctree)/ (Stefan Assmann) [1659180] - [infiniband] i40iw: remove use of VLAN_TAG_PRESENT (Stefan Assmann) [1659180] - [infiniband] RDMA/i40iw: Fix incorrect iterator type (Stefan Assmann) [1659180] - [infiniband] infiniband: i40iw, nes: don't use wall time for TCP sequence numbers (Stefan Assmann) [1659180] - [infiniband] i40iw: Reorganize acquire/release of locks in i40iw_manage_apbvt (Stefan Assmann) [1659180] - [netdrv] i40e: Changed maximum supported FW API version to 1.8 (Stefan Assmann) [1659174] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Stefan Assmann) [1659174] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Stefan Assmann) [1659174] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (Stefan Assmann) [1659174] - [netdrv] drivers: net: remove inclusion when not needed (Stefan Assmann) [1659174] - [netdrv] i40e: Memory leak in i40e_config_iwarp_qvlist (Stefan Assmann) [1659162] - [netdrv] i40e: Fix of memory leak and integer truncation in i40e_virtchnl.c (Stefan Assmann) [1659162] - [netdrv] i40e: Use struct_size() in kzalloc() (Stefan Assmann) [1659162] - [netdrv] i40e: Revert ShadowRAM checksum calculation change (Stefan Assmann) [1659162] - [netdrv] i40e: missing input validation on VF message handling by the PF (Stefan Assmann) [1659162] - [netdrv] i40e: Add support for X710 B/P & SFP+ cards (Stefan Assmann) [1659162] - [netdrv] i40e: Wrong truncation from u16 to u8 (Stefan Assmann) [1659162] - [netdrv] i40e: add num_vectors checker in iwarp handler (Stefan Assmann) [1659162] - [netdrv] i40e: Fix the typo in adding 40GE KR4 mode (Stefan Assmann) [1659162] - [netdrv] i40e: Setting VF to VLAN 0 requires restart (Stefan Assmann) [1659162] - [netdrv] i40e: add new pci id for X710/XXV710 N3000 cards (Stefan Assmann) [1659162] - [netdrv] i40e: VF's promiscuous attribute is not kept (Stefan Assmann) [1659162] - [netdrv] i40e: Introduce recovery mode support (Stefan Assmann) [1659162] - [netdrv] i40e: print PCI vendor and device ID during probe (Stefan Assmann) [1659162] - [netdrv] i40e: fix misleading message about promisc setting on un-trusted VF (Stefan Assmann) [1659162] - [netdrv] i40e: update version number (Stefan Assmann) [1659162] - [netdrv] i40e: remove out-of-range comparisons in i40e_validate_cloud_filter (Stefan Assmann) [1659162] - [netdrv] i40e: Further implementation of LLDP (Stefan Assmann) [1659162] - [netdrv] i40e: Report advertised link modes on 40GBase_LR4, CR4 and fibre (Stefan Assmann) [1659162] - [netdrv] i40e: ShadowRAM checksum calculation change (Stefan Assmann) [1659162] - [netdrv] i40e: remove error msg when vf with port vlan tries to remove vlan 0 (Stefan Assmann) [1659162] - [netdrv] i40e: change behavior on PF in response to MDD event (Stefan Assmann) [1659162] - [netdrv] i40e: Fix for allowing too many MDD events on VF (Stefan Assmann) [1659162] - [netdrv] i40e: Fix misleading error message (Stefan Assmann) [1659162] - [netdrv] i40e: Able to add up to 16 MAC filters on an untrusted VF (Stefan Assmann) [1659162] - [netdrv] i40e: Report advertised link modes on 40GBASE_SR4 (Stefan Assmann) [1659162] - [netdrv] i40e: The driver now prints the API version in error message (Stefan Assmann) [1659162] - [netdrv] i40e: Changed maximum supported FW API version to 1.8 (Stefan Assmann) [1659162] - [netdrv] i40e: Remove misleading messages for untrusted VF (Stefan Assmann) [1659162] - [netdrv] i40e: Update i40e_init_dcb to return correct error (Stefan Assmann) [1659162] - [netdrv] i40e: Fix for 10G ports LED not blinking (Stefan Assmann) [1659162] - [netdrv] i40e: save PTP time before a device reset (Stefan Assmann) [1659162] - [netdrv] i40e: don't allow changes to HW VLAN stripping on active port VLANs (Stefan Assmann) [1659162] - [netdrv] i40e: Implement DDP support in i40e driver (Stefan Assmann) [1659162] - [netdrv] i40e: Queues are reserved despite "Invalid argument" error (Stefan Assmann) [1659162] - [netdrv] i40e: add tracking of AF_XDP ZC state for each queue pair (Stefan Assmann) [1659162] - [netdrv] i40e: move i40e_xsk_umem function (Stefan Assmann) [1659162] - [netdrv] i40e: fix WoL support check (Stefan Assmann) [1659162] - [netdrv] i40e: fix i40e_ptp_adjtime when given a negative delta (Stefan Assmann) [1659162] - [netdrv] i40e: fix XDP_REDIRECT/XDP xmit ring cleanup race (Stefan Assmann) [1659162] - [netdrv] i40e: fix potential RX buffer starvation for AF_XDP (Stefan Assmann) [1659162] - [netdrv] net: bpf: remove XDP_QUERY_XSK_UMEM enumerator (Stefan Assmann) [1659162] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Stefan Assmann) [1659162] - [netdrv] i40e: clean up several indentation issues (Stefan Assmann) [1659162] - [netdrv] i40e: increase indentation (Stefan Assmann) [1659162] - [netdrv] i40e: update version number (Stefan Assmann) [1659162] - [netdrv] i40e: remove debugfs tx_timeout support (Stefan Assmann) [1659162] - [netdrv] i40e: check queue pairs num in config queues handler (Stefan Assmann) [1659162] - [netdrv] i40e: Change unmatched function types (Stefan Assmann) [1659162] - [netdrv] i40e: Add support FEC configuration for Fortville 25G (Stefan Assmann) [1659162] - [netdrv] i40e: Limiting RSS queues to CPUs (Stefan Assmann) [1659162] - [netdrv] i40e: Remove umem from VSI (Stefan Assmann) [1659162] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Stefan Assmann) [1659162] - [netdrv] i40e: extend PTP gettime function to read system clock (Stefan Assmann) [1659162] - [netdrv] i40e: DRY rx_ptype handling code (Stefan Assmann) [1659162] - [netdrv] i40e: fix kerneldoc for xsk methods (Stefan Assmann) [1659162] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Stefan Assmann) [1659162] - [netdrv] i40e: suppress bogus error message (Stefan Assmann) [1659162] - [netdrv] i40e: Allow disabling FW LLDP on X722 devices (Stefan Assmann) [1659162] - [netdrv] i40e: update driver version (Stefan Assmann) [1659162] - [netdrv] i40e: Protect access to VF control methods (Stefan Assmann) [1659162] - [netdrv] i40e: Replace strncpy with strlcpy to ensure null termination (Stefan Assmann) [1659162] - [netdrv] i40e: Add capability flag for stopping FW LLDP (Stefan Assmann) [1659162] - [netdrv] i40e: Use a local variable for readability (Stefan Assmann) [1659162] - [netdrv] i40e: Replace spin_is_locked() with lockdep (Stefan Assmann) [1659162] - [netdrv] i40e/ixgbe/igb: fail on new WoL flag setting WAKE_MAGICSECURE (Stefan Assmann) [1659162] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (Stefan Assmann) [1659162] - [netdrv] drivers: net: remove inclusion when not needed (Stefan Assmann) [1659162] - [netdrv] i40e: Remove unnecessary print statement (Stefan Assmann) [1659162] - [netdrv] i40e: Use proper enum in i40e_ndo_set_vf_link_state (Stefan Assmann) [1659162] - [nvme] nvmet: ignore EOPNOTSUPP for discard (Ewan Milne) [1696369] - [tools] tools: bpftool: fix potential NULL pointer dereference in do_load (Ivan Vecera) [1708560] - [tools] tools lib bpf: Provide wrapper for strerror_r to build in !_GNU_SOURCE systems (Ivan Vecera) [1708560] - [tools] libbpf: Remove the duplicate checking of function storage (Ivan Vecera) [1708560] - [tools] bpf: fix build error in libbpf with EXTRA_CFLAGS="-Wp, -D_FORTIFY_SOURCE=2 -O2" (Ivan Vecera) [1708560] - [tools] tools: include reallocarray feature test in FEATURE_TESTS_BASIC (Ivan Vecera) [1708560] - [tools] tools: bpftool: allow reuse of maps with bpftool prog load (Ivan Vecera) [1708560] - [tools] tools: libbpf: allow map reuse (Ivan Vecera) [1708560] - [tools] tools: bpf: make use of reallocarray (Ivan Vecera) [1708560] - [tools] tools: libbpf: move library error code into a separate file (Ivan Vecera) [1708560] - [tools] tools: bpftool: reimplement bpf_prog_load() for prog load (Ivan Vecera) [1708560] - [tools] tools: libbpf: add extended attributes version of bpf_object__open() (Ivan Vecera) [1708560] - [tools] tools: libbpf: recognize offload neutral maps (Ivan Vecera) [1708560] - [tools] tools: bpftool: allow users to specify program type for prog load (Ivan Vecera) [1708560] - [tools] tools: libbpf: expose the prog type guessing from section name logic (Ivan Vecera) [1708560] - [tools] tools: bpftool: add support for loading programs for offload (Ivan Vecera) [1708560] - [tools] tools: bpftool: refactor argument parsing for prog load (Ivan Vecera) [1708560] - [tools] selftests/bpf: add Error: prefix in check_extack helper (Ivan Vecera) [1708560] - [tools] selftests/bpf: remove duplicated word from test offloads (Ivan Vecera) [1708560] - [tools] tools: bpftool: deal with options upfront (Ivan Vecera) [1708560] - [tools] tools: bpftool: add missing --bpffs to completions (Ivan Vecera) [1708560] - [tools] tools: bpftool: drop unnecessary Author comments (Ivan Vecera) [1708560] - [tools] tools: libbpf: don't return '.text' as a program for multi-function programs (Ivan Vecera) [1708560] - [tools] tools: libbpf: restore the ability to load programs from .text section (Ivan Vecera) [1708560] - [tools] tools: libbpf: allow setting ifindex for programs and maps (Ivan Vecera) [1708560] - [tools] tools: libbpf: add section names for missing program types (Ivan Vecera) [1708560] - [tools] tools: bpftool: use correct make variable type to improve compilation time (Ivan Vecera) [1708560] - [scsi] scsi: lpfc: nvme: avoid hang / use-after-free when destroying localport (Dick Kennedy) [1588024]- [xen] ALSA: xen: Introduce shared buffer helpers for page directory... (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Initialize completion for defer messages (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: intel: constify snd_soc_dai_ops structures (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: intel: Remove duplicate assignment (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: intel: Fix uninitialized adev deref (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: intel: Add pre/post bank switch ops (Jaroslav Kysela) [1683051] - [include] ALSA: soundwire: keep track of Masters in a stream (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Add support for multi link bank switch (Jaroslav Kysela) [1683051] - [include] ALSA: soundwire: Handle multiple master instances in a stream (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Add support to lock across bus instances (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Fix acquiring bus lock twice during master release (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Fix incorrect exit after configuring stream (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Fix duplicate stream state assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix for Lenovo B50-70 inverted internal microphone bug (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix race between creating and refreshing sysfs entries (Jaroslav Kysela) [1683051] - [include] ALSA: ASoC: uapi: fix sound/skl-tplg-interface.h userspace compilation errors (Jaroslav Kysela) [1683051] - [include] ALSA: uapi: #include in asound.h (Jaroslav Kysela) [1683051] - [include] ALSA: timer: fix wrong comment to refer to 'SNDRV_TIMER_PSFLG_*' (Jaroslav Kysela) [1683051] - [sound] ALSA: x86/cpu: Sanitize FAM6_ATOM naming (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: don't select DPCM via simple-audio-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: don't select DPCM via audio-graph-card (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Corrected fixup for System76 Gazelle (gaze14) (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Avoid superfluous COEF EAPD setups (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixup headphone noise via runtime suspend (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Fix unused variable warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: line6: toneport: Fix broken usage of timer for delayed execution (Jaroslav Kysela) [1683051] - [sound] ALSA: aica: Fix a long-time build breakage (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Support low power consumption for ALC256 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: update pcm hardware constraints (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codec: hdac_hdmi: no checking monitor in hw_params (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt6358: save PGA for mixer control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt6358: save output volume for mixer controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt6358: initialize setting when ramping volume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: core: fix undefined nocodec reference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: xtensa: fix undefined references (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Propagate sof_get_ctrl_copy_params() error properly (Jaroslav Kysela) [1683051] - [sound] ALSA: hdea/realtek - Headset fixup for System76 Gazelle (gaze14) (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/intel: add CometLake PCI IDs (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Support low power consumption for ALC295 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: Fix an uninitialized variable compile warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Fix a compile warning with CONFIG_PCI=n (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Fix a compile warning at CONFIG_COMMON_CLK=n (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sound/soc/sof/: fix kconfig dependency warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: spdifrx: change trace level on iec control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: spdifrx: update pcm hardware constraints (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98090: Fix restore of DAPM Muxes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: RT5677-SPI: Disable 16Bit SPI Transfers (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi - Consider eld_valid when reporting jack event (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi - Read the pin sense from register when repolling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Add reserved DMA memory support (Jaroslav Kysela) [1683051] - [sound] ALSA: synth: emux: soundfont.c: divide by zero in calc_gus_envelope_time() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: Map BTN_0 to KEY_PLAYPAUSE (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: add sof-rt5682 machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_generic:refine code style (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_generic: add DMIC support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: CNL: add ipc dump function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: APL: add ipc dump function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: IPC: add ipc dump function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: intel: hda: add hw_params_upon_resume flag for hda stream (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda-stream: handle real stream interrupts only (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda-stream: store stream capabilities (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda-ipc: simplify handling of IPC IRQ (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: ipc: use snd_sof_pcm_period_elapsed (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: use snd_sof_pcm_period_elapsed (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: PCM: add period_elapsed work to fix race condition in interrupt context (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda-pcm: remove useless dependency on hdac_ext (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda: set bus->idx as 0 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda: set I2S slave before enabling DSP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda: add SSP info to the chip info struct (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda: add the SSP Host Device memory space (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: cnl: add pointer ops to use DPIB position (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: topology: add support for stricter ABI checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASOC: SOF: ipc: add support for stricter ABI checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: add Kconfig option for strict ABI checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: avoid Oops if DMA setup fails (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: stream is already locked in hw_params (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: remove redundant null checks of dai (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: skip hw_free on codec dai for which the stream is invalid (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fix valid stream condition (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: unlock the device on startup errors (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Update the support rate list (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Use clk_round_rate to handle enabled bclk/wclk case (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5645: Headphone Jack sense inverts on the LattePanda board (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: Fix missing break in switch statement (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct region base typo in wm_halo_setup_algs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: fix spelling mistake "incompatble" -> "incompatible" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Use DSP ops pointers to stop watchdog in error handlers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix to use list_for_each_entry_safe() when delete items (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix return value check in sprd_mcdt_probe() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7213: fix DAI_CLK_EN register bit overwrite (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: fix kcontrols for effect widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_audmix: cache pdev->dev pointer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Fix potential uninitialized variable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: add I2S2 control path from UL2 and UL3 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: change supported formats of DL2 and UL1 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_audmix: remove "model" attribute (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-audmix: fix object reference leaks in probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs43130: fix a NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5645: fix a NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add Geminilake Realtek+Maxim machine driver entry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Make boards more available for compile test (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_dma: Fix invalid license ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_psc_i2s: Fix invalid license ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel: tse850: Make some functions static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx: fix fiq dependencies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: acp3x: Make acp3x_dai_i2s_ops static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Remove set but not used variable 'mclk_rate' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_micfil: Remove set but not used variable 'osr' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: Enable TDM support for DSP_A/B modes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Configure wclk and bclk of master codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Fix build err while CONFIG_I2C set to module (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: fix spelling mistake "plalform" -> "platform" (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Apply the fixup for ASUS Q325UAR (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Register irq handler after the chip initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: usx2y: fix a double free bug (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hda: overwrite hdev type to HDA_DEV_ASOC (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: fix unregister device twice on ASoC driver (Jaroslav Kysela) [1683051] - [sound] ALSA: line6: use dynamic buffers (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix a memory leak bug (Jaroslav Kysela) [1683051] - [sound] ALSA: gus: fix misuse of x (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - EAPD turn on later (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixed Dell AIO speaker noise (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: select relevant machine drivers for SOF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Make sure BDW based machine drivers build for SOF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add Build support for SOF core and Intel drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Kconfig: expose common option between SST and SOF drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add platform differentiation for APL and CNL (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: add SKL+ platform DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add support for HDAudio codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA trace operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA stream operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add hda-bus support and initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA PCM operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA firmware loader (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add PCI device support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add ACPI device support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA IPC mechanisms. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA DSP HW operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add HDA controller for Intel DSP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add APL/CNL HW DSP support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add legacy IPC support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add BDW HW DSP support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add BYT, CHT and BSW DSP HW support. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add utils (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add xtensa support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add Nocodec machine driver support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add PM support (Jaroslav Kysela) [1683051] - [include] ALSA: ASoC: SOF: Add userspace ABI support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add firmware loader support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add DSP HW abstraction operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add DSP firmware logger support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add support for loading topologies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add PCM operations support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add support for IPC IO between DSP and Host (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add driver debug support. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add Sound Open Firmware KControl support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add Sound Open Firmware driver core (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: simplify dai driver initialisation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Read pin switches conf from devicetree (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_sai: Add missing return 0 in remove() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: add asoc_simple_parse_pin_switches() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: btcvsd fix irq mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: align quirk override handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: align quirk override handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: fix compilation warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_sai: Add support for runtime pm (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_sai: Update is_slave_mode with correct value (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Add Spreadtrum multi-channel data transfer support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: rt5682: initialize mutex before using (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: return the get_irq error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup 6ch settings to 8ch (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Handle the error from snd_usb_mixer_apply_create_quirk() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add new Dell platform for headset mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codec: hdac_hdmi add device_link to card device (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell: Remove set but not used variable 'stage_type' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm: save fixed-up hw_params of BE (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: tobermory: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: tm2_wm5110: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: speyside: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: spdif: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: snow: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: smdk_wm8994*: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: smdk_wm8580: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: smdk_spdif: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: smartq_wm8987: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c24xx_uda134x: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c24xx_simtec*: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c2412-i2s: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: rx1950_uda1380: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c24xx-i2s: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c-i2s-v2: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: pcm: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: neo1973_wm8753: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: lowland: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: littlemill: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: jive_wm8750: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: idma: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: h1940_uda1380: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: dmaengine: Convert to SPDX License Indentifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: bells: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: arndale: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ps3: Remove set but not used variables 'start_vaddr' and 'pcm_index' (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - add two more pin configuration sets to quirk table (Jaroslav Kysela) [1683051] - [sound] ALSA: core: Don't refer to snd_cards array directly (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: Drop superfluous id-uniquification behavior (Jaroslav Kysela) [1683051] - [sound] ALSA: core: Fix card races between register and disconnect (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Fix racy addition/deletion of nodes (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Correct unlock sequence at snd_seq_client_ioctl_unlock() (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add quirk for Focusrite Scarlett Solo (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Initialize ext-bus-specific fields in snd_hdac_bus_init(), too (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Initialize power_state field properly (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Protect racy pool manipulation from OSS sequencer (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Simplify snd_seq_kernel_client_enqueue() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Cover unsubscribe_port() in list_mutex (Jaroslav Kysela) [1683051] - [sound] ALSA: Revert "ALSA: seq: Protect in-kernel ioctl calls with mutex" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: Fix missing regmap requirement (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix racy display power access (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm: fix error handling when try_module_get() fails. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix master clock management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl: fix wrong number of channels (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Coding style fixes (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Simplify error path in snd_timer_open() (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Fix race of get-subscription call vs port-delete ioctls (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Protect in-kernel ioctl calls with mutex (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Remove superfluous irqsave flags (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Align temporary re-locking with irqsave version (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Use kvmalloc() for cell pools (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Revert active callback sync check at close (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add two more machines to the power_save_blacklist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Fix spacing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: remove headset (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm: update module refcount if module_get_upon_open is set (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: conditionally increase module refcount on component open (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add quirk for the Teclast X98+ II (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add quirk for inverted jack detect (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm1133-ev1: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: phycore-ac97: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm030-audio-fabric: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: p1022_rdk: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: p1022_ds: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mx27vis-aic32x4: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc8610_hpcd: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_psc_i2s: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_psc_ac97: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_dma: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-ssi: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-spdif: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-pcm-fiq: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-mc13783: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-es8328: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-audmux: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl-dma: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: eukrea-tlv320: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-pcm: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: fix sai driver name initialisation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Use the correct dobj to free enum control values and texts (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Fix OOB-reads from strlcpy (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: change mic bias DAPM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: Support synchronous mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: fix big-endian check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: fix endianness issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-tdmout: add g12a support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-tdm-formatter: rework quirks settings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-frddr: add g12a support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-toddr: add g12a support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-fifo: add g12a support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: remove link components before cleaning up card resources (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: skylake: add remove() callback for component driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l35: Disable regulators on driver removal (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add adc volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add support of master mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add reset management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add regulator management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Avoid calling snd_compr_stop_error from WDT expiry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98357a: add missing supported rates (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Add Playback PowerTune Controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Add Switch for Setting Common Mode Voltage (Jaroslav Kysela) [1683051] - [sound] ALSA: xen-front: Do not use stream buffer size before it is set (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: Mark RXFIFO_DATA as volatile and precious (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix spelling mistake "faied" -> "failed" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: Correct PDM_CTRL0 reg value (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: adjust waterlevel in frame unit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: add compatible for rk1808 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: fixup pdm fractional div (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: optimize clear logic (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: add default regs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: using left justified store mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: change dma burst to 8 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: fix regmap_ops hang issue (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Update copyright and use SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix the smatch warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Change author's name (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add quirk for Tuxedo XC 1509 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Move to ACT_INIT state (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix modular build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_max98090_ti: Enable codec clock once and keep it enabled (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Fix build error in mt8183_da7219_max98357_dev_probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: TS3A227: fix build error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Make use of local variables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Remove redundant NULL check in wm_adsp_buffer_free (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: aic31xx_set_jack() can be static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Check for buffer in trigger stop (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of Acer TravelMate B114-21 with ALC233 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: eukrea-tlv320: fix a leaked reference by adding missing of_node_put (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_utils: fix a leaked reference by adding missing of_node_put (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: fix a leaked reference by adding missing of_node_put (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Align tplg pointer increment across all kcontrols (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: support driver alias names for FE topology overrides (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Add Spreadtrum audio compress offload support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fix SND_SOC_LOCHNAGAR_SC kconfig warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: set power_check callback for widgets that shouldnt be always on (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: Add button press detection (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: Add headphone/headset detection (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: skip missing substream while applying symmetry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_da7213: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [acpi] ALSA: ACPI / utils: Introduce acpi_dev_get_first_match_dev() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: remove set but not used variable 'dai_name' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8316: Add support for inverted jack detect (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Fix typo in comment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: fix spelling mistake: "missign" -> "missing" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Add machine driver with DA7219 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Add machine driver with TS3A227 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5677-spi: Add ACPI ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add multi endpoint support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Fix Common Pins (Jaroslav Kysela) [1683051] - [sound] ALSA: us122l: Use alloc_pages_exact() (Jaroslav Kysela) [1683051] - [sound] ALSA: Replace snd_malloc_pages() and snd_free_pages() with standard helpers, take#2 (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Make snd_timer_close() really kill pending actions (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Check ack_list emptiness instead of bit flag (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Make sure to clear pending ack list (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Unify timer callback process code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_audmix: Fix kbuild failure (Jaroslav Kysela) [1683051] - [sound] ALSA: emux: Add support of loading GUS-patch (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix speakers on Acer Predator Helios 500 Ryzen laptops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Add Audio Mixer machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Add Audio Mixer CPU DAI driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: enable S24_LE format support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Only enable with common clock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Allow 192000 Sample Rate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Remove mclk references (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Restructure set_dai_sysclk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Dynamically Determine Clocking (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Move aosr and dosr setting to separate functions (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Control clock gating with CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Model BDIV divider in CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Model DAC/ADC dividers in CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Model CODEC_CLKIN in CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Model PLL in CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Initialize private_value in snd_soc_dapm_new_dai (Jaroslav Kysela) [1683051] - [sound] ALSA: aloop: Support S24 sample formats (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Don't suspend stream in unrecoverable PCM state (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Fix NULL pointer dereference in snd_soc_dapm_free_kcontrol (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sirf-audio: Remove redundant of_match_node call (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: add power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix incorrect extern (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: fix the issue of 64 bits division (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: Fix crash at suspend/resume after failed codec registration (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Simplify alt firmware loading code (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix possible OOB access in PCM oss plugins (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of ASUS X430UN and X512DK with ALC256 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset mic of ASUS P5440FF with ALC256 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable ASUS X441MB and X705FD headset MIC with ALC256 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: test memory allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: lochnagar: Add driver to support Lochnagar 2 sound card (Jaroslav Kysela) [1683051] - [mfd] ALSA: mfd: lochnagar: Add support for the Cirrus Logic Lochnagar (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Properly Set Processing Blocks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mchp-i2s-mcc: add driver for I2SC Multi-Channel Controller (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: rename asoc_simple_card_xxx() to asoc_simple_() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: separate asoc_simple_card_parse_dai() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_card_init_priv() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_be_hw_params_fixup() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_dai_init() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_hw_param() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_shutdown() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_startup() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple_card_utils: share common priv for simple-card/audio-graph (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: add asoc_simple_debug_info() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Update DA7219 DAI clock name to align with codec updates (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Expose BCLK and WCLK control through CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: fix channel swap issue when stream starts (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_asrc: add constraint for the asrc of older version (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4270: Set auto-increment bit for register writes (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add support for Acer Aspire E5-523G/ES1-432 headset mic (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of Acer Aspire Z24-890 with ALC286 (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: oss: Fix Spectre v1 vulnerability (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Fix potential Spectre v1 vulnerability (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of Acer AIO with ALC286 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: dfsdm: add mmap support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: dfsdm: fix debugfs warnings on entry creation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: dfsdm: manage multiple prepare (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct some minor issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Don't use register read to determine slave/master mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Break out clock setting into separate function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: jz4740: Depend on MIPS instead of MACH_JZ4740 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add WDT expiry IRQ handling support for Halo core (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add HALO MPU fault logging (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add support for new Halo core DSPs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: Reduce repititive code on mtk_regmap_update_bits. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: Fix UBSAN warning. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Factor out DSP specific operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Factor out parsing of firmware ID header (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Refactor firmware status reading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Move wm_adsp2_set_dspclk to CODEC drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Don't export wm_adsp2_lock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Shutdown any compressed streams on DSP watchdog timeout (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add locking to wm_adsp2_bus_error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct handling of compressed streams that restart (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: free link string in error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: free stream_name of dai_drv (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Don't trigger jackpoll_work in azx_resume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph: add graph_parse_mclk_fs() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph: rename graph_get_conversion() to graph_parse_convert() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: add simple_parse_mclk_fs() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: rename simple_get_conversion() to simple_parse_convert() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: recording has no sound after booting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: fix jack type detection issue (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Check JD status when system resume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt8183: skip for i2s5 in mck_disable (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: use 8 byte header for IR context to get isochronous cycle (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add support MOTU 8pre FireWire (Jaroslav Kysela) [1683051] - [sound] ALSA: opl3: fix mismatch between snd_opl3_drum_switch definition and declaration (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - add Lenovo IdeaCentre B550 to the power_save_blacklist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add BYT_RT5651_JD_NOT_INV quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add support for active-high jack detect (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: spdifrx: add power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-amplifier: Make gpio property optional (Jaroslav Kysela) [1683051] - [documentation] ALSA: ASoC: dt-bindings: add regulator property to simple amplifier (Jaroslav Kysela) [1683051] - [documentation] ALSA: ASoC: simple-amplifier: remame dio2125 documentation (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: use 'version' field of unit directory to identify model (Jaroslav Kysela) [1683051] - [sound] ALSA: sb8: add a check for request_region (Jaroslav Kysela) [1683051] - [sound] ALSA: echoaudio: add a check for ioremap_nocache (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: create tlv before soc_tplg_init_kcontrol (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add support headset mode for New DELL WYSE NB (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add support headset mode for DELL WYSE AIO (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: merge alc_fixup_headset_jack to alc295_fixup_chromebook (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: hdmi - add Icelake support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: automatic selecting BCLK in I2S master mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: fix the typo of function name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Fix clock configuration for 44100 sample rate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: fix the issue of widget with prefixed name (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - add more quirks for HP Z2 G4 and HP Z240 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixed Headset Mic JD not stable (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of Acer TravelMate X514-51T with ALC255 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: avoid build error without CONFIG_PM (Jaroslav Kysela) [1683051] - [sound] ALSA: usx2y: Fix potential NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Avoid NULL pointer dereference at snd_hdac_stream_start() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: axi-i2s: let both capture and playback be optional (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: src: Avoid a potential deadlock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix registers declaration in regmap (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8824: fix the issue of the widget with prefix name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: prevent snd_soc_dpcm use after free (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC:intel:skl:fix a simultaneous playback & capture issue on hda platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC:hdac_hda:use correct format to setup hda codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC:soc-pcm:fix a codec fixup issue in TDM case (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: fix davinci_mcasp_probe dependencies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ams-delta: remove duplicate 'const' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: remove compat dma probing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: use default dai name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: improve channel capabilities handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: change trigger traces (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: add i2c dependency for SND_SOC_SDM845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Fix clang warning without CONFIG_PM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: src: fix compiler warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Fix DAPM routes for capture stream (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: Fix probe deferral following prelink failure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: avoid limiting params->msbits in hw_params() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix set_sync service (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix oversampling mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix race condition in irq handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix exposed capabilities in spdif mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix iec958 controls indexation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ab8500: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: fix S/PDIF DAI (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add quirk for MOTU MicroBook II (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: btcvsd add loopback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic3x: fix reset gpio reference counting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: skip useless write in slave mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix race condition in irq handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: remove useless callback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix dma configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix stream count management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix 16 bit format support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix IRQ clearing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Kconfig: fix dependency for sdm845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: Add Maxim98373 support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: gen: fix SSI9 4/5/6/7 busif related register address (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: fix construction of PCM frame for capture direction (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against Liquid Saffire 56 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Extend i915 component bind timeout (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Improve logging messages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add support for multiple compressed buffers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Refactor compress stream initialisation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Reorder some functions for improved clarity (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Factor out stripping padding from ADSP data (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l36: Fix an IS_ERR() vs NULL checking bug (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: sound card name from device tree (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS UX362FA with ALC294 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Prevent uninitialized variable use (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Fix of-node refcount unbalance in qcom_snd_parse_of() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Fix of-node refcount unbalance in apq8016_sbc_parse_of() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Fix of_node refcount unbalance (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Reduce click noise on Dell Precision 5820 headphone (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Fix of-node refcount unbalance in DAI-link parser (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Fix of-node refcount unbalance in fsl_ssi_probe_from_dt() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Allow compressed buffers in any memory region (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Update cached error state on trigger (Jaroslav Kysela) [1683051] - [sound] ALSA: ppc: Fix of-node refcount unbalance (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Fix of-node refcount unbalance (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: Fix of-node refcount unbalance (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: pcm186x: Fix energysense SLEEP bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: pcm186x: fix wrong usage of DECLARE_TLV_DB_SCALE() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Fix multiple "IIS multi" devices initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Fix secondary platform device unregistration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: glk: Add DAI links for Multi-Playback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Add Geminilake Dialog Maxim machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Headset button support in broxton machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: sun50i-codec-analog: Rename hpvcc regulator supply to cpvdd (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau1977: Add support for setting MICBIAS via DT (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Potential small memory leak in dapm_cnew_widget() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Add missing DAPM routes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8741: Make function 'wm8741_mute' static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: fix register setting issue in RIGHT_J mode (Jaroslav Kysela) [1683051] - [sound] ALSA: SoC: imx-sgtl5000: add missing put_device() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Fix missing of_node_put() at simple_dai_link_of() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Fix refcount underflow (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Ensure proper sample rate on pri/sec PCM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: remove set but not used variables 'mask, cr1' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: free created components in tplg load error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l36: Make some symbols static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Kconfig: select dmic for sdm845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_spdif: fix sysclk_df type (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_spdif: fix TXCLK_DF mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Add support to disable on-chip PLL (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Add runtime support for DSP_A and I2S modes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Fix frame polarity for DSP_A format (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Set constraint to always have 32 sample bits (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Remove capture support for codecs without ADC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsi: fix spelling mistake "doens't" -> "doesn't" (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Expose sample resolution through proc interface (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Prevent potential NULL platform data dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Remove unused SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME flag (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Update TDM usage to be more flexible (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Add support for master mode BCLK rate adjustment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Convert to SPDX License Indentifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Comments clean up (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Change indentation in SAMSUNG_I2S_FMTS definition (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Simplify pri_dai, sec_dai pointers usage (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: add missing put_device() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: Specify DMA channel names through custom DMA config (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Add support for secondary CPU DAI (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Get rid of a static spinlock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move quirks data to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move IP variant data to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Drop spinlock pointer from i2s_dai data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move SFR pointer to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: es1688: Remove set but not used variable 'hw' (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Disable PC beep in passthrough on alc285 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Headset microphone and internal speaker support for System76 oryp5 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cros_ec_codec: Make symbol 'cros_ec_dai' static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt8183: make some functions static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l36: Remove unused including (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move registers cache to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move opclk data to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move core clk to the driver common data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Add widgets and routes for DPCM support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move clk supplier data to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Restore support for the secondary PCM (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Comment why read blocks when PCM is not running (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-acpi: remove new_mach_data field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-acpi: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: cnl-match.c: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: icl-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: hsw-bdw-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: glk-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: cht-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: byt-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: bxt-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: icl-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: hsw-bdw-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: hda-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: glk-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cnl-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: byt-match.c: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bxt-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Convert to single component with multiple DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: dmaengine: Allow to specify custom DMA device (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Extend use of chan_names provided in custom DMA config (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Improve of_node test in dmaengine_pcm_request_chan_of() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Fix prescaler setting for the secondary DAI (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Use __printf markup to silence compiler (Jaroslav Kysela) [1683051] - [sound] ALSA: tlv320aic32x4: delay i2c access by 1 ms after hardware reset (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: btcvsd fix rx stream assign (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8741: Set OSR mode in hw_params() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8741: Add digital mute callback (Jaroslav Kysela) [1683051] - [sound] ALSA: PCM: check if ops are defined before suspending PCM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hdmi: use devm_kzalloc for all structures (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: use pOFn instead of device_node.name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add clock select (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add soft reset on probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: set .ignore_module_refcount field in component (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: don't increase component module refcount unconditionally (Jaroslav Kysela) [1683051] - [sound] ALSA: gpiolib: acpi: Introduce ACPI_GPIO_QUIRK_ONLY_GPIOIO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: msm8916-wcd-digital: convert license header to SPDX (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: msm8916-wcd-analog: add missing license information (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: regulator notifier registration should be managed (Jaroslav Kysela) [1683051] - [sound] ALSA: i915/snd_hdac: I915 subcomponent for the snd_hdac (Jaroslav Kysela) [1683051] - [base] ALSA: components: multiple components for a device (Jaroslav Kysela) [1683051] - [documentation] ALSA: component: Add documentation (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Revert capture stream behavior change in blocking mode (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix function name in kernel-doc comment (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Define snd_pcm_lib_preallocate_*() as returning void (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: fix up for snd_pcm_lib_preallocate_pages_for_all() API change (Jaroslav Kysela) [1683051] - [sound] ALSA: SoC: stm32: i2s: manage clock power (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: add power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4725b: Remove unnecessary const qualifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l36: Add support for Cirrus CS35L36 Amplifier (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix implicit fb endpoint setup by quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add quirk for HP EliteBook 840 G5 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4725b: Use C++ style comments in header (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: Kconfig: Show knob, and depend on MIPS || COMPILE_TEST (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4740: Add support for devicetree (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4740: Use SPDX license notifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: Prevent clk_get_rate() calls in atomic context (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add Line Playback Volume, Line Boost Volume, Line Right, Line Left, Line Playback Switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add FM Playback Volume, FM Left, FM Right, FM Playback Switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add Mic1 Playback Switch, Mic2 Playback Switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Merge sun4i_codec_left_mixer_controls and sun4i_codec_right_mixer_controls into sun4i_codec_mixer_controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add Mic1 Boost Volume, Mic2 Boost Volume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add sun7i_codec_controls, sun7i_codec_codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add Mic Playback Volume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add MIC2 Pre-Amplifier, Mic2 input (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4725b: fix spelling mistake "Deemphatize" -> "Deemphasize" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: fix semicolon.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssiu: correct shift bit for ssiu9 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: Add jz4725b-codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup rsnd_ssi_master_clk_start() user count check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: harden use of lookup tables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xtensa: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: uniphier: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: txx9: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dwc: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: fix out-of-bounds accesses to DAPM lookup tables (Jaroslav Kysela) [1683051] - [sound] ALSA: cs46xx: Clean up proc file creations (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Move card id proc creation into info.c (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Minor optimization (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Drop unused snd_info_entry.card field (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: sparc: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: pcmcia: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: i2c: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: isa: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: drivers: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Add standard helpers for card proc file entries (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: emux: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: opl4: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ssm2602: switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: compress: Add helper functions for component trigger/set_params (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: compress: Clarify the intent of current compressed ops handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: remove some unnecessary NULL checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ssm2602: Fix ADC powerup sequencing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Check for NULL widget in dapm_update_dai_unlocked (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: spi: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: sparc: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: sh: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ppc: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: parisc: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: atmel: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix build error without CONFIG_PCI (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: Fix stop handling on compressed capture streams (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add support for new T+A USB DAC (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Always register entries recursively (Jaroslav Kysela) [1683051] - [sound] ALSA: core: Don't allow NULL device for memory allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4118: fix missing header (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: btcvsd: fix spelling mistake "offest" -> "offset" (Jaroslav Kysela) [1683051] - [sound] ALSA: arm: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: x86: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: unload physical dai link in remove (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: add SND_SOC_DOBJ_GRAPH type for dapm routes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: clear platform pointers on error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl-asoc-card: fix object reference leaks in fsl_asoc_card_probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Add warnings for widget overwrite when adding route (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Only power up active channels from a DAI (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: fix oops/use-after-free case with dai driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: fix use-after-free issue with dailink sname (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: add btcvsd driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: arizona: Add channel numbers to AIFs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup TDM Split mode check for CTU (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: synchronize connection check for simple-card/audio-graph (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup MIX kctrl registration (Jaroslav Kysela) [1683051] - [sound] ALSA: isa: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: mips: pass struct device to DMA API functions (Jaroslav Kysela) [1683051] - [sound] ALSA: hal2: pass struct device to DMA API functions (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Serialize codec registrations (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use a common helper for hp pin reference (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix lose hp_pins for disable auto mute (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Headset microphone support for System76 darp5 (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: remove a superfluous function declaration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Add Spreadtrum audio DMA platfrom driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: modify dapm route loading routine and add dapm route unloading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: fix memory leak in soc_tplg_dapm_widget_create (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Fix memory leak from soc_tplg_denum_create_texts (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Remove widgets from dobj list (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Reduce number of dereferences when accessing dobj (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Use standard device registration for beep (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Apply ALC294 hp init also for S4 resume (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Record the current power state before suspend/resume calls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: remove useless test (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixed hp_pin no value (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cros_ec_codec: Add codec driver for Cros EC (Jaroslav Kysela) [1683051] - [documentation] ALSA: ASoC: Documentation: Add google, cros-ec-codec (Jaroslav Kysela) [1683051] - [maintainers] ALSA: MAINTAINERS: add maintainers for ChromeOS EC sub-drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: Fix missing slimbus dependency (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Cleanup DSD whitelist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: apq8096: add slim support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add audio routings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add capture dapm widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add playback dapm widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add basic controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add CLASS-H Controller support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add support to wcd9335 codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bxt_rt298: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bxt_da7219_max98357a: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_nau8824: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_da7213: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bdw-rt5677: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: broadwell: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: haswell: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add helper to change platform name for all dailinks (Jaroslav Kysela) [1683051] - [sound] ALSA: dice: add support for Solid State Logic Duende Classic/Mini (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Variable "ret" in function rt5651_i2c_probe() could be uninitialized (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-acpi: add static inline fallbacks when CONFIG_ACPI=n (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm512x: Fix clocking calculations when not using the PLL (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm512x: Implement the set_bclk_ratio interface (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: use for_each_link_codecs() for dai_link codecs V2 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Fixup build error for mt6358 (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix tight loop of OSS capture stream (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add Opus #3 to quirks for native DSD support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt6358: add codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt8183: add platform driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Allow soc_find_component lookups to match parent of_node (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Use the common error path in __snd_pcm_lib_xfer() (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: Off by one in latter_handle_midi_msg() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: make const arrays static, reduces object code size (Jaroslav Kysela) [1683051] - [sound] ALSA: proc: Avoid possible leaks of snd_info_entry objects (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Simplify proc file destruction (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Drop unused snd_pcm_substream.file field (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: comment cleanup about destination address of async transactions for MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Cleanup snd_pcm_stream_lock() & co (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Remove down_write() hack for snd_pcm_link_rwsem (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: More fine-grained PCM link locking (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Fix multi-CODEC setups (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: support rx MIDI functionality for Fireface UCX (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add protocol-specific operation to fill transaction buffer with MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add model-dependent parameter for address to receive async transaction for MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: support tx MIDI functionality of Fireface UCX (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add model-dependent parameter for address range to receive async transaction (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: change prototype of handler for async transaction with MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Correct the setting while select ASRC clk for AD/DA filter (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: add driver flag for runtime PM (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: implement runtime suspend/resume (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: remove redundant clock enable API (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: add runtime PM callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: get clock handles early in probe (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: runtime power management support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: rename to asoc_simple_card_canonicalize_platform() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: use for_each_link_codecs() for dai_link codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add soc_cleanup_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: reduce if/else nest on soc_probe_link_dais (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: merge card resources cleanup method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add new snd_soc_flush_all_delayed_work() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add .num_platform for dai_link (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Avoid confusing loop in snd_pcm_unlink() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Make PCM linked list consistent while re-grouping (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Unify snd_pcm_group initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Call snd_card_unref() inside in_pcm_file() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add mute LED support for HP ProBook 470 G5 (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add support for Fireface UCX (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: code refactoring to parse of clock configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: code refactoring for dump of sync status (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add protocol-dependent operation to get clock status (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add protocol-dependent operation to switch mode to fetch PCM frame (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add protocol-dependent operation to dump status (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: obsolete proc node to leave one node (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: unify protocol layer for FF400/FF800 (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: rename protocol layer for former models (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix unused variable warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc.h: add explanation of legacy/modern style of dai_link (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_sai: Remove expensive print in irq handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: remove error due to probe deferral (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-spdif: don't print EPROBE_DEFER as error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_spdif: don't print EPROBE_DEFER as error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-sgtl5000: don't print EPROBE_DEFER as error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-sgtl5000: lower log level for potential probe deferral cases (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-sgtl5000: put of nodes if finding codec fails (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: fix oops on re-probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: add default pdata for i2s mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Set DAI format for dmic codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Kconfig: select max98927 for sdm845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Fix potential NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-audmux: change snprintf to scnprintf for possible overflow (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5514-spi: Fix potential NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: change snprintf to scnprintf for possible overflow (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Fix PLL source register definitions (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Don't defer probe on optional, NULL components (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Make snd_pcm_suspend() local static (Jaroslav Kysela) [1683051] - [sound] ALSA: pcmcia: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: arm: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: ppc: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: x86: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: drivers: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: isa: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: atiixp: Move PCM suspend/resume code into trigger callback (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Suspend streams globally via device type PM ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Make snd_soc_find_component() more robust (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: fix init platform memory handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: parse AES audio parameters (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: msm8916-wcd-digital: Select REGMAP_MMIO to fix build error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: msm8916-wcd-digital: remove few unused variables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4341: fix waring unused-function (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: program stripe control for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: program stripe bits for controller (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: add verbs for stripe control (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: add register offset for stripe control (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add api to program stripe control bits (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: skl: Fix display power regression (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix typo for ALC225 model (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: Hold client_mutex around soc_init_dai_link() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: use correct drvdata in snd_byt_cht_es8316_mc_remove() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: move the codec PLL configuration to _init (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: SND_SOC_DAPM_MICBIAS is deprecated (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Add recalc_rate function to return DAI clock rate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: MCLK should be enabled before DAI clocks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: defer card probe until all component is added to list (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Remove set but not used variable 'first_ch_bits' (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix a mask wrong issue in snd_hdac_stream_start() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix mismatches for register mask and value in hdac controller (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Disable headset Mic VREF for headset mode of ALC225 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add unplug function into unplug state of Headset Mode for ALC225 (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: fix CM6206 register definitions (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt274: Variable "buf" in function rt274_jack_detect() could be uninitialized (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ADAU7002: Add optional delay before start of capture (Jaroslav Kysela) [1683051] - [sound] ALSA: cs46xx: Potential NULL dereference in probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add quirk for PoV TAB-P1006W-232 (v1.0) tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add support for jack-detect using an external GPIO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add quirks module parameter (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Revert "Fix DMIC map headsetmic mapping" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add support for jack detect using an external GPIO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add ACPI ID 10EC5640 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: Add quirk for PoV P1006W tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: update BSDSR/BSDISR handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sgtl5000: Allow SCLK pad drive strength to be changed (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atom: fix a missing check of snd_pcm_lib_malloc_pages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: enable SPDIF driver build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: add SPDIF audio driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Kernel OOPS while entering DAPM standby mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Add MICFIL SoC Digital Audio Interface driver. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: eliminate left-over from Raumfeld machine driver removal (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt298: fix boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rl6437a: use __be32 for a __be32 buf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5645: store eq kcontrol byte in __be (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: use logical AND (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: fix endianness issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mt6351: remove unneeded variable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tscs42xx.c: fix boolean test (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8824: fix boolean assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: fix boolean assignments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98927: fix boolean assignments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5640: fix boolean assignments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoc: rt286: fix boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt274: fix boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4271: fix boolean assignments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98383: fix boolean assignments to true/false (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5670: remove unused mux/mixer define (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5645: remove unused mux define (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: fix kernel doc descriptions (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8316: remove unused constant variables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98090: remove unused constant variables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: declare trigger function as static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4458: Add support for AK4497 (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: fix a missing check of snd_ctl_add (Jaroslav Kysela) [1683051] - [sound] ALSA: line6: fix check on snd_card_register (Jaroslav Kysela) [1683051] - [sound] ALSA: ice1712: fix a missing check of snd_i2c_sendbytes (Jaroslav Kysela) [1683051] - [sound] ALSA: gus: add a check of the status of snd_ctl_add (Jaroslav Kysela) [1683051] - [sound] ALSA: oxygen: initialize spdif_playback_enable to 0 (Jaroslav Kysela) [1683051] - [sound] ALSA: virtuoso: add de-emphasis control (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Support Dell headset mode for New AIO platform (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix an out-of-bound read in create_composite_quirks (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Always check descriptor sizes in parser code (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Check mixer unit descriptors more strictly (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Avoid access before bLength check in build_audio_procunit() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: davinci-mcasp: Add support for GPIO mode of the pins (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: davinci-mcasp: Move context save/restore to runtime_pm callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: davinci-mcasp: No need for IS_MODULE/BUILTIN check for pcm driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirks for ASUS MeMO Pad 7 (ME176C) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: sst: Fallback to BYT-CR if IRQ 5 is missing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: sst: Simplify is_byt_cr() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Add ACPI match table entry for ES8316 codec on BYTCR platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Set card long_name based on quirks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add input-map support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add external speaker mux support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add jack-detect support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add support for SSP0 (BYTCR) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Minor refactoring (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Sort includes alphabetically (Jaroslav Kysela) [1683051] - [regulator] ALSA: regulator: fixed: Let core handle GPIO descriptor (Jaroslav Kysela) [1683051] - [regulator] ALSA: regulator/gpio: Allow nonexclusive GPIO access (Jaroslav Kysela) [1683051] - [regulator] ALSA: regulator: fixed: Default enable high on DT regulators (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8316: Add DAC mono mix switch mixer control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8316: Add jack-detect support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Variable "val" in function rt274_i2c_probe() could be uninitialized (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: fix error handling in xlnx_formatter_pcm_probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: add workaround for silence of rk3288 ACODEC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: support ACODEC for rk3328 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: reduce naming prefix (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: cleanup DAI link loop method - step2 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: cleanup DAI link loop method - step1 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: add link_info (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: add 1 CPU : 1 Codec support again (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: add asoc_simple_card_get_conversion() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: reduce naming prefix (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: cleanup DAI link loop method - step2 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: cleanup DAI link loop method - step1 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: add link_info (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: add 1 CPU : 1 Codec support again (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: enable audio formatter driver build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: add pcm formatter platform driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: remove simple-scu-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: remove audio-graph-scu-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: add asoc_graph_card_get_conversion() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: check "reg" property on asoc_simple_card_get_dai_id() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: boards: use snd_mask_set_format in all machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Atom: simplify boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Baytrail: simplify boolean test (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Baytrail: remove unneeded variable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell: assign booleans to true/false (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell: remove unneeded semicolon (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: simplify boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: remove useless cast (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8904: enable MCLK in STANDBY (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8904: save model id directly in of_device_id.data (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8904: make the driver visible in Kconfig (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4341: Add driver for CS4341 DAC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Fix recording no sound issue (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: atom: Make PCI dependency explicit (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: prevent potential divide by zero bugs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Fix a small memory leak (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Fix a NULL vs IS_ERR() bug (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Off by one in of_q6asm_parse_dai_data() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm512x: Fix a double unlock in pcm512x_digital_mute() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: change license header format style (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell/Broadwell: fix setting for .dynamic field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: Grammar s/the the/the/ (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dma-sh7760: cleanup a debug printk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: set jack only for a specific backend (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Revert DSP detection on legacy HD-audio driver (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: clear pending irq handlers (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable the headset mic auto detection for ASUS laptops (Jaroslav Kysela) [1683051] - [sound] ALSA: HD-Audio: SKL+: force HDaudio legacy or SKL+ driver selection (Jaroslav Kysela) [1683051] - [sound] ALSA: HD-Audio: SKL+: abort probe if DSP is present and Skylake driver selected (Jaroslav Kysela) [1683051] - [sound] ALSA: HDA: export process_unsol_events() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS UX391UA with ALC294 (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: fix model-id of unit for Apogee Ensemble (Jaroslav Kysela) [1683051] - [sound] ALSA: xen-front: Use Xen common shared buffer implementation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: Kconfig: Remove the deprecated options (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: Merge davinci and omap directories (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: add mute LED support for HP EliteBook 840 G4 (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: code refactoring to handle model-specific registers (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add support for packet streaming on Fireface 800 (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: allocate isochronous resources in mode-specific implementation (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: code refactoring to handle multiplier mode (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share helper function to switch fetching mode (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: fix for state to fetch PCM frames (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: use the same print format for 'without_header' tracepoints (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: fix wrong assignment for 'out_packet_without_header' tracepoint (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: fix wrong handling payload_length as payload_quadlet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: add display_port_rx port routing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: add support to Display port RX dais (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: qdafe: add support for display_port_rx (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Add support to compress offload (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm: add support to MP3 format (Jaroslav Kysela) [1683051] - [sound] ALSA: soc-compress: add support to snd_compr_set_runtime_buffer() (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: make use of runtime buffer for copy (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Add more platform granularity (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: tidyup prefix for snd_soc_codec_conf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: tidyup convert_rate/channel method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: tidyup mclk-fs method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: merge simple-scu-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup prefix for snd_soc_codec_conf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup convert_rate/channel method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup mclk-fs method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: merge audio-graph-scu-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: fixup asoc_simple_card_get_dai_id() ID method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Invoke pcm_new() for all DAI-link (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm512x: Implement the digital_mute interface (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: fix do_div warning in spdifin (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: add error logs on probe, remove dependency on NHLT (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: remove useless tests on HDaudio capabilities (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: stop probe if HDaudio capabilities don't exist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Harden DSP detection with PCI class/subclass info (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Add CFL-S support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add powersaving widgets for DAC and ADC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: enable i2s driver build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: Add i2s driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_rt5660: Add a new machine driver for kbl with rt5660 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg spdif input (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-toddr: add support for spdifin backend (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Dereference pointer for memcpy sizeof in asoc_simple_card_probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Fix SND_SOC_EUKREA_TLV320 build error on i.MX8M (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: add support for Huawei WMI micmute LED (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: fix front speakers on Huawei MBXP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: remove RSND_REG_ from rsnd_reg (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add support for Fireface 800 with MIDI functionality only (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: localize a handler for MIDI messages on tx transaction (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add driver data for register for MIDI high address (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share register for async transaction of MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add support for second optical interface for ADAT stream (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share helper function to get current sampling rate and clock source (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share status and configuration dump (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share some registers for status of clock synchronization (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: care multi DPCM codec_conf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: use cpu/codec pointer on graph_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: tidyup "convert-rate/channels" parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: care link / dai count (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: add dai-link support (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - make pci_iounmap() call conditional (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi: Always set display_power_control for Intel HSW+ codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hdmi: Add missing display power-off at driver removal (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Make snd_hdac_display_power() void function (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/intel: Properly free the display power at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/intel: Drop superfluous AZX_DCAPS_I915_POWERWELL checks (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Refactor display power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: tidyup asoc_simple_card_parse_daifmt() timing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: use cpu/codec pointer on simple_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: fix build warning without CONFIG_OF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: add rt5663 codec select (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: fix the audio jack button remapping (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Point of View Mobii TAB-P1005W-232 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Prowise PT301 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS UX433FN/UX333FA with ALC294 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS UX533FD with ALC294 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: ALC294 mic and headset-mode fixups for ASUS X542UN (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/intel: Refactoring PM code (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: fix reference to wrong register for clock configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix the mute LED regresion on Lenovo X1 Carbon (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Add copyright and module author (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Add configuration for headset codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Add TDM configuration for speaker (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Fix signal paths (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Calculate LRCLK divider (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Fix power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Remove useless assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Enable headset button support for new codec (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add jack button support (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add jack pointer and unsolicited event bits to callback (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixed headphone issue for ALC700 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5660: Add a new ACPI match ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ak4104: move to GPIO consumer API (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: cs4270: move to GPIO consumer API (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Use of_node_name_eq for node name comparisons (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: use dma_ops of parent device for acp_audio_dma (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: use DMA addr rather than CPU pa for acp_audio_dma (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Gnawty (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Use of_node_name_eq for node name comparisons (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Remove direct OF name and type accesses (Jaroslav Kysela) [1683051] - [sound] ALSA: sparc: Use of_node_name_eq for node name comparisons (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Fix mic issue on Acer AIO Veriton Z4860G/Z6860G (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Fix mic issue on Acer AIO Veriton Z4660G (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add support for Acer Aspire C24-860 headset mic (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Added max98373_reset for stable amp reset (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: use cpu/codec pointer on graph_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: care multi DPCM codec_conf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: use cpu/codec pointer on graph_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: care link / dai count (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: fixup asoc_simple_card_get_dai_id() counting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add missing TDM Split mode support for simple-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup mod ID for CTU regmap read/write (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: indicates Channel and Mode for debug (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi - Add Tegra186 and Tegra194 support (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra - Probe up to 8 codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Clapper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: remove raumfeld machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix UAF decrement if card has no live interfaces in card.c (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add ACPI matching tables for ICL (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix speaker output regression on Thinkpad T570 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: au8540: use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add support for AMD Stoney Ridge (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add SMSL D1 to quirks for native DSD support (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix starvation on down_write_nonblock() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Call snd_pcm_unlink() conditionally at closing (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: compatible string as shortname (Jaroslav Kysela) [1683051] - [platform] ALSA: platform/x86: thinkpad_acpi: Add audio mute LED classdev support (Jaroslav Kysela) [1683051] - [platform] ALSA: platform/x86: dell-laptop: Add micmute LED trigger support (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Support led audio trigger (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: Don't disable pcm3168a when CONFIG_PM defined (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: introduce module_param wakeup_delay (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: introduce mode switch delay (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: sdm845: Create and setup jack in init callback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: sdm845: Add board specific dapm widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Implement configurable dismod handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Update PDIR (pin direction) register handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Clear TXSTAT register before activating serializers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Add FW reply for MCLK/SCLK IPC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Make DSP replies more human readable (Jaroslav Kysela) [1683051] - [drivers] ALSA: leds: trigger: Introduce audio mute LED trigger (Jaroslav Kysela) [1683051] - [drivers] ALSA: leds: core: Introduce LED pattern trigger (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: tidyup registering method for rsnd_kctrl_new() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Support ALC300 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add auto-mute quirk for HP Spectre x360 laptop (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Fix whitespace (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc.h: makes snd_soc_of_parse_audio_prefix() inline (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Fix a NULL vs IS_ERR() check in probe (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - fix the pop noise on headphone for lenovo laptops (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: fix spelling mistake "Frequence" -> "Frequency" (Jaroslav Kysela) [1683051] - [sound] ALSA: Revert "ALSA: Replace snd_malloc_pages() and snd_free_pages() with standard helpers" (Jaroslav Kysela) [1683051] - [sound] ALSA: Replace snd_malloc_pages() and snd_free_pages() with standard helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: control: Consolidate helpers for adding and replacing ctl elements (Jaroslav Kysela) [1683051] - [sound] ALSA: control: Fix race between adding and removing a user element (Jaroslav Kysela) [1683051] - [sound] ALSA: sparc: Fix invalid snd_free_pages() at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: wss: Fix invalid snd_free_pages() at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - fix headset mic detection for MSI MS-B171 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add ASRock N68C-S UCC the power_save blacklist (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: Fix incorrect bit shift at AC97-SPSA control write (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: notify events of change of state for userspace applications (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: apply small refactoring to handle several type of event for hwdep interface (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: queue events for change of control surface (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: add new hwdep ioctl command to get state image (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: pick up data of state from tx isochronous pakcets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-dmic: Add pm_qos handling to avoid overruns with CPU_IDLE (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcpdm: Add pm_qos handling to avoid under/overruns with CPU_IDLE (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Fix latency value calculation for pm_qos (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup define position (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup typo SND_AUDIO_GRAPH_CARD (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: tidyup asoc_simple_card_parse_daifmt() timing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: tidyup "convert-rate/channels" parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: tidyup "prefix" parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: tidyup "prefix" parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add snd_soc_of_parse_node_prefix() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-amplifier: add VCC regulator widget (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: sun50i-codec-analog: Add support for cpvdd regulator supply (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple_card_utils: remove "option" from asoc_simple_card_of_parse_routing() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: tidyup asoc_simple_card_parse_convert() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: accept NULL parameter on asoc_simple_card_xxx() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: remove asoc_simple_card_clk_register() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: makes rsnd_ssi_is_dma_mode() static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: tidyup rsnd_parse_connect_ssiu_compatible() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Add support for Secondary MI2S interface (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Update slot_width for Quaternary TDM port (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: use platform_data for machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: fix interface for Chromebook machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: acpi: define common interface for machine driver configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: acpi: fix: continue searching when machine is ignored (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: fix Kconfigs, make HDaudio codec optional (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic3x: Add support for CBM_CFS and CBS_CFM clocking modes (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Use device_type helpers to access the node type (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - fix AE-5 pincfg (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add new ZxR quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: asihpi: clean up indentation, replace spaces with tab (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5663: Fix error handling of regulator_set_load (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: fix spelling mistake "Inavlid" -> "Invalid" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: clean up indentation, remove extraneous tab (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: arizona: fix indentation issue with return statement (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320dac33: clean up indentation, remove extraneous tab (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: asihpi: clean up indentation, remove extraneous tab (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Convert a few more users to using pOFn instead of device_node.name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5663: Add regulator support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4118: Add support for AK4118 S/PDIF transceiver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm186x: Fix device reset-registers trigger value (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: remove set but not used variable 'dma_buffer' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Fixed build errors (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8822: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8822: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Recalculate audio map forcely when card instantiated (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-abe-twl6040: Fix missing audio card caused by deferred probing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: fix memory leak of i2s_data on error return (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add DT property for single-ended output (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Rename output widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Set dai_link id to each dai_link (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun8i-codec: add missing route for ADC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: enable acp3x drivers build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x system resume pm op (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x runtime pm ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x tdm mode support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x i2s ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x pcm driver dma ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Interrupt handler changes for ACP3x DMA driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add ACP3x PCM platform driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: create ACP3x PCM platform device (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: add ACP3.0 PCI driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: add ACP 3.x IP register header (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Power down links before turning off display audio power (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: hdac_hdmi: add Icelake support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Factor out common init code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Fix dma-unsafe read of scratch registers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: add missing slave_config setting for I2S (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: No need to initialize max_xx_thres when it is not used (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Remove redundant check for mcbsp->pdata (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Re-arrange files for core McBSP and Sidetone function split (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Move out the FIFO check from set_threshold and get_delay (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Simplify the mcbsp_start/_stop function parameters (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Clean up the interrupt handlers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Skip dma_data.maxburst initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Clean up dma_data addr initialization code (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: add support for APOGEE duet FireWire (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Call pci_iounmap() instead of iounmap() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add quirk entry for HP Pavilion 15 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Optimize for non-PCI configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: use ring buffer for rsnd_mod_name() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun8i-codec: fix crash on module removal (Jaroslav Kysela) [1683051] - [sound] ALSA: oss: Use kvzalloc() for local buffer allocations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_ssi: Change to use DEFINE_SHOW_ATTRIBUTE macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add TDM Split mode support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add SSIU BUSIF support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: handle DPCM converted rate/chan under core (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: move HDMI information from ssi.c to core.c (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: use defined io_playback/io_capture (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: rename rsnd_runtime_is_ssi_xxx() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: remove endpoint bidirectional check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: remove error check which never happen (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: remove endpoint bidirectional check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: remove endpoint bidirectional check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add quirk for APL RVP boards (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add SOF information for APL RVP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: remove GFP_ATOMIC, use GFP_KERNEL (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: boards: fix Skylake typo (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: use standard interface for Atom machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: use standard interface for Hdaudio machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: change ac97 dependencies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap: Remove unused machine driver for AM3517-evm (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: remove read-only status register from snd_kcontrol_new (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak5558: Remove redundant snd_soc_component_read32 calls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: Fix the dai widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Only add routing once. (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Define registers for CM6206 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix incorrect clearance of thinkpad_acpi hooks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe: Fix wrong MI2S SD line mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: Add quirk for boards using pmc_plt_clk_0 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: rsnd_mod_name() handles both name and ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add .get_id/.get_id_sub (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: move .get_status under rsnd_mod_ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: cleanup hw_constraint for LEFT_J/I2S (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: On OMAP1 and OMAP2420 only 16bit format is supported (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: constify regulator_desc structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: constify snd_soc_dai_ops structures (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: constify snd_soc_dai_ops structures (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8825: remove unnecessary unlikely() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: mrfld: fix uninitialized variable access (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm97xx: fix uninitialized regmap pointer problem (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: smd845: constify snd_soc_ops structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix less than zero comparison on unsigned int (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: rename SND_SUNXI_ADDA_PR_REGMAP to SND_SUN8I_ADDA_PR_REGMAP (Jaroslav Kysela) [1683051] - [sound] ALSA: x86: Rip out the lpe audio runtime suspend/resume hooks (Jaroslav Kysela) [1683051] - [sound] ALSA: x86: Fix runtime PM for hdmi-lpe-audio (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup clock start checker (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fix oops w/ for_each_rtd_codec_dai_rollback() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: fix insufficient PCM rule for period/buffer size (Jaroslav Kysela) [1683051] - [sound] ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops (Jaroslav Kysela) [1683051] - [sound] ALSA: dice: fix to wait for releases of all ALSA character devices (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix noderef.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix master clock naming (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: add clock dependency for sai (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Actually fix microphone issue (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-i2s: move code from startup/shutdown hooks into pm_runtime hooks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm2000: Remove wm2000_read helper function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: fix mclk support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Log addresses as 8 digits in wm_adsp_buffer_populate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Rename memory fields in wm_adsp_buffer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add mclk support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: set sai as mclk clock provider (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: fix trivial checkpatch issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Add support for hw_free on CODEC to CODEC links (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: minor white space clean up (Jaroslav Kysela) [1683051] - [sound] ALSA: i2c/cs8427: Fix int to char conversion (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: tidyup SSICR::SWSP for TDM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: enable TDM settings for SSI parent (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: add hw constraint for capture channel (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sta32x: Add support for XTI clock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8822: new codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra_sgtl5000: fix device_node refcounting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: allow the sun8i-codec driver to be built on ARM64 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: Add new driver for Allwinner A64 codec's analog path controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun8i-codec-analog: split regmap code into separate driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun8i-codec: Don't hardcode BCLK / LRCK ratio (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-i2s: Add compatibility with A64 codec I2S (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: don't pass GFP_DMA32 to dma_alloc_coherent (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add 2 more models to the power_save blacklist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: Add Kabylake Dialog+Maxim machine driver entry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: Add KBL Dialog Maxim I2S machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Add SND_JACK_LINEOUT jack type (Jaroslav Kysela) [1683051] - [sound] ALSA: asihpi: don't pass GFP_DMA32 to dma_alloc_coherent (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: add I2S/Left_J TDM support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: add hw constraint for channel (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: add HW constraint for non RIGHT_J (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sta32x: set ->component pointer in private struct (Jaroslav Kysela) [1683051] - [sound] ALSA: au88xx: Add fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: opti92xx-ad1848: Use the standard fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: oss: Use the standard fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: caiaq: Add fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Add fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add missing entries to Kconfig (Jaroslav Kysela) [1683051] - [sound] ALSA: isight: fix leak of reference to firewire unit in error path of .probe callback (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add mic quirk for the Lenovo G50-30 (17aa:3905) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Sort DHT Rot Pnt Volume in reverse order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Sort max98373_bde_gain_tlv in reverse order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Sort BDE Limiter Thresh Volume in reverse order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Sort Digital Volume in reverse order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: enable mclk-fs on codec node (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: use 32bit TDM width as default (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98988: add I2C dependency (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: simplify cleanup process when failing to register sound card (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob/fireworks: simplify handling of local device entry table (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: release reference count of firewire unit in .remove callback of bus driver (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: block .remove callback of bus driver till all of ALSA character devices are released (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix the problem of the front MIC on the Lenovo M715 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix headphone pin config for ASUS G751 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix input effect controls for desktop cards (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add error checking in ca0132_build_controls() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Clean up patch_ca0132() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix microphone inconsistency issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98988: make it selectable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98088: Add master clock handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8782: add support for regulators (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add ASUS G751 quirk model entry (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add quirk for ASUS G751 laptop (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Use the standard fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: skylake: Add fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt274: Add fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm186x: Use the standard fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau1761: Use the standard fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add custom mixer status quirks for RME CC devices (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: update quirk for B&W PX to remove microphone (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/sigmatel - Disable automute for Elo VuPoint (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: A lightweight function to discard pending bytes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add fault detect recovery property to DT bindings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa-ssp: enable and disable extclk if given (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: checking NULL vs IS_ERR() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: skylake: Add missing break in skl_tplg_get_token() (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: use managed-resource to maintain cache of stream formats (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: use managed-resource to maintain model-specific data (Jaroslav Kysela) [1683051] - [sound] ALSA: fireworks: use managed-resource to maintain response buffer (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: use managed-resource to maintain data specific to M-Audio FW-1814/ProjectMix I/O (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: use managed-resource of fw unit device for private data (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Cannot adjust speaker's volume on Dell XPS 27 7760 (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0: Fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: sb8: Fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: add PCM rules to obsolete PCM constraints based on LCM of SYT_INTERVAL (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR exit commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR 600 ohm gain control (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Remove input select enum for ZxR (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR input/output select commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR DSP post-download commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR init commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add DBpro hda_codec_ops (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR pincfg (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR quirks + new quirk check function (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix surround sound with output effects (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix AE-5 control type (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix mismatch for register mask and value in ext controller. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: qdsp6: remove duplicated include (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm9712: fix unused variable warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel: add SND_SOC_I2C_AND_SPI dependency (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: avoid AC97_BUS build warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-utils: Rename dummy_dma_ops to snd_dummy_dma_ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98088: add OF support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4265: Add a MIC pre. route (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_component_dais() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_component() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup SSI clock during suspend/resume modes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: qdsp6: remove duplicated include from q6adm.c (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tidyup for_each_card_prelinks() dai_link (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5663: Remove the boost volume in the beginning of playback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_dpcm_be() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_dpcm_fe() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_comp_order() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_card_components() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_card_rtds() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_card_links() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_card_prelinks() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rename for_each_rtd_codec_dai_reverse to rollback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: convert for_each_rtd_codec_dai() for missing part (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add AE-5 exit function (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add AE-5 specific controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add input selection commands for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add output set commands for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Clean up ca0132_alt_out_select (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add DSP setup functions for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Merge post-dsp functions + cleanup (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Change firmware name and usage (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add AE-5 regular init setup (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add AE-5 pre-init and ca0113 functions (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Change ca0132_mmio_init for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Set AE-5 bools and select mixer (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add pincfg for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add quirk for Sound BlasterX AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Define new verbs and control params (Jaroslav Kysela) [1683051] - [sound] ALSA: xen-front: Refine indentations and constify snd_pcm_ops (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix the audio-component completion timeout (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5677-spi: Drop unused GPIO include (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Minor code modification (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix capture unstable in beginning for some runs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Fix the boost volume at the begining of playback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Update calibration function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Remove HP volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Improve HP performance (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: remove redundant include (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5514-spi: Get the period_bytes in the copy work to make sure the value correctly (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add snd_soc_is_matching_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: manage platform name under snd_soc_init_platform() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: remove duplicated include from q6asm-dai.c (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hisilicon: fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8328: Fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: fireworks: fix memory leak of response buffer at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: fix memory leak of discovered stream formats at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: fix memory leak for model-dependent data at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: fix memory leak for M-Audio FW1814 and ProjectMix I/O at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: atiixp: fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Enable runtime PM only for discrete GPU (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: fix memory leak of private data (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: fix memory leak of private data (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-digi00x: fix memory leak of private data (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0m: Register irq handler after register initializations (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix implicit definition of pci_iomap() on SH (Jaroslav Kysela) [1683051] - [sound] ALSA: don't call skl_init_chip() to reset intel skl soc (Jaroslav Kysela) [1683051] - [sound] ALSA: enable interrupt after dma buffer initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: Revert "ASoC: Intel: Skylake: Acquire irq after RIRB allocation" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: remove dai->driver NULL check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: add support to card rebind (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: remove unneeded static set .owner field in platform_driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: add missing INTERLEAVED PCM attribute (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: remove unused num_dai_links (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: avoid nested code on soc_remove_dai() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5668: remove empty rt5668_i2c_remove() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: fix unused variable warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Fix UBSAN warning at snd_soc_get/put_volsw_sx() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: switch to new ac97 bus support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix simultaneous playback and capture on different channel (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: fix possible info leak to userspace on SNDRV_EMU10K1_IOCTL_INFO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Add missing return value check for snd_soc_dapm_new_dai (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: skl-topology: Use kmemdup to replace kzalloc + memcpy (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: q6core: Use kmemdup to replace kzalloc + memcpy (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: txx9: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nuc900: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tscs454: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5668: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hda: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: bcm: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel_ssc_dai: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Ensure reset bit is cleared before configuring (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: clean up a return (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Fix a couple uninitialized ret variables (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: fix memory leak in ff400_switch_fetching_mode() (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: use address returned by kmalloc() instead of kernel stack for streaming DMA mapping (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Update hardware pointer before start capture (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: usleep_range() needs include/delay.h (Jaroslav Kysela) [1683051] - [sound] ALSA: regmap: split up regmap_config.use_single_rw (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: hdac_hdmi: Limit sampling rates at dai creation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Avoid uninitialised variable warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sgtl5000: avoid division by zero if lo_vag is zero (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: don't use p for dev_dbg() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: don't fallback to PIO mode when -EPROBE_DEFER (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: adg: care clock-frequency size (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: gen: use tab instead of white-space (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hdmi: remove redundant check for !port condition (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Move CODEC to CODEC params from the widget to the runtime (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Add support for multi-CODEC CODEC to CODEC links (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Move connection of CODEC to CODEC DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Cosmetic tidy up of snd_soc_dapm_new_control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Move error handling to snd_soc_dapm_new_control_unlocked (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_link_codecs() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: Add overflow detection support (Jaroslav Kysela) [1683051] - [sound] ALSA: mips: Cleanup indirect PCM helper usages (Jaroslav Kysela) [1683051] - [sound] ALSA: cs46xx: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag (Jaroslav Kysela) [1683051] - [sound] ALSA: mips: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag (Jaroslav Kysela) [1683051] - [sound] ALSA: rme32: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix several mismatch for register mask and value (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Convert to using pOFn instead of device_node.name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Don't schedule DAPM work if already in target state (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Add driver for PROTO Audio CODEC (with a WM8731) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: merge .nolock_start and .prepare (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssiu: Support to init different BUSIF instance (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssiu: Support BUSIF other than BUSIF0 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoc: rsnd: dma: Calculate PDMACHCRE with consider of BUSIF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoc: rsnd: dma: Calculate dma address with consider of BUSIF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssi: Check runtime channel number rather than hw_params (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssi: Fix issue in dma data address assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: remove is_play parameter from hw_rule function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add support for 8 bit S8 format (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add support for the DSP_A/DSP_B formats (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add support for 16/24 bit slot widths (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add warning message to rsnd_kctrl_accept_runtime() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup not to call clk_get/set under non-atomic (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Initialize allocated buffers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: Add short circuit detection support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fix soc-core.c kernel-doc warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: q6routing: initialize data correctly (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tas6424: Add channel fault reporting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tas6424: Save last fault register even when clear (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tas6424: Print full register name in error message (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-util: remove dai_link compatible code for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-util: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: use snd_soc_dai_link_component for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-util: remove dai_link compatible code for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: use simple_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: use simple_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple_card_utils: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4265: Add a S/PDIF enable switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4265: Add native 32bit I2S transport (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4265: SOC_SINGLE register value error fix (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: tas5720: add TAS5722 TDM slot width setting support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: tas5720: add TAS5722 specific volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Add support for FIFO usage caused delay reporting (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix cancel_work_sync() stall from jackpoll work (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Clean up jackpoll_ms option handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg pdm input (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: add DT module alias (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: add Kconfig prompt for the generic dmic codec. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau17x1: Unused exported functions changed to internal (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Improve legibility of if-statements (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Improve stylistics of file comments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel: tse850: switch to SPDX license identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Change MCLK to 48Mhz (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Set constraints for DMIC and MAX98357a codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht-bsw-rt5672: Add key-mappings for the headset buttons (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: Add quirk for Thinkpad 8 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5670: Add quirk for Thinkpad 8 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau17x1: Implemented safeload support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sigmadsp: safeload should not have lower byte limit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hda: add asoc extension for legacy HDA codec drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: use hda_bus instead of hdac_bus (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: add HDA BE DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: use HDAudio if ACPI enumeration fails (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: Machine driver for SKL+ w/ HDAudio codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add table for HDA-based platforms (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: move hda_codec.h to include/sound (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8804: Add ACPI support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Update calibration function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Change DAC/ADC volume scale (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Added 10ms sleep after amp software reset (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-tdm: restrict formats depending on slot width (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-fifo: report interrupt request failure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: imply clock and reset controllers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: Properly initialise hw->rate_max (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Don't fail creating new DAPM control on NULL pinctrl (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Remove clock framework ifdefs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Convert to using pOFn instead of device_node.name (Jaroslav Kysela) [1683051] - [sound] ALSA: intel_hdmi: Use the new non-cached allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0: Use the new non-cached allocation for 440MX workaround (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Remove substream allocation/free ops (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Use new non-cached allocation for non-snoop mode (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Check the non-cached stream buffers more explicitly (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Add non-cached buffer type (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Simplify snd_malloc_dev_pages() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Don't align the size to power-of-two (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Do error checks at creating system ports (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: add error check in snd_seq_system_client_init() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: signedness bug in snd_pcm_plug_alloc() (Jaroslav Kysela) [1683051] - [sound] ALSA: hdspm: fix spelling mistake "Initializeing" -> "Initializing" (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Return 0 when size < start_threshold in capture (Jaroslav Kysela) [1683051] - [kvm] ALSA: treewide: correct "differenciate" and "instanciate" typos (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix HP Headset Mic can't record (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: fix unbalanced pm_runtime_enable (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: fix check of pm_runtime_get_sync failure (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: fix device initialization in the compat layer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5514: Fix the issue of the delay volume applied again (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Added speaker FS gain cotnrol register to volatile. (Jaroslav Kysela) [1683051] - [sound] ALSA: update dell-wmi mic-mute registration to new world order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Fix NULL pointer deference on CODEC to CODEC DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: virmidi: Fix discarding the unsubscribed output (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Acquire irq after RIRB allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm9712: fix replace codec to component (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirks for 2 more devices (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adav80x: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Add delays to capture path to remove DC offset noise (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: mixart: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: opl3: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add exit commands for Recon3D (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Change mixer controls for Recon3D (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add Recon3D input and output select commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add DSP setup defaults for Recon3D (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add Recon3D startup functions and setup (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add bool variable to enable/disable pci region2 mmio (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add Recon3D pincfg (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add quirk ID and enum for Recon3D (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add alt_functions unsolicited response (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Clean up ca0132_init function. (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Create mmio gpio function to make code clearer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Make DSP name configurable by codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Declare firmware controls from codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Added software reset register to readable registers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct DSP pointer for preloader control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5677: Fix initialization of rt5677_of_match.data (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: compress: make BE and FE order inline with dpcm (Jaroslav Kysela) [1683051] - [sound] ALSA: intel_hdmi: remove redundant variable cfg_val (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Set delay value for the capture case (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Modified DMA pointer for capture (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Make ACP->SYSMEM DMA non circular (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8994: Fix missing break in switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: add SLIM tx AIF_IN dapm (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: remove unused header files from common.h (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: remove unused header files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: apq8096: remove unused header files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: make common.c as proper module (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8903: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da9055: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm5100-tables: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7213: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: twl6040: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8996: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4270: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8990: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tda7419: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5631: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9850: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: dice: fix wrong copy to rx parameters for Alesis iO26 (Jaroslav Kysela) [1683051] - [sound] ALSA: echoaudio: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: mixart: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add mute LED quirk for HP Spectre x360 (Jaroslav Kysela) [1683051] - [sound] ALSA: seq_oss: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-dmic: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcpdm: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-i2s: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: smd845: fix memory leak (Jaroslav Kysela) [1683051] - [sound] ALSA: synth: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: i2c: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: isa: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: drivers: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: gus: fix spelling mistake "acumulator" -> "accumulator" (Jaroslav Kysela) [1683051] - [sound] ALSA: es18xx: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: opti9xx: mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: opti92x: mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: galaxy: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bxt: Use refcap device for mono recording (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: remove support for card rebind using component framework (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: smd845: remove auto rebinding (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: apq8096: remove auto rebinding (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Correct Asrock B85M-ITX power_save blacklist entry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Fix unmet dependency warning for SND_SOC_SDM845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8994: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm9081: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8995: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8962: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8996: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8904: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8960: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8955: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5677: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5640: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8961: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsi: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: Fix a typo (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix invalid use of sizeof in parse_uac_endpoint_attributes() (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Drop unused 64bit division macros (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Use no intrruptible mutex_lock (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Fix leftovers at probe error path (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Remove dead codes (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Minor cleanup of MIDI event parser helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-pcm: Use delay set in component pointer function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: Fix build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: Fix build due to CLASS-H Controller support (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: remove redundant pointer 'urb' (Jaroslav Kysela) [1683051] - [sound] ALSA: sonicvibes: remove redundant pointer 'dir' (Jaroslav Kysela) [1683051] - [sound] ALSA: ens137x: remove redundant array pcm_devs (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: remove redundant variable attn (Jaroslav Kysela) [1683051] - [sound] ALSA: cs5535audio: remove redundant pointer 'dma' (Jaroslav Kysela) [1683051] - [sound] ALSA: asihpi: remove redundant variable max_streams (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: remove redundant pointers 'priv' and 'rtd' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8540: remove redundant variable osrate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: add sdm845 sound card support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Add support to parse common audio device nodes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add CLASS-H Controller support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add support to wcd9335 codec (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Operate UAC3 Power Domains in PCM callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add UAC3 Power Domains to suspend/resume (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: AudioStreaming Power Domain parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Initial Power Domain support (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: virmidi: Use READ_ONCE/WRITE_ONCE() macros (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: virmidi: Offload the output event processing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: uniphier: change functions to static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: uniphier: add support for multichannel output (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sirf: Fix potential NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra_alc5632: fix device_node refcounting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh: Kconfig: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4613: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7210: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4554: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4642: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8988: fix typo in rate constraints (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra: i2s: Fix typo/broken macro (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi: Use single mutex unlock in error paths (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Sleep for 10ms after entering D3 on Conexant codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Turn CX8200 into D3 as well upon reboot (Jaroslav Kysela) [1683051] - [sound] ALSA: ctxfi: cthw20k2: Replace mdelay() with msleep() and usleep_range() (Jaroslav Kysela) [1683051] - [sound] ALSA: ALSA:: ctxfi: cthw20k1: Replace mdelay() with msleep() (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: quirks: Replace mdelay() with msleep() and usleep_range() (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: atiixp_modem: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: atiixp: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: bt87x: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: echoaudio: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: maestro3: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0m: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: lola: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: mixart: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: riptide: Properly endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Proper endian notations for BDL pointers (Jaroslav Kysela) [1683051] - [sound] ALSA: trident: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: ymfpci: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: xen: Use standard pcm_format_to_bits() for ALSA format bits (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: Fix PCM format bit calculation (Jaroslav Kysela) [1683051] - [sound] ALSA: wss: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: asihpi: Fix PCM format notations (Jaroslav Kysela) [1683051] - [sound] ALSA: au88x0: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: ad1816a: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: riptide: Fix PCM format type conversion (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix implicit PCM format type conversion (Jaroslav Kysela) [1683051] - [sound] ALSA: virmidi: Fix too long output trigger loop (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Use standard pcm_format_to_bits() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm186x: Declare PCM format with snd_pcm_format_t (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Use snd_mask_set_format() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix interval evaluation with openmin/max (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Add snd_mask_set_format() helper for standard usages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: Fix snd_pcm_format_t handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Use int for format bit position (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Fix missing __user prefix in copy_user callback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: zte: Fix incorrect PCM format bit usages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: align axg card driver with DT bindings documentation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: use IRQ_RETVAL in the fifo irq handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix build warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Add a fix voltage regulator for DA7219 and ADAU7002 (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Fix missing PAGE_SIZE definition (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: declare snd_sgbuf_aligned_pages() unconditionally (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: Fix missing __force annotation for user/kernel pointer cast (Jaroslav Kysela) [1683051] - [sound] ALSA: korg1212: Add __force annotation to cast in user-copy callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Use standard lower_32_bits() and upper_32_bits() (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Declare the common variable in header file (Jaroslav Kysela) [1683051] - [sound] ALSA: opl3: Declare common variables properly (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix a sparse warning about snd_ctl_elem_iface_t (Jaroslav Kysela) [1683051] - [sound] ALSA: msnd: Use NULL instead of 0 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Use NULL instead of 0 (Jaroslav Kysela) [1683051] - [sound] ALSA: msnd: Fix the default sample sizes (Jaroslav Kysela) [1683051] - [sound] ALSA: msnd: Add missing __iomem annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix multiple definitions in AU0828_DEVICE() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add support for Encore mDSD USB DAC (Jaroslav Kysela) [1683051] - [sound] ALSA: cs5535audio: Fix invalid endian conversion (Jaroslav Kysela) [1683051] - [sound] ALSA: vxpocket: Fix invalid endian conversions (Jaroslav Kysela) [1683051] - [sound] ALSA: vx222: Fix invalid endian conversions (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Fix poll() error return (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: fix widget handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Atom: fix inversion between __iowrite32 and __ioread32 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Atom: simplify iomem address and casts (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: make sst_dma functions static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: BDL definitions should be __le32 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell: fix endianness handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5631: add Volume to the name of volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-sgtl5000: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_utils: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_asrc: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl-asoc-card: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: add support to snd_soc_dai_get_channel_map() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5514: Fix the issue of the delay volume applied (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-spdifout: select SND_PCM_IEC958 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/i915: Allow delayed i915 audio component binding (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Generic DSD detection for Thesycon-based implementations (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Don't exceed over the requested size (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: catch invalid timer object creation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: remove clock divider and pll setup from zylonite and magician (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg sound card support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: export snd_soc_of_get_slot_mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add tdm input driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add tdm output driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add tdm interface driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add tdm formatter base driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra: improve goto error label (Jaroslav Kysela) [1683051] - [usb] ALSA: powerpc/ps3: Set driver coherent_dma_mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the "Connect Tablet 9" tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add quirk table entries for various devices (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add mono speaker quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add IN2 input mapping (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Set OVCD limit for VIOS LTH17 to 2000uA (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Fix using the wrong GPIO for the ext-amp on some boards (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add IN3 Boost volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Parse HOST_BUFFER controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Allow up to 8 channels for voice control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Take prefix into account in control name length (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct algorithm list allocation size (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Ensure DSP boot work complete before preloader_put return (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Allow changing from a bad sample rate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg spdif output (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg toddr driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg frddr driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg fifo base driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hdmi: Add documentation for power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: apq8096: remove component framework related code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: remove component framework related code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: remove component framework related code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: remove component fw related code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: add support to card re-bind using component framework (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Add __force to cast in snd_pcm_lib_read/write() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Nuke snd_pcm_lib_mmap_vmalloc() (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Use kvmalloc() for buffers (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Minor code refactoring (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Simplify error paths (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Tidy up coding styles (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Make audio component support more generic (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/i915: Associate audio component with devres (Jaroslav Kysela) [1683051] - [sound] ALSA: drm/i915: Split audio component to a generic type (Jaroslav Kysela) [1683051] - [sound] ALSA: emu8000: Use swap macro in snd_emu8000_sample_new (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1_patch: Use swap macro in snd_emu10k1_sample_new (Jaroslav Kysela) [1683051] - [gpu] ALSA: vga_switcheroo: set audio client id according to bound GPU id (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: use PCI_BASE_CLASS_DISPLAY to replace PCI_CLASS_DISPLAY_VGA (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Tidy up logic for Processing Unit min/max values (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Unify virtual type units type to UAC3 values (Jaroslav Kysela) [1683051] - [include] ALSA: usb-audio: Add support for Processing Units in UAC3 (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Processing Unit controls parsing in UAC2 (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add support for Selector Units in UAC3 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: For capture have interrupts on I2S->ACP channel (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Send correct channel for configuring DMA descriptors (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: Add GLK Realtek Maxim I2S machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: fix routing (Jaroslav Kysela) [1683051] - [sound] ALSA: cs46xx: remove redundant pointer 'ins' (Jaroslav Kysela) [1683051] - [sound] ALSA: ali5451: remove redundant pointer 'codec' (Jaroslav Kysela) [1683051] - [sound] ALSA: sb8: remove redundant pointer runtime (Jaroslav Kysela) [1683051] - [sound] ALSA: gus: remove redundant pointer private_data (Jaroslav Kysela) [1683051] - [sound] ALSA: es1688: remove redundant pointer chip (Jaroslav Kysela) [1683051] - [sound] ALSA: opl3: remove redundant pointer opl3 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: off by one in routing_hw_params() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: fix a range check in of_q6afe_parse_dai_data() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: allow soc-core to pick up name prefixes from component nodes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: add rate merge to the BE stream merge (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: rework runtime stream merge (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix snd_interval_refine first/last with open min/max (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Reporting button presses (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Disable jack-detect over suspend/resume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add button press support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Allow disabling jack-detect by calling set_jack(NULL) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Fix workqueue cancel vs irq free race on remove (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add support for externar amplifier enable GPIO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Move getting of codec_dev into probe() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Remove is_valleyview helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Lenovo Miix2 8 tablet (Jaroslav Kysela) [1683051] - [dma] ALSA: dmaengine: add support for reporting pause and resume separately (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau171x1: Connect playback DAI to the DSP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: make SND_PXA_SOC_SSP depend on PLAT_PXA (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: replace "p" with "pK" (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Allow drivers to set R/W wait time. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8824: use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa-ssp: add support for an external clock in devicetree (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: cmd: Add missing newline to debug message (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_spdif: Use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: Do not overwrite slim dai num_channels (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: add slim rx routings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: add support to slim tx dais (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe: Add missing slimbus capture ports (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: Use snd_pcm_stop_xrun() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sti: Use snd_pcm_stop_xrun() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Use snd_pcm_stop_xrun() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci: Use snd_pcm_stop_xrun() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8825: use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: do not close port if its not opened (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: do not close port if its not opened (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Use snd_pcm_stop_xrun() for xrun injection (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: trace XRUN event at injection, too (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Allow topology to override machine driver FE DAI link config. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel-i2s: Remove unnecessary audio PLL clock (aclk) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: add support for the es7154 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: correct required power supplies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Simplify trigger handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Reset bytescount when starting transaction (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Do not generate interrups for every captured sample (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix Capture DMA channel names (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Always subtract bytescount (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Always stop ch2 first (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa-ssp: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7241: add es7241 codec support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: add button detection mode control (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-midi: use irqsave() in USB's complete callback (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: caiaq: audio: use irqsave() in USB's complete callback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: Add VDD and AVDD power supplies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: check if mclk rate is valid (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: remove 64kHz rate from the supported rates (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa-ssp: remove .set_pll() and .set_clkdiv() callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: select SND_PXA2XX_LIB for drivers that depend on it (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ac97: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-generic-dmaengine-pcm: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-compress: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-topology: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-dapm: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-acpi: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-devres.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-utils.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-jack.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-dpcm.h: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-pcm.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-ops.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-dai.h: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-io.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: snd-aoa: add of_node_put() in error path (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mt6797: sub dai use list_head (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: sub dai use list_head (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: make SND_PXA2XX_SOC_I2S selectable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: remove bindings from pxa2xx-pcm (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: provide PCM ops for ssp, i2s and ac97 components (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa2xx-pcm-lib: fix indenting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: move some functions to pxa2xx-lib (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: clean up function names in pxa2xx-lib (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fold pxa2xx-pcm into its only user, pxa2xx-ac97 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: remove the dmaengine compat need (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi - Don't fall back to generic when i915 binding fails (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: don't merge format from invalid codec dai (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: extend channel merging to the backend cpu dai (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: qdafe: fix some off by one bugs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: improve runtime update predictability (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add AZX_DCAPS_PM_RUNTIME for AMD Raven Ridge (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: add extended ops in the hdac_bus (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: remove memory allocation from snd_hdac_ext_bus_device_init (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: split snd_hda_codec_new function (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: ext: add wait for codec to respond after link reset (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: Remove usage of struct hdac_ext_driver, use hdac_driver instead (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: Remove usage of struct hdac_ext_bus and use hdac_bus instead (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: Remove usage of struct hdac_ext_device and use hdac_device instead (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Move in_pm accessors to HDA core (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tas517x: add tas5707 support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-amplifer: add simple-amplifier compatible (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-amplifier: rename dio2125 to simple-amplifer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Sort DMI table entries alphabetically (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add BYT_RT5651_HP_LR_SWAPPED quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Simplify card long-name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Fix DMIC map headsetmic mapping (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Fix IN1 map headsetmic mapping (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Remove IN2 input mappings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Fix IN1_IN2_MAP quirk not being logged (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Change default input map from in2 to in1 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add BYT_RT5651_DEFAULT_QUIRKS define (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Kill snd_hda_codec_update_cache() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC882 & co (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC262 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC268 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC259 & co (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC662 & co (Jaroslav Kysela) [1683051] - [sound] ALSA: Fix references to Documentation/.*/MultiSound (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm: remove unused struct q6asm member (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: add proper error check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: apq8096: remove redundant owner assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: support dt based module loading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: support dt based module loading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: support dt based module loading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe: use of_platform_populate/depopulate() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm: use of_platform_populate/depopulate() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6adm: use of_platform_populate/depopulate() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-utils: Fix unregistration order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cx20442: Don't ignore regulator_get() errors. (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Apply PRE_PROBE fixup after ALC269 codec variant setups (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/via - Use standard verb containers (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/via - Simplify control management (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/via - Rewrite with error goto (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/cirrus - Simplify creation of new controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/conexant - Clean up beep code (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use common helper for creating beep controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use common helper for creating ALC268 beep controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use common GPIO mask for ALC660VD ASUS fixup (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Simplify Dell XPS13 GPIO handling (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Convert some manual GPIO setups (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Simplify mute LED GPIO handling (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Simplify alc885_fixup_macpro_gpio() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Consolidate gpio_data and gpio_led (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add GPIO data update helper (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Manage GPIO bits commonly (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Allow skipping spec->init_amp detection (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: add codecs devicetree binding (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-pcm: DPCM cares BE channel constraint (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Configure channel 1 or channel 0 for capture (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Change codec to channel link as per hardware redesign (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: uniphier: remove redundant check of PLL ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt1305: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: fix missing rename from 'reef' to 'sof' (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Simplify alc269_fixup_hp_line1_mic1_led() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Sanity check of unexpected cap_sync_hook override (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/sigmatel - Use common helper for mic mute LED (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Allow multiple ADCs for mic mute LED controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/conexant - Use the mic-mute LED helper (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use the mic-mute LED helper for HP and others (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Use the common helper for thinkpad_acpi mic mute LED handling (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Move mic mute LED helper to the generic parser (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: rename 'reef' to 'sof' in ACPI matching table (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: arizona: Set compressed IRQ to a wake source (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Simplify handling of alg offset and length (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add support for Motu Traveler (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: cancel chunk alignment for protocol version 2 (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add a flag for AES/EBU on XLR interface (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add a flag for chunks for main 1/2 out (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: suppless consumption for unused element of array in stack (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm: Tidy up open/hw_params handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: fix copy/paste issue with SOF/broadwell topology file (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add entries for SOF-based machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add firmware/topology information for SOF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: Add Geminilake Dialog+Maxim machine driver entry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: move SKL+ codec ACPI tables to common directory (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: cleanup before moving ACPI tables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: broxton: reduce machine name for bxt_da7219_max98357a (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: add fe_ops for kbl Audio Capture Port (Jaroslav Kysela) [1683051] - [sound] ALSA: ARM: pxa: change SSP DMA channels allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: line6: stop using get_seconds() (Jaroslav Kysela) [1683051] - [sound] ALSA: ctxfi: use enum type CT_SUM_CTL where appropriate (Jaroslav Kysela) [1683051] - [sound] ALSA: ice1724: remove unused array (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Fix Acer Iconia 8 over-current detect threshold (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Nuvison/TMax TM800W560 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra: fix device_node refcounting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: add devicetree support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: PCM1789: unconditionally flush work (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: add rt5682 codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: TSCS42xx: Add headphone auto switching (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: TSCS42xx: Remove Playback/Capture in names (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: TSCS42xx: Add mic bias boost control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4458: make structure soc_codec_dev_ak4458 static const (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak5558: make two structures static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: twl6040: make pointer dmic_codec_dev static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: apq8096: set card as device drvdata (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add rsnd_daidrv_get() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: add hp and mic detect gpios same as simple-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: move hp and mic detection to soc_card probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: move hp and mic detect gpios from simple-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Vi10 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt1305: Use ULL suffixes for 64-bit constants (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: add config for rockchip dmaengine pcm register (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: put device_node on remove (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: add iec958 controls support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Add NULL pointer check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: SSI parent cares SWSP bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: has .symmetric_rates if SSIs are sharing WS pin (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh7760-ac97: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dma-sh7760: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: migor: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: siu: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ssi: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hac: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsi: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Add callback for DAPM route load/unload (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Give more data to clients via callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Fix potential DAI widget pointer deref when linking DAIs (Jaroslav Kysela) [1683051] - [fs] gfs2: Fix loop in gfs2_rbm_find (v2) (Andreas Grunbacher) [1690483] - [fs] gfs2: Rename bitmap.bi_{len => bytes} (Andreas Grunbacher) [1690483]- [vfio] vfio/pci: Mask buggy SR-IOV VF INTx support (Myron Stowe) [1678076] - [netdrv] net/ibmvnic: Update carrier state after link state change (Steve Best) [1711282] - [netdrv] net/ibmvnic: Update MAC address settings after adapter reset (Steve Best) [1711282] - [scsi] scsi: storvsc: Reduce default ring buffer size to 128 Kbytes (Cathy Avery) [1691370] - [scsi] scsi: storvsc: Fix calculation of sub-channel count (Cathy Avery) [1691370] - [powercap] powercap: RAPL: Get rid of custom RAPL_CPU() macro (Alexander Beregalov) [1706827] - [tools] tools/power turbostat: Increase default buffer size (Prarit Bhargava) [1711260] - [char] virtio_console: initialize vtermno value for ports (Pankaj Gupta) [1460636] - [rpmspec] redhat: exclude kvm_stat from pathfix.py's tenure (Vitaly Kuznetsov) [1692804] - [virt] kvm: arm: Skip stage2 huge mappings for unaligned ipa backed by THP (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Ensure vcpu target is unset on reset failure (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic-v3: Retire pending interrupts on disabling LPIs (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: arch_timer: Fix CNTP_TVAL calculation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move RSB stuffing to before the first RET after VM-Exit (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Fix size checks in vmx_set_nested_state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Check for in-kernel LAPIC before deferencing apic pointer (Vitaly Kuznetsov) [1692804] - [virt] KVM: fix KVM_CLEAR_DIRTY_LOG for memory slots of unaligned size (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: reset MMU context when 32-bit guest switches PAE (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Whitelist port 0x7e for pre-incrementing rip (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Convert guest TSC to host time domain if necessary (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Allow user to disable adaptive tuning of timer advancement (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Track lapic timer advance per vCPU (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Disable timer advancement if adaptive tuning goes haywire (Vitaly Kuznetsov) [1692804] - [kvm] x86: kvm: hyper-v: deal with buggy TLB flush requests from WS2012 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Consider LAPIC TSC-Deadline timer expired if deadline too short (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: avoid misreporting level-triggered irqs as edge-triggered in tracing (Vitaly Kuznetsov) [1692804] - [virt] KVM: fix spectrev1 gadgets (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix warning Using plain integer as NULL pointer (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: add a selftest for SMM (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: fix for compilers that do not support -no-pie (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm/evmcs_test: complete I/O before migrating guest state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Always use 32-bit SMRAM save state for 32-bit kernels (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Don't clear EFER during SMM transitions for 32-bit vCPU (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: clear SMM flags before loading state while leaving SMM (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Open code kvm_set_hflags (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Load SMRAM in a single shot when leaving SMM (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Expose RDPMC-exiting only when guest supports PMU (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm: move kvm_load/put_guest_xcr0 into atomic context (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: svm: make sure NMI is injected after nmi_singlestep (Vitaly Kuznetsov) [1692804] - [kvm] svm/avic: Fix invalidate logical APIC id entry (Vitaly Kuznetsov) [1692804] - [kvm] Revert "svm: Fix AVIC incomplete IPI emulation" (Vitaly Kuznetsov) [1692804] - [kvm] kvm: mmu: Fix overflow on kvm mmu page limit calculation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: always use early vmcs check when EPT is disabled (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: allow tests to use bad virtual-APIC page address (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Fix an inverted list_empty() check when zapping sptes (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: nVMX: fix x2APIC VTPR read intercept (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: nVMX: close leak of L0's x2APIC MSRs (CVE-2019-3887) (Vitaly Kuznetsov) [1692804] - [kvm] KVM: SVM: prevent DBG_DECRYPT and DBG_ENCRYPT overflow (Vitaly Kuznetsov) [1692804] - [kvm] kvm: svm: fix potential get_num_contig_pages overflow (Vitaly Kuznetsov) [1692804] - [documentation] Documentation: kvm: clarify KVM_SET_USER_MEMORY_REGION (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: complete IO before migrating guest state (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: disable stack protector for all KVM tests (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: explicitly disable PIE for tests (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: assert on exit reason in CR4/cpuid sync test (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: update rip after emulating IO (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: avoid spurious pending stimer on vCPU init (Vitaly Kuznetsov) [1692804] - [kvm] kvm/x86: Move MSR_IA32_ARCH_CAPABILITIES to array emulated_msrs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts (Vitaly Kuznetsov) [1692804] - [virt] kvm: don't redefine flags as something else (Vitaly Kuznetsov) [1692804] - [kvm] kvm: mmu: Used range based flushing in slot_handle_level_range (Vitaly Kuznetsov) [1692804] - [x86] x86/hyper-v: Fix definition of HV_MAX_FLUSH_REP_COUNT (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: remove check on nr_mmu_pages in kvm_arch_commit_memory_region() (Vitaly Kuznetsov) [1692804] - [kvm] kvm: nVMX: Add a vmentry check for HOST_SYSENTER_ESP and HOST_SYSENTER_EIP fields (Vitaly Kuznetsov) [1692804] - [kvm] KVM: SVM: Workaround errata#1096 (insn_len maybe zero on SMAP violation) (Vitaly Kuznetsov) [1692804] - [virt] KVM: Reject device ioctls from processes other than the VM's creator (Vitaly Kuznetsov) [1692804] - [documentation] KVM: doc: Fix incorrect word ordering regarding supported use of APIs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix handling of role.cr4_pae and rename it to 'gpte_size' (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Do not inherit quadrant and invalid for the root shadow EPT (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Comments cleanup in mmu.c (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic-its: Make attribute accessors static (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Fix handling of stage2 huge mappings (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Enforce PTE mappings at stage2 when needed (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic-its: Take the srcu lock when parsing the memslots (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic-its: Take the srcu lock when writing to guest memory (Vitaly Kuznetsov) [1692804] - [virt] arm64: KVM: Always set ICH_HCR_EL2.EN if GICv4 is enabled (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm64: Reset the PMU in preemptible context (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: fix formatting of a comment (Vitaly Kuznetsov) [1692804] - [documentation] KVM: doc: Document the life cycle of a VM and its resources (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range()" (Vitaly Kuznetsov) [1692804] - [documentation] virtio-ccw: diag 500 may return a negative cookie (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Add count cache flush parameters to kvmppc_get_cpu_char() (Vitaly Kuznetsov) [1692804] - [virt] kvm: properly check debugfs dentry before using it (Vitaly Kuznetsov) [1692804] - [powerpc] KVM: PPC: Fix compilation when KVM is not enabled (Vitaly Kuznetsov) [1692804] - [powerpc] powerpc: Avoid circular header inclusion in mmu-hash.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: MMU: record maximum physical address width in kvm_mmu_extended_role (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Return LA57 feature based on hardware capability (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: fix switch between root and guest MMUs (Vitaly Kuznetsov) [1692804] - [virt] KVM: Minor cleanups for kvm_main.c (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2 (Vitaly Kuznetsov) [1692804] - [kvm] powerpc/kvm: Save and restore host AMR/IAMR/UAMOR (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Improve KVM reference counting (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Fix build failure without IOMMU support (Vitaly Kuznetsov) [1692804] - [powerpc] powerpc/64s: Better printing of machine check info for guest MCEs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Simplify machine check handling (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Context switch AMR on Power9 (Vitaly Kuznetsov) [1692804] - [virt] Revert "KVM: Eliminate extra function calls in kvm_get_dirty_log_protect()" (Vitaly Kuznetsov) [1692804] - [x86] x86: kvmguest: use TSC clocksource if invariant TSC is exposed (Vitaly Kuznetsov) [1692804] - [virt] KVM: Never start grow vCPU halt_poll_ns from value below halt_poll_ns_grow_start (Vitaly Kuznetsov) [1692804] - [virt] KVM: Expose the initial start value in grow_halt_poll_ns() as a module parameter (Vitaly Kuznetsov) [1692804] - [virt] KVM: grow_halt_poll_ns() should never shrink vCPU halt_poll_ns (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Consolidate kvm_mmu_zap_all() and kvm_mmu_zap_mmio_sptes() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: WARN if zapping a MMIO spte results in zapping children (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Differentiate between nr zapped and list unstable (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: fast invalidate all pages" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Voluntarily reschedule as needed when zapping all sptes (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: skip over invalid root pages when zapping all sptes (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: x86: use the fast way to invalidate all pages" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: show mmu_valid_gen in shadow page related tracepoints" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: add tracepoint for kvm_mmu_invalidate_all_pages" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: zap pages in batch" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: collapse TLB flushes when zap all pages" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: reclaim the zapped-obsolete page first" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Remove is_obsolete() call (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Voluntarily reschedule as needed when zapping MMIO sptes (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: drop kvm_mmu_zap_mmio_sptes" (Vitaly Kuznetsov) [1692804] - [x86] Revert "KVM: MMU: document fast invalidate all pages" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Zap only the relevant pages when removing a memslot (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Split remote_flush+zap case out of kvm_mmu_flush_or_zap() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Move slot_level_*() helper functions up a few lines (Vitaly Kuznetsov) [1692804] - [virt] KVM: Move the memslot update in-progress flag to bit 63 (Vitaly Kuznetsov) [1692804] - [virt] KVM: Remove the hack to trigger memslot generation wraparound (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Refactor the MMIO SPTE generation handling (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Use a u64 when passing the MMIO gen around (Vitaly Kuznetsov) [1692804] - [virt] KVM: Explicitly define the "memslot update in-progress" bit (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Do not cache MMIO accesses while memslots are in flux (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Detect MMIO generation wrap in any address space (Vitaly Kuznetsov) [1692804] - [virt] KVM: Call kvm_arch_memslots_updated() before updating memslots (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Add memcg accounting to KVM allocations (Vitaly Kuznetsov) [1692804] - [kvm] kvm: svm: Add memcg accounting to KVM allocations (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Add memcg accounting to KVM allocations (Vitaly Kuznetsov) [1692804] - [virt] kvm: Add memcg accounting to KVM allocations (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: do not start the preemption timer hrtimer unnecessarily (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Fix typos in vmentry/vmexit control setting (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: cleanup freeing of nested state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Sync the pending Posted-Interrupts (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: expose MOVDIR64B CPU feature into VM. (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: expose MOVDIRI CPU feature into VM. (Vitaly Kuznetsov) [1692804] - [kvm] kvm, x86, mmu: Use kernel generic dynamic physical address mask (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: remove useless is_protmode check (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Ignore limit checks on VMX instructions using flat segments (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Apply addr size mask to effective address for VMX instructions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Sign extend displacements of VMX instr's mem operands (Vitaly Kuznetsov) [1692804] - [kvm] svm: Fix improper check when deactivate AVIC (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: cull apicv code when userspace irqchip is requested (Vitaly Kuznetsov) [1692804] - [kvm] svm: Fix AVIC DFR and LDR handling (Vitaly Kuznetsov) [1692804] - [virt] kvm: Use struct_size() in kmalloc() (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: set offset for kvm unstable clock (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Reorder clearing of registers in the vCPU-run assembly flow (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Call vCPU-run asm sub-routine from C and remove clobbering (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Preserve callee-save registers in vCPU-run asm sub-routine (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Return VM-Fail from vCPU-run assembly via standard ABI reg (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Pass @launched to the vCPU-run asm via standard ABI regs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Use RAX as the scratch register during vCPU-run (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Rename ____vmx_vcpu_run() to __vmx_vcpu_run() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Fold __vmx_vcpu_run() back into vmx_vcpu_run() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move vCPU-run code to a proper assembly routine (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Create a stack frame in vCPU-run (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Use #defines in place of immediates in VM-Enter inline asm (Vitaly Kuznetsov) [1692804] - [x86] KVM: x86: Explicitly #define the VCPU_REGS_* indices (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Remove unused gpa_end variable (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Fix comment for KVM_PHYS_SHIFT (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: fix spelling mistake: "auxilary" -> "auxiliary" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm/arm64: Prefix header search paths with $(srctree)/ (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm/arm64: Remove -I. header search paths (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Fix TRACE_INCLUDE_PATH (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: arch_timer: Mark physical interrupt active when a virtual interrupt is pending (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Describe data or unified caches as having 1 set and 1 way (Vitaly Kuznetsov) [1692804] - [arm64] arm64: KVM: Expose sanitised cache type register to guest (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Move kvm_is_write_fault to header file (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: arch_timer: Assign the phys timer on VHE systems (Vitaly Kuznetsov) [1692804] - [include] clocksource/arm_arch_timer: Store physical timer IRQ number for KVM on VHE (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: timer: Rework data structures for multiple timers (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: consolidate arch timer trap handlers (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm64: Reuse sys_reg() macro when searching the trap table (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Fix ICH_ELRSR_EL2 sysreg naming (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Simplify bg_timer programming (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm/arm64: Factor out VMID into struct kvm_vmid (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Statically configure the host's view of MPIDR (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Drop VHE-specific HYP call stub (Vitaly Kuznetsov) [1692804] - [arm64] arm64: KVM: Allow for direct call of HYP functions when using VHE (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Introduce kvm_call_hyp_ret() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Release all hardware TCE tables attached to a group (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Optimise mmio emulation for devices on FAST_MMIO_BUS (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Allow XICS emulation to work in nested hosts using XIVE (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Replace kmalloc_node+memset with kzalloc_node (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S PR: Add emulation for slbfee. instruction (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Fix entry number check for add_atomic_switch_msr() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Recompute PID.ON when clearing PID.SN (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Restore a preemption timer consistency check (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/nVMX: read from MSR_IA32_VMX_PROCBASED_CTLS2 only when it is available (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Use vcpu->arch.regs directly when saving/loading guest state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Don't save guest registers after VM-Fail (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Invert the ordering of saving guest/host scratch reg at VM-Enter (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Pass "launched" directly to the vCPU-run asm blob (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Update VMCS.HOST_RSP via helper C function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Load/save guest CR2 via C code in __vmx_vcpu_run() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Cache host_rsp on a per-VMCS basis (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Let the compiler select the reg for holding HOST_RSP (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Reference vmx->loaded_vmcs->launched directly (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Capture VM-Fail via CC_{SET, OUT} in nested early checks (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Capture VM-Fail to a local var in nested_vmx_check_vmentry_hw() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Explicitly reference the scratch reg in nested early checks (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Drop STACK_FRAME_NON_STANDARD from nested_vmx_check_vmentry_hw() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Remove a rogue "rax" clobber from nested_vmx_check_vmentry_hw() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Let the compiler save/load RDX during vCPU-run (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Manually load RDX in vCPU-run asm blob (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Save RSI to an unused output in the vCPU-run asm blob (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Modify only RSP when creating a placeholder for guest's RCX (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Zero out *all* general purpose registers after VM-Exit (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Check a single byte for VMCS "launched" in nested early checks (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Compare only a single byte for VMCS' "launched" in vCPU-run (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: add selftest for releasing VM file descriptor while in L2 (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm/arm64: Add kvm_ras.h to collect kvm specific RAS plumbing (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: work around leak of uninitialized stack contents (CVE-2019-7222) (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm64: Forbid kprobing of the VHE world-switch code (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Relax the restriction on using stage2 PUD huge mapping (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Always initialize the group of private IRQs (Vitaly Kuznetsov) [1692804] - [kvm] arm/arm64: KVM: Don't panic on failure to properly reset system registers (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Allow a VCPU to fully reset itself (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm/arm64: Reset the VCPU without preemption and vcpu state loaded (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: fix possible null pointer dereference in pending_irqs() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: start using the GIB (Vitaly Kuznetsov) [1692804] - [s390] KVM: s390: add gib_alert_irq_handler() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: kvm_s390_gisa_clear() now clears the IPM only (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: add functions to (un)register GISC with GISA (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: add kvm reference to struct sie_page2 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: add the GIB and its related life-cyle functions (Vitaly Kuznetsov) [1692804] - [s390] s390/cio: add function chsc_sgib() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: introduce struct kvm_s390_gisa_interrupt (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: remove kvm_s390_ from gisa static inline functions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: use pending_irqs_no_gisa() where appropriate (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: coding style kvm_s390_gisa_init/clear() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: move bitmap idle_mask into arch struct top level (Vitaly Kuznetsov) [1692804] - [virt] virt/kvm: Replace spin_is_locked() with lockdep (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Mark expected switch fall-throughs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix TRACE_INCLUDE_PATH and remove -I. header search paths (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: check returned evmcs version range (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: nested_enable_evmcs() sets vmcs_version incorrectly (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move vmx_vcpu_run()'s VM-Enter asm blob to a helper function (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: Fix region overlap check in kvm_util (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: fix some -Wmissing-prototypes warnings (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nSVM: clear events pending from svm_complete_interrupts() when exiting to L1 (Vitaly Kuznetsov) [1692804] - [kvm] svm: Fix AVIC incomplete IPI emulation (Vitaly Kuznetsov) [1692804] - [kvm] svm: Add warning message for AVIC IPI invalid target (Vitaly Kuznetsov) [1692804] - [x86] KVM: x86: WARN_ONCE if sending a PV IPI returns a fatal error (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Fix PV IPIs for 32-bit KVM host (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: recommend using eVMCS only when it is enabled (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: don't recommend doing reset via synthetic MSR (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86/vmx: Use kzalloc for cached_vmcs12 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Use the correct field var when clearing VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Fix single-step debugging (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: don't announce GUEST IDLE MSR support (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Don't generate UNDEF when LORegion feature is present (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Make vgic_cpu->ap_list_lock a raw_spinlock (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Make vgic_dist->lpi_list_lock a raw_spinlock (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Make vgic_irq->irq_lock a raw_spinlock (Vitaly Kuznetsov) [1692804] - [kvm] KVM: powerpc: remove -I. header search paths (Vitaly Kuznetsov) [1692804] - [documentation] Documentation/virtual/kvm: Update URL for AMD SEV API specification (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Avoid return error when flush tlb successfully in the hv_remote_flush_tlb_with_range() (Vitaly Kuznetsov) [1692804] - [kvm] kvm: sev: Fail KVM_SEV_INIT if already initialized (Vitaly Kuznetsov) [1692804] - [virt] KVM: validate userspace input in kvm_clear_dirty_log_protect() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Fix bit shifting in update_intel_pt_cfg (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: radix: Fix uninitialized var build error (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: ucall: fix exit mmio address guessing (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move VM-Enter + VM-Exit handling to non-inline sub-routines (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Explicitly reference RCX as the vmx_vcpu pointer in asm blobs (Vitaly Kuznetsov) [1692804] - [kvm] KVM/x86: Use SVM assembly instruction mnemonics instead of .byte streams (Vitaly Kuznetsov) [1692804] - [kvm] KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range() (Vitaly Kuznetsov) [1692804] - [kvm] KVM/MMU: Flush tlb directly in kvm_set_pte_rmapp() (Vitaly Kuznetsov) [1692804] - [virt] KVM/MMU: Move tlb flush in kvm_set_pte_rmapp() to kvm_mmu_notifier_change_pte() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: Make kvm_set_spte_hva() return int (Vitaly Kuznetsov) [1692804] - [kvm] KVM: Replace old tlb flush function with new one to flush a specified range. (Vitaly Kuznetsov) [1692804] - [kvm] KVM/MMU: Add tlb flush with range helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Add hv tlb range flush support (Vitaly Kuznetsov) [1692804] - [x86] x86/hyper-v: Add HvFlushGuestAddressList hypercall support (Vitaly Kuznetsov) [1692804] - [x86] KVM: Add tlb_remote_flush_with_range callback in kvm_x86_ops (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Disable Intel PT when VMXON in L1 guest (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Set intercept for Intel PT MSRs read/write (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Implement Intel PT MSRs read/write emulation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Introduce a function to initialize the PT configuration (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add Intel PT context switch for each vcpu (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add Intel Processor Trace cpuid emulation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add Intel PT virtualization work mode (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: add new capability for Intel PT (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: Add new bit definitions for PT MSRs (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: Introduce intel_pt_validate_cap() (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: Export pt_cap_get() (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: Move Intel PT MSRs bit defines to global header (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: aarch64: dirty_log_test: support greater than 40-bit IPAs (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add pa-48/va-48 VM modes (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: improve mode param management (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: reset guest test phys offset (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: always use -t (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: don't identity map the test mem (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: x86_64: dirty_log_test: fix -t (Vitaly Kuznetsov) [1692804] - [virt] KVM: fix some typos (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: convert to SPDX identifiers (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Remove KF() macro placeholder (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Allow guest read access to IA32_TSC (Vitaly Kuznetsov) [1692804] - [kvm] kvm: nVMX: NMI-window and interrupt-window exiting should wake L2 from HLT (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nSVM: Fix nested guest support for PAUSE filtering. (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Remove duplicated include from vmx.c (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: report failed stage when exit reason is unexpected (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix size of x86_fpu_cache objects (Vitaly Kuznetsov) [1692804] - [kvm] powerpc/fsl: Flush branch predictor when entering KVM (Vitaly Kuznetsov) [1692804] - [kvm] powerpc/fsl: Emulate SPRN_BUCSR register (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: nSVM: fix switch to guest mmu (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Add trapped system register access tracepoint (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm64: Make vcpu const in vcpu_read_sys_reg (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: arch_timer: Simplify kvm_timer_vcpu_terminate (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Remove arch timer workqueue (Vitaly Kuznetsov) [1692804] - [virt] KVM: fix unregistering coalesced mmio zone from wrong bus (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Add support for creating PUD hugepages at stage 2 (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Update age handlers to support PUD hugepages (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Support handling access faults for PUD hugepages (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Support PUD hugepage in stage2_is_exec() (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Support dirty page tracking for PUD hugepages (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Introduce helpers to manipulate page table entries (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Re-factor setting the Stage 2 entry to exec on fault (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Share common code in user_mem_abort() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm/arm64: Log PSTATE for unhandled sysregs (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Consistently advance singlestep when emulating instructions (Vitaly Kuznetsov) [1692804] - [virt] arm64: KVM: Skip MMIO insn after emulation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Allow passthrough of an emulated device to an L3 guest (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Introduce new hcall H_COPY_TOFROM_GUEST to access quadrants 1 & 2 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Allow passthrough of an emulated device to an L2 guest (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Update kvmppc_st and kvmppc_ld to use quadrants (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Add load_from_eaddr and store_to_eaddr to the kvmppc_ops struct (Vitaly Kuznetsov) [1692804] - [powerpc] KVM: PPC: Book3S HV: Implement functions to access quadrants 1 & 2 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Add function kvmhv_vcpu_is_radix() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Only report KVM_CAP_SPAPR_TCE_VFIO on powernv machines (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: ucall: improve ucall placement in memory, fix unsigned comparison (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Dynamically allocate guest_fpu (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Use task structs fpu field for user (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for Guest Non-Register States to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for Host Control Registers and MSRs to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for VM-Entry Control Fields to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for VM-Exit Control Fields to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Remove param indirection from nested_vmx_check_msr_switch() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for VM-Execution Control Fields to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Prepend "nested_vmx_" to check_vmentry_{pre, post}reqs() (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Check ept_pointer before flushing ept tlb (Vitaly Kuznetsov) [1692804] - [kvm] KVM nVMX: MSRs should not be stored if VM-entry fails during or after loading guest state (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Don't modify MSR_PLATFORM_INFO on vCPU reset (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: add cpu into VMX preemption timer bug list (Vitaly Kuznetsov) [1692804] - [kvm] x86/hyper-v: Stop caring about EOI for direct stimers (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: avoid open-coding stimer_mark_pending() in kvm_hv_notify_acked_sint() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: direct mode for synthetic timers (Vitaly Kuznetsov) [1692804] - [x86] x86/kvm/hyper-v: use stimer config definition from hyperv-tlfs.h (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: Add hyperv_cpuid test (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: implement an unchecked version of vcpu_ioctl() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: Introduce KVM_GET_SUPPORTED_HV_CPUID (Vitaly Kuznetsov) [1692804] - [kvm] x86/hyper-v: Do some housekeeping in hyperv-tlfs.h (Vitaly Kuznetsov) [1692804] - [x86] x86/hyper-v: Mark TLFS structures packed (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: Introduce nested_get_evmcs_version() helper (Vitaly Kuznetsov) [1692804] - [kvm] x86: kvm: hyperv: don't retry message delivery for periodic timers (Vitaly Kuznetsov) [1692804] - [kvm] x86: kvm: hyperv: simplify SynIC message delivery (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: remove unnecessary recalculate_apic_map (Vitaly Kuznetsov) [1692804] - [kvm] kvm: svm: remove unused struct definition (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Skip all SYSCALL MSRs in setup_msrs() when !EFER.SCE (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Don't set hardware IA32_CSTAR MSR on VM-entry (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Document the need for MSR_STAR in i386 builds (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Set IA32_TSC_AUX for legacy mode guests (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move nested code to dedicated files (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Expose nested_vmx_allowed() to nested VMX as a non-inline (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Expose various getters and setters to nested VMX (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Expose misc variables needed for nested VMX (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move "vmcs12 to shadow/evmcs sync" to helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Call nested_vmx_setup_ctls_msrs() iff @nested is true (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Set callbacks for nested functions during hardware setup (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move the hardware {un}setup functions to the bottom (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: nVMX: Allow nested_enable_evmcs to be NULL (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move nested hardware/vcpu {un}setup to helper functions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move VMX instruction wrappers to a dedicated header file (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move eVMCS code to dedicated files (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Add vmx.h to hold VMX definitions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move vmcs12 code to dedicated files (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move VMCS definitions to dedicated file (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Expose various module param vars via capabilities.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move capabilities structs and helpers to dedicated file (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Pass vmx_capability struct to setup_vmcs_config() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Properly handle dynamic VM Entry/Exit controls (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move caching of MSR_IA32_XSS to hardware_setup() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Drop the "vmx" prefix from vmx_evmcs.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: rename vmx_shadow_fields.h to vmcs_shadow_fields.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move VMX specific files to a "vmx" subdirectory (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add requisite includes to hyperv.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add requisite includes to kvm_cache_regs.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Alphabetize the includes in vmx.c (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Allocate and configure VM{READ, WRITE} bitmaps iff enable_shadow_vmcs (Vitaly Kuznetsov) [1692804] - [tools] kvm: introduce manual dirty log reprotect (Vitaly Kuznetsov) [1692804] - [virt] kvm: rename last argument to kvm_get_dirty_log_protect (Vitaly Kuznetsov) [1692804] - [virt] kvm: make KVM_CAP_ENABLE_CAP_VM architecture agnostic (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S PR: Set hflag to indicate that POWER9 supports 1T segments (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Change to use DEFINE_SHOW_ATTRIBUTE macro (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Don't trap host pointer auth use to EL2 (Vitaly Kuznetsov) [1692804] - [kvm] arm64/kvm: hide ptrauth from guests (Vitaly Kuznetsov) [1692804] - [arm64] arm64: add pointer authentication register bits (Vitaly Kuznetsov) [1692804] - [arm64] arm64: add comments about EC exception levels (Vitaly Kuznetsov) [1692804] - [arm64] arm64/kvm: consistently handle host HCR_EL2 flags (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Add configuration/documentation for Cortex-A76 erratum 1165522 (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Handle ARM erratum 1165522 in TLB invalidation (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Add synchronization on translation regime change for erratum 1165522 (Vitaly Kuznetsov) [1692804] - [arm64] arm64: KVM: Force VHE for systems affected by erratum 1165522 (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Add TCR_EPD{0,1} definitions (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Rework detection of SVE, !VHE systems (Vitaly Kuznetsov) [1692804] - [kvm] nVMX x86: Check VMX-preemption timer controls on vmentry of L2 guests (Vitaly Kuznetsov) [1692804] - [kvm] KVM/nVMX: Remove unneeded forward jump in nested_vmx_check_vmentry_hw asm (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Unrestricted guest mode requires EPT (Vitaly Kuznetsov) [1692804] - [tools] tools/kvm_stat: switch to python3 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Trace changes to active TSC offset regardless if vCPU in guest-mode (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: vmcs12 revision_id is always VMCS12_REVISION even when copied from eVMCS (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Verify eVMCS revision id match supported eVMCS version on eVMCS VMPTRLD (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/vmx: fix old-style function declaration (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix empty-body warnings (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Fix kernel info-leak when enabling KVM_CAP_HYPERV_ENLIGHTENED_VMCS more than once (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Replace spin_is_locked() with lockdep (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Use exported tb_to_ns() function in decrementer emulation (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: Fix -Wformat warnings (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: fix spelling mistake "Insufficent" -> "Insufficient" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "kvm: x86: optimize dr6 restore" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Optimize clearing TCEs for sparse tables (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/nVMX: tweak shadow fields (Vitaly Kuznetsov) [1692804] - [tools] selftests/kvm: add missing executables to .gitignore (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Don't use streamlined entry path on early POWER9 chips (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Enable 32 bits kvm vcpu events support (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Rename function kvm_arch_dev_ioctl_check_extension() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: enable nested virtualization by default (Vitaly Kuznetsov) [1692804] - [kvm] KVM/x86: Use 32bit xor to clear registers in svm.c (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Introduce KVM_CAP_EXCEPTION_PAYLOAD (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Defer setting of DR6 until #DB delivery (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Defer setting of CR2 until #PF delivery (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Add payload operands to kvm_multiple_exception (Vitaly Kuznetsov) [1692804] - [x86] kvm: x86: Add exception payload fields to kvm_vcpu_events (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Add has_payload and payload to kvm_queued_exception (Vitaly Kuznetsov) [1692804] - [documentation] KVM: Documentation: Fix omission in struct kvm_vcpu_events (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: add Enlightened VMCS test (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/nVMX: nested state migration for Enlightened VMCS (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: state_test: test bare VMXON migration (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyperv: don't clear VP assist pages on init (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: optimize prepare_vmcs02{, _full} for Enlightened VMCS case (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: implement enlightened VMPTRLD and VMCLEAR (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: add enlightened VMCS state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: add KVM_CAP_HYPERV_ENLIGHTENED_VMCS capability (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: refactor evmcs_sanitize_exec_ctrls() (Vitaly Kuznetsov) [1692804] - [virt] KVM: refine the comment of function gfn_to_hva_memslot_prot() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: reintroduce pte_list_remove, but including mmu_spte_clear_track_bits (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: rename pte_list_remove to __pte_list_remove (Vitaly Kuznetsov) [1692804] - [virt] kvm/x86 : add coalesced pio support (Vitaly Kuznetsov) [1692804] - [documentation] kvm/x86 : add document for coalesced mmio (Vitaly Kuznetsov) [1692804] - [kvm] kvm/x86 : fix some typo (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Change hv flush logic when ept tables are mismatched. (Vitaly Kuznetsov) [1692804] - [kvm] KVM/x86: Use 32bit xor to clear register (Vitaly Kuznetsov) [1692804] - [x86] KVM/x86: Use assembly instruction mnemonics instead of .byte streams (Vitaly Kuznetsov) [1692804] - [kvm] KVM/x86: Fix invvpid and invept register operand size in 64-bit mode (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: check if MMU reconfiguration is needed in init_kvm_nested_mmu() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: check if tdp/shadow MMU reconfiguration is needed (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/nVMX: introduce source data cache for kvm_init_shadow_ept_mmu() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: make space for source data caching in struct kvm_mmu (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: get rid of redundant kvm_mmu_setup() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: introduce guest_mmu (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu.c: add kvm_mmu parameter to kvm_mmu_free_roots() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu.c: set get_pdptr hook in kvm_init_shadow_ept_mmu() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: make vcpu->mmu a pointer to the current MMU (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: optimize dr6 restore (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: optimize sparse VP set processing (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: fix 'tlb_lush' typo (Vitaly Kuznetsov) [1692804] - [virt] vgic: Add support for 52bit guest physical address (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: WARN if nested run hits VMFail with early consistency checks enabled (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: add option to perform early consistency checks via H/W (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vmx: write HOST_IA32_EFER in vmx_set_constant_host_state() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: call kvm_skip_emulated_instruction in nested_vmx_{fail, succeed} (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: do not call nested_vmx_succeed() for consistency check VMExit (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: do not skip VMEnter instruction that succeeds (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: do early preparation of vmcs02 before check_vmentry_postreqs() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: initialize vmcs02 constant exactly once (per VMCS) (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: split pieces of prepare_vmcs02() to prepare_vmcs02_early() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: remove ASSERT() on vmx->pml_pg validity (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vVMX: rename label for post-enter_guest_mode consistency check (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: assimilate nested_vmx_entry_failure() into nested_vmx_enter_non_root_mode() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: rename enter_vmx_non_root_mode to nested_vmx_enter_non_root_mode (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: try to set EFER bits correctly when initializing controls (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vmx: do not unconditionally clear EFER switching (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: reset cache/shadows when switching loaded VMCS (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: use vm_exit_controls_init() to write exit controls for vmcs02 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: move vmcs12 EPTP consistency check to check_vmentry_prereqs() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: move host EFER consistency checks to VMFail path (Vitaly Kuznetsov) [1692804] - [virt] KVM: leverage change to adjust slots->used_slots in update_memslots() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: implement PV IPI send hypercalls (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: optimize kvm_hv_flush_tlb() for vp_index == vcpu_idx case (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: valid_bank_mask should be 'u64' (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: keep track of mismatched VP indexes (Vitaly Kuznetsov) [1692804] - [virt] KVM: x86: hyperv: optimize 'all cpus' case in kvm_hv_flush_tlb() (Vitaly Kuznetsov) [1692804] - [kvm] kvm/x86: return meaningful value from KVM_SIGNAL_MSI (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: move definition PT_MAX_HUGEPAGE_LEVEL and KVM_NR_PAGE_SIZES together (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Remve unused function is_external_interrupt(). (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: return 0 in case kvm_mmu_memory_cache has min number of objects (Vitaly Kuznetsov) [1692804] - [kvm] nVMX x86: Make nested_vmx_check_pml_controls() concise (Vitaly Kuznetsov) [1692804] - [x86] KVM: x86: adjust kvm_mmu_page member to save 8 bytes (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: support high GPAs in dirty_log_test (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: stop lying to aarch64 tests about PA-bits (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: also test 64K pages on aarch64 (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: port dirty_log_test to aarch64 (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: introduce new VM mode for 64K pages (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add vcpu support for aarch64 (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add virt mem support for aarch64 (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add vm_phy_pages_alloc (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: tidy up kvm_util (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add cscope make target (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: move arch-specific files to arch-specific locations (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: introduce ucall (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: vcpu_setup: set cr4.osfxsr (Vitaly Kuznetsov) [1692804] - [kvm] KVM: LAPIC: Tune lapic_timer_advance_ns automatically (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Do not flush TLB on L1<->L2 transitions if L1 uses VPID and EPT (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Flush linear and combined mappings on VPID02 related flushes (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Use correct VPID02 when emulating L1 INVVPID (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Flush TLB entries tagged by dest EPTP on L1<->L2 transitions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vmx: rename KVM_GUEST_CR0_MASK tp KVM_VM_CR0_ALWAYS_OFF (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Remove redundand permission bits removal (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Propagate errors to the guest when failed instead of ignoring (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Provide mode where all vCPUs on a core must be the same VM (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S PR: Exiting split hack mode needs to fixup both PC and LR (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Remove some extra semicolon in kvm_target_cpu (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Validate all tces before updating tables (Vitaly Kuznetsov) [1692804] - [documentation] arm64: Add silicon-errata.txt entry for ARM erratum 1188873 (Vitaly Kuznetsov) [1692804] - [arm64] arm64: arch_timer: Add workaround for ARM erratum 1188873 (Vitaly Kuznetsov) [1692804] - [virt] signal/arm/kvm: Use send_sig_mceerr (Vitaly Kuznetsov) [1692804] - [arm64] arm64/cpufeatures: Introduce ESR_ELx_SYS64_ISS_RT() (Vitaly Kuznetsov) [1692804] - [kvm] signal/x86: Use send_sig_mceerr as apropriate (Vitaly Kuznetsov) [1692804] - [x86] x86/kvm: Use __bss_decrypted attribute in shared variables (Vitaly Kuznetsov) [1692804] - [x86] x86/mm: Add .bss..decrypted section to hold shared variables (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vmx: Inject #UD for SGX ENCLS instruction in guest (Vitaly Kuznetsov) [1692804] - [x86] KVM: vmx: Add defines for SGX ENCLS exiting (Vitaly Kuznetsov) [1692804] - [documentation] KVM: Documentation: rename the capability of KVM_CAP_ARM_SET_SERROR_ESR (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Mark kvm_get_preset_lpj() as __init (Vitaly Kuznetsov) [1692804] - [virt] kvm: Don't open code task_pid in kvm_vcpu_ioctl (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Share the parts of get/set events useful to 32bit (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: export the capability to set guest SError syndrome (Vitaly Kuznetsov) [1692804] - [kvm] arm/arm64: KVM: Add KVM_GET/SET_VCPU_EVENTS (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Switch kvmclock data to a PER_CPU variable (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Move kvmclock vsyscall param and init to kvmclock (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Mark variables __initdata and __ro_after_init (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Cleanup the code (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Decrapify kvm_register_clock() (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Remove page size requirement from wall_clock (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Remove memblock dependency (Vitaly Kuznetsov) [1692804] - [kvm] kvm/arm: use PSR_AA32 definitions (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Handle Set/Way CMOs as NOPs if FWB is present (Vitaly Kuznetsov) [1692804] - [arm64] arm64: KVM: Add support for Stage-2 control of memory types and cacheability (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Handle mismatched cache type (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Fix mismatched cache line size detection (Vitaly Kuznetsov) [1692804]- [lib] rhel-kabi: Add RH_KABI_FORCE_CHANGE() to radix-tree and idr functions (Don Dutile) [1692079] - [lib] XArray: Fix xa_reserve for 2-byte aligned entries (Don Dutile) [1692079] - [lib] XArray: Fix xa_erase of 2-byte aligned entries (Don Dutile) [1692079] - [lib] XArray: Use xa_cmpxchg to implement xa_reserve (Don Dutile) [1692079] - [lib] XArray: Fix xa_release in allocating arrays (Don Dutile) [1692079] - [lib] XArray: Mark xa_insert and xa_reserve as must_check (Don Dutile) [1692079] - [lib] XArray: Add cyclic allocation (Don Dutile) [1692079] - [lib] XArray: Redesign xa_alloc API (Don Dutile) [1692079] - [lib] XArray: Add support for 1s-based allocation (Don Dutile) [1692079] - [lib] XArray: Change xa_insert to return -EBUSY (Don Dutile) [1692079] - [lib] XArray: Update xa_erase family descriptions (Don Dutile) [1692079] - [lib] XArray tests: RCU lock prohibits GFP_KERNEL (Don Dutile) [1692079] - [include] XArray: Fix an arithmetic error in xa_is_err (Don Dutile) [1692079] - [lib] XArray tests: Check mark 2 gets squashed (Don Dutile) [1692079] - [include] XArray: Fix typo in comment (Don Dutile) [1692079] - [lib] XArray: Honour reserved entries in xa_insert (Don Dutile) [1692079] - [lib] XArray: Permit storing 2-byte-aligned pointers (Don Dutile) [1692079] - [lib] XArray: Change xa_for_each iterator (Don Dutile) [1692079] - [lib] XArray: Turn xa_init_flags into a static inline (Don Dutile) [1692079] - [lib] XArray tests: Add RCU locking (Don Dutile) [1692079] - [lib] XArray: Fix xa_alloc when id exceeds max (Don Dutile) [1692079] - [lib] XArray tests: Check iterating over multiorder entries (Don Dutile) [1692079] - [lib] XArray tests: Handle larger indices more elegantly (Don Dutile) [1692079] - [include] XArray: Add xa_cmpxchg_irq and xa_cmpxchg_bh (Don Dutile) [1692079] - [tools] radix tree: Don't return retry entries from lookup (Don Dutile) [1692079] - [lib] XArray tests: Add missing locking (Don Dutile) [1692079] - [lib] XArray tests: Correct some 64-bit assumptions (Don Dutile) [1692079] - [lib] XArray: Correct xa_store_range (Don Dutile) [1692079] - [lib] XArray: Fix Documentation (Don Dutile) [1692079] - [lib] XArray: Handle NULL pointers differently for allocation (Don Dutile) [1692079] - [lib] XArray: Unify xa_store and __xa_store (Don Dutile) [1692079] - [include] XArray: Add xa_store_bh() and xa_store_irq() (Don Dutile) [1692079] - [lib] XArray: Turn xa_erase into an exported function (Don Dutile) [1692079] - [lib] XArray: Unify xa_cmpxchg and __xa_cmpxchg (Don Dutile) [1692079] - [lib] XArray: Regularise xa_reserve (Don Dutile) [1692079] - [lib] XArray: Export __xa_foo to non-GPL modules (Don Dutile) [1692079] - [lib] XArray: Fix xa_for_each with a single element at 0 (Don Dutile) [1692079] - [lib] xarray: Add range store functionality (Don Dutile) [1692079] - [lib] xarray: Move multiorder_check to in-kernel tests (Don Dutile) [1692079] - [lib] xarray: Move multiorder_shrink to kernel tests (Don Dutile) [1692079] - [lib] xarray: Move multiorder account test in-kernel (Don Dutile) [1692079] - [tools] radix tree test suite: Convert iteration test to XArray (Don Dutile) [1692079] - [tools] radix tree test suite: Convert tag_tagged_items to XArray (Don Dutile) [1692079] - [tools] radix tree test suite: Convert regression1 to XArray (Don Dutile) [1692079] - [lib] ida: Convert to XArray (Don Dutile) [1692079] - [lib] xarray: Track free entries in an XArray (Don Dutile) [1692079] - [lib] xarray: Add xa_reserve and xa_release (Don Dutile) [1692079] - [lib] xarray: Add xas_create_range (Don Dutile) [1692079] - [lib] xarray: Add xas_for_each_conflict (Don Dutile) [1692079] - [lib] xarray: Step through an XArray (Don Dutile) [1692079] - [lib] xarray: Destroy an XArray (Don Dutile) [1692079] - [lib] xarray: Extract entries from an XArray (Don Dutile) [1692079] - [lib] xarray: Add XArray iterators (Don Dutile) [1692079] - [lib] xarray: Add XArray conditional store operations (Don Dutile) [1692079] - [tools] xarray: Add XArray unconditional store operations (Don Dutile) [1692079] - [tools] xarray: Add XArray marks (Don Dutile) [1692079] - [tools] xarray: Add XArray load operation (Don Dutile) [1692079] - [documentation] xarray: Add documentation (Don Dutile) [1692079] - [include] xarray: Define struct xa_node (Don Dutile) [1692079] - [tools] xarray: Add definition of struct xarray (Don Dutile) [1692079] - [lib] test_ida: Fix lockdep warning (Don Dutile) [1692079] - [lib] xarray: Change definition of sibling entries (Don Dutile) [1692079] - [mm] xarray: Replace exceptional entries (Don Dutile) [1692079] - [lib] idr: Permit any valid kernel pointer to be stored (Don Dutile) [1692079] - [pci] Update email address (Don Dutile) [1692079] - [lib] ida: Change ida_get_new_above to return the id (Don Dutile) [1692079] - [lib] ida: Remove old API (Don Dutile) [1692079] - [target] target/iscsi: Allocate session IDs from an IDA (Don Dutile) [1692079] - [target] iscsi target: fix session creation failure handling (Don Dutile) [1692079] - [drm] drm/vmwgfx: Return 0 when gmrid::get_node runs out of ID's (Don Dutile) [1692079] - [drm] drm/vmwgfx: Convert to new IDA API (Don Dutile) [1692079] - [dma] dmaengine: Convert to new IDA API (Don Dutile) [1692079] - [powerpc] ppc: Convert vas ID allocation to new IDA API (Don Dutile) [1692079] - [media] media: Convert entity ID allocation to new IDA API (Don Dutile) [1692079] - [mm] ppc: Convert mmu context allocation to new IDA API (Don Dutile) [1692079] - [net] Convert net_namespace to new IDA API (Don Dutile) [1692079] - [misc] cb710: Convert to new IDA API (Don Dutile) [1692079] - [block] rsxx: Convert to new IDA API (Don Dutile) [1692079] - [scsi] osd: Convert to new IDA API (Don Dutile) [1692079] - [scsi] sd: Convert to new IDA API (Don Dutile) [1692079] - [fs] devpts: Convert to new IDA API (Don Dutile) [1692079] - [fs] fs: Convert namespace IDAs to new API (Don Dutile) [1692079] - [fs] fs: Convert unnamed_dev_ida to new API (Don Dutile) [1692079] - [lib] test_ida: check_ida_destroy and check_ida_alloc (Don Dutile) [1692079] - [lib] test_ida: Convert check_ida_conv to new API (Don Dutile) [1692079] - [lib] test_ida: Move ida_check_max (Don Dutile) [1692079] - [lib] test_ida: Move ida_check_leaf (Don Dutile) [1692079] - [tools] idr-test: Convert ida_check_nomem to new API (Don Dutile) [1692079] - [tools] ida: Start new test_ida module (Don Dutile) [1692079] - [lib] ida: Lock the IDA in ida_destroy (Don Dutile) [1692079] - [lib] radix-tree: Fix UBSAN warning (Don Dutile) [1692079] - [include] rh_kabi: Indirect EXTEND macros so nesting of other macros will resolve. (Don Dutile) [1692079] - [s390] s390/pkey: add one more argument space for debug feature entry (Philipp Rudo) [1710033] - [s390] s390/zcrypt: fix possible deadlock situation on ap queue remove (Philipp Rudo) [1710033] - [s390] zcrypt: handle AP Info notification from CHSC SEI command (Philipp Rudo) [1710033] - [s390] s390/zcrypt: revisit ap device remove procedure (Philipp Rudo) [1710033] - [s390] pkey: Indicate old mkvp only if old and current mkvp are different (Philipp Rudo) [1710033] - [s390] s390/zcrypt: use new state UNBOUND during queue driver rebind (Philipp Rudo) [1710033] - [s390] s390/zcrypt: fix specification exception on z196 during ap probe (Philipp Rudo) [1710033] - [s390] s390/zcrypt: rework ap scan bus code (Philipp Rudo) [1710033] - [s390] s390/zcrypt: make sysfs reset attribute trigger queue reset (Philipp Rudo) [1710033] - [s390] s390/zcrypt: improve special ap message cmd handling (Philipp Rudo) [1710033] - [s390] s390: vfio-ap: include for test_facility() (Philipp Rudo) [1710033] - [fs] flexfiles: enforce per-mirror stateid only for v4 DSes (Scott Mayhew) [1709556] - [fs] flexfiles: use per-mirror specified stateid for IO (Scott Mayhew) [1709556] - [powerpc] powerpc/pseries: Fix build break due to pnv_npu2_init() (Sam Bobroff) [1704567] - [powerpc] powerpc/powernv/sriov: Register IOMMU groups for VFs (Sam Bobroff) [1704567] - [powerpc] powerpc/powernv/npu: Allocate enough memory in pnv_try_setup_npu_table_group() (Sam Bobroff) [1704567] - [powerpc] powerpc/powernv/npu: Fix oops in pnv_try_setup_npu_table_group() (Sam Bobroff) [1704567] - [mm] mm: defer ZONE_DEVICE page initialization to the point where we init pgmap (Waiman Long) [1666538 1634343] - [mm] mm: create non-atomic version of SetPageReserved for init use (Waiman Long) [1666538 1634343] - [mm] mm: provide kernel parameter to allow disabling page init poisoning (Waiman Long) [1666538 1634343] - [x86] x86/resctrl: Initialize a new resource group with default MBA values (David Arcari) [1688127] - [x86] x86/resctrl: Move per RDT domain initialization to a separate function (David Arcari) [1688127] - [x86] x86/resctrl: Do not repeat rdtgroup mode initialization (David Arcari) [1688127] - [x86] x86/resctrl: Fix rdt_find_domain() return value and checks (David Arcari) [1688127] - [x86] x86/resctrl: Use rdt_last_cmd_puts() where possible (David Arcari) [1688127]- [s390] s390/pci: map IOV resources (Philipp Rudo) [1659411] - [powerpc] powerpc/book3s/64: check for NULL pointer in pgd_alloc() (Steve Best) [1710310] - [md] dm thin metadata: do not write metadata if no changes occurred (Mike Snitzer) [1710030] - [md] dm thin metadata: add wrappers for managing write locking of metadata (Mike Snitzer) [1710030] - [md] dm thin metadata: check __commit_transaction()'s return (Mike Snitzer) [1710030] - [md] dm space map common: zero entire ll_disk (Mike Snitzer) [1710030] - [powerpc] powerpc/tm: Fix stack pointer corruption (Desnes Augusto Nunes do Rosario) [1707635] - [pci] PCI/MSI: Remove obsolete sanity checks for multiple interrupt sets (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Remove the leftovers of the original set support (Prarit Bhargava) [1686678] - [nvme] nvme-pci: Simplify interrupt allocation (Prarit Bhargava) [1686678] - [include] genirq/affinity: Add new callback for (re)calculating interrupt sets (Prarit Bhargava) [1686678] - [nvme] genirq/affinity: Store interrupt sets size in struct irq_affinity (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Code consolidation (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Move allocation of 'node_to_cpumask' to irq_build_affinity_masks() (Prarit Bhargava) [1686678] - [kernel] genirq/irqdesc: Fix double increment in alloc_descs() (Prarit Bhargava) [1686678] - [include] genirq: Fix the kerneldoc comment for struct irq_affinity_desc (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Add is_managed to struct irq_affinity_desc (Prarit Bhargava) [1686678] - [kernel] genirq/core: Introduce struct irq_affinity_desc (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Remove excess indentation (Prarit Bhargava) [1686678]- [md] dm: make sure to obey max_io_len_target_boundary (Mike Snitzer) [1712607]- [mm] x86/dump_pagetables: Fix LDT remap address marker (Baoquan He) [1639560] - [x86] x86/mm: Fix guard hole handling (Baoquan He) [1639560] - [x86] x86/mm: Move LDT remap out of KASLR region on 5-level paging (Baoquan He) [1639560] - [x86] x86/ldt: Define LDT_END_ADDR (Baoquan He) [1639560] - [mm] x86/ldt: Reserve address-space range on 32 bit for the LDT (Baoquan He) [1639560] - [documentation] x86/mm/doc: Enhance the x86-64 virtual memory layout descriptions (Baoquan He) [1639560] - [documentation] x86/mm/doc: Clean up the x86-64 virtual memory layout descriptions (Baoquan He) [1639560] - [fs] cifs: fix page reference leak with readv/writev (Leif Sahlberg) [1708033] - [fs] cifs: do not attempt cifs operation on smb2+ rename error (Leif Sahlberg) [1708033] - [fs] cifs: fix memory leak in SMB2_read (Leif Sahlberg) [1708033] - [fs] CIFS: keep FileInfo handle live during oplock break (Leif Sahlberg) [1708033] - [fs] cifs: fix handle leak in smb2_query_symlink() (Leif Sahlberg) [1708033] - [fs] cifs: Fix lease buffer length error (Leif Sahlberg) [1708033] - [fs] cifs: Fix use-after-free in SMB2_read (Leif Sahlberg) [1708033] - [fs] cifs: Fix use-after-free in SMB2_write (Leif Sahlberg) [1708033] - [fs] cifs: a smb2_validate_and_copy_iov failure does not mean the handle is invalid. (Leif Sahlberg) [1708033] - [fs] SMB3: Allow persistent handle timeout to be configurable on mount (Leif Sahlberg) [1708033] - [fs] smb3: Fix enumerating snapshots to Azure (Leif Sahlberg) [1708033] - [fs] cifs: fix kref underflow in close_shroot() (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] SMB3: Fix SMB3.1.1 guest mounts to Samba (Leif Sahlberg) [1708033] - [fs] cifs: Fix slab-out-of-bounds when tracing SMB tcon (Leif Sahlberg) [1708033] - [fs] cifs: allow guest mounts to work for smb3.11 (Leif Sahlberg) [1708033] - [fs] fix incorrect error code mapping for OBJECTID_NOT_FOUND (Leif Sahlberg) [1708033] - [fs] cifs: fix that return -EINVAL when do dedupe operation (Leif Sahlberg) [1708033] - [fs] CIFS: Fix an issue with re-sending rdata when transport returning -EAGAIN (Leif Sahlberg) [1708033] - [fs] CIFS: Fix an issue with re-sending wdata when transport returning -EAGAIN (Leif Sahlberg) [1708033] - [fs] CIFS: fix POSIX lock leak and invalid ptr deref (Leif Sahlberg) [1708033] - [fs] SMB3: Allow SMB3 FSCTL queries to be sent to server from tools (Leif Sahlberg) [1708033] - [fs] cifs: fix incorrect handling of smb2_set_sparse() return in smb3_simple_falloc (Leif Sahlberg) [1708033] - [fs] smb2: fix typo in definition of a few error flags (Leif Sahlberg) [1708033] - [fs] CIFS: make mknod() an smb_version_op (Leif Sahlberg) [1708033] - [documentation] cifs: minor documentation updates (Leif Sahlberg) [1708033] - [documentation] cifs: minor updates to documentation (Leif Sahlberg) [1708033] - [fs] cifs: remove unused value pointed out by Coverity (Leif Sahlberg) [1708033] - [fs] SMB3: passthru query info doesn't check for SMB3 FSCTL passthru (Leif Sahlberg) [1708033] - [fs] smb3: add dynamic tracepoints for simple fallocate and zero range (Leif Sahlberg) [1708033] - [fs] cifs: fix smb3_zero_range so it can expand the file-size when required (Leif Sahlberg) [1708033] - [fs] cifs: add SMB2_ioctl_init/free helpers to be used with compounding (Leif Sahlberg) [1708033] - [fs] smb3: Add dynamic trace points for various compounded smb3 ops (Leif Sahlberg) [1708033] - [fs] cifs: cache FILE_ALL_INFO for the shared root handle (Leif Sahlberg) [1708033] - [fs] smb3: display volume serial number for shares in /proc/fs/cifs/DebugData (Leif Sahlberg) [1708033] - [fs] cifs: simplify how we handle credits in compound_send_recv() (Leif Sahlberg) [1708033] - [fs] smb3: add dynamic tracepoint for timeout waiting for credits (Leif Sahlberg) [1708033] - [fs] smb3: display security information in /proc/fs/cifs/DebugData more accurately (Leif Sahlberg) [1708033] - [fs] cifs: add a timeout argument to wait_for_free_credits (Leif Sahlberg) [1708033] - [fs] cifs: prevent starvation in wait_for_free_credits for multi-credit requests (Leif Sahlberg) [1708033] - [fs] cifs: wait_for_free_credits() make it possible to wait for >=1 credits (Leif Sahlberg) [1708033] - [fs] cifs: pass flags down into wait_for_free_credits() (Leif Sahlberg) [1708033] - [fs] cifs: change wait_for_free_request() to take flags as argument (Leif Sahlberg) [1708033] - [fs] fs: cifs: Kconfig: pedantic formatting (Leif Sahlberg) [1708033] - [fs] smb3: request more credits on normal (non-large read/write) ops (Leif Sahlberg) [1708033] - [fs] CIFS: Return -EAGAIN instead of -ENOTSOCK (Leif Sahlberg) [1708033] - [fs] CIFS: Only send SMB2_NEGOTIATE command on new TCP connections (Leif Sahlberg) [1708033] - [fs] CIFS: Fix read after write for files with read caching (Leif Sahlberg) [1708033] - [fs] smb3: for kerberos mounts display the credential uid used (Leif Sahlberg) [1708033] - [fs] cifs: use correct format characters (Leif Sahlberg) [1708033] - [fs] smb3: add dynamic trace point for query_info_enter/done (Leif Sahlberg) [1708033] - [fs] smb3: add dynamic trace point for smb3_cmd_enter (Leif Sahlberg) [1708033] - [fs] smb3: improve dynamic tracing of open and posix mkdir (Leif Sahlberg) [1708033] - [fs] smb3: add missing read completion trace point (Leif Sahlberg) [1708033] - [fs] smb3: Add tracepoints for read, write and query_dir enter (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoints for query dir (Leif Sahlberg) [1708033] - [fs] smb3: Update POSIX negotiate context with POSIX ctxt GUID (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] CIFS: Try to acquire credits at once for compound requests (Leif Sahlberg) [1708033] - [fs] CIFS: Return error code when getting file handle for writeback (Leif Sahlberg) [1708033] - [fs] CIFS: Move open file handling to writepages (Leif Sahlberg) [1708033] - [fs] CIFS: Move unlocking pages from wdata_send_pages() (Leif Sahlberg) [1708033] - [fs] CIFS: Find and reopen a file before get MTU credits in writepages (Leif Sahlberg) [1708033] - [fs] CIFS: Reopen file before get SMB2 MTU credits for async IO (Leif Sahlberg) [1708033] - [fs] CIFS: Remove custom credit adjustments for SMB2 async IO (Leif Sahlberg) [1708033] - [fs] CIFS: Adjust MTU credits before reopening a file (Leif Sahlberg) [1708033] - [fs] CIFS: Check for reconnects before sending compound requests (Leif Sahlberg) [1708033] - [fs] CIFS: Check for reconnects before sending async requests (Leif Sahlberg) [1708033] - [fs] CIFS: Respect reconnect in non-MTU credits calculations (Leif Sahlberg) [1708033] - [fs] CIFS: Respect reconnect in MTU credits calculations (Leif Sahlberg) [1708033] - [fs] CIFS: Set reconnect instance to one initially (Leif Sahlberg) [1708033] - [fs] CIFS: Respect SMB2 hdr preamble size in read responses (Leif Sahlberg) [1708033] - [fs] CIFS: Count SMB3 credits for malformed pending responses (Leif Sahlberg) [1708033] - [fs] CIFS: Do not log credits when unmounting a share (Leif Sahlberg) [1708033] - [fs] CIFS: Always reset read error to -EIO if no response (Leif Sahlberg) [1708033] - [fs] cifs: Accept validate negotiate if server return NT_STATUS_NOT_SUPPORTED (Leif Sahlberg) [1708033] - [fs] CIFS: Do not skip SMB2 message IDs on send failures (Leif Sahlberg) [1708033] - [fs] smb3: request more credits on tree connect (Leif Sahlberg) [1708033] - [fs] smb3: make default i/o size for smb3 mounts larger (Leif Sahlberg) [1708033] - [fs] CIFS: Do not reset lease state to NONE on lease break (Leif Sahlberg) [1708033] - [fs] smb3: fix bytes_read statistics (Leif Sahlberg) [1708033] - [fs] cifs: return -ENODATA when deleting an xattr that does not exist (Leif Sahlberg) [1708033] - [fs] cifs: add credits from unmatched responses/messages (Leif Sahlberg) [1708033] - [fs] cifs: replace snprintf with scnprintf (Leif Sahlberg) [1708033] - [fs] cifs: Fix NULL pointer dereference of devname (Leif Sahlberg) [1708033] - [fs] CIFS: Fix leaking locked VFS cache pages in writeback retry (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] CIFS: fix use-after-free of the lease keys (Leif Sahlberg) [1708033] - [fs] CIFS: Do not consider -ENODATA as stat failure for reads (Leif Sahlberg) [1708033] - [fs] CIFS: Do not count -ENODATA as failure for query directory (Leif Sahlberg) [1708033] - [fs] CIFS: Fix trace command logging for SMB2 reads and writes (Leif Sahlberg) [1708033] - [fs] CIFS: Fix possible oops and memory leaks in async IO (Leif Sahlberg) [1708033] - [fs] cifs: limit amount of data we request for xattrs to CIFSMaxBufSize (Leif Sahlberg) [1708033] - [fs] cifs: fix computation for MAX_SMB2_HDR_SIZE (Leif Sahlberg) [1708033] - [fs] cifs: print CIFSMaxBufSize as part of /proc/fs/cifs/DebugData (Leif Sahlberg) [1708033] - [fs] smb3: add credits we receive from oplock/break PDUs (Leif Sahlberg) [1708033] - [fs] CIFS: Fix mounts if the client is low on credits (Leif Sahlberg) [1708033] - [fs] CIFS: Do not assume one credit for async responses (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credit calculations in compound mid callback (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credit calculation for encrypted reads with errors (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credits calculations for reads with errors (Leif Sahlberg) [1708033] - [fs] CIFS: Do not reconnect TCP session in add_credits() (Leif Sahlberg) [1708033] - [fs] smb3: Cleanup license mess (Leif Sahlberg) [1708033] - [fs] CIFS: Fix possible hang during async MTU reads and writes (Leif Sahlberg) [1708033] - [fs] cifs: fix memory leak of an allocated cifs_ntsd structure (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] CIFS: Fix error paths in writeback code (Leif Sahlberg) [1708033] - [fs] CIFS: Move credit processing to mid callbacks for SMB3 (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credits calculation for cancelled requests (Leif Sahlberg) [1708033] - [fs] cifs: Fix potential OOB access of lock element array (Leif Sahlberg) [1708033] - [fs] cifs: Limit memory used by lock request calls to a page (Leif Sahlberg) [1708033] - [fs] cifs: move large array from stack to heap (Leif Sahlberg) [1708033] - [fs] CIFS: Do not hide EINTR after sending network packets (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credit computation for compounded requests (Leif Sahlberg) [1708033] - [fs] CIFS: Do not set credits to 1 if the server didn't grant anything (Leif Sahlberg) [1708033] - [fs] CIFS: Fix adjustment of credits for MTU requests (Leif Sahlberg) [1708033] - [fs] cifs: Fix a tiny potential memory leak (Leif Sahlberg) [1708033] - [fs] cifs: Fix a debug message (Leif Sahlberg) [1708033] - [fs] smb3: add smb3.1.1 to default dialect list (Leif Sahlberg) [1708033] - [fs] cifs: fix confusing warning message on reconnect (Leif Sahlberg) [1708033] - [fs] smb3: fix large reads on encrypted connections (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] cifs: we can not use small padding iovs together with encryption (Leif Sahlberg) [1708033] - [fs] cifs: Minor Kconfig clarification (Leif Sahlberg) [1708033] - [fs] cifs: Always resolve hostname before reconnecting (Leif Sahlberg) [1708033] - [fs] cifs: Add support for failover in cifs_reconnect_tcon() (Leif Sahlberg) [1708033] - [fs] cifs: Add support for failover in smb2_reconnect() (Leif Sahlberg) [1708033] - [fs] cifs: Only free DFS target list if we actually got one (Leif Sahlberg) [1708033] - [fs] cifs: start DFS cache refresher in cifs_mount() (Leif Sahlberg) [1708033] - [fs] cifs: Use GFP_ATOMIC when a lock is held in cifs_mount() (Leif Sahlberg) [1708033] - [fs] cifs: Add support for failover in cifs_reconnect() (Leif Sahlberg) [1708033] - [fs] cifs: Add support for failover in cifs_mount() (Leif Sahlberg) [1708033] - [fs] cifs: remove set but not used variable 'sep' (Leif Sahlberg) [1708033] - [fs] cifs: Make use of DFS cache to get new DFS referrals (Leif Sahlberg) [1708033] - [fs] cifs: check kzalloc return (Leif Sahlberg) [1708033] - [fs] cifs: remove set but not used variable 'server' (Leif Sahlberg) [1708033] - [fs] cifs: Use kzfree() to free password (Leif Sahlberg) [1708033] - [fs] cifs: Fix to use kmem_cache_free() instead of kfree() (Leif Sahlberg) [1708033] - [fs] cifs: update for current_kernel_time64() removal (Leif Sahlberg) [1708033] - [fs] cifs: Add DFS cache routines (Leif Sahlberg) [1708033] - [fs] cifs: Save TTL value when parsing DFS referrals (Leif Sahlberg) [1708033] - [fs] cifs: auto disable 'serverino' in dfs mounts (Leif Sahlberg) [1708033] - [fs] cifs: Make devname param optional in cifs_compose_mount_options() (Leif Sahlberg) [1708033] - [fs] cifs: Skip any trailing backslashes from UNC (Leif Sahlberg) [1708033] - [fs] cifs: Refactor out cifs_mount() (Leif Sahlberg) [1708033] - [fs] CIFS: Fix error mapping for SMB2_LOCK command which caused OFD lock problem (Leif Sahlberg) [1708033] - [fs] CIFS: return correct errors when pinning memory failed for direct I/O (Leif Sahlberg) [1708033] - [fs] CIFS: use the correct length when pinning memory for direct I/O for write (Leif Sahlberg) [1708033] - [fs] cifs: check ntwrk_buf_start for NULL before dereferencing it (Leif Sahlberg) [1708033] - [fs] cifs: remove coverity warning in calc_lanman_hash (Leif Sahlberg) [1708033] - [fs] cifs: remove set but not used variable 'smb_buf' (Leif Sahlberg) [1708033] - [fs] cifs: suppress some implicit-fallthrough warnings (Leif Sahlberg) [1708033] - [fs] cifs: change smb2_query_eas to use the compound query-info helper (Leif Sahlberg) [1708033] - [fs] Add vers=3.0.2 as a valid option for SMBv3.0.2 (Leif Sahlberg) [1708033] - [fs] cifs: create a helper function for compound query_info (Leif Sahlberg) [1708033] - [fs] cifs: address trivial coverity warning (Leif Sahlberg) [1708033] - [fs] cifs: smb2 commands can not be negative, remove confusing check (Leif Sahlberg) [1708033] - [fs] cifs: use a compound for setting an xattr (Leif Sahlberg) [1708033] - [fs] cifs: clean up indentation, replace spaces with tab (Leif Sahlberg) [1708033] - [fs] smb3: Fix rmdir compounding regression to strict servers (Leif Sahlberg) [1708033] - [fs] CIFS: Avoid returning EBUSY to upper layer VFS (Leif Sahlberg) [1708033] - [fs] cifs: Fix separator when building path from dentry (Leif Sahlberg) [1708033] - [fs] cifs: In Kconfig CONFIG_CIFS_POSIX needs depends on legacy (insecure cifs) (Leif Sahlberg) [1708033] - [fs] cifs: fix signed/unsigned mismatch on aio_read patch (Leif Sahlberg) [1708033] - [fs] cifs: don't dereference smb_file_target before null check (Leif Sahlberg) [1708033] - [fs] CIFS: Add direct I/O functions to file_operations (Leif Sahlberg) [1708033] - [fs] CIFS: Add support for direct I/O write (Leif Sahlberg) [1708033] - [fs] CIFS: Add support for direct I/O read (Leif Sahlberg) [1708033] - [fs] smb3: missing defines and structs for reparse point handling (Leif Sahlberg) [1708033] - [fs] smb3: allow more detailed protocol info on open files for debugging (Leif Sahlberg) [1708033] - [fs] smb3: on kerberos mount if server doesn't specify auth type use krb5 (Leif Sahlberg) [1708033] - [fs] smb3: add trace point for tree connection (Leif Sahlberg) [1708033] - [fs] cifs: fix spelling mistake, EACCESS -> EACCES (Leif Sahlberg) [1708033] - [fs] cifs: fix return value for cifs_listxattr (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number for cifs.ko to 2.14 (Leif Sahlberg) [1708033] - [fs] smb3: add debug for unexpected mid cancellation (Leif Sahlberg) [1708033] - [fs] cifs: allow calling SMB2_xxx_free(NULL) (Leif Sahlberg) [1708033] - [fs] smb3 - clean up debug output displaying network interfaces (Leif Sahlberg) [1708033] - [fs] smb3: show number of current open files in /proc/fs/cifs/Stats (Leif Sahlberg) [1708033] - [fs] cifs: add support for ioctl on directories (Leif Sahlberg) [1708033] - [fs] cifs: fallback to older infolevels on findfirst queryinfo retry (Leif Sahlberg) [1708033] - [fs] smb3: do not attempt cifs operation in smb3 query info error path (Leif Sahlberg) [1708033] - [fs] smb3: send backup intent on compounded query info (Leif Sahlberg) [1708033] - [fs] cifs: track writepages in vfs operation counters (Leif Sahlberg) [1708033] - [fs] smb2: fix uninitialized variable bug in smb2_ioctl_query_info (Leif Sahlberg) [1708033] - [fs] cifs: add IOCTL for QUERY_INFO passthrough to userspace (Leif Sahlberg) [1708033] - [fs] cifs: minor clarification in comments (Leif Sahlberg) [1708033] - [fs] CIFS: Print message when attempting a mount (Leif Sahlberg) [1708033] - [fs] CIFS: Adds information-level logging function (Leif Sahlberg) [1708033] - [fs] cifs: OFD locks do not conflict with eachothers (Leif Sahlberg) [1708033] - [fs] CIFS: SMBD: Do not call ib_dereg_mr on invalidated memory registration (Leif Sahlberg) [1708033] - [fs] CIFS: pass page offsets on SMB1 read/write (Leif Sahlberg) [1708033] - [fs] fs/cifs: fix uninitialised variable warnings (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoint for sending lease break responses to server (Leif Sahlberg) [1708033] - [fs] cifs: do not return atime less than mtime (Leif Sahlberg) [1708033] - [fs] smb3: update default requested iosize to 4MB from 1MB for recent dialects (Leif Sahlberg) [1708033] - [fs] smb3: Add debug message later in smb2/smb3 reconnect path (Leif Sahlberg) [1708033] - [fs] CIFS: make 'nodfs' mount opt a superblock flag (Leif Sahlberg) [1708033] - [fs] smb3: track the instance of each session for debugging (Leif Sahlberg) [1708033] - [fs] smb3: minor missing defines relating to reparse points (Leif Sahlberg) [1708033] - [fs] smb3: add way to control slow response threshold for logging and stats (Leif Sahlberg) [1708033] - [fs] cifs: minor updates to module description for cifs.ko (Leif Sahlberg) [1708033] - [fs] cifs: protect against server returning invalid file system block size (Leif Sahlberg) [1708033] - [fs] smb3: allow stats which track session and share reconnects to be reset (Leif Sahlberg) [1708033] - [fs] SMB3: Backup intent flag missing from compounded ops (Leif Sahlberg) [1708033] - [fs] cifs: create a define for the max number of iov we need for a SMB2 set_info (Leif Sahlberg) [1708033] - [fs] cifs: change SMB2_OP_RENAME and SMB2_OP_HARDLINK to use compounding (Leif Sahlberg) [1708033] - [fs] cifs: remove the is_falloc argument to SMB2_set_eof (Leif Sahlberg) [1708033] - [fs] cifs: change SMB2_OP_SET_INFO to use compounding (Leif Sahlberg) [1708033] - [fs] cifs: change SMB2_OP_SET_EOF to use compounding (Leif Sahlberg) [1708033] - [fs] cifs: make rmdir() use compounding (Leif Sahlberg) [1708033] - [fs] cifs: create helpers for SMB2_set_info_init/free() (Leif Sahlberg) [1708033] - [fs] cifs: change unlink to use a compound (Leif Sahlberg) [1708033] - [fs] cifs: change mkdir to use a compound (Leif Sahlberg) [1708033] - [fs] cifs: add a smb2_compound_op and change QUERY_INFO to use it (Leif Sahlberg) [1708033] - [fs] cifs: fix a credits leak for compund commands (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoint to catch cases where credit refund of failed op overlaps reconnect (Leif Sahlberg) [1708033] - [fs] cifs: remove set but not used variable 'cifs_sb' (Leif Sahlberg) [1708033] - [fs] cifs: Use kmemdup rather than duplicating its implementation in smb311_posix_mkdir() (Leif Sahlberg) [1708033] - [fs] smb3: do not display confusing message on mount to Azure servers (Leif Sahlberg) [1708033] - [fs] smb3: fix lease break problem introduced by compounding (Leif Sahlberg) [1708033] - [fs] cifs: only wake the thread for the very last PDU in a compound (Leif Sahlberg) [1708033] - [fs] cifs: add a warning if we try to to dequeue a deleted mid (Leif Sahlberg) [1708033] - [fs] smb2: fix missing files in root share directory listing (Leif Sahlberg) [1708033] - [fs] cifs: read overflow in is_valid_oplock_break() (Leif Sahlberg) [1708033] - [fs] cifs: integer overflow in in SMB2_ioctl() (Leif Sahlberg) [1708033] - [fs] CIFS: fix wrapping bugs in num_entries() (Leif Sahlberg) [1708033] - [fs] cifs: prevent integer overflow in nxt_dir_entry() (Leif Sahlberg) [1708033] - [fs] fs/cifs: suppress a string overflow warning (Leif Sahlberg) [1708033] - [fs] cifs: connect to servername instead of IP for IPC$ share (Leif Sahlberg) [1708033] - [fs] smb3: check for and properly advertise directory lease support (Leif Sahlberg) [1708033] - [fs] smb3: minor debugging clarifications in rfc1001 len processing (Leif Sahlberg) [1708033] - [fs] SMB3: Backup intent flag missing for directory opens with backupuid mounts (Leif Sahlberg) [1708033] - [fs] fs/cifs: don't translate SFM_SLASH (U+F026) to backslash (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number for cifs.ko to 2.12 (Leif Sahlberg) [1708033] - [fs] cifs: check kmalloc before use (Leif Sahlberg) [1708033] - [fs] cifs: check if SMB2 PDU size has been padded and suppress the warning (Leif Sahlberg) [1708033] - [fs] cifs: create a define for how many iovs we need for an SMB2_open() (Leif Sahlberg) [1708033] - [fs] smb3: create smb3 equivalent alias for cifs pseudo-xattrs (Leif Sahlberg) [1708033] - [fs] smb3: allow previous versions to be mounted with snapshot= mount parm (Leif Sahlberg) [1708033] - [fs] cifs: don't show domain= in mount output when domain is empty (Leif Sahlberg) [1708033] - [fs] cifs: add missing support for ACLs in SMB 3.11 (Leif Sahlberg) [1708033] - [fs] smb3: enumerating snapshots was leaving part of the data off end (Leif Sahlberg) [1708033] - [fs] cifs: update smb2_queryfs() to use compounding (Leif Sahlberg) [1708033] - [fs] cifs: update receive_encrypted_standard to handle compounded responses (Leif Sahlberg) [1708033] - [fs] cifs: create SMB2_open_init()/SMB2_open_free() helpers. (Leif Sahlberg) [1708033] - [fs] cifs: add SMB2_query_info_[init|free]() (Leif Sahlberg) [1708033] - [fs] cifs: add SMB2_close_init()/SMB2_close_free() (Leif Sahlberg) [1708033] - [fs] smb3: display stats counters for number of slow commands (Leif Sahlberg) [1708033] - [fs] CIFS: fix uninitialized ptr deref in smb2 signing (Leif Sahlberg) [1708033] - [fs] smb3: Do not send SMB3 SET_INFO if nothing changed (Leif Sahlberg) [1708033] - [fs] smb3: fix minor debug output for CONFIG_CIFS_STATS (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoint for slow responses (Leif Sahlberg) [1708033] - [fs] cifs: add compound_send_recv() (Leif Sahlberg) [1708033] - [fs] cifs: make smb_send_rqst take an array of requests (Leif Sahlberg) [1708033] - [fs] cifs: update init_sg, crypt_message to take an array of rqst (Leif Sahlberg) [1708033] - [fs] smb3: fix reset of bytes read and written stats (Leif Sahlberg) [1708033] - [fs] smb3: display bytes_read and bytes_written in smb3 stats (Leif Sahlberg) [1708033] - [fs] cifs: simple stats should always be enabled (Leif Sahlberg) [1708033] - [fs] cifs: use a refcount to protect open/closing the cached file handle (Leif Sahlberg) [1708033] - [fs] smb3: add reconnect tracepoints (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoint for session expired or deleted (Leif Sahlberg) [1708033] - [fs] cifs: remove unused stats (Leif Sahlberg) [1708033] - [fs] smb3: don't request leases in symlink creation and query (Leif Sahlberg) [1708033] - [fs] smb3: remove per-session operations from per-tree connection stats (Leif Sahlberg) [1708033] - [fs] SMB3: Number of requests sent should be displayed for SMB3 not just CIFS (Leif Sahlberg) [1708033] - [fs] smb3: snapshot mounts are read-only and make sure info is displayable about the mount (Leif Sahlberg) [1708033] - [fs] smb3: remove noisy warning message on mount (Leif Sahlberg) [1708033] - [fs] cifs: add missing debug entries for kconfig options (Leif Sahlberg) [1708033] - [fs] smb3: fill in statfs fsid and correct namelen (Leif Sahlberg) [1708033] - [fs] cifs: Make sure all data pages are signed correctly (Leif Sahlberg) [1708033] - [fs] CIFS: fix memory leak and remove dead code (Leif Sahlberg) [1708033] - [fs] cifs: use 64-bit timestamps for fscache (Leif Sahlberg) [1708033] - [fs] cifs: use timespec64 internally (Leif Sahlberg) [1708033] - [fs] cifs: Silence uninitialized variable warning (Leif Sahlberg) [1708033] - [fs] fs/cifs: Simplify ib_post_(send|recv|srq_recv)() calls (Leif Sahlberg) [1708033]- [edac] EDAC/amd64: Set maximum channel layer size depending on family (Gary Hook) [1690984] - [edac] EDAC/amd64: Adjust printed chip select sizes when interleaved (Gary Hook) [1690984] - [edac] EDAC/amd64: Recognize x16 symbol size (Gary Hook) [1690984] - [edac] EDAC/amd64: Support more than two Unified Memory Controllers (Gary Hook) [1690984] - [edac] EDAC/amd64: Use a macro for iterating over Unified Memory Controllers (Gary Hook) [1690984] - [edac] EDAC, amd64: Add Family 17h, models 10h-2fh support (Gary Hook) [1670609 1690984] - [md] dm mpath: fix missing call of path selector type->end_io (Mike Snitzer) [1686227] - [rpmspec] redhat: do not generate debuginfo for self-tests and samples (Ivan Vecera) [1708375] - [netdrv] broadcom: Mark expected switch fall-throughs (Kamal Heib) [1684380] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Kamal Heib) [1684380] - [netdrv] broadcom: tg3: fix use of SPEED_UNKNOWN ethtool constant (Kamal Heib) [1684380] - [netdrv] tg3: allow ethtool -p to work for NICs in down state (Kamal Heib) [1684380] - [netdrv] tg3: optionally use eth_platform_get_mac_address() to get mac address (Kamal Heib) [1684380] - [netdrv] tg3: extend PTP gettime function to read system clock (Kamal Heib) [1684380] - [netdrv] tg3: Fix fall-through annotations (Kamal Heib) [1684380] - [netdrv] tg3: Mark expected switch fall-throughs (Kamal Heib) [1684380] - [mm] x86/mm/KASLR: Fix the size of the direct mapping section (Baoquan He) [1669075] - [netdrv] net/mlx4_en: fix spelling mistake: "quiting" -> "quitting" (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: Fix error handling when initializing CQ bufs in the driver (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: Add masking for a few queries on HCA caps (Alaa Hleihel) [1691235 1691228] - [infiniband] IB/mlx4: Fix using wrong function to destroy sqp AHs under SRIOV (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4: replace pci_{,un}map_sg with dma_{,un}map_sg (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4: Get rid of page operation after dma_alloc_coherent (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: drop useless LIST_HEAD (Alaa Hleihel) [1691235 1691228] - [infiniband] IB/mlx4: Remove set but not used variable 'pd' (Alaa Hleihel) [1691235 1691228] - [infiniband] IB/mlx4: Utilize macro to calculate SQ spare size (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_en: remove fallback after kzalloc_node() (Alaa Hleihel) [1691235 1691228] - [infiniband] IB/mlx4: Remove unneeded NULL check (Alaa Hleihel) [1691235 1691228] - [infiniband] mlx4: Use snprintf instead of complicated strcpy (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: Fix several coding style errors (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: Fix return codes of unsupported operations (Alaa Hleihel) [1691235 1691228] - [netdrv] {net, IB}/mlx4: Initialize CQ buffers in the driver when possible (Alaa Hleihel) [1691235 1691228] - [netdrv] mlx4: use __vlan_hwaccel helpers (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_en: Fix build break when CONFIG_INET is off (Alaa Hleihel) [1691233 1691228] - [netdrv] net/mlx4_en: use __netdev_tx_sent_queue() (Alaa Hleihel) [1691233 1691228] - [netdrv] net/mlx4_en: add a missing include (Alaa Hleihel) [1691233 1691228] - [infiniband] IB/mlx4: Add port and TID to MAD debug print (Alaa Hleihel) [1691233 1691228] - [infiniband] IB/mlx4: Enable debug print of SMPs (Alaa Hleihel) [1691233 1691228] - [infiniband] RDMA: Fix dependencies for rdma_user_mmap_io (Alaa Hleihel) [1691233 1691228] - [infiniband] IB/mlx4: Remove unnecessary parentheses (Alaa Hleihel) [1691233 1691228] - [infiniband] RDMA/mlx4: Use rdma_user_mmap_io (Alaa Hleihel) [1691233 1691228] - [netdrv] net/mlx4_core: Fix warnings during boot on driverinit param set failures (Alaa Hleihel) [1691228] - [netdrv] net/mlx4_core: Use devlink region_snapshot parameter (Alaa Hleihel) [1691228] - [netdrv] net/mlx4_core: Add Crdump FW snapshot support (Alaa Hleihel) [1691228] - [netdrv] net/mlx4_core: Add health buffer address capability (Alaa Hleihel) [1691228] - [netdrv] mlx4: Add support for devlink reload and load driverinit values (Alaa Hleihel) [1691228 1663198] - [netdrv] mlx4: Add mlx4 initial parameters table and register it (Alaa Hleihel) [1691228 1663198] - [infiniband] IB/mlx4: Create slave AH's directly (Alaa Hleihel) [1691228] - [infiniband] IB/mlx4: Add support for drain SQ & RQ (Alaa Hleihel) [1691228] - [net] openvswitch: return an error instead of doing BUG_ON() (Eelco Chaudron) [1700468] - [include] net: add netif_is_geneve() (Petr Oros) [1707002] - [netdrv] team: fix possible recursive locking when add slaves (Hangbin Liu) [1700679] - [netdrv] phy: Fix ioctl handler when modifing MII_ADVERTISE (Petr Oros) [1691676] - [netdrv] mii: Add mii_lpa_mod_linkmode_lpa_t (Petr Oros) [1691676] - [netdrv] phy: marvell: Rename mii_lpa_to_linkmode_lpa_t (Petr Oros) [1691676] - [netdrv] mii: Rename mii_stat1000_to_linkmode_lpa_t (Petr Oros) [1691676] - [include] mii: Fix autoneg in mii_lpa_to_linkmode_lpa_t() (Petr Oros) [1691676] - [netdrv] phy: remove unused code in phy_probe (Petr Oros) [1691676] - [netdrv] phy: check if advertising is zero using linkmode_empty (Petr Oros) [1691676] - [netdrv] phy: marvell: remove set but not used variable 'pause' (Petr Oros) [1691676] - [netdrv] phy: Add support for resolving 5G and 2.5G autoneg (Petr Oros) [1691676] - [netdrv] phy: Add more link modes to the settings table (Petr Oros) [1691676] - [netdrv] phy: Fixup kerneldoc markup. (Petr Oros) [1691676] - [netdrv] phy: Convert u32 phydev->lp_advertising to linkmode (Petr Oros) [1691676] - [netdrv] ethernet: Convert phydev advertize and supported from u32 to link mode (Petr Oros) [1691676] - [netdrv] bonding: Issue NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [netdrv] bonding: Give bond_set_dev_addr() a return value (Ivan Vecera) [1705509] - [netdrv] ipvlan: Issue NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [net] bridge: Handle NETDEV_PRE_CHANGEADDR from ports (Ivan Vecera) [1705509] - [net] bridge: Issue NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [net] dev: Issue NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [net] dev: Add NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [net] dev: Add extack argument to dev_set_mac_address() (Ivan Vecera) [1705509] - [netdrv] phy: phy driver features are mandatory (Petr Oros) [1691720] - [netdrv] phy: add missing phy driver features (Petr Oros) [1691720] - [netdrv] phy: Add missing features to PHY drivers (Petr Oros) [1691720] - [netdrv] phy: genphy_10g_driver: Avoid NULL pointer dereference (Petr Oros) [1691720] - [netdrv] phy: phy_support_sym_pause: Clear Asym Pause (Petr Oros) [1691720] - [netdrv] phy: Replace phy driver features u32 with link_mode bitmap (Petr Oros) [1691720] - [netdrv] ethernet: xgbe: expand PHY_GBIT_FEAUTRES (Petr Oros) [1691720] - [net] net: phy: Add limkmode equivalents to some of the MII ethtool helpers (Petr Oros) [1691720] - [netdrv] phy: Add helper for advertise to lcl value (Petr Oros) [1691720] - [net] phy: Add helper to convert MII ADV register to a linkmode (Petr Oros) [1691720] - [netdrv] phy: Add phydev_info() (Petr Oros) [1691720] - [netdrv] phy: Add phydev_warn() (Petr Oros) [1691720] - [netdrv] phy: Move linkmode helpers to somewhere public (Petr Oros) [1691720] - [netdrv] ethernet: dpaa: remove unused variables (Petr Oros) [1691720] - [netdrv] ravb: Disable Pause Advertisement (Petr Oros) [1691720] - [netdrv] ethernet: Add helper to determine if pause configuration is supported (Petr Oros) [1691720] - [netdrv] ethernet: Add helper for set_pauseparam for Pause (Petr Oros) [1691720] - [netdrv] ethernet: Add helper for set_pauseparam for Asym Pause (Petr Oros) [1691720] - [netdrv] ethernet: Add helper for MACs which support pause (Petr Oros) [1691720] - [netdrv] ethernet: Add helper for MACs which support asym pause (Petr Oros) [1691720] - [netdrv] ethernet: Add helper to remove a supported link mode (Petr Oros) [1691720] - [netdrv] ethernet: Fix up drivers masking pause support (Petr Oros) [1691720] - [netdrv] bcmgenet: Fix speed selection for reverse MII (Petr Oros) [1691720] - [netdrv] ethernet: Use phy_set_max_speed() to limit advertised speed (Petr Oros) [1691720] - [netdrv] phy: bcm63xx: Allow to be built with COMPILE_TEST (Petr Oros) [1691720] - [netdrv] phy: et1011c: Remove incorrect missing 1000 Half (Petr Oros) [1691720] - [netdrv] phy: ste10Xp: Remove wrong SUPPORTED_Pause (Petr Oros) [1691720] - [tools] selftests: net: ip_defrag: cover new IPv6 defrag behavior (Guillaume Nault) [1660282] - [tools] selftests: net: fix/improve ip_defrag selftest (Guillaume Nault) [1660282] - [tools] selftests: use posix-style redirection in ip_defrag.sh (Guillaume Nault) [1660282] - [tools] selftests: net: Clean up an unused variable (Guillaume Nault) [1660282] - [tools] selftests/net: add ipv6 tests to ip_defrag selftest (Guillaume Nault) [1660282] - [tools] selftests/net: add ip_defrag selftest (Guillaume Nault) [1660282] - [net] ip6: fix skb leak in ip6frag_expire_frag_queue() (Guillaume Nault) [1660282] - [net] IP6 defrag: use rbtrees in nf_conntrack_reasm.c (Guillaume Nault) [1660282] - [net] IP6 defrag: use rbtrees for IPv6 defrag (Guillaume Nault) [1660282] - [net] IP defrag: encapsulate rbtree defrag code into callable functions (Guillaume Nault) [1660282] - [net] ipv4: do not handle duplicate fragments as overlapping (Guillaume Nault) [1660282] - [net] ipv4: ipv6: netfilter: Adjust the frag mem limit when truesize changes (Guillaume Nault) [1660282] - [net] ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module (Guillaume Nault) [1660282] - [net] ipv6: fix typo in net/ipv6/reassembly.c (Guillaume Nault) [1660282] - [net] core: dev: Attach extack to NETDEV_PRE_UP (Ivan Vecera) [1705501] - [net] core: dev: Add call_netdevice_notifiers_extack() (Ivan Vecera) [1705501] - [net] core: dev: Add extack argument to __dev_change_flags() (Ivan Vecera) [1705501] - [net] core: dev: Add extack argument to dev_change_flags() (Ivan Vecera) [1705501] - [netdrv] ipvlan: ipvlan_set_port_mode(): Add an extack argument (Ivan Vecera) [1705501] - [netdrv] vrf: cycle_netdev(): Add an extack argument (Ivan Vecera) [1705501] - [net] net: core: dev: Add extack argument to dev_open() (Ivan Vecera) [1705501] - [net] vlan: conditional inclusion of FCoE hooks to match netdevice.h and bnx2x (Chris Leech) [1685894] - [net] Do not route unicast IP packets twice (Ivan Vecera) [1704923] - [net] skbuff: Rename 'offload_mr_fwd_mark' to 'offload_l3_fwd_mark' (Ivan Vecera) [1704923] - [net] devlink: Add 'fw_load_policy' generic parameter (Ivan Vecera) [1704902] - [net] bridge: Extend br_vlan_get_pvid() for bridge ports (Ivan Vecera) [1704863] - [net] ipv4: Notify about changes to ip_forward_update_priority (Ivan Vecera) [1704697] - [net] ipv4: Control SKB reprioritization after forwarding (Ivan Vecera) [1704697] - [net] dcb: Add priority-to-DSCP map getters (Ivan Vecera) [1704639] - [net] xsk: export xdp_get_umem_from_qid (Ivan Vecera) [1704606] - [net] net: Add lag.h, net_lag_port_dev_txable() (Ivan Vecera) [1704297] - [netdrv] team: Publish team_port_get_rcu() (Ivan Vecera) [1704297] - [net] sched: sch_api: set an error msg when qdisc_alloc_handle() fails (Ivan Vecera) [1677094] - [net] ethtool: Remove unnecessary null check in ethtool_rx_flow_rule_create (Ivan Vecera) [1691738] - [net] flow_offload: fix block stats (Ivan Vecera) [1691738] - [net] sched: flower: only return error from hw offload if skip_sw (Ivan Vecera) [1691738] - [net] flow_offload: Fix flow action infrastructure (Ivan Vecera) [1691738] - [net] ethtool: add ethtool_rx_flow_spec to flow_rule structure translator (Ivan Vecera) [1691738] - [net] flow_offload: add wake-up-on-lan and queue to flow_action (Ivan Vecera) [1691738] - [net] flow_offload: add statistics retrieval infrastructure and use it (Ivan Vecera) [1691738] - [net] cls_api: add translator to flow_action representation (Ivan Vecera) [1691738] - [net] flow_offload: add flow action infrastructure (Ivan Vecera) [1691738] - [net] flow_offload: add flow_rule and flow_match structures and use them (Ivan Vecera) [1691738] - [net] netfilter: ipv6: Don't preserve original oif for loopback address (Florian Westphal) [1702813] - [net] netfilter: ipv6: Preserve link scope traffic original oif (Florian Westphal) [1702813] - [net] sctp: implement memory accounting on rx path (Xin Long) [1665243] {CVE-2019-3874} - [net] sctp: implement memory accounting on tx path (Xin Long) [1665243] {CVE-2019-3874} - [net] openvswitch: fix flow actions reallocation (Eelco Chaudron) [1700468] - [net] openvswitch: fix missing checks for nla_nest_start (Eelco Chaudron) [1700468] - [net] openvswitch: fix a NULL pointer dereference (Eelco Chaudron) [1700468] - [net] openvswitch: meter: Use struct_size() in kzalloc() (Eelco Chaudron) [1700468] - [net] openvswitch: Fix IPv6 later frags parsing (Eelco Chaudron) [1700468] - [net] openvswitch: fix spelling mistake "execeeds" -> "exceeds" (Eelco Chaudron) [1700468] - [net] openvswitch: remove BUG_ON from get_dpdev (Eelco Chaudron) [1700468] - [net] openvswitch: fix linking without CONFIG_NF_CONNTRACK_LABELS (Eelco Chaudron) [1700468] - [net] revert "openvswitch: Fix template leak in error cases." (Eelco Chaudron) [1700468] - [net] openvswitch: Use correct reply values in datapath and vport ops (Eelco Chaudron) [1700468] - [net] ovs: fix return type of ndo_start_xmit function (Eelco Chaudron) [1700468] - [net] openvswitch: Derive IP protocol number for IPv6 later frags (Eelco Chaudron) [1700468] - [net] openvswitch: kernel datapath clone action (Eelco Chaudron) [1700468] - [net] openvswitch: Avoid OOB read when parsing flow nlattrs (Eelco Chaudron) [1700468] - [net] net/vlan: remove unused #define HAVE_VLAN_GET_TAG (Ivan Vecera) [1700369] - [net] vlan: include the shift in skb_vlan_tag_get_prio() (Ivan Vecera) [1700369] - [net] vlan: introduce __vlan_hwaccel_copy_tag() helper (Ivan Vecera) [1700369] - [net] vlan: introduce __vlan_hwaccel_clear_tag() helper (Ivan Vecera) [1700369] - [net] sctp: initialize _pad of sockaddr_in before copying to user memory (Xin Long) [1699076] - [net] sctp: use memdup_user instead of vmemdup_user (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_STREAM_SCHEDULER sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_EVENT sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_ENABLE_STREAM_RESET sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DEFAULT_PRINFO sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_AUTH_DEACTIVATE_KEY sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_AUTH_DELETE_KEY sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_AUTH_ACTIVE_KEY sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_AUTH_KEY sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_MAX_BURST sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_CONTEXT sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DEFAULT_SNDINFO sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DELAYED_SACK sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DEFAULT_SEND_PARAM sockopt (Xin Long) [1699076] - [net] sctp: not copy sctp_sock pd_lobby in sctp_copy_descendant (Xin Long) [1699076] - [net] sctp: get sctphdr by offset in sctp_compute_cksum (Xin Long) [1699076] - [net] sctp: call sctp_auth_init_hmacs() in sctp_sock_migrate() (Xin Long) [1699076] - [net] sctp: move up sctp_auth_init_hmacs() in sctp_endpoint_init() (Xin Long) [1699076] - [net] sctp: sctp_sock_migrate() returns error if sctp_bind_addr_dup() fails (Xin Long) [1699076] - [net] sctp: remove sched init from sctp_stream_init (Xin Long) [1699076] - [net] sctp: call iov_iter_revert() after sending ABORT (Xin Long) [1699076] - [net] ipvs: get sctphdr by sctphoff in sctp_csum_check (Xin Long) [1699076] - [net] sctp: chunk.c: correct format string for size_t in printk (Xin Long) [1699076] - [net] sctp: don't compare hb_timer expire date before starting it (Xin Long) [1699076] - [net] doc: sctp: Merge and clean up rst files (Xin Long) [1699076] - [net] sctp: set stream ext to NULL after freeing it in sctp_stream_outq_migrate (Xin Long) [1699076] - [net] sctp: add SCTP_FUTURE_ASOC and SCTP_CURRENT_ASSOC for SCTP_STREAM_SCHEDULER sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_EVENT sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_ENABLE_STREAM_RESET sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_DEFAULT_PRINFO sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_AUTH_DEACTIVATE_KEY sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_AUTH_DELETE_KEY sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_AUTH_ACTIVE_KEY sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_AUTH_KEY sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_MAX_BURST sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_CONTEXT sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_DEFAULT_SNDINFO sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_DEFAULT_SEND_PARAM sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_DELAYED_SACK sockopt (Xin Long) [1699076] - [net] sctp: add SCTP_CURRENT_ASSOC for SCTP_STREAM_SCHEDULER_VALUE sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_INTERLEAVING_SUPPORTED sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_RECONFIG_SUPPORTED sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_PR_SUPPORTED sockopt (Xin Long) [1699076] - [net] sctp: add SCTP_FUTURE_ASSOC for SCTP_PEER_ADDR_THLDS sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_LOCAL_AUTH_CHUNKS sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_MAXSEG sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_ASSOCINFO sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_RTOINFO sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_PEER_ADDR_PARAMS sockopt (Xin Long) [1699076] - [net] sctp: introduce SCTP_FUTURE/CURRENT/ALL_ASSOC (Xin Long) [1699076] - [net] sctp: set flow sport from saddr only when it's 0 (Xin Long) [1699076] - [net] sctp: set chunk transport correctly when it's a new asoc (Xin Long) [1699076] - [net] sctp: improve the events for sctp stream adding (Xin Long) [1699076] - [net] sctp: improve the events for sctp stream reset (Xin Long) [1699076] - [net] sctp: allocate sctp_sockaddr_entry with kzalloc (Xin Long) [1699076] - [net] sctp: initialize sin6_flowinfo for ipv6 addrs in sctp_inet6addr_event (Xin Long) [1699076] - [net] sctp: frag_point sanity check (Xin Long) [1699076] - [net] sctp: kfree_rcu asoc (Xin Long) [1699076] - [net] sctp: update frag_point when stream_interleave is set (Xin Long) [1699076] - [net] sctp: add sockopt SCTP_EVENT (Xin Long) [1699076] - [net] sctp: rename enum sctp_event to sctp_event_type (Xin Long) [1699076] - [net] sctp: add subscribe per asoc (Xin Long) [1699076] - [net] sctp: define subscribe in sctp_sock as __u16 (Xin Long) [1699076] - [net] sctp: process sk_reuseport in sctp_get_port_local (Xin Long) [1699076] - [net] sctp: add sock_reuseport for the sock in __sctp_hash_endpoint (Xin Long) [1699076] - [net] sctp: do reuseport_select_sock in __sctp_rcv_lookup_endpoint (Xin Long) [1699076] - [net] sctp: Fix SKB list traversal in sctp_intl_store_ordered(). (Xin Long) [1699076] - [net] sctp: Fix SKB list traversal in sctp_intl_store_reasm(). (Xin Long) [1699076] - [net] sctp: define SCTP_SS_DEFAULT for Stream schedulers (Xin Long) [1699076] - [net] sctp: clear the transport of some out_chunk_list chunks in sctp_assoc_rm_peer (Xin Long) [1699076] - [net] sctp: use sk_wmem_queued to check for writable space (Xin Long) [1699076] - [net] sctp: count both sk and asoc sndbuf with skb truesize and sctp_chunk size (Xin Long) [1699076] - [net] sctp: use the pmtu from the icmp packet to update transport pathmtu (Xin Long) [1699076] - [net] sctp: fix fall-through annotation (Xin Long) [1699076] - [net] sctp: Use skb_queue_is_first(). (Xin Long) [1699076] - [net] sctp: not traverse asoc trans list if non-ipv6 trans exists for ipv6_flowlabel (Xin Long) [1699076] - [net] sctp: fix invalid reference to the index variable of the iterator (Xin Long) [1699076] - [net] sctp: remove useless start_fail from sctp_ht_iter in proc (Xin Long) [1699076] - [net] sctp: Make wrappers for accessing in/out streams (Xin Long) [1699076] - [net] sctp: whitespace fixes (Xin Long) [1699076] - [net] sctp: check for ipv6_pinfo legal sndflow with flowlabel in sctp_v6_get_dst (Xin Long) [1699076] - [net] sctp: add support for setting flowlabel when adding a transport (Xin Long) [1699076] - [net] sctp: add spp_ipv6_flowlabel and spp_dscp for sctp_paddrparams (Xin Long) [1699076] - [net] sctp: add support for dscp and flowlabel per transport (Xin Long) [1699076] - [net] ipv4: add __ip_queue_xmit() that supports tos param (Xin Long) [1699076] - [net] sctp: add support for SCTP_REUSE_PORT sockopt (Xin Long) [1699076] - [netdrv] pptp: dst_release sk_dst_cache in pptp_sock_destruct (Xin Long) [1671606] - [net] datagram: fix unbounded loop in __skb_try_recv_datagram() (Paolo Abeni) [1692379] - [net] ipv6: route: purge exception on removal (Paolo Abeni) [1669049] - [net] vsock: cope with memory allocation failure at socket creation time (Paolo Abeni) [1671619] - [net] ptp: fix Spectre v1 vulnerability (Hangbin Liu) [1664624]- [infiniband] RDMA/bnxt_re: fix or'ing of data into an uninitialized struct member (Selvin Xavier) [1664798] - [netdrv] RDMA/bnxt_en: Enable RDMA driver support for 57500 chip (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Update kernel user abi to pass chip context (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Add extended psn structure for 57500 adapters (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Enable GSI QP support for 57500 series (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Skip backing store allocation for 57500 series (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Add 64bit doorbells for 57500 series (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Add chip context to identify 57500 series (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: fix a size calculation (Selvin Xavier) [1664798] - [infiniband] infiniband: bnxt_re: qplib: Check the return value of send_message (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Increase depth of control path command queue (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Query HWRM Interface version from FW (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Make use of destroy AH sleepable flag (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Make use of create AH sleepable flag (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Avoid accessing the device structure after it is freed (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix system hang when registration with L2 driver fails (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Avoid resource leak in case the NQ registration fails (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Wait for delayed work to finish before device removal (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Limit max_pkey to 16 bit value (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix qp async event reporting (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Report out of sequence hw counters (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Expose rx discards and drop counters (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Prevent driver crash due to NULL pointer in error message print (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Drop L2 async events silently (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Avoid accessing nq->bar_reg_iomem in failure case (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Avoid NULL check after accessing the pointer (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Remove the unnecessary version macro definition (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix recursive lock warning in debug kernel (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Add missing spin lock initialization (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: QPLIB: Add and use #define dev_fmt(fmt) "QPLIB: " fmt (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Modify a fall-through annotation (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix a bunch of off by one bugs in qplib_fp.c (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix a couple off by one bugs (Selvin Xavier) [1664798] - [powerpc] powerpc/fadump: Do not allow hot-remove memory from fadump reserved area. (Gustavo Duarte) [1524686] - [powerpc] powerpc/fadump: Throw proper error message on fadump registration failure (Gustavo Duarte) [1524686] - [powerpc] powerpc/fadump: Reservationless firmware assisted dump (Gustavo Duarte) [1524686] - [infiniband] IB/hfi1: Fix WQ_MEM_RECLAIM warning (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Implement CCA for TID RDMA protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove WARN_ON when freeing expected receive groups (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Unify the software PSN check for TID RDMA READ/WRITE (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to read next expected psn from hardware flow (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Delay the release of destination mr for TID RDMA WRITE DATA (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Do not flush send queue in the TID RDMA second leg (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Fix the allocation of RSM table (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Eliminate opcode tests on mr deref (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Clear the IOWAIT pending bits when QP is put into error state (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Failed to drain send queue when QP is put into error state (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add missing break in switch statement (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Fix a build warning for TID RDMA READ (Alex Estrin) [1660618] - [infiniband] RDMA/rdmavt: Adapt to handle non-uniform sizes on umem SGEs (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Prioritize the sending of ACK packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for TID RDMA WRITE protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Enable TID RDMA WRITE protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add interlock between TID RDMA WRITE and other requests (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add TID RDMA WRITE functionality into RDMA verbs (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add the dual leg code (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add the TID second leg ACK packet builder (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add the TID second leg send packet builder (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Resend the TID RDMA WRITE DATA packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to receive TID RDMA RESYNC packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA RESYNC packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add TID RDMA retry timer (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to receive TID RDMA ACK packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA ACK packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to receive TID RDMA WRITE DATA packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA WRITE DATA packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to receive TID RDMA WRITE response (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add TID resource timer (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA WRITE response (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions to receive TID RDMA WRITE request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add an s_acked_ack_queue pointer (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Allow for extra entries in QP's s_ack_queue (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Build TID RDMA WRITE request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for TID RDMA READ protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Enable TID RDMA READ protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add interlock between a TID RDMA request and other requests (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Integrate TID RDMA READ protocol into RC protocol (Alex Estrin) [1660618] - [include] IB/hfi1: Increment the retry timeout value for TID RDMA READ request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions for restarting TID RDMA READ request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add TID RDMA handlers (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions to receive TID RDMA READ response (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA READ response (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions to receive TID RDMA READ request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Set PbcInsertHcrc for TID RDMA packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions to build TID RDMA READ request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for flow and TID management functions (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add the counter n_tidwait (Alex Estrin) [1660618] - [infiniband] IB/hfi1: TID RDMA RcvArray programming and TID allocation (Alex Estrin) [1660618] - [infiniband] IB/hfi1: TID RDMA flow allocation (Alex Estrin) [1660618] - [infiniband] IB/hfi: Move RC functions into a header file (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for OPFN (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Integrate OPFN into RC transactions (Alex Estrin) [1660618] - [infiniband] IB/hfi1, IB/rdmavt: Allow for extending of QP's s_ack_queue (Alex Estrin) [1660618] - [infiniband] IB/hfi1: OPFN interface (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add OPFN helper functions for TID RDMA feature (Alex Estrin) [1660618] - [infiniband] IB/hfi1: OPFN support discovery (Alex Estrin) [1660618] - [infiniband] IB/{hfi1, qib, rvt} Cleanup open coded sge usage (Alex Estrin) [1660618] - [infiniband] IB/{hfi1,qib}: Cleanup open coded sge sizing (Alex Estrin) [1660618] - [infiniband] RDMA/qib: Use GUP longterm for PSM page pining (Alex Estrin) [1660618] - [infiniband] infiniband: qib: no need to check return value of debugfs_create functions (Alex Estrin) [1660618] - [infiniband] infiniband: hfi1: no need to check return value of debugfs_create functions (Alex Estrin) [1660618] - [infiniband] infiniband: hfi1: drop crazy DEBUGFS_SEQ_FILE_CREATE() macro (Alex Estrin) [1660618] - [infiniband] IB/{hfi1, qib}: Fix WC.byte_len calculation for UD_SEND_WITH_IMM (Alex Estrin) [1660618] - [infiniband] IB/qib: Fix an error code in qib_sdma_verbs_send() (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Reduce lock contention on iowait_lock for sdma and pio (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Close VNIC sdma_progress sleep window (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Allow the driver to initialize QP priv struct (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add OPFN and TID RDMA capability bits (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Unreserve a reserved request when it is completed (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Consider LMC in 16B/bypass ingress packet check (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Limit VNIC use of SDMA engines to the available count (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Correctly process FECN and BECN in packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Ignore LNI errors before DC8051 transitions to Polling state (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Dump pio info for non-user send contexts (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Fix a latency issue for small messages (Alex Estrin) [1660618] - [infiniband] RDMA/qib: Remove all occurrences of BUG_ON() (Alex Estrin) [1660618] - [infiniband] IB/qib: fix spelling mistake "colescing" -> "coalescing" (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Use VL15 for SM packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add mtu check for operational data VLs (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for iowait (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Prepare resource waits for dual leg (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Error path MAD response size is incorrect (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Move UnsupportedVL bits definitions to the correct header (Alex Estrin) [1660618] - [infiniband] IB/hfi1: set_intr_bits uses incorrect source for register modification (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Missing return value in error path for user sdma (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Right size user_sdma sequence numbers and related variables (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Move URGENT IRQ enable to hfi1_rcvctrl() (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Rework the IRQ API to be more flexible (Alex Estrin) [1660618] - [infiniband] IB/hfi1: PCIe bus width retry (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Make the MSIx resource allocation a bit more flexible (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Prepare for new HFI1 MSIx API (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Get the hfi1_devdata structure as early as possible (Alex Estrin) [1660618] - [infiniband] IB/hfi1: tune_pcie_caps is arbitrarily placed, poorly (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove duplicated defines (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Rework file list in Makefile (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove incorrect call to do_interrupt callback (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Set in_use_ctxts bits for user ctxts only (Alex Estrin) [1660618] - [include] include/rdma/opa_addr.h: Fix an endianness issue (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove INTx support and simplify MSIx usage (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Reorg ctxtdata and rightsize fields (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove caches of chip CSRs (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove unused/writeonly devdata fields (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Rightsize ctxt_eager_bufs fields (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove rcvctrl from ctxtdata (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove rcvhdrq_size (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove rcvhdrsize (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Move rhf_offset from devdata to ctxtdata (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Move normal functions from hfi1_devdata to const array (Alex Estrin) [1660618] - [infiniband] scsi: RDMA/srpt: Fix handling of TMF submission failure (Jonathan Toppins) [1685313] - [infiniband] scsi: RDMA/srpt: Fix a credit leak for aborted commands (Jonathan Toppins) [1685313] - [net] xprtrdma: Reduce the doorbell rate (Receive) (Jonathan Toppins) [1685313] - [net] xprtrdma: Fix sparse warnings (Jonathan Toppins) [1685313] - [net] xprtrdma: Fix helper that drains the transport (Jonathan Toppins) [1685313] - [netdrv] enic: fix build warning without CONFIG_CPUMASK_OFFSTACK (Jonathan Toppins) [1685313] - [infiniband] IB/usnic: Fix out of bounds index check in query pkey (Jonathan Toppins) [1685313] - [infiniband] IB/usnic: Remove stub functions (Jonathan Toppins) [1685313] - [infiniband] rdma: fix build errors on s390 and MIPS due to bad ZERO_PAGE use (Jonathan Toppins) [1685313] - [infiniband] RDMA/ucontext: Fix regression with disassociate (Jonathan Toppins) [1685313] - [infiniband] IB/iser: Fix dma_nents type definition (Jonathan Toppins) [1685313] - [infiniband] IB/iser: Pass the correct number of entries for dma mapped SGL (Jonathan Toppins) [1685313] - [infiniband] RDMA/rxe: Use for_each_sg_page iterator on umem SGL (Jonathan Toppins) [1685313] - [infiniband] RDMA/vmw_pvrdma: Fix memory leak on pvrdma_pci_remove (Jonathan Toppins) [1685313] - [infiniband] RDMA/vmw_pvrdma: Support upto 64-bit PFNs (Jonathan Toppins) [1683475] - [include] IB/mlx5: Remove dead code (Jonathan Toppins) [1685313] - [infiniband] IB/mlx5: Ranges in implicit ODP MR inherit its write access (Jonathan Toppins) [1685313] - [infiniband] IB/rdmavt: Fix frwr memory registration (Jonathan Toppins) [1685313] - [infiniband] IB/rdmavt: Add wc_flags and wc_immdata to cq entry trace (Jonathan Toppins) [1685313] - [infiniband] IB/rdmavt: Fix concurrency panics in QP post_send and modify to error (Jonathan Toppins) [1685313] - [infiniband] IB/rdmavt: Fix loopback send with invalidate ordering (Jonathan Toppins) [1685313] - [infiniband] IB/hfi1: Add limit test for RC/UC send via loopback (Jonathan Toppins) [1685313] - [infiniband] RDMA/iwcm: Fix string truncation error (Jonathan Toppins) [1685313] - [infiniband] RDMA/iwcm: add tos_set bool to iw_cm struct (Jonathan Toppins) [1685313] - [infiniband] RDMA/cma: listening device cm_ids should inherit tos (Jonathan Toppins) [1685313] - [infiniband] RDMA/cma: Rollback source IP address if failing to acquire device (Jonathan Toppins) [1685313] - [infiniband] RDMA/device: Call ib_cache_release_one() only from ib_device_release() (Jonathan Toppins) [1685313] - [infiniband] RDMA/device: Ensure that security memory is always freed (Jonathan Toppins) [1685313] - [infiniband] RDMA/uverbs: Fix an error flow in ib_uverbs_poll_cq (Jonathan Toppins) [1685313] - [infiniband] IB/ipoib: Make ipoib_intercept_dev_id_attr() static (Jonathan Toppins) [1685313] - [infiniband] RDMA: Provide safe ib_alloc_device() function (Jonathan Toppins) [1685313] - [infiniband] IB/core, ipoib: Do not overreact to SM LID change event (Jonathan Toppins) [1685313] - [infiniband] IB/core: Abort page fault handler silently during owning process exit (Jonathan Toppins) [1685313] - [infiniband] RDMA/core: Verify that memory window type is legal (Jonathan Toppins) [1685313] - [infiniband] IB/core: Don't register each MAD agent for LSM notifier (Jonathan Toppins) [1711086 1685313] - [include] IB/core: Eliminate a hole in MAD agent struct (Jonathan Toppins) [1711086 1685313] - [infiniband] IB/core: Fix potential memory leak while creating MAD agents (Jonathan Toppins) [1711086 1685313] - [infiniband] IB/core: Unregister notifier before freeing MAD security (Jonathan Toppins) [1711086 1685313] - [infiniband] IB/core: Destroy QP if XRC QP fails (Jonathan Toppins) [1685313] - [infiniband] IB/core: Declare local functions 'static' (Jonathan Toppins) [1685313] - [infiniband] RDMA/i40iw: Make sure to initialize ib_device_ops (Jonathan Toppins) [1685313] - [rpmspec] Update the kernel rpm package description to mention backports/bug fixes ("Herton R. Krzesinski") [1701064] - [netdrv] bonding: fix arp_validate toggling in active-backup mode (Jarod Wilson) [1654214] - [scsi] scsi: bnx2i: fix indentation issue, remove a tab (Maurizio Lombardi) [1665626] - [scsi] scsi: bnx2i: remove set but not used variable 'cid_num' (Maurizio Lombardi) [1665626] - [scsi] scsi: bnx2i: add error handling for ioremap_nocache (Maurizio Lombardi) [1665626] - [wireless] iwlwifi: mvm: Send LQ command as async when necessary (Stanislaw Gruszka) [1687265] - [scsi] scsi: bnx2fc: Fix error handling in probe() (Maurizio Lombardi) [1665625] - [scsi] scsi: bnx2fc: Fix NULL dereference in error handling (Maurizio Lombardi) [1665625] - [scsi] scsi: bnx2fc: Remove set but not used variable 'oxid' (Maurizio Lombardi) [1665625] - [scsi] bnx2fc_fcoe: Use skb_queue_walk_safe(). (Maurizio Lombardi) [1665625] - [netdrv] hv_netvsc: Fix rndis_per_packet_info internal field initialization (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Add handler for LRO setting change (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Add support for LRO/RSC in the vSwitch (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Fix unwanted wakeup after tx_disable (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Fix IP header checksum for coalesced packets (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: fix typos in code comments (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Fix hash key value reset after other ops (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Refactor assignments of struct netvsc_device_info (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Fix ethtool change hash key error (Mohammed Gamal) [1691375] - [netdrv] ice: Disable sniffing VF traffic on PF (Kamal Heib) [1659176] - [netdrv] ice: Use more efficient structures (Kamal Heib) [1659176] - [netdrv] ice: Use bitfields where possible (Kamal Heib) [1659176] - [netdrv] ice: Add function to program ethertype based filter rule on VSIs (Kamal Heib) [1659176] - [netdrv] ice: Separate if conditions for ice_set_features() (Kamal Heib) [1659176] - [netdrv] ice: Remove __always_unused attribute (Kamal Heib) [1659176] - [netdrv] ice: Suppress false-positive style issues reported by static analyzer (Kamal Heib) [1659176] - [netdrv] ice: Refactor getting/setting coalesce (Kamal Heib) [1659176] - [netdrv] ice: Always free/allocate q_vectors (Kamal Heib) [1659176] - [netdrv] ice: Do not unnecessarily initialize local variable (Kamal Heib) [1659176] - [netdrv] ice: Add more validation in ice_vc_cfg_irq_map_msg (Kamal Heib) [1659176] - [netdrv] ice: Don't remove VLAN filters that were never programmed (Kamal Heib) [1659176] - [netdrv] ice: Preserve VLAN Rx stripping settings (Kamal Heib) [1659176] - [netdrv] ice: Fix for allowing too many MDD events on VF (Kamal Heib) [1659176] - [netdrv] ice: Use pf instead of vsi-back (Kamal Heib) [1659176] - [netdrv] ice: Use dev_err when ice_cfg_vsi_lan fails (Kamal Heib) [1659176] - [netdrv] ice: Refactor link event flow (Kamal Heib) [1659176] - [netdrv] ice: Add missing PHY type to link settings (Kamal Heib) [1659176] - [netdrv] ice: Add reg_idx variable in ice_q_vector structure (Kamal Heib) [1659176] - [netdrv] ice: Remove runtime change of PFINT_OICR_ENA register (Kamal Heib) [1659176] - [netdrv] ice: Fix issue when adding more than allowed VLANs (Kamal Heib) [1659176] - [netdrv] ice: Remove unnecessary wait when disabling/enabling Rx queues (Kamal Heib) [1659176] - [netdrv] ice: Add ability to update rx-usecs-high (Kamal Heib) [1659176] - [netdrv] ice: Add 52 byte RSS hash key support (Kamal Heib) [1659176] - [netdrv] ice: Use ice_for_each_q_vector macro where possible (Kamal Heib) [1659176] - [netdrv] ice: Validate ring existence and its q_vector per VSI (Kamal Heib) [1659176] - [netdrv] ice: Reduce scope of variable in ice_vsi_cfg_rxqs (Kamal Heib) [1659176] - [netdrv] ice: Resolve static analysis reported issue (Kamal Heib) [1659176] - [netdrv] ice: Return configuration error without queue to disable (Kamal Heib) [1659176] - [netdrv] ice: Create framework for VSI queue context (Kamal Heib) [1659176] - [netdrv] ice: Calculate ITR increment based on direct calculation (Kamal Heib) [1700995 1659176] - [netdrv] ice: Bump driver version (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code to control FW LLDP and DCBX (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB rebuild (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code to get DCB related statistics (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add priority information into VLAN header (Kamal Heib) [1700995 1659176] - [netdrv] ice: Update rings based on TC information (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code to process LLDP MIB change events (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB initialization part 4/4 (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB initialization part 3/4 (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB initialization part 2/4 (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB initialization part 1/4 (Kamal Heib) [1700995 1659176] - [netdrv] ice: Bump version (Kamal Heib) [1700995 1659176] - [netdrv] ice: Fix incorrect use of abbreviations (Kamal Heib) [1700995 1659176] - [netdrv] ice: Fix typos in code comments (Kamal Heib) [1700995 1659176] - [netdrv] ice: Remove "2 BITS" comment (Kamal Heib) [1659176] - [netdrv] ice: Update comment regarding the ITR_GRAN_S (Kamal Heib) [1659176] - [netdrv] ice: Update function header for __ice_vsi_get_qs (Kamal Heib) [1659176] - [netdrv] ice: Remove unnecessary braces (Kamal Heib) [1659176] - [netdrv] ice: Remove unused function prototype (Kamal Heib) [1659176] - [netdrv] ice: Add missing case in print_link_msg for printing flow control (Kamal Heib) [1659176] - [netdrv] ice: Audit hotpath structures with pahole (Kamal Heib) [1659176] - [netdrv] ice: Do not bail out when filter already exists (Kamal Heib) [1659176] - [netdrv] ice: Fix issue with VF attempt to delete default MAC address (Kamal Heib) [1659176] - [netdrv] ice: enable VF admin queue interrupts (Kamal Heib) [1659176] - [netdrv] ice: Fix for adaptive interrupt moderation (Kamal Heib) [1659176] - [netdrv] ice: Implement pci_error_handler ops (Kamal Heib) [1659176] - [netdrv] ice: Put __ICE_PREPARED_FOR_RESET check in ice_prepare_for_reset (Kamal Heib) [1659176] - [netdrv] ice: use virt channel status codes (Kamal Heib) [1659176] - [netdrv] ice: Remove unnecessary newlines from log messages (Kamal Heib) [1659176] - [netdrv] ice: Create a generic name for the ice_rx_flg64_bits structure (Kamal Heib) [1659176] - [netdrv] ice: add and use new ice_for_each_traffic_class() macro (Kamal Heib) [1659176] - [netdrv] ice: change VF VSI tc info along with num_queues (Kamal Heib) [1659176] - [netdrv] ice: Prevent unintended multiple chain resets (Kamal Heib) [1659176] - [netdrv] ice: map Rx buffer pages with DMA attributes (Kamal Heib) [1659176] - [netdrv] ice: Limit the ice_add_rx_frag to frag addition (Kamal Heib) [1659176] - [netdrv] ice: Gather the rx buf clean-up logic for better reuse (Kamal Heib) [1659176] - [netdrv] ice: Introduce bulk update for page count (Kamal Heib) [1659176] - [netdrv] ice: Get rid of ice_pull_tail (Kamal Heib) [1659176] - [netdrv] ice: Pull out page reuse checks onto separate function (Kamal Heib) [1659176] - [netdrv] ice: Retrieve rx_buf in separate function (Kamal Heib) [1659176] - [netdrv] ice: Enable link events over the ARQ (Kamal Heib) [1659176] - [netdrv] ice: use irq_num var in ice_vsi_req_irq_msix (Kamal Heib) [1659176] - [netdrv] ice: Restore VLAN switch rule if port VLAN existed before (Kamal Heib) [1659176] - [netdrv] ice: update VSI config dynamically (Kamal Heib) [1659176] - [netdrv] ice: Get VF VSI instances directly via PF (Kamal Heib) [1659176] - [netdrv] ice: Don't let VF know that it is untrusted (Kamal Heib) [1659176] - [netdrv] ice: Set LAN_EN for all directional rules (Kamal Heib) [1659176] - [netdrv] ice: Do not set LB_EN for prune switch rules (Kamal Heib) [1659176] - [netdrv] ice: Enable LAN_EN for the right recipes (Kamal Heib) [1659176] - [netdrv] ice: Add support for PF/VF promiscuous mode (Kamal Heib) [1659176] - [netdrv] ice: code cleanup in ice_sched.c (Kamal Heib) [1659176] - [netdrv] ice: Remove unused vsi_id field (Kamal Heib) [1659176] - [netdrv] ice: fix some function prototype and signature style issues (Kamal Heib) [1659176] - [netdrv] ice: fix the divide by zero issue (Kamal Heib) [1659176] - [netdrv] ice: Fix issue reconfiguring VF queues (Kamal Heib) [1659176] - [netdrv] ice: Remove unused function prototype (Kamal Heib) [1659176] - [netdrv] ice: fix static analysis warnings (Kamal Heib) [1659176] - [netdrv] ice: Fix issue reclaiming resources back to the pool after reset (Kamal Heib) [1659176] - [netdrv] ice: Enable MAC anti-spoof by default (Kamal Heib) [1659176] - [netdrv] ice: Determine descriptor count and ring size based on PAGE_SIZE (Kamal Heib) [1659176] - [netdrv] ice: Reset all VFs with VFLR during SR-IOV init flow (Kamal Heib) [1659176] - [netdrv] ice: Get resources per function (Kamal Heib) [1659176] - [netdrv] ice: Implement flow to reset VFs with PFR and other resets (Kamal Heib) [1659176] - [netdrv] ice: configure GLINT_ITR to always have an ITR gran of 2 (Kamal Heib) [1659176] - [netdrv] ice: use ice_for_each_vsi macro when possible (Kamal Heib) [1659176] - [netdrv] ice : Ensure only valid bits are set in ice_aq_set_phy_cfg (Kamal Heib) [1659176] - [netdrv] ice: remove redundant variable and if condition (Kamal Heib) [1659176] - [netdrv] ice: avoid multiple unnecessary de-references in probe (Kamal Heib) [1659176] - [netdrv] ice: Fix issue with VF reset and multiple VFs support on PFs (Kamal Heib) [1659176] - [netdrv] ice: Fix broadcast traffic in port VLAN mode (Kamal Heib) [1659176] - [netdrv] ice: fix overlong string, update stats output (Kamal Heib) [1659176] - [netdrv] ice: Fix for FC get rx/tx pause params (Kamal Heib) [1659176] - [netdrv] ice: use absolute vector ID for VFs (Kamal Heib) [1659176] - [netdrv] ice: check for a leaf node presence (Kamal Heib) [1659176] - [netdrv] ice: flush Tx pipe on disable queue timeout (Kamal Heib) [1659176] - [netdrv] ice: clear VF ARQLEN register on reset (Kamal Heib) [1659176] - [netdrv] ice: don't spam VFs with link messages (Kamal Heib) [1659176] - [netdrv] ice: only use the VF for ICE_VSI_VF in ice_vsi_release (Kamal Heib) [1659176] - [netdrv] ice: fix numeric overflow warning (Kamal Heib) [1659176] - [netdrv] ice: fix issue where host reboots on unload when iommu=on (Kamal Heib) [1659176] - [netdrv] ice: fix ice_remove_rule_internal vsi_list handling (Kamal Heib) [1659176] - [netdrv] ice: fix stack hogs from struct ice_vsi_ctx structures (Kamal Heib) [1659176] - [netdrv] ice: sizeof() should be avoided (Kamal Heib) [1659176] - [netdrv] ice: Fix added in VSI supported nodes calc (Kamal Heib) [1659176] - [netdrv] ice: Fix the calculation of ICE_MAX_MTU (Kamal Heib) [1659176] - [netdrv] ice: Mark extack argument as __always_unused (Kamal Heib) [1659176] - [netdrv] ice: add const qualifier to mac_addr parameter (Kamal Heib) [1659176] - [netdrv] ice: Add support for new PHY types (Kamal Heib) [1659176] - [netdrv] ice: Offload SCTP checksum (Kamal Heib) [1659176] - [netdrv] ice: Allow for software timestamping (Kamal Heib) [1659176] - [netdrv] ice: Implement getting and setting ethtool coalesce (Kamal Heib) [1659176] - [netdrv] ice: Add support for adaptive interrupt moderation (Kamal Heib) [1659176] - [netdrv] ice: Move aggregator list into ice_hw instance (Kamal Heib) [1659176] - [netdrv] ice: Rework queue management code for reuse (Kamal Heib) [1659176] - [netdrv] ice: Add ethtool private flag to make forcing link down optional (Kamal Heib) [1659176] - [netdrv] ice: Set physical link up/down when an interface is set up/down (Kamal Heib) [1659176] - [netdrv] ice: Implement support for normal get_eeprom[_len] ethtool ops (Kamal Heib) [1659176] - [netdrv] ice: Add ethtool set_phys_id handler (Kamal Heib) [1659176] - [netdrv] ice: Configure RSS LUT and HASH KEY in rebuild path (Kamal Heib) [1659176] - [netdrv] ice: Refactor a few Tx scheduler functions (Kamal Heib) [1659176] - [netdrv] ice: Fix unused variable build warning (Kamal Heib) [1659176] - [netdrv] ice: Do not enable NAPI on q_vectors that have no rings (Kamal Heib) [1659176] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Kamal Heib) [1659176] - [netdrv] ice: Fix possible NULL pointer de-reference (Kamal Heib) [1659176] - [netdrv] ice: Use Tx|Rx in comments (Kamal Heib) [1659176] - [netdrv] ice: Cosmetic formatting changes (Kamal Heib) [1659176] - [netdrv] ice: Cleanup short function signatures (Kamal Heib) [1659176] - [netdrv] ice: Cleanup ice_tx_timeout() (Kamal Heib) [1659176] - [netdrv] ice: Fix return value from NAPI poll (Kamal Heib) [1659176] - [netdrv] ice: Constify global structures that can/should be (Kamal Heib) [1659176] - [netdrv] ice: Do not set LAN_EN for MAC-VLAN filters (Kamal Heib) [1659176] - [netdrv] ice: Pass the return value of ice_init_def_sw_recp() (Kamal Heib) [1659176] - [netdrv] ice: Cleanup duplicate control queue code (Kamal Heib) [1659176] - [netdrv] ice: Remove ICE_MAX_TXQ_PER_TXQG check when configuring Tx queue (Kamal Heib) [1659176] - [netdrv] ice: Destroy scheduler tree in reset path (Kamal Heib) [1659176] - [netdrv] ice: Fix to make VLAN priority tagged traffic to appear on all TCs (Kamal Heib) [1659176] - [netdrv] ice: Call pci_disable_sriov before stopping queues for VF (Kamal Heib) [1659176] - [netdrv] ice: Increase Rx queue disable timeout (Kamal Heib) [1659176] - [netdrv] ice: Fix NVM mask defines (Kamal Heib) [1659176] - [netdrv] ice: Avoid nested RTNL locking in ice_dis_vsi (Kamal Heib) [1659176] - [netdrv] ice: Calculate guaranteed VSIs per function and use it (Kamal Heib) [1659176] - [netdrv] ice: Remove node before releasing VSI (Kamal Heib) [1659176] - [netdrv] ice: Check for q_vector when stopping rings (Kamal Heib) [1659176] - [netdrv] ice: Fix debug print in ice_tx_timeout (Kamal Heib) [1659176] - [netdrv] intel-ethernet: use correct module license (Kamal Heib) [1659176] - [netdrv] bnx2x: Add support for detection of P2P event packets. (Manish Chopra) [1638306 1663271] - [netdrv] bnx2x: Replace magic numbers with macro definitions. (Manish Chopra) [1638306 1663271] - [netdrv] bnx2x: fix spelling mistake "dicline" -> "decline" (Manish Chopra) [1663271] - [netdrv] bnx2x: Utilize FW 7.13.11.0. (Manish Chopra) [1663271] - [netdrv] bnx2x: Remove set but not used variable 'mfw_vn' (Manish Chopra) [1663271] - [netdrv] bnx2x: Use struct_size() in kzalloc() (Manish Chopra) [1663271] - [netdrv] broadcom: Mark expected switch fall-throughs (Manish Chopra) [1663271] - [netdrv] bnx2x: Bump up driver version to 1.713.36 (Manish Chopra) [1663271] - [netdrv] bnx2x: fix various indentation issues (Manish Chopra) [1663271] - [netdrv] cross-tree: phase out dma_zalloc_coherent() on headers (Manish Chopra) [1663271] - [netdrv] bnx2x: Fix NULL pointer dereference in bnx2x_del_all_vlans() on some hw (Manish Chopra) [1663271] - [netdrv] bnx2x: Send update-svid ramrod with retry/poll flags enabled (Manish Chopra) [1663271] - [netdrv] bnx2x: Enable PTP only on the PF that initializes the port (Manish Chopra) [1663271] - [netdrv] bnx2x: Remove configured vlans as part of unload sequence. (Manish Chopra) [1663271] - [netdrv] bnx2x: Clear fip MAC when fcoe offload support is disabled (Manish Chopra) [1663271] - [netdrv] bnx2x: Add storm FW version to ethtool driver query output. (Manish Chopra) [1663271] - [netdrv] bnx2x: Add MBI version to ethtool driver query output. (Manish Chopra) [1663271] - [netdrv] drivers: net: remove inclusion when not needed (Manish Chopra) [1663271] - [netdrv] bnx2x: remove ndo_poll_controller (Manish Chopra) [1663271] - [netdrv] bnx2x: Provide VF link status in ndo_get_vf_config (Manish Chopra) [1663271] - [netdrv] bnx2x: Ignore bandwidth attention in single function mode (Manish Chopra) [1663271] - [block] block: remove CONFIG_LBDAF (Ming Lei) [1708452] - [kernel] sched/pelt: Fix warning and clean up IRQ PELT config (Phil Auld) [1637824] - [kernel] sched/pelt: Fix update_blocked_averages() for RT and DL classes (Phil Auld) [1637824] - [mm] mm, sched/numa: Remove remaining traces of NUMA rate-limiting (Phil Auld) [1637824] - [kernel] sched/fair: Fix cpu_util_wake() for 'execl' type workloads (Phil Auld) [1637824] - [kernel] sched/fair: Consider SD_NUMA when selecting the most idle group to schedule on (Phil Auld) [1637824] - [kernel] sched/numa: Migrate pages to local nodes quicker early in the lifetime of a task (Phil Auld) [1637824] - [mm] mm, sched/numa: Remove rate-limiting of automatic NUMA balancing migration (Phil Auld) [1637824] - [kernel] sched/numa: Avoid task migration for small NUMA improvement (Phil Auld) [1637824] - [mm] mm/migrate: Use spin_trylock() while resetting rate limit (Phil Auld) [1637824] - [kernel] sched/numa: Limit the conditions where scan period is reset (Phil Auld) [1637824] - [kernel] sched/numa: Reset scan rate whenever task moves across nodes (Phil Auld) [1637824] - [kernel] sched/numa: Pass destination CPU as a parameter to migrate_task_rq (Phil Auld) [1637824] - [kernel] sched/numa: Stop multiple tasks from moving to the CPU at the same time (Phil Auld) [1637824] - [kernel] sched/fair: Fix scale_rt_capacity() for SMT (Phil Auld) [1637824] - [kernel] sched/numa: Move task_numa_placement() closer to numa_migrate_preferred() (Phil Auld) [1637824] - [kernel] sched/numa: Use group_weights to identify if migration degrades locality (Phil Auld) [1637824] - [kernel] sched/numa: Update the scan period without holding the numa_group lock (Phil Auld) [1637824] - [kernel] sched/numa: Remove numa_has_capacity() (Phil Auld) [1637824] - [kernel] sched/numa: Modify migrate_swap() to accept additional parameters (Phil Auld) [1637824] - [kernel] sched/numa: Remove unused task_capacity from 'struct numa_stats' (Phil Auld) [1637824] - [kernel] sched/numa: Skip nodes that are at 'hoplimit' (Phil Auld) [1637824] - [kernel] sched/debug: Reverse the order of printing faults (Phil Auld) [1637824] - [kernel] sched/numa: Use task faults only if numa_group is not yet set up (Phil Auld) [1637824] - [kernel] sched/numa: Set preferred_node based on best_cpu (Phil Auld) [1637824] - [kernel] sched/numa: Simplify load_too_imbalanced() (Phil Auld) [1637824] - [kernel] sched/numa: Evaluate move once per node (Phil Auld) [1637824] - [kernel] sched/fair: Remove #ifdefs from scale_rt_capacity() (Phil Auld) [1637824] - [kernel] sched/cpufreq: Clarify sugov_get_util() (Phil Auld) [1637824] - [kernel] sched/sysctl: Remove unused sched_time_avg_ms sysctl (Phil Auld) [1637824] - [kernel] sched/core: Remove the rt_avg code (Phil Auld) [1637824] - [kernel] sched/core: Use PELT for scale_rt_capacity() (Phil Auld) [1637824] - [kernel] sched/cpufreq: Remove sugov_aggregate_util() (Phil Auld) [1637824] - [kernel] cpufreq/schedutil: Take time spent in interrupts into account (Phil Auld) [1637824] - [kernel] sched/irq: Add IRQ utilization tracking (Phil Auld) [1637824] - [kernel] cpufreq/schedutil: Use DL utilization tracking (Phil Auld) [1637824] - [kernel] sched/dl: Add dl_rq utilization tracking (Phil Auld) [1637824] - [kernel] cpufreq/schedutil: Use RT utilization tracking (Phil Auld) [1637824] - [kernel] sched/rt: Add rt_rq utilization tracking (Phil Auld) [1637824] - [kernel] sched/pelt: Move PELT related code in a dedicated file (Phil Auld) [1637824] - [char] ipmi_si: Potential array underflow in hotmod_handler() (Tony Camuso) [1665131] - [char] ipmi_si: Remove hacks for adding a dummy platform devices (Tony Camuso) [1665131] - [char] ipmi_si: Consolidate scanning the platform bus (Tony Camuso) [1665131] - [char] ipmi_si: Remove hotmod devices on removal and exit (Tony Camuso) [1665131] - [char] ipmi_si: Remove hardcode IPMI devices by scanning the platform bus (Tony Camuso) [1665131] - [char] ipmi_si: Switch hotmod to use a platform device (Tony Camuso) [1665131] - [char] ipmi: Fix failure on SMBIOS specified devices (Tony Camuso) [1665131] - [char] ipmi: Consolidate the adding of platform devices (Tony Camuso) [1665131] - [char] ipmi_si: Rename addr_type to addr_space to match what it does (Tony Camuso) [1665131] - [char] ipmi_si: Convert some types into unsigned (Tony Camuso) [1665131] - [char] ipmi: ipmi_si_hardcode.c: init si_type array to fix a crash (Tony Camuso) [1665131] - [char] ipmi_si: Fix crash when using hard-coded device (Tony Camuso) [1665131] - [char] ipmi: Use dedicated API for copying a UUID (Tony Camuso) [1665131] - [char] ipmi: Use defined constant for UUID representation (Tony Camuso) [1665131] - [char] ipmi:ssif: Change some pr_xxx to dev_xxx calls (Tony Camuso) [1665131] - [char] ipmi: kcs_bmc: handle devm_kasprintf() failure case (Tony Camuso) [1665131] - [char] ipmi: Fix return value when a message is truncated (Tony Camuso) [1665131] - [char] ipmi: clean an indentation issue, remove extraneous space (Tony Camuso) [1665131] - [char] ipmi: Make the smi watcher be disabled immediately when not needed (Tony Camuso) [1665131] - [char] ipmi: Fix how the lower layers are told to watch for messages (Tony Camuso) [1665131] - [char] ipmi: Fix SSIF flag requests (Tony Camuso) [1665131] - [char] ipmi_si: fix use-after-free of resource->name (Tony Camuso) [1665131] - [char] ipmi: Don't initialize anything in the core until something uses it (Tony Camuso) [1665131] - [char] ipmi:ssif: Fix handling of multi-part return messages (Tony Camuso) [1665131] - [char] ipmi:dmi: Use pr_fmt in the IPMI DMI code (Tony Camuso) [1665131] - [char] ipmi: Remove platform driver overrides and use the id_table (Tony Camuso) [1665131] - [char] ipmi: msghandler: Add and use pr_fmt and dev_fmt, remove PFX (Tony Camuso) [1665131] - [char] ipmi: Use more common logging styles (Tony Camuso) [1665131] - [acpi] ACPI / glue: Split dev_is_platform() out of module for wide use (Tony Camuso) [1665131]- [scsi] scsi: hpsa: bump driver version (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: remove timeout from TURs (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: clean up two indentation issues (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: mark expected switch fall-throughs (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: switch to generic DMA API (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: Use vmemdup_user to replace the open code (Joseph Szczypek) [1672669] - [netdrv] ibmvnic: Add device identification to requested IRQs (Steve Best) [1665717] - [crypto] crypto: authenc - fix parsing key with misaligned rta_len (Herbert Xu) [1707546] - [block] block: don't drain in-progress dispatch in blk_cleanup_queue() (Ming Lei) [1694879] - [block] blk-mq: move cancel of hctx->run_work into blk_mq_hw_sysfs_release (Ming Lei) [1694879] - [include] blk-mq: always free hctx after request queue is freed (Ming Lei) [1694879] - [block] blk-mq: split blk_mq_alloc_and_init_hctx into two parts (Ming Lei) [1694879] - [block] blk-mq: free hw queue's resource in hctx's release handler (Ming Lei) [1694879] - [block] blk-mq: move cancel of requeue_work into blk_mq_release (Ming Lei) [1694879] - [block] blk-mq: grab .q_usage_counter when queuing request from plug code path (Ming Lei) [1694879] - [block] block: fix use-after-free on gendisk (Ming Lei) [1694879] - [netdrv] bonding: fix event handling for stacked bonds (Jarod Wilson) [1708390] - [netdrv] bonding: show full hw address in sysfs for slave entries (Jarod Wilson) [1708390] - [netdrv] bonding: fix PACKET_ORIGDEV regression (Jarod Wilson) [1708390] - [netdrv] bonding: check slave set command firstly (Jarod Wilson) [1708390] - [netdrv] bonding: count master 3ad stats separately (Jarod Wilson) [1708390] - [netdrv] bonding: add support for xstats and export 3ad stats (Jarod Wilson) [1708390] - [netdrv] bonding: add 3ad stats (Jarod Wilson) [1708390] - [netdrv] bonding: 3ad: remove bond_3ad_rx_indication's length argument (Jarod Wilson) [1708390] - [netdrv] bonding: adjust style of bond_3ad_rx_indication (Jarod Wilson) [1708390] - [netdrv] bonding: update nest level on unlink (Jarod Wilson) [1708390] - [netdrv] bonding: fix indentation issues, remove extra spaces (Jarod Wilson) [1708390] - [netdrv] bonding: convert to DEFINE_SHOW_ATTRIBUTE (Jarod Wilson) [1708390] - [netdrv] bonding: fix 802.3ad state sent to partner when unbinding slave (Jarod Wilson) [1708390] - [netdrv] bonding: use netpoll_poll_dev() helper (Jarod Wilson) [1708390] - [net] netpoll: do not test NAPI_STATE_SCHED in poll_one_napi() (Jarod Wilson) [1708390] - [net] netpoll: make ndo_poll_controller() optional (Jarod Wilson) [1708390] - [netdrv] bonding: don't cast const buf in sysfs store (Jarod Wilson) [1708390] - [netdrv] netdevsim: fix sa_idx out of bounds check (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: add ipsec offload API test (Ivan Vecera) [1708373] - [netdrv] netdevsim: add ipsec offload testing (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: use dummydev as a test device (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: clear the return code at start of ipsec test (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: use a local IP address for IPsec tests (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: hide complaint from terminated monitor (Ivan Vecera) [1708373] - [powerpc] powerpc/watchdog: Use hrtimers for per-CPU heartbeat (Steve Best) [1708327] - [netdrv] ixgbevf: Update driver version for RHEL-8.1.0 (Ken Cox) [1659166] - [netdrv] drivers: net: intel: use secpath helpers in more places (Ken Cox) [1659166] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Ken Cox) [1659166] - [netdrv] ixgbevf: add support for software timestamps (Ken Cox) [1659166] - [netdrv] ixgbe/ixgbevf: fix XFRM_ALGO dependency (Ken Cox) [1659166] - [netdrv] ixgbevf: off by one in ixgbevf_ipsec_tx() (Ken Cox) [1659166] - [netdrv] ixgbevf: fix msglen for ipsec mbx messages (Ken Cox) [1659166] - [netdrv] ixgbevf: remove ndo_poll_controller (Ken Cox) [1659166] - [netdrv] intel-ethernet: use correct module license (Ken Cox) [1659166] - [netdrv] ixgbevf: enable VF IPsec offload operations (Ken Cox) [1659166] - [netdrv] ixgbevf: add VF IPsec offload code (Ken Cox) [1659166] - [netdrv] ixgbevf: add defines for IPsec offload request (Ken Cox) [1659166] - [netdrv] ixgbevf: VF2VF TCP RSS (Ken Cox) [1659166] - [netdrv] ixgbe: Update driver version for RHEL-8.1.0 (Ken Cox) [1659164] - [netdrv] intel: correct return from set features callback (Ken Cox) [1659164] - [netdrv] ixgbe: don't do any AF_XDP zero-copy transmit if netif is not OK (Ken Cox) [1659164] - [netdrv] ixgbe: fix potential RX buffer starvation for AF_XDP (Ken Cox) [1659164] - [netdrv] ixgbe: fix older devices that do not support IXGBE_MRQC_L3L4TXSWEN (Ken Cox) [1659164] - [netdrv] net: bpf: remove XDP_QUERY_XSK_UMEM enumerator (Ken Cox) [1659164] - [netdrv] ixgbe: Use struct_size() helper (Ken Cox) [1659164] - [netdrv] ixgbe: remove magic constant in ixgbe_reset_hw_82599() (Ken Cox) [1659164] - [netdrv] ixgbe: use mii_bus to handle MII related ioctls (Ken Cox) [1659164] - [netdrv] ixgbe: register a mdiobus (Ken Cox) [1659164] - [netdrv] drivers: net: intel: use secpath helpers in more places (Ken Cox) [1659164] - [netdrv] ixgbe: Fix race when the VF driver does a reset (Ken Cox) [1659164] - [netdrv] ixgbe: recognize 1000BaseLX SFP modules as 1Gbps (Ken Cox) [1659164] - [netdrv] ixgbe: Replace synchronize_sched() with synchronize_rcu() (Ken Cox) [1659164] - [netdrv] i40e/ixgbe/igb: fail on new WoL flag setting WAKE_MAGICSECURE (Ken Cox) [1659164] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (Ken Cox) [1659164] - [netdrv] ixgbe: allow IPsec Tx offload in VEPA mode (Ken Cox) [1659164] - [netdrv] ixgbe: don't clear_bit on xdp_ring->state if xdp_ring is null (Ken Cox) [1659164] - [netdrv] ixgbe: fix MAC anti-spoofing filter after VFLR (Ken Cox) [1659164] - [netdrv] ixgbe/ixgbevf: fix XFRM_ALGO dependency (Ken Cox) [1659164] - [netdrv] drivers: net: remove inclusion when not needed (Ken Cox) [1659164] - [netdrv] ixgbe: check return value of napi_complete_done() (Ken Cox) [1659164] - [netdrv] ixgbe: add AF_XDP zero-copy Tx support (Ken Cox) [1659164] - [netdrv] ixgbe: move common Tx functions to ixgbe_txrx_common.h (Ken Cox) [1659164] - [netdrv] ixgbe: add AF_XDP zero-copy Rx support (Ken Cox) [1659164] - [netdrv] ixgbe: move common Rx functions to ixgbe_txrx_common.h (Ken Cox) [1659164] - [netdrv] ixgbe: added Rx/Tx ring disable/enable functions (Ken Cox) [1659164] - [netdrv] ixgbe: Fix crash with VFs and flow director on interface flap (Ken Cox) [1659164] - [netdrv] ixgbe: remove redundant function ixgbe_fw_recovery_mode() (Ken Cox) [1659164] - [netdrv] ixgbe: Fix ixgbe TX hangs with XDP_TX beyond queue limit (Ken Cox) [1659164] - [netdrv] ixgbe: remove ndo_poll_controller (Ken Cox) [1659164] - [netdrv] intel-ethernet: use correct module license (Ken Cox) [1659164] - [netdrv] ixgbe: fix the return value for unsupported VF offload (Ken Cox) [1659164] - [netdrv] ixgbe: disallow IPsec Tx offload when in SR-IOV mode (Ken Cox) [1659164] - [netdrv] ixgbe: add VF IPsec offload request message handling (Ken Cox) [1659164] - [netdrv] ixgbe: add VF IPsec offload enable flag (Ken Cox) [1659164] - [netdrv] ixgbe: add VF IPsec management (Ken Cox) [1659164] - [netdrv] ixgbe: prep IPsec constants for later use (Ken Cox) [1659164] - [netdrv] ixgbe: reload IPsec IP table after sa tables (Ken Cox) [1659164] - [netdrv] ixgbe: don't clear IPsec sa counters on HW clearing (Ken Cox) [1659164] - [netdrv] ixgbe: firmware recovery mode (Ken Cox) [1659164] - [netdrv] ixgbe: fix driver behaviour after issuing VFLR (Ken Cox) [1659164] - [netdrv] ixgbe: Prevent unsupported configurations with XDP (Ken Cox) [1659164] - [netdrv] ixgbe: Refactor queue disable logic to take completion time into account (Ken Cox) [1659164] - [netdrv] ixgbe: Reorder Tx/Rx shutdown to reduce time needed to stop device (Ken Cox) [1659164] - [netdrv] ixgbe: add ipsec security registers into ethtool register dump (Ken Cox) [1659164] - [netdrv] ixgbe: Do not allow LRO or MTU change with XDP (Ken Cox) [1659164] - [wireless] brcmfmac: add subtype check for event handling in data path (Stanislaw Gruszka) [1705386] {CVE-2019-9500} - [wireless] brcmfmac: assure SSID length from firmware is limited (Stanislaw Gruszka) [1705386] {CVE-2019-9500} - [base] driver core: Postpone DMA tear-down until after devres release (Maurizio Lombardi) [1698053]- [of] of: Add missing exports of node name compare functions (Neil Horman) [1665660] - [of] of: add node name compare helper functions (Neil Horman) [1665660] - [include] gpio: Add API to explicitly name a consumer (Neil Horman) [1665660] - [drivers] spi: spi-gpio: fix SPI_CS_HIGH capability (Neil Horman) [1665660] - [drivers] spi: use gpio[d]_set_value_cansleep for setting chipselect GPIO (Neil Horman) [1665660] - [drivers] spi: gpio: Advertise support for SPI_CS_HIGH (Neil Horman) [1665660] - [include] spi: support inter-word delay requirement for devices (Neil Horman) [1665660] - [drivers] spi: dw: Fix default polarity of native chipselect (Neil Horman) [1665660] - [drivers] spi: Support high CS when using descriptors (Neil Horman) [1665660] - [include] spi: Go back to immediate teardown (Neil Horman) [1665660] - [drivers] spi: dw: change snprintf to scnprintf for possible overflow (Neil Horman) [1665660] - [drivers] spi: dw: fix warning unused variable 'ret' (Neil Horman) [1665660] - [include] spi: core: avoid waking pump thread from spi_sync instead run teardown delayed (Neil Horman) [1665660] - [drivers] spi: dw: Convert to use CS GPIO descriptors (Neil Horman) [1665660] - [include] spi: Optionally use GPIO descriptors for CS GPIOs (Neil Horman) [1665660] - [drivers] spi: dw: fix potential variable assignment error (Neil Horman) [1665660] - [drivers] spi: Use of_node_name_eq for node name comparisons (Neil Horman) [1665660] - [drivers] spi: dw-mmio: add ACPI support (Neil Horman) [1665660] - [include] spi: add support for octal mode I/O data transfer (Neil Horman) [1665660] - [drivers] spi: Fix formatting of header block (Neil Horman) [1665660] - [drivers] spi: Fix core transfer waits after slave support (Neil Horman) [1665660] - [drivers] spi: Deal with slaves that return from transfer_one() unfinished (Neil Horman) [1665660] - [include] spi: gpio: Support 3WIRE high-impedance turn-around (Neil Horman) [1665660] - [drivers] spi: Make GPIO CSs honour the SPI_NO_CS flag (Neil Horman) [1665660] - [drivers] dw: spi: add support for Amazon's Alpine spi controller (Neil Horman) [1665660] - [include] spi: Add driver_override SPI device attribute (Neil Horman) [1665660] - [include] spi: make OF helper available for others (Neil Horman) [1665660] - [include] spi: switch to SPDX license identifier (Neil Horman) [1665660] - [drivers] spi: always use software fallback for SPI_CS_WORD when using cs_gio (Neil Horman) [1665660] - [drivers] spi: add software implementation for SPI_CS_WORD (Neil Horman) [1665660] - [include] spi: add new SPI_CS_WORD flag (Neil Horman) [1665660] - [drivers] spi: gpio: No MISO does not imply no RX (Neil Horman) [1665660] - [drivers] spi: dw: support 4-16 bits per word (Neil Horman) [1665660] - [drivers] spi: spi-gpio: Remove set but not used variable 'pdata' (Neil Horman) [1665660] - [drivers] spi: Do not print a message if spi_controller_{suspend,resume}() fails (Neil Horman) [1665660] - [drivers] spi: gpio: Fix copy-and-paste error (Neil Horman) [1665660] - [drivers] spi: dw-mmio: avoid hardcoded field mask (Neil Horman) [1665660] - [drivers] spi: dw-mmio: add MSCC Jaguar2 support (Neil Horman) [1665660] - [include] spi: Introduce one new field to set word delay (Neil Horman) [1665660] - [drivers] spi: Fix double IDR allocation with DT aliases (Neil Horman) [1665660] - [drivers] spi: fix IDR collision on systems with both fixed and dynamic SPI bus numbers (Neil Horman) [1665660] - [drivers] spi: spi-gpio: add SPI_3WIRE support (Neil Horman) [1665660] - [drivers] spi: add flags parameter to txrx_word function pointers (Neil Horman) [1665660] - [drivers] spi: dw-mmio: add MSCC Ocelot support (Neil Horman) [1665660] - [drivers] spi: dw: export dw_spi_set_cs (Neil Horman) [1665660] - [drivers] spi: dw: allow providing own set_cs callback (Neil Horman) [1665660] - [drivers] spi: dw: fix possible race condition (Neil Horman) [1665660] - [acpi] ACPI / APD: Add clock frequency for Hisilicon Hip08 SPI controller (Neil Horman) [1665660] - [md] md/raid: raid5 preserve the writeback action after the parity check (Nigel Croxon) [1702309] - [md] Revert "Don't jump to compute_result state from check_result state" (Nigel Croxon) [1702309] - [md] md: return -ENODEV if rdev has no mddev assigned (Nigel Croxon) [1702309] - [md] md: add __acquires/__releases annotations to handle_active_stripes (Nigel Croxon) [1702309] - [md] md: add __acquires/__releases annotations to (un)lock_two_stripes (Nigel Croxon) [1702309] - [md] md: mark md_cluster_mod static (Nigel Croxon) [1702309] - [md] md: use correct type in super_1_sync (Nigel Croxon) [1702309] - [md] md: use correct type in super_1_load (Nigel Croxon) [1702309] - [md] md: use correct types in md_bitmap_print_sb (Nigel Croxon) [1702309] - [md] md: add a missing endianness conversion in check_sb_changes (Nigel Croxon) [1702309] - [md] md: add mddev->pers to avoid potential NULL pointer dereference (Nigel Croxon) [1702309] - [md] md: batch flush requests. (Nigel Croxon) [1702309] - [md] Revert "MD: fix lock contention for flush bios" (Nigel Croxon) [1702309] - [md] Don't jump to compute_result state from check_result state (Nigel Croxon) [1702309] - [netdrv] bnxt_en: Reset device on RX buffer errors. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Improve RX consumer index validity check. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Drop oversize TX packets to prevent errors. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Wait longer for the firmware message response to complete. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix typo in firmware message timeout logic. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Return relevant error code when offload fails (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add support for mdio read/write to external PHY (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Propagate trusted VF attribute to firmware. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add support for BCM957504 (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.47. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Disable interrupts when allocating CP rings or NQs. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix context memory allocation. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix ring checking logic on 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Adjust default RX coalescing ticks to 10 us. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Support for 64-bit flow handle. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Increase context memory allocations on 57500 chips for RDMA. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add Level 2 context memory paging support. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Enhance bnxt_alloc_ring()/bnxt_free_ring(). (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add support for 2nd firmware message channel. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Introduce bnxt_get_hwrm_resp_addr & bnxt_get_hwrm_seq_id routines. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Avoid arithmetic on void * pointer. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Use macros for firmware message doorbell offsets. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Set hwrm_intr_seq_id value to its inverted value. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.33. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix ethtool self-test loopback. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: query force speeds before disabling autoneg mode. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Do not free port statistics buffer when device is down. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Save ring statistics before reset. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Return linux standard errors in bnxt_ethtool.c (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Don't set ETS on unused TCs. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add ethtool -S priority counters. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add SR-IOV support for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Disable MSIX before re-reserving NQs/CMPL rings. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Reserve 1 stat_ctx for RDMA driver. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Do not modify max_stat_ctxs after RDMA driver requests/frees stat_ctxs (Selvin Xavier) [1664477] - [netdrv] bnxt_en: get rid of num_stat_ctxs variable (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add bnxt_get_avail_cp_rings_for_en() helper function. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Store the maximum NQs available on the PF. (Selvin Xavier) [1664477] - [netdrv] bnxt: remove printing of hwrm message (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix _bnxt_get_max_rings() for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix NQ/CP rings accounting on the new 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Keep track of reserved IRQs. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix CNP CoS queue regression. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix filling time in bnxt_fill_coredump_record() (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add software "missed_irqs" counter. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Workaround occasional TX timeout on 57500 A0. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Disable RDMA support on the 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix rx_l4_csum_errors counter on 57500 devices. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix RSS context allocation. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Copy and paste bug in extended tx_stats (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add PCI ID for BCM57508 device. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add new NAPI poll function for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Refactor bnxt_poll_work(). (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add coalescing setup for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Use bnxt_cp_ring_info struct pointer as parameter for RX path. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add RSS support for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Increase RSS context array count and skip ring groups on 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Allocate/Free CP rings for 57500 series chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Modify bnxt_ring_alloc_send_msg() to support 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add helper functions to get firmware CP ring ID. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Allocate completion ring structures for 57500 series chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Modify the ring reservation functions for 57500 series chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Adjust MSIX and ring groups for 57500 series chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Re-structure doorbells. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add 57500 new chip ID and basic structures. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Configure context memory on new devices. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Check context memory requirements from firmware. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add new flags to setup new page table PTE bits on newer devices. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Refactor bnxt_ring_struct. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update interrupt coalescing logic. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add maximum extended request length fw message support. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add additional extended port statistics. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.3. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Remove unnecessary unsigned integer comparison and initialize variable (Selvin Xavier) [1664477] - [netdrv] bnxt_en: get the reduced max_irqs by the ones used by RDMA (Selvin Xavier) [1664477] - [netdrv] bnxt_en: free hwrm resources, if driver probe fails. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix enables field in HWRM_QUEUE_COS2BW_CFG request (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix VNIC reservations on the PF. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add a driver specific gre_ver_check devlink parameter. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Use msix_vec_per_pf_max and msix_vec_per_pf_min devlink params. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: return proper error when FW returns HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Use ignore_ari devlink parameter (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix TX timeout during netpoll. (Selvin Xavier) [1664477] - [netdrv] bnxt: remove ndo_poll_controller (Selvin Xavier) [1664477] - [netdrv] bnxt_en: don't try to offload VLAN 'modify' action (Selvin Xavier) [1664477] - [netdrv] bnxt_en: remove set but not used variable 'addr_type' (Selvin Xavier) [1664477] - [netdrv] bnxt_en: remove set but not used variable 'rx_stats' (Selvin Xavier) [1664477] - [netdrv] net: bnxt: Fix a uninitialized variable warning. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: take coredump_record structure off stack (Selvin Xavier) [1664477] - [netdrv] bnxt_en: avoid string overflow for record->system_name (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix strcpy() warnings in bnxt_ethtool.c (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Do not use the CNP CoS queue for networking traffic. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add DCBNL DSCP application protocol support. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add hwmon sysfs support to read temperature (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Notify firmware about IF state changes. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Move firmware related flags to a new fw_cap field in struct bnxt. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add BNXT_NEW_RM() macro. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add support for ethtool get dump. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update RSS setup and GRO-HW logic according to the latest spec. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add new VF resource allocation strategy mode. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add PHY retry logic. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add external loopback test to ethtool selftest. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Adjust timer based on ethtool stats-block-usecs settings. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update firmware interface version to 1.9.2.25. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: combine 'else if' and 'else' into single branch (Selvin Xavier) [1664477] - [netdrv] bnxt_en: remove redundant debug register dma mem allocation (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add bnxt_en initial params table and register it. (Selvin Xavier) [1664477] - [netdrv] sfc: mcdi_port: Mark expected switch fall-through (Jarod Wilson) [1685478] - [netdrv] sfc: ensure recovery after allocation failures (Jarod Wilson) [1685478] - [netdrv] sfc: Replace dev_kfree_skb_any by dev_consume_skb_any (Jarod Wilson) [1685478] - [netdrv] sfc: add bundle partition definitions to mtd (Jarod Wilson) [1685478] - [netdrv] sfc: Replace spin_is_locked() with lockdep (Jarod Wilson) [1685478] - [netdrv] sfc: remove ndo_poll_controller (Jarod Wilson) [1685478] - [iommu] iommu/amd: Set exclusion range correctly (Jerry Snitselaar) [1702766] - [iommu] iommu/amd: Reserve exclusion range in iova-domain (Jerry Snitselaar) [1694835] - [scsi] scsi: mpt3sas: Fix kernel panic during expander reset (Tomas Henzl) [1677693] - [mm] mm/vmstat.c: fix /proc/vmstat format for CONFIG_DEBUG_TLBFLUSH=y CONFIG_SMP=n (Waiman Long) [1705607] - [mm] x86/mm: Drop usage of __flush_tlb_all() in kernel_physical_mapping_init() (Waiman Long) [1705607] - [include] x86/mm: Validate kernel_physical_mapping_init() PTE population (Waiman Long) [1705607] - [include] generic/pgtable: Introduce set_pte_safe() (Waiman Long) [1705607] - [include] generic/pgtable: Introduce {p4d,pgd}_same() (Waiman Long) [1705607] - [include] generic/pgtable: Make {pmd, pud}_same() unconditionally available (Waiman Long) [1705607] - [mm] percpu: stop printing kernel addresses (Waiman Long) [1705607] - [x86] x86/speculation: Prevent deadlock on ssb_state::lock (Waiman Long) [1705607] - [fs] debugfs: fix use-after-free on symlink traversal (Waiman Long) [1705607] - [lib] debugobjects: avoid recursive calls with kmemleak (Waiman Long) [1705607] - [mm] mm/swapfile.c: use kvzalloc for swap_info_struct allocation (Waiman Long) [1705607] - [mm] hugetlbfs: fix kernel BUG at fs/hugetlbfs/inode.c:444! (Waiman Long) [1705607] - [include] watchdog/core: Add missing prototypes for weak functions (Waiman Long) [1705607] - [mm] memory_hotplug: cond_resched in __remove_pages (Waiman Long) [1705607] - [kernel] genirq: Fix race on spurious interrupt detection (Waiman Long) [1705607] - [kernel] printk: Fix panic caused by passing log_buf_len to command line (Waiman Long) [1705607] - [mm] mm/hmm: fix race between hmm_mirror_unregister() and mmu_notifier callback (Waiman Long) [1705607] - [mm] mm/rmap: map_pte() was not handling private ZONE_DEVICE page properly (Waiman Long) [1705607] - [mm] hugetlbfs: dirty pages as they are added to pagecache (Waiman Long) [1705607] - [fs] mm: /proc/pid/smaps_rollup: fix NULL pointer deref in smaps_pte_range() (Waiman Long) [1705607] - [kernel] sched/fair: Fix the min_vruntime update logic in dequeue_entity() (Waiman Long) [1705607] - [mm] x86/mm/pat: Disable preemption around __flush_tlb_all() (Waiman Long) [1705607] - [x86] x86/corruption-check: Fix panic in memory_corruption_check() when boot option without value is provided (Waiman Long) [1705607] - [x86] x86/time: Correct the attribute on jiffies' definition (Waiman Long) [1705607] - [x86] x86/percpu: Fix this_cpu_read() (Waiman Long) [1705607] - [x86] x86/tsc: Force inlining of cyc2ns bits (Waiman Long) [1705607] - [mm] mm/migrate.c: split only transparent huge pages when allocation fails (Waiman Long) [1705607] - [mm] mm/thp: fix call to mmu_notifier in set_pmd_migration_entry() v2 (Waiman Long) [1705607] - [mm] mm/mmap.c: don't clobber partially overlapping VMA with MAP_FIXED_NOREPLACE (Waiman Long) [1705607] - [mm] percpu: stop leaking bitmap metadata blocks (Waiman Long) [1705607] - [lib] vsprintf: Fix off-by-one bug in bstr_printf() processing dereferenced pointers (Waiman Long) [1705607] - [mm] mm/vmstat.c: fix outdated vmstat_text (Waiman Long) [1705607] - [base] PM / core: Clear the direct_complete flag on errors (Waiman Long) [1705607] - [tools] x86/vdso: Fix vDSO syscall fallback asm constraint regression (Waiman Long) [1705607] - [x86] x86/vdso: Only enable vDSO retpolines when enabled and supported (Waiman Long) [1705607] - [tools] selftests/x86: Add clock_gettime() tests to test_vdso (Waiman Long) [1705607] - [x86] x86/vdso: Fix asm constraints on vDSO syscall fallbacks (Waiman Long) [1705607] - [drivers] clocksource/drivers/timer-atmel-pit: Properly handle error cases (Waiman Long) [1705607] - [mm] mm/vmstat.c: skip NR_TLB_REMOTE_FLUSH* properly (Waiman Long) [1705607] - [mm] mm, thp: fix mlocking THP page with migration enabled (Waiman Long) [1705607] - [mm] mm: migration: fix migration of huge PMD shared pages (Waiman Long) [1705607] - [net] net/smc: improve smc_conn_create reason codes (Philipp Rudo) [1703471] - [net] net/smc: improve smc_listen_work reason codes (Philipp Rudo) [1703471] - [net] net/smc: code cleanup smc_listen_work (Philipp Rudo) [1703471] - [net] net/smc: cleanup of get vlan id (Philipp Rudo) [1703471] - [net] net/smc: consolidate function parameters (Philipp Rudo) [1703471] - [net] net/smc: check for ip prefix and subnet (Philipp Rudo) [1703471] - [net] net/smc: fallback to TCP after connect problems (Philipp Rudo) [1703471] - [net] net/smc: nonblocking connect rework (Philipp Rudo) [1703471] - [net] net/smc: move unhash before release of clcsock (Philipp Rudo) [1703471] - [net] net/smc: fix return code from FLUSH command (Philipp Rudo) [1703471] - [net] net/smc: propagate file from SMC to TCP socket (Philipp Rudo) [1703471] - [net] net/smc: fix a NULL pointer dereference (Philipp Rudo) [1703471] - [net] net/smc: wait for pending work before clcsock release_sock (Philipp Rudo) [1703471] - [net] net/smc: allow pnetid-less configuration (Philipp Rudo) [1700797] - [net] net/smc: allow PCI IDs as ib device names in the pnet table (Philipp Rudo) [1700797] - [net] net/smc: add pnet table namespace support (Philipp Rudo) [1700797] - [net] net/smc: add smcd support to the pnet table (Philipp Rudo) [1700797] - [net] net/smc: rework pnet table (Philipp Rudo) [1700797] - [net] net/smc: cleanup for smcr_tx_sndbuf_nonempty (Philipp Rudo) [1700797]- [tools] tools power turbostat: Override CFLAGS assignments and add LDFLAGS to build command (Steve Best) [1705959] - [tools] tools/power turbostat: update version number (Steve Best) [1705959] - [tools] tools/power turbostat: Add checks for failure of fgets() and fscanf() (Steve Best) [1705959] - [tools] tools/power turbostat: Warn on bad ACPI LPIT data (Steve Best) [1705959] - [tools] tools/power turbostat: Also read package power on AMD F17h (Zen) (Steve Best) [1705959] - [tools] tools/power turbostat: Add support for AMD Fam 17h (Zen) RAPL (Steve Best) [1705959] - [tools] tools/power turbostat: Do not display an error on systems without a cpufreq driver (Steve Best) [1705959] - [tools] tools/power turbostat: Add Die column (Steve Best) [1705959] - [tools] tools/power turbostat: Cleanup CNL-specific code (Steve Best) [1705959] - [tools] tools/power turbostat: Cleanup CC3-skip code (Steve Best) [1705959] - [tools] tools/power turbostat: Restore ability to execute in topology-order (Steve Best) [1705959] - [tools] tools/power turbostat: fix goldmont C-state limit decoding (Steve Best) [1705959] - [tools] tools/power turbostat: reduce debug output (Steve Best) [1705959] - [tools] tools/power turbosat: fix AMD APIC-id output (Steve Best) [1705959] - [mmc] mmc: sdhci-iproc: Add ACPI support (Mark Langsdorf) [1576966] - [mmc] mmc: sdhci-pltfm: Convert DT properties to generic device properties (Mark Langsdorf) [1576966] - [tty] serial: 8250_dw: Add ACPI support for uart on Broadcom SoC (Mark Langsdorf) [1576966] - [watchdog] watchdog: sp805: Add clock-frequency property (Mark Langsdorf) [1576966] - [watchdog] watchdog: sp805: set WDOG_HW_RUNNING when appropriate (Mark Langsdorf) [1576966] - [thermal] thermal: broadcom: Add Stingray thermal driver (Mark Langsdorf) [1576966] - [hv] hv: vmbus: Change server monitor_pages index to 0 (Mohammed Gamal) [1691383] - [kernel] hv: vmbus: Expose counters for interrupts and full conditions (Mohammed Gamal) [1691383] - [kernel] vmbus: Switch to use new generic UUID API (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Check for ring when getting debug info (Mohammed Gamal) [1691383] - [x86] hyper-v: move synic/stimer control structures definitions to hyperv-tlfs.h (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Return -EINVAL for the sys files for unopened channels (Mohammed Gamal) [1691383] - [hv] x86, hyperv: remove PCI dependency (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Offload the handling of channels to two workqueues (Mohammed Gamal) [1691383] - [hv] hv: vmbus: check the creation_status in vmbus_establish_gpadl() (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Remove the useless API vmbus_get_outgoing_channel() (Mohammed Gamal) [1691383] - [hv] hv: kvp: Use u to print U32 (Mohammed Gamal) [1691383] - [hv] hv_utils: update name in struct hv_driver util_drv (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Get rid of unnecessary state in hv_context (Mohammed Gamal) [1691383] - [hv] hv: kvp: Fix the recent regression caused by incorrect clean-up (Mohammed Gamal) [1691383] - [hv] hv_balloon: Replace spin_is_locked() with lockdep (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Use cpumask_var_t for on-stack cpu mask (Mohammed Gamal) [1691383] - [hv] hv: kvp: Fix two "this statement may fall through" warnings (Mohammed Gamal) [1691383] - [hv] hv: kvp: Fix the indentation of some "break" statements (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Fix the descriptions of some function parameters (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Use get/put_cpu() in vmbus_connect() (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Fix synic per-cpu context initialization (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Cleanup synic memory free path (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Remove use of slow_virt_to_phys() (Mohammed Gamal) [1691383] - [hv] hv: vmbus: add numa_node to sysfs (Mohammed Gamal) [1691383] - [x86] hv: vmbus: Get rid of MSR access from vmbus_drv.c (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Fix the issue with freeing up hv_ctl_table_hdr (Mohammed Gamal) [1691383] - [hv] hv: vmus: Fix the check for return value from kmsg get dump buffer (Mohammed Gamal) [1691383] - [hv] hv: Send one page worth of kmsg dump over Hyper-V during panic (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Remove x86 MSR refs in arch independent code (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Fix the offer_in_progress in vmbus_process_offer() (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Add comments on ring buffer signaling (Mohammed Gamal) [1691383] - [video] use the new async probing feature for the hyperv drivers (Mohammed Gamal) [1691383] - [rpmspec] kernel-packaging: Remove kernel files from kernel-modules-extra package (Prarit Bhargava) [1705216] - [fs] xfs: don't ever put nlink > 0 inodes on the unlinked list (Brian Foster) [1693063] - [fs] xfs: reserve blocks for ifree transaction during log recovery (Brian Foster) [1693063] - [fs] xfs: rename m_inotbt_nores to m_finobt_nores (Brian Foster) [1693063] - [net] xfrm: Honor original L3 slave device in xfrmi policy lookup (Herbert Xu) [1702198] - [net] xfrm: Fix inbound traffic via XFRM interfaces across network namespaces (Herbert Xu) [1702198] - [net] xfrm: Make set-mark default behavior backward compatible (Herbert Xu) [1702198] - [net] xfrm: remove unnecessary check in xfrmi_get_stats64 (Herbert Xu) [1702198] - [net] xfrm: fix gro_cells leak when remove virtual xfrm interfaces (Herbert Xu) [1702198] - [net] xfrm: Make function xfrmi_get_link_net() static (Herbert Xu) [1702198] - [net] xfrm: fix ptr_ret.cocci warnings (Herbert Xu) [1702198] - [net] xfrm: Return detailed errors from xfrmi_newlink (Herbert Xu) [1702198] - [net] xfrm: Allow xfrmi if_id to be updated by UPDSA (Herbert Xu) [1702198] - [net] xfrm: Remove xfrmi interface ID from flowi (Herbert Xu) [1702198] - [net] xfrm: Allow Set Mark to be Updated Using UPDSA (Herbert Xu) [1702198] - [net] xfrm: Add virtual xfrm interfaces (Herbert Xu) [1702198] - [net] xfrm: Add a new lookup key to match xfrm interfaces. (Herbert Xu) [1702198] - [net] flow: Extend flow informations with xfrm interface id. (Herbert Xu) [1702198] - [net] xfrm: Extend the output_mark to support input direction and masking. (Herbert Xu) [1702198] - [fs] xfs: don't account extra agfl blocks as available (Brian Foster) [1656687] - [scsi] scsi: hisi_sas: Some misc tidy-up (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Don't fail IT nexus reset for Open Reject timeout (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Don't hard reset disk during controller reset (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Support all RAS events with MSI interrupts (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: allocate different SAS address for directly attached situation (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Adjust the printk format of functions hisi_sas_init_device() (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Fix for setting the PHY linkrate when disconnected (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Remedy inconsistent PHY down state in software (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: add host reset interface for test (Xiaojun Tan) [1702614] - [hid] HID: Increase maximum report size allowed by hid_field_extract() (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: remove data[128] usage on stack when sending HBM request (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: move doorbell writing before flush (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: Optimize writing ipc message from queue (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: avoid binding wrong ishtp_cl_device (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: Enable Ice Lake mobile (Tony Camuso) [1688112] - [hid] HID: increase maximum global item tag report size to 256 (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: Enable Sunrise Point-H ish driver (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: remove redundant variable num_frags (Tony Camuso) [1688112]- [s390] Disable kexec_load via kernel_lockdown for s390 (Philipp Rudo) [1659399] - [s390] s390/ipl: Provide has_secure sysfs attribute (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Create ipl report and pass to next kernel (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Signature verification prototype (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Load new kernel to absolute 0 (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Unify loader code (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Simplify parmarea access (Philipp Rudo) [1659399] - [s390] s390/purgatory: Omit use of bin2c (Philipp Rudo) [1659399] - [s390] s390/purgatory: Reduce purgatory size (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Fix detection of text segment in ELF loader (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Fix potential segment overlap in ELF loader (Philipp Rudo) [1659399] - [s390] s390/zcore: Rename ipl_block to mitigate name collision (Philipp Rudo) [1659399] - [s390] s390/boot: pad bzImage to 4K (Philipp Rudo) [1659399] - [s390] s390/ipl: add helper functions to create an IPL report (Philipp Rudo) [1659399] - [s390] s390/ipl: read IPL report at early boot (Philipp Rudo) [1659399] - [s390] s390/ipl: add definitions for the IPL report block (Philipp Rudo) [1659399] - [s390] s390/ipl: provide uapi header for list directed IPL (Philipp Rudo) [1659399] - [s390] s390/ipl: make ipl_info less confusing (Philipp Rudo) [1659399] - [s390] s390: introduce .boot.preserved.data section compile time validation (Philipp Rudo) [1659399] - [s390] s390: move ipl block to .boot.preserved.data section (Philipp Rudo) [1659399] - [s390] s390: introduce .boot.preserved.data section (Philipp Rudo) [1659399] - [mm] s390: clean up redundant facilities list setup (Philipp Rudo) [1659399] - [s390] s390/als: remove duplicated in-place implementation of stfle (Philipp Rudo) [1659399] - [netdrv] fm10k: Fix a potential NULL pointer dereference (Neil Horman) [1659172] - [netdrv] fm10k: use struct_size() in kzalloc() (Neil Horman) [1659172] - [netdrv] fm10k: TRIVIAL cleanup of extra spacing in function comment (Neil Horman) [1659172] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Neil Horman) [1659172] - [netdrv] fm10k: bump driver version to match out-of-tree release (Neil Horman) [1659172] - [netdrv] fm10k: add missing device IDs to the upstream driver (Neil Horman) [1659172] - [netdrv] fm10k: ensure completer aborts are marked as non-fatal after a resume (Neil Horman) [1659172] - [netdrv] fm10k: fix SM mailbox full condition (Neil Horman) [1659172] - [netdrv] fm10k: remove ndo_poll_controller (Neil Horman) [1659172] - [netdrv] intel-ethernet: use correct module license (Neil Horman) [1659172] - [scsi] Revert "scsi: fcoe: clear FC_RP_STARTED flags when receiving a LOGO" (Nilesh Javali) [1701545] - [tools] tools: introduce test_and_clear_bit (Peter Xu) [1694926] - [net] bridge: fix netlink export of vlan_stats_per_port option (Ivan Vecera) [1703551] - [net] bridge: fix vlan stats use-after-free on destruction (Ivan Vecera) [1703551] - [tools] headers uapi: Update linux/if_link.h header copy (Ivan Vecera) [1703551] - [net] bridge: fix a possible memory leak in __vlan_add (Ivan Vecera) [1703551] - [net] bridge: add support for per-port vlan stats (Ivan Vecera) [1703551] - [net] bridge: mcast: Default back to multicast enabled state (Ivan Vecera) [1703551] - [net] bridge: pack net_bridge better (Ivan Vecera) [1703551] - [net] bridge: convert mtu_set_by_user to a bit (Ivan Vecera) [1703551] - [net] bridge: convert neigh_suppress_enabled option to a bit (Ivan Vecera) [1703551] - [net] bridge: convert mcast options to bits (Ivan Vecera) [1703551] - [net] bridge: convert and rename mcast disabled (Ivan Vecera) [1703551] - [net] bridge: convert group_addr_set option to a bit (Ivan Vecera) [1703551] - [net] bridge: convert nf call options to bits (Ivan Vecera) [1703551] - [net] bridge: add bitfield for options and convert vlan opts (Ivan Vecera) [1703551] - [net] bridge: make struct opening bracket consistent (Ivan Vecera) [1703551] - [net] Add netif_is_gretap()/netif_is_ip6gretap() (Ivan Vecera) [1701208] - [net] sched: register callbacks for indirect tc block binds (Ivan Vecera) [1701214] - [tools] selftests: tc-testing: fix tunnel_key failure if dst_port is unspecified (Ivan Vecera) [1701210] - [tools] selftests: tc-testing: drop test on missing tunnel key id (Ivan Vecera) [1701210] - [net] sched: act_tunnel_key: Don't dump dst port if it wasn't set (Ivan Vecera) [1701210] - [net] sched: act_tunnel_key: Allow key-less tunnels (Ivan Vecera) [1701210] - [net] ethtool: Added support for 50Gbps per lane link modes (Ivan Vecera) [1701215] - [net] ip_gre: fix parsing gre header in ipgre_err (Hangbin Liu) [1702212] - [net] vxlan: Free a leaked vetoed multicast rdst (Ivan Vecera) [1691695] - [net] switchdev: Add extack argument to call_switchdev_notifiers() (Ivan Vecera) [1691695] - [netdrv] vxlan: Add extack to switchdev operations (Ivan Vecera) [1691695] - [net] net: Add extack argument to ndo_fdb_add() (Ivan Vecera) [1691695] - [netdrv] vxlan: changelink: Delete remote after update (Ivan Vecera) [1691695] - [netdrv] vxlan: changelink: Postpone vxlan_config_apply() (Ivan Vecera) [1691695] - [netdrv] vxlan: changelink: Inline vxlan_dev_configure() (Ivan Vecera) [1691695] - [netdrv] vxlan: Allow vetoing of FDB notifications (Ivan Vecera) [1691695] - [netdrv] vxlan: Have vxlan_fdb_replace() save original rdst value (Ivan Vecera) [1691695] - [netdrv] vxlan: Split vxlan_fdb_update() in two (Ivan Vecera) [1691695] - [netdrv] vxlan: Move up vxlan_fdb_free(), vxlan_fdb_destroy() (Ivan Vecera) [1691695] - [net] bridge: Add br_fdb_clear_offload() (Ivan Vecera) [1691695] - [netdrv] vxlan: Add vxlan_fdb_clear_offload() (Ivan Vecera) [1691695] - [netdrv] vxlan: Add vxlan_fdb_replay() (Ivan Vecera) [1691695] - [net] route: add support for directed broadcast forwarding (Xin Long) [1562384] - [net] erspan: build the header with the right proto according to erspan_ver (Xin Long) [1663862] - [net] ipv6: make ip6_create_rt_rcu return ip6_null_entry instead of NULL (Xin Long) [1688617] - [net] tipc: handle the err returned from cmd header function (Jon Maloy) [1693452] - [net] tipc: check link name with right length in tipc_nl_compat_link_set (Jon Maloy) [1693452] - [net] tipc: check bearer name with right length in tipc_nl_compat_bearer_enable (Jon Maloy) [1693452] - [net] tipc: change to check tipc_own_id to return in tipc_net_stop (Jon Maloy) [1693452] - [net] tipc: tipc clang warning (Jon Maloy) [1693452] - [net] tipc: fix cancellation of topology subscriptions (Jon Maloy) [1693452] - [net] tipc: allow service ranges to be connect()'ed on RDM/DGRAM (Jon Maloy) [1693452] - [net] net: tipc: fix a missing check for nla_nest_start (Jon Maloy) [1693452] - [net] net: tipc: fix a missing check of nla_nest_start (Jon Maloy) [1693452] - [net] tipc: fix RDM/DGRAM connect() regression (Jon Maloy) [1693452] - [net] tipc: fix race condition causing hung sendto (Jon Maloy) [1693452] - [net] tipc: improve function tipc_wait_for_rcvmsg() (Jon Maloy) [1693452] - [net] tipc: improve function tipc_wait_for_cond() (Jon Maloy) [1693452] - [net] tipc: fix link session and re-establish issues (Jon Maloy) [1693452] - [net] tipc: fix skb may be leaky in tipc_link_input (Jon Maloy) [1693452] - [net] tipc: remove dead code in struct tipc_topsrv (Jon Maloy) [1693452] - [net] tipc: mark expected switch fall-throughs (Jon Maloy) [1693452] - [net] tipc: remove unneeded semicolon in trace.c (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_doit (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_name_table_dump (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_link_set (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_bearer_enable (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_link_reset_stats (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in in tipc_conn_rcv_sub (Jon Maloy) [1693452] - [net] tipc: fix memory leak in tipc_nl_compat_publ_dump (Jon Maloy) [1693452] - [net] tipc: fix a missing check of genlmsg_put (Jon Maloy) [1693452] - [net] tipc: fix a double free in tipc_enable_bearer() (Jon Maloy) [1693452] - [net] net/netlink_compat: Fix a missing check of nla_parse_nested (Jon Maloy) [1693452] - [net] tipc: fix uninitialized value for broadcast retransmission (Jon Maloy) [1693452] - [net] tipc: add trace_events for tipc bearer (Jon Maloy) [1693452] - [net] tipc: add trace_events for tipc node (Jon Maloy) [1693452] - [net] tipc: add trace_events for tipc socket (Jon Maloy) [1693452] - [net] tipc: add trace_events for tipc link (Jon Maloy) [1693452] - [net] tipc: enable tracepoints in tipc (Jon Maloy) [1693452] - [net] tipc: handle broadcast NAME_DISTRIBUTOR packet when receiving it (Jon Maloy) [1693452] - [net] tipc: check group dests after tipc_wait_for_cond() (Jon Maloy) [1693452] - [net] tipc: check tsk->group in tipc_wait_for_cond() (Jon Maloy) [1693452] - [net] tipc: compare remote and local protocols in tipc_udp_enable() (Jon Maloy) [1693452] - [net] tipc: use lock_sock() in tipc_sk_reinit() (Jon Maloy) [1693452] - [net] tipc: fix node keep alive interval calculation (Jon Maloy) [1693452] - [net] tipc: fix lockdep warning during node delete (Jon Maloy) [1693452] - [net] tipc: don't assume linear buffer when reading ancillary data (Jon Maloy) [1693452] - [net] tipc: fix lockdep warning when reinitilaizing sockets (Jon Maloy) [1693452] - [net] tipc: fix link re-establish failure (Jon Maloy) [1693452] - [net] tipc: improve broadcast retransmission algorithm (Jon Maloy) [1693452] - [net] tipc: use destination length for copy string (Jon Maloy) [1693452] - [net] tipc: support binding to specific ip address when activating UDP bearer (Jon Maloy) [1677371 1693452] - [net] tipc: remainder of commit ignore STATE_MSG on wrong link session (Jon Maloy) [1693452] - [net] tipc: buffer overflow handling in listener socket (Jon Maloy) [1693452] - [net] tipc: add SYN bit to connection setup messages (Jon Maloy) [1693452] - [net] tipc: refactor function tipc_sk_filter_connect() (Jon Maloy) [1693452] - [net] tipc: refactor function tipc_sk_timeout() (Jon Maloy) [1693452] - [net] tipc: refactor function tipc_msg_reverse() (Jon Maloy) [1693452] - [net] tipc: Add and use skb_mark_not_on_list(). (Jon Maloy) [1693452] - [net] tipc: correct spelling errors for tipc_topsrv_queue_evt() comments (Jon Maloy) [1693452] - [net] tipc: correct spelling errors for struct tipc_bc_base's comment (Jon Maloy) [1693452] - [net] tipc: correct structure parameter comments for topsrv (Jon Maloy) [1693452] - [net] net/tipc: remove redundant variables 'tn' and 'oport' (Jon Maloy) [1693452] - [net] net: tipc: bcast: Replace GFP_ATOMIC with GFP_KERNEL in tipc_bcast_init() (Jon Maloy) [1693452] - [net] net: tipc: name_table: Replace GFP_ATOMIC with GFP_KERNEL in tipc_nametbl_init() (Jon Maloy) [1693452] - [net] tipc: make some functions static (Jon Maloy) [1693452] - [net] tipc: make link capability update thread safe (Jon Maloy) [1693452] - [net] tipc: remove unused tipc_group_size (Jon Maloy) [1693452] - [net] tipc: remove unused tipc_link_is_active (Jon Maloy) [1693452] - [net] tipc: check session number before accepting link protocol messages (Jon Maloy) [1693452] - [net] tipc: add sequence number check for link STATE messages (Jon Maloy) [1693452] - [net] tipc: mark expected switch fall-throughs (Jon Maloy) [1693452] - [net] tipc: extend sock diag for group communication (Jon Maloy) [1693452] - [net] tipc: Auto removal of peer down node instance (Jon Maloy) [1693452] - [net] tipc: optimize function tipc_node_timeout() (Jon Maloy) [1693452] - [net] tipc: eliminate buffer cloning in function tipc_msg_extract() (Jon Maloy) [1693452] - [net] netfilter: nf_conncount: fix argument order to find_next_bit (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: speculative garbage collection on empty lists (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: move all list iterations under spinlock (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: merge lookup and add functions (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: restart search when nodes have been erased (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: split gc in two phases (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: don't skip eviction when age is negative (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: replace CONNCOUNT_LOCK_SLOTS with CONNCOUNT_SLOTS (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: use rb_link_node_rcu() instead of rb_link_node() (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: remove wrong condition check routine (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: fix unexpected permanent node of list. (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: fix list_del corruption in conn_free (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: use spin_lock_bh instead of spin_lock (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Add list lock and gc worker, and RCU for init tree search (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Split insert and traversal (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Move locking into count_tree() (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Early exit in nf_conncount_lookup() and cleanup (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Switch to plain list (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Early exit for garbage collection (Florian Westphal) [1531074] - [net] ptp: uapi: change _IOW to IOWR in PTP_SYS_OFFSET_EXTENDED definition (Hangbin Liu) [1677215] - [net] ptp: check that rsv field is zero in struct ptp_sys_offset_extended (Hangbin Liu) [1677215] - [net] ptp: deprecate gettime64() in favor of gettimex64() (Hangbin Liu) [1677215] - [net] ptp: add PTP_SYS_OFFSET_EXTENDED ioctl (Hangbin Liu) [1677215] - [net] ptp: check gettime64 return code in PTP_SYS_OFFSET ioctl (Hangbin Liu) [1677215] - [net] ptp: reorder declarations in ptp_ioctl() (Hangbin Liu) [1677215] - [net] tuntap: fix multiqueue rx (Guillaume Nault) [1686563]- [edac] EDAC/amd64: Add Family 17h Model 30h PCI IDs (Aristeu Rozanski) [1696603] - [x86] Update stepping values for coffee lake desktop (David Arcari) [1704800] - [security] KEYS: trusted: allow trusted.ko to initialize w/o a TPM (Jerry Snitselaar) [1694208] - [security] tpm: pass an array of tpm_extend_digest structures to tpm_pcr_extend() (Jerry Snitselaar) [1665130 1665129] - [security] KEYS: trusted: explicitly use tpm_chip structure from tpm_default_chip() (Jerry Snitselaar) [1665130 1665129] - [char] tpm/ppi: Enable submission of optional command parameter for PPI 1.3 (Jerry Snitselaar) [1665130] - [char] tpm/ppi: Possibly show command parameter if TPM PPI 1.3 is used (Jerry Snitselaar) [1665130] - [char] tpm/ppi: Display up to 101 operations as define for version 1.3 (Jerry Snitselaar) [1665130] - [char] tpm/ppi: rename TPM_PPI_REVISION_ID to TPM_PPI_REVISION_ID_1 (Jerry Snitselaar) [1665130] - [char] tpm/ppi: pass function revision ID to tpm_eval_dsm() (Jerry Snitselaar) [1665130] - [char] tpm: Fix the type of the return value in calc_tpm2_event_size() (Jerry Snitselaar) [1694208 1665129] - [char] tpm: fix an invalid condition in tpm_common_poll (Jerry Snitselaar) [1694208] - [char] tpm: turn on TPM on suspend for TPM 1.x (Jerry Snitselaar) [1694208 1665130] - [char] tpm: move tpm_chip definition to include/linux/tpm.h (Jerry Snitselaar) [1665129] - [char] tpm: retrieve digest size of unknown algorithms with PCR read (Jerry Snitselaar) [1665130 1665129] - [char] tpm: rename and export tpm2_digest and tpm2_algorithms (Jerry Snitselaar) [1665130 1665129] - [char] tpm: dynamically allocate the allocated_banks array (Jerry Snitselaar) [1665130 1665129] - [char] tpm: remove @flags from tpm_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: take TPM chip power gating out of tpm_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: introduce tpm_chip_start() and tpm_chip_stop() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: remove TPM_TRANSMIT_UNLOCKED flag (Jerry Snitselaar) [1665130 1665129] - [char] tpm: use tpm_try_get_ops() in tpm-sysfs.c. (Jerry Snitselaar) [1665130] - [char] tpm: remove @space from tpm_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: move TPM space code out of tpm_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: move tpm_validate_commmand() to tpm2-space.c (Jerry Snitselaar) [1665130 1665129] - [char] tpm: clean up tpm_try_transmit() error handling flow (Jerry Snitselaar) [1665130 1665129] - [char] tpm: encapsulate tpm_dev_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: access command header through struct in tpm_try_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: declare struct tpm_header (Jerry Snitselaar) [1665130 1665129] - [char] tpm: print tpm2_commit_space() error inside tpm2_commit_space() (Jerry Snitselaar) [1665129] - [char] tpm: return 0 from pcrs_show() when tpm1_pcr_read() fails (Jerry Snitselaar) [1665130] - [char] tpm: fix invalid return value in pubek_show() (Jerry Snitselaar) [1694208 1665130] - [char] tpm: use tpm_buf in tpm_transmit_cmd() as the IO parameter (Jerry Snitselaar) [1665130 1665129] - [char] tpm: don't return bool from update_timeouts (Jerry Snitselaar) [1665130] - [char] tpm: don't print error message in tpm_transmit_cmd when tpm still testing (Jerry Snitselaar) [1665129] - [char] tpm: add _head suffix to tcg_efi_specid_event and tcg_pcr_event2 (Jerry Snitselaar) [1665129] - [char] tpm: Fix off-by-one when reading binary_bios_measurements (Jerry Snitselaar) [1694208 1665130] - [char] tpm: Simplify the measurements loop (Jerry Snitselaar) [1665130] - [char] tpm/tpm_i2c_atmel: Return -E2BIG when the transfer is incomplete (Jerry Snitselaar) [1694208] - [char] tpm: Unify the send callback behaviour (Jerry Snitselaar) [1665129] - [char] tpm: Fix some name collisions with drivers/char/tpm.h (Jerry Snitselaar) [1694208] - [char] tpm/tpm_crb: Avoid unaligned reads in crb_recv() (Jerry Snitselaar) [1694208 1665129] - [char] tpm: add support for partial reads (Jerry Snitselaar) [1665129] - [char] tpm: tpm_ibmvtpm: fix kdoc warnings (Jerry Snitselaar) [1665129] - [char] tpm: fix kdoc for tpm2_flush_context_cmd() (Jerry Snitselaar) [1694208 1665129] - [char] tpm: tpm_try_transmit() refactor error flow. (Jerry Snitselaar) [1694208 1665129] - [char] tpm: use u32 instead of int for PCR index (Jerry Snitselaar) [1665130 1665129] - [security] ima: Get rid of ima_used_chip and use ima_tpm_chip != NULL instead (Jerry Snitselaar) [1665130 1665129] - [security] ima: Use tpm_default_chip() and call TPM functions with a tpm_chip (Jerry Snitselaar) [1665129] - [char] tpm1: reimplement tpm1_continue_selftest() using tpm_buf (Jerry Snitselaar) [1665130] - [char] tpm1: reimplement SAVESTATE using tpm_buf (Jerry Snitselaar) [1665130] - [char] tpm1: rename tpm1_pcr_read_dev to tpm1_pcr_read() (Jerry Snitselaar) [1665130] - [char] tpm1: implement tpm1_pcr_read_dev() using tpm_buf structure (Jerry Snitselaar) [1665130] - [char] tpm: tpm1: rewrite tpm1_get_random() using tpm_buf structure (Jerry Snitselaar) [1665130] - [char] tpm: tpm-space.c remove unneeded semicolon (Jerry Snitselaar) [1665129] - [char] tpm: tpm-interface.c drop unused macros (Jerry Snitselaar) [1694208 1665130] - [char] tpm: add tpm_auto_startup() into tpm-interface.c (Jerry Snitselaar) [1665129] - [char] tpm: factor out tpm_startup function (Jerry Snitselaar) [1665130 1665129] - [char] tpm: factor out tpm 1.x pm suspend flow into tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: move tpm 1.x selftest code from tpm-interface.c tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: factor out tpm1_get_random into tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: move tpm_getcap to tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: move tpm1_pcr_extend to tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: factor out tpm_get_timeouts() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: add tpm_calc_ordinal_duration() wrapper (Jerry Snitselaar) [1665130 1665129] - [char] tpm: factor out tpm 1.x duration calculation to tpm1-cmd.c (Jerry Snitselaar) [1665130 1665129] - [char] tpm: sort objects in the Makefile (Jerry Snitselaar) [1665129] - [char] tpm2: add new tpm2 commands according to TCG 1.36 (Jerry Snitselaar) [1665129] - [char] tpm: tpm_i2c_nuvoton: use correct command duration for TPM 2.x (Jerry Snitselaar) [1665129] - [char] tpm: add support for nonblocking operation (Jerry Snitselaar) [1665129] - [char] tpm: add ptr to the tpm_space struct to file_priv (Jerry Snitselaar) [1665129] - [char] tpm: Make SECURITYFS a weak dependency (Jerry Snitselaar) [1665129] - [char] tpm: suppress transmit cmd error logs when TPM 1.2 is disabled/deactivated (Jerry Snitselaar) [1665130] - [char] tpm: fix response size validation in tpm_get_random() (Jerry Snitselaar) [1694208 1665129] - [char] tpm: replace TPM_TRANSMIT_RAW with TPM_TRANSMIT_NESTED (Jerry Snitselaar) [1665129] - [char] tpm: Convert tpm_find_get_ops() to use tpm_default_chip() (Jerry Snitselaar) [1665129] - [char] tpm: Implement tpm_default_chip() to find a TPM chip (Jerry Snitselaar) [1665129] - [char] tpm: rename tpm_chip_find_get() to tpm_find_get_ops() (Jerry Snitselaar) [1665129] - [char] tpm: Allow tpm_tis drivers to set hwrng quality. (Jerry Snitselaar) [1665129] - [char] tpm: Return the actual size when receiving an unsupported command (Jerry Snitselaar) [1694208 1665129] - [char] tpm/tpm_i2c_infineon: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (Jerry Snitselaar) [1665129] - [char] tpm_tis_spi: Pass the SPI IRQ down to the driver (Jerry Snitselaar) [1665129] - [char] tpm: migrate tpm2_get_random() to use struct tpm_buf (Jerry Snitselaar) [1665129] - [char] tpm: migrate tpm2_get_tpm_pt() to use struct tpm_buf (Jerry Snitselaar) [1665129] - [char] tpm: migrate tpm2_probe() to use struct tpm_buf (Jerry Snitselaar) [1665129] - [char] tpm: migrate tpm2_shutdown() to use struct tpm_buf (Jerry Snitselaar) [1665129] - [pci] PCI: Fix __initdata issue with "pci=disable_acs_redir" parameter (Myron Stowe) [1704979] - [s390] s390/pci: skip VF scanning (Myron Stowe) [1704979] - [pci] PCI/IOV: Add flag so platforms can skip VF scanning (Myron Stowe) [1704979] - [pci] PCI/IOV: Factor out sriov_add_vfs() (Myron Stowe) [1704979] - [pci] switchtec: Add MRPC DMA mode support (Myron Stowe) [1704979] - [pci] switchtec: Improve MRPC efficiency by enabling write combining (Myron Stowe) [1704979] - [pci] switchtec: Fix SWITCHTEC_IOCTL_EVENT_IDX_ALL flags overwrite (Myron Stowe) [1704979] - [pci] switchtec: Set DMA coherent mask (Myron Stowe) [1704979] - [pci] switchtec: Remove immediate status check after submitting MRPC command (Myron Stowe) [1704979] - [pci] PCI / PM: Allow runtime PM without callback functions (Myron Stowe) [1704979] - [pci] PCI/P2PDMA: Clean up documentation and kernel-doc (Myron Stowe) [1704979] - [pci] PCI: Remove unnecessary space before function pointer arguments (Myron Stowe) [1704979] - [maintainers] MAINTAINERS: Add x86 early-quirks.c file pattern to PCI subsystem (Myron Stowe) [1704979] - [pci] PCI: Expand the "PF" acronym in Kconfig help text (Myron Stowe) [1704979] - [x86] x86/PCI: Fix Broadcom CNB20LE unintended sign extension (redux) (Myron Stowe) [1704979] - [pci] PCI/ASPM: Remove unused lists from struct pcie_link_state (Myron Stowe) [1704979] - [pci] PCI / ACPI: Identify untrusted PCI devices (Myron Stowe) [1704979]- [documentation] x86/resctrl: Update Documentation/x86/resctrl_ui.txt (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Remove unnecessary check for cbm_validate() (Prarit Bhargava) [1504489] - [maintainers] MAINTAINERS: Update resctrl filename patterns (Prarit Bhargava) [1504489] - [documentation] Documentation: Rename and update intel_rdt_ui.txt to resctrl_ui.txt (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Introduce AMD QOS feature (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Fixup the user-visible strings (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Add AMD's X86_FEATURE_MBA to the scattered CPUID features (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Rename the config option INTEL_RDT to RESCTRL (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Add vendor check for the MBA software controller (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Bring cbm_validate() into the resource structure (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Initialize the vendor-specific resource functions (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Move all the macros to resctrl/internal.h (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Re-arrange the RDT init code (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Rename the RDT functions and definitions (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Rename and move rdt files to a separate directory (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Prevent pseudo-locking from using stale pointers (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix initial allocation to consider CDP (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: CBM overlap should also check for overlap with CDP peer (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce utility to obtain CDP peer (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix out-of-bounds memory access in CBM tests (Prarit Bhargava) [1504489] - [x86] perf/x86: Add helper to obtain performance counter index (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Switch to bitmap_zalloc() (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Re-enable pseudo-lock measurements (Prarit Bhargava) [1504489] - [x86] x86/cpu: Sanitize FAM6_ATOM naming (David Arcari) [1504489] - [x86] x86/intel_rdt: Use perf infrastructure for measurements (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Create required perf event attributes (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Remove local register variables (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix incorrect loop end condition (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix exclusive mode handling of MBA resource (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix incorrect loop end condition (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Do not allow pseudo-locking of MBA resource (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix unchecked MSR access (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix invalid mode warning when multiple resources are managed (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Global closid helper to support future fixes (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix size reporting of MBA resource (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix data type in parsing callbacks (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Disable PMU access (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix possible circular lock dependency (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Make CPU information accessible for pseudo-locked regions (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support restoration of subset of permissions (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix cleanup of plr structure on error (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Move pseudo_lock_region_clear() (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Limit C-states dynamically when pseudo-locking active (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support L3 cache performance event of Broadwell (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: More precise L2 hit/miss measurements (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Create character device exposing pseudo-locked region (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Create debugfs files for pseudo-locking testing (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Create resctrl debug area (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Ensure RDT cleanup on exit (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Resctrl files reflect pseudo-locked information (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support creation/removal of pseudo-locked region (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Pseudo-lock region creation/removal core (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Discover supported platforms via prefetch disable bits (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Add utilities to test pseudo-locked region possibility (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Split resource group removal in two (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Enable entering of pseudo-locksetup mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support enter/exit of locksetup mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce pseudo-locked region (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Add check to determine if monitoring in progress (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Utilities to restrict/restore access to specific files (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Protect against resource group changes during locking (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Add utility to restrict/restore access to resctrl files (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Add utility to test if tasks assigned to resource group (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Respect read and write access (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce the Cache Pseudo-Locking modes (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Display resource groups' allocations' size in bytes (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce "bit_usage" to display cache allocations details (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Ensure requested schemata respects mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support flexible data to parsing callbacks (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Making CBM name and type more explicit (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Enable setting of exclusive mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce new "exclusive" mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Initialize new resource group with sane defaults (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Make useful functions available internally (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce test to determine if closid is in use (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce resource group's mode resctrl file (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Associate mode with each RDT resource group (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce RDT resource group mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Provide pseudo-locking hooks within rdt_mount (Prarit Bhargava) [1504489] - [x86] perf/x86: Make perf callchains work without CONFIG_FRAME_POINTER (Jiri Olsa) [1699780]- [kernel] sched/fair: Do not re-read ->h_load_next during hierarchical load calculation (Phil Auld) [1701762] - [s390] kvm: s390: enable MSA9 keywrapping functions depending on cpu model (Thomas Huth) [1660913] - [s390] kvm: s390: add deflate conversion facilty to cpu model (Thomas Huth) [1660913] - [s390] kvm: s390: add enhanced sort facilty to cpu model (Thomas Huth) [1660913] - [s390] kvm: s390: provide query function for instructions returning 32 byte (Thomas Huth) [1660913] - [s390] kvm: s390: add MSA9 to cpumodel (Thomas Huth) [1660913] - [s390] kvm: s390: add vector BCD enhancements facility to cpumodel (Thomas Huth) [1660913] - [s390] kvm: s390: add vector enhancements facility 2 to cpumodel (Thomas Huth) [1660913] - [s390] kvm: s390: add debug logging for cpu model subfunctions (Thomas Huth) [1660913] - [s390] kvm: s390: implement subfunction processor calls (Thomas Huth) [1660913] - [powercap] powercap: intel_rapl: add support for Jacobsville (Steve Best) [1482401] - [x86] x86/cpu: Add Atom Tremont (Jacobsville) (Steve Best) [1482401]- [crypto] crypto: qat - Remove unused goto label (Neil Horman) [1660313] - [crypto] crypto: prefix header search paths with $(srctree)/ (Neil Horman) [1660313] - [crypto] crypto: qat - no need to check return value of debugfs_create functions (Neil Horman) [1660313] - [crypto] cross-tree: phase out dma_zalloc_coherent() (Neil Horman) [1660313] - [crypto] crypto: qat - move temp buffers off the stack (Neil Horman) [1660313] - [crypto] crypto: qat - Remove VLA usage (Neil Horman) [1660313] - [include] block: kill all_q_node in request_queue (Ming Lei) [1702865] - [block] bfq: update internal depth state when queue depth changes (Ming Lei) [1702865] - [fs] block: fix the return errno for direct IO (Ming Lei) [1702865] - [block] block: do not leak memory in bio_copy_user_iov() (Ming Lei) [1702865] - [nvme] nvme: cancel request synchronously (Ming Lei) [1702865] - [block] blk-mq: introduce blk_mq_complete_request_sync() (Ming Lei) [1702865] - [scsi] scsi: virtio_scsi: limit number of hw queues by nr_cpu_ids (Ming Lei) [1702865] - [block] virtio-blk: limit number of hw queues by nr_cpu_ids (Ming Lei) [1702865] - [block] block, bfq: fix use after free in bfq_bfqq_expire (Ming Lei) [1702865] - [block] paride/pcd: Fix potential NULL pointer dereference and mem leak (Ming Lei) [1702865] - [block] blk-mq: do not reset plug->rq_count before the list is sorted (Ming Lei) [1702865] - [block] paride/pf: Fix potential NULL pointer dereference (Ming Lei) [1702865] - [block] blk-mq: add trace block plug and unplug for multiple queues (Ming Lei) [1702865] - [block] block: use blk_free_flush_queue() to free hctx->fq in blk_mq_init_hctx (Ming Lei) [1702865] - [block] paride/pcd: cleanup queues when detection fails (Ming Lei) [1702865] - [block] paride/pf: cleanup queues when detection fails (Ming Lei) [1702865] - [crypto] crypto: chelsio - Fixed Traffic Stall (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Fix passing zero to 'PTR_ERR' warning in chcr_aead_op (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Inline single pdu only (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - avoid using sa_entry imm (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - remove set but not used variables 'adap' (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - check set_msg_len overflow in generate_b0 (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Fix wrong error counter increments (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Reset counters on cxgb4 Detach (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Handle PCI shutdown event (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - cleanup:send addr as value in function argument (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Use same value for both channel in single WR (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Swap location of AAD and IV sent in WR (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - remove set but not used variable 'kctx_len' (Arjun Vynipadath) [1664679] - [crypto] drivers: chelsio: use skb_sec_path helper (Arjun Vynipadath) [1664679] - [crypto] crypto: chcr - ESN for Inline IPSec Tx (Arjun Vynipadath) [1664679] - [crypto] crypto: chcr - small packet Tx stalls the queue (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - clean up various indentation issues (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Update ntx queue received from cxgb4 (Arjun Vynipadath) [1664679]- [platform] platform/x86: intel_pmc_core: Convert to INTEL_CPU_FAM6 macro (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Avoid a u32 overflow (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Include Reserved IP for LTR (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Fix file permissions for ltr_show (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Fix PCH IP name (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Fix PCH IP sts reading (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Handle CFL regmap properly (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: convert to DEFINE_SHOW_ATTRIBUTE (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Decode Snoop / Non Snoop LTR (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Fix LTR IGNORE Max offset (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Show Latency Tolerance info (David Arcari) [1658080] - [platform] platform/x86: intel_pmc: Convert to use SPDX identifier (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Add CNP SLPS0 debug registers (David Arcari) [1658080] - [x86] x86/cpu: Introduce INTEL_CPU_FAM*() helper macros (David Arcari) [1658080] - [include] locking/atomics, asm-generic: Move some macros from to a new file (David Arcari) [1658080] - [s390] s390/kasan: fix strncpy_from_user kasan checks (Philipp Rudo) [1665182] - [s390] s390: correct some inline assembly constraints (Philipp Rudo) [1665182] - [s390] s390/kasan: improve string/memory functions checks (Philipp Rudo) [1665182] - [include] compiler: remove __no_sanitize_address_or_inline again (Philipp Rudo) [1665182] - [s390] s390/kasan: increase instrumented stack size to 64k (Philipp Rudo) [1665182] - [mm] s390/kasan: support preemptible kernel build (Philipp Rudo) [1665182] - [mm] s390/kasan: add support for mem= kernel parameter (Philipp Rudo) [1665182] - [mm] s390/kasan: optimize kasan vmemmap allocation (Philipp Rudo) [1665182] - [mm] s390/kasan: avoid kasan crash with standby memory defined (Philipp Rudo) [1665182] - [s390] s390/head: avoid doubling early boot stack size under KASAN (Philipp Rudo) [1665182] - [mm] s390/mm: improve debugfs ptdump markers walking (Philipp Rudo) [1665182] - [mm] s390/mm: optimize debugfs ptdump kasan zero page walking (Philipp Rudo) [1665182] - [s390] s390/kasan: add option for 4-level paging support (Philipp Rudo) [1665182] - [mm] s390/kasan: free early identity mapping structures (Philipp Rudo) [1665182] - [s390] s390/kasan: enable stack and global variables access checks (Philipp Rudo) [1665182] - [s390] s390/dumpstack: disable __dump_trace kasan instrumentation (Philipp Rudo) [1665182] - [s390] s390/kasan: reipl and kexec support (Philipp Rudo) [1665182] - [s390] s390/smp: kasan stack instrumentation support (Philipp Rudo) [1665182] - [include] compiler: introduce __no_sanitize_address_or_inline (Philipp Rudo) [1665182] - [s390] s390/kasan: use noexec and large pages (Philipp Rudo) [1665182] - [mm] s390/kasan: dynamic shadow mem allocation for modules (Philipp Rudo) [1665182] - [mm] s390/mm: add kasan shadow to the debugfs pgtable dump (Philipp Rudo) [1665182] - [s390] s390/kasan: avoid user access code instrumentation (Philipp Rudo) [1665182] - [s390] s390/kasan: double the stack size (Philipp Rudo) [1665182] - [s390] s390/kasan: add initialization code and enable it (Philipp Rudo) [1665182] - [s390] s390: add pgd_page primitive (Philipp Rudo) [1665182] - [s390] s390: introduce MAX_PTRS_PER_P4D (Philipp Rudo) [1665182] - [s390] s390/kasan: replace some memory functions (Philipp Rudo) [1665182] - [s390] s390/kasan: avoid instrumentation of early C code (Philipp Rudo) [1665182] - [s390] s390/kasan: avoid vdso instrumentation (Philipp Rudo) [1665182] - [s390] s390/mm: add missing pfn_to_kaddr helper (Philipp Rudo) [1665182] - [s390] s390/cpum_cf: Add support for CPU-MF SVN 6 (Philipp Rudo) [1683278] - [s390] s390: report new CPU capabilities (Philipp Rudo) [1685086] - [net] net/smc: fix smc_poll in SMC_INIT state (Philipp Rudo) [1700812] - [net] net/smc: fix byte_order for rx_curs_confirmed (Philipp Rudo) [1700812] - [net] net/smc: check port_idx of ib event (Philipp Rudo) [1700799] - [net] net/smc: check connections in smc_lgr_free_work (Philipp Rudo) [1700799] - [net] net/smc: reduce amount of status updates to peer (Philipp Rudo) [1700799] - [net] net/smc: no delay for free tx buffer wait (Philipp Rudo) [1700799] - [net] net/smc: move wake up of close waiter (Philipp Rudo) [1700799] - [net] net/smc: reset cursor update required flag (Philipp Rudo) [1700799] - [net] net/smc: correct state change for peer closing (Philipp Rudo) [1700799] - [net] net/smc: delete rkey first before switching to unused (Philipp Rudo) [1700799] - [net] net/smc: fix sender_free computation (Philipp Rudo) [1700799] - [net] net/smc: preallocated memory for rdma work requests (Philipp Rudo) [1700799] - [net] net/smc: fix use of variable in cleared area (Philipp Rudo) [1700799] - [net] net/smc: use device link provided in qp_context (Philipp Rudo) [1700799] - [net] net/smc: call smc_cdc_msg_send() under send_lock (Philipp Rudo) [1700799] - [net] net/smc: do not wait under send_lock (Philipp Rudo) [1700799] - [net] net/smc: recvmsg and splice_read should return 0 after shutdown (Philipp Rudo) [1700799] - [net] net/smc: don't wait for send buffer space when data was already sent (Philipp Rudo) [1700799] - [net] net/smc: prevent races between smc_lgr_terminate() and smc_conn_free() (Philipp Rudo) [1700799] - [net] net/smc: allow 16 byte pnetids in netlink policy (Philipp Rudo) [1700799] - [net] net/smc: fix another sizeof to int comparison (Philipp Rudo) [1700799] - [net] net/smc: move code to clear the conn->lgr field (Philipp Rudo) [1700799] - [net] net/smc: use client and server LGR pending locks for SMC-R (Philipp Rudo) [1700799] - [net] net/smc: unlock LGR pending lock earlier for SMC-D (Philipp Rudo) [1700799] - [net] net/smc: use smc_curs_copy() for SMC-D (Philipp Rudo) [1700799] - [net] net/smc: postpone release of clcsock (Philipp Rudo) [1700799] - [net] smc: move unhash as early as possible in smc_release() (Philipp Rudo) [1700799] - [net] net/smc: fix TCP fallback socket release (Philipp Rudo) [1700799] - [s390] s390/ism: ignore some errors during deregistration (Philipp Rudo) [1700799] - [infiniband] mlx4: trigger IB events needed by SMC (Philipp Rudo) [1700799] - [s390] s390/smp: fix CPU hotplug deadlock with CPU rescan (Philipp Rudo) [1700836] - [block] s390/dasd: fix panic for failed online processing (Philipp Rudo) [1700811] - [netdrv] s390/qeth: fix use-after-free in error path (Philipp Rudo) [1700803] - [netdrv] s390/qeth: cancel close_dev work before removing a card (Philipp Rudo) [1700802] - [netdrv] s390/qeth: conclude all event processing before offlining a card (Philipp Rudo) [1700800] - [scsi] scsi: zfcp: fix posting too many status read buffers leading to adapter shutdown (Philipp Rudo) [1700775] - [fs] xfs: prohibit fstrim in norecovery mode (Bill O'Donnell) [1697749] - [x86] perf/x86: Fixup typo in stub functions (Waiman Long) [1688789] - [x86] perf/x86/intel: Fix memory corruption (Waiman Long) [1688789] - [x86] perf/x86/intel: Implement support for TSX Force Abort (Waiman Long) [1688789] - [x86] x86: Add TSX Force Abort CPUID/MSR (Waiman Long) [1688789] - [x86] perf/x86/intel: Generalize dynamic constraint creation (Waiman Long) [1688789] - [x86] perf/x86/intel: Make cpuc allocations consistent (Waiman Long) [1688789] - [x86] perf/x86/intel: Delay memory deallocation until x86_pmu_dead_cpu() (Waiman Long) [1688789] - [x86] perf/x86/intel: Export mem events only if there's PEBS support (Waiman Long) [1688789] - [x86] perf/x86/intel: Add a separate Arch Perfmon v4 PMI handler (Waiman Long) [1688789] - [x86] perf/x86/intel: Factor out common code of PMI handler (Waiman Long) [1688789] - [x86] perf/x86/intel: Introduce PMU flag for Extended PEBS (Waiman Long) [1688789] - [x86] x86/speculation: Add PR_SPEC_DISABLE_NOEXEC (Waiman Long) [1671512]- [kernel] exit from RHEL 8.1 early ystream mode ("Herton R. Krzesinski") - [net] Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer (Gopal Tiwari) [1700507] {CVE-2019-3459} - [target] scsi: target: iscsi: cxgbit: fix csk leak (Arjun Vynipadath) [1664683] - [target] scsi: target: iscsi: cxgbit: add missing spin_lock_init() (Arjun Vynipadath) [1664683] - [scsi] scsi: cxgb4i: fix incorrect spelling "reveive" -> "receive" (Arjun Vynipadath) [1664685] - [scsi] scsi: libcxgbi: update route finding logic (Arjun Vynipadath) [1664685] - [scsi] scsi: libcxgbi: find cxgbi device by MAC address (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgbi: remove redundant __kfree_skb call on skb and free cst->atid (Arjun Vynipadath) [1664685] - [scsi] scsi: libcxgbi: remove uninitialized variable len (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: validate tcp sequence number only if chip version <= T5 (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: get pf number from lldi->pf (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: add wait_for_completion() (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: fix thermal configuration dependencies (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: add DCB support for iSCSI connections (Arjun Vynipadath) [1664685] - [netdrv] cxgb4: Don't return EAGAIN when TCAM is full. (Arjun Vynipadath) [1664670] - [netdrv] chelsio: use BUG() instead of BUG_ON(1) (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/chtls: Prefix adapter flags with CXGB4 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4vf: Call netif_carrier_off properly in pci_probe (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4vf: Revert force link up behaviour (Arjun Vynipadath) [1664682] - [netdrv] cxgb4: Add VF Link state support (Arjun Vynipadath) [1664670] - [netdrv] cxgb4vf: Prefix adapter flags with CXGB4VF (Arjun Vynipadath) [1664682] - [netdrv] cxgb4vf: Enter debugging mode if FW is inaccessible (Arjun Vynipadath) [1664682] - [netdrv] cxgb4: Enable outer UDP checksum offload for T6 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/cxgb4vf: Fix up netdev->hw_features (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4: Mask out interrupts that are not enabled. (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Export sge_host_page_size to ulds (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add capability to get/set SGE Doorbell Queue Timer Tick (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/cxgb4vf: Add support for SGE doorbell queue timer (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4vf: Few more link management changes. (Arjun Vynipadath) [1664682] - [netdrv] cxgb4: add tcb flags and tcb rpl struct (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add new T6 PCI device ids 0x608b (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/cxgb4vf: Program hash region for {t4/t4vf}_change_mac() (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4: smt: use struct_size() in kvzalloc() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: sched: use struct_size() in kvzalloc() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: cxgb4_tc_u32: use struct_size() in kvzalloc() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4vf: Update port information in cxgb4vf_open() (Arjun Vynipadath) [1664682] - [netdrv] cxgb4/cxgb4vf: Link management changes (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4: TLS record offload enable (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: clip_tbl: Use struct_size() in kvzalloc() (Arjun Vynipadath) [1664670] - [netdrv] net: cxgb4: fix various indentation issues (Arjun Vynipadath) [1664670] - [netdrv] net: chelsio: Add a missing check on cudg_get_buffer (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove DEFINE_SIMPLE_DEBUGFS_FILE() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: number of VFs supported is not always 16 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove set but not used variables 'multitrc, speed' (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: use new fw interface to get the VIN and smt index (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/cxgb4vf: Fix mac_hlist initialization and free (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4vf: fix memleak in mac_hlist initialization (Arjun Vynipadath) [1664682] - [netdrv] cxgb4vf: free mac_hlist properly (Arjun Vynipadath) [1664682] - [netdrv] cxgb4: free mac_hlist properly (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix thermal zone build error (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix thermal configuration dependencies (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add thermal zone support (Arjun Vynipadath) [1664670] - [infiniband] cxgb4: use __vlan_hwaccel helpers (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add new T6 PCI device ids 0x608a (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix the error path of cxgb4_uld_register() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: use FW_PORT_ACTION_L1_CFG32 for 32 bit capability (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove the unneeded locks (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Use proper enum in IEEE_FAUX_SYNC (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Use proper enum in cxgb4_dcb_handle_fw_update (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove duplicated include from cxgb4_main.c (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: add per rx-queue counter for packet errors (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Fix endianness issue in t4_fwcache() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix abort_req_rss6 struct (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove redundant assignment to vlan_cmd.dropnovlan_fm (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: collect hardware queue descriptors (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add new T5 PCI device ids 0x50af and 0x50b0 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove set but not used variable 'spd' (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: add support to display DCB info (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/t4_hw: mark expected switch fall-throughs (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/l2t: Mark expected switch fall-through (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix endian to test F_FW_PORT_CMD_DCBXDIS32 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: print ULD queue information managed by LLD (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: move Tx/Rx free pages collection to common code (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add support to read actual provisioned resources (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add new T5 PCI device id 0x50ae (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: collect number of free PSTRUCT page pointers (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: display number of rx and tx pages free (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: collect ASIC LA dumps from ULP TX (Arjun Vynipadath) [1664670] - [netdrv] libcxgb: replace vmalloc and memset with vzalloc (Arjun Vynipadath) [1664670] - [netdrv] enic: fix checksum validation for IPv6 (Jonathan Toppins) [1685309] - [infiniband] RDMA/vmw_pvrdma: Return the correct opcode when creating WR (Jonathan Toppins) [1688010 1685309] - [infiniband] RDMA/vmw_pvrdma: Use atomic memory allocation in create AH (Jonathan Toppins) [1685309] - [infiniband] IB/usnic: fix spelling mistake "miniumum" -> "minimum" (Jonathan Toppins) [1685309] - [infiniband] RDMA/drivers: Fix spelling mistake "initalize" -> "initialize" (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Reuse code which sets port state (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Make counters thread safe (Jonathan Toppins) [1685309] - [infiniband] RDMA: Cleanup undesired pd->uobject usage (Jonathan Toppins) [1685309] - [infiniband] IB/{mlx5, ocrdma, qedr, rxe}: Omit port validation from IB verbs (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Fix incorrect cache cleanup in error flow (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Utilize generic function to validate port number (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Make function rxe_pool_cleanup return void (Jonathan Toppins) [1685309] - [infiniband] rxe: IB_WR_REG_MR does not capture MR's iova field (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: make rxe_unregister_device void (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: move the variable into the function that uses it (Jonathan Toppins) [1685309] - [infiniband] RDMA/rxe: Add link_down, rdma_sends, rdma_recvs stats counters (Jonathan Toppins) [1685309] - [infiniband] RDMA/rxe: Distinguish between down links and disabled links (Jonathan Toppins) [1685309] - [infiniband] rxe: fix error completion wr_id and qp_num (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: clean skb queue directly (Jonathan Toppins) [1685309] - [net] xprtrdma: Make sure Send CQ is allocated on an existing compvec (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Rework SCSI device reset handling (Jonathan Toppins) [1685309] - [infiniband] IB/ipoib: Fix for use-after-free in ipoib_cm_tx_start (Jonathan Toppins) [1685309] - [net] xprtrdma: Double free in rpcrdma_sendctxs_create() (Jonathan Toppins) [1685309] - [net] xprtrdma: Fix error code in rpcrdma_buffer_create() (Jonathan Toppins) [1685309] - [infiniband] IB/ipoib: drop useless LIST_HEAD (Jonathan Toppins) [1685309] - [net] xprtrdma: Prevent leak of rpcrdma_rep objects (Jonathan Toppins) [1685309] - [net] xprtrdma: Don't leak freed MRs (Jonathan Toppins) [1685309] - [net] xprtrdma: Add documenting comment for rpcrdma_buffer_destroy (Jonathan Toppins) [1685309] - [net] xprtrdma: Replace outdated comment for rpcrdma_ep_post (Jonathan Toppins) [1685309] - [net] xprtrdma: Update comments in frwr_op_send (Jonathan Toppins) [1685309] - [net] xprtrdma: Trace mapping, alloc, and dereg failures (Jonathan Toppins) [1685309] - [net] xprtrdma: Add trace points for calls to transport switch methods (Jonathan Toppins) [1685309] - [net] xprtrdma: Relocate the xprtrdma_mr_map trace points (Jonathan Toppins) [1685309] - [net] xprtrdma: Clean up of xprtrdma chunk trace points (Jonathan Toppins) [1685309] - [net] xprtrdma: Remove unused fields from rpcrdma_ia (Jonathan Toppins) [1685309] - [net] xprtrdma: Cull dprintk() call sites (Jonathan Toppins) [1685309] - [net] xprtrdma: Simplify locking that protects the rl_allreqs list (Jonathan Toppins) [1685309] - [net] xprtrdma: Expose transport header errors (Jonathan Toppins) [1685309] - [net] xprtrdma: Remove request_module from backchannel (Jonathan Toppins) [1685309] - [net] xprtrdma: Plant XID in on-the-wire RDMA offset (FRWR) (Jonathan Toppins) [1685309] - [net] xprtrdma: Remove rpcrdma_memreg_ops (Jonathan Toppins) [1685309] - [net] xprtrdma: Remove support for FMR memory registration (Jonathan Toppins) [1685309] - [net] xprtrdma: Reduce max_frwr_depth (Jonathan Toppins) [1685309] - [net] xprtrdma: Fix ri_max_segs and the result of ro_maxpages (Jonathan Toppins) [1685309] - [net] xprtrdma: Don't wake pending tasks until disconnect is done (Jonathan Toppins) [1685309] - [net] xprtrdma: No qp_event disconnect (Jonathan Toppins) [1685309] - [net] xprtrdma: Replace rpcrdma_receive_wq with a per-xprt workqueue (Jonathan Toppins) [1685309] - [net] xprtrdma: Refactor Receive accounting (Jonathan Toppins) [1685309] - [net] xprtrdma: Ensure MRs are DMA-unmapped when posting LOCAL_INV fails (Jonathan Toppins) [1685309] - [net] xprtrdma: Yet another double DMA-unmap (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Use kmem_cache_free() instead of kfree() (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Add support for immediate data (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Rework the srpt_alloc_srq() error path (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Remove driver version and release date (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Make kernel-doc headers complete (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Join split strings (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Improve coding style conformance (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Fix a use-after-free in the channel release code (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Add support for immediate data (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Rework handling of the maximum information unit length (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Move srp_rdma_ch.max_ti_iu_len declaration (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Propagate ib_post_send() failures to the SCSI mid-layer (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Handle large SCSI CDBs correctly (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Document srp_parse_in() arguments (Jonathan Toppins) [1685309] - [infiniband] include/scsi/srp.h: Add support for immediate data (Jonathan Toppins) [1685309] - [infiniband] include/scsi/srp.h: Move response flag definitions into this file (Jonathan Toppins) [1685309] - [net] svcrdma: Optimize the logic that selects the R_key to invalidate (Jonathan Toppins) [1685309] - [infiniband] IB/srpt: Drop pointless static qualifier in srpt_make_tpg() (Jonathan Toppins) [1685309] - [infiniband] IB/uverbs: Fix OOPs in uverbs_user_mmap_disassociate (Jonathan Toppins) [1685309] - [infiniband] IB/uverbs: Fix ioctl query port to consider device disassociation (Jonathan Toppins) [1685309] - [infiniband] IB/uverbs: Fix OOPs upon device disassociation (Jonathan Toppins) [1685309] - [infiniband] RDMA/umem: Add missing initialization of owning_mm (Jonathan Toppins) [1685309] - [infiniband] RDMA/device: Expose ib_device_try_get(() (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Mark ioctl responses with UVERBS_ATTR_F_VALID_OUTPUT (Jonathan Toppins) [1685309] - [infiniband] RDMA/cma: Add cm_id restrack resource based on kernel or user cm_id type (Jonathan Toppins) [1685309] - [infiniband] RDMA/nldev: Don't expose unsafe global rkey to regular user (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Fix post send success return value in case of error (Jonathan Toppins) [1685309] - [infiniband] IB/core: Add advise_mr to the list of known ops (Jonathan Toppins) [1685309] - [infiniband] IB/uverbs: Signedness bug in UVERBS_HANDLER() (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Start using dev_groups of class (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Use class_groups and let core create class file (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Refactor code to use cdev_device_add() (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Avoid destroying device while it is accessed (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Simplify and avoid dynamic allocation of class (Jonathan Toppins) [1685309] - [infiniband] RDMA/iwcm: Don't copy past the end of dev_name() string (Jonathan Toppins) [1685309] - [infiniband] IB/core: Move query port to ioctl (Jonathan Toppins) [1685309] - [infiniband] RDMA/nldev: Expose port_cap_flags2 (Jonathan Toppins) [1685309] - [infiniband] IB/core: uverbs copy to struct or zero helper (Jonathan Toppins) [1685309] - [infiniband] RDMA: Mark if destroy address handle is in a sleepable context (Jonathan Toppins) [1685309] - [infiniband] RDMA: Mark if create address handle is in a sleepable context (Jonathan Toppins) [1685309] - [infiniband] RDMA/restrack: Resource-tracker should not use uobject pointers (Jonathan Toppins) [1685309] - [include] IB/uverbs: Add support to advise_mr (Jonathan Toppins) [1685309] - [include] IB/uverbs: Add helper to get array size from ptr attribute (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add an ioctl method to destroy an object (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add a method to introspect handles in a context (Jonathan Toppins) [1685309] - [infiniband] RDMA/core: Delete RoCE GID in hw when corresponding IP is deleted (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Implement an ioctl that can call write and write_ex handlers (Jonathan Toppins) [1685309] - [infiniband] RDMA: Start use ib_device_ops (Jonathan Toppins) [1685309] - [infiniband] RDMA/rdmavt: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/rxe: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/vmw_pvrdma: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/usnic: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/qib: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/qedr: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/ocrdma: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/nes: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/mthca: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/mlx5: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/mlx4: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/i40iw: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/hns: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/hfi1: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/cxgb4: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/cxgb3: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/bnxt_re: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/core: Introduce ib_device_ops (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Optimize clearing of extra bytes in response (Jonathan Toppins) [1685309] - [infiniband] IB/core: Add new IB rates (Jonathan Toppins) [1685309] - [include] IB/core: Add 2X port width (Jonathan Toppins) [1685309] - [include] IB/core: Add CapabilityMask2 to port attributes (Jonathan Toppins) [1685309] - [infiniband] RDMA/core: Validate port number in query_pkey verb (Jonathan Toppins) [1685309] - [include] RDMA/uverbs: Fix typo in string concatenation macro (Jonathan Toppins) [1685309] - [infiniband] IB/core: Enable getting an object type from a given uobject (Jonathan Toppins) [1685309] - [infiniband] IB/core: Introduce UVERBS_IDR_ANY_OBJECT (Jonathan Toppins) [1685309] - [infiniband] RDMA/nldev: Export to user space number of contexts (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Annotate alloc/deallloc paths with context tracking (Jonathan Toppins) [1685309] - [include] RDMA/restrack: Track ucontext (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use only attrs for the write() handler signature (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Do not check the input length on create_cq/qp paths (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use the iterator for ib_uverbs_unmarshall_recv() (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add a simple iterator interface for reading the command (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Simplify ib_uverbs_ex_query_device (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Fill in the response for IB_USER_VERBS_EX_CMD_MODIFY_QP (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_request() and core for write_ex handlers (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_request() for request copying (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_response() for remaining response copying (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Get rid of the 'callback' scheme in the compat path (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_attr_bundle to pass ucore for write/write_ex (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Remove out_len checks that are now done by the core (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: fix ptr_ret.cocci warnings (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_attr_bundle to pass udata for ioctl() (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write_ex (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Prohibit write() calls with too small buffers (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add structure size info to write commands (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Do not pass ib_uverbs_file to ioctl methods (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Make write() handlers return 0 on success (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Replace ib_uverbs_file with uverbs_attr_bundle for write (Jonathan Toppins) [1685309] - [include] RDMA/uverbs: Add missing driver_data (Jonathan Toppins) [1685309] - [infiniband] RDMA/core: Sync unregistration with netlink commands (Jonathan Toppins) [1685309] - [infiniband] RDMA/cma: Move cma module specific functions to cma_priv.h (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Check for NULL driver methods for every write call (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Make all the method functions in uverbs_cmd static (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Convert the write interface to use uverbs_api (Jonathan Toppins) [1685309] - [infiniband] RDMA/verbs: Store the write/write_ex uapi entry points in the uverbs_api (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Require all objects to have a driver destroy function (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add helpers to mark uapi functions as unsupported (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Factor out the add/get pattern into a helper (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use a linear list to describe the compiled-in uapi (Jonathan Toppins) [1685309] - [infiniband] IB/core: Make function ib_fmr_pool_unmap return void (Jonathan Toppins) [1685309] - [include] RDMA/core: Remove unused header files mm.h, socket.h, scatterlist.h (Jonathan Toppins) [1685309] - [include] IB/uverbs: fix a typo (Jonathan Toppins) [1685309] - [fs] coredump: fix race condition between mmget_not_zero()/get_task_mm() and core dumping (Andrea Arcangeli) [1696081] {CVE-2019-3892} - [scsi] scsi: csiostor: fix missing data copy in csio_scsi_err_handler() (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: drop serial_number usage (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: fix calls to dma_set_mask_and_coherent() (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: Remove set but not used variable 'pln' (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: no need to check return value of debugfs_create functions (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: fix NULL pointer dereference in csio_vport_set_state() (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: fix incorrect dma device in case of vport (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: switch to generic DMA API (Arjun Vynipadath) [1664680] - [netdrv] thunderx: eliminate extra calls to put_page() for pages held for recycling (Dean Nelson) [1644011] - [netdrv] thunderx: enable page recycling for non-XDP case (Dean Nelson) [1644011] - [cpufreq] cpufreq: intel_pstate: Also use CPPC nominal_perf for base_frequency (Prarit Bhargava) [1696131] - [acpi] ACPI / CPPC: Fix guaranteed performance handling (Prarit Bhargava) [1696131] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Corinna Vinschen) [1659169] - [netdrv] igbvf: Replace spin_is_locked() with lockdep (Corinna Vinschen) [1659169] - [netdrv] intel-ethernet: use correct module license (Corinna Vinschen) [1659169] - [netdrv] igbvf: netdev: Mark expected switch fall-through (Corinna Vinschen) [1659169] - [x86] x86/MCE: Initialize mce.bank in the case of a fatal error in mce_no_way_out() (David Arcari) [1698959] - [x86] x86/mce: Restore MCE injector's module name (David Arcari) [1698959] - [x86] x86/mce: Streamline MCE subsystem's naming (David Arcari) [1698959] - [x86] x86: Fix various typos in comments (David Arcari) [1698959] - [x86] x86/MCE/AMD: Fix the thresholding machinery initialization order (David Arcari) [1698959] - [x86] x86/mce: Fix -Wmissing-prototypes warnings (David Arcari) [1698959] - [x86] acpi/nfit, x86/mce: Validate a MCE's address before using it (David Arcari) [1698959] - [x86] acpi/nfit, x86/mce: Handle only uncorrectable machine checks (David Arcari) [1698959] - [x86] x86: Clean up 'sizeof x' => 'sizeof(x)' (David Arcari) [1698959] - [x86] x86/mcelog: Remove one mce_helper definition (David Arcari) [1698959] - [x86] x86/mce-inject: Reset injection struct after injection (David Arcari) [1698959] - [mm] x86/mce: Fix set_mce_nospec() to avoid #GP fault (David Arcari) [1698959] - [x86] x86/memory_failure: Introduce {set, clear}_mce_nospec() (David Arcari) [1698959] - [x86] x86/mce: Cleanup __mc_scan_banks() (David Arcari) [1698959] - [x86] x86/mce: Carve out bank scanning code (David Arcari) [1698959] - [x86] x86/mce: Carve out the crashing_cpu check (David Arcari) [1698959] - [x86] x86/mce: Always use 64-bit timestamps (David Arcari) [1698959] - [x86] x86/mce: Remove !banks check (David Arcari) [1698959] - [md] dm cache metadata: Fix loading discard bitset (Mike Snitzer) [1701618] - [block] null_blk: prevent crash from bad home_node value (Ming Lei) [1696951] - [powerpc] powerpc/security: Fix spectre_v2 reporting (Gustavo Duarte) [1694456] - [powerpc] powerpc/powernv: Query firmware for count cache flush settings (Gustavo Duarte) [1694456] - [powerpc] powerpc/pseries: Query hypervisor for count cache flush settings (Gustavo Duarte) [1694456] - [powerpc] powerpc/64s: Add support for software count cache flush (Gustavo Duarte) [1694456] - [powerpc] powerpc/64s: Add new security feature flags for count cache flush (Gustavo Duarte) [1694456] - [powerpc] powerpc/asm: Add a patch_site macro & helpers for patching instructions (Gustavo Duarte) [1694456] - [powerpc] powerpc/64: Call setup_barrier_nospec() from setup_arch() (Gustavo Duarte) [1694456] - [powerpc] powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC (Gustavo Duarte) [1694456] - [powerpc] powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2 (Gustavo Duarte) [1694456]- [kernel] sched/fair: Limit sched_cfs_period_timer() loop to avoid hard lockup (Joel Savitz) [1695651] - [crypto] crypto: ux500 - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: talitos - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: sun4i-ss - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: stm32 - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: rockchip - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: qce - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: picoxcell - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: omap - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: n2 - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: marvell - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: ixp4xx - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: hifn_795x - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: ccree - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: ccp - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: cavium - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: caam - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: bcm - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: atmel - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: sparc - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [s390] crypto: s390 - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: des_generic - Forbid 2-key in 3DES and add helpers (Herbert Xu) [1687908] - [crypto] crypto: mxc-scc - Remove broken driver (Herbert Xu) [1687908] - [kernel] ntp: Audit NTP parameters adjustment (Ondrej Mosnacek) [1680034] - [kernel] timekeeping: Audit clock adjustments (Ondrej Mosnacek) [1680034] - [kernel] ntp: Remove duplicated include (Ondrej Mosnacek) [1680034] - [kernel] timekeeping/ntp: Constify some function arguments (Ondrej Mosnacek) [1680034] - [kernel] ntp: Use kstrtos64 for s64 variable (Ondrej Mosnacek) [1680034] - [kernel] ntp: Remove redundant arguments (Ondrej Mosnacek) [1680034] - [kernel] timekeeping: Use ktime_get_real_ts64() instead of getnstimeofday64() (Ondrej Mosnacek) [1680034] - [netdrv] hinic: Add pci device ids (Xiaojun Tan) [1662040] - [netdrv] net-next/hinic:add shutdown callback (Xiaojun Tan) [1662040] - [netdrv] hinic: optmize rx refill buffer mechanism (Xiaojun Tan) [1662040] - [netdrv] net: hinic: remove redundant pointer pfhwdev (Xiaojun Tan) [1662040] - [netdrv] net: hns: fix unsigned comparison to less than zero (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix sparse: some warnings in HNS drivers (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix WARNING when remove HNS driver with SMMU enabled (Xiaojun Tan) [1661885] - [netdrv] net: hns: fix ICMP6 neighbor solicitation messages discard problem (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix probabilistic memory overwrite when HNS driver initialized (Xiaojun Tan) [1661885] - [netdrv] net: hns: Use NAPI_POLL_WEIGHT for hns driver (Xiaojun Tan) [1661885] - [netdrv] net: hns: fix KASAN: use-after-free in hns_nic_net_xmit_hw() (Xiaojun Tan) [1661885] - [netdrv] net: hns: use struct_size() in devm_kzalloc() (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fixes the missing put_device in positive leg for roce reset (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix object reference leaks in hns_dsaf_roce_reset() (Xiaojun Tan) [1661885] - [netdrv] net: hns: Restart autoneg need return failed when autoneg off (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix for missing of_node_put() after of_parse_phandle() (Xiaojun Tan) [1661885] - [netdrv] net: hns: Use struct_size() in devm_kzalloc() (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix use after free identified by SLUB debug (Xiaojun Tan) [1661885] - [netdrv] net: hns: make function hns_gmac_wait_fifo_clean() static (Xiaojun Tan) [1661885] - [netdrv] net: hns: use eth_get_headlen interface instead of hns_nic_get_headlen (Xiaojun Tan) [1661885] - [netdrv] net: hns: Mark expected switch fall-through (Xiaojun Tan) [1661885] - [netdrv] net: hns: remove redundant variables 'max_frm' and 'tmp_mac_key' (Xiaojun Tan) [1661885] - [netdrv] net: hisilicon: hns: Replace mdelay() with msleep() (Xiaojun Tan) [1661885] - [netdrv] net: hns: make hns_dsaf_roce_reset non static (Xiaojun Tan) [1661885] - [netdrv] net: hns: Make many functions static (Xiaojun Tan) [1661885] - [bluetooth] Bluetooth: btusb: Add support for Intel bluetooth device 8087:0029 (Gopal Tiwari) [1678084] - [bluetooth] Bluetooth: btusb: Use bt_dev_err for Intel firmware loading errors (Gopal Tiwari) [1678084]- [vfio] vfio/pci: Restore device state on PM transition (Alex Williamson) [1700254] - [vfio] vfio/pci: Parallelize device open and release (Alex Williamson) [1700254] - [pci] Revert "PCI/ASPM: Do not initialize link state when aspm_disabled is set" (Myron Stowe) [1694143] - [pci] PCI: Fix incorrect value returned from pcie_get_speed_cap() (Myron Stowe) [1694143] - [x86] x86/PCI: Apply VMD's AERSID fixup generically (Myron Stowe) [1694143] - [pci] PCI/IOV: Remove unnecessary include of (Myron Stowe) [1694143] - [pci] PCI: pcie: Remove redundant 'default n' from Kconfig (Myron Stowe) [1694143] - [documentation] NTB: switchtec_ntb: Update switchtec documentation with prerequisites for NTB (Myron Stowe) [1694143] - [pci] PCI: Fix Switchtec DMA aliasing quirk dmesg noise (Myron Stowe) [1694143] - [pci] PCI: Add macro for Switchtec quirk declarations (Myron Stowe) [1694143] - [pci] PCI: Add Device IDs for Intel GPU "spurious interrupt" quirk (Myron Stowe) [1694143] - [pci] PCI / ACPI: Mark expected switch fall-through (Myron Stowe) [1694143] - [pci] PCI: Remove set but unused variable (Myron Stowe) [1694143] - [pci] PCI: Fix pci.c kernel-doc parameter warning (Myron Stowe) [1694143] - [pci] PCI: Allocate dma_alias_mask with bitmap_zalloc() (Myron Stowe) [1694143] - [include] PCI: Remove unused NFP32xx IDs (Myron Stowe) [1694143] - [maintainers] maintainers: Add Hyper-V IOMMU driver into Hyper-V CORE AND DRIVERS scope (Vitaly Kuznetsov) [1663292 1669989] - [iommu] hyper-v: Add Hyper-V stub IOMMU driver (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyper-v: Set x2apic destination mode to physical when x2apic is available (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyper-v: Enable PIT shutdown quirk (Vitaly Kuznetsov) [1663292 1669989] - [clocksource] clockevents/drivers/i8253: Add support for PIT shutdown quirk (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyperv: Enable PV qspinlock for Hyper-V (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyperv: Add GUEST_IDLE_MSR support (Vitaly Kuznetsov) [1663292 1669989] - [x86] hv: vmbus: Make TLFS #define names architecture neutral (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyperv: Add interrupt handler annotations (Vitaly Kuznetsov) [1663292 1669989] - [pci] hv: Refactor hv_irq_unmask() to use cpumask_to_vpset() (Vitaly Kuznetsov) [1663292 1669989] - [pci] hv: Replace hv_vp_set with hv_vpset (Vitaly Kuznetsov) [1663292 1669989] - [pci] hv: Add __aligned(8) to struct retarget_msi_interrupt (Vitaly Kuznetsov) [1663292 1669989] - [vfio] vfio-pci/nvlink2: Fix ancient gcc warnings (Sam Bobroff) [1524679] - [vfio] vfio/pci: Cleanup license mess (Sam Bobroff) [1524679] - [vfio] vfio/pci: set TRACE_INCLUDE_PATH to fix the build error (Sam Bobroff) [1524679] - [vfio] vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver (Sam Bobroff) [1524679] - [vfio] vfio_pci: Allow regions to add own capabilities (Sam Bobroff) [1524679] - [vfio] vfio_pci: Allow mapping extra regions (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Fault user page into the hypervisor's pagetable (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Check mmio_atsd array bounds when populating (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Add release_ownership hook (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Add compound IOMMU groups (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Convert NPU IOMMU helpers to iommu_table_group_ops (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Move single TVE handling to NPU PE (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv: Reference iommu_table while it is linked to a group (Sam Bobroff) [1524679] - [powerpc] powerpc/iommu_api: Move IOMMU groups setup to a single place (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/pseries: Rework device adding to IOMMU groups (Sam Bobroff) [1524679] - [powerpc] powerpc/pseries: Remove IOMMU API support for non-LPAR systems (Sam Bobroff) [1524679] - [powerpc] powerpc/pseries/npu: Enable platform support (Sam Bobroff) [1524679] - [powerpc] powerpc/pseries/iommu: Use memory@ nodes in max RAM address calculation (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Move OPAL calls away from context manipulation (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv: Move npu struct from pnv_phb to pci_controller (Sam Bobroff) [1524679] - [powerpc] powerpc/vfio/iommu/kvm: Do not pin device memory (Sam Bobroff) [1524679] - [vfio] powerpc/mm/iommu/vfio_spapr_tce: Change mm_iommu_get to reference a region (Sam Bobroff) [1524679] - [powerpc] powerpc/ioda/npu: Call skiboot's hot reset hook when disabling NPU2 (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/ioda: Allocate indirect TCE levels of cached userspace addresses on demand (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/ioda1: Remove dead code for a single device PE (Sam Bobroff) [1524679] - [rpmspec] redhat: add TC selftests to kernel-selftests-internal (Ivan Vecera) [1691376] - [rpmspec] redhat: add net selftests to kernel-selftests-internal (Ivan Vecera) [1691376] - [rpmspec] redhat: add pktgen samples to kernel-selftests-internal (Ivan Vecera) [1691376] - [rpmspec] redhat: rename bpf_samples to kernel-selftests-internal (Ivan Vecera) [1691376] - [rpmspec] redhat: remove bpf_samples dependency on glibc-static and build it by default (Ivan Vecera) [1691376] - [tools] selftests: bpf: modify urandom_read and link it non-statically (Ivan Vecera) [1691376]- [netdrv] ibmvnic: Fix netdev feature clobbering during a reset (Steve Best) [1699018] - [netdrv] ibmvnic: Enable GRO (Steve Best) [1699018] - [x86] x86/perf/amd: Remove need to check "running" bit in NMI handler (David Arcari) [1640238] - [x86] x86/perf/amd: Resolve NMI latency issues for active PMCs (David Arcari) [1640238] - [x86] x86/perf/amd: Resolve race condition when disabling PMC (David Arcari) [1640238] - [netdrv] qed: Fix qed_mcp_halt|resume() (Manish Chopra) [1697310]- [x86] x86/kexec: Fix a kexec_file_load() failure (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: include linux/vmalloc.h (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: handle empty command-line (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: return successfully even if kaslr-seed doesn't exist (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: Refactor setup_dtb() to consolidate error checking (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: add kaslr support (Bhupesh Sharma) [1666078] - [char] random: Make crng state queryable (Bhupesh Sharma) [1666078] - [include] include: pe.h: remove message[] from mz header definition (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: invoke the kernel without purgatory (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: allow for loading Image-format kernel (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: load initrd and device-tree (Bhupesh Sharma) [1666078] - [arm64] arm64: enable KEXEC_FILE config (Bhupesh Sharma) [1666078] - [arm64] arm64: cpufeature: add MMFR0 helper functions (Bhupesh Sharma) [1666078] - [arm64] arm64: add image head flag definitions (Bhupesh Sharma) [1666078] - [kernel] kexec_file: kexec_walk_memblock() only walks a dedicated region at kdump (Bhupesh Sharma) [1666078] - [kernel] powerpc, kexec_file: factor out memblock-based arch_kexec_walk_mem() (Bhupesh Sharma) [1666078] - [kernel] s390, kexec_file: drop arch_kexec_mem_walk() (Bhupesh Sharma) [1666078] - [kernel] kexec_file: make kexec_image_post_load_cleanup_default() global (Bhupesh Sharma) [1666078] - [include] asm-generic: add kexec_file_load system call to unistd.h (Bhupesh Sharma) [1666078] - [include] asm-generic: unistd.h: Wire up sys_rseq (Bhupesh Sharma) [1666078] - [fs] xfs: don't overflow xattr listent buffer (Bill O'Donnell) [1683531] - [drm] drm/i915/gvt: Add in context mmio 0x20D8 to gen9 mmio list (Paul Lai) [1651589] - [fs] copy_mount_string: Limit string length to PATH_MAX (Miklos Szeredi) [1655272] - [include] redhat: Reuse other arch's cpuhp_state to protect kABI (Robert Richter) [1658476] - [drivers] drivers/perf: Add Cavium ThunderX2 SoC UNCORE PMU driver (Robert Richter) [1658476] - [documentation] Documentation: perf: Add documentation for ThunderX2 PMU uncore driver (Robert Richter) [1658476]- [arm64] arm64: apply workaround on A64FX v1r0 (Mark Langsdorf) [1692306] - [fs] kernfs: fix xattr name handling in LSM helpers (Ondrej Mosnacek) [1558179] - [include] LSM: lsm_hooks.h - fix missing colon in docstring (Ondrej Mosnacek) [1558179] - [security] selinux: Make selinux_kernfs_init_security static (Ondrej Mosnacek) [1558179] - [fs] kernfs: initialize security of newly created nodes (Ondrej Mosnacek) [1558179] - [security] selinux: implement the kernfs_init_security hook (Ondrej Mosnacek) [1558179] - [include] LSM: add new hook for kernfs node initialization (Ondrej Mosnacek) [1558179] - [fs] kernfs: use simple_xattrs for security attributes (Ondrej Mosnacek) [1558179] - [security] selinux: try security xattr after genfs for kernfs filesystems (Ondrej Mosnacek) [1558179] - [fs] kernfs: do not alloc iattrs in kernfs_xattr_get (Ondrej Mosnacek) [1558179] - [fs] kernfs: clean up struct kernfs_iattrs (Ondrej Mosnacek) [1558179] - [fs] kernfs: allow creating kernfs objects with arbitrary uid/gid (Ondrej Mosnacek) [1558179] - [tools] tools/power turbostat: Add Icelake support (Steve Best) [1698546] - [tools] tools/power turbostat: consolidate duplicate model numbers (Steve Best) [1698546] - [mm] s390/mm: silence compiler warning when compiling without CONFIG_PGSTE (Thomas Huth) [1698848] - [scripts] unifdef: use memcpy instead of strncpy (Thomas Huth) [1698848] - [s390] s390: align struct lowcore to double page size (Thomas Huth) [1698848] - [powerpc] KVM: PPC: Book3S HV: Perserve PSSCR FAKE_SUSPEND bit on guest exit (Suraj Jitindar Singh) [1689768]- [virtio] virtio: Honour 'may_reduce_num' in vring_create_virtqueue (Cornelia Huck) [1697505] - [s390] setup: set control program code via diag 318 (Thomas Huth) [1592336] - [s390] kvm: s390: set host program identifier (Thomas Huth) [1592336] - [edac] EDAC, skx: Fix randconfig builds in a better way (Aristeu Rozanski) [1501612 1649988 1571534] - [edac] EDAC, skx: Fix randconfig builds (Aristeu Rozanski) [1501612 1649988 1571534] - [edac] EDAC, skx_edac: Add address translation for non-volatile DIMMs (Aristeu Rozanski) [1501612 1649988 1571534] - [acpi] ACPI/ADXL: Add address translation interface using an ACPI DSM (Aristeu Rozanski) [1501612 1649988 1571534] - [x86] x86/mce: Add macros for the corrected error count bit field (Aristeu Rozanski) [1501612 1649988 1571534] - [x86] x86/mce: Use BIT_ULL(x) for bit mask definitions (Aristeu Rozanski) [1501612 1649988 1571534] - [crypto] crypto: ecc - regularize scalar for scalar multiplication (Neil Horman) [1687888] - [crypto] crypto: ecc - check for invalid values in the key verification test (Neil Horman) [1687888] - [crypto] crypto: dh - make crypto_dh_encode_key() make robust (Neil Horman) [1687888] - [crypto] crypto: dh - fix calculating encoded key size (Neil Horman) [1687888] - [crypto] crypto: ecdh - fix typo of P-192 b value (Neil Horman) [1687888] - [crypto] crypto: ecdh - add public key verification test (Neil Horman) [1687888] - [crypto] crypto: dh - fix memory leak (Neil Horman) [1687888] - [crypto] crypto: dh - add public key verification test (Neil Horman) [1687888] - [scsi] scsi: hisi_sas: Add softreset in hisi_sas_I_T_nexus_reset() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Change SERDES_CFG init value to increase reliability of HiLink (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Send HARD RESET to clear the previous affiliation of STP target port (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Set PHY linkrate when disconnected (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: print PHY RX errors count for later revision of v3 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix a timeout race of driver internal and SMP IO (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Change return variable type in phy_up_v3_hw() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: fix calls to dma_set_mask_and_coherent() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Do some more tidy-up (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Use pci_irq_get_affinity() for v3 hw as experimental (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Issue internal abort on all relevant queues (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: change queue depth from 512 to 4096 (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add manual trigger for debugfs dump (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add support for DIX feature for v3 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add missing seq_printf() call in hisi_sas_show_row_32() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix to only call scsi_get_prot_op() for non-NULL scsi_cmnd (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Some misc tidy-up (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Correct memory allocation size for DQ debugfs (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix losing directly attached disk when hot-plug (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Reject setting programmed minimum linkrate > 1.5G (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Remove unused parameter of function hisi_sas_alloc() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: remove the check of sas_dev status in hisi_sas_I_T_nexus_reset() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: shutdown axi bus to avoid exception CQ returned (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: send primitive NOTIFY to SSP situation only (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs ITCT file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix type casting and missing static qualifier in debugfs code (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: No need to check return value of debugfs_create functions (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Set protection parameters prior to adding SCSI host (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs IOST file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs DQ file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs CQ file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs for port registers (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Debugfs global register create file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Take debugfs snapshot for all regs (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Alloc debugfs snapshot buffer memory for all registers (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Create root and device debugfs directories (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add support for DIF feature for v2 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Make sg_tablesize consistent value (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Relocate some code to reduce complexity (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix warnings detected by sparse (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: change the time of SAS SSP connection (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Relocate some codes to avoid an unused check (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add support for interrupt coalescing for v3 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add support for interrupt converge for v3 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Create separate host attributes per HBA (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: use dma_set_mask_and_coherent (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Remove set but not used variable 'dq_list' (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix NULL pointer dereference (Xiaojun Tan) [1662038] - [nvme] nvme-pci: add missing unlock for reset error (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix rapid add remove sequence (Gopal Tiwari) [1665354] - [nvme] nvme: remove the .stop_ctrl callout (Gopal Tiwari) [1665354] - [nvme] nvme: add support for the Write Zeroes command (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: fix null dereference under heavy load (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: fix timeout handler (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: fix timeout handler (Gopal Tiwari) [1665354] - [nvme] nvmet-tcp: fix uninitialized variable access (Gopal Tiwari) [1665354] - [nvme] nvme: don't initlialize ctrl->cntlid twice (Gopal Tiwari) [1665354] - [nvme] nvme: introduce NVME_QUIRK_IGNORE_DEV_SUBNQN (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: remove dead code (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: don't ask if controller is fabrics (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: unset write/poll queues for discovery controllers (Gopal Tiwari) [1665354] - [nvme] nvme: pad fake subsys NQN vid and ssvid with zeros (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix out of bounds access in nvme_cqe_pending (Gopal Tiwari) [1665354] - [nvme] nvme-pci: use the same attributes when freeing host_mem_desc_bufs. (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix the wrong setting of nr_maps (Gopal Tiwari) [1665354] - [nvme] nvme-pci: rerun irq setup on IO queue init errors (Gopal Tiwari) [1665354] - [nvme] nvme-pci: trace SQ status on completions (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: allow user to pass in nr_poll_queues (Gopal Tiwari) [1665354] - [nvme] nvme-core: optionally poll sync commands (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: fix spelling mistake "attepmpt" -> "attempt" (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: fix endianess annotations (Gopal Tiwari) [1665354] - [nvme] nvmet-tcp: fix endianess annotations (Gopal Tiwari) [1665354] - [nvme] nvme-pci: refactor nvme_poll_irqdisable to make sparse happy (Gopal Tiwari) [1665354] - [nvme] nvme-pci: only set nr_maps to 2 if poll queues are supported (Gopal Tiwari) [1665354] - [nvme] nvmet: use a macro for default error location (Gopal Tiwari) [1665354] - [nvme] nvmet: fix comparison of a u16 with -1 (Gopal Tiwari) [1665354] - [nvme] nvme: fix kernel paging oops (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: support separate queue maps for read and write (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: support separate queue maps for read and write (Gopal Tiwari) [1665354] - [include] block: make request_to_qc_t public (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: allow user to set nr_write_queues for separate queue maps (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: add missing nvmf_ctrl_options documentation (Gopal Tiwari) [1665354] - [nvme] blk-mq-rdma: pass in queue map to blk_mq_rdma_map_queues (Gopal Tiwari) [1665354] - [nvme] nvmet: update smart log with num err log entries (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for file backend (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log page cmd handler (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for bdev backend (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for admin-cmd (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for fabrics-cmd (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for rdma backend (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support in the core (Gopal Tiwari) [1665354] - [nvme] nvmet: add interface to update error-log page (Gopal Tiwari) [1665354] - [include] nvme: add error log page slot definition (Gopal Tiwari) [1665354] - [nvme] nvmet: add error-log definitions (Gopal Tiwari) [1665354] - [nvme] nvme: remove nvme_common command cdw10 array (Gopal Tiwari) [1665354] - [nvme] nvme: provide fallback for discard alloc failure (Gopal Tiwari) [1665354] - [nvme] nvmet: remove unused variable (Gopal Tiwari) [1665354] - [nvme] nvme: add __exit annotation (Gopal Tiwari) [1665354] - [nvme] nvmet: allow configfs tcp trtype configuration (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: add NVMe over TCP host driver (Gopal Tiwari) [1665354] - [nvme] nvmet-tcp: add NVMe over TCP target driver (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: allow user passing data digest (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: allow user passing header digest (Gopal Tiwari) [1665354] - [nvme] nvmet: Add install_queue callout (Gopal Tiwari) [1665354] - [nvme] nvmet: use unlikely for req status check (Gopal Tiwari) [1665354] - [include] nvme-tcp: Add protocol header (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: Add unlikely for response allocated check (Gopal Tiwari) [1665354] - [nvme] nvmet: fix the structure member indentation (Gopal Tiwari) [1665354] - [nvme] nvme: implement Enhanced Command Retry (Gopal Tiwari) [1665354] - [nvme] nvme: remove unused function nvme_ctrl_ready (Gopal Tiwari) [1665354] - [nvme] nvmet: support fabrics sq flow control (Gopal Tiwari) [1665354] - [nvme] nvmet: enable Discovery Controller AENs (Gopal Tiwari) [1665354] - [nvme] nvmet: expose support for fabrics SQ flow control disable in treq (Gopal Tiwari) [1665354] - [nvme] nvme: disable fabrics SQ flow control when asked by the user (Gopal Tiwari) [1665354] - [nvme] nvmet-fc: remove the IN_ISR deferred scheduling options (Gopal Tiwari) [1665354] - [nvme] nvme: Remove unused forward declaration (Gopal Tiwari) [1665354] - [nvme] nvmet: allow host connect even if no allowed subsystems are exported (Gopal Tiwari) [1665354] - [nvme] nvmet: don't override treq upon modification. (Gopal Tiwari) [1665354] - [nvme] nvmet: mark nvmet_genctr static (Gopal Tiwari) [1665354] - [nvme] nvmet: add defines for discovery change async events (Gopal Tiwari) [1665354] - [nvme] nvmet: support for traffic based keep-alive (Gopal Tiwari) [1665354] - [nvme] nvmet: make kato and AEN processing for use by other controllers (Gopal Tiwari) [1665354] - [nvme] nvmet: change aen mask functions to use bit numbers (Gopal Tiwari) [1665354] - [nvme] nvmet: provide aen bit functions for multiple controller types (Gopal Tiwari) [1665354] - [nvme] nvmet: add support to Discovery controllers for commands (Gopal Tiwari) [1665354] - [nvme] nvmet: use IOCB_NOWAIT for file-ns buffered I/O (Gopal Tiwari) [1665354] - [nvme] nvmet: allow Keep Alive for Discovery controller (Gopal Tiwari) [1665354] - [nvme] nvme: support traffic based keep-alive (Gopal Tiwari) [1665354] - [nvme] nvme: cache controller attributes (Gopal Tiwari) [1665354] - [nvme] nvme: introduce ctrl attributes enumeration (Gopal Tiwari) [1665354] - [nvme] nvme: consolidate memset calls in the nvme_setup_cmd path (Gopal Tiwari) [1665354] - [nvme] nvme: warn when finding multi-port subsystems without multipathing enabled (Gopal Tiwari) [1665354] - [nvme] Revert "nvmet-rdma: use a private workqueue for delete" (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: move controller options matching to fabrics (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: always have a valid trsvcid (Gopal Tiwari) [1665354] - [nvme] nvme-pci: remove duplicate check (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix hot removal during error handling (Gopal Tiwari) [1665354] - [nvme] nvmet-fcloop: suppress a compiler warning (Gopal Tiwari) [1665354] - [nvme] nvme-core: make implicit seed truncation explicit (Gopal Tiwari) [1665354] - [nvme] nvmet-fc: fix kernel-doc headers (Gopal Tiwari) [1665354] - [nvme] nvmet: avoid integer overflow in the discard code (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: declare local symbols static (Gopal Tiwari) [1665354] - [nvme] nvmet: use strlcpy() instead of strcpy() (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix nvme_suspend_queue() kernel-doc header (Gopal Tiwari) [1665354] - [nvme] nvme-core: declare local symbols static (Gopal Tiwari) [1665354] - [nvme] nvme-core: rework a NQN copying operation (Gopal Tiwari) [1665354] - [nvme] nvmet: use strcmp() instead of strncmp() for subsystem lookup (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: check for timeout in nvme_rdma_wait_for_cm() (Gopal Tiwari) [1665354] - [nvme] nvmet: remove unreachable code (Gopal Tiwari) [1665354] - [nvme] nvme: update node paths after adding new path (Gopal Tiwari) [1665354] - [nvme] nvme: remove ns sibling before clearing path (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: use a private workqueue for delete (Gopal Tiwari) [1665354] - [nvme] nvmet: don't split large I/Os unconditionally (Gopal Tiwari) [1665354] - [nvme] nvme-core: add async event trace helper (Gopal Tiwari) [1665354] - [nvme] nvmet_fc: support target port removal with nvmet layer (Gopal Tiwari) [1665354] - [nvme] nvmet: remove redundant module prefix (Gopal Tiwari) [1665354] - [nvme] nvme: fix typo in nvme_identify_ns_descs (Gopal Tiwari) [1665354] - [nvme] nvme: register ns_id attributes as default sysfs groups (Gopal Tiwari) [1665354] - [block] block: genhd: add 'groups' argument to device_add_disk (Gopal Tiwari) [1665354] - [nvme] nvme: count all ANA groups for ANA Log page (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: fix possible bogus dereference under heavy load (Gopal Tiwari) [1665354] - [nvme] nvmet: free workqueue object if module init fails (Gopal Tiwari) [1665354] - [nvme] nvme-fcloop: Fix dropped LS's to removed target port (Gopal Tiwari) [1665354] - [nvme] nvme-pci: add a memory barrier to nvme_dbbuf_update_and_check_event (Gopal Tiwari) [1665354] - [nvme] nvmet: add ns write protect support (Gopal Tiwari) [1665354] - [nvme] nvme: set gendisk read only based on nsattr (Gopal Tiwari) [1665354] - [include] nvme.h: add support for ns write protect definitions (Gopal Tiwari) [1665354] - [nvme] nvmet: use Retain Async Event bit to clear AEN (Gopal Tiwari) [1665354] - [nvme] nvmet: support configuring ANA groups (Gopal Tiwari) [1665354] - [nvme] nvmet: add minimal ANA support (Gopal Tiwari) [1665354] - [nvme] nvmet: track and limit the number of namespaces per subsystem (Gopal Tiwari) [1665354] - [nvme] nvmet: keep a port pointer in nvmet_ctrl (Gopal Tiwari) [1665354] - [nvme] nvmet: check fileio lba range access boundaries (Gopal Tiwari) [1665354] - [nvme] nvmet: don't use uuid_le type (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: centralize admin/io queue teardown sequence (Gopal Tiwari) [1665354] - [nvme] nvmet: fix file discard return status (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: centralize controller setup sequence (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: unquiesce queues when deleting the controller (Gopal Tiwari) [1665354] - [nvme] nvme: add disk name to trace events (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: mark expected switch fall-through (Gopal Tiwari) [1665354] - [nvme] nvme: add controller name to trace events (Gopal Tiwari) [1665354] - [nvme] nvme: use hw qid in trace events (Gopal Tiwari) [1665354] - [nvme] nvmet: add buffered I/O support for file backed ns (Gopal Tiwari) [1665354] - [nvme] nvme: move init of keep_alive work item to controller initialization (Gopal Tiwari) [1665354] - [nvme] nvmet: add commands supported and effects log page (Gopal Tiwari) [1665354] - [nvme] lightnvm: limit get chunk meta request size (Gopal Tiwari) [1665354] - [nvme] lightnvm: Remove redundant rq->__data_len initialization (Gopal Tiwari) [1665354] - [block] nbd: restrict use to AF_UNIX sockets (Mike Christie) [1673307] - [block] nbd: don't allow invalid blocksize settings (Mike Christie) [1673307] - [documentation] doc, block, bfq: add information on bfq execution time (Ming Lei) [1686682] - [block] block, bfq: save & resume weight on a queue merge/split (Ming Lei) [1686682] - [block] block, bfq: print SHARED instead of pid for shared queues in logs (Ming Lei) [1686682] - [block] block, bfq: always protect newly-created queues from existing active queues (Ming Lei) [1686682] - [block] block, bfq: do not tag totally seeky queues as soft rt (Ming Lei) [1686682] - [block] block, bfq: do not merge queues on flash storage with queueing (Ming Lei) [1686682] - [block] block, bfq: tune service injection basing on request service times (Ming Lei) [1686682] - [block] block, bfq: do not idle for lowest-weight queues (Ming Lei) [1686682] - [block] block, bfq: increase idling for weight-raised queues (Ming Lei) [1686682] - [block] block/bfq: fix ifdef for CONFIG_BFQ_GROUP_IOSCHED=y (Ming Lei) [1686682] - [block] block, bfq: fix in-service-queue check for queue merging (Ming Lei) [1686682] - [block] block, bfq: do not overcharge writes in asymmetric scenarios (Ming Lei) [1686682] - [block] block, bfq: port commit "cfq-iosched: improve hw_tag detection" (Ming Lei) [1686682] - [block] block, bfq: reduce threshold for detecting command queueing (Ming Lei) [1686682] - [block] block, bfq: fix queue removal from weights tree (Ming Lei) [1686682] - [block] block, bfq: fix sequential rq detection in rate estimation (Ming Lei) [1686682] - [block] block, bfq: unconditionally plug I/O in asymmetric scenarios (Ming Lei) [1686682] - [block] block, bfq: do not plug I/O of in-service queue when harmful (Ming Lei) [1686682] - [block] block, bfq: split function bfq_better_to_idle (Ming Lei) [1686682] - [block] block, bfq: consider also ioprio classes in symmetry detection (Ming Lei) [1686682] - [block] block, bfq: remove case of redirected bic from insert_request (Ming Lei) [1686682] - [block] block, bfq: make sure queue budgets are not below service received (Ming Lei) [1686682] - [block] block, bfq: avoid selecting a queue w/o budget (Ming Lei) [1686682] - [block] block, bfq: do not consider interactive queues in srt filtering (Ming Lei) [1686682] - [net] net: switchdev: Add extack to switchdev_handle_port_obj_add() callback (Ivan Vecera) [1690125] - [net] switchdev: Add extack to struct switchdev_notifier_info (Ivan Vecera) [1690125] - [net] vxlan: Add a function to init switchdev_notifier_vxlan_fdb_info (Ivan Vecera) [1690125] - [net] switchdev: Add extack argument to switchdev_port_obj_add() (Ivan Vecera) [1690125] - [net] bridge: Propagate extack to switchdev (Ivan Vecera) [1690125] - [net] ndo_bridge_setlink: Add extack (Ivan Vecera) [1690125] - [net] rocker, dsa, ethsw: Don't filter VLAN events on bridge itself (Ivan Vecera) [1690125] - [net] switchdev: Replace port obj add/del SDO with a notification (Ivan Vecera) [1690125] - [net] ocelot: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] mlxsw: spectrum_switchdev: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] switchdev: Add helpers to aid traversal through lower devices (Ivan Vecera) [1690125] - [net] staging: fsl-dpaa2: ethsw: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] staging: fsl-dpaa2: ethsw: Introduce ethsw_port_dev_check() (Ivan Vecera) [1690125] - [net] dsa: slave: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] rocker: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] switchdev: Add SWITCHDEV_PORT_OBJ_ADD, SWITCHDEV_PORT_OBJ_DEL (Ivan Vecera) [1690125] - [net] switchdev: Add a blocking notifier chain (Ivan Vecera) [1690125] - [net] switchdev: SWITCHDEV_OBJ_PORT_{VLAN, MDB}(): Sanitize (Ivan Vecera) [1690125] - [net] selftests: forwarding: Fix test for different devices (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add learning test (Ivan Vecera) [1693316] - [net] bridge: Allow querying bridge port flags (Ivan Vecera) [1693316] - [netdrv] vxlan: Allow changing ageing time (Ivan Vecera) [1693316] - [netdrv] vxlan: Add hardware FDB learning (Ivan Vecera) [1693316] - [netdrv] vxlan: Don't override user-added entries with ext-learned ones (Ivan Vecera) [1693316] - [netdrv] vxlan: Mark user-added FDB entries (Ivan Vecera) [1693316] - [netdrv] vxlan: vxlan_fdb_notify(): Make switchdev notification configurable (Ivan Vecera) [1693316] - [netdrv] vxlan: __vxlan_fdb_delete(): Drop unused argument vid (Ivan Vecera) [1693316] - [netdrv] vxlan: support NTF_USE refresh of fdb entries (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d_port_8472: New test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add an ECN decap test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add an ECN encap test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add a TOS test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add a TTL test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Reconfigure & rerun tests (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add unicast test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add flood test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add ping test (Ivan Vecera) [1693316] - [net] selftests: forwarding: Add a skeleton of vxlan_bridge_1d (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: Add link_stats_rx_errors_get() (Ivan Vecera) [1693316] - [net] selftests: forwarding: ping{6, }_do(): Allow passing ping arguments (Ivan Vecera) [1693316] - [net] selftests: forwarding: ping{6, }_test(): Add description argument (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: Add in_ns() (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: Support NUM_NETIFS of 0 (Ivan Vecera) [1693316] - [net] skb_scrub_packet(): Scrub offload_fwd_mark (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: extract ping and ping6 so they can be reused (Ivan Vecera) [1693316] - [net] selftests: forwarding: README: Require diagrams (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: Extract interface-init functions (Ivan Vecera) [1693316] - [net] selftests: forwarding: tc_rule_stats_get: Parameterize direction (Ivan Vecera) [1693316] - [net] selftests: forwarding: multipath_eval(): Improve style (Ivan Vecera) [1693316] - [net] selftests: forwarding: Move multipath_eval() to lib.sh (Ivan Vecera) [1693316] - [net] selftests: Add test_vxlan_fdb_changelink.sh (Ivan Vecera) [1690309] - [netdrv] vxlan: changelink: Fix handling of default remotes (Ivan Vecera) [1690309] - [netdrv] vxlan: Fix error path in __vxlan_dev_create() (Ivan Vecera) [1690309] - [netdrv] vxlan: Unmark offloaded bit on replaced FDB entries (Ivan Vecera) [1690309] - [net] bridge: switchdev: Allow clearing FDB entry offload indication (Ivan Vecera) [1690309] - [netdrv] vxlan: Notify for each remote of a removed FDB entry (Ivan Vecera) [1690309] - [netdrv] vxlan: Support marking RDSTs as offloaded (Ivan Vecera) [1690309] - [netdrv] vxlan: Add vxlan_fdb_find_uc() for FDB querying (Ivan Vecera) [1690309] - [netdrv] vxlan: Add switchdev notifications (Ivan Vecera) [1690309] - [netdrv] net: Add netif_is_vxlan() (Ivan Vecera) [1690309] - [net] inet: Refactor INET_ECN_decapsulate() (Ivan Vecera) [1690309] - [netdrv] vxlan: Export address checking functions (Ivan Vecera) [1690309] - [net] vxlan: Remove duplicated include from vxlan.h (Ivan Vecera) [1690309] - [netdrv] geneve: correctly handle ipv6.disable module parameter (Jiri Benc) [1692390] - [net] ipv6: sit: reset ip header pointer in ipip6_rcv (Lorenzo Bianconi) [1691626] - [net] vxlan: Don't call gro_cells_destroy() before device is unregistered (Andrea Claudi) [1692499] - [net] xsk: do not remove umem from netdevice on fall-back to copy-mode (Petr Oros) [1690568] - [net] xsk: Check if a queue exists during umem setup (Petr Oros) [1690568] - [net] xsk: simplify xdp_clear_umem_at_qid implementation (Petr Oros) [1690568] - [net] ethtool: don't allow disabling queues with umem installed (Petr Oros) [1690568] - [net] ethtool: rename local variable max -> curr (Petr Oros) [1690568] - [net] xsk: fix bug when trying to use both copy and zero-copy on one queue id (Petr Oros) [1690568] - [net] add umem reference in netdev{_rx}_queue (Petr Oros) [1690568] - [net] xsk: remove unnecessary assignment (Petr Oros) [1690568] - [net] xsk: fix return value of xdp_umem_assign_dev() (Petr Oros) [1690568] - [net] xsk: don't allow umem replace at stack level (Petr Oros) [1690568] - [net] xsk: refactor xdp_umem_assign_dev() (Petr Oros) [1690568] - [net] update real_num_rx_queues even when !CONFIG_SYSFS (Petr Oros) [1690568] - [net] core: add __netdev_sent_queue as variant of __netdev_tx_sent_queue (Petr Oros) [1690127] - [net] net: do not abort bulk send on BQL status (Petr Oros) [1690129] - [net] net: bql: add __netdev_tx_sent_queue() (Petr Oros) [1690129] - [net] net: ip6_gre: fix possible NULL pointer dereference in ip6erspan_set_version (Lorenzo Bianconi) [1666315] - [net] net: ip6_gre: initialize erspan_ver just for erspan tunnels (Lorenzo Bianconi) [1666315] - [net] net: ip6_gre: always reports o_key to userspace (Lorenzo Bianconi) [1666315] - [net] net: ip_gre: always reports o_key to userspace (Lorenzo Bianconi) [1666315] - [net] tcp: handle inet_csk_reqsk_queue_add() failures (Guillaume Nault) [1690157] - [net] ip_gre: use erspan key field for tunnel lookup (Lorenzo Bianconi) [1664570] - [net] ip6_gre: simplify gre header parsing in ip6gre_err (Lorenzo Bianconi) [1664570] - [net] ipv4: use a dedicated counter for icmp_v4 redirect packets (Lorenzo Bianconi) [1664209] - [net] virtchnl: Fix off by one error (Ivan Vecera) [1690114] - [net] virtchnl: white space and reorder (Ivan Vecera) [1690114] - [net] i40e: Update status codes (Ivan Vecera) [1690114] - [net] ethtool: Add WAKE_FILTER and RX_CLS_FLOW_WAKE (Ivan Vecera) [1690091] - [net] geneve: allow to clear ttl inherit (Hangbin Liu) [1671251] - [net] geneve: add ttl inherit support (Hangbin Liu) [1671251] - [net] tipc: fix a double kfree_skb() (Jon Maloy) [1684290] - [net] vxlan: Fix GRO cells race condition between receive and link delete (Andrea Claudi) [1687046] - [net] sock: consistent handling of extreme SO_SNDBUF/SO_RCVBUF values (Guillaume Nault) [1686564] - [net] tun: implement carrier change (Guillaume Nault) [1686566] - [net] ip6_tunnel: respect ttl inherit for ip6tnl (Hangbin Liu) [1664944] - [net] ip6_gre: update version related info when changing link (Hangbin Liu) [1664900] - [net] ipv4/route: fail early when inet dev is missing (Paolo Abeni) [1685424] - [net] bonding/802.3ad: fix link_failure_count tracking (Matteo Croce) [1657905] - [net] bonding: avoid possible dead-lock (Matteo Croce) [1657905] - [net] bonding: fix length of actor system (Matteo Croce) [1657905] - [net] bonding: fix warning message (Matteo Croce) [1657905] - [net] bonding: pass link-local packets to bonding master also. (Matteo Croce) [1657905]- [infiniband] IB/usnic: fix spelling mistake "unvalid" -> "invalid" (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Get rid of ucontext->tgid (Jonathan Toppins) [1685307] - [infiniband] RDMA/usnic: Do not use ucontext->tgid (Jonathan Toppins) [1685307] - [infiniband] infiniband: remove redundant condition check before debugfs_remove (Jonathan Toppins) [1685307] - [infiniband] RDMA/rdmavt: Fix rvt_create_ah function signature (Jonathan Toppins) [1685307] - [infiniband] RDMA/drivers: Use core provided API for registering device attributes (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Remove unnecessary enum values (Jonathan Toppins) [1685307] - [infiniband] IB/{hfi1, qib, rdmavt}: Move ruc_loopback to rdmavt (Jonathan Toppins) [1685307] - [infiniband] IB/{hfi1, qib, rdmavt}: Move send completion logic to rdmavt (Jonathan Toppins) [1685307] - [infiniband] IB/{hfi1, qib, rdmavt}: Move copy SGE logic into rdmavt (Jonathan Toppins) [1685307] - [infiniband] RDMA/rxe: Remove unused addr_same() (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: avoid srq memory leak (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: replace kvfree with vfree (Jonathan Toppins) [1685307] - [infiniband] RDMA/drivers: Use dev_name instead of ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/drivers: Use dev_err/dbg/etc instead of pr_* + ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] IB/rxe: fixes for rdma read retry (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: avoid back-to-back retries (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Refactor lookup memory function (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Avoid NULL check when search is successful (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Change pool state enums to capital letters (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Replace spinlock with rwlock (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Simplify rxe_find_route() to avoid GID query for netdev (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: remove redudant qpn check (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: vary the source udp port for receive scaling (Jonathan Toppins) [1685307] - [infiniband] iser: set sector for ambiguous mr status errors (Jonathan Toppins) [1685307] - [net] svcrdma: Remove try_module_get from backchannel (Jonathan Toppins) [1685307] - [net] svcrdma: Remove ->release_rqst call in bc reply handler (Jonathan Toppins) [1685307] - [net] xprtrdma: Clean up xprt_rdma_disconnect_inject (Jonathan Toppins) [1685307] - [net] xprtrdma: Add documenting comments (Jonathan Toppins) [1685307] - [net] xprtrdma: Report when there were zero posted Receives (Jonathan Toppins) [1685307] - [net] xprtrdma: Move rb_flags initialization (Jonathan Toppins) [1685307] - [net] xprtrdma: Don't disable BH's in backchannel server (Jonathan Toppins) [1685307] - [net] xprtrdma: Remove memory address of "ep" from an error message (Jonathan Toppins) [1685307] - [net] xprtrdma: Rename rpcrdma_qp_async_error_upcall (Jonathan Toppins) [1685307] - [net] xprtrdma: Simplify RPC wake-ups on connect (Jonathan Toppins) [1685307] - [net] xprtrdma: Re-organize the switch() in rpcrdma_conn_upcall (Jonathan Toppins) [1685307] - [net] xprtrdma: Eliminate "connstate" variable from rpcrdma_conn_upcall() (Jonathan Toppins) [1685307] - [net] xprtrdma: Conventional variable names in rpcrdma_conn_upcall (Jonathan Toppins) [1685307] - [net] xprtrdma: Rename rpcrdma_conn_upcall (Jonathan Toppins) [1685307] - [net] sunrpc: Report connect_time in seconds (Jonathan Toppins) [1685307] - [net] sunrpc: Fix connect metrics (Jonathan Toppins) [1685307] - [net] xprtrdma: Name MR trace events consistently (Jonathan Toppins) [1685307] - [net] xprtrdma: Explicitly resetting MRs is no longer necessary (Jonathan Toppins) [1685307] - [net] xprtrdma: Create more MRs at a time (Jonathan Toppins) [1685307] - [net] xprtrdma: xprt_release_rqst_cong is called outside of transport_lock (Jonathan Toppins) [1685307] - [infiniband] IB/ipoib: Log sysfs 'dev_id' accesses from userspace (Jonathan Toppins) [1685307] - [infiniband] IB/ipoib: Use dev_port to expose network interface port numbers (Jonathan Toppins) [1685307] - [infiniband] IB/ipoib: Ensure that MTU isn't less than minimum permitted (Jonathan Toppins) [1685307] - [infiniband] IB/srp: Remove unnecessary unlikely() (Jonathan Toppins) [1685307] - [infiniband] IB/core: Fix oops in netdev_next_upper_dev_rcu() (Jonathan Toppins) [1685307] - [infiniband] IB/umem: Set correct address to the invalidation function (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Add GIDs while changing MAC addr only for registered ndev (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Fix comment for hw stats init for port == 0 (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Refactor ib_register_device() function (Jonathan Toppins) [1685307] - [infiniband] IB/mlx4: Refer to the device kobject instead of ports_parent (Jonathan Toppins) [1685307] - [include] RDMA/core: Allow existing drivers to set one sysfs group per device (Jonathan Toppins) [1685307] - [infiniband] RDMA/umad: Use kernel API to allocate umad indexes (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Use kernel API to allocate uverbs indexes (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Increase total number of RDMA ports across all devices (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Rename ports_parent to ports_kobj (Jonathan Toppins) [1685307] - [infiniband] RDMA/nldev: Allow IB device rename through RDMA netlink (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/core: Implement IB device rename function (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/core: Annotate timeout as unsigned long (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Align multiple functions to kernel coding style (Jonathan Toppins) [1685307] - [infiniband] RDMA/cma: Remove unused timeout_ms parameter from cma_resolve_iw_route() (Jonathan Toppins) [1685307] - [infiniband] RDMA/cm: Respect returned status of cm_init_av_by_path (Jonathan Toppins) [1685307] - [infiniband] RDMA/restrack: Protect from reentry to resource return path (Jonathan Toppins) [1685307] - [infiniband] RDMA/restrack: Release task struct which was hold by CM_ID object (Jonathan Toppins) [1685307] - [infiniband] RDMA/restrack: Consolidate task name updates in one place (Jonathan Toppins) [1685307] - [infiniband] RDMA/restrack: Un-inline set task implementation (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Check error status of rdma_find_ndev_for_src_ip_rcu (Jonathan Toppins) [1685307] - [include] IB/mlx4: Avoid implicit enumerated type conversion (Jonathan Toppins) [1685307] - [infiniband] RDMA/netlink: Simplify netlink listener existence check (Jonathan Toppins) [1685307] - [infiniband] RDMA: Remove unused parameter from ib_modify_qp_is_ok() (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Fix RCU annotation for radix slot deference (Jonathan Toppins) [1685307] - [infiniband] RDMA: Fix building with CONFIG_MMU=n (Jonathan Toppins) [1685307] - [infiniband] RDMA/cma: Introduce and use cma_ib_acquire_dev() (Jonathan Toppins) [1685307] - [infiniband] RDMA/cma: Introduce and use cma_acquire_dev_by_src_ip() (Jonathan Toppins) [1685307] - [infiniband] RDMA/cma: Allow accepting requests for multi port rdma device (Jonathan Toppins) [1685307] - [infiniband] IB/rdmavt: Rename check_send_wqe as setup_wqe (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Acquire and release mmap_sem on page range (Jonathan Toppins) [1685307] - [infiniband] IB/sa: simplify return code logic for ib_nl_send_msg() (Jonathan Toppins) [1685307] - [infiniband] RDMA/ulp: Use dev_name instead of ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/core: Use dev_name instead of ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/core: Use dev_err/dbg/etc instead of pr_* + ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA: Fully setup the device name in ib_register_device (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/umem: Fix potential addition overflow (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Minor optimizations (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Avoid synchronize_srcu in the ODP MR destruction path (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Handle a half-complete start/end sequence (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Get rid of per_mm->notifier_count (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Use umem->owning_mm inside ODP (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Move all the ODP related stuff out of ucontext and into per_mm (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Get rid of struct ib_umem.odp_data (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Make ib_umem_odp into a sub structure of ib_umem (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Use ib_umem_odp in all function signatures connected to ODP (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Do not use current->tgid to track the mm_struct (Jonathan Toppins) [1685307] - [infiniband] RDMA/ucontext: Get rid of the old disassociate flow (Jonathan Toppins) [1685307] - [infiniband] RDMA/ucontext: Add a core API for mmaping driver IO memory (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Fix error unwind in ib_uverbs_add_one (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Properly return the error code of rdma_set_src_addr_rcu (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Remove is_closed from ib_uverbs_file (Jonathan Toppins) [1685307] - [include] IB/rxe: Revise the ib_wr_opcode enum (Jonathan Toppins) [1685307] - [include] RDMA: Remove duplicated include from ib_addr.h (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Consider net ns of gid attribute for RoCE (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Introduce rdma_read_gid_attr_ndev_rcu() to check GID attribute (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Simplify roce_resolve_route_from_path() (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Protect against changing dst->dev during destination resolve (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Refer to network type instead of device type (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Use common code flow for IPv4/6 for addr resolve (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Rename rdma_copy_addr to rdma_copy_src_l2_addr (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Introduce and use rdma_set_src_addr() between IPv4 and IPv6 (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Let protocol specific function typecast sockaddr structure (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Avoid unnecessary sa_family overwrite (Jonathan Toppins) [1685307] - [infiniband] RDMA/core Introduce and use rdma_find_ndev_for_src_ip_rcu (Jonathan Toppins) [1685307] - [infiniband] IB/{hfi1, qib, rdmavt}: Schedule multi RC/UC packets instead of posting (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Move flow resources initialization (Jonathan Toppins) [1685307] - [infiniband] IB/uverbs: Add IDRs array attribute type to ioctl() interface (Jonathan Toppins) [1685307] - [include] RDMA/core: Document QP @event_handler function (Jonathan Toppins) [1685307] - [include] RDMA/core: Document CM @event_handler function (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Assign device ifindex before publishing the device (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Follow correct unregister order between sysfs and cgroup (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Restore lockdep check while downgrading lock (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Define client_data_lock as rwlock instead of spinlock (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Use simpler spin lock irq API from blocking context (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Remove context entries from list while unregistering device (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Use simplified list_for_each (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: No need to protect kfree with spin lock and semaphore (Jonathan Toppins) [1685307] - [infiniband] RDMA/{cma, core}: Avoid callback on rdma_addr_cancel() (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Rate limit MAD error messages (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Fail early if unsupported QP is provided (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Use device.groups to initialize device attributes (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Use cdev_device_add() instead of cdev_add() (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Depend on device_add() to add device attributes (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Replace open-coded variant of get_device (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Declare closing variable as boolean (Jonathan Toppins) [1685307] - [infiniband] IB/core: Add an unbound WQ type to the new CQ API (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Add generic function to fill in flow action object (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Add UVERBS_ATTR_CONST_IN to the specs language (Jonathan Toppins) [1685307] - [netdrv] ibmvnic: Fix completion structure initialization (Steve Best) [1697103] - [rpmspec] redhat: limit headers_install_all to arches we care about (Denys Vlasenko) [1692404] - [lib] ida: Add new API (Jonathan Toppins) [1697588] - [edac] EDAC: Drop per-memory controller buses (Frank Ramsay) [1686477] - [edac] EDAC: Don't add devices under /sys/bus/edac (Frank Ramsay) [1686477] - [x86] x86/platform/UV: Use efi_runtime_lock to serialise BIOS calls (Frank Ramsay) [1677695]- [pci] PCI: pciehp: Fix re-enabling the slot marked for safe removal (Myron Stowe) [1695922] - [rpmspec] redhat: Enable gdb_index (Juri Lelli) [1696747] - [fs] ovl: Do not lose security.capability xattr over metadata file copy-up (Vivek Goyal) [1694757] - [fs] ovl: During copy up, first copy up data and then xattrs (Vivek Goyal) [1694757]- [netdrv] mark the intel igc driver as tech preview (David Arcari) [1495358] - [netdrv] igc: Remove unneeded hw_dbg prints (David Arcari) [1495358] - [netdrv] igc: Fix the typo in igc_base.h header definition (David Arcari) [1495358] - [netdrv] igc: Add support for the ntuple feature (David Arcari) [1495358] - [netdrv] igc: Add support for statistics (David Arcari) [1495358] - [netdrv] igc: Extend the ethtool supporting (David Arcari) [1495358] - [netdrv] igc: Add multiple receive queues control supporting (David Arcari) [1495358] - [netdrv] igc: Use struct_size() helper (David Arcari) [1495358] - [netdrv] igc: Add ethtool support (David Arcari) [1495358] - [netdrv] igc: Remove the 'igc_get_phy_id_base' method (David Arcari) [1495358] - [netdrv] igc: Remove the 'igc_read_mac_addr_base' method (David Arcari) [1495358] - [netdrv] igc: Remove unneeded code (David Arcari) [1495358] - [netdrv] igc: Remove unused code (David Arcari) [1495358] - [netdrv] igc: Fix code redundancy (David Arcari) [1495358] - [netdrv] igc: Remove unreachable code from igc_phy.c file (David Arcari) [1495358] - [netdrv] igc: Remove obsolete IGC_ERR define (David Arcari) [1495358] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (David Arcari) [1495358] - [netdrv] igc: Clean up code (David Arcari) [1495358] - [netdrv] igc: Tidy up some white space (David Arcari) [1495358] - [netdrv] igc: fix error return handling from call to netif_set_real_num_tx_queues (David Arcari) [1495358] - [netdrv] igc: Remove set but not used variable 'pci_using_dac' (David Arcari) [1495358] - [netdrv] igc: Remove set but not used variables 'ctrl_ext, link_mode' (David Arcari) [1495358] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (David Arcari) [1495358] - [netdrv] igc: Add watchdog (David Arcari) [1495358] - [netdrv] igc: Add setup link functionality (David Arcari) [1495358] - [netdrv] igc: Add code for PHY support (David Arcari) [1495358] - [netdrv] igc: Add NVM support (David Arcari) [1495358] - [netdrv] igc: Add HW initialization code (David Arcari) [1495358] - [netdrv] igc: Add transmit and receive fastpath and interrupt handlers (David Arcari) [1495358] - [netdrv] igc: Add support for Tx/Rx rings (David Arcari) [1495358] - [netdrv] igc: Add interrupt support (David Arcari) [1495358] - [netdrv] igc: Add netdev (David Arcari) [1495358] - [netdrv] igc: Add support for PF (David Arcari) [1495358] - [netdrv] igc: Add skeletal frame for Intel(R) 2.5G Ethernet Controller support (David Arcari) [1495358] - [s390] virtio-ccw: wire up ->bus_name callback (Cornelia Huck) [1695630] - [s390] s390/virtio: handle find on invalid queue gracefully (Cornelia Huck) [1695630] - [s390] virtio/s390: fix race in ccw_io_helper() (Cornelia Huck) [1695630] - [s390] virtio/s390: avoid race on vcdev->config (Cornelia Huck) [1695630] - [kvm] KVM: s390: make bitmap declaration consistent (Thomas Huth) [1695090] - [kvm] KVM: s390: drop obsolete else path (Thomas Huth) [1695090] - [kvm] KVM: s390: clarify kvm related kernel message (Thomas Huth) [1695090] - [kvm] s390: vsie: Use effective CRYCBD.31 to check CRYCBD validity (Thomas Huth) [1695090] - [kvm] KVM: s390: fix kmsg component kvm-s390 (Thomas Huth) [1695090] - [kvm] KVM: s390: unregister debug feature on failing arch init (Thomas Huth) [1695090] - [kvm] KVM: s390/vsie: avoid sparse warning (Thomas Huth) [1695090]- [powerpc] powerpc: use mm zones more sensibly (David Gibson) [1654978] - [s390] s390/mem_detect: add missing include (Philipp Rudo) [1695615] - [s390] s390: avoid vmlinux segments overlap (Philipp Rudo) [1695615] - [s390] s390/decompressor: add missing FORCE to build targets (Philipp Rudo) [1695615] - [s390] s390: move ipl block and cmd line handling to early boot phase (Philipp Rudo) [1695615] - [s390] s390/sclp: introduce sclp_early_get_hsa_size (Philipp Rudo) [1695615] - [s390] s390/mem_detect: add info source debug print (Philipp Rudo) [1695615] - [s390] s390/mem_detect: replace tprot loop with binary search (Philipp Rudo) [1695615] - [s390] s390/mem_detect: use SCLP info for continuous memory detection (Philipp Rudo) [1695615] - [s390] s390/mem_detect: introduce z/VM specific diag260 call (Philipp Rudo) [1695615] - [s390] s390/mem_detect: introduce SCLP storage info (Philipp Rudo) [1695615] - [s390] s390: introduce .boot.data section compile time validation (Philipp Rudo) [1695615] - [s390] s390/mem_detect: move tprot loop to early boot phase (Philipp Rudo) [1695615] - [s390] s390/sclp: move sclp_early_read_info to sclp_early_core.c (Philipp Rudo) [1695615] - [s390] s390: introduce .boot.data section (Philipp Rudo) [1695615] - [s390] s390/decompressor: clean up and rename compressed/misc.c (Philipp Rudo) [1695615] - [s390] s390: rescue initrd as early as possible (Philipp Rudo) [1695615] - [s390] s390/sclp: simplify early hsa_size detection (Philipp Rudo) [1695615] - [s390] s390/decompressor: get rid of .bss usage (Philipp Rudo) [1695615] - [s390] s390/decompressor: rework uncompressed image info collection (Philipp Rudo) [1695615] - [s390] s390: remove decompressor's head.S (Philipp Rudo) [1695615] - [s390] s390: clean up stacks setup (Philipp Rudo) [1695615] - [s390] s390: add initial 64-bit restart PSW (Philipp Rudo) [1695615] - [s390] s390/hibernate: fix error handling when suspend cpu != resume cpu (Philipp Rudo) [1695615] - [s390] s390/decompressor: support extra debug flags (Philipp Rudo) [1695615] - [s390] s390/build: add *.o.chkbss files to targets list (Philipp Rudo) [1695615] - [s390] s390/decompressor: avoid packing *.o.chkbss files into startup.a (Philipp Rudo) [1695615] - [s390] s390/decompressor: avoid constant startup.a rebuilds (Philipp Rudo) [1695615] - [s390] s390/boot: block uncompressed vmlinux booting attempts (Philipp Rudo) [1695615] - [s390] s390/decompressor: correct EXCLUDE_FILE construct (Philipp Rudo) [1695615] - [s390] s390: move _text to an actual .text start (Philipp Rudo) [1695615] - [s390] s390: correct _stext offset (Philipp Rudo) [1695615] - [s390] s390: get rid of the first mb of uncompressed image (Philipp Rudo) [1695615] - [s390] s390: remove unused _ehead symbol (Philipp Rudo) [1695615] - [s390] s390: put expoline execute-trampolines into .text section (Philipp Rudo) [1695615] - [s390] s390/decompressor: discard ___kcrctab section (Philipp Rudo) [1695615] - [s390] s390/setup: do not reserve the decompressor code (Philipp Rudo) [1695615] - [s390] s390/decompressor: support uncompressed kernel (Philipp Rudo) [1695615] - [init] init/Kconfig: add an option for uncompressed kernel (Philipp Rudo) [1695615] - [s390] s390/decompressor: allow to pack uncompressed vmlinux.bin into piggy.o (Philipp Rudo) [1695615] - [s390] s390/decompressor: allow preprocessor in piggy.o linker script (Philipp Rudo) [1695615] - [s390] s390/decompressor: extend .bss check for early code (Philipp Rudo) [1695615] - [s390] s390: add custom target and make path extension optional for .bss check (Philipp Rudo) [1695615] - [s390] s390/decompressor: avoid repeating objects list in Makefile (Philipp Rudo) [1695615] - [s390] s390/decompressor: reuse lib/mem.S for mem functions (Philipp Rudo) [1695615] - [s390] s390/decompressor: avoid reusing uncompressed image objects (Philipp Rudo) [1695615] - [s390] s390/als: avoid .init.* sections usage (Philipp Rudo) [1695615] - [s390] s390/decompressor: rename entry point to startup_decompressor (Philipp Rudo) [1695615] - [s390] s390/boot: make head.S and als.c be part of the decompressor only (Philipp Rudo) [1695615] - [s390] s390/decompressor: trim the kernel image up to 1M (Philipp Rudo) [1695615] - [s390] s390: remove uncompressed kernel image build (Philipp Rudo) [1695615] - [s390] s390/decompressor: correct build flags (Philipp Rudo) [1695615] - [s390] s390/build: remove obsolete -mkernel-backchain flag (Philipp Rudo) [1695615] - [tools] tools/power turbostat: return the exit status of a command (David Arcari) [1642739] - [misc] misc: hpilo: Do not claim unsupported hardware (Joseph Szczypek) [1665635] - [misc] misc: hpilo: Exclude unsupported device via blacklist (Joseph Szczypek) [1665635]- [fs] xfs: set buffer ops when repair probes for btree type (Bill O'Donnell) [1689281] - [fs] xfs: end sync buffer I/O properly on shutdown error (Bill O'Donnell) [1689281] - [fs] xfs: xfs_fsops: drop useless LIST_HEAD (Bill O'Donnell) [1689281] - [fs] xfs: xfs_buf: drop useless LIST_HEAD (Bill O'Donnell) [1689281] - [fs] iomap: fix a use after free in iomap_dio_rw (Bill O'Donnell) [1689281] - [fs] xfs: reallocate realtime summary cache on growfs (Bill O'Donnell) [1689281] - [fs] xfs: stringify scrub types in ftrace output (Bill O'Donnell) [1689281] - [fs] xfs: stringify btree cursor types in ftrace output (Bill O'Donnell) [1689281] - [fs] xfs: move XFS_INODE_FORMAT_STR mappings to libxfs (Bill O'Donnell) [1689281] - [fs] xfs: move XFS_AG_BTREE_CMP_FORMAT_STR mappings to libxfs (Bill O'Donnell) [1689281] - [fs] xfs: fix symbolic enum printing in ftrace output (Bill O'Donnell) [1689281] - [fs] xfs: fix function pointer type in ftrace format (Bill O'Donnell) [1689281] - [fs] xfs: Fix x32 ioctls when cmd numbers differ from ia32. (Bill O'Donnell) [1689281] - [fs] xfs: Fix bulkstat compat ioctls on x32 userspace. (Bill O'Donnell) [1689281] - [fs] xfs: Align compat attrlist_by_handle with native implementation. (Bill O'Donnell) [1689281] - [fs] xfs: require both realtime inodes to mount (Bill O'Donnell) [1689281] - [fs] xfs: cache minimum realtime summary level (Bill O'Donnell) [1689281] - [fs] xfs: count inode blocks correctly in inobt scrub (Bill O'Donnell) [1689281] - [fs] xfs: precalculate cluster alignment in inodes and blocks (Bill O'Donnell) [1689281] - [fs] xfs: precalculate inodes and blocks per inode cluster (Bill O'Donnell) [1689281] - [fs] xfs: add a block to inode count converter (Bill O'Donnell) [1689281] - [fs] xfs: remove xfs_rmap_ag_owner and friends (Bill O'Donnell) [1689281] - [fs] xfs: const-ify xfs_owner_info arguments (Bill O'Donnell) [1689281] - [fs] xfs: streamline defer op type handling (Bill O'Donnell) [1689281] - [fs] xfs: idiotproof defer op type configuration (Bill O'Donnell) [1689281] - [fs] xfs: clean up indentation issues, remove an unwanted space (Bill O'Donnell) [1689281] - [fs] xfs: libxfs: move xfs_perag_put late (Bill O'Donnell) [1689281] - [fs] xfs: split up the xfs_reflink_end_cow work into smaller transactions (Bill O'Donnell) [1689281] - [crypto] crypto: testmgr - add AES-CFB tests (Neil Horman) [1687897] - [scsi] scsi: iscsi: flush running unbind operations when removing a session (Maurizio Lombardi) [1695007] - [crypto] crypto: vmx - fix copy-paste error in CTR mode (Herbert Xu) [1693350] - [rpmspec] Fix cross builds (Jiri Olsa) [1694956] - [lib] sbitmap: order READ/WRITE freed instance and setting clear bit (Ming Lei) [1694521] - [block] blk-mq: fix sbitmap ws_active for shared tags (Ming Lei) [1694521] - [block] blk-mq: update comment for blk_mq_hctx_has_pending() (Ming Lei) [1694521] - [block] blk-mq: use blk_mq_put_driver_tag() to put tag (Ming Lei) [1694521] - [include] sbitmap: trivial - update comment for sbitmap_deferred_clear_bit (Ming Lei) [1694521] - [block] blkcg: Fix kernel-doc warnings (Ming Lei) [1694521] - [block] block: Unexport blk_mq_add_to_requeue_list() (Ming Lei) [1694521] - [block] block: add BLK_MQ_POLL_CLASSIC for hybrid poll and return EINVAL for unexpected value (Ming Lei) [1694521] - [include] blk-mq: remove unused 'nr_expired' from blk_mq_hw_ctx (Ming Lei) [1694521] - [block] loop: access lo_backing_file only when the loop device is Lo_bound (Ming Lei) [1694521] - [block] blk-mq: use blk_mq_sched_mark_restart_hctx to set RESTART (Ming Lei) [1694521] - [kernel] blkcg: annotate implicit fall through (Ming Lei) [1694521] - [block] block: Replace function name in string with __func__ (Ming Lei) [1694521] - [block] block: fix NULL pointer dereference in register_disk (Ming Lei) [1694521] - [fs] fs: fix guard_bio_eod to check for real EOD errors (Ming Lei) [1694521] - [block] blk-mq: use HCTX_TYPE_DEFAULT but not 0 to index blk_mq_tag_set->map (Ming Lei) [1694521] - [include] block: remove bvec_iter_rewind() (Ming Lei) [1694521] - [block] block: don't use bio->bi_vcnt to figure out segment number (Ming Lei) [1694521] - [fs] btrfs: look at bi_size for repair decisions (Ming Lei) [1694521] - [block] block: avoid setting none scheduler if it's already none (Ming Lei) [1694521] - [block] block: avoid setting wbt_lat_usec to current value (Ming Lei) [1694521] - [block] blk-sysfs: Rework documention of __blk_release_queue (Ming Lei) [1694521] - [block] blk-cgroup: Fix doc related to blkcg_exit_queue (Ming Lei) [1694521] - [block] block: kill QUEUE_FLAG_FLUSH_NQ (Ming Lei) [1694521] - [block] block: avoid setting nr_requests to current value (Ming Lei) [1694521] - [block] blk-mq: save default hctx into ctx->hctxs for not-supported type (Ming Lei) [1694521] - [block] blk-mq: save queue mapping result into ctx directly (Ming Lei) [1694521] - [block] block: mq-deadline: Fix write completion handling (Ming Lei) [1694521] - [crypto] crypto: user - fix leaking uninitialized memory to userspace (Herbert Xu) [1657880] {CVE-2018-19854} - [char] ipmi: fix sleep-in-atomic in free_user at cleanup SRCU user->release_barrier (Xiaojun Tan) [1689480] - [infiniband] usnic_verbs: fix deadlock (Govindarajulu Varadarajan) [1688505] - [infiniband] IB/usnic: Fix locking when unregistering (Govindarajulu Varadarajan) [1688505] - [infiniband] IB/usnic: Fix potential deadlock (Govindarajulu Varadarajan) [1688505] - [netdrv] net: hns3: fix improper error handling in the hclge_init_ae_dev() (Xiaojun Tan) [1687060] - [netdrv] net: hns3: fix netif_napi_del() not do problem when unloading (Xiaojun Tan) [1687060] - [netdrv] net: hns3: Fix NULL deref when unloading driver (Xiaojun Tan) [1687060] - [netdrv] net: hns3: Modify the order of initializing command queue register (Xiaojun Tan) [1687060] - [netdrv] net: hns3: remove the Redundant put_vector in hns3_client_uninit (Xiaojun Tan) [1687060] - [netdrv] net: hns3: reuse reinitialization interface in the hns3_set_channels (Xiaojun Tan) [1687060]- [powercap] powercap/intel_rapl: add Ice Lake mobile (Steve Best) [1483427] - [x86] x86/CPU: Add Icelake model number (Steve Best) [1483427] - [watchdog] watchdog/hpwdt: Update Kconfig documentation (Joseph Szczypek) [1664861] - [watchdog] watchdog/hpwdt: Update driver version. (Joseph Szczypek) [1664861] - [watchdog] watchdog/hpwdt: Do not claim unsupported hardware (Joseph Szczypek) [1664861] - [watchdog] watchdog/hpwdt: Exclude via blacklist (Joseph Szczypek) [1664861] - [fs] autofs: add strictexpire mount option (Ian Kent) [1672134] - [fs] autofs: change catatonic setting to a bit flag (Ian Kent) [1672134] - [fs] autofs: simplify parse_options() function call (Ian Kent) [1672134] - [fs] autofs: add AUTOFS_EXP_FORCED flag (Ian Kent) [1672134] - [fs] autofs: make expire flags usage consistent with v5 params (Ian Kent) [1672134] - [fs] autofs: make autofs_expire_indirect() static (Ian Kent) [1672134] - [fs] autofs: make autofs_expire_direct() static (Ian Kent) [1672134] - [fs] autofs: fix clearing AUTOFS_EXP_LEAVES in autofs_expire_indirect() (Ian Kent) [1672134] - [fs] autofs: fix inconsistent use of now variable (Ian Kent) [1672134] - [md] md: Fix failed allocation of md_register_thread (Nigel Croxon) [1665346] - [md] It's wrong to add len to sector_nr in raid10 reshape twice (Nigel Croxon) [1665346] - [md] raid5: set write hint for PPL (Nigel Croxon) [1665346] - [netdrv] amd-xgbe: Fix mdio access for non-zero ports and clause 45 PHYs (Gary Hook) [1669565]- [x86] x86/retpolines: Disable switch jump tables when retpolines are enabled (Waiman Long) [1688258] - [x86] x86, retpolines: Raise limit for generating indirect calls from switch-case (Waiman Long) [1688258] - [net] vsock/virtio: fix kernel panic from virtio_transport_reset_no_sock (Stefano Garzarella) [1676595] - [net] vsock/virtio: reset connected sockets on device removal (Stefano Garzarella) [1676595] - [net] vsock/virtio: fix kernel panic after device hot-unplug (Stefano Garzarella) [1676595] - [powerpc] powerpc/livepatch: return -ERRNO values in save_stack_trace_tsk_reliable() (Joe Lawrence) [1659856] - [powerpc] powerpc/livepatch: small cleanups in save_stack_trace_tsk_reliable() (Joe Lawrence) [1659856] - [powerpc] powerpc/livepatch: relax reliable stack tracer checks for first-frame (Joe Lawrence) [1659856] - [powerpc] powerpc/64s: Make reliable stacktrace dependency clearer (Joe Lawrence) [1659856] - [powerpc] powerpc/64s: Clear on-stack exception marker upon exception return (Joe Lawrence) [1659856] - [infiniband] iw_cxgb4: Support FW write completion WR (Arjun Vynipadath) [1671320] - [infiniband] iw_cxgb4: RDMA write with immediate support (Arjun Vynipadath) [1671320] - [infiniband] rdma/cxgb4: fix some info leaks (Arjun Vynipadath) [1671320] - [infiniband] rdma/cxgb4: Add support for 64Byte cqes (Arjun Vynipadath) [1671320] - [pci] pci: remove unused functionality (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] aacraid: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] be2iscsi: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] mpt3sas: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] qla2xxx: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] qla4xxx: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] megaraid_sas: add removed id table" (Tomas Henzl) [1622638] - [scsi] lfpc: remove Lancer FCoE (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] lpfc: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] lfpc: add Lancer FCoE to the removed devices" (Tomas Henzl) [1622638]- [kernel] printk: Export console_printk (Prarit Bhargava) [1642870] - [video] fbcon: Silence fbcon logo on 'quiet' boots (Prarit Bhargava) [1642870] - [scsi] scsi: ibmvscsi: Fix empty event pool access during host removal (Steve Best) [1692463] - [scsi] scsi: ibmvscsi: Protect ibmvscsi_head from concurrent modificaiton (Steve Best) [1692463] - [scsi] scsi: ibmvscsi: Improve strings handling (Steve Best) [1692463] - [x86] x86/mce: Handle varying MCA bank counts (David Arcari) [1668779] - [block] virtio_blk: add discard and write zeroes support (Stefano Garzarella) [1692939] - [arm64] arm64: kaslr: ensure randomized quantities are clean also when kaslr is off (Mark Salter) [1673068] - [arm64] arm64: kaslr: ensure randomized quantities are clean to the PoC (Mark Salter) [1673068] - [tools] perf annotate: Fix getting source line failure (Michael Petlan) [1614435] - [infiniband] IB/hfi1: Remove overly conservative VM_EXEC flag check (Alex Estrin) [1680018]- [scsi] scsi: qla2xxx: Fix NULL pointer crash due to stale CPUID (Himanshu Madhani) [1685013] - [scsi] scsi: core: Avoid that system resume triggers a kernel warning (Ewan Milne) [1691903] - [scsi] scsi: core: reset host byte in DID_NEXUS_FAILURE case (Ewan Milne) [1691903] - [scsi] scsi: core: Synchronize request queue PM status only on successful resume (Ewan Milne) [1691903] - [scsi] scsi: sd: Fix cache_type_store() (Ewan Milne) [1691903] - [scsi] scsi: sd: use mempool for discard special page (Ewan Milne) [1691903] - [scsi] scsi: core: Remove scsi_block_when_processing_errors: message (Ewan Milne) [1691903] - [scsi] scsi: core: Allow state transitions from OFFLINE to BLOCKED (Ewan Milne) [1691903] - [scsi] scsi: core: remove unnecessary unlikely() (Ewan Milne) [1691903] - [scsi] scsi: st: remove redundant pointer STbuffer (Ewan Milne) [1691903] - [scsi] scsi: core: Avoid that SCSI device removal through sysfs triggers a deadlock (Ewan Milne) [1691903] - [fs] scsi: sysfs: Introduce sysfs_{un,}break_active_protection() (Ewan Milne) [1691903] - [scsi] scsi sg: remove incorrect scsi command checking logic (Ewan Milne) [1691903] - [scsi] scsi: read host_busy via scsi_host_busy() (Ewan Milne) [1691903] - [scsi] scsi: sd: Remove a superfluous assignment (Ewan Milne) [1691903] - [scsi] scsi: don't add scsi command result bytes (Ewan Milne) [1691903] - [scsi] scsi: core: check for equality of result byte values (Ewan Milne) [1691903] - [scsi] scsi: scsi_transport_fc: use 64-bit timestamps consistently (Ewan Milne) [1691903] - [scsi] scsi: sg: clean up gfp_mask in sg_build_indirect (Ewan Milne) [1691903] - [scsi] scsi: core: remove Scsi_Cmnd typedef (Ewan Milne) [1691903] - [netdrv] ibmvnic: Report actual backing device speed and duplex values (Steve Best) [1691862] - [kernel] sched/fair: Fix O(nr_cgroups) in the load balancing path (Phil Auld) [1685636] {CVE-2018-20784} - [kernel] sched/fair: Fix insertion in rq->leaf_cfs_rq_list (Phil Auld) [1685636] {CVE-2018-20784} - [kernel] sched/fair: Add tmp_alone_branch assertion (Phil Auld) [1685636] {CVE-2018-20784} - [kernel] sched/fair: Fix infinite loop in update_blocked_averages() by reverting a9e7f6544b9c (Phil Auld) [1685636] {CVE-2018-20784} - [kernel] tracing: Do a WARN_ON() if start_thread() in hwlat is called when thread exists (Jerome Marchand) [1693050] - [kernel] ftrace: Add missing check for existing hwlat thread (Jerome Marchand) [1693050] - [kernel] tracing: Do not call start/stop() functions when tracing_on does not change (Jerome Marchand) [1693050]- [scsi] scsi: lpfc: Fixup eq_clr_intr references (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix build error (Dick Kennedy) [1692882] - [scsi] scsi: be2iscsi: lpfc: fix typo (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Update lpfc version to 12.2.0.1 (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Update Copyright in driver version (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Enhance 6072 log string (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix duplicate log message numbers (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Specify node affinity for queue memory allocation (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Reduce memory footprint for lpfc_queue (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Add loopback testing to trunking mode (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix link speed reporting for 4-link trunk (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix handling of trunk links state reporting (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix protocol support on G6 and G7 adapters (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Correct boot bios information to FDMI registration (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix HDMI2 registration string for symbolic name (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix fc4type information for FDMI (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix FDMI manufacturer attribute value (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix io lost on host resets (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix mailbox hang on adapter init (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix driver crash in target reset handler (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Correct localport timeout duration error (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: nvmet: avoid hang / use-after-free when destroying targetport (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Convert bootstrap mbx polling from msleep to udelay (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Coordinate adapter error handling with offline handling (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Stop adapter if pci errors detected (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix deadlock due to nested hbalock call (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix nvmet handling of first burst cmd (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix lpfc_nvmet_mrq attribute handling when 0 (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix nvmet async receive buffer replenishment (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix location of SCSI ktime counters (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix SLI3 commands being issued on SLI4 devices (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix use-after-free mailbox cmd completion (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Resolve irq-unsafe lockdep heirarchy warning in lpfc_io_free (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Resolve inconsistent check of hdwq in lpfc_scsi_cmd_iocb_cmpl (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix error codes in lpfc_sli4_pci_mem_setup() (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: fix 32-bit format string warning (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: fix unused variable warning (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: resolve static checker warning in lpfc_sli4_hba_unset (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Correct __lpfc_sli_issue_iocb_s4 lockdep check (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: fix calls to dma_set_mask_and_coherent() (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: use dma_set_mask_and_coherent (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Remove set but not used variable 'phys_id' (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: fix a handful of indentation issues (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix error code if kcalloc() fails (Dick Kennedy) [1692882] - [security] security/selinux: fix SECURITY_LSM_NATIVE_LABELS on reused superblock (Ondrej Mosnacek) [1683296] - [security] selinux: add the missing walk_size + len check in selinux_sctp_bind_connect (Ondrej Mosnacek) [1683296] - [security] selinux: fix avc audit messages (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: replace BUG_ONs with WARN_ONs in avc.c (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: log invalid contexts in AVCs (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: replace some BUG_ON()s with a WARN_ON() (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: inline some AVC functions used only once (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: do not override context on context mounts (Ondrej Mosnacek) [1683296] - [security] selinux: never allow relabeling on context mounts (Ondrej Mosnacek) [1683296] - [security] selinux: stop passing MAY_NOT_BLOCK to the AVC upon follow_link (Ondrej Mosnacek) [1683296] - [security] selinux: avoid silent denials in permissive mode under RCU walk (Ondrej Mosnacek) [1683296] - [security] selinux: fix GPF on invalid policy (Ondrej Mosnacek) [1683296] - [security] selinux: overhaul sidtab to fix bug and improve performance (Ondrej Mosnacek) [1656787 1683296] - [security] selinux: use separate table for initial SID lookup (Ondrej Mosnacek) [1656787 1683296] - [security] selinux: make "selinux_policycap_names[]" const char * (Ondrej Mosnacek) [1683296] - [security] selinux: always allow mounting submounts (Ondrej Mosnacek) [1647723 1683296] - [security] selinux: refactor sidtab conversion (Ondrej Mosnacek) [1656787 1683296] - [security] selinux: fix non-MLS handling in mls_context_to_sid() (Ondrej Mosnacek) [1683296] - [security] selinux: check length properly in SCTP bind hook (Ondrej Mosnacek) [1683296] - [security] selinux: policydb - fix byte order and alignment issues (Ondrej Mosnacek) [1668222 1683296] - [security] selinux: Add __GFP_NOWARN to allocation at str_read() (Ondrej Mosnacek) [1683296] - [security] selinux: refactor mls_context_to_sid() and make it stricter (Ondrej Mosnacek) [1683296] - [security] selinux: fix mounting of cgroup2 under older policies (Ondrej Mosnacek) [1683296] - [security] selinux: cleanup dentry and inodes on error in selinuxfs (Ondrej Mosnacek) [1683296] - [security] selinux: constify write_op[] (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in netnode (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in avc (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in netif (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in netport (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in sidtab (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in netlink (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in selinuxfs (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in services (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in avtab (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in hooks (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in policydb (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in ebitmap (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in conditional (Ondrej Mosnacek) [1683296] - [fs] fs/proc/kcore.c: fix invalid memory access in multi-page read optimization (Bhupesh Sharma) [1627539] - [fs] proc/kcore: add vmcoreinfo note to /proc/kcore (Bhupesh Sharma) [1627539] - [kernel] crash_core: use VMCOREINFO_SYMBOL_ARRAY() for swapper_pg_dir (Bhupesh Sharma) [1627539] - [fs] proc/kcore: optimize multiple page reads (Bhupesh Sharma) [1627539] - [fs] proc/kcore: clean up ELF header generation (Bhupesh Sharma) [1627539] - [fs] proc/kcore: hold lock during read (Bhupesh Sharma) [1627539] - [fs] proc/kcore: fix memory hotplug vs multiple opens race (Bhupesh Sharma) [1627539] - [fs] proc/kcore: replace kclist_lock rwlock with rwsem (Bhupesh Sharma) [1627539] - [fs] proc/kcore: don't grab lock for memory hotplug notifier (Bhupesh Sharma) [1627539] - [fs] proc/kcore: don't grab lock for kclist_add() (Bhupesh Sharma) [1627539]- [net] Merge branch 'linus/master' into rdma.git for-next (Jonathan Toppins) [1685304] - [netdrv] net: cisco: enic: Replace GFP_ATOMIC with GFP_KERNEL (Jonathan Toppins) [1685304] - [infiniband] RDMA/providers: Remove pointless functions (Jonathan Toppins) [1685304] - [infiniband] RDMA/usnic: Suppress a compiler warning (Jonathan Toppins) [1685304] - [infiniband] IB/usnic: usnic should not select INFINIBAND_USER_ACCESS (Jonathan Toppins) [1685304] - [infiniband] RDMA/vmw_pvrdma: Delete unused function (Jonathan Toppins) [1685304] - [infiniband] IB/usnic: Update with bug fixes from core code (Jonathan Toppins) [1685304] - [infiniband] RDMA/providers: Fix return value from create_srq callbacks (Jonathan Toppins) [1685304] - [infiniband] RDMA/rxe: Simplify the error handling code in rxe_create_ah() (Jonathan Toppins) [1685304] - [infiniband] IB/rxe: avoid unnecessary NULL check (Jonathan Toppins) [1685304] - [infiniband] IB/rxe: increase max MR limit (Jonathan Toppins) [1685304] - [infiniband] IB/rxe: Do not hide uABI stuff in memcpy (Jonathan Toppins) [1685304] - [net] rpc: remove unneeded variable 'ret' in rdma_listen_handler (Jonathan Toppins) [1685304] - [net] svcrdma: Clean up Read chunk path (Jonathan Toppins) [1685304] - [net] svcrdma: Avoid releasing a page in svc_xprt_release() (Jonathan Toppins) [1685304] - [net] sunrpc: remove redundant variables 'checksumlen', 'blocksize' and 'data' (Jonathan Toppins) [1685304] - [scsi] scsi: target: srp, vscsi, sbp, qla: use target_remove_session (Jonathan Toppins) [1685304] - [target] scsi: target: add session removal function (Jonathan Toppins) [1685304] - [target] scsi: target: rename target_alloc_session (Jonathan Toppins) [1685304] - [infiniband] RDMA/ipoib: Fix check for return code from ib_create_srq (Jonathan Toppins) [1685304] - [infiniband] IB/ipoib: Fix error return code in ipoib_dev_init() (Jonathan Toppins) [1685304] - [infiniband] IPoIB: use kvzalloc to allocate an array of bucket pointers (Jonathan Toppins) [1685304] - [infiniband] ib_srpt: use kvmalloc to allocate ring pointers (Jonathan Toppins) [1685304] - [infiniband] RDMA/ipoib: Fix return code from ipoib_cm_dev_init (Jonathan Toppins) [1685304] - [infiniband] IB/iser: Remove set-but-not-used variables (Jonathan Toppins) [1685304] - [infiniband] RDMA/ipoib: Prefer unsigned int to bare use of unsigned (Jonathan Toppins) [1685304] - [infiniband] RDMA/ipoib: Use min_t() macro instead of min() (Jonathan Toppins) [1685304] - [infiniband] IB/srp: Remove driver version and release data information (Jonathan Toppins) [1685304] - [target] scsi: target: Remove second argument from fabric_make_tpg() (Jonathan Toppins) [1685304] - [infiniband] IB/iser: set can_queue earlier to allow setting higher queue depth (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Set right entry state before releasing reference (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Free uapi on destroy (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Fix error cleanup path of ib_uverbs_add_one() (Jonathan Toppins) [1685304] - [infiniband] IB/core: Release object lock if destroy failed (Jonathan Toppins) [1685304] - [infiniband] IB/ucm: fix UCM link error (Jonathan Toppins) [1685304] - [infiniband] IB/core: Change filter function return type from int to bool (Jonathan Toppins) [1685304] - [infiniband] IB/core: Update GID entries for netdevice whose mac address changes (Jonathan Toppins) [1685304] - [infiniband] IB/core: Add default GIDs of the bond master netdev (Jonathan Toppins) [1685304] - [infiniband] IB/core: Consider adding default GIDs of bond device (Jonathan Toppins) [1685304] - [infiniband] IB/core: Delete lower netdevice default GID entries in bonding scenario (Jonathan Toppins) [1685304] - [infiniband] IB/core: Avoid confusing del_netdev_default_ips (Jonathan Toppins) [1685304] - [infiniband] IB/core: Add comment for change upper netevent handling (Jonathan Toppins) [1685304] - [infiniband] IB/ucm: Fix compiling ucm.c (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not check for device disassociation during ioctl (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Remove struct uverbs_root_spec and all supporting code (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Use uverbs_api to unmarshal ioctl commands (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Use uverbs_alloc for allocations (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add a simple allocator to uverbs_attr_bundle (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Remove the ib_uverbs_attr pointer from each attr (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Provide implementation private memory for the uverbs_attr_bundle (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Use uverbs_api to manage the object type inside the uobject (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Build the specs into a radix tree at runtime (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Have the core code create the uverbs_root_spec (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Fix reading of 32 bit flags (Jonathan Toppins) [1685304] - [infiniband] IB/ucm: Initialize sgid request GID attribute pointer (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Allow all DESTROY commands to succeed after disassociate (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not block disassociate during write() (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not pass struct ib_device to the ioctl methods (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not pass struct ib_device to the write based methods (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Lower the test for ongoing disassociation (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Allow uobject allocation to work concurrently with disassociate (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Allow RDMA_REMOVE_DESTROY to work concurrently with disassociate (Jonathan Toppins) [1685304] - [include] IB/uverbs: Convert 'bool exclusive' into an enum (Jonathan Toppins) [1685304] - [include] IB/uverbs: Consolidate uobject destruction (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Make the write path destroy methods use the same flow as ioctl (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Remove rdma_explicit_destroy() from the ioctl methods (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Prefix _ib to IB/RoCE specific functions (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Simplify gid type check in cma_acquire_dev() (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Return bool instead of int (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Get rid of 1 bit boolean (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Constify path record, ib_cm_event, listen_id pointers (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Constify dst_addr argument (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Simplify rdma_resolve_addr() error flow (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Initialize resource type in __rdma_create_id() (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Check for verbs callbacks before using them (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Remove {create,destroy}_ah from mandatory verbs (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add UVERBS_ATTR_FLAGS_IN to the specs language (Jonathan Toppins) [1685304] - [infiniband] RDMA, core and ULPs: Declare ib_post_send() and ib_post_recv() arguments const (Jonathan Toppins) [1685304] - [infiniband] IB/mlx5, ib_post_send(), IB_WR_REG_SIG_MR: Do not modify the 'wr' argument (Jonathan Toppins) [1685304] - [net] net/xprtrdma: Restore needed argument to ib_post_send (Jonathan Toppins) [1685304] - [net] net/xprtrdma: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [nvme] nvmet-rdma: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [nvme] nvme-rdma: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/srpt: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/srp: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/isert: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/iser: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/IPoIB: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] RDMA: Constify the argument of the work request conversion functions (Jonathan Toppins) [1685304] - [infiniband] IB/iser: Inline two work request conversion functions (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Consider netdevice for RoCE ports (Jonathan Toppins) [1685304] - [infiniband] IB/core: Introduce and use sgid_attr in CM requests (Jonathan Toppins) [1685304] - [infiniband] IB/core: Remove extra parentheses (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Fix locking around struct ib_uverbs_file ucontext (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Move the FD uobj type struct file allocation to alloc_commit (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Always propagate errors from rdma_alloc_commit_uobject() (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Rework the locking for cleaning up the ucontext (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Revise and clarify the rwsem and uobjects_lock (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Clarify and revise uverbs_close_fd (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Revise the placement of get/puts on uobject (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Clarify the kref'ing ordering for alloc_commit (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Handle IDR and FD types without truncation (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Get rid of null_obj_type (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [include] IB/core: Allow ULPs to specify NULL as the third ib_post_(send|recv|srq_recv)() argument (Jonathan Toppins) [1685304] - [include] IB/mlx5: Introduce driver create and destroy flow methods (Jonathan Toppins) [1685304] - [infiniband] IB: Support ib_flow creation in drivers (Jonathan Toppins) [1685304] - [infiniband] IB/mlx5: Introduce flow steering matcher uapi object (Jonathan Toppins) [1685304] - [include] IB/uverbs: Move ib_access_flags and ib_read_counters_flags to uapi (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Remove cma_multicast->igmp_joined (Jonathan Toppins) [1685304] - [infiniband] RDMA/umem: Refactor exit paths in ib_umem_get (Jonathan Toppins) [1685304] - [infiniband] IB: Enable uverbs_destroy_def_handler to be used by drivers (Jonathan Toppins) [1685304] - [include] IB/uverbs: Pass IB_UVERBS_QPF_GRH_REQUIRED to user space (Jonathan Toppins) [1685304] - [infiniband] RDMA: Validate grh_required when handling AVs (Jonathan Toppins) [1685304] - [infiniband] RDMA/hfi1: Move grh_required into update_sm_ah (Jonathan Toppins) [1685304] - [infiniband] IB/core: Simplify check for RoCE route resolve (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not use uverbs_cmd_mask in the ioctl path (Jonathan Toppins) [1685304] - [infiniband] RDMA/rw: Fix rdma_rw_ctx_signature_init() kernel-doc header (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Remove set-but-not-used variables (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Remove ib_find_cached_gid() and ib_find_cached_gid_by_port() (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Remove unused and erroneous msg sequence encoding (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Replace ib_ucq_object uverbs_file with the one in ib_uobject (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Remove ib_uobject_file (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Tidy up remaining references to ucontext (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Replace file->ucontext with file in uverbs_cmd.c (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Replace ib_ucontext with ib_uverbs_file in core function calls (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Move non driver related elements from ib_ucontext to ib_ufile (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add a uobj_perform_destroy helper (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Combine MIN_SZ_OR_ZERO with UVERBS_ATTR_STRUCT (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Use UVERBS_ATTR_MIN_SIZE correctly and uniformly (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Remove UA_FLAGS (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Get rid of the & in method specifications (Jonathan Toppins) [1685304] - [infiniband] IB: Improve uverbs_cleanup_ucontext algorithm (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Simplify UVERBS_OBJECT and _TREE family of macros (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Simplify method definition macros (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Simplify UVERBS_ATTR family of macros (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Split UVERBS_ATTR_FLOW_ACTION_ESP_HANDLE (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Store the specs_root in the struct ib_uverbs_device (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Remove now useless rcu_lock in dst_fetch_ha (Jonathan Toppins) [1685304] - [infiniband] IB/core: Check for rdma_protocol_ib only after validating port_num (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Remove redundant check (Jonathan Toppins) [1685304] - [infiniband] RDMA/umem: Don't check for a negative return value of dma_map_sg_attrs() (Jonathan Toppins) [1685304] - [infiniband] RDMA/verbs: Drop kernel variant of destroy_flow (Jonathan Toppins) [1685304] - [infiniband] RDMA/verbs: Drop kernel variant of create_flow (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Check existence of create_flow callback (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Remove unused ib cache functions (Jonathan Toppins) [1685304] - [infiniband] Revert "[infiniband] RDMA/hns: Only assgin the fields of the av if IB_QP_AV bit is set" (Jonathan Toppins) [1685304] - [infiniband] RDMA: Convert drivers to use the AH's sgid_attr in post_wr paths (Jonathan Toppins) [1685304] - [infiniband] IB/mlx4: Use GID attribute from ah attribute (Jonathan Toppins) [1685304] - [infiniband] IB/rxe: Use rdma GID API (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Use sgid_attr from the AV (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Replace members of sa_path_rec with 'struct sgid_attr *' (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Pass the sgid_attr through various events (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Keep track of the sgid_attr that created the cm id (Jonathan Toppins) [1685304] - [infiniband] IB: Make init_ah_attr_grh_fields set sgid_attr (Jonathan Toppins) [1685304] - [infiniband] IB: Make ib_init_ah_from_mcmember set sgid_attr (Jonathan Toppins) [1685304] - [infiniband] IB: Make ib_init_ah_attr_from_wc set sgid_attr (Jonathan Toppins) [1685304] - [infiniband] IB/core: Free GID table entry during GID deletion (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Consider net namespace while leaving multicast group (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Delete type and id from uverbs_obj_attr (Jonathan Toppins) [1685304] - [infiniband] IB/rdmavt, IB/hfi1: Create device dependent s_flags (Jonathan Toppins) [1685304] - [infiniband] IB/core: Expose ib_ucontext from a given ib_uverbs_file (Jonathan Toppins) [1685304] - [include] IB/core: Introduce DECLARE_UVERBS_GLOBAL_METHODS (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Allow an empty namespace in ioctl() framework (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add a macro to define a type with no kernel known size (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add PTR_IN attributes that are allocated/copied automatically (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Refactor uverbs_finalize_objects (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Export uverbs idr and fd types (Jonathan Toppins) [1685304] - [infiniband] IB/mad: Use IDR for agent IDs (Jonathan Toppins) [1685304] - [infiniband] RDMA: Hold the sgid_attr inside the struct ib_ah/qp (Jonathan Toppins) [1685304] - [infiniband] RDMA: Convert drivers to use sgid_attr instead of sgid_index (Jonathan Toppins) [1685304] - [infiniband] IB{cm, core}: Introduce and use ah_attr copy, move, replace APIs (Jonathan Toppins) [1685304] - [infiniband] IB/core: Tidy ib_resolve_eth_dmac (Jonathan Toppins) [1685304] - [infiniband] IB/core: Add a sgid_attr pointer to struct rdma_ah_attr (Jonathan Toppins) [1685304] - [infiniband] IB: Ensure that all rdma_ah_attr's are zero initialized (Jonathan Toppins) [1685304] - [infiniband] IB/mad: Agent registration is process context only (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Refactor flow_resources_alloc() function (Jonathan Toppins) [1685304] - [infiniband] RDMA/nldev: Return port capability flag for IB only (Jonathan Toppins) [1685304] - [net] RDMA/smc: Replace ib_query_gid with rdma_get_gid_attr (Jonathan Toppins) [1685304] - [include] IB/cache: Restore compatibility for ib_query_gid (Jonathan Toppins) [1685304] - [infiniband] IB: Replace ib_query_gid/ib_get_cached_gid with rdma_query_gid (Jonathan Toppins) [1685304] - [infiniband] IB/core: Make rdma_find_gid_by_filter support all protocols (Jonathan Toppins) [1685304] - [infiniband] IB/core: Provide rdma_ versions of the gid cache API (Jonathan Toppins) [1685304] - [infiniband] IB/core: Replace ib_query_gid with rdma_get_gid_attr (Jonathan Toppins) [1685304] - [infiniband] IB/core: Introduce GID attribute get, put and hold APIs (Jonathan Toppins) [1685304] - [infiniband] RDMA: Use GID from the ib_gid_attr during the add_gid() callback (Jonathan Toppins) [1685304] - [infiniband] IB/core: Introduce GID entry reference counts (Jonathan Toppins) [1685304] - [infiniband] IB/core: Store default GID property per-table instead of per-entry (Jonathan Toppins) [1685304] - [infiniband] IB/core: Do not set the gid type when reserving default entries (Jonathan Toppins) [1685304] - [include] IDR: Expose the XArray lock (Jonathan Toppins) [1688319] - [x86] x86/cpufeatures: Enumerate MOVDIR64B instruction (Steve Best) [1482754] - [x86] x86/cpufeatures: Enumerate MOVDIRI instruction (Steve Best) [1482754] - [nvme] nvme: allow ANA support to be independent of native multipathing (Ewan Milne) [1690940] - [nvme] nvme: multipath: Change default of kernel NVMe multipath to be disabled (Ewan Milne) [1690940] - [nvme] nvme: convert to SPDX identifiers (Ewan Milne) [1690940] - [nvme] nvme-multipath: round-robin I/O policy (Ewan Milne) [1690940] - [nvme] nvme-multipath: drop optimization for static ANA group IDs (Ewan Milne) [1690940] - [nvme] nvme-multipath: zero out ANA log buffer (Ewan Milne) [1690940] - [nvme] nvme-fc: fix numa_node when dev is null (Ewan Milne) [1690940] - [nvme] nvme: add a numa_node field to struct nvme_ctrl (Ewan Milne) [1690940] - [nvme] nvme: update node paths after adding new path (Ewan Milne) [1690940] - [nvme] nvme: take node locality into account when selecting a path (Ewan Milne) [1690940] - [s390] s390/mm: Fix ERROR: "__node_distance" undefined! (Ewan Milne) [1690940] - [nvme] nvme: call nvme_complete_rq when nvmf_check_ready fails for mpath I/O (Ewan Milne) [1690940] - [nvme] nvme: properly propagate errors in nvme_mpath_init (Ewan Milne) [1690940] - [nvme] nvme: fixup crash on failed discovery (Ewan Milne) [1690940] - [nvme] nvme: add ANA support (Ewan Milne) [1690940] - [include] nvme.h: fixup ANA group descriptor format (Ewan Milne) [1690940] - [include] nvme.h: add ANA definitions (Ewan Milne) [1690940] - [nvme] nvme: remove nvme_req_needs_failover (Ewan Milne) [1690940] - [nvme] nvme: simplify the API for getting log pages (Ewan Milne) [1690940] - [include] nvme.h: add support for the log specific field (Ewan Milne) [1690940]- [md] dm writecache: set "Tech Preview" taint using mark_tech_preview() (Mike Snitzer) [1690587] - [md] dm integrity: limit the rate of error messages (Mike Snitzer) [1690105] - [md] dm snapshot: don't define direct_access if we don't support it (Mike Snitzer) [1690105] - [md] dm cache: add support for discard passdown to the origin device (Mike Snitzer) [1690105] - [md] dm writecache: fix typo in name for writeback_wq (Mike Snitzer) [1690105] - [md] dm thin: add sanity checks to thin-pool and external snapshot creation (Mike Snitzer) [1690105] - [md] dm block manager: remove redundant unlikely annotation (Mike Snitzer) [1690105] - [md] dm verity fec: remove redundant unlikely annotation (Mike Snitzer) [1690105] - [md] dm integrity: remove redundant unlikely annotation (Mike Snitzer) [1690105] - [md] dm switch: use struct_size() in kzalloc() (Mike Snitzer) [1690105] - [md] dm: remove unused _rq_tio_cache and _rq_cache (Mike Snitzer) [1690105] - [md] dm crypt: don't overallocate the integrity tag space (Mike Snitzer) [1690105] - [md] dm: eliminate 'split_discard_bios' flag from DM target interface (Mike Snitzer) [1690105] - [md] dm: always call blk_queue_split() in dm_process_bio() (Mike Snitzer) [1690105] - [md] dm: update dm_process_bio() to split bio if in ->make_request_fn() (Mike Snitzer) [1690105] - [md] dm rq: remove unused arguments from rq_completed() (Mike Snitzer) [1690105] - [md] dm integrity: replace open-coded allocation size multiplication (Mike Snitzer) [1690105] - [md] dm: Remove VLA usage from hashes (Mike Snitzer) [1690105] - [crypto] crypto: hash - Remove VLA usage (Mike Snitzer) [1690105] - [md] dm: Avoid namespace collision with bitmap API (Mike Snitzer) [1690105] - [md] md/dm-writecache: Don't request pointer dummy_addr when not required (Mike Snitzer) [1690105] - [scsi] scsi: qla2xxx: avoid printf format warning (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix issue reported by static checker for qla2x00_els_dcmd2_sp_done() (Himanshu Madhani) [1664534] - [scsi] qla2xxx: Update driver version to 10.00.00.14.08.1-k (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Avoid PCI IRQ affinity mapping when multiqueue is not supported (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add new FW dump template entry types (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix code indentation for qla27xx_fwdt_entry (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move marker request behind QPair (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Prevent SysFS access when chip is down (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add support for setting port speed (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Prevent multiple ADISC commands per session (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Check for FW started flag before aborting (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix unload when NVMe devices are configured (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add First Burst support for FC-NVMe devices (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix LUN discovery if loop id is not assigned yet by firmware (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: remove redundant null check on pointer sess (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move debug messages before sending srb preventing panic (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Use complete switch scan for RSCN events (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix fw options handle eh_bus_reset() (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Restore FAWWPN of Physical Port only for loop down (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Prevent memory leak for CT req/rsp allocation (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix SRB allocation flag to avoid sleeping in IRQ context (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: allow session delete to finish before create. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: fix fcport null pointer access. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: flush IO on chip reset or sess delete (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix session cleanup hang (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Change default ZIO threshold. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add pci function reset support. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix N2N target discovery with Local loop (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: no need to check return value of debugfs_create functions (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix DMA error when the DIF sg buffer crosses 4GB boundary (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add protection mask module parameters (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix for FC-NVMe discovery for NPIV port (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix NPIV handling for FC-NVMe (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Enable FC-NVME on NPIV ports (Himanshu Madhani) [1664534] - [scsi] Revert "scsi: qla2xxx: Fix NVMe Target discovery" (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: NULL check before some freeing functions is not needed (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Split the __qla2x00_abort_all_cmds() function (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Introduce a switch/case statement in qlt_xmit_tm_rsp() (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix a typo in MODULE_PARM_DESC (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove two arguments from qlafx00_error_entry() (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Make sure that qlafx00_ioctl_iosb_entry() initializes 'res' (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove a set-but-not-used variable (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Make qla2x00_sysfs_write_nvram() easier to analyze (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Declare local functions 'static' (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Improve several kernel-doc headers (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Modify fall-through annotations (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: fully convert to the generic DMA API (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Simplify conditional check (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove unnecessary self assignment (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Return switch command on a timeout (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move log messages before issuing command to firmware (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix for double free of SRB structure (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix recursive mailbox timeout (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix NVMe Target discovery (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: don't allow negative thresholds (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix comment in MODULE_PARM_DESC in qla2xxx (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove set but not used variable 'ptr_dma' (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: fix typo "CT-PASSTRHU" -> "CT-PASSTHRU" (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix an endian bug in fcpcmd_is_corrupted() (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix double increment of switch scan retry count (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix duplicate switch's Nport ID entries (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove stale debug trace message from tcm_qla2xxx (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix premature command free (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Reject bsg request if chip is down. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: shutdown chip if reset fail (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix stuck session in PLOGI state (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix early srb free on abort (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add mode control for each physical port (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix race condition for resource cleanup (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix dropped srb resource. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix port speed display on chip reset (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Check for Register disconnect (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Increase abort timeout value (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Allow FC-NVMe underrun to be handled by transport (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move ABTS code behind qpair (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove stale ADISC_DONE event (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix Remote port registration (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove ASYNC GIDPN switch command (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Reduce holding sess_lock to prevent CPU lock-up (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move {get|rel}_sp to base_qpair struct (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add support for ZIO6 interrupt threshold (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix out of order Termination and ABTS response (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add logic to detect ABTS hang and response completion (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add appropriate debug info for invalid RX_ID (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix deadlock between ATIO and HW lock (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Serialize mailbox request (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Terminate Plogi/PRLI if WWN is 0 (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Defer chip reset until target mode is enabled (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove all rports if fabric scan retry fails (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Force fw cleanup on ADISC error (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Turn off IOCB timeout timer on IOCB completion (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Decrement login retry count for only plogi (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move rport registration out of internal work_list (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove redundant check for fcport deletion (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Update rscn_rcvd field to more meaningful scan_needed (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Use correct qpair for ABTS/CMD (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix process response queue for ISP26XX and above (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Migrate NVME N2N handling into state machine (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Save frame payload size from ICB (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix race between switch cmd completion and timeout (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix Management Server NPort handle reservation logic (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Flush mailbox commands on chip reset (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix session state stuck in Get Port DB (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix redundant fc_rport registration (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Silent erroneous message (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Prevent sysfs access when chip is down (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add longer window for chip reset (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix login retry count (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix N2N link re-connect (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Cleanup for N2N code (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: remove irq save in qla2x00_poll() (Himanshu Madhani) [1664534] - [netdrv] ice: Do autoneg based on VSI state (Jonathan Toppins) [1687903] - [fs] xfs: use the latest extent at writeback delalloc conversion time (Brian Foster) [1661968] - [fs] xfs: create delalloc bmapi wrapper for full extent allocation (Brian Foster) [1661968] - [fs] xfs: remove superfluous writeback mapping eof trimming (Brian Foster) [1661968] - [fs] xfs: validate writeback mapping using data fork seq counter (Brian Foster) [1661968] - [fs] xfs: update fork seq counter on data fork changes (Brian Foster) [1661968] - [fs] xfs: eof trim writeback mapping as soon as it is cached (Brian Foster) [1661968] - [perf] drivers/perf: hisi: update the sccl_id/ccl_id when MT is supported (Xiaojun Tan) [1677815]- [x86] x86/hyperv: Fix kernel panic when kexec on HyperV (Kairui Song) [1684451] - [rpmspec] apply linux-kernel-test.patch when building ("Herton R. Krzesinski") [1690534] - [netdrv] net: ena: update driver version from 2.0.2 to 2.0.3 (John Linville) [1690106] - [netdrv] net: ena: fix race between link up and device initalization (John Linville) [1690106] - [netdrv] net: phy: add phy_speed_down and phy_speed_up (Petr Oros) [1690131] - [netdrv] net: phy: add helper phy_config_aneg (Petr Oros) [1690131] - [nvme] nvme-fabrics: convert to SPDX identifiers (Ewan Milne) [1690909] - [nvme] nvme-fabrics: fix ctrl_loss_tmo < 0 to reconnect forever (Ewan Milne) [1690909] - [nvme] nvme-fc: reject reconnect if io queue count is reduced to zero (Ewan Milne) [1690601] - [nvme] nvme-fc: use nr_phys_segments to determine existence of sgl (Ewan Milne) [1690601] - [include] nvme-fc: convert to SPDX identifiers (Ewan Milne) [1690601] - [nvme] nvme-fc: initialize nvme_req(rq)->ctrl after calling __nvme_fc_init_request() (Ewan Milne) [1690601] - [nvme] nvme-fc: fix request private initialization (Ewan Milne) [1690601] - [nvme] nvme-fc: rework the request initialization code (Ewan Milne) [1690601] - [nvme] nvme-fc: introduce struct nvme_fcp_op_w_sgl (Ewan Milne) [1690601] - [nvme] nvme: cache struct nvme_ctrl reference to struct nvme_request (Ewan Milne) [1690601] - [nvme] nvme-fc: fix kernel-doc headers (Ewan Milne) [1690601] - [nvme] nvme_fc: add 'nvme_discovery' sysfs attribute to fc transport device (Ewan Milne) [1690601] - [nvme] nvme-fc: fix for a minor typos (Ewan Milne) [1690601] - [crypto] crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling (Neil Horman) [1689185] - [mm] mm: enforce min addr even if capable() in expand_downwards() (Rafael Aquini) [1687667] {CVE-2019-9213} - [pci] PCI/VMD: Configure MPS settings before adding devices (Prarit Bhargava) [1659270] - [pci] PCI: vmd: Detach resources after stopping root bus (Prarit Bhargava) [1659270] - [char] tpm: separate cmd_ready/go_idle from runtime_pm (Jerry Snitselaar) [1677735] - [block] loop: set GENHD_FL_NO_PART_SCAN after blkdev_reread_part() (Ming Lei) [1683593] - [block] loop: do not print warn message if partition scan is successful (Ming Lei) [1683593] - [block] loop: drop caches if offset or block_size are changed (Ming Lei) [1683593] - [block] block: loop: remove redundant code (Ming Lei) [1683593] - [block] block: loop: check error using IS_ERR instead of IS_ERR_OR_NULL in loop_add() (Ming Lei) [1683593] - [block] loop: Fix double mutex_unlock(&loop_ctl_mutex) in loop_control_ioctl() (Ming Lei) [1683593] - [block] loop: Get rid of 'nested' acquisition of loop_ctl_mutex (Ming Lei) [1683593] - [block] loop: Avoid circular locking dependency between loop_ctl_mutex and bd_mutex (Ming Lei) [1683593] - [block] loop: Fix deadlock when calling blkdev_reread_part() (Ming Lei) [1683593] - [block] loop: Move loop_reread_partitions() out of loop_ctl_mutex (Ming Lei) [1683593] - [block] loop: Move special partition reread handling in loop_clr_fd() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down to loop_change_fd() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down to loop_set_fd() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down to loop_set_status() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down to loop_get_status() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down into loop_clr_fd() (Ming Lei) [1683593] - [block] loop: Split setting of lo_state from loop_clr_fd (Ming Lei) [1683593] - [block] loop: Push lo_ctl_mutex down into individual ioctls (Ming Lei) [1683593] - [block] loop: Get rid of loop_index_mutex (Ming Lei) [1683593] - [block] loop: Fold __loop_release into loop_release (Ming Lei) [1683593] - [block] block/loop: Use global lock for ioctl() operation. (Ming Lei) [1683593] - [block] block/loop: Don't grab "struct file" for vfs_getattr() operation. (Ming Lei) [1683593] - [crypto] crypto: cfb - fix decryption (Herbert Xu) [1653188]- [misc] VMCI: Support upto 64-bit PPNs (Cathy Avery) [1683479] - [mm] mm, page_alloc: fix has_unmovable_pages for HugePages (David Gibson) [1688114] - [pci] PCI: pciehp: Disable Data Link Layer State Changed event on suspend (Myron Stowe) [1688393 1537397] - [pci] PCI: pciehp: Assign ctrl->slot_ctrl before writing it to hardware (Myron Stowe) [1688393 1537397] - [pci] PCI/AER: Queue one GHES event, not several uninitialized ones (Myron Stowe) [1688393 1537397] - [pci] PCI/AER: Refactor error injection fallbacks (Myron Stowe) [1688393] - [pci] PCI/AER: Reuse existing pcie_port_find_device() interface (Myron Stowe) [1688393] - [pci] PCI/AER: Use managed resource allocations (Myron Stowe) [1688393] - [pci] PCI/AER: Use threaded IRQ for bottom half (Myron Stowe) [1688393] - [pci] PCI/AER: Use kfifo_in_spinlocked() to insert locked elements (Myron Stowe) [1688393] - [pci] PCI/AER: Use kfifo for tracking events instead of reimplementing it (Myron Stowe) [1688393] - [pci] PCI/AER: Remove error source from AER struct aer_rpc (Myron Stowe) [1688393] - [pci] PCI/AER: Remove unused aer_error_resume() (Myron Stowe) [1688393] - [pci] PCI: pnv_php: Use kmemdup() (Myron Stowe) [1688393] - [pci] PCI: cpqphp: Remove set but not used variable 'physical_slot' (Myron Stowe) [1688393] - [pci] PCI/ERR: Remove duplicated include from err.c (Myron Stowe) [1688393] - [pci] PCI: Equalize hotplug memory and io for occupied and empty slots (Myron Stowe) [1688393] - [pci] PCI / ACPI: Whitelist D3 for more PCIe hotplug ports (Myron Stowe) [1688393 1537397] - [acpi] ACPI / property: Allow multiple property compatible _DSD entries (Myron Stowe) [1688393 1537397] - [pci] PCI: pciehp: Implement runtime PM callbacks (Myron Stowe) [1688393 1537397] - [pci] PCI/portdrv: Resume upon exit from system suspend if left runtime suspended (Myron Stowe) [1688393 1537397] - [pci] PCI: pciehp: Do not handle events if interrupts are masked (Myron Stowe) [1688393 1537397] - [pci] PCI: pciehp: Disable hotplug interrupt during suspend (Myron Stowe) [1688393 1537397] - [pci] PCI / ACPI: Enable wake automatically for power managed bridges (Myron Stowe) [1688393 1537397] - [pci] PCI: Do not skip power-managed bridges in pci_enable_wake() (Myron Stowe) [1688393 1537397] - [pci] PCI: Unify device inaccessible (Myron Stowe) [1688393] - [pci] PCI/ERR: Always report current recovery status for udev (Myron Stowe) [1688393] - [pci] PCI/ERR: Simplify broadcast callouts (Myron Stowe) [1688393] - [pci] PCI/ERR: Run error recovery callbacks for all affected devices (Myron Stowe) [1688393] - [pci] PCI/ERR: Handle fatal error recovery (Myron Stowe) [1688393] - [pci] PCI/ERR: Use slot reset if available (Myron Stowe) [1688393] - [pci] PCI/AER: Don't read upstream ports below fatal errors (Myron Stowe) [1688393] - [pci] PCI/AER: Take reference on error devices (Myron Stowe) [1688393] - [pci] PCI/DPC: Save and restore config state (Myron Stowe) [1688393] - [pci] PCI: portdrv: Restore PCI config state on slot reset (Myron Stowe) [1688393] - [pci] PCI: portdrv: Initialize service drivers directly (Myron Stowe) [1688393] - [x86] x86/intel_rdt: Show missing resctrl mount options (David Arcari) [1689043] - [xen] xen/balloon: Fix mapping PG_offline pages to user space (David Hildenbrand) [1652790] - [kernel] PM/Hibernate: exclude all PageOffline() pages (David Hildenbrand) [1652790] - [kernel] PM/Hibernate: use pfn_to_online_page() (David Hildenbrand) [1652790] - [hv] hv_balloon: mark inflated pages PG_offline (David Hildenbrand) [1652790] - [xen] xen/balloon: mark inflated pages PG_offline (David Hildenbrand) [1652790] - [kernel] kexec: export PG_offline to VMCOREINFO (David Hildenbrand) [1652790] - [include] mm: convert PG_balloon to PG_offline (David Hildenbrand) [1652790] - [include] mm: balloon: update comment about isolation/migration/compaction (David Hildenbrand) [1652790] - [mm] mm/page_alloc.c: memory hotplug: free pages as higher order (David Hildenbrand) [1652790] - [mm] mm/memory.c: do_fault: avoid usage of stale vm_area_struct ("Herton R. Krzesinski") [1684734] - [kernel] cpuset: remove unused task_has_mempolicy() (Waiman Long) [1548268] - [kernel] cpuset: Remove set but not used variable 'cs' (Waiman Long) [1548268] - [kernel] cgroup: Add .__DEBUG__. prefix to debug file names (Waiman Long) [1548268] - [kernel] cpuset: Minor cgroup2 interface updates (Waiman Long) [1548268] - [kernel] cpuset: Expose cpuset.cpus.subpartitions with cgroup_debug (Waiman Long) [1548268] - [documentation] cpuset: Add documentation about the new "cpuset.sched.partition" flag (Waiman Long) [1548268] - [kernel] cpuset: Use descriptive text when reading/writing cpuset.sched.partition (Waiman Long) [1548268] - [kernel] cpuset: Expose cpus.effective and mems.effective on cgroup v2 root (Waiman Long) [1548268] - [kernel] cpuset: Make generate_sched_domains() work with partition (Waiman Long) [1548268] - [kernel] cpuset: Make CPU hotplug work with partition (Waiman Long) [1548268] - [kernel] cpuset: Track cpusets that use parent's effective_cpus (Waiman Long) [1548268] - [kernel] cpuset: Add an error state to cpuset.sched.partition (Waiman Long) [1548268] - [kernel] cpuset: Add new v2 cpuset.sched.partition flag (Waiman Long) [1548268] - [kernel] cpuset: Simply allocation and freeing of cpumasks (Waiman Long) [1548268] - [kernel] cpuset: Define data structures to support scheduling partition (Waiman Long) [1548268] - [kernel] cpuset: Enable cpuset controller in default hierarchy (Waiman Long) [1548268] - [kernel] cgroup/tracing: Move taking of spin lock out of trace event handlers (Waiman Long) [1548268] - [powerpc] powerpc/powernv/ioda: Fix locked_vm counting for memory used by IOMMU tables (David Gibson) [1674410] - [pci] PCI: dwc: Fix MSI-X EP framework address calculation bug (Myron Stowe) [1687935] - [pci] PCI: cadence: Correct probe behaviour when failing to get PHY (Myron Stowe) [1687935] - [pci] PCI: mvebu: Fix PCI I/O mapping creation sequence (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Remove obsolete drivers/pci pattern from ACPI section (Myron Stowe) [1687935] - [pci] PCI: dwc: Fix scheduling while atomic issues (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Move mobiveil PCI driver entry where it belongs (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Update PPC contacts for PCI core error handling (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Add Gustavo Pimentel as DesignWare PCI maintainer (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Add entries for PPC64 RPA PCI hotplug drivers (Myron Stowe) [1687935] - [pci] PCI: mvebu: Drop bogus comment above mvebu_pcie_map_registers() (Myron Stowe) [1687935] - [pci] PCI: mvebu: Convert to use pci_host_bridge directly (Myron Stowe) [1687935] - [pci] PCI: mvebu: Use resource_size() to remap I/O space (Myron Stowe) [1687935] - [pci] PCI: mvebu: Only remap I/O space if configured (Myron Stowe) [1687935] - [pci] PCI: mvebu: Fix I/O space end address calculation (Myron Stowe) [1687935] - [pci] PCI: mvebu: Remove redundant platform_set_drvdata() call (Myron Stowe) [1687935] - [pci] PCI: mobiveil: Add Kconfig/Makefile entries (Myron Stowe) [1687935] - [pci] PCI: mobiveil: Add missing ../pci.h include (Myron Stowe) [1687935] - [pci] PCI: mobiveil: Fix struct mobiveil_pcie.pcie_reg_base address type (Myron Stowe) [1687935] - [pci] PCI: endpoint: Add MSI set maximum restriction (Myron Stowe) [1687935] - [tools] tools: PCI: Add MSI-X support (Myron Stowe) [1687935] - [documentation] pci_endpoint_test: Add 2 ioctl commands (Myron Stowe) [1687935] - [documentation] pci-epf-test/pci_endpoint_test: Add MSI-X support (Myron Stowe) [1687935] - [misc] pci-epf-test/pci_endpoint_test: Use irq_type module parameter (Myron Stowe) [1687935] - [misc] pci-epf-test/pci_endpoint_test: Cleanup PCI_ENDPOINT_TEST memspace (Myron Stowe) [1687935] - [pci] PCI: dwc: Add legacy interrupt callback handler (Myron Stowe) [1687935] - [pci] PCI: dwc: Rework MSI callbacks handler (Myron Stowe) [1687935] - [pci] PCI: dwc: Add MSI-X callbacks handler (Myron Stowe) [1687935] - [pci] PCI: Update xxx_pcie_ep_raise_irq() and pci_epc_raise_irq() signatures (Myron Stowe) [1687935] - [pci] PCI: endpoint: Add MSI-X interfaces (Myron Stowe) [1687935] - [pci] PCI: dwc: Fix EP link notification implementation (Myron Stowe) [1687935] - [pci] PCI: spear13xx: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: qcom: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: histb: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: designware-plat: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: artpec6: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: armada8k: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: keystone: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: imx6: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: exynos: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: kirin: Add MSI support (Myron Stowe) [1687935] - [pci] PCI: pcie-cadence-ep: Remove redundant variable mmc (Myron Stowe) [1687935] - [pci] PCI: cadence: Add shutdown callback to host driver (Myron Stowe) [1687935] - [pci] PCI: cadence: Add Power Management ops for host and EP (Myron Stowe) [1687935] - [documentation] dt-bindings: PCI: cadence: Add DT bindings for optional PHYs (Myron Stowe) [1687935] - [pci] PCI: cadence: Add generic PHY support to host and EP drivers (Myron Stowe) [1687935] - [pci] PCI: cadence: Update cdns_pcie_writel() function signature (Myron Stowe) [1687935] - [pci] PCI: aardvark: Convert to use pci_host_probe() (Myron Stowe) [1687935] - [pci] PCI: aardvark: Size bridges before resources allocation (Myron Stowe) [1687935] - [pci] PCI: aardvark: Remove PCIe outbound window configuration (Myron Stowe) [1687935] - [pci] PCI: aardvark: Introduce an advk_pcie_valid_device() helper (Myron Stowe) [1687935] - [pci] PCI/xilinx: Depend on OF instead of the ARCH (Myron Stowe) [1687935] - [md] md: convert to kvmalloc (Nigel Croxon) [1661200] - [md] raid1: simplify raid1_error function (Nigel Croxon) [1661200] - [md] md-linear: use struct_size() in kzalloc() (Nigel Croxon) [1661200] - [md] md/raid5: fix 'out of memory' during raid cache recovery (Nigel Croxon) [1661200] - [md] md: Make bio_alloc_mddev use bio_alloc_bioset (Nigel Croxon) [1661200] - [md] raid10: refactor common wait code from regular read/write request (Nigel Croxon) [1661200] - [md] md: remvoe redundant condition check (Nigel Croxon) [1661200] - [lib] lib/raid6: add option to skip algo benchmarking (Nigel Croxon) [1661200] - [include] lib/raid6: avoid __attribute_const__ redefinition (Nigel Croxon) [1661200] - [include] lib/raid6: add missing include for raid6test (Nigel Croxon) [1661200] - [md] md: remove set but not used variable 'bi_rdev' (Nigel Croxon) [1661200] - [md] MD: Memory leak when flush bio size is zero (Nigel Croxon) [1661200] - [md] md: fix memleak for mempool (Nigel Croxon) [1661200] - [md] md-cluster: remove suspend_info (Nigel Croxon) [1661200] - [md] md-cluster: send BITMAP_NEEDS_SYNC message if reshaping is interrupted (Nigel Croxon) [1661200] - [md] md-cluster/bitmap: don't call md_bitmap_sync_with_cluster during reshaping stage (Nigel Croxon) [1661200] - [md] md-cluster/raid10: don't call remove_and_add_spares during reshaping stage (Nigel Croxon) [1661200] - [md] md-cluster/raid10: call update_size in md_reap_sync_thread (Nigel Croxon) [1661200] - [md] md-cluster: introduce resync_info_get interface for sanity check (Nigel Croxon) [1661200] - [md] md-cluster/raid10: support add disk under grow mode (Nigel Croxon) [1661200] - [md] md-cluster/raid10: resize all the bitmaps before start reshape (Nigel Croxon) [1661200] - [md] MD: fix invalid stored role for a disk - try2 (Nigel Croxon) [1661200] - [md] md/bitmap: use mddev_suspend/resume instead of ->quiesce() (Nigel Croxon) [1661200] - [md] md: remove redundant code that is no longer reachable (Nigel Croxon) [1661200] - [md] md: allow metadata updates while suspending an array - fix (Nigel Croxon) [1661200] - [md] MD: fix invalid stored role for a disk (Nigel Croxon) [1661200] - [md] md/raid10: Fix raid10 replace hang when new added disk faulty (Nigel Croxon) [1661200] - [md] raid5: block failing device if raid will be failed (Nigel Croxon) [1661200] - [md] md-cluster: release RESYNC lock after the last resync message (Nigel Croxon) [1661200] - [md] RAID10 BUG_ON in raise_barrier when force is true and conf->barrier is 0 (Nigel Croxon) [1661200] - [md] md/raid5-cache: disable reshape completely (Nigel Croxon) [1661200] - [md] md/raid5: fix data corruption of replacements after originals dropped (Nigel Croxon) [1661200] - [md] drivers/md/raid5: Do not disable irq on release_inactive_stripe_list() call (Nigel Croxon) [1661200] - [md] drivers/md/raid5: Use irqsave variant of atomic_dec_and_lock() (Nigel Croxon) [1661200] - [md] md/r5cache: remove redundant pointer bio (Nigel Croxon) [1661200] - [md] md-cluster: don't send msg if array is closing (Nigel Croxon) [1661200] - [md] md-cluster: show array's status more accurate (Nigel Croxon) [1661200] - [md] md-cluster: clear another node's suspend_area after the copy is finished (Nigel Croxon) [1661200] - [powerpc] KVM: PPC: Book3S HV: Add KVM stat largepages_[2M/1G] (Suraj Jitindar Singh) [1581563] - [tools] perf mem/c2c: Fix perf_mem_events to support powerpc (Steve Best) [1685084] - [powerpc] powerpc/perf: Add mem access events to sysfs (Steve Best) [1685084] - [netdrv] net-next/hinic: replace disable_irq_nosync/enable_irq (Xiaojun Tan) [1668958] - [powerpc] Fix access_ok() fallout for sparc32 and powerpc (Joe Lawrence) [1673980] - [x86] Remove 'type' argument from access_ok() function (Joe Lawrence) [1673980] - [arm64] arm64: move untagged_addr macro from uaccess.h to memory.h (Joe Lawrence) [1673980] - [powerpc] powerpc/uaccess: fix warning/error with access_ok() (Joe Lawrence) [1673980] - [netdrv] igb: shorten maximum PHC timecounter update interval (Corinna Vinschen) [1637098] - [netdrv] igb: shorten maximum PHC timecounter update interval (Corinna Vinschen) [1637098]- [rpmspec] redhat: speed up binary rpm compression (Denys Vlasenko) [1686921] - [netdrv] net/mlx5e: RX, Verify MPWQE stride size is in range (Alaa Hleihel) [1683589] - [fs] debugfs: Fix EPERM regression from kernel lockdown check (Lenny Szubowicz) [1686755] - [infiniband] IB/hfi1: Close race condition on user context disable and close (Alex Estrin) [1682927] - [rpmspec] redhat: parallelize modules compression (Denys Vlasenko) [1686404] - [arm64] arm64: Add workaround for Fujitsu A64FX erratum 010001 (Mark Langsdorf) [1666951] - [s390] vfio_ap: link the vfio_ap devices to the vfio_ap bus subsystem (Cornelia Huck) [1686044] - [drm] drm/cirrus: fix connector leak at unload (Rob Clark) [1685773] - [powerpc] powerpc/hugetlb: Handle mmap_min_addr correctly in get_unmapped_area callback (Steve Best) [1685181] - [netdrv] net/mlx4_en: Force CHECKSUM_NONE for short ethernet frames (Alaa Hleihel) [1663914 1651509] - [netdrv] net/mlx5e: Force CHECKSUM_UNNECESSARY for short ethernet frames (Alaa Hleihel) [1651509] - [include] Fix RH_KABI_SET_SIZE to use dereference operator (Tony Camuso) [1670118]- [x86] x86/tsc: Make calibration refinement more robust (David Arcari) [1686254] - [powerpc] powerpc/hugetlb: Don't do runtime allocation of 16G pages in LPAR configuration (Steve Best) [1686756] - [rpmspec] parallelize "make mrproper" (Denys Vlasenko) [1686865] - [rpmspec] use "make -jN" (via _smp_mflags) for modules_install (Denys Vlasenko) [1686308] - [fs] xfs: zero length symlinks are not valid (Carlos Maiolino) [1589618] - [drm] drm/bufs: Fix Spectre v1 vulnerability (Rob Clark) [1663467] - [drm] drm/ioctl: Fix Spectre v1 vulnerabilities (Rob Clark) [1663467] - [scsi] scsi: lpfc: Update lpfc version to 12.2.0.0 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Update 12.2.0.0 file copyrights to 2019 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix nvmet issues when link bounce under IO load (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct upcalling nvmet_fc transport during io done downcall (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix default driver parameter collision for allowing NPIV support (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Rework locking on SCSI io completion (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Enable SCSI and NVME fc4s by default (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Resize cpu maps structures based on possible cpus (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Utilize new IRQ API when allocating MSI-X vectors (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Rework EQ/CQ processing to address interrupt coalescing (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: cleanup: convert eq_delay to usdelay (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Support non-uniform allocation of MSIX vectors to hardware queues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix setting affinity hints to correlate with hardware queues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Allow override of hardware queue selection policies (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Adapt partitioned XRI lists to efficient sharing (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Synchronize hardware queues with SCSI MQ interface (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Convert ring number to hardware queue for nvme wqe posting. (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Move SCSI and NVME Stats to hardware queue structures (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Adapt cpucheck debugfs logic to Hardware Queues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: cleanup: Remove unused FCP_XRI_ABORT_EVENT slowpath event (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Partition XRI buffer list across Hardware Queues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Replace io_channels for nvme and fcp with general hdw_queues per cpu (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove extra vector and SLI4 queue for Expresslane (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Implement common IO buffers between NVME and SCSI (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: cleanup: Remove excess check on NVME io submit code path (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: cleanup: remove nrport from nvme command structure (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: no need to check return value of debugfs_create functions (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Update lpfc version to 12.0.0.10 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Adding ability to reset chip via pci bus reset (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Add log messages to aid in debugging fc4type discovery issues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix discovery failure when PLOGI is defered (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: update fault value on successful trunk events. (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct MDS loopback diagnostics support (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix link state reporting for trunking when adapter is offline (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: do not set queue->page_count to 0 if pc_sli4_params.wqpcnt is invalid (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: update driver version to 12.0.0.9 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix dif and first burst use in write commands (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix driver release of fw-logging buffers (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct topology type reporting on G7 adapters (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct code setting non existent bits in sli4 ABORT WQE (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Defer LS_ACC to FLOGI on point to point logins (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: ls_rjt erroneus FLOGIs (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Cap NPIV vports to 256 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix kernel Oops due to null pring pointers (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix a duplicate 0711 log message number. (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix panic when FW-log buffsize is not initialized (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: fix block guard enablement on SLI3 adapters (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Use dma_zalloc_coherent (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: update driver version to 12.0.0.8 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: add Trunking support (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Implement GID_PT on Nameserver query to support faster failover (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix odd recovery in duplicate FLOGIs in point-to-point (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct LCB RJT handling (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: fcoe: Fix link down issue after 1000+ link bounces (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct errors accessing fw log (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Reset link or adapter instead of doing infinite nameserver PLOGI retry (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix LOGO/PLOGI handling when triggerd by ABTS Timeout event (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix lpfc_sli4_read_config return value check (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct speeds on SFP swap (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: fix remoteport access (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove set but not used variables 'tgtp' (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove set but not used variable 'psli' (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove set but not used variables 'fc_hdr' and 'hw_page_size' (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: fix spelling mistake "Resrouce" -> "Resource" (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: remove a bogus pci_dma_sync_single_for_device call (Dick Kennedy) [1665288] - [netdrv] PCI/AER: Remove pci_cleanup_aer_uncorrect_error_status() calls (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Synchronize access to remoteport via rport (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove set but not used variable 'sgl_size' (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: update driver version to 12.0.0.7 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: add support to retrieve firmware logs (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: reduce locking when updating statistics (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix errors in log messages. (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct invalid EQ doorbell write on if_type=6 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct irq handling via locks when taking adapter offline (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct soft lockup when running mds diagnostics (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct race with abort on completion path (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Raise nvme defaults to support a larger io and more connectivity (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: raise sg count for nvme to use available sg resources (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix GFT_ID and PRLI logic for RSCN (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: remove an unnecessary NULL check (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Default fdmi_on to on (Dick Kennedy) [1665288] - [powerpc] powerpc/mm/hash: Increase vmalloc space with hash translation mode (Steve Best) [1676974] - [net] sunrpc: fix 4 more call sites that were using stack memory with a scatterlist (Scott Mayhew) [1679183] - [net] sunrpc: Don't use stack buffer with scatterlist (Scott Mayhew) [1679183] - [powerpc] powerpc/pseries: Perform full re-add of CPU for topology update post-migration (Steve Best) [1678209] - [fs] proc/stat: Make the interrupt statistics more efficient (Waiman Long) [1675168] - [kernel] genirq: Avoid summation loops for /proc/stat (Waiman Long) [1675168] - [powerpc] powerpc/pseries: fix EEH recovery of some IOV devices (Steve Best) [1676889] - [block] nvme: lock NS list changes while handling command effects (David Milburn) [1672759] - [powerpc] powerpc/radix: Fix kernel crash with mremap() (Steve Best) [1674186] - [crypto] crypto: ccp - fix the SEV probe in kexec boot path (Gary Hook) [1658806] - [netdrv] HDLC Frame Relay: mark driver unsupported in RHEL8 (John Linville) [1660627] - [netdrv] DLCI: mark driver unsupported in RHEL8 (John Linville) [1660627] - [netdrv] ethoc: mark hardware unsupported in RHEL8 (John Linville) [1660627] - [netdrv] dnet: mark hardware unsupported in RHEL8 (John Linville) [1660627] - [netdrv] dl2k: mark hardware unsupported in RHEL8 (John Linville) [1660627] - [netdrv] mark qla3xxx driver as unsupported (John Linville) [1658840] - [netdrv] sfc: initialise found bitmap in efx_ef10_mtd_probe (Jarod Wilson) [1668656] - [netdrv] sfc: suppress duplicate nvmem partition types in efx_ef10_mtd_probe (Jarod Wilson) [1668656] - [netdrv] sfc: extend MTD support for newer hardware (Jarod Wilson) [1668656] - [netdrv] sfc: add missing NVRAM partition types for EF10 (Jarod Wilson) [1668656] - [netdrv] ibmvnic: Fix non-atomic memory allocation in IRQ context (Steve Best) [1671474] - [netdrv] ibmvnic: Convert reset work item mutex to spin lock (Steve Best) [1671474] - [powerpc] powerpc/pseries: Export raw per-CPU VPA data via debugfs (Steve Best) [1608797] - [powerpc] powerpc/pseries: Export maximum memory value (Steve Best) [1608797] - [netdrv] ibmveth: Do not process frames after calling napi_reschedule (Desnes Augusto Nunes do Rosario) [1635577] - [cpufreq] cpufreq: powernv: Remove global pstate ramp-down timer in POWER9 (Steve Best) [1670030] - [of] of: __of_detach_node() - remove node from phandle cache (Steve Best) [1669198] - [of] of: of_node_get()/of_node_put() nodes held in phandle cache (Steve Best) [1669198] - [edac] EDAC, sb_edac: Fix signedness bugs in *_get_ha() functions (Aristeu Rozanski) [1641574] - [edac] EDAC, sb_edac: Fix reporting for patrol scrubber errors (Aristeu Rozanski) [1641574] - [documentation] proc.txt: Adding 'HardwareCorrupted' field and description. (Prashant Dhamdhere) [1658233] - [netdrv] qed: Fix command number mismatch between driver and the mfw (Chad Dupuis) [1663500] - Revert "[redhat] switch secureboot kernel image signing to release keys" ("Herton R. Krzesinski")- [arm64] revert "arm64: tlb: Avoid synchronous TLBIs when freeing page tables" (Christoph von Recklinghausen) [1685697]- [firmware] drivers/firmware: psci_checker: stash and use topology_core_cpumask for hotplug tests (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: re-introduce numa mask check for scheduler MC selection (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: rename llc_siblings to align with other struct members (Josh Poimboeuf) [1687101] - [arm64] arm64: smp: remove cpu and numa topology information when hotplugging out CPU (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: restrict updating siblings_masks to online cpus only (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: add support to remove cpu topology sibling masks (Josh Poimboeuf) [1687101] - [arm64] arm64: numa: separate out updates to percpu nodeid and NUMA node cpumap (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: refactor reset_cpu_topology to add support for removing topology (Josh Poimboeuf) [1687101]- [fs] gfs2: Fix missed wakeups in find_insert_glock (Andreas Grunbacher) [1678907]- [firmware] efi: Reduce the amount of memblock reservations for persistent allocations (Bhupesh Sharma) [1682988] - [firmware] efi: Permit multiple entries in persistent memreserve data structure (Bhupesh Sharma) [1682988] - [kernel] cpu/hotplug: Create SMT sysfs interface for all arches (Josh Poimboeuf) [1686068] - [net] netfilter: nft_set_hash: bogus element self comparison from deactivation path (Florian Westphal) [1678574] - [net] netfilter: nft_set_hash: fix lookups with fixed size hash on big endian (Florian Westphal) [1678574]- [security] revert "Add a SysRq option to lift kernel lockdown" (Lenny Szubowicz) [1684348] - [s390] s390/setup: fix boot crash for machine without EDAT-1 (Philipp Rudo) [1677357] - [s390] s390/setup: fix early warning messages (Philipp Rudo) [1677357]- [netdrv] net: hns3: add 8 BD limit for tx flow (Xiaojun Tan) [1676771] - [netdrv] net: hns3: fix a SSU buffer checking bug (Xiaojun Tan) [1676771] - [netdrv] net: hns3: aligning buffer size in SSU to 256 bytes (Xiaojun Tan) [1676771] - [netdrv] net: hns3: getting tx and dv buffer size through firmware (Xiaojun Tan) [1676771] - [net] netfilter: nf_nat_snmp_basic: add missing length checks in ASN.1 cbs (Florian Westphal) [1676602] - [char] ipmi: fix use-after-free of user->release_barrier.rda (Xiaojun Tan) [1677550] - [char] ipmi: Prevent use-after-free in deliver_response (Xiaojun Tan) [1677550]- [x86] revert "cpu/hotplug: Add SMT policy options" (Josh Poimboeuf) [1683690] - [crypto] net: crypto set sk to NULL when af_alg_release (Neil Horman) [1679450] {CVE-2019-8912} - [drm] drm/i915/gvt: update force-to-nonpriv register whitelist (Paul Lai) [1643972] - [kernel] MODSIGN: Also check platform keyring in mod_verify_sig() (Lenny Szubowicz) [1568532] - [kernel] Fix for module sig verification (Lenny Szubowicz) [1568532] - [security] efi: Lock down the kernel if booted in secure boot mode (Lenny Szubowicz) [1568532] - [firmware] efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode (Lenny Szubowicz) [1568532] - [x86] Copy secure_boot flag in boot params across kexec reboot (Lenny Szubowicz) [1568532] - [fs] debugfs: Restrict debugfs when the kernel is locked down (Lenny Szubowicz) [1568532] - [mm] x86/mmiotrace: Lock down the testmmiotrace module (Lenny Szubowicz) [1568532] - [kernel] Lock down module params that specify hardware parameters (eg. ioport) (Lenny Szubowicz) [1568532] - [tty] Lock down TIOCSSERIAL (Lenny Szubowicz) [1568532] - [pcmcia] Prohibit PCMCIA CIS storage when the kernel is locked down (Lenny Szubowicz) [1568532] - [acpi] acpi: Disable ACPI table override if the kernel is locked down (Lenny Szubowicz) [1568532] - [acpi] acpi: Ignore acpi_rsdp kernel param when the kernel has been locked down (Lenny Szubowicz) [1568532] - [acpi] ACPI: Limit access to custom_method when the kernel is locked down (Lenny Szubowicz) [1568532] - [x86] x86/msr: Restrict MSR access when the kernel is locked down (Lenny Szubowicz) [1568532] - [x86] x86: Lock down IO port access when the kernel is locked down (Lenny Szubowicz) [1568532] - [pci] PCI: Lock down BAR access when the kernel is locked down (Lenny Szubowicz) [1568532] - [kernel] uswsusp: Disable when the kernel is locked down (Lenny Szubowicz) [1568532] - [kernel] hibernate: Disable when the kernel is locked down (Lenny Szubowicz) [1568532] - [kernel] kexec_load: Disable at runtime if the kernel is locked down (Lenny Szubowicz) [1568532] - [char] Restrict /dev/{mem, kmem, port} when the kernel is locked down (Lenny Szubowicz) [1568532] - [kernel] MODSIGN: Enforce module signatures if the kernel is locked down (Lenny Szubowicz) [1568532] - [security] Add a SysRq option to lift kernel lockdown (Lenny Szubowicz) [1568532] - [security] Add the ability to lock down access to the running kernel image (Lenny Szubowicz) [1568532]- [net] tun: forbid iface creation with rtnl ops (Sabrina Dubroca) [1680969] - [net] revert "bridge: do not add port to router list when receives query with source 0.0.0.0" (Hangbin Liu) [1679896] - [net] sctp: walk the list of asoc safely (Marcelo Leitner) [1679920] {CVE-2019-8956} - [net] netfilter: nf_nat: skip nat clash resolution for same-origin entries (Florian Westphal) [1677647] - [net] netfilter: nf_conntrack: resolve clash for matching conntracks (Florian Westphal) [1677647] - [net] netfilter: nf_tables: fix flush after rule deletion in the same batch (Phil Sutter) [1677672] - [net] gro_cell: add napi_disable in gro_cells_destroy (Stefano Brivio) [1674408] - [net] sctp: call gso_reset_checksum when computing checksum in sctp_gso_segment (Xin Long) [1669386] - [net] ipvs: fix dependency on nf_defrag_ipv6 (Andrea Claudi) [1660808] - [net] sctp: check and update stream->out_curr when allocating stream_out (Xin Long) [1651877]- [x86] cpu/hotplug: Add SMT policy options (Josh Poimboeuf) [1677405]- [kernel] open the RHEL 8.1 development ("Herton R. Krzesinski") - [pci] pci/quirks: Add quirk to reset nvgpu at boot for the Lenovo ThinkPad P50 (Lyude Paul) [1677022] - [arm64] arm64, vmcoreinfo : Append 'MAX_USER_VA_BITS' to vmcoreinfo (Bhupesh Sharma) [1672962] - [md] dm thin: fix bug where bio that overwrites thin block ignores FUA (Mike Snitzer) [1679211] - [pci] PCI: Fix "try" semantics of bus and slot reset (Myron Stowe) [1662901] - [acpi] acpi/nfit: Fix bus command validation (Jeff Moyer) [1673958] - [pci] PCI/MSI: Return -ENOSPC from pci_alloc_irq_vectors_affinity() (Myron Stowe) [1667773] - [fs] NFS: Don't use page_file_mapping after removing the page (Benjamin Coddington) [1664190] - [fs] NFS: Fix up return value on fatal errors in nfs_page_async_flush() (Benjamin Coddington) [1664190] - [md] md: fix raid10 hang issue caused by barrier (Xiao Ni) [1630921] - [md] md/raid1: don't clear bitmap bits on interrupted recovery. (Xiao Ni) [1677360] - [virt] kvm: fix kvm_ioctl_create_device() reference counting (CVE-2019-6974) (Paolo Bonzini) [1673843] {CVE-2019-6974} - [block] blk-mq: fix a hung issue when fsync (Ming Lei) [1674399] - [block] Revert "block: cover another queue enter recursion via BIO_QUEUE_ENTERED" (Ming Lei) [1673966] - [tools] perf tools: Check for null when copying nsinfo. (Jiri Olsa) [1676451] - [iommu] iommu/amd: Fix IOMMU page flush when detach device from a domain (Suravee Suthikulpanit) [1672476]- [kernel] namespace: Add padding fix to user_table[] (Prarit Bhargava) [1677103] - [x86] KVM: nVMX: unconditionally cancel preemption timer in free_nested (CVE-2019-7221) (Paolo Bonzini) [1673841] {CVE-2019-7221} - [scsi] scsi: sd: fix entropy gathering for most rotational disks (Ewan Milne) [1676735] - [scsi] scsi: sd: Contribute to randomness when running rotational device (Ewan Milne) [1676735] - [rpmspec] Revert "Drop -doc subpackage" (Prarit Bhargava) [1657609] - [net] svcrdma: Remove max_sge check at connect time (Don Dutile) [1638869] - [net] svcrdma: Reduce max_send_sges (Don Dutile) [1638869] - [arm64] arm64: mm: Introduce MAX_USER_VA_BITS definition (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Rewrite stale comment in asm/tlbflush.h (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Avoid synchronous TLBIs when freeing page tables (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Remove redundant !CONFIG_HAVE_RCU_TABLE_FREE code (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlbflush: Allow stride to be specified for __flush_tlb_range() (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Justify non-leaf invalidation in flush_tlb_range() (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Add DSB ISHST prior to TLBI in __flush_tlb_[kernel_]pgtable() (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Use last-level invalidation in flush_tlb_kernel_range() (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: EXPORT vabits_user to modules (Christoph von Recklinghausen) [1672997] - [arm64] arm64: fix ARM64_USER_VA_BITS_52 builds (Christoph von Recklinghausen) [1672997] - [arm64] arm64: Kconfig: Re-jig CONFIG options for 52-bit VA (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Allow forcing all userspace addresses to 52-bit (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: introduce 52-bit userspace support (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Prevent mismatched 52-bit VA support (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Offset TTBR1 to allow 52-bit PTRS_PER_PGD (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Define arch_get_mmap_end, arch_get_mmap_base (Christoph von Recklinghausen) [1672997] - [firmware] arm64: mm: Introduce DEFAULT_MAP_WINDOW (Christoph von Recklinghausen) [1672997] - [mm] mm: mmap: Allow for "high" userspace addresses (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: apply r/o permissions of VM areas to its linear alias as well (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: purge lazily unmapped vm regions before changing permissions (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Don't wait for completion of TLB invalidation when page aging (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: Use __pa_symbol() for set_swapper_pgd() (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: Drop the unused cpu parameter (Christoph von Recklinghausen) [1672997] - [arm64] arm64/mm: move runtime pgds to rodata (Christoph von Recklinghausen) [1672997] - [mm] arm64/mm: use fixmap to modify swapper_pg_dir (Christoph von Recklinghausen) [1672997] - [arm64] arm64/mm: Separate boot-time page tables from swapper_pg_dir (Christoph von Recklinghausen) [1672997] - [arm64] arm64/mm: Pass ttbr1 as a parameter to __enable_mmu() (Christoph von Recklinghausen) [1672997] - [mm] arm64: fix erroneous warnings in page freeing functions (Christoph von Recklinghausen) [1672997] - [mm] arm64: Implement page table free interfaces (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlbflush: Introduce __flush_tlb_kernel_pgtable (Christoph von Recklinghausen) [1672997] - [lib] ioremap: Update pgtable free interfaces with addr (Christoph von Recklinghausen) [1672997] - [mm] x86/mm: Disable ioremap free page handling on x86-PAE (Christoph von Recklinghausen) [1672997] - [arm64] arm64: KVM: Enable Common Not Private translations (Christoph von Recklinghausen) [1504991] - [arm64] arm64: mm: Support Common Not Private translations (Christoph von Recklinghausen) [1504991] - [kernel] cpu/hotplug: Fix "SMT disabled by BIOS" detection for KVM (Igor Mammedov) [1668147] - [tools] perf tools: Compile perf with -g instead of -ggdb3 to workaround gdb crash (Jiri Olsa) [1667109]- [fs] Revert "gfs2: Fix loop in gfs2_rbm_find" (Andreas Grunbacher) [1658528] - [net] bpf: fix sanitation of alu op with pointer / scalar type from different paths (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: prevent out of bounds speculation on pointer arithmetic (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: move {prev_,}insn_idx into verifier env (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf/verifier: per-register parent pointers (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: restrict unknown scalars of mixed signed bounds for unprivileged (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: Simplify ptr_min_max_vals adjustment (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: fix inner map masking to prevent oob under speculation (Jiri Olsa) [1673631] {CVE-2019-7308} - [include] KABI: struct class padding (Prarit Bhargava) [1670035] - [include] KABI: struct timer_list padding (Prarit Bhargava) [1670035] - [include] KABI: struct irq_domain padding (Prarit Bhargava) [1670035] - [nvdimm] libnvdimm, pmem: Fix badblocks population for 'raw' namespaces (Jeff Moyer) [1672315] - [netdrv] net/mlx5e: FPGA, fix Innova IPsec TX offload data path performance (Alaa Hleihel) [1648230] - [kernel] exec: increase BINPRM_BUF_SIZE to 256 (Oleg Nesterov) [1447445]- [include] KABI: struct kset padding (Prarit Bhargava) [1669796] - [include] KABI: struct kobject and kobj_type padding (Prarit Bhargava) [1669796] - [include] KABI: struct delayed_work padding (Prarit Bhargava) [1669796] - [include] KABI: struct work_struct padding (Prarit Bhargava) [1669796] - [include] KABI: struct hrtimer padding (Prarit Bhargava) [1669796] - [include] KABI: struct user_namespace padding (Prarit Bhargava) [1669796] - [include] KABI: struct resource padding (Prarit Bhargava) [1669796] - [include] KABI: Protect device_driver struct (Prarit Bhargava) [1666316] - [include] KABI: Protect radix functions (Prarit Bhargava) [1669079] - [char] ipmi: msghandler: Fix potential Spectre v1 vulnerabilities (Tony Camuso) [1672582] - [vhost] vhost: fix OOB in get_rx_bufs() (Jason Wang) [1668665] {CVE-2018-16880}- [md] dm: don't use bio_trim() afterall (Mike Snitzer) [1673657] - [md] dm: add memory barrier before waitqueue_active (Mike Snitzer) [1673110] - [x86] x86: uaccess: Inhibit speculation past access_ok() in user_access_begin() (Joe Lawrence) [1670113] {CVE-2018-20669} - [kernel] make 'user_access_begin()' do 'access_ok()' (Joe Lawrence) [1670113] {CVE-2018-20669} - [drm] i915: fix missing user_access_end() in page fault exception case (Joe Lawrence) [1670113] {CVE-2018-20669} - [drm] drm/i915: Force the slow path after a user-write error (Joe Lawrence) [1670113] {CVE-2018-20669} - [x86] x86/microcode/amd: Don't falsely trick the late loading mechanism (David Arcari) [1654904] - [fs] iomap: get/put the page in iomap_page_create/release() (Artem Savkov) [1664298] - [scsi] scsi: qla2xxx: Add new FC-NVMe enable BIT to enable FC-NVMe feature (Himanshu Madhani) [1671569] - [message] mptsas: pci-id table changes (Tomas Henzl) [1666730] - [message] mptsas: Taint kernel if mptsas is loaded (Tomas Henzl) [1666730] - [kernel] genirq/matrix: Improve target CPU selection for managed interrupts. (Gary Hook) [1669557] - [kernel] irq/matrix: Spread managed interrupts on allocation (Gary Hook) [1669557] - [kernel] irq/matrix: Split out the CPU selection code into a helper (Gary Hook) [1669557] - [net] sit: check if IPv6 enabled before calling ip6_err_gen_icmpv6_unreach() (Stefano Brivio) [1671680] - [net] geneve: should not call rt6_lookup() when ipv6 was disabled (Stefano Brivio) [1671680] - [net] netfilter: physdev: relax br_netfilter dependency (Phil Sutter) [1650382] - [net] netfilter: nf_tables: add NFTA_RULE_POSITION_ID to nla_policy (Phil Sutter) [1670563] - [net] netfilter: nf_tables: Support RULE_ID reference in new rule (Phil Sutter) [1670563] - [net] rtnetlink: fix incorrect handling of device stats passed to userspace (Ivan Vecera) [1668298] - [net] netfilter: nf_tables: handle nft_object lookups via rhltable (Phil Sutter) [1659725] - [net] netfilter: nf_tables: prepare nft_object for lookups via hashtable (Phil Sutter) [1659725] - [net] netfilter: nf_tables: selective rule dump needs table to be specified (Phil Sutter) [1659725] - [net] netfilter: nf_tables: Fix for endless loop when dumping ruleset (Phil Sutter) [1659725] - [net] netfilter: nf_tables: Speed up selective rule dumps (Phil Sutter) [1659725] - [net] exclude sock_reuseport from kABI protection (Paolo Abeni) [1665984] - [include] KABI: struct device padding (Don Dutile) [1664445] - [include] KABI: struct dma_map_ops padding (Don Dutile) [1664482] - [kernel] swiotlb: clear io_tlb_start and io_tlb_end in swiotlb_exit (Don Dutile) [1664484] - [kernel] dma-mapping: remove a few unused exports (Don Dutile) [1664484] - [include] dma-mapping: properly stub out the DMA API for !CONFIG_HAS_DMA (Don Dutile) [1664484] - [kernel] dma-mapping: remove dmam_{declare,release}_coherent_memory (Don Dutile) [1664484] - [kernel] dma-mapping: implement dmam_alloc_coherent using dmam_alloc_attrs (Don Dutile) [1664484] - [include] dma-mapping: implement dma_map_single_attrs using dma_map_page_attrs (Don Dutile) [1664484] - [include] dma-mapping: fix flags in dma_alloc_wc (Don Dutile) [1664484] - [include] dma-mapping: deprecate dma_zalloc_coherent (Don Dutile) [1664484] - [arm64] arm64: default to the direct mapping in get_arch_dma_ops (Don Dutile) [1664484] - [kernel] dma-mapping: fix inverted logic in dma_supported (Don Dutile) [1664484] - [include] dma-mapping: bypass indirect calls for dma-direct (Don Dutile) [1664484] - [kernel] dma-direct: merge swiotlb_dma_ops into the dma_direct code (Don Dutile) [1664484] - [kernel] dma-direct: do not include SME mask in the DMA supported check (Don Dutile) [1664484] - [kernel] dma-direct: use dma_direct_map_page to implement dma_direct_map_sg (Don Dutile) [1664484] - [kernel] dma-direct: improve addressability error reporting (Don Dutile) [1664484] - [kernel] dma-direct: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [xen] swiotlb: remove dma_mark_clean (Don Dutile) [1664484] - [xen] swiotlb: remove SWIOTLB_MAP_ERROR (Don Dutile) [1664484] - [xen] xen-swiotlb: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [kernel] swiotlb: Skip cache maintenance on map error (Don Dutile) [1664484] - [kernel] swiotlb: add support for non-coherent DMA (Don Dutile) [1664484] - [kernel] swiotlb: mark is_swiotlb_buffer static (Don Dutile) [1664484] - [kernel] swiotlb: remove a pointless comment (Don Dutile) [1664484] - [kernel] swiotlb: clean up reporting (Don Dutile) [1664484] - [kernel] dma-direct: reject highmem pages from dma_alloc_from_contiguous (Don Dutile) [1664484] - [kernel] dma-direct: provide page based alloc/free helpers (Don Dutile) [1664484] - [include] dma-direct: Make DIRECT_MAPPING_ERROR viable for SWIOTLB (Don Dutile) [1664484] - [kernel] dma-direct: respect DMA_ATTR_NO_WARN (Don Dutile) [1664484] - [kernel] dma-direct: document the zone selection logic (Don Dutile) [1664484] - [kernel] dma-direct: fix return value of dma_direct_supported (Don Dutile) [1664484] - [kernel] dma-direct: always allow dma mask <= physiscal memory size (Don Dutile) [1664484] - [kernel] dma-direct: implement complete bus_dma_mask handling (Don Dutile) [1664484] - [kernel] dma-direct: refine dma_direct_alloc zone selection (Don Dutile) [1664484] - [kernel] dma-direct: add an explicit dma_direct_get_required_mask (Don Dutile) [1664484] - [kernel] kernel/dma/direct: take DMA offset into account in dma_direct_supported (Don Dutile) [1664484] - [kernel] dma-mapping: factor out dummy DMA ops (Don Dutile) [1664484] - [mm] arm64: dma-mapping: Fix FORCE_CONTIGUOUS buffer clearing (Don Dutile) [1664484] - [iommu] iommu/dma-iommu: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [iommu] iommu/vt-d: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [iommu] iommu/intel: small map_page cleanup (Don Dutile) [1664484] - [iommu] intel-iommu: mark intel_dma_ops static (Don Dutile) [1664484] - [iommu] ia64: remove iommu_dma_supported (Don Dutile) [1664484] - [iommu] iommu: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [iommu] iommu/dma: Use fast DMA domain lookup (Don Dutile) [1664484] - [x86] x86/amd_gart: fix unmapping of non-GART mappings (Don Dutile) [1664484] - [x86] x86/amd_gart: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [mm] arm64: remove the dummy_dma_ops mapping_error method (Don Dutile) [1664484] - [powerpc] powerpc: Do not redefine NEED_DMA_MAP_STATE (Don Dutile) [1664484] - [powerpc] powerpc/iommu: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [s390] s390: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [kernel] dma-mapping: always build the direct mapping code (Don Dutile) [1664484] - [kernel] dma-mapping: move dma_cache_sync out of line (Don Dutile) [1664484] - [kernel] dma-mapping: move various slow path functions out of line (Don Dutile) [1664484] - [base] dma-mapping: move dma_get_required_mask to kernel/dma (Don Dutile) [1664484] - [base] dma-mapping: move dma_default_get_required_mask under ifdef (Don Dutile) [1664484] - [include] dma-mapping: merge dma_unmap_page_attrs and dma_unmap_single_attrs (Don Dutile) [1664484] - [include] dma-mapping: simplify the dma_sync_single_range_for_{cpu,device} implementation (Don Dutile) [1664484] - [include] dma-mapping: return an error code from dma_mapping_error (Don Dutile) [1664484] - [pci] dma-mapping: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [include] dma-mapping: provide a generic DMA_MAPPING_ERROR (Don Dutile) [1664484] - [kernel] dma-mapping: move the arm64 noncoherent alloc/free support to common code (Don Dutile) [1664484] - [mm] arm64: fix warnings without CONFIG_IOMMU_DMA (Don Dutile) [1664484] - [arm64] arm64: use the generic swiotlb_dma_ops (Don Dutile) [1664484] - [kernel] swiotlb: don't dip into swiotlb pool for coherent allocations (Don Dutile) [1664484] - [kernel] swiotlb: refactor swiotlb_map_page (Don Dutile) [1664484] - [kernel] swiotlb: use swiotlb_map_page in swiotlb_map_sg_attrs (Don Dutile) [1664484] - [kernel] swiotlb: merge swiotlb_unmap_page and unmap_single (Don Dutile) [1664484] - [kernel] swiotlb: remove the overflow buffer (Don Dutile) [1664484] - [kernel] swiotlb: do not panic on mapping failures (Don Dutile) [1664484] - [mm] arm64/dma-mapping: Mildly optimise non-coherent IOMMU ops (Don Dutile) [1664484] - [iommu] iommu: Add fast hook for getting DMA domains (Don Dutile) [1664484] - [iommu] iommu: Remove the ->map_sg indirection (Don Dutile) [1664484] - [iommu] kernel/dma: remove unsupported gfp_mask parameter from dma_alloc_from_contiguous() (Don Dutile) [1664484] - [mm] mm/cma: remove unsupported gfp_mask parameter from cma_alloc() (Don Dutile) [1664484] - [kernel] dma-mapping: move the remap helpers to a separate file (Don Dutile) [1664484] - [include] dma-mapping: fix return type of dma_set_max_seg_size() (Don Dutile) [1664484] - [include] dma-mapping: translate __GFP_NOFAIL to DMA_ATTR_NO_WARN (Don Dutile) [1664484] - [include] dma-debug: Check for drivers mapping invalid addresses in dma_map_single() (Don Dutile) [1664484] - [base] dma-mapping: make the get_required_mask method available unconditionally (Don Dutile) [1664484] - [xen] dma-mapping: support non-coherent devices in dma_common_get_sgtable (Don Dutile) [1664484] - [kernel] dma-mapping: consolidate the dma mmap implementations (Don Dutile) [1664484] - [kernel] dma-mapping: merge direct and noncoherent ops (Don Dutile) [1664484] - [include] dma-mapping: move the dma_coherent flag to struct device (Don Dutile) [1664484] - [include] dma-mapping: remove dma_deconfigure (Don Dutile) [1664484] - [base] dma-mapping: remove dma_configure (Don Dutile) [1664484] - [include] dma-mapping: relax warning for per-device areas (Don Dutile) [1664484] - [kernel] dma-mapping: add the missing ARCH_HAS_SYNC_DMA_FOR_CPU_ALL declaration (Don Dutile) [1664484] - [kernel] dma-noncoherent: add a arch_sync_dma_for_cpu_all hook (Don Dutile) [1664484] - [block] deprecate elevator= kernel parameter (Jeff Moyer) [1665295] - [rpmspec] kernel.spec: disable kabi checks until RC (=?UTF-8?q?=C4=8Cestm=C3=ADr=20Kalina?=) [1671007] - [iommu] iommu/amd: Unmap all mapped pages in error path of map_sg (Jerry Snitselaar) [1668448] - [iommu] iommu/amd: Call free_iova_fast with pfn in map_sg (Jerry Snitselaar) [1668448]- [arm64] arm64, vmcoreinfo : Append 'MAX_PHYSMEM_BITS' to vmcoreinfo (Bhupesh Sharma) [1666679] - [kernel] sched/debug: Initialize sd_sysctl_cpus if !CONFIG_CPUMASK_OFFSTACK (Joe Lawrence) [1667840] - [init] Small change to the message about certified hardware (Steve Best) [1671765] - [x86] x86/kdump: make the behavior of crashkernel=X consistent with kaslr (Pingfan Liu) [1640799] - [x86] Add back support for Intel processors (Steve Best) [1670529] - [net] SUNRPC: Clean up initialisation of the struct rpc_rqst (Benjamin Coddington) [1650494] - [x86] KABI, x86/paravirt: Protect paravirt ops structures (Waiman Long) [1669957] - [include] KABI: struct module padding (Prarit Bhargava) [1669480] - [include] KABI: struct stack_trace_struct padding (Prarit Bhargava) [1669480] - [documentation] iommu: Fix passthrough option documentation (Gary Hook) [1658391] - [iommu] iommu: Add config option to set passthrough as default (Gary Hook) [1658391] - [kernel] redhat: kernel: clean up taint flags (Jiri Benc) [1654313]- [scsi] scsi: qedi: Add the CRC size within iSCSI NVM image (Charles Rose) [1670186] - [fs] iomap: don't search past page end in iomap_is_partially_uptodate (Eric Sandeen) [1657588] - [netdrv] cxgb4: update supported DCB version (Arjun Vynipadath) [1668571] - [x86] kexec, KEYS: Make use of platform keyring for signature verify (Kairui Song) [1640486] - [security] integrity, KEYS: add a reference to platform keyring (Kairui Song) [1640486] - [security] efi: Allow the "db" UEFI variable to be suppressed (Kairui Song) [1640486] - [security] efi: Import certificates from UEFI Secure Boot (Kairui Song) [1640486] - [security] efi: Add an EFI signature blob parser (Kairui Song) [1640486] - [include] efi: Add EFI signature data types (Kairui Song) [1640486] - [security] integrity: Load certs to the platform keyring (Kairui Song) [1640486] - [security] integrity: Define a trusted platform keyring (Kairui Song) [1640486] - [security] security/integrity: remove unnecessary 'init_keyring' variable (Kairui Song) [1640486] - [x86] Fix kexec forbidding kernels signed with keys in the secondary keyring to boot (Kairui Song) [1640486] - [crypto] Replace magic for trusting the secondary keyring with #define (Kairui Song) [1640486] - [acpi] acpi/nfit: Fix command-supported detection (Jeff Moyer) [1665812] - [acpi] acpi/nfit: Block function zero DSMs (Jeff Moyer) [1665812] - [md] dm: add missing trace_block_split() to __split_and_process_bio() (Mike Snitzer) [1645283] - [md] dm: fix dm_wq_work() to only use __split_and_process_bio() if appropriate (Mike Snitzer) [1645283] - [md] dm: fix redundant IO accounting for bios that need splitting (Mike Snitzer) [1645283] - [md] dm: fix clone_bio() to trigger blk_recount_segments() (Mike Snitzer) [1645283] - [block] block: cover another queue enter recursion via BIO_QUEUE_ENTERED (Mike Snitzer) [1645283] - [md] dm thin: fix passdown_double_checking_shared_status() (Mike Snitzer) [1668039] - [tools] bpftool: Fix prog dump by tag (Jiri Olsa) [1667305] - [arm64] arm64: ftrace: Fix to enable syscall events on arm64 (Don Dutile) [1668035] - [arm64] arm64: implement syscall wrappers (Don Dutile) [1668035] - [arm64] arm64: convert compat wrappers to C (Don Dutile) [1668035] - [arm64] arm64: use SYSCALL_DEFINE6() for mmap (Don Dutile) [1668035] - [arm64] arm64: use {COMPAT,}SYSCALL_DEFINE0 for sigreturn (Don Dutile) [1668035] - [arm64] arm64: remove in-kernel call to sys_personality() (Don Dutile) [1668035] - [include] kernel: add ksys_personality() (Don Dutile) [1668035] - [arm64] arm64: drop alignment from syscall tables (Don Dutile) [1668035] - [arm64] arm64: entry: remove unused register aliases (Don Dutile) [1668035] - [arm64] arm64: convert native/compat syscall entry to C (Don Dutile) [1668035] - [arm64] arm64: svc: Ensure hardirq tracing is updated before return (Don Dutile) [1668035] - [arm64] arm64: convert syscall trace logic to C (Don Dutile) [1668035] - [arm64] arm64: move sve_user_{enable,disable} to (Don Dutile) [1668035] - [arm64] arm64: kill change_cpacr() (Don Dutile) [1668035] - [arm64] arm64: convert raw syscall invocation to C (Don Dutile) [1668035] - [arm64] arm64: introduce syscall_fn_t (Don Dutile) [1668035] - [arm64] arm64: remove sigreturn wrappers (Don Dutile) [1668035] - [arm64] arm64: rseq: Implement backend rseq calls and select HAVE_RSEQ (Don Dutile) [1668035] - [sound] ALSA: usb-audio: Add vendor and product name for Dell WD19 Dock (Jaroslav Kysela) [1664249] - [infiniband] IB/hfi1: Fix an out-of-bounds access in get_hw_stats (Alex Estrin) [1667104] - [infiniband] IB/hfi1: Incorrect sizing of sge for PIO will OOPs (Alex Estrin) [1667095] - [drm] drm/nouveau: register backlight on pascal and newer (Ben Skeggs) [1664899] - [drm] drm/nouveau/disp/gm200-: enforce identity-mapped SOR assignment for LVDS/eDP panels (Ben Skeggs) [1664899] - [drm] drm/nouveau/disp: move eDP panel power handling (Ben Skeggs) [1664899] - [drm] drm/nouveau/devinit: don't fail when PMU/PRE_OS is missing from VBIOS (Ben Skeggs) [1664899] - [kernel] locking/rwsem: Fix (possible) missed wakeup (Waiman Long) [1668014] - [kernel] futex: Fix (possible) missed wakeup (Waiman Long) [1668014] - [kernel] sched/wake_q: Fix wakeup ordering for wake_q (Waiman Long) [1668014] - [kernel] sched/wake_q: Document wake_q_add() (Waiman Long) [1668014] - [kernel] sched/wait: Fix rcuwait_wake_up() ordering (Waiman Long) [1668014] - [kernel] sched/Documentation: Update wake_up() & co. memory-barrier guarantees (Waiman Long) [1668014] - [kvm] KVM: PPC: Book3S HV: Flush guest mappings when turning dirty tracking on/off (Laurent Vivier) [1650386] - [kvm] KVM: PPC: Book3S HV: Cleanups - constify memslots, fix comments (Laurent Vivier) [1650386] - [kvm] KVM: PPC: Book3S HV: Map single pages when doing dirty page logging (Laurent Vivier) [1650386] - [kvm] KVM: PPC: Pass change type down to memslot commit function (Laurent Vivier) [1650386] - [vhost] vhost: log dirty page correctly (Jason Wang) [1657578] - [netdrv] netxen: taint as unsupported in RHEL8 (Tony Camuso) [1654825] - [hid] HID: hiddev: fix potential Spectre v1 (Benjamin Tissoires) [1664611] - [net] resort to custom code for sk_buff padding (Paolo Abeni) [1665984] - [net] add padding to cipher_context (Paolo Abeni) [1665984] - [net] add padding to tls_crypto_context (Paolo Abeni) [1665984] - [net] add padding to ipv4_devconf (Paolo Abeni) [1665984] - [net] ip6mr: Fix potential Spectre v1 vulnerability (Stefano Brivio) [1663472] - [net] ipv4: Fix potential Spectre v1 vulnerability (Stefano Brivio) [1663472] - [include] add KABI padding to file_system_type (Eric Sandeen) [1665320 1650565] - [include] add KABI padding to multiple fs ops vectors (Eric Sandeen) [1665320] - [fs] add KABI padding to dentry structure (Eric Sandeen) [1665320] - [fs] add KABI padding to inode structure (Eric Sandeen) [1665320] - [include] add KABI padding to file_lock structure (Eric Sandeen) [1665320] - [include] KABI: add an iopoll method to struct file_operations (Eric Sandeen) [1665320] - [sound] ALSA: emux: Fix potential Spectre v1 vulnerabilities (Jaroslav Kysela) [1663477] - [sound] ALSA: pcm: Fix potential Spectre v1 vulnerability (Jaroslav Kysela) [1663477] - [sound] ALSA: rme9652: Fix potential Spectre v1 vulnerability (Jaroslav Kysela) [1663477] - [sound] ALSA: emu10k1: Fix potential Spectre v1 vulnerabilities (Jaroslav Kysela) [1663477] - [powerpc] powerpc/tm: Unset MSR[TS] if not recheckpointing (Gustavo Duarte) [1663853] - [netdrv] r8152: Add support for MAC address pass through on RTL8153-BND (Perry Yuan) [1658433] - [hid] HID: debug: fix the ring buffer implementation (Tony Camuso) [1669469] {CVE-2019-3819}- [netdrv] net: hns: Fix WARNING when hns modules installed (Xiaojun Tan) [1662120] - [netdrv] net: hns: Fix ping failed when use net bridge and send multicast (Xiaojun Tan) [1662120] - [netdrv] net: hns: Add mac pcs config when enable|disable mac (Xiaojun Tan) [1662120] - [netdrv] net: hns: Fix ntuple-filters status error. (Xiaojun Tan) [1662120] - [netdrv] net: hns: Free irq when exit from abnormal branch (Xiaojun Tan) [1662120] - [netdrv] net: hns: Clean rx fbd when ae stopped. (Xiaojun Tan) [1662120] - [netdrv] net: hns: Some registers use wrong address according to the datasheet. (Xiaojun Tan) [1662120] - [netdrv] net: hns: All ports can not work when insmod hns ko after rmmod. (Xiaojun Tan) [1662120] - [netdrv] net: hns: Incorrect offset address used for some registers. (Xiaojun Tan) [1662120] - [include] ipmi: RH_KABI macros to pad kabi exposed structs (Tony Camuso) [1658175] - [scsi] reserve space in structures for KABI (Ewan Milne) [1664397]- [include] PCI: Add reserved fields to 'struct hotplug_slot' (Myron Stowe) [1663534] - [include] PCI: Add reserved fields to 'struct hotplug_slot_ops' (Myron Stowe) [1663534] - [pci] PCI: Add reserved fields to 'struct pci_sriov' (Myron Stowe) [1663534] - [include] PCI: Add reserved fields to 'struct pci_driver' (Myron Stowe) [1663534] - [include] PCI: Add reserved fields to 'struct pci_bus' (Myron Stowe) [1663534] - [include] PCI: Add reserved fields, and extension, to 'struct pci_dev' (Myron Stowe) [1663534] - [pci] PCI: Add missing include to drivers/pci.h (Myron Stowe) [1663534] - [pci] PCI/IOV: Use VF0 cached config space size for other VFs (Myron Stowe) [1663534] - [include] PCI: always include 'p2pdma' in 'struct pci_dev' (Myron Stowe) [1663534] - [ata] PCI: Remove pci_set_dma_max_seg_size() (Myron Stowe) [1663534] - [pci] PCI: Remove pci_set_dma_seg_boundary() (Myron Stowe) [1663534] - [include] PCI: Remove pci_unmap_addr() wrappers for DMA API (Myron Stowe) [1663534] - [pci] PCI/AER: Abstract AER interrupt handling (Myron Stowe) [1663534] - [pci] PCI: Uninline PCI bus accessors for better ftracing (Myron Stowe) [1663534] - [pci] PCI/portdrv: Add runtime PM hooks for port service drivers (Myron Stowe) [1663534] - [pci] PCI: Make link active reporting detection generic (Myron Stowe) [1663534] - [block] block: don't lose track of REQ_INTEGRITY flag (Ming Lei) [1665684] - [nvme] nvme-pci: fix nvme_setup_irqs() (Ming Lei) [1661439] - [lib] sbitmap: Protect swap_lock from hardirq (Ming Lei) [1666192] - [lib] sbitmap: Protect swap_lock from softirqs (Ming Lei) [1666192] - [scsi] scsi: isci: initialize shost fully before calling scsi_add_host() (Ming Lei) [1664918] - [nvme] nvmet-fc: Mark NVMe/FC target mode driver as unsupported (Ewan Milne) [1664838] - [netdrv] bnx2x: Assign unique DMAE channel number for FW DMAE transactions. (Jonathan Toppins) [1638306] - [fs] block: don't use un-ordered __set_current_state(TASK_UNINTERRUPTIBLE) (Ming Lei) [1664580] - [netdrv] qed: Wait for ready indication before rereading the shmem (Chad Dupuis) [1652417] - [netdrv] qed: Avoid sending mailbox commands when MFW is not responsive (Chad Dupuis) [1652417] - [netdrv] qed: Wait for MCP halt and resume commands to take place (Chad Dupuis) [1652417] - [netdrv] qed: Prevent a possible deadlock during driver load and unload (Chad Dupuis) [1652417] - [fs] gfs2: Fix loop in gfs2_rbm_find (Andreas Grunbacher) [1658528] - [fs] gfs2: Get rid of potential double-freeing in gfs2_create_inode (Andreas Grunbacher) [1658539]- [vhost] vhost/vsock: fix vhost vsock cid hashing inconsistent (Stefan Hajnoczi) [1619848] {CVE-2018-14625} - [vhost] vhost/vsock: fix use-after-free in network stack callers (Stefan Hajnoczi) [1619848] {CVE-2018-14625} - [netdrv] bnx2x: Add VF spoof-checking configuration (Jonathan Toppins) [1646842] - [netdrv] net-next: hinic: fix a problem in free_tx_poll() (Xiaojun Tan) [1642016] - [netdrv] net: hns: fix for unmapping problem when SMMU is on (Xiaojun Tan) [1640526] - [netdrv] net: hns: add netif_carrier_off before change speed and duplex (Xiaojun Tan) [1640526] - [netdrv] net: hns: add the code for cleaning pkt in chip (Xiaojun Tan) [1640526] - [netdrv] net: hns: modify variable type in hns_nic_reuse_page (Xiaojun Tan) [1640526]- [irqchip] Mark GICv2 deprecated (Wei Huang) [1609391] - [scsi] qla2xxx: Use correct number of vectors for online CPUs (Himanshu Madhani) [1644058] - [scsi] megaraid_sas: mark Aero controllers as tech preview (Tomas Henzl) [1659972] - [scsi] megaraid_sas: add retry logic in megasas_readl (Tomas Henzl) [1659972] - [scsi] scsi: megaraid_sas: Introduce new Aero adapter type (Tomas Henzl) [1659972] - [scsi] scsi: megaraid_sas: Fix Ventura series based checks (Tomas Henzl) [1659972] - [scsi] scsi: libfc: retry PRLI if we cannot analyse the payload (Chris Leech) [1631843] - [scsi] scsi: libfc: check fc_frame_payload_get() return value for null (Chris Leech) [1631843] - [scsi] scsi: libfc: hold disc_mutex in fc_disc_stop_rports() (Chris Leech) [1631843] - [scsi] scsi: libfc: fixup lockdep annotations (Chris Leech) [1631843] - [scsi] scsi: libfc: fixup 'sleeping function called from invalid context' (Chris Leech) [1631843] - [scsi] scsi: libfc: Add lockdep annotations (Chris Leech) [1631843] - [md] dm crypt: fix parsing of extended IV arguments (Mike Snitzer) [1665290] - [kernel] redhat: kabi: reserved padding for kernel sched data structures (Rafael Aquini) [1664858] - [kernel] redhat: kabi: reserved padding for MM related data structures (Rafael Aquini) [1664858] - [vfio] vfio/type1: Fix unmap overflow off-by-one (Alex Williamson) [1662291] - [message] mptspi: pci-id table changes (Tomas Henzl) [1651803] - [message] mptspi: Taint kernel if mptspi is loaded (Tomas Henzl) [1651803] - [block] kabi: reserve space for public data structure (Ming Lei) [1551939] - [block] kabi: reserve space for blk-mq related structure (Ming Lei) [1551939] - [block] kabi: reserve space for bsg related structure (Ming Lei) [1551939] - [block] kabi: reserve space for integrity related structure (Ming Lei) [1551939] - [block] kabi: reserve space for CONFIG_BLK_DEV_ZONED (Ming Lei) [1551939] - [ata] ata: Disable AHCI ALPM feature for Ampere Computing eMAG SATA (David Milburn) [1663347] - [kvm] KVM: x86: Add CPUID support for new instruction WBNOINVD (Andrew Jones) [1659491] - [x86] KVM: x86: Use jmp to invoke kvm_spurious_fault() from .fixup (Andrew Jones) [1659491] - [virt] kvm: Change offset in kvm_write_guest_offset_cached to unsigned (Andrew Jones) [1659491] - [virt] kvm: Disallow wraparound in kvm_gfn_to_hva_cache_init (Andrew Jones) [1659491] - [kvm] KVM: x86: svm: report MSR_IA32_MCG_EXT_CTL as unsupported (Andrew Jones) [1659491] - [virt] arm/arm64: KVM: Add ARM_EXCEPTION_IS_TRAP macro (Andrew Jones) [1659491] - [arm64] arm64: KVM: Avoid setting the upper 32 bits of VTCR_EL2 to 1 (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: Fix unintended stage 2 PMD mappings (Andrew Jones) [1659491] - [virt] arm/arm64: KVM: vgic: Force VM halt when changing the active state of GICv3 PPIs/SGIs (Andrew Jones) [1659491] - [arm64] KVM: arm/arm64: Fixup the kvm_exit tracepoint (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic: Consider priority and active state for pending irq (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic: Fix off-by-one bug in vgic_get_irq() (Andrew Jones) [1659491] - [kvm] KVM: X86: Fix NULL deref in vcpu_scan_ioapic (Andrew Jones) [1659491] - [kvm] KVM: Fix UAF in nested posted interrupt processing (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic: Cap SPIs to the VM-defined maximum (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic: Do not cond_resched_lock() with IRQs disabled (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic-v2: Set active_source to 0 when restoring state (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: Fix VMID alloc race by reverting to lock-less (Andrew Jones) [1659491] - [kvm] KVM: nVMX: Free the VMREAD/VMWRITE bitmaps if alloc_kvm_area() fails (Andrew Jones) [1659491] - [kvm] arm64: KVM: Install stage-2 translation before enabling traps (Andrew Jones) [1659491] - [kvm] arm64: KVM: Make VHE Stage-2 TLB invalidation operations non-interruptible (Andrew Jones) [1659491] - [arm64] arm64: entry: Remove confusing comment (Andrew Jones) [1659491] - [kvm] arm64: entry: Place an SB sequence following an ERET instruction (Andrew Jones) [1659491] - [arm64] arm64: Add support for SB barrier and patch in over DSB; ISB sequences (Andrew Jones) [1659491] - [kvm] kvm: nVMX: Set VM instruction error for VMPTRLD of unbacked page (Andrew Jones) [1659491] - [kvm] kvm: svm: Ensure an IBPB on all affected CPUs when freeing a vmcb (Andrew Jones) [1659491] - [kvm] kvm: mmu: Fix race in emulated page table writes (Andrew Jones) [1659491] - [kvm] KVM: nVMX/nSVM: Fix bug which sets vcpu->arch.tsc_offset to L1 tsc_offset (Andrew Jones) [1659491] - [kvm] KVM: VMX: Update shared MSRs to be saved/restored on MSR_EFER.LMA changes (Andrew Jones) [1659491] - [kvm] KVM: x86: Fix kernel info-leak in KVM_HC_CLOCK_PAIRING hypercall (Andrew Jones) [1659491] - [kvm] svm: Add mutex_lock to protect apic_access_page_done on AMD systems (Andrew Jones) [1659491] - [kvm] KVM/nVMX: Do not validate that posted_intr_desc_addr is page aligned (Andrew Jones) [1659491] - [kvm] KVM: arm64: Safety check PSTATE when entering guest and handle IL (Andrew Jones) [1659491] - [virt] KVM: arm64: Fix caching of host MDCR_EL2 value (Andrew Jones) [1659491] - [kvm] x86/kvm/nVMX: allow bare VMXON state migration (Andrew Jones) [1659491] - [kvm] x86/kvm/lapic: preserve gfn_to_hva_cache len on cache reinit (Andrew Jones) [1659491] - [kvm] KVM: hyperv: define VP assist page helpers (Andrew Jones) [1659491] - [kvm] KVM: nVMX: move check_vmentry_postreqs() call to nested_vmx_enter_non_root_mode() (Andrew Jones) [1659491] - [kvm] KVM: nVMX: Always reflect #NM VM-exits to L1 (Andrew Jones) [1659491] - [kvm] KVM: x86: hyperv: consistently use 'hv_vcpu' for 'struct kvm_vcpu_hv' variables (Andrew Jones) [1659491] - [kvm] KVM: x86: hyperv: enforce vp_index < KVM_MAX_VCPUS (Andrew Jones) [1659491] - [kvm] KVM: nVMX: restore host state in nested_vmx_vmexit for VMFail (Andrew Jones) [1659491] - [kvm] KVM: nVMX: Clear reserved bits of #DB exit qualification (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: Ensure only THP is candidate for adjustment (Andrew Jones) [1659491] - [kvm] x86: kvm: avoid unused variable warning (Andrew Jones) [1659491] - [kvm] powerpc64/ftrace: Include ftrace.h needed for enable/disable calls (Andrew Jones) [1659491] - [kvm] x86/kvm/vmx: Remove duplicate l1d flush definitions (Andrew Jones) [1659491] - [tools] perf kvm: Fix subcommands on s390 (Andrew Jones) [1659491] - [arm64] arm64: add PSR_AA32_* definitions (Andrew Jones) [1659491] - [pci] PCI: hotplug: Document TODOs (Myron Stowe) [1664454] - [pci] PCI: hotplug: Embed hotplug_slot (Myron Stowe) [1664454] - [pci] PCI: hotplug: Drop hotplug_slot_info (Myron Stowe) [1664454] - [pci] PCI: hotplug: Constify hotplug_slot_ops (Myron Stowe) [1664454] - [pci] PCI: pciehp: Reshuffle controller struct for clarity (Myron Stowe) [1664454] - [pci] PCI: pciehp: Rename controller struct members for clarity (Myron Stowe) [1664454] - [pci] PCI: pciehp: Unify controller and slot structs (Myron Stowe) [1664454] - [pci] PCI: pciehp: Tolerate Presence Detect hardwired to zero (Myron Stowe) [1664454] - [pci] PCI: pciehp: Drop hotplug_slot_ops wrappers (Myron Stowe) [1664454] - [pci] PCI: pciehp: Drop unnecessary includes (Myron Stowe) [1664454] - [pci] PCI: pciehp: Differentiate between surprise and safe removal (Myron Stowe) [1664454] - [pci] PCI: Simplify disconnected marking (Myron Stowe) [1664454] - [tools] perf vendor events arm64: Revise core JSON events for eMAG (Jiri Olsa) [1663353] - [tools] perf vendor events arm64: Enable JSON events for eMAG (Jiri Olsa) [1663353] - [perf] drivers/perf: xgene: Add CPU hotplug support (Jiri Olsa) [1663349] - [scsi] mpt3sas: mark Aero controllers as tech preview (Tomas Henzl) [1663281] - [powerpc] KVM: PPC: Book3S HV: Keep rc bits in shadow pgtable in sync with host (Suraj Jitindar Singh) [1662029] - [powerpc] KVM: PPC: Book3S HV: Introduce kvmhv_update_nest_rmap_rc_list() (Suraj Jitindar Singh) [1662029] - [powerpc] KVM: PPC: Book3S HV: Apply combination of host and l1 pte rc for nested guest (Suraj Jitindar Singh) [1662029] - [powerpc] KVM: PPC: Book3S HV: Align gfn to L1 page size when inserting nest-rmap entry (Suraj Jitindar Singh) [1662029] - [powerpc] KVM: PPC: Book3S HV: Hold kvm->mmu_lock across updating nested pte rc bits (Suraj Jitindar Singh) [1662029] - [tools] perf python: Do not force closing original perf descriptor in evlist.get_pollfd (Jiri Olsa) [1659445] - [mm] mm: thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings (Andrea Arcangeli) [1613993] - [rpmspec] spec: Add libperf-jvmti.so into perf debuginfo rpm (Jiri Olsa) [1653570] - [scsi] scsi: hisi_sas: Fix spin lock management in slot_index_alloc_quirk_v2_hw() (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Update v3 hw AIP_LIMIT and CFG_AGING_TIME register values (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Use block layer tag instead for IPTT (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: unmask interrupts ent72 and ent74 (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Free slot later in slot_complete_vx_hw() (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Fix the race between IO completion and timeout for SMP/internal IO (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Move evaluation of hisi_hba in hisi_sas_task_prep() (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Feed back linkrate(max/min) when re-attached (Xiaojun Tan) [1642819] - [hwtracing] intel_th: pci: Add Ice Lake PCH support (Jiri Olsa) [1485529]- [kernel] userns: also map extents in the reverse map to kernel IDs (Chris von Recklinghausen) [1652679] {CVE-2018-18955} - [net] ipv6: route: Fix return value of ip6_neigh_lookup() on neigh_create() error (Stefano Brivio) [1662789] - [net] ipv6: frags: Fix bogus skb->sk in reassembled packets (Herbert Xu) [1645839] - [net] redhat: blacklist auto-loadable net modules in modules-extra (Marcelo Leitner) [1642795] - [net] redhat: move sctp modules to kernel-modules-extra (Marcelo Leitner) [1642795] - [net] add reserved fields to neighbour (Paolo Abeni) [1655084] - [net] add reserved fields to rtnl_link_stats* (Paolo Abeni) [1655084] - [net] reserve bits in netdev_features_t for future features (Paolo Abeni) [1655084] - [net] add reserved fields to sk_buff (Paolo Abeni) [1655084] - [net] add reserved fields to ipv6_devconf (Paolo Abeni) [1655084] - [net] add reserved fields to fib_rule (Paolo Abeni) [1655084] - [net] add reserved fields to sock (Paolo Abeni) [1655084] - [net] add reserved fields to genl_family (Paolo Abeni) [1655084] - [net] add reserved fields to proto_ops (Paolo Abeni) [1655084] - [net] add reserved fields to proto (Paolo Abeni) [1655084] - [net] add reserved fields to genl_ops (Paolo Abeni) [1655084] - [net] add reserved fields to dst_ops (Paolo Abeni) [1655084] - [net] add reserved fields to dst_entry (Paolo Abeni) [1655084] - [net] add reserved fields to lwtunnel_state (Paolo Abeni) [1655084] - [net] add reserved fields to packet_type (Paolo Abeni) [1655084] - [net] add reserved fields to napi_struct (Paolo Abeni) [1655084] - [net] add reserved fields to net_device (Paolo Abeni) [1655084] - [net] exclude wireless_dev from KABI protection (Paolo Abeni) [1655084] - [net] add reserved fields to dcbnl_rtnl_ops (Paolo Abeni) [1655084] - [net] add reserved fields to xfrm_* (Paolo Abeni) [1655084] - [net] add reserved fields to switchdev_obj (Paolo Abeni) [1655084] - [net] add reserved fields to switchdev_ops (Paolo Abeni) [1655084] - [net] add reserved fields to l3mdev_ops (Paolo Abeni) [1655084] - [net] exclude ndisc_ops from kABI protection (Paolo Abeni) [1655084] - [net] add reserved fields to xfrmdev_ops (Paolo Abeni) [1655084] - [net] add reserved fields to tlsdev_ops (Paolo Abeni) [1655084] - [net] add reserved fields to netdev_rx_queue (Paolo Abeni) [1655084] - [net] add reserved fields to netdev_queue (Paolo Abeni) [1655084] - [net] add reserved fields to rtnl_link_ops (Paolo Abeni) [1655084] - [net] add reserved fields to ethtool_ops (Paolo Abeni) [1655084] - [net] add reserved fields to header_ops (Paolo Abeni) [1655084] - [net] add reserved fields to net_device_ops (Paolo Abeni) [1655084] - [net] add reserved fields to flowi* structs (Paolo Abeni) [1655084] - [arm64] KVM: arm64: Clarify explanation of STAGE2_PGTABLE_LEVELS (Christoph von Recklinghausen) [1643586 1643522] - [arm64] KVM: arm/arm64: Rename kvm_arm_config_vm to kvm_arm_setup_stage2 (Christoph von Recklinghausen) [1643586 1643522] - [virt] KVM: arm64: Drop __cpu_init_stage2 on the VHE path (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Allow tuning the physical address size for VM (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Limit the minimum number of page table levels (Christoph von Recklinghausen) [1643586 1643522] - [virt] kvm: arm64: Set a limit on the IPA size (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Add 52bit support for PAR to HPFAR conversoin (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Switch to per VM IPA limit (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Configure VTCR_EL2.SL0 per VM (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Dynamic configuration of VTTBR mask (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Make stage2 page table layout dynamic (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Prepare for dynamic stage2 page table layout (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm/arm64: Prepare for VM specific stage2 translations (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Configure VTCR_EL2 per VM (Christoph von Recklinghausen) [1643586 1643522] - [virt] kvm: arm/arm64: Allow arch specific configurations for VM (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Clean up VTCR_EL2 initialisation (Christoph von Recklinghausen) [1643586 1643522] - [arm64] arm64: Add a helper for PARange to physical shift conversion (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Add helper for loading the stage2 setting for a VM (Christoph von Recklinghausen) [1643586 1643522] - [virt] kvm: arm/arm64: Remove spurious WARN_ON (Christoph von Recklinghausen) [1643586 1643522] - [virt] kvm: arm/arm64: Fix stage2_flush_memslot for 4 level page table (Christoph von Recklinghausen) [1643586 1643522] - [hv] hv_balloon: avoid touching uninitialized struct page during tail onlining (Vitaly Kuznetsov) [1662277] - [x86] Mark AMD EPYC guests as supported (David Arcari) [1663356] - [netdrv] be2net: Disable queue dump in be_tx_timeout handler (Petr Oros) [1646838] - [vhost] vhost: Fix Spectre V1 vulnerability (Jason Wang) [1663469] - [mm] mm/hugetlb.c: teach follow_hugetlb_page() to handle FOLL_NOWAIT (Andrea Arcangeli) [1575028] - [tools] cpupower: Fix AMD Family 0x17 msr_pstate size (Prarit Bhargava) [1659883] - [tools] cpupower: Fix coredump on VMWare (Prarit Bhargava) [1659883] - [scsi] scsi: csiostor: remove flush_scheduled_work() (Arjun Vynipadath) [1663973] - [powerpc] KVM: PPC: Book3S HV: Fix race between kvm_unmap_hva_range and MMU mode switch (David Gibson) [1663225] - [fs] userfaultfd: check VM_MAYWRITE was set after verifying the uffd is registered (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: shmem: UFFDIO_COPY: set the page dirty if VM_WRITE is not set (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: shmem: add i_size checks (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: shmem/hugetlbfs: only allow to register VM_MAYWRITE vmas (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: shmem: allocate anonymous memory for MAP_PRIVATE shmem (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: use ENOENT instead of EFAULT if the atomic copy user fails (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: allow get_mempolicy(MPOL_F_NODE|MPOL_F_ADDR) to trigger userfaults (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [fs] userfaultfd: clear flag if remap event not enabled (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [fs] userfaultfd: disable irqs when taking the waitqueue lock (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [fs] fs/userfaultfd.c: remove redundant pointer uwq (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [fs] NFS: nfs_compare_mount_options always compare auth flavors. (Steve Dickson) [1661619] - [infiniband] RDMA/hns: Bugfix for RoCE loopback test (Xiaojun Tan) [1663359] - [infiniband] RDMA/hns: Update posting & querying mailbox (Xiaojun Tan) [1663359] - [infiniband] RDMA/hns: Fix the bug while use multi-hop of pbl (Xiaojun Tan) [1663359] - [infiniband] RDMA/hns: Init qp context when modify qp from reset to init (Xiaojun Tan) [1663359] - [infiniband] RDMA/hns: Bugfix pbl configuration for rereg mr (Xiaojun Tan) [1663359] - [security] selinux: add support for RTM_NEWCHAIN, RTM_DELCHAIN, and RTM_GETCHAIN (Ondrej Mosnacek) [1660564] - [scsi] scsi: megaraid_sas: driver version update (Tomas Henzl) [1656261] - [scsi] scsi: megaraid_sas: Use 63-bit DMA addressing (Tomas Henzl) [1656261] - [x86] x86/kvm: mark as TechPreview when running as a nested hypervisor (Vitaly Kuznetsov) [1519039] - [rpmspec] kernel.spec: Fix kernel-tools files section logic (Prarit Bhargava) [1661247] - [crypto] crypto: ccp - Make function sev_get_firmware() static (Gary Hook) [1632894] - [crypto] crypto: ccp - Allow SEV firmware to be chosen based on Family and Model (Gary Hook) [1632894] - [crypto] crypto: ccp - Fix static checker warning (Gary Hook) [1632894] - [crypto] crypto: ccp - add timeout support in the SEV command (Gary Hook) [1632894] - [nvdimm] nvdimm: Use namespace index data to reduce number of label reads needed (Jeff Moyer) [1634345] - [nvdimm] nvdimm: Split label init out from the logic for getting config data (Jeff Moyer) [1634345] - [nvdimm] nvdimm: Remove empty if statement (Jeff Moyer) [1634345] - [nvdimm] nvdimm: Clarify comment in sizeof_namespace_index (Jeff Moyer) [1634345] - [nvdimm] nvdimm: Sanity check labeloff (Jeff Moyer) [1634345] - [nvdimm] libnvdimm, dimm: Maximize label transfer size (Jeff Moyer) [1634345] - [mm] mm/page-writeback.c: fix range_cyclic writeback vs writepages deadlock (Brian Foster) [1659528] - [input] Input: elantech - disable elan-i2c for P52 and P72 (Benjamin Tissoires) [1658602] - [fs] cachefiles: avoid deprecated get_seconds() (David Howells) [1655613] - [fs] fscache, cachefiles: remove redundant variable 'cache' (David Howells) [1655613] - [fs] cachefiles: Explicitly cast enumerated type in put_object (David Howells) [1655613] - [fs] fscache: fix race between enablement and dropping of object (David Howells) [1655613] - [fs] cachefiles: Fix page leak in cachefiles_read_backing_file while vmscan is active (David Howells) [1655613] - [fs] fscache: Fix race in fscache_op_complete() due to split atomic_sub & read (David Howells) [1655613] - [fs] cachefiles: Fix an assertion failure when trying to update a failed object (David Howells) [1655613] - [fs] fscache: Fix out of bound read in long cookie keys (David Howells) [1655613] - [fs] fscache: Fix incomplete initialisation of inline key space (David Howells) [1655613] - [fs] cachefiles: fix the race between cachefiles_bury_object() and rmdir(2) (David Howells) [1655613] - [kernel] ebpf: record usage of eBPF (Jiri Benc) [1654279] - [kernel] add rh_features to /proc (Jiri Benc) [1654279] - [kernel] add support for rh_features (Jiri Benc) [1654279] - [fs] fs/lock: show locks taken by processes from another pidns (Miklos Szeredi) [1616125] - [iommu] iommu/arm-smmu: Support non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu/io-pgtable-arm-v7s: Add support for non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu-v3: Add support for non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu/io-pgtable-arm: Add support for non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu: Add "iommu.strict" command line option (Xiaojun Tan) [1643114] - [iommu] iommu/dma: Add support for non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu: Ensure that page-table updates are visible before TLBI (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu-v3: Implement flush_iotlb_all hook (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu-v3: Avoid back-to-back CMD_SYNC operations (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu-v3: Fix unexpected CMD_SYNC timeout (Xiaojun Tan) [1643114] - [iommu] iommu/io-pgtable-arm: Fix race handling in split_blk_unmap() (Xiaojun Tan) [1643114] - [infiniband] RDMA/hns: Update some attributes of the RoCE device (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Limit the size of extend sge of sq (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Bugfix for CM test (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Submit bad wr when post send wr exception (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Bugfix for reserved qp number (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Refactor the codes for setting transport opode (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Move all prints out of irq handle (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Fix an error code in hns_roce_v2_init_eq_table() (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Fix usage of bitmap allocation functions return values (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Support flush cqe for hip08 in kernel space (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Program the tclass and flow label into the hardware (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Use macro instead of magic number (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Modify qp will return errno when qp type is illegal (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Assign the value for vlan field of qp context (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Only assgin the fields of the av if IB_QP_AV bit is set (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Enable modify_cq for uverbs. (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Update the data type of immediate data (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Use delay instead of usleep (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Add illegal hop_num judgement (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Add 50GE type of hnae3 device match (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Do not overwrite the error code during error unwind in hns_roce_init (Xiaojun Tan) [1639578] - [infiniband] hns: Remove a set-but-not-used variable (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Update the implementation of set_mac (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Update the implementation of set_gid (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Add TPQ link table support (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Add TSQ link table support (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Fix endian conversions and annotations (Xiaojun Tan) [1639578] - [scsi] scsi: hisi_sas: Add SATA FIS check for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: add memory barrier in task delivery function (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Tidy hisi_sas_task_prep() (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Implement handlers of PCIe FLR for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: relocate some common code for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: tidy host controller reset function a bit (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Fix the failure of recovering PHY from STP link timeout (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: tidy channel interrupt handler for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Drop hisi_sas_slot_abort() (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Update a couple of register settings for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Add missing PHY spinlock init (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Pre-allocate slot DMA buffers (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Release all remaining resources in clear nexus ha (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Add a flag to filter PHY events during reset (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Adjust task reject period during host reset (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Fix the conflict between dev gone and host reset (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Only process broadcast change in phy_bcast_v3_hw() (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Use dmam_alloc_coherent() (Zhou Wang) [1639541] - [netdrv] xen/netfront: fix waiting for xenbus state change (Petr Oros) [1638456]- [x86] expand cpu feature/bug bits (David Arcari) [1662434] - [x86] add kabi support for cpuinfo_x86 (David Arcari) [1662434] - [init] Display a message about certified hardware (Steve Best) [1660523] - [scsi] scsi: t10-pi: Return correct ref tag when queue has no integrity profile (Ming Lei) [1660719] - [scsi] scsi: storvsc: Fix a race in sub-channel creation that can cause panic (Mohammed Gamal) [1650149] - [uio] uio_hv_generic: set callbacks on open (Mohammed Gamal) [1650149] - [hv] vmbus: fix subchannel removal (Mohammed Gamal) [1650149] - [uio] uio_hv_generic: defer opening vmbus until first use (Mohammed Gamal) [1650149] - [hv] vmbus: split ring buffer allocation from open (Mohammed Gamal) [1650149] - [hv] vmbus: pass channel to hv_process_channel_removal (Mohammed Gamal) [1650149] - [hv] Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind() (Mohammed Gamal) [1650149] - [uio] hv_uio_generic: map ringbuffer phys addr (Mohammed Gamal) [1650149] - [uio] uio: introduce UIO_MEM_IOVA (Mohammed Gamal) [1650149] - [hv] vmbus: add driver_override support (Mohammed Gamal) [1650149] - [hv] vmbus: keep pointer to ring buffer page (Mohammed Gamal) [1650149] - [uio] uio_hv_generic: increase size of receive and send buffers (Mohammed Gamal) [1650149] - [uio] uio: add SPDX license tags (Mohammed Gamal) [1650149] - [fs] gfs2: take jdata unstuff into account in do_grow (Robert S Peterson) [1660519] - [drm] drm/dp_mst: Check if primary mstb is null (Lyude Paul) [1658711] - [tools] perf tests: Use shebangs in the shell scripts (Michael Petlan) [1613523]- [mm] mm: put_and_wait_on_page_locked() while page is migrated (Baoquan He) [1649214] - [netdrv] i40e: define proper net_device::neigh_priv_len (Stefan Assmann) [1658743] - [netdrv] i40e: fix VLAN.TCI == 0 RX HW offload (Stefan Assmann) [1658743] - [netdrv] i40e: fix mac filter delete when setting mac address (Stefan Assmann) [1658743] - [netdrv] i40e: prevent overlapping tx_timeout recover (Stefan Assmann) [1658743] - [netdrv] i40e: Use correct shift for VLAN priority (Stefan Assmann) [1658743] - [netdrv] i40e: always set ks->base.speed in i40e_get_settings_link_up (Stefan Assmann) [1658743] - [netdrv] i40e: don't restart nway if autoneg not supported (Stefan Assmann) [1658743] - [netdrv] i40e: enable NETIF_F_NTUPLE and NETIF_F_HW_TC at driver load (Stefan Assmann) [1658743] - [netdrv] i40e: restore NETIF_F_GSO_IPXIP[46] to netdev features (Stefan Assmann) [1658743] - [acpi] ACPI/APEI: Clear GHES block_status before panic() (David Arcari) [1662442] - [misc] VMCI: Resource wildcard match fixed (Vitaly Kuznetsov) [1652868] - [mm] mm/page_alloc.c: don't call kasan_free_pages() at deferred mem init (Waiman Long) [1655964] - [block] block/bio: Do not zero user pages (Ming Lei) [1662502] - [vhost] disable zerocopy by default (Jason Wang) [1582756] - [block] kyber: use sbitmap add_wait_queue/list_del wait helpers (Ming Lei) [1661426] - [lib] sbitmap: add helpers for add/del wait queue handling (Ming Lei) [1661426] - [net] Revert "sunrpc: Ensure we always close the socket after a connection shuts down" (Dave Wysochanski) [1657449] - [vhost] vhost/vsock: fix reset orphans race with close timeout (Stefan Hajnoczi) [1660445] - [misc] genwqe: Fix size check (Steve Best) [1660126] - [fs] aio: fix spectre gadget in lookup_ioctx (Jeff Moyer) [1660963] - [block] block: save irq state in blkg_lookup_create() (Ming Lei) [1660299] - [md] dm: don't reuse bio for flushes (Ming Lei) [1660401] - [wireless] mac80211_hwsim: Fix possible Spectre-v1 for hwsim_world_regdom_custom (Stanislaw Gruszka) [1637113] - [wireless] nl80211: Fix possible Spectre-v1 for NL80211_TXRATE_HT (Stanislaw Gruszka) [1637113] - [wireless] nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds (Stanislaw Gruszka) [1637113] - [block] blk-mq: enable IO poll if .nr_queues of type poll > 0 (Ming Lei) [1660826] - [powerpc] powerpc/rtas: Fix a potential race between CPU-Offline & Migration (Desnes Augusto Nunes do Rosario) [1639266] - [x86] kvm: x86: Add AMD's EX_CFG to the list of ignored MSRs (Eduardo Habkost) [1625111] - [scsi] scsi_sysfs: make unpriv_sgio queue attribute accessible for non-block devices (Paolo Bonzini) [1584504] - [block] scsi_ioctl: introduce unpriv_sgio queue flag (Paolo Bonzini) [1584504] - [block] scsi_ioctl: pass request_queue to blk_verify_command (Paolo Bonzini) [1584504] - [fs] ext4: missing !bh check in ext4_xattr_inode_write() (Lukas Czerner) [1659481] - [fs] ext4: fix buffer leak in __ext4_read_dirblock() on error path (Lukas Czerner) [1659481] - [fs] ext4: fix buffer leak in ext4_expand_extra_isize_ea() on error path (Lukas Czerner) [1659481] - [fs] ext4: fix buffer leak in ext4_xattr_move_to_block() on error path (Lukas Czerner) [1659481] - [fs] ext4: release bs.bh before re-using in ext4_xattr_block_find() (Lukas Czerner) [1659481] - [fs] ext4: fix buffer leak in ext4_xattr_get_block() on error path (Lukas Czerner) [1659481] - [fs] ext4: fix possible leak of s_journal_flag_rwsem in error path (Lukas Czerner) [1659481] - [fs] ext4: fix possible leak of sbi->s_group_desc_leak in error path (Lukas Czerner) [1659481] - [fs] ext4: avoid possible double brelse() in add_new_gdb() on error path (Lukas Czerner) [1659481] - [fs] ext4: avoid buffer leak in ext4_orphan_add() after prior errors (Lukas Czerner) [1659481] - [fs] ext4: avoid buffer leak on shutdown in ext4_mark_iloc_dirty() (Lukas Czerner) [1659481] - [fs] ext4: fix possible inode leak in the retry loop of ext4_resize_fs() (Lukas Czerner) [1659481] - [fs] ext4: fix missing cleanup if ext4_alloc_flex_bg_array() fails while resizing (Lukas Czerner) [1659481] - [fs] ext4: add missing brelse() update_backups()'s error path (Lukas Czerner) [1659481] - [fs] ext4: add missing brelse() add_new_gdb_meta_bg()'s error path (Lukas Czerner) [1659481] - [fs] ext4: add missing brelse() in set_flexbg_block_bitmap()'s error path (Lukas Czerner) [1659481] - [fs] ext4: avoid potential extra brelse in setup_new_flex_group_blocks() (Lukas Czerner) [1659481] - [scsi] scsi: lpfc: Enable Management features for IF_TYPE=6 (Dick Kennedy) [1658755] - [scsi] scsi: mpt3sas: Update driver version to 27.101.00.00 (Tomas Henzl) [1659035] - [scsi] scsi: mpt3sas: Replace readl with ioc->base_readl (Tomas Henzl) [1659035] - [scsi] scsi: mpt3sas: Add separate function for aero doorbell reads (Tomas Henzl) [1659035] - [scsi] scsi: mpt3sas: Introduce flag for aero based controllers (Tomas Henzl) [1659035] - [md] dm: do not allow readahead to limit IO size (Mike Snitzer) [1658757] - [md] dm raid: fix false -EBUSY when handling check/repair message (Mike Snitzer) [1658757] - [block] blk-mq: change blk_mq_queue_busy() to blk_mq_queue_inflight() (Mike Snitzer) [1658757] - [md] dm rq: cleanup leftover code from recently removed q->mq_ops branching (Mike Snitzer) [1658757] - [md] dm verity: log the hash algorithm implementation (Mike Snitzer) [1658757] - [md] dm crypt: log the encryption algorithm implementation (Mike Snitzer) [1658757] - [md] dm integrity: fix spelling mistake in workqueue name (Mike Snitzer) [1658757] - [md] dm flakey: Properly corrupt multi-page bios. (Mike Snitzer) [1658757] - [md] dm: Check for device sector overflow if CONFIG_LBDAF is not set (Mike Snitzer) [1658757] - [md] dm crypt: use u64 instead of sector_t to store iv_offset (Mike Snitzer) [1658757] - [md] dm kcopyd: Fix bug causing workqueue stalls (Mike Snitzer) [1658757] - [md] dm snapshot: Fix excessive memory usage and workqueue stalls (Mike Snitzer) [1658757] - [md] dm bufio: update comment in dm-bufio.c (Mike Snitzer) [1658757] - [md] dm writecache: fix typo in error msg for creating writecache_flush_thread (Mike Snitzer) [1658757] - [md] dm: remove indirect calls from __send_changing_extent_only() (Mike Snitzer) [1658757] - [md] dm mpath: only flush workqueue when needed (Mike Snitzer) [1658757] - [md] dm: avoid indirect call in __dm_make_request (Mike Snitzer) [1658757] - [md] dm thin: bump target version (Mike Snitzer) [1658757] - [md] dm thin: send event about thin-pool state change _after_ making it (Mike Snitzer) [1658757] - [md] dm cache metadata: verify cache has blocks in blocks_are_clean_separate_dirty() (Mike Snitzer) [1658757] - [md] dm writecache: remove disabled code in memory_entry() (Mike Snitzer) [1658757] - [md] dm raid: avoid bitmap with raid4/5/6 journal device (Mike Snitzer) [1658757] - [md] dm crypt: make workqueue names device-specific (Mike Snitzer) [1658757] - [md] dm: add dm_table_device_name() (Mike Snitzer) [1658757] - [md] dm ioctl: harden copy_params()'s copy_from_user() from malicious users (Mike Snitzer) [1658757] - [md] dm: remove unnecessary unlikely() around WARN_ON_ONCE() (Mike Snitzer) [1658757] - [md] dm thin: use refcount_t for thin_c reference counting (Mike Snitzer) [1658757] - [netdrv] nfp: provide a better warning when ring allocation fails (Pablo Cascon) [1645456] - [netdrv] nfp: use kvcalloc() to allocate SW buffer descriptor arrays (Pablo Cascon) [1645456] - [scsi] scsi: lpfc: rport port swap discovery issue. (Dick Kennedy) [1656635] - [scsi] scsi: lpfc: Fix discovery failures during port failovers with lots of vports (Dick Kennedy) [1656635] - [scsi] scsi: lpfc: refactor mailbox structure context fields (Dick Kennedy) [1656635] - [scsi] scsi: lpfc: Correct loss of fc4 type on remote port address change (Dick Kennedy) [1656635] - [hid] HID: multitouch: Add pointstick support for Cirque Touchpad (Perry Yuan) [1656673] - [powerpc] KVM: PPC: Book3S HV: Fix handling for interrupted H_ENTER_NESTED (Suraj Jitindar Singh) [1649980] - [powerpc] powerpc: Select CONFIG_SWIOTLB (Gustavo Duarte) [1648466] - [fs] nfs: Fix a missed page unlock after pg_doio() (Benjamin Coddington) [1651287] - [arm64] arm64: fix possible spectre-v1 write in ptrace_hbp_set_event() (Mark Salter) [1637585] - [fs] fsnotify: Fix busy inodes during unmount (Lukas Czerner) [1650462] - [tools] perf vendor events arm64: Update ThunderX2 implementation defined pmu core events (Robert Richter) [1501638] - [tools] perf tools: Fix undefined symbol scnprintf in libperf-jvmti.so (Jiri Olsa) [1579484]- [block] blk-mq: export hctx->type in debugfs instead of sysfs (Ming Lei) [1660040] - [block] blk-mq: fix dispatch from sw queue (Ming Lei) [1660040] - [block] blk-mq: skip zero-queue maps in blk_mq_map_swqueue (Ming Lei) [1660040] - [nvme] nvme-pci: don't share queue maps (Ming Lei) [1660040] - [block] blk-mq: only dispatch to non-defauly queue maps if they have queues (Ming Lei) [1660040] - [x86] KVM: LAPIC: Fix pv ipis use-before-initialization (Paul Lai) [1657702] - [fs] autofs: fix directory and symlink access (Ian Kent) [1611967] - [infiniband] IB/iser: Fix possible NULL deref at iser_inv_desc() (Don Dutile) [1657574] - [infiniband] RDMA/core: Fix unwinding flow in case of error to register device (Don Dutile) [1657574] - [infiniband] IB/rxe: fix for duplicate request processing and ack psns (Don Dutile) [1657574] - [infiniband] IB/ipoib: Clear IPCB before icmp_send (Don Dutile) [1657574] - [infiniband] RDMA/core: Do not expose unsupported counters (Don Dutile) [1657574] - [infiniband] IB/ucm: Fix Spectre v1 vulnerability (Don Dutile) [1657574] - [infiniband] RDMA/ucma: Fix Spectre v1 vulnerability (Don Dutile) [1657574] - [infiniband] RDMA/uverbs: Don't overwrite NULL pointer with ZERO_SIZE_PTR (Don Dutile) [1657574] - [infiniband] RDMA/cma: Do not ignore net namespace for unbound cm_id (Don Dutile) [1657574] - [net] xprtrdma: Reset credit grant properly after a disconnect (Don Dutile) [1657574] - [input] Input: hyper-v - fix wakeup from suspend-to-idle (Vitaly Kuznetsov) [1588888] - [kernel] kernel: hung_task.c: disable on suspend (Vitaly Kuznetsov) [1588888] - [kernel] redhat: add a comment with warning about RH_KABI_EXCLUDE usage (Jiri Benc) [1656933] - [rpmspec] Sign the aarch64 kernel (Jeremy Linton) [1659158]- [netdrv] nfp: flower: add geneve option match offload (Pablo Cascon) [1655604] - [netdrv] nfp: flower: add geneve option push action offload (Pablo Cascon) [1655604] - [netdrv] nfp: flower: offload tos and tunnel flags for ipv4 udp tunnels (Pablo Cascon) [1655604] - [netdrv] nfp: flower: set ip tunnel ttl from encap action (Pablo Cascon) [1655604] - [netdrv] nfp: flower: extract ipv4 udp tunnel ttl from route (Pablo Cascon) [1655604] - [net] sctp: hold transport before accessing its asoc in sctp_transport_get_next (Marcelo Leitner) [1656271] - [net] sctp: fix the data size calculation in sctp_data_size (Marcelo Leitner) [1656271] - [net] sctp: fix race on sctp_id2asoc (Marcelo Leitner) [1656271] - [net] rtnetlink: ndo_dflt_fdb_dump() only work for ARPHRD_ETHER devices (Hangbin Liu) [1657120] - [netdrv] mlx5e: fix csum adjustments caused by RXFCS (Hangbin Liu) [1657120] - [net] drop skb on failure in ip_check_defrag() (Hangbin Liu) [1657120] - [net] rtnl_configure_link: fix dev flags changes arg to __dev_notify_flags (Hangbin Liu) [1657120] - [net] socket: fix a missing-check bug (Hangbin Liu) [1657120] - [net] rtnetlink: Disallow FDB configuration for non-Ethernet device (Hangbin Liu) [1657120] - [net] rtnetlink: Fail dump if target netnsid is invalid (Hangbin Liu) [1657120] - [net] rtnetlink: fix rtnl_fdb_dump() for ndmsg header (Hangbin Liu) [1657120] - [net] rtnl: limit IFLA_NUM_TX_QUEUES and IFLA_NUM_RX_QUEUES to 4096 (Hangbin Liu) [1657120] - [net] socket: fix struct ifreq size in compat ioctl (Hangbin Liu) [1657120] - [net] fix pskb_trim_rcsum_slow() with odd trim offset (Hangbin Liu) [1657120] - [net] gso_segment: Reset skb->mac_len after modifying network header (Hangbin Liu) [1657120] - [net] Use __kernel_clockid_t in uapi net_stamp.h (Davide Caratti) [1638022] - [net] tun: Consistently configure generic netdev params via rtnetlink (Matteo Croce) [1657910] - [net] tun: napi flags belong to tfile (Matteo Croce) [1657910] - [net] tun: initialize napi_mutex unconditionally (Matteo Croce) [1657910] - [net] tun: remove unused parameters (Matteo Croce) [1657910] - [net] team: Forbid enslaving team device to itself (Matteo Croce) [1658725] - [net] sched: Remove TCA_OPTIONS from policy (Davide Caratti) [1658516] - [net] sched: cls_api: add missing validation of netlink attributes (Davide Caratti) [1658516] - [net] sched: gred: pass the right attribute to gred_change_table_def() (Davide Caratti) [1658516] - [net] sched: cls_u32: fix hnode refcounting (Davide Caratti) [1658516] - [net] sched: Add policy validation for tc attributes (Davide Caratti) [1658516] - [net] bpf: use __GFP_COMP while allocating page (Andrea Claudi) [1658231] - [net] xsk: do not call synchronize_net() under RCU read lock (Andrea Claudi) [1658231] - [net] bpf: fix partial copy of map_ptr when dst is scalar (Andrea Claudi) [1658231] - [net] bpf: Fix bpf_msg_pull_data() (Andrea Claudi) [1658231] - [net] bpf: fix shift upon scatterlist ring wrap-around in bpf_msg_pull_data (Andrea Claudi) [1658231] - [net] bpf: fix sg shift repair start offset in bpf_msg_pull_data (Andrea Claudi) [1658231] - [net] bpf: fix msg->data/data_end after sg shift repair in bpf_msg_pull_data (Andrea Claudi) [1658231] - [net] bpf: fix several offset tests in bpf_msg_pull_data (Andrea Claudi) [1658231] - [net] vlan: add support for tunnel offload (Andrea Claudi) [1656804] - [net] 8021q: move vlan offload registrations into vlan_core (Hangbin Liu) [1657658] - [net] ipv6/ndisc: Preserve IPv6 control buffer if protocol error handlers are called (Stefano Brivio) [1658010] - [net] ipv6: Allow onlink routes to have a device mismatch if it is the default route (Stefano Brivio) [1658010] - [net] ipv6: Fix index counter for unicast addresses in in6_dump_addrs (Stefano Brivio) [1658010] - [net] ipv6: mcast: fix a use-after-free in inet6_mc_check (Stefano Brivio) [1658010] - [net] ipv6: rate-limit probes for neighbourless routes (Stefano Brivio) [1658010] - [net] ipv6: stop leaking percpu memory in fib6 info (Stefano Brivio) [1658010] - [net] ipv6: Remove extra call to ip6_convert_metrics for multipath case (Stefano Brivio) [1658010] - [net] ipv6: Display all addresses in output of /proc/net/if_inet6 (Stefano Brivio) [1658010] - [net] ipv6: do not copy dst flags on rt init (Stefano Brivio) [1658010] - [net] ipv6: Only update MTU metric if it set (Stefano Brivio) [1658010] - [net] ipv6: don't get lwtstate twice in ip6_rt_copy_init() (Stefano Brivio) [1658010] - [net] ipv6: Put lwtstate when destroying fib6_info (Stefano Brivio) [1658010] - [net] ip6_tunnel: Fix encapsulation layout (Stefano Brivio) [1658008] - [net] vxlan: fill ttl inherit info (Stefano Brivio) [1658008] - [net] ip_tunnel: be careful when accessing the inner header (Stefano Brivio) [1658008] - [net] vti6: remove !skb->ignore_df check from vti6_xmit() (Stefano Brivio) [1658008] - [net] ip6_vti: fix a null pointer deference when destroy vti6 tunnel (Stefano Brivio) [1658008] - [net] ip6_vti: fix creating fallback tunnel device for vti6 (Stefano Brivio) [1658008] - [net] ip_vti: fix a null pointer deferrence when create vti fallback tunnel (Stefano Brivio) [1658008] - [net] l2tp: use sk_dst_check() to avoid race on sk->sk_dst_cache (Stefano Brivio) [1658008] - [net] macsec: let the administrator set UP state even if lowerdev is down (Sabrina Dubroca) [1645540] - [net] macsec: update operstate when lower device changes (Sabrina Dubroca) [1645540] - [net] tcp: do not restart timewait timer on rst reception (Paolo Abeni) [1657988] - [net] tcp: really ignore MSG_ZEROCOPY if no SO_ZEROCOPY (Paolo Abeni) [1657988] - [net] tcp, ulp: add alias for all ulp modules (Paolo Abeni) [1657988] - [net] tcp, ulp: fix leftover icsk_ulp_ops preventing sock from reattach (Paolo Abeni) [1657988] - [net] ipv4: tcp: send zero IPID for RST and ACK sent in SYN-RECV and TIME-WAIT state (Paolo Abeni) [1657988] - [net] neighbour: Avoid writing before skb->head in neigh_hh_output() (Stefano Brivio) [1643336] - [net] ipv6: Check available headroom in ip6_xmit() even without options (Stefano Brivio) [1643336] - [net] ipv6: fix possible use-after-free in ip6_xmit() (Stefano Brivio) [1643336] - [net] openvswitch: Fix push/pop ethernet validation (Hangbin Liu) [1657226] - [net] cgroup, netclassid: add a preemption point to write_classid (Hangbin Liu) [1657226] - [net] ethtool: fix a privilege escalation bug (Hangbin Liu) [1657226] - [net] llc: set SOCK_RCU_FREE in llc_sap_add_socket() (Hangbin Liu) [1657226] - [net] dcb: For wild-card lookups, use priority -1, not 0 (Hangbin Liu) [1657226] - [net] packet: fix packet drop as of virtio gso (Hangbin Liu) [1657226] - [net] netlabel: check for IPV4MASK in addrinfo_get (Hangbin Liu) [1657226] - [net] netfilter: seqadj: re-load tcp header pointer after possible head reallocation (Florian Westphal) [1654259] - [net] netfilter: nf_tables: avoid BUG_ON usage (Florian Westphal) [1654259] - [net] netfilter: nf_tables: deactivate expressions in rule replecement routine (Florian Westphal) [1654259] - [net] netfilter: nat: fix double register in masquerade modules (Florian Westphal) [1654259] - [net] netfilter: add missing error handling code for register functions (Florian Westphal) [1654259] - [net] netfilter: nf_tables: fix use-after-free when deleting compat expressions (Florian Westphal) [1654259] - [net] netfilter: xt_RATEEST: remove netns exit routine (Florian Westphal) [1654259] - [net] netfilter: nf_tables: don't use position attribute on rule replacement (Florian Westphal) [1654259] - [net] revert "netfilter: nft_numgen: add map lookups for numgen random operations" (Florian Westphal) [1654259] - [net] netfilter: xt_IDLETIMER: add sysfs filename checking routine (Florian Westphal) [1654259] - [net] netfilter: conntrack: fix calculation of next bucket number in early_drop (Florian Westphal) [1654259] - [net] netfilter: conntrack: get rid of double sizeof (Florian Westphal) [1654259] - [net] netfilter: nft_set_rbtree: add missing rb_erase() in GC routine (Florian Westphal) [1654259] - [net] netfilter: nfnetlink_queue: Solve the NFQUEUE/conntrack clash for NF_REPEAT (Florian Westphal) [1654259] - [net] netfilter: nf_tables: release chain in flushing set (Florian Westphal) [1654259] - [net] netfilter: xt_checksum: ignore gso skbs (Florian Westphal) [1654259] - [net] netfilter: xt_cluster: add dependency on conntrack module (Florian Westphal) [1654259] - [net] netfilter: fix memory leaks on netlink_dump_start error (Florian Westphal) [1654259] - [net] netfilter: x_tables: do not fail xt_alloc_table_info too easilly (Florian Westphal) [1654259] - [net] ipvs: fix race between ip_vs_conn_new() and ip_vs_del_dest() (Florian Westphal) [1654259] - [net] netfilter: ip6t_rpfilter: set F_IFACE for linklocal addresses (Florian Westphal) [1654259] - [net] xfrm: policy: use hlist rcu variants on insert (Sabrina Dubroca) [1657272] - [net] xfrm: validate template mode (Sabrina Dubroca) [1657272] - [net] xfrm: Fix NULL pointer dereference when skb_dst_force clears the dst_entry. (Sabrina Dubroca) [1657272] - [net] xfrm: reset transport header back to network header after all input transforms ahave been applied (Sabrina Dubroca) [1657272] - [net] xfrm: reset crypto_done when iterating over multiple input xfrms (Sabrina Dubroca) [1657272] - [net] xfrm: Validate address prefix lengths in the xfrm selector. (Sabrina Dubroca) [1657272] - [net] tls: fix currently broken MSG_PEEK behavior (Sabrina Dubroca) [1657225] - [net] tls: zero the crypto information from tls_context before freeing (Sabrina Dubroca) [1657225] - [net] tls: clear key material from kernel memory when do_tls_setsockopt_conf fails (Sabrina Dubroca) [1657225] - [net] tls: don't copy the key out of tls12_crypto_info_aes_gcm_128 (Sabrina Dubroca) [1657225] - [net] tls: Set count of SG entries if sk_alloc_sg returns -ENOSPC (Sabrina Dubroca) [1657225] - [net] tls: possible hang when do_tcp_sendpages hits sndbuf is full case (Sabrina Dubroca) [1657225] - [net] tls: Fix improper revert in zerocopy_from_iter (Sabrina Dubroca) [1657225] - [net] tls: Fix zerocopy_from_iter iov handling (Sabrina Dubroca) [1657225] - [net] netfilter: conntrack: reset tcp maxwin on re-register (Florian Westphal) [1647310] - [net] configs: Enable CONFIG_IP_SET_HASH_IPMAC as a module (Stefano Brivio) [1655301] - [net] udp: fix handling of CHECKSUM_COMPLETE packets (Paolo Abeni) [1655656] - [net] udp: Unbreak modules that rely on external __skb_recv_udp() availability (Paolo Abeni) [1655656] - [net] udp6: fix encap return code for resubmitting (Paolo Abeni) [1655656] - [net] team: no need to do team_notify_peers or team_mcast_rejoin when disabling port (Hangbin Liu) [1653197] - [net] sctp: not increase stream's incnt before sending addstrm_in request (Xin Long) [1651428] - [net] sctp: not allow to set asoc prsctp_enable by sockopt (Xin Long) [1647272] - [net] revert "sctp: remove sctp_transport_pmtu_check" (Xin Long) [1643330] - [net] fix XPS static_key accounting (Ivan Vecera) [1651781] - [net] restore call to netdev_queue_numa_node_write when resetting XPS (Ivan Vecera) [1651781] - [net] allow fallback function to pass netdev (Ivan Vecera) [1651781] - [net] allow ndo_select_queue to pass netdev (Ivan Vecera) [1651781] - [net] Add generic ndo_select_queue functions (Ivan Vecera) [1651781] - [net] Add support for subordinate traffic classes to netdev_pick_tx (Ivan Vecera) [1651781] - [net] ixgbe: Add code to populate and use macvlan TC to Tx queue map (Ivan Vecera) [1651781] - [net] Add support for subordinate device traffic classes (Ivan Vecera) [1651781] - [net] net-sysfs: Drop support for XPS and traffic_class on single queue device (Ivan Vecera) [1651781] - [net] Provide stub for __netif_set_xps_queue if there is no CONFIG_XPS (Ivan Vecera) [1651781] - [net] allow to call netif_reset_xps_queues() under cpus_read_lock (Ivan Vecera) [1651781] - [net] documentation: Add explanation for XPS using Rx-queue(s) map (Ivan Vecera) [1651781] - [net] net-sysfs: Add interface for Rx queue(s) map per Tx queue (Ivan Vecera) [1651781] - [net] Enable Tx queue selection based on Rx queues (Ivan Vecera) [1651781] - [net] Record receive queue number for a connection (Ivan Vecera) [1651781] - [net] sock: Change tx_queue_mapping in sock_common to unsigned short (Ivan Vecera) [1651781] - [net] Use static_key for XPS maps (Ivan Vecera) [1651781] - [net] Refactor XPS for CPUs and Rx queues (Ivan Vecera) [1651781] - [net] devlink: Add helper function for safely copy string param (Ivan Vecera) [1647914] - [net] devlink: Fix param cmode driverinit for string type (Ivan Vecera) [1647914] - [net] devlink: Fix param set handling for string type (Ivan Vecera) [1647914] - [net] devlink: Add Documentation/networking/devlink-params-bnxt.txt (Ivan Vecera) [1647914] - [net] devlink: Add Documentation/networking/devlink-params.txt (Ivan Vecera) [1647914] - [net] devlink: Add generic parameter msix_vec_per_pf_min (Ivan Vecera) [1647914] - [net] devlink: Add generic parameter msix_vec_per_pf_max (Ivan Vecera) [1647914] - [net] devlink: Add generic parameter ignore_ari (Ivan Vecera) [1647914] - [net] devlink: double free in devlink_resource_fill() (Ivan Vecera) [1647914] - [net] devlink: Add extack for eswitch operations (Ivan Vecera) [1647914] - [net] devlink: Add generic parameters region_snapshot (Ivan Vecera) [1647914] - [net] devlink: Add support for region snapshot read command (Ivan Vecera) [1647914] - [net] devlink: Add support for region snapshot delete command (Ivan Vecera) [1647914] - [net] devlink: Extend the support querying for region snapshot IDs (Ivan Vecera) [1647914] - [net] devlink: Add support for region get command (Ivan Vecera) [1647914] - [net] devlink: Add support for creating region snapshots (Ivan Vecera) [1647914] - [net] devlink: Add callback to query for snapshot id before snapshot create (Ivan Vecera) [1647914] - [net] devlink: Add support for creating and destroying regions (Ivan Vecera) [1647914] - [net] devlink: fix incorrect return statement (Ivan Vecera) [1647914] - [net] devlink: Add enable_sriov boolean generic parameter (Ivan Vecera) [1647914] - [net] devlink: Add generic parameters internal_err_reset and max_macs (Ivan Vecera) [1647914] - [net] devlink: Add devlink notifications support for params (Ivan Vecera) [1647914] - [net] devlink: Add support for get/set driverinit value (Ivan Vecera) [1647914] - [net] devlink: Add param set command (Ivan Vecera) [1647914] - [net] devlink: Add param get command (Ivan Vecera) [1647914] - [net] devlink: Add devlink_param register and unregister (Ivan Vecera) [1647914] - [net] ipvs: call ip_vs_dst_notifier earlier than ipv6_dev_notf (Xin Long) [1645064] - [net] ipv6: fix a dst leak when removing its exception (Xin Long) [1645064] - [net] netfilter: ipset: list:set: Decrease refcount synchronously on deletion and replace (Stefano Brivio) [1649089] - [net] bridge: remove ipv6 zero address check in mcast queries (Hangbin Liu) [1639666] - [net] bridge: do not add port to router list when receives query with source 0.0.0.0 (Hangbin Liu) [1639666] - [net] netfilter: ipv6: fix oops when defragmenting locally generated fragments (Florian Westphal) [1642341] - [net] xfrm6: call kfree_skb when skb is toobig (Sabrina Dubroca) [1628851] - [net] sched: act_police: fix memory leak in case of invalid control action (Ivan Vecera) [1638022] - [net] sched: act_police: add missing spinlock initialization (Ivan Vecera) [1638022] - [net] netfilter: xt_socket: check sk before checking for netns. (Ivan Vecera) [1638022] - [net] sched: act_police: fix race condition on state variables (Ivan Vecera) [1638022] - [net] sched: cls_flower: validate nested enc_opts_policy to avoid warning (Ivan Vecera) [1638022] - [net] sched: act_pedit: fix memory leak when IDR allocation fails (Ivan Vecera) [1638022] - [net] configs: disable CAKE, ETF & SKBPRIO qdisc in config (Ivan Vecera) [1638022] - [net] tc-tests: test denial of 'goto chain' for exceed traffic in police.json (Ivan Vecera) [1638022] - [net] tc-tests: test denial of 'goto chain' on 'random' traffic in gact.json (Ivan Vecera) [1638022] - [net] sched: act_police: disallow 'goto chain' on fallback control action (Ivan Vecera) [1638022] - [net] sched: act_gact: disallow 'goto chain' on fallback control action (Ivan Vecera) [1638022] - [net] net_sched: fix a crash in tc_new_tfilter() (Ivan Vecera) [1638022] - [net] core: make function ___gnet_stats_copy_basic() static (Ivan Vecera) [1638022] - [net] net_sched: convert idrinfo->lock from spinlock to a mutex (Ivan Vecera) [1638022] - [net] loopback: clear skb->tstamp before netif_rx() (Ivan Vecera) [1638022] - [net] skbuff: preserve sock reference when scrubbing the skb. (Ivan Vecera) [1638022] - [net] netfilter: check if the socket netns is correct. (Ivan Vecera) [1638022] - [net] sched: make function qdisc_free_cb() static (Ivan Vecera) [1638022] - [net] sched: use reference counting for tcf blocks on rules update (Ivan Vecera) [1638022] - [net] sched: implement tcf_block_refcnt_{get|put}() (Ivan Vecera) [1638022] - [net] sched: protect block idr with spinlock (Ivan Vecera) [1638022] - [net] sched: implement functions to put and flush all chains (Ivan Vecera) [1638022] - [net] sched: change tcf block reference counter type to refcount_t (Ivan Vecera) [1638022] - [net] sched: use Qdisc rcu API instead of relying on rtnl lock (Ivan Vecera) [1638022] - [net] sched: add helper function to take reference to Qdisc (Ivan Vecera) [1638022] - [net] sched: extend Qdisc with rcu (Ivan Vecera) [1638022] - [net] sched: rename qdisc_destroy() to qdisc_put() (Ivan Vecera) [1638022] - [net] core: netlink: add helper refcount dec and lock function (Ivan Vecera) [1638022] - [net] sched: act_ipt: check for underflow in __tcf_ipt_init() (Ivan Vecera) [1638022] - [net] sched: Add hardware specific counters to TC actions (Ivan Vecera) [1638022] - [net] core: Add new basic hardware counter (Ivan Vecera) [1638022] - [net] net_sched: change tcf_del_walker() to take idrinfo->lock (Ivan Vecera) [1638022] - [net] sched: Use FIELD_SIZEOF directly instead of reimplementing its function (Ivan Vecera) [1638022] - [net] sched: act_sample: fix NULL dereference in the data path (Ivan Vecera) [1638022] - [net] sched: act_police: don't use spinlock in the data path (Ivan Vecera) [1638022] - [net] sched: act_police: use per-cpu counters (Ivan Vecera) [1638022] - [net] net_sched: notify filter deletion when deleting a chain (Ivan Vecera) [1638022] - [net] htb: use anonymous union for simplicity (Ivan Vecera) [1638022] - [net] net_sched: remove redundant qdisc lock classes (Ivan Vecera) [1638022] - [net] sched: cls_flower: dump offload count value (Ivan Vecera) [1638022] - [net] net_sched: properly cancel netlink dump on failure (Ivan Vecera) [1638022] - [net] sched: fix memory leak in act_tunnel_key_init() (Ivan Vecera) [1638022] - [net] sched: action_ife: take reference to meta module (Ivan Vecera) [1638022] - [net] act_ife: fix a potential use-after-free (Ivan Vecera) [1638022] - [net] sched: act_nat: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_skbedit: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: null actions array pointer before releasing action (Ivan Vecera) [1638022] - [net] sched: fix type of htb statistics (Ivan Vecera) [1638022] - [net] net_sched: add missing tcf_lock for act_connmark (Ivan Vecera) [1638022] - [net] revert "net: sched: act: add extack for lookup callback" (Ivan Vecera) [1638022] - [net] tc-testing: add test-cases for numeric and invalid control action (Ivan Vecera) [1638022] - [net] net_sched: reject unknown tcfa_action values (Ivan Vecera) [1638022] - [net] sched: act_pedit: fix dump of extended layered op (Ivan Vecera) [1638022] - [net] sched: return -ENOENT when trying to remove filter from non-existent chain (Ivan Vecera) [1638022] - [net] sched: fix extack error message when chain is failed to be created (Ivan Vecera) [1638022] - [net] sched: Fix memory exposure from short TCA_U32_SEL (Ivan Vecera) [1638022] - [net] net_sched: fix unused variable warning in stmmac (Ivan Vecera) [1638022] - [net] sch_cake: Fix TC filter flow override and expand it to hosts as well (Ivan Vecera) [1638022] - [net] sch_cake: Remove unused including (Ivan Vecera) [1638022] - [net] act_ife: fix a potential deadlock (Ivan Vecera) [1638022] - [net] act_ife: move tcfa_lock down to where necessary (Ivan Vecera) [1638022] - [net] revert "net: sched: act_ife: disable bh when taking ife_mod_lock" (Ivan Vecera) [1638022] - [net] net_sched: remove unused tcfa_capab (Ivan Vecera) [1638022] - [net] net_sched: remove list_head from tc_action (Ivan Vecera) [1638022] - [net] net_sched: remove unused tcf_idr_check() (Ivan Vecera) [1638022] - [net] net_sched: remove unused parameter for tcf_action_delete() (Ivan Vecera) [1638022] - [net] net_sched: remove unnecessary ops->delete() (Ivan Vecera) [1638022] - [net] net_sched: improve and refactor tcf_action_put_many() (Ivan Vecera) [1638022] - [net] sched: always disable bh when taking tcf_lock (Ivan Vecera) [1638022] - [net] sched: act_ife: always release ife action on init error (Ivan Vecera) [1638022] - [net] cls_matchall: fix tcf_unbind_filter missing (Ivan Vecera) [1638022] - [net] sched: act_ife: disable bh when taking ife_mod_lock (Ivan Vecera) [1638022] - [net] sched: act_mirred method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_vlan method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_skbmod method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_skbedit method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_simple method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_police method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_pedit method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_nat method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_ipt method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_gact method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_sum method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_bpf method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_connmark method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_police: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] core: protect rate estimator statistics pointer with lock (Ivan Vecera) [1638022] - [net] sched: act_mirred: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: extend action ops with put_dev callback (Ivan Vecera) [1638022] - [net] sched: act_vlan: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_tunnel_key: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_skbmod: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_simple: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_sample: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_pedit: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_ipt: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_ife: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_gact: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_csum: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_bpf: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] tc: Update README and add config (Ivan Vecera) [1638022] - [net] sched: fix block->refcnt decrement (Ivan Vecera) [1638022] - [net] tc-tests: initial version of nat action unit tests (Ivan Vecera) [1638022] - [net] sched: allow flower to match tunnel options (Ivan Vecera) [1638022] - [net] flow_dissector: allow dissection of tunnel options from metadata (Ivan Vecera) [1638022] - [net] tc-testing: remove duplicate spaces in skbedit match patterns (Ivan Vecera) [1638022] - [net] tc-testing: remove duplicate spaces in connmark match patterns (Ivan Vecera) [1638022] - [net] tc-testing: flush gact actions on test teardown (Ivan Vecera) [1638022] - [net] tc-testing: fix ip address in u32 test (Ivan Vecera) [1638022] - [net] sched: cls_flower: Fix an error code in fl_tmplt_create() (Ivan Vecera) [1638022] - [net] sched: fix flush on non-existing chain (Ivan Vecera) [1638022] - [net] sched: make tcf_chain_{get, put}() static (Ivan Vecera) [1638022] - [net] sched: fix notifications for action-held chains (Ivan Vecera) [1638022] - [net] sched: change name of zombie chain to "held_by_acts_only" (Ivan Vecera) [1638022] - [net] act_mirred: use TC_ACT_REINSERT when possible (Ivan Vecera) [1638022] - [net] tc: introduce TC_ACT_REINSERT. (Ivan Vecera) [1638022] - [net] tc/act: remove unneeded RCU lock in action callback (Ivan Vecera) [1638022] - [net] sched: user-space can't set unknown tcfa_action values (Ivan Vecera) [1638022] - [net] Add and use skb_mark_not_on_list(). (Ivan Vecera) [1638022] - [net] sch_netem: Move private queue handler to generic location. (Ivan Vecera) [1638022] - [net] sch_htb: Remove local SKB queue handling code. (Ivan Vecera) [1638022] - [net] act_bpf: Use kmemdup instead of duplicating it in tcf_bpf_init_from_ops (Ivan Vecera) [1638022] - [net] cls_bpf: Use kmemdup instead of duplicating it in cls_bpf_prog_from_ops (Ivan Vecera) [1638022] - [net] act_pedit: remove unnecessary semicolon (Ivan Vecera) [1638022] - [net] sched: don't dump chains only held by actions (Ivan Vecera) [1638022] - [net] sch_cake: Make gso-splitting configurable from userspace (Ivan Vecera) [1638022] - [net] sched: unmark chain as explicitly created on delete (Ivan Vecera) [1638022] - [net] sched: cls_api: fix dead code in switch (Ivan Vecera) [1638022] - [net] sched: cls_flower: Use correct inline function for assignment of vlan tpid (Ivan Vecera) [1638022] - [net] sched: fix trailing whitespace (Ivan Vecera) [1638022] - [net] cbs: Add support for the graft function (Ivan Vecera) [1638022] - [net] sched: add skbprio scheduler (Ivan Vecera) [1638022] - [net] selftests: forwarding: add tests for TC chain templates (Ivan Vecera) [1638022] - [net] selftests: forwarding: add tests for TC chains creation adn destruction (Ivan Vecera) [1638022] - [net] selftests: forwarding: move shblock tc support check to a separate helper (Ivan Vecera) [1638022] - [net] sched: cls_flower: propagate chain teplate creation and destruction to drivers (Ivan Vecera) [1638022] - [net] sched: cls_flower: implement chain templates (Ivan Vecera) [1638022] - [net] sched: cls_flower: change fl_init_dissector to accept mask and dissector (Ivan Vecera) [1638022] - [net] sched: cls_flower: move key/mask dumping into a separate function (Ivan Vecera) [1638022] - [net] sched: introduce chain templates (Ivan Vecera) [1638022] - [net] sched: introduce chain object to uapi (Ivan Vecera) [1638022] - [net] sched: Avoid implicit chain 0 creation (Ivan Vecera) [1638022] - [net] sched: push ops lookup bits into tcf_proto_lookup_ops() (Ivan Vecera) [1638022] - [net] nfp: bring back support for offloading shared blocks (Ivan Vecera) [1638022] - [net] sched: use PTR_ERR_OR_ZERO macro in tcf_block_cb_register (Ivan Vecera) [1638022] - [net] tc-tests: initial version of fw filter unit tests (Ivan Vecera) [1638022] - [net] sch_cake: Fix tin order when set through skb->priority (Ivan Vecera) [1638022] - [net] sched: act_skbedit: don't use spinlock in the data path (Ivan Vecera) [1638022] - [net] sched: skbedit: use per-cpu counters (Ivan Vecera) [1638022] - [net] tc-testing: add geneve options in tunnel_key unit tests (Ivan Vecera) [1638022] - [net] sched: fix unprotected access to rcu cookie pointer (Ivan Vecera) [1638022] - [net] sched: act_ife: fix memory leak in ife init (Ivan Vecera) [1638022] - [net] sched: refactor flower walk to iterate over idr (Ivan Vecera) [1638022] - [net] sched: flower: Fix null pointer dereference when run tc vlan command (Ivan Vecera) [1638022] - [net] sched: Fix warnings from xchg() on RCU'd cookie pointer. (Ivan Vecera) [1638022] - [net] cls_flower: fix error values for commands not supported by drivers (Ivan Vecera) [1638022] - [net] nfp: handle cls_flower command default case (Ivan Vecera) [1638022] - [net] bnxt: simplify cls_flower command switch and handle default case (Ivan Vecera) [1638022] - [net] sch_cake: Conditionally split GSO segments (Ivan Vecera) [1638022] - [net] sch_cake: Add overhead compensation support to the rate shaper (Ivan Vecera) [1638022] - [net] sch_cake: Add DiffServ handling (Ivan Vecera) [1638022] - [net] sch_cake: Add NAT awareness to packet classifier (Ivan Vecera) [1638022] - [net] netfilter: Add nf_ct_get_tuple_skb global lookup function (Ivan Vecera) [1638022] - [net] sch_cake: Add optional ACK filter (Ivan Vecera) [1638022] - [net] sch_cake: Add ingress mode (Ivan Vecera) [1638022] - [net] sched: Add Common Applications Kept Enhanced (cake) qdisc (Ivan Vecera) [1638022] - [net] Use __u32 in uapi net_stamp.h (Ivan Vecera) [1638022] - [net] sched: flower: Add supprt for matching on QinQ vlan headers (Ivan Vecera) [1638022] - [net] sched: flower: Dump the ethertype encapsulated in vlan (Ivan Vecera) [1638022] - [net] flow_dissector: Add support for QinQ dissection (Ivan Vecera) [1638022] - [net] sched: flower: Add support for matching on vlan ethertype (Ivan Vecera) [1638022] - [net] flow_dissector: Save vlan ethertype from headers (Ivan Vecera) [1638022] - [net] sched: change action API to use array of pointers to actions (Ivan Vecera) [1638022] - [net] sched: atomically check-allocate action (Ivan Vecera) [1638022] - [net] sched: use reference counting action init (Ivan Vecera) [1638022] - [net] sched: don't release reference on action overwrite (Ivan Vecera) [1638022] - [net] sched: implement reference counted action release (Ivan Vecera) [1638022] - [net] sched: add 'delete' function to action ops (Ivan Vecera) [1638022] - [net] sched: implement action API that deletes action by index (Ivan Vecera) [1638022] - [net] sched: always take reference to action (Ivan Vecera) [1638022] - [net] sched: implement unlocked action init API (Ivan Vecera) [1638022] - [net] sched: change type of reference and bind counters (Ivan Vecera) [1638022] - [net] sched: use rcu for action cookie update (Ivan Vecera) [1638022] - [net] sched: Make etf report drops on error_queue (Ivan Vecera) [1638022] - [net] sched: Add HW offloading capability to ETF (Ivan Vecera) [1638022] - [net] sched: Introduce the ETF Qdisc (Ivan Vecera) [1638022] - [net] sched: Allow creating a Qdisc watchdog with other clocks (Ivan Vecera) [1638022] - [net] packet: Hook into time based transmission. (Ivan Vecera) [1638022] - [net] ipv6: Hook into time based transmission (Ivan Vecera) [1638022] - [net] ipv4: Hook into time based transmission (Ivan Vecera) [1638022] - [net] Add a new socket option for a future transmit time. (Ivan Vecera) [1638022] - [net] Clear skb->tstamp only on the forwarding path (Ivan Vecera) [1638022] - [net] sched: act_pedit: fix possible memory leak in tcf_pedit_init() (Ivan Vecera) [1638022] - [net] net sched actions: add extack messages in pedit action (Ivan Vecera) [1638022] - [net] net:sched: add action inheritdsfield to skbedit (Ivan Vecera) [1638022] - [net] tc-testing: initial version of tunnel_key unit tests (Ivan Vecera) [1638022] - [net] net sched actions: avoid bitwise operation on signed value in pedit (Ivan Vecera) [1638022] - [net] net sched actions: fix misleading text strings in pedit action (Ivan Vecera) [1638022] - [net] net sched actions: use sizeof operator for buffer length (Ivan Vecera) [1638022] - [net] net sched actions: fix sparse warning (Ivan Vecera) [1638022] - [net] net sched actions: fix coding style in pedit headers (Ivan Vecera) [1638022] - [net] net sched actions: fix coding style in pedit action (Ivan Vecera) [1638022] - [net] netem: slotting with non-uniform distribution (Ivan Vecera) [1638022] - [net] check tunnel option type in tunnel flags (Ivan Vecera) [1638022] - [net] sched: act_tunnel_key: add extended ack support (Ivan Vecera) [1638022] - [net] tc-tests: add an extreme-case csum action test (Ivan Vecera) [1638022] - [net] net_sched: remove unused htb drop_list (Ivan Vecera) [1638022]- [rpmspec] always run make with HOSTCFLAGS/HOSTLDFLAGS set (Jiri Olsa) [1624124] - [rpmspec] Pass global build flags to tools build (Jiri Olsa) [1624124] - [rpmspec] Pass global build flags to bpftool build (Jiri Olsa) [1624124] - [kernel] kbuild: Use HOST*FLAGS options from the command line (Jiri Olsa) [1624124] - [scripts] kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS (Jiri Olsa) [1624124] - [tools] kbuild: Rename HOSTLDFLAGS to KBUILD_HOSTLDFLAGS (Jiri Olsa) [1624124] - [scripts] kbuild: Rename HOSTCXXFLAGS to KBUILD_HOSTCXXFLAGS (Jiri Olsa) [1624124] - [tools] kbuild: Rename HOSTCFLAGS to KBUILD_HOSTCFLAGS (Jiri Olsa) [1624124] - [tools] tools cpupower: Override CFLAGS assignments (Jiri Olsa) [1624124] - [tools] tools cpupower debug: Allow to use outside build flags (Jiri Olsa) [1624124] - [tools] perf tools: Pass build flags to traceevent build (Jiri Olsa) [1624124] - [tools] tools lib traceevent: Use LDFLAGS in the build commands (Jiri Olsa) [1624124] - [tools] perf tools: Link libperf-jvmti.so with LDFLAGS variable (Jiri Olsa) [1624124] - [tools] bpftool: Allow add linker flags via EXTRA_LDFLAGS variable (Jiri Olsa) [1624124] - [tools] bpftool: Allow to add compiler flags via EXTRA_CFLAGS variable (Jiri Olsa) [1624124] - [block] blkcg: handle dying request_queue when associating a blkg (Ming Lei) [1655485] - [block] block: deactivate blk_stat timer in wbt_disable_default() (Ming Lei) [1655485] - [lib] sbitmap: flush deferred clears for resize and shallow gets (Ming Lei) [1655485] - [md] dm: fix request-based dm's use of dm_wait_for_completion (Ming Lei) [1655485] - [nvme] nvme: fix irq vs io_queue calculations (Ming Lei) [1655485] - [md] dm: fix inflight IO check (Ming Lei) [1655485] - [md] dm: remove the pending IO accounting (Ming Lei) [1655485] - [block] block: return just one value from part_in_flight (Ming Lei) [1655485] - [block] block: switch to per-cpu in-flight counters (Ming Lei) [1655485] - [block] block: delete part_round_stats and switch to less precise counting (Ming Lei) [1655485] - [block] block: stop passing 'cpu' to all percpu stats methods (Ming Lei) [1655485] - [md] dm rq: leverage blk_mq_queue_busy() to check for outstanding IO (Ming Lei) [1655485] - [md] dm: dont rewrite dm_disk(md)->part0.in_flight (Ming Lei) [1655485] - [lib] sbitmap: silence bogus lockdep IRQ warning (Ming Lei) [1655485] - [scsi] scsi: Fix a harmless double shift bug (Ming Lei) [1655485] - [block] blk-mq: re-build queue map in case of kdump kernel (Ming Lei) [1655485] - [block] blkcg: put back rcu lock in blkcg_bio_issue_check() (Ming Lei) [1655485] - [block] block: convert io-latency to use rq_qos_wait (Ming Lei) [1655485] - [block] block: convert wbt_wait() to use rq_qos_wait() (Ming Lei) [1655485] - [block] block: add rq_qos_wait to rq_qos (Ming Lei) [1655485] - [block] blkcg: rename blkg_try_get() to blkg_tryget() (Ming Lei) [1655485] - [block] blkcg: change blkg reference counting to use percpu_ref (Ming Lei) [1655485] - [block] blkcg: remove bio_disassociate_task() (Ming Lei) [1655485] - [block] blkcg: remove additional reference to the css (Ming Lei) [1655485] - [block] blkcg: remove bio->bi_css and instead use bio->bi_blkg (Ming Lei) [1655485] - [block] blkcg: associate writeback bios with a blkg (Ming Lei) [1655485] - [block] blkcg: associate a blkg for pages being evicted by swap (Ming Lei) [1655485] - [block] blkcg: consolidate bio_issue_init() to be a part of core (Ming Lei) [1655485] - [block] blkcg: associate blkg when associating a device (Ming Lei) [1655485] - [block] dm: set the static flush bio device on demand (Ming Lei) [1655485] - [block] blkcg: introduce common blkg association logic (Ming Lei) [1655485] - [block] blkcg: convert blkg_lookup_create() to find closest blkg (Ming Lei) [1655485] - [block] blkcg: update blkg_lookup_create() to do locking (Ming Lei) [1655485] - [block] blkcg: fix ref count issue with bio_blkcg() using task_css (Ming Lei) [1655485] - [block] blk-mq: remove QUEUE_FLAG_POLL from default MQ flags (Ming Lei) [1655485] - [block] block: enable polling by default if a poll map is initalized (Ming Lei) [1655485] - [block] block: only allow polling if a poll queue_map exists (Ming Lei) [1655485] - [block] block: remove ->poll_fn (Ming Lei) [1655485] - [nvme] nvme-mpath: remove I/O polling support (Ming Lei) [1655485] - [nvme] nvme-rdma: remove I/O polling support (Ming Lei) [1655485] - [nvme] nvme-pci: remove the CQ lock for interrupt driven queues (Ming Lei) [1655485] - [nvme] nvme-pci: don't poll from irq context when deleting queues (Ming Lei) [1655485] - [nvme] nvme-pci: refactor nvme_disable_io_queues (Ming Lei) [1655485] - [nvme] nvme-pci: consolidate code for polling non-dedicated queues (Ming Lei) [1655485] - [nvme] nvme-pci: only allow polling with separate poll queues (Ming Lei) [1655485] - [nvme] nvme-pci: cleanup SQ allocation a bit (Ming Lei) [1655485] - [nvme] nvme-pci: use atomic bitops to mark a queue enabled (Ming Lei) [1655485] - [block] block: move queues types to the block layer (Ming Lei) [1655485] - [fs] aio: clear IOCB_HIPRI (Ming Lei) [1655485] - [lib] sbitmap: fix sbitmap_for_each_set() (Ming Lei) [1655485] - [block] blk-mq: don't call ktime_get_ns() if we don't need it (Ming Lei) [1655485] - [block] block: add cmd_flags to print_req_error (Ming Lei) [1655485] - [lib] sbitmap: optimize wakeup check (Ming Lei) [1655485] - [lib] sbitmap: ammortize cost of clearing bits (Ming Lei) [1655485] - [block] block: avoid extra bio reference for async O_DIRECT (Ming Lei) [1655485] - [lib] sbitmap: don't loop for find_next_zero_bit() for !round_robin (Ming Lei) [1655485] - [block] blk-mq: use plug for devices that implement ->commits_rqs() (Ming Lei) [1655485] - [block] blk-mq: use bd->last == true for list inserts (Ming Lei) [1655485] - [block] ataflop: implement mq_ops->commit_rqs() hook (Ming Lei) [1655485] - [block] virtio_blk: implement mq_ops->commit_rqs() hook (Ming Lei) [1655485] - [nvme] nvme: implement mq_ops->commit_rqs() hook (Ming Lei) [1655485] - [block] blk-mq: add mq_ops->commit_rqs() (Ming Lei) [1655485] - [block] block: improve logic around when to sort a plug list (Ming Lei) [1655485] - [block] blk-mq: Add a NULL check in blk_mq_free_map_and_requests() (Ming Lei) [1655485] - [block] ataflop: fix error handling in atari_floppy_init() (Ming Lei) [1655485] - [block] block: add io timeout to sysfs (Ming Lei) [1655485] - [block] block: use rcu_work instead of call_rcu to avoid sleep in softirq (Ming Lei) [1655485] - [block] blk-mq: fix failure to decrement plug count on single rq removal (Ming Lei) [1655485] - [block] sunvdc: Do not spin in an infinite loop when vio_ldc_send() returns EAGAIN (Ming Lei) [1655485] - [block] block: sum requests in the plug structure (Ming Lei) [1655485] - [block] blk-mq: Simplify request completion state (Ming Lei) [1655485] - [scsi] scsi: Do not rely on blk-mq for double completions (Ming Lei) [1655485] - [block] blk-mq: Return true if request was completed (Ming Lei) [1655485] - [block] blk-mq: never redirect polled IO completions (Ming Lei) [1655485] - [block] blk-mq: ensure mq_ops ->poll() is entered at least once (Ming Lei) [1655485] - [block] block: make blk_poll() take a parameter on whether to spin or not (Ming Lei) [1655485] - [nvme] nvme: remove opportunistic polling from bdev target (Ming Lei) [1655485] - [block] blk-mq: remove 'tag' parameter from mq_ops->poll() (Ming Lei) [1655485] - [block] blk-mq: when polling for IO, look for any completion (Ming Lei) [1655485] - [block] block: fix attempt to assign NULL io_context (Ming Lei) [1655485] - [block] block: Initialize BIO I/O priority early (Ming Lei) [1655485] - [block] block: prevent merging of requests with different priorities (Ming Lei) [1655485] - [fs] aio: Fix fallback I/O priority value (Ming Lei) [1655485] - [block] block: Introduce get_current_ioprio() (Ming Lei) [1655485] - [block] block: Remove bio->bi_ioc (Ming Lei) [1655485] - [fs] aio: Comment use of IOCB_FLAG_IOPRIO aio flag (Ming Lei) [1655485] - [nvme] nvme-fc: remove ->poll implementation (Ming Lei) [1655485] - [block] block: have ->poll_fn() return number of entries polled (Ming Lei) [1655485] - [block] block: avoid ordered task state change for polled IO (Ming Lei) [1655485] - [nvme] nvme: default to 0 poll queues (Ming Lei) [1655485] - [block] floppy: remove now unused 'flags' variable (Ming Lei) [1655485] - [mmc] mmc: stop abusing the request queue_lock pointer (Ming Lei) [1655485] - [block] ide: don't acquire queue_lock in ide_complete_pm_rq (Ming Lei) [1655485] - [block] ide: don't acquire queue lock in ide_pm_execute_rq (Ming Lei) [1655485] - [block] pktcdvd: remove queue_lock around blk_queue_max_hw_sectors (Ming Lei) [1655485] - [block] floppy: remove queue_lock around floppy_end_request (Ming Lei) [1655485] - [block] block: remove the rq_alloc_data request_queue field (Ming Lei) [1655485] - [block] block: don't plug for aio/O_DIRECT HIPRI IO (Ming Lei) [1655485] - [block] block: for async O_DIRECT, mark us as polling if asked to (Ming Lei) [1655485] - [block] block: add polled wakeup task helper (Ming Lei) [1655485] - [block] blk-rq-qos: inline check for q->rq_qos functions (Ming Lei) [1655485] - [block] block: add queue_is_mq() helper (Ming Lei) [1655485] - [nvme] nvme: provide optimized poll function for separate poll queues (Ming Lei) [1655485] - [block] ide: clear ide_req()->special for non-passthrough requests (Ming Lei) [1655485] - [nvme] nvme: fix handling of EINVAL on pci_alloc_irq_vectors_affinity() (Ming Lei) [1655485] - [block] block: add wbt_disable_default export for BFQ (Ming Lei) [1655485] - [block] block: remove the queue_lock indirection (Ming Lei) [1655485] - [block] block: remove the lock argument to blk_alloc_queue_node (Ming Lei) [1655485] - [mmc] mmc: stop abusing the request queue_lock pointer (Ming Lei) [1655485] - [mmc] mmc: simplify queue initialization (Ming Lei) [1655485] - [block] umem: don't override the queue_lock (Ming Lei) [1655485] - [block] drbd: don't override the queue_lock (Ming Lei) [1655485] - [block] blk-cgroup: move locking into blkg_destroy_all (Ming Lei) [1655485] - [block] blk-cgroup: consolidate error handling in blkcg_init_queue (Ming Lei) [1655485] - [block] block: remove a few unused exports (Ming Lei) [1655485] - [block] block: update a few comments for the legacy request removal (Ming Lei) [1655485] - [block] block: remove the unused lock argument to rq_qos_throttle (Ming Lei) [1655485] - [block] block: remove queue_lockdep_assert_held (Ming Lei) [1655485] - [block] block: use atomic bitops for ->queue_flags (Ming Lei) [1655485] - [block] block: don't hold the queue_lock over blk_abort_request (Ming Lei) [1655485] - [block] block: remove deadline __deadline manipulation helpers (Ming Lei) [1655485] - [block] block: remove QUEUE_FLAG_BYPASS and ->bypass (Ming Lei) [1655485] - [nvme] nvmet-rdma: fix response use after free (Ming Lei) [1655485] - [nvme] nvme: validate controller state before rescheduling keep alive (Ming Lei) [1655485] - [block] block, bfq: fix decrement of num_active_groups (Ming Lei) [1655485] - [ata] libata: whitelist all SAMSUNG MZ7KM* solid-state disks (Ming Lei) [1655485] - [nvme] nvme-rdma: fix double freeing of async event data (Ming Lei) [1655485] - [nvme] nvme-pci: fix surprise removal (Ming Lei) [1655485] - [nvme] nvme: Free ctrl device name on init failure (Ming Lei) [1655485] - [nvme] nvme-fc: resolve io failures during connect (Ming Lei) [1655485] - [nvme] nvme: make sure ns head inherits underlying device limits (Ming Lei) [1655485] - [nvme] nvmet: don't try to add ns to p2p map unless it actually uses it (Ming Lei) [1655485] - [nvme] nvme-pci: fix conflicting p2p resource adds (Ming Lei) [1655485] - [nvme] nvmet: Optionally use PCI P2P memory (Ming Lei) [1655485] - [nvme] nvmet: Introduce helper functions to allocate and free request SGLs (Ming Lei) [1655485] - [nvme] nvme-pci: Add support for P2P memory in requests (Ming Lei) [1655485] - [nvme] nvme-pci: Use PCI p2pmem subsystem to manage the CMB (Ming Lei) [1655485] - [infiniband] IB/core: Ensure we map P2P memory correctly in rdma_rw_ctx_[init|destroy]() (Ming Lei) [1655485] - [block] block: Add PCI P2P flag for request queue (Ming Lei) [1655485] - [documentation] PCI/P2PDMA: Add P2P DMA driver writer's documentation (Ming Lei) [1655485] - [documentation] docs-rst: Add a new directory for PCI documentation (Ming Lei) [1655485] - [pci] PCI/P2PDMA: Introduce configfs/sysfs enable attribute helpers (Ming Lei) [1655485] - [pci] PCI/P2PDMA: Add PCI p2pmem DMA mappings to adjust the bus offset (Ming Lei) [1655485] - [pci] PCI/P2PDMA: Add sysfs group to display p2pmem stats (Ming Lei) [1655485] - [pci] PCI/P2PDMA: Support peer-to-peer memory (Ming Lei) [1655485] - [nvme] nvmet-rdma: support max(16KB, PAGE_SIZE) inline data (Ming Lei) [1655485] - [nvme] nvme-rdma: support up to 4 segments of inline data (Ming Lei) [1655485] - [fs] aio: fix failure to put the file pointer (Ming Lei) [1655485] - [lib] scsi: Remove percpu_ida (Ming Lei) [1655485] - [scsi] scsi: target: Convert target drivers to use sbitmap (Ming Lei) [1655485] - [scsi] scsi: target: Abstract tag freeing (Ming Lei) [1655485] - [block] mmc: block: Fix unsupported parallel dispatch of requests (Ming Lei) [1655485] - [scsi] scsi: target: sbitmap: add seq_file forward declaration (Ming Lei) [1655485] - [mm] mm, memory_hotplug: do not clear numa_node association after hot_remove (Waiman Long) [1657422] - [fs] iomap: partially revert 4721a601099 (simulated directio short read on EFAULT) (Brian Foster) [1654713] - [fs] splice: don't read more than available pipe space (Brian Foster) [1654713] - [fs] vfs: allow some remap flags to be passed to vfs_clone_file_range (Brian Foster) [1654713] - [fs] xfs: fix inverted return from xfs_btree_sblock_verify_crc (Brian Foster) [1654713] - [fs] xfs: fix PAGE_MASK usage in xfs_free_file_space (Brian Foster) [1654713] - [fs] fs/xfs: fix f_ffree value for statfs when project quota is set (Brian Foster) [1654713] - [fs] iomap: readpages doesn't zero page tail beyond EOF (Brian Foster) [1654713] - [fs] vfs: vfs_dedupe_file_range() doesn't return EOPNOTSUPP (Brian Foster) [1654713] - [fs] iomap: dio data corruption and spurious errors when pipes fill (Brian Foster) [1654713] - [fs] iomap: sub-block dio needs to zeroout beyond EOF (Brian Foster) [1654713] - [fs] iomap: FUA is wrong for DIO O_DSYNC writes into unwritten extents (Brian Foster) [1654713] - [fs] xfs: delalloc -> unwritten COW fork allocation can go wrong (Brian Foster) [1654713] - [fs] xfs: flush removing page cache in xfs_reflink_remap_prep (Brian Foster) [1654713] - [fs] xfs: extent shifting doesn't fully invalidate page cache (Brian Foster) [1654713] - [fs] xfs: finobt AG reserves don't consider last AG can be a runt (Brian Foster) [1654713] - [fs] xfs: fix transient reference count error in xfs_buf_resubmit_failed_buffers (Brian Foster) [1654713] - [fs] xfs: uncached buffer tracing needs to print bno (Brian Foster) [1654713] - [fs] xfs: make xfs_file_remap_range() static (Brian Foster) [1654713] - [fs] xfs: fix shared extent data corruption due to missing cow reservation (Brian Foster) [1654713] - [fs] xfs: fix overflow in xfs_attr3_leaf_verify (Brian Foster) [1654713] - [fs] xfs: print buffer offsets when dumping corrupt buffers (Brian Foster) [1654713] - [fs] xfs: Fix error code in 'xfs_ioc_getbmap()' (Brian Foster) [1654713] - [fs] xfs: cancel COW blocks before swapext (Brian Foster) [1654713] - [fs] xfs: clear ail delwri queued bufs on unmount of shutdown fs (Brian Foster) [1654713] - [fs] xfs: use offsetof() in place of offset macros for __xfsstats (Brian Foster) [1654713] - [fs] xfs: Fix xqmstats offsets in /proc/fs/xfs/xqmstat (Brian Foster) [1654713] - [fs] xfs: fix use-after-free race in xfs_buf_rele (Brian Foster) [1654713] - [fs] xfs: Add attibute remove and helper functions (Brian Foster) [1654713] - [fs] xfs: Add attibute set and helper functions (Brian Foster) [1654713] - [fs] xfs: Add helper function xfs_attr_try_sf_addname (Brian Foster) [1654713] - [fs] xfs: Move fs/xfs/xfs_attr.h to fs/xfs/libxfs/xfs_attr.h (Brian Foster) [1654713] - [fs] xfs: issue log message on user force shutdown (Brian Foster) [1654713] - [fs] xfs: fix buffer state management in xrep_findroot_block (Brian Foster) [1654713] - [fs] xfs: always assign buffer verifiers when one is provided (Brian Foster) [1654713] - [fs] xfs: xrep_findroot_block should reject root blocks with siblings (Brian Foster) [1654713] - [fs] xfs: add a define for statfs magic to uapi (Brian Foster) [1654713] - [fs] xfs: print dangling delalloc extents (Brian Foster) [1654713] - [fs] xfs: fix fork selection in xfs_find_trim_cow_extent (Brian Foster) [1654713] - [fs] xfs: remove the unused trimmed argument from xfs_reflink_trim_around_shared (Brian Foster) [1654713] - [fs] xfs: remove the unused shared argument to xfs_reflink_reserve_cow (Brian Foster) [1654713] - [fs] xfs: handle zeroing in xfs_file_iomap_begin_delay (Brian Foster) [1654713] - [fs] xfs: remove suport for filesystems without unwritten extent flag (Brian Foster) [1654713] - [fs] xfs: remove XFS_IO_INVALID (Brian Foster) [1654713] - [fs] xfs: remove [cm]time update from reflink calls (Brian Foster) [1654713] - [fs] xfs: remove xfs_reflink_remap_range (Brian Foster) [1654713] - [fs] xfs: remove redundant remap partial EOF block checks (Brian Foster) [1654713] - [fs] xfs: support returning partial reflink results (Brian Foster) [1654713] - [fs] xfs: clean up xfs_reflink_remap_blocks call site (Brian Foster) [1654713] - [fs] xfs: fix pagecache truncation prior to reflink (Brian Foster) [1654713] - [fs] vfs: clean up generic_remap_file_range_prep return value (Brian Foster) [1654713] - [fs] vfs: hide file range comparison function (Brian Foster) [1654713] - [fs] vfs: enable remap callers that can handle short operations (Brian Foster) [1654713] - [fs] vfs: plumb remap flags through the vfs dedupe functions (Brian Foster) [1654713] - [fs] vfs: plumb remap flags through the vfs clone functions (Brian Foster) [1654713] - [fs] vfs: make remap_file_range functions take and return bytes completed (Brian Foster) [1654713] - [fs] vfs: remap helper should update destination inode metadata (Brian Foster) [1654713] - [fs] vfs: pass remap flags to generic_remap_checks (Brian Foster) [1654713] - [fs] vfs: pass remap flags to generic_remap_file_range_prep (Brian Foster) [1654713] - [fs] vfs: combine the clone and dedupe into a single remap_file_range (Brian Foster) [1654713] - [fs] vfs: rename clone_verify_area to remap_verify_area (Brian Foster) [1654713] - [fs] vfs: rename vfs_clone_file_prep to be more descriptive (Brian Foster) [1654713] - [fs] vfs: skip zero-length dedupe requests (Brian Foster) [1654713] - [fs] vfs: avoid problematic remapping requests into partial EOF block (Brian Foster) [1654713] - [fs] vfs: strengthen checking of file range inputs to generic_remap_checks (Brian Foster) [1654713] - [fs] vfs: exit early from zero length remap operations (Brian Foster) [1654713] - [fs] vfs: check file ranges before cloning files (Brian Foster) [1654713] - [fs] vfs: vfs_clone_file_prep_inodes should return EINVAL for a clone from beyond EOF (Brian Foster) [1654713] - [block] blk-mq: not embed .mq_kobj and ctx->kobj into queue instance (Ming Lei) [1653124] - [fs] fs: fix lost error code in dio_complete (Ming Lei) [1655364] - [iommu] iommu/iova: Optimise attempts to allocate iova from 32bit address range (Robert Richter) [1639202]- [drm] drm/nouveau/drm/nouveau: Check rc from drm_dp_mst_topology_mgr_resume() (Lyude Paul) [1658810] - [x86] Mark Intel Apollo Lake supported (David Arcari) [1653799] - [infiniband] IB/mlx5: Fix implicit ODP interrupted page fault (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Improve ODP debugging messages (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Use multi threaded workqueue for page fault handling (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Lock QP during page fault handling (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Enumerate page fault types (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Add interface to hold and release core resources (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Release resource on error flow (Alaa Hleihel) [1658085] - [netdrv] net/mlx4_core: Correctly set PFC param if global pause is turned off. (Alaa Hleihel) [1658085] - [netdrv] net/mlx4_en: Change min MTU size to ETH_MIN_MTU (Alaa Hleihel) [1658085] - [netdrv] mlx5: fix get_ip_proto() (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Fix page fault handling for MW (Alaa Hleihel) [1658085] - [infiniband] RDMA/mlx5: Initialize return variable in case pagefault was skipped (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Skip non-ODP MR when handling a page fault (Alaa Hleihel) [1658085] - [net] net/dim: Update DIM start sample after each DIM iteration (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Avoid load failure due to unknown link width (Alaa Hleihel) [1658085] - [infiniband] RDMA/mlx5: Fix fence type for IB_WR_LOCAL_INV WR (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Removed unnecessary warnings in FEC caps query (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Fix selftest for small MTUs (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: RX, verify received packet size in Linear Striding RQ (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Apply the correct check for supporting TC esw rules split (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Adjust to max number of channles when re-attaching (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Always use the match level enum when parsing TC rule match (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Claim TC hw offloads support only under a proper build config (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Don't match on vlan non-existence if ethertype is wildcarded (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: IPoIB, Reset QP after channels are closed (Alaa Hleihel) [1658085] - [netdrv] net/mlx4: Fix UBSAN warning of signed integer overflow (Alaa Hleihel) [1658085] - [netdrv] net/mlx4_core: Fix uninitialized variable compilation warning (Alaa Hleihel) [1658085] - [netdrv] net/mlx4_core: Zero out lkey field in SW2HW_MPT fw command (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Fix MR cache initialization (Alaa Hleihel) [1658085] - [infiniband] RDMA/mlx5: Remove extraneous error check (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Take only bit 24-26 of wqe.pftype_wq for page fault type (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Fix memory leak when setting fpga ipsec caps (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Unmap DMA addr from HCA before IOMMU (Alaa Hleihel) [1658085] - [infiniband] RDMA/mlx5: Remove superfluous version print (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Allow transition of DCI QP to reset (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Don't hold spin lock while checking device state (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Move mlx5e_priv_flags into en_ethtool.c (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Fix atomic_mode enum values (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Delete unneeded function argument (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: RX, Prefetch the xdp_frame data area (Alaa Hleihel) [1658085] - [drm] drm/i915: Synchronize hpd work in i915_hpd_storm_ctl_show() (Lyude Paul) [1658376] - [drm] drm/i915: Add short HPD IRQ storm detection for non-MST systems (Lyude Paul) [1658376] - [drm] drm/i915: Clarify flow for disabling IRQs on storms (Lyude Paul) [1658376] - [drm] drm/i915: Fix threshold check in intel_hpd_irq_storm_detect() (Lyude Paul) [1658376] - [drm] drm/i915: Fix NULL deref when re-enabling HPD IRQs on systems with MST (Lyude Paul) [1658376] - [drm] drm/i915: Fix possible race in intel_dp_add_mst_connector() (Lyude Paul) [1658376] - [x86] kvm: x86: bump KVM_(SOFT_)MAX_VCPUS to 384 (Radim Krcmar) [1635205] - [block] blk-mq: punt failed direct issue to dispatch list (Ming Lei) [1656653] - [block] blk-mq: fix corruption with direct issue (Ming Lei) [1656653] - [pci] PCI: Add support for Immediate Readiness (Myron Stowe) [1483409] - [x86] x86/PCI: Remove node-local allocation when initialising host controller (Myron Stowe) [1483409] - [arm64] arm64: PCI: Remove node-local allocations when initialising host controller (Myron Stowe) [1483409] - [cpufreq] cpufreq: intel_pstate: Add base_frequency attribute (Prarit Bhargava) [1648207] - [acpi] ACPI / CPPC: Add support for guaranteed performance (Prarit Bhargava) [1648207] - [block] block: fix single range discard merge (Ming Lei) [1654096] - [scsi] SCSI: fix queue cleanup race before queue initialization is done (Ming Lei) [1642404] - [netdrv] net: hinic: fix null pointer dereference on pointer hwdev (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic: fix a bug in rx data flow (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic:fix a bug in set mac address (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic:add rx checksum offload for HiNIC (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic:replace multiply and division operators (Xiaojun Tan) [1654207] - [netdrv] hinic: Fix l4_type parameter in hinic_task_set_tunnel_l4 (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic: add checksum offload and TSO support (Xiaojun Tan) [1654207] - [netdrv] cxgb4: Remove SGE_HOST_PAGE_SIZE dependency on page size (Arjun Vynipadath) [1651082]- [x86] kvm: x86: Report STIBP on GET_SUPPORTED_CPUID (Eduardo Habkost) [1644870] - [kernel] power: remove possible deadlock when unregistering power_supply (Benjamin Tissoires) [1657623] - [md] dm: call blk_queue_split() to impose device limits on bios (Mike Snitzer) [1657340] - [pinctrl] Revert "pinctrl: intel: Do pin translation when lock IRQ" (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: cannonlake: Fix HOSTSW_OWN register offset of H variant (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: intel: Do pin translation in other GPIO operations as well (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: cannonlake: Fix gpio base for GPP-E (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: intel: Don't shadow error code of gpiochip_lock_as_irq() (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: cannonlake: Fix community ordering for H variant (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: intel: Do pin translation when lock IRQ (Benjamin Tissoires) [1658075] - [firmware] efi: Prevent GICv3 WARN() by mapping the memreserve table before first use (Bhupesh Sharma) [1638640] - [firmware] efi: Permit calling efi_mem_reserve_persistent() from atomic context (Bhupesh Sharma) [1638640] - [firmware] efi/arm: Defer persistent reservations until after paging_init() (Bhupesh Sharma) [1638640] - [firmware] efi/arm: Revert deferred unmap of early memmap mapping (Bhupesh Sharma) [1638640] - [arm64] arm64: memblock: don't permit memblock resizing until linear mapping is up (Bhupesh Sharma) [1638640] - [arm64] arm64: Fix /proc/iomem for reserved but not memory regions (Bhupesh Sharma) [1638640] - [tty] tty: wipe buffer. (Christoph von Recklinghausen) [1655051] - [tty] tty: wipe buffer if not echoing data (Christoph von Recklinghausen) [1655051]- [powerpc] powerpc/perf: Remove sched_task function defined for thread-imc (Steve Best) [1657153] - [s390] Add reserved fields to mm_context_t (Philipp Rudo) [1656874] - [s390] Add reserved fields to thread_struct (Philipp Rudo) [1656874] - [documentation] kdump: correct crashkernel=auto threshold (Raghavendra Rao) [1656698] - [fs] NFSv4.x: fix lock recovery during delegation recall (Steve Dickson) [1656410] - [x86] x86/spec_ctrl: Synchronize RHEL8 percpu SPEC_CTRL MSR states with new STIBP logic (Waiman Long) [1655662] - [x86] x86/speculation: Provide IBPB always command line options (Waiman Long) [1655662] - [x86] x86/speculation: Add seccomp Spectre v2 user space protection mode (Waiman Long) [1655662] - [x86] x86/speculation: Enable prctl mode for spectre_v2_user (Waiman Long) [1655662] - [x86] x86/speculation: Add prctl() control for indirect branch speculation (Waiman Long) [1655662] - [x86] x86/speculation: Prepare arch_smt_update() for PRCTL mode (Waiman Long) [1655662] - [x86] x86/speculation: Prevent stale SPEC_CTRL msr content (Waiman Long) [1655662] - [x86] x86/speculation: Split out TIF update (Waiman Long) [1655662] - [x86] ptrace: Remove unused ptrace_may_access_sched() and MODE_IBRS (Waiman Long) [1655662] - [x86] x86/speculation: Prepare for conditional IBPB in switch_mm() (Waiman Long) [1655662] - [x86] x86/speculation: Avoid __switch_to_xtra() calls (Waiman Long) [1655662] - [x86] x86/process: Consolidate and simplify switch_to_xtra() code (Waiman Long) [1655662] - [x86] x86/speculation: Prepare for per task indirect branch speculation control (Waiman Long) [1655662] - [x86] x86/speculation: Add command line control for indirect branch speculation (Waiman Long) [1655662] - [x86] x86/speculation: Unify conditional spectre v2 print functions (Waiman Long) [1655662] - [x86] x86/speculataion: Mark command line parser data __initdata (Waiman Long) [1655662] - [x86] x86/speculation: Mark string arrays const correctly (Waiman Long) [1655662] - [x86] x86/speculation: Reorder the spec_v2 code (Waiman Long) [1655662] - [x86] x86/l1tf: Show actual SMT state (Waiman Long) [1655662] - [x86] x86/speculation: Rework SMT state change (Waiman Long) [1655662] - [x86] sched/smt: Expose sched_smt_present static key (Waiman Long) [1655662] - [x86] x86/Kconfig: Select SCHED_SMT if SMP enabled (Waiman Long) [1655662] - [x86] sched/smt: Make sched_smt_present track topology (Waiman Long) [1655662] - [x86] x86/speculation: Reorganize speculation control MSRs update (Waiman Long) [1655662] - [x86] x86/speculation: Rename SSBD update functions (Waiman Long) [1655662] - [x86] x86/speculation: Disable STIBP when enhanced IBRS is in use (Waiman Long) [1655662] - [x86] x86/speculation: Move STIPB/IBPB string conditionals out of cpu_show_common() (Waiman Long) [1655662] - [x86] x86/speculation: Remove unnecessary ret variable in cpu_show_common() (Waiman Long) [1655662] - [x86] x86/speculation: Clean up spectre_v2_parse_cmdline() (Waiman Long) [1655662] - [x86] x86/speculation: Update the TIF_SSBD comment (Waiman Long) [1655662] - [x86] x86/retpoline: Remove minimal retpoline support (Waiman Long) [1655662] - [x86] x86/retpoline: Make CONFIG_RETPOLINE depend on compiler support (Waiman Long) [1655662] - [x86] x86/spec_ctrl: Temporarily remove the IBRS code from process.c & bugs.c (Waiman Long) [1655662] - [nvme] nvme: flush namespace scanning work just before removing namespaces (Ewan Milne) [1656028] - [netdrv] i40e: Fix deletion of MAC filters (Stefan Assmann) [1646847] - [scsi] mpt3sas: Display message on Configurable secure HBA (Tomas Henzl) [1649314] - [scsi] scsi: mpt3sas: Add support for Aero controllers (Tomas Henzl) [1649314] - [scsi] scsi: mpt3sas: Update MPI headers to support Aero controllers (Tomas Henzl) [1649314] - [scsi] megaraid_sas: Add support for MegaRAID Aero controllers (Tomas Henzl) [1649384] - [netdrv] nfp: flower: enabled offloading of Team LAG (Pablo Cascon) [1649876] - [netdrv] net/mlx5: IPSec, Fix the SA context hash key (Alaa Hleihel) [1645857] - [hwmon] hwmon/k10temp: Add support for AMD family 17h, model 30h CPUs (Gary Hook) [1640681] - [x86] x86/amd_nb: Add PCI device IDs for family 17h, model 30h (Gary Hook) [1640681] - [x86] x86/amd_nb: Add support for newer PCI topologies (Gary Hook) [1640681] - [hwmon] hwmon/k10temp, x86/amd_nb: Consolidate shared device IDs (Gary Hook) [1640681] - [net] tipc: fix info leak from kernel tipc_event (Jon Maloy) [1643279] - [net] tipc: eliminate message disordering during binding table update (Jon Maloy) [1643279] - [net] tipc: fix unsafe rcu locking when accessing publication list (Jon Maloy) [1643279] - [net] tipc: queue socket protocol error messages into socket receive buffer (Jon Maloy) [1643279] - [net] tipc: ignore STATE_MSG on wrong link session (Jon Maloy) [1643279] - [net] tipc: fix failover problem (Jon Maloy) [1643279] - [net] tipc: eliminate possible recursive locking detected by LOCKDEP (Jon Maloy) [1643279] - [net] tipc: lock wakeup & inputq at tipc_link_reset() (Jon Maloy) [1643279] - [net] tipc: reset bearer if device carrier not ok (Jon Maloy) [1643279] - [net] tipc: fix flow control accounting for implicit connect (Jon Maloy) [1643279] - [net] tipc: check return value of __tipc_dump_start() (Jon Maloy) [1643279] - [net] tipc: call start and done ops directly in __tipc_nl_compat_dumpit() (Jon Maloy) [1643279] - [net] tipc: orphan sock in tipc_release() (Jon Maloy) [1643279] - [net] tipc: switch to rhashtable iterator (Jon Maloy) [1643279] - [net] tipc: fix a missing rhashtable_walk_exit() (Jon Maloy) [1643279] - [net] tipc: add missing dev_put() on error in tipc_enable_l2_media (Jon Maloy) [1643279] - [net] tipc: initialize broadcast link stale counter correctly (Jon Maloy) [1643279] - [net] tipc: set link tolerance correctly in broadcast link (Jon Maloy) [1643279] - [net] tipc: extend link reset criteria for stale packet retransmission (Jon Maloy) [1643279] - [crypto] crypto: ccp - Add support for new CCP/PSP device ID (Gary Hook) [1634201] - [crypto] crypto: ccp - Support register differences between PSP devices (Gary Hook) [1634201] - [crypto] crypto: ccp - Remove unused #defines (Gary Hook) [1634201] - [crypto] crypto: ccp - Add psp enabled message when initialization succeeds (Gary Hook) [1634201] - [crypto] crypto: ccp - Fix command completion detection race (Gary Hook) [1634201] - [crypto] crypto: ccp - Check for NULL PSP pointer at module unload (Gary Hook) [1634201] - [net] sctp: increase sk_wmem_alloc when head->truesize is increased (Xin Long) [1645419] - [net] sctp: count sk_wmem_alloc by skb truesize in sctp_packet_transmit (Xin Long) [1645419] - [net] ipv6: re-do dad when interface has IFF_NOARP flag change (Hangbin Liu) [1644594] - [net] netfilter: nf_tables: don't skip inactive chains during update (Florian Westphal) [1643746] - [net] inet: frags: better deal with smp races (Sabrina Dubroca) [1645397] - [net] geneve, vxlan: Don't set exceptions if skb->len < mtu (Xin Long) [1642842] - [net] geneve, vxlan: Don't check skb_dst() twice (Xin Long) [1642842] - [net] sctp: fix strchange_flags name for Stream Change Event (Xin Long) [1641852] - [net] sctp: update dst pmtu with the correct daddr (Xin Long) [1644478] - [net] sctp: not free the new asoc when sctp_wait_for_connect returns err (Xin Long) [1644155] - [net] l2tp: fix a sock refcnt leak in l2tp_tunnel_register (Xin Long) [1642749] - [net] sctp: check policy more carefully when getting pr status (Xin Long) [1637786] - [net] sctp: get pr_assoc and pr_stream all status with SCTP_PR_SCTP_ALL instead (Xin Long) [1637786] - [net] ipv4/igmp: fix v1/v2 switchback timeout based on rfc3376, 8.12 (Hangbin Liu) [1638598] - [net] netfilter: nft_compat: ebtables 'nat' table is normal chain type (Florian Westphal) [1645377] - [net] sched: exclude TC from kABI guarantee (Ivan Vecera) [1628454] - [net] netfilter: nft_set_rbtree: allow loose matching of closing element in interval (Phil Sutter) [1641993] - [net] netfilter: xt_nat: fix DNAT target for shifted portmap ranges (Paolo Abeni) [1634258] - [net] sched: Fix for duplicate class dump (Phil Sutter) [1631179] - [x86] KVM: X86: Fix scan ioapic use-before-initialization (Bandan Das) [1653835] {CVE-2018-19407}- [scsi] scsi: vmw_pscsi: Rearrange code to avoid multiple calls to free_irq during unload (Cathy Avery) [1590875] - [netdrv] net/ibmvnic: Fix RTNL deadlock during device reset (Steve Best) [1656076] - [s390] s390/qeth: fix length check in SNMP processing (Philipp Rudo) [1655612] - [s390] s390/ism: clear dmbe_mask bit before SMC IRQ handling (Philipp Rudo) [1655611] - [net] net/smc: use after free fix in smc_wr_tx_put_slot() (Philipp Rudo) [1655611] - [net] net/smc: atomic SMCD cursor handling (Philipp Rudo) [1655611] - [net] net/smc: add SMC-D shutdown signal (Philipp Rudo) [1655611] - [net] net/smc: use queue pair number when matching link group (Philipp Rudo) [1655611] - [net] net/smc: abort CLC connection in smc_release (Philipp Rudo) [1655611] - [net] net/smc: unregister rkeys of unused buffer (Philipp Rudo) [1655611] - [net] net/smc: add infrastructure to send delete rkey messages (Philipp Rudo) [1655611] - [net] net/smc: avoid a delay by waiting for nothing (Philipp Rudo) [1655611] - [net] net/smc: cleanup listen worker mutex unlocking (Philipp Rudo) [1655611] - [net] net/smc: short wait for late smc_clc_wait_msg (Philipp Rudo) [1655611] - [net] net/smc: no link delete for a never active link (Philipp Rudo) [1655611] - [net] net/smc: allow fallback after clc timeouts (Philipp Rudo) [1655611] - [net] net/smc: remove sock_error detour in clc-functions (Philipp Rudo) [1655611] - [net] net/smc: make smc_lgr_free() static (Philipp Rudo) [1655611] - [net] net/smc: cleanup tcp_listen_worker initialization (Philipp Rudo) [1655611] - [net] net/smc: fix smc_buf_unuse to use the lgr pointer (Philipp Rudo) [1655611] - [net] Revert "net: simplify sock_poll_wait" (Philipp Rudo) [1655611] - [powerpc] powerpc/pseries: Fix unitialized timer reset on migration (Steve Best) [1655053] - [powerpc] powerpc/pseries/mobility: Extend start/stop topology update scope (Steve Best) [1655053] - [x86] Mark Intel Cascade Lake supported (Steve Best) [1641425]- [x86] KVM: VMX: re-add ple_gap module parameter (Gary Hook) [1652953] - [netdrv] tg3: Add PHY reset for 5717/5719/5720 in change ring and flow control paths (Steve Best) [1655515] - [pci] PCI/ASPM: Do not initialize link state when aspm_disabled is set (Myron Stowe) [1655246] - [pci] PCI/ACPI: Allow _OSC presence to be optional for PCI (Myron Stowe) [1655246] - [pci] PCI/ACPI: Correct error message for ASPM disabling (Myron Stowe) [1655246] - [pci] PCI/ASPM: Fix link_state teardown on device removal (Myron Stowe) [1655246] - [netdrv] ice: Change req_speeds to be u16 (Jonathan Toppins) [1644403] - [netdrv] ice: Fix the bytecount sent to netdev_tx_sent_queue (Jonathan Toppins) [1644403] - [netdrv] ice: Fix tx_timeout in PF driver (Jonathan Toppins) [1644403] - [netdrv] ice: Fix napi delete calls for remove (Jonathan Toppins) [1644403] - [netdrv] ice: Fix typo in error message (Jonathan Toppins) [1644403] - [netdrv] ice: Fix flags for port VLAN (Jonathan Toppins) [1644403] - [netdrv] ice: Remove duplicate addition of VLANs in replay path (Jonathan Toppins) [1644403] - [netdrv] ice: Free VSI contexts during for unload (Jonathan Toppins) [1644403] - [netdrv] ice: Fix dead device link issue with flow control (Jonathan Toppins) [1644403] - [netdrv] ice: Check for reset in progress during remove (Jonathan Toppins) [1644403] - [netdrv] ice: Set carrier state and start/stop queues in rebuild (Jonathan Toppins) [1644403] - [netdrv] virtchnl: Added support to exchange additional speed values (Jonathan Toppins) [1644403] - [netdrv] ice: Poll for link status change (Jonathan Toppins) [1644403] - [netdrv] ice: Allocate VF interrupts and set queue map (Jonathan Toppins) [1644403] - [netdrv] ice: Introduce ice_dev_onetime_setup (Jonathan Toppins) [1644403] - [netdrv] ice: Use capability count returned by the firmware (Jonathan Toppins) [1644403] - [netdrv] ice: Update expected FW version (Jonathan Toppins) [1644403] - [netdrv] ice: Change device ID define names to align with branding string (Jonathan Toppins) [1644403] - [netdrv] ice: Make ice_msix_clean_rings static (Jonathan Toppins) [1644403] - [netdrv] ice: Update version string (Jonathan Toppins) [1644403] - [netdrv] ice: Use the right function to enable/disable VSI (Jonathan Toppins) [1644403] - [netdrv] ice: Add more flexibility on how we assign an ITR index (Jonathan Toppins) [1644403] - [netdrv] ice: Fix potential null pointer issues (Jonathan Toppins) [1644403] - [netdrv] ice: Add code to go from ICE_FWD_TO_VSI_LIST to ICE_FWD_TO_VSI (Jonathan Toppins) [1644403] - [netdrv] ice: Fix forward to queue group logic (Jonathan Toppins) [1644403] - [netdrv] ice: Extend malicious operations detection logic (Jonathan Toppins) [1644403] - [netdrv] ice: Notify VF of link status change (Jonathan Toppins) [1644403] - [netdrv] ice: Implement virtchnl commands for AVF support (Jonathan Toppins) [1644403] - [netdrv] ice: Add handlers for VF netdevice operations (Jonathan Toppins) [1644403] - [netdrv] ice: Add support for VF reset events (Jonathan Toppins) [1644403] - [netdrv] ice: Update VSI and queue management code to handle VF VSI (Jonathan Toppins) [1644403] - [netdrv] ice: Add handler to configure SR-IOV (Jonathan Toppins) [1644403] - [netdrv] ice: Add support to detect SR-IOV capability and mailbox queues (Jonathan Toppins) [1644403] - [netdrv] ice: Fix error on driver remove (Jonathan Toppins) [1644403] - [netdrv] ice: Add support for dynamic interrupt moderation (Jonathan Toppins) [1644403] - [netdrv] ice: Align ice_reset_req enum values to hardware reset values (Jonathan Toppins) [1644403] - [netdrv] ice: Implement ethtool hook for RSS switch (Jonathan Toppins) [1644403] - [netdrv] ice: Split irq_tracker into sw_irq_tracker and hw_irq_tracker (Jonathan Toppins) [1644403] - [netdrv] ice: Check for actual link state of port after reset (Jonathan Toppins) [1644403] - [netdrv] ice: Implement VSI replay framework (Jonathan Toppins) [1644403] - [netdrv] ice: Expand use of VSI handles part 2/2 (Jonathan Toppins) [1644403] - [netdrv] ice: Expand use of VSI handles part 1/2 (Jonathan Toppins) [1644403] - [netdrv] ice: Change pf state behavior to protect reset path (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 7/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 6/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 5/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 4/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 3/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 2/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 1/7 (Jonathan Toppins) [1644403] - [netdrv] ice: fix changing of ring descriptor size (ethtool -G) (Jonathan Toppins) [1644403] - [netdrv] ice: Update to capabilities admin queue command (Jonathan Toppins) [1644403] - [netdrv] ice: Query the Tx scheduler node before adding it (Jonathan Toppins) [1644403] - [netdrv] ice: Update comment for ice_fltr_mgmt_list_entry (Jonathan Toppins) [1644403] - [netdrv] ice: update fw version check logic (Jonathan Toppins) [1644403] - [netdrv] ice: update branding strings and supported device ids (Jonathan Toppins) [1644403] - [netdrv] ice: replace unnecessary memcpy with direct assignment (Jonathan Toppins) [1644403] - [netdrv] ice: use [sr]q.count when checking if queue is initialized (Jonathan Toppins) [1644403] - [netdrv] ice: remove ndo_poll_controller (Jonathan Toppins) [1644403] - [fs] fanotify: fix handling of events on child sub-directory (Miklos Szeredi) [1652432] - [fs] fsnotify: generalize handling of extra event flags (Miklos Szeredi) [1652432] - [netdrv] net: hns3: add common validation in hclge_dcb (Xiaojun Tan) [1640945] - [netdrv] net: hns3: fix for multiple unmapping DMA problem (Xiaojun Tan) [1640945] - [netdrv] net: hns3: rename hns_nic_dma_unmap (Xiaojun Tan) [1640945] - [netdrv] net: hns3: add handling for big TX fragment (Xiaojun Tan) [1640945] - [netdrv] net: hns3: move DMA map into hns3_fill_desc (Xiaojun Tan) [1640945] - [netdrv] net: hns3: remove hns3_fill_desc_tso (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Resume promisc mode and vlan filter status after loopback test (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Resume promisc mode and vlan filter status after reset (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Enable promisc mode when mac vlan table is full (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for rx vlan id handle to support Rev 0x21 hardware (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add egress/ingress vlan filter for revision 0x21 (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Optimize for unicast mac vlan table (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix loss of coal configuration while doing reset (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Modify hns3_get_max_available_channels (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Change return type of hclge_tm_schd_info_update() (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for netdev not up problem when setting mtu (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for packet buffer setting bug (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Set extra mac address of pause param for HW (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix speed/duplex information loss problem when executing ethtool ethx cmd of VF (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add get_media_type ops support for VF (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Remove print messages for error packet (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add nic state check before calling netif_tx_wake_queue (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add handle for default case (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Unify the prefix of vf functions (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix tqp array traversal condition for vf (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix ets validate issue (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix parameter type for q_id in hclge_tm_q_to_qs_map_cfg() (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix client initialize state issue when roce client initialize failed (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Clear client pointer when initialize client failed or unintialize finished (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix cmdq registers initialization issue for vf (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for setting speed for phy failed problem (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Check hdev state when getting link status (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Set STATE_DOWN bit of hdev state when stopping net (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Remove packet statistics of public (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Remove tx budget to clean more TX descriptors in a napi (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Refine hns3_get_link_ksettings() (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Remove redundant codes of query advertised flow control abilitiy (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Change the dst mac addr of loopback packet (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Only update mac configuation when necessary (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Preserve vlan 0 in hardware table (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix ping exited problem when doing lp selftest (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for loopback selftest failed problem (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix error of checking used vlan id (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for multicast failure (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for vf vlan delete failed problem (Xiaojun Tan) [1640945] - [netdrv] net: hns3: modify variable type in hns3_nic_reuse_page (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add vlan filter setting by ethtool command -K (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Set tx ring' tc info when netdev is up (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix desc num set to default when setting channel (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for information of phydev lost problem when down/up (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add support for serdes loopback selftest (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Refine the MSIX allocation for PF (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix MSIX allocation issue for VF (Xiaojun Tan) [1640945] - [netdrv] net: hns3: fix return value error while hclge_cmd_csq_clean failed (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Modify inconsistent bit mask macros (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for using wrong mask and shift in hclge_get_ring_chain_from_mbx (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Correct reset event status register (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Prevent to request reset frequently (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Prevent sending command during global or core reset (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add configure for mac minimal frame size (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for l4 checksum offload bug (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for waterline not setting correctly (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix tc setup when netdev is first up (Xiaojun Tan) [1640945] - [netdrv] net: hns3: modify hnae_ to hnae3_ (Xiaojun Tan) [1640945] - [netdrv] net: hns3: simplify hclge_cmd_csq_clean (Xiaojun Tan) [1640945] - [netdrv] net: hns3: remove some redundant assignments (Xiaojun Tan) [1640945] - [netdrv] net: hns3: remove back in struct hclge_hw (Xiaojun Tan) [1640945] - [netdrv] net: hns3: add unlikely for error check (Xiaojun Tan) [1640945] - [netdrv] net: hns3: add l4_type check for both ipv4 and ipv6 (Xiaojun Tan) [1640945] - [netdrv] net: hns3: add vector status check before free vector (Xiaojun Tan) [1640945] - [netdrv] net: hns3: rename the interface for init_client_instance and uninit_client_instance (Xiaojun Tan) [1640945] - [netdrv] net: hns3: remove hclge_get_vector_index from hclge_bind_ring_with_vector (Xiaojun Tan) [1640945] - [kernel] redhat: Enable -Werror for architectures (Laura Abbott) [1582754] - [drm] drm/atomic_helper: Remove dangling variable (Laura Abbott) [1582754] - [s390] s390/tools: fix gcc 8 stringop-truncation warnings (Laura Abbott) [1582754] - [tty] kgdboc: Fix restrict error (Laura Abbott) [1582754] - [misc] misc: kgdbts: Fix restrict error (Laura Abbott) [1582754] - [scsi] scsi: ibmvscsis: Fix a stringop-overflow warning (Laura Abbott) [1582754] - [s390] s390/extmem: fix gcc 8 stringop-overflow warning (Laura Abbott) [1582754] - [s390] s390/perf: fix gcc 8 array-bounds warning (Laura Abbott) [1582754] - [kernel] kdb: Use strscpy with destination buffer size (Laura Abbott) [1582754] - [fs] configfs: replace strncpy with memcpy (Laura Abbott) [1582754] - [fs] kernfs: Replace strncpy with memcpy (Laura Abbott) [1582754] - [kernel] disable stringop truncation warnings for now (Laura Abbott) [1582754] - [sound] ALSA: intel_hdmi: Use strlcpy() instead of strncpy() (Laura Abbott) [1582754] - [sound] ALSA: trident: Suppress gcc string warning (Laura Abbott) [1582754] - [lib] kobject: Replace strncpy with memcpy (Laura Abbott) [1582754] - [tty] TTY: isdn: Replace strncpy with memcpy (Laura Abbott) [1582754] - [target] scsi: target/iscsi: Make iscsit_ta_authentication() respect the output buffer size (Laura Abbott) [1582754] - [fs] fuse: don't need GETATTR after every READ (Miklos Szeredi) [1650538] - [fs] fuse: allow fine grained attr cache invaldation (Miklos Szeredi) [1650538]- [mm] mm: mremap: properly flush TLB before releasing the page (Rafael Aquini) [1645122] {CVE-2018-18281} - [x86] x86/spec_ctrl: Change default Skylake Spectre v2 mitigation to retpoline (Waiman Long) [1651806] - [fs] gfs2: write revokes should traverse sd_ail1_list in reverse (Andreas Grunbacher) [1652763] - [fs] gfs2: Fix marking bitmaps non-full (Andreas Grunbacher) [1652762] - [fs] GFS2: Flush the GFS2 delete workqueue before stopping the kernel threads (Andreas Grunbacher) [1652761] - [fs] gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd (Andreas Grunbacher) [1652759] - [fs] gfs2: Use fs_* functions instead of pr_* function where we can (Andreas Grunbacher) [1652757] - [fs] gfs2: slow the deluge of io error messages (Andreas Grunbacher) [1652757] - [fs] gfs2_meta: ->mount() can get NULL dev_name (Andreas Grunbacher) [1652754] - [powerpc] powerpc/vdso: Correct call frame information (Steve Best) [1651281] - [i2c] i2c: i801: Add support for Intel Ice Lake (David Arcari) [1637435] - [usb] xhci: Add quirk to workaround the errata seen on Cavium Thunder-X2 Soc (Robert Richter) [1649829] - [x86] x86: numa_emulation: fix uniform-split numa emulation (Rafael Aquini) [1620341] - [x86] x86: numa_emulation: introduce uniform split capability (Rafael Aquini) [1620341] - [kernel] perf/hw_breakpoint: Modify breakpoint even if the new attr has disabled set (Mark Salter) [1643174] - [x86] KVM: vmx: hyper-v: don't pass EPT configuration info to vmx_hv_remote_flush_tlb() (Paolo Bonzini) [1636610] - [x86] KVM: x86: support CONFIG_KVM_AMD=y with CONFIG_CRYPTO_DEV_CCP_DD=m (Paolo Bonzini) [1636610] - [x86] kvm: nVMX: fix entry with pending interrupt if APICv is enabled (Paolo Bonzini) [1636610] - [x86] KVM: VMX: hide flexpriority from guest when disabled at the module level (Paolo Bonzini) [1636610] - [x86] KVM: VMX: check for existence of secondary exec controls before accessing (Paolo Bonzini) [1636610] - [x86] KVM: x86: fix L1TF's MMIO GFN calculation (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: cut down decimal places in update interval dialog (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Fix emulation of VM_ENTRY_LOAD_BNDCFGS (Paolo Bonzini) [1636610] - [x86] KVM: x86: Do not use kvm_x86_ops->mpx_supported() directly (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Do not expose MPX VMX controls when guest MPX disabled (Paolo Bonzini) [1636610] - [x86] KVM: x86: never trap MSR_KERNEL_GS_BASE (Paolo Bonzini) [1636610] - [x86] KVM: LAPIC: Fix pv ipis out-of-bounds access (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Fix loss of pending IRQ/NMI before entering L2 (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: re-animate display of dead guests (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: indicate dead guests as such (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: handle guest removals more gracefully (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: don't reset stats when setting PID filter for debugfs (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: fix updates for dead guests (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: fix handling of invalid paths in debugfs provider (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: fix python3 issues (Paolo Bonzini) [1636610] - [x86] KVM: x86: Unexport x86_emulate_instruction() (Paolo Bonzini) [1636610] - [x86] KVM: x86: Rename emulate_instruction() to kvm_emulate_instruction() (Paolo Bonzini) [1636610] - [x86] KVM: x86: Do not re-{try, execute} after failed emulation in L2 (Paolo Bonzini) [1636610] - [x86] KVM: x86: Default to not allowing emulation retry in kvm_mmu_page_fault (Paolo Bonzini) [1636610] - [x86] KVM: x86: Merge EMULTYPE_RETRY and EMULTYPE_ALLOW_REEXECUTE (Paolo Bonzini) [1636610] - [x86] KVM: x86: Invert emulation re-execute behavior to make it opt-in (Paolo Bonzini) [1636610] - [x86] KVM: x86: SVM: Set EMULTYPE_NO_REEXECUTE for RSM emulation (Paolo Bonzini) [1636610] - [x86] KVM: VMX: Do not allow reexecute_instruction() when skipping MMIO instr (Paolo Bonzini) [1636610] - [x86] KVM: SVM: remove unused variable dst_vaddr_end (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: avoid redundant double assignment of nested_run_pending (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Fix bad cleanup on error of get/set nested state IOCTLs (Paolo Bonzini) [1636610] - [tools] kvm: selftests: Add platform_info_test (Paolo Bonzini) [1636610] - [x86] KVM: x86: Control guest reads of MSR_PLATFORM_INFO (Paolo Bonzini) [1636610] - [x86] KVM: x86: Turbo bits in MSR_PLATFORM_INFO (Paolo Bonzini) [1636610] - [x86] nVMX x86: Check VPID value on vmentry of L2 guests (Paolo Bonzini) [1636610] - [x86] nVMX x86: check posted-interrupt descriptor addresss on vmentry of L2 (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Wake blocked vCPU in guest-mode if pending interrupt in virtual APICv (Paolo Bonzini) [1636610] - [x86] KVM: VMX: check nested state and CR4.VMXE against SMM (Paolo Bonzini) [1636610] - [x86] kvm: x86: make kvm_{load|put}_guest_fpu() static (Paolo Bonzini) [1636610] - [x86] x86/hyper-v: rename ipi_arg_{ex, non_ex} structures (Paolo Bonzini) [1636610] - [x86] KVM: VMX: use preemption timer to force immediate VMExit (Paolo Bonzini) [1636610] - [x86] KVM: VMX: modify preemption timer bit only when arming timer (Paolo Bonzini) [1636610] - [x86] KVM: VMX: immediately mark preemption timer expired only for zero value (Paolo Bonzini) [1636610] - [x86] KVM: SVM: Switch to bitmap_zalloc() (Paolo Bonzini) [1636610] - [lib] bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free() (Paolo Bonzini) [1636610] - [x86] KVM/MMU: Fix comment in walk_shadow_page_lockless_end() (Paolo Bonzini) [1636610] - [tools] kvm: selftests: use -pthread instead of -lpthread (Paolo Bonzini) [1636610] - [tools] kvm: selftest: add dirty logging test (Paolo Bonzini) [1636610] - [tools] kvm: selftest: pass in extra memory when create vm (Paolo Bonzini) [1636610] - [tools] kvm: selftest: include the tools headers (Paolo Bonzini) [1636610] - [tools] kvm: selftest: unify the guest port macros (Paolo Bonzini) [1636610] - [x86] KVM: x86: don't reset root in kvm_mmu_setup() (Paolo Bonzini) [1636610] - [x86] kvm: mmu: Don't read PDPTEs when paging is not enabled (Paolo Bonzini) [1636610] - [x86] x86/kvm/lapic: always disable MMIO interface in x2APIC mode (Paolo Bonzini) [1636610] - [s390] KVM: s390: Make huge pages unavailable in ucontrol VMs (Paolo Bonzini) [1636610] - [s390] s390/mm: Check for valid vma before zapping in gmap_discard (Paolo Bonzini) [1636610] - [tools] selftests: add headers_install to lib.mk (Paolo Bonzini) [1636610] - [tools] selftests: kselftest: Remove outdated comment (Paolo Bonzini) [1636610] - [tools] selftests: android: move config up a level (Paolo Bonzini) [1636610] - [md] md: Avoid namespace collision with bitmap API (Paolo Bonzini) [1636610]- [cpufreq] cpufreq / CPPC: Add cpuinfo_cur_freq support for CPPC (Prarit Bhargava) [1654361] - [netdrv] nfp: flower: add ipv6 set flow label and hop limit offload (Pablo Cascon) [1651639] - [netdrv] nfp: flower: add ipv4 set ttl and tos offload (Pablo Cascon) [1651639] - [netdrv] ibmvnic: Update driver queues after change in ring size support (Steve Best) [1651947] - [netdrv] ibmvnic: Fix RX queue buffer cleanup (Steve Best) [1651947] - [netdrv] net/ibmnvic: Fix deadlock problem in reset (Steve Best) [1651947] - [netdrv] ibmvnic: fix accelerated VLAN handling (Steve Best) [1651947] - [netdrv] ibmvnic: Add ethtool private flag for driver-defined queue limits (Steve Best) [1651947] - [netdrv] ibmvnic: Introduce driver limits for ring sizes (Steve Best) [1651947] - [netdrv] ibmvnic: Increase maximum queue size limit (Steve Best) [1651947] - [netdrv] ibmvnic: remove ndo_poll_controller (Steve Best) [1651947] - [powerpc] powerpc/powernv/npu: Remove atsd_threshold debugfs setting (Steve Best) [1653661] - [powerpc] powerpc/powernv/npu: Use size-based ATSD invalidates (Steve Best) [1653661] - [powerpc] powerpc/powernv/npu: Reduce eieio usage when issuing ATSD invalidates (Steve Best) [1653661] - [powerpc] powerpc/powernv/npu: Add a debugfs setting to change ATSD threshold (Steve Best) [1653661] - [net] libceph: fall back to sendmsg for slab pages (Ilya Dryomov) [1653395] - [s390] s390/qeth: utilize virtual MAC for Layer2 OSD devices (Philipp Rudo) [1653246] - [fs] vfs: fix FIGETBSZ ioctl on an overlayfs file (Miklos Szeredi) [1651362] - [fs] ovl: fix decode of dir file handle with multi lower layers (Miklos Szeredi) [1651362] - [fs] ovl: fix missing override creds in link of a metacopy upper (Miklos Szeredi) [1651362] - [fs] ovl: automatically enable redirect_dir on metacopy=on (Miklos Szeredi) [1651362] - [fs] ovl: check whiteout in ovl_create_over_whiteout() (Miklos Szeredi) [1651362] - [fs] ovl: fix recursive oi->lock in ovl_link() (Miklos Szeredi) [1651362] - [fs] ovl: fix error handling in ovl_verify_set_fh() (Miklos Szeredi) [1651362] - [mm] mm, memory_hotplug: check zone_movable in has_unmovable_pages (Baoquan He) [1643839] - [netdrv] hv_netvsc: fix vf serial matching with pci slot info (Vitaly Kuznetsov) [1637519] - [netdrv] hv_netvsc: remove ndo_poll_controller (Vitaly Kuznetsov) [1637519] - [netdrv] hv_netvsc: pair VF based on serial number (Vitaly Kuznetsov) [1637519] - [netdrv] hv_netvsc: fix schedule in RCU context (Vitaly Kuznetsov) [1637519] - [pci] PCI: hv: Fix return value check in hv_pci_assign_slots() (Vitaly Kuznetsov) [1637519] - [pci] PCI: hv: support reporting serial number as slot information (Vitaly Kuznetsov) [1637519] - [pci] PCI: hv: Replace GFP_ATOMIC with GFP_KERNEL in new_pcichild_device() (Vitaly Kuznetsov) [1637519] - [char] ipmi: Fix timer race with module unload (Robert Richter) [1649812] - [arm64] arm64: hugetlb: Avoid unnecessary clearing in huge_ptep_set_access_flags (Christoph von Recklinghausen) [1635192] - [arm64] arm64: hugetlb: Fix handling of young ptes (Christoph von Recklinghausen) [1635192] - [mm] mm: Preserve _PAGE_DEVMAP across mprotect() calls (Jeff Moyer) [1647647]- [crypto] crypto: vmx - Fix sleep-in-atomic bugs (Steve Best) [1653662] - [netdrv] net: ena: update driver version from 2.0.1 to 2.0.2 (John Linville) [1634044] - [netdrv] net: ena: fix crash during ena_remove() (John Linville) [1634044] - [netdrv] net: ena: fix crash during failed resume from hibernation (John Linville) [1634044] - [netdrv] net: ena: enable CONFIG_ENA_ETHERNET for aarch64 (John Linville) [1634044] - [netdrv] net: ena: enable Low Latency Queues (John Linville) [1634044] - [netdrv] net: ena: Fix Kconfig dependency on X86 (John Linville) [1634044] - [netdrv] net: ena: fix indentations in ena_defs for better readability (John Linville) [1634044] - [netdrv] net: ena: update driver version to 2.0.1 (John Linville) [1634044] - [netdrv] net: ena: remove redundant parameter in ena_com_admin_init() (John Linville) [1634044] - [netdrv] net: ena: change rx copybreak default to reduce kernel memory pressure (John Linville) [1634044] - [netdrv] net: ena: limit refill Rx threshold to 256 to avoid latency issues (John Linville) [1634044] - [netdrv] net: ena: explicit casting and initialization, and clearer error handling (John Linville) [1634044] - [netdrv] net: ena: use CSUM_CHECKED device indication to report skb's checksum status (John Linville) [1634044] - [netdrv] net: ena: add functions for handling Low Latency Queues in ena_netdev (John Linville) [1634044] - [netdrv] net: ena: add functions for handling Low Latency Queues in ena_com (John Linville) [1634044] - [netdrv] net: ena: introduce Low Latency Queues data structures according to ENA spec (John Linville) [1634044] - [netdrv] net: ena: complete host info to match latest ENA spec (John Linville) [1634044] - [netdrv] net: ena: minor performance improvement (John Linville) [1634044] - [netdrv] net: ena: fix auto casting to boolean (John Linville) [1634044] - [netdrv] net: ena: fix NULL dereference due to untimely napi initialization (John Linville) [1634044] - [netdrv] net: ena: fix rare bug when failed restart/resume is followed by driver removal (John Linville) [1634044] - [netdrv] net: ena: fix warning in rmmod caused by double iounmap (John Linville) [1634044] - [netdrv] net: ena: remove ndo_poll_controller (John Linville) [1634044] - [netdrv] net: ena: fix incorrect usage of memory barriers (John Linville) [1634044] - [netdrv] net: ena: fix missing calls to READ_ONCE (John Linville) [1634044] - [netdrv] net: ena: fix missing lock during device destruction (John Linville) [1634044] - [netdrv] net: ena: fix potential double ena_destroy_device() (John Linville) [1634044] - [netdrv] net: ena: fix device destruction to gracefully free resources (John Linville) [1634044] - [netdrv] net: ena: fix driver when PAGE_SIZE == 64kB (John Linville) [1634044] - [netdrv] net: ena: fix surprise unplug NULL dereference kernel crash (John Linville) [1634044] - [s390] s390/zcrypt: reinit ap queue state machine during device probe (Philipp Rudo) [1653668] - [s390] s390/kdump: Make elfcorehdr size calculation ABI compliant (Philipp Rudo) [1653245] - [s390] s390/kdump: Fix elfcorehdr size calculation (Philipp Rudo) [1653245] - [block] block: fix 32 bit overflow in __blkdev_issue_discard() (Ming Lei) [1638826] - [ata] libata: blacklist SAMSUNG MZ7TD256HAFV-000L9 SSD (Ming Lei) [1638826] - [block] block: copy ioprio in __bio_clone_fast() and bounce (Ming Lei) [1638826] - [trace] kyber: fix wrong strlcpy() size in trace_kyber_latency() (Ming Lei) [1638826] - [block] floppy: fix race condition in __floppy_read_block_0() (Ming Lei) [1638826] - [block] block: make blk_try_req_merge() static (Ming Lei) [1638826] - [block] block: remove dead queue members (Ming Lei) [1638826] - [block] block: clean up dead code that is now redundant (Ming Lei) [1638826] - [nvme] nvme: fix boot hang with only being able to get one IRQ vector (Ming Lei) [1638826] - [block] ide: don't clear special on ide_queue_rq() entry (Ming Lei) [1638826] - [block] null_blk: remove unused nullb device (Ming Lei) [1638826] - [block] ide: don't use req->special (Ming Lei) [1638826] - [block] pd: replace ->special use with private data in the request (Ming Lei) [1638826] - [block] aoe: replace ->special use with private data in the request (Ming Lei) [1638826] - [block] skd_main: don't use req->special (Ming Lei) [1638826] - [block] nullb: remove leftover legacy request code (Ming Lei) [1638826] - [scsi] fnic: fix fnic_scsi_host_{start,end}_tag (Ming Lei) [1638826] - [block] block: remove set but not used variable 'et' (Ming Lei) [1638826] - [block] block: remove the BLKPREP_* values. (Ming Lei) [1638826] - [scsi] scsi: return blk_status_t from device handler ->prep_fn (Ming Lei) [1638826] - [scsi] scsi: return blk_status_t from scsi_init_io and ->init_command (Ming Lei) [1638826] - [scsi] scsi: clean up error handling in scsi_init_io (Ming Lei) [1638826] - [scsi] scsi: push blk_status_t up into scsi_setup_{fs,scsi}_cmnd (Ming Lei) [1638826] - [scsi] scsi: simplify scsi_prep_state_check (Ming Lei) [1638826] - [block] ide: cleanup ->prep_rq calling convention (Ming Lei) [1638826] - [block] block: remove req->timeout_list (Ming Lei) [1638826] - [block] blk-mq: provide a helper to check if a queue is busy (Ming Lei) [1638826] - [block] blk-mq-tag: change busy_iter_fn to return whether to continue or not (Ming Lei) [1638826] - [block] ms_block: remove unused pointer 'set' (Ming Lei) [1638826] - [block] sunvdc: fix compiler warning (Ming Lei) [1638826] - [nvme] nvme: add separate poll queue map (Ming Lei) [1638826] - [block] block: add REQ_HIPRI and inherit it from IOCB_HIPRI (Ming Lei) [1638826] - [nvme] nvme: utilize two queue maps, one for reads and one for writes (Ming Lei) [1638826] - [block] blk-mq: initial support for multiple queue maps (Ming Lei) [1638826] - [block] blk-mq: improve plug list sorting (Ming Lei) [1638826] - [block] blk-mq: cleanup and improve list insertion (Ming Lei) [1638826] - [block] blk-mq: cache request hardware queue mapping (Ming Lei) [1638826] - [block] blk-mq: separate number of hardware queues from nr_cpu_ids (Ming Lei) [1638826] - [block] blk-mq: support multiple hctx maps (Ming Lei) [1638826] - [block] blk-mq: add 'type' attribute to the sysfs hctx directory (Ming Lei) [1638826] - [block] blk-mq: allow software queue to map to multiple hardware queues (Ming Lei) [1638826] - [block] blk-mq: pass in request/bio flags to queue mapping (Ming Lei) [1638826] - [block] blk-mq: provide dummy blk_mq_map_queue_type() helper (Ming Lei) [1638826] - [block] blk-mq: abstract out queue map (Ming Lei) [1638826] - [block] blk-mq: kill q->mq_map (Ming Lei) [1638826] - [kernel] genirq/affinity: Add support for allocating interrupt sets (Ming Lei) [1638826] - [kernel] genirq/affinity: Pass first vector to __irq_build_affinity_masks() (Ming Lei) [1638826] - [kernel] genirq/affinity: Move two stage affinity spreading into a helper function (Ming Lei) [1638826] - [kernel] genirq/affinity: Spread IRQs to all available NUMA nodes (Ming Lei) [1638826] - [block] block: kill request ->cpu member (Ming Lei) [1638826] - [block] block: get rid of q->softirq_done_fn() (Ming Lei) [1638826] - [block] block: get rid of blk_queued_rq() (Ming Lei) [1638826] - [block] blk-merge: kill dead queue lock held check (Ming Lei) [1638826] - [block] block: remove req_no_special_merge() from merging code (Ming Lei) [1638826] - [block] block: kill request slab cache (Ming Lei) [1638826] - [block] block: remove request_list code (Ming Lei) [1638826] - [block] bsg: move bsg-lib parts outside of request queue (Ming Lei) [1638826] - [block] block: kill legacy parts of timeout handling (Ming Lei) [1638826] - [block] block: remove __blk_put_request() (Ming Lei) [1638826] - [block] block: get rid of MQ scheduler ops union (Ming Lei) [1638826] - [block] block: remove dead elevator code (Ming Lei) [1638826] - [block] block: remove legacy IO schedulers (Ming Lei) [1638826] - [block] block: cleanup kick/queued handling (Ming Lei) [1638826] - [block] block: remove non mq parts from the flush code (Ming Lei) [1638826] - [block] block: remove legacy rq tagging (Ming Lei) [1638826] - [block] blk-cgroup: remove legacy queue bypassing (Ming Lei) [1638826] - [block] blk-wbt: kill check for legacy queue type (Ming Lei) [1638826] - [block] block: remove blk_complete_request() (Ming Lei) [1638826] - [block] bsg: convert to use blk-mq (Ming Lei) [1638826] - [block] bsg: provide bsg_remove_queue() helper (Ming Lei) [1638826] - [block] bsg: pass in desired timeout handler (Ming Lei) [1638826] - [s390] dasd: remove dead code (Ming Lei) [1638826] - [block] block: remove q->lld_busy_fn() (Ming Lei) [1638826] - [scsi] scsi: kill off the legacy IO path (Ming Lei) [1638826] - [scsi] scsi: provide mq_ops->busy() hook (Ming Lei) [1638826] - [block] blk-mq: provide mq_ops->busy() hook (Ming Lei) [1638826] - [block] blk-mq: remove legacy check in queue blk_freeze_queue() (Ming Lei) [1638826] - [block] blk-mq: remove the request_list usage (Ming Lei) [1638826] - [block] ide: convert to blk-mq (Ming Lei) [1638826] - [block] mspro_block: convert to blk-mq (Ming Lei) [1638826] - [block] ms_block: convert to blk-mq (Ming Lei) [1638826] - [block] sunvdc: convert to blk-mq (Ming Lei) [1638826] - [block] null_blk: Add conventional zone configuration for zoned support (Ming Lei) [1638826] - [ata] libata: Apply NOLPM quirk for SAMSUNG MZ7TD256HAFV-000L9 (Ming Lei) [1638826] - [block] block, bfq: fix asymmetric scenarios detection (Ming Lei) [1638826] - [cdrom] gdrom: fix mistake in assignment of error (Ming Lei) [1638826] - [block] blk-mq: place trace_block_getrq() in correct place (Ming Lei) [1638826] - [block] block: Introduce blk_revalidate_disk_zones() (Ming Lei) [1638826] - [block] block: add a report_zones method (Ming Lei) [1638826] - [block] block: Expose queue nr_zones in sysfs (Ming Lei) [1638826] - [block] block: Improve zone reset execution (Ming Lei) [1638826] - [block] block: Introduce BLKGETNRZONES ioctl (Ming Lei) [1638826] - [block] block: Introduce BLKGETZONESZ ioctl (Ming Lei) [1638826] - [block] block: Limit allocation of zone descriptors for report zones (Ming Lei) [1638826] - [block] block: Introduce blkdev_nr_zones() helper (Ming Lei) [1638826] - [scsi] scsi: sd_zbc: Fix sd_zbc_check_zones() error checks (Ming Lei) [1638826] - [scsi] scsi: sd_zbc: Reduce boot device scan and revalidate time (Ming Lei) [1638826] - [scsi] scsi: sd_zbc: Rearrange code (Ming Lei) [1638826] - [scsi] scsi: sd_zbc: Remove an assignment from sd_zbc_setup_report_cmnd() (Ming Lei) [1638826] - [scsi] scsi: sd: don't crash the host on invalid commands (Ming Lei) [1638826] - [pci] PCI/MSI: Warn and return error if driver enables MSI/MSI-X twice (Ming Lei) [1638826] - [fs] f2fs: remove request_list check in is_idle() (Ming Lei) [1638826] - [scsi] scsi: osd: initiator should use mq variant of request ending (Ming Lei) [1638826] - [scsi] scsi: fnic: replace gross legacy tag hack with blk-mq hack (Ming Lei) [1638826] - [infiniband] ib_srp: Remove WARN_ON in srp_terminate_io() (Ming Lei) [1638826] - [scsi] scsi: ufs: Disable blk-mq for now (Ming Lei) [1638826] - [block] sx8: convert to blk-mq (Ming Lei) [1638826] - [block] z2ram: convert to blk-mq (Ming Lei) [1638826] - [cdrom] gdrom: convert to blk-mq (Ming Lei) [1638826] - [block] floppy: convert to blk-mq (Ming Lei) [1638826] - [block] ataflop: convert to blk-mq (Ming Lei) [1638826] - [block] ataflop: fix error handling during setup (Ming Lei) [1638826] - [block] ataflop: fold headers into C file (Ming Lei) [1638826] - [block] amiflop: convert to blk-mq (Ming Lei) [1638826] - [block] amiflop: clean up on errors during setup (Ming Lei) [1638826] - [block] amiflop: fold headers into C file (Ming Lei) [1638826] - [block] swim3: convert to blk-mq (Ming Lei) [1638826] - [block] swim3: add real error handling in setup (Ming Lei) [1638826] - [block] swim: convert to blk-mq (Ming Lei) [1638826] - [block] swim: fix cleanup on setup error (Ming Lei) [1638826] - [mtd] mtd_blkdevs: convert to blk-mq (Ming Lei) [1638826] - [block] xsysace: convert to blk-mq (Ming Lei) [1638826] - [block] paride: convert pf to blk-mq (Ming Lei) [1638826] - [block] paride: convert pd to blk-mq (Ming Lei) [1638826] - [block] paride: convert pcd to blk-mq (Ming Lei) [1638826] - [block] ps3disk: convert to blk-mq (Ming Lei) [1638826] - [block] blk-mq: provide helper for setting up an SQ queue and tag set (Ming Lei) [1638826] - [block] null_blk: remove set but not used variable 'q' (Ming Lei) [1638826] - [cdrom] cdrom: don't attempt to fiddle with cdo->capability (Ming Lei) [1638826] - [block] block: remove bogus check for queue_lock assignment (Ming Lei) [1638826] - [block] null_blk: remove legacy IO path (Ming Lei) [1638826] - [block] um: Convert ubd driver to blk-mq (Ming Lei) [1638826] - [block] skd: fixup usage of legacy IO API (Ming Lei) [1638826] - [block] aoe: convert aoeblk to blk-mq (Ming Lei) [1638826] - [block] ide: remove redundant variables queue_run_ms and left (Ming Lei) [1638826] - [scsi] scsi: core: scsi_io_completion convert BUGs to WARNs (Ming Lei) [1638826] - [scsi] scsi: core: scsi_io_completion hints on fastpath (Ming Lei) [1638826] - [scsi] scsi: core: add scsi_io_completion_reprep helper (Ming Lei) [1638826] - [scsi] scsi: core: add scsi_io_completion_action helper (Ming Lei) [1638826] - [scsi] scsi: core: add scsi_io_completion_nz_result function (Ming Lei) [1638826] - [scsi] scsi: core: scsi_io_completion: rename variables (Ming Lei) [1638826] - [scsi] scsi: core: scsi_io_completion: comment on end_request return (Ming Lei) [1638826] - [scsi] scsi: core: use blk_mq_run_hw_queues in scsi_kick_queue (Ming Lei) [1638826] - [scsi] scsi: sg: remove bad blk_end_request_all() call (Ming Lei) [1638826] - [block] blk-mq: complete req in softirq context in case of single queue (Ming Lei) [1638826] - [block] block, bfq: improve asymmetric scenarios detection (Ming Lei) [1638826] - [block] block: remove redundant 'default n' from Kconfig-s (Ming Lei) [1638826] - [block] blk-mq-debugfs: Also show requests that have not yet been started (Ming Lei) [1638826] - [block] block: Finish renaming REQ_DISCARD into REQ_OP_DISCARD (Ming Lei) [1638826] - [block] kyber: fix integer overflow of latency targets on 32-bit (Ming Lei) [1638826] - [block] kyber: add tracepoints (Ming Lei) [1638826] - [block] kyber: implement improved heuristics (Ming Lei) [1638826] - [block] kyber: don't make domain token sbitmap larger than necessary (Ming Lei) [1638826] - [block] block: export blk_stat_enable_accounting() (Ming Lei) [1638826] - [block] block: move call of scheduler's ->completed_request() hook (Ming Lei) [1638826] - [block] blk-mq: Enable support for runtime power management (Ming Lei) [1638826] - [block] block: Make blk_get_request() block for non-PM requests while suspended (Ming Lei) [1638826] - [block] block: Allow unfreezing of a queue while requests are in progress (Ming Lei) [1638826] - [lib] percpu-refcount: Introduce percpu_ref_resurrect() (Ming Lei) [1638826] - [block] block: Schedule runtime resume earlier (Ming Lei) [1638826] - [block] block: Split blk_pm_add_request() and blk_pm_put_request() (Ming Lei) [1638826] - [block] block, scsi: Change the preempt-only flag into a counter (Ming Lei) [1638826] - [block] block: Move power management code into a new source file (Ming Lei) [1638826] - [block] Blk-throttle: update to use rbtree with leftmost node cached (Ming Lei) [1638826] - [block] block: use bio_add_page in bio_iov_iter_get_pages (Ming Lei) [1638826] - [block] blok, bfq: do not plug I/O if all queues are weight-raised (Ming Lei) [1638826] - [block] block, bfq: inject other-queue I/O into seeky idle queues on NCQ flash (Ming Lei) [1638826] - [block] block, bfq: correctly charge and reset entity service in all cases (Ming Lei) [1638826]- [rpmspec] redhat: fix bpf_samples build (Jiri Benc) [1611579] - [fs] mnt: fix __detach_mounts infinite loop (Benjamin Coddington) [1628736] - [pci] pcie: Enable Broadom iProc PCIE and mark it is as tech preview (Mark Langsdorf) [1576958] - [pci] PCI/ACPI: Add iProc PCIe MCFG quirk (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Add ACPI/ECAM support (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Remove PAXC slot check to allow VF support (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Reduce inbound/outbound mapping print level (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Reject unconfigured physical functions from PAXC (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Disable MSI parsing in certain PAXC blocks (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Fix up corrupted PAXC root complex config registers (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Activate PAXC bridge quirk for more devices (Mark Langsdorf) [1576958]- [s390] s390/mm: fix mis-accounting of pgtable_bytes (Joe Lawrence) [1644481] - [mm] mm: add mm_pxd_folded checks to pgtable_bytes accounting functions (Joe Lawrence) [1644481] - [mm] mm: introduce mm_[p4d|pud|pmd]_folded (Joe Lawrence) [1644481] - [mm] mm: make the __PAGETABLE_PxD_FOLDED defines non-empty (Joe Lawrence) [1644481] - [x86] x86/cpu/vmware: Do not trace vmware_sched_clock() (Vitaly Kuznetsov) [1650273] - [fs] fuse: fix possibly missed wake-up after abort (Lukas Czerner) [1649244] - [fs] fuse: fix leaked notify reply (Lukas Czerner) [1649244] - [fs] fuse: fix blocked_waitq wakeup (Lukas Czerner) [1649244] - [fs] fuse: set FR_SENT while locked (Lukas Czerner) [1649244] - [fs] fuse: Fix use-after-free in fuse_dev_do_write() (Lukas Czerner) [1649244] - [fs] fuse: Fix use-after-free in fuse_dev_do_read() (Lukas Czerner) [1649244] - [fs] fuse: Add missed unlock_page() to fuse_readpages_fill() (Lukas Czerner) [1649244] - [fs] fuse: Don't access pipe->buffers without pipe_lock() (Lukas Czerner) [1649244] - [fs] fuse: fix initial parallel dirops (Lukas Czerner) [1649244] - [fs] fuse: Fix oops at process_init_reply() (Lukas Czerner) [1649244] - [fs] fuse: umount should wait for all requests (Lukas Czerner) [1649244] - [fs] fuse: fix unlocked access to processing queue (Lukas Czerner) [1649244] - [fs] fuse: fix double request_end() (Lukas Czerner) [1649244] - [fs] fuse: fix use-after-free in fuse_direct_IO() (Lukas Czerner) [1599195]- [firmware] efi: Fix debugobjects warning on 'efi_rts_work' (Waiman Long) [1652190] - [rpmspec] kernel.spec: Do not zip modules on noarch builds (Prarit Bhargava) [1646471] - [iommu] iommu/amd: Clear memory encryption mask from physical address (Gary Hook) [1640384]- [powerpc] powerpc/mm/radix: Only need the Nest MMU workaround for R -> RW transition (Steve Best) [1651276] - [powerpc] powerpc/mm/books3s: Add new pte bit to mark pte temporarily invalid (Steve Best) [1651276] - [powerpc] powerpc/tm: Fix HFSCR bit for no suspend case (Steve Best) [1651275]- [powerpc] powerpc/powernv: Fix concurrency issue with npu->mmio_atsd_usage (Steve Best) [1651267] - [tools] perf tools: Remove ext from struct kmod_path (Jiri Olsa) [1581390] - [tools] perf tools: Add gzip_is_compressed function (Jiri Olsa) [1581390] - [tools] perf tools: Add lzma_is_compressed function (Jiri Olsa) [1581390] - [tools] perf tools: Add is_compressed callback to compressions array (Jiri Olsa) [1581390] - [tools] perf tools: Move the temp file processing into decompress_kmodule (Jiri Olsa) [1581390] - [tools] perf tools: Use compression id in decompress_kmodule() (Jiri Olsa) [1581390] - [tools] perf tools: Store compression id into struct dso (Jiri Olsa) [1581390] - [tools] perf tools: Add compression id into 'struct kmod_path' (Jiri Olsa) [1581390] - [tools] perf tools: Make is_supported_compression() static (Jiri Olsa) [1581390] - [tools] perf tools: Make decompress_to_file() function static (Jiri Olsa) [1581390] - [tools] perf tools: Get rid of dso__needs_decompress() call in __open_dso() (Jiri Olsa) [1581390] - [tools] perf tools: Get rid of dso__needs_decompress() call in symbol__disassemble() (Jiri Olsa) [1581390] - [tools] perf tools: Get rid of dso__needs_decompress() call in read_object_code() (Jiri Olsa) [1581390] - [rpmspec] redhat: Enable kernel-tools (for kvm_stat) on s390x, too (Thomas Huth) [1631222]- [drm] drm/atomic_helper: Stop modesets on unregistered connectors harder (Lyude Paul) [1631575] - [drm] drm/nouveau: Fix nv50_mstc->best_encoder() (Lyude Paul) [1631575] - [drm] drm/atomic_helper: Allow DPMS On<->Off changes for unregistered connectors (Lyude Paul) [1631575] - [drm] drm/i915: Fix intel_dp_mst_best_encoder() (Lyude Paul) [1631575] - [drm] drm/i915: Skip vcpi allocation for MSTB ports that are gone (Lyude Paul) [1631575] - [drm] drm/i915: Don't unset intel_connector->mst_port (Lyude Paul) [1631575] - [drm] drm/atomic_helper: Disallow new modesets on unregistered connectors (Lyude Paul) [1631575] - [s390] s390/qeth: fix HiperSockets sniffer (Philipp Rudo) [1649773] - [s390] s390/qeth: report 25Gbit link speed (Philipp Rudo) [1649772] - [s390] s390/qeth: sanitize strings in debug messages (Philipp Rudo) [1649770] - [s390] s390/qeth: fix initial operstate (Philipp Rudo) [1649769] - [s390] s390/qeth: unregister netdevice only when registered (Philipp Rudo) [1649769] - [powerpc] powerpc/64s: consolidate MCE counter increment (Steve Best) [1633550] - [powerpc] powerpc/64s: move machine check SLB flushing to mm/slb.c (Steve Best) [1633550] - [powerpc] powernv/pseries: consolidate code for mce early handling (Steve Best) [1633550] - [powerpc] powerpc/pseries: Dump the SLB contents on SLB MCE errors (Steve Best) [1633550] - [powerpc] powerpc/pseries: Display machine check error details (Steve Best) [1633550] - [powerpc] powerpc/pseries: Flush SLB contents on SLB MCE errors (Steve Best) [1633550] - [powerpc] powerpc/pseries: Define MCE error event section (Steve Best) [1633550] - [powerpc] powerpc/pseries: Avoid using the size greater than RTAS_ERROR_LOG_MAX (Steve Best) [1633550] - [powerpc] powerpc/pseries: Defer the logging of rtas error to irq work queue (Steve Best) [1633550] - [powerpc] powerpc/pseries: Fix endianness while restoring of r3 in MCE handler (Steve Best) [1633550] - [cdrom] cdrom: fix improper type cast, which can leat to information leak (Maurizio Lombardi) [1650476]- [drm] drm/amdgpu/pm: Fix potential Spectre v1 (Rob Clark) [1637115] - [drm] drm/i915/kvmgt: Fix potential Spectre v1 (Rob Clark) [1637115] - [fs] gfs2: Fix metadata read-ahead during truncate (2) (Andreas Grunbacher) [1647982] - [block] block: make sure writesame bio is aligned with logical block size (Ming Lei) [1648750] - [block] block: cleanup __blkdev_issue_discard() (Ming Lei) [1648750] - [block] block: make sure discard bio is aligned with logical block size (Ming Lei) [1648750] - [block] block: Clear kernel memory before copying to user (Ming Lei) [1648752] - [block] block: respect virtual boundary mask in bvecs (Ming Lei) [1648756] - [block] xen: don't include from and (Ming Lei) [1648756] - [block] block: remove ARCH_BIOVEC_PHYS_MERGEABLE (Ming Lei) [1648756] - [block] xen: provide a prototype for xen_biovec_phys_mergeable in xen.h (Ming Lei) [1648756] - [block] xen: remove the xen_biovec_phys_mergeable export (Ming Lei) [1648756] - [block] arm: remove the unused BIOVEC_MERGEABLE define (Ming Lei) [1648756] - [block] block: don't include bug.h from bio.h (Ming Lei) [1648756] - [block] block: don't include io.h from bio.h (Ming Lei) [1648756] - [block] block: remove bvec_to_phys (Ming Lei) [1648756] - [block] block: merge BIOVEC_SEG_BOUNDARY into biovec_phys_mergeable (Ming Lei) [1648756] - [block] block: add a missing BIOVEC_SEG_BOUNDARY check in bio_add_pc_page (Ming Lei) [1648756] - [block] block: simplify BIOVEC_PHYS_MERGEABLE (Ming Lei) [1648756] - [block] block: move req_gap_back_merge to blk.h (Ming Lei) [1648756] - [block] block: move req_gap_{back,front}_merge to blk-merge.c (Ming Lei) [1648756] - [block] block: move integrity_req_gap_{back,front}_merge to blk.h (Ming Lei) [1648756] - [fs] gfs2: Fix iomap buffer head reference counting bug (Andreas Grunbacher) [1647073] - [scsi] qla2xxx: Update driver version to 10.00.00.07.08.0-k1 (Himanshu Madhani) [1615896] - [scsi] scsi: qla2xxx: Initialize port speed to avoid setting lower speed (Himanshu Madhani) [1615896] - [scsi] scsi: qla2xxx: Fix incorrect port speed being set for FC adapters (Himanshu Madhani) [1615896] - [block] block: brd: associate with queue until adding disk (Ming Lei) [1644602] - [block] block: call rq_qos_exit() after queue is frozen (Ming Lei) [1641558] - [block] block: fix the DISCARD request merge (Ming Lei) [1646776] - [block] blk-mq: fallback to previous nr_hw_queues when updating fails (Ming Lei) [1642218] - [block] blk-mq: realloc hctx when hw queue is mapped to another node (Ming Lei) [1642218] - [block] blk-mq: change gfp flags to GFP_NOIO in blk_mq_realloc_hw_ctxs (Ming Lei) [1642218] - [block] blk-mq: adjust debugfs and sysfs register when updating nr_hw_queues (Ming Lei) [1642218] - [block] block: remove bio_rewind_iter() (Ming Lei) [1642208]- [fs] jbd2: fix use after free in jbd2_log_do_checkpoint() (Lukas Czerner) [1644694] - [fs] ext4: initialize retries variable in ext4_da_write_inline_data_begin() (Lukas Czerner) [1644694] - [fs] ext4: fix build error when DX_DEBUG is defined (Lukas Czerner) [1644694]- [pinctrl] pinctrl: intel: Add Ice Lake PCH pin controller support (David Arcari) [1483413] - [netdrv] nfp: flower: fix vlan match by checking both vlan id and vlan pcp (Pablo Cascon) [1645220] - [netdrv] nfp: flower: reject tunnel encap with ipv6 outer headers for offloading (Pablo Cascon) [1646644] - [netdrv] nfp: populate bus-info on representors (Pablo Cascon) [1643998] - [powerpc] KVM: PPC: Validate TCEs against preregistered memory page sizes (David Gibson) [1625821] - [powerpc] KVM: PPC: Inform the userspace about TCE update failures (David Gibson) [1625821] - [powerpc] KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages (David Gibson) [1625821]- [kernel] locking/lockdep: Fix debug_locks off performance problem (Waiman Long) [1647560] - [kernel] locking/lockdep: Remove duplicated 'lock_class_ops' percpu array (Waiman Long) [1647560] - [kernel] locking/lockdep: Make class->ops a percpu counter and move it under CONFIG_DEBUG_LOCKDEP=y (Waiman Long) [1647560] - [kernel] locking/lockdep: Add a faster path in __lock_release() (Waiman Long) [1647560] - [kernel] locking/lockdep: Eliminate redundant IRQs check in __lock_acquire() (Waiman Long) [1647560] - [kernel] locking/lockdep: Remove add_chain_cache_classes() (Waiman Long) [1647560] - [fs] gfs2: Put bitmap buffers in put_super (Andreas Grunbacher) [1647073] - [scsi] scsi: hpsa: limit transfer length to 1MB, not 512kB (Joseph Szczypek) [1643956] - [netdrv] nfp: report FW vNIC stats in interface stats (Pablo Cascon) [1645032] - [rpmspec] spec: Add bpftool debuginfo package (Jiri Olsa) [1633018] - [crypto] crypto: chelsio: Fix memory corruption in DMA Mapped buffers (Arjun Vynipadath) [1631750] - [cdrom] cdrom: Fix info leak/OOB read in cdrom_ioctl_drive_status (Maurizio Lombardi) [1627732] {CVE-2018-16658}- [kernel] srcu: Make early-boot call_srcu() reuse workqueue lists (Waiman Long) [1644375] - [tools] rcutorture: Test early boot call_srcu() (Waiman Long) [1644375] - [kernel] srcu: Make call_srcu() available during very early boot (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_state.ofl_lock to raw_spinlock_t (Waiman Long) [1644375] - [kernel] rcu: Remove obsolete ->dynticks_fqs and ->cond_resched_completed (Waiman Long) [1644375] - [kernel] rcu: Switch ->dynticks to rcu_data structure, remove rcu_dynticks (Waiman Long) [1644375] - [kernel] rcu: Switch dyntick nesting counters to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Switch urgent quiescent-state requests to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Switch lazy counts to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Switch last accelerate/advance to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Switch ->tick_nohz_enabled_snap to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Merge rcu_dynticks structure into rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Remove unused rcu_dynticks_snap() from Tiny RCU (Waiman Long) [1644375] - [kernel] rcu: Convert "1UL << x" to "BIT(x)" (Waiman Long) [1644375] - [kernel] rcu: Avoid resched_cpu() when rescheduling the current CPU (Waiman Long) [1644375] - [kernel] rcu: More aggressively enlist scheduler aid for nohz_full CPUs (Waiman Long) [1644375] - [kernel] rcu: Compute jiffies_till_sched_qs from other kernel parameters (Waiman Long) [1644375] - [kernel] rcu: Provide functions for determining if call_rcu() has been invoked (Waiman Long) [1644375] - [kernel] rcu: Eliminate ->rcu_qs_ctr from the rcu_dynticks structure (Waiman Long) [1644375] - [kernel] rcu: Motivate Tiny RCU forward progress (Waiman Long) [1644375] - [kernel] rcutorture: Dump reader protection sequence if failures or close calls (Waiman Long) [1644375] - [kernel] rcu: Provide improved interrupt-from-idle check in rcu_check_callbacks() (Waiman Long) [1644375] - [kernel] rcu: Make need_resched() respond to urgent RCU-QS needs (Waiman Long) [1644375] - [kernel] rcu: Inline _rcu_barrier() into its sole remaining caller (Waiman Long) [1644375] - [kernel] rcu: Define rcu_all_qs() only in !PREEMPT builds (Waiman Long) [1644375] - [kernel] rcu: Remove !PREEMPT code from rcu_note_voluntary_context_switch() (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in update.c (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in tree_plugin.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in tree_exp.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in tree.c (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in tiny.c (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in srcutree.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rcutorture.c (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rcu.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in Kconfig (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rcupdate_wait.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rculist.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rcupdate.h (Waiman Long) [1644375] - [kernel] rcu: Remove now-unused rcutorture APIs (Waiman Long) [1644375] - [kernel] rcuperf: Remove the "rcu_bh" and "sched" torture types (Waiman Long) [1644375] - [kernel] rcutorture: Remove the "rcu_bh" and "sched" torture types (Waiman Long) [1644375] - [kernel] rcu: Stop testing RCU-bh and RCU-sched (Waiman Long) [1644375] - [kernel] rcutorture: Add RCU-bh and RCU-sched support for extended readers (Waiman Long) [1644375] - [kernel] rcu: Consolidate RCU-sched update-side function definitions (Waiman Long) [1644375] - [kernel] rcu: Consolidate RCU-bh update-side function definitions (Waiman Long) [1644375] - [kernel] rcu: Pull rcu_gp_kthread() FQS loop into separate function (Waiman Long) [1644375] - [kernel] rcu: Inline increment_cpu_stall_ticks() into its sole caller (Waiman Long) [1644375] - [kernel] rcu: Fix typo in force_qs_rnp()'s parameter's parameter (Waiman Long) [1644375] - [kernel] rcu: Eliminate initialization-time use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate RCU-barrier use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate quiescent-state and grace-period-nonstart use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate callback-invocation/invocation use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate grace-period management code use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate stall-warning use of rsp (Waiman Long) [1644375] - [kernel] rcu: Restructure rcu_check_gp_kthread_starvation() (Waiman Long) [1644375] - [kernel] rcu: Simplify rcutorture_get_gp_data() (Waiman Long) [1644375] - [kernel] rcu: Remove for_each_rcu_flavor() flavor-traversal macro (Waiman Long) [1644375] - [kernel] rcu: Remove last non-flavor-traversal rsp local variable from tree_plugin.h (Waiman Long) [1644375] - [kernel] rcu: Remove rcu_data structure's ->rsp field (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_node tree accessor macros (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from expedited grace-period functions (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from no-CBs CPU functions (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from print_cpu_stall_info() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_spawn_one_boost_kthread() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from dump_blkd_tasks() and friend (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_print_detail_task_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_init_one() and friends (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_boot_init_percpu_data() and friends (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from _rcu_barrier() and friends (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from __rcu_pending() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from __call_rcu() and friend (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from __rcu_process_callbacks() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_check_gp_start_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from force-quiescent-state functions (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_do_batch() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from CPU hotplug functions (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_check_quiescent_state() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_gp_kthread() and friends (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_gp_slow() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from note_gp_changes() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from __note_gp_changes() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_advance_cbs() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_accelerate_cbs_unlocked() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_accelerate_cbs() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_gp_kthread_wake() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_future_gp_cleanup() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from check_cpu_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from print_cpu_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from print_other_cpu_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_stall_kick_kthreads() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_dump_cpu_stacks() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_check_gp_kthread_starvation() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from record_gp_stall_check_time() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_get_root() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_gp_in_progress() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_report_qs_rdp() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_report_unblock_qs_rnp() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_report_qs_rsp() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_report_qs_rnp() (Waiman Long) [1644375] - [kernel] rcu: Remove rcu_data_p pointer to default rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Remove rcu_state_p pointer to default rcu_state structure (Waiman Long) [1644375] - [kernel] rcu: Remove rcu_state structure's ->rda field (Waiman Long) [1644375] - [kernel] rcu: Eliminate rcu_state structure's ->call field (Waiman Long) [1644375] - [kernel] rcu: Remove RCU_STATE_INITIALIZER() (Waiman Long) [1644375] - [kernel] rcu: Express Tiny RCU updates in terms of RCU rather than RCU-sched (Waiman Long) [1644375] - [kernel] rcu: Define RCU-sched API in terms of RCU for Tree RCU PREEMPT builds (Waiman Long) [1644375] - [kernel] rcu: Fix typo in rcu_get_gp_kthreads_prio() header comment (Waiman Long) [1644375] - [kernel] rcu: Drop "wake" parameter from rcu_report_exp_rdp() (Waiman Long) [1644375] - [kernel] rcu: Update comments and help text for no more RCU-bh updaters (Waiman Long) [1644375] - [kernel] rcu: Define RCU-bh update API in terms of RCU (Waiman Long) [1644375] - [kernel] rcu: Report expedited grace periods at context-switch time (Waiman Long) [1644375] - [kernel] rcu: Apply RCU-bh QSes to RCU-sched and RCU-preempt when safe (Waiman Long) [1644375] - [kernel] rcu: Add warning to detect half-interrupts (Waiman Long) [1644375] - [kernel] rcu: Remove now-unused ->b.exp_need_qs field from the rcu_special union (Waiman Long) [1644375] - [kernel] rcu: Allow processing deferred QSes for exiting RCU-preempt readers (Waiman Long) [1644375] - [kernel] rcutorture: Test extended "rcu" read-side critical sections (Waiman Long) [1644375] - [kernel] rcu: Defer reporting RCU-preempt quiescent states when disabled (Waiman Long) [1644375] - [kernel] rcu: Refactor rcu_{nmi,irq}_{enter,exit}() (Waiman Long) [1644375] - [documentation] doc: Fix broken HTML directive (Waiman Long) [1644375] - [documentation] doc: Update removal of RCU-bh/sched update machinery (Waiman Long) [1644375] - [kernel] rcutorture: Maintain self-propagating CB only during forward-progress test (Waiman Long) [1644375] - [kernel] rcutorture: Check GP completion at stutter end (Waiman Long) [1644375] - [kernel] rcutorture: Print forward-progress test interval on error (Waiman Long) [1644375] - [kernel] rcutorture: Adjust number of reader kthreads per CPU-hotplug operations (Waiman Long) [1644375] - [kernel] rcutorture: Reduce priority of forward-progress testing (Waiman Long) [1644375] - [kernel] rcutorture: Limit reader duration if irq or bh disabled (Waiman Long) [1644375] - [kernel] rcutorture: Increase rcu_read_delay() longdelay_ms (Waiman Long) [1644375] - [kernel] rcutorture: Add self-propagating callback to forward-progress testing (Waiman Long) [1644375] - [kernel] rcutorture: Vary forward-progress test interval (Waiman Long) [1644375] - [kernel] rcutorture: Avoid no-test complaint if too few forward-progress tries (Waiman Long) [1644375] - [kernel] rcutorture: Also use GP sequence to judge forward progress (Waiman Long) [1644375] - [kernel] rcutorture: Add forward-progress tests for RCU grace periods (Waiman Long) [1644375] - [tools] rcutorture: Remove TREE06 and TREE08 from the default test list (Waiman Long) [1644375] - [kernel] rcuperf: Warn on bad perf type for built-in tests (Waiman Long) [1644375] - [kernel] rcutorture: Warn on bad torture type for built-in tests (Waiman Long) [1644375] - [kernel] rcutorture: Force occasional reader waits (Waiman Long) [1644375] - [tools] torture: Stop overwriting Make.out file with obsolete version (Waiman Long) [1644375] - [documentation] doc: Improve rcu_dynticks::dynticks documentation (Waiman Long) [1644375] - [documentation] doc: Fix broken RCU-requirements link to LKML archive (Waiman Long) [1644375] - [documentation] doc: Add design documentation on interruption of NMI handlers (Waiman Long) [1644375] - [kernel] rcutorture: Fix rcu_barrier successes counter (Waiman Long) [1644375] - [kernel] rcutorture: Add support to detect if boost kthread prio is too low (Waiman Long) [1644375] - [kernel] rcutorture: Use monotonic timestamp for stall detection (Waiman Long) [1644375] - [kernel] rcutorture: Make boost test more robust (Waiman Long) [1644375] - [kernel] rcutorture: Disable RT throttling for boost tests (Waiman Long) [1644375] - [kernel] rcutorture: Emphasize testing of single reader protection type (Waiman Long) [1644375] - [kernel] rcutorture: Handle extended read-side critical sections (Waiman Long) [1644375] - [kernel] rcutorture: Make rcu_torture_timer() use rcu_torture_one_read() (Waiman Long) [1644375] - [kernel] rcutorture: Use per-CPU random state for rcu_torture_timer() (Waiman Long) [1644375] - [kernel] rcutorture: Use atomic increment for n_rcu_torture_timers (Waiman Long) [1644375] - [kernel] rcutorture: Extract common code from rcu_torture_reader() (Waiman Long) [1644375] - [kernel] rcuperf: Remove unused torturing_tasks() function (Waiman Long) [1644375] - [kernel] rcu: Remove rcutorture test version and sequence number (Waiman Long) [1644375] - [kernel] rcutorture: Change units of onoff_interval to jiffies (Waiman Long) [1644375] - [kernel] rcu: Assign higher prio to RCU threads if rcutorture is built-in (Waiman Long) [1644375] - [documentation] rculist: Improve documentation for list_for_each_entry_from_rcu() (Waiman Long) [1644375] - [kernel] srcu: Add grace-period number to rcutorture statistics printout (Waiman Long) [1644375] - [kernel] rcu: Print stall-warning NMI dyntick state in hexadecimal (Waiman Long) [1644375] - [maintainers] MAINTAINERS: Update RCU, SRCU, and TORTURE-TEST entries (Waiman Long) [1644375] - [kernel] rcu: Make rcu_seq_diff() more exact (Waiman Long) [1644375] - [documentation] doc: Update synchronize_rcu() definition in whatisRCU.txt (Waiman Long) [1644375] - [kernel] rcu: Check the range of jiffies_till_{first, next}_fqs when setting them (Waiman Long) [1644375] - [kernel] rcu: Add diagnostics for rcutorture writer stall warning (Waiman Long) [1644375] - [kernel] rcu: Add comment to the last sleep in the rcu tasks loop (Waiman Long) [1644375] - [kernel] rcu: Speed up calling of RCU tasks callbacks (Waiman Long) [1644375] - [kernel] rcu: Add comment documenting how rcu_seq_snap works (Waiman Long) [1644375] - [kernel] rcu: Use RCU CPU stall timeout for rcu_check_gp_start_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove __maybe_unused from rcu_cpu_has_callbacks() (Waiman Long) [1644375] - [kernel] rcu: Remove "inline" from rcu_perf_print_module_parms() (Waiman Long) [1644375] - [kernel] rcu: Remove "inline" from rcu_torture_print_module_parms() (Waiman Long) [1644375] - [kernel] rcu: Remove "inline" from panic_on_rcu_stall() and rcu_blocking_is_gp() (Waiman Long) [1644375] - [kernel] rcu: Remove unused local variable "cpu" (Waiman Long) [1644375] - [kernel] rcu: Remove unused rcu_kick_nohz_cpu() function (Waiman Long) [1644375] - [kernel] rcu: Clarify and correct the rcu_preempt_qs() header comment (Waiman Long) [1644375] - [kernel] rcu: Inline rcu_dynticks_momentary_idle() into its sole caller (Waiman Long) [1644375] - [kernel] rcu: Mark task as .need_qs less aggressively (Waiman Long) [1644375] - [kernel] rcu: Improve RCU-tasks naming and comments (Waiman Long) [1644375] - [kernel] rcu: Use pr_fmt to prefix "rcu: " to logging output (Waiman Long) [1644375] - [kernel] rcu: rcupdate.h: Get rid of Sphinx warnings at rcu_pointer_handoff() (Waiman Long) [1644375] - [kernel] rcu: Improve rcu_note_voluntary_context_switch() reporting (Waiman Long) [1644375] - [kernel] rcu: Make rcu_read_unlock_special() static (Waiman Long) [1644375] - [kernel] rcu: Add diagnostics for offline CPUs failing to report QS (Waiman Long) [1644375] - [kernel] rcu: Record ->gp_state for both phases of grace-period initialization (Waiman Long) [1644375] - [kernel] rcu: Add CPU online/offline state to dump_blkd_tasks() (Waiman Long) [1644375] - [kernel] rcu: Add up-tree information to dump_blkd_tasks() diagnostics (Waiman Long) [1644375] - [kernel] rcu: Remove CPU-hotplug failsafe from force-quiescent-state code path (Waiman Long) [1644375] - [kernel] rcu: Remove failsafe check for lost quiescent state (Waiman Long) [1644375] - [kernel] rcu: Move grace-period pre-init delay after pre-init (Waiman Long) [1644375] - [kernel] rcu: Add RCU-preempt check for waiting on newly onlined CPU (Waiman Long) [1644375] - [kernel] rcu: Fix grace-period hangs due to race with CPU offline (Waiman Long) [1644375] - [kernel] rcu: Fix grace-period hangs from mid-init task resume (Waiman Long) [1644375] - [kernel] rcu: Suppress false-positive splats from mid-init task resume (Waiman Long) [1644375] - [kernel] rcu: Suppress more involved false-positive preempted-task splats (Waiman Long) [1644375] - [kernel] rcu: Suppress false-positive preempted-task splats (Waiman Long) [1644375] - [kernel] rcu: Suppress false-positive offline-CPU lockdep-RCU splat (Waiman Long) [1644375] - [kernel] rcu: Prevent useless FQS scan after all CPUs have checked in (Waiman Long) [1644375] - [kernel] rcu: Replace smp_wmb() with smp_store_release() for stall check (Waiman Long) [1644375] - [kernel] rcu: Fix typo and add additional debug (Waiman Long) [1644375] - [kernel] rcu: Make rcu_report_unblock_qs_rnp() warn on violated preconditions (Waiman Long) [1644375] - [kernel] rcu: Make rcu_init_new_rnp() stop upon already-set bit (Waiman Long) [1644375] - [kernel] rcu: Fix an obsolete ->qsmaskinit comment (Waiman Long) [1644375] - [kernel] rcu: Clean up handling of tasks blocked across full-rcu_node offline (Waiman Long) [1644375] - [kernel] rcu: Identify grace period is in progress as we advance up the tree (Waiman Long) [1644375] - [kernel] rcu: Use better variable names in funnel locking loop (Waiman Long) [1644375] - [kernel] rcu: Rename the grace-period-request variables and parameters (Waiman Long) [1644375] - [kernel] rcu: Regularize resetting of rcu_data wrap indicator (Waiman Long) [1644375] - [kernel] rcutorture: Correctly handle grace-period sequence wrap (Waiman Long) [1644375] - [kernel] rcu: Make rcu_start_this_gp() check for grace period already started (Waiman Long) [1644375] - [kernel] rcu: Fix cpustart tracepoint gp_seq number (Waiman Long) [1644375] - [kernel] rcu: Produce last "CleanupMore" trace only if late-breaking request (Waiman Long) [1644375] - [kernel] rcu: Don't funnel-lock above leaf node if GP in progress (Waiman Long) [1644375] - [documentation] doc: Update RCU CPU stall-warning documentation (Waiman Long) [1644375] - [documentation] doc: Update memory-ordering documentation for ->gp-seq (Waiman Long) [1644375] - [documentation] doc: Update data-structure documentation for ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Make simple callback acceleration refer to rdp->gp_seq_needed (Waiman Long) [1644375] - [kernel] rcu: Remove ->gpnum and ->completed (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_fqs tracepoint to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_quiescent_state_report tracepoint to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_unlock_preempted_task tracepoint to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_preempt_task tracepoint to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_grace_period_init tracepoint to gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_future_grace_period tracepoint to gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_grace_period tracepoint to gp_seq (Waiman Long) [1644375] - [kernel] rcu: Make rcu_nocb_wait_gp() check if GP already requested (Waiman Long) [1644375] - [kernel] rcu: Move from ->need_future_gp[] to ->gp_seq_needed (Waiman Long) [1644375] - [kernel] rcutorture: Convert rcutorture_get_gp_data() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Make RCU CPU stall warnings use ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert grace-period requests to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert ->completedqs to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert ->rcu_iw_gpnum to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_gp_in_progress() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_nocb_gp_get() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_try_advance_all_cbs() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_implicit_dynticks_qs() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_gpnum_ovf() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move RCU's grace-period-change code to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert conditional grace-period primitives to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Make quiescent-state reporting use ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_check_gp_kthread_starvation() to GP sequence number (Waiman Long) [1644375] - [kernel] rcu: Make rcutorture's batches-completed API use ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_gp_slow() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Introduce grace-period sequence numbers (Waiman Long) [1644375] - [kernel] rcu: Make rcu_gp_cleanup() write only once to ->gp_flags (Waiman Long) [1644375] - [kernel] rcu: Diagnostics for grace-period startup hangs (Waiman Long) [1644375] - [kernel] rcu: Exclude near-simultaneous RCU CPU stall warnings (Waiman Long) [1644375] - [kernel] rcu: Use the proper lockdep annotation in dump_blkd_tasks() (Waiman Long) [1644375] - [kernel] rcu: Add debugging info to assertion (Waiman Long) [1644375] - [kernel] torture: Keep old-school dmesg format (Waiman Long) [1644375] - [kernel] torture: Make online/offline messages appear only for verbose=2 (Waiman Long) [1644375] - [tools] rcutorture: Make kvm-find-errors.sh find close calls (Waiman Long) [1644375] - [tools] rcutorture: Remove obsolete TREE08-T.boot file (Waiman Long) [1644375] - [tools] torture: Use a single build directory for torture scenarios (Waiman Long) [1644375] - [kernel] srcu: Introduce srcu_read_{un,}lock_notrace() (Waiman Long) [1644375] - [kernel] srcu: Add address of first callback to rcutorture output (Waiman Long) [1644375] - [kernel] srcu: Document that srcu_funnel_gp_start() implies srcu_funnel_exp_start() (Waiman Long) [1644375] - [kernel] srcu: Fix typos in __call_srcu() header comment (Waiman Long) [1644375] - [kernel] rcu: Make expedited grace period use direct call on last leaf (Waiman Long) [1644375]- [netdrv] nfp: flower: use offsets provided by pedit instead of index for ipv6 (Pablo Cascon) [1645132] - [netdrv] nfp: flower: fix multiple keys per pedit action (Pablo Cascon) [1645132] - [netdrv] nfp: flower: fix pedit set actions for multiple partial masks (Pablo Cascon) [1645132] - [netdrv] nfp: flower: ignore checksum actions when performing pedit actions (Pablo Cascon) [1644400] - [kernel] sched/fair: Fix throttle_list starvation with low CFS quota (Phil Auld) [1638526] - [net] tipc: fix the big/little endian issue in tipc_dest (Jon Maloy) [1640712] - [rpmspec] kernel.spec: Include kernel-signing-ca.cer public key (Prarit Bhargava) [1638465] - [block] block: don't deal with discard limit in blkdev_issue_discard() (Ming Lei) [1631255] - [powerpc] powerpc/mm: Check memblock_add against MAX_PHYSMEM_BITS range (Gustavo Duarte) [1561402] - [powerpc] powerpc/mm: Increase MAX_PHYSMEM_BITS to 128TB with SPARSEMEM_VMEMMAP config (Gustavo Duarte) [1561402]- [s390] s390/crypto: Enhance paes cipher to accept variable length key material (Philipp Rudo) [1644387] - [s390] s390/pkey: move pckmo subfunction available checks away from module init (Philipp Rudo) [1644387] - [s390] s390/pkey: Load pkey kernel module automatically (Philipp Rudo) [1644387] - [s390] s390/zcrypt: fix broken zcrypt_send_cprb in-kernel api function (Philipp Rudo) [1644387] - [s390] s390/pkey: Introduce new API for transforming key blobs (Philipp Rudo) [1644387] - [s390] s390/pkey: Introduce new API for random protected key verification (Philipp Rudo) [1644387] - [s390] s390/pkey: Add sysfs attributes to emit secure key blobs (Philipp Rudo) [1644387] - [s390] s390/pkey: Add sysfs attributes to emit protected key blobs (Philipp Rudo) [1644387] - [s390] s390/pkey: Define protected key blob format (Philipp Rudo) [1644387] - [s390] s390/pkey: Introduce new API for random protected key generation (Philipp Rudo) [1644387] - [s390] s390/zcrypt: add ap_adapter_mask sysfs attribute (Philipp Rudo) [1644387] - [s390] s390/zcrypt: provide apfs failure code on type 86 error reply (Philipp Rudo) [1644387] - [s390] s390/zcrypt: zcrypt device driver cleanup (Philipp Rudo) [1644387] - [s390] s390/zcrypt: multiple zcrypt device nodes support (Philipp Rudo) [1644387] - [s390] s390/zcrypt: enable AP bus scan without a valid default domain (Philipp Rudo) [1644387] - [s390] s390/zcrypt: Use kmemdup to replace kmalloc + memcpy (Philipp Rudo) [1644387] - [s390] s390/qeth: add TSO support for L2 devices (Philipp Rudo) [1644381] - [s390] s390/qeth: add support for IPv6 TSO (Philipp Rudo) [1644381] - [s390] s390/qeth: enhance TSO control sequence (Philipp Rudo) [1644381] - [s390] s390/qeth: make TSO controls protocol-agnostic (Philipp Rudo) [1644381] - [s390] s390: qeth: Fix potential array overrun in cmd/rc lookup (Philipp Rudo) [1644381] - [s390] s390: qeth_core_mpc: Use ARRAY_SIZE instead of reimplementing its function (Philipp Rudo) [1644381] - [scsi] scsi: mpt3sas: Remove unnecessary parentheses and simplify null checks (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Use dma_pool_zalloc (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Remove unused macro MPT3SAS_FMT (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Convert logging uses with MPT3SAS_FMT without logging levels (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Remove KERN_WARNING from panic uses (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Convert logging uses with MPT3SAS_FMT and reply_q_name to s: (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Convert mlsleading uses of pr_ with MPT3SAS_FMT (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Convert uses of pr_ with MPT3SAS_FMT to ioc_ (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Add ioc_ logging macros (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix calltrace observed while running IO & reset (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Improve kernel-doc headers (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Split _base_reset_handler(), mpt3sas_scsih_reset_handler() and mpt3sas_ctl_reset_handler() (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix a race condition in mpt3sas_base_hard_reset_handler() (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix _transport_smp_handler() error path (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Introduce struct mpt3sas_nvme_cmd (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Annotate switch/case fall-through (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Remove set-but-not-used variables (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix indentation (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Update driver version "26.100.00.00" (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: As per MPI-spec, use combined reply queue for SAS3.5 controllers when HBA supports more than 16 MSI-x vectors (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix, False timeout prints for ioctl and other internal commands during controller reset (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Don't access the structure after decrementing it's instance reference count (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Incorrect command status was set/marked as not used (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Don't abort I/Os issued to NVMe drives while processing Async Broadcast primitive event (Tomas Henzl) [1638649] - [netdrv] net/mlx5e: Do not ignore netdevice TX/RX queues number (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Use non-delayed work for update stats (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Initialize all netdev common structures in one place (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Always initialize update stats delayed work (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Gather common netdev init/cleanup functionality in one place (Alaa Hleihel) [1643103] - [infiniband] RDMA/netdev: Fix netlink support in IPoIB (Alaa Hleihel) [1643103] - [infiniband] RDMA/netdev: Hoist alloc_netdev_mqs out of the driver (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Consolidate checking of the proposed child interface (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Maintain the child_intfs list from ndo_init/uninit (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Do not remove child devices from within the ndo_uninit (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Get rid of the sysfs_mutex (Alaa Hleihel) [1643103] - [infiniband] RDMA/netdev: Use priv_destructor for netdev cleanup (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Move init code to ndo_init (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Move all uninit code into ndo_uninit (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Use cancel_delayed_work_sync for neigh-clean task (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Get rid of IPOIB_FLAG_GOING_DOWN (Alaa Hleihel) [1643103] - [infiniband] RDMA/ipoib: Fix use of sizeof() (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Do not recycle RX pages in interface down flow (Alaa Hleihel) [1643103 1643047] - [netdrv] net/mlx5e: Replace call to MPWQE free with dealloc in interface down flow (Alaa Hleihel) [1643103 1643047] - [net] net/xdp: Fix suspicious RCU usage warning (Alaa Hleihel) [1643103 1643047] - [netdrv] net/mlx5: WQ, fixes for fragmented WQ buffers API (Alaa Hleihel) [1643103 1636183] - [netdrv] net/mlx4_en: Use minimal rx and tx ring sizes on kdump kernel (Alaa Hleihel) [1643103 1615267] - [x86] mark coffeelake-s/h 8+2 as supported (David Arcari) [1575461 1575460] - [x86] x86/spec_ctrl: Synchronize STIBP changes with RHEL IBRS code (Waiman Long) [1643233] - [x86] x86/speculation: Propagate information about RSB filling mitigation to sysfs (Waiman Long) [1643233] - [x86] x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation (Waiman Long) [1643233] - [x86] x86/speculation: Apply IBPB more strictly to avoid cross-process data leak (Waiman Long) [1643233] - [x86] x86/speculation: Add RETPOLINE_AMD support to the inline asm CALL_NOSPEC variant (Waiman Long) [1643233] - [x86] x86/CPU: Fix unused variable warning when !CONFIG_IA32_EMULATION (Waiman Long) [1643233] - [x86] x86/pti/64: Remove the SYSCALL64 entry trampoline (Waiman Long) [1643233] - [x86] x86/entry/64: Use the TSS sp2 slot for SYSCALL/SYSRET scratch space (Waiman Long) [1643233] - [x86] x86/entry/64: Document idtentry (Waiman Long) [1643233] - [x86] x86/asm-offsets: Move TSS_sp0 and TSS_sp1 to asm-offsets.c (Waiman Long) [1643233] - [x86] x86: Add entry trampolines to kcore (Waiman Long) [1643233] - [kernel] kallsyms, x86: Export addresses of PTI entry trampolines (Waiman Long) [1643233] - [kernel] kallsyms: Simplify update_iter_mod() (Waiman Long) [1643233] - [scsi] scsi: csiostor: fix incorrect port capabilities (Arjun Vynipadath) [1628866] - [scsi] scsi: csiostor: add a check for NULL pointer after kmalloc() (Arjun Vynipadath) [1628866] - [scsi] scsi: csiostor: update ingress pack and pad boundary value (Arjun Vynipadath) [1628866]- [netdrv] nfp: flower: use host context count provided by firmware (Pablo Cascon) [1639609] - [netdrv] nfp: flower: use stats array instead of storing stats per flow (Pablo Cascon) [1639609] - [netdrv] nfp: flower: use rhashtable for flow caching (Pablo Cascon) [1639609] - [netdrv] nfp: avoid soft lockups under control message storm (Pablo Cascon) [1639609] - [kernel] sched: disable autogroups by default (Phil Auld) [1568166] - [s390] s390/keyboard: sanitize array index in do_kdsk_ioctl (Steve Best) [1637591] - [char] ipmi:ssif: Add support for multi-part transmit messages > 2 parts (Tony Camuso) [1622053] - [scsi] scsi: libsas: fix a race condition when smp task timeout (Zhou Wang) [1640426] - [scsi] scsi: libsas: check the ata device status by ata_dev_enabled() (Zhou Wang) [1640426] - [scsi] scsi: libsas: always unregister the old device if going to discover new (Zhou Wang) [1640426] - [scsi] scsi: libsas: dynamically allocate and free ata host (Zhou Wang) [1640426] - [scsi] scsi: libsas: remove irq save in sas_ata_qc_issue() (Zhou Wang) [1640426]- [video] fbdev: make FB_BACKLIGHT a tristate (Rob Clark) [1643333 1589158] - [netdrv] Taint kernel if e1000 is loaded (Neil Horman) [1643617] - [netdrv] iavf: fix a typo (Stefan Assmann) [1627882] - [netdrv] i40evf: remove ndo_poll_controller (Stefan Assmann) [1627882] - [netdrv] intel-ethernet: use correct module license (Stefan Assmann) [1627882] - [netdrv] iavf: finish renaming files to iavf (Stefan Assmann) [1627882] - [netdrv] iavf: rename most of i40e strings (Stefan Assmann) [1627882] - [netdrv] iavf: tracing infrastructure rename (Stefan Assmann) [1627882] - [netdrv] iavf: replace i40e_debug with iavf version (Stefan Assmann) [1627882] - [netdrv] iavf: rename i40e_hw to iavf_hw (Stefan Assmann) [1627882] - [netdrv] iavf: rename I40E_ADMINQ_DESC (Stefan Assmann) [1627882] - [netdrv] iavf: rename device ID defines (Stefan Assmann) [1627882] - [netdrv] iavf: remove references to old names (Stefan Assmann) [1627882] - [netdrv] iavf: move i40evf files to new name (Stefan Assmann) [1627882] - [netdrv] iavf: rename i40e_status to iavf_status (Stefan Assmann) [1627882] - [netdrv] iavf: rename functions and structs to new name (Stefan Assmann) [1627882] - [netdrv] iavf: diet and reformat (Stefan Assmann) [1627882] - [netdrv] configs: enable CONFIG_IAVF=m (Stefan Assmann) [1627882] - [netdrv] intel-ethernet: rename i40evf to iavf (Stefan Assmann) [1627882] - [netdrv] i40e(vf): remove i40e_ethtool_stats.h header file (Stefan Assmann) [1627882] - [netdrv] i40evf: cancel workqueue sync for adminq when a VF is removed (Stefan Assmann) [1627882] - [netdrv] i40evf: Don't enable vlan stripping when rx offload is turned on (Stefan Assmann) [1627882] - [netdrv] i40evf: set IFF_UNICAST_FLT flag for the VF (Stefan Assmann) [1627882] - [netdrv] i40evf: Validate the number of queues a PF sends (Stefan Assmann) [1627882] - [netdrv] i40evf: Change a VF mac without reloading the VF driver (Stefan Assmann) [1627882] - [netdrv] i40evf: update ethtool stats code and use helper functions (Stefan Assmann) [1627882] - [netdrv] i40e: Add AQ command for rearrange NVM structure (Stefan Assmann) [1627882] - [netdrv] i40e: Add additional return code to i40e_asq_send_command (Stefan Assmann) [1627882] - [netdrv] i40e/i40evf: remove redundant functions i40evf_aq_(set/get)_phy_register (Stefan Assmann) [1627882] - [netdrv] cls_flower: fix error values for commands not supported by drivers (Stefan Assmann) [1627882] - [init] init/main.c: Enable watchdog_thresh control from kernel line (Prarit Bhargava) [1643161] - [s390] s390/purgatory: Remove duplicate variable definitions (Philipp Rudo) [1642447] - [s390] s390/purgatory: Add missing FORCE to Makefile targets (Philipp Rudo) [1642447] - [s390] s390/purgatory: Fix crash with expoline enabled (Philipp Rudo) [1642447] - [s390] s390: disable asm code expolines if cc does not support it (Philipp Rudo) [1642447] - [netdrv] Revert be2net: remove desc field from be_eq_obj (Ivan Vecera) [1639867]- [rpmspec] redhat: add optional bpf_samples package (Jiri Benc) [1611579] - [powerpc] powerpc/time: Fix clockevent_decrementer initalisation for PR KVM (Steve Best) [1641615] - [net] ip: frags: fix crash in ip_do_fragment() (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ipfrag: let ip(6)frag_high_thresh in ns be higher than in init_net (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ipv6: discard IP frag queue on more errors (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: fail fast on IP defrag errors (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: process in-order fragments efficiently (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: add helpers to process in-order fragments faster (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ipv6: defrag: drop non-last frags smaller than min mtu (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ipv4: frags: precedence bug in ip_expire() (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: use rb trees for IP frag queue (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] modify skb_rbtree_purge to return the truesize of all purged skbs (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: discard IPv4 datagrams with overlapping segments (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [fs] ovl: fix format of setxattr debug (Miklos Szeredi) [1636875] - [fs] ovl: fix access beyond unterminated strings (Miklos Szeredi) [1636875] - [fs] ovl: make symbol 'ovl_aops' static (Miklos Szeredi) [1636875] - [fs] vfs: swap names of (do,vfs)_clone_file_range() (Miklos Szeredi) [1636875] - [fs] ovl: fix freeze protection bypass in ovl_clone_file_range() (Miklos Szeredi) [1636875] - [fs] ovl: fix freeze protection bypass in ovl_write_iter() (Miklos Szeredi) [1636875] - [fs] ovl: fix memory leak on unlink of indexed file (Miklos Szeredi) [1636875] - [fs] ovl: fix oopses in ovl_fill_super() failure paths (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_fadvise() (Miklos Szeredi) [1636875] - [fs] vfs: implement readahead(2) using POSIX_FADV_WILLNEED (Miklos Szeredi) [1636875] - [fs] vfs: add the fadvise() file operation (Miklos Szeredi) [1636875] - [fs] Documentation/filesystems: update documentation of file_operations (Miklos Szeredi) [1636875] - [fs] ovl: fix GPF in swapfile_activate of file from overlayfs over xfs (Miklos Szeredi) [1636875] - [fs] ovl: respect FIEMAP_FLAG_SYNC flag (Miklos Szeredi) [1636875] - [fs] ovl: Enable metadata only feature (Miklos Szeredi) [1636875] - [fs] ovl: Do not do metacopy only for ioctl modifying file attr (Miklos Szeredi) [1636875] - [fs] ovl: Do not do metadata only copy-up for truncate operation (Miklos Szeredi) [1636875] - [fs] ovl: add helper to force data copy-up (Miklos Szeredi) [1636875] - [fs] ovl: Check redirect on index as well (Miklos Szeredi) [1636875] - [fs] ovl: Set redirect on upper inode when it is linked (Miklos Szeredi) [1636875] - [fs] ovl: Set redirect on metacopy files upon rename (Miklos Szeredi) [1636875] - [fs] ovl: Do not set dentry type ORIGIN for broken hardlinks (Miklos Szeredi) [1636875] - [fs] ovl: Add an inode flag OVL_CONST_INO (Miklos Szeredi) [1636875] - [fs] ovl: Treat metacopy dentries as type OVL_PATH_MERGE (Miklos Szeredi) [1636875] - [fs] ovl: Check redirects for metacopy files (Miklos Szeredi) [1636875] - [fs] ovl: Move some dir related ovl_lookup_single() code in else block (Miklos Szeredi) [1636875] - [fs] ovl: Do not expose metacopy only dentry from d_real() (Miklos Szeredi) [1636875] - [fs] ovl: Open file with data except for the case of fsync (Miklos Szeredi) [1636875] - [fs] ovl: Add helper ovl_inode_realdata() (Miklos Szeredi) [1636875] - [fs] ovl: Store lower data inode in ovl_inode (Miklos Szeredi) [1636875] - [fs] ovl: Fix ovl_getattr() to get number of blocks from lower (Miklos Szeredi) [1636875] - [fs] ovl: Add helper ovl_dentry_lowerdata() to get lower data dentry (Miklos Szeredi) [1636875] - [fs] ovl: Copy up meta inode data from lowest data inode (Miklos Szeredi) [1636875] - [fs] ovl: Modify ovl_lookup() and friends to lookup metacopy dentry (Miklos Szeredi) [1636875] - [fs] ovl: Use out_err instead of out_nomem (Miklos Szeredi) [1636875] - [fs] ovl: A new xattr OVL_XATTR_METACOPY for file on upper (Miklos Szeredi) [1636875] - [fs] ovl: Add helper ovl_already_copied_up() (Miklos Szeredi) [1636875] - [fs] ovl: Copy up only metadata during copy up where it makes sense (Miklos Szeredi) [1636875] - [fs] ovl: During copy up, first copy up metadata and then data (Miklos Szeredi) [1636875] - [fs] ovl: Provide a mount option metacopy=on/off for metadata copyup (Miklos Szeredi) [1636875] - [fs] ovl: Move the copy up helpers to copy_up.c (Miklos Szeredi) [1636875] - [fs] ovl: Initialize ovl_inode->redirect in ovl_get_inode() (Miklos Szeredi) [1636875] - [fs] ovl: fix documentation of non-standard behavior (Miklos Szeredi) [1636875] - [fs] ovl: obsolete "check_copy_up" module option (Miklos Szeredi) [1636875] - [fs] vfs: remove open_flags from d_real() (Miklos Szeredi) [1636875] - [fs] Revert "fsnotify: support overlayfs" (Miklos Szeredi) [1636875] - [fs] Partially revert "locks: fix file locking on overlayfs" (Miklos Szeredi) [1636875] - [fs] Revert "vfs: do get_write_access() on upper layer of overlayfs" (Miklos Szeredi) [1636875] - [fs] Revert "vfs: add flags to d_real()" (Miklos Szeredi) [1636875] - [fs] Revert "vfs: update ovl inode before relatime check" (Miklos Szeredi) [1636875] - [fs] Revert "ovl: fix relatime for directories" (Miklos Szeredi) [1636875] - [fs] vfs: fix freeze protection in mnt_want_write_file() for overlayfs (Miklos Szeredi) [1636875] - [fs] Revert "ovl: don't allow writing ioctl on lower layer" (Miklos Szeredi) [1636875] - [fs] Revert "ovl: fix may_write_real() for overlayfs directories" (Miklos Szeredi) [1636875] - [fs] vfs: don't open real (Miklos Szeredi) [1636875] - [fs] ovl: add reflink/copyfile/dedup support (Miklos Szeredi) [1636875] - [fs] ovl: add O_DIRECT support (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_fiemap() (Miklos Szeredi) [1636875] - [fs] ovl: add lsattr/chattr support (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_fallocate() (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_mmap() (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_fsync() (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_write_iter() (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_read_iter() (Miklos Szeredi) [1636875] - [fs] ovl: add helper to return real file (Miklos Szeredi) [1636875] - [fs] ovl: stack file ops (Miklos Szeredi) [1636875] - [fs] ovl: deal with overlay files in ovl_d_real() (Miklos Szeredi) [1636875] - [fs] ovl: copy up file size as well (Miklos Szeredi) [1636875] - [fs] Revert "Revert "ovl: get_write_access() in truncate"" (Miklos Szeredi) [1636875] - [fs] ovl: copy up inode flags (Miklos Szeredi) [1636875] - [fs] ovl: copy up times (Miklos Szeredi) [1636875] - [fs] vfs: export vfs_dedupe_file_range_one() to modules (Miklos Szeredi) [1636875] - [fs] vfs: export vfs_ioctl() to modules (Miklos Szeredi) [1636875] - [fs] vfs: make open_with_fake_path() not contribute to nr_files (Miklos Szeredi) [1636875] - [fs] ovl: fix wrong use of impure dir cache in ovl_iterate() (Miklos Szeredi) [1636875] - [fs] new helper: open_with_fake_path() (Miklos Szeredi) [1636875] - [fs] now we can fold open_check_o_direct() into do_dentry_open() (Miklos Szeredi) [1636875] - [fs] lift fput() on late failures into path_openat() (Miklos Szeredi) [1636875] - [fs] fold put_filp() into fput() (Miklos Szeredi) [1636875] - [fs] introduce FMODE_OPENED (Miklos Szeredi) [1636875] - [fs] ->file_open(): lose cred argument (Miklos Szeredi) [1636875] - [fs] security_file_open(): lose cred argument (Miklos Szeredi) [1636875] - [fs] get rid of cred argument of vfs_open() and do_dentry_open() (Miklos Szeredi) [1636875] - [fs] pass ->f_flags value to alloc_empty_file() (Miklos Szeredi) [1636875] - [fs] pass creds to get_empty_filp(), make sure dentry_open() passes the right creds (Miklos Szeredi) [1636875] - [fs] alloc_file(): switch to passing O_... flags instead of FMODE_... mode (Miklos Szeredi) [1636875] - [fs] make sure do_dentry_open() won't return positive as an error (Miklos Szeredi) [1636875] - [fs] create_pipe_files(): use fput() if allocation of the second file fails (Miklos Szeredi) [1636875] - [fs] turn filp_clone_open() into inline wrapper for dentry_open() (Miklos Szeredi) [1636875] - [fs] fold security_file_free() into file_free() (Miklos Szeredi) [1636875] - [fs] vfs: dedupe: extract helper for a single dedup (Miklos Szeredi) [1636875] - [fs] vfs: dedupe: rationalize args (Miklos Szeredi) [1636875] - [fs] vfs: dedupe: return int (Miklos Szeredi) [1636875] - [fs] vfs: limit size of dedupe (Miklos Szeredi) [1636875] - [fs] ovl: set I_CREATING on inode being created (Miklos Szeredi) [1636875]- [rpmspec] redhat spec: Add new perf tools file (Jiri Olsa) [1579484] - [tools] perf tools: Fix use of alternatives to find JDIR (Jiri Olsa) [1579484] - [net] net: sock_diag: Fix spectre v1 gadget in __sock_diag_cmd() (Paolo Abeni) [1637576] - [thunderbolt] thunderbolt: Add Intel as copyright holder (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Convert rest of the driver files to use SPDX identifier (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Print connected devices (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Make the driver less verbose (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Remove a meaningless NULL pointer check before dma_pool_destroy (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Initialize after IOMMUs (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Do not handle ICM events after domain is stopped (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Add support for runtime PM (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Remove redundant variable 'approved' (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Use correct ICM commands in system suspend (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: No need to take tb->lock in domain suspend/complete (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Do not unnecessarily call ICM get route (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Use 64-bit DMA mask if supported by the platform (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Fix small typo in variable name (Jarod Wilson) [1588929] - [mm] Revert x86/e820: put !E820_TYPE_RAM regions into memblock.reserved (Baoquan He) [1639450] - [mm] mm: return zero_resv_unavail optimization (Baoquan He) [1639450] - [mm] mm: zero remaining unavailable struct pages (Baoquan He) [1639450] - [mm] mm: skip invalid pages block at a time in zero_resv_unresv() (Baoquan He) [1639450] - [mm] docs/mm: memblock: update kernel-doc comments (Baoquan He) [1639450] - [mm] mm/memblock: add a name for memblock flags enumeration (Baoquan He) [1639450] - [block] blk-wbt: wake up all when we scale up, not down (Ming Lei) [1640035]- [video] fbdev: make FB_BACKLIGHT a tristate (Rob Clark) [1589158] - [kernel] EDAC: Raise the maximum number of memory controllers (Aristeu Rozanski) [1634077] - [netdrv] i40e: disallow changing the number of descriptors when AF_XDP is on (Stefan Assmann) [1630760] - [netdrv] i40e: clean zero-copy XDP Rx ring on shutdown/reset (Stefan Assmann) [1630760] - [netdrv] i40e: clean zero-copy XDP Tx ring on shutdown/reset (Stefan Assmann) [1630760] - [netdrv] i40e: Remove unused msglen parameter from virtchnl functions (Stefan Assmann) [1630760] - [netdrv] i40e: fix double 'NIC Link is Down' messages (Stefan Assmann) [1630760] - [netdrv] i40e: add a helper function to validate a VF based on the vf id (Stefan Assmann) [1630760] - [netdrv] i40e: use declared variables for pf and hw (Stefan Assmann) [1630760] - [netdrv] i40e: Unset promiscuous settings on VF reset (Stefan Assmann) [1630760] - [netdrv] i40e: Fix VF's link state notification (Stefan Assmann) [1630760] - [netdrv] intel-ethernet: use correct module license (Stefan Assmann) [1630760] - [netdrv] i40e(vf): remove i40e_ethtool_stats.h header file (Stefan Assmann) [1630760] - [netdrv] i40e: fix possible compiler warning in xsk TX path (Stefan Assmann) [1630760] - [netdrv] i40e: add AF_XDP zero-copy Tx support (Stefan Assmann) [1630760] - [netdrv] i40e: move common Tx functions to i40e_txrx_common.h (Stefan Assmann) [1630760] - [netdrv] xsk: i40e: get rid of useless struct xdp_umem_props (Stefan Assmann) [1630760] - [netdrv] i40e: add AF_XDP zero-copy Rx support (Stefan Assmann) [1630760] - [netdrv] i40e: move common Rx functions to i40e_txrx_common.h (Stefan Assmann) [1630760] - [netdrv] i40e: refactor Rx path for re-use (Stefan Assmann) [1630760] - [netdrv] i40e: added queue pair disable/enable functions (Stefan Assmann) [1630760] - [netdrv] i40e: Prevent deleting MAC address from VF when set by PF (Stefan Assmann) [1630760] - [netdrv] i40e: hold the rtnl lock on clearing interrupt scheme (Stefan Assmann) [1630760] - [netdrv] i40e: Check and correct speed values for link on open (Stefan Assmann) [1630760] - [netdrv] i40e: report correct statistics when XDP is enabled (Stefan Assmann) [1630760] - [netdrv] i40e: static analysis report from community (Stefan Assmann) [1630760] - [netdrv] i40e: use correct length for strncpy (Stefan Assmann) [1630760] - [netdrv] i40evf: Change a VF mac without reloading the VF driver (Stefan Assmann) [1630760] - [netdrv] i40e: move ethtool stats boiler plate code to i40e_ethtool_stats.h (Stefan Assmann) [1630760] - [netdrv] i40e: convert queue stats to i40e_stats array (Stefan Assmann) [1630760] - [netdrv] i40e: fix condition of WARN_ONCE for stat strings (Stefan Assmann) [1630760] - [netdrv] i40e_txrx: mark expected switch fall-through (Stefan Assmann) [1630760] - [netdrv] i40e_main: mark expected switch fall-through (Stefan Assmann) [1630760] - [netdrv] i40e: fix i40e_add_queue_stats data pointer update (Stefan Assmann) [1630760] - [netdrv] i40e: Add AQ command for rearrange NVM structure (Stefan Assmann) [1630760] - [netdrv] i40e: Add additional return code to i40e_asq_send_command (Stefan Assmann) [1630760] - [netdrv] i40e: fix warning about shadowed ring parameter (Stefan Assmann) [1630760] - [netdrv] i40e: remove unnecessary i variable causing -Wshadow warning (Stefan Assmann) [1630760] - [netdrv] i40e: convert priority flow control stats to use helpers (Stefan Assmann) [1630760] - [netdrv] i40e: convert VEB TC stats to use an i40e_stats array (Stefan Assmann) [1630760] - [netdrv] i40e: Set fec_config when forcing link state (Stefan Assmann) [1630760] - [netdrv] i40e: add helper to copy statistic values into ethtool buffer (Stefan Assmann) [1630760] - [netdrv] i40e: add helper function for copying strings from stat arrays (Stefan Assmann) [1630760] - [netdrv] i40e: Remove duplicated prepare call in i40e_shutdown (Stefan Assmann) [1630760] - [netdrv] cls_flower: fix error values for commands not supported by drivers (Stefan Assmann) [1630760] - [netdrv] net: drivers/net: Convert random_ether_addr to eth_random_addr (Stefan Assmann) [1630760] - [net] ipv4: don't let PMTU updates increase route MTU (Sabrina Dubroca) [1638845] - [net] ipv4: update fnhe_pmtu when first hop's MTU changes (Sabrina Dubroca) [1638845] - [net] xsk: add a simple buffer reuse queue (Ivan Vecera) [1634774] - [net] samples/bpf: add -c/--copy -z/--zero-copy flags to xdpsock (Ivan Vecera) [1634774] - [net] add napi_if_scheduled_mark_missed (Ivan Vecera) [1634774] - [net] xsk: expose xdp_umem_get_(data, dma) to drivers (Ivan Vecera) [1634774] - [net] xdp: export xdp_rxq_info_unreg_mem_model (Ivan Vecera) [1634774] - [net] xdp: implement convert_to_xdp_frame for MEM_TYPE_ZERO_COPY (Ivan Vecera) [1634774] - [net] xdp: Helper function to clear kernel pointers in xdp_frame (Ivan Vecera) [1634774] - [net] xsk: i40e: get rid of useless struct xdp_umem_props (Ivan Vecera) [1631809] - [net] xdp: fix uninitialized 'err' variable (Ivan Vecera) [1631805] - [tools] headers uapi: Update tools's copy of linux/if_link.h (Ivan Vecera) [1631805] - [tools] selftests/bpf: add test for multiple programs (Ivan Vecera) [1631805] - [net] netdevsim: add support for simultaneous driver and hw XDP (Ivan Vecera) [1631805] - [net] xdp: support simultaneous driver and hw XDP attachment (Ivan Vecera) [1631805] - [net] xdp: factor out common program/flags handling from drivers (Ivan Vecera) [1631805] - [net] xdp: don't make drivers report attachment mode (Ivan Vecera) [1631805] - [net] xdp: add per mode attributes for attached programs (Ivan Vecera) [1631805] - [net] sched: cls_flower: set correct offload data in fl_reoffload (Ivan Vecera) [1631522] - [net] sched: call reoffload op on block callback reg (Ivan Vecera) [1631522] - [net] sched: cls_bpf: implement offload tcf_proto_op (Ivan Vecera) [1631522] - [net] sched: cls_u32: implement offload tcf_proto_op (Ivan Vecera) [1631522] - [net] sched: cls_matchall: implement offload tcf_proto_op (Ivan Vecera) [1631522] - [net] sched: cls_flower: implement offload tcf_proto_op (Ivan Vecera) [1631522] - [net] sched: add tcf_proto_op to offload a rule (Ivan Vecera) [1631522] - [net] sched: pass extack pointer to block binds and cb registration (Ivan Vecera) [1631522]- [rpmspec] kernel.spec: s390/zfcpdump: add -zfcpdump kernel variant (Philipp Rudo) [1567291] - [kernel] rh_taint: correct loaddable module support dependencies (Philipp Rudo) [1567291] - [powerpc] KVM: PPC: Book3S HV: Avoid crash from THP collapse during radix page fault (David Gibson) [1639555] - [irqchip] irqchip/gic-v3-its: Allow use of LPI tables in reserved memory (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Register LPI tables with EFI config table (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Check that all RDs have the same property table (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Use pre-programmed redistributor tables with kdump kernels (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Allow use of pre-programmed LPI tables (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Keep track of property table's PA and VA (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Move pending table allocation to init time (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Split property table clearing from allocation (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Simplify LPI_PENDBASE_SZ usage (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Change initialization ordering for LPIs (Jeremy Linton) [1625746] - [firmware] efi: add API to reserve memory persistently across kexec reboot (Jeremy Linton) [1625746] - [firmware] efi/arm: libstub: add a root memreserve config table (Jeremy Linton) [1625746] - [firmware] efi: honour memory reservations passed via a linux specific config table (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Cap lpi_id_bits to reduce memory footprint (Jeremy Linton) [1625746] - [infiniband] RDMA/bnxt_re: Fix system crash during RDMA resource initialization (Selvin Xavier) [1637122] - [infiniband] RDMA/bnxt_re: Fix couple of memory leaks that could lead to IOMMU call traces (Selvin Xavier) [1637120] - [arm64] arm64: KVM: Sanitize PSTATE.M when being set from userspace (Wei Huang) [1635721] {CVE-2018-18021} - [arm64] arm64: KVM: Tighten guest core register access from userspace (Wei Huang) [1635721] {CVE-2018-18021} - [fs] fs/cifs: require sha512 (Leif Sahlberg) [1610619] - [fs] smb3: simplify code by removing CONFIG_CIFS_SMB311 (Leif Sahlberg) [1610619] - [fs] smb3: add support for statfs for smb3.1.1 posix extensions (Leif Sahlberg) [1610619] - [fs] cifs: allow disabling insecure dialects in the config (Leif Sahlberg) [1610619] - [fs] smb3: if server does not support posix do not allow posix mount option (Leif Sahlberg) [1610619]- [security] cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias() (Joe Lawrence) [1638647] - [powerpc] powerpc/cacheinfo: Report the correct shared_cpu_map on big-cores (Steve Best) [1639265] - [powerpc] powerpc: Use cpu_smallcore_sibling_mask at SMT level on bigcores (Steve Best) [1639265] - [powerpc] powerpc: Detect the presence of big-cores via ibm, thread-groups (Steve Best) [1639265] - [x86] mark amd rome as unsupported (David Arcari) [1638506] - [netdrv] qed: Add support for virtual link (Chad Dupuis) [1638013] - [netdrv] qede: Add driver support for 20G link speed (Chad Dupuis) [1638013] - [netdrv] qed: Add driver support for 20G link speed (Chad Dupuis) [1638013] - [netdrv] qed: Fix shmem structure inconsistency between driver and the mfw (Chad Dupuis) [1638013] - [netdrv] qed: Add missing device config for RoCE EDPM in UFP mode (Chad Dupuis) [1638013] - [netdrv] qed: Add a flag which indicates if offload TC is set (Chad Dupuis) [1638013] - [netdrv] qed: Do not add VLAN 0 tag to untagged frames in multi-function mode (Chad Dupuis) [1638013] - [netdrv] qed: Fix populating the invalid stag value in multi function mode (Chad Dupuis) [1638013] - [tools] perf python: Fix pyrf_evlist__read_on_cpu() interface (Jiri Olsa) [1628229] - [tools] perf mmap: Store real cpu number in 'struct perf_mmap' (Jiri Olsa) [1628229]- [fs] gfs2: Fix iomap buffered write support for journaled files (2) (Andreas Grunbacher) [1637944] - [xen] xen/manage: don't complain about an empty value in control/sysrq node (Vitaly Kuznetsov) [1623344] - [drm] drm/amdgpu: Silence harmless WARN_ON() during MST disable (Lyude Paul) [1638137] - [netdrv] net: macb: Fix regression breaking non-MDIO fixed-link PHYs (Petr Oros) [1638259] - [netdrv] net: macb: do not disable MDIO bus at open/close time (Petr Oros) [1638259] - [fs] proc: restrict kernel stack dumps to root (Waiman Long) [1638044] - [base] firmware: Always initialize the fw_priv list object (Waiman Long) [1638044] - [base] firmware: Fix security issue with request_firmware_into_buf() (Waiman Long) [1638044] - [fs] sysfs: Do not return POSIX ACL xattrs via listxattr (Waiman Long) [1638044] - [fs] vfs: don't evict uninitialized inode (Waiman Long) [1638044] - [fs] new primitive: discard_new_inode() (Waiman Long) [1638044] - [arm64] arm64: jump_label.h: use asm_volatile_goto macro instead of "asm goto" (Waiman Long) [1638044] - [kernel] sched/topology: Set correct NUMA topology type (Waiman Long) [1638044] - [kernel] bpf: 32-bit RSH verification must truncate input before the ALU op (Waiman Long) [1638044] - [mm] mm: madvise(MADV_DODUMP): allow hugetlbfs pages (Waiman Long) [1638044] - [x86] x86/pti: Fix section mismatch warning/error (Waiman Long) [1638044] - [kernel] uaccess: Fix is_source param for check_copy_size() in copy_to_iter_mcsafe() (Waiman Long) [1638044] - [x86] x86/mm: Expand static page table for fixmap space (Waiman Long) [1638044] - [fs] fs/lock: skip lock owner pid translation in case we are in init_pid_ns (Waiman Long) [1638044] - [x86] perf/x86/intel/lbr: Fix incomplete LBR call stack (Waiman Long) [1638044] - [kernel] perf/hw_breakpoint: Split attribute parse and commit (Waiman Long) [1638044] - [kernel] bitfield: fix *_encode_bits() (Waiman Long) [1638044] - [kernel] posix-timers: Sanitize overrun handling (Waiman Long) [1638044] - [kernel] posix-timers: Make forward callback return s64 (Waiman Long) [1638044] - [kernel] alarmtimer: Prevent overflow for relative nanosleep (Waiman Long) [1638044] - [x86] x86/entry/64: Add two more instruction suffixes (Waiman Long) [1638044] - [powerpc] powerpc/kdump: Handle crashkernel memory reservation failure (Waiman Long) [1638044] - [s390] s390/mm: correct allocate_pgste proc_handler callback (Waiman Long) [1638044] - [x86] x86/numa_emulation: Fix emulated-to-physical node mapping (Waiman Long) [1638044] - [x86] x86/paravirt: Fix some warning messages (Waiman Long) [1638044] - [kernel] sched/fair: Fix vruntime_normalized() for remote non-migration wakeup (Waiman Long) [1638044] - [kernel] bpf/verifier: disallow pointer subtraction (Waiman Long) [1638044] - [mm] mm: shmem.c: Correctly annotate new inodes for lockdep (Waiman Long) [1638044] - [kernel] sched/core: Use smp_mb() in wake_woken_function() (Waiman Long) [1638044] - [kernel] bpf: fix rcu annotations in compute_effective_progs() (Waiman Long) [1638044] - [x86] x86/mm/pti: Add an overflow check to pti_clone_pmds() (Waiman Long) [1638044] - [x86] x86/pti: Check the return value of pti_user_pagetable_walk_pmd() (Waiman Long) [1638044] - [x86] x86/pti: Check the return value of pti_user_pagetable_walk_p4d() (Waiman Long) [1638044] - [powerpc] powerpc/pseries/mm: call H_BLOCK_REMOVE (Steve Best) [1637116] - [powerpc] powerpc/pseries/mm: factorize PTE slot computation (Steve Best) [1637116] - [powerpc] powerpc/pseries/mm: Introducing FW_FEATURE_BLOCK_REMOVE (Steve Best) [1637116] - [watchdog] watchdog/hpwdt: Disable PreTimeout when Timeout is smaller (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Update Driver Documentation (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Update version number (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Module parameter alias (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Display module parameters (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Claim NMI from iLO (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Initialize pretimeout from module parameter (Joseph Szczypek) [1632945]- [mm] mm/sparse: delete old sparse_init and enable new one (Baoquan He) [1625105] - [mm] mm/sparse: add new sparse_init_nid() and sparse_init() (Baoquan He) [1625105] - [mm] mm/sparse: move buffer init/fini to the common place (Baoquan He) [1625105] - [mm] mm/sparse: use the new sparse buffer functions in non-vmemmap (Baoquan He) [1625105] - [mm] mm/sparse: abstract sparse buffer allocations (Baoquan He) [1625105] - [mm] mm/sparse: optimize memmap allocation during sparse_init() (Baoquan He) [1625105] - [mm] mm/sparse.c: add a new parameter 'data_unit_size' for alloc_usemap_and_memmap (Baoquan He) [1625105] - [mm] mm/sparsemem.c: defer the ms->section_mem_map clearing (Baoquan He) [1625105] - [mm] mm/sparse.c: add a static variable nr_present_sections (Baoquan He) [1625105] - [mm] mm/sparse.c: make sparse_init_one_section void and remove check (Baoquan He) [1625105] - [target] scsi: target: iscsi: cxgbit: fix csk leak (Arjun Vynipadath) [1628864] - [target] scsi: target: iscsi: cxgbit: use pr_debug() instead of pr_info() (Arjun Vynipadath) [1628864] - [infiniband] iw_cxgb4: only allow 1 flush on user qps (Arjun Vynipadath) [1628865] - [infiniband] iw_cxgb4: pass window scale in flowc work request (Arjun Vynipadath) [1628865] - [infiniband] iw_cxgb4: remove duplicate memcpy() in c4iw_create_listen() (Arjun Vynipadath) [1628865] - [netdrv] mlxsw: spectrum_switchdev: Do not leak RIFs when removing bridge (Petr Oros) [1638268] - [tty] tty: vt_ioctl: fix potential Spectre v1 (Prarit Bhargava) [1637123] - [powerpc] powerpc/time: Add set_state_oneshot_stopped decrementer callback (Steve Best) [1638287] - [powerpc] powerpc/time: Use clockevents_register_device(), fixing an issue with large decrementer (Steve Best) [1638287] - [hwmon] hwmon: (nct6775) Fix potential Spectre v1 (Dean Nelson) [1637464] - [vfio] vfio-pci: Disable binding to PFs with SR-IOV enabled (Alex Williamson) [1637871] - [netdrv] net: hns3: fix page_offset overflow when CONFIG_ARM64_64K_PAGES (Petr Oros) [1638385] - [netdrv] net: hns: fix skb->truesize underestimation (Petr Oros) [1638385] - [netdrv] net: hns: fix length and page_offset overflow when CONFIG_ARM64_64K_PAGES (Petr Oros) [1638385] - [netdrv] net: hns3: Fix get_vector ops in hclgevf_main module (Petr Oros) [1638385] - [netdrv] net: hns3: Fix warning bug when doing lp selftest (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for mac pause not disable in pfc mode (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for mailbox message truncated problem (Petr Oros) [1638385] - [netdrv] net: hns3: Fix return value error in hns3_reset_notify_down_enet (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for reset_level default assignment probelm (Petr Oros) [1638385] - [netdrv] net: hns3: Reset net device with rtnl_lock (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for phy link issue when using marvell phy driver (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for command format parsing error in hclge_is_all_function_id_zero (Petr Oros) [1638385] - [net] xprtrdma: Fix disconnect regression (Don Dutile) [1635418] - [infiniband] RDMA/uverbs: Fix validity check for modify QP (Don Dutile) [1635418] - [infiniband] IB/srp: Avoid that sg_reset -d $srp_device triggers an infinite loop (Don Dutile) [1635418] - [infiniband] ucma: fix a use-after-free in ucma_resolve_ip() (Don Dutile) [1635418] - [infiniband] RDMA/uverbs: Atomically flush and mark closed the comp event queue (Don Dutile) [1635418] - [infiniband] RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW (Don Dutile) [1635418 1623100] - [infiniband] RDMA/cma: Protect cma dev list with lock (Don Dutile) [1635418] - [infiniband] IB/ipoib: Avoid a race condition between start_xmit and cm_rep_handler (Don Dutile) [1635418] - [infiniband] RDMA/ucma: check fd type in ucma_migrate_id() (Don Dutile) [1635418] - [infiniband] RDMA/rxe: Set wqe->status correctly if an unexpected response is received (Don Dutile) [1635418] - [infiniband] IB/IPoIB: Set ah valid flag in multicast send flow (Don Dutile) [1635418] - [infiniband] RDMA/core: Avoid holding lock while initializing fields on stack (Don Dutile) [1635418] - [infiniband] IB/rxe: Drop QP0 silently (Don Dutile) [1635418] - [infiniband] RDMA/umem: Don't hold mmap_sem for too long (Don Dutile) [1635418] - [infiniband] IB/srpt: Fix srpt_cm_req_recv() error path (2/2) (Don Dutile) [1635418] - [infiniband] IB/srpt: Fix srpt_cm_req_recv() error path (1/2) (Don Dutile) [1635418] - [infiniband] RDMA: Fix storage of PortInfo CapabilityMask in the kernel (Don Dutile) [1635418] - [infiniband] IB/core: type promotion bug in rdma_rw_init_one_mr() (Don Dutile) [1635418] - [infiniband] RDMA/i40w: Hold read semaphore while looking after VMA (Don Dutile) [1635418] - [infiniband] vmw_pvrdma: Release netdev when vmxnet3 module is removed (Don Dutile) [1635418] - [infiniband] ib_srpt: Fix a use-after-free in __srpt_close_all_ch() (Don Dutile) [1635418] - [infiniband] ib_srpt: Fix a use-after-free in srpt_close_ch() (Don Dutile) [1635418] - [infiniband] IB/srpt: Support HCAs with more than two ports (Don Dutile) [1635418] - [infiniband] IB/rxe: don't clear the tx queue on every transfer (Don Dutile) [1635418] - [infiniband] IB/core: add max_send_sge and max_recv_sge attributes (Don Dutile) [1635418 1623100] - [infiniband] IB/rxe: support for 802.1q VLAN on the listener (Don Dutile) [1635418] - [netdrv] cxgb4: impose mandatory VLAN usage when non-zero TAG ID (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: when max_tx_rate is 0 disable tx rate limiting (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: do not return DUPLEX_UNKNOWN when link is down (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: expose stats fetched from firmware via debugfs (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: remove stats fetched from firmware (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: specify IQTYPE in fw_iq_cmd (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: Fix the condition to check if the card is T5 (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: Support ethtool private flags (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: Add support for FW_ETH_TX_PKT_VM_WR (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: Add flag tc_flower_initialized (Arjun Vynipadath) [1628863] - [s390] s390/zcrypt: remove VLA usage from the AP bus (Philipp Rudo) [1637865] - [s390] s390/ap_bus: replace PTR_RET with PTR_ERR_OR_ZERO (Philipp Rudo) [1637865] - [s390] s390/crypto: fix gcc 8 stringop-truncation warning (Philipp Rudo) [1637865] - [s390] s390/zcrypt: code beautify (Philipp Rudo) [1637865] - [s390] s390/zcrypt: add copy_from_user length plausibility checks (Philipp Rudo) [1637865] - [s390] s390/zcrypt: Show load of cards and queues in sysfs (Philipp Rudo) [1637865] - [s390] s390/kvm: fix deadlock when killed by oom (Philipp Rudo) [1638264] - [fs] xfs: fix data corruption w/ unaligned reflink ranges (Brian Foster) [1633476] - [fs] xfs: fix data corruption w/ unaligned dedupe ranges (Brian Foster) [1633476] - [fs] xfs: update ctime and remove suid before cloning files (Brian Foster) [1633476] - [fs] xfs: zero posteof blocks when cloning above eof (Brian Foster) [1633476] - [fs] xfs: refactor clonerange preparation into a separate helper (Brian Foster) [1633476] - [netdrv] nfp: avoid buffer leak when FW communication fails (Petr Oros) [1638233] - [netdrv] nfp: don't fail probe on pci_sriov_set_totalvfs() errors (Petr Oros) [1638233] - [netdrv] nfp: wait for posted reconfigs when disabling the device (Petr Oros) [1638233] - [netdrv] liquidio: fix hang when re-binding VF host drv after running DPDK VF driver (Petr Oros) [1638224] - [netdrv] r8169: set RxConfig after tx/rx is enabled for RTL8169sb/8110sb devices (Petr Oros) [1638210] - [netdrv] r8169: add support for NCube 8168 network card (Petr Oros) [1638210] - [netdrv] r8169: don't use MSI-X on RTL8106e (Petr Oros) [1638210] - [netdrv] r8169: don't use MSI-X on RTL8168g (Petr Oros) [1638210] - [powerpc] KVM: PPC: Book3S HV: Fix guest r11 corruption with POWER9 TM workarounds (David Gibson) [1637766] - [drm] drm/amdgpu: Suppress keypresses from ACPI_VIDEO events (Lyude Paul) [1631918] - [infiniband] IB/hfi1: Remove race conditions in user_sdma send path (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Eliminate races in the SDMA send error path (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Fix destroy_qp hang after a link down (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Fix context recovery when PBC has an UnsupportedVL (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Invalid user input can result in crash (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Fix SL array bounds check (Alex Estrin) [1637068] - [powerpc] powerpc/fadump: re-register firmware-assisted dump if already registered (Steve Best) [1637383] - [powerpc] powerpc/fadump: cleanup crash memory ranges support (Steve Best) [1637383] - [powerpc] powerpc/fadump: merge adjacent memory ranges to reduce PT_LOAD segements (Steve Best) [1637383] - [powerpc] powerpc/fadump: handle crash memory ranges array index overflow (Steve Best) [1637383] - [scsi] scsi: qedi: Initialize the stats mutex lock (Chad Dupuis) [1637245] - [fs] gfs2: Fix iomap buffered write support for journaled files (Andreas Grunbacher) [1637944] - [fs] gfs2: eliminate update_rgrp_lvb_unlinked (Andreas Grunbacher) [1637944] - [fs] gfs2: Fix gfs2_testbit to use clone bitmaps (Andreas Grunbacher) [1637944] - [fs] gfs2: Get rid of gfs2_ea_strlen (Andreas Grunbacher) [1637944] - [fs] GFS2: rgrp free blocks used incorrectly (Andreas Grunbacher) [1637944] - [fs] gfs2: remove redundant variable 'moved' (Andreas Grunbacher) [1637944] - [fs] gfs2: use iomap_readpage for blocksize == PAGE_SIZE (Andreas Grunbacher) [1637944] - [fs] gfs2: Use iomap for stuffed direct I/O reads (Andreas Grunbacher) [1637944] - [fs] gfs2: fallocate_chunk: Always initialize struct iomap (Andreas Grunbacher) [1637944] - [fs] gfs2: Remove gfs2_write_(begin,end) (Andreas Grunbacher) [1637944] - [fs] gfs2: iomap direct I/O support (Andreas Grunbacher) [1637944] - [fs] gfs2: gfs2_extent_length cleanup (Andreas Grunbacher) [1637944] - [fs] gfs2: iomap buffered write support (Andreas Grunbacher) [1637944] - [fs] gfs2: Further iomap cleanups (Andreas Grunbacher) [1637944] - [fs] fs: gfs2: Adding new return type vm_fault_t (Andreas Grunbacher) [1637944] - [fs] gfs2: using posix_acl_xattr_size instead of posix_acl_to_xattr (Andreas Grunbacher) [1637944] - [fs] gfs2: Don't reject a supposedly full bitmap if we have blocks reserved (Andreas Grunbacher) [1637944] - [fs] gfs2: Eliminate redundant ip->i_rgd (Andreas Grunbacher) [1637944] - [fs] gfs2: Stop messing with ip->i_rgd in the rlist code (Andreas Grunbacher) [1637944] - [fs] gfs2: call ktime_get_coarse_real_ts64() directly (Andreas Grunbacher) [1637944] - [fs] gfs2: Minor clarification to __gfs2_punch_hole (Andreas Grunbacher) [1637944] - [fs] gfs2: Don't withdraw under a spin lock (Andreas Grunbacher) [1637944] - [fs] gfs2: eliminate rs_inum and reduce the size of gfs2 inodes (Andreas Grunbacher) [1637944] - [drm] drm/nouveau/drm/nouveau: Grab runtime PM ref in nv50_mstc_detect() (Lyude Paul) [1628749] - [drm] drm/nouveau/disp: fix DP disable race (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Don't forget to cancel hpd_work on suspend/unload (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Prevent handling ACPI HPD events too early (Lyude Paul) [1628749] - [drm] drm/nouveau: Reset MST branching unit before enabling (Lyude Paul) [1628749] - [drm] drm/nouveau: Only write DP_MSTM_CTRL when needed (Lyude Paul) [1628749] - [drm] drm/nouveau: Remove useless poll_enable() call in drm_load() (Lyude Paul) [1628749] - [drm] drm/nouveau: Remove useless poll_disable() call in switcheroo_set_state() (Lyude Paul) [1628749] - [drm] drm/nouveau: Remove useless poll_enable() call in switcheroo_set_state() (Lyude Paul) [1628749] - [drm] drm/nouveau: Fix deadlocks in nouveau_connector_detect() (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Use pm_runtime_get_noresume() in connector_detect() (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Fix deadlock with fb_helper with async RPM requests (Lyude Paul) [1628749] - [drm] drm/nouveau: Remove duplicate poll_enable() in pmops_runtime_suspend() (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement (Lyude Paul) [1628749] - [md] dm table: require that request-based DM be layered on blk-mq devices (Mike Snitzer) [1637682] - [md] dm: rename DM_TYPE_MQ_REQUEST_BASED to DM_TYPE_REQUEST_BASED (Mike Snitzer) [1637682] - [md] dm: remove legacy request-based IO path (Mike Snitzer) [1637682] - [md] dm linear: fix linear_end_io conditional definition (Mike Snitzer) [1637682] - [md] dm linear: eliminate linear_end_io call if CONFIG_DM_ZONED disabled (Mike Snitzer) [1637682] - [md] dm: fix report zone remapping to account for partition offset (Mike Snitzer) [1637682] - [md] dm cache: destroy migration_cache if cache target registration failed (Mike Snitzer) [1637682] - [md] dm cache: fix resize crash if user doesn't reload cache table (Mike Snitzer) [1637682] - [md] dm cache metadata: ignore hints array being too small during resize (Mike Snitzer) [1637682] - [md] dm raid: remove bogus const from decipher_sync_action() return type (Mike Snitzer) [1637682] - [md] dm mpath: fix attached_handler_name leak and dangling hw_handler_name pointer (Mike Snitzer) [1637682] - [md] dm thin metadata: fix __udivdi3 undefined on 32-bit (Mike Snitzer) [1637682] - [md] dm thin metadata: try to avoid ever aborting transactions (Mike Snitzer) [1637682] - [md] dm raid: bump target version, update comments and documentation (Mike Snitzer) [1637682] - [md] dm raid: fix RAID leg rebuild errors (Mike Snitzer) [1637682] - [md] dm raid: fix rebuild of specific devices by updating superblock (Mike Snitzer) [1637682] - [md] dm raid: fix stripe adding reshape deadlock (Mike Snitzer) [1637682] - [md] dm raid: fix reshape race on small devices (Mike Snitzer) [1637682] - [md] dm: disable CRYPTO_TFM_REQ_MAY_SLEEP to fix a GFP_KERNEL recursion deadlock (Mike Snitzer) [1637682] - [md] dm verity: fix crash on bufio buffer that was allocated with vmalloc (Mike Snitzer) [1637682] - [md] dm writecache: fix a crash due to reading past end of dirty_bitmap (Mike Snitzer) [1637682] - [md] dm crypt: don't decrease device limits (Mike Snitzer) [1637682] - [md] dm cache metadata: set dirty on all cache blocks after a crash (Mike Snitzer) [1637682] - [md] dm snapshot: remove stale FIXME in snapshot_map() (Mike Snitzer) [1637682] - [md] dm snapshot: improve performance by switching out_of_order_list to rbtree (Mike Snitzer) [1637682] - [md] dm kcopyd: avoid softlockup in run_complete_job (Mike Snitzer) [1637682] - [md] dm cache metadata: save in-core policy_hint_size to on-disk superblock (Mike Snitzer) [1637682] - [md] dm thin: stop no_space_timeout worker when switching to write-mode (Mike Snitzer) [1637682] - [md] dm kcopyd: return void from dm_kcopyd_copy() (Mike Snitzer) [1637682] - [md] dm thin: include metadata_low_watermark threshold in pool status (Mike Snitzer) [1637682] - [md] dm writecache: report start_sector in status line (Mike Snitzer) [1637682] - [md] dm crypt: convert essiv from ahash to shash (Mike Snitzer) [1637682] - [md] dm crypt: use wake_up_process() instead of a wait queue (Mike Snitzer) [1637682] - [md] dm integrity: recalculate checksums on creation (Mike Snitzer) [1637682] - [md] dm integrity: flush journal on suspend when using separate metadata device (Mike Snitzer) [1637682] - [md] dm integrity: use version 2 for separate metadata (Mike Snitzer) [1637682] - [md] dm integrity: allow separate metadata device (Mike Snitzer) [1637682] - [md] dm integrity: add ic->start in get_data_sector() (Mike Snitzer) [1637682] - [md] dm integrity: report provided data sectors in the status (Mike Snitzer) [1637682] - [md] dm integrity: implement fair range locks (Mike Snitzer) [1637682] - [md] dm integrity: decouple common code in dm_integrity_map_continue() (Mike Snitzer) [1637682] - [md] dm integrity: change 'suspending' variable from bool to int (Mike Snitzer) [1637682] - [md] dm delay: add flush as a third class of IO (Mike Snitzer) [1637682] - [md] dm delay: refactor repetitive code (Mike Snitzer) [1637682] - [md] dm cache: only allow a single io_mode cache feature to be requested (Mike Snitzer) [1637682] - [md] dm thin: update stale "Status" Documentation (Mike Snitzer) [1637682] - [pci] PCI: Reprogram bridge prefetch registers on resume (Myron Stowe) [1637155] - [input] Input: xen-kbdfront - fix multi-touch XenStore node's locations (Benjamin Tissoires) [1637027] - [input] Input: elantech - enable middle button of touchpad on ThinkPad P72 (Benjamin Tissoires) [1637027] - [hid] HID: i2c-hid: Use devm to allocate i2c_hid struct (Benjamin Tissoires) [1637027] - [hid] HID: input: fix leaking custom input node name (Benjamin Tissoires) [1637027] - [hid] HID: core: fix grouping by application (Benjamin Tissoires) [1637027] - [hid] HID: multitouch: fix Elan panels with 2 input modes declaration (Benjamin Tissoires) [1637027] - [input] Input: do not use WARN() in input_alloc_absinfo() (Benjamin Tissoires) [1637027] - [s390] s390: vfio-ap: setup APCB mask using KVM dedicated function (Cornelia Huck) [1508118] - [s390] KVM: s390: Tracing APCB changes (Cornelia Huck) [1508118] - [s390] KVM: s390: fix locking for crypto setting error path (Cornelia Huck) [1508118] - [s390] s390: doc: detailed specifications for AP virtualization (Cornelia Huck) [1508118] - [s390] KVM: s390: CPU model support for AP virtualization (Cornelia Huck) [1508118] - [s390] KVM: s390: device attrs to enable/disable AP interpretation (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-2 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow guest FORMAT-1 CRYCB on host FORMAT-2 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-1 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow CRYCB FORMAT-0 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow CRYCB FORMAT-1 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: Allow CRYCB FORMAT-2 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: Make use of CRYCB FORMAT2 clear (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: Do the CRYCB validation first (Cornelia Huck) [1508118] - [s390] KVM: s390: Clear Crypto Control Block when using vSIE (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: implement VFIO_DEVICE_RESET ioctl (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: zeroize the AP queues (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: implement VFIO_DEVICE_GET_INFO ioctl (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: implement mediated device open callback (Cornelia Huck) [1508118] - [s390] KVM: s390: interface to clear CRYCB masks (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: sysfs interface to view matrix mdev matrix (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: sysfs interfaces to configure control domains (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: sysfs interfaces to configure domains (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: sysfs interfaces to configure adapters (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: register matrix device with VFIO mdev framework (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: base implementation of VFIO AP device driver (Cornelia Huck) [1508118] - [s390] KVM: s390: refactor crypto initialization (Cornelia Huck) [1508118] - [s390] KVM: s390: introduce and use KVM_REQ_VSIE_RESTART (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: simulate VCPU SIE entry/exit (Cornelia Huck) [1508118] - [s390] s390/zcrypt: hex string mask improvements for apmask and aqmask (Cornelia Huck) [1508118] - [s390] s390/zcrypt: AP bus support for alternate driver(s) (Cornelia Huck) [1508118] - [s390] s390/zcrypt: switch return type to bool for ap_instructions_available() (Cornelia Huck) [1508118] - [s390] s390/zcrypt: fix ap_instructions_available() returncodes (Cornelia Huck) [1508118] - [s390] s390/zcrypt: Integrate ap_asm.h into include/asm/ap.h (Cornelia Huck) [1508118] - [s390] s390/zcrypt: Review inline assembler constraints (Cornelia Huck) [1508118] - [s390] s390/zcrypt: Add ZAPQ inline function (Cornelia Huck) [1508118] - [net] ipv6: use rt6_info members when dst is set in rt6_fill_node (Xin Long) [1625864 1625803 1625117]- [netdrv] amd-xgbe: use dma_mapping_error to check map errors (David Arcari) [1637666] - [crypto] crypto: qat - Fix KASAN stack-out-of-bounds bug in adf_probe() (Waiman Long) [1629547] - [powerpc] powerpc: fix csum_ipv6_magic() on little endian platforms (Diego Domingos) [1625579] - [net] smc: generic netlink family should be __ro_after_init (Philipp Rudo) [1632435] - [net] net/smc: fix sizeof to int comparison (Philipp Rudo) [1632435] - [net] net/smc: no urgent data check for listen sockets (Philipp Rudo) [1632435] - [net] net/smc: enable fallback for connection abort in state INIT (Philipp Rudo) [1632435] - [net] net/smc: remove duplicate mutex_unlock (Philipp Rudo) [1632435] - [net] net/smc: fix non-blocking connect problem (Philipp Rudo) [1632435] - [net] net/smc: send response to test link signal (Philipp Rudo) [1632435] - [net] net: simplify sock_poll_wait (Philipp Rudo) [1632435] - [net] net/smc: Simplify ib_post_(send|recv|srq_recv)() calls (Philipp Rudo) [1632435] - [net] net/smc: Remove a WARN_ON() statement (Philipp Rudo) [1632435] - [powerpc] KVM: PPC: Book3S HV: Add NO_HASH flag to GET_SMMU_INFO ioctl result (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Add a VM capability to enable nested virtualization (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Add nested shadow page tables to debugfs (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Allow HV module to load without hypervisor mode (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Handle differing endianness for H_ENTER_NESTED (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Sanitise hv_regs on nested guest entry (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Add one-reg interface to virtual PTCR register (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Don't access HFSCR, LPIDR or LPCR when running nested (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Invalidate TLB when nested vcpu moves physical cpu (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Use hypercalls for TLB invalidation when nested (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Implement H_TLB_INVALIDATE hcall (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Introduce rmap to track nested guest mappings (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Handle page fault for a nested guest (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Handle hypercalls correctly when nested (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Use XICS hypercalls when running as a nested hypervisor (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Nested guest entry via hypercall (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Framework and hcall stubs for nested virtualization (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Use kvmppc_unmap_pte() in kvm_unmap_radix() (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Refactor radix page fault handler (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Make kvmppc_mmu_radix_xlate process/partition table agnostic (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Clear partition table entry on vm teardown (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Use ccr field in pt_regs struct embedded in vcpu struct (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Add a debugfs file to dump radix mappings (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Handle hypervisor instruction faults better (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Streamlined guest entry/exit path on P9 for radix guests (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Call kvmppc_handle_exit_hv() with vcore unlocked (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S: Rework TM save/restore code and make it C-callable (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Simplify real-mode interrupt handling (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Extract PMU save/restore operations as C-callable functions (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Move interrupt delivery on guest entry to C code (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Remove left-over code in XICS-on-XIVE emulation (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S: Simplify external interrupt handling (Suraj Jitindar Singh) [1505999] - [powerpc] powerpc: Turn off CPU_FTR_P9_TM_HV_ASSIST in non-hypervisor mode (Suraj Jitindar Singh) [1505999] - [powerpc] powerpc/64s: Remove POWER9 DD1 support (Suraj Jitindar Singh) [1505999] - [netdrv] net/mlx5: Add Fast teardown support (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Set vlan masks for all offloaded TC rules (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: E-Switch, Fix out of bound access when setting vport rate (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Avoid unbounded peer devices when unpairing TC hairpin rules (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Cache the system image guid (Alaa Hleihel) [1636554] - [netdrv] mlx5: remove ndo_poll_controller (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Check for SQ and not RQ state when modifying hairpin SQ (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix read from coherent memory (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: don't set CHECKSUM_COMPLETE on SCTP packets (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Set ECN for received packets using CQE indication (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix possible deadlock from lockdep when adding fte to fg (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Check for error in mlx5_attach_interface (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Consider PCI domain in search for next dev (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix not releasing read lock when adding flow rules (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: E-Switch, Fix memory leak when creating switchdev mode FDB tables (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Use u16 for Work Queue buffer strides offset (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Use u16 for Work Queue buffer fragment size (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix debugfs cleanup in the device init/remove flow (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix use-after-free in self-healing flow (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Make function mlx5i_grp_sw_update_stats() static (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: IPoIB, Use priv stats in completion rx flow (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: IPoIB, Add ndo stats support for IPoIB child devices (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: IPoIB, Add ndo stats support for IPoIB netdevices (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: IPoIB, Initialize max_opened_tc in mlx5i_init flow (Alaa Hleihel) [1636554] - [netdrv] IB/mlx5: Fix leaking stack memory to userspace (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Reorganize the makefile (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: clock.c depends on CONFIG_PTP_1588_CLOCK (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: vxlan.c depends on CONFIG_VXLAN (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Move flow steering declarations into en/fs.h (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add CONFIG_MLX5_EN_ARFS for accelerated flow steering support (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add CONFIG_MLX5_EN_RXNFC for ethtool rx nfc (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Ethtool steering, move ethtool callbacks (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Reduce command polling interval (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Use max_num_eqs for calculation of required MSIX vectors (Alaa Hleihel) [1636554] - [netdrv] RDMA/mlx5: Fix shift overflow in mlx5_ib_create_wq (Alaa Hleihel) [1636554] - [netdrv] overflow.h: Add arithmetic shift helper (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Fix uninitialized variable (Alaa Hleihel) [1636554] - [netdrv] RDMA: Fix return code check in rdma_set_cq_moderation (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, move vxlan logic to core driver (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, add sync lock for add/del vxlan port (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, return values for add/del port (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, rename from mlx5e to mlx5 (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, rename struct mlx5e_vxlan to mlx5_vxlan_port (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, move netdev only logic to en_main.c (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, add direct delete function (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, cleanup an unused member in vxlan work (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, replace ports radix-tree with hash table (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, check maximum number of UDP ports (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, reflect 4789 UDP port default addition to software database (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Move XDP related code into new XDP files (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Restrict the combination of large MTU and XDP (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Gather all XDP pre-requisite checks in a single function (Alaa Hleihel) [1636554] - [netdrv] IB/mlx5: avoid excessive warning msgs when creating VFs on 2nd port (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Use PARTIAL_GSO for UDP segmentation (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Remove redundant WARN when we cannot find neigh entry (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix tristate and description for MLX5 module (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Better return types for CQE API (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Use ERR_CAST() instead of coding it (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Add missing SET_DRIVER_VERSION command translation (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: fix uaccess beyond "count" in debugfs read/write handlers (Alaa Hleihel) [1636554] - [netdrv] IB/mlx5: Honor cnt_set_id_valid flag instead of set_id (Alaa Hleihel) [1636554] - [infiniband] IB/mlx5: fix uaccess beyond "count" in debugfs read/write handlers (Alaa Hleihel) [1636554] - [infiniband] IB/mlx5: Fix GRE flow specification (Alaa Hleihel) [1636554] - [infiniband] IB/mlx5: Remove set-but-not-used variables (Alaa Hleihel) [1636554] - [infiniband] RDMA/mlx5: Don't leak UARs in case of free fails (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Update NIC HW stats on demand only (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add counter for total num of NOP operations (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add counter for MPWQE filler strides (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add channel events counter (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add a counter for congested UMRs (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add NAPI statistics (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add XDP_TX completions statistics (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add TX completions statistics (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: RX, Use existing WQ local variable (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Convert large order kzalloc allocations to kvzalloc (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add UDP GSO remaining counter (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add UDP GSO support (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Rate limit errors in command interface (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Prevent warns in dmesg upon firmware commands (Alaa Hleihel) [1636554] - [netdrv] mlx4: remove ndo_poll_controller (Alaa Hleihel) [1636553] - [netdrv] net/mlx4: Use cpumask_available for eq->affinity_mask (Alaa Hleihel) [1636553] - [netdrv] net/mlx4/en_rx: Mark expected switch fall-throughs (Alaa Hleihel) [1636553] - [netdrv] net/mlx4/mcg: Mark expected switch fall-throughs (Alaa Hleihel) [1636553] - [infiniband] IB/mlx4: Use 4K pages for kernel QP's WQE buffer (Alaa Hleihel) [1636553] - [netdrv] net/mlx4_core: Allow MTTs starting at any index (Alaa Hleihel) [1636553] - [infiniband] IB/mlx4: Test port number before querying type (Alaa Hleihel) [1636553] - [powerpc] powerpc/numa: Skip onlining a offline node in kdump path (Steve Best) [1637118] - [netdrv] net: aquantia: Make function aq_fw1x_set_power() static (David Arcari) [1636533] - [netdrv] net: aquantia: memory corruption on jumbo frames (David Arcari) [1636533 1630377] - [netdrv] net: aquantia: bump driver version (David Arcari) [1636533] - [netdrv] net: aquantia: renaming for better visibility (David Arcari) [1636533] - [netdrv] net: aquantia: whitespace changes (David Arcari) [1636533] - [netdrv] net: aquantia: implement EEE support (David Arcari) [1636533] - [netdrv] net: aquantia: implement WOL support (David Arcari) [1636533] - [netdrv] net: aquantia: definitions for WOL (David Arcari) [1636533] - [netdrv] net: aquantia: fix hw_atl_utils_fw_upload_dwords (David Arcari) [1636533] - [netdrv] net: aquantia: Make some functions static (David Arcari) [1636533] - [netdrv] net: aquantia: bump driver version (David Arcari) [1636533] - [netdrv] net: aquantia: Add renegotiate ethtool operation support (David Arcari) [1636533] - [netdrv] net: aquantia: Implement rx/tx flow control ethtools callback (David Arcari) [1636533] - [netdrv] net: aquantia: Improve adapter init/deinit logic (David Arcari) [1636533] - [netdrv] net: aquantia: Ethtool based ring size configuration (David Arcari) [1636533] - [wireless] ath10k: fix memory leak of tpc_stats (Petr Oros) [1637528] - [wireless] ath10k: snoc: use correct bus-specific pointer in RX retry (Petr Oros) [1637528] - [wireless] ath10k: fix incorrect size of dma_free_coherent in ath10k_ce_alloc_src_ring_64 (Petr Oros) [1637528] - [wireless] brcmsmac: fix wrap around in conversion from constant to s16 (Petr Oros) [1637528] - [wireless] mt76x2: fix mrr idx/count estimation in mt76x2_mac_fill_tx_status() (Petr Oros) [1637528] - [wireless] ath10k: transmit queued frames after processing rx packets (Petr Oros) [1637528] - [wireless] ath10k: protect ath10k_htt_rx_ring_free with rx_ring.lock (Petr Oros) [1637528] - [wireless] ath10k: use locked skb_dequeue for rx completions (Petr Oros) [1637528] - [wireless] ath10k: sdio: set skb len for all rx packets (Petr Oros) [1637528] - [wireless] ath10k: sdio: use same endpoint id for all packets in a bundle (Petr Oros) [1637528] - [wireless] iwlwifi: cancel the injective function between hw pointers to tfd entry index (Petr Oros) [1637528] - [wireless] ath10k: disable bundle mgmt tx completion event support (Petr Oros) [1637528] - [wireless] ath10k: prevent active scans on potential unusable channels (Petr Oros) [1637528] - [wireless] ath9k_hw: fix channel maximum power level test (Petr Oros) [1637528] - [wireless] ath9k: report tx status on EOSP (Petr Oros) [1637528] - [wireless] iwlwifi: pcie: don't access periphery registers when not available (Petr Oros) [1637528] - [wireless] brcmfmac: fix brcmf_wiphy_wowl_params() NULL pointer dereference (Petr Oros) [1637528] - [netdrv] be2net: don't flip hw_features when VXLANs are added/deleted (Petr Oros) [1637133] - [netdrv] be2net: Fix memory leak in be_cmd_get_profile_config() (Petr Oros) [1637133] - [netdrv] be2net: Mark expected switch fall-through (Petr Oros) [1637133] - [netdrv] be2net: fix spelling mistake "seqence" -> "sequence" (Petr Oros) [1637133] - [netdrv] be2net: Update the driver version to 12.0.0.0 (Petr Oros) [1637133] - [netdrv] be2net: gather debug info and reset adapter (only for Lancer) on a tx-timeout (Petr Oros) [1637133] - [netdrv] be2net: move rss_flags field in rss_info to ensure proper alignment (Petr Oros) [1637133] - [netdrv] be2net: re-order fields in be_error_recovert to avoid hole (Petr Oros) [1637133] - [netdrv] be2net: remove unused tx_jiffies field from be_tx_stats (Petr Oros) [1637133] - [netdrv] be2net: move txcp field in be_tx_obj to eliminate holes in the struct (Petr Oros) [1637133] - [netdrv] be2net: reorder fields in be_eq_obj structure (Petr Oros) [1637133] - [netdrv] be2net: remove desc field from be_eq_obj (Petr Oros) [1637133] - [netdrv] be2net: remove unused old custom busy-poll fields (Petr Oros) [1637133] - [netdrv] be2net: remove unused old AIC info (Petr Oros) [1637133] - [x86] x86/spec_ctrl/compat: Call IBRS_ENTRY only after valid kernel stack (Waiman Long) [1636843] - [acpi] ACPI/PPTT: Handle architecturally unknown cache types (Jeremy Linton) [1636567] - [base] drivers: base: cacheinfo: Do not populate sysfs for unknown cache types (Jeremy Linton) [1636567] - [fs] getxattr: use correct xattr length (Lukas Czerner) [1637049] - [x86] Mark Intel Cascade Lake supported (Steve Best) [1636651] - [x86] x86/boot: Fix kexec booting failure in the SEV bit detection code (Kairui Song) [1632514] - [scsi] scsi: megaraid_sas: driver version upgrade (Tomas Henzl) [1635565] - [scsi] scsi: megaraid_sas: Support FW provided TM timeout values (Tomas Henzl) [1635565] - [scsi] scsi: megaraid_sas: Return immediately from wait_for_adapter_operational after kill adapter (Tomas Henzl) [1635565] - [scsi] scsi: megaraid_sas: Update controller info during resume (Tomas Henzl) [1635565] - [scsi] scsi: megaraid_sas: Do not do Kill adapter if GET_CTRL_INFO times out (Tomas Henzl) [1635565] - [scsi] qla2xxx: Update driver version to 10.00.00.07.08.0-k (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Check for Register disconnect (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix driver hang when FC-NVMe LUNs are configured (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix re-using LoopID when handle is in use (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix duplicate switch database entries (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix NVMe session hang on unload (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix iIDMA error (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix stalled relogin (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix unintended Logout (Himanshu Madhani) [1633373] - [powerpc] powerpc/pseries: Disable CPU hotplug across migrations (Steve Best) [1633587] - [block] blk-mq: I/O and timer unplugs are inverted in blktrace (Ming Lei) [1634330] - [block] block: fix deadline elevator drain for zoned block devices (Ming Lei) [1634333] - [block] blk-mq: Allow blocking queue tag iter callbacks (Ming Lei) [1634328] - [block] block: use nanosecond resolution for iostat (Ming Lei) [1634329] - [block] null_blk: fix zoned support for non-rq based operation (Ming Lei) [1634324] - [block] blk-cgroup: increase number of supported policies (Ming Lei) [1634335] - [block] block: bfq: swap puts in bfqg_and_blkg_put (Ming Lei) [1634334] - [block] block: don't warn when doing fsync on read-only devices (Ming Lei) [1634331] - [block] blkcg: use tryget logic when associating a blkg with a bio (Ming Lei) [1634332] - [block] blkcg: delay blkg destruction until after writeback has (Ming Lei) [1634332] - [block] Revert "blk-throttle: fix race between (Ming Lei) [1634332] - [block] blk-wbt: remove dead code (Ming Lei) [1634326] - [block] blk-wbt: improve waking of tasks (Ming Lei) [1634326] - [block] blk-wbt: abstract out end IO completion handler (Ming Lei) [1634326]- [dma] driver/dma/ioat: Call del_timer_sync() without holding prep_lock (Waiman Long) [1607654] - [netdrv] bnxt_en: Fix VF mac address regression (Jonathan Toppins) [1635846] - [netdrv] bnxt_en: Do not adjust max_cp_rings by the ones used by RDMA (Jonathan Toppins) [1635846] - [netdrv] bnxt_en: Clean up unused functions (Jonathan Toppins) [1635846] - [fs] fsnotify: fix ignore mask logic in fsnotify() (Lukas Czerner) [1635537] - [net] net/af_iucv: locate IUCV header via skb_network_header() (Philipp Rudo) [1635332] - [net] net/af_iucv: drop inbound packets with invalid flags (Philipp Rudo) [1635332] - [net] net/af_iucv: fix skb handling on HiperTransport xmit error (Philipp Rudo) [1635332] - [hid] HID: i2c-hid: Fix flooded incomplete report after S3 on Rayd touchscreen (David Arcari) [1635746] - [i2c] i2c: core: ACPI: Make acpi_gsb_i2c_read_bytes() check i2c_transfer return value (David Arcari) [1635746] - [i2c] i2c: designware: Re-init controllers with pm_disabled set on resume (David Arcari) [1635746] - [i2c] i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes (David Arcari) [1635746] - [fs] fs/quota: Fix spectre gadget in do_quotactl (Lukas Czerner) [1635521] - [fs] xfs: fix error handling in xfs_bmap_extents_to_btree (Brian Foster) [1633171] - [fs] xfs: remove invalid log recovery first/last cycle check (Brian Foster) [1633171] - [fs] xfs: validate inode di_forkoff (Brian Foster) [1633171] - [fs] xfs: skip delalloc COW blocks in xfs_reflink_end_cow (Brian Foster) [1633171] - [fs] xfs: don't treat unknown di_flags2 as corruption in scrub (Brian Foster) [1633171] - [fs] xfs: remove duplicated include from alloc.c (Brian Foster) [1633171] - [fs] xfs: don't bring in extents in xfs_bmap_punch_delalloc_range (Brian Foster) [1633171] - [fs] xfs: fix transaction leak in xfs_reflink_allocate_cow() (Brian Foster) [1633171] - [fs] xfs: avoid lockdep false positives in xfs_trans_alloc (Brian Foster) [1633171] - [fs] xfs: refactor xfs_buf_log_item reference count handling (Brian Foster) [1633171] - [fs] xfs: clean up xfs_trans_brelse() (Brian Foster) [1633171] - [fs] xfs: don't unlock invalidated buf on aborted tx commit (Brian Foster) [1633171] - [fs] xfs: remove last of unnecessary xfs_defer_cancel() callers (Brian Foster) [1633171] - [fs] xfs: don't crash the vfs on a garbage inline symlink (Brian Foster) [1633171] - [fs] iomap: set page dirty after partial delalloc on mkwrite (Brian Foster) [1633171] - [fs] xfs: sanity check ag header values in xrep_calc_ag_resblks (Brian Foster) [1633171] - [fs] xfs: recalculate summary counters at mount time if icount is bad (Brian Foster) [1633171] - [fs] xfs: fix a null pointer dereference in xfs_bmap_extents_to_btree (Brian Foster) [1633171] - [fs] xfs: remove b_last_holder & associated macros (Brian Foster) [1633171] - [fs] xfs: repair the AGI (Brian Foster) [1633171] - [fs] xfs: repair the AGFL (Brian Foster) [1633171] - [fs] xfs: repair the AGF (Brian Foster) [1633171] - [fs] xfs: remove dead error handling code in xfs_dquot_disk_alloc() (Brian Foster) [1633171] - [fs] xfs: use WRITE_ONCE to update if_seq (Brian Foster) [1633171] - [fs] xfs: fix a comment in xfs_log_reserve (Brian Foster) [1633171] - [fs] xfs: only validate summary counts on primary superblock (Brian Foster) [1633171] - [fs] xfs: substitute spaces with tabs (Brian Foster) [1633171] - [fs] xfs: fold dfops into the transaction (Brian Foster) [1633171] - [fs] xfs: always defer agfl block frees (Brian Foster) [1633171] - [fs] xfs: pass transaction to xfs_defer_add() (Brian Foster) [1633171] - [fs] xfs: replace xfs_defer_ops ->dop_pending with on-stack list (Brian Foster) [1633171] - [fs] xfs: cancel dfops on xfs_defer_finish() error (Brian Foster) [1633171] - [fs] xfs: clean out superfluous dfops dop params/vars (Brian Foster) [1633171] - [fs] xfs: drop dop param from xfs_defer_op_type ->finish_item() callback (Brian Foster) [1633171] - [fs] xfs: automatic dfops inode relogging (Brian Foster) [1633171] - [fs] xfs: automatic dfops buffer relogging (Brian Foster) [1633171] - [fs] xfs: add missing defer ijoins for held inodes (Brian Foster) [1633171] - [fs] xfs: replace dop_low with transaction flag (Brian Foster) [1633171] - [fs] xfs: pass transaction to dfops reset/move helpers (Brian Foster) [1633171] - [fs] xfs: remove unused __xfs_defer_cancel() internal helper (Brian Foster) [1633171] - [fs] xfs: use transaction for intent recovery instead of raw dfops (Brian Foster) [1633171] - [fs] xfs: refactor internal dfops initialization (Brian Foster) [1633171] - [fs] xfs: check da node magic in _node_lookup_int (Brian Foster) [1633171] - [fs] xfs: use a local variable for magic number in xfs_da3_node_lookup_int (Brian Foster) [1633171] - [fs] xfs: refactor log recovery check (Brian Foster) [1633171] - [fs] xfs: move extent busy tree initialization to xfs_initialize_perag (Brian Foster) [1633171] - [fs] xfs: avoid COW fork extent lookups in writeback if the fork didn't change (Brian Foster) [1633171] - [fs] xfs: maintain a sequence count for inode fork manipulations (Brian Foster) [1633171] - [fs] xfs: check for unknown v5 feature bits in superblock write verifier (Brian Foster) [1633171] - [fs] xfs: verify icount in superblock write (Brian Foster) [1633171] - [fs] libxfs: add more bounds checking to sb sanity checks (Brian Foster) [1633171] - [fs] xfs: refactor superblock verifiers (Brian Foster) [1633171] - [fs] xfs: refactor the xrep_extent_list into xfs_bitmap (Brian Foster) [1633171] - [fs] xfs: introduce a new xfs_inode_has_cow_data helper (Brian Foster) [1633171] - [fs] xfs: remove the xfs_ifork_t typedef (Brian Foster) [1633171] - [fs] xfs: simplify xfs_idata_realloc (Brian Foster) [1633171] - [fs] xfs: remove if_real_bytes (Brian Foster) [1633171] - [fs] xfs: move the repair extent list into its own file (Brian Foster) [1633171] - [fs] xfs: pass transaction lock while setting up agresv on cyclic metadata (Brian Foster) [1633171] - [fs] xfs: remove deprecated barrier/nobarrier mount (Brian Foster) [1633171] - [fs] xfs: clean up IRELE/iput callsites (Brian Foster) [1633171] - [fs] xfs: kill IHOLD (Brian Foster) [1633171] - [fs] xfs: bypass final dfops roll in trans commit path (Brian Foster) [1633171] - [fs] xfs: drop unnecessary xfs_defer_finish() dfops parameter (Brian Foster) [1633171] - [fs] xfs: remove unnecessary dfops init calls in xattr code (Brian Foster) [1633171] - [fs] xfs: remove all boilerplate defer init/finish code (Brian Foster) [1633171] - [fs] xfs: use internal dfops during (b|c)ui recovery (Brian Foster) [1633171] - [fs] xfs: use internal dfops in attr code (Brian Foster) [1633171] - [fs] xfs: use internal dfops in cow blocks cancel (Brian Foster) [1633171] - [fs] xfs: support embedded dfops in transaction (Brian Foster) [1633171] - [fs] xfs: pack holes in xfs_defer_ops and xfs_trans (Brian Foster) [1633171] - [fs] xfs: reset dfops to initial state after finish (Brian Foster) [1633171] - [fs] xfs: remove unused deferred ops committed field (Brian Foster) [1633171] - [fs] xfs: make deferred processing safe for embedded dfops (Brian Foster) [1633171] - [fs] xfs: fix transaction leak on remote attr set/remove failure (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in log recovery intent processing (Brian Foster) [1633171] - [fs] xfs: pull up dfops from xfs_itruncate_extents() (Brian Foster) [1633171] - [fs] xfs: force summary counter recalc at next mount (Brian Foster) [1633171] - [fs] xfs: refactor unmount record write (Brian Foster) [1633171] - [fs] xfs: detect and fix bad summary counts at mount (Brian Foster) [1633171] - [fs] xfs: fix indentation and other whitespace problems in scrub/repair (Brian Foster) [1633171] - [fs] xfs: shorten struct xfs_scrub_context to struct xfs_scrub (Brian Foster) [1633171] - [fs] xfs: shorten xfs_repair_ prefix to xrep_ (Brian Foster) [1633171] - [fs] xfs: shorten xfs_scrub_ prefix (Brian Foster) [1633171] - [fs] xfs: clean up xfs_btree_del_cursor callers (Brian Foster) [1633171] - [fs] xfs: trivial xfs_btree_del_cursor cleanups (Brian Foster) [1633171] - [fs] xfs: return from _defer_finish with a clean transaction (Brian Foster) [1633171] - [fs] xfs: check leaf attribute block freemap in verifier (Brian Foster) [1633171] - [fs] libxfs: Fix a couple of sparse complaintis (Brian Foster) [1633171] - [fs] xfs: use swap macro in xfs_dir2_leafn_rebalance (Brian Foster) [1633171] - [fs] xfs_bmap_util: use swap macro (Brian Foster) [1633171] - [fs] xfs_attr_leaf: use swap macro in xfs_attr3_leaf_rebalance (Brian Foster) [1633171] - [fs] xfs: don't assume a left rmap when allocating a new rmap (Brian Foster) [1633171] - [fs] xfs: kill __xfs_buf_submit_common() (Brian Foster) [1633171] - [fs] xfs: combine (a)sync buffer submission apis (Brian Foster) [1633171] - [fs] xfs: use sync buffer I/O for sync delwri queue submission (Brian Foster) [1633171] - [fs] xfs: refactor buffer submission into a common helper (Brian Foster) [1633171] - [fs] xfs: remove xfs_defer_init() firstblock param (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in inode inactivate (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in extent swap (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in reflink cow block cancel (Brian Foster) [1633171] - [fs] xfs: replace no-op firstblock init with ->t_firstblock (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in dq alloc (Brian Foster) [1633171] - [fs] xfs: remove xfs_alloc_arg firstblock field (Brian Foster) [1633171] - [fs] xfs: remove xfs_btree_cur private firstblock field (Brian Foster) [1633171] - [fs] xfs: remove bmap format helpers firstblock params (Brian Foster) [1633171] - [fs] xfs: remove bmap extent add helper firstblock params (Brian Foster) [1633171] - [fs] xfs: remove xfs_bmalloca firstblock field (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in bmap extent split (Brian Foster) [1633171] - [fs] xfs: remove bmap insert/collapse firstblock param (Brian Foster) [1633171] - [fs] xfs: remove xfs_bunmapi() firstblock param (Brian Foster) [1633171] - [fs] xfs: remove xfs_bmapi_write() firstblock param (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in insert/collapse range (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in xfs_bmapi_remap() (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock for all xfs_bunmapi() callers (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock for all xfs_bmapi_write() callers (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in xattr ops (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in attrfork add (Brian Foster) [1633171] - [fs] xfs: remove firstblock param from xfs dir ops (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in dir ops (Brian Foster) [1633171] - [fs] xfs: add firstblock field to xfs_trans (Brian Foster) [1633171] - [fs] xfs: allow null firstblock in xfs_bmapi_write() when tp is null (Brian Foster) [1633171] - [fs] xfs: refactor dfops init to attach to transaction (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in reflink cow recover path (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in cancel cow blocks operation (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for rmap extent swap operations (Brian Foster) [1633171] - [fs] xfs: remove unused btree cursor bc_private.a.dfops field (Brian Foster) [1633171] - [fs] xfs: remove xfs_btree_cur bmbt dfops field (Brian Foster) [1633171] - [fs] xfs: remove dfops param from internal bmap extent helpers (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for collapse/insert range operations (Brian Foster) [1633171] - [fs] xfs: remove struct xfs_bmalloca dfops field (Brian Foster) [1633171] - [fs] xfs: remove xfs_bmapi_remap() dfops param (Brian Foster) [1633171] - [fs] xfs: remove xfs_bunmapi() dfops param (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for all xfs_bunmapi() callers (Brian Foster) [1633171] - [fs] xfs: remove xfs_bmapi_write() dfops param (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for all xfs_bmapi_write() callers (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in dqalloc transaction (Brian Foster) [1633171] - [fs] xfs: replace xfs_da_args->dfops accesses with ->t_dfops and remove (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in extent split tx and remove param (Brian Foster) [1633171] - [fs] xfs: remove dfops param in attr fork add path (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for attr set/remove operations (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for recovery of (b|c)ui log items (Brian Foster) [1633171] - [fs] xfs: remove dfops param from high level dirname calls (Brian Foster) [1633171] - [fs] xfs: remove dfops parameter from ifree call stack (Brian Foster) [1633171] - [fs] xfs: rename xfs_trans ->t_agfl_dfops to ->t_dfops (Brian Foster) [1633171] - [fs] xfs: cow unwritten conversion uses uninitialized dfops (Brian Foster) [1633171] - [fs] xfs: update my copyrights for the writeback and iomap code (Brian Foster) [1633171] - [fs] xfs: add support for sub-pagesize writeback without buffer_heads (Brian Foster) [1633171] - [fs] xfs: allow writeback on pages without buffer heads (Brian Foster) [1633171] - [fs] xfs: refactor the tail of xfs_writepage_map (Brian Foster) [1633171] - [fs] xfs: remove xfs_start_page_writeback (Brian Foster) [1633171] - [fs] xfs: move all writeback buffer_head manipulation into xfs_map_at_offset (Brian Foster) [1633171] - [fs] xfs: don't look at buffer heads in xfs_add_to_ioend (Brian Foster) [1633171] - [fs] xfs: remove the imap_valid flag (Brian Foster) [1633171] - [fs] xfs: simplify xfs_map_blocks by using xfs_iext_lookup_extent directly (Brian Foster) [1633171] - [fs] xfs: remove xfs_reflink_find_cow_mapping (Brian Foster) [1633171] - [fs] xfs: remove the now unused XFS_BMAPI_IGSTATE flag (Brian Foster) [1633171] - [fs] xfs: make xfs_writepage_map extent map centric (Brian Foster) [1633171] - [fs] xfs: rename the offset variable in xfs_writepage_map (Brian Foster) [1633171] - [fs] xfs: remove xfs_map_cow (Brian Foster) [1633171] - [fs] xfs: remove xfs_reflink_trim_irec_to_next_cow (Brian Foster) [1633171] - [fs] xfs: don't use XFS_BMAPI_IGSTATE in xfs_map_blocks (Brian Foster) [1633171] - [fs] xfs: don't clear imap_valid for a non-uptodate buffers (Brian Foster) [1633171] - [fs] xfs: do not set the page uptodate in xfs_writepage_map (Brian Foster) [1633171] - [fs] xfs: move locking into xfs_bmap_punch_delalloc_range (Brian Foster) [1633171] - [fs] xfs: simplify xfs_aops_discard_page (Brian Foster) [1633171] - [fs] xfs: use iomap for blocksize == PAGE_SIZE readpage and readpages (Brian Foster) [1633171] - [fs] iomap: fix WARN_ON_ONCE on uninitialized variable (Brian Foster) [1633171] - [fs] iomap: Switch to offset_in_page for clarity (Brian Foster) [1633171] - [fs] iomap: add support for sub-pagesize buffered I/O without buffer heads (Brian Foster) [1633171] - [fs] iomap: add inline data support to iomap_readpage_actor (Brian Foster) [1633171] - [fs] iomap: support direct I/O to inline data (Brian Foster) [1633171] - [fs] iomap: refactor iomap_dio_actor (Brian Foster) [1633171] - [fs] iomap: add initial support for writes without buffer heads (Brian Foster) [1633171] - [fs] iomap: add an iomap-based readpage and readpages implementation (Brian Foster) [1633171] - [fs] iomap: add private pointer to struct iomap (Brian Foster) [1633171] - [fs] iomap: add a page_done callback (Brian Foster) [1633171] - [fs] iomap: generic inline data handling (Brian Foster) [1633171] - [fs] iomap: complete partial direct I/O writes synchronously (Brian Foster) [1633171] - [fs] iomap: mark newly allocated buffer heads as new (Brian Foster) [1633171] - [fs] fs: factor out a __generic_write_end helper (Brian Foster) [1633171] - [netdrv] amd-xgbe: mark driver as tech preview (David Arcari) [1633209] - [fs] ext4, dax: set ext4_dax_aops for dax files (Lukas Czerner) [1633239] - [fs] ext4, dax: add ext4_bmap to ext4_dax_aops (Lukas Czerner) [1633239] - [fs] ext4: don't mark mmp buffer head dirty (Lukas Czerner) [1633239] - [fs] ext4: show test_dummy_encryption mount option in /proc/mounts (Lukas Czerner) [1633239] - [fs] ext4: fix online resizing for bigalloc file systems with a 1k block size (Lukas Czerner) [1633239] - [fs] ext4: fix online resize's handling of a too-small final block group (Lukas Czerner) [1633239] - [fs] ext4: recalucate superblock checksum after updating free blocks/inodes (Lukas Czerner) [1633239] - [fs] ext4: avoid arithemetic overflow that can trigger a BUG (Lukas Czerner) [1633239] - [fs] ext4: avoid divide by zero fault when deleting corrupted inline directories (Lukas Czerner) [1633239] - [fs] ext4: check to make sure the rename(2)'s destination is not freed (Lukas Czerner) [1633239] - [fs] ext4: remove unneeded variable "err" in ext4_mb_release_inode_pa() (Lukas Czerner) [1633239] - [fs] ext4: fix spectre gadget in ext4_mb_regular_allocator() (Lukas Czerner) [1633239] - [fs] ext4: check for NUL characters in extended attribute's name (Lukas Czerner) [1633239] - [fs] ext4: use ext4_warning() for sb_getblk failure (Lukas Czerner) [1633239] - [fs] ext4: fix race when setting the bitmap corrupted flag (Lukas Czerner) [1633239] - [fs] ext4: reset error code in ext4_find_entry in fallback (Lukas Czerner) [1633239] - [fs] ext4: check allocation failure when duplicating "data" in ext4_remount() (Lukas Czerner) [1633239] - [fs] ext4: sysfs: print ext4_super_block fields as little-endian (Lukas Czerner) [1633239] - [firmware] efi/x86: Handle page faults occurring while running EFI runtime services (Bhupesh Sharma) [1627557] - [firmware] efi: Make efi_rts_work accessible to efi page fault handler (Bhupesh Sharma) [1627557] - [firmware] efi: Remove the declaration of efi_late_init() as the function is unused (Bhupesh Sharma) [1627557] - [firmware] efi: Use a work queue to invoke EFI Runtime Services (Bhupesh Sharma) [1627557] - [firmware] efi/x86: Use non-blocking SetVariable() for efi_delete_dummy_variable() (Bhupesh Sharma) [1627557] - [fs] gfs2: Special-case rindex for gfs2_grow (Robert S Peterson) [1628360] - [fs] GFS2: Fix recovery issues for spectators (Robert S Peterson) [1628298]- [powerpc] powerpc/pkeys: Fix reading of ibm, processor-storage-keys property (Steve Best) [1633551] - [powerpc] powerpc/pseries: Remove unneeded uses of dlpar work queue (Steve Best) [1633544] - [powerpc] powerpc/pseries: Remove prrn_work workqueue (Steve Best) [1633544] - [pci] ACPI / hotplug / PCI: Don't scan for non-hotplug bridges if slot is not bridge (Myron Stowe) [1634816] - [pci] PCI: Fix enabling of PASID on RC integrated endpoints (Myron Stowe) [1634816] - [pci] IB/hfi1,PCI: Allow bus reset while probing (Myron Stowe) [1634816] - [pci] PCI: Fix faulty logic in pci_reset_bus() (Myron Stowe) [1634816] - [pci] PCI: pciehp: Fix hot-add vs powerfault detection order (Myron Stowe) [1634816] - [pci] Revert "PCI: Add ACS quirk for Intel 300 series" (Myron Stowe) [1634816] - [powerpc] powerpc/numa: Use associativity if VPHN hcall is successful (Steve Best) [1633569] - [pci] PCI: vmd: White list for fast interrupt handlers (Myron Stowe) [1632816] - [pci] PCI: Add function 1 DMA alias quirk for Marvell 88SS9183 (Myron Stowe) [1632816] - [pci] PCI: Rename pci_try_reset_bus() to pci_reset_bus() (Myron Stowe) [1632816] - [pci] PCI: Deprecate pci_reset_bus() and pci_reset_slot() functions (Myron Stowe) [1632816] - [pci] PCI: Unify try slot and bus reset API (Myron Stowe) [1632816] - [pci] PCI: Hide pci_reset_bridge_secondary_bus() from drivers (Myron Stowe) [1632816] - [pci] IB/hfi1: Use pci_try_reset_bus() for initiating PCI Secondary Bus Reset (Myron Stowe) [1632816] - [pci] PCI: Handle error return from pci_reset_bridge_secondary_bus() (Myron Stowe) [1632816] - [pci] PCI/IOV: Tidy pci_sriov_set_totalvfs() (Myron Stowe) [1632816] - [pci] PCI: Enable PASID only if entire path supports End-End TLP prefixes (Myron Stowe) [1632816] - [pci] PCI: Expand documentation for pci_add_dma_alias() (Myron Stowe) [1632816] - [pci] PCI: Add DMA alias quirk for Microsemi Switchtec NTB (Myron Stowe) [1632816] - [pci] switchtec: Use generic PCI Vendor ID and Class Code (Myron Stowe) [1632816] - [pci] PCI: Make pci_get_rom_size() static (Myron Stowe) [1632816] - [pci] PCI: Add check code for last image indicator not set (Myron Stowe) [1632816] - [pci] PCI: Avoid accessing memory outside the ROM BAR (Myron Stowe) [1632816] - [pci] PCI: Make early dump functionality generic (Myron Stowe) [1632816] - [pci] PCI: Cleanup PCI_REBAR_CTRL_BAR_SHIFT handling (Myron Stowe) [1632816] - [pci] PCI: Restore resized BAR state on resume (Myron Stowe) [1632816] - [pci] PCI: Clean up resource allocation in devm_of_pci_get_host_bridge_resources() (Myron Stowe) [1632816] - [pci] PCI: Add ACS Redirect disable quirk for Intel Sunrise Point (Myron Stowe) [1632816] - [pci] PCI: Add device-specific ACS Redirect disable infrastructure (Myron Stowe) [1632816] - [pci] PCI: Convert device-specific ACS quirks from NULL termination to ARRAY_SIZE (Myron Stowe) [1632816] - [pci] PCI: Add "pci=disable_acs_redir=" parameter for peer-to-peer support (Myron Stowe) [1632816] - [pci] PCI: Allow specifying devices using a base bus and path of devfns (Myron Stowe) [1632816] - [pci] PCI: Make specifying PCI devices in kernel parameters reusable (Myron Stowe) [1632816] - [pci] PCI: Hide ACS quirk declarations inside PCI core (Myron Stowe) [1632816] - [pci] PCI: Document ACPI description of PCI host bridges (Myron Stowe) [1632816] - [pci] PCI/MSI: Set IRQCHIP_ONESHOT_SAFE for PCI-MSI irqchips (Myron Stowe) [1632816] - [pci] PCI: Limit config space size for Netronome NFP5000 (Myron Stowe) [1632816] - [pci] PCI: Add PCI_DEVICE_DATA() macro to fully describe device ID entry (Myron Stowe) [1632816] - [pci] PCI: Unify PCI and normal DMA direction definitions (Myron Stowe) [1632816] - [pci] PCI: Use IRQF_ONESHOT if pci_request_irq() called with no handler (Myron Stowe) [1632816] - [pci] PCI: Call dma_debug_add_bus() for pci_bus_type from PCI core (Myron Stowe) [1632816] - [pci] PCI: Mark fall-through switch cases before enabling -Wimplicit-fallthrough (Myron Stowe) [1632816]- [s390] s390/sclp: Allow to request adapter reset (Philipp Rudo) [1635273] - [char] ipmi: Fix NULL pointer dereference in ssif_probe (Tony Camuso) [1635366] - [char] ipmi: Fix I2C client removal in the SSIF driver (Tony Camuso) [1635366] - [char] ipmi: kcs_bmc: don't change device name (Tony Camuso) [1635366] - [kernel] timers: Clear timer_base::must_forward_clk with timer_base::lock held (Waiman Long) [1632820] - [pci] switchtec: Fix Spectre v1 vulnerability (Waiman Long) [1632820] - [kernel] cpu/hotplug: Prevent state corruption on error rollback (Waiman Long) [1632820] - [kernel] cpu/hotplug: Adjust misplaced smb() in cpuhp_thread_fun() (Waiman Long) [1632820] - [base] memory_hotplug: fix kernel_panic on offline page processing (Waiman Long) [1632820] - [mm] mm/hugetlb: filter out hugetlb pages if HUGEPAGE migration is not supported (Waiman Long) [1632820] - [lib] debugobjects: Make stack check warning more informative (Waiman Long) [1632820] - [fs] fs/dcache.c: fix kmemcheck splat at take_dentry_name_snapshot() (Waiman Long) [1632820] - [x86] x86/process: Don't mix user/kernel regs in 64bit __show_regs() (Waiman Long) [1632820] - [x86] x86/dumpstack: Don't dump kernel memory based on usermode RIP (Waiman Long) [1632820] - [x86] x86: Avoid pr_cont() in show_opcodes() (Waiman Long) [1632820] - [x86] x86/entry/64: Wipe KASAN stack shadow before rewind_stack_do_exit() (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+ (Waiman Long) [1632820] - [x86] x86/spectre: Add missing family 6 check to microcode check (Waiman Long) [1632820] - [x86] x86/nmi: Fix NMI uaccess race against CR3 switching (Waiman Long) [1632820] - [x86] x86/vdso: Fix lsl operand order (Waiman Long) [1632820] - [x86] x86/vdso: Fix vDSO build if a retpoline is emitted (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Suggest what to do on systems with too much RAM (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Fix off-by-one error when warning that system has too much RAM (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Exempt zeroed PTEs from inversion (Waiman Long) [1632820] - [x86] x86/mm/pti: Clear Global bit more aggressively (Waiman Long) [1632820] - [x86] x86/paravirt: Fix spectre-v2 mitigations for paravirt guests (Waiman Long) [1632820] - [target] scsi: target: iscsi: Use bin2hex instead of a re-implementation (Maurizio Lombardi) [1632184] {CVE-2018-14633} - [target] scsi: target: iscsi: Use hex2bin instead of a re-implementation (Maurizio Lombardi) [1632184] {CVE-2018-14633}- [netdrv] ibmvnic: Include missing return code checks in reset function (Steve Best) [1633553] - [netdrv] ibmvnic: Update firmware error reporting with cause string (Steve Best) [1633553] - [netdrv] ibmvnic: Remove code to request error information (Steve Best) [1633553] - [s390] s390/qeth: remove duplicated carrier state tracking (Hendrik Brueckner) [1633841] - [s390] s390/qeth: clean up drop conditions for received cmds (Hendrik Brueckner) [1633841] - [s390] s390/qeth: re-indent qeth_check_ipa_data() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: consume local address events (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove various redundant code (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove CARD_FROM_CDEV helper (Hendrik Brueckner) [1633841] - [s390] s390/qeth: pass card pointer in iob callback (Hendrik Brueckner) [1633841] - [s390] s390/qeth: re-use qeth_notify_skbs() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove additional skb refcount (Hendrik Brueckner) [1633841] - [s390] s390/qeth: replace open-coded skb_queue_walk() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: on gdev release, reset drvdata (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fix discipline unload after setup error (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use DEFINE_MUTEX for qeth_mod_mutex (Hendrik Brueckner) [1633841] - [s390] s390/qeth: convert layer attribute to enum (Hendrik Brueckner) [1633841] - [s390] s390/qeth: reduce 0-initializing when building IPA cmds (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fine-tune spinlocks (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fix typo in return value (Hendrik Brueckner) [1633841] - [s390] s390/qeth: invoke softirqs after napi_schedule() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: uninstall IRQ handler on device removal (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove qeth_hdr_chk_and_bounce() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: speed up TSO transmission (Hendrik Brueckner) [1633841] - [s390] s390/qeth: prepare for copy-free TSO transmission (Hendrik Brueckner) [1633841] - [s390] s390/qeth: check size of required HW header cache object (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fix up protocol headers early (Hendrik Brueckner) [1633841] - [s390] s390/qeth: limit csum offload erratum to L3 devices (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove qeth_get_elements_no() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove unused L3 xmit code (Hendrik Brueckner) [1633841] - [s390] s390/qeth: run non-offload L3 traffic over common xmit path (Hendrik Brueckner) [1633841] - [s390] s390/qeth: move L2 xmit code to core module (Hendrik Brueckner) [1633841] - [s390] s390/qdio: reset old sbal_state flags (Hendrik Brueckner) [1633841] - [s390] s390/qeth: don't dump past end of unknown HW header (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use vzalloc for QUERY OAT buffer (Hendrik Brueckner) [1633841] - [s390] s390/qeth: switch on SG by default for IQD devices (Hendrik Brueckner) [1633841] - [s390] s390/qeth: indicate error when netdev allocation fails (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use true and false for boolean values (Hendrik Brueckner) [1633841] - [s390] s390/qeth: don't restrict qeth_card to DMA memory (Hendrik Brueckner) [1633841] - [s390] s390/qeth: clean up card initialization (Hendrik Brueckner) [1633841] - [s390] s390/qeth: do basic setup for data channel (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use qeth_setup_ccw() to set up all CCWs (Hendrik Brueckner) [1633841] - [s390] s390/qeth: reduce hard-coded access to ccw channels (Hendrik Brueckner) [1633841] - [s390] s390/qeth: extract helper for MPC protocol type (Hendrik Brueckner) [1633841] - [s390] s390/qeth: speed up L2 IQD xmit (Hendrik Brueckner) [1633841] - [s390] s390/qeth: add support for constrained HW headers (Hendrik Brueckner) [1633841] - [s390] s390/qeth: merge linearize-check into HW header construction (Hendrik Brueckner) [1633841] - [s390] s390/qeth: add statistics for consumed buffer elements (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use core MTU range checking (Hendrik Brueckner) [1633841] - [s390] s390/qeth: simplify max MTU handling (Hendrik Brueckner) [1633841] - [s390] s390/qeth: don't cache HW port number (Hendrik Brueckner) [1633841] - [s390] s390/qeth: allocate netdevice early (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove redundant netif_carrier_ok() checks (Hendrik Brueckner) [1633841] - [s390] s390/qeth: reset layer2 attribute on layer switch (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fix race in used-buffer accounting (Hendrik Brueckner) [1633841] - [s390] s390/qeth: speed-up IPv4 OSA xmit (Hendrik Brueckner) [1633841] - [s390] s390/qeth: speed-up L3 IQD xmit (Hendrik Brueckner) [1633841] - [s390] s390/qeth: add a L3 xmit wrapper (Hendrik Brueckner) [1633841] - [s390] s390/qeth: increase GSO max size for eligible L3 devices (Hendrik Brueckner) [1633841] - [s390] s390/qeth: clean up exported symbols (Hendrik Brueckner) [1633841] - [s390] s390/qeth: consolidate ccwgroup driver definition (Hendrik Brueckner) [1633841] - [s390] s390/qeth: clean up Output Queue selection (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fine-tune RX modesetting (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove unused buffer->aob pointer (Hendrik Brueckner) [1633841] - [s390] s390/qeth: various buffer management cleanups (Hendrik Brueckner) [1633841] - [powerpc] powerpc: Avoid code patching freed init sections (Steve Best) [1633545] - [powerpc] powerpc/tm: Fix userspace r13 corruption (Steve Best) [1633543] - [powerpc] powerpc/tm: Avoid possible userspace r1 corruption on reclaim (Steve Best) [1633543] - [drm] drm/i915/cfl: Add a new CFL PCI ID (Rob Clark) [1626883] - [drm] drm/i915/aml: Introducing Amber Lake platform (Rob Clark) [1626883] - [drm] drm/i915/whl: Introducing Whiskey Lake platform (Rob Clark) [1626883] - [char] ipmi: Move BT capabilities detection to the detect call (Frank Ramsay) [1618774] - [char] ipmi: Rework SMI registration failure (Frank Ramsay) [1618774]- [s390] s390: detect etoken facility (Thomas Huth) [1634069] - [s390] s390/lib: use expoline for all bcr instructions (Thomas Huth) [1634069] - [documentation] vm.txt: Adding 'nr_hugepages_mempolicy' parameter description (Prashant Dhamdhere) [1626547]- [scsi] scsi: ipr: System hung while dlpar adding primary ipr adapter back (Steve Best) [1633217] - [target] scsi: iscsi: target: Don't use stack buffer for scatterlist (Maurizio Lombardi) [1631342] - [rpmspec] Forward port weak-modules support from RHEL 7 to RHEL 8 ("Herton R. Krzesinski") [1596884] - [fs] xfs: Close race between direct IO and xfs_break_layouts() (Eric Sandeen) [1622191] - [fs] xfs: remove unused iolock arg from xfs_break_dax_layouts (Eric Sandeen) [1622191] - [fs] ext4: Close race between direct IO and ext4_break_layouts() (Eric Sandeen) [1616303] - [fs] ext4: handle layout changes to pinned DAX mappings (Eric Sandeen) [1614154] - [fs] dax: dax_layout_busy_page() warn on !exceptional (Eric Sandeen) [1614154] - [fs] dax: mark tech preview (Eric Sandeen) [1627455] - [mm] usercopy: Allow boot cmdline disabling of hardening (Christoph von Recklinghausen) [1589928]- [s390] s390/crypto: Fix return code checking in cbc_paes_crypt() (Philipp Rudo) [1633266] - [drm] amd/display/dc/basics/logger.c: fix build error with CONFIG_FORTIFY_SOURCE=y ("Herton R. Krzesinski") [1548068] - [acpi] ACPICA: AML Parser: skip opcodes that open a scope upon parse failure (Jeremy Linton) [1609885] - [acpi] ACPICA: ACPICA: add status check for acpi_hw_read before assigning return value (Jeremy Linton) [1609885] - [acpi] ACPICA: AML Parser: ignore all exceptions resulting from incorrect AML during table load (Jeremy Linton) [1609885] - [rpmspec] spec: Add missing BuildRequires for bpftool (Jiri Olsa) [1632756] - [powerpc] KVM: PPC: Avoid marking DMA-mapped pages dirty in real mode (David Gibson) [1628412] - [powerpc] powerpc/powernv/ioda: Allocate indirect TCE levels on demand (David Gibson) [1628412] - [powerpc] powerpc/powernv: Rework TCE level allocation (David Gibson) [1628412] - [powerpc] powerpc/powernv: Add indirect levels to it_userspace (David Gibson) [1628412] - [powerpc] KVM: PPC: Make iommu_table::it_userspace big endian (David Gibson) [1628412] - [powerpc] powerpc/powernv: Move TCE manupulation code to its own file (David Gibson) [1628412] - [net] net_sched: fix NULL pointer dereference when delete tcindex filter (Andrea Claudi) [1627648] - [net] net_sched: Fix missing res info when create new tc_index filter (Andrea Claudi) [1627648] - [samples] samples/bpf: xdpsock: order memory on AArch64 (Jesper Brouer) [1615959] - [samples] samples/bpf: xdp_redirect_cpu load balance like Suricata (Jesper Brouer) [1615959] - [samples] samples/bpf: add Paul Hsieh's (LGPL 2.1) hash function SuperFastHash (Jesper Brouer) [1615959] - [samples] samples/bpf: xdp_redirect_cpu handle parsing of double VLAN tagged packets (Jesper Brouer) [1615959] - [samples] samples/bpf: all XDP samples should unload xdp/bpf prog on SIGTERM (Jesper Brouer) [1615959] - [samples] samples/bpf: xdp_rxq_info action XDP_TX must adjust MAC-addrs (Jesper Brouer) [1615959] - [samples] samples/bpf: extend xdp_rxq_info to read packet payload (Jesper Brouer) [1615959] - [powerpc] KVM: PPC: Book3S HV: Use correct pagesize in kvm_unmap_radix() (David Gibson) [1625498] - [net] igmp: fix incorrect unsolicit report count after link down and up (Hangbin Liu) [1625538] - [net] igmp: fix incorrect unsolicit report count when join group (Hangbin Liu) [1625538] - [netdrv] cxgb4: update 1.20.8.0 as the latest firmware supported (Arjun Vynipadath) [1622555] - [virt] svm: nested virt support off by default (Bandan Das) [1571993]- [powerpc] KVM: PPC: Book3S HV: Don't use compound_order to determine host mapping size (David Gibson) [1625860] - [virt] arm64: KVM: Remove pgd_lock (Wei Huang) [1627474] - [virt] KVM: Remove obsolete kvm_unmap_hva notifier backend (Wei Huang) [1627474] - [virt] arm64: KVM: Only force FPEXC32_EL2.EN if trapping FPSIMD (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Clean dcache to PoC when changing PTE due to CoW (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Skip updating PTE entry if no change (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Skip updating PMD entry if no change (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Move DEBUG_SPINLOCK_BUG_ON to vgic.h (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Do not use spin_lock_irqsave/restore with irq disabled (Wei Huang) [1627474] - [virt] KVM: arm: vgic-v3: Add support for ICC_SGI0R and ICC_ASGI1R accesses (Wei Huang) [1627474] - [virt] KVM: arm64: vgic-v3: Add support for ICC_SGI0R_EL1 and ICC_ASGI1R_EL1 accesses (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic-v3: Add core support for Group0 SGIs (Wei Huang) [1627474] - [virt] KVM: arm64: Remove non-existent AArch32 ICC_SGI1R encoding (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Fix lost IRQs from emulated physcial timer when blocked (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Fix potential loss of ptimer interrupts (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Fix possible spectre-v1 write in vgic_mmio_write_apr() (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Update documentation of the GIC devices wrt IIDR (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Let userspace opt-in to writable v2 IGROUPR (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Allow configuration of interrupt groups (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Return error on incompatible uaccess GICD_IIDR writes (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Permit uaccess writes to return errors (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Signal IRQs using their configured group (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Add group field to struct irq (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: GICv2 IGROUPR should read as zero (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Keep track of implementation revision (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Define GICD_IIDR fields for GICv2 and GIv3 (Wei Huang) [1627474] - [virt] arm64: KVM: Cleanup tpidr_el2 init on non-VHE (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic-debug: Show LPI status (Wei Huang) [1627474] - [virt] KVM: arm64: vgic-its: Remove VLA usage (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Fix vgic init race (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Enable adaptative WFE trapping (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Remove unnecessary CMOs when creating HYP page tables (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Stop using the kernel's (pmd, pud, pgd)_populate helpers (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Consolidate page-table accessors (Wei Huang) [1627474] - [virt] arm64: KVM: Avoid marking pages as XN in Stage-2 if CTR_EL0.DIC is set (Wei Huang) [1627474] - [tools] radix tree test suite: Enable ubsan (Waiman Long) [1630244] - [tools] radix tree test suite: Fix compilation (Waiman Long) [1630244] - [block] blk-wbt: don't maintain inflight counts if disabled (Ming Lei) [1622790] - [block] blk-wbt: fix has-sleeper queueing check (Ming Lei) [1622790] - [block] blk-wbt: use wq_has_sleeper() for wq active check (Ming Lei) [1622790] - [block] blk-wbt: move disable check into get_limit() (Ming Lei) [1622790] - [block] block/DAC960.c: make some arrays static const, shrinks object (Ming Lei) [1622790] - [block] blk-mq: sync the update nr_hw_queues with (Ming Lei) [1617959] - [block] blk-mq: init hctx sched after update ctx and hctx mapping (Ming Lei) [1617959] - [block] block: remove duplicate initialization (Ming Lei) [1622790] - [block] tracing/blktrace: Fix to allow setting same value (Ming Lei) [1622790] - [block] pktcdvd: fix setting of 'ret' error return for a few cases (Ming Lei) [1622790] - [block] block: change return type to bool (Ming Lei) [1622790] - [block] block, bfq: return nbytes and not zero from struct cftype (Ming Lei) [1622790] - [block] block, bfq: improve code of bfq_bfqq_charge_time (Ming Lei) [1622790] - [block] block, bfq: reduce write overcharge (Ming Lei) [1622790] - [block] block, bfq: always update the budget of an entity when needed (Ming Lei) [1622790] - [block] block, bfq: readd missing reset of parent-entity service (Ming Lei) [1622790] - [block] block: don't warn for flush on read-only device (Ming Lei) [1622809]- [kernel] locking/rwsem: Make owner store task pointer of last owning reader (Waiman Long) [1631842] - [kernel] locking/rwsem: Exit read lock slowpath if queue empty & no writer (Waiman Long) [1631842] - [x86] x86/microcode: Update the new microcode revision unconditionally (Prarit Bhargava) [1630931] - [x86] x86/microcode: Make sure boot_cpu_data.microcode is up-to-date (Prarit Bhargava) [1630931] - [arm64] arm64: tlb: Provide forward declaration of tlb_flush() before including tlb.h (Waiman Long) [1630521] - [x86] x86/mm: Only use tlb_remove_table() for paravirt (Waiman Long) [1630521] - [mm] mm: mmu_notifier fix for tlb_end_vma (Waiman Long) [1630521] - [mm] mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE (Waiman Long) [1630521] - [mm] mm/tlb: Remove tlb_remove_table() non-concurrent condition (Waiman Long) [1630521] - [mm] mm: move tlb_table_flush to tlb_flush_mmu_free (Waiman Long) [1630521] - [kernel] clocksource: Revert Remove kthread (Waiman Long) [1628402] - [cpuidle] cpuidle: menu: Retain tick when shallow state is selected (Waiman Long) [1628402] - [cpufreq] cpufreq: governor: Avoid accessing invalid governor_data (Waiman Long) [1628402] - [cpuidle] cpuidle: menu: Handle stopped tick more aggressively (Waiman Long) [1628402] - [kernel] sched: idle: Avoid retaining the tick when it has been stopped (Waiman Long) [1628402] - [net] netfilter: xt_hashlimit: do not crash when reading proc file (Florian Westphal) [1630131] - [x86] x86/boot/KASLR: Skip specified number of 1GB huge pages when doing physical randomization (KASLR) (Baoquan He) [1564824] - [x86] x86/boot/KASLR: Add two new functions for 1GB huge pages handling (Baoquan He) [1564824] - [mfd] mfd: intel-lpss: Add Ice Lake PCI IDs (Gopal Tiwari) [1483477] - [mmc] mmc: sdhci-pci: Add support for Intel ICP (Gopal Tiwari) [1483496]- [mm] mm: get rid of vmacache_flush_all() entirely (Waiman Long) [1631297] {CVE-2018-17182} - [mm] mm, vmacache: hash addresses based on pmd (Waiman Long) [1631297] {CVE-2018-17182} - [mm] mm: Allocate the mm_cpumask (mm->cpu_bitmap) dynamically based on nr_cpu_ids (Waiman Long) [1631297] {CVE-2018-17182} - [infiniband] IB/hfi1: Invalid NUMA node information can cause a divide by zero (Alex Estrin) [1622222] - [nvdimm] libnvdimm: Export max available extent (Jeff Moyer) [1627874] - [nvdimm] libnvdimm: Use max contiguous area for namespace size (Jeff Moyer) [1627874] - [netdrv] ice: Fix and update driver version string (Jonathan Toppins) [1611786] - [netdrv] ice: Introduce SERVICE_DIS flag and service routine functions (Jonathan Toppins) [1611786] - [netdrv] ice: Enable VSI Rx/Tx pruning only when VLAN 0 is active (Jonathan Toppins) [1611786] - [netdrv] ice: Enable firmware logging during device initialization (Jonathan Toppins) [1611786] - [netdrv] ice: Implement ice_bridge_getlink and ice_bridge_setlink (Jonathan Toppins) [1611786] - [netdrv] ice: Add support for Tx hang, Tx timeout and malicious driver detection (Jonathan Toppins) [1611786] - [netdrv] ice: Clean up register file (Jonathan Toppins) [1611786] - [netdrv] ice: Implement handlers for ethtool PHY/link operations (Jonathan Toppins) [1611786] - [netdrv] ice: Refactor VSI allocation, deletion and rebuild flow (Jonathan Toppins) [1611786] - [netdrv] ice: Refactor switch rule management structures and functions (Jonathan Toppins) [1611786] - [netdrv] ice: Code optimization for ice_fill_sw_rule() (Jonathan Toppins) [1611786] - [netdrv] ice: Prevent control queue operations during reset (Jonathan Toppins) [1611786] - [netdrv] ice: Update request resource command to latest specification (Jonathan Toppins) [1611786] - [netdrv] ice: Updates to Tx scheduler code (Jonathan Toppins) [1611786] - [netdrv] ice: Rework flex descriptor programming (Jonathan Toppins) [1611786] - [netdrv] net/mlx5: Fix SQ offset in QPs with small RQ (Alaa Hleihel) [1623367] - [x86] x86/spec_ctrl: Make IBRS code work with SSBD mitigation (Waiman Long) [1565180] - [x86] x86/spec_ctrl: Auto-enable IBRS on Skylake (Waiman Long) [1565180] - [x86] x86/spec_ctrl: Extend spectre_v2 boot option to support IBRS (Waiman Long) [1565180] - [x86] x86/spec_ctrl: Boot time IBRS initialization (Waiman Long) [1565180] - [x86] x86/spec_ctrl: Add IBRS code to the 64-bit assembly entry code (Waiman Long) [1565180] - [x86] x86/cpufeatures: Increase NCAPINTS for future extension (Waiman Long) [1565180] - [netdrv] ice: Trivial formatting fixes (Jonathan Toppins) [1611783] - [netdrv] ice: Change struct members from bool to u8 (Jonathan Toppins) [1611783] - [netdrv] ice: Fix potential return of uninitialized value (Jonathan Toppins) [1611783] - [netdrv] ice: Fix a few null pointer dereference issues (Jonathan Toppins) [1611783] - [netdrv] ice: Update to interrupts enabled in OICR (Jonathan Toppins) [1611783] - [netdrv] ice: Set VLAN flags correctly (Jonathan Toppins) [1611783] - [netdrv] ice: Use order_base_2 to calculate higher power of 2 (Jonathan Toppins) [1611783] - [netdrv] ice: Fix bugs in control queue processing (Jonathan Toppins) [1611783] - [netdrv] ice: Clean control queues only when they are initialized (Jonathan Toppins) [1611783] - [netdrv] ice: Report stats for allocated queues via ethtool stats (Jonathan Toppins) [1611783] - [netdrv] ice: Cleanup magic number (Jonathan Toppins) [1611783] - [netdrv] ice: Remove unnecessary node owner check (Jonathan Toppins) [1611783] - [netdrv] ice: Fix multiple static analyser warnings (Jonathan Toppins) [1611783] - [virt] KVM: VMX: fixes for vmentry_l1d_flush module parameter (Waiman Long) [1616248] {CVE-2018-15572} - [virt] KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled (Waiman Long) [1616248] {CVE-2018-15572} - [virt] x86/kvm/vmx: Fix coding style in vmx_setup_l1d_flush() (Waiman Long) [1616248] {CVE-2018-15572} - [x86] x86/speculation: Support Enhanced IBRS on future CPUs (Waiman Long) [1614144] - [x86] x86/speculation: Protect against userspace-userspace spectreRSB (Waiman Long) [1616248] {CVE-2018-15572} - [x86] x86/speculation: Remove SPECTRE_V2_IBRS in enum spectre_v2_mitigation (Waiman Long) [1616248] {CVE-2018-15572} - [cpufreq] cpufreq: Fix a circular lock dependency problem (Waiman Long) [1599154] - [kernel] cpu/hotplug: Add a cpus_read_trylock() function (Waiman Long) [1599154] - [virt] xen/spinlock: Don't use pvqspinlock if only 1 vCPU (Waiman Long) [1618486]- [mailbox] mailbox: PCC: handle parse error (David Arcari) [1630382] - [hv] vmbus: don't return values for uninitalized channels (Vitaly Kuznetsov) [1617954] - [mm] kernel/memremap, kasan: make ZONE_DEVICE with work with KASAN (Bill O'Donnell) [1629578] - [mm] mm: fix BUG_ON() in vmf_insert_pfn_pud() from VM_MIXEDMAP removal (Jeff Moyer) [1622171] - [mm] dax: remove VM_MIXEDMAP for fsdax and device dax (Jeff Moyer) [1622171]- [i2c] i2c: i801: fix DNV's SMBCTRL register offset (David Arcari) [1628861] - [fs] ceph: avoid a use-after-free in ceph_destroy_options() (Ilya Dryomov) [1629884] - [fs] ceph: fix incorrect use of strncpy (Ilya Dryomov) [1629884] - [block] rbd: support cloning across namespaces (Ilya Dryomov) [1629884] - [block] rbd: factor out get_parent_info() (Ilya Dryomov) [1629884] - [block] rbd: support for images within namespaces (Ilya Dryomov) [1629884] - [block] rbd: pass rbd_spec into parse_rbd_opts_token() (Ilya Dryomov) [1629884] - [net] libceph: weaken sizeof check in ceph_x_verify_authorizer_reply() (Ilya Dryomov) [1629884] - [net] libceph: check authorizer reply/challenge length before reading (Ilya Dryomov) [1629884] - [net] libceph: implement CEPHX_V2 calculation mode (Ilya Dryomov) [1629884] - [net] libceph: add authorizer challenge (Ilya Dryomov) [1629884] - [net] libceph: factor out encrypt_authorizer() (Ilya Dryomov) [1629884] - [net] libceph: factor out __ceph_x_decrypt() (Ilya Dryomov) [1629884] - [net] libceph: factor out __prepare_write_connect() (Ilya Dryomov) [1629884] - [net] libceph: store ceph_auth_handshake pointer in ceph_connection (Ilya Dryomov) [1629884] - [pci] PCI: pciehp: Deduplicate presence check on probe & resume (Myron Stowe) [1583983] - [pci] PCI: pciehp: Avoid implicit fallthroughs in switch statements (Myron Stowe) [1583983] - [pci] PCI: Whitelist Thunderbolt ports for runtime D3 (Myron Stowe) [1583983] - [pci] PCI: Whitelist native hotplug ports for runtime D3 (Myron Stowe) [1583983] - [pci] PCI: sysfs: Resume to D0 on function reset (Myron Stowe) [1583983] - [pci] PCI: pciehp: Resume parent to D0 on config space access (Myron Stowe) [1583983] - [pci] PCI: pciehp: Resume to D0 on enable/disable (Myron Stowe) [1583983] - [pci] PCI: pciehp: Support interrupts sent from D3hot (Myron Stowe) [1583983] - [pci] PCI: pciehp: Obey compulsory command delay after resume (Myron Stowe) [1583983] - [pci] PCI: pciehp: Clear spurious events earlier on resume (Myron Stowe) [1583983] - [pci] PCI: portdrv: Deduplicate PM callback iterator (Myron Stowe) [1583983] - [pci] PCI: pciehp: Avoid slot access during reset (Myron Stowe) [1583983] - [pci] PCI: pciehp: Always enable occupied slot on probe (Myron Stowe) [1583983] - [pci] PCI: pciehp: Become resilient to missed events (Myron Stowe) [1583983] - [pci] PCI: pciehp: Tolerate initially unstable link (Myron Stowe) [1583983] - [pci] PCI: pciehp: Declare pciehp_enable/disable_slot() static (Myron Stowe) [1583983] - [pci] PCI: pciehp: Drop enable/disable lock (Myron Stowe) [1583983] - [pci] PCI: pciehp: Enable/disable exclusively from IRQ thread (Myron Stowe) [1583983] - [pci] PCI: pciehp: Track enable/disable status (Myron Stowe) [1583983] - [pci] PCI: pciehp: Publish to user space last on probe (Myron Stowe) [1583983] - [pci] PCI: hotplug: Demidlayer registration with the core (Myron Stowe) [1583983] - [pci] PCI: pciehp: Drop slot workqueue (Myron Stowe) [1583983] - [pci] PCI: pciehp: Handle events synchronously (Myron Stowe) [1583983] - [pci] PCI: pciehp: Stop blinking on slot enable failure (Myron Stowe) [1583983] - [pci] PCI: pciehp: Convert to threaded polling (Myron Stowe) [1583983] - [pci] PCI: pciehp: Convert to threaded IRQ (Myron Stowe) [1583983] - [pci] PCI: pciehp: Document struct slot and struct controller (Myron Stowe) [1583983] - [pci] PCI: pciehp: Declare pciehp_unconfigure_device() void (Myron Stowe) [1583983] - [pci] PCI: pciehp: Drop unnecessary NULL pointer check (Myron Stowe) [1583983] - [pci] PCI: pciehp: Fix unprotected list iteration in IRQ handler (Myron Stowe) [1583983] - [pci] PCI: pciehp: Fix use-after-free on unplug (Myron Stowe) [1583983] - [pci] PCI: hotplug: Don't leak pci_slot on registration failure (Myron Stowe) [1583983] - [pci] PCI: hotplug: Delete skeleton driver (Myron Stowe) [1583983] - [netdrv] be2net: Use Kconfig flag to support for enabling/disabling adapters (Petr Oros) [1611768] - [acpi] ACPICA: Reference Counts: increase max to 0x4000 for large servers (Frank Ramsay) [1618760]- [net] udp6: add missing checks on edumux packet processing (Paolo Abeni) [1625954] - [net] udp4: fix IP_CMSG_CHECKSUM for connected sockets (Paolo Abeni) [1625954] - [s390] s390/pci: fix out of bounds access during irq setup (Hendrik Brueckner) [1627462] - [nvdimm] libnvdimm: fix ars_status output length calculation (Jeff Moyer) [1616307]- [scsi] scsi: lpfc: Correct MDS diag and nvmet configuration (Dick Kennedy) [1628323] - [iommu] iommu/arm-smmu: workaround DMA mode issues (Mark Salter) [1624077] - [x86] x86/microcode: Allow late microcode loading with SMT disabled (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] tools headers: Synchronise x86 cpufeatures.h for L1TF additions (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/mm/kmmio: Make the tracer robust against L1TF (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/mm/pat: Make set_memory_np() L1TF safe (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Invert all not present mappings (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Fix SMT supported evaluation (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation: Simplify sysfs report of VMX L1TF vulnerability (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] Documentation/l1tf: Remove Yonah processors from not vulnerable list (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86: Don't include linux/irq.h from asm/hardirq.h (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/irq: Demote irq_cpustat_t::__softirq_pending to u16 (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond' (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: detect SMT disabled by BIOS (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] Documentation/l1tf: Fix typos (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Initialize the vmx_l1d_flush_pages' content (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Unbreak !__HAVE_ARCH_PFN_MODIFY_ALLOWED architectures (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] Documentation: Add section about CPU vulnerabilities (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/bugs, kvm: Introduce boot-time control of L1TF mitigations (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Set CPU_SMT_NOT_SUPPORTED early (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Expose SMT control init function (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Allow runtime control of L1D flush (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Serialize L1D flush parameter setter (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Add static key for flush always (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Move l1tf setup function (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/l1tf: Handle EPT disabled state proper (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Drop L1TF MSR list approach (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/litf: Introduce vmx status variable (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Online siblings when SMT control is turned on (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Use MSR save list for IA32_FLUSH_CMD if required (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Extend add_atomic_switch_msr() to allow VMENTER only MSRs (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Separate the VMX AUTOLOAD guest/host number accounting (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add find_msr() helper function (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Split the VMX MSR LOAD structures to have an host/guest numbers (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add L1D flush logic (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add L1D MSR based flush (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add L1D flush algorithm (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add module argument for L1TF mitigation (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM: Warn user if KVM is loaded SMT and L1TF CPU bug being present (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Boot HT siblings at least once (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] Revert "x86/apic: Ignore secondary threads if nosmt=force" (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Fix up pte->pfn conversion for PAE (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Protect PAE swap entries against L1TF (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/CPU/AMD: Move TOPOEXT reenablement before reading smp_num_siblings (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpufeatures: Add detection of L1D cache flush support (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Extend 64bit swap file size limit (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/apic: Ignore secondary threads if nosmt=force (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/AMD: Evaluate smp_num_siblings early (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/CPU/AMD: Do not check CPUID max ext level before parsing SMP info (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/intel: Evaluate smp_num_siblings early (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/topology: Provide detect_extended_topology_early() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/common: Provide detect_ht_early() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/AMD: Remove the pointless detect_ht() call (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu: Remove the pointless CPU printout (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Provide knobs to control SMT (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Split do_cpu_down() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Make bringup/teardown of smp threads symmetric (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/topology: Provide topology_smt_supported() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/smp: Provide topology_is_primary_thread() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] sched/smt: Update sched_smt_present at runtime (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/bugs: Move the l1tf function and define pr_fmt properly (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Limit swap file size to MAX_PA/2 (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Add sysfs reporting for l1tf (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Make sure the first page is always reserved (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Protect swap entries against L1TF (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Change order of offset/type in swap entry (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Increase 32bit PAE __PHYSICAL_PAGE_SHIFT (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646}- [pci] PCI/DPC: Remove indirection waiting for inactive link (Myron Stowe) [1485556] - [pci] PCI/DPC: Use threaded IRQ for bottom half handling (Myron Stowe) [1485556] - [pci] PCI/DPC: Print AER status in DPC event handling (Myron Stowe) [1485556] - [pci] PCI/DPC: Remove rp_pio_status from dpc struct (Myron Stowe) [1485556] - [pci] PCI/DPC: Defer event handling to work queue (Myron Stowe) [1485556] - [pci] PCI/DPC: Leave interrupts enabled while handling event (Myron Stowe) [1485556] - [net] net/mlx5e: Offload TC matching on tos/ttl for ip tunnels (Erez Alfasi) [1615121] - [net] net/mlx5e: Support setup of tos and ttl for tunnel key TC action offload (Erez Alfasi) [1615121] - [net] net/mlx5e: Use ttl from route lookup on tc encap offload only if needed (Erez Alfasi) [1615121] - [net] net/sched: cls_flower: Support matching on ip tos and ttl for tunnels (Erez Alfasi) [1615121] - [net] flow_dissector: Dissect tos and ttl from the tunnel info (Erez Alfasi) [1615121] - [net] net/sched: tunnel_key: Allow to set tos and ttl for tc based ip tunnels (Erez Alfasi) [1615121] - [net] net/sched: act_tunnel_key: disambiguate metadata dst error cases (Erez Alfasi) [1615121] - [net] net/sched: add tunnel option support to act_tunnel_key (Erez Alfasi) [1615121] - [iommu] iommu/amd: Add support for IOMMU XT mode (Suravee Suthikulpanit) [1504485] - [iommu] iommu/amd: Add support for higher 64-bit IOMMU Control Register (Suravee Suthikulpanit) [1504485] - [x86] x86: irq_remapping: Move irq remapping mode enum (Suravee Suthikulpanit) [1504485] - [firmware] dcdbas: Add support for WSMT ACPI table (Charles Rose) [1502286]- [documentation] scsi: documentation: add scsi_mod.use_blk_mq to scsi-parameters (Ewan Milne) [1600014] - [scsi] scsi: core: Update SCSI_MQ_DEFAULT help text to match default (Ewan Milne) [1600014] - [scsi] scsi: core: switch to scsi-mq by default (Ewan Milne) [1600014] - [pci] PCI: Match Root Port's MPS to endpoint's MPSS as necessary (Myron Stowe) [1502324] - [pci] PCI: Skip MPS logic for Virtual Functions (VFs) (Myron Stowe) [1502324] - [pci] PCI: Check for PCIe Link downtraining (Myron Stowe) [1502324] - [pci] PCI: Workaround IDT switch ACS Source Validation erratum (Myron Stowe) [1502324] - [of] OF: Don't set default coherent DMA mask (Mark Salter) [1581822] - [acpi] ACPI/IORT: Don't set default coherent DMA mask (Mark Salter) [1581822] - [iommu] iommu/dma: Respect bus DMA limit for IOVAs (Mark Salter) [1581822] - [of] of/device: Set bus DMA mask as appropriate (Mark Salter) [1581822] - [acpi] ACPI/IORT: Set bus DMA mask as appropriate (Mark Salter) [1581822] - [kernel] dma-mapping: Generalise dma_32bit_limit flag (Mark Salter) [1581822] - [acpi] ACPI/IORT: Support address size limit for root complexes (Mark Salter) [1581822] - [of] of/platform: Initialise default DMA masks (Mark Salter) [1581822] - [net] Bluetooth: hidp: buffer overflow in hidp_process_report (Gopal Tiwari) [1623073] {CVE-2018-9363} - [irqchip] irqchip/gic-v3-its: Reduce minimum LPI allocation to 1 for PCI devices (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Honor hypervisor enforced LPI range (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3: Expose GICD_TYPER in the rdist structure (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Drop chunk allocation compatibility (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Move minimum LPI requirements to individual busses (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Use full range of LPIs (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Refactor LPI allocator (Mark Salter) [1550500]- [netdrv] hv_netvsc: Fix a deadlock by getting rtnl lock earlier in netvsc_probe() (Vitaly Kuznetsov) [1625609] - [netdrv] hv_netvsc: ignore devices that are not PCI (Vitaly Kuznetsov) [1625609] - [netdrv] hv/netvsc: Fix NULL dereference at single queue mode fallback (Vitaly Kuznetsov) [1625609] - [netdrv] hv_netvsc: Add per-cpu ethtool stats for netvsc (Vitaly Kuznetsov) [1625609] - [pci] PCI: shpchp: Separate existence of SHPC and permission to use it (Steve Best) [1622953] - [powerpc] KVM: PPC: Book3S HV: Don't truncate HPTE index in xlate function (David Gibson) [1625513] - [kernel] rh_kabi: Add macros to size and extend structs (Prarit Bhargava) [1564570] - [pci] PCI: Remove unnecessary include of (Myron Stowe) [1622672] - [wireless] iwlwifi: Remove unnecessary include of (Myron Stowe) [1622672] - [wireless] ath9k: Remove unnecessary include of (Myron Stowe) [1622672] - [netdrv] igb: Remove unnecessary include of (Myron Stowe) [1622672] - [pci] PCI/ASPM: Convert to use sysfs_match_string() helper (Myron Stowe) [1622672] - [virt] KVM: s390: Properly lock mm context allow_gmap_hpage_1m setting (Thomas Huth) [1623513] - [virt] KVM: s390: vsie: copy wrapping keys to right place (Thomas Huth) [1623513] - [virt] KVM: s390: Fix pfmf and conditional skey emulation (Thomas Huth) [1623513] - [virt] KVM: s390: Fix storage attributes migration with memory slots (Thomas Huth) [1623513] - [virt] KVM: s390: a utility function for migration (Thomas Huth) [1623513]- [lib] vsprintf: Add command line option debug_boot_weak_hash (Prarit Bhargava) [1625687] - [netdrv] i40e: Fix for Tx timeouts when interface is brought up if DCB is enabled (Stefan Assmann) [1616147] - [misc] ocxl: Fix page fault handler in case of fault on dying process (Steve Best) [1624644] - [edac] EDAC, sb_edac: Add support for systems with segmented PCI buses (Aristeu Rozanski) [1621849] - [netdrv] xen-netfront: fix warn message as irq device name has '/' (Vitaly Kuznetsov) [1576160] - [arm64] arm64, kaslr: export offset in VMCOREINFO ELF notes (Bhupesh Sharma) [1624246] - [rpmspec] redhat: Move gfs2 and dlm out of kernel-modules-extra (Andrew Price) [1623511] - [powerpc] powerpc/topology: Get topology for shared processors at boot (Steve Best) [1620039] - [fs] gfs2: Don't set GFS2_RDF_UPTODATE when the lvb is updated (Robert S Peterson) [1622057] - [fs] gfs2: improve debug information when lvb mismatches are found (Robert S Peterson) [1622057] - [fs] gfs2: cleanup: call gfs2_rgrp_ondisk2lvb from gfs2_rgrp_out (Robert S Peterson) [1622057] - [x86] Fix x86 32-bit invalid cpu boot failure message (Prarit Bhargava) [1571456] - [net] net/ipv6: init ip6 anycast rt->dst.input as ip6_input (Hangbin Liu) [1615671] - [pci] PCI/AER: Don't clear AER bits if error handling is Firmware-First (Myron Stowe) [1621933] - [pci] PCI/AER: Remove duplicate PCI_EXP_AER_FLAGS definition (Myron Stowe) [1621933] - [pci] PCI/portdrv: Remove pcie_portdrv_err_handler.slot_reset (Myron Stowe) [1621933] - [pci] PCI/AER: Clear device status bits during ERR_COR handling (Myron Stowe) [1621933] - [pci] PCI/AER: Clear device status bits during ERR_FATAL and ERR_NONFATAL (Myron Stowe) [1621933] - [pci] PCI/AER: Remove ERR_FATAL code from ERR_NONFATAL path (Myron Stowe) [1621933] - [pci] PCI/AER: Factor out ERR_NONFATAL status bit clearing (Myron Stowe) [1621933] - [pci] PCI/AER: Clear only ERR_NONFATAL bits during non-fatal recovery (Myron Stowe) [1621933] - [pci] PCI/AER: Clear only ERR_FATAL status bits during fatal recovery (Myron Stowe) [1621933] - [pci] PCI/AER: Honor "pcie_ports=native" even if HEST sets FIRMWARE_FIRST (Myron Stowe) [1621933] - [pci] PCI/AER: Add sysfs attributes for rootport cumulative stats (Myron Stowe) [1621933] - [pci] PCI/AER: Add sysfs attributes to provide AER stats and breakdown (Myron Stowe) [1621933] - [pci] PCI/AER: Define aer_stats structure for AER capable devices (Myron Stowe) [1621933] - [pci] PCI/AER: Move internal declarations to drivers/pci/pci.h (Myron Stowe) [1621933] - [pci] PCI/AER: Adopt lspci names for AER error decoding (Myron Stowe) [1621933] - [pci] PCI/AER: Expose internal API for obtaining AER information (Myron Stowe) [1621933] - [kernel] rcu: Make expedited GPs handle CPU 0 being offline (Gustavo Duarte) [1610262] - [rpmspec] Generate BootLoaderSpec config fragments ("Herton R. Krzesinski") [1619766]- [net] erspan: set erspan_ver to 1 by default when adding an erspan dev (Xin Long) [1619118] - [hv] x86/hyper-v: Fix wrong merge conflict resolution (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Check for VP_INVAL in hyperv_flush_tlb_others() (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Check cpumask_to_vpset() return value in hyperv_flush_tlb_others_ex() (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Trace PV IPI send (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Use cheaper HVCALL_SEND_IPI hypercall when possible (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Use 'fast' hypercall for HVCALL_SEND_IPI (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Implement hv_do_fast_hypercall16 (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_(LIST, SPACE) hypercalls when possible (Vitaly Kuznetsov) [1597652] - [netdrv] xen-netfront: fix queue name setting (Vitaly Kuznetsov) [1576160] - [scsi] lfpc: add Lancer FCoE to the removed devices (Tomas Henzl) [1602033] - [scsi] megaraid_sas: add removed id table (Tomas Henzl) [1602033] - [scsi] aacraid: add removed id table (Tomas Henzl) [1602033] - [scsi] qla4xxx: add removed id table (Tomas Henzl) [1602033] - [scsi] lpfc: add removed id table (Tomas Henzl) [1602033] - [scsi] qla2xxx: add removed id table (Tomas Henzl) [1602033] - [scsi] mpt3sas: add removed id table (Tomas Henzl) [1602033] - [scsi] be2iscsi: add removed id table (Tomas Henzl) [1602033] - [scsi] rh_taint, pci : add information about removed hardware (Tomas Henzl) [1602033] - [kernel] kernel: add SUPPORT_REMOVED kernel taint (Tomas Henzl) [1602033] - [net] sunrpc: Change rpc_print_iostats to rpc_clnt_show_stats and handle rpc_clnt clones (Dave Wysochanski) [1610373] - [net] sunrpc: Add _add_rpc_iostats() to add rpc_iostats metrics (Dave Wysochanski) [1610373] - [net] sunrpc: add _print_rpc_iostats() to output metrics for one RPC op (Dave Wysochanski) [1610373]- [net] xdp: exclude XDP from kABI guarantee (Jiri Benc) [1568551] - [kernel] rh_kabi: introduce RH_KABI_EXCLUDE (Jiri Benc) [1568551] - [powerpc] powerpc/powernv/pci: Work around races in PCI bridge enabling (Steve Best) [1620035] - [block] blk-wbt: fix IO hang in wbt_wait() (Ming Lei) [1614198] - [block] blkcg: Make blkg_root_lookup() work for queues in bypass mode (Ming Lei) [1614198] - [block] null_blk: add lock drop/acquire annotation (Ming Lei) [1614198] - [block] Blk-throttle: reduce tail io latency when iops limit is (Ming Lei) [1614198] - [block] block: paride: pd: mark expected switch fall-throughs (Ming Lei) [1614198] - [block] block: Ensure that a request queue is dissociated from the (Ming Lei) [1614198] - [block] block: Introduce blk_exit_queue() (Ming Lei) [1614198] - [block] blkcg: Introduce blkg_root_lookup() (Ming Lei) [1614198] - [block] block: Remove two superfluous #include directives (Ming Lei) [1614198] - [block] blk-mq: count the hctx as active before allocating tag (Ming Lei) [1614198] - [block] block: bvec_nr_vecs() returns value for wrong slab (Ming Lei) [1614198] - [block] drivers/block/drbd: remove the null check for (Ming Lei) [1614198] - [block] drivers/block/aoe/aoedev: NULL check is not needed for (Ming Lei) [1614198] - [block] drivers/block/mtip32xx: remove the null check for (Ming Lei) [1614198] - [block] cfq: Suppress compiler warnings about comparisons (Ming Lei) [1614198] - [block] cfq: Annotate fall-through in a switch statement (Ming Lei) [1614198] - [block] blk-wbt: Avoid lock contention and thundering herd issue in (Ming Lei) [1590363] - [block] target/loop: depend on SCSI (Ming Lei) [1614198] - [block] xen-blkfront: use true and false for boolean values (Ming Lei) [1614198] - [block] lightnvm: remove minor version check for 2.0 (Ming Lei) [1614198] - [block] scsi: Check sense buffer size at build time (Ming Lei) [1614198] - [block] libata-scsi: Move sense buffers onto stack (Ming Lei) [1614198] - [block] cdrom: Use struct scsi_sense_hdr internally (Ming Lei) [1614198] - [block] ide-cd: Remove redundant sense buffer (Ming Lei) [1614198] - [block] block: Switch struct packet_command to use struct (Ming Lei) [1614198] - [block] target: don't depend on SCSI (Ming Lei) [1614198] - [block] scsi: build scsi_common.o for all scsi passthrough request (Ming Lei) [1614198] - [block] scsi: cxlflash: Drop unused sense buffers (Ming Lei) [1614198] - [block] ide-cd: Drop unused sense buffers (Ming Lei) [1614198] - [block] blk-mq: fix updating tags depth (Ming Lei) [1611900] - [block] block: really disable runtime-pm for blk-mq (Ming Lei) [1611902] - [block] aoe: mark expected switch fall-through (Ming Lei) [1614198] - [block] block: make iolatency avg_lat exponentially decay (Ming Lei) [1614198] - [block] blk-cgroup: clear the throttle queue on fork (Ming Lei) [1614198] - [block] blk-cgroup: hold the queue ref during throttling (Ming Lei) [1614198] - [block] blk-iolatency: fix blkg leak in timer_fn (Ming Lei) [1614198] - [block] block/bsg-lib: use PTR_ERR_OR_ZERO to simplify the flow path (Ming Lei) [1614198] - [block] t10-pi: provide empty t10_pi_complete() for (Ming Lei) [1614198] - [block] block: blk_init_allocated_queue() set q->fq as NULL in the (Ming Lei) [1614198] - [block] nvme: use blk API to remap ref tags for IOs with metadata (Ming Lei) [1614198] - [block] block: move dif_prepare/dif_complete functions to block layer (Ming Lei) [1614198] - [block] block: move ref_tag calculation func to the block layer (Ming Lei) [1614198] - [block] block: don't account for split bio's size in cgroup stats (Ming Lei) [1614198] - [block] pktcdvd: Fix possible Spectre-v1 for pkt_devs (Ming Lei) [1614198] - [block] partitions/aix: append null character to print data from disk (Ming Lei) [1614198] - [block] partitions/aix: fix usage of uninitialized lv_info and lvname (Ming Lei) [1614198] - [block] readahead: stricter check for bdi io_pages (Ming Lei) [1614198] - [block] scsi: virtio_scsi: fix pi_bytes(out, in) on 4 KiB block size (Ming Lei) [1614198] - [block] block: move bio_integrity_(intervals, bytes) into blkdev.h (Ming Lei) [1614198] - [block] xen/blkfront: remove unused macros (Ming Lei) [1614198] - [block] block: allow max_discard_segments to be stacked (Ming Lei) [1614198] - [block] block: unexport bio_clone_bioset (Ming Lei) [1614198] - [block] md: remove a bogus comment (Ming Lei) [1614198] - [block] block: remove bio_clone_kmalloc (Ming Lei) [1614198] - [block] exofs: use bio_clone_fast in _write_mirror (Ming Lei) [1614198] - [block] bcache: don't clone bio in bch_data_verify (Ming Lei) [1614198] - [block] block: bio_set_pages_dirty can't see NULL bv_page in a valid (Ming Lei) [1614198] - [block] block: simplify bio_check_pages_dirty (Ming Lei) [1614198] - [block] block: Rename the null_blk_mod kernel module back into (Ming Lei) [1614198] - [block] blk-mq: fail the request in case issue failure (Ming Lei) [1614305] - [block] blk-rq-qos: make depth comparisons unsigned (Ming Lei) [1614198] - [block] blkcg: Track DISCARD statistics and output them in cgroup (Ming Lei) [1614198] - [block] block: Track DISCARD statistics and output them in stat and (Ming Lei) [1614198] - [block] block: Add and use op_stat_group() for indexing disk_stat (Ming Lei) [1614198] - [block] block: Define and use STAT_READ and STAT_WRITE (Ming Lei) [1614198] - [block] block: Add part_stat_read_accum to read across field entries (Ming Lei) [1614198] - [block] block: make bdev_ops->rw_page() take a REQ_OP instead of bool (Ming Lei) [1614198] - [block] pktcdvd: remove assignment in if condition (Ming Lei) [1614198] - [block] blk-mq: issue directly if hw queue isn't busy in case of (Ming Lei) [1614305] - [block] blk-iolatency: truncate our current time (Ming Lei) [1614198] - [block] blk-iolatency: don't change the latency window (Ming Lei) [1614198] - [block] block: remove blkdev_entry_to_request() macro (Ming Lei) [1614198] - [block] block: skd: Use pad printk format for dma_addr_t values (Ming Lei) [1614198] - [block] bsg: remove read/write support (Ming Lei) [1614198] - [block] blk-iolatency: fix max_depth comparisons (Ming Lei) [1614198] - [block] block: iolatency: avoid 64-bit division (Ming Lei) [1614198] - [block] block/DAC960.c: fix defined but not used build warnings (Ming Lei) [1614198] - [block] null_blk: add zone support (Ming Lei) [1614198] - [block] null_blk: move shared definitions to header file (Ming Lei) [1614198] - [block] block: Add default switch case to blk_pm_allow_request() to (Ming Lei) [1614198] - [block] block: fix infinite loop if the device loses discard (Ming Lei) [1614198] - [block] block, mm: remove unnecessary __GFP_HIGH flag (Ming Lei) [1614198] - [block] null_blk: remove NULLB_DEV_FL_CONFIGURED on turning off nullb (Ming Lei) [1614198] - [block] mm: skip readahead if the cgroup is congested (Ming Lei) [1614198] - [block] Documentation: add a doc for blk-iolatency (Ming Lei) [1614198] - [block] block: introduce blk-iolatency io controller (Ming Lei) [1614198] - [block] rq-qos: introduce dio_bio callback (Ming Lei) [1614198] - [block] block: remove external dependency on wbt_flags (Ming Lei) [1614198] - [block] blk-rq-qos: refactor out common elements of blk-wbt (Ming Lei) [1614198] - [block] blk-stat: export helpers for modifying blk_rq_stat (Ming Lei) [1614198] - [block] memcontrol: schedule throttling if we are congested (Ming Lei) [1614198] - [block] blkcg: add generic throttling mechanism (Ming Lei) [1614198] - [block] swap, blkcg: issue swap io with the appropriate context (Ming Lei) [1614198] - [block] blk: introduce REQ_SWAP (Ming Lei) [1614198] - [block] blk-cgroup: allow controllers to output their own stats (Ming Lei) [1614198] - [block] block: introduce bio_issue_as_root_blkg (Ming Lei) [1614198] - [block] block: add bi_blkg to the bio for cgroups (Ming Lei) [1614198] - [block] blk-mq: dequeue request one by one from sw queue if hctx is (Ming Lei) [1614305] - [block] block/loop: mark expected switch fall-through (Ming Lei) [1614198] - [block] drbd: mark expected switch fall-throughs (Ming Lei) [1614198] - [block] blk-mq: only attempt to merge bio if there is rq in sw queue (Ming Lei) [1614305] - [block] blk-mq: use list_splice_tail_init() to insert requests (Ming Lei) [1614305] - [block] blk-mq: fix typo in a function comment (Ming Lei) [1614198] - [block] blk-mq: code clean-up by adding an API to clear set->mq_map (Ming Lei) [1614198] - [block] paride: remove redundant variable n (Ming Lei) [1614198] - [block] partitions/ldm: remove redundant pointer dgrp (Ming Lei) [1614198] - [block] loop: remove redundant pointer inode (Ming Lei) [1614198] - [block] block/floppy: remove redundant variable dflags (Ming Lei) [1614198] - [block] Block: blk-throttle: set low_valid immediately once one (Ming Lei) [1614198] - [block] Blktrace: bail out early if block debugfs is not configured (Ming Lei) [1614198] - [block] block: Document how blk_update_request() handles (Ming Lei) [1614198] - [block] drbd: Do not redefine __must_hold() (Ming Lei) [1614198] - [block] blk-mq: avoid to synchronize rcu inside blk_cleanup_queue() (Ming Lei) [1597067] - [block] blk-mq: remove synchronize_rcu() from (Ming Lei) [1597067] - [block] blk-mq: introduce new lock for protecting hctx->dispatch_wait (Ming Lei) [1597067] - [block] blk-mq: don't pass **hctx to blk_mq_mark_tag_wait() (Ming Lei) [1597067] - [block] blk-mq: cleanup blk_mq_get_driver_tag() (Ming Lei) [1597067] - [block] block, bfq: give a better name to bfq_bfqq_may_idle (Ming Lei) [1614198] - [block] block, bfq: fix service being wrongly set to zero in case of (Ming Lei) [1614198] - [block] block, bfq: do not expire a queue that will deserve dispatch (Ming Lei) [1614198] - [block] block, bfq: add/remove entity weights correctly (Ming Lei) [1614198] - [block] block: Make struct request_queue smaller for (Ming Lei) [1614198] - [block] block: Inline blk_queue_nr_zones() (Ming Lei) [1614198] - [block] block: Remove bdev_nr_zones() (Ming Lei) [1614198] - [block] include/uapi/linux/blkzoned.h: Remove a superfluous __packed (Ming Lei) [1614198] - [block] block: Remove a superfluous cast from blkdev_report_zones() (Ming Lei) [1614198]- [net] tls: mark as Tech Preview (Sabrina Dubroca) [1570255] - [pci] PCI/VPD: Check for VPD access completion before checking for timeout (Myron Stowe) [1618820] - [rpmspec] redhat: remove bootwrapper subpackage (Gustavo Duarte) [1578399] - [virt] kvm: x86: Set highest physical address bits in non-present/reserved SPTEs (Paolo Bonzini) [1614808] - [virt] KVM/x86: Use CC_SET()/CC_OUT in arch/x86/kvm/vmx.c (Paolo Bonzini) [1614808] - [virt] KVM: X86: Implement PV IPIs in linux guest (Paolo Bonzini) [1614808] - [virt] KVM: X86: Add kvm hypervisor init time platform setup callback (Paolo Bonzini) [1614808] - [virt] KVM: X86: Implement "send IPI" hypercall (Paolo Bonzini) [1614808] - [virt] KVM/x86: Move X86_CR4_OSXSAVE check into kvm_valid_sregs() (Paolo Bonzini) [1614808] - [virt] KVM: x86: Skip pae_root shadow allocation if tdp enabled (Paolo Bonzini) [1614808] - [virt] KVM/MMU: Combine flushing remote tlb in mmu_set_spte() (Paolo Bonzini) [1614808] - [virt] KVM: vmx: skip VMWRITE of HOST_(FS, GS)_BASE when possible (Paolo Bonzini) [1614808] - [virt] KVM: vmx: skip VMWRITE of HOST_(FS, GS)_SEL when possible (Paolo Bonzini) [1614808] - [virt] KVM: vmx: always initialize HOST_(FS, GS)_BASE to zero during setup (Paolo Bonzini) [1614808] - [virt] KVM: vmx: move struct host_state usage to struct loaded_vmcs (Paolo Bonzini) [1614808] - [virt] KVM: vmx: compute need to reload FS/GS/LDT on demand (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: remove a misleading comment regarding vmcs02 fields (Paolo Bonzini) [1614808] - [virt] KVM: vmx: rename __vmx_load_host_state() and vmx_save_host_state() (Paolo Bonzini) [1614808] - [virt] KVM: vmx: add dedicated utility to access guest's kernel_gs_base (Paolo Bonzini) [1614808] - [virt] KVM: vmx: track host_state.loaded using a loaded_vmcs pointer (Paolo Bonzini) [1614808] - [virt] KVM: vmx: refactor segmentation code in vmx_save_host_state() (Paolo Bonzini) [1614808] - [virt] kvm: nVMX: Fix fault priority for VMX operations (Paolo Bonzini) [1614808] - [virt] kvm: nVMX: Fix fault vector for VMX operation at CPL > 0 (Paolo Bonzini) [1614808] - [virt] KVM: try __get_user_pages_fast even if not in atomic context (Paolo Bonzini) [1614808] - [virt] KVM: vmx: Add tlb_remote_flush callback support (Paolo Bonzini) [1614808] - [virt] KVM: x86: Add tlb remote flush callback in kvm_x86_ops (Paolo Bonzini) [1614808] - [virt] X86/Hyper-V: Add hyperv_nested_flush_guest_mapping ftrace support (Paolo Bonzini) [1614808] - [virt] X86/Hyper-V: Add flush HvFlushGuestPhysicalAddressSpace hypercall support (Paolo Bonzini) [1614808] - [virt] x86/kvm: Don't use pvqspinlock code if only 1 vCPU (Paolo Bonzini) [1614808] - [virt] KVM/MMU: Simplify __kvm_sync_page() function (Paolo Bonzini) [1614808] - [virt] kvm: x86: Remove CR3_PCID_INVD flag (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add multi-entry LRU cache for previous CR3s (Paolo Bonzini) [1614808] - [virt] kvm: x86: Flush only affected TLB entries in kvm_mmu_invlpg* (Paolo Bonzini) [1614808] - [virt] kvm: x86: Skip shadow page resync on CR3 switch when indicated by guest (Paolo Bonzini) [1614808] - [virt] kvm: x86: Support selectively freeing either current or previous MMU root (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add a root_hpa parameter to kvm_mmu->invlpg() (Paolo Bonzini) [1614808] - [virt] kvm: x86: Skip TLB flush on fast CR3 switch when indicated by guest (Paolo Bonzini) [1614808] - [virt] kvm: vmx: Support INVPCID in shadow paging mode (Paolo Bonzini) [1614808] - [virt] kvm: x86: Propagate guest PCIDs to host PCIDs (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add ability to skip TLB flush when switching CR3 (Paolo Bonzini) [1614808] - [virt] kvm: x86: Use fast CR3 switch for nested VMX (Paolo Bonzini) [1614808] - [virt] kvm: x86: Support resetting the MMU context without resetting roots (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add support for fast CR3 switch across different MMU modes (Paolo Bonzini) [1614808] - [virt] kvm: x86: Introduce KVM_REQ_LOAD_CR3 (Paolo Bonzini) [1614808] - [virt] kvm: x86: Introduce kvm_mmu_calc_root_page_role() (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add fast CR3 switch code path (Paolo Bonzini) [1614808] - [virt] kvm: x86: Avoid taking MMU lock in kvm_mmu_sync_roots if no sync is needed (Paolo Bonzini) [1614808] - [virt] kvm: x86: Make sync_page() flush remote TLBs once only (Paolo Bonzini) [1614808] - [virt] KVM: MMU: drop vcpu param in gpte_access (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Separate logic allocating shadow vmcs to a function (Paolo Bonzini) [1614808] - [virt] KVM: VMX: Mark vmcs header as shadow in case alloc_vmcs_cpu() allocate shadow vmcs (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Expose VMCS shadowing to L1 guest (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Do not forward VMREAD/VMWRITE VMExits to L1 if required so by vmcs12 vmread/vmwrite bitmaps (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: vmread/vmwrite: Use shadow vmcs12 if running L2 (Paolo Bonzini) [1614808] - [virt] KVM: selftests: add tests for shadow VMCS save/restore (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: include shadow vmcs12 in nested state (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Cache shadow vmcs12 on VMEntry and flush to memory on VMExit (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Verify VMCS shadowing VMCS link pointer (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Verify VMCS shadowing controls (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Introduce nested_cpu_has_shadow_vmcs() (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Fail VMLAUNCH and VMRESUME on shadow VMCS (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Allow VMPTRLD for shadow VMCS if vCPU supports VMCS shadowing (Paolo Bonzini) [1614808] - [virt] KVM: VMX: Change vmcs12(read, write)_any() to receive vmcs12 as parameter (Paolo Bonzini) [1614808] - [virt] KVM: VMX: Create struct for VMCS header (Paolo Bonzini) [1614808] - [virt] kvm: selftests: add test for nested state save/restore (Paolo Bonzini) [1614808] - [virt] kvm: nVMX: Introduce KVM_CAP_NESTED_STATE (Paolo Bonzini) [1614808] - [virt] KVM: x86: do not load vmcs12 pages while still in SMM (Paolo Bonzini) [1614808] - [virt] kvm: selftests: add basic test for state save and restore (Paolo Bonzini) [1614808] - [virt] kvm: selftests: ensure vcpu file is released (Paolo Bonzini) [1614808] - [virt] kvm: selftests: actually use all of lib/vmx.c (Paolo Bonzini) [1614808] - [virt] kvm: selftests: create a GDT and TSS (Paolo Bonzini) [1614808] - [virt] KVM: x86: ensure all MSRs can always be KVM_GET/SET_MSR'd (Paolo Bonzini) [1614808] - [virt] KVM: vmx: remove save/restore of host BNDCGFS MSR (Paolo Bonzini) [1614808] - [virt] KVM: Switch 'requests' to be 64-bit (explicitly) (Paolo Bonzini) [1614808] - [virt] kvm: selftests: add cr4_cpuid_sync_test (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Read kvm->arch.emul_smt_mode under kvm->lock (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Allow creating max number of VCPUs on POWER9 (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Pack VCORE IDs to access full VCPU ID space (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Fix constant size warning (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Add of_node_put() in success path (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S: Fix matching of hardware and emulated TCE tables (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Remove mmio_vsx_tx_sx_enabled in KVM MMIO emulation (Paolo Bonzini) [1614808]- [net] tcp: Add tcp_clamp_rto_to_user_timeout() helper to improve accuracy (Michael Cambria) [1605024] - [net] tcp: Add tcp_retransmit_stamp() helper routine (Michael Cambria) [1605024] - [net] tcp: convert icsk_user_timeout from jiffies to msecs (Michael Cambria) [1605024] - [kernel] Revert sched/fair: Consider SD_NUMA when selecting the most idle group to schedule on (Lauro Ramos Venancio) [1585746] - [kernel] redhat: makefile: adjust KBUILD_CFLAGS to reflect kernel.spec for powerpc builds (Gustavo Duarte) [1582568] - [rpmspec] redhat: spec: build ppc64le kernel with -O3 (Gustavo Duarte) [1582568] - [scsi] scsi: csiostor: update csio_get_flash_params() (Arjun Vynipadath) [1503574] - [scsi] csiostor: Add a soft dep on cxgb4 driver (Arjun Vynipadath) [1503574] - [firmware] dell_rbu: make firmware payload memory uncachable (Charles Rose) [1584401]- [scsi] scsi: lpfc: update driver version to 12.0.0.6 (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Remove lpfc_enable_pbde as module parameter (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Correct LCB ACCept payload (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Limit tracking of tgt queue depth in fast path (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Fix driver crash when re-registering NVME rports (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Fix list corruption on the completion queue (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Fix sysfs Speed value on CNA ports (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Fix ELS abort on SLI-3 adapters (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: remove null check on nvmebuf (Dick Kennedy) [1613913] - [arm64] arm64: fix ACPI dependencies (Bhupesh Sharma) [1556832] - [arm64] arm64: acpi: fix alignment fault in accessing ACPI (Bhupesh Sharma) [1556832] - [firmware] efi/arm: map UEFI memory map even w/o runtime services enabled (Bhupesh Sharma) [1556832] - [firmware] efi/arm: preserve early mapping of UEFI memory map longer for BGRT (Bhupesh Sharma) [1556832] - [acpi] drivers: acpi: add dependency of EFI for arm64 (Bhupesh Sharma) [1556832] - [arm64] arm64: export memblock_reserve()d regions via /proc/iomem (Bhupesh Sharma) [1556832] - [arm64] arm64: kconfig: Ensure spinlock fastpaths are inlined if !PREEMPT (Waiman Long) [1607924] - [arm64] arm64: locking: Replace ticket lock implementation with qspinlock (Waiman Long) [1607924] - [arm64] arm64: barrier: Implement smp_cond_load_relaxed (Waiman Long) [1607924] - [scsi] scsi: lpfc: Revise copyright for new company language (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: update driver version to 12.0.0.5 (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: devloss timeout race condition caused null pointer reference (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Fix NVME Target crash in defer rcv logic (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Support duration field in Link Cable Beacon V1 command (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Make PBDE optimizations configurable (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Fix abort error path for NVMET (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Fix panic if driver unloaded when port is offline (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Fix driver not setting dpp bits correctly in doorbell word (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Add Buffer overflow check, when nvme_info larger than PAGE_SIZE (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: use monotonic timestamps for statistics (Dick Kennedy) [1600946] - [x86] mark intel knights landing and knights mill unsupported (David Arcari) [1610493] - [netdrv] igb: Remove superfluous reset to PHY and page 0 selection (Corinna Vinschen) [1612824] - [tools] selftests/powerpc: Fix ptrace-pkey for default execute permission change (Steve Best) [1498799] - [tools] selftests/powerpc: Fix core-pkey for default execute permission change (Steve Best) [1498799] - [powerpc] powerpc/pkeys: make protection key 0 less special (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Preallocate execute-only key (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Fix calculation of total pkeys (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Save the pkey registers before fork (Steve Best) [1498799] - [powerpc] powerpc/pkeys: key allocation/deallocation must not change pkey registers (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Deny read/write/execute by default (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Give all threads control of their key permissions (Steve Best) [1498799] - [s390] KVM: s390: Add huge page enablement control (David Hildenbrand) [1508102] - [s390] s390/mm: Add huge page gmap linking support (David Hildenbrand) [1508102] - [s390] s390/mm: hugetlb pages within a gmap can not be freed (David Hildenbrand) [1508102] - [s390] KVM: s390: Beautify skey enable check (David Hildenbrand) [1508102] - [s390] KVM: s390: Add skey emulation fault handling (David Hildenbrand) [1508102] - [s390] s390/mm: Add huge pmd storage key handling (David Hildenbrand) [1508102] - [s390] s390/mm: Clear skeys for newly mapped huge guest pmds (David Hildenbrand) [1508102] - [s390] s390/mm: Clear huge page storage keys on enable_skey (David Hildenbrand) [1508102] - [s390] s390/mm: Add huge page dirty sync support (David Hildenbrand) [1508102] - [s390] s390/mm: Add gmap pmd invalidation and clearing (David Hildenbrand) [1508102] - [s390] s390/mm: Add gmap pmd notification bit setting (David Hildenbrand) [1508102] - [s390] s390/mm: Add gmap pmd linking (David Hildenbrand) [1508102] - [s390] s390/mm: Abstract gmap notify bit setting (David Hildenbrand) [1508102] - [s390] s390/mm: Make gmap_protect_range more modular (David Hildenbrand) [1508102] - [s390] KVM: s390: Replace clear_user with kvm_clear_guest (David Hildenbrand) [1508102] - [hwmon] hwmon: (ibmpowernv) Add attributes to enable/disable sensor groups (Steve Best) [1524684] - [powerpc] powerpc/powernv: Add support to enable sensor groups (Steve Best) [1524684] - [net] net/smc: improve delete link processing (Hendrik Brueckner) [1548452] - [net] net/smc: provide fallback reason code (Hendrik Brueckner) [1548452] - [net] net/smc: use correct vlan gid of RoCE device (Hendrik Brueckner) [1548452] - [net] net/smc: fewer parameters for smc_llc_send_confirm_link() (Hendrik Brueckner) [1548452] - [net] net/smc: remove local variable page in smc_rx_splice() (Hendrik Brueckner) [1548452] - [net] net/smc: use DECLARE_BITMAP for rtokens_used_mask (Hendrik Brueckner) [1548452] - [net] net/smc: add function to get link group from link (Hendrik Brueckner) [1548452] - [net] net/smc: eliminate cursor read and write calls (Hendrik Brueckner) [1548452] - [net] net/smc: provide smc mode in smc_diag.c (Hendrik Brueckner) [1548452] - [s390] s390/ism: add device driver for internal shared memory (Hendrik Brueckner) [1548452] - [net] net/smc: add SMC-D diag support (Hendrik Brueckner) [1548452] - [net] net/smc: add SMC-D support in af_smc (Hendrik Brueckner) [1548452] - [net] net/smc: add SMC-D support in data transfer (Hendrik Brueckner) [1548452] - [net] net/smc: add SMC-D support in CLC messages (Hendrik Brueckner) [1548452] - [net] net/smc: add pnetid support for SMC-D and ISM (Hendrik Brueckner) [1548452] - [net] net/smc: add base infrastructure for SMC-D and ISM (Hendrik Brueckner) [1548452] - [net] net/smc: add pnetid support (Hendrik Brueckner) [1548452] - [net] net/smc: determine port attributes independent from pnet table (Hendrik Brueckner) [1548452] - [x86] mark whiskey-lake processor supported (David Arcari) [1609604] - [s390] KVM: s390: add etoken support for guests (Thomas Huth) [1612110] - [char] ipmi: do not configure ipmi for HPE m400 (Tony Camuso) [1583537] - [scsi] scsi: ipr: Format HCAM overlay ID 0x41 (Steve Best) [1498222] - [x86] x86/stacktrace: Enable HAVE_RELIABLE_STACKTRACE for the ORC unwinder (Joe Lawrence) [1587952] - [x86] x86/unwind/orc: Detect the end of the stack (Joe Lawrence) [1587952] - [x86] x86/stacktrace: Do not fail for ORC with regs on stack (Joe Lawrence) [1587952] - [x86] x86/stacktrace: Clarify the reliable success paths (Joe Lawrence) [1587952] - [x86] x86/stacktrace: Remove STACKTRACE_DUMP_ONCE (Joe Lawrence) [1587952] - [x86] x86/stacktrace: Do not unwind after user regs (Joe Lawrence) [1587952] - [infiniband] IB/rxe: Mark Soft-RoCE Transport driver as tech-preview (Don Dutile) [1605216] - [scsi] scsi: smartpqi: bump driver version to 1.1.4-130 (Don Brace) [1503736] - [scsi] scsi: smartpqi: fix critical ARM issue reading PQI index registers (Don Brace) [1503736] - [scsi] scsi: smartpqi: add inspur advantech ids (Don Brace) [1503736] - [scsi] scsi: smartpqi: improve error checking for sync requests (Don Brace) [1503736] - [scsi] scsi: smartpqi: improve handling for sync requests (Don Brace) [1503736] - [netdrv] ice: mark driver as tech-preview (Jonathan Toppins) [1495347] - [init] init/Kconfig: remove EXPERT from CHECKPOINT_RESTORE (Adrian Reber) [1568995 1557617 1525389] - [scsi] be2iscsi: remove BE3 family support (Maurizio Lombardi) [1598366] - [x86] update rh_check_supported processor list (David Arcari) [1595918] - [kernel] kABI: Add generic kABI macros to use for kABI workarounds (Myron Stowe) [1546831] - [pci] add pci_hw_vendor_status() (Maurizio Lombardi) [1590829] - [ata] ahci: thunderx2: Fix for errata that affects stop engine (Robert Richter) [1563590] - [pci] Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon (Robert Richter) [1563590] - [kernel] bpf: set default values for bpf_jit_harden and bpf_jit_kallsyms (Eugene Syromiatnikov) [1569061] - [kernel] bpf: Add tech preview taint for syscall (Eugene Syromiatnikov) [1559877] - [kernel] bpf: set unprivileged_bpf_disabled to 1 by default, add a boot parameter (Eugene Syromiatnikov) [1561171] - [kernel] add Red Hat-specific taint flags (Eugene Syromiatnikov) [1559877] - [tools] perf tests: Add Python 3 support to attr.py ("Herton R. Krzesinski") [1561505] - [tools] perf scripts python: Add Python 3 support to stat-cpi.py ("Herton R. Krzesinski") [1561505] - [kernel] kdump: fix a grammar issue in a kernel message (Dave Young) [1507353] - [scripts] tags.sh: Ignore redhat/rpm (Prarit Bhargava) [1582586] - [kernel] put RHEL info into generated headers (Prarit Bhargava) [1544999] - [kernel] kdump: add support for crashkernel=auto (Dave Young) [1507353] - [kernel] kdump: round up the total memory size to 128M for crashkernel reservation (Dave Young) [1507353] - [arm64] acpi: prefer booting with ACPI over DTS (Mark Salter) [1576869] - [acpi] aarch64: acpi scan: Fix regression related to X-Gene UARTs (Mark Salter) [1519554] - [acpi] ACPI / irq: Workaround firmware issue on X-Gene based m400 (Mark Salter) [1519554] - [x86] add rh_check_supported (David Arcari) [1565717] - [scsi] qla2xxx: Remove PCI IDs of deprecated adapter (Himanshu Madhani) [1572233] - [scsi] be2iscsi: remove unsupported device IDs (Chris Leech) [1574502] - [scsi] Removing Obsolete hba pci-ids from rhel8 (Dick Kennedy) [1572321] - [scsi] hpsa: modify hpsa driver version (Joseph Szczypek) [1471185] - [scsi] hpsa: remove old cciss-based smartarray pci ids (Joseph Szczypek) [1471185] - [kernel] rh_taint: add support for marking driver as unsupported (Jonathan Toppins) [1565704] - [kernel] rh_taint: add support (David Arcari) [1565704] - [scsi] qla4xxx: Remove deprecated PCI IDs from RHEL 8 (Chad Dupuis) [1518874] - [scsi] aacraid: Remove depreciated device and vendor PCI id's (Raghava Aditya Renukunta) [1495307] - [scsi] megaraid_sas: remove deprecated pci-ids (Tomas Henzl) [1509329] - [scsi] mpt*: remove certain deprecated pci-ids (Tomas Henzl) [1511953] - [kernel] modules: add rhelversion MODULE_INFO tag (Prarit Bhargava) [1544999] - [acpi] ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support (Al Stone) [1518076] - [rpmspec] compute content hash for kernel-headers (Rafael Aquini) [1613003] - [rpmspec] compress modules on all architectures ("Herton R. Krzesinski") [1614556] - [rpmspec] add gcov rpm packaging support (Jan Stancek) [1601733] - [rpmspec] don't ship spdxcheck.py (Jakub Racek) - [rpmspec] clean stray bpf files (Jakub Racek) [1593309] - [rpmspec] Copy symvers.gz to /lib/modules (Eugene Syromiatnikov) [1609695] - [rpmspec] Add kabi-dup related code into specfile (Petr Oros) [1585672] - [rpmspec] kernel spec: Add and enable kabi check (Petr Oros) [1585672] - [rpmspec] Enable warning checks for configs in rpm build (Prarit Bhargava) [1589858] - [rpmspec] remove workaround for rst2man-3 from python3-docutils ("Herton R. Krzesinski") [1602148] - [rpmspec] fix dist tag used for hardlink in kernel-devel post ("Herton R. Krzesinski") [1596397] - [scripts] get_maintainer.pl: Add optional .get_maintainer.MAINTAINERS override (Prarit Bhargava) [1595727] - [rpmspec] drop kernel package dependency on python2 ("Herton R. Krzesinski") [1561505] - [kernel] Makefile: Move RHEL definitions down (Jakub Racek) [1576568] - [rpmspec] eBPF: Add bpftool package to spec file (Jerome Marchand) [1559607] - [rpmspec] fix conflicts with COPYING file while installing newer 4.17 kernel ("Herton R. Krzesinski") [1579563] - [rpmspec] do not build kernel meta-package on noarch ("Herton R. Krzesinski") [1579512] - [rpmspec] kernel spec: remove copy of arch/x86/purgatory/sha256.* ("Herton R. Krzesinski") - [rpmspec] spec: Add new arch/powerpc/kernel/module.lds file to kernel-devel rpm (Steve Best) [1572553] - [rpmspec] kernel spec: fix recent build errors from brp-mangle-shebangs ("Herton R. Krzesinski") [1575966] - [rpmspec] Add i386 to ExclusiveArch to fix noarch package build ("Herton R. Krzesinski") [1575152] - [rpmspec] Build kernel-abi-whitelists package (Petr Oros) [1571189] - [rpmspec] kernel spec: build bzImage for s390 (Hendrik Brueckner) [1570041] - [rpmspec] kernel spec: arm64: package module.lds in kernel-devel (Mark Salter) [1569014] - [rpmspec] Re-enable debuginfo packages and fix build with current dist tag ("Herton R. Krzesinski") [1568901] - [rpmspec] kernel spec: build kernel-debug on all architectures ("Herton R. Krzesinski") [1567367] - [rpmspec] don't build kernel meta-package if we are only building kernel headers ("Herton R. Krzesinski") - [rpmspec] remove use_vdso macro ("Herton R. Krzesinski") - [rpmspec] build perf and tools man pages instead of relying on a separate tarball ("Herton R. Krzesinski") - [rpmspec] disable debug build if arch is in nobuildarches list ("Herton R. Krzesinski") - [rpmspec] remove fedora changelog from spec file ("Herton R. Krzesinski") - [rpmspec] only support ppc64le builds ("Herton R. Krzesinski") - [rpmspec] remove x86 32-bit package support ("Herton R. Krzesinski") - [rpmspec] remove arm 32-bit package support ("Herton R. Krzesinski") - [rpmspec] remove configuration generation support from kernel spec file ("Herton R. Krzesinski") - [rpmspec] remove broken out patches from kernel spec file ("Herton R. Krzesinski") - [rpmspec] import kernel spec from rhel8 bootstrap dist-git ("Herton R. Krzesinski")/bin/sh  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  !!!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""" " " " " """"""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""########## # # # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~#################################################################################################################################$$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''' ' ' ' ' ''''''''''''''''''' '!'"'#'$'%'&'''(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'{'|'}'~'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((( ( ( ( ( ((((((((((((((((((( (!("(#($(%(&('((()(*(+(,(-(.(/(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}(~((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))) ) ) ) ) ))))))))))))))))))) )!)")#)$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z){)|)})~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))********** * * * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~*********************************************************************************************************************************++++++++++ + + + + +++++++++++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+{+|+}+~+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,, , , , , ,,,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,\,],^,_,`,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,{,|,},~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------- - - - - ------------------- -!-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1-2-3-4-5-6-7-8-9-:-;-<-=->-?-@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[-\-]-^-_-`-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-{-|-}-~---------------------------------------------------------------------------------------------------------------------------------.......... . . . . ................... .!.".#.$.%.&.'.(.).*.+.,.-.../.0.1.2.3.4.5.6.7.8.9.:.;.<.=.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[.\.].^._.`.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.{.|.}.~.................................................................................................................................////////// / / / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0000000000 0 0 0 0 0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0.0/000102030405060708090:0;0<0=0>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222 2 2 2 2 2222222222222222222 2!2"2#2$2%2&2'2(2)2*2+2,2-2.2/202122232425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333 3 3 3 3 3333333333333333333 3!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333334444444444 4 4 4 4 4444444444444444444 4!4"4#4$4%4&4'4(4)4*4+4,4-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444445555555555 5 5 5 5 5555555555555555555 5!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666 6 6 6 6 6666666666666666666 6!6"6#6$6%6&6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}6~6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667777777777 7 7 7 7 7777777777777777777 7!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7~7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777778888888888 8 8 8 8 8888888888888888888 8!8"8#8$8%8&8'8(8)8*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999 9 9 9 9 9999999999999999999 9!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::::::::: : : : : ::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:}:~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;; ; ; ; ; ;;;;;;;;;;;;;;;;;;; ;!;";#;$;%;&;';(;);*;+;,;-;.;/;0;1;2;3;4;5;6;7;8;9;:;;;<;=;>;?;@;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;[;\;];^;_;`;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;{;|;};~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<< < < < < <<<<<<<<<<<<<<<<<<< =?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~=================================================================================================================================>>>>>>>>>> > > > > >>>>>>>>>>>>>>>>>>> >!>">#>$>%>&>'>(>)>*>+>,>->.>/>0>1>2>3>4>5>6>7>8>9>:>;><>=>>>?>@>A>B>C>D>E>F>G>H>I>J>K>L>M>N>O>P>Q>R>S>T>U>V>W>X>Y>Z>[>\>]>^>_>`>a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v>w>x>y>z>{>|>}>~>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>?????????? ? ? ? ? ??????????????????? ?!?"?#?$?%?&?'?(?)?*?+?,?-?.?/?0?1?2?3?4?5?6?7?8?9?:?;?<?=?>???@?A?B?C?D?E?F?G?H?I?J?K?L?M?N?O?P?Q?R?S?T?U?V?W?X?Y?Z?[?\?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}?~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@ @!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@{@|@}@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAA A!A"A#A$A%A&A'A(A)A*A+A,A-A.A/A0A1A2A3A4A5A6A7A8A9A:A;A<A=A>A?A@AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBB B B B B BBBBBBBBBBBBBBBBBBB B!B"B#B$B%B&B'B(B)B*B+B,B-B.B/B0B1B2B3B4B5B6B7B8B9B:B;B<B=B>B?B@BABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB[B\B]B^B_B`BaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzB{B|B}B~BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCC C C C C CCCCCCCCCCCCCCCCCCC C!C"C#C$C%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C5C6C7C8C9C:C;C<C=C>C?C@CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC[C\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDD D D D D DDDDDDDDDDDDDDDDDDD D!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6D7D8D9D:D;D<D=D>D?D@DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD[D\D]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzD{D|D}D~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEE E E E E EEEEEEEEEEEEEEEEEEE E!E"E#E$E%E&E'E(E)E*E+E,E-E.E/E0E1E2E3E4E5E6E7E8E9E:E;E<E=E>E?E@EAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE[E\E]E^E_E`EaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzE{E|E}E~EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFF F F F F FFFFFFFFFFFFFFFFFFF F!F"F#F$F%F&F'F(F)F*F+F,F-F.F/F0F1F2F3F4F5F6F7F8F9F:F;F<F=F>F?F@FAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF[F\F]F^F_F`FaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzF{F|F}F~FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGG G G G G GGGGGGGGGGGGGGGGGGG G!G"G#G$G%G&G'G(G)G*G+G,G-G.G/G0G1G2G3G4G5G6G7G8G9G:G;G<G=G>G?G@GAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG[G\G]G^G_G`GaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzG{G|G}G~GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHH H H H H HHHHHHHHHHHHHHHHHHH H!H"H#H$H%H&H'H(H)H*H+H,H-H.H/H0H1H2H3H4H5H6H7H8H9H:H;H<H=H>H?H@HAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH[H\H]H^H_H`HaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzH{H|H}H~HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIII I I I I IIIIIIIIIIIIIIIIIII I!I"I#I$I%I&I'I(I)I*I+I,I-I.I/I0I1I2I3I4I5I6I7I8I9I:I;I<I=I>I?I@IAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI[I\I]I^I_I`IaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzI{I|I}I~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J)J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;J<J=J>J?J@JAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ[J\J]J^J_J`JaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJ{J|J}J~JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKK K K K K KKKKKKKKKKKKKKKKKKK K!K"K#K$K%K&K'K(K)K*K+K,K-K.K/K0K1K2K3K4K5K6K7K8K9K:K;K<K=K>K?K@KAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK[K\K]K^K_K`KaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzK{K|K}K~KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLL L L L L LLLLLLLLLLLLLLLLLLL L!L"L#L$L%L&L'L(L)L*L+L,L-L.L/L0L1L2L3L4L5L6L7L8L9L:L;L<L=L>L?L@LALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLXLYLZL[L\L]L^L_L`LaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzL{L|L}L~LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMM M M M M MMMMMMMMMMMMMMMMMMM M!M"M#M$M%M&M'M(M)M*M+M,M-M.M/M0M1M2M3M4M5M6M7M8M9M:M;M<M=M>M?M@MAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM[M\M]M^M_M`MaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzM{M|M}M~MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNN N N N N NNNNNNNNNNNNNNNNNNN N!N"N#N$N%N&N'N(N)N*N+N,N-N.N/N0N1N2N3N4N5N6N7N8N9N:N;N<N=N>N?N@NANBNCNDNENFNGNHNINJNKNLNMNNNONPNQNRNSNTNUNVNWNXNYNZN[N\N]N^N_N`NaNbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzN{N|N}N~NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOO O O O O OOOOOOOOOOOOOOOOOOO O!O"O#O$O%O&O'O(O)O*O+O,O-O.O/O0O1O2O3O4O5O6O7O8O9O:O;O<O=O>O?O@OAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO[O\O]O^O_O`OaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzO{O|O}O~OOOOOOOOOOOOOOOOOOOOO4.18.0-485.el84.18.0-485.el84.18.0-485.el84.18.0-485.el8.x86_64+debug4.18.0-485.el8+debug          !!""#$%%%&&''(())**+++,,---..//0001122233445566667788999:::;;;<<<==>>>??@@AABBCCDDEEFFGGHHHIIJJKKLLLMMNNOOPPQQRRRSSTTUUVVWWWXXYYZZZ[[\\]]^^___``aabbccddeeffggghhhiiijjkkllmnopqqrssttuuvvwvxyz{|}}}}}~~}}}}}}}}}          !!!"!#$$$%&'''(')'*+++,,-+.+/+01234555657589::;<<<=<>??@@AABACDEEFGHHIJJJKJLJMJNOPPPQPRPSPTPUVWWXWYWZ[[[[\\][^^_[`[abbbbccdbebfbgbhhiiijkiliminooooppqorosotouovwwwwwxwywzz{z|z}z~wwwwwwwwwww             !"#######################################################$$$$$$#############%%###############&&&&&&&&############################################################################################################''########################################################################(((###########################################))))))###################******##++++############,,,,,,,,,,,,####"-...........-/000000"12222222222222222222222222222222222222222222222222222222222233435366768696:6;3<3=>>?@AABCDEFFGFHFIFJFKFFLLMFNOFPFQFRFSFTFUVWWWWWXYYZ[[[[[[\\\]\^_``aaaabbcbdbebfagahaiajaklkmknooooppqqrrrssrttuuuvvvwuxxxyxzzx{{x||x}}x~~xuuuuuuuuuuuuuuuuuuuuuuuuu         uuuuuu  u!!u""u##u$$%%%&''&((&))&***+*,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B,C,D,E,F,G,H,I,J,K*LM*NONPNQNRNS&TTUTVVWVXTYYZY[Y\%]]%^^%__%``%aa%bbbccbddbeebffbgg%hh%ii%jj%kk%ll%mm%nnnoonpp%q%rr%s%ttttttu%vv%ww%xx%yy%zz%{%||%}}%~~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$uuuuuuuuuuuuu            uuuu   !!u""u###$u%%u&&u'''(('))u***++*,,,--,..,//,00,11*22*33344355*66*77787997::7;;7<7==7>>*???@@*AAABBACCADDAEEAFFAGGAHHAIIAJJAKKALLMMANNAOOAPPAQQARRASSATTAUUAVVAWWAXXAYYAZZA[[A\\A]]A^^A__*```aa`bb`cc`d`e`ff`g`hh`ii`j`k`l`m`n`oo`p`qrqs`tt`uv`w`x`y`z`{`||`}~}}}}```````******uuuuuuuuu            !!!"!#!$%%%&&''(()))*)+),)-.../.0.1.2.333435.67788899::;;<<<==>>???@@AABBCCCDDCEECFFGGHHHIJJJKJLLMLNOOPPPQQRRSSSTSUUVVVWVXVYVZV[V\V]V^V_V`VaVbcccdeefffggfhiiijikillminioipiqirisfttfuufvvwwxxyyyz{{||}}}~     u  !!""##$$%%&&''((u)))***++*,,*--*..*//)00u1u22u33344355u66u7778u99u::u;;u<<<===>><???@@<AA<BB<CCuDDuEEEFuGGGHHGIIGJJGKKGLLGMMGNNGOOGPPGQQGRRGSSGTTGUUGVVGWWuXXXYYXZZX[[X\\X]]X^^X__X``XaaXbbXccXddXeeXffXgXhhXiiXjjXkkXllXmmXnnXooXppuqqqrrqssqttquuqvqwwwxwyyyzzy{{y||u}}}~~}}uuuuuuuuuuuuuuuuuuuuuuuuuuu                    !!""##$$%%&&''(())**++,,-..//0011223344556677788999:;;<<===>=?@@AABBCCDDDEEDFFDGGHHIIIJJIKKLLMMNNOOPPQQRRuSSSTTTUUSVVSWWSXXuYuZZZ[[u\\\]]\^^^__\``\aa\bb\cc\ddueeufffggfhfiifjkkjjjljmfnuooupppqqprpsspttpuupvvpwwpxxpypzzz{z||z}}}~~}pppppppppppppppuuuuuuuuuuuuuu              !!""##$$%&&''(())*++++++++++++++++++++++++++++++,,,,,,,+++*-----------------.....................-----------------------------------------------------------------------------------------------------------/-----*000000*111112131411155556676686555555595:;5<555=555>555555???5@55AB5555C5D555EEE5FG555H5IJK5L555M5551N11O1P1QR1S11TTTUTVTTTTTTWTTXY1Z1[11\1]]^]11_1`a`b``cde`fgfhhfijfk`lmnlolpqlrlsltluvlwlxlylz{l|l}~llllllllllllllllll`````````````````11111111111111111111111111111111111111111111111 11  1                                            11 111 11     11  1             111 ! ! ! " # " $ ! % ! ! & ! ! ' (11 ) *11 + + , , + +11 -111 . / 0 / / / / / / / / / / / 1 / / / / / / 2 2 / . 3 . . 4 . 51 61 7 7 8 8 911 : : : : ; < ; = : : : : : : : : : > > > : : ? ? ? : : : : : : : @ : : A :1111 B C D1 E1 F G111 H I H H J J K K H L H H M H N H H O O H P H H Q Q H H R R R H S H H H T H H H H1 U11 V1 W W X1 Y Z Y [ \ [ ] [ ^ _ [ ` [ [ a [ b c Y d Y e f11 g g h1 i i j1 k k l m l n k k o o p q11 r s r r t r u v r w x y1 z1 { { { { { { { | | { { { { {11 }1 ~1 1 1 1 11 1 11 1 1 1 1 1 1 11 11 11 1 11 11 1 11 11 11 1 111 1 1 111 111 11     1 111 11    1 11 11  111 1                        1 1 ! ! " ! ! # $ ! % & ! ' ( ! ) ! * ! +1 , - .1 / / / / / 0 / / / 1 1 1 11 2 31 4 4 4 5 5 6 5 5 71 81111 91111 :11 ;1 < = < < < > < < < < < < < ? ? < < < @ @ @ @ < A < < < < B < < < <1 C C D D E C F C C G C C H C I1 J11 K K1 L L L111 M N O P Q M1111 R11 S1 T1 U1 V1 W1 X111 Y Z Z Z [ Y Y \ Y Y Y Y Y ] Y ^ _ ^ ` ^ a ^ Y b c Y d d Y e f Y Y g g Y Y h i h j h k h l h h m h n h o p h q h r h s h t h u h Y v Y w x Y Y y Y Y Y z Y Y { { | Y Y Y } Y Y Y ~ Y Y Y  Y Y Y Y 1 11 1 1 1 1 111 1 11 11 1 11 1 1 11 1 1 1 1 11111 1 111 11 1 1 1 1 111 11 1 1 11 1 1 11 1 1 11 1 1 1 11 1 1 1 111 11 111 1 1 1 11 11 1         1 11 1                            ! " # $ % &11 ' ' ( )1 * * * *11 + + + + + +11 , - ,1 .1 /1 011 11 21 3 3 41 5 61 7 8 7 7 91 : : : ;1 < = = > < ? @ < A A B C A D A E A A F A A A G H H I A J K A L A M A N O A A P P Q A R A S A T U < V W < X < < Y < Z Z < [ < \ ] < ^ < _ < ` ` a b c b < d < e f < g < h < < i j < k l k m k < n < o < p q < r s < t < < u < v < w x y z w { < | | | | | | < < } ~ < < <           < < < < < < < < < < < < < < < < < < < < < < < < 11 11 1 1 111 11 11 1 1 1 1 1 11 1 1 1 1 11 1 1 11 1 111 1 11 11 11 11 11 1 11 11 111 1 1 1 1 11 1111 1111 11 11                        11                    1         11                ! "  #      $ $ $   %  &1 ' ( )1 *1 +11 , , - , . , , , / , , 0 1 , , , 2 , , , , , 3 4 4 , , , , , , , , 5 6 ,1 71 811 9 : 9 9 ; 9 9 <1 = = > = ? = = = = @ @ @ = = = A A B A = = C = D = = E E = = F = G = H H H = = = = I = = = J K L = M N = O = = P P P P P P = Q R = = = = S = T1 U1 V W W X X X X11 Y Y Y Z Y Y [ Y Y Y11 \1 ]1 ^ _ ^ ` a ^ ^ b b c ^ ^ d ^ e f e e e e e e g g g g e e e e h h h h h h h ^ i i ^ j j j ^ ^ ^ k l l l k m m m m m m m m m m m m k n k ^ ^ o o o o o o o o o o p q o o o o r o s s t s s s s o o o o u v o w o o1 x y y y y z z z z z z z z z y y y y { { { {1 |1 } ~ }  } } } } } } }1 11 111 1 1 1 11 111 1 1 1 1111 11 11 111 11 1 11 1 11 111 1 11 11 1 11 1111 11 11 11 1 1 1 11111 11 11 111 11 11 11    1 1      1 11 1 1 1  11   11 1 1 1  1  11                11 1 !1111 " " # $ #11 %1 & '1 ( ) (1 * +1 ,111 - - - - - - - -11 . / . . . . . 0 .1 1 2 1 3 4 1 1 5 1 6 1 7 1 8 9 1 : 1 ; 1 < 1 1 1 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 1 >1 ?1 @1 A B111 C C1 D E1 F1 G G G G G111 H I H H J J H K1 L M1 N N O O P P N N Q N N1 R R S T1 U U1 V V W11 X X X Y1 Z1 [111 \1 ] ] ] ^ ^11 _ _ _ _ _ _ _ _ _ _ _ _1 ` `1 a a a a b a1 c c d c c e e f e c g g g g c c c c c c h c i c j j c c k11 l l1 m m n n m m m m m o m m11 p p q p p p r r p s p p t t t p u p p v p1 w111 x y z y { | y } x1 ~ 1 11 11 111 11 1 11 1 1 1 11 1 11 11 111 11 11 11 1 11 1 11 1 1 11 11 1111 11 11 1 1 1 11 1  11  1                             11111111111  11!!!!!!!!11""#$""%1&1'''1((((((()))))((*111+11,1-11...11/0/11211314151611711888888891:1;<=;11>>>?111@@A@@1B1111CCCCCDCCCECCCFGCCHCCCC1IIII11J11K111L1M1NNOPPPOQQQ1R1S111TUV1WW1X111YYYYYYYYYYYYYYY11Z[11\11]^]]]__`]]aa]b]]c11d1e1ffgfh111iiji1kk1111lllllllm11111nooo11ppp1q1rs1tu111vvwxyv1z1{{|{{{{}{~{{{{11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111      111111111 !"#$%&'()1**++++++++,++-++++.+/**01**2***3*11454644441711899888:;;::811<1=1>>>>1?11@A111BCD1E1FGG111HH111IJIIK11LMLNNLO1PPQ11RSSTTURRRRVWRRRXRRRRRRRRRYRRZ[R\\]\^\RRRRRR_RRR`RRRaRRRRRbbRRRccccRRRRRdeeeefeeeeeeeeedddghdidjddkdddllmddndopdqddrrssRRRRRRRRRRRRtuttvRRRRRwxRRRRRRRyRzRRRRR{RR||}RRRR~RRRRRRRRRRRRRRRRR RRRR              R  RR RRRRRRRR11111111111111    !1"11####$1%&11'()'*'+,''''11-1..111/1101111112231444151161778791:;1<11====>11?1111@1A1B11C11D11EFEG11H1IJKJILIMM11NN1OPOQQQQ11R1STSUS1VVWVXVY11ZZZZZZ[[\\\[[]Z1^^^^1_````````````````_1ab11c1dddddeddfd11ggg11hijkhlmnhopoqoroshhht1uuvwvxvu1y1z{|1}1~~1111111111111111111111111111111111111111111111111111111111111111111111           111111111 1!!11""""#11$11%%111&&'&()11*1+1,11-.11//01/2/13111145555555516178119999:;:9<<=9>?>@>9ABC9DE999F9G99H99I99J9K9LM9NNOPNNQRN9ST9U9VW9X99YYYY9Z9[9\]999^9_99`a9bbc9d9eef9g99h9ijkl99m99n9op9q999rs9t91u1vvw11xxyxzx{x|xx}~xxxxxxxxx11111111111111111111*********                                                                                                                                                                                                                                                                                                   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""#################################$$$%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''(*)))))))))*****+++++++++++++***,,,,,,,,,,,,,***********-------------------------------------------------*********.**********************************/*0000000*11222111111111111113333333331111111444444444444111111111111111111111111111111111111111111111111111111111111111111111111111111111115511111111111111111111166666111111111111117788888799999977777777777777777777777777777777777111:::::::::::::::::::::1111;;;;;;11111<<<<11111111111111111111============1111111111111>>>>>>>>>>>>>>>>>>>>111111111111111111111111*??????*@*AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*BCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*DEEEDFFFFDGDHDIIJJJJJJJIDKKKDLDMMDNDODPDQQQQQQQQQQQQ*RSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRTTTTTTTTTTTTTUTTTTTRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR*VWWWVVV*XXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXX*Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z\\\\\\\\\\\\\\\\\\\\\\\\\\\\Z]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]__]``]]aaaaaa]]]]]]]]]]]bb]]]]]]]]]]]]]]]]]]]]]]]]]]]]cccccccc]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]d]]]]]]]]e]]]]]]]ff]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]gg]]]]]]]]]]]]]]]]]]]]]]]]]h]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]i]]]]]]]]]]]]]]]]]]]]]]]]]]]jkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj]]ll]]mmmmmmmmmmmmmmmmm]]]nnnnnnnnn]]ooooooooooooo]]]]]]]]]]]]]]]pppp]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]qq]]]]]]]]]]]]]]]]]]]]]r]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]s]]]]]t]]]]]]]]]]uuuuuuuuuuuuuuuuuuu]vvvvv]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]wwwwwwwwwwwww]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]x]]]]]]]]]ZyyyZzzzzzZ{{{{||{{{{{{{{{{{{{{{{{{{{{{Z}}~~~~}}}}ZZZ***           !"#$%&'()*+,-.........................//////.............00.....12333222422222222222155555551666661777718888888888888888888199991::::..........;;;;;;;;;;;;;;;;<<<<<<<<<<<<<;==============;;;;;;;;;...............>>>>>>>>>>>>....??@@@@@@@@@@@?..AAAAAAAAAAA...........BBBBBBBBBBBBBBBCCCCCCCCBBBBBBBBBBBBBBBDEEEDFFFFFFFFFDGGGGGDDHHHDIIIIIIDJJJJDKKKKDLLLLDMNNNNMOOOMPPPMQQQDDRRRRRBBBBB..S..........TTTTTTTTTTTTTT.....UUUUUU...........VVVWWWWVVXXXXXV...................YYYYZZY[Y\\\]]\^^Y___`_aYbbYcccddYeeYffYgghhhiihjjjkkjljmmjnnnohpphqqhrrrsrtttuhvvvwvxvyvzv{h|||}|~||||||hhhhhhhhhhhhhhhhhh                   !"!# $ %&%'%(%)*)%+%,-,,. // 0 1 23222245464748494:4;4<4=4>2?@A BCCCCDEDFDGBHHIHJKJLJMBNBOPOQOR SS T UVUWUXUYYZZ[Y\\\]Y^Y_Y`YaYbYcYdYefgfhYiYjYkYlYmYnYoopYqYrYsYtYuYvYwYxYyYzY{Y|Y}Y~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYU     4.18.0-485.el8.x86_64+debug.configKconfigKconfig.redhatMakefileMakefile.rhelverModule.symversSystem.maparchKconfigalphaKconfigKconfig.debugMakefilebootMakefilekernelMakefilelibMakefilemath-emuMakefilemmMakefileoprofileMakefilearcKconfigKconfig.debugMakefilebootMakefiledtsMakefilekernelMakefilelibMakefilemmMakefileoprofileMakefileplat-axs10xKconfigMakefileplat-eznpsKconfigMakefileplat-hsdkKconfigMakefileplat-simMakefileplat-tb10xKconfigMakefilearmKconfigKconfig-nommuKconfig.debugMakefilebootMakefilebootpMakefilecompressedMakefiledtsMakefilecommonKconfigMakefilecryptoKconfigMakefilefirmwareKconfigMakefilekernelMakefilelibMakefilemach-actionsKconfigMakefilemach-alpineKconfigMakefilemach-artpecKconfigMakefilemach-asm9260Kconfigmach-aspeedKconfigmach-at91KconfigMakefileMakefile.bootmach-axxiaKconfigMakefilemach-bcmKconfigMakefilemach-berlinKconfigMakefilemach-clps711xKconfigMakefilemach-cns3xxxKconfigMakefilemach-davinciKconfigMakefileMakefile.bootmach-digicolorKconfigMakefilemach-doveKconfigMakefileMakefile.bootmach-ebsa110MakefileMakefile.bootmach-efm32MakefileMakefile.bootmach-ep93xxKconfigMakefileMakefile.bootmach-exynosKconfigMakefilemach-footbridgeKconfigMakefileMakefile.bootmach-geminiKconfigMakefilemach-highbankKconfigMakefilemach-hisiKconfigMakefilemach-imxKconfigMakefileMakefile.bootdevicesKconfigMakefilemach-integratorKconfigMakefilemach-iop13xxKconfigMakefileMakefile.bootmach-iop32xKconfigMakefileMakefile.bootmach-iop33xKconfigMakefileMakefile.bootmach-ixp4xxKconfigMakefileMakefile.bootmach-keystoneKconfigMakefilemach-ks8695KconfigMakefileMakefile.bootmach-lpc18xxMakefileMakefile.bootmach-lpc32xxMakefileMakefile.bootmach-mediatekKconfigMakefilemach-mesonKconfigMakefilemach-mmpKconfigMakefilemach-moxartKconfigMakefilemach-mv78xx0KconfigMakefilemach-mvebuKconfigMakefilemach-mxsKconfigMakefilemach-netxKconfigMakefileMakefile.bootmach-nomadikKconfigMakefilemach-npcmKconfigMakefilemach-nspireKconfigMakefilemach-omap1KconfigMakefileMakefile.bootmach-omap2KconfigMakefilemach-orion5xKconfigMakefilemach-oxnasKconfigMakefilemach-picoxcellKconfigMakefilemach-prima2KconfigMakefilemach-pxaKconfigMakefileMakefile.bootmach-qcomKconfigMakefilemach-realviewKconfigMakefilemach-rockchipKconfigMakefilemach-rpcMakefileMakefile.bootmach-s3c24xxKconfigMakefileMakefile.bootmach-s3c64xxKconfigMakefilemach-s5pv210KconfigMakefilemach-sa1100KconfigMakefileMakefile.bootmach-shmobileKconfigMakefilemach-socfpgaKconfigMakefilemach-spearKconfigMakefilemach-stiKconfigMakefilemach-stm32KconfigMakefileMakefile.bootmach-sunxiKconfigMakefilemach-tangoKconfigMakefilemach-tegraKconfigMakefilemach-u300KconfigMakefilemach-uniphierKconfigMakefilemach-ux500KconfigMakefilemach-versatileKconfigMakefilemach-vexpressKconfigMakefileMakefile.bootmach-vt8500KconfigMakefileMakefile.bootmach-w90x900KconfigMakefileMakefile.bootmach-zxKconfigMakefilemach-zynqKconfigMakefilemmKconfigMakefilenetMakefilenwfpeMakefileoprofileMakefileplat-iopMakefileplat-omapKconfigMakefileplat-orionMakefileplat-pxaKconfigMakefileplat-samsungKconfigMakefileplat-versatileKconfigMakefileprobesMakefilekprobesMakefileuprobesMakefiletoolsMakefilevdsoMakefilevfpMakefilexenMakefilearm64KconfigKconfig.debugKconfig.platformsMakefilebootMakefiledtsMakefileactionsMakefilealMakefileallwinnerMakefilealteraMakefileamdMakefileamlogicMakefileapmMakefilearmMakefilebroadcomMakefilenorthstar2MakefilestingrayMakefilecaviumMakefileexynosMakefilefreescaleMakefilehisiliconMakefilelgMakefilemarvellMakefilemediatekMakefilenvidiaMakefileqcomMakefilerealtekMakefilerenesasMakefilerockchipMakefilesocionextMakefilesprdMakefilesynapticsMakefilexilinxMakefilezteMakefilecryptoKconfigMakefilehypervMakefilekernelMakefileprobesMakefilevdsoMakefilevdso32MakefilekvmKconfigMakefilehypMakefilenvheMakefilevheMakefilelibMakefilemmMakefilenetMakefiletoolsMakefilexenMakefilec6xKconfigMakefilebootMakefiledtsMakefilekernelMakefilelibMakefilemmMakefileplatformsKconfigMakefileh8300KconfigKconfig.cpuMakefilebootMakefilecompressedMakefiledtsMakefilekernelMakefilelibMakefilemmMakefilehexagonKconfigMakefilekernelMakefilelibMakefilemmMakefileia64KconfigKconfig.debugMakefiledigMakefilehpcommonMakefilesimKconfigMakefilebootMakefilezx1MakefilekernelMakefileMakefile.gatelibMakefilemmMakefileoprofileMakefilepciMakefilesnMakefilekernelMakefilesn2MakefilepciMakefilepcibrMakefileuvMakefilekernelMakefilem68k68000MakefileKconfigKconfig.busKconfig.cpuKconfig.debugKconfig.devicesKconfig.machineMakefileamigaMakefileapolloMakefileatariMakefilebvme6000MakefilecoldfireMakefileemuMakefilefpsp040Makefilehp300Makefileifpsp060MakefilekernelMakefilelibMakefilemacMakefilemath-emuMakefilemmMakefilemvme147Makefilemvme16xMakefileq40Makefilesun3MakefilepromMakefilesun3xMakefiletoolsamigaMakefilemicroblazeKconfigKconfig.debugKconfig.platformMakefilebootMakefiledtsMakefilekernelMakefilecpuMakefilelibMakefilemmMakefileoprofileMakefilepciMakefilemipsKconfigKconfig.debugMakefileMakefile.postlinkalchemyKconfigMakefilecommonMakefiledevboardsMakefilear7Makefileath25KconfigMakefileath79KconfigMakefilebcm47xxKconfigMakefilebcm63xxKconfigMakefileboardsKconfigMakefilebmipsKconfigMakefilebootMakefilecompressedMakefiledtsMakefilebrcmMakefilecavium-octeonMakefileimgMakefileingenicMakefilelantiqMakefilemsccMakefilemtiMakefilenetlogicMakefileniMakefilepic32MakefileqcaMakefileralinkMakefilexilfpgaMakefiletoolsMakefilecavium-octeonKconfigMakefilecryptoMakefileexecutiveMakefilecobaltMakefilecryptoMakefiledecMakefilepromMakefileemmaMakefilecommonMakefilemarkeinsMakefilefwarcMakefilecfeMakefilelibMakefilesniMakefilegenericKconfigMakefilejazzKconfigMakefilejz4740KconfigMakefilekernelMakefilekvmKconfigMakefilelantiqKconfigMakefilefalconMakefilexwayMakefilelasatKconfigMakefileimageMakefilelibMakefileloongson32KconfigMakefilecommonMakefilels1bMakefilels1cMakefileloongson64KconfigMakefilecommonMakefilecs5536Makefilefuloong-2eMakefilelemote-2fMakefileloongson-3Makefilemath-emuMakefilemmMakefilemti-maltaMakefilenetMakefilenetlogicKconfigMakefilecommonMakefilexlpMakefilexlrMakefileoprofileMakefileparavirtKconfigMakefilepciMakefilepic32KconfigMakefilecommonMakefilepic32mzdaMakefilepistachioKconfigMakefilepmcs-msp71xxKconfigMakefilepnx833xMakefilecommonMakefilestb22xMakefilepowerMakefileralinkKconfigMakefilerb532Makefilesgi-ip22Makefilesgi-ip27KconfigMakefilesgi-ip32MakefilesibyteKconfigMakefilebcm1480MakefilecommonMakefilesb1250MakefileswarmMakefilesniMakefiletxx9KconfigMakefilegenericMakefilejmr3927Makefilerbtx4927Makefilerbtx4938Makefilerbtx4939MakefilevdsoMakefilevr41xxKconfigcasio-e55MakefilecommonMakefileibm-workpadMakefilends32KconfigKconfig.cpuMakefilebootMakefiledtsMakefilekernelMakefilevdsoMakefilelibMakefilemmMakefilenios2KconfigKconfig.debugMakefilebootMakefilecompressedMakefilekernelMakefilelibMakefilemmMakefileplatformKconfig.platformMakefileopenriscKconfigMakefilebootdtsMakefilekernelMakefilelibMakefilemmMakefilepariscKconfigKconfig.debugMakefilebootMakefilecompressedMakefilekernelMakefilelibMakefilemath-emuMakefilemmMakefileoprofileMakefilepowerpcKconfigKconfig.debugMakefileMakefile.postlinkbootMakefilecryptoMakefilekernelMakefileptraceMakefiletraceMakefilevdso32Makefilevdso64MakefilekvmKconfigMakefilelibMakefilemath-emuMakefilemmMakefilebook3s32Makefilebook3s64MakefilenetMakefileoprofileMakefileperfMakefileplatforms40xKconfigMakefile44xKconfigMakefile4xxMakefile512xKconfigMakefile52xxKconfigMakefile82xxKconfigMakefile83xxKconfigMakefile85xxKconfigMakefile86xxKconfigMakefile8xxKconfigMakefileKconfigKconfig.cputypeMakefileamigaoneKconfigMakefilebook3sKconfigMakefilecellKconfigMakefilespufsMakefilechrpKconfigMakefileembedded6xxKconfigMakefilemapleKconfigMakefilepasemiKconfigMakefilepowermacKconfigMakefilepowernvKconfigMakefileps3KconfigMakefilepseriesKconfigMakefilepurgatoryMakefilesysdevKconfigMakefilegeMakefilexicsKconfigMakefilexiveKconfigMakefilexmonMakefileriscvKconfigMakefilekernelMakefilevdsoMakefilelibMakefilemmMakefiles390KconfigKconfig.debugMakefileappldataMakefilebootMakefilecompressedMakefilecryptoMakefilehypfsMakefilekernelMakefilesyscallsMakefilevdso32Makefilevdso64MakefilekvmKconfigMakefilelibMakefilemmMakefilenetMakefilenumaMakefileoprofileMakefilepciMakefilepurgatoryMakefilescriptsMakefile.chkbsstoolsMakefileshKconfigKconfig.cpuKconfig.debugMakefileboardsKconfigMakefilemach-ap325rxaMakefilemach-caymanMakefilemach-dreamcastMakefilemach-ecovec24Makefilemach-highlanderKconfigMakefilemach-hp6xxMakefilemach-kfr2r09Makefilemach-landiskMakefilemach-lboxre2Makefilemach-microdevMakefilemach-migorKconfigMakefilemach-r2dKconfigMakefilemach-rskKconfigMakefilemach-sdk7780KconfigMakefilemach-sdk7786Makefilemach-se7206Makefile7343Makefile770xMakefile7721Makefile7722Makefile7724Makefile7751Makefile7780MakefileMakefilemach-sh03Makefilemach-sh7763rdpMakefilemach-x3protoMakefilebootMakefilecompressedMakefiledtsMakefileromimageMakefilecchipsKconfighd6446xMakefiledriversKconfigMakefiledmaKconfigMakefilepciMakefilesuperhywayMakefilekernelMakefilecpuMakefileirqMakefilesh2Makefilesh2aMakefilesh3Makefilesh4Makefilesh4aMakefilesh5MakefileshmobileMakefilevsyscallMakefilelibMakefilelib64Makefilemath-emuMakefilemmKconfigMakefileoprofileMakefiletoolsMakefilesparcKconfigKconfig.debugMakefilebootMakefilecryptoMakefilekernelMakefilelibMakefilemath-emuMakefilemmMakefilenetMakefileoprofileMakefilepowerMakefilepromMakefilevdsoMakefileumKconfig.charKconfig.commonKconfig.debugKconfig.netKconfig.restKconfig.umMakefileMakefile-os-LinuxMakefile-skasdriversMakefilekernelMakefileskasMakefileos-LinuxMakefiledriversMakefileskasMakefilescriptsMakefile.rulesunicore32KconfigKconfig.debugMakefilebootMakefilecompressedMakefilekernelMakefilelibMakefilemmKconfigMakefilex86KconfigKconfig.cpuKconfig.debugMakefileMakefile.umMakefile_32.cpubootMakefilecompressedMakefilectype.hstring.cstring.hcocoMakefiletdxMakefilecryptoMakefilesha1-mbMakefilesha256-mbMakefilesha512-mbMakefileentryMakefilesyscallsMakefilesyscall_32.tblsyscall_64.tblsyscallhdr.shsyscalltbl.shvdsoMakefilevsyscallMakefileeventsKconfigMakefileamdMakefileintelMakefilehypervMakefileia32MakefileincludeasmKbuilda.out-core.hacenv.hacpi.hagp.halternative.hamd-ibs.hamd_hsmp.hamd_nb.hapb_timer.hapic.hapic_flat_64.hapicdef.hapm.harch_hweight.harchrandom.hasm-offsets.hasm-prototypes.hasm.hatomic.hatomic64_32.hatomic64_64.haudit.hbarrier.hbios_ebda.hbitops.hboot.hbootparam_utils.hbug.hbugs.hcache.hcacheflush.hcacheinfo.hcalgary.hce4100.hchecksum.hchecksum_32.hchecksum_64.hclocksource.hcmdline.hcmpxchg.hcmpxchg_32.hcmpxchg_64.hcoco.hcompat.hcpu.hcpu_device_id.hcpu_entry_area.hcpufeature.hcpufeatures.hcpuid.hcpuidle_haltpoll.hcpumask.hcrash.hcryptoaes.hcamellia.hglue_helper.hserpent-avx.hserpent-sse2.htwofish.hcurrent.hdebugreg.hdelay.hdesc.hdesc_defs.hdevice.hdisabled-features.hdiv64.hdma-mapping.hdma.hdmi.hdwarf2.he820api.htypes.hedac.hefi.helf.hemergency-restart.hemulate_prefix.henclu.hentry_arch.hespfix.hexec.hexport.hextable.hfb.hfixmap.hfloppy.hfpuapi.hinternal.hregset.hsched.hsignal.htypes.hxcr.hxstate.hframe.hfsgsbase.hftrace.hfutex.hgart.hgenapic.hgeode.hhardirq.hhighmem.hhpet.hhugetlb.hhw_breakpoint.hhw_irq.hhyperv-tlfs.hhypervisor.hi8259.hia32.hia32_unistd.himr.hinat.hinat_types.hinit.hinsn-eval.hinsn.hinst.hintel-family.hintel-mid.hintel_ds.hintel_mid_vrtc.hintel_pconfig.hintel_pmc_ipc.hintel_pt.hintel_punit_ipc.hintel_scu_ipc.hintel_telemetry.hinvpcid.hio.hio_apic.hiomap.hiommu.hiosf_mbi.hipi.hirq.hirq_regs.hirq_remapping.hirq_vectors.hirq_work.hirqdomain.hirqflags.hist.hjailhouse_para.hjump_label.hkasan.hkaslr.hkbdleds.hkdebug.hkexec-bzimage64.hkexec.hkgdb.hkprobes.hkvm-x86-ops.hkvm_host.hkvm_page_track.hkvm_para.hkvm_types.hkvm_vcpu_regs.hkvmclock.hlinkage.hlivepatch.hlocal.hlocal64.hmach_timer.hmach_traps.hmath_emu.hmc146818rtc.hmce.hmcsafe_test.hmem_encrypt.hmemtype.hmicrocode.hmicrocode_amd.hmicrocode_intel.hmisc.hmmconfig.hmmu.hmmu_context.hmmx.hmmzone.hmmzone_32.hmmzone_64.hmodule.hmpspec.hmpspec_def.hmpx.hmshyperv.hmsi.hmsidef.hmsr-index.hmsr-trace.hmsr.hmtrr.hmwait.hnmi.hnops.hnospec-branch.hnuma.hnuma_32.hnumachipnumachip.hnumachip_csr.holpc.holpc_ofw.horc_lookup.horc_types.hpage.hpage_32.hpage_32_types.hpage_64.hpage_64_types.hpage_types.hparavirt.hparavirt_types.hparport.hpci-direct.hpci-functions.hpci.hpci_64.hpci_x86.hpercpu.hperf_event.hperf_event_p4.hpgalloc.hpgtable-2level.hpgtable-2level_types.hpgtable-3level.hpgtable-3level_types.hpgtable-invert.hpgtable.hpgtable_32.hpgtable_32_types.hpgtable_64.hpgtable_64_types.hpgtable_types.hpkeys.hpkru.hplatform_sst_audio.hpm-trace.hposix_types.hpreempt.hprobe_roms.hprocessor-cyrix.hprocessor-flags.hprocessor.hprom.hproto.hpti.hptrace.hpurgatory.hpvclock-abi.hpvclock.hqrwlock.hqspinlock.hqspinlock_paravirt.hrealmode.hreboot.hreboot_fixups.hrefcount.hrequired-features.hresctrl.hrio.hrmwcc.hseccomp.hsections.hsegment.hserial.hset_memory.hsetup.hsetup_arch.hsev-common.hsev.hsgx.hsharedio.hmsr.htdx.hshmparam.hsigcontext.hsigframe.hsighandling.hsignal.hsimd.hsmap.hsmp.hsparsemem.hspec-ctrl.hspecial_insns.hspinlock.hspinlock_types.hsta2x11.hstackprotector.hstacktrace.hstring.hstring_32.hstring_64.hsuspend.hsuspend_32.hsuspend_64.hsvm.hswitch_to.hsync_bitops.hsync_core.hsyscall.hsyscall_wrapper.hsyscalls.hsysfb.htce.htdx.htext-patching.hthermal.hthread_info.htime.htimer.htimex.htlb.htlbbatch.htlbflush.htopology.htracecommon.hexceptions.hfpu.hhyperv.hirq_vectors.hmpx.htrace_clock.htrap_pf.htrapnr.htraps.htsc.huaccess.huaccess_32.huaccess_64.humip.hunaligned.hunistd.hunwind.hunwind_hints.huprobes.huser.huser32.huser_32.huser_64.huvbios.huv.huv_geo.huv_hub.huv_irq.huv_mmrs.hvdsovdso.hclocksource.hgettimeofday.hprocessor.hvsyscall.hvga.hvgtod.hvirtext.hvm86.hvmware.hvmx.hvmxfeatures.hvsyscall.hvvar.hword-at-a-time.hx86_init.hxencpuid.hevents.hhypercall.hhypervisor.hinterface.hinterface_32.hinterface_64.hpage-coherent.hpage.hpci.hswiotlb-xen.htrace_types.hxor.hxor_32.hxor_64.hxor_avx.hgeneratedasmdma-contiguous.hearly_ioremap.hkmap_size.hmcs_spinlock.hmm-arch-hooks.hmmiowb.hsyscalls_32.hsyscalls_64.hunistd_32_ia32.hunistd_64_x32.hxen-hypercalls.huapiasmbpf_perf_event.hpoll.hsocket.hunistd_32.hunistd_64.hunistd_x32.huapiasmKbuilda.out.hamd_hsmp.hauxvec.hbitsperlong.hboot.hbootparam.hbyteorder.hdebugreg.he820.herrno.hfcntl.hhw_breakpoint.hhwcap2.hioctl.hioctls.hipcbuf.hist.hkvm.hkvm_para.hkvm_perf.hldt.hmce.hmman.hmsgbuf.hmsr.hmtrr.hparam.hperf_regs.hposix_types.hposix_types_32.hposix_types_64.hposix_types_x32.hprctl.hprocessor-flags.hptrace-abi.hptrace.hresource.hsembuf.hsetup.hsgx.hshmbuf.hsigcontext.hsigcontext32.hsiginfo.hsignal.hsockios.hstat.hstatfs.hsvm.hswab.htermbits.htermios.htypes.hucontext.hunistd.hvm86.hvmx.hvsyscall.hkernelMakefileacpiMakefileapicMakefilecpuMakefilemceMakefilemicrocodeMakefilemtrrMakefileresctrlMakefilesgxMakefilefpuMakefilekprobesMakefilekvmKconfigMakefilelibMakefilemath-emuMakefilemmMakefilepatMakefilenetMakefileoprofileMakefilepciMakefileplatformMakefileatomMakefilece4100MakefileefiMakefilegeodeMakefilegoldfishMakefileintelintel-midMakefiledevice_libsMakefileintel-quarkMakefileMakefileirisMakefileolpcMakefilescx200MakefilesfiMakefilets5500MakefileuvMakefilepowerMakefilepurgatoryMakefileentry64.Spurgatory.csetup-x86_64.Sstack.SrasKconfigrealmodeMakefilermMakefiletoolsMakefilerelocs.crelocs.hrelocs_32.crelocs_64.crelocs_common.cumKconfigMakefileos-LinuxMakefilevdsoMakefilevideoMakefilexenKconfigMakefilextensaKconfigKconfig.debugMakefilebootMakefileboot-elfMakefileboot-redbootMakefiledtsMakefilelibMakefilekernelMakefilelibMakefilemmMakefileoprofileMakefileplatformsissMakefilext2000MakefilextfpgaMakefileblockKconfigKconfig.ioschedMakefilepartitionsKconfigMakefilecertsKconfigMakefilecryptoKconfigMakefileasymmetric_keysKconfigMakefileasync_txKconfigMakefiledriversKconfigMakefileaccessibilityKconfigMakefilebrailleMakefileacpiKconfigMakefileacpicaMakefileapeiKconfigMakefilearm64KconfigMakefiledptfKconfigMakefilenfitKconfigMakefilenumaKconfigMakefilepmicKconfigMakefileambaKconfigMakefileandroidKconfigMakefileataKconfigMakefileatmKconfigMakefileauxdisplayKconfigMakefilebaseKconfigMakefilefirmware_loaderKconfigMakefilepowerMakefileregmapKconfigMakefiletestKconfigMakefilebcmaKconfigMakefileblockKconfigMakefileaoeMakefiledrbdKconfigMakefilemtip32xxKconfigMakefileparideKconfigMakefilersxxMakefilexen-blkbackMakefilezramKconfigMakefilebluetoothKconfigMakefilebusKconfigMakefilefsl-mcKconfigMakefilemhiKconfigMakefileepKconfigMakefilehostKconfigMakefilecdromMakefilecharKconfigMakefileagpKconfigMakefilehw_randomKconfigMakefileipmiKconfigMakefilemwaveMakefilepcmciaKconfigMakefiletpmKconfigMakefilest33zp24KconfigMakefilexilinx_hwicapMakefilexillybusKconfigMakefileclkKconfigMakefileactionsKconfigMakefileat91MakefileaxisMakefileaxs10xMakefilebcmKconfigMakefileberlinMakefiledavinciMakefileh8300MakefilehisiliconKconfigMakefileimgtecKconfigMakefileimxMakefileingenicMakefilekeystoneKconfigMakefileloongson1MakefilemediatekKconfigMakefilemesonKconfigMakefilemicrochipMakefilemmpMakefilemvebuKconfigMakefilemxsMakefilenxpMakefilepistachioMakefilepxaMakefileqcomKconfigMakefilerenesasKconfigMakefilerockchipMakefilesamsungKconfigMakefilesirfMakefilesocfpgaMakefilespearMakefilesprdKconfigMakefilestMakefilesunxisunxi-ngKconfigMakefileMakefiletegraKconfigMakefiletiKconfigMakefileuniphierKconfigMakefileux500MakefileversatileKconfigMakefilex86MakefilezteMakefilezynqMakefileclocksourceKconfigMakefileconnectorKconfigMakefilecounterKconfigMakefilecpufreqKconfigKconfig.armKconfig.powerpcKconfig.x86MakefilecpuidleKconfigKconfig.armKconfig.mipsKconfig.powerpcMakefilegovernorsMakefilecryptoKconfigMakefileamccMakefileaxisMakefilebcmMakefilecaamKconfigMakefilecaviumMakefilecptKconfigMakefilenitroxKconfigMakefilezipMakefileccpKconfigMakefileccreeMakefilechelsioKconfigMakefilechtlsMakefileinside-secureMakefilemarvellMakefilemediatekMakefilenxKconfigMakefileqatKconfigMakefileqat_4xxxMakefileqat_c3xxxMakefileqat_c3xxxvfMakefileqat_c62xMakefileqat_c62xvfMakefileqat_commonMakefileqat_dh895xccMakefileqat_dh895xccvfMakefileqceMakefilerockchipMakefilestm32KconfigMakefilesunxi-ssMakefileux500KconfigMakefilecrypMakefilehashMakefilevirtioKconfigMakefilevmxKconfigMakefiledaxKconfigMakefilehmemMakefilepmemMakefiledcaKconfigMakefiledevfreqKconfigMakefileeventKconfigMakefiledioMakefiledmadma-bufKconfigMakefileheapsKconfigMakefileKconfigMakefilebestcommKconfigMakefiledwdw-axi-dmacMakefileKconfigMakefilehsuKconfigMakefileidxdMakefileioatMakefileipuMakefilemediatekKconfigMakefileppc4xxMakefileptdmaKconfigMakefileqcomKconfigMakefileshKconfigMakefiletiKconfigMakefilexilinxMakefileedacKconfigMakefileeisaKconfigMakefileextconKconfigMakefilefirewireKconfigMakefilefirmwareKconfigMakefilearm_scmiMakefilebroadcomKconfigMakefilecirrusKconfigMakefileefiKconfigMakefilelibstubMakefiletestMakefilegoogleKconfigMakefilemesonKconfigMakefilepsciKconfigMakefilesmcccKconfigMakefiletegraKconfigMakefilefmcKconfigMakefilefpgaKconfigMakefilefsiKconfigMakefilegpioKconfigMakefilegpuMakefiledrmKconfigMakefileamdacpKconfigMakefileamdgpuKconfigMakefileamdkfdKconfigMakefiledisplayKconfigMakefileamdgpu_dmMakefiledcMakefilebasicsMakefilebiosMakefileclk_mgrMakefiledceMakefiledce100Makefiledce110Makefiledce112Makefiledce120Makefiledce60Makefiledce80Makefiledcn10Makefiledcn20Makefiledcn201Makefiledcn21Makefiledcn30Makefiledcn301Makefiledcn302Makefiledcn303Makefiledcn31Makefiledcn314Makefiledcn315Makefiledcn316Makefiledcn32Makefiledcn321MakefiledmlMakefiledscMakefilegpioMakefilehdcpMakefileirqMakefilelinkMakefilevirtualMakefiledmubsrcMakefilemodulescolorMakefilefreesyncMakefilehdcpMakefileinfo_packetMakefilepowerMakefilepmMakefilelegacy-dpmMakefilepowerplayMakefilehwmgrMakefilesmumgrMakefileswsmuMakefilesmu11Makefilesmu12Makefilesmu13MakefilearmKconfigMakefilearmadaKconfigMakefileaspeedKconfigMakefileastKconfigMakefileatmel-hlcdcKconfigMakefilebridgeKconfigMakefileadv7511KconfigMakefileanalogixKconfigMakefilecadenceKconfigMakefileimxKconfigMakefilesynopsysKconfigMakefiledisplayKconfigMakefileetnavivKconfigMakefileexynosKconfigMakefilefsl-dcuKconfigMakefilegma500KconfigMakefilegudKconfigMakefilehisiliconKconfigMakefilehibmcKconfigMakefilekirinKconfigMakefilehypervMakefilei2cKconfigMakefilei810Makefilei915KconfigKconfig.debugKconfig.profileKconfig.unstableMakefilegvtMakefileimxKconfigMakefilekmbKconfigMakefilelogicvcKconfigMakefilemediatekKconfigMakefilemesonKconfigMakefilemgaMakefilemgag200KconfigMakefilemsmKconfigMakefilemxsfbKconfigMakefilenouveauKconfigomapdrmKconfigMakefiledisplaysKconfigMakefiledssKconfigMakefilepanelKconfigMakefilepl111KconfigMakefileqxlKconfigMakefiler128MakefileradeonKconfigMakefilercar-duKconfigMakefilerockchipKconfigMakefilesavageMakefileschedulerMakefileselftestsMakefileshmobileKconfigMakefilesisMakefilesolomonKconfigMakefilesprdKconfigMakefilestiKconfigMakefilestmKconfigMakefilesun4iKconfigMakefiletdfxMakefiletegraKconfigMakefiletestsMakefiletilcdcKconfigMakefiletinyKconfigMakefilettmMakefiletve200KconfigMakefileudlKconfigMakefilev3dKconfigMakefilevboxvideoKconfigMakefilevc4KconfigMakefilevgemMakefileviaMakefilevirtioKconfigMakefilevkmsMakefilevmwgfxKconfigMakefilexenKconfigMakefilehost1xKconfigMakefileipu-v3KconfigMakefilevgaKconfigMakefilehidKconfigMakefileamd-sfh-hidKconfigMakefilei2c-hidKconfigMakefileintel-ish-hidKconfigMakefilesurface-hidKconfigMakefileusbhidKconfigMakefilehsiKconfigMakefileclientsKconfigMakefilecontrollersKconfigMakefilehvKconfigMakefilehwmonKconfigMakefilepmbusKconfigMakefilehwspinlockKconfigMakefilehwtracingKconfigcoresightKconfigMakefileintel_thKconfigMakefilestmKconfigMakefilei2cKconfigMakefilealgosKconfigMakefilebussesKconfigMakefilemuxesKconfigMakefileideKconfigMakefileidleKconfigMakefileiioKconfigMakefileaccelKconfigMakefileadcKconfigMakefileafeKconfigMakefileamplifiersKconfigMakefilebufferKconfigMakefilechemicalKconfigMakefilecommonKconfigMakefilecros_ec_sensorsKconfigMakefilehid-sensorsKconfigMakefilems_sensorsKconfigMakefilessp_sensorsKconfigMakefilest_sensorsKconfigMakefilecounterKconfigMakefiledacKconfigMakefiledummyKconfigMakefilefrequencyKconfigMakefilegyroKconfigMakefilehealthKconfigMakefilehumidityKconfigMakefileimuKconfigMakefilebmi160KconfigMakefileinv_mpu6050KconfigMakefilest_lsm6dsxKconfigMakefilelightKconfigMakefilemagnetometerKconfigMakefilemultiplexerKconfigMakefileorientationKconfigMakefilepotentiometerKconfigMakefilepotentiostatKconfigMakefilepressureKconfigMakefileproximityKconfigMakefileresolverKconfigMakefiletemperatureKconfigMakefiletriggerKconfigMakefileinfinibandKconfigMakefilecoreMakefilehwMakefilebnxt_reKconfigMakefilecxgb4KconfigMakefileefaKconfigMakefilehfi1KconfigMakefilehnsKconfigMakefileirdmaKconfigMakefilemlx4KconfigMakefilemlx5KconfigMakefilemthcaKconfigMakefileocrdmaKconfigMakefileqedrKconfigMakefileqibKconfigMakefileusnicKconfigMakefilevmw_pvrdmaKconfigMakefileswMakefilerdmavtKconfigMakefilerxeKconfigMakefilesiwKconfigMakefileulpMakefileipoibKconfigMakefileiserKconfigMakefileisertKconfigMakefileopa_vnicKconfigMakefilesrpKconfigsrptKconfigMakefileinputKconfigMakefilegameportKconfigMakefilejoystickKconfigMakefileiforceKconfigMakefilekeyboardKconfigMakefilemiscKconfigMakefilemouseKconfigMakefilermi4KconfigMakefileserioKconfigMakefiletabletKconfigMakefiletouchscreenKconfigMakefileiommuKconfigMakefileamdKconfigMakefilearmMakefilearm-smmuarm-smmu-v3MakefileMakefileintelKconfigMakefileipackKconfigMakefilecarriersKconfigMakefiledevicesKconfigMakefileirqchipKconfigMakefileisdnKconfigMakefilecapiKconfigMakefiledivertMakefilegigasetKconfigMakefilehardwareKconfigMakefileavmKconfigMakefileeiconKconfigMakefilemISDNKconfigMakefilehisaxKconfigMakefilehysdnKconfigMakefilei4lKconfigMakefileisdnloopMakefilemISDNKconfigMakefileledsKconfigMakefiletriggerKconfigMakefilelightnvmKconfigMakefilemacintoshKconfigMakefileamsMakefilemailboxKconfigMakefilemcbKconfigMakefilemdKconfigMakefilebcacheKconfigMakefilepersistent-dataKconfigMakefilemediaKconfigMakefilececKconfigMakefilecommonKconfigMakefileb2c2KconfigMakefilesaa7146KconfigMakefilesianoKconfigMakefilev4l2-tpgKconfigMakefilevideobuf2KconfigMakefiledvb-coreKconfigMakefiledvb-frontendsKconfigMakefilecxd2880KconfigMakefiledrx39xyjKconfigMakefilefirewireKconfigMakefilei2cKconfigMakefileadv748xMakefilecx25840KconfigMakefileet8ek8KconfigMakefilem5molsKconfigMakefiles5c73m3MakefilesmiappKconfigMakefilesoc_cameraKconfigMakefilemmcKconfigMakefilesianoKconfigMakefilepciKconfigMakefileb2c2KconfigMakefilebt8xxKconfigMakefilecobaltKconfigMakefilecx18KconfigMakefilecx23885KconfigMakefilecx25821KconfigMakefilecx88KconfigMakefileddbridgeKconfigMakefiledm1105KconfigMakefiledt3155KconfigMakefileintelMakefileipu3KconfigMakefileivtvKconfigMakefilemantisKconfigMakefilemeyeKconfigMakefilenetup_unidvbKconfigMakefilengeneKconfigMakefilepluto2KconfigMakefilept1KconfigMakefilept3KconfigMakefilesaa7134KconfigMakefilesaa7146KconfigMakefilesaa7164KconfigMakefilesmipcieKconfigMakefilesolo6x10KconfigMakefilesta2x11KconfigMakefilettpciKconfigMakefiletw5864KconfigMakefiletw68KconfigMakefiletw686xKconfigMakefileplatformKconfigMakefileam437xKconfigMakefileatmelKconfigMakefilecadenceKconfigMakefilecec-gpioMakefilecodaMakefiledavinciKconfigMakefileexynos-gscMakefileexynos4-isKconfigMakefilemarvell-ccicKconfigMakefilemesonMakefilemtk-jpegMakefilemtk-mdpMakefilemtk-vcodecMakefilemtk-vpuMakefileomapKconfigMakefileomap3ispMakefileqcomcamss-8x16MakefilevenusMakefilercar-vinKconfigMakefilerockchiprgaMakefiles3c-camifMakefiles5p-cecMakefiles5p-g2dMakefiles5p-jpegMakefiles5p-mfcMakefilesoc_cameraKconfigMakefilestibdispMakefilec8sectpfeKconfigMakefilececMakefiledeltaMakefilehvaMakefilestm32Makefiletegra-cecMakefileti-vpeMakefilevimcKconfigMakefilevividKconfigMakefilevsp1MakefilexilinxKconfigMakefileradioKconfigMakefilesi470xKconfigMakefilesi4713KconfigMakefilewl128xKconfigMakefilercKconfigMakefileimg-irKconfigMakefilekeymapsKconfigMakefilespiKconfigMakefiletunersKconfigMakefileusbKconfigMakefileairspyKconfigMakefileas102KconfigMakefileau0828KconfigMakefileb2c2KconfigMakefilecpia2KconfigMakefilecx231xxKconfigMakefiledvb-usbdvb-usb-v2KconfigMakefileKconfigMakefileem28xxKconfigMakefilego7007KconfigMakefilegspcaKconfigMakefilegl860KconfigMakefilem5602KconfigMakefilestv06xxKconfigMakefilehackrfKconfigMakefilehdpvrKconfigMakefilemsi2500KconfigMakefilepulse8-cecKconfigMakefilepvrusb2KconfigMakefilepwcKconfigMakefilerainshadow-cecKconfigMakefiles2255KconfigMakefilesianoKconfigMakefilestk1160KconfigMakefilestkwebcamKconfigMakefiletm6000KconfigMakefilettusb-budgetKconfigMakefilettusb-decKconfigMakefileusbtvKconfigMakefileusbvisionKconfigMakefileuvcKconfigMakefilezr364xxKconfigMakefilev4l2-coreKconfigMakefilememoryKconfigMakefileMakefile.asm-offsetssamsungKconfigMakefiletegraKconfigMakefilememstickKconfigMakefilecoreKconfigMakefilehostKconfigMakefilemessageMakefilefusionKconfigMakefilemfdKconfigMakefilemiscKconfigMakefilealtera-staplKconfigMakefilec2portKconfigMakefilecardreaderKconfigMakefilecb710KconfigMakefilecxlKconfigMakefileechoKconfigMakefileeepromKconfigMakefilegenwqeKconfigMakefileibmasmMakefilelis3lv02dKconfigMakefilelkdtmMakefilemeiKconfigMakefilehdcpKconfigMakefilepxpKconfigMakefilemicKconfigMakefilebusMakefilecardMakefilecosmMakefilecosm_clientMakefilehostMakefilescifMakefilevopMakefileocxlKconfigMakefilesgi-gruMakefilesgi-xpMakefileti-stKconfigMakefilevmw_vmciKconfigMakefilemmcKconfigMakefilecoreKconfigMakefilehostKconfigMakefilemtdKconfigMakefilechipsKconfigMakefiledevicesKconfigMakefilelpddrKconfigMakefilemapsKconfigMakefilenandKconfigMakefileonenandKconfigMakefilerawKconfigMakefileatmelMakefilebcm47xxnflashMakefilebrcmnandMakefilegpmi-nandMakefileparsersKconfigMakefilespi-norKconfigMakefiletestsMakefileubiKconfigMakefilemuxKconfigMakefilenetKconfigMakefileappletalkKconfigMakefilearcnetKconfigMakefilebondingMakefilecaifKconfigMakefilecanKconfigMakefilec_canKconfigMakefilecc770KconfigMakefileifi_canfdKconfigMakefilem_canKconfigMakefilemscanKconfigMakefilepeak_canfdKconfigMakefilercarKconfigMakefilesja1000KconfigMakefilesoftingKconfigMakefilespiKconfigMakefileusbKconfigMakefilekvaser_usbMakefilepeak_usbMakefiledsaKconfigMakefileb53KconfigMakefilemicrochipKconfigMakefilemv88e6xxxKconfigMakefileethernet3comKconfigMakefile8390KconfigMakefileKconfigMakefileadaptecKconfigMakefileaeroflexKconfigMakefileagereKconfigMakefilealacritechKconfigMakefileallwinnerKconfigMakefilealteonKconfigMakefilealteraKconfigMakefileamazonKconfigMakefileenaMakefileamdKconfigMakefilexgbeMakefileapmKconfigMakefilexgenexgene-v2KconfigMakefileKconfigMakefileappleKconfigMakefileaquantiaKconfigMakefileatlanticMakefilehw_atlMakefilearcKconfigMakefileatherosKconfigMakefilealxMakefileatl1cMakefileatl1eMakefileatlxMakefileauroraKconfigMakefilebroadcomKconfigMakefilebnx2xMakefilebnxtMakefilegenetMakefilebrocadeKconfigMakefilebnaKconfigMakefilecadenceKconfigMakefilecalxedaKconfigMakefilecaviumKconfigMakefilecommonMakefileliquidioMakefileocteonMakefilethunderMakefilechelsioKconfigMakefilecxgbMakefilecxgb3Makefilecxgb4Makefilecxgb4vfMakefileinline_cryptoKconfigMakefilech_ipsecMakefilech_ktlsMakefilelibcxgbMakefilecirrusKconfigMakefileciscoKconfigMakefileenicKconfigMakefilecortinaKconfigMakefiledavicomKconfigMakefiledecKconfigMakefiletulipKconfigMakefiledlinkKconfigMakefileemulexKconfigMakefilebenetKconfigMakefileezchipKconfigMakefilefaradayKconfigMakefilefreescaleKconfigMakefiledpaaKconfigMakefilefmanKconfigMakefilefs_enetKconfigMakefilefujitsuKconfigMakefilegoogleKconfigMakefilegveMakefilehisiliconKconfigMakefilehnsMakefilehns3Makefilehns3pfMakefilehns3vfMakefilehpKconfigMakefilehuaweiKconfigMakefilehinicKconfigMakefilei825xxKconfigMakefileibmKconfigMakefileeheaMakefileemacKconfigMakefileintelKconfigMakefilee1000Makefilee1000eMakefilefm10kMakefilei40eMakefileiavfMakefileiceMakefileigbMakefileigbvfMakefileigcMakefileixgbMakefileixgbeMakefileixgbevfMakefilemarvellKconfigMakefilemvpp2MakefilemediatekKconfigMakefilemellanoxKconfigMakefilemlx4KconfigMakefilemlx5coreKconfigMakefileaccelMakefilediagMakefileenMakefilexskMakefileen_accelMakefileeswMakefilefpgaMakefileipoibMakefilelibMakefilesteeringMakefilemlxbf_gigeKconfigMakefilemlxfwKconfigMakefilemlxswKconfigMakefilemicrelKconfigMakefilemicrochipKconfigMakefilemicrosoftKconfigMakefilemanaMakefilemoxaKconfigMakefilemsccKconfigMakefilemyricomKconfigMakefilemyri10geMakefilenatsemiKconfigMakefileneterionKconfigMakefilevxgeMakefilenetronomeKconfigMakefilenfpMakefilebpfMakefileflowerMakefilenfpcoreMakefilenfp6000MakefilenicMakefileniKconfigMakefilenuvotonKconfigMakefilenvidiaKconfigMakefilenxpKconfigMakefileoki-semiKconfigMakefilepch_gbeKconfigMakefilepacketenginesKconfigMakefilepasemiKconfigMakefilepensandoKconfigMakefileionicMakefileqlogicKconfigMakefilenetxenMakefileqedMakefileqedeMakefileqlcnicMakefileqlgeMakefilequalcommKconfigMakefileemacMakefilermnetKconfigMakefilerdcKconfigMakefilerealtekKconfigMakefilerenesasKconfigMakefilerockerKconfigMakefilesamsungKconfigMakefilesxgbeMakefileseeqKconfigMakefilesfcKconfigMakefilefalconKconfigMakefilesienaKconfigMakefilesgiKconfigMakefilesilanKconfigMakefilesisKconfigMakefilesmscKconfigMakefilesocionextKconfigMakefilestmicroKconfigMakefilestmmacKconfigMakefilesunKconfigMakefilesynopsysKconfigMakefiletehutiKconfigMakefiletiKconfigMakefiletoshibaKconfigMakefiletundraKconfigMakefileviaKconfigMakefilewiznetKconfigMakefilexilinxKconfigMakefilexircomKconfigMakefilexscaleKconfigMakefilefddiKconfigMakefileskfpMakefilefjesMakefilehamradioKconfigMakefilehippiKconfigMakefilehypervKconfigMakefileieee802154KconfigMakefileipvlanMakefilenetdevsimMakefilepcsKconfigMakefilephyKconfigMakefileplipKconfigMakefilepppKconfigMakefileslipKconfigMakefileteamKconfigMakefileusbKconfigMakefilevmxnet3MakefilewanKconfigMakefilelmcMakefilewimaxKconfigMakefilei2400mKconfigMakefilewirelessKconfigMakefileadmtekKconfigMakefileathKconfigMakefilear5523KconfigMakefileath10kKconfigMakefileath11kKconfigMakefileath5kKconfigMakefileath6klKconfigMakefileath9kKconfigMakefilecarl9170KconfigMakefilewcn36xxKconfigMakefilewil6210KconfigMakefileatmelKconfigMakefilebroadcomKconfigMakefileb43KconfigMakefileb43legacyKconfigMakefilebrcm80211KconfigMakefilebrcmfmacKconfigMakefilebrcmsmacMakefilebrcmutilMakefileciscoKconfigMakefileintelKconfigMakefileipw2x00KconfigMakefileiwlegacyKconfigMakefileiwlwifiKconfigMakefiledvmMakefilemeiMakefilemvmMakefileintersilKconfigMakefilehostapKconfigMakefileorinocoKconfigMakefilep54KconfigMakefileprism54MakefilemarvellKconfigMakefilelibertasKconfigMakefilelibertas_tfKconfigMakefilemwifiexKconfigMakefilemediatekKconfigMakefilemt76KconfigMakefilemt7603KconfigMakefilemt7615KconfigMakefilemt76x0KconfigMakefilemt76x2KconfigMakefilemt7915KconfigMakefilemt7921KconfigMakefilemt7601uKconfigMakefilequantennaKconfigMakefileqtnfmacKconfigMakefileralinkKconfigMakefilert2x00KconfigMakefilerealtekKconfigMakefilertl818xKconfigMakefilertl8180Makefilertl8187Makefilertl8xxxuKconfigMakefilertlwifiKconfigMakefilebtcoexistMakefilertl8188eeMakefilertl8192cMakefilertl8192ceMakefilertl8192cuMakefilertl8192deMakefilertl8192eeMakefilertl8192seMakefilertl8723aeMakefilertl8723beMakefilertl8723comMakefilertl8821aeMakefilertw88KconfigMakefilertw89KconfigMakefilersiKconfigMakefilestKconfigMakefilecw1200KconfigMakefiletiKconfigMakefilewl1251KconfigMakefilewl12xxKconfigMakefilewl18xxKconfigMakefilewlcoreKconfigMakefilezydasKconfigMakefilezd1211rwKconfigMakefilexen-netbackMakefilenfcKconfigMakefilefdpKconfigMakefilemicroreadKconfigMakefilenfcmrvlKconfigMakefilenxp-nciKconfigMakefilepn533KconfigMakefilepn544KconfigMakefiles3fwrn5KconfigMakefilest-nciKconfigMakefilest21nfcaKconfigMakefilest95hfKconfigMakefilentbKconfigMakefilehwKconfigMakefileamdKconfigMakefileepfKconfigMakefileidtKconfigMakefileintelKconfigMakefilemsccKconfigMakefiletestKconfigMakefilenubusMakefilenvdimmKconfigMakefilenvmeKconfigMakefilehostKconfigMakefiletargetKconfigMakefilenvmemKconfigMakefileofKconfigMakefileunittest-dataMakefileoppKconfigMakefilepariscKconfigMakefileparportKconfigMakefilepciKconfigMakefilecontrollerKconfigMakefiledwcKconfigMakefileendpointKconfigMakefilefunctionsKconfigMakefilehotplugKconfigMakefilepcieKconfigMakefileswitchKconfigMakefilepcmciaKconfigMakefileperfKconfigMakefilehisiliconMakefilephyKconfigMakefileallwinnerKconfigMakefileamlogicKconfigMakefilebroadcomKconfigMakefilehisiliconKconfigMakefilelantiqKconfigMakefilemarvellKconfigMakefilemediatekKconfigMakefilemotorolaKconfigMakefilequalcommKconfigMakefileralinkKconfigMakefilerenesasKconfigMakefilerockchipKconfigMakefilesamsungKconfigMakefilestKconfigMakefiletegraKconfigMakefiletiKconfigMakefilepinctrlKconfigMakefileactionsKconfigMakefileaspeedKconfigMakefilebcmKconfigMakefileberlinKconfigMakefilefreescaleKconfigMakefileintelKconfigMakefilemediatekKconfigMakefilemesonKconfigMakefilemvebuKconfigMakefilenomadikKconfigMakefilepxaKconfigMakefileqcomKconfigMakefilesamsungKconfigMakefilesh-pfcKconfigMakefilesirfMakefilespearKconfigMakefilesprdKconfigMakefilestm32KconfigMakefilesunxiKconfigMakefiletegraKconfigMakefiletiKconfigMakefileuniphierKconfigMakefilevt8500KconfigMakefilezteKconfigMakefileplatformKconfigMakefilechromeKconfigMakefilegoldfishKconfigMakefilemellanoxKconfigMakefilemipsKconfigMakefileolpcMakefilex86KconfigMakefiledell-wmi-sysmanMakefileintelKconfigMakefilepmcKconfigMakefilepmtKconfigMakefilespeed_select_ifKconfigMakefilepnpKconfigMakefileisapnpKconfigMakefilepnpacpiKconfigMakefilepnpbiosKconfigMakefilepowerKconfigMakefileavsKconfigMakefileresetKconfigMakefilesupplyKconfigMakefilepowercapKconfigMakefileppsKconfigMakefileclientsKconfigMakefilegeneratorsKconfigMakefileps3MakefileptpKconfigMakefilepwmKconfigMakefilerapidioKconfigMakefiledevicesKconfigMakefileswitchesKconfigMakefilerasKconfigMakefileregulatorKconfigMakefileremoteprocKconfigMakefileresetKconfigMakefilehisiliconKconfigMakefilestiKconfigMakefiletegraKconfigMakefilerpmsgKconfigMakefilertcKconfigMakefiles390MakefileblockKconfigMakefilecharKconfigMakefilecioMakefilecryptoMakefilenetKconfigMakefilescsiMakefilevirtioMakefilesbusMakefilecharKconfigMakefilescsiKconfigMakefileaacraidMakefileaic7xxxKconfig.aic79xxKconfig.aic7xxxMakefileaicasmMakefileaic94xxKconfigMakefilearcmsrMakefilearmKconfigMakefilebe2iscsiKconfigMakefilebfaMakefilebnx2fcKconfigMakefilebnx2iKconfigMakefilecsiostorKconfigMakefilecxgbiKconfigMakefilecxgb3iKconfigcxgb4iKconfigcxlflashKconfigMakefiledevice_handlerKconfigMakefileesas2rKconfigMakefilefcoeMakefilefnicMakefilehisi_sasKconfigMakefileibmvscsiMakefileibmvscsi_tgtMakefileisciMakefilelibfcMakefilelibsasKconfigMakefilelpfcMakefilemegaraidKconfig.megaraidMakefilempi3mrKconfigMakefilempt3sasKconfigMakefilemvsasKconfigMakefilepcmciaKconfigMakefilepm8001MakefileqedfKconfigMakefileqediKconfigMakefileqla2xxxKconfigMakefileqla4xxxKconfigMakefilesmartpqiKconfigMakefilesnicMakefilesym53c8xx_2MakefileufsKconfigMakefilesfiKconfigMakefileshKconfigMakefileclkMakefileintcKconfigMakefilemapleMakefilesuperhywayMakefilesioxKconfigMakefileslimbusKconfigMakefilesnKconfigMakefilesocKconfigMakefileactionsKconfigMakefileamlogicKconfigMakefileatmelKconfigMakefilebcmKconfigMakefilebrcmstbKconfigMakefilepmMakefiledoveMakefilefslKconfigMakefileqbmanKconfigMakefileqeKconfigMakefilegeminiMakefileimxKconfigMakefilelantiqMakefilemediatekKconfigMakefileqcomKconfigMakefilerenesasKconfigMakefilerockchipKconfigMakefilesamsungKconfigMakefilesunxiKconfigMakefiletegraKconfigMakefilefuseMakefiletiKconfigMakefileux500KconfigMakefileversatileKconfigMakefilexilinxKconfigMakefilezteKconfigMakefilesoundwireKconfigMakefilespiKconfigMakefilespmiKconfigMakefilessbKconfigMakefilestagingKconfigMakefileandroidKconfigMakefileionKconfigMakefileboardKconfigMakefileclocking-wizardKconfigMakefilecomediKconfigMakefiledriversMakefilekcomedilibMakefiledgncKconfigMakefileemxx_udcKconfigMakefilefbtftKconfigMakefilefsl-dpaa2KconfigMakefileethernetMakefileethswMakefilertcMakefilefsl-mcKconfigMakefilebusKconfigMakefiledpioMakefilefwserialKconfigMakefilegdm724xKconfigMakefilegoldfishKconfigMakefilegreybusKconfigMakefiletoolsMakefilegs_fpgabootKconfigMakefileiioKconfigMakefileaccelKconfigMakefileadcKconfigMakefileaddacKconfigMakefilecdcKconfigMakefilefrequencyKconfigMakefilegyroKconfigMakefileimpedance-analyzerKconfigMakefilemeterKconfigMakefileresolverKconfigMakefileks7010KconfigMakefilemediaKconfigMakefilebcm2048KconfigMakefiledavinci_vpfeKconfigMakefileimxKconfigMakefileimx074KconfigMakefilemt9t031KconfigMakefileomap4issKconfigMakefiletegra-vdeKconfigMakefilezoranKconfigMakefilemostKconfigMakefilecdevKconfigMakefiledim2KconfigMakefilei2cKconfigMakefilenetKconfigMakefilesoundKconfigMakefileusbKconfigMakefilevideoKconfigMakefilemt29f_spinandKconfigMakefilemt7621-dmaKconfigMakefilemt7621-dtsKconfigMakefilemt7621-ethKconfigMakefilemt7621-gpioKconfigMakefilemt7621-mmcKconfigMakefilemt7621-pciMakefilemt7621-pinctrlKconfigMakefilemt7621-spiKconfigMakefilenetlogicKconfigMakefilenvecKconfigMakefileocteonocteon-usbKconfigMakefileKconfigMakefileolpc_dconKconfigMakefilepi433KconfigMakefilertl8188euKconfigMakefilertl8192eKconfigMakefilertl8192eKconfigMakefilertl8192uKconfigMakefileieee80211Makefilertl8712KconfigMakefilertl8723bsKconfigMakefilertlwifiKconfigMakefilebtcoexistMakefilertl8822beMakefilerts5208KconfigMakefileskeinKconfigMakefilesm750fbKconfigMakefilespeakupKconfigMakefileunisysKconfigMakefilevisorhbaKconfigMakefilevisorinputKconfigMakefilevisornicKconfigMakefilevboxvideoKconfigMakefilevc04_servicesKconfigMakefilebcm2835-audioKconfigMakefilebcm2835-cameraKconfigMakefilevmeMakefiledevicesKconfigMakefilevt6655KconfigMakefilevt6656KconfigMakefilewilc1000KconfigMakefilewlan-ngKconfigMakefilexgifbKconfigMakefiletargetKconfigMakefileiscsiKconfigMakefilecxgbitKconfigMakefileloopbackKconfigMakefilesbpKconfigMakefiletcm_fcKconfigMakefiletcMakefileteeKconfigMakefileopteeKconfigMakefilethermalKconfigMakefilebroadcomKconfigMakefileintelKconfigMakefileint340x_thermalKconfigMakefileqcomKconfigMakefilesamsungKconfigMakefilestKconfigMakefiletegraKconfigMakefileti-soc-thermalKconfigMakefilethunderboltKconfigMakefilettyKconfigMakefilehvcKconfigMakefileipwirelessMakefileserdevKconfigMakefileserial8250KconfigMakefileKconfigMakefilecpm_uartMakefilejsmMakefilevtMakefileuioKconfigMakefileusbKconfigMakefileatmKconfigMakefilec67x00MakefilechipideaKconfigMakefileclassKconfigMakefilecommonKconfigMakefilecoreKconfigMakefiledwc2KconfigMakefiledwc3KconfigMakefileearlyMakefilegadgetKconfigMakefilefunctionMakefilelegacyKconfigMakefileudcKconfigMakefileaspeed-vhubKconfigMakefilebdcKconfigMakefilehostKconfigMakefilewhciMakefileimageKconfigMakefileisp1760KconfigMakefilemiscKconfigMakefilesisusbvgaKconfigMakefilemonKconfigMakefilemtu3KconfigMakefilemusbKconfigMakefilephyKconfigMakefilerenesas_usbhsKconfigMakefilerolesKconfigMakefileserialKconfigMakefileMakefile-keyspan_pda_fwstorageKconfigMakefiletypecKconfigMakefilealtmodesKconfigMakefilemuxKconfigMakefiletcpmKconfigMakefiletipdKconfigMakefileucsiKconfigMakefileusbipKconfigMakefilewusbcoreKconfigMakefileuwbKconfigMakefilei1480MakefiledfuMakefilevdpaKconfigMakefilealibabaMakefileifcvfMakefilemlx5Makefilevdpa_simMakefilevirtio_pciMakefilevfioKconfigMakefilemdevKconfigMakefilepciKconfigMakefileplatformKconfigMakefileresetKconfigMakefilevhostKconfigKconfig.vringhMakefilevideoKconfigMakefilebacklightKconfigMakefileconsoleKconfigMakefilefbdevKconfigMakefileatyMakefilecoreMakefilegeodeKconfigMakefilei810MakefileintelfbMakefilekyroMakefilematroxMakefilemb862xxMakefilembxMakefilemmpKconfigMakefilefbKconfigMakefilehwKconfigMakefilepanelKconfigMakefilenvidiaMakefileomapKconfigMakefileomap2KconfigMakefileomapfbKconfigMakefiledisplaysKconfigMakefiledssKconfigMakefilerivaMakefilesavageMakefilesisMakefilevermilionMakefileviaMakefilelogoKconfigMakefilevirtKconfigMakefilecocosev-guestKconfigMakefiletdx-guestKconfigMakefilenitro_enclavesKconfigMakefilevboxguestKconfigMakefilevirtioKconfigMakefilevisorbusKconfigMakefilevlynqKconfigMakefilevmeKconfigMakefileboardsKconfigMakefilebridgesKconfigMakefilew1KconfigMakefilemastersKconfigMakefileslavesKconfigMakefilewatchdogKconfigMakefilexenKconfigMakefileeventsMakefilexen-pcibackMakefilexenbusMakefilexenfsMakefilezorroKconfigMakefilefirmwareMakefilefs9pKconfigMakefileKconfigKconfig.binfmtMakefileadfsKconfigMakefileaffsKconfigMakefileafsKconfigMakefileautofsKconfigMakefilebefsKconfigMakefilebfsKconfigMakefilebtrfsKconfigMakefilecachefilesKconfigMakefilecephKconfigMakefilecifsKconfigMakefilecodaKconfigMakefileconfigfsKconfigMakefilecramfsKconfigMakefilecryptoKconfigMakefiledebugfsMakefiledevptsMakefiledlmKconfigMakefileecryptfsKconfigMakefileefivarfsKconfigMakefileefsKconfigMakefileexportfsMakefileext2KconfigMakefileext4KconfigMakefilef2fsKconfigMakefilefatKconfigMakefilefreevxfsKconfigMakefilefscacheKconfigMakefilefuseKconfigMakefilegfs2KconfigMakefilehfsKconfigMakefilehfsplusKconfigMakefilehostfsMakefilehpfsKconfigMakefilehugetlbfsMakefileiomapMakefileisofsKconfigMakefilejbd2KconfigMakefilejffs2KconfigMakefilejfsKconfigMakefilekernfsKconfigMakefilelockdMakefileminixKconfigMakefilenfsKconfigMakefileblocklayoutMakefilefilelayoutMakefileflexfilelayoutMakefilenfs_commonMakefilenfsdKconfigMakefilenilfs2KconfigMakefilenlsKconfigMakefilenotifyKconfigMakefilednotifyKconfigMakefilefanotifyKconfigMakefileinotifyKconfigMakefilentfsKconfigMakefileocfs2KconfigMakefileclusterMakefiledlmMakefiledlmfsMakefileomfsKconfigMakefileopenpromfsMakefileorangefsKconfigMakefileoverlayfsKconfigMakefileprocKconfigMakefilepstoreKconfigMakefileqnx4KconfigMakefileqnx6KconfigMakefilequotaKconfigMakefileramfsMakefilereiserfsKconfigMakefileromfsKconfigMakefilesquashfsKconfigMakefilesysfsKconfigMakefilesysvKconfigMakefiletracefsMakefileubifsKconfigMakefileudfKconfigMakefileufsKconfigMakefilexfsKconfigMakefileincludeacpiacbuffer.hacconfig.hacexcep.hacnames.hacoutput.hacpi.hacpi_bus.hacpi_drivers.hacpi_io.hacpi_lpat.hacpi_numa.hacpiosxf.hacpixf.hacrestyp.hactbl.hactbl1.hactbl2.hactbl3.hactypes.hacuuid.hapei.hbattery.hbutton.hcppc_acpi.hghes.hhed.hnfit.hpcc.hpdc_intel.hplatformacenv.hacenvex.hacgcc.hacgccex.hacintel.haclinux.haclinuxex.hprocessor.hreboot.hvideo.hasm-generic4level-fixup.h5level-fixup.hasm-offsets.hasm-prototypes.hatomic-instrumented.hatomic-long.hatomic.hatomic64.haudit_change_attr.haudit_dir_write.haudit_read.haudit_signal.haudit_write.hbarrier.hbitopsbitops-instrumented.hbitops.h__ffs.h__fls.harch_hweight.hatomic.hbuiltin-__ffs.hbuiltin-__fls.hbuiltin-ffs.hbuiltin-fls.hconst_hweight.hext2-atomic-setbit.hext2-atomic.hffs.hffz.hfind.hfls.hfls64.hhweight.hle.hlock.hnon-atomic.hsched.hbitsperlong.hbug.hbugs.hcache.hcacheflush.hchecksum.hcmpxchg-local.hcmpxchg.hcompat.hcurrent.hdelay.hdevice.hdiv64.hdma-contiguous.hdma-mapping.hdma.hearly_ioremap.hemergency-restart.herror-injection.hexec.hexport.hextable.hfb.hfixmap.hftrace.hfutex.hgetorder.hgpio.hhardirq.hhugetlb.hhw_irq.hhyperv-tlfs.hide_iops.hint-ll64.hio.hioctl.hiomap.hirq.hirq_regs.hirq_work.hirqflags.hkdebug.hkmap_size.hkprobes.hkvm_para.hkvm_types.hlinkage.hlocal.hlocal64.hmcs_spinlock.hmemory_model.hmm-arch-hooks.hmm_hooks.hmmiowb.hmmiowb_types.hmmu.hmmu_context.hmodule.hmshyperv.hmsi.hnuma.hpage.hparam.hparport.hpci.hpci_iomap.hpercpu.hpgalloc.hpgtable-nop4d-hack.hpgtable-nop4d.hpgtable-nopmd.hpgtable-nopud.hpgtable.hpgtable_uffd.hpreempt.hptrace.hqrwlock.hqrwlock_types.hqspinlock.hqspinlock_types.hresource.hseccomp.hsections.hsegment.hserial.hset_memory.hsignal.hsimd.hsizes.hspinlock.hstatfs.hstring.hswitch_to.hsyscall.hsyscalls.htermios-base.htermios.htimex.htlb.htlbflush.htopology.htrace_clock.huaccess.hunaligned.hunistd.huser.hvdsovsyscall.hvga.hvmlinux.lds.hvtime.hword-at-a-time.hxor.hclocksourcearm_arch_timer.hhyperv_timer.hpxa.hsamsung_pwm.htimer-sp804.htimer-ti-dm.hconfig64bit.h6lowpan.h8139cp.h8139too8139too.h8129.hac97bus.hacerwmi.hacerhdf.hacpiacpi.hac.hadxl.hapeiapei.heinj.herstdebug.hghes.hmemoryfailure.hpcieaer.hbattery.hbgrt.hbutton.hcmpc.hconfigfs.hcontainer.hcppclib.hcpufreqpss.hcustommethod.hdebug.hdebuggerdebugger.huser.hdock.hdptf.hecdebugfs.hextlog.hfan.hfpdt.hhed.hhmat.hhotplugcpu.hioapic.hmemory.hi2copregion.hipmi.hlegacytableslookup.hlpit.hnfit.hnuma.hpcislot.hplatformprofile.hprmt.hprocessorprocessor.haggregator.hcstate.hidle.hrevoverridepossible.hsbs.hsleep.hspcrtable.hsystempowerstatessupport.htableupgrade.htad.hthermalthermal.hrel.hvideo.hwatchdog.hwmi.hadvisesyscalls.haio.halim1535wdt.halim7101wdt.hallowdevcoredump.halterastapl.halx.hamdhsmp.hiommuiommu.hv2.hmemencrypt.hnb.hnuma.hphy.hpmc.hptdma.hsfhhid.hxgbexgbe.hhaveecc.hamigapartition.hamilorfkill.hapds9802als.haperturehelpers.happlegmux.hmfifastcharge.hproperties.haqtion.haquantiaphy.harchclocksourceinit.hcpuidlehaltpoll.hdefconfig.hdmaaddrt64bit.henablehugepagemigration.hmemoryhotplug.hhotremove.hsplitpmdptlock.hthpmigration.hhasacpitableupgrade.haddpages.hcachelinesize.hccplatform.hcpurelax.hdebugvirtual.hdevmemisallowed.helfrandomize.hfastmultiplier.hfilterpgprot.hforcedmaunencrypted.hfortifysource.hgcovprofileall.hgiganticpage.hkcov.hkexecpurgatory.hmemencrypt.hmembarriersynccore.hnonoverlappingaddressspace.hpkeys.hpmemapi.hptespecial.hrefcount.hsetdirectmap.hmemory.hsgchain.hstrictkernelrwx.hmodulerwx.hsynccorebeforeusermode.hsyscallwrapper.huaccessflushcache.hmcsafe.hubsansanitizeall.hzonedevice.hhavenmisafecmpxchg.hhibernationheader.hpossible.hmayhavepcfdc.hmighthaveacpipdc.hpcparport.hserio.hmmaprndbitsbits.hmax.hmin.hcompatbitsbits.hmax.hmin.hnrgpio.hprockcoretext.hrandom.hselectmemorymodel.hsparsememdefault.henable.hstackwalk.hsupportsacpi.hatomicrmw.hdebugpagealloc.hint128.hmemoryfailure.hnumabalancing.hoptimizedinlining.huprobes.hsuspendpossible.husebuiltinbswap.hcmpxchglockref.hmemremapprot.hqueuedrwlocks.hspinlocks.huseshighvmaflags.hpguncached.hwantbatchedunmaptlbflush.hcompatipcparseversion.hdefaultbpfjit.hgeneralhugetlb.hhugepmdshare.holdcompatipc.hwantsdynamictaskstruct.hthpswap.harmgicmaxnr.hasn1.hassociativearray.hasuslaptop.hnbwmi.hwmi.hasymmetrickeytype.hpublickeysubtype.hasynccore.hmemcpy.hpq.hraid6recov.htest.htxdma.hxor.hataata.hacpi.hbmdma.hgeneric.hpiix.hsff.hverboseerror.hathcommon.hdebug.hath10kath10k.hce.hdebug.hdebugfs.hpci.htracing.hath11kath11k.hdebug.hdebugfs.hpci.htracing.hath9kath9k.hahb.hbtcoexsupport.hcommoncommon.hdebug.hdebugfs.hhtc.hhw.hpci.hpcoem.hrfkill.hwow.hatl1.hatl1c.hatl1e.hatl2.hatmatm.hbr2684.hclip.hlane.hatomic64selftest.hauditaudit.harch.hauditsyscall.hauto.confauto.conf.cmdautofsfs.hautofs4fs.hauxiliarybus.hbacklightapple.hclassdevice.hlcdsupport.hlp855x.hballooncompaction.hbareudp.hbasefull.hsmall.hbcmnetphylib.hbcm7xxxphy.hbcm87xxphy.hbcmabcma.hdrivergmaccmn.hgpio.hpci.hhostpcipci.hpossible.hpossible.hbe2iscsi.hbe2netbe2net.hhwmon.hlancer.hskyhawk.hbfqcgroupdebug.hgroupiosched.hbigkeys.hbinaryprintf.hbinfmtelf.hmisc.hscript.hbitfieldkunittest.hbitreverse.hbitskunittest.hblkcgroupcgroup.hfcappid.hiolatency.hrwstat.hdebugfs.hdevdev.hbsg.hbsglib.hdmdm.hbuiltin.hinitrd.hintegrityintegrity.ht10.hiotrace.hlooploop.hmincount.hmd.hnbd.hnullblk.hnvme.hpmem.hramram.hcount.hsize.hrbd.hsd.hsr.hthrottling.hmqpci.hrdma.hvirtio.hpm.hscsirequest.hwbtwbt.hmq.hblockblock.hcompat.hbnx2.hbnx2xbnx2x.hsriov.hbnxtbnxt.hdcb.hfloweroffload.hhwmon.hsriov.hbonding.hbootprintkdelay.hbootparamhardlockuppanicpanic.hvalue.hhotplugcpu0.hhungtaskpanicvalue.hsoftlockuppanicvalue.hbounce.hbpfbpf.hevents.hjitjit.halwayson.hdefaulton.hkprobeoverride.hlsm.hstreamparser.hsyscall.hunprivdefaultoff.hbql.hbranchprofilenone.hbrcmfmacbrcmfmac.hpcie.hprotobcdc.hmsgbuf.hsdio.husb.hbrcmsmacbrcmsmac.hleds.hbrcmutil.hbridgebridge.hebt8023.hamong.harp.harpreply.hbroute.hdnat.hip.hip6.hlimit.hlog.hmarkmark.ht.hnflog.hpkttype.hredirect.hsnat.hstp.htfilter.hnat.hvlan.higmpsnooping.hnetfilter.hnfebtables.hvlanfiltering.hbroadcomphy.hbsddisklabel.hprocessacctacct.hv3.hbtbt.hath3k.hbcm.hbnepbnep.hmcfilter.hprotofilter.hbredr.hcmtp.hdebugfs.hhcibcm203x.hhcibfusb.hhcibpa10x.hhcibtsdio.hhcibtusbhcibtusb.hautosuspend.hbcm.hrtl.hhciuarthciuart.hath3k.hbcsp.hh4.hhcivhci.hhidp.hhs.hintel.hle.hmrvlmrvl.hsdio.hrfcommrfcomm.htty.hrtl.hbtree.hbtt.hbugbug.hondatacorruption.hbuildbin2c.hbuildtimeextablesort.hcachefiles.hcancan.h8devusb.hbcm.hccancan.hpci.hplatform.hcalcbittiming.hcc770cc770.hplatform.hdebugdevices.hdev.hemspci.husb.hesdusb2.hgw.hkvaserpci.husb.hleds.hpeakpci.hpciec.husb.hplxpci.hraw.hsja1000sja1000.hplatform.hslcan.hsofting.hucan.hvcan.hcapiavm.hcardbus.hcaviumptp.hcb710core.hdebugassumptions.hcccanlink.hhaskasangeneric.hreturnthunk.hsancovtracepc.hsanestackprotector.hsls.hstackprotectornone.hworkingnosanitizeaddress.hisgcc.hoptimizeforperformance.hcdromcdrom.hpktcdvdpktcdvd.hbuffers.hceccore.hplatformdrivers.hcephfsfs.hposixacl.hsecuritylabel.hliblib.hprettydebug.husednsresolver.hcfg80211cfg80211.hcrdasupport.hdebugfs.hdefaultps.hrequiresignedregdb.husekernelregdbkeys.hcfsbandwidth.hcgroupbpf.hcpuacct.hdebug.hdevice.hfreezer.hhugetlb.hnetclassid.hprio.hperf.hpids.hrdma.hsched.hwriteback.hcgroups.hchargersmb347.hchecksignature.hcheckpointrestore.hchelsioinlinecrypto.hipsecinline.hlib.ht4.ht4vf.htlsdevice.hchrdevsch.hsg.hst.hcicadaphy.hcifscifs.hallowinsecurelegacy.hdebug.hdfsupcall.hposix.hsmbdirect.hupcall.hweakpwhash.hxattr.hclangversion.hcleancache.hclkbldi8253.hclkdevlookup.hclkevti8253.hclocksourcevalidatelastcycle.hwatchdog.hclsu32mark.hperf.hclztab.hcmdlinekunittest.hcnic.hcommonclk.hcompaction.hcompallaptop.hcompatcompat.h32.h32bittime.hbinfmtelf.hforu64alignment.holdsigaction.hconfigfsfs.hconnector.hconsolelogleveldefault.hquiet.hpoll.htranslations.hconstructors.hcontextswitchtracer.htracking.hcontigalloc.hcordic.hcoredumpdefaultelfheaders.hcoredump.hcortinaphy.hcounter.hcpufreqfreq.hdefaultgovperformance.hgovattrset.hcommon.hconservative.hondemand.hperformance.hpowersave.hschedutil.huserspace.hstat.hibpbentry.hibrsentry.hidleidle.hgovhaltpoll.hmenu.hisolation.hrmap.hsupamd.hcentaur.hintel.hunretentry.hcpumaskoffstack.hcpusets.hcramfscramfs.hblockdev.hcrashcore.hdump.hcrcccitt.hitut.ht10dif.hcrc16.hcrc32crc32.hsliceby8.hcrc7.hcrc8.hcrossmemoryattach.hcryptocrypto.hacomp2.haead.haead2.haesaes.hniintel.hx8664.hakcipher.hakcipher2.halgapi.halgapi2.hansicprng.hanubis.harc4.hauthenc.hblkcipher.hblkcipher2.hblowfishblowfish.hcommon.hx8664.hcamelliacamellia.haesniavxx8664.havx2x8664.hx8664.hcastcommon.hcast5cast5.havxx8664.hcast6cast6.havxx8664.hcbc.hccm.hcfb.hchacha20chacha20.hx8664.hchacha20poly1305.hcmac.hcrc32crc32.hpclmul.hcrc32ccrc32c.hintel.hcrct10difcrct10dif.hpclmul.hcryptd.hctr.hcts.hdeflate.hdes.hdes3edex8664.hdevccpccp.hcrypto.hdd.hdebugfs.hchelsio.hnitroxnitrox.hcnn55xx.hpadlockpadlock.haes.hsha.hqatqat.h4xxx.hc3xxx.hc3xxxvf.hc62x.hc62xvf.hdh895xcc.hdh895xccvf.hspccp.hpsp.hdh.hdrbgdrbg.hctr.hhash.hhmac.hmenu.hecb.hecdh.hechainiv.hessiv.hfcrypt.hfipsfips.hname.hgcm.hgf128mul.hghashghash.hclmulniintel.hgluehelperx86.hhashhash.hinfo.hhash2.hhmac.hhw.hjitterentropy.hkhazad.hkpp.hkpp2.hlibarc4.hsha256.hlrw.hlzo.hmanager.hmanager2.hmcryptd.hmd4.hmd5.hmichaelmic.hnull.hnull2.hpcbc.hpcrypt.hpoly1305poly1305.hx8664.hrmd128.hrmd160.hrmd256.hrmd320.hrngrng.hdefault.hrng2.hrsa.hsalsa20.hseed.hseqiv.hserpentserpent.havxx8664.havx2x8664.hsse2x8664.hsha1sha1.hmb.hssse3.hsha256sha256.hmb.hssse3.hsha3.hsha512sha512.hmb.hssse3.hsimd.htea.htest.htgr192.htwofishtwofish.havxx8664.hcommon.hx866464.h3way.huseruser.hapiapi.haead.hhash.hrng.hskcipher.hvmac.hworkqueue.hwp512.hxcbc.hxts.hcsdsp.hcuse.hcyclades.hcypressfirmware.hdamondamon.hdbgfs.hpaddr.hreclaim.hvaddr.hdavicomphy.hdaxdax.hdriver.hdca.hdcachewordaccess.hdcb.hdcdbas.hdeaoc.hdebugatomicsleep.hbootparams.hbugverbose.hcredentials.hfs.hinfoinfo.hbtf.hdwarf4.hkernel.hkmemleakkmemleak.hdefaultoff.hmempoolsize.hlist.hlockalloc.hmemoryinit.hmutexes.hnotifiers.hobjectsobjects.henabledefault.hfree.hpercpucounter.hrcuhead.htimers.hwork.hpageref.hpagealloc.hpercpumaps.hrtmutexes.hrwsems.hsectionmismatch.hsg.hshirq.hspinlock.hstackusage.hvm.hwwmutexslowpath.hdecompressbzip2.hgzip.hlz4.hlzma.hlzo.hxz.hdefaultcubic.hfqcodel.hhostname.hhungtasktimeout.hiodelaytype.hmmapminaddr.hnetsch.hsecurityselinux.htcpcong.hdeferredstructpageinit.hdelllaptop.hrbtn.hrbu.hsmbiossmbios.hwmi.hsmo8800.hwmiwmi.haio.hdescriptor.hled.hsysman.hdetecthungtask.hdevcoredump.hdaxdax.hhmemhmem.hdevices.hpmempmem.hcompat.hdeviceprivate.hdevmem.hdevport.hdevtmpfsdevtmpfs.hmount.hdimlib.hdl2k.hdlcidlci.hmax.hdlmdlm.hdebug.hdmbioprison.hbufio.hcachecache.hsmq.hcrypt.hdebug.hdelay.hera.hflakey.hintegrity.hloguserspace.hwrites.hmirror.hmultipathmultipath.hhst.hioa.hql.hst.hpersistentdata.hraid.hsnapshot.hswitch.hthinprovisioning.huevent.hverity.hwritecache.hzero.hdmaacpi.hapidebugdebug.hsg.hcoherentpool.hengineengine.hraid.hops.hsharedbuffer.hvirtualchannels.hdmabufdebug.hdmadevicesdmadevices.hdebug.hvdebug.hdmardebug.hperf.htable.hdmatest.hdmidmi.hscanmachinenonefifallback.hsysfs.hdmiid.hdnet.hdnotify.hdnsresolver.hdoublefault.hdp83640phy.hdp83822phy.hdp83848phy.hdp83867phy.hdp83tc811phy.hdptfpower.hdql.hdrmdrm.hamdacp.hdcdc.hdcn.hamdgpuamdgpu.huserptr.hast.hbochs.hbridge.hbuddy.hcirrusqemu.hdisplaydphelper.hhdcphelper.hhdmihelper.hhelper.hdpauxchardev.hfbdevemulation.hoveralloc.hgemshmemhelper.hgma500.hi2cch7006.hsil164.hi915i915.hcaptureerror.hcompresserror.hfencetimeout.hforceprobe.hgvtgvt.hkvmgt.hheartbeatinterval.hmaxrequestbusywait.hpreempttimeout.hrequesttimeout.hstoptimeout.htimesliceduration.huserfaultautosuspend.huserptr.hkmshelper.hloadedidfirmware.hmgag200.hmipidsi.hnomodeset.hnouveaunouveau.hbacklight.hpanelpanel.hbridge.horientationquirks.hqxl.hradeonradeon.huserptr.hsched.httmttm.hhelper.hudl.hvboxvideo.hvirtiogpu.hvkms.hvmwgfxvmwgfx.hfbcon.hvramhelper.hdstcache.hdummydummy.hconsoleconsole.hcolumns.hrows.hdvba8293.haf9013.haf9033.hatbm8830.hau8522au8522.hdtv.hv4l.hav7110av7110.hir.hosd.hb2c2flexcopflexcop.hpci.husb.hbcm3510.hbt8xx.hbudgetbudget.hav.hci.hcore.hpatch.hcore.hcx22700.hcx22702.hcx24110.hcx24116.hcx24117.hcx24120.hcx24123.hcxd2099.hcxd2820r.hcxd2841er.hddbridge.hdib3000mb.hdib3000mc.hdib7000m.hdib7000p.hdib8000.hdm1105.hdrx39xyj.hdrxd.hdrxk.hds3000.hdummyfe.hdynamicminors.hec100.hfiredtvfiredtv.hinput.hgp8pskfe.hhopper.hisl6405.hisl6421.hisl6423.hix2505v.hl64781.hlg2160.hlgdt3305.hlgdt3306a.hlgdt330x.hlgs8gxx.hlnbh25.hlnbp21.hlnbp22.hm88ds3103.hm88rs2000.hmantis.hmaxadapters.hmb86a16.hmb86a20s.hmn88472.hmn88473.hmt312.hmt352.hmxl5xx.hnet.hngene.hnxt200x.hnxt6000.hor51132.hor51211.hpll.hpluto2.hpt1.hrtl2830.hrtl2832.hs5h1409.hs5h1411.hs5h1420.hs921.hsi2165.hsi2168.hsi21xx.hsp8870.hsp887x.hstb0899.hstb6000.hstb6100.hstv0288.hstv0297.hstv0299.hstv0367.hstv0900.hstv090x.hstv0910.hstv6110.hstv6110x.hstv6111.htc90522.htda10021.htda10023.htda10048.htda1004x.htda10071.htda10086.htda18271c2dd.htda665x.htda8083.htda8261.htda826x.hts2020.httusbbudget.hdec.htua6100.htunercx24113.hdib0070.hdib0090.hitd1000.husbusb.ha800.haf9005af9005.hremote.haf9015.haf9035.hanysee.hau6610.haz6007.haz6027.hce6230.hcinergyt2.hcxusb.hdib0700.hdib3000mc.hdibusbmb.hmc.hdigitv.hdtt200u.hdtv5100.hdw2102.hec168.hgl861.hgp8psk.hlme2510.hm920x.hmxl111sf.hnovatusb2.hopera1.hpctv452e.hrtl28xxu.htechnisatusb2.httusb2.humt010.hv2.hvp702x.hvp7045.hves1820.hves1x93.hzl10036.hzl10039.hzl10353.hdwdmacdmac.hcore.hpci.hdwmacintel.hdynamicdebug.hftraceftrace.hwithdirectcalls.hregs.hmemorylayout.hphysicalmask.hsigframe.he1000.he1000ee1000e.hhwts.hearlyprintkprintk.hdbgp.hefi.husbusb.hxdbc.hedacedac.hamd64.hatomicscrub.hdebug.hdecodemce.he752x.hghes.hi10nm.hi3000.hi3200.hi5000.hi5100.hi5400.hi7300.hi7core.hi82975x.hie31200.higen6.hlegacysysfs.hpnd2.hsbridge.hskx.hsupport.hx38.hedd.heeepclaptop.hwmi.heeprom93cx6.hlegacy.hmax6875.hefiefi.hdevpathparser.hesrt.hmixed.hpartition.hrci2table.hruntimemap.hwrappers.hsoftreserve.hstub.hvarsvars.hpstorepstore.hdefaultdisable.hefivarfs.helfcore.helfcore.henaethernet.henablemustcheck.henclosureservices.hencryptedkeys.henergymodel.henic.hepoll.hethernet.hethoc.hethtoolnetlink.heventtracing.heventfd.hevmevm.hattrfsuuid.hexportfsexportfs.hblockops.hext4debug.hfsfs.hposixacl.hsecurity.hkunittests.huseforext2.hextrafirmware.hf71808ewdt.hfailiotimeout.hmakerequest.hmmcrequest.hpagealloc.hfailover.hfailslab.hfairgroupsched.hfanotifyfanotify.haccesspermissions.hfatdefaultcodepage.hiocharset.hfs.hkunittest.hfaultinjectioninjection.hdebugfs.hfbfb.hbootvesasupport.hcfbcopyarea.hfillrect.himageblit.hcmdline.hdeferredio.hefi.hhyperv.hnotify.hsyscopyarea.hfillrect.hfops.himageblit.htileblitting.hvesa.hfcappid.hfcoefnic.hfhandle.hfibrules.hfilelocking.hfipssignatureselftest.hfirewirefirewire.hnet.hohci.hsbp2.hfirmwarememmap.hfixearlyconmem.hfixedphy.hfm10k.hfont8x16.h8x8.hsupport.hfortifysource.hframewarn.hframebufferconsoleconsole.hdeferredtakeover.hdetectprimary.hrotation.hfreezer.hfrontswap.hfsdaxdax.hpmd.hiomap.hmbcache.hposixacl.hfscachefscache.hobjectlist.hstats.hfsnotify.hftraceftrace.hmcountrecord.hsyscalls.hfujitsues.hlaptop.htablet.hfunctionerrorinjection.hgraphtracer.hprofiler.htracer.hfusedax.hfs.hfusionfusion.hlogging.hmaxsge.hsas.hspi.hfutexfutex.hpi.hfwattrclass.hcfgsysfs.hloaderloader.hsysfs.huserhelper.hgactprob.hgarp.hgccversion.hgenericallocator.hbugbug.hrelativepointers.hcalibratedelay.hclockeventsclockevents.hbroadcast.hminadjust.hcmosupdate.hcpucpu.hautoprobe.hvulnerabilities.hearlyioremap.hfindfirstbit.hgettimeofday.hhweight.hiomap.hirqdebugfs.heffectiveaffmask.hinjection.hmatrixallocator.hmigration.hprobe.hreservationmode.hshow.hisadma.hmsiirqirq.hdomain.hnetutils.hpciiomap.hpendingirq.hpinconf.hsmpidlethread.hstrncpyfromuser.hstrnlenuser.htimevsyscall.htracer.hvdsotimens.hgeneve.hgfs2fsfs.hlockingdlm.hgigasetbase.hcapi.hm101.hm105.hglob.hgpioacpi.hamdpt.hgeneric.hich.hsysfs.hviperboard.hgpiolibgpiolib.hfastpathlimit.hirqchip.hgraceperiod.hgrocells.hguptest.hgve.hhaltpollcpuidle.hhangchecktimer.hhardenedusercopyusercopy.hfallback.hhardirqsswresend.hhardlockupchecktimestamp.hdetectordetector.hperf.hhasdma.hiomem.hioportmap.hhaveacpiapeiapei.hnmi.halignedstructpage.harchauditsyscall.hcompatmmapbases.hhugevmap.hjumplabel.hkasankasan.hvmalloc.hkcsan.hkgdb.hmmaprndbits.hcompatbits.hnodedevgroup.hseccompfilter.hsoftdirty.hthreadstructwhitelist.htracehook.htransparenthugepagehugepage.hpud.huserfaultfdwp.hvmapstack.hwithinstackframes.hbootmeminfonode.hcrecordmcount.hclkclk.hprepare.hcmpxchgdouble.hlocal.hcontexttracking.hcopythreadtls.hdebugkmemleak.hdmacontiguous.hdynamicftraceftrace.hwithdirectcalls.hregs.hebpfjit.hefficientunalignedaccess.hexitthread.hfastgup.hfentry.hftracemcountrecord.hfunctionerrorinjection.hgraphtracer.htracer.hgccplugins.hgenericvdso.hhardenedusercopyallocator.hhardlockupdetectorperf.hhwbreakpoint.hide.hinteltxt.hioremapprot.hirqexitonirqstack.htimeaccounting.hkernelbzip2.hgzip.hlz4.hlzma.hlzo.hxz.hkprobeskprobes.honftrace.hkretprobes.hkvmkvm.hcpurelaxintercept.hdirtyring.heventfd.hirqbypass.hrouting.hirqchip.hirqfd.hmsi.hnopoll.hpfncache.hpmnotifier.hlivepatch.hmemorypresent.hmixedbreakpointsregs.hmmiotracesupport.hmodarchspecific.hmovepmd.hpud.hnetdsa.hnmi.hoprofile.hoptprobes.hpcspkrplatform.hperfeventsevents.hnmi.hregs.huserstackdump.hregsandstackaccessapi.hreliablestacktrace.hrseq.hschedavgirq.hsetuppercpuarea.hstackvalidation.hstackprotector.hsyscalltracepoints.huid16.hunstableschedclock.huserreturnnotifier.hvirtcpuaccountinggen.hhdlchdlc.hcisco.hfr.hppp.hraw.hhdmihdmi.hlpeaudio.hheaderscheck.hhibernatecallbacks.hhibernation.hhidhid.ha4tech.hacrux.halps.happle.happleir.hasus.haureal.hbatterystrength.hbelkin.hbetopff.hcherry.hchicony.hcmedia.hcorsair.hcypress.hdragonrise.helan.helecom.helo.hezkey.hgembird.hgeneric.hgfrm.hgreenasia.hgt683r.hgyration.hholtek.hhypervmouse.hicade.hite.hjabra.hkensington.hkeytouch.hkye.hlcpower.hled.hlenovo.hlogitechlogitech.hdj.hhidpp.hmagicmouse.hmicrosoft.hmonterey.hmultitouch.hnti.hntrig.hortek.hpantherlord.hpenmount.hpetalynx.hpicolcdpicolcd.hbacklight.hcir.hfb.hlcd.hleds.hpid.hplantronics.hprimax.hprodikeys.hrmi.hroccat.hsaitek.hsamsung.hsensoraccel3d.hals.hcustomsensor.hdevicerotation.hgyro3d.hhub.hhumidity.hiiocommon.htrigger.hinclinometer3d.hmagnetometer3d.hpress.hprox.htemp.hsmartjoyplus.hsony.hspeedlink.hsteelseries.hsunplus.hthingm.hthrustmaster.htivo.htopseed.htwinhan.huclogic.hwacom.hwaltop.hwiimote.hxinmo.hzeroplus.hzydacron.hhidraw.hhighrestimers.hhinic.hhisax163.h1tr6.havma1pcmcia.hbkma4t.hdiehldiva.helsa.henternowpci.heuro.hfritzpcipnp.hfritzpci.hgazel.hhfcpci.hsx.hhfc4s8s.hmaxcards.hnetjetnetjet.hu.hni1.hniccy.hnokeypad.hllc.hsendcomplete.hs0box.hsctquadro.hsedlbauer.hst5481.htelespci.hw6692.hhisttriggers.hhmemreporting.hhmmmirror.hhotplugcpu.hpcipci.hacpiacpi.hibm.hpcie.hshpc.hsmt.hhpaccel.hilo.hwatchdog.hwireless.hwmi.hhpethpet.hemulatertc.hmmap.htimer.hhpwdtnmidecoding.hhsaamdamd.hsvm.hhsudma.hhugetlbpage.hhugetlbfs.hhvcdriver.hirq.hxenxen.hfrontend.hhwconsole.hrandomrandom.hamd.hintel.htimeriomem.htpm.hvia.hvirtio.hhwlattracer.hhwmonhwmon.hvid.hhwpoisoninject.hhwspinlock.hhypervhyperv.hballoon.hiommu.hkeyboard.hnet.hstorage.htesting.htimer.hutils.hvsockets.hhypervisorguest.hhysdnhysdn.hcapi.hhzhz.h1000.hi2ci2c.halgobit.halgopca.hamd756amd756.hs4882.hamd8111.hboardinfo.hchardev.hcompat.hdesignwarebaytrail.hcore.hplatform.hdiolanu2c.hhelperauto.hhidacpi.hcore.hi801.hisch.hismt.hmlxcpld.hmuxmux.hmlxcpld.hnforce2nforce2.hs4985.hparportparport.hlight.hpcaplatform.hpiix4.hscmi.hsimtec.hsis96x.hsmbus.hstub.htinyusb.hvia.hviapro.hviperboard.hi40ei40e.hdcb.hi40evf.hi6300esbwdt.hi8253lock.hi8k.hia32emulation.hfeatctl.hiavf.hib700wdt.hibmasr.hiceice.hhwts.hswitchdev.hicplusphy.hideapadlaptop.hidlepagetracking.hie6xxwdt.hieee802154ieee802154.h6lowpan.hdrivers.hfakelb.hsocket.hifb.hifcvf.higbigb.hdca.hhwmon.higbvf.higc.hiioiio.hbuffer.hconsumerspertrigger.hkfifobuf.htrigger.htriggeredbuffer.hikheaders.hillegalpointervalue.himaima.happraiseappraise.hbootparam.hmodsig.harchpolicy.hdefaulthashhash.hsha256.htemplate.hlsmrules.hmeasurepcridx.hreadpolicy.hsecureandortrustedboot.hsigtemplate.htrustedkeyring.hwritepolicy.hinetinet.hah.hdiag.hespesp.hoffload.hespintcp.hipcomp.hmptcpdiag.hrawdiag.hsctpdiag.htcpdiag.htunnel.hudpdiag.hxfrmtunnel.hinet6ah.hespesp.hoffload.hespintcp.hipcomp.htunnel.hxfrmtunnel.hinfinibandinfiniband.haddrtranstrans.hconfigfs.hbnxtre.hcxgb4.hefa.hhfi1.hipoibipoib.hcm.hdebug.hirdma.hiser.hisert.hondemandpaging.hopavnic.hqedr.hrdmavt.hsrp.hsrpt.huseraccess.hmad.hmem.husnic.hvirtdma.hvmwarepvrdma.hinitenvarglimit.hinitramfssource.hinotifyuser.hinputinput.hapanel.hatiremote2.hatlasbtns.hcm109.hevdev.hffmemless.hgp2a.hgpiorotaryencoder.hjoydev.hkeyboard.hkeyspanremote.hleds.hmisc.hmouse.hmousedevmousedev.hscreenx.hy.hpcspkr.hpolldev.hpowermate.hsparsekmap.htablet.htouchscreen.huinput.hxenkbddevfrontend.hyealink.hinstructiondecoder.hint340xthermal.hintegrityintegrity.hasymmetrickeys.haudit.hplatformkeyring.hsignature.htrustedkeyring.hintelgtt.hhfithermal.hhidevent.hidle.hidma64.hidxdidxd.hbus.hperfmon.hsvm.hioatdma.hiommuiommu.hdebugfs.hfloppywa.hsvm.hips.hishhid.hishtpeclite.hmeimei.hme.hwdt.hoaktrail.hpchthermal.hpmccore.hpmtclass.hcrashlog.htelemetry.hpowerclamp.hqep.hraplrapl.hcore.hrst.hsdsi.hsocdtsiosfcore.hspeedselectinterface.htdxguest.hthth.hacpi.hgth.hmsu.hpci.hpti.hsth.hturbomax3.htxt.hvbtn.hvsec.hwmithunderbolt.hxwayphy.hintervaltree.hiodelay0x80.htype0x80.h0xed.hnone.hudelay.hioasid.hiommuapi.hdebugfs.hdefaultpassthrough.hdma.hiopgtable.hiova.hsupport.hsva.hionic.hioschedbfq.hiosfmbi.hipadvancedrouter.hfibtriestats.hmroutemroute.hcommon.hmultipletables.hmulticast.hmultipletables.hnfarpmangle.harpfilter.harptables.hfilter.hiptables.hmangle.hmatchah.hecn.hrpfilter.httl.hnat.hraw.hsecurity.htargetecn.hmasquerade.hnetmap.hredirect.hreject.hsynproxy.httl.hpimsmv1.hv2.hrouteclassid.hmultipath.hverbose.hsctp.hsetset.hbitmapip.hipmac.hport.hhaship.hipmac.hipmark.hipport.hipportip.hipportnet.hmac.hnet.hnetiface.hnetnet.hnetport.hnetportnet.hlistset.hmax.hvsvs.hdebug.hdh.hfo.hftp.hipv6.hlblc.hlblcr.hlc.hmhmh.htabindex.hnfct.hnq.hovf.hpesip.hprotoahah.hesp.hesp.hsctp.htcp.hudp.hrr.hsed.hshsh.htabbits.htabbits.hwlc.hwrr.hip6nffilter.hiptables.hmangle.hmatchah.heui64.hfrag.hhl.hipv6header.hmh.hopts.hrpfilter.hrt.hnat.hraw.hsecurity.htargetmasquerade.hnpt.hreject.hsynproxy.hipcns.hipmideviceinterface.hdmidecode.hhandler.hpanicevent.hstring.hplatdata.hpoweroff.hsi.hssif.hwatchdog.hipppfilter.hipv6ipv6.hgre.hmip6.hmroutemroute.hmultipletables.hmultipletables.hndiscnodetype.hoptimisticdad.hpimsmv2.hrouteinfo.hrouterpref.hsitsit.h6rd.htunnel.hvti.hipvlan.hipvtap.hirene.hfintek.higuana.himonimon.hdecoder.hraw.hitecir.hjvcdecoder.hmcekbddecoder.hmceusb.hnecdecoder.hnuvoton.hrc5decoder.hrc6decoder.hredrat3.hsanyodecoder.hserialserial.htransmitter.hsir.hsonydecoder.hstreamzap.httusbir.hwinbondcir.hirqbypassmanager.hdomaindomain.hhierarchy.hforcedthreading.hmsiiommu.hpoll.hremap.htimeaccounting.hwork.hisadmaapi.hiscsibootsysfs.hibftibft.hfind.htargettarget.hcxgb4.htcp.hisdnisdn.haudio.hcapicapi.hcapi20.hcapidrvcapidrv.hverbose.hmiddleware.hdiversion.hdrvavmb1b1pci.hb1pciv4.hc4.ht1pci.hgigaset.hhisax.hhdlc.hi4l.hmpp.hpppppp.hvj.httyfax.hisl29003.hisl29020.hiso9660fs.hit87wdt.hit8712fwdt.hitcovendorsupport.hwdt.hiwldvm.hiwlmvm.hiwlwifiiwlwifi.hdebug.hdebugfs.hdevicetracing.hleds.hopmodemodular.hixgbeixgbe.hdca.hdcb.hhwmon.hipsec.hixgbevfixgbevf.hipsec.hjbd2.hjoliet.hjumplabel.hkallsymskallsyms.habsolutepercpu.hall.hbaserelative.hkarmapartition.hkasankasan.hgeneric.hinline.hkunittest.hshadowoffset.hstack.hvmalloc.hkdbcontinuecatastrophic.hdefaultenable.hkeyboard.hkernelkernel.releasegzip.hkernfs.hkexeckexec.hbzimageverifysig.hcore.hfile.hjump.hsig.hkeyboardatkbd.hkeyskeys.hcompat.hkgdbkgdb.hkdb.hlowleveltrap.hserialconsole.htests.hkprobeevents.hkprobeskprobes.honftrace.hkretprobes.hksm.hkunitkunit.halltests.hdebugfs.hexampletest.htest.hkvmkvm.hamdamd.hsev.hasyncpf.hcompat.hexternalwritetracking.hgenericdirtylogreadprotect.hguest.hintel.hmmio.hvfio.hl2tpl2tp.hdebugfs.heth.hip.hv3.hlatencytop.hlcdclassdevice.hplatform.hledtriggerphy.hledsblinkm.hbrightnesshwchanged.hclass.hclevomail.hintelss4200.hlm3530.hlp3944.hlp5521.hlp5523.hlp5562.hlp55xxcommon.hlt3593.hmlxcpld.hmlxreg.htriggeraudio.hbacklight.hcamera.hdefaulton.hdisk.hgpio.hheartbeat.honeshot.htimer.htransient.htriggers.hlegacyvsyscallemulate.hlibcrc32c.hlibfc.hlibfcoe.hlibnvdimm.hlinearrangesranges.hkunittest.hliquidioliquidio.hvf.hlirc.hlistkunittest.hlivepatch.hllc.hloaduefikeys.hlocalversion.hlockdebuggingsupport.hdowninefisecureboot.hkernel.heventcounts.hspinonowner.hstat.htorturetest.hlockdlockd.hv4.hlockdeplockdep.hbits.hchainsbits.hcircularqueuebits.hstacktracebits.hhashbits.hsupport.hlockupdetector.hlogbufshift.hcpumaxbufshift.hlogitechff.hlogologo.hlinuxclut224.hloopbacktarget.hlpcich.hsch.hlsiet1011cphy.hlsmlsm.hmmapminaddr.hlwtunnellwtunnel.hbpf.hlxtphy.hlz4decompress.hlzocompress.hdecompress.hmacemumousebtn.hpartition.hmac80211mac80211.hdebugfs.hhasrc.hhwsim.hleds.hmessagetracing.hrcdefaultdefault.hminstrel.hminstrel.hstahashmaxsize.hmac802154.hmachzwdt.hmacintoshdrivers.hmacsec.hmacvlan.hmacvtap.hmagicsysrqsysrq.hdefaultenable.hserial.hmailbox.hmantiscore.hmappingdirtyhelpers.hmarvell10gphy.hphy.hmaxrawdevs.hmaxlineargphy.hmaxsmp.hmdmd.hautodetect.hcluster.hfaulty.hlinear.hraid0.hraid1.hraid10.hraid456.hmdiomdio.hbcmunimac.hbitbang.hbus.hcavium.hdevice.hmsccmiim.hthunder.hmediaalteraci.hanalogtvsupport.hattach.hcamerasupport.hcecsupport.hcommonoptions.hdigitaltvsupport.hpcisupport.hradiosupport.hsubdrvautoselect.hsupport.htunertuner.he4000.hfc0011.hfc0012.hfc0013.hfc2580.hit913x.hm88rs6000t.hmax2165.hmc44s803.hmt2060.hmt2063.hmt20xx.hmt2131.hmt2266.hmxl5005s.hmxl5007t.hqm1d1b0004.hqm1d1c0042.hqt1010.hr820t.hsi2157.hsimple.htda18212.htda18218.htda18250.htda18271.htda827x.htda8290.htda9887.htea5761.htea5767.htua9001.hxc2028.hxc4000.hxc5000.husbsupport.hmegaraidsas.hmellanoxplatform.hmemsoftdirty.hmembarrier.hmemcgmemcg.hkmem.hswap.hmemcpykunittest.hmemfdcreate.hmemoryballoon.hfailure.hhotplug.hhotremove.hisolation.hmemregion.hmemstickmemstick.hjmicron38x.hr592.hrealtekpci.husb.htifmms.hmessagelogleveldefault.hmfdcore.hintellpsslpss.hacpi.hpci.hsm501sm501.hgpio.hviperboard.hvx855.hmhibusbus.hpcigeneric.hmicrelks8995ma.hphy.hmicrochipphy.ht1phy.hmicrocodemicrocode.hamd.hintel.holdinterface.hmicrosemiphy.hmicrosoftmana.hmigration.hmii.hminixsubpartition.hmiscfilesystems.hrtsxrtsx.hpci.husb.hmisdnmisdn.havmfritz.hdsp.hhfcmulti.hhfcpci.hhfcusb.hinfineon.hipac.hisar.hl1oip.hnetjet.hspeedfax.hw6692.hmlxplatform.hwdt.hmlx4core.hdebug.henen.hdcb.hinfiniband.hmlx5bridge.hclsact.hcorecore.henen.hdcb.hipoib.henarfs.hipsec.hrxnfc.htls.heswitch.hfpga.hinfiniband.hmpfs.hsfsf.hmanager.hswsteering.htcct.hsample.hvdpavdpa.hnet.hmlxfw.hmlxreghotplug.hio.hmlxswcorecore.hhwmon.hthermal.hi2c.hminimal.hpci.hspectrumspectrum.hdcb.hswitchib.hswitchx2.hmmcmmc.hblockblock.hminors.hcb710.hcqhci.hrealtekpci.husb.hricohmmc.hsdhcisdhci.hacpi.hpci.hpltfm.htifmsd.hushc.hviasdmmc.hvub300.hmmconffam10h.hmmiotrace.hmmummu.hgathermergevmas.hrcutablefree.htablefree.hnotifier.hmodifyldtsyscall.hmoduleforceload.hsigsig.hall.hformat.hhash.hkey.hsha256.hsrcversionall.hunload.hmodulesmodules.htreelookup.huseelfrela.hmodversions.hmouseappletouch.hbcm5974.hcyapa.helani2ci2c.hi2c.hsmbus.hps2ps2.halps.hbyd.hcypress.helantechelantech.hsmbus.hfocaltech.hlifebook.hlogips2pp.hsentelic.hsmbus.hsynapticssynaptics.hsmbus.htrackpoint.hvmmouse.hserial.hsynapticsi2c.husb.hvsxxxaa.hmpilib.hmplsmpls.hiptunnel.hrouting.hmptcpmptcp.hipv6.hkunittest.hmqioscheddeadline.hkyber.hmrp.hmsdosfs.hpartition.hmsilaptop.hwmi.hmsproblock.hmt76connaclib.hcore.hleds.husb.hmt7601u.hmt76x0common.hmt76x02lib.husb.hmt76x0u.hmt76x2common.hmt76x2u.hmt7921common.hmt7921e.hmtdmtd.hblkdevs.hblock.hcfii1.hi2.hmapbankwidth1.h2.h4.hubiubi.hbeblimit.hwlthreshold.hmtrrmtrr.hsanitizersanitizer.henabledefault.hspareregnrdefault.hmultiuser.hmutexspinonowner.hmwifiexmwifiex.hpcie.hsdio.husb.hmxmwmi.hmyri10gemyri10ge.hdca.hngsm.hhdlc.hnamespaces.hnationalphy.hndblk.hbtt.hclaim.hpfn.hneeddmamapstate.hmultiplenodes.hpercpuembedfirstchunk.hpagefirstchunk.hsgdmalength.hnetnet.hactbpf.hcsum.hct.hgact.hmirred.hmpls.hnat.hpedit.hpolice.hsample.hsimp.hskbedit.hskbmod.htunnelkey.hvlan.hclscls.hact.hbasic.hbpf.hcgroup.hflow.hflower.hfw.hmatchall.hroute4.hrsvp.hrsvp6.htcindex.hu32.hcore.hdevlink.hdropmonitor.hegress.hematchematch.hcmp.hipset.hmeta.hnbyte.hstack.htext.hu32.hfailover.hfc.hflowlimit.hingress.hiptunnel.hipgreipgre.hbroadcast.hdemux.hipip.hipvti.hkeykey.hmigrate.hl3masterdev.hmplsgso.hns.hnsh.hpacketengine.hpktgen.hpollcontroller.hptpclassify.hredirect.hrxbusypoll.hschatm.hcbq.hcbs.hchoke.hcodel.hdefault.hdrr.hdsmark.hets.hfifo.hfqfq.hcodel.hgred.hhfsc.hhhf.hhtb.hingress.hmqprio.hmultiq.hnetem.hpie.hplug.hprio.hqfq.hred.hsfb.hsfq.htbf.hteql.hsched.hsockmsg.hswitchdev.htcskbext.hteamteam.hmodeactivebackup.hbroadcast.hloadbalance.hrandom.hroundrobin.hudptunnel.hvendoramazon.hamd.haquantia.hatheros.hbroadcom.hbrocade.hcavium.hchelsio.hcisco.hdec.hdlink.hemulex.hgoogle.hhuawei.hintel.hmellanox.hmicrosoft.hmyri.hnetronome.hoki.hpensando.hqlogic.hrealtek.hrocker.hsolarflare.hstmicro.hvrf.hnetconsolenetconsole.hdynamic.hnetdevices.hnetdevsim.hnetfilternetfilter.hadvanced.hconncount.hfamilyarp.hbridge.hingress.hnetlinknetlink.hgluect.hlog.hqueue.hsynproxy.hxtconnmark.hmark.hmatchaddrtype.hbpf.hcgroup.hcluster.hcomment.hconnbytes.hconnlabel.hconnlimit.hconnmark.hconntrack.hcpu.hdccp.hdevgroup.hdscp.hecn.hesp.hhashlimit.hhelper.hhl.hiprange.hipvs.hlength.hlimit.hmac.hmark.hmultiport.hosf.howner.hphysdev.hpkttype.hpolicy.hquota.hrateest.hrealm.hrecent.hsctp.hsocket.hstate.hstatistic.hstring.htcpmss.hu32.hnat.hset.htargetaudit.hchecksum.hclassify.hconnmark.hconnsecmark.hct.hdscp.hhl.hhmark.hidletimer.hlog.hmark.hnetmap.hnflog.hnfqueue.hnotrack.hrateest.hredirect.hsecmark.htcpmss.htcpoptstrip.htee.htproxy.htrace.hxtables.hnetlabel.hnetlinkdiag.hnetpoll.hnetworkfilesystems.hphytimestamping.hsecmark.hnetxennic.hnewleds.hnfconntrackconntrack.hamanda.hbroadcast.hevents.hftp.hh323.hirc.hlabels.hmark.hnetbiosns.hpptp.hprocfs.hsane.hsecmark.hsip.hsnmp.htftp.htimeout.htimestamp.hzones.hctnetlinknetlink.hhelper.htimeout.hprotodccp.hgre.hsctp.hudplite.hdefragipv4.hipv6.hdupipv4.hipv6.hnetdev.hflowtabletable.hinet.hipv4.hipv6.hlogarp.hipv4.hipv6.hsyslog.hnatnat.hamanda.hftp.hh323.hirc.hmasquerade.hneeded.hpptp.hredirect.hsip.hsnmpbasic.htftp.hosf.hrejectipv4.hipv6.hsocketipv4.hipv6.htablestables.harp.hbridge.hinet.hipv4.hipv6.hnetdev.hset.htproxyipv4.hipv6.hnfpnfp.happabmnic.hflower.hdebug.hnfsaclsupport.hcommon.hdebug.hfs.hfscache.husekerneldns.hv3v3.hacl.hv4v4.h11.himplementationiddomain.h2.hsecuritylabel.hnfsdnfsd.hpnfs.hscsilayout.hv2acl.hv3v3.hacl.hv4v4.hsecuritylabel.hnftbridgereject.hcompat.hconnlimit.hcounter.hct.hdupipv4.hipv6.hnetdev.hfibfib.hinet.hipv4.hipv6.hnetdev.hflowoffload.hfwdnetdev.hhash.hlimit.hlog.hmasq.hnat.hnumgen.hobjref.hqueue.hquota.hredir.hrejectreject.hinet.hipv4.hipv6.hsocket.htproxy.hxfrm.hnitroenclaves.hnlattr.hnlmon.hnlsnls.hascii.hcodepage1250.h1251.h437.h737.h775.h850.h852.h855.h857.h860.h861.h862.h863.h864.h865.h866.h869.h874.h932.h936.h949.h950.hdefault.hiso88591.h13.h14.h15.h2.h3.h4.h5.h6.h7.h8.h9.hkoi8r.hu.hmacceltic.hcenteuro.hcroatian.hcyrillic.hgaelic.hgreek.hiceland.hinuit.hroman.hromanian.hturkish.hutf8.hnohzhz.hcommon.hfull.hnodesshift.hnoptracer.hnouveaudebugdebug.hdefault.hmmu.hpush.hnozomi.hnrcpuscpus.hdefault.hrangebegin.hend.hntbntb.hamd.hintel.hmsi.hnetdev.hperf.hpingpong.htool.htransport.hnumanuma.hbalancingbalancing.hdefaultenabled.hemu.hkeepmeminfo.hnvtco.hnvdimmdax.hkeys.hpfn.hnvmecore.hfabrics.hfc.hmultipath.hrdma.htargettarget.hfc.hfcloop.hloop.hrdma.htcp.htcp.hverboseerrors.hnvmem.hnvram.hnvswsn2201.hobjagg.hoidregistry.holdsigsuspend3.hopenvswitchopenvswitch.hgeneve.hgre.hvxlan.hoprofileoprofile.heventmultiplex.hnmitimer.hoptimizeinlining.hoptprobes.hosfpartition.hosnoisetracer.houtputformat.hoverlayfs.hpacketpacket.hdiag.hpadata.hpagecounter.hextension.howner.hpoisoning.hpool.hreporting.htableisolation.hpanasoniclaptop.hpaniconoopsvalue.htimeout.hparavirtparavirt.hclock.hspinlocks.htimeaccounting.hparman.hparportparport.h1284.hnotpc.hpc.hserial.hpartitionadvanced.hpcc.hpccard.hpcipci.hats.hdirect.hdomains.hhypervhyperv.hinterface.hiov.hlabel.hlocklessconfig.hmmconfig.hmsimsi.hirqdomain.hpasid.hpfstub.hpri.hquirks.hstub.hxen.hpciedpc.hecrc.hedr.hpme.hpcieaerpcieaer.hinject.hpcieaspmpcieaspm.hdefault.hpcieportbus.hpcipcwatchdog.hpcsxpcs.hpcspkrplatform.hperfeventsevents.hamdbrs.hpower.huncore.hintelcstate.hrapl.huncore.hpersistentkeyrings.hpgtablelevels.hphylib.hphylink.hphysaddrt64bit.hphysicalalign.hstart.hpidns.hpinconf.hpinctrlpinctrl.halderlake.hamd.hbaytrail.hbroxton.hcannonlake.hcedarfork.hdenverton.helkhartlake.hemmitsburg.hgeminilake.hicelake.hintel.hlewisburg.hsunrisepoint.htigerlake.hpinmux.hpkcs7messageparser.hpldmfw.hpluginhostcc.hpmpm.hadvanceddebug.hclk.hdebug.hgenericdomainsdomains.hsleep.hsleepsleep.hdebug.hsmp.hstdpartition.htracetrace.hrtc.hpmbus.hpmcatom.hpmicopregion.hpnfsblock.hfilelayout.hflexfilelayout.hpnp.hpnpacpi.hposixmqueuemqueue.hsysctl.htimers.hpowerreset.hsupply.hpowercap.hppdev.hpppppp.hasync.hbsdcomp.hdeflate.hfilter.hmppe.hmultilink.hsynctty.hpppoatm.hpppoe.hpppol2tp.hppspps.hclientgpio.hldisc.hparport.hpptp.hpreemptcount.hnotifiers.hvoluntary.hpreemptirqtracepoints.hpreventfirmwarebuild.hprintquotawarning.hprinter.hprintkprintk.hnmi.hsafelogbufshift.htime.hprobeevents.hprocchildren.hcpuresctrl.hevents.hfs.hkcore.hpagemonitor.hpidcpuset.hsysctl.hthermalmmiorapl.hvmcorevmcore.hdevicedump.hprofiling.hprovelocking.hrcu.hprovideohci1394dmainit.hpsample.hpsipsi.hdefaultdisabled.hpstorepstore.hcompresscompress.hdefault.hdeflatecompresscompress.hdefault.hram.hptp1588clockclock.hkvm.hvmw.hpvpanic.hpwmpwm.hdwc.hlpsslpss.hpci.hplatform.hsysfs.hqcomqmihelpers.hqedqed.hfcoe.hiscsi.hll2.hooo.hrdma.hsriov.hqede.hqedf.hqedi.hqfmtv2.hqla3xxx.hqrtrqrtr.hmhi.hqsemiphy.hqueuedrwlocks.hspinlocks.hquotaquota.hdebug.hnetlinkinterface.htree.hquotactlquotactl.hcompat.hr8169.hradioadapters.htea575x.hraidattrs.hraid6pqpq.hbenchmark.hrandomtrustcpu.hrandom32selftest.hrandomizebase.hmemorymemory.hphysicalpadding.hras.hrational.hrawdriver.hrcatiremote.hcore.hdecoders.hdevices.hloopback.hmap.hrcucpustalltimeout.hneedsegcblist.hnocbcpu.hstallcommon.htorturetest.hrdbzip2.hgzip.hlz4.hlzma.hlzo.hxz.hrdmarxe.hsiw.hrealtekautopm.hphy.hreedsolomonsolomon.hdec8.henc8.hregmapregmap.hi2c.hirq.hsoundwiresoundwire.hmbq.hspi.hrelay.hrelocatable.hrenesasphy.hresetcontroller.hresourcekunittest.hrethunk.hretpoline.hrfkillrfkill.hinput.hleds.hrfsaccel.hrheldifferences.hringbufferbuffer.hallowswap.hbenchmark.hrmi42dsensor.hcore.hf03f03.hserio.hf11.hf12.hf30.hf34.hf3a.hf55.hi2c.hsmb.hspi.hrockchipphy.hrocker.hrpcsecgsskrb5.hrps.hrseq.hrtgroupsched.hmutexes.hrt2800liblib.hmmio.hrt2800pcirt2800pci.hrt3290.hrt33xx.hrt35xx.hrt53xx.hrt2800usbrt2800usb.hrt33xx.hrt3573.hrt35xx.hrt53xx.hrt55xx.hunknown.hrt2x00rt2x00.hliblib.hcrypto.hdebugfs.hfirmware.hleds.hmmio.hpci.husb.hrtcclass.hdrvbq32k.hbq4802.hcmos.hds1286.hds1307.hds1374.hds1511.hds1553.hds1672.hds1742.hds2404.hds3232ds3232.hhwmon.hem3027.hfm3130.hisl12022.hisl1208.hm41t80m41t80.hwdt.hm48t35.hm48t59.hmax6900.hmsm6242.hpcf8523.hpcf8563.hpcf8583.hrp5c01.hrs5c372.hrv3029c2.hrx4581.hrx8025.hrx8581.hstk17ta8.hv3020.hx1205.hhctosyshctosys.hdevice.hi2candspi.hintfdev.hproc.hsysfs.hlib.hmc146818lib.hnvmem.hsystohcsystohc.hdevice.hrtlcards.hrtl8188ee.hrtl8192ccommon.hrtl8192ce.hrtl8192cu.hrtl8192de.hrtl8192ee.hrtl8192se.hrtl8723common.hrtl8723ae.hrtl8723be.hrtl8821ae.hrtl8xxxu.hrtlbtcoexist.hrtlwifirtlwifi.hdebug.hpci.husb.hrtw88rtw88.h8822b.h8822be.h8822c.h8822ce.hcore.hdebug.hdebugfs.hpci.hrtw89rtw89.h8852a.h8852ae.hcore.hpci.hruntimetestingmenu.hrwsemspinonowner.hsamplevfiomdevmtty.hsamples.hsamsunglaptop.hq10.hsataahciahci.hplatform.hhost.hmobilelpmpolicy.hpmp.hsbcfitpc2watchdog.hsbitmap.hscftorturetest.hschedautogroup.hcluster.hdebug.hhrtick.hinfo.hmcmc.hprio.homitframepointer.hsmt.htracer.hschedstats.hscsiscsi.haacraid.hbnx2iscsi.hbnx2xfcoe.hchelsiofcoe.hconstants.hcxgb4iscsi.hdebug.hdhdh.halua.hemc.hhpsw.hrdac.hdma.henclosure.hfcattrs.hhpsa.hiscsiattrs.hlogging.hlowlevel.hlpfc.hmod.hmpi3mr.hmpt2sasmpt2sas.hmaxsge.hmpt3sasmpt3sas.hmaxsge.hnetlink.hprocfs.hqlafc.hiscsi.hsasata.hattrs.hhostsmp.hlibsas.hscanasync.hsmartpqi.hspiattrs.hsrpattrs.hvirtio.hsctpcookiehmacmd5.hsha1.hdefaultcookiehmacsha1.hsdiouart.hseccompseccomp.hfilter.hsectionmismatchwarnonly.hsecuritysecurity.hinfiniband.hnetworknetwork.hxfrm.hpath.hselinuxselinux.havcstats.hbootparam.hcheckreqprotvalue.hdevelop.hdisable.hsid2strcachesize.hsidtabhashbits.hwritablehooks.hyama.hsecurityfs.hselectmemorymodel.hsensorsabituguru.habituguru3.hacpipower.had7414.had7418.hadm1021.hadm1025.hadm1026.hadm1029.hadm1031.hadm1275.hadm9240.hads1015.hads7828.hadt7410.hadt7411.hadt7462.hadt7470.hadt7475.hadt7x10.hamc6821.hamdenergy.hapds990x.happlesmc.hasb100.hasc7621.hatk0110.hatxp1.hbh1770.hcoretemp.hdellsmm.hdme1737.hds1621.hds620.hemc1403.hemc6w201.hf71805f.hf71882fg.hf75375s.hfam15hpower.hfschmd.hg760a.hgl518sm.hgl520sm.hhdaps.hi5500.hi5kamb.hibmaem.hibmpex.hina209.hina2xx.hit87.hjc42.hk10temp.hk8temp.hlineage.hlis3i2c.hlis3lv02d.hlm25066.hlm63.hlm73.hlm75.hlm77.hlm78.hlm80.hlm83.hlm85.hlm87.hlm90.hlm92.hlm93.hlm95234.hlm95241.hlm95245.hltc2978.hltc4151.hltc4215.hltc4245.hltc4261.hmax16064.hmax16065.hmax1619.hmax1668.hmax197.hmax34440.hmax6639.hmax6642.hmax6650.hmax6697.hmax8688.hmcp3021.hmlxregfan.hnct6775.hntcthermistor.hpc87360.hpc87427.hpcf8591.hpmbus.hsch5627.hsch5636.hsch56xxcommon.hsht15.hsht21.hsis5595.hsmsc47b397.hsmsc47m1.hsmsc47m192.hthmc50.htmp102.htmp401.htmp421.htsl2550.hucd9000.hucd9200.hviacputemp.hvia686a.hvt1211.hvt8231.hw83627ehf.hw83627hf.hw83781d.hw83791d.hw83792d.hw83793.hw83795.hw83l785ts.hw83l786ng.hzl6100.hserial82508250.hconsole.hdma.hdw.hdwlib.hexar.hextended.hlpss.hmanyports.hmid.hnruarts.hpci.hpnp.hrsa.hruntimeuarts.hshareirq.harcarc.hnrports.hcorecore.hconsole.hearlycon.hjsm.hmultiinstantiate.hnonstandard.hserioserio.halteraps2.harcps2.hi8042.hlibps2.hraw.hserport.hsevguest.hsfcsfc.hmcdilogging.hmon.hmtd.hsienasiena.hmcdilogging.hmon.hmtd.hsriov.hsriov.hsfi.hsgpool.hsgetmasksyscall.hsgigru.hioc4.hpartition.hxp.hsglalloc.hshmem.hshufflepageallocator.hsignalfd.hsignature.hsignedpefileverification.hskbextensions.hslabfreelisthardened.hrandom.hslhc.hslipslip.hcompressed.hsmart.hsls.hslubslub.hcpupartial.hdebug.hkunittest.hsmp.hsmssdiodrv.hsianomdtv.hrc.husbdrv.hsmscphy.hsch311xwdt.hsndsnd.hac97codec.hpowersavesave.hdefault.had1889.hali5451.haloop.hamdacpconfig.hasihpi.hatiixpatiixp.hmodem.hau8810.hau8820.hau8830.hbcd2000.hbebob.hbt87x.hca0106.hcmipci.hcompressoffload.hcs46xxcs46xx.hnewdsp.hctldebug.hfastlookup.hinputvalidation.hled.hctxfi.hdarla20.hdarla24.hdebug.hdice.hdmasgbuf.hdrivers.hdummy.hdynamicminors.hecho3g.hemu10k1emu10k1.hseq.hemu10k1x.hens1370.hens1371.hes1968es1968.hinput.hradio.hfireface.hfirewirefirewire.hdigi00x.hlib.hmotu.htascam.hfireworks.hgina20.hgina24.hhdahda.hcodecanalog.hca0110.hca0132ca0132.hdsp.hcirrus.hcmedia.hconexant.hcs8409.hhdmi.hrealtek.hsi3054.hsigmatel.hvia.hcomponent.hcore.hcsdspcontrols.hdsploader.hextcore.hgenericgeneric.hleds.hhwdep.hi915.hinputbeepbeep.hmode.hintel.hpatchloader.hpowersavedefault.hpreallocsize.hreconfig.hscodeccs35l41cs35l41.hi2c.hspi.hhdsp.hhdspm.hhrtimer.hhwdep.hice1712.hice1724.hindigo.hindigodj.hindigodjx.hindigoio.hindigoiox.hinteldspconfig.hnhlt.hsoundwireacpi.hintel8x0.hintel8x0m.hisight.hjackjack.hinputdev.hkorg1212.hlayla20.hlayla24.hlola.hlx6464es.hmaestro3maestro3.hinput.hmaxcards.hmia.hmixart.hmona.hmpu401mpu401.huart.hmtpav.hopl3liblib.hseq.hossemul.hoxfw.hoxygenoxygen.hlib.hpci.hpcmpcm.held.htimer.hxrundebug.hpcsp.hpcxhr.hprocfs.hrawmidi.hrme32.hrme96.hrme9652.hseqdevice.hdummy.hhrtimerdefault.hmidimidi.hemul.hevent.hvirmidi.hsequencersequencer.hoss.hsocsoc.hacpiacpi.hintelmatch.hamdacp5x.hacp6x.hrenoirrenoir.hmach.hvangoghmach.hycmach.hcompress.hcs35l41cs35l41.hi2c.hlib.hspi.hcx2072x.hda7213.hda7219.hdmic.hes8316.hhda.hhdachda.hhdmi.hi2candspi.hintelapl.havs.hbdwrt5650mach.hrt5677mach.hbroadwellmach.hbxtda7219max98357acommon.hmach.hrt298mach.hbytchtcx2072xmach.hda7213mach.hes8316mach.hnocodecmach.hbytcrrt5640mach.hrt5651mach.hcatpt.hcfl.hchtbswmax98090timach.hnau8824mach.hrt5645mach.hrt5672mach.hcmlh.hlplp.hda7219max98357amach.hcnl.hda7219max98357ageneric.hehlrt5660mach.hglkglk.hda7219max98357amach.hrt5682max98357amach.hhaswellmach.hhdadspcommon.hkblkbl.hda7219max98357amach.hmax98927mach.hrt5660mach.hrt5663max98927mach.hrt5514max98927mach.hmach.hsklskl.hhdadspgenericmach.hnau88l25max98357amach.hssm4567mach.hrt286mach.hskylakeskylake.hcommon.hfamily.hsspclk.hsofcirruscommon.hcmlrt1011rt5682mach.hda7219max98373mach.hes8336mach.hmaximcommon.hnau8825mach.hpcm512xmach.hrealtekcommon.hrt5682mach.hsspampmach.hwm8804mach.hsoundwiresofmach.hsstsst.htoplevel.huserfriendlylongnames.hmax98090.hmax98357a.hmax98373max98373.hi2c.hsdw.hmax98390.hmax98927.hnau8821.hnau8824.hnau8825.hpcm512xpcm512x.hi2c.hrl6231.hrl6347a.hrt1011.hrt1015.hrt1015p.hrt1308rt1308.hsdw.hrt1316sdw.hrt1318sdw.hrt286.hrt298.hrt5514rt5514.hspi.hrt5640.hrt5645.hrt5651.hrt5660.hrt5663.hrt5670.hrt5677rt5677.hspi.hrt5682rt5682.hi2c.hsdw.hrt5682s.hrt700rt700.hsdw.hrt711rt711.hsdcasdw.hsdw.hrt715rt715.hsdcasdw.hsdw.hsofsof.hacpiacpi.hdev.halderlake.hamdcommon.hrenoir.htoplevel.hapollolake.hbaytrail.hbroadwell.hcannonlake.hclient.hcoffeelake.hcometlake.hdebugprobes.helkhartlake.hgeminilake.hhdahda.haudiocodec.hcommon.hlinklink.hbaseline.hprobes.hicelake.hintelapl.hatomhifiep.hcnl.hcommon.hhifiepipc.hicl.hipc4.hmtl.hsoundwiresoundwire.hlinkbaseline.htgl.htoplevel.hipc3.hjasperlake.hmerrifield.hmeteorlake.hpcipci.hdev.hprobeworkqueue.htigerlake.htoplevel.hxtensa.hssm4567.htopologytopology.hkunittest.hts3a227e.hwmadsp.hwm8804wm8804.hi2c.hsstatomhifi2platformplatform.hacpi.hsynthemux.htimer.htrident.husbusb.h6fire.haudio.hcaiaqcaiaq.hinput.hhiface.hline6.hpod.hpodhd.htoneport.hua101.hus122l.husx2y.hvariax.hverboseprintk.hprocfs.hvia82xxvia82xx.hmodem.hvirmidi.hvirtio.hvirtuoso.hvmaster.hvxlib.hvx222.hx86.hxenfrontend.hsockcgroupdata.hvalidatexmit.hsoftwatchdog.hsoftlockupdetector.hsolarisx86partition.hsonyff.hlaptop.hsonypicompat.hsoundsound.hosscorecore.hpreclaim.hsoundwiresoundwire.hcadence.hgenericallocation.hintel.hsp5100tco.hsparseirq.hsparsememsparsemem.hextreme.hmanual.hvmemmapvmemmap.henable.hspeculationmitigations.hspispi.hamd.hmaster.hpxa2xxpxa2xx.hpci.hsplitptlockcpus.hsquashfssquashfs.hdecompmultipercpu.hfiledirect.hfragmentcachesize.hlzo.hxattr.hxz.hzlib.hsrcu.hssbpossible.hstacktracer.hvalidation.hstackdepot.hstackprotectorstackprotector.hstrong.hstacktracestacktrace.hsupport.hstandalone.hste10xp.hstmstm.hdummy.hprotobasic.hsyst.hsourceconsole.hftrace.hheartbeat.hstmmaceth.hstp.hstreamparser.hstrictdevmem.hkernelrwx.hmodulerwx.hstripasmsyms.hsunpartition.hsunrpcsunrpc.hbackchannel.hdebug.hgss.hxprtrdma.hsuspendsuspend.hfreezer.hswap.hswiotlb.hswphy.hsymbolicerrname.hsyncookies.hsyncfile.hsynclinksynclink.hgt.hsynclinkmp.hsyshypervisor.hsysctlsysctl.hexceptiontrace.hkunittest.hsysfssysfs.hsyscall.hsystemblacklisthashlist.hkeyring.hdataverification.htrustedkeyring.hkeys.hsysvipcsysvipc.hcompat.hsysctl.htabletserialwacom4.husbacecad.haiptek.hgtco.hkbtab.htap.htargetcore.htaskdelayacct.hioaccounting.hxacct.htasksrcurcu.hgeneric.hrudercu.htracercu.htaskstats.htcgatmel.hcrb.hinfineon.hnsc.htistis.hcore.hi2catmel.hinfineon.hnuvoton.hst33zp24st33zp24.hi2c.htpm.htcmfileio.hiblock.hpscsi.huser2.htcpcongadvanced.hbbr.hbic.hcubic.hdctcp.hhstcp.hhtcp.hhybla.hillinois.hlp.hnv.hscalable.hvegas.hveno.hwestwood.hyeah.hmd5sig.htdxguestdriver.htelclock.hteraneticsphy.htestbpf.hfpu.hhmm.hkstrtox.hlistsort.hlivepatch.hstringhelpers.hvmalloc.htextsearchtextsearch.hbm.hfsm.hkmp.hthermalthermal.hdefaultgovstepwise.hemergencypoweroffdelayms.hgovbangbang.hfairshare.hstepwise.huserspace.hhwmon.hnetlink.hwritabletrips.hthinkpadacpiacpi.halsasupport.hhotkeypoll.hvideo.hlmi.hthpswap.hthreadinfointask.htickoneshot.htifm7xx1.hcore.htigon3tigon3.hhwmon.htimens.htimerfd.htimerlattracer.htipctipc.hcrypto.hdiag.hmediaib.hudp.htlstls.hdevice.htmpfstmpfs.hposixacl.hxattr.htopstarlaptop.htorturetest.htoshibabtrfkill.htouchscreenelo.hproperties.hwacomi2c.hw8001.htraceclock.hirqflagsirqflags.hnminmi.hsupport.hsupport.htracepoints.htracermaxtrace.hsnapshot.htracingtracing.hmap.hsupport.htransparenthugepagehugepage.halways.htreercu.hsrcu.htristate.conftrustedkeys.httpcieeprom.htty.htun.htypectypec.hdpaltmode.hfusb302.hhd3ss3220.hmuxpi3usb30532.hrt1711h.hstusb160x.htcpci.htcpm.htps6598x.hucsi.hubsanubsan.hsanitizeall.hucs2string.hucsiacpi.hudffs.hueficpercper.hx86.huhid.huid16.huiouio.haec.hcif.hhvgeneric.hpcigeneric.hpdrvgenirq.hsercos3.huninlinespinunlock.hunixunix.hdiag.hscm.hunix98ptys.hunixwaredisklabel.hunwinderorc.huprobeevents.huprobes.husbusb.hacm.hadutux.halim5632.han2720.hannouncenewdevices.happledisplay.harchhashcd.harmlinux.hatm.hautosuspenddelay.hbelkin.hcatc.hcommon.hconngpio.hcxacru.hdefaultpersist.hehcihcd.hpci.hroothubtt.httnewsched.hemi26.hemi62.hepson2888.hezusbfx2.hfewinitretries.hftdielan.hgl860.hgspcagspca.hbenq.hconex.hcpia1.hetoms.hfinepix.hjeilinj.hjl2005bcd.hkonica.hmars.hmr97310a.hnw80x.hov519.hov534ov534.h9.hpac207.hpac7302.hpac7311.hse401.hsn9c2028.hsn9c20x.hsonixb.hsonixj.hspca1528.hspca500.hspca501.hspca505.hspca506.hspca508.hspca561.hsq905.hsq905c.hsq930x.hstk014.hstv0680.hsunplus.ht613.htopro.htv8532.hvc032x.hvicam.hxirlinkcit.hzc3xx.hhid.hhiddev.hhsicusb3503.hhso.hhwahcd.hidmouse.hiowarrior.hipheth.hisightfw.hkaweth.hkc2190.hlan78xx.hlcd.hld.hledtrig.hledstriggerusbport.hlegotower.hm5602.hmdc800.hmicrotek.hmon.hnetax88179178a.hax8817x.hcdceem.hmbim.hncm.hsubsetsubset.henable.hcdcether.hch9200.hcx82310eth.hdm9601.hdrivers.hgl620a.hhuaweicdcncm.hint51x1.hkalmia.hmcs7830.hnet1080.hplusb.hqmiwwan.hrndishost.hsmsc75xx.hsmsc95xx.hzaurus.hohcihcdhcd.hpci.hlittleendian.hpci.hpegasus.hprinter.hpulse8cec.hpwcpwc.hinputevdev.hrainshadowcec.hroleswitch.hrolesintelxhci.hrtl8150.hrtl8152.hs2255.hserialserial.haircable.hark3116.hbelkin.hch341.hconsole.hcp210x.hcyberjack.hcypressm8.hdebug.hdigiacceleport.hedgeportedgeport.hti.hempeg.hf8153x.hftdisio.hgarmin.hgeneric.hipaq.hipw.hir.hiuu.hkeyspankeyspan.hpda.hklsi.hkobilsct.hmctu232.hmos7715parport.hmos7720.hmos7840.hmxuport.hnavman.homninet.hopticon.hoption.hoti6858.hpl2303.hqcaux.hqt2.hqualcomm.hsafesafe.hpadded.hsierrawireless.hspcp8x5.hssu100.hsymbol.hti.hupd78f0730.hvisor.hwhiteheat.hwwan.hxircom.hxsensmt.hsevseg.hsierranet.hsisusbvga.hspeedtouch.hstkwebcam.hstoragestorage.halauda.hcypressatacb.hdatafab.heneub6250.hfreecom.hisd200.hjumpshot.hkarma.honetouch.hrealtek.hsddr09.hsddr55.husbat.hstv06xx.hsupport.htmc.huas.hueagleatm.huhcihcd.husbnet.huss720.hvideoclassclass.hinputevdev.hvl600.hwdm.hwusbwusb.hcbaf.hxhcidbgcap.hhcd.hpci.hplatform.hxusbatm.hzr364xx.husb4usb4.hnet.husbpcwatchdog.husepercpunumanodeid.huserns.hreturnnotifier.hstacktracesupport.huserfaultfd.hutsns.huvmmtimer.hsysfs.huwbuwb.hhwa.hi1480u.hwhci.hvdpavdpa.hsimsim.hblock.hnet.hveth.hvfatfs.hvfiovfio.hiommutype1.hmdevmdev.hdevice.hnoiommu.hpcipci.hintx.hmmap.hvirqfd.hvgaarbarb.hmaxgpus.hconsole.hswitcheroo.hvhostvhost.hiotlb.hmenu.hnet.hring.hvdpa.hvsock.hviawdt.hvideoau0828au0828.hv4l2.hbt848.hcs3308.hcs5345.hcs53l32a.hcx18cx18.halsa.hcx231xxcx231xx.halsa.hdvb.hrc.hcx2341x.hcx23885.hcx25840.hcx88cx88.halsa.hblackbird.hdvb.hmpeg.hdev.hem28xxem28xx.halsa.hdvb.hrc.hfbivtv.hhdpvr.hiri2c.hivtv.hm52790.hmsp3400.hpvrusb2pvrusb2.hdvb.hsysfs.hsaa6588.hsaa6752hs.hsaa711x.hsaa7127.hsaa7134saa7134.halsa.hdvb.hrc.hsaa7146saa7146.hvv.hsaa7164.hsaa717x.htda7432.htm6000tm6000.halsa.hdvb.htuner.htvaudio.htveeprom.hupd64031a.hupd64083.husbvision.hv4l2.hvp27smpx.hwm8739.hwm8775.hvideobufdmasg.hgen.hvmalloc.hvideobuf2core.hdmasg.hdvb.hmemops.hv4l2.hvmalloc.hvirtcpuaccountingaccounting.hgen.hdrivers.htobus.hvirtiovirtio.hballoon.hblk.hconsole.hfs.hinput.hmenu.hnet.hpcipci.hlegacy.hlib.hvdpa.hvsocketsvsockets.hcommon.hvirtualization.hvitessephy.hvlan8021q8021q.hgvrp.hmvrp.hvmeventcounters.hvmappfn.hstack.hvmd.hvmwareballoon.hpvscsi.hvmcivmci.hvsockets.hvmxnet3.hvpvdpa.hvsocketsvsockets.hdiag.hloopback.hvsockmon.hvtvt.hconsoleconsole.hsleep.hhwconsolebinding.hvxlan.hw83627hfwdt.hw83877fwdt.hw83977fwdt.hwan.hwantdevcoredump.hwatchdogwatchdog.hcore.hhandlebootenabled.hopentimeout.hsysfs.hwdatwdt.hwdtpci.hwireless.hwlanwlan.hvendorath.hbroadcom.hintel.hmarvell.hmediatek.hquantenna.hralink.hrealtek.hwmibmof.hx509certificateparser.hx86x86.h16bit.h5level.h6464.hacpinuma.hsmp.hacpicpufreqcpufreq.hcpb.hamdfreqsensitivity.hplatformdevice.hpstate.hbootparammemorycorruptioncheck.hcheckbioscorruption.hcmov.hcmpxchg64.hcpastatistics.hcpuresctrl.hcpuid.hdebugfpu.hdebugctlmsr.hdecoderselftest.hespfix64.hextendedplatform.hfeaturenames.hhvcallbackvector.hintellpss.hmemoryprotectionkeys.hpstate.htsxmodeoff.humip.hinternodecacheshift.hioapic.hl1cacheshift.hlocalapic.hmcemce.hamd.hinject.hintel.hthreshold.hmceloglegacy.hmemencrypt.hminimumcpufamily.hmpparse.hmsr.hneedrelocs.hp4clockmod.hpat.hpkgtempthermal.hplatformdevices.hdriversintel.hpmtimer.hpmemlegacylegacy.hdevice.hpowernowk8.hptdumpptdump.hcore.hrerouteforbrokenbootirqs.hsgxsgx.hkvm.hsmap.hspeedsteplib.hsupportsmemoryfailure.hthermalvector.htsc.huv.hvmxfeaturenames.hvsyscallemulation.hx2apic.hxarraymulti.hxdpsocketssockets.hdiag.hxenxen.hacpi.hautoxlate.hblkdevfrontend.hcompatxenfs.hdevevtchn.hefi.hfrontpgdirshbuf.hnetdevfrontend.hprivcmd.hpvhvmpvhvm.hsmp.hsaverestore.hsyshypervisor.htmem.hwdt.hxenbusfrontend.hxenfs.hxfrmxfrm.halgo.hespintcp.hinterface.hipcomp.hmigrate.hoffload.hstatistics.hsubpolicy.huser.hxfsfs.hposixacl.hquota.hwarn.hxilinxgmii2rgmii.hxorblocks.hxps.hxzdecdec.harm.harmthumb.hbcj.hia64.hpowerpc.hsparc.hx86.hyentayenta.henetune.ho2.hricoh.hti.htoshiba.hzbud.hzisofs.hzlibdeflate.hinflate.hzonedevice.hdma.hdma32.hzpool.hzramzram.hwriteback.hzsmalloczsmalloc.hstat.hzswap.hcryptoacompress.haead.haes.hakcipher.halgapi.harc4.hauthenc.hb128ops.hblowfish.hcast5.hcast6.hcast_common.hcbc.hchacha20.hcryptd.hcrypto_wq.hctr.hdes.hdh.hdrbg.hecdh.hengine.hgcm.hgf128mul.hghash.hhash.hhash_info.hhmac.hif_alg.hinternalacompress.haead.hakcipher.hgeniv.hhash.hkpp.hrng.hrsa.hscompress.hsimd.hskcipher.hkpp.hmcryptd.hmd5.hmorus1280_glue.hmorus640_glue.hmorus_common.hnull.hpadlock.hpcrypt.hpkcs7.hpoly1305.hpublic_key.hrng.hscatterwalk.hserpent.hsha.hsha1_base.hsha256_base.hsha3.hsha512_base.hskcipher.hsm3.hsm3_base.hsm4.hspeck.htwofish.hxts.hdrmdrm-backportREADME.txtlinuxmmu_notifier.hamd_asic_type.hbridgeanalogix_dp.hdw_hdmi.hdw_mipi_dsi.hmhl.hdisplaydrm_dp.hdrm_dp_aux_bus.hdrm_dp_dual_mode_helper.hdrm_dp_helper.hdrm_dp_mst_helper.hdrm_dsc.hdrm_dsc_helper.hdrm_hdcp.hdrm_hdcp_helper.hdrm_hdmi_helper.hdrm_scdc.hdrm_scdc_helper.hdrm_aperture.hdrm_atomic.hdrm_atomic_helper.hdrm_atomic_state_helper.hdrm_atomic_uapi.hdrm_audio_component.hdrm_auth.hdrm_blend.hdrm_bridge.hdrm_bridge_connector.hdrm_buddy.hdrm_cache.hdrm_client.hdrm_color_mgmt.hdrm_connector.hdrm_crtc.hdrm_crtc_helper.hdrm_damage_helper.hdrm_debugfs.hdrm_debugfs_crc.hdrm_device.hdrm_displayid.hdrm_drv.hdrm_edid.hdrm_encoder.hdrm_encoder_slave.hdrm_fb_cma_helper.hdrm_fb_helper.hdrm_file.hdrm_fixed.hdrm_flip_work.hdrm_format_helper.hdrm_fourcc.hdrm_framebuffer.hdrm_gem.hdrm_gem_atomic_helper.hdrm_gem_cma_helper.hdrm_gem_framebuffer_helper.hdrm_gem_shmem_helper.hdrm_gem_ttm_helper.hdrm_gem_vram_helper.hdrm_ioctl.hdrm_lease.hdrm_legacy.hdrm_managed.hdrm_mipi_dbi.hdrm_mipi_dsi.hdrm_mm.hdrm_mode_config.hdrm_mode_object.hdrm_modes.hdrm_modeset_helper.hdrm_modeset_helper_vtables.hdrm_modeset_lock.hdrm_module.hdrm_of.hdrm_panel.hdrm_pciids.hdrm_plane.hdrm_plane_helper.hdrm_prime.hdrm_print.hdrm_privacy_screen_consumer.hdrm_privacy_screen_driver.hdrm_privacy_screen_machine.hdrm_probe_helper.hdrm_property.hdrm_rect.hdrm_self_refresh_helper.hdrm_simple_kms_helper.hdrm_syncobj.hdrm_sysfs.hdrm_util.hdrm_utils.hdrm_vblank.hdrm_vblank_work.hdrm_vma_manager.hdrm_writeback.hgma_drm.hgpu_scheduler.hgud.hi2cch7006.hsil164.htda998x.hi915_component.hi915_drm.hi915_mei_hdcp_interface.hi915_pciids.hi915_pxp_tee_interface.hintel-gtt.hintel_lpe_audio.hspsc_queue.htask_barrier.httmttm_bo_api.httm_bo_driver.httm_caching.httm_device.httm_execbuf_util.httm_kmap_iter.httm_placement.httm_pool.httm_range_manager.httm_resource.httm_tt.hdt-bindingsarmux500_pm_domains.hbusti-sysc.hclkti-dra7-atl.hclockactions,s900-cmu.halphascale,asm9260.ham3.ham4.haspeed-clock.hat91.hath79-clk.haxg-aoclkc.haxg-clkc.haxis,artpec6-clkctrl.hbcm-cygnus.hbcm-ns2.hbcm-nsp.hbcm-sr.hbcm21664.hbcm281xx.hbcm2835-aux.hbcm2835.hberlin2.hberlin2q.hboston-clock.hclps711x-clock.hcortina,gemini-clock.hdm814.hdm816.hdra7.hefm32-cmu.hexynos-audss-clk.hexynos3250.hexynos4.hexynos5250.hexynos5260-clk.hexynos5410.hexynos5420.hexynos5433.hexynos5440.hexynos7-clk.hgxbb-aoclkc.hgxbb-clkc.hhi3516cv300-clock.hhi3519-clock.hhi3620-clock.hhi3660-clock.hhi6220-clock.hhip04-clock.hhistb-clock.hhix5hd2-clock.himx1-clock.himx21-clock.himx27-clock.himx5-clock.himx6qdl-clock.himx6sl-clock.himx6sll-clock.himx6sx-clock.himx6ul-clock.himx7d-clock.hjz4740-cgu.hjz4770-cgu.hjz4780-cgu.hlpc18xx-ccu.hlpc18xx-cgu.hlpc32xx-clock.hlsi,axm5516-clks.hmarvell,mmp2.hmarvell,pxa168.hmarvell,pxa1928.hmarvell,pxa910.hmaxim,max77620.hmaxim,max77686.hmaxim,max77802.hmeson8b-clkc.hmicrochip,pic32-clock.hmpc512x-clock.hmt2701-clk.hmt2712-clk.hmt6797-clk.hmt7622-clk.hmt8135-clk.hmt8173-clk.hnuvoton,npcm7xx-clock.homap4.homap5.hoxsemi,ox810se.hoxsemi,ox820.hpistachio-clk.hpxa-clock.hqcom,gcc-apq8084.hqcom,gcc-ipq4019.hqcom,gcc-ipq806x.hqcom,gcc-ipq8074.hqcom,gcc-mdm9615.hqcom,gcc-msm8660.hqcom,gcc-msm8916.hqcom,gcc-msm8960.hqcom,gcc-msm8974.hqcom,gcc-msm8994.hqcom,gcc-msm8996.hqcom,gcc-msm8998.hqcom,gcc-sdm845.hqcom,lcc-ipq806x.hqcom,lcc-mdm9615.hqcom,lcc-msm8960.hqcom,mmcc-apq8084.hqcom,mmcc-msm8960.hqcom,mmcc-msm8974.hqcom,mmcc-msm8996.hqcom,rpmcc.hqcom,rpmh.hqcom,videocc-sdm845.hr7s72100-clock.hr8a73a4-clock.hr8a7740-clock.hr8a7743-cpg-mssr.hr8a7745-cpg-mssr.hr8a77470-cpg-mssr.hr8a7778-clock.hr8a7779-clock.hr8a7790-clock.hr8a7790-cpg-mssr.hr8a7791-clock.hr8a7791-cpg-mssr.hr8a7792-clock.hr8a7792-cpg-mssr.hr8a7793-clock.hr8a7793-cpg-mssr.hr8a7794-clock.hr8a7794-cpg-mssr.hr8a7795-cpg-mssr.hr8a7796-cpg-mssr.hr8a77965-cpg-mssr.hr8a77970-cpg-mssr.hr8a77980-cpg-mssr.hr8a77990-cpg-mssr.hr8a77995-cpg-mssr.hrenesas-cpg-mssr.hrk3036-cru.hrk3066a-cru.hrk3128-cru.hrk3188-cru-common.hrk3188-cru.hrk3228-cru.hrk3288-cru.hrk3328-cru.hrk3368-cru.hrk3399-cru.hrockchip,rk808.hrv1108-cru.hs3c2410.hs3c2412.hs3c2443.hs5pv210-audss.hs5pv210.hsamsung,s2mps11.hsamsung,s3c64xx-clock.hsh73a0-clock.hsprd,sc9860-clk.hste-ab8500.hstih407-clks.hstih410-clks.hstih416-clks.hstih418-clks.hstm32fx-clock.hstm32h7-clks.hstm32mp1-clks.hstratix10-clock.hsun4i-a10-ccu.hsun4i-a10-pll2.hsun50i-a64-ccu.hsun50i-h6-ccu.hsun50i-h6-r-ccu.hsun5i-ccu.hsun6i-a31-ccu.hsun7i-a20-ccu.hsun8i-a23-a33-ccu.hsun8i-a83t-ccu.hsun8i-de2.hsun8i-h3-ccu.hsun8i-r-ccu.hsun8i-r40-ccu.hsun8i-v3s-ccu.hsun9i-a80-ccu.hsun9i-a80-de.hsun9i-a80-usb.htegra114-car.htegra124-car-common.htegra124-car.htegra186-clock.htegra194-clock.htegra20-car.htegra210-car.htegra30-car.hvf610-clock.hzx296702-clock.hzx296718-clock.hdisplaytda998x.hdmaat91.haxi-dmac.hjz4780-dma.hnbpfaxi.hsun4i-a10.hgpioaspeed-gpio.hgpio.hmeson-axg-gpio.hmeson-gxbb-gpio.hmeson-gxl-gpio.hmeson8-gpio.hmeson8b-gpio.htegra-gpio.htegra186-gpio.htegra194-gpio.huniphier-gpio.hi2ci2c.hiioadcfsl-imx25-gcq.hadi,ad5592r.hqcom,spmi-vadc.hinputgpio-keys.hinput.hlinux-event-codes.hti-drv260x.hinterrupt-controllerarm-gic.hirq-st.hirq.hmips-gic.hmvebu-icu.hledscommon.hleds-netxbig.hleds-ns2.hleds-pca9532.hleds-pca955x.hmailboxtegra186-hsp.hmediac8sectpfe.homap3-isp.htda1997x.htvp5150.hxilinx-vip.hmemorymt2701-larb-port.hmt8173-larb-port.htegra114-mc.htegra124-mc.htegra186-mc.htegra20-mc.htegra210-mc.htegra30-mc.hmfdarizona.has3722.hatmel-flexcom.hdbx500-prcmu.hmax77620.hpalmas.hqcom-rpm.hst-lpc.hstm32f4-rcc.hstm32f7-rcc.hstm32h7-rcc.hmipslantiq_rcu_gphy.hmuxmux.hnetmicrochip-lan78xx.hmscc-phy-vsc8531.hqca-ar803x.hti-dp83867.hti-dp83869.hphyphy-pistachio-usb.hphy-qcom-qusb2.hphy.hpinctrlam33xx.ham43xx.hat91.hbcm2835.hbrcm,pinctrl-stingray.hdm814x.hdra.hhisi.hkeystone.hmt6397-pinfunc.hmt65xx.hmt7623-pinfunc.hnomadik.homap.hpinctrl-tegra-xusb.hpinctrl-tegra.hqcom,pmic-gpio.hqcom,pmic-mpp.hr7s72100-pinctrl.hrockchip.hsamsung.hstm32-pinfunc.hsun4i-a10.hpowerimx7-power.hmt2701-power.hmt2712-power.hmt6797-power.hmt7622-power.hmt7623a-power.hmt8173-power.howl-s500-powergate.howl-s700-powergate.hpx30-power.hr8a7743-sysc.hr8a7745-sysc.hr8a77470-sysc.hr8a7779-sysc.hr8a7790-sysc.hr8a7791-sysc.hr8a7792-sysc.hr8a7793-sysc.hr8a7794-sysc.hr8a7795-sysc.hr8a7796-sysc.hr8a77965-sysc.hr8a77970-sysc.hr8a77980-sysc.hr8a77990-sysc.hr8a77995-sysc.hraspberrypi-power.hrk3036-power.hrk3128-power.hrk3228-power.hrk3288-power.hrk3328-power.hrk3366-power.hrk3368-power.hrk3399-power.htegra186-powergate.htegra194-powergate.hpwmpwm.hregulatormaxim,max77802.hresetaltr,rst-mgr-a10.haltr,rst-mgr-a10sr.haltr,rst-mgr-s10.haltr,rst-mgr.hamlogic,meson-axg-reset.hamlogic,meson-gxbb-reset.hamlogic,meson8b-clkc-reset.hamlogic,meson8b-reset.haxg-aoclkc.hcortina,gemini-reset.hgxbb-aoclkc.hhisi,hi6220-resets.himx7-reset.hmt2701-resets.hmt7622-reset.hmt8135-resets.hmt8173-resets.hoxsemi,ox810se.hoxsemi,ox820.hpistachio-resets.hqcom,gcc-apq8084.hqcom,gcc-ipq806x.hqcom,gcc-mdm9615.hqcom,gcc-msm8660.hqcom,gcc-msm8916.hqcom,gcc-msm8960.hqcom,gcc-msm8974.hqcom,mmcc-apq8084.hqcom,mmcc-msm8960.hqcom,mmcc-msm8974.hsnps,hsdk-reset.hstih407-resets.hstih415-resets.hstih416-resets.hstm32mp1-resets.hsun4i-a10-ccu.hsun50i-a64-ccu.hsun50i-h6-ccu.hsun50i-h6-r-ccu.hsun5i-ccu.hsun6i-a31-ccu.hsun8i-a23-a33-ccu.hsun8i-a83t-ccu.hsun8i-de2.hsun8i-h3-ccu.hsun8i-r-ccu.hsun8i-r40-ccu.hsun8i-v3s-ccu.hsun9i-a80-ccu.hsun9i-a80-de.hsun9i-a80-usb.htegra124-car.htegra186-reset.htegra194-reset.htegra210-car.hti-syscon.hsocqcom,apr.hqcom,gsbi.hrockchip,boot-mode.hzte,pm_domains.hsoundadi,adau1977.hapq8016-lpass.haudio-jack-events.hcs35l32.hcs42l42.hfsl-imx-audmux.hqcom,q6afe.hqcom,q6asm.hrt5640.hrt5651.hsamsung-i2s.htas2552.htlv320aic31xx.hspmispmi.hthermallm90.htegra124-soctherm.htegra186-bpmp-thermal.hthermal.hthermal_exynos.husbpd.hgeneratedasm-offsets.hautoconf.hbounds.hcompile.htimeconst.huapilinuxversion.hutsrelease.hkeysasymmetric-parser.hasymmetric-subtype.hasymmetric-type.hbig_key-type.hceph-type.hdns_resolver-type.hencrypted-type.hkeyring-type.hrxrpc-type.hsystem_keyring.htrusted-type.htrusted_tpm.huser-type.hkunitassert.htest-bug.htest.htry-catch.hkvmarm_arch_timer.harm_hypercalls.harm_pmu.harm_psci.harm_vgic.hiodev.hlinux8250_pci.ha.out.hacct.hacpi.hacpi_dma.hacpi_iort.hacpi_pmtmr.hadb.hadfs_fs.hadxl.haer.hagp_backend.hagpgart.hahci-remap.hahci_platform.haio.halarmtimer.haltera_jtaguart.haltera_uart.hambabus.hclcd-regs.hclcd.hkmi.hmmci.hpl022.hpl080.hpl08x.hpl093.hserial.hsp810.hamd-iommu.hanon_inodes.haperture.hapm-emulation.hapm_bios.happle-gmux.happle_bl.harch_topology.harm-cci.harm-smccc.harm_sdei.hascii85.hasn1.hasn1_ber_bytecode.hasn1_decoder.hassoc_array.hassoc_array_priv.hasync.hasync_tx.hata.hata_platform.hatalk.hath9k_platform.hatm.hatm_suni.hatm_tcp.hatmdev.hatmel-mci.hatmel-ssc.hatmel_pdc.hatmel_tc.hatomic.hattribute_container.haudit.haudit_arch.hauto_dev-ioctl.hauto_fs.hauxiliary_bus.hauxvec.haverage.havfvirtchnl.hb1pcmcia.hbacking-dev-defs.hbacking-dev.hbacklight.hbadblocks.hballoon_compaction.hbcd.hbch.hbcm47xx_nvram.hbcm47xx_sprom.hbcm47xx_wdt.hbcm963xx_nvram.hbcm963xx_tag.hbcmabcma.hbcma_driver_arm_c9.hbcma_driver_chipcommon.hbcma_driver_gmac_cmn.hbcma_driver_mips.hbcma_driver_pci.hbcma_driver_pcie2.hbcma_regs.hbcma_soc.hbinfmts.hbio.hbit_spinlock.hbitfield.hbitmap.hbitops.hbitrev.hbits.hblk-cgroup.hblk-mq-pci.hblk-mq-rdma.hblk-mq-virtio.hblk-mq.hblk-pm.hblk_types.hblkdev.hblkpg.hblktrace_api.hblockgroup_lock.hbma150.hbottom_half.hbpf-cgroup.hbpf-netns.hbpf.hbpf_lirc.hbpf_local_storage.hbpf_lsm.hbpf_trace.hbpf_types.hbpf_verifier.hbpfilter.hbpfptr.hbrcmphy.hbsearch.hbsg-lib.hbsg.hbtf.hbtf_ids.hbtree-128.hbtree-type.hbtree.hbtrfs.hbuffer_head.hbug.hbuild_bug.hbuildid.hbvec.hbyteorderbig_endian.hgeneric.hlittle_endian.hc2port.hcache.hcacheinfo.hcancore.hdevdev.hpeak_canfd.hled.hplatformcc770.hmcp251x.hrcar_can.hsja1000.hrx-offload.hskb.hcapability.hcb710.hcc_platform.hcciss_ioctl.hccp.hcdev.hcdrom.hcephauth.hbuffer.hceph_debug.hceph_features.hceph_frag.hceph_fs.hceph_hash.hcls_lock_client.hdebugfs.hdecode.hlibceph.hmdsmap.hmessenger.hmon_client.hmsgpool.hmsgr.hosd_client.hosdmap.hpagelist.hrados.hstring_table.hstriper.htypes.hcfag12864b.hcgroup-defs.hcgroup.hcgroup_rdma.hcgroup_subsys.hcirc_buf.hcleancache.hclkclk-provider.hclk.hat91_pmc.hclk-conf.hdavinci.hmmp.hmxs.hrenesas.hsunxi-ng.htegra.hti.hzynq.hclkdev.hclock_cooling.hclockchips.hclocksource.hcm4000_cs.hcma.hcmdline-parser.hcn_proc.hcnt32_to_63.hcoda.hcoda_psdev.hcompaction.hcompat.hcompat_time.hcompiler-clang.hcompiler-gcc.hcompiler-intel.hcompiler.hcompiler_types.hcompletion.hcomponent.hconcap.hconfigfs.hconnector.hconsole.hconsole_struct.hconsolemap.hconst.hcontainer.hcontainer_of.hcontext_tracking.hcontext_tracking_state.hcookie.hcordic.hcoredump.hcoresight-pmu.hcoresight-stm.hcoresight.hcount_zeros.hcounter.hcounter_enum.hcper.hcpu.hcpu_cooling.hcpu_pm.hcpu_rmap.hcpufeature.hcpufreq.hcpuhotplug.hcpuidle.hcpuidle_haltpoll.hcpumask.hcpuset.hcrash_core.hcrash_dump.hcrc-ccitt.hcrc-itu-t.hcrc-t10dif.hcrc16.hcrc32.hcrc32c.hcrc32poly.hcrc4.hcrc7.hcrc8.hcred.hcrushcrush.hhash.hmapper.hcrypto.hcryptohash.hcs5535.hctype.hcuda.hcxl_err.hcyclades.hdamon.hdavinci_emac.hdax.hdca.hdcache.hdccp.hdcookies.hdebug_locks.hdebugfs.hdebugobjects.hdecompressbunzip2.hgeneric.hinflate.hmm.hunlz4.hunlzma.hunlzo.hunxz.hdelay.hdelayacct.hdelayed_call.hdell-led.hdev_printk.hdevcoredump.hdevfreq-event.hdevfreq.hdevfreq_cooling.hdevice-mapper.hdevice.hdevice_cgroup.hdevpts_fs.hdigsig.hdim.hdio.hdirent.hdlm.hdlm_plock.hdm-bufio.hdm-dirty-log.hdm-io.hdm-kcopyd.hdm-region-hash.hdm9000.hdmadma-buf.hdma-contiguous.hdma-direct.hdma-direction.hdma-fence-array.hdma-fence-chain.hdma-fence-unwrap.hdma-fence.hdma-iommu.hdma-map-ops.hdma-mapping.hdma-resv.hdw.hhsu.hidma64.hipu-dma.hmmp-pdma.hpxa-dma.hqcom_bam_dma.hsprd-dma.hxilinx_dma.hdmaengine.hdmapool.hdmar.hdmi.hdnotify.hdns_resolver.hdqblk_qtree.hdqblk_v1.hdqblk_v2.hdrbd.hdrbd_genl.hdrbd_genl_api.hdrbd_limits.hds2782_battery.hdsalan9303.hdtlk.hdw_apb_timer.hdynamic_debug.hdynamic_queue_limits.hearlycpio.hecryptfs.hedac.hedd.hedma.heeprom_93cx6.heeprom_93xx46.hefi-bgrt.hefi.hefs_vh.heisa.helevator.helf-fdpic.helf-randomize.helf.helfcore-compat.helfcore.helfnote.henclosure.henergy_model.herr.herrname.herrno.herror-injection.herrqueue.herrseq.hetherdevice.hethtool.hethtool_netlink.heventfd.heventpoll.hevm.hexport.hexportfs.hext2_fs.hextable.hextconextcon-provider.hextcon.hextcon-adc-jack.hf2fs_fs.hf75375s.hfalloc.hfanotify.hfault-inject.hfb.hfbcon.hfcdevice.hfcntl.hfd.hfddidevice.hfdtable.hfec.hfile.hfilter.hfips.hfirewire.hfirmwarefirmware-map.hfirmware.hcirruscs_dsp.hwmfw.hintelstratix10-smc.hstratix10-svc-client.hmesonmeson_sm.hfixp-arith.hflat.hflex_array.hflex_proportions.hfmc-sdb.hfmc.hfont.hfpgaadi-axi-common.haltera-pr-ip-core.hfpga-bridge.hfpga-mgr.hfpga-region.hfreezer.hfrontswap.hfs.hfs_context.hfs_enet_pd.hfs_parser.hfs_pin.hfs_stack.hfs_struct.hfs_uart_pd.hfscache-cache.hfscache.hfscrypt.hfscrypt_notsupp.hfscrypt_supp.hfsi.hfslfsl-diu-fb.hbestcommata.hbestcomm.hbestcomm_priv.hfec.hgen_bd.hsram.hedac.hguts.hmc.hptp_qoriq.hfsl_devices.hfsl_hypervisor.hfsl_ifc.hfsldma.hfsnotify.hfsnotify_backend.hftrace.hftrace_irq.hfutex.hfwnode.hgameport.hgcd.hgenalloc.hgeneric-radix-tree.hgenetlink.hgenhd.hgenl_magic_func.hgenl_magic_struct.hgetcpu.hgfp.hglob.hgoldfish.hgpiogpio-pxa.hgpio.hconsumer.hdriver.hgpio-reg.hmachine.hgpio_keys.hhardirq.hhash.hhashtable.hhdlc.hhdlcdrv.hhdmi.hhid-debug.hhid-roccat.hhid-sensor-hub.hhid-sensor-ids.hhid.hhidden.hhiddev.hhidraw.hhighmem-internal.hhighmem.hhighuid.hhil.hhil_mlc.hhippidevice.hhmm.hhost1x.hhp_sdc.hhpet.hhrtimer.hhrtimer_defs.hhsihsi.hssi_protocol.hhtcpld.hhuge_mm.hhugetlb.hhugetlb_cgroup.hhugetlb_inline.hhw_breakpoint.hhw_random.hhwmon-sysfs.hhwmon-vid.hhwmon.hhwspinlock.hhyperv.hhypervisor.hi2c-algo-bit.hi2c-algo-pca.hi2c-algo-pcf.hi2c-dev.hi2c-mux.hi2c-pxa.hi2c-smbus.hi2c.hi8042.hi8253.hicmp.hicmpv6.hide.hidr.hieee80211.hieee802154.hif_arp.hif_bridge.hif_eql.hif_ether.hif_fddi.hif_frad.hif_link.hif_ltalk.hif_macvlan.hif_phonet.hif_pppol2tp.hif_pppox.hif_tap.hif_team.hif_tun.hif_tunnel.hif_vlan.higmp.hihex.hiioaccelkxcjk_1013.hadcad_sigma_delta.hstm32-dfsdm-adc.hbuffer-dma.hbuffer-dmaengine.hbuffer.hbuffer_impl.hcommoncros_ec_sensors_core.hssp_sensors.hst_sensors.hst_sensors_i2c.hst_sensors_spi.hconfigfs.hconsumer.hdacad5421.had5504.had5791.hmax517.hmcp4725.hdriver.hevents.hfrequencyad9523.hadf4350.hgyroitg3200.hhw-consumer.hiio.himuadis.hkfifo_buf.hmachine.hmagnetometerak8975.hsw_device.hsw_trigger.hsysfs.htimerstm32-lptim-trigger.hstm32-timer-trigger.htrigger.htrigger_consumer.htriggered_buffer.htriggered_event.htypes.hima.himx-media.hin.hin6.hindirect_call_wrapper.hinet.hinet_diag.hinetdevice.hinit.hinit_ohci1394_dma.hinit_task.hinitrd.hinotify.hinputinput-polldev.hinput.had714x.hadp5589.hadxl34x.has5011.hauo-pixcir-ts.hbu21013.hcma3000.hcy8ctmg110_pdata.hcyttsp.helan-i2c-ids.hgp2ap002a00f.hili210x.hkxtj9.hlm8333.hmatrix_keypad.hmt.hnavpoint.hsamsung-keypad.hsh_keysc.hsparse-keymap.htouchscreen.htps6507x-ts.hinstrumented.hintegrity.hintel-iommu.hintel-ish-client-if.hintel-pti.hintel-svm.hintel_rapl.hintel_th.hinterrupt.hinterval_tree.hinterval_tree_generic.hio-64-nonatomic-hi-lo.hio-64-nonatomic-lo-hi.hio-mapping.hio-pgtable.hio.hioasid.hioc3.hioc4.hiocontext.hiomap.hiommu-helper.hiommu.hiopoll.hioport.hioprio.hiosys-map.hiova.hip.hipack.hipc.hipc_namespace.hipmi-fru.hipmi.hipmi_smi.hipv6.hipv6_route.hirq.hirq_cpustat.hirq_poll.hirq_sim.hirq_work.hirqbypass.hirqchipirqchip.harm-gic-common.harm-gic-v3.harm-gic-v4.harm-gic.harm-vgic-info.harm-vic.hchained_irq.hingenic.hirq-bcm2836.hirq-omap-intc.hirq-partition-percpu.hirq-sa11x0.hmmp.hmxs.hversatile-fpga.hxtensa-mx.hxtensa-pic.hirqdesc.hirqdomain.hirqflags.hirqhandler.hirqnr.hirqreturn.hisa.hisapnp.hiscsi_boot_sysfs.hiscsi_ibft.hisdnisdn.hcapilli.hcapiutil.hhdlc.hisdn_divertif.hisdn_ppp.hisdnif.hisicom.hiversion.hjbd2.hjhash.hjiffies.hjournal-head.hjoystick.hjump_label.hjump_label_ratelimit.hjz4740-adc.hjz4780-nemc.hkallsyms.hkasan-checks.hkasan.hkbd_diacr.hkbd_kern.hkbuild.hkconfig.hkcore.hkcov.hkcsan-checks.hkcsan.hkdb.hkdebug.hkdev_t.hkern_levels.hkernel-page-flags.hkernel.hkernel_stat.hkernelcapi.hkernfs.hkexec.hkey-type.hkey.hkeyboard.hkfifo.hkgdb.hkhugepaged.hklist.hkmemleak.hkmod.hkmsg_dump.hkobj_map.hkobject.hkobject_ns.hkprobes.hkref.hks0108.hks8842.hks8851_mll.hksm.hkthread.hktime.hkvm_dirty_ring.hkvm_host.hkvm_irqfd.hkvm_para.hkvm_types.hl2tp.hlapb.hlatencytop.hlcd.hlcm.hled-class-flash.hled-lm3530.hleds-bd2802.hleds-lp3944.hleds-lp3952.hleds-pca9532.hleds-regulator.hleds-tca6507.hleds.hleds_pwm.hlibata.hlibfdt.hlibfdt_env.hlibgcc.hlibnvdimm.hlibps2.hlicense.hlightnvm.hlimits.hlinear_range.hlinkage.hlinkmode.hlinux_logo.hlis3lv02d.hlist.hlist_bl.hlist_lru.hlist_nulls.hlist_sort.hlivepatch.hllc.hllist.hlocal_lock.hlocal_lock_internal.hlockdbind.hdebug.hlockd.hnlm.hshare.hxdr.hxdr4.hlockdep.hlockdep_types.hlockref.hlog2.hlogic_pio.hlp.hlru_cache.hlsm_audit.hlsm_hook_defs.hlsm_hooks.hlz4.hlzo.hmISDNdsp.hmISDNhw.hmISDNif.hmailboxbrcm-message.hmailbox_client.hmailbox_controller.hmaple.hmarvell_phy.hmath64.hmax17040_battery.hmbcache.hmbus.hmc146818rtc.hmc6821.hmcb.hmdev.hmdio-bitbang.hmdio-gpio.hmdio-mux.hmdio.hmei_aux.hmei_cl_bus.hmem_encrypt.hmemblock.hmemcontrol.hmemfd.hmemory.hmemory_hotplug.hmempolicy.hmempool.hmemregion.hmemremap.hmemstick.hmfd88pm80x.h88pm860x.haat2870.hab3100.habx500abx500.hab8500-bm.hab8500-codec.hab8500-gpadc.hab8500-sysctrl.hab8500.hux500_chargalg.hac100.hadp5520.haltera-a10sr.harizonacore.hpdata.hregisters.has3711.has3722.hasic3.hatmel-hlcdc.haxp20x.hbcm590xx.hbd9571mwv.hcore.hcros_ec.hcros_ec_commands.hcros_ec_lpc_mec.hcros_ec_lpc_reg.hda8xx-cfgchip.hda903x.hda9052da9052.hpdata.hreg.hda9055core.hpdata.hreg.hda9062core.hregisters.hda9063core.hpdata.hregisters.hda9150core.hregisters.hdavinci_voicecodec.hdb8500-prcmu.hdbx500-prcmu.hdln2.hdm355evm_msp.hds1wm.hezx-pcap.hhi6421-pmic.hhi655x-pmic.hhtc-pasic3.himx25-tsadc.hintel_msic.hintel_soc_pmic.hintel_soc_pmic_bxtwc.hipaq-micro.hjanz.hkempld.hlm3533.hlochnagar.hlochnagar1_regs.hlochnagar2_regs.hlp3943.hlp873x.hlp87565.hlp8788-isink.hlp8788.hlpc_ich.hmax14577-private.hmax14577.hmax77620.hmax77686-private.hmax77686.hmax77693-common.hmax77693-private.hmax77693.hmax77843-private.hmax8907.hmax8925.hmax8997-private.hmax8997.hmax8998-private.hmax8998.hmc13783.hmc13892.hmc13xxx.hmcp.hmenelaus.hmotorola-cpcap.hmt6323core.hregisters.hmt6397core.hregisters.hmxs-lradc.hpalmas.hpcf50633adc.hbacklight.hcore.hgpio.hmbc.hpmic.hqcom_rpm.hrave-sp.hrc5t583.hrdc321x.hretu.hrk808.hrn5t618.hrt5033-private.hrt5033.hsamsungcore.hirq.hrtc.hs2mpa01.hs2mps11.hs2mps13.hs2mps14.hs2mps15.hs2mpu02.hs5m8763.hs5m8767.hsi476x-core.hsi476x-platform.hsi476x-reports.hsky81452.hsmsc.hsta2x11-mfd.hstm32-lptimer.hstm32-timers.hstmpe.hstw481x.hsun4i-gpadc.hsysconsyscon.hatmel-matrix.hatmel-mc.hatmel-smc.hatmel-st.hclps711x.himx6q-iomuxc-gpr.himx7-iomuxc-gpr.ht7l66xb.htc3589x.htc6387xb.htc6393xb.hti-lmu-register.hti-lmu.hti_am335x_tscadc.htmio.htps6105x.htps65010.htps6507x.htps65086.htps65090.htps65217.htps65218.htps6586x.htps65910.htps65912.htps68470.htps80031.htwl.htwl4030-audio.htwl6040.hucb1x00.hviperboard.hwl1273-core.hwm831xauxadc.hcore.hgpio.hirq.hotp.hpdata.hpmu.hregulator.hstatus.hwatchdog.hwm8350audio.hcomparator.hcore.hgpio.hpmic.hrtc.hsupply.hwdt.hwm8400-audio.hwm8400-private.hwm8400.hwm8994core.hgpio.hpdata.hregisters.hwm97xx.hmhi.hmhi_ep.hmic_bus.hmicrel_phy.hmicrochipphy.hmigrate.hmigrate_mode.hmii.hmii_timestamper.hmin_heap.hminmax.hmisc_cgroup.hmiscdevice.hmlx4cmd.hcq.hdevice.hdoorbell.hdriver.hqp.hsrq.hmlx5cq.hdevice.hdoorbell.hdriver.heq.heswitch.hfs.hfs_helpers.hmlx5_ifc.hmlx5_ifc_fpga.hmlx5_ifc_vdpa.hmpfs.hport.hqp.hrsc_dump.htransobj.hvport.hmm-arch-hooks.hmm.hmm_inline.hmm_types.hmm_types_task.hmman.hmmap_lock.hmmccard.hcore.hhost.hmmc.hpm.hsd.hsdhci-pci-data.hsdio.hsdio_func.hsdio_ids.hsh_mmcif.hslot-gpio.hmmdebug.hmmiotrace.hmmu_context.hmmu_notifier.hmmzone.hmnt_namespace.hmod_devicetable.hmodule.hmodule_signature.hmoduleloader.hmoduleparam.hmount.hmpage.hmpi.hmpls.hmpls_iptunnel.hmroute.hmroute6.hmroute_base.hmsdos_fs.hmsdos_partition.hmsg.hmsi.hmtdbbm.hblktrans.hcfi.hcfi_endian.hconcat.hdoc2000.hflashchip.hftl.hgen_probe.hinftl.hlatch-addr-flash.hlpc32xx_mlc.hlpc32xx_slc.hmap.hmtd.hmtdram.hnand-gpio.hnand.hnand_bch.hnand_ecc.hndfc.hnftl.honenand.honenand_regs.hpartitions.hpfow.hphysmap.hpismo.hplat-ram.hqinfo.hrawnand.hsh_flctl.hsharpsl.hspear_smi.hspi-nor.hsuper.hubi.hxip.hmutex.hmuxconsumer.hdriver.hmv643xx.hmv643xx_eth.hmv643xx_i2c.hmvebu-pmsu.hmxm-wmi.hn_r3964.hnamei.hnd.hnetnet.hinteli40e_client.hiidc.hnetdev_features.hnetdevice.hnetfilternetfilter.hipsetip_set.hip_set_bitmap.hip_set_comment.hip_set_counter.hip_set_getport.hip_set_hash.hip_set_list.hip_set_skbinfo.hip_set_timeout.hpfxlen.hnf_conntrack_amanda.hnf_conntrack_common.hnf_conntrack_dccp.hnf_conntrack_ftp.hnf_conntrack_h323.hnf_conntrack_h323_asn1.hnf_conntrack_h323_types.hnf_conntrack_irc.hnf_conntrack_pptp.hnf_conntrack_proto_gre.hnf_conntrack_sane.hnf_conntrack_sctp.hnf_conntrack_sip.hnf_conntrack_snmp.hnf_conntrack_tcp.hnf_conntrack_tftp.hnf_conntrack_zones_common.hnf_osf.hnfnetlink.hnfnetlink_acct.hx_tables.hxt_hashlimit.hxt_physdev.hnetfilter_arparp_tables.hnetfilter_bridgenetfilter_bridge.hebt_802_3.hebtables.hnetfilter_defs.hnetfilter_ingress.hnetfilter_ipv4netfilter_ipv4.hip_tables.hnetfilter_ipv6netfilter_ipv6.hip6_tables.hnetlink.hnetpoll.hnfs.hnfs3.hnfs4.hnfs_fs.hnfs_fs_i.hnfs_fs_sb.hnfs_iostat.hnfs_page.hnfs_xdr.hnfsacl.hnitro_enclaves.hnl802154.hnls.hnmi.hnode.hnodemask.hnospec.hnotifier.hns_common.hnsc_gpio.hnsproxy.hntb.hntb_transport.hnubus.hnuma.hnvme-fc-driver.hnvme-fc.hnvme-rdma.hnvme-tcp.hnvme.hnvmem-consumer.hnvmem-provider.hnvram.hobjagg.hobjtool.hof.hof_address.hof_clk.hof_device.hof_dma.hof_fdt.hof_gpio.hof_graph.hof_iommu.hof_irq.hof_mdio.hof_net.hof_pci.hof_pdt.hof_platform.hof_reserved_mem.hoid_registry.holpc-ec.homap-dma.homap-dmaengine.homap-gpmc.homap-iommu.homap-mailbox.homapfb.honce.hoom.hopenvswitch.hoprofile.hosq_lock.hoverflow.hpadata.hpage-flags-layout.hpage-flags.hpage-isolation.hpage_counter.hpage_ext.hpage_idle.hpage_owner.hpage_ref.hpage_reporting.hpageblock-flags.hpagemap.hpagevec.hpagewalk.hparman.hparport.hparport_pc.hparser.hpata_arasan_cf_data.hpatchkey.hpath.hpch_dma.hpci-acpi.hpci-ats.hpci-dma-compat.hpci-ecam.hpci-ep-cfs.hpci-epc.hpci-epf.hpci-p2pdma.hpci.hpci_hotplug.hpci_ids.hpcspcs-xpcs.hpda_power.hpe.hpercpu-defs.hpercpu-refcount.hpercpu-rwsem.hpercpu.hpercpu_counter.hperfarm_pmu.hperf_event.hperf_regs.hpersonality.hpfn.hpfn_t.hphonet.hphyphy.homap_control_phy.homap_usb.hphy-qcom-ufs.hphy-sun4i-usb.hphy.htegraxusb.hulpi_phy.hphy_fixed.hphy_led_triggers.hphylink.hpid.hpid_namespace.hpim.hpinctrlconsumer.hdevinfo.hmachine.hpinconf-generic.hpinconf.hpinctrl-state.hpinctrl.hpinmux.hpipe_fs_i.hpkeys.hpktcdvd.hpl320-ipc.hplatform_dataad5449.had5755.had5761.had7266.had7291.had7298.had7303.had7791.had7793.had7879.had7887.hadau17x1.hadp5588.hadp8860.hadp8870.hads1015.hads7828.hapds990x.harm-ux500-pm.hasoc-imx-ssi.hasoc-kirkwood.hasoc-mx27vis.hasoc-palm27x.hasoc-s3c.hasoc-s3c24xx_simtec.hasoc-ti-mcbsp.hasoc-ux500-msp.hat24.hat91_adc.hata-pxa.hata-samsung_cf.hatmel.hb53.hbcmgenet.hbd6107.hbh1770glc.hbrcmfmac.hbt-nokia-h4p.hclk-da8xx-cfgchip.hclk-davinci-pll.hclk-fch.hclk-integrator.hclk-u300.hcpuidle-exynos.hcrypto-atmel.hcrypto-ux500.hcyttsp4.hdavinci_asp.hdb8500_thermal.hdma-atmel.hdma-coh901318.hdma-dw.hdma-ep93xx.hdma-hsu.hdma-imx-sdma.hdma-imx.hdma-mmp_tdma.hdma-mv_xor.hdma-s3c24xx.hdma-ste-dma40.hdmtimer-omap.hds620.hdwc3-omap.hedma.hefm32-spi.hefm32-uart.hehci-sh.helm.hemif_plat.heth-netx.hfsa9480.hg762.hgpio-ath79.hgpio-davinci.hgpio-dwapb.hgpio-htc-egpio.hgpio-omap.hgpio-ts5500.hgpio_backlight.hgpmc-omap.hhsmmc-omap.hhwmon-s3c.hi2c-cbus-gpio.hi2c-davinci.hi2c-gpio.hi2c-imx.hi2c-mux-gpio.hi2c-mux-reg.hi2c-ocores.hi2c-omap.hi2c-pca-platform.hi2c-pxa.hi2c-s3c2410.hi2c-xiic.hina2xx.hintel-mid_wdt.hintel-spi.hinvensense_mpu6050.hiommu-omap.hirda-pxaficp.hirda-sa11x0.hisl9305.hitco_wdt.hkeyboard-pxa930_rotary.hkeyboard-spear.hkeypad-ep93xx.hkeypad-nomadik-ske.hkeypad-omap.hkeypad-pxa27x.hkeypad-w90p910.hkeyscan-davinci.hlcd-mipid.hleds-kirkwood-netxbig.hleds-kirkwood-ns2.hleds-lm355x.hleds-lm3642.hleds-lp55xx.hleds-omap.hleds-pca963x.hleds-s3c24xx.hlm3630a_bl.hlm3639_bl.hlm8323.hlp855x.hlp8727.hlp8755.hltc4245.hlv5207lp.hmacb.hmax197.hmax3421-hcd.hmax6639.hmax6697.hmax732x.hmcs.hmdio-bcm-unimac.hmdio-gpio.hmediacamera-mx2.hcamera-mx3.hcamera-pxa.hcoda.hmmp-camera.homap1_camera.homap4iss.hs5p_hdmi.hsi4713.hsii9234.hsoc_camera_platform.htimb_radio.htimb_video.hmfd-mcp-sa11x0.hmicrochip-ksz.hmlxcpld.hmlxreg.hmmc-davinci.hmmc-esdhc-imx.hmmc-mxcmmc.hmmc-omap.hmmc-pxamci.hmmc-s3cmci.hmmc-sdhci-s3c.hmmp_audio.hmmp_dma.hmouse-pxa930_trkball.hmtd-davinci-aemif.hmtd-davinci.hmtd-mxc_nand.hmtd-nand-omap2.hmtd-nand-pxa3xx.hmtd-nand-s3c2410.hmtd-orion_nand.hmv88e6xxx.hmv_usb.hnet-cw1200.hnfcmrvl.hntc_thermistor.hnxp-nci.homap-twl4030.homap-wd-timer.homap1_bl.homapdss.hpca953x.hpca954x.hpcf857x.hpcmcia-pxa2xx_viper.hphy-da8xx-usb.hpinctrl-single.hpixcir_i2c_ts.hpm33xx.hpwm_omap_dmtimer.hpxa2xx_udc.hpxa_sdhci.hregulator-haptic.hremoteproc-omap.hrtc-ds2404.hrtc-v3020.hs3c-hsotg.hs3c-hsudc.hsa11x0-serial.hsc18is602.hsdhci-pic32.hserial-imx.hserial-omap.hserial-sccnxp.hshmob_drm.hsht3x.hshtc1.hsi5351.hsimplefb.hsky81452-backlight.hspi-clps711x.hspi-davinci.hspi-ep93xx.hspi-imx.hspi-mt65xx.hspi-nuc900.hspi-omap2-mcspi.hspi-s3c64xx.hssm2518.hst33zp24.hst_sensors_pdata.hsyscon.htc35876x.htda9950.hti-aemif.hti-sysc.htouchscreen-s3c2410.htsc2007.htsl2563.htsl2772.huio_dmem_genirq.huio_pruss.husb-davinci.husb-ehci-mxc.husb-ehci-orion.husb-musb-ux500.husb-mx2.husb-ohci-pxa27x.husb-ohci-s3c2410.husb-omap.husb-omap1.husb-pxa3xx-ulpi.husb-s3c2410_udc.husb3503.hux500_wdt.hvideo-clcd-versatile.hvideo-ep93xx.hvideo-imxfb.hvideo-mx3fb.hvideo-nuc900fb.hvideo-pxafb.hvideo_s3c.hvoltage-omap.hwiznet.hwkup_m3.hx86apple.hclk-lpss.hclk-pmc-atom.hpmc_atom.hsoc.hzforce_ts.hplatform_device.hplatform_profile.hpldmfw.hplist.hpm-trace.hpm.hpm2301_charger.hpm_clock.hpm_domain.hpm_opp.hpm_qos.hpm_runtime.hpm_wakeirq.hpm_wakeup.hpmbus.hpmu.hpnfs_osd_xdr.hpnp.hpoison.hpoll.hposix-clock.hposix-timers.hposix_acl.hposix_acl_xattr.hpowerab8500.hbq2415x_charger.hbq24190_charger.hbq24735-charger.hbq27xxx_battery.hcharger-manager.hgeneric-adc-battery.hgpio-charger.hisp1704_charger.hjz4740-battery.hmax17042_battery.hmax8903_charger.hsbs-battery.hsmartreflex.hsmb347-charger.htwl4030_madc_battery.hpower_supply.hpowercap.hppp-comp.hppp_channel.hppp_defs.hpps-gpio.hpps_kernel.hpr.hprandom.hpreempt.hprefetch.hprime_numbers.hprintk.hprmt.hproc_fs.hproc_ns.hprocessor.hprofile.hprojid.hproperty.hpsci.hpseudo_fs.hpsi.hpsi_types.hpsp-sev.hpsp-tee.hpstore.hpstore_ram.hpti.hptp_classify.hptp_clock_kernel.hptr_ring.hptrace.hpurgatory.hpvclock_gtod.hpwm.hpwm_backlight.hpxa168_eth.hpxa2xx_ssp.hqcom-geni-se.hqcom_scm.hqedcommon_hsi.heth_common.hfcoe_common.hiscsi_common.hiwarp_common.hnvmetcp_common.hqed_chain.hqed_eth_if.hqed_fcoe_if.hqed_if.hqed_iov_if.hqed_iscsi_if.hqed_ll2_if.hqed_nvmetcp_if.hqed_rdma_if.hqede_rdma.hrdma_common.hroce_common.hstorage_common.htcp_common.hqnx6_fs.hquicklist.hquota.hquotaops.hradix-tree.hraiddetect.hmd_u.hpq.hxor.hraid_class.hramfs.hrandom.hrange.hras.hratelimit.hratelimit_types.hrational.hrbtree.hrbtree_augmented.hrbtree_latch.hrbtree_types.hrcu_node_tree.hrcu_segcblist.hrcu_sync.hrculist.hrculist_bl.hrculist_nulls.hrcupdate.hrcupdate_trace.hrcupdate_wait.hrcutiny.hrcutree.hrcuwait.hreboot-mode.hreboot.hreciprocal_div.hrefcount.hregmap.hregset.hregulatorab8500.hact8865.harizona-ldo1.harizona-micsupp.hconsumer.hda9211.hdb8500-prcmu.hdriver.hfan53555.hfixed.hgpio-regulator.hlp3971.hlp3972.hlp872x.hmachine.hmax1586.hmax8649.hmax8660.hmax8952.hmax8973-regulator.hmt6311.hmt6323-regulator.hmt6380-regulator.hmt6397-regulator.hof_regulator.hpfuze100.htps51632-regulator.htps62360.htps6507x.huserspace-consumer.hrelay.hremoteprocremoteproc.hqcom_rproc.hst_slim_rproc.hresctrl.hreservation.hresetreset-controller.hreset.hbcm63xx_pmb.hresource.hresource_ext.hrestart_block.hrfkill.hrh_flags.hrh_kabi.hrh_kabi_aux.hrh_kabi_memcg.hrh_tasklist_lock.hrhashtable-types.hrhashtable.hring_buffer.hrio.hrio_drv.hrio_ids.hrio_regs.hrmap.hrmi.hrndis.hrodata_test.hroot_dev.hrpmsgrpmsg.hqcom_glink.hqcom_smd.hrslib.hrtcrtc.hds1286.hds1307.hds1685.hm48t59.hsirfsoc_rtciobrg.hrtmutex.hrtnetlink.hrtsx_common.hrtsx_pci.hrtsx_usb.hrwbase_rt.hrwlock.hrwlock_api_smp.hrwlock_rt.hrwlock_types.hrwsem.hs3c_adc_battery.hsa11x0-dma.hsbitmap.hscatterlist.hscc.hschedsched.hautogroup.hclock.hcoredump.hcpufreq.hcputime.hdeadline.hdebug.hhotplug.hidle.hinit.hisolation.hjobctl.hloadavg.hmm.hnohz.hnuma_balancing.hprio.hrt.hsignal.hsmt.hstat.hsysctl.htask.htask_stack.htopology.htypes.huser.hwake_q.hxacct.hsched_clock.hscif.hscmi_protocol.hscpi_protocol.hscreen_info.hscs.hsctp.hscx200.hscx200_gpio.hsdb.hsdla.hseccomp.hsecurebits.hsecurity.hsed-opal.hseg6.hseg6_genl.hseg6_hmac.hseg6_iptunnel.hseg6_local.hselection.hsem.hsemaphore.hseq_buf.hseq_file.hseq_file_net.hseqlock.hseqno-fence.hserdev.hserial.hserial_8250.hserial_bcm63xx.hserial_core.hserial_max3100.hserial_pnx8xxx.hserial_s3c.hserial_sci.hserio.hset_memory.hsfi.hsfi_acpi.hsfp.hsh_clk.hsh_dma.hsh_eth.hsh_intc.hsh_timer.hshdma-base.hshm.hshmem_fs.hshrinker.hsignal.hsignal_types.hsignalfd.hsiox.hsiphash.hsirfsoc_dma.hsizes.hskb_array.hskbuff.hskmsg.hslab.hslab_def.hslimbus.hslub_def.hsm501-regs.hsm501.hsmc911x.hsmc91x.hsmp.hsmp_types.hsmpboot.hsmsc911x.hsmscphy.hsocactionsowl-sps.hbrcmstbbrcmstb.hdovepmu.hmediatekinfracfg.hmtk_wed.hqcomapr.hmdt_loader.hqmi.hsmd-rpm.hsmem.hsmem_state.hwcnss_ctrl.hrenesasrcar-rst.hrcar-sysc.hsamsungexynos-pmu.hexynos-regs-pmu.hsunxisunxi_sram.htiknav_dma.hknav_qmss.hti-msgmgr.hti_sci_protocol.hsock_diag.hsocket.hsockptr.hsonet.hsony-laptop.hsonypi.hsort.hsound.hsoundcard.hsoundwiresdw.hsdw_intel.hsdw_registers.hsdw_type.hspiad7877.hadi_spi3.hads7846.hat73c213.hat86rf230.hcc2520.hcorgi_lcd.hds1305.heeprom.hflash.hifx_modem.hl4f00242t03.hlibertas_spi.hlms283gf05.hmax7301.hmc33880.hmcp23s08.hmmc_spi.hmxs-spi.hpxa2xx_spi.hrspi.hs3c24xx.hsh_hspi.hsh_msiof.hspi-fsl-dspi.hspi-mem.hspi.hspi_bitbang.hspi_gpio.hspi_oc_tiny.htdo24m.htle62x0.hxilinx_spi.hspinlock.hspinlock_api_smp.hspinlock_api_up.hspinlock_rt.hspinlock_types.hspinlock_types_raw.hspinlock_types_up.hspinlock_up.hsplice.hspmi.hsram.hsrcu.hsrcutiny.hsrcutree.hssbssb.hssb_driver_chipcommon.hssb_driver_extif.hssb_driver_gige.hssb_driver_mips.hssb_driver_pci.hssb_embedded.hssb_regs.hssbi.hstackdepot.hstackprotector.hstacktrace.hstart_kernel.hstat.hstatfs.hstatic_call.hstatic_call_types.hstatic_key.hstddef.hstm.hstmmac.hstmp3xxx_rtc_wdt.hstmp_device.hstop_machine.hstring.hstring_helpers.hstringhash.hstringify.hsudmac.hsungem_phy.hsunrpcaddr.hauth.hauth_gss.hbc_xprt.hcache.hclnt.hdebug.hgss_api.hgss_asn1.hgss_err.hgss_krb5.hgss_krb5_enctypes.hmetrics.hmsg_prot.hrpc_pipe_fs.hrpc_rdma.hrpc_rdma_cid.hsched.hstats.hsvc.hsvc_rdma.hsvc_rdma_pcl.hsvc_xprt.hsvcauth.hsvcauth_gss.hsvcsock.htimer.htypes.hxdr.hxprt.hxprtmultipath.hxprtrdma.hxprtsock.hsunserialcore.hsunxi-rsb.hsuperhyway.hsuspend.hsvga.hsw842.hswab.hswait.hswap.hswap_cgroup.hswap_slots.hswapfile.hswapops.hswiotlb.hswitchtec.hsxgbe_platform.hsync_core.hsync_file.hsynclink.hsys.hsys_soc.hsyscalls.hsyscore_ops.hsysctl.hsysfs.hsyslog.hsysrq.hsysv_fs.ht10-pi.htask_io_accounting.htask_io_accounting_ops.htask_work.htaskstats_kern.htboot.htc.htca6416_keypad.htcp.htee_drv.htextsearch.htextsearch_fsm.htfrc.hthermal.hthinkpad_acpi.hthread_info.hthreads.hthunderbolt.hti-emif-sram.hti_wilink_st.htick.htifm.htimb_dma.htimb_gpio.htime.htime32.htime64.htime_namespace.htimecounter.htimekeeper_internal.htimekeeping.htimekeeping32.htimer.htimerfd.htimeriomem-rng.htimerqueue.htimex.htnum.htopology.htorture.htoshiba.htpm.htpm_command.htpm_eventlog.htrace.htrace_clock.htrace_events.htrace_seq.htracefs.htracehook.htracepoint-defs.htracepoint.htransport_class.hts-nbus.htsacct_kern.htty.htty_driver.htty_flip.htty_ldisc.htypecheck.htypes.hu64_stats_sync.huaccess.hucb1400.hucs2_string.hudp.huidgid.huio.huio_driver.hulpidriver.hinterface.hregs.humh.hunalignedaccess_ok.hbe_byteshift.hbe_memmove.hbe_struct.hgeneric.hle_byteshift.hle_memmove.hle_struct.hmemmove.hpacked_struct.hunits.huprobes.husbusb.hassociation.haudio-v2.haudio-v3.haudio.hc67x00.hccid.hcdc-wdm.hcdc.hcdc_ncm.hch9.hchipidea.hcomposite.hehci-dbgp.hehci_def.hehci_pdriver.hezusb.hfunctionfs.hg_hid.hgadget.hgadget_configfs.hgpio_vbus.hhcd.hinput.hiowarrior.hirda.hisp116x.hisp1301.hisp1362.hm66592.hmusb-ux500.hmusb.hnet2280.hof.hohci_pdriver.hotg-fsm.hotg.hpd.hpd_ado.hpd_bdo.hpd_ext_sdb.hpd_vdo.hphy.hphy_companion.hquirks.hr8152.hr8a66597.hrenesas_usbhs.hrndis_host.hrole.hserial.hsl811.hstorage.htcpci.htcpm.htegra_usb_phy.htypec.htypec_altmode.htypec_dp.htypec_mux.htypec_retimer.htypec_tbt.huas.hulpi.husb338x.husb_phy_generic.husbnet.hwusb-wa.hwusb.hxhci-dbgp.husb_usual.husbdevice_fs.huser-return-notifier.huser.huser_namespace.huserfaultfd_k.husermode_driver.hutil_macros.huts.hutsname.huuid.huwbuwb.hdebug-cmd.hspec.humc.hwhci.hvbox_utils.hvdpa.hverification.hvermagic.hvexpress.hvfio.hvfs.hvga_switcheroo.hvgaarb.hvhost_iotlb.hvia-core.hvia-gpio.hvia.hvia_i2c.hvideodev2.hvirtio.hvirtio_byteorder.hvirtio_caif.hvirtio_config.hvirtio_console.hvirtio_dma_buf.hvirtio_net.hvirtio_pci_modern.hvirtio_ring.hvirtio_vsock.hvisorbus.hvlynq.hvm_event_item.hvmacache.hvmalloc.hvme.hvmpressure.hvmstat.hvmw_vmci_api.hvmw_vmci_defs.hvringh.hvt.hvt_buffer.hvt_kern.hvtime.hw1-gpio.hw1.hwait.hwait_bit.hwanrouter.hwatchdog.hwimaxdebug.hwin_minmax.hwireless.hwkup_m3_ipc.hwl12xx.hwm97xx.hwmi.hworkqueue.hwriteback.hww_mutex.hxarray.hxattr.hxxhash.hxz.hyam.hz2_battery.hzbud.hzconf.hzlib.hzorro.hzpool.hzsmalloc.hzstd.hzutil.hmath-emudouble.hop-1.hop-2.hop-4.hop-8.hop-common.hquad.hsingle.hsoft-fp.hmediacec-notifier.hcec-pin.hcec.hdavinciccdc_types.hdm355_ccdc.hdm644x_ccdc.hisif.hvpbe.hvpbe_display.hvpbe_osd.hvpbe_types.hvpbe_venc.hvpfe_capture.hvpfe_types.hvpif_types.hvpss.hdemux.hdmxdev.hdrv-intfcx2341x.hcx25840.hexynos-fimc.hmsp3400.hrenesas-ceu.hs3c_camif.hsaa7146.hsaa7146_vv.hsh_mobile_ceu.hsh_vou.hsi476x.hsoc_mediabus.htea575x.hdvb-usb-ids.hdvb_ca_en50221.hdvb_demux.hdvb_frontend.hdvb_math.hdvb_net.hdvb_ringbuffer.hdvb_vb2.hdvbdev.hframe_vector.hi2cad9389b.hadp1653.hadv7183.hadv7343.hadv7393.hadv7511.hadv7604.hadv7842.hak881x.hbt819.hcs5345.hcs53l32a.hir-kbd-i2c.hlm3560.hlm3646.hm52790.hm5mols.hmt9m032.hmt9p031.hmt9t001.hmt9t112.hmt9v011.hmt9v022.hmt9v032.hnoon010pc30.hov2659.hov7670.hov772x.hov9650.hrj54n1cb0c.hs5c73m3.hs5k4ecgx.hs5k6aa.hsaa6588.hsaa7115.hsaa7127.hsmiapp.hsr030pc30.htc358743.htda1997x.hths7303.htvaudio.htvp514x.htvp7002.htw9910.huda1342.hupd64031a.hupd64083.hwm8775.himx.hmedia-device.hmedia-devnode.hmedia-entity.hrc-core.hrc-map.hrcar-fcp.hsoc_camera.htpgv4l2-tpg.htuner-types.htuner.htveeprom.hv4l2-async.hv4l2-clk.hv4l2-common.hv4l2-ctrls.hv4l2-dev.hv4l2-device.hv4l2-dv-timings.hv4l2-event.hv4l2-fh.hv4l2-flash-led-class.hv4l2-fwnode.hv4l2-image-sizes.hv4l2-ioctl.hv4l2-mc.hv4l2-mediabus.hv4l2-mem2mem.hv4l2-rect.hv4l2-subdev.hvideobuf-core.hvideobuf-dma-contig.hvideobuf-dma-sg.hvideobuf-vmalloc.hvideobuf2-core.hvideobuf2-dma-contig.hvideobuf2-dma-sg.hvideobuf2-dvb.hvideobuf2-memops.hvideobuf2-v4l2.hvideobuf2-vmalloc.hvsp1.hmemoryjedec_ddr.hmiscaltera.hcharlcd.hcxl-base.hcxl.hcxllib.hocxl-config.hocxl.hnet6lowpan.h9p9p.hclient.htransport.hSpace.hact_api.haddrconf.haf_ieee802154.haf_rxrpc.haf_unix.haf_vsock.hah.harp.hatmclip.hax25.hax88796.hbareudp.hbluetoothbluetooth.hhci.hhci_core.hhci_mon.hhci_sock.hl2cap.hmgmt.hrfcomm.hsco.hbond_3ad.hbond_alb.hbond_options.hbonding.hbpf_sk_storage.hbusy_poll.hcaifcaif_dev.hcaif_device.hcaif_hsi.hcaif_layer.hcaif_spi.hcfcnfg.hcfctrl.hcffrml.hcfmuxl.hcfpkt.hcfserl.hcfsrvl.hcalipso.hcfg80211-wext.hcfg80211.hcfg802154.hchecksum.hcipso_ipv4.hcls_cgroup.hcodel.hcodel_impl.hcodel_qdisc.hcompat.hdatalink.hdcbevent.hdcbnl.hdevlink.hdn.hdn_dev.hdn_fib.hdn_neigh.hdn_nsp.hdn_route.hdrop_monitor.hdropreason.hdsa.hdsfield.hdst.hdst_cache.hdst_metadata.hdst_ops.herspan.hesp.hespintcp.hethoc.hfailover.hfib_notifier.hfib_rules.hfirewire.hflow.hflow_dissector.hflow_offload.hfou.hfq.hfq_impl.hgarp.hgen_stats.hgenetlink.hgeneve.hgre.hgro_cells.hgtp.hgue.hhwbm.hicmp.hieee80211_radiotap.hieee802154_netdev.hif_inet6.hife.hila.hinet6_connection_sock.hinet6_hashtables.hinet_common.hinet_connection_sock.hinet_ecn.hinet_frag.hinet_hashtables.hinet_sock.hinet_timewait_sock.hinetpeer.hip.hip6_checksum.hip6_fib.hip6_route.hip6_tunnel.hip_fib.hip_tunnels.hip_vs.hipcomp.hipconfig.hipv6.hipv6_frag.hipv6_stubs.hipx.hiucvaf_iucv.hiucv.hiw_handler.hkcm.hl3mdev.hlag.hlapb.hlib80211.hllc.hllc_c_ac.hllc_c_ev.hllc_c_st.hllc_conn.hllc_if.hllc_pdu.hllc_s_ac.hllc_s_ev.hllc_s_st.hllc_sap.hlwtunnel.hmac80211.hmac802154.hmanagdma.hhw_channel.hmana.hmana_auxiliary.hshm_channel.hmip6.hmld.hmpls.hmpls_iptunnel.hmptcp.hmrp.hncsi.hndisc.hneighbour.hnet_failover.hnet_namespace.hnet_ratelimit.hnetevent.hnetfilterbr_netfilter.hipv4nf_conntrack_ipv4.hnf_defrag_ipv4.hnf_dup_ipv4.hnf_nat_masquerade.hnf_reject.hipv6nf_conntrack_icmpv6.hnf_conntrack_ipv6.hnf_defrag_ipv6.hnf_dup_ipv6.hnf_nat_masquerade.hnf_reject.hnf_conntrack.hnf_conntrack_acct.hnf_conntrack_core.hnf_conntrack_count.hnf_conntrack_ecache.hnf_conntrack_expect.hnf_conntrack_extend.hnf_conntrack_helper.hnf_conntrack_l4proto.hnf_conntrack_labels.hnf_conntrack_seqadj.hnf_conntrack_synproxy.hnf_conntrack_timeout.hnf_conntrack_timestamp.hnf_conntrack_tuple.hnf_conntrack_zones.hnf_dup_netdev.hnf_flow_table.hnf_log.hnf_nat.hnf_nat_helper.hnf_nat_redirect.hnf_queue.hnf_reject.hnf_socket.hnf_tables.hnf_tables_core.hnf_tables_ipv4.hnf_tables_ipv6.hnf_tables_offload.hnf_tproxy.hnfnetlink_log.hnft_fib.hnft_reject.hxt_rateest.hnetlabel.hnetlink.hnetnsbpf.hcan.hconntrack.hcore.hdccp.hgeneric.hhash.hieee802154_6lowpan.hipv4.hipv6.hmib.hmpls.hnetfilter.hnftables.hpacket.hsctp.hsmc.hunix.hx_tables.hxdp.hxfrm.hnetprio_cgroup.hnetrom.hnexthop.hnfcdigital.hhci.hllc.hnci.hnci_core.hnfc.hnl802154.hnsh.hp8022.hpage_pool.hphonetgprs.hpep.hphonet.hpn_dev.hpie.hping.hpkt_cls.hpkt_sched.hpptp.hprotocol.hpsample.hpsnap.hraw.hrawv6.hred.hregulatory.hrequest_sock.hrose.hroute.hrsi_91x.hrtnetlink.hsch_generic.hscm.hsctpauth.hchecksum.hcommand.hconstants.hsctp.hsm.hstream_interleave.hstream_sched.hstructs.htsnmap.hulpevent.hulpqueue.hsecure_seq.hseg6.hseg6_hmac.hseg6_local.hslhc_vj.hsmc.hsnmp.hsock.hsock_reuseport.hstp.hstrparser.hswitchdev.htc_acttc_bpf.htc_connmark.htc_csum.htc_ct.htc_ctinfo.htc_defact.htc_gact.htc_gate.htc_ife.htc_ipt.htc_mirred.htc_mpls.htc_nat.htc_pedit.htc_police.htc_sample.htc_skbedit.htc_skbmod.htc_tunnel_key.htc_vlan.htcp.htcp_states.htimewait_sock.htipc.htls.htls_toe.htransp_v6.htso.htun_proto.hudp.hudp_tunnel.hudplite.hvsock_addr.hvxlan.hwext.hwimax.hx25.hx25device.hxdp.hxdp_priv.hxdp_sock.hxdp_sock_drv.hxfrm.hxsk_buff_pool.hpcmciaciscode.hcisreg.hcistpl.hdevice_id.hds.hss.hrasras_event.hrdmaib.hib_addr.hib_cache.hib_cm.hib_hdrs.hib_mad.hib_marshall.hib_pack.hib_pma.hib_sa.hib_smi.hib_sysfs.hib_umem.hib_umem_odp.hib_verbs.hiba.hibta_vol1_c12.hiw_cm.hiw_portmap.hlag.hmr_pool.hopa_addr.hopa_port_info.hopa_smi.hopa_vnic.hrdma_cm.hrdma_cm_ib.hrdma_counter.hrdma_netlink.hrdma_vt.hrdmavt_cq.hrdmavt_mr.hrdmavt_qp.hrestrack.hrw.hsignature.htid_rdma_defs.huverbs_ioctl.huverbs_named_ioctl.huverbs_std_types.huverbs_types.hscsifcfc_encaps.hfc_fc2.hfc_fcoe.hfc_fcp.hfc_fip.hfc_ms.hfc_frame.hfcoe_sysfs.hiscsi_if.hiscsi_proto.hiser.hlibfc.hlibfcoe.hlibiscsi.hlibiscsi_tcp.hlibsas.hosd_attributes.hosd_protocol.hosd_sec.hosd_sense.hosd_types.hsas.hsas_ata.hscsi.hscsi_bsg_iscsi.hscsi_cmnd.hscsi_common.hscsi_dbg.hscsi_device.hscsi_devinfo.hscsi_dh.hscsi_driver.hscsi_eh.hscsi_host.hscsi_ioctl.hscsi_proto.hscsi_request.hscsi_tcq.hscsi_transport.hscsi_transport_fc.hscsi_transport_iscsi.hscsi_transport_sas.hscsi_transport_spi.hscsi_transport_srp.hscsicam.hsg.hsrp.hviosrp.hsocarcaux.hmcip.htimers.hat91at91sam9_ddrsdr.hat91sam9_sdramc.hatmel-secumod.hatmel-sfr.hbcm2835raspberrypi-firmware.hbrcmstbcommon.hfslbman.hqeimmap_qe.hqe.hqe_ic.hqe_tdm.hucc.hucc_fast.hucc_slow.hqman.himxcpuidle.hrevision.htimer.hmediateksmi.hnpscommon.hmtm.hqcomcmd-db.hrockchiprockchip_sip.hsa1100pwer.htegraahb.hbpmp-abi.hbpmp.hcommon.hcpuidle.hemc.hflowctrl.hfuse.hivc.hmc.hpm.hpmc.hsoundac97codec.hcompat.hcontroller.hregs.hac97_codec.haci.had1816a.had1843.hadau1373.haess.hak4113.hak4114.hak4117.hak4531_codec.hak4641.hak4xxx-adda.halc5623.hasequencer.hasound.hasoundef.hcompress_driver.hcontrol.hcore.hcs35l33.hcs35l34.hcs35l35.hcs35l36.hcs35l41.hcs4231-regs.hcs4271.hcs42l42.hcs42l52.hcs42l56.hcs42l73.hcs8403.hcs8427.hda7213.hda7218.hda7219-aad.hda7219.hda9055.hdesignware_i2s.hdmaengine_pcm.hemu10k1.hemu10k1_synth.hemu8000.hemu8000_reg.hemux_legacy.hemux_synth.hes1688.hgraph_card.hgus.hhda_chmap.hhda_codec.hhda_component.hhda_hwdep.hhda_i915.hhda_register.hhda_regmap.hhda_verbs.hhdaudio.hhdaudio_ext.hhdmi-codec.hhwdep.hi2c.hinfo.hinitval.hintel-dsp-config.hintel-nhlt.hjack.hl3.hmax9768.hmax98088.hmax98090.hmax98095.hmemalloc.hminors.hmixer_oss.hmpu401.homap-hdmi-audio.hopl3.hopl4.hpcm-indirect.hpcm.hpcm_drm_eld.hpcm_iec958.hpcm_oss.hpcm_params.hpt2258.hpxa2xx-lib.hrawmidi.hrt1015.hrt286.hrt298.hrt5514.hrt5659.hrt5660.hrt5663.hrt5665.hrt5668.hrt5682.hrt5682s.hs3c24xx_uda134x.hsb.hsb16_csp.hseq_device.hseq_kernel.hseq_midi_emul.hseq_midi_event.hseq_oss.hseq_oss_legacy.hseq_virmidi.hsh_dac_audio.hsh_fsi.hsimple_card.hsimple_card_utils.hsnd_wavefront.hsoc-acpi-intel-match.hsoc-acpi.hsoc-card.hsoc-component.hsoc-dai.hsoc-dapm.hsoc-dpcm.hsoc-jack.hsoc-link.hsoc-topology.hsoc.hsofsof.hchannel_map.hcontrol.hdai-amd.hdai-imx.hdai-intel.hdai-mediatek.hdai.hdebug.hext_manifest.hext_manifest4.hheader.hinfo.hipc4header.hpm.hstream.htopology.htrace.hxtensa.hsoundfont.hspear_dma.hspear_spdif.hsta32x.hsta350.htas2552-plat.htas5086.htea6330t.htimer.htlv.htlv320aic32x4.htlv320aic3x.htlv320dac33-plat.htpa6130a2-plat.huda134x.huda1380.hutil_mem.hvx_core.hwavefront.hwm0010.hwm1250-ev1.hwm2000.hwm2200.hwm5100.hwm8903.hwm8904.hwm8955.hwm8960.hwm8962.hwm8993.hwm8996.hwm9081.hwm9090.hwss.htargetiscsiiscsi_target_core.hiscsi_target_stat.hiscsi_transport.htarget_core_backend.htarget_core_base.htarget_core_fabric.htracebpf_probe.hdefine_trace.hevents9p.hafs.halarmtimer.hasoc.havc.hbcache.hblock.hbpf_test_run.hbridge.hbtrfs.hcachefiles.hcgroup.hclk.hcma.hcompaction.hcontext_tracking.hcpuhp.hdamon.hdevlink.hdma_fence.hext4.hf2fs.hfib.hfib6.hfilelock.hfilemap.hfs.hfs_dax.hfscache.hfsi.hfsi_master_gpio.hgpio.hhost1x.hhuge_memory.hi2c.hib_mad.hib_umad.hinitcall.hintel-sst.hintel_iommu.hintel_ish.hio_uring.hiocost.hiommu.hipi.hirq.hirq_matrix.hiscsi.hjbd2.hkmem.hkvm.hkyber.hlibata.hlock.hmce.hmdio.hmigrate.hmlxsw.hmmc.hmmflags.hmodule.hmptcp.hnapi.hneigh.hnet.hnet_probe_common.hnetlink.hnfs.hnilfs2.hnmi.hobjagg.hoom.hosnoise.hpage_isolation.hpage_pool.hpage_ref.hpagemap.hpercpu.hpower.hpower_cpu_migrate.hpreemptirq.hprintk.hpwc.hqdisc.hqla.hqrtr.hrandom.hrcu.hrdma.hrdma_core.hregulator.hrpcgss.hrpcrdma.hrpm.hrseq.hrtc.hrxrpc.hsched.hscsi.hsctp.hsignal.hsiox.hskb.hsmbus.hsock.hspi.hspmi.hsunrpc.hsunrpc_base.hsunvnet.hswiotlb.hsyscalls.htarget.htask.htcp.hthermal.hthermal_power_allocator.hthp.htimer.htlb.hudp.hufs.hv4l2.hvb2.hvmscan.hvsock_virtio_transport_common.hwbt.hworkqueue.hwriteback.hxdp.hxen.hperf.hsyscall.htrace_events.huapiasm-genericKbuild.asmauxvec.hbitsperlong.hbpf_perf_event.herrno-base.herrno.hfcntl.hhugetlb_encode.hint-l64.hint-ll64.hioctl.hioctls.hipcbuf.hkvm_para.hmman-common.hmman.hmsgbuf.hparam.hpoll.hposix_types.hresource.hsembuf.hsetup.hshmbuf.hshmparam.hsiginfo.hsignal-defs.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.htermbits.htermios.htypes.hucontext.hunistd.hdrmamdgpu_drm.harmada_drm.hdrm.hdrm_fourcc.hdrm_mode.hdrm_sarea.hetnaviv_drm.hexynos_drm.hi810_drm.hi915_drm.hlima_drm.hmga_drm.hmsm_drm.hnouveau_drm.homap_drm.hpanfrost_drm.hqxl_drm.hr128_drm.hradeon_drm.hsavage_drm.hsis_drm.htegra_drm.hv3d_drm.hvc4_drm.hvgem_drm.hvia_drm.hvirtgpu_drm.hvmwgfx_drm.hlinuxKbuilda.out.hacct.hadb.hadfs_fs.haffs_hardblocks.hagpgart.haio_abi.ham437x-vpfe.handroidbinder.hapm_bios.harcfb.harm_sdei.haspeed-lpc-ctrl.hatalk.hatm.hatm_eni.hatm_he.hatm_idt77105.hatm_nicstar.hatm_tcp.hatm_zatm.hatmapi.hatmarp.hatmbr2684.hatmclip.hatmdev.hatmioc.hatmlec.hatmmpc.hatmppp.hatmsap.hatmsvc.haudit.hauto_dev-ioctl.hauto_fs.hauto_fs4.hauxvec.hax25.hb1lli.hbatadv_packet.hbatman_adv.hbaycom.hbcache.hbcm933xx_hcs.hbfs_fs.hbinfmts.hblkpg.hblktrace_api.hblkzoned.hbpf.hbpf_common.hbpf_perf_event.hbpfilter.hbpqether.hbsg.hbt-bmc.hbtf.hbtrfs.hbtrfs_tree.hbyteorderbig_endian.hlittle_endian.hcaifcaif_socket.hif_caif.hcancan.hbcm.herror.hgw.hnetlink.hraw.hvxcan.hcapability.hcapi.hcciss_defs.hcciss_ioctl.hcdrom.hcec-funcs.hcec.hcfm_bridge.hcgroupstats.hchio.hcifscifs_mount.hcifs_netlink.hclose_range.hcm4000_cs.hcn_proc.hcoda.hcoda_psdev.hcoff.hconnector.hconst.hcoresight-stm.hcramfs_fs.hcryptouser.hcuda.hcyclades.hcycx_cfm.hdcbnl.hdccp.hdevlink.hdlm.hdlm_device.hdlm_netlink.hdlm_plock.hdlmconstants.hdm-ioctl.hdm-log-userspace.hdma-buf.hdn.hdqblk_xfs.hdvbaudio.hca.hdmx.hfrontend.hnet.hosd.hversion.hvideo.hedd.hefs_fs_sb.helf-em.helf-fdpic.helf.helfcore.herrno.herrqueue.herspan.hethtool.hethtool_netlink.heventpoll.hfadvise.hfalloc.hfanotify.hfb.hfcntl.hfd.hfdreg.hfib_rules.hfiemap.hfilter.hfirewire-cdev.hfirewire-constants.hflat.hfou.hfpga-dfl.hfs.hfsl_hypervisor.hfsmap.hfuse.hfutex.hgameport.hgen_stats.hgenetlink.hgenwqegenwqe_card.hgfs2_ondisk.hgigaset_dev.hgpio.hgsmmux.hgtp.hhash_info.hhdlchdlc.hioctl.hhdlcdrv.hhdreg.hhid.hhiddev.hhidraw.hhpet.hhsics-protocol.hhsi_char.hhsr_netlink.hhw_breakpoint.hhyperv.hhysdn_if.hi2c-dev.hi2c.hi2o-dev.hi8k.hicmp.hicmpv6.hidxd.hif.hif_addr.hif_addrlabel.hif_alg.hif_arcnet.hif_arp.hif_bonding.hif_bridge.hif_cablemodem.hif_eql.hif_ether.hif_fc.hif_fddi.hif_frad.hif_hippi.hif_infiniband.hif_link.hif_ltalk.hif_macsec.hif_packet.hif_phonet.hif_plip.hif_ppp.hif_pppol2tp.hif_pppox.hif_slip.hif_team.hif_tun.hif_tunnel.hif_vlan.hif_x25.hif_xdp.hife.higmp.hiioevents.htypes.hila.hin.hin6.hin_route.hinet_diag.hinotify.hinput-event-codes.hinput.hio_uring.hioctl.hiommu.hip.hip6_tunnel.hip_vs.hipc.hipmi.hipmi_bmc.hipmi_msgdefs.hipsec.hipv6.hipv6_route.hipx.hirqnr.hisdnisdn.hcapicmd.hisdn_divertif.hisdn_ppp.hisdnif.hiso_fs.hisst_if.hivtv.hivtvfb.hjffs2.hjoystick.hkcm.hkcmp.hkcov.hkd.hkdev_t.hkernel-page-flags.hkernel.hkernelcapi.hkexec.hkeyboard.hkeyctl.hkfd_ioctl.hkfd_sysfs.hkvm.hkvm_para.hl2tp.hlibc-compat.hlightnvm.hlimits.hlirc.hllc.hloop.hlp.hlwtunnel.hmagic.hmajor.hmap_to_7segment.hmatroxfb.hmax2175.hmdio.hmedia-bus-format.hmedia.hmei.hmembarrier.hmemfd.hmempolicy.hmeye.hmic_common.hmic_ioctl.hmii.hminix_fs.hmman.hmmcioctl.hmmtimer.hmodule.hmount.hmpls.hmpls_iptunnel.hmptcp.hmqueue.hmroute.hmroute6.hmrp_bridge.hmsdos_fs.hmsg.hmtio.hn_r3964.hnbd-netlink.hnbd.hncsi.hndctl.hneighbour.hnet.hnet_dropmon.hnet_namespace.hnet_tstamp.hnetconf.hnetdevice.hnetfilternetfilter.hipsetip_set.hip_set_bitmap.hip_set_hash.hip_set_list.hnf_conntrack_common.hnf_conntrack_ftp.hnf_conntrack_sctp.hnf_conntrack_tcp.hnf_conntrack_tuple_common.hnf_log.hnf_nat.hnf_osf.hnf_tables.hnf_tables_compat.hnfnetlink.hnfnetlink_acct.hnfnetlink_compat.hnfnetlink_conntrack.hnfnetlink_cthelper.hnfnetlink_cttimeout.hnfnetlink_log.hnfnetlink_queue.hx_tables.hxt_AUDIT.hxt_CHECKSUM.hxt_CLASSIFY.hxt_CONNMARK.hxt_CONNSECMARK.hxt_CT.hxt_DSCP.hxt_HMARK.hxt_IDLETIMER.hxt_LED.hxt_LOG.hxt_MARK.hxt_NFLOG.hxt_NFQUEUE.hxt_RATEEST.hxt_SECMARK.hxt_SYNPROXY.hxt_TCPMSS.hxt_TCPOPTSTRIP.hxt_TEE.hxt_TPROXY.hxt_addrtype.hxt_bpf.hxt_cgroup.hxt_cluster.hxt_comment.hxt_connbytes.hxt_connlabel.hxt_connlimit.hxt_connmark.hxt_conntrack.hxt_cpu.hxt_dccp.hxt_devgroup.hxt_dscp.hxt_ecn.hxt_esp.hxt_hashlimit.hxt_helper.hxt_ipcomp.hxt_iprange.hxt_ipvs.hxt_l2tp.hxt_length.hxt_limit.hxt_mac.hxt_mark.hxt_multiport.hxt_nfacct.hxt_osf.hxt_owner.hxt_physdev.hxt_pkttype.hxt_policy.hxt_quota.hxt_rateest.hxt_realm.hxt_recent.hxt_rpfilter.hxt_sctp.hxt_set.hxt_socket.hxt_state.hxt_statistic.hxt_string.hxt_tcpmss.hxt_tcpudp.hxt_time.hxt_u32.hnetfilter_arpnetfilter_arp.harp_tables.harpt_mangle.hnetfilter_bridgenetfilter_bridge.hebt_802_3.hebt_among.hebt_arp.hebt_arpreply.hebt_ip.hebt_ip6.hebt_limit.hebt_log.hebt_mark_m.hebt_mark_t.hebt_nat.hebt_nflog.hebt_pkttype.hebt_redirect.hebt_stp.hebt_vlan.hebtables.hnetfilter_decnet.hnetfilter_ipv4netfilter_ipv4.hip_tables.hipt_CLUSTERIP.hipt_ECN.hipt_LOG.hipt_REJECT.hipt_TTL.hipt_ah.hipt_ecn.hipt_ttl.hnetfilter_ipv6netfilter_ipv6.hip6_tables.hip6t_HL.hip6t_LOG.hip6t_NPT.hip6t_REJECT.hip6t_ah.hip6t_frag.hip6t_hl.hip6t_ipv6header.hip6t_mh.hip6t_opts.hip6t_rt.hip6t_srh.hnetlink.hnetlink_diag.hnetrom.hnexthop.hnfc.hnfs.hnfs2.hnfs3.hnfs4.hnfs4_mount.hnfs_fs.hnfs_idmap.hnfs_mount.hnfsacl.hnfsdcld.hdebug.hexport.hstats.hnilfs2_api.hnilfs2_ondisk.hnitro_enclaves.hnl80211.hnsfs.hnubus.hnvme_ioctl.hnvram.homap3isp.homapfb.hoom.hopenat2.hopenvswitch.hpacket_diag.hparam.hparport.hpatchkey.hpci.hpci_regs.hpcitest.hperf_event.hpersonality.hpfkeyv2.hpfrut.hpg.hphantom.hphonet.hpkt_cls.hpkt_sched.hpktcdvd.hpmu.hpoll.hposix_acl.hposix_acl_xattr.hposix_types.hppdev.hppp-comp.hppp-ioctl.hppp_defs.hpps.hpr.hprctl.hpsample.hpsci.hpsp-sev.hptp_clock.hptrace.hqemu_fw_cfg.hqnx4_fs.hqnxtypes.hqrtr.hquota.hradeonfb.hraidmd_p.hmd_u.hrandom.hraw.hrds.hreboot.hreiserfs_fs.hreiserfs_xattr.hresource.hrfkill.hrio_cm_cdev.hrio_mport_cdev.hromfs_fs.hrose.hroute.hrpmsg.hrseq.hrtc.hrtnetlink.hrxrpc.hscc.hschedsched.htypes.hscif_ioctl.hscreen_info.hsctp.hsdla.hseccomp.hsecurebits.hsed-opal.hseg6.hseg6_genl.hseg6_hmac.hseg6_iptunnel.hseg6_local.hselinux_netlink.hsem.hserial.hserial_core.hserial_reg.hserio.hsev-guest.hshm.hsignal.hsignalfd.hsmc.hsmc_diag.hsmiapp.hsnmp.hsock_diag.hsocket.hsockios.hsonet.hsonypi.hsound.hsoundcard.hspispidev.hstat.hstddef.hstm.hstring.hsunrpcdebug.hsuspend_ioctls.hswab.hswitchtec_ioctl.hsync_file.hsynclink.hsysctl.hsysinfo.htarget_core_user.htaskstats.htc_acttc_bpf.htc_connmark.htc_csum.htc_ct.htc_ctinfo.htc_defact.htc_gact.htc_gate.htc_ife.htc_ipt.htc_mirred.htc_mpls.htc_nat.htc_pedit.htc_sample.htc_skbedit.htc_skbmod.htc_tunnel_key.htc_vlan.htc_ematchtc_em_cmp.htc_em_ipt.htc_em_meta.htc_em_nbyte.htc_em_text.htcp.htcp_metrics.htdx-guest.htee.htermios.hthermal.htime.htime_types.htimerfd.htimes.htimex.htiocl.htipc.htipc_config.htipc_netlink.htipc_sockets_diag.htls.htoshiba.htty.htty_flags.htypes.hudf_fs_i.hudp.huhid.huinput.huio.huleds.hultrasound.hun.hunistd.hunix_diag.husbaudio.hcdc-wdm.hcdc.hch11.hch9.hcharger.hfunctionfs.hg_printer.hg_uvc.hgadgetfs.hmidi.htmc.hvideo.husbdevice_fs.husbip.huserfaultfd.huserio.hutime.hutsname.huuid.huvcvideo.hv4l2-common.hv4l2-controls.hv4l2-dv-timings.hv4l2-mediabus.hv4l2-subdev.hvbox_err.hvbox_vmmdev_types.hvboxguest.hvdpa.hveth.hvfio.hvfio_ccw.hvfio_zdev.hvhost.hvhost_types.hvideodev2.hvirtio_9p.hvirtio_balloon.hvirtio_blk.hvirtio_bt.hvirtio_config.hvirtio_console.hvirtio_crypto.hvirtio_fs.hvirtio_gpu.hvirtio_ids.hvirtio_input.hvirtio_iommu.hvirtio_mmio.hvirtio_net.hvirtio_pci.hvirtio_ring.hvirtio_rng.hvirtio_scsi.hvirtio_snd.hvirtio_types.hvirtio_vsock.hvm_sockets.hvm_sockets_diag.hvmcore.hvsockmon.hvt.hvtpm_proxy.hwait.hwanrouter.hwatchdog.hwimaxwimax.hi2400m.hwireless.hwmi.hx25.hxattr.hxdp_diag.hxfrm.hxilinx-v4l2-controls.hzorro.hzorro_ids.hmisccxl.hocxl.hpvpanic.hmtdinftl-user.hmtd-abi.hmtd-user.hnftl-user.hubi-user.hrdmabnxt_re-abi.hcxgb4-abi.hefa-abi.hhfihfi1_ioctl.hhfi1_user.hhns-abi.hib_user_ioctl_cmds.hib_user_ioctl_verbs.hib_user_mad.hib_user_sa.hib_user_verbs.hirdma-abi.hmlx4-abi.hmlx5-abi.hmlx5_user_ioctl_cmds.hmlx5_user_ioctl_verbs.hmthca-abi.hocrdma-abi.hqedr-abi.hrdma_netlink.hrdma_user_cm.hrdma_user_ioctl.hrdma_user_ioctl_cmds.hrdma_user_rxe.hrvt-abi.hsiw-abi.hvmw_pvrdma-abi.hscsicxlflash_ioctl.hfcfc_els.hfc_fs.hfc_gs.hfc_ns.hscsi_bsg_fc.hscsi_bsg_mpi3mr.hscsi_netlink.hscsi_netlink_fc.hsoundasequencer.hasoc.hasound.hasound_fm.hcompress_offload.hcompress_params.hemu10k1.hfirewire.hhdsp.hhdspm.hintelavstokens.hsb16_csp.hsfnt_info.hskl-tplg-interface.hsnd_sst_tokens.hsofabi.hfw.hheader.htokens.htlv.husb_stream.hvideoedid.hsisfb.huvesafb.hxenevtchn.hgntalloc.hgntdev.hprivcmd.hvdsobits.hclocksource.hconst.hdatapage.hhelpers.hjiffies.hktime.hlimits.hmath64.hprocessor.htime.htime32.htime64.hvsyscall.hvideoatmel_lcdc.haty128.hbroadsheetfb.hcirrus.hcvisionppc.hda8xx-fb.hdisplay_timing.hedid.hgbe.hhecubafb.hili9320.himx-ipu-image-convert.himx-ipu-v3.hkyro.hmach64.hmaxinefb.hmbxfb.hmetronomefb.hmipi_display.hmmp_disp.hneomagic.hnewport.hof_display_timing.hof_videomode.homap-panel-data.homapfb_dss.homapvrfb.hpermedia2.hplatform_lcd.hpm3fb.hpmag-ba-fb.hpmagb-b-fb.hpxa168fb.hradeon.hs1d13xxxfb.hsa1100fb.hsamsung_fimd.hsh_mobile_lcdc.hsisfb.hsstfb.htdfx.htgafb.htrident.hudlfb.huvesafb.hvga.hvideomode.hw100fb.hxenacpi.harmhypercall.hhypervisor.hinterface.hpage-coherent.hpage.hballoon.hevents.hfeatures.hgrant_table.hhvc-console.hhvm.hinterfacecallback.helfnote.hevent_channel.hfeatures.hgrant_table.hhvmdm_op.hhvm_op.hhvm_vcpu.hparams.hstart_info.hio9pfs.hblkif.hconsole.hdisplif.hfbif.hkbdif.hnetif.hpciif.hprotocols.hpvcalls.hring.hsndif.htpmif.hvscsiif.hxenbus.hxs_wire.hmemory.hnmi.hphysdev.hplatform.hsched.hvcpu.hversion.hxen-mca.hxen.hxenpmu.hpage.hplatform_pci.hswiotlb-xen.htmem.hxen-front-pgdir-shbuf.hxen-ops.hxen.hxenbus.hxenbus_dev.hinitKconfigMakefileipcMakefilekernelKconfig.freezerKconfig.hzKconfig.locksKconfig.preemptMakefilebpfKconfigMakefilepreloadKconfigMakefileiteratorsMakefilecgroupMakefiledebugMakefilekdbMakefiledmaKconfigMakefileeventsMakefilegcovKconfigMakefileirqKconfigMakefilekcsanMakefilelivepatchKconfigMakefilelockingMakefilepowerKconfigMakefileprintkMakefilercuKconfigKconfig.debugMakefileschedMakefiletimeKconfigMakefiletraceKconfigMakefilelib842MakefileKconfigKconfig.debugKconfig.kasanKconfig.kcsanKconfig.kgdbKconfig.ubsanMakefilecryptoMakefiledimMakefilefontsKconfigMakefilekunitKconfigMakefilelivepatchMakefilelz4MakefilelzoMakefilemathKconfigMakefilempiMakefilepldmfwMakefileraid6MakefiletestMakefilereed_solomonMakefilevdsoKconfigMakefilexzKconfigMakefilezlib_deflateMakefilezlib_dfltccMakefilezlib_inflateMakefilezstdMakefilemmKconfigKconfig.debugMakefiledamonKconfigMakefilekasanMakefilenet6lowpanKconfigMakefile802KconfigMakefile8021qKconfigMakefile9pKconfigMakefileKconfigMakefileappletalkMakefileatmKconfigMakefileax25KconfigMakefilebatman-advKconfigMakefilebluetoothKconfigMakefilebnepKconfigMakefilecmtpKconfigMakefilehidpKconfigMakefilerfcommKconfigMakefilebpfMakefilebpfilterKconfigMakefilebridgeKconfigMakefilenetfilterKconfigMakefilecaifKconfigMakefilecanKconfigMakefilecephKconfigMakefilecoreMakefiledcbKconfigMakefiledccpKconfigMakefileccidsKconfigdecnetKconfigMakefilenetfilterKconfigMakefiledns_resolverKconfigMakefiledsaKconfigMakefileethernetMakefileethtoolMakefilehsrKconfigMakefileieee8021546lowpanKconfigMakefileKconfigMakefileifeKconfigMakefileipv4KconfigMakefilebpfilterMakefilenetfilterKconfigMakefileipv6KconfigMakefileilaMakefilenetfilterKconfigMakefileiucvKconfigMakefilekcmKconfigMakefilekeyMakefilel2tpKconfigMakefilel3mdevKconfigMakefilelapbKconfigMakefilellcKconfigMakefilemac80211KconfigMakefilemac802154KconfigMakefilemplsKconfigMakefilemptcpKconfigMakefilencsiKconfigMakefilenetfilterKconfigMakefileipsetKconfigMakefileipvsKconfigMakefilenetlabelKconfigMakefilenetlinkKconfigMakefilenetromMakefilenfcKconfigMakefilehciKconfigMakefilenciKconfigMakefilenshKconfigMakefileopenvswitchKconfigMakefilepacketKconfigMakefilephonetKconfigMakefilepsampleKconfigMakefileqrtrKconfigMakefilerdsKconfigMakefilerfkillKconfigMakefileroseMakefilerxrpcKconfigMakefileschedKconfigMakefilesctpKconfigMakefilesmcKconfigMakefilestrparserKconfigMakefilesunrpcKconfigMakefileauth_gssMakefilexprtrdmaMakefileswitchdevKconfigMakefiletipcKconfigMakefiletlsKconfigMakefileunixKconfigMakefilevmw_vsockKconfigMakefilewimaxKconfigMakefilewirelessKconfigMakefilex25KconfigMakefilexdpKconfigMakefilexfrmKconfigMakefilesamplesKconfigMakefileauxdisplayMakefilebpfMakefileMakefile.targetconfigfsMakefileconnectorMakefilehidrawMakefilehw_breakpointMakefilekdbMakefilekfifoMakefilekobjectMakefilekprobesMakefilelivepatchMakefilemeiMakefilemicmpssdMakefilenitro_enclavesMakefileqmiMakefilerpmsgMakefileseccompMakefiletimersMakefiletrace_eventsMakefiletrace_printkMakefileuhidMakefilev4lMakefilevfio-mdevMakefilevfsMakefilewatchdogMakefilescriptsKbuild.includeKconfig.includeLindentMakefileMakefile.asm-genericMakefile.buildMakefile.cleanMakefile.dtbinstMakefile.extrawarnMakefile.gcc-pluginsMakefile.headersinstMakefile.hostMakefile.kasanMakefile.kcovMakefile.kcsanMakefile.libMakefile.modbuiltinMakefile.modinstMakefile.modpostMakefile.modsignMakefile.ubsanadjust_autoksyms.shasn1_compilerasn1_compiler.cbasicMakefilebin2cbin2c.cfixdepfixdep.cmodules.orderbloat-o-meterbootgraph.plbpf_doc.pycc-can-link.shcheck_00index.shcheck_extable.shcheckincludes.plcheckkconfigsymbols.pycheckpatch.plcheckstack.plchecksyscalls.shcheckversion.plclang-toolsgen_compile_commands.pyrun-clang-tools.pyclang-version.shcleanfilecleanpatchcoccicheckcoccinelleapiallocalloc_cast.coccipool_zalloc-simple.coccizalloc-simple.coccicheck_bq27xxx_data.coccid_find_alias.coccidebugfsdebugfs_simple_attr.coccidrm-get-put.coccierr_cast.coccikstrdup.coccimemdup.coccimemdup_user.cocciplatform_no_drv_owner.coccipm_runtime.cocciptr_ret.cocciresource_size.coccisimple_open.coccivma_pages.coccifreeclk_put.coccidevm_free.cocciifnullfree.cocciiounmap.coccikfree.coccikfreeaddr.coccipci_free_consistent.cocciiteratorsdevice_node_continue.coccifen.cocciitnull.coccilist_entry_update.cocciuse_after_iter.coccilockscall_kern.coccidouble_lock.cocciflags.coccimini_lock.coccimiscarray_size.coccibadty.cocciboolconv.cocciboolinit.cocciboolreturn.coccibugon.coccicond_no_effect.coccicstptr.coccidoubleinit.cocciifaddr.cocciifcol.cocciirqf_oneshot.coccinewline_in_nl_msg.coccinoderef.cocciof_table.cocciorplus.coccireturnvar.coccisemicolon.cocciwarn.coccinullbadzero.coccideref_null.coccieno.coccikmerr.coccitestsdoublebitand.coccidoubletest.cocciodd_ptr_err.cocciunsigned_lesser_than_zero.cocciconfigconmakehashconmakehash.cconst_structs.checkpatchdecode_stacktrace.shdecodecodedepmod.shdiffconfigdocumentation-file-ref-checkdtcMakefileMakefile.dtcchecks.cdata.cdt_to_configdtc-lexer.ldtc-parser.ydtc.cdtc.hdtx_difffdtdump.cfdtget.cfdtput.cflattree.cfstree.cinclude-prefixesarcarmarm64c6xdt-bindingsh8300microblazemipsnios2openriscpowerpcshxtensalibfdtMakefile.libfdtfdt.cfdt.hfdt_addresses.cfdt_empty_tree.cfdt_overlay.cfdt_ro.cfdt_rw.cfdt_strerror.cfdt_sw.cfdt_wip.clibfdt.hlibfdt_env.hlibfdt_internal.hlivetree.csrcpos.csrcpos.htreesource.cupdate-dtc-source.shutil.cutil.hversion_gen.hyamltree.cexport_report.plextract-certextract-cert.cextract-ikconfigextract-module-sig.plextract-sys-certs.plextract-vmlinuxextract_xc3028.plfaddr2linefile-size.shfind-unused-docs.shgcc-goto.shgcc-ldgcc-plugin.shgcc-pluginsMakefilecyc_complexity_plugin.cgcc-common.hgcc-generate-gimple-pass.hgcc-generate-ipa-pass.hgcc-generate-rtl-pass.hgcc-generate-simple_ipa-pass.hgen-random-seed.shlatent_entropy_plugin.crandomize_layout_plugin.csancov_plugin.cstructleak_plugin.cgcc-version.shgcc-x86_32-has-stack-protector.shgcc-x86_64-has-stack-protector.shgdbMakefilelinuxMakefile__init__.pyconstants.py.incpus.pydmesg.pylists.pymodules.pyproc.pysymbols.pytasks.pyutils.pyvmlinux-gdb.pygen_initramfs_list.shgenksymsMakefilegenksymsgenksyms.cgenksyms.hkeywords.clex.llex.lex.cmodules.orderparse.tab.cparse.tab.hparse.yget_dvb_firmwareget_maintainer.plgfp-translateheaderdep.plheaders.shheaders_check.plheaders_install.shinsert-sys-cert.ckallsymskallsyms.ckconfigMakefileconfconf.cconfdata.cexpr.cexpr.hgconf-cfg.shgconf.cgconf.gladeimages.ckconf_id.clist.hlkc.hlkc_proto.hlxdialogBIG.FAT.WARNINGchecklist.cdialog.hinputbox.cmenubox.ctextbox.cutil.cyesno.cmconf-cfg.shmconf.cmenu.cmerge_config.shnconf-cfg.shnconf.cnconf.gui.cnconf.hpreprocess.cqconf-cfg.shqconf.ccqconf.hstreamline_config.plsymbol.ctestsauto_submenuKconfig__init__.pyexpected_stdoutchoiceKconfig__init__.pyalldef_expected_configallmod_expected_configallno_expected_configallyes_expected_configoldask0_expected_stdoutoldask1_configoldask1_expected_stdoutchoice_value_with_m_depKconfig__init__.pyconfigexpected_configexpected_stdoutconftest.pyerr_recursive_depKconfig__init__.pyexpected_stderrerr_recursive_incKconfigKconfig.inc1Kconfig.inc2Kconfig.inc3__init__.pyexpected_stderrinter_choiceKconfig__init__.pydefconfigexpected_confignew_choice_with_depKconfig__init__.pyconfigexpected_stdoutno_write_if_dep_unmetKconfig__init__.pyconfigexpected_configpreprocessbuiltin_funcKconfig__init__.pyexpected_stderrexpected_stdoutcircular_expansionKconfig__init__.pyexpected_stderrescapeKconfig__init__.pyexpected_stderrvariableKconfig__init__.pyexpected_stderrpytest.inirand_nested_choiceKconfig__init__.pyexpected_stdout0expected_stdout1expected_stdout2util.czconf.lzconf.lex.czconf.tab.czconf.ykernel-docksymoopsREADMEld-version.shleaking_addresses.pllink-vmlinux.shmakelstmarkup_oops.plmkcompile_hmkmakefilemksysmapmkuboot.shmodMakefiledevicetable-offsets.cdevicetable-offsets.hdevicetable-offsets.selfconfig.hempty.cfile2alias.cmk_elfconfigmk_elfconfig.cmodpostmodpost.cmodpost.hmodules.ordersumversion.cmodule-common.ldsmodules.ordernamespace.plobjdiffpackageMakefilebuilddebbuildtarmkdebianmkspecsnapcraft.templateparse-maintainers.plpatch-kernelpnmtologopnmtologo.cprofile2linkerlist.plprune-kernelrecordmcountrecordmcount.crecordmcount.hrecordmcount.plselinuxMakefileREADMEgenheadersMakefilegenheadersgenheaders.cmodules.orderinstall_policy.shmdpMakefiledbus_contextsmdpmdp.cmodules.ordermodules.ordersetlocalversionshow_deltasign-filesign-file.csortextablesortextable.csortextable.hspelling.txtsphinx-pre-installsplit-man.plstackdeltastackusagesubarch.includetags.shunifdefunifdef.cver_linuxxen-hypercalls.shxz_wrap.shsecurityKconfigKconfig.hardeningMakefileapparmorKconfigMakefilebpfMakefileintegrityKconfigMakefileevmKconfigMakefileimaKconfigMakefilekeysKconfigMakefileencrypted-keysMakefiletrusted-keysMakefileloadpinKconfigMakefileselinuxKconfigMakefileincludeclassmap.hinitial_sid_to_string.hsmackKconfigMakefiletomoyoKconfigMakefileyamaKconfigMakefilesoundKconfigMakefileac97KconfigMakefileaoaKconfigMakefilecodecsKconfigMakefilecoreMakefilefabricsKconfigMakefilesoundbusKconfigMakefilei2sbusMakefilearmKconfigMakefileatmelKconfigMakefilecoreKconfigMakefileossMakefileseqKconfigMakefileossMakefiledriversKconfigMakefilempu401Makefileopl3Makefileopl4MakefilepcspMakefilevxMakefilefirewireKconfigMakefilebebobMakefilediceMakefiledigi00xMakefilefirefaceMakefilefireworksMakefilemotuMakefileoxfwMakefiletascamMakefilehdaKconfigMakefileextMakefilei2cMakefileotherMakefileisaKconfigMakefilead1816aMakefilead1848Makefilecs423xMakefilees1688MakefilegalaxyMakefilegusMakefilemsndMakefileopti9xxMakefilesbMakefilewavefrontMakefilewssMakefilemipsKconfigMakefileossdmasoundKconfigMakefilepariscKconfigMakefilepciKconfigMakefileac97Makefileali5451MakefileasihpiMakefileau88x0Makefileaw2Makefileca0106Makefilecs46xxMakefilecs5535audioMakefilectxfiMakefileechoaudioMakefileemu10k1MakefilehdaKconfigMakefileice1712Makefilekorg1212MakefilelolaMakefilelx6464esMakefilemixartMakefilenm256MakefileoxygenMakefilepcxhrMakefileriptideMakefilerme9652MakefiletridentMakefilevx222MakefileymfpciMakefilepcmciaKconfigMakefilepdaudiocfMakefilevxMakefileppcKconfigMakefileshKconfigMakefilesocKconfigMakefileadiKconfigMakefileamdKconfigMakefileacpKconfigMakefileravenMakefilerenoirMakefilerplMakefilevangoghMakefileycMakefileatmelKconfigMakefileau1xKconfigMakefilebcmKconfigMakefilecirrusKconfigMakefilecodecsKconfigMakefiledwcKconfigMakefilefslKconfigMakefilegenericKconfigMakefilehisiliconKconfigMakefileimgKconfigMakefileintelKconfigMakefileatomMakefilesstMakefileavsMakefileboardsKconfigMakefileboardsKconfigMakefilecatptMakefilecommonMakefilekeembayMakefileskylakeMakefilejz4740KconfigMakefilekirkwoodKconfigMakefilemediatekKconfigMakefilecommonMakefilemt2701Makefilemt6797Makefilemt8173Makefilemt8183MakefilemesonKconfigMakefilemxsKconfigMakefilepxaKconfigMakefileqcomKconfigMakefileqdsp6MakefilerockchipKconfigMakefilesamsungKconfigMakefileshKconfigMakefilercarMakefilesofKconfigMakefileamdKconfigMakefileimxKconfigMakefileintelKconfigMakefilemediatekKconfigMakefilemt8186Makefilemt8195MakefilextensaKconfigMakefilespearKconfigMakefilesprdKconfigMakefilestiKconfigMakefilestmKconfigMakefilesunxiKconfigMakefiletegraKconfigMakefiletiKconfigMakefiletxx9KconfigMakefileuniphierKconfigMakefileux500KconfigMakefilexilinxKconfigMakefilextensaKconfigMakefilesparcKconfigMakefilespiKconfigMakefilesynthKconfigMakefileemuxMakefileusb6fireMakefileKconfigMakefilebcd2000MakefilecaiaqMakefilehifaceMakefileline6KconfigMakefilemiscMakefileusx2yMakefilevirtioKconfigMakefilex86KconfigMakefilexenKconfigMakefiletoolsMakefileaccountingMakefilearchx86intel_sdsiMakefilebpfMakefilebpftoolDocumentationMakefileMakefileresolve_btfidsMakefilerunqslowerMakefilebuildMakefileMakefile.buildMakefile.featureMakefile.includefeatureMakefiletestsexMakefilecgroupMakefilefirewireMakefilegpioMakefilehvMakefileiioMakefileincludetoolsbe_byteshift.hle_byteshift.hio_uringMakefilekvmkvm_statMakefilelaptopdslmMakefilefreefallMakefileledsMakefilelibapiMakefilebpfMakefilelockdepMakefileperfDocumentationMakefileMakefilesubcmdMakefiletraceeventDocumentationMakefileMakefilepluginsMakefileobjtoolMakefileobjtoolpciMakefilepcmciaMakefileperfDocumentationMakefileMakefileMakefile.configMakefile.perfarcharmMakefilearm64MakefilecskyMakefilemipsMakefilepowerpcMakefiles390MakefileshMakefilesparcMakefilex86MakefilextensaMakefilescriptsperlPerf-Trace-UtilMakefile.PLpoweracpiMakefileMakefile.configMakefile.rulestoolsacpidbgMakefileacpidumpMakefileecMakefilecpupowerMakefilebenchMakefiledebugi386MakefilekernelMakefilex86_64Makefilepm-graphMakefilex86intel-speed-selectMakefileturbostatMakefilex86_energy_perf_policyMakefilescriptsMakefile.archMakefile.includespiMakefiletestingnvdimmMakefileradix-treeMakefilescatterlistMakefileselftestsMakefileandroidMakefileionMakefilebpfMakefileMakefile.docsbpf_testmodMakefilebreakpointsMakefilecapabilitiesMakefilecgroupMakefilecoreMakefilecpu-hotplugMakefilecpufreqMakefiledamonMakefiledriversnetbondingMakefileteamMakefileefivarfsMakefileexecMakefilefilesystemsMakefilefirmwareMakefilefpuMakefileftraceMakefilefutexMakefilefunctionalMakefilegpioMakefileia64Makefileintel_pstateMakefileipcMakefilekcmpMakefilekexecMakefilekmodMakefilekvmMakefilelibMakefilelivepatchMakefilelockingMakefilemedia_testsMakefilemembarrierMakefilememfdMakefilememory-hotplugMakefilemountMakefilemqueueMakefilenetMakefileforwardingMakefilemptcpMakefilenetfilterMakefilensfsMakefilepowerpcMakefilealignmentMakefilebenchmarksMakefilecache_shapeMakefilecopyloopsMakefiledscrMakefileeehMakefilemathMakefilemceMakefilemmMakefilepapr_attributesMakefilepmuMakefileebbMakefilesampling_testsMakefileprimitivesMakefileptraceMakefilesignalMakefilestringloopsMakefileswitch_endianMakefilesyscallsMakefiletmMakefilevphnMakefileprctlMakefileprocMakefilepstoreMakefileptpMakefileptraceMakefilercutortureMakefileformalsrcu-cbmcMakefiletestsstore_bufferingMakefilerseqMakefilertcMakefileseccompMakefilesgxMakefilesigaltstackMakefilesizeMakefilesparc64MakefiledriversMakefilespliceMakefilestatic_keysMakefilesyncMakefilesysctlMakefiletc-testingMakefiletdxMakefiletimensMakefiletimersMakefiletpm2MakefileueventMakefileuserMakefilevDSOMakefilevmMakefilewatchdogMakefilex86MakefilezramMakefilevsockMakefilethermaltmonMakefileusbMakefileffs-aio-examplemultibuffhost_appMakefilesimplehost_appMakefileusbipMakefile.amlibsrcMakefile.amsrcMakefile.amvirtioMakefileringtestMakefilevhost_testMakefilevirtio-traceMakefilevmMakefilewmiMakefileusrKconfigMakefilevirtMakefilekvmKconfigMakefile.kvmlibKconfigMakefilevmlinux.hvmlinux.id/usr/src/kernels//usr/src/kernels/4.18.0-485.el8.x86_64+debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/alpha//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/alpha/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/alpha/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/alpha/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/alpha/math-emu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/alpha/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/alpha/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arc/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arc/boot/dts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arc/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arc/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arc/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arc/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arc/plat-axs10x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arc/plat-eznps//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arc/plat-hsdk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arc/plat-sim//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arc/plat-tb10x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/boot/bootp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/boot/compressed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/boot/dts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/firmware//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-actions//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-alpine//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-artpec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-asm9260//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-aspeed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-at91//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-axxia//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-bcm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-berlin//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-clps711x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-cns3xxx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-davinci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-digicolor//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-dove//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-ebsa110//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-efm32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-ep93xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-exynos//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-footbridge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-gemini//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-highbank//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-hisi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-imx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-imx/devices//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-integrator//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-iop13xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-iop32x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-iop33x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-ixp4xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-keystone//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-ks8695//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-lpc18xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-lpc32xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-meson//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-mmp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-moxart//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-mv78xx0//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-mvebu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-mxs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-netx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-nomadik//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-npcm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-nspire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-omap1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-omap2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-orion5x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-oxnas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-picoxcell//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-prima2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-pxa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-qcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-realview//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-rockchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-rpc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-s3c24xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-s3c64xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-s5pv210//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-sa1100//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-shmobile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-socfpga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-spear//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-sti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-stm32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-sunxi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-tango//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-tegra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-u300//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-uniphier//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-ux500//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-versatile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-vexpress//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-vt8500//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-w90x900//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-zx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mach-zynq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/nwfpe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/plat-iop//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/plat-omap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/plat-orion//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/plat-pxa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/plat-samsung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/plat-versatile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/probes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/probes/kprobes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/probes/uprobes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/tools//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/vdso//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/vfp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm/xen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/actions//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/al//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/allwinner//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/altera//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/amlogic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/apm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/arm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/broadcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/broadcom/northstar2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/broadcom/stingray//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/cavium//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/exynos//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/freescale//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/hisilicon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/lg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/marvell//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/nvidia//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/qcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/realtek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/renesas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/rockchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/socionext//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/sprd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/synaptics//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/xilinx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/boot/dts/zte//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/hyperv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/kernel/probes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/kernel/vdso//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/kernel/vdso32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/kvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/kvm/hyp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/kvm/hyp/nvhe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/kvm/hyp/vhe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/tools//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/arm64/xen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/c6x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/c6x/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/c6x/boot/dts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/c6x/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/c6x/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/c6x/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/c6x/platforms//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/h8300//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/h8300/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/h8300/boot/compressed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/h8300/boot/dts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/h8300/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/h8300/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/h8300/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/hexagon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/hexagon/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/hexagon/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/hexagon/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/dig//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/hp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/hp/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/hp/sim//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/hp/sim/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/hp/zx1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/sn//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/sn/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/sn/kernel/sn2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/sn/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/sn/pci/pcibr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/uv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/ia64/uv/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/68000//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/amiga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/apollo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/atari//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/bvme6000//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/coldfire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/emu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/fpsp040//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/hp300//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/ifpsp060//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/mac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/math-emu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/mvme147//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/mvme16x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/q40//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/sun3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/sun3/prom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/sun3x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/tools//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/m68k/tools/amiga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/microblaze//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/microblaze/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/microblaze/boot/dts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/microblaze/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/microblaze/kernel/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/microblaze/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/microblaze/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/microblaze/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/microblaze/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/alchemy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/alchemy/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/alchemy/devboards//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/ar7//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/ath25//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/ath79//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/bcm47xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/bcm63xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/bcm63xx/boards//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/bmips//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/compressed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts/brcm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts/cavium-octeon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts/img//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts/ingenic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts/lantiq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts/mscc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts/mti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts/netlogic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts/ni//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts/pic32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts/qca//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts/ralink//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/dts/xilfpga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/boot/tools//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/cavium-octeon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/cavium-octeon/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/cavium-octeon/executive//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/cobalt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/dec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/dec/prom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/emma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/emma/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/emma/markeins//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/fw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/fw/arc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/fw/cfe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/fw/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/fw/sni//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/generic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/jazz//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/jz4740//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/kvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/lantiq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/lantiq/falcon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/lantiq/xway//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/lasat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/lasat/image//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/loongson32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/loongson32/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/loongson32/ls1b//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/loongson32/ls1c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/loongson64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/loongson64/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/loongson64/common/cs5536//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/loongson64/fuloong-2e//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/loongson64/lemote-2f//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/loongson64/loongson-3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/math-emu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/mti-malta//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/netlogic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/netlogic/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/netlogic/xlp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/netlogic/xlr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/paravirt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/pic32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/pic32/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/pic32/pic32mzda//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/pistachio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/pmcs-msp71xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/pnx833x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/pnx833x/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/pnx833x/stb22x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/ralink//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/rb532//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/sgi-ip22//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/sgi-ip27//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/sgi-ip32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/sibyte//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/sibyte/bcm1480//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/sibyte/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/sibyte/sb1250//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/sibyte/swarm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/sni//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/txx9//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/txx9/generic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/txx9/jmr3927//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/txx9/rbtx4927//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/txx9/rbtx4938//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/txx9/rbtx4939//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/vdso//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/vr41xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/vr41xx/casio-e55//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/vr41xx/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/mips/vr41xx/ibm-workpad//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nds32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nds32/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nds32/boot/dts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nds32/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nds32/kernel/vdso//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nds32/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nds32/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nios2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nios2/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nios2/boot/compressed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nios2/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nios2/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nios2/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/nios2/platform//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/openrisc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/openrisc/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/openrisc/boot/dts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/openrisc/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/openrisc/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/openrisc/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/parisc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/parisc/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/parisc/boot/compressed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/parisc/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/parisc/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/parisc/math-emu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/parisc/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/parisc/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/kernel/ptrace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/kernel/trace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/kernel/vdso32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/kernel/vdso64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/kvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/math-emu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/mm/book3s32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/mm/book3s64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/perf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/40x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/44x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/4xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/512x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/52xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/82xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/83xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/85xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/86xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/8xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/amigaone//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/book3s//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/cell//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/cell/spufs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/chrp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/embedded6xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/maple//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/pasemi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/powermac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/powernv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/ps3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/platforms/pseries//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/purgatory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/sysdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/sysdev/ge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/sysdev/xics//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/sysdev/xive//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/powerpc/xmon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/riscv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/riscv/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/riscv/kernel/vdso//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/riscv/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/riscv/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/appldata//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/boot/compressed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/hypfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/kernel/syscalls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/kernel/vdso32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/kernel/vdso64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/kvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/numa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/purgatory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/scripts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/s390/tools//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-ap325rxa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-cayman//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-dreamcast//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-ecovec24//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-highlander//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-hp6xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-kfr2r09//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-landisk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-lboxre2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-microdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-migor//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-r2d//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-rsk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-sdk7780//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-sdk7786//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-se//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-se/7206//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-se/7343//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-se/770x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-se/7721//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-se/7722//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-se/7724//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-se/7751//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-se/7780//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-sh03//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-sh7763rdp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boards/mach-x3proto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boot/compressed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boot/dts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/boot/romimage//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/cchips//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/cchips/hd6446x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/drivers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/drivers/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/drivers/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/drivers/superhyway//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/kernel/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/kernel/cpu/irq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/kernel/cpu/sh2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/kernel/cpu/sh2a//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/kernel/cpu/sh3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/kernel/cpu/sh4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/kernel/cpu/sh4a//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/kernel/cpu/sh5//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/kernel/cpu/shmobile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/kernel/vsyscall//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/lib64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/math-emu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sh/tools//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sparc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sparc/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sparc/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sparc/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sparc/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sparc/math-emu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sparc/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sparc/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sparc/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sparc/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sparc/prom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/sparc/vdso//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/um//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/um/drivers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/um/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/um/kernel/skas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/um/os-Linux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/um/os-Linux/drivers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/um/os-Linux/skas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/um/scripts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/unicore32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/unicore32/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/unicore32/boot/compressed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/unicore32/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/unicore32/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/unicore32/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/boot/compressed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/coco//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/coco/tdx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/crypto/sha1-mb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/crypto/sha256-mb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/crypto/sha512-mb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/entry//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/entry/syscalls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/entry/vdso//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/entry/vsyscall//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/events//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/events/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/events/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/hyperv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/ia32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/asm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/asm/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/asm/e820//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/asm/fpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/asm/numachip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/asm/shared//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/asm/trace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/asm/uv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/asm/vdso//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/asm/xen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/generated//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/generated/asm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/generated/uapi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/generated/uapi/asm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/uapi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/include/uapi/asm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/kernel/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/kernel/apic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/kernel/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/kernel/cpu/mce//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/kernel/cpu/microcode//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/kernel/cpu/mtrr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/kernel/cpu/resctrl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/kernel/cpu/sgx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/kernel/fpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/kernel/kprobes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/kvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/math-emu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/mm/pat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/atom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/ce4100//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/efi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/geode//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/goldfish//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/intel-mid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/intel-mid/device_libs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/intel-quark//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/iris//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/olpc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/scx200//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/sfi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/ts5500//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/platform/uv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/purgatory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/ras//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/realmode//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/realmode/rm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/tools//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/um//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/um/os-Linux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/um/vdso//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/video//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/x86/xen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa/boot/boot-elf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa/boot/boot-redboot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa/boot/dts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa/boot/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa/platforms//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa/platforms/iss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa/platforms/xt2000//usr/src/kernels/4.18.0-485.el8.x86_64+debug/arch/xtensa/platforms/xtfpga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/block//usr/src/kernels/4.18.0-485.el8.x86_64+debug/block/partitions//usr/src/kernels/4.18.0-485.el8.x86_64+debug/certs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/crypto/asymmetric_keys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/crypto/async_tx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/accessibility//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/accessibility/braille//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/acpi/acpica//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/acpi/apei//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/acpi/arm64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/acpi/dptf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/acpi/nfit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/acpi/numa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/acpi/pmic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/amba//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/android//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ata//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/atm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/auxdisplay//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/base//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/base/firmware_loader//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/base/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/base/regmap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/base/test//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/bcma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/block//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/block/aoe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/block/drbd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/block/mtip32xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/block/paride//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/block/rsxx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/block/xen-blkback//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/block/zram//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/bluetooth//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/bus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/bus/fsl-mc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/bus/mhi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/bus/mhi/ep//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/bus/mhi/host//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/cdrom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/char//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/char/agp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/char/hw_random//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/char/ipmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/char/mwave//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/char/pcmcia//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/char/tpm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/char/tpm/st33zp24//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/char/xilinx_hwicap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/char/xillybus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/actions//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/at91//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/axis//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/axs10x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/bcm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/berlin//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/davinci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/h8300//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/hisilicon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/imgtec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/imx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/ingenic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/keystone//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/loongson1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/meson//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/microchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/mmp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/mvebu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/mxs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/nxp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/pistachio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/pxa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/qcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/renesas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/rockchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/samsung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/sirf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/socfpga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/spear//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/sprd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/st//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/sunxi-ng//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/sunxi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/tegra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/ti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/uniphier//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/ux500//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/versatile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/zte//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clk/zynq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/clocksource//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/connector//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/counter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/cpufreq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/cpuidle//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/cpuidle/governors//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/amcc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/axis//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/bcm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/caam//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/cavium//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/cavium/cpt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/cavium/nitrox//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/cavium/zip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/ccp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/ccree//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/chelsio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/chelsio/chtls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/inside-secure//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/marvell//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/nx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/qat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/qat/qat_4xxx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/qat/qat_c3xxx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/qat/qat_c3xxxvf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/qat/qat_c62x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/qat/qat_c62xvf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/qat/qat_common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/qat/qat_dh895xcc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/qat/qat_dh895xccvf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/qce//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/rockchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/stm32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/sunxi-ss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/ux500//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/ux500/cryp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/ux500/hash//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/virtio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/crypto/vmx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dax//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dax/hmem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dax/pmem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dca//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/devfreq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/devfreq/event//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma-buf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma-buf/heaps//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/bestcomm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/dw-axi-dmac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/dw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/hsu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/idxd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/ioat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/ipu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/ppc4xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/ptdma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/qcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/sh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/ti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/dma/xilinx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/edac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/eisa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/extcon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/firewire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/firmware//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/firmware/arm_scmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/firmware/broadcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/firmware/cirrus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/firmware/efi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/firmware/efi/libstub//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/firmware/efi/test//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/firmware/google//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/firmware/meson//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/firmware/psci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/firmware/smccc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/firmware/tegra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/fmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/fpga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/fsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/acp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/amdgpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/amdkfd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/amdgpu_dm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/basics//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/bios//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/clk_mgr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dce//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dce100//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dce110//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dce112//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dce120//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dce60//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dce80//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn10//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn20//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn201//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn21//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn30//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn301//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn302//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn303//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn31//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn314//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn315//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn316//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dcn321//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dml//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/dsc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/gpio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/hdcp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/irq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/link//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dc/virtual//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dmub//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/dmub/src//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/modules//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/modules/color//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/modules/freesync//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/modules/hdcp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/modules/info_packet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/display/modules/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/pm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/pm/legacy-dpm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/pm/powerplay//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/pm/powerplay/hwmgr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/pm/powerplay/smumgr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/pm/swsmu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/pm/swsmu/smu11//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/pm/swsmu/smu12//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/amd/pm/swsmu/smu13//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/arm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/armada//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/aspeed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/ast//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/atmel-hlcdc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/bridge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/bridge/adv7511//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/bridge/analogix//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/bridge/cadence//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/bridge/imx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/bridge/synopsys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/display//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/etnaviv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/exynos//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/fsl-dcu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/gma500//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/gud//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/hisilicon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/hisilicon/hibmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/hisilicon/kirin//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/hyperv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/i810//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/i915//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/i915/gvt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/imx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/kmb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/logicvc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/meson//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/mga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/mgag200//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/msm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/mxsfb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/nouveau//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/omapdrm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/omapdrm/displays//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/omapdrm/dss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/panel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/pl111//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/qxl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/r128//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/radeon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/rcar-du//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/rockchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/savage//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/scheduler//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/selftests//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/shmobile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/sis//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/solomon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/sprd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/sti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/stm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/sun4i//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/tdfx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/tegra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/tests//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/tilcdc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/tiny//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/ttm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/tve200//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/udl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/v3d//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/vboxvideo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/vc4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/vgem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/via//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/virtio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/vkms//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/vmwgfx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/drm/xen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/host1x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/ipu-v3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/gpu/vga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hid/amd-sfh-hid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hid/i2c-hid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hid/intel-ish-hid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hid/surface-hid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hid/usbhid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hsi/clients//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hsi/controllers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hwmon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hwmon/pmbus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hwspinlock//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hwtracing//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hwtracing/coresight//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hwtracing/intel_th//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/hwtracing/stm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/i2c/algos//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/i2c/busses//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/i2c/muxes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ide//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/idle//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/accel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/adc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/afe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/amplifiers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/buffer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/chemical//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/common/cros_ec_sensors//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/common/hid-sensors//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/common/ms_sensors//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/common/ssp_sensors//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/common/st_sensors//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/counter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/dac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/dummy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/frequency//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/gyro//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/health//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/humidity//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/imu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/imu/bmi160//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/imu/inv_mpu6050//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/imu/st_lsm6dsx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/light//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/magnetometer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/multiplexer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/orientation//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/potentiometer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/potentiostat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/pressure//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/proximity//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/resolver//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/temperature//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iio/trigger//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/bnxt_re//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/cxgb4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/efa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/hfi1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/hns//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/irdma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/mlx4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/mlx5//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/mthca//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/ocrdma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/qedr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/qib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/usnic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/hw/vmw_pvrdma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/sw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/sw/rdmavt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/sw/rxe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/sw/siw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/ulp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/ulp/ipoib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/ulp/iser//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/ulp/isert//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/ulp/opa_vnic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/ulp/srp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/infiniband/ulp/srpt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/input//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/input/gameport//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/input/joystick//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/input/joystick/iforce//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/input/keyboard//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/input/misc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/input/mouse//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/input/rmi4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/input/serio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/input/tablet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/input/touchscreen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iommu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iommu/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iommu/arm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iommu/arm/arm-smmu-v3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iommu/arm/arm-smmu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/iommu/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ipack//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ipack/carriers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ipack/devices//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/irqchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/isdn//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/isdn/capi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/isdn/divert//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/isdn/gigaset//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/isdn/hardware//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/isdn/hardware/avm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/isdn/hardware/eicon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/isdn/hardware/mISDN//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/isdn/hisax//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/isdn/hysdn//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/isdn/i4l//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/isdn/isdnloop//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/isdn/mISDN//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/leds//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/leds/trigger//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/lightnvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/macintosh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/macintosh/ams//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mailbox//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mcb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/md//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/md/bcache//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/md/persistent-data//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/cec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/common/b2c2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/common/saa7146//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/common/siano//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/common/v4l2-tpg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/common/videobuf2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/dvb-core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/dvb-frontends//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/dvb-frontends/cxd2880//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/dvb-frontends/drx39xyj//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/firewire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/i2c/adv748x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/i2c/cx25840//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/i2c/et8ek8//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/i2c/m5mols//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/i2c/s5c73m3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/i2c/smiapp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/i2c/soc_camera//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/mmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/mmc/siano//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/b2c2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/bt8xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/cobalt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/cx18//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/cx23885//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/cx25821//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/cx88//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/ddbridge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/dm1105//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/dt3155//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/intel/ipu3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/ivtv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/mantis//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/meye//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/netup_unidvb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/ngene//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/pluto2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/pt1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/pt3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/saa7134//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/saa7146//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/saa7164//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/smipcie//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/solo6x10//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/sta2x11//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/ttpci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/tw5864//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/tw68//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/pci/tw686x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/am437x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/atmel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/cadence//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/cec-gpio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/coda//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/davinci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/exynos-gsc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/exynos4-is//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/marvell-ccic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/meson//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/mtk-jpeg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/mtk-mdp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/mtk-vcodec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/mtk-vpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/omap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/omap3isp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/qcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/qcom/camss-8x16//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/qcom/venus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/rcar-vin//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/rockchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/rockchip/rga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/s3c-camif//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/s5p-cec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/s5p-g2d//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/s5p-jpeg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/s5p-mfc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/soc_camera//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/sti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/sti/bdisp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/sti/c8sectpfe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/sti/cec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/sti/delta//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/sti/hva//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/stm32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/tegra-cec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/ti-vpe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/vimc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/vivid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/vsp1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/platform/xilinx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/radio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/radio/si470x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/radio/si4713//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/radio/wl128x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/rc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/rc/img-ir//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/rc/keymaps//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/spi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/tuners//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/airspy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/as102//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/au0828//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/b2c2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/cpia2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/cx231xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/dvb-usb-v2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/dvb-usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/em28xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/go7007//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/gspca//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/gspca/gl860//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/gspca/m5602//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/gspca/stv06xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/hackrf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/hdpvr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/msi2500//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/pulse8-cec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/pvrusb2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/pwc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/rainshadow-cec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/s2255//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/siano//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/stk1160//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/stkwebcam//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/tm6000//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/ttusb-budget//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/ttusb-dec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/usbtv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/usbvision//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/uvc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/usb/zr364xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/media/v4l2-core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/memory/samsung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/memory/tegra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/memstick//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/memstick/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/memstick/host//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/message//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/message/fusion//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mfd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/altera-stapl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/c2port//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/cardreader//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/cb710//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/cxl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/echo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/eeprom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/genwqe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/ibmasm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/lis3lv02d//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/lkdtm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/mei//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/mei/hdcp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/mei/pxp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/mic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/mic/bus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/mic/card//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/mic/cosm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/mic/cosm_client//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/mic/host//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/mic/scif//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/mic/vop//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/ocxl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/sgi-gru//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/sgi-xp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/ti-st//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/misc/vmw_vmci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mmc/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mmc/host//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/chips//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/devices//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/lpddr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/maps//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/nand//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/nand/onenand//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/nand/raw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/nand/raw/atmel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/nand/raw/bcm47xxnflash//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/nand/raw/brcmnand//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/nand/raw/gpmi-nand//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/parsers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/spi-nor//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/tests//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mtd/ubi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/mux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/appletalk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/arcnet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/bonding//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/caif//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can/c_can//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can/cc770//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can/ifi_canfd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can/m_can//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can/mscan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can/peak_canfd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can/rcar//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can/sja1000//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can/softing//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can/spi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can/usb/kvaser_usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/can/usb/peak_usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/dsa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/dsa/b53//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/dsa/microchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/dsa/mv88e6xxx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/3com//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/8390//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/adaptec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/aeroflex//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/agere//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/alacritech//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/allwinner//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/alteon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/altera//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/amazon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/amazon/ena//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/amd/xgbe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/apm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/apm/xgene-v2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/apm/xgene//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/apple//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/aquantia//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/aquantia/atlantic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/aquantia/atlantic/hw_atl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/arc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/atheros//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/atheros/alx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/atheros/atl1c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/atheros/atl1e//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/atheros/atlx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/aurora//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/broadcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/broadcom/bnx2x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/broadcom/bnxt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/broadcom/genet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/brocade//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/brocade/bna//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/cadence//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/calxeda//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/cavium//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/cavium/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/cavium/liquidio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/cavium/octeon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/cavium/thunder//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/chelsio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/chelsio/cxgb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/chelsio/cxgb3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/chelsio/cxgb4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/chelsio/cxgb4vf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/chelsio/inline_crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/chelsio/libcxgb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/cirrus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/cisco//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/cisco/enic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/cortina//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/davicom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/dec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/dec/tulip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/dlink//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/emulex//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/emulex/benet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/ezchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/faraday//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/freescale//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/freescale/dpaa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/freescale/fman//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/freescale/fs_enet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/fujitsu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/google//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/google/gve//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/hisilicon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/hisilicon/hns//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/hisilicon/hns3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/hisilicon/hns3/hns3pf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/hisilicon/hns3/hns3vf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/hp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/huawei//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/huawei/hinic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/i825xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/ibm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/ibm/ehea//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/ibm/emac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/intel/e1000//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/intel/e1000e//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/intel/fm10k//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/intel/i40e//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/intel/iavf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/intel/ice//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/intel/igb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/intel/igbvf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/intel/igc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/intel/ixgb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/intel/ixgbe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/intel/ixgbevf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/marvell//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/marvell/mvpp2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlx4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlx5//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlx5/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlx5/core/accel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlx5/core/diag//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlx5/core/en//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlx5/core/en/xsk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlx5/core/en_accel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlx5/core/esw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlx5/core/fpga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlx5/core/ipoib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlx5/core/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlx5/core/steering//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlxbf_gige//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlxfw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mellanox/mlxsw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/micrel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/microchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/microsoft//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/microsoft/mana//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/moxa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/mscc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/myricom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/myricom/myri10ge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/natsemi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/neterion//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/neterion/vxge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/netronome//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/netronome/nfp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/netronome/nfp/bpf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/netronome/nfp/flower//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/netronome/nfp/nfpcore//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/netronome/nfp/nic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/ni//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/nuvoton//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/nvidia//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/nxp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/oki-semi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/oki-semi/pch_gbe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/packetengines//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/pasemi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/pensando//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/pensando/ionic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/qlogic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/qlogic/netxen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/qlogic/qed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/qlogic/qede//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/qlogic/qlcnic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/qlogic/qlge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/qualcomm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/qualcomm/emac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/qualcomm/rmnet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/rdc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/realtek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/renesas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/rocker//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/samsung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/samsung/sxgbe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/seeq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/sfc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/sfc/falcon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/sfc/siena//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/sgi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/silan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/sis//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/smsc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/socionext//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/stmicro//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/stmicro/stmmac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/sun//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/synopsys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/tehuti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/ti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/toshiba//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/tundra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/via//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/wiznet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/xilinx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/xircom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ethernet/xscale//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/fddi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/fddi/skfp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/fjes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/hamradio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/hippi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/hyperv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ieee802154//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ipvlan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/netdevsim//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/pcs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/phy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/plip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/ppp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/slip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/team//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/vmxnet3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wan/lmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wimax//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wimax/i2400m//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/admtek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ath//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ath/ar5523//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ath/ath10k//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ath/ath11k//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ath/ath5k//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ath/ath6kl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ath/ath9k//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ath/carl9170//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ath/wcn36xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ath/wil6210//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/atmel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/broadcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/broadcom/b43//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/broadcom/b43legacy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/broadcom/brcm80211//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/broadcom/brcm80211/brcmfmac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/broadcom/brcm80211/brcmsmac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/broadcom/brcm80211/brcmutil//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/cisco//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/intel/ipw2x00//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/intel/iwlegacy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/intel/iwlwifi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/intel/iwlwifi/dvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/intel/iwlwifi/mei//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/intel/iwlwifi/mvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/intersil//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/intersil/hostap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/intersil/orinoco//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/intersil/p54//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/intersil/prism54//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/marvell//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/marvell/libertas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/marvell/libertas_tf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/marvell/mwifiex//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/mediatek/mt76//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/mediatek/mt76/mt7603//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/mediatek/mt76/mt7615//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/mediatek/mt76/mt76x0//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/mediatek/mt76/mt76x2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/mediatek/mt76/mt7915//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/mediatek/mt76/mt7921//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/mediatek/mt7601u//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/quantenna//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/quantenna/qtnfmac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ralink//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ralink/rt2x00//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtl818x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtl818x/rtl8180//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtl818x/rtl8187//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtl8xxxu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtlwifi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtlwifi/btcoexist//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtlwifi/rtl8188ee//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtlwifi/rtl8192c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtlwifi/rtl8192ce//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtlwifi/rtl8192cu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtlwifi/rtl8192de//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtlwifi/rtl8192ee//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtlwifi/rtl8192se//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtlwifi/rtl8723ae//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtlwifi/rtl8723be//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtlwifi/rtl8723com//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtlwifi/rtl8821ae//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtw88//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/realtek/rtw89//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/rsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/st//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/st/cw1200//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ti/wl1251//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ti/wl12xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ti/wl18xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/ti/wlcore//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/zydas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/wireless/zydas/zd1211rw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/net/xen-netback//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nfc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nfc/fdp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nfc/microread//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nfc/nfcmrvl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nfc/nxp-nci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nfc/pn533//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nfc/pn544//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nfc/s3fwrn5//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nfc/st-nci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nfc/st21nfca//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nfc/st95hf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ntb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ntb/hw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ntb/hw/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ntb/hw/epf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ntb/hw/idt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ntb/hw/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ntb/hw/mscc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ntb/test//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nubus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nvdimm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nvme//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nvme/host//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nvme/target//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/nvmem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/of//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/of/unittest-data//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/opp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/parisc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/parport//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pci/controller//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pci/controller/dwc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pci/endpoint//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pci/endpoint/functions//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pci/hotplug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pci/pcie//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pci/switch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pcmcia//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/perf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/perf/hisilicon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/allwinner//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/amlogic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/broadcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/hisilicon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/lantiq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/marvell//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/motorola//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/qualcomm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/ralink//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/renesas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/rockchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/samsung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/st//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/tegra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/phy/ti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/actions//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/aspeed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/bcm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/berlin//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/freescale//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/meson//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/mvebu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/nomadik//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/pxa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/qcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/samsung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/sh-pfc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/sirf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/spear//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/sprd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/stm32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/sunxi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/tegra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/ti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/uniphier//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/vt8500//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pinctrl/zte//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/platform//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/platform/chrome//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/platform/goldfish//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/platform/mellanox//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/platform/mips//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/platform/olpc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/platform/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/platform/x86/dell-wmi-sysman//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/platform/x86/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/platform/x86/intel/pmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/platform/x86/intel/pmt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/platform/x86/intel/speed_select_if//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pnp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pnp/isapnp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pnp/pnpacpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pnp/pnpbios//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/power/avs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/power/reset//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/power/supply//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/powercap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pps//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pps/clients//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pps/generators//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ps3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ptp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/pwm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/rapidio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/rapidio/devices//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/rapidio/switches//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ras//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/regulator//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/remoteproc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/reset//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/reset/hisilicon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/reset/sti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/reset/tegra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/rpmsg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/rtc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/s390//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/s390/block//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/s390/char//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/s390/cio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/s390/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/s390/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/s390/scsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/s390/virtio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/sbus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/sbus/char//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/aacraid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/aic7xxx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/aic7xxx/aicasm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/aic94xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/arcmsr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/arm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/be2iscsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/bfa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/bnx2fc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/bnx2i//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/csiostor//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/cxgbi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/cxgbi/cxgb3i//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/cxgbi/cxgb4i//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/cxlflash//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/device_handler//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/esas2r//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/fcoe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/fnic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/hisi_sas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/ibmvscsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/ibmvscsi_tgt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/isci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/libfc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/libsas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/lpfc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/megaraid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/mpi3mr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/mpt3sas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/mvsas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/pcmcia//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/pm8001//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/qedf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/qedi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/qla2xxx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/qla4xxx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/smartpqi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/snic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/sym53c8xx_2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/scsi/ufs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/sfi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/sh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/sh/clk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/sh/intc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/sh/maple//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/sh/superhyway//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/siox//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/slimbus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/sn//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/actions//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/amlogic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/atmel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/bcm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/bcm/brcmstb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/bcm/brcmstb/pm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/dove//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/fsl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/fsl/qbman//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/fsl/qe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/gemini//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/imx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/lantiq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/qcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/renesas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/rockchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/samsung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/sunxi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/tegra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/tegra/fuse//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/ti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/ux500//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/versatile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/xilinx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soc/zte//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/soundwire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/spi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/spmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/ssb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/android//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/android/ion//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/board//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/clocking-wizard//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/comedi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/comedi/drivers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/comedi/kcomedilib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/dgnc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/emxx_udc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/fbtft//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/fsl-dpaa2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/fsl-dpaa2/ethernet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/fsl-dpaa2/ethsw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/fsl-dpaa2/rtc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/fsl-mc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/fsl-mc/bus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/fsl-mc/bus/dpio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/fwserial//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/gdm724x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/goldfish//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/greybus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/greybus/tools//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/gs_fpgaboot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/iio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/iio/accel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/iio/adc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/iio/addac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/iio/cdc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/iio/frequency//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/iio/gyro//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/iio/impedance-analyzer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/iio/meter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/iio/resolver//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/ks7010//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/media//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/media/bcm2048//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/media/davinci_vpfe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/media/imx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/media/imx074//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/media/mt9t031//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/media/omap4iss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/media/tegra-vde//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/media/zoran//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/most//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/most/cdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/most/dim2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/most/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/most/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/most/sound//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/most/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/most/video//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/mt29f_spinand//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/mt7621-dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/mt7621-dts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/mt7621-eth//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/mt7621-gpio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/mt7621-mmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/mt7621-pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/mt7621-pinctrl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/mt7621-spi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/netlogic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/nvec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/octeon-usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/octeon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/olpc_dcon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/pi433//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/rtl8188eu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/rtl8192e//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/rtl8192e/rtl8192e//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/rtl8192u//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/rtl8192u/ieee80211//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/rtl8712//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/rtl8723bs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/rtlwifi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/rtlwifi/btcoexist//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/rtlwifi/rtl8822be//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/rts5208//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/skein//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/sm750fb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/speakup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/unisys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/unisys/visorhba//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/unisys/visorinput//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/unisys/visornic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/vboxvideo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/vc04_services//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/vc04_services/bcm2835-audio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/vc04_services/bcm2835-camera//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/vme//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/vme/devices//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/vt6655//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/vt6656//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/wilc1000//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/wlan-ng//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/staging/xgifb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/target//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/target/iscsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/target/iscsi/cxgbit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/target/loopback//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/target/sbp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/target/tcm_fc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/tc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/tee//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/tee/optee//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/thermal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/thermal/broadcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/thermal/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/thermal/intel/int340x_thermal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/thermal/qcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/thermal/samsung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/thermal/st//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/thermal/tegra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/thermal/ti-soc-thermal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/thunderbolt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/tty//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/tty/hvc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/tty/ipwireless//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/tty/serdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/tty/serial//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/tty/serial/8250//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/tty/serial/cpm_uart//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/tty/serial/jsm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/tty/vt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/uio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/atm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/c67x00//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/chipidea//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/class//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/dwc2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/dwc3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/early//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/gadget//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/gadget/function//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/gadget/legacy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/gadget/udc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/gadget/udc/aspeed-vhub//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/gadget/udc/bdc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/host//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/host/whci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/image//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/isp1760//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/misc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/misc/sisusbvga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/mon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/mtu3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/musb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/phy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/renesas_usbhs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/roles//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/serial//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/storage//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/typec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/typec/altmodes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/typec/mux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/typec/tcpm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/typec/tipd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/typec/ucsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/usbip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/usb/wusbcore//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/uwb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/uwb/i1480//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/uwb/i1480/dfu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vdpa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vdpa/alibaba//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vdpa/ifcvf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vdpa/mlx5//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vdpa/vdpa_sim//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vdpa/virtio_pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vfio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vfio/mdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vfio/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vfio/platform//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vfio/platform/reset//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vhost//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/backlight//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/console//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/aty//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/geode//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/i810//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/intelfb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/kyro//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/matrox//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/mb862xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/mbx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/mmp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/mmp/fb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/mmp/hw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/mmp/panel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/nvidia//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/omap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/omap2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/omap2/omapfb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/omap2/omapfb/displays//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/omap2/omapfb/dss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/riva//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/savage//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/sis//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/vermilion//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/fbdev/via//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/video/logo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/virt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/virt/coco//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/virt/coco/sev-guest//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/virt/coco/tdx-guest//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/virt/nitro_enclaves//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/virt/vboxguest//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/virtio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/visorbus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vlynq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vme//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vme/boards//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/vme/bridges//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/w1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/w1/masters//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/w1/slaves//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/watchdog//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/xen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/xen/events//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/xen/xen-pciback//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/xen/xenbus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/xen/xenfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/drivers/zorro//usr/src/kernels/4.18.0-485.el8.x86_64+debug/firmware//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/9p//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/adfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/affs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/afs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/autofs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/befs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/bfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/btrfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/cachefiles//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/ceph//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/cifs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/coda//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/configfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/cramfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/debugfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/devpts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/dlm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/ecryptfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/efivarfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/efs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/exportfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/ext2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/ext4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/f2fs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/fat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/freevxfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/fscache//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/fuse//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/gfs2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/hfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/hfsplus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/hostfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/hpfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/hugetlbfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/iomap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/isofs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/jbd2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/jffs2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/jfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/kernfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/lockd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/minix//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/nfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/nfs/blocklayout//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/nfs/filelayout//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/nfs/flexfilelayout//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/nfs_common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/nfsd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/nilfs2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/nls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/notify//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/notify/dnotify//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/notify/fanotify//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/notify/inotify//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/ntfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/ocfs2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/ocfs2/cluster//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/ocfs2/dlm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/ocfs2/dlmfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/omfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/openpromfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/orangefs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/overlayfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/proc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/pstore//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/qnx4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/qnx6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/quota//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/ramfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/reiserfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/romfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/squashfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/sysfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/sysv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/tracefs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/ubifs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/udf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/ufs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/fs/xfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/acpi/platform//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/asm-generic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/asm-generic/bitops//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/asm-generic/vdso//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/clocksource//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/8139too//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ac97//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/apei//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/apei/erst//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/apei/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/cppc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/cpu/freq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/custom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/debugger//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/ec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/hotplug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/legacy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/legacy/tables//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/platform//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/processor//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/rev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/rev/override//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/spcr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/system//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/system/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/system/power/states//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/table//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/acpi/thermal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/advise//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/alim1535//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/alim7101//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/allow//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/allow/dev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/altera//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/amd/iommu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/amd/mem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/amd/sfh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/amd/xgbe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/amd/xgbe/have//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/amiga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/amilo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/aperture//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/apple//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/apple/mfi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/aquantia//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/clocksource//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/cpuidle//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/dma/addr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/dma/addr/t//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/enable//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/enable/hugepage//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/enable/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/enable/split//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/enable/split/pmd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/enable/thp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/acpi/table//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/add//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/cache//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/cache/line//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/cc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/devmem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/devmem/is//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/elf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/fast//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/filter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/force//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/force/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/fortify//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/gcov//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/gcov/profile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/gigantic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/kexec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/mem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/membarrier//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/membarrier/sync//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/non//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/non/overlapping//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/non/overlapping/address//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/pmem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/pte//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/set//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/set/direct//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/sg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/strict//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/strict/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/strict/module//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/sync//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/sync/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/sync/core/before//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/syscall//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/uaccess//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/ubsan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/ubsan/sanitize//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/has/zone//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/have//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/have/nmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/have/nmi/safe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/hibernation//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/may//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/may/have//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/may/have/pc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/might//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/might/have//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/might/have/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/might/have/pc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/mmap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/mmap/rnd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/mmap/rnd/bits//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/mmap/rnd/compat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/mmap/rnd/compat/bits//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/nr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/proc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/proc/kcore//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/select//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/select/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/sparsemem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/supports//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/supports/atomic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/supports/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/supports/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/supports/numa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/supports/optimized//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/suspend//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/use//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/use/builtin//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/use/cmpxchg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/use/memremap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/use/queued//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/uses//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/uses/high//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/uses/high/vma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/uses/pg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want/batched//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want/batched/unmap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want/batched/unmap/tlb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want/compat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want/compat/ipc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want/compat/ipc/parse//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want/default/bpf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want/general//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want/huge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want/huge/pmd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want/old//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/want/old/compat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/wants//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/wants/dynamic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/wants/dynamic/task//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arch/wants/thp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arm/gic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/arm/gic/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/associative//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/asus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/asus/nb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/asymmetric//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/asymmetric/key//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/asymmetric/public//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/asymmetric/public/key//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/async//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/async/raid6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/async/tx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ata//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ata/verbose//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ath//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ath10k//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ath11k//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ath9k//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ath9k/btcoex//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ath9k/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/atm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/atomic64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/audit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/autofs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/autofs4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/auxiliary//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/backlight//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/backlight/class//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/backlight/lcd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/balloon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/base//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bcm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bcm/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bcm7xxx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bcm87xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bcma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bcma/driver//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bcma/driver/gmac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bcma/host//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bcma/host/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/be2net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bfq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bfq/cgroup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bfq/group//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/big//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/binary//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/binfmt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bitfield//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bitfield/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bits//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bits/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/cgroup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/cgroup/fc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/dev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/dev/dm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/dev/integrity//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/dev/io//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/dev/loop//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/dev/loop/min//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/dev/null//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/dev/ram//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/mq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/scsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/blk/wbt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/block//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bnx2x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bnxt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bnxt/flower//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/boot/printk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bootparam//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bootparam/hardlockup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bootparam/hardlockup/panic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bootparam/hotplug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bootparam/hung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bootparam/hung/task//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bootparam/hung/task/panic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bootparam/softlockup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bootparam/softlockup/panic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bpf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bpf/jit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bpf/jit/always//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bpf/jit/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bpf/kprobe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bpf/stream//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bpf/unpriv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bpf/unpriv/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/branch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/branch/profile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/brcmfmac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/brcmfmac/proto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/brcmsmac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bridge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bridge/ebt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bridge/ebt/802//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bridge/ebt/mark//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bridge/ebt/t//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bridge/igmp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bridge/nf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bridge/vlan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/broadcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bsd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bsd/process//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bsd/process/acct//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bt/bnep//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bt/bnep/mc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bt/bnep/proto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bt/hcibtusb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bt/hciuart//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bt/mrvl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bt/rfcomm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bug/on//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/bug/on/data//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/build//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/buildtime//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/buildtime/extable//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/can//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/can/8dev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/can/c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/can/c/can//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/can/calc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/can/cc770//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/can/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/can/ems//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/can/esd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/can/kvaser//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/can/peak//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/can/plx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/can/sja1000//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/capi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cavium//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cb710//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cb710/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc/can//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc/has//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc/has/kasan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc/has/return//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc/has/sancov//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc/has/sancov/trace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc/has/sane//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc/has/stackprotector//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc/has/working//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc/has/working/nosanitize//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc/is//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc/optimize//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cc/optimize/for//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cdrom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cdrom/pktcdvd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cec/platform//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ceph//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ceph/fs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ceph/fs/posix//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ceph/fs/security//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ceph/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ceph/lib/use//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ceph/lib/use/dns//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cfg80211//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cfg80211/crda//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cfg80211/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cfg80211/require//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cfg80211/require/signed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cfg80211/use//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cfg80211/use/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cfg80211/use/kernel/regdb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cgroup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cgroup/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/charger//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/check//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/checkpoint//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/chelsio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/chelsio/inline//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/chelsio/ipsec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/chelsio/tls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/chr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/chr/dev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cicada//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cifs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cifs/allow//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cifs/allow/insecure//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cifs/dfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cifs/smb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cifs/weak//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cifs/weak/pw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/clang//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/clkbld//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/clkdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/clkevt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/clocksource//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/clocksource/validate//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/clocksource/validate/last//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cls/u32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/clz//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cmdline//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cmdline/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/compal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/compat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/compat/32bit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/compat/binfmt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/compat/for//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/compat/for/u64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/compat/old//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/configfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/console//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/console/loglevel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/context//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/context/switch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/contig//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/core/dump//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/core/dump/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/core/dump/default/elf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cortina//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cpu/freq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cpu/freq/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cpu/freq/default/gov//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cpu/freq/gov//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cpu/freq/gov/attr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cpu/ibpb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cpu/ibrs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cpu/idle//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cpu/idle/gov//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cpu/sup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cpu/unret//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cpumask//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cramfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crash//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crc/itu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crc32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cross//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cross/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/aes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/aes/ni//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/aes/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/ansi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/blowfish//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/blowfish/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/camellia//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/camellia/aesni//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/camellia/aesni/avx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/camellia/aesni/avx/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/camellia/aesni/avx2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/camellia/aesni/avx2/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/camellia/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/cast//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/cast5//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/cast5/avx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/cast5/avx/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/cast6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/cast6/avx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/cast6/avx/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/chacha20//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/chacha20/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/crc32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/crc32c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/crct10dif//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/des3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/des3/ede//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/des3/ede/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/dev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/dev/ccp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/dev/nitrox//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/dev/padlock//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/dev/qat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/dev/sp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/drbg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/fips//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/ghash//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/ghash/clmul//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/ghash/clmul/ni//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/glue//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/glue/helper//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/hash//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/michael//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/poly1305//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/poly1305/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/rng//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/serpent//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/serpent/avx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/serpent/avx/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/serpent/avx2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/serpent/avx2/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/serpent/sse2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/serpent/sse2/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/sha1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/sha256//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/sha512//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/twofish//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/twofish/avx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/twofish/avx/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/twofish/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/twofish/x86/64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/user//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/crypto/user/api//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/cypress//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/damon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/davicom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dax//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dcache//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dcache/word//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/de//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/atomic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/info//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/kmemleak//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/kmemleak/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/kmemleak/mem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/kmemleak/mem/pool//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/lock//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/objects//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/objects/enable//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/objects/percpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/objects/rcu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/page//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/per//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/per/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/rt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/section//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/stack//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/ww//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/debug/ww/mutex//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/decompress//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/default/fq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/default/hung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/default/hung/task//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/default/io//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/default/io/delay//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/default/mmap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/default/mmap/min//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/default/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/default/security//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/default/tcp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/deferred//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/deferred/struct//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/deferred/struct/page//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dell//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dell/smbios//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dell/wmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/detect//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/detect/hung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dev/dax//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dev/dax/hmem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dev/dax/pmem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/device//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/devtmpfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dlci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dlm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dm/bio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dm/cache//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dm/log//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dm/multipath//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dm/persistent//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dm/thin//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dma/api//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dma/api/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dma/coherent//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dma/engine//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dma/shared//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dma/virtual//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dmabuf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dmadevices//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dmar//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dmi/scan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dmi/scan/machine//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dmi/scan/machine/non//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dmi/scan/machine/non/efi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dns//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dp83640//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dp83822//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dp83848//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dp83867//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dp83tc811//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dptf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/amd/dc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/amdgpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/cirrus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/display//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/display/dp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/display/hdcp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/display/hdmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/dp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/dp/aux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/fbdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/gem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/gem/shmem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915/capture//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915/compress//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915/fence//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915/force//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915/gvt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915/heartbeat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915/max/request//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915/preempt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915/request//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915/stop//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915/timeslice//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/i915/userfault//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/kms//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/load//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/load/edid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/mipi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/nouveau//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/panel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/panel/orientation//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/radeon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/ttm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/virtio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/vmwgfx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/drm/vram//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dst//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dummy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dummy/console//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/au8522//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/av7110//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/b2c2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/b2c2/flexcop//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/budget//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/dummy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/dynamic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/firedtv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/gp8psk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/ttusb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/tuner//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/usb/af9005//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/usb/cinergy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/usb/dibusb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/usb/nova//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/usb/nova/t//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/usb/technisat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dvb/usb/umt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dw/dmac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dwmac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dynamic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dynamic/ftrace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dynamic/ftrace/with//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dynamic/ftrace/with/direct//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dynamic/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/dynamic/physical//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/e1000e//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/early//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/early/printk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/early/printk/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/edac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/edac/atomic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/edac/decode//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/edac/legacy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/eeepc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/eeprom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/efi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/efi/dev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/efi/dev/path//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/efi/rci2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/efi/runtime//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/efi/soft//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/efi/vars//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/efi/vars/pstore//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/efi/vars/pstore/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/efivar//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/elf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ena//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/enable//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/enable/must//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/enclosure//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/encrypted//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/energy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ethtool//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/event//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/evm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/evm/attr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/exportfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/exportfs/block//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ext4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ext4/fs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ext4/fs/posix//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ext4/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ext4/use//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ext4/use/for//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/extra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/f71808e//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fail//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fail/io//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fail/make//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fail/mmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fail/page//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fair//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fair/group//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fanotify//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fanotify/access//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fat/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fat/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fault//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fault/injection//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fault/injection/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fb/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fb/boot/vesa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fb/cfb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fb/deferred//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fb/sys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fcoe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/file//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fips//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fips/signature//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/firewire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/firmware//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fix//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fix/earlycon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fixed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/font//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fortify//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/frame//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/framebuffer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/framebuffer/console//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/framebuffer/console/deferred//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/framebuffer/console/detect//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fs/dax//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fs/posix//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fscache//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fscache/object//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ftrace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ftrace/mcount//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fujitsu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/function//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/function/error//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/function/graph//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fuse//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fusion//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fusion/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/futex//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fw/attr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fw/cfg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fw/loader//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/fw/loader/user//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/gact//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/gcc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/bug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/bug/relative//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/calibrate//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/clockevents//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/clockevents/min//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/cmos//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/early//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/find//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/find/first//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/irq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/irq/effective//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/irq/effective/aff//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/irq/matrix//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/irq/reservation//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/isa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/msi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/msi/irq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/pending//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/smp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/smp/idle//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/strncpy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/strncpy/from//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/strnlen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/time//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/vdso//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/generic/vdso/time//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/gfs2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/gfs2/fs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/gfs2/fs/locking//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/gigaset//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/gpio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/gpiolib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/gpiolib/fastpath//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/grace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/gro//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/gup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/haltpoll//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hangcheck//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hardened//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hardened/usercopy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hardirqs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hardirqs/sw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hardlockup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hardlockup/check//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hardlockup/detector//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/has//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/has/ioport//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/acpi/apei//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/aligned//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/aligned/struct//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/compat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/compat/mmap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/huge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/jump//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/kasan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/mmap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/mmap/rnd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/mmap/rnd/compat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/node//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/node/dev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/seccomp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/soft//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/thread//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/thread/struct//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/transparent//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/transparent/hugepage//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/userfaultfd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/vmap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/within//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/arch/within/stack//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/bootmem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/bootmem/info//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/clk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/cmpxchg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/context//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/copy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/copy/thread//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/dynamic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/dynamic/ftrace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/dynamic/ftrace/with//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/dynamic/ftrace/with/direct//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/ebpf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/efficient//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/efficient/unaligned//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/exit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/fast//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/ftrace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/ftrace/mcount//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/function//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/function/error//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/function/graph//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/gcc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/generic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/hardened//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/hardened/usercopy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/hardlockup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/hardlockup/detector//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/hw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/ioremap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/irq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/irq/exit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/irq/exit/on//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/irq/exit/on/irq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/irq/time//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/kprobes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/kprobes/on//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/kvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/kvm/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/kvm/cpu/relax//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/kvm/dirty//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/kvm/irq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/kvm/no//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/kvm/pm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/mixed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/mixed/breakpoints//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/mmiotrace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/mod//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/mod/arch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/move//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/pcspkr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/perf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/perf/events//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/perf/user//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/perf/user/stack//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/regs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/regs/and//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/regs/and/stack//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/regs/and/stack/access//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/reliable//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/sched//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/sched/avg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/setup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/setup/per//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/setup/per/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/stack//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/syscall//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/unstable//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/unstable/sched//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/user//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/user/return//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/virt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/virt/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/have/virt/cpu/accounting//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hdlc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hdmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hdmi/lpe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/headers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hibernate//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid/battery//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid/betop//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid/hyperv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid/logitech//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid/picolcd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid/sensor//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid/sensor/accel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid/sensor/custom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid/sensor/device//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid/sensor/gyro//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid/sensor/iio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid/sensor/inclinometer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hid/sensor/magnetometer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/high//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/high/res//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hisax//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hisax/16//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hisax/avm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hisax/avm/a1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hisax/bkm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hisax/enternow//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hisax/fritz//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hisax/hfc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hisax/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hisax/netjet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hisax/no//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hisax/sct//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hist//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hmem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hmm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hotplug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hotplug/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hotplug/pci/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hpet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hpet/emulate//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hpwdt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hpwdt/nmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hsa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hsa/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hsu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hugetlb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hvc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hvc/xen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hw/random//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hwlat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hwmon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hwpoison//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hyperv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hypervisor//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hysdn//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/hz//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i2c/amd756//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i2c/designware//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i2c/diolan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i2c/helper//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i2c/hid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i2c/mux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i2c/nforce2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i2c/parport//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i2c/pca//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i2c/tiny//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i40e//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i6300esb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/i8253//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ia32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ia32/feat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ib700//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ice//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/icplus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ideapad//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/idle//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/idle/page//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ie6xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ieee802154//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/igb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iio/consumers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iio/consumers/per//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iio/kfifo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iio/triggered//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/illegal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/illegal/pointer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/appraise//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/arch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/default/hash//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/lsm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/measure//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/measure/pcr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/read//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/secure//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/secure/and//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/secure/and/or//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/secure/and/or/trusted//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/sig//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/trusted//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ima/write//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/inet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/inet/esp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/inet/mptcp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/inet/raw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/inet/sctp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/inet/tcp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/inet/udp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/inet/xfrm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/inet6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/inet6/esp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/inet6/xfrm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/infiniband//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/infiniband/addr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/infiniband/addr/trans//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/infiniband/bnxt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/infiniband/ipoib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/infiniband/on//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/infiniband/on/demand//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/infiniband/opa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/infiniband/user//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/infiniband/virt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/infiniband/vmware//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/init//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/init/env//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/init/env/arg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/initramfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/inotify//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/input//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/input/ati//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/input/atlas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/input/ff//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/input/gpio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/input/gpio/rotary//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/input/keyspan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/input/mousedev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/input/mousedev/screen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/input/xen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/input/xen/kbddev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/instruction//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/int340x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/integrity//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/integrity/asymmetric//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/integrity/platform//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/integrity/trusted//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/hfi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/hid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/idxd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/iommu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/iommu/floppy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/ish//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/ishtp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/mei//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/pch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/pmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/pmt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/rapl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/soc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/soc/dts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/soc/dts/iosf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/speed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/speed/select//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/tdx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/th//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/turbo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/turbo/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/wmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/intel/xway//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/interval//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/io//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/io/delay//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/io/delay/type//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iommu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iommu/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iommu/io//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iosched//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iosf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/advanced//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/fib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/fib/trie//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/mroute//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/mroute/multiple//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/multiple//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/nf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/nf/arp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/nf/match//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/nf/target//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/pimsm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/route//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/set//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/set/bitmap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/set/hash//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/set/list//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/vs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/vs/mh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/vs/mh/tab//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/vs/pe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/vs/proto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/vs/proto/ah//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/vs/sh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/vs/sh/tab//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip/vs/tab//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip6/nf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip6/nf/match//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ip6/nf/target//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipmi/device//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipmi/dmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipmi/panic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipmi/plat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ippp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipv6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipv6/mroute//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipv6/mroute/multiple//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipv6/multiple//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipv6/ndisc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipv6/optimistic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipv6/pimsm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipv6/route//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipv6/router//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ipv6/sit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ir//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ir/imon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ir/ite//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ir/jvc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ir/mce//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ir/mce/kbd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ir/nec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ir/rc5//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ir/rc6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ir/sanyo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ir/serial//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ir/sony//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ir/winbond//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/irq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/irq/bypass//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/irq/domain//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/irq/forced//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/irq/msi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/irq/time//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/isa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/isa/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iscsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iscsi/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iscsi/ibft//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iscsi/target//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/isdn//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/isdn/capi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/isdn/capi/capidrv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/isdn/drv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/isdn/drv/avmb1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/isdn/ppp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/isdn/tty//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iso9660//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/it87//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/it8712f//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/itco//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/itco/vendor//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iwlwifi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iwlwifi/device//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/iwlwifi/opmode//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ixgbe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ixgbevf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/jump//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kallsyms//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kallsyms/absolute//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kallsyms/base//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/karma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kasan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kasan/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kasan/shadow//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kdb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kdb/continue//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kdb/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kexec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kexec/bzimage//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kexec/bzimage/verify//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/keyboard//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/keys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kgdb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kgdb/low//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kgdb/low/level//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kgdb/serial//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kprobe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kprobes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kprobes/on//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kunit/all//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kunit/example//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kvm/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kvm/async//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kvm/external//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kvm/external/write//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kvm/generic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kvm/generic/dirtylog//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/kvm/generic/dirtylog/read//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/l2tp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lcd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lcd/class//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/led//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/led/trigger//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/leds//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/leds/brightness//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/leds/brightness/hw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/leds/clevo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/leds/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/leds/lp55xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/leds/trigger//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/leds/trigger/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/legacy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/legacy/vsyscall//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/linear//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/linear/ranges//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/linear/ranges/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/liquidio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/list//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/list/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/load//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/load/uefi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lock//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lock/debugging//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lock/down//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lock/down/in//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lock/down/in/efi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lock/down/in/efi/secure//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lock/event//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lock/spin//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lock/spin/on//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lock/torture//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lockd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lockdep//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lockdep/chains//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lockdep/circular//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lockdep/circular/queue//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lockdep/stack//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lockdep/stack/trace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lockdep/stack/trace/hash//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lockup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/log//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/log/buf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/log/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/log/cpu/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/log/cpu/max/buf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/logitech//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/logo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/logo/linux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/loopback//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lpc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lsi/et1011c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lsm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lsm/mmap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lsm/mmap/min//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lwtunnel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lxt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lz4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/lzo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mac80211//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mac80211/has//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mac80211/message//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mac80211/rc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mac80211/rc/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mac80211/sta//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mac80211/sta/hash//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mac80211/sta/hash/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/machz//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/macintosh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/magic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/magic/sysrq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/magic/sysrq/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mantis//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mapping//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mapping/dirty//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/marvell//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/marvell/10g//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/max/raw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/maxlinear//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/md//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mdio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mdio/bcm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mdio/mscc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media/altera//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media/analog//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media/analog/tv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media/camera//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media/cec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media/digital//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media/digital/tv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media/radio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media/subdrv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media/tuner//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/media/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/megaraid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mellanox//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mem/soft//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/memcg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/memcpy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/memcpy/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/memfd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/memstick//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/memstick/jmicron//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/memstick/realtek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/memstick/tifm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/message//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/message/loglevel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mfd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mfd/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mfd/intel/lpss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mfd/sm501//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mhi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mhi/bus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mhi/bus/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/micrel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/microchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/microchip/t1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/microcode//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/microcode/old//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/microsemi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/microsoft//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/minix//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/misc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/misc/rtsx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/misdn//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlx4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlx4/en//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlx5//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlx5/cls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlx5/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlx5/core/en//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlx5/en//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlx5/sf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlx5/sw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlx5/tc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlx5/vdpa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlxreg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlxsw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlxsw/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mlxsw/spectrum//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmc/block//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmc/realtek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmc/ricoh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmc/sdhci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmc/tifm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmc/via//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmconf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmu/gather//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmu/gather/merge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmu/gather/rcu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmu/gather/rcu/table//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mmu/gather/table//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/modify//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/modify/ldt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/module//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/module/force//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/module/sig//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/module/srcversion//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/modules//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/modules/tree//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/modules/use//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/modules/use/elf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mouse//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mouse/elan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mouse/elan/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mouse/ps2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mouse/ps2/elantech//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mouse/ps2/synaptics//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mouse/synaptics//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mpls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mptcp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mptcp/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mq/iosched//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/msdos//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/msi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mspro//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mt76//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mt76/connac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mt76x0//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mt76x02//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mt76x2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mt7921//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtd/cfi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtd/map//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtd/map/bank//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtd/map/bank/width//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtd/ubi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtd/ubi/beb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtd/ubi/wl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtrr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtrr/sanitizer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtrr/sanitizer/enable//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtrr/sanitizer/spare//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtrr/sanitizer/spare/reg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mtrr/sanitizer/spare/reg/nr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mutex//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mutex/spin//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mutex/spin/on//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mwifiex//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/mxm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/myri10ge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/n//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/national//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/need//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/need/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/need/dma/map//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/need/multiple//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/need/per//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/need/per/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/need/per/cpu/embed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/need/per/cpu/embed/first//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/need/per/cpu/page//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/need/per/cpu/page/first//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/need/sg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/need/sg/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/act//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/act/tunnel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/cls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/drop//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/ematch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/flow//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/ip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/ipgre//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/key//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/l3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/l3/master//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/mpls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/packet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/poll//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/ptp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/rx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/rx/busy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/sch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/sch/fq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/sock//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/tc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/tc/skb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/team//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/team/mode//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/udp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/net/vendor//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/netconsole//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/netfilter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/netfilter/family//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/netfilter/netlink//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/netfilter/netlink/glue//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/netfilter/xt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/netfilter/xt/match//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/netfilter/xt/target//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/netlink//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/network//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/network/phy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/netxen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/new//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/conntrack//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/conntrack/netbios//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/ct//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/ct/netlink//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/ct/proto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/defrag//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/dup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/flow//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/flow/table//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/log//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/nat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/nat/snmp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/reject//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/socket//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/tables//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nf/tproxy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfp/app//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfp/app/abm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfs/acl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfs/use//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfs/use/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfs/v3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfs/v4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfs/v4/1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfs/v4/1/implementation//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfs/v4/1/implementation/id//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfs/v4/security//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfsd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfsd/v2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfsd/v3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfsd/v4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nfsd/v4/security//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nft//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nft/bridge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nft/dup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nft/fib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nft/flow//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nft/fwd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nft/reject//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nitro//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nls/codepage//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nls/iso8859//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nls/koi8//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nls/mac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/no//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/no/hz//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nodes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nop//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nouveau//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nouveau/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nr/cpus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nr/cpus/range//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ntb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/numa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/numa/balancing//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/numa/balancing/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/numa/keep//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nvdimm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nvme//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nvme/target//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nvme/verbose//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/nvsw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/oid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/old//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/openvswitch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/oprofile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/oprofile/event//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/oprofile/nmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/optimize//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/osf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/osnoise//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/output//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/overlay//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/packet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/page//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/page/table//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/panasonic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/panic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/panic/on//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/panic/on/oops//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/paravirt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/paravirt/time//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/parport//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/parport/not//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/partition//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pci/hyperv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pci/lockless//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pci/msi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pci/msi/irq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pci/pf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pcie//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pcieaer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pcieaspm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pcs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pcspkr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/perf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/perf/events//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/perf/events/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/perf/events/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/persistent//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pgtable//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/phys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/phys/addr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/phys/addr/t//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/physical//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pinctrl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pkcs7//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pkcs7/message//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/plugin//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pm/advanced//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pm/generic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pm/generic/domains//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pm/sleep//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pm/std//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pm/trace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pmic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pnfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pnfs/file//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pnfs/flexfile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/posix//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/posix/mqueue//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ppp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ppp/sync//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pps//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pps/client//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/preempt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/preemptirq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/prevent//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/prevent/firmware//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/print//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/print/quota//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/printk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/printk/safe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/printk/safe/log//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/printk/safe/log/buf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/probe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/proc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/proc/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/proc/page//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/proc/pid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/proc/thermal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/proc/thermal/mmio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/proc/vmcore//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/proc/vmcore/device//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/prove//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/provide//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/provide/ohci1394//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/provide/ohci1394/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/psi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/psi/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pstore//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pstore/compress//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pstore/deflate//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pstore/deflate/compress//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ptp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ptp/1588//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ptp/1588/clock//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pwm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/pwm/lpss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/qcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/qcom/qmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/qed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/qfmt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/qrtr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/qsemi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/queued//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/quota//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/quota/netlink//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/quotactl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/radio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/raid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/raid6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/raid6/pq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/random//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/random/trust//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/random32//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/randomize//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/randomize/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/randomize/memory/physical//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/raw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rc/ati//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rcu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rcu/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rcu/cpu/stall//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rcu/need//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rcu/nocb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rcu/stall//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rcu/torture//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rdma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/realtek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/reed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/reed/solomon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/regmap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/regmap/soundwire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/renesas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/reset//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/resource//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/resource/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rfkill//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rhel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ring//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ring/buffer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ring/buffer/allow//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rmi4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rmi4/2d//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rmi4/f03//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rockchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rpcsec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rpcsec/gss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rt/group//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rt2800//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rt2800/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rt2800pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rt2800usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rt2x00//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rt2x00/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtc/drv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtc/drv/ds3232//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtc/drv/m41t80//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtc/hctosys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtc/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtc/i2c/and//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtc/intf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtc/mc146818//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtc/systohc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtl8192c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtl8723//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtlwifi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtw88//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rtw89//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/runtime//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/runtime/testing//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rwsem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rwsem/spin//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/rwsem/spin/on//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sample//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sample/vfio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sample/vfio/mdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/samsung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sata//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sata/ahci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sata/mobile//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sata/mobile/lpm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sbc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sbc/fitpc2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scf/torture//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sched//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sched/mc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sched/omit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sched/omit/frame//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/bnx2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/bnx2x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/chelsio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/cxgb4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/dh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/dh/hp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/fc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/iscsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/mpt2sas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/mpt2sas/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/mpt3sas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/mpt3sas/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/proc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/qla//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/sas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/sas/host//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/scan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/spi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/scsi/srp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sctp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sctp/cookie//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sctp/cookie/hmac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sctp/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sctp/default/cookie//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sctp/default/cookie/hmac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sdio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/seccomp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/section//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/section/mismatch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/section/mismatch/warn//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/security//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/security/network//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/security/selinux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/security/selinux/avc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/security/selinux/checkreqprot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/security/selinux/sid2str//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/security/selinux/sid2str/cache//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/security/selinux/sidtab//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/security/selinux/sidtab/hash//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/security/writable//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/select//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/select/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sensors//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sensors/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sensors/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sensors/dell//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sensors/fam15h//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sensors/i5k//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sensors/lis3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sensors/mlxreg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sensors/ntc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sensors/sch56xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sensors/via//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/serial//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/serial/8250//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/serial/8250/many//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/serial/8250/nr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/serial/8250/runtime//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/serial/8250/share//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/serial/arc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/serial/arc/nr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/serial/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/serial/multi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/serio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/serio/altera//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/serio/arc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sfc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sfc/mcdi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sfc/siena//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sfc/siena/mcdi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sgetmask//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sgi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sgl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/shuffle//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/shuffle/page//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/signed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/signed/pe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/signed/pe/file//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/skb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/slab//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/slab/freelist//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/slip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/slub//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/slub/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/slub/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sms//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sms/sdio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sms/siano//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sms/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/smsc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/smsc/sch311x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/ac97//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/ac97/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/ac97/power/save//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/amd/acp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/atiixp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/compress//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/cs46xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/cs46xx/new//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/ctl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/ctl/fast//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/ctl/input//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/dynamic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/emu10k1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/es1968//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/firewire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/codec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/codec/ca0132//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/cs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/cs/dsp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/dsp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/ext//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/generic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/input//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/input/beep//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/patch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/power/save//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/prealloc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/scodec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/hda/scodec/cs35l41//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/intel/dsp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/intel/soundwire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/jack//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/jack/input//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/maestro3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/mpu401//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/opl3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/opl3/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/oxygen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/pcm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/pcm/xrun//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/proc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/seq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/seq/hrtimer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/seq/midi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/sequencer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/acpi/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/amd/renoir//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/amd/vangogh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/amd/yc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/cs35l41//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/hdac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/i2c/and//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/bdw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/bdw/rt5650//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/bdw/rt5677//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/broadwell//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/bxt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/bxt/da7219//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/bxt/da7219/max98357a//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/bxt/rt298//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/byt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/byt/cht//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/byt/cht/cx2072x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/byt/cht/da7213//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/byt/cht/es8316//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/byt/cht/nocodec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/bytcr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/bytcr/rt5640//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/bytcr/rt5651//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/cht//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/cht/bsw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/cht/bsw/max98090//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/cht/bsw/max98090/ti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/cht/bsw/nau8824//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/cht/bsw/rt5645//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/cht/bsw/rt5672//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/cml//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/cml/lp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/cml/lp/da7219//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/cml/lp/da7219/max98357a//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/da7219//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/da7219/max98357a//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/ehl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/ehl/rt5660//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/glk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/glk/da7219//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/glk/da7219/max98357a//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/glk/rt5682//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/glk/rt5682/max98357a//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/haswell//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/hda//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/hda/dsp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/kbl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/kbl/da7219//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/kbl/da7219/max98357a//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/kbl/da7219/max98927//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/kbl/rt5660//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/kbl/rt5663//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/kbl/rt5663/max98927//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/kbl/rt5663/rt5514//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/kbl/rt5663/rt5514/max98927//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/skl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/skl/hda//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/skl/hda/dsp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/skl/hda/dsp/generic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/skl/nau88l25//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/skl/nau88l25/max98357a//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/skl/nau88l25/ssm4567//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/skl/rt286//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/skylake//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/skylake/ssp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/cirrus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/cml//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/cml/rt1011//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/cml/rt1011/rt5682//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/da7219//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/da7219/max98373//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/es8336//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/maxim//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/nau8825//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/pcm512x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/realtek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/rt5682//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/ssp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/ssp/amp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sof/wm8804//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/soundwire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/soundwire/sof//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/sst//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/user//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/user/friendly//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/intel/user/friendly/long//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/max98373//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/pcm512x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/rt1308//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/rt1316//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/rt1318//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/rt5514//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/rt5677//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/rt5682//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/rt700//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/rt711//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/rt711/sdca//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/rt715//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/rt715/sdca//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/hda//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/hda/audio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/hda/link//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/intel/atom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/intel/atom/hifi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/intel/hifi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/intel/hifi/ep//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/intel/soundwire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/intel/soundwire/link//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/probe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/sof/probe/work//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/topology//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/topology/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/wm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/soc/wm8804//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/sst//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/sst/atom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/sst/atom/hifi2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/sst/atom/hifi2/platform//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/synth//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/usb/caiaq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/verbose//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/via82xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/vx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/snd/xen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sock//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sock/cgroup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sock/validate//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/soft//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/softlockup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/solaris//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/solaris/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sony//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sonypi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sound//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sound/oss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sound/oss/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/soundwire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/soundwire/generic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sp5100//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sparse//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sparsemem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sparsemem/vmemmap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/speculation//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/spi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/spi/pxa2xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/split//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/split/ptlock//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/squashfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/squashfs/decomp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/squashfs/decomp/multi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/squashfs/file//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/squashfs/fragment//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/squashfs/fragment/cache//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ssb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/stack//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/stackprotector//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/stacktrace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/stm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/stm/proto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/stm/proto/sys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/stm/source//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/stmmac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/stream//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/strict//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/strict/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/strict/module//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/strip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/strip/asm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sun//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sunrpc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sunrpc/xprt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/suspend//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/symbolic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/syn//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sync//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/synclink//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sysctl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sysctl/exception//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sysctl/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sysfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/system//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/system/blacklist//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/system/blacklist/hash//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/system/data//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/system/trusted//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/sysvipc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tablet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tablet/serial//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tablet/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/target//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/task//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/task/delay//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/task/io//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tasks//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tasks/rcu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tasks/rude//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tasks/trace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tcg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tcg/tis//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tcg/tis/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tcg/tis/st33zp24//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tcm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tcp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tcp/cong//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tdx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tdx/guest//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/teranetics//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/test//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/test/list//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/test/string//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/textsearch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thermal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thermal/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thermal/default/gov//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thermal/default/gov/step//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thermal/emergency//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thermal/emergency/poweroff//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thermal/emergency/poweroff/delay//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thermal/gov//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thermal/gov/bang//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thermal/gov/fair//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thermal/gov/step//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thermal/gov/user//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thermal/writable//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thinkpad//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thinkpad/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thinkpad/acpi/alsa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thinkpad/acpi/hotkey//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thread//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thread/info//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/thread/info/in//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tick//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tifm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tigon3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/time//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/timerlat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tipc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tipc/media//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tmpfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tmpfs/posix//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/topstar//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/torture//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/toshiba//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/toshiba/bt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/touchscreen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/touchscreen/wacom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/trace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/trace/irqflags//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/trace/irqflags/nmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tracer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tracer/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tracing//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/transparent//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/transparent/hugepage//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/tree//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/trusted//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ttpci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/typec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/typec/dp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/typec/mux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ubsan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ubsan/sanitize//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ucs2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/ucsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/udf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/uefi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/uefi/cper//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/uio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/uio/hv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/uio/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/uio/pdrv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/uninline//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/uninline/spin//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/unix//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/unix98//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/unixware//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/unwinder//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/uprobe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/ali//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/announce//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/announce/new//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/arch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/arch/has//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/autosuspend//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/conn//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/default//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/ehci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/ehci/root//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/ehci/root/hub//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/ehci/tt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/ezusb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/few//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/few/init//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/ftdi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/gspca//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/gspca/ov534//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/gspca/xirlink//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/hsic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/hwa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/led//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/leds//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/leds/trigger//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/net/ax88179//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/net/cdc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/net/cdc/subset//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/net/cx82310//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/net/huawei//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/net/huawei/cdc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/net/qmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/net/rndis//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/ohci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/ohci/hcd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/ohci/little//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/pulse8//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/pwc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/pwc/input//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/rainshadow//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/role//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/roles//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/roles/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/serial//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/serial/cypress//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/serial/digi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/serial/edgeport//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/serial/ftdi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/serial/keyspan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/serial/kobil//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/serial/mct//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/serial/mos7715//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/serial/safe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/serial/xsens//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/sierra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/storage//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/storage/cypress//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/storage/ene//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/uhci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/video//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/video/class//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/video/class/input//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/wusb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb/xhci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/usb4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/use//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/use/percpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/use/percpu/numa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/use/percpu/numa/node//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/user//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/user/return//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/user/stacktrace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/uts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/uv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/uwb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vdpa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vdpa/sim//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vfat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vfio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vfio/iommu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vfio/mdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vfio/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vga/arb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vga/arb/max//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vhost//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/via//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/video//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/video/au0828//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/video/cx18//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/video/cx231xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/video/cx88//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/video/em28xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/video/fb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/video/ir//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/video/pvrusb2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/video/saa7134//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/video/saa7146//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/video/tm6000//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/videobuf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/videobuf/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/videobuf2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/videobuf2/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/virt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/virt/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/virt/cpu/accounting//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/virt/to//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/virtio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/virtio/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/virtio/vsockets//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vitesse//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vlan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vlan/8021q//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vm/event//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vmap//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vmware//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vmware/vmci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vsockets//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vt/console//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vt/hw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/vt/hw/console//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/w83627hf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/w83877f//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/w83977f//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/want//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/want/dev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/watchdog//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/watchdog/handle//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/watchdog/handle/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/watchdog/open//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/wdat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/wlan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/wlan/vendor//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/wmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x509//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x509/certificate//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/64/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/acpi/cpufreq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/amd/freq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/amd/platform//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/bootparam//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/bootparam/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/bootparam/memory/corruption//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/check//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/check/bios//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/cpa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/decoder//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/extended//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/feature//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/hv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/hv/callback//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/intel/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/intel/memory/protection//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/intel/tsx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/intel/tsx/mode//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/internode//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/internode/cache//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/io//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/l1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/l1/cache//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/local//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/mce//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/mcelog//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/mem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/minimum//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/minimum/cpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/need//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/p4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/pkg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/pkg/temp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/platform//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/platform/drivers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/pm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/pmem//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/pmem/legacy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/powernow//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/ptdump//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/reroute//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/reroute/for//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/reroute/for/broken//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/reroute/for/broken/boot//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/sgx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/speedstep//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/supports//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/supports/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/thermal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/vmx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/vmx/feature//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/x86/vsyscall//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xarray//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xdp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xdp/sockets//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xen/auto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xen/blkdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xen/compat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xen/dev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xen/front//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xen/front/pgdir//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xen/netdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xen/pvhvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xen/save//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xen/sys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xen/xenbus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xfrm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xfrm/sub//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xfs/posix//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xilinx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xor//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xz//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/xz/dec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/yenta//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/yenta/ene//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/zlib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/zone//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/zram//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/config/zsmalloc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/crypto/internal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/drm-backport//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/drm-backport/linux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/drm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/drm/bridge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/drm/display//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/drm/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/drm/ttm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/arm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/bus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/clk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/clock//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/display//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/gpio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/iio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/iio/adc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/input//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/interrupt-controller//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/leds//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/mailbox//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/media//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/mfd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/mips//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/mux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/phy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/pinctrl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/pwm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/regulator//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/reset//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/soc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/sound//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/spmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/thermal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/dt-bindings/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/generated//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/generated/uapi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/generated/uapi/linux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/keys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/kvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/amba//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/avf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/bcma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/byteorder//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/can//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/can/dev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/can/platform//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/ceph//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/clk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/crush//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/decompress//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/dsa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/extcon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/firmware//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/firmware/cirrus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/firmware/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/firmware/meson//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/fpga//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/fsl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/fsl/bestcomm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/gpio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/hsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/iio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/iio/accel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/iio/adc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/iio/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/iio/dac//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/iio/frequency//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/iio/gyro//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/iio/imu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/iio/magnetometer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/iio/timer//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/input//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/irqchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/isdn//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/lockd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mailbox//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/abx500//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/arizona//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/da9052//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/da9055//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/da9062//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/da9063//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/da9150//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/mt6323//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/mt6397//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/pcf50633//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/samsung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/syscon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/wm831x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/wm8350//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mfd/wm8994//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mlx4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mlx5//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mtd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/mux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/net/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/netfilter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/netfilter/ipset//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/netfilter_arp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/netfilter_bridge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/netfilter_ipv4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/netfilter_ipv6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/pcs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/perf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/phy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/phy/tegra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/pinctrl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/platform_data//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/platform_data/media//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/platform_data/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/qed//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/raid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/regulator//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/remoteproc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/reset//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/rpmsg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/rtc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/sched//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/soc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/soc/actions//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/soc/brcmstb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/soc/dove//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/soc/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/soc/qcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/soc/renesas//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/soc/samsung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/soc/sunxi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/soc/ti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/soundwire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/spi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/ssb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/sunrpc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/ulpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/unaligned//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/uwb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/linux/wimax//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/math-emu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/media//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/media/davinci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/media/drv-intf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/media/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/media/tpg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/memory//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/misc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net/9p//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net/bluetooth//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net/caif//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net/iucv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net/mana//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net/netfilter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net/netfilter/ipv4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net/netfilter/ipv6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net/netns//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net/nfc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net/phonet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net/sctp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/net/tc_act//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/pcmcia//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/ras//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/rdma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/scsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/scsi/fc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc/arc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc/at91//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc/bcm2835//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc/brcmstb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc/fsl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc/fsl/qe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc/imx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc/nps//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc/qcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc/rockchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc/sa1100//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/soc/tegra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/sound//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/sound/ac97//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/sound/sof//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/sound/sof/ipc4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/target//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/target/iscsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/trace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/trace/events//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/asm-generic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/drm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/android//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/byteorder//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/caif//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/can//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/cifs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/dvb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/genwqe//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/hdlc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/hsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/iio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/isdn//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/mmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/netfilter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/netfilter/ipset//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/netfilter_arp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/netfilter_bridge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/netfilter_ipv4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/netfilter_ipv6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/nfsd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/raid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/sched//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/spi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/sunrpc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/tc_act//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/tc_ematch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/linux/wimax//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/misc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/mtd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/rdma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/rdma/hfi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/scsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/scsi/fc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/sound//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/sound/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/sound/intel/avs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/sound/sof//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/video//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/uapi/xen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/vdso//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/video//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/xen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/xen/arm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/xen/interface//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/xen/interface/hvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/include/xen/interface/io//usr/src/kernels/4.18.0-485.el8.x86_64+debug/init//usr/src/kernels/4.18.0-485.el8.x86_64+debug/ipc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/bpf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/bpf/preload//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/bpf/preload/iterators//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/cgroup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/debug/kdb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/dma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/events//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/gcov//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/irq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/kcsan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/livepatch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/locking//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/printk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/rcu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/sched//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/time//usr/src/kernels/4.18.0-485.el8.x86_64+debug/kernel/trace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/842//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/crypto//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/dim//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/fonts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/kunit//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/livepatch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/lz4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/lzo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/math//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/mpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/pldmfw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/raid6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/raid6/test//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/reed_solomon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/vdso//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/xz//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/zlib_deflate//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/zlib_dfltcc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/zlib_inflate//usr/src/kernels/4.18.0-485.el8.x86_64+debug/lib/zstd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/mm/damon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/mm/kasan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/6lowpan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/802//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/8021q//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/9p//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/appletalk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/atm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ax25//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/batman-adv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/bluetooth//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/bluetooth/bnep//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/bluetooth/cmtp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/bluetooth/hidp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/bluetooth/rfcomm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/bpf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/bpfilter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/bridge//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/bridge/netfilter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/caif//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/can//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ceph//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/dcb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/dccp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/dccp/ccids//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/decnet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/decnet/netfilter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/dns_resolver//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/dsa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ethernet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ethtool//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/hsr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ieee802154//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ieee802154/6lowpan//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ife//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ipv4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ipv4/bpfilter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ipv4/netfilter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ipv6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ipv6/ila//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ipv6/netfilter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/iucv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/kcm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/key//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/l2tp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/l3mdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/lapb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/llc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/mac80211//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/mac802154//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/mpls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/mptcp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/ncsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/netfilter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/netfilter/ipset//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/netfilter/ipvs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/netlabel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/netlink//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/netrom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/nfc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/nfc/hci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/nfc/nci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/nsh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/openvswitch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/packet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/phonet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/psample//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/qrtr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/rds//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/rfkill//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/rose//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/rxrpc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/sched//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/sctp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/smc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/strparser//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/sunrpc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/sunrpc/auth_gss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/sunrpc/xprtrdma//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/switchdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/tipc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/tls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/unix//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/vmw_vsock//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/wimax//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/wireless//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/x25//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/xdp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/net/xfrm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/auxdisplay//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/bpf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/configfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/connector//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/hidraw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/hw_breakpoint//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/kdb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/kfifo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/kobject//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/kprobes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/livepatch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/mei//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/mic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/mic/mpssd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/nitro_enclaves//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/qmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/rpmsg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/seccomp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/timers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/trace_events//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/trace_printk//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/uhid//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/v4l//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/vfio-mdev//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/vfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/samples/watchdog//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/basic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/clang-tools//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/coccinelle//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/coccinelle/api//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/coccinelle/api/alloc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/coccinelle/api/debugfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/coccinelle/free//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/coccinelle/iterators//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/coccinelle/locks//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/coccinelle/misc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/coccinelle/null//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/coccinelle/tests//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/dtc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/dtc/include-prefixes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/dtc/libfdt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/gcc-plugins//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/gdb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/gdb/linux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/genksyms//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/lxdialog//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/auto_submenu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/choice//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/choice_value_with_m_dep//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/err_recursive_dep//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/err_recursive_inc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/inter_choice//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/new_choice_with_dep//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/no_write_if_dep_unmet//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/preprocess//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/preprocess/builtin_func//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/preprocess/circular_expansion//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/preprocess/escape//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/preprocess/variable//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/kconfig/tests/rand_nested_choice//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/ksymoops//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/mod//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/package//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/selinux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/selinux/genheaders//usr/src/kernels/4.18.0-485.el8.x86_64+debug/scripts/selinux/mdp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/apparmor//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/bpf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/integrity//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/integrity/evm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/integrity/ima//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/keys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/keys/encrypted-keys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/keys/trusted-keys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/loadpin//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/selinux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/selinux/include//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/smack//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/tomoyo//usr/src/kernels/4.18.0-485.el8.x86_64+debug/security/yama//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/ac97//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/aoa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/aoa/codecs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/aoa/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/aoa/fabrics//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/aoa/soundbus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/aoa/soundbus/i2sbus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/arm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/atmel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/core/oss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/core/seq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/core/seq/oss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/drivers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/drivers/mpu401//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/drivers/opl3//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/drivers/opl4//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/drivers/pcsp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/drivers/vx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/firewire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/firewire/bebob//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/firewire/dice//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/firewire/digi00x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/firewire/fireface//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/firewire/fireworks//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/firewire/motu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/firewire/oxfw//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/firewire/tascam//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/hda//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/hda/ext//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/i2c//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/i2c/other//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/isa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/isa/ad1816a//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/isa/ad1848//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/isa/cs423x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/isa/es1688//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/isa/galaxy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/isa/gus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/isa/msnd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/isa/opti9xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/isa/sb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/isa/wavefront//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/isa/wss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/mips//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/oss//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/oss/dmasound//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/parisc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/ac97//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/ali5451//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/asihpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/au88x0//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/aw2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/ca0106//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/cs46xx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/cs5535audio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/ctxfi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/echoaudio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/emu10k1//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/hda//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/ice1712//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/korg1212//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/lola//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/lx6464es//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/mixart//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/nm256//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/oxygen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/pcxhr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/riptide//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/rme9652//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/trident//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/vx222//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pci/ymfpci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pcmcia//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pcmcia/pdaudiocf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/pcmcia/vx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/ppc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/sh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/adi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/amd/acp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/amd/raven//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/amd/renoir//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/amd/rpl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/amd/vangogh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/amd/yc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/atmel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/au1x//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/bcm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/cirrus//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/codecs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/dwc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/fsl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/generic//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/hisilicon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/img//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/intel/atom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/intel/atom/sst//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/intel/avs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/intel/avs/boards//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/intel/boards//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/intel/catpt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/intel/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/intel/keembay//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/intel/skylake//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/jz4740//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/kirkwood//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/mediatek/common//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/mediatek/mt2701//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/mediatek/mt6797//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/mediatek/mt8173//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/mediatek/mt8183//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/meson//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/mxs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/pxa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/qcom//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/qcom/qdsp6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/rockchip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/samsung//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/sh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/sh/rcar//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/sof//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/sof/amd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/sof/imx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/sof/intel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/sof/mediatek//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/sof/mediatek/mt8186//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/sof/mediatek/mt8195//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/sof/xtensa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/spear//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/sprd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/sti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/stm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/sunxi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/tegra//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/ti//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/txx9//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/uniphier//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/ux500//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/xilinx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/soc/xtensa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/sparc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/spi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/synth//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/synth/emux//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/usb/6fire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/usb/bcd2000//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/usb/caiaq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/usb/hiface//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/usb/line6//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/usb/misc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/usb/usx2y//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/virtio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/sound/xen//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/accounting//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/arch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/arch/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/arch/x86/intel_sdsi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/bpf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/bpf/bpftool//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/bpf/bpftool/Documentation//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/bpf/resolve_btfids//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/bpf/runqslower//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/build//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/build/feature//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/build/tests//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/build/tests/ex//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/cgroup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/firewire//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/gpio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/hv//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/iio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/include//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/include/tools//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/io_uring//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/kvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/kvm/kvm_stat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/laptop//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/laptop/dslm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/laptop/freefall//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/leds//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/lib/api//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/lib/bpf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/lib/lockdep//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/lib/perf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/lib/perf/Documentation//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/lib/subcmd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/lib/traceevent//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/lib/traceevent/Documentation//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/lib/traceevent/plugins//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/objtool//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/pci//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/pcmcia//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/Documentation//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/arch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/arch/arm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/arch/arm64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/arch/csky//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/arch/mips//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/arch/powerpc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/arch/s390//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/arch/sh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/arch/sparc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/arch/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/arch/xtensa//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/scripts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/scripts/perl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/perf/scripts/perl/Perf-Trace-Util//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/acpi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/acpi/tools//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/acpi/tools/acpidbg//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/acpi/tools/acpidump//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/acpi/tools/ec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/cpupower//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/cpupower/bench//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/cpupower/debug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/cpupower/debug/i386//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/cpupower/debug/kernel//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/cpupower/debug/x86_64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/pm-graph//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/x86/intel-speed-select//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/x86/turbostat//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/power/x86/x86_energy_perf_policy//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/scripts//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/spi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/nvdimm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/radix-tree//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/scatterlist//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/android//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/android/ion//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/bpf//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/bpf/bpf_testmod//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/breakpoints//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/capabilities//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/cgroup//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/core//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/cpu-hotplug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/cpufreq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/damon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/drivers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/drivers/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/drivers/net/bonding//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/drivers/net/team//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/efivarfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/exec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/filesystems//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/firmware//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/fpu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/ftrace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/futex//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/futex/functional//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/gpio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/ia64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/intel_pstate//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/ipc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/kcmp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/kexec//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/kmod//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/kvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/lib//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/livepatch//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/locking//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/media_tests//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/membarrier//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/memfd//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/memory-hotplug//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/mount//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/mqueue//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/net//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/net/forwarding//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/net/mptcp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/netfilter//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/nsfs//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/alignment//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/benchmarks//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/cache_shape//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/copyloops//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/dscr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/eeh//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/math//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/mce//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/mm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/papr_attributes//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/pmu//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/pmu/ebb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/pmu/sampling_tests//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/primitives//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/ptrace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/signal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/stringloops//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/switch_endian//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/syscalls//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/tm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/powerpc/vphn//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/prctl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/proc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/pstore//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/ptp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/ptrace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/rcutorture//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/rcutorture/formal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/rcutorture/formal/srcu-cbmc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/rseq//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/rtc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/seccomp//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/sgx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/sigaltstack//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/size//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/sparc64//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/sparc64/drivers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/splice//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/static_keys//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/sync//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/sysctl//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/tc-testing//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/tdx//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/timens//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/timers//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/tpm2//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/uevent//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/user//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/vDSO//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/vm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/watchdog//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/x86//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/selftests/zram//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/testing/vsock//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/thermal//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/thermal/tmon//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/usb//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/usb/ffs-aio-example//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/usb/ffs-aio-example/multibuff//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/usb/ffs-aio-example/multibuff/host_app//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/usb/ffs-aio-example/simple//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/usb/ffs-aio-example/simple/host_app//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/usb/usbip//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/usb/usbip/libsrc//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/usb/usbip/src//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/virtio//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/virtio/ringtest//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/virtio/vhost_test//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/virtio/virtio-trace//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/vm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/tools/wmi//usr/src/kernels/4.18.0-485.el8.x86_64+debug/usr//usr/src/kernels/4.18.0-485.el8.x86_64+debug/virt//usr/src/kernels/4.18.0-485.el8.x86_64+debug/virt/kvm//usr/src/kernels/4.18.0-485.el8.x86_64+debug/virt/lib/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz3Tx86_64-redhat-linux-gnu                                                                                                                 !"#$ %&'()directoryLinux make config build file, ASCII textASCII textmakefile script, ASCII textemptyOS/2 REXX batch file, ASCII textAlgol 68 source, ASCII textC source, ASCII textPOSIX shell script, ASCII text executableC source, UTF-8 Unicode textassembler source, ASCII textUTF-8 Unicode textOS/2 REXX batch file, UTF-8 Unicode textISO-8859 textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=e8ee0cc1571ea6bc7c46cc49286a368b6ab712bc, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=e4a2435d52b89b99f37b9813af48955e9d731d66, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=2e461c81d401c62f2f236fbb10e05fcff97cec01, strippedPython script, ASCII text executablePerl script text executableBourne-Again shell script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=62260b2bde0c12e12ea843406ae4ecaa39f619e8, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=09da13ae5d1ff11980b46226d040db81cdb72c2d, strippedC++ source, ASCII textexported SGML document, ASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=569eda339008bd114442f74c862937aff9a3992b, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=06110c705598e82e01952607c473bd6b1b4bb93f, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=00543dee0764f54ae410e4ed0f4807a1106ffd25, strippedXML 1.0 document, ASCII textawk script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=71cf88c5f419da7bd89e1afe6408a309dcde10b0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=2a9147a7c0d58f406532a1f37406de90e6154ca9, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=77e137a56460f1e68f3c94984d29634ae037a173, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a98f19fa197418aaa4e91471de2feb8cfbb22dcf, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=1dacf4cc5b4995d5b7bbc6c46ae129208e5e31de, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=06a01beefe2261af60e6c00636003fe848422550, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=84bad8eb608319812c0a164714a72547e9151217, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a054701cf9f83a42a87d9a6e974b1a2c9686b20d, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=6c3452fe72a1b64d945e291b6c48fd15fd562e25, strippedASCII text, with very long linesELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=1f3798ea8e130fd16cc8f7f9a203af85f693fea1, strippedautomake makefile script, ASCII textbisonelfutils-libelf-develflexgccmakeopenssl-develutf-8453cab11e758435d1bc0a31f4bf9a5fb9b107e949ff15c4123a8b49d2bd7efe5? 7zXZ ĕ!q] b2u jӫ`(y/)(\V Sg'3t Z0O4UQ@6WK H>>m{Ntڎw~~br$hd$dU/pe1QbsWfFRVld8t* 4n6U3)m{v_fӒN`9d +O{D(eɝ36V!io5za' d E', @t}EmDb4tiM9["8a p{)v|A_q /ZdDa!ȗ06$!5lX7Ha *J~y{'=g10pw Jd mb/dyfy1u|8Uj 榜൑ҺJ5ոD|g@5>{㵁Pk  GD@ytIU&.:V&+  ڰm륟 `g2#-o!Y%'ʕDM(71l%Bˎ{e=Ncay{UU%5ݔaĶ[&ۛbZS?˅@},~ TYD !u3\Drǭ _ RhlR 90cA>Eø~ѱ>']"ǂvc P+s#| Vz#| c1NH5L%q"-5 #nB,R&IJz@5F&`>M \=i3FƔV!lDƫh}k42_V;xքq?E6/*honcq^6`JgxJ{#;y +_ԺfPfPĪI'?ޕpNQ,V,kN OFʂxlozwl?wK(UeV{e0A-)G3 YZ<>A(wxÓw ˸l fdjcľLHߧ-4]#d 9C` 8ʐ(`17{$-^Q !Uow{tQ+k0d@V !1d\}~^ꂲRݮ$̽/6USZc OSj'eaz9BI+1rOC+mexQ* ;ȖŴ "g;B:,y=}Jv#_́D6D.OiUCeg[U^i75Ȓx40SlxDU** I'mx3l86)٤Yuv `~iK,yZ\SvV"]7@t-4(V"p:#BR@m°-|o#29Lcd{.Ы_S`akb9}GF#%\yki"ZS(dL$9f) DNښ`R -Ôh qtN;|0%IJ,Jjed%>l<ʻ%|/Csir ;Unz!la&6-dj#6 !/?n1F;=W) /m +7c2 rhzWc]D6V5xEht^+׾"fjdc߳ŧa0tLL2s0u*:cr5t IJ~TO+ʑж"T&++ kM@9\"- GHG/s{/2TKb;7^ohV %,{%u1>'CxB_ZtrF҅[M1($.\X@5/`r|nB*ݜנl7W?DH YT@?hG q_{Qb Cap'^}2;7A:X2GnxOx6VP6D`3|9Hv$?瓥NPWD{\S*$1ќk>hŁ8b1bi<[,zwcl @=4!&d -->߲f4soy'}RsKkL8xpQiÎ&))A D`iDYr?2t< >|$A~#u6(h{9ݕ?'R3aӊ:%,) q 6}fxb~޲}2rUFƼuZu:ټۚOTrW~ "^B]k>ĆiOѪ dպc-L @$#σ昰sƮ_pWu趍:4qM8~E19Q$n)EY.(?ƒ`CC*Z;Qԑ~W`޶J]9;WǍs'NtgjS,:_gIIw ҹ?pqG4?59#y4x Le.JnqŔEHU"FZ`·HVjGHj|09\ܡcTh"SJGMUsf|?CPMPl. mc%_ \b#BP¯$pZY;Yh9M +*;zwsE|_NA1èYy assdfrB q:zʓE'S7Tl+^8iJ P"ih>+N_^+ qcf:F:sńЗsr؃5Ooh=o8R7s8$@i@i4q #ϣuNR4LOܝ5Yz(y`S Mc$~ ţU]LS!FnnYM.ZPKW XE@6eB.'J]vdzrUǤN:To M ?j "`c:r_yZhҘJ7UӒoRY3]q`݄NmӮ4܈Dm`x|_].]g63 ( ogEirF'p?}@xtf?DFR*|Am,s=k~r6%W [KǿU 4"W9sh/PE6(7:YzCUz't%oB,bQvk1l>Y/Gv2$2U\F(9\,J[w*p;{~^ ْ_]#ru" o~H fqֱ;ѫN 7 PMc@txH}m >B}3xาDX)e(p61抣jz%jI\N~ lqt+;%ELߨ;Gc o\Ejqe']4 >L0-  2Zt8i |ϟ ؀P%ƞ%Q)o(2(Zq3B2FsMK&𕭀:?A9TLᣠ*PD*:9n'1#h$g/`#(Lju >ozaEzf8ou۴?c&6hry"T2-=փK̟7|MY{rFbpw`20 )G>Z:\%{@W(b]6D&k041 ?o4tH,M4Y tf%Պ o,@1>Z]zϩʵ5h!kE߄ǁZ _)ƞA9o2tA ؖhw\[lflui:=a>m.u>M!vmg[1QXbv8Lƽ xզr«kkn9}6؝ -SWE-S}Gᖂ\y a87ȉ0Pe-8"X|z& (=鶫l}ȭ/@wgc>Bd/TX}mĚ;YƆZ4 B\ޞ2;t6mJcJN46[d: UC*Tve{(l}?v,QXA[5Nu.ab$GXvf m9hO;[4W4^@ȁ#P[/Q(00Rq|z 0.HRCV fpkd[  H̶QA4[+zې'r6xə(=@ RFEu!܍`IΣkXzb8:;Y&iY]7^`Mv,D}ⱊSn4rI_ѕrfZy<2L^v_qz!v_yo!\ WtH?!3l)H ɰ׾( E5tM8 Su3RwfH<^*Wa4Pqnbm>j.+2K4akdj[#h +Jz}Wm@>AQyi=\,ݛK %=q[<keT,C#ei-DP:R+x/`)j+<ΛN.Eݟp}XS'' Ӕ ~ .Kȼ&>'8 #f3۞mRg;Ge1Y*WĿKaL/ 7ҪC=7Y~0Y(QT0ډ+jjER8~Z˸EC Pvle3* .apfH!ܑUI黼km0N!=g `")ax5Fq''W@?z*OA{Xi Np;Xypq}j 2xAufkX@p 2FgWi^2F(6Ain<<% T:aхc AågZf$tt:9~ ﰚ?p)JYc0Uu{ Mt@옔?5f efOx Nzz|6E_!je;7tDPl CP7 /.}ոP 6U >}b]pI k H~ '$ѳVϗnU'h;zbDumT[#&o'>6H˽:5_]FQ)ڛtZtqzs:i⊬!i%18|L9q@nn$}` G"Q0!D uoZp_%m^G+"Q1)3<)$NS<5y>%Z;e>Lp~ȍBCYxڵד>ͣcUʡsyW+N#IdxKbd`Jv:[h\g aBPX@wV TmXWZ PI }4^qPV*$ ikI_{/9 zR0/#w'D( 1L?`~ t/')̉nؼفSTr$}Eh=1W,nE \VWFma-_pobq`B+[zK;uoӚkGȘ&\Ff!<%HQG4V.s k2Pc)ș<@' Y%#ҿ^j}gp"(#ŌJVD+#<۫O 㐗YPnfv^tWEaO=zzj^Z舠t)r,o Rox?^6e 2/<m S¤P)l!wpYGƱO]8AI̞#Tfl҄2ѤR+6n&cAˢ .k^H G22{ ꗉ}`9ADku/$qj{iɎ zpItՀ|ꮟ|pUx[o¾93= m( ?4%e׬_9M~1`YfCG7$o5Uw,rX4wiiCUH;qa~z5ӳ 4 =As(6lB:Zcg)ox40Yd-!DD/f Bؒx̉:B=? {/^rx R˼t5Xg*__ TPb~D :+E[^8M!O?2Yߤd{uϴ@ 2?@ T2W.MfLߐ(ޥ1 VHEAjeѶR]k/֎,]j3(}* n]ݹ;{ѥ]ݖoC6Je̸OoH[:gT?!JVb>>2_(zT@~QŊ;:N?/}_(&FK®ß?ó/h>."ZdHn\!KΊ;ZeաIR E@!z5}ztK\ZɫRaHF>E+Wr5q7øa_ 0濁ajg!FqIt9D͒("6Q:l%ˏVslSNa;&" cKLC^`A`;|*8: KuƝpMTX(4R/vuGZۡ,'scW44OWK%]hG8znxs 4k՘׋d|C OYL&m{:w!4!(Jsq}o~>ƖYa/Xە5"ls!C)hw)ehZ~,EfN1ƒ'oUNȞC`DEN$nOJhWBcp_>iQpW ߫bFVa#3$y!E?yD_/{SVzO!1({靣&脋(yCfKSQUYhDl‹NnFzT8xz]|X:ZY\ݑoZO!i<"^ix[A<2,^ bRTyȖPݠ*3ulOK﬉rQF Qͭē H*pVL-%Yg*Ek|UF*!)j {oY|V|X&8 qQ4Y1O\M?(?YV蘜Bi}7c$C.H&51`~J8&tNܵ͢,? EFKˏ*F2}GڦAB'b7B4E;~›wM</Qn8Y-c>>ZҬX{v&{#tyՌT (O"P1B>6Sf~cbCTh,G0;,K]M-:|%5Z748pԆJK{ S*yۑV|;OM ŁAp3 YԺ,[ ԷO')񤅓T8: 6 0/<c;G U.WmW< 3UX@=谰tV]"dV'v% \V) {*(X#7O[#gr ^; Z:'%*G y4,A^aK'2R|O{UH%ŕRBI/DIe0f-S}} ڔvb سq'CT(ڳW1կ3f !Gd?B7>j*8A=R ҁٳFcBLZ{C57IJE_ר  jΌȵ~|h . Kc8؟pۻtε4^Kǔ_4 ^"iJy&6-%v]D>kN+Ems塨y:49a wř^08,mF"p!ڰҭ^ƙXk ?Z G\oa2K,^TKK-e\ 8_ă5bhH&;mw1Īd(TOy͇v HPD,o.}: J20 * =B33qy|h7dXa3WP7ߺ6pZe~"%!ga4p'̭N_>%BE=T}UBܖLܬ0CN,*_LaV7p΋/a?44;@G+Ўf }kyTV>|Op]]5)CCd 䉰Hg^fUUi0mkz2"r==$j̇}T2~|b=H̩^+1yrSsY_"?/&>H>2Rx{8=h=ıl.;`(G@4;&TWy ik I.KP;>W)߈C-ɨw/.u0&* < 慵[pm>G%T&@Թ22-> F3v Y+u)vQspf.0&W_)z0l'(K7 *ɇ`c9N$*wA!}m=١<1?~-+'F 4! ]w! :n[z'!3͏eFV#P;(@NS#t/K9ʓyl &1: Vyg߫Nfi0mb2;'B{pd E/c@*V_h;F{O*3$_Ǫ! xK:.Ԫ(-tS=ʬ gwf.5zTÉs kP M^VYBp {MC9]Ilnw'Id;v,![Pp#قud0Ǭ_5/㥾ԇmSǟmϔ Wke ($N; Izsu~p\EA^JxO*}0M^dd' ]hWN0wa-g1'ZM Gjlu5*,c(ܜ-:+|nvYF6_f۩ud:ӛu "Qg8춴*aRK̳ 17eĭXP DD%Il7C׷&3>gRhYg:`Z }L:x8ê]51la'rjII/_, ir0saL>N1B.u!<)z,0 ~nWk]?%Wԇr3<\ǩZpH?nx4: hϊ 0v;V~A.4d_0:}:Z4Xq~/qmu)~9kh2& խ˕vW7bo#>:Qs 52a5v?ku*B*3=>T̔Y|R+sj$7g-\.s9F 6>Nf<[Pz5@.THm!-=zݩD#*B0b$?p᭯?g3'{Re2miП>Ebaϝ 4m-^T1h!Q3DW 1*fyuk,"fކ^*ox\j-xrD;A1kr%R缇Bժ6?^.QnopHu E^.:шAn(aD&q(ds*D?ls+F! 킍>lq)uC{=D bM+4 DxGs"=P0*tJV0Jaa.!Xm94gtlɌɱ=Wƹ[꟩`i71h({6a>HeD}Ajo5G["6}M]B VE]S<ۈwJ[^@R$~'I'5 CfX!c4pXUD5#~XF]lq<@Gkc𧈿ڦv\:oVusZ5?uS;šB76kQ!-PE))x-;]t+%{^8W%ZbS)J)QlDҀՅ7F&Gd@#0@NJxMVKt;4fFN {uPH;J!&zc?FC4$*NLo۞J|0SNa&!a- **>"jFZCW9\@N;;B:?a,·an$я,VƲiRˌTlDb5?4ܑ0tDR.1r3^ա~>64aɊ0 d8O"}$0jz%*>5P'*qIq1i\O!j8ORASfp,Eui1~^,Ar97&è`-iIv%5u^y^dKqzAfr}76S d tmFfayH-֌*Z7yU(rTp83g`w~[ィ%.Q9#+^E4 kG6~nt-Da+'9;؍'.YIqׅٕč`/l^>tC;>>cE}R7"Z/שT~aۨ?߰OK>sl~I}Z0x=98j<7Sc(枓V<@-?V};%Cx1F#&:BDKc*y=LPԅUX90۩LU ~]6)æ&5vm;rńS}6_U(<]FLKNrm!ImW0sx+zb~n~Gmve&c3dΪa1?dy) N4^{y|(R4 a .H0' :6^Ǥ$)Uo Z~+jgs}hd~kyOcZ6۲ }4vRʍs *<i0ڢ/k61E{0X/b:z J=vi.[ez1Mr\x(.m3bfc/zvA<̘xVg+?$^vP6L:@ڏPQ6=E}iC8%+T ֙8ƘUv&O$=+p|5a6I_Sm\ڒ u =sH/΃}F`NZ>oX_{3 c^ R s$fT,Yap9=h| :*=򓦐[Aˏ?A B"Hْ̏'2H٦ (|ts0㲽5Qӆgj)"kǑU`݉//dgUnZ2}jrr~TYLhp7_!KѲoZx簲DҜ0 x)Saɸ`N=[Ybi| FnM^ݟMFx(U|(۔0ck- mLFh':%blAQg@͚dCG| [.ż̘A퉠 h@n~K0rmcӷ[>$-Ҽt T!u &p#(=fix9%R\k զ[{k* @r'cyOT)8kDBfX+PpWUӤdg@q̻ R;oX"}J:ؕ1 6AMR`RLжqc$։OJp4e'5]~W -) 4]MɵTV3o#jj|v>/b™]azē:1,>!ȸ wb`+}>Խ'֪rAv=V*ZH~7RWW0ÀKbbfA%y1X#q'!-іJ1W)>V7}AvB*(1E}~:e0, `#oqZ=$I_Rd( 7Ou "pPyO "yU^C _u>\ Pk@! n7d#!#GAajbO; qJ(K}!mi|Ijtڰ9 խ+,*me'v(f}ublA\蛭yl>.v%V@*`"-I 9(iV; ˮLo.f- gST;( 7 Ow1naIAm%00/i'%y k2KNOTHɬ#U#oMŰؙzd ۢ[ ˉ3FBjݤ04Uapϖkq[zԉje8 q0KxK%g}3!ݑ^MN',ٙbEψ$Ԥe۵Hd*'4JDC>VJVG?(`)Ț7mӭQѬAE^Sv HQ, >M,UT"x* rCh@H }0Ę\ Vr.o4p5]> gQ3zz'n, 7hkN̸0xs]evNj7Xt#]8?q0Ԓvȵ"d'TV 9W vu7 |1r}pmO[Ge8dfrvX{1#$>Aޏ&ᫀb3S23 Y`b6á\4rMr~m"Y}^58P}[I̿nvۗ٩M,͇)E )p\q9$I0ITR92 tԓ]S1>)&v?.^!wq_ܒZ$NXz_e1gN Ν.V`}|֡[;?l/73`S]XRcFd ok(Oю]6`/$Z Mc&stu# o;y2 @Uj{aĀ 0UJ5"IvТn"EjpD.EFW:fZSu$A.Ɉ! [ 0ځi[)yZ୙XA[Ns 9ccv3vx,>[`;F,4A',A`72!% tQMkka1]F-`#kӮ8y.L,!neG>(ESa%XтNvl;T&<8I}&pRyѣF܂jlوwe9|2?5!òe$hզ#|:A((=f/+ݬŤ:xAKtXz&ś4%S"~Q&@7~9o~& r|?N9׍ 6N2&V LpBkU&ғN)HO`R0@z4j.r+2no2U`u^QE`di%JAdsԀӥpV{ԨzV!-* T (dv2; ךƍ'+S:sNh\_)N-2X'~}34₶qv{-,V.yQQ C0gT8ѳ `O|2!sW.5k3\/h^r\|ʴT-j7h&~]qE %?%-&Df:"&b˩M x8bBݘ@dneH\2*0k&rk~OWHݕ{?2Z 5D-b£/k.pI Ab^u`##k[WMy[^-CE,N(ƙΎ7vqIl:0٢މdZiT2 P4{_BHs1o}\(@'9` Ot?-s9]=ij!yl5;wYb_{91FA j3}ϨG}GK׭A$Ow Qy+ܔWnbqc.L;{RA/2>;PX|/ Pxn%|{iU[<+ԽڨIKrg-A+m3,N;my5h9u9hxEP:st77x?<9=}ЗyWDQ%vn-"%luUaZZ%|( DVa!XMv8P)/N<g\U , .r*EG62UtQu*T#?ɡcf@A?9 .oIwddE>OJIAe#K!X!3 !f{Hw-ܩ_F#%|oO!eLD`uLu "8sv2VKzƼUpK3Vj s!,J}WO~a}nZ F9BHYiܽV`he3MoVa/ CMҒeCka>atQqBۨEǺ15`QC ʶXiU[O4¤EG%"J 䫀A(})-F4Ioh>(,839?N#Yg/].`"fHovQ2޻ʐ6S4:wƗ ™H~GÐ㭓_X3hJRczGΓ/Ry1Ά^*#6Z[Ex}͵"G`OK|9M 9*D#K<Ĕ #{-`5bK! Gd<] Im)Qķ ]Q[h ;\H*Ev-;DJgVL\n R~̭2<5tL^_.UDVXsh\|RUpJ!q)U]aحKLr:"|/\O\NoaJ/%>yJ&#5RVKRr5HPN~isJ)z"0\uZ B9ৎqd@·Oj-?eAw5i:O¿+^Up)bBu5 u- %,?/93,w1awYl^!=eGbh cZg̿7@9׬"F5Kޢ1)}?"X6l$jRO-j-C&m#\Et jgDhӳ^:Iɸ*v+Ip0;)Qv_P"3c 1=hNVRZ- $N5I`y7%׿Mb)D`鮘cڡ՛t0T>?v}X{` AdXUtI%Ac-:#З@^ŧvF0=îo!RZ=}-{iʍB$Ų!tƫ|>q֒1-{2(j>٬sfZ!A`=Xb3yp9^NPRLe QZ|8Z}&ÐPMl2V p`dw; .0yi@9E /ͩdM V?BgzSfḕV84@p: <:LA$ru 5÷L)+ djNh }٪;qĐQnQqֳ1,+uZɍ׏{rh=iVqJh-& FԶH;' ?DYnc^Db2"ERylnVƬV UNjhaWVlC%"Rd.|UU=Cxd0Hl4(PZW( TX,ǹxj a_aeP&n^T&[ N Kv^G3%F ;&'!/Xޒ[%{Ed7CTurBfm(U7Y pgвӲl/ PP-ðrYJ%E*7? ŎȈa׽c a! h #E;,S38㜐5A=cn -ak0cVZi' c+miE%b2sD KnX-b^9U”"D$?\:=@ҵ`m*1a~65F רZl`sgO Ċ .C7֙&  @Ood:CNFm[pfd6$ F)fc#uf ~w;)13HZYOzHX!԰M5!83{Pb+ } ]g@&#r] C6#yhly ¥E׺_X;+.,P!- ca0BOX +{ pɸPWcSvW[xC6zvFmuPn>b$f ;"65 j eE/e6Ynxrp?39m VN^z{+*?i!Ă1Pr>gGHяWM<,wFpC0qϊ :.Bh3!ݚD5[M:6's!8ݓag;wP+&ȏɄ[@j$Ч3}JB֩ŷw` Uҹ~MEDRgJ}Y]RMI,< 37lV<~;vѿu* mj5oQ?FO U>Ć]^̷]tnnI1(R: |[vCG$eMQ3=thh(Ϡȁ6"q,m(:yǪc͜R}ܲӿzM6 vv0ejQ|}F.G5˞Vz{ƵC[Mԟm܏n yF5񟊪M7(du2+xQӖЬYՅ B! TvZ#ϱL^4ZuvH/fie%%tPǮCKfHߙuQYhytD~$o00,Cݝn NggY'|rcȤr|oteIJqj}NE~suYڜﶸYwCӴCzfnN)|Iз-( ]v]z20l/E"iU=1}< Ic\|W] {c8ȋXGdl ]NigY 4w~3,*%:D] lDX̐xY2* BVqȜt:-y!^u`(2$/IkVI 4`nPgِC>{?jep ʯ":ռ, ߽۠S`1A|Τٓu}ӡ7~2fqyJfg ڧ/;.K_#.Ű%!gk;7t- =W(;䪞G^ΠD65,$&lj}y+gjEy~K oxLk"QȲhyCT5ؐmuF3Nv4y .rEp#ڦ.u@3z9W.txmqu>`X׻ʜy ~&QzwJQ(ffƂ2qbcfe`d.#rR+gCJ ״oHJh HS&zAwH"$Wڥ»Nje"Sӄ@ns&s/cb)Ĝ VIU]Nݕv[b+w1Wⰼ:5Cj^Du=O_ŦG/ylͱ }ϧ@ S34+h""Ap <k$ 7La\~ԶEd'leSh&y$vI!t5u dZj&xqsMNjw^u =Cs욱ם&cs Z\@lh!nғ70f'y:eGnrDb^S=& s2u}~ؐ|^)4ٌϞ|'gF!1lȇi>w%9@dEھny_ilÞPVN-ֽ$\_(ЅjˊjzW%L_uT,Z#oe,s( 9TVr7-iODq&V?|%h^@E>8G8Zq1[)T%!b=Ãd F&3 ez".cY#$?ꐺM3c.@imѢ2_-:?'#SW8»J_a\L\_{ZLƊ%6x\F>9% )p~h*fR C]jlj,4"i]#whzc&*vxoeބiZ@1׭Bk75d 8B )ejČW4듹 7)ԩIgoА)VEWuURRI~1YV˶[{1YSԦSQ9]g,.Zy[ٕ ~!!J򹌱r1lTP-)F3òΏ}i{Zʊ9?CN4Z{<]ҷ]CVE+7`Ch??6y)vD?Nij|WUƆl^qQE 5{~J'"|س* McrώYOjI<~uxմxkoDV}q,hYO;41āeYe$OڹBxcjbrb`g S/is{=e^. zjvBۓ[Qb\jil)koi#p^>7!C9g`T|Er3 %K^&-94&mD*wKӑ$]p?aS/Q<NqrL-+I[0w / z[Ay f7ÈDY2oS̟LӀ2}iH,tAkl~l"G`drPcQѷQ̲ʷ =V6OR9inx*KH\'#'л.qOkQaϒr[LfUO\_klSύ$^X,i_X#_"MIEEVocQB NS4*Rz"mw,C0;~\2~ZġY]fSOtơ'A d1mގJ0[NV֮j$u"SZJS &-D" /M ɔ4wX5R)e _YrBUBSWd-07kx)3R#DH%b'_1ܲ2D  HD]lg[ kT[=MK8]\j8Ւ_{Qĉ # eϡc*špϼ/~+a+ꄰ4cg /iˠdE;d`[mdKC-YI |t)rU`^! 4ZCz9[tBi_Yp@I4vf\|&Xלp0"NA,R?а:R?z')y}L_7n/tNXuPuEK\eb,;1XgSyx}Gע}OWPJxꗀADrz Q_9>&Lsvɯە wu%#F+e} j%kKLe&50*"6kIiy%W$;Z~2[xTU2I"mMɮ+j)S{!e ×Z5dc7Fɛ5Ie~4gx˼V/Q\cYZ9pwbq4͊׷K, B8_1 R]K|j뿏PW\OʾZ'ݚ1P.4RnY\n{:N9:H=Ќ}Zi>/@-s X,E?U9jA~9qAf $1d,pI.$YJQ\./ qf5ɇs&NZ9aX/4!Ůl N!WQ{T ʗ w8-ǮU"(֩<->~' ΖJ 8Egʠ3LFO|S7C)SA |CY%4$U*͔9lD#ƧЁU0T@q|O$J ihK7pikU0_@ & YiPSa %^KDudssN)ib|g5AhCc#5NQVFd t2E$q{{/]eΔBE=l,gl}G8F VqB jd/(X6 uGF`KpCH[]{ ׽! 18Uo4Ԭ3[K>CtQK@$Zpk Q* ǑZ5ĎܐvwU`"[a7>,.ŔɊ]9>3S&I)Y}J eıP>W5a|6u*G79.YLH4`SOӓҝcm߶\EWbf?tTқ*]eqpER|g5DH0\;-QzDiF{\XJ"0bom5X6#aEv)˶q'.-[*3.;v%GB- $ˡRrx.jƤcN#j kPX$Z=:3Qi|do<;}o{ּ-u9,ǷD..xڵrסP)v"ӴGfIQ=%\T4Vb8BKLT`i _0]m yh\|;˘Jm9> /EI9`<-;M덯wq Bm (4TgP6X-m+!dEUatTg3i !bR-k w S=F 'Iu! eP69Sp/Kb TӤal`;ʒ8* _'%F<`-+ vw^PCA #p&{'(@\ po 'R!- o➌~ PPI#+~rS h,K|Bkw,j<hCp9I'EmtbE#) +%5JN%a O|4I\: SrSh>C[ 2pj:]G`n&w.ɱ Z ̒{86ڴ~nԘUcXkp@k} ]fu ^ 6@pW,FII U-6BW#ulGV/"t"I<7gl21_}ذ\8G3,s =XK)yԕwV=?9`|Zv*uq"";.4F?j R?`@ "C' UtZ2HSHXuCJdB3N[pjXP=BhkIiČ/ݯ *fdPvcXK=|YR͒>u $b(\A<5=#^E!NBu)ÖS^^]]Z!ˣd e`&y,eprMt0(Q\{G_]<ŵً^)D>W[sHs3clcVƃ7 {[kdn5udو(i4X׾UJݟBp@ :RgQGxipA阣LkTZƑτÍ4z.sR𾙋dInɬ%<R?)Ia <1"">)c4}A%0T*XN(p/`G!e:5#r@GO1ydf u@uo~zXfU(yF77>8[U5h:p;E jҳH-֔fM(3(E_ڄ{LRB/Gl9g}0?OTVs 6g qHϗLFؗnB[ alYBW7<ЛZwָwBx+v|p㊋:xn_N&iC-ޢ5՛,2TKXc}1G=bB/+ {&Q CykLύ)p*.Cڅ3$O~:۝xK!Mu bqx c>hT:|&}e c|Ԝ|7NFr* }$A΂ia'߫(udC\?GG`=肽gYpSHˮDAXVW׆irrCK}᫸Dal3աY^j,vF_j)ún.|~% ł+wҁPn % Ѱrbڅ䧾nt\Nut&o Vqc| 0J W}$5u~Eg" m6ߕ~=-;$K{HbrL(Z mlv5MvG3$WyD UV<ߪ;ZF%Ʊ[et׭/t#)~ן1᱊1Z#TND^vjbv.YЮ§KZu([$i: r0ZnޠtZYY6 dQOnІ2Q:܃Ntb b^>nĨxJB.F[aT{:!kJ0QK.> 7lgŋ>W'L! :g<%ТU1|4÷#?aUE]ũMr5=)3Ir8iYV{QHDfp4?p9@q m0LXo/ɃFb&;,"Ԋfy7f۩A>A ܔ}/gE 8#)sN ` fED&9azuC_pB\v(&&mՒg\T,<->ˆ_ W,54Muzz:Y{J "iTnY)u2dLe`O<;4Cf^%'c3"|ON%b'j0*\4+5H rivI{<ŏDԄy*IK;ZsR V'4z!t 76g2xVP +鳛Apd~@2?5]CI8Ϻ'1W4s v]m TKsGKcLGRb-ݵu-5M:{G7d%&Ix"tм읾HBLTŧ ޡ{w|_O=o@3i|ETaU&[hE,۬C5ZKhÏsUR)˯x:Y V1:[?ز@*X4WX#VpQ~Z*ߪb.)9]ت$H)- ɔ&K| _w41PxZ$9s]$#r/gMxՑ62T?# }),hkQ:yFT[5򁴅]z0jB5O*\]9yfW9: pe_rD ߦsZ(Yqr*d\6kyXU%hߎ/5uy;SƠ<9SXAfa$vuPޝKo,AEb ?좀ǵ-\x0/9x> 89,fUp}\=Ё; Rl)MaT FSMa ܁#CzՓ@ߑQ{ 9Q-%C'W`vm3H&~gdGY5Q?VbP[+FנAT?+3u\;bc +KgQpkbä\3f) 4V ',.Up/礻2=n7׏,#\ 7B[^ @ef(d-:쒘/R T4PZެl4h'o*׋9{Ln^nv)0"хQ,QذВOnG(5tbHu`}(dKoâ~.@. W uH~=xa=B%"׷d3s@QjXf#%xՙ2HćVY] ՂGhyafDp_aᓘ8}\žx,O8UG!mh%4At_;- U^)r,.=a_>r\>} `mѬo!Q,;›͐w1XvPI-|PWJb *-m(o"iJ'X KۗiK[9mtÝȢn< [ړG<($arw/„p2v ۰5zM!_T?%j#Nr/"ڱ{ Ŵ 'eӱ]&Ǿsi{hb8]({i(͘3!(/.-pQoN͸W.rAC;#s6xx,+4d #~@X> )\O>\M@ObˡxA9|ؐWK pC^*;GS;dTaI :> ]̊s[t-vN=cCX"A^d]4O%]RSA!_B|1.:5 އqc2)*fzkQB!#NC60AuT[j>@HMa$Tƃ X->UYp>.3Rw/L]|McyEMaWw"Bu6@vp1sڜ n̺,ԓt/\N8@"K7V:cL==%2,l֪=u ɰJ/ἒ=U^^Uт&s*W,ܶUJ$FtI 0:YhA\EƬȥJmCeq6vA㯘ƒ۰dmicY"_GVA)O dn@|$|@ɋs L gNy;bgCJYSʕɪ! F tܙsQ֟B Bۿ|E1ySNv#"[|>u=c72o{c)q m[ߓ5:z\i7.шHĚ$TXh],7{ϟG~ v^v,KwQKǞ# %!Zh2FӠlBI`ݠh-1X HF[vڱUQk[S+a"R np.Lų:>-:w=kaP;ad nv" ge->cޗ=ØM|hfr֓mŔ$^Qvdf:2kE@7$vIJtN}ftWHDLʕ =>DaݢHV`SxYa" ]L@JAW7H#9|h}% II8Jsx+W,P8pG3\˰U q-L2J+t PXR2g]j[bn ͽ.+H5Uzhu'}I Rт&BgkJ<gQr}t8c*wR=9dA!>I|94rIj\f<1pե OP>A}!fa_o+ORٙo r )%2Ix -)/9w#ЙaQG{y;{r?"&lM&6"٤VCT8$_ͰcZdJ84cdGFYBD#1;~Ͽ_|oߜێ\!*)&2@{juH[Zsx}U"Z "Q~#,M~V%Xt&k;Aq#{0'XOcXz?%z 2<^QL_g7dnD-vƒzCp SN { 衁{QA;.Ѫ=P)^M:3s<O.NPA@%NNvj}Ųo{Cklm@LJG \m oXg%_.(sKNQZ6'=쩄eTh&)m@I~vvݶ4 V-E N6RYCHz~q9zMV nW`8Nߒ9Ր β,oDʊB!شYrЩiF5/'(A=K,^hQ s! $I'RP#SSo𲯸 qVZd:Q8}Y RכuQ琗Mm"fz^^+4j7-&F:NZYG TR=KvŢ׈rꥢ[mR_r=($nRccfqڤ@m_(/ v$krXښY:IePkf$.~MFGX EoF̘kz,;Ja=q;U6ȻJRV:t# o20a2KA5J,l|2,Nxgj+C\D)G`Ye>68RhLvAl߯@8p_OEu@Hjhhx_/o@?v-DQaPX/pKljɟmɾJfyv XOEhڅ*(|*xIJ7)?<#~M%t*7p|piEo7^aV"()sxATK$M4(䉇vZ!ךۆ%=b@&Ameٚ$  t?/9m&_+X ;atڒ' D̥=r-H1ΏHo ~S\&^^X /y=S MG|N tl[Vu~?r 1A4H 8,}(X[b\^%LK;kWd]qԪU$ 48 ©Kvګ7Mc,/Woe 'p#qeb"9 {YبyG=(P~Ad,.$c/3'. ,! 6qGl' V  ԕ0Y4h8uEOde9-\g; G#D`(A67m%|K]66)řiYګ`3.J(I(2^bvNi_q#a>IC^6eVrol֑p`TQ}qm r%JV⛡J牿ecZ#*6Xnسo|G\ˌ e72d5HB< Mȫpe_'1hw'3#<֭ӭ:QAJ,akpAqjo4EG?,?p~X 5^x(e k($_u]\w!Ҋ9P뮑!&>3[fxJ`a*/Ĵ>xIN&/I?9!8@2=z&DŦ::'K7qlK{vǯ&+Ze-ȽǛT<.NB7;H+v'`y=uO;(T[rܳ53Gn6gV oL 9A.=$P3i,?VvVuh$]p7o%ZY6X:&HSDA#7@>0QYb_2?R  `q'xpvnΒÜ)6v0Qؼr n:Dq!,˰|>pK`DhN9$ϸ@6ZpX-thDɢf"}\F*r2t35uK^ĕ6hO3娞팷LPE\N/Fox63ud\Zgfg63~åp^r*4\Gn/j_l,hXfM3sf|W~_3KOx`w̉]FI ̤ l]nCK몎4!A%N4?NٸW,6N8_GWwja?KW4դ@ߗ!HNhG?4QO_ ehOAbltH֩^Hװ:q&Ќ֭ q`!6'`~BИ oAdvbDPūCXP('v@ϝ֯sbwZYSﯚճ3ݗ!|=]ĐR<]];9~7 tAt Fw{;iws5lZ_ FoQWr,; 6O 2b TL_A5\h4ݘSh?u׶O + Zil-/M<tyZZ')ʯM7ģ S:,x~4Q9* ?ހyO%1'>h@RQ͝NU\@Vfvɖofg {WWYWmwЮtO ~}Cp~O@ ccI>=V s? !,< 8ߝnv`]Bә4`2C@u;Z^>9X#AJ5a.T p= sfs~jƎ'oreqXZݛ8yiپ]T8Q-\|Zȭ2O̘_((i)ךDҭ'L,>XA=76Pml&!v}ڀc7CfQ$ޡT0 4RZp1m Xo\ۂKsG^qmgQ@\3+(`'cp˕2ѷEi2ZG1Md]z~\ I}?hb\eo[t灶VϕV\֘ϥ<_J==Wq-*\IIY:(69Sdohx^EDw'5* `'j񊗙Wl9ݦr]5v#"UGL{uR #ρԀIWkA&Dktp?H+UBlN{QXp11l .0Shy= ž*GҒȖ"ԥ^Ul1ȢDMm6]Jj*B[p{qS8k,pz F&3[Uo1|UҎ~ڎRқ,ߓFJJ5.{cgHj l$iLiuޤ8&5u^4O˺,W 3Ws@՞}1io"ˆd>{fR0+$W}ftyN/ǮL1X3 狴df[?$q٬$a+b̛6vfP!bw mx}@͛VE]c? VT[R 8)82;5ITk]GlS?LEάTtULڌ懛U=zJD1R{V /Nʸo3S1.r"@P2e}݋1nwMx_{\,kuCuI_q'WI~f11">SدDy9Tj&9&wtCi޿mH3ƚMR>|DžRo HD| }*V꾴)e.mZ /A#F5/ otzGk d}`F/7fl#D ]farGCh]Cvm`?ST0bKH{vֵ$E3Ǚaʬ8neFQN( IT }H?/нI6ϊtbQ3(wd(&Ǣ[˥5ҷ@O6O!b?4G*IsnE',]Bh[w55Ƕ Wɴ~Z ͼ*GVث ױ*Nqei-JmAC!4+PV]OZ /FD0첼pb}(cߚrjUaoeMC7i4CqQF$%hmzLp׾gÁ05)`O[ ś?<uGG=t,h]\ CH770o;'~ U4Ѷ#]Cқ{Q3IXnXޅtt^xuk([#VƬVU-xt10t%AX*:a~0R:?]<|j"+P3co]"|]1>ܜb9%?Xj%ư`F6Qh+]/ɄLw9\\bmhVQ p%Q/ޞ躢"KkgMuLޡ/"Ɂ2pGt=˄rÖGV2ʯs=XN>@mFbVɤ34s@ihH h0>8#*CqXz*TVaŪY:K_f`QLVd ڐv)-ٸ*4yx]K/Tnb҂lЀ I-u9,V!6;FOxL=fFab(X\[#"S]v%MMN#;H:kCWx^,0G  +w=ެEsx#7L!R0V<+M79ްξN0L[`;W>o,ރAG"c.rhӎL$Rg~7JG_>2X}+QR@ DŽS+Y'}A|ȴ V+Q*>j)kTsA:>||gx`%I 2,4Mk4mho9ml-ǴV bePZgs9-miD-/?hU\'$-ԮhM!ϝOA`ZQD81m), e6s3 p&kJ%稜& ʼf7𒵔=i[0h<)8ƀb&=wywHCÅ"ev\@p{ez AʔAxTU@ta~%ɎTkt#Kdq> gXƏgQ$hr<7[^ֆv# \(,&lZm&${wQx9G7 GWHeo\5taWW  рR7>Nv2zg1ʽ*'&|_Lw+́ւ8e4`ϒ)*ߣhHI뀭^o6G.-aS"*,qΜ`nCf[B+@W̶fCVkW&+n)L@tӁԸKb=k`JL#SN|Qǐܗ%n&Y9GGV9n2s;ʔZ8P>QYnS:噛qܼTk^IԊ,K+SDoج{^vT7%Qnܝ' O$@DoO~B27;/t&g;˶XRgf*GpmfyW~^4_a72dc Q0N8Y(a^iDsPJ.c+s*.x980;Ż(:(kM&!pk@9b\βܞCkv(_~1,?¸;<6 nufxXLwЪ>07 qCEu9!_K?@ɤҧ D퇽'fTSj{ 9\ٓy/1&bl%h*e!32U^Cӕ:QrE'@$gK ux][]|TXdKП?aN%uwy~Q7D@^͐pPmWNpJ&Ymtu|[lF<ÍtuL )P;Ē (x6H9 NQbz{&^ôd8ЂCapB7԰S2Ƀ7x FmN@lټ?7ao7E/2ܣCw`t+Q~ͥn"t<_c;ř,PA!a=!mfa)gP@p' l  ]UG<!vHsĤ xj/=\]m#j9&dυ}VgxDDϫ9Qq~ohQFG_x\d$0& 0rk 8;$\1R,$W >5.[)O|>t&*u{ .)ʰăZ㍛12Ӎ@XKorR{cgуDҴ (b=LU St6Āy=H)^n f0] cs9y+knܣ0zHqIC}ɲQ>/b!zG'0?tAC`2!P ]f;M-AEEaBCgx%Rr\^:LRePfr`Q)m"y8UhQP$C㤩 d.02~Q6p/ZS˚^d; X-8NiDgCx2-9DOOkv'Ka%)=@;xqdjӼTrWWl4u8`q \|>:\I}&oBDmk!n*Oq|ŢU TY?joh 6[J7WK`Cz81h< 9rc]wPZ/P2-)"Uqs*,i FoK|cl5ZLgnLG0VϽ28K6J*`AoнB1>,*\{`QDyh vحG-44p9yS]buy=GCҹ 39">k7݌5-EѤZؿTqofyĂ,خWh`Ea,,n1l45D--̗&t}BmѺ{ OX)w({ICnX$vq\mC$ݺḑY)`NàXɴڙ2ֽ(=U__fs,~ 0#5DK4vc̝98Vj]e#! ݖȰ_Us \ ?[}9aM[C*wp.x>Y9,lL~^9Ix;mqMhT=kODͩ~{ʨ) ܩ<:tRfgo $=W⺱B(w7  4W|΀b0ʠDiN/A4B;): Vp*&Pmt@0$e/BwsB34 KKں9z{pS_D h&~+a!!KIUh^C { lFT\U{#*S̚/^01 󑶆G HĀ$KP=\ccz8\U"3F:]+7x2t!HχH643.#/]p%`owT]fӶ/OKCm%dx$W.G`8M)JD='YIW2,x$>f.%t+[m*1dhPWťzn e5uEr ZXfΓ%ՁP~[ԕm*7)Aw(Dgc 3u]X 2  9e(&H{'5YqpppFތgoqrki~Iߗ Юf*\Kz}w{!wUg`D) &mPGDZ'qoDZiFkG fd5\#իRJ6+EF&m0qhUf(eݣ")\1Wm@C 5>98L/*5Uy~H…vr-"mA ~댢0Q`k8NU\#y*k2͒(g?Ŗ8 Σ)hs]I V춮o`šҚ!]-T1x6I=J@ݴ]}JNt{2 w' ~U+:9Kn6@ g1Qp-&eqwRXYPd%ս''1},~hjY$Gr>Ml.990^]߇8.,^ s{>_#6f]b ̈fu" QO'rU[bW@~PU ~u Ȩ\Q ' 7;f<E u$~=qYL;~U_`5kx5} oت{M[YcHR1}]2/qLK5e=s8^Fmke*}]3cդ!O!@om p x =q(0ET VhTpϽtW!M)>ϝo`N>k0bZE(Ą"[cA%rIğ0}o |\_*JGEJ8J_5!~9wHU[CH|:)1[Uc^Y\GoOd}F ,0XSH(´vS J5Ti](e qD!/`VpBimlRT||r!6~ NJy7 ZG( bNjq?I[|Ӿfe4x!L}KiJIN|ogJ>O|< _[4xֱҕuMb"*?Vo!Bm|}ƽ] K O'jXjpswܬKnJAl&ɿu1~¬ 51Cɖ.,\JݰV _ƏZ(x'Ԛi/?솻d[VVbҊ8C>v7p70>'F;νIH ɴk |>^QX^D|=!Bǟ{;ޅ.I+5x\pĵ"fuKA|t!q1r'LA0/}/jkX50q+c[MddQrӻPϦ੆ip ! fNE*=O-K}ČT݇ˢ\#sZVmM,f^)#g9VPxHӱ`8`D,B rCuaVwu^N ߍc&a@0[He6Iclٖ\wOɂ86T::AEe^6LWj*S6!~Tr-)fr-}v(0!JQH[37S~;u`c֖M褨hF$wsǿ5z?n_tAKE[Q E^wQN?ՂFފl~+.'X,0%9YI|),Ҙ3px6*eqXQd5}N=S-P&\ $7(;U>".=+͞. \DNdmHQ1U2 yMJۄc7 ԹUB12c`"~}s덥̫OLY|Ũ SwGU%:Y= `EӚ! kh:wR+ IhR -~d Tv>,#ӅIqC?| '\#;mS/-7b9D%s1FhL. ̡0[j>8H\9>y>f.=36,xrVnx"؝"ߘ1XG>7SBC||e.g81%T.Oŏu"šcP$88hr`+~K]JU;\ fCGZMJ{TZ: P?Le;qR uT7;Mx .l&$7thv;އR$?S9IyPqB`է= |D34?IsT=5N-MH`L(hB77 ^aXݝfE'{ަ*ŨȰ E=e.!JH9'n Hbb،;OaK*b (AEv/- NA^u^|ڝ6΅kgCrFSۣ3JRqDSÄl< Y<'f.yp7J/$AĶ_qdQ$E?hJdyFz2'8+MB)ã"]#$## z oȜ3όxV8b \7X7>3Tcy巙^"`j3;7--D)=@Q A}wt4\DI&d ' 8[EI ?+`*8+qfJ7DV?mH~b S[[[K:SO\ZwD WNT:eۛۥ>d}2gt_ ACg 'esd{qzлhlj愷V+1CtvFW ]4@@9+byw/mEb/ћdEW*ReWh{`\!)kU 9'.mP䒯JmT{d$-aa]n.:jsΓ c/m`O˴j<EMVA+AJxCMξ>B̳'<&͎ ]SO@ǓqKv). e1wV ~Bk9ip:0=,+VD+T6poRka*h "Wm龰VǐGwY)m+ώaH!CI_M;jh6`OuMěg1|\L}rCAaWskT;+^˷@8NT3]u>|6 DЂ2[aVP}]{YӖkz"?A)SҫHnl}#SAeI5~c}˜n1m}&ЇrPse~~*TI_ٛN ajxU4S) &gn*~RJ V1Ş4N#8h;7@;]A:#\\ciT<Ȥ 8rm͑Mn/nxfhuayd<7;~9 04L'ۨG}ZutM KΥP0tߏ |$~#0> $ Mk8QSfpnQ Eb3ŌE -l>LM׾U<|uvUa{}{j ((46j22О3 ~A}/,n]oTBqI_%㊡/w`p<췗F F ݻjU4QK z9[T!$*=gѸVw SQ\فX^קOO1\}}kRFГjEA-<*J>xYYW`v 0 өkyw"q -g/-&qcsF Ra L]#-իF_]7>E \.SdPbR5F3OQϡ97P"q gh4„n婷œdġ6D<ﲋ.q9tuҼ F6'J X>},ͳU5 ":pD N$ChF/%]$($II=P8 F&o&eLv 6xBC#K] DZ:y;g%MOG[:~2^KGH Ld*Zlk [;f/!/zyoG1cPC)`=]^+alr@E.`bKv1-29eT3_u:9V˹`hާV|~ⲛ"ZVjT.f+'XR 2iMR?e\K-UMgxVML.TTW|!6i?}>e61G3]&̆Gad-Fb\1T5iׁC-]y [ޚ-0_%5۱I>F"w)flR|*kE3 |Ɯ{AtEh܆4W "MDƼ@Y_e0~;Qy;gQS~5t븽$np Ᏺ\qB\0 |^1BMo-Yo~#5ЭdqճUL PIpx$X&>v[0b])I_1v͘о!#IkFLc>Ζf=^l/HY 1)ygŨʒޱ- tB92|lts5>tO4js5SsܴUw'5uyG(>R"!O@:vL_穛h&Aʂm-QQ;BZ :mن R*땛$<`Dž̞jy̧]9+|%yΞ e-&HJ2j8E4Z$Z%gڪAAn};{wV4 `6@.="6}[&טT.Vf7 * J\x&V~^}C'!Ig֪"eڪ[0 6E_x΀'fJKmy.>mwS ya ;BC/dz;%kZP{şI艀EO23wti.!,Fb&5I0lR2G`o_qm{S~Q*'V~7}͟Gn޻àf@nJ`n SxkGMA7 Mw_cy?DQbBLWX} tH UP;SlJfP[L #TGsH,Lx? Hm-^h)=Yx=tr: +2V$N #4!DV f\FFw+?J]t:JKV@/ȰCb [%jEiQz]`_C7ÐstiCVC[kpd*Շ?Gߋ 3j0 sJs-224Qj0Ga$ +2G5g% '&JcpVꆛӓǯ%1[=Hx8QRbd2*Hk$$hIU {7>\OsÛ0PlT?:2L V1fHeH"G/}3",_6_50g}P~hWK%S w@j[NN?:CY$9 JCWh!fx/\훓;PcLTcL `~Bޝ&FV1!uz/9Rh}2YO/3JgZr6Hyzʍc]pJ@dpY%ATH P. =h&V + Yq5bzjV5}*ua 7.qh!!+w6⛛BmIwe[ИCaٿN<Q.y>'ɯ# sS3G3\ĺZNMB(  t`.oeJQ)LsX᤼`-*^xv^ə3f~iX2x9z&iRnJH{|&mnMwY}iڃFsi ~o K7}y3{H{>CgKEo1^,\.] 5ˮ^yO~OvI=?):{hhp%x*f0#<"js!ώWR3f^lNMD{"on4d7ABӠ+>U^W>7Tۡe e…7vI䑪%\q B* +-]#؅df6-")֕-^Ӎ6I͉wؗ4Cs-1}s*Es51g2O:ądu."ќ Db^aþޚ OYcXXL4TpR~ y*At:r F2wC^3/?WφEy9ЎڇFvy^]͚n2= &RT:`ԇ<F'hS  sB `QU=I=Z#nN9JgçP &Pb T{x:YTaDʽQ|zOq>G*-N 1i>; uE З …>SeZ_uSU d?ΓUʋT9Жtg&)$dou•9c + oW95q(*ACN\#NŃJtm`7r.!?85J2OUaׄ޾&~2c=C#QeXzZe*T㢹ILuZ g޺^ tGϩ4I#WP?(;;ou% nu]IӢU?e9\I.|&S170s3h~oO+硼jLZ}J~ ?7/4J+]Ny(1m}(p=l(ez̊\Xd( *X'erD:$ضO؍+QS0?RmӞl67Q6u+0&=n;Q*`^WQǨ-YLg+_8Gf-h_yP rs RN1vAe ۢ?p]<0Q8U.%QLJ Lm,^Qa༻mQӲBٟB6^)ZIMd25.ݬnؤl%a\ W%<8H8Ǽl؝׈P]M(#GnmN^_O*|YtIAL S`l; lnN7Q8a%όhۓPwuZf/(LC;_џap{x:I!V Fʃ{{ns'{ %ĴA5ênPB 0Mjv$07V0Ovh἖)tKwo՘w$=KbWOBHnYAOHt"'@W?6wqвD}L,CRߌoZx(pZhϩΡ䷺b-ʙKm/U ӃXts(ӲLi~vOa^`..c`> *%pi\Vh6g/2MRs2ђ oHfW÷5WgH-n  0MU4u[F1h3m";^qkb x@&#í7lY@b>ŋ"bVhΨhEE$}٪%T-+lkhU?1~a锛K5{`zXSQe%K{%qBvI( mSVIdu. 30.%:8iu PUZڙGߔxek$}q#kJY0sYbv[m9C ɡS3^"&1 H&P>1[)&jC6w16sNj$Kw.:rJ!$̹ lV/:be}-Efk`[%9]Og.؉oWhC8EdgM~YxIx"S㗜"CWSt#.SzwL`cs-;%ď33 Ow6&wbb"!a;%R0o#x0"|l7K;o\XjP.C>M1sg TۄjmT&Q!ni60*dAp㑘Lb1W%`wv`ԃu'LE2 Twʐ |;6 /us=a'K dRxX{6N]SLg<!]з8z1._ȳtj}z%j (:^Z0'1ptcj,l` JwEИ)'UxKc*{l[&FDn{k $CN9:ZYjVG0RAK ~Ҩz M>(UћG<ɔvj.BAN TaU +Dp񻹑j1@WSIݲgHD;e5M[(u7Jk)BB]KhO ~TURBWHa^xtNjל5Gi`n !hԙi&قͲ]$O?ΙPQ[b3t!N̴KIL`,%Ϡ1{᧖킉H#@GFNK^̪~m-BCNtɰlҨ]ZTI{gekEa;x$8z ?%lF?ˣ. ~J*̸y&%iq໼)$52iگhB -Wu+XH5ɢM яuMN^G[,Nb;!gX[^Zt/j[^էA77K"`+:aE]\o68Mg^( (GEUɰ\Y%m,pkDSQcM jJjS]d k=,KLC^;1XuEKڡ..WiaGn8a&퀌x8Y:jS:3{_ _ڍDW``>42W"=E3ZLԱ G!&_|HcT:tUm$OǕ5E(zayWGD^·QOnMsnrZ.&Pa/u%C/gq}8G IX#1am),gQ/t!v!Yw'NuzhhIvIZyPA70z=>{4+fZS庮8]6on$~4\ss6[<]2k; beC~">js,i{}[bdK\YZńn.,Eա"naȹ$}]r~Br1[HVet9_dh1?82|LJ0 Jy": #}?`5PHV!Ʃ,S*2 vmSfد&3b+禣4n%a%;41%5 6%ꇠB!>v{ɝqEyiΜ tK.17Ux$z{=DE pC٥QPO6UN~72.ʲid^QpFm><9(ږу]Y۔F2ÌIV;2Ȁ ~$ # Y$RlU *\^ߐ>?K yfVྜྷeD s>bM֏Tq;Wl4m guGYX*q%Jn/3p6b`)e5f[FF bkΎ*O(Z'qb 4a;^-K DWF9G54|,Dل=gYpV,E9``낃r+XɛZz,B&8͊2Бiv F4㝜.>i%L*f ~t\w' EhK]bzÕ-df{B6ϛcYiYr#KR//tҫ߿@)N%۳^fIkiC%b9|_[9'@}':;yM'sCs.h"Vy87[#|Bc!HBnIE gR= 5_mn{yO7b6X՝Iu𣎫*CWYHht4;;,-//{2NLaa$t/"'H2[ .p\b2K#Hvu Fr$(Q {¹n3N|3:Ԅ#H.yݧ )#m ڮuk+Ebk‘̍raX/>Z'sx1] 'z kEAT\V*o+HsjF'=Ա|pY\X&"4*X@mgSjq7`lmgkda -"v'h0ug&rTwNnq%&:,;3@)DPVbYfd6.7(7 [\lpM2U#a=>ѺTDMTJ5 : l3uC.ӝO\K;moG2Ar7;P>),͇RnN* -tLt8|1-2vNb$4OEv˄&_u `Ppqxl.%d.³js+$S -4B?ΤYiϒLBY*V S׺NSC!u>A9v{.< +\-d"vJ0ZW~rt-u~׺4Qo(FL4eE4bpOBn);YzQZ?a3:X%'KpN`8uIZ|G'uRW=ZEZrdƪ@`4{颯ISEN~vq&.T`~n7BE6Xuv~n_u7eQF;Vw^0_ݓMHA9oovBPP:σ!,+k98? +dx#h4.d jm@gL%ҝ|)etWRP]kd=e`AU΢Et(Mc+eRTpo8.d] ЅBubUc&p1k^jk`^~cf. [kV%-BjH\W']gu4 sL9e|!. 1c5eqAqpG\\?p*ϽȲBtUAA$sU7nqf1yx&a/r>#Tgdu2w*ptfhm2ͮú:Bid'$Cd$8whRT+>\<ƃYT~(UO@|{4-D;6g}?lc.F1fڒJH݀gOduO5$ 03}݈2*e6@ ii١=qs+sx5!sl./)KL |E{P&!e~zձ|_O.FH{sRzBL{ T1╺up<>rJNw23 6ECvcs̰vFV+R঴z57zzLWr]FU>lp3)?:YE"4m,_"M5.rv%gA>( >Q ؤ@Me>g(3-b),^bO+8ų s'dH "sà*wada9V3DO$!GTPb)7هH_K5(yA,a)UmxojX{;/@sJq'p*ٵI1dA_|/v"/Fp!jiTkgXUWvtݾ0jAy 9'acK&e-'`6jw;ci|ӢbYceԏJ[E+gIV-}`wT4iz/N\pH6Rj>kzd'_c].$iK}`lW]C (U9QVܸPq8Nz823gM{b=͌B&  _$ ٮY\)whu:xp5>MKK%#Uf)KDXbs(  Y*joɱ|-x `ӌlǩ ۴ҀTXnjUiwlw}XT |t3eEIJ½~ L9骳ݜ.+dG7]і_V!h~6QnD*AL\ҕA Y#~C/82Q‘v!كLtspã2f }}]A ޠvEţ)?jإ?`畾A<{-曬ZN (&bqrłN3d~?Ƙ{J Nf$S_; \悔*/2~潻}]-sajCGyRq flYԞik_+㼮I{ (y=`*9]$Ր]Y4+Y?MC܀Kr\$i(6BB<ꬉgJ %X^=d}/ ZR;y @NE/PtY.~z4Bv }iC#pE:XE`ƙaKFO&ްzʩ&Wo@X_%3o+&` E6ii0Ǡh kD)owOv39~1\t( N΃&f,3#^0g!GxoCdP:~SWqp l9]=28W7!pfb&1LԄCC ğp`jMm~n&pr5lVGn^dSC1aNIbb? е>[}L0I`֓PHDy3<#b%j=LzkµڪJYC`gCb.CS:q'͊ ,셻u<@.tr)Kjj UZ=5hNP+ŬL_86HI~씧lؾHɝXN-=@Qzĵ+# #@OƒF"v/ͷ/׳ s"`ZR섺E30liىX°S`  H8g AP}vRŞ{&#U0:H D85lЫ*'|c[WX ]\_}7ӽ@=r=/^78>VpFG%ۂ5F?/6 C]!}08^ ֵOÄ rP݂NfJ 6'he`ԅkf K!1y>w4UWqF^)!@Ġs}//w+i!Qv Y33NL}Z<%S|넎ңA(J~l,v4a4Ϝ&^˯Έ˙p&=җ=j'^l;(ܘ uոo֏˗ݍy)qn9oQ(Y 1r>u=Xvtt i y!}}_ /ȇ3JeECIu+yE0Χ:B6b4"8 U%bΙ}\gp"?ߵْ ٤X{Q}t]AN*B4Pرr0;uG~ *iOҚx.|WԨjL *oZa$ WШQQfPM8K'qQ5I^/Їno}"1C/XB 8FOrT~p5hPGY WmxTKF.Hͤӌ\Y.vkJ H&1&_:y IУSNrJpE@][C3Umq a$:b(^P :OPWm=bZћiQkڔ m<`[.._3Bz q9eԟuq%l+RY3b`E%+NȼBn$a5N/b*cO# (\4l=%#ζmlNЋMr.IN&\ij'i 1N0@ЀozP&G{﵇g҆"V3ƭvcQGk@bd0T+t:Fz%r:z)BN@O׏ivPt4TYI0  yf>4%HYWM.nBD1GHFZJI9ҭ{xA"Zq ]Ht:׭ں0%sWdkm9m: k j2Qt?{q#fSm]$/4-^4n mtUG z4+WX¥VA#bO.x84wnM7J+#F1\p2~Q@o<7wWmM[bnc{/GZ` }ՇhomEO[ IEy闱ϣ6!EoXFFS8ZUI28vc0r8wt^M# p!xɤkltd& -ƠzNj';tPӋO|)a #6RHԚ4'"|P8 &0 ܡ4KĭZˉs9?ϗ<*r> *V nq&M] C@wokp sYIk;ϟ(Zx,WQ||r[wkc$p3 }rHV) A̺oǚFQ]M*8GpJ8KT̯eЄnH1AYDwcZ3if~ m&@_U0t/VBڗcDAt}K MhwuUoF%aI䇃KuW)Hc;`s;#kOnL+ƗTS~C7G]"ş@P'WsVeQxg#\Κ5t%>4l x<}p#rbpUa~ȡ `@[,cAbl!aah.t*XZ<|H?(okaιd+ Va6+ 'p= ;,%TJԺmn1HezšF?Yǰɞ:l*h׬"BV j&qlI[(ZucW>ǹ 㓫o[t ̪h&͹3ty7 T]#8`l,ײ4-L1'5,ksx.QX_ܘkLgIP|/umcQ+&%bmilu2cҁ*f%oaOfU' vg.TGՠDu hu2tX-97fPW:à^c;1%EI#2% [um?Zx(Lī%ArT ? "CX~µ 2uyŴXɺ*1]Z ۧv5EV`hW$L، =6][su,(#8')ub( R} mbmzp! :_:% $~=uԧ)kq 7~ztv4MF%@;cv<ڜK! YN`eI8:ڌY]۲1Z 'Mz6wI<}$ckLe>-4G>dyh{Z˅Tg^""T&4J֎NH<=K`ܼ]ڌZ,дkkhL2Ū<)/"hdDqSnQUV$dj!5Щ-ܳ$jK{Kd8ȶbG,>* X7v9T[TZ/OFdQX6J1 }@0oRe=!i\m|ׯ.cgC'&G~įWm''->oBh2aIH+)Coɔ>Kj8e6)JxJ8bzN_@BTb^#"Z8k,6T%`q(&L Gl; =L lrQs 8$ڏ:E*z+XxA7|at8]U 4؉VW"3bIA xclX~۸m̪AbYasÝA6:p 3/Ts9t IÞ:Nբi{[+- =QQfгq0f(rjOOmCyj 0tA80g67n)^tMU+ǥ[,,v m@=ݴZGo|\qpbL:@K;a5(^5ݼ΢ԅbx]%qFQ 9s3TǗgͫr$iya ݥrwk\?Rc`=plMKFCTxnXCӎ%}i5S%l83wTD2*?5nnwiĖz&;21R&,ñA*iet> y"-ɩ{GGlIq5q.#DrDӈKu?ݏ-&VaWL[ 9tmD8NY-Q2mb?t<~yk\]c8r3yyWOM$' M.c1 Z(H^_tsab(O>W9Gs ľ=]f%$ۦVP5k`=[n4lD2fTs^K%6_š1ax$&" >CyrE`R3Q&9mھܪtE@\# nIPNpo_jD(]p6+U&*¹CѠ#ͤioKF|}~Y1\0Vٳ#% m~Ӣ^ :A(i _F]I[[Sw;geìq`8Vp жos̬tvn̳z_=羷f+É$"0?z&j/OG7X=5w/]¯%)f7Ӂӑ,7:f]RXjuǔ"x re/d{瞀BFWf[%7wmtSD ;+=VG[J/i^S'W/Do0eEՔ鱿/_cI:/PJu>$ .BEb_PïE}EI AџY{]bpح*ꝶa/l9 (B$k8u?[8^*"7O&&~Ryj'p,'}ߔ|rB\lnV:O31I*F)IV3\`>4&f ,WCjw^ 2+U+Qقn%rݭnd1M~Id,"kcdXg 9ZBiPN'ueZY&_y`J̹aFLBkˡ4[r<"Љ^sF.3 8_[W=Lʃ3Dr:W׻M^+\弰˶4/fI?η}'ETf[,Htyh]gXF; >gr&*ٷeJ5o@(XtJt -l:^ݠ |%Ϙt9x\NlgңF /&nD4)rFRh 1iedD[#4Fdoiuk$"uTX 5oU_9 xf0I;ft#rU$w-NL5ӕg;|ɠ9^#<6^ɠ!X*o?Cf4pC(zYd>E5׽됔PEd_l2y`I,G5,#lgWA%W/ ߣ,Q E|N|=Zn}mue$4d9@x |/8mķϨ9==PBry5_$鼼Ȥ%P*e]{|x)1TplGiiE.jOylw0&rx(lwXLuaZ8l ȸ@ e׾~--EECJ#O/|6 v&ҬU7cc\%Š ITS~^H"C:QDÀ=(B:=g+h]0Q'|Rܵqloʣ-zI#/D,]\ MK|ͻs 2c<$ssk}oOOƪ oC&MA|zS&L10KlZ?uS1eʤoHwLl$h&VCxL5ϥ!;gCKB=zSF=+wă+Jum rLQnad>k,r|uͣL؉-ңi Z i.'mPo_bо-T9R@T?T)KK:T6PH+ ,8ؼ4J5qțh,2q̱!9Q(͙GCFg"ӵ`es[v"w˷ڗ &p:U竪r ?=-pYj[ ]hk|X{hȶ|XwӸGs#qPb[='M:_e-а >$Vo h]"[ xv8+R$}G!mqvky27adJ׬6Y:+~=}M;S.~< e%) ޯ|%wW8ڃh~g^jҩ,:CJ겚??'v{>l:nղˢ%TG*^p̳Mk4W*r,o 6?55D\ʿ4l+g PB @卖ZNP2p :4k{S//+a  GƝ[6ُ[7Q|dow&剺mivǔnUӥ`f ]r n]'yq-՚Pt WpPT& CW6'JKA5eNy P"e !M$0DEgI)|IIio:t16>?efkp\=kdYIn,OѦҰAk72ӞTT|oʼF }^,ߺ.+T:-qqP (o/+7Gh`U TQƤrcOvIJMRi:ulzm8f}8/i2z6Z9;"t (qM D΂>&aa; ,ۥE붝o+u}tn.݄4-!3yfbZL }T ~dfsQ<8gn9@AcARkk KvU#2 ';ZF ϷY}@ sɄ?`7fˉd6DWݠY]{4tzuRBby~6Lfx y.,4L %'.SE:89d'y %_Ehb?袍P:~uӁCiU0 Moћ;E>6G"%ҥI>(;Qe񩻴~NƞsO$ug1dSb0DŽD`'Sc ~N)i]W:i4I]BQ( M>nl묈fIn;e`.眂dRH3Bcf!aym HC:EKqijel4HnGq5c%Y3ߵĒU_=Ĥ #J7R.EIABGsK8(,M,S?Aew(Dt+az@PZO%ϐN"2/YɮES\LHQ~_baeHJ4X@˔wq/XC.ls|5ٶNPskh EkSOC{e*S y2B_V"!ԩ}pUiX,e޼d]Ĭ gsAes;5bؐiG"냞`L6y>6kVc?Uً7;*u}Pp}!5G i Iyc{5A[6"8p4G; !ITFk,G9FXwBeǍX=Dԁztr۬=Eڸ!iU`jKQ5R ./ߡ`\K݀x"lZiQ D' L<?|-owk.,NCR*A=emQosH̏9C$Dacm7K 9UJ*RNER%JaFpoq(LD!CqL3f•]cS7eqa:`3:qyeB?L Z+SW6 q/鮃hisURℂC}5Ԫ(Q5suaׇ%L*p5qKGlSGE8ͳ+%/p!$AmwH -Rpʚ=}5 )T7鰨"wQqFg^xƣ/ȶ+[ނV #[x͛gBMDjҐA]ܮ+|˒.ᑣTX[O^+47ky,:sh݆fILStMh7L3QFb-=5V\SDdz0/N$ȓze! 93]Q{Oԏ7!WL] TIi`6l08ņ2SmV}eהboPz"R lLV #+O;s'Oa5J8l CN;k< 'pjeN9+_:=&tOQ- P'ّkv\L:eS)d}&9tvi`RMӥba ;]{^;yUB7{'zľOX1v6x"i=.[4iJ$},2c4$% Ƃ&ܐ\%`DJDW 3jTp/</-o}]I}=wKm` ~.ZLAK+CV]vRىvëxeKKLD Fzݎ+RC:=!O\JՔILwgYN1Ox&~YÑwĪ7c[ȝ>]xwjo !ޭh WpD.Z!}ٍ9x&`lS˙B1\`؋\3x !&Hgga?JsmAGt],G4MjʵG d( eF}u4'zsyl1v QrTNԷٌ 隷k~KkY *+u;= /US*K;˕Ҥ8TRD@ib="4ؖ#χfExp%gZϨ}7F'~SťtpK=R]}uzMlɩp9 7Xu.V_"!xB#U<Ϧ"$ۖG't905֬hSƿE6YlKEeC|nCG}՞$ܛXYT<#Ⅴd'K1)l_y岥p$ޗlڷ1?3K NWא \5cDq +FQ \|ź0*Q^Mr2VOfJDnu3vȚz"4ٿB#+K7%m튤Ѧ{|nT/,h~r?RN'o/AqsdHOl% +eNS$0 e[N[$)6k-sCF-iwyc.Z=șZSD[cG"-^F)-ѤI##fu ޢ4Wa“0^I{%8R86DBG'*]=H̊uJoߺ,Z NIe*RGfD#ִLȝ]Hd%)/2P x_ 0! ZfhˤXk@7x3Y ,:\(yx U|ȶ1w'HEi]cWΒk`YDB=?U2/XB|I'2WnEo/h?hŗyˡ~̠>z@W{kG>y%{8,3!|pZ S(CpʦGc\#g }ЌF=ucG*ՋqnB;9V[Qd%@K0 ǑݢkDզ1N0/,!􋖪 VD]fLa; UzbJ;+ˆjc+Cj5(]$$\>3Oߕ ͍l+֢ L(=^-^D#ѰGk*d-^$s 7$։dLG=(}3 ?5ALt4jgd]]|_ǭR=rt^[F"0LU۶Q*C0?8x| Ay%=h:~D:At2i ƅD ;qRQU‚(&"*T/Tik( XX܏AWWP;֦DYe)<_>F E $ ǃ^y߬ b0ܺ*a˝Oп@$-9myolr+L7޽ r@_#r)nQ po* !#Jђ)#qi,dB+i8u]epmZ4%DѰh$t'sVl}^jѶI )zim}ʨdȸ9m@1G"=[3^;Etz/H7.:&$t.v `!JEtM,c<\u_rz}&%\=6FR^\RS\ӳm˃L47A lķHPסK1k`<%JNO?M8WDp4;;QBG2UGrVa8^nWŊ ahE.R"+m[@'.A~0Q>"J GbfcaSdؓš.|6{ttXuE[Ŭv+HYye ĭ{%>ֲBIؑބU5tOuٯgNXֻwID=䆝"ǹ*g5G7`ihvNuH;7]qDvJ揝q;&jkrvIT.Tl܁A$( =22:G?$dF;K*ѓI{.Ni i1)@3礳ydX_~yu }?/@{h JN:#5Ϧ6#jPBҞ̫R$LJkP`ϬqYEvS%93,Zwsțw~XpC?2NbF \n]h/ Eb{?u׹y7E*L?h/PRtDz3|׍Mx`J<Ňxh>6lHXv' 圱rF$x 4J|W@'mXZK9| dQl#xgj4EPi E gmbm<̾JnޥCϻ/V;*=yj^b@`0[&pMѽ18W]3D$V!t䧋,$ 32\0h:_ Sw&*Cp4K,ﰽR:-Ш?Eơ,cM#*~D"eӂ\z?^S"?i˼p׭ҿnZz; nStnFf<agxǝ!8Qʼn unia Mυ!@S_ȋ3}?"h1rZ%VełvZ=ߎ)E$L˟Ua(R^Ϸ^=:WՂ݊5FfudYN>70Ԛcl@6M-3ψuuR#q6I¦r\K_fCFE(]##rvdw[8s~TVn0/{O>< :)N?~@|7` GpQ'Tq%Ia+mfNFq :z依 1ƣu u!'# wv],gw$10fxI-YyՋgwvh.Y8 1jeKQ~#aҺYN;Ok>+BB2u#2* f7~ E-9*YؖK؝_nP~]rŹ~%n~X>3>rwBH6NS.rGIb3K Y=hy@P]y(`ށZ!BN6U[[N!vGG[tTEIPVRT1L"ie=' p!,'Ds@*F iu&TIwlSzwK%ZF,`[.لZV8/S?q;l@뱙ڸkqX7o-_@q0 5#}_uܷ-\`$h&RDcg2tQ{+DcŽp|08ߝV2DF#;׊.ꁘqUDžFϖ?Jˠ&sn,I05-5asVkĒ{tX;LAk^&ޥ?}4qM<6|踋nV'Z+Scn'eehGc#57 cx׌>C4t7<͠[yI%Uˇ!pKOĢhihKSXCUZ6YLMߌu0`„:Rysze> _0ƮgB_qRe)L︣c >,Ữ&p@NY.-Pve8x=)@3P 5Tw77։utv'sIv 25omxxέ/İqyBF-wP6*%U4|.nQ,p4jrO$vva Vsø >XL3Z K_ x  ؖ }mp-5=)~cK6|gM=78XqDfU'~V r y/9`OF,75e%$QmMK$wO>Sc/7bH((xx;DٺpY&׷ A,V9J '8H3ujvC){ʹv2`d Ҫ$R٤=r-I~ ͜A3D^ax =8pT0RܚШ^D>xxS; dg"yWS9M\$2+|˜BCst!l"u2Z!/ܺe00-v>9a>{ulQ,ǧx.7sta4N _Yk2|6!_beGrVG=w3/8ubF Ǝ C_6CJN%yM5+bCEA&irŀ47CWӘ2i#5kSQ *ci8cmO3vҜ} '0q@3hR+ݼEVԀ،)?yB,;v-~WJ*MV 2 Z7qh8[qAY7okvqkƠfBxllGc)KzM /bc+Zdڻ=߽$`crE@;CzըAKf!d(@ 'D׉@BSZq9i=1!{W9TҎ:~f$H'n!2O״R;PS1B;RZN2LFiCsy o,4z{ Q]E%0mx= 84JTj _?r\^جMrfʕQi&+eNӐh:Z5 RžS71NjTB="׺EkQb(0X6&E+1zeEA8Sx3~ɚE\]0i: EPϪIxd̸p'q cxHm:@ySH;[峍XA2/)gLfߟiZDH,B&M ̣2B:9вnޱ# 19 Es||ꗛA^vr; j^xVڻbt+hm?JaI/e%$|9XKdEYȪ #ְ~BF.̀Qj0Ľupv04z87cfJ|AscC&iMSJFL{O ua)Xzض Wy**b\-B(SW,ՒE$*[NX$L[xyRo0G4m _q0%j ;uƪbCqJFh1(T`?f Jv!8`A ٟL޲CКz@͟nH2STxG.?\Ns&A5HLVlΡj'ï%[Ҡ`SQp0) z';:5°Y\P28 |c].$rnco3bsr7嗃> fH͉zKD;-)> +kw`I.mC/PT-UhLM,zf @c"\R&V 4ݶQe,BKj' kt/='|Bߤj@sgAx[8 c|t~*&Gx /h"+lѵިMw)w!*lY @)9jŋNSC9%~\dX(yRlx( =*0}g5%gT{瞏4B=_ B{ɺPB?p4kbI˝p/3'7} a~?!*'eNdѳ*GBbn(WY6W\!o_UF } KSP!өjio[h:"t@Z~NwXn2<#wZ:x ( TudMUjJ(06 {Wo@X/FZ+y~ Sv&TjyGRw@ 1w&aizY%"ըF/?p3!~WֹW<փ"q\Bd7"esooŕ\]Zi̠HE4Hľ=2?^w#qMo2 [RerumrFgիFB'{i k=)_]xAnr)T.ɩ좘dShr㠬vWO e{k-ۂO\,װu>abX)'C~0X}|S u`k\-:Po_;_^p"9)9X,@] f3=Q~M(yrLؐgM5Ks( ^gSe,^7aQOoL`JE^YW))š[*pz"$CɔV,x|q 0aѝza[@o0]Ka!ǎg3,w `W[Kλ%cþa(g%Lo@S+5 {}&Kd3ROBۨGʡ!dz Vg}@5hڣ1cyCEČN ˳e(C>_0i42ЍkӃafkv͘(TenY"ƒ׺%aQǩ֩-E %8红8RqS?i%{舁xp.j+0Ϩ :72»Dh '}(Lp s0 ;Q|*xt2uc%#S,rN91.>x -Sn-lƌZs vsa3XPEZ;|rX&ApƓ0s#  HQwDݚr*|XU{P@yP #BXSGs hG!kN^xh$.8{ )W^z>{b75B &P`’%zLKj{2pt<ԵR$f0ȧ' SyS}J#"Z8A6D!}s歩/ _9QL9:b &: Ƭ *$z*YC-h $P&KsNZEzfY'uxt4LV1l:sӽw+Mhs69^t~WȏjRis)85:/ՒM˧6Ր^yS 0QۭEvkUq?IS&AHKUZ+1 7ђ^ BzywVF(N;6W\q=mFˏ-nkwz6Gmb|p@&Uum.CYCwEbHr o#Fv`HRz]VV\$o:N&HR_PO6>g-TݭyIƽ#O],"tl%}z7=,GBd%,: 3 hw,L bR4>SB-QҾPߟ t3Cp#dgڏH|-ց]+8R^f5ሙl3ʕAOC=%A3}5r9\"=c%u{zu趂 EBmгdΪY4R5Xw1xq |&M_եu_ qfNj75N6YMY5zc@5\#C͕Rc"P7bNF}gqN?[?9 bl74S:t,;Zˋ?D!s -Œ`mDqp{/~{~4qi]pƽYR;|֒qVm ϱB%m. ERK}d[mg*$jvA-m.Y֠'bwѤSVծ4f0[V!:MQ0 Jw8U %3:"+X-)awR;F-]vNI )bʫg\ĮPJjQ_(W-ҫ9d G3"_övcݹ.dUNN?8( XB Nm[|( EI~vrQ08v+HU#Zx)лڭ{ce\YƙFgfމp;ov- S]~_(W0}5]=~N7|\t̰vqtlk9y89d+' u@IGJ[znNH.Js(^U(eS`]pG2AP8F~~S!l&G Z:Z,G9msu@{}ĿUhyn_8輍iVt쵞؈dBfReuƲSJ̩DVҚF*ŰS%1t>7ɌPt Ǥ5YR'x- jK8aq5Y2|m'& cǀ<*^DQlfD eǀ`E:4ֲg$R|BA/5ZCDgh#C(S֧swmvMV&!`~w 0@g>DɃ1ێVBt}LiR#Gٖ帧*@W;S;XE@sx)JU++UPn }yk;GcIhEM*E;w.D E`V-U{4_e7&H\4P=hwt,~~z:IҔ, IXpmt_(i#h?#%8Do91k>cThXyh9x7TvPNRAT*$I%Z.Wlo3*+~$8X9%u1 >E#;07b3p^x{l@B03V8-zN.lN&~5(x#FцK2 Mߔ*aV"OT"d,G!g8Z Zq5BUMXHBH1D$ƆIgj'Vݷ{TCϏFWHQy#O`˒-\+Ot5VsVyʨba]&vlܧRi: VBHS!A @z*k1ݞw{Ǔ_`VB2>:NmݨS{pI^hU5AtfT6P?v+Ȯu{;;)[8!??g[FHdQԔ)KR![ ߱T7;h-R~y b͢Z]U+ A}-R[.]ZRp۽l&gP9\6'k\ o[ d1,%5#UMN},&qȖ Κ+f%Br9aVP1,jmL*IDk:WH>b:5_8#} q5vv[d^AY%8EsM#+4N-r r"#!ZrRmceR IdʏRy/vG 4-/G)e ~0S}6N~d1/fD޿PFbWrw9eT)*[+ e ccSZ*pIC0 8n&NR}'$;ZK=txR?gNoe5NO E֥%'/vP{ e8S7!+||S Rh缛Nt2&ŵ j9\Q!9)¤ǜ02hܗٴk%;P"^@=IRKh綳>=JxѻYnχbwehϪ p X/|Aƛ{~8Snmch, IƍwDn@󥟎W[4gMa"~`RBVE1ؽ, v8}M <{\GluئYaʕn9b3+ AS/яg_N:Vb^~@xZ[)`RpeG9YFP)p|P'?`!GwgF U:`ޕkwdfڬxXCWYe(kع ":2"9INW[o3QtvÜ'IױYʸ~ x ¥O: F г% l/D}r*`8w r0 ;YI&l/+D2"0s\B]eEK>¥繧t =L9/!l%@5xH(0858-\+C; cΉqu26U$䔓inҙ`1UKð4QzjwR ֒aߍ  7Lނ6]C|Sp(O,aНDq킔@V`gcIjxРnjkV~5L>IpgK Gqyp=ɮ]: 1whj'$Z8hhr0.KJ; c5ܷR{m-ns59Fx| p ߬]tIч s=[c zmKoa*9$3z讗s odA8#*ͳ])֕YfbC<naجNTo(xd7n qE]7VŒVX23C=W/CYfN*zm~#|"h2DqP[ʻ1p8[L;ZEN5?5ub|Z]AD@PXĶȞdO46r% #$5i:̃Z$7\%Sb@H~ګg#-rBw~{ i[Dsh4u[2=MTxO\cW0?; q2[ޟB1ŋ 0*:⪦ss0'#~2nD"GDX_3b\S.#,[~j (BLs:n#?vCS"+^esZj/X(Can8Ƀ7ntg_jn}+B9DO]!RGطDV1%r WF5'^Vf [ @;K'4a6(Y5]ʬl]Ao5?4I#_*x+tq#J (cfzZcX. kH@0Bs#Wd)HQ3Qqƈofd6)'րbOh#H,G>l(u1rg=?rgk ub1g2M1pH ~'s蜭Y$SKl>Z+z~M=ٝbo_^*KJI"B"De=]4!8$DZ 5 o JLG<>G7,|k)N@R|/rwbēVYc(SeD3h gGG{g0pQ lݭ`njl#^gmHEl.qHxt kULo0<{*: t{,vTjYhEԂCu Qs\); 1{5t;6 r,{Hw& M /,B$`a i{I`}RLF=>mɋQTQjzAKmR1Ov ZuVeS<s҈UvӷoYG,S79# wT8OUjjs.䥊&Ȥ̋8k k5]):Ldb҂#'dkNvCS:+嫹f"͔']Bew BL{2>?b + =^ܻ֖2A"tNG- 䖁o{Se&"MIaa_'G0Zi4vMO.nU 'l}%j?5]sYknFB{va7g$|#C^%WYYqC)P:]RšVvQǺߝTƞyjgAc&iTq)]˔VAb6Q= lDxrt}fWJ؁ 1˔F ?eޫƺv57y؟O9xu߰EVr*'V֕,3ޜ,&ݭj+W;X-/=$JeK }&.f2VLiq54Gݨ9k fN=Xa\ UFZ[_(4c°f5zPo>8O=z`\xy{Եl`l5H 5f:|34y׻ԡi1V-gгqk;ơǡ磇g$҄FCD!4QV짗ar.Q$1^3>js!OmIF|YC5jzD\EUn@y× 3KxyX_NEAjcn #$Na:()d˧/V!so]+1L[ j`$1W0RB~ϝj-XwwO A'O^dc0#eN9qBD{FtfS@ĠQ۴Ǣs&f$#v&m^-Ff.qcf< p4`ic6'T>|3|W9P>uNFW:H?ܖ_&vMf2<՗}v<)y(&E{euΝW#:r=GBUUiNQ{}~o?Fn$@HlW8 /LTÞÔ -+>l5Fӵp%7! *D XI{W*k8ݵX*s''I;ov󨣌Gzr4Hc:E$9IyN|}6 ( 첵=:! @L6L[&ٮ;!VHJ$YcYMe-w(r"أ"tgoVps+ˌ`OF P1nɘق}ܾϽZM`ah$E=q 蠾ʔ ClbsJYG"XaY0(y5B<`XihjW=Q!AӉ;:u$| iOvܨ|GN/h"veRjp9zjȒYf!=5u[pIpL't L;L%Gy|Qym%Bǟ&k_,T0C *ݼ72ݞ##?- Ŗ4J&1ȑ r 9Nne[An*P嬍UF7Dd&Ɓ~UJc+yB}1D# *B*vIHxFI6yu^7ƇUYs_f0OMH ukriz lv*:Zwt3Mն<Vn+'cD8&( XJxM/ɿ?>l{kds;m_J5UGԷ/A-vlxF#Ku]K4\AcA. Kb0/o#{#XBw~bEd TC |ev*9(}8h&l% rӖ8@pwurvGϚvg}GDaS7YՀK=.e6x(Z#Uu'̎_>Tp{_%1`mPf7 p5iD'O>-IWxgӟ-U W^bN$ ݤK$> E"}Z*-[7w6,l$[f#oԬw~f`̛j:RO[)4|c-T,l(: G/]ƸҊZyJ-/EpzRJfRޗdňJ\Ӱ674ӥ,v;fuHm&$zFd>URaÝ]ٙ{EFƃsFaUI}r+(&lrsCjTC#Ykޝ}g=sbpoE}uЈ ojUpkY ﱸ'kǽ21O`Hץk3sQqn;KweX6L/[߉!XnBpÎihQB:u;QMR}Ev{Vo7]EM3]r- 1br=Ibp[YN;x~de={W[mBq̜7e6¹r^1`yAu#&'pڊ]=R~2gNu?p\wɬ=+8*H?9 Ѣ@8fBvI&hu~η.jLOZuFaewc%d|<~[a%;R=p\.47!ܡINv*NU±tRA2(T֢r >Zk j)Qq@,œZ S/UmAi6bERBGś03TJq&!(aATLճ]WۊC R=飙]ޭr5XՂ3>o%q'^/,aHhZKD}8>i_=~; V-sf;켷M1@Iq&Z3/ /!dNTwv9M~yWXw0X7cHpeJSd^U +uH;0M o `!agT|ͫsaptñ/2p |O&(PKNhSׇ0|}bH "B#u{w &6=xL\o_ŗ ^f5S6H]=2P>f_Vm(4HGO7>;>9p,g{2yԫ,yw^m) ,4{.D0 vD`tĈioS1nx|ɿگt&vڑ2">6y+b6ʐn{ @)>O[G poU&I?0_9;z]Dͳ[[mĖ$Op.Mf“D ;&oZB`ZGU1~Y[, * q?eTp@i9G&SrnS"mUnms']:V|z>1AzyRg;+e:jpk p&@DqBm ymỈg,ϬP;OH{fevA)?8q@I)ASݕ캿/v8-XQũa0B)(!rڶ\9L>&-7"Ǎ^&b)KIq@Ir\{ ŔaB)iʌIs71 mjT{m}ص.FI 4!3ha#\_ezRhҾad!b߆+6/[m(I )DZshZ+5p;&?mLIJ^{녩Nv<4X%(sF6pVu Du\-t;#Xih΢JuZj :?"NVPԪ?VlNs œJ4N|3R}w!W+d_ ەS{+K3L멧}5Y~+7ʶƟ^\06 @" sp*GX8Α=?3 ag ⽲\l f[mJ%|fhi,諟6YSqASƇ_İY ؑ):V2y㓨l . y ̲;}E2/JѸ6>Asc};=ؾ8nn^W~bav8k 1")2hD*D@"8IʢɪQT 4bCug"e*%H nOS;9-ܓv?}>F@SeBN鎄 xbĚiCWvc9)uTtLL YM3lH7g j#>_"qcWvI.l0Gy d++.UY!~ϴn!OBޢb M>O3z=lbW,ی} ayS,pn;j֏"#BI8^oIW"03`hm"#9" 'E >q^dZfM7b~qV}/~- я(;r@6—U `,2ST ):wr=bLϼLx$/> S)a++)h{~` X v3O|vaHmy/ۡLs::im ;x Op\ U)x 31\֌dAkT$dJI\mRdj.EJzj&& H5ooxQtu ~T:c8B4Nܨ-, = mOwSa d q}" &O+>Ϟ ~~ɨ${5 g4Wk$i&K<3Ehzt A^Վ-ZWo+-<0/k cȏD6 <_F.$Nw#5x,YI>4*5k@딤vvjE}}9f0ĥ7-:s^kxF[ZWN,@Pa0g2!B7X,MDX^W?]@0µ^-Iy0RN[l˙ư}~r##2k+~ٓ!|N&!/Z|էޑ(|ߐl)J;e`=K"d/~5lmMMc!>4vY[@#sQ*M\TtuxZ CʃsR) *1*UE7ڟ7!(WTS>.0g,R! 捒AMIwӾ Jl ɯVKg+^:Gٜ0]Cy:VWLA3p|a˧aӝE:_?iG` e )0]`!'Xxd~Xs'6},7 =Tl "NLF0Iڏ{eCk`\s'CKN"6_J%)h-JؔG65KPx%_NNdn*0W!b$+ !ӎ'k&MnCr(&'a]l, zG 5`gL#S[DJV1PfN#q-"&!H&5.GW?I@X.Fר>98u\ Jf< rx<ŒmdG :`##ȴ0t+j8bms,u^@B} Lsvk _t/ !n"{vb75n|=ΕbV{u -?ΔH" _>heQP󥭮=*!˦m, ꢻ CoBE(7+wHm>"וX'' ;uX^2cWf&⤰==e@K.8$X |#FIqLŻ%eWGg|Gd@5ECm v X^ "[6'|)R@zșz.NUmUgUdpcyΟl(ňS2ER2Cw(*Cw'im^~MѴ3>!5!#+@Dl,Ͼspn$\/[407?0Ι}kj'$X27[gb3p',j5ͷ|xuouFm4Mvǹ KGrAf`f7sA@jKk{bS[վ@A+òXVuZh|>v/+dJ\HL5rXDZЋ=wy~y_#y ? ymJjW@25rXY:[oR?yޏ>C!Kj/+l |\l2UK[}R [ْz8SfBm#f3k5< NW c~P0DvʶD9lY0c#BS$KFQ!Ve>JRʯ0vVpCq 5,vз^̧ 8nNDFn$B?vy0\rO=J+lJ^(C"EYyB,mR|p}ytH~H`41O1{ۭއ=:]Ps`<(b9 JWQF(y {MDI__KSj8(˩(fU1PbF*f{O3R@VF ,:7.jijLj!k48DC.̰j(5W5'd>+"ټ^*EHp;.qƒ=&C XѲm;l~1Y(OSlɘPfvt%x_srdiD:h0- NX*x+.x+pۅMQOA<{(*!1lD+\55?38>bWEt ۳Ŧ߯Uv\,% dZ$ YƇ 0t D9^vZ=DrqEp~ P.Sj"FƵ q 숕3-t@AyV|MK~Aф-a^?`޸ڪ͘~ƶ4АMPn٥M,vG5k&Ҧ).BJ]kAz&$TgbXu : c =׌:]<~R4Ȫ$_" wR[!q0wd$n6qD8 /,{^g5'w 038eP΂f0r!^YChhv7kYha/+;b#He _G{HC| S ZAo6NN,pcMHzh$s+Nil7lOry[i]\QO0*Hu!k2{ħ"3V ۗ5ܯiim ~Pfg6u6, ,#p*ֈwL2*ؑ1o=Yr[0FEo&2aIx)y>qnҡKz y}spDĶoB G.t6M~_#~;SmM&wӃWkdRXXꔈB5'uڋ-d%{8зdXV*i%4e u![!zQ{ tm#Oo\i@Sy [޵{͙I` 1rGVO˖@fIYl[_'gaEe 'A/$⭝L=lr=uuam/D8Z|Pڈ=-K Bv4SN`*BS&b}\d{rSΞ9|7xV: K9i0 hDzw?S+N[Ŋ D>LZ[Ԥ52?y\)"Oe7>l \Y爉GV_7[G\gܚ ǡI+ڈ2$Zf qr6WLC: f / "rPQ޾]pʿ9P"zq 쵳~"ŞݲJ!!qv`lzqT_Nʴu#n G.3Ͻ\5NNvog)NBF8|{=C/Ms̩O@:dO"blE* '/X%$@bk~Dg^D=ݧ]ʪR|x'k܆IU"XUtTpQa )nPuskAil}T))Xܖ| o&wTヒP2Pw݅.iw5{^}Qz$%u-XFTϚrFo}NCWo-ge+&HxZb-e*0]VfX's+]]4\)Z$ Y:Dp4)XAfCr X[v1iudEK{u{S1ʦWlDl9֎s_<0neI.y].)K͘ARd^`F i" u>@!98>6neyOKkm ) ƫXA _Y禣!:e֤Dl#`Λn lJZ9*^Rr`T tyEh7cXMy(s1tŹK֐S0!{wc" 0@3NS4f9z-` lKSY`gYWrLeyJ$te@ Aӂx\^ͺ-%=kh.<^Wy9|ٕ z4W3[?vm(6/-DN|Sa<ek2R+!Dbcs=2:^Yΰh~.p]m˛^PШٶ**Фd]&xS+EK*?t +$C"x}&-1jT#ݱtC ݿ"E@JzՌS3)\X҇ڑMl,1 $x崅+FZry=`_с_@5Sޟ,˙=!!){NJɯC.`MTFs+Yҩ)BꤱQ]^sWbQCV-W5qv XL dp%4)}p?sQ!@S*4htҸlfypt MPcWFhZGJD52Ҿ)֬<|jD^cЛ]>\1Àܚnez6׃(%c(%&Ϯ$_mV\m ݆l~4\ԽRy-POg.8?3aI~-W{ܵlE\Jj6! . Ly^3I'k +Ji`􉺭!r HEf\!UTnc!gY{],Ͱ}1.n(՝+*{;1hA+[1R43_bs[D~SԘ2pr7[hDwE; Uٓ 8L7UE9se]߉My;Qܿ$1؞dYVOUD<Ю ^9OzVOhn mƿΧ)τUrbP=&\hﵓ6}\`0փ rX:\ յ ά)'~aÔX&ssjzSq[d_УʅCگDUȧg,4C.{"~ߦԩB7Ո}>DJ36'8m~|.IPRnnmg3 7V4Mf!V7b3I#1*C-TG~oU p|glPy KYec5ف"=sK>yal`ى ɨ=| BHyC-9k,: pnzJ(0 S$tZQѴ]\{_3C%t7t8ONQ.""+JgCژɡtA?ā$%KZ!~eXm }L<]ycdt\FS{LQ!|I{N"&WmPl"SU2l- Dk0C(I݁U5$rV9p_+49+_/u(.vۥjؙ0C$> >gՂW %/9)U\e([Ϙ5 jys忷z#dya:Ӵ_SnʷVTHX%EQoݜ˲s +ap8%ؖRjb_]+Xz#?TQѯ/s f;.:+!֏8Aslbe Nfr&b2'phHHj?N z]׶3XӍn|N*UWD.0.iE(\YqQB4)DviwK^AO[SOy 4`-DTSY}z{Dk"JGv6Uۀ6ќRVZ%>'mpL!1T>%D}YFKEn' [[Xٵ9Etz6#$fH|$%3uBɍ}(,Zzڶf ˷:G36$wԟ\lJh Qk0%-NbY")'iw`8h dL4^WZc pyaLCF[{ҕ͇L~eJ)vL{x tZ-]q}y\+U`[dcC/~Vay_,%O ޵#>;sǣ4ĸg;2hsNK.)B~gD__>H@@tSoXH@#0oہ؟?@XȓS.zT{] [DS]VS]3V ۚ M2uYC(rt6W/]+F hPS!"ku)9+2:Ft3خݧ"]Tԛ{Ys3Z֪׬- 'GG>yO6a4咕.j:>qKErW]{ndiݓhW;4 =A=5!E誟hrЇ(:٭OQ֜U ~s^}Kg0&~=)IMpV^Ys3W/5"&dBI6J(4剞:bx܎msx~0_ObF0ytSsH\*,3m5N V#*ߛv1Jj1hKWFe)i(lR!kcޠI.[0.* 8RZ H$;}{sH4dAj(sX6:f[H_-uGYkeuӻ6E߾\<".5cO|g4A98T.(K> HG;=^,Tb_Zf[`-gFBHϟwfxcxH2Rϐ:vY"M OP ШF(&( ^E*6Uqj%o&Z#' U~=: r.Ne R i"rTZ|y5~_T P@3_#4pr/h=[dw];L\OndQ{ %C-։X#x*`^5+_ti@F~o|2^$9N_yOSl: _dc]0S4x5j(SRI . U,] ]-4zCQ9%˄i ΒzKaӷ;[($`x}:o8gmޙ!rېU3Y l~ᔖXM5Ӽ GS4$Tqi$hgczӺ؞Nc9J;GMd6j"ffyT%9}Tas9F kKlӵ^˲NmVQEup#V՜L×KgoBdH3 nu{Fb |VI:!S|Q^#$kTʗpP=롤 8#ͽap7\ˑ|ݷY{Nso= 뺜'oMIQ`؋irja$ d.][!s.ַ O`vvx3 VZ -x0wGlL$yq]鸊aB]%͜?6 w(982ؠ&&k[hN/UObz# tgl)Ӌ-{!o<ΦCOPwUQ`Au;iVv3l!0xx (:ö\Ǽ_ocƶDlȜz* pMp0N@G׳p`vdnk]fKCܱʞAD"VI~;5R%z>OCLlc{*J=,0{|x4OFi^NJfv6׏= oѝ⨧[2q?(Dvҷ #հ߸pz7g Lq`EhN .G6چyJΩM`>4yǣKn fđ]~<{;ԃ6|{\Xy#_LNZ|;bTs)e.m&D;~4ŔTUiCt U_E-"& aT5:18w2xư7dp$;7QVv{Έ `zΒTY`ZeZG"!{]^C5{=GEo3UYթp/2@TS%$Il#rec#4vt5_00KUXnCc6]/9̖ *LوAF#u<\V .T5LHϽ;"p!?{/QIJs{Ц$ojy[QV &Dny |rff>[5i|蜉Hv9!RTT^u!ʾ#B62]yV`3s#7A4̢_)DGLQ@-X2qL-d xj*2F f=P+-T0})9h^o!yhodQDGj-z/C ap{xDz-qF]mV L%A-C c,h;37Xglq,vqټPKTtU`􏝨n!_֪g{P~2chjhf)knEg]MI![Gљ6KHD]A.`;q&DIIw(;w7<'Ta$ g8(ؕɉEE}A5wʇ^|VtPDc) 1T+Ew숚r\cČOhʾDc_@o!@pR%L:jaг_ٺXK6X(L o1j@=vBfr@J7Vtvx`.Ca \AI*G d\-B쿣,S ]e\dl؈qw#*\&z>܆ O]3t]m4FB6 4P(V(i#1 yi.!4l]V0vߋMnP9f߭ޢ`yD8l UKG8cHT)xi؟-(@mc g`7q%2>lsԋ^))k">Z?:9t]Ev_}mP uueDn)xBe-W!ѷ2Q}T~֤dl~ưT026+ZAvdjgzwzmT[ci]YM@";o&XŦOE)71z̜ BglK15%߭7@ $-M! əBL%DN;9rl~6\p$|ot`Pr1h9 k-|462/\ O _;-h%$hEhY+[.R<)#_Cr?@vBp"V3鏔uIiy*MN^9sii˵"yVk#};w8ѕjH3q/Fa':A/NX_7V%=[cH9(REj8UZ!&*u{7+Qa)MqM?l]Fӎ L$p=.?}EOCTWI@lcjbvn]r1APqA>X&jn ݓ Pa#Y€GY -A&U!J2htُ ]mNHa|*Y;QO` VwkՔ 4i<^)i~b,ͨ|}<;l}?jzF{#/u"fV&n>`]$4F{iJl6`WMD:zҿ߬%qxG6ckB/p$p;A j:leNkI㡿 9C|-y0+S)KʚJ_4~Y6H&>ԏYFiHUS@KV0xI:1Bj2SPwY+Kbc&}lBr ȥrx<>9FL1'cܪ!3:S>tĕjE/u׶Q9 R~@R˂={ڢmd)J5,|7uT*2UI;X"eф8JvRAYbWtKF}%Qm.ҀTQC1-Z:ixv.j-K-'x`bg tOlOi5{@:MZ~2nj~N]7n~VQyRd`8هJ +JMXi "*dI$ُySsbqK9$vn?#yQD^iPQ.Xjpj"{US?!\Hv2_o;lDj1)D# X Œ\ ԭs]H Fv"EVH!<@W rm{태xW-[,j@ec},ݡ>ytl7+/RwV146ikV8Σt@'4ܸU],Hr 5)bygMn5Ŧ9sZ%]~\g8]-́ܞJ^^#(ÙmF[[Aߠ*&`%dx#$󕾦b4.TgH}Q %|r 2\nV6AM y]ϝ2b -GiF?+(s.h! 2uȣ92ro.EJ"A!9;(hdw4xB?8dд_qP!_g?IG?5?-il 1K #H ;sd5oݕVì{i9I?AѽP  i!2{hРUDTԘjF|P{*675lIR%7ΒN!BPEd$PW3c"WgU豈GUm.ad~@_xf7|g =W顸p8Qk*qPX?Boʖ]_ ]Y`[ p4Z̮琒\ ͉w',@=b[je~ˆvu2QtP=sq<;1\DKcPԉ%hzq i v}e65_P,*%T4V~OV.pGV}j DA>ĨQpdCg^il]:@F#ל2]8y!\h܇f+24xS-DYAL4r9m/ވ|r HzŃg z ѷ[ Vo `0 VR7|o,XE'YIݠmz%e.Dv'hNӿ&aa pFHGtH`w!qܲ%̞!3$}B#-! ;ο-ωLY"֒ 8gn-4Iof#1Iũ3F=wF*ŨG_726j[j ,ewVܭj=3o^8͑V\G+2࿓q8 PLKk7U(Vwߟ<:`4ѝFD7JSai K:N%a$v>UnUO:Mʟ_GD9=AJbz:]&&dBxB9y;7H}2EyaU?~ 2!t2+EP"_p;nEPmŭ (ָ".,w;).tn QzIkUd41<]--#Ʀ駩0m+ʹĒRʓ]Z^ (Fief"i+y.~WNpjm 4H.˼Ltd̂bum6#[kؑ,qjM@pv+xco{eѥpR[ߴLp|k)qel:q: bJLialHа[&f߃ R`bzK V&o)0l:ɢ:y1K] c.T[ڜ!WT*TPqTUuX#%%񐝶襮Ig`Dpnp>w #Uͱ@lpZbҎ^%R;p'ޣ&ke?sn_(߅ 䬗^E9R,=řٕF1jZ4 7>[CQ4ycdz^ Y@Kö$=)Գj#0(d2DBڃ5b /BI,  РȕaHubG=#D;ӊq~SH ve6l(є8W5ֵ(jtNNm*G LL̅niY`޷zzo\gYg&[-ZIuq1>+) YՅKдX|W^#bPb#e5a!pMK!z7Mwk)l)~}hNO."}6^p2_l'1 k߰1 jMXFqKlvt Ӡbݥ/* =*Jc2w+/F<\sH#//u^x6w=#EW[eGXl@KƊ*WDˎXA\kQ~!x.竔~{8^a2pk!"0 a*φɀ\4ܤt2}0'¸,VI~5-8pEO&eҌ.?["{ @^Xܛ͡&r7QMKD8>48i .`'M8 &BJL9gEWOp%e& B%r=#;VHאaSZ/ŃZy{ R5&nU][A:s37+HD08_yvy_LpSU׎ZnCEŲ]9耂QX?pFQWID(ZĝpId rLk?{QD!T>v~<~@l ?F|R%O࡫DH 3S)%[!ǡFCRTO)+ {'S)@1劇NmbP?Jtp}RRJ9FdAG;b[Ws8"stLkP/$ancp tmA޵PT{AwA@>čIXAl!qҮ]O7˲~.M Ib02]r{\y/c]x\Ig^,r;e8&w{ԔP1xGsDz$I1JL5ʼnEU WרbwB!1T{31oChgZ,i&:Q# > 踵g wlZ˙ =.6>JU5#Q>\:= .Vˣuz6m ڰ$.hj#>A$}c}jwȅd76bî8'@cU _ﴫs`4B9w/ a3Η0XCb7)|#vm'3J|x_J_kRe![#A3,KiN,_aB݊UUxڝ9yrB[Kn9W| `,٘GF9ˀt;3c,KKhKqQo?lE`o1<.Ϧ5ŕՃGIh߼Q7sp-I%W9@Y`<$ٜ`9[8{dOs 7oov>ګx80@:V2ʯV۶&舷hC%X5n3A xпJC/#xu߄m*iY:2v r˗ҾTfsȁ )ی1\.wBoᘩFYW>4mS/o֒:ڑj5* &8Ϫ1"!&}8l"{mj6w8]cyr)4LE+F?ʪȃWs,Q¦5̙ç"w g7~$M G_#+=ϼs9(%ݧY z!~8f[λR>c+ Z~z'9-QNlTrpJ)ܑΐ[kh(WoFG?CfUPߎU_R=QE&H(RbZv^f7qҔV-+m +6<% ۢ2+ aq}"xb QoLy A/Rj(׉Jqeo>R0Ov3|.k:x~ዳ<u={a6;^ؔo}P NdWƱ*M$X) cI갇ߊ5B U]2_J!O$}7NN*)O5؎I>5LJkoIp{l3Zc߅cj㳄%acHv'F-χ%\b1㏯J!qbaӑF`tP_B'tL Yh/$'W>()3~@ޤc1<ЕȲ ߻V5M#bUӊ 538]! ܇.uZ2˜]A< #/qLw+_s"2(4||σ/(@=Pز/ݢ9[rʛ}m:1? ~? =̏Ғ s~yN36-'^}VxX4!C]mg)!j;[Af) -?/\[MC8'mHn]xҡd 8b.Ly))wW~x?sXJ!. \C qpm*-;ֱ1vuOvB~uxy=*ٰ$[#m]6WH߲鎫3 'Fǵ+П^n%T]c=y$4JhYfъz m^wklO ).Y+Oo >U@hxbǐM}b*7C2~ľQ=Ǡvsttp>D *\wM(<>pCk'+P p79A$ Η(~J%nӜ!Q *!މq(#N /qٯIT-zf;¥+̯O`M7rEWv7}APm@8%n;6MNǯoa6c4CDOØ .]+yUI}WI.BT[ NsZ:cC6'؀U=OU(8{R1S,a0۹>|eԂުC)OlsٸW\C:M}ky2oth uGYpe$_ WMyMb>jÄ+V;lvmEdٍgS[hVB*c>B]fIK)hg֬Q" ħ=恇N EC&DXl"EiK)1PvEmÍw ]ͦ-p5r{S"6ˉVf x`g LȊtvJ\~XqRM*3nmw7ݻIBDy_|ٹg ͜}Ƚ~UB-H#0q_'ٙxy:yHS/Lq{૖9RM6pӳ|(׼>sid"H>uUjoj͛ CQ3{ Wcl>)tgKx_b!nnj,bޝ5+. *5ۑ*,}GF}~zxIP#6kp%8[[<ڴ~yWԤlJ+^LdG㻣zN<./fJ#bƸ`U"'x\]or4%U{&rFFd=,Dbh:,1/  R5{%Sle?c 41LjLj@^J"ATe,Ax:ero7}5UǪR79d#e%M[2EMG)RBjJz__7vƯ $c)R/yVe'D+@füu$sߨ?)fis6͔maLM>8x?MJ5J96_ e2&2+DKe7NzPU[hsu+",w j|u;"=?Mǵ Bp>ɚ@C&jvמx?ɲ[HfBowPh@KeݶO^G/R#Bb?l }ú\UW]A{vozݗ~R[+WIk9L+N(2&Z/ƙO#&#uTP Qd@d`#c.ѿ/x^0|[ 3|嫀)%iV~s7lӠL'vd\) $X:RWpyYWj!sOHx]UdG~WϦҝ^q'!3EqQ 5"%zccMGl c'PO;Q_Cl7U֨}ej5VۭJd#~ @7T%b0.y-[4GHm5X\[*BSBSA7e[Q%&Ea+CyځǮ_{*ݎ]oP FG qgaڇELA#?RӇ\֓^S˄°H %.8O' *3A*fE׳ 妴h0 %rӪhWfhI?.U85̳2%L]/rHѲ82a"dT]xAxZ5P_`)ZO8^jTp3'}^kU',NݷLy4Q Nz-߃lp8ju9E{w=EAflA3AYZJ]xqm6>;g~M| P>>9 '),_' r5 Ћ t BDϯZRMnRE#L[ܛq¸.j=vw1kCB"|NWTjt;\֞q h1=Zat;^b͡ꇅq,+P>USP'wr͊-w%j&I8kMbbH%CN=G-'S8+YUl-Knu$1Z_Η2u\^HmXf RƳ#2R6ܶG JnT(H w1jFc5(daf fh8NߏڪK£K-@͘HaжX*!zU~aO.U!tCBB2muyiNʶQwK/Q%5ˮ 0ށK+;W; jI a &2p}w3v_O0xVKт))miRse:BCdW6cӢǻj Q?k _AاTP}Mq7jpӭӎ`CvA {1TZ|^u Lw.xGhF/[@8Ⱦ-?Ӈ$ݔpgL4y|/NFONJE_B`u5^i|j_(ȐIOgv7qtT,. yq/- HrYziVtMMX b YPt(Mсy fJ j#w"pԀM9'Wg.>a 5-?IT1.5;LæK~tWۻc$YlѝҸ3_wS;O}D:Ag#I _ Q,)&fYBQFl}#;"2j pPk+ielѼ)PUaEptCЛɇk:+u'{WTrwny<:fA-vށ c.yڡVL>w}n {:YC˿nI#cɗKIw Tc~&c\q6`?7,y?̆5; gAC -"X6W\Q(gj =Jv$ THܚ/#_VzvMT"j#O["oa3(VЌHQe(z_NABk8ܻ(.8 5q=o%L{ű(/UH0~XM%_"OP@dNVsywP.#/ح s5*d{PEquWj 9G&*EDįT-r2rjCc#M_G@Vdh}&)}}8hRQ47hMǩ-^VOD}=hB(Fnfn7(8(3R\GL.&2|f;ߠm-M0ژlG&UPGUWU-07RGd:45G!9VN+ Js ,7{wnkk|4 !\?b~x }ֱvк"AB:V[kج[F]A3xTݽ2!^ Yfyqdbq 7njE,Ē}:;o!P:z^i3X%SCcPs6+/0!7UI-VB{V}: R)KcC~G} + zI#pC(P# 6^Z=9Ѝuf#41VbCNs;r'\~uSH&3N/%5jnZB[w:b";敂M;fN',3Ja3 )yY0A/YWH6md4@HjvGڢdX\/$aWsڎx*]5+=wXAZ'1\|)O> =B&2'0|C aXn|EГIB\.Bf"wl{;NAC"oXF׹@p@,S żU֣N/".y7-@XvOڲF8V͹Õ ͧfaSS_J<&ՔBwr05,`\e +%?T#i_DhgtKFC'Q3x\bO6#"]B{Ua:\aZI-B#px:4k5ټιCYpVMkȜ۩q(]!#^H8l- d1&DAxҨCpaA\?ZG>aXht>p\SߴZ#" ip [ W]/vdY@ >zjqB4gr^7F@Ţf }^I|e"sŬܾd ~CZz̕_g̀Trobҗj+arꬪ1\Hߥ'fUZ&7 '] ]Ym,W׫Qy#E;/GҘk,kHRjk3hmϚZ{\ފ|T[Cm$=CW10`QdŶߣJGGcPAQ-DX7̲`H=pu?flԶyt-/d6T&.興0gZ`)#ڀ!M{_4tVP%/w~ \ )xU_z>E@Cȱ9XrH}!`*s7*qҷ_oxP,g_6ldU ICw G?:θMrGJ?JhssOG\n^q:\^]gHI g_`Ev4Fa8}1js=jF/;R-XG{Qf;4of£_JXYrk< / .#D&%)4 $ "]Uș]cr0UrB EDtFvu^ a(V+zrB+`=ѕ!BwjUA1?%[Pt,*y 5՘YW$>k [ 5`E+l'pV%JB X9[lFwȽ/ ^t70҇|H]p@vMR|DxT`lO 7I^fbOc3i쥙1A/{WbS ry|Q 9)S_JV23 2]N>ʌ\M^GXxɼ1&g+7Ʈ a֬PU)/Eb3}qN^MUg5x0f(iČЪ>PdNz7Z; -)W _i4 XS7}+3-''<7ަݞҫqhEn;Ӂb5We"7~$#) g!=X˭:$Å ^x>1@ao5l[Y!B: SPFp֧},#I16ܚ4P87DOLWuQ'9(g赸 iT#p8$v"Oy,jlLPHK{`AC5)^\jϴT7G>`ʵvG0иk81>I ze b)JWX~ b&OD8O kuݑ~CdQY\b gO c ބ_BE˳%A$]Li#f󈐠hᮾCzD/ d623D3H1:CN#Cݡܡḅ9-.tB;7;G"]?e Js[;8^jxMFA| ua iU_=XQEEYC)%w5Z Oe4~iLZq8KE wgGa¦>c/DwY1ݸ0At$Hd26X o_AXk@EWݗp?Gv$Z `aգ!Yegξ?mT&HBWKa{N[ksz-OgGqMufWEhB`\|e Ü}St;Y:b;h//蘃 X3kc4L'\Bx$-7ٰewBV8D P6Ԛ4^5u/8Vp`™@&i`+IMc(~h00Tt7CK.Cζ̿MOO|Xt";!Bk.=I'e>4*+ vEuB >w S}9ar-*]NMj+{yU)FOä UVPpқҌ0|jqsIA{Fi(+S k}ss*Q.-|"0@'&!CyߧM;roh9f$Gxlҳ$@y]"N||Nlߟz&bH.(=6X~pu0Z_$!3D=?`mWa3@k!9$mev]>=;tjEߢ.@o(n.~]& 47>,9bGMsGȢ)bxK}3"g+x:gn*Zd* {[g¤ :%΅y[C4NS꒏ #V]]gYf۰TMA'wWqO4ar~Xo ic,EhK f);RRkeB(5mZlhWKO/l@]W_iY9afXF f;%G*JlDFVv4=CIjmcCsNP kMqٹF,9z(@۞;(ȍ'n抗[p{4AHh>$A<~Ѷܞrƫ]me٧mHGJd^:CW2|soN+Bzd"uMwS2[۸Z8'6vz_4QעߝFl>£ZKrQo%WBO;+gY*՟J AI@>Gim55Ebb#jl+黬nj\QKN5#OPش,YuE*gn֜8<(x$^"L5?bz6 9$Ǯ5ժ!vd S׹UؼL°Br.*_F%0&WbV +_p|wXsgI:mSL${-8pS 4*}[ƪL)hW6cP#rw_ `.ܝ~f7~గ."NSrb$> 407- Ciq_ f_~+c$$}ۦ ^Ӵ,Y"V(hڕyS8QNH3Ô. an] L3a} #ːaܡdsr b |IJ54I.Eb3Wۍȇo[F+b'xﻈ%B%7\r3ܢy?)%" l.)XrEDJ_"NXG>LE<3BJG硆4c"y:2VEIٚIE~A}Ck3~iu0;3y 4&3K$T^yAW'a|c'vl\Hfi& u \^FKJ%JѮ ZQvSVQr7J/qp╟?6V$g!6i77 #$UC'![L. de3361tR > 8t0Nn {ոvQ٫Qz!:"Rg7)/>џ%:ăbٴF`2wP'p~8brϾfۮT ~f}j.1 0D29t? QTylş!u5q D@[`e]@bnyG+ J :3aF-bK9j%6K{R8o9axTǝl0~ma|~ ~;޿8|BDuO饜FV ·ПZcQ9Lw/9hv50XЅnIT$_iTC5tpftMG)NfKP[/m}|>'u!QøMΠYYeT ؕ~ͽ'D^xnn/;("z4vPè V'N*:_"ԗ2U wʻWZQ(8ObɕqţjlccG9)lKz#b!GPSfѕV4>m fJպ`JW)QWV Q&&{@]MpO ˎ?~Q)Z\1 u|_~3<.Mnj||Ѯ-PPuڷ}~ ؛ԈBr>]`H@y1yKkWR0]q!=%, oNFYdiDpdze;g}I1K 6K~`J/x:zR)r|.-G3:륻GBCt8RN$I"*ghB',L/]kXr` [7o5P)H% 5qn,Pð1\h8'>|DzGtx,LL'oes>:#BR6bSUG4٣|_=Z>"9ʸGn"*Nͯa!1qS@jeu_*E> TpÃb Tsg˕nT,~הW{%\|5jy PByO28c* `+sJ8* L@)xUtVs1"xW8o^]xGDC 3wh{+* .(| a4̋;Us=ߌGfPt.SX%RjZw^H &3Hq요pXAO3.N+;bvEV$Eטd@"7Vm%,)pm/,U k&mqZiXMGˤ F N+ˁi2v%?68D\C@FG1v|]UnV9)f5ua%V767\\;0Z_}kal^'ÚEd* =y_HV?ι4m\gf .\T.B#GsYpVi5:_JPg@"Gx0c\|fUHvسXuX8g'E[Ibee-Џ4//}*~z >7mI5 NWoxP#(oȣuqzOǂ0NJ k8$EDm3ۨ`͊QjQ7:ԃxИ0^Q17}Y„IdUzeg[sv6Q;E5_~B=r%Cnivm&B#MՒjfRvݕ!iN'3U+6Pm@ߊ}LOȃyҰag&<C2䂌InQ77C+q5>9'u4ZΦtR/J:BtX7L6m㛚- NyݸVp3/ky+ruhD#|p@Qޢa^.{fCalZx&4$p B-̩>͉O<`SNuͬ=$K>W8fPg]QkČ[NZp7A`Bnr30Eǟ3ēbsl~I7}~4_Bd=r:-L1{pXcLF4QsfHWU3mCCSrxLNn|Ic.2@G|~-rma7$/)%2 J֞K0}jowWFI].W)x JciK+ ňbb<7W ^ ",7G%Yx&u2'v޺/B J7@g#P@+:Px3 d\\~, @dm$T{s\C{K{;,mP"AxQRX!\Xakɘ? (aoT?0 &4Mf+."XsYhxiїIP l7#xA~ LM&H`H>FspVv?nAwmsRP(j9h|h>Ո$.YNݸk b7t[MMcEa^6fof]/'^S$tbIok{7qXMLF- 9Ղ& r"+{Vÿ\OY1"z2='_;|?4/i]ay]ɍmS7zDm@7"44Gܨ9.m< Le\CgJh|,v*L%AJq@%-b=F:늷ACn`t/|j6L~{8ux{NIR]N^O: 27Ƭ}3g,E-u@m^۰@W FY(0XF3u ^LӨN!g|+?0n'>cҊ櫅>y+ @a9 (3&41]qӉ<姄PXT%D.$RᜃjRuF[.aMX٪X+dWL dȟ}PuZz.kazFxK{\^&q:Y&:0Ϥ9B/(ȾrFPJ+J;?#pLR7 Ͼ eX=>$}ue.?;{ (Ii&{E  6uT\5rDp Q| mc~9T g 6N d1e9 @ۀ+>C֘dl,>SJȌe +b:MOVQ 6ujn7Ir VDJyqlK\} CTyW&wP=faKA1h< DpkI^.ѧ%RB, ,>=p+{1갟Ygl2yvX^i s۾髸40"3kx3c>jVqb'8[‡ I$ƴg_ʈRvG^OZ2m`j`Pp` {Jkʷ%0EY{SNJeD*帨Wonqo*xƲV70@to4 )FۣQmZ?GT2Mx[6OuM1G?犤,:w)P̓ 73%ü۴BW[>lj`̐v:_l1~/xM1y Ζ{A!< TSؠ.$jTBC4" 9[-ʽV!Ju#,zLɤ*uX`i"8Hk]YuuQam;2;;k@=!e!ᖇ:i'_z7+t2pذ3"WAw؈0B:ZE ,x`=ag\z71v]V]RX"}H d`tTNfs83Jy5fjVaKLvq/w|wHGq3^);&#Թi!#`0Ѣ_}Cn({b, mݽ_Ǖ}n2mHf p'+yu ?(XnŲ6*қ0aS-B]u(ɢXrP˜*d؀}#Ii5~\ 0c{}𛤆 qsN*|k4f,{Z ݯbp0Ɛ9= K)[U RJ6 ײa&Flcq$~=ϱׄP-DD`h'P1C[[n*VF}įTU>[Unb͞"K%&*IQ1F,P T7mWDGpd-OIĭCy6 qkȳC]߻nF ` CBHrA]ؽe*<}8tW)?I0[i&2/|? 2l@“;|&Nj\c^/J"Db -<򾨏Pi&:y̻P Tn*%5+~=xuE|7NR|Ȏ cBsL[;ecMpE'|;J:X~bhŠn1HіYZC7`AbAхTHfY"Զ0⨅.0䚏E [& 4d*G_ޟ^:ݨĶ #5̭e!M˞vD8=CRTcWWR?6 \=ޤ?u`sW< ha"%"JIb9n5<@L%iǣZVsV@[zn ]PbI[7̼$iwۤ㘑ꇥJӼrP~37*fo,̬F4R&_]>aCߥEV,T%K%NT9(?E j"qZ.M_PtSavɡactGw¬ 7άnحYM%$)2-hoK{3(4rDjcY:O,{;LFZ+uJ!z,S;E1 [5HzppY(M; (&(@n+0m:Nz?Kt|P &2,PY0wܰռA{@INBǢ1Mrs&!ಛڐ)b5 ?9Kv$ ^^u!W>#n&ⷅHVޘt 0~H..Od3$nOv1FnU&sR 371e=/g+a!$VD>Vjׄ#Ru|(H9jqT \9ε:j: pMΔT[RaOG58qx[c1goVZST9Ap9r?ByafoM>RFm](DM;N,6E26gM@G' *00nUZO\.jIC<]~\9G@rM{hxٓrGS%-ȄH{4{Cvf$*f rOZ #~rx ~5~ k;斲bũ&kk,9*쟞[{'ҡ jh}3OHS.۸n7ERVb!d͈\-reJz"*sEչPoOtۇۃ@BQ?0P>*QQMdZ#G^l R OʣqSʹ>y >vm-e\pS_uf3T[>zaFT4.OH]PK"-si'16]Z"<&]Y㴤V,OjlD%ļU/Xjx2_5>z|iŔ@V';ừ÷xԍI 3[4\Ic b][&!Yػt0e9.5Yʒn-ub3$oʤ7Y w_JWHC-9/0 hec ի8`R&5GP$eƥwqd0N MN8J@S)yC9wF(5VѠX$,MK[e![7nhVn`Wz]-k~ƹUuSغb}I)q"2`"'dy%|*`)ґ8Lr,Uv# t%Ɯ]_,Rdff㦉F.O`ÌFwdX K-݃w(V i3&QX =wߙ 9i5Vt r`[øZ'Lu$5}IFa|_Њ6ͿJ󁒚tRa=pp veWSbICR/4炘 ܖcqwN4k_ͮwGNSMX2pkZ?xWmAhL['YU2-Y˨&.[:t £$Ndp'{<ȓWuXhm1@ }}(ڀu^D?d乏E BG)XӰF|.:$y"ϴՒj<4 dУِ9d?2kD8[Ը )j@ﴪ'l2R%; ;rkmQi8c ![Hm0?v'7n0ߎ›|#Fqd4V\`~\`J}ٶb?F#w E'/ xmLXS"©җg]ZPآYfl*Ϸ_)>MK^d)_\Esiܨj4P`ޥPD  m $jp,e3hנ.:b=9ٳH6is##ZI.YIXe''ʍ 2NknB^b*ܨ8#@Gta9i}pGF"*Rh+!R77AJS p")s槥[-S `#;nzdq|[ ,@]D:F>1 okJQP,Ɂ56u:hMO(G m*9pTDVeU 3Цᾩ"u6h*n|Q!GˊWwf-KAIżnNmgH =\A^dv[^,0#W\59 9{N*˧(d06'Qsìx)k 8@^d+ɏ)\k=OVc/7?Cb9T^_òE'Q |9[GwϘ h3M,.İv71u`WHt1hM`B!'9bNT˹IDvZ*oOQ\:F3'4; 6!t_/z:kob+&_օwkŸ>{L%O0X";:;c'Ao?\*`/ Zp$O 0Jkmۘ9-@O^ӅD'n9 :r#i1uCa4@OӜ!pX:2&|OPCO/'>8QB2rb9PeC ]1o.(+pmcv9 a*:9溏vWs] 'E=K4QgqzdP&fr7U{?O8YkE1Ǖb|FMl VC"*ȕ:T.4{.gBiLOrekbTP?g;i`Zdypg $o>{;$ @HX˃Dy_J{la\79\I3ϫ@رUQ32q}t˜d9 _X1&K3_*EE!}nl]_>Q̜I Znvf9Q ?DE@V!H6?ڎn>SW+Q2Kh7591 pgk¿]`Ϳ]B!qウ0kin~ u>oMZG78`[tmMFuNV^>:YYnќu+=ݾ21?R_]UVaH, 8m!m` `%ϛq;pAHiN坓Ǹ3kBp:8c]'ERO[K֚{chi@4K[GO t>iBm="R If]0^v@C#UYd2IZ|KzOK~+{?3׫S;6rJu@.{Yncb0~JsgDdX]$u2;]tijtSI 29ʈL{zk| 䓨#-$x6Ze_IaHobme!+?V`:xv<$hyҬ>?'v#*M_Wg{maNh|ŗ."ҝ)tFeSa}ѲFfp5o,uQLfii,0)tޤ03=ELt,8|sS7q&>:.tT~4e3gqνhFks\ͅ),9TB>W:=&u ΜysrKX!_ˈ#p Un3J8p4~HSįaދzz7SC rJj.~F߄|[0Km,L4OZib >ʠ51pӱ(MY,O_|wPE Vm,bivԨ76;XQ7SfXɣWNb[=9EvڲcpY͇8rޜ* lնf4:{A3?kJx|%z?4mO&Mb<==8_>Lm̪*Az;XNwwL*:duxR0?9j6Y[<(Dl'zu98po4<䐗 sx ͊EFH^UG>:cݐ4 I5I^s__1p^J_ҷ$mM3ȹ#+$D/kH`/o{2\H]jԯ&R WIEMI?eXAwɀ2"O|Gs]/[ۮBmG+YDxq #BodprC8ÔeX0^QMQ{뼪OW|?1:p 8BMoܗ7| Eev,ml};!Ƹ|)d 2G'n'&318P]nOp.=q3oV^U䉩^K$_αMםH-5MN0P/]!o'tmQ&'p X)= G֨*y+Uϥ9ׇ1Kba#=} :W96P I.oTJ{y4Q@U2~,ifؔEHzٓlCBUq4)e L-&^qKaS,8 Z?m5Qm1'sEJ"t0!.̼Sf @2<_g9\Iu, ^J.wqk+YR768>h78Yp Uw|R~.s/1Q'{qV՞@1q3Ĭ1[ tbA"wQ3cX w)B~~+h[1LÖTo6Rũ`$i%}75 vʳtC઄}.$0]fy2˯p O]`he)R0A9}h* g?|^H'Zm$I&W Snũl /D8F;A{טeuװXY~bkv kUela -l9ѿyy8^`Ыj,,vM:qA0EzƉ~U8mNۖs)ṛޓݺjkQбC5X|,BFq)'o{h`7aFqv)XB^s剻⿱CD?M?}'*݉yߧ槳UeNܺfr=LoK}i9p! Ą4N\#ctAL"ll;IPw[8*[:G_ba]j'!*|[Y?trp xArZIqp@ų]_;vqITB՚0gǡJ^2Qerx&!O@l851+u7'B$9"%RRQ 7{2JA+,G|aT"׿3*%)R^Ng`U%`a¼a^MF"YpPlaOߖlp{}K^.C dKOwCcM .ź݀j9Yf@E0 !v;SJrBx _ZaߏM/jdgjDf1g_FF+}JrgCUls!lcwD|e.VUVΧZݝ~doNM ;Kb<7f<'#wkɾDzv_6Px+ymGqeacН-m4YK_XN(-Hq@<遨bܻϮTn fK wv=YA+pH8e[ߤ*XGDu_lo9 `ou&$&i#c<4}c+]&K꘽S,`5_( IHhwS?#c۪t Q{KV4xRw^ 5WCys{Sh0w"{!fլ !Ӊd{7ތ=͌_$\`adܦ6b/JZ0陇î( J蛬{֘WX V'nBwi`G5ri+lhC'hNNܱhz8a[)aM\M>#DDII|]&K ZRDR'2\^e;Ks9]ͯ(!]+ԉ,vp7խߕȥV-2K3Y(¤^=ɀݧ?Ȳ>fퟠu!U7̮^;*Z!80-{pE8L#&mDfK@Y?2П<#[=`mlߒ VĎMI1$.kwM.YR0%S|jG}MfO@ uE$M#M2J8벹!%? H(] 1DJ-oYo ᄇj`uvYZHkaM5\h>u(*N'z_.on-Y>n:8͙Z|i#ȡzyJ9Om7AQdD3:0(M䲉8p^gmhaD,/J]^*B#D!9"X-YqŠTZ}N,h"ɵ$uk}a.{uk`U,;̈8JӢflUwsw񲮁oځ.5B\hL]q8>ݩ)i)UtE8Zt 6vL+^L8h>{#jaT(NqSع6l| IPt dꚛż * 'AaQ}56_u-O(!4At*v`̲ -:2WT.sHjߕrWm&|(؀i+BNN7-||D;RPUbFO+5Hj$d}_ .swzWv򤼼ꗭ Ӹ2z\f9 }"5_ tKF*_ m@QUl``ϰO! TON/X~sHg >%Yee-1uhy$eq[_ɱU j:KeJ+-3͘&?!4Hq*bZ͟51ߴIa$Rְ= ;x:_6o 785|}rLg%!~{nhا1hiVt2,Х0IO*|QcTse_9[XZpZ{ڟ,|*1m{i)t묵azhoa%((kWQ/4(rMBXL&EM8J'yW,Ű֡#U)1U6ĄL9V 3̭M0&@)$I`}TŸ\|oIJ:7RYdAi"m߆Ʋds0,ĠC2fou*j=b̈́~k/ZOk%m_ z5US+N&c i) Βz/!*`EU:8zHZЎpT Q;icиLl«MH%@ B4iEŎxA@;֟fQ7i4UU|dm26儺+-ӎ2@=f»:+ؙbc¿kU \^YR7sT(ꀝӉإ 7֨VAᓹ}SWin.ǨwHj.l!p)Y1s3 F-O惲3H焙gjax 0p;9nJ2x'y\7ߐ29}gCRϟz\ c_Cfe4Tt 8[6WA#|ر L<gD&8h-y*ゆf`H$т9'֨L"G7ӏXC֡YQ@eO3CHX-2GG;#.׮lW%Z9ӽV]OO@*93Pt\D#5!ny62(Ġ.}$FOVJy%[c7# c҃W 56cG*ۊx.p}pX͗n.=I*jέ|dz|5U|V #za3Iˁ*k_~4=j"JDh&0M'@r$a+݈JJ fYL<{;)z Q;1(ZOR27)kE:uI@ۜ뉑ެpYHQ5ȨU5owesl-7ߚԓiNh|y"9ABy0`l^dA(%kq޴ɚ)X Oʭ8z4;X.׎Tpc/eCQ~Ah8J:6(RqBJȃݟ#HZPQ?$NʽO!D< ];2D;[KzLfYzմj ie0pfRpjfH$v{Ly yuwzd~6o>;vW&OUq``#=dqν +'Vml..#14J6މ5[ w,J-#/P7(^GWYr,.Y pCt0E%c!R+7j*a\ <؇Jf"£0a3aTw.u$ T 0Ş%-7+#$I&zsW9&HL(Սs8mP"Wb#Wc]q\YIWY= 6Xbh}[:/%IӋ>L#kr O_,.{IY:PJ~@q}5f6@܆O<3Wc(PQ̏xnj2±|J iœh{\{Ѳgj.@|♯ M/ܲ8 Js=O|qI|)2(jU#!ـ}{6t 6lJDh(DSwrgJ,_Tq᧔aI%|Ze ‘߇>Fwly>iFNG/zCUh#z-Ք Dtz l?k[=?,ɕ)Qb)~$KvcuBvEX`FfM "q ZJԾYej,J^ Op,oW-"rys$I0U΍Gԁ!}Ğ*lL BAX;\ūۏ[ʅ,'f>U7Zb'4n#+$?w ]ѻW90h׏obXk'x%eU]E`U2J+; i{)OsJ+)9iӫ1i 8Oe1;yaLݢq, }B '_guunTnJS*V}' *_wgu|oJ6"QĢZֺ@9‚7u~" j7ӗҢ'\1ȉ?^,{Nq3 ,Z 0r͌Mb`$q;؞6мVwuEdNYqBLUS4fy|YnhhjT_^S~ʚ=X6.FxD˷,njmʇ2JWdadҩRE,n珚qKDqe/<)B,RF5?Œ<)bq7i~!#,X֏YJ3EUx*2L/v]= `:QTk?z 82`3Uǧw@ ])-Vİ|TPZ 4̬%hl &R/ŗ}[ >3d iګIF]Wձӏs*{&GL9Nx_z7r<9 tϵ<螨cɂp,@Slc;BX:b7qV2_VN9qXκM +S}nY4JC.QG)Uq#MC$NW5wagT4q# + VB+ |!B=FꏥzbɧdHw$T#+Y}Œ((քs|QA콉[ f; ^:Mp9&Dh>upmH{(tԓ:rwK h, h1QJtJ6^c6s`6^R:z,tJIrP|8LcHw6ڔ<U,|Z6m;NYGFۘG+X5,.[Ab .Ui/vb|V 1JADj;1@6$-,gQT$Z6z_Q L叞X/τ[`P 8pA&2S}ㆃ<_&aDV?Dꚻ^ (17Vخ\`\+!yaאpvU'N$93&TM?y$tf};49iE]VF_AkZ q(6x5}2鼣Qh bwE8|3Qڴٞ׏ 8:,VKDL -А!>9$;9u[#3t?]PG&&h$K;$4͡-Q:a_jᡕ'wlA$)~^^2 ?סVfcs~[ ?CYD˂NicX(Q%sbNmFۂ\bWr ȹ6х =Ls;ޠ*_ yzQk5 jsLq"Iᡃ|J֝%a|89R1Paa/QBHz=T&u{x*mmxў59mm"*%3IYy1f<{% Q1(0ۘq1Np(D;.: taٞif}.f!noWa/!q owwͼ)'"LDUztJ)n86We022`i͂#dI3~>8^L ss@.ϝq:0kq0FKں_Iv! Vޒzݻ) S*hP- ޫ*Yvq33:Csy-Q "km_wW &@q)8B!lR]nCX$@wU^4|zt0 woy6Gx@H ʣ痢IDAn 68P\& Y@ؔͫ[SAWJO u(_EMG hW}7݀J!ʙyjr6H(LtI 'J"ǧ>T9扪>7[JUҝ_z<w;IMX$[ʵ)3OGS:C@B)ΘOY*4AU]M{LBt9w -@MP@TB||ڌәExGM&ɔÚJKv/I&$dm5yYUdy]{%rKL_"y5_T]*b9X D2 `C$zV)V/m{܀&qQ_dyQW5Y(s7'&vZANT8zUc`U,03{c$vymNvhBbwiYcI~2eK='J* *ft9LCa~xϒ>-6 ֕<Ħ~)[m3F6&댭oV_9 j s݃$,QH[R˔B*#Mߊdۛ0O@nc!Zǣ ڪ:Ěc|/kh?▤JjG*UjFݻrFC ZW`",\ #[$eeO)8'/Ka #X>f SCa '9?bDB\2|'ߪ(NU{8TZ'ӝo_k5gdC]5QbZXJrTwu^r!bG>*^k1iCRo|Q/UL̪zJXǏRg-B)g75IjI=x`a:j4Lř][*=I"B_{ؐi UX:!WVfclop}uAzܱ֎?C9or0J[n4z97 *#* ]Wo]"*yzƁ4 C9՞2Y$o ZS$9F[GLVfD,CTP?.YzDnsl=&Iy~.ᛛ(W\G{HUҊ] t^[1kIH6=}+}u?+e(nOEUKtv%%z#~Kk0B{!c/ܚ1 Ұ+yE$0O䶖eXa|V0.fՊ]gdu|4q,2}-\:/lv  sEYVX\ u؀D"/nΘ鮖V8.Y6#MBi,.iZUo6qkQM EWD+Kuaս,Ӑ`4*1>* |4)pCk-G@fMq˰a?o [Jt-~Bzs`͙6 c9;"NN 6)8oE/H9c`fZ*|𥰹%/L0q47O?fؚq/R?6,zRYޑBA Wb0)|J fUndДzBSȽϟ~TNTgHV!bV¼~7_<'4t!_U(c<߽ Z/ Z[=mFlRX\Nx>ۿm=TXMGS22R !3u1f1k(s:O"ցm(uAjm|4˴}TdR+)sdabZLQ1=X~mz.͒ţ]0yZv 0a62A<2҉iG:(ȽE߹4e#\JV85u Jp[9aT{09H﯂`a&Sǔ˫|MckfX0m5td: w,?> ZV藯$q ćIAQ'wEOXR]ݶ20W^x-9 f 96+2.vPv!Lv$^L^Q0y7SlA@L?`P='EgF/Vշ+K>?GE֟N->Tc2b2Dι+(.L4*quw (+VKhB$.G,>4Q?m='Ӕ_;~5\w?uR(9ܩ_wEI)5T ělΐ$lL嬒׾6E^ly=oD| ] uP-%>]{n[ %;<ʩB3q:,`)}#v_.gK Dt!H W^o$ZD_O8ve0Ob,nїͤ}U MV&"-`s8Bj5JDYjj κ3/1h|6ɂqꔀet 6-{jt8poUa®pͪZ"[*5[Pmx6Cpn#ܗNDEi})?In=fѣՀsvbq/G,HuPlg53ʙvɴY'GWg3^y:-0&k{{GXqpbM Q: ,;I &?yf͑K8W_Xa7ccKUǠ-UlLȃhF̩w€ A:qȫ˗z8RtIBҗXbb2MO V㙐*?ɲAVrqFxGLA;sRo.')t3: h hjgKpxKaavD(La{MؐF%к7>-\QƇ!)PLud.l{RL*o+9Xha2覩Ȍ9DOBG}p9+ H]q'gZ[Β \,ppi ɰO 4WJ9g80^ wq0`>KQ9kDV:J }^=@v3<3@4ĕ"mhx1w΍Gƌٲy+ ;"YTLX1葂p]F:d;?狩]~ɶ$kK M{N'NUkPiMTqPgh6،ρ7?'YQ8^UF)@y;S'OΈnf:sN3Tbp"͢\[Xq^^j1[B= ~|wԀCbAGz)A9`7in6J7P4fkO>5M W u/WSa b)-ya*w f/LrQ k;iMq`rg-XNNcǂl石S[eh#* k.83ؗcKA]4IY?gt+Ha3V؅?d; 0IcŽ^-mf+˨ؿ6ZXn!PscB &h [gQX`nݓ$bӁwYҠ2iڳk+㵯+*2:.%G'Hl4gJ9{CHzKnӾpo(x=jk~8ӫ8MY˒kLv1JI6|vHHcY`8 Twʰ"@Ԗ|L!iN3\ߢP4m𛷭.w%f;׋YfCyjOpΙjwkIhlY.WEzhCq[M#v)@6c0EUHp͏ǿ=(§or&-?; 8k"M{A9Ʌ RŎ7MnEkԙ#6})^|#y $}IH(4[@nAy6%7q Q]tD3]ٔuip҈_#n:; 7;Ċ pcc0gFlV}ls(m,[` s0NJ(|r+6Q&\jfISŞdS}ݠU"ybg!R䅮8iR;{@-;Tm@wfv*R4ճPr tz%&ƶF !t_ Yzy-5CQkNoN+&U4$amZ\tG Ԏ"_=B4Ɲ'ZwY,L bmrbQQD/zZepOtk tRcisYq{T6R2}ګ"T")s~bS0'dx,#&g\p"1ҨV&<+E-8f\m dڱ4(|b !1MB0#UK]oF*] 7z\b*W u0jT$ V`~:? pYpw6ᑿl|;'9VV;9CJ%BTz9edATv Vԣ|;^)+oV39'Rz.%TԚwG!6/ķfeoLb>D U1˧Mdf4BaWqfbj„RŴeev7C|@~6, r/z^r'XTR\ʢ+@?kଆcYa.;s&ˡ@1b+#c\abG2b:ł~;l}-J (Xk4=5p_m{ ԝX@HԐ;^SrE{d;\ߧÖWVVEkd R"{sl%rZZdˡjy]J|?`-䶔!M:Y9$S+͓݉VWgw+td,KxHĬ'͂bRV+ xTǶF uV-DWKxy]Y;cNZJX26s3um}Zz*4j(ǚ񼨣ى6a17fs*\: Y9Tƥ/@|1샍^ryaH=qmGޞ/UH!ӃA:u핝$ Ur 't4C7Q u@۹ɷ9(i;9E# HPs+2b2i`Up M $U#wuT* `x$=:[klFQ ߙtV|J)NOiN2cR=M\\< m!I*E:XDOQ0Bo(8#"V*:QBsfTaKfk\TS/^OzEk]?[d>4qb]d]P- 5USW4 n7'Xtܑf0jW|}qD?}^ ,J-ѻjuH>ag3s;ژI8GFdvſxem#B+G A;,=jm5FRfձxY 2:pJ| ܹ-Z'M;|u6}>馕,~Hv 7uO Μa}5zWwnz0j ՖnU?uEV5kpAsxL(Y4װW_ˀo< Eyi-rI IleZt}#Y: ܉ymMݜ1LclG Y$B4,_TewxZ~L|N*vtPQE1 5Mz/;NR9 FeXCL\^"n]t-IGKv 1_6.k"zWƶ{:c0Ċ ?XI9#=FE^dݑ' (]y{oՏE1ͽ(_oi$)y#H ~iESAˉx\$`pOZ:3T ?Ɛ #=^3-K֚p$W~j`\>B|gtX/ ٢/cV֖uX}6m u |3d}6(Dz`eVZc-@/ EgQ)g :sSf(QkHK)mb P@>*J&NK !A8jq޾ +!!ͥ9I#lpqK_+ WT]\9yneQB ތ!:STKQ(0IsפDBu(xmlW4L4KjkW$' ^?Z ѩfx+5 2]C|Ao]cmE5#9a؎T>YLs,FDNQ]*uFΣ&t1܍2wsAmX.0_ 0{A;ʏa)9l>NPE $N2AO_έtS@"kîMʄgp_O4O$nM\~&LڄYRQFynuG,BDOT#轝۾0,j)w!&yVWpWbn)+Cy ܦAM^ߩ`G?qi4W8GpfxpM lZ>~jTwd>zQ![~FV< uNV4䁋?`y~vk |đ*jVیذ`8dz`č+XV tTBal3\rIjiNR;Rnn+F̪t @0ӑZ+'NŻAoj2JB9hD| 3J?cӨ-^\ ܔ! kx|bCSzK5F󬡖z0aLy~3hg+AW:s!W@պE:.D|BcF@.@EKB]|s+@ RNOrWxL^wb\$A'GsTM :W6.Hk:D]FXj  *p$`4w&'>GZcL}~f~;TCH1pݿ;g_h5rV4&)PS%~f0 y\bedžm61]鵴N3F%.|"#cw]3oi F`9O]rȘA&j70KdʨLȷ[N@-V*;mvҨjpCҶ-#YvnleI0 =[ld]N5*oChv98CLvzAazzk3)'c_p4-¤ʲ+éX͎6L,7.3R6m1dٙ㣟cy_8i\ m&4R{*ǝQu3LLґl F2?([k]X9zuHƒ7]pnmdOhz ҅yF.luLN"Ob!Ȗ.pPӖ,N !v ۈZ~l, ڶkK(hR6SŠ@aSו9ü`w:$jzqcUzN7 Nx{,b*Qʮ HNb1uv>H@5_4Qoٺc~{)Z:8U)}^΄ j 7qFSīp [ݬE\*,0lD#kb1judvKaX0&ǞUw![7eʯ  l u,`uD0-78d`ufLFy!&=]ÏOgu1 0&r@w[/\Dϧ̃P1q`N40q+`}Ϭ}sk:[LJ: tϯ\?f)9{70 i3Nb&mThT۪)0,EҝOj>ҧtG;M`D|&:^mF{IYZg<,5oHZ,>BZ_mx% ;zɩCH{4`bͽasG}O't{?KkJ'R]y#0^Ălt+W*_ Ģd47*+Jf2#unJ7UbLmn:aXW.%ybe$|vNgAfe' 9laFt9\?PΏʤ[`~0i]ʰ5t),h$喑YfIC-m3T@0e'+ {kdYJ$Y,eNfX&L\/̱O dN.\Sgo"кBE"X,n<=SRWMnz i852t82#7ډ%+^04=VOꉲx[w%V B#Ub;1Ӷ6 Bm0 {5y9};=p@t_)"C%LSߟιыeR%f*PDͺ}+qQCD€9iaӵvGDqcExX+(%~}Φidҙh0.2r0s+R-,*aݡ;_'bR@|X p/X/%ь=]Kviͨemk|{篼npt"Tv3τ69h1C9Őxb=UVm|G#˪ k47W/ȟwhÐ/9bLȻ~pPX޽X[B̕RjnUW[C iA}v D$ŬH$ٜ/;DLl~ib_Qw@[(j:<\,,b q 63V"rKՆۿ T9]&VoTxN6 ?&R%nUb+iIrܸpOM.vwUV*>w>X<у83xj>v]c1edibKb+5vCBNK F\B8FCo#̳D`doWS.wG,FVVRDڝE3\qՐzgCn:RٯN|m7IU!}Ͳ^P7- X:s3Q 2)^#uq 1M?@߷;s{mRd8:|4Л-m'cAHOLdrr9-۷EkM91r+Jhʵmş9$7L<\'0!QxnkO.Kx"Z nN#^@џ?fnxo)fR: l XSeۑcӭ_vUk g4ll#k͖o:U؃[ȁܫ,j'c-n>`~G㜍 [m!Xy0jCur _TtdϬ^M7naL+$)oI2;3!i*}[vZ&%](fk4 &7a/XhE6vN(%]V]^^#~lvde& 6^mԓpFu ̌\`_^[R̳'aR 1ۃ:;XĵnnKz'Faf|`޺I(vyf6'3^HʥdY!^yz=JLO%S:`N,$!nw^CMrx][ Gp Kkj2Mia6RڏH-qؗr (+{w_ HN[4בk֝g¿٦6uo~hS"|%V"\=3qyUbC %$~F;`jVfYB\V :ĶGLkjgMV\Qdb&W#pq "Dz k;׏jHp"$C0z˾NLH ;]6.Q2s* M-bw,RcbK)Xiiծ@B/؉zNL[ibo3wrĝ\ġizêõ궇eԤQT=6s a\Wl׊RVSl!mTn;IͿB $]@:"l+Ҭ?5}*< "g%?2i׽Fk٫;*k|2_q󄢷 FoXڰeevL>7@ɦ_@F![ExxdH=3NNcъO5o\-q>:ӦH_܈y=Ue8FoW@$!_]@xޒɸMmڴ\LqR @pPgyH._{b{~ݤn 8EJg'VZ1fN(2U鞢:n3risG. s7~2#.:(K(ҷk=1lCAKE!=̆7=5X8sd}H0oֽ6:񪘁R']+KudLPvE!£stϕh{Š+TFrN! Ty1dAAQR:O@+|k|$c@/"x9 ? By߲ b} 2D,❫nT4GSÚ~b9zιf^lD4S g${rEA6[Qoq{1+m+LINҗj`a,l**Pz.A$Mєã P UZ[eN=zr i|=Ԙqe4!b}'oXKH0)ȷZ"ޙ3Ҳ 29/Y}QPUE8bQ* RV+X[hkIcKLdK&f(0 Uڃe.{F~Ŀ_5|*V̭D!^Oϧ6Nf0Q>G'JP&0u]jHܩӊ_̿ t82u_V-_p,TU@l"ae67ߙ)!(>nu@Sz ]5G++rZ,cVcu`&R>C@$P9ܪw]&aZ{,!n+i|8pv ]&[ʑɚnY$8 kW-Wz:|r*%s7n=,+f~wG+(.)L m6ӯFႺw "-({ g7:hJEq8-"VMS|" Ŕ:Dl][c.R=='G&ύF?r3ĴupM±#/'!Vč(|bʔ[ʿO%vӖ*ݫB#ԫ/۹E /SA/Â& oZ.7T#퓨\J)l%`}Ƥ $Z%WzjycRNW]m8MP DNP H?"yCi DiMI2 (i9͝"EUa'9\:Zޥˉ?cW"g_VrR={\$EZ!S+x;Rzb{U[ ꇵC@Qp|6Qa<+I]gXr׊kc OccնV+83Q`UK*(d4,} z? O̖Ra>%;Eֻ!2"RA3i~ͬESFn+ehӮ:4H&%64xCܨ6 dwD(e[JVY͝7u,f+{r{3^:wLo)3`bFw"u"l ?)'DH@S1f?#>|w1yאF{$6`@}=ov h%/Z{T)m!w͕N&k`/fr=Xh'dvhDmzeg{2>6.546?>JnuХn"EϷx|r/qqPMin,Fh|Gpqg/T77صً"4:"95ve90b|l,r!sLsׅ"uJ]TBȿ ,,wl쾽;bW"psrw4˳T2YALfȁim&Ws1aFKZl,ST!N=6Xd5+A:}K%R2h˲8oPؽx֠1`l2{:"}C P|({ۗ7yZ.zb.N<.\C)/aA.5ZsׯH^^Y:?FC2αWR 7C!8ּyNoA7Z٪MI QuWԿH/M +(utl{?'ME2c&&]ZVanס %lDi«6cړϊWweqX C_ٚg !7m/./]S:yTSXq1Fz,oҘׇY'C#f1d_S#6h ϡ,P p7:Eb`x/yY6=W9~TG2:o"/ ;vSCXX-Xa[+97?ty[CvtDkYJmOՉ?'wHR7 `Yl{zXePx{YZ..H fSʴCN0e8 v>4#ME[0庐eFݨ @V.JY[x.텨#4ȟ"}G0ɐjA bwǫx {s^Xeoտ/R-sDE2 Ctp8#K<[̦y: 1Y.=3vQxBt BDs(%6V))Tم͗zEI>p:=9*.&J&H™[t,–<и4z Qnx s5h-q!QU (kA8+2 Ѷg}y || T,2jJl('sup}#l-L v6e]^W TLLsR43OQ}R"gRÏ2^n;`A/k|gv9rxq>..yX_| 2H(+Wn8GyN,-h>ڕJ&{L jXLX ҌmeǠZbWGt_ uD}Y6lѰ}{'0"s~#e osLEi&bqUr-}J7{9);(IZ-#ᰢbN.:4 t0|(FYaӽ҂;|`ǐӝgH\ EX=[ˠ*e#K(oQa'Ξ(ɚe 4~@%z:1s^4y'*YiU:rBpI@S].qagWX;-a{4+3?Y2F _)q1p8Neqű Vb-V=Bް"AF 4!}{wy42‹R13o(iVhsȻ:TZu\ G"HԂ!9%+K5_ܷV% bHڶ`q]歃R.p3>ʖvLSXy>n@ 5RE6wI* `3`nߧWlI}ut1 wP1eéfKR1Gϋ%P'W.|-;nwb96mK{*k)RĆd0aoix Z} 9M`#R"ߡ/[@C|Fx ˎNe"ƫ=&v8SuAlyu{}$fMt[%~ Gz421>Ge|xϊLQZޥVwzҙUerVH&3pFDl$7@q[iXFƀaiN|c rEma1w]Xܐ:l"E={ESM>W6sLHwEYI(Iǫ"GY}tl_5@5,IcM#3FoBhG={fR4o $/;{ezCPvW}>YwUV~?BʁvKkP FK:mÙ*Y :B^bz<tBT'9+jnL=r?`[!$>37cuv^2 /;fF1JnB [´y1|OVhĩ_4Xdž7lS4*t{[\)3+K{Y+8p,| k2vĵX-S}).jwzO2<ÍdL 1EoV+!{B{=7*VD[N^5ܩn6v+R5oš3ΘM ΫDM"$r&d&&yo|Cu?T{ tQ&ܥqFCڅfa5bX|y;9;cF]^7So*^Lk&o8~o4mZC ƿ{&4EaXjr.f eYyzDI񕪺V?GV61 Bm'Iq0$wa"6mҲ83r]pɑ)4 uP\eʍS+s+*F x5L"d[3Ag]K/T}Z W(`kR xK$t]/}[ лȨN9ަ ^=˙x =#[wՖ- ,gNkԍy;ݔy+ek,n.F+fWe0*:3'NV*rGj[r{~`[, z49\Oa쫉[H)HTխ]M(?;쓔V^\-ض EueN:ཹ2%붽=9eɄ6>#  Db8 P-_/O8#&&; XdWMՏ_eUZrgA24z=%$4`9J/k3裘PZXڄr;/ybX _~Zd8ro?hV ]^ [9 0\'a/ p)yέ,3dQ6sG Iԝ`2=]f8Ų=x-x'U ilr0Hֽ#xZjCBpiAm)5Qll#P {๽2,Aat ՏMhؓdY}y'+IS+Tj^|Oהk %VK0%D{ RI0km$be{Js2Qk"~˫)0}N]RWS2+d^ON`/-\xGeOø 'pdTh3>Ⱥje~e*yeltuOW3ʵ*%Opόf ?W}`tjyuaL1 ZHu^ QW1jE@vGߓJȞ4; @r-TEsM:O\1( NսG$YoglL .0?mP =LQm&]%'73 Atq@AUrui(mݻ8嘵үKt(vU}Kݘ^a cٔ;A4 o"dN [qí0ZjrH뇓ϱ$QMqh^2)pr?zvhۊ?c e H{T2e5Lc3̆\;eD,[n wEm6qܞo/h6+5s}TJ>q#x|G"W 0xB$wǍn`I;(W KP%lm(l3C|4-yANG$-EpY$ճGFW.ureZWvl&i/=v 72,=p>eV9Pno\.a )2tT"cnO$# oaQJf h &r17!gPWj@~X}C!mд&Jξ<<?W؂ş0Ǥ3x=x0@DinYϓɚ"cAI8:2J4glJ ;{`1lc>dusGttTCUk !{JؾLOק1ev$Ŵt֩?k# [{ܽLQ݀o⍖wWwABBO4JqOJ8ޱwƎUbh19NeV:J-(.U2Qfl.7$ՋL->՟33{&䳍 ~}W#ǴVZBB.4'0WV I#TA[_W%D8I7V[nauKPHtX0h:aL6/sE*KB(420RdhV`./{{)9l'$'hK:h\( bM>&H"ڣڸ`ljAf&_41! nZ 2߀㠐Ox֥8UT)R}RtQ': aի:gGcB;[sz NbZcvhEShרFkw$NfFcvfk1Kb/{H/E4wh%BO9kS65҃h9h9DbzWp_"+r [IҀĜm{[ե\Z:+aW U8U=Ϗ* 7Ss,Di۬lz]87&8źɯumIkNoL+SnyՑzLD*2u2 ڂ'mTLKNZ;<JʶNUۮoPj'2? uBL_u]dP;> o4XoGMX[9,Yn7CQJBhЇ:am%H$ c}qe:RQFou*llċ9E;4BAEg OMp>׹8u@&R#ALI+ªs=e-g;K _0+/( -ynmNg1 q~&EF9J-QhwLE1ʹMLr,R%NwguAZm콐ˉ!Ul yPXD^-) K5x;TBhhW݆I8θfӎ(D{},!Ef=Ê}rF!-37\kM(F5eN6UBD -2B\<)Kg8eLl>]|pJj}ݫn Az W|RLpvWV4op i6# TrY[xxCBp07b-E*H/qV0 7Lz74H& V&Jկb M, O7Z+|Wpf" cIbέAg;ۉE-os?tMmoy(Cx~i+!ƒ|>E'qṣԊv4Hx(#u`=#b=z&*GvL(J1-j(*ȃ MD^u@$ai_мAÛ{7coRx00J70kl&Zh«o8f}(yXvy(vbPp1j;1t9Pkt/7wt5LD]8+$x>f&?o*#hJQ۞yʝp"ԡZe-?GyC9ʷ`R90G7}9Οvܻ䏓Ɔ\騈4AhQ ӳ\/>_dwM]a6N 6ͅ,>=; ^x@e~;RRǭٚ?Hٰ zA%jU뼕if@*S$ {e 3p% 6>D m$5'ss !=2Ƀ=K?Dh3(o2},ɪ1uikT Z+Gf^kIbzVF˲NGMGE}YD7ir#3*Nߎk:Kho>+\ /a6Ѓçfǰjr6J.m|O*OnM'?^tnXum?.U:Qb1+d:!lF5qDOg% 'S@8s8؄k:c{zq-oC|D}+Mjad*Hw!{Zn6h6lqExXE""|icSh[) k+ tYíږ%bWejJpKV)3uewb ;}?('Ee_Y&W.H>T! sF>W0DYN0p'*!PC%~g5/R./ QU25𬡹"݁10fh`; tp? HЉ/W7Tl{ ܅uazKHxepEC6_mX{'N% p-Qɪ~Y WY,BU$O:2Y =u$MiKѓO>lUtDA-ƬsƍDx].e 'U߻Fq"nz5k5O"l^Nڸ>ISD.Pu霽@ź騾YGMp_ )kUg͘nUꆏd'l`NYrPn"5?$U\LIF~A-B3K8eTD(l݅_%49ڎ}˱J Hb~U}O{(㴄ewwюD:I^?dxY+̨5v?;ttgh>Tłq7Ǿ6{Ra+WƫkB$w4$V9%3Qc>0Im?ⴣ^5ɧqM& C_G턈v7v X\Kb<*|>J2M[礌Qg֠zРS %,/[kZk_\3#DN5@EǚVl؟@5SaaɋRЃڳ^ӒvR#s659xJSe i&54nJ&ϳBqķmAp]z)WZl3H!us) S/Y$ιdN C?M7\6#v87+l_2݅_pT"a'fo:ꦺ=U${#ϐrgRjmLjaↁ-L( }WCľ=N D󸝄Q,jRT]C(5.hQ7ѸR`},*@Ħ)!tл}'IЖ/FФ~UNN¶AJXfO:&5VҙaeGmHM43 zDP5!QAn e"HlLIpS NY58tsrYrn~ ^j7J4g?>r38_&CݹdFE' zupJ͘"U8'y ]-@QĮ#g 4p^ f]nYlq/Z/⟲*L0`"zbʤN>Ӌ@O7JS'\_IJ>^ʣ2T4hW5~Cxpa9mk!( = 4-+ j`mzr <"8>;~V5`'k950_=ejC*% t"u#c! 2*GrʃӠT~蝸P")ACl,Kg5=7ȼ&c5TLm>0{"_)NV::[oޯjv186 Jȧٗyiĭ!(6"5r}12K D@ޅg*=+N+FaQb[5z0CQ,}RISk-_ןuP=p |r3 ǗȤyѥ ]Wޏ1iBGL9Y@aCJmFӵVUʯ2_ۉm|q8_ fݺyU7:Z0hI1@ B qmǍ7:,6Dbm%0D|YGo7*OؑLsϵiE#ǹY!7ֆ(̪QyT?!ٲ 6HbRxaƢ-'PK㰺 Rx"O2C PRLt.0dTn]I>jH?MкX 5)Rd[}"&׌-Đy V|2oèS%-L*7Q3Zs3_&zT& !\0mmXti(1eZ벾`Re'X`ШBgK3t乣Q[=ճ喙];iFw䡝:ԓV%W1K@asm;8V $dWj*.yahg%fjq j8*U4Se83C>T#-[X"[e= P Kk"r1$~L@ϼxn: )  (S9=FN_ϲ6c$%G!ĶUHƍA`[¡iiLP63_G9z zG-;h+ǘGDi7P;k̀!^ BXTz38tMGP<YA;H5I\L*i$, ݓH/TIT9ˇ"LѴθ}A F|efamb881_ݍU|&, ӭm p~б7j9@zGi r-}ڬݽu?(0zGab8CfQdmBXd~$g;LsP=uYבnˤ0SA4*gQ `b/-2Nq8 XÎKqPHEPv[X,= .tm( ݙMьfBtq4< |eAȭMgqy)}h{I?knoRg8~{zak|>>Nu( Jp nYL~\9SqO@fY9-Q jeͲ -fAw9+ ŝ[$@k#٦f< Rugj˂H'$PAu +@T3ҁ/Tk)\zy2Oex 5o_nypB3 Z{Y67No| ,,,ND30^;2lu"1íJvy;jCI[|@&"rJV6O-5`*H ?U-Ħa6N7e"ҝ/Ct_xŤAm8m^f+@t)!B#"jԥM tc:x>yc%^(=i_a׫ ۙ#Z% B|b.qlS+܁"vخg}Z<ݥdߖ}Խaɱ &>Dnϸ(K2*& ;g"6u֒b:p[%mP>ض;MJvwgOQPT,7@dq&y9)Dy9`:練⹤p3rQhLugpVqJ7KAZ}c:]:v1N-,kآeo2B BMGDT>˶,u7b W}<PTߧY4d"." b*$JyĢ?=a^9Su1v)?Km>@dI|@q !pqi0<)6ȭΛfD w-jT_]v \ϸh[x$G>fJt @+uXؓ.uPd 8C׵${4і',aa3~lAw6HoKLkd9Aiha5Q̽vWŚ/HRHk f21fqH\c鼽Ԯdi|9[qmg H Ay͙xdH݂Ǩ\) 4[zym o4 $FQ;E?ɀgaB4^^YsCk9 ٢P6XTQxw\of``l+ ޑN cja2lC 6V%bl?ŒRyWP|T{E䧄"uи[<| 6UKJBC߅V~ՌZl"3pd#m NqѨ3>_-nú']`78fͽt3>fb FS%vX^ ů1w M*=,,-~)Dfn.=j&u!{EM@Dx; 3Bn^͵5,K@LA9M k܄ ߗZ $p%;:mz\1C2{g4FL|K%YQJ, #IG@Dz`0RH@Ghsr?g$V1M֗` a~֮4Y?<`&+=ͬqQOot}1Zg\FzHXeZl?.@d~k%*ҷ|Mk{ q v8m@JT_^evAn̪C~-(jyLo8.!}E8F "g@|<Cˆ9TjjK̼'v*R>i #vg* T: <_wMtK'H*jINv*oA!+bjr'%6_w*-!k>d Tw'`٨vĄ=+]Mm *θ?5D逑ۍhVї%?(ϹM }JUC PGENe ۅ/B!\cí ,Q7U(c5:J:\Ǒ9_G%˲-@&6P+EaWg o2k|T[F:A̛wL9V%Fe.z{IlsEFjژ,:4aW;+G/n\зoM}' M ˝f;']/ 8_$ɖNQuʊ>UOSFj.uȥIڮyϿ^A 8B[2"XeLE/xI~ɔb}sшD_Oh(! 8f[WP+\kgH.8햹=3t5Z1ff"S.k\}YlVrX.fL|t^S^vŬ_cKP3KCz9%% )PKg>l{y#v#8]\|_:S7z2*~ǯBeH@`4$_[J߬,C^9l2tOوInZT.A%Eg⣇p^fvOٍWAOp F^rlr䢷+ ~ *aj)@CYD'j ^rY-6QZ 7ʫW>_ ˥G1KϪLӟ2ka1*,\a뷹f"~5:%F5PjCNme]A 't(NkWGqp[Lfy/&y/ƴ1Db=&`:ED=`mߓ_&"Sڷ9'&MSUà`vIHo5*ܺ'"x?'4 /enBKϸ϶<-BU?:W~0gXDbJi2)!\v{0BTA8g.Y;>E挐lIyAOoORx;b #\v gqT6=EpH'IŖa]cʢ ThN=VA~m{"N`(̘(3+T^l zV-cdt3orL}UQY8춓͆+kokB\ֳLRޏjĒp/[@3YhP0w{xeQ K.2mk<+v6ꈁOx3- }o*L|ol늪h&Qv`* #k Cbb֧jt `T;|t*eY'S|PXPLiR #!< W$UgJ$+ l_p^ηN@1f/ tlٙgYToi092/:QSV7/ERs+4OV|”n*Z˅kQ1\佳wJCҔh"2 zW"K%svq5@$I0OƬ>>#NS~ zpvKh nc}rPVl~{C52zȲ !}^۳r{~ IkaEq]p&8[էM( ·PnLֹ{O<vbd#s%YALgล5f=keƂCeEH/m%O~+>ky]/uO79y?I:ã|$L9Cnj!-UdA!otӡ]{5,MjգEbXEیTAvCW F}"\aYc4^i]ד1 Z8-G=lͱMS[__M)"7jXܼPT0TX̫=AVOaWK$qLcGA1A-sVh`VF]|,ܡmF/UzӿDD;IsE',=hkAyJKVyV\PjZ## jҖ/Y<<"`8[3d]75ɥu%F g9pc1Pw++闩0p%BFLG| +-x3u#2SXũ%9mz>[pWTWtCLy+1VD^<s\Հ֯#r Ms{`歉.q m5Ł{49Q2FmZYzX|ܓ3/qa{2şYG!=΅]6 =X {b) DΣ4a 5Wǜ:/`uMqVAP[5] }DFt`)YKHYvH:16.`48MQxF$vurFS)nL#j$-4[&37`Y3f-IgsL+ɢj;_`u0 %kWAo] T> ڌO{#/nZi>t'.#+ u"?gp N6[٢;hsfiW*^)Yڮ\we {zSݡJS *v=pSZ'1Uv"-,e' hdeƺP:y?Ķdx’N 2"5Znkb7܊.p4ccٓyߘI1f̐ˣat˾UicTͼa ء2m .S m"NE &~ZoSVWEx@ /~ D98%BITàFiSڃSpSpPSNrcQO^M= 瞭f+2=tZB~: n*yQ^qeIFg!alL^Uœ}\39,5NlNݫt;0Pz<- M-(?h&J@3#@>Hxqj$-vR?!kD˂ 0Utv)=Ȣ_R  4aF``鞛IdMW `c"7ޑj(x! ԍWrH%~.y-;_Qbݟ*>tT8f+{Ewa:wOKDfx)~;q}:qHלgUm7e/uk^ ̆5\_HzWUvYjc S3^&eoׯ^u RoXKhQ߸vsJgVgK.^TD\j{>`ǛqƾNc KME"5 o%ҟn (EŠA ߦ?-o8߼.>wU8)rȔ'uLY"kJ0(L(=>ȇ;#lI{k80a #=q^Ś[%,aKa85Ӡ#6پ8N@)[XիAoOz!8ov{xsjmC)'=lFo =BCl?,lJPX(.nڎ)}]N*2Y'p+zGԞU£vB<_WHEA^[?uMpTu 5Ļ2]a3ZNy][g:?|/]͜=~nbOCByPp1P >XJ*u(Kcp9դW]Qeۆ=c%j]!IFDvZ\^<2?_4eD2DW2(Ǵ旞x=<qV5A[?^]pJfoIa hhWO>/STpIg4B=$Gv>#CUmܸ_]O`0YಘGHrk{ _>=W_'꼏O-h I)?| vԤqPUL됀v\Tw9D+#:6- v!Lo|Űeh'dGNᢺtJZ; }Y0y,ED2Fh8,FaL'O ·-.' |͢W>7e,;Z!x`8u[$1p 傌i[aȼrl0%kWUNhT_PRc@h#k0c]m@$."'˩(?®݁hs~bB\!qo`bqv';-f+M 0B[3dWPvUʚQf~N=@MHx8T-G˧D` ϱ`xބSu]E?9_6 0imu_8Pw:`eR=.ӞppeiRBM62vOSHG'go(" ţ_W@.;ȤjhnR{x*~p߸v6޸k{/oVأBxa+RgUR_^3.7;?D 3_8RviNdRn=F?v۳*FNpG7]wX\zsk= }r(7 B{^~A镘Y#$ojF⁁|v׳P: ͊|[E =?$LMcv7ޤ$MrEju!^VJRMXrI}|NR!I(T>( Qts&|Ǭ%Fz .,; J˸ ZQ;N%*ZM`laCzO n2 ҪVyZr!$=v>; 8O$氬(\;">?GRrnC |t@jI.ia.T?W1EҊZݹFD lXxk*QUR"۱=1JkY^3c\= Ս2h *U0t W>f7JX﹬|J4W7c5|"('kX!Ds/fN2;>G&H!6C*bgԲm*7Biepv"ߘF)acR:O8XPuYd>ٓ@",LĵJn@o6?Ӯ|rT'fc 6klY(7b3%I*7 FF*Ԣ<`)@sPMW-M]p5oJTKH)$RMG;w5MUCwуE+ܝ}qm $Iw?B' Low91]N⺰X"(j~b02m;sքZ}bY"#GBtp0z k,l-~nzyMסNc2٣ _L-!O\gwK[>F03]A&95d.biJ-& G6ާuʎp-5SGTF1 F=إ!]BEdw6~Konˢ,̾W ^^V"-'R>&;ʜ?vSb_h?S8/;'W׾WFf`f`@P5N*z/9A7~}EU)0Er&q LUr^ˈRc(ϒJP_1Mf|wQvO$;2j>eONCP`~Yz`:M a|U\OKAN 9J==|꽤rkX3xu@-vBau?fՀ.-vxșZ?Sh" z=1%4R@DwwQ+Tnwrs. w2.7$?#c?kR8ݡ 18U LifJI(}_D8ٶUv13m /wJQKr8 ;2u0 5?Ψ'ƅ6;ݜLAҎ5o6^v{JӥQV&L(Ī P+e ZoOɖtzؘ>Ʀm"FP&3+M*|vchDWw<4Q=e@^:A"{&N 2zk@j jrAOS #cI/۾{^$*?s`To+zse.Ub0FK8^F5Fr1txh;8> vKY$Qæ[8bC;9ӽlNEk}[5P;BM`SQd0kWKTVL;D^NF,Q_۠_0y.D-=5G78x;JmGƅԕQ:(؄%lq9ѿ{ɜJ8m3#PC)m.LJo+~?/ s@=@ͷnk/seAI*_824&nɪ6Hُh:uR)(ix B>(b$H>P\)u+OĐ[ eٻ Qtk 8ջ3jW瀵" ̱c&;ƕ̏N5Yfit5ux95XYk33ò.ب/;(_qs4"hdٟ ʩWMGp4<уg|'_>H2ac8ⅻv9N:rU~t&\"}eZ!t\Z7pFУ.u[Q$vhh?)dCM悽[ Ÿ .zC_̙d= c[v!|9q%jF.T*k YN]$I˞@Ȏaj^v q; GK̥IŲ | ̎ss4{OYPۘ]G'O%ba0߶l   7Uؒ7"3e+qVVZb.L$J;G9O?8XKc:yn;'g,i=SC:ܘ[ѝԓ}e}1ۖyZLJ'9˧:ocDWژMB@ `+B%كA3NJ#h0/ie<6SU:IO]\9~[Q;.4>&Pqx[Sa,x.&j"rQ0q]6}L2DXM@w*@z$?S'[u$@ƏM1KNK`,f+>Uj/{Smi &NNIڜԭޡTXtl3UW+bs/hf^%]@&q`_ n];)DX C6VشjbQKa-[(WE/OݸG)p|]gyû"*k=O, қYkp3=!Hx&Pi'_V|醌3cnpՈ|ok/|b%D!UeH9|";qu,N8D:bH̉S׫FytZS[<mG qf&0Y= NɊ[MPyN+yxi.urұϪ:ڟzWXΩNA07ٽȄf:0z-L1 ȶM ~y6+o3.\Rv$%*YY$Fٌa'u|9Y79&W)nE6WkeZ):rU/,s+Dtޜ,܌e9=T +9M-` U|LZC` dn0_B n<_p{jIcl1QX@W3,9mǺCl_رl]Koh#© aE~ޔĈBeP-Gmgq=eլhWq(Gt^*0:G %컥#2652v$Ǝ\O;ᗯw1Gz'ekڤ837t  IdZ|S6mpެV8 A.!6AnOTChB*ǦJI |'R) nIk?5kk^Q)`tI` 6ᆵƉ53oi#L͋ɴ9 ou Ctwඖ5b+%.&@(| Òx5)PsqX+[C0)2}{vfe**<=^FdJd> ݰ㾤(Lnt[Ǚ2p2Ԥemؼ* [qiQԫV`\ E$2GtAZx 0&s99_{?GXgOXeO̰5r5Qٛ\iwg-NZoרPaRH(*šx3S! @6*`?U6P;0ԙLss*JglD+Ö|>][C4ĝ)60qu^!ki Vn@~8c(Wzju&l αa_004^ WD*,rjj{;ޫƭr1_pJ<x.k azG:t9١;v6\1A|Q4(U+%NO` 5c w3_V踟^(IMUC AKaP5gc͕mjˇ.?R K*n_PH4Rdٮu$*>\u; 4Pt"*_w#;i1%<~ơ4 8.oaBFJ\X "L>Y$W+iT kP}Mlՠ࠮Zl,fKrGJ*Wז+f~lOa#h]Wgk-X PT}A%o5r<72 aϩ^mof" yTbM|=Fu$XLT53(,mwzsn_.R^p{ek"qz(8$xgFD$ 3z\+ wU^2STptinm~(OR-!t?%Vg5veQ^xiz'0Ou?౥t/$Al0c<82ζN{ɻ+O5dI 5%~,0z٤Z;:h-=$aF>"z|yIɼ}''#^3eS=՜fѿ1R$bkgxÈnC& x=w~W֞Yg%$FMȝ9`{hrma粊/=q;pLo)|Vhb$I/)8P^^v$y$[Y]]V ֧ yNm쁎*;]S2DvszP26ilr}ՏޥvRPNMG(f!plJWC9vM)_\US-HlߋRŗ F+:z~7qGW(MAk(dAI?aO.]XǏ4rЭ|)}|Dz^{],PlCzAo3u~NeM.Y٧LߡBIIsBc)bݳt~vK~}x2%㿄`o#mSth3m<=APl,52.Go;MpE5qbˆ\P5"Gbz"J柂0ttr|i;䘙6QMZd*骁W&]Z&yJBxl* \VY򑍄=]_'{ޑ*˜+݌Q{BDžep xƙ0aEaV4wI*c :pasgAO|3,]6k3jC{;$G!i%փ ɇ /c} &?{+nu wg |4 @ `> 6vD"]h/02WKc}02n1r}/j̱iغIl>/tf3qLI\8`τL[^1N'Z)u=/NWZ_bFnߘݏךĝ I酃b BW WҘ].dFY{iuI,|E`d +I So^ ~/% <7A&cXI$mȍA +3@2 I 9AS0zzElZkYabi8ʧcQhTy-; -7l=sRt hbw!D]TNy+7Qx5-#?T>p-ۊ qO!"9]dycu ,,D8^Օ/56[m]pU0pQH<)?N k˱AS/-R)Ԑ a(jܸds&{'\@RE+GU+jj,6{jJn;p d+M15^0T82 jќ)C}C# :vgr!_ m[dy0SHywmSEG }=1HA7ܘ1F4Gb0Ғ G(\v9t.6TM._Zد\$Y镢d9@͈Mc Q_34&zdҙBc}jN~ LFs 0ݾGN[ 0.m|=|}E$-d[;@*sJ/.&dnE@CID\@68~&6?6p=׏mBMARu~ǯyًO(]y 4Ҟއ.ck} 󚛈Q'"jE(<>A,o?po=hU=I ߆JPH)ڒ8 ЂFL۴uny)X7IS臗Zl_3* +SiPLPw(꓏&:Ε%oiV>Mn0*lo֯ v D:/;?!gTBrNRR19oy;M[0O-ȟ+[ë"ZdeMiކP~qS1q2z-8@$E6w|3k98<$Ѱ0K)RPYZQ #?w74j(YVkCiY$w^O/ L%ZeZ$-Q`E{QLN=ݽCeJ[g%P1y[f8cx?4 8xA4!#F,?ۈ7ZkD"fgqlk{ JV#٫?<+ݮ]i{*F1p\y3}"54W5XVM#PnxgYd R6诩~ER#taBɷ2(<'vmO,s\xQp/~yt?=_C NP`u*{Pྼ@ VB%oҔ6؇_Y{f8ǡQ |;ep]gY>zbо%}uU>3m#n^9 *ڔYb =jdUVnu&:9kT&KDTl}LZzdbN+mŅbn1w{Haތ5 mmFh ԽR|x'GcX0-㜖3NLKl-S!skfYgȍdT>D%(h4ԼU[vy>#sU,d/i q%$s)/kOPjс/wTpeNQIߚ@,BQK2նcm0O4h.4CeƴI\|g:r0.Pjgs ;вN׆;5_axx69JVo O<@=qFn7CowLasNM%'6nE*x",'W )sP8baN,E=J,@;--BeQȆy;H^ ߎl5N9rYƘL:++D8ǝ{v%]_JxCDOQr {Vx漉daYgܻktdߖ8p]_+VD;Hb*ݷdBao }m _4^d=Ny]Gw"eޱ'xg(KdWHGN*(%2'zH9يb|%b⬦#NJ"Ynݵ$'[DUm1/|Z[ubnh!tl`Cfq%ӡ$d|{A[Hn.=tӿ6d3π'RLyq9f]JPr&&f-{=3(923:Wm<S$][@ʞt'J^;òiKAb%3txrDXV3& {TaӝS~KAz4K)P>+#pֳ@e2*BF!5^Iւ80V0q- Z{I9{z/\+d;"ydHll($s4Ed0x}*w~ͷ,eo[A(Z|5L[XDQyK;+>wFpTvv˅&JhapfpBJ% VFI>Gn<4aFBcӿ3K&IR7$ԋQ%R6 "Mz q/|"bu/l#A NSZBlhLB"B#XZr(:vz(YwGTu@6^KdYz-D9y ?ւE)n՘,λX#lw@ l}KXMMr#vc[bC6L|ؿ 755] g)C<6.if1(oDRvG6V1j~f 'Ƹԕkm:D\Xm.6rՉ061CT|eۋT)PbJDGKw%vxͻ3\eLPg?:Q k\v$WXX!Rtм;˭x?Qd,[z1<#lv3~3*y}gXYO i<:(T Vi)qj\x!ᛃcb Z?w?mF HDUgp)r̢Xf>Řzi29V41ι Bœrϧq>:zz =]; LSNDW>[u+8IH(OvgHhCJbTC` 5C-Mvs0[i1֊}91@>7SH$^^(uul2*U߭FVsۧfi;KkFz)Vq_k<̄`RIVg@|ҁoVi)&,MFG>I(t~Qo¤W}q Syq ,B˴GUe.T) Aa aW<նoE1U~:2U@Ӽu;@EXּ~"~'⪎W9t4"ΝlHgwW,:&2I W@G@SL]ҖweaDhZЛۜpw f1jM:xBʘl'8˞o'|P~5CY{e_9.`n8!Y$W&!'T8V.^-LaN8;죊M)N($5:G7I؆/ECw7͍3u6DW /#pG|HtZ@x 0@Ү_UF^gvg?#ď(/+@^ Ъ*(cz*Q6^Ȇ7pL&MdO{ :Y\S$V\(v](HQMy Nv' $%ߑطxo>p,=~Bf1{%(M.q1FtBޅE_nb1 1a_!@y&J4@[SqgfE|ON,~:Ymy;l^^=$%o+'=UC4wޛjɩ!{{[}av-l:]m ]4: ZThb( \o-GnTëzl),lU;<h 1kSRG:Ł5t%F\}P$,*om xċz !\xU 3sn57zn= 3q;5PͦNm;sѲz8HvC|l dz_|g*W' V2~_0Eo)"8]CX^POVDA%/6]+M_V؋0ė<%JxA!ɓt-BLG:ٱj4s}7Qc !qꄃRċuqD^dسNujԝ1b'4M? ϠS qᣦ̡MQ69dVqYۤK*U\CFbc@;f宒r{@E+=[dwk*[!'Z 燶Bux3ޟXlleڏޏ+0rc?r4!2ysϫy0% P)/D[5uɀBab<däXM$oA RV p.Pnr2>N…B"2t'DSB}Uڰ,.^6?` B/a/@υ ͵3"sb^9QමXJv6vYu|ڝ/,(-̿S8V..6ŭrTKC:UH'z8p^07+ԊF;xˣaB0W*X+T{5uBFkO]D վ>baJ6ZOVo^A䤕|Ǩ!L,L˥2- g~7HK[$ D3i=,Rw.||թeSeOY`ȟ~J^4) ƾM@9U47o:k#ʊJ"O&4بAx<-?dN,6CZ:+Q:Ѷ~te} ixR+d P>SpNA\AIXTZF͎s^$4]X*!˭pXyB*.Y)+x>y8ŧ_>MIç~U\(ywicΦ9{9sOD7, i- i72H{m$+:l'Yմ:o+ ~_|/PWyţgw_HG }6iDݛoPdJ 4phDG 87oýf<ى$|i|`\;T$WkeK[1 E$9A NIrqo)N-Z4j&ceM_ohJ׬Tm& 5/x GZ)CuxNs*cW\02olkL S9+.E3̡| ?vs(uH; ]>T3HSnT!hH0NbNW=PɎJ . 'ff,ݹdB^lܐ:"WV(&9ۦ䧜ܕqfddte1m*FT:d2Z\LQkYj<&ݽV hOY<ӰwN&G`k-[%"֓5^tE Qy̎ $aUMӋxAf5:NH4OnU?A:R@v1h8Ơ!W;6N\2j3dbk ןOx-D,Cs{r0-,e;Oxvi ]G*\ ԐA|iif9vA7mzJi[jqП$Efm7Ĥ+@ C(|. 1&\PČ"/KEȕ$xy SJls5кd+>eyH|A{nvhnr)Y^(ŽFO(}o@@z; hTNQSHýWŌ5m\z,^܆Wll:`Qia4'ISMzFe77?/!J:pEF/Un>v_H8o 2|"{ɽmϻ f;|_B U,u/Wҁ P"euIaG5M4\q䓨7õX.M('3sRp(y(_!Hp(&!7㗷Dպx|Q]%3P2ǖܝJ+|#Yk <~Z}%EeDN3U䊝Z-xFj% R dK 9N0J̚ ^MHBWRj\J=ZwAi30iò]Ő$'~7b@};s3W6O߯'6a*!G!TS,,pk"~Yv?t >sc$c6+kE!D/+8@Љ2pTԕujZ%:_Ejş[_*rƝئ!j֟Qba8=z|ٟ2Gqb?MTj;G̽E([q;3C$]!Pi -n QV9 y{].Q8]Yj~̋6#))`e_!,2񣎈BeF+rW gSP9HeJ].gؕ#-5L+?-DFj">? =cP`/g m/l!ʲZ@{7̇^-/Xë |<9t( ٟcF.tmkŚ@'Q(+Mjv0 ,Ja.Ć AֹNC<64^%%y9{nR 7fHSMI6YA3euGO}j1g+ο_iVݍZWpZDiXMna%!1a rjI*[ڒnxĠD@/bV r7tyt\8L{;3zdKjt >CZm쉺~_XH/zaxN ًcZ(Ų D),lmꞅ(r_>V8a>=I^iRGG8 /q{߂a"%N9dh)W}X44! r]zߺpg n ư` C9U嫵ڮFpr>ٜH+fD Qw QS-׬xq(q5D4)YqpQk50_5 Xad*D. @ 8^\vAlq'7ӔQI擗8w€og%jv؏&|Ҧ51͞ `0μkҟ6^v{h79 UE8"; csrT{ߏnV%HGH+j ~boG? ?# <"}o#~K?ŗ{KRYIpkO\i-pO~!@T[g pο=U8e@R,Z<`C0͗_uh>xG3f>3XD˄%~;;P8叐\ͰVoT>VzL]YZ\s'=7|Jh….nuEB F1ph5Ɇho6l074" $Ə>jrŨ'/_55 CҒ:sIW`J)¼Hvg749k[\Y&-񑄷FKf>.D\83}ћkA[R.,^+9 פR?fy+vN,> {w9!%Lƕ+:ș&NIzl{']9b!,>-ruifh9$=|Oq;v v\]6pʖߧ;4l ɼmh/$ =$2?Krk IgCl1RGQR04RHu<碳Pn7fj2O8>Aw(0H"zj44ǯ㴎VŇWZ]*|` U8R1U<:w #<˔ J3P)9iEOYRg^骺.>-e?;܊oe$,{dxN_>S,:R j PMwY8ta >p *=E;&L Z?c#aunuAĺ _h۲sgvVbB]7-TY7H4^%ts6P=48 VV; vV&.j>PWå;m{4A~LVC\FY8 I "NO}aX? R)<%"a|18 [p- *z[_ABLhSOV4{c4 p@4ECF"f7Uڹ 3Uz;Ngchzu;2vf#!{= mc!3SoQFkNJiAܿboM\ q]IrIxqwW6Oj DѲޱad6ޔo:_D+"#ht+(rW ǝe3k %Qt*:9ECv˹+w&t5J;TEi&m N- n›.>xDKg[=r߇&$ŶyKx|4QL\}]VCəhk'ǡRuQ$ZPv[s G}deʜ){f:/ 9rˈƘM V|$'p ]΢,/ u;ԅ+p.dOWl i SD[cV%O&&pf^*dUʴfꆪQ 4ejDpºC5Μ%X\1'Z"(TH NO*-W\8򝗻rĢ!߫y ZޭS'uTՉ!gWB-+4- ODzאo:6#JR+?P;#IZ8Rkoh +#/܊0+_c9Sd-R䡨>"KC'5"ZͱIM ޘ,kUW#k$Dyq̧T[qmة2d3~U~B3_tu;ښ̎ h[l8JJ]X㸓5X_f;x 6Y,A!=L^A$+~y_t "Q`Si .QΓ7HuChu_]]DdaDq{%*]@"T+%LpHZ;kY~9Wx'Djt"5= ʅºXVSA]PhrEfqQn?)RM!w'l˱5ih$# bqg܂whj+ G-U\8;SP氿t|Jh.dQ8g8g \wMC&jPMoehIFqmJCJ_˲B?-~݀倚.HHӪ2dtJFA:׶w1юoXӵyi^bOFЂ.y:q4wL8]drNLL3FNBb3mmof1l|`s}!ǂqҾPBtNz׷D,IY• 9+8dЊPUH TB{pbC]daj-Ϝ>u{ip`ҜXc24 u?zd4F"2|jV+%*E#sp2CƕbTGahp7][N˪DbǴPL D0GK+t}M[E㊴Zп~$p^Boᴔ.$%ʾVgJ+NU;[,:+R2yҐPO rwt˰3+-X$IqvOvN7KX vEҐzl8+o(DlY`b5C16ʍqO$^!Q&L~7nkw5wvb$0z1hKfў!R#f٧Uxzm. ]kߛ雧[Gm)mG#Sua +(_vAQBX'mЖ9Sw4+pب> @_Ɋ/g1c9!h}Կx9EuN0gPf40FG|11.N ~oe+Y_š#{#13mvX\6uk^{5)ev dQ26>n!UcQaU/ۺ`4D1, K]*5/21%>#D} ij`0l떞2rE,n<wKi^$?|.xm_Dx͋=9?`.Xa HyMj\Cx\l͑ +m[zj:|CkI !mV7VudLu<@:}¡&H+|.SkT:HJo97rVksDl6,0@:6t)KNWGpSrriT";]wX{Ƥ% *9zkS!q_ դ HaTP v#ѥwv*S([ `xUՅu)b[3Pfl5ҋ3j+jNyZF8"tJr]j|5dZ!U]"3A$)tYʐZzQ"}(st%|cF~pV!6bjS9|(_h'Өlv|V̽q}p-ciu׬[ǽ)M䍩H̤.x}s3BмJraͫ ,<tg] 4R VPZYa+ v,;#3:'n0Wb&t,5JEJEBdTZ$2yz'< w'JLR4_"\'W+z.C#eb_$T培~O0J LLO qX25\8vݓ"6MHCo0\#UcUWha $&Hr4؂GUG^ϟR#tԐDcNefgsVՉ4+?rj+Ir$ IU.I-~6&5p2 \`-aߔ~a¿]F LH-n!x_dud>m @72wL8 iEN̬&jhֈJ M_tMݐVl0Z?C WHW[fb^nxt9 '}!Mԇw%oKC+bFTjQ `X #P\Le:!QPxB*Ra2N|;;iKY {wCQkhuxEbL` )ڸ=GM#K6+uu'$n ,pVq }Y3}ri$]r[c1[j(j]ωNS MBhGs`s~On6t^PN# s?qCRzHVgp?s9+.^")MOeOAq >NPWzHE]Ak:^tw <[BQ>'/=>jd 哋,e=pgkLh_aNв4_i1zȤE olVU d3֖SOTz]}^ =_y bzdM)o n,Î5e4&̵[om 5a?cW|y N?;7SG5F&}Wz*$g1'&U<ҟVx Q=K.ǯtyu7>H& P-2j'}z PUjiJXG6 IG,ISCℓk\;C ^RFO%?Vd|pJBl ;!z TPB9$BtV̧-܅:{PI/d15="k=,{"T RLjr>яbRB7,?%A=;Cv CձP[ L 'O<|eFޅ$bO7Fum%oݗp?4,|tk*`#UdqsÉ&تI9B;GuWX6J<`AųYr@ў K&Ā{8َ6K8Nsp 󎲪4~F4t[OD-1rU.J(G~:֛8 Co G+A՜+le8\ 崤'vj'Wy̟5G%TEOr0ME\kCuS&t^X*'3."-$5<\?)6>"TN&.=&QZD7$R);xS oofyu#CM#%َleWWnf"{ͭSlV!!gepwgpEjb)qu( yg10IH[Gwz; Z)՟E;uSxˎ$H3Ӻu581'7^w 43fdGOca* cE&m:[Ka/AFyTV-Ğk[ uD NYTycBr]Mqxۍ}y8G℄v[ns!MgfÏcbNeСɍZBMzx➾w-d(9tv{ ׇ مF)O>jZܢ[QDrjD"_Zʐ$ !ⅸB{9ӷǣF ljG^x[~Jtz$։ت %pՋ)8mA| VsZTYO=e %H8~NdRQKp'5ي,'?+{ZU@l~p{@\)kcsq#`WQs bܦ1b%Z]D BTal$i8X.$b>N2 ,"$s6z4LNn]t`]xw&( @EmLO){$<3FYJlV$+1*Esݺ[i3 Z6,;BNxxoߜ*pC)1Vl:B=pu*DJdVSZi"|_ppVđ23^)fc$W9 .Kd@dž<%8=Cra=X=MH }h8=$d̸#ͻLAԻhT\Gob㯹^aqc;mjD"\tj_CanV4(Lg*]M@妣:NBUVI؈3zC{?4&k#+ϮJ3?vҹ)v^+/143`A0CXR7zHД|{' 0͉k#FiyB7-8װeE+9Gx шQeFؒn W}9p[-+@GSs#U 8.!o 6ni RSeE:; Sŏ h;,i0+-a嗨s4"8J(tNx뒹 ni<}1.' C4[ݱUg+u( 3T4%4|Y%B)L 7lONh6,wX)eu X׋?T o[CmWPKLA_گ;w28Lg&wSe*.L_af_$,B'1_lŹW9/oa2`&ͣ ?^ח\<:7mdkKgO癁$ ՠT¹^#C@( F?'{?Z.2,yq5e A[Ge% 0Xa\ŕQ'lШ\Ar\nsy kmWɨȋg^bupD/ձ;h&s`pb[ 8Hq5wq= MMvNg}]Ԗ Kk^W`^ Z+ިLsQWoU̓T}lN||Z7P? i ՜~38; OO,bq4R_2\ib-q<P'f:i _T*zv8=rV U~ NS@վfF cjvtV٪Bj^zP>i)d=53$݌.Ӽ4'L7L9?㟫`sr붪|ʞЪn(DcV@?-b.(P CapT㏟ͰNUP2ІTεA%Ʊ|c-Mt82R ϰ?ԑ ՙDpRB6y%6 8i^.3M6WYrS^8)S$O)D]F`eMM(k^hMgBKQ/uZ$N[Sn]IveyŞ :1ֳՖ5ʑw3f+enkYk"Āy$ɽMt63W: Y_oVG7SDp8-Ƭ[[K`R?^sM3͕c嵡.o|gjD xnDbN_%Kuv(U=A@񜬞jm=r]H+ȸ{N;-*-S}51z m3W+AP ]/eNqffo z8 ß+ #'yTVl# Iqb BϧB*sDu|U P{(ObWTS  ]^XknGhߏdR_'dɆ5ѪQ79NʛgQ!as  |c:-,lVFM[XUy}p֔G-# |h (~QYGjK-,m@MQMU$yTiOYFe?1)9!;JC9{I~\ aWތp\sxXפ!%Q.TUHZWKTh:q*o^uB%uK`Hދ4ױΊ{Ish|nWj.0uQ󾵂V 㽰|=ح_Bw{oUW35oS)'0]^K1XiY *=Bs=/5s9.-Ps0s5nĂӴӛ.?/M1E’Rypr*$F'8ƌ>:19c<2ޭ ?x"x<R YUТ)>+ZKllSiEUzϏ+MP ݉WJB00ɓvƪu5gMa$' nꅦR>/CM@.5ZCǚ2*|1W@6h&O4SZV03p$֍R٧bf3 P-WFxxb덼j.o[إ).sI8PgmW|zR3OCINy$Q4w$g;XpY\RPjclMrV&9lU?#LL^܎ۏPWFR>".=Ս6LgXô ghV}U7eGpk|J1^&WJg"|ۋ d6wU,{a14Яt6tj.{V<>6msX@@7x՛k>74x΋`[T$'*]> !<ȃ+Q,˓Ϭ/Wre>bɾrdcXosJ/;3bWU=*\]`e.,5[RK$H2▰wV|%2c؆v#(YhsJGqbE|Bvbd&?jMN"-I ޞrht%#X!QϰG{'J<{ 4B? V`wq=dwTjꏕuL LeV @d4j #ytm>A:gwV;X{JΚ4Պ[wg֗mc'}W}fhW43Dcbh 5ӐWwFXsu# 8|*> @$X1 Je w;'TIV(c4sq%ċ'~t=PKe9s jPT,2:lGhxe``Lۺ{jmV~h N?&[Z"j*6޻.*M,:)”PX~]K?t "K#_EMi0(6 ?縞Xnޘ.(vMEs69/Jy[vt2jzk/ƿ돓+Ʉm UW1rںGxŰ Im p]I>2A7ɛi/:t2O+p1|J\n*BunɹF1[u哭菅> թ$u97VY] zYՅv:hH>0/,˕+ء J*)cΣyXQtPnVjg1~$/twk EnTDUm9vr% X#7$,+`GuC*&^gԖ\}T@YV5g A#+tҌ G1ƾ^7a E׬ 9a{G=ۍ(U!JFAK\ZVۺ(fn!P,0Nv FCNvaC|6{wй1-+tE#t3[^cׄ]@[!,>w+eF7xG9hԷ7Ć|i 4+f3 =29|E1^&?*D3> =ړobsYVEe4QTJ7_/v^ZȚtT&8":Q#Gm@ fw9Rx'jnZ=E+@tSyT[v"ŅG)Ld6H+3;W(D{w$N"5d"u9ew>9\]͑pB qiD~弄c1׫K.w ].V3ԉw8'LANbZ% 7/rMI}l/g ?c$ǁ0GOD!4ڟZ NmI{IO3?SNBK{ϞTl]T9U8Jn}MggP W?'ADΣ}EcR7#UGjWCRd%kx$)!נd87h`tIWHngWgh&~TCU3QBgUR yhs A"c(X",[") V#B0LB٢/&3}Z.zK:7PXA.'3]L%Bb\b2&^t5iPܑH?zKQ iv3%,.7)~1wYiinet JȰExy;fFs_|;hRWڟ1єo#n@]:#B#u%SNte Pʥ-H_Rp[(ŒI3D;$1A..؛<Gš4|P60%EJO+zwLq?;٦P^,VG:9sF,Hmy{#Ej\{Q# 1BAîi 4$3W =m8K$+ZoyѼB#O0hNVO#w LA P8|`6Vˇ_y ۷\Roݠ}z9򫱀Nb5?4.Dfv[rχ; XДnVKH 'fq}02ߜٽ?f뢁)4Qgt|$B!,N4;]'Ƣ+=6-VӰ`>1Ø Y}I :/rH^ܷV 0faeYLWO #w[Gz|Cv`jM!f{+4miд b L4٥bW|$2ËϢ:;8e}~aO*\& 5qrzne4,Ӟ!qP=Ro-Q[.,nxn}+/ۿZ2νTυ _ <| O9Mw_\-q0@zXӜ?R)&Gϵ6'[O^@A3ҋpF暬Ccew|} &G/5!odO5'-NpАiQ@*YpuZc؉& 2w'U\)w:h=TY\,aeF3z.EH$L_hNgV,EH˘̀&{JI8;DTM16PavK!@6$(uD$f1~QLzl|"Gmr|vi# 4js eCz x`ipJ^O XD,>t}"2%nL .R*.idi8eqi :eݔ'Hf!JӒ}B: oh,JS,eRo+,3K~v8YcAJ$y :iT\.3hc@yxٍDi4M=Kܗ&H'g mCk@Y/G=1*y}`UYb%IѬgWz/|ؖi'T/<;bdօ{. o1YA#*hSE'FD1[vEg}S<_;}Ep_"e'o78шq] )zE:13Կ cW,Ţ)*T{09r)<EDZ{a*DYȪWˤEv{+p** S08c({xxu=#vd h=۫d'9qZC2$,*3=ٳ;Y0P0D8ĽR3`@zn{ ny*f^LH5V#=Aj&架}̘<97Jj/!Έc1=$.wnGZY0agxXED̐=פ5ko QP4>Y>z[ Q9 +;m 5dSk-[XÁe6Fv+$ FCfʙ0[v}gV#gB 5 }rXP_e_qJݿ*<ٍYiB2p˷-eyb&GbF}8ؕs誽Axg񰨥3oE!iSWE^KMu_y`HC TmEh4?}YE^EДl9<y,$yO.X {ُ iK9>Y`[i;ogaյ1 0҆ڡPuh<)O><-Dm*M>rkY*NXAgf϶jK^g~~3Zi# <U³˝0 KLF@` T $)lʴ$_YS- A}̐1(Z?hS+dbpé.rHm 휮i砰B@ `.TU{bru8`nuH$s:SS4Sz aPٛ|cFAqSb3ۍסSJlކN[5K RþOOmp@]'"ӐK"ܕ뺠@⤯1H%,Vn岿i'y2^VG܇d7-'nWPB1ta̜bE[UML`>``^bnyuJ(1NCɼQu{NS-^+z:c||-vHrcŵ;peP4jB1^\?o){075MT4*)\.v*6jxWۼOaI |E60,/(sVDTk׍4XRNpFmv.9]H6՛3҇ NOU^T#L-js<b%=QPg8`9Bʯ2 akI %I# I%z7k<-Ořj ̆M_kJ:Q^I^teriۡnIE)Mb@XhcBHl''lt\*/{vKNtS){u<, *xqۼϧ~T`]DM-rNkT5"hi.KQY\tWD"eULz(<&zM;2f㫂v>aa|u;2D-xf󘚿?\'B]d&(Vc5RE'ۜ|;/aUR0\ {.7Zj}apXMa]I"av1UF^C~2<>*Va(Vm`sLk\;VKgwp(lUl4߅S>3jjnS IY۰1%CH́7+P(.n2V{VSz|巅lhRW,Pb|+ jTeUQpWN `Ud.UknʀI۵ XV W]ʨ//0+eM3d3}"}B)ayvg {Yz* Vn :yOj+|(cUkBϦNYSHhz _J_:lB,8Jjb*ԼtAJY)h#3v=mxM+&c`jh| i0ci7Zj~Pfh%x^=f>lzE1K@c*zaW"H3)FoA\#Zԃw,G%T{ n=9brJ FfD\_>ph>b5ȅ3pH+=1ܾY 9~x}@}c;?JNwOKEк-¥^"\p[>3S ns47t X?Țkk a53RxtN1N; :^m+]?ugbDG#i50\vhev4W]E"vggx'GK_7:w}i' 9V%9ɁK'&a(<'1^7 {dtt)bx/0f@z= RXwq.t}qHD5@,..w]@3a(9ΐȝ"˰egg_>B;Gkc.M=nbIxCփ L1JJ(ր? m 'ꂙw3}ln6u[Ҝ$Rw}@(:ғb!0 {sIfhʀSQUyj5{eB./wJ$dɜ,;}ӉZ 3-)kK@pxʤU4=LA/4Sn8c%~?9J2 hOCfH%)TFqyPڧԭ^u,k`T^E5ܢ|GvZtva"6>>VqhzoC#fdYhkZsoy5PY~AVfd-XqHoQ1oU=w+tN*V&eR9C >QԶw~xJ0'N_0m1gTJ+Hu-cΡ=gϪ^Ŷk$ ܄@"}vUqul ͣύ-SAsO0WF/$@O:GBEO7r,V3(V6e,T: /ⵍ*lhMsʶ3ȬP)ޑ KKx{Jgm`)!>^JbC؄rQoז>0NwTHINJӫ8]A]Q3JؠɂfCRzHėn+ԡh=%np1|z:Nw-'0ZӢbGINa`&#;vGZ>r,mLͨ11^e"1zW'-մ%q0>\9ZN`ǰ֭W|{u 爭$04e$zyBlh2 ICFe5l*rmLf֨y%\A^U p0qpyȈ򃢋w;?}ツD1 ֒4(2[Ͱgf5;r`F\xG5'Ll}a{/{EFX!J1yaL1;yj+pe)@8Ϙbm F۬k ёy { j-sf0&v,:<IzX=S= ғ6DMTrYg`I%|hЬs 0/nmqŭ+ttycsV\ͷۑ= ! {c`HYjlCk^_EBW RW(_lAŠ7|5F jtbVM Di= R[Uʯ)R_NQcv/.%.Cb CnŔNgI?kpⰟ uA=NdŵY E0)P5/$]5{2 &S%IHEcr߫pw jA#7MIrbc&Ӓ$N0va^-C)9i :4&5 Ķi_piu9{h%,r#L[ qm xΖ [JԛRX}P*m*5X5I @u6 sӈ] oi/e L1ν8#ʋ$15Oi~OYexG\s~_nPd"yˡI_WP U˚F#BL!4zaĩji&/=z7zvTF1{Tc Lhփ:ЂnPi5Ƭ:3W.uaϳ'&˂zSSFC3Hd-n@C"1c`v4FvVW>>ZC'&ozH/HHv5@S璝kH֟ũKw[LzǬjb#}n2oT/z[KsRaum0|'G6>֤*wndkrVU}x_b'y2{|L6=95y1&a6M> %" {8C[Mn4Z܌?!cGɧ\KGB^yWmwlݭVlh֜[;u'P}6nv02#@VD)PaUCL=c,鐨 H1 0bh⣐&3|xOn:?zI-{xKqӞK^ehIt؉̯g 9AnT<)N$ $4Nb3H2FT1p JIbIDK(bNӤp x9$WݔRt3h.Z_=8oވM{kn pۜf(0 p;a>ڑS5u WfOZqNl4/:+\4kE'Ε%NrR^Ǣʺ8:wZ?/8\1w6r3{=8ImL}tʣF0ISTf`$4%8jߧش{̉^!jkb⽔y4.Ѫl3zO}+MWet_|{srKh0ٟvXNS_-в&#<}_Y>miT?O}6o MD~Ε( .*'ֱ ?gji<+;YPXM]Qt` 䕰 tnK0g^~ޑflj,Ra~[7]G"׿hv6S"{>G I[_iBdնRm%ެ}P x>|]TX}EcI%8侹LE(=>Ӻ\2":}rMB j20>OyhyuA7{"?Vs!݈2:hBO} |0[{o{4u}7h"cD 4QŢu;.ōXH@BSܳUѱf+BL=Ju&fJV# 0@gn1?ܾ//ݟGcX>bVQTMZp0DhI<@NR( t8>bfzF2~nV-EqJЄ4c nH+vVV|*eRӧ]H{fzu,KTx~yF0#}J->D9D5Ͱfù`Q)x"Gjqgf)c+V |1֢8W{5ڙW=i3;4rKx|g㡢jgι؆%x과kll6~ //)x>)1 B6w+DzːMVJVufA 49ٮdjHx RTx~(_S FCO7wI^~f Sa ݔWuZ}E/8yvF{5/ j ^D>P -FRf?ZyuەIzǓ!&;>O?)R4Ab(Mh'LF-`N2svK@LU VcCb<г܋Ėʗؕ UދOp|{ոs{%ZZOޅ'ZtdT[akjW}>g;3!uKд/ʪϧZnT~V׻HK-JX> =*TrpD-)uwq.T \ P5kKg;1Tsekc-z vR&]~:g/0(Ϝ~A2m ^#}ECG7?.4IO xWdElIy s`gAz=t>޷'g.\SH:_+EDED8}kXZyB֩VS\qs$s}˅f\gԇnk- w?|#۶3 BRn]sЈ_U\1UOe J{>}U{Lo;T3%Z" (=?kAzި nve<CWD$S/޻Sт^hFQO$]!ODiC}(Z[k+ч&/.畷 f<%d:EsdN5mYfzy[z,}.'UDYբ FE5[_\GcCؐOm( ' ^s_C"Tl\6䂓}o3_JE`Oi4YmH ( gz+q*S)oγ@)r6y9cQFtڕ+h-jKW>QH[tM ʛ8e-CMNVNƚգz&8b)[]G@)bƪŶRN&kCtҲ:>hb"gWA{L*J4C`SJo{.SwyF8ܵʽJv9{|jipQw.>ޜ~?©}=K)qd:a<^kZAxu0ة ܢ6UP6ܺP2!S&5)iQ)̋@U?yX TΊ5I BQJX%yDi_g,J90?)S%b]ϱ7{DEv3JFAJLd8߂롁nh0 AYꒌ™8H8ee+@H$E!AIEn6u :Rp.=VPVtkV姞JdWS_5)4>P/7?fʰp\CȪ[2U.+]btZ.Z 0rd[!RC A:?p[B* ޿38"ht,<Pךu[V2Lj.U)0x> í^5 \Ӻ@K}EXm%6ޣBM) `uԠ)ϞAI5?ә=|kMt-JLE#,$X)0]NJԲLm ڞnmrhTʶ*盙nV`ػ۷sXRRB/ #x%qnii'?aڟ6s^8q$ m"5.)I@Cfev6g#y:eN>A\:fdI&IFb41ވ_|n*E=yZ(wh|4qTX;ۤзԖERp4Jm (kb#?q9q<qoOr 6 gֆg"=Z ,I叶(ʭ߷Gqg3¦I\~%ϧV)-};e? P$:p %aae9" (k|iM<{l`3 FҡyD-#-a. ;@&/1cC98`e/]`޼huI7Wq9|kK)}:X "zBR?$4)izn`pV**+#@Y LEW| -&Y;R˵,mk}#P[P?"# OJB-_ ۋ"ܠ"(gwȸ<&0ގPގ߫+/]ѷuv&,.s/w9{VD[DecVx5olS89Sh%f"A;Ή5Z"!Г+0q6hAW/ <|_m m}1diH}/4W^g8=دD it!'cw^ ?4D|tc)PkzW$GR- :>b\X,^+]k+yN'<AyFb,~BŚCzA7g[BXɗ;3]J-Da  y{0cM 7QNFxYRt}M|+vGY)cшI)`JyU-jLW,X+E!\~R+H7ʸ榗O%O_@T*AzCXȝ&qI/ЯYofmZGWr;r<&#|#~%i S&0A5=\ P)_IYܠ^'|&ȭЏ9>-a #tTu0peU8'D(PP uv؆frY^\/0]jLBv?4%!AaU&Oc;Q%<5J tE}m &@Nw6Pav[:L~ 8agF1&M[Q5Ic]a::ZJ&sX.1{+4/"pg+lmyxTs@`'v1kv VKeSau8s8q7WgsPt˓D}V#>銉 }xSC˭W('kE=a%DldZꜣP2Zy ެ/֔ k|࢖w؎xa7t^k $ڈӓ14=Tb%5$;M7׫kchM a&ӥA {getfmYn-0(e7/+u`| Nztl+R"XHve)Biڌ=Oa }Ea~&O5z>9=Q?:˅h?ZnbûiP$Dѧ/3@odzJǧمLk9SOq$cRYb޶sGBI~5`t_| fQ]?\z–TmZmHm dA2V$]YZ0GLbN] 1O)k<|;L w[OXlPuXeVpA<H;[I훖EB K^4}؛/.Wg " іcZz+/#R Izvָkfi5@`F7 *خZuXskFSLtCɿUr (I怆ᜰ[a^ ![O9Q̭xsfȇfAn6@]PۊZpIⰾxIг ']FAXOYmāBO5I gēM$[ةTދ7i|*i!;~ ?!@y#ǓťlY[%]6(i| K<y=޳t<~W)QJjro̽ ߋJ5)%ǞzC?4+sH8⛪I5m[S1fTUO.)f 39}F(Ќwereﭾ <}hpxR:# _P!f3LG#IéTc}c%$Y4*λH{\h"bjADfP!>?$Ī{x  `c2oUp]>rs14ﱖ7W(_Z.Q: I@9* Z879by]~s\nk81 GxC4|3)9`9: #vL`Ph!~K}tkbs!'u6K9\O)-ʼnkgmU<^Թ>gžqd THVVƶ:VSk4 _}^S݀ WNݺ<Ѧ&_'/z}{47ja`>!kl `<2N,4Vy CJȧnvG`.}HZ$-y3,kw,>Evw0ɥmyj¥rmr<)9ҼU]w7p|5σH*cdWǥlxFAj3Tv*[k@ w1PBؐ͢&L,&͏؝toɪAŸY$vkn=F뒝XxhMȻjj+0,m~yz$辯@,{Kyj=,Bv3c&6H8V[W= Xe>\e[BAN԰1&wg7*>j7*LypOpGok q)pw+*~Sa«ݒ q_2}N,or-M?2Z4iVOorN`U wJsŖh3r经‘gcQ.xG2͓ua_UgSxQ scﹾS$$I >akH6<͑w¸;2w ifցi]DUMh#IPO\KQ0˴ބRr`J;%)"vYB{K}ڇdU{'Y}@a`GC¼V#*ARNxW: =ײRjD{4^ 3̇PPT>X)Va$U睨-ɨxyVa>.'A)iTq/k/jʭͤ޷Z籑5BrbgUPt/4E n{[NsP2evuUʭטVmjᦓ1 {Xəx0B^91Z=;E<` Bﰈxd  ,,daSML VM6$7F(9m ufR4fNKj5QS4x~/|9;ۿ"4ؔO;o:7gJ,.[ <~j%Kus_˘B|ɒaO&}C/с1W?t|9 ^ Bj+覷᥽>}`K~jaRFe6ʃ<2iwZГroCG $\ d*oml]Ehm,'5n Yo P{AH\h"  K>Pqf.u쵚-bpdv_56(tmǒR Z#,|绞"J53tE?0!p8̑J(QGQb:t[]؄p&z_@$u9 yzd`[h;۰߻#?zif*RJq(l\n 'w+L(þ4Kdi"N4&TSUm;jH#K^q`n{IF{Hm4D$VڍZ E{e ˫hSxHڬ_ɽ҄WS@m1_MJ*I4+,.#[O?,h{Zp.d\3S,vr:p@HUwUx;*X,#W tS\H>b1ַYu+{Jd7Lxjf %~?Ǒ0֕)GL݌D|q./8`|kơWmrbU4Y:f>`JEc]-pfAi ~; $v]#Pt.$x7@\n5*/i_g?s}ٹ`H x>R DtѾs"Q\EoL`u'GrX$}:ˣ>&ƊR<]:]$]8BӾL~a_E\@^Lf7βLP尋8<MV=$N׃7?l2G!Kա|{dcT2p`<X6+Va$|Ճ<Aڦx2,seQO#%gTF4WWr4'XT2 U_*ss !^C=Ptx=mr鸸&fDD[k0l.VKiq ?$RGkUצD&աs}k7 6_%nR\D8 uFu6s4j_Pe}?"Xل|L>K:+,FVZziꕎd1I[fRiL2T\SƘ_ t(f|M}%#[8/ ZN+1#Sp A}Msqs\Ob[/ੱBµv@'Ra,6f煅8Ou+)+X>Y*?fC\10v4־U=,jNi0 kH$(ֻxE"jA)*E[372X cAVn)Bz\~qo*z^QZjp#ywN漽_AnSp.$ڈiH^WFZeQ5C_??$!uB*e{QE;Gnl2r""0}:)%=Օ݀>= h;mG~A6MǯVHcq>xABʯxV/| e@2Z鼽r=͚`](YBS,Lq۵y?\M axO+VŴ[GК"pBYj22ۡ7wj#:DVboS1Mu !R/OT:iNۢmP'5Ob˹q$rQn$jMM?#ئjQb<y8_be}3\lI4qaI2"ϧ1Ћ9{ah r#'4|v>BJ@2 EK4T񯶇^КmIofƈCs 4 nx3gPHq\~1#'o;B;2 kF{YJyvR!;٥4J5+MBݚ<Yf:D\_תm`.ew(Q9zg4ƐKj6۫&]18_T ?`5SOvmD\W¼^ibK ߁/\xK i,9~)`1O.u!6X2oDQ+.c5K`JF1х A6G2]Y 0W|j h-'Y5߷W(Ч}QYq:`'$j0~q{\a7U"Lf5ݡi(&+xâ"@>8Z~)Y`Z2<^ҿEk&ib 㣇m ~&40r 8j_ 6Wi ~ޏ/izPk[' I1 ds. 57%{<]М>R*RX=9#},p_2YĉfP\3o"2б bhFuk%%SrDX 2k猟89ofcݍvrzS'#",Ϝk TrHp k齗2Ʀ APꐰp^B&ZN3} YcsڠB+.죿{1T-eҚCiG eOaZ#g;ԱY2ogh"6 z^VU6#rw &tSyW9ɡejHaYh10MvsDk8pd::qW$z-jhTVgomhҤ31}(G >vs:Ԧ%&n~ZC S[k1bML-srgW *ΥWԒ(b2Haɽh;ոz8љ.3u9t£:y&U%lpJsJ0Qw4r)g2~yUϥ _fPo;`ZԔG({ vG#hoH\CȑيX܂F`[}7߼M̛?h?dQDACz]ԃbгYM]/|(:GE`x++S~e=Wc` H?/'{kۅʔe;،t?O{4l {G@.+<@vZ 6(Ό]*7t`HO5 ;/_i ve1Ny lɟ)x/4j_ } >,VpdQ. eUV`qFj0e\'ISfX)gdȅu [E }WEwu{@T|mIcł3B Ge 3z}'鍯2w!T% ş?v/wK%oVV4Ȭ;a&T;p3YSzKK 8ꡅxa xplmYQ# ңqbtP[acb@L Na DaX8& ˕U`ړlWPrg0jFut97wC*t6l6zvK`5n S==(ۿ|⮃po^ co;&i7=Qi&m)$Ӱj6-Cy[ p <ҧs׷h\A$;5CABz)3aT54CeLE;Y>Dحbԃ 1;@6^/ 9ck;@JoTtޛJpzye_l%a[$R$ d$߶)G=3|Z?ޣL@>+5Uk5fݣϋg8C$vĨQS-\ \,TF1j2F&Ev&JÐWv2Ddv.!,_mj?JIRHj1c[6RZ60u:8K?oz!eLgqQ Wy,c3[LOfo-nMeg]éZmܛhGx(+٘%MY#e.fi%>ň>Oq_Tժc!UtE)4 ӹ>v RU姪IJpѡ͉^yyH,82#fsAf$=]E G83QGhi3li\l~'`C8<_KyoB-)Sڋ(pXs\ +'kdl\9:Uyx}깥{wl5&:Rx>1p`_$F ?tF`EZ Iˈz Ɔsz\ J[ͨ;ǟ?nXٛ4Xh07gCS&FE @ K5cCufF~~5Ad^Xuevt"y\T($ҋ~MHQ<&폆7b2{Q''[Ӵ‹~+Elr6>KXƑGYtP-sRǞ9cX[t:IΆSvx*mSYHqfmqcQ++IsɒqJaduCP`^8+%KePD#%z` j d/ $1y)MYIF%ٵ)l2 :)a!8obb>~og|m~{aSlUT1 6EMQz?hbTG/UØTQγIu(" Gpb9}W:9m3b<%ר crp~.`))E^zѮ[T"uBHgWeɅsI3x%Mfos钙mu0,2`#nF!O5 \uR4> gj*!U%)t?h'k(E 3-ehjEo2xA~:Rd57 K 2J@(>kG~ߚJ Py.uzqҢ](?{shD|/7%D:MѬ4Qzv di :1o}ImHM\"<^j:k&瀥N[ui&DB=,T"NqIKrcwƬi~=p|6`yhJ}QZ Qi%vu~fcz?,CqW/{P(w/b9Sk;2YĒ y 9JQaˉpgǨj ( M#j?Dt|xq*`[lC=NIVrcϺd1C1zqHGO焅&XO#-T4} Du#F7tVơ)d'lߌigEȡQ3bA!3V*w4TĆ,|ll2^(;RKx]Bsd<+-x5~ʻ/Z*~lP#:i|'{`.vi\ҷAy'E'07gWo'e8xU]͛gOפ:\,K؂$?bڤ8,P/&r=XU%B sTţZb)'-@7V{+t:Hq/R'f3$p20wMdls6ZUHPWlA¯Rf S]jAx~',4ϼ0^Zr gfe~A̐} Wd_ֳ:Vz=r\LN+Df<-ZԌg.kږD&J[HOU/rFQ9&SfFeL%mq ώ[N4'ti[܇.c\s?BWX'RY䈱~a4&𲓝E%{]I(WI6]_% ljMM^Ґ0/^^ퟠAV2;]/d^bvJ9pvg#bm^%c)Q-C}4j^$UlhuٸP>tGEhl)U4ZrpTB~;xG"-8^}%ruH²^0-Gi۲C&|?eCSh1}ڲ5ZE^H d"!b{rwzO@z|X a .آf}؀n@:`cPUo%S=`#v8ؘ`lhTw P)|Bi̾n _rޱȦ[16يyZh+x3EzK5)) 9nG>/Ů L:{ZVY6(qa}^NK%ų/oܾ|&_?:-1C*Bi2,cMSvL-8$ԆN[)8=z(*[zd`J.2L baгܪ|T"S702Gb ŧ}霑 ..JV+kۉz֕J`Z١5ԗ7i }=5Q39@ R)YMю;I)k'>rIwN ZQ+d>G^gړջ\=8<9BĴκelv/O%BzEkdڻ=YCy)5.+z=NQlG)Hu|R6'Lhj~؇qȀ4M(ϐGP |_4&W0J0nQjRj*hMOAKخ?/ 8}c GBҖ1mucU$}:Ӟ б.MO?ubNP90ddZk6a# 5!qߎl !%%;yma VD`ľ'y~ HHdK]kh6:@R><FG˘UegPWDGJ.XAd/cVH<ϝxx-Ń( qBiBKa+may_ג "W+pTߥgŰt}YwJTДKcI(IE>!dy{>m ",P ~)kJ[1;$t9Nqۀ/srd2>/LZD̞P&@S͟7ŏsj8*~ԓpZ#CٝqQ>3ܲnF?@j?(, b'J}i1",\W:hיolF:G(YkDAYrzMD8DZ܉! > V9?0[/hO `T̕h Y !fNeL27kAnZܭcS9R+/2D? D +kʗr)'e%ן HpVJrnEc$-1RHd0328z\kGhĴ@Y/-OֽzDѤ^wpUUFJ""4S6dMddΚTCӫ'[Q84 +k.E}I,s'w m)嫆]7BhW-C BkI/GSt4N|4P0{9kP4CkgbsoI/ ՓC _hީW sybY`Q8^Z[ =@㪬6_~;tCPV+u&L_`ng!Tic u{iǯuLuҒ$ 'ψmz6I"aLQyD\ОKHߌ#sh_;ti;ft558WSdy|j_1aey|vUG?"=wʍNC(q< 5eŁuZAl{PHr]WA~ےfךe1L`qk$qUʐ)c eJ ۮ`kW0Qҩ dnhKI,%Dv$|VBd$ɅLW:NgD}|uFqs>_;cOe+ `t9_6<8pNmkд)]G!Sv@b+XeF4OSչe;÷LMmԷuσ*mT]'CAYFIˀ o]x#P]/Rh*b+収Jiuv ';/ wRH"rPy rrL2= 1uMu# X+k׵}g%!Fqzy2o(3gD*y[2=id+Cy 読-JqDU6OM0Tf2UgQW…"e+2tsE@) gIXLѴ.teHnyt&Ժ}8;6-1]TL$V,|v0 ›l-JSJ䴅X΋ƌlx"Tf6f Mx=~>b-72#rK([.%TVf7(އTTJe lχNOS?Tg'\0) >OAi"kcC?3ZS4 Jlz$ې'-D`+W1ou& P=FS$U}EȍfPv s3;/(޸ =`<5(aSJ;NQWvfJ}9 z3nF97_Vdū\?@=@7}IiPm>x=š0H`jO"fy&Tv${ZNCL=G+ykEY@^yQ<[$c.84-.屦  ܮ9IK$ǼkZ~z~Z7nc j K|ȒTh eQ&kJwۢ [v5 \lj]7'u(٬3Ta9sp)DRcҶȌ0$ܾ{٣xˠ ʉi*JdtLFEbmݴvdJг'-D}-vM鏠=2"#*KъHā1ߩ +R.SnG ^/%s+pK nSm2`:1C:$7v W/ w oOHw3n~ i>ރA1VaQ3҅)uலdHwn@h =ysYVB^2  \{en$X3Y{}d˷|onu];WEQ5P)QH39BEc0]$MQZ)R!jLDr*`tkT5S'蒂ϠF< 2&stS1VeeKΣ/aJ$`#o [߂MBY{Ϣ0BPÒ_JԜ}>W)W7O鐠^w04.G)칵rYǪ5LK ͬ2\qtz=3idR3b@o%P00Dh[6gGZPW\9[z[~X }3Gt^(f=h|99y ~U$U&**cٿI@ -{/nA͙ lbߖla&v 2/CmQJ&kBNzyԲG>9Ss S=Jd'[8,az)U? ?C)&OY̻L"E3:Ĝ!n5|c3*ts{fMNfGX6rdmj窀=yY9 2WA囉cz%R¬OF˽8~s cw\UߟaeXqHO\m1P. R h"]QU貕Bwn?#\eG0V@J Ox H];1@e@M[-:'ױ#|'5*K +^j"^A19,׏;č;z3DUxpCI&?&4p=6=mrŨnBKLXqVJ˿SU/KvnGV( 9 :<7}Zm6Ͷx %c%:LJkנ G>/tYqG,3 %GYAQ.MukWK}} ~\7ju5>ӺR-9BaSż|;E%Fcԭt —bs@/2W/3}f/zْ̅"deD>h-"HԨF |B3hȣCl }񅛧yadZ[+T->sQRdc?D8Eгt.%$$S>sjnZT/ef)fnٮ5Ϛ01nATϭ} 1|UھQʕ4{Q9VڋmV )]p!nE"C}ޝ\Og7\ϛ~IR} Q(Le4˺[ / ɓbhIej^QP( lc=~GOR瑯n~lI +To.~HDjS3槄N2=V abg26%HҖ 7'kVO$2˛Zv38gC|CITz/F[ÖtܷzdwZ);|AT.I=ne<)SA6AKe4}U!-u`n|)|0nf9vWz['I=^,TvVs~l{"3w*]cǺeV?d<f{$!K?=Qq_2H.dk1MMk ;sPf' R|NA%[#DCܛ9DX6?(ܵt4IOmV,.CK4(^t`-ʜf+, vB]#t3_ZE̺"j]CrV :S^;畀'&&ёJ:Gw ,-? C)OJ?2?(E!c#{@8jٮlp YB{}V^wȽ;Y8t(msvdA+@4ٔ,9 ]op*t* W :%봵jdM5Z$X|@wڐ_Lilɒ==>Fe3 ,z-ܥxiXA]Ax &M0~Z3XDxY 5O[bDgdrxu5 y:ZkG_t" <Gr_EtA'/);Ѽt?4}? ,uӾDfV{zC7>l YBۙQs`%Aգ;+s7w2D}8*ya9(5CȜ2Vwx^X`BJCi}TЮvs"ZS>Uv+]EzFKZiGM!(|_Jڮ7oT֔y/9ȣE8>hT M0 ̺*(ҝӅW+?خO9ZЦ2ĴupӖafV,~?DQ' |6WPY'Y_<?c5Y= (AJ.b` 3Ѕ"^7~I v"Qn,-9!}lDh0n >hMf)Ljv#h)hN 89;&c2 a῁lcaR=y7ɇmE=V1cI-e))✴: :*;7 P 23dx;\ssa+0V+.5z{.MCnǑ]hMf؉u0R G33wUGuV#.ѶcXJnmÁ%ޘݖn@"y0N7I+%z HZ`wM?4A;H~S[d3>9{ Gj_bsO[N-J߯dND:/gjf.S׃ZG6MJʅm")8HT #Q 0 OU3fɅcSMJYIxZ@yAߖN棦ph~S' =5O"I7O~Zog^l-S/!0RaD!;bvP@ sX-pH!GM$CO~w~\[w4XH kMg,1$w+['-"&`NP l'Gnu. i ]jc$yhߖQ' 0u.F&c˿yWeTaR0&p1ϝfv"Awώ44Ix7q#X^B_'@ϱYӅHǤjD$~`< BX5i;< ")~ȦؾёTDVF $+.(o$s"eV ?Yν6JFyb}M;f`YَMaiZ7 n½K4숶ױ]sXFqLh Cһ k-I|[ O7R/VS򀹛%mUe[vȻ}}8EDwťu&C&4A03Njx1 reș|:R_z~Ç!Xd{!s7d D&ctJ.K~[~q^iRORbNen'gCQ!Yua qjت#Z5thu{,6q랥9w.y{be7W`\~?{r1臸)B D=f90N*e1oZc߁QI|>ЎtOG6=oT]M07c\MTp3l07]mS2GdV?Ų)~M]lC/+&w'mxyd l=}*1coN~?!'muϹ$?vOrJq\xlY^6#KMUŻ.*=b*usC1>F'7)D=b(' q_&rA`J[HcjѥCK{b&p-k[n,Ȳ2ޑ%WkpĉBigի1L#7x l,F)s{*!,g7mg .H.#gL`?@%+IR9cBsNTIV)1ߜ.>rp!_+;kYYqB9텴wM,pW!G^̄猱;| ߚg+!<`asp&Lxڜ?8K9Ɂ  ;,H?͉ԠԼcOR8v:b@Y$1+(OO9Ņ5})Thyrd#3//gB60Qޑ'7x˂Viaw+A˘lU-ԪuBnB "5X8YVߕ-u`7b;K:ۀMT8",*ג&:ī\ 7?ܸ;JjǠ1B)ɒ4܈#X{f:i*us`co!9f g-6[HujA6ƻ*u1u4Cΐ!$x3CͳN8x!"Xك9]<˓ی-3H84,4 +XH*•3tye2f`m)kZ_=$Հq(!<(wxƎޘy5KCw1obA|Q ۩TճvV@/ biuSD9_ )Y7r(]aӓMKR.*f9ތ_u]FQHL ܳ9HIH|u\˺ȶ.pn H| hz$W}G.w [he!EU Օ0CF~Sa=F FXL"Kk`OȧE&^ ؞])i;RLP쀨uosoOdD֞4^V w=LRN%ޓfMtX?ޖjOnvBrJ'W7SVak.7v`nP$Au~V䆤F%\!~OHq[3Ps= qt {XQ|Ø$| a1L7Wuw;r~۪{Ӳ'EsHSv1 wAO]k,|Nk\]7πI *.`-BKE+Aa2K#ƕ킖RI-EyD 3qfƏOE;~ Po͸/r̛uh`a_<-])\7M욶XL=fPw OW(]QXg`F-%A 1tL. HUJ}#dQrUt8Y}{=~ ܪh7(c`4'bC2F 0,U27IK-ʅ+5A LFtyAfqLäwtz\~ҏy8h_v8)0ش,JcaA喗?0;!DǫƦ!F)ץ{R-pR?Od9ymTd~@)%+WYE' PmfZV6a.f+NlTsCdK&]eN"Z0@ z UD,[' VZTqqG2*D6x]Q 1dipyRol e0%],z0)?0T˰B^ɰ+p둤ј ue^'~+lSxAbj0_)81.MB0a!:G)7we Q!ZKN1Ls}'^B PܗJꠘpR-Nl14_<@nWLqA)pdZmu<+ ~x@fA9hdH'T5hO"TiCq+jOvʯxA&f .h\,\OD _ٿ gG Pɇ щǹWGGRs!`I+qg.^#TeIS2=B(G4PqxPBωmՎ~ a~ D y-ŦmZ76#=R[ΐ|w%x sJrr4:d?Lj5pKEfNޡaylVFm|`JF= Wv*DS,1 =n[-]B;6D_15m NaX7UElh#[k5?OŖ`[&N~nHWm4xtE'sI;f|w[ԣL3n9kx|0iK9A|x/o${^am-)*Ħb(ҩ,zՈbɧ:opF&/0Spˌ~0[pS=0䍕,zg'@yLMh;}{zk%8GќY9jo;ZfUC)c[}[ V<>>Շ`ԕPŠ}pV'IBicnBYnf}GȚs 莽VG6pw-rFWLv/EQkGPΘfMkx -n=vQAA)@Aws1w`?u/B~ދ eš&%*!IV;Y ;zae=~ H# cdsjECH'/p>ogm9H_A^=h \i\Y }6Cn e:Ε٫MuҚFt=:もtcZmd^y7{L̀w_G;"mQScۓc2V#wBX ijDdS'X0v_zGLnfz?'cE/ Z|qY L|#k&q}5@_k(&0b끣>Z/d+ғ7S͍ـ]%l9[!n%Q3*r{-PQgQX%?Amh-0]pѶBhw×CbS>ʕB{Jg*hc@G' %4fLD]TiAR`OU'Z9y%; p>LH_d*F~Uz9ą>|>JtlM=2ø ;OU>Z?6ul({p{!.an ])#i!TVKb5 vwxBCMG/T=TSޮ36BHD.S 0 S— e7&m6dXWp]1G-P޹0OB{@2a]&@?fgj럙 ɐ`ĩ7Q̉)2)(s\zw\, ׋vc.ܗwz<ըݪqf Qv!(?D6I`p]( FYs[z06@_w ڠy%@JwA~3-$eàkv!S ;凣g}@UWv %@C.}y,Vk/JV#l;wqu]j93'8vͬkM;PQHpK$IsdngptCi A_Kv^$ij|è9E$!D~@"h 9>_Œؼ IxN7 QNޒ ɺ۝/7PN%tSVFUtYxޅ?WH2梵C?"͟|]@"OvY<0Jwxi*JLY2/yĉM@r `IBW*ֆJOݕ;PJ DTJajC~د]D[]=be1*H}"} ŷVB'fd%LXȈ RDP tyNNƄ+;L':6LjF lVCMM4[M]bAzU^*1]UxΈTkYXshP*"UZs}G|2Spq<^n8v ?c5"j_3}V50fDײf OtoP;:=l:^.a7mgiD1*fDp#a9ZAd3{~u߾yWU1gF"P7Q/:^4T(N %cE֘d|Kէtii,Ȯ*B E󴠖|Mx^ iW7H[%k~FyPF '˪.(eY"˄)(۩6Ñ CKn S۷ Rt51Z2kDM)?rm,^`q^=4Ӿ2Vt T(ڶzZCH2LYyBwtƉ $,3-T]&ȅ{:#z1nɻ(ݰ_ےYpGs\.Y$9;췖yW9Σ~]N.s!7( $!'}9oΛL?O*>%Vx5k-ZLSi!KÝMrh`[!YInJ my7lN(`0!E  D=I7әl>o%=cyNr?j0BD8Z$b2qO$,%~'T̴09=IK$g  }m'1ԧsܽo*;z !ʂ/(4붒: cF@c,qo4έbh IOi}P=*ܯJ(ѯtY̛nK Mh{R.`o;BU; ҹI+^9¨UCgG~cϥAAqH w;9%(ObS(ɒ7 YG[C9`;es4k j4UO=ܡxo̩ɤ🡆u*|Z磽 ra+TBsA{ %ѵdn- a < Xvdrt_RzQP#p hl6GWL9>s'#2Ih+R,#^CL}gO&c]v^Gxk z?wn2bھuЊ&W1(dݩ$ 9}ANMEdҮ|ߡYH=%FN|ĺ{ ug1ܙ{ڷM\5rMd8iQP١:̌:v(,dX0MAf(Syɸf~7C W wE57੩] CG5/YAnuY E`mNЕ NJy\P ;clFȿnYn $N6H~/{+*W,9r0ົ2CI-}琞>t(r~AR6b;~C0Ws*>A 9b =T<:k5pȆU_8#O`b[s$yY8]$u8c)Z̯TQoea #8gk@9G>rryo ; 耯?mĬp'DML PlV+~22G~XƅOLXizO7scfT"yPFVA+/?Y7AGy/3⡪7,9UIIl{ڎ#1.p>`#y>ՂQw6c@ 7o8LD7j_ WAD5&4_uZ+0~a%j},?<=IksBP1:E}w6] 5m q;5%*¼?*;%4&'kۮȕؾpy}aǩt:`,Z͓lfCclsuznh]ޥ$HXվxI1X&"]ж y<7[&R vcD˃y1xI 6ד~K&8yqG>n{=P-g"{zWFɋI!K[E֠͸AmRCD~t%V4DBbP^0:Ql! DE']t6'l0Bw;n;b)诽vUJhH-*:D.{cd>˄y,Ӥ `bZlpA=~\"sELۏ)ft5Rb"KXWNp%<o业ͰW>7GQE>3?Oy:~ ׈<}uj+AV^tGD/&bԈ骎a'-/tc4.-[MlbIPC,t.%w9Gx cGhUg?߰ӠU (> !\[̧+! W{zv)&DEV.UtmJe*YϞ| @,&ҫwܽo ABϳuX:=!*ExĎxCn!B15|ml4@Ett> #CbF`\|:Q /[ľ3}zMk#~lmNw rVh N2+5̽s@$πH4^ 7v\>Cj4T\3 +ԓt<nđ?BltqK35qKzyYL& ".+F41oY`&a΂jݤ*&4\q#uil002&}H2$F N~=k\N"M\ft27=E隂}Z"%3z +?D 5sߥt5{5q0 gRѧ xH MZzzr+^GѰTg–)%^"@/SY IU39pbn n_0&,Ng}χ`ݪ_P| 3 >C)NX-:2@Kq.R/@{ B1nR=L]bXj56u6tBqaun\vzc&#dg9M1F`0f#+ƙ8UrnCKújTg&)DX1BAJ Bj&ރ*gV[u `l1Bcٵ!+x$kUn pO];z ivhcE2_ {Pn3w |"<@OW5؝_:焪RkOGY"Lm[MӋE`#.TYHFUYftEzkHwc A @縯SȂdX[?ޑN|riFE 1VQyR.') !ͼwTp"uGTW*1o:R=63/Ent?ѦA7a@g׼viL'ViJiN`YYrZd޼:F2$Z=ܕۘ?տ{t3ImSjb;oW͋3$XlaA M)Dg!l N4Ϛo2zHxBHť}Pݜ&"'}We:ฺ aߟ]VFِMLk~+Npf KQP=cpݠ/xߛRqT]TDoz"vpC`FLSIlO$(7Mu.\$(=kQIm==jx͝%+9;I_yg)]h TQmc!3‚xg4 t=缷\V-&,'OGΊ s9o$h oR]ڏ$HC[X<0c>'gã lN 2x_R7J4v?rc3`ҝOdR/Ae`ːTm!UpiKDC%"zb 9%4/3m2wustLy?ZgdUu>o,s Tͻ,c -qŀ.;=O{(S@{i0T|M+eOt>kYEɏv &KՅmF9$#+od5ZVhqHq pai ұ`^y`_+jh&4H5fIhOe8z8imU*`IG*󯀀KMƇLD*UM8w)>NNL380>r#<~)op#ŗcϹKJKtI=B[ƆzY-XY fRVz K7 F$mJ .m0Q(qB0$8i!D=`b.nłNYKz!=LXsചNX%(bsNÈP¾lw!#q`'|,|L$|›Xp̗!+Hcޙ8wPճ͢\{]!{۵CEV?T,.gV@Y]pKX|d\<"4=efc!. +лav`BrNX_1{ьR cG=0e#jzp ұR[3QׄDCY MgeL\5 Yiљ%ɷxU.1܃CÓI1 S-!`iYr|ɬVHDtT{J(ub[&`6=duUKia@m9ejq*;b?2ݑ>!ݸ+0Jxu$ h}Y -&!3ܔd/ 0mh#vP6Cu}>$`9[!6P8\۶N*(O7q#=ԑڣdgizv !XOґx؇oV*2%ՐNfB0sFn{%uH 1WB+)^χJEu~p 9Z 0OsKH%eeg`HDz`5F%ɯ%cH`$N@Qaޣ,9b`n/swNBa 8aǩGx`0*>@4Ev[+5HoUgi*x\ae6)NCzS-?@'`vCsLE~;/x|/ZZ-ҴѮ)I\[6w][tV*vv4] :9,(JnFEbW%D@y:DBq2f '`TP}Gμ|ݤ\ZnxX|/2ӕј۳̛qD ⠑)u@@JY6v>ł ;d{'QGyU2'^h4O;"Wy!+5Rh8(T|%hɜ>$k3 jz0!TD5I ekVí,;i%Cy>S_,q-*DʢP&Fq5)}; ݛGoW8,~&V y%o{~c$!J Dm@6ɤtߺAhY`&<mvaZ_JH>\vPCcѢN'z=SvO`cPgW](4 ' cՑ ]2_MCx4cbܝȗ~BsEidtan2*_O\} AɍZpNllD9oB?Efc$Ƿ"DhdOr05lq  \ozRlmy^`S1.)t#"5& `,.q4W}1\kb"fe:LQ =lu6 yDgӼq. "m5JlZꀑifAR8R(S HT3農BLXn0 ~pU{Kg}s^Jɝ67~s3ۄ7q)ǝS{B3# fr4]B:V}YH-,TFL[|Op0 WTS^lܷtr!8j:PF,#]~VA$ \ DW|u<2%vRGYX#)L/9=܌ERU{8;F3D_TgI\P[6;1<Zς+ Z#%cÈR0E+^' /aLQm^90lŲEf,i߆D|l&Wٮ(- JK4.ϔJw6 fZ*{),*#L+Ϩd^\߽cA;`P,BS[\!cU&Zc H枣Af|wAtKؐ]ڃ4 ^g `_Ϲ:KZ4մٿO f,A?팵6&в9r5PG@x{u(}%"aˁy\,$*)=iK>8557R#h`D ~Df6EUF"M)ʯ)8U€f 7vNw B^^lz< Xo͢cF ȎɾX-7:!3 'q_xξޫxOJ<^CHКA??AES7U]* k1vl+B;/GΏ=Z̐~Wo9 $<|tI,? <{ kZ\/rAvh*p(_Q4?ԍJjSCSwވT2M)$V-Pd4%SsJ4+)'tfn=Bjbož){?y; s"5C B@#m>sfeF < $*<\'3$no(zo򎰲h.zx`tOݹoy{he߀kd' X<9kKntkb.\s!Bs5\-feqɁN;5TL^kR&Gnx Fk?B0NjW,Fun:T~~g!lH~!ڻvp3mtb%]RM{MS߻.h4\Ć]\ cpabP}U!Xݓe|K0@Ix(SxZh2H݋搽+2b۱Mp6VO~iMTm}PZZOB. (y.%:j3"%?UT476њ5SI=yD34=J~QB2ԌMڠ'Dng u vڍ^r58&iQ>.wu(Z l~ܓn!^JJW#8CFc#huۼBU3ҤJyӄZC r:LhٵZ^I6mB8="U-VnW="BEAiX~M7lloݏf͏rz/o_fN!`>MEV ؓG:8eba'ʾ5۸gȐ]heT$b,h/jû'LjZ #=CT46brj/}0}| -sWp*eY%̶o ũ:UDDU$3"`õqo]'CU ((Q#C eg TxUeBF @h(Y|\mUSjA0QnwmxG\<{2K!>Xx7## ,saLIx cVk%Xckw$/DL <9;J)LFnz&(Si~]M5J9bC1 E.s@]?12~_1耏@K&{lϼ2Fy ^rt_ΜRR_X55lgB'. N ȣ3v401Wb H[<(ܯ 5ws8hb;Y`n/ ]XH@w }fA€fz3 Q"d'o_6'xBdq Uy ,\BDcnz}3o + i=`M!t=`OӘ }S=b3Lيf ߐs9cC"j8?ďgDxOjz! 槂{g>HU,UֆF)9L+ 1c~Tqicohi AUeRl6hUOb2M)*2f~\fy.C*r3bQ ӻ4)&w?R(u./;sLgLT/ "%paW`aߓ" < =FA0ͣvę |$LôFHs(YיUpTA{x+BDiٓM ]:uh:W oc-$.uAU}RuUEnW\cY66h\.-g O$-UHYW8M?n0]{wdWF6'Ta0)zL'c/fAd)T&סCXZ$X4u11r|CaTO#wܞ%;.EEG#cr^X"+֙㾦 q?guȿ,:󂀶 ϔ|]+yxcsw%Ra6;K~8+AA磷u/, %Lٶ'-Qiu1Pc@eG;\<gid[oja9;ǘm#=PpZVT1Ŧ5|<ˢc*| ΛO 6dM\ ƃ5ixo Jܼ݉!`'EKKY =$]%ŲƋ>픔n\הsqvOgka93|īxN1="E)egxv2B?ot@`:2G ~wё<J = R(\J<|7@`[-t;Ȉ)W:3=)>lk"#D2u6ͱ$oSu10Y@fEʧ][m J$]?vQk)by<"d2/iWq `u[h,U%Un_ "gҦ-'WIjt-۪P 3e:ȪT86ՍzOp? @ý6Jzt 8ҫxκMht'ZoжEF̭~ͻY "cb fHt,溽y"vRoYYHg0ؙ!)u3Zwas5؟̿!QrrqV<թu2VJ Svvk @Zǯpy}{\Aޗm]۔RfFt47@vy 6c@HzԞ.*65t׽&{J/5'VQ4XgOci (?MgЅif=L mMb X"0s{+J+3-evޑ L(2NRk%>)liX!PEK>kff(`3Or.z0eKY;ͨSeӜsjfO.tC 78vdPٵĆYxw=wEELQMMՃ%?:pWBο]lEws ?lBbMJv@s@Xtv>JZ,1c!!7`r3cK0eG,@ QGUA\7=#`]ZБt|7#x-hc Sԁ8v$~ȳN }V 'I K.je9yw>Hw\")̩>1Ly {y JqȍTeW8O+bqjQܲQ!0#Z)$mC[NmR/0asU_B䍟cgF3᪰Yݰd\Je,( W\6G] E'XwyzdHImcsxʜwdC4TK mwv܅(K499iqɁg1Pvsd4yQpTMJ/өV4eʽpٴsCg*פ #I[pJ (J|m YR!OaOŖJe*!\$B TeEkPvN!=\%Cח4(j( 0-+nuxo$6[-Z9cw}!˳G8dK+5R|S2V]P |)yOLR`V ޥyJ+ciL_[Ӡ.-|OFKK7,3b3 mL[{KYNڰD2{HUZS"WE.:?X7̷ bdr% wҎvApӋ[ (1S|S}5+9lEwҀb jg?.ڨ8 r.Ik5pi xbǂׯ^i.*U\4X A{H5Hly|W$ce 3Xn=4v9,U3[MtMqzD4F&jٯ>۴%46[I=q^ԼoX9*Qwbˡھh '8ݷizغY;qy 7LRSؚD!SAw-*2 NPzhrtv7~`"[%_CV0{taW\rH{ֺ`lI},Ѯ @Bb$Ow{ڟK4|؇2Yّ YG{ }0EaTHrg)bW|)6 ǁQaXn iQI'̬#>7/|;_] V[n:&r** 8_Vub& *攀..WSe7xcWs.[Nq0;(Ɇ?BT,1z6]DELRx!]:q] IBvf0/,G@g 2;i: 3loJN0wzDYbCw#mA WDW{}AN|H0p{'k< e5?_Bm)ldlZ6 b+$U'_yt5RּJ:ʤƒr@+sv=VƑx6!@'c:Y{H~'fj80EtlϨ<_GMP%ӘǾݭSu={/͝AGf|Ҁ6~LtR(gDl#Fٌ 0Z&-֝(wوdk2[*2uY˟ S T%e Cɍ`ߥO\y(V KɄ @Yy۽U&lYOQѢ`*fh<& '놂KYߔVAQǭՋ7 bj@ 8T^߁3ibHSERR錻.6>&pZ(S¨4{xn)ͷ} Hy .Q>7D(e;:Lsˠi8l:f^Y&-ց KQCM}UJ͕Q M'miKJL֔]ap-zX6΋ /iʡ_?xڹ{㸫e|PG=^ 2$101v'<e P}p t-sR zč8B~o?uj<$Gle C̫рwdru[ꌁcMo{YU(/r>XgGW(!Ő՝y'p =%$Bj&1 RpW%p^(xQIv\/WVG܉.j%J#^nlpAf]b$ރRn>C{-o*nkl Z3t+eҐ\#V $3ku<ҿ`{ Y| d>awI*}Kª~A~G=w랾5~oXQ0~2lCnzwiARE\בٖ,JL EH|=]Enp(=4H0bz>,V=&~S [ƸC8lLF rtG}#>fAѣxtT*`;‹(؄擦B anBKj/~=Q aU>#g6=٤N]4PkKB Mg 4L 눯Ciƥ!_kbŐdȇ,:AJ؟gb@o ﹺ%[*$9q=BlN MZDdAmwD:uԗşGז rg jS+MuOw:w,>#- mL9A ".j#m(Q%L4qݷI 7ܹnj<{?#KnR@*r8"t I V>lo, ]4ڞZ҇V>ʚ#첱g+1;4$& )r~`BC]|SJ!aʥ^u?ʁ(/ g>o j&a- gR/epU:4QD0aO'$߬t6E`*u? ^>hP?myXjgi:u ut9hƃ )?\/,j}8?|̠ek̨`8/Zrt(酟E0Dxiꐨ޼ߝw#_k'2Jk7CZ#R6] |aSh,5dbjŦ0塃L6iۡ +7] 0; Xm;) i"D(Cَ ̃@Y<0ukӡ?OV ժ^0)% MJXTMQs#BRy[7h|p`%Ej@m|ZP@2߹%-Q,$gH2Q[ZsFk 0~ 7G%Ar :CܳjW8fMU0@-NSr s*;բl#Mij!N(LdrX?Ni3Y4',k8v9’05vcXhVDI'A Ь0h 3ՒȁZbTB3a- ee̫{$dpCÙ[5;%.4>(Dz34; KT*oGLgy ]݄!l> RS&=露Q/]TMҪI-}ZIdz2 iyx|*]o{H?5 22ܣmBS5I"!Lit V%:]U? Kvkpޖ1Ds_ޏrł|h 烧01R҇xi$4^4]~ׇnv}-):dI(/c+FѣO;|p0epSdbˎdCe0`(|d8hI?J4J"ZU"U; a~K Rt0ѕM'\)\͘cxDSfnV0~@V7&d.+";64(lr~pS {#}]%]6@ o(am*qZ&:硴ﷶ]g_9PtArt? E4?҉DO1!b;YŰ>:öeT`kAw{[Whou?VF[iI&Reeh*km: "CAK-E=橝<~M Mwy\WH H^^8[hn8-!Y@5ܶKw%쵧b fA@$> /;4V4. h3"ŌYya5N˂V& z$\*FngZWZ 5d:;ujo~+k­H+6M9<(ج_@=\ 0DKDZxS?n) 5p*u{s]oyׯC7,"<,̝YQ'Cшr$t7Yz5Y5a< ?Bhm&Xy+VF՘SCC9#ff% ](ň\)(sӊ`` {=[bU`XB^ߟ>γml#Ȑy!ͱP;2Ǜ2JT psYټmXY7J*KFܳ|y Zʢl|4 >Í/+ޞ{i p̽iO@(Ge@ELfPJeEQA P'.T$KE,\wT3\Hthh@3o. ‰ w']J{>*aޚܐ{RLgnAדLU7ob9B 2?s{oJ'Z gO\3A-^hP Q,tw7*G4pG } 9JiA[SA l b=32t<{|K[{ч6h3ȕpI;x6C_ }L']3֢FfOжqȩkPdE"+=m"`%Y.nds\Agmg׋&EI`}Cbd5L$:JEu%Z.> /zұ4aFtɐUta'7P  ?{q&yV:Vn$N4!./2X5xBV 'ئ,-].IIE+ՕF(9ۓHMm4h0.$1'gUs!::t~c\ J:μ݀w!j.Gr`PO_|ʲ10i"7M =/ez{Aց+>y"EuHpkv[(]vMLVЃoY-\+ HEH[dN[l7ja4T2Q=mgR)M8!U>W*!_n]-;mw8<3~c"GMU0,&-E43C92ci(jg^UYm^-Bcp$KWA 7:t6_&jSeD@N7 ÃC j0 -0Ybk6uIf|e[PкGMφLt{ؕ{lsp@ӑ܌]k-pİ]#67 + J#PheIz<L`LO}>m!Qqd6鴽*" ;\Ҫ}St) *&!Sጞs%Gg =1Fɱ,I b> b*lzvP2RE~d*Jd|6^xxXmp/(olJ!yBgFZXO7P/I;<@bٚ! ds)v[&rPLbuS7Yqq9eiζԄ- xE'PSgu:z'etĉuue[k @9 >QX;8Tvw%8^m cq\%1YrF 3m'*xmN]֏Sؼlcs:5UY_'(Ub؊? ;63- t@o+`r #C[U:) XPMB4%wymA&aIԹ``zNd bR4DhScrZv8K%#yaѢ1[ aF٪i 'XYč~u7,HjaWS/ys{9GK Co?:o "T-gb/|H0L Hzq|6566M~(jLMM{_Hlj,er+gEȦw*K757͵;bl9{tD|EwoJLwR{ i'ty "Iee--5-K؎8*/M]@Ηea:r&m9&j{OZWxinS(yR?}sU29A:ސ]|}:{FqYZtK ujz& tNM,exQh,) : T kFp# ppФtQNp==ePjoKpLT.6gOf]}vBm[4ti("n}a$c%ac *{Cuh3WKyqW3ޑ>KAgY##.]GߪNS*>GG;Ú!* Wv()/[-`rl0/K&zq+mgh%;3,Gf}5zj=:aQoDY^,彟e7[0xO3{Da!߷9Fł{(JC#iW.hqG*~JmGsاI%#U=m`?ُr'4jf"ij.Re }r%N LJj‟0 co'AڻE: !{4K2W\3LyLrwH:h8t#+؛6&Ft9r:&g"tPLH^~D1]R a7¯nѠeQ6Xis0?ZlB@{@HIȞ,##X!Eث3 }n3`nWS+~܈>i\2ZɱBE!ㄅGHhb԰d!B#D^Gy(}9h<+žqlEA4la+3'6 QQ<-X23wNz? UwGtZ9`mb~q;T,nw ǽ r8H R/vYןB%"{&5ʖ0Ǐ'مN%GUs4ĚMPE %]: ~ͲSUMSwdN(ֻ̦:){ByE>P[0,^P`_U~,T e _*L䦟1.oyI ‡ll02z1Md9P%l:%e 5KO MXP~Ӷd qi!-?ЉPMQP=( Q'deq 5*Մ̒I) |^cq#'0R?2F-8)b?ց)?ov\!OXBo{ #~N) ^=L\6!& = qXEx vާwg*RVvl0̥;wM<˹!gm5]rUwy;C:&q5IIMz }R;J=!__:MSFxMïCwZ`k))cK(h -Df?A DWF d- ;~w0{6d}][Cd g^Y]ODcI9D-@gxH3mG ۽3,HE:R{bJT%nWr:=1)e% ?H t^rLܽFsc {A*3K1zN|c+!g^Zéݸ@`|<rRV⦐K0{ao)U m.?!:!'^wuOrw= $2. ->aa\ _):}N 1Ld40}m^4S`}n,Kj,wjʘokԠFh׺ y&Qd6e enjWB $8!<]26]' +k,aϝN0S8yXeNdH"T\Ab1i̬QȨXt[2nmWd''2̈ npY*8E1֗g%4PfO!e7$HR}P[΢):bCKU|0F^u2Fa-cBeİ]*j+wXQG8,Pny:k0\L̤Lsf6t.韞Ii}"6κAk6 Ƞ>-;}~Ç xKdj2(do{$ s$ ՏÆ a&(Wl%$V8_ Wdq"ȕTF R0>VUtUBE. t,YZr;W !?ٖ9P @yWGȒEZ h\QSB:EEsAr~)W0x:( Kr!_7\)Nvyc$RDD$+Y#6R*1wV:*2'M.5/JYr^́6zhZ;G-Y.dpS<.fk۳H{oL[]3h/gӭ -w5q38#C r0lp'k5_Po\}^FX3_%Q QVI_m s]Gକю&ꭸXBk  C.ކs5<15f6S16n֖hGYxdja߈l=}D:jqn/`vHg%{n\3 T,O>?T1bo1 mql1HM`˶ߎ~X[Ai2;8 ^~qfVjW"6QeVN1y2=ނhc( e>dAS~#!si٨'L71UX?ٵإuۆ+?EW74NrIqb181+tF5}h dh]v-de.'[g6fp-ZE{nkuMR֩/WA (D{ >U;ToXJwaӃ*k{l9AZwuDA P%2b6c|*ٰĹ"$0=|"Tؤ. D̚nJX[FB?33N7DV092,` PB>pz4 _7^o>b1%Q-5^'tYVrcP_cdY1k (yN'K&HddcIdqjv:"d>Z<5S,#;O%1oJlp#imA;u﹉ i.;YgGɹW [ 7(fc/!b&e**8D3.~ʌ>Mx!qehB^FR(|_%n(aL ԭt_o{GyO;3cW:J"L2sY/ TH_).[LNV.gnk}ZHM/$QZV&ί V8c@rA"mF`j?_}D 0-«<(q'v5ĶRr-eSK WA)Ԩ+Cjj D߾E_;:()"h[ov֊Xyas9̲k\6IK%;Ict,e"qe` r'2ʴJK76\iw"W)U6Bp2k%y9ZYV(M8"n_udD|YY4S4b/OyV/L ǠuVow _biSi"j˙0$Jn[(|!?9KO8Ǡ6T˺E~'$v@* (v.}ixw)[ {ҕhld忴q c-Jp'e2l9!t6bzYgio}#fZQ>Wjq[wQ{!*9+V:M66)4=9f/Rvv]򌡛yhu =ysprݗs!i(V}AlW^oʞQ|U> wv~3Mġd/%L:MJ*AdJSV<*VFShqW_oPi` S43&?V1P5O Kn8Tr\w/ٓdR$E!-3:bʥb9>F|A9 ,1Zh b^bѼ$jr F;p$S*O;L˻}!(xXn4f Q!u;>S'I8 t+8U2pv(tœj!Y9[j|rIks_%zCT> wILgLuNmݖxcpr7**о]U݀nKEPrQa ˃+(ʣKmHĞaUKۂ=uYG3!X c}'U5DT3@P AAlEC rs8N6F%ϸ.9=SGt<8uqf"ڼU}3 ځ'r1\ {}(fHuGʽ"DsDf |ֈWK\|M mt-YD;ikL 'Q J3gvHF΍9CX$HQ&'I/"B~1&m =LuпFȽR|Rxp 4P[ZgI䬍2$8h?##|@ݯ$!54lǐS9]6)izjHg#D׃d;W<8ҫѰVD@nRot!V,R#Y!u[ RH1B^IbYy.Ԉyۜ#/C`h$8vy[8-DuȔtl?i̟Q!l$ @7 LpcInhW$aywΘsH:Xi{O=;x;R5/?wh61mS yܨt~VbCϡl$qCu4W^@"e$+ o9fP`!;NiXj mKriV_4 -'j j W8wꑇ2${2- US0jrDFHZgcxmeovE=룍W{ZT\ZIbU74:V<,B j2^˦"X+ uRLWݰjUSZRJyC~.Ĭb(#ڨapR6Y⍣o.Z=0;:%A.aՀ'tC|8.p67zuR~ȒƎ?lenĖXc\S /*NFԑ|)j"dr|Aa3־tBˠW'p2_M" QjƯ,ISuX#FM%7<d犫eﲨRK#|ʳ7>P)ZB7]tao0ZJ^]YG!35ch LV\=Xl[y9UsH賓|jZ5HoYD8M ʮ9*rgOi"h!`vA ߫]2EEo a-$&^e{U(y[YeDv,һμ(a4D;YQ_R^#>]JXBiCkLUTh]e$U~ <2S\2  9\-WgRĈgEW!DR0ٻ7Ts]?иՒ2>dQ#-T^&vd}x!( ܞ JhlN/$mb+<".9\X-Үi`Smf(Ey5}쿼I , ۜ,JpS;ΟAY975vhV,U_laji.`;-kw`X$魣@UjC6}A{!3_lGd\ςA c."-"kRuv_W+AjEL4)wQCƃF8)5qN A)};MSv՟gt" W2wkfiWIIAH-CG L׹Hh3 5 ,\ fՆ`|)%n\/Π1Uɴ22OjO)Xy6?]_ ticv>2NZ>vx|R8נ1|vᵚ8!m/bitQJRfwGӿ0(lA9sZ򚉚~N11/Y.KQd!븀;x˳|ʺ %QPM.}"zoPPqZ40 PpTO(v O5[+e6"%ʹ2+7s3\ц,̓zv|E]Jʂt7׶Wu5_]3 uGBSq2+ٙ6 a@ϋ+s[Y=!p抂VV x!>$Ȑvp;M ;XfL?`@ceNg")):Hjmwf@Wq\_U(2eDZN|8(ߩ}k!ɻH<#R ;sQ k$1p4T9ŁTfxKj0K:2&Ŭ_8H傺9%Tlxyy;BQ}XBb;n?}fv4ݗ䰈 T"d:mjQe2iN.ۋw$}:-E CB%)@IŢ,൰ .GUs 4pMbZՖ$`;WY"NNgHvݻ@1+r&kz&ݵ㸊ܘ(r9 >S9@72 BMQą/)D#VttEԋ?!ǿtM7{}Rl^y٠ މqPUl=L4WbA_QDc5gMl̎s΅OKJ؍J+II_!觰bgeCfas^% >M +F U$>36/ȅo?X<@LͪP!ɼtd4L7Ƙ$_(jH3xU}_E~ ؛I~CSko2ิq <9-GݴPUs'L|o@&@9E^?C|DYkV9a Xy=Hu@zK+~{z9ʜ&rũpIQ`;1^?e6Ilf芅$b]b7`IJ2v{_EIj[L؆N{$T1Bt6x#~ҩmuBE174u;WsO0q%Ǧ`#/qgFܣO`֨g P55G{CC35PA;*zìiA;_#O'wЅMt(}p`)aj[&mo GL{d<Q/ :[/x-M'z*AJWȭC@MCWj=YvMK8iNM$yQ+!QKຬǿMUM0.gsAϦ.XQxeǭ+v 1hU|5;apt}] y7srFsd2KZ3aRO| fQx)5}@@] ZAi~?SeGrt?"QiX%#A14 >'pREjōЏa t~DX#oh~|ݰlʩҬi.gDL] yawt2?-wydϯ5. ֱDlWߌ"jɥ%MwOQ[ޡbo)euVuVnūU`&3=1)ڔ*mt b_F%"Έqx1:NDǓ$]C8+Sܻ'YNiz^[G|7$q~).Ei~(8Mkab4BCg]_9{ǴZѹlϤ%Ӣ8 NRk .R3:7FDV~t:1sB͞Rcp;܀LϒꡏiV磉r\* #k"-"ZM$RzB=lu` TS_h` 1v /gO &)8D9k\]n:.% zX)c~=kIu~hAFz՞F$Ǽti5P]<6J!MsN*3(3䣒vNٖ;Z>dE%Ytn3P]WKO9}&2, Xlm!2p(ED=LjtLߣ EEwחf5Yy #iRoIA!̀ђ( \-^uÁK#'Mxs,d8L뼞*Q9o􍋖}SfPd%jk*CpkB+(R//;kꌟExQ >\YشS0䳪hF;o!>i) G>:H窽壒6빉=>>8 %ztK#2ᨗ_CIYz %ZvX~\Jm"HasȂp "CbS^q}]0w#PۛNeQ*q$X?X l' MZ +|_ϒ/d浉Yf*8~9N %6C"pFRcZ_*[)c׾ŵ$2Cά"d)_Hoh=*2Nd=I\]UZ_1^sY?&5,8 [/en= vufѱ}v,OW7U{9Iot2.wȧw3SDݴp\Iw &V L^V =?T m(7+.nj^&+!r;,R_S7ߐ, :D9m& /ѽ{\ά{DņYqIQ.ƎdǎGafbJۑ;l{K3Yh*,IToxHP/ΈǑk,o.. i9YS59yokrQk@H2 "u!溱`-0~va<"8UWM aw1רSo-{P=ɔ}:N/E|L[px?ڃyZUaMńzE*Ω U$Q#zu YTELe7sUaWTF  }`jAK7W9IZ-IT?yGS߃]]o-ɢ){˥MBd *6'z Af B,,Lgm`47=9 LmlS|dkd~Lt(+R`},z82Yys;ܟL6kn#keήۆ|*l-@S߃Lb*E#=p>K)_۞q0 2=GK??Y'=bXaCP< YCGi/Zm|O|b]5|z5S@fB٠<݂GE5.Rg&)66X%N _1=^#s݋ԗܓ(yo2z%M^i"^(s`hњ4]jaۿ'*}BрƖ3nĶx9>vb#ӆ v^B<]/k;8¸6"o?IW :! Jή tËn|+ol |q'k P. A];A#A}E2s~2C(41!FB`S]$-}•#mCyVL^A|3d3qKztc rRHs{:- o 8o&!v]YsZ_H9E8|$ ]c$*켪P Q0҅$`NA#2dO#|'CvIT)ޱE6xm҈xrv|3^`9QꢟSnr v \V< /3RVNh%wĵ.81.b_!rcb+VъoMBXز W\ P6h+{ #oBm=v 0 4fǗDXt g<\t-W1hd*!8B(ǾsS[%wJ[TGaNc,ƒ5dJ=; ,@U B{ W)GOܡ"xU}h{`[9f49(zl* F!Qʢ"Ȏ76?Hwi.Ӎ,f8e{@^!(((&*wBDIb`85&7nx?r{$ =*́GD1p&]S֟@kA3gGʧ7<TM&9\1C iQpp\ mLѕ-:hbi*4K1> "G u8| dv]J}CܥAv?+vZ4h~xxс;j2PA>D_EYDj.`Ɣ$^l4G/tU ,hX5)<)Zf%lU@,Ip-ٿv2ncJt{,B uƽR)sGc5đ@͓GYQK?Uw[O@ r(nqoUy_š ~<#?vW~Ȭ)fP[Lt{0EUjBP냖Y,EDc/aT~&P.]Rg(>"Io_c9d0 SmYNM|ILW/4&ޟN7՘܊hE4-pc̽Wxr`<0RA}Lt;N&"gʕ ĊY'#JIܴaTy==MR$HϷNL{ZXMDY!OYtfg3xfuu<\^[#U\ʚxF5qz$ *sx+Wo7<1qH4'7?AvO^ǂXl>槨h0 xJB'%hn0BV@ ')rS)[Fv'kev&m1kr%|R%Mwkhx$x/,m*]N ^h8X߫}t"ՙIFW2L7 ;+C!P]!f6bdFTRV< -7.uO(G5tZ-;?kbcDi\.HOl|M.(QGh~ym/n-7͆ HL }s AQ:n H]]ġGS~ z,U_ah[^ -8@/IK">FW I0&*Q.SZ[#0}8lV$*Bn%8Ţw.]?WՂ"dML_y?{ޯ'=Q:ذ(!C Hkůa#)9|LUƞ l;|[CS&lJdQh?6ꟋT+ƲYwprkk:^osΰQWIh"x焫 褌$ʹ^Oo`&笡Nb,jez8OR)lKE_F9)m`ȹ|ov$Nh^fbX`tj=a5Yqrack˵ Cy*NIY,eD(jKPYu&٫@ퟸjLn mt^V7CԾTM/:0Y"b$8R#Exr3~q6 h+njEݽ4*^!l6-.ߥ mc5i"Sj2* ?YjhDzFJ)2„a]LC&]-e ֫Ayچ= E8##O$Q¶[!#f^<δ7BEa3#QqE{yHڻ\|. ("lp '1^{0mYc1mi\op dߠĐ)(H#Y<9aJKWg*ʀy_>fO1*ЗR µxu 2}79>}5̙Z t]U-!r,)Nб~:IpXYI߉3+ʝ6廍,ZmzP3"u gj:D\aoэ?5pQNJ)q ALulYpp?[*'9юR`-89 ^#zOwzW0\ُ_`^= $%$q\ѽDkL`Kc"?ס\RmS@N 9Xݶ:Tn8 Jwj;?$+WJ<|a'o4n ؔ˖ ҨWy!sޏso>D!ECf.r?}`Jln.2Y||fRw*8,"Oo6$ahH-r/̲CqR-?!ѿƳ>ed%|2C6>վ-_^j:?L,&a6@% i# {:">h6y E7nغZ\V(Ý#?f~ CgQ~Mi*S*ЀI j|ZJρD0ERY2UҪ~3~ B֐vs-fWz|S&k O> lxg嶢K|MK5(q32 8ƤAqk&_I*_\ksy*cӽNrAYcp;e֭| 9. F'#>IE̴^4G-'ZstXdTr#6?Vk9aH#|6OѩPKcNjC!Ū{gд݅D$nӗ#q#3P:0rTk 4K_@5RHd=RVb ԃ5,@Ձ͸~n'e]Ov ֟ Ak$Ɣ<7G|U9e'dulcL]Nqfjz@!t/-+\=&=,( A\<_$`?V!?CeG)hız t|'ߴIk#RI0/ BՀ,-چr~I0JPސR%Nlό qٶN%4*p7c9 ՃF\a]fnÂq$6x@vwzԀЀG9x#ԥOo(>anGzx>ͫbG 1qՉlJ.Rb FBLh;qMb^!|A2+ERDu&véX7odx;Pq::^r6L}%W@. p/Lq v Օ\\kW7l?jºYPxgM ,z_+#Ѹm.Dd޶/Z1$`׽V.[  :UI2= tY T9EsIeNş9&^c.hЅ3C9ȳENBOFV&ĮDθh,m y5#?? EK/|؏ xt>@R Ԓ)!IS.^e&R_gTq,evj cKRFw`9bYr#W*rƄl@2s2ډp=[q36+j#0—v-f#1F[vTn}Ѕk8dy]6#>geXU5 ϕZK׊!ai7E !%K{"'M҅<:2$B[b w!p@0qK=$Y8ryI7~.{[W1=~@̩p+io1cdNae5Q~RԞn+}:7 $#o&ΆF3ir4z%4š5=L0)eloCUWv`u^HpY|*|3wQ4V ΍7%r3h)mv `Y]6y7.7>a)Nyle1XH AGgz7'.\`WgR]c䣒N\X)  'SӬ\2^[t/ڼx>ESo #\g1ߺJm_P[H"R&Ի 9m/^!!ur#]ţΡQYh (ǼI8P\zz>zG J}- dѳVz8ú/XS0t˙bM=l#0" "@At2Kj]dC%=ɫW][D!zƵp|(RQ-p[ܦv&ѩD ɖQ/z=-W-~̮U]7Hp#ő4GmQ:B>z\;`bh"Tw!"ҷKɍ( (v)R2|kL< OY 70CsQ; : )m8on)f[U1~ݴ7n}LLB>gBr֝]FAbllĆR6ӊZc$> 6>KU4? n#T\魏F7u5*b=b*9=w<`3e%ULULIsEL kW3_`y'e DGT: ";#QH54'w,$ҕ(T.L07 4A(,%LɮT/*F[L8dSځ&s8GɁbDǭEϮ~::#f*F>dmnX[,J7,t*0dԃT\U@҄Rm=j#8alNORi/S*jky6zUAd!rZGar^ۿd\TNHXW7=][pW$Ջ™qpR8$i`p {~gh,8䁮 +Vc='/&;B 7x@v7W єi}_?s\I[jYΙ_qHp9Nw0cIYePOtWWFp4Q%P3Nв" /[ Q9 _LWvY i&1tᓃnR?u .90l#D-~d]pP}SAhyQ}c.8_Q 7 !J]?ERCro(9:jiB"} ;jpB,=G/geq?4Lpr~bBӪI/h&`"+=tf+("=J61Q1@XSK?"8;i3¼\ u$(N-%Y׋e%GTݳƜ2vX&I*gPa@8y7Ϙ~_8TG )ZAX4rCy|ph5 AyfLxfu92˾g1*HQFEI^3nN5me"nyL{M.FQfQ} u~)itDԙFAE %!97l`>*s_IL*dT#VLl XQdR:Q@ss6<kB6oG Pk/Sr:-_SSN`4Sc8G' vW[H_xRaJ%1 Ta0]A@fsq[a~V>:(N`8޷yxEvűp ѯkŒ<@!TEmPL&"5Ou!kГ_*rdh>ꊀV6ZԍKѯV*lܽƩCd-v&4{ؤ)A^i> ~xz1P:]u $˾j*zuœ"`AzUrT-(GNivRV=±U 02-D]=!=G4"*{oޱqe!ݙmEtʽRny(ŁB=f ˂s[pmzR_'07Q]S<^exR:yD~lDAO1vM/O!9r j\WV/sjy+ LA0U=J3jx =.\j&ELk`Mo䱓(Dp}U)ղʔ6fGrU,dXkޟ܊Kc_c9l,`u{ e58mě! &uN sh,oCڞ#rPK7gƴ~Cϱ\SB-~jkjj^Ft>;YCpx(mĶYyt@z)3!3mcj0j#[y h}IDs&03wNV Y69,bd%HU~LbS%* |[KL<нPT؎q64Yx."9ߚ?IO_RVJ"6ud5#s2W^ÕGcKM3 itAˉ\$`.K2\i Ca#Y/sմ"\LməWYCz<} )\Dq`ec b'e ɉa͍ A ;"y7oCٍ+|LIפavm+ J)Wч~L%醺LksH>5as\LDbjMr+b+ SDnmL謋nYM}1lwPwn4He Ì#%aLfy-d3g0<_!\KObf;"|3؃̘C4|Z.=ԉaך{k FiѵMt.X bo3o΂=pv}Ό`#@I. 9y8!!^oe;(ypKH;4n(!{jt61[ #h`|}V*|.Lu-ΐ!l ТH8umhL-#崋R! C<7-1=.b4гo?_;^ʿȁ!oO *28φ:7콢#nwQ/ @%z~%Qi:Pj/ x@LUjkv,3AS+;v7yaPLϘ2=*@EHTrc0$)CJȍ^]0 hgS_ >aF(ʔm@.g6jјAiLau,mpy"z֬!^! O<׉! ܎fͥQ} H[Pٟު>Ow|ˎ=.Nq\#M;3?*,`dͿZnySٜt϶צ}~PhI g=(&'=-nCeDmM""p+02=VwBcC@eW=o^¤C|6v{z]Jk7k>uBöY7W.rjdĨu6?PU-js+^#IgZuT}~ d; _z0,= R ge~$p=<|A2p:\9EФvA,*Skvx'} 6{-_,w9^]ıtDqV*'MwblG+ǮU?O+řr$^VPBE1g\)O~ܒ+)M&.DӏE;o~ # ayC9MNprTB"E!Qī0Hߍ? oslWU 9%~| &:i+яXж9E8 ~قOrKۍauT(T)o#zǹI[K@;k8fVru.T% A{ F{n&˅ֿ[# q6-6IkHw-&ȶTmvGopF^0a59KW-)Q=:.rcn ܄ItGJWx =8"Fn.(.}3! E D\?]nH1yru|]TW'܄%B~lSOqs9WTQX@2GEaZ /$om^ghg?@DDZzMHQJAT5D&5*TR,ݖ$&b᪤4+*p  qbM K3js)%9oڪ֢vѳiC'P)VKw \ӣDK38)oXF-Sxz(^w/T rJ\PsA]nda.cFP. M3W#k=?saҧEUe⹙ZJm!ݹѵRǃw5OϳYkBƫp(!:iދK cE3ih?rSf - JSͿ".sE!FqPmGDl%W904AZ֭𔝴--et̟1QRCOw<2F~3g`Lo_wgIbMy7=_M;cjBtUʄج8!X銔\}l s9큨Bet$m}T{mC̩\Q'KL{ !gJmm%5@x'O& *3!nl]&)mN ^=; FǼRHxɨNRa0 -Gϙ`= -&׈S/rʸp WZQ_6fI{"M͌Uzd`y]hƴ~}v j6PUGxr]U=D ]׷*iѮN(O7Jp&' 3X2 ,-ٵaݮߎ>q"-{2KUI) -B֋Jq7fIx5GRVXFJ=|MetF \R5qCognl@JL vNU<8IYW%g5W~{1߷|PSR:<1PU*o?4;+__ǯ걾 v20y')VImr}}13;.pxeU3EAyHv7\_~8Xa͞R㤜Fq&hT=x#cS~}_3jPLo1e!DW0?TK7,uZK콍6;N *&7Ik3 4uJ(k j4$d=zLNRO ϊg\TUCa]8b]F;dqo >[oKPE˧p )|_(BDZt{h ۖ jĆi ;줉0,͡uyKiӞ2 B"S9u%Q;7^fh=2NaqP"azIǏ$- )n嬨%q&֙td coOYB]g-3Mlp\!j`8pX1INe7qD!n#o:чqZ[E^km3y$Es~ːpd =i }L6*i9t^O"0ԇE >^_0\Hl(PM YL 1vս7m4÷u雰s^sPyZG/+ZhEE #Z]0XXy¼!̄gTaWA%(\4Z1UJ[ 4# +e:˅(i#X~Ķ(7}~@wTG[WB񎹵SLuK膝-'_6?s![a,Tѳ̟\(╉нI"ؽ{kq{InbDAIs|sP&T6Ɓ/D9}hu &< fdf{j惫Y,,DtBs=| 9iaq@7PΎ7,e%|}yP >ĦhF4b~kCWxqY|X4kSק5\NŪxp>9FGFL)1%ϧ`gD{9Aݓ+H{ г_V7JKgv8oFe߈Qu\_'u)Ls pO8_P:S fiOmͧaR#\Ȟ} BX19oܜmN9`WzZ-]VyR#a#u] 3p~y%=r^{`{*pwr<0EX[k,DDWbtfs?SUɯ:qK\<ƪ_nWm= GORplԼ>ȤS/:ת6hÇmVȔKn3EQr`=XV 7Px2v(3K<8_#۞O` 8gȘ:\&sI۸Tq rroq IYWѩs5<]&/L^Z_"5f]! K%+KS|@\(cmZp5٘&u aiOՉ!"ǁ@KMB[+G&,tq4o).km{<*TU˵Quu$jޡ]>pHݮ6u5tEm-}yGUw{j#-vNPٷ 5'Wx1V< v& >..55fG/b2i.n0CC>?@ ̠/!up0T344XYMe3$>=5jgقr7y*兞˦;@k !hM)-jP!="Vm0|x4Xq'9o0|u_#lTG(X/YV61a\ښ%#F4N <_\_xD4ߠvےbnsW&QX2RDMĞZ}̅]95Tt(:..Q =ۻIν]~oCetG33/i%Y\*XwGOFx^aS :ɑM{TC7pRI7)аu|i+N?g,xܺ/sC>F s)@)1%70_|u{m͢IGɿU՚LQ=pkIU$ 'Ԑ<5NN>נsQZőa L'Y:" QdUӄDŽ!9W_VJ@ˬ:Nϕۆ$XM6Z! (*Ɍ\>5c"VwjG"I~n%N7y0jcEMhORWraa^:_u>k,n&0K4Q[55a5} 7s7g3[XP< uj^So[J}-g`CNz3:͢,(#WQ+j|ނ 6ъ˴_8 -X%>y׵gu_sTUi|Vhi^SI {yJv|oR+keUX۱_AXO{_n hR|t^͵_*OHG{)MM2 wFa6 ˻(8{/K;83i.Xdh;yj_UX%fsEʋCq1$3Ԯ6qX*:t*fͧx7B`<'i:![G(]9D&cB,i  jf+x6"6Gwb1tĩh #Č@ TS0jyniQi%%;O#b1/4'^!!2gCaF|v%-n]_{M_M7:X?Yi2P=,>nrŘĮi&fɗ\(xZ&ψQӋl:+`acB8WP)Zay Z r'Ge}" H"Q1Ԗqo MaQ}ޜ>y!@֔cv3LtAL{KHed4n s`tD\fS䷣KB{W|8+%Ō 9'v.eI^r'r+kEMGfBqEbyV$EpsM])A%@Bgo[yR7g6cQ~dlѳ\0ߤb_sz=x0^N}3-b0G[Q'tg>aphCW+pT/Hk~nQl7}CLJyE#AclOMˢD΂ȟ%j+t%}D2&`pXΗ]A:}8IBfߠrV#.FGew1|Bb';Y`%/o\18% M__:7TuI7#xjB3Ѱ߬9g%k2 CObғ IۖVo#Q=;>8gxZzp#Y o"Du`h@CK8ϣ)[P Zs`(t&oa{lѦ U*qRxh1DpُTNE%$ae\F1W":z ם 1jy\5? 6Tޚ5L .%d%@~%ݱZCY`ؔɓTM[!<ڛnVȨYmsx.gZAW~:ws_FIdV^dWPFY%o @uO?EC^Nק{NgK{$k @ +Unщqf@3캢7>/J xX`fu%9"t%R}6*6?[E科s@; ؞s pf\wW&~m&rY*@,샣848:ö?K7؇*-(&٤;=5<}nSNDS*鮴ccNߢi2i M܉'Ur|:bJ+i v͕w_>vʶe\Q8&+庄Rt#i-X⅂#Pw/3Ի۵FݙK9'qTY5[H=?*i2 %}|T< #uJI5nЈ#g ӱ cVe%y#+M%RwAc-a'IDsN¨E7x?}i>_˻cS7ʁ%ei2P<=8'qxr|ʻ뗍,î+ɿZ&rИ7-`jhhYR&"ftS *w`UŸqf/:ljPf ^X޻bZi Lx͹붒X(=0'0rfq*&@w2G/n9B f.gaxu,"<EJ]GA6(`i Vޚku PG*FT:TT(S<0eiB=B?eؙ&Qo*+ <'ԮRAe0/8ܙ2M:nAd* -ג&&(eMunk$Ηcr\d;^<.Y'\rUٹa{RDΗI* JzRw>l-YF|yO `,B#I (sF ɜPsXC1mVe {9Vi7Pc-yԐ!4Nmn1[/t||bIruN+|4dv4bU»BV5]ʙm6TE\1%&:'e6ExtTNr{rCn51^rȵUndSΌ YEd;j T e`)6S55>%D9D8IFFOGZ9,A΍9Mob?GD`_R\!ˆ|;!_$򲵩J~cb79/ɹ$&5< \&Fͫ=;Ne#dVލ#…gd랶F 0cHnM`A-&%a$]dݡ X̖>"h&EERz!bn uKZYV ;HͩBb5~́]aI7#ax Rr`a3bt#{5Pl-|Qh*,8.^bRI1? |>Y[ 7KhU}6yoԍjVF%$mc&g{'Qd mlۺ~skU(Ȇ'/zTB'D;b+f10tx3{t& :ʋUo)'[mߖSa²ArJTZeK }7=X}s~6i `~!}ȎiC00#A&N;՜Æ)|uЀmDHV ?,INaU { {5&],Xu'HW@:-AJ&XAay]JZmX<^|3\*.\)eȟhrmƴPPi"`ڹ jzse(.u^PJ%5mȭ۫Mx$>8ȃ0J7߲Ω:@]IbBO4fVeTpn\?.[LaT>H6}Б8\}i/+ >*%ytT>i i󘯀kfV X@T2&ͭ3_9d+4&R ߲T(Gf3i1\[0 v.x\LҌc]Gy+.Tfo1ex$ M *(6AZ_&~Ff1"XFZB\ .cw{iBo1#t5^_'Hp?AB+ G`=p[op?;;p RƗwxD Z19FC2 eͥu P%1!&5w8/,gUw l p4FK mX%;;0"3aj&9WAPz 6Z,*^퍺ãkRd29DT[>d d[jI8û߇H >\~(]p1XUp}h,ñ."'z;I4":9g2Um=ϥ>2*cfk\4$lߕ XqبR Hs XmH yRY{5x PE5:) ,`M6s!]wIqfx1ܘٌu 5mf5R1V]poٗ:;dkF 2E[oZ!D6DVXMLhl˧6{_nz~nq\Y"l@G;W5!~'U$|H,1xݾ<` Rx<ȕ$2-r{VuRY0> EL%qHT+4TPd85Mˆ3[ ~UsቲEY bfԤ\qjbLk;/.i4˽Z;'QϓB!6H?F|S eΝZp88sU5a\af8hwY1 HHP,Yxo;`,iEfp&&K19%|ij z988Q~ʝlf=Zu7TB-O$Λپ= z {'zpriL2o] h>+'ϯm .CqXī1)xD}aX b  ,HziEfG~ѢM3̗1 U76 H)52 .bQtm}a rz>.d%g8߃:V=5CIk l/H `CFq]4R9oMEK8Tt: s!𖂐.S8` •C RX1cYTEltP!?ګtg2˦SJww)pM^lf .EtŇ$ne:{8Y2M-}uZv{5HBadwGZڽcvz;`?Z=!_ kOLTO@T_~|Ą2/ ?qV:G{!c{=Yvt,XLI@dNJZTFb [: ~]ܿ}DS]= \h4Ý%Y&Q>l3([z VxޫI,ΨF6L0ahܞdAi)O zVLp:8,UѕfU r;^۔4F"V:jouRc֗ߑ8A#bMtgu}+;M3ql]la7بIW04*TCo'[uRվeՄ5꛻)"ʞu]G"kWg:6dV/tPp$!1<NhR{Ч|)?¨0$tAA Њd9鐫;I[Y:/mk:5%(}*r.&|Ǝ%S#0/`Y9ldK$LT맼_h28"M08ꏪAuݳLtt? t{Nk$㳸&i'u5SX`C(\-EG$yW2eϟdC ~%3yTj۳.RItN π Ht!vg*XBewV҅02Ωrb ?/i6hJl^΅zP7c7( k*\{Paoc~*0WH7V͙aĖ "\Mo3'xqpg T3HNoȂXO|]ӋmN کnъY#[uv^CKepk4À=ACecupCl?a]on"173\E5PFH<+OdIds"?9G3?S4C*+ (q./zl5MOܾnگ߭ BZR kr"EWHk9 5JONH5xELZ&"`ėY!m5啽NTXvw#5͡@1n%sd).}2{ Ww'H_UۜXMV~}(/ 6'ӝsD(AiV/ibO`tFM8 PID~.,"m@X;]mV<(0olOM§N#{KT,T 䎦[XpS>*F/+_[Mff@c|]M3$@[3On+rmm%*&o_$@9v?~OςLpoȒlI0e˿q+bc\e"nB]#f~y@9|^AlzD˝/n/:rfFbM@^rQ>6hM.x)r=)+7V^s0:i`!,K:  uŭ׵7Axۻޓj(ܢsj\3QkLĂ*Et|^98Pu<0z.h'Ba ǘe\~,M`dٳ?OIC&>`xB.JC?"taCo M>qrWp)̊"srg,e'wUAVvU.!1#hőxI ) 6(zTmMoY'M>GkOY[T!m/E@E2K㻌(]C3Pcq=5%NLќ(bvd^OY$Dg"tt-SjU;FGTғ !\6Мl?^tdW(WؙR_".LČvl3<0ꮙ@)7)"p[ ";~IgL 񯃡:u7JtvH)3Js;Kk{@΁HvFuT^9k>V1prsI5 F~@f}!YQ) ;D\>nY]Y?,?*3=U#bq-.QP8\sOC3_-4j Ĭ¹b䪊 oӎwqA;ZQ/f2VwOXuVnr=N.}̉KlG ').7vic`vED Ӡי9,N 9W-*-̥`zv:Tnz/'H{=Ҕ)k1!i!غBz+?DraW6l{P ]xy=J@dit:Qr"J7y#[7ynA+h^!@bG;<Zv"n^~iT N_bgt+ =|ؓKu卶 gA9kgGUX=BkT0& 9.^C [79oYam#^mywqPk[8N+CZKT=ŚJhL[r̓ROɭHӮ֪Ii?`7&6;e7P7U*5ch.G)p;5qCZNEn 9;a0žC>cs.['Z媊ZmV`Tu/U ն+QctY|uppI37B .c2KTRxrE2.V}bg=}<~addZT6QoRZ2MMv nG a,ɿ ࠛ(?>P< (5|EEYb2[U9-Yp|3p:xw?X%}:#iqɴq 28Xɔs┱ jWQdM/L,CM2ҙ:Ip6prBC.^SN=tfQ &GPbVlS%pÏt%ީDɁ)>_ N|r#HcQ*JkR,ns;Hmu7൅.)qT7" ʺ)λp8u?5.Fާ_S*ꄑO3ZLO!vdFMaGH[5+r֪EF _[YZHWe^1q/>@onF)2/</(V#WǧkYg/F%פk+QuytF0E,RՏr[bF@U2wG5H-aQy}n w1eFƣWmumE|НbX`"+oOcNō̋2g6=rXe՞n,-'7g8QuL:"feP+D jvv7f  oTŭ,ϓ"xv+!W ^ 15lrg#<ŕ QWٛSZ)9#JO{rpfeO?pkze 8l˿I?)]\_Gx P$1%-Hy.xI~4k+S49zU`u!߫9ٰ))C3XJ_:ch"r:ֶ-YvǑ˓n' T-cUh /&aڝk"8|R+i n\cb9cCL<>/eG۷Ol]7 lyŌr?K'8jd$2 W"J̟~) RC̢@J2$K|G;+(xg]ŚG~K8?b0kĒ=Y}hn!IELщ4@J]Y>N,/r;#\ E2 pn# U@b@hc? {nA 43qQJ2>KvvpׯB5m6 7D|v'>ޚ*2"Që`O"M}+ȰrY5~^]Y̬ivIR`T?V tQޮ,eej3g;Pھ"3V+7%=0D}e]]R+U~ꍩ_`C( /DďRYI}&{;"re6 .rقqc_G囨:2]U'# xK leS^O4ò!@TKp?^YN.r6oҧ+GLg`ğAś1@)P9_ 'I\)FVسGV!\ hOY-嬤u6 b |zS9yb ҉Wxany|{e;7sta!u&Ơz|!i=wbRwR;e- 19Kj`%!7#I=npg"AnVrpJUC4fϊy6EqX'yQz\![g6C;9/=UIn7`F\""syI'߱zW~ȷ*pDAwj}"΁y`t Fe hZ.\u_{S{dz<zZ:v;y; mA+QzK«^4z k"s)3EԮRj(}8/EV[ Ӊ:WN)Iexv.LP~\:/flE.8<jUs?e[6Y52x5i%0c T^fM1.:`]ЊrF0=<ˠ_zos A8{;O9,eEh 9(DTUGZ2lPzQ9x!dhgp 868`Ķ*!KbO1O}o*p/Ղ̏xNDEUDNF p0mt.v|0Ի9V6SvTh"bTBl9ob(sǝfƇ!0T<- oL=,U"Sd47 ipL<2.R/Vq)ݚo::/A^ 8%{ty7?F*Hjv |$ZaPG)ZXPC0!Ϻf|:2g3USŘ!Rdl:V`:P %2t 7䜪SnS;7WH#^U$Ę/3]Xeu  3/4xv _rTf^3(E;aNh'En;yOzŖIMm3ߜ8uMg#BH&*DB^ AmY;& Xa)DP#SjCuT1%QP唴x \]@6i E<6``?A:[?ĩx$Ó 7⒘5_C2Y*6ݞ,Uеd76Ms# X`Ǒ>Q 0eyzBzF{,ٓb[pE vg!#ZL0? m}.!gͭ $0(hSËҸe:s[[ gSCki{ELMz('(W?oֽ5B4c8A~W|PFZ q6Xd2 $)`jAn;~v7Ú5+(:H"F,Z[ߛWFrsuSNQ{S\m^8 5xf~uVӤж5R!h!dgL ؅^)攕QۿXOY­[Q@1Q"~MYjp%1 O9}V0CjTkF?O x#@՝)pM!BN/ aZڰ]$(D7㹵 sΑՆCP_ ?_Eiv8cL_UMT=4Uf'T-~ffFÖW¦4%F2{72E~g H(z0V W6+j6*ڇ.wLIxf\<` VlҦ0é_hgI{3Aϟ-#KNJ9+> lW9N(YA7pߝJ:  DiG*gS'h2;' 19jzvX]s5puQSYU6tt`ogk=rX(غZͱ.,5=V XEM5Tm^A4 Zn;Ԉe5fBN:F4y3HgD"*')x&;yWh,VI:ӗPom>5\b6FZ=&G&[6v\6']ԙsŸRGywJ% ~pc!+qj\O M)zTaX\jˌؗ=Wh.g:C[~/ajgu,D[;Ԁsmv`h8Fb2y+8Z(7a ލc;/`f(IE{ o7JWS-Bf 0\N}7 C$xjA'.Y52߮NXKV)@%?!z|58YL%D\}Vi$m^z a7#90wk&[>ܟ&\7Ew+- p!Yk2]%1j ,\Z8jթ*#Qvy)п|9Q._1ֻw' {8Xi|eu͟N16 +\iqX5onVWԑct?O7 eGTŬ:sp= V|[-D@xUƛjdY`_Z{@AVi 9XɛC.|BMEx.4=6HE6{W2CXmLῶ PAVfi6_ʁCx_!kvT']pѢ< ҔYCd Ag$=dͲyF?rDB](7GདྷO&g +W!> IEr&cr̭`3@a|úo/!7!FJ1¿~ǂ8lZU}f@ ^EoDZW+uXi]Ƹݤ ]e"bru˷, DEzס")[›@ꝛ C…+ }E[]aflPXݑfJ:peqfþ%ĉaZkg &hGy߃T}ʹlB=uPE4'`X)͜g8mϜ=k}YAZ@ae,"I3ćoڭlr {ܾ/69'ߣPYS1չS26t-$!s4(,LayAWڡq,dޖ vDz޺&,)5r#!q1bpV]4)CjԠRmS\E+x%=9y'1 q`꠸hm 6y"3ѩقQ<.ܝÊQpRj*C'pd$(~,vXifYf O(li TK A{LJM +gh1pD=Yl vcSRC"te#IДzN1㒪2as,q$]y_HenEJX '|2vcb$PK%7>X#v u'-bo0&Q'y*F>8H.+3¾ 1B9"{-B+[fi G(K+¾MxV\tG ]거Z/q0~dXWya2*:`#ߣ䭩y`@6RgR`ӯޟrqgP,FT]%=3EiL#/OdlSԇI6gMy]K/T /AzCtJ7-] }Z'NԢV[)o!&濆>{eth8Kv0O2]Y]˹7gn_b\ h1ޫ~=t3z#}g"|Sh tsKW`1c#$[{#EbŠDR^ i߼-z9j4|S@. A3m(l}ϥr{U<5)Hpe['@ʊ u GIb([q;( ǟQOXywSy.DXL3Oj۫u $ZVt. &(w*f{ Dx'J6S h H (F \qbecr-TSjn1m36SWPb_B+$j+1CUt1m:Ħ? )CΏ B\}e6+zTLƭH }aw_$zƧʛ:{'%n_nLCLi u01IMy AܤF+adl!LDmwOKH|DK?gFCgr҉9uuJ@g8%bC +B/!rF[}ΔsFlC'y\ы'mm@)\F x L5s@Tk;π&Cɡ\_d,FS fʑjdAlQl2&YbJ c8#l *y BJu/Ͻ=WӋ=kfBÈy/ϳlMqQ hx t2qB#3sgG H 9#P@+Ǝ=Rle9rWEzL#׺C~JH|maZaM[;:D+?ΛkEzM{lRe~#UWiwkp*[[C龜ⁱC g~gҧ<0Sv[P>GЄy ^EWO8S8UݎgVG]lCN[VYLHH}XK 6澄OĐ5 4f3i*7'Xӹ|̕ d,rrfu80V J3{IL*y_|{H_(I|tcoaeS|], a{4;w8ieo<0bJ){Vrx7;4 \ I( r2V'V)LCە=)̓hTR- Ѱ뻃kcڑCli)&8~PswOz6Ew1^Q<)>k#ԢfcRɉHy)ϥW{dDnjE84y-~*$AAn];+g[{J0t+:, fAhd,nS4rX3#[zWM੽p7p$zElGVޭo7_h,Gub9$>=-u\=aOOgKR=n,` Hmy,jG~H.+c@ Bw{#b҇5VE8UZdZ`| b E߭D Z}`SH?g ^+lVeP$[PX\S|m3Wh\eoWK}\AK'#cj=S)zdB&1{@*8eBkLass dCDaE>P|ar SCBըOl]c~{wz*}c!5QJ8<5*z. Ci)c6jUݰn-@^N}~XeL(vZ!R JW4ŕ'r2T/\I< p/2R6to^xp.sROQn÷ZۢB2~$vl@*չn$"^ 1+IT5x =ֳLvą]5wZKٙ5\);P{tZCUB'ǂE5ï/UC@|c7KX5џEDg@<ڟz4 6f 0{([IqHl0S3h%p! KN[!$8GbػĝmitH wq/ZUyVD 'W mG .BFZ{lRT*;KIc%3u΢mnzTv JO Fy2ǵQ(GI|u ms]#0yhwZZbb=R.)z o\ЦOgt-*q{77ɺ`M slN9"`2`_$U[NgQ|\t3= ζ'HJ<(2/߂B4?>8FފF9"?6*0a__Qajw!ȸXx2GO!A;i$ظGfRTӨ|O c!lhs@C仸n ]Hƣڧ\Ȳ7Mؾt/,͞& *7${d}f@8#]1(IՀQbyN60$k$>p?Ů(<>U4U{48roZyɽKk?BCa";R4_k{oaۓVQY6Y1p;3cGTaWf@Mk2ؼOX9pwHiBh7<^︈:`b)P_%s3ŲRLFRM.o9nXImD˅4';J Iӂs{KB7 ŭ@!ZuHmi"%2JG8C?>iȆA玫&v2[J ~p&XLhhd̽wp/L( :YS C|m8Ag*7x㨌ؓk ,Kdz~5b* mx*ښ]y_ Fsc&{D+!/+,ㆮ(X$Pb-sqOC誆]1r[3ً #CK(N6>AҨ~igT/-rjxq=HY^dHȻ'j3"DK٭=fuG{hOd#2}X|?٤d:96ʧ,%r ]sziz)eΗVZC?9:578_}KhP%@f^FkaWH/~$ƒ@8닶AQ>鐶2]YETOI0+-dm\C[5r!A PG!Q/FAG֙Kqlcل+4qBޜȆr&vO_/N<J~XŽI~*N2JOH7sm%!#@D0"TuneCMX{7S_${g^6އA%2Vn!/r9'a/̓5QKg"!^cv@}~R[ }-V{ 'b`F'dTlp"nP7)X]eһtf2'㽱5f>Xt]XQrTkߊi:wC]%횪A(jf\9|V s@%O[j,6pKOM1 i.jf'oI/=ͭX>Dr &5=`ۄnW"Kq Dq s\xC\ H0g$M⩏cZs/6&_›>\=} goV2A NxSEu),bkgb4%Ƀsgšj)ןzRlIws wIKYDd.<9z keFU,qg( >GAdL )d|*J`q%_ 6=^7#4IA6h(wA,B3jS5?RW:Y@DZdJjVG xKutvl#tPSeB/r/Y"l fRpxK9$C*1Fn ߋdz_S˥5BG]{{ŇLܽx][_*XtvULa׈AKqsJZkPٽ\"S5_Յ?R/+E6.K=c7Wex VqS}Ip% YdeѹN1L5ur/eJ12pHf-q;8_̥;}If]IHVJ NrVChKĀ1Wkpu~jd舾C?MHO7uX±jUmlo-CsC'; jpH೒юU󀷟ˡMEh#,l3IZ>[},n)itBJED?óϥIf?Gq>G5<cW&p9N/8džz.6d/?t:Lj']y|XЏ  Waj7A]bDe$8>b ˴9<8y?D#˲$I^X 嵇{_KIzzY-qAΓ<ϫxH۱mzr,;QhLЬuq`qD_R ՚RV>7ߚnnZ4 <^fм .elےi.5un'#OGFtSI8!aQ$.B"G`<̀[$PCoE`#ye :U}`C=6"<]zk5+h S;65&;hk|y (ryۋ o-ot<$&sv.SKJNTB˴ŏv$.zdq#H?瓎 b'c{pD3A!kaыo"zCZ(+~+?"%WkiVs OZ %H)Lb`0ؚm>uE({#ީd74BD4 ǿ#q/p%UY.R_Bâv}hCkS;_֫!] )ה] N9`OEK3WڢjH';N>SA`ǜoZkv3Phe*^«ԕiTВa|%C@D<3ˮ; p*dr^TrO["-0|NFK|끶uzW}"$n] 7w7I륙OeFv@v}oƼH?&@; :f7}h(u[gf/F_3abMކSXGrA5UE1* *">qɕ꼏 @@ao}.]jkp+7L1EM w֒ w$2QSP?Siiw5ܡc<ϡ04s~*eeǒqpC$=Ij:97Mi!6UtGRIx| WD?QqoD86d#7nm$h,gTdJn8 =h,Ⱥae;.-ťp UZ 7Tr6b4U_`>ZJ^d0S2]v=:6:8wAjhPᬌ-\Sz7\F]鮨̈́g+OR{,/썈% 1' KЯ+[*(qoQܔZ߅Ob1lET,o9 cMba{@Jb ef2 񚟦gft#K˔j搆q ` @b1tE0++ue[ZvAL-[;w٬Q~:~ (p8b~AK)PʺMk{*^/cX8︫U;`"FP $g9Fԡf%{nɠYwŦO5UpnS^_G!a6h۷h0cM0:Uۯb10ǻk­ObivZdQk^cxhkJMv5P}q$b]Jj­/oܙ*3^kĥ8‡ba;f j^_Qx X??) V'Ŷ7~c Փ$@NB.IG?dyHz  &.vʩvޓ4 jU',52D=iV6\Ael0AK+^ /+DGwa,4unW:T&xl LծmPzah - GXS4Ϯ'C'N Z(i]B,JlVa0}c0˷ӭo4 1׵hJ7 nK5Cd|cC-K-`S@k!sR#7`E D! 3<,N8%7?ߘ4?)+K65P˝g"aeb#Al//Al:Y,*A0UD 5=*Vg%Cb |"Ww9p Rj!I$PFJp#~mXĄ_>f*~5NJ\_S}4@Oә4U_z5}&|&D6${ ezp/R)JZYXNOd[{@zuA{ioAd4# qm S`sT`B9Gڣ܏b;S@@\=:N36L`-Ni솏cu/hl"VSvj;Co߽ ȕE D+H,2 J:$W].<)dz{UzطFWuFdo;ծXTPOa_|Ke =[حMj `Y{Keֿ&D9L8ωLLv^U9azN= D"%=?t쇦AZv0\K/_C`6vXI};&}xM$eB4I8JO+c %uȤ̎H+!'ʛrMf)8CawXLiZ\軞aȗΩ+UkfZZc`$4U[0I |P 殟?z5jƥlWDXG+om}7X#wA6'#&DI)D9θVIs\SZX}H)CC@pROLPY:=t(J?^" [8Zr+d,xiY(z;R~$5W5{1\Jdb־pՃHհ1?yJQg_NeM{IxCKyiC$MNojyPId0NPuH'&`9$/SqShƚcFWЪ,?YAuPό\=Ԯ1scJoC~m֕8 ȋw>@?ro֦dyG`S0ROB~vYb{bf$Y;wCC$-UW2ʆ…,TGcNPDYzKBG:|wOikrHr`Qۏ ~dr~,Nvr*S[qodMXw/qIen6X ][DB 3b`VZӲ @LӧN>PA*cfDaL QJ.ol'Z1ꏳeޤgSǐF4 yɑClqcNSU,SNϜ% zZ:ҕR'ɀ]RgcG&8o-ê)+ &%l#}s]n7Ѳp1E*YTI@MGȱ&xsE> ipʓyϞ6-p C_'E:غِ^m"e'!grL4Ԇ{vf^$"8 `=şeWe/hVq'J'52ݛcSFY5UOUVT~F9a2E[?it X:fMDH}OhuI#oq6* ݇e5XJ,Q;q\@׀AE|Li;'Ɩv3.!貟6FYj\17K yrДN Slۗ1 0%lO_LYVs9~n: ȉ%~ko/9H!GoNHR2~Up" JCMmfp֕мŎwDbPKiw 8l.K*ҷ A۾A\3ْr~M/I_P~j2{_=JhB/UE"v!S.Or4;,"'62\ƣgFcp( 2ˤ!Ϥ{Sڄy բKC;BXj="zihGV0J_TТ0ëhfuRU͊4_ X/F" 0 vz+xI$+8(> JUvztkKNq 1.۱L4iߏd,,Mh3Mx(٣ipͷ9<#YŢh֘swސTWMwzj] IA˄#`=}/j+?y n:In<]pb\+~o1JC6`= C+XXdxZ~kloFv>A{98dPZW-  f}7<|̐[z h؃ i:OPj>o_+uKd#<ƭUP@ZD=uC }XXrIr3|j% s+:7#ZN&6.d, U(ʨtPgʨ,/xȣ9*~E}*;_hx}tخT܈z |7V"F}+t']8iءS'JJtO0D[e2\'r[(t~MCEf ;\&9M/ƳyY. y,[O~+B&Q lr/:VvבahY*Fiawo^K yocdeg_zZf 1+^ AbPYulJe7m6S5CZA TǶ*?C-HMUK~&Uڨo3vɐ4|)Vs$=*7rk~FA;}`oP~D9("҂]U-+{p.JeFbqz@V'OTӨcyP|o=gwv(3؍l4-HS`(-J=@Vnn(6^2]Qk`oCOLrxik /?l`GizKU?Qu֭@i,T$.|P̸Τ7!5ʇN׏{6F,saGd׏ )5j3a~B!4h'P Xz!.2w],[;s*߽0k%~OB(Dg]=uN8%BȘga°=O-ANv"7i3bpq8d`|>>psLHq 2ҭaD7zy> VsbmIpJ3wm.gxR{f2N@ZiGl*2Cʙz*{Wew^5]Rs#k%7BZ%;,r;jh$e<|cmNxuyCiT?+}f/!p^+s!G[wh п\,Ke#@ 2O34*( 5H'23C"` 4R EWjH="&ˋWdר $W U0.wuIBv wM ˝υ,ڈA[Q=d =! pV]R?_fiѹc6vmGڬ&OǵjS U'xE֮eqCE| afuo((r 2jr z䦻Ot5L\Ȩpz_oJ/COU+9ݑlUZq359Wbi+A,U+g~K ("V[*Cae 1{@+]G(wl:4=cgOօL>Fb@87/}~MsY osͩia7>1CK5/h/pCv*Jt(ysrڀdvi"rez4d׷z{6mWdLɆ]tD/;ʅ<fGh.r@ժ]k4V*¿+`<ivn$gyUH9i{o'a3:8kB>X\8Ic(eҍ> T\8lp1[_S-! 12*p!t}Rnf~w t_n/FZ$E|ퟡ:>̩HjDEu]C.yq/ͤ7ޒZ-UXtCe5OOv[bA g}d0Év_Z'/> @#Č69Pyf冀S!'W2x!D)eV$p}-& 5H&O'g"Ǝ8p;IO$/A${ZkժU֡l:~arNzs}'hv' 8>C/sywǿ8a-s}!>p®&1ϱoj_GMBv6B7FjII@Tn?|\{(B\9#zb$۴jv⹰Z%6:6(r[ eͨ _A53zIԝ9u`,nd2e o0ڷapÅ)hY>9J85y(#ڊ,|ɕ9|K((U@qG~}Q]afD hUeqmt{͟S/.~4fa NV,K9n#7t;5&ϻ{=lřΡhOwagpPlW"Wٚ8w 2kоl'joIFa{v ,re ZiRWhvEvkShVK;g%X41)dZ-cizfK%J:eY} m!zY3w%*b!$vw+'#)\ ( 5m>`N 6{.T .iV]C Ck|jlwRL06(tILfe7vM|2_ &`ghE 1R!'oz^f#GQnBz^O4+Fs_\e0_]4['XgSxV!vzaO-J#ex;[Gy?R/ڴkE1SȳEwYa_tܧ 9>oPj`i 6 ZB*SE<;gKG.~>/ߧ}o dSa{k CVuUF`$2wS/堿vu1TqoE8 La0zf5(W @)bӑwzzCԚcbX\ PХ)Y OIVxUlNJq0sh bvzu1%SxdLb0ӝD|xjN`=')aǬUh,mvNr 4RW!]8{Mt[ps fڈdwWzuelNiw葁m5d}X /@]θ]$k-%ttTT6cwH TT&"'qxNY@K~ ,Ve!6/[`Ru΁0|1]=exR|)/ٞQDE0՜{AYq6u evWyH>j =]ȫPŅ2CG&/LlLg30Nw>7yG Wr@R碁`3_2#*RE*#JpaLgl]ҚZ/f 7bٹ>&L߶a8숙6`Qi% i}owv҂}Մ0=3=p1})Z{"K_u?.HPr qLq(Mr@_,$rlˌ&Y#DngS[(xp wL  lfF˞CR'-[PomlC+둪Z浰dO/I>Ԥq66ow3ZP*?1kzZs\Jqi9?6LS&]^ٹ-u;W듀+|OXʧm.xJhDT&f1OMA* #!>9?D ŞU#Pz.iRMn?j{c1GI⢻#עS<(?Εy~h pΌ#xDiZa=H‰}`o 3n /98w#B2GS۞\8A Ve4zT|x/S̸+^/Ytu9xX͒Ћ7JSof1VТaPM߮|zp 66ׇWL46 '啌omFLQtNpbJ%K }  ; g0|-(Hʀk6@PZezXpӪMG8#vB BZAꨮŇ`9Q40<5f Rep(ZW`w?$s0ҩ >m29q*7Y" y0̋q&JɓgLQr3zJHQn, `!۪:3G=c|BԹ/DNibu Z/(("~fe qCypKW!꿸O(J Ti ?M.p a9_ЉVjc7kci5Bq8jxE)J~%j E;bUbRc51WzзNp|Aw k "?V۽^x`zrۆOuZ axUB0쏔@r|fͤ? Y|sHu`Njs%Q{SV$U Wj>b+riؘM67}/~W|]4^4])XJi 3+0(4>ʪ1EN(Ni#\cshu"YZ[bXhROg}y2VU쀱bA0%xy-T8 ~A)#C&C H~erSb 3yNqaכ{iZ V%[m[%qCɕ̫`ۍ)7u{22uI+d:@|9 {V3o a6SpB,~"HB/TeFJ70D|% DI/N#NlBv:8@& )+,9bZxs060+^(5P"6P ۖR3'֖o{aQz= sZSQ7nh}[QL:[ћ05fGLqpxk9ghj)[X rJOĂ[2::`-Qٜ81⣃{tpfG7B2߶c!303̷PNQϼQ\ҹ G7V| >GvPu2p:+ILŐ3Os4F̷L:hk{Z 2/}Qw9*D֦7tfq@9fXq'XJS]ѱ`l b,w-:( ) G-̳o(_ 8\6i5뗁79*L{ws*ΏC?.Jzc*9SD k!RSXJG0@Q6mUrleށwgV ]2Ԧf/2 >ϸ}zR.aɸ!ѣMQ^lMI#C†y^, .!|i?a`8/5IͺjTиd <3+>xt:0R7#a$M5JćQCP }I/(W}(sN [S<Ce! zhV 44/+~ye=؞k< mNƅp q)@q/G8G!8->LG{>>l}nW6 ɹ@ CL otJ~/ouɑc~K|B9W0oT폱WV83RqDz("^񔹪AtM:X4Rr$KD k-^eKܾfʭs&<~RN}#px !?6u_$Η,_kEN54!LwNfox5C坲Dq._ ʖټ;9y#cwH#;,J?Ϟ׿$p r5 YS:̙y*`:S4`6rg!o/#"qLAq9: }^h{IVvD ^j"1ʮS~UrI٦ǖԶޛ#3E¦k9a -o]y]R<$53UV1G{u.Q}[cċ' \y/tzkMTyý7cd9.7-ޫ zv'lS ͂?أhU"V]51qK6U؍*9R"U9yd9ɋvJU%)KÍ˫Y"tC Da] sO7ghY%VH)AęTt .uЩnC^m~$E ahF=&A2hBb`?^̅q9\$7Ru"KLNAwTJVE>vZLzz #ѬȱUla8ho-b܉L78Q ǎ>)ۺ٦+cIJP MJ ÝQi1p4GQ8:E$g-W"]26lF'TQ@ rC `^gpuP}+ӮgȘ| hY=䪹¿T^E*`Lz1xe=OFő$s}@{L=,vKM]qaWrv+9-qFNbpof{̀~ U/Z2q)mg9U$̍ʌzSD|%Jpx+ފEs-'؞] MĮ.zVFPB\~/Lm .c.9OUdA3kQ(Uk- CX#bmR^7ze@Kd$ufJ{s_Z9l $@H0S,*ګs}+4sn=qv (6|{* /g+Gr2LL/!?H##fc6Ti Og6rC$q%֟u]BPL@3ylGIl?᝺?*rbKaȩK$V?ջuyϐǩ>'tNZxQ8as_q՚xԜh`zf\ ItC5Y3cs߲J_cp u? %1M?z[gXm~[ǯ{I gc[-q8e;0ّSȎo"NX@kl ;/Djv u83IFN(t€d H.~6A *fqw7~ EIp<% b\.Jbw&ϩ맾E!- Gut;f}@0[ eL rO \Km IBoʷ,v}\q +!`20>0t+ uuJ=8ղv :vŵ8 {=,}i(aѫKȇ GҎ2>fJZ1Kd~tCljaPs{eH vM$7 .;b\d&/Yd&ϥ3zvC|T)f {\^ʃFXaU1 q:}k-'5ٸOfla dƻV" ]i|b |Fm7 xJj*q/(뾫5xԭ<ڄ(-.& w2/qADy,:B?r2J@oliTIgǑNCxBYUԘ"uI#-W6p-< m;.0^Kڔ/ak|@㽌zq{'A^66H_Ww.ft;6w!`Wi_x1b_5.CsH-=]. @П^%[Ro%]R)hP՞WM@8$htUdw,k)|o h,h@1~MҞDp_~紺U T$&gƙNNH!vU $(Nlۗu+i_WiLpAI4Plѩ.;T~BɛaSNrk>R y=6!'c mm V$ѭ${n6t_(>/o9#:L;ecB:MJrHc''BpyXZ`L&;2Md_ Ep磽(F#RcKpW ,p/Ҝt%>Du=~ц0n!Ao6~ ȑ $W%e$Hhv>D>%?+PxKYovAs:dl{\ E"s4+}ȍH h3Y~3˦/qå5'8U?JKĬMǘZ 'KJǟnҙ\D =W{up>/,Fm=Y7=ڴVgbh n)#VǂL'$P$oQ$Gie{iIj˘"JQ{hW{ی"a?9 j׼ l%ZWGid5xHv?Z <ؒ$ D$/K6ˑiX Dž&!Ur4Ԣ; r c $y<k!촂xX 3ҝ۶W 5rM< C[,¿?t KĩA8THߨ2\R/4>d$~Z""FqS *p2#6)0k5rU\gȲOo^vobu4U#N+Y+!>R'2# 8wЎk#+7~ĉpgҘ/,ci5J>["+fH$cW"iy:n~S-Ty4%lJf_B¬bʣ,Ρ˄N B'Pג ^*k^Eu"S,^ wPvA*K-r*?}?*;|Ƽi(|E:lE'> mG~نqX8Tym_豨|E~ 4VIB|'3jX}[wroӐ@ ;4#}._3ORHbHxʓ-l]tG]zjLK6}ƥ4f\[z@0 D lMR,SuVZLS ;htZ%= 7l]Įt-Fj@QD0 R0#GhLY%cZ)nwQM'AX撍B|O$*txSxOu;"v[OwRܶ)Ern m[lQ# xZ[BH LM'"02/kF4=g*B IfxNTHO=藙52^ 5YHA7yݾLk|uәtuޫ@bDNmQp];uuHlwRpLQ1bS64m +h,AiZ|īaBj/<oXn˜%WKlϏL/Nty& TRgyqoZS?]hWT({II<ș%!8ڿCȅĤ~nW *EV>(.4 'Wсsx53 (lKctqK.to?,P2"ȴ !n~_?XZa6s~5ix|yxذrwB2 ٮgOLf,7cE#/~D"YŖ` V tb+ςioϹ+|?Ͻ<(Z(ᾝ@xMzpaU"|,#r4sM&ЗL$_ n:$W/~*N{D\Gආ4땸h5/*6Dsχ8x3ojq&#}:c,MɯxoRi  B:>]*T!mgjG7HN)@fTsm?Lv)֌8ѴomQ)VzA1%ؤpkH 󠛷\*\x\ A91b²v"bk$f0\y7hN,80uف1Z=A݁ZlYW"6fcr+5$SdlV&鰇\?ĥ/GODޯ{ns;u (gҼUԉv.+Ί&q%FU4N"sCQ)˺_JF !V`4K}`XIWXZ%Sp]QBRIClw]&trzOaK7` 5aȼӐ۫XBcFkbnS(Aõd mVӤ7 eq֜.GnӆV0k+kt^KTc+>e&bOJ;-nhZXLw^XהDAnnتNlCГM0~Yİ ~*O_=E@P8]ۿ.\w*h qEK9|K:T`-ݶCc`HAd{O4b,Uu\#O~@@4[dq"!dK:eS;!hOx!Σ`@Ձ 6 ݍcݩN{sG)fg?Y^W3~@ qǢ~jW)v;8VBl;4TV'.4._ۗ 9%t8\ff~~AYULuy`wBF|;I\т*`2~xekpPS MK }^)JSܦdS<B"jwWߔ`d~` : X{A *[BDO?@lYYD Xҵ8f8OucxmJtKf_iLĠm #.B~Sd-Rr@bNB-̮YN~gE:gZ[JW*5L}č@ZqP2UPT}x;bsrj7Z Jð0s{{0~iMص꫏+V1 0D%zSCha׌TL{Ip;oMJnk%?ѓxPx_NncrvДтOחnyڷ!rDskQM=vId 5،kl<(,:-ʒLjhP$[M)(h!q_P%iQ 5,)3^9fI 8VEp'fYO ȦEo`N @4 P):VVa7k4O<)~=/U'r<,A1!"ETo2 gA*bZF/A\tpQ"UZ`k8\H񎲛:THzA|2)O$Oe*Z2dB :̾m4=p _`h|V9Ԅ ]')0&#^kc5;mF Vrk6tt<+Ҙt(Zx~5,֕ʄM͐-/m%;>iD(j/UXy~C!:v eŗ$ 小Z0J PO^m¦0+8."fl t#qT STom#׵NIT>r'X$qz.~G 󀞚aYNZPGZrb ٽȑT~3fr{[ړ8 ' nq8xҶ,; YZ\ 913~x(Qxy=`΍{ W#ҟJ2bkDnT($7 j6|Z`KS:fH =/%l"f @;EAӏ U-HL9k7 IT̛5+ KPlu~w[}T9LEO-u$ f2uH}Zlt0|.&PYUS/; [ AY@|a_Aܜ[ v+>,44!}gõ8%xLa_V Xo.i2̰DM&Tk><,THvSCocy FͿxTtxzk`k'AHP| q'ӌlB1I&#t2pvS@L$>%9cUG<Ŵu 䂿QcJT$/awH=5s@>l7sonX6Lv]~aG}z% 2ɕO)ʕ+dVA;c"B``N5\1 +b2%Ή Πmv hڧVhohcֿkiG5kTpFI$K9EBR2@Xi}vڛnV( w ilGvx,%}8$_BW$+oSׯL6Ps[pY}=[3(e6֥F2ˆ m,Y) B8Pj/|!=?(*/d¥_mF¼mxP ǭ0+!H$wm@yu r xtE7y a}@7'i:Nk$8+TN 4 R!FR;elLrC?|t=.Sc~ >0bb /)j{m@vM+jg*-:۵"{m/iV\%fd^* (+Ee#Λw]ڗqRpWv!Bq N8j$\%i+bT l6F!Ek:%ai557?%QX5YQNhfʅЩ7ˍO^UeN܅ psEvJk]IK)!֨ xPY ;B$߻B<>+Vk֐i:384j#&{ qmnËNg+tݍHCE*jװqkDGǘCUzhZUXsv+X:DRc0_dB)0h ǩ&0q,5\ꦰbҼ1 d\^ωhBhlfw3k#q'uE59~ZrED# YU5k=d9zߏE+Unt阂"7=C }>] hICOJ멮܎#Uz .\:p?c@ ~oB/6FxG"RQ1Tӷ䩇E-w/ΎhYvrbV=> ~B3@]BcX}Ꮪb# Bi8hmw& =i~%N3]l+I$:pY~PIbm<.]3};@1ېtO)t`(V$` znz&I ىxAMmvORGN-aVxK~"OI sl7 ^)UI4hUUX@덬U$-?sZ6ZW=INW:3n>+;M< -S5PT"u A:x3Y^tN\6e69xTW9FA4]E:xTq()M}Vy66ɥzSbL5Xql0*È@q|NGY󆵘p/1n5vݭH}AҧRW~@C$ћXm}RW]A*,z4bɃ`W# n<ޠjJ;_lgkfҢR/_5fu  7_a]xn}cOrKBuHWR,@Tp` ?FpwGt۵V./GO!W B]{sp?! ̊X@߲mQ,^>w\B?ZASk_yF@_^ܗmG@jNj)~xw̴'=VYr;築 ކ-oHX*E#Zt6ckI 6|9&@9cwy͉6D@JvJBp2zsueꄯ"9L^]|k;sZRPD00*ם+2b1S]tqmFU_EK,I{v.!p#rCMnWtǕkHبq'U->N%_jnm`8weG&e3b߅D<ѺY!͒b=eHN,-:0Nw xp\'fNBiu\?l6$dw"ޙ@,i_\/9)]=3]%xJR@KqYv]u4GDͫ`E6e);ט{c+F (jőXRy)ZQ[WjBk |gE Z9=Ujn+ E#~&yCChEG2x{p~]Dy8nLZs4dx6Vl=lט[׻ %eא,f;;h`qhe۾1ZT+XJ6l] uy%ڞC:$+qLg7jU Ҁٓ7A$ae7?3P|.9`o VMdf=z\[pdtfG+l$zkepRcK=Bd; j3#ruJhx}eƵ%Jn_4OlS] V'9s$=eK`h΃j3ԍ{S_BM:kܑjZS| UFU/݃Ao#_XtiND[nq1Tz/wT7*#8|YWj'@4QBW]x3K,N^a1_t~']x=T(Sv2qB1h=_~&όV́#+ψΏ%-Rs}/87avS*G1J]u&Kaزj<\yH]t.mH*TW~/rU԰l?OEL^\A?sMZ%뷛JI-_MPgF*tZAQ]?6PNrk_#ݻZ05{ٓ\V 3 |@Oov(֡(*ddP?_/`ڛ8qi4#9gʍZd}R=^IN51AM Ƀ}SwBZ1d :vG:wi~vcsiηrŠ?*E5t1\wHo1_E1C]A:_Mc)(A`ʊMB N\X[7vqu.1;[nU9٩JDqR1:FǷcaA22r7byQnwDaG_ޒbq@ _3j+|T]R=R}'}nεXjXsE $Cz3Ӈ& ٢nlt.STJzբʴ:\QUte\~1{ǘGg\%e0F`Ý36/I0@kYBvwp{n(BOq3y*BhBM^*'Y}# lCiR3Of|m0"5pZ`cQ)Y6NV\W47oYKLfb"Yk(9#~}`f€\TTU^wth ?|>s#nJF 7;Zz~bv1Ʉ58 f0fzLځk'4L p i҄ށ \X"=Ms ܙc׶h"^P7Z͑)ۧ-FPX }Bء@vqk!/b0zVn#Yw0to=H^`d>Ἦt!]xsSzC36<'9be `u JL5(p|Nf堻vWroSy@h|Z5*FdQU>!BGK-T]040xC>2+w$5;8 G q,6C4}涘Q??>/ \=K}Dd8c<Ù5Z#ɄﴦY3dJ3mzWN+a J=5ŧ*o.78g;I)Bb!|ǼTUv>T3~p.1ϰ 7&'2Zh<ˊ+lm58ϻYbg^?>80,tdA]u+QFMD͜*0۬=0&́ ݺSۈq $dopաhQDoN6}QMiBAB+q< ;<(ªd,#hBo&C~Eąs&sOFFIdP4f~`ttCѺ7ٔC7/y1n'K@ V&g.'o]_*c̓QSxԬta45W`7d}i4(ET.;ܵ5Me-;:5U/AOQk< 0i&LRHw\M0|v@ 1P >yǸb-k̉ߧy1_JU%W^lEW'-fkCxj쇫D2o9}j *Lr GY@.ETd=L T /E\c:PCDE;ުJ-g"UcɎ^Rd6p}\ ߫+AwAλ6ӄ 9ppB(v)^Z{-?:k$=ǣ\C uiuf 4'X} BGкgT hsijlBzu'~CKyjɚ{ ɕ)M mA@a5G(2@܋Yi]M,Z`s.+D_};zJD vuY5tųbcd*מ  aD\5 bVMstCh&jX><'~XI+4Hh,O)Ӧ{φl@ѦO=\%όC]'ȲGj=.:!K)M"&# f`6Vœs}*svXsTNA_*ئU[Ta#J˞ġ\x_9woU>G3?JH^#szbi޳0(dտ1 N&zV%M=[/S_1a K5'ǿ+myAs:a&B.ufZ0Dnps od\AqN| @~#43Av uX@XQ9lЮ:ٽPhMhRngQ۩6UΝEQJ}갓r:peC$`ȊuN'/ Gs`&J=!siQ.j 00;xuW9~ bB6&P`0* yj< ףK^7#u JLU*֞v0Bz|HH6hNVxe{m@bN?n1c] 났4l̦Qڌ1̎U1WQY*2-mB+Wzig;ϡhl hr7r:\,iDգ.jyQ'ٹ*'PG'j֛.]nUr/m S.Gf:l<np^ǟ `6>â7aCbq"{!8kF82޷^\cr {_vV~.A)2M~a͟مC|xR e$ΣaǿMPdpӺ=.{u;\-<2t%}I6vu$re1\ / vmkB+2+P3 [d_~vh1^;}ƥKCSZ,i cKIw |]u)VcSpHS+岎)/ L vOn_j>O\!ָxߊJ{?d._SSէdNϛڭD3"F2<`Kknt)-6@>`! ˇeWiwrI/=1*B.W)ӽS86.y6#HpVcc7 [_F~zCX+:_c1-Rt{aWZ&V l6,^b&X5h,9u̽\ #=UUʒB=ږdŌ$Ynw_$=ΎtGUKD6?ƚR3seccE%E+'#gl  S՘84M']&u<g8!c\JEtg\d֠Yxid[kIǮVA&)d<+4tqԸZJRp)/j;0ptMazhG?4xoU$~[|v=x%Ȝڬ\ۀ *qX:;3HX}yo>$[9`'GK1zm !/ j)8=oЭha{a{ n1]':iUO+g3Fj?** V4l?8,e2Cdy^TƄCDN6zr= `w߃y:IɜG t#E. |@FTS1i`:6k*Ҝy z׮nyO!5 {J{$1zh.-alMw|Vr.۰G'Sߏ> E;^Gd|PܛUzB`aP ;`9+01M{4<ΟN! fz,2ZWk-gBv/- ZwyBLD| SHaEk&CAۏ{F"*hqJH8.1{bFcwX&9DT`'ȴ{dS#pM${%^Ush<"rhʥ*%#`!g7N6b}iʷifj u}Y{rfz4eET?jgYdD:g B{kq=窀v Lx,3Rfk)Oc C#R[4ҽq&[Ma<ِٳVDt!bKٸ@dvpSZjVXgc4X`7vDP`Ylj4EϾ+$ \eqq^Cؾhvm6)?"=6O'Ժ){nm|,fKc8uk20duY"`R~Cq%Nb5vCr)1Y0"LV T k7LU#+d?*~*Cwh0Q4jR6m kvx,@i2u uv̑XB^<Áiǀ+]`+ZHލI fy6O͍׍3 ᰇ V(KSA$CA1Gl/C=KO0{Al ldIR\[H[=̀ )j=ߋULj,\`ؘ8 ~%a`(rl3Mkqچ-۾)yËF]mrm`>u[2,(b J1@XU@@g8pfw@>QFўs"ꬉrQ0ֳpdKO[5Xe~AJ -|%{@%t10զ3y[9=Ti^3~;7c֮2Pq_k*]Ysg2UKaޢ9PRdF>QjgӃ4A;&ظ9A-nzpRM4ƊX EqRɅ`~yA}|2]gח2qW/2:jKd̘c<ķ,5o3P='Dȅ[}k8W4ɼmAm#5mw:Gj/<\ b9Ġ}H.!tʌ*0vi>f;ԯ!3`s>x58|96ά$fD :p0J MbZ!f,N^G<M=8>'[(؝io8p#AjLCZŏh՜/W;Z)8yU7IPAo iH6;ǥdU|I0R=>'ZN#Z'-ήOaIi3O-J"I~#>Gh2V2S`%fEv#&vv0X T( 2`wFwf'1MY|kzSKiVKգJ\7"ỻ1c)-!{oK2t`G4|ёKA:! ~A(`WS ;'Y 檯(C=dj4~;|IqIWŎ95;Pe家}?K* 47^ʏ9n޾UHf? f@19,#)(eCP)qwr%؅)~ʙ}T#Bqq4A>C?xz{dsg|@Ҩ䩉a+)|<7Lꇤ,;ْ3v Z@3ftm&  ෹.޷$Q" T'5Q7fASzۆ<ݘ/o Nxk޻TJuF3Iy^9XL}ZB! ;J=1[BITw=(exMՄO"xO8Z5D"C\#@n4UWVQ)AGeuM1Sn,nބJ xw"ԥ"?ynK_+7]˜wL4pUU֟#· $ph4 :B8$^6&x s{utZ|)fAuVSB_MFk-Fҕl$Oפ0bt@6$қ 7ĄbeOm3+eLr8 a2 fR"('±2C r |P^&s1Ko@xperzf$\I,|.L^I3C(P(E6R !)Qv*K 4&WNqRA\i)B}ie5pm]>{J˜$m(Ϻ4 F0/`Bm2mh^A(e s~QtrqGnW]"=\ίN}h o<7,b%fVT.Ea%>P;0Vfh2h+dwvq(=~g_=1Yύ6a2t#KK{Ν"0Af5TƩ N:{=Q:-ݴGsf1ﮟ肠I:DS=mapΎnDגxe\{N<AtlEi# NU?b8Yf*/k:d;|;Ȫ(0'D-r 'JZf:%cf,v aM"Zz۷+u5+rGVHcrfϒiy8&Xa~=Ghns78*tYI^/[޻AVyQnHIֲR LܽFiKǽ=$S6i[ɘ@p 7OGI9qUJum )0{gQ'6񇠤<ܶaB R,-Vz/޻fwZra7YM8fg-~Ȝm!ر!M5< &~qbPuk 0~L`l)[~,@hrs1`gKwetZF\dc <.,/|E;^.o1bRcK=by`R(-z4F|~{>je4)s' 1ՕSl9j~H`ZVL&q>΢:m^#J~t*Mr}br5 %tHp> W /]EWhD@_g<4p]AΣ U.Z#3 u{, O I8`u (ډ:q m.˩zܮ f2,wu1C$4I7g&> b*&wI*=A֠6`VZvF8r W>q{d{Dq)Zlo3װf^VPhOIWk_ R6q%ein#L_r I41v)+r  BKh&N\A_S^T%f]) />4®KGqYWqKB֫iptH+!oHqpd;(1{f;JrTxIBx#(n?}nJuf c4Rh 1S)ۉ67aTzM܇&[TzZt_Zb^@|((Or?iRfh&+`SY{3u@ΝQXIC 컰=A8vSn.j㗤DhxiR4l8CQ1tp}N?7M811Av1 Ux>X]5kߣsp?_kemXTC*>A׿S;mL |5:QÂKHaoK!^%3T hVTfT7z$jr/cEH%|"Ad_y#`W#z( YVӠOLg;}HRLhP^NӇ/9ZhRn/-1jojM!=~S%v0fQ;ȼ7@ô6G3#cL!fH˕kg jw1&i#hVPG7 "b<Iּ ! u3濢d~=#PhX}އ9S$|w&PYzʳDx>P#E+:=&cN]l[u77{uS1wҥQVÇם =(Ŝr#HBlkrlO:Eg$M  H\ @b+i3l%j,M]N :?Q8'S?bꪏ1/͝%߼CP5?ɚQ'D]4])ְ%͕Ѱжs͈$*upt 7VX#. K G h ,~!yTY,U7^_rm9l}WQف(u֔٬jOE..r>0@NN(2AwU:ҟKP$T};q|z%1RGh1.oF,i{r_{ n&0-Ka[?0-^,;EeUgM&%&VM Yy'3<2OI_9ŌJ{ˑ%~uk={)C~B:P4W_d~rR >J4)`u{7d"3<&!6"HV;tw;|qm7qںzaK#}ahsiŞrnj n3svOBh GI̳Dfvt߷!~˂7J qJ2="{&HV$̾хSX9B3^fʹӉVnePƈ8=gbIl.浔 .fhRc(N_6MP<$+.cI6S'8l5;Rw/f/yE\DI&_CQs]jg%=X+NRgeaft?wܩ:g#DDJ2,͓c1>EJ`!##z&h:7ETۋs6&-`G:807wkcߏfڮ$^S:ްr.!G|hXjd# 5Md4tN!*ĖZ&4H\ 2..8k@i$:RSNlέJNb2}TˣJԧrJW(5u;pX8A ds}abxw%0'+4z! 5MCR@Z~#`q 6>TG3L(\hNsG`dOqKiR1]/+g`/KLI@۫d݁4Խd'4WK! .irZLU8u9$ aR' Ի2A d"H ta\(ڥӕWi8PS`RT`O/`Ifvt6ݕ4L_"I/ ;fM>"}rB%eYy(T0'ڏ8l B[X"G!܁ l/JKq.$і t vE셦Pj|M +Có4=Qh%nfdy/#r&)ƛOg\(ZrqYIJmF4(Pr·Pi3O`2$>\3Ga$׏u,Jz]ffq6 ~א TO[N@4P^J`YM(21rZjR!MP@%+\-+Wt7d@1~}R5SRΏꄮ<G|%i\JNz `s@[tFσ}(SxC7],^>-5ܶ QDWeލS-3fTb;I}\Z!saoаSBIi5>?=ȘkIPvPE|Ǐw[. `j)gGܫx"~e Sv\e:oOkс;gtG*Tc c(>W{;v p\ܕ"CdUX*ʽQ3SCG!I,7&C. zB}śݭ?kAGT7ã>W煞X,-+HQOW۽)kYQ'EXE]m4ZZbE3jj`=!lrq9nDG%b%;1n'UKuz~(G"UtKy ?T}^=H8|ܩD=oT%7$<uWH$:U7 )5Ol #MN10pZO>qIF[tv{ru)wgkܗo"Ţ7;>xt)x!tQ߬FObp7R7.9R ئOǤ~̨knΫ[}V^aHRj<)G"䝶$Y3bq++J;zkqLh#_$fЏn;*UQ'8m\(zWADy>`"h( u݅-\Zȩb~r)P+´*q0"ł~emfn+PauKYOY$TCǷM0.s{Dhꊶ~cQX@Q )#5 % %L F!G:^ a@:lPS!ED a|y| 6- bfrNsg qͩ聃]2vSժ[PaM9TvFaﺐ4m[!F3 k^w :-BKFq2Y1g p@RYQJ'e] ߏQw{1^]pxu#0@v͹kr.;Ǡ. ffW-Tϔ̛):ԝJ9YuB s:n"ٝ J Y)=rLffĄr_g=I|Ͷb 4@~XEƽJyB7>.[BǃD '4 n }p* Zh9 XĘeťD8<ى-ĤOBAck6+aIAf7*/Xl{g¤KB5[Wp(K'bYW-&U14c .}*15QŒTcr6u`sKʞ+`(bWk9:(W:.y# H|rbwڒE> 60`i׶,x~@S n-p4~s@i6E ?9jpe)p\-TmlPioRG ,N9ZOHdB69VkfLRfOV*?m.nsg&ۺV;+^x9,w_%GnjVJύlF>nS->XR{\iEiDp4B ,0(e\nsx`tǝΪbӊ';˓$@A aYi7r٨4YxfՏ{Xvl<#ؗ>b1Uѡ坛EͷXMn1A|Kф= #ϥinhz^OgwOT% DC>AKTXO֌E;1p7Y~b ;ꁓT $ACi6ɬ{(a)~9z>7js{a'`yPѐ&0rԯb ^@ u%G)8AguK]A@U=p|`<,&~_.1^xeVgLK-JD VOW1__uu9ߘc{WA.-73jLj;QLf | m9n J^k: WU];.QA33O+? C]X;d]姁rh*J٤-Wo*I/^{Ϭ/}`#ؖ'9/ha͂$ш'&ƴ7lFWv^;ʰc&\JwP:>&9[ۑ0Bx1$(Z:YWXv\NT?ke!XEmt{BC~g a@gjHZ ը Tveʯ9\T`hl  O~)_d)u/L"D0l R~\&yn7 iuI}`t&uIt)FG rs|78mM sdS".̂(1%doK9:&h#ᩣ;ּ+zќQmLT%f#).J}]u<%H6xeUkkLjmY0c4juV%)58Esgy 7O+V߮JLC'g4#wZVք/8+0!-nA"p> @X:m ,n o,&dkgQQV0M -&:n2 Q8cgT"`E֓ CIYN&l ).%ӾU2 V < |?Q[L./=O͆kgA6 '6{5b+frC?A^PRm^ b{l"%p0Y!Xԡ8`TSo6ԧ(.(*5mD ljfJr%-A=ZK2cXYGyֈHowߎa:SPˉ۲'DX2E岎ᾊ*ՓaIߋo٤[$(sX(Hgz$)]J\Ǔ [B,:׀^3bSwL,JB{f&|,ɓ_-Q+8(0v{CUV`':p$ʨ瀻 ѳAi Lbzs4*'])T%50:]9nl0t; rq#! #V/gg]eI}ŇDLDDHsP5eǂWs [$Y HU;+r|{+L3E긣q kЀ~CUt%IjUs A#9ʬ{UBYޭ  !E.aE(C<$y(|C F=w#&Dӵ&' 'Δ[]AS-E9+HCߗVOt^JuN^^ӟΊ8zi$Ay (;Lӣ k@HH J,۫0 W #toq: [²p/+ Dᔣ$)’`Pf՚;ETbmNM:\YFll)^T$ь~e |WTwA͐N#BW"U>P V#;`)"rJe6=ZHk[ -*g֨5~]+8 t=tUE׫UN\>O}FNxKvKcX k / ƵK(Oe㵍k'솊"J4U* O!0H$7*W92)>ISFJEd&Il5WrGo\]X$+{ T{SL@xp9cū<r_gaIU5q[uZ܎m9T1e0TL<81e֮Es-^34w qmQwZ2錪*,q~{: >z_0t[A"ύkkڝN!po $n/eM3(5m:kiD8XK :}UePۈbüUQRbwSX?epZe*a-L$xc[-@ZqI꾓3ehXoP\lT:)L>+u+}`2YarEb`CAPODe{F*nٓ`T#v4<`6U7Lul] XMKzP ,YGȇ)D_f Z?V8^52^v *Õs¯ɝɘA_!ww2b\߅h\{\f762#ίh8~cĎj#gbΞ3UUMɳpЃ|k۔͍ ||,oվPD Zvo 0lLʟ:ZuCpE 0ƿ#d@RՄI8SDx p<eO%ݡ9 RZ8 =#&YR 5Mߟ2U}`Q6fk7n)ny#y]c¦(fE $6|$^LEOVRNϱv@~~bmGڶP9屫ˆL^/rgaIQٖ|ϼC@6SOل ={1s&?%Eex@+hQ*٦UqGwJx#F S!rl%b:d7V "`ʞAfٹ56{8֟1k%ۙx0XY1K9kJY(/ ĤRt O`,1P\.AsѨ9*Ig6Cxcu.;EVO(5<J:|)ט}3GDDfj'NXq`*HDѼ"dKF/mzf$nj3Xu4XYڪ!'O"kRs(:|yXY9(ݸY)!AR$E!phj,Tc*@Ko#_q;ۀKnD fu~> G16w g27X}3 w"Q;oS~SNPX5L?sW7uVʋ!Or2(FUmA؋󌴬=vLT|?u]:KMuK@tCr~G(eg ` \pXx Cͷ%VšwnZjG滃?;ރ`l,1/ DJ&rFho ;@Sgau2큰=6 zWJ_+.|`@/upеǑu`>0;XF8g]m++V`̥g|>PT7hX<Мg/'ؤg M)G.>%da6n7@Www¬Lf*ϸ\:m7-LeI3oW;M628FMw'UBg-je9 G++T>h2"cLO޲ͽq̝^!poTso!3x5PSf&Cn!ҷĮF&LI02y6T]X(d%v! k.ϱQ4gc"=Bk#'chϹ됚;*X :{co_+Ҧ28NuByX$LȂO}-/,V5ʜ {Oh6, Lt2 fj+]2dRC|lefz؂zrL _,D(ƑK+yϖx]c.bSF(NU,#֯xr|3NB!QwQD%=֓hc[X257 c 9ZK!gWg9*ra.XFTI9DS 690#(M4ѯLnŢ*>3} 5RNvEwB=D :AZ2'`r]k!-20Zr!b{_a,:#>[L,;/Fts" ɝ/º#n$(X82(،ʂNDk`ia^ om\Z36/P]&#,sL _6} [ ?8}OB̜.pS yBԡIp:$ Y9#gKdTQ*n,WTGg7᯺c ֈErŋDžg&x(YV3'o4Vp񠰲( `]Q6ݎ_o=T -*nyQSt)h$}v~( AΧ!.1ma_VE?g$J Ք,f+*VuGa$%IfD ZLhwXez!$C7kuBZۯNalIlT8$p+x^d qQd%Q l]W| -CuZȷpaS离6p dG\{>a./\ê#lPr/!NXUm 1ݹ ##te3y@(\@oآZ#mv iۂ66 Q+P%6f7$:ګ^xYJ'^5,S9a;@tdߡxŹ7|ђöt'UJ֖t]Yo 0t/)sfV>Ѓ;/x)\~G6#kOQzpJDd1鑇 Gp@Q^=4Ȝ(L(n}!|vI8A~*`$k^ZAb -=6J0$[SU=vp߲LpI 2B@ٱsaWg\'gۚ j?i2֭稚]zFX] dJhr8dU3݂ Ҹ WXa5+ Ϡa>@J?L+$F+PN޿T𖮉\/m𙻹Nu|Cy6J ^j"wՇv+2jHLš}_)xNPdXTyfMkJvCRXk_C %5s>L"r8Fqs9F|FfGJɐsͧTaq` Ö:];ύBkg2b}LjIe\c;+ #60cׂ΢ A$ӻTCd X5:Nք0ކr"aCTlW87ɂ%ͥ+ H 9.BaE`(+Xq.@+]B{fg"<5c tE^* -ɓ!Q"a*vSswwP=GSEkIJwGU>O/GnhK:m;xI^uU/,텾pP51wx~]؝j4ͨa'Db P(5 _#Es5Nɾ"Q={~.bi"4s,{"F1xnYWxqpX, (E(&}v! R1QNqEnbGjWm!ۂl+$ȹa?y޴>Z2E ZqϥKJx^BJBg 'Ff8ey7,R{ Յ鋸zqGzJԁ&ވ> f(TinS`TlAmGސK %>.4*w;|Ʀ"7x@쭢^-w_%-(.OSO`NF,Sp0ʼ1OLWkk@3cpo< .uf |>PFe {SQT*v`.Tt蛞Q: m钠ZlZ{%!&j=Ɨ3ɲ<9,"\|S[5n>P/XfMr1#y+n '04x3,% 2k[0Y 'R(;yrv=W7g3,(7!/xL:!i1:W2sG{/;8ǡ*O_ź`Ҍ:jt/Ëug%D]fmC?cӄCQ4UJ@;D^aUXS^|2{0ØYO GUbfFa;cXӱfXY u A.09_:ݭ3j!&Z&j?~$Y~qaH[2MVHA['3+bLSo<+ZC*o';ڮSj[k/8ݣ+̉3{9ڛG wzMa/ꅡC^.찻1-uE#QB!K&G𽣤nvew `m40v}eT:(stvzxMoyx!mGyN)㱧HG^lGZ^#p> pю[cW[Ⴋ]YZwUuU7YԽTX#Stƹӭ=K'@(D!+6t_0N&)_|Oj[tOYK !U<m[H}GM+GJOj= tq`ܽHK9Tj>ދ S1PEoXX{$?l~x7a"__E8wUXLta5BHdXus%L^:"G\U$)d:F q?xۆhC"^|6yط?}y( eWuQX2?WFd&u{P6'^Uδvn>eR8SV- w/PQxs}]t򀠗XwGQHb׃:xG$/3}eV8wL(@(,\"cFPƏ[(uG0k98*`{@k_)[l>Zܟ89R')'QhȚf#wwE>q̎{?4KC4ɧ;8ҼtZ@h!MM> tV5̳2hV= }eDc%ø u-o΂!u;  Zl%%A5Ķt K3R w[C!^1zf^ Л4m01 @ōM29`(d*DkXg)jabСQGJ4< Go%ڮ¦)gʦG8iTZh|Y{6q]13~!A LQƣJ+-M%$ %+U~'B@x xduچ5=jḰK1fjjy/[[8c֑v'j>Hu7u,|&>1"tԹN/:b.ؓ7aЎQt8lR5-q|$؜Ųw[^7ώѪ4L*\U]O.s/Al&`0Uk5fvqX]| 㻡%wv~_:|ChOAnu|W+rmm1蘽3<Lw)A&Bh~씵YV4O;=urfS_NsR XEc^,p -4cb-^JV"{Fc o-Y)G]̢aASzs&B̟e!9<)J\1 ,Pa!]=׬:ʤ#:s8j!{̅5BK4f[ज#U7uM/#~Fd* ^23WRcd7J}"e0WzQW,]&҄ݽ Lij ]$",OH'z ƙlgc"̣ClChB'_A"4gS(oh:hϖ[-drU0 Qd0'`ڭjnߌ/\?HG=l}CӭT˻r@Ѱ CHmc$"0 -L kFݙe2M[ y)1su}p@x35eI[^kNMDDTv>0DxP ?kN ŸK96]4n??Dlԇ~FK2~u8DH|ͤJk~UĘc΄F N}]c"i|g|a|'ɻ咖4eҀ5H)̑<侅m0_i~S Rȁn1ȏНCԋImSveJ椕XK:w]vY\!NѿȐ_赥f SC^޶?r$ ]SgBd҉_p>[#_eGOFGFzi@QT$Ugo[[2r*c{KEG'9N .hDe0=>?%y Hm&mf C?BB܁iF>mOV`nտ#Sq霴dHek#Lij^SY"ilO[{Yk^0:'s>u }RbB<µ `m,=3蔈7u. Zǧz{5z‰rv(BN^穪)ftB=,8A)ӛ#lt28C6d'Ju+@M)(wlY𽠥Wҏl?`6?u.Q&F81)rRN˯*#8)ͭ0ժce Jg.y0ӳb!Uh?f#m/ף>L I$ְ[~/ td7I3B|m2>*]- v ط4b8 (=Hx4ok'N"1APgֹ+VkLD+1Dp'|*Ԓ(U&jdR/˸W<S=oݟl^Fj'KXu|=;l6`-ng!rF!-_m-Ζ,!9]&cXe~) e?.֕aKF)ʽNϢRzWۀ;Ȥpxw{ R7XK]ﻅz^6RX2/eyq< \"%gA+ G@`a . ?sn'Jm9H6tCXςHZ< ˸fsYM,%'aQNV%W"Zk¨c-M@%yonXW;FCI^U 8;{HƷBуA^$AHGP;()RdEdKOfHUz(ŒnXU*e1/\P08Z -dMp{I! ?:̄WEWӏpwX3@jaQi gDᒝ&}bIu =~_hIomPv]P6[_~ʁ 7#԰ɅͣaQ'ރ; 8 U+s2CLw~Qk5;iwϿqm@Ż3%yb|2dKiu%K"m/|Gu"+nÌ4jD4q:kǀE JʖS&,T%-YO%z꫁?_\baf/IWŽ!.WG\8< q?gr'ߨR<gۏ"|@c"_8&L\rd/>~ J(HGy|A4!hdekH&8]]g#:K+gWd.>r PKϩS>*ҿ}7K7RB4GFx֩*݌rF EEˮQg]2g;;Y~DӔ +gOڨ1 6b(@~C&p1zOd}F$`V.ňVn}C%T<L@t.bt7Q"\iWE,|5۱Oa%Q>NE6c Cn3#O bP[ \KDg̟s3W=و;|9 옮m:p:yI~"arb[y\.̺|OA'I~e%Ix_Kկ 7~tӹG~GPon0dv`=5£BW GaQ6P+ b_ͫ;oS3hz۷x)xoVh}6= t}M5P[ ŗ3Z7- }6rn+F0X5JѮBR|+Fv}"d?v =kN jP6F}5*j՜^4' --ST;T[?<)i* ^de  IW[=hGJ: *M/Jm~ u`M&j:GJ2k XH KR#8|8UHn̔5Xw3Sƹ2׬lj<\$hcqώZc OԼhrO $zWZqWk*:FDV (B!V9LEPlэ%~Z_Wlk&8NpPue:GGN=0 tca3#a3h&c säy=B-B RXN"?иz0YOZةfu0 F́ j*0*^*SU\ಈR;@]D`NDvݒBI}ϐtP׿LNFۨI/B9zub%L6PE3JnaWZTv|n =Y8ުWa+V"&iIr%XFųT Vh`2;^n $T*r1C QΞ9^J++WuthLUnNZ|^wԩJE 6O1vj-Et0/kI̶;y7l{ ӋΆ[Z%@1gkXU%Me'''SAVl\߇}f3o\:~C?2i({q ?,OECǓ>Jtmcӳ%PBuM/@q}|rx>CB~`] :`?%U aA,U"-XQ{ %Ԉñ9%x` $v}7\]g3n̝ ~@VqL`2~s"zle{5Bܹ<̐Zu | z@a*̝dh2ZaZ3x هIvDL-}ǘkGMX6F[%qB?Lͪ)`x@`GS|[rTfSC`^)i#?;(֜0vkL$27dy %\xS_䪋Us>KwRRjqgDM#G3 j yQ>z|GCBQr#셒=}EF|tP$vҶeR;A?d&jb%bQM54ߕ#g+$ t:nR6NVBSĽ\rWp:kG=º`QI} -=ka(w }!IJUID*ʈluW(mֽ 9slnR+SmsT' I5.d  EGmW9qDi[[nfՕqMXVV%㬃3Wb'FO!YAH(Nz?ؾjHpUz xObF@;E ztd/>_Q ^\oN̞˃"% %ȯ00o7<{ 7O#lF r_%}T{_P&&~ZLLǾ큲Lhb/^=)ibCgF PDG qwQ7XelmN3 C*G]Y_ݏUˁw=ЫbUO-Ve sV$}NT%ox^ƭ&;>+ 8xˮ|amw5=d!;Uy+?تg~; Ls̐ct=mOl9ML:u+jѱ#YO RЎ@xoLSǚT\bh IEy 9($F\ftea.^` 6P{may v7C1 scgP֠}U1ӽ#,\3qp작"ܷ^BK@^c?D2Y"NK҈mAv_2dGv٦kFm>Q74S[+f-UI䡐ˮwÚ֯(>߆r_c#{ƱVX67h,bȐX Z豹%rtsx Z\/w@)?C!i96-Ǘ@mՔiU g-a'Ǩ,2x8f'@䐜GiFJC,c# 4\_0.}pFs[4Lu.ڇ kyp{^}7qб ~u#_Jcd=%~>t񝵢'zLxp|%0{T &VZQ G@ۻB~'#rR.dZp,_ $vP׾ΔwNgӛ ؖf:XK>XxۥMA 7n+Y|iTuf@'*N͜;gP;EL,A|=Udkmg EV`0f1DzlрL%VaPw;dUQ뙖 JF-/-iV*.脿lߴܯwi=5:F wѷ*!tuԒ2C}omt:JfM`!F}} ' &R+a3JWyyc}j}v w˵Oz/VTt!Ao(Ai<"K@ܸgM rbHWI¶Yբl$syQ?ꬌ?44j 5ӞqIj|`)KvMS9"Ba't52'n g?_ل#h$!@2_Xjr >U=ֶWBt}5+޲߀"0I J<۸ -}u^RRǙd>v[R୯d@2EQi@Uªl0He& vr1[hC#I%qkW2o'=Z98% jTt#6?|P^'ݠ(RY"zOPp{Ԏa*h#>bp "-[@ANEy fc_,%' yk:(zKL51X݀%o:[vNk3YYa*k%%mA'NA[( H'%O(|2i* \-.>Ow&0uǕB8p0ބE Q -O7SҪז8[_W,I=/_882-yhB)x27yy<`2,;싽!V%xHȜ2%"  P37#p &N-y/Xjdtl[2-[2嚒7'r/%mVNtؙ&O Z9$z0{Dxƹi x= +QY&eK3%<%lK_#ѥ~rurΣW"9> Rj&8ivUAr?]E 4Bb CQo#Iw6Q-C9`񂳑%>n#0f3C&c q:ln E!G(_E _6^D7Mw[j\h ^iˊ)(Wܩ ,/spQlba;5`@YhUU܁65Up&v :+P{ p q/#nVlhڦ(V+f2Xr\$i<1rmI4gѫnx]>yDA]xk9BA%gu< ])QRhHV@B;%kRF.; TF~߁Eh0N[yʙg{GB#'=ǂ^9Mj_s{|Ia4wV4}K݆uN,{Y)wUv؃0 ߽8`;=$)9&@1c^ZnR#)$zJ9BrON҉IyrD 2UEƽw"zg{B9DB)`?)!}e@[0jS;UxL/`=? ]uPևc[7 Qڹ9m:=6e L(I=^$=4A@El6% [mȗK͇+I郣NN@6 "Y} _ d FaVf*b,-@Q xeUvLS *}s'9􆷟'H`,2f o+DSnlt+o0i@p`996c#゚=2q J4R#+`;6S3kb* ]ڬ+= 8Zמc.4}qnXv|,I| L*3ǵN'ޟ5)VlSn&r?$ 59/9#e/^Z%"H*oS*fuj15`t,dϴ~=YR%څ4R+d@r-9O/)'‡f&n(PRYk3:`8Z:lk}U9Ψ*"R%2sR+Vjb o9+9}eMBd @,֑,,D#Ψ(>zj/]k?ln7<,$lzmFb~S24ZRdq[n,}ӼbU6^hW7L3*k1)SfDjdsh艜'>ai$L]5BٻvIťMpY_ڐeɕ[{xb PPrJDls-(Jj$XN٤z5} \6ޙ25# Z8yaq7EI_.Whk)߭{/akJ0Zr?Y#AOSH>?+P17D3=4嚑JtFwqwg"sC"Snm,=-8ay]ossz:M ]dHq.\#:80Ĥ+ H))G?=b(Q:U*>L`DlCmʩB7keQ;(]d O/eԟåw8[bhaT7_9Dl7N/AbⱫ@}3]o=nNO5Y#^4xW@7O(_a(215UwEŏyBpY G4=}aNe4riG9&EN6\|M76)u.- 99oA4^EFX |oqg'_7V]p"w0܄p&Y}9]WfDK?Z{]tK]#%UGeU7"a7K|]ؗyM}O-y#7i3{[Ȳ"l*;!E82A k /2-rgB?Y?/s)._NQ?o;M m@o Sk~{\:.MnzUa)`p&oC@ ;/xV|bWg{F# ,U\{!-7>2-({C%- VkJc1ghOJ٢a&,=c̔4@ea귋*SaD P,"O = U{pkLC9wɢ>CAݘZ yPȇ7^ i Ĵ8s`f72ndP1I&j/?n55+N`ЗT{ZS^Ș ׿E &i@V~ci~T-C/I8SUGIg;m+l6,xȀ(S9c]~50F[Uklh>i\gyZk`P ޟ .ǕV8[~fF13hRŝ{Lw)О˽ɧ"Dzy߰uf>:'! #)严([R3z<1&*z,'bND&~ 0YY6 \* c,bX9x t#q~TJ7P{*5Ьl?Bb<%efhQ)p/-?ЙKޕߏy`Ka[)HYq fyd_?dQU&ᥳx~? *5Jʜ~S6p/7pj2]+~GyƑu?sNKfG+ev 0`)m}򑶤"}9ׯѸѯ2x#Z'CFf<3ģ?I椞bh|v)_Y&U>0w^y`WdpV5Cߕe -L8ŝR.0D/t87]BiP?ebrwԔf6$2 B-5`섁sA@+a7#{ $RmҘ+f6Z$V-a3z5_8V"xq牯Dg=T} (IeΗD: )ukg$sΰ 6譞{E6hi ljS5ZKv\G.@ufRC:!q Ud_h]%?D^{t_^oO'٦#Gq%AXGj&d<,`.%Xv4 Q=Qqvg̑=G0uR'؛΋b[P+հ(Mo! Xypw\ʟ+m$m5hO$[ $N9p2=İЏޙ$|mqv=pEJ~],?A`1=$\Tj"Le1L #rWOS2̫uTx92Ӳ#4]۷B|1"ZL8"R_+@d֚W*0C<89pu, WgQ'Zϳir0GŻ'Rvw`fV 8}s#puU/G8( 薌3ֳw9mYtc$t*blj>rc ?N h~Wt %=jK]ؼUag, ϐD-Wnzڤnkm%.tn4v}e+Bt(8o|T_'jh7־kVK5" mL)N ? 3aGN4H)Tq_*Mi7X~&^(p˲hg1Au:f%*ztߣTh#|W'`V FidB]y8ր:ɎKL 圛X;f2+!nFE.)C T[\L"KM5[%x ASx~GSkq^dWM\w VZbfF2 _M3sN ǴyBP Z~Ł)S53Yh^+"CZ v5KۉtFY=:F}KX)KAw !zMJuOBC1TTWBtnyqq`KiWn!S"b0fq8QnQ; 2ͱESkGC41v `j{_dF.rlHL~@F`bm"-5ys!Ju=ISI2>W4\Ln=r/VebVYʪmm&N["JlR7˨E2Y+GDF`uH<>@KU_DvM(&ej}'L9e#YX]+I|9:'eȾU>% ZF=?~X@ɱ dBHP A(W#nGV?yɆ~ڃԷCn̂Gֈ!TJNͪti/!lBs LƧ]އ7O+| Tp3 H*3X%RA dLW\̥_ igLDvjt߲LsqgAŭbE)KTDawpa [&äղA"QeO{Bg+&ߏksIf84/=` VB溤tCC߭.iQV31YPm̑J`»Y X#prZ+}`m};K Iԗdk;i.L4w݇ړ漐g$S@μ7[WEɑ8Oi]c6S´)߲}m7 ^(toEjvdo3asC6uE4 B]M1 6ZŮޟL!:xK+ \l"lS/͵X]4K8%lcG3O7i䭫o]BgmmC*=d "4:*G׭3 zdAQU[[vɡ13^fɗWЏi\N'6W ֺ0t4KpRiXX1֕Pvzu6*BRQVC1jJLr{Y&iy$gy]/-vWdDf}sYf+FRXR-7^S'&g?+|*V+=QQf݃ 3f}n-Լ+2˥.K׃,{R {c1auO o0x<%)sQ}6,zm+b!Folyxe;9-<"]zKLd}~N&~yOpU8r.{upxD04zDŽٰQJ+ 0%4M`2?L3ݗHHBYKեpbձW˧n7hf >Z^0AvFнe@SRY2* )~݁'?#;[{? ˙rU$ ޥP?V zx<1nKuh5ƤBW^=ђ{+# y&NE`mJj" H)bo5 e 4!ߧۧPMV~59O0^9[DuW;x(؞tlaܗ.ŘPklZ/ź0?V F#ަ1.iµ{(`:I[Yw봍'ycF[ߋ:״#hq5g +G",~+!]?ֈ.Vdfa>[;|L@qʁ{ꫧӡ`Lp:8$E;B:F41_`̶ j+3aw8H}>)2c5'rf :UG^pG;8rFUѥ3 ^ْ@!#;̠~+*@RSqKf2w22Afidk^UEe=3!j] 4 1)&KkK$7gLg_aBB F'*k 1OigXډ;]h:,(ԟUB[-tɿ?pPe"pAp7Z@ u- &Q%o1vbz&*eCOKрy`;aK%z"}w85z5'j56^VbӅt$I},WɠS-ujރ 9=*|4os /C zX~b.LfVش ¸AM! rn(/)k['Ѽ!%$[oOUI@ Fa{LyuMeo_>N!ӳR_h&FYTkQ6v%\{@X(k8Q`ˏ/ q[%*6@mDt*mno9%3:CTBW%Y._?O Xhjٷ՟7Ne`7Cx W!u ArljYEm.qcbA(ꟍ ft;_Z+l:W0岌E?-< ]g!n7 FmFK@"\<":͘.̸BlU9ھNysHJ T^Vv,S#ǀYG/f6ֳi&y! cGN@[8)_BMtW_#[ԺN–H& KWtK#vY]RZῤc@wt}bGhAC8^z]/@sEkl|+MI.'CuưGneS8S1a/ݭһ7 fUą/m0GL+p(ْ QkeJ991URŘiއ1!"9*1KDDt%*$:jg݌.e}McЕJ}[ %5N?(,6NS{l#˷ǏC**W XܶmVקGZނPn++қ= 퍨7m,-ҥ$WX!TJ:)_3p! BdK3 _w*ʜi!͞?*㦠! 'Aɢd6"\N윺z~zI8yjaw8E=Jmܩ!\UZG-f؍m\ P/OQS Р05a 4J,R|R}Ih駌.T' Rɗ#í*Y;O:;Ϻ@g- 1ʕzq1َP*}z l17L[\z'b8Ty3Ӡ*,4c L f͍u;9z< Qqr4ME΀^wfq! k{W#񫵷,laJ15Yzk;gKg&rOKMKCOYwK/)Yja_K.ô2^R>x3f&F|pe]5}f]Vz=i |Q2S:oz90 ?3C/r6?.wP%{͚1k*U! g#8n_RtXw?XazPgD+*6wrP35@R:`㟔)vy.wi"[!IF~ bb=bS H 17ya-P_GQ?Ħ]ĝta;~ ʼn  #D .&܀HͿG!x4z Y`?b1!vÏLraW4Ж,m9,Crfq.CY$`J(R.cǷS)2CӥQ|^҆:OL.WAf+-j(зqPtfϟq'gmPMS xOxsFgg!3X0ؔw# C]M@8 {Ŕ۷z2_WR2\pSd`OqDK{W pxg2uk%28c=Mr2zLd6ГC-Mfv]RYe*?t;B-@3Ӧc3Y5 q惸Ʒ᜽< ecd?̼q#[`ADUòE?`(5n(6@HC}Ò߇8A?Edu74ϔLԱP`x@dzZw]B:|Xs^[l 1Ǫ0u^ֿSs|KVDd[8 {>yAim`en$X E&-_ЮɺP^V68`Fw0C@:TUD!dVx;3R?>g])^%:uCF^jH1rgu.t(9&2~(j|n_Pu]l*;`={:G˶H1L`h'>Ip <'Ɏ3 3L`&Hk O8h8 3 Wsw__f[VS.H "UϽY˙D7fh6ŗFuh,c]P=!HnDuV{ Z_$(IY N+ahm.+p AV-X%;yBK9so@J{OX/ˊ吝|QzG'!VQ_[w/"O jEc+cd߫43"p2;DƮpϋ|v ~ 9Oi ‚gO&=z8=s\LʑYNQ`u]0 ˍʤ񛇃Ӌ٭Tz1V4,><9WV dN9Au)ZȆ_+A4mz ȋVhPfDž_Gtc'w^yCA['OYWG R1קVKqw(ƙ?ə &pX(G~q>xH =Q5$SZgnKY_ U\{r[gfQFJ>HD5 -7x$6prnhp8Ͳ@/h_AH+N*$B c9_-AKZ{ ռHm¬!{8![gw $kFXή-hFqn{+Brճd)X{p3h@*҈JuՄW=U-0&]wzFovo##BMC@,lƱd7 Y"eI;UH664:5G0r\4ql]zz i=#GmU1d;jz'46lAe%g Lxvd4{V`0xev[j-z"|;hvm/iDR3o_ ;bCߧ񄧭GRD݈2٭#5Rk^Gy2fgw?ا. 7@ǧ Y9QN(ps q5d,/0 3jGz=GdaYRZ#͗G|ʕ6[1wp|GPi-gUZG,V׭(5#bbߐx8O%LCÃZGkv k 9k IH{}H]ȓ,y0;>l6 #;ek,w;p^ANXU 6B!xb;rN wWwRs0zbHe%3ZUlpMn9닱df< (7FnJl."=bl'a bl #ji9|(,y֕(13k6P\?R␔4+eOEoPaWe,Dm< &Hvm9;Y];jk}X:.?IDOuP7Uهo觞LV|ADSC"3OI8I>z@t`1})1P?A5%wCʍ%ڡ,٦e d .tlR^*oh<5w_,vp9b3 >$WmKns7%".]ReCpJ@k\˳IQW2 ǫ @ͧp**`}t&p#DZؾrܗx+^lfc]jnmzTP5" ~)f?~)BbLԊxo*?WQa{OS~9$@@,AwV9Ta&RN~z$R5`Wd@9їD)Ʀc~Ea;Qu^݅ZLZ-?^DKSTr`Q۠A-X+V*PbSxRv3N|H*ۀҺ=|4󬝧Ma"%a8 -@A]_BX0L*M۫0_"vYNF}xDVv4aB.>!s!9 y KP('qwgPcE̮M Z)c JV([61:eelS.u2g܆.U>T tV5{ɵĮJd0fi cج-}wVt59%u\! ւnBַá(*[X\B# {bf]]OR!dyq քew.(Չ.C[kjQ:e;0;|yL`EQ+Ą~a;1rL"[|u^_ˆc`X41/AvQ-SA: i+_*hEڋ^_Q{MzucH?NSzL|rR uؕ|Qz7 3WzAP@y~eq?[O 6:"% eF/gن|[le-򊂋&K>HS}U"eG~Mε (u) ީ>>%G]yY_Z2omѵ8dp ͞!ņo.7L?M!{}69&XkA&,ȍK u*S\3e_ʭnV qWMƦCT_#>ۣIaə1?aIl(pIv{-J6i?xrC}Tu eM5u3v!t ]}vY /Uc%%aϘ=>n>k͗+40A[ 4THi7+oE"M.:-Bŏ#1aFAհd45|Q<蹤(79gppЇ2.mO|6w[QvP_$hLޣ&Vv:Pw3p781/1G{EO͛j,\Ԩ[:ϱ?f. UGj Q@$d9%oQXm!6\=0(U;zΰXa1hi2A&54`1,|h&a=j%,YAl(vq{dt6]梔Ÿ*F㷉ko`(1:hޫDMRI&bD2q3H[:ՂwY_5 A@ C(&nF*j |ȫ{ E4I Ѻ${&<%ʄ݌QvgnU8LМۣ^)ͧ&^g^A0K &{ R*'h Db=YO,fᬋ^2.+1]OVz&`s.6w|?g2Ǫi<^d_yx7eiTA'JʁJ=)]X=>{.xmN` CWe9tsz2T.p_yL֣9y@w[yzzȞ^cH )\D;aDqX o #`-{I?opBnzvjIu3AnV&;3eؼ \Ӻ!."DnVi`!YBh'L\p9r-]z]6m\h'huE:%;-w(o S(`Wx(ȌW}50~n)6Ȥ?=)M><7S/0  ?*!bXv QݚUIFu /z=E[t% wUaƁIx_Tq`!!dXLK+zMbĸAYD{+i614_x@2 ,=la|cmQa /q JO`Mω$>X|J ܈W~)޻l2r)T5zժ.s{LmJOg`XPg'^\%Tj|(2Al pzּ{ 쉼ʑ ";ФcK2:cޝb\ {ʜ>2NdD](H8_]NP9҉{gaضXSyLҿm0 >rНhaL=_NŢbrb:@,}>!:S Gru\AG!,i?+|̆/d.6$}f,ia?7~٠.&Al󖦑 cr OǾV}2*s;2t"@#NэU/P.4 +KCF+-hu6P6QɃ! HT쯁% Q*T0GcTTuS޹gI?8fw824syOLd+"OCWm%b6xt hq 6y}Z] #Fev˲T||r6!ez0`k[mf#ၟ^kY}) q߉ 7:%Om?stZeIR2W|fW=ٌ[qߙf6շCB0H/3=CqW`W6Mc"8$prsmYeWQC̓2 6= o4MO[, |YaO,^?M?L`4E: 'ϐhȨz GW, ~=%*em_Ԩ&7x52OV)_4]Y' K5r) 1*}=1^V^)JV'y=E R+~1=r+2B[RBuqAH!ݓ?Sm`*߫ X^p4sR+hEvr`SF},yN-ssfzQ,3MMe ɱu& *t&*{VP[նC+v1CnCNi^gITOXR]~AÕc prI ~;F_,@"[lY_?efz5gORg|)ojH7ƉT,>xGd`NN<>gupËg7ygK[zmOKƄEGbR"k1i;lW`)O&5 )S8dx©=+>#=2a<0SQP8<_\n1ґPCOz3D#.D;23RX8hfauA*XfT|.ŬQ3z1SMb>z CyGן/Q~,JV^i"G)\co z[9a-06RWI(B%΁6xeMkJdH1 )e%o2X %Cw\)4o;u_`Ϳ* sBIWɞ~GlTS8s-z)oN.S2"鏀I1 |4[UE﫧'"'R$2?" byk3mi7U=){|aT2Cɵt,!*$I8(=xIѮ.jJ)zaG^|HPVm.v,f[} ŎOHl ubXJnzyrot {ĥcZ68zn_VcuZ =ܺszl:]BY(AdѬ4 c҆< ?p䩈{.nzqFہ=fu}Lͦ3C&+_Z`v Wa r:8mS4iyMi>tRA/:f;E,!jf]!=1Djf?M5e@XN Eg%UcqN y瓚Sb6t\;YgSy ?ԋN,)(,nސجVY-L1Zuވueś#_/^ 9\"hQHT몍mLWj;Jy m"@6a$йSz byMm? ԓǢ7@EUl=fosʋL*uhf?q`"^mj9˕Fm+E(M"*fxP&1RZIޑsBmn+X`:X|=N76Vժ=DϵIJUal 6mg/ۊwZ5C*MMGւ? g!,w\0gmUοV6)}T7m١1Tzvlݬ;QY#Q3kZаJ-ԁkyl&.Jy4APWWc竼;aZ_2K[qK]>K@t3;>YD<(]4/xucgD`C b܎# 8kSPSiŚB٣ T7{l:dW "Eq>znH)yVf,𝳶KΘC@^cD?PE!6f@W{"eSKfK>6( 7Dח e0d*eإy8xVL`s,dE~ }<\֛+vǖ~xb_Ĺ]u:N6(Ks[LXDx^Oe!jߩкk|n8;fSgvuqY0c:o;2_[ʷbʂ?3=Z0LցK5n\ݵUt>vx=bb\z^"crfY L1H9+y#եfsŲG#<^pQa5a\|=iYpzCg9Qؚo b}LJРJ72(N=z˾u̎3k*;5ăb{) 5=9͗T NDhn? :u$,1m lU-D Q{ka0Q]Q.wos$ׁkCKW ˯;@Xgq7kR.3~ԷA9(NTwuWH5×d{)Fo2{Yь{/=_gT W}TRLo{Cұ? U^ܼ"ZGj)rӌ6&ozƾAƯ1`ɠ*~t?f`X쀯ȫ ^ X=&40R-CiՂӡfT'?':.FHD'se&wӣ˃ViGK>gcyr_Q'JjSh%tmܠN5-%]FA3xA_$'HYCez`Mƹ&Q=dk@TStI',|z.E4+جzb[(H&,΋f`}zL@ʄLj0"gƻ~0^o#ٛ@1:M0(,5 x W,v;RS#P6@0yE,3R|P 2ZB0`4o55"| >0W:#ᲣWYH,bioc<0PƒyCe7 Sr%C3_d0mI^`JG _KQtH|DZ1+\YEw8Gh/O<RڀںAOvcw=zL};H,Ѽ7RrP,bcXR0--oJ W^. XTH"-S/k߯fR% Q`nʸ^x 3H* '~daD %' o_1\!SWznZvP=_ j<ȭ 6;z ZsJjԔUدcY3#Uy[YX? I-`,///Y 8 cvLT~ a!p|DAjpLec, LA7/RڮmLH ytIķ6u1כ7dPiPh[6nvU(k3|isnlTi-z݊5ctS [/:,L~X/А2"𽋘p/̅õakIXnw/sz CUrB>$F\ Dh'i1dlM] ,4'DNL؀]G,s~IV[5B_^d mb`Ѓh-B~Hbbxq^~'65!I Ts^]s5O~DH[V{m 2\Y|LT5µ9뭪 59tpG(8Gse ,qw~Ӵ6x'b13LRa Ai m^ݮ~yӲ$27Cر$W T ލH>, ϸ/i2pY'sŭ-l;n!Ll᭹ryՇWB]`Jw B`B+ '{^.%v:W˺oOՙ84EM_VF6!.3d+-!lI!׀nڤ-}E8ؿ'os4IM/q,Uj:MKqUKCH fD@P\TTUXpF]MRVo`|Y0\s2;)X>Ncd4S8Q3Suokg( 1/?2S+ _K=C Xd*O%. )=kvSܝP^.E(&i ,%GEAb4"+YpFE?pJ`,1}̂f¡AG \]+es+KT  f!/* eN-zkaSϙaV߁Sҳ56E QKw!W_򲾆8Y,S;JUmŖƫvbL| \삆xDL|Vz B 3`䇚KL SG["Y񛠦 H/lG'{Ðh;9vyvnGkmHZ Ik9s!GU>QY<~Vlځe#04rf=(M* >k-{:c_$j|׍OS}D[қwLc~~hS<2 㹙bL#x:H+لsZ2=Rf;7`B"}h12rgbPEfvs@_2rc?ziuᑣ6g2tX5p: H߁0Dn=:-+/QYK襗CaKd8<͌~؜'/+HeJ/Hq(!k\̎m4p-0kĒ I0*XPWgmM1Jn]`GQ[lYT[ޯaLmx%1՗e(%<$ψmK=NTJSs4ns n>/Gh{Uv>LkN7}i?,>nuv~L8 _)UF̃ ^XyXUǓl%b3g-O8Yz36qGlNvMsGA+[tTlP@FGhX~xz(kP],֟@Ż3߷ʾvnxfK eL lLR|TDWB<3{dе؛GK&=BuIe|U<{w۟Hw JaC)}ϏSViبHů)T^uTαMQd*#-[4Fx+KRad+ks_#5=Nk=z kL<ҁ4> HyGy<ժ̏Mn%qD7S1+4BYYt\ra GFSǼ 4 X*/ `3'{Y~^`EU/hL`aLnn苤P5g,F2xP= tXҫzdPf]0kEҒfڈدhU,P7S7q)mk˝w;( I2p wPRvPX [ۯbo+.ӄOl31]Ї!vR}GrYHH"WJ/-] PCF6 G6= `ԈGU>f٬G-J3MaL&'RY03YFP00%#il8'@U;[. ^(N3_D,Stu͞}gA7cqZׄ\ -s th-t?՗Jxͧи#&-VoY!e*óR'4>?Glͽ. wѷyۥ/WTnV~aUIpA0p|`PQ)K&AXjeI3#V̪v ,4"ӠB:9={J)Υ- i2`jE=w~)[u>.f0y!58%hHlfݼ0^"T>Yߴ^BM]=> ޞ&w`p1%+aеߗo|Sy1u΀b+@_B`jF'QaeEܝdM V DԴRNTRlݔ1b;m!a匽\ Ɇ?5#yC]ZjZU ]w҃$U.##4-M`Y1X븿L8êa=jOVfp*4վx dtaqH~#JZMY2R/^KO0PLUiVn\}v|9l8T٤5_R>|({/+I\=7p QIt|>XRnI!"tgCK2zଦ'c")`R :z 'ɼl| /{g>Wg*a&=ED;&N* x[WNIaFo4}eo`:.Af˶}5cLP])p|aSe6$~IӂVM2bv<~[4,UVzq3E.SA3ñvוwrqf6:8{āV벞HlS3L [4ID,\=ڵO#^u>вĮ.2RB bAZ,wj%=;}sHr&wa;J?{N} VDXx׉xlP;"4,Jұy8JPX+P[NގB࠼3{ 7g\>h,<ƨ{'z%6s/4Iv?a)= pЊ6_4 (*eL:_;Hz#m#wɛ)0e['1 p@ KD?I0 g9~/9@ȑd+p*lt%ܞH@-Z2iGп8f)=!-V9d5 ftie{%spVS-@VTogЩyۗ׽Ʃk FaԵh0{Eʦ`Nl Q~hT2!m^ez^~mN=rʪjd hW;&t[F Ck)|n14o88iwDG9vzY:#N|<3ΈX`_w2ڮ[l1O->$q׋v-=]?}BOUVI_>a` j̬KA+V^X²z|j%f>5c28F$JqC|mPo)싾izWmD^]3sҝ-ob=l` 01l?w.0<^u>S:"7\BҼ$&Ŀ P̻cr"R2Jk;K;6ZM<1e=6Ic4&J&ji'Q/\;GM2,F,U.RZѰm]&g @F/Y |;QVXÜ1\F>r99]2C0c{1SpbBƣX/x8VӎGx؈A)j{_^S^{(<nLNjW|5֪Lb{Ԭ\ЇH")0hMeܮl7vnrL&VE.7XcE(y|q'=Aa&;fm`3Y"o,z<Jrԇ,g峛y,7fZeE%S~Zn՜KѭAnF *#}E@F*QUlK&ǒXAb ?6}MjqE`QR\|@ұzΦP-^Ŷ,[\ݖK>~گǯ.w cqV-79Rj'子xmn+١u}'}{@zJ?=!(*&l"ȴ2t;ǤCk0XD1F{wG7t45oV}ՉGr;gM^'R*wzmHYOE󨸴/mSx` fQD=0Y1a+!W;l1n=@)83n6d &a0BaUˊB}ma3Jlk5f܌ҳ} zJ4b"sO Eۥm(/3V/gu.S^^BC'm7ñSvg+uPQ rJ @(yT-(hN[ڇfmIRL9Mg$Jtm[QHN y+L[-I%lfhPפ@C1%7ͥ昔;2G.IK@܅nar$@`!!nś*4 Ɔ_*U"wtp9M92u H̕ۆ(BU1YņNQΘo: !H^N5Vzu#Y& _8)UW7{)bqόB՟z࠺߳ѡ B%2P}/;㡲I(2]%Mcbe ', (O@1\.P~/W6;,3wyh!M+SU͏cRkŲПdz$TKj0?.Or$%A1F~%X0~B\CltF{500nc6yŋ )f_jY=։)N0bD.kN %,E*|0]j i^:qHHրoE _~2oosJSRe>vNݷO4ʅlRgnw2w/x2%31Oە~A)?WZy,^ 4Т$pzIH84sB,LܩqPꁍ-c*LJnE w(XaLT~ꡝ8CFˑ5iy2$S۞X%_'ui)KYw?]!˿=_dg!Bj;(<|2Ў@8Xpԑ,B{ȍdgϛuyl8DZꑖTIBiFl'MsyZZhf!BCNmvrzqn쨵Grnޕ{C/j*%:2'z4o[9mW C~c-S 1<\=;˿9Fy:W6 ևa+e&$$z QeX?B'7_KeDH+^F*nyve<1= ~PY=WT F@nqjW ҃ n[/2&O o sـd >WYowҟB+#FQ"1*5!ۆsIknC sNڨ҇/>5FAnlZ~Y]Rvp$w'Mi"RTf_)Y>L4>*xdنk(w1cv O`Nub8|RE]oA)!w*sJF-+ק~ a,&|lU%΄74={ K;4vBӕd'ナ-Zʖz{ x"v(?ffa-UZB_c Qp c@oⳬsuX]f)rnqd*\;>ڧ=Iϋfgdut2~ ,e | 9Gde@)YOpXUzK7f4X*aqq3_%*ߑ`MܻߝXF i.@U(4>شtO 4ENƇH1*.EZ‘u2ϞLYN['?/.^ﬔgy?7GfY&]O:rVY+SAbE,)|,x$^F!]w8k'-Aoi~d߫sp?KÃ<4xҾקr+usm1s|D Uҩe %2ddv`Tq~qUB;0~ӯ"' p=3G8iO1GvE@}`Cb`nJ;32,V:A}ǵd;}%W2ZHR#_)g%o5t`yl\ihOOinͭĉo}w\|OB.xRS/"! y⛑ncفa,1۵Yxh{\dtKBn`l0D Yt.;^, ˇƬjU?q/s-I!1( KN\:"rtvfQ'@`vhfTc 5S҆}Y+v\7 l$5hG;Oc@I;گ3&u5tk8,SuNL?sm֣'vۚ4P&$I|-L,vyҊ!W]J>՘&+阬F5G m=wI*J{*r B˄ߩ55ت, QzN]5y9ZuS:=_z"72!&VK>rvاSҕ5y{hDY2@7MzBnU5 EEH3AQTw>.jAca^LzkqL<܎wUspVߔ@݃U>=i+Ff [#O7[.$?C[fMÉnu ,Ӭ~Dc?Zs~곅K)d^'6ѥA  ^A+Eiޢx>p-ŕx`xNDLX!ͺ ʓ~zoҙuG\ )H-Ouiby7CGBfcJ\uɥMVmX1.2 *q-ؾ 1yo"~¿oPE~|fQ6 _~#2?};eK9d%X]{6N h8LPEwSL<[3:aR\@REVȾ#̱J,q3 X)ga]NxxnMfq{I3j)nkt@׊,7KV~{rhyr4_ia;%?Җ\5PpKncV̓!oP0 @-se-'MHqmȷ,x[?> Zw"._j|lf;6p`sNw{:Q v%46_'vv^2GkQ'7"HF'\<-H r㳂%\;B)\,)o9jr!Sf޹)b܏)ɓA.N^>M T!Z0~k+l`TAa6??UY`-2?ZV,=i-&dAPz/Ki;PcnNmtIcF{tpŸK;}OD]@5<?vss!9j"f] Q+[8) )F5^`~+e:%U$НꅤQ' ~Fyi2? =Zs8LH<4g}< _x}0V:T&;ЯRrA ;}+7[LX?eZ+ǡ*>yvh&jNv)WT8b%F&p\Fq;+vΥ%?5d} &]G0~eY2#踼Sbߍ"0[5`Ҁ!X4ljgf  }%AEwd`Nbcq 'omi\_7.c65b ?*?X[֩H> V 3+ ܘxdTgS B:6j#`Q<Ͼ8b5Rƍ2c]߆O rq{ZW?yPH;z"ri**ߡ+@*HD0 + *p8ywhSi_Gby֌C|ZPy#Q ;Q9J,-lHրn!"x^pl᠐ Z~&$|,AGP{pt>v1>ӊe^ЭA%2oppaS@~~q삜q~P]_=johxfqQ "jZ7~TvDY$_`qJď,? 3ٮ5$3`}*NLmfav%m\aFŊ!YƳY"_kfl86^P=zIژ-u,`=@vm}Y@#ߢTLxס&KTU!qk̊#~&It,]r:wPO7u;:DԸޫC/w}FR.ۜCY?\OJxj ~{e]l!ˇo)?{q.1ӢxmRE=^SײJ>$ɦYa6 ]Q ';T hh8tYfO8EHWT<&3U j{50B4nGB@*9|v/s)tDͧmB&Ą_~2Bu עD.^,ƕ!n@`NDm~’Xԟ M^rNC@On,vl;ն&"eu3WJ7 ZrcbF.6q)nKc\͖8 vQ!z&0?b/O<2эaFjL E7!ǺȀK"ܾlV2Ûhy/~OW~Nr8jln%n`|y".*ba]rSU'xfzfTXH|EG5O;Qg:m+y<(kžcw'jN%ٚ~pvZ5s&Z]Q=3O{w`o !cXsI( +ɥ᳄=iZe`>D\7kXsl튎TWE^ Nd(|ʛ:"͍3(MP9 -tkM,6ìZn+ȱ(￐yKY L-eh.ҋE P0\dT5s⮰G᭙ϼ^f{([lԎ;<6xb ˒Qé+"v/)08*@% F71ܗn"({:N»B2T);m)9IBf M"}d줭Os0rG\M*xZ<(6u qpk?a5  q\`Y`Bj7US.>M3yNSyHK4qcTo!TCzqZWO 64E3=Ɣyp0Ϸ0zk:@y ,/ 9`yK?R̖~,\qM%}48 );tɣ2NɗIuՊ9U't6u!ߠVCs}dYSf^j, /W\J#P==3{^D_\f@\YrHJ>y`z8f1" ]qs2WKEsXDo{~1g $-#-}N>\=bK|;3.7󶠿,𲯁W-46L!zԩHS4#K[Qh8P*˗ˡANPܯ@/1NnkxG?>Ci7bH[hĒrƋ2U3&yYML.xE,rd%G'Do@qP~=*aG G?-'¦2hLV\)eJPvNLo.,+7ԃkHc'jH'ð6RDl4f-y(؃G7gNXFw$!reN۶]q`E~eȗtBmVR36Z!L"i51WĘ*ˡOaO mY3mզbpkKgK58:!9Ty- AOo@+ղhd{7|/auOҦ@l w}ǫןCjU0X/*}nK >71c"nc nQ9WY"v1!8 6)y ;  A4s K4n3dN%e}r 퓩/PJd.E傄ddARA sEqC#}hS=hbt͛yaFg&7%V+_ H2]aO926^ _!ޡBK9繰U_]8h@Zs. hJꏷ6Ӊ Y\|JEuh%oV …nP2] __›V*AR V &~.`z oz!zO1#i Aօż-+\2+x=)5LLUw@X ۱8We\s4r%WݕNY!~q؍s~2gԮcRqn EVf{3D E4ACVgyKK~ѽr/)y+7x9{b#U=0ohU­Ŧ>h,am%$iS0ހqMͻYM mh"Rxu&\-MAx;H1w; Sug-{\jd9a+Uڠ^ AmزU7EJ0Cj|s,]y8e*"˺ CV P7=i]JU,BP"[48*[1!`2Z%3qi!b6Z֭QF=#OPgRѴdX(ZNe&lĒrĜL5Vp5\(4qi1gUk~ǩrmi.\@.ytJf'SgJ{^Z"H㥩~ ;Y/qeMk"b#&cgUtoO vo @3 mT3†$xeP#UB`&?N↛TZs^ 8ӗ8"<VsfK{k`֩rA@axOUC68,V{o[NC6)^tX+G{1u>{1Ĺ4&0 ш(%^65[I.x2h}?(Ǣ<پnTA>"@؊a9, e<XUnLrߝG&-DZoLXQ$\Qxba!7tX宒c[@ZxhƽN.K{Eb ͎MGM ӜU3Sua8 k+ ]c[<YqP|0(3:M`heZzۄOT 03!OlcH<uu% 9x'׿S #KԨ{Vt^]Z뒔nqYc^d%U՛') _6C80Wߧ:*R{<2sDXِ:GM"Ģb=+4R@P<r'LBޗaH0ڀ ꄥ.Kp:0!!B ݴ_ncPY.@E T9hgO0 /k$e0cyšTe}a& t#P'gubaoNѨGPÊ&mF4QzեCqup]pFW 4a-Is*pNy_@r>+KS\cm*B> sdYOo,nڈ㾛,tKym?d7BǖH*2 PVSƩacAg({V4s/'۵pٗL1+IGF$[ʶOER%}G &X|tUVpz؝ItYjqZ9g`tL'I|dYQ#' ၚS6cXZ$xŖftC:C8gZ/ܚ2Pds'²zaD􀍻8^l˰w%ٳdo@_ dB> F+Hҡ`Df A +*^TmL]`@)ь߷נ~g"_p9''|U6Wm]!\dƧ5~%m` o_ L3ɣ:;+F319U]Ή˿Pӳ'}]7Bi&Hw]%^E t 2B|,&juJޕamnU;, Ç/B]ZE2 0^EU'yy. .LOerc(;%C]am$W H|9Tnw-ޘ "˖Uޯ4[Sior4_{vwᣫt_dG%)M@>V`yjRyUw',@V),Lti ת^ v2b iÒA7EQ:t)>WS4Jza@9Ð8F VX=p >NI$)FVxYB@9yq[I_ \yJa-~C)=5)&`ޜ[6RҼG>9ߖ_/Aߐjc,b+X#̦$wp6 )7]E`C_5^l(_D9~mcÉt»,<ĸ0$-*ѳLJ`P6s7Lp=ӫou.*w.xdqg$BY_8z,>: Ҳ~B-ֲ E3R0&``=.fAk?o=ĨzŮ;4حœMR93t98/axL Jkt/UsT XOouuB _zWT <8x lc|US`z엨.9g>jh lkKytdNDeIߘ` f)MӻsQ*J ؾ*VIWX+j\2Ql>8v;p/8e9fՃ,hQR%-nLi x¬C g'hFa\Rn-0 *Sը8=nIfRv53ڱ2ɿ9'T@FPrNxn*>P<ڱ]EYQ[pgJHNs Z QS:$.L7$?HB.)fX0q<7Ǫ u*; d%åd_K?/KsX3PK|t)ۻ+3;\ઑ71!amza]̏"W =4YYlIlB3nVZ̺xߪT|m=C0TAѤ{c9]8jcbԅ)*Ӽ6Vݭ2=;,]U%`)an0 ·u>r7@%f S<)QM{Z/^m󑦁V< >hקbNeT:+|[nH{nFS[= PoAoܰg;]WZCU>v͏tsǴm{t-GGcvމ)|[o7~b{IsUl#UOU5USq>e*S~.40Ԧ!¾T75l%BL/Ej\ KU 4E+}z3PzHʮՂhݬ EIm.۫ZVpAx&l%~iƜ}4v2%V!Իoz=.\=2D-6=6W\>t淠Wں `OMuG.;&(궛%/tIPe*nx^ [l 3*(2)g_N@EIdнزK rP#n(f(?.iGd5e'(9p "%x_;ɡ[Q#}a.K$M]nӜC\W+ib_ff(G&>z׼5N.8JI,, ^nSkF}PX/m qϗ~-ۼkK]ABcB51wSzTtޓౝ\Όr8x^;sN`)QؙeNXrHuM}uzVόb,  yߐ^%̽Σv-_-fΈVBHڐ>CCBR*;DcFAHL5g֯qfޤ4y@;9i ԧo""\?`:9l.BoZ|&!rosW rIM!70κ[c!usnrWMu` {zR # 6K{k73`B7}g5ኌ 7:Nݿ%pHoAhqra+H?#\jکW{Y6+W%maaoV0@ ύ%8gO"$ MU(?Bޯ_NACO)$Au] >k#xw1zc*]~e&va _VY8קnUnsy-':,!м% :o)ӗ7cAra0_$t36 yNY"aUcUNE'XE 'pXN5TS !p /&#Ol?,  TH`O WS^\mf& g?m^抂萳-+>kvhHBC1}Y;XqB]7A| ]6qtכQY9|QN87;?SP=w5G>oP;'2S TnImVgxEx uZ'I_dH(/r#bbx-dnE ق jIb.7+6 `i7$骼IyJ ZH+/ C=,C;~Yvt0A~!>;Eٟv82ao#+j{GZEOPP{GD!=jcpU0#hğB^_=^EF~994^97݃/Fil6fVҳuudEB4Fi"RW+2?/Zl1ڤ/f6E1 ӌ~vJ@!,*YXf6eE3R)VKD 1MT1滋1R^,tsv-! J^蔝q1x #eͦ(e0P (`$µ|A&;8(QRRw+|BCEȼtgVuD] /' 'ٰxyY5"~{jݹ %Lmha.8%>}9\&C>i¢#9S:c˵.dݹtjزK &>W-s֦ml,JS(~9 Z&P:n1J/}&!pgi}I:zU|țMr3s& mꤶ<ǂfF;4n.&)W(Vɓ\>S%CLҍ&;JC%5|@aIEH|6gQk%+i{LJ`]PSh~W?pƶX,cI{l8F14jX5e腉79gp?%9FBPCdiAU,2y#d:@8h̳?r pĻMNَa(u p}'eC7KSig g@ľ*'zDBbRbS^G.ş҆6%U FRjo.cYhWq D 7{oMer1Z9ishMG,dID{rJN~Ft)`bo#4.|e5"NB 2Ȏ;,L`M@B\Bc&5#S9L <2MYLwiQ \GGhbWJ XLR"ҧќƔod 3;ATg(2h YyYRZ+s3n9!.FY/>l{ˇhja{SOaP]_+Q>#m/z`S'1Z%Zʪ(mbfw-KufVFDQU@3,KAC<3g6Qb?" )3@eZ\`>zi[)њSU{. s5tɖ%D^7i2z|ccD,9h,*t?յnV9,jvLon,-bZYk-g[RvEڳ)b@κMW#k@fiB\}b Ԏ&QHA9eRbs+2'& akA+w\"bG~\W=| =Yˠ{sf e$!.q ߹^A*Bvc @ Dm`C$uEc4|{ףAmʑpp ~f\*ףmtlДBe7<#XLJ$33dh&7=?Q롌£.?Cq5C/DZ͵3cDNV&VYn4UG TT*A8Gcr4dJB;OL1rRAؠ[w:;ʟtVxZaϷ퀰$Y3ߺFմUOgD~>Nr;`VxjѽV!?&cj8P#rч1cCڋU ɯgNvL?U KwVqT|vm{S/N^s.yk.uʿtS~[EJ#&`}~*S捚^^͋쟷݊8jhJ5i0T V [㥭V%7?%T(J]DKb'P,S}y8~I|_GrJpƯ7޹˛9ؗI$ih ~}*WO%">7vRiȱOAoAb*2t ߞF~^@1˕U]e^ #o`f" ڧ/Aj1YWt bR(xs}p_EXcȄnMcRH-;*pށ[q٦ zϨ?bpIPٕhf6f G  #{&{gޅ(rQ=4"7mb%  E}.9O.s.e__{̔ $lM 8 !slmr/HB連.͍_W?k%B95»R6aA ?RV~R8yee+UQeGn;P)b-Rcs$Vla1fa-j;>g$ @DHW/NɫO ,(׻'mh `ƻQ<8 : m8S?g7gk7Z_ OK$TY_B Pgf&⻴?v M AK*$k 018aIv=Znm@ݗ]\3T@-tFbHY`PfVREt9a1O)7UΧj[hZ[Um]yrW'~܉7UK=_WqZa+?/Ü"]Z[7vBPw@gXq789W{*"b9tIv{pu[ /o,y,YyN]d4%䯒m|WWg14nPþ$&‚V&!3:׼7<|Wi`ATg F@+J`/Jm*T!PfgS3CVC]#Rq/Ǫ%13 &[2(/+vd{Ĝ {rZ,>nإ&,Ǐvag-|1̷MWFZvQ xu;NFߘb~X,Lh 5 :qAEh ]_*~z-IգrGaHڅ?N݉*1>l/bw_8-+"dY7E9+k˞Cj lѬ%5.t7>4@gyoNft(z4Ycuue?j ::yO#.h G"%Ӡ ߉!9TSMkKڤ;fr3qt649䗇z~2FO2 .e϶bg}Y|_:*+˻1d؃1ύۂU?י?p9u)_[e# b"B@a+ש9܏*m/gg4Nx^n\/UVn "~2ChIqF:Ԋ{.vP%<^V,6vlthu.o}/H-θz+fb?6#1|Hmso,?TH\g[;:zgAlA !oIU =kN AB+NH"1 RֵZWdO"I2ξ~ཱպRj~k&2[M5dDXʶm^ 6 q`J &CLDeb nC%AbJ [{|ڝ#v[=F(9Hwy?[9u?|se8-UТk4$יq8I!SB݀Ez% 6*C!Ưnʞ\sknQ}/9P 4pR԰!ޘx(dPc ꅔ7SbKy5 {Tu+/r}/7bE GPml0WK%R7]eH+@O19aܾ"xAj:/xAL`-ppĚˀ ɡmM>-Kcމ%Eb 8B8A>)}%\]̓6!a dž']B^ !S _˔ Q-8<\| Dp]&%DTJA_S0JnC퐻wwPw!NS(=IqG{mq TlmP1&7fD(A/1|B[ *kDFvȽkuZsyƿr x"<~Zxĺ?f ۸w";F7XZ[p4T@e7bOHDΠk0+}Fl$QAin߾#$) " eAZg93O]4f;'wO{WǙ-'e|A810J.7\Y-pC$w3Wri@P8B)F84VQr7p _=FCԻգAK 4P m;ސui1bAO@22ݾNwgׯxXxI)f"deM} ŒvQVG84Z; _aV Dt<҃ &SAWQ8iSCí[f2#A>1%u7.trVPwdlG<"i.Isc*A_< )?CJ+قl+2j`%kT=jTIqiSAM? EZUE,MT2/R[vS ? BGNv^ ' Ci&(!*)Ÿٚ4v7h›T|XIҦұ&vE BԐM'\gYj+׉tNX52:Dޑ}W6T2B<$ B,)Lz5VsS"̚3o1K,/ص/9k8$S.=XTdRb,/x!m$jw6`)/>$dig'a#x# (òZ><=v+̪W8 o/xV@H~XyŦ c]?Id l,&4ѢّgCfզ0 Kc%G+cNT[z|c$dLٗtQS=cU-sDo%od$ +#dD F(* ].s fBA{L\A_94w-2~^ڮ5JUJ M5,ilq{gJN:ŃLyM]\%凞iBf-I[>= yj%=^3xV;sȕ\lBfqvI7TS@MY_# ӹs @.^._2Y=ꛄt#N_vĭ9WeOf2BbLǣ8"2hDvI@=wa*]~]{ 0le}b(<5,e,.ѽmo"Ȼb앶Qy7~:1x?{liMVN~#/?XD+Kʀ ?;Hxr۔;.Jl 1ȶ4zlV~~76Bj@;p*)k9։27-(~a1.Ѯ20n'󾨐~d9imZ3:4"m ND*R՗Б!);dzB`WdX 'p>poWaG P!g'AOP=ż"~izp#(@-j^%[j|i:Jrm^Tj22j%};n@n42n%ֿ}I+Tp1tyrZ_GkvkY:Ŗ%]e dcZ8s4<>cz}U3gZ0W[wV^5=5 {.1~n/XOӱ4y[]Z8tLƻQ{%>άJX\\B:W!ܫ:9zd*FKcR,%#S6ma53LwV3u<-ga >!"9P]ja[5%#4Y\R~ r& Vڡ@ѣv)+޷e:V=)ːIWo>A 15( +q>E*̜#@0~9l+Cs@RHGigͳ4!$W$m*KIg5FUQ%I%%?e:ϰ+Hk\O=K:ڈ 9ZOGS|eeTZ"^;g ՞A%R*@)[X=mAb=_o =/AmYji[r )$~@J V YC.n#zhN,n/4v}.Lpzaݯd󧡿FcSl.soo2Zg Y8jϴ…?0xpв :@ɠ/gwԆBD J!C%8ck7 TK0m!t)'cԬ[ՁLH$,vtzI"ǞjikECaMi67܉"F{qmJȆ&.\Q02].cy~|"k[mH~2':  Ȳt;/T z7g=ϤFFqQ:ANW1?t_r!Я,G]af܉ٗࠛ^'MKξ?7P{>YC.#:jv w+ݎ0r-L4j7mWnHY[2ǃ7=,a,5DK3w U+ }]ks)$W:dC'd_Ģo3vb!<ӿ: v!IrޣF>u# pHrxT[g2 ̳oXLy@me#Rҗd AC-dM Qڗ̔;%HE[ =e풹&q;@:4;PWиwgOY{C~QotOZB g(([5DF!בdkPD>ƺvIӗO2,4袏sj ]zz?X\&20`LӹUPvaSY> Kl-gCi;Ezb]PKhIUz=s>*4 _T6=dOEb,㬃%GԐR`Z>0&t$ !*Գܙ:3aذw~U2!=ui_T'T>dSO515>mT_,/9ydKj퇝J2$zނ-n)oËIȀV__sY{EBI v1#/n VXA5|vFХ=Eos* Pѭ ׯ7gj~e$^"[P*~ j`u@,6>xp3m4r|G1:e\?Ө@6覗q M P{%E2U7c2"3j?Eb{0>90oNmڨ|qUׅ軪(,~cxd _09 dɿ =*VlCl[JV*z@4BVJ>DyF+.ɒ~7ٳ:pcUR6gOwI,j&tRNOA724)fESt-)RYc[7 6~qB }V۔[jG%i=]lxN'vZavjF|ЇU"]]R^^ŝ,,P"/$ iaF0٦U¬!k?,cy^(Tqiʪ1H*]fzZ)x,]4Fuqb֡DL̈j 5 O22ޗd-OKCw`ӿȇlg옭C M- 9zKDb _K?3P|ziP#.okn ڦC~W??s,*=bNb5 %e8):{b33:ǥ2bƏFEu=b~أP J$+U^sr %.Crr$F9>?te:ҙϪ\!hC)Ͽƿ2jc-)2xAN/zWD A`s"$tp0S=ޯY/ 0I ]8MJR"nLVj@ lf@TcO弈)4//=Sw\jP&@~ '?ϼ3u(:oU^r@`FA0;Ad DkIFBTk*{+ֿ8t(ҋuxY5v)0DRZ| =Ac5o~Lo~Sk@ 4ĸ`fP_-Yc̵K=Je^ &t aT5 6-em~KTOo7ד6b#n&저I/~aā}ϫ }`NT$/ u<_ߙjDl d@{rPMTDyoڶROwU|)>D a|V`3|Q\-,*gt2f_m 'F} 5ys*嬟`Ƽҙ_@;uěR祜D=ڪܴ&y=djsxAzU^-"l|ߋh~x=H;M;P5:Q*×ӄ?Ҵm-X]&LB('Nݜ6`}@,,t24 /> ^I:rEOU_9;Hv9g'{x lq0.9!B4'c7"Gc ؿP7U^ɰ G X8*bG2:1 r4`l:ڇ xffozVO5<ƱRøcȖK^m4PU؂$~#Ћ" 5MJ4^s\[M4my9P\>rDeC({ϑ ۂ -:G/ܕLu= :!uHTɓY!Vkeފe}i=/Iõ߁'s Eכ4\x9@\ss Bhkkͺ{+OVOjWO\:5 v ![~ﱯݕv< aUh1İȽ'7HrefL.>U~^i^CŜlinO%3R57I^R$Mn^⑋M.R4.L,e@#]Xkf2E::FHOHl_d)4O[4-+id[IKD;\;<|OT0ClZ2#t gV; 9NeYWNf1UsG"1NNj.wTK*9ѹ)R4a`b` |:&>, ]5}7v;!ujnJ0GMY1b {:\r$[F*Ϣ7eH_ALd~}r]{y{?D,Qя6Uh! ՌxA\^Ϭc9;/L2 g?bY܀]SUd*c4]-|7 B{@N=,IݬEXthb j6y=> iA?u'V]D^(t$43KI Q[5xIN}Gy;ֱPi%+DS`@5=W ^9j/Z=* (h8W֩$O.$jK E3NH<{ @W35чx\AOv|rq =ƫnk%/Ku׹;zn`}nc0mQX(#jZt!zSw-``A䚏N1u;LUA26r ݒm;GK3m 1v:kl{`U35콆a5Zou@+_"Mx5\eW8*v%\jl>PXf+!UP@Ѥ,ee/n)N&_`Ru铕j{IsT:@*|,,^ɭkYvyonuGf@ߺ7w( AL`(zEۚY*^Hu%fUؓ2{ d"V:+շA@R_y9%Z%}&S\61-.ȹCBdKĨya֬s/-vCe(_z} :ŒNK>R.} F.b$;s`2Ri# * ]VLd}OP9ÈL? e^v&tuI9!e$˟q;r6אa4R$iᣌs,~7ΐ1r8:7;`ym3Ĵ5WRb݃5 {N^ uԎs8U?U?Xpp#Bϊަa0>NTzݍpp7Eb!)_z/zdmpH= ]vAQ_aQ͞>'Hu:juL8ҵ!+%tQxbvbmYguf߭.-^/:G0xMv: &n .ˆP VTm g+ ,9 +0C"i fdDՔ#/Sjr1@hmUTU$#XSE"`?\aqGrqޢ.W@_Y,LN#  e o詝8/k@MG}V5Q&Ro>6)Fg>C;U,#ॏPgKmd@`:s3|'8G'@"4LI/G5-~`嵌 Gjol1(ə"l1_ !BH؊H`ia[#쭆Yr""49WC%.>=ǚk6ptߞlj>}u-I9 4WT h?A,2<%PoW;0? W鍬m%&| 55A]Nw*(ЅK 8KBlUK ̘R-x66E"L޺L/l~S>[<30B5.c;mӟxKeGЂ@tawnyq3d?H }@Ԗrh [ڱ[ -ܣ*!N :n޹mXFc|Se4ot-!L)KUA/HBy-arՂ!0Ni_p?,.Oq|p=CFNwՋ-]$,nB "-HdA둪;KΔ`SP\!#!ʿ?}v(kK|cwÏvm ebǙ_YNbzE3ϙ&3vU(G/&\r@E3,=!37 I@}o_zksX'֎xV}Y6)`"&_LzAG:f8\O(Guupmo%LBUX>o{3V b'Ņ+c`4IB VHj[Axn`Χ,bdbn}c2Iٜd)urKӓj.СCUR *+xTrAsXJ-c .8?Q`r|;FОo 5/@_-ZU3>u&WJV e6v"޶v9~h%aqM]ї$~ ru6I!գLY9٬Zקj}dKƫ^X 89YX.UOPh|Z̿㢼|#[]/=ߩ :}Z#v$ʒ OE6Ndvf*v9FBn~v}^W&ę3H15:?:j z>X {2~*vu/֚ˤ~$Q 8[[/zF0Y YSۊӁ;n2I y!K{V싿N|UsIƹ_Wtm&EcOjK&٭Uua@&Dc=e =sE=c'Ѣ+\)C '5D0|+֮zn1T]itS©·d9)Gw162;E@K\3ve .hm(Z)bه4Tq5S (] O敱x4덍"Mȭ=E PuhX[뽭P E+tW <{)pq5N2 -u3RAZ=›Z$BU<̾ 1rlJy'E9 p\)b3Ey>~KF"(rI.$:(B'iLȜ+JeցߞJq0xIXJ_.}_68*}DI`9"ENpd5_*ϋI 4baԁ\!ls(c3)~PdI,) W(gQ9NMV_w+^dvTr΋`BaZR1DžsR;RM`uy*ehX/VřVT-n&b &A>+TNM%(lx$|A=akgюowjGKgU*7wvnU6jDUyzm6f ۅ6t˽CޥYd!V@-O*hւM^eIZ2{m1isk=}7BH8MF"Zнռ#^-M{#(ӣ9J}PIk!EhuD 5UVo6PʗQiDJ:$K䝟ڱ4hh'^q6 E+$)_5:27Śe)U9 >[ZJ>rV9/~kw]֚C=Yȍ/HglBe l?Qp 4͟6 KRrhy]}|nU`Χz^~)kfG)sCVGXC!܉~^!˟Q Ī2p:F6&ν ms9UƑgŅaҩ?y&T4\TS7\$j'mփ@mcϹIqgZFIC=n_Hأi/zYuR"[݅ V.mhӲ^ø=Np<_pYg3wk'.J0<L@:v5f)KsaEp)⿌*>!w)&:yddc|!kucR2rSpgc$WR D %sgsh櫟-`Ef$%f+zHdlWp%#C2m+,R:0J]@Ov Ȭ>M2|9tWf% *E5X@bghQh:w8?M~,\S"0+t]f>I_ 2XQimL#f:`k4S.KCUngᐕBqV^Q* M~~D~G$OR| ȬXi!{2 vs :^)d8a6egn:Qچ Jw3^)P+kO ?6o#1\O}f>H=obR`v]tW Q7 ? mT5>ChxΝ=(%ՔZ )r d ʭvs Wj F*yJ?2߃,=&OZ] ERx!m䙢A >eLEN;zG4tzYY)Xl" HXk} 3reNCHE7-hA9pC/gg=:{)zH7 ЛkYsqRUIK/ f0P7ȼwbaɽoE^g%ޒ2Rzbw]ˁa[J8aPbE+@<۵3*4 ,EUXAjVX@*up]ekt9|0ٙuDM0},P-<}mYSc4,xа*!RμRR_C\aeJgZ)@a#nלirR7XCqs P{qtx|\>VxΈ>S ASF .!i͌@uES]fU#`֤rLyj4x|L3v}!SO Uzؠ5*ԷTMC~ :wa0tQT#%cqRnOQKK̩nVj OHTUa­? =MrnsiW0ld`V}#Y=N|]AuB㙮a|%o=@7 Zſu|c\^ɮ +u;WT,غ%(9bPIbXnv'iAŝܸ|~/f@UN9 ~cF2}TU<5F}Y.OB>%֓<[7pO-q_+PcP:5^B+4y` "7ug5zC%3c..ji$q!BQZfr["vk =LN,5ϔeb U)y1S8&_3\G2#M>W} IF39O=ߝc9q6KssOJ:T[~^itTqs#~u4bN5HŚt^ff1<ߛ\X*Jk"kha/Ppy&BG$B]qXR̝~M<߁A(’9Jj]P;+x6A>m@4֓@믓QǞgplB;d̚+6jnYuoBx,rONxZ-L>%@Jb0| '4 z Ie\$CoahXvozٞ#9 \,8"(-nqBӢ 1f=YsRyut3ߺgR|Db+6#o,]dpK0̊_a%*F\L Z32D[&5rtT5D5 Cv(UI/ 5>ZSrG2fQQE@$wHWGHF$׫]ɄLݴ003{;|滗KdK$o8/b!1W {vo5H4;:T$ﰱMZHFRظ='&O1U,WoC ]nb2B>:5;l>ȈsW`OCdi @G5t:̗^'q,j٫ׄ&r&ґ,^lQ4:߫ty%U>+,z ,e?h 0`dT Β"3)ɔ>9+(P8D&el5x}1:d* >D&oF~٧ncѯ|\\\~i}s,6¤\`/-9[Mq RvBk!6&mRu\[ (+7a:Xmsq5AWӃ2G4tW ,Ԫ)bT/THYIg9q8Q񼳧qž=StiY5Ox6\-RPu8d}U԰AkB(W8[f0#є9S}6 ف)+?^6ޕe&\:9!^f8BR;IloHr5&C{^[\xE Yb⴪ c.V[gDـɚzX(3$R妛{g(ʚr5ަܮbABwYoie.~FVD{WztLjYhU%R$f7QQ;,Ei5_jQcuJt^݀o9퍂BkM Tq? %>`Fa5KO-zsoڱVA%D5fqE DHn|Pf [##%%.;qL&2'{f}fݪ=F9*SRvC|HMɿvvvPo E׼HfKK %vN/Iڵ∬.Tz (ZtAޟÍx3wvdO%A~io|`fi#Dg!!d;@~/Zw_PZ)Xe8EMrQ2fԩIiBMcK79yvl]|5fݲjf3lCT^BUoM^ = \Z5(%# syb _R37y{u@6 lӏgXywcSq1c[Y( McYl+5xlqj*{! %vzNj^|tbGĜoNKCx4k:DǓ=]MF.`_wk9q#C$sb#]njA׫KǦGfW=#N8u ZxP f@gui&[QϙQoN',14 _D`⨹ۣ 'LiP&eV)l˾Ńqi>-fwEq e')^xl.L=^Yj%0+H̯d? b{ A5^).qSWԥ~RGcTjl@hTW4Цje>mqU <p*xPO&tGᵼZX;ŽRL^nIWse)T/S`^d%FZfrLl'3( r`1AIFԃ|JEgz d'͏-V%DX0 BX,@|IPCߏP*$/zX\7Z񺑺$`C2:1k{6@㖞*RXJ/VDD-4`=cpv o]Z6z;OIÌ $b0TF ,?du+cz wKÀZvVZLթE8W{JU՟ymj֐> [?O&Z9'JmRھBBE/]ϰH L% ׭P% %ui/*hA[͏N^Yf4I5/xX"qNGի%ΕᤦN7KBR?hSNiW Ɠhۤ'="eS町G ?0K Hj"t" PCC:~>3ͤ\.MǤ4uհpIjh&su5I{_I}e%y/ B&p3ɣ) 8*~wwj}$8FY3b2hFs&%S`F} {w3'J| ~:7fd?gpzvJ VUuH{R #tV86GGZ6""KlGOm٧M)ۧ2"E8DYZ֞ƉXe1+[t^:`I1g II{/H.%30 V-hUi ǭ b҈lo?{x}S㻖0|YGQW#U0ޏn\H &F45Nzd@Ѥ$LNﲧ" w0e3"ooGnNz@Hol9fvX❮T@o::mYsKPne"*ƏpI-#Njo5*~(xVpu5Gr_NqZRV+vVc@$X-J)8? t;l[wpL=HEqam5.LYۆ'Ҏ~:BH*tP^氭+,'d_uъv b1Jʤ'c KX1Bܹf͂tY[nae"%QI2@CcaC:Ku@-!>>n\ :K=__s?/N_D $H A뺃vB:ɻx"ͷ'VgƬzr9Nz!Z_Y +S*5px$ˆ#T5UO=&ku<2`G?ְη9W)t&ϓM{ƭ:egO`vor;-Ա5k~`8U!(bJxKssTj@Ӣ)GWKWKpUW Ah3r[gLAaustqƤ(Y&EoK/l8rHoU9%ť@ a՛e1x[=m _9d(mί | ;ڻK?& O{kK qr1:/'ݘ0DrP#t!14lQ% b3UNyS,5mUFvMUBrl[O*wN湋eϬ%fũYÁxzK21nѺCT_W6QǺ'B#LG 5(msO/',O<XP` ҚOm& *䊇fꙤ"yP6ifDhZ֕bNL>f~4$3@=uכ١-L|xeEjXA9Wy[̼i} ?vz .Db|Eh୺ uejP7n[Ò-;ئE[h?! "лFkâ{Emg&r&B|:dHֆ {O7f aka$N7X`cuN;xuN2'l[` f=\p5KmJ׎p4GCL:EߠPH%9 !c,³"+Kx{ |DlIFp% ߑtmj`S'xo*둪wg̉)[ Nnv~tWWFy GyTK;rdYhvT~"l4!`U]{NyYk]ۂ39#ʎ *|Kd)V7pi27*\ibGce9*eցfi=_]Ǫ)H4)0P)52KXV:[Gtz JTLeFIi]W"OܝyU|6epcԤrSw`E%pDmmI\Ґs}P6R~kC>L gbS[ C`>Nlfcj!uZFx:,s=?o@k>[k1D@rI@ ` ڦuoTْ3.\MG^UFO{}>>onO\wǷzBWVC~\lssY )s"l58aLK[Ss eR5̞/k`m[<& dnOwbgJׇ퍅?Rc{铪=kU̜ϕ9). iJWV⌻SR恨}w;hW=Qqjʇ-E_t}N;5{`=j89N@ Xyn-2rn`#nnmvd5GY_qA=S<ƹ^?[F K3?VS5A~ɕw fJS;K?+sZKY|-7sXR!u4ziJrP(pNj.h&/071px.P'+16DŽt)."1LGOT=˪_q7xF}@ 0ΐ x7"D+4 yW~Aҋ/i6W(=Ly/oB.^f@͞ayſUxXxL6^@>zJVl F+JemWN1$׬Q/V5Q %|/S Vl|ml ŰQQta/9=ymbSҝX趜Gx@8ۦƮbme5hj'_?pa+5Y{X)~5:qpP&ƻ p[=H i1=\c[2 js5ȀY3)d[@TWyU{t +Fwx ŭ"ÿ{ 9u}h3y^$a*[Ugs1ڨCB!4ZY\/zHϟxvnErz3\˨y nmo{b@Hx mPMs*,-%3\pAFyrh=tLzG/kF2)~&WsiԵ?륨T )h19(4Gejﻬu=xԟdO8|*w0GtX~JT /;LnѴDv?xi.Xð5 (U?5Jc 4- sxwN)PM+[Jn緂}7 o R/Ȑy~mQyP:)Vc?&7\W~Ca  5cja)&~E2XNt ;bcզō@jۗG'E=`V ^;=m:"G͑?y#׹p~o+օlϟ76󲯗M?դZAuD4Jׇsv| swqȽ!j쵰}#z?5HBiX^BtS7}OEyQU/l/OE xO"jgkzZNĴ*%^LoLVr. dnmMP~ΩN3,lf~%F4s'Kc*{pBfr %0}U!2$? ػFڞy}CM NjpMïC6ڟz,KR7(ɀXpXxքE*͝ b9J)TFrHu0z%X]A]yu##SD{r^;^\ʈ| 8^߳1sh(WÉS)s\mNy7ҐV6VsM9t%KKwTX;ĊJE0ƜIS:8lfGN W_[β] 1ݢ[0}IJ;pC4I,d+=f;C9M,D%cB n!p0!_t[,:!]w\ gҀi8iKzl{rKC#R]v%섋vɖӭ& wE?ȵ'!u~T2 0lA"c7ȸW14dVQj]uơC#tdt2o3unn&q'P&|iU v[-o4Ҩox51,q& TվVK,+4a!TCi$淬P"^k2%'|ށHDfu KA-*A&{ &7ɛ%*>k6=d&[>kn*]DIIdםYRZ28mLKB9>;-)-!?qApp;fQ~r|2Wn(a,>)wvsmoϻחGVOZj(YSU!~*Ԫ2 g dݤErߊ8G3ȩ1#*S2S˛mN_CkL^X:@=&H,U5Ḑvx,MPTM!~9t⇯nvm- LPjyX=BicZ)\K ڐ?&VC^E<{:5is]PZl | tmEtQ[`YP^^$N-3v/*bS*yLD8KHUt:ThwhhvKJ~-UسUr=3ۆ 7ttv8J2$B/z8=sYEe.4[p6 +8gغ{,^76w.Ob|݀k {D,"x[͐CAl]e9b=]?F@c$Z yl#gs©% !nuW>gX^FrduDܱ["6b14 E^>&ye!g1-w d4%@RA5 &h=i[*hs}:fCeDCRI.d 9CAy1w0\KIwBV3͚MoCws\%Eإ#.qż+`;B f0we- ~F[=e~ԍMXgW`SˣexQjg1ߔ@刺.æ: h^E ? `k^ctH98 '5 SX} N/?~>Gձ b}1+>-t.=DRƝa*\D\&2޳z8znm$s,@XŨt^Gk]dO '/ܚPf'$lSdhU[&Kl+ibL#^0W9\;^&pDC:Uqw- %BB6{5}x9ΐ6R q`G{վV'^ŗʍS/^X(ͳ:m@$>?Aσ&ysKVք$(3>g{4,; n&#hjO`%t=u:i mKVYA.ґ0fzM#]-*:a&ѹ!I PۘVL^ nfhhuY{VnѡUar8ˠ!]-mpF }Bßj.T+I?fS1Pp/&} YA2v-cBpd^'s#vEHf(뀱;Rxۮ3+W 2X3"Cr4W:(69Ww! f?&mGX 5sm13 e* 6MB:~^T' ~JU{Ȏ1w̬ӞfDjd)bK, aȝ;D~3%-}<[=j'ΆUo??uX+HlT(i~1ܦWT^<0vkNMaL38AV #)|usDD% a$i A@{r[v[ s b6^K F۱joPt}82|rp^4X.ԁm۩@`0qE;֧F!n̔_{ LU 8{Jԝʫ7։t:J*xUjݹ MdqSΐPEO[{6Z LqN7+74yGc`1B ~/C׈gTlL |*;]~#kr TLM'_%~PG[8 Snto Q1zj$P:mqC6 m1$<9)~2VK7H{?REDz𛣣lO(6d%[d.z,Ա%S>jjoqX~Y r(v/7Ox^[kwUN./H,+[j/)23+sCi :!r72t%4/lY%~Um/KPh*"U1/dT!abCxV8Dj~WD(p=XIᏫnZ G ذ/8ߚ 2 4Cb-|&E(Us]U.s]iISb .:lPv8 OOV@7vXcVW]J5[-ȁ=Δ5] ehۛBs?@:8IV,͜X{ N[ PCvnDWJ^8:;,"='ebk .B4'Yxvmohgeў56%Fv2U[vdSŊ+r9h_7_G%_'X,kvuf;@g w=ϱB#'7䴶RO\Å$2X#l mI9H/͍&& qfTJ.DT7ROl/^jd&d~@D]!hpJ3-Ҍ*plUA窙 DHx}PYk͉8h:bd <0_C]t@d6.Tr@]Lr $V^_^׏d[u=բRj)AU)3HIߌ.'/dQmTWRAt!sh,MHQVt}CXRs ݊WurO|cX{^Uǻy2 חAZtqfGT-fSᮓB 7-Az/ ˉmUX6 C50+shcT{)Sڪ`n`?cw#,^ԙzտZWewtz XN#n(\q$+t'9h*qJLeʈяaqX`7 bJOW޻Bz$2Ey[nKDF*=H?y %zi/,An08wOn\dJOl2>`72_9`eJ#sQBu; {4fsdw1~FM['~sҽ'Y&L`:X#}K`X6@{G }?UH;X􉨏8”3oyI^[ĒR"Cj1xr<2zgSDJRΧH4lwNaՖ"IZa2 3EЖhP;2= ̛S)½8*;2%b;}al.ѿ ;Ei_kb,BI:,@;|6[bnD1d?+϶dO?bbܺ%\W8$zÎm"^i>d֦gu[G+'qT>[j"&sµC^5 D'2'ms&LrӺ1&+)H&yA{p0HWJz=(Xpv̗S ~HzHGеd3nJ&"!R)Vc/7!WS o?&!Í܄@޹'H"bySC?]N*6%r`@'_ɒiA'Ѝݔf{[ ѯmG_1jLM7&_0g!>BŁۄ%}wu[uzlAsA[H"'P#'0LeQ* h5ڂf[]K)'oB[>h8~!C%7թ+b4xN&"]bl߯8`(fT$^t4%δadMͤFcwi/IB<|Ђ \7l&њ">ˀ>Uf1VFؔbόMVNET! E2$ޯ 0~\;j#@jG2ؙvSTXgjߡnDj; gsO_̏)W ZyT~vci(wy}6ȳ`JPxAϲ3ۍ[e2$!J~\Iu9<#*TaBM0r)X_l7Y B H:KP&Sr,2&1@i^LZ-W~hpdL"(x@к$J޲RƘw,sG^<x/0uƪ MtbdKu{L?H ^!ǫ<5[1h D^` h>ʎLΘuP 'E:MufZ/=tj-l7>Քb&r* YE[#G4M$v)4O4׮+z1:pܘechZ $)Ju@4D}u E۵Rq0Qh 'd ٵq6/ P.d^5),2Adw:^ ب&fÎWN $=LVo@4??mbx!YkL^Z]X>Ozh)jw"".Ue3a4>E׋\dErȐ>,1gT^ZsxF刿EZ ڈ:=тTY0ɦ,*K:*aZY H~/I|l\o9>h@z|]㯑."}A#/qcw $JءMW4m~7*,ss>ĈDf؎~ǡHl'9ǁN*  x$Qv ZhUQ=%uc14+oʬkxأodTy6ѻĹ:ﰙn(%^֣=ˡ\pR_hˌ1_\l{XBBkȨ]^z1,ȹM`7x,|݀ M245z}R.dbJ! {Ewα;93,t~I<kOdn${ZzC,]w Q^˂A٨韆;J++~AjDG2fR^*G[Q-\țb<K bM2\Z Ʈ#-+d8 *Oΰ0etߞwVX&3=Ʃz֖;^e(LIH\u4gB!"/82#xsfT%O%왱h91\(k T\H_,V4=4pyiX$4xXH4coF){A"D6( așTgU,]V]B Ȇ}.7S$/Òh\p6j\iЍm? o>ڂ(?"u59& ѲCe}IB层|>1%# {fMB O4cw+zK WۃpМ0uv͍g9x ='?F;N! ;l *yVT 1$ٜM!cmq}dJj+UyαcmH i֞Cv`%T۞7Ajk~x9wo]$PR'.bڜ[mlo<؛_vzRF<㨵5+ Џa~DevDR!y*m%MQz?Z잴'Bo3 )H yMzAH6~;1; p^])!}a_Ifi-_fLrMIsq޹lqDp8tLwq06_X<8I)\H=˓VGc)jxKVaSh$)G(}WQkg=k`75>+]"WD`aW:mOʻcUк{~'H`I(֝F2^{@),?&f1:+Ćpitz{eO:v.לe h"aI67fi%3g+yw ~ ;shlN #& KoTmS тk&U)wh+6AcL-4T3rBe53W:jΔf[eZ./y/Ajk쒘[3n c\ 'OTT($Y)Gߍxsl%L`$=h>NwR%M˪ `JC-DlxK5P s$NH s U3V|пALђdDž@5 @^j|jr$Ŵ >ogbNMID$]qj?=\[e`DgcKN]qy?~7^|6Bq]\0( ow{ ]ZEg~:ы+:=*3~)\)C ݳY:˨~ 8_P\,_PiR[o.ZPHҨIZa Gei4Ѱa K >*ݖ)K Qt囫H \zmG~,|~\{fYcJ>_uZQU^fÚBQN1Oks`DQm/n 0U1(0 Ř'.e/9"IImGRFbN(x `ڻ^l]HyY=& N w/e PGއ>i|QBP8;jzb}Iq3Y .T>o?󪢽@;R'idya2& לI~Ξ 9ܫ@9D fs9 ,}8\ wӪ\52\paM6ؒ$CL0"?3oo@hI+Uc"wݠ*hV0i`|iM㸮)ܵnR|"ԢΪC~3A ȴ.i\N(.K ix.kL:xx||7I[sQqy6ӓ#"b[F)om*&5;=/jD$*Ų7ds|R1b !#$"Ӑͦ((rK!s$q%W@V}h8ҢE.tcwF`ͨo }u iȹ}.eƫx5-c@ 7`j@BPbUR(ʑAp#[5l`@2xG 1BpJO MsohCy~ఏ'KL}G XiFm{hdFϏ"S3>hOVS̻B̆WO^Yz(rg3 Z޽W,02ꀨ.$/shy%KBc)B+Z7G,ݜ&7MWݒ.Il߮"o1q5ۂTڷzD10o! Jsg\z)omzSA,RkzMgMq-*ݫF3ΣG+.uBq0=µ](&cR' ']kRu"EmL{/X y|O>`DKyfPR!]J(|(䛈Y0?E$]DYvC>hQ5\)|9@6*ѻп $3(Asy lHēÑug $iȩ vFlΩl9sƌ[2`?w~D=EwM1 6O)--#Nj6%l:K4(k8{f ᳅^4]V~n[w3pP$.t^NR R D430|=lg+I_-hfu!UK mGn`)b;];NZ=^R\B~G/۹btDR :ˆF>n*(D+|EՆ]q<^VUx|9k,<ӌrCc'%&"#*0;#LVؿ^a;lL(9dVpGa1X+R^Teu|{-jx#}SD8z'pBp͉e1΁A1b#c@}c֑:ѿG:kJ_ȸˑ-kK7x3 JФ | (Jo٬x{ n$:9 i Rppe+O R"/oY2-< L96Ja}d!* 0MQf_dŁ.j[$,#ުX]5F# %I& Ўǹˌsr.Oq>W,`0 -Z߽b-$ԨpIC|+Sg M^A*0%bk$Eן/7VNxBz_~V\m,dt823{8`n$4x'M ÇRaIq~{G]vdzoGi_K Woːgd_RӺ(Mc|J˚|E& R vVA(hb7 FuݶO@[HgZ9O`?{DNEbabw 3״8+ҳB}p5}PJP1JB^FϨFʗHʮP[B)a3-Fq1U%5= a=++-# QQu1l[aGNBT. __ezOF=EMvoBj.)V0'(Go+?= _#fS5A:iVr8\܉r+ g'$/;9}LZH'QC _wh| YQrS8^O1?rE0GU40Rv?lj\X *~q3LI (*{;Nj_<(C WcT .&ejIO+0I2Cao&Xܯ:V(^5[Þׂۙ/Bd4ͧتu̚.'(CqXf4I - x2|&3J!]LA\:unn~Y0ꪓ+EU%'*vH&3׹GiGUc4]B[г&ZI99ݖ˵#1GPkH|½\Eڹ'eiaTJOAqwE4M7\lzU_}l{ONJbf,萼iyc]Y/rPgD֞!wy~\UMMlX|v~D?n|J3ɹ8#zMf$"[@.;0+η\gb1FUF/Ψ-[OS88,[01|teBހ?a@!^TKhk,e9FH'FoTg`^ӟf>%֐6r]-zz a3[)BP`^8q #v=}P 3D ;gˀf:s4ןGDH ߸eqb 6LuXzR$ ⁙Z)n%IJs@Qs壺Uk䕪P[ɕh1^Eͬ:QWR'F<3wƱQ?B(=T$(k1-YgIZ`C^[ c*Í !PXM"ףqA("/,}fk5#*C. |˱7yRByx-Iktڧ i AC_9{> :~9A54QMQ= ]z%>v1a,پ=f^kR Wcw/ΧKS τWؼBJ$]0b1H"*=N jHr$pЅr]=8W]DM_:JfLP/mߕa{/(wT/~넮_"7TBKFH¼{Л6zT*)\ +b@F- Bq0 f~cٺ~>.T3M̲j38졡Ru yd,^K(cUu ґgu^`k} -# )~4g!g( *%.#q{vxR@UtgF<'kݔ\JDɠRb)h/5"Nsn5YuVbUpV$FVLj';]@4ᯑQyAKtλ`Aɹ|v^Pxi[5888gv:Ip!W@#qg0dX䄸37H/?L/#(aE(7)Y48M:Zy7 qBY6*m8j݃GQ҅dLbVغZQsze҇" jM$f'Alxo*K ?90̡ OΌ"2>`fn|GZe ء8"ow-~ZSE :4N<|32 d=3~MPKklU1A6%G iw?tivvf!?CQP-φk@17*ģN堙0Gn] %"{AJU0EnƬN)k&% z%KkHr7&F!}N{Ol|\ A`w(h PBE,1E =QzCZ^)NCq a(l ~2 KDh4v4O)"q&a858, W)3[VU^N,7:Y*kPf6?~ᴃ :aޟR V|^if?f/B>62u\N_S.xb4E|k447 \|`ns siȝYi Gz^T:8hBOdl*iLaD+QdZg UNVF.Ύ'ٮy/ϬrԔ3wA= Bƚ 7a+^x _GFTI_*pe%ZM9U)pUd}x]}cTшP<̕4\ [m7a[=o"P'?DŽؐ磓/_+߅_<ƃzs Yd )J'3X&sC}:j\vOG!9Mkhɾouy9z". sN-km?!)7o$?ec<_eZB hD@3APD5J,=&6b0QDst:aSq _:O0md6&6jgxRi ю\# wV./ucGJpva;p.< 8Gh [>tfJ=G86.-tvq슰hJnXD<] V)ݳAd 3ej(=ʋ`iLHp+n&Mﱖ8&'d~SkVdJrKG=occSqK.VH _g)=>fKUovѲG7r/QoGC%r a ,T`\V}=26A&osi+e:*T+v@/t1/SWU/n 6? -?CFlnb|L_kɃeY)S@.:ƺ"&lUYUb_k79ߑ0oAd殠t# Ջa?&BYSV:`Q&@a@KIpW)D depobr"=+ \|f3x-?$PP NF ؀Z 1{A$l~O7DjWח$Uq$y:0PK5謡[z%GuZN .Sp3Lc-F8AYdLc^e+T4H8 HCx+nļIpw_d(ݖ(ɗ{La$%pE.q͋&stƻ/S|GKwY ^n~uHVdVҍZ-V* Oj4S(P1>Bu$(igA[9m$H@B ,0b|1S8[ fwFޭgL8Xq,Oc ΀o~UZ# R;`?W_WW@lPgB$Z<3ztވ6RkvhY:e+4_F+*~a"?F`nl˫zW[($1?@r ۤo2YGS$ơ̱\_c%ZĽ,./?1ǯ@z#qj eaqR8]x</fHw~JkW@&_k+{E9dEl l:R*JTg`쁱n*v&~kП\N o2UQ.95F#9 K.VJ \f3@z7T^H `gBU)l=ݍ#cŠ;ږ-ѼeR[}a9(P| AٳچW-6BI 5ܕ$9r銁p9hՆhE* rXGYGl|]缛 _N۪엮xUd,gNg~ǖ U$'(h0m1axCW+G?:7X='Ut:G ] aot%E r *͉]Z#!CI- q_7v@wN_w̃o#qq֐~UQ-9ASNι| Za.hJ2gF|r(Cr 0;sV }$s#. zG3XGAϦIoʛr+>52JӜɊy/Qf59 H߬(jFz*U‘n4h{Vqo$H'$tph=RsZ4Y.1SmUwu"v.HGC֑4J/95֫v5t#̯D#Z\Ɂ䝨W-KV$vL9KR^RAZ{Ubs`f//i}iOHm6 v:1^q&-Vi-%V/x S}U5(:vBkSYDҋqu8/^N/D,Qsb/6T 7B[\K/9In (i` ≠1"Uu~1lrX |Vx'WLTUۙT eg1jKA{q7{^̊|yP-YDN* e3[덼Ȃ@W .GPI |Ǚl*tE8ժJ+f.j{bPIBYL(#0!)- C b !]htVFХEE2xش5A3?xad4_1Ĩi|% w{sLJq\riWjܯ@ŞUҭ %y/LvFjNڨ PWo1WL_ h[=QgUq\DVјl:p\=2R)UAC=q"8,\i ^!,ڈTH.vY8e'LPre2~xZcE5ny=py"@n93gdXOyqlA߽4sb ˢev,IBozs9~* ^nc^QuhmVHmfXC^t+=`Pr=PfQ[ cu4A*ف)'<#b"u{6,#mF># { =d2>~fbnȤ_x}r>CBlxDڞΖqD2b-Wz0WEX$:&GG5#!UNfIm[do/QCr+V|.Gs}].%˓GDhE`6jWB6M6H. ?v95&›)w Hs8mae Ų hK_# tMt'6 0|GNfM0OǠtȖ`g#NUhp!j+ta-h/ 5Ƌ>ϪlYkr4gJ&^ b^l%f6ƃTbr[bG1Hs+]F9c lEL@8z VrIYxHsh&l2LIaq O51{hf,Sw= nE K: "`ޞ,&3 m&n[Xjץ?6:AkgD|&ZNy_  O5Oo/?qGSG[ܿr>mk 94͖719Ol,9#||Y?x1Ee +R ~CJU)6+}F[(I2Oy2C{0tj4Jp~_m1^5b/sJO~9T7"jLYֿan=boU9!`^0hmxT wC eu`$F|z ;Уz=iz2z#0# |氘4qsJ{TU_~ȟY  ŒsƘߺCA!V~ӏu.ρoppNfS5 o8>}sK/>[b7V]?"?|E7|S_y\+IoOz\x64є{io[({rE>T=׭Xj;U8JK0}$< `Iw)UEr ɦ`P#*@[2a&'KAQɅDa)\OwAnjǟƯH>l#_w'2 ҟt(NuWKI@QgW&AuuDxE:jבg +1n1r0a,}dl#vѪ8zi?#9qx1V*Bȥ%aͨLuep54NY'F }Չֿ;)k[n')W P iTkE|TJ O^-C?ojnF{nm@l~@S2GK.`ʁIMovP8_8 u}B)T i<22ϸ(8)'BlvH("nBzqYӝu-h$&9h,kD[FjID"ac8=œ)#Y#F nRڱX3U[̿txI MYPj2ř-lw \2Riy2HuJ?Ρ)V>'*K6"'zj J brz{àQw䁓DK-40BrTrzgE6ˆ<_wЭQl"`Q:KM~wb‘ &ܼCrJݹsp?5_`x>7}3p(b^h9oB}h]4GF@q zc0?oA;1ŕCHi|q'pc|>nd,QZ<\2o.Z?QZUmBN,>.-?ΐCъwc}{$?ov7E<-8ߞ%-̙D~SW"bBM-Pʄ9SG嫭RPA.b:N4&г@Mѱ怗a6E>p+@h6Fx E՗ٛqF˔b? !"GPm3Uu@1o7-R| 0&brh%Nn| jKoO2GA3{M%tM aݻUJu#Z@=WB $:g;{^XupJa\(w̛Ȁ^+Sra&< ?puVh~I9., _PӷǙN#BYK?Y< q:,,h2~0Äh2pK7@E.g i#{})s$F!5!D3j9 9:Z&_@)ѐL+h]ۉ/_56t$]MiLwM8L=2\Gma_f WrKfJPגI<ӹ5Ft΅jdlNP[ݥȜ[N8elX\>(w;EWN/];gO0O,Gxɾ&!7~z)dUmwG)L9陪n W}+蕁)8iF&)O&w5ag'_ӕDluT} ~2& Qp N΁{㩖b3{jg_ A@EªqNa@{.]<: OĴ:ndQ;@ĢP0A_?mG;Rܢ/ MX*E;2nR!|ӀP+l=r9 -DL?=vp. "͂0?N#bӢZ7C]nK$ـrmBW0 ;OV1r[+2](y[fzՃ::;RQ%1/SgX#ǔ0>)^2dd^惃/E! 뼦թ:&Yc2-0ͽ]V]#m+|% Vܘ97Z+ʌP $gu.cm}Ʌqp+'/uz eaj|,sg*ZXD$d{\j;n5 peTZ # Ym'.xs]HC7$@-P(]N2)4pG➡>/)QD5ZZ (HXd[x +n I/ۀ (5")LH.y78@vMΣ*~̖za}°Ƣ)-Ċ_JGiF菫ʉs#TqwEnŠv)ew6gf!x+CLOpTw㇉!5~u],vS@v;⩍IEк0B1L+* `p7okYv/\#= o'iǿUyaU17=v7k猂[ QG_$O÷y'z^9\PHJls޿BߍP#9!{kf `X׈0^@;X~|Ac3TgI-M"b :+DG. ǴΛB Gix/Ǻw;>F*~Boso N,ʓ/ʇ~f7QMyx+KNא ʭ60%f9<#g _?vx(E Fh!{ 'Ј]F?, *|um./W~g@2ֳ-7< ׇLFv`U6)%_$~XɷP`q\88=*2>!P>vl6g>$U>Vv< `QrH54>s1}ϽRϨ.ʟ)[|5U*3rQ2IE J@`_/`/lEFJ'Knf3\'оZ C1yy q:ۊ ˿aia7[NA p,ng2N %p DSU<j؂ʾ^4dvZ(E!6!\@ĭτ/UeH]?ToɥrBV}t!wUv+ݎM @r=dCo͙`U_E ' S!Vs?C48SE@Yz!#r Sznmh׭FC,|6йEV7'0p9'& I.>0JFl/iL]?W/Xn[ENNZ|ڧ\',mպeX_]Ϧ)dTҢpQكk ͗ Pk]9K'Eͯ#@ \k:O0pv@!B<%Bzڗz<ƱQSdn>r^(8G@n7B&-WEILly!/;i̺ EZX˽7;5 $f}V#Tɕ'OCt%gސiKy z`& oeٻْ3nu\έD3l=7lwk̽Ю8$;sD"d 8[O-ld 6I,` % gZMKf)k_D`sQngü|8zꩳhIac, )')[Z#xdZw ;~ϵfO7ZZToCހHt9M rēDNs4 LdvDJ}!B{*2b8R|D؛=,F tQ.ĥc b}fU*+ s`()tvDsr?K 9ZFqs; /c\-%KrOyc(7B0z7~}-S>uєEb^J\%b =_"ҧel%O۽0ԮY[{2")XFXS+ҫSp(N^Rn uo1ޅ^bw\ vu_Qf _`* xY䀞Ǘw6-3.Ljf# 1u;;@)%Z)26mcN&xtQk01ԋœ1h ʺR|C߻àkpXXJg+u@2ڌ S6Ģ4-u$ŧ%STgChR  d7f\!F =5 X{^u #k+mSUHJsjAVPyL44 }$RAؽ8ۦΙ$#K 1y| 46UZM-f(23b<0/$߈s; yn4QҿVoFܦ@5ntmp""uͮ+a=e9='M]fO唨p,H&RM!&ғk/`EQ['33_&4xWUuWݕ+knR=e}u w@x(asxjh^k_i$EP(v0;3FWJZELBwlrSS(Say̻ U6iד77k@t=Z`PX[\Nj*BEo#D>r70UjRAVߚ+v!sJVx~SG/e?^en[ƈPsbM/3u-/J tV G\j(Px#z}<ȝh,xL0O-b-Ҷ\zfXKO55i}MwX4}͠I4*t0# alu/nq8$'F$[8pkZpَ"^v7χ}k<HȦF)[:H-ʊGL\vݲZ2_3zbM1z'BC4]g,oBtfWCv8^z |"tq-.[ˉQBۢ\} dI@l Mn~i Pz/b Bx{]$ Yn]ζQ>145JCXzBB٣V"T@-拘syn=+BDd5[({74ϭ,BǦaeVMti3/Y:b$9^%V](nqR&uQ4ʊpPk2hn5*7Ԃ+]9^5p5߹8i26A͕I&E8,ވ_@R~Gvb$S嫛ArM'*/^\ #\3P/RpC+ <8іU^8'VQJjyQjyx\{U 8N8U|O!*8rJ&vby]p|%FƂo)HIJ@m5Yu?}XiQ6TgYT[.Y-D/j~eVXL<'|桱6;[ZECϏ]Wk`iNcWy`G|r_ q]î߃07؜QPG^Y#ޯa6~`]ͪIGkFh8?7=VG*KZE=؋Wi^z亽l<?[Uʯܖ{곫< Cc8W8RQ+ۊs#z>'?4c1n.Hؔ (qͼ4}jvr@*a:ldouz-%b9fXENAѕ?80R?|p)[K,Wnl`7PX:vpa'fM ?Z82KnR7O#W9G 5*ŋoyyV*9xwDhD6uVc`"͊ ãߙ-kkqI36e#>/p4؅6[ 4 mI(dDܦᆇ퀤_io: ۽%,Ve,XދH"m`@"C}ǀ5aS9gxi#}gpуk^u&zA;1/ߌ1N@5oͶ,5d/e m)ܴc$~>t2ѧY_1-LzFBY~(Ⱦp.%_bmBsYIżyt"} *lV*"&{uW|, u,-VL 8\_z<̀=]>&&M>+c(E_/u9wV՜6OTZ*fQX_yЧzɗɭ'OQ4,.Pw$ gT`%so؂(F虊 d!{:f P0VHm/F3 }ukZ<To3g2'6wޢe7g eJP%2^*|w)T1:F&ȝ۫Xk9ς)ݪb:oUA=^s!7QbPD+vU`)0vj*ab/Σ7(FU"=jSat?{ )bgcT&$f<9i@13exUwL c+Jسn)u?vP:E %|;5fc]>AQo?+,M۔ 0itf&?] E}n6~ڸc @r=$2xuRZH>b6ִ1eRI8''UUoHIOj#ÉaW_T.#}a% 42 bs=_+<0' 5a9c^ 8TD{tү)y5t Q(QjK |+!&:Od*S."{|BpHc5b}EAw&zFmM4mpU"f7wymKB踦؞g;DgGWO{R\ |NGT/ss.qRiif:_%mĖx1mRNHaYzhRPh: N5 8sصyqzb;U<ȁNuah%s"\ny% ];q hдQ @5;;Coego4pQ\h 1KspW:S9(:H ?眷̝*#|e6nʬ[ }t޹!/TVtʸ&?V5cbF]pKi)D!qΆ(RA-A:rzO&T7|uyE'_*M1#jOK$7HQ. W_soF,;7UCq Ex6G~8RpTPj_ Qm)z³D|4 0 6^|P DᡷZY~fQHT)OFӝT;.RpcŤ *H%%†оHލԃ0/s_g\jNIzp oT{.@3/Lc 4r>eY_ 1nuӕ~vF Fo7;ys|,;jmF\Gԛ}Ӷ cûwxB`M=D.%2,$Uqcilw-۾ڵ*|$ Tvx_I饳P"?./NOZnG)1:R AKdBwrvI:%0+h.:>H d0ip fk\l^k$i7؄&=65ǔp bSp& X>)7:uZF )K%WXnE0h¿h,޳M4J~Xu1}<;F:ּ.h'-IydRBl{TXpH9Wmy0cX<< HPՓ-UJEO@<.1ILf:zZ.d'*۰oD CItOXHǐ T0o焈PHIpBs؀ޟiPr |yI~2{7wkp}X7^!G%Qyr]0ŻG ]Flx_ "roߕ7w@X55a{raI&΀]>%M4kv>G;#$qҽd0j`0D;q![6]E?`j'+'w緼PG*x@uBNW[x_]}L/:T2W;ƖL1Mu̦ګaEat<=N .MA]9#e}|(K }e#ZyaiWFQh3XL1&Z'pV4aÏ*v^oM.i5NcQe v10=N{]fqұQ*wΣT gxove<~Gې/`!AZߎ};n|C&i mQ+p1\)p1xG84/_m`T0sM񹒂~?ĵkݢ\>3<VeZ_nB}m:Q.X~9E%S@{vi{!Y2 3gk<~P4heMʩ|K2\?=46'ySIoGon9:S`2حJB&ùH֯QB@\@G^P闍=`V"h  ݖ{D`1աq:<{LH=\SݖbLwzڡ8)9rt n5&L Y3G=fݍ5D ס4S{#$`'~S< q{@mY xS9 du!d=Aa16X 'a@S1tůo@ox U\ gyJFBOUse~w]bi10V3IQ.4{qzJ/(S2 p-3XĮ٨X/w㥕cRAq`Q&ZWxIb srf9mRMa8|r?1=c#$+~-U$L]п9[ ߊA ҆Q*"~13H9zD ipq.j<eBi:GH qM;C{I㞲V |ܨq{4n;%o ^蝎@+qi35~e66&_[tR |iJɭ ]Q 3 X<jϫ9|;y/hQz^⦕#*XnC`w# ޚ6k@Qw6TA>31Q:VVQ8Jis G<K;ө8S 7DC8|%:ֻ*);qqa;ǣ` 56WhndwlO˲>vVݶ k]QGE9̬} g#pwOa;q5h2H1GdG"ۓ``['>!x8\Bg\^{ KPFfjW9qO ўqLrhMߢIw8=ְu\zA9Dذd@#45$^ 61tAӞ淸t*>h B0]^iڈl6Ho. ;swJTCiE[":]?~P(pt7R$m_tkB4JJN8;h6 /]R҉v@]|d$Bs_IkqPm3'2[PHD&80G[ɸM0~ھV}Ew~FӼyg4VL K-\>c5.M:hB>èIV~$h;˺0]kka1&5Q?*eesSH9 } F $/Q9{3$]( 2_*?Xi׻ ץ7Jux{M S:ƏgZ"^v,J"L?QRÛ?BnUJEbDDp$LFrOBmC5,6eh˸2K23{ Xtj3æJ!9yTulyS }VibD"}HS\ūKuֿƯ\$3^º {Y3f: u$i3OϤl"/vweŜ9] \FLlQzTxc&hiE/HH5^8dFl }>5|b}Xu:jcW%_@!F)7VgINSA$dŕR4>BCcb=H%ַzAySQRo|#Xp}dM4亯]e:e!̖ɷxjJZ~إV't;GS@\,|Pb(?^bpSlw]:_f!]wh_IFOHf A4~3tkQZwi cY߇*,cnbhjL/d[ b[ Z~*zt,"Zd/Uc8Y@㌩Sc麓E(cC珡$ة+1y%j޹u':P_ Ǵyk4 \/ʟPsc"\QN>7X)W~=cg2@}8H,9,6.>V![j ]H(#[Q@j$N 3~|bq&%M *yAވiymmts"u(zҗUrLʤK!aп>( kOun኉C;yN#|Loki; <-]&G ,j1c q?/G b#kj@^ Ն CZl@D/('.j+2փvaHd5GDuy~xg04&R>OgQۄ(u{].Nm.F$nN;tZ/}p8`b3(k:RNaJд&\ O %d$ Dws"@df!QdHa4e|f+ !yxSC*IKS kת%⦨Ѓ^NǨӹI`-{yoGBE!b6x72 5ż҉k!.ܠnlV/iԞdVND GC1&X-y/P \Nf,ыo !M_)k}ƌ~0K}ˆaG{UF,MP;_ϧ{'df C`k8 ̺4\L.~n`w K<e/ Ṕ~mP^S-L3Hܔ?8 |>'It6S "b65X.5+עUϭA 1L)H43)> CYv,3vݼ(nq9ѹ3˟T||fh~42h03/5/7";8^>R.k]~O9L0p$r6ܰ hfƂZE-N?- l1or{.<u< TyN)`Om|Y\si#C|>0&!|TuMbg$XR/Z E/X8THXLnwSa=,*xvD/6d\aH{sRD3q ) $/Ξqa&,>k2acG)zNJG4B ;P 0d鐔cw-3S<< %.ΕwcC15,drnn+ }%/xX"{ie60;rȫU\@)eNI ,ۇp3쳠im'I2ř4cJ]]ѥ{01Ѵ"Jj9GXh) Ìhky5\4oi0Hg솃 &b?'|e@7~z.wƟ,ʠvlh݋ϲy~@-KW igXb"KR, T#;ʹav\̻hzz^DԂk,̸G7[~1H۝Sf s 7I]'.2-ɨ#-J2(DReV o7c+gtHE\S/O[_1'GqvD0?lC"Z pk!]R͎yS*\W5:n'׸r!U-5, NbvHM6G $aRN?o")Bj7;a2& o)Gk,bj66.ZcNW,s1zmGDT{R7;&M,sCw&Aŏ[Ê[GDuz0|3TXe */^|lVP9L&]@,ZG%zUUd[  s1]0l!gsdR>kկm*!y;_S|,qN߻]KL$?琧Mߺi,S[L*%v51:Pj6*?R[ Og맘%OYt:(7ST]uU1 _Q}gqLZXB1?t8OܦAw!5vqGyǾ@6RrF2rvʮ(z9f?x/;0t(1Qf#c</x, Sm1lzSX%$Kd0ufOYc-'e-GPOLpqR*. We})ABm ZH0[Mꙫ$e"ZZY(w(P-s"ursw@*XU9i3ʕXEˌ˛D0~ 4m㖄2A-/ wbBܬ"Q~  جewLG8[Ѓih>w4Y 1 ש9rH4J+낟.ԝuIY`]pȽ D&ȝۀAl7;72h^U81UO=YiIy&q081XU!I'M}IvzY>~o_ꩆJ@EK?<KY d] c\ڞ2/nU~\)zO}󅝖(JlĹŘF:՚)! VýBՒɤn#A5F2σX r/S5_{#Y甼9q sBEYEG=34lmfe<_~tIc]G Im(Ǹ1l>jջwU]6~C5 h [yZ Ō(W ӗSEO*;to7hh*Hߗi`c&A )ss|oY) FM/T8`hAsW33=,_b`fXOZ2ȱўd 4풏S`Md@S8,?l*d۩x'琤^4ck##^<'ŮK#SFե[P.|E?r%p<<2ߐæ7.6C'߸ ˲zgqeʈ]~{|',YY-=$-9KT5yuy.=UhV @C7㢰* 0kSs4smfZx@zn LȞ\.5u/ʾ2Xa2"{o"4k#@cr^#4UW:Z~Nau _"p!W'z [,s4|vNͣ=6%(є9ES.͍x':$J7.q@!#o1[SpZïvT&f?ỷ u{vSH+F9D{nixs~T8ENF1\kNdpxbTD(i 6#WlNn2ta~e}D?8|,“rO pF,]Rwh/C‚)6f?00(4L>~[dPKJKSIABHp^n2UR:U(/>6Sַ'RObP;fF]8+/-Th DI@Gﻉf r\Rm2.c} %-h M>hڔ7䡸1׶ipIWZd[ƴRn\p*/'?i/Ρ;x+Wiܛ˴w񺼥N<<~qQ%&]<7d2~AkQltEc3Qsu5 ;5k R~:gȢ=ڴe/Bh}k6u]3&#OmqÆ7u -[ 5cS\_/ћ. C3jIoDنbd!L6ÿ?4Q2ӿ(/1(*+DO᎘0ޛSґYլ {q2 \E=~s3mC K]v)shP} IW'ʷq}*6RS59l˴ 7-DNL٧]HN0(i&\MmIց[l~uT`Qk]%ΰF a0b~q~oT쌽 +]dɺ}t0Zけa)9c MB y=ma) qe^2DD`eRڐ"NZS7_g`^;CQ}r ȶۦ-Px@R!=8LWE}fYF:m)uG(E6 U ^wګ1_gfmP~Ն&2 z &^CgLtDctKYV25>:RaE\e6תVQ'@dD6K ou AⰮuSINJf7baw<+bX,,%8H4y`f:pg;RP&,kK[*v~`p sKMzUǰu+5P+e6w{#2n(_Ϣ-|xm".J^?2D0S ۅReˍ+drA ?+-yFxu1*B&yTM6S8hUV]XgJކʊ{}`q듄Kgl=a,tR$ Dh$=4h.+0n;{}疚MaV],:.jR/bP݈ Y8rgӌCԻS59F.9io׏T#(I^sj? .]ݣdKUul6MA}%\T @3jM"4 F+!L ڱŎ'l ΰ*ٖ}y,!I `!KG5氂~vzZh}kT,jWDb*Ihv4(")U/:!Ws!7v^O\o2~%sL3Ƶ +~ P]ysw$1|܄oIf.h?*yg۟*?Hg!?5'=p9^MVlEirA^z*eHpOF1!Y c zp=_Cz'\&thVWBOdC!$\JD^lmfv .&KIVA ,e{HyZ~f:^vWl|/Y|Lߣb, ܓ VS@EkUPjfvcHuDUx;f%#$xUd[^ 6UjvYV?8f0iY6#f Y-GgKn1 %kzYU}KXRyB * WDSRY˼mx)]dwmPS<)EߤsyRJb{0J`ɫRReɅ=+9=}WT/I2x:L%*Je$8TWC[5f|DRиcEMaOr!]2'AGJ?#ᥟ "46^Gs m*N}9vO*In "u4@6}-0HgA l.:aT]7CWwK-s/Y':O@h}q,,4%0/Cp3wt$ћIIln($q,6x,۰8tfIHh\MkS Q:VЬpNm  9ĥ̀q8jJmH7m< y]>V BtI{!ƷQFN+5A3j*96'Ez` PGPӎI r7H8 @sd̞ͣ^m1Pe0@NwA/r,?,:1_\WE|lkt||"?\P1l&W-bյ$Y4 W,hsEV wZȄBwn{dtY&^k6D8GBg̒ђKQa32l4@ )2V2OGUR45)\~˽m 'j :oF)q&x!;!BaCe ܛ-\%j33N=b 28>z E کbKz'j"R !ԟX#!%=ڱ]3:KGf̓C Ws 4 N.͋-q}33Fg|K10:`?%bU^\)wPS,-?!Tf%b1nib2wM:&YMԎvBqSiq1/ɭq6ރĴdwR^yp;=(&IǗG<﹒ba*4Ta'5O}F(+;C䋷K.zoNyap*j‰\|'8}B{n"{"6rPU;d w$ ^>*.ޙ_PhDVem+vY5>Xp9bB\9cS.g!c躲(J(A$" Oʇ9d}3vjӓ2@Jh^dm6e=$C(Шv,ꢯB0NGaA݊]ff)KiHv~R;IJ8׶!VKRV6KI@{"mv᲍HnLoSM(.p$t٬R6nƝʻg慻)Ɔ0tЃw,%C8R~m0\kۣKMm79vwutBO1'-AF[ hƷ{$ڿe2Pa?!˶}v&szF4צCq:@XtK] TMP k1]OEa ƒ Darg3+Ӽ PI٢N "rxZu:_dY#L{*j~CKd<)6lvex&̴Ci-c (2Z^`~L0r)kVm_>iyξ2^ltR~]]} pЇWu]|θ'.lxs Ab &m\i[4_dmiGTuS]#z+E'q;'|:c:Ӥ`#'}"rscmlD,rke) ׫ G6yRC;S"LJA<I.ٹ'jzGa0^ˡ8Ӑ PH"~/B}-k0<_}s'Ta7F#\}lZeMoEͤ;A!A62f}") EӳޥC#*`ы@7qΥ*P:w&ef,hj}U2N+:=#iڟ\d*p(/g4"MnGB~ ی ф tI3lFAm ߍҁ˿<Ѡh"S~DRtS(+US*N aJt45}Bg++,ej?XxaliEݚb#|̷ٯO=fQT mR?x8_R7CˉѽPvE?*jQhw9ڡ5F)D[Tڰ*n4WA]ryOE؄F7I]C ykW]j j[ɘtW ŽFKpL& k+7|\`g#, =\=y\{}`>֝"nF48(D-ʘ=(< ؍4`SNGy;Xz?s;fC3A@F.D>jEMA~v 3Jk mȠ)֪yUr@n\~$r#x%V$G*:}H *)P!nl`(NtaqJILGOx\ayjTNa~vAWjBMysG)oq2_(WE3.vG^Ŗ &:I…fKv j ,#ڟ*-jH/=ˆ{%ʤ:JowMk)L$@Po7CZ%O˳tT%?:48Y>K*c7)2{y,D+@H[XJ+a#Fh>s΢f,@!ty -PX2蓼S"IU1Sl7["P[T0ߓ)Mc<-+z 6]מt^#R+!>kYgiӸ)`)brDɻ)a|m461²q#шZT&E^r-e\4J\BC ,NK@^~#lw`>G@Ũ[׾5^4Bi}=vv3*4 !H.2^"ghɯaH"+r@ "UZ;~ܓ,}Xj tFؽ^C?sS=l ]Y>b4g bKbԡ<^31Z"35C5 gvMR3'q]*Z 'yW ;WlpbSRXpoSJz YDž\7 ɎUivz#A),zMEA+_iFxQ +\ބw .Ow݀iԥSMi(\S*^3=Ps=fvϭ8Xe}'y`AѬ9|yv\h+$f_ DȡA][>Ш<KOH>gDUgĖ}Gͱއ<)2qfS\Y)>_qǎPwϖU^eA>D UKe@+PZW%Qy$Y$iMHq5Z[(/VW6£%h"F(k׺Q +@O>cn/-uK4Sh0H~uGvp@Ƚ̩L%2HAUjn[Q/~C > uNl ٹ>nP-xZ$K& dAR-$ e?p`zX.^<Y4,w"DjQJO _L=(7IvbfԧɜVu'.ŞwZj/{ֵ-٨ 6ֳܳ@4j$tg0X.PFJieP"B4¶7 gYrtqKQㅏ}QeNT(b*n7Vue¨d` Vs(a yȆ8\!p YX޽;18HcsZMJaK@dz٥ll)R˵E@a2p# 7FpGAu?XS{!X,Bl zYP(~$*_h!N.8=»%f/AA-[zG PaԫXwB )4+CdQơJl@ --:" '0maGtGR1Ρds7OADu`yX&C=~_64"wJָsUFyg &*vz"5H"!vABwԇ,W+g-KM #1,XaREs=a#ǂqHUKv&)eB_E3A8qLk^;6.; /|אc?2՛Ʋa\#Uɠ_Qږ 4 oԁLfQ3É3g NpKw8{xe|nLV`d09 ~)C|[ߟaJrf֌$ 3D`ZG䓖WN(aw> IRY-J |ޟly5/pN~7phS9M/J E.bK9XZy"B| X$@r]C]rC7̢7lfZ3/]Pid[#Ch{ٞ'̗pFZ _|1iJU"EH43KAZ[ cjH \Tw(y?[bEMa ,?0?U3`LL֔X叢3wz]W6z/ " lO:d]yYg01yE=˶#ɗ!]5Eim~HdD2fU77浘R-(VyjF|(fcHGG1A-@]Ɛ4Vj(l5YBE>lFϊ>}=TLWA]׻\cw|#GP4m8!ҡE+| ='w9hـ oh؝5|zIyYZUV>FY\y u|i uI*t}fߙc~4x\wx;PB!JtZu6ѵ sje25eD$i }QB_F4k6^Ҳ))K\C0[V[R^e-6{(.aK ue`Ю,'I3`Q>(.jAna-!,wi_ǔ)f}]}KSQr٢#<- V1a!,׫1ԑA#׉){c]X+lMظos( 9tL66bȵ\v  c;>^>& "-6|2Jo~U>̢Iv#Jb!}| 3s }|}Wvcj} 3M[nRJ:f{CB FM;Oʁ*"UKMkTdA1 fKO1k[fW-y Ӣ׋ T7SlcCCp/a"ER¬l}`pFN ^"dN)31"ô8a0Ҍ!)l-Hvs&?Qh<^~3~B)p4IR$=CR2"W 00aU郗uݒ +Qg.HUfhi9NY SD~Mښ:ń­ZgD9iB -Lkf1&yn` 6T)m|o sGEL(* k=f''1&^Ҳ~>)0~j#2e #* 69ܳ5p\}R_>h2sd;ғ&_g[,V+!!:/'n0.2ƥ>ܒR/ar#dQަKa{iϝ?`?m8 "<~S1P6n7۟dG/̰TA&čՒz < #`&-9lUaJ3---0>acHI."亦p9X(vOSZjkBSlojn&k`W\ ѭQ%ƟhM6'@LY-e4Lԋz`=ŠsKwker- J8^}AXK<9T5UD_~ >ZC]# =mZp-YS gO ,HXEa BLw4NiazC*8{ۼ*""%|%O2gvr+~)Uds9]I!aH hNPG]9 o'#M`1&y_~@UFT"龭bmoL*D(i 訴82#6^lczJt[2/S1d%ʱCMi&+,D rً͐ A% ~nqbicv>/AS_q98z7 zd)$~{7'r.,#j),wsPR,}{}%5u y(_u=zf@=![pmI(SS.[S"C> b/O䢓)BܠOz9M%AFWVw3vp޿O0߰mo?.Ffg#U-|sӾm@ -a7Y2cÿ[ߍbΠ 98k\ d1A3ϐZƥh4?|lPc/~=VS^Q,r `N s3O CQn0U_+2+|"W2fs3$j~.iY~~=^vjTpC!8gGja휜.ym1a PJ̇FV]'@K#5al+=fxv潶vVs`PQ֜E{Į$ LespV,PXDǤjzp-0h'ϭlnEM?~o%丬܃Wn9II$5(\78% $߶Z$Yxm1@ A[g:>Ԏ[=x&!'m+pJy袝!^{ 4JcwZxZPA9]>Yz?ls7~WՀNu>qԜ:>ءBt's11*\#˟kh0F)qs}ο*HҝIK0w\zMiMJǕ_&S(.Otn_;fl展pV3q+f,E53NPDCc[f棙Rr $3`b\bؗg"a;OqLͲ^)Ye=U dOb+7I*=|j<# gˍ5oAއm)Ct$ffvݑm&^v%qZ\<fRqE n[e[l#?ˍ͇%.;#;Pq0̔y g炍KMV%sԸk-_&cb/XV!D[]0<SCB2; A^Iԃ T=$'79_GLU&8>R\Rv9p}sm9t}\eh_"v똍c0Mk DQc=n ؔ}?w3d"[@Vz&Qݧ(]\ZY ,Ih Pnr#W4. 74qM:zh 'N4Cm&w#jDBwǭI-܄#G| Y8w 7[ fXt* j[͟m.sw\h.G5yǮ4pwo׼q2兰X;Ueq_h\U\\|htA1L$;S0 bY֯?Hl$LCcw0״ڢui"oU/3uHDcslPD`׽P%"w/ 7NO[Zw?_:|rWf0'^xT$1C8"ؒHuhl_ҭ4նZgA wi7w2B~cZ;eA1ɝK&|nQD=$&^]q,ErUyv[᮱ԟoP[qLy$xIEj\b36&JהGfT-D1Gf/;lp~G9zKzMV&}/=>/7WgmXQ}d9ҿ-1//>Ώ$}p0x-02,HMQЉaE- /fC0@ Qn0_ j @6@d#DSXݔ >AY;lQ(@힌!4,JmԿrZ<8jH )p+a<IdЭE^hWJfS&yXVW]Z8UE$M9,Ћ4gqIu]>@IaqUS5Um2JAAY>`!]\L+%N Uo 1 M(Rz=g^=T9$=?7Ufsģ\ʘgwO)lN;q=Au+;aƢ8NK,iIܤl4ЧI?2: nbҝ;)@m&.E2a?ˆ^ra1}t/9KHyv=55-fo+ LҨZOu.8GBU Jׁ8#K*6uX=f|C?Q@s x&"DƃxDIF7oFZit.Z:;}Z[覮/(ٿ>{9qߡdJ#h3 AG:ߠkT '_ap<;2|,C;ηۜ*?y]%e򚘧wWX5gxA8DM9لbJj8~b~yӽV> L/Yf:rĠGF0J ~eȠ2n"]T.W-C_UF>lf,;.I?iFz4YTȅ3]kXsEthH\w8*|]e$FݝTb/o+41:RjUb8%dR(w̚Yr1*i_MD!ո:زl':tq7qXTLU3`PA$:0;yF;@qW"i/ !CHeNp>P$R5HN,lZbA7 $ӱ?bm(Fg<@oƉř-Vڬu˃B>aTO>LǬdQJ;khܵ޷8ӐDqhi(l@TN(54{ `jFi}Tf/VMOǷ eJNpgw}obˊ] On-5fcC~!IڳroA'm|_p^C^uIͱzR$\"W| BH^gjeskR74Eb&Yy`YC߽@K('kB̗O8mR *Ciώd]sXWo7_GWVәSmFwa2Swuwxr D7Jd_F.T8kK^|kok]w#>7(Rɋ9?IYM>8w8rߨgy(Nn$:Uc-0o xv`MUG{W+!>o4ܵ_;;籤 +ޖUjeE6Zr>U<ГǤ 6\yQb=H6aIGa$uauMnOfG+ͼbed>P[j yG8'~jG7H֩FBqnN@j@eHE!X]~TAXGL%=jX[I`g~0̵챞$f CQGJ % `ֻЧ^&Hc,yvl#'w>TЦu8,iRONZcH"+Ã#mi'\{jeag/Zf@#m`2-͙ dk %Sl%XB _YZ} oZhKsm-)(#P '¸>q+HU@ Ekьш, _¤Fתּ6[錣$z`na)AظM›ކ",HaruTw5yBU!o"nMfZ\5N1Z! hcNc̛9vhA_HViy,#-&;n(0sRAe]mh`3qcS:$lz2~"dP_1ݫȞX)Җ,P ]!H`yڤS3fƌi5}?N:64 j ^N5Qzdט=hҜcKa$eJ"LaiBa-@ HJw lmPHՋJh VXU\jw$g<ũ^ظوC z8S<4WNn2J ,~@(_a O@Ӵd>J8 ʰY@8 MbY.ZVNY/U.')C߾va#>6,9`Ձf^xW%L*99 rWeH3v-زY-J&Db-MrL pJStF(S5Q]Lեʆ<{v@<@IE*:rz#VX3jz N^g( oCf'3eF쫀 =~ačۏ嬮cv/ͻe--/Kw`lycґٰ|-{m4ʣM۠I##؏';z-)yeH2{65q|]c9Tz uޅ{XT}.nQ%́$k}oARM–oުy~D<C5$FTSYc\J^5O"wkrK]uuتi8=cQo1mL { ݓ,P]O}Cz9[ei=_hJ[ >l./%* :ZWpw++,X㺠(w)%>M0wq7C,/ /-2WƐy`YحGY+D ;9.>*/[]w_p m)IVImTt[ױ:n !emnIihzi^-z17g+䒯H#"NπfF+Zzhy_' ` #7,폑zv;"9UKZԡSWX؁R;H֧|e$Euɟ5E=Yc^n} n <71cR憾z)P9`[?^\r<;iOl.x0c&Tol˙a^f^,gu 18Tv-_-g3XHT8rCCGݙqOG8儴X&q} vE#s`Ԁ}9)PIOY :wnv/ .X9Ct Ŏ*Յ/tFocg{,iÑ|ήMCM b#⎰c5'(!I ԝ7^GǘH5],ǭJom3̏L4:qTag L^zӈ=T|͉Xe.\5VwLy6_h4Ӑ,>+ ̒:09q'j\Cf|ȵ2M7nz2 N@ٜ]WzexU7 0x%G`͌fҜ6 p~gH,㝳Mp`'(pmtI[j\<[_O,W.$+0Y MF k~pMD6ZmB#tc4qDi`C cf0FO@b ; 3j.`b+ 綾:5rjj-+7l5"G4|hmN];$DJsəv1o[ֳ> WǍe*M1]k3*߰u~\إH |sU#Rѻ~䵚`,rUOjv6(9:Z7)Y< mg!`8h.n$Uk̸pkAx4 *Y)3oq?lse.a1I|!?EyB-JHITpm74J+'!v{'ʋV=},:psԫj|Vt㨓&W L8lhSm¶bgfWe2Q>f*zMģI3zWh^qzE=⍾-i_֠bdwmYB]v_"p~fa[ld2sG[%g[[."jː+p@;EsbW'E?; }8`#a ma!2-Ϧ/"B\Yv>_՘ (*- yد2QyP\0t GPF'3 Wd-F#E8*plI%|K.WRX K-x6 T-,%SBV>(V^AK@\9cwߋz/& Ruf Iȹ@[Oy: ڧ]i:44u;NKFhWDܪ ٜӀ\=W2 )e9n6k|#FƝZ9]d(F:5o'%']sFiho1:uZ[&eQȱQj!槦x!r8[݃@[>\}U8Od?L]nLީ?6h|gKsaiWP6С'*o&[؍~M(uڕ m*8 Jص$Z3+jQ`i`jn=uk,z4>K>JzóKXq5 $QRlWDPS.gbr~fGn[lIB/jti_%< և&pq4jceF:xޓD>s CtW@j_#]ҍ"\eE D>Wv?|<"7KA9$MN`Y Uֱ\eq` }wH "W}ͳyH(-{gmoyDєXuRs[xc17:~'g x//ezqjm ]kOLk@= Şn*P@|ûz]uVϞsHv#rI{c7=$P*y: bib+٢czsxo$'&Օɔ6)Ksͯ@̌TsD(F: )ݕRz.qmEċVF`NG/GuWJ{CX)pE"K2P9|LeM8c@}9p"*&k;TRP\N"lͺwF==dV!km7"e(|\9OUV-A{D{lѾ̶`=66Ą'!%A)jŔ e6qG^opJ&=Ħ@f?4e#+TIg_⊮vRտB)~6"Bg@3LE;B ˆ:t7aVAO>XgҴ7ki)for;&IvUhjd) J@mFqoldc)uD.=,t2aݮ}*Je#3<] Jۦ7<0+dE hw+ON1/^>5}ʒwg1QY, E_ 8oolK}dxߟd o/%~*IO9 ?O+d#:i균+o/1ҟ3#Jh'-<|h=,ZI}SaG9thf339?a@D1 G^ume0tWMsb"hp1b^FET6 ]VR^ D#WTaQ@tHTkO?_l]ʟ4gP tƟ- 23G^Tq`Wx6-Lxhc1s{cc0.{F<XȎGvME$KnHXĮJ+.*sf7g ӆi8lɻy 8K!ANgQ I $iܬ[J+?6F$ԧ EkCkx׏yt,͋4t2^Ħ!hP~-!ڠ+kNs;/tOJ49-S4}:^'aۛcBU}Qwʼn:dM-X.*m|f?}p4m܎r&y mvDOy,Y;r !0+mq[U`ؠU d8E|Qvh04I}j@ٳ]{k6NّupV'.#`OlDHJ+]]@eX+|L84ӍuZfn,7+e%WNcd\q%EnbpOT2@+܁pZQ :3C@N6Rlr,eO?GOI3BKI@zp'HrF;&!cf|4%Ѿ *)t.9Z :ԭbZ9v, V@'ϙj&{>Lue@i3Ky"o(Ixvt_A:" u+R/6N"Yl?^ !B^Qs,Dh'JZ)J49 Q D{s}"A6=؇+ jvfԶv!?goN Z"I Qn &p1~|BpmļW[<1'd֢wlCB8Nl~'RѶOCe;-d-X|Su7C/[ D? %gX 0z(mϷ•fI $r]с{WЂ׌<MVgBC,}mu+6ׁf*A nW(kixzueRjАCHG̘jP4X vˍrCbd2. h\OIM"eSahKE`{Eo-D\eyf 4:uha L0<DpTxwa;J=-@ OG ѡLMԠPz̒3nn ' /g9 I&ڞXrh^_J(()>+CNӹKx7UVeʀkcBTaF&3_3'l6*8 lˇܭxtݡ!T$%vڃ.- ] F+MPz|9ϫ dGJ汘KEmq馵9H͡?:ۮ~L 2¶:E--@K=0 ۿ6 3=M#-f﨧!]}q_ ΰ,s 0lgmE*>jڈ&75,GWvCY %Rg0¿lGt<]܌ uKf~r>&8UN#(bu;+<;t7f?Wz"iJ?G VL؈Y<5.Cz.8u;eEp=Qf_lEALKCgGf|L☛Ҭ,2F(E3pD wթۧt 5;sfڈ(&B1?% ݧ4w`=GhGk $ILlfS:%kI bRFF 1@"tz>_>̝޶qf5Sv╔&|:'̓a1MM^]5"6٧I_7{HV7YOH`S0C!V\ "u`'wAmߜ8^&ju^_]SmV$iV9-VfdLb4o+3 Pt7$ ,$hJ1SaY־:w`LM9u73 /F&&c!S,ov:P\cnGti]YlTD? z~Q#|as]no],hudЮlܬ|b]wWz80t[}ȼC4v*vB)'zDZ$R[vvkӊGvS>Ş T}/P{ C_y`'MZ;)P;teנH AC;"n~G'ͽHeu}0<5AL|@U hN*co΁-@\j;csuƐ6td3~/x,t#Pn*1,QtHKN*.%41o$OxfIȌ`'&`-wB9nleʎb|W@w ߯: zSO9&u$l.ٕ/s 51WVrڄz׾l5mˊ4XlϘ35T<XpIGG 7W61F-p ~*dxNcԢo7_=4%P͍/ʴ .WMj ʻ"#^Uh˟e,T<2 )ꑮu@IF>ݏ /"`%iR{o$"~1n%m2Mn9ўS.? ~ޱf3WU}YDj j{gmLFa}V XD!6<2CR%MF,$kѧأ5r0>F;/M> ZýWmER#X9McgdOA.>d8ݦr DpT\vH<@lEJsX&:"m;ªTz,{x2 !iO,P%} o\*9f5FaEG"@91]},ٿ! GBҿǟZk*3NaLU?"Z+QP|;NvCU{NO49m\!^oi:aXHU9X8G\aM(BLuaҝsHu :OvtFPgA5A.9kbn+Cj#b SK&i2]2L yz@}SzT_735OG5z^,N"n#CF7PJW&& a$SEew8[D `{S% 8y)̌ Kȹ՝Rxp L ؊j32`52p^_n.kM+zLף%i!=9eYQoIzy?MX \TmzINHΟpRz%Xo:'/t3Ҵ#OHY[66cF=_ r-XdPh-2"|(/9+YQސlu,*z}:0JBg7|e`B;:vʷ#)b]dc o|.WCMg^""6=M1hE>{qpgYr!a8 Wv%OU7C'I \xK|**CR=;sM8WS6)z).WB"QGal m(UQ(%R_ Gj8! rV9F:j6 -aχǢț>+U xfՂbPCgY\ C/ND |Smߒ) !}J!\"tn w^ezfy#$Qd%u߃9 B9/ثyM`sA&cE]̄SUJQ-Z!f+Z1kq`Uq[1^>S%L=c ;bdv9fNR9VKe6S1`.~* 83;93TW`0x ubÝ@#&7ZY"8a}lNab|*%y̓ 2EGڃ Uq4/i/'VOlWZ~s#ʩdgM0z۵ˍH-~5|11uWZb7k72SI@*'_Z]s :R|#TUaatSO.)Q9RgĥzDhp9T7S_8I*ɂH)+<+G/h.n;xm%=UW;wZ]Y?,c FѴ9_րK65ɤ! k <$6'!Y)P=\_d?|;?XV|s e,"7B< ۙK%(6&+=zA>-؝)Vs); NLo>CC+h0 SKLщ\IEGdD>acf }6.zOfuOLfɆ< fX6ڤV {9&^yPkjip˹iiǬsJL0NQ!8.?-&SH|M4OyZ^(̱wD8"{^0D(*Fp~#H?8q%rҀ{sՊ^XW)'G?pY3Z;V:֢,?tZ&%# @qt LvohH.5, ZݔHv02hWzܷ%@ӿTo'!GAð㑺=2 v?yp7_ĥhdРIοGƕ&hB >XZ;$J<-2Iـ'2kcⶳ`vm"Su q,+xD t`[8]U!2B,s)NSJԜTJaăHK:S^{\n1XI{XO:'mI?p" .:cL*_(w {Xhy)?;P_qY݆2r~kb۽L+<(+?o Fj^tTĞM*$eL6'%o7.VOיi!4leCIa߳Ev… [>jN%$ϤG~v qnQNzxl{Eimq*gwwez)BnCaqxWQi JsG8'BYyPɣ(mR|vni1XIE8=κIT脋W:cr1_.^holf~A~DQy;<|(xo agDB{W~9JaS[iۊo&\z&38fw#c#t69wA0v 2;$QڂWr%<aJc2^ATh2;'X詨4:dGMÄ1ݻhe~!g X* NUK%2-%a?[ȩ!L@Z?ҸM(z'nr] n0Xx|B,PӊKȜynM$24dInr}59R??$qglxmkѡCEioxu_+KNKvowQ0)M_; $C "`@ v%0%žEe>3`QJhvM1Ճ.#yE=Q>beKlHAru?$Iܻv@_(JA\nP.ZDԶQ .Vk.Y3[ul>~ ((~XPYRLjWX@o=p1i $Yv5K!ا=2,)m06G<:LL3Q"m)+tk5X_sRr! ԓtǺ8i= /|`9.5~q񐹞o-4Yu7&Tg#j eTܔ2 Lj|3 틗1srO˸EY=ne}f V![&U%9rH^L(*xkyFS@Eɻ `yO]#wkl7?!BO6E@Ɏ"SL5#N/RnMk4 t3'oR40=Qhįs_92j]S4D| 6mBQ{OV!j)ȇ&K7hJEN{e"IQ8g [q%#iK mp=WGXOA`/?|3 +PvK چCA^֖Dݧ8UtO%L L1K y2~ќoDc'j`J 7}7U8bq27x!?9oØEjөq6рk ߘBI]{m+Otntoh^Ix"4|WFm(xԍ'V[7)g%ħ0m"nb.^S;Bo6$&n8z,Ϟ޴mW/%٘Uod;]'ߐ8Fuz/[c|f0ș{QQHR`u#[6ZT5Px"RN.<eUS|Aq4u||@πePPzZS&yx$+t5u87D]<)6<(h"LKt4(%o8?)cLW"VJCy$j8! fT#Ľ_7T*N5F6d4,R`Mg ;H;lk m0C|բVu\CȲR$@فU&ȫľ?Ŧ6g"s&w˿W-s JjDuɐhs3y{7-i!Y4bP(d7]4gV?.M!#^ QI9κ6\mܫ:}b < X7r&#y߶eRXEpD+Ox]DF(I&o\U)oxRBx&sۘc5[WÞpB:ڙ=<"=ur(mK4_~YH;%jȱ fwZ;Kfi@3>4yꑚqe6н<3w8Uޛ^M{q ۣڶ*Pf/lڬPnkimtm?%Hn| :qg`6=߼?, P~:-1:*eQFC>0䧆BLA8kWwz4J_hCSnnxyKXYC:˃Yoނxw ux)AkͨD|T%dTdUA=wr9o^ F>Qվ^C#ximx8&Ƈ31FiLdB. ,<0U݉N[ntŮ,t^)Togx{Qc[7`ViXM̙eiiĬ ބH5. $,^P C$~޾E`/2+`Cے:AUǭY!H{`_fIeT#'V^PIc$%FPR]ξadChH2y PS(ځBn@?Fl~> mUbӯUW@`C)0 _y_{Du`5@KiSK7᳙'=BUPbT.XʨڮA[?_3d_Dmqgd՚MQӛL/ϧ {,WV6 GAkX,#,fP@C+. O6DSme#\Zldި볟Ζ~h_m{PA@7Ev z;54+pd+tC&ܓSj)[, HЋ %S2 M:wn:K@b0O'jX(sI*(o{CaP`*pbDhbb-ܤve#ƶ'0 9 u#|^%8'Ƭ ϻU*SobAX NU^:xT C-Tޒr' !SH~Pfۢ k]cJw<*:BF8, PA|$UaK8j"qsќ mqX־P&2ʚyZ@S5vؙ<2DA4_o[_Qta;?0·$Pel}'}.|j{F-ʁMg 4yx=I=L-l|.b7?S=ad(%6rP(Uyd(5 &*U4 bPiySLT6/7eZx#!!v!E,BE%kʟ-4gO\PР 3;XՆ*Э6RNc(sn\8x~j!g9}xvB? x?~<߶UuQ-"W;`V("u nLi:$"Ŵ7 a5,x[vTYdʬ@T^C#⥭>\dgNm+Z>lѴ ڷRs'7$jE[B|꿦&5U?}5^ Lء#\KM=}1{ZiWwEuʪ-$T,|WraYoxoT!g iC*^D-~n1je\ 0Tң!G1»B؊Xd^dd F^Aibꓘ)%gti[B˒1ΝgRr'̌(xR73D:; _?T&2})}?x @bU E(sMŻz J~>%UYcŏ.Vӆ-G l:25dGS5Μ.^kr]Mw8OCqcCKC嶕e,Ab*`g)&HdԃMc5(EGFL:pj=ƒy~BWp3=I)(6n0[Z= - 2!@qEFF&|ӳqH-_bM޾r1 -𜉢:ִEsqC sK0X*͖#? Sg?֐Ft&=V(-KCBVrqtAn5dW"hՋ? 9vŬv/ïc%0>`Qſ0D[?׆sH*'[~i Ჽ Hf^ fv+YMnb-;V QtWԨ[κ[xgEm0h7` ۓ%mZ[*Y#ҋ!F;j^C(9 @W _f_&bdSMʖP5ոc6kXPD&[?Ewzy !oXt0v2;S(z_rE3[ 07KI0 ƜِxZ\g0@}-2Xܳxgmv/U7~F|TQ"Q)#&v+߶`q+s<}Eyct 3] cJ>'!)Dع@cFܹE]$i~I"Hl]_VثOL Y`Ƥ+p T5 _,\W"<5y7`88wL\wn5°݊m 0H3.teL^ԫ 6Bx- =fi3 - wXsLt(^ 3Yud8ǔ4ۉNΐP\QCUHh79|6R\еLkznY NM/ӛv׻AB#UO;҇}2.]%}/5N@,ڂ5u\23ge҇~4~VڂiV5Qm4'rHw@?.'C0x=1ۏqnHZ9jnC8 WG+#DMJcRYK~|ё4%Fƫz'{ abg9;nmJ!XmK0N̜DУ?3n|Ht> aCұ۝o $\tNCD1 HBAAG dXKA"ofa2a=a0 J׼95H9gH˃ؤF ëNH7&Ęu"m$97W!c.c`@K!x:=DVߟISBw_|+5^H-4tF?KձtO<z^^ɑ8Oy !:qmֳU;3T2!:\gk x_WgX>)XcVWIׂkL7Mq"3:yn.l)M]+t& 36 *7eU wi3XLa}qTU;>xCfLNN_e@HQ~4Z~[hure c;1c! ҳ87eF= W}5 Te4T14q-_f+#K)ՂjP-;ƥsV0T:]%PKtrl*iتXه wvAP+5bc8`|BNaɛ7j c2j9N!r9UhIS\~ڥi72wKd,ޑ哣fOxc:*հ$~K[ #Q51pxaKzoRS~5.&M[w="ϡ6ΨGi4Iѷޢi ^?DO!:BmU!) Zq&h>Ila㼊$P3Az2)NidwuSFuIR T[zᬍ'I0$!$o:G0p#5&/θ}!<0>2{9g1k~KpIr.;o1_rmM28I4@t `|*UG:bH%0ӞHJ̈́GLhiyvIvI*Fz|bE2DǿI;RbIS6g+l?WoCB<, ݓ(#4MZ"못Wn#[Ŝ9촚<ʜߗAɧb],"//鍓qAٕ /. }Le95y,.X~*),q[)}+@UwxjZHlRRQÿ5M[ ѣb3nAf ,or]vŸ p5mH#>ߠ9!}|až_'l%0g9vsm֧UM$JCmm`Fv…*:=P]X| K+3ulf; q#8LX;c&jUcUB]H.JSFX y|YB,ggv*Drv^YuaCP )'Mq#S?hfh$ˠgJvIw-*Xea#Ew=Ye׊½A'~'iOwϛ x _\說aD6LM nmeR|鬧/\Ѫ{Z/r!ek$"J>#2LHΉAva| @N$2Mp 骉^;bc/㡐eP abO8Ų!b26 ]iwtõPUz))ViHoqb|Vaۤ_'څ þurDmW DK瘩Zເx'ND[3>ks&cIȧh6ޘg$%/IX_{ʷ-VLEz|>-\Gmd1[!s&:9(G|!VTBI\sɚJ!ٯ2;T 48>!$<hD%`a_XI-PU}?ٯS_P _2fPfxҊ&S4wdP?n68Vlۺ]q(PG,\wr.]uVhsܾO%#pu+gi0ĭ+,YGYAW@m w+i:%ﱣaf*@"[q{q=ʄVgdr@Q+\)-[Ao )tň}S5Eyi`ec=2R`cӆQ0UF~SmԯNwqzenť;aY.- ڑ{)-&LYQX0װ Gkk~A}?'PK ,Z,h&n"~gi@u=/5~qH¨ZofIQˬv%#<F"\910"fF ȂEԍ#-k\!ue78J0^b0}4hgEGB8mluvk+PQ7_l*r]}nk5AQTB}ۍh^Rqwu)5-RaZŌfC}dIRlA!0|]of.i<^@&ބp\3WBpT<7c!¦u@'=l$7NirC/B{u&Q1_kv8^=I'F=zts XUh&B%xi:q|AVr_K/赻+5B:pܳO JE~O"h($4TʩB)Һ'dJl\y3/1:x6=0mxxWsaW+CG<"\M|muVz%J\]y^$~- wŵ} wIhrEv/BWۉ@!nX!@g\\CH_|Z^y59n4ƍħ?758Eh j :1Fz8T`|cVKwǏp:]: 0_sâgd3,H b-w]4H:2V_|EFG)_%)"-5,2# MQ?.#Q HxŒD  kb㴜J>WwBx$ibduwvʌ%3Gw'Z @b@;D_"6aLyvY 4z_Rr=usfm&;w{K:kP@BFΩdf"$<>>3{uF6 57xP!)$ZpȆZ3nH8 vB a;14|5aˮ3qSGWk }|5N Xi1{!_|]$JDfO'[]!% C? +CTܳ8U]{ҹgʸ|2>f2t.p|NFe#Uu8HK] ߸ripB'PxBk$4x!_iR\rxvo ruJ3yky^!ǦaCi#J⹯PzZ# B*Jer T_;mS/}u~|zqC08|i>cbh?=~qrKYs^@Fpv/:hpGf&an(tH8s |xN P+ dNW;[ش)VHdg߄P%NnܸAaX&t~iZR3ۻg.Mb:A94D8g#XF^ 4WnQ/RE h^ z?L2!,+:@3˴ =c/GeiV2-w1 22wB@\*^/8KHSժ7jsT5sGkL 0"xuJ~h$i9UX>h>EX0>Jz?pgvLx>06j)YI^3bMԨ3bs721Cj.Û Zy&swm`0WPMFz|Q$TU ׭n 0ۯ\f4ORNxZM}bYhοMԐi tg4@c?ŏCsȆQ=y7 ?Kd`DZ%ElipCb\HN5@Ivm &&G$m/? F]jǗU74F x$03 ۝jm<|cL%wa}m&R>4ȁZs2'_q2-܎co򋋌q'mw^S$%V~i~-Q~x0k,*ԳY_}1-sUh A10@t4㰖):jIgA.-4$L󨩄D---hByq[lz%BMԥ*:fcj]܂$[_ֱ@I w\w Z/9INѕ"*5(rD d!ppA"*nq:|oJ3CC8SYE<1KN1ҶB^@& vT qmV ݲ bT%6 xgXHq52X9>p6u伅]/ilocPB42x^(*l΢.ICK>\)^DTl76%EK7Cmk]KcSם0I=j;פASuMdB+gkQYaf9xWċD^iǕ6&[Og`ɡ:/gXSm>ZZWp~x;5Nye4f*0XےVw8%/SĴ\Lb[&!jtHTdrxɓa7d31f9SאCLsOd'~Y6f7:w:?LE f )VX2pJ53OIb^nw|TT6_\ܶ$/2.}_/5)g&N O:alqج($jn65E`'qmr;ÀC@)V&Wn[|L|`Qŷu3U]MQBCOxths,#> L+:oƘ;?<채Aal(tI!#F|AЭR"`QqKLVuL[2ui0 Nk2Hny4SF+-^WޗnA M@zjE9 zl* cAEgb#JZ SX7dutyF̕"JOJQ)Cʠ`hNōGW^Na"AGʾEb&zDi\pP`S}saޓ(t܈KɯgE3 Ii]Zc}.%w${-Bؕ[ e=E( ,~aFaMiXvD,5 rhFiu6Σo<װ=,R,gsvW^Q`jTIݞ#ePڨccv5N =ѴT%rHeɪ9cR)İ='LA/Pb7#fBW,)[ rh$ *־Q6.QdzAC酡̅E?~q092h;spXZ:ֲvCuf0T|:^OV{ ©eB]9ol}=#Ғwk6?!,׊ D+@<L[ GM@m(NT U_qwu4źAIhs%pdJP0-"= pK_;< bS2Ծa[uugu_Pܯy/`~plB& 5osHWӆOD(2bR}\v!&K8qx.ZɄCFJ?F*iJI}'[(UG~ :Qnj̡Mxa3首ſbҺ_d3_+zPI(S˖OdF$-Df5v N Ђ ]I]gd xoĴy)k%kOVNոPU3f˻0Ht ^z] l|>5>QC;0cM`"AA_6:,'2U$Hϔ-xxypAWxe&#E*"JTӈ ɰe U_cFî$6Wꚏ ٕ%k!&IfM25@Ͳyp^) SUWDz9K4S=+$04;}\w1a|DЧۂgc%?]tw 42FT: 3&Bѳ=%bbm*Ќ>2=PCMs K*?"7ql賐swVGa%ƒTj#K/,%+Gzi=ʅhiF`7i.휒*POZF\$MqZ3@kUMVts4rV½?x[ݢqJ }t̆raBZ{e&EJu6ES0RFdesͭ)0)_jf%@Ѩ r*p~6bVSE.s@Vr;xq-"P;m ȝX@zDY[C"r>?>`Ai%.lUS4شMdeQ6c;ji_^?Ҡ>6ЏlI )QY\'Pa9bm"Dsoҙ5"%L,L~B *F'X>VXOsn?7EEp-ad{kz c:P|Z #X(Eq%6A>_1l6c{>/nմՙHU3~S \+эUJvU Dǂ8KNa7vS zTn=L1ÚP} }e.6΢cxiC$U.]i2b!^r1Ca"${W)Azpd8fg}z!#폹N.ZDL|@旣~A>$J#;L 7^x/omN#*s`ݑhmͪ.f@$erhП[QnYD5q<1WCyVJOrPlDH ~0TX347F=@:rw! `N O1r3,xM2Jߐ$VJ2-匼΅QW;7t)up0?d9wwIQ=wF(EKotvA]zނ0GpH p۷CeP?h JbEL˒mac4;͌lKxH &e7ocg04SFor! HG:fws<%l=[jDt↓OL|C| aOԃv(ixC0KHktPKĸ;0C?Ϊ \q5'43bB셃Z$[ERkp$DdNh~ ǾzG{g(ࣤ㚴KpʵT]\TJh0pGSb}[8d4u^M>W!;{e"{BW[N nM9$ 3쓡^$UE1LA|Yuz(V5HUk8SϦI 5;a;\ #-SpkY&Hy:cHK Z'*}Ao<DOڼf3 Ǡ|.1P=zN-P(NvmLMi:־ x ЂȰིq80#{2˜xJ #xz4 j^T[șȔx mbevA&_|(Ͼ Ii~vr[#*̸hY"=]ઠ1-:s.m WqfW_mi$%O=<M0]^5z_'+ D z!},l̪̒wtm~a.ŽHs͇Zf<$_-'C=L} $iM`~c3 oy4O#p4Z +ߦ;<f*E3wO˛DkaKU0R #b2u jp^["HoH4X-Iޅ'`^-JyDS2t]TF_͖dOg^#sCKaBʈmp;w2g-UE7gKsrE R·qVA{m#kh3RT4;tTXA`CkV0){t|E&fǗ48G|f|= 2r-rޭ4(1VXFbbMÎE@\Ee$bam|ShN? vg=rFؖ0>NtAwj,n`_8`Ui⢽ݑIZ C9W:|`垟8%$u?a zi?_bA2Jyh ToE9 i:!'Rn9vHپv͑e|L͸až4SdmIݝc'9F/^BahD-& yLpgRXxQT|S:7W޼-okO2NrJmmφ"i`shroڴst)-#`ZMaC\0tzP2ӬJ g /O: D:)LpO$51Mn'ZL^u!=u2l..f쟸zdQn"uٶ͸!9t̏ D]`8X뱢tQY7 cRkaJA6GD+#x1ȧm%ǟ;'3ja^z=;4=AQƎnbd)b37,ɔe<j1f&n;R w}t׏uSqʢNlskFZpwQiÓa6,=[bb#+E 3LloW&gH3tǰQݩYdW ~K:,7NY(-tD)!ϖ! ryy,E9FbaUiz6tHMdc@0Su(ɌL* 1g]r@hpԓ xhL"QSFS}քzMC/i6]332b@tl~l,~6@e2]6g>i43c.xtaiǦ5'[%5jkP 2NܻA}£QJ[[J5TO9f6.ZU 7404=m10F^֎uM31iwe =Z5(^ :m"j* }Y[㏢ܝqP$${;Rgsؚk ,-ZHOETkӭ:$h2W#Bn`Cc!u޻e]2xz8\mv XI0šE|_xP ʏ:Xj ,nshL5)/~yjo~zHLMFPژ 2 SGrLb b)L.lcC?:P} 0:vG7xkzhv)Ajtu1p3T\ q ^]e?&Noyj',v'T;GPɔ+"<ǭ #ߦ%8\WeĻ;^w|o~/>Ic^H*Q!=_Ŀ㔡Y2y2ko z;B&a#w\yzVe*#5{$"kS,\<&_8qR;ّ#j-h-6'Wa ˶m`t?}[BaUc3FG5m{V*$erǪ!VaܽD&XA-wU#A5'Y@M\.@5<ԣIAg3 %SM1ʜ@KHl֌LDl)rVBy  O$a7x $}e->`'\-1.UH 0";EyU7lSsώ(5RoT2_gG)M`.Gܤl 2HYbۯ K=o^뗝aWZ.;wc0D'F2VOۻ;oo7ܝ̽Q# +жAwHlBEjܳncPkϐݻF 3׉B7I"tYSDCg='(*5!Y%?_vRf8`[%.C7EA: +;F5ﯩNƧH3Z5 P[nL`oMJ΃%]M~-ڨWהd JBRDb#4)k dN=uäZt[Hh]d ż'IuGlp؜^ڟZ4p:}?7e,tx=U6@4|an#+bDqHpN_%ŞTugKxn|g2z gZƗR3:_QX5||1뀖UF0ϙYc@t4h˘|ՄIޠ-u#HuFF-* re\ZݠFG#7$4mygИMI\)nN+x k.:#,7SeĆ-m> L}Evt'bUk#[JK\bDCc7(1nV5p-Np1ffR ?նM&Ϥ~Xe! G&BkRR[&3Vݰi#Q[SC?󂞼6[њ5y@ņ%wLGs`sF@<3_w~ %>o,;޻dک%\>vmYoznV|HINr K5Mss_:OKO'jK7^o- xG()>΃C8r'@$g%Η3B'jڼevO`;ǘY x 81W=F +!j7`>{~уn%GLDg[o)5.oͬ4+~qjq9d ؃*X)FD%tppZ&1暫1pe<0^/A{mqR+fAtW]W8-V5̭G-Ɠ>Q^:7UeÍo+׽SCςkn-z(t"!~A] |iƏ*hTTP#ӁU+dK2#z&X>uSTm?u Dq9>О%k;|.\dwɴ1ь">5t8B}J7I~Qziq2㞚"nrFLY lԈ\t4mTUx3 E+xS6 r\B›*>c؊$Sf|:j:c}E"NԧɯPYrCX CmP:0ȷOEo+ u+!1ȧ\#[(ad1i:?%$^%$m4 LJNR"RK#^"qDvͣ,\T=4Į B!2WfsS04>hK|j ӯh'9c8,7EXN8kpa@>JH-2>',y2E6e] {n8{>WÑIݽIl >*t5kRpӶ4Ǐd(Z#ݜs|/CxIņ'%PT: :DɆN=3pʖ:Rwa, 7'Alo$@{ QH4ufMhK *.oJqt4*: AW;hѼXvf:0sɻMjTm ,JN!{gtBATţ 3=j\mC7CtYHp;ԝYU X!)}5Í!F-4%[,q\Lf 1 ~41 4:I4- غ{UK66L8$sN"OMT1sna@#mѭ: 7G{NXi[!#Rƹ@C2WoY?> N KHg3sP-~fp;nPMB́3*նC۔}.Ԛ#H4kVQG1lM3ju4yI Kzu-?sWCt~%^P8Ƥ=ѻ̾˃]pw|/>nj/T<4i]H?dP-RFY"e{~/ #~A7Ki傏b)a (ݥԀu{1n8W⑼Ĥi ?,(fO]"4?`2_ < 9m|wʢ@ۉo4MB? g LnJ3#|e6Ӈ革sT@v af12Ttٯm?P2^ȌL=բi/^(SxѴi0QQx-f1䒂x0s=*=ŊJ U]Tb!rM?\[,B@5hh,IT 'anR/lK~2!T/`"I غA>BJa^AVPWVEjO?U֣Mp_ F=dyڏJK1Xs2 (0} I:iTcOe٧Mlx vR8_[>o`EZL2*0Q7u`]`Zߙ/jjd1N[$naL+-6x՟IzyYp#)< jSnO9_ "{ֲ ɷ|_6p8F>X@ڷic}1m}CiG/D!]|HIQL4[ÐۊY0mĮ8ז0VQ"MFDѽBĥ /-Oǒn (.0? fHS5Z aHJNu$!8әXpLFw7Xw|zN}~8Olv)Qv wRnHnwjxs2+ [e֮_){`@Jэj3mBBqcl`ܩge!@G]f: Q&GosO=2gJQG>HROW]uc{P Qkv5HV2(dUG;L[}Dj_ɳLqDUMD78q EȯFZwݎa?J@}w]^ߪbɪ0xˋjx+-$8LӠgzUK\VuOW쒫RP?0#H@X$ԾhaSTW"'^]{>¿Y֕ $;$pmH+8zz s׀s׊S0ԇd8gl4g=Ɩ9V)U81*t>]#\z VX6h 6'GVy<"JQvbU6cmz MYsT]+~NW{"7$agØmQ+p `vgZJ0|h@5ܞb~zI<(S{vAGOĈ?(o/5%@lǨouQ4 &]'4^ V0-K?*  i>_W!Zҗ(I^l&zoc+1L9i-0c Q&hPRBjUS,2/nq"VU9P3]pw]w%Ԑ+Ʃg#c܄'O<5zzY7J ҷkќ|d?Atc~tE\9SCFW=f-\zq~R&2[ ߩ-CÈ MG$bDI0Dp &90ڏ_ᤷVL҄|0w\3={2[;Ŗ P;gO)G![.pڴP@p"q1V^j}Q4L'88d;TÎLU6J;Kػa_##a}ez;qh+RijJ7mnA3}8N~WɪhYqXP@G"#Us  VyZ6>J%%XC&BAj pxɳ#&.{/5~%gH>DEOI+q@v7/p(yg m9.K'b}r;h8ቦNa)us(HϡJ-,:5}PMA GqesޏO:3.Yu"xR``O V)qYxװa/&{֒UAE3ȉ8N ęu"_ yJqx1Lh_XSDr #ܔ[ $VM5 @'D{=\&'c;E|(*Z^>ةub*KD(ɑw@"ZvTFG{8ɝV!{B:<" KBP>]-o,z&gzZxN10rRcF{^)DB 6n!eDx k^HJ3U|8Ջꐉ RI5!xWG/XA^8~6W*o~m:#x{=甏 GΡMjv 2e` bn|xw^8Ї@6;Y=yayO18f`zER})iunyx8'@os|&W(cHLg0+dfW}-<M]F(/ܘYIǵ6kvYxNbg#hQ"9'O?3r~yQ9g G1-Uj((cY$ٮKb C@W I6R`E&"l֫?h.]';~G/Wѯ\6t "ұMv ELX{y Q Lv0~`׏׈LgvLI "Ĉ-̧j{T*$t`trxPL ?WEq {sftVӧ@qDuh.1[0dU_l,ZC5gW**ϒ8h3gu?Pq=2h߄LD!l/BS.DiهN#3ephPޕ6z 7'9][8ҲOO2?w &`ʭwԕ$.׭r4>$-%S#gh^hkP59HߘVXs+eN׊h u.4)GOp 7olK1ߐ?eҎW|0Ng hsߌ>TZQa"H K^?fM17>p\֤و+( KciXN_񄷀>+>V$y^pc~&nH S0eb(ǜy>gVG];@䉮l65+XySl@K9Vٴ*!#^S+'r¶#W&QX*rp 0jԖa:z fNkKg Yd}#ٰd갲), Kλ#6 oFKAP|M#r1W h`lqBYfz]F(/aoW&\>&|̈HHtA :œcR pwp:A·^Mu@䨣|r O՛61őqjx*ZӐgW:k0ƥ-T ^6 Sªj+ŷZ'0zX<> gt [;4Nr9DD#(=0H ի){$p-fa&Cۅ+I3# ݤj#ZhSEÀ*AYc^]y^PW­s%HMJ!\z_IYU.|ZG TJ$Q*")_p&zAm@H3{Lhծf>:,UZtl(ݤNqҔCOL=OxnvЙgeVX^WFFeol-ҔEO]]T דH54h,ղ@MRѭ)C24 y)1N.b1lKiU?T\l[0Y#54@6INuJ+WLGzw~vn.lc26x6Z?q4H˰’+꨽ i=J?(e\Het]U!K^Tv]1;Wz)ߦpdbd}2ӋLJ\Ws`Qf^ąDćͭr%Y瀛mRc$jc'0Bמ(7̄"_%hxIäQ'q 4O׷Rj\`tmFzݷ NMtQ׬%|cb'ܩ\7Uv~q*|飛j5'gk!'Cw;n)n1W7}8*pL "yŗjŃ!WQO@"40g=$d^C`o n7}CUOPOEWG̳{{.)T456yt+w eRCgsy|tqR_ I1kj.O$%(B:V!nI0܈>7|%F#^ƭ"%=~Tq(L⃲DyA`rڅXiv-iKÎ,NVh+eέ88Ģ 8<*?OǪ촉#79CgM['65;LB& ó)K#2]h4::S1c0tn,koUI%v#iqo;أb`uwtI TKʱTћGV5-0jAGxEqk0}q^= HM%N'=8eᱺ+y*b΢x^-b z ?` {#iTąX ZV$H懿N".O^)jTCoF #ƥQ"2JAN49R'Mhq:jdc?l 4af̤0E,Go-cuC M>LY='iT*9RrsT}JR : 0dUBU5heлL\/F#Shf?Lҝ*}5Xrgٟc8/] <ᆭz s.}#K5HiԳҊvF`J[6Fr|)-;߳ ؚ,;qW'w "1o.}_mQ(dKb cM(MjLV%nz[xr1Hn`b} Z,f|mJmJM.#X1sB~^tԝ&b]n'*ֿ3H8?0ϑC'xp0$蠙 =_ĉjO%cUYX\Nyt{Qm 5EjJ2Т3lWF!XNJvj&/\[o17`PAw2}u{ᾶ].Z-,;>"ly@ Ugld"<(6kx2ͦ{6xH8wߺ *4[-N Q^SX*IףR7>ϟ<= $/x8aUX1A NlN9)$D5%L))?+`,[kzlzas& gJ^@^@v:\}5(~TV lH$j͹xsDCYɒ !-UI*GA\$cR^΀δu,u7Dsdw D ͵Hi+WM>0nn^I2}W,J z rL/{{QZ[rwRϭQT2#XIUj 9s\:k2o<7L ?w&0hBq! @/:7uS+JؕR+d10E٤X y^(y'vV&P0;'nWLXX mqL+ hк7!mK.gSSp$ i%۸{$.j`Xg~]d՞\zb"A#T Qd}#GʀcbQX`{+NWsϙ v k~oɪ nHAܿi Q?Ի$=@_0:clr~E3Naږ}y!Oapo"0[QG5ͳ66N?x Fe|5B{]?#.Qv5/2̇+ ~{CuޏI rL6ТiǥH'ڃ urmXnŒ^xz%sM|j}#в}.` $e* [1&ݧqG/]rg`,.'6iD^ͥ*&b[kKiO8%KPr~TfKet'F5ԅz /s]ӘMSOp!U}~v4tQy8ڌfNe^KT*SQi^VB_M "f䟼x[Au/! <-d\ N&]ǝ1&K #]WR"  N]H)._Bv1}P!vȻ *uʐХ7$**XP8#4e48 W)aX*͈( `; @MDp=3tjBJ]^ݺK u9ZhO>.i2u}0S}m-KySh *rNiGRzJM86#DX@bՎȡFUQ-YJ1 r틖uK$V`xI3i4Qܐo]|IoXlcaɬzQ‘[!}(9(z͑5RPGt4% )Ilͽ )Tcө3Ƒү~Lͺq5(\,g|s<[*[uѧO@#Ex$*j1; OO 3 jIu仈 5p3w i~2-642өOti^80oGќ{Zn)n(Oܡeh .#6D5+<J~DlgxdRXdk~5ʅO"dށb_J6y9W]6Ty?;DoKBAeՉ*7@-a13,.O3-]gȱ,+!w ZcN|S8ΆC$0\P;ϕ(aoolQD}3 ^ʸUƻ:F &lO}V Uy(<^ ae(҈oOZ%ফrx) E&ǹ2WE0EycRBzv·rae2ؙQN*.>A)!$ރ/GX#`V7ث6%ʆ)QP)YNn]q6)iFQM-B>A,="VD*=Q ܓj8Zi wB9TQPr^9`}c(]oz=J  A?>*|w6UCJX֠J)R;=kj &.s {--/Sᒍ`^T{S&7>uwAaTo!$n烥V bX[W:XF DֲY$zXz'X(߁9rU9. | bLTMĜE jvC˾ gmGR^r҆.iJLR+c^)oAg#7 v fePv̼KߙQH}Sr.I{A|X"7%f7̳vXNqCl(ZaVc*Kgʍ4 jFJBܰ5W!P[mSdTCo$|.VUB^P<-V]_5rjP*0xŰcckЉ_rEz F[dWhu>"T&تS)"j6+?;dS=OYBe!pMtvL cahw {>gJTz&&]zGjNaNCɲVBK-HJ~O@%Ф|6W.z V{GUKLr•Oe=E ]9v“جk8&Uy< .ᷚ0Bd9*wv*h9~|IACD›LE`U#Ղt TYN"SjSTǁA'"4dλx2]*4 gl]eAρO"a C2i*( gwrEpr"ӳa%ٳ]i2@]ڽI x<=t!/y/NkdSv:yX a1΃6*ԗ"ݵ(ث+1.1PP0*q)q0 iSo܂}ڻ?'Sujz 59O2z@;4_B)7Ok\ b~%m i<6TY?=_ǻz[(z^>,X}QԶ`|HGW+Qxn p90RKۛ1nwI]U4 4Yoql[|Ƣ&zr#$cT?S0@1͘zM!uO~t?*꘠\Y|J핅 iJA . o ّ`_2UMi ȔtT`3~i*,kGBS(d{yۥᒙ|>"p]n[ī0^kZP! lU"rK㢝 s0XUgb.Hj5J8CeebՖbPzh1 $chr3`\ĉ$5KquJMM ]p3إ=.ox:k"k~cy@Dhg3J!d6n]rcI͟>Qw,)8 d ՄB/p!cQp>B^^Ы n'ĩ)GWV*ч@\\wx.)麎M;*(M1pu66#+0-ֹWø/I/9<}o!vZ<{k.BsDH|L}Jq Y֛gFZ lk_ r|m $pf $Rnˡ"*BAj &% wzSA׽3KykQf@ڶg  17J"Z 7$wI !CJP >|I&X]?-h# LCDCBJN3y$mXC(]j gD\iVr }ɑ!C5CI@ndMðs720*Zr7Qܥm|Kk,Zi48tc  @хu.gz%;AJXb8IxCeR_X`)QP֯56J>p^+D.jBP,/Kb`O@ +GA9+-? wG;0fYKtm߃ٱ[}e8l`X Rx$緊fqR4(f^"1M`IO<S,xBjgȶnN;F}w31xS{4.ϰdc|]zJȦ$}kc;Nrl(B,e. ;'}{.Ë1頟^a芁k3+2yQRgWOVӃ@]RS4K0,*,_ r&Ҷ[M'v[0  Y&~e ]9Tg,\!K҅ș:CTM˟GW3o-J3l _ a$o߳fa Zlcg^``P5Tw3ga6 'GRA!儺2fx]%^\1u/1P[B]PJ&,mxn4N4nCU~y#uHpRN.ST_F 1QeLŸ֌D,tUr)ˏ#Awt(ڳ5h݈>?3:AA$nɬLD}F/ϪG.zlAҍ*gc/)\g<we%@*:hSCsLlh#j=Pn^5B_WV3CC]A+TkTc$QO:3)xHHϟVn׫N"&8s,uFn9l+JUU&4YגZ9jy&S`+Q.c~12wްf ĠJջ@чgt|g\h=[]h+'/:}a;D,Hr9~W?UBb %FŠṰ.3_'@ET:sOc@'x2>}0)Ɗ x11j[R%[:73-NsZ7ԏ_Td("?=%`?ƨ2͏W4#VQX_3'f:D?,^A15,^eQpsyN"h2" @:'i0]LX==%m:q's^@:&c8;(|G"mV`݈ґbPUvg-4Z׾ !}dU#PYX] L\־ZSQ 7\J."?v$Ίcӈ 1qS%PȨ9k:)O' }T|G/<%pfuTb(‘"^zʵLѾAcPP?M|r6Up 9,cW#=SC0!0eF0k4bYC|yEGEkr'[;>w1_.^;$8w*_&j!dۄ_P<n8GV{F@JMQC+y8Uu0h#GWR~ *'v_TtY1:Gj3l=.9V[h;5l9 +*;kϡU#nk&/_,{إ'w5產%żea[Ω0J1Fs4O$~cz>N2=F# 8߶PJ^ڑ\LTi=)9:F:rܗ뼝vekˣ'hb'9L6xVvn.|~v;y,^.HPl꒽\0*ovPPfW߄TVEtA_r;J/ (lh^ 帤9gF闕;w_88>FO+\=K2<IU*% RRuafx~^֯_{଼TY4~Y/Ujz$%Bl8ܫlڼTӋSȕ>pXY#)|o (Q΂Ga$ pdk2i01(!t9KVM&rIQ:xTdro)RDJڠmϲKCOR`d&b<^CC8=a &ԳEЦx{ JץBh OD-JFg_"X|׶I-Օc^q & Vb|(,v5䬨=EƲebpƹ))g4㻍4Ƞ1my)!mO_Bx[y0}._ pj/&+2%+u<`1Qߟ1|pC  Uʄ"y/)n-jṙfɎƚ608:P }Wû^) ZGgU OL B{U`SJUNi3wk&VUĿr޴3H%9ɤضu!c`ёF.eܔXⱙ4B] ְe6`T!ΦhO'u /]B\ HƠUGAr>#R^=AHBq39H{8W!EctX#&kWPIw܂G@{U-m9iZ&)|".bDbL59W|a]__7˫t)tƽ8dֱ|G _YIDXmҧj_e`]jAԜb-H |z6"",yl/:s$XBPOURa!0.0< yGaB'8dݿcU-}-#ٓ(&(8z4;-$"6rP14 Sݾ{-07gL16ҫUBU/a "a[t^ve]h\u'Qݼƨ;>?ձnF7`Hz3^ĝ107 q9-UsNH7XB8#c["N{_Bb;Kr?Oޗ5>Ւ#OݨNMd4b:4dpr6Xp&ٻ Y}!CR'BM]&@8; r$5֥`cwcCur/thyY; w#$HltOljω1wsgqi JJn?=-E-7] _j$x]'KO=zDAUt"T^5gzEW%ʏHĚ^illopG>Tۥ~Wth5h G;F@گDUL=<]l;W FQ$`(iJT\\Ȑ[YX] ‡d8 q0~CqYJlA]wCN /fu/)e]yqs ]Z~L WUSX\2[t&K:dzԠ5C$ 5@XyХN1.5GXڱ,?OX D N4P4;r9|'D K|ЛfHe8Jb+aeY,;_K֧Y2O^75&v6@~ oi>M>tD-wr e,AQj,]uLC%v`ꉃjKP+%;Eg7 `!7va8mf2`O#Ga9t福 U?n_~nEo'#tFQ1(6AJ@*i uf9BK}n,e4#ޥq" Ͳ:(eSʃD4s 2^֨NyV B1AoɽX`5l$Q3O p["HHNT!_ы<7B޸RDbd1Abs{}_#݉#I;@&4(3cҚFI~2#-S|"ۙ-΢)\8d)֬zSMWkUM>&1aq߫Ieez+H)yɄn"Nj7Dx8b=mblk$$1(j1)* 0\O8jᅶv-jZ[ c^6z`͂a">lCuflynԲOz_1JRf1vQBXm6x{b9/ݹ}>×,,Z[PO*֔;L3/&O'|\/ƤhdWPDʍ|h>vY+8|2cϤE蝼Vhh;A 0!; G3"b6pݼy; ݱ]A%N,!/XŻ#90`Y\>R{-YT!:F ot}gti*HuR]7u Tٖmk֊?Yjύ^(1ю9}nE'x7:ߡIS2 nF sLغĕHczK-u̗:B+PQv/4gt`*FZ:r,S!^܁1.Yza9%t\@B:6gb1lccLG%/i򐄕LOhU{"7&fV&e[n$wǿ hNueY a|IH$){rlZY%@iFЬ徏5+4Z?>L;^CYe$W@P],Vu񶳴؋)6ʧцWBT8eעy6vĤ28Cae>Ry^PK ӜYC,F\uAD3Kخb#F#I_RX>'tpW-Ց~uƤ`(}z|GzRȇ>u`Xn 5L;;Em-EM{(_T=%(KbU&=yԾ洁o N@3viaS TI7#D" qn`&N9(g] 1bT["}?2Ò׭Vr֬=5jȫ Uo(gMP=h.۩3]r(#c%SyҼ>xKJw-Cܨf"bVBS8;Lqo,BpDNF5H}:I(c2,S6k(n7-0 cтr7kOxQ]vU˟K'k^ u{Gx"PG/GG/^t ~ f{9^Uv$&rZ56IgqHy):&dZp5flT*6HY,=R;WbZ^X p'wNkm48$ t,E!W&eQީX[jK]i\]< ղ -p '+~?A262o{vvq`Cb%(x'FnVܠd2Cm;pev̂^ee=]ۄ\d j57h8Y{rUiyӽY4I1)9k};W? ^d8.R+!JXq؋aCH]ep6O4ܤĝ;BZL.R1HЗB=ES. XѲ Dn\pR8۫G',:XaoZz;.& P<`_tYYqҿjt4*cx[%%ZBGoU6q.&2|&b$aZ*ֆ?r^=q$jM'KR+ȁ"3dn|t 3 -TTj$-Ï*;zH̪yN!uaA+x~ D?F\aI4f7*Ͼyh7]EҋFH/K>)l!sd 4:GxJad!҆[cqؠ;F[~9ҋP犷Zb qBq<@jS[(yN@kGlCQt޴ja  2ӂl#4BY]c'쭘-H7 Zx?~ל$|b?bи `d= q8:`a½π%-?݋o^gm%X(0%;T4e\[;ԃt93cILxzTAJ[D>8W fYX QeT"`hgiƞtCqvC۸rfCȭ%\K(,cPmTDVQ.tL:K$% $DŽKnb>a-NP$,om yMmIm<jg ^U]2j ,]%2`AЫo\3B~,E}4|"jMW]ИC;,"KaSxZuvJ2ڱǩ9yx*5WaiƊUOo*@ކ<|0D}Ih;ݝ &RͥIVdI8So* 9eG˦5%lKrNYw,,Lr#8%2w1iP'U;=!{GDv `(ЌF*<K7x]ҵ D \m0DIm@h ebyΉOÎ7=Mb<9ɧ#2\z w7q^?3UCT5a&(@jd(YP&U&V+{:)|MwO~B:)W$z$wr=k.ЧcٴE4oꎄxw罻|t/5Ð,%ol)$zaDL\TuzpA8o?d)䫿HV t6i{L~1 7d:F؈܈5~lEHd37=?.}{ 4.Zs0i״|-Yv !ʂF,(0%.hˣDH[5M9O>Z.) BBrHk)RT~O􉙸sPųI-BZ5(y\Tȅ;;c7".u AT!S Lh-h=yt3QoI4 Z@)f81լyo4*3āU*WQ>gC u.it9uZ}SmO D @"&}RaԢ]xnw6H0iwa<4b\xߠRG q7qz 7UŪO%c ]r2od*YuX wcn]</qWXkY*RbXߓCJ?JpDݠ$!:?@̋u8+H.D5}2N:0/j^08U۬pd^ {i2hcz) {J$Bɚs| H1ԲNx*%h+ńm)/ O˙ 1MtEжo[klP'm#,HNwhSI=u jY3Abԅ>7K(ꪻLWze>2Gw/Z]ȐpO{/3ma@8%)PRADP/~ 6惱Kh!TuQkDvA{PlwC&"]GUǂu[o@JjDOǿH=N' i(}LwX9UbF$Y@Q%W SbyBL]zģe- /x#̀z |P)hܯy~mw:q<'NzR7HځOAnB z> [5 "ڡ- \$BOY ^K ]xs71hegkI :[`G\F,G14<ޣ$r9&S^Za•B JMX*Iqp@kۭ1->C$2L2kVIid40?Q^?\ZfX)8;$'63!z780Ӡۂ: >kuU+bTçt7ALo تa02IM'6^,9dfJD9'y14v vV03+Zk*uiV82秝RݘD8{Pb~4}^l;6*`jO>9`*Eq79CtAEsɜ<l"ng5^X B[M+N #A\`:S|~ 2WҼlhʀ1s'^fh@7wXilR{CID w`hyf_MYF6TB=y pȕĜ/] OTN3Nt,R rQG҄ïKMHs4|H^X#m!IIלj): G Тɔz%Ur2].r͖ ?2 Mx)2hTeû/VI;Yg!Br89X;;-*^ihTt.N,^9S 0#ТbNmXz 2.(RO59[̑m.2t"/22v[pkNaR_{W>Eܓ~7~NE8v *oNyfS8E/7Qd!$D%Mb5>\3jyn7|Ch 8¬WI=Y!W]^l!&,Ӫ\GۺWl.e$hYtGF0 &nW!^8'd2H_c?o0]DbsXz j7@#'@s BwH24Ee`gTZG]D{bVB`R3QX2{DSy{;t &(ҌYǚnPsLQQe ܡM|8 SMz՟&(igp'lXKt)ګ?zն:u?1eXtLԟ4ۜP]+/G,ܲ>ݷyהc'ڝ9qaĊwUzxio5.b%^9ָӄ9 i,,eBŁsޓQj5Hw- g"9 W)M6z{=ԯ>nr5Kx8};(XW)vf0I"xsN Vg0nM8"6Jӂ݃|MyG ԩנI=t86vaZ̧h֡#R(IXH-$Kj'b:epv%$("e^kME;س.n/4 eʍrc" FSrgO\n{6i8A@)+EFnSȖ%oEvDs'hQaF(`LMZ"fMhANԧag1OG+N"V`*_Ӡ| [lTӪ\&tMԵjPm`ݓGp o+Ŭ/\zReSCwxqXTIsG:=- {-ymTGΝJ2 ~|H8ә([o; Y$2M mpn5 d%MS>=8_IA+؂Nus_Q1t{Q4yt^nt!pC^{Q[ALkb{Df}GjRbmv-03mX{lsӟfG4|*[it%ۨYθ+7}QYL[01dJˍ-KszDkkjJ+sE 0>a.U?;lv;^n  &]5/W[@dyȋ/" М5pc{R=)0Wsp^Zf:) dqN joRfڣ co0$b eeJ":?閾EDJfnjtQ2v)/7n$QF1gt3NEye1R87W]$~8hg]S$]5Th n5YLy !кC~^[wVJHRHRХa-K{F| $qVq<ԽΓ -8领1q IFZ<;Kː7uLO4.(HEv,|J $XƠ*&Xc3Ė$<hY X'@q82.';$a@}_/hb5B+@sv?jԕEB#,"G޹EmZOk0+dۣ&iND jٖ MoM[=G~ |h#Gz|PD>|SchYOz. j>O&>NKJ^JN ElqZ%JO& !ک)!GQQ.y#T,#n*m5~m{|q: M$#g*ϓTL 0Nfr2] ؉T%l6Bt@ 5'?L٢+yRdNv⹊PW\bev=r fZ3*RfwB^c/iz(=q+ŒiZ%9ne" SrǐN܊{DO&Aruf;Ӎ)8"lu C!Rd|[)p+wGJMBuK52|NJs ͽƌ1?GrA9f3L[ppz<ִ9h2Z"C. 2ာ92pqe3 8M]ٞ'cPǃ9 үj^לt)_;]^yA1ȗrUG.+Ss~駓o -m6cIPWF ܇OEKvp_,:l<"\W?C?=7-E+B+g"pva 婄B%$R#X ^LaTWp-/ăgfv!pr!4겘o8 lf$f51V;m4 WN60Jj-TcV˟`8J{K qziCkn=-BWu5JD >Θv[i'K8=$箈SǁY Z|슷kт_4D86/F:;y|잁v6lGٴVJ8^*cAX{xtWxQn|qLb %pVU\TDwuh_ux>XR H5>cliH/`$ LJڒaAj|醢c|LqrjU8uCY=QfhǍx uwp*9DIkUBά_f\ M615R|Պz)@^CjͬqkQ]l鋡G.z.^ټ ^u5^cDPb P; ƀeŵ,xXZ-ao@Ujpxz*@HWxU0lw?81FV.d\&@Dnx;/8Q \ִTr$ęyFkB2Dژ#T6ߐN~H]*DӑhvQ^؞Q6 7EcCc*>[3q^CzaYG b wU^J-X°uًBPΎrJ[T[M'tpӔm?߉f !zSOtԗ^g&`ÈDeYį#ʭ.o-xzwS˰ ޒQߕӍ;Ք񫽆Sﴗ,ddIOțZ/%oP`jUId .2|6kYp {W-r\[<~tC ,ֶ,4t_oxd.ݫ@=>OF;z  gҰvGcS&qФ1 rSvd7D/;$璑(}K^,RKyf MGxLp&v6H\3t*o=1N@.%sZ׭*xyudYaz*;4Ē` B1m"?UȐhj$X}#fgᴣ@ag7$|`@7DޔigKWpEyhU{c6hC$'x} jf~.G ?eF̱Y1GO?pͣ,Jq*C#Bm>65p֊VB#4;Ed XQ)ܩPV))BB3,#*50 ږ~Un+c6c)V8+B.Ԥraf5{fcDTݎoLGSP>R{??9h1;!qZNz8t*Rʱ,[9*Nݘ#8u-{RJ1lEQ-1l+'| ><~ a1MŠcyY3F] c=cYyxoeᒾ2DStW%|Q]RFztāwӃ(_9{LU("WHǭ!6%b*kOe(-Ji' Z(rIUa2s/&P`W{GU%"d#D^=3ټ;@lm]m,j 41!ݹHqj-ek4ә[Z6Iܺ:ԿU :~Y#n' Ve9g R$.0u~IJJbf?z9oqr Ć(@R׆ 2+yoo~MI'V\ιHn] uP> yn˜&s-Rj`Ċ8Iv&B=_᪱Թj.4[mSnEojh;Nm{ .q=y|q( 7 _9!¥H%,z`mF `e>'X;2I@;t(g}IaV4HBJ;2+067Wz$3}xEp'X_,؍.6^)zT2O,C[Ƥw/kA{ khc@:/Ɇۦ7CHe#Uh{UuT{7&M0,@! 7ۧWl0aA>Yn`&Kg:t=p X77z!$YaLbdfdP@_9 vK@dH Ic@E(mt;PpmnwG6<萉Ԩ;V<#O?Ea%\,{7@h@ w%?pk0|v=4O:g:hB; BbU#g0~B/D;gDhC)O}5ؼ?%MFLW+#C=uM95<:n8X9F,8af_,(XKק2ufHDukmjxߺ!8E迳ݭNk$Ltoঊ^i31Y@ 2Mlq{wɵc}/WS$g@M3,ikWRi&.9&uUA^TFv]eI%)7"F3>2R{G+Y2τ`zMz71kiR AF4rq$]Q#[7r`b&\Q@2 3tAM-I2y~W /0]_u/.4Bwo Mqk۽R>PKsVӹrf4WzdLjyDd~ __˴-֨sMފRt򠧣{;z%&:Reriw AJ\ƾqӥAŧxߛsmYFw[,1NF=7*ZDl}2h:LCztnP[tYrFxBY{Eް<@q(LY DK5S1-TXq%kM(@&!ZhUy&G;)fuҕ ^ido{u06 h57NE9 GaڨK&baO+k^n B!ՔH=P> |J[!h(t&'Ěk੻߮bΚn&̀|j~@PkJ^vCHًPwXMZ'z ".sXktJR b]VJp IFgFQ+TU!QaE`8_M'z.gZbTP7%$7IJr/v7m/sp Si5"D9"[>!vY=?JVΣ.Oj7:xs@xg}N~}VfAr[JӂjFCwb@rzu81̲rUf@4rYP wcE;{u?F0k\/sVyԾվdwWI$E!eub16teoU^% )[f@_"#8;y(~X XL˟c`]Ezr%m^u~K䱢@p#A<II=a2׫o~4yRyzgRA#:DU, `}-&n4g,KO"ftCWGv?O善-Ӄ*vp#.Wad(] _ 08sĎcaQwx=1|0ρ]Smw~YY`S 7fu$څ嵎ȧ&@fMo([wjL²]h 2-XFbۚԞ i[ˬnMY#@pkCfwox^l}gQBn;)X 帛e1\c$bq㷺!Sp),[I6`g'l s>z0[7x lm8[VVjU`T[<7ٍ; ;<9slY&һ=\ӹD_B) dpKĿ_R H=U9WF|{@ 7]y v:V9¬s,)l6[\." (6Ҥknѷ-O&V;jYS2`yb7w1e0om\գ8K>VvѨwN`"cQ#Q<"IV>2&LٓRW.më޷jo7k6ڈn^Оׅ"g I: S`ƈ11 B1e[кVM [!8$10*$ڳF:d?n4|,ʥxÀDŞ_͚"2b;]M 1Wb<.*wbDQoZdZe +ى SCx NHcILsq:H)q?%C5`3ֻ$ 8k}Xpb4XjvNX矶ȺHNaYKq9FF,TpAثf&!gKc \1O9)/Zv^7Yk^ۜ4STz@ù Z<[׾dv{߿2lII&=Y6u;Џ6 ?NPȀi(0z8KPht=t{leܪѶ7-4""b(pā];WT5r*R凱Ά/c`^I C,JÝѠ"eF27`>YMZ]}Lk<zEOs@'aT dY "UǕVDw}֏{Hzz' McNg~GaIb*Skq[͖-v'Qu-A}Blʱ$KZ{ü{>]Nwgi8 㖃ڕ:_?M`q$t 7Y9W7IvR<8 RylUHv0(h3thģl J%Et&&B0d16jD~ dߑ+lm=@ b=feZ6>cMC{tA#CNUf!(k_:\u?Bw"1x$Zmc'Rf4KխE8j8q;Z(|jBWyMH%ớ:n *` 3*)ur6a4Ȧw5ʖ}Y_I‡Un";plaKg&O-DcsNJi-}9ohеJTٽИophpgO;hQޮW& *y`- >'VLy3VGn+NЂ)N1Gт+6sa ̞<@RXͰGJP|-:UDH(˓eF?@^ pBRFʚ]Aʫڸ ;+\g0Ǟ=LI7Y{;nI̻yl,.[б% GiŶ|~BQ߶PSq,_f,/w8KM+X0ǼkM"Jy!T͌ra1bÌheɺZNb zdkW& v}UlYA,ٵUFiӜLKCuc"77 ?ne3BD?jT`]*-mҝP ,7N^*\M& 2>Jt͇1)p[)JJo!AnAw 0z͘|W/g1("kėsG' ӼMvϔý EwL{ ƛ V]&Y-^s ) 2!&Z:iIaf!B6um Qph)Z5@UgzY}b5 \2{kj{n7KB<8@Shlj}/۹dɲ\4/)\v/,20_*c,ȀOl8f\Tό)3r%%3x챿2+zG?ksj mE` Pޭ X(][3= Z9 L`*z#Yu?l|Ess0.>s$1Bo{\qRZ<sLEȚȜ$ǎnqD8w}y$U]Z'⠨&6X;h'h}qM̕{?=)v0wJpJL'%-itdn6Uzffp2LNcófY`Y_`$taf+IW)G2cR'wy>,P.h %b)?vRI=g%,16NPm÷;g<@{h.r{}['' t!\M%/dR\&i^!UfPOefKHvOvy op5T p=ԍ¸mz} ΰ?$,䘴ZZe}ͶFP]XZgԓ3ex,E jӋʄԯ:nL|..7U#Pi2EԌb@̼*GbY*u_Rh b%{to! 1pmR]($OQ]x|(ކA* tE_ x < 7켑'#U1X_ e{`=Y+ɣ v85uoH'=KI$1dзN=K8%[x藺I?@~ ;0bx7vTvsl"2LX7Rva@ȫ3.L'&oUt;'b~uZјz_4-YQݶ-z(y︁D/rr׽9/FKϏ!uXyEgmш4-+(#]SX(~̫d;ۙmv{W,|˛GtZ*/N#Cˍ[Z\;.7@2^DKV)╰ŕmcJAZ?ޖ,s/'VvZ㴪CBP-N?V+ҟJg&,.Z߄SKC6](Om^}>ɤmi |Σh)`)<=}H,r0VWA>#M2]…r+ђv|\0l̡e«yHnQ:Qqv=m?(#z1 PjO||}mÚ|X889#rKO4,\Q!z*hL,t7 I *&ǒS S?A)Dj'GԬV/]`7}ss:Q|cHl"kB-{!hFgiΕQb)$vg[y!q23JY'%,tʛŪm8)mRU9QHgߤ>I$ćSϹ>lF4旂24Z_DzZ &CcV.Af?90T[p`a_Kv`=!1DBrthl̵1mdY镁|'K<颮GmAr᪎+s k? B6NeE).RNg ;QҀzydop=!\RfЯTj=Q5Zp
    :&ROVsvOc3AGOhչ/w"βH%h 9u,欸de g>0秈iEۚLG?%[QXҳ-ؠH#f{d^5lG -ު\L82LazyXYz*J9 +)@QP꡷Mhsx }yx `5~ݥN'r/PC)}+G5S_%t\@Kꏅ$8 1[(|^iimfnVV-ugD]Fx\f"OeM Zf +Î=I*oc+s5Ze;.p1waUSwJJ`.i)S4<.0@/YX/\\kUpЙNh<$^ClE/ r$}! 1vfRߒӖ{|ǹabgXMI3Y#_>DM('Rf59bje2=V"qd-о$c &7m.x> @ѩ~#\f+km ة17BowRp +Rƈ~'O8$.V s;Xu_fs8R͘.i _Q+R:ͦ!d3g#s=fu =ʩ^UVcH&_0JESFQ%ͪh38gaki0IhGehБ<_<Ԗ0HwЬZfe4q좙r ‘,^਑f2eV_l޲*F)WbȀqcgT :"`xC3g-(qy,u~/k5d^ dez4󍔩]M Rx1)3Vg)F6:fk'㏇;GoGۡ :#͏#W& Z0ÞT4]ixRh=Ga#: -g"R8 O֪ب_K/To'`%sKR=xj?v8bUs煲ۛ [~6G2 {A@2Z m~яK{H쬍5={sl}R" y+Czs>":毋|'T|tf{Bdp;596q0 ~.lcv>]$ֺ=Q1]%g*S]BB.E=36+J zVa ށl$vkV Xkޙ|T24u fcxrp;R֪F|h-F8Ʋ*#W}Rb+5NEKqDj{2(>XX-yS2-F}?Ki1m/]HL! 't-%x~CVKp̘})&"wߦrg(¬߈_Lb"”9#{-\W{ĠaGܧWGjb J" dObRv/%},X>ҍUwfLG@O> +f6 ʟ za2LtF1#ч-MNpBIB)zM{P*V"_Nz6&,h]1"ŒTݮ1gt^DSOC"qudJ]D!VQpA"֧0JBCE>3!0YdU{ ̈Tꃤ[qWaG\mCah٘r=":m(^<}7gRQu|7",Kϥе^ε*ź\ "(c fX*\]Iy[SwMٽVϺ7j|sA1zАr/?$oÞ\ż;q\=pǤm/Ļ8i]PZ `Qi&;RQ P ̺ڠn洋La82{4؂ϫQ?ͨ\*D!F}Z NYi+Zr$N[plesEwb\&;MZR [=b?q>.f'EӰF)DevhbbZ  / +Η\D=ve)dm)61FPzX"g@ sIWPD_?f ~U`f7s-M?`Sm.KwXI=TG%??4xWnH(CBS݌@>ע'\; N 62[ .Cf\ֶ+?&Tj_,Kze0fzZOɿ`bZOܮvGFnOCߵ!~j }S|WݵD=SBkk&O Rб.cr/$o?:e ";T #7Vok}DhZcshjho;wgp6KBh]?RqsKΠ׈;ĽoU؁REIpNDCMuZ]ѡ4Q"IiDS-?G@ߘ iYx\. Pc޳Y2Pᳮ?-&sRa7}F"RcG xu{R~\Yb\RH@fHڄyoΑR`b_t8Ifi@Uyn 尔e¬RhU2ݻPG=L'r_AQlxh 0(r>ILٌ&U{`9& \aN nU 2b*kjL_a Z=G#B 8G:LdvJ=j-Z:@!5aFAx;E[RF⨣n#Yzq'c|KߋRS5 LIH2E;poi4kjaz71mSrnd©Y4}Q_Ic$ [ -2ąZzɓr4/ lL0Zά6 w"YOdc# /RڪT"*&_5\E^6@zI>DKی#<4ȩema<1^;y x (3ˤUHjL!\Dm_'ǀ&.AK|f[s. Z1,yWbIR%ze]gWT(Q#x'ﬣ?@LT>q~G bͤZP7jO_'M8ZvF(/^[%z~~{ݛ{&\ :4G -NH֎1w Kכr1W&OLeQ8X]E娎龁! PT D M47f y1ƑCBc .F8vpFkd[Ai33k5]MʹJw/O&p-)n+^UГYp^9+Y1^ä(Ld)Gl8flinZzWr}AE@q/4(ENi\F7G路i>ÌHm> ҒŶ*UY9&wNu;*IBdIXd[(n#GOh""lx39Jw&w٠JSU?̣B勫ͼ6M> w?i,,]n^ډ S, H]:se(E+&Z*Ǯh""pJř>뚴YśK7YC *j27\ϖ0l86ݣDb Kzoa QB覷X8QtH#X0J*?Y#Z6}Q R=XnK'[].Dy|PX䝭ט{~z}b::ǭZk1Nu^DfLu4\{t EsRV~fBjQ[ߗ .uQY8 d"ס'93IejGCkSfM$GO%vĮ\"s/>Zq:X˜!6*Mϑ)К@o䇌#6 sgt{UPSBB]b@&3ht?3 }[$67@f\Mdrs½(t;D_LH#? ;2S\(HU+ǦԳ70>udyj#@҃1R&7tv,noN2}@ QEd nAgF"l[#(zsÁ3ŊX::'EQh_+Pxi,kQȜAQ|d%f .nb0r>T !H@Am_s*z2mܔYc Ba @+,gn6> zPm4 5 RzA0nd/M5IӴB>db C;_ޜ"=CHj^)+6)Z %(+炃7cB$ 4LjGC*+CڎQ h'xagf(/,7FFmx߿eҊkWZ8UU5 c`/ 8/-舏BL%ȗ%BsveNSz >Kvuɚ͊kC͹̞I@4xWy)dfwh6󽔻n"aqkk: QDP6^AU=9@u]S| ;d/l\/(=9_#?aM6I.e9|ɱhPby+e>đH/ocנV:ΆKS\ܶLyOqyPiE&+QE+?SxxZܒ9ukR(5 ±W|Hv? ~F7O^?bˎ^<6~'~7%tMXlw%׼sdJG1"rh)+A'ΝVA*_qA)ˉg; |?,/[π=AQ+呶"gPAI*nZ|_1ye]]]VP_JS()yyw(a[Q"pTzM eUۡ+Ch@-#`/A'F`4ޚzJhr ZI&z. ޘɏv~%\yWҗ/ŵH9d ~ˉr%KZ#B"`8Yk|n;x:H 3tD{;|5E ~ dU&]49T|ؙ q]f?'Y?Uj'f[kXB!eKH0I۩~+=|#EY_ ;0Ʀ^)[PJV[wa) Drpj$s&իWqmK`1& |#~A8:b$PFƥƍW)Ibk\Q^-txKy@~=λ~I}Fr / hX澡/amRH`Iq3GɺbweÓоb㔛Py[ʹI{l jg$!QDeG̡W:=m_~%dc~&}@0&JnJ?*}[p|6-xӳ:./]*_}R(~]hSτI2Vt^3M24y-P̈́%>i{մ^@73#?.ϿLn ]~vdj\{`[?_ OQ-m%9dm rS R$kWDk-vwb'jp-yv<JqޠIGPD* <;;Fo@zGR>WR&w9!*]iTfl#q'2lut#bAu ꕨz+TbP2t#76(kr+زJBHnd{"-8ćK3Vy/aAR144VTuޏ 36UY&r^, /q)*\x1^c$G.(6 o)W"GKPBuZdz s>*`h Sa ӵhZoVI…'Pڻ7>h4L$^5؎hs6mmi1lit zߺjIvy,P(:\K` mM{8{Q6-ˋx:s W8OK[<f"ĤSLk .:aP 7Tٝ?_i2uN H!Y쥀]5S|Bc(o:6#69,4˯Rݪ:2L| !<* Sz7T)Lkv9 eӻ1 b-AnI_`qe #r2:IL2T$ńɾ F~4U7NMI4mTB %9#24'`@"I,V8P^7 x(Ɵ.F;;rG?ydp=LCt,xdZ#򿃝9;3+[ Kxe O _嚕-͚y ֣k}x"Wm'INUY?鑪4*+ʱ9E?X]r5:; ^ O'mQNm~͵ztF S />⎠sTƎ>"%P>lֆ6 6npeh'#_ Ry&{rέJB[HSvJt6(Djc9. b!}7sevrxı7>tGNV tjFgxhÍxJ*}/]˚p:#8+̓ h6SQo?q*(n左W̰Z,Β7gbƍ"W,mh6{Cэq6N-4 Oz508n0B7|f>O7K*d؛zÕu!5f}X~W}j30#B(RwE \cqp;JBPhG+tw78\g:*als2S‡q)76!hpDQ2 Jo>A$&篶WG'ǒMqऌ[\iu4z@̑E`JlLM7;vɫ8?9ߚG90T cK^AoXdU!|HO:m8Eql:pzC:Wƙ1Jx ysQ-y%Ada+!EXM}ª; AA@F۳H/H!$\"]ŒVGX"CiWY [*aihSؤH,*OF8kF#gkiwV?y%G\Єwl4h毁 r M[pX)Tz)5?oQ]}WͿdvϐbT`{n0j/0u=P5(EqD4t_ h,ms:϶\q$TB1mYzjQlPD5ѝ [b4|i72^o).*ۆ0:n>!+mǼ+JA, F]ZA=އp-DP6xϪbbf(QFS@qO]lL[ILĢ ThGJhUb< ړ(\icXA>T o ۼh/D'#!D#8@(GuDSHEcsvŐx٧ۿ&`M3A8̾ƯiT c>~ge&@p"p}FꗾxŤS;7̋U׺Q58_;秐O(xC"t 9Cqŧ |ScN?>GtxҐ{kZcx.[A /Mg4]S٧<cni-A2蠿ѭ+3Pqx)-npmI5xT+R.fk &, qL#^#.]˜KK9Q`"ߞCk+z>S[D-.I-[R_Q\|oQ+b&yyh"ޮ,4_KzԔoC2BEUxDq萵(M;j_&G O91TD&jmNZ w:Q0a$1B#Jȃå :@.Y 2ts?u& NYKZ%9a]eՏq5d 9̍O\#li ZHFBg*0G -#C%Ta jU5y X.E w] ֵWkC)7>$$*ƲfCg @CJk p qg%`m r9bn{*^w.r"7[G9e4МdVD<ϥMz2I8ͶX2|'tM:#ddc3DKuV qߝrltSs0Sқo>t5QXD`%IRqԩYDs#Ühd trծx]#IlWsOFi"blUJ.;bL;ߋR,;M A;K~Ε3] ,mf,iu9~X8NC3r>yLF+Mㇸ-l^1u-j0!{vim#fmi:p_˚o…MLeJ64 6tC'ĆET *{f9ъȲKoGE!I{g2(d1Me .^S*2anx~@o:lJM+Z_ߗ*F+SPN@lɠ JQ!Jj9[@w9RhmRG`gLD~}'r aBre&#g~&!,?}g#|^*1p z^KgWcl+4EUJ=o􅘔g_Hv`ǁt҅ys76eC@'k$h6N1\*+>Q=X8_~t5F ~]]ǤȚќ#k"wemTF8%6/K-%2~ OoA[!Wna^[7 j ay+HȨ[aUxtRwJ#7 abrg^_~9gG};ZVjlGh-w16,oUE>aY~ KD0-Nށ9<<Ȁڜt` /D~Фߎć%m3]QOʙvro9 C@I4!2d"u%ZDsoH#3#[ ~\N6QT0U&0t"Bj#PZ%r@ ^Jѳ@'[HhQT8D۟E?ٷ|Ԅ#\ӕBSTU1jFFWtl-Ǽj?dL0,*1o0s2X0;S;A7vvz* DB|J)CIO %.C> fy}ZFȒw"~=Qثe`w=HodOgnyxW^T#U*Ol%m [7Ȣ5AzH)W} ۬v" EK5Y*xjK1&]}|[Tnz _O(ݽsLih,% Rݍ궱N&I .L: DԆ%Y>::{幮c:L M;b@>%T#S.Y6xԞꁚ.ER HmJB ʼ4o\FlRhH;CH$+HaSqX.xs"FsDgRu:sM)q$VSjЭ:fUtsx$֛2ՂcE5_7lFb_ǥnب {+(r!-l.۽k&@Mn{褛My(Kň䦃Е_$< ,.kPy(H;5B2l{U7AC٬W5:P!1 uڼ󍓬IǿV>+\J7H^Ly$գFM&^ {SHěW qYndmW< ^xN5b7Ym-q|790ZbK*0UsUU+0϶:h8$(T+J3X/ts (k SL9ĄEx0/Ɨ=Dg@ &ɦll7p <\ksi<dm?Fof˺!w=۟k1 rR(@\hBmhW*'Pq@7䫜@]/|L oPslMgZ.eWwl2G:@7oxwPj2$+( s80fݍ͊jBu&e<7Ka3:Ip]I|դd4 H6٘sW#Z=fO97ntU jlFs'w2@&Sez*5)h QƠwQ}3 oEˡU?Z 'Aׅ %_=~Cn$zf^XыIĪAGzz x(LMQg2: Q ?JmҕW4p 5=X5+"`% {F_ҁ:Bv?ǕhpW@=,mΤd/k)^n=u.GJL.bS_0W߷9&b`Jw:sb2@xJR1ƒȊĄ~sCg]g¿Jku&~&p"s潏p'无  pg6MQW_Yz 4˒jTnf31P((j{U7|+Db|H0SEȱ*}CqT ([{[Gf AUd8v5ȡSDnD^aˁ a}2/x?s 4Cɑכ>2=">X7/JD"-4d%\My8BK%pXScƵmuOM/,pkzX/_ߜT"0*]NZ!/Dʔ^5d*'xr1fw xk>lLDd۷G«`Ic%~cox.ȬCK[&Uk)59#v&^'i a Eg.^޲saM$Jt{t 1'=Mvpq g ]MO"5' >I$LEsZ~͆^ɴo0k@f^u2 {1O#;$툌u4ZkZ_PjQ]OpRtzqѻv_Kb_- ۋ% =| M6bf n u>jhw<}d{"䏇D Q|NKM`$GHtF,?HA04UfPfѫf'[$g12A]6Ex 6]\[?(U磑%Jwe~3xZp7/h`<"! ׎S6!>{JEғb{\F '*oWQ~6Rmy|އAeuT Jold AGV>_Q㊏|,'$@,2{> beUo]]Ow e;@)\a?%)mKx\# FRa&t^[uխbgx)XlW:zsk14SY7~T$'y bS46tGNQ6QB&gQd2BÀ۠'Z#ZnT)Fj&64`xY MsB 7'a8^ˡd|A#f/ҋ?OA0dFN٬z{C?oZ+;<W1xO;ᎢhpW[ks*\Z9-U =Lw[ :z^K=gF `6 =*Sҿj(/zsP7*Yc)JXiA xcib>Q4F-nh2mnl*v;o$D}1Eɤ\E!zwvƴUGV#g)KDjoYb"o̶nHwuڵYD!wnniGݙx,-EEy͐ ߙ5ryB]} 5 bKe{ TT)\DO7SO˳\z- j>R6_@ E!@lC`TOE 2n<=Q`{_Q0@ŗ2ֆQ-lߩjlWvZ6 djNp߶MK<|sbj|󍩛W:mԛڳyu{,#dxsh&mI9a64~nlE6 Disg+Io$Y^-5{?u~g٧%Qs|<&3$m4[eF2tnƉGI YȴpX"8ieoDeSgf w9%qْG d'{)c1r:ye7᪾w4n"dp7'Da9fOU]H`*ƶe YZkV91µoly؛/9- \Ϻ/m>%XQԲ<^݆qQֺ, 2_ܞOHi#x!t1*h| Fxes?ОOfF\]t:gr&p'e7^\xSy Mʂ(Q,0NXѡC@iėyF!\ʻuں4"D±S%X~YM7l$%> DU-{4h`ø&|Pw50js8>[_n>?n|*`J]F5g4x{# T|޴i D;xŕwJH2^%KON `a\.j[56iGdVo~<+g6kt@>Ϣzni}6SԷYy5>na qd."wjA zوW(S3Ys\>B>~֦I!M)O'm"%r#ʀ%zb3o J Q YN]Wx 0;O@42/&DTMAzyIô!Bm{opz}}B~ g& /di%/ :M"~̌iZe޵fP lr@o*S5den%O͵ĻPo+•d8Md4$2=Of#qyѝ:Px.ҹIfkZ7y^0>%Cr4D@pF2w0̕"Kiv>זiw65ո2_JaI ߌA:K'=Rueo<[`ܺQ=+`%,Wf,T݀)1,;3sf5{x3k4@бiEHt8 Ӆ3/P5$-USDUJdq΢o$|1UrAq23o۴MRQ۟u{zf?8UDJL7-#'&m2ܔ% +Y%tZ]NPEk -(ߺ{~ZE>QafCLM0Ð '+R!'YxOOy'V F+S|ֽ/>N':BƝ/!Q,llsq㛷rߛ:NQcZD|>lzݎ9':HF&6/iQZx';K]Eй SV y;5A%,Xsx,PGԀUs{NXќYg(-mT΅/J`%4mr=duRAv@yn(%Iќ.kTw3l{2X d)'YZuwZ/3pgO"z/d?YyZ#a!ܻq)@`?\ ۖ1"浖<(2s\ut ^op5Kz^`ZmхKrcNWZv1̓fMx ;abdg>y0=:/YZަ ܮƎt6TwR" ./ pu/6>!d]U@E$HhniOxLfQ뚾L@I#"l5b3֮n/O,u T& }ZV>9-E5dG ~x\&ҁvYqȬMY_^mEGl'.q"H_v"OC?5䱔  9E:muz_tt3ef05ֱLȏL0:1 `n+ $ C!mB4: RkvMW^^wNcV-[H}ӤOnáUmINK Fdˢ>Nrw8sX:-lQ+N%Bno#Fuމ4') ҏT\Zmig8 j/=Nx*ӫvr<,F5U ,j|57Ŭ%vP *JyoZ7LŹx*t2*}NwfQ'`$k =zx}>f$ F6.3/Nc"f݈MFh@H|d ;1`]@18d땦{a3zRZǀyhkq7+%:bb[\L-sz0v0yrMgNX܆E]!^n`?o`uM$jx]RU{#S9̯! d$HZ^H] b R@8>e_8r&DzEMoĈߩFܰe:԰ +jJhH+نX R+⺋"{Sʢ#b/wn51) xTswOK#GT$_-a#'@2DQa99<27S/♧LoXSڬye>Ǣc9Ŗ_[섫t風("ečS e-)TP}"ln. GWӈ~̯nmQ{i〱J-|O0o hl1;JC-:3tN%8@ekה {#i&D9<^n`N2s-8A)`*Fyn $:Y֭ȧr8 ? ZWh/Re}^tju\uh`k bܽnYrL*(|4Ft &qF./#-w0T n%QKBSOaUbS#f% Iu5L0idV|S60Kz-yDmw<4J2\ɛm>-i.o.#YP!Ì}]TEqd/~Q81NlFCeZ D\@m( Maehf\ @:$p5T-Rv6!\j~mY@Yw:~zPc Z?Қ?SKۺ X/-vzBƺHh%t 鲗j6x:UߪL+fT+ñGRhr 69SƦ{@!) _w6^׳fs!ɨk#HCY2RR!`m1q Zp|jݴ:+cm&M&n]C;0-9k5"q Fhwİ~fG~;zpp-̧zn|e#tniS;Y3Q hSӬ!-MRuqNkU`YE8x3~^F`;r&"iuRVlgIm=}8.цMH!4=/B `^S /u֊r]XșJZtv_iϹ/\h#OaEלph1}7k%zc*<֨ y9Y;hQGiOT:S נ?\i 3V;-,4-ҝ+f lu`<5J|r(C^aҍ~BGrV,$ęюuxrq3)zj<]tI,lOjp`b |y0ʗX<FѫlJ6ꪐMJaKK"onǙZsi2{@l7WiM WIzǃ1䳁Fot׼;nvkknoLtd4W "fK\ =~R_e,a'GNXLr{p/'4?#.ե2\A;({bp,ciEԅ͋iSg_-Keԑ%n sq{aFi؞pHr.O-mM˒!U{+dA 6 Χ j'3#vz%_]T= L&G ^<tn :)*7Âc0ac)#i,!&7؏h 鑤r !jes yþY!T1}H&ي[OηS3mNaɌd[sW<ÌWbG_fPw7pڼ(,m2Xzq^&!W!GzY4WHW2}˃`$-X@&;̆&0 U=mi`L{ >H}Tbqʊ8bJf,Nth8IJ0̢ SzM 2n!C70Q ror!?>?],m0sG^}9}y |E̥hދѓ@ƪ [وby<ƽ 4n|0Nmy N;w>Lo6vP~1F-4滟񯛀|egR4趷= kt,mE UF|uInDܮ{F'D'7T>h%3]z7'p'|Bz ?kxv&BUBZgrI8؄Jia.:DkOE2X=(|Vk.ȿoM67ҋWv~6Zx}s^"Ysbamh'kŧm@S< ={Zsz<+k2c0Š:\Bʾmᚚ~`Z|J]ԞJ}U )}24<hSF_p' X y4la պ+4tbvV{r/J< XkĮ A.DQGm#lP\t C0nãa ה”q9PSshǩsOJSg{Phj['l<d^;IRA-侏T'G58\|~՘s㋓ ZG{Gt*\LIFIdc{<=X8HULI]:~Ժؑg7FӶa*_|um΁-ٙR6?z#M%i<)_ (xjL0oypXqөGmZ/H+kˏ(ϐ ۹CsTm"ƬƮ @x{~laۦ}噠tNQ(N6M#߳,-glhh3bȐ$N$TXԠ,l4䈾DW`0sि>63m[&_ˋJv`-4&WhLt(va yfdm#\\wASTB.#5|h[]sK]-+>,9]BX#_1Vo(7X<%@7ɚW)K nt;p#!4QNsc8dB^M6!`B 3 .dp@~Xǿрpinc{lʔ$΀ >OpzprSԯnE/݁,O_@˭ ud Z_$DPN\O[ힴqR"kIlp; ـDOh%2*|p=d"ևJ&z:ajK H^{Q50beNޚ Gp֐h[%ğfZ:NhxIֳewV( 8cuEd3E^wR^='c ”@wې={n8C;R{g^tGH:g>a>VEN#'Vz9۫,VrmuA7XpCZ1Cȡ!&&Ht >|h 7eG$j}ۍ蟦抋V`h6xˑO$r k 357|S9Ji'akϥCƥ}+U](\2LJ}bA(*#,j3J̽Lu5Fk 40k&oh*_ѕ#ũfYَy K$FoXN*a=fbP#zK4HӝK.( 9L*.zM% 'rΜDz/'n#x>.LYǔW2GThPYU$2hR1vy:"K {ٗbsj^"!z2-`!X?. J['TbU7@P!u_nSu!4fI8wƥK7*}@ jjp?6ml2*v~oxbP1!D܍?LX֞24q iA\IX_O;s׼k`sR+ \ݬE[Vy DCxOW 3K-B'q}eb2Х&e\z?q=֐O~>pKS2i㵷L8-Q℁+XZ Q 8?Ɵv5H)g%x|q{Ywg['kE( F*tl`8:c*Y3#-jJ TbJI&ԣ:Y]gU|3kOQ(zR3TX~k@VKHK?@|-ӋJGl% 7 I>qeNl=^Z$._yFXgR)pmmr_5Ucrm8\v0@*ԋJԫn-{EٷnѬmGuQ4:`yp9H\ܶlAAG7:6{lXao{zMZKSIW]ſwCdXXldcTuQI}9u0%Wkn u|N1 PpZDOȺL][!6ssP l[F5Qn`;,| l?#]9[O9^ȠgrS~?- z)p8{MEk0E"w2SAڮ1tE7 * CucJ co*a$\j-%-G.%A "CnMuwQ漡 zSi%FxlJEm>GޜE2_C&ȊU Li >vV F^6lYFb]̏'耹L=Ⱥ]vrls+|-PoZ?An Oeg/eR%Q ἷFM&T<"`v@^p Vē 4*لnweߘ?pO,bVX&p+_]xy{UUVYbv] } NՂU쁝mhNz$dn{C]m1sr"YǓZړ!̯,?35Fq^㗚@ k(D%h]H;5p>tjsZmݩB8ìrJѮް<Ҝ22;昑ZE𔎉V@o3 !a~a1[Vsnȸ 5[\#Aҵ B(AAos괼nT!P s'*FM^B#Z}yg|ᢲksó1xl_ݟezjOm: Or;whȲ}{%::hд[p ~oeA:߿X6`C~[)bZ*#FYپE%ZĴ?xVmtȅu|-NwεX`D~L۹ @ Rf~TwT$Ά>GŗkfW3i+dPDElIM,T/4ƎF]5O?s:`i;|8 pzUr:*´q¬F-r"!7z[6yGi Cܰӆ[z d&%u.ÑNlH@ãJ8S3*0{4C>A I'h0-}?jyZ<7Y_SjS ʀr$vT 26S|I IC^I|7S3$,"]!-NXBݤ+yne3z*iW n U>f5V42 V*48tqZ"z 7'QARvң+(çQX??Z-)߰tŬ&Z''5Zz|X X*s?t}OCwW*Kglr u8~]4{SچC O-oF >9<,|qi7bHΩT*Vuݺ>-xzXo*%m+r7"mR(iVm&3|)cnH K.J%ۣ;?l]Q .,k)Aә-:܈0lt gbv’:< YЛ>,Sn \H$ALŬ!yl$2qz1bQEhgY ]\yCJHy&3g)/~!gi~AgPK`']kXKmb  eǐ(,PlW {q{GMr8PX\ ^} m\M<6%'7_U?Z|+Շ߶%%&. ! 9$LODo L61P,v^Rv<{+^)=uu. 5X|N`tPDDiķo{4h~Н8өH:(@y8~4\e%ᎆOBϐ n$ jDL;]X|/cy8`O>n2~1;$s p-v<ٛٚk\ŹO@8,VEy:. =ZinOtVx+R(meܿ@ԟn ԩnJ{t^ =Jӵ܏}q\)Ww1@*l=_!".Ա~G)G.nvi@3i7`<Ө~I]MB<ܒt1:6_%yD..BvV̪/2MsR`\kt xmױFӚ6@9)2/E!Ge1USm~(&D4I~҂wλҸz?_>?x{ *9G}~-9@̳N9`ty3lsN*~ @{1"M P@_^)t 4Tn~6C=0m0 m_t }oV{nJc'P&'7VaU>?Jk]+ | qf]>4˽iR *An\S<K9g5+-.%&@(f]kEY=b_鼴V|m= kCdDu YK2:SԄYۃA@Z;kF(d2=UŶh7 ٠s]c5OmnP B^.P6kti]@Ő{tJU])eft5ˇ;Ul5j8PF4ѿlXv6141Q%C'gm]&MW&E^NП1B1R֌"1uj'/b((ٓP$Q~69(˯8G^=_ڰ'\ed*A0W#Yk'x̏RѼd3iI%}ŽI.SR.?iŒ rϠiEҨUj)EL7fq-'n54x=/ Z5eżڟjH^vL#ѶaWċ?LX_2<&r#BqŴ"}d]vfIq9MTm1@=^~Intҗ=DA*ʫLyT2g@Pq]iKGN"GHA?Pf%릾E]eHy$"T~A,qk0#Ia?h-FvcJDZ+: R6{ڟgDӌ0 ju;r𢫏u,JãA&*shGAŭP7k.򀺤#9jSj+(s7cg]'-E.m" R~P"6jZ- |'ww\?R"z: 9K&`YB$țsM&䌉D{FGnRҥdpMy6ΒAf9mw};sa7GEëz\P-=nMe9cA2՜a txO'J"*?.x=7 Q.0tY,gslwhf>yB5(Oqg~KI[ݰ iY\G* ڞ&(Mmb7)b8914nz|@:z*lc$Y6ai_9(#ӣeFAaZ|s.z M,g jF0#'ѧ,e >LZy[VGh9i 5";bMm|#F63C^mg$R6t$ZH[B#X'+`8p-h(dU AL[gڃ_aDқʿy(^.|Y29P$b^l|+#Z,w!_V UV$o# !-,"j˿TPEʱp҂4U+φA~uvsp}Cj;mm EXv~Ueܑ>GH-Dl/^H!KY5z[ANGGxף:61&!ܐy\vwXi|F~#nW|MX̎|Va]?˂W7v:5Q$b{CB{2BfR $ ( u>˅/f g9Ʊ*nd5U~N^Yվ@$ )!0%u(O{o3 D)AX3%xtlm+!Mhd'}jY/x?"/ka8 6~qJH:^LC/TCҎ™`ʺ x,0Tn 0u(*xt?ohM '$yMn:W+}{L:}m[LFˊX@o²y߯VhQZ4F?$R|_,F=W:`=Wx CNR6%˔Fr;8ѥ%w <*A.v~4Aŗ|9YXoGC͓+O@D*C.1`r(\lC t:@gi4<+]zs'`Q2ec Acg?1}`ˢ"V?2Ov)"_?IA"˒֦f(YwXA%Aa"I }m0\K-fív.Z@]ƹPRZ̋Tn)I5`r#bEG! Бɟ"OAѠ/踃H.$IBo&?OX6 ֹ_ӽ=!-e.<=RXoy]T,xmL!L|{3bƯ3ӓJ/ t1uvh4+kp ݌@3mHwgæݺdhpj:)[޼03v禭q\TI>tYXLYli1h*^nJ!\s1ӡ{c=L~*0qJ#(!;=2hg[7 Z>QCP}lq=i<5]jezLI3_dԦI,6W؊2KK҉ӒoK6)('12߶7՞%[̼M?A;|e G3Rv;á@Tw+ /6wGF"Z\dVD?9H}_רDk$}:VZ(2ӒR<ʼyIMCy(E3JP?u[:[RHγHRa8HV3'E7oL}2;F`„Ł$r#a0^4x~P' 7f9_2@$x1֣V PV(q&8@ChtyXwWm)iJQyRCܠSp+(-\LudgsEo.uY^wP` ,dw%W;#Afp!r)_EEk_F aR 2cÇǗ'δ<~pm\dїN!g rj\ KrAP#\ D_WF A…r}[ҠwҔ20Ӷ%σEt_,san#!](K Ԅ{YVscOtqǀ<>H~P(i3t.T Qa B/r̶wGxG۬3V~u@IK矂VPX\49=lL?uk3!L)>0;Y/@E BOj=KY(-Y̸G hNn̢_ba4ֶ6+VoP7cut!|6 4ʟ< gfK_1 [RO;W*E%ݐ: `IZw4"nIb7P0xlw医]Ϋ鏩W)QA1ovM{uO&Ȱf[ {ݾbih"ŻFohOYޝk ZG&qXFn4%{sK T[]?*dX.@3y?^W&Oחyىa|?u!_!xZ<e@|n[b c˓M1fF4|7|+z[~a ~Ri˝-%VK1j(i@9&e`x&}CcQk2pOS yLj\Z&*-:mYmr hÄ"WS7q.o\.k79YNIBhD*<(*$!!Q\~A#2@iZF`\C^k$V#6JUKۘ1g4ؓE>32PʶzCM/0#g;kKڅ)hps'ŤxBwM_N#n=ي:F$t>D8v~ 7nx},;O9xFM-VZ';&AJvjME*GD80I];g!ME#mt&;Cpaʰ6ZEk'T{QH'aaFka-h`Y벎jAE.BiEk,nٝq﬉}XY "Rܼt1R K<$3|N@FNL=&?nLá!8ݷ񻓭ňV(=z}'sm]Hۡo{pO.H`:KV xIk6)Ϣ|2],jd׀ Q4ę4. Bk:Qovt/Zy;Ik|OHp:Hip:麎.!P`m2쾁ԒY]Wp _j[o, ̣2eOI@>+|[Wh*fq~!2;ώ,UZz=-C`X P9-γÝ T#f^<*"Ȟ1OjKO[ۋ/IRɉ<3![@%f$[(2?.Dg-~!k.(tZn  ץzDB}<z!G:5Dvl,RBZoܭބJ ZTBn(¦g`CpSЪB7r%'+~QTH瞽~I5q7wymsLYlI\K%JYhoVՊ?xC/тB<}&~y4qoֹy]s8a$JC}Ҧ\mRYI9-0n<裇"{ҎX0+90^fv0^-J$;|l" e/.26Z;/~]F^I< #Ϻq x&"}ud$D *YSuEOΣUsNJo3`MwKM#pQ+i¿z2,[`$YȭW!c,'1y[|=HQ;9kz+b!Woͪa#UlP6+qKƋ/+U$k ʔ~njXiWpcHSQO%M23nVX*{C=Ն;X:cR >'3cDq7߻*l0ZSP\9&3PG%$$ۃdV&"cGy2Ѕ@]hŽV u).i0kiqt|yawlnuD#gRO>y5KfU5mrhJP-geae^=z~ЅU8K,.h\È%1H#t w «8b?O(Xʟ{霁ըa0_o4׀5FhcuM97fo\:4ŝ`f&ud$ =iRVXF)X!4ߧҼ,/G ntB[=`4O]Oyͷ[HǶ)GM,9 "kEJEl</?/펻KP a(hV+%C ZI]LtI';P +?NpѰbhtp DN]}ZIߙ)q;4 0d] .t>UVA®%8 .fMu1yiRGx *wG3{zT:dƩʰm-zf^^*%tM^G>>`?OoÓ}|OPlgPmE@8.%I,ŌՓu͜ZSsx}ĺ]f:PMԱ?I)bGy-_?*MpD 6 4 PH`O. +M;A@XI%" O@n~|N%n"-J+NAlFyni,d}|K&l qAV7x0ò P:E @^Uy s1ko,#cH*X 5(:>NR.c|uRw66=`֗sF`^ut_2c>3ɗv \Y= R'TO$ \)f梊87aꆔdyTx^eQ쉣$mCYb7cp`#q:R ac %c~􊟹0DSh1gM3nTɦ.wf6c ,[H <ª{A׷upO{V&9ISB6ZJ}Y8a`$L19nYd*mW{.ӦY^DtwhևЄMSngdѲ^bLxg]g6! %(;S ] ,p:A1.Fa6Em ssL ¦X]_Uo2Dech% K]IԪT9$×Y?θ,UFB?%zFc mpn9J4%!W ClӜ[37x(LJb.W CXTG^IFF1B"mV~iʟ I Fgj\QSb۴-F=M"()T|Hxl㦠kۯ51C8`)KI ^PCAoњӢˆKXBuOYB3=-8O+>h!yV#r71Ϗp"K 3R~\HR66׽zNQP |9SY~yf|& G`GrMQp:,q_+JU݁˂+T 48~-׽L$RI*-oQAw}kfƄG>uڝ~{mڷg_=دj?48>|3sMg>;ɐdpwf.#)?7f 5}D+4hc-\.IhC?{nux |gu >eH=MtJ]7TXܲ?0#)qaޯ"h=ڵнsq?d !jZ4 jPd #>uxpj˜vjQ6p5{dw7]C6AoA0d0T__d)GAyinHRi]`4x#ݙS4TX-}%WYB/pLP%Pa*;C86BEٜJK/r3Q@Θd2ʞB{%3~/q0b܋G_T̽3&%'᭲v}qޏt9\$ !)Q8qJY7 ,@Rio+DuJ`sl˔,JX^9'ZQh铛Oa ,F=R[iT { ŞX)Ϸk2bԖ`0}7} lCqӞ?gp!)׸G 6u]BXR`*P}05Fy'/eڿf w _ 9&⏋|W4 jgH ҠIpb,iK:c`|&BVҪIDĿ)z7r3v5iG)5ˀdUݒGYBƐI Y5ORL+^6Eq@M 示Elr@wV ,ceW;vqЍQ]JT,?XH,[Uۧt(;W_Rim@oT!s3VT/F;1v$Ԅ^=H Ђf"8hя e.2\CYl?Ȇ|qBV?g3 >Y$q2_aE=}':׷qY6;@N~M=.[U_?Jz^ ;4D0Hi=0.Aݛ͏J˻7;`L-֏D%*IRJ2Rv$GnWK ˑ*3+"3D!"(#3]1}ơZqK= MuB c΍qI߀3YɗO5a\ ױEoSFYR9hrHb%O326kܾ&9Jʤߌ)j qs܏)͋51O63-m߷ќĭ/ebls5 G 0L\ƞ _-2̓ۼXyڞbx~D̘sϑu۠@۶(Y:c=䉠xݞ3^i>56 oa@! r㔕 zV ?FON&!>܃$OK2vыf]LYh'?~u0H "__>P4xߟ}>҅niZL E\9j$nW? :,S2ݞ."aԵ| L+>*C8ޥ Ɗ+DJ<Ii%{*Y6-&ے_f*u 7}4p=4y| .7߮^ ]>ِ'B6z#&4I װunŒtk&ar&m{t c=:c%ES+pk'd:=O=y#i܉  n{L\T|;ẗnC 8e+nMTJiue8/@/`J w e}ev '@u]!g$F%'j91B1J:aFG idJV<[LN*'4%`R9H'MgA.Wl48S.U]Ch+?97g$zn@a"-tA (R% &$eŒX7+a߻!Qz7uoa0mݖXˆנMⵑth2Yc$愸z MHR6Aa=iFoضXNHn g_W{+ٝ,.$\R{Tl !giêS5͇cǹurI?>2G肼@g[vM8MEڗH]Znnj߅uCRW |"q|>/z acېo^#&^AD*nZYq,›LdpDbޚ4b?sCÜacu<L٬m}BB \+JWv:$c0EYBL hf6>TJd"\rԃhL@jFNu}̟kdKjLTX gcb 4I%)X-Zu kU0 42#:2]w>~Xπ /<Gc . J,g}Z ]L@]YA }S=ԱSeDUv)iIv׵6lo;ߐ{Xs1O ҁ/K>L@[䨁I?_qtZ\$a>oPd [{ɍES0ޢC;K=2l2T)+8 4Cфhb4XM,1WюouL6 ?^GKOʢ uyXc!Ȣ<['9sя)Cr4rFX7)n58U$M )1xԊWA(LJqͶʈUA1!wJAj:ohS~& |S <^! v^|\~Se:yLOͦw_"޻KT;_ k >"NqsTc`>;l=p-cc \/:/D%)߀:4`+,9HR_jE$2섳CuxC0Rg#]睭_,HII4KqIކw'>--c A&NwĨ̤PJcrMBQF W9/gKP-U 0dߛ䆷);x*B("J57}TԩoKus$T:Jh2wY@t &evDHC|,8D;׭ӪW0F$0oIH\iqdyұ+ԍOaO>b>uRi&(swXSSd$QBgG_sB۷%AL9 6di̫_QCidk7'D՗S5I9V'E (4ss$"+JGݰD;|`iU MW oPcv5 c@TmM~yuu p}Sil <<[a8i|Odc],~_)p.QҚbN*!DÝf'^K^kS#&-S6.!J5&nqַh)Ei @ly|)[kPN#SeGB{$P{I*Gm2ofca0zX.=-34e}I.= cndbD zЗºFpfŶ(|ZM᳕k_EqlJj#hFLSkK#8 [.+c>eBrecDmkUAjTf2~&`noXת䇱Яr2< TlqXYiӉlkBm?<=?=̻p%:znWP0?mI\k0a˜a}R3KC\)vo@.]gTy-_ YX8\uh}2sfplcf'6y8*t q?ܙјKĵ{pJ75v/U= ܗI%w#s-ݹF#㓬䧬eJ|<2tW;9 eʿx22Mk :/k24> G!fcz*3j+r%lɼ4)la9{ƫb/9}žﲓ4wl晒`);ɗhz|CHr xΨp\jOk-tq^*Vf32FK2v?ȸbg@&FvZرY^  VCY,ƛtGJ<ߵ2ѽm9\ș?)@w'W뷁JzjDF"UcΩ o/Sg3P !Ne<ׂ_&ݹ O+=);=$2πGAc5x48Q cdx37-y+wI)nض}NG'k)Fz~u 7;5$Ft0 ZN6ڃm ?F +%wR뼹5797J؁~AigpMB9cgq hxݝk6*ڥp0!{0"{ZcMUL XT2 =1~ӄ rq+t\wyP爦n9DAįFS$@y&5IE'+C x\SN܆l k`:5Տ3߄ è{7U/-\LOyٓ6`.c HDL{8kjiKLx 0Q#v"]]lr{QCM ō'|U&SPQ)t}9hX\ln^ Z=dV+WP;SO)_q"گ88B5lji cJ8.]\VNi# m=S2#m,X=a %Hs įN)B#h }׉;]ә!|ǚWEn\[u:morNvI\ @Xni['a˻y2-kPl۩&N"*]4)5" wozMSE}4nEUVnԠtBfb} |ϒW&mAuN|4p@߇vé23'(߱I7SCeRT$HԿÇBj!f`gdr䥪="O`[Kc((xUh}wy *6 TE9 -Fj-`*`P{^O&r C+0?f<{oBZ{qP7=4}2 &1 b Hi%pҨ6A hob8g̦N*NOl_2I "zWҫ^|w/7Ia/TSE 0rk~ʗ^,b}4 sdnc} [Hb(A;=(*j0^,)3$(7Y7iD˪~DX uz1_Uۓhs_ABC2O M}m)aᠧZH9 XѺ[)9y;ySf}]BfSB}$)׵&8p/e#g-$`W(ah_OIݒ+dtڱfc&+q@}?%t0KZmY''ޔ.zk̋ʗrdMk>. ]crǮ[:nO M_7vϏn}Sv4qtfutWA?FX.Go|:jϮҭlEV`vs 9 9pw5%}mIW8E $0u=`ntXGTM]es~")H{bCjRܦG֗V .ߣ0))@f-̕W-},\4([Z$ᆙ&E&̤z':rݖE萻1l9X.M8;Or~h]a~s_WpP`\'})g)8Θ|z4mfQ`@R2#<9 '`9HH:oct%\oA(ܭֻg^szIg G 92[etKmmg?qG]m{ɋ3}0``>)¢8wv.l @`Ah?#e܆)J 4WP[ " @w{3(iXzJF50Mnec jh#.ӯMgLєjEsJ r's~[=bM Ȑ&1g2 0X _`%;u9/0'S4ue3 ䷀tA51P뀝4Kv.1kCl$HEOΘ7'[H~xZST:5>О/?L.s)V8[yT0q@o?ւqs7g}Tu#tBiG_eFkp^"IWUQf69Bx"VMz̻o0(ۏ5h>v}ErPvE h:7"P꽙5'bǡ4έs(-̎#@p@I\(=\K m7~/dgI7ƊgY]W)r9qse0塗gN4NRR-^3kݸP/%@ K$(Kd<\R xQm/v|>JAMQiq~3]@A|tSl9%LIr͜r/ 5ln>E$H]r[Ɔ#We"uKOrD mOkkۇOy7JR(>$M\nBQk{^dZʤthaݔz24nؼ3zk]͒Am#)Z;C 5>uToa6 B%uB~Aio_vZ0 j7n͉;L5@lԈviG Oz*D"W]dd{A+Tp> ^m )Jg_W* ̈d"Tv8;ږ,."t`azOHR5KpzJɊmҒ/e3F(FL&- VV?7#nT0]ǫoRo8}! RyL{/,fs8g:r#¬FR킠:4PeʃHC (K! Ì':!ToKyaތMbqߗ6'}5JTKP|ar?WJߟ=f'"bgֲBír9xٔVrA͑Vxpzm#p0 7eub@ xl/%ͫƄ@ -AWz(CWMdL%OvNw2E[sT7w`4Ib:x>ս xw*_ܺS;MA-?٧5Id[F(/BWK&yOI2\mdn(@wqSa.֒ȸ'}EK>Yz"kEE(dkRUl4DmQIA?,Ԛ49BJaIP̳ "Nh?(β%Zb ph{}"7 ìR\ wqy"p|@6>XJ$1n&6b+HS0"[/o㰐H9-U>o8[bW1,34 pӑdrRbĊmvM sg3h|D5<=4*^$^51 HXɑX@Al#|nkPбs: Vb#+ڳ7mG$if\$)N,#٨70^;" #rJ۸8yR;U\,UU7ښz4} !WRgU]`6)SF6$f JAޏMa?|; Oб ׿y1bgl#[j  %-Qql] .MPϴi,^t%Mw0N(OuM!ҳm×Vxwl!aYvV~j S mnDByR$p<`Ɍg@rl.a`{KͼG.N1Bjlk8On°3mǕ#r?H\cxq/M#z h3jp<}$K16V-&(B?`O;EEcWuկ p/.IWNM{P`niY|"8wA^1DP7sktT(HDs$;w3+ ?^\FZxE;+7jvw|t% *W2`|VaǪZKj)̦">/wV t^KyZiH#]q"*<7B_@Stjb 2lwb<v][ ؓ p%t$HmXpUʫ äOb-51BTUǴ:,)~O vɹ |&&4}6x~]:Ybloϧ1.KQ8^,M񀼡ʃ@~&w*# j8vkzSV)YFnk=rV"@ LI_3hD?bs`^*B`e􍴆g)ExEi㞕I-PߑE[O- >TUYnzl`IViAFO~ Cl lA֥bV\ \B_jtuERWUDi=SH 5"j;|nCJ܁T Z1B3ȼaG@G)UZNzR)˿aU>:6GU'GIǷRHj}g'$&@Q 3 Uw֐p`pRl0*n.^?b=Rpp)9cfdsV.M8jF}eef\4߳ﰋ`P-~iSy1<Ed8J0Υh7X9O771^Gf5GQ-KSڎh2~8a '@"@h  k|ѱr{?fwTU9v?ˡmumdƦ%)7Geh҄!sv9шZ{,ؔֆ`Ē(;R:BOy|Rt-3lw9m٬lQrc NOfJ Ium܈) "2;KA/N־YsC KٺU`K FqF ;a^\^bfK؜ûiʎ#Ulqu&Zk;) "(5nGXw?*TAt:O/O$WZ~k_UT<8nr4 #qiUS}Qw&~bqp=V_Å` k.s#?|2R\ɒDMg֩9ns;KKZY\ca1U)(i*],@?̧7W8ömӸŽ2{>,YTp&^8!ƴ,%9ix3`.^ҔuDӰoPa)H#Z:ߐ,b W4eɛKqs Ã֘#y*:`[CjV]8|o> ջ"2C7Mٷ5`e%1z+Qˈ"(ey!ZSc ɆǝҼ.Ӫڱo31ea L"jg0z扯H Y*Cx "H @@p?v]nB ~F$.SNBgDQ`7V$lW6N l>T0~B>  ۵h h\tJ&Xh?Of*ZgW1uڲ0jk8T#}5-lQ>lj1e?]jb"*_iULyLfw=FCDeh:۰vɷ8P zK u^Ǻ~= : 8(OR·}:bfI(MGӠ]NTnS-Ȋxvیft,[&#V,+fT& =ɽ31^ Zqڛ%ъ+1u(U2Yk+6o2&ri~ZU%7'żeldޒ=8S6<lYᩮuM1PG9#@{v~ 1Iona U)v ]Gk>F2lZT?F_Jłh8 %~A~i3&t=T C sNo%74E#;=y|ffiCZ~xٌo$5^!ZڄXu\u8@\4dmŃ/Q°"&~_UJ`/%sXZ",l $OkV%'LJiS>-4޽l@=ѣ^Ղ#[\t-[}N֧4]TH {G␍j78$xwmZJ6B +ά"[4Rddd{j|r|Qԗ$(o\R%BI?e LR0+jF .BxۤE#ub EE=Hw0PzBOPzŠ@|u480[خK~hs1AW_~^"nL@鐤|\:OQ Di.k yM 2:-ʌ\_}bg_M.ޅ #4cisE`WXKƶ9F>+"RڧJΣj4FJv2O- :K'o7Ye)r?dj:!njPLTsn8OҳO('\mT%PHpoM$n``eĥ|#W ȺT|چx\ʶO#yW*&E>QycɸX Wv\h0|M YA1F4ImE4 1_5o~lܻ*:|v}Os<!˞m+A6N֫ψ:t >9Kqx^،KYBjW:)<1Cq;z+ӭi#<9)u8gtɿH$ɵx))t)W]ퟧECs/ EW⊚o2$h04W-UKߺ`(NrELeMX{m䓉 #vӑwp8_"H5JӐBUPDBPqE 74x*~'.l7Dڱ#~̺oa+\ӷW*HFZoК@GW=ldMy/-`[T:q}^gXv褿% 58;N`3))0UJ}ծײ .t.ŢEPc9k'W] g ?SVfqu")Om\U?Ѫ}%k~2 Un;x3v1Vk(¨㡣s>E9xI+UE_߷6F5)zIf]σ!IZuui 6CӘ3I(^k yqGeXs3wyvn@"([Q|Wpk?؞hLG3y3 >woh;xݩkL0mYgyCGwld|L:lw 4l/搡Z#Z0J.$[Ġlu3!pcR(%kR; `"(4 2w2'2AsS8UAб5XB5~ N-|^Ksh]&pLM2v lpq_0~9yB.d)1E75rjmSyn5M5Oa(J4eж: bj\=l]G >bzD`BgN5yⵛOP̻DOCcf]7)z4Єva.[iRmUsk&[\gK#1vD6KDX,d"nXMY;Vk+ڂTYH8_/8ZQHvu"e!,iGfkZ }>2J[ AC)kRjô.Q@%˨h͜~Y!%cFۃJ^] JNTŢu}A*_1gqj|%]'Ex$)tZ9Ibb:Zc?S**qk[$ Suj ׫#~Nd`XD(h2݆^?c! j4C­Ĥ2#<ۂyuzC9_pc\Ieo'خK]8M1r8Ϧ%?y+6e( T [|Sq !wڣq@@"Fq4](t57B>ySj۳ 8hwҵqs"娫o!N^ P'YUfBݡ4X fTC 5]Z1!m{:)1n#>%ݜJKEQƀ|9+BlR Zq!sGhD)Ipđ(Z&ЌnxҜ:+ꟳ7AqoJĩ+ًql}#2| 44gޠ {[13J֚J'1ćT2)\6O1:Ó"Q7 R I=%%91~9idgx W()M2~4'!yoS2՝r{$S $6ej5em M!-v-s U8`h~.4AD{ =g v!i3v$5zR'#~-ΈdmIa/g8 _7)`cs۽Q%Qaᆝ)лﬖ{T⭾Iю7ٳρCg[ s]$1m;FzQ+ZÖIzˌ@Y-~ clS^w2d eC5sg"~nHkehR!=e8!] CL(t$=P [@;LK2 @{υQ 8L΂BW zyy=v w|([eFt&I;=GVr\ eҬR=g܆ 6,#Aיm}U\m|] 5|{zO'FyG-ܿm_Ç^5lORZ)CrI[e3_^`BcܢYt A|%h^7{ W5>VXXLf4\8}~NUF09ǶYS4jW*h2Q 7,*3 Rϥ'#q7,Â|Y9gۧ|BCm1 /u8w$0Cj-S Kէ+X@w١ɫ1{Kb򇧽=;Z H'?e U%2[eC TNRHHl{[P: iͧj>)̑=2u  PI-Pii[jvJǗs( f XZzRB! 5d#0x HhiR|m$ͬgvh6oOm%r{*pݢC/0gEOG :*- yLl'^*|. K"]#lӺ?SV\GTڼk&+;Sd ڒifi@[3Foѵfqj7.%9˧ 4نb4tœSL @ts])|Iu[j7LrO^]3t_oի`}43GkPb?O?[91b7C,n#k|oQEHi/+P;p&7nz|?WmW9X^,ע5 D[2Z U *vq_db t3/iZ|y˪^dHHvApe? IsՅa I8'@|vHӁfZ!Ņ7iI5'O ^}_c/;_ S Z܇[v۽CjM9pY}WF(,j1^)#́r-6Og0غB4-5|ʾõ'C^{ ĢP>RUu kl_VY:,-`kS#'pk$8d B$Vp=}TqkoK@^une-͢X J.7 J7iy$I+a=X^UonjzU$%x_x x G,%i Sj?Ln׵SIt)_\ qł|S䋊fpk^JyY8*E1:ٴ\%*mҭHtzdK#x ӠY U H%!eH[$y >z"]\Qʡ{nCv'cR-nmt9^f I{an@ =RDۭ#nZȃyfA^L E!k2)ԟ_zy ϝE׎6샣@ )i=Vb5~ߩ>RdL*P- ^%I+P3}SFy} lh͒itw d]C^.H5sεIy#>z S{ەTFM#v Ŋ+M0tSyC;=֤哣 }A}P49륗,)R&kn/;s`NZIq>QuC' .JoG;$۔%`ZPH3 J>g)\w(;T 'YmƊ-ڮ`sTڇ 哔U'A@1l\N=b maJg~h[9q3 47$yԃWέ!rliH#IG+)erb $9쎞aY@-/NH~'>Xj05+F"LK/M}jGy_&ZOgGdY[VhmM/ޘ!?o5b%`:Q8ϰJ;قqC7bwٴ?10}|߫đ@qa&qW2RZ@MgV&Yb#fzܭ(9@\7VΘd90} AV&&8zIfq,+sn\ l*>/*}{xYQ o*,$E}HSa7'k(]2p%Ꞇc:TxHi9OC>|1Yjv^j}h5vϪ\E_]zSW ȓcB(= (}r|ARo&MkK(#"k|s֐d;EɭpH3 [vbxggTRӰ|{:9eJ{ H=QG{Ү`v]'Ä&G,F &pc!b~%  XH_vjU(A)l@r뻄ѫu U★c-xO)2 jߧB}FlU_ \~r>$eTLMP3htjoXnOI 6}jY=LՓcұ).\>#xQJ~pHQ,%)s8%8yDH+["~Q](3Y MvpfSg%{7UR/{'1Tg& ̟}O/#qy N]m@:oMyⲎo0-(d6N:w-3tME>ֱ3AH~(_᳕uaj{rZaGN,zYW&_fA~\KiU0VtQ %s]JgQe}}+m%,pAs&{,N^W<9ۜ_ȡMdi=geae oOslsR'7?AVHğN-uuJ޸<5 S!Z͝\klnf2+> ԟj_t~ʞ%kLJ( >?M~?N:2FѦ,2 ae[OwbuBO`[F|5xSDwT5*ݢ%pTJ2yP D;oD'c[{ܖ2{ĶMF~?2bp;RI ; )KBʡ) zS?Y0`d}PqV% 'rA$BmLPEKZBAûnm[uXe6ƝuRH<w?ͶyH'+x|ˊpn`2'5Ĉ6#^il\tɥy'P[ψNtyTdՐ\<]Mb%ʎjF8p}4 V1$ϕnM}Tb$Z`ʻ>0(2})Ǧc._זRM8|W1ܗ'L{{~f-IY\À?zsqCĦXxAA5FR݃qKb70^;w4шI@ Z+l&)N6 `d F*(!#; ^E`bڴUz/TS#\WaW6e*xCAȺ2xc y5(v^K9z5GP~PfQ~IM>ab4]/u]w}C4H [[|2QOڮwUa !Wvm +=;14E[ݵ<$_p e$>P1[S"H}0ʈ%ܓed_a-^vo-7Q:_k):T0`虮3˼C#W.@X S0S|t'=@cKث,7oB8@OP%f;P-!?Wri|G]K@@;'=Zy]M!"7T3K@ P֟r{K+3X.9yG]i_-uEthY@o7ۨ2I2|&;9*M 3F<> d sn7G> ݧCQ?cc2^>`/S;W3&=_n}WaO4ǯISH^4qff&S;9WN(.e'}Ri F}L,196TbSWKRrA,P PI8iۀa];7dYcnhOlKzKR^yiX"M >mL?_ ,NR;#rw|BiN`CfXxÆN{O&>66ʧX6D9R21py MZvX:'U{Z &Fʫd`(frtPHۛϓE}v46eTc:40rB]BWʲ[epg_*o/mZŔFxJî)Js)>4;|pC$)j ?*[EĿ3e  Td)Ez1lar[#N60/@HKrR ` -UPZRfp+P'n}@V0۽'hn>kLe)mi\:V7,CF4V@d9zLbBG8Q;`*N1p+n8bX~yt49OcACw3KpBYrd%a5e@KdCj/USkʙ6NZ>Fqs%o57u@%(''n ӓPV"smiwɅq(\:#yFpC;4@6٬ >w*2RqՔ}:*t'yߗ捁aH6v%0C^:A~!䘏=#_8h)=`Zc̵I8tGHl!aR^3m ,]X"5mHSfoajmN̔Հqu g#o(=I!U7-0BQd[W:ES`[ɶ'iz^,SS~zt(o`gqGSK,\EX@#{Let ~C7OJӸ**H-mJMsūj{n0gWg:ȸ Ȓ3QȊ"~+) ~"ۉ2ʪl-kYg#$'L  | и_+qq+# [u e !v,8MKA0zi EZ9rt8CwGф.$"(Ȋ98>iQ|*Ӎ}Js+pYІEόseT*GֵQ!.h96ǩ9Y16]xz,Y_$Ae&e0gpo&tQvÅ7 bjMmkՑj*% V+fidA$7ȢB1V;PS{کn6-P),XGh>З SuTNQድoz^;JKD>ЌF9q2!Fw?jћb5f.a;D'gS]N'|ʭܨ<-$fقkPv/C@E)+Oʙ( [Q !•ՙeq9 +M6l5㪂ӶΤ`;'`6J6HmBZzg˴^J)Oɇ^:"!hQHM3"&zA&08'|kݐZxu4ֹY:{64V2%V*F+k?/$t K+`b[R*ZNvat2oU t!Sf3栈Z ܭ8Bzˬ<&GkuTWJqQUS LLm↸9.)̾is%jcci~'y kW#Iì#*_zN=5U|̗>Jc|6ܻC܏BuMk6 ǖU0il]R`%qj._-j֌ATQGS J˾A<` {ƫZ}.hsz'fJ P qN+d.\I|r8 CU4[0ۚ,C`=,䒭hV sa} ﶝOM >4=50vW["5yI2XOͲHe\Ưhjub$N0ힴG$JM^` 3z2' Ư*%ű BOAw,D g/8F}C[Q_NYƉEm<#Bn5}BUƷ\ͧfB_Xob1,33ޞ'6E//2RIKA(/vcq~~QZ/e]1]A_5aSfDIjM!4̙&_ňdc30MH5JX!V:aa `_DD0Z!@ܭ-Qsi$#I vHB9MLd0C-Ѹàů?B46(-ɉa.z+8'c6vi{Wed\ktxxsQcz$b'aJƫp۱ FҔVy˹lԅVɶ@ehb3N&6됻,a5넀cpx:M 1 AǫɅ F]:8gFs[2 it$SKS+2&WQ㧜ͼ+eR ^2@ N%:.i8N$p#z[͸ 9ZP_]d05

    Z{7)KVϫǎİ1uP$"u'.ɷr[_.:ؿ0$IZM#7A8"{Kzo=z+LE/cVDۈQ4-/p"I^wp9~7=ӕjSoB9Ne%iǚ˙/=ps&H70hߙ;?O7{m=B5LTT"MoS "s?rpa}z>!5h >x>7f*FCSvJX]G@Eb玌-|)B?Iñ}v,ѭI ^?EerxBη>Q\ Vh>ӹNg 2Du~ )49Y]*\!=Ӑo<&1]: R?4w~@S0]kifk}hq}H%YIЭO8O,Q!=/.V~!!XK i b#JDWR+S{^"Sc %רp375Y,"^ƺy?(Ǣ%4}am5xeQWbEYؚ+rƀތDTb|V&R0MR2IdԄ 9PZ:d]*x=xOC4DsvUN+مkY+V6[>Iћ>]r2CG9(EDItX=߱ʂshB##`VK@BOՠ%ćq V5> U1$3H,Is-g{rH$[f zs @¥7F^.+d\{.-I?I]# >lBxʁˀL>"&`߇rz5h],xeRmk( `F!Ku"H; ?)}gXvG,xϖ^#/ ~iS.qK(ܞ{ov[e7pn@^SS4`, <%Y1[fB/nGQ9>(Ey5hl8(_, qղ+|IfnyOUncHנ7ԟNҨ*;;{H*Jd.$}壄uSG@ 8Clr3]6̌aycbڐ^($y%U> Ow+2QOhu7Eƣ:CzH}g`2~ GX;rU8#y~yKG#x{hB3{XrszcwdF,}^Ƌ0H#O^O3zH@@T(C!S2EtpcnXPÖI~Y]՚UU3v$T1O%:ͨ~I9o]ZZ:%x4uV{Gs#F'J{?`!D;gsG5$ +WA7CLuj%{̠*# pj] $l* ȃk%1)",< ɸ`W_8#Φw V z ѣWXCP\ 9R41y,3Vy ,Yhv,!] kAOQ4W &J 57Q L|i&.nxJÝ}3!ˠ$o##cjڻEZpq~PG F͞DǰZ3P|_ 8++Z4 h14>$1ܲxIDyTw"n:m(j MϾ_Vox:%ܵrLop!#K> d!uGr sQ,> #{b"#GYT⊬^(m=cHu-F.b6>ABT 2| *,L>H'9u9xL@vgGM6# E%s95-4K% 9C9 irzExy҉0lĤd;"(Y]"N)x*̛޷öG RDƒ* = )&iWJ>5iLY`ґqSD xԣBXspbӆ78@d^F E tc|2ʘgA 򏩮V;۔DrF.? `yڎ}UU:a%lz @"\^.-"k^_kPШOhu*O6r}+x v-U2`Pwy 7 Ož}Y0"),BZU MIrg`fs@h7:qsgX e'zBۗޡ5jw=ɓ[AtIz+3GQ=/L|uͨ ˖n!"hlJFˬ5w}FlFe)תڍi ڕՉ+Uxg0%> (yoYvޘp=XO[F3%ܽ!2]gy9G_.ǁko<4=}q__؋ 77 /1P"6dH8~D,*Cs׋96얊{iBoƏ"/rr^DyŽ9qB8>9|g+BMQ V;w(֥N~ n#Mu> FWh;L)"c@$gG# lAlgjO@_•2E X\4bD|u|  ߗ /@hb+M'?9*Q4H"E(cԃKcoA(ͲX'W |+ӘoXs/}DG/zhwEx{E 5/| 5Z}@'.{J\t0I30Q ^űi"/#V`'oiI-$)h􋠆 xk͍ CX<2εޓp>USGBи/<<ݎMH`Q #VadpLTh( ?g Wp-jDX'ZxwAhYN2OyAXoot \-DH ΐ-.N4) P*5?ԉSk5ybF[5aVmu< )9wx'·(+}7n=%X3뼜 DYS(mgU#X"0wHa +̈́8jꖥ]@ Iױ>0!(vuF[uц 1aq8`rS@q(&whVϗ}:&TL4ƙr57q9M/"tѶszlpVT+x@vk͝_{e c[yPE-`?Mue;n6-o+u붜'{w1L]Sڤ(#yAi@%̭=n( 򩀑 1+Ir2i5Qſ/umyl{I00CMWhYe+EfjcG.|1JDޚk!iֻ! * c1D O[n>W4QL]vp,"?ZfҸQQ|8uD`dc]mqҲ5.4/sQ"Llu2bJeQX˻B VtfeÆU٩$ZvEiT4nG$nh2)@cRX L;1a5w3`4 Q3p:b<`BiJ;,H%P0p:}&ؤ Iۄ6e^ƎG'kd Z/^Ya%p7-KFS$ܝ쌂0;{:D>D6Sh;/3* qRdW/ ڇ% ?B1s`vCQ$yK1rgMrG繁Ϙ1t1^}KkC춅x7ư\TpSvmq'.%ue&,OLiBXan973PZ63ƌȔiΩҮF=->T[]. 0r{Qw}ͯDZ+2#Df_ဝF-=޼9(VUeiyCƂVr뢸ReU|E0ǁ>SH#聢h9h. 8ΖY1ԓ)ɴͰ3 zvoOx${|ٵ1/Xz*c+k4/:t)&?YY-{ȫ8_AbS5`gtgqp`QX=XѴGK< B)@'.͠Gt)zj:yKSw *}ujBݻ LT^fypϗ>w([OJZeWw"G@99YKs*d5/$I¶GQ1#?uxDA}Xبˋl>o?32B 5Gؘ {Oahb9!x= C}#ӏ.$ !:v0xݥ<-t!8ˊdΚwoMi V',(Z}/4` \Gw>yoDr2CپTf!.0|ZLZ.E@cԒbvavCmXxWo'Y_`G >xuX5=W+^C$7l +(C+e,H] ht Fy t]H4Zs42T`rP+NDyW"t"* T '[c ]w<{xV WFvI&89OS|^a?7\ !_+1^33..ܘW.ϟZ<2x ~X;֩3)S` Q6 2 XjzP}#s)O|,"Gԍ![ J=YX&_j{x+=sp\ߛO5a"Ǵx'T9DR-E̿YL3V8M%Zo@^L/}jt".IU4f58S>LQ{AH ;ludpr&ZQ Z?jZi2UZt\X:K;]j-\^v}=}bPzV+)93&QA`n 9v Jp,9dI&`#+Q*r4V9:=,ONK(*zUw\N7Y^nKgc{†|Jƒ+<9r(uWI]lW3:jUM0E("e(ōB l\ຑ~nkJ yyx;MaK?r1(@]aO3,)zg`Sfesr蠑v)*^[:EXdby2ާ]O+XgOK )PdoDIm͆p0[8ZYPXRzY~ ]Y>SyUovG@ Ow5EHT*]Yjʻ+h5{ZPj2J" K+.ݷ'>L!-fr:h@l|+f?5_ܸ_p.:5"sFpDe7]5KC_};~T[5mvj[YKA~DS[H'hjV>T[T<0@'hWQܰ3Vb9\L ׈TWh1Hd*`Q0bRS_ ?յ0g[t,+)8 //[L٬(F*=QqN%yp~u2/:l`$*j|6ʷ:):ݻn aP;OO(B;7}ƌK.ضJk(0髐S(K :N~**䢏d= gZm70F3=Q=ƟöX pZ~XekV "enA l`Dxº' ΚO]ڄn0@dF'[&kV_)lJa<'eyEJꀹ:o+6G[s ҆ &r^:ČLɑ| G'¤/z|i& qgh,wJAQG E9?ޱ߹_[?|P"EC9x>{>fkb}ށ r<\l{N>T^9gVHޙS?]Ʈ;)Ce06RGh>G|jȽ^Ӻ鿮[TXdQ,sӠ_yf C˸<Z|ZK6X6qgc5PFx,tfMRF.k)ԕ*v/a! a>z,e,Vn!{/k,*ܓΦ`y$s|6W׮`B퉚,@$}GRaYqU^3hU#HWͬ@QJڽ-h캜a=Ԛۆ*\Ae_PqSGΜUqpQ=amZb; y] pE@a-d9ȠA7knqGzn[^8P٢>׼l6Os'&"`g{7^~<൉f6%NNoKB2fc蠵S6 C|-[+hOϟR]%d+8\"/>x z2r $7 ?z:qT.hQz>-SF+*C M @d9BvO #a C*"/{&޷/!3`'"B C^qU܉n)|{ӽHca.siYx-Gx\B4Q:Dz'r]2mɂrΒitP(g bL3D#bWz fЛ_Xܱ.4̀NWX*E>JM7aX?)V<"NC-oS,\ #EWޛYom<#j (%z6]˧ /*ו 5z =*7S7q;_[+Ҽg*׉kY;C. u2:4Hba*F*\AfK!ts7JGy;6%Kzvv>rG8)j(cyN;Xu@6{Ҫ; &q4x郈;OCF-aS@sg0q:>%12#ԇ 9XlgdĻNKh'=0b~AzE5,3RXS,`~XԤ&Zʤ@FHIʹ0[e g(vH}_+Q1/XzUi+Hy}z0Pl1gb/BG$>ym>#<p﹃㌏ H­%ZǸp0%b 0~|~x:6y=|ha#̪ǚ[1C5]nM0r xQ+8keJܳ&e\җԪɁOvXAY~Irʶ+z ކ>J\BQϤ͑EU~Œp#NkDZ'zuI^S6 -:}Tv;iMj NGVFq }\WBAK34uQ4qCT\jDV^hmYO OME7'2nW. Tz /dHTN~tiѺ8b! oN:#OG +ƪ{i?nCo {ѵC:P ` Ku=dUsK {&CyBNl~Xodm+Gl{ PM WĻUܭA QP{0!^lJoKŢ(m$E D T+ 3V U/U8"]!<]71,%B'}C!F_HwUy6lq ,k(ܐ@5 Cקq-BQlPcX1c ;NB.^ˁĜ97)s^zAphٯl2wP BQDEpD d2x60bf1 ^eE\Lr.\-) QVOp^t84E(\Zb7є%ړi9%"hDןY10]$R Ÿ=}vK;ܻKMz-YҶGai ,\ +p` 0ByrN Ѯ `'"ss}'@`W#-fch5f`"PS?A98/|XSXD'O1L2ƛP+C !/ d z•h[\})>=tN)/1Q(} ͻ"iw1~d$6kM'P0/"E Qq-2 iFוn2Wh⼤`bv[ϖ40•N qcӑ 3STf'A |{dE,O &/HԞdж#FuȖsEuKmsTh>DVZ^t[YBoHȜȦ-O@ڶ kvبD5gKCo  s;e\u0^1D _bȞUq\Wz0vexdCb姳"MRE ^2y HUdV#{V&a%hJOB|^᧝%iqA.])BWIC#dq]]a="nuc$VFMfuZ3ᗊgB;`Ր7тb0l#^T'݉La1,.{){[R>Sn6&gNMT1\tMbOwC?R0?3Ftc`~B:awA6qMCJY2l95 4Ǔkԫ Ow(BH|}GkY(hUMv-.c3Sܱ|`;nˊN[~lpEto[^efKjsa]ORFpjb|u˷QM?5ax 雜U +i':|  ~E$"DJ`V<*B/\߄.bc%x{sk9.FZoV̑-u2&ZND~X#9̱Wimd$K'ud)Qr#CfѨʪWZK6yV[HWVQ=H6>m>A{y(1كvu)` 8otvDyI ?*?am*AW LE!!=J5+AwC2=zrGZaBo2vtm-,͆ #D 5Cf/ςk`LQ2X?`9x`?9c Dy%Z/²G\cx)hm`?y*m1nQ}8[6v:ڥ\q4I5O ;?|2Ө='^|DM}0D 0zCݳ5cIj&nP W/% +'7r>m迦KnӺIy 0hhYIѻf00vH}~>|Mt +(BRlaZTd` ƝjH(x%׼tAXhusx&܍ i#T%̰>QxOխ(]qƫ_3`mK+qŽSHKbBJbfXY*5He350wM:鞾1Ȥ|nR0aG@" 0qߛ o *kniMbqj/@^\K wuj҃Cʫ1CmcE.L4%}ꯏէ难6DOMŨG,T;>SVZkI)NJuu~| М74~Z/2Xި,]D|\H@*Z!6{S=(=f3lX: -Rן8ȕ%uWp$s!Kj  '3V.#9*\{IIY)?K#a& T'm(Ĕ'=!+pteoft~xd:U=ry2ۂ;$V<1`{NG˰ DɇtYQ+IySL -W{D@?fMt &X4dhKTbn""ڰ$KѓFpŸpVczV{Q|XI3 XkbQ-xϼsUEŐzT0)||{JSAwOx^Z5[8i-pF|r\Ax)G1m#W?(tUW݊2:˟5I\+uK tTEA8NC-9? yZBb5ܯ1P-,b~cLButUU7Դ44u֥0C\Q[}&5 J"*[+T3u327}Of8J^; .Pp8U9nm;Yɖ4k(.PX97UI=yZjg0Xw臺ЉFPo:0u)^ؽ},UxCM%I Á 89~?Wy PWw zJ~V@/r`jj8A{7OW= II@ aqvKh51\b;Lwzn?qKGoIEx1&-Y? Qt̿x6)ϯW}*0 @Fƞ֔yWw[ WeǴH^2g~KP-'KmXQt-流WcًleatZŨ]MIs[-04_w!X+tC,b$C+ڷ;Ϻ몡F3ɕRckYU5^we.ECt[޳7 SB9F\J\\/žiVW;6 ;Rm;-6 )"|(Τ[JՅFrs$ֻqU} mw W NƦyK%h ⽍c̺Ɇeov]={|jk@sS8BŃ&a(b (#,6R#a9\˿ݥYq[^Ƒ4ƒLش.787й7ռ<X9#s 1gIJ<$ܱmgahdsxӹyRW)eSR8KckuуL:b\Y=2Iؗd3hWCwKC5u-@=EGE,ﯳ{X*W-uK8>ΰӃګÃS]u_܀Cw2WX'ϡ]qKb;t?v,DlѷuvY$վ Fkl~b:X⪚h Vpx[yN@<ܷx=Zt2[B3=="!@;%#LFxr ? Vk+!?wA)c+X)$6K=we Jf+{'৛~5B = sgoa3>ՔEÄx@';-Ð{mR1쇱R`m/~W1h2N&[toAi!ZSZK|e9 xrc{_=8VđJwk? ^nt8`T$,} kl}Y &ﵣ)%7U{l7!:;(- q9i<~6mLn/He漊0˔*{6/^.X6ZXeCP !Y畻:n\4(zMZ[ y[EaCtpL͎EE f5hQhKM0r%E?(Ӣ7BMRayzFs e;z|ZP[uuq*S6QZCDߐ^OPBw{qMjs *\A2+n,moM1.r5 7 <}.%>l:]Ix Aob$pDRLV\HBtCKzKUӤ4Imجk$P&M#EU{.g~(T rUcm w;%Z' "Pu+e\rA &Ylr 6f CbGɼIF6Tpl<>s.,tړ*lץNhV -+嫕D=;X4^^H?q8HL ?wM Z3{#B Jg14~]E Ic1?hXcA, bO!~wVRztZPRKz_c8c)jJ+5ׄK 60hDSC޽J_8"y&aSܯTւa8<(Aky&ХlT1Yoo~c-+ PH [!ɋf{H)a\|,]\G$ס݃[V.8)D8g匱͊ DtL:h0g{—~91">!J>6#!uRo!ä;/U$HhwZړD1S3o;>`h0͗RK[O^ޠ {زCTMGF ><]sgq|8w1ѭSz̍SbƋYF @PUl0ǓY h-z_((w(!#Ps &7 ー\>D2嬔X No?LMߢ]0ǭ7E{5xẞy&]E ٺ`Ոc -ޤ0&i͵?Hq~PSdqF 4}!,gac!|`pCQ?_#Z_C S7gSưvJnoq>)t4 \8UnԷɿuy< NLJ@w! e%鶎.3BЌ o<Z9,Q* dOV(Jj 7$?VqY#L;V!+Qe:}#TWΓ X&wm3YsJ~1ҿ5@4Ćv QPOMol0>tj靴M\lk& bqJ `OEpyXex<.60>~8_i~k/CW)>"u;Ӑ̃m׿11OKfHKA.u)qrİmE1C"̔0ܡ~ZSy:(ǿCdDjEAb,*0H(!PO'!ݯI=7h9j*|!hVГLbc*\3v=hX ͥb?ezٵg0&A\Mo4!tJqoIrB[9!m%ўV_1*Ub#5E"Ɉhچ%<&2]}'h{Clsp/qWzv{z+:r,xhꞸ?- `:w3T,QY1 -B:EHk >G Ⲁw/4GW>r)ž[e[Ă}T6Oٚ(1.LɓN hT@QƲ`d>M4i+C?a]%d/N+ryB*#R "!f:Z@S+GFaAF\L`C<9+]!xQנQD~cAC~jNifo9joٗn@Mg!.XPMIfU߯[,HiH8:YjqVa $v"ٙI&);z|gS,%Q(V$h< : UR(녯2A&sSmg:M?kD!}ĥxV7._%7l@[yDa=3 `3Z0gAߺx{q"J^R.8 ,5†ʀ#'!8 q="9ԯ08|%$w0h= Q< 1 W¥5^7CJ#dSpTU/!&&21NVH6mQe 2Ȉũ5Y@# 9tY>ppͩ+ ӥP&TqyvN$ŏ5S ӡ5b쭰S2@ zXCcߝbd(sl;W40J 8"U;7.LCE3H'_ܐ&yb%璫wO{Je9EFl^LU:oF&hq2y|}H 5?g0n$%, (/|ZoE=Q6؍E\#;ԈDR:{iVŰɉd'i\u,yÖh, ϕD(8$ > ffBTckFG4Α*m?5ۈܖ2qDd9פл_%OL;B2{Yr@4bA'>y*Q94Q׼Ą#IEU[l&ٳf'J#Fwx-71g? 9vtVBOm:UsOqMFe]IA-A;xG׷rֱEl"hoRv~oruqҟ2R9JΊ!K(I$= #CUGb~8R6RS2FG!y ܄^?EXzJIdWܶ~;O-@plz]Fogy^ 6"-c0jΟ?RH݅zW;݇aFA-H_rƓQt-8Ww dMAyI56on28Xj13W&œӛkv5e;)opc,VܔeY А7=.zCXRĀaR9.i?vtlkh-Djb2zD狟mbrP}V ga_ëK3kR $MCɝLf(HH>^QicLK_iU7 v31l+gˤf]](v,nB7!b | |{Y\/B XaS~v~3y]szibUMy\ExߗLf$9yi?KNݛ} K~QRrNq].ǥEf-ƿ fcஊ̮_mżBuKk9 7dm;Wd1 Ns+B!Q[Q y3iޝÅG'5ð Oh'kd6yPk:WNC@aa1l+;nFL8ݿF ̀zmЩ,p9wi^"[g#$)12ihB!\WF~Vzq7a~[*5'4"W;{pcux4ppׄh~7aWQ Aw%|8prǭ̇UQ)LmA&G3-,0Os0Qi{`/l" $X9WS RBu#΁Jv# C @@P/5AyqO$-z|2ɐms0"x}+d0KKsFH, ozH)_ ьDLCvw;(5KI*ﰲ4If2@_x3!~/^t:ɨ~XwvG)bf_ f'aL8F"T'; 廥߿1? Z C*2 \pam/$h hc%?gc$ ] D@g\|Ӳ@W}Aݚ؎+h0RNO\ [ӡt +hC5~G-+k1&zFCI2[,,Z8C0IiȨz+ElZox޸_ptB B[ps$M{EcF==Қ&#+,|cREJ>RExQ  .f5vΫR ei O iQZm>dpdftn5Z`%7BɃ1QާH*{Mtbg,W]AKN17T㵏_r%veQ^_5bU>I.ÒŨbQ,t?Q|6kȥ ,lJSHAs,A.pZe%-ć*IjTP)i7AŠ/{>S /L=xLʊ(1=S !ڳN7fZ=E)6ZϕD!\yPzз ګse]J;2)nJK„ۮwH@pbޖe%mQ.'7#CUmN c3ZT8@%%cEM ' x V;7-VF@*JУ6S}aNygվ$fW 8ejGa1=h3]}૱պ۩#ɇKdܥ;$pp +ttپN0gm3Q"$fP- F g8L@[m]t]h6`4E`AeKQ Τy/6BᚺK7hJ+~Kڊ?-ڜ ~lPrL})F65kF^/?@SU>sVܨJa34Ob@NWL%8&6c|Ttd ȽdewrS"% ukO?]FMS@I K갮&`{>m ߂NSƥj^R[ʇf+us4YGIjN؞v%XoXc?*SY嗍wi6?uAo%2-6:Y3SZP\J"`ZxN/@3Q9ջ弿>Bm6GUǯvA@\;"8ol)v|\*mBȡ{ |TcRO7Qӫ5m*6k4#J烺2cUOZ6>Oh\C3@ 1`x`s[ A"iSAnlp'Pt bsupC77f09fտLv2jgnÓ?n9egf_/u+`zmNsx$$6[,>/Үil?1>/Xi*𝼚º7{@;L^V5nV;ȫ 1xaU@q* cHꌿ#NI}d}ϙ>_jtU;fT, \|2^Y|e^qߠa?Y4eIOgsXX9,J d_q \F'{5J[=޽{ %%q cTM5X vViIJ!-n`qA($Mbן|,U/e|cpy|á]Yȑ -K Gޤ 䉫/\UO(y] #}h4ew DdzX"c̮rV▰2!W> 3N0$SfEµ8֝ơЁV~R2vyC692E:4Y݀p#?pTE2?*;=uQŔu~iãJIEM]w%*_ ԩW?yNS AWKj8wpr YGl8sSd-F\buHY SFAB!4QնeFRVSUӾgLncFiqGvޥXݳ:GJZŽD:V ,d'e3˨%0 .v Wz2@jǻIyEV&%HKxGp W2t8BQsgtGT);afځKbLB5.6r9}SjraZ_ɥO$ufle|ϳj^Y׷%x]΍pT'6Ħ<C5lCT&9/.bO+6)t-<搼)g,E8!ptC*'` _r Ӝw[ 't$6+,P7HXꥳP*ksKoכטD&ثE/-OIK}(Vch#ʟ$;@OSèjqi<Ճ 4+QJ&wVSh}93pǞٴC&iFhP!Izs} [Ϲ4'$%jƏGe6bfF|EYmfS$qVZ5цR7˷?d0E8w*Gˉim>+U*° p+%Ky,SK>0!^=h0s ϜT0!5hGq#͢%5qnFv)Rd uӗ! cc'uYK11*bxMKdR.rn5:۷V1Λ2-Hz/\$9_ -L5ɉ ؤ}<[vǪw[0SoNj`- `j |r2NPcs VTGt˓B 4qΔL26"nC0ߑzm}ICGITR}(ݖcԅS JUvإpqgZIJڋlfeblc8T)?2yw;^CJ~/ 0`si?Б?hۧmL+ú~G-* 75kq:M "UI0^^ T4$'&ܨ6 :ف{5;p`t?/~]q?)M+ ǯ9ASaZ=n$zg_kFpwjce9jţh Ss^@ɣsJ쏿Dyv <:A"UTO/` h.^MR0 6QW )HIC Ӝ f~IGvY@Iߩ_w2Wt?)6nJn~>J& #4RҔ2z뗉ݺ0AS !F4߁2B8NGDYX o{3Hxwވy>7K92kukgcq!1(Mr#hgTO- ʏnIJ);8CJS WuNg]GlMqր2{D]:F0fEg]PGYW+`^Dڇ*یm۩QU^m@nǟraIԻmogāgNZ+w5?!rIw@|qPhSw!01l  FYOf_9Ȓy_,\z=,ZSDZbۨR @a"d 6x;tP(58QQ,k<:JCѥ̬Fsqî[]zm!ݲ-E녙;52@2 ٚ끆x>]IK6.:cQsZ; )D^Xɋ~!br-3?Vh"%Bt^lw7whj|c+FVP'ue9'7H Ehb͙xi|\lG*›Qc276(VcZ 3DlgqӼ6Ɣt6e<:m,f_‹m?iFu &):}BG0cl)s5*kr!YX e .WM0_csn* eY$WC›oW%Fd XSS'Ɏ|#VN`a 殬IkD C-1ˢmn-! ]ł:8 SZ%LB#΍ДgB?󨮚č)wޣ(iWfG)wMK/ 13] [q7g@k隹#7` sC7 0,4e,z+e'T%컎B|H5(U_D;:E4m%\[ⲄuO|ȵ 96EOy`¸uU#d0EsG;1f5e_*84`C`y9ڡg2v`˨`aߗÒpPXI@MIh2([nsMcn]^̱R]F%]l$Pw4 ^ 잷U3F_2`MN''-Sg/ OMo@:|ʴk1fjF \`GŊVk?_4Ȃ2}Z^D/Y26}fu Cv .@z G{-2&G;3JTⓠ$-ۛtH>OKd59…B+;7u:qV]ԓ 7Jɦӟ$ FFxM(6M͠MX0R,U|-Q3~+_%ʞag(,5@9N& M>Bk R.f;ƔmAG >zn|!;DZz>--sBKr%9jd\BOVX}ۭ>UV`09>).#>S=A񞲛[RD6%}Yn4!m@ɋ)^کrAb%.݁qryD;fԴѪ FCzs ,$ _;D&^~M dy|' `זT v70!lxAu:8J4=*& Zyofnrwxu^gbPGv`,3"><-2z=7]n3I$<'I|{ʼnhӾՔ}ļy|⪟u2/9%2drc3B_%@f)'{aeeP2sUzD!t$tkxʀj˕VvBQ0wd!a J3tjO>A2~Ǹ d|qw\abͫ7n8cğIV{*}:#N̓.BAE{3Ly5K*bUѾtQ@m8>{[5L5Ĭd1k ! c#{°2pQ\ ?"uQ_#J\Gl2Yf.\zm~qTf?#.4}Єr…tHH&uVZGŰxɄ D}UfNhq/ 뗣FLk I$PL@$63 iIQ7GkU}5+j-Dm(y9T~: _u/1xWL_{ـ\돂 >7Ao킽c)ŷ֫[,8KS:zX'`Fw鴺_S\eG:~)_(/ ·/x\KyJ z٪Qг)9P$ɘH?`N:/$C`g o*Ċ.kť q-^_s9ʶ Bl6R 3zP{K &[yh I6iFOF[Sf0(a@1tSprׁ5v꿦?AD·x:P8Ny\} ]%lsGP (Ev(gs5ŵ7<2/jpck\(QCGzO،)%˞ dD>[\դf=&B{\Z*6E<~@$C1Դ1|iQ.i`g 9t9SZZo.|7[" x͔Ed$\k[xLÙR ʂ1 Tn~(Te gO"a@ZS0ɸ7咄i!٧]8u8 ѭ㩻kP{WBag. vtS~O`y~<6@MlŔ?&w)ݥzfx׸l-$i9탌D[6x a%Y?dХj^J,/mlE!f.\BL)?r+(pүY&dKSO5] Œ1/ήrImHm^גi(&PgR[\y t#| Cײԡeod,nd7H,#t<ć܋첍;$E-׬éZønݑt!$[7^U/)WS˦Kg2ǎ2(ױ׈]cd~/JLهo erj^eU0b)0QT9LLDд fףהP5 ~;2?ʦ26icL ]+Qmc,xGX/DXCa4TG/ &=u܊iu`>Gc,Jח%&-5? ]fz6F!iThvlFkZݕ>&G rJG^36.겲h/HڝŽVĝD3bUw&=#h]4Mc,Tcn~_6TSg'sf.T j%U>=V{Y49g2wIgT{ &Q,%`0|,GssI +/"+*?kLWv(!uYe]>>w˚ξMOqlw6t쇤v[iܓ*ݕ9_>h1n&nD49Uڷ;d"setnȎqUIYhftqRQ;>uSc}|_YGowq VM#SH=Sy3{p;e8Ak) grD2Ҡf,wt s[),l2YKF~HSt_+ 9:5!2\t ҇s|އ),Ȍ=l  i.LxdG$P)*Gvpe>urR 3?4㽎~Lmd|=斿Jsy\}bżref Ƚߺ[ޥ0E L%:>|Vbe9cW QxPM1E>Nk 9)QU bۧ~co\Y `Τx*([C@.s| /yOa%l텬?.(mVtm/^hQOʶZ]dGnKRRPH,< U^[(Dti&6$e$Dj y *PoBIٿ*qbYO\AwS?qbV^i,ޠҿ^f7G FӤ!kjw7$A"Z 5&LȡrB茫`AЬ)/}RFIiPz2wE đnOg~v6!:%6Hm@?yserFep;pofrEvQJ*ZHU9iVts̏N 8QDzM6To!y5*UY_wE]f|\< ~G bV?MjC160ⵓߋ 5]JON Jđv=-Lq1zR_JdcϓfL~"Ũ9 TДV-e87}tw6)o󴵢S SV[!qmE̜>>prqݞa4`,uPY |WSN0tZ{HtП$Z0}J.a&xeQ 9{QN=|D Ѣgc~WaȻRia_-݄!_c5 _Db`, ! BHL;{ fpם];L7wsX^5h,xEuKDIveQk}~/8[붓Bc:T^&%Ay3. ĘpLϳůfkJ %qX<1 @RRɊߠ ahmݼLdmK&*Hf9#!G2b`k:@ҮH`meh{/y!N@S0Ƙ=wˈ#j$^u(H#|u&S? Ub&:AHn|o?>vOx_׫VW4>5Ҩ8Ml?Tǿok3įHW8=Adh!mYtFDvg,lj@7ЬPupDO88Mx⫷@xIۛ ?)cHrZ#WF|?ƅrQV#[ Oh;Ya`:tM baEt{P=Nq&Z GRoޒâxSiG[fPaD፰,VRשCN]7knQ_Dӱvty'#oX)4qsw@GjG%zw[HjHjM`ǖ l:Zr#2kE4փH^{E 6{6Q:b6R?^yJ1yޕl w #R~pҍZ߇@?Qb]d[*2F"SϺk4^dÑIV,*-i>0oc=T*$GԆNZ"(<'":OdݻYo<哴.zx0[gGl=Q8(}:qW#d}_hb{>5~{* ;spy821sl/8Ȟ䷋4NS=wy?50BxH-FIO%SbIºF|n X-|@7^W]ۜ*q;Χo^_k E܋2ԯl|Ed\?d#q"IQKW+/~k?.1Trv.(/[#j2̮ XG96zn LQSDh8^ixÇtvNjN+S)l^Wa,\.7}I CZ|5Í)ٙM3;[aĩ$=49Jh]X9\3;:sw/aPK?}%6z裋qzͰtʇͭ68+Vn[{3ʰ"I>_bPf 3At,Lb)hȐS&1_Ջ:{a+//哲AY)3YYoա! 'g%#K^U f0<-jCy.>6dRЇ M rb/x-jȊ=bEH8:zdž`0.:t|#ޣ ar6׼pE͠b7PL“P$8 ]ՅyVğetWp䃼WCHD~?V3QAo' p_w MߠV{$mLڡOM쫋ц}{| ,׎aFms ȋ3B%a8cI&-} ihI_0O8ڝ"rl"0Ӿka[*O 'n`H$bk֎ĀBT@Ke{HGBmN QcvC HUpڰa_%s$CǓQ.ZEL;/p~g*?qvwI/`s28ZJ?vewtCT,""㱧*eѼYog%^b؊?./ lsJ9V@;بp|Ex:|)j;ϫXxF6K; 9m3%EPIPNL y0t97v(CR}n+c[.HeX ZMؚ -· &TYlA:LG,w5$DX g[lqCuL~drTG{~qOگ `XҝN ]hfZ7ף$BtoP6ycݚ>j 6Ci^ Ds̈́8n,?lꎕ(~=*ķ<$&0 LDv|Ά߲X, v9䪏)xU̶OVa_%uǘq'"5lʐӋ"}NhtRG5lW`e =!珐)lԲ%STAf eHMJ>Wnp|Y;co 6+O mXz qB$bS\6rU !*.St5ABOo`k ׳y<=NOOD Fu'-jyvKñYgm7,SV`}xq p͐i^ ^ǣrkӘ1(jW`) {-r-˸9u,ɀ/Wbχas-lv;x0d/iNx{AlI|+=F!). љ%+aq"f~U4Bz_:>ig ڼA+8? d瓽 y8,q?р&v9PliXv%b]`f @ax2N(QO)(a/#U+mYp:fGIsY&{,[ӿ}$)1 8W&j8DZVSS-Lfy'#k {ڪ^&XW*0JprdڛMIU8rT^/3yrT6sk@4&v(RuF]Yԧ~MKt֪g35K\#׷D6eJP2cQa@%p4=]dȽLjvk"/&Ri~β獜BWB)&s(zE9jᶎ |؛Pl~.-ke=^y:mBxG9V]D 05d3s'oQJ'侞02qO,|.ݵ6yx-Kȼ LIա2AG0TZe< xiWpn|!T->!P2jbbA96"J?%'ӎh6ŅuZԲ}* ^x*3.0swq\/!0;Y LMG7>8bNuR6PB7\/NR&/ݻqte Bg `e|OYe) ^אRoQyWʀ\mA1FI!"aβhKpTtXQ\ջi =@WN[)rX#<jfӿF@ Hf۳Gmq{*aa,J|cr>b4m1jJUtyg1-}DKU8DTq/ 㜫yӵBˋ 2^&|dZmTEf&v֭^w ԭ3Њ헋5x~UPrl'A3LS*j>|}|&XoyvLܐKeG3DzLpIT#[J2?.N_MTX+UQT?!2Wofh9t쥜%=*5;0$0?pyXF/#XpǢtu">% e)r~tK]_߻?qW-ցer$z? K,ؔsJa][bK{ <[27vpنoyף |=n6"Zw Ve.UuxN <=e D-EхĞ$Xߟiy,8-L"T!w x`#@ىkT6W*Q[LZ ]uѠc EzOSa_6f>Kޢ# ю:~ȹRI^)fh6ʾU C!`yR"'}Alx-\e+`GγNŇ9^]wESna!LI㶔HpWgx˵w0iε =fj?{míLN$Lz%jK8g[*E $}?C'%A> FwD3dvprdz,f/w%OI$ѿeE ?zB\xQߎ`G/ڼ:ʆ+_fK_QZ/TYطBeyy'aU؇L^6;mз5:piteJ_M/-'*^V"xB |Y%GT/=Jۃ\Ťc͋q,CzS,{c9Sj(HLGa|l%T ,ݰ$#8['X>{! O7ƲRKILUYAXd2C|d%#e[ IKzSUVb6R0UM h͐wъ`*/m0gSzP"v]>wEQq+3FN٣ߗv1e^aIHkv =PЎ9b+=Wsf(Pe!FWz~)}DlCQ%U¹vDڊ)0񇇆 +.w{*|Aj_W/c]ƨ3Xi)$;B1w傁BOIE~2Tǁޭ3DH0dLPb31ȹ%dvtk00eL-)\S2 `%t3jwa&b<_q$Pr$]Q1U{J] 8U}<<3Sa}8em8 9* 4r"嶸B/VY1I]BmP4]9ũZN&j8pHPԴQ G,-~S @w.G'M#E?0!'fi97f^drsqBc&ڊ@nIFNMShH< E&f>ugx0 {OQ#HDsoumM9-maܱzL&La7o"$>?q ˓PƦOhv i_輠 Ȯ?ӡq`^X~p3*|JK:Gm?;qq D2 n }EٔpVt?_2 X'SоɕϫZ1r>2iNgFv{:^@gumw4@̪GsA.2ʒ1Ng3;WNy۾dž0C *LNνQ5P+9 .^M̨Sb9 /=ZPg <$3m zqXX^#od(ҥ6}Yx{nk/# "KNb'\|hbۮ>PboS|hLy\嶚XBZX€ #WwR1\1wkgnsM kKwM%0&Fœv~̊5? pD`A2p|VN3I[&75|!>\^sn5tB{l!I6ijDrE%'@g{k_i n:Fv_~H%b??<'{Drց΋=L.6kX*iW~mXL*SWDK`.eeF Xף7(TLcSۀvYzP0Kmp7U|o#5)~+AVooU>sxD!Ǥ֋RgZSEA:eG7=a#Yfh>898x0[ݵEiUXei"DMӉUvՁx*?x> S/$8_:7+|09uogY }e]zb9w(^_ryt'zGWPzGQtm2ؠLvթ[9G\]  .ߒ *qVmv]v+H`еn1|Taꢩ 8}u$6LGz5N[oqZחbh݁ߜ%QO\,礔l1gkbtB8g =4}9y?g4bnrƙR4b~'!⇱a?q!$6)UG_6ݏ 6#'=4/%@51K}:U~FXwS8h8sLHF`';I= S+Z}VܵLVm؀ZB W6H꼉I(z1L@*J<̊VX*;{յtfTkSiU̯Ё*:,SyͿN~zMj*PH'#CvW_GRG:&/9?жKTYU/H,἗uWT&JJ`VS$J4X~<ՔT.?-6Wv7{?d>ͶHM@%wk xj2ҿ.)nnj"@I{oK;5榆Z'!o[;$r|"|/N#mWUXCDgO]<,`th{c* azOQ I9kF[˜V~~ kO9H7Ŀ:=ZET%"& w,F!׮B6 o25OBʔ[[t 6M%&;$t5ʀ49 ;(fbrK=0#)\?zjq9HpYvY?kz',jQtKm/Ư:4u$3,wqѢ)cmޣ7[ -*}ZȏsMr< (Xr{y駆b@˽ِ(~uoP6\>LޞvIo5LmԐ)&/E"$e#$qg*QʰH{-nL% ) C ŗx ܥ] IEi"E W_<GB^<6TΏZK;7RfH}!;qVh&3!JH6;?Ŗ#IDi*=Znek+.A,Aw,fG 42c3 sSkj݌H5яHF/H(gIARƹUi3LePy@1;VWlZM7]?$"|1{(]x+: $ WcHK$neLt椿opw=ߝ$'_R/kypXM)cMTmH.:TXf8$O9'qIbRIY0$4SOA-c$t/G"`z +>OfF߅_!/P2~Z5*}_XcL$_ ![Ln Hwٍ=Z?-}8NSZȻʶ6j21^6)ZLv^J&UM.AuCEEj?;?N˟B+am$;c?W?{l6$d#ðte8GIف%•lIS1R+ uR!1mpxՎ|B֠!?(N[rs )|ArnP!1I;HUݺeDr!L G̝>WHyNs݅HgM߉{,y`0=3j6s^7c =mWo⑘.?֣N=4e5̾F|vT:;x@&1/atƂgh" 4զ3˥IsX. 䆣o3W$k>jYM]TPD*j08H5n#UvbՎypםFLQY>c JZWEI 4ԹvofG HM֒vp1bPc} K?!`PLFȿ~1|AEbn/V  JXyAAa$Rf_1 Fo*i"jY^̴p4Š3Z9{!xGB K\.6nˀ-(.8v{ncK‡q8ػJW.K 0g;ul@)\}6}cݩi{ӆ>j* iHé] 50Wi֣tE eeuc{nt4K/(fNx*qt:iÝ4hZR )LHoj0M6f8 \`>i2]xsЪFPhY-x:-=V ?D".'D>>WP [@j\XJP`E^F#srUC{jʨ愪Ur& '1Z wC2'ثˤǾ@5"d^ȑIO†2Yj}t[ݦmKSӼ{img M1*~2叟dpډ;VW"R)qqV/C ɯYhIתhjG Ϗ#TH\-7G͘@W3vN<+(% ꕓ[ފ}Z_R@տ>,0ĖUSN'j#g[u t=}] 3nUr<\'b0qc^Q.|-|8/lk}9Lg8p6,Y>xŬjh]bd!? ٩av%^kHƖm6 VE> [AR #6Wm$nQXrl.+Tѷg|gfvi[qAyQ3 X by*N%-Ju;GG 0K8$}By&'N')IU񦼾ခ..܉W7.N"  m.ˣ ͛„??ʝW(ӑ̨$RO@(l/uK}#fQl/ޓQZ=!'OMkEQHE[O`y CQ>6 :NI\փ@@oLydD*Gr7ٙSGz#n4dw uPLJ6ncGR/~֑.V%NOy-;4Qnh:+6av+$8m0xy085x;PnU F{vfCO^αkpm\j |({ŮbA"=t,6ͬуuy(b:5nS Hyvq{љK皳BdNzJKӋ޹܂| T Zn+]*.JJpRA aj6ӗ"Rdt@o;fOBI%8 f#⻻V Gz{U3۶JqC.ہ52j՛aG wlh& )Vx!vAuFaH2?6 c3o D6U%(VP))[Z79SѽEk108=-.垚1P9:՜h]S26ZbѾ#JWtYAJӹ)4$;j i:X=aF7jܚ6xb^>H؂ +9_d4a14 c׃ UMYB FÈW\5\BN.JKLZD1o9J,\a̷Y<;X*r%Ś vA~]JQ, ǮRV愦y# JbogTJptCKT,.q8sQH ￰L/4|V3P|9a˄xbJdhgۓre4ݬ,c=Ecp7q[īZU?$v_5!"agDĝMgA E\M\C({fk=AkBQa':z v>Er$2$TUQzAQP0k[Ь[M:,R !)n:enYu"}z}❫أ¨SwS|fū*mKA7R8vz2@[V}-K& }=96@OZG&O] µ"8ش:mB?}WFuE2|F\8jzءXmMjzU[EjEB@SnY&wK(1-^1zD(͹n7%k', +v)%+@k+OS|=x›)RQp)]7P e 8_\#eHzogf)nIusX4 N##P{qr0LGؕZI\/2vA̲DQd=0R5bfep@Vv'(3?lM4?&yA'Jd`i|g ʅwvDv YI܋z(*w;ld+9_RGrjd*ՄдNXhQ7D'}$!џ{QYE=B/@4(7LO'=\vPιmd^w-0ê_p8.7+ױ%b8 G?_`Y[=Ԅem- ri=PgKW Jw6X[q,E IiiY":QR.=>o!ٸk4hQɠr\փ|'HMA[k>_͸x>3_*كƿ1V(|goy9l^ܐ$b}=#G+< g@5C{K\O AvS%]F> I"冣ͫ3;ƌyBD&wH-<5W@ܧa g+1LcSG To. g|Aΰ^!ۛr]sMŹ(Q@c n Л `UU+ցiM#C>{PpN!Wv!lH{&ʑM+@`-wRؕ 'gC7yB|FXXS\3d:Ro9;w?@>[Z,ࣱf^򜂝;H\4,nc>W肢:X LpЂ#%_E[ !SS)QF)_F~N{}̩*k<A~lrys5 ;?]/EvfwɅorCS/M- 3q uXV#en‚bɭAUqLHϪ^}Is4 03eWt0tY3iM*t/.+߱5iwan{D~,>F'D+PKUrߗ^6MpKzW~zDqVzBރ VZSmDLIjn/?0-bI}C͞OJUHDkM w O|Dzuw$!&p3̕EYUV,KwPD :ůIY]'^@f&?ABhtUET~\QZf\yU 󕩸]@|{OO$9]JeT{ErIFR k 2<PpL@z.~HmJ,`#:=3m#cղQOF$f"DLY*lG>]vha2QU\|n,'(܇p0!>WSݖ8YÎO8}6'}A98})و6j~ pAJ7.yS3M}i"?JWKX\ב{\-uouݟQw eSN^k{ fl jgQH@w~&1dU6?-ؑB@n` +dO%G c-C?/Ɇ,ǫi\UlƇ= y] 2uR}Z[w&/r[/8>4Ȇ2: M| uo wCx5ƐnYolitxQde7&R-/a:9`"f$dAR&dG]Rpԗ+Zbyv\C1" K pJPC<@·5B#Vۡ/0R*aJ!V:R:lҊ'Ma?v@I"QI0jd6g$bv.FO(x.FތrUKn3)exWai6K1F='=is{CvC?SI!M t+㘮GWLMp7B+.,JҫCCEzfY [] 1AXMqxO]C=ko>y>^N|EP!J|ATQyN’]jtX V/8))y@ NV^fP{{/@aTeuCiڔ$jt"pk|t[m籷ŒMk쮞{ntT:cpRǞ\c_Ckn"EZ/CzjCD_r̗Z23i4 Qؼ++(=-+R&CMXnًҹݑ"`alqW*"{BR)J boa7wƒ/&P+>OOJtf'%a3h{_t /Ā)%oy0<̷Cbc5ѸJHW /*/wf7N"NjŜ@DB=P.KXZ2-~н ;#k 2fx>?W }V'C7)chd́$uy(_!J/r?"#X۹-wA6{ t2@QzA"1qXS 43/+*A+/N9Y+SlM(txW^a@nԑ$9W"5h$Kh>YD"-xj&ppѝhAnP=_]E*JS?5L++^w?J/`OI6=k$1(`]6)/2_И P߶|Ύ~7Xm<5zO&*Y6:!9Q,Ž>O2 "+[4z2jR7݈P>\-2i@5 ??Wv#ۮFӄ5MfCa^FAx;Δ7c\Y#^;HZu, %P0|B̽18<_/ O']uQ$X j3;o~;j4|rϙP s~9MM[_&*: i H倰&R7I\66`cO{s#uMauq$[ !5T-S4|[E<8a}|!:z&(TcdBx ewFr<2"8ûuɿc&}i+i?ǭnCKrZ%C7XU(@ʅx!zIsu}<}JRj> Z/_5;H^1Xӱ1 C`2ײ\޺;iJ9TB0bCq/jpv/D:;E`@?&mVV", MMX51IKJ2 !p}_&; &a2$?-?Z&pаc^ζ~6G>gICIISD"89Fth e%|j(d-u˖mGC>>lx!f[<: 9n[dXV:y=@t5sn#vEkG.J_ejЮY_ A`U4$FN}*:ZEXJ{OqvٍYi/41^គ̣[Rj}~):IΉAUi{?cDTa;G'])+t,MJ[ceRY)D$D*o.oxo\MH PF2@gy;@[~~>z>/wU_?pOKɝQmWYVur~i;~S'BxmG <=5$?@pw,kh%lI|4ʝ4ޏ\/5-p *]J" oo*c 1V85T?Xh2SFXzJu;B[nFoe:LA{7:K'H΅^ڽ FC m1_\NN郋8[W4 *V>N9J FzP 2Uuf] )"&mOyIww0+L-rㄢ 5Lv͢=9y`^VY1 W.&ZW$^#U[zjc8BS{ si4ֻƶkUU Տ1g $`3H._\K\gF89=܂Ah$*`"N%'"xR@x{^{R'yLDjY 58#a}?j7hF;:ʷ\3i[rA>]8L>ï_Fz  t5C}ϭjsgiIV'Ѯ!Axc&hA:,Y!/70sBs4OǭcuA#@nbMJ5r#\n5}qmMSB ѩ@̸M9;S^voyW& =,  (':Y;qjsu9M;N`vX&o]h"#!L@Ls3@f?-; Kwzex_9? H׌zZ8 %ZxA=Dq ?x'u{4lDq. U) 56Cǂ'!pu0MJuQ5=LƟ£ف{ C?yr 3@IǷ!P5YѺ(;W09s>DOz@01[˔]^^6O.ͱ(5G]#asl&gʦ #1ʡbh 6.\On !W$󯍆,=| H( b|=8.#iT zs8t}[4kF|rgT>ҩϦs(b.8gvxD7>W,U~ Ç )6V##_eЂ$!Muf QFg#X,f= وYu.{,E'8cu$ְjhݐzgؑ?]a*sTe_LklO6y2k#̀"^ ZlDNjprӈhXWl0 ʃsf~@m2k'eficJG_r| VHE)fZԉTu#t =a v.Uo4Ǎd9IN_OjY Mݳ,W_<-]»&Zٱ^B3 .j5 ?ȶg !''!sZȤ⢖X9NPzIB,(UZJ{&1$5SWw7P}l 8ɺ ǗӴzs{%H}[Ɛwusgc𠮯wCw8Z!1- CxrT v`'!DuQG"QAk  3n)Cݼ~~ ~e#؄s7M#ՠf~Evs@al]^zld9[Dt]`W N;uj5&[c56z س{AncB:UMq?j3mS~P;6=j,/o#jf/,Z @bJyA}VĈɜh|BOL dWTpJ}$X @_HT"ecl?*l+Yp nm$G312b^ )phbe6vȊ̴3AR+,!\$#:};~14$<vmȤ*Gp`WJ!Fm-xȲwG{` ,̦uPLM\ 0A{4FCAja6 ṌXb׸u>Ǎ Q QM-~AY(kjf cnUGˢY;E| 2~e0a 7 _?]TGpg-N;CNptsOC.OHKBTuS}#}n!b֜N0IE\h\zT>aOE*30aKO͈96w /z91ɋnolƂE*&M0pQмë*$q D#>Nk-\l;XS$?Rh4Zi#v$ĸ~]MDKT| 6E$XNhloX[1p4_s<x*wվBݦ 1? [2pSr>5Ia+䫇^q 4.ތvEL8j8OcVrnz4ncfL藮3ѹnTڪl"ݯr>S% N}{^x4Dޜ5)©os˚mJ[EKtg(U+Mpfەdꖩk7_$1vDqY<a<";B?QH,N4וr |kGBW%:ZeKø sOk+\Q=9%Kdr%I Pjz@6 ҋ&w~6h8\itӀW+!+,wv L"jk\Pv}lxtyZ;@}95l ff,K&+gᦳPw:>؜1:WMvgƽP R%ùb#5wBh(ߚ|M(UbޫNUw1@F`qyz}p=s'o~Nfh`a/n m#tj_[Z{ϟ= 0n,%`:l+ G[@Po / (G9u"]615alF`DWOyyUy6Vj|uJ)a#NmI/< S_I'Q"饗`Sw]h`&Y%w+8x^=p +@ajd\{7nuCd |B!]*IK4.L0 BX?oV}28[,c۫5_>gU+6{z2`W8󃁙PN9<[`F6ۍ,/(U'0 +U_Q7U[cIl҂e}u6Vi3.ª7۞ O:W<.s@9(uSC"dCf-&S82K Fh`Қi箞m.7x0tUP*QrpJ^|DǦt2Y D!1AO2(jnqU4#^]`nRF, {h+J Y@XUIMKD=Wx4e~nSdW" 0>= FR?؎uؤʣ:r!KM)5M(t Bl8(,3UlWъzĹaDO4,@\W)k[ h'C?q$3 y{V~JtMHh΀\.F0O`SNH4*&1jس \@Q,G @,$+:" _U* Xf0[)a2F0S_o |#>6<ޯn_9u杧< M3a+Ĩ:V& C{knh.Z3hD({"a TKv))܃r`]DW(Rc/rM0hz2&(>7,}8-6 3hwfbRBl/(, @fZl۰J4eŜ]KTV*NJO.!uCo=f|ÿJ ȱ@ԒVoCh>,#OwUQ=)a|Qq`D u!3x`,$s(wd Bĥow}IݮZ68 xB:ٰ=]Z8y`(#Qȏpʉ.اcې=c5T-292 Kwѩ"9-Ә-&Cu^O Zni]I'15-'H8nq.݌ESBA4F77YMvƐax8RQ1%u:nԪZ@ҋO@B(SO/&Tx.|kPUS0vGbu:QtIA,JޓAozDnӺ_*H0f%x)N`6m|ёZHlg8f24rȬ, "{%Ua?|/avo&Z)C+a0jiJʒh5[bm-Ls{"oA0+ ~1kIւf?A!$Gf!^,no ۋ܇ e:=> c 4rvsı$ҪOY!0<->}co B8Z69LB@kUWzZ.oߜa?7;T( 3Ckl UIUm$?Q:eS9 BmdwAR`/w^Ҫ +, Lƫ YS.(?QWhoGw U01 B ~U7c5Gx-nYrmħ>g l")T6]t{6ҷ;z  (^G֌x[k?e3$ŃQcf/hFiw];q9z9p6Ϛ\h#|%W\Pps]J~"FEoB*y`sˌɆ:+/ q-m!BxPa$Vv wzءCL#؜^{S>"~<2IG`skar7OΜ*9L^"K8JZ6Uq^& yIe30;"⽌rtu$vȎ -}< C&v4t%I.zLhA- WӒyOeoxAcApupZFKЀ+P::nN(ZV V{%Ac)OW840oE:"KtT`jS⇦Txz͟$/t6'RH3&OR!LS?Wlt$Z(ɲc!h Ovs ̡xąVmt`G"b`g3Δl? C {f^@Sц!wn.>l]k9tY6,4`%_0A^X tʨih*j3O}ɫ fs;уm+x5d1$X]gٴ /:3DEVhҞZO(ΗܷŗlvJu|_UVLzyl%Rb]Š,yG^ӿr;zF]G{D8ǿ'FWR}z<&>B o ]cpX-J֛҅(17R u;J}CiB 64jLJa][ |f+F9vrFlLf 3]ug] ]y?0h(6#*r*1BPDR]p+~G} h>ЙG0@+c-yqaKRqWʃs0vt; rYnh08.u[J\4j'BTvRBO0wrzQAvE2\DTm`آ7&ۋrq"W[1i򸴏:UJHJxyiD]k'I?JfWo ։ˆ9Z-rl9n,Tm˜` HZajln]8_Q-#A)Rو! S=O9s%e'x.p(CUn5 뷝Ɍ.:X$a6k^ΖE=vq#3Y,x (@'VU*fW~\nV _H^*F sR$~- *˓^]hsex>ażv23^QLUvar2+"$OvS1T ty O?g|1,&h]}〝BzPH}W=.GoYs[ 33XBF[Kln(:8Lʇ!պҾ8MSi~ˇp/ ev:kN>ﻑ#S7^џ0@>vT3P%dԻy^?&)ÞC+%/~#nA˼'u"6$tL~CFyJ )>-CFm$Agv}8Ձi]AJ[.6fU9tKRHbdm V}V*yjye{.7ms {5њ;eRfK/V|h@ Vh73 Ee]e@?#ryBs{mz E -3o0!WhJ*\q5m/7E+:F  *2*< \L'Tm_[{d ,W`Tހt5 ;Kk kSL,s\T e0n: qǑy>4YrQAzZme=L0 }ҷt1V~uwggC ؄G2FJX"T`{W`Y2TBct2(c纖 la1n{Kɐ,?4%Eg/U/,P"u>tQpcW$рgJ>eTi!O\&LlwF?SdP/X "& 9!U {Y<侜hmynY1KoCNa)5VtH3Z9NnҤR .'eaY|:~D>}xt<k $=̘^cUM;۪ JP$toثK!bzjG>rCn؄\PE-*:{4(EiZų6$ j_;<|>mHL"~7w9vcj4㏯Ts5<3i_kh~BU4mZÕkej>ajMS'# fշT͹S9if'jsoH HI| Ny\I d{O%bRʈ1NeFo롅֧" Ris\V]~94!Nm˻ʥOtuz.N"6ȵ"kⰪO"'jj*EW~ool}}=3Z*W年ʟ,v2=9|+Y} }5g)tbB]n|K;+!$)b0QF2avIFq T#H _RfZӲ]^%IYB_ӝT*NG[D ڤmWpf2ϪJV_At4OI?#inkA4?IX Ԥ82PwR #E|Ocա 8KO-@XE0Ђ͋LQDJ~9Fg^) R:xCXjTr|HX|Ufzx$}/"X-Ty[ 1$׶UM~ źuC+ <"7ȿQ{ TN޼gC nhNBah)= Wj=2sZ_2.A bޅ[V(0i: $g#Զ~ez*7^q´r-eBw62h<'b2%0CaTqfAc) &w8ެ'bE殮|AN%)!&99\v6_Jv,,\B]Q M\St9Ob蟝w\W+y\Uc! g (O}.gk؊!hk1:'kppNCXk5E]8"B'Zh? *+TaIR{'g I4|VRB,PVP긝κ"PMJc+$n&8 |ayR `rSa`AV`uf.(]ATu<k/uw _l:F!gq} _ZJ(s | #1M٦4-(@Җc]:<@2ȍsR褟@Ԇ)_Aژ?H&h.3gݸ؞0+pJxۙ׋|.[D,5ŷ0͚W9BZ8wSقuVe}Wn.W,Œ2,ݸۊciCv/[+o#UR>/f:AE5CrG-$qj^IIhHZ@b,2zh8Sƽ݌2%3JyԝԎZnBjVqKk}'khnq}1CRWó3.M1\oT+,ޏ#po57ø{}ׯb4rS\" dsW钫ybsc8[k \,LGwS@MbN$ b`F>ISk?iry7P웮bJ k7ʂCϊ<~hF| (Ȁ%=VW8mPϊ.p_8 oETHLHɳe`@Huk$s1PE*U2;.sGvjʁ_DdX@I Kξ,D֥~PDq KDCh8"x *"\!'Hj,H0&۹U]"NtP|:6z\!T54KxJ<oC=0& ý<)2`^* f8z xŭ8$UO9P#Vnv& 6_.;]'TX?"ĩSɐrփ}_b{ /2ZN.{rp[Hzc7T45rLdݭٺ ~-]lY͊SWtA3Hm.+jӜJR, {(15C5=KĿ\OrGmF{V? n/bұ$@2Z&{1&N* 'չ bZ+)"ibHC5?XlN‚^e 7%6~0d]a_cm\G蠂ړy Rn&d3 f@itcCY b: .aP yg1m5\J=Z~[#( =Q&cbdzu4vW&^DŽ fpV_mXUxFSEtSS(J ƑaWV:7l9!++xh Rkg$,R\Rl[oBB`^JXb!U't{ԙUiWOCgG/ciſ  ef> ֆyFpqKzp2&o1pg{\yFq׫HJ{gNF2Z۳mXRӎў[u袨 N`ot^L4] ~>ĝfAPRGbv#EPLm#e$H)N6FLCw%o e.+"ݝ'S9|)35hQH)C4Ea|yAtrTB^3Oɮ`eܫ'/Jn q@_.EeM@ʝТ < wCbU!EFW LK1{k`y%Joi 1b#v^Վk]ftU׳_9WP$ԴS3'O]M\v _+jvGK`&Q<0۽1%ӼY g'09]僞& ӜS尨R/E죽8_)/ @I=}H€) u% >K^ t_xlH+{1NߣլZK"5*c2W?TP_զ.'<NfPP*}g I]:B So9 |oH.E⋘FTGf(":#</x:/qQ{:($ *PFRcAG-]Is" 90٘l5E>"i)Ż _[)Y\/t.fbH" r1υ %u&,o>TǀO7ؚN(x1/sC--D7~ >fIQ7a_zlH*[jCiRAGHGwn#)%B9e"Z>/"o3#ؓj%`.&ԩ-M#2l.^3?TցNQղ.܂:X_l\HbNH!by#RPZup[kFp.1/ ĈBZ9[Mե[YMw;.HR^ktȦQip )qw֊Ru?UV-$?tw~)ro|W@RWf?5+6Z Hӱ['CEvҗ>w#sΑWk)AK7I}xg)5b햬gDd;[!K'('27ҡ9b g%g?0JP IXJܢzZE5{!w+ZOEmmmeز3~r=J_Nb[!8 #n2zlN;',]YAgW zeٗ"绡1˕PN7&Qj"ij: \gEwʼnt&E?)EPV`.׵]`4 49hO]_(kLll$LOאdKpR71 aoмYXI*)3kv̸A%-~q ,[:5'Ù86v+ÿ-q=kdBfҶ:P BVfJ\;=gUּ@du@ٹUYn[SJq4ϗE lCrp?͹"_JR|hcqkځC.Pp֔.BUT0,pmY;ZuN&^h^^.FdٓWɍ,~iPcUBŷoI(BQTSLl[OuXcU>~˄@ 5n0DqBE%3IʝaS~@QJbe[6b/ YF0͐A13Ws10Ve۽zഎgFoGazu%tNi J ٝ]d7N X8xCt'=k7/A>89\(' |H3iŸBO" bjvXi,8Z=F34?4 L,*n4_DB>0PoVROBخ_4]]n'rTtVkgٌS3a5:oq.}NrpEq 5?2Sm#/ETꑦ9x0vI l GCB^n6x%R{-hl=SV:$9̢tgOY͕*T662F}A@v_!YKԐq?IGz@ u4~e C_ѐL"KY]Q$0m9ʁXO$q pЧ?g,{r +Q6_!{7?{kF7KCƋ>4|La"*1!9V롙 R*uNƙ!8ITS T1&PC ++7F vLa|k.caS3R'oDOX% FtAT G*S쯔gyO44zH&-RT;+2#:o*Bז FqϻVgZ@C<ō`G},"@Zj=&!3S 6:%^槔p#Q%\FLro^8E3;C sҗEֵaTM\Qr3zW9~@G>A:o =yIT]3U5Pc<&LKLA;QX2ynId:<;jSQ6fzSyyDǫACQy0*zJzd8uДDufk:~bT)lk> <{fFM N.l #vljָLۊ! QIL(~漥i{iB)>U ,Cų=dx]B!^jv &fS E*wLaA5+;aC|~ٱDl5'}Ց &tvkdxr'*ߜCvo@~݉ΩW%Ul㇄)df2< wvW1`N9J{R~>6+s+M#?ʨ&A##=Kh'[`,.mm̫ ӎW[nG"K" G[5DڼK5+{nwm˫;3X2#}nX dcE`<$ D#5w/|9Pc{DPl1o{})~iJ5%P* JyGI{ᨬ[@>9]cjyI{v/O p]`{9Q0jt!3'w7hP0d0= z8Tg=8:22hm&JK֭ 1h,aJ~JZxJTu;'!ͤl8{׊=*'J%B}x4_^MKj6ջa#E) FP~:&_4se~esz5zYs&V)0Ž8XЉ|pd[m{f7sYܜݾb Wjcf 3~:9hk>,~>Q38YWiP._wGn6nO (+~"v  av2x01n@qtgi`B-PU ?f%%j(˘ccVpC5^%?@g/L-7~sS,{v TE8;91A;Jk,tJIX~YCrݣu41!qĸ̛gWTԚ2@)J8{WuF?ýFV"{b&kK\+.u]Kw5}iƞs9 @hno8Bt0noɒ #d,\; @.E ][,})|: =F\+}c~)kۿ|ȨIc sk?QבfXhRU!a j%ڶ~hQңks_R,tŽ}"}WFc?ev<Ae>fRur~At?чV|Iʰ`F)Il [GtZ5ecWH-A$c;8z}`D\w$dr,3*H %ɁwfƟZ6"ZTw"A _+3߁gb4'7·Rc4๪ ^̎%$V>DJ"GK-g> F8}Q!P)P3] *y5<(R֦v'.9Y:wJ4/j1 ѐK\]j_&5F*Ts!nyCSd vg܏x?q7/;<-&dtkI@'yL(D(o-MucW"A8wa)L9 f$liEMa-fi S,kf_1uڐ2d$an)8iJ2UCY17VZi >am0^z\}!hU;&VК:Kaw_!&L%)@0<$ H%e;çYe*?Y>1ES;AQ6q*m'Z\8UC^ clҀD)B7\3 Vuh}Zmp,#;3S*LrvExt=T;,$B wdF+"1JVݞ|} X3y[(#E@Hv0/ǎFgaL`^ԟNn) ~sC\蠏tǑóM32!^6{t M޿/Rc1OSNQ|z̈́ aXQY?OIE8wx\U_>w"ȵE㝐7 P$6}CV^y@S{_Y5bPd*HG7RiR =q2sLٚрf~]VO5c|%_=8 @Z;Y@@rPb07c;,[-(#_y5F>zLu ocz{}K{77:et!o`3*?F#? mOd|E"RB,ױ,j`E!dAT*лњB,S~M3zK\yH1D fxRK$Z4jS4 h.JjcpgG 4%8^F┿E=X" Cly=B7D}L6>@R]rUs-fK)<Fmjfݩq:\UZ>VG<L`G5XmGuY(lk*VAB7 VS;q]Ҵ R:_ BM]7'|1|V$.r/vgG˞yKYqx0cEWk@,[=\-y] џSב4⨗?;h|7*gäko]iU|>z+d3"3w˫D_˱ZKŀ§1emIM&&GO}%`es]\S([;bS|wr$3*DfbL'9YEy5}k !=5 ˝yū@}Яԩ~GڴgN ǜ?.i*p0o #1ǚR'vBLIә9u|󡂮dqZضkFxܨ=Ux;Ff`,%cfXscXkDI~\co;dk[hֶ'aTB7$\MٚZa=Gi>%Ye̱l;RX Q C*<ՓY`ymмv=+(rni9?~Rp :3>ftO֮.عUY0dk<-٭hS 2Z06[dt3ץH.rALa z"O$wd-l"Gu57ZE*%ֳuG &$91(\ˠW-4D0x+FlLH݁963it=GMi+&qUs&c y~QEX܄AARjJ p1{,9~f 3|gukƒrS-_E,&T]f @8~m*2ؾ·c˷ֶE-hh(J[?r˔: cē=U[4(j\w y={AfIdD/%BcS¥mj?JXtZcvT{~Ot2 ϋkI4 )-%:#cvoCYO6 y9(UnKJDS(_kE = g\"ƏM]M+'X{ \,&I64ˮ,W-»BYp|T81|@&!Fu-Ūqe?C̭#t<\^,zؘS8*spZ} y7E[ur ^H{aPF,g`r6HlX&vM*6ĖkѥoBЂ L|I%?vwJJ~j_UX"ݜ\#/K xFh'MV Uoi6V<3P(w*Ͽށ\7s< ,y{̹֓$/ǿfF0J  |u9>C1Ϊqar\ZYMeχQ@ȹKN[_ Ed`s'8 oMӅI;gaFhi3BC>..М!5XNko/u2UKq_ 싁ax;Dad-2L8cq/jzOfz_NB̔]SRV )y/a˅t v4x;|`m TC2b _a]dC}RɁ #u'9L/y\͇E8x)(a[e`+]Myiq #Իd.J_w/w[*[fvtAG,y'^ 5 @7az+J||P09@a I#六Ýwt}sR٠& xf|du"ϮW`ˉr O7j 6TLԣloJ|bsSz]]qMbݓc@Iv'3ynŹh^ t֐%Z2yAuVi߬E:%T Lz3Knp bCkL:aHƐLjN.'="Ӌ$1[ZmHm2/FS$6g^&F}HH WYO.W^]SI* NBTH2&:1פp3[7ڈc= xQqԸTUXy~)D&?Oφ%2o/r@jB=3e=1C\DI8Ɠ&g#5 MAJx60z%f1 ~ȳĀb;hjcLF%sH*EͲV-Ht);cf?'Iu%1U:@ݙ_1˩ȬH`!THp!])VC$r6.']2JGq]`YX$(3gwJ)vWs >Ot X"1(k by Y^'+v"5_J7e0C =o&Ow$zZۃ xWP )IkΟA֘|ɞͽţUh/ؕ*)5lO3W Q_t )+>Zu8O2Rڣ x 9n-wy%^|̶v -AuVS>J$ |\qOkPtnlOox|31/.;>~-' $C]sѵjA/+ړz"pĸGNrt1U?x5v`OQ9zd؁V_*fŕn"Dĉ}iUGkH!t9d'%+^BZP~ (D`m۔oL !3/qwR#}SZTܲ 54\p O9,Νky1E:6S֑֭}qG*V[؈~ {uX=/ PK?l'7b@H3:f/|%]̋ ZA4a%3\d絊Nx#0v9oPQs1Yܾ W#Ӌ/ E4MʬCW>kn{Q]]zkXw"\βi!GPcKcrz[V\ bJݤ)xWnhD=hF^CoNsACN;ct'Y0Dc qvZ']izFɪBP|!N7XW ?19߹ӵRa辌,qZxNUG۸O !) }x+O8Jg,YF /2*Vj$ {f xՒa}wV>߬w5د'ӀD5/ 0N0vl( 5S@ р%Ӣ ;-Z/mtZxOCPyA'lt'A@>>+^,OuyR:xR_m.|wa\,o"Ng,i t'+'d o߃]Doq\GhbkG%tRmz%']o˻i(͊ (߿mJ3 e>M{N9XoZ@uHajs-zf.%Ȇ/*UWġw%^S|WB+7}lniR-u"Ң耜B,1hj"'c"V8tO*ӠrHE ;Ze?fS2=g_t*mKr">4Nse53ٔe?AhS9ȝ_C&l{FrN1Bf|;a,Dq~kuhF}vڲ.'\1}HK5ӊ>]/E-JbSMIdF?aTYlˠ;qVeJRK>th@>W6ߪ[ސ2$0YVgPvmkIc ]C{9_57sG48h>e/]`p,CBZ ew޴\= 71ʉ|$0$MSU|aU G/Ȧg;+c ?aɆ>X[9L5(@luja `mEh1T,᧩v0.j:*D,6MU(LPnls( :Πo\W?rzFS8d—OL03$͔#d_c@L$ȹ+D9||a#C0=ݭ}3 /;fAJ~uNϿlMI2)ٯ蒀ˡ "R% c6ؚXUYzVvfݮ,sOEBX _=χl=y>m"t=&msL't AK:q͛xd+@ʲf+JOR5~^ |3Sl/'Yb\ۑmB_yܿMu7*do?aXp5vy8.yAJX k;9_%R`Й">"ErDT.tVwn8UļwC@HZ=>!G?Rӄ.dLy  CzWy,ړy;UC$ OGl飥k+ѷ 0[#܋‡FTJk)QER&2Z&(-9TJT;W%]T A^d7բbbxhm+89K>}#0*j׺9 GsJLSr0ˌo',3mN+ rmLj|6G8$BZJP;y׋K ޤq$ hhkE d߮qrqq`=Ek OYRk+YW8z I0pW^\GJs:9$Eun L*w@4^2M; bZæ2) Mh^;qv<Λ+`#t&Y[+ }).%͎cwǬoÐ>d>5.T`F%zt޴$:n!ژ M@sM u;,z!D+=̈́m#ۃE?"S!˅'&2}yL3gu^=pr$Ʀ ݸ#ww5.g>ǢM{ .bZHQ OmߞUFmulJDv{1F`os8PElZ|zV\xp9BU ǜ\~HO(IUyV쿯8p@`NA+pKr,VR>?+ "2$xoG!  WJ[nZ`}u' Yj 桯Ս[<qX]ɐK튧70UTOȁS4zZ57V/@H.e/Xa8kPV3C8Iȣ:!g[f8p-W3\btj@Xu @nGM^XL * .7z|%=?EA,fұ܆W3k*yr+n)W"<7N{h [RxsE-nӮ(Ln [򡄆 FjcW P ioiMwXcz2[_@:ӯ@49 cX 5mLHqSGlE񷹿B'^hwkv1n V~x[6?=1I\/32'W9#e&}V +<2Ek}a9Mюrb.֫nʁe{47?`ۥ S}8hqD l纪>y^ReQޱ=ϩ~nQ/kLAMLQUkbc W'r!$fho0EgD|+"R1wrr_8oBIxx7! j3{&JOiRj<;IUq5ɦ̔/溙E!x +Ys$Y913ֵX;{6>z=!!kY(+Ǵ**d49^"1=8X ^Iqa(g3,Y}K^ƁDS5o|y7_N"n ' M;b .j[G 5Ju<=^-zBϛqyЗ&TS۠IsLjq!ʙ$1i[K=. -iYɰ 5n_._iftBEq:^4u=B:ѐLVp0 "hrqnbZPJ)BMҕFGmݿ*TxG0:Nyŀ]mhd+x~¶+Sҕ#@"2WR)?kc (8?'A'l^1;I%96[7KFd eF ƐY8pM,qo_ T*pDQPB͘meϣj8p ,@vL`A37λٍnW~S 2.B wXUi27@c&+MqWL$@B풩Вusoӌ&8EX{IUrilyv?&a8²= { c/I̸^ Ms 0GkzKΤݹh'd~an!ƮÏ.qa3"@拢xt5TZJy* mBA/9EДgd &?30z˄md))/ z<':'**kp˙iÙbS]B0PЋ9"@">)..ԨKf}& îp~5#tsWVVRK ÑPد ,A!8rSgέZUs޳LQ>h#Ô~dҥVVCUKFXi Ó+0yMGbhSxi0 zQiMxLf,aeZ9}#K'-йoG &6u2` Np'["{H ELT,]>]?K6D, נ5`~A[j=@rŃxiDS~I4w*ic9~O /t祜a3^g$(b5ARͷ6 ii7˔-{ E_nmD d,oA;:ǺWFB>`0\vLMIIVF#ԵY _X WtlRXhϗ z R(=U[@+chI8N<ʸql"3D ga xg P7 䲬3TsRM4gp~ @ cϭlM76m&6f qyaa  =oȽ[q?Sј|1fSwxO)9C"?/w~Z"7z-,!(lJ:[6zu[2Xu[pE, TߊBѺZ9IT5WaSjy;p3z !8LJXH ZSm1C hz좘~a؉UA #DqVG[fcb펵RB m,&9r"jM`t ? ) lwK ™4\DUp0HpґR{"7ZZS(t@I4 I4PftR)y(eNkD!N'ý D:izEr` -i=@@pO8";+ 9M*IR/E TbaKyWw9#ٔ j}Fk,ߩOtJ̸v8Q&HX[O<1FcԎh\/HJ*3 HI^mYMsQylMMnp_`Ja ~t$SRYm+j籼J43ՊSS熤TD*gc:wQQRcUېrE'B󪋷b@͒)=O:0F/A6 Aё9_n"!n=D(oU6́OR>B[r ƻ{ _O7OsYZOMHz(_bl9^Rc ǔ /SGr]ri 1? )61oRµLmݥ0&8̖_ʀU1ey L 0ZΎ<@_vC}&JW~O5V&UnrscP=Jx6_P5s-LT:Ȁ=ki̜grUNon SQc0Jt ~!Ҷ޳jY*%x攇;a J홷f޼Z:;Zv$1F>9hZL^}ThP=ml-sIP%?mm9&!&7T1KSe,C_gDSs9}Q2qͽ"_8GDёܦiC# /49}mcg}S,+%e(g(󪲼4[Y|]oOc] (䡋v 5Q^$uyK%Sڢg$FCU35d+5t(daPJPY~dHjYDkW) Ϻ IŸT1wʻw6vSZެ=Z_aڽrp%@oe>nl?59Bl0_,.028BC|'&%GNZd5hΠ.D'S/)=Vs O؂UQ!F ψvxƤu tʲ<;9^ 8Al.-HQaB/`JX. }r0UNQ@ bs%xKll-Bj ־ugOFT̨е}FD+(QA8[?58OhF#8u$5I(m;yU }E?ݣX0PR(?$ܾ |0 q 6\pĻELbV){-oeSOoCbaCFLl'ՇzxB%-#Kh)`t3wSj=֋ꪻ/aOdT8be# %P'ku& ~d nvղYNV c(]i"9p`!@ D] U/.AVx |.?I;|3B6%LfVܘ$Z e* oQ>fۿy#&t3Ӝ{j-cPx4%zwDD?P=~QD< ?q4MdT⫐NEX6_NluF~0a+/o7(%j<߯+?D`- fH*e[5jߘj:-ÚMg= #"SqXK C7,L틜H3d6Ȗ w%| A6 j;\GDZڵnklZEeMv#>e_ZiKⱈMebR摼hNgRh' ilh6(Om@+b-Ԗ(pASn61Q qїGEwY;F Rق 6Y炬EP 9zQL;TB"0f m n}4U-ETRS%fe=|< E0- >" iVR.H@S&f1_ƒ@ ×& eM/#Pl5vNy%cb'GLO`dMaSskPt#"W8o#>P[fEZ5žno~U~-VUcO գM%1&g`5f$**|ݤH['oiO @f9[Nz'@7#M LQ)mx[ɷ9]?&IE>i\W!KD X#?xf{{ ^ V GBv#UMK7T-*+<{kˆJ-?GeU y75G?EPnǪ  2fxĘa izB0!8Av4O\r^Nԝ J#mu>x_ۛAd(g y%|l!%eq:֐GźBHK$LVUѰ(So?a<ºJaďaB!0qq>&榿ܚ7ŚgH̠9p}' ֥DDEx9o9#=`Q Q~^H6h>&Iw JA} g<]8@O-7B/q݄ YM ' q HUkآ؍;6ۂ[zX~.Lg@(;W6K[dN p12*w|׽]UR;%q!<@$*p6x(bѽ7?e{>+4u-lK.OvّRGRPQoYͽIp6c8fa]FA#P*.5<#$]bw2Iй?5Ha>ߤqA\r;*/}) $yaSl%KD"y$+YqiYA+7YЅyafE$$kUg8,Gb$8ShI]M?{VL ښ)Ww {r>.58m/.Oe ?jWҖJi$pX\?}3Hw*rl%_ψ0"EpHˆ 59c^6wm_v %2JJqWzi"$<zv[t'^Ke%s 8FE#˵)iY1zA1 ~r4THM^@fu+pnТ'm>´^V,Nn'Y'ܙ3Al ~J6rS": EOyRp^d\SnmϠ+Hu7F-ř€<1Oӝ߽U珶B,$LO6*כ x SL8>-{+8ahljX)6v6>C;:S%$R)^NEa̢En##?͛ jhE<DcCed6d~ކ\+ȡu$T$]I{s>01)ekmJ/dnhxܗT^'%;pz29yFmjݣDQJ9hq(7==٦\F+px{nM۬xfɕIK]HX)D<+{jc A.ឣ;M?fAl8뽖aRЎ>>lI+04eq7 ?/WVY8Ze&`;! OYxx)HhCSVtmCrCs@1TXbJKrubܯt`A/~4xrI#\SxZ)in3Zx~Z*J:?QeZi,-\x&`hh( av#II hSruDyP;xmjȠoNQz-='ŰI' p,BT/'2JFlZȽ}]8[P9nvplzzl9Oܡt4bE¢^/|24J6u`Kp(LszoJqAs׼ttp$jz^["TxVu4¯uB3(}e;Ib ۟I6,>ifU'C;SSw?q S:$節aśm4f:7*dn̽z$23 sJm;6h죏{;cd*cQ@1ȧ^ Dè| #^Z{:%x])*>eKO;+7P* wIY/w٧q :;bEbTbpq49%LXxDpG eJlO@\o?e|=.ZyPFLSRG|v) "n\碗"$!q!/z&4)҄;kIq x6@P n$4mLFj|E@_dq̋Fp7Tj1nw#;;||>{ژ %Dh`:އ<).E:K5R-Ԇڗ!mޭȭ)ԫ]>SʲE8j35{Qg !L-F]|MA'Ð֡;o禋Wߣl * N<[WY$ MdNnJ>m!1o<&X΅:FDrs5uZVAL &WRHŰmX<9e( *_]z8.UXܿGxXT%3vLKܪחj\VkUTq7.a?28e "udi@GY艹lI~UX-,yiG J: P?eoɎY0,׶)lˍkCaK؈ToDq(7e kb5[p_8dZGޠya$5&Z鈴 {δseZއy|y?RM(w`{ڃz 85EXlRe96aF/ڐvGOCrT*d)IL_ocHrInYlv42Uu&L*.`jL/qD%2({dsild[`t]C#rh;/o9prRtZyC\Fw@@i]Le2@i7*^]з' kX 1\+>ѷg $TD: dnd^`;7`F~:L P)5*5U:Cg5U d'"i'hVf)q7 ŌP;ihfN;+tJ5FjSJ&AZCli=&W|.X~&b[hrŇۗO#Ưa"z[հ45>RcqcQ΀=D0p`t@Ny;Mc?ý0I*PoOxHfg`*j U*Zaou,_N*mJ1ՋK;[^`@7Km;7jr+~#Pq<'sTo|RZ`xVNb~Luu`X/IQ2,5>(sAxXh4lJ# x0c {R\pQqjzb"]dwBlG\!FUo׍'J3_c%n!U =+҅I9?Hj(RX$FW!N\PSۨHǁÙNIlEg3B4 )G^s8~}p]5y/K*xZK ,!@U>R\+~}O@#Q7+nIC%! L_߀-.pWmGxX~-g d +,!Gi6e[V{ΘH1d9_Vy 6@&n~D"wNpa3RTKs-;H]Oi6ήvLи1ޢg1zD_9-< X  nUw"dj;q3ZXô-/X^`r_Mɍp'cfB( [H]-)P=@)$A,_mQsR8U",Brij{="0>4ckVOXwדA b+MN-xr%207:&ua,(H.kWpY}8w ܽ;8>\B<;oi_gɎ,dU'|K{G|H/Q$fh ;tP__qᖖv7:GẀGJ g)Xы^+0zB0hMD\Ukw*B,4~2e":fd'SBhR#`#K%s7T"p:qJXoA0:&ܾo~\L[ERT!a"`4T" ϩHpfרu[S`W9DP3s.S<3ӯ}:/i3 kyI %{Xx*}&VsY R\W}!dۍY*>`OFG  N7ICm3xJM~eI髬:c)Quƃd7c1 VAgUSN-ad]F=ΣNꚌDR e(Ưtf@YZA}y=, ܅t[ 8n&Bf{wBYBd",J"g7JPꖧCba'Nݔ:W]w0~7/Y9мTV|'AEt Ki";/ m)8%uɻa|wךHTWb"Edu-TІYo(0ܦXQ;||gJOe"!e<혗yDr5̝KqdٲcN`AzŃ(no^?yi:jxtuJyt\v3rm#XKĊXA'/ ܣ%hv C%Pk7)$E,̚,!pї?Ttˠ-''J=-?=`M%8"+;/NPRYo"2$Az )xY$::PzJ?܌Y1])qHVg~twM*A|+NI18JQX:^gQf"''g@ gk[ht3TX#_=i!S&' ĈQeAb\b)S5 (^m=!bg^B0 v;nwz:3jLNvKq|Ꮅx-lGѓ?sgWd%zĤR@ުn;-S)d#] .)Ձ?y4sÔs_Yvۡ[۴T 9?eƯԏ (` >(NNOV00n|R |8G*w[Ǚ0Isq>йa{ O#>Aψg >򶙱pDJ[,ۙo7!:WA8/M;D0]j8iH/G![}t5BFϸ(xjKӞSV5z T%6][(BwLj0U_44?#y*Zμ?dTuҷ,zu1gꑃڗP:C6@v< PlxA r.~:nd{* ] 4kJ<'PkX/oT"vD!y4ԃv!+&A1Xc8Cq7B!gQJ75aM=8ljE X(GdMF|E>'>ee'Xދ6oJ7`V~H:uu S l,y$p[7%JCWۦ:ؓ;ˆqxwY44[?RYڒEyfj# pC!«yzc{6%}ns*GmR^Z!eo11I)Yl+KND59P$Wq=+X"_/tKGEr@@z`UӁ*T#F<螙B/x ^{aܾhZx[ˍq5NF~(}.vaW` 9\XEƼ=]D~JgoY8g JmTwStbZ]ՇưeX]AN *HH%Cd.lw&nu vH[O")\ޙFXm`9_ȥ:%%U+W&^$Ri٫ ׷9 ,`CR) ӨaUYNxCl!`3=C\OTǜXYe?y!q)T)ua_bSE! UDJ !O*r#ᑽ.B׉3@ŅRI^ߋg<w+K"E цGij17|hu@pwՙ}A 54hG@kZ(hENőK9c5?23_4fTQûQC/ >^4 %E k?ʃ{} k-)Q']M^ :Bx,[zw`^`Ίc0秩Υ2h(F~5h,:ꦒ'?5'6Kg&˜O ^h-{,li;w⑊<߉wAW=~*hVFt7B3Cn5܉N/qa`D뒕٥% v9./Y wKA"#!^iŖrx4$OլU%}O>YƏ5: cXm_:˿R׫s,WzxwgUUpG('>GNj0Łu6Pε"xwr `I-}V@NeWը9RE7\0sCZt2q8:ԌP%~?жsl06ou/6 r)Cb N=IG_!o:nڪ>4I1f=X:NFcܦ ,s[ɧcms"@\[6H4$,`NF<6z"YmD?(s6QN;r9U0  ʑ~ܝR*lJsdBM 4hd};.lא 'Pk]m',:!k?=Fz[DcKfc`{!O8/e’O蹧b$Օ [.7_E gY$(gˡ:OovHSζK=5˫uSZ]2E[ʝ ,圄cvRJE'_6Tn5|M/$2{r $,`MyC.^:okNd̚F)tOS5lHiQPO* 0ֵE@Bh|ڢXWK-ռ8focmp \TŮ1jFSFa|NGm}C7$EYQP"E3 /4oOw,]?ƣ$ ˜zi8_2-ndUuxFDdrr عәI'}#:Sk570t5rڈ 3(DE`2a &hl@'et`0g$DdWDCIG<扑ۘxG RιAZ2n6*<*j'B1D4>[Vz|=ᓺҗRH25.ۡFTo*~ʮ\ gtҺ^{B104_ KwS]JS. a0qp:T,&l?mM8]3iA8:O8dJx{4mL +EfA kє/<GF&.i]' l eR:s M.:H_~^?&8oe#Zⓒiw =\9  ' _Y?IrO[6EA-pUG)!O]:%%7r7 HN 8aťi@b.fpmX%+CPnE0DIOBBGL*:[7 tR_~b|;>GŃ/,=m7OSgrj8ex M4lRPdWdo w2>NxRWV$ W7;}={0 }}Jڴżao >GO!jOך($.{WYw.)]@׫]-謑F` (x rW r+Yx܊>)${5аݵ.'նZiC#N(f[? וf{dp * rƛ;@dMހ,rHңm'YX_U@3LF(w:1 CKz8b13P K2c?,iyk>b&\j#o'}26 ]+j= -kDrRMf ޚZOP%}F%πf #euMbGϥQ}&7jcw+KP3!aI4SbQHoS-_A*RNO^@Adr!T+#:uQ#@Rz6?׸ ,.:>X)Ҏ|R.rpd;,cs[UXmf '迗xdƈ{!~k^pDoJz(NUt0K)sF*> -b"EƕŰޭ\bGK}VYAD{ȊTX;q1pB.!B4eVºUn(?5FEI+B X GdRi{jt}*yƊ3xbaC b6=oHO - v$d{Hp3{CN\0ڬ@[]㊓88^ HlhmB/AQr$=GD(m:ւ=+ ѡ<(TJjʳkdw%bIFTSj <1 w)"E֑Ӣ|Kk Ux~yW޿,?#żëB]ϹP( *S8)*u Ja㑜͵R9"?hO+kѯH_dx,:KU7->>e&q>?{Vv] ej}C3>&`/zXu3XZ{J@,]$AELW- UAxCztUqn}=m2+&/< u^漢*m; jf|uj&0ŎVV- eeu166<xLڻmiUx?)uOIa]I|P="fʥ!:O8V)ƍn'3oDj0 ̫^[EY#9ln5VMO']ND 0Z1{Whp|R2  2㠓݋/8$ rǒĆ,#TeM}*NEIQf?~bw\F(wMbʭ73utCƉ7!G&54cmY>x4\,sEO|͔$ȠT <(,.Q۟|,07Hıf| |)Gܗ{ilۇ¡)jxW$V{$ܬc̷݆|{z,tߪRC}Ά_Hwx,$T641aWR )G'L[-w)իL_~^hq +%4 Xlr{|ƚrt$AKpOl [ù6/-2,l}79ؽ3ZO\{IǸ>arM\*w-m8ո1G{ .if|怹'bjt&CD$Gp&S1SH JV-.+y**cyī%ç07݊3~ȎPlfR?Jv'~I79 KrNge,>GVi<-HnAd]_ZâCW;ux[5DOPg8v=",Åx%(2qU N2rI&pCdQyyPE`Y @l\]#LAy1պjrG;* ]^"|/3Ouq3F.O<"auצi;\+Q+Ϙ!Pa]ꊎϵ];ʎZM\8r$vȥlt16&_iA%_yLfsbUz_HQ!!@Ix 2+#;Ը~)F3OpbzT9XbʫZdn+ Fﵫ5I&jʖs$ O*66ssw˛$ah_JU`0} _ȿ=W ꑲ-Ώ_+'W:my:ج3p*3D@AV``,ΩÆKd)DEz&0.Wui:و/BpL[> Sf릣4y0R)Gp:V΁S(SҬweȋT!Q\s2j7,LSRTb]ߕ4bR]QZC`l¼Ή4:J 8$L SvݸeY.RA8b} ˟,&ɬ ~@%ۤb[k5)Z$rE 8nPut e7z8زWCv~_O\>՜s;6u޺ۉ_ !o/y)7#m˧ľT誗CW 0 D})|[Όewa ʚ{'֗3TR{ eB_ 7(fwo+/GQ[7W[#$LqCW~KS#|JbM/W1NW.֟GLQ.bc@u%,xˎHo_,ӯ/+q0_]! ^|eF*Ŕ4xC+r>UMt`]Y_sI(@!lx#90edX]NbH>}2tz窽JGD3 WxϓD w$6=ЮgcWo{=KԐ 7"Gs?} B 'nquѫ0%>=n[YJ5@;rʰw;.RPrAB?VEH߬_H29|{%CF(^v n@ *6[E9K(@` @ ryÊs4I=2Wp⅏*0/? -ttSܹ _a } |_< w#~~a)ƕ H0,G`$W=Lt|ftH:u?4gHkA|OB*0gX5X+T2dO:tزa\w!on,b˯ cc]k1T~T! @JEԒ .VZ]9!rzzI-Q>O6oN"U }ݴN-jŒ}2컚jQ$3׳3a+Rx Z2AA1ftߒqy /IlTXtL8d.ࠖ^YfS"j#v0ћDRTq T8s0$RyZOkUS"#|y-u~jŔ]B/eN֕oE ԛ!OT>u<rڝoN7D֘N m<7a{&.Z s@0"a5L)?0GhzWxzJأh6*_ |d riޣh1WJ7"SOʺ5pOVhG*Q1󏖻7քkgA8H{|)/^yZ!QJH bn F3f`2c+b? ˋHA ڐ$,K X'f|W՗,\5MDUH"75 DŰ3d=jV"O6w3_ePW]2PBOzh:Hg}E(n(E8XӡA_'5t4uѤ_Khck0 1"Yċ ]vdP*wax\Ȍk_m|O\%%v)Nm7^x6`_\мf^c kZKCV 0ټۅS/f:}ɚ,rfdqd ^>M%i4GZ`LBrRGU~ ?NXq.!&vJъQCrw<\Ly\KP۔] ~6X,bNbņd>f<3pFr2괴ҶjE A 1|9KxЉ RВA5 䉯l{j6/2qFunNCn1R Q"B 0-H]tGdGYARƆwEJJ*0}m SaDnm˫ s)\>?!yrSq}ouRO[x]Wf2@?ȸfp$ 1ُ=!lj 9`G_Q@mPXpodbigYM${*C@N?C6җ qyeWk&8X/VQf.Dr0) /#\wxw%2c[<(/jz@]+U]gxwJ\%ԑt+a%1kPf.]OsߴX]1!.m8s[4z2&Mٹ7EnwHL[\b Qc+d]mWE^V@- sU/I(6~?#&s"FDЬ,_! MfEl[ϦGC 154=M|i喕ET#;L:$L5&y9 EQ&+ 9Q7VeyKs4~o^=C[ ."8A}  ael>9~~SfV(@ɍJHYs[qt`jVN01x5{Yk|!hO Tx,&sv·JĠ!9SLw6gLY*Dc)%Q.4kUn}pwr%:E7X}5(mq>*_YѻxġtRAMQiBT0KNo^k34דD9 o;Vپx/XAbf]IЩ˸Xk\ku|Tz2G*V︖Bԃq4|th f=$H{:$mX? \V;i'_ņECY7c+A5yk}KK&PUBkX$tnUvUlLE!DH[S}604 jlba5T!guKn>t`؞ 'h0/njL Zo=j3|X7iy7t$K;vso Ho,\٘E`6ϼ.f0 R*0 5HtMl_Et[f'yXƋj+S(R)UC  Kc]1^9oьֳ]C )A+YpqjNwT2g׆Ȋ`.apbA0pX'mU|$62"Rh46bH裰dhډنVgY^ģUM -T6o2vN?JK%/&T_ <!b RɵC5@]"h-fs8Op#*ށ~` Ot747m*XlF0~_Znnq@wV z?vno6#1A !){tұmWP7Vb[K`{z{e"|rԞKe3îp5x al9۱ũߦﵸ@ޥOj'^p yFUU&JD{,5vTlvÿZ>'y)54MmՆUƿ=S֧9Dg-*iZO\ݰ9 SbT7%G+h`$-wTHzMh`!Nu1=5LhV[Đ182[J 3V]d-#;2>ga]%-[Ϊ($r :*M!/kƘό &4Z!q)",8[Bč8Vi-Aw|DI7oI (TKwv)=uVn@6j6G3w ùD份Y19fmalM>1,20>zOQj3ȀHZFvCpVT \KI/guɪGDI$9^!qqWYhOcT H[#Tʝ$@ۡ2(4| '`EڼXo.uJL~E+ۅuDa5pپ6ֻYPМmiCc긇ܤ8KZhOWFJZ7IcJxgA kٴգ׽|fF+" Ma%%핍~Qpd0ul SYLJnMJ<@M{Kp+VgB2S/KRl)/k2g)C*H9 W@P,]p8'תWj.dŌ+09ܵCFWnvOB5NawZP:oī.DQAJʋ7rm?L{ӗg~e/zMT^zraT/QSy +k,*=Qt^Yl v{D$x8{y.jClュLT}nO 'rs {k#FL=O-`)Vh}g7YvS_<VS־.=-,')-j:G?KNz„AMDQqvuCJJdOj:R:_9ޑ1ۊO q+Zx0T,[V󹘚$ fjmkw Ē"4t֎n p\F%.Lu he穈[)XWK R#@2ݹϯŪaЩR1H_zi1958Uc< g V΄iFB( E\y$N AbJkbqșz۱ 7笿{= 9 IwB:MgM#*86|嬵^})oWpavrXLw_3YΆ7@^ɌU '^1-O&fq:*&G_B)%z,}FmX<ذ+fK*L-Ow%k&d9Uߖ#N=u<|NhC"CW}scs owS9jGȚ|7|'.$*:⎃8Vac Wl#5]* 3iГ^,ܾgUQhFކ:A,ot"4Ց 4rӃ}O 7YBwB7 `ĚAVk'rQ%'s{`;or}e~*),|=Sez r8BM l|nHHg[~Y.|q tI7lF}1[s/A)b/M DYj=C?(S7KmTW>B>UVö@nNPDsuiLj;9j`K%/{("Z`_t@: Dc5=9Xv/ M-1š)tf E8׼WNn ]c{]LrsM$Y*K{1"<~b-]E{r^lƥ&(5,#T] J-f\cVkY=]>ytI4L }6 q,D-Q`'Ihi~:Yc=viw7}::nykDTcgF:2~92h+J"y\igTgWHTg!CMXPAvef:g(߶Oi#) * ͿPKx@h%eukGk5֪ 3@딮NyI1Ex*Dc?֖.AB?i3,ْVqD9nA8m]~Hyu &ӦW auW1]NvB?cxK@`ф ЯJ  1M8rXoqCIJI㟴9k^(Bvr9p;E .9} z7 ~{)T_/xh {j0-2T X (NMBb,]Zfĩ{qPkn陒q-C7MXn~ sHլ&a!rWkIxrT.BEVd͏411 q|^wp >Cbp[|HT0Ol XoCL8# n(CGhP] ]^S!~6e+=.UXyougnImeD Ʀ̟]ma D>ڸk-x <tR~p"?HZ}9}ZD|x0@6`[ED&$V3Y z68ʦ.f/EHH z ;j&oO{Lgs\ N7'[*4yFⅥ뾽 P-|6a{sϯxXA`%QA#!ߡĭYӷΉ Uձs#Ұ AKՖGP Adj 509x;Nse/75 P3`ύ/t 'iSl$5Bo-xφJl.]xjbᮓ .5OL` 7ۼKqU.רfguEx]@P07R"_Ĵ>%Ehht2 #}+f%.n?%mÏ$]dO6z;=wo52HvՄШ_N^\Yb]&^lװËZ}aiBN%neW:c.8VTi!X7ȸ4k+}D5ߋOWF2<~w>X>o_o5MWjftCKnw[> ?p1ɑol& ۝У"Уp_=#Ꮺ,jh8Szc_n{6Jt.L+U@'G?OaX{,]D [O*DE+2(Cc.y hF#g/PVO!Q\ՓŠE &W_t=kd8xLu]-+=]X<œpn؝# ^"j|0I0̲ Z&AI^1!>)R${[XM=f8H͚ӛ ^Ĭe_g_#1rܷ'&sKld|O=hqNɳRf @!ޒ:x,cQYQtL%8C~\[ў|T$͐Q]G丰  DRفOR\K`d䅛ka6KBÊ- D30>D*S2,6cm 2UB7t1h1`էb\/grŠI-o6 1t-S7;8cL51bJdâ*nnT]'zY*f@C/ -쾤cE@V+m&KV Q$#Pzk #-^'2arWp+-!r\Y+LcaK9cSW\Hy9X[xN#ԕfJ.6+!02R_id%XXPc~܇yxFA]Bѐa+wMO=aWzYP3 8{-O[6EuoH gJL0] +3jSøSrђjvŹi{0vX(~{K&;xlDD9C+r^,΢2U4 hT+s5?`u[`ggdd<^Fd ׸oBDObZCX9h1bG9иjIκXniܨ/cTj8A9Ga +fF-2U8CJ1+JS% %>Ѯ 0q3}nM{ܯ%J(%M$'z-zL#39VQ0 SeNVy+8 "LB{>ʔ(%pq4m)m Д8SFBNs0Wk۷g]լD]I#2?YkHP6~<` j_Ƌ/1N#zoizV[3K`yVRki\5PW VG=)PV0;t%xiu8EkRoQh \ K>DS8N S j cLgBbaۺǙ _M ̑|?nQ\jY?HZcF^WǶS[G+ZtKM>1lj O"0P˗3 f&MeΔ$zIM- Hh)R(\ę?ӮDT(#ᮾ7տn<ᮐ1']F y]tw3sbQ簖FJk=%Gb7g] bnvŋoҒ$N Rc7}S7(>:i4r) $0`ū⻈ni?1j@c梷1P! !㞶$Cg'`*^d^Y_C(ﳌq>9g~UA-: ` cѢ_7y/bQb|.;#_ ϩ%0SD^+}-R|e.[z?Hh71#iVLQ:H$^|/߄lNS7 ClBcw?c, sn BLU9=2(!F>-.LwIϕmG$Ogk>Hc6"CsDc}şJXO Vה. K"5U]Qg"E%m̒h'Pv*~Y19+6ŧthH49*@UbQ4ouH. ~w '`4RM,Q_ ?F2>P]VVedJ3T/JU$d2Ƒoڝ~O2U m/ęSپ,l?&+7Tee9yݕKJG͒go؂8* \й#bx6Nk[i gbU/r9I Kaͺh헸Ca=EȴOn+v#7wv^:iӟu_Vqӓrɸ`cv4<ݨɰǫmaa94~ q0l`g~4b^}rFTTi01?x>bՠ8C;\2_"2{l@P٣Je@cy7f\{?uGE3;3Xo9.Ue:R[Pz(&JrΆ77Q*ݕ~uYeߺjȏE];LQիf\he?\IwgYVoDb+m"V1+ZpBQA/}9{QTpΦOu*i$I8hYzwqXOZqhjY^;p=^M4#vơR@)cb6k<d{|iL,hl-?.;4_YvF=,*8ӵ(v`ok i0 M"F"cFܳ+:cv-[0 .xSq<;K\rjd0njPN)vzis6(Õ7z>Ì%ՠ:wQ@DVO#4Y˭@ʐɹa^ٲ'Bn ?l8QM8N禍 PaK&n |Mh׋e_$ef2FaԊgnF-H[=ղ} WVUk!Bv fZ>Dnol"%Zjte,f]of'N4/biHbz b&#ܧt(^o#TH=>g-axrA/n.M'pt1e=^˷K7WZ,(^<qbZR)7N -y>6Y"r.JKo>ЁzjUVqb Sp(YļV\Ϛu=,7bSo(LM)݊PmG\^;׀S. Wp|fv2߶,;pmֹOBOu]jqATJ:zj\b(.[Di7:J7NJKi1Bq Z8^)=e{7>+)ƃX~|ZNZZt*?Xb(Aʈ}C/"}}!yl$$bO>ZS rc-g{<.I .oDݚ_}`}Ɵ/ujdH](XTRbԉ3;t?Ll)>Zlٮ`9 ͯ?Ī ŵG7KuT 퓽C(W`M #g#%mP@=QkKa;W텳ިUF'lֹFp,GHr*88<5S$J2G!N5,#Syɂnqb,7-~nXrvA'}O7勄*<-b>bm;nuá]ȕ SE UMČλ.%lx8!JM`̩V?-?\Gebjy B!4K'C\$~9_w|sLa£M#Eu4nw*\XoҝXX %CMD@uNY43]5bԶ漅@%kem˛퓬5A`?=&g!}psҌW ]^ RIav>|ngLqO75EO.ZH7TU$͇IVldltMz$JRA# 0˜}co&fh-ERqrT368W]5:j%0~,W3aG,]4)6W6*X%+*SꯖEc E-Gg zfzó,Xܪ|VU?ɡ'wD&M-y6s[TEX{Q/ʥr zXyANBH\ApŦ=>Ǩ*HA׍ѕ$3;i*"*b ƆDjĞeH"ڸO gGWx=FU]lEQEch5pxۜ]Ps!/*$4 L1IY_fifm:s%8T{t)@pgIԂGPEsxI"6A@?ĶBV 8DtpxB>v`0ש0%g@*.{o#4,ĴHeh]!l"+/2w/.6I "ޙf9Ў܀{s Fȇj``eə5 E"(K#V7իX^:~SX gW`O~f* i'7hu$P|!(A>d knqIGoE9;9JG$U'*ۃ-i>O1xh+DZKc妮y&4NMr8]ix,TfZF8HHqa]$ @LBL@ܬy6pB ̨ZiteB`4N}V'dA%<6JkN$ǧ{X>G/= b&b:T:$uuqF5h@( U+FcV)i`x+?PFq@Z-~Wz:۩H==wÊQ-a1ܨMGSvE y~*Vyv^h1k x%ڐAT@3oDM8OBvp6-Ŕr31$zЬ40c}4=yHnF5خ+EM ,g-rx[${VkR\g0?s(gd*ոB0oT_ָ3t_IA1 iyO+"5^3?Ѥ*z%ԣc#mtl~6x )'28E}4P])3*|GLA `͝4-)oH$E_ܥ3nBUB݆8‘Sa-1Z$@WKMܓGbbgʮh&k ൤ڛb* '4 d@-,J@7t(cB9w9ånЮcv\hpP(Զn>GňP\qӇ Zw:HhQ5oJS$YrcAsC х p9>xl~oOr/ ]FE#gɱ)Y_IRKQg=>P&vLJeNlM|YÒTSg-u7):At@iFT8tLO6c'2[Kw cF)T&dC8J⢆?yW~F K*G=U$tv,i"3yw[(wUq%Nb9؋[lr*f )\i-&FZ_k (<=7q}VBm(3{F&za&$;}NQjew¶ i/ pV`kkTH7VIZٞZ"Uԫ{OOSة$กj6p+ EFQ%/ + kjMGL&^ރGPf`:Ky(GL@n̎WKDsiW3bA:$Ϭ (T3e.E?q%췧XEBO0|~̩`*y{-Gy\ ߕ^lr2gxY.3w@&UL`׬> a it-EY>RO߶Gvk=U5S30yT* a%W9W XQJ>7yj53\ZDNM{ nUu]h !ay7 !k c,_$`. k:% SM<:hLOz&ix*z6}4?)%e{^CusΕ@8^W3MJ~ظi4!_:_Z6b#RDK`BX.)NR>BYud#D5ÿ-6&Ll""J-!`V>ct/L8wk 0(.D=,"a#/ cEJq:C ;` \6-ҶC;.΀,| D,&e=)€M%Lr "Pn5e:̐VCl鰁L /gi-G=lǁU Jpum<ׂb)$`^9Cԃ:XD#O~GǕy7H~}Xa=FqVJZSvܪ<^4G] Ee9i"/%YI>bNy#4rEXWbcѸ-/xl 2@~mMfGsie< 7swygx 8z|aMe\ $23UTDJ:Nv`[Cc'89^^^zp3,>F߳?EkℯasqZ.<]/ Q5"7x/,4}(t=]|5جhZ9h?W^!I_O(`Z+ H/#7CiУ<)d#]D6ɭDA[qm9MŚ5\~[eg=؈Ùϩ돆$jYݚek<^ߍv۷}CqR/}*_G{6zh YbXe k KUkmj!BK~^ 3@\ސ3"Yk ݚ4q>f}ܲ/(^\ԕEvtT|7Xf2;vH1$̕9oN$qшB?'5^+NĵQ 4<U?c~nZW1qGCKGoK/W܋{ q\4St%:I 0f\:OG 3!>/Ӷ|5$x 6;LB4ٌHPJ2Qg?^+X[/_zwQH#չknDQߧ(3kI,PXf7M'P/EqaY1u@e4t:H9-Aa2@L.*@׷/ l VJt=NJе㮸ՙ_1 H`vzL&;$R[8y*H |Ftu;u{%ez']tŧd:v{K"`f՛lj{: (BEȘJt<=P"_0mSeC0K]`u*AS$6r ~']tJY`8Rq xo4v L:눧VP;9-Noe[ $ rc}J4SՉ+{{~bp9F"+8誓&;R y + wŏgu9|YZܳ_($`L] 5.#.7GCܢv͖zQnEV. "b r ុ\7 Yx^EӉD;|@Θ;7!ah*ֈ0vc:r +S&e"k\nZ,P δ׶|6u"bޫ`1ŬfyAڛy,VPa++ˏֱ`_WIa1ޜFjJoZ:Jb*V -S0x7aA"3eEkğWgFvfwgʷs,ڷLS?C LN1euVEABW^V&CqeG5'+Q O5Tq&poҘz֐hQ1;b9ڣdzb[8Haǟ|hnh/ ?Mʵ}yKOB}֟viNKઋ uMv .`+Q~"! Krk## ۆe; ؎w)} ndVr.K~^ϸ8})!19W4мJ_ 6y@؎ <,ru`+Sb#+gu~C,sBR/_ +%e怟)x0.)2kۢ]IޜYjp{WbO@~3r$k-Ux-ڎfHW7c#Sٔ{(v_ghI}1,JVP`cE7i LҜ+ 6m5˸oHM~ 3l K0V{&2 ToҶo^(5IKXV1s n:Rtl^K*:H`"gV[[~[qtcHsq7m .q" ֬D}Mɷ`X }(N16E騉 +~dq Ұ㸢E,7E^,._(9;9|oL(I]Oz?B-o2Z: k>^'j7 `)2JUcP5uGq? 'K(8?gF3]4ׁ.[qJ#rcWh!Pb(Ib)}A{* 4d7o]B'PC;sh;r,7)\s+^_YPaR6dL6h zu諳&ю)j<dieC||?j!˕h{Ԉg2~JC!%ɤ8JvNz;&:sy~YJ(>1"zOx@1֦6a~h ^>I3nbiDTi-k% ZLlpv6 "%;tFE-?Z&/)О@c2|_Ia/N +x>tQ@m3JlzB̏Y^F {U`n-wg ieLhp2S.W9 z|kZvO9'5BId 2 >K<<~sg 䎑y5oQE۵9p EuĹZs{MȆQ}p*HqTޖ`M\?<KG_s1] ZEO|vx{54VwS2M٥_Դxg8j:\e"|{T^4pmH=3gFVу&p% qm`";$v "SPWevION(wZB2 FN71gU6WdeufbJg41o*2r:;]!B){T9ɬۋrnҗ'[ e3!$FqP E9팃b (3YGukn`qVlɞ#%+n I5F5)D13~v@&[\}t.đch'<Ʉ'>mz @SA:Z=Q&{c6sp ፗ@3p>zB쐁!Y.w 9r\~Cwvy$P/_L"5ZOCE-- yL"u0xà6@F݄"Ko^ɍ3pzG>ć`;_Cȏi$@~ 5&NvZ/\=KW9#k%kc#'UQSFs؀Si*|Բp_9fv spuKJqFy#4%IBś$MD/2Q9zMy}Z~\qrzHͿKiɛ-gO]&/b%}SkVm;K2cSۍ-}ba:uPcN #f\$k3nltyFbTTWW}$倣vC`q y_߷ x꺤,h-ܓdiyY! 7\7T0%jBЛxmJyr!jK+.y`oϓ) `(/V>i4[Ć˂gqVE+>(VdEB?R{ UNЗ->gALtb7 0m?|0pS?`15[tv TجBW?$ LbfcU.Yj ˈ ,_V`Di;c~K>X >i; )m Rرz8}j?--&7Os';S5KUT!=XrMD>(T^2䕢MӤmY^-a:Iu-8 HC]r*/v򃁅<8_߷ٲ .ڕb\$49cKep.agyݏ6ҏH{D O3\Wil' j6b! /u| *w8v& Xwp;e@|ӽW͈ߝwε\.v>37S@EyQ{$&2R>q$[RM1P'U⮔F<3vg1s[(C:TD\r1.e8nx b.+i'Ԉ q̥u9; %)07&0cĜwEz.{gEave[j\GȺP{BX,N} t=:׹!41fR#F8AaW]ȇ[zX me -'n%gLY/,L=[KלOH=!c'x {Mo.u4nwF%iRFk.M`Kv(-iAEMWВdfj_Fѳ,f#7zm"Iov(g|} EgU1jkGF<xd&c,FWc7aU)/"t:rGkRQ-$rǦdVH\=C r%Fy$+({y-zr<0R ZUNnl0"f2 oɺ< 41YLm#޺]9FCGBRkEG q8f6|> 7C?L;DDqK(rk>4MYM_gI%URO\uOTFj6A'3eDtFm;+`[jUxQh n״ V:좦'awj9jx2x'; :yCcO |PPf+V)u^k ?~aOQͼrePgIG %:/0k<5iv./u>yN nF퓀I0?-<蓳Kc,lu=1LKM[(ߛ>x`Dg{6-y u ~_?h"\`ҨaFKNp'KL\nqW-h0f뎑{&C:"⫥tf^s(-Nk}"\|i} qN3V`B0v# ,ի4y3v'݅S5 ~v C| зHT)}WySM{o]g \ClڬZ580rωZ9<@l;}hT~m;jCBuT''*I1fq̎C<7`x~[Xh˔}&ڍ_FjPECrRm @T鱿o%S]TI>ñt?X~`on,,PCz ڭ1TF;@P'L B7U\Jp ;hў~1?vK"-CyB_e{զ׵΁(U~o{$֒[љPqO' O UtEi%K,p"}#W̗:K tzᷦTQ970Y;>q4 J2}\ϱ9B VH_次@N(@09}&~e4}1ɠ H7Mu0 LwkRS_*"*/`bՕAOfUM3G)ǎ>Ԩ*)@W6MVnچE\)xA2$-`! ~J{%)R,oIA°hh4?|#I19{ :/b]Li %*Jd(g,uf֏!d`w%db07נPhdͩIb[+mgjJdalk8n_h-+k Ye*\% /]lG+a0#:C;с(o)>H& d+}9Ίے" ʊݣHHK(!tķx̓߀%eOrzGW6N`wqeM4,G08jZ9t"">YgxqiOl*(erN6Ʉíi3 rRQHQp{* yUM~yD=;kѭ:Xc/~-6\)%uqfi]fs(ic9-:Q@elܵTѓZb('c's{AWɷ1Rn3uMVʵjP 0Aa -D>:[E(!UI dJ/V`yhjSZXVb^Vne@20<1z*f"/Cd?qeٜӾ頂 >4>柑FTy]x%_kf_D69}7z s} '"zVٜrZS.רERl6ʛd:H 5W6WW~ūW'^} Rk\we@[L K81k&ȑkr= vcUHc6;*4h>˴)[7r&^ +t!+Xc\ 9 { A=pI=꼻*OEk Fn!UΝ]9$H;b%tt&ILDG8FLyITD]I]# 5א`I`_itHM9ԍ!]ok},39S6tm-*Vy9.eHzZ@!j4l֭ #|̯=gh8}vGn9We];4f#bl?׀ux*Vs n&tQ7'Ϙ8z}< PdTP#9Dt.ʺ?cvH#:6q_?بbJA+lT[9[X5s^~x?SRs 6$./?9m;>M!ngߟ"aqr&30Eᴵ#*\2w}B})*),g>:5f픤~C6~` ud!bLr&dOZ6!i88}\¹j''.]X)ŻIGޗ iU%3lP"*c qv.,^8 />7yIi(z] 2Sy$@3ت$ ݰ7qKo%OxD3:bB@D"l} Vd8gnɽC%/F"ĿO(/|Â_(pH&1:Z2 An{1g!#4<"?Po a)4b&ڂED2I-Y6[HjuyB[C:*|#-C~g-zV>7,OQ֮Z( ?1"}DA]-AUhvaCdK*HDؖFnLf^ J6b,n1Lo!gX꓾(ձdS+dSkjsLYhv1`#bZ #Z?rM̒H#.i:2uŞ^CrШ{N.Z4 G;E5gr .iuFGAd#[a#ɨvREJ Z44;D4gn&>38?7NPoJsKc`i}o-;9ʸP.r=RYV뼽?nlJ>ôoH8︙a3*!+j'SQfM(&lSG~uCn9ta+ "PfchYP{.HE9$w폸@%|H'S9Rj:f#PV+}E="v;F[ģxOh4T5G˟- 3r8P렎`ʅfc6CoF7w BtADdC2:6GZU _[WJlZTec+tL]9cƋ__5K\ 輡k͖[eiF̖")#ixTہh`CQ2EAՊ2 Y ,oDENoEq(Bhx|vipAUޗ<)hI&0]Cq ]K֑iF\+=o-zC Gvj82(6WlLɀ^["8?xAC RFOZ V >Q+M~ً[CnS'ճbv3O3Bjyu?,6n cl  6[*]G3)O\:KKm0  XZ yr0 Kv0 EO5 o-(0̇zJ$>W{Ew*tj#KXs!V| ~ ߍoln"sQJ"|}Cո4~],W#ٳ8EZ< :-Sfh;4ADIi+0a^] {^GJY[a2.h}ފ;(q\YHOH׼ ksRMC;^?ԸG+8 fiŀ]gWɹӚ"=3s9+nʇ.")>D:Ohufڄ9} {a*62,rmԅ[dbgt'rc ſQ*4 dp?\UqpûE+vp%9ϻ{W:̄kO?}̏W[ Gl75B3j_R|07hBKm9)n&x3H+ + k߆XԎI 6w 4*FI|K8.m! ? Zu)/ xsbx|Up:?&3 h; '0oŧuV~K9S@VhUxXd$j/Xw^W3Ƒ.*@y:׵?Ȉ࠭j|Ut Q BJ&t(Xf\ 8 8D3e)(FHh8(.eN.U'ZiPSyEL֫ݟ'7ĜD ` j EŴVlBd2hP݂8셶Nܴl(V)_OR#۰vGQ.[>]>S%J.SYNC`QC]Jip'\kԄRcr_#`K:X?E?ѥ6ךz!~+r&Ϧ{8х|cV51ќ; ?(Sy//:`#9cl* +DsUG'"RD>nv:W7҈ `(KYD7,L4D<2,4r ȵ-񎹳e jE]o XژBڿOÐÓwR[Xp{aժb&hs|EqEAO lꥫȱjG`peĹ֡H(㪧UT,OtAY (0W\1G cii:$5,&qm ЎgEtnACKP5߆I g̊fEuq^ȧgE(%â,CY*ه%QFdFmV<`uBn)h+rՆ#_>%P-[!Ɔwu&f* :͍zSy貙D#6I<JJ{ Đ[֢r78NՠWnV'c}́ ӞDZ (K`'( psLE,0!%G;_37LDdVFBL8Fs82jyUIrf7!cF^YW`Z?KU% Qi kT_K ̇<xHDU;UnV:LnfZ\kjw+U>mL{Wp:mBBg'!KO>8Dq\8g@O/z`6QT`bpFZV07a-wa҉46]ـD-cd"sx̨݊YvsV̈́q =Mu(ʂ>]4M#هB-()P:s5NMXȡCM@VjDVjAk/Å; 4Fm2\0mh=j.ـsW9fl\JhLr`Q SB1^!)\V \rbA.DƷZWpHXWTʳ/(}Kx3az-Bb'vHҴ@+&C_ ׹+|56u֧xv~gR/l Ky=7-z-r[=8,WS:px :>e6VIoݫPdzl0m>=t?D_GWHJ6m2* @w团>p ֌'A :@69a'2WraZf`K %-DXjJkTle^8?P+K I2L1̰+5a9n.Vtq ȿMHeJhJ#]X4jOC%;t#za]qJɹ =ܲ9L(ςF&m@L6nsYauEFcW%A{xғfm$7@ ;z Ĕ~g9.1af_2w^WN/!j'A( K3UYz wlkxdKůX/s84΃X?vXSVO5?IXpomH1;q:4^O Oz_O@vB`F5@-Cp[D p+E.D[k o,"u9grR;!%Bϰ5Hxbj@ UhruͧҤ0¨p4YjTT). 95)ƝL}/tv‹)/ CX1ۭz\PH&nH Ps:Xlġ (uf o<~D^۬FŢϦWlRn/widӺ0u"v~2X4Yg,MK0fnd R}bz]ǡR\qzqDL ֠-׽3b-Kif;Ǫߕ860U3[}MW ӹah(S[(aN6d&T+D%/)3цGm6RIBUΘK}[{oC򮛱+m'AZ:(=AR>N"rKWUpporrZڏ;BrQq^E}x"آ_EQ DO*|4{knJ u|s[E=O0+گ8eoGx"mDX~E'ou(fq74gjmWPܵ9* Zϩh(}( VC~JNmUuQD0nGf1$LTCqd_4[b*o1E$8﫩b#yPjD"]5VXgY1kweZ!Nmm"*=Rh!_{i29E!!r`U%ߍTMJ!:O{KFbU炥Pv"7HY&(<|R ] O< /5~o5{a.δ.D u/j:|.x|<Ǩѿa~cׯo4w:O=/p0\X"[s@X52%'k+$2ߖmQ;7,l~bԎr9H#a1p2#7MsBd#G41ҴX0ˍ/QE~:U1\{bd첪cYw#mH5(rߜfIʼn$ ik+FkDKY-G|c-"eWǿQz4+>a@!·8ˠ)^6PUk)IwFQ$ A ݢɕKF,C4 vIF[ljp>-SBlƢ:ȜϚ^Cok7r|yH!8d'\_i@T *+Ve^/ 2\v8O}Aϴm#XM=>,k#0xUEc IrC$ O*O{ݕfAaƇ&GV?VZh~$-H ;VR}DT%M58B_"3 `y +搧%䎆 kD6o{YVѰѣ*I??,QV 4 tN/g$U>ey?*m/&.~4O sٺIKc=U~s4th'1o\o\A>=D[ z,-/'pjJnyQ[ CM9)J72{Yn& 8͊׏ Z5fltjP|"PI{ӏelw`q}Q{rP(Τ> @6u'^5+9^T7 GRpB`-{0NP_4|yWr>I_#)N͝{ޗh;^<*N^GhKڏ+Y 4t9ơ ^z UoKQʑWOW 'wZΏ#exR/ߑ':RʧK*Oap#)~$/d^+}=| Xy4go8LqG|m6le!輛pۺ%>lMX^VaÆ27E-;U.<484AG,ýebX첱SkaVMAj݄n=]F%]+٩=qBg1e$N0;f*ēJct]Z6NT08 I5Wzأ(CxiVo#SXF|r3wZv&%{%vKϨA;c`pO@2۰@1pĺnzILndEr, }9~XUDlt/ϗN48P @V1d6'3e<{3aPv-ڴQ2s~ i`^R"Wc҅Ht'~읝b \A\~kmtwzΜ3E[/zσ ]kU=G>V'8"VqаN%"7!Ӱ{;Z9ՁZ䄌>X|#C9_6apgӦu$!g̒qt]-0t'*I#[AgP ay{4cRF/0ksXNsի/~5'!V#Eh⓳5ߧ&Jn & Jkl=13dˡԒf#(y6ޖ kT0VЎvMAJXn<%ϖyv\ >v!=H3o#ښ EߪJkKcL 9gmG@H[L~[%Bc*uZt]n?yN^$CS<.euMO"FHTL[xɛn>ݜ}-0(id l9)ҤtϦkχ90OiDPܾƌxxku[(͂"KPr 5'X g z)F/"#١E߰(`@qpYPLƁ߆h7 G<~V=VvU>[p$H6jlsP_7\-/iQ+~c9ԴDzApql9 b>ȸ~O_Ң=cnÙ1wV$oqV:ճ#'zJDO筱.TGAtܞNE&=ʗ.[7{wQ::A\Bv@I}}G]C7F-[G.hrc.֫f`DCB]1 rΝEW&uӷ5vVSDsZ(mp>W'ۗ~Rc_ڷaR7kϵ\VWRjVٻ~Z#S Ub0uJ$+ FGF˜(VXA5M> 8r̘rWq/ OK$(};' t[ן !|<|@zDl *P9n,p2 %kRDKMnX=#- vBcESIԞ.R60U@{vfTnsi>o]XVٛO'8Nn8[=cS ӾaS^l XÁ6e7E@Imz}!dOr,0l~mS']-1*rq`6xA"zR8M)uKqSeVƶHrsxz\@GgT̐Kۥx^GpX+5M"^xЙtSnFLpU&CW#+b_jg'mw0"0hlFasmT~^R*rZDO٫La#/C'4^nC ~z'w T[k g+ SʪߺQ!.UKju)/R`bejXǶElbE v`{ZMQ^ORw0ƨ\uɕ  kֻ9#7JX~F8|wdH"5$LfN z1@^?|j.^[jVxƄ+I0Vgu_ 0\tq|}7Z?8|NC*E q 蓂}mKdE:ZsF2fYs4G\G) ^\UΡưaNFr.SJ{fPFӍ BĪj5b1x#I8SLH}cs 7+_CZ8>_PqsR0 Ǘ ه9SEYimcx!XR wyw6a\,/[ µU Nu௓TsNv~d.FmˆwD'QLbӸvtXT2$vcooVWt,}B ܛ5J:rE߻t.?H;cϼ;w;h\=gjHZO9)#DtS؊Vg ҦkLgɪF>=, \>|6F{:I`oHd᪇pLEtdʁDo6c(drzY`esyk`xH⪓(^i7nhXn6Q/c,0VuR]ۯ6),Sקa$\w5%`}ÙT^4W yk61TIGZN;^#jPiz8cw3s3ELtx<0d*8˙QF_k{g‹@0p_⁈OcMʋ[[/ہ³Eqo@k詘n-ӏ%;#~ "0D/´wL%wntc;;͚$[wӹzĚ*}eR `}Zsn?׵QcSۦ CU7;6}]s]\Qh"pO {e$gm:@{I HRQ?A__aH$#eE OɯR0^pnj:٣)zԐ U#(ACnTXCrL~S*`n# ]x9b.e!R jl*pc27r6"s]|]d_ɠ C.gDIȔ'9 Ǩߵ6B79I?X' _x_ @F3{@ @LmSg &B-WzXf PBx}?"Ԡ@k>aC?!`NxhRj-yS+ŵ݃wXvB&WD#o=Ux_86<4l~\lBٶFڟ9IGSV~BJ›!z5(Z_VDo][?ViKN1 IJ6:ƉRIM%\;m`/,&1j>W4Ia0{ 94#@ <rNrǯt^ /91MI;u|JE`ЯR܃:.v6:+zk3X#*l (SKlRΧQŭwW^'VR N(>!> F$1Y*ЩQ^wJkÙӜcsb&lUr҇4bZwY[ Sӡa@M]i e9$͕]|()ZD2X[^T1pw^E?Q Cޥyz$0i74/* K{EUΗbcL0z"ϼ;PF3L0&y`կKft;O`%9$H4ӑ*^5/<%n7mS` w8N ߖ2v* {2Q9@Qg1M0~R[I{nx &is;wG!b>BC*]VU+NUyNK0gnMܦn]55Jֺ iy\mUv}#c.َ 96m0UL^s&4X JΠ38~)d8?o/hOUc ~ 75u):Z-HC3q@_ISTvFgl]cd+ߌ F(מeqa neA Lk< )ыmSUKy5,o\!nƝߟMBWKk1wU8RwT!H| macgVjtʁfK b3ݔY0c}@pʡB~3X$nOR5^l ?/^ nIw6u:ztBdoHh IUR"Dz!*9~ΊnkՑW{>&ĝVքF=!EnnelN ut~L+tƩt*L|KPE\d lAh ޥ%C3G |JNQhR2LtB:]u,y>޿܎ϝJ _wofUKmWȞu$ ):(1/ô(ASm;.6F^s#s"$U%Rd:Մ:%a6<#JbID+0/uO]΁go|1=h aUOGS~ajrsL֣^,O5T,Ruf7| oʜ!OuËq3u,=#dh=XJ|(QK*٥{Zҏ{^Vѵ?4Ȇh=V {Y5Rn;1Aϧ]dijHN;98i_kj}4`Vw-̦6/}NҶLT]ٔ`2&l+,/<ND@KdkrmV]76aV5E)h{vy(¦.]ד%]\k V-DΛ|Z ,۪wLG/M&sX럏zD]}q#B'1sRB 5SPpa%˘1c)5lKE?<2H/qTS6jWWzLv/ΐtL{@$v*3҉zs𺲀H˫R¼pN]P VJ¯' f`&C\Y3AXy ķVcbcc7Q@w!9; Б$0rԕ ewJ|xԹ\lKtC In4/M(}G0Wp[ǝ6"سywF&/%L4l1a'ܨ)m"RPxjf3wYXtWT;iQ4K1b {4I>Vh 3+('A\[C-v#m*qN_ޓ`=Yޜ :B?xi)66R%*{WtݾwB4*Y *2`6C<9ǎӐ_z:jZ7c?jBt"Q=DhP9hp +/PgSr}HvT`Sm'Z]؏E(a6.{-ΟmQARmeQZ8"_K,U0m`d^Qsat?P; ܨU_>DxzykϷW*Wϒ]FŷӣѬo@-X/p@} P΃-K}ϫlbNXXt jbi72~f~:UDp\iv՞o][)Ʈ%wV@+d'eXl"!v'%qs$B]f~V$$l[h]lWN?Mo469Q"+Ћ3S*3xR޽ xtR ɀb nMU{[Q|er2*ZJJFEeCxzwqq]B]~y49j]%k eZ|xkyOƤQӫ8oi/]h}7CnU;|C_T$8VczIf)(lxC@I"_y7!ӑZJzHQmliˑ=pӨC k!|nZ}b&ۆ6XAuU+QxyL/Jѳĥ3= B)S{7iӸ?{ۉg)xW  f펦J(y; 0#\a9{0<P!7 GsF&IOѕPv̲ilGP\(wpZ?*9 |H;v+h}![~ON1q [mXm D0Gɮ!ߧA lz2.veh I>gNЏo-M5 /|3W* pؖ9E|s "C6s.nal<^;>(xm3 џ YOA+z6>$KHHҳ{;]S宜;GKĒ8B^o"9E|`H|sJ5ue}4W~/uNV߰5>Ja+%a&3s9B-6B{ύawo.џ(h4E$S`$\!uUf5QvZ ۽G@ec_bgIiܙw蜇>20a12-û{J0=. o#Zjjݺ7)VP<8X^Ç0čRZ g9"+Wl/l+(52뺡?.\zFO\@4턔zvvSm<"PAb6ٰY SAP%46t5кS_F76Ia BbvPNSm'ژB?KVԴy/09抛CE^N j=OJshaFRkl&CmO!ffE@+%2F8J?Ǔv2AHEuH<tY-Vj58TMl"ZTρ 3Sj2[klqzkC:Ӆo:S6a4 f gGNڤ0܃eD<p 09:,E#!Ȩ+&:jښ*@Ea>#6I<#E1`yO*Ntmoʮ}[itʋ4֎Ţ(y\.E3hyy \cXܐUYV52֋`/'3=1_N6kͣa:ycM!"¼4 x6yޜ]E[TDY`eIB_ALj5K<nq$';bJ6&#`NX+M6.N$BT{Hq{3t2@G5QYK0؈&~~iLmV\\p7f'᩽;M3vN-ګJn!n4!'5d"\;&'00Puv*ԀYJBu֝.>_ji^?LDHP7;o#M2*`&`+BطC+ 8OkzȺ,"P+;W"^xK$cF"yl'fzd*,O:ݎ@E}f{M 'R`fps&NXkI2BҽљHY {1 AsDN2яl5.h=f3}򢙽nl.V*|V4dzWcd#z$QrS<)@ Ɣs}Bq h=0U$D1 @MhÊ+u3'M9Yg=+6gǘII[^%z7jg>f[%W0|ok!jAoh?G]md$gqˠ\n`o?APh5(y jf|1`ѡM`OV7:p^3v`HA@J$\b-zH`V͏wKJ8}61t2hQda"{b\!ثjU]C b7qCܿ5fLVp_%i"Ln~$4GEkjs(k.q2\{kJ?ZZi?}MvY?$b/3<7E3EU# 3  ͐n^rK<ǟirB16ҒP);t4Ú8 v#w[# |1tž *` )`/4d weC17b8ų-Mgcl1Kw *9;o Ix/.0FIbl5̐2}K ws 5SkޮTyD# HUi8cV]% QI3_:;d`aE!'kyъz[1D?-\/z9 QZ?Ԋ(% Vu+_N6M_%BOu:)$6@f,bZJOq؀St,*nmNPǗ>[!U)7"I}7)IU$[g=QU2?P !4 rL @NyP / ;e\0$ctttv>w %O<@NjWk ~{pVzFXĠֿ$?Ƌn3*[2(^xc D5ȗ}MqPPl ݜS2q[c~ObuU.Tw"5Q=1ءngvP+ ,gy-%pf򣄉Cǩy+tc PlUj1?2ɵITJ>:ٞ227Z\;9t<#]j&!J(:<|L|e#[7홍qu6{YaC„'Q B֑Yp]Ղַb\sPpܡ*j3m:9Ry/Ea섐N`ԂPYͥ(D N |e%F W|& f7AՏDne*^kFpMau㖻MMs*+#F9ǡC,8Hpc[$$J B[a1+MLfL 6 ˫6.j:1˶ ?IEw| ҞfjvcQש&"h{ U!8ܐKJ([Q1Q!Q)O4Ж)uH^2Q{UzfL \i#7ydhyc JUNtW cU 9?Ot(|T &[Gk '|ZCR:r2\h DUd-)$g˦뭍?Z}';i|vU~ZrVFРI>֯oN0 L pJ ږEejCw[(0OAg6 s> FʦxM]w#ޫš=_Ol3`߫tPtGR Sr(.9{>7j'j<d%et&+XCӜ>-\U 50|g&} ce/YJ_V3޽<LEbFo@G♞~3:9ۅ<ޯ $,¯p( 5hRO_?d6e҆9ܻW.]q:#rzqvgi5B8}2ql (_R:runjrqAPX1 99圗D#ZmPqLX,B6n E%idXLHEoK7)Ʉ8En*Nj;3sX'2w9&3CV.埴ؾ㕵mR8z,;x#ۊZ4JͧISZR顴6꼠B> a]=+p碑`H4MV w!&mDDhj$wGS~*/i j;|#=y J8Jii33 ]8_;; L%FN@pW{C)%cŌ =NW.PA%djz FjW[&n+wW&s&P LJcNK, >ɠJTMI$X~t9ӫY"M(q=}b~^\pV@w0B;J$wBGd?^rS@r= LR mV&|4 p|! ;Cbp,t5Na3Y3cn>)c#L+joBx=g ,* nK!~t݋!Jaʉ2JwV#,+ rJMd`yߥy'C'Vg,7VޟT=>s{@=2X^ͤ8*Sjc`ְ9>Eh|,e»{3_-q%QdRrTY>%n">fzaE0Qid;w&Q vpI5V@LEzK7>d_߮'5Vu[1()H(!ؠowyktDU7v4l jgJ>F]5~wL8e8''-A`>1o2)ݶ<7Nbkߣ& aHkcJ(8 pvZщEh չ|C٢2I2ZQLvP}Q7?uG~\2 #m|lo2b [J~0g\(/΄;+JV,1Cs 8D !pMhQzQfXP8}]v MCrO BS$dX?C$??3R|K(]QX^ WW"kMozqNJX1P %%b` Me*4rw7>'mʃY\Ѓ0GeKcuK;מqnbpm#~ E,U1{$i[ :<#5{{?-|s{)/r>]>vR#Ъz`/7.Y(%DC xP{P(YocyUYQtEG:x#N~KmgV-d/IFqeyp׍)t>dԠLOud !Ɍ@{BAu >|*m!r&t@xtl #;{>5Lt߉ޢ3ܫ*i'1c!ɧ391i)8uGPyjӣxr*̊Egj#>O2w\qu[pa-FdR w"-4#λ UpQ*T4w?1CW'̾ alYEVGJxP : "ǎ&zx&kj5U:){ QV?6NteIȽ7,ㆳqwٮԢKU^5_z;*6T^Бf? Qۘշfڸ7LXt;{yqZ@e5äU!MY(9޼>ݘy.L]OS"JN߾SDɞɾ޾V s:|= PJCSTsC$&S)7Fledfoit9V.~fair<-{nv24F)hzP$ƑE`^2./' 7ci<f2 Ϊ48/ 7Ȉ=lwf8*%*$H]È]UI+-q5eu^kAwGT6AǪHiYXuVϷL~6_X2A-ehU>y8@ @n} ]9+%}0(Lx۳![XssB?+CmD<ygtT%tuQ4J|&nA^U8JzwD=Fr hz b޺œɣR'%,[W$,TnfW kQx4\-CIQ!+< "Ʊڙ3O^0ߛ'Re$'[vжGmv+m<ʂFc<8 z)Ø4iV,>QBEψQio$(Sd{(J@vp_̨(Oڭ՝l77X;Ō DI1;t21) ~nQ P`kS[HX}dkR@$5S}]ڱ-kP `unԇMDخ8{jN`kt?̳h 1h^LV3a_%9kຬ} +G'OG,nL^Ex+]s,be!P& 0@3 r5\ .8+uƟ8z!Țgu8I5%rSdp+-A/C 8jH+nY^1}P@w3_yFƔiGq mZ҃1a%Jk fPF:;J반1PG,;V5׭``akţ[c2P.Qء9R4n?\?ZN$^;IaճӃ(wpg+k,nyC=G(G-N *ALU6ʁ36Q'F1 i/ 2%lٰ 5QLk2wx&_ rA^].5]S7`t/}Ly[X5>ԶweOnWZiTz]THmHvJ1fEeH! D ^T^Gj'h9Ffc>m~vνP?%iv"m8 %aʮ#xY }IPKPXmM~cohwZ@ "~=ǫS~Kl=A"%70}`CQ;M|a.?(yp̲<{ iyrdz?Xb]/W%TW< teaNEĂgo CH1{T"V;K'52 ʼnIw:эaP襁ڵn]sRhw࿞qROp;_%`F`im$Mlm1f,KwpéVa/wX"VR{uR~F6x#X|:bA :I]My8[^-S)ke; 33CeӁ5M&EcE"J `/ ab E/&oͣ,a/|fՊ,T"jXb5|[=u㇀BNe@PK,GY 1ot8Wgff+gGJEB3L :W"ew`_ƣ! RK6-Kӫ aQ͛ bh,pE.7*%]M '#lB,VmOL錱ρM5)ry찏}0w A̬$h`*Wp0RD1sc;mq3iy훌#-b}4C?)Xf*j#z*;cM>n1op 2zg .ȆDMn G՘^m=Ik*upׯ͡MMN {`+v]ʉtljCnj=9&f$Yx&Ouvrh܈'qogŗ[tl /3e UF ڭghO ۖɡx\iTe{тυ kv>kLj!Dǻ-B&z}㷓S4=xz/ J m7@ dƉ,@@& yWRIv1TX^\78a͵6`&˜VtMPb,Nvb{_ƹJqAYbZX*iZ]P|GӕX|NhLk{qq!ޒ%q]CL`mz쿣lg(~zZ@7&^XARMh֒|F(`Nk΀x]=42^bUT~KxKa]rk|+XS85S,NI{xh` .Mi)m-~t3:&mýzDC^ ࢦ57X?GSKM.cM[ )nRJ?,_!uf^ؘ$Lqw$s{3DHH/jGY^0Y|tTea0m(^h_eiTv3#tsLe[JKXua z}h\̗(٢'`Hͻ[pa"[9æ/'ʲIT].pYJK{dl k*bCҗAE{߳U2s9値֕bBbA,%؞&ؠf:M$xl|G f<696`d+!i"ٳ~_/09˭. ~fa?t%tmJ,%G+kf)<w#ʠWN}a{;=&aҐح+ec F)G!i^H G*G\X,9XBJ ꡰn9Š?Sc/~^JO?}N2: -Z@M#+l%t6̺ѫ¨%FoXꓬ/: &YO t=^CTʧb$CI޽I]:3#g eŇ_+g[6Ql.pC7^lRFT);(k%3f_O;Ė;ĜʚXqbm-RMm+ܸp>֩xTn-9hLDtQl{_znȚoP~&gMRyat7M2a?pYmupOuu@sX| Ο2DReI崅X!o F\֑X45o!SrP* ۍ7 A5̢Musk2Z[F;3tكrYC_W(ٍ 3ԲPn@KGW&I oU9F5`enlHŽ%^m+hjQ ܼKwhҿl[$W:2GƕDBM T$Hu}[V۟}* `w6b IFji`=ϳ~1>kb{<3E@VQb[<%j1^/i9$эa~SRK|7iu wbt5kRFa{TitXB/h'mrXZSi>՝;'UiBdQ\zZĦR=mzπi <%ԏؼ+n5h:{&*$39/X8ɸ`)nh͘4^vG&;-Ear t@w}D j00H0*(jf/)Q̚Ёd@~4ORĻ\ar"N) K:֡rỹOm;r5 Չut'rL$::Khi rQd 㣼9cgĈ5ҵ%>*vRbI&n|4rњiR\(/i,cmUӿhl.2u{>a7(bDõV(ϷEf!:D4.Zri0ilχЕȥ⛟1;Buh2dP|w> w|lPʆƎщUrt}TSE9 UOz 9S?=\SG*'d2%s4t`Yy>@ bsqBխ!$l}(>DŘ!t_6.٭!|T8wevffZTYŕWVYOM۲^BgoQdFmgP}E_ޑT>Lg}W%<:H(sZ\Yb܃}ViOcA=!nkWEW7 XOY [<㔘K>D F Dz,=+퀞 1d/E xtc],_  -,Ia\}nXLN)[0ja UV#Zd8>yU)gŁ .vJFrrlvMu j)_߻~5f)*n9IqO`E{4}Kfq'.߸V7/5P '3?fRp5%>SA$C 9֒]F13.,iܦ2KSns;Y 3wڮ9~+O3A,.Our"pNs쓁ʗM\|$}^ގIsE +XPF)RQc`\!݉;i-aAAܽ@e=vg{[Xͱp|}7e'_%Z/H^ 2mxTlE>+,Pdeb~LT( ^h"f؇XqQRWf4~m chSJ:a( 70"6 ]ٙ)*thR^Cp6IGq׫cJv}KzEo3eMv)}ÉL蘆pM2y"0v|l.6=_b|4}M.ӵT rTT߿*^)-Q2skR;+IRtN"RތocԖ6\+Mƍş8/"0N:HDIO߽H"w0޽ص< ȳǤ@Zo&GAEqgf hKImfZ6okB.W >zc)%3@%+CMx\;>`m2 uVz۸ |]Te d/,l1b@;+NgIlwTs$|ǩ7n5Qu2YkģBvƍ^\IKEz/ V=yǕ2!k*VΦ0X!b0 j`pJ+CWȯO)a&Ua -.^"fN1CƔ+`y~P7HL3p1@'<]U|p{km͘u Sޝ,((,!Д{HI{85ӝvG0 \W)! />\ũNA2 0Cp{:jػ꟰7Jq\)` Ҁ4A_#edSsn`u!f шwy4rsv5બC K6eo/J?Z٢qJ-\"%/cӖzPa(=qb )h-jLx{NanVO'E(s,9k+XC kvj/~v"J\Z,QRnbKnlH#FD+x_qHOsЬhCJO#0Jrv )RBICj{>x'7_뵶ARMȨ'*U ~Fi-{>DqZl?\Zree闙Ar,ϛg2]~SPkr_HDW.e m6uk@_zaˣCų6< r7}.w\}l5zN&R-Mn(N2I:QZqi/,N~ؗ  D;fbBJJ`3l)簍ʄvyNyMQH%h)#i4=eh{LQ#VA>U8:bޛOb}!3\/wNLc8p\6^zp& aȭy_L HX;jacիy4|<: ӪTд8s O 7RbxG)?64@t*))+*܆6O Zσ[6VP:)^܆} ^ ыU._V%q$ٓR|)M%C)QsJe{+,P^zD޼8Bx3rJ΍s|$p@%oK5U?Z MʵiS/=Q:]G“C&G :PzWpym<$>c1=3[8̆WVz" R'ܸuX;B[F#=0UUk eKRnPDIF{?-x0vaV[UA@`O >Bϒ*HKg& ϋ 6j.}>~2u%o&ƒ`Ч$e)2mX TWR{_,ayFe:d|TW`OMՓFe/fOgG 'l1E(*dwmCW:-R:į}X'UD_+W`kqZ\!y$]2.v&މft3؟cTXÜܵWhoV?~tά+Eɾqː0iQK~zkz^W7FR,ZQ<%˜K[%+GO _xgE4ɱCpI]eDZF"'Rvjt~ӼWYhudN-/c⸫ajz`dC=j+7@gr۱tD#2!.~{t¿ )%g QpQ2_yom}{ |KpC_ (9ZKEʱ]D.T֩k_K9 q=AgAJNjjv^*Q?d`Ox/c4: R<-\!2;'VrH9'2==RB@989=S(!Qku6AgkC۩ʐS{"Y 9Hz'Jצ|"SvDrYyC*}0{\5 OfffeTdKۻC Az>,s=gw[Wۙ.jzi$VezƦ4TWS9)؇!7P:MD@W`sL ˚w h v WPdlV`A4@q}:d8pqd{-٘3|[B_+/. UUӂ~%쪋F'nKD/$GOsӊ<2߮42DF 8r!ذc&*#YVEgեqg.LKۼ(-\|\F)RljzݼOb"3,_ !<Ď2>1X&eZЍoܟghOTYj[JESJ7>WlؑWsr]}g95x6}5T;Rsv=eP 7p>qyS(&7lv{THhyEێ[ ʤY͏4WTYh̑Xsc%\-rf'5#jxipa<' a1Tk-FsV 8eIKn?W<4fpʂ^3(z %rya9rWTe,XAX~߰':nW鱭^:\k]R))mDZHN,sbyogϤm(fT9NyFP8/e2pb~]||c9Y^IL ^T~NT ω(+QZˇ$0Y\rVbiݳn/LƸQ#WؚJrOྫྷӕ6Xq-qaunN ޯLA-m'9AU!71 mx%+Xjy$s}lK.GF |%,$0v=gP?]*(#I'̝PﳗDѮZzN j։';NwmZ'825dJ q4_:P됗'dzaWUVo5֋׳TqnrK[(Uemţ+al^.d;Q-2L8zY@!H芲!Q2ӂm>X5c.eW..*Ei=4m:э/[q|+b qًMMg̰}R{e-,`\[BvM KH);P3o|0κ툝o+wqtAZ_|=Tˠ1KbH 7濙FxG_Mw܀ Hܡr լ!=ePΒT۾Sw#0CGiX<8)N9Q>!5ܢtѹ! yedC|_rx,a[SSRg`<%`Q:̭J@nT_#;3% -JhR>KlVj{ݗ[ |9ў+ ^+CLŤBW*s /|1(5EmIvJ v n,.fWGߚ~|8kpJ:"/Au@˩AR`9/Nh/b'(d*B9ag<gGvTO Vv& %JxT9Bm{@-G aG-V&,^oN&l+(Y?b%:AM㳏:1`{tK Ћ/ 6"}]*:GТF |{5F(ʟ.=q1|x}I yUTܿ1!v#vn/&eڿYC|:mxWN#z ZѨ !-k3}&f'SQ<wI#D{̨|?٩+=ک(XmC] w YRq郾$Ғ.rE>ŸmT)$c[$c .[/$ԝj:sDƆ3hMUH[= ._lй$Yo叒#gN~~2sqPQ6xY5젻/_i?j<Y3!ۖU|y3#,.=m1ǕbWN717#nm*>TGOo6 N':χbR綹WQ(>L->?4hTƈUwLb\XI]GϸXK<-IG0Bn ؽwUE:r|<(=@NMML0W)d\jg`gxaVM Uwiõ~8s "96ȫ%}-]QqWÐ>Ҵ~+#&w9rR]F0^0p<`dzuD=@^ᶙP5 9#+(*8aj{ Z*\%FI(˵ͧ(o?X|FRn@( F}+?of R.( 0& \5 Y  "n\izwj1]eֹotiC?u u?3 F۲ȍCx &B-̱-UM 56]0*(uo=WNfrTGH}t$ E7Z"Put`f2CÐP]f?]NS67#RFI6!E&44& #£I`+fŲC'apLߊ N_=}D0{2,[pMbNʧl#޿w:YUDF+sPmrܨcc r{[x-!z˄ !ċF5mF-E-KF9v:ȗy g[S;D979 lIg3i!)ͱh8 ɉ몆cPrГQί!*j2J#N CZ~!+5N z'Nbf0VWxEiǡ _ro]̊Q)ElQ2-^aDPўVly_S [!L5~va1db`L0Db[gM>DU^an Q2m @@ Ej`"or u,KlX Mef@ݹ\*{*q #[jp 'wYt%?pc!kH3b*wv]59Rٲ iԋ@06/8[Cv2[GC"NF0B#QLl8 " ^ So['7cYfU* 7V ?-vWMzu# xyWS X:I](K]׾mk)Ĩ. g0Ϥ0a89pVMkkȶ7&2h2n-,d`o$*Ñt.'=MGW+җ* Z?=J<<=Yz@Yӏ QV"&@2 Y_Q D4%ݷBeܡpQ.WWb J90 qWC ?۫w/L%#wA aDn(d?'V.}U[ “lK 6Z&AxATZh66]3%,hﲚX+v7Pc]ct.GH[O.>0 HJ4 ٣$< 0"t_Ai$Pܹ\7=4 I" W>-^ǝP~b{T./b X9ܙOt/(|RP`&0KCF-j XFcgF'N`Y슗[j*.e0D Y< ó7ök!#Qoh˲4+. 0|v*WYgD%i|^)u)Ԫc^HU:T"ݝ2B…GqXBm* -E!M=mUZp 7wa6I_cwB rR3Tc8Si6 .nqv.Ta[OKuy$gbywPR)Pҳ~=4 18FdPIXQ^YzOz,qRhUށ}Xx[.2ǒsFY!;e`]/?=]j\?ԻF#9D漨r1/yoqU/X쉫vXl.Xp-{2xQc|] 9 qS~(\=ufM Qp|+hQS'M4י|ȥig'W VEɱp>to95cX/1{`cWq1k<;ˣo:vҀMKVאfE{vY'[.r+(NRGAwI|ɗcuӿAat#{.J+V kҺ"wiRdA - ZФݭZd$vp!M~,Zxwv폋QKޮZj҄ͺ;-d}f&tj'u=%W͂->sEo!ժCз+UYZoܥxl8\gZek+c)H O6\xM0M1\ WB-BK&`/c=~` Jݐ#yhkA_i1 1AtkOg-xB!{,]z\7*5~plhNvCNms>P.)eĸ߿Dk a/ }QȨ*,>J`pضj9~ĜntH',;i|AqC!\vMαtm50$_\*TPg&"0w &Q '&?A ,s+!p$Uqc#* 9Hi(i@S/YrUX1ih9x"#29{#ZY =7q̞,"bS¬s`4 QDS/XJlx]" ;A8M+.lfmO]g'Ձ9+ uhsQ,ZnN1aZ6O; T?7' 0HFcC VW\ԝ2aʎ')x۬ C_l"\l>j~u5ޔ͸7 ]8f{[|ZwHwZIQ<ggM#`a (n{Ͳ6Nƹvz-W$mfHv:r1n cP͜3^ەn0%Zoqz񏳰 d&AnTٶNS~F;b܆ުrJHXӐ6eB{Cz6OY9**>mpGvQY!vbOX>X(DG_O-4ērJ w3%\sJԑ?Jg $ۅVS|hY]dg&-Dغ bVVd} tCgp;M1Ԥ[ƫŇ\Bv[󼓫޾yR?a4NK6V/]Qvq3'I+X5]Hg);tasMZ6qGn-RN ()Ō!%pѴJɄ^u:kL s9MnVP8?P)64Cׇ[4iac4Gخ Ɂ ّM~tQ$a أ,[hY;X!dujQ3^EPl)ɭ .`e|n9*&[7Wlfn]NU*5-&jX4 ՝9s#0c%(GyE:7RM,hx_hg'kQͶo[7척\R9b[ʴνp ǰYrBSd iD'YPlO+w^,-ifcR/_ jMѦҪH??zZ.м;U0C`I-!h!`Hy Gy8_HND3ןU~?F ׯ̆eg:8A˃z- 8{`OГ ŭ‡E[,'Tgt}t]%kPdE764= G7f!>1ڋrq܃xg}ҷO;t|q3.Ќ9J1\@.a"'E=u6G d=24^)7J{Gk'65l`a[-!!f-~&h;yWXX `<ύ<8l;C9m,z67$AkK38e thUwIfA!7YPIݷA&uI XBie1mf4] A3Ko׊ÛP0j%Om[j{.MIqyygP?wf:pE⑋;8 ZFB<)I%=w)ƅx }'wajaݳ#L7g@. [pn\wP*6Hjev7Q:8_֭55 j+JZz<ē:бӃ᧍ƏR' h"j)'cu:X{4qwxo_>tjI2p ;籼]yٜ,$nmp+ ]{unC'*aj32iI^'G"#^Q ]Hđ UD3.`4I>-cMMVݩ߆w<Ϯ`K Z2|ba> _2?Wcs|UZT^VcLizA?CHNہ20CM|bO֪i qxuxhF=`7@^b%.Hm ç TCP3^hQ[ c֊iZJP_ ngd?I]uXm51:ԕ3'pH%v۩h#zz*^]Qs&VggqeːHqZۧf59L'㬓C';7$E=sٻuU/rlmͦ'N>iϡؿ3 $@ x7|/D Й_mGvP/U7itG6E7U,ChOk%߈db ϙy$MTpikz g e^c 1 @Bz9K\oHE;{}Zۻ ; 2h/EMEg{TA%YIX HfBwHoh5v%CGOl'"i0:7t)LMೃ@lo"bقCd r>\lTa)DdE/fŪ0iωpO~*to& X2y! msZWy(!;o)Pz]״VI,}P@6 qhN `{B[}n.&GvC UnA~yyel*{9lH^ڮ 7 =$10)I%id&7,eC1(P )q`ECGRn d VYhMf_*y(&#&&N6bX]BDŽňǴ4g r])4Sɠ3Q% /mlOD$xM8)V=2rJr k5Xo`5 2+K.A$?Zq jW O}vhp/[XL نKUuv`8^VuoڄCR w@*ћ`O>2X'O(NlP^[uY`]a g8=B8e[6|0Q l 'a {8h,c^1E ERڤ<˅*RxO$o4I [hr3?=ox.t:wONd,9NJ:UAQ&ǀXӇ5F.B$<6OvAmsMZ67ZΌDgt#9\0K/2Ȇ[]46De >BH`|qFtfn٪>J *oN|d/$돁'CӔ&Ycy!E9`PJ}̼mP~)p~)J7k2NP{'zeJ-AYlE!Jt!w`x!qp<Bq1X/el"9f+@ +Hom7A_\}Y]5c&|}⋒c =]<}~gӝ1 >vaWvB3ѡ9o{:*ӄހ;<K;:?TZ8aRpD#QEn.}aYwnJlf"@1Y'4UC´pJ% Egl&=k_t,'o?^p2cXO %vKPF5&arM3&?QKF]dνuF,̉!l.,%DESZ(I_BbeK/WCa ҺmƆ3Mu/D#U5 an8WУdQ U0[?+Y %jd5}.5FԥC <Ê(dD|4k%MLP}z5̮bGbvgfA7‚b2WH%G;JF dDt-mWHho$3=#IyBT?ޡ8buqj _q`LJix$Rv99`Z9m|$tSؿ>O-Tit___9m6MF6ih9ǎw$ ͨd5%b]'4"S՞r @0FOӴMo xޜEb[R[jG$xeax1~eR9b5 {BގAտmYx)PH@ϒ&MU6t';ZoqAķ.֤Ey5zQ;X$:*>" X@^kf O$݋!ۍoQ˽VϏ!nvTS Rp"cGG'5Ï1M~st]#2NGUڤ.>KNB3[u[~^hɀIfV33,9q%$u_k<10U5O#znRU<ιzF=8yv^`r_T:$^BւL'QzYIP͡CR̈́޲ $/S]HvʣX(kJ0G)@`kfXvRJ8KZ!#sקyl _fGF=Y'qώk$Ֆ'byf-7nBXmȈveNt粰sYJ}3m`0A6P|V հ?VH*r>=hZҚx0Ӽ/g^nUNy pqϥ1(n7H/sԙWExT5U4budȺAFj2ZR|.9~Y!uj*giCmm%IhZ[-exiR;Ԣh O;7 &J+,otZIcEJuz"dJ#ďђ8k%@9$BBt!U\q$.g0 EI;(< ZLu]3(oWO#{q}EO BׇǷ)`b6"1W ,F5rwiƏySEVnaE,4V{+bu?`WܵʤgiyES)~ӰԌ|1L>1M@#r=CrU)SH,x9ʊ:lGeas8(KXmڻj^Ft 4W2v)ULl+Wd+%#3xff<*#zW=d҆P'P7)׹NнhJL}s^_$gT!Xaʟ@8dc >(P/OWҫVSFua++&gz1x blƜAF& 80-ۢi[@cZp蜯S~*"DPHN쉦J;J'g YiƅqϷ syE5 3_ts\c{.]Rȟ7L5h& >zR.2.wčB qϦV9;9 p {~S,YCP) ?ètAy 5_{Q@TZww&#@2(,^ ToxyY?u͌˼s+σ~!%rF!pw"X:Υ'^J5i>UN$/fJڸ!W>0 VIJ A]\4 %KhH(G a%kԴKqhwۻwe3?#*--xXVx=!HX 1?ÍB$)oe l2)eGGxs`Უ0Hg"QIʐ!̕&ݪA6$2DTj⭿ 7I[xDK'W! r? Y+j!JNg}St K5QPxQ,2o c7Qv{x9.,9&Q*0G&im!t=1~/ D| heg-D,-gGzq) bM]9%v͇<95w4QI(ˋs> \%k0V5:J#WcM?mH*O7Pvي 0 Lw%ǖ-AE/潵 40ſ6-_ҟ^:̲؃ݗ^ތ~U^@$܀b}B≨'v=η:^odaDi\C?"9Ê[b1pP>Tr8kz#p, <-Btp5q# Ofa "/Vg_G,N}ymܣ>!?buG\a5L1X0(&>yN6B1=H83^Cu3B7k*I{07bg\<]-"~I!e#|z=4L!HrNdJL-",Z[\4w i c]OZ: A,JC"j1?dkK@*IĒ~+-tOK~eqZVvy2:|MUVv8G>r.1"$lmPvʝĴ;T6-tQ-`y×מmYܲŔlu2b[}W}_fR(/}ʄU!*}2U( 4WQ f"`&#K5F\ͅvVw)ط` =?^i~ Ӟ̅` +Z{Ih#- )lxĵoƩ?0q#CmxI Sh&xhJ+.8({S[6(稀[(_h\|C ,g둅HU{ 2GNG"c:>xoЭ@3b2|-\qH ͐<#=yGd(x>>mJ`?z-fS{ u7LqyYrmaq?scXJ~>xq14%5;}`u;򃸚og'5Q< EyӡE8+D/c?'Js]{QJM•7zdA(撖<O>XrdT}0ͮp%9pח\"Kok '&V@#)JQ.;- -9MXQd5{W4^'~i{vM?5(8o:7yBNv)83n_a+puxssdηa~ mw:8UXp (&i@/n.:98kspϾۼ[ьZ @Q; _]3XU.$=Eyo۶ݾa9HIgCk(a\M^KpM瀛pApj؏\7}63i~#.q73-Wwh9 ]4=]7l2 ;_e6m⢶p w) [BqfFhd^Re̱wcP&4S,o@&כfaF |zۦN 7r(k G#jDЮ2 >; FH%e*;=lI RW̲6xގ>(qt@BC_J7Xt 9]⠟g1Wed{njUȴT nRRTtИ'uOCʃ_2[4p#WXj^=,VF_}8B HyQ)fE{z&(+ᪿ/Xch Ϻvg`x-2g+~T0օ/7-ہۑcB 3,z{R8bpP~)DI iDUrmb3'QxڣwEH d~qAm+ +ڞ3--TJpXd``zP>eqfLJ"ތT l+..ЧśW5N$ܓMtp _gϡMOߞǤ;% (b8:OBw߆əcj!hKtH*(KwgXН\W#X? pA8[{'V# 6=):9mP&B>jhC;_]R̸MWt-{DU ,#4SH%dG' <Bpl4fR1AZ>}ǐ"Gp;j_)xZ`\x?{wIߍ2fYB ٸh8Mzf'L !.ôUT=MKdS>>םf6aa lPgB xL-~g5Qd\9fnE1_U \CamXg=@LLur{4SSޚ wr JD"A9 =pB]ٽAnF2{W', 1۷'޸CkI ɟN:"@7$ea;UU~/Uw ߦmhMK.rmIT?`R͆0L_[O~ңuUҨu2P%n @ 쩌NXJGd ”OHk*Ep@=h(ecx{P+}NW4ƂυQ[}FҁM3kBI 7,.CL0'_Ά&ɺ=Fb~4( !~ T[@ċi8Ps:[ hD<059." $#l) sKQ# ABw`7{,wo;'8[w@%udk=}-$;UW͆TpdiUiB96s(fDN"Ix 17X2*>6\„g&6z#l-{n[3uVoB]YnLJM"BkxZ-|P(0^F MJKDhAoenf.~1ewB9ι@e: ]ҒϋTD_RƉ$f|ًhtg+ oj{ƗN\|{z<C6W_*gQWv X> -{,q.ycxpmvݝ^B3V?ww?~R*]8%'DR:U9@\sH. ̹ח ꥊDu|~;ϝEF7O{tNE]jMֹ$GJ5+ NRl0诟QCi$lZZ4WA6h+z7nެCuMݸD y&QF0j"]wgF/8v+2^k2&E|ڭAftVf{]=Hbw1|_C iWlVr;_B`ߒhWx`wT Eᆐ'mf/P 7WHL+沅-K#Tqh[DSΉ&6o&}{>{uXO,rBOqVS,)vw`%LTMzن"g^4FYPTB.?Oӟik嵭"5Z,uKZ߬BFnn^Ӭkm@K1L, ,^s.l< \cpkfN{ZJVbQ~ -*^.?H6p k<6E*Yi1L;`\d:X9\9ň8ZA^Lp{W6feJ 2q !T<_Mֿo4J<'vH;;wjk. tnx;$oc_VP^j]IbIRDs;T_lFl(&&l?QM׳3>RG};^!5pC/YwQշэi1 ͊ {FkaYҺHXOV"eSsg'``DyXpEOt.Ȣ(0sׇy#{aq+<ؿuwfAaK-f}\Puv? q$IS%˲ $&\u;28jUt.qHAo*6 %)7ԘhIՎƯ2su0UlmooF-ȵ Fse+LŝHrnE ́.q]HZRij3E(jax[A o~b|̰c30y!JuϞATSZd9K U}CagٵgrI(ns 9f)Ĩc8= 9ďQw*fzVQL0ϔ70Đ;{]H(0rNVڴL#8ZZwʉS`p|pC'{:y0s"5|| ۯ:Bsq2mIZT{ @{k^N_cP/aSo철0{1 c֊bBO=ExU#cU_ ExdX?wՐw078^&I~In%zi/d9sQ<tC%y((hIJ=mvィAr_# ;b.Uj6OOx?Mfwo pѾ;W-IVp{X(O|H+4FH q8ܓ]LFsXqM6b&sOsm(p+Z>*AkxLrS yP.B}n)"8ҊV!dˠ((0Kxo, x\竎*[VBa+ !eeXD:2}Yrՠ‰Q!VT=[،r X4 U.L%Zi>/^!L;ZR /9;Ct~Mq189QF0Q<ߤiLM +7'.֋%g[".aI6aI$0p&&;=^y?K {yXtFfz&]^艢]UW4/e95>JގM:d`}V f҄E荮 "Vё́V1z>u]:F{P7£ڢ/UH+(a ŗ\9_o= K4ZLsa5<?h'},_2Qi~%oo~{~6CJ5͓̑qDw_#O:I,)>RZ?JQ٦JIz~e*akV ]u^ B5O-h`˰+n\k`'35*)A%S9 Ě'26$OqfrJS^حncLt`ZHm" Ed6cX ¸*{vIu+:ISP7H@ 䝫z!K;/]{ * N6rb^t4\ݻ+&2vɾMoziL{OjY])yUO4QOGnsT`_ : ,v{d.G׆Ē0nuPE>TXskzAlmP?>-C?e@D 0M3vEɻ]2o.Nyt JىNސK{k1 Ц5ZU&5|ܗ<269a0!=YڕU+aSȐ%$!s|y2H+vH~dr'9gɅ ݂т]tic%91BW/RPwVTM6!duzg:2ޘn<"?xO6*2A%G <寣} )#w5"ePyIxΟ49g +g γa3饾H_?-bT oZsĠ .peɨRTtHkzbhţ HDr?P䚳y͕ɣ ewHY'L%盖S&h&;n/VMbZ'zSv6Ѳ6kOi@wȓQEɹ \^HwȎ4O3ڙMLZΘ=o@1͛)ZBbUtU *e`~^x|"K}k˺Khmp}yJ5S'^^>_g2 0x0 &D()㉂:Oi:3Pn!c}fÌeO;)s/ZG,n[,s@pXkg}bܶY m 91dds9i炝)lgt 5G{msԋp DX6eXR|ɚCAOЙk>l+d7#nV|EZ,mJ,!2zV3#ڛ8Ҳ+n&Z6#v*35t;Vl*_01{ԭ>&iS)wvTnONSJ~t, !QU1tVS<wö-@:IT;ϘsNHpQ ﵬD܇}inR||4غ2؞zzH&9THq@|?ʞƖjLyTǮ6\A]`.A2 08(,3ni|@S߶rbЗS.䂅ӓ7Wem2:UseH xqQk(-#'_[@V_ &杻uk͘'A/aU~RdO,*nLV;]m.bNFspMmo\D4u#dD VZ2nZmz0vgg}e3񽽒y+]3jZf )P ҳ{}jdӭ qvpފQZ}3ba@s; 3Э[\bǀDUp!D9!FjyI%v'd\u "v2_EBb ^Ĉ@uNZ&:Zt~a[C[Q4!~u+%Z̓@f+%+w3ەB_hrEJj+ïe+ҏiriwh<ỈkOhVܲ~(e_219m܂*9A NMY{y bK;P}J]n}=p ߌXMgSqC5n:OMsHBW, /i-Sp$Z8I~E[8p,EFfӬ^Gq)Vo)Pj^-dԾ0$HƑjPGL| nX?~)n@]'z[Bd5(NYHNj+*Z @o>`QFsJth\2rT:Gk_iot9߀zQCkWRoڶMh#`ѫgv#i{9^ٞ=`%"YJ@0RvV1fF#C7dY\-dp] BM[ e@ g;??2#)?g0+Tܚv|5QlS;~6־߀W H S+U5.2ǐb2a}Q\_y":ݤA8?vueX7okD }|u9MI)/Mb^"奆e@B(uF2n0ѾEqϦc]Am %'k]#q s+S-vXc#Smg'ىeUӣ2;{Jږce~">͜XEBX.QȜr|ɑV$_He3%n7?ڠpk-6W,2#HSM ޅD6iVD['J\HzitFCLv놁JÁD x=BFI-iq]?9lN-O.3r#s\}i.B@=4ݸbbčy7#01~]jvt2Lcm ^G3 7AILX_?%8) CHZC󾠻E`S[`$ҵл gU50u]6N H '!=sSsߦwN<8@[Ұ h 3 *Ej76 ϧ~hfRTsD+k)g'lO[7 3?ˌ$Gh ­9WTs;뻛6$Pi誡>%jV' qRIV#C}F=*Wk(XRȾu'dA[PG8@ׅ6Փ;OA]v0NZwlSMFMiEOD0鶳@}Tx"~qT4_CpJOȷ qH;0wsr:dMޠΨBJѐw ɲ 6M+dm)i5B Xdz ƝBto )%A!E6;E4?y}E!rq)!¢IѼ3cHbUN%a5hҁk,%QBR[i5px~J27|MOqBAI2r`{O]?k~@=|_wPui^GTK`O|\WMI^Ib(X\i9$K ň/ݐmـht6 oO1@  h2$"WxGP7y?&e%s=l\gB?vQ$' }LO 3&L/h!bvGwWT UӫĠd7 yL^#"GM#rIx6E4 }m0?` !tރjbk]g("[Rnݻ {ɁIO Qxa']=lE_-օ1 IGcZ4X6&}UoM^9E,Cg} x0FRRmo ekJ?> @3H9'ݼi?D6ۑVSW<5`]#)#t4a쐸Za2QZӰu+i$e4W(.d@2dSԻh dc, =?)Uw`I.իc8X6LzT3vWZR,Ζ",ȥPY (syIq~X],jΠ̄)gfz ]|̉ZSJzwD8FwԔcFR!E7e_nmDS-ff4~7Q)/Ln:3h1LQO*"C϶ YjJSڠۃV|˃!=&^lS 8AU#ԓ@#,z_$PԦ3-1qE♦jw] kߦCb[Y ݫqQ!NV3,W<5wFc2k1.E ؖCP{rs"5x uGIe Q߀^f(5DwR'z!}!g7Ti.ּ!4zwh@ =Pe/ rq5~S֔su)&Q=O7ӖG{Śjk ?O=S2S~A}y?#!RmN.D.HJyLD3*9Dn96UK4?(ІؒLxj{W"Q3E#'ue3CD*n0?sj[ 8#ڣGA8foP-欤p'{`}q6V Yy9 .԰4Qd!$80_E<6ַXVJH>C|W40>2pD`e;0 <θxҷ4-)~)\*>\1@bWKQai˓(ǗG lZh8W3FpR=m3rD1%op!o 谹1,v2#W1QzWz"C: LLx!@펄|sā {cq}@'\oNBl@g~$Vif_ *Fa:Cp.\%?#|<%dczV1Velґbxէ WnYu _4-a2mY+|mZ/Edm]Y2U YR5=T; z:4hAz| lߺXK ti`gQ79vfwxl9_2*K[ L<HĎPOÏ McQd$odbRl\JwL#p?ϽzAhDŽXQQT"k4m w/-ޮܛ `ɂEaKЃ0En8IH t9ƙr*ljZƊ+2V78}6ӥgfcU!h۱O=Mj|͙$}o/ߞlQ@)*|2*^*Px`]:/詮!PDk=[N_o քU>]SI, [ nph"bl3G?Vf+/ybY!Q$b!4Gʨk9j_]}PȂ6k!] ҬM.(Z\ >=Z,熌BZ g )G 9 ߁LsR,jzFXҦJqA0VY bNձE\` #o̘9gjLO$꾡uڈ2.BsaU>cx_<8L}(_,G.)ҝсBx#_^qJK`Rʈ>,bG@^3=f3={ƴ dvMl,W;8?&qT HcK`$}|4@}paP`HRAlu$wJcAqJ+kpv]BV\{!ʁQ0/Z%jֵ ռ> cĩv2jTQbz vL na[-GA֓˲ ENRsS{J/GCЖ1!ŨY6XHTY- B8 4l]܊9x#m; j6$j;㥹{-,R'*1aRN>ӈ8e)1LmPZN)!J&iY9` ۀzd(AS'CvojN?C)@%ocw+g$9|Q(ߙތ  ӓl1jmDB׾c?K!,JJm#-jxG´fE2Iw6#`aOKuoh,/h-vHBD \6rq84M@<xRx=|_TG;,c hU3.&i8>v*i %cJiێ_#|b/2z^~YeFފ82naҝEZo=ԥ3)B=&قw1X".<(*rw'Rj ɼCp OP0\ul]V1ngu5&Çwkm-L7YPy)7@x43Vbm 55ծt{k^w-|N3^p "\@EKUxᴵI=@D)Jj0ߑnC*.`69}dIn1OO OџfT< E4@qtxvƕj?+ -ӧ+EowTn!}I)2zAcT5m⿑@i6.[{>.ǿ qY)#0/]gV=[:;?•6>l +*/ȗğ #_^gةe| א*qIG P30&ҽ8&&J?O"\-%Wahrsc?['M9x3`&J-kH8kQ=I{tD"fY?ׁž{QZ(ιZ>-V\<AO|@@HNb&F" ^X}r7V8XzGxgENxH|pw/-mS~x`Z%ySqTgup`@ dDJabŗFڬf׾89z憫(Onj~:/ʝ<|+.n acQ }>ƱQz {>rDZ6̙ӯa5̟ޱeOe/OałZ_Vk }9Wy+Bb+^﯒!ʅ[[A15F(Ez=tr0jK(]v {ʼ&&s?1*#xcGAB7 "PQv>zم|I(=v֔1s-$꪿( op,CU">Hw~-:?>tކO 0[(@:.YjLENM.v/9AXs$ O/;<\@XT{ofh%[jΠFVS%-Hpk! D\Υ >qM:O,ɚ}/BӈE>xbol~*œWšX$pG1B]8R9,s@Ed hNϣN;\ȱ p̀VwBh)J0pC2jؒ͑s4ތ)қa249̜V1g[èg+LOcKb+Qs$LU)P8wepГ#dƾ[Z" JЮطn4 ydr"ڀns~XtOAX` Q=e@TJ O;Oxtn.i(LҲb^va$+iɖ{NUJ/HM+/h,blQQrXπ-%Mʬr3卫5Ǿ z}.W:5>#4(O8nBW&`"KYҟ*'"OcrK1'Ӏ?y% }}ޮprc,UJ~Lh啨h&ge bu̒ea!e\WC03igr.S8ET !5;g{FyrV,5F*gbz׋ nX[*t; ʑmM&#OSG dtPGߗ,RVٓȁ ,JTPHX\2a e(j:k 8:|YffCŹ}$KLyү@$vYoVn۾DRJ$]X@iV`Kx'+T =8e\0$XfW4ĐN~!YWh;`+b㒃1b=WrhfEz<=d#uB3 Ceyg)?OK4Z;tRju@OCU&$$cY@Kù?j5օ]ڻYga)5<+gҥya`|Y_I⪫kfe̎}幼 SbGG)5zaߠ֧F5_V4]` "@٭ߗP@kk8 OfF8;J_.öje;6DGopN 1AUFeqǡF-\# NWg GvںrA ԣA`s6ܰJZQdj"oW="o@3T*3+D4*zMdO mG vXfux2Y˄辺 #/ o=%0.nzltZ}m-1))+q:%]8-t$0ԸÛ"S!`ܕ==UFy);,)ӈP`4ZNhӵ1kf]ulfuaM≞Eo4Z X J[ML5$ً`>y83W`K@onDo;-`lLf^\PSQVd2?` Aoq2zM9[]md)^w᧵F kro}o{cq#k)FNsqD t]Yqyw#{ zmhkkL vKfiV*_nǣQWo_HQL\[7}8-[0/̽60(d;|)d@2ZP>}QfoEe22u?&QxE '$ `sڌe嬊>l>u7KmiC5`[9UmfFA:q(G[ Gw}A:48'(.~u'(@%1]Bc>ʚԃRmrxx҅ZΠ?:%j{Y +FGS'}|r{|U#6죪],A,Ȩ[bkX,eI zٻUUn6M4{6qh?{oN˓!*G|^o柺B1.hWD#6KxWovf3KqX*{$NGãyY.C^@>W+_@ht&^עp9:%#_V O|扢*:.?("$e_*B.=$)zPȚ'&]ĠʌtTcP /GQz"f|JP6dDA>HeMvpɼ/5X%l F3AxZ;a8:$щރY"b=I2+C/mY'E6a 5P]U7%%33(jnt sJ1y+ZDhHMyډ_^0N./^bŖDx!u\/h˓K(x{<  *OqԀ@/_od8*E#[7asc)to}k"0?4}c]>@:wmVzԗr­n䆗4s{D <Yn+}GR<$d =@sr%B jM_V7")E qxK8p8je }*6%V#De2-#L_ͧk| f04PU317 -Ke_ċ]bH$ -vN^yd`qeJVFR༇=G:尪il5 ݔ\~緙Xw„/]쎄ytϤa`<%oNK+KAJtuQnoMnR.H:p`évE|&y $JXs Sչ-a,:T11ؒpQ 9AY#vvLz|AO^} PtVƢft4yIy{ptI![ɀD`=܉b)R~Iِ[-[ ?&T_Ft=Y "3dtb3?w$5,Pnle-Aml-c(!X4KD`@ }`YjFDEh D)͡z 'A܁\ϗ@{mIWTj-ƭ(½ z=zp=k9.hrаB/4RSGqDTA9r>H2ZUWi4hC$1Y>9\M3Y\4R\p \#u$a!NPKKۋ 6:3fF~16HށZ^Uq/0um$sNr|6΃F9D ~GCeMS^Dž*΁w>߻|/ (μI/;b ޲$gK`P8S&era"Mx[gEz/pJ8Ԉ73 F`m W\ F4LOp^hl <<{,H7/Z/'ImJXڴ0kʰVKR2+ zx IuUy: v 5&֒fb`O+:r^`[_N7{ZI?N@&R|itЮdDRc͌=bUiCV\73r GOH yu\H_HŪ #I#68(m~+ODiw@1V'|O".x}UMk|y3lwHUrPB{p]dl'A0(ɛvG/APRr-qAs1'HBeČ<@ڍigA?!L\z8yĻ^ jXmqX#0frŠA+a8 Ґ0&s87 rqprMAm+Q:xQ^b@Mt B^vSdYsPm0y)&\)W$[.֕8&?6FLKjXbTG0q97ъOAM! }&j[lۇK 5MhGkj9FDR k V'YK=sčM4>dp&hk ' t0]j-%?I̔|adu{,8*e+G*hb;9.%uǕ,I &#W'QKRst x9X(⹛QN1L4KsMhOJXG@(u#S`|*SwQzgz]'Ehâxj_Ҭ%rM"Eǂ/WǸ]wa٧Z7*V&RdI XznܕGJbG#lEglQp1nY(Dlg>[EA-]xm cE4k sR %xF7ϩؔ,R8S m+I*y,5P\2Va5G?ٞ8w7Gx S"K0tIjF;1j7 7x0.EΩ)Ʉ#7+.J$A;|I'HF+i#咽nE?T *4Ǻ?Dǹ.ɨ@a\e̊m"Q-6(}ԋPZ`I]u*8u1#8:(kJ,L S]nٖyNvp/vze~e (Ѐk(q \%1'1eU8cL2,NrZ~?nPH4aH`YsM ה؈'O1˥p H`cԐ[ H!q!uywOMF[| brRg+PI<0&Va{QMhx,ۍy-Mm*g].o:s~^{ȭ phUtoKFY72KZ9]V_$l>1Gw4E;P,ьtH%f#Zf}wuX"fD|,Trs!1L5` $@=?E?\zx[ndmpg=:XТ}l̆(. a8(Fm-29m?!$N7P SͿﺍ,Ľ.'\-d冱I ,`D~ gF8,uꖎCy[cҭgLF \5r|fx5ETHRw" RMEM`.Ql |0Ȋ2v$=J7S D1nuYŮ»NN[+Yvƛ> !'Aę?!9<vR8%+W~(௴@MX{}J-?qR״ :(t6zr~;h㘴3ᚽ3A>R]pIH8q3ZMD֒WQG@ӻyE6_J<6>zt (UWd G>CŐF%\n &)[vH(nN')CR w}m4?E=$%l<dn~'js\CtNW?ք4ڌ.gKx % ]W"hWLhz<>n}qe8WX;Fpv]i;V-9j_ad0Z(ȅӹ'zgu]|ͩRN 4?'jp|zw#'JstFIj>LM)GF. ܃ElI qjī B;KL2dž+ Z%iY*#$2@:Sl2Ors]5, /Z]T%0ͻ𹑌Xڗx+*-s2ɍ\s7'ITWBC]I΍xk8cOW:Ʋ]@8#OXaLpRO&Œ7A=On&D8Yc!$9_2+zvQ;U[w{_ 9&D9Qp<@vxur#ߣ9ߪwRo?*Nj`dt<0M.t9K-x׻'9IBRqZyg 2E:za~KKdǃqҡeT/GpH{}MQw٣q;ajO;MFᗚ\7"L}|tN{L0)N0d\{Ǒx! QOW RU/&DU`˙F$CaR<糟ؒO!|tu6U\mpt݄$4H!sC&^Cνz `TTߍXX _ W.K["YgㆿScrskPZ}TcHt/ 8xmvf'sRr&*: 0MrfW{lTF#A=.y<~tT\7 \ sqA}vmXȇĝ2)nB<1̯gs'2H2T4x6JpwDG7{ŽMM޻bn vJ`lss=L8C (>(B:bOZg3\=G'҈JB*y!4滊|XRH{dWyG9%pm ŷv@GnjљgtKgۑJt4k~t^D[9,q㜕Ԥ Bq.dʊdv*Ct8d$ܻB.tڌy-z/Udٶ䕨8]I@uvb5:(LN&bjV&Li@Ʀ_@a^س/,O1w"/?Fdc,uxnz0akDh'C6X奲Κ.i08N nkTpieIyfSPζ2>ДGm'zj䭴z&~"wNR [& r z&2o&Mls߳kkm"X[Olf&9Q؞Oh 2^S7z6,T`{tBCSX JސҎB4)\#rtz#o9+fWYz{#@cN@@&469ÇnjGM*ћ NQc80B~1w5IcUCYŅ^Ju/vJ/j*a'`#sk\kd=s.t@Sodxe,t;EڜtAn@ߤLY>V,Z{kLhWQ2w2 mEZ3Wy$GyׇBu_biljSkv iR\h|7'= mg6WCSFOAC]W(^ C k9I ঘj.ZFjw↻bx3l DXeqk}͇`Ǿ aEJ=|j7yc1Y3HI+<Ռ&iQ?G#,9(r>_ KY_}~j/C|w֌}Bv[ ?NhwC zl.tne<'M\UzΜ^UOb\cT z"j9cdcdM :nO}ϳ,O1(:eaMZnl\%F=4W|r^tA?lt8N8 sͼv+O}!c"Nxr+۹y26h1Dg_p@7H|3+yzP `L\>u2rn䩂[ TXǡxLzŒN! |TMl/2&mх`gFrb6,~=C8qn*ې^I]4筂R]`O\Bߢ$n%-oDfci[ ‡#_^S -犛._$$"FbBZ8SSZ.g^}=ԉrʬ'y'Yg9f#`R^ IHR$m*Ijodޝ_Ҡ Ȉ'YG_-p:b1nמ4!U ( P'c*µ@ͯ%H'x$P~.&2O:% "~tW _h!x J.>ٚϚMts)ʞPӅRmȇ]g:uhNG9HأBT: s`wn Y|fڈk#;/PFhK>v~2'`APQ|2fA;t%A,EUa ^!#:?ud+eܳѓD%`CD;F$OMIqb+C tyemhs,x*njhM󂹯n!L ,FCs@|q )-VcA ZJטt_4 j]?!nGJ)]Xw>oSAogv^64sYc-[,ZB̨!'^[&x1%bHW.#VM-!S}!u`gķϫU"(/}:obI9:٦TkY1x&k_& }qE͠ݦ93p+:ف͟N*;^Iʼn*hnA' R/^vc#f2)`_`|fI_c%;iBp =mC&`䶖c7J#Қ=QHVXsik:,uumO k?1*Tw&*wO2nbܭv"G}E>f% @ Mfw,[!xV22?H\&Yj5:$>\xN6b;B'+ㅽKZez8{FzaC7Auk1X @==y0sbQu*AdmV%ي[ U[~3}8տ?[i1-r~x2x}c~4VG]83;+DD+PSJyűyylvԿDnEt^@erɈr衇t!btKv|6c +]" Z Bc_>;և)ѱ^< QoFiux՜Bgy+}%Y+ >«Mx98p6ZfLFʼn^jl[ DX8Vppֳ |aԸ αsIcwfƮ%wTRB '^hsX-sc^.w+JйMC:w V<@g8T􋏖hgKh}s#CYq>zOA϶vP?Eh:EVh> щPs6 Ϻ5xQO'Uً?G-7|4OoJo 4Hj EYYk?WQێSŊts0t˪1^pS% Z mk)*]Fd{3j InC 5vt~K>%K"Vppfi%uSPCE+D;85jJ=~%dYј; TFoJ')q #^c=TgOÆxg|̻֒B2$7S#L,Vy.V?K(S= I??q+b#M+hVJDY= "ÏBD4bM\@ J9ֈ%&, 3kSxplZ=yb]"cG55X猫~9cJVMc,sjfvh12nd#}؞5ZېE&?v1 ɶgEKB&Xm/Hû!c3ƙ@`%ı"TbRx5Ai9>ZOAS 4 5 ğʮҗn;xN›bI ,z=1!7#qN5l~Ab:?; ?UI{bM.n hΙT>2W:$0* ~\b[/_E-7XM.D-INvD `/JY[Oq_lLe:[qJVo6B2Zsѹzt&EWau 4+S؎ : xlRfCRۃp]݄̍iۦ< **z8]twMu3{;y26XҺ ?}a ;-*2l-xrrQ]ڠet=SΎR(| #[Խ¬b@KtxC#s#(} lhScD H{؃Q(霽,Z!{̻l b&=@7U6J\mC$RD x$[`+"el~. VdY >"[t4%t ٠V1L)lnjґl[p*VJM&Lx.?C!f%w*N .pPc*ޝ%ǗZ(ӼY%e6%xJå&s I8~~Xp |XRYp+(#m .^>swL6z]CIY;BvdMX6RloDLViׅ:uf8ɵZfcֶLNum-pU^,M 9f|D3}ղMŶ织)!MCbCt6vщ"'وX3$MGyob">Y,d_nK^OuP1Vq>T9N"ϬKnMQ:CYHu9V5)΃PK*Fi*1K-sos'5?+R ,(LԃX;,sYg W9ٹAc!GAS0[Nb(o#@^[;CU߾0.%MۊfKfL+.|<ֹ!]o' kRH&aiZ:CȓShAiC=S/)e\?R^|ۇ[ߌY*@eܘÆ_'rk2R؏OZʭ)$?SNw^=઻vh,q}:-L"P`^ܴFXNUJk>bRKQێDvT ->W~I"0>z$ґB@R}h]ww˞ @yz#p}쑙R{ Q T"M9oZ2ev?T7*frRe("a5!s>`[@xN*\k"x1*I=!d )(͆y"E ұw'hϯS ҧ *9c+ߏ1C6[7x 9 2v/t6zXzd?xҦ+&\X.of8 v?ʿ6T'k#ID?^17LL2s'A,1QU$}h6l.}NCȖs ܦ̜яNlQz+wtp-E8R… VOwPa]ߠInC.t64-s"@؉$bZN|{:#}Tx`&7SWBU4+zX{84­N`'^%ೡі5DFv*g5.ٻĞ=2-AC.Pu辞a|vBTE"_WyKI>j@#2UƘf[ 8޹CQ.~Ǥ#Τ ͠u3HQR57/Ɔ ݆j# rV> ![H]c]_͔{-ph|psΡȰ7nRtUlAz7aR2@w{%hE}wgy5@Lfbi1D8枮jNt"owpFg|J\]#ךzKZ~Sejj,w RrVA6"'QoBpn|J.:5*龾=kq 06;Oq%!T!oR֪(-Lh,}Z7L_)z<lq NӉ\>xֱeoO(iĪ0uH@6 *L+=PΙ~ aD7/,4 :$v xӑF@{eJxFa4I϶{y`]~Mf*)BZT]cc:{@X9iەͲ|'A*6>xϯ\(Oxu6phYgp=G-zŭ 3[ApK**95 1'LcaD֙S -?bu2QʙBDݦZ>0EƼ{ZC ")>ݓvy8a6 eY\5oڡx!swlZX]utn%MŶx$BJyZ'-oG]hf~ q)Ŷ\03;=~I:q'}Wza<d+B2"!!3MS!U.YZx: e۽ow%$5y\I) ,,W= !bҖ델ޟf(b.;OQqJ1+eg )fOhO- yz2^L[֊-^V>"56-:9ݻc[蝧`R 0v bw (I ۹OtҏXqX,79cڅᦰNj\y7(e0!)Th0.2?27Z2w'f9gI[ʨ5<9TdEajN*x2koH>)+EV90";n+mܫ9ȷlING=NlvF`eff J6pҁ呠dY31 D$gt$ ra/!R44^Ҟ+I$X d?)Fiq>YQ GY>@rnC#8b=%JZl'JBV@mC ~U +׈B)'w^W.es,J]͗3Tہm`D"8G5Iu"ZIk >q7ǵ34gwDD л|Ns iA:m_ޫsD7$C'Ľ6ͯԳ_Tu։Aiy@ə&3Qf4ERbC-7-cF-ol(9AG3R(U2?;X#s'R[c^K|r73cDM(2X Nk|T5ӓ`nWQ* R, Kr:>^, p}}YaB04V>GRДG5H$qۂ76_/ PR._O.Sr=Ez-2/ZMl >'GT2ؠWa5vqzb hoFhƚa%+nfo#9eBB=r'pn ֟Qu D  ~fOvŵBVeOPmt|·gEa}BYFD"|g*o xLav}eE}!k;JĹ }g.ݩ'nFavOiy6,2{y1%fހLyҴ"5MJy^C!_$j 9޻.þ>asXRu *Jn|Ⳝ`0!*i mؐ+]hcT;IFpzCVT$}zo8%\$ 1Ģ‡=LJSGc 5TW8FYԅ5Rέߤ s_sdEjPJiJk]Fn!Mfuz` 4;*ð#eCtQ2wi U|wŚ"r\AfǍ1#cN#l؛M`Q(Lt+pW-%'r7`=0{VSخb=0/?K{*H[٘xc#`C :OpfWefft|"ɑMVxLUŰ!ǭ!qZ A0NNas2忤ʸC)`OBRyӂGK!k-5 iF+j%Ȗ~,-M+p_F$;#kvjfi\:p)<@h;ef<֩wS76N:y:qMڛJ,hm>)-deJ>TaziB3+m<etvүd ٖF*wx= t9JLOdS@F ^Q|HV$5 *H$7cchcZ|dPXj-[bDϧ"+e/FGh/tEEeDC-.W;%ly~Lұ աξhKϕj.uL+.3Epv۩3g/^ (\,K4K:OpQs˗s̀F\^s6,ZnS@oۉr@ª_Rh1Kz_VkG<~}0?:sUYUsELwYo,ZZR6v3=^~SMhIP:c"B YP >E&Su#j\Ax#:S g X xS^tgyI3J{m+ɹ9n-nI)/+teO k 'Jz>CMEei&_HK#vlX2ҽ?_|Y~K_ڼTԈ!V6eUwkț3ˑU *B{j @aέ Y gl֣gҷM>Jc*?9S|& I`sa.Hvo+#kE)j8].ʻ1ѬLIx ǒ{$B?_Gu0UGh~DIm ű섭^ƛGgz*(?*)^~ؼa!d 8B/^6gx7`]S/f)|G.S, 1dugf5|gRsQ ~ J9.M{[ړXϓ"*)JDZ/ U%t6V1և"oQ%ˬr#ል( j% :A;X gcİiĉSC-_C1U#'].(\p߲<3(Nmn%rB1LbEX8K|TZWr 1/1vd!Yjh܃>c-gw|c\.J g~\5xT4Qnؤ[|kbǐ3TĐrG[770HfݱSu@ 'V.Y3N k48-"57SBGANDS2+inHXG]ClXl!=!&ӵOO[֜tc)2DnOmwEHif.FW q.[Q.9?I;iSm} _iy$>*Na~ 'oytһ5+?s)ZVZqV8'9}~)+}Ωh=K.ڗ4PJqt(1^l FmC]!8s)7I8vkg' P܋խK܊O^J~_`:~La]K;(8$$<:Znە. ީ>Bb\WZXh^!fNII`oEqZ%B{ s`l% Ba{j*J"?2q(༖ zxkL6NqP׉Yف)c=E>*K6IfL PUV2fQ[\ybD8a@!a iF͒gD7-+=eP?4gM5c }bpy?(׭^ zm3Ijm.sm nT~v ~m/*' `<'јuvh4H@z|= {\t8C`/uue;ntl{9KR,Nq}w6bQX~P~R'& l_՞MS @OD̖hX?2,wkb̆Q~-w}»02Y"gXzM皴6vIE:f'jKFFYg6 a Ͻwk'a\~"^W Vbd:S;(4<$#>(PUYX3;U3_y% YCPZAXېjB@2 D%L_E-&둦|G\Ŀـϭ6$/nΦ@B=aZRe!B%[K-3"q;Ҡ !pP%b:a zOxt qLE1N`XBO%c:{MI|'Ii]QiK*Z@,坵1zÉz4|K;ѱ)NN-]{XOvrW=olg,Y=ޠw4 Bpjw$ yʟk/\#h[nLi[p~bJdO2$}WE㖹']i oX iX"h`LzcM 9ej˷H&D@Xin8I#O-ONރ*8,nkE}/\V)E20n*usm #(iު}=}$ˍ8&mt*wuHM*z璋=t璥шHr6yJ#c4t9(OܳrUn Qo@֏rUA/SP.]!rR$-cb1XB=>∽SN1]lb74L(e4(k#DB^e΋t=Q8ǸqnR58 dh_ g*GIf9gX·60p4]] 5Y2w:Eх}gFSBQ]0UEMsEӥ$߂US(K'k|d^ t M/)s `B5ncAY=x*oY0b#>q;4{!1jс4evh0|/";i/Xs"K^UO ␽11sf~3mqmu ZO?CrgFu2CLT83[{GU#'nӜk@Y6.ZLXiTiQEe$&*qu͂N%w@?Xjůn qKz)?n[6%C76KF 0lлl^^7L =0tӉ3R]i#H|FZ +ؤ׌6'G hD<@ 9س} ,8/$.sNdgϙ_wg:߹x&ps'EX1XLX(K{z& :nX ae F|8? 5:#'tK"K6yGCEVOO@ @UtJ<,0\Ʃc&J'rw Ghos!V*6&Lh l ljgc;Ysf/e(WE8. (YPx7uEUk3eTGզR X!\xY.+ 8W7Ɂ9S)xXK9Ln::L|ŷ֑?mU5ڟ4=Hssb% ܢ: voek7>:^lk|,_^JIk-_\H1VI`}! \̯Y3j%cu_ N݉4\o63f6['C(M/0bOV>Dt /IӴG~fШ?u|} pɢ%+sI-ûTT,O7IÐ6!,Jj5cpWim2|h\^B8slK&j6S`H>-&7;u4ZVT,`hFQ*PxLz CQ_T6W_BUD J,?1mVe=<nEl 6L <HJnvJ-O.o[ān/ἰ|:w>S,d_7tqLw;iuWgGwitnq.詐We$ 2QIN1--{b -kΕd-&6EKؽ4v%$=h# ,ez* uVGQD\/&s^JS#:WU |Up^]&NGAp49N$jeļ JrNۮ :v5ϹwF!VE~2cڂ/=_'xKl:|Oܿ6Lޖ`>PȘy?!PMu坼̝l7R+5pOk9!Y&Qq 0zϗ4Nk뷗+ YTxᡸ0: doh _Gv>//ɒ_zVO9/ Ayܿfu0 ل}xCQbsgИfwx4c|]R&R޻pw=NY|H]jpR-ؙ#PZ/NY{m`.1*/ʂRykYE]}.C79}zDaP2/Dn ӾX-I0BW|)*8[hዺ]*sՊVyl\.Jm )te q.Dik,=ο XqI<_ޞU1RW^㯈s:ˬpVCb^RAm_ܴ(Yiegi>ײ{?TĠ3<ŵeSS A$Q(}nILs̯0*?ѭa/'ᲥRϘLz3we.DuK˩=[̋ U&h!*4$u5/6|v])O5oL %b3[HiA:}Ч-{myDŽ!ur <kBFQ%I/&(:F<%N ) z.XΙZzHhv! BU9m"{o#/.6.:UAl Е.׵P%$}@X.YmÊ sLv8G a߅S$>|u¿ }N̊5{&6E}W鸖1 L /&}o[<.i7qeSؽ=:VN|eQ|Hhoʲ HdLkK'R%^FY/QwQ/B-vYg7 r8q K}; نԂo74&S&kpV$J/{dZASVlYp8))> PhD=+MV 5exrE2TQKioƩeCFyfl?hBO2T-*TՖ43a } ]Z )Id} 8-YRGlN3W_HV- 6iJ@5ȿ6NδhSΤo4WY `~q]Ib/{?K:xX 9~“ҊnWl1HDžxC}g oLy&6νku<~$=B;TbmYRܢHرhmɗhK&}q*kX-A 2r3XZ'YlD*a!7*.<ķ[ÀuܐjEϻχga eJG 9F/vKafJ"b:n+ZCRr%lY=wq-1dRFV09x˺ a:!|[H~kuKY,Ug`EpJ7Ժx7bω66n =8G."~3fOB]t9֍tg;]~aǦ7=ZvlDړ?Ł9,]97zҹZܿ!t\s&EӹB)ȡ?QBQ欠s !d [+m Z[3+ݥꦗ(}9^M(#r'bBdk~WrQU보)P4 MXCJPP:BخuB|+uKYhB=SkLB9d e䧡 CTp bHU9. e,e.Ogڰ{Sk2ј)s)z*>`H8.]!n>~(#04A? ǩY. \9|z$Z"Tq>#L[; e>WpRIŽZ6j䘑TLJ<ѬJ{!& N9W[BcnVӱrZLm~e59kܾ`Pm+peT}Js_9Kgi^,q8W}USBXU3" KO~Zؿ(SeB=˗ҡ@˻nB9oӦ&#Texѿ^n&] 8|)Q&mu7T):ِ:Wieʝ+RC(;׸ht -@6eRjwhp5|1b`9޲{M"<W +jh_w?`0N,p}-%Kn:0Vv iE4LHZ[quq ̝?'E;ݽR"ϋɐ hOrCO.'_OMͣ$#(R0A=pH᪐1=jB.Ma,G7"7-ѹa,}aeuԚ0!R\uSZtY:Pg Կ:iƆ5],5XP tz^ϕJۺ3`ձfoiWKJ5j$-W8}$tkF7AUR"U L8fOl?C/LSZM`7At4'"Dc,JMih&z8scQ]W.Z|0$ݯwڛdzHz+yJ[q;Vhi0D`pyn5PLnS$cZ7*EkᄨS~.šئFJNg#o6*xInEܛ/d&eiT\u.lan]Sg]fQ ܳk%W4\u5W6B5.WIW1=wnE-bwo!}r8ZN7>jN̄JxNt2Dp3bG B꺚8weZU1,ӹe'bOqm@BNN">*"bWkçXP栽׀Zn?d0<keƒX:˲$eD|\zbAo.&(қovc?NPGYR]GȪ qScb]W,uFaA֊kdR0aQ%M 0]졜-F*W'~ \ٮA qKQ5tJ>qZ8օJQ7 CB5CS&s{5>Sl!7-ڿluCqO77Ohq ,XC$nW?tkBu n< 8^J%RC}> +ΒrY16Ɍ1)dU4`ŏֺggzܵ1rxρz= TL'Aaídʤ'}<8н횮UX]>`EB,)ٰb~'0m35y38s 9u+DRXh*ET=V"C ٬5kÐ4lrqiC}htĮDZz]eeOa~/>~\g0q3 Z>M>Ihp:%ҫLQ%J_i5︎\:VN/<>rp;Co=i~A޵"UQn"2e/+5léhj5^Jn_Ofv^d"v f0 iM" fZJd1rKPK$b(ҍ^Xfl?pnqO ,TbbcU{_l" L:mU1&ڮ@\%k3Д,:,0|Uڄ٣ՔPdʿSKwpbH@zb o ?>>U8}!fŰR#sU_cEpPu[cTsD$Qɓ{T i.:G,Ŀ3\|V2bۛpJpLZs8ySo< O*4?2ؤ*oX&!Ummu:jEUyVEΔ;ka_ mUl)OjĒ1]0Dy9S&oƜШw:&.2ZÓb}KOW U}>9L|K`!LMeFp4PU9XMR裹l?I{ٟsq=CQ!C< [K0,xW ڛQ0 BQiv+Y ҭ77^銛2?ՙjCtgl*j`f^w}*<E xFsz\~i/ v;Rq2}I?őwI IScS2mޔALb֭T7 R3E׈8)!^*I9f'V(?;5)υp^6<%ardd6S#Z.a5_nJ%[zO=8(<f4>{]V!i-t|` `b3qOEA bCI[?ǹ6FAN<][Dzb_Dlb/ÛD .mKh@cmev9*B F!̝jO,~3X9g@D-EI ~6I av Q騎:)si_aҝ;Zy9J ',2'kh3=>%QH>禠Z11ypc-LјyS,up-#X}Qm o @| fJWbMWHHjRZ^DD%>PeHGZúO5 Dq Qo<,i.cYb"Id{S?UѢ4y#:k6LTҨ~5bR_g__䕣+wED/eYB7H43e3sH/Fd'b 7s0(6- DȳGR:ӧ=H#<6Aq( #|,κyS_xa8WpfB)^@Ϊwaؾ;J;&c[ɿ8)5h]q]~E7i .9|ьOGG2lˎ9MKCx„4.lwjd}?G%MF3rA!R.س.ZوZRwmE5jP4VZόzVb3=H *fn*P99ǕlFTQ-rh94 p/$!y/cN:g`/H7>.z E#9,l w&2_^[&g^ !qvw8͇ˡXcZ9f[70idV{uξdx1)IGVzl.x `pbaK(-!iAȃg=`/;#F Â}r+cAO WLF'9֎nb^@W 4mY 0΃ G2?cw4oMktХJ߫ob'dž$t6f G%ZaGBkvϢn>([,6~q59uf'l#U`2`tGҊ+{Y/kO(*f%3z2`w1[؁(7jčA>hc=0t7*BnNX >C>mUh w2"j`Dys8:fUܜy-M c{D8]t\RM;f&M' UP9s$M bۃ7wXmĦgIBRl97O5,kd/`<$-\7 "+sGQIJn˃>Q(jQBuUwj0Xx%oba?WE:ƃ l {WchLca62ZN?(>e/;nyg ȩ%Ũ.h*j+xpYM+ːw8|c68=sX9$E¼|g!Zf*'4R,*&OM޴:.4JɀKM2tx 9wM9={7@j42A`ٛfnbAXnv$( ۟ ]W)+|VC"J)LlQ\)pFN+}%0n6l/g?4[&3B _>xoZwm*DMC}#`Y𵿋3n=-xLr"UPi ̪l7xc6")(w4^iw@- yw ѕ>Aht-_ &yѡwf5H"X}57_-da\KGl =ez 7h,W%^زQ3x\?X@in$XBݠRZGWy&x5OϵM{MbC٠y$ [0# f6W pт΅%gyItHD,)F7һ[EUʼniB'ǓooXK%⟠ѩ)9z[[4t oM,ҺBPHēMM'KH^"0Ŀ %vӰ*)q=C0V @aKQyh2}@0W;ߛkq`hiSv3xI/h L,ǔ:>*$Kd@87CGh*G7{ƚqZ{-qwg.' b]s*tf!(o:3tIr37k۔h9T,ONSKʰXH@lLIwݾU dCQueٚVzSN3G(=>2ͷ:.aSjXA&tw 9DkQHқmyC:4}O9K{g8y.,r…$JPY8}o۫*<,,XCmB,h7F#WP~&\*Iy,xKWs2VsCH#1=2jzc $I؂kSFs4>kSjxlrZ M= ;+Mɒڅw]eYc_Uc$10/HW)38|4%qZU@6vEulb> *FଧX-;se7ϝJ)E1u7<pQ/ʇ1 ӆ/H:yFEvWZO{]^ iS &ڣd%߂TSOu޶,&m9J3E 3/tlG5 -+<̻5*6wQp9w:{o)@"Ȩɥlv/CC#j(*jncr7?B%E&#z {9m6ms퉴wnM ('Jh)mo4xzZ(5"MvCf \7fT#mV\.%)*xEVU'=6#Yq+gޙ?|qU}Pl?sģĀZȼ5=v+6ׂwl4EDou"\ Q&jHBR4̾Z@nqtuͨiC9Rf?( y&l0K$q)KYs#sd& V~6o{v\U:斆}@=C+Op*A^X3XB,SYSc'X .>u+ox4MK݊qA>oqܣK>򷵯TٜdiLXzo匑iYW /HS DH&OLDs.բI1ak Jʄ&P> HD<)TbP:n1uw2!}{}N1Szapdt |I9Zŋ],}V߼5Rlj5/XT=>BǏ14YҰu8IAgc$+8ImR`0|#tSX.V!aNX'0:96z.O*kOl@4") ILHj3肰u]v5-0gj m蔒w=iZ^\,%"ܯ伂N΀#JMCB|`Zء{{l BN 4l >'I,mNnx>ua0 +,{\-bţ C]"La2HVk*/c/!EBrY&uV\H^@|^/8[Xt lo_D5@ _* L1MXV8qw {i"']o*d' 4.A=S.Gl **1RBD_)FFJfQr'*=w@bp.X'c$M(>'F`2.bL$`n*Rf߬:6.MOZ8={?w- ʠP;X@}ZSqʑpL;Tz_$9uL VEޟWxc4SӚ5es#R$o/~=-p{y$ڳ6/WΫ0/F`9څWZ4i*~e^rN..$y;{%_)&\>.QDqDA7d`^Z*/ V@_gƢY+ PBiTU bVG^Z\~ VrjFYKuyRB1MU$.L>mc=̬n18XoxK2EE6qhXTFu )LRO%9hD;TQjUn^Rve| Kl_g/%rؖ7bB[[Kл6G7 gSDLN wa2)pE2!W0?GWIoٷmK@ct74~V.yrܻ|vԛЯr[T sk@j@1-?腌7Hŗv/&U Xkp|ȆHb' ffo*,870Q`pD&)N(Qf7NRAX"&ZC'*(eJ %B˭C){2+gqY'T}vs72$_yh`GMXe͏S"E?pC_/&][ I\{:۸dݿ_[YAF[ ?y{T{7r;x~)ѾAISv-$Qr 0垮TB&Dt`qsy(W )]-7@k'8.f-) Q5_PCc h$uj ;ZY.%dѿ~!X8%wΧ qJ|`DXu1Kbjhb($a0s^’-rJ3C8rH2ȎTT\)TF^5r8<GF2ޢak|JBQsJw۩D: n`_ j`?kGЌr`H~Ir#4+b|RnE(uba{ϥZY!< _K'wJc mQ[=⬬jIwv*Eeǩ߶xWΏ!Jyn,Bʢknտ|E߅o+"PoҼܸE-hM:r]#rYϩxɱ;qg  atqtQK-ӢKWHDZ[lLSHg 5ܬfC?):l@7 'cYBK3Jf5ɷ?لqZxh#I$s7Ů A`xn+Fa;;N|Kzu vQ1+rs-ŒrT5 o;avxoG0[gV6V*^$8=vOa 8<}ܲQe$>j:Y"J߭]Dh O=j4.XtQHZarA9:lcD~q0Ӓ0%-y1f_c~HF* ~M9n?~өNZH"f1Qu U C4Vk_S@i/ץZdsj;]@%[f _'xψ$G̱i̓@I=l[F@gpǥv3c:W1@7=?lx|;.ia#v\Un˜cr}d.2Csq=[Z๔[AF$Ʌ1J?-a*iCZ /43 `Rc+HMeF" N&o(ڶw%?ba*MDuIŒ @pK5ezQQ)D?.`DJku2#Dz , \sg*0BW=cpbbcvVHOKW(:r:(k0 CC!{A#eH# i?BJmKQҚw B~Is"3tM|E%O@b[F ӣ* ·`:;xmZ&*__;D oBm+xco@δao^\ }oi, lE;`sv(~\ڲ2I#t4ェ{`E7h9k Zz}x_X *h[ٚt .? U\j"~_ '_q697iUAA!U,p\4$~ J*wɄ˕:[b- xӊU[y. Ng[$%} [j=*z(yާ76BA뿹2 G;WVΚ'yV91/\ot#Mחv;-A0ZwDM,YQ9Yԧ8ڥհ`TcVF[ﰑ;a\0̈́3 G2}COi(R(DWGXEGpL$݆ JeӨ)Ȋ<>5 sZ؊JgyĩcTHĸ}x`6fA Ky ]Ϙ5.!0IiaRwh *q*w\Rc<)p 8EolXht!>Vu&bA4nc)| #r4P5Std>p|:6T4^ˏ2B/?gE sǷ!Lƥ:8"NOvՊJ3cF ,$zPGɫNm {7f0i J RRGq|DM)~ճM}HS49'H ec- Lf xw"4lŞA0\ZcKH/ w£~Bq>c߷_=2a$B:V.*Qp֊l~Q%y?dzw4=ؓYZ_E`@Hj=:"r2Uggf@% K0jC6ǂ:>hu.c}O(\'ByjӦZ 5:[yk+/})YQ7<-<G׌G F>W*0dY'B%ORы)<2g{`xN  -kp|r)V7L.`K@H 1vPqiO<XNuWGR9"J5jyu}4GRG\HEMQiƋF;w yvb\gZu JPJgN~#џ M.UC SI}Ȼ$ӺD +MȊLuuL\G9y\]W?T?Oat Az8]X CoL ]ȼp0['m]#sqǫxL&SGa~HbB#n 7c >(!XQ.ί+.mМϳZ}7_s /M%҃M\ܿspFA['F8E1$m|O?c4җX 7} ^U RHjM4Cq)I0((9Y"(`U1MYoك6e{]lYnӭSB6T*PÈ)ȬZh//k 0 Kׯ2<zDL&}]O1Mxm$ߕe ]h4!#cK;YvDi*ޜk 法J]7]T(ʎFz6&Y) /f yW?,BJiiֳܺ᭡xRB:Gz5=( =Tw90wȻlar_k-mXF<٧AزG`̲ljfb`AbNA+SbH P)/=٘\9vn ԅUЊFJ3voлEqG>wC*va.M+V:o<IoS, | wK]˲/ܝB=ѐ>'ZMQW2 <$ӋF?xejBl@.su] ˓.f#տ;b6?gFcWë3Lk>d'Jբµ s0K$D%x%QrR5V]\)Yp$Tzv0Hv]Ѷ- j&%THMF++;O7«hjw Zb7jj]>X=#pc.0Sq_BY%adP,B{mԝ/b,Au=1F˹P@rӯBq5VR|,i7߾Kը[ ٽţmQOHg+m+idՐT'COY7]bNՀgKGy9ImʦhWqa/ck9-2h&'&|`C ozuV+VRre/K`5urKoZ͠<4K}ܯMh;%9Д<{ Ȓ+ǩMym]P"D([9lEE._a9íay!;U&a􆿼 Szq8'3 (+z=L4s _zKP5 o.XL*BQ)ǞgQ!&Xy7RrtEuCe *]T#Vg3#3G;/햹Ŕ7ꀬhs:Ox_/:|ԠqV3>]ގmDBȪ=9Lpw4k!!*Fg??Y&n2ozAxEkXIR;Ho!HLVTj21DJ Xg3Wz Djs[GAА؟0Fy"&rp)xS1ÿ$4_ ECGѡRY|A}Tyeh2-ijd̩<:(#'B~P NdwRj{34(t!:t?k ެXA5ynIwߜlE^0|0 #fFoFݜJPeLa%O~}wam$uMu=E;lg;mΑQ]H\N;N-D m^ޕbĆA?!ixQ%8M0UP®>ΉצVpSW8JNMZED"}7Bb^q  CXRǛp8 3~tȶޡHǽs x;D_M; voҦ630ht 8$S%5OPܭ+zARMh&5UTG32oS 7b^*k`z?ayM៴r%C_c(?j0VHj Y6aT5e;̍I:lU-]@8Aql\lnDKysܶe5eMVD6%P&VBI>>AX?p@[9bJ O/Klu Ve /%ggb/neIgB)+t@"]9ސr ij#vtqĀƆ_-kZ7MZ~dcoe{$4cvgͲ8Y"c/Bf dujð)妐,\j[2"-Nx>\&$YQs7gB!:Ag,+JΩ}$xk҇_ Y'+ec YuJAC["37.Dk_YbMwezW^C;g]fp0M??KFCbBT>'?d4#Tva.oH]) }"e~NúCP^g@yS\\Ya qTomeZW5YS?=ӴOQ:v5?kM5]Q_99ṡeE*rP]dU|F`aq/wE3]=FGʷzꮴ}YV< t7Qpyȼ$>IVtzNԊ'QiSl\tLEV:gzφ(WނA؉r} =8ѝNShA_vyu:*}ےOf* 2syj˶lF_CZӉ(#C {G]zUcNjuTvyScxe4.EK`B_ OBU Fr^C?ةΒ]ͼ.}?zhkièsuOt]a98-?ލx\PکcXŀ{zݬ#*[ \H=LAMKَn"NnME ?H8s #p<2.cW<1L(zT yߕPh%tQRfOnӕHB IϡD8blp{M0 Ԗn"8 Pv n}VY^)h`0U9{8l9L<5Wӛk8}Zv Af+'b M %JexACANK!p}{ :[M}-1Κ,83=xcnqw鰃Kh¾h]"|!|I9PJ{H1UX‰@x$D nu.Oq6cQp՗%K^~νtr2!5㡂6ݷ*ÓrVN ݷblBN ]7§ F[7 I>eWCv9'{ *ON6*_@FڏΎI<зL$P4]òUM: #'^tz'j.k9Y*p4,o*8" u? +1K;M6R*8Q|][J\6w!f+"ӝ%hQ3^]f#N0Uxb\J:)f{H710Yr0nڈ&/ 6ybZP2#b)&A**t:Ïtįj=57uJ!^{0_R Q&iPT" bhV?C&ȷBj㿑-K*0i#E2`.HsظbԤ^w"ƫ'LH[u)~`E]5jLoCGQTꖱkl 4z`3Efz/A@I8 ʩnD#/ߍ3b! ^v]P@]Qʉ2UL#vFMgkaE~NVl7OK mM)Tڂ)gl2B1S&RՎmWӓgLS;;Oq2siIɜ q"%3BFq5`:daG]_٠]X[䦧kp s) !h7`D= $]|yi7<_ U'a[wݬuoהg|ȹҜ(鲵iHcz sجxp7N E(-c{foяYuYG9,U)#B+,vD濏fQnqZxe$X"(JȬpmm]PW 93ZʌCSel'b5H3<=pΠ kVu+j}WW2yM22-4WmT-SZ$1@W87uTebjJ?58[% !f{_!XUQJc~smO$:&kk 'Ⱦν٪ $ ksc]Ŏ<Qޗ1_Pɟ&Wߛ>;kXx ch/sy5Js(vgfɘ'_QpdavO:"]o۳tfD%< qUN)VD^.֛23,4;g%H[s3(($; R|2&MnUSaHD +cMf->;f}K%KtE^wU p0FxXj6y:xQy,I -)9/i؜7=(W*zӎ`ˆ>zS`n=y Bҥt- ^[14Va{oNpfS[x$`yOY*M^&oF.%ᱥ?v[ }":Oĭ!фa(B<[(F*QA):L7^wW ztˉ D[ 99#dGDKʤ^ؽP`qvxng#wb ?ch秅,X@ -F6-v`K]& Nk: 3`OOa (X,Qɚ zzv7 /@Rc~Nj<S`[b.*?4?>7#b/4_$0"r9s wJ-{%EX?*XME$' E!h)M_}!~ݭRtqygH(qG'!=ny0RE*&իfH@D'/+{ՀR8B+4d 7WFWʅ铭Ŷ9ʨAIfAV&("^!7r qFõ1Jy{ĘSVbLj6*pfDiO/GΧaE23u3* hqC{Oɦ\)~vev"Όa0|>]~f`6۪+fy"Q'Qigj89y򗆴Ÿ۟_M%hxƁ 3;|\LY_z성Ha 9eSOVUuPvpE/?g'E_K` ߁!/p dYu6H=k.ƨu#[i.mɏdA|s&l0/\aΎ+7& Ԧ(AWJh'O4.|=ǔB/P|.W>GpRD'ܥ v-%L-,qi;V;iz_T DؓA")OXSg}كΗA;yת(9Aj[L}` BK˔З3ZFvW+Pg~lo9zr۾\)eϝECkNVwEdž? Kf+i.Ȋm66'ܖz}2ve=߶jo!P=kpzS!}C`hYQu"LbTR ˑXWRI.E7g&qr-Nqw*c{ οHjws@2p!Ѵd`ETǘ Dž!j:av ļkÅ\3½()#AsקbOov$842ԍo"&^@k)ԻgmVG?oC>roLu(wtȇ=FAfe쏠xUɋ2}܆c&@KE"#T%A[4OWA- 3!m&YE.7*5 ]s]dXMԁ hCC]u9ɤ{KkXD1;"q,҅z-ѕh+x xzU#̅ 2b=aMqw SY7ߦ)x\n557y\LMhyhX`\1:T<ұMpUx57Td^H5sv2sq-UIFqhyojg]^: %;dS }p!4Kq "198(>wzX V}*dF]k]B#W[3?O+`˨8{cY7xFm!' G#,V݁uAcB5-~VAak:C: "7iK'0 gB9}QY74g^87ghYe2[%n54ϰcXmPbpAyO{^kH'qd:c6jd8mhEjZgU*} F K`Pa%C5ME/'n2q-@:&ݛCB}wki)sФʌah)%՞6)VYSK[V7d+ ~>ԖMEYqbaf pnG%3t`^ӯh%ar_ioS\APjja؉?x+Yfr|ђ Ցa]t7Ar r ԌA"<r1E;СZ0aЭhl{zpD$0ѺbE|%XH1H:HƝE{ԑ N"4  -thZFRZ5 ~L i/Ni)SKdJ/No%ߵڅ:<|!nM.={P۬݁F,]mQ)껈+*TI9LQ$?(^7A# au50] #_5pC1R@4_@ 5&^4JNH%~18l=M+3s Sd:e. )Od|*3Zw5E) EJq%ػ50&$5Ng;SPp- lK+ߡeˮ 1Ə)KlՔNÁjY{e؇ff絎c:_O\WՍcJH2BS6Vkp: gϩX6G~ly[%/x6uJ3_raGOJ'+,M9܄: #L.H`o |>D -:0DL@U 6%ISe,[4:xC G"HA gJ6H^{Q'G}ʉsP/oCKZ`jOIzAlrH=d&e I[fOA{??HhWG5FLxL$\!ٽȑDϝk*N|PC>"cN/kcͳ74)㇇Abzɾc0S1R5mB8OKn@cI˼a r֡73}"{OK<^aA670Ⱦ-Q Ap^dDʜD3F4] ~Ľ-v%"νrM2jVf7b uˢ@F^Gp=϶뭔UzKRԿLTN~iI5ҙݹ?R}uoXw `X FB(s[ԙXk_[ୀjeho.H 5ſװ= Q!k8+r3O/?kSWVd| ߿1bZNmnb⦿hEuR{kxZ:e]qH&\Ic&te]A*%? ܇']ԡ;!?tabhIjoݚG*ȤEFmlBMnއ}b)675le 0QdІGFqsr-5ILZDu?drCUlM%sb=_|놶WQN kt5dt 8g0r!+2Bg &i[JrLgy}8%pFݡS/Rڹh>NX腠M3MR\g}BEA2ybbp+͇-ځXg^V.qKD 6 H$~"t")6<ͱ*sJMI|w@~=SM+!c7i}ٖw[ d]ȱZ}M#;UbW^݃rr"}?D~2K&y7G^5 w$q]j^(Rt?EJ/>XB-1J?qvQ|-ZNTy''sRYESzgW道nq)6OwḚa^@Pp&+~LM}~Z7z/mKq2@rIX0.;U Uf @@ &#' VoC8(h<(m [ul*IHJ\8|6 $\Tsu-{+W4[YLcW7c?r{='Ό_~h mKOVj7z{M2Lnh;VI5)W01e:M@?Zz^; ҷ%)a; Hd|cvE}Vp̛i9XwgihCil*zl2| HGmAҾJɓouΘ/?2L= Y$*G_djղ[x6"fCZ5KhBU~&'dFŴ#N|gPwZDt2RL(?o_1路i 8d>ȟƻ\SαMc1 FDF U s.ܭ>En,A!p %ތ AO:E4X$CFYJ d&ȞYi}AP(G8=Sd)ci{> ! 5pJ|ۭhf#8p RlJiY)qB%,7{+Vqه#vM֋ ;Y Z$QݽjٻpM1gM7ԕq%>&2/d2l=) TMZC"7^ %9Z7 ˩ ѶTڌ] DB;XxVD)FpDB:jERWK*pzYߡFi+f/|(MLreq$a>3'e$#m$p=EmԙkuɁ7")Xd nz@#=I*JlK`J4lBHYV3>?PlplkN<v%pBx4;܄hOuy%א!|(!IY]\x٣Njύ)i~ksWeLз@gO g%^~{zcߎYDC#y6ڰ%tJCw&l{G ݷPHAtE͍?5hǂjV$ҬFA:w UոY; rnq &+Ǿv̓Nh32lcIml{f {Uݿ'vI a.jfXj(A zi:%ŶnGdiZH" X* 83Q6ͽS"0|&<\)3*WaHɍDd!= U~z͌Dߩ/_tBSIgE 4m(;PFDK:)RWb*~qy?VK$tNޭئTp " v.W h-.C0t12~2 j?C}4nT*E-<]M89uY-n '1pI4K td!kҡ6:zִ 9{LioY`%ȔVG>Rt^u|ABf έЅMt `mf1sIA$3I8cQ]MA|uI* 岴F^[]P4YQK?R a&(6x0'¦4>uS Vv7h@ }h\¤8#y Z0lȵJ267XVFϏy*n;Ѳ2]x{u)R) kṯwPt ۦ /OAұ'Stǐ#=tvѶCddlP6(oOjB8caSVW 2 A臥[҂@6\=b>):3صٝfhoj tW4wyTg}|% p'Z$v8.QJQɻt+Q'_nh%KXB6%]4z3}b P# IBnnsӞgZ/߈[}-KS{>K"!1ىkkU'0$dh^jO{xA U3xy)ҕkXS"zKJr8k;÷{-&< e. :"ϾSw% VWb7Sy΃:d֢9`JqL.l_b/ { E -uqY;z0Dj4Bn_ӎBPZa/Ŭ B/yhS9r.7@!+OgŞ#t,l Q>_OZOd eH`ﴸ۵` RF4#Bw[4[;vjV;׃hBI wF'/`o*>Kg]e\Z&,JA{`QbY۴֒]gշv3"KO1Yi᠍z# g{~;~8%).~T>_21WC[? ~U|"g0 ?^޼x.-WUY!ePLc!]yk͸c*8N-xIILRA]\S5<߷9 SZPX5DRbQiNC/ |0dؔVFCnnpM(f֠ݼ/1 Gcь0X`в˾o: gs¹ĚREEc떣]>`$d?gb=0Uy<]?\NgimҚ(𽦡yZ;>XqƬMf2fry׆] ZICP4HqӋ)):!дt̗A:ẰW[OJ{|eu( ܻ02Z -/[(Z].j܁[Yn4>*j!:?b| .Et!񌠤`Rz}[dϿZ[eb - Q4 M&cQfe7氤XjGF66k%6o3 KX3fFH2,tVߘ@?x@jU=(Li;Vu{SGY)g*PY"F*80&rI8[a2qglSBtD{&C/ (Pf2;vPv^MWrԿt.#pYe|Cڃ+툟EeP8~ >:lI0Yk|()A^*k"I,W1Y~oK:ώm&vYj^96Z&SXغc y`<7\kv%ݫ9іO6X;iw o$l5s9c0edp\c:=/YzF]!׆ g8~zn֖|+0ʳ\wJbV%& M& roSm5<׀AX%5 ?{`;HA"G89fot]dZh9ү!E #ԉ.|P _B٩PB/#DSJٓ`u;@ᬦk'f|\DhVǒ~GC^uJwILIº(qv5. ĎBd3)&4m WWQe̹F!Ma !0xJ kU Ð D#$Lp7A X B:0pTivwXNZ+/:ͽ #[H>BL:z.ڏa*HEBu@~E;Ϩ+e(#BJ*  wnҰE򄶰,ʥV2*BYr7M[JcHWj23t>T fM']`;CP! % fŤ / DID2A,;YjXE#1?Y8=iυ6yك +9HIʜUJѷەlbVbti4&0Ö<;VM;fIpVSЬҖA*o-7Bk-.2 w<z_I9"{G] Ci4#n&R׊ yM'T|wrP1TǑ7M;AJQ:UmL%Xɏ.WX/5oP;='ScˋuT.͈OI&(᣹Am' I)NVm$)WL/*`ΜmqK=[en"mQ=D D(T?Fs?"<:53 G/?uj9%zn~Bl/vhn}(4nOp) $Opmz)g"u^ܯO8tU ׃6`stH]fӄ81Lו%:.G"eblw;TM)#}AΎLxA\ډ@ XOz/qIMHc4c1b~.3*"ݵ9nڜKs?"Et? ^wĊQ:s ]2JZFEt_5o0Q)BD:mz'J.(䌴"@9`JP(u1{ljରQ;Ĵu2b > sg쑦KW|RQϾ#7TP9<9XӖbl>l}oS>\.t_'1j NxB0#m5PnH1%>r77=S2/Z!߱A f@_{#W"0DTn$汚m uf&!JE#Bt O@W5 oa9!תU,`IDUb":)ЈFOkl麄d ETeR?ئOJsyFo\T!x(QpȆuՁ]> +K.ȁPKH4̷Vl૵g%!hy{Udqd9G\#N+)]sq5JOM<3տMٞ%_Xшa7{6C+U)dJ!dkw襩4LNZk1? L#Myqp=h h#t*jKMgIb;O ⠯V`2dVMͺO}lP +FGr?]r/- ސPϻ0P _/31h4Jٹo\F k o?O2PG偡WT)c`8hJE‹.?t(n,!<Gb3B_y(A@pG02B<­y/z ƪ.H16v!x!;ٙo<[8LhBXM`0@E+L >k1ISȭIDf_.BkZ䎍_<8Z.{a fJ+"JǨrkBxMrJU(jPA{J~* f%U u8XAcBXrf>|`zdm9ÝB%Aox68$7.{9!̕-۞'XEy4Z[[`^rsh 3}<2ot6iwAuݖ3:͹??͸PYŷqqC2[iYW͟zvҴqAR=>9#3O )gcجZM`f/)y s=|` S}2)Y8篺jK( }Bq[8v*FFԐ'(KreZԜ4M:åf=kvSņ[E|x3/aWƴͷ %=jR΁ 2Aб(4s%2mQ<^V& i3QbI9Kp/ RB9wǼ0_}=ѧOЯ$QX/I /^ٻfzAlG^[an>f,CI8psUfOXC†,mO~u|7Ԙt7<A b)F 'rikXx !5ooZG.n`a'kn<q3aCuda_^ʍ|-4E 3ȍD\5@PNMژZmݳvBhGp mSau,Qm~zѡHtxDa֓o&YT;tQr} Sݥvfd] r g C(NLe鳏 v5Fas׳G\va\sZ!^l&j_n>3 `c}K)7` TMLbrɾ5_7bBߙeBw@97cۓR )ͼ?ӭ?S< 2۳WPP.km&<*-'q*c +z"Pl N+z{ا, )QoҔ5MI&i)ws :tD[?@Y~D+\Ղ݄<ۢl.aR{B>[eW^i<.98\j= GU-v2wCD~eq$|=Q@wwЬ%ô.F!7 ,1);x\Mj^oyAF>t ܔ ;U+z PauGEgyY\@U@#WBYtȣQeynW ;ŹA$0` h 2+M&~n9Fs%F8`gyNc_Q8r~ (K'CNgk+DBn^381F6ђ.NZe ,thQMW!֦\NB~Z+^j4h5=gINZȰ`Aƶz<T_̢ZKVpOd!<[ݳ"VK뱉קNaK) ͬweO̔NHbQA4XܹFyuDmE~LH\bU_ rW)h~-IկB+'] 0LnSmp; iTAy1}2q \]dĢmk%Zqfd)\ta%njS/S^,.uφp.'ukJ&xo bv0{elAs] *Y w"X窑]x=ZiN++%c,E U׈z4dP ..Ow[roV˼pIDh{`$=Eʄ| ~ 531tYt+VYvo]#)2S3vCg$c½MHdd.1ďO!l = }\ J${{*-`b!oZyYN(47) }.R &+.%δ&G|ܮ2ckwcC.^|^F*8*1WAYZ3/*CvP)G U]XP6* 0Q+UH ѻ}ғCs^uGfoGsF+g6_xF\I:[-eDв% h+­dQƖ\9+B +`YaW>Ԑ"Ui!ji@~XŠ0hË,B$N 񠆼xP;9YjݢmҜtdo/^4L[NP?2CrF?r(@Ee\>l7 [yo VfQpBcOQ^+&)=|]\b'z3 3'}/ǧ} "g0rV^q3a1Xv" F& 2LTs!햧^آrOhdpb?)9~X[Z>gb{u:kdV "؈i(ʮ';VCE4ǩV5Mdc1Q"K?dTԼ@fza4bK(j#nkv>ǟX~pɰ E`6dnS;/NON2g+X[U܂3x<ش9ς0y)q{} x)^3( {mͤiA/{nLǿ;(4\֫ջ>M޷hcI!ZՈi֞ ,8^~MW\=ܤ* G+ 10LyO̻ **lY\SAV͏޲DCtysxe }шA%_g"G֧ff/_BS&¸C zOvvbg|ӳwuݽF(n&TZJ3C,U>ʠM8;qT U}o'a z+R>n&0xIJ[[%(nH|XsʡM>T_q (TQa;!hSƎy7Y\@(nܙ%_+-3ۊ?9Yq8 cgؚ`hLgd <y.%%r`*W#{&Hb]2d7bԈRW/׸hȇ帹bIhen֏ %Tɰ"Z ;{2 I>˜#{v,%-n9"QCHm`TMۭi`^^8xJM0Rj`=k:"XKBbHarޥ zt]|O APß\O& 궊x#nZFknEںkы7E[G_Xxz jKo߳9+RUJv$[^ ; eur~Ǜā=LgT#-tusVFy5C &%_4,ďllfgZ!ί M$68jx)5] >tC->l1ĔqdS]Zex YNLlP'˻eO%vɍ)2F\`Znn&i4Uw7zs:WCj]Flr9 tK ΦDB]f @SEwga>͹uT`04\xmP1w%c粭A4eZy1 獂d(CӔi;gS0 +x\&MMIMHEj/-&F+J ;z;@^~@:c5d  3^O="ժf.v<E] DNlx##L9S" m&1kE DCZ(rj*MZEE B72Ojͨ<bJ'kQo `A=#l,HB g*^A{[JB>'~l9 M j\GbVZ%}?|R cA)Ei M np V:eZ,Rɳc0__an){FDdTp 3$psۿfbK:M͊MĀ>"@Cӥ:ٺZ)fDE-yoD.9~3*=%Oه{jIsp~PS@љfsQb |*V(w5[_l+r.d F\2j4]4h Ʈ"S< DҚcé =HGELCMG|"#CՓd $&&Nbx>;kOB_?*y鎇W\gv(/՘8DUo%\g_"~e]凤O,h6M=G1т;/vqo̢#ɧ,ܾmb5 Mp`X JJZՈ]|LIdbdjR= {qS)M"o_yKB=9YvxGSucmdz]_$H4.b=dF n-ZgLLߗjCOF#[[VrK W4!X鼻m>@S"W*(r_ߢf9[陖bx4bS\yE6r b10&Eڃb1I-Rg"PdT#1-$PtսW|8-116m(Q)Xֳlňװ4{Iixd 9[DYIZzWdd@D%K,:4/ft ,ϻNFpɂיLy4W/5׍J4gv9G|bA<0kvmU@N;N 5C1nIł*ԣ!x#4=:{u?x+j}-l6T1w̯؍tvMӓڧUm'~p3z]d9vt&|?PX}+Y `وNDC3Y_B Vmn̰MjqU-oD s i~B9Y'^c:&;ežÔA͑/ĚGU׌i4S(-;<{"vx@#(EHeh-޹nV+pTA&UK&cɱO;әrtd ڔa4n]2'aR.T%H%-AxTֻZ?JL[8 0=pգ@ənxQZw22;*4kznY^> HgKrWmJ.ɤc}an2~v8PJw͕_hV} 5,p0"A/1l3SUk)׼.Db:<\S!Zj/@O"[ʍv&9 =]o:60v6}_vMo M ΐVbHDh qE5h7p u#PvNz؀Kڎޞo* zщ$ &HkMt} g+uRC嚅ٱ,k w~jF&icNl-`Vʣf+6F{Ǿ3y8БIIEgn E:l:!gP N $UUMo XJHh#5"Q{ ܀!I~ikj1 "F=x!R5{@3U̕EPY<.9]]Cx:P0]Ļ>fZyЀ|u) 3,fd&þ GYך~K ; vh^Ƹ1,0ۿAXpWh$f g ,.h%8.ӣ3d?k=,pOZl7$Sݴڼ뻟f2F[`_66fL۔2햊 -O|!d,Ŗy8G>ş @Lǀ!1[A)a.^>^iU)O}8<>tjccɡa|xQyJ4]V7,:>4#ӈy593quX[$He2Q@AiWuj3J Xfq,:6 V.X_ Dx0˭.<)ܖ0|[ N["ҨXN}23;'yxe4]1]G`Pf/ N/eΰ߈!C2T ӷ˔/ Cvԯýx!<'6xi510cX1xkI7*Ccȱ ,w%FH`@::I-&4pBL#38wZxHO& oh3- v 8p0'+.<5{,o`Y;(c]H}{ M(@T:3_Ӆ }G7C-\/ ꈵ- UΩQ}g#FSd!nKŁg´d}^mRsr2[! sҥ`B񆎭߾87Kֹt(^\!;J;2TJ f_&X7|/ԏDž[Q3VZX_^+'u=<ݳ'@A7iXzr{kB%լdWw+~DSgjd, -NС`eyF3ԈҍO:JUa^vpلȭ1| r D9*9:䵉3rhOen^S|` l#;O<>BMDwMġ< ςz._F w?SGBU4H|## FmoW;&O%-]=~W {3 lV`jhԑB`P^/C:wp"1Q m[<̓I0b9(v{( 9-[_>j'DNfwS\،F ٵ?q΍͒nPg򊟁s7ePzUY J=C2o s6;^^5d[bw8;܋>挈 dw[Q?mK;aK<)=s#ͼ<*1<&p ӌ,.XIS^S,y_B%YR=W~Za Adqs*_I#=۫Q!d\H ^R݈5 /nFs[,A``VIpۆUGM=;Xd7NLԽ${ur0UÞ=m1Bn},5JJźn| M17VBϓ[(.fL ބ5F";/&O+I|6"$4se$y7m OL.>mgM^+\;20\\&ZP@T=q2N~*.f#b,@Z;X+r EB#ZFXqҽ㪭4W$)Q!Isb GLs-*)0KTi)xr"֖!ÿ|(kHWUNZZdЂh:J|I 1 A@u![˔ӉdkH0CqdZ}D2HRt%~ňG!pn3pp]:L:%Wߋ5q^Aʋr@@`icI J `P83w--YUZ,~G֓=spWD=nt}QNzzS.ܻ2nwb }~CxٸsѪ ݙ{ AIUw\Mh؆"j]|܃Ҵ=J C{evgH!Ӽ>LF&](O!Y"jګeUJNӠ)Vo<)$k\6bY=l2}@|Q+5sG* Ju?ĨV3MD+uӢ$v!Nq%|gIouEc =9PM#D_EªV[Jބ*Z~=<މ.v Zŧ mbُf&.0!\'ڹy5nmB_X &U_NOX*ۥ ' NjnaH_q9kPoOF{.+PEqUqu8eC=]#9p+uݾ-SauG~}=÷F=ΚoX}nŰ3(i=cLoL%q=>QK{fD @+Tl}/X <˰H1gPSsyZ̋q?ͺς -Z6 1iCWhڔ-EIek>NΉd 1Z]-|%n4]aÀf{x3Cң0t$rAAi(ϳeEpz'*j7 ]JPe,nτCױ 5B6ZY '$xTˁ-!G0/*$>cpcthV_ $\ w8Iǵe=/Z}B%TO͒;2u vHw6 P=]<\-%(YejqA9ѻb^ 4 +NYd#L.ߴ'޿),K1=p:Eyv!pv|%Lg᫵X74K>TJ_30I(k7}tGV|Qifjhhނ}zsi|.DE^fѷ{h<|Q5&IUKg3I^e_J;\^/}hԄ=\qgs;PwHLTo̗}X'B,nyh"O aJ;'gaS (pPh.Y,ERB@;o374AIF W (%2d^aߚw1Q4Pѡ;熒_ \Xʲ+]j#J۠*xnC@`i ({!\7'>ĚI}%آwZX bMIF\2HCKPZN'Ax0)hYcj"]4\hǨx^i7s Qj_@@3%M$/Tד*Cd ilA*=dFX?e1}:gt ^wh \ 1ER Zvԗ k/X[ %ARQ+EiS{chٷ$TS3pge4 V%tFausO[nh~AxE4ϔcҊ&;*!b|dQ/r3"oUR іHһ/gTمJI*qM_+]n1-7Ml]EoH(7=)k2B0O\9^l}7A$^$6zL sfhjD#߫TQ:94b~>|N\SP0T=%|,̭Bq- B}w%c`mr3f'ԼشQ-e(c]5^΋> ^%uM]9B9t8x}?tywQ{Ry? º]2r&`:bA6qq241vr;3 Krw<|}=Iwɩ9UOб9ҨspǹԓrB[Q^ λʴ}`yL4 x,#h U# µ;8ߝ@f)ys"!ީi-Nzrn*-.6m( A06XE !\evo hs U(&"Ԑ49YPvҔ +g5_dƚc}M~C{VR#NTZGh=d%q2YU\.恅!X24.#+UhҽNm8?fE܇rf>Ze|VnE_0Z i_vF7Vܚf1ץ՝؝ gzJ9Sl) сNTANdw.7(o$njnFxjp wk7??CԵ|n~526,, U8SH2}3yh鬑A,-=&j?)-Zu1ӫGj.-t5x_bҭ>&=ݴxE䗫g!߃D9$[ %y$aig6D|m S}*2֛U"~(!Z9-Br8yU7aߎC<%qm Bkm(@=Nt =@BCvDw6J#>tﱍbLJ׹%s; Nc:0d ug/[ G F; Ax~/)O{9o@/?M}7`7S[3?GAR8+y|:8mAh/Eɂ"~*'G58V"YtOڼaiN͹|Gs5N2ϒSpiT)@G|(MS˖gcNѪE z1IA(D  j iz/J{qTӡإxy=YO7J($&G(/ZEQlmB Hc2Bd7'4OE'{?ڕ}d1lXmۮ>wTyx` TURyB27%Oh%Ks2/qytldZv){;dgMQ=j)pI O8Yp$/O gc8aBN$ܸvk!+DkjsڍLY}+M!܅%-kGobJ&2 3e^1pY"|^Գc9Jb"- mIu ",C{r}1$ C^'#pٹp]W2հ5֋P$ddPF*׌^]Ł"sJ M_~t틩p@?O:'ܵO{,gVH5p,NÞ3*LԀsAƳ42ʾR 1I\a<z/%jLL%5*+u;(/x1"ոG¦-@c[_J )谻?@yP;J3'Xj4͒9ܟ!T8*O |/yzQfؚۿgcZ݈Ct2NhUڅ=jIZPbd ?sە̓#N<6Jm,7ҘCpVj46+h"S>)MGʛdA` 2Y.NiNgo}p=x'd^ 1-mէz6t#@f5)w*Ro 482iVJQ}z{Ad.Ȱ{ kE|%DGʞO&h߄u?!!FnGDDðY<n >Efu7DU{ }YrIlw5 ?֙*=xKU,!V!ı]ڱs$PvOx&`IWhk-huyvK̼FdO?dIk;Jqhqm`iL2}(a c`8@ HسzWep~2-25sYkչ@𲅹 hR*ݤI6_ȐG?ɭEQrFps^:dMXdLR>+닦,|aB'˶ r/ n?/V95c7FKjHcSnEA22Γ,P`M5* 3`ks[E>685SefY%aT*>ˌh61&VçAI7/G{㙌d0\_b0mX&b7(6$+t"ono-'oq 5)::W/)y*>F}uDB.QQ1ήaGcyUwjdf2T΁BqCu`*L9/ܬ [@ bd@NH=H(83Պ_λH*{˅ \ y3?Lq M@&sBD! x Hc*#M8N݄U*lfu.GÓ ˹˟yP <`I 9M|-R$kud5܈kƥZ[V:ࢼe}V3oװ)GwSxEm1uqT㟸a{:1V,φI$:+zs,jz2 l$:BD@%eot9O@.aFY hT&6œx ίt"Wk=_CgcaqqW9Sx)K*"a ekiрbʏF6 L~ߓwt^ZreKa<)i̔z6xą_{u$a䳐$[ 빟MTLPЧh_'yQp]RSPDp@s7Ⱍ泈f~5UF`Qc\рv? ~7'i?N֜@2⨫K4ik(SvN*M+3F<έ&ca}cu-†<(ȩ[;m `cXb=; 7ʃ;s}۵$U-[$Adlm@ķGWb ~9VW=jlh̓dV8^zyY~UƓnc$XCfo 3yw΂Hۏ#ݰuMpa@!3kжnp"oa#J6qaxjóT3{+L奰.Ȏ}2/N晚ooO\[~ѧNN#7<=~ddK#&imacbr dށO]$P ,"n9qZ XםbbwK|ۓ#E|%Ixb7IPAwC kFl^-&4'/aZL< 9y4I & WAx0Rj{N 칠 Oj 0qj{spY!)ńXTr&]DE'c?Ι5bFYݭ `$$y 9\/\T6>xz}|)ёQ\ֿPpɍ8 +:1nTs="N[T00>cyό9+]H1HBG(C/+` O's'bHx+APL0Py<Ɋ~>Cwge늝wO:2lF,I{ ET'zwX+* eəoLowI.=2)t)v!:b3h/SM4] 5&S4RJM7!g 栗~0yQoK/"ckE!ThYN mE-<sK:i]{zPiO~1PP}I\H̎v9|GC-HY[kfac?*,%@**wC &~u8g%f\1 L}+=" S<-V`Yb^O 3T@*^}uT0—V?8$>dMyHi#j 4-"Z w["/UJɝ^Nێpj0-*r/Ex|n"Eh$x2Uǀ ѲCNJ9f!+ȓ%a?)HpIف1v2.p S(Jvl2sh8XMЂ 7CwQ*qz# CIK1!טF@En\KmVe!+]{‘Tڴ_@f mv8j%M qTljȡB;%X{˚, T&\Ha@~98GsaF?FKI #n0:V0ac)iPy˫#1iyfffGN"xoCM!5g?5鳨@ΈPTrgZMǻQ9VT DOe4AA}%f<.ED^UG^ؾU5r8I*sW 6APc-̀~8p-#}N`Cmm 5F[%%zjsOT_w4)*uy⼵RYd˷ ,f^9N6s0$S"{@e,~S|H߄1FP>cKhp#:\ʅ01m\R+Gl֧R:RmMcfpkq7ž7:zU*Аp>Cm>$8Pʿ8) >5^x](9&P(}/E)yxCx"\IqEu;ЃiKW"ДT*p(INvӨ/{Ul'GbGu3V]ž ⴟ k/Lyue֣feM ?TBl6{ X,N~$De)IwCE٭D!Jmh~z!$Ưfkϡ ˽Cˈ"akߩib3YG+\'(G@i(5oʟ~=Y,`CnsR'D64!ezMhrsNdRc@E_H(wP-&+wxP}'yY;(bKr,ZK 9sc ̦/!,YRM ~|e?! gIhkA(dN$C2u&A6GXSG@Gʥ-",9Պ|uG.!v6&K %4t y]Ip'H`{}H5v #`)d@*ԣ>p}zg=WΨZqo] UBoKT ]F cCQf8y\_eI%)N3CC 'ubAoԞk Uc+:|{'<[G[ȖaHKAf! (6X#ʹ.ӠPAZDnr^v ѮEKT,/=OG#ILdFaBw-f"`?۫FwYʢMjמ:< h`k0 $bh@>_%À\t:R-,#Q ke+_7̞xn^bל_ɀmUVi\`X)of)2؞SE:h4};׷Ԗlpװ4Aw mҎJhGnJ} w5^]1utA) kv) AhNB?3!=xgnr%J-X<*J OXtiP9l>Tղk8 & %)!()ПhaڠխG|C浺Fj{< yE9KK -fwZ& }XA{Qb,<%F %Zb`D~eG3fJiq@(oAn?˗ۣ{ĥǞ7ِ_F; L<8{= v -ߴX qxԇs7S. y?+)R?H\(`VgDu#h+,wiX-h]] =J jTq/=z00c`V jlc Lr*/hh/X 8lX\tX&8+,ΝT,1+vA(@Qh0z>@g8˶OM^V(lIJ&3%(^#Ԥf$2*_E5~ C_3~6gz (`Ɯ{}~M{[$Z mͅݞs)~Jy]ri _]) ;bU] ɼD 6+q`K㹼@8F[z. '.:Eg_Wmkk1UE\ٟJ\4rd.]rS=$n g5/еngu%Am͟W} >eU,\c00Q^44pJl J dzģE79F˜Que\PҮ#^JoO1;} "gs:?٧e~g6}ck.Q4:GGB "}sjU/ Hhs}.)_Iqzb0Np.|zY!UA)ωv.\1Ccx؅Y9ԗn$;kßx9NSMKn&Q^ӧ调ެE djulCeV|Ɲ5uS /`E^ĜJ`.]6/%3{DZwae)A\Xa Sbԅ&(E:;\Ȁ77c?*8U/63\Yx\h =c@ey#~Z38#Zj1낝uf2,ˊO;LBc5]ϮaLw灤Qků{ zg4mP$d.2J9\% vQ;u*e(O.֤~H?gTe ¥Al'a Շ${bc=Y ( n'X+OV\!}ukɥ4t5&#BaN蝨Nj5cercц߄UPqMbp,k߈.{c/NzC>pxJOe0Kl;ـ8b#0 % "| VlѩQA~/I3A*ͥbO}h&|j @Hw# i*oBQnTY2 w"*j5LEui趼/O`nh95Ȁ%HM<[/ñ#5k.jZUR ?2F}\osVZH/sE; a]7b>kXCtF ` L3AM9c6@x<8/5US?華~NJ}J@8&?*ő/q<% X*Hj⩎G6M>"BjHª*fh^/?UxҜPV7m #9ƥwy}4()`c" g*]ŌJYwϛí w!*99/հ"­zJm΍8KwrB;,#Sw6MUUS.0᝸(vY!a&+k]Mgh,!|QobwsZ˄l H8ӶyvMy6lhrk| ;u h){)b]9"#cI00Ⱟa s`frV[61Mg Q=_,Gκ` !̭+dTqؒS{ݡ_˔d[85`dc:Yv6!mP> W $jBځLG=IgEw#(I>Džɡ Ӄ@?MNJ\:j l-8Ǽͺ|;)G?z $˝_7x.d=1{^HRVl(M-qL-q+V[/B@m/{[~N3M̨]c7{(m{z|֧#[G~=5xZ%ZnQ.%>έBZ}z X/I)ZNmxp<:1K*8)FP3'$@*;V2vd4ʹ ~, 6*Q.7C3[N,r۵ ů%|U/e2H1{NԠ1Q]#>"jܙkoרcMn ^ (QEn1]nJӖ5G/3 u/iQ2L:Hw>j oo+ɍFRBWQէ蘞:!dEvF:f0ɉ+қAI|P]؆bnO=a檑G kIgEi.F$gp/6L|6=~D_4yg9vƏ6lvh_ p BYb}{_J{E҅I"QȜ0(SohJ\N|VL3a} ALh7>0/.8jN3XՐ3~٢RCE\'ig­Mw+זʘ|J}: ѕn^_~nO)\2A-QD˃pC|Oz4yjjjgR70ƌ[fzr.VjN߮/3:+U#5XtJBHŸh,L8Ŏ@9_l d{ʫӢhƫX'G{㕰ύW4!zỏW4 ٮLx&{y7PPmuLXH+6N懗õ*)LJ@oaׄ|2;^ tjI>+&yxay%5b4FhIGGw2#'7Jae7&)4DDa 9F7e[9t5Eʖڔ}]lt!sh{A5ps 8 K{77߀<̿˴1IH3/hɞa ^]byxjb_n'RS/9K3pjx /D.4P' 'u彖 1j:i oAV)-G,5b1EkcOބ Vk9xMW~Z4bcYãF«,2$KC6FSB9^Ύ'#Z,_3XyM~?7K Z\4=3EGU!ZA?M6.0wyc`ۇzMvzv#RW8O+PKerȣϢ+IS?+2S J^z 9r5nAXJY1bWE3 n0C#fGq_9 #[1ӣuC0-QXϥZ(SZ*Й bxa"hMj?1Jܷ"-"Q 0WT?Z ~)~c%Z5]q nl(o5JT 2y-*tb O]PE`E M35NN-xwsNCж&XY;b,q{SRږ͞ QYLNbxG߬(>2j:})EL5~LySNQs̸> G(7%_ܩ5A/] ,EijG'gVptA{PdEt Q9+T-$#aǛΏ6@W^L#UC6_IV2y[%ngۮ\ 0;M[]9tEt$kKb|E98-ﱹ~C O+Eױ㳑X<-D UT'";!@'{ {z9?`p/PՃ'-"<'gV0s~{BKUn}8>JuRph!4b ZMHh׆Ѡf.$ "Td15glm/ِ `sICov͵IuAή!Mi|c.^oMUj^j֘W3>{U9<Hzd{zZd}R$h *_-u{c{DLs>q׹޳,jvC?:̖OAxs2!7]*^k NQySQ'\I4yBق}_F|2CpƌwE]>{_}HK"9G@JyCFق: 1ctHh1_TӗL@-J?؉{ۼQir>hZrMyR WEػǏmUHڔ͑z47J}Kskη.>5/D>Nb} 6o*e5_1lwwE FQt@hGZ9V[iL-Q?#n^1O#}"TLlW?m~{:w"iEK/h7mjALИ tgֲWɾh=h_yؙ,x.MJJQҟMsSVWлH|-7x2n({)df1<@Org IO@No7!AIS˅)g|pCb~?+xLyd,+2owDZ~L).ֿ-WD*>YXS}Ů3:armnʣzbPjkg]+` ^!ny% 3gxE,_;޽",#ɺٱh FY@ml3[Tiж2p|6߀f"?[kqS>IL/!lb{˶X_H"00ꢪ3$4.4WChgkg7o*-8[:gub~X3>-(`>#K͐w=D'&L~ Ӵ"ub,!RPӉopO+skҘ')u@apI8QCp`븨RTcFb>z߈& [qq'u30~mē7+ g=nS:⸙p>LEZAڮLzNfNL<2lDzT}GlJ*28Oͳ͐V9$kȞp 2SSkB*"w[o,:bY&Sx &=C/NSKyG $)(\~02]%ytzA׉EO(d[!mHP_T":0N}I㖐vg fM`J4 1432z?2Q +J$]̊(;>jSL(`@|z-fx|)-vXG@ZZd|+Q_#WK)a0K5a. PnޠWyFR}$Ɇv|ߦZ |(}ߖ :o|\εU7 MDWժ؞ng92wq֊ȝӑ H_tv+1EF"e$BQaMrZ`܌tM[OFP˸wA]UU@R?aPz}jz9|6;@|ß70K+GUh$`\[7}n>wT+=-|<{%vYnѠnӄ Yn ΒW> /+X=L"z518nI=G<|kg}M@eU R{5y|@5_rL~@KE3/J&l$黕ui-lIeP FwTb_ sŨ0u^ IJC0wXFuIeᡆ/rt)!vϋ[$~pwS!H']90]n\0>!H|zA~[R`#:թ奻@ߎu\JUQ p{_˝c +Jkc:¿˙JDȦ#1{(K$7wߏ=+Rw QfMi^5 Лl{ASkIRǕ#@S "Nxո5gX3:z{5¤Mb`" dst| #$́5xݧ2w,H >txxnZ?oLχ$vo,8m ǩz>Y/IU 4' n: ^լND0Q0#*=0cetgb>ۨlGջlo':́䈺/p1: : 2UwUkR"^OI(.ʶh=| b77|q/϶?HϗyF3HDmQS{Ob] [L I ќ ͝&nQPW#bGNr ӛ}&^}nyz5Vk!hV)F S١&Z=g6aALqJOFOV<Cvo¯qMI53Bp8Fd J5Rjq fZD{[-o|IPZ&}}PpnʍR9^~Fy5TD+=D'Ҳ !4@KlW5D*nqVs[Ju/^a]:r2u`ז3:=WG/K5I{k> j:(\q$%e b.7 <,]9m:귂-hß/kNQ|u{(Ou0) "?IS=:8k%Fo~c|'Bɴk;:>Tk'cZ3 B/Ȭ)2GtG-mqC/U_tqhxLz `gX7 rsG neQ4f}r4 }w#ph* sLǥ :M&u$b>ee oZ 7'nxDK88!3nbrz -jS;ħ(\D!eHG7K(҃pfH.(׮5M1+V(qyhr a[#/BE@2ˆ޿N5 (LP9wcƼA3-I;[:;Q8*N`GZ Q2Cy7t+x} Ī (V d&IJ$~s Ac-ɓS7u2g<3EJ}sL_! &CęG0.bŪR:E1I4%:{ū&Fk<ͰG+k :Tn(uSka@"dƓם*e_!w $S3NuJR@\SyP5*ň["zNf?AuK{ S,TݣPP\w4$rQG@/)C\}X5(K7j##2($U,^Iڃa1gA㓥> #krCfX7tY34z) x;Q1 'V&2*퉤8n$ZVE(ܚk=_>K#60a{/G@1V.%͵kk'~"*߻?-˔u ~B"HXY' ļ9]l^-P[FwbODPɢ5g;6u,;hCβ$7 KNttt"vh7a])3se> V3/OM,AmZVk"I1KZ|_Q+Oc!$f;@aa8jiXrwv~XM9͔1xѰB\Qfg/Yۺ(0e@1bOw]x?!PoO5Y4m#CUߖNaP+FD`tŵzٵcqlk3Ɯ(/x"Ԯb$~~TL\}TZm-`>OP |%' Au/Sel/HOqO &<.fnR,F&:8L?bֆoSR0 .l4Zp@!ol"m _{HX!dCnK,r">]j;Tv0~ڣag~%CƵrJ{[i+˪16ER]+Qd ~4?&Ws shռ-!& l7|DXN|dn(?C=~^+{3 PM71lP2s+ w0*QеZI.(b8OQ$-/ $|2м@M^FUR%Ϸkw5ˀL -bp" J gc/5YyY,0Ւ_\Wn`@xBTʮALVW(&fe PD`dL&U^|Q҃Ju[RQ45$S^wb229t-y[-~0PJn(RWףZnn˙G&k/QqGnf"q7u_ΤjVMgvVY-Fn D*HSE1ݕh=[0jVɼha#X#R`"*>kzJ]OH&6"`.__wO?%;B,=?U[Cz~E\y̑ 1\-c!v%P_̙D„+$Fe(Kz(rҋZx]d(]Ţ֔q2|8[W︙&t^%)KDψM-2s}} cNk'\fG:YDk ƴ+,KZkh"a, *; (zjㇲݒۉ@-(^3IeS3_`<*UA^0ʔUQc/?0F%/3j%8ӭPTIefo^3Nq hmp쥅: i>CYt_u"`%(gҫp,P+#6}E.p09BV l_}cLzRJ`IJ9ۗ&{` %cq\"99JQnc''Ti$E"ㆪQ.BO`:9 Sl=:;-zTHۊbc؎IBT0§x3 WJs‰jI|u#(2\o)VTXB)xb>`=*qA.}N8G Ls-r ~qȗ+BšVGe;ssG8n7'RTPJ=l $E3Y*ērS}0ŏ *ߚZKd2-\:UUWe` E.T⥼ WQu>W.\zܞ&=F[v@ uQ&Jm8/̶O\YU˅?;jEEL1xj*R55S5^TZ2~U~YHÐ +еbLQe ޼ͺOZzN.RAޯnK=C+-1L"czm*M!"|u}Bɺ[!;?C+@ZO!>$ViT'i/so`js<5<<~ 5G#bTM6[U]ˌ:'$UT[}/ƻP gvc4U I:y涖Q&Q!0k`H?XOȕU=(` LzJfglhJt*z6*+"y(>*8Z,A87@5W$4r>RKF,G)[) @H@\r4]e6znB釮$kYt퀞$ʮHE5Q}?QO^dY&U,KOu>S{7v핼UW,^LX 6;`ۖI!g܍qcKjzy/nG3DRt&h`Ew)՗+Q?|u dyLiL30E"H`C}'@.U9T(*]RE)Ă~jܰ;WpNu5z6]ҀM\x+fOHxɗuhja`ngethd*(#}/Fxr$7h{S/uX^\@O2{N8!{ߴ`6(ZBTjIW o/Tֹm`ݫa)D$1ϾKBf@u:k}߅: txW"Gd*{[1MpWԘΓaU ):HfB5p-c֒%KW<{gPl|<aܮ3տ h{ 4Zw8Ʊ(sĉfڟ.GUg#/6lNNŨYC*TeURiK).aK" wʭܮ *qRS`oDžދZ+v'ىn/Ը"5gMK9ZrOD҈v*H)D _mm51x4+-4Avd\ pki_ +ȍ3_jgI9]m(TA[tt5o};y˵_0+ @2_+cX%Ha@i%t)]s_ ] ­:9OׯCʞ1"4 W~,uvG|h-}MsCq rSD']#dW۞! OChPr1ئ$ ֺ?W:vVsq8b)auvlXVxvZ|ב##5-H -l;,cSd׵4wc 1:LcjN$&5<ɻy%Hwvldi#/S!WA3-wd ¦p-ьg 2m+ʚHZ]*LW㠘QcYj.Ci;q|.eu-v @WPG\FѴRxP6򙀲]*4)-=\y s@=>yfSVT.A4Vh4qe>i'S?햙=^Nzg5<1>N2AM=Q&*~-Fŭlaַ*w#Sj"+jK9O ~>LyArg5AȌ7k%x#m h޹[lMo>S2f~":1$:jH,6]]=QxxdgDScPvU&IQ=^9 ς4b-/׫OY.J- U!+t؟6!gX-ŧF>4Ӏg&rjUQ&ތA>e1Lla>2oMb`)Ay5i'M_btSc` ᘡrX/ e ۫#QzKR"  Q 6+v ;>_rs<3Ӱɦ\.2y^3̨*@ PX`34><hl&^?/\Tg9|n5 },~5yT-U7DPFȣ}Vb\]VZGKloZui.xst ~9U83q׀Zg5m,lRT3;"|n.XF .G6fLspC5W]}"KP0ĜȚq:#KHT'1b3{4,]n@b@ٚ!ʞ!ҨjQwj ^DApQcbB(FP\מyn$GKqbݟ\2D:ņC:R`r0/rl\!|.Wger㇭׈\zX$W 8j֎ |c+B~L4/¨ӓeˬw+A-wKk!eULJ[23ˑԜEE @hZYq9U[:Ɣrػ7elk%=(n- ?Y TUYpd{{@ ZURAu)A~ֵva]ۣqIћwoa-FԹ}j2jy c#LH,Z\م_V!D/KZwM3O!&=K'p ~,B>yխImVűcM{z=TzhXG;ϓW|'%#VNg(%Ш5<4M11UxTQޏ9^ܐ҄zh%ە YJdINNƀbyޕQuQijF{:9RX)gb>Seh6Uc?(9H:+_*ɝP|{Sn*+EHiu %LgBA<ۢQtreuۦ"%.W^Բ9wI5(>a^+gjiˇdb&#\wi$IbjWEVq;U$n]Ayd}bӵ@/LnWq<˒Kx hC*BLr]^Q ݋!C2‰4"jE_lf\11=ؠr}S^[ lTg%X޽+ԸMR-F-c㖎t[±܆ LG r6Vl釸=>Vs#3WɌD+@+7!a"[.]Kr,Q#5ә[xŵY!✕oBPqXhŞ)x 7"NɝWڹo!yI8mdij:rx{e'K wW{ݯsd$4DM} &9;$of1sRp*H99bB&B4kIr =q;9#ZT*ƯRRݏj#f{itUC?dfFfОU#9+QN`y3{o˾{YkR#,rZKUB3<6Gj?x1ƛz>SĿji-.o6(흣O65 xke);-%CF9sfЬcIČN@:ۥx!>u;BdѷowbV$%/`X#{G|y|ރͪ8v ?rXEpB3>cMQLLr#fL^l^m7|ϛ2@R!8 C]&;L nhaC+}:Yx~M6F11[Aɴ?}ߠn@9- 攇%'݇<+}M(Q&OyHKkYwk@FRHŵwv- S?>=V}gºg{q (}; f?La^qG"pb<= vd_@fX %gF tbj#]id5xX)=`cL>vF!)\*f j( ڍw>,;yǚRC K%',r nGLs7Ew9 K4 12J*.SՅ S͚' L[tvfZf\p$/A#|.;Ql2Qk~͇Fc(:,y㊻N_t߼'dmYVѭ$DDoiZDol)8g_] >s C]?64Y55Z1RG^]ܖ^+<©c1<*L\s`]Q' !N7;CϳߦLQb^~[&kT#J[u_u~/Z{vk3^ իljЊ%]@ 檤I oF81R|ycmD{lRc_ >gtt/joF}@WYdP_ēv^9a>88XсOEф ћָܰp-dy3믮.,. a"׳.IC) ^R<@ egǕf\m;ŰCJß}(KXZiUS5AxAYjYf ΆmKV,u|,T3yT~⎰R| }ugƛ.mv =W\Cn@]CK=d\jt֬c4?"z'_|UwXŤe7N8y[ɧilaĴmHcWmiW% KKԚqYk\2'{qcu~xXvރ|@Zȕæ΀l/ZWRP rRza!եLz[O|W[#TaB3m?DWUK1EQA{Yj-$HA ev8H9=, :~+I6kwC9;2YWĊnc1$0:ZGeےzbCMg+PМ*z3WRKIh %פǿ\Mt9pz(=0y4^M M)@vda4:3tZLLKƊbjB'.uxɗo艾G^SMJ="WW xo'uB3?e%N hg*u`#ʕT @e'ұ{d1H5F s[Ja!ȫĜvd㳹YȣNWB&o]$BG ݴE +n_+sns&cP]i,V1u?Fo @Cv^`͐aݶV09V^ƨ7tCm +C]O`I0" L"a?R>cft͕wDGmK^m1}n[I*w=83t'(PlS͕Ak$ (8C`2C+>IF4ōt`gw۝;o 6fE*qA !& D/E!uc[$SG\=:&K*cL+j<{ʼnRğm-bkm&Ո]d$}xW ]dDq#Jt8_h-ú޿G6aXE{@_+x)Ҙ್תuCtyx\6d ;롒aĠ1] FY"r~ ֲJz|ej,惒!A֡^OC":ۧ3UAd $}WH9<>ՄG|L惱m֟KhH*lXc⦹~Nыn}98]6.8pvU }S}-ab ֛qvϮcWы$f\Na~dKD RXe,h2hǹS&dĝ 8]Ql}hPR|˰?=p,pBk|hȧ.f0ؑubm鿀iފ1}/rjvy]0h+*$V$=},$b@\ L,^bXrVe So2c08AaDɵd&a r|"!]-KVi2]n@jvLUZOP}k6CwXHX@:Bw?Ϛ(l .]1zdC- 4!ѐb?8 hoD ~|Q;H]@FJMs2]vϸ`%p飛xy3Pq`V-P?垃 U U, m\caK>VҔnV面o "_D@×3_v>APP;s8W±6|Q HXD1+6¢DUS)׽ѿI2. /Y 9W7ul[MeQEb=h=;t;Xc__߯_M>^YsYtߝp㤶Acv FdC0vE˭ɓP ]yN1k pjΫqx vt \(E2BS1*Ao=091ig'ce܊؃$p`IZ=A(IkV+okz"#4Zgx0PLF,:š^$x/`,J䯩D*bJ+HOTU#\ƍl7veXM O-\>mǂcy!Si,~5%2#Lli=}D{A*sCLbw(|MC8@ {Y }ͳk1iΕ価svu䭦2#!-Nx O{9(OdȖ_wѵg1CXupn~l!^ֿj1~qx}~n%o&IoR t%b**PXZ߯&! i+5Gސ$Gn_ģ?Ia!xLŒ_w0"Ztm'5Οרgu'֒aMc!jkLLϨiTǽ& FS HaKV2l,-ğި a!lL׌C>.tst.BW]]=$k@WPp= R`^B+F 4\LA#o,7d @VbUY)<ϧ{G9`_}vɾv qr8ċoJz8@3\+QpIMZsG_Ef\4k‹-4 F! 5/Q93v5>8R }U>i-lA& W3m*xKD-I\瑇)ڄ* &F9 uk5OB)!%Z0xFz8m6nA X͗{NB+W~{*cZNKJG_㻳*a~+GAvң[8"ǥtoJV!'6׸$ (u73[{X]o&|+ H s 3`7"Y,hR@##U .3B"IHFaso/{i>Tg{l,0ż]'}90˿A%;\d:O[첑/EZFM5cg&6Z>~ fx{`zV{LEul;4wyXfrR 4CV@c58P=c$s0VV񡂐)Wx?2bVԮo3#v-b ζ:X "mdY+o++Ћ8A3AȜ!2mF&NL 8'/ !" UMڼ1S\<[(x ͫ~JvJ#hǠϐ_J9c>JNzO*JA 0Ĭ9&ĺg;}4V[o{ mDB4 2yXZ͍ 4(rS$Gš3i}̳GfAKhc6Q/ܝ{EbgΠ?{B= *P?%6OjL 44Kw5d+܈QM8d gI( mJΈ/+{nLP**=%'ӻ${Z=D$f%.}8Vhsb'b&1`i&9Ey\pv@ EEJ]-Oc;D8h̑oÐӪu:8rp_ۨ{v%h@Nypc8rA+I",'َW꽯 r!~{N-҄"u42M-$# `u9doRYuK\ qΙIx/4:D!)-y0YNR \#+GUw LȁZ Em=cJ3u66BG[HQn$ZNj8%deDwtH3ͬʵR D=&~lWt@,wީ,=̭|7;Xf2f1ƇMR;Q߶0r/ڿބRLVc,u>ӞwZ0=pdOcYrBúv7aFRvnD~19.(< C_Ak,> 5 :B3_ȉl_eg:<)+ř!ka막k2<q*+ϼ Ux.)Uc=򈚶mO] v|kSFHu}! sv^qL]ͬ+3=4x]F,*Ykvbjd6q@+3 R8tql$Jr+y5#3+ЧX- p)폐X鮿:6 w^oD䁗r"٦e;KљWIbH WPUAImQH)_ݒzAl,V8WT#NFkvle OncǛ[v{3N~(h2!Mg9Yih\ff~([Kl~Bd@"{KP(VR:z$IS.IrC=ijo$t\ &wpPHtpZnb-,NXLسPK]輾 !c<1Mk6Hg5tىәG.m(iN-;2uSN׹z`n@ˆƌC, %BV*op p<եRQPZvG0<ʼnGvd;8Z߷b9I)Q&MWK[•k}zxĎXA ]Sg-bxBWcp<1U ,Ȍ\yN>* 65O@:%/uq@C!'Vr(x"30GW}(_U^;V" _Ak^ %g S&PZF>tT?la\NG$.ɥM+uqUdrK!z]vn9Ŗ| #b(2?x~X4Q\MEGD&H{SdF(zVW`2:{‰&FKIT; 7S/d=9CH thzQ j՚ƹ8r]3s+5  DrlX9e~ ݞ_h-oz©i f[hs3,7U ~ɭ]:hX+G:Zv(f=Մxf^SLpżjNc@EL.ݦGP,=]Ryt?{L%rHn(%+Ei3\XKyOe^L@$'J%A/ɭW=8`8R6֔[,@ŪmkSP[h{9d\U#gA-;_!T_NmIӳaV.GJ(mS C.Z;[ox8Hh&:7hN+T?0Zꎱ+mfc'NBM$H(}!fGm7Qw@?בG ~mmV$NO~qK MTzey2U%AM~]JA!dzej](_&A!%X anhz>| m} uP[Ǝv#7ky)}uj?xIt}q6~YBzPh 'ψmh[}h5\:l1 N>D0] =t ,$W kUK- PoxSmP;B+1ojA6͎a7*h/lٻt3*׋Rz\yo"<9n_ 9kR.VƣmN5COԌ:E-1>Ó竮KZ940t {>*Txi(dR:oieG+x fHX/`f/|*M m䶧1HSY-l+q'2hW$L2MJ&Bj6AYcS>Sq8_CM- ]ޜwZrJHͬ&n' yfs_N'_ tā> yb *3/]d̤Bdz-=IdUPHpS|n#nc7TYm _+>u,~oj t㕁ηEwx\P.ɞX팡,`/ D;Pr77` ziM/*jWwFxhS]Palٟ&]ڥe!>u(ךQb-LL/838:a`?F=T>ޥ/eM= NTo)wYnqrv{!(BJ7k.גh)yFv8eO0f%Se:uqET(-П.^YwMOc"=G:M: Pj'}Z1emVMN@GFz²*RLJϵS=ꩈo;^2NSl9z<ѳ*6 s4PS{͔eϙΊF8&Z2a^,= Fs$cJƗ:_֜c9LjDecbdGG3"[={$Ƕ`]F%F-u0X?S"]fЊԲW~:i8nYQ2T f5(WAܓ61x9CaJ)P (m6D~8:h ɇ:eU~;NKT,$=#0HlDԌ{VOQI{($HjHD~njlxHG4hg$RClf4?Nb+_3'@wDK Ճx" h[t?=f` d|B+Yq;\1W*J1QIxn[ hb<T wjIyg+A57"ݚ|k *-h&IwaF_/+d}t.a@Y'*9G?}Ŝ)>L"& I-b)gʅ~9^QӍ^RGh@{ 3u?p}-{\0P+`C:G0Uz#D♚xĔ֥P+E?+WJۛۘc}]l`iA~ a9ԍ9Jq߉# 'P<{ywbPhXXr5%`m\9feu@:VR6Hkdžzǟ–3d* z$ 0oz"kD=.ndr^K1CAdz[v{+Ys-Ғy خQầL MO]cNR ܽrh)=' `Cj`5SOC2o]o<9n uFe|}`R]:.fސGc w*ZW1yǑ nlF ۠#P #9Ikոz u|DNLPcO | ډWA*A`SG |T_ C"VPs'r2J.GݓF';>ǒcEF@h%?m,?9sK{5nػ.K,o >70 >+ \F% @.ݭ$ߦ):>{Xry6+.drbO1Aq '%OQLzĭ n^K1\&5n}yHM" CɑI_Djۄ yYnj\ ;µΦ+(Oo{\wJ+5C\gm ic"yWm-<ޣ WklbБm7'?bnL6Xx dL!E`XRe.V4 "BGoԽF2:ͻ+ 6} ;+)}=P1|Wα* d,<.]oD'ë:"jԴCcPr׾o5T=FrmJgɎ3FS:뿭75"lTSoY,/1abP9]hY 5qDg`AE 8\kH.~ոv;nO?9?a)$qnj# {[s1& QU EjQr<ڐ7j.~_S(_`/C* DҴfF(2)Klά7 ˇ& AX*ߵ*,ƫsLY} K0j]]`U`e%0x!XBQX$І`.A[4Džokhǡ~KP #{6jy}ETe>DGDgk벬 #bӅi*#JrDv!\z.SfJJ*hWp af@xt%RnBcd%֐_~P*mQ٪ֶ{BkqGCd1@ ʬWɗ0w~Hrj*QX{ė^x6rwwT;zb=W0YIJt?>wa@ }) EO9?*#̐2qaSK4D?{k]_fFaƗiW-#?GOMՓ#ڑ/e5|\#Fi@`k} ?\J|E|GbݥS.9ZJ7M@9=P>w8mZ k=hp0-'G-rsjIgk{u[_{W"%1mY*(@]~+ZNd{@T[e LɋjӃKpc%ksν~P>]RN+ICoV;V]PMw;MQBBs[@dt_P[[f*E@FRPh%:t4 6g.y"-] ؋yQ Nfy[)'H; 36* g^U)ـyaWf$2P$KP)ňK8ܦיHs=LO $2:.Gx%֋8UH7*wd v=:6CEll|w xDX*ŝ" âN7eHPX# 3eu A" X|m۶AYs9U G% kK0@Vb޺$#>J'+4rHl)m9R֎{ڕ1;.[)]B/Z9RCqx+WQU?Q-˨1wql=V|Ϳc@8#')L׻EO)t"$gRCpCORYǪVI1W@ZqQ!ܸB >IX8fR'`4 :rkL[|lԞH"Ӵ5B(_ɘbt5ӳOz]ޱ)ލjVӕ$IӥFdRBͧHIiRHS(M9ިPR͵R}]YM9l]-c3@\5Rj]^v7# :]ڹsXM*9QU+~,psUv i!b*ko iGoPA?wnZ^牌#b$n /(V~x 5(q藗O es/zKE Ū4+@ 2Jx._/hD'h$c699A cڠEؐr Z Q# ᲨL:%:;&h$حKc58(8SGU{Lr#}[xrh#}>2yʤ ,ZVzzqJI'"QcYҞlð.Ugp <#γZ"Vi%'.0v)a_8М%~lC9XFu΂a c> D1CO+֕#Eh] 0lU=*2kNf^p)2fSBmN89|K;} 3)mC 5MX4P6-,nZK~CH bpՑ_gpn%THp(B+i[^k^!gfe#K#'<;l'Aaf8tF<~jD(iyE BVyhh-'`Ͷo`l<+xQOjABz4);xl ۪QIYa4mg-o\wG{fLm n[HɊG;ZyO +iO_FfSC>[ s5KeLqxT[R/'  y5EmoqzAZXT*=qgAP[dRo%bJ:5,R}9$>c)`{{oY_9,P) \̱$3Z,|o'?Y* ōBO#"hJzv"R޽966S~)]~pHoIVi-#Hgy{%ւ%$ {WYUC-g>%K6 ޏC\ t!G]Ahƨzn?5{tu.nbl; ODb@fELO+D=0E,j԰2 qBAt Q6ΠW )S:Im0q7{ PQ J';vL|3Ań:: Άt"?{꡶B=!jV&Wû]ƺͲ2.2۰iG.&tnw3)TI78P^J\gL͉B7x٘R9TlASRqF0z8ӛVOTX~=` ' D%BgbnsznVLw^Y @Tk 0RoVɅȋ}*ԾnN=,Mpֆ2,OM4Zc~pNUnwB;I!E(wDA"NaOt {CZ{¾len.8k4T7G)y~2$D֎Ơ>ꪆ9im}ASlqRPy =ε~0# Ml9G НIס_d6cNC*pDkxѡg#Ь|5)T["z问DaP]2)p΅y±~꟡ .FCXKтEu*>#q\ΎL:)Tv>^aB?LW qϸ2⽑SiPև/`Z/y`j bAo$e\kݨjoWwl6$=c$0Q IWXU f`4dqlbk|:vk|-^SAAxO5K8&T庥׭슒Qo+1uIqt}Z7dEYPڪדC&OՑDz 1n6$@uHw7fjfvA ZڨsZ-|m nP gs}n˳g 1N$ dٔ'ۤC#"./y 6Ofk͋]8=eq7rfT½H᫛/0[a =TQ[AX;;vM>t@M{uF: Mj;)K-N.T)V +kܴQpCmNMk9"MLFohI3# +?Ik5 {/ eGSyk4B2on_6n?SY' CێR;bw l-K6MrUn|"[L6s+zY&M uC7hb}3"X^ob0ݱluw]ص2ebIu™mCkNCDpz{OV|2*hbrà Vr8vO#H阱z U{ dB+>J4pzw$R Z$wzY)}!~]&$ek_q I=ޮ(X Xf! o% 6ar ++&l:HD/8@L%a,xew Ѥ:U ǾZ\fUx`aF?) ou>cEƠ,&OtS 5O͘Jn`rg•Yp}_oAQjp"tU۠NW#; jOvKvް;qYI:;H*F24H0e*cAˋgZ^raEh #GcC{$A |tA`z;:@ ##DB^ʐ< LzP!v.nˏk,m,$ƹ1.wVC(JD10keRY(\2!^}OE3C@Qq9ImdrmB֭ϙi6lģGLɫJ  b=>. 14_ĽseÜ=-unR5LJƠ7ˠ1`:O-֭;u@<8[b7d(<013J 4߽])H^@#u'$5MRF RdΒWt@QHpwЪh_Dk7Uvۖ5ȱg-@ϿUQ9+ZfvRf`nnI͜Ol^2̏}}q|Y4߇>ԟvl6p>1CaɂhJ#)A5jzgC?CO'ǭiEep%^|lb 3=TQX`hcȉo`/gf֘Dff mKaѥǵ[^N-Mк/`h6=ҖS*oeFѢLfcw"HcY)a6%Рr0APD\QȺ?La%Z7-{p,Ta2Cei(;}bP@?h'ѢgG[7?cچ/h[ͩtᖼA+m6Y,f$m/Bn}E*Xp)"a(QH,|Cڑ+y Nz Z QjE49 z=N:=}A;[9f@5y{De» c87 |@Q/ 7ML7m)~~cYهe/:IZ'L1[^Hs<:p}r޳\*vAR voVO03%dtb12"ot?C\cȱ8nDΝe(K6~D(}jY?[>ҞI IAle47\8 WrY{4ڮnxtۮ}R)1%Ƹ:+i>45 P-B ?cGE:F[ Y͗j@pBC]-,e:c($J/vEb Qu#4+j.O7;ȿ <9Tt#% V2McoyϼcVmt,WeQ 2zSh,K$0j躞xzیy?Zijf enj5K7XdA$N4OoV`'\*!Ը٬`gŘ@ NW)-^_xskseꞄr=3DUܠisW̬=1Ȱj| T̮2לu;3@-$\F!} Y.B<"qjkZ^Gnϯ(27=å@ĄoT:hY:~y,|h7rWA,!R+;\LCP R^eI ]7]I.ʔ>V@gi#TȚOo*<`>IYyk(g~`7> 6mtW֗eoRZE0UP ˘eGke 7$13j/_h‰NV=xjk媩+AzK:_騾[}!Xx7seƟ}("r`D,Yw-kA5yB;;5u[ZC$ya$V#a)bB O=y咋}zu!Y>Ӯ'9Yvċ1EH~Z Qr NMvE*I!;[GvpFD%lڨ&;.4Uۉ]zScSYգRa$-P \F4,/i[8\u ./Xgbe$A2 r|QhK =35vPz.r8-HpHllO[] NP F%dt+kZY =6 W6Y?" !XBSh(HпNMsXRHB֠?aSR0y#" -x~l!$ 2ȸ>B.DA@tkȽ,ad$ GEr8D Ԝ-Z o);FY󶍲l|>UlLu 4h6Ǖ2}=x=qg1ƸlȞfqy!c`uy$C7ffۡy{# w.!!oS+uN_@@-oƳUAqUV6 :NQp&66S1M>8`B(lHB];ASIM &TruK\~qcHenf ']K <L5(A>ο@ZNV%= qjmoq(qM~_VXL3AKvi{|3f :Z%hף0'cRBYekϫWBj!e@jy?ɍmI6o~ɇs#nTҊfB!GER*L^ܶ$KM\[n I4RilՑ;g$ YQi ..=A,a0L*Ex{O}zp"SX)/S^vְ SOKL;DiDFհ۵t#qQOԶ׭#j3_1vw6tdsl jm 3%<%,IaeǥU* dƚP> h--'絮(i91g0|t-kI[2 84!'|/rj0W1? &7FM"w|!Lp׏f"vX+~Pq~!|/hͿF_&➮3VGQh$eESą6VN9w1qql~1!VW('9deSHxY()DxՌ/%7dyX ֙?pkG=aV9ՃOpb-n5ʛ!Ԕ% g1uEDv: ^ZKJGXcM> jCj.Ge9Cڢ"$%ůT?qm }q>YV/wVoHyvV3cs};;p2(lDP<tFgtxe~O~dϦi3J?_^~U)}7s_ 3?L5 {KQ,Mpk@p!(59 zyv)gÿҏcMKI|.5N`e5ؕ]I(}W{|oɣX@٤ۻ\<}4hf̄q=TrwXҏfcv}sMyTn o=6B k5|R݁VZ(=z&v@"Uu&߾Đ;67[63KJ>ӭ єRޕ-i2 찫v_H,Ӄ|Tj:8tM j_i6BKn0QT6dL_T B#EyGˉʒ2.4XwWb %Mf\<pL؏ Ȁwh `&7h^G3&cyj1œaG-NXؕ:ˁ0F[J{aFlͣw+^%/s2yVxX$cZWWXS"9^P&'Ahm|)(h Zj4>*C=V9>afz*ğkc^'Zý}oHe*[VCiGh7ppV3#D=h, ]7AZ,~RB;SAʄd"L܆oy\ ] k!fS=Թ7qӨ&l"TQTYBZrKӈl"uZ3õ94D_h mZW]3dpNբjUAhՠˈZ|Y`?:VH.> pn< P*w- ]ߊz|:U~t%NV[&xn/ SA]*)?:)hz :/->2G6aTh*}uk@0BJ*L FaX Pv3v٣.kUө=Dls@\{Xl fTwiǎvN)"j>|ȫt0k,\¨.sFofB1@ i2Bŗk#P٬HqB;V'cql= _Jχ p"ߒ[ȶ#5! blm%:YrYU;Bk\+)=y]\ݛ/}0S7QjMg!6H/Pr"6KWɮ1}WC5Vw5hLC&yW 7HהeJ-tܘ- $sڦdv0(klI٩H`YcEAwb"o8MΟMgcHU֐,;Ws,2toUs=uv?/N̽Dl91.=g_s/M,#Vwc q"KHEͣXzS,O%{ #v@~:浸Eɞf]@u:%!Gmq*cK_|a`!*հ=v 6l:=y$Mdo\m>RٿK>|`g>}rF=[h{dB%9XN/P*.sA:5҄% \-t kyJT*yslj) MU¸=peg]6J-:cv.S`𡨢E cj;Ƥɶ=;}x?l'Ez~I-' y\$?빏9Oh:ٜu`hym+}?o<ܝ ߘ&vϥ@ @tfh;6XuJ~[v;uӾaM=FLs?X2;c9GXL!@::{\_SL z-i&Cel~jpco}rNBxSrF. ,x@'j?؇Un~V? ?iD"8x'e{ _o8{3lD*iKe:X׬+F4CZ fyg}ٺcrohGߟc qd='d%>;ph"(ZPt@㝂 qE*3_g|ؕ#$7j~\`( uM>&K؊Y\FemP6Sk o'b}ө3]DF,v?xhGDqoe؂\E"E'V^. ߞ@v$ģ 5[e}][::ți&9VV9LMaOv`ƣZ͘td##zs aGIE&PΏ@ մz o72-TBy`-.ˊ.)~%$ doԕ20sCi#x=q_O͇ߦc-:N0Opj7jmTե9}kxڦܪPMID|Boȍ/1/ng&gprhUnu[~(RI#I3|@41B΅'6$CB =ׂُi2͚6C->lL0 "6B5ZAK]rt*۞Ygcc>1Zj .mVxҎUZ4(y9B:])^>/bf3 "qbc'O^DY`|1?7䋒 F@Ks{sLш9+"AsBXOOFsv>6B>(L޸=$t0[fCNJUCkjM##55=}mʮr"si:w~UlR:!43)0,+05T4(޷2uӯF!Ԟ#HL_=+1]>#pZ8R.M\Qv0̦ Vw"a0?p`N4sb)btkmVs$xVXcjp sXGx"`?f^m/! .)=a]B*p:Q=;e|@>RQjmyCK8;gHuKU.kᾲ"-8V0091a،|Kf <|#)(G8 0͋PQ|/D^ĆG *7dຖdUI n#V%/84$&1(YH΋^*q_iZK? Œ y ?=?'Y _p87d@xPBQ󃠥'ꚅ&))^ltY jf@{@]w~ϻmЋ҇[one-9ӽ}ݕODW\2x}L#T{n6*423T ?`wDJLDyjs2t3`LDH4 ɚ=sA:p/'cQtKcG 3?6L! ϸ;0+諒&-tI?f@:t^xDBBdao\~l$msNMu$X Ǧ~GLO%Qݵ=^wGgOJO2ȗ4SVңy8 v>\%rsLAc? ݒ/nOR5j67pDO{H} eέ+Up|ѧyL;Tb{eZ*q^{e]O ȍHC"#Nyg ix3Ƥ$qS }Pjj:4?ueULYPj4wR2h0GGLapj%fGP!v(S3[D뼙j4e!,TrQ'3$(3VEdG1g7 <$c:}`c !L#b1c SFlEkH{%PGbѮaգCtFEKl1?jujN!z3wF. z| I]D.ѵv155H=J-%IiҢ"{xN|0I,%vJ!-dEY=="-0@GLhE7+ZEVw\U InI]2U=,:Op*N⪩e—<*0 ēx\SNG(as_6L-4R㌃rHRDHunOdO]2,{O`H))ei?s_k0H8jZаM7 hYP;݇E |-o5 T4("3ѻd3rE*<A.d It=HTՍsݤCTWy+ ̛ <sePVK#TYDb]&N'sW"}9Q:rfM;#K7+S!f(_G;$bL .e)f5뢨9E`nw, bȔ$Ws@f ?e%%fi`]%@$(bbJK5!!",{kk<$ɡ{>i=ՀvdHU y74neeM8 "}.'¾RUukP=!yLe?S)kU2*!WpP1е'kd9"I۝ngKuJj< 8ϖb,ň?n~v5pT_T .07dFe"T֏۷ \4F Ei/?,S>[]x t~yЗF,0 1h"[~xG~aE:D}e}p^^rôL6w%,'wr Vt#֞8$l|8+^h P9Y=|MOwx}*d{5YK# 7nJmlb]SۂM ޳\C&m9M8<3m{bB,;;c,jo~Z \Zeem([6UrP1ME] G{Mt[?݂c! <"jJP5ѣ} B#JXꜷԶ`(Kgf(` ڃGbDxN6ߌ.״ a\#B= sB(H)EڨU{_{;]QњhEcÎm㈪yvr&yURщv!/3ivxk/Kc<pRn߂1`֡Yh7Lu8R&&'Ff0:Fy0x]#Z< $JS7A7wH"ؤOx.ma}#jJ,ZQ#3Mظ};>#}pXYS担X|" dG "{mw'&E&sĊ&؍Pq%떆K$G3?̜dXz&X, W9(ÜMh~ iѴB6pUm`:iX! -3/gDu.'R޻}8&}." Ap>;4իvXE\fCVq/&"Ut<\}F0̃9/5NB0 O+0,S'!<L&k;&ใnyĞk a)cA)XR40{4-;u9kPk!!NdLfr:eYW4l=`gWUV[% *"U CHa5fVFɈ dj2=Ձ*(*0Us+/m'hrDTm*o9*EͲ.b59I;t ǎqF}&{'97Q3 ) O"fd?+F?LYK Bn=ZL/*4_Hfؙ]oAui@+F Ѫɭ4Jwuw!mYmoQh~dRگaL~ʣ|S_?Hω=t?N_9䩛EC*JsE]t€RWf3X o5_Ƀ&I\9\tqM LѼhp*i"0yrGu;0u] GPI= 7.<趚[* VaV4'SʬS ~syIB=<Jj JO] IތxQNr減+#7z?ӣqnޙ)(Q_<,1%ޞGS4̫^-!'+%qo(|@^?/my>xT kdQ#"Ǻ]&D}kpaL圸:v* `_e_o~Ux*'ZE|>ӈOD4c_I'O0HIH 'aoȒ+&u~aVW4Uܑ\Tc.6`A"##i|1xioe Ŀm.i_ 89¹*w|$xe!αn IF]T4 xv9p_MǂݽP B~1ܞ<M-e\TO:o7kUJ{G<: U֡[ï>s@Qg|e0m 盐(,8@ftM 2D_4NK38q19[gK& @đi/̯)HI&Wc u,e)r G$n{=Si 2mO'E}Y!_Ì +'E+!igJU*j -KŅ3H-h,mj7ޖT^{+ϝ'‰=Ip`Y2LTCUnpz^++C7+c)EFǬʑ$l :*H%=DfBxP)oW)2id&09m3>1o^d25o4,쯇TU5g>7r5TA\D+gea3u9e)r'8|7 ( U]'%,Np P8Ei׾JtyG ^ B? WD!=H~T |բ [vѳn0A:Xz޿6rK*A!TičHʣ-{R$=,a\dJqΩaF&otug dȮt2FyՐu ˫7R i-E܇QM*0H'n %K^e//-IR o  %IXR ) oǓ2qB&hsL}+OkcY.)m p%d`j˸.ߌԾAA:YʢQA4Ebw1Fl+Fcr6]؅Uϖ01_g?=B$L.)ΎkZe>XV+;k0 o,̨yt9Q\57 ^F=Xt ?- 1O?u#nSeWީ/4!z3(k\Q ƨR6/ݺ/N7AZqlY|ed޳0'9 %ڄduYBMl!7(&?{>fUwj!eoq>pFZx}n-Մ #l4|a 0:LuCTL17SsE*f78gKLJm^YSw%k=:[,&0kܕ?b$\پxy—!F5F7X HT<U54ߘ3/C" Ab7k@43fh{>|5|3ǻI/oe6ԉk?+XGԟ 4]SB -j8-AYk hA!0HVfYrȒ3nh!3Yu[kqf, O%D4@"WIhhHf靤9kWIo0Nwg:sRMe>UmeG9׍gƇ'v'B#MZR^T^ D~T^KBK1G)G+6"ok_tD@ ϏW5-/0h= .ح]J9I(j^2Lp&9pV?Q12=.'E v/;*IW᭷ulso0!"\'|mHzl f?ayϱR*N漇x- V.LH_ag'-DGhNK7}1$vVR k`w P^̓êWcmUs{h;SQOj2BtpTI ᗿǡpA\z +NB 48! ݁bn](g/({ZsO=\ 7=f{wϡKYv lv"`/zkƈlYBn8JqJ%p*RܐX Ks}]r`d DKŬrODmA&<< ߳=O -xw\N >b`W fTK6㴣/!-Z?vk[-@4KsVQJ߬Z߷wk*7>e)ud}5dM-zy3L|jʌ#֞FS;\$Z@Y2#b MO׉}w1U_VXC4Ѐ' (rS\iz)SRUldJ"@D:f6LIbqȈjdM)CD^x~hY{}ýPmVoB͛ )D2r ö9sjOW'j!duKGb}͒۫'x 5OgHxԦ,K˃9r9'qxk 0"l90lUMBpz't >X^IOjc蓘P-\1p]$UYO+k7^vފ;&5ӊ`zW+"%o.g?)WJRޮ|r{0_T#v+Fq.]c!ϢΣAqKt0왨U,WJO:n((3VaY8RM_wN@p1Gw q)Bte\re`e\xt+-bO2f&`RؕFL* Ƣƈ%0syy>7,5RxF@?3GNNn.$Df--i`HE - WwBa-GLhwDJ/)O;e<Qz¶4m GP1چ>@W[V[?վ~x7XۡhFsUvPBJL^:#y3O (ek?yѓH=̛h5oA[+ L 0^vBw\ aWimd3:vSC.gޅAH/[CYs\<ڶj[\4s 3TEvFIGq}8ܺgG:T/>/[~az8E,ʢp❌?PWIE8K$~Q!&t٦׈Ԇ9 䋕W`s)0 01v^k/tJ2k -B& QS#붩/Az7=3MbVr^D) .^JQ`Z*\xϱtJbks6*87T΃Q Rj\` ]6lq8<gلZz7g`(%3P^6Հ] >͇כ֯kI(}]N\`KlS p!\91ڣxoL%΄?d?:ZҘ9>HhhOsHEmzD\17E <o;.AWw>^-c8S!ތY1%4ypXD/<+5b 㴒ZuK+H1ه|}bA}XrBQhzV. N><j5ktI㡮vBa`Pڨ\\x~o1am4+(h5`[-O*vt<:01&pߔy3t̸i|!jv^DB_%kK( KE(10֋Jo24k"Rmk}A,~5o zR2ԂLRr[:ڃ i\|FZWHhKp+"Be,ذ۔}>C c/ZNSVBbcfG2P4ͅ9VLP25+za2`bA6AcBK>ތȌ0\T6 ^X϶B=yWC2J~9N~^gM㥕TFF/u4f9;I6 WKvEqzj(xE HO;0&LE ciȐnzЄ_kW՞ dEr4T$IRtP2_Qe{V a$ O|._ϙ(U5Me皵FSʹfH$u-1^&2hGPw~،Д\;XU2׌3&жku"MszvŇ3+}Xc`c'ϭˬYto*мS*@zYI2>\Q"eUP޻\2dB'6lͦf',9ܥ靈7z rg F]uW/y뉘wTh`|)=L8Y'D=gD]߅Zpn2<ڙ+qD8&Q3Ş& ?ȸ)/d뀥 nۛ=P,$w 3!Y?ˍ/g=qceJI T%SD]1<$Sux553IXPOfÕȹE*91Fݳ~:=h=Ôdaxy78(51< "=dv%c+=|҂P8#] 9Eݗ>Fo&xe'zGĝgg]b>8]餶c WИ>O_q!du<ء{.r&2lN\#>P`P:93M80%CR=Qj4Nʳ_fDJv%*Ȅ^aO of5ј:"O&Fillo:h9D}D{5uK^mtGs>~sXITe'=IQ'-#! ǧFb㩃M3W;VmVO8/VL5jsE.=u GK(us7hAjBۓ,d@h2$K2{M Oc9L XX$vuaz>BυFGeANu}x㼯n'N@ܪL1!NӴVn~̣9R'Mwd8r> %?5\J_cNfV15HPCzc^|0RwS-B&Ww":Fg韋_$b d?ʸfuoI~]՛3q`ʸg }aQ' d)M:EݺDYB#N9R䬏O4 j07.=>iȄ4qLJ4]F6x//)mGU$z''NsA]*?V8rk xPe5SAoMTW} 9|r%ZfH~]/w /YvC6Y5Sf+JEWQ *{z>mǢWDf~RvGmrmە{+_z5(BrPj_mS tltb,T3 ~ }CqSCڌ^V4b4j<~@tx5Jq__/)\ys~q7hN{raXc{dgC!XJo.t EM ce[x!:Eko=Jrx ^UN뿟#_c`QaV{UDDeYx6ۮW<(Ktj謰íPLRΡs=7΂t1rl/}ů.̳ 3%@H{xQ)KKAnEQ s`%WY7>A/nfMbd5ywdpaLf8u z$&{euy|("qCGq|c4Q\^y_x<;(sQ[Į9AP@MRDyiQ`&<۞$d_r9uTrjS-RTJ WNɝ<߾b,f]RYl/V/ysRx> YiM_%P*q)Cn23BA j/.mfwadILfu癜D6iZn贞 0]:<RߋqdC)o =<()&KLg϶E!1β/L _}r<vƠSK}Mx rLd~w3~˚`n ZMx>p,A RBp!w@ ko+dh$Enyݽ?(tIė^mx ^s7:AXxae.ؓ~lN⢓~})F{yO$W}>#C "j(`-r\ǐ%YJnPU^ щd[& >$\RC]7DWì+6a6MD5:aZv[MH'# JPj2;ciRfX+͕+BUOUA-/2XPlS4Z5P +R/i1
7Hb؅xnP{Q=X[ x GHBB=BLЉe)@kjN~&N$jM2~59 f 1&tu1Z<64P&B?2 g''ld]:ۺuN Q8!d#<@ڰU: 'ϯz,%WtFA.|?& udv &BegJ$3h땯;\8? dt$tm6<弄V/@kcRmC2"e[wM՛.7݆Ap>6fzl3&ŗ3A!GPC _> P *(aC폝ϖBdnc;F6lbd.aT74YpfRs;6~ YU3Piq.O'z>րeN6~/'UxpTP͚Nvm@x_r!bEf@Z1дCFUdXl6zݟ|*g'F^֦JF. %šiT`UǠSĨL8ƘuQ1KPgⵥ`C|- L]8-Re*H%zn)ĹfTج)W*(^ӟ7Vsjp}sĎyה6HRPn- %H$)6+% 7!/U_?hj ܶKEXWxu 53D*Ϫ&E6*P=R~v#Pxפ_mV4j2JF];ODŽIFl?=y1FͳPey6Nbo9I; }j5ZVEC{ uќyUQH}ݠ-]R tFqY ;SN?iPV.y[揽>rXw ̈́~_Llϲ,@'r]WEGEkb 8I!_}: 9P}N"ٵXY>\k.ݙ054ONQU8[oiLO`p̝a mU nV}:iSfõ387 Z{c軫l8^|gsPb_ 9]`8KF-tCH0 #LvҨܗq ڴO>|Qu4Ưߩd2t)b9:TJ?q٧8ƪY< _}g%2g_QXY5AUom=M,@iG艛bbB7]V~%\J]8V%-Bn#MF Ȏo8/A\lпpGڿ($ThbSm}Jd\G >EbzA3]=zjHhESNk<+Wn)<=BX@*z:8@kC3P P="N=,.y١d[-?. PcS!ouSK/Z*ks9 X4?N`i:z!YD.RԄ-Cp1]C^s|ϥ $ʳi-8TIt1Q\kx,+ckZ@Sjfu`zؒ߅twS!):xQ6$%yBMذ_0c2>L*ΐ2ޤV 5%/s=ᶹt&<vI 0qjy' >MZ1~iGZROHoz5[a!C:S%=l(*% M_Ron@_brHX9*_f=w٦ʦ Sc[L$# {<89Ct@ڷe,SKN]W6/=)]kr,%GY}i|X+îĨr? ~mӗZ˳i >t ,0_z  O1 uϡ-H<4//t,b[Y"8nd7Ш6>{*rNQP0gUd Iq)9 , _+a *5ޔ(3qeRǀ|IIՓpb5U"ػ`xI;Њ B@uejX2o~3 9!Q?[%wzQ3|jF R,f، vbOӴay&q߳'E2pPvNfl ׉u3z]rҷܸ.;O%W3j,U2#HU$v/OV !eRH'[ct$C]ypjYf.N:-HU+4 >v3h!͍pΗ!(LGYH>Iߪ!`7'oѿU*tAeBP4n/`@6Ѓ^~( įAVubs&j);%/S&a#KLJkJUH\+[ S 7d_̜ES6酭Jh ^q-)0dH4b՚AE8F5 {5WO4s|H#,9>~޼Yĝ\@I:łiX@%LB|ӈD.0'&_ʡG9,^j ]fIQfƹ8\ i{@M/NAfB8\B92-Gܙ+ 8Ve`ipJ p*9I|i(3biA}D\!dXm#K9wpg }H_oWfSCWU _u>*}Y EVSHr7⎮ ץcDFvjlؕ.5zKk +MGaGzQ@qn=; Vtqu&V {.ܡ.LfVKW^P⢳#JG.!ΐʺ_ߡZOt~ WˆŲ(^x0¼/簟xn`4٫(Ğ.NѽZ'D^g#c~s ŁF&&DY@.  ,|e[u)c] 3q2!a#T5졢cDJBj>8R<2`qqWr^=;o]J X-F;kẋ7Y>RөaPNjS{5ouCWBd`z(K ק_`S~U|(2bnZ.zbgHƗʃeΰp>n(&!1?C'ZN(!0]O[} i&u/G3AЌEsivzý⭥"|kՈ|c+vx)xaSvnW;(d%P'kc`eX#[tGTЋDoH3^ĭrmWy~496sQ_/Tjee: aͭYu:ӆ< _zQ3%T^y U H!;EcqGLT^^aP`.҆@t&OĮ~A3Ef[졂ƚhV*BDGׇDnyaXN jI͆d2dH\$QIt6|}nFÒ_csvЇʉSGG h0Hm/?pKo>Xwodƍ!f[7LeU5x]* D?JC}SP6L͒#j \UMm1IQ-ZX~S.d~#$,nVWguԔǭAUrxCtu:ȱa.1cϻyتUuL, :8,PgV*OM!f ⬂7/DcZ/QVN`u@ǮM& 4+ 4sqt$g6ct\ ˥JL&b N[,g^$}!cu+%ֶnvB6v6r0 s0h) H5$K[x=VJ),Ne} |[iz y[7vI9W2#s-9ao|暫{%}<{EEOXH="(6nO`5ɏ)22QˤB#}ЀG)u9F Ը1ݛ-C$v%W;x4"FOP(K' mf.<"fKGzdVY)5Y[RNvCAtf`/W$B$g[Ł`SrMn4#ЛN,t5wfHXkD<+_閩ZӊXZ˓dNlV9uB""!K3]|?Z;"4G*3hԬϩ ogEvjUwlg2ϐmC$jn2&YJf{Si/BM A j'ʼnVF+쿦,JG-V'# ӟT ?wfh(6]z8x) C-+9MKx}O9bs@x}ݭ3/@2FeJt"7ծSً%>[*%%suxfFUˌDM-^' {H~Zds9Ŕ]Z^Te:<΄R )9l01 |*(0- )D,YJ+Sj/[OVU-O( .A_ nj%T۱wx%xI[h+tӼ;@wp]gn @:uU y&Ry P?}ZU^sL>u2C|F좂je6N*kZk>1 Ggǿgt*N^nj.:eMM.*)cЀ!DQIy}p3c`8%c>B;s%z, 'qV"Ue">7]<ڰ恺1ȳmz&a5.3#\ٻj*_8SS `ABp$8b+M[st=vcgDW'T mYYqM^ 0RD(QY!khB,qxG>ң u9NTfsdQ)nzA;jp\n[PL;-c 8Aqb">RxoibJŪ0*9 g` Q!%nyK"Yӑ6 ˺U\19#2(͗`d'S=98=~9s8&;]|]ccMмR/}eyp ]%u(!ki/ZrxlGJډL "}0I3Rj'y  e9d8S俵{Xoe;nr/LTy7&6Y@Iʿ\%sO֐e9e,`:W/Cu[p xH K>s@:mP~:-KkQ@qzFL2'd-A-Z*3%r_B;Җ= oOӯM#)Øe.(s"@ΒU]2NtSE3cʨ`eZQGi!Qauk C vSܿ"ÛA`6%PznLڛ PR.ø\$W@t|퀴rͣ}L5vZ =?]<hױܨҪALa#c"<'3yn91{ѫ_薋iҊʑ/#-(X./# "\97:I霽o?]_GxmzW$ev|WaY88N}׿GȗՆV!⊷OeŲiY~L;d<ť\%0'X &Ϗ6k*e rwca@gݮddE<~EVkP9H:2O3* Ɠi{=+ʯMs'~*>_bd +fEC?P>V9^ni'8W0 #M^7U%䐽˿zS*n';f"plƌ6ƏqZU2Үq/T y鲒qbH"r )ĺ^% OL$;ƜYʟa,%l=R?+2`DO{Oś6.2LFkg.#~î]tO 8E;̓/&))$ ;.b%ᆭ!6wO*7.VtӚV;TXRDnXl cS{es.ܽfv ["QҏOG~t\-ŕc]E9J*bt4I,(^Ln`x=;"x.QGB4} <_L{ƅbrzT@j$_t"ϳ_7NB'Rph1|*C@]!vIZ.4-_2 k:H`b PYAjTi(aYOpK-VaSULA)'X^JǴ#Ө A]t6qfuJM=:ByLZXv!_o|mNd]} !` R$!<5wUdcؑ.IUA,YQ$&dy=xYUF3eʈDPh[A-AI}1rՂ*1+]3B,uʛV ^  BE}pTfɬ!2z];_)d(SZ%b )ͱNLzClz>TMcGkd-Z1+W)3Ҕ0i}jRcwq?W>{٢K6Ȕ?s(^lr4U0[Mq}.} uV槀orǸeW8d@}&VFcѹ>=ԒfuĢ;#g0ŦD5gFa5+C%).C} Tڷ֐SvXA@i6~cg&$lbo1pW!$"nTtOf.*j KwZY&% 7$wXFVmG{[@u, ⮱b/P@s׺[sӥqhpn(h :M~m-v7 Kmc(ո{K]![\vwo+֮аW^߷V6.1\zfwz./&Qd݌hĹP̃5Km OzGn 閸#G7cAmetq 9J([%C3t'l,iXc4$_;\>zcf,v`Jo;DyVJdh1Jdet04W/K ˡ`lXRe25_Q,j@/NO%$-}{ԴZ+)0\R*܁dH,.k' <~8fexh>ީ=uP1]r{:-oð&cA xf_Tу.|%q]}lQN(t O!L pf|wFI<ma+YpB2S&tp٦&)n^SP2//>[E%4s\TJ,PLz?XAA"\^`:Lq}x tfF!y`+Cd_F3IwBM|<(XjDLo&t@ڈuZRd`JX1MYa3ҵz>pY`)%cO \Zmӆ v_"La3:, I׳#KX.-8.*N|jryvny6צ7,{S7SmƊKf퐛1T`>(PNM Pc>WMMp?Q %Ӵ1,H޷X;cj"MA0ds%Qd~${^;+Rj{_eD(/%U 8N༂ Oidn{aحJw\Ҥo>KU*nF]BqQ N{zj49w32{cqAzw9aFީa#jR@oE x;.@6 v\l3dBVPPVjM/Rqn&Vy*# FCUm\ NgwoYFfq~E.eշo(^llU%BR׺;tl;td}D¨Qo2J)0Gՙjo%mz蘎:{Fn67}[/ٜl&G(GT=`9!X@G&Ui]#K/ )&M@*0Fڰ&stdi.5/җy[,E(J@55cz* 0_2i4L>G=cCV 5'z/(ՒGpnEn"5nxg턍(ϺMQ7Xұ5 Բh P :I$âbV\"k7) x Z-4mop 'pՕhf*<*%ސBI^ r;2Vy}5>K+pep.`<%>=ph6#b̳UZeU4o=Ixj܃VdSZC4.StXިKqqѼ2褂)! #LwCaKϝSgA({uYj4ίh.m !aL+uP5O]~,z?h o]^ő R&~G"ݶ,^a@/ޗ'{mq6w9[ah]]̘5C7yѰ =7BK#Ǎ34ő#zo|.X:d\wc e$ 78Ol0^xV-!n{ȅZq6O~_kɰ!w<ԇlUr^&t53zXSV便L[b];?1y7>8r4{qdOݗ M\W-*tSR0$!~D#Xw.ۆ7UV3}>]m-A@ 4pu+hC9LVzf0&I^HvPtځK{e6¬ر4ucS{V.qSMNz2u_mɇU/le"?S9zq.R! !u:ޫvǷLMnG@T qqJ.* bͅ"DIJUJ䅎G}sHguc_kGo4rFvISvT2E3T577"8 3Pq£vBV[=-VD> b9H[?aKX"7 _IC;V&Pǿ}#I9dv?PX/ r U6Io(l:NjBl7=FL(OLhOSUȒg&8n@| ZG@8xhaZB7Vф61yi܋7O!X=c/K,* !|ې;eZщIǼ 3.xa8P= 8+â?3J9%qP׈@Jh69*TIq8F|_A!\ĉuͽ_JQr":yD@r{P'-5cJ!|fI'xXt"gOoM59DL6حPZz|$8~7Z߸yp[NmgYeRe) 8}鹐t){KSDԼN o{h兩sRB}.2X> 1D*0:=AO1 'YF9~o.)_#19m0z襄#axM 7,̟: C>lPN]q0BOJ72/!R0A26~;Ⱦo"y|qaMʺTwj3)O"B@ʞ%Vݫ'N2;pD)k?ᳯֹk$+h^:DE 1J,Gdb'?k}%1dmCZ+o-[FIR UQ)@wB>@xN 7X>q+5nmQUPJ%.R' P!^T/NiDSɋz|S,yFC&7^ԡ^nI L6fh*D3hY0ZbM8v\ kn~*9LKyv3bGHUb(4+qrlƐ%`t˼/"f/d *؟Lc W꫑uc+R@giLGArٛA;t?\ cfA+m=U ׁ/-y8}q"Q'84Q~0vqԢf7.6θ64$l4p!S{=o*˙ׯ+5oIh7iP:=Ι,? ~nˌlPE^Ux+SYLJcbg[т.rI?Slm\Y6F$N,ll_f#Qot dw`G8Ie\=[PxMohDW=:iOS,fnF7?U;YN;`q<aABQQ OM9&`^4>,pZe#"8iIڎ> $P ((̗ٮ.2گzW>RC;A wѡ`4 @*V'zlTl}Sy@vw"siu}w BC+OβFr#ɓ0g^ Q0借hJJ:KAKdh!7>4 koVOy"E`ʥ#54vo[YgɾJc1tNThY/Y攝_Y11V0E=<C/,@(D G~gRd`^3X f䂾@pɪ1ik`a}%o_z},zpE͜M}LJSSTeBi- yY8Yy0sILx)6؆?r.g|ߚ`eӔNS=7DWW<7W/|Aec*9=N+ lXaٙoFƟj0SJtՁI@F5@5OCmc^q̯wӼ36il0dj)r:fvNKJX_|b 脨Ozs4RpBs6ro-W}!iiT![8̗Wl7d>`Z J63?HBQԻ"E'9WLԺoCH";C#?)PR֭"@e$%=p=]}GJ=ݒ(g~ltE0#V~4ڟhzR ԁ+FA@}{`mh|ěrQ=#z0fPgSAEDTHW5L.z#^c,i0?Ug\=_FpB!`sw*سöi,ج?xu&7){f:,+iH-Ԍ!w 2Y )uQ!)PyWh:wQ>xDt3V<[cU M{eھ)Ԟ\5A39f-`r\S0B&~";oي5(EDs3`٢ܡqoLVc9"i)Ua"ePDM)|^P6+KW! ¥Co55*7< .9߻*su %"8̲S1d =/\tZ|!VqįCb88h1YFu;Vv!=dzu䇝tD'Pn}J+\3p%U56,0 htrb4̸.X2S(5}#\ OӏZI5וQ[WPeItУB  k5OnSOny 'e9td8x: ޘL8 vYK(?sH>#֛>Bc^pP{7 _I8~ۦd9姿q-'Sjva24hTΞq&hY?nd1Y0EOe+ A@{sC\==hs-8,n$GFiJ}3@2O<3Ѓ\z8ẉR4; (ſoxTNW zGa |\Qh\.}*sèȤiSb8+,|M L 6ԔGI21'9Ԗ̮4=$U4?umj2EmϮґPT5S29{}ʽyTe B $ )?Q+b,yVYm0?5wCxԾ\L< j!>14ؑ`J8$A2Yh9[WMRL*И"0WW<3o"=S~x_qɫ"ѻBhK}Cً0zG|.J!")C=+76?WP}D˳#Dޡsmm_x¼jYA~`r{_Ix$ɂ]A\{#sϾV+XN,Sy%/4g6z)rD&'G4cd:NY2酠JdRΤ iz6칏`T?=LyRӷ'WJ.8<4C+X.{kK\-Cۦּ\E68!}<|'.y;#,BDy ֥=Y4Ѯ{rgϲ1;]ND9 4 =ξU|9l`k撬 HJ Oq],>|rʵ9bי.G+sK l}M|&bme‰-GƊSZpGnZ:ra{m ~AdQ[ﰞƶAa=_`D+7GZ ɺZĆۨo- rhIeO)p5l#-B2d у'9/df:s|ٵ֠'ғ ؐD孧T6S!4^Ё4*)SYҒ=gXvTrL:urYLIB:7ǽ\uUzw2;%ܶ?⛤ڏ%A_ }qd\8 kʷCp1$m\~t&j#c3\>F)[TBY*ݰA&]FxB<[cJ b) %Փ4K5Ӌkƭ ',"3?͈z;r~P[Y5IZ;#Y"߈"g5Rftv9t``?%u#;م,rd{B;4 %OXގ .`EQq磨DNPFq,rxL `:|@J@)GoxxRjlo6& Sk[;aMn'%oǑ!aն/H,ƺI 4,6ȠFkܰ]E19fVfpnol@qԒ'7}A2yZٔ.eb`S,\z MKO*/PŸa"wI WK_HIBrojbCQ@ݟiIBîŻ]f M.v9EÔ9pں '2${m#aӴJk @,hf)f9z5;ޝЮr;AU/\f5  %)-NЦuBcoT u5\>a7k}Y`mc](jGfeSĔ^Y,LX$]iḘMB6 PFށ[2rā~-)t4^U]TM=oPn"/stCMpEKF >%SS!}@c$}c#\ d8?5S/x؀͸Se27)"%/=a$@t69gjyd6tTN0}g5E. JG,xS#$ݵkYg_ْ22vv:VMƯarAo3p<%M eY( ;d-Wk p`P\AY1 '|)e kސDG7d<CA<8(0TyU^Y<ǐޥ{oTX/1]Sj uR# ׋AaEw am<ԡ `5>"z7 "O,?Hob`pqQ@@@:1I FoK6!"Sh-1u(F$@nO;9iiKb%a\M!*֩e+vC =.x yIAކ|O3ZZMGX.Р9n P~ܓ|ͥd?Y&;c7n<18 '̍4WDXV#DZ:?<|sRq"Br6F~@,Jnn=dlX-u7N1[V-{*2Gu`cil1S;.P"$cl(<sLb@֤a ||m~iSt1S Hd)_lHjll?>.BczM e_Ag$&P乆  A(JdJ6`5M GSs՗{l gF0\楷SkCќK,Wnd4S?˲/ rm. SPֽf~C[{@ߧᙫU4|{I4@dHp7 cW*U[. пUljW4Y[daLZ" #W.zNxh[u&L$-N ҘJ, 13óWsٰBNMl|vpduwB l,.o/BAyFR5*= <dž;{x~;!uNo]Mu`tLhfN \>`t* -;l -X~5R1A2'lSñ^m8K rH; BTX"Ad󶼲\֘AI5i~#'[X]d)(Hv>M >1?~,2_wIQ*{i.RXgp-!;&γ6XFn~yFk x9;knֳ@Ի<#H.NJo]`MA3 `.g{aV\' ㏺JYNgLm BAw HT0j@uI+ZiKR#*1pPtG|$|kf@WR!zV 4EdxlMSR.an[ @ kw~'F+m&v p=L֭Ufk" # )䣝sUĂ!S"=m;$:l*:9BB_`\ɛ([puv/F[[[CK nw =))7|b3D.U֯5ϯ 0Me5ΎZP,[Zۄe ,rp,1|ؒ3lN"* Wt|`n3`'|zIp؄rJώ73l3^rD|}wFp0T&yH!$C?D\IK 9"*!w[,x| ᣫ O+QQ?؟)+Kcˡ|[n%BQUʫosY >$xʀ_|c`-<)LY6rλ4yW27k95y4Bz{zڈ^RN*Hz06bɟWtF h{c Gq< FVs ?@'7vw8/V)f Rd?Y..vS$T{g5Ztß5S y#A0RJFeE]jf]/FP+Hsn\TJ'UupJ6rw#N;4w W5`q0VG¢8a얻qChr3[ zi3k+P;{Ptxi/OƾT? zmf 6YZP[;Y"\,n\LDi0ʬd*+La4Oc2,}WIsϤ6 |b;1;fzQYEBb3:+a'a?:[,(if6mVu|:A`lu,w$E|=~#aOa5,ྞJFVVI\;.FX8mczYIDt3BO*dYzCRQ$2ƙOdAFˌ^,Sg"piKpϿl8t4N(մgs~vO"Ys'rehVLfFmi!Z?Asl1ǛoXk\m)r+UE#FߴR n[1KBw>|̙]3tWe$V튘_HVo՗u/xHLw?.0gK2EƉtF]GjeWrN27+9w11<3Lay8 13^ Nird=PSBI0`Br əb/B]leaߪCX*^°h}W\WE[)`^ؕ*lc_U>j,b/.(\+8="t l" E9D!va}jh}S\wX%@EeZ2WU |l&q"h} F#[0QU}XA'eN0>6}K yf2ӘR`FۿJ'ϼ-j_ }"{A#N4Z{Q+&E!ѷpu.V.\;+Fm{bnqBi_ ̸f޻J%92E8 7F=|FYB.<˓ܪ<b^ƈdV$8ʩۨH(&v'~'=>R{/B 6ډtP8Ei%:P\kZ޽q=s`|E vƗtuq;&ڡpE-΂ZOk@mI,0+'aط8hQ~7a/tYfAn՗0j *dV׻f65}%_ÑݮՙZW(LCۥ^Xڐ(3רSi~+Ov04:uE7Дb?cFլcds ri]ᾂTd[`ObX$FnEއR\#c,Oa\s>.sJ)!şsv{qS T/Zvw +D~uh4yoVɷ@NL@D`^uWd9R4mFNd r #;%l 6WR׿nI҈/tg$L;wdGv܈TYoUcS`ȿ\"߭^^G/)Lp߆6,_,[F5ht4!3j-@JqY0y,G 18ԶsM|f7ug<3d{3QR4: %E+0{xlSV@XT(HƼIryB슮g]Us'6ҥ~!zoⅷY(kJ=4pU484$A-TxU(OFQQpZYҕEdmVIPj7?UM݉pl?S͗yM^!5W鱚;'w.ȪF:{X bP߅ [&L=Vbr 'QRrs5+\J}4-+Pc>5#e,vݍ ?x@qnge>aG!PM3QHմ"$u5+ uhAj`.ꞹBX do.{hF*@f}J@E^` uю*2Z ћ[dNMvH(73oz"r˲dq$:p@'f-:[u =z<~݃cR;HOT2_j !C\:%P=2 ]c`|中ݱi hhd>rL 'ƹPlnPp0먕CY5w첯ZƀEK`X̼H/A"[6I0n)ml?i:k t&‘ mg%m3(c>K/u2Ȃ'l<6acu<ۜ0l4T]O1!8ŇL)5u<םıӦ9 J 5κ RCU5 tud1IiwCvUHĵɯp^~"9SHG:bӏ ʶȔ# E>DݰLD'0Dg LS6 OCYBk>ӆ9}m*?asjUU:N6_RxdwSP (35]n^M!_ rw-(~ky +F aelr)ln4,|-,&Q疗1 O(j= TNb$r͕AFCj+_[͎H:Y0IRjgPk+YOeb*b=IYܞasX.(.UIÞ:88;z\x戠.H+vp|+r-=)bxg酯n露"]شm4ljX^Ѻ h5ҟ j!76cBN^B--4>=F\D{pn%lfsE3E,#;#EHȠ&A~ hzbMU)eYB+yTvʍse՘.:MjAzN/Q΋4-Bԅp[8Qؒ:˴\Ǫcw>Dƥ|*c D#$S΢I dL %HaW],_w=;DXbc.[qZ2iΰY%ת_.AehG[q"{2"9R @UdߑA DĥiX.ALd_~@uYj snlkas)_ 7#N)0VoXY*S+Uo3ۚt|c{a4)vw6>z(9tr惛:d1b-5 6fݫ @M)0SMaw \* Ǻr miB(O9 +S+RS*|S XJaNV4Ocq9"顒3eZnIk{Mg(P# PS4VZ z<\#W0 W!i i2V .!eZ /Oֻˊmt ѽ~ö9UC.8֦Qg%/Ep}f3z#Ɗ ks_$ci7 8X:pWmZ18b6Xt=l@MyִU_m/7::pp,Ju.2UrIe|3 ̊g)]LZb0uRHڦVB_n1.t,teH:B<zn6<r.OйյgL[T Sq Q2]Zg=CVwObygEjO+s\=te$4kJu/[5*1%e\ S %$;#o[Ņxn-4,m,=sbK PkD: 9AD18Qc~!%՘Ѫyf[v;ȸa$:Ya=t47KiEAlroDGq"EKuaW[f_؄_TK5%"Teo˓%S:OV3Ŋ.&ȗ0Tin)h_2 =wӫ2{CՑn+oNz/(:q@ zsГF3PH!ه΀B@jg?>yiξa޴rK.K6}H@܈Jl1''L',W,4:X5ɠELPOhqY $u7:2jb&ϦAKVRZf,9_j@j ܭJ+F3^# v)̴HX.hj輎;Bsph'3~#"nF9OV//?| !޿bb֌PRghЭ'^$s򘧢jWeGo(^;oA\#H%=bf3(/(.{TW6~NHjQ!J1{3L;3'vNJW2ޒ v=ˮoF hdF W!b9F b.*u2@L;]vA6 9 !-ʹbnܲEiT;1HTͬo+$(ISJda~أ3z-g4QQ6R`@MנBd\'qUC ހ.zE, #o3.Hq3wr&7.{4EYfl.{D|#|e@7A\:zL_%Êf '֊O+ 0LqA}6>˙K(@آd4OƴV|DYíMP!fO{D+֠Qkޓ4ă 4|}F V{&F<dsԷ'GY4UY7B!>2WHߑ‡Nū e$!:t\:Ȉ—Jwe,* Yr+'vq5$ÕCMlâR;\YiZ,Wtsl=寣\Eb:2fD%y}=']%a~+6`uȟ#<$w.(LUR Zn\PH */'73 &Tn;jaNCڿf(q$?iY N̩;I~8@f-G&5rak564Net@W[cw))ę 7RKr,3m]֏|w2]LNeƽ%ݻ^߆&LKUqL-BΫcb Fa@Bd?D}T =J~pfF'QYuq$<:sP4%'$Is"{d j7F6-VƾH_yJ9tWȉ_ h1թoAPZ! /\Pc"y-jqVVIsk#1?JN6FioF: )af/|8-FJı U2'U=t$Oe79OL +EvExIlQpϭ`¢'Le,(G$:7ǧr:yrPX% 7ujIBQx{%x(\*o~6޾Ql*a0]NR( m%سw nT`~)&f\(`GWLpH $>oLE)KS|P5~|ޢ~_HŰ w^joi$5W$tc1* [ ,!?#:}%Y^X SQD0j:-$ZG6|`Nnء쩩Ƭ:ʋ=7:CV;p{Gj:sHs:mȷkyWav%O@:늖Ӗ["dkhgoP"wth9j׿ۇk3:|8Fm̀Cr pЫڅҕxvUBBv(#ymhk1vKOYX;˿~L^\[(fq]>WUb6n|/טn$1鶬 :4>-ި\D.5Xw } ^P卋,[@C=$m6 `@;@ɭaW 8}S#7eO.o)"[xD /|iJr`[Qg-svK]˽KP'%zor0;jӎU+U87.Y9g.Ѩ kbTytE`UG7yc.ŝ6hXOR#2:G@mSso~R6Z.D$M\ FQ^d~KQE oOos4%9CԴ}`nC07BL-M"&]xe2.7g"a"w`+ ꂜzPWjVS Pw+&bHUNeдc1/t]O#>Ǎ4!ۗR.B a#pqCE 2V) /F |匸,yqO/1R xdžX,sbC!"L1z:mS2q3`^>dٿ@U]N(o(Czσ5Tif"v'v\J6@jS,V|ϻJDhT7FoOЧ<DŗfIF sqmo ItikHu R6\xDA`?xPR` W025mO8fLۏAWLChӧk FFƘQktOt3_4fy DwFi榸vՆ6f*G@,Lm|=m˦SoG^ |MI7I\]<zkP}cZxv8 S[%t>)l@[Jd7S`xkOPdQL$ʶj )NtMN&3DJ921GRɴQ!J͊uep沲[ZS~o,`>RH 6-'^lޙ_ub8ܻƧyeڹ%BSt E@k F嬽-7 J*҃R>wV> ~p&+i^ɐdr=k[V?k(3[i)W0Y4RUٷ5,7!4Me鞔و{7)Zbc ~!Ft_ 0LeBwԍ5{6Imx+@[^^DؼpdaSWXn;[ .i?(1Kdԝ FЋN gѰ*: -W)ӵ`v `hlʹۋd6Zk7sQBNE^ͭ>iWN-{=x4 Nٝ-幬䈁X)"NptUd}8 y"g8n-r(@ ̕Kl?~^ו,d*Y%vKw"腔v] ;~! y9pmQi]tiY6̌C :,|D}мndr+AY$O04d񥤒u͢W Gz2I&6=޻:g)XOAfbag(yۅҎ>T`! >E/mU*.OtuJiɦ-6{1C²`-T+wr2=&MԄ\z]Jo=GJ =2^ #7s| Pu8SMxmu~ =W6|Ed. 8!ӽk:%9DPƒt;$O{i>|,>FVD1L@t l(N|5UQ?V-Ek'SP85sf]4(K^bI8&C=(8yՙЄ)O;Y8Zׁ;)3mxG>ȟG[=%:К zC>.y||L&R{R a$@ CC?'| J 7rSWg hjuhSLpWd/-:\WNxE7 8Y6U I>-NeYoЯZ!7ҍ `ʨ҅V"7 V w$.["F*HP yōwXIf2U>aƛ7僁P+SJuWD2Vlj Zpc [[TD'8ʄ惶ὼv\գAϙޕMf~| MH"dە*2֬)-s3I(L0xe70gjӈ-<W=i?>s*#+0=`ʼn2C%wvIϊbM|О=YdIkMs wSdkUXz LK`'mOl7hD=82YU[rst |ĩ$gC0k liLb}胊9XAWϳ6#68\rѧu }gt#WFѤ^qT~n;ڷdVXxG#ʮY;Տc-8{2JKwNuhF!]rO~j-flq>h:E ~4K8gcL(9V*L|!|p1?~օ?μȦ}\ug`NqRz5Y?lO[}+Fּ xykg$!lobXSujGhV Xc7$a)3N! d.h` gxK;E2q5.vg|&Um]5mf𹟿4ֹVREg·gef߭o7 W ib<$!-,ckXᷗH鋢S43[}Mas?})P/%Ven,oMfrZ5!`լNFnl$xMVa C,3?I5"IfwF즴PFjLOr,]hQlwm` #}Q.Mknt:[DIOΡaV;jgp*w5|Kل#d]$p_D #z&{|_Cc.kU"Nr4⭆>5MX/7[ujj '6AlhK x0 oXf \{G8P@2 'mG[;pm"w.ZAGtx0zECIy#{t;OqoF-@TiTHgflFMҞ K!IȨ x= MI.ĩ*[{($`NnfO!3`PNK^0mތZgu~vG!/CKJ()SX&nwzg(wULe2.NLXq%ۮh_ ɧܕ5GXp^z;AH0"g.q ،=*Ps@=e4DUWB9hrDjAHTBc"w0g_,g0;P-LX!Xȁԥ=ضrzYN\b+ږ*a6qX/<$ 8J0rߢG?p ϻ9\|oΨdL(tx i9]Y=ig% B$_Hn.Z`#K58< g5 J@Aց_WΖ ʑ7x!CF%aLyZ ~A(l1 v۔Ӟ3V n%$B""g24'%7r'~\ձWHd2lޓfbmųLk]˅W YDzb'8] ukv~t*  _m -A7LEZ#'},lϫ0\6>rUkj'%ƝtviNd [g"SRVڤW=r!}גH5ƽ@V٣hxI±u^ `58Ro[/hKů5iF4QSI?MI,DKk.i+PEnC;TDNK['tCd{uJ 5xOu=`TiRL% 9~> Lo3OV,3 n>w(%mYm1_xٶ$ um@j$ICyV]QJӾ[m|"ajvy6SkVjؽf?@]oV\=o@_xchL7&p+ŀ Tg#a`PV웡YK?J&ًϹK _ow@>X81 3 .r2sL ] 6 哭]TcRJi%>c*#қ XJ4,r8iV @s_'.CC$ІC{t9SSlN׺ bAgX)[,XQ[L 2Ke?B )W:/DXר~Wؔ؀h*}4|XFornX%f+f(5d8˹{pkGg s$ʼmuERd="x _ZXGxA.G{;%'])V2cWqbBwf"joU(}VMO j;ݰh6뵐Wy'TzCeH!i뛑(O ex+}lZ L؎aY))'G9#+Jq33*ocYm Yg䇝c YZx+[; 6&W/ɋ|{s *&7}hY[qme;ՈJ+q#`0)+n __Mkn郦`*Ҧ2= tM[yόubQW3ac-:IB"OVWS5#zuu,*%1Y@L|%y"u'pB :`K, s`Y]wX Bᔥ҈q햛 APd9\Iű5:h;Guek <FZYCа}Vh\GzJirߴҊQ2ݠgv2CYn:C:*0bG#y]fYqli3Q&Eq< %7k,(x+ _y:M䄕QREVn할$9$v7{;T`3Z;|kq/K(fL$1u=ߨD2s4]!Z5{NPq(gIZQ9U}SJ `W#| {Eˤ oy R8,APZRw-yM*NᕜHMNC_jbu)[/BIM>_`8U߲v@ s=bK B9L=2z]CI%%#XKMҴ[Zвg_Ѣ#VxB9 MC=]; \E<;lr;FLF4UiŰr.ٵ:ISa(|Bʈh|X6͡ujK5#Q,NnLKMP"lr#3ʈ]WpxZ6p+Ho唑'5rQ d Tynl.lʼnݼ3k`j1w;: -5PԤ4T)m/**U,&V6RK$] \殌€UJ>[~J)`Eo~D ^\>5 QKx\ B& =/jdYp2LFT5Wu_!8VfKJ-5(mUD4bD%b[} r㿲DSeu$NHcȵBڹZ̟&ʅC.Om}[.oCƵ1̩:GiZ_]"nB}6K̿mu8Ć~G* o`܀Nj5^=7&֚T9ia^# T@2d4_izfZnUSSΤdg!gg-TCqѩCZ;WmES,B"v]=*:Eϣ"Ŋ'ש% r%^׻UɵJ`hYVFsjډy/@t\]$Kx6i|BŐ,܎Y5s tt7O6̷<]=حm%1hk"IU3ĻN5lpS2Zb~0J^}hX=:; r^۶bfh%J:\C$0ק^Iֶ`;$㖟$v79_*B /RPo1;&L3e㦚vuۇ_,)LCx]}?xZDϤ0R?B[[7nlc(n8㓘ȧZ`Fa&[l\*#ӏ6IYDh8ͅ CykL)ޚ"eFg7SAMԱǦ0/,G]7'f>\ovgOޥFߪ]^6Z5i:~uJ5I^_")ᕧ\{1t$ݳ& L?{ɞ,$@O'~ٷ*[k.0G<ג+:0zܑq7:C*0mU:6K٠{IUQ`E}>]\\uCwq ]C7B~K` ] [,e<ʘTO~%`d^bą3d/;`)qĉCL))%lf Nrth:xk,ɾٴcx2x1MtTO?C4ݝOUDA38pq5n_rʕʡXte-qTُwLY(BJ ?LdsD#ɻ6~(Kי;4[ٙ6GgcK_Oͷ1鷜rsR6ҮM*O2]U gEskFA %npW?vP#\)80zG:!E Gcf ~Q`Ww -F%D{uR=P4D{"aO+6^AOgǰs%1k(N`/ʮSYyzhM'Iܐ cl2\jh,Y`nj5L}szfNZ /_:ҍv:kUE1hˎ(u'O)_o2C8)N]ˇeY?-aܣc g ^CE8uAY˷ YÆ z5K<Rӯt AjD "Lʛ$WYKe ˜,Sɣ}l 6Mj)G(9~ܽI8y6'NT۰V'1CCn2'C:-_ fDdq`KO٧l[! }I0oOԓsz;H'WxLz^53u ob N םV!HtY\L"T4X  "si֔qSNrrW܍| nnK臍[k]Ua&$DAG"B)qgFsH#o0"HGD"YQ`]-"WΞ5fieLL(j|?6ci[> S2YUB̔QPMz(CrkH-NTO~[-40 xOJ#w:R)6䲅0/iȅ?XBsrs,9,{D\&2xMh5 0([wYmZ!y,U =掰3VKlk z|bܘRUӵ*La_/&8e?}p/&~Fn[x$GW=#>2C1F]'0QE}Ž5V TSKL$LZ{墽PČ?X.&I-͵t28ڄݛW.ǡ|Hp>֗Dg?1&d</E~\jCtk0FH}T8BbD'YhA诀*1U;e -V~Qs`O@(BzkBB kBzi+Mha5Hf{mlo֌" fz lC@.P}/ ЉIjKw!¢)@mMи-<̔63߇}' MB5^u,s_%XFE4fsI4}+XTe茣@@Z,{XG+n*_{H@nPjA{Fy jܨ6, @Ѕo$2lz ˡ,JOI X6ky|#j Y^f8~e"3jE9 :07nru]o+RE{N?i|1o[{)]FbA&:s\5X"fsOA-P> dqd*9or9m/Zu°9YŽ$uE{_4HDC)_ ~MvH%ybnWt$,^ew4 PT+.Q=?n]x-֡As*(yZa嶍\-\DVdB`JCPDu-BUQA($Q?k\.; F nIgձs +,a "a]T<:L W6&'R1KhΈ1f*ag"Kȝ Je1eӂȧpun/ %JQzXN|̚r}X}9pEQ[8P.QI s\X3}:X.aB`KPx# ")~WȱNZLPWd)$7&xuQjHYoc$Xc'u%E>"pp8];xaVx,hzt ᷲx-5M.(}i P9IJ?D`8J BˈN("y.RײSj$t第=: nۖf3w1l:@{!7^J71|K9t:Jx!uCpL;? P )G @,O'fulIaE½,~k7E\x/} #$xߙ}*9gY36 ER/9lnq*(*DF-W&D_SqSěІ!:@GEmgz8\Qʄ,ز]e1+f=}ȍiͣI{Ŷk fOPWyrP\ ^ Pa'Y濕OBa+/%w$뮺k]_j5hĪZgC9ۻ^"kE(q @ Zx̐!0H ORTSĽS|7).Il'"ƶp:9}YW.5)DW {lpw6Tݥf=Cm yҩqǨmTpaU;1a>vΦiߎ^ L`-)t_ }Jo?T ne~sWKÚ杕uW/azw؎*J!m<iH>-52*:a3&<5l"G8rU1+d؁ith h05q$i~Ec,cؗ\s `߃_/|lrZH+T50L"d FS$5qʬҳB kX\/B/p(X9gX 랿0$Yq ^wIc46q{ 9# *6Wz2 ),>-ܒKꄢ*Z|xašvE,$.W@ `zo VyX%ỡ311 e欍|H;~ 6w? GKoסL1 N`;g u :'ٮk'ͬ'P:RZ`4 q ̦l}QK(Dn@\(oj܇lk@N QzTܺ۸e$֬~ś^} o U!}b |/ $b`WؒZ=C٨| åH/.ESqVϴp'U?3vg$<2HLVtPmKߠlBif>+ʐXfH/NYP"1{}8ɲly_ q(Dc~S㜍.(`iMzĠBl|a{%Mlͣt爈bśE תC2_YW^mŇ9`+,o!#n w3t쑹[X,!XJj魑NnLÌDe0s=pXH2"I׳NPIR繝 _.dCo]̱Cs#c) O;Y+9 q}rb1(9X2=drEN PKt(}plCN6/XJGqmS h S_`K9 ?LkH;=} 5DarZ0 tH%5/gd҄O,x|J_ ?H-mAї#z;pN+Fvކ,ɺ g`GJVZub rҳ ؃eT>vJa>xw.]ИnS--P +L<$߃z-2ȿC^۽rMmj6@&Te䫳i('F?⨜lZQǏҶ6}qP6cjU+]-)a 3OfiNm$ƹQ2 =Xtg*0h}$S8oqjvORT ʥ퐫@b²! ^2Qv'(5H0Y7t";|'UX7EƦ=đBJ fef 9܎S0@t%d(]$ !7mͯզ|T|`,hHue/ALKBgAy6 3W$%c1*Pa;H\1 fiCK/6!%zy U8 YW+ESVZw6ǥs4DaSnOX3i1J<]k ˺44W0cFnO$NT堅4hClD'C^1 `vv=qQЍ9A(Yؾ+ A|֊UL_XF C%3 ƒÿjse~yY:~yR}VNM7Tl@}Bޒ ]s9BJn=MI=KHBO؈x;x (eo& ,bY&v{=_ym vS93ЋҢJ<';&3s"o֠N׶nO_)Com5k\6nAA6%ү$ =oHg5( حɞ{3l[qҸւ{^A Y# -NlynoyfUwbMmhm.VNE9>_AY@Ғq'NpZ0UEX|tk˴Qysw^ RS~5*HD<aϏ5OnUT {sR챪H#GM:h׮ ՎR86>_e-j*s&/=^=/["a8@Ѐ21o(*x;۶ *"Mi]ͭXݧԷ*Q&"ڌc^FN1Er֋TUR-ld_XId4'g&rX 7 {9>GNU3rd.FͼO"Ɲ9D&9,^5esBRw? B>H\C8-ml_+; sg]F Gfh;6*0G6ɚ_.3렚Y T<A块GV&/bN餭(ڔr>Ѵ#Uj&!@n5ƈuI n6Ñj5p 6FL 4]($k&' m#xtju􊈸md\PG'1 _(r}P L vy0GM51]^26yv ˫ڳqxm.̔3=_gꀌJg}b^6Kp{"4ބEQ]f\' ꋼQp(i]bW@(f}-Yt"FY8hfi)2#n> "Ow$̯yаA;PH\—m8Nm 8E㴨C WthLOmT:x²R}pĵ{}My23w׏quA4scJfu&&.yxv_^$+}6}9>˩36d F H+,LnA;"ɷr >9vcb#=zaտx O-98 XԶ~*TwW! |]0:[]qhPšf'j<5ټo3nX435F`*8{vut^yaB{i-5IaeТF^|FQRZG D.WQ"kN=n{R&I9o7 uU[~tITP8g*82/c%@+JW .FEtTv }D3 5[r6)lI)$ E/O_+W&~[9!La7!^6ǠNy5N`<:=-Y5F0QZ%۔s+LQ(u =\OE tD1%kTX#r <1I.s̪D2E}Y}iKKR59 YM w%j}ͩ_RM=Ԗ[e 0G[@&CơZC)ӯXg?\4w3p$? c(Ùs-noHPUVU g`8mN\m݄sdSHUıԥdzc 'd \r 2eȜboo4_~JU7T1jl ޽7_q\Б:uշ^c)4m St—cH]4f SXs %M$PU{,sε!SpZIX?[NVe3؇AzS<mLe Sn-ҧI ;4v4W;D_;r EcSAe>on Df;TxKxm~gam_4/ഈcW%F_]arqdz;z Q1kFWܨlHHdmDLz˃rW:>nu?GÒao[q%H6)S 7o?sovvDnXAB$J^e `9V~-q_"@QƇNIQWHJP 0n< uUmճu 3ӴU&c9VhYEOذyӂ(=\ENʻ}]kqxbv|,  C$%MTꃈ<\tY⾶z^&*h+X8UMg5 ȅ[`TIYI?ˢYEkPR]jz1V˰7Gܖڒ~#yMVoNuaRNGmĚ%ZhrIK1ufN^`jthtc]H1:WEnAlztIg,cWfO76Wh:$QNE!F8. eR< xI.9zH@$ $Qóak#%PTmski0{1؈puJu"j)mo VGnlOt;,cGA Z04V ^ꑨZI1&,Pc:(m]ro%,9C2mu8/agTEy:qоI}7d'AjJÌݕ}x_#>t$oG:6dTEl!b;3Hg_ov[ŹТ]]W$$wִccVe:TkZ]T> 9{B=ݡ[0Fĉ֭J*Y)W> zU|}C괩S_6uPpiZUWzClRqR_8#B9z9Uu:7.OV.9>2~\2> o~`:m潵ai6+XJv`hT N&H TI*g$2Ğb,dB\̐l 5 (]7LG314G;'Txh5 r̝|t8B3|yjofy| ˝(t` dRoՀkUD#1BB!ݩH%MήMqJRt58eOBNRBTu=y[Uڈ0F4(Б`OU;n< p(귺6'e-%W/J]pxx_wڒ{a[X NÆ ݜfxևhT@A15Zͺ@w2XJ=QCU7U%=<1><^tVOM6i'ڟB-lxkvMVeI #_v* "f9e^ޘuH#Rcq?%- r\m~ᷘU:} {e2J-9ԎV;ل?̨ |V>'K=[Ch3dk&pk Ir4*6ق-*b#g leR Oס,phm8Sc5D~r0*/ؑB>['@E;ZQAgHBĮrNoL&Ή726 = @1}b L& aD.w{VGf 8u-: M\%ܕK|X_~;EdZm VW*D'DWc2Y &umhp7)z)mrA{JFft` 1!]y jmE8@Y+޲ ]xסk- oQ[<GOQ7d{G2^ڃ|DG^;C4騄|.P4>M߄xk!qCy^JvB?m#5o.1 =RsR09'&| %>zrj .n-q¿}G;VRe+1.ݿ$EG.9W5-;1o'YGXa@Sz}KUy:%oU c} ƾb;YwZުaQ)eI7gm*VGS|5|w{OQ7{d!E3<ДJB5*'C$4Jq7ֶ`K*T'B.S vR9kO1lw5W+S֟=ΜNKy0NLxMDӣf'xUᑍ^'!h<>iEWGنW-[t5F~Wټ^_ ?U;ĽTbwCj(CG% z7ГRjDyy_8t?׃] G5nef DFm`9fy>Snх;TJuL5zY 4Ti49X'$ j\W[BP qL/Oe=p[_k6Tg>a#t|Ql~PYSVecUXnQ$fL +` $:9_=r7<óU%KLv(k%_BR"*SP5ANrA8wq͕Q6T` zf,WlÍaRi]Oirez- W8ޮ5@~#;X|SϏuaO__qeҙF JnyHوĚ#c2y VLB~]FWKUz5x Zu= YH%)Sww/F/eVmS;zj|8lgތ G&~xHOv.^7Q+X)YKPVۡuml7`1Ch.Sgm[Ll׀z qXUsv DBn;3)>iSTEIz ̶>°maY) &"_+$Gž "Nc6rR_PCҿR:Qci(Ѩ[)V|f n'}UBEטCh &=1&ljQ `i=2B@}^{Y*:S9tY0A,M>zt( s WC$6`C͏F_d4{/?4s>Htߎ"}E>+}Th 5P3f!U"zZ6vD L yCl3O<.86Z(7K`J/,38 3kwWOUiʔx TOb2C>ni ЍFJ\w8w>} :( OhqHSPbVʀT6hx6ܞTl m `]&5fxnOh ﯔNxNઙoj/QX-]A,9ǰ^WX&XgN>Qs\w[// b`Gɨn Q?l{_N ||IKmJXq/EbhJ|crq@z1Άiyg9A!GP%G}Jtz}V% 7DHopJ آNV()iY=/@M/s{Sr0"@ScRG+h zHȧh~[CzFAuszUă0azCBJ#6~!ݥM;TV@RG&ƬH(Š a惢D_"Kj״E[_ Byh;_|u"_Ip(pn~Ȟ#ws3Sj1iޘX~WuUJN3$ o)t6uDҗ CHQ)h!"rZ$O%A)S,$'  =)msoRO}$cT۰2-x82eg*`?}05Ye ~ڽ2NckdNv)@dxvhum>ۨRTUw\eIwnjtcA%=` x5d'WE)^i&iYB_vȢ-?#M!!._sw6Gbxד|7_4&ˢP;\Fm ?,JK +sOY3Ģf#p"Ziъ"@+TO jN,2,Vao&.i jsrmXgP-F0eT3zt =r7\3c1Ik߸YܗyeRb ^ȰkiN"Κ ͔ZWÊmbHi3,b@wz.D$+veL]p`M:aqdШ յ%73%{ku|֓,?NHUp>x.65p9QHQ&G@4y^]~7#$o-EgtlqM.=g{:@ svrﱅ'*n ݀.0+^Ěʍm4‚pM3W8&`EMY^^8≰`?h G7/u Da Z( ^1H;yvR:8Ȃ!#?׌8aڈYVϔ^f_E!~o3 ^wA7qi ^ E+^>X|v@<䆥ܝ~ZiH5}@K2Y,^,t"R? a}ph5BMw_!֕ƈYoZ.ع,Ch<,:w`h)[^H. -*jw3V˘m5 u{bTTSsS/v.۶w3HΪ;l򕉂\K`zB G[{wm ƬW~CI?%zU A!G>\:%$NCv@ohG 38"MJF׿c1 o9*5.я;wY oάٷ_ }~848~[W&P/I_ckR `>+},z;F6'T_vUY-.o~1٢RTe|;7R'WMgH 2e@0: ?]v:8eD[A1"SsR9؁XLKN_ 5h._:XN*] J +J o 4UAV:8XA}u˃#{3G$ yc=&?3l0L&f3Qҥpm9`mM7BSYJC$m/30Zj'@N^we_]9W{ .I]Tv{|AX6fPbܛAz۔`(L9!{m{N[5iWQ ׫r*IQ2c65&BlmOoq-)zpm00&So@4wH0+FJ' z2a|?i̭G^8-੏%ͻ3mVl&m_cMQFҟcJJI藺xv_zE`m\˱??y{'jLK5iD}As o'AD0nv LA!+846 u @S=u%[{8G.bdIɓ [=bIE7+G"JE!r!9ɉ*Un#^@Zu|a/b*vj u,nRZqaZY-5 A'AZ"u_`SS? PDq'&}St_gVX~ߚT(/aE/4eVUl3b~H֋4mP B%% SI "GT+gJV$Hu GN2 3ZG} ;#*:t6[֫Hm%$K`9>H@axqjy _#Uf[J t7 ZT0h' ^?_M9SkY{! [0$GOT,A^Jl_B(` ņ'\4be0.yT;9qxqxTģxIn@Acԝ ]~]ow 5 `){P{PaK>(mRB^{ z 2e͘4dT򟙑I6BٞOXf+v|xv 2: #L e >DVVXozCϮ~8R߮ :=-K:# s#0 ּhaIs!f$큚UY8H{4nL*4 xxpz*?Mtrzxs/ (lQPM CheT0yȀ~>G"]fgAxjfڹ0+M=UtwAL}?zCz[5(!?sKeU }YHas~85q-U5J*SUR3#@L>V"l]n%Le-Q^OFձU e:݀4 M?Gp9vn%qKVA<%^y(IRr21:ڶ}J yͅ#XṆ:RסHt6?B6v P+x:@ހR "e;$â㴯+L%@YiozGU. "mZ*@Č߹XCOCq   g@%Kt}d&H$eJqʦ7x~aZ@v0'Z^K aXX~nփC]rz0'e ʓN#,}SVș$hBv9z4~)J ^%)-С+To#!qYT!Oˤܿwgk`T^ KƩ[@ E]YThe/ QY"-[Bܜ; +tA9](vt0ߤ:m"gplM/ 4ҒHo]1s #f]٬5|xlfI8_ HΦyhYZ;J-}9ėCgIDюQ-sW[["ͯ!9Я={^(j xwb4s:L@&<{O`8im)j ҞaC\j xHN}L҂oMt2F"hָxpBD[o:I˾p"x8WP7>ͦaDJj+^2UCCe&ȇ BQSIbzGN v,\ z%+gO~/H_x!ʵ0PR3]L,bX"O/`Z7d6fw 2{<͇B|;Ӈ ǾfN}E]ZtCX*aǎ]+DK /6v9i-p1 #8t}a<.# 8BӐ^ /WOzvpLH&DtVZzYqJEC5G4bt9-BoyQ bS\5"w-]>)U NYgP^Ӗ"N;8F+)sV8 u,9 AE\#EBJQj޵M;^0J#@f2| )ʟ(\)zenZspk|PEOYjN<6nÞҰy`VR4'N08T'OIhw$6 gQT8jOJȎtoB<$^n4Q]`w+AOKI%q'l@!1.$Y{A"l"pS9hmw<4guvH%NCM_#ě[e7Vd[`Rd?Z ?GLmQ^Yl3J8(a WUl켯\jMRYГ$}C^$S2Amn ҄dpcBtNDɑBJvfj ^Vhso$.x Sܶwߕnr:Koj!bߓ,Ui`l;I22J)@lbrQ"J0٠(Tu5-ǣHtsLbVA"sk.R9Sv}wlr_W8r^}!דD.}J!]h22\%Ū&=8ю ožeGn[$]5L9ij;fmUzF*;jxԟV\cm8?b4j!+-`K=iIj%GyГxs~+ԗb+ДQH ߃e |Уv q$84|#**{0p^̐<}F܄u ̿Nw5a ˇiNuDWs_)Н-O?ˑKPŽ&,OꤌkOS>kt 8D̆Xh8"#")MmY%STez溭"sB\eRsӠ * LWYrWICҶOT( .tyqX>;OcLQ`ʛރN˹fŌ'|ͶhUx:eEОBi;Z"@՗ٔf.lsCWڹOQx[9! "`c2^{mO1W}Ih_PM&zu"ןwsBE]:)MU#p86SsWv哼Rjq-6\_}P#20A];8&ALF'鍎Йh*8a7iQg@vUnencS'gdQZ )ÙVì _ź 6uK\ĂNp6mp7~Gl.5 7Lȑy'iR KӠZ aȽ{GpC 3VQꁪ8*0&?AwQd/q?}? ,(1{epA1[\Y}07G-.)$Z$]`_`k+R?U_'2 qX}o>4!n(S{xl%us^L=O/2Am3snrR&bR"HMo. vWDtɝ7>V{J".{eΊyCHS*Vjb4pPrg>AjcTH^eQؤ\~b K'zL?0Q)9K![d@UX)0İת% Ciye zPnSbhG4H[NjHS0LN] !C007O+JC &i{#~ 8i$e$sFWJz^zZ٨rst %4 ]>IQMt<zq3`Si)bAH!E'Ud6h\\p~eXe}(2Zd %d=¸aDZaBo Y8R@Pm7M]ec~;(v ~ʘ㩣e YWZB?ϖ$تFvWO{~Tj`"?&B̚?f tj5Waո:.^gF: o>UuPLT'H`,+be1k vf7Z;LbbE|QKf%vZ$|U\dkM` *mmiƪNj}P3]c $6̇N8xkʷ|'g&1NhՑq.|iA,BNϙ2<ˣ:}Xwf4yGU)g79,0)<$R{MxI̮H=C鮻M$z,paNe!KZn/-f4q`}ezx)=oVu1r/႙F?m.ބatfWڰy{ږuI H)p5=~Źul=!~=#5/k&vy)Wn~ G%,REjWkU, a֪pʂCsvn *vrN/iV\m!FI[$N#&õN1I);m#6(C\."X^CT׀{zpZeCfY {цE('"hsK͒1T+ AOzIʊ5ʎqݽ[c1̳?ۏ2B]vWR;m,~fC IKkSuT1;e(" E(4?nrK=ٟ>eĜ$.ހE? & V]K>kKyJYg7#v)s&PW0dԴX4ARDA$!u5Ųu'#4W0m5[^3 sqQ"hf F}{)',_B {cc\$r@Hʾ#Կ@P_#SPzn>UnaP33ֹNht.DdE&'͝L,0%<4&2}AR5' QW m[7Sh_S.E}=R+~;n|[9tjPo5v~F˹z$%f i֢U @}kEl\c2@î _FdUwD"C̪PR\Z g i"40}e*v)L(1b =R^+]!0 aLrJ>n^&IV Ve gjfqLh%8` #O:~VwP&P9B.6 LTb9a{)rZ.W<~da^REKyJZgip[1)"xl;Ce"|&V:W :}W\. `J_S'"<=m<(KmxN<ƲQ<;g|۠/e͕N)YOE_Qt##ל7}!~>qok0wdFqE5 i`W@2uPDhΰ@½g Ɔf$m>:giL=/@ <4,&1L#ɔᅧeDH %Jݙ_#8UGFK~\ҖIeMRIkŋojUU%un!LoiMD#Pn)u 5- M({I^U{/fs)^z\/J myYjIjIj 'E렀XGޝNC2DA} +M.K.ʂ茝r^xu?d8Xbv)6T4h_~Q:$5t0g(z8E&=plq++y70II-tAhi1Oak_Z~wxn5>2'Ȝ{}Pހ18^0UџBb]4 )ZJu\ߟM\ڸc3G)|l^;}ˀmQalSV6«> p}Y ULώNH-?έN&\(ua$A7f9lE-Lwvsh9*v)c,)Qk]\pv;0s0'."}0bt!{7ʒgH> b<[o->YUmlb? HEcKa{73JjA21{_ܬ vpv孈ճ4%Ӈ$'r D ]Zrx:t7O7U;7UN؛Ɯ/ ϊ?K6ed c[ԃtX?DX$ Lq 9ߢf 1AK:3:;ev߫XmҺ,aˢ(il-/^xMَ(uЈ\_)XX=uJ։AMPGvJ]?!J&19Hr߮"SHR%*@3v쿝9P˨tJ6gE wb1{rYQr3rXb;/۠_1/׉jKW–,41x4#&+KN'[Mo*Gg}v*u^lq9sơRZ Ct Oq>7X}'ɨff~2O<܎'~p%rp(Q{Q0dq܆خW ͌wh.teGApd1lq2-o H86UF^NwZ$zb=bcguUsZ|+?R&KCO5RTwǨgf ʀ5Dd6' $u2hgWY*p]h7 0 nڝtI2g ϋDhlz/xĎb@WF^G/N<#e=kL,DϜqȫ%}wl9LjJ9Lw}PHǣ?1RJFcf 9܆6/jϏPA1lh}6XP܇ ~5`8&m\Nb~y `p C,6ht =|J/ú)H,K7f8W&8`NM I@|o):)-'l5WEQ#OmOԙ@w.̺Q܋J7aॐ <;aoz<_TOuRN7gj5>VɆE+ndB$vpy VvCpJ<20f|$RNyNz}L%~¤(|ť;YW e.O>1#=Llgc6z -X=e[Sކcz3q|_t_ETlX7,idp%|^ed,H&D kTT@kcxBn*5t$ePI= cפO6m%jP@M{>C$-dRf(t}k!"[E Sp=R*d1@@n/ aQH#=rJq-]@Wv%e=OH%̴S|Ff/6 v8f_zR dLMPdHţ$ʣ$o!* }B~o=ָ5 ՇzU`7Y>[N~A 1ez[vV}0}dq<[VQ8$(lD|%뷜Hə%}F]8^qhe|er1]}'?jx|R)=+:b .m f v?&gآ y!}!J่diP p2X*×NXfbu.Vd/d$0M8K}KWaz41@pT*=7oӺ_M5aJb =34T`(I%cIKT[ !d(:MfJ(K<bda 2q~L;:Sڛُ5vp`{ݤF`X RJ.a'd&6/Tl(pt>9Ö@6 V\qg: rؤ3_rH'î'ԛDIC|Y) ynP$&vH5k)HaY0 i8*q8Y 0}XvDw0r)qZzy_ec&uC5-^7&'[W_جPc*FDygOyCUD*hmb͚Xt%`|R͡>sOF&Tĺ=4*%Ggc׋-KV:j꩟ W46²xA8`K mh,̏xȶu;,mܶں3si(*ӁfӺoJwtG۝L{dYJtr1\aVxA*lps郣o cq[}L嶰^^v~mN2!:Ԣ*tJTқ 5SCۊ|A2g v3<r3_%K@kGzE"+c_t3T] (Shh T!#˂K'h-2'߱z+)mk$9jS62SgP|%''6UXFR7S{ť9}:̍s^ٔ4s#xM-ċx i;+2=$vj1 mL\CT dŠF/P?#]M)p-h BstG!SS\R>5?6-Gh3!2I f| '5Y/_80A)nP쏍shZB$5)XsqK V@ 3*g61Km^Z lK{$X+SbdyuNAۼxcgwBq }Ph(dR̦6/g qhG^@٩8pFb+|I1mX:vz*;Rό݈Md!??~-{@J@[#Q+X#2L!UjK{x*Lbk ]Wغ߉P̠Lg_} "|" |6RxWu|,K[2c{۩݇3l ͯގ..{l=Db5v ΀x<2ni-i/_xDGz?P`&eZ2Ӄ 'q?.l1{c9P豏l!'D3IF;43rIU-=X *7խ U : %GP4pqm=,LWEpSDLH \:zSꧬۦVn/bk½u I-!s+:/:}vK*YQ %ZC5 P'}rx69"NrvㄍZ뷠+ @Qzm8.9H;06VAֳ {}s(N \t^Ofx@"ݮ8:/UJ3 SaW>@y|H41KoNRU˴`~05cLuᓮP?Mxb ҽң5d sKCx+[C|fr|d3#tltYF7ZD)}3hiШeky}-⸄U&3)?a8;?=eǼ29_=VZ7GJG0wFC]{ aAQk Kej;\݅|"jz׆ XQC+VBDXt.DW;4%Rda0TpNU C[|`PY `Jʎ˹}\zkCs-z,3{k{[ ÑR1ӺwsKh Of bh:lڕ Iƺ=kЏ}Y7ՖP%g$37g\)Cc9`(`c6Uo^+ CcZ"n/3oDo& .~dFLɜz@Ԇ-25 I"q|N$mO'ԃ; (OGaBs,&̪JM.86jE&ty4]:kr0;o @Ȍ#T؉g|O5D,/_)vVi t}݊n΀2r`!B:_NBErD#m[&(n^K:Y„oTm4YnQ`<ƥ88.+eo/̤[ bPأ68!\tQ*#(udon  r-C؋Uc;x "` *ֵtƒ(B5?ͧG{.'9/E85G^ Ȅ8O<n9qrx\ 1H j҄ Vbof/U^"ô`aʅ: St4ك&oǟ*#nb;#@44 xEK\UWaȺ *ܭBUX.aSX!8.!yg>tY\r $?pԒwfXe] gw,I\(jPtKdE".L$C1Pj@<+_{5bXz)[ o!Zy0zBx#9$\#dFP~[q[*u(gQ>vǂP`oG8 Q(Z!5$Ԩ=O#p>b|W#-cv֭T "]I=2.\z<~<aptC۲ʚUnK _%*VSazG}P5mQ Ǐ?iB+Ⅵzi翟K7E@v`6yb 7-bD7^t10y _KI%`̻yV\KȘrSOQmv~ d/Sz`*Mxb!ERX)Ж q^}Ĵ7Sݕ| ƘZ_iU0VIYZ/9\_4L_E^j vR)OPܹtRigƹ/ q y"(I#jHG⠖ 4Fu<H:eFpa *E]^WyۜګaN?h^7kUsM!~vd(iבZ `Nx gGl&5_j(_0p =tFg?-~M%W(ے-bFNer@7")vk#շ WhvnsmKU:T*Gk2(9xpNz#zkٕ>ZJ3KE &|ԣe6!p[+$1mEA }r4wY۷(" /cX%>BWf=G' jRD>?%# phҬhrD&H7uIF\q 5nv&nU_=ex`[anNLr X+OAu `ŜzH_CdӛY#*x\ʾX2,֠0U^%.U)ÖH6=; wZEU=Z~PnEVA]Gzqt7ւoM/Ɨs"c*I>䳟˽[ a[ XdÚ?-4'bR@U^hŰaNXSӝqIPE3m/}lc|>A*Nr ނO,n)lMe5^ef- pͣx4dQ$ctR }\tsuӛM>'W(VoBz(i &~YObapWw)1/ț_-c/5L<@{hAn\Qr[ 񬸯M}5ؓR } ؉l_E TgFNvQdπG%d CU/Y9%'̩`?trO8$Wכ¼h qHN!(%Ȗ &W#Ex 5k괐?AZyy kFDXȥ=˃DOW[4=4:1f\man%ĸ=Hmy}"[E4/jڞVMqj 3^I V#"*h5B |MOH*/ՑNFSmUH+bԠ bK1 4Op{o=^P_ud ߔ\4Ԗ9rۡW]oOo9k`s |z"|ΑeX4SW[j4gD]P11f7=ɑ35 1 ?=)*9mYk)2`V:vm8fwDՏ;96%|TZE+]O6-09!|bj! T.mp\֬ղ`\w%4ݱM(+O ^SuP!B\|Y66vs>s#։owD{Fm2*-o/i*,= Z~R[N2TL!ЦwX"yE3n~V^Tp,8^jژD^9@ TzCڝH9D69!@|u>9d@g_~F̓.xQ?C%WͻkZXx&"-e.Տg=eu=8Un:X^FI[+"M5_Ŕllb*%b9팗ʑT-C)a E뙜|>DǓ+ac% yn˞&4[;B;+^~Z;zX<|j1^5e+sM,TNi˔YEfbH C 2DحZO]`2A|Ӂ "?sr8"cia.nUM3 aݱ\'S6H5%yyuΏ}qsWC[VB\ hqMY 4;CgoH5O햛ڷvLI=u踜u/n T1VW߽+&w&:qPߢ%6YЪ.;0~>j;aA&~#yz6/(ےf@>JfMjW/JIF*~\Q{F;5<qb$ ia})ylu a`1Ow{ M4j)|bx{lPcɳ O+Y(!Kv 06Ky7$2NBaJ\=Ta8z w5!mk25z{yEww82Dq] 6N,{{h~ZyӔ,`YE#b<|\>H$w3k |7yبmyai)l\#iþ /Rs r;Sd l!@$ߡ' Ϻ`C|El+. A-}vV9^0p05}s)w" >Âk)ȎH")WR?C# d cG髾1Wvi%ay*h 8М{7i})h|(չlStqgsךrjqG30qCMonzܾt\h <'U'gmw1!l⢝w#fמ 80;*4kLS]FT64LcAP}6OX|9p*^<5&)L϶?X) ]3[*Z1qc4g~t*7zNJGCqƒ`:$ơ ;|@J('p؉9!]"W`cp:ӫmY2g'Q"VpS|ubyxXykew;x=Ǯ~5k>8SdGMȅIcPf( tl?g"hhS=:+׆Ѻm=6%y=ْO*Yk̞gC-xyO94V XMugGە ysI0JCWFPt)X&H:ȱKCրZ\k nx i}^(Nn6S'oft3dji+ݞ,Ȣo3/+'/ _ġ_tPbAoCiDyeYbAF -nșLRӉe*rmP.Ǖ~J$7kfDk It>n#N0ckpistw%w\ϋKkؿpZG"6C@Bhy,U .AfHF9t4~p``[ybb$>m@1<~Qzf3'CbfA֏:f:w;A@l98̀=#ۤ(e1($8"Oy1z^0Z-OÒ-̂!O &SroD%/J5j6A~T/q}Ny!:B'R"W!m.ޤjQpb!ug[ Ə#0KTȀ*'rE^hvIs0~ 0l1#'DTՁƘF JD^/YJYs XB# vA4EEml26'kPY]9A3'ӄ'梙8p)A'Q,˥nXC۞H'V7uQd[c 3W]aEE܅nCv3jW8;Tˋ}"xNm~u!/%a>e >@E%-؁w|QFjکy}CpZY"xc`VVxt4m)<-OgGώa?%&XKfܠEFWJf8k8C6|ӹJem0GؕA 8H$Bztdp S1̜^U c>qCmK#\H}<x~,c ௎ _=ڑ93c%/(\cHizkNJ#B*_4}q2f 6249XX~ I5g\Ά%w%CC#Y ڦUD I?$jX>N^4z9taIA9%9YkwKK/ {92t[H ]kFSC86 ˔ pAS*댧8`4&Q 器aoThse]ćry? 5rmRpSh(@צ>/,qg~ bF$4^4ISb4Iۖr3YﳔV5#)vUMA<(6Rqk@[Sq&\p1 uõ?=eKмA R6SɪxO~P݌<@ڄ}r4r"j! [L d 4 #vM&JhpgNo| "^uǩY(ڦjArٓwL!3,vusg k/bm@PXP iulDb=CNgj#~ 8Hv4o& wDK=S-$o󉴵NfӃ7kBOK=xYOT] "hM~˪!,:Rڇzsr*,(Pو3+@v0ʷ{}.NuBa\afQdoP&{yTu="#OkZRꎏh*GyMˬNE`o,z`sN[#V[":b gcWvE(F]O+LÃh+iQbih,6>cW}d`J&rvԫ>Y1{r9c^@RzO[u8`!k%(N&U3p%FRuu GvN ,=΍olE& W~Bs}kB;0ZqdP['fs:0+D̄? YZrHNMXnQCK/+O\hAE0fS/rmnȥ̅#ad+EZ˔8M.U 2~$4}׮Ձ Jl?mɎWńfV t>6Q-둩8Wq&d7,Ou84vkaجLݷkb}2)lrEAV/e"RxFonΠxM`r$aZW(]z#|6 Z Ǧ kܣGT1+@ֹ2,_>ԛUu$hFGvgk.OaP1_n2hޮy(D J3)wz E/OkV&Q/q/.G̴F5x>? W^TkR 3Fܛ Y("۔bJ+`;Ilt c<Gb^2VE{R{F%uO)H8q4M*uU_K8O^V&"N՗G@W͹'¶IuUei2!T4 Z^%J= S''e4w4,rTgfC^XSpu0K}z]}i٭oyNţŢݫ&?TL2kkg-TcĪ@dQZ I)[߯;JUTm*Պ1y)KOBe#(J<"Y ˦SPH[%puFPcmT1ڈ=T a.NNa cL4 cqYnk–}wjw-36pF>? }kG"%HMkQхj9u2J>;.jGȓOZX([^ue96sRSu.E:)1yKP`}򀞎Ҡʆh,鼮j#Eǻ9 LL7B(5ĿƯE~m8b^by@ģk3ӊCնސв3M(6d}T²on( ZbEZȟUeM![8Ql$  `sMv#ſqKBZ aԝ aJbQZ_vdzTĤ g~sx(LԂwk"3@tk.9ESR$d'>+VW `$O%fbHՀ Y6rD˲H c uX4&:do܃dIvT[$"`'bvPaF^r2=gvɘHos)Jl {=7XDǓ  级 Vv>lۨ/̈́h? /9*,A($Oܟ]P# @i ,R; 3KF87[$f,O;|UCYyaI R^k!$;-E%(D/1@I % p,m<t .j݉}BdDzh`Gq'(?u|3w&۩Ȧ7  8krn+JfC pQWqéz|X).RTHr>#[d9\r&GWgN<84ת}[8h%1*&dY^P̎5u>Z̋Zv:{*qyU|T8IGm35q N޻H5&^{lQ(Őb|3|1f]ejpPg"K2Jp"v8β&ZmWdf/:36e99ۙ*?9 P9o:rM5Ᏼ*ssq(B ʫA`qKphp1j#^jNO]$CIΉ}!fjIOB0I(8(m8p24~L{> 3¬^EYٯS}C ]t '*7\CI})F\9{f- O<6bvY:DdVj+ AaE/c?) "+J P<}̡"(+0E_kaT*1J 9kHqƄp %LA*#*3s/@5Zԛ76B@5 5?ł6uyo@;^^ɗ yl;_1_^بo\*>#`N@ª{nhP[o0#Y6z mh!Ȇn.^[/ Qm)^V 1z)dP:FiW(fOƻd w%#%ͯ{a tl-y0 6P+?dP>;aԵl$gWy'Dn7c[(rqQ1hJX}S7Uqԙ .6+UOQip'OK:\*Y2?]gI>~Wjg)%`ktXAV*tn(z8<3}mFE1 ~6 +Ch Inf}vxOo 8*'AW,+$)quV[ if* Mo0iGSY䔂c4 ji٢'*B9C,:3QSPaA햗—r;q狇LElbEǰ1E/V?`J "SP&x w$ΛI(N6?w' 7;Fٝ>V {஍)4] EPPb0}MR97Ad$4ŴYPI?;0LG-^6ڧ M7N 57ԣv9oGoDE|M1&#`*8N~Dw'-?PfToe_ GUuE^q1{64"\qA;t3XE|߹Dv1? Ja̾n o eӼGmFZkt IƬ}P@tQ)/nT $pZq$@XЂ<%Fs`؋uBN(ѡe5d}i(Z:k3rNj4|$()L֊==H-IbkWIC{J읧o`ک&bI +ޜAJ wkp΂s=ЋMN^#ׁM·SƏFiluu>ͦUDEo* |cz;*vj l:Q1ؐHee0_NGpxdGKdVÛ]P2b6db) /bTjqmJG,ar\"KUazi?ø|{E!hT^M5qqb[m S!dYj0sڭ艽YT;lh$q0`~}؄?4gC<zl6>}mqH2n4wpnS4pXV S۲,ȻE  V -2!RmRyInINGahT[ b^Pq8$6>T0/r*xtV3x[¯ˠȘJp i{V|#=bш؄oy SBN Nl3UCT*4m.zW`.vdYsܘN^>pc*#MTPpHbL y$)V2t k.#*>bƽ qaod.,0ʁ=c>=X1ٶX2^zU\"Ѩf j2MO59=VhKN#C~= Ț]s4;s:Te_l n' Nۢ7\9ٝO}q-~,+TӾdPFfnP WTH`C8V>ekk(v8(GBLû"Po@df ZW;m36jA_G̴&h{PH&jU8wj+ cnؿCj2H5Sk8 ӑDo_UA=Nak~zwD,z&ȯtܣߒpu +M:6a͍'ż"rqAu hie\lψTb&~R٣ެ\3>O=YpI#zߞABVхLW'})C|ſZs7:89_~OgΧMa0C^`/JIlyOE {Iؿ$@P"%uTډ|y;a( nuc )0Kc7JJrwX 51^,5ͣOmCuBy& :v.(.3tW3K (tEZKft&-/ bCћp5k Ë p׆jJ  ǐ~éw73$ rY, ihf֗;H V|6ق7 ;(K [ܿ `Kѷ2ZdW~ЩǪ))̉-|ؤҳ%ziwHƣ+g\ֺHLټ!tk &uaǛU cEZV. ZoB |TC k8C'FzQ#Xx?h6ЙfYUL%'Hf~R6& u sAAf}etn mr8OG3-xCU:΀݇14[2 !N̼2YKe0O5Z.r1R*:;e9g.̝H2WJzr᧡XO}5#FbS +3jp$5JA$p5bH_~ba׸aߛc?O AiiOZG]T$!qj6[hւi !>X* m‚*zJ.0Y֥E%*:G-aM#.*"ٺiϚ?,[7`0 ϛRpz(D:Éa8 ?=R4oAbc^^nfTHQ[fK7t6yBqshWKˍ0q3WMi@)(MuK$Rr@ELHkbPNh#=q־=EpyxOmЎ;zp-HmW2gfK7%$׶Q:8nq8}Cd(iN~:0-rυ.vX/7&Y:L\wX m#yEm#V++z>aOGYAa*E<""9OG9g86l4;n\َSs <@7M䪫D/5H%`;d "X,1EyA1 $0w"R'h+~l hqlkYI ԯo ]a+U:奴>6236 b򅱤zՉCD46IiZ/V{wu:1AbFL rl[TܹJڣDu,CC l h^˓`tl=[PtZh$Ov^sTGN&_s2xm /cz9lyg.񱂇xA% J)ڽSvD烔2-T ^J(N+N`KGS6S>\WYwrdy ,Yݦ1҈ L6p^ '5Nv[ ڷܜRl7ע\c'i,xBv' mailrX|2dKLk'\~lO>{*iQOHM1nlVjE|Y3aNuѹtDAwg ua< AXDzC) .: O`f h5m~ͣp~AFi>߳s 'EJlZwozs b i}*[0sZ1L2@_YFW^rl8g:qPpNR\wj eXJ.I9@P2"ѾP:a ى\J3*kfn !oJFI_X C,̕pBϻFˊAW =ЗƺT0i _ q1 bp #7pFKCh?D?sFk w'#kg0x6'UV\<։Mq \yԉaYĽGc jLdV| 0HFa3i,A~= xmp1ќIMB7=L:t BX YM,W!a*O pA@{֒:]"::Cz0R#PnPgʎzL_`p B&GN!_rgLaG_(6-IG//~D>9 ,0;~+v\ {Bb|3oq("M2߽zt]5z*Yck%d/xЌ m:\6qE}^6b-~[0#]lz+@\Z32oGK`r 㬀-\\>qvZMfDÊ| K#ՖZ h)`N{oSclU(5h^GisE9ɞ]PNFR0<1&B܅9gR=-סƬ[;_GbgPqv/q ٥r ^y.݅"G fY,I@v%AbmF߭01?z$ h" Mlm/1e\iWwQ.VR<+Hu&Tq"ӼlҴ;lP]B_: {^Kl i-n@kU:$1WSXvC:nX*ZW0adtgRHMZfk'F-ȝ⩬Sbo5<[T.AT:I@~~Wq$+ҝ҃(L/f D}g$~Լ,kU V ߟ盚d^}H3B 0Bڔˋh]zxHDf}ĦB}Sf+mzW7aLRh"`+ aW31!ꁵ>ųI0ǥ2\=s>I͛DžB@LP_S~^23<7M-9X;4+? =(K}K/v31 %V&n"MxOegJ]Vt-X bfdRjelŠ57iۏoI+MAqLTNb棝]J`,<ub8D''8&Ӊ0s~B*N~K(!LخFjjfC4ճ= 6[ ~8uU#RfyCW%8Qcd0Oda\8SҪ/ [ݯm18x d? zaM7 w*6IC UF܃J};U1tƷK9<ߟ˻N)|ڣc^z/>}q'v]lS,mklg3p0 {TO쵕/ cjiBl:Eae1Od Wn™"o9YFFs'ܜYjAI|FPn:Yy0}_D;"mS4ޤs6wjqx%gbv=[ gr}woYg4Xe~ҹJ}1q T5(S~KM+fJ<45Qsʰ|UVHu;"і\֞SN,z,pj$WT]]'^ &FxҘOb*>EO;;ԂO<ХFC=:;ҘYO807l35ͱKVtfx4[h i.y\!noYyM1y!a#ˢY.{mۡNI6^ŭz[30NK$/OۮjU)]M"@,+ Y_tcƦȸ/>CcHT gP)CJ'8s.00s|+qgX &h} ϢbÑkGN_8@ ͨ%qؑъM!6^?{q/:OsR3$}QZȏɊvU$.o'\`Q-H}m,y Nm/B-z/` sb צE][Y;hQF=Hc] F0]ʏQzjZ&JNda] nD݆m2ȸ%ljHsӌ%@UZ(߰Q- P3eX ^@W@dr:U]\l_C^olF4#pcWd1Ə~BLC: \~<^}&",xw|㬂fw2A99~6 ny}+/-Y>'ѐ(~SyӚYSxUTǠ[|$}&p 0J=C>D  ʁsw'!*,oWJjYnFU#Mk<\w- J CsɹgILUi\2 rel aMKRIZhhi?Mho4m{ rnm.4g|Hjq׎Caw箃mku{я>00F}j7f -&Ӆv<~?4TcES?ke!_NW2jݨ$rA쟈Q4C"Uw_4w[OG7b/)I<&ۇ$Psa@5R#I5Mp,~$;wgynmU.$]zC+xD}ߺ7E?f?\Qs.|c38i;@; QaVXL֠SMp:t)}yhzܩ3%x@6:Q8ͶL1ZY@u'E~:ϊ6ٝ͠5ĊnXrq~lϏ\Mdp,$;k!Z B] Eƙ|F 3 +c\Gm_"`KH;,d;[ d6O$z']JYO捼amXvp&rys==Kƙ73^$ ^n!s?;Sҧ,*oF eAG7e&&BHFƹȺޟ$Pg4۳k@oƥ~4wJ(eA.DbQEC}7{mp^rǵ\ ⭎}z+F< Ytwҥ$/g@;h Ң=^k*!dW<ڍpdYB_Va*܆ 0`VnEE2Q2 ӱM_ەSWJv7ĭBDuJf!7I#CsPWu;P=AkvS#j#Ģi̚spM3!DfC= knAƼ_U?Zg`>֎ZP",Vdqwg2tOU `3VJ׾WQ]KIܤL<-ټ'o}iv(3p$ΐSZ/B0vKx4-mے"poOX+j̜ͳ~6x=%U3wR}MAS2wxtBqGGVrS/%v4ZJv؆bV'p[/IclCmt`8<X8ƥ {ZB6U5~=IG~a?`l/s wC]0{h7]*Qjcf/3i6gH_ĆRQĈjEgMb~RĆXy;=""Pjntgxr'/89dMaV)5? eM MH܃lX /N|Q\h:K?W!D,\Dee#G9Ⱦ]!Mo$m>ZV덇[u-Oܑ*} խK7gfPSE:W\NM0a:?#Sυk@q kdnwvo"E ~-6goALjc c{`ڸyD,ڦbGvhrE\-83 S ΉN)6vSJqwVp\KR;Rߴa7z YĖ/!P-'olTCFJvc`q!OZ׈^t8vi4?!ԕHo>{}N(-׸Vkwd|+x-Hh*NEO[ b&{-(-,Ex\ = d`Zh"H%~䣻66c&F(d/]+SpLhIZ׀.|/{DRf=vM[21|Xӿ(%Z {ѕ̀W [hSTs?‚=h'(U;ȌZKH,k=4))0 ;=j9]']xojI|? A:)BDkD[D 6aijwj <1+=ח~Wf9ac%E .Q< W%r}ٲ 1 ŰLc6Ϫw;5R\#<#Iy"Ls!( ~A浱8NlEGW4 wpaAЄ6V 7=sζh @}K@[ވR0`z0㍴VUίMLvV)xKg)T)GgZ5[0ѩܤ ѻ^%dɸ- J4cpرŷiSc5%`(xOj.?@hŒ4Ld$`f]$EQeQ S`MC>a n1f.LҨs{׭vR6AqV;p[P22rwmX8_4k C?`=/e1kPXݕvkK0%xpi>Kx \W1ʍ J~s;;IIMBYCi!c'`ᱴ ZnIQG mMH^$`$yFGr@"8G>]#<_?Î aC~ODܫM< i~RǞ='i!, 'G,k9[`1} :u$t3 =n[d*)+b 섷'$*eT ~9b5VIlC|]V y!kuՉq:oتӹ*{`+jU|Huu5mb T > ʹlQ^ӹA[m}hُ,HWFdئ6;qe}HT; :+b 1D_488#4Ԩ8`]{QJه`DꉦT$҂;aNN3zg0Mtu;8F4ervEګJ~4wh1/DʡTdd,-VjjjfL5y _vg1sv-cJz(8<_ܟF&%l VݡW/{S1zVhYm#xŴM H[Nf {RA; SnE7$Y?%`9+mbw.[\ r+U˱{?1Gz߇\c'/ MKnBē}[Ynr" Ia'y:r)m$7ez-;F#t2TD̍F /օ w$P>A ނ-n z)08U>4Z?L,H:7| lU~_Xm|9;kfFVRI ;D l`p#/qhە)U>6t@PBid.A_"n(ڊl8kPgD1'6n}(F.uFk*]K[F @])(QE".PMr xv<)>kI{ .،Rh4T3TN]h%MMʽ,k0 ]J sb ^Y^qD`{ 4췷1]QQ BI8v )'k=?*џ*zoNI;r|fc }%ӏc*QlA NU4¨`W4+^`Q?:1hʺ1r";J~"wH]]h=L"QgkцgܻŷxnV'KaK^7Ӽ)Cy@K& me;_8|"<0%:?Q1;+$*_h|G$ cf7AU &J̈[»yE;ͮv 7)6h-lF>B lsf«gi§WJӄ-+]a_\2 8K~Uqj0@:GD ^a'ͦ ˓l}M[ ri5LQ=YYƞi@ӛ,P@`Wr6-YoP+6Yьv ΦwUaa6u,@ZȖcF{ c#_9|D{ _D8u( 'ܕ.f.歼oou|hC=&#Rnxm* ǻ[&sQ}M;-"h ucj@.RG2o4XUi6&L,CVve5G 1nT\7 ,;{;HErZRX69Ū$"$ 2+xf TbCǩj۽8w ո H: 薈l沃UenZ 6d kl"}EFoi&&F"_Q Ă+%W ^ne#dAE/4:N%Gk[mo}ZiiYh]u 7rlRF̧dIypO\vҠşsBB -H>Aw/*n=!׃[ I(خ& '9yqeLϥ16nUAd}Hۀ?اk`vUf_2Iqvnue@N{&Z5"6k) K{(6{1Y~=*&dB7P bvA-jH[SIG7D0 .qDcrTH?Xb4W]^%ל+ B :I1?@ 4AS(Ķ0 *uAA̓WUW) 9:2h'_p>6 M4:&-lRk&WCl]ZѬJxb&Г4\EE34ىn@#3ƙxA%Ty^u Di7ڇUٖoxkgOX|:M <:IY>P9kTIX t6Xi [>_i˹x@h7EC)U&\M^3*|QBY52ŮkR(bj)|TJj `2\+|~4A_P!FӄzQK96Oܻ6)YR ߔ#s[lʵ+E%fphCFmpxL__zJ n"9O3t!rOkpv) o r6ΉW͜N<X*i^LpE6bjh̀r0r(iMi!(49! (q<> gx5U+* 0a Iz>[Ka>͚/;+qBY4W<òՄwl~& q ly=Vē9cdOr9j=}I?CprM@WX `^ rx -ݐ v:T%k‚&Ԝ:&wV[>0ib>9qy\"璋͠G3ʚIe geSUO`ƪ,aL[>j~q-z^H6d\cU.Yɸ6Vl::-_&[3c +mY44P,r-;cOhH;^Bfg2x2nzjfw'QV,F=E3@l8@iE@ O Q͠sцM|cC'+!29vHeKWw0b!+-~7|g)ՔSL5$msovr;0x>^\]+~&z^c +2x3Oim  }_仛`` 8%v8T`OWog6$kM͵G"5ߺ>Gz=WJVY$U(8/dc3_z:di\eh1`$/WǿmrD]z#* f:b{fi sc;-wti)uׇI0P'S46܃ -qr`hS#cdۂFjBGyzWQ[d7T,.l0y:&:hĻ_vgMI媐xf?T y@:!PAajݿ2-֭_P ГuJL5@*M)Y4Og"C1䐕e@voCcAn/Hk7\ZXQR9Ic\ m=s(.Y&$I٬kʞ+pJl~LDqDwYZ; yp2Jqz?Paa*0 *;R\wMA _0K&x3>Ⅵ3ůeUZy,0|s&7KAlri^O[hNd;pae۵ %3)CCb^>Zӈ-kEvY6Ve,,\e5A)BTwSS(S($ RB''B3HDٯ]HBq2Ļd6jiRiSt#[EeRR+00< PX\TFTD\V "eo_1|)Ɖ'Rl#X^IQ? nT aJܫ[a<~8[r]F>ǃIaw+Go]8z]>`8^POϟy02wd 5tAb FL UB5T>ۛy:4{^B龜`ƅVjNjPC;8|m@YLůu"9wJn&5P }[{[`{`o`=Hago;د}6422\?x%;hZ{A|Ǥ [WlH\xIwp絛&~+91ZP0⊧IN].qƱaRYqɋ,SZB?\XHc604ݾ./Y(wl 1*֨06tQ'}9 N.`n$=[V_ <>+gbn,-=Cњa]IjR*KаvR.q߲0=MT;Owɜ d\ikfxF}Lgԍ$ Q6D*''drȃGmew曳J1Rt#!PTk-:RXr[C:Ic<dҒZ,umӵůSOF=H4{jkf;NF?I`' bU Rcq߿Wy1Ô]'eg灒Jx9gfɤzhh Cl&^/%},}P-,K/ &z :e'4)9qD&CτK/ȓݗZ採 j2OMґ+ҭf2'W:7"%Ai2~ǡg1e[vw:̸7vw^G-ӀY6)*?.Cz!|+1ׄYh]Kp-JW`"fSWYɡqEl\1w]-+P ;WԁiGep"7lF3ՏHqex%Jh }p3am*Gצ^bݗsU |*$ EH{] qSIX4o ^8Pc*]'h0wHvO {M 6>_Zxp=)/Ոi G޽u+7 6Wx1)f NSf7*^YyfH%xcߕ`q: F} c|Lx9DM0 ?PB?Y !HiU#dZI<@]ҖRC8`(>RںOx5""BNaDW}FYrWc\v&5'rd}Aϛ8EU"yw.Xaϩ؍AEUPjWg!o1cϬ[ nL),[jUԊVjENRDR[lvp0bԭ>\(Q\%3M ‚TNxyLL; |Fyq&[zJ;F#F/J׾tx}%2Tk|q5# m"?7Wԇ9 >\d"{϶iϙп i.[(jJR m^i(/q* ywv$g|tCzZDMA`e+$:'-ZkwC#րB%O ]? 66*SȔNݭN5]=R߶4} 6v`s̯HK$)&>aer<w h݉V nS 7Ru6x'QFi9 >5j0!Q 35_&UWROp*ַn!;N,3CO>y F}W`t T92#+Y&pÓb)Y wQuMĠ#e|_knD8)M>KÙ$`yO+WpPԿO*1[+~~M)_567'#ܬP9C:\rEVL̴+} }ƨ˱8:h[. Ͱ}W>6qhQ8I QJ-8eaw6<ݓ€W^,`[slC;}fHwO,T3|v^x&< VcH=E?o9vxj `b3=>]ߌ>qiiLP(WH*Xv)|FK V21+Јkĉ+r! B =F޳~&F?ždblu@F]шӵ L'b9o RzwjXo4 EָN;:SMP?5f+Sh+aU:S9x ;P =e1hTZU7b BA±4~4X bi6]5MHQҤs⠄+<EuܥV L]|g'E.7*UM7<S7te,sĪc·H 3.\CI}%U[ c+±{.g (U%uZl,]ؠgw9%4H^-ͅ /OHϖۣ[M4݄ D%EPx)w~j @#.vSz}~dT|s2>+bT?y6O;mm撂&Oƙuf`enPˣ[iہI5ahW}b6DPPMd3Hп&[qO3ά7Dr7h>"Z{+9雨'ry?<+dljyɷ]k9Ϲ(Pg/ ҶiJp{4Z/L6P *P^I@ū ˛|w*&.r^mq6.d[(B",)/8y3(upmC=+c鑞T 5\wWO Of|f1&Vۑ}ų{hPQ@Dla$IWEaRH󪻩PN˱,f< 3Y~ G]Z 5[1qNmyN*4 0 kE;ZcAJ_f~s:NʇФ 䛺XѮbH4"BK|zZ'V12_ |<`O)ym@."(@22$k窟yՄ

    ]X/gaiKR2?l03O ѳ+B:Uɯ쎤WH9}سwoKWp1dCGG߅<4X6xKPJ!W{0E1F'8]U5J.:B5g<;ɑCLefbpbJZR]]ht \vRĮƙo,&0#HTU'U.m.dQ *kS=E} cH8J"6ّ9c#C8282 -:WENeUNqޭfrj ,ɹ܁Oyuguڝ'p^̮L0`^y؆de(IyThldc0 ￶xp닃KpN]`Ld$n*ithAng$&f1l{>RCTHu!n=ۈ#\ص ]YaP̻@l6 sCD"fe"ztY߂rqBU ՞o>ox^'ffwgjzJ'd@RAY%Lo^(ˆ@o ۿӍS+~qxe$^L.8٘,tQ&W|[RZmT{f?>N.DӤ]$o gS$_Ac }ѳ! poV]4{'ʜG婉-.8_b,h~uh_rִ!bF\zK8; s]ɶq7Ty>\cVTձ9+plfĶ~LM5 7 fژ xX$7CŢk@a>ɾ_^ltar)đkv ̇Zs# SŋKؙn iR PVYL$6&BCڬv*BJ2Vr#}oMq2.eS HϷPы}$6ѧ _"hsŢ,ѳq|d1m `OeB./ׯCOD5kARΈUx d[9?,f4U--^ڲ;"Ik {%/ 6D\qHF3`G ȍP)ڱcD/1q q[iһэוqi.mL 6T4޴Ap9)/p>c`c"8Rl7/"}!c+_d{t1`_lf% w Sz/#)ڷ<؆qe<4# |oQې,E[eb|u P-_m7:q|bs>g_tq ^v:(ud7`=v_1nXbHUڟWkZܤ[̂-`[q?)såu#Ʌ{tt[#NT?r5_MPypoRgc^fYZJpFo'@vuc6$ w7 F2#`92%":hP3A q*rdMP,F(Rtizc©?B1Qe 9*Deݸ:l": `ovVn+ ItO{f8>%Ƞ^ 9s8 DG^PT&rg&$Ry 6-¼ǮF { ҭWNN/.&b7q/H1 dIÕ/çAȑ#/ e3B'KP{:@)h-.s#g$i?\D|#sǹ7 y~d6x)?4rU(WFt-.PJeE QáK,`e}E= 7ǑQeʣ®ULpI jU}C<Ϳ';G9sq˙  OHy8Yo OR}gl[*Ի\gNr-Y4vLd)#ۗ؍iKZdYH6ˣ_&[- Iu*v%3u iw4p.+5M~h.TA٫l{,ҹ !hU/j %Z)[#eA(ᜧ=Ѯ8'T]͜ R'jQq}F!KA&/\Ηrk]jB?n|"ݐ.A=Y 4bzxG]EHN,+sGGVgm,,G %vBuduLs;Qh0wlg.*l Z;HERglcH#ܤ!RtT/]IOp hovuwyP T[yJ|GINB5hÖAZ5F0j*d#!ྡྷP6 oo#vhœkf|^_g诃hntMǭ%Z .,o2+%&zgA-d \fm5WCriDsLQݘvzr_شIv7D[h'!@l\'YDAY~S",JOqe.h`D>۾y6|{M1=fo +g@mJԺp+Bl}njLn+yظS:1N əO6ҵ>[ĞjT<ֶtMp& N *DrlߴKPem=rQ V4@O*e1YhdZknmv9b28Ffi߸]DFEA l<'t*+l/$®V0W˹}W3b^v 9N,v~Yə9XmtNE0*IxVU:q~N-  L#5-RΕKQMs]U Epr YTeSƗkL=дq*[\|c:/tԹ y|)ZHXPh3OB6ߦ;#fӯE{N ʈ"70*M8i= "r>뜦bU~@'2"ͧܝIfK6OyX R^<}-`"RW3?Ur}tk;lPDRpIp56 Kt܇@M 1͸>RǭQt,h(AՁ@'s8C&Gl*@;@ZP/X!z3K ge䈆 *}R $w־a$Ɛ Fum r2`~gq;iZߙѫ,vNnlOakݛ^mp=iq'uA&J-Eۥ* QT)FփQ3&_;6AαMZRLN?pI1eHuh 8O;^@}R V\/nd2 0teM r [(qaR;p7hK QLV2((!fȂÍ1͋-wY^@cHcnp3U5rUĔMy*.T'ȼ[nmI5\"ZbG DvG omA2.N|\HPE/>;~ 5Qv|2@wź4B]>ISy:[evG'Tjۏxr#_:dIW'2f*$A :JdcMG)Beh* ƍqB(x'}?&СVXBdAU"m~[D/}n=lx wrBx83ƤWԲ* {*ȑbtںJ+Ќ{ :8ْ1ϩHL ,c;"ӷj ۯZ<"=h.Gԑ9|EgO-A%:mpJYgD.#V&H޵$âOƜuy|qA>&)&+9aY ffChGj%Nb2ːjݫR-X%l9RJ쎫RfGHGgS}3 ~Q\ͥ1ZaI5WpP m~|Ʉ k)e8ؠ ;F8lBrjr-T]qNf(H$wfCcpRBW0`[R2 #5X/͓k WzTwD ǫz~˻ӻ,n~D.ABn;**@᱃&ߝMà xd!+>`ԥ:7xp |W%k9٣T+;2zSf =I0n w(-}Kl,$=ݡN8#6$*~UYսx]C R3ި)Oܗkd~ڌ7^[vr/h N X[Rى ME&L3;3jH8Ӷ7%".kfjq9Vtjf3z;Q[@A}(NiIiQІLe)\W&NɊ|m6fW.IZ8A1.`]]VoJW[6wBB Nߍngɍ,xu)~I v B4HS>Bn\ȼ{kTmO %#UpѤMez:bRwP6(I'?+-%ca ĽM['JB[e6'"lUCժMeXEfmW3S@ ʂ_mvnI>@O"41oi11΂~'QhHnO9&Al7i֡3g x.h+u\2TBǪ'ؒBWipv&Uh86-{(0_yUqFoNh?(h@<]iPgk;~\i-*6Dq>p>] P&<73ڢyKF^[(ׇK&lu|m4p ;%+H2 MԡݏqYR ѐ$Z P7C ^X% 5VHI/?W)Bw: #V@:)c$PLF6$938g:mK{*Z;ZT`Z*fMqyôugg"vMg0:G{IFm%$kآ3"x;jbqjo6&$\uwgT3vF]A#OlCHfÑ; wy8aKwLUX{,j|aRt%kFx8aSR$N{3rӈ骼Ґ!0 }?TWվJiF4ˑ1%=|7.~@L6vN7CwO@hp7ҀQy;!PVs~VVh m,|HaÎu9mO6L|ʀF/|@S%_+:雛:c}g\ME.'ݑcAz&W5XS4Q3HBAq/8;jWA3ّ=k>5Sf>Kk|`n-Gk% w*w+Tg)ڿTlҰޡ, !WarJIo".Y+WЎD{qFb^av&+%-ZB41X۫o%SN [A&Tx4XXLaSYt[]\ﮙfp1D^#Q0!3 {O%/V z3㪿 {o5rcU)tu)|=-SYEHOnlqD;Z,?~.@`8oB;0׿͊2qq;R3GQLƅPq#~KC l+$1k-$&bsX >FCSfBѱ ɤ؈;hນ`(+`$%RY/:fH)XVW=T@GbH-oZx4ē@!`~bYSu|.!rzB#\ Uy:C\Ox @Eo{Qݻu*|yx*Y/m4} -5m޵TKz.+ok:v.lC,CSdHfp(3G yM6jtdFTªoSjq z+x=]ַD^4GދP(-_,T?SL(%oy ~OQGиUFzT8XW9`ʲ{D4>s_}4etY_|jɷp"uv2ץ jq}t#'R hn3RRIR6 G`L[4[r"zNƌ^h*N6l` ߗ!]8yn&nׯ߷ywǍD$q}aЁCP#UYm wa(={Xy"yYk+(H~7Ty̱c,'n=+v]M [x~!HRًDKr"o(\1/jpZ-;!.оŊș$$q$*KSWjbKfYϦXҸAE˕T`2BcmjO|~^< 3XnY$Hkr^M<-`u(ڿS0 D`-n=vHygH#meds ]͂n3=D\)):u o:$ל-cl%!}md#~dK".-% uhPc,t{v}`"Q+`؞y!mE,R,q {'1!x8v淛2f}J!*ANV|!0߄ҘGߏ<5ԒP?12hy(7Fi$J]q0Q[Bcd|!gD4i UIRw6%(;1>cy4^GRՅoZb0RQp7|q{ߜXSʻFX4[f;j5J}L[QO oDM'?v rKR_7;rFXSq<;HG$NT&9`:)H79B7~ r\=NVP,T(,4 ,ĥCBOVNfgrX[f+lH8BijhiWU b]hlxb[u'a B]$\^W= R_.?U-3vj)͛?ӆ&nxXz,e䏫Sp}3=zN v%K95kKU]l8jƯ쿋8<jg[D,wTƆ_8ԾsGU7vŽBFTJ4ѩQ$ |(;)sjt 4e#{J3隖}PblwFi8g4S v,ؗ7H:')Phy܆Oy4#S<4W߀ۅlA !yQ%4vUi=}Go>_RMu)ʿLuBdR k݅Ty#n,?>ەme^E694gNrm xԻ_#Q4miT>uݍC̨<ߖrny y]0K`>Mnˊ>e +Q mUQdVivoȡs6/,⼀$4,9g0R?+L_t,8&)G?"uFD$o2.*+]1SpNql^ʱ$LJx[ҬF:@ _XXAWBik|qB؊|捠i ; ul/v8nCS;s li']9DHhYc/Rbr^ZtbYBfi1`5lmgS0 <{d2k;̞gaoRҝsFci SxPqzՐw0(Rep(Jmo ['iɱ>111.;'A!;0:}մBՃb.C>4M{!U?Z/t-HGK~p|) H[%^[26l7IKmtEYB͉'01Vy YPA~fiU fc!`s]r{/"߸ }-"pkWoROșmxEK)kQ}b6/qR(@Ny}Ӵ[?owG2`hK6l$|y6X)g> oU#"]R1NzӻNuq؟=3>'`PE:4lbKxy>t's/? %M4MTV4CiԪyNNa.BLͷD 7'$  qw4POYd>TP(>8yIQ_.bS$UuuvX(?uY7p 砆[mpu h.o0• j>kQ9bSБeM,"rMb&pDĆp},8gdEμ3+׹X[qF1w GA\m;xP 䴌 FTgS@ȃ˂4xP)L2o1z;F)hGbxs9Z6Rh~rK7,2/fœ̒,+L=_M"]7 ?(ޖOWռ8Wukb:u(8oF;TBdpa&bmѳo]7-e\.'|c2 O圐eO]+\3OE。3CU3;ӋB_AfOelѵ@+ELg¼7ܜA Nb{WĦŮ]a.Sʒ=_jOeaHF} 0PKv썻NrRvΰ 8SsJRx5#RlWd~:ܰfV]6Mhp͜*SFJ_ճ `> r׮R^i!HVM3u+;=z]sF0c>wn#I@?8a%1B^)t|tĚ zҴ`(-'۪*1T"7Z ^"څ Ѝ]ߺ3@w[5OQ EfVs %>+?=`vR~8mp.v`9=GP~tl߄ܷN11sr1A UyZyJJZR30a5)'bvVb~o^/u/7~n(U{80T8 mtj(-ԃdשރ&;qL`X2ds]M( F7> R4r߭rYYyK߰Z'|LϳF\a PbG:mEiͼ׹uI[TC*F,IɴBm{ێ0I3>Zg\?KRA#n-K-9L8XKx/i />u&M" <kB3Ɲ70,{͂}e҈*S& 1kZ%1p"@A>7У|%}Uۗ }Cռ3l4DQ:r+aa>ax- 8+qGX _nǑZǭr@(䚦iAƏ朄 ?̺R}K[ )&xvk`@?ɎO\E?rыu u~G [JWAS_VAYAIaqIVU;Igʀ'Qr.Xn_3z<8= tj }\AS&~Eti+6rPQjOmBߗdozC\ &\ e]^IkkrreyEG095noK^oOj8inb uyK#T`sm,Y3b=2N据R}m0T]G#cz9#Ƈuxg17&FXOp8jN$L}A_`ƹ.cv-M:|r4| P审T'0Od2}صxzt`'"~PDG8qFS`E۲,@T?3e5^AzmXՃTvMOO*j8ɚלd.A8ov+']e3K.9'0)15'Q?~1h~:W4\c'NkTOegttR gbh-KfG62 ?ͳuuu"قuO]zV} pv26XpF9i,Mse.jpב/3Zk7b_U%S;s)z栱i5 MhE"0?K$y22lj\#“| OW~ mP|4eDjUJ'#ܼ5Z l,)Ž/l)TE蜙e4< 3Zg` "%T zZ>[C1Hǖ,}ND+Xٻ0c2v"k*ܢ-t᜼^.ǴĂA~hYXC,&glae,lyC#Ẇ&v_qgzMoXIaҗ:< JH]U;~j&i`h5Sڏh^,os˞ǂ[\>̈C/@V|kɕy,$ ,_+i;Հ@ rPVNݨm>-^mWCd*7},(M)oXO v@ B3A\ge]>^'ŭxbl9ynXwPu0 n2^ަK4{@O^ }`V;sTk@PF ʤ 0gQ 1qҾ ^ )3 ,ݟiZUMZ&;P>7^Qo87kOdQQoْo$4 ~I~K0H̄/kW)aG .u®!x k$~5cSք!Z[{{̉ 13:&FHkrPòDLY 01"vg ׷Ԧig,,PB`۫[OIM2Y&(A!˛ء4V.Y۷1I&b+c4G/3k_kDuNm9|Zi"}/yE$Ě.%"G b烃^̕5& ]u1٧kH OPe1wEFMn$GA_P w,p_O^[X r=SC<۽&Hbʶ(n ;=Elz* ~bىpѫFQ{x k]x)-}4Y3|,q}=\y-d њl3 [71atI#Dy Qݦ0P+P:^KOS@'_zk" ~>D~JzS |6?/7?ʞ[Vjy i{+H_\la /1>ZWCqWw-)=E97)1O1-*%^d t꨹a k0_1Ϊu\_0N]LQf4T!ڨB">`ۆWXʗm~]G9bäXq423% g2 xДvX? w#Fm%H{HLA f5ȗԢ z}6іIq ̙*z(^漅;Ju9$u̓]SJ)*\3}7pnK5&+V,C;R+%w&nEd%BͦM@Es PC'AL`[7VQM+k잢oG& lT *t{_(uKZx+=;i@4j5VgBb87 oZcaFH񨶒Df-z(lVU*Fu~Dzz ʤP:]xnB̛yݚɰcᆭֲʼ MYȶNjPKC{2&<;`ZŢGgT[ Cz, ]gHҪ%^Z%gn!jS9=QNFwlje$t1L,3o c|mWA13lse#Bœ=TJ x1ZE/K#Ӳs J7"-@"&e8d}k BG}Mos8-,;Xt|9Q逷~Mm([d奄>NnuE+Yu'IG$-mr\ء0uRU֜ T餡M'0<)ܐw0Biهb5Y6M#]*Rݤ`ѷ<Ö&ڋLBZYvɾ~yr:]kE.հM(Mdzb\az\wX[ 2}'n>Q:7I\Y hO՛8u) 5z75!`E;}B4I5}AP_yk?Q ZoQxq8nF-N,؁~3rͨ 쩪c|`B7vS/ܦBu,>G')&J9oc.!m <,bC?,$5:9ru*ٴWX'#cKK#1 #]u+AMRχc[p/ط >GuiW'+:~,CԆǮqh̓Pn(Z6xvQHo!]j\St˘$jZhJWBiCB3Wm ~4?f!d*+6گE3e8? uMK?yp9[_zaCʡS1 o ## v) fGbҹ\c |ԧ`-ͅ5w*^.R8('#25Qh~,_)Nc4ę7tH!NRufx6-Vf5BJƼ‹S>pc#*Mj=q%}y*_izvG'ȉVlpo]ϑI֧+y:2, >"3f~8ݸۑS i2i@4D a VUwE&u.v2wRcdK벣iJ  F3_H螽[ͧVDI>)oQty; 4єIڊAWw]1}̰Pq?\| pXKm> ={\3@f[.x9aef{3pl_w~ )a?+USaJa(7bU(@\ V`?}RlxATv{= 95tH+/?;DH j6`8q8+,Ȟ uUS9Q.WԈ"!ڄLdsaZ/s#uxf'BVl8쐺{, p ["ƚ"iJu ^yKac3|z2K(S/` cITdQʤC}(Zb/+y0ŒW_iL傠.dey6Fc1=Ow^!n`̇HuA5o \J*;Y;W>lPuEE kYF~oѵraY ėX-`6Ҁˉ\ؿ` f)Ocz0ζƽ΢^1Σ=M!MzNHyfF|͂ žqCf0f2#%Mx\(U-˪iFh2F> 8OmFFMc()}Utl,^0tl@6gQ1ԙQd$qgbP``rzV)sGeBD{N Da` );{bd2o·0K1}yD:-zx:YBx| DCƿfdva 6Mʳ]M~$ˉM<(Z3I?IЯBx;voIoeLW@.7| x߿ ^$˘; i)uSv{S|sΆޘh|M RKڬA}X3"sBhs~nl؛{p`IUgX׽?\۶ J 6^ zt-5p xЮQ }4(+g "YejA6=>WXIuNs[uɖR+Y{[hں%N|o}"4p8? ^\bb1A/dp=I:s{6I=mFe\> Zv--x/?rHVb]HPsm?-z8Z26CvR w紋| , q}0++V  n'FBEi  2>;Yf4=Gp֥_TVTk z<Ы yf??eŔwꕟJMSڢ0rHE蚤%2z~r:Qu~"@h+`l'*x[ #Ad^ (#p0UM2a3dBu္LRr@Ҫ/-A'_0"ڿaVo҅<&/pfdKĻ((IcyfeXʐ@ kGxD;HPnF=-rZ$MzNprRVJz.6?;iOS'|_FBQ<\|Zq>f)"IjAj s^=4ƆKWDBAጽmhj8_4& < >D pv&&54!j8=V̦߅M?a:coGbuBl`-m$t@+a={;VÅ^"NHJ38hb>Y2ЕdLNiOKnJxޢR^ sl¬&['1\3|\ Юvvya ,[̃+_ 'm7u<  ޠXz_A@ڄ Lp)G"G A\vҍ?֢z%"jt#fy]I’& }]٩XJLB!j#b:\%jXiAiۏcP烅fxMYzkvͣA3l%tz_`g9{u뗡.|4LM1^oعusolapq^tbHۏzg+\ϥEJ=}xq(Uol<o(Wqb5ю8fW6`5 g gj"bg~@T }<=%5 ԧ>hk"dCNMrh$,COY.kpGu'1@"+cQ^Dk ` /- ' .DFxnl%" {Fd%$T8Xat)9T⢝Ыi [Q؛~9!ƢJgId&,eLYBTf v )v1gN@U͊Dz(vxJw>|\IxfyXG.lHF1pdbzCg,1{ԼUzet)[gF4!BX1ĵRAH8CGe*҂0\S%*0ާ_pywlr&W3 i~,J,#2G1b[)%, N+St>("#6@%hflMdǂyK<;d[jZt$ҬK~ȝ&f2 ~~.>7b?!70qDW[6agT<;}_ g'1+f"fh$ 预n=w2eR8?AΜ hz,WSs "eܐq<  z5w n j;m(*7t#a4Yk21sTVnr0o'ҥ׎/L3䭘ESӏI;ٝ8nek`y0!N`"V>%m#냕ln8W Ol3 ` lLJXklUY]CrJ6Q,{vJ\rggGȯ*/=t{1eǥg^Jj6 *Sd75Lύ/a5YS㨁L93y7j0U 6x1:ޭ]ߋOH [8u&kXs]țw= ᵪ/ۙq/׎"vҽ|-iq ƽ#:aC<Tfa XȍsV8S̀p(')<_QP`/Xŕ^ue7# \. [EЅfH\+\[qRһU5'ǭL:FWݎ@_X/ <~]q&;AJn3^{p #0ChFs8y<2pk"p+8!æR$?/Bz(/|?z(:IFzB{[e]$aP]>1j+@RO+"ԫ$b9{u$Z>d:@o)^Z{ױ*l`Mg;ZH˂΂z&B!Әj5/IƠ֣,=X<7&^ꐄceqSs l7j2J4?NZlg4 ܿs)~1vՙ Ʈ5ﵦϦZ?7:v G o,3$Yh*)@6:L~1u,tB:C&H;x0!&>v1S$ 5tEG&FcO2~v%8xbQ bzPlFf馲 :Dn.91TQGzfdՎW-oL/aǾ~4SEU\a$s}!!^r/A*%hui,fxg`zU`CyVneKONE@ #xE0%5=e?sà7 F]8ѝ&F|Nqti ypf l@4`TxK/ѐH4a>.ᦢ<:=)hqK9^ҙ&5CG<=z@D"e+f̏es;64j|eBxMfm4@dI-Gx1P& T]P)Hhd5MLZ`ĻKݿ`jޕ4 {Ğ_S{XkU3*ʃss~Ӿ 5d4k*2< !y ]!>*wKyK'YaBsD7̎pZ fS/i+"]KQojUgH_I8Gogx22a+>;tY6K#%BiQz2'<f?9a (+54e/Au91Yu׺ L@n9b-rOY"Ϲlu+ iMqcNM&rעԙB@FeaKm7LL#$H gY@<\S l-hYqx*lLɊ*:MAA&IU=AK̬jrds@to^Udzֺk[˙V <@Ub5Oaѝ:=@9YkE$$ͪa7Tp2\aJP.p/AG(YJE))"> Cg+ۺ4@zhx@_OTw(>v97C)&᧎Sՠa8I' c'wݪ -XZsGaWkm7Y_s^.V;/o<f}'u8,6@۶O}W!k*?MsM{l1%LbrI6 ֙l7eJx. T)rY g`2DwSл?R.rܶP(f0Ȼ4JrtAPN T:Njdሩ̛ 'yZUVK#{IHl 1m{q=NT@+ڨd*&\c ٴPЎ}D CskJ3T3~egRƩ-W(O$[Q@'('nV뻱A]SUp Il@rgj"@jEh uBNeJ7p|VaԷAP&LO]C/cY3{nyn迤nnjhj[C~}fJ 41⫽YHn u%j<OG[ 6%SX5 F֪a|)Y;dHM?e>O!D\07j?ݸ?SKaz ;Xƺ 菮9ʽCެ(b?ǴyrU\^se3ʶ?maɰOD(1TfUDMMg6Աq ń: ,\RP_A2zҥqv`9pJOkJgM΁avkzZ O-C7M3۲=Ѫl2@W0{:L9c3>/B`C(&^ ֪U wkIMcN45\s`tV n3dQ񁷠ˬYoib-zȄHYX Gj ͌L L_/7u4LMU86F[ynȣf%O`x+B[sK-EƥE<g*֕+kE·@Lq}\ 7שE cgOy ́A`G R}6΂"OAc"D|v J1*HKTAL&뚳<|e:8{VEw9L7Xb=&+>ue`-?G̦xVgJ!_!E(JĊ#ڄ*K%6RZLECƅ+zڳacCDRMʔy(2>2YtaF_@zv5j a (_LY`.uJ 7 Qzu1]`f[D-tMs7?`;ל9gd]20!bFD'c`k=H(l<`2N\=GeSox́,ߴ5'md-~ +lP ѥ  p1]_%@J41@#|$ܺVR0gMv{.|#y̱7ʻ=% m#hg3nktڽ=& VwJΗ1T 5Ϫhb:D$Ws'It35]|i=ӑ=`~v_ƈ#I+b [QSZdՃ)^+!`#ܶXuq96]zkĦ zFmnDfw7=<5pm^ 0z"4i|Qt 6)vˀu0O;t! VLR@ m1f+L"s013j  An9p;vsh(w)ˣI$p2WE.rkK֢Bai[Jg둿.A+_nf#'oS`Fr,IDsZcUQ'ą/%'ڟ|sd3/kp~\ A/NxCb`b9ৣTϪ) sM2;_KD9{[9ߏ젙ތ_s٥,K xS0F jyo/H?ln`AXr(w3ɣU.0I-$]?q>lU5̙<2#̒6YP(5l`~Bp<?:샀e4y [cXxAC$Y.l28soG>>{ ;we-:t}w(0!zB9O^w|~جX71I%W;߅g"n˝X9D/ #P@-jϛm5vfMPCK׹%6Tۼͷ3"-f~J%Qt1bi |k|Wr־ *+υ˵{ܭsi[7ycH|[dջ{8MPe6{=[ۀY䑂;jJF޶Jͣ!vD6uuGU*b r*{+d&)u-t,7 y!vs)RY672tdŊfb~ݬ.P1.m0x)WS=7"I#o맱 ;@n<0yť3!jK,-HNGNz%sek_iM':*W\ G>?(<- MXB W=7{rs.=ӍAw.Ḃa9.٢v/EQ6\u_4L*BJzˍp`i(\h͠9 R(vQ %u~E5H6}rC20f T 0`nXYy"8 h9’cZgyEd0)A5{ ..+fO V9 S6 B/:&^sR̾j9|uqHB>Rh+\e_NhXEvFjCjQiNn{kWDLYg5e4gM*߂z/\mc,>*vI0bBT͈!Bp,WXYE\45=0.מ0 PUbmren| 8 k wL0G~֐agRS͚@>CE[:̦@- aBrw[Zg|;dE1b3j2L-Y.n 0ǡa-;Kc΂ѕᏄ<`Ǖq vD޵>rsSwq"R q/obS1W4 L=Am3ۙRDw+f>:~n$ bϧ+=`=FGl=F{%T>qм/'"b?'8z;y$#iN_, W`^*((#yl9 ѵ/H Bȥ1*'w40]ͶT'izf'l"g}jۡ+GXm!-v#Tʰ$gVE( MHbDny7 ^8浡9&\UޖwϏjU c7 b^DQca2E{e(9E:B)$i?6]N{vplkrZh|quUXٔrnWz&pȯ S+W3@9C2W #3$uÂXC*%..c*3Iq@e~1ӨBu`~MSPBV-M_䜀 >9I̶FvL ?Fd"WIqatd8*d2nfݕj ;p/)gWETV\b{ }+]gp7rOeЙa#1DWMjbcN7! S- b3S_;UO]rOLXZ5$%L$pUF7aizǙil7yuc qdHHH0/T_T-7Zn?ׅ_[7Zy\ruqL yװNt]UM {%&#P0S2f;D~72ӗ!5ԐU\ B \H`8' B߆F v٤H!(ePD$`1Vz@LA,EYϦot*`PZk~.66!Sb)5bpb-Ch@8Kq;E򠜝D,!~KÙ]Ly*t2BM/E!bw`)m+עWcD8Wz\:Q34#v-?q1C\'^~(q6NoOuOせ' n uQ-]r`(&8/+ 4DrפS`{╶͋DoōYy2؜ ? %&*?lB59lܪV>AFBl*Q6g GSx>CH^i0[j'9 ?eΪdNsD%(B/g9M͈sBĢ_0+mfOre* h̻i "Lf4|fq=\+ţ/Sfp[vN X1 ")'".shOuVX嗯3CȈLU166A-S12#aSu,G/wh0:5f cR#ޙ pK;Pt`F!+|-ptl-;Ka7ZlMKE"v:1F&d2 c^ {$CM_~sP aFPb2>ꑤl+ ;D]~!$#m^+~A sqS.oʶISU`N/Fi2|x(T\灬q_4 DąbJeK/@ .vlv&?3>-bgD\R5+W6XTpF0KǤL@ʀECw/C=ex @Q4rϭ}X6rwBK%t|]̣5 V8-ͦrXTdh0uGp,o Ee$S6Q]C6OS=")ƪR m%'9 ÃD:1l vI̟#i孝,M!ME\v0)+Q}!V`_Mic$f2vA/ G4K:2a89au;'\ndEz  )oG) ɑEuk2O7Sn8AYn-ʹ_1]Șҗ,Ybqk ŘX^g{ۋO c^[)AC;t*ڊtӕMJ1tIpmIY̛FlI߁f-x&zʛP=#`i7+$UL=Ęo>Plj2mA)dzd%#]7 u< ْlD%Gsբ\zП9/6L:Yx1Nwb rey498߄V߃e ڞkOg~PAJ/Aа:܃F)2% DMo|'5011 `bLWAYkOe*f_K/?g,N/yp F (vʕd Ek%nj4*(G"?|Vr֨9BNCˆ>/H$EK7]D7qMsdvA/#koqfq0HXeRKw+hD?t2QIcUwBzڗ#N-QQ|4 HBۯ˸`5Ǣ:%(OrAj|1CQȁĕ 39`z]L4@!3T𮖚xclm+Z9W}d0W-ռt>Ϡ^Hb t eue&b%$8矰IJGb.!}.!BeKe(0I>F*MɚC1icnjΡP ># AW;W>,h)?!Nv[Q ~7ZHj3b_G$]4aR{$2`5l}b̓p E -X.7ű'#Dxk@{kah|\#/?#@^/OQ\cHP, ԽQIc@,qTEV5˒(dYKg=>#mp,t9N!3x97B҅%݁R%UCԙfo`RE=3/FyJ ݠS=' WHDMRBK3^ၮhtV Z(K:Nʄ hzOWсFhϬ?F2(|f}0sY35DR%醯hѽ\ OcF*-61NW3^v)h_|'܃jb .u7#(({")q-GӅB`s ;^^c0}$|o5C0(O٦*$Rz!@h|7D}%ɖW9^eV^Ѝz%}8DJ$'/CSd5u@΄TD',toO#Lt78~'\Lt,o/0AzysiRFgfJm(v_~8*STSEv`(Y/<=o[`Rw|KB(4S Q^O| Vϊ9)KU?O3bR/r&ރ1E(z^jE Dmm˔;Բl,YM OA B'IzeC@ hr/ J KWvlܯaFB}YOЂUe=̨-rܻ$u  ݚ $ ^g5IH('$myD#LnFbn2gOt fUkɦAK p?@uB'iWN|HfQQ瘷=g4pҪS_+[WUmo9{qr]dV3=D\ #SgiHhp0]lng!st,-|'ȗN9J2{CS O?05d'6cUߊz$JH?Ou5-f]zY=DVu/-`'.s6/ #o"Od:շ՘B##|NlIz2UWP3C^e$bIm *,>*ޖ4]gn(oOۉy)$y$ȜWnc\0n` z]`lKX#0J f:aWSvw{ixdL{>`N48<@G΅s&p jeŃ8tm9H!ޗ_Oaڞ`h[M-=*Tk.j(1 ۰hK^(aQjZ/-I-,A߅^"Td:0Q F㢦V,xkWQyfRAAMęOLuoN*OL~*se gmMi^YvYӹ/<$jYPrZJ}j*C`y~"К'. gLk2ӁCD' ˋM \bsE"1YcbMɆacU7euֶ/umH0:Hl.(pS?{cnX bYʾxP^}!2/C‰7I-RŠ4]lo=O>OaOuA[֋ڃk@,*/!{2 pai)T^c4n.IxcbO-Al/?I[%Q"ImLmB`;p mҟ|τ>A>ۇDË W^$ V^ɧjyiֺ OŜEV"e Exb U;Sj:$9=ʪULxRd[`ov"|z%fʄ'G؀PK^©Aӯ+cwԯW&Gba<G2s\QJ~Jڔ(ohfۗ *kz:f2\ghܛXwgwe-W @þ)-\?o{͘U`aQA24h'P7Ǐ{=jciBb|u! euocHۙԌMJ#SbTpX8ԳbK̍Y'y >WCBf;3vpX} 8xyM*?+?n 5rXA}xcgQ֟U.Lh.a|kIMz601HR!I5"XZ)^,ZGiZ Uߚ;OVHN;/&IzsF/DZ.@5^N%)aUAT8xu]kNWBEPv:ߘ83'Wx"O`&xB?WSvbi՘3Z! [F!s'A2ln(#:PK<ܺ{qq-э|`zg4BIM%P'Wem!~3K9i}0IB(Pѵ)ugqJ/pD#Tgk>ڬ |;8P-ҸOAjYwx\MwH~9';!>2lƈ2k/9@N:0 *HH* %EDZʬn_tdlP-Qti$QcA9W扜0.T~bQm0/]q?P;䙗hћT狾O@ޖ'TFDf.8i>OkA/}B즠-8pr䓉FbV27"xJy;ALw</&`Uw S[wAxE1)niUTeS^,\כgEW>RNFWofck"Zh E\\D䍐Pg̊SJтtc(riqӊ3Ðn D'Fǀgs4\s+m d S-ĥBoMlkulAq*87Q!`&0$~̟WtnKfПchS<C7T9}8}] 9)Dϛ9[nr6e]DPԁHvrJnDĴc], 9lMkt6\} {zjÙ0:O~~PsyϠAs"|c{1Q& r DRͦQX=WOQVj zH3鈗>~j WiZ9 7+tp oae`O[RCDʄ`_f^[;\ꅎz(QyhnkLζQV2B$nd>M~ˇY_oyz)1͇mL"[I v2\ñZm gI\4t f -C`;bv8}2P|B4T |yk#Q:!zRy 3 "WRn$hѺA* UujrC*:DN}@aMiҝS;QiO$ޝ&]dfjcB`1Cpets@]LkAI({”b;=C =BK_US.]P<,Q YJoVFU1CEK0͹hC"z( L#}1aUC)*ug<>:)Ǐ]0(#sS& }ښ/}rP!jO峗.ǷwH> }CJk<iGW0ūM v|kh"Ri{9_:Ћ du@ۢ@P` f]q%]~aq 57 |]%xMBp~Y[W5T@bsbm,>Ô{PJӲ0 9g=E!Q߀+;<rJE`#nnl6j {<^-jېvCj sxU8)_F҂htRD=zLfRU8`z4/s䩉cQ?(pGZv80.#_ h)ۚ>93HaFxⶃa=*1*dZ I-0rrhꍱT[/?1+-[7uI?S4AMI*q0||"dg HLy$z$[)<VK%qg$$XWE0"ULM1 .?RNl-TJQg1ҳCDOw(kHR}n?0';v!nLWFA'/H.%ij)zވu(墣5f?{'xGK ?{KjYe7<(,_pNB *M_7Ɲeճ T& nWJmB, `9rVM6MM[o0ӧ rO_k^}YJAWpD>lܥs}qzcJ4+ y?]Qqvg25,Yg~/Lh6.y­+  a.^~}X6|Bn /-P*p6]_422ꧦI'.\2:V.#ܑU܏6[1zOLe4yʖ't]lۛ,(ۿaWSP%}:b+̳+w[_!4|LpZJ-'WfU_<LPB(E]?C*2-npSb2]9'|0(i jGSb# Ǻ΂*Em߮+G܌tP]hc)I( 5܀DuT04חM{vxW0͝ 8q}!X=dSzPQvރ$L(0ʧǃⲬ4e4X$*\Fb ry2*Y>Ҽd"MM@ː)ֱɁu|J,p3]Ee.e9g=otŽ$Y>:!>S_`)fF^ȰG5t/8S4AaD8p"s%dђcޫK1x7/ Fߛ''_  Y: Ol)\!7'aflo_.T.E0|*Q lL@p*|mT\]VB d|í|ީMMaVxUA,Yޮ^Ϧ\\s:#-Y5{}oil-,c3{`W8hno,w ;j|'Y晏6Q6Pswpa/kK^|i{Q"rDz׃)+Ɉ>/ dmyZA`&y1"*^ⵅDK8!%Hf(\pWe <5bKSNq0UKe'7.4%2jCl.fV[|ߴHt?&y~*N^?)?35uakO's6_K G&prQ^Lm%;)g[9֜20{%Z=Bin,P(# Jn\r(Jn4 AJ]#q7$znd)e9 $_듑;/9R'm]v,n+n-vBo}<Ȓ 9cm6 aaٍuny77؀`ZJ,͌!2VIB.RJ).#0Yk-l{y֘bx6_mF֐Glr쎲,#Qfpڃ9"Haͽ¢Ӯ99SxYd}`lƏRa8fiD?ΟGh[|ElI ϼBby[}Exc?CtQ0`ܘ/=[A)ih=vH_ R,xoسuUf!7󟽽p9Gk`L%/篧HTp a@,W '΢4 U8UV "'fVh;JDוCeFļP| >8K.ķ A}ӎ-? ;U/0x8M'LW}*ºkyi^PBrX3YZĹ 82X߭ߧŎ˃kW:ΌѝӎJYYBU5u`]XQ?m;XPVdRү^Rzw|1`u$%I7.{6u/dH|V#gVv(4.xLmM ! z(u¬^ܶ3_JyF}"im{An#bG co =eUt;ۇ%e×wg6\Do5=s WH걵s6(dRU,6E͂ ز@beoRRԷpJQP %9>y~HH0lqYo4϶rUEDZΠZbb^] hOQ"L|v DZq˘hzUT7Z, vR>x٥)U>N<;}tiԧ.q%r]/ˠEn# ;wHΙzpʼn2H|jo/Z:F~;Ō;+@@I0pA4Wu`<&\vv1?GUvmPdC[d;>1_ ȁ;i풼9쌯}}?U"T1jxSm.}&,ӄ2̐)gv N7i@6 ٛgϨ$(C\ǝ?}U[;6rlG "ox9.U0a˱u<((qq J' }gGQ!c]>j?U^fnc}Jߌ49K234lmи=>;v(+R`Te^3F*&/8 ::&w> 7Y?\-r}S0Oۋ1o.ͪR_2([@ٱd6 A.&I >&эbzKA_n[pbqw)T¬mgn-h|]7_X{$j}y+^Ɨ'PqS"\5=ialӹn`LBx},M m"|f})Uz.~~gK/THR>5hT@3CMOJc\Vas+ ǭaPm#Om FXt\:'pwSrIT9񭆪(B{|$v+qwтj[ס? |q67:tѪ0 Nܹ3=ĝ#6D! 36 U;q6S3À8#AjӠ1*D0B$<(7'pu.:m8~Nɇ' G&ٌD5p~Idw#у7몜} ;'68o.2GЌ{i y \ Cxa2f-~ߙboR XÊG5x1j]H0zh>AJ+_lXwkd}%QVp鍜7:lSE(e'CetC15G1E:{ 0bW sh! .s2]} +YJs}}z%ݧdHa.faya0{gR~ x~9Xè[ fz2;W%6m5FDUxWߤMs~S+HYrz=3@0:h <·Iwnqhz\RIj{'mjHrG[1@rzkx[b=B$IaGo3v u3?Wn@0^^tvixNP7N^,Ԍ1ǡv9j\|-K9J${1>Mg` ev>@lnE~|UÀ$ZO6!|]?o VFEEZ6b/wo]jLKwZn1KiMbA"f*+QM,ea 0xoXR^L(ێ.mV1-YzD1&_lVzp4ـ}gBͩĦBJע3񍰒bM ǝBY2C\8{1>IZt/\I֑O>&EnOQ\Oi>B3P BF8 'EIM~g1^´ ?ѨsQJ" $)I>]++N?|\ʩ1#U3q]jˁADwuԑ8$PQ;Yj[f^ٻE$i X<4RFLoqJxdIu/J7"~>eUIl AN.d+`G#b&A9 txցv$&yiwWEPfQ ̓*X]Lc?>})kt9{K}c"|ᏑVΩ]@ĮuL%y^Qx0'?_4 Q>z M_G\)1  p18vݫ.,t>ܐF?&bƝw1AsN_U +OLx2(z,#眝 -w{ݺcܨ9ndEBñmj>i#ؖa!]7he2ĉ -R^!XhR@P]f %J+,e[ewn?;k)DQl(kFuu(fR2茬)7_W74r{4\hIl<,W߉y5MNfKY}I#/^O ) g v} R*k3|p{Ax+ _%BNtU8FBEqgM_íT[[ڱ՜?u8X9ћ?!JlϷ_i?q-}{baslßՙB1&^$^V ._ a`{IS6ƙ)y x9: v}-^T/|ޮ pd.6bO6 e; Į]`ΎES v~jˆo}S}t;'4u$Wk2Q_jy]wC|T[Ue0?lɰ4-J$G(Pgd~8BENzu2c%U<|mZ6$c2yeCTa]Ь^htAm}u@D\J4Ɲ: 5]`P8"=*O6m1BB-G pt)-},E(=UN,HAM:<5e1zm.m-gt0+HciQ83{Gmøgl\gY.c 5K} ;FJW_0iALIq#)F;G47V~}RwV (WR_ڧlcVk؎Q;`JEθhDZH9B5.&'%0u"F%G*)]~3 $yH%9S1{kA[I{(x}̎?)2T3Wc4/4:_t58I:cۙf?Ն3~0*h3L20(lJ(ׄelwE*a|olwEhKe7-- <*a{PuW~G1"*2G stk],)b8gd m(Ͷ0l6U6JN|ώ}FTңt@͙ע6\5;;g$҂I 3,s$͐=ֆYWᗼED2Sy]lY~K/Ia%3 ϶L&Z Gth FO-}J+tL0a0$0W|A(ӌjDMUW">HLT)sxB/k`j"bx]ybNOo!2:=X[mnr,cz8;!ARaΔg9Jwp+B{7l#y+*c!ѳF 2kX>qNtK.[,.:ŠiݹW:omqa$`=,: 5UaG -k` pp{Q #vrNPGHϣL`k60<"/41`WaM.OvI*gdT1K"9 kTth[x@#?W F=9aϣ7(өϲ(}A[؂aslH\t4ݬ" M+To : Jme;$?/K)*-Sfhd?*rágf}WM]]Z66D5NSy3ò-5x$4,H[O%D4AO MCw fDRW7Ƶ3&8zIg:NݧvtCʿT+NRx ʧ3ymjc6r%Ŧ7}ķU2A,*Ԙ]?rswKir|Pp5go_=@KkB^u_pY8~9ş>;CPHΐ 33|DV3ї]%DlLF olѼ>?vy↿լH'8Ը)O|ހ4i(:& R@\Dy%wQ`t((3 xulQH9tuYx4aw!5b[gGgHJY84؀" (bJkdY+4_D.T@vruT($ܖ (O%v\A!ڥfиFQXh9nQUB{|/~KEe AFg>t59b4PtXi~S-玹ᨎCja'qdx"q7{I s`ЉH/A[\ԞɊA "@ViyyRU;FcsߪYn1M0A5 8ùYx߷C{Lczxo:dž&>l~X K&h+yj$u# xacZpu(/2 {ݞ C1KY\R\?QZU-KH-KDu2Bf<ⵏZE~F13 U "m~^iJ6>I$L7Tz##]5B*6>~";:aH'|X2Ȥ0-h!Y^s 9d M} ol4L*m.ֻ{I:" iW-]rgL4At6bu;Rtz ]yg{gVkYH5YEܞ tu,1; j`Z׍M'%#@ƍ."˺`m\^rQ |Wz=uv2Ə-Ndq%|qnm!EnĘ: b9 `ћ<17 YnϋnbQSnVw4^K2. T}/]GqőV9U})_Dl"ߴkn Za-&z9甧.v d /CW,Y /yzouPr.+ad-?!^ )Kɘʱi<9;!+%n:etYخn`^1`et >Q#Jy9\h+ l $CPSqMkڕ2. wQw+ɚO,/yR18ݩZfO _qrF32^4.--z`=DSчXok(NM'*?6{2tDiԙ>n2 ''bs.2YVCC90=Raj+|h\4 ݹV|\[ͳH=@cImNaON;AT_B[@9Z-{$hYpdD wunoI+tv#HL,΂/`ԇ5 ,Bν'!0,iYMc #HKC3|2ahn\:Ek cU}J8os i%}@"3 6 ޏ|*Dov2-G-b&ě\W2/Ψw[/#Ec] (.XbV =Uw)Òؙ`W b2N'7VR~6,*8g `-)2]̚۾; t-m;ʃIK3o>[m~l=JoЁqĶYh _-K v}>}4}D[l/TQu8;h\ݪ|8䫾Y u&[`WgO$,8Ƶ#5,\07IK*7db @"$'%oVdyUbQG_]`j*!dR'ˈ b!!µnɻ;:nlэ]\Ta7wBɴԔ^18\8[O&M*/~ɥ]"7_m@nI2P>x@^$T&)J~ U}h qctEDAC>ཉG"ׄ*FLo;c;eK9V^UZjrlw&q t21џ8J/c%ӯ>_?KF}̆ѿkܔ6973|"X( (R"Yf3 KN [ ,v:Sde;0OlI]r+o?wӍzϭޯ0:nb%tgrV #PBi)uUp,8пU$żN #1 D#@Ѿymߩ)+ V'+SVy-@Sֵ(\Ēba^[) hrhAPe{liv|ܩL USdz:SH)7vټL_MMY8m|{bOն%&k EEv'akp\Gtdhe%Cpzz=嚩M@py?3G d g3Aestu\:^8w!MrB:@ϒywtEqLO`Iy`HILAX0s`hVWQBXE8x#hѲwc*}o~X#2%cl6 YOkL|5?@Z٠Saϙ9Fa ҙkJ@u亣 VXضklx>16.I?c:Ѩve4Jhg"W%:N)P+@]p|02'S s7]06QLvU?6;w7!KKa'lSlzI- ?:]$:S(52T,4V'6rv[A#[)MJHh9wL+_ZkBś'w Yz<|HJ*FQy%90y}q/%H f@B4s1Z5$ZWF!c~ׯU|OBH1SynuҎަeKx}9Ŏi[mD92H$8fo$FuͲ2]v#ȈՈ9;zUuP}Iw)h$&O/^}$)AfnۂcT;'b1 ZȄ֢B; Χt BX/ cT`oLzx]F %/NZwle>Ai1H=ZJHJy9>pzZZ:tAg2 B:<[&U%!/Ti-z[Ϳviл1{#98yW;G jǸzf 'ʍb=244N>G\eXD4!ۃ7Ʉա"_i.fA{Ω~T8[|7؄+'}_R[[! H|gն]@r "V=/\|NӢS%:8VӈxTMP( _fQU0WQyO^dYv`\_m|+pV]JN8۩~'~Y\LzLũ*?_#}{r+#JZ5)GTj6MCFB8'=e^t]G(QkxZgcHeR2ڂv;>~ >Y@ v&j-i,4X0WȖ!@ .1W(ZO^~ jӫY2ryL H'R8(ԟԽ'.{ zjR]'R-|.n 2i5 _mi8jJ$v83}9i=Nʲ];׷FmF&@ؑ=W!fWy̑#߿O¼V5LeWqۉfb2ΟP mUJ%Ç*<8KI$ w?9v sw3j'xXaO3M-| T'7"F)@Qr<ivBX2b4qkV"j(>suR:~켊w:Isym4V{@ x۾}ڥD/Q&!!{)kp44껨$Yp×fFmFf6c[>fGJOh ySjf.Tbt:}4S=q` O:`o839X3ϐDenbkmJ~fgrBf`wEΈJ Y>JِYÀB[pd;ykL%G-D,㟐'wOr*A?,IDg2nry6xjT<+H~@6#*Aę&kYvBBo}@ĎM<ƐDM#PƤ-|M:O&!!z~ĖLԃӇfh}A:+r恇ZK*W]Q; 4y V!÷qDmZpEPgvPb6cHH\*9Ekmg4 M}l?MXS3CyZ`#onKlJ$:Ϡ ]#o;W|<([6]o({;+ts|̤k9 1 ~qb7[?s_0+d! 0ӖhB 5!g&7;X!aA<#mw%n%H8Ͽ~\Í7ۯ9/4X82Q+Lm] @`J$OD䒁lS='RbWvUv3;lNqWkOjBQ'U)28#`RfDw '}SkS,k؁nL6;,~dd]1Jd !}T+n|URoih G$22ïU,|1?͊:K*75,@i)ǵ#2 CMLNv,!4\?K_ʄSv}p{UE>}}ĖS'THEק*"@nq&sDÊU4 #Ld X;%/;$϶f#9gOa~݁Qc2<.%pצj])->5ɹCSQ1!yCdvL!gU, "pVEB_y'x7ݡO0ߒIgݑ47m5=UA:jW[fbNц yP!< ,Wfwau+*zuS{k=[odjT/^3"*["n/fW.JAĞ!*{/+>x(+c YI< }"^T .7"M!%PR:W,v|P%e  i[455G(1+Yn#?( :mGQqdrE-ICe-9\8E#VcGW*%֔x'Sցioԯ6(N6Abf=l0>;3xBOE|q!f6Ay.ivv qF*ByNEX>< Qcw:&~ٚ>S{PZ57$jf mco*N|(8!3emw`@s/im# zoE sTx(Z;^'z<9:QԈcBljBũN'b*v/y~(5vh5WgR DT9dnJ)a4Pؖk Jh;&8\/172J*Șȓ]vS\GFO*2\αƃ:qZjo3gBގk⃵Vc#o5u?3u:(%䀐E%p<\lh 't'>6\)>4?ڍ)&-!.0YRb8%b#? CiknX~q^WԬBua+ZpEsh A/u`aU_w$pB[=xcLJp܂pEIQr=ߓ8n9Qu* Y!̤n!⇕ڐͼ/^sans`4T"$12ҡ50`)&<9қ=۪ , |aHz  `/& tP:^G+#9Id WHk;B"NNv=qtܬ^Q !OAN#O\͑p`:-V%.&_! ֘{הrл՜uK~nsٷuΆU9#OSiÙl#t(Ȃk0/>2$NRSqʦ3bʰzl.6[*tԀVٝD8 3>!p~?8У& {=VR_1${e򅥎#}3i4[msdxt1&qiL5 1MЭVتQ]6 #Cp@+CADez3pT5dq֡ ;(5 ;4h* KOɲ!k`/&4{NTmq2OR>Ux74vZ{:o|V>'U%X TB_gTGg5⨞O,C>T6:KȬ O+wxS{Θut#wk=L03o0QihӽQd3;JTbFTH "Qn1 >u/a"!1b]*)PTy 8;HT3MqK#d#!`ž(Y8VN|KUh_9d;$֟1Lo GLmi*鹢$%H *NztjTMl٬y֙W8Is`J msZ}Cy+,bF6Xzpޏ=xNP-?߃W*H@Bw#%*<.ؖ K &&z%i3A /0/fg [ތcA'՛wݗn?f^rۦ)' )xg)ߪ~IGQ ~NMQ)|I>qg[e(( 53L6b[0cPg }C^}R4Ó;}kjw2B9+XIY? F#9 >k ڮר`<76%1glc,!<btmrӈa~SģrCŦxeI->lQqõH%Eh$W+:&g]nz7VҎ4Tɰf1(wm"COh8nA7V9+!RIlvC6ѓe5te# xp'zkswjvqomȻuuj &jKt0+*DKR`?"nבzQ5 ͬ)&Yj%lC> 濄YQpi*;}0*:,J7 k,+gGGm{\J%2gyaǦguR&hv4jU%2_WZm>#`~2(w+ذݟˍJ4΅(>%Ƣ--*/Nrϸ!Uy%aLr~_ԯ!͝7{ʣ8 ^̰C ֪MOciq[KSY黜Uƺͺ|Vm#E܅x]Kˡ R4IL9Tb |#o!+YHLA ݽ*^T"/<4BwɄ (remm~cq,ʯ{&{>3WÛ hߞ ȍzDZ3O>J<л]i}؀ BEkqch)CjF2'pwbZx2piy23k;Xͬ@%h@!/ e^+%lvd 0ԭz& H1q@uز.f?jӿ*KJO2sDa -^0KQh/Gy1ykE0Z^(L"e^[a(&LsC7Oa!_ A*dAО%<5>Lk +][L v$=v[&?XYt~n";xoLa\g̈́g/5KX?.=n(ܺt"/s wOX&sԱ_;*!gERasa{lmK-X"2͙-EA"%,>^%-_LvK*k( 5_91噹5v":DX3y*1L VcoϖK,|) .p> 3ڱzu0:\# H\uPy}&! b+jαYWFuUf/*j+|<{wl1kwQy^6-Dۑg$dCyUC>=W_i[i(3)r5 uZjW!|~Ih^оs+,גG?mD+(miXw\]a<(uuФe$OzdtոIfG,0}o^OXE~ ^c2fN*.0zB*^.ip&Wϔt ȷ%VLF[2fP@/Ǭ8jD5.(}F/b/';E҉|#i. mXhO +lno#oK>nԚhgCWI5GPi?ď6v}U"'cA{  E,+UV`o6XJnOV j%!ϟOư~ȳu+];jl/u<׾e- I0: i5 ".Uvʘ hKpaxRT8ݞ>v[[1[ *]gXvfc. $)"QϐI{U)ه-Kqj\S%I&\$c@CjQ1b5/4E5wl"shՉ)V$44hj$5QAnGQBlzGeh"L3a-+\(_3y$7  K\9ON*e%+Õ[ڷ!\N$r 7_;|† kP/z7TcE%G ,udZPMUNeU~pGhpu$sA{1_.DzC /k2!oVڑDHFYc~OL{Ll {>* G΂x CjEJ SR-. A{OfbQQ F\1J#'؅*Y\dCf>wYCϚaB?x#̊]mPb';,|'פ]d̖JJu'_ǖW37c," k5QՀ V~l&*<۪+aM11W䃅%Žً͝XFDXM`[EToCesr2]8Iuo ou.3EN(%^РP9GvІB|ߔЅ08QH()9x>aYuxJC#KT_O &G~bo *iqw5_ /SE'k.ki)~LMGK׊*sy^ra&_^Hb@tI)D ~o8926-E$%HCPA2pFWU b$Vna F\HoAWPvŇdЫ?k)[ew 'H-o{Q{evJ3eϟr|a2ö]  s` Rk';u)"b21_+֡z gm0I_Utxr{U}//ƺ2`ʎC&`OSM*E~_6@dT UTVZH r+sqe)_{y(kmqA اغ*AG](9kΎ`rƤU`(2fuڥpo~P΢s'Kq-?d's|U.ι$@ni`_P#+G pcY9Ȃ`t6:t xFNVibco7,M !PQ B_ qf-H.&S6mz swB.ELAm]ܔ4:fkQvsrE ڨUKen-鋹1hwʰ|sm|_/ aT*J(phؑVN.4&joɫ. (LAO5 e0szq,r`zkȏc *M 5 3yj;mTlL+K7B UʕlCWCvWOXjr(`[Atd6~^c.7T(r9.i`]3Ε:{}"T$6Uf-XYr_Xur\FxWaNrk@ٸ Zz=2x?@7]x ,$^ 5̒0vf)L5dQ-+'wl?Xt((DhIcܢ#dɕCa\NA=mshfO҉BËl)/N0w V%{,h>os_ Gi-`qTyvcjC"b:vO@%b4m'e g`dQ"_qŔEm4yGBI_8囹!΂59+ғWd͜'3)H_3es0T'Q!JxiTԉԽtPa7[KuՁv˿ЅZ=H* \C !glw* G4>Kv^"/Y"RU93CmG Ƌ697 -+YY=vP+YӢ& P`,ɺkF"čbH(~: :k^[f G=L 7e+[>歿}z`6ҳ\*? x.;ІeiJ)B]4ߥƈ6Qbo?W[{gcڧ'MDGA ?+@X@kȀ2r%E-$N>_0A82Y[Cb}M)X/ `5BZ=7aŚcJQPvo;ƌE"1 m+hug$|#z+ߐdK^:z@@JcYftR2ߙBo`W{r\l'ԏK!Zlt[q]4{<.g㪀e -M?)w]׹~H13[ w5"4y7pw kY)>;zښcXM-QJ!L0*CM|.G?ytM%M#ڡ=ZIUK^KwZOՐ}Ka,R7[{1qn 1.Pc0%km fͤ")X Pew@Q+PX(Q{~(˴?%ݮq!2$srWu-zuhRhSG :]=z-|dZoEΓ а<8.V|Uulw`'d{~̦yZKLg}_=ν~qf_Jn-ULAuxnTi'C"UϿWg螈2K1'B'?CR/ȝ*.? gz/f9gH%hymiU ֤% hh eԹR'XG7γe,Hp?%wv&&0{T`1#1#F@ো VXIԃ%QeFjlr[V&F;8#:fRo *P5gE 3WMNKMS$À)^m'HtqGtwY{֮QXud\m}!O>Dm {|cy!Q t9 W EKۆ Q$~b+>ϙ |Q&HDNr]V5ܴT .Ј$>LH7ջe@ ]ʪ0dAˁ3ҍ?Yew3YmW}/dX,j2^2MzTPP@߱|0z?-۸9OWxC*@N6 ߂8dbLj:rx 8~|d1Ij:W4y7z]tuX('g4Q.ܪfTז$[#q3V@eM?$O`_QZEU<$k)rZҕHodMP+ˇԀ-JC;f""l@JXXОݫ-}תtj6N|A ʉiime3oXx]-**1' 3;ތ糰p*/+Ȁ+ ]euOk *D/lT:/X>Q4F"L@۬W=\ g}!Mpqg.V-AXi0qcLlv2I.Q( ˆ1ACYA]w57yqv*iiϬkq߿TY$LDB-뭫1sMOHtk!28/oa$4F*\hI)f*GS8_a߄oYw00u} 2Û};S Xl &RY.sf[F)Č0p/gVVAL $< ۼfɴt$=f{L(h<bL5Gx W%d"ݼftBsaBjk|͋n[N[4=CϠG3^pA؋zFVR@hNۘ ,է/ ރ/vqJD)__+3𕧀GGĜ,$Aw~՛ BQ+szÆND@I j[*0{+lnmAR/0: `'ޓm-Q )nV\NbWdtϼٍOKNEg^gV#|n":ƽxi#W,Ru`瀹/K/'+aWjIvh2ISvN,(Tz:؝B\3NѢMf:(/ޥd+x@gW\{1hZ <6asEBaVbi}$șkhk!~Du|ߑqzξR:llQLEzb.j{Ɲw]BD7!γ|L(P{п'`49eSqupTx'5sE]kZo_LgeZC_s/AM:bٳ?0QN5}dM"k(Zdǥq׀#QBȆ8 Q5i6=f)k|٪ d4 H˜0_.1zn8;L)P4{IHˣYar)מJsDi\|XG11hu?N!LnةDƤ@>!O@J$=qz?tu6~\WC X}!|=@SeSJe7am.t -8`{2ӱꮱe->+u|BhϊRg k[Љ߄G}>ؠV#o֍u~'Ξ|>~.Zl~ ̃ Ѿ~>w؍==C\hk0U#;wv'pU2`F;n5d=lPo.@ V~ clD J|k!{Z% X0hE>?+ޕi=.)9 p4kġl<V.>023y&@_\m[CSjIq1"Z"R|>K1}t XQR6ͮד.xH5)x3}ca]NlkOEdA8ph,6g*xHb*Chil_Γ#6oB>I5ϻjL4M[9G\Zvk뾇v M0yl 2;A!żC|w-?ArA7U?Tf?Te ?,sW|yia kYDh5ڙ5r$)BSi^u8HQ D;B ؕpƔ:P{`WLFqMt+JS={);m QAr<|aؔ f_Sz_<'zc7!uj)6lfRJCKS F]Z %'3T{t|| g̖y3BC"cH Q<%#?C ,|fM拳&א8}'.=օKme$gIF!u00ZxFk5c>tTfsg;s-, E;y:rWH~+1ٮQDfi_xǑdÏ u`H1̿rkHGI Ĥ@o{YvpYAɂqYiQd_7!)L:b/zrͷpwC YAHVoe赌(3_Üń4{}tqԾ^YBJU}:4ĵwϯ֧b9~T%}߬l\Q2J=p ?`#R̄b'/>F+1RTj XUewq^8>>l KCs9ذÂGsQ+7^Z> g%0+pi2a+ΊsgmU<1T|9Q4CA7X,-!k:Y\d?Qm$V<ہCq R&쵬LGQʊAZm\SB@n w΅}oz&/!_?J~mk#>Ty O$&L FNN[MOD7=7Ԯ[̸!ȯ՚#yFuyh+/@;}"~gܒ)dCu-R,n->#Hz0$zoX-&Zcߢ*8ȝV T 2heTae}+vcFiѸ>ʱ"BEu_5 Yc[%9m07݁PT.=9O% o 3Ma%:ז!t {-BwcI$K8QM.Uz s?%jseyn;bq TH)R6>!)&>cDEU!qLklJYƄZ5(wfRbx=M&*Gvg~-a677&$U}=2["V Tp/5< /)&uBُ@);p,2G?$# {;k|qf9w0H1I{0xq1[e[ZxkrqF{IE2bEf&Vu/$8iOqL+zDG}  6ƛpdڞ[\RQ,3_[zKY.RD!\xx\QtJN6""%V@Ba*K_Z[ XK[puc3 \u4fhrxKR*~ weWY3"gDиyzuy2ꉆ'9E2 nZS\ΉY*Su tHbIB: ArO}m:9cرm MC_tAGz%2֢& U\G_CAQ%t,[_ڋXfrV̋U,Vy'@>/P[cO t+,,8wЉKTyy>˲?ogi`&Q%#k*bwg%  C仫]%_ ,hPuD.Cc+@8Z.F+~X3OWOt+,LkiI tZϨbrZQ!{:<˝v1k^*rK`%(cgO~]OQܼWҸ/.H4k !7(U:ᓠ/WۅvsPHP7%Ue*:9в}8}_ŏMv཭o#0gJKfP@ҡ'H?`7DjKko#*VΞ%mC#M% fFɾri-.a$1tH'aA9Lz|Tyb)>0`8{߁έVYjL :c-uRd㰐JGƇSnɌ%i m9:A؅∀vUP6f Ow>\I^ 4u, &:|eLY#FPMQe1NP0+ȉ4:>Y?-5:^*[K?p/l]ؼK$;& ipxOsVHcYkʝd-4&zrRinKS&F4Ȫ-X*O_h ?, &B_`Y[ʺcƬd`+Pa1M ,]G()!1O(/TB00Hj$>ePn[n %eFVSSTnGM;0%ǦXR>fju]!a6 |B5,Ng>+KQq|~[aɍ&OB\ն&kITR7evvԲu^ |kd澙%-:chH^r6IGru3.[M1#[$#o ku)>4rdLP7E/#2*sE¿ծut[VIY?ZEgEa*$2ď yge(B&9>u/XέE& !m XUo/.U}-KwFVV-R-|jn㳢ljt <މ+v_F-(}tyuĺjݭl[;eLv* (s>o>o|eY9+L:WDd`9v1V e^@"A[ؤ  N[${4Z8|`zؔ0hRN0I>G FTY&E\?hx~jI[Ueч1s1I Ey=A1p_MNFM5 Ciʁ:h,d_NƿFVvBop:*;z&I{"][G?]b x˫x CF[PT)EEQ4 3D?R6asR禰q"xeu'vBWbiNMz(WGgo0"qB|o9@ Jz5a "03fmqɹ ;02KSyDsy1Kez(V!:(*v~ :~|zm*itLLA`#po Q-G b`7zddѮ\hX$%Zć>:ة.JE3$7#Gu|sS%zIrE,pW7lh\ʲ/~mvEͣ_²yVԠݨU:JU1]|xd|+jeO=K[(L#9uީƔ.0tn[͒h fSsXKk`"F }}xQo )06gseDy`VҭYэ)v:?v"sYLkľ\`j+i렞aT6ʐY*)y̠=p?qRgp'=Rl+Hi?=bZ_f<5fH,_Ζߚ5vq 9rǟfN|Sx)IBbl VXޚ-'C;uU b3aJ?[hny<.KE!qg1I܀',Ŵ3+Y.7c,]R BFw::e,AI 5gw7r3l[d2D@(n&5,1ΒOT~S-w?Q}zuPT %^橁7RDG{sT̯׼YD {I> wyet4ދYh 7)(>_vo?!hN9R?`2XVDl&WQ;eh$/Yᗛ 16Pm˔U)-ֵ񬚶Uc% xG}JիjjsU9rTv(:=7xQt3 u5K2 Z5 =̶Kb#oTK'sQ \P-!r7wyfg/zZ':5|X;mzZD̒h\EB9}cįcEqOW^*cks;8vNdۯnc6YCq|ߗ5m}=^zτ:B>.G U_LJnuSC//6L`KqzUe2DhQ?^iQoaQ T`XT-r6?≅(o-\F džER-s $ERbs`8i2(IIpVB3/ZS&oWdIL6}n/?p1IQ7q|x`s@P{ǤrysWf#ӫj/O0؍=5(3,deִ\EL\[d%RH=k'ir] V&׾ǣe2 F-og@2 =iǑ}ק/sw b4t KPIM#g C9D<ӴsvKƽiqI-Ηz듕^؏pJO&?ҍp;;߷+!T,UÀ4BwG{~o!v㱏Ibg8iuB˯:G#w?;\1_Գz8Jy|MKM#4^)t5]c57WGټU8&=`XL@|pYҚb3wiFL,}.yv%VCp!@$Kߛ@S4~g3 cVPch-ԱHFTɃQ/!OCfdM:FQIZ~<vуxrG΋iAŽVb6&s70D:@6W.KŶ6a? wSQ^KG:ƫUuwcۂޔӢ* .ݴ=f1 EOX ^xx1KYd`DcWI^n$ǃH8=7_.|rҧz>EqV.k;WNHBDCs49;)ױ2aS`ɢa!Mto875EfϬ:^e"@ uh#nIvp]ʃQA\ͭm K}m}J|ɠb4ؒ*SQH/LަM70PTLi:09URHɫ9 &[-$"/eQ>ZYqOKH V; YYȡ㔴`u4I1}zն*siGg@P5X&d!6v{vPo J?6<;7˦9>S YՌBdppҜCV}xg`+c#B>ʶo'ǹYuU$q_覣>WԕK).~-f]ta$IZm.UAZ@?Z]ȼ~4ܞ0us͋+4=+ɶO]MSOG73،0qa2 BDJw C b]y% "Mll xlX CWZ5Zˆtm .bjNwm `ÄųU@(r1Yӊg96L5 gn9!-9y?>_6'E|:If+hϓj h7R46OX4YoB\nIOt8dMFO1w>B2=cGӣi^sqE^ u8P&f^&C}#LsRcLGn64#GPa^_wZ^xKݧQtgJ$lydV3ZE+]zRW }1E`mrFm8Z`830$N5^^*-4 \h^H|"pXl gǪQ}\Rf߷5L3w<,CK4j( ]av# ָM9pMC~;F0,^jd`/wXM >e+yÅ؈h5=YQ%j Lʟ4 =yD0DXNAD[Lo19πtCA&Ѥނ:i6(Ra7;^a>w,ifuMCs94X":1.h 9W1 8t ͌|*9{V[lF\yg`cWM܏owz\5kco,]E A䩛2*ƂQ-Q>ӏ5?Kq`z5:iW.(wmW'wX/uyWR4^O/R:B"(K JN07 >6۝\, 3sdӤ$Ũ]pPPQ+:|Nk;<pߵ&$8y)*Ћڥh@*f ]l#{#-08 k˾fnnKr*}bǫ R1*$ |@:2cGbvo^bB+Bg#p k+X,?HرLn5qNA+.: =<sWn+L)C³(f/J5ѺZJKCEzᤧ&hݽxfrtp,|7J "\x,rN L!ߗbXQ h|ɝLoG[|/X*;X+ha˟uEꄎ,W!5Ci@7jPH]c~8mddU&# C/d0yZo=≡,;)yPjRmÉ%}S#zZw\ 4_N$M-j FM~;NoŒ* 휬DBGVjwS6ȣ/V #"k3?)tBn(_RWZTƗ<]k%'zDT]nE;c\Wnb=|۽IOL_Y`~f_:tQ19n>`9ZIGV @:֞-Xg.Z:)+(}`' abgMfPc~ zgc_ZU!fme9rߡu^nhfa h " ݆ +N(uە%X~ ;98#0-vF;QbVL 07EBx́h S0Mly@"4#PZـG䢋YF3ҩs v;s]JC&\mwL1\p߸of_bIp>9vŶ:'Z5;$vp$^Ei%rX7 ;Dr^;:. k9YV?5}bܕf #-^/N@ Vvg+U {_U I:/*X^H YUImzǜ蒏 EǬ C%F= C}\'eς}VD1s:Fe ~]qC\k-.,f!hBl-ծ'!U=9D~Eb=/OP-.ki~6Bp'b~۞0]ӂ `RVR!V E+3q%筯-cj`}tTw@)9+bOTfpT;^@q*mr/tGhuSE]rW>SxEZz٣Z bXtJ ]óY!$:aeUQECt5~~Cѵ Ub^\͓ BW|a{%$b*kV[ *v{[F̄D8pNUuoDLZ mۦC 稡Oӊ|>HbrZ2.c bDS$[@N0a7{_|)bD)sc4,ĵ6^2AFʘ{X CDK_}_5%$< z{9?yȴ`dQs& &0 ǽ3C(ԍ5N4P2 >5TzY Փ[yi3&N$,*Y}Ok9o`ڠ)7Mk× (/q1$3\I-@P1n:m{|sCтZ軗+O%%XDXC):6A=Mƛ _Eߩ"65F̔DR<+OEWDFsxk+fÎƛϻ>$)q.b?[¯J{rd:F.;4N޿B=a nwy2)V\qiimЈ̨F)o?tr_* dy;sldn7v'pB:Y\RDb8BCYS/|X߃QeBGgklS+*zȠg%PgS| =\N5hG$]D[1mbGˤ$:r}9$^"G>7.-t=~/ׅ=-r

    -g1_:}4TVNǘۄdm(U/%r{1l00ҹ ۜ\sfΖ>4}<'Iȝ2&  fx iZSp5i/G EW|C٦*VyI~JԯsT(Ϯd F;=pxy )A{`La}NXR 9.Q,4N CRW,< V# ,c97V{.fFL:vXVCq2Ǔ^ ↬xaѭIU-c -]22O}~ce>+v(Zpv^\@{U9.P yg0$Il sSy!lBy*}sP*XV3gVjw-'v{c]?6MBzRWE|Ty䨾Co?~,6\lB}YWR\12]}olPAr ߍg e] x=mfŏKWAa,{_xhO8'؍H]⟸M~6*x@<@{Я`ێȫ<sk]2NjS0N7U \ݸlS2:uc, *b푀q¬;.8W]p]K k/-XG(0Z"ݖTXٙ%dsA]ʰ`Uw^r\X&Rfڸpr@wCF委3`܈Z7Iur ,DWJK<%G^R1ۚJuַC\&t-4{(<7F(7%L7cQX q֎lt}n?MX$#uw+9CT0̝14zS.A\=;٫%c#N0s+tAyy欕ku~pV%qyf̂7-rv"i'Di?a[5CGx>j63&KrP!qz;?ʱNu{ sI{Y2+@yKa 1 P)Q~jGjq= 5?iNi{%ʠP,X@O#\0 6V`ז h`~,yda% |l?4 7pZ+zH3^6)!t%X~^h["i=! R q*A~(sXOOݐİpQ;ɘois}^k9<4: /;,4'QQPf>r[=bk?Pd?ڂa~p+r\PJӕ:mDśuO }ilclwZ!,V}ϭ BʋɫjHQ[dz/fɑ]yڕ{ake7h"Za*Q7WCT-boDZr(TХxӝ)d#uBXhd ?q*JeB)o4##6g:PB]W)Kf{yeVԩv!6OX/Sk%+{RW,\~)C8dh "2'S>Jk閊u'+ U'gZKC,0z$;Oj\)DŽzLGmg;OY?l$l^na FD()w/A1w.OZ\@Z&B]hD3t;/w|P &>( 2ZGJ2D g|1p,%2wرBj*ԩ4.~֖{P쮆in_b ׭̆\e&7eʞqN&^TS qńtyw"M!'*LFIʗk1kH e*pB2#miEed݆f`h쮬|ˏB2يʲ$W2ÑO2G  uݐ᫭* 8XtCaR~\h5T4|{;+cY"T̥A?&ONL[R}iLĻ0sYU BR!%$6!:47eIS`teyп_%v«AnuݮV2d;?jYۺ ?CMޓ?ʼnOfrfjwՎ.xo0U;-bЛP:^Eh'/09ECFm{3KFF)cUz Bէ~άTP99i. = t+!Bٙl81< 0)PjhQ ȕ}_`1o}w1`B K_G ?tƻNi`81lGKBI.tzn%Hk&~t (378z} +f-Shy6P}u[ T!ŠZhQ^6k&ר^pؖ>v XѪ掷8iH-DfjK1\#|Q?Z;wtIeK9LIwFIJ:ß+1o 16`~bjN|T|9A2Oj2:HCo|7D?GB 6%?6|:|Az(`TR K^䶿9 Ǿx$p:?7Օڢ"Z*4Y~)kÒ|af^+|ff&uި.PM8Ϧ4/e?dk<܅NUNi)hc1 źj>hm 9)YFxhN -^1oP to@r53*VȆ64TоOmp?YHiSݩ04Ir'M_0#5'#WeP%"u \Bo;#gCwt8_wݻQsҪ{jc怺@X=Cն>5r"q_]۵*p/iԉ5 ]}Y8͂y#Г NXd4GS9My ^8)To:3h/>|'m8/aZVלz\ 2y"Wͦ=g_,:K TA =5W3muĴY}gϏX?Aݺd8$Vz\l78P]:g+"d !C \JKB~!&ocz:n̙>蒦m>ԧ:uC۝u5OWaYh[:Hk1a;vdYA mpF9CۋV-,%OZPe@i|a!M8qxzU8 OĶ2<-ql7MEZ<],\`^ЎZ*q ʷ]0w*>ZٔRxje=w{bK!Z)(LӆuDf8^jP,ov$KGr*>Pu!sgr|6Sb1yJ"4d0CFkqǠ\?T޺$Sҽ&]N:,,<bPTGR- ] h+):ly5$^꬟74Ti+!%_kSx%]vwR|F:)lV$CLsMۮx5:ZR *{*I[ueգB}0""I!;C|Co#.qI=㺽򴕹NJ:W&|bACMJN;^ðH9Ex F5xPKμ,6|8Ģx(K* }ER4?%6Ӡn EKUkX0)|plLd~Hߠ{WdpLgXiDfVub坺siR~t>ڮy*88K10\9øQ~a9Q9M h_5Iry[cBYQaΏK?[mNdwn>j <)Yb`ĕZ`7LXSj3D4jKĺ ^ V(dY>s󖝙NIm]^mZgf̠Wٽ3N㱌qn$]3'$,K 4[S>?(S@^rZ`xwDpNUYI+gX]@﮼ yN"1I,WYNя{0rsmCIy0!_QcVr@k<$m΋4J$HxXLnC;?5Ӡ _~6c01^Me {ZU-E!*лI90x?蚼5;׽$vhN}x'jN_Ϭ-%6>zAI;.8Gz;lS@Y1̵ûy%K U_P&GM Ģk$9хeM﫺n}ǝt맦nQ2&xH'\̦=~d%C3u$TC[{[4uw#pȰ8fl49 /sE_𣌿XbP@#VOEʋ*N bHU&M:c#TtMR2.7¸6f7ub3fsN1mXA[+<ް&t5P!p]p M3S<~ȁO8 @ic8>=k\. i,RX3qR6g0B"Uei,@ZF7G8| 0iX%w^:5 R8̙h; |04SY"e}[)Y$)nlɝP|ٰH+6I0Wc*I#m:*{]Uw)Vy9~𷋾TX0}މvxd>cpũ5I]#Z81z3LZ+V rBr+Б'hoc蜠fz;3(tt<\ݍlMM'DԞPIZ\O8UT]v2DŽ@ 24H%S44/Պ<\jT823g_@e$vDbY:}bV`YJ?k__ip)a{! %Tg .XRP"{ J>:R@ 4#&Ke Y^Li)̮;#[ƀ 6Br^gT/ݟ)c-u"G2sV%JC\]}4C9ufY RZb.FñFOdˬʽ>2d {̡#4M<.>|墖`HQ-dw?=Xa1_+VBRo|wC\3gKKUAN7752uch+8XVL gt2皉ԗxZ)A\Ŗk^qۡXA²c[=ŖNn> z޻9L?7"9hK6GC(Z=ۭc4ua|ct ?@|,vkdh^G+ qVuCldaa9Kn'+}x7$P x;YI7/"b Li+PGC 6Trʲmҁ.|4w"vj/C=B]c6`UW.%ͽ w9Pw倓2z~2ə ޱ&w7BlkOLV8ZE)7N\eu:/Ե wo@+ tFL?\,wBDe&dRi 5UJ7dcV?>Z<ø8_5YM3L 52yز376ԪoHMRKl呀߮ 'gS9y5S8-jq~ 1s.cZyx62\))9}tZ!zvb {` p@⨵<uvpJnԦhg3fG|p$ל`\8xdyzִÈoy6, wlɭ>r^I!.F(bՅ=7w5!ٷYJL֕vj te aA]sx˘L*|v͒.7NIśOPU)k{9I׽`.'"t(Ç=uciÍ[)l/QėS-klcW*bOFS4=UBg[t"o*(R bxeTO5sSpMo/$]akto(uھO#ɎS]eh!qhU%c.@9LP.+d$_;9/F!D|d w;|kyx-K-}#u.p&d m<Vy52e)[=*%HٔyDO*&2!gx<|S"BA\}1L&8)uwVUls%9YA%B=fi+\ H̕渥@O %GUw#{,Wl$Mi-OMXqx%{'Y=a/Z5)o1` ETh"|iy~7<\Bp?wĊX˝όmpEn%˔N ~Lw,4ԩ[d!NN6>@䣿c};xX܄eQ"{t|T_]TbKRZ}ryoII]s0ӡ%E"C)_Bלt]f>$. 'O~;Ntk|c3فk:|i`6{m+zVވfݰ-?y lSuk'-y YklI~E_RX/hk*/(B4H"豰_o=}l㐕yU+V9s9HviiAM:EQѸEId8H@c RP9~0zL-L3΁A]H!=eή{HhQ9'ֺ8D ImB+]S/Hy@ gOY90y gB@ěB]6U=x&b3;kE;{zi Aiuͦ1VNm63ժtNpsU;r޽ݤ5ٮA48̀Ҷ2#:Q!Dfaӷa1j\aȽ/$Q Y~ҁO:v5W'lyq*!t`5VeJ!@0 Q1 w5X(K%lGʁH/{]|."K4nW ]mFHO!.W5ƏI'uZȿJyv&}Ǣ}GLnuRqS(ťc,nht?r˜&;/,}X[+LozF:<φ%Ovl1_aK7cvۊ5u<cɚA]Q=waW=)f[C/;pG&Ӊ#b=>p!׽*Ĵo#x:X%rLގ3B\0Nnm(T\Bݥ3 L/Q>[Ntn9}n,đ&bR:~6q6%8N}f@N?<-u#q15AIh3ڭ!ΌR M'ґ^,=_kЌ$\B}@cR6s?CŮp\A㡍Q&z5nvSSf EVc(xJ_<$wqϫ9h;Ï}t)-^YA!rƯW P%'vXVz,fv Tf(FsS*dܽvmO7WJRp{Egy>ҏG-@9Ai eXg BMS0ӷ756FuucV6ψl'<)'X4"s8.&_jehԄo.H3ŚZҖ7#Kwdg?a\,rk%bHH&M Y Q!ϊqngDz/]No [ r?n RgnZ]M9@Ǒl s%gp<2O/[i^.a |VZ, s!};{.֞R a0$:nR|٥9Ύs̒G{o#{Z^EmP7TJh9v0|F`6s>[$4v*_Q→/5dy8L_\ 'wP$:TЇd];QK؈ܖRaLnY9Zکi?!ǻX l*$J tЀ.C^RsqF0y x7Q־^H T@VO;'٦ džר0?siGB/UJ5Tec?C>鳓9eViNЧ#l<7S?B)NH'cDn Sn6T_i(S1W=3 _05>ǭH1%f=Fv"`yWaWR' |R߄J%tdIq |*#;4˰dhRR.R4olZQ64XnVߍT>o}<['9-̸f;(Ga$9J,G7ew-*k3kU}>HRH=izJ- dr{VEi";-*2ɀQ::2l*ctC8nj{Aϩ3~a+/;Ћs܏4'9Qzgg=-EpW/%gLLsP%q״JrYIms W効IRV})Rsέ׎Š KETz~вOq,ĮϚ_#fպRfB&lA|YuLR('VUTr PnA!CCD$WW2cY8 _`VIusZD*@eg:Ł3-;g&;؛Tđ`<4D?mzf:_~  kdH!*ddp䦒Bp~Bk"{{ uMRXz=5ϺsHi])kBVk/025ɠgm[b,V,507)]{+&[ihF{?8M{+~&Q\$jLyP/h)v;/oNø"q=LNDCвX,ҎUlG2ۺ|`mŜ7vp! ֿ[o˂~}j/[_JO2Y HHlWOfB Nu, hK?^Լ6lZr_IJ1ʻ^HGiĎNv9iX-ku<mDTJn,ﴊRRZ+tҤ:A`> Dm#GLM)*'!G4_=EV!oF)#6dM*Eg_|Ewt'd |Mȃ-s}1#%nө42װ|[Fp}kS3KjL =K7=mJgm۫AU^Dn2z% k ˆsCLfzTO)urMkƍR\sX Ga}>a =&=_&h{Gr]5HqlqWjp #uDbpP'p_gJ1+;c"n .,q ݠS1\BTlxX&Umw]hE ]j;2=/S&0AG|Q]=\{lBfж0VԵj݈?a m rDУ>NO\Qxo1E5 *pkȩSxHɗ_xMQ*fˑD Dxɧ)S~ VFv P"b%?-|R૗ӭǚjy/IN*?5h6+{כ;VbS-Om>ؼgOuǝ>2)`hurs"co;QE}V; P||cS+$|f&$r+b6B9b*7FPHE~0OX ) HJX H[? j2Ԕ(Q9N5%?SE,Q 2,503;q{h]04ۺ6o+Ћi uܫStLmr,}ƒϦ:mmjӳ?t98y>eyJ )U1uK‘QY^G9  Pd~FY9 żX$Sage w`6SG;,N׃WdpJP nm#p#T[5ap=٨4^Uuh-0K1.V5Ǘ ]CXwsZW]uNfqĝ9*O?aiuexjȥ2\.\0y k.h2Z=&$QrJ8 ʋFt \ g+[a٣bKqFϮ vHyֵߝF>A)XGY~׸:)#:pń6[s,MI ߷m_|+JFXDy+Or_h9;|z]*ʨ^ _q&XcÀ>DinuVgg(ؕ# WgKW%5xHcE%0"ܱw0.Z7e80k?u"#T-c TW!?/l8h[!@m2.ԆpJcz xMo%ŒFCU¶[Tw@e[Qo֤NI~WCRܪX[aʁ-]G?dȔ -ڸw3smΨ/ŢMhd.ӎ=l3bZ!@k-a0BbOLl 7Tm[ػ9-yz }R?􏈂 ܠi#09]I~ں-w~}ƴP |h-M`z3jܻv5ݜtU +]<wWt`v.V>6 I]5-͡\zG/lL֙2nn]ۏwGc2I؋Nl˵@1tUY9$y'G&cxx"8 D‘1WI©+ %H9*[e>J)C" `.*H^.2|lt'wӮ̀}h05[W0]lv6t@EB.X7a 7vaw2c83sg 9S8F (w@ګw-?ŘKva@V`ЌEVMkAEs&g,|8ZY=p""I. ħ79ԕUzOg*z dk-yZPKd.A uf9sA0\x< qݐ33jR;\He𞠼 t^m3}FmٔOYYhb^ zžr"2׼2u$صGWt>sΥ! sPKs` 5?b"y>%g v) !plq#{'aLTHע6%jCg$Vb1E+ 1C5E+=~ʛ{ۖ<ӵa`-HuJ lF VMҎ^w$ƬPfwI":юb]9^@ou%*|j@b gP85=V8է%#@din9`mdYggX Tc|bQ2<0!Fk$]C"5c8앛 jM_bs^sXQևmfJ5- f ~Z+GGaA۾ookk3=caqa&#&7Zo2AYO4-r|^q/{IԻ60)N } QSŷ =$&OX~'+k0>@,\GHi8Pt|?i 5jJO*f귆 =E sJPE'%A "e2k nj |%qGv@,GV3~ߐ> Gl0TXDt5q}3kp /WLTnnoZhOfLlrZڧNK&e#qb:MEI[By;ꚦxdohǮgŠw1PaPÂ!6!, >WB3%e"&Iv / Yƨ/&"T,k>#fv[LOi)K_G |FK`ͬgdD`jKmRe%¢L,`tF-`Ļѿ~Ko+&Gڱb%_9_?nHz-z\ngVAE ROFkW'r<(Sw^UoYK=f.&)ٟPM )*YlCͷBR^ l _>Vޣ Dw9ЇoX+nln-xYv?a0Sth7/d\,Vm@C*z q_%\!N5ÆZ@%|pQMDA7#Qc@BDE?ٴ006M0a2loEE rõtj(ۃw:AAv襤.n0Ή-> >NjNX sxǤp]7&M@ony3u|?,VʩNtKTi6] о#3)xPc˅ H ][g-PiS4s> wde[2(}C8ʽ{[u7p;xnsEgPUG6OZzvmrZib$Z%t%siYF%L۪ߊJX6Dũo"#$*9l8mB$ Z7 )˒1a?s\yGb̼lY~;~zrLŚ`VUCJҩ`@QqNGOV ۔{"UZ\ė8_dAwhqĩi;Fx~Z]C6ŵRșu}KĚ)@sۿia(|,VuSC{88<'Ec&”^7GQ\H+n'x"*4*Q^ROuTu=ɂOlpKOmgA)򞙫RQ)ZubTutXvի s UfmP5e-4oCn/r [aZb. oD_g*['S`XOr,l6D k-hikcriR& )J~FݢWfcE>5pߝ!zޫfljy"ޙ`㵒)k#}>'y*2l! 6S=VFw/i$J#T;c=IwY3@hN-!&$ēpa\ 9J5ZU'GHo.@a]#xTݓ8Ϣ2_OQ`5gR^"ky6~wJ%cj6@ Iv|;DcJDC@iBzeY/i1Ywf6[k)쐭9r=uXwUN&C$la+\"M7[§0LF->۪;jm*-m PM:oІr#kKSS^GL8ܑ;r<(\A EYҡftyKIp<^Db +xpo%9W5T 5Ff) BB׬V@k|:f9ia2U;&ol@<:p^d2̜\0*<$97{joq(*{yd;,MK/ L޿J)(0KKMW`|w4DH0-i~C- grqX7w#!>CŖC]"K!׳sdx/N]q2 KA" }>^UY8 Cz&y P~q,OӏB? q/unWju!;}kwnb[t2 %n/ZSDnTHmW.}وOuơM%McʀH4CXH_&a| EpSؔ{ J#ܮt <,R5]NkdX gXShs <}vqLgz+Jڤ]䔮;t_1Ĥ;p_SCH5ܐ>!DTbNAsA*_cw.$zt<&z4aߌIv]G9Se{ڻб>~Ms3I+ɐL1䑩շ? G*)J< su>$lJeUN[>{K/uLg"Op!(5gN_gH|=,eIr6$Dewoa# -oNwdlUI=0K3'y=X!cH~MPZ0ɠNHV0@%fYعS!fm-)&"- {H^|[{pdm,%eWu ˤQ,"CZ ċfj:WѶl.?۹w>,o >j`HtC?vۻ_Y?2h3پX J…1VfIU<"D/\"rA@+m[1N:_[iOo6bLAf^b.ۛ;}aꋒ3}W* ?AY@~hC 欃f+PC 2Wp]ϫ+iTxh-Lqհaw_~K 3/-p+dj\ZҼWSd^f<o :sN\~U*{ZwqUH5F@( z5pE>zn 2YyV+ڊl0SE3ǓHtvcHUdb5b闔\G0W% M0'7T>h-]IwQ7KgQB/"vb \UlECHT4#fY,I83.4 ,0nt0}Ceu# _zsE,YpEa˜ja"sB&Df=cXZg+‹j}(Ef /0e$!&w2rwL9>IFf-c+ !"" Dm r+Q!ipHzœzEj1q@-:_q)0n?6vo9Oc( #ts! >/LF=^C x}YRs(ڿOnJ3}/Lю0>?I RqTuV`܃mY hlaXCCqHS{,;f΋LW,AyS] /9H zL2GhyaM"b?ylŌQǏ܌~ݼJ]\ձkA$YRS+Bg iAw.h& !Q~;贐z_Z46rY ͮr2̓? ^^=UJ²|q +`Q<Ĝm ~itIJހHb{Qn{W1)o~.dבG|/RD7:!+eтM}67RԕۍW!тsY ~uQ5٩@˓ k.oE'mwH0Q* qEٴnoiB}3htWL D(ocO +2 `&Ro4Z!6YZAy;ceCDU-e[Ҷ"^qƦL3L1 )K}VHYe)i547ՂIc֭0b'41>C3ЏɾOK  4kqˀ)~?+ea*$Kjb&Лd?*K*57XegZ=h,Wg{R.D|OŽқdʣa$w] ;-7ޜ$mgЙ9z#`G5ksw|w ߝ4hsx*!zY8E>2+7C?s$ ю6mt$[/?4ߺ7ET=)= AN֯n<,}ԁeC}%r0yX$9t)/B&CجpId6;-b@>&C0DWk*>QHN4vo4R4[ tiuMoyij|W>V2v07clO^Ҭd߃1X[>"hˮFQL)}a*tfd :SâS:v]cZh0 /_y6m~f(H}n*%p+i,r˧ H&?C wS}Щb;U~0䝪r1Dd`yG3lHvӀ1AuU3Vg5L=nLpڬ ivg5.Zxe`Z:Ϻ>Z =W@ . t ˊnmb>\H .xiQRxJZgn@ Jm <|*fjR13YHCTw]whp";!b>]OE͟X-DL٫>`8/$q icvh߇߱@GXs2%B^cg-#> j Vӥi+vBXQ_MM`%SX)=a>4vȝ\rڒFRKEQ# 8UUWn:ԩc#B7_}5HfH'Z8Ah14փMQk0{8 MkML åOlύ]S#r67LAF^JS]9N p>M"m%x 1}]Bk`}:;б61ɟv*p21B\ 4Nlʐҧj>vj w^!9ɂX)q19|mzE_A:0| alO $hƌ-j h#uh[LQXJ-=jyK( ˑU*8z*[䓯{KCX߈ĩ[(+Jj.apzA> ߦV]cȨL*iBXZr[ٳ4MBLT"X='/d<4ܷbuº(Z, ~*(4 EQ<~fil)`3 /u#: 7B :N2blʖ))DۜW*GXYIQc([7i_`SoMChPcQ* 3~doɟ:WOobiҟ-bhh&Z ~"FiJk1%6d+.qChְVuL>|ӕ͏cm"PR>lR"s  [OH KӇkavDFTčNW*Q +Ɉ'O'He gC\Tղ" DOoT-׾'%m. ']29rBYQ%u C/M"jo; :bH_iR;~$P]f}* vWlRj>*q# 4Y7#bOڞd$.ש{Ck؏]oZK]K[H@ƷE#E)jZ;#gsa O{,c+SwV.ƺ#vRwlyV8`%!n\O M5A 5P,8ܣLSM޽i2޷^rK?)Ro-}| X皚p lO 2mmhqH3ŘfD\'\m%ewP>0{~͐B@rpd?^7g~ЗXr (A"@N=>x?<\x4Q#<%ζ^uyg]w͖ȣ _[:kmq?z8x)RVEL2Cf֒L^…}ۂ$rE%vvm;凐98^JK ޿?ɝJފ"K3F߬n7V[)b~9|=|?%;>ia,ʜ+eExUUwvƧY|Լoo1KvQx<ֺ@so(JeȎ\õaho%)j9b' mjuW_]to{!%l{ }S,@{(.^y" HV~n-j9t*"h$T5c|:~<0}W."U'٤?c8@b7Bh< z( ZzF90D}'{QhbP!vKQ,q5v*䙠rlX6 ?+QؒKkWëYaPfR6hۏ>v^?QOχM ^1aa_DLqnG 8؇-E3=XބH&G 7jcynL. @(If't&bU fZү$vtSJ+Rkz `h3QLdhzM*H<ӬArK~Oؕ7Lva]. Q 5'S,g+!l?!X οE>Jn8HmJyz|qo̕۔zk ( Fyb\o+w)dAB՚iP I#8z4]Q@Z[ ߲O!3`\s\pR Q_⎇-ε[I#_XgP;,xvJogW x&,'N@XqWHԕ>HZ̸ͅq^$R%Wp p L8C;^ifp/W"bC]Jq},2TQis`Sx N[{:t̲ ?U%4o@RBz#bNJ$D. 97Eڢoװ^B.9r(ܽ6 PazrL&w5ߖm{?8-CzE-4RSxPY)\Tv< D[Ӿ s}_d^ va!u!//r!/G&1qRMNI(_FpbW~K%Y]<Q$U}]d3}b탡q}'i1^erD\HHF>}|O;v|Gkc.#kڕu12Yr6KXwk+ރ_i>͒v\8$ cKa/6]' ~}m2!n e!:3dԈ&vtDf^y]|Jp48(J"_zNv+]@~T:ZBof 9UL9iCɨ8:5 \C"o![SJ25D {"0pvdIQ5-;ZK)Ͽ-s((/i$_=y俸?VD/$xT\s W~ij^d`fKhuc/az]6m2@lu ˡ<':'.$0H!_Y`u 䙝Ҋ&;G8GogLO &=C1u*:ɾ~ԃ)h9'ݚ|a@*uJD`8b w EG,}F>y\L;&Z"k3 Fw D_h$+J:rY*/۶b VXҁ?PhC5<p+~nlsDUETqfj֖H B,~4>] `8a!%ZWN*)±%tCЂbjH:Wa?zBxny-o$j: wt(:3]ڈ&AxDMS4ːѰˠgTeM:uG=6> /C OH&Кrzbֽ}9 D1!MZ.^%=@nJcid: *E'2Ԡ< QiH ;1}K+w|ayJ0Ll?;94yMMVLԧry]"ƝqolF^ Ah` f.gWVPw[5H9`>[H+2> $"鄣c#dFǝjoS6x'uN륔kt>U?.KxF2G`LҌ|A8a՗O3nԷ} M\wrJl-,+Hh+1}T.,}Ɛ_C뤷ލCxH p>k &?\S_02 v= 3 GGlq[wPG}=0(ߞ%V(;:=aϸ qC}Xсn`¢E*fB;$tiΆEM1(Ha޾APjSdhuE`9zd 1q^$!yIq f3McBc塬CMN$(PT̚R'hƓC@.2O1O٬$% K7˘8{Ve5CŸ1EЍՍi$҆x&iO=4KTQYŦ[܂Av~>lӻfƖgeZOֶoaSJq+DS[|.,*xteb:} @ReM60!IG5 6!%NKJ^za^[ I联>ԛse`$DuX`PQ:3|a^H:-ey[ÿf?Ibe ѿ'Pc@[EP64JS_Nr qa< ,(!7Hݠa'+j8nw*lVU(1Â`Wv7uXslNԓvѧxlK%FC{95%UN׶&P3PHFqN# [0R-E*`ʓ:@u;3ʛyKSUX?3BK'5u› zܨRo싄Z?@*v{cVKvc]MV+qpÜu?e?|{ZnEG[{\ \hN~̇@:wG<.Բo{F^QhdhVÛE_u T-~U=wz-#ep{j]/@Hq9D܆Sk/ zV]&*᥁}ֱ`Mj)WnMϋl . o1Y5H *rPH$'֎$۸C:4jj"/GB#VwV/pPtv29=[avb!1UyLYD#bD+mFiV.W%ade7B<5R!aW*?$՟?BC\?.JlR ^1&Z [)D2G BIr7m]^C_%Lvz႟Cb{Hc rM4S,0<S(xA)0?EIr ރiM{aiRlj_5pg\I`G\^FU&%BPDӁGK}&FSd@mz^LC*V!kDV?oS|Nڐ ԋ8SF9u/f?m ) o*_fb?<Ow Joh|=ak=ʸh;MmxA0 (%feG|c2j3friw:ۍ}Q0~ῃY1MM?-{;1Z<??CoNc!=v?gd7/a`Ӯ3r qBܴk+߻K\r*z;/aZN]z%8)jAɞrX\Y!޼ԢCў_Ɣ?Ɯl)+ͳYvcBm:7aUl~\}55+JcPS>tD+33@5@~ (ۖ%eU`!7p{#0H,%)೽ˁՕsuwB .;f$sHe% Cz_sCjoqShŵ=wƵґMG 'dlm(@ 6s81"̏-G0o W:sg+Z{@V֩C x/" AEm^Z@zᝎ_av.(Um5"{'w:MXL][0^4;s}^I<(र&4%țG tbiOxebAk2KzM[mkWazEC2__畖ZV(*KV3)qG7 8qcP[i9iӹa*.&v1A>~>ڝ2Jݑ4OV0F,hZxd.ȅ ޶9.P3C_˼nY@R%515%}e1<ʍa$qUmT?aHё :e!i(CIt f%_>bz* ?$1=vIrpXnzb x N!pat܎béGDT73 5'аF':(H\h/+i$YU9ox9I^Ƃ/(R=Xx((- |pTn"gs6WZAo mS 4:Iֳ_| o?*ozŁ/]ks~A^pQz,}S{\W{tKG\ n gcb.bJJ J#գN'/!oeɵf1pUIo$rnnNՒ!a&i @۶V1a;^(wIpxgn-rK`N.!9eEZ8+:HA͛0z'չ.:\F#W9r{!'KJv+'letfje}%#h,jj"ÈP"Q-ԆlO:(SEyMbZW:t+;y]PA#ˆڴ3+Ł MYfd~ / ˥Ks75/U>mBۇtwP_>]8(8i8ѷ`;:^CW<_QvDDdQ?`iF)~|;[oyS){7< ZWL 3K!Ĕ(-juf\-DM=XK%G0coSf-oP`aV6w"nS$C|636w=Ԓ m?ܛY/cӯVa@izdP*ĕRJQ;uӽ0';.2-ϟE\>M poU%,h3{JV&:(GQ%]x?q,#?(E@Xp6T% c`ڨa8tk4sRIAN(nK;U<tρַ3w f ^kFVe7\gOjY)k_pQ#⫰5B)ٙ]Sc.Pެ%Ut/M7*"%K'j)PPZv\BvB"~χ.a ٥'X i? _CKDL/x,HQIoMii+o=Q,!07UnjF 歹zp>4'K(T9ڣ(iĐJAh#%Sve,v #*ۘjikbJ %ʹtw[L9NEh\b-Ϩ"n+*W@Qx+?xսkAY?җ+.4- Oh;Ǩ"sLQPrF!Oh}hT%tb%dT*mC>Dℚwe@&ծearXC `̟UÊ<6IX!ݟY( ;z7ئ.LHom=*§9v"6N&MVu.\C S Q _2~SrlN YpLS 䄴֧7)d#yʺNRL *:G:-C=cYSx~[*.۝aٛgʩS(FG Y![<&g0M{HXR! UM@t`Yv[#F-)㕱n%pHza :? v04=5ÒtЅd 2'rwõV5ƫc{倷Z BA)>c(lw;r@L5rT~ `T.GhF rf6 t6t \IB髛S%W Bs.֦WMrUKI韚}pQ,\pF(޺Le/f+8ĩ#j_AJ k.rڱ0@Ap<z-HmM|ު0,l> "4k)!9*!K6}"@WV6Y8Tc`JL{>Uju+:ZF'8?\Zt|-dv`7Wbk)Òqj .!w#>\L#z?-ή &$]y뙸VaC$XH2W8\))7zq WrpbňR0ңU̥|%Jjc`/-`[vg-GtSXy\.~,_buBaaH1^:Ŗwx߼LKڙ%7 : wi7j0IGQiqm(5JQ0-S lrܜf"M/l_#-j#fp@عA[nv9QA-,ޞqI:W (B`kJ)b|SQWraltٽDܘ|80+PF醎 jݛĎ<[Ubv)6sqKm|O 'a @@|PP5|}\ @@2&9ydgNpʅ` ɤ9*KLIۇOKfg] u=ᾈ+c蕣 y|) IMu@2VDM[{gU+(i" ĜѺ 6A0Cړg5Ԣ,ԠbfaϿXD/P7|^~v,vV%NwQAvi)=Y3"IyQ$bJ_x]5J8}Pꔏ)ҶAH *BO]ws:(+]6$a@jz[='n|OjqR&UVJԉߌFGl'.*aĹ ׳Ψ}0D@dx XFK_hoj քƌBȪ=B&{vF]V48 C%IyUz6m6%-iYCmR7?!laSjGSn;1tH^-[,&ҿg8Rd|+#>b[YQ`[D6sBOocLFr7+vshslΘ -b*4Vh- l\Ռ6 :+T8D_5%7cH0ʴއak+flS' B90Yd0ƎxïrKjn8~n,e3rۻJui0ǃQFS%I^wʿ&̟Rз-ڜ &` A GH{{z43erig@U6{( WvYc#.1LV1mLj4~.\FcAbol8G@,\pLV]IwpKd +T3-XX!nBg'`0CRٹ UqZd^<=`Z%ARB=^R*W?4p˅ğ+<k CZi[ xd7/M^18 %ĭ7^y/q9-" +$幺^]^]5Ú% "kOI}ˍ\;B;'Ky >?~V[10(K7E$'nA u@#Q@O&|y2WRNLƉtcm?NR8wy G(@`j/_!//V?u;2Tub`SFrɇTxʴ]d!I&zWp9K4OF|J67wXhG--V%g){u+Z j(c )t[`Ƈ=#>b &\P=Y  ʽmlH)WbhÄ<D7'ep+E> KŲnCK߄gYח>09\+7DH0l!]-Iݴ ٬I5oE|> 8_.t$E:R`LwqjB7t=hX!)IŠ/dž܏?:za;#j =JzNڃKNY@q tڢJIMaS'j`y 56ugQ65մ}pUE)U3K}pSX-Q|zMo.lVQʭZ.E[DEt}W]&O/LC`~y<Q\hn謹sDٛG>6gSKWWp]YNG>)yѓ\[Dd+8OCC%;u%Ahb8}-lQ-=LÈiL񹍉~ΫMSW%_3(,t-ِVTA'U  a/"[2^-R):ë_a_O0e|c=9P]8'$!9.59Cq@1xoMW,EK%XrrMns]{h!Zzk%ғ>`W]my =s\BS, L&~kmTIʘY-Tzu ]Q|.wҒhgd:u|3v yꑿ5 +3д\1{u06P#Xrh!cKPX @&I f-"pĿrL3Nef+nBu R8j qW,:5!V~yu:,S#ă B1E Jkf@XEˮ=񣫕Qi^XW),VL|<6:l,jJ$^ $%|9\-nG:褰:X^xF:QVqߘ j\yR\0ڝ?G؟T^SoڈL"n{4g $h㕃Fyj0\%%}Al_ ^մPzpē&.Ie;5%`!njɖi0*lhQbcZ_*25EQP@1e K=c<`G@S4.mmn#\)Py 0 b"z( Sro\\V+Dp.\# Q{QfO!^"'@q04|~'Su':&:8o2*:[G=G^m# ܷA[ 2iT1_mVlܫl8 az׮P,r|D<+FXA=BI I<-а/YosG%4V8! /~WAMU7ƴ\|1y(\RU}P1BM /Y}Ux*38.Ww:Խ$oGA5 X@ U0h+֪q:/؋]r#-? ,r]٢nF.kX cZx+3dC@g4\;vqsSƠWĝSz _B`)Dř6/:@8h1l ~TWٳQ[f SH6YWQd9cߑZlv L)*ItTvG;@N} lqZ>~YX5P16#;shaI{+"/xN'E^3~IdHC\1,FL*:O^*MrRq,E%*C)'ϖ_Z"t7l7&4{kX{+b~\JC }ڀY[ePD |)[e_N޾B˪Z(oǫ8M8-q`0UI3Sd=AɊS1>pAd G=*?!O .(΀p[a-VkېOIė~z#0AS# TZO˽<QVOPK4 i17; \luIo,o+wsۮu2#:"O /[ͺIxr g-?G L.f.Ё. 6Lfe zyMr@H vJv*ˬodGlɼzZu,Htnק%6@;,X5q᥇ێPgLKb)x[-lm'xku x]D P7:阚DȆىw&ruV-)og%a bomʿXzf.>3^CnT',3ٝF#WtzvX<cm~ OCNƍQq pebȋ>pG53Mo e{ͤf0m: mZw0&ޅZCm *rT. VP^NA0pܨ!Zﷻ.$lfI/+h9~ilb/5ѭ7A-`}kì'˾˱)ѡr# ԹL"]):5%f2n䎗uyi_-[9qn)vć(>rhQUe߃s"O殆m: K- HIX!fkrܲJD^6-͐:SUy_ME> uVv筀cTS{ EDBGnRIH}cQ"X^A(a̖SQ"n?oz}{~qAyC[?*s>%V랝xi6J캐eQH55 0 M(1u:ǎAhaѝ9{Th:+ ;t,V/ 0odY- _1sO)tzܰ¤|qG9GJ`HZŇrF?i9cLJnm-OS^}E!ha+Ɉ.g3^%k5grEb )(irl'E|v"a-k//a*]{*g(Q%Ɩ ݾ]`0]gӖb B}GlցM#. ul@5mC[؛*ֹ6cP$v7\‚yD]Qǡ/ _fms#)d匌[QHz1Hӗ(i-?V I40*tbk1cYq'd b-FvT8~3kU4y)g.tBI=0 (1(ͰBɌ0H3nBSN\=P%Ѫ9Fu~HMpYT`_{U/,m%sCjS@#c`WDޢ ,78ѫ F^.tMn/5œ,"mZ˞un n_†MG|0YegI/'&JꏄCR⛣)1]5Vo+i2w OapuFJaP<, n`Z j]&U &7Sڌev~|}7<+Iwc>l4жq+]AMP>äڕO֍;F׹pM%E4 }W2Uxȼ >u&+$tUH^O2u0(ox^8kųNڰp6(wA7-s/=/?ia`Il<-13Ljl|,@N%>#볣Ie۸XH]׏k'd_WpmџAݼ&&O,+_7%wfiT\IC ĦOZ-pixr*xbHb). 'ڸO4J?._XÛMfv?S]"Vm}97Ow{%/vE< A J\.zγQn&٠Qi _v[x]j"u?!OC~| s&IY;5Eox! q…-[CZ)XG3 ߜV.m.L@?RE2?AP$ds:]-/BF 9Tw"tI[Վ [E䮣`]swօ] ]ieD(sBexrJ.= y6N xU}tW)^/X C>s5unһ%sowvK('_ÏցP&(6fF/?צ+lt^t]ps "^}@@~q4^UT[_VW򢸈hȼI{GGC;Gv>:탘dKx>W/]ƥ8[ԕ_J\K8k`+*x7_p Ƃ#$e߁qgNf̆as tYOM0x")o%(:{aA (W^H rljt+O]:8Ύ&`'hۄ=S¤"ݧcMdꃑX!%hHyic>0/J5>h'\Nl.}e$'TL H˴Sb٫ᣠ?ŶG,Ifl.9]1ym,v8]M' ~kJU [6wV3;ƀne/ و_ɫS0N,'uo|C"^Dr`һVTs ic_7kʿ!<F8 H^Ho!rALk5^ 7X#g/n !(d^_4'$n~f>~3@dn3@1{#ՆEf9A*hӼbFeJxA_E=1#no13朗_[0A{<Tb/b" թOܩpR* xJaD`&LL:sIˏM OOhB1 V': 40.$؞W:~(>6maV@1=.}TihiDw A苁e5mCm0aDD=DNJ;ߔk[_,+EEDG/pF=IΧfn3 -Mq4KJVѵSH$H$N9Z`tHϚZhgS`Tn絅Л]8DW"`t E] &!K z08!s\OnuNƯFy̴h6 (ڊTr\RLJT{Z7i2r]$,|T;~mrJ ?k({pJZ5{5Xnn[]Kឺue_%8$P^ 4_)HX!f**v 8;Je0"׬_%ND_aDF_9+6{Fׁv0} Z:$1Ȇq'e) ]I}>f& Y4SxnJT1 r s~u={'N}QI5Nu#n:DGQ9#l-y@.LGY_c ZOeI XNity3ݝiW%ZmA;d^D*ިjX% GvB>E eЫ-@vMtq+.J9#+I뭊W˶R˥rxofDyNd`XսQB4h^QX.(a~G+޺A2#)e"OW%rּI/FA8<^7L]9(]J[ƼFf/B*RIά`=+^ݛ8f)+6@)7U֦ѷT}#f9'B1WfR1;׭8մ:HlG[9M\ᢺ&2xYT!m&~9w,/& g-ZĆ{D "L(whh)6鲦^?S AjЊяItSCrp>Xbķw upd2elodenȠfA?:HV7udR'klztc<*˦9ׂk^12RӫqtGXlY fϟ>h='+֯R#nD*}YKez|Aj p[{95E/1hW춟o[i.Sy>/}k_@c2< eSS-= |84[d,Rl4RcVXcEY)f(^*7c=:§oP`KlBB@-`@iFU`h!y Ӧb֕gBFuh +5rB~1&vۦ غߢnV/Uܟ1.&ƞ$ tyۅⁿ]<8$8"9#}qt;OFO?6j_F,afJ9g$ռ%mFۃW c~[<Ɵ +YMܢ&i⣺(\ܣ(q`tڈmS4ewP] b!Ȳ^-IYLhq$XۘTaCF66qh@ali~2tmqE\Il|rט" fYhKjR=fw;Ed8f;+U>APBSK3#wlЄ[c%"冿ǟOPLwAӣt:a n<Iv({ꦑp,'ߡ-,;[bE 'yGKƳ=~nrT3$k(j-[|%;\c}ݏ蜓p$g{F^jhTsRՇƇT)Zr!J _ղW7IhˏF3h$*p%!C4!6SƱK?ڝnpo<ok~T]<`Hjj!h]Laq~3۟@}L5鶢8.4T Lo׉8EG+ό.ax@4rcv%K*FMS])OkL DʹX>iv[![ӛNbL^f݄ nӑ8%f[ TKS}*b;[#-x~ /7;.Yw472te̋?#Lx5׌sw7r>Ed\J墕tk:8S3҄&Ic>(,cCk 5hX~bCD~g@XwzH˕3}HLPثL tUEOf.]| ҽ FlH̉y1OR;&W1SEl^ ܅o/Na#DcK~iP*hZa}~U+)қtdžd[y3kl!f|.IS5JiBޞDFzt[*5y8h3 u+WQ_4z4Ag`!) {T3'{\h6!h4& g7pqհMETyZ@:\$>zK!}K)nPq͊}7QDx|y mA C߽M)<7s2a+(sYJ6ɛE/QVa}֤1+b6s we8 :SJipqD@dm&=.Bc_O8`uL&Gپy6`,!i9Xe>HYGkdnJx=뺙hr#$W"IkPEh+&PkiFS6[Qz1X{"Q<Y u&EK12:c=΀&gnl/&~wzl؎0y+wsjq9:'gÇva T+SQ}@5dQ;@.':hTG I\"Y_-d"i`7],&:1֤GF bJ<XC`8O%Jn#Y{ _DV,CSlk undw12 Ŷkz[^ۓ<^AaRd?C "rE&|t6^>mv|!tqIr\'bb9+=a}zvKeٱQi-7̞e Wߢmȗ8 d/9t(T3P*}Zu#9/"!j *Bb)?XuT@t]~8hܲf"VʒE`iGU'.XNȶ:k ;kЗ"" PwvĪ"m#˒}Z[a-"t.B-@<LJU:rɲJˇ?۶ ژ5ٿKCp1 oi8~[?t0B{*<=0k]=I1}߹Y-2'8 Z}&}dhw * n_;6& }EAy5ڄ0en<;v|!ZɈ*6 8~WcB4u~%KHpif7uxC3SL 4I^_X1?V5Wj܍H1Ƙ89qy^{2[BEo[ 8ܦ< ?Ou'R`( eMh)Y3mR))> 15Ÿ2ˊaV:fNw1p?/oΞ MtDupբ= !1቗9_#P7&?: 6)$@.8%;\|٤9<"ة TSϰ7Wx΄/ɗkǖ$ 9:˫LdTrzEf\ L1}"+;AB*Đ9>|D~Pѕ܏q1 O*{;VE~olh2|ݸ˔q9yw =3y!ܘs thQ$>,ʣ !]s~XjTΧ4/ڦX2F,phۖ8Mj*\D+o܁=[d&_@,=P.']ʫTS[g 5wo_'h1d+73l(rܛh~b @:#9|" HwZ;u؎)s:R--pcXfg0A0kb-Z<7 2=J6il}kM)[co6_Vhryҝi )-t3E\J$29B_WwgHDΫ$8=kf  ,(nݭr&6DJ%\ b *!vy3`gQO2@94$8LaTf1pMjH _jnTݻblQP5V xiKՁY?=a@h`WTAơlǙ` ETz ~̏ЧE׋koeE A)Eu~YnVPTj'uI68Yt F su0kzS~K>p}Gvs򇬣|GG_ &_R),3i 0>kTg~,$خyc`2R)kUy޼LB̛ZP! ٟV% vhfwd %+ 5TVϡgj$1t) eH|1D0G\?eYb .D }T  :&¿l@0<1 r(u.Oedg aaFu7%uY7)/'m>x CZ̕"d;a8"PuPK5]N:$a(ny֑ l^&1eO8!/KK̏RZ"-نPd.+}}-yW ΪAEi>D kjTZ"В]M=>Up_[ؤx6ڥM7*6xCwM¬&wcv$kw/ d aƺ2ETS?=Y`@{A;IYD]ZsĦ,{΋S|9tx.)f?m"܀oK{$v0<'8\^V;V Hx( qs$BkX+A~`&v7dz~g77?WzIEy Q/L8za37/:^pA> ƋփE\bL CzAx:, R @F|6f ϾC&+ZV6!9Q=YŐqشd?;DZD;+GIல-,s.8n 2DrV8B$D[\Bm)2)۴8Ly4ڽNP "Hn1? Q)QXš rc^y(V*dQqY1^H{. 9e!:6%cp1de%'X.u|20/sJua=N^ϢDRH)\b-QNneTQ|EVvL՚b?,&,6x[9LӒ$s|@ڶdzzCkA)W|25jrؿ}!-%gTBCϾF7 o'|c`CD$AӊPd~:Mv)b᫴= KVi9+ T0 (t}Z*sQ kcU@F,$[ rf!kpI!,ӼE?釞'+mD:aۉkli%R>г5 RM1! gs=l4*b~H໱b!$C3D}_v犱DPBbR_$:RZr~ƨP`YnO nyg YH+F'l$ n℀M?SÝs ]6`1ǦڮJvO)jDA($BYÜҼ/qVSꧠ~Ш3,&nP7̩{s3E¿IB10#r{۹ e=&n.ɇ.k͌ 1y;7!ž+qmJw6_vdQ9['qv֒F(/џşuزs*K6QYd-!p&K+P? sʣqxj3sPȔQA WR'*L{b3Oi1\ jhYۚg`٭qEndx$x4" 5`ǧj p$6r<@p\~j-I.@zi7 e?zWEHo0<ՔuTz5SX?쁤/P+MHƈ2•oGpeFIOyNeRWb9["&F-i=]6jVݫ/rX~FVRɀIl3iSFI Xeݻɽ7>8WKS{AδlqUWOVɧ&sM+-|0鍡~}Pװ"|Яx$٦6-9l4GMLQJե/cϴ2kp4Gut!ٓڮ"y: D1qr-ݸQ] HcK+k7rvv'F=PaΦ]huDiLZ,5@1ݵ V%(M7-IØ G"Ҋ6Q8n#F#;o܋`9mC6Z+pϚY8vj_[8I.7ާ7;Co'ƿJI>4m=IKtK97A2mF B>:py -)'\p]:RD4!UpD*w0 ;l!` g`d!ĉ{<ǀ9Y1a񆜌Q.2Cfe0t<%8ȝiw"Q@Z+,{lu=[Xp0]K/dgo#j0dWSC-Qan[[P/L(+I}, "˭D8/ϧ$BTd|@|If WT'F8B ݿq BY婳q_*sg:;pQITTM/h'P71pJF ro*k.(lTf UfjyAO';;8?MhY GL beیXKE):>eIn4Q/jB/Tw}3|d [j!4ʅK4w%!+xKB%Pi"1T=*8WXkN7_>aG#>?a%5\{ $yT>*Vu`ꟾV@#MoX c,wؚ$*ˬ_o#Y"`e cf}tX/~&%y׆c7r0"OHɿ62kj:x"Qks:+?zDck>y3ǹ*MnɜPת#/xf?+ܘ]k7;}tdWGµ Mrdb(_A sҏK`9yb"c?w>X)tVp@ZpR>EysƓqWX&hwrKteQqzݰccQHZY#>`-e\᭳/@n7]'mͯB V ʀ\#C(X"8 K%h|آg1^aNJeN_hl3<˟ԗ͟$yD ӁѿveLv$TFij6 y{95Lk9nfʌjr$RwX0J*!30 |i|?>. L IXg; Ul ]Tl𢱈S|C#o K$|nc8%}P-b)B4 z3 Q s䦝i7C0X0~>cBMƞ:CƂ"w$31=v?̜r#2=t8[fqd+I@֍^wgkRs;05F?0]PŚN%lrW$PlSfWДRz dC"x5)OW]tm!H(^efohh2roEpU|JhGEJ+q(Ba;lG6{錨 ƓF-fAlH[ZRzy 2xM~U{i&[Q >e/Mwٷܦ[_|AQPT%Z0^M0vaO !I[$s?77Y^c9O[L pw&=Gr"/5]ܣ%Elbakge6v5p3ǐڶh{.(q̩̄g3" /*EҴVrWnCcά9z s)sg Oj *JzKTozՁ+03wzSax)9'B,1jXH}Pg&y%^ظL Aı=pߡN48}+ E-7J249GDž Qtf?H5zp*{|R$Ģu4=@8`$@#8]|jZ6XeH<L]2o7߫B0vey|:%{[j-꫿TX%#B VWݯ/YwՉE hs绚 W;+ (GR v]"eۉf[)qr|EڦĀaBB@+k*TᔍV^Z|bo["2}͟$EQW>x\p؃68zKG3{aR(uZ)Og?ˈ]=$.| 7Ã9*=9&zZcJQc?FNUSYvOk@l!kKq5OVuy? 'MmfKN-Y&b;LG4 LWb=6e~@ߵnwZq_9 StuhGm65!g 8yXDZGy..wk`Lq2SR ͚Qc3`ޥcy5 ǸW"^2R@}(,-<[v[i݁!ټs%ZXPxԱf/x~}#びn>w8˱_g浥r1|tЎrv%{#z1?=R q!I|5eNX-*Iiyׄ3;hQ 9t4 V Q}@Y>S ]gLmٙ>&UՔBI>ӌi hN+*P5n"c6ϙ0*QY,sI♊e5UPgz]XcyqIAf-q2U=&mzYe8Mo]KabIλjG&Nl?$"|Yuu'"AiK_HC+W? %@z]rUQobZ̏xudX@TdqK>J=tk`Й$o |{ Ap KVL p-'şc/d>*MRQJՋrx4 XM:ߵ@Kd{9@=qs g^oR5f@gHmE3z+ 8Nӑ h+o3座quIn8%.iv/Rs?jD=JL07d ƏLn.tyk0Ύ2E 3z)˯GI'>Ѓ(dua ڌ+"/ ` #=q0қ:ٸCӪU/u1Ěm$\6 ލz.uDplva*\Ÿ'n8F`šR9OJ3حBb;4$D )JΘE1b j \a3́x_"I(Ex3p0і)P]jBEFeW׮x߸}62PK9`cSMaWjM>-D`/Iq=*,s 7xM;q`5dƗT"Tmr[S~pe-sp~يt BC8&6G}G!lGSCH|> ѕ =((>c_5`clDp=&cv&8K)/  SmdiDK Ѱ4+k8\r s􄶉_LtƸp<OG2и:fڲstvѨcXbT/ٛ6DwDŲHӔB^R>r3=EV8tSw 3D!崧nL QIKH^*VqmrLAC RxPїCkh2A1繄G .NWu$[; -0Oc/&KVK٧'^2PQ)(GF-}5E7,2. Z_.0ʝ݉s0JZ!an5M Υoh>!"5X"PT.i+7CrlZԢDe`WF*kڎ ERWO)*`Q䳻3MV80 )ڑ#Zq}c(0PXlerdA-0a+~$g'@A[ |3֛'S-Kxn$u#3ܱ5NNRL _PG{5`}%kscB,Ea-{Q FzDU Xz˦ՐiJ—'14%ԞCm 2F.PwoO@ h?UI ?:>x =įhtZkH8M&mR)!e΀ւWZsu80^qP.2=qF|X(gq @Ԋ1bs:pד7,1Ɯ`4P_,Џj8lf&A>VPьX5$wOhcA>_Qg]۳O  4!/W(I8Yޗѥ";_. nhئ+9s2h߲'~'H႕L cdL;A&&=e%`Fǫa=NU ̳Ù< 5RuMM(`&,}w;<:QГuFCQ}gF…tv9R#O zyx2kϕƆs-J:u ^,dWeeG{ \#y!ϕ{Z5y|Tm#/ l>ß3媮mH~V83 '1i|esQD~DyAg{NVy+Zn^h*VY2>6uR2R Z?e!,$bCB._Mn@wXHŎRy\#9儓EYz˚7O Tsh`jz,AC [~hpWę Vmj%E/:YQ85 CnCoaz:}3MϋP5^7@CTO2!u^ǑB~SlN.;8u A}r:5U|Qkp9;(5Pzy.>/J5OcE-k!ws^~'ҡslQ%QSȚRni` uAc!}VȒp&8TT0! b (ǍBl r wh]~!e n;V&kSo7_!Bd|BN3 +]97{G>_JbzP8HßpOiZl@jѝ?AXK9hWݬYްRbeAE.d U5c g֡_!'dod*37s;<1^wlöМ v&C[MFz?Ҍ,j@/_AyRK Y5>Ĺ fZ#ͱ.tx4̽ߣ}rW*DD^%GLJtQ+\v|q .mAq 6hr7 V,ߺ_caBH XH,Ez 3Uy4-^_)YA=ܶ/YYYL>`U*iqH$ PtaWj= 5S܃^D㝒Cyǰ?qF$ă'5`hW»OQJG;J|%= P$kko @JiS^YQ\U3?S^aZtxIigP47:F4W]~A{[Gtv{f:  ,:;A'x6ڕ9DOy7 Uҡ`a]c@.]ew~GeH*⬩R^}ћR !_9X~ '!Z~w/M0[6fIP!;R= Hmëӛ).f(v)v sysxnv&J$Znw×d CL1$;Xj'Q* - e>yo 8#5I.=5X;A&c >*1FDZ,'/BJȾk!\w[-yz&oyG\`޷18=mĴ*(Q޵z5<{z/6 ]Ӧv 7hL&>}ϫ#CeGx_;j]4Z SmٟYk0cul5gGY)2ĎX%ڮV)?B]3[ *})ѥ8GFƅV6w88^Azw)ƒx|+_zH&ɌV9 #'2 jn|bگ* k]-|9ԳvՙaU'+pUi .siXP)`O@:w 9k]x<}V錗l&@Z)@͐}6ʃYVUJk) / )IhD'O!Y9ZyH+n T3=*Ρ }E7|l6H*-x~( q̮"ѸN_.?rm58D_O;imvF&߃un+Ga̋Uƍ/#9u&6֐oc H%!f}iVTO_HS2ӎg*m\uc&;áE+[T5# PO惡9rT8a7栱k"|`>70w+%#qFyù~ b 2f:Q/ObgOFS >؛EھnX]MniPdEctD !ot5noBcƈ=d?ʓzvj1v2ZKPp+c@I&~ 79+}zUt|B܏k ޢWx12a!&QIu<9ّ9W~9CxުiV?.ھ9۫Ft)bD3:ꄚ} 8X i=rμ*F=9R/Oxnna 0=8P.?=-wfD3]#Dq$Bgˌ\V, jAA YsIUv'.J&jTrIg&\2^Hd6X |v}d1{PﳕB.( C[y~*qȾ6asj&MEN0lVYI(U^iLNcMy;Tǔקa^ŭj?3K7YQ#sʹ.Ddhm@m(kp\ݪ#TW&S.R蕤{YF hG_2\K{;muUdCQM LHS]x@@:XO/Fz=lI fcԍZ暗ؐg|IG-(P QNaMX^E)+"w*@ ]fy4hqPl]&%cpYgVqmn bBL7C)ZʨQ\$CmO'g ,'yL* w#)ae[&)A Op Jdilm*mP<4JKk ܧzGC XD˅,M[,w<ܦf"XiqG;6fѤ"QG[Po΁?PSs 2NCe,|dO @tu3M4_dqMX|/VYTA;Ly@#ֆ%zRĨ f|(O"tuT0=Îᑍ0'٣ d2n7U4dͫĜ%XsYr:bLYzv8}q]¡>%'{2G!u "U X QoX-{hM`H*Qwd+].t7-wi8m h) -ja+H4h>1:p5a$R"뙮'V9@q'ݴSYo'Xzn#퐷d6([ Mp?lc=턁RyKMaw<^\VD 1C4֪Ttԣ3&(16.E@6)Rܻfzdgr;/8MBV'ho{}){3N6{@_ )=]g/r3x21(,.ƫ;_Y'~dT(8l8]b^1י7[:'?wJ){\-29c@ ]f3YzCCpl%DT,֭#QWiD=#AK s#ҴBu^eʚՉ*Q>Y'|SFbhk|p'V?@343t&EBXz V$OtڳIu61.!eaScEC uHwT+ciRjoX_qxWCߠ՜lJ$V}[guÐ#Mcˆ\w! rWq.H|PQ E5gN>,ۼxU)-C}!n>Z\jԀe¤t4_9í?mD谨9}4U/j##p@kԈ6"PYzJ>h6f>͆F-)1gc[REtU8g|X D"=jb3Z;.qÖmD'+a.~+ɰ/ӯ, ]Z-)Լ!pHMs_,P\⎚iwDV+CS+Vq/ǫ֗~{"*5>RfUE:tFL@|с6LҖhy0_AO/|`9xFM0HcƠEz^7A13ٮѪX+qS@̶WP͑z:A됄& hlP˓dnD=ʉl>@A)pMڢIA {ReP?k_ hyxa4@VXa}/g' ?&M^|k=wAd,nď\K>S(bƄc^j !Ω6tC@TvRriۄr%ÓG?㝞eMZx r3=U o=9>={c2ߝÁ\zxÆpz͌9gO}6ѼHsYMuخddj"(}>@D.Wi;O{0I’uh_3>d`YǛ*b+V_ryQۜ!]bQnRzbFbFm&QA>\n-f\ !@%j/f}yRryOמ a`TEA$+"(Q-eS4m8X.]g=JYl#u]ݮ]VtmmX]Y7be C; 0a1$) .B3-ֶ  ֏K:"ŻNZ¨(F_}BST pnR SZ]=aN`QYP Sn4E%FVbϓ19^R4\ɹ؂Oh Y&eۘY)Rk4 UHGQU\ 1n΃9KU75趔93d+y,K9궒$!mΊZLJST ._= M,q[ǕEqb@3Vܤf@ d`*iiy}cl,ٜqB@Ϲ<|%S#gTmc̼sp*@M-E2+?#bS덼{#7kK|R{yk'SΦB-%aE=lSP"ʀ_ǣo D^O&(>஧jYK#PUD}]e2Y& 9gԟivd9v*JPP2y VL3?~~bG%ͅeve \9Ɏ4QQm/Ṹx ^tRPdx{PwMUcx:J AD9CSЕͿDWk]Q.=@4' 8nA?Hba9௲# w. HÞvA=Glsف/HU%Mb0?$;'JyKD~"s^Ȕ98sρ]Wٖ'sA$#I\T3֛S4f^@#RуJiSƍOX5OXǥսF) tt`-]RY6_T8iIvQ 8@q`u( t)p6)n7bHB8-6pLJÚ\4eA`2 h_I6ў.{+%9^R`u TQ0<&R2 qӂv̊1uϐTE τBFx鄶j KiB 0%F[mk߬8!:`0 wqh/,ŬOIT2& GvMfsK5 n}&$~C>5v@X:P ^A"?iݩ΋BSw щ4A(Hҏ38 ѨB'g&%Y`w [ : 8{o.whȮR lE6l" o2%&j뜔i#nO=#J^Rµe-IpJ,4?C6HtUhy/6>hU2ڦJkw 24PF5C9g@0::ؒMUq\^A^iorUJ0<~CK+(oxVo!Ŧf@jpFl&NO+D̍->u0|<71pg.ɴU$(re,7vs/ZM߉j#Sd;>5|߾3lNՌCr~Qddn *H](6YځdJ "XaU{pKU >ֳO:u%_Š|9t)@vZy.Bqfy]NJ/"NC9J(- rX2m+黮 |j>2@tq=E~.>+u˱}')_f{׮|+˶O>X;8'qc06/5J YZ$T* ;1qռ#T/)#1Ev_1g6+L0x = Q@S÷%P&)5& [y#?z] P~1Ǖr ;7.(S ANϾԐ@oVmoŦ"uy=m-GtOW8fU=PG:*p$?9fFPuםT}ZCjAy=BaRr0yw?R+eum kN$)e5> l+$ҥ"MuaҨM]#ӧʨᾂUT+J]z*>)ux.I.I}0> i,kUzc<H!3jW U魷8RѺ3Fb1y#-!aP ,C3,}hvr󡞲-Oefί&MD`R݂\D 516I9nraLW|(5{"(jˢIg'ztjz7+?Gf5-@j4WO* [ F8gHcT[L5i us)+H>[+e62:i_bv7"oԪyĿ@Sk[ {5";w?%C봏HY1.zcNcW5Q&fۇ$NN eϗ^](` j"CW[,C'iGO~Ŀf=K5gb}Wda> PM>tZ %ƴ~ T3Y6800u#-}@KxWEM Vhhx tt2pi'=X@`ڗec4a,OT v8h~헿v7rgLU" 6żVb M%p~l"毆%MѪ=mLusW<2@dBC"$e @L!wk\D1^:m84< ]U[d{Qt v $y] 5r"{ H1I8! {:FpLsŧ~,Z _'|*zKPE.#rLjמϻ䫎 (gdSO=G~}hD\m'NTw||M QD>rj1SBl]d썶tF6ə]$|}vG~$o$. ;/ rZDX=bֻU{駋"QO#f5G( 'r$+5$uhu/*="5V?Ň*x5bDž7=`FJv[[b&2;| AEP5e0Ql,[x} Y%.&2Qazj*ߪ l:vo(tu?P*Z 2\%2a6"-Puf?l!xTkgm1vliDǵ$(g4x6>C-] hg 2<0 נ,gT웍ZO 91 ߠSB9C]^1$or g˻@ЧNDdohKbz3ӯmFAm6nSclնOÚc$_j\aشV( /5w H7jezDHPi jrX^o.)e <[,@rAr,A{ -1/STPu`-tkha:ʌE,C`o+8y(8H0-I豪^͉'wFc'5l7$A5l!:L./ɤ9ܩViVO8D{ʖ{K~>J<4.$!'3%5뵔`u\]!"hWkHm7%- a\q@){)!ۦ݃- ~ /I`uKf/'AAXU5O,GLo% v]yɮo~sfJ6ڤe2GJ6rV:Q16.ھmRES|X?m>˞7s!U5v6ƅ߉H-&>1D:S ?Joͅ8w=r>Ňg1=V #onp&QUܯ{ڢ"wG^$w)xsF ۓ;9i]T#8΃ł:"-}Ҏfr1fpGv~q@,*qD 8k0x$_1~Q5ِ^qqDL.ò%w:?n:Ps_gN`X?^_ O52tK/Epz}ifR۴!gD!pIY-lծ)K^-we~EvPGDZs: EdRGFIb6$(dvUaIfCx)Tcg(ho>L\un)w˷P|RQO v<ǽ,E%X!bSc#@ ͑8Ԓ2g2xhN+ lHt/hZ{OA4E~T6C?` t_swHEDqhJUD*)%*=-%/Ի:Z&kj.zFфRU`䶏0>9.MJξq픮x yMG\ Gxm7ǹ $Z9@Tը {1ߓ_Kh ]k8 Aё6fkel¿k*Lk[˛Ќ5yRezPX7' $iy5$635vG^KMK]e⢕_* WZ[/CbI gq٦K4w7P r:AFEQAWOTaU\_"< 6 =ќ/y L"!B~Rm@yq\>h!%RwOWSzN rROer@6yk  (/x|d`~HN斴ή,^=DJfԈ5mX.5f6qV4 -1g1 zȐٞm 9ZXL8_3O'v`7`KC3%Z>eS3Y>Ÿeild:CKx\3Lj%fWI/tLQ*Z+&X9;/mt!뭵6x8(hx8Be9i& )S]rQs& XPk|ÿ]rYIym`Dܱͦ/6x|MfƈY[LJ8^')h;ྑbjQ!N:]'xcuZ)Aap*٥Nk* -8>N5/M90$L- ERe9 ^X`BbT}iM $4CwdI1a9集8&ei͑+^Q0ff^0<DZ *L x_g)油[.yh\߬{lb-#CTo!? _suREQs\lhy IB}sM޴Rz&&K~TWt|-?Gr Feb 9sMݤbrW^r&/./O%g{-ڿ?#n!q/|g^Bpd%m#HѶksY 5Ɇ'O9 24s̭g IǙ4}6M  cnUFWZ (Y_-YiGgb^¤"z1 Ӭtc"C%5yNtJ|;fZJq]AU[P'pQ${y`mnZhYF>x!Q 1o6wY,# e7ZF9&h(e*.EZaN+]l(΢1=J0 ;j4!R[sljYhƥʈ$M, ETXwӍG2BvIܳuɑD 5$'pXغ ۖI2iDu-@=ۋg KrVU[-<3g(DͬީTҵiXo*k1a=IMR2Nh4B j1^="K@Mbw}Y;ݥHTeg$}ޙ<<r_0hg"u;6>Ϝ<!$$'3/I<0 |S~Szף DlxdT_WK,fLc;i| r(K q薆MXA[8LZ-thMP-z0Mw5֗n -(9,VR3[85=\p O$>K#U5HW[ 3ꛍ,Vr"$m-e^2rwK2odW) 9̤5*XqV=l0aw;+6zY͕`>etC~trG-~ gea^?wu;!~N`C׼XJuU:̱;!#e9_Mf6 mac^M,}TrO)TyJ:u/tP} H‚9?k+sGhkhK1TBЉ'/7 (#ޑ&PAw Ƌ10^Ij:DѵJ1)s,*p; H|Hd"-25D1:FY9+U=091Ej! .MX3 CJ(0 x}xAm_N@PHT(~ X=av9u]Yq_aրiP ֈ8imPs _kAj@#{irGݪM})uly: m~ fhg7Ig4. 14xEYve`r~TD!GmΨUGW1:T*(m8Fa: [2l^"crVn9ФFp 3;n.zbcrTE7? . ck]&ȑA$wy%}D;|:Qٞ&0<V3!>dڷ9F/s`"6~MZ@ ,!bAO8vC0*TQi],:*㜏F]yľ: IEǖSAL,zB뷞Zפd|m 6;)7B[Ms_yxKSKuyf +6rFSu܁9>;Cl4ޯ"vwݣW#v%컮϶+u!> FXi`[v/(7%w*go䬜SQcCH +> pK7 4[KDx07W2ؽJ||di_mDFf jCMIff}'"udAZ 6 $i|fQ =dU{ eQɯ4UC ߹1)^-5#BRҐH+Mt;dMw5P1R%A:̚>r]":O9HKY/ԏ4C*pe+IQ HdZyHO8jԙFi4XBoH-[BO>-Ix9 QYpѢ!0 ]& C /D"kba$*밅1GJKfm)P.@`Rv!z?7 0\4#ʔXSd;6"lHRqJ5O(;-ν:ȷmb4'QvI`it7CG2JQ%Í{o1$yʉ`=gLQ٥\q zud9TwΗW[3~} e+bY̆`2Jx7=R5|HRߔO~N!u$8TgdaT)GtubIko%G>xWNF.1h)H5~d2HDgWa< ) ^2<ì۷meǻax\ -, ( ?.pNǾ`JDH=x﫯Qru} 5lg۔a q*m!#ll'轚?&˕~e aD%K.iyKnRJ M}@t?[@ XF! t:0bKىO+U/T9-wX1ռ"<a˥ JǩLSua-I~߄/ ' V, /ў~űY#+A@ c'sOb WYh)X$! 4! $/r$QTtǴchIEh{E;#0]٥Ԝ0qmWǀDE6T:Gq+QpRh8LlK17 m(gF؜T3(vR2 nkszl=\9ama?kZ9$'.8wVyl׃cd:PAFfOOrkL;GyPܟ~ZBg@N <#ǝ^09IQ]] Bu ELGX K #pƯҧ`̖}"@W!uXȀ;Li ]V,QSi|ɫ8aC2#+gi1Ӊf8مڼ(PE1n˜9dv]Pu+-ڔW=[4kq{l?5 `oY+ۇZ`8pJ NB`o%x% f`/=J4V q zC?|L~bm>MP`N29ܸb>FВ.."mL@!Mvmg}cc *aS$E|5d\\D}3_@>;w5+Pguǯ`8/]GpyJ/[Z>D]nG͖*B/9Q87Ō_q>GL7 pĀQ;>1@ۇHnw|h)r ~]0Ӹ`:ٮ splF}i-Ɔ.\)+0s+Qa2ntu+ ~6HpBizkuj4JBYqm4Av=~jdp@Fk6*pYN](WncI$ 'Mx+OM_`5E\aJ|-:lCk4llN`֊t4Cze'__H)Ձݒ,bt n |*nuT' AfК"Aeݺ;ԡGwRFZm@O/<=ˁN/h_/[RZ.nWAR [ie iBoSǜON-&k qg6[ބn! [%=ʿI,;DnRXn46,2]!|]>E05b+& (qCO92OU/w4;)$4BFD%揻1AI0QM6v\r2638z'r*׼X^S[%-j;z|~ȞۂpxLɸիX acI [pH%:-mq.մ$+z[6zYQi1{ə{O"˹4-4;60rF#;s "W*Up}|¦Ѱ{!&S)7&$l~Rz0ք 6lʈriw3Q9ԉq='w+i=v!}ùA):xd<E[Djۗ?:ݴ*b\FE 0R3\ƽ-N&!!hi x)}Om;PDUVaH$'7-h08+(Am}@_\e~oYCOkTm RsoIҽŠ)Q9j`?=8~Ұp M>6vJ B%t)e ^Ժ:Ryg\8}_܀ͅaB!5ml۳~@ @)4YxXa0%|2/+} {i57Q" E\DHp3; 9W1[y;-\UӴ(ŭӇ $W@jyFm軺*5MRRܞS[X&w^hB|u0 bzƘ؟!M`Y6%? \lIhU= 5;Ћ1ف%*>S%m֤͋"=Nҝ/gJ&"+UuI/h(xg#ބYȩ7chL+R9Qsi馩9 *`DaAC [tCv]Y{Jf=cPvzu↦Gƛoy_i! 1лMQ )XK Оp#y0,m IduOK-c71VZK>"8, tw.$_OM -ĝ7Zò~aq"Z 8):q#J'dR,a>^ba6*T"^I_DTb%z}kL|a$5.RW\f}zBn?s,gcl2/WXRsQ'*sd?9_֏o[n^#صsl͠wPZxY)߅HyQ{&Ta9#8Qh#ktI/9v" JVm:O4CGB )%z_(Ϩd82iNDJ P{L徚3+m+xJbV)szXܚ:*#8=94:S83spyffTӬm tg9^qk)Z5bn#DYٕ( =Mm"![8NTaӵҗDl tkXP{F^Ȏ-ڢ̱uWI9C7 ax,Y)$% ic2 cl&Jnl09B4rpt戼vg(e9@Al#ghU4i3b+HBDY92:zJ=/j)rpFU ZfMiI& $X Saz"8V8N|;va8[(ϊݲ8D!B̚_7}dJ@B)5n, WB:w !@OWC˭45m+fCھ;}(gg~ U(jlS.ƂSUT=N"*SlrtAN>FCQKZث&b^DtMhs3y#H14Js]@e& {_h50􊏎]'M}_o X lhGsBB+ LSYiq١푳ץط@,jeH2-!D=H!']>ᔢGKOC]!κ3U3dy,O\bĨ#2Y?9%RE S.cMYH?=ь^Y|ȚX*UXvC7p)GiC(EMh+rKG᳘0*߇wؾHf RٸVCrIyA051rwJ'ɻrYb/AaS.#w,a>e*X㎦Q'ϳf^ҠS|/(ݖj_k*T9~|>͑Փ7Ozoyja._HL=ƈG%AIcyHqqd¤'@}$Agŝ3g[vh RBeHj$K'Io#W5r1QܻEFZ ߯a@r~CzD\xT<*ɚANJ6ۉbnRv J1:kt<9'kG1ڷT! 1(b(F,A"q )nRph).TC'Ȩ̑ C+0~t:%8R`|ݢ-q;"Oy0 w|ahAAsCwy`){\BRR_g%ɽxnb͇qPӀ:!#pW25j7mؔ@M3:xd8IƊH/mGe2۲ye hw}hwBQO'AOMWw칮J.m0^ n̘KQ$Zÿ Sh)Ώi96 x&)fxpiF)Ûg]pOߣCHGDN{xn.vY,g 3Q=bl$=LTV .`qdJU坿8d6corEU)V;%8oºbw9.|qmE%uZib2*eT)p)FTa73)muV"v3 2 R, /빅{TLŔt`EV:"3'0HGec&ilǻQ<Ńj42BZdGuAnfӪ s!̈́՜3#)Q't( ^2Ie.s8T}J|KY|0*ʮr!.4|nUqyyT=zAW}Cj=:ii1XSxX֞N4 s'u#JZaG= q.XaAѢwu_̟WGHƑZBvbMQFh^?P5F_1LcV(tJQ#{gӭٿw1d*bQc4އ %l3{=%+RA]=ߪK,Ecv؀Ikͬ&e;SalFlڹf\=+C׽!G ywC{jnL??Y"ЙlST#f\:Ǎ[FpP ""F !=\Ep'./Ϝ?9"ylj9? ]qk p䦰C?~sw~QzVbIڐ"E.HiKXCúE$sMY3عNS8zC '.w Dl=6ԡw-?&)eCTk8:O"Tِ:gLccc& +qNA$ lK_5AlZdpkMkYo5_-v&\[ޞ8 J%:|ysLHU}n,Ntp`L"pK /SrP߼X#@&뙟(74_`OmZ%1W#wۏ]a0A;mHxQ<5fyT9k5ο5=0HZ(1~<4O LG  克1 ۰V-ЛZ߼+s;A\^(Tq@;6/eXOPF]1WtAc`~a=LSǍ bf Ý ݃Cx8@HdUv<ܭ?u@v!ps*m- |!X  рb.HZS!Hĕ4쐇8kⰩ5r$V⠾R l5nK.F]Y6(* Rk>˙Љ~\^X/y) аF;J)#U4du H`;uOcU%*]ՓQȶP$/my"Vځ!|Nʶ?:IP*ki꽵/mvF6ٙ:!ffI{ キ Q;%Vz8ﴯ[jO8g#Ӊ(] *7.+i2!530뛃Hp<9ka&Y.=6z>(Q֔%ؠ&" 1ezhHl:5GJ5yEK o`&N=!)?V9J }#.%}hZ9"fhPb=75Y8p(`fl?\^[uE3xM 6k4S9JpGjJ+ 7"ɺC:۞9;>5nfaͼS'pV0yW\xTNC'z*?YSGk0HdF{" P*an~9SU7HRv>*ʇ끉J8n9 r[iEXaxEW\_*]vPFrΝõsuPSA&UY B8rm񺣼{/pB(iQ,Z %xSi_|41 (5qWo|0m4_ךtk$9Ul0z DQr%ctVj-zqUK<.3CL#/yT'RzF%Yk&1;oM86bHZvwhl:a{]]62 L'ZGeC&_DIDx{؟%z<@\^`AAkx{* 4lg=ҹ5om9i[8*ϝyz49SגR-!',pXQ`zX< t;%nq%ejKs crÀ]"r9$![4t79t B ۂx" 0lĩXV2K+_ϴ @ݚ+bKq}<NU@%/ٸnzkjQfJߌQ&QA^>]K4`o!t sWsFp ~l$lg2 |ȊbǬ̹^ujR8cz-V7 -G\g P9mhy Qu|"!ϣ1"`@L[Uϋ"PyAץ3Ce;GD|a>x,G4A#iX8瓀)q9䷮[xPaZ[iE6]TikeȈOq 71,FR-WEx_VbkEmĥ GiZuCv%./T*h3;6&fN,tuƥGJɍ\n`$ͽBVg/_93u&)I5#;C&A΄[_-ZAЁ08xr%aE* 7%>.N+Pv}ݕ&VN1D>ӈ :ŠP' 7?`4ҏ ^AuF肅:gc .*/ZTXYS:V#C1\r15f(4#TzA/`]p u!%b:B?4: 3zV L=Y^9k:Il"/0؜SE͙ ^\.rH"t$Wvkr?BOT|r¡=01ADM"U:E8Jc|㻬63GL4Kߎۻ(&^ښK^e@ 5UI,ңQ62(g"6t;)^A¿{n%N]4 y^Ȗ5d8C.W4pge>X~Ӫ/,YoT_Se+C ,ꎩW_mok*VH-%FWl٣HEњk T?!]fr=MXCW^,៛PRd/ِ@-Q d֌j4-56 <\ %a[Mt38>a4#Hvs)QCvKnUP :PvG.6Hm,yiS5Y5k% 0uzd1~v5x}.D" ݝ,q?%%6 N7&5ga1@|8z' |X4Ǥڗ~M9T;M= ȼө% |.0>N Ã-8M?tNv&e+DRWmX7%0BQ9UćF Kd']tmי΁vаcTC爚ʿ ] $Ւ>콛0d]Ǡ=,B8-4 gq;[ɏJ%"؏HPi<뻯!I>(Rcmݒ-dV0{QDv_$ŐVx`5]2Kd}zs&WZR]G8UQy3P&bRzb9\(LZ\{ZE׶p$}Q\n5l%/'f X%\0_ub^їr1u"[U|;~ظ>On E\)w\yj0`V2L:!I6&v/XԎaG^VA#cߢIByzy?HnPN%"с\!c}80iǧX#AA ?}i=s*jc[B}@J%k-69upʱbMH3kWIPqjVTGnpdhqO1߮F=7?%A.a^aJ<g/ޅ'og({-l)SMbh{^cHYTH ~o;j]W[ث(ʊcjG9A-W 2Ńvsf5uo@==<$Q(Mm m7Dm|vL4sd+~D jlUxmLD\ʬ@ D% `tPTW 2l۫|8xV>?25@y3 /T;jk/9n׺י 1ޤ{YC6sHq 7;' @^b$4.O#cPBT}@'P,jkC~_{TF.nyOސVaF.PWq6F-QYڅ=CV$ )#\LJOUDPX\* sTnq +d5Tlb6cZM=~tG{iRESlНn~h;Z—z Ү;] ͍͗l_Y_8_V(¶ ~{8?UaC2:Q\![+Wo@!x=RLy(y>WS'pTpsh Nv5Y9M?BFh =э|xyKPb]*xg08,T B:xi(x/)t3ܨ]̡!\7PԻdMU컄=J^=kG6NN%md%PZ~ OXC“n[Gd@|wDEE~`XsC*3ܔ.&AR'G؉.{"4l!(8z&𜠱vDejcn\k˩hҎG/XПhPE.x*cP=@kzBȇƦThnFh#MS8#"T'%u}xQXų,DLM/7Z4)r[Q.E;{;pGMZxʴ5;h X6+>D7^{p$  R1#Ѵ(R:~؁j4SPeJυ3x=MZ\uuejFe|G8ٮ\b*:oK/8uJj e.nöڤF]#w]=x +7/ '|ܔ:8dr, ^IVrYC>%s g&MgY;"#%ұd/5h$,Gq|%}~\7VJX@-4+TŠ;FH DX[C Y"RC@Gb?6w^s#9o"^Qk%oՋP')?' п{R<{lWYqX0B n%˟v%о L^]n14ٌb#k3@ohmG &+6x'M>Ogq Gru (}V^q;7J6@Kp6Nψ'$Buscw@nPTd_6)nï1_i:T"^HoM7 FA1Thځ*X:WssɻsV{0!eavϭ5_> 7Gx1')"E)gQ/n%~2уXOԔ2#9ɻcz$F:ẹUCqꜛQRN}.w("J*.LO62-Sp3qda̗m,ƚo׼}+)˖#^&Fαu:Y]₊y)Ꚓ܏/ZׂQϼ$4ZV|Ց}mw.ЧC(9.DX`6j Sʠ$8.U`گZ8d -GeIZ5yo-ӁDt:VB&u7}B&^z2`(L39ZtV)Vi`z.7N,̬1SnDg /eW&%_ҾVMe]% vu32C6Vʢ .N1sj:m5&/V%&KoIݤ Ofdj#s* ^) >~5R;}) PRhɇȉf,Dm*<9"kerk~! Xg "`hiXTPZV7 W Z2*:sje MZSp, vsz\=f4ub@X=^>)DЯ߀l@xʾ`eƕaF-LdxI _صEbXSc#D,@JP[xXqz!(m3&Q ͘<){P\+)X9ffs,3×lcz,xCĴm8e:~\g[y kx E^LJ8+~i'. sr01W$sta :I%TE}27N[~c%e-n[dsr(ۂm;ȅOj-^a>q^oSfV\>UGPf%yjI}6;췔wS;|5b;j!qP+b FrL*^{d;'0.GgXMn/xhM1IC/~SC@[};L<6̹0Su3N=1|T`w) S/Ɂ~ܓzX{%[.S Ynn7o.A隖$gV[uRYz_WZ Ə#rGuG $; .9K(@1SޭOU {SoMv-Eo )^ߴ@B[s!QK2!}[zQ5NY½2x$T tHV~]l~:HlPVZ)Yq60XV.ҥg{(&@D&j,ik-WFt^R jw]Y<L_%?g&(ߡN Ea&n}6Tr÷%tY[Q(9]lPLc?'YzGY-/ъC?L: 8̹_<[kwPQve M oה?~u/W.G6`:!REf .ƺ +ov.i@OV $z3ܷsUT2G^EotЭ9il%^gu`K)d^eJ{9IA))S!%&JշY%р5CN*BVJ`g#Eݞ+Z~BQF6EI־i)֗YSm=0kίA8-sאD=22K.O,t$1<((Fx_<)ōc-+|-@D0hBH^GSsLsy l1A]΢+:Jp}38]Ñ2.ێ\lo۰gW+X$ X?*S#5*9^NvM+zGHQ$љm2չP1ߏr:e?m 8:g=N0'h{\N!HL8 B^. Z{`Z=qAy-}CIG0&'d5C}`0qz4!~?8p;?9 xy͘|ƭ68bi!UUӯ'l94^tL:*xNl.f!tNb J灥~H%MƱ*Sz qM+$ggD;yiJ$ 30?q}Oì$߳AM6''w+CI t3qh P'e@%;HTkyR(DCJjzZ.rT?ayGbo#$mSw sRRs& ZU:n:]!sn32n!%]k.9-ւþ.5)2阄ܠe6PKAQں $uH<º<3w@:LN$Ġ3!}yZA۱~ VꕲU@>UIX+$P:hb4Y 1y 4۲'%&`?xM8fQQs랞RR Y(b o >5Somͤfn63 #xb< y@M2v+dhؑbU } X r:cjTy2Sa390KI>{塳1=1cĩWWe4(a[LxdN/l$2h >bWq$ui]z+$l#ajA/i0CXVKlpK۹Qb2R\ahDt %Z?j3-gB}k5ZJ&D:ܥyn:bQu R5Lu`Y<=&\9p`n/3(Es*>Hw TJӮrKhA߸W &eŎ,?;u<}$"Rx gYyܿ l|;eʊYxv HzuĻm+z;G=$Rh%x#{!r7yDǠkVEuiT"5ŠDe -3 ,nz!(vŨuhJ$%dgѓ+z4a6׎n*'T;sz4"Y5U` #<;4fHYez\Nݳ}vnlC|K,p6&{cW+DŽ$nwe"$%I/o(-M|DLXgQK3Z?d\37k rܫG/7Q 8| @@|6_u,ҟx[)ΉVzkb⹃̻_p7дEKY' YSSUa0X1Vd~):BcIHzI%]8fqy6NׂQ8q%uWqaAB~Fii{od 9=LT1XR&Fo#5HF—=sjxm;B"]J3Q Ba3D@&/;ʝ^y_H>jh*{QSx&YMNwlZRI ]9 *u/IND\#g )(O}qg'c*h\^5j]X5Rͱ}n(ﯺ͟K-?TCTm5P;NE -Anؼ_8rK? x]MD̂ m rºAڀ@7eW|稦^$Ma܍gR'pd48?=EOl:F*lj6ՐP>քsaUu~z>GWi\<Ɋܵm>>H! ٸ+N\3xO.XۦߤRoR$ w+\mz6{߭^-Z7@Š.=pJ. hbm<whͰGL4GǬϺuŒTT`?{ 5^yMNjK+^j6GqCăݴ3Lq0.PpR L~KnLQ.Ε%uctr~߸ yqG F<.7ymaG!WWGEȭ€Qz?еUU+_]1LK 1 E"VSAB]N{ )B;:k!WoKO¨7C<$ ".+TO3+£p(='O^YNxYeWD|P7I5y!WUcs.ݧ+@K&/=oH?-&ھ'ơ<(K^es"ִ.Y2Tz'H)Q=]MXjiXaSvlɈ6v4Sn3rf=t aJ橇ʫ^}d!_Q'v1e @|f<dv2,=L*FD3?ܸz#M;{[G;$s1̓7aaCy#a>sN;ĄpC1i #\):7zX >%O/8^XWaһz[l_.`IUZo!T1XCpd6ydhB@#j6v{ݚDZ1\㲠<\ϥKQR(i19!#q#e:-0A0}Y<>DSGWOjQJT l 8 ]chG> *k3x^}XҹqT+Ϙt; ƋBK:iuaUQ.#( ВHW:ʃNBCXV__^/?*z<7_20 z9NAHXv& wpmuۦISqA;@5;@^h1N;mjbc@`;jӺ.|RA,NGp+J* g/cR 5CذaӶռܡ(!=KeZ'ƏtcXՉL,59d0KCy!S#QfK),Rd%5CU e^82Tq ߀mH? EXv:WN?M;P6VpGv<&BNApth%+&Qx"~bu ;mJk͌[eN:?Sj"\ rE2AW js0Ǟ:nV N_lw~ZJ<"5b_&כV>.&w4>, eśtHM/B\Q2ܝT/&KB(}pIlFkۛ&1R|1C{|{ Nl{R$wdRh+s[0p#}HN}Q&[wD A2>3NЏ 9g=/3A`P&O$-Tr ꬿe.Q!6﫠1)& 顕KxlTL3HJz8ܭ.aIӋv9)Ę~ 7(zF ܡ,릔1%ETxIuo__cF!_bDHιB*b$F?j֤Lu!)'cޡ575}#zfQ86SqzM†IƆ@B&Oj7RLg6ÓW 87A0QZY0.6ƴuVIaz* q-AD'w8$t_2.$1֑ &"R6YgӅOp; ;݆nPH VhK}kw1 Dqٱ~թ [_jRHbM8#&8^ Av#RqئJ"3d\kN9vE/,s/Z+E[.밎Еu.{425mkg%?&Aq|3fP(~ODqe(2r=ƶ CqS`@ z'a$i@2"u>Z|PWͅ-UqYdKwM0oW׆;#jj K4p0?k]eP?zCP8SX0~R`3uqR0 FkT<|ZA s'i!슴ȆԀ,J֎iRn֔Zmq`ڌ`@&&[%âoic H{% zNd2%(f d~8uB  {oSR8W}:cA{@Rktʮk箟H[AW99"yhc5)!TpYlezF8+܄~,ڦk"3(r.Dde'4 ;H4&Rѽf-~oz@>F4.2^)PO,$j.HŌ*!z\ Z&Lu\É:F-P}R1ȍ4̹}iJÓ힫Z[#`+A0ͺ6a <7j:#]8>E3h46|\>g"RRh'VXh ICI?\s \w "zfwW'0J*m -iO) `Mg(.&F9w|6 :~4\E4j;HAJ(pʲk_ܣ_.㖨 sbOՠaBjhaALǮNװEnO^UpY$q",8<Q'w.,ݲ7Ef7K76M{'c" &mQyA7OfrRWEN麧ztKD>}UJRPDv+PXM :]Q-S>;%*LW4S#"*Ič`r}uH,?Hd'áhgF|.yΑޑv/^ d?(ZgBwTD vMՒ!w: AAJG\%\]uA򞡦uĄ6MZ? E9CVt]/+/{-^W[y{Nܴ8ʫhqK]|WWޖЀv92n U ’;[ X`[D x_+Iơ^i=.,8$lՌ$_u~Qoz`2 TbxIv #Fv}#GY2!KƐ$ʡ +Mkresm#xTUK>V#w>+6gC?L;֋/X 'v'ͪ"9=-Vx j˂z77W,{ <4i\?mFs"hb!\K\ ŚVkX1 ˒FKZ6d\|&،t/,_xݩ:iQ^m7[b?]oRGgZE 5ݖ7ly 4'.K[6>JQXF\4*䫚ikGcYy 0j!0%  D*isBAC*I0&y%:)6z4 .XP6B1/:-rNJqU3aVN"|ݗʘ=*3 )奡wІ0ϭMEx[+9 ;(' 8L up7^ah> ܨkR4+<5ewNkG~LaRR9襔*Pv ̬ d N'+%uVw_fN!̫FwTXK<+妿+d|e2v]Gpe[󏗐IrJCdhw-  =0&/ܞ yYB(D@IMy9]Af*j70* % Tv dN; r>`y?|#T nX dïuŲoN+sRI}/A 2\@T#Y˜G"w(7;'71; ZڋvT K`j/={ؽ=ZM6y[ogID"Ѧ>-2NTŧ㌞׊y3-ĖkNV#)b8u1s~Miglu|B)Im^_1nMրm8b`MGgIG~\ճj/}}d^0HF ZS}]gaYǺF1I؎x|RО毩~!nH;hr6Gj?lX\L$quB,SR8٢.AVy+8D}X.I8 F}|J ~S!1h)]N v{dCoFNơ Q+W!pV|ǃ+K81rw5IELhRU%!'u]jD]-j},0Jm{$ PuG ":i,^ڌŒ|傇6CXF-0IhhXy\N> C e~(Jtվ9q0I J0{͕R`!=d⦬b9tq N/m@D.$Kwȁs"3^q5OlDUn#?ZXhPl'2U/ݎQ|p3Eˇx D%'ًiݬzw"rPbH>g#n͚dcILXJMd_J-| f13@ EX.7mRQ|c+\h$ZXsɚTY-9ptq,ޠ̿3|.gvPr VNCG[ZOCh/6Ȗ΁HDxf/3elbvu>O~ZpA ok}!fnsX;ZMjFˉ;KUzBhP|p[WJg&$+疰5OāeD#x5p:2 "Xf~=BFVm\q{uw+K;9al>ouza"{G=!iz eƘH==e GYs'R25S2ȣL{vĚ)ҙQq]PRf~!tyPf6ɇ} FFY,}: Ƹ*0Q Kfs Y t0N zNP=W޲V+1&WrL7]j&{;3◺]7JrTG$r)x vHXwq(/o1s֮'<ox'6X(Fa#x#A pZe9Z4[Zq'ꔴ'$Xm%̅pމRro*-..Ŧ0t;V yk+Xsy>.Ti.wdůT]fp_DS2emWM-QI|8 z7|y+3:}HUio&s|=bNn}9˚ˆ_%}it(<':" ?C) YPa \0ՠ`] X`7KR[K|TKk2$Ur8}RlEfVpՋV>7n`(IB&r+okN["aFCGxpi{ H/ + gs!9SVCxu|*Z]Jù$eTw75.@ǁJhQW.J'~jY*B(D0qk;Ww/]Uds",/ !U[!+,[ۃId.ǏggpDrglV]yE {0lT ܬ,XT]`xi?qAJw=i^tr@Ϡ35GƮ/]+cG'4Ly` &37xP{;k$!O`qQ2 A/UKސD3_`Y`SEcM  P“9Ϗ(hihM)iBd α'9,"a[9bsi Um_"r߇,yeMs҉eMhm:Z?Q{O0r\a*.u|&Rhg*6!VOxOٍ3v^\A ?*M"  -^ފ>ݜZftKuPaW-)E"8${M 9 r<ů3#nLrE'F|YpRže4w[4:4JfM"ewJR; Z>Ab[Pl-=Y!)*1wv2IQ R(c'&2λp?m!f V%1|b*ύי,msϱM>1zA#qJQ%"# Of66XeEbJ͇LO|MZkwU?%9 vYA_h!@tK.v qvA-b,diFC~Z[D64_g 5w0)Ƌ4 e ](%1w2*HY^lVu)]E4Pz0?; J*Mvk^͟Xl|Qz`lӒ\sINu*7;dZd}l8zV$CNˣ&0^P(l6h1/ uӵ۔FI R .M\.T҆'m`c&qR\A]9ˮCYqlV{TjZ*mURa(@)HS]UaR~F@E俐@A*bqJo/M9zM3$F&sNY&Va~'Ry$}?b(*;z.R4ôeA0Y-}(r';M*X|НLx<-cYSq 9/$QPI im1I8 ` oqPȠJ[͊6,XFGe44+o!d`NnNH6;kh{Ҹw+09zΤ JJ8c#[wc29vHL|ntaKH8Ad=9|T,[wܚz˱oک "=9,|<}S:49vxmH}UYzȭ3SX8i/7ykhVH7U -}>6+3KK\܍V0zB*R+}@qٍfr% IQXL8ȓ+ddh݃G\F&6ƲB:-wշlgbȆk+5{٣ یP QCvr-d,!!@usvlM?G㩱ݧ_ :T)Xkz,zcI!VHY:X0.-7>9s #?cUJe%ʌs{)C R,G7s\s̬T_J1 5\[O"-1uqcuEW}l IѶ. |G@DĊv@ci_4k3N\#Eq{8z+/̞Ƃ\L"$NCYx; N ZD]6r$)Kq4}g]1/t{=wOn1)r_Q\MtБai_BRngWyL%1vX`AX8vN)*тhU .R ] )<|0浙P8ϒ`vMrjk`/F@tm<,Bg!qyo|8;,+:}EaynV.z  EKv( _Y֣3sZvu25"xžf ^`EN "&*ǪCm"Ԣ˾mF;ooM;~6'6PYߜ$̝9B&BEتs_6[v-rwuTo.o<"xj55FmҼ"ATLv̓Ib/\L߭f6vcKVYg3Y8롒veavl~G>[O4epV 1)wG̭X$9(P1e ǝJ@)_%ą=^$3E!U87!,>itG~pk|?]5&Q?kǙq7ц*oB|XWʐŜ'6 J>pPH.nrA~V5-I^j&XN' 4SRͫT_;fE5Lն18]^|7_0v}HBr4q4ڤMB$ѐ=z RƉ v٘kDXOco9>TjFaLwZQP=!J<*8N,x8_y)FY$?xVFm֕q;-i:.5 `%.5y N"]{ fwa"}U[efAmk)BJ 5?YS~9.70j[Lb!ngMJA?6h{JDJre+ewo&FN-wB*/!KDyr*CbλqdBw(cOqp!MUF>eςZT/seRqBn6p3ˮ ʳ|VvVէG'cD/k["-}ʱnu'+cĪ61g}iVmOjJne9uQKDML$03T[\K/`` |4K?kF'x$ J9.C]m|r17rFx\P6vd')tvRZBULUOPB*7͐Séc0!oqP 2BZdB IƐŝYSXrG2A'\﮷q} a|0HVihru#Y^cԊeaw5Z"tc[ &U*ҹ w{ jPK]UF֏UwU ,i߅CDފ\kI+t٘#H9fw<~/T>~ G^l0!޵j :32 S0=*%ߘe}8'Rv.xvZ.DzQ@,߮HwzAWm7kGV`l\E`2h moGI.ծ>~y7&WNv[BqޓZCLAY΀ L?Cݲ7>$tz IwA+;GRxm&TY緖~)hbFYmvjC;XIUW~B֥b5隲RDu*$:L]tnlT$%t3}N4C7m/Q$ 9s+rTD3\ڢK8=QH{TOu-U̐1N>$ʞ #&#} F]U~.fI1h`Ѩc)'hn㵝Z-bH]d;-n1 P\A &欁:)UFJrܴ"jqϐ6 X9[U8,wf\qAPVM/][@ʂ|!SDk>;ٗ% sB y9/(.ZB IYCl\B!'qQ;Xa+y zW#iLsҏnFepdwy0/Įnx.hjRxUZMzV> {_hZH##ry_&^g.%Sk,WOOwB +e87G%d0חN?'TExd! 4ؓPsцP3}rhf/y#dؠMA,j?"adJ˹0Ao0{-fl<ץDk%HM >L y=CاD-y;Zm8^sc4FfaTѺ&rҡ ݝ`:ABYz޸⮤71) L{hוּ2 EK=۷K,'QӂNa\Ya@OU\/vK6GyavX/qL~zbƧT1W3Cvq@acwy(zllSrZw^}|o0sLo'ZYEZ.*B1@LE SU0i]u6%͆!*V 2fqwKaZ5ɺM3J-˷an>lmU-} *K@;6q+UdN۾ņ"E~)B,\O(g,|SOR6#V*M)d8H7 :% `kT^wBvԮmyv+ڰkD{dKJƐeǗ41"+l>Zm8U V*q}?Vok]68}ŃzDRف'M2d ̶iUFeG0 eu؅;+onQbZgցQH/}==NDiW<شS߾0(=z+$ m@ !-=3Q;T˧3lcVbx72:1ХD"1}hk9&g]GEtf7';v$[lN%a0S=;uz#stW^b R hU 򱡷ciZpJ:2 wS1|9Vv{h|R)E!.dn5-? Pxy0 fO^Es0VZTgxV!+]7eiuSYnnNpj?Fp(^'3*c.OI\ʬp|cR3GFqIfTLVqjܝF5aèd:{ PTa,?FdZA~ bY5# ftc `Pq$ _D۷ JH@NP0+Cq ;Mc̓ug1ǗQskniY6/T&[XdKU&h#lWFV)_l*.|O aE zdC'0!v[qt-e?}§J7٫JA Al͛]fb>0&P8@ez$pqJ W .J3etdfVXJ(K+׷x(C:8Jwer%qP+i)8CpK~.fЗHF":8Jњtl?_LmL:}4QbB& =uЦRD llt"rsdǹ_5:G=~Z}+x(o{a!Jxէ ~'뜘75Ր*RDOjvNdPsۑrKl +E UN|{6!?*kKGfQjsaz=*u| #R?pŒoY5[vtWDt}JLV2An)/m=orGzkB걑}vwiMBǩNA>G6!xg)Ʒ' &xXd9d0]N5I}KW 5_:n$Mxm `JE=YZ%d(ҀYEw ^2-j@{zFcC:9Ŋ|It uM&S~xZ@]n/K c -2lnȈ?08 1$p[~RsN(!\&Y7) h"4'CpkT0p~$_R;'G`m2Yq>|ؒ_oLdq꘭'( +m!\ȷgpݶhX=dfOrJy+*$?_m\4,̈ڦ%ȂW$4dFv6R _;t23@rY ah0]eZ ²ӨU|| ɍCxX?۫JkαKm/On[sŷ]-?EӬ[еڧ7hMJӻ#bJ?|\_H:$8DFF@?_񞥋clKL/'ޮV6UihJ Yto*)[pZ^ޑ Ry> 9|!v?q,f4 lPZQքI<gJzyX$ZVt;,]n(j vd[7 & & m>U)u.eξ<'Ԉ,@@RҌ}ޱt3X#s߯]epҽP$4vv g+MM wܗ=tWM{~^Ȍ\͚W9_>ݖ8sb`:43,T#~KfS> h!S~jw(L mt3 ֞jO !D[TX} t5SFS6=؋s~;\9H* ~8 ID9\10;vY+W$S߁PU˺-?JNp/A]‡Grwn tZQb:۵ //XaN`ƱAtfJplQ0; m LCP櫨<,pUu vE}7]#FCè2owT |l {3̒Ip9'?LKlƵ -Zm#$Kq1"WOA*]=zD8[t *J[H-osOU7yz=ݙY.jFY'ї7hiwo٦QF%H+zOVuV!aQs.DK/3VTqX yynhrÐfnnd2C~\ExfjE@QjJm !uCj QL$ɋ çj+.ݏ vMg\F[&YB;;u6؄^lN0a4Xt |r[[.kki"ҰՆoSZOD!`9Wn*̦-vF{heHݲFDA]d%=/C7-E4HYG}DP5 󪎼 ;6ǺquҲ~ XEc2jJ.Z0E ^̷pz)|m&>6Bg(5C0ED65.N,Gw]NW^tp_ʬ%d!҉ >Yc(c2t:1ɖ ">d"Y~qbq$TW@3J׸_^;=`D].k_aw&^/fچDM~?BvFMqϊL%-Sۆp 06fhY;ND)}pY]d>B6|ڜl{J~_.^I.{l]$oP.aQ˽e~lR0(E9"Xd?zoN`$NJ|I eK;5TԄAҖ?}%^ Z&C%9)uʵ SVxH_ji8u8f-$2$ gz{(! ҕ&&(gܰ`>}!_PB땐XO6F=9}YbtFmҵ6 ,k,W3АhSK߷[=w!N@e\b2tY{)5'sG_i _I͐t;E6(UJzB<9<_)Dun @-#.G{]6xpvBf9my`1Ĺ{DbsMT]%kՉlU&C.s[U]%:.7RanqFcUg .&:ho3]Kf(XL4x'O\1"$JP\%/rvϝmq)5@KuavَoM#V{ɔUzW&]zc3Fphk R[Pnq xEp;q$5S*(*TYct>/[3d;|N pׁ[$Ae,QF`Y%i(Z =Qu47'_sg̅CJF;[RZ hr|K 80J78ЍeEA[.ɢ8pr0T=QBi o1یr#A]8e츨;xI7bRaFk>NC<2q,\+wge. }t?Хr43jBG&v0ȥaڣ8Bjkv?yi)FnX+_  /zL򩱉GȜσQwkf/Y3 @_KTWpJ㺠V3s6 AZ=*/ThĽ|*EUOBFvBȒ Єc.gT Cׄ5V9DY#*ʝg$ꛍt;u]KEys~6ᵸpl{6+/N5?6n[9bqHҕo=@bśO@Q>3SǺkE4*~UUQץiH 87&gN씎ƃ2<@h?tx ͏:lX#| "jc6|,ebQW^ r53;+i"b[mUY kRwz\lƁZ^^MIv t0^Eԯy\p~rbc.=4_̩!@r)/ˈQE&?8-wg$ ãPC/4(Vbrt0xU٢ȸP낱,q%̯9@~MB~fP:ó/V"S]t4t'Y\vgSmI52 J2Ε[DãA b9)_D8-oy) S>FobS 3UaSR*!J ̣+n)Q |!ޛ64-1%{t}xuq;+~|k4V]|EPaahaXL\oTy19IMnN0ʮ.`{}4z^ur<ɧ]Q>0ل\f@teg>-0#b'r-r,ֲWZ~M#,~ҕ{*@FQh w麲@:\q/ؓ;Ƥ".#Eǃ"ȗE2Oj_o} %Np# ~x/&ρv9C⮙Gk*?=L|qsѬfu tUS=Z߲LTɅ Z S>Ƈ:%XE62p͍MԪپ9(*X$8+=Kjlv.9k~ʺe 1aqYDԭ;>= Z+pz 8kږYt[)S!`"wCO;yϺR[IXŒx @5jgPS:P2JLt㶬|%PMIŪ&m.ӉHz%.>'3U: AsfkF 2P;=m"[|\kIwxy#"G'Hf\ߤ!& ]z{(5D&AbG~o0E lMFMwK"דhoKIODH:`^!ĔFYr~G6=eew^w|qDOm;_O6P:_SWY`m6JG(_ےْKZslV4 7~ a=k ?N'J2_.V2wiNU{1pv:oGBK/=μs%`o+N.Yw>f5QN'vnbt;`-nnNWP)0Oc49#JM0,WVN,y usz8eZULm't3#_?AԵg@8y Ø0unaSR(h" ʪ(חk # tݬQ4 G̸7Hh;#\^x6J~KfWcyoݘ;2](1TT}VD@` zU<2;u~'n]o.Etwɕ\d mؙ>\&D|KxLa7)l)N9d٭׬Q],6sC9WV]`Z=6 P,:ܔD mVV[3jEzlΘ*~%}QnQ?63!3 DHwN|\û[8J| =)X!~MyXD,e=D3*A?,ߓi1+s(*jjfhO~퍃$CC Vq[I;S1l>bl['+N. " e凳ֆ\ˑXZHRg$s=/ߕG9")eC~q*moq_ø>wj[gV>*9omvXx<P׹ hTAx, SݳPf΍V_5,RdGP?gV^H=3ܗ eyE(n AjmtJ%u#gtyoݨ|'_s}ٱ)uZ(R?ۋ&QXN/,6 ;#%0I?B9]._Zip[M=qPD).34qNO[-S<+RY)DCFe_W|#M$"$CEʐ̛= CҺgh)$Oc |HJ<$x ra>G5-6'EP>x$)FN<(Y~SBZnOPcRQB<Ͻ3B_੨`JAUQa`{2&ܚ=Int:7ԩqݸN .°nw;Z3?d֘ƕkMS%?"KƱ3ƀ[^3ȆeN%9Ě7Mï=b~;qTν.cfS^Ӷ/u;" $N"ӗ/A9Ɣps$tJI]a!. ^3"P%a^Ƭ0=#t9k$UPmٹ SgtLٲtPWbmcP7./rCEas}UL=T1wdM)VYx^[\ߑQh[6vB\ aGj, 9"TA18ʌsLT5~hu{5֝=Ud /_I5”8}15:Qױqxh%uQ9o]^r272H45M%U3ֶᔫJ^[~8;^{ᳳLrMT rP R{l|bW{wptPϤg|2/ >-ekJY3V[td]7cQT¼p{Ÿ.?$OCv}0籛dbvQya7n߉HEj@ϽQ"j%8O0ehQrpJ E郏&;Gj.-(ޫzC cFRx<{»oxoϠp Ķ:Lrퟐ $Ŝ@n"]٣4Qoܮq({(M&MA.cQve+64<@jB!f)BV%0 1E?eZ zx{(blm?9a*ض?JnQX+ԡB]pf}¶2 ҵ(E&UZz>Y$a\ l˟{f58ý5>\fP"_c_SW8wـwh_GDιgN&Y_d<\Eai>V],͏M,O$g޹RV=1A6ADb'_NsV+X:]P2K*Ū?ͅ~ʷ4՛`AG OHݝE^o`܆'t?\ ~hW4 aLh4IИDn줜*2P;`X }'B#BzfA c?ohx\÷l$}uxuZiMpkreǗ>TԳ "(yRǰNh7*eDORVB;,@4@ #z~WpfG@L`ŭ؋Ϩ$O ~&ϟLm)ƛ~e-@M,ە87Z)oz0`VMqAHet .dCCo; H$E~.iLР 19ci7dU ]upE giwZ:Rۄkb=gZSfv+GamZUXvY iu[ityߡ+f gBY^ CKnZx絀eؔ]:Oѧ92E-t6R @/Ůx\Y͎ 를5ARG}9 ^`Մ[>*gl\QdmVK)wʒPe+jԨ@|dX D TY} 2vfdڹxDvi!C=A?G\ZSY rArCo|0 |fĢ L7.|Rvc Ɣ+=.eMD984bSxҀkOTwMux bo,sVKZؔNjN婍v#K  1}jSCXcȇ@ڨMoQo U*ZE|I5(†D- ,6QM>H:ˡ.~} Nn!dTЎ% U.%׭deK`#v2ɩ?^n Pj)Y ;%rhԋmګ.pU~bdEe./J-Zzy+>:c~V6 Eѽk#|=@O~W>Ji(z>E^|~tL7t&a66%GdfNT)>ɴoXQiGQ8aiH6RzgLZ2PE*ӁTJp!&f,ޏBtQje0yk̤?>ʹF%&(vinbU!I#iMZϜ}ͮf-R@7zI9qmR'ݑLuE.xD6߆g/q.cVMjXUnQM8t"(8!GDsŦJՖҌɔUpn Zv8Yf OmvV ,nst5KTF 4tH$PS'{܆S#3۩`G,B\px5$,`T:8tlA#9͢C z1߻p/iAAkBu[#")kkLu3 a}R@nxM6ª9'pRͬ x c%J`arv!Gl 1tɭAB(eǻXP*tS9/ӂiiiU -0C|[ku4/0eĒXIrr:!D0a$hzJ5Ԏ~9-BwxU'\{ q„Vs0"Z |X *" wJ.*|1bIaμyBK"|y"*<gcm@.W" d8-Z.Jj!P6<<$ >xrIK7Q׆IT=ЀQ~i2~Rz?fZb_9N)s 93b+ /cW`6-_%2' ,9.e+xtO Cbd5#ȩ'Ymy$?d:vQgQ{{y2AI"M-[+ׂW_%!ߑ@ʵ⎴7ߣqі 20Ud{a^7CMf?Jz(U'nSu~nsa e|Q, >rq,PJ 7j|z˺\'?C|vu a&Ƿ^H+Jp ^߬òȔ$etC{ k`9HEɂ=+ BTZy?\'%D k7w (89Js? Kk(GE:xU" yUiR]՟ zرc^`^]Sw5_0b7l!y)Պ`G8ĤM`@~f֬8G=/?JѸ\q0ya|MYvP[\jj&prwRvI ުK>3:_46p o?ĺͩn ~itȥx-Jtvb{Sl#q 493AꧧDEK=At;B#54:b|i ?N_ܶn ٿ62ՠ $d&7;(ְSbh4<P٧e#Q4ZO9R%W, ۞!ooDAi:h*Ni%< y )*`v`x.0TmM;_ݳ,I-JImDa迍eq|.mf4dSF͂>< m߿'İ5sw*X^QD/0@0%d&*SqPoMHэhO$1tӳJ.؊V pS;iN? 5#o6ҐWr.񴈷Fs:NCPȮYE:J uNr|i-dޙd'mɌљx,wJa=/7Ggp ˦ hmUSY`V\55Y&a0_ݑߟ8y&L_C>鿦1oƀ l'=1ez(\3#dM`=>@* si[DXDuO:c}3^-pG¿+)N`5AgIPm!+nz豜,O 8nV% 䪮v4YJL[vO`哋pLUasIg{yPx6;׷</U9k(Q3K<PSc  j9fLѹv2a$BGR9qT|sFVSo'OIբr@O2llRC2>«joIY![o#pgoCG i)HGN9_`3"S*ce.|⽋KڶMdy|u%m"߂a+r-=)_1**W9ņ{ыI׭{}͑_ֲ3pr#;VvqڍUI #.4\n#=W׏;R0)kYP ΏA5|= #W _2RP?Ny)KVC?7E3庆.rgV,bQX!X,7/S$өXD Ȟ| /I2IMud=ޏr璗"dŁГ+ Wf(u6N{~Q@KWaeqT- ]ʬ%h ɀNDbzkd1MIbŚ}`)#!0Q r8@, EQUzP;΋~)>eŰ^O6hR:/lXĖK%(0z@7\t"gv_ ~m҉/uY,LK:#S) @iie5gh1L˫I~-k2D'hDv2jTszC|`I.= Ȳ l ѾL75h((7Eca^kׅ9Eay˾32"8XM7gş2|C z!H^%62rޖ$KVЇԼ*^FfipeI/;Ƈk$^ =_5Vp_a1g.>Y"ށR {r(q7\ك%g]P Xzxh\Սr/p!p0RO)$J&5ͪ]js@%YQ[{Z}{%ګCԅ Vn,&CZ,ʁqXEnf&S5 T"8E.};' Ok\M<˻s?_NPG?.C[65s͹hdb-%:zjXpĐ 2s3F1$~1*.+u~ ^gL#@_\N=%ͣB:wF_+(hoT;־; Swl'9mPEτ4tbL# B͖/E)-f`Uu I;ZԌk[EBZm76.[kquPP ~5VsQZ5PzZ}mAAۆͭh6`rnxRZ'f=D_""ohiGzLyyy3iGc 2i/#l\넃hrs*,fz~qMؓ?l:}iMy)y2,"r%__"C̮(Pհ.vql1Lh.FrO$kƢ)a_o2%'07'ϰqG]8`]o~%΁ { &:G7h^eSd##9m ,g ]QPn K83'0wX.se*jp[&,H*.q}OVקP2$uYÍCJؓhJOm܇z7DMΩk4̼ê ro(yyނAI©}_FȂ^!Pۣ@m>UkmEX䑚E  鎂]qs^X(pщ$tYdO[wՠYs '` ,eXW?#^N#7 +SeV9bS$֕[loÆ$tJ*>%.ped.ip W[^ ̢^ajq,:C ^^emRΨ_,gF@CҾin~t5bwڋQṊ/" s^9'Fʲ_ҙ:V{y̥[5_Yn ۫1D繾oRV% t⋼`fni$wQn2id)io(Lk7dǪ-wKչ.-{ڍIkY'LUrhR|%y ;u!tp@)Qگ5dXY:ʗj1Gk7y7ؽؔM6D~_R'19:z܅2ƓUO*VP#N[c~8_ Ѕ!$UgP{pvYGF{J>AǞ2 ) <-ٺPx`.1N81eNycFNS%}w-$l] HguvGH,}?O/u##" t0p^ FX YIϣF2K!Gjr)!2vgSD>V,T1{C=pLjuDSTFr}ǑyA"q1F7d;DVgo@`)C)}|&jj4Xԍiҕ"E, "])3kE t SR SB(cg{LjȬO }~8~R0vҜ <- <:*bITǟjCi*yi(XEx{:oy"5p0 J`t Dk#u!oh#,yE^kDÂtm=BVj Ϣm\sHDE1l˨ V&5={B{G.wcXJro-Lbc삏 3☮\6 *R9Y%x_J62:+z+N~1;9lw& #~(4Ǐ$)uF q.{eE}Up'sXj[cblE-'7x< @*z\8?RG-Uw88H'2B@r$/,x}KWp 7]pqUFG )2@?.844qY:vו椁v̖Z%^㋡~ń)`K`vIOUFٝC'dRE65`BR@QWD9hR傈[\-7 \KL}VzRc%K7F>U7Þ*w=T&.l)M,*R`c+cKo dvmӇdYs@Y/$4L~H[)<]+â%-|NN,;^uQbz&wG先h< G0(MmACLb~̙ aݪډVxK!"Lz!%gd,SJ @Q\Wl+](9!&oH(-W .|qޓSH+6!V={iuz(}+\(IREfr:+U uS5X1$/2aJzVg:PHhvo:A} 蕏pYj!uW*=ϐs9ؒ"ۺd8@دWu D3u g=ȌeTA#TR ezKUxyM. [9)pFavA芜^TRX$dk?o +(ӓkN(1=ΰ! czԁˍkyKa% u33 +&4޿yOPCUE6"p%YPbRLߪHoz_{sߡ[A'b+ϲ[o\c*DK &5j8 3ASP *˵n9S JA?n"4X!Mէ^:Az:).%~B e((a{* C!J!󸁋0]m~2r&ߌU2]1>p65 vY6n屚j4!f0ʝ_Af/ CF 4crOE%rK6V߶pKa9 ]@FfyiHݷ :pP~,B[oMqąy_Y&ɧ /[~ HX9s$@UM%}sz -12ŐkRr`yͦ(|ak65f m|m$h#ׂȫP@Z=ڟ1qt7)s*h ]V+Kǹg˽nPȆċַt ԕGvsdq-u?{x$A- UZ>˜cj6&7qП5kFyqu[8=IB.hb9Gk7Mp};2'xuѧ{_1o M캡&ꚵ8j@pg*J 画 hl@ݑsSϵ#YM L%x({p hö7ر?h ф*ׯhq)U1Ox?)LlITbuzX>paWtx@63OM31|5Ϙ[j<Bn>t|u$`RZmh5t|y],ro Y_T?R\P=$jkb}]a|=!MF93}>Zת`RlкH5Mx&oj\1+age b STTB4 )jL}e+ I+/uޗ}\oa._a7kj=uSGqM̺ɘ\ґXl$'h(Nژ٠&&t 5*I*zѢҡGxDvQ]b"{8ڥKb݅;GG> ᳏);Kf MWO}xXLhPh a4!omiX ~ , =oi<:{Bzi2Sy7c1"dL]#vϿ=ocS錩SC 6doB]rpua0?෴B\6aurnW?a9D$yS(ތMeq@I UJ &5mKF{*]YS9&3gb&Sy~-ЁX.m\,~lP@"i%;G;~ p\y1b!P4&O\<Ա[62.y'!T!/jn^77-$l5;n'iyʮ2:,rejlMߣ6%ǹC<d*+MNׁ z6Aa rsBwі90S :\1 ӬAlfhm|> Z) M(w ~Ӂ)>ƥod}FEiJ$q?k˶daÚ nmt31 LWLT3T î?TkS, {Kj\ϹU8lcl`6R_ø#*IzIh++tvKOq@*uPa>׏آn}4:^FR2 k?LGO:9ޜG@M7OT}+_:jf5}*[:5 %vWL(FPIo2&./=8B%I Ceg'[^71܊RĬdd;TN7a3kD>*gmr12[h!TL3_oSwẕJۡ3~V?TXH##*S>ó#=_L-Ip5cUи{ricTڌ9}GzU2&'1E܅ yG\4=;JTJe}IIV,V+" YWgGS(d{txOFc0&ҟ]09{Q(ջ>YJؗ Ec+oK8.HB~N89aД G F:Jw>Mu9XL aLoԂlOB(4i받Hoވ\ !aʹ4!$9hoR1lGV3[ra&MU$zI5߃A sP~UoOAV3"=$DmJSK}[NAkU8R"@m+":o} '!86@ IR!UEux )*(1<0G>76foS:3ϝI Kwr4#^_k_.f&}=~)&O:%w]v0tDh2{uloz(ᓡ *Z42ڢb/H-'5C55d}XJ8A`];YLE~ 1zC:L%R&+uOJOKI?'.0A:/Lj|:HӺ,1ÈGAn2@fh7u"3MKov:Wt[t:?=^wtJR.-x,MI@<1nO["0L&MA/Y'ZLsfa Z9;^{-O$g&*dKy]"If~dhE͘G88ÖÚ L 8GU=,F̍uMei Ƞe4g߫x(fj ) \b*(H{ZKt_x7 D@~NC,Jn8 eV2&Vl0(W1SRj[-/h+~ZPgZGO|1;-[GƉ$ n;;؀2yTnOBKk;{~ Ҡl>[Ae %Ә Xά0o['Kő*¡37O7 y5zQDMAœa'ȁԎHON:`7rCI8 e+ou7X-P;ўRԝCWZ1̑w8TB|U}zXB|;U[DWQ x!W zV9 ״}0[dviԈ]*ƎMűAZ^4@8_DqIFGȥO :SbP"R["ݤ|B-FCGHE+[QW2 C T84rvZN(Y+R |ɐffri>TukNa-P@,sR=3]hH`P_Bʼnq`ֵَED%X*(sTaiko@ru)׆&[ iGl^ 2B36MtWIM+ 4J`Wb&Ӕ!shCҼ+:c<~~}|HPXKs;1Xde9LCwÌk\E"tr v֍45{aCv0!P6K !VڐU* }$p:XbIW^RPu!g:^Ӭ B:{F=m@KF3vϋ+<%r/gN>M7-O7 \xX7eJ0}A,oL?^t9}+` vm*EJf )>*,)H mMZ1-Vu*+?VI.`xɷ/>Sݔ2bT]akerϚ܈dt|sӇg}ɗ9(p` 1YĒ0SO2]7[B t$mkT*[ 欣%5Iu9Vd .* l5Oan^l Zm|| ,撋.,߃h#S,1F <`L@t;|pj!4AB9;A·,;46AܺrC-^OTnҘ<}FqIc .x̡.K]Y]2KU軦a_w0 uXWF=u(&T.a5'Pk܏$A+qCةK3qYnFLRv_ q &$QpDRi3 u^XBT{ O{b%,-7şsʍs{՚'ًvBHLLD}'ulVXzD7%e8'SF'hԛ.*b{6%|2z.ԏ/yXQ6IsLVA.hȡK\8Æ*N!:dq5 8#=H"ÿ(ɽ8lAٰUUfRdepƊe fs %Gm0ul̳['TS+xo+EE%J:4Fn Js>a^*s-&٭bEw~ r`Ž,dϞr(sw K^̔q^JCe= bϡmC+":6D\[oif *}#CKC]>s<{4; #xhEU/d=g2a?Y?ƮZ}m&**}[Uwį#d1B;a>zI^ARf XqjJ(88,gU7z Ej> p^펞ҩ26- x:-ؔa]ZDVn)]TRw *]Svg#?X:`ToW`i_XHmp{6zK, }*~W#Wqqjaɕi$m6i`IlB|!Jk R|yұ(0n:hgڮErf?zYpX1ܷvATQ/TM2*gϦ,_;7#ܨ0 @/4僝pEN#&T0(9MR:a0Q^ mSy`.VQgOswilQaNq2VZvȣii5Sx )`lE,-wxŞbJXY4^%ȋ"RUqz?e~?*''FrEX\",PvqTaVL. ' ɾUu%:V.Iqw WRIr|R|{, ;:ytY!UAz(Qjib.1B&ua=ӝ^kT)X;X:Pqg *_ $Z0MPEmPE8D eqh8ӌڥ1'ԇ;Qr* _p9.NݢHp;?s~h\B#qI-wQH ;C)Ai!HshX/J?,ӡW~؈hCᜇ2,wh18v^,n҅(3vC z1䨨‹Z6}2!8cXY_f's`u#I-9N=!mQfq9ƍI4 ~ |4G.XZH,`By&/R +ᰑ%ay-t29cg3ޛgz ϼԴ Ώ1$-C|xR9ړhYFкK)lA}^sUjGKDJCg5L`4ٚ MZ09/ҩm֭B{&hBy> nP7ͬ([P!0^_"DQtG!zP H{H.2<_z}b6=D;ZȺ>Yp pzg4W1o0ukB/).fDrmu?%iԟ)xrjCoØq)qAjy#&Cg^$]C$˧q݄`$s<7&h"<ĊjX[s?GA<|#!C\Q_;jC8 t |; UŽe|q9R*k|t 0ᕬexVR~YF"Ƚ%pgv''{Ϊ Lr*HIIl2RLdZct]T#fy0)n`&87OPX=&-ÀòCoշz^96LwE 1u- z];Sa|!ʞJO[IO[:*"֯0MsNn a2KZ<5X35]SJF26̿I/<%5R fУW76G$bP#KgY-q V"֡?c; <#»:gV`K$QuO?Ohddt%3,:M~z( g 5I*߻\??Z(h B2irpD b=9AK$dVye-Fϙ[/* xQr}ʮ})i:S3,RS!g!{X>a#QIuX`hG]SgAjylC2>6o2hᶇR4h,=;1Wȝ Z8-$w-ɨkQ4}U퇹G<&q7F)OgJ|صe*1Xʩa8Q"̑D BǺRO~ SvxTN%&0S&!څxouQ+뙸*#XQ%:8K~ '3ID-Dǯ#vVe] 7TKf'`WtgJQD%} &9ϹӟF'NgJ5NǠo0kBq%N:2Ժ3-:9{ӥT!$[DFPM鋴I#;H6֮Uh_TڂE` _jT3ҝ]ө}yߙX'y6;_U*p7hlf`>^'hr(j{>捈F)rxU*|Kb8%!,Wݧ B$ޫ㯧[}q>~#@xeVkc)3MJ2ikT1[5XA9%^fJg1}ɺh_BRPk~</-Ξ68ys9_~?n'`&6 YSf}* q*=@ٗc`\ >BðE=7O5M݉}-缋X2q7Nv{V_ͺoPҁG*EC1&}o@C!wcNA`sQE'd}媱ۓV "h8MV61=y-.j8gKnr-]eTKVys.7 GcPh|<:/iXgv!Ա0T` ~fP|p(6ouM6盰D]zV'+36Wӂ߶V9vv;1E(n`9p;G^ Ov.` 5T4?938ɗBwt'5# g?`$Z/^z@)XR^<awKƱm5 ͼ zݷF/Eq FwHhW, ҖxNL l?w_txWwƐ_7;keC'BXccOA"Xڱ$z"X\;'ģ%DBm3)nW(-Ʀ^:i 쭴^eĦSќjF(QM?rHiI\ S|z+6{*>\x 0n,ıO_G?d e&R"BA?idw(^y~ D#Uw$x.bsҀq]^h6o]O_ vO.Et͖a]:)ꍙ~Y ~r$2Emmq鉽p $@Ǫ'˚آ|%*wJmmj~6ew8Sk ]P2xGPy$j*]#ylx<۟\$ma;1TDvI9tMji\OKE!=á8~d̴#\F-zhjz B̅Ȗ}?Ưe#)'ٞX<5%VsT_:!ۿ21#$:s&I(>bFF5o}7|R[ ~*~/sK{ k1+NoFfLO0W !2";-a(R8ɐZݾUFZҡto>аA{K-l ( V]ix=m' oG7)=c]7͌$*k,bMOC 7 mRTU^y@J3Kz ҉赙5. H|e!E3υB4A4n2~x<:c(ΪY$3ɐoxeӲm# ~ W-eb8 Rv_5pR2B#C9i#8 :7X:>(9X0@zZ.$J\zx86!zT'ƒղ`_WrLkrY5&0ed_>Ku" Aç!? C?>o'Һu c(Ꮈh+9|MuSo!uZ IݮkEqc>_`M}N'rƚaoc׹ H"LJX3EBH݉`joYow)K&=Ǚm;D]N2_kӿ _36O}m,r1oJx2 5 (*z' b^QSi/9A=۵1G= Oi~!YS ܭtk-Kd)YBJ_ gOL TzUV𳾑o$C /;FYrG( RbίdAc^T^r^5e:|&)zT,R3M* 6 =/,uEѹboػAJԹKnҴהܚIhM`ҌX\R@;$ta\>΀f6%Y9t&8 fHf~p;h|#Ps3BdVnY[ `4pUU0oܘhQL8,n}v}F o㈹ge].ңp/j=hB}<faR{u~Ç'װW: qj` qk`+ 4|+k٢9(]7#5%z3 DY`6)@7:CSG9t a˼_Uv{C\p)n$j8x+2I1.ٵINO$mc2-bb mپ&p IM^YR%@RA%i KLTk> ʒdžHDI%nMS <#tG-Sj$7㣦9 z+N@HL3ڬFRGK~a DyEׅcT8h{?{YyC'{58O[QS8>ۢKo'ߩ_ebKд~4LN= DeRD}e p"aX A̱d}[CvIc;{id@]LUTwJi[~3HcwL-p[Ǩ9`md:G7Ўi=)D`W;@I_}:1R>"zf,|@ z5Zygw:bڐ[ry43g/|'\.uiD2fm&Q7*͓)xvjE wp洄;7sJ ))`..\^30zֻ΅T`z-Od_zJΚC-b mjZt:@ P`9%q(8Pmԟn`8`[7ȩ쩶f<ۏ&L0.9Yֹ{chuHpHHxfaa+JѯJ? H f!o!CB Tf \Mig[)J"K FL/;%Gln#td_zXz.P)@gqiѱ92bjc5׀2i=!~_hw$->gD'kiV/GigrAX..ڮ;dMu 3c)9<HH&0 ALلJ(kS4Wuuh;(@Z}7}fRm0FC1N0dV8Ukz\u\0/(y7Ff6KV5l0@^'"aB1<:>\fF]۱YDՍhw%( 4PkU.1(ၤ Wۯg[WTT'"(zKNZ3Cq,Szi[A;-&yVv9G6z"yVme3 jlw@yi j* %rQty#} , ő賾OGhCqJ@4I-A뀃Z_s< 9By/kI 2('^r9d~X4c(x owpB] QQ>WcEnz½{8 Gʃl~aBGTUD~}Mq@dwsRy ^sbsV& !|{fy gVܸQ~7iWRJnw|Sօn}%ļՉA՟Α<@ڨRS"&=jH]" F9V埪_ B—m10Q#+ s2,zg*2eK|mx0pܤ;4 :oZERR>4OxA=]{:ѧ2>I2:@Nz%``ΡNZ;&ST# 1GQ(?{= }8aRR.uiӛdZY48|(ʻ# HKKgDnimC*CaYw1cA!`ܽmS$3IqF;Çt.T4*P=$d%Ȝm+SmF s>H{~V0[q2Ԝ͈ 0G^%8:)kqT7U͵+ohd=yRʄ"pUaj"atg}E|́)-m.ܓ2Lדf+"+9I 5E~"(,APA1JYm,ʺB 5`6R LJ$\w3|\̓濯&8}C]p"a#!4'z؜" ! E|MyR 1Duq)W9 ^6FRfm<&vT+ ٢91y{P:@rK>bktDk Rܶ@_%/W- 9 :Pe"SvaXlʢVY *_\- C \#(D7Wci1ivH+r=$ ^Y'Gfxy4!ŰTv- cwT]Q107wM}!aЖe2m!.1( `("M}|Dz$n0ɧ\#b-ufn^qY'$rfUPu(Z~>5g@2:*c47r2=zyHr;EtQ:{aM~]?H;Y0IʮfFWBPfMNdw?- _7嬢Ja>Sm͟ǂ8F{e&h"`NN_oSPhK8i,9mO@?5U_A_nEK}^g/$oucf+z"گ _N8iiݼd_~o(tӋZʝmPPi \|r o)j@a{JvD=!jA޵-wOx?nxDI?~롼ƨ*d|Nr '4=4ՊGj~k(QETlb2K^sQF7hPB&D~2 ]y_[t (m(~)|Ȟ^n!7IBo[2jfVhk _O*"i8RwӾǐ (%18k4ka?-߽ `:z z3mvFAsP0f ,HBނ9p{1=WFiWb1GY hGpY[nݾ3@gjSrmu-xaӾV8+,Hm: դ(UX`:E_&ʓp| g4QgB#a䭏A#@0qj^ny2Y]x&m}6-Zu%1 @0sOa~}յA*"K@d >\n+ȳBɍ>K'"sfzUf^Rp**D|-+; fh-0{(a?%OEߔG`5GxKpn9L+^CZԖTupJHٽ)^Oh[bz"j 6&F(ؒ tMYIJjS?W .V9dOFMyzMM=LMӁ0 Š 0H" I#8鰰^k4)}fGR{@5*Ń˔#Nz9Nh8yA=11ƅ9UL]kSLID{KaSk*fct^}A(''oUޡjB`sK\hcik@.^E^ݷ@UHjE{u鳅FAB𰢧Hѕ, NΦFO(x$ǃ^}r9c[t*L饑V$|2J9:k狱kS lh ~B#ܶGG% O~[΄$ g*sU RW,S܀ou16w@gv#P[K^X|w487aNaJm -XXa |-u4=$mY(BH1,gSa&]EqO>C;?3%#a#oc0ޜ0R3 #Pku/?1ɥb-*C0ic_i!PR2RYX$),YW Tzt F[__$sAmqdM̺W4G!S۶a ŎPoǝ3@O"cwZ*qJ2[;4>&r#?q\@JiTPK%hMXx+~2ʡ#X`κ}W?žf5۫s,cG@F5m?MzƗ=Zy ձ ޅ̱PL\$7xasf&6De6颡u~K8d?)5433WTMFF.e>9Y_wP~,1sѦW؏6)8sTI*6KB;Jr **P˹]>K=YD|XG':u\W"+.]i*|̊D_hJ ZA-(rFסx:Zw?O/v(X}ԇteXxefWٴk'&F/‡,ﳚn*c 4fs4Xks~Z{[ q*xި~ݦ=/&( ZݻBsq(ޚ]~("*"#[aEA,`.ȥU`mG@5f3-j<3BsIŒ+_j<Y"NߍhCgmcOr>̭^0-b0%3 CHwy' +\f>@B8|GGT䞒 ~grK_@Д2iOi/ᝦmzٰ.7t? VB߬,pO*mLHj[;4S` t;op,DDbh#1怍%yG^v\Z d)e`3;pKIY._%FCOYTNYvMK9XLEkF\^n# Lp~RΙb>2gat-+PA3Hp zX.t 6=N}ZD%wfDC3,Tlgb"-xu6xuɷƐFW4(4E66ZC?߽<sm"󀻹ߣ{ 6ۙ]Է|W `jKoXEiEB*giQEY)j,-X_I,甴lA ~S6P~5u efMI3_43Vif¥NQh6]"6e`--0A񁯾~en (˟[ۈ*(ˇ<82~A7j/bag9Q4f{ظ 7 E 3Sk=K@2ްw eHQ0\*5;xW^8aPd`W]s>+V BI/(ر4=G< 3砇sy#E @3IkFQe,9s~C??ݰ/>UG5Kr$^]f0aexV}r,X"b7.IN|zJlj *j M2]r$TT'`~Nfw~&Z/{)%zx ;.Ș*M PNMLR$- p^#0/r]:/ʣD<%62{e4Wŋޖ2+z^8ŖZY#0!86 4'M:f8jo8A }S 'fQn0VKB&BqV?kPfAN똽6Ql ^L޺Ȓ`R@ [8r*#1pnDgfZ(85˸־SDSܦ\485B'}FSHB1 "B-|T{z]()Hf4~#΂ܦC=tc^_ K]z14ճF/6i`2afSZoKC%Y'/=} (uwOW:a0=[=P!K_qO4YhY-X!8u6&\ǗdԂDxjZdNreȦR2ʭabs*9͏n2M}8@m9"=/e"+&玧٥>Cyp{6%u-#ʸ9&pgʌڜH1TTA'O;70@]㚱P: f#Bؽ+\YK ٌ7[8G9`GH=k7 =񒬄vภG:U;9<˘-<#B:|O9jHP^2('"mJ"$776o"3 {_ PᣡN쀆+Ӈ >Lvj;ψjV C4$w,c?ZmP:2b[LkBiv ?[06qܫw,hj,t8_#xzɹflmp6A(o.(ԏ>L|o26)~y!Y%s}ti+Ef>8^r ,$9/S[l#j&@Bq$σ\Aw3#ʻIa>0,dw+7%O$W9h+kX|(ChCi//"J=`ҐCr6xV\|LAE,FNkS9EJz*jIAxXQ tU 1ruiE!-H綖8.ŀ+kw nb.*w"@}j(lhVL`b9;OI<0F]Qm=cfZ?{{p-Yxsd>FBLSoUo*,D!y<[ su3ZFyZ1ed>%5u 2M a)gF!Ŵ⪕K dEM fj ÊPD+vZOK L2حb`#b*%LkNǕG9ԕix}Llz9L"JR&G/;ʖ0iyOgSKkbD8q)[>ٕ;?OLzJP赖ʟa?OlV'x+M1,KϹKzc[X޵׃1:OԖuf?#ȋAܐXȬ0d*Jb7JK AzĞ`% vAnIi;znn~죗ۜꖏ_8L \TyL^c5: z>U}TU,5;'Hx"$D+qSu1m>wOI>~P կ@I0f94 I=5Hmq.ÐDߔ܇RՏRVغf@^.̇^д9֬$H&1^ z6f#R"L7 S 6D[F6coKLGUUkT܅@gV,i[XaiAױBCdwhӎn]N;V,3(YsNwֈBɑEcƫ'ыII\~B<ݬyiNA]sʵ9iW?Lnezr${Z/% ăZugϜN=xo/Tgi44<\F%&~ f| >Qz3u eƞU%A2pv_]{50#KwgDaCI_C V!krԅ?үl"$@a$5%n`=R 73o0pN:J>gzfG ?"UmMv5BFi|84n6Z{-M-{): $?諣 aN!Bwt`Y|~Ci -Ŕ A 6\@ ˓@[BÕP/PZ5ȻHϸ/@HxY=b׀U YJKZ*~=tB!)i+~[yz5E,ΑL_p|ۉ.3yUAْ0@$:ޚrhq68foeD\璒97a͢Qh&l@urlP`{͊&xZRk]z:AKG:&vi?#hB:;mkw%8Zͱ9|c(7-/ṅ5 ֚)F}=R!"^Psڢ,Fq=ZTIhe{j`fI8Vl~y\׉" an$F0-d{G8l5ԕSA ysDJw0J W#Ͱ 7'PBdk_>_0y /<";`܋ 'r/r-2fPFQ4,VV0YETl y=݉ЈbeT)O{;%w>vMt5-⵸p^.4'Go Z[mk.DT-rڴX4:AtiIP I]z|$W-WvlPfwlwA<S3))}<˼Y6H#@0?%"יiH騾b6_/RTn:k,&dzпQhfl8xȪ U,}lϩ)-Ao\0OȋETmn]#pE1 Г V^~^ww}8Z j: P+v#yƯ]>V Mm eu.k 6MIO͢ o5:@+Ɋ1S RjҒ|uiaY;k)Iu]%7,ߏ?j|ʅ=U5 =-G X. 7un[GnA^㓑||MyGPN[1nk3ʒf=K<(ǙJfǟOc߯U$SJ6ES@e|b@ZIڔ[voos ڵ*,h~@I¦_beDEJi wx<G'^[F|ZG"苟qkSv2J@J;Ʀ-ʏXJRpkȓ@1"C{AJV$̬c$s5 ͪE2@ȥ)4)r7 ٫,ta4E0fBJp1NӈWUcK|޸Lj ܓ JL(C!9(sS-]KR6K׈"̀659| [; 0;'sT{WgU#ɮʷ`nL 8E_)ZQWG }(T%z6ґR`VT2C iMyAAxb]5YxBVXUߩFB?SV{|&y,'G]+ xjlyD7^&3C#+!*O W,). o>2y ɔDFŮYoصB/d^2`nWP"^[ew-EV鵷3ߛO{^œ{7`dv?ֳg܋:^eG%G9F9Q7hm޿mcj\M ^Zy67nS;|S[f]J0T"#ɼg"Gk85+E4顤z%v,Pnl<,f՟SmQ9c4 ,&Fj A_]|@fOl& F|^l9 d~N76I W,]S= a󅸩R (.! aR;EPtg՝2@;ҧ\awXU֑,(u&. (Ո@n,3N/zJDHA4oR}UiS.1e5F 6ofԢ nShA뻗"dq | 'd %Ny;yv_fO%r4C b2~۞W7 aΩa6Nϯ+_:bz?"u 0n'v]W[Up;X>ȣ8TzHoCjaE X7-}^zY > Ύ#Dז6#k^7HMw@? Y3]2Pǯɵ|rwe?&Xz->/xyM;~C/WD;9툛p&)_[-m" -pJ3!Ots8,y/BkXz- ˺RbfWSyB U_C]w1\2yePcOY7ۤݮ;+cL8Թd|ъnPfߖ(0PXޘsJAw}z;Y8z)OsK+8FMdD;Bs15]h'w 3kK¤G~*3C,tMU"1T̪-5(]ԦE'k ^+Bih*YN0Q(i8c}UP$ kfUK#e5$ƶh9ƽHU f9Vd 7U/x'q U9{TF+z ] JuAm h+G&wG\vAURwJz!-;` /$,~ƹ34 6=&8{rU8X9N& wʎ*KEh/elIIb-`(ak vzWwPqa|3 2^ 5|ƚ8ɷ$&=XZ!i]jWNp/Em= f9N3M6z5tM%Jxl dl~} lorh[ȰBlEG@l>#.k!c#UBrǾ:m> A%oI|قz $Iv\FLA Iz$K V9Y* D<02=9nCMI6NEl|?/ 7Vuˍ?c.ꥯtOKӜg4֤(8ѿN8:\bX&'5]AtNXG7uٸP 9Jn; 3wU9fMe[ί\mk^^{fBX)_X}$ӍK '*y;eK@l73Yq,ګ)}'Q4zRXrtr PhLG_x8ldV}lbzmcrvKi[mV4LK?ϵ+'{ڋ6j0)֔~-k :"[xV$#H} I{Qhk\$iYK $e> ϧ).ޢ ]8{ X0X>~<&oY /1yKZAR}mQ# `Ah8_L1 8O|ͩH>xxaݪ-8 ok8`|q$׈~ /q0ѽQ%Zs~ʡlz i br<`[Hj|ӣ ,0<?5c[Μ&\WL~:vX6pʘKLj,)+ ꓣG߆n8u.D:'(`ߏGP1MPŶƨt6{ʜ$DKnړrpam=2#I&c8 2'EruN.C\jN$[_)o2lvvup=TBԊtZW2ʾ!AedcR_"Ju3ڏDWI4@R?V p ;y퀳yrLx9nF<-3: ֣QLG(F ֟Nxav18I&9#cc;(=K51}y{qvT,F!>X9/!΀rhtvFX KkN`.dS}m>{^Dև\WJ;~`ivȖR&5v\lޒ$dwn/FvR=v q'%+2H g>rla18&'u`بf{<a[)a2Z݌EeCY`Tz*炈^UaiڥZkrB7A'tyޠ:f!:Gt;hB<?R.}WP!2 a޸bR])3Kk7&ыBWm[&5jm\hE5d2%(YubNoFa 2Lk# |IYiб`1namF0iYv#4QgΏӠZ1FyBa 1d.e-lgJA*G&3CJ2 :ݸNl)^1dr3i8 U3֞+i?Ǽe֞u{B(^/^ilB44-C>1UP`;Ϩt# *FVdxI^Ҁ8uҗOz«df{&+)YV`W_3v({:3s&uP 6Wҙ7Kc3]> aR⹞CyxCnT ˝Tn|O0\n1:8^i]ՎM +5y5! x&.K掛ͩ_DODDIUOE+Nr={=J-ԩ`¾[A7)(ᔧϥe&gZq'Wn>h񟰓>]j㳦?ױvڽK_3WbZUal@*MҹoL"E[!kX*2rK{b߂粸p}n\\;Ż?dd<9Ds/ZJ5 ES X7aB˿5hw5P/XT iX> AnCIʼSfJ&&x8?;OX0FJngKguv(G*7ŇNXA8>TO>KAI&"$}>4YAMjr 3;wdUu>J{ i6E>'kȆIm; pLT->"U.\)c'6VT hA":)sߜ@N'ݮkģ툞>[mN ʺ\&ۇТ P! 9;ZlMWE o* qZU)86T?f,Ehn<9{,Y%n@BԾɋClp@m6[\s}ښ4wcIlvPZ3 A^wZoF78gb2VWӕl Fً4PR#͛{Ȝchljv;MB>ύo2Sԫ쏸Tخ~[O5a y4I |DXX/801sWH\l5x>w/*=,WU.M-W}L3MĄdS,܏,sŨEy.Ҳ>gutyՈュ ^TRf1 ]z-q];>.(C4lx(ApOR,8qIA}gF}K@w^Ok,`=هEc W@J뒡$-Kf"Ug.8-tujGkeX4R3Zo9ʼnVAϠ]N+,G v~VfE4nyJ.Y'˙fK}_mO冎g!p\} ʑ+5PW[Aާ Ŝb!Pݮ)WJe_1:* 62vblz nf0< "fgǯK+CRx#|ӄ6ia1)<+ƫM l5gChOjYjL~$QR3W M+);沞2VōRN>"ӘP)gMjx7c+ a+3…T %TpA*W153e+ B{l{K+Mu2,mv+$=eO6O XB'MpxiYE0:F )4l6 2#dfɴ+QH~/4ʅ4g$ع cWAbV ˁ p)t{4O~Z=?E98{9$(´Szj6t%2qA҉bB{؏l}ӤeV[-1B%}@=bIָ݁R膍HEVmԫth.nhPzJ@+`fct2:U]QEṣ{#!@x1O!2ZYڼ9E6v(SC904?gmd2ڂe@2!yTǔ>pd`F=\ SnqΝ.Gh q CNxly8XlT9wt*)HzZQtrٵX*js\Fak%$Eu'\e=dKB`:+)rQ4SAj`VoioA*UW?uQ#YH&]T~d&~KlX )+M3~2 6C^SJ0P )wN3J7fx'e-L)Yz.qoKOL1efw%抪;[;K8n;k}H:#1k[Ns\ChBiv/eJa sTwe8H v] FZo$u6H1m wvz<ffV0:rQL#DO1['D;$Q#.B~yKF/0)IY )+f^ȴS wґ y18* wnS<ǓT}S?c-|PP ovs|vCPr(Ei:"惆H9lP)YcrQ<)>tl923o:3ߠ".oEdQ ɴ+єr'0D3GV3ve\0L: 򧣴dG aruDA(Ay5\]άV E\s *p:ߊo(-|_ O2 S  q':(9UZ2@Vbfd_4$0=ob5 U1T>^OL&f~me^::GVcrbHOJ~xf:sSʪ1Q8ԓ8yި*/B@ /&`@jcȩ*mLk°\?k7^[_- -9 A>;0HF⸞I$bs?~w>bf4ûT[mܖ#CwkAJj:l&0 C'yG8 E qw^g8ev3M{c,*mm@?{[H%ڌ) \:M>)DꈿV S= 6qh"x^>*]O3I_&Q֝KA|nzT@?ߘh1%?6S>_Dmms.W=ʐ#h,`+ZM,/7ks([:{g4) {삗9{8:1QJxphR^^>W<~ 7hvq,dY-̀le@-"$ Gk*}RdLj#WɉM}>iP ]b ^a':6*]MoKY2hLa?!c}wY(X$ >}d\Z{O*a `pTSRp9|"Me * pHNu)Y$oY >d?,#j l `[<RZJgkk+_{Ǽe{7HZjO^GG(Xoت5_T›W@fW,{%7[8DWbXVUu_K PD3d75MF{UĄ Ò$G|F, X|hyM@f+9*Ǘ}QRqA׭vz3:Uۨ_`)Xk* B`f3#sd8+7uq$aՒk-B;D El':{3t)L B)mMCJ.bx+խK1)\Ms^fpz3L뀸0jt7Ѹ_V]u^*|-UPtԨS*PvXv4A^g;7 J7w^A ґ nAۆ8*Ipr; vJGKN .:$b`W%VC•|QsWS;yOkHi`$ÙtѯyqP }(Z~n1%ҖB)'Ls_{-֪)uMK& 74ƛFS{raSӍd.Z ;>S_;uu&ߌx*W{] KT&lV, -&]KDWnF(_Щւ&h>=E 0|*>* ʙl7*2fQ#FN 4g;ضbe&YQAſIZqh{7=ObjuJ/fE>4_i {sR?\=\Z} #53!#?b1R/&J t jV T)/i=l(V1Um'*@5 aū񾾚A'`ضO~/? a̼ f[lAe?Sc1~IĴ}&ht BNT?[.k',A䪇TS$uL^}9f̸ۚa2 `|8b9b۞.2K̪GL%L aNn4yc׶rGHOgNG87Q~=g0} p/fT 6l{[8NwWBn:EJVzzYV =j܇5Pq=( `1e&#T*93+yyo(KYMiv,Q@bε;7 F<]ECj|W]Jw̉/Vq MkK%sʧM[cضɟX~DߏOEO;JsX&':=z* a>~a_-ӄwQ eLQsԧWfӷ ;mи$i[L:Ҫ&Q[W: Z]7:$gwzhjȋ{\8+eK:&90jc^ݕ d۲+C耥^|၄|ө<ьX< lg&CbK'L"ve;TK:{\M53_ߊp?`jU48q٤"#^ɌxoNߐBr+K-#'ly4.Ywh]k0#w~z 8 )NV&cYWASzmQApU?@Y{v`Io∰[ᣰm+քYpہ,0j %y>Q/A$DMI 7 txi?*8oѬHgxFM`hZѯ8GB*'y>L:IK)H(̬xx:$*PȬhy~,.'\ irVVfZ95Ӌ7$]|3'.XB9S"bD,S4fN)R /jη|?z &*=Y/*#lpd_VrMDEZJkcs?Ĺ$)|SaNH]+VFeJLS_f._@׾6θ址Yj7uV78HH6ǀ+c,wR:2O*zp 91N{P>& = Gap?#gNae -GD@uϺC|zqr E*1 ;T+ӫ+jUO^ QY#z]7I_ȩ3s {LND"GFbE"V|;r][& F.`7%gx?IzHdgv/|S aSg||(hUĥNvq?f7g|{Xo/.ȀE-UK3cJnUdze9κd"ydL+f"k 9Qk/_FS/*q6ؤ-b4E=GUړ;ZBHp3P!fɵ$]L^ݺ9+M3L|~]b.bOqN>;9ȻYĐ[Y~.2<^ԢTDGY 9#J.QĆ #-Ǖ ~ LQ0@WGҸ] K@l.sJ@Fl .'oH5kx@qpiz{[*[څLօ\yrk*+BI?QLyVLC5@r8aƞ|z}RiVa872픠c8euE"W1 d-nzҚx7Kub7goI -ptj Wಖ(o^2o$(^k-AAC.xOO$u(1o XjV> [dNZٞ,Fxc?wmY@!Gz%>'=ҿ9ۓ´k^3˼F>aۦ7Kjӳ%@Q[R1P@*u'Ks5(TIS$-+rZkF8点RKYsQx2a4ij뭊K)&c3'ӘGCZpqQΩd;g#0\s0pGy޲2nݨrr*Wӟ<6=v*`:V{mF7q~%Oá]8{\6x$U-˧V<۽D7yP?rsu[&RƮu!@c`+6YL3PO<?2L'Gt3䳵."Hޛ1U!W/"%㈴a .hF]:U90{ep<17^ *[q9Y~|ģ|8D ]u!n+.SudaY2Sג*v,ҸL7:Eǣ8Hc<(#⳦eJ}Bp얍n4y]7!v{+y_偙-=Z֧qd8>1J+ώ5=yj*8qHũhR!' VYkui5!0)ecQi`S|Iv Bbu c٧9 ]鶑Z::` mvo'^"F^/E\SEجE[/_|xxO 'sOvw_D7#I&!0CI0^V_ qR[^ɸf^g[7ō8tAś\1AӢa:3 D$msaF/?i+"@zsZl՗aN5"FV*@؋6*7f FO{I8C!n~ $ N&e=LtMk{`Iv+Rm#~*VUF]b`R g~G,F7Z/ܬ36,`u,&-,{|\0E Lj?d[DЙr0G&7}Dƴ#+iC6w ⢏{;D2\KƧϾ3LN@3OM|!H" cV"d ߀v+1  1T5i5,ϔPbHc$+xWTSa;DL{D>>N=Zy 2ZvP8i;yl'2HEǫ$:1Psue}BRF/_VHIigX(\qv9}5jL3&"cXH|QM! ߚx.^ܧ14!Or)XTM4K2@+<3~:j \ szM8t`oO0܇_3[(}yts7%olRp-b"cѾvb!q+Q7NQDC*T5u i %:V6Љ-%Q;EA?oLQ65mTq,;/l|_mע /b5`H{Ji>@4P CTH=A{,kW䈆[uSPNt1Mʵwnzb x<` [>\x!Agh} +hC s+*yJe_\m"e HM=b4< X%^<쥘Gl4*&6;lMQVDDyor ?pΨȶ|k&.(=3Uzz C:xX"q?S׷i~QB;2r0D7e2J.`dc70ZWo1hp^ 4JϏ<*dcJB4V*Kk&/eoňnA/1~lOp#H*1Bе.Ihpe٧@$*ρe\YbC.?B{T3j8*B뉪APnW"ja`/ nA8ݛ5'_SHIN`fױx\E!Fe$i-sy:2A2`L"߅O f@sɔQepЯRr@_8#c6-x XI#Sx&xfA0F?Ih{g 5w7k|@ƈt Kk*QŽ.M;%Gq٠FYhFƧy+( K BՉ"7=R16fd=qh2qлѷLݎD|r)d;C׻6. q"/L`Rgt0 [L&#[?˜䁯1)uG4| bVWH750{t*BvYNyCP+-7Nv74_QqèS\@W@䎐/ 9Mԧ:%IA*qPjy$ KSXoOΈX ]5ڶ>CHs?]'*4&ȇӣ mZ9羉\@ȳ[v"+PYM)Р/LtTLnִ[[!eYj&n %;m׆MAM= v_^Ov4&peR:I;~ 5H bF`K"4mlHUpF5 ,}lyIn:htZlRuBpjzBxTaHYN׊Zj*&i󡥕-#`TgYY&KߒsM ZS@2X{d&"UA'Rt\T`j<d6=;%tӜbqhOOs7\7ft"[gb y~mk5vի7@>£Ƚwh^3mV u~{x툺hZ0Gce@BOQ66\Ov^K// OVacI&I#1ݳAh(3r+llēd' hat$Iݚ|U` lm(@zr~VQ?efKB;o6h $nΏĊE0xߛeM5)pt#!c5E;d<1(^gomO 1s;v5u(Dz+d까jZ} ͈,85nbv*j%Z)FlπDX;[x,.Y8~1ŒxUÐ \EQ};V3^] IwNs]'=ӯ[{&{)%H届C$pv%ѧcMм  6-YQlbUk]uĆZ=jQ<󦸳S1PK}F x&,X?ik12YNgCM^[}{[=C 1$ G5`I|c}(XM J~5= He)(V]ʶ(A.mZ›4DTd"]t́&Ԡi"$a6)TDB0Y2=63g`"27')P!$+`[1jd,=}Cmn?6i݌ A0IG uR3K* W߅?>WZ4 /E_: 3%(yp&p0zDL@PI 4SJ+I=k # !gOK5>\SJq^qhfʞ|zYϵF)o`C('ddȀLQ>^ė|8I >ҵ` =gUsR2ܑy|c ]toTj/k#3_]FeǜqqAb(=n|<$Yb?ݝܔm¢+n- kUN~Ru$ vy@+0Vq\#MK}xTL.S{'-f[d{Y?XzS.*cL|C{8J<Ϙu}A+w}3<.rA tj t?cꕶӝCPĘ5+i|-N نI q7[Y7 KlJ[It -AH *΍WhBNl5$@E#c:"AK0SZ%2%c]bTe>5E&OkS(I! ßǡCŁw'K]4` XTFKE.B7}Y<~>+I+K= c (YDj!SYsTQTUQ| jځƏl)xs!: NQTjW2DA}]/,Vn\> Z Bp'B /u}; KpromZd|zlDS#됮G-0itMXϮ9 7ىJ7Id=sb5]s!oMDd+}GVfkaHqW/F$e`$$QAM3s?g鹵M.!/ ](UDO"7`W!F1QCϻ,-f? >oggS((iúlkPh꽜'cIJu]_qwQÓ2tdx4Rk&14Duʸԣ*H<zFǘwi3Z[~:txB`p!"[Ty73k,Ղ;ެዔѡR["щAX; = U6Yhuۀjʰd앬JT2ڃ3]"AQCu4[=^abz(+Lk'v%0Lqx.}j6i#Zb iZBX ,/ߋeXgjWe!N>h}V*V'U*cAb 6JzRl"cEsN(.AytO*x9|\_OZ6 @U>~kKR+Lit܁WBU9p 9]Blnly0jKl-h>z#DpY'?a|+e$Ѩ!K|~UluJv=nUmFh<_H Uo(RUxB@MyJ>mQR2ɳy~S]vA9 zɨ5Ob Z)H% 级֝\6O7d޼{EFy=$T!`3E)m=9djv#);`PEVD6e))"`;~8wP%K kk5Bznk H@an,FQfzm5R)zpGz!:.}2 % lݴ夁RJZu:½ˡJcU$BvEW3q{,ܲLhhL3ܴ_IM}J2Xɦb3 KA??: r  W-b9b ;3{m]_dKALJ\$]ADf7ʼDP.0dʑ+WI+gP>j+] biji=!z{VF7Ol_j;ae 59ujvqSyH: R _'Kʔl"ڇCӧY+Nfa0lwH@R=6${3${aPG`kr[`~fhtAF|-ilj׈WxB!v/!W-F5|NEWR" Iy 1gDE?}BipPJEVViCt#0V,yzɺnٶx:5P?Vo]YeN$=OKAy_)9ֻ5і"1ѯ1b;f44-_4ؓf22W:[Or:p:a #bќq=w(jhwQ(#Q0 06d Ū)vDdfͿ-tl( %xd~]ii&ӨbF ?=j>rF=dF .q[Ooy6 9X 0f/n{=^;D!LpXwsUdM P=̵]ϻdyȗ{z#{?!h]旆\"UFFfDy_Ovk1JY]z2U"^B[6"# #lm 1ל* 8&M`j^. SZ+tTr>_۟:dͰpJGXH0%fDQX-=,xL)e~Lg-uwL *b #8%sz_4|h_UdR!$T:;0n2nWv$32RIw܍ yl DJv%0A.F]ɓNK e!T" %ۊł֓0C``Z-]15铗|i5`1W'PesNa9 pUhDIn(| ~|uT 8kӤ$(VRv̪?Cv2tLz}PqIٚУsaسŰbP^5~xu> d3ނ3a'6ȈMXvi9;^g9D !?Lj/ÛU!tj_b>/~ (=dѨ5ETp؂-;XQ9}AI?' I~4a{~9i^$%@݅3wkdOR 2~uc \nHgLng'6\wAO9_&%*{ЁM5|D[CXrIU:2≕fcQdZ?rQ7AzaSG+X!gj3 4z U3!HZ~l!c+kyZû1I=J$LJ7?ocL)^~,gcVf"J2?{^^)t JۻBw7Is_vS[!2o׶hA73k光 cP3r)YBRgJ๸: Lj 1sۃYuJ됝lVe뇅ͶՄ͇樫Jqh6"^]ɫ|4<81 !I)$bK D^F8lܐ{[kdAŏ1 ۤLmױCv3ƒ^[mTIi|dɟXLKkjWJ$:u1YGRx׬5bc^Wr N!?ƈͱp &1!ܶRRͶyk9N9ga}Sh Iu7q- 'ةKd3 eqlF댤H|C R?W &WA{y)6-k@òKH ;M~e򚆼wk:~- 5@Qh.ćQ{Wc_ G'mGmI R(KbtpTo^ `ޒ>'e}6(@i* X/^'F 1կVd`jyzk!u Ʋ zxi15 {#[hשȮܓçU|ٕmΤeCyR0gMnswYk+EPQ6|x?7Q3@ą=@bj[X%Q6^|3渾$LVd?b(Om A#!?Tʯ!<;vi]peP~/4[+ډJΆƔ.2[I+ult)oaCS2*Ard3SPre\ fy=8D/^bT YC)4({~L|oPѧYǗj"1nR㕘{* (,BPF=AIN{Lـ]YAx>AXeY.^.3i;4$;zuPiiQۑ Dx] چ /R=QVT`̶XW8pU&κɌ߷(6_J%c Fŕ 6ZA3"-jд7%ިgioZ FQ'x= JۍgAvco;pk19h%k y9d{2^&|/3$AKfF$Pg-e2m5Yr=']2˫^^ՅhW&}XF+HkRB'ځ]*?k.VD3Ug92%mZ|ߑX+`tW+7*JX'+bc4;wtdrFaIxIeHl;CRW?^futMF&`LOB2|׫}a#;kLn{UtgH~[^-"p"7Ir [aM"cɒ DUbfܯf߶~NerMU=$ȊCش,2#ru\<^ءĆYE:%QJwW28Jq[̢}ۇvcڱjÙXDqlWУC-C ܿҧQO+b&V};Q!'JUKtKTu<>gOrJM)D>m[znUp8<c# Cg.y jp.Շ?dP_13#2Y6@Mqp4]Y\J2d])>_H ǖNMɊfSNE لk[.th3stϓMO_" ~ L[=h@nu+fLÛQ3D'YwQ1J8itFj(vYf D)BH{kM?lQi٢WJ;gAxwY&o><+8kںX%K$k۴S#U0|w^"h.ڜ14̒G<'}UcH礟@G=J?!RLo]3L1ڙmJښbϿY@sֹ:#dK-mCUvAzs)IG9v?][DGDHT>M 8ѥ{{K18ZYKdiռ+f M3G4 yӞγ쭰ST] Q7Sqi7nߔjaOӑCk'q^~KLHYĦ<sDd9HmJdhpAcRAgJr닄^¡"Њ6o*D0'?Oc?7ae 0?/CfFK k5H..!a`fPJex5bǪ>P\J"O5"Et˾TbDD?[[4gg0{s]`U-/yӼ~j^-EA$Q# `˥+@;K&;qZEO8'X8:>`Bbۿ)fBQD ]-} Į K}OQ! 1Xgz9>om@Էtqb tH`n4Ui}9gV{I;4~ ,G1%'lYVG{r= ,y:A~B0 W\hAm3C,5&!F?4ͣ͐L7b~[P26E]쥳"w(f XzHm|+?w̩'Y.B -oox(~H N\W+>H Ϣ-pj AsԎY||L6/fvY0MP+O7 D,6ַ-ޏj vUB޾Y?9O=K ~)r̥٬~Ԃ$J7^3?Abdkl.M ݟ JC(<$) qಭ T=ʘ9q-]$lœD̋'1 b_4ri 1hd՘xepB glL#| .r`l19n%q"ΞbqRLg\y=8䉫]}B*vy` VE3_:K 3Gg`<`қ/H!ap0NGuSKn[^VC!hmBҷS~OlCt8T]=Z'Šjo[{EhQ;\(NC'ϥٰ?V,9[߆e{L9y\W/ѨI0n>0F!Sߡ^͠G'𿢢h {6' !9}ЋoB3aC$|7C~:nD4wO̅0|2J[#zF}P; Ah \4p8_++0}bPG]u*75yX>ULBKh]RFH58Mxp+f:ؐ=.qj ߳H9a/Au9NkmPzg(t)Xq+-Ws_oM՟Q hԾZkwR NϚRW?Ӵ]Z8.)7iS#XisIAqAM@p=Y5*U 'Ym&f.@hť]i Htڋ~(B,2c@߮hr(Կ `\b=}5& +m[4c,X@%ݎ1ju)r?L.-dp+؛U@1ꦕ0J^2VGRwi"2Q_o hzCz^|1GiesU,lBD"6-4x\RZCxA5YZZҭg=# ⩤P"c(EV/x\)OH,KQP/S[?~ʏ]-Ckwok 6o|LcAq1+VQ9e'E̊d6 8S:kVfCTa,z)K¦wwZ[ uvדUzdፄT bAřp k(fZ=D{Zϥcn|A}O*AR r'֝f- ѷ&8eF:ckw idC5̐`J*iy 5s!O_h04Ω?[6ݚ,gH#h=cQ]\8k;r@秆imrhU W+:9{dᐇa(]'F%y?䛞[j:=y6(Ѳ;ٯ~ \2YAǽd$v|sO #m*od+J_`Zmfoze`Mȫv̘Šc"-*q-S(ttt+B8 Pҍ׀hHB\ @gZT׆C(Rڎ=<9n0xSW~d9]p$w(/0hà)n'bh):(AM!UeI& xև DΒgS^eєü0T ACxI-\% 7>p-4 `AWl 3ʦ{}v$1IU=!QE'| (m0SZn8$ c͂&mpBz&OVgNĨJovR `5i|\{zV᧒fW6^=A! a%'߱֯=`|?E=#N5Y+3MA*Nz ߺiD)q`a\a24bբтV ؐ<^yѷ6I宝Ե*/<S75.n$CT=M+H^!09X|L&l3!'2`%䳐1QAb~<_v BUgHZ;@L(Cqb՟@ tYi„uvI};k` ^} cu@M9OE2g$EҧlZhQ臫 4B +?N?b p;~s!gѹs1V" ƀԍF*T|KzU.&^NųVC*)F f'F%$?:D ̾>xn2Ѷ\wIa&Yԇt(+f5jXVŵ17nZzӝ5pPbVΈ_ K'=6X?֥ꅲ̾JYrG TK&*/hR&*GGycRc1dCQ<+x^mS S[/PP`&XAFH`"~akmbfA0T9w_$"-0MynSlro_%B1mNwz@@]phN< T Nf,NFz }!XU)L=j?K_*5X#Peb %%O/i0cp9 PJn2XcWY 7"HnNa!XiDGcd =O0rD*tE@c)erCa[$WHs0TL1* ,Quڼdֳͫ[jy_pyةZq+:>GLmrvKlGm  l)W7Jj k%۠E\3fQ88l#Nܷmec{lPV.QTS!XTսp,I;5БU@m:v?Vy%/C[ aiMO_zUZJ/Zd%p<2 l OU WIiыrVerU; 5nt;+e+SzX-=A9Z#y3^DmMCMG#,蟷TP@u̶2'n۩>W|Êu {DBSG%΋}ycѝFGk.ȿg&qUcZ(~c7:QwhL&dQC٧Qٝ_p>EY{}eo0K:b.kl(Ńy2ݩi: ):Q J M2x^fh =R-AHAA/vhGVcѣ?pûc6c@Qm@ Cyb ^ըR '{Ҫ!elʐ\6k^~-B 7V͇p -XbgΙ34zi, \; O [|W2%îhs$Db bzyRx.1L<cUaI@ u NֽzH֭_hyF;φʒ|=޸gD@'Rc& b62|yRMэ)u|yujx;FCY)n~tRji351vhBT5HхiȯV$2Ip4nQR|-S}$R[fmJss|޿OI> KtG8?y^$ ZV*xŠ @ޱlVj`>/z+ ξ<җ?iڻ`F۞gK`~,p3㶣b]-N">|#&vLg @IqGSx4:W?baϠMؽᐉ* gG*V#VK%)Fޖ4&*FIA7e}̏Ye)^.>CfىQL`tQOtn:^r*?"xhQnP,{՜k6@Fμo8vQ?E"9~ <$P^ȥTBĭ!B:k<Y>R8N+SIڎ}m7.GMDCŨ׻ Mbܛ - *S_`r-0>l~S @cWQ*Zs%ɱOeSOS',k3,ۙ OdAQ^d uei{ jvu=X ئU]duä{.ÄYpI,bؼ$t^ZA"KI ['Qcx2R'ˀGIOŞ9+i;}Cup&TshS\#,=ܸ"rw';L(HgeoGeA~ڰ%JE%0C6bh_vܦEz2ݙN!=,4޹)J) MNxc$4QС] F '>;1W|@6hŬQ[B,*gbwU\+ E"ErxQ ۆd*%PJtn) G2 _nǧ m.kS" װ.(HBGc%_Xۺ-> SLN2Rk[Nӱu}ZCnPwAi4c%NݒOF)^Fm}WNSG0yQkZ5ā}FVg0k1: OOuKv +z:Q>]|6e1FMױVDU< l(,NNk*EJg 7χv⣧\nƁds(Ϋg߄vx%Z7kJe%`{!̡%(pB@_0 (p{i7E V_s+I:Cio}8!̾GYl]22e>& )*"pt w=~h k$}kg00_fSu=[~dk]9Ku7%T:CǗoDO3T=tEy(]Dei;?'6rҬkJ~kkBtip V3x%1V\&d;1mZww5Tհ d.=hÆ]RA_lae 2Á,]d.9Z= NE wz#%xL{++ViPc<`LpxN&@$G@\j0'eg.w a~`z^GrȻ X]Ņ-4~4|)l3,qee6Bo^A1 BBJV52Z~aH2c…v SU_ .Wz>{M\4 rM|A6BGL2 VuΏS}TJCGF\QL:gνfF&Z*k+ ZtKHh#)~&z=Vi4u<IP74ߓ QW'| qB,Ik{ڟo 4wҰ޺qQD_j3Xs&ē8Q=qrg,zf: G`O>R̈ZU9A6֢"s)sզSE>wo;\tKvS4~o'&U5{ͰHgN Pu- QNY|C'H#ZP"nZb@7E<|Iq|1f4+_%U2:}z(LSXDn<6@%wbB po*#Y@Z# ޽&jK0ӓNlUl vu{}rZ5+Ke!a!B2x~*"`Kҍ&+ _Yc"GwImON%p(҄\#ćbWwgeh#2,>Aп|i"'-Q7h΋dU*>\%hBAQ~idh[6a"g: x2#7r#1ɂM 1 ]/0̞`{B$R=%/zdZ,$獗c)ex(+j[?7m,KS7\sX(X4Rb y 0~!B$0@ ">Gնgn脥@kyRg~;CqA*L;90,#H ܻ0|NdzVY!gЩȖIoލv/'W ɚ@ "/ܨKſCdKk#K(x^ODXBV"5'@pErQaMnxAIi~>t6ْ䩬(\mpTgV_'ç2Vrnq(a)&2 W3#V%vCG,G1s8z$'%VI0iiRKԕfB2kG{7HιRмާS$̃Ã*+ Vsbi(E^Oj5czpVzYX*YC%[ ts:ˡ:Zb죐JzE4aŇ/&\Sg=]_~w6qS' +bn,?,a4Z[5Ĉt+wxL:HBG8jܪNKkd"E'vt>@@6 (.瀬ăXN:C"Q @vmDtԏPvGH&ն0?6,0멊Wҡ֚>/SWq`n%j"MLJ]Iu\h|-e8l^=$ o^e\ oJ W<9bpH,yz#ɝ#b·"1 RβjU] FW ~P;7c&MעgcߟNequT=Q]@0qj%9hWl3Ao4UҴ/8rQ< MLN= pZPQzd~jR&% J N,]%fvd:FuNGv\ 5d*wJA.sK <6nҥCA؈m)5NkQ[2[tkzzUk$֛ͦtA(kLtD+-u$SDSտ5_Ē/%#N:f}^" "Ce6=G'>jM[e6Lf^ h2$NZ\CHK>#F6j6a;k>gB*Nʂա[H ÄF8aa. ne!$A|<V5$'Dcɘh7=K|ԓu\~)@}veۈBؼ!NJ &+Z[ dyoߌ(WOP9bDA' wo3)`ΒZr?{Ev*rH<"I!LLOl5%Jd?̣#,h,) 30.A3R^Hוwvp^2 B߭zXJcIȯ O4~7b$1D:{EYājCEVOlv\kW (eM-|Ơ-) gEUXW}v0'xlO o ( @ .ng U˒9;?i w|`>\߯Ef崯{4)eBkF1 _@s|k 'le-ۓ6Tp# {RѺ` &Ҳ@{@JMҀ n 1"Ys31f>J?ĭRA(H60J{6B?4Gꨔ3-'kT+ X}sC^ֵ۶`vsN#IGqcZ+ܱW\=ɝ)PSrX ( > zgv/bvBXP' օ,f2?}|2U@=MB &jQbN w@ nxdHW33;z699SanQdʪ $uDŽz}WT+OΠʽ2 QN>} r؁ʂ i,܌#[H  µC&6MÉ pbiE88GG,l)462N(~G`z -܅/6k*w Nhjy(.X8>eԊBOt< ُ:2p#Е~TT @ 9}ke~)kn3&끈OrC^puXpg\ H㩩,Lw[7_4YN b'qM:r9+Zh 6VCyv} /xH7ޣzJ%G3[Jos`a-Z)I/pMJesVZ*@>i}NF -VtXB _SbS{G?7'0B_hw9'}XTf=^&6G ˵E;+K:&`VBX=\wGlGeB97ex07N9[DuU|&(_Y5F}o 6`Dg.zi42(P!5!鹞F~^hbஜP̛$x{6|&j}Febb%LL 9p9ie>D޴_Oer DoPrlHOJwB푤MrX/]+k3vճ k P=S^'Q~쇃r,J"AA y8*Vl9_ifμE>aY+ @%9 p5Ǒ渥K=| '{`*17sQ$/4܈1vR]$ =.I1Knj?wF/D%Rj-hviQ[̼2RV*)7f_o5QuWa90B/ lu MQWz~ˢQ<=Lq-%-#1 b#V+yތ!bWwߴ{#uPNŬGyŶ鉏иZe\GKL!/&7h0ԋHB7cH^F+%ص:oY?戬_S8 O+:(WDa0ĺNdbє_韑֒)R[(5O;bRsPG3W.\ÑSa$#YzbHgDC>q{Nכ6w 3C7 ໏N͡;׈fgS'%sj7ؐ2Lg6g΀ ui!:ŕ=uvQ.>*1LلW|雫Z|Hs*ůG$d#| 4nY'|얿 ٱp5I[hH ػ'St9@="Ӂ+pQ_qg;Mk. jǽlTqƌ94xs_g`i#evw R\:zHu~oHO8I(|A49&B%CC L?ء=vӢw }2RY%;gX:DwCe1_ ~"`Δ7Np9?)W. O|, ' *xbE!aLi8؇I5>lv81q?Us iSc-D+BhroށMߒV$E #a֮wV۷mS*1NIYBQb[i5`y1md|$ ,^C|7]yJֈDͨ_)#J8b{ y@"Oz.ŞC T2. 6`3#ڍxx- {'9 "pVY'T<3][2HO6T5Tdu}>E2m7{Tmө|~̏/%&sy,|h]jkɔ<,u;btyn5z퀴"Zcj,]:MHJN璠,"uLK5aD}"M^;t4_׷bOR\0_d|ԤEa-mucr~)#c4-dЩ픚]}a u=-0hU.JI|0\ 9NoQ~6`d5h3έ&7Ͳ]̘ ЈG^YՉwzp?F/hNmg`re)4M~a_KGia(`^'Pumn4l#~oDxw=-AϬ;ٞڿXķ"lFsY!r( qZeK;kM7l04b\b@hW;GZgыḆV MAg_BP0U݅ngRXj ncp Rr=Ad鴐=*Kr[[c DkUokF&Cf N|%_"Bn˷FhqVL(lPR;c|8Ҟ@~&>~ TBOӊ`=ᤤ`)7*&~#@[)tFz.1H~>[_)adé[*C•$+~,9_,EG Ϡ(Bi+f:~"g % iɻ4`֜3[Ey%bK Ot䇅N<R@ K;Ŏz x<- PaKIK ,Sޓ ryII O &!/f}oJ["{vǤU56STh6 ɿ),ZW#m)Qg*F-۱ qѩﯗ. Q,JJA ׷ {D?+m m7s&߇RL+Li$gT3ˑmqFhG"a%Lfr?HRP|[z̓(^'}~.\asgx` Y\4Llu`{k>D79 m֣'3-Ew&L)du8 9_U"u:ςtOdKR2[ qi9OR{.1Tɔ_JHhaH}4T3=nJ&pN\X|t݉}FJB8"kZ4H QՏh Տ* c|FE6h[QrgJr窬7xg0z&]N.ԩi0Cj#vC $wj x_~VbZիskJ•ĭ* \D~ʮQ~87j'eDL%.J%6`|#A{ݺ21>t$K=#@}o'NUQu 9KTnq6*hJnMe1Mx%]=&zK{ K &h\ jFX]S3_CpzUup:isЊ`v?rrYS\OŶ9HMGWt7NOA,~<T0 (^QXqbQ%MV}*4zl|j'~D]j}'#YlpiIż&c ܃t+|@d";z9,W'(8{K"61SFҫ.^a_߂Wh]HTk԰3@A3Sz)8IGn~vv.?.7a%E&nևW}f<Zszĸ|8 fcQE6H*ngbfL$Lj.WSTl\IKrEb$ӰŌJ>^u봦 I[ިOugUmE)4MvVX[ =, !5Ӟƈr1a$ -sLobQmv &NX<8&GJXp=.5Q~}e If4yV_蘪v|Aѣq> T-^T㡤pI vtΡ;on.ZJ!b #D$j@`<g`嫆=ly2jUty574ƕ+vL!~]yˣ;lD-7[ :,\byA!#&٫/O9Z c³xBU5ȯd 5jE!K"D'Ty:B]to"c4:}^)YbzpVObW|[~e$׏. s8Ck^q}DX>tΎ kM gLۈ.n 8ʘ4~SHsu%hX;g+e(`{U%ubBU]( W 4Չvqq~ȺOt,zH '*25 ϓ#+աoWRqfBgF3pU $wW(׷/v\כX(#;#.a5#Xq6kj$YZx@Z*l!`'ҋzubj_tHfYOZ'{[FW8|#M!?ML Àa6T=( VᴉĞxP2ZmvbBl6\6d"6Ei24o]J3hkഎ9de^rآzŹյu>ȰHd>,Ӌb}3:Hheg V?l[= olpf~pEU^2a"@ |v[|T~O?OxM!ΜЬp5%&a3d6Efd896f>W#M\y;F5BԲt )EN3.eh~ӱ_`571GMRW)sʸL~k.>i@dB_rL$d$llW(-跠V%,hTUw]FE<-.ނBv_ڷ8>b:eL" "^ |iE0{`Ё[A[ ΌK&g }*k~TսJWd,#]^]StXshX3#ff&B`yyo+tNp=HKnj8*8cit'w{$sI:p(2l=C48E96Ev!P9dprOKE{Pޏ0<.{TǑjoH{ܴzL鮘J# qnj6M$r/;!J >I#:~4i YDsY(n6kб  qe(:f X[1t{{9={@jfSVQ9PפY6<ϣ͓PzpW6kOɩ9(ʬ:5rmu`ERNj & `z M+[r546믻J,H+}5􀔱Pr5rg\mWx(2&jɗ`Q {3BWj4b:Qї[@j#1{nbvn1ᵮ $yqV`w`j;Ҝ܄81}QʊԁTBT(oqZ]#]Ї֨eED(^K[x֮tW<(Mo屐:(f*-'Pz:dxak ig#X⛖} DD}"q0" UύwswdbJVML 0l^Öhyk'z❧̹jڃ?o]2Mc`؋H;D1a~#Fno6߳{K%lNpA۲ytc0M%5 g- |QߥY.޾^nLjc=\#(\Ǵ9ݢ!I4s[?=.==v(-P 'R\|Fٟu0nI?B,R~~kSU?f$3Ub@|8P:q&|Pj[e b!~HM[hY99K[; "wJ5̂DZV~N{7i~&bdy0v K.2fV7aB+)T\_]8A#%s4cJ<}v'%K]cwso,kXa";/Lƭ":/SkL9js*%s*n}c85GQZsCi!~+4MDYPH9 G1YPNLz#uVɴd{}gXTO\LC__?&^ (,C R/r3" ô}Cr"!@޴bNCh܍vѴpȺ-r 'ه/|uHQmGM )+U(xTm\,Y5wtۃ@5 & !wYPeX{$R!0KFZh=,eG {k9l>c9d lܾPX]婖LDkj/IJ e#>Pz.6|ևj*Ј&P9]ꏏ8ׯ~awU3a㳁S%5ۙOSdeqS s'uwvGCZ7Vz UuV/W9(f/G1!ob⹾g\t>,:sEvIZ[N"6&uY#U][$6,ғ 'per$B4O"\R6/;, ُ, &1х^m4;?T!EK&+%.#Md#}r D\fgET=);Pk. SM͑+.N>'?$ۇ Q6dӗ@; z_$% q!QiTLJ)A"]w`p8B tO-9+ʳ][finǙndw}]Q= 򾫵=Dp;ovIoZ2v(e62P:;f:蓟(x2u2tdSX"*{Pkn:Xů,᷁EKf[@Cŗ lp p>F8)8&ΰ^?e1 U@RNq֩`KSs#Z4=poc (~ r׹ǟPT/ dJYcS!*];a"kߥ^v̦n3*lmFh$q^5]P{ҹ|qQ,ױ6b;l'Ta;iLm/cE*\ssLhYw_G Y-7SY'=j$R]TE̹WPN@_~C1a|JK6:V0boD DS +[˫ +$loVwΡ|eߩfR61wTFC=:T*g NiKF&( Dy 5HS7DlSe !>2z1dCdS\'{%@)Sh|G%4T 5:aS]b!+.(|FfJM 3.0xsqfZђ`k>PǵL4ouP)4=$K=E`ȭ}ccpM6rNE u3ܨ0QoQRbhȭ8 E⑏j;5*v\:siҾHDetpS zyU+,|U6A%5%˖5iLY}UtG- Sjݶk|ߚR XB%*.BinsFNe-$B#˿@o'^TsZnDxƃ"`Qĝ֢5OLpp/M*yM,/s𱉌6ZbUβi0{ ~ ǧ`'1uI5ؙxeƁy2^3U0(H0lNu\h篊rAc1&s!aGbBҋDordj$ :׌iѥCYp%&{ CJLl>C~XYs_pEK$0Fa L_zFF+HCj@g~hGЮ!ܐ~˄ي[7% ;]J3i wo2\/X_H\,teaμЖmx3Nʲ\Fۋn:Mد\.=u$$DRfQ%*ޠwt~bU]߽6WZf`캣yG}slot/7v}{b&zP+ lnhsF4u[zQمR ~JlƆ=xv"E6 r=}U@a Mt8ʱ[+;&:$/d.p.i/7d)50]:u,ӯfi&SGlRv7}(&v:>r A Qmo]i qN rjagEYM,X.<:υ`(">;@=_;.r\(^cu%K?tG+~KECZA/*9D+G~Q`HbV{3HHH ֦<+!p5H+#+ujPs.Tk@m|晆"W箲:gJ_,C]wu绎T3q1_(he<pށ'.M鐮;eh.Yۊ~'Z["N8?o wp̸k佭ώ7M,tEOdW,^|MBNBdp{=G!Kmg;?Bh5>U3ߔsl߽i\s7%pq! ~ 7Yge*:z%;}2\#ke=<}}XXR`vmw)u|f) )Pt:$anI޻,/CQ~$Q #桸Æ3 ŒP"/_8(w6ʶ\O%.;I4GP1/NS"&ə0 #Us_gd2E+~Ld#`q( fܰJ~O-9*o&rsf{.ifhF9\̎mo΅5"ۇQwϺ|߅<ˆ MQ+`Bˤ "VR#@EN}2"]0splGZ5釫x&xP8w,ۺ}5# \.Xxy&1ٲ e9^[ʴ:Qf0#MX4f _Ej`{M xPvQsd% Ĭ=?Oj+#Ghaf G\Nb sX/Ri+3C?הN&Nf%jJ̔ =^FÖdXkMFE03̆Ÿl8Bs=klB?ux3Z0xO l{*kp ˁ. 1Oxk[v%$Fu A?}̡gz!,V2oLĐsTjсnՔhOޟbRJw(^-{wT젣Z\B (NP|ޫiro=h\HUfdym`6`[꾷s5&N `DcuQ:J\H@\ -I5ѐX٫#3,TƔlsCsp/Zk4v׀.-8e>_Wm? sW"GBFXU%?0Xư,d 9] )f>!<ۋFmhL t.$@4S|Jzr 64"Ercb.xnr$P]G>`(7P = djW7!"kSãVq.&>"˞BXCu}jS<;5Nٻ5X)F|:kfǗWl,ܔP23Sxobt #Bi,J )܂!r!n jКw-P@P: CB$+S bXD¿Y+nOZRvgūX#lhX%^! X!5'~bL,Uv"#yxn ieQ\D'rb*?/p{j@}5@As]~i)i5bVK}ANef?Zb%0ѫ| }8½s7 K$QGv~s키 0Tp7C?[+Y z)<:/&x >B ?}Ut_y(0\%Ĝ, "|C9lyg'`lH%4s4d󊓕~7+rx.R-eڜʉߦE.{]Zo(~OC- ]6j_H~XdX N>ῒ4q VhmZ\1hȠ%F\mKE+ABA-!zȩ}[/CւO :ٓwފ%صP:C69z]p7 ]׸F5%7ЭB:"yXg|_1Q!۪TOD{km.\+0K"ZS|%zP=rmo|/Δ |Xt&im>Ѵ\|hZ usFr  S>1KuE_d́7T[F}}a z )Rov68%j;)ڎxviDGS(r2ᛄPA@@)~+wǽcVmܽ0G\jwnE3:RڂSmi F.Ml!ܞ7BQȝ_!+c_~ֲ&'kDSԱDT,sq8_W"(fXBڐȘޯkm~"m[A%y/p78ԃ֏\CeYZ?ytgqg>s0l ,WP4}B p['lp1DcmDz;C Rѡ2Kj6ʻLsU*+̣-|_F5iGpFe HMu[$?[h5w<zm,zH|&ІUO~{d"3Ҏ63?Z1D (zbQ= 5~Ogkpp?- 4?6f&vd'ݘA\Ϳs^$2öz_'S~;l"V{}֪;E?-Iݔ$3ZnNBuͬs4V-,;ϝH ϵ7ti"W{B=߯spd?PEd$u\vxIy2uD~v񡽼o,lȗL6Ɩ=ϩw{RlϴF6@ ~0 Bt)h2U_x uK$̈́'ȷx3I'|O+D&$l1~m h뗞B3HfhbI<9)JsSXsXw1X2NGO`"㷸f}ɨodN? ,pcE]8AX(X$ *1cAmEry_LK2gw.$lCx+ NLjR*Zvs=e<]LỨ;^wA-eBDH3HAKG&ܪU FP* GO;ܨ ɣ􆗫\#+9fnv)MXejun([m&/_D>U$;fJp[u"ַ(ʫٸdhe f8F^$N;gJDV;7/ VcJsIo`48|gm#3JF FɃ$po X",c2qr8،돬mD_hcSÊ\P X3&lЫoދTu,^%I׋efYd0[+J\o@U3 M,U/+!TȲ`X9^-kJZ6T|ur5b?CZCBPv}G#|4fTmetYkYBguv Xޭ3oCq5%)+ՒyTʙљ K8(|,5B۾?3*b.k/\D: >Y[֢ԈEA%UuK(}Ǧl FI|O){]WdGtmj0mҒ"2|_'F%?[[ k,ĉC"F%ow]ۜ .wdDek1[ [0қoN'HߙݰBI1|[0YDH5"/5SXPh4鋨jl?0hLS?yKa{/[6Q yWe_7fJ,ӖJNExorwiܻ&B |xBQPzIi7 SN>wO.eYXR_o@ OD6m89_>#2 Av-Cc;+W- |c^s߅zwvf 'D*e쀵t_S wv[,!`13MY;'%uZoYfh*KeTUxwLLOwQgu@זW̴&4LhPÙ.cDyE[1v!8@TΛ[+o]RFKOE` ]0!+ƩHfs-؟8'H`{+oJ:}PhSimA@\gB>l ٠ 7% 1 !(NI[b?;oFԱKFڤdfmZ-40Be#1\IDO` 3Qj]^ɓ,[nfJhaG=D&~`yzö0g |;腯^evq ; 3"J9kѯ uU2uoi+oL@u-;gMa@9cM "&uY0RaK^aڞ^iL(G!B$Yͮ@."f6D D3Z3FXTL%3a *ʣ٢W1y5NCu)&NHIt`;]_ك͡ZdIܦt) Cy;P{}YQ1Xo茂I6*XiӆVq@@3ܣqzNA9DIXxBdg8;w$#-R;g5puJDΨusN.\P' lfu{H]9h?@0Q#Ec q=t!K;dlh+`<۝9|h˧`\:Eݓ@ MRhR# Ε;Gv6T*ooXĂV,_h,ԁ 8bդ;'bS1O21PGf(iVՆ$7 f­b>?5 A|+Ja^zh"wv9ТsDvaU^\Uc >@WIpxD-YS`wZ9aQ;Y|+(psii4ߤ߬'PirR4_z8!jZ(^TW#|zĶKs>C 8uπ)e1MΟ-)ccjӮ*>Ji,Mn)NxV|`|k kYjsavH)tWIJ "-_zH)B/RvbY&1-Π0ׂoS,ysgDERCh`>;$wՌ#(WD=dF:|sF=C˽2!l"Co3wD_V|6!9mi2ؔ%!a> *e}% g2LZ~BoY2Y'cw]#ŰΪB< w2, m3Dވh \[d2 l6s&ڡV㘾EamV<ɅCsݨ? 8׌QȘc.[hNpDEAi4ϔWL_kŸh¬gYt'[;FH OŦ1&2l|,p81V\~1MeZo0 =1R=a|~bфLotuւ(a2U}ǣ~XA+TGQ 8M+ދbD0wt=;V~f <~۷uf#rY躸{Xn0_KsȲTqRt;;b }4X\*uF!GJՃ@4!JgPI!>0`ɘ 㩾8Y+axdaZ,UIlSSj8sܣWɿJ! c)3|*;%_hu@pGѮa+\M6J|yosA}h)fĠ#!9(N7 ȓTM0%& b*~FInMꥡ5 aaMCbNٺ,䃬*xIVDO֨ JqǬzj5q][-hkC sxWPET0Cёвlʣ7 |P"z>Fj9Bq3s|5!mJY? ,jx1uՒxhׯJV*ie"=xc:4Ć\J,cVIQy>N& '9,lsddM)myYG:J+"wi@HFN8qA :˜s HSi`MCWa-2}8ɤH>=#Qbɠj.D&3G(kQQo=( ٍ)Mr/uR^2;qĩOK_j-L_ݣi=$5 2֚#0}=~"U5ս*Yc\-g1{Ȯ{HaI{TckGfg_π^;A7\85@݄Dž7jR$#- 6æ`K1LʕCwE! AJ|.;lX YLA 텷gpDH'.7v -r~e {uVӄ/pnk]n1wr =n9 OsmGJ YUC8[uRiH;9A}Q6|}@|G,)WH>Wo뺝{XB ,mjyG$QL6ǶW>*&ǥ'enP3?r-)Bt oup*AL%ϒNyq~~8f.nCI\*q7I#_F *~k^.3|$>;KV76_uX5KS踨- ƶ2Kjh*SVf{۸+8݈ϵFdXu(a.Q%EMVrPx-Nr~^R;蝚>g+vJ4踕{s/Z,փpCBS #3ƁE mUFuErr=93j bAQEBxʥĜЃ,).SV+6Џr~z$遺[SrNzdst{XSj#g^RAYrǞ AnyHyq84rb< i"x7ֽЅw.4"`0{=o8Ѿ!s5Bq5̈_AB!Fi`a@wUraL%E }8ư?𗵧͡$0r,n>8z|/}]y /Z45GGàBS;79gYN[SiZu_GK϶CFl#˹ zSbm_+l J.!U䊟`1B+i%(8I8;z< (94!y1Z^),"ҿL%W#vʃkጞ"-{!VQ=(%2KzqJ~ ^=ê2B;=yƈΝ9+_uaLV}!XU)2]_34ڤ\2FNH~|h*ϰ@2ߛC G9WjWCS4"%]¿8ZV r 3) ڬzTz`E Xݦe9cW5"3*R*zݏ~6A|kFPZB߃?ٿ3<J#x)zϒph]ihFN'EWfloJI*I*N3kdveRjŷYit!?Vs`FRךH7X*#Z7&z ˓sr=k)hY؁,#ܭ`SljH?X [ܣ@k3EMQ~cdto@;8 `3ەbu'iW),:4D:(>h{sG5mm%@=LQ#Uvx{dxX;J>`+x9imk1CʖtF_~"y/B> &2ך^ CQ[{+\8VGWOJx~*) : :dEJLK~;cWPWՎEߍH I~a=47~_pfurGr4f' [=lNJnP3H54ڦLҥ3wSpn㎇lXd}W۪ݣ;~KS}"?^;j^1Ki?\w5WY o\wb]cīf:~*YƬYkֺ, Iw7ˆEw/<6F!SY qqe6 2s| 7=S/fZk&;L?z)+vn ZwǾﴦkNpDC4p^AA ZqYQK-ݚG;?A 'jX+A…֪;,4FrFڠYlI%dñCN k΂E@ OYw-̚^уpnUtb_~c2+!}(LcEQUlսY|-5e7wՍ T?.z?SؖMFyhL+<8j?a˦,fq':g$;S.N_=r 0$? 뱝FYBzL"Ҍr^-s8P?mssGH\cb5-4SYg 0hE5qEE}wb,QsvYO`)P5?mr 9Rj̼?Ǩ3( ]~7,;Nx`} d(UٳWm+\<,nڴ\~)Sc?sedjAe;6/#B]2$D}3jn*T{ _vȊюwtOp_]NTo6C<؅ٿ.jTDm7-FU88Z6ך7W< $^@M0 tdG۵I߬+]mvцmmG+)B_ϝX3!+ͬ܁(f*7ZZQS6N~>=s(-i#$:cш(?[璅#MyO׬f6h lDnWwxUA:sitbUN@ ՛ZC]UI!Q1ce]k%j:?QʷoՄ]vuA"3QSZu]TK4D8.-%e:wY8.BQ&^m""g+:8A[Ne/Ƀ$[}FTjB~a^ ~\$qZqafH%o= LĂ5CFö[s;`ndhyvj^bb8ϛTB סȽ|0xg:x U #8,T?wQ{rjPrmV1iiB tOC-P쵿xbCSL0P\N8@RL8w%-J*t O+/0ZAvé\cUk6bnV;1~/ȣwpbzJ.eݬYNڌV"%m!S3P^ 6zWsG|) ~ߪX6im3u~Sm#WvI &j~qH|s>ܵk9" 6aMw .sRfB%E %'_8pŃ#)!NJ7"WvD(PZ? ToQ}&{ˢIшZCqF?S*j\GfgӎKMaTDձ&^"r?ݓ)x4|9'|;Sk3M6YIE?FD1*/۟ z`Ȅ%\:St@.Nz['\*LV yP8_Zdލ_cFCd GRL=61 '$L;$>ϽHկ1{ {W';3pi^qI2(mSr"(zcW#W}o.s &€v 3%rmS|CC vR |fZ7ZHQ{ ޜ_'R,q Q_po mt2@&@F׹2f2 hZy.ә(ET/&چVɸzDvxT1]…ǜbBD{)|-9Ȍhb$Ցў&VM½QG`n,_(3Lr>tmOA_r "J +t4I5$+>Y1Uu~)߈gD'I7"xPtsԢw˜ i[$UTy9O,8kMk`ph8֒ {lUhgSJ͇56zT SjVBP@ R^Y7yQ=*:ΉDRLDŽ*A5vXo7X}#.Kw>ozȵH8=: duj** qM*F;_l: P !Ƒ}2;\]O m.$08n"~Alyy/$2L2_Yg^ޢCμv<=Q3r!\ 'V<[R}xtdyUJc09C3f`Z+IJCh16P@$Ex9)A"ʯ#F$0dM>!Myuᇵ"e٫h{UO:?h'M.s2ur$iCM'<cٲڟa^#`nPԞ06*#{)C_#`# hqG5(SH .$n8^DgZyz$7.EG~l,:r8ɽ)Afu.w5j&zN,!Z^R] 1G $~#0JIv{=\{~m?.>Gu/KB1Pk`iBOWY],(+>*R d|mY쨷wWY#ncwZun'.u+|mJGN1y*Nqj+ ܼmOHa玧Mqk׆,5M_ؓJ:"Uϼ6(-XФZ_ lAb<5oحO =9:r+Z7̾ aWԦk_÷[d}c&g?p~@qQl:È|;<S=#Z\] TL4e<4}}h+V T}vDHڤ={V[dwE &F3|제}q g5YPVSI퇥 V(>ԽN?+RU!c !0*!m;wJbI[j["̙kEӃޭaLPpMMMqb5ջ/Ȕ6ĭfФl_=ܐPU|rVRq>wՀHLKZ!,9yvԍlͻInS1AP_~[HXSU>$fV|?)A73ͭř / /k,d>u-ql5fzz^p 6d1V(@VQBT|^?y6QFN%g'5zʡM8t&>S<;]ZB|eD9ut| |~iC/}*i^p%N\1ݏH`UEs=\(le= N# zBԽ%}PۢI,(qI6q\5]wJPzOBtrFfjw_R5{ _oξ9t,͝!ڤ"d{q *@ORKxkrvjl2+HUCٰ 1.E#c%ڃHV?V!P6KDS>L@#`\Nh @i9ѪLvͤ 6T^K0+)5'D[sdR;@'^u^X1l dk;}ߡ|qu33=B)F6@F:;TRۿ89KDfWVB}ývuw蟮^ 85Ա"q;$xb;F(4waǀ]H/~ 8"}_T<9&f+8`xc[ ڐZ y-?x)&|ؕ00YpԍS_%Q%$hvK29U ~r}Q̬WɭAZ-I.,`;4Z3٪*w}IșKoPX !Y{uN6"sCaGlVEZŅ:y8 :HQp6Q뇳ט9 ?fnfX;S<J'iB-A $ +pYn6Uޮ8䏚S=ՔB[i$7X'|+!,"v9gHjB O8ba㉘:U<'%VrΫi k䕜d#}l[}.9`v3ijq#Vysԋ m$c Yмz. :Ù# Shz0ka/<ͤTw.4N`O֛!ە̈.q{_N,BƎE晶dB w;[ۇܷ=io |"-}|1j Dkl+`vm*j)dx̿=.(OB`;T9eq$ֲSG,հC @FgqJENG*`{"wێOLtewk=U(Y݆ P(CQ`JTݝ|w@/{ $#,-,*R 10<)JsM='洱A[ƙޟrj8Ġ 7%Ku8zp55I4U ubZU6}C^Ӯ2(qzq_*HJ=WNOʊ"9wr@FMl5{~%bs"5 OZ6 U_Ҕ)א# EUwS[в_ߟ*.`v#z/~ y QC+; S$k˥ 7n~&j3sϾõ̳oR5\+EM9kT|CTtS+㈹yrˌkti+ e/ǦJj[17&3ֵ-Ms$̕~ )_ 5tAoLovDԓtRE+8ns. t1wJ(!"Ut ͨD8J mCCbHJG8*Dwt_{o^| !W>L̢>hMY\ga[u07A5j]8IѳжVy>U"#ܢF?`ZջZAb ۛ]7PjX1-8RXggd tZpA||̸h7]u8w9 !l9HRtiekm>hĴdf.rV_v2r(qL/(Ic|6MC^{0³ ؖ"—Q#(}&0cf1AmF[_o# 3]hhk -8H nz["CCZfANb"v)hǕI #x-,tP]VX`|:dcu>^|P5U)!&Ǘw8)hʪ/ͧF4iM" a)]عc.{b 9*gOمA|2*M$m|A\J41귈#<6MA$xu]32euπ&bzūCʹL`Q7{Ґvv(ʶ?|m[oy=]N&Ժ쓝',(aDR }%֥Jg9\|#2M7EqϪ֑Eg=KIDSSYWնpn꯮nw:̵6-df i?&{ـ7[0"@(F@ãt)%Oϲ(jĄ%S*-~Uird[ZڀJljwk@80M'6IQD69*Iҧ||ir,@j4Ҩ0T&F@x%W#,gШx7Sۋ 3 u*yZǃda]Ɯmy$[ -ТWP7Yv`Z|y~T M'O/_qןI4t@02x.}e0jL<%ĽB#Dĩ^ WInƋĩg;u}7f[!oZ9$E,[VVy}^ bmpnV X 97lNez!?9?YyR]SőV8S ~X-&UTQQTTqm@YGhq3t~ g6VLZCȠAo/31d- n͝f& yp6`"GkoL_/;EfCIa73Ğ>UxjST݋f$O^:D wpnd^_t,wa6?K# zn8ո{+FR?#*` q76 UG>}J*>DoA)M`^DBlTp0 ´[UQwrwH~ȸs[z=ϵfn88wI z-3mL=p;p~z7C^ `:EG| >-ڒF/:4# >eY'vNƖlN rVʫD`+HNl|2K/-`N - }ىiT,U(x׍pZY__k0hCLH>gvraZf7&|q<({6C\SJM]j~J>DhF 7l:٨Ho bRc+f,r~A0IxhZxù|@Pn/₌ &#̲0w3<;"U|́u=! T)DhEzȌXO/|yWQ ?b-%Hu@mζ Zژa(iwir6OJQ x0J-eړR}W<_bF#B0,3~6+:7#7%/ߺl[K恮 ׈J=&*a#_Įlz6,%uz#hKҰG0L㌮Rg=<LjҶ6,>|6zPha$NC & |PU+FkMI t=X,6* q!T9dirVD@;RWu'fvPf)ԾXtHۢ,-?&if@s1ogU bJ+%yVslvߢ]lC%!Jh4+X̭WK l {ϩ!iu|(^7g  +fMoU?t?kpcF| c/}ɘ4%`_hf$neTl!y5A'E~7 |7wnrH|źa]xGۂ+=m~Ԭmi;@fhl<&T<%!g֢+hBTGI}컎U:;Y(@P#t=BLKRnNu݀3_'xqC|Y$4F.q4{#t?_D_[,#޹BVH3^&w{}FzrzY}'WױÃD#R=*ՔW7ru ܅ 5z~{iO{/.To诧EM** L\\DxҀQ o| =5T \P./tuzX|I_py7M_-5Gp/O %{xߥq.㚘8]9j6<*"Mׂ<0VV*VdP8N:rz!خr< /m6'<=6de|+fGwCIi_b4b԰!g(+#rgsY#oɏ16NDiG ri3Y DBk4C&0m3:CRD'6gp8U`lIS6) /%BN}vL1W&U1޻ݙ p՘4T*/X(h+>N{ nhܞ׼p|+`(̓0G0 GAז ` `7?LZ35B.0CN`}lx#diq\]9/䛰] F^d1Lnwʜ-Io^ۍ:E(M׫xm"s~8/m/!EꈁL.386};$?%u>(0캨99<6C$꘿(M So7ʭ&u3r 8x~KM[ &cZ%H-p p/ TR7aSKVȌf2K ,&[|Ԫ 4) +uM "'m7Th¾jNg_Zm 4 %7pha.n1H߷,VDqfv^RТ#-dFcɖ*3І+oj[򁃐c'׽T@ON:Pu2õ?G]_j<ޢY[A> ba= \{..ѤxnSdIDbe_2}-Arh/d/,$Eu "G(j#+cqх3. t-Dydiy4(s@5w<BB cW-+rI g SeGƬ|Wf<\,7u }f7Ǐ%p4f&₶4Rlz f߈}7uPo1Jikv0CwzdG%4&=9@j0cE-o=@F ppD* 7qUTf`:V.e}Eq?l]FߨxgoIvzVZYN6NػZK+7w&E#.]N}Y7$"zEu`SXf O1;f / X=Js,ƨzl<^lUn9`^i_Xj"%#S{aZR%q2#WjhbHW['^%ӓQ跗J~>OrWDNw2I$H1nYC<, Q }9\orCp7ײYON 'ϊ☝r}Af󊆘3ٴegYeC㾴5ZO*d}BΔ{KI=-酔c<>}Jnj`f.#0TԢf lr:=y)~aGkXU r4i i&0l^+$IA7l, +3$ǔ~r*ƵXx1 tD\v2G8=?ESdߣ(p-ta|t#aA^gy"jWT!Yp)"ssf!ec;4<"dis;3'Yf?2UԲ"a]e ~rW lXn6x4ke {y+r\VjNy*->]9RA [P4;[6C^n0D"{j ;)ƈ 02YoCuH+4J E j ,e\ !aR`?M~VO6@),v}*ч6 n[ь/~Hgfw<{DhH0i~o]@5c>^ KLZeHפx|`nCsG#a\+k0O ~%ӉpEvT Hj0;L(,vdCKG7Q# 2P`X'Z MsfvW]zNoiT˥,6 ?`\2M"\oDA& ŗ0ٜ,>8?B᪤``"n>`1CO2[kP\ U}w7h떔,^pmE5\ r/8zb, ow]甚'n^z,t C -o?QL4+ kYpvm=lq>45/5۳%JIgT|%Io#Q+yﷺe#if2S=]O>5JC7^X퓂cz{lVzD0ݚHM d쫄(="1j=kRN [L1g|&#(PUq@R5!?myZ0qO]"bșs`Y:y]mڇ'?np@hu{1:R Va^;z Ǭٞ'h %ݽ*sLE"7WWWC:i9 ;uy@2[7;_:hvCK͙_g$>ψ?qO-V@BPJEh͋ wt#BrIX,jY?#Xgơ-%@snғP8Ty`k(} T&=U]QaŢ#ziD2Bg+$p.㒼 UC @9OW8˱]XnɒʮBI2pZluITO:ۯewU߰O9:Ğ׺O sw :zaN2ж.^^&Tިfd2ⰢO3 _"/ٍVPHB`eƨԖfe@[1jpqP=/s w]4&][2lM2G[8#axu_8=Q,Hq_":HʹƨS1.i!.s(:^eܫ2twM~YT|'دYlaFEN>,hȸ6Ц1=JȃS'FEfJCAqJ,ӧ4)b>}7ԣ2GѧJr"JfcS8B\"Cz5:=#Yk_9fp)umOvݲl4_P\8|[ʗ1lֈ\dx_Mkg.%L_kQLoI]VXUp]HP^GcĔe)(L0 D̾cFZ{'aE۫c=fC""Gt|4'8?z8Ȍͩe@XZɇ?OؓU[kmD^ď֠0^4c"(B{ >7'@QY9)i-mXծx-b*z/ d!n2XPcvx%z2R;R^uIsFGjt䯭uqQ'TsIq(ksLJ>/)Em7"fQ>hnk]{tZ8;)|𤏛:ՁdQs6zcG0 }Y`EJUQ])Y0SN kl~1z#Q=Ooĵ@0rH ɥ"g* iv&,~ D{C0mRy}b* @.@ 0>&`W$&1by! 6?0\vn'~ )6gEAQ[!ngS!![S'~S~@5,CAˉs& L7!ʗINI*u;ͦxKѺ5B<ӨYxa 0̢D9w=D$\f%%(56n<@M`᧛GMZ/fzi*P 4K';!5ar9c%W){\'ʖ%5ڋqI#}d%%:ۨh2VV7v[/,K闋@oӕ]=L I&@DnϦyoR\yoκH(_Rl0\J%`!ޚjBrG{[Цgs˸-!|`!95KuaojSVA<Ѩ(Vk>n`U]f%]/Z|j?ӫ"mGm}1L]hGh:M O OAwwrK(oa9( 笇#^i+)Μ$vB*uB]= Ӛ0ܹn')uhhα*UR)b` F4`Xelov H.F݀gWx9bЦ;Ue5QG!RiQY%5LԓuCԊ2և6)tL1I) ^ &᠑ |hg4W렼%u(t_!+^H`ShB)v yi+'w☆(m#hjPTӟ{b+se"Q-MVoPftFū[^[f$7#3(GK HPs"R%F?ȥ| k,d9kt# >#blS=O~Oöjm\$\a(B[=ڧF{J _Rp]h>wf|6R;gy<fbT*JEo<2ZF]  m902ݫ.X0:n6QuHN?wԈ9p2 N0!=]ǔ.SxH7Ο5?[kmy⩡9 F/tFYgXWj.Vjf$9hJ+}؝fLlzQe ChI2dgP:R]0%= mY諸"zΆmkGb)蛒wy$;d*̤!nw.sbScpVЯdj#2ɕB`j5#tūu=,)sN`ڴu)c`<0tz(ʐm>Tܨ'zfynxͤ'ùn >z Ԛ҈Q#C {vT;B5*FTqov0_rmQWa͸&ew *:HY&2f;t&ڌI(vaÓ~J0R~H$S !f%c@k"(&ȖѶ?W ^OzkS{daZ5y,~hQ2 ϯe ӕLdlʬ.I0۩ع8g/jXG |'q(,(n[Hn$XżnC$Bw.ÓԣFEM^B4WBK9\[qdj/f`>8[剡6&^n4nF jB'hK=KɃ2;?@/ŹWi:>w %#uo]0J\l?M@؅"YL pPDBv^ܹ!!@:,vgΘ+6MBv6 m$ߢ壯jQ.U̾$ܲ taBB*Á!7~?7d _ 亏ٴT,7b@TKK>|jzNԐD5ݵo}~.kYIsگbU]NE~zQti({?ڷ,MenpL~9'X](GPmobkVo.,f-F.2x(Kڢe;2rgh5! vֵH%=ǣ~1dXBGAg."X]DDeuHK҉Q/2MjqMcBVxSFG1*Zy<^C&MlOmәD`墟bqҤ[ζsX8Ӣ}b*< a>um+XT| =5GLr4;4vwah%Ey4veq饖-Pw:Kl"߆Jk}öe=?sO۠Ǭ~C@׏WÂ*&n³L65V9zmBzYoP7ۆrU /t~QUCW.ۦ /렣Ӛ]sM;<_7$ ~En1X3~8Ko5']\HيH[ |f tC!5K شI:/Yl]2؝({IMz 5%73.-βmEN=H3']v&MqIgOH<>3c,]Y"~/-K<>Q: HVVi}C0Ueë*o5 =}c!f K `e=; z;`ZzTy+=.9}@Mq-_遥An8!lzIWmx4Cu8_3nÄ/$;i/  sn$<@8xj%tdLry{U+-4Ӓx Kllxޞqc:A gP|ʀ֏AlcVyjuas~xؒMls;"C47ɏ;)Ȝc( o;!t) ,pŴ/ םaVb [j\hYldx![ 8 ՆPm5yg'Sb;4 iyZf1)w0-0^jS ~g? .HTg1ԕO rB.AJgƷZn#iXCŠr7QAd]dLDtf"G]W?h˭˄<~3a3Z>\mzepMcElf:=;d 9[,M <5:=J}eV$d43'c2꫻a;ۼ&n088ViY6i>PlZFZP5;w,")@4`I̥rճӁ 6Y"Z< جE%dβXCPB5 +r %ٓǯhxQ(;_f+>&_yC #,stF LVa:l/br$Όՠu(fخD|aո WB.%&/wӼq'E5||{wm`8` J P>ˆE7?def V@?f2a >#0S8U:;Guc2ZY>5>+AڷyH5 eU*Eo5AOJYj5?(|Ѱr,S_NsZc2y[n|J҃ Cuc>\U]k:d'])xM&ΎFͭ"X ױ[չȞ;Oghm C}y:C_mJjdjC0 }IN7̕ZӨ[wTSawCcAƂ,%bL1ć DM\KH:dCc^:+K b3j oߌ1_{@]}\V!)V7}G+V}4=9xHW,TIO/u= 'A3cY2[XoC} |u韯o'F4:YX*C.R+B+bB{.f^}3k+@743s-Kϧ@Ȧ(0:R9ǁ (TO2:8,@e{ajFer[ }!0#qzRh+Ka^c]xRi5:f((D,J09ؤK$DFBWY&(E &+9{wiGh"45w층"9Gdbq! SHxtO]#X%֠cJ9 էe9ݜX_Hô+֞ڄRd᫂IۏCHY0 (ۧZqOTHmdLNA1ltߔ\-p(pIc4B?S33z9IPS @Ei9my!z g v~ū/ ?gHnx?h(w702+GLNlm}BH)%[R cA~2jFī9qޯai| #?gV'%{OH=>ĥ! 2ƘŌ4~jWuٷWfJ A~%:E ȑo,3@SƴdI!H=P-Xd^|I/ŧ> ĉ3W1Q7}+џshag5 8=밵<,n,D]YO>Lcc$_-GJ9\JMuI-ԧG cJU+o;Q>մlhb M.nl6V |S1Q,?a-<7x!hM+LIa Uw@Yv\Vo M.Ǒpmkbc|<-Kѓ;i*s,m8k[ޥu3,^ u%1*F Ȑ| ݒrbbߧtE/[zkjvI(.^M|eU]odH]ksrR3#]rdbe'UA#(a{H)^$qA6ݟ@S0fuuj.$ nRNIȰ3 P\C-g]pc;="* 4> 1TU FDž~8'G^? ?g){"=Љo@PncY*+2F^F=%S55w >960GTDa6,T 6AjLBg_ KtV 4 w骊U=MT(_*'w~A{1&Zd|a,3ե\jk9nlҝS{$9p(VT-Cs'A1eK4H!*FGi/񄗲kUl*G?UR!|Df!O-$J|(:əߴ;l~=uډ *[8Qt]WClָU,-w-^:?VS}|YOVB+h{*D3wICN.ZuضHp2!4ktӲjkUX)z$6:nUd&"4dv0r"$ k :0!ĭ|Щ_qdj* `Y8ڷD򶇓BC1 d!Sh]]u`*au u)`rA(ՅBӟ:bGY \mƉGoLt$QUoevh$ MeчK3KvxA\ &֩%s~һuɢ`\^.fBoue/ Ap hDBIqh_&pNr$Gg;:wܔCX9Gq &ӍCY0l%YDN&8c X_UqnǢ׶7b'h&3 ds+lpjh`J8ׯ2V FpAbaZ$G>/r4$ǽp3Y˦?_0$>X|YՏ0/v4oRdTH)qpQGayիѰ?‚3+w\T&T.υIѥӄ>{a\sKU@~As]ѾV1~~~ KW_cu^=$3 \Nj]\Q?^ijv(`EٵT&)J 1z ݜ* f*Du'R_+8w$1 ȮWrql jH\wX- q\t;[I1. ~WtiD^/&`6V`Ed}ZTߑOB1:YIv/$%#UT,~2*d!Ʉ(S8ƛp[Z-I+id+3zq:!UiS_:9JU'垐]`p$dVPnaCǶzpj _ X#p#5#~˦$Oea G!9Zfsu)0quFB+[cqutZ4Hrk$߼KY|Bߖ#/lt2dQ?Y.hZu C=WYH="fL"T&squYQbp8A-:`o4 O_*f лGr;q ?@l۶#s65xps<ݓ)1A4Dlvsu#Q*opFIҚ],p3|lkA0HE.AtQ@3=f4fO0?6'le9DCI."jEXC9FJ`@ZLCrBேG-Z@pfXLd`R`1uI!pR~=א~Ă&GiZ v&+tr~Ρ溠@5%I X8-X%+Ju@A~6oIBfKE.ܻM{bQ uhMq8'@.Fq<5O@$2>(YDH/ ̢7g[_ k[=-3/D '/cr#0 X yi/P*>{-'c}7˖@R9` J)Ν~LKfHvK>8]G\B;ru Q6WhzJ?A٪j92+ t5FF?5O!h!1C1ȫ&~=3]2oAl$O_$" /^ԆRFVL6ǣ_|EϪ璏dN)Va擌&Ù|2a:L\=硱Ntg,rE&5^qn 0.(/Q}\'"g):TJ|V ̹ل4yJ>G}(L / Q,.*LLц!KZf/ +aJ,-89kb{3ct*wYͩYiT(XKdj 3 E6I)7*ʜ7ߝž٥L-4xbg/7h=er?&ycGS{:%'zRL鿘uYblZ Qpj!闲6azM"α*Sdo6A<{;>8XG;t |;TBd9Z/+YKN yp͑;{~{=BT!*ϕm˺f- -x՚nY4QbH, /ܑIl@Z hC(sZ4i ;Im3tbi }!S u2tP)s;UBO@JW;Oٝ}N2ZYŷQFmrI%fr"I$@ &h|f y_vX0U}r _:PMo,LQj.O'eY n>}NᗚP%yX+)|l)J4;4/wf 𝨕e>L|m0|+-)[*AlVؗf99)R"uw >amkso9 g=-no ݎd|ķ ^7*޳w%PEU])7-!*yݡ{\qט( [=0%#wSGL{N!aAϓI}ZW5`EL0;VjAE C##Lpu!I^@ :قRڎ,Y6r rdi- 7ŅWgHy q n1hژ:q~Bo f=>B og&E"G#[کC\5=RVW|Qe9֫ڪADNE֋  oi)m Eyz (tt3=3a2.Jv-eCA,ݎ.~sar%%&5I{>m17C1V?がs,0;E`E4Is z*SMIK(ۭԩxn 8PRl`jp{׊ U,@m2E\ׂk&a{ wZj9*M *_4Ĩ^JB̳8[i!oXW>Qm(/I H L$8Iђ0Qki;ݕLjXKn`ٮ82M|M {;W JfKxhB]U:A* ssQFQfF2NmM#mdĀte{@^MzS|y$aD]xXd6>fN R`hQ͔k (kpByNXSpWbٞ"S[މjl#Íg=Ou1~*VRDPf"*wbƌv=Kypr2TGJN?FJVQ:@d AMzŇguR,^3":xT@bJ-lA$=UG| v>H6LsPU0ˏgf:5%)(AdwEV"XWmXEح ; XWyICzmiIx q3G6Q1RLy?+i_V>iEN.gܤuZ[*u_Y%h>OęZMjM%Į .Tv^o!MEfAᨏs*-FeJRD[h4%r@AP>kzn"hcϭ%XY45K7ՆCBq X{Gwe.br) ss1svB%lK1Ba"Hm:8a1ō;IP/h~`T[1x4nt= 7Z Ϥd'Ύ2XuGM XljT)f~NbDqiH&x?ܗ_MN--.f: GRY5_}^4vcA)v( u2T۷"+U5#dH&);[ *CF.QI @ܫ6QW 0g/|í8Zk{߮?镓ed)u*|(@}G(Bl}MA 6w<g|zbu.:NHNhUgb#s\Uc8j187T 5L{:B_,gT,Ȇz"oJ-V^!z5R'gub*x35*h谾 L[ M-pw%U3j2;,G4+i} ދa[osVU)`o\k?ړXlR2o,yu(NZ6 ZHH!vΌ 줔12ye4[.:(%Ke2D)qzC`t(z8k%#!~>ˡZ@jy<ԉvk`T5LN/Ijv 9j3 Q}խzqAX~𗄶Ni->2BaĪ\r|=!rEV[Cg&M82pg՗ON$6cr}vH܍8Ll–Rdy%( ,?',r/o'MHwQ 4(|ТQ^E/tn墨b<Յ )x1; up_}FF[62A~׌րH:4aDFJM@E.SoNh=~ms*Z1%!;)aE\SX\4kW/y E)5X,ZiL6Ӹ\_2l5\>U9D[ީ)=0NZ\_wZŋA^7&RUAIzH+ga{MdV~s<GUɌ"fR)}=ٱI<.;:N6/]d9M <)af}ڷ$gs矷jLh\׉|\K)͘wyx@\>ӛ)Ðr/NU\E[lɝv?m'6zGo5O| n4fFr[V4ktd4 j+ as cî?xt6?vPtg:a]=ZPa> b#jʹ!8Ck2^ۅDV$Vۧ #yp1=w4-W<Zm:A% i3#EQ0]Kh$9;;+>`#RHsPҴ=6p~= p#c1PVl:K")W4B~a yPߖLWC^:Θ`_~oJvl JG'$O7#] `J|гj«2?;tB4*̙PƩR S)eQMC[_=+YS?k$(Ԥ?Ֆb'7su94]9hQH-;ڶ@< 8)C(_XXm @x?;\[4\Сh0T2yO#li3^s+9ݮ1*'Qxm;&ARp(Aݖ%vkB!Et[k6,m{_;H13Of_#hb㩰0:V+æ[ކWy;`$w&LߑX7KəԶ6ϴh~ϳ^۲Ǹ+ЅlNR{\MgՏ;;to0 4T  |Y?_m,PWˈ'lBt'!0?Q[i`>\n" CFw#0`V.~T!!d7++?h۹WҘ4FÙpl-5ߞ EBwH9<ʼW+|P SAYS1Tdz+Oչ$U~! An9̢W{° }]T8d?J q]p.gi1vE|Æ=N#Ha; űy51X>F4hhIQuBn&̈%*Q'|xED-t퀯ݨWx7VͤGA==U* ,.cKsGtKtC=o1 xDBR0cpI \>{3 C߮k*:ujAIQRƴ|2<-8&f~I ay5Շ3]7ZdԟG㙏5}oέm>%\AiӰg pc!ʋo/ LPu J0͋})jܖa/19^]'[v184xC5*Dp 1CEmfb>K?5xtȹɎՒnMr5[*UzApSjЈ L#ˍ41LUܶpZ>A=b@7!P#"K0M8C FXi^!u9]CAHOcnCͫ{mtjYWWb-xI _fFwk*W5VgMc"}ݥM5 JICi1''gTH6Feߴ2AVd@lkXxaT}~ bo<!CrȤ3JSXn=TQ MpjlLs.l9:3Ω✪XaZyS4'5/%eрvs~RޏOr 1pXy~Ry.1>1~)8XbzJHrc̄$N27띨x-bJ:V~Z99^,}gM[Mp)ʯQ`E褭$5 ɵ\\l 뗾(Ro"[rI(PԲԙ;-Bn;ATr8'eCqb| |պ$<\/UWE. HOƢRr s\Z,:enPŰ_AVvI $d隄j12qݚbmUT$bA,Z}tN yq?49#Hn-\?ɄsO}!Ѓ&tC";ASjH/]VW*Ǜ"}C-TI/fa|t ̎LZn4$JSz0i8"Ǻ?=^j:o{kw%C'XH,5>\)̯1+D1vYJ.^Jg`Mr4(Tjמ}(n/b} rABWO~ vSKD͔h?Ɓ`R : m'.>^PeNR^iO$`mnRooA`kI! }&EQ|ĽE_4S[egͦa{To+傶\A|tuqHn3FP>vzIdž H@F(kvF}izL s+=i-jsØ&;˦m!(٠9e 93_ 9f*ou@ˆad4 'x \H48+T!W Kվe|=(}{r1 ~ɜćlD5^[}@)5kKpi $6 ]Y* $ P!}GPx3a?>F/ Xөq6iղa/CA}!qYrܝ~(_`2ȬCz sjb_x~,qa$(fJJOO`1Cg0~/!̰ C5tlp&.O z{tˎK^ t) ;zS= v c%ǽ2Qza~nn=#Nȫ˪.evkE1)[K+brJPe30#=޵ᤞi`Ŀv>v2x2\ >I7,,d ʁUEͬ!y:ߊ__ϴJ\eĐK>@ : v30몃dyu0MuԱ^)6ǜtB$QɄZrrYr꾃viR_Ȑrľw_բ(m'-e;AlCv0U|iYX"AfhFfN\1 |҅b皣$~Ӄ'>hU:Q!LwQ!Fz6nsVg 878A]ט˧8.PH\6WMgBF@KUH R;mO"DvUAuiVdU}œos~8?94&.&ffK4݁?&;ܐXBgW ]3o!YR0etrR>zŀCִו\TO/OF{8abp`}L]t XmW. Igr tĐw'Us"RR(&Ri 5q݂}gtنg&LpB>٦UQJ"#cqH0pLKD kmb'*(ͷ"%p..|ÍDZ$̯1ul;&wI"]IFp\S=+_>sՑKx y]Gs9{|\U.-uX\ "}dOd/wi_O1?O9O"켾S~:b53/9Oh䤈Ғ"Mm7P^uyRھdG (vXs>{"E홀3*SMӎҥM k<4~Fbe4Ʒ/ 1+FDZI1lvN*V" y9?D%h%8nX*@jf2ET P<(bq{"oaYg:/KUGzO&P9@Tµ4gB. ם []nƗc Xg8"$Y)4~dKә{}˨Yʈ?TS!g<zX[ܲ/G_+)4*^nP,SdQSl1e AMQBϼ^`eu,nx̯jnDmUSvm0 w(N÷q0Q#2oaw`\Q-j$t^'Hr6x].7(׿D~ ޼$+?mg1`d?MDz^폢L }?$rzO64ЎBEncYu+t,p +^u{$|?* jZ\Kwi"͗Lp!ۿ;Jh.$Jj Cj c¶`/s}Cy!ߣoN~:QgGa@Y3aa`v DqةJX7%Px]ar;$ (ig 1|'N(dҴ.dj^ S8<<,8Nڀ 9~'2#g77Be? yge ^HFʖE#5˝zis{ybΪO)tmˡb/ni<@UNG&O2.1KDoՁ@4YG&L&ܹ~ T(#Jűhj*poo0quE#kt'JJre8( Vopܻh Kc[mw@oj`G鉕Y񯅡dI|䗿NIUu{}RqyꖷȫFNmM[G-] d}zиƓ:l,G˺{弨nj>T,H/g'A`Lt=Kk;(fn(<3!>\e+-as_YW&WÚ'SPKG nNX%d[mԕj8= zeBC*ǹX;KR?*~(Y =#N0 [3# LP~e|`jS{Q6,i ٸƸg9NJӆ {jF%i;J@@:zA aB۾2*+wzTX!RKe oУXܞHn \~snf_!0M/ҍHU <.0$+|d#u32BIDrugWw~ jbPz=LbB˃ C{#:B7:Te:. #R@іe  p5|x XsEpEw۵mm%b0\ap7s m_B@Hw?wD!e7n͜1z!H>o{CM LՖ Bm 0Z *F {PO=?~vD\&!ރM|HxZ]mdm5¡>w]cR()gg[.zWiIJEOͷ0Uss5(BnSWKHz<04pcvj/YA͔*Gͥ $ U,{o>1,r-@}!T}px8Xo'ƱfVjo3YH:"԰>d'MN> Wj\Q"ɑY6ʳA|U^4"2[XHoa4N|5 ?$YmVIu5FB2(,Yc[ɲJdt$mh?gTabN8D7\dv宦>Z b"Fel)^٪B^Iӣ4;Ow9J9x˩Ux2Hrċt$P7Q!ZL ]2 $RZ0[GԊGd'P[b!{Es G!xdy(|DOnr',l,pYF)bDB"%2NQHC4_`+*_m/uPg`zq>aD_X>=K^*)b%Hx-9o핪BȢʑNN^y;`)6K% __ ؇ȓG~9YYrXyMѶ~n O|jO8~w)$=Օ Um[ O%,@Ҏu'mp+1a̅'g tkmo[?aN;ܬ: +v+} dXwW _R .KX9-aiqGF<n:NP2%JU)UG @Da'a@F\P:)ulhDzd5xHm?ݫ8z¹u(O([/٢i o {ZK5qh1$WK;<Hc|Y8Pcw] JV8MQKNjj0[]Bh5kb d*q+߲ Waߣne3z.M,)5KUq@+"S>%eSdQF$}6VK=?f׶ԍFX!uKz\p3ѧ"ew'̕}|!JH8oc{K b3zrvN3')`ldׇ kJi 2>f`kedLjNJ2oyd;r7{jRQ 6U-.¾,83Q9z$cluo Zbe,@Ԉ+_hKKz'a"L" 7 `#7ǚi#JgD`ڏޭcࣽޣCE Y{HZ8qnQOv3\S@vX2GM nӈdzx6ͲH {O=%Η}RW&M쒻M5 ({oOȩS#l<$uՑc/_6? x67h/MAǃ] :Nd%#a>iX}$Ė {%!7zӔzc\rL/>hd;E0 bgC6V0 9 F"mV:0!-)1+Mc\.cY9#'o>ˬ HcmCw4Ϊ< a_Z뾽g/ߚ/_+{xu&eOjv,cORcس2]7r4!*KNA>(xr/w4 C!sU # Jst5HI;Wi"ds3I7˒c4A+}  Y&R%oBݹ4vU˃~čCw$d'9媉!OPИYt*~;)uDbsv<9p]OXvt&~cE,%jt:n9I4j*SJ%S"jTR`LSe99gt.<>ۤ2Q5lԤ [^c0ZF4٦3i@&K^Z8ZZ h]pdO߅LPh2.iŎ?N^Y\fJΑҖ9L,XYpTO^V TlW(:rt-}x`EI_蕎fn[uDdr=g %t$I7\Ђ5lrZs- 9k\qCROzm[?m=@%hTn62\` Bk(jՊ#\T %;@M || [14-FJW R/aJ{͓٠,>P,wxMxXJ9Rvz+-"8uٶ@ng! Vdy2x[\غLí"xTzu? f9;I=ja-`N+)Qu?>Ϫqį˅B:E2JO ]K/O{4`!20EU+UFgͭRqČUlHNx -J< wC"?K)hsbcdz8D#&lzwYrрwGaF1QB

    :ݔ@.;DGA{ƽA=V M^ӉDrhnZh1%Bbi!_vo+7Pe*ffV%%ԓڵ(>{]5+a9l1$|mO!-cICr2l:3MZ9ڻ # 3{@|͗5gYL\ل-JLT-R5戒q\mCmPE;M&d,X]X8&1tcs-j$ӊ-4Άe]dbFޡUd᫴vETHl ҺbWjKԇθS=5{Iv՟+xlDJ6; *Mؼiz[¦Rm }=s9c"j=`zХ NJjSI˻i}ʐR$n/;GGYybft4 Ig9N^7%lﳨXK4Pa3h nİFnG!_@]qiAgC:BM()iEߧˬ*{:p*,*r!]Yb\ 5N˔/}MొCpc;h7?f3iZaL|Cko5-!4qOHt_i1:~ZS8x]ykL{Ɖe kԦ`W<@U=VHv5+gALUɕs` tT\d=?tþ4ZչSK <n>f"kHv掱)xz])%sؗ^9ő6xZ@n@rh_ᇅӕtWmAf>bEl,iLrA iHi8+lflТ{;4 jxML+J[J8 ϖV]J(GFV|6y]WGst폟ub?RY_anPb_Z(ӅM9d64uc"%57XtԞjQ4gS6 ]]&HԎpV8Pc@̦17ꨉ^pfC (ϏmآoFH;W/DF8֨H%/%XgJڮ61\Ob ҂'Gjx789<d#\xm ?:L%bМQJ =^UPK6HʳL~\Z֖֨&:{߰ul )L?gG _ן| n ;j32*M-=zQw l&o S$"]֡P<hșm/AY*FHZ#U а=fY5, :”ѣy),ub/-iY0`@k\vF%\7zyYZmŵ0)|{IfvJHs1$һH*7ꖅ++1$r ʝkL vG{vI`n)&bO/N`ը}{PNr-rǔ(88#tw9 ҢBekxa]г7:NNm6 5):?{h8̴=Az|`2OEqMYG-B))s?@ kGs_1~V]V?B2;~K>"c׆)TrM)Q(n4augN׀C92?oztg~m cI? 18UԿ^Fa.V4sY"H;ޘФ!r+?3k**(@!t"hbMzFǞNH3{p;(=!,yND=xݤ%QAm8њs} Y`\XidTa*{ѪN9gIBCTǍ,GnT/@e tS.EA}FbeQ=Qrb>kEG.]5K14.RyTŠ?j?5 ~F֗` udyH]V{^3Z[" ~q?Ɋ;#!H.],Rx2خ)Ю @B -%3ᜦ(xJLJ> w@6)ʕwU\zncRt!Ed=E򧍕YK'qd&FZDs{2bR숺#5W!*QrBpql^fR|ssO{Nj;@dJJ-۸yjGgF3 HBB.kB V2wk5-OMf}P!;w2'<ߴ\E>l 3$ ^a l` x90G<`<{:O CJdChP~Lzf؈P!Q \Ō &yvBZl{SkÛdL(^@ a$B(`#p!U\K 8\akshFrҿ/ؔձD~-^C}wDͷ":"ka{ΰZ(WÒjH,E$yw,l(O u E'B(fu.cqow|+XpMss|w4:(!{lQh6A+kէh߮s@$2D F`O3u$n5{F>;ĂU#'V[/ M^e0&b`\6+ojZv oTH^Y`YtLp402.Z2K? jc#7Clo*P+Ta4sUsWkNl{(RY:V!6Ô>%zȣ?`PC2#V&V0(: LFI N4N1!jB{ŷZZ\}ji"".0QZ} 0<~5$v_3f3Q2DžjqD`V]nW(΍=*h@lB뫔6 >+zѵw*-;F汝zozcizG4'{?2hcR z5;2𤋮nMkSu7 AHj]Cs>;U.tY6&֖*]5n;VdW*L&Q \aa՚4mKb^1mU^@)霤ZT= %mӭAY c -Ԉ{<-/NNa:Ħ̱]ԋfz> o=,NIу%] mĜGߺS> a2{[$^d ?l,WɅ{[7i1 @ȭ-+gW q?}?&+C];]9AXdh>Hj^^cXمVPM]QtwSsio|^X{]"q/=qz'Ü#95U yha'k_0Em5F%SܕE\0NiDG]R )7n4'zpp̴{Q d͐UX3ѠY@uɴ*J'4*DJcӟ !~VeVf?,QD6*m62bR \DC@Mv,Vr'J'ssFhWr7XѠF@D9=<\{&X P^6Hg)(_[)ǚ |}.E}cnjUz#sGQ򸯍$*l2&g\# %fH,G6ɟm8e?9:Jk UU:4)z˿ b:UЀҵ%H ֡)CrS:nGUħhmS2ZQ2sIjW*M[ٝQ0e RW1LfK *N6%;HI-*/|iiI=x2/CӘ8"!R#pH0qנN=]dH,X:lZS`.)kttFiגv|}ܧDA5L%!54RՔ3;M 2+ζT ./ێ.)IN5 fF,Hf O4z+hw1sG8mjapyEjӼ0E1bE xr,4p ev꒎(~;Df0%08%m(3-A[MFc=Mx~[)6ehgwƌ'C+ܷyB!hϲDL-Q8Oל뼲XH|k7j 6%6 "?zUk9KH9LۋFuz]_D@MΝ 3F8L XpK7['T 7Ct/2e8s; g`?ʟ)z yD?EB@Bq%/{F^=(G)+o%sf )57A%oXnvK㹸FVAT }ovā;Kb@zÙmeLvuKpp\e<5C+o3Mg5fᏓ@&8#J9̵69?SJ"va1^KA=a.b95|y: M z0Į`lأHÊ,߲px׻rqy<œ 8\,zo]Hx䊺Gǽ6هE]Z}%6zȪg9μ !҃bo1*Ft_2 o*)-C20~!jǴ|¯87`w*x ~kU]^yi݀jȊPDgb ܦf;LhZxP@ݬ apeyGy6[(,UEjPQ1we~Q͛h HD}zݞ]? ]Lp<߃ɏa8:%Uɇ 4 Kf#K:13Ԣ1K$-ra#A1069`mYâ<5, Y29'^\Vp)˝_s T (\rUjDzO g ɏBT^YGa幪Ҋlj)s8 e$:ШA-8mHqxHyWk߫0~C0{BN-ʑS~=4,)_'F\3$tHɵE.JdsFq\I.Rw$~V{ ? [1 _ /ٸ =TBs&f,JX4~!t@*I3k;˧&C=NNlFI .@B!/83 /IiyS&jr4d:kBV}/-)&Uc ܁.XߌZrɘݵՕcypsѼPWcbAud`IڰuYubg^l -Ar'TgfÓ>4t"ٔ"΄ҙq rvEIAؗ7JGG& SAYvc0i4Eg2}Y^4Ew ͝bS:VZ^vSӎ!`z|~8"x+ɤ`=LT}pq峁C7π9eU}OL}i J"KqwCNy ~F4 w B2O4'h#C5:vL,In9n1c'{hDzzAv'rs7a`oV6x_,!>C>s;)4} weh\ \`FMȖoF|(0 غnP  CcwTWf jSX#̂>L7{3p#චxt e.i*W fih*DmIݠUsr+yZ(:tvHLu!`Q5 ;!XI3*0 =FdźhQ%:g rC2Jʺr1 TcF.4r4h4oIhk)-]'vc(HD@hW) #e^̚# %'>GR?`Hwvh`:x&7!O j:\'҉$ q(DP&/$ We=ӑ׉ztCIOObzW/wbB/cQ>@*gJc>Y~bמO]I{|tF#g?ƞV)&.>mpϴPq'.!17v:&}i"se~:pd$h'I6%w.'w Ns6zo1<=aJ)gwvrJ˶EX L, FUr@wijVϟ_WG j;~5Z>/HZR~Vk;10H6~q+l[[F8]A`9=wjOg>tD`Nj~86Կ@hq Wb f@c.+;Kӡ F.]%<A,^.^෥Q`61o(s״=ܹbyj*<9hg-HLŲM;ZzVw^PV9$w(&;8 ɕM ̕KOonCD_5rN iYTQ:5r@[\xNw"1Vݴ nV۸Ե 8ǪASC.R(sgGDMv>鿄 qw˶hP\g-O}GV)Isꂝ;>*n Z±h_nd7h2 wب]VGMnzޙ!ʽb/q2UY\Tۄ{;%|绵59N-.uNM{ ~Hې~,A=p㽪-P!uQ', Iw魊MX~-u.3f6/3Yg0i957 [Y_Je_ZDŽH ʢgɒA\`@ egܔlA*OSȓ0C5s"`!zz#Uo/DL!'wmel^DFt]h+G[E[dnq9RɬM: E3H]ahlK|GS`艡×1r+$aŒphwsSAlN jE!4ՏWMg~ ɨ]oPXvjzWxh_?N,u@ hc7*3p֧!k18.WC̈+mKbkNI`١W 1J>F B_/.c55E`ᬸIJ)IoxGp gDvxΓ\L9Iِ=)30îϙPBI)[|53od)G7 R>"avMދNcI'(ަ14+OC˱-G *l[ W5@.ҜJv~"(+HJTh ' ¤_}$x'D@f"2hNLP\7MY;XŊ(Ac&Xg4bYL 'GIۉ^b݌%$؆utRtgۻ^Y/%,Ơ1mątL MnuZ!'+~fWk|[w @]:KQ(ͅ4zcE&5Var{AZp6\)jL80Hŀ0wkW|D y ^,3o;{7һLܙr :;s) Aem]Y/4M+kkptHh0 ~]DFST?NS*+2Qe!B6N% <-՜kԨ8A'@+xD/&B kw(JK ߀5{m ]'̭ZO(!uK==ᓸ"H!|/XzIT ,SփXLdI8:ťY5Xol?sgPq(~_侑~ZƝP8gZ pyK+@@.c^f0`*;W5ӽRU҃'?֠SrP?=,P-*oK Vs0vSĒbL޼nZ'NuC% k0 x`DTTIJz7Rsuj`q+v%ޏ!QR#g>m7IEGT;sco~_B)ǼX*/"T"`PHг&hԧ׶ɮbnI!m2f yo)MiZM.~V_ƁUTTp*o>?rb5UQ-Pհ1˳ztPiYGEJmicyxRR?"|-UPD7ӤXqKV3s*5 %i$ǬϸJAq@_Y4-˔Qd/ó[1B:\AFPd5ZLW'lZq_OL6a7T(Ү/3;]`ke۵F洠`_ /fv A5ux',= #a :z^Kb4ń肮r~ׅ_vg"ley7Y%tj  .ϸsxљȞ]BB-23C0O|Y[u3Ps|s|vgOq5Q]=59}\^f@p5wrlx29H2Pc\E[rXHҜwL^IUƹ)Ro`)Bע𺊷?%'Q;s(gsV$a ;|a+(1A˂? ,vu tU4YonQŨ~ lğ%\zdb;*ɑ;(N{{R[.8-d f{NtE. w|[DC{MLW;=32`X *])I,5Mq0%;te& ]Cb[~$[;p1(223T8 PLm v$v+:sQG}:[,w>ưJx]EL.̲T깯"?҉i?EhXqV(|_Wyl xLoR2mats4\UOu`Vz΅azy$£U@ڑ-c1M Lh~7Eke>bW?Ô7l9f{##n#^=@!h Pv6jwO"'b>^XIIB)dW; `6D'+ 㜣~Xx.yO1#hȫj{'׵؀K,u>7Ɂk2h2S8*N ͢TGڷR6RJA -`Ž͵1&2ZS.;gu̯R|uH($Ϟgz-:/KEݵvcp+2Ef]t2R_Z;% iM"1 R@UZ87BpbZ7QL 8x|xYYQI3#xngjW0~052Bf j>W,g1z_SW<f/&d^CS}ҁIȪxgy|{6 n\zMK7ٴ9Z%92a2봃~۲YXzVA<::R67`Zxh!LeIM*>AoUL;ug8pCyP7AG.Fg|?QQMmO"hgދO9 M 7)BƊ ^QM]/0鞘5νJDlP&88M. +GZb{=O# Z[zɖ7-H5!m"SF^M\ h&sV $M_,* *J Q9×5%2#3a7j7O]Ѡ\` ' >zm3ϸ8#[y RR|AP3>#"^m 1|w+cMg0!Eoj#bffvg2hAeq JJ`Ş(sY'nۧs7ͤ1ʇs;a2=³kjSv᯶}5ҒO__T?݋M٦%knq%Ch}W90_>( S8"[hNÎX#ULhՉR?b&mS(FWe5zX󳽺YS <+DDzB9lx|zndw-4=ƞm͏ _%ɑ{+uWs?()y(RnwnqFUHRn%|&$_,c5W&aQDIld~SqQij"KAfN7}"d6cX2Wdi lʨX)Qr`1a[-n;# Z|P޹!ạ2i;qf-Cvn0Ҕv~fVAx,^)Ȝ/MvUxEauMA26<;P܍,_@>`S0r)}˜JF|ߗ[=M.}"dz|CFkdĿ2jevr%wTN3"'wDK"]+7~C{ ╭L>Dq31pr 1V[M#OM0~a/>5kirI~v$ ;/vЋA$6S L|Ѻ:2Z;@{(AO*jf| MJ~W Smp@jOP"Yn #0MG`E%IijuW)06O;&%mv0>R~: JZVR7{_?:*ὮtU4v}2!s˺zKXwmK0ro#" BVH[܄,D=Lk0Zڙa6 4K$9a㰯A$ڽكxqڗB?LEMa)?h+o26pA{_Ύ,0ղY??*FD8`T@Jџezge: {* l<qTkE'v'"&}D]Y):EW7kvZ܃m  ަqC@߿$=}k[-֭qPY3#ݭǫHSqY=hH]jXL%6k'PVhHq+.S7*~Y!x8M+5ٽV/V/KSC+iDOՀiF%W@KV0H=yJk8[Q&d~R8e2s`[tbv0j9۴ *TNpDj;@sdX? 3)bvaƤR >3{~ | ']6wY';yIwa=q숪XNP IY_z(x.=őjiy%_ܦ 8~:ӘZ-!U9׳V'B|mΞU\;Ơ.MO555 l U94A4Պs_(tԎY)t[Wm>;pXtu8UfZl+{#«$Rӹͯ ~L=%1<=G(s2amW|C!nDCjQ;N\> 3BU6O6@5 D"R"IYۇ bYc5VK}G(l/Sp;ozaZD-iwJџ])Vd$=83AzGJR5fGުHM~2!;#$I9Ih Dg- qcBb,P]qx*g"rGn(rX0X.{cޖ \L$]:Me_pQ> Ш'w:Ïק7*'Sb{N}U/=|:2"sTJq͇uzo0/pvv1# ֍#j5!\ *x-C9Kf(UqC*?Z_ۚ- }H2 W1OmYr>>ŊD}z װ@3S&'L~ t'ツAp)ZppN-7jW{oI{N^J?Ps'윧FF[)]167Ad*deYW,zP(.u0i_!J|Hl Gqfy)Z(YaV*'_b34H'Nz;6:˝Rnnb .u= λ4m֣Dy] fPU_S6 ط/h혋΄fz^ 'JHB#X P7adP|+o#S~FT0 F0].%gy*6רMjs6v ͵xjӜ1@ͫM%!<(=]0,.#}aCaP' 6XQh]Џhiyŕeg $~5`-}ԯxcM;u_ [T{P9H("Ʒ R8 ?kJeCv:h"_ޖ9WD~a@oǚ HojfgϔZaCԉu0r\w-I COgzNO[-{jqr|< ;5¸ ZJPvvgc ; !fȃRrJU;?xentHQ b{{{~UE/Cdq7Ȅrh[j@ܦ0Fy~I_)> イi:qzql kڛ|wțzgGkc5D^h| -QI 4T_c v5.\H Q[^).ҫF}{pLy{#Jy0k%9t/USg@kN:Ցn̔L zt;@tZ:5ͼBNڎ[{>(Z"{?6μX*kG$!ڧ(2"]4ՖuN>QkǧW7J=>G ϵ,ݰ}UNkқhʩp>&ms'{20EE=CDM(zMN2IêaylL9jl4`[~/zyV!FFR*'=WS~EOuz4FF-tSMhb}Zn)Wr Dll?uG+!ě*FL'spSUk(6[l! XM{s?_|̲gYXGȯ~P2s e7P䑧H ggJ 4e׉0PP#Ok rf:Zs"KfUp}[*Cx:]0Ӛ\M,R"Py+ 1[/}[68:BcP pmuODb[S7G_@h4:^G(?%_-K:Q #U+A--I]'r29mn"Je˓9x:|׈0|ؠ 5֏ wDΔZqa3PAVwNG!%0'|[j h4 _оo>rӝ-[+ҡnD<䵻]MjJfI=h\͓Յ|KF6Ӗ/,;ֺ(.3)]Hb m"d~ .gb#Qf&!hڏb8v}؛͐G7~j\!Y`R=ƛ}CՂ{zEh`>MW-qٱ颡)'Askeq\`SE1Z/2XP%6B0]벷,ODc ]nv%GD>*DyUq+ךܙ)yiݡ{9WX'T 0r&|` ԓ0 Ò^P]afg;tS'Y)Pǝ^%"f%{=<à 4DԉΑG\R= P^L9 c#e̯_=~pDQqWSRv!wUJPZ׎9F6OϳqϚ1878YŨ.:X8<UCU lzTfvsR+\xMzyH?*O  \|>Y9SJaW3%>?I9{kֽ-{iUV=6]E=Xu5LWL0'VV7ZfaQk_S^Tqp)~!zLj?8/|9ғ"*_՘f#mwx5 !@Șvd^H9) c2+l0 ipCܤA=يCOOo9OHF?+W; 34tDBͿ'J)_DBN`P1h.!ڹMyHku\̕P$xMFT۟86/4/XA/,Kް)$ {IHmh ki|Krn > BúIrTc1 IyT(w}LI]kCq!SՔC٢[a󖓈АI- MߩU9ET3uGXɬL@޾}&G$7 bpIR 0nY[oSa ]kyiv2\Be)e wޏ4ZRH HGaSt/0Ga4A$=ň/fUbl7 >0yFy28qVgnĬl+G;neha:VUl\;>?ZcAY^veHu[ZQT`_EryifQ_TChTwALJIPOaO)$`reWߣ}MxҙZSk^YKS gS`tgi`+FtԻ[a6EJ`%+Y;Qz%)ŔDd7!!Ifbd/%Wt :WyrzeחJl%cm:-tCŇw.Q(n)QӼ4@iɉ3Zgl@{1YR1~;h?7[ķ;6})Py{F"gJq7U`Ģn .'[bܭ:9ZNl䕬w1iiAg!2iB; @UvDP*ӅM^ L$< JXJRP6 1ˤ|N撦_/Yiʃ7*[L:K9JPit(j2! %[qųVa9Ub3reROһzJܾ\lϬ3ߢuk \+ꥅ{iU!;?4RZ@06b$>/D\?0_zR@OtcdS!M\{U*1sGc J:r?hKpv8 0 1J$wUdk:A@BXZ_]NJl&ELLD4VEdR3Ԁ⬱<V)"ņUO3 LM!zueD-mXU !>X]]4 hh|o8\mo5tK!A󸍢}}BCcjT>@͞m(B感dOy՞ʧDcrdc]Jn+O]͊Aqs $' ^۹&˗pxC {o7:]7ӠK#N-؋Z7 q1}>bM@=bSoqwm0 +el Em!r7" UOKh{gv2eOT<5=S)f>+v)J~Ǔw=ykDx^UOi`՜%+.*^t? T@Sej@CY=8i]{ ?n9+PP?j#ixF)IkET2&,G1:oz?[>q nB$zTmXrȩ߂/i T vEa擲O֭p O@Bb#D%g)^} : ~9F uaũN% 3E߉ M KB]5r.Bx"T6*=ஏw1Z4$iYAD7:ɡI*uo-Iw^.t9݃N<)86LBvJu\9Nm穴^6̜c ]:bnBo~,<{V^`c7Jq'b-xϞ[_%HtWH{{'̮ CJ^g- d@R [;IȎHUczℵK-W XEaVېS'K\Ke^D&NR+\ )0m!dUzsk?A$I3߭;ة׾5€r}ET,I@G:g;KM1'~)aIaK-޹5Q>`Զ2f 9Ev@)^ @}4F@a ׎8gqjzY\X²։K] יhjib0ev:.wW;7Dl5 Qs3<: tm<Yv3ۮ7s♋7Kyi{1b{7hթk5r}wxlN]<_g9@=2fUg`Ʉ5Je"/dGMѠR'tX'ilM9ުwb3[E_eAɶu!yv L5.>Q.w1\BlVȍ;X|x}t"#3Qg+5-E볼"Htc-bjy0MVZL}brqh㈕lC)'۝2HQY:B?"9Qm{CRB-T t:: G PzIz{Nyf2Y:wL^5b/ⅲE'u^WgaQy2>6d2 ~3fO22d;K+ 5`0tK! 4:\ǩ숐+m2\ gݠ=4+=ˠnKmseӃF < ϧV^5S"O.Kĩ55py|EmݶFMN,ٟ+#|]8{'l]1y W>a7?(D33i/N.~DOݲVشdۊ0AuC恌Y[\/|Kh9wQ_5_zjl TGg"j> Ǘ-`]9+"`2XAh7nS|4:ͻW |k&Ifu!\ha !X Iô!Б^q')ǠSQc%\{C*]L~#1JbXT~Ve!`"gi *X[QmOi^.7=$uئQ얙GZ spW,np~rOp;] :N䰶4GqeE>ȝƳh1- -*$VG++8$LF5*3]}](6@rmF}C-.l7!ylREJRGIg€G,Unj<+d) TVJ\-b%yVɱоɃGjhAnXӼ>/wӢ̥wU3 KlR㖦{m$σ%;_e=-#gq}Pp7~"V wwD&e a[?R-6,p77byL70Aiei"+mJni;ً$' :³Q'kӓHvIk'wMuKYmLz~v 1OpOOvQsʍxV-$%^E].TRk@-+kmNJ` 5 ߺ 9{A p,=`+ [[v?}JT +*3+IXıc}(a9_7Ȗ$+ Z_I5•Cm:=uxoiMQVe:la,\շ3q߉bGSF7|f Q|U%ʧ񒙕30ݢe~Qޑr,[c+}qqr;o 7giSl6CsF3Z,Z Nc y`=G5&wZ@ F7CGnI^Ëk"jsuykc'^.S)q6`,W[cp`ⱭJ>UNDTt̩_uQcܖd lǺk46X~U J>kb3l)$+wS=TH"ID).EwőOńC/0*41m g>D E% oI1O 0^y/"F'k+}_Esgn$Tݱb% X xpžg|S^W`__e6xkS͂r8XE!s;vG4j_`1+ML>_Ɛ5F"Qoaɤ9<ɡڻ =tj%")o.A rlJ}pGf12$ C2*goH)RB9}koaFN-Zs/ԔN:\gKU*v*,f`+hd GꫢcK;~߼{iޭk]81Y앂+3Kc/)YE1v*\56 #j€P%j6\lC5D=W_;[R9&A5Na;ar.XS]N ӕPh&_\sh/B1zϸU&$oܖD6]=]N,Ev jGYFP/߽3u Kfp$.,RӊY's+#ÔYwk6Y ?x3އ{rZ"YD@_X'25x'׶JM'6 GwgSx_=A afI ۵=ab [ɵ 9Piu=_Z/& ծf]jzs~ N-SQPo:nM|2<"/"dXR~Ͳ7;ue,gw%鵙C̽RH?DH*Z dbO8T@(q^wh3q}fmUW@)W;HPiډ^-qT _OY!ZSRضF [j3T_der*)wSVEjURNEM,4 @u8)YD6\iZf%\de(>ʆ:";׫&2o6Pj &C.U1.M}biB~Zh2S'#6U5W66ri~z< ȅ*uO –_@Oo6i$hR(cRd, WL"PL3t졍j$hR"}۔-;v[F,1`e@ $Ug??˾ROq=YqaŠKF̀+x]40Kjy :mp"oP dYAB*nU.c;wT^~B)k$eQ=z]-PC,ƨ;:.hZ**u1FJmR2`v \k(ƻȇi  *˨pnX۸"@'q)b0-R(ʛ1\'P&'p![ГD~s5YM+ug4;ܙ(|U|{&\iېjݙ) U\"< #,)T,ҏF[sE}_,0Y47]A|FqF0Ųc31/]Q_2ۚ,_j}QiB} MUg'ri)_#0 O) թ2I'ff`I`lme}vR̾IuhM( iަ/(#1͆XjaWn ud0wϰnsr_-@O'o&(zKˤ`Ͼ0q*fRMZ̳ u1?=slAǦ05VOObZ,ij kV 5?< #eIDhF yS>)z: 1#Sh&8s} UB`0T;`ߤ#CoF.T9,B#GexRIۆAtSؙٛj3OiI~&ǂ@n53C;ή.@G.7k0rA !]ߟ"X.{=-_ H__| \(LQs~H3ܲbVC JP+FM5`ʥt}d` !_^:Gm*@)Rh~ǀ`1Fc*Z7d &z^^,ob΢oJѯzw?hGW TJ<Mo<< ز[%]fA|ݯ̰XA!5;WҭY]i+vk~S]~e7Wcp~_b̭U'K o⤮NOY+WFvT~8Ұ A,uã̱q-Q3Q8sD*>lu#Sk`^b5$ŐQcaPgdܙґCjpx{Q){fNש1i_w0ɩ:x:jhn٨䞗w"ã%Wn;|uwZ UNŴs5uI@Ppj)XoJ"+il^e_zխ\-YJ-w#g fu&b?@~k!CC7 G( <w.:. tSʅFtrH, 1-޳&(u\r_#03ޛXeM)myD819ZfiUZ\ca=F:.?]y9k/OXgO/DQ wgz \jH@睢,c;#M7=~o?T隳QX@xHlCC1G*F|tSxCr߽e$}PMV_Kw[S6ŲȤo%v*·m y{XjvTx+"y{$[!Fgp)6JJ&VX"qcseWy5^ui$Y‡Ԟ_X}R|]U|E6i =rhCx&oQm~( PL  [cvIܜXOڰ4N0F'uZL(ODRQ*'(E7{mSg(bu-gh(n#ϻ{rwr,)_22'!J}z~ Xʱ8No9SV*A'>t^7{pE^$mJ@V%BTg ]cckĹ)1灻co%`Wa\ᔢ_$8+ry%@u/O+l]|!ER2 g^q!]ӲJrA=`eZͮIIa]i<|6(W~G1 9gKr& 3W4_R7YkbSCYP1?nϕiyag ~`!+X[{wuMq q2^%HS} 2d[SXq/ {͙5!>=AlQt `-CDVw#OtQm6Y,K -xP=ǁ:-b'd4 xSvtO(+K>Gԗ[O6Տ cU6G4…k3rq0r?Xt6/Jk;n(Ι*J- @ b_`\6@4-t8!5*=tTKÍeI_%MR(>J#=\}$>FOKk6ڽNKr=!S@Uʤ6sK`{9}-s 'G+Tȥ}6ZqQ <Yswn1<R%qV4Iz@eyZKجA^*ceM,ܖ$>ێ/Nևi6y[zUayAXg\SId^D%zHGUu'xP ŭ7=^uyF hZa|SG$[qe>dks6@ 7 F(M|O* xoC1vq4+Qq[ u,'i$!&U_ lM094-ifчqrE Nk6f6xFf{[t mn17D|7aHP` p`@v}~/rێ9ԫ-yvG \ `F@pȁtDQ=IJa|"-2חCΎ?ڔj% ɦDvhS4$?ؐn|[JZ8ImmRd Ypu>j긱J2lNp"-; "&aNHw Tx  J*}m1ܕMhbm]5A|쬽g(S /^:ګj1vC(k鯛a(Iܵvfe}yiPZnn,|$V!\xgg'B"F- A$+T8Z85U!⣭RI/Ա0äYJoBC$HD86~gµ8f_g~kBm3$>)!&p δ C!k:5sQ1cY ֜STTZ( >ivG:*$AtLރRv';8~DΔ]rsNl9BqH\_AqA+CT V!ʂb]4Tʑc Wg2>/XJmgc\iڱxE/5tÄ8y bƃ_ I<͉c4ȒˁKfwȉ5'A<6rĉl!qTFiȀGBd$3r0~ cdbҝ!XP[ֈݠNϑRm*k4$ (LѡRaumMF=,W:Fyzu4knŶZGCrp7,aS/E D1i>XK*0zi}[DZڃzӗHLU2=3dߓ<"(9Y@H%VgIj[Tu4|Iw.'7BM`b8~/%UYcS0y?!ny+۩򓌸wYU}}+#S"\#z%I]?6ǚּF{8W>%6=ۻn\A3x%͟ŵ"8Vsޮlc{O`7~h߁=( [ݕ&@b{g΄F9oh;o7~5נa&i7hA$&G H&0(A]6Em@$U|Vp@.3n~KMe]gjAƖ9ZiXH/bd?PDe[A$ǓCd-ڱG ν%R186gm7DOYKHn39&AӈTDF|'~.G))ףüf(e֚!n4VٵOFsc׆:yID2u~v~Y}Ic &V:7LީVZh"ͭ@fNtlҀTBSϔ%|VU[?0@ilI1>wR7x=)k`"?g !i cR!WiW:r=3)_Ӆ;0=djdgzG40$lIO_]'yυ#Aeρm/u.mNχ}rr23:Z٬.YP ?`4R,p\0F00.+$uiFAQpuox&YT1')=o*w,U 9NR~pO%"yUh cQIh^TGOr=s=p Ls_9pEu ?Yqa T"1.q-A|D}ePxl2[(|˒AQ n Rvҫ3t^etl -N$3rȦ eB=VsĘ;Beƿ|&[ JE-VY^snwGS;-zp+rU^KH8,q{G|OM%r*i,;S.jj:kj:k&N<N+'r)tFٺ*Oqb4[fnmsg!Zꐍ^N/M:B7YgRԢ ?)Ibsˁd٣tTn(󡸭A0zn[&|Z?ߜOR}0K`X [2y!PR)ěy)LbOƐz4LѓF?"ytM P7f]5v+! Zu(8 WdgbX1 U}PA T؍%eY4߅2>_(p"t@Y:f>WZWn6aZj]33tFrڬx޲UOZ ,FХ$mecjXqc NJ:Ỻ/"fhV! ThaE`sZ*+Q#H=0xj[GɟB.='::q}l[ʪh͚ވw̕jd%*C0Q OiU/j*6npďW]:L<. y~o" w:1pFGXijm^0躿J[LOhj~Ěz]Zm\2]:?KJj=cHx*ăZjsVV V( Ÿ.V7%9hc0c&H5VxX3{Xvd7=MM^@| :{ e9Ɔ\\fB1.vLp1,zᆞEujeX)3 )AJ C%dEE;S$CÎ!DS{ؾvOOX/`_TFã k,o0^`DkJΕev i}SLucͲeW"<,_:l߳ذj }!iMƑdJ5ս)WW y(dAx4ʉdwݗOX#iU:} r>~Ud8aU1w@ٺC.% vEkoOv$֭9'sՅ:n<VnqɥR(ioPq>/;6 BaYDkaXpP:]^pTvk<6bstX {. rdf9Ga5j2hcZVeޫ=4M[snm=έ5{' ^33zQf/dB|' l~0a /,y=_-SdfmufcȠrUV3u|qU/Fa o*ɨ+BS4 Py'l2@cZ'r"?=DBܯ_{WV3jes D^xÔ5PHo-|@~H}knٷʋ+!; M R9)Ρc`uw [IP^ipVɽ[VGҖO,Э1FU"[qꮅ+u3IpG??_MW9aFڇw9,\3^vS.Vlq˼:X۞hLc,ͪ .ix)be΂(t~Cq|ktH.u=ѣ @~@0$ݙqNPgʴ-DN>@PI:3ʕ\MYKo8IOwSv*5^u&;2VqL;IDswGG}s,y#ҝLNLhsj@ qKo=mTTf7qΙqJL9^\>g>49toW̨aɒ9fT`H. 62BzذI+}äį4J؂ 4~z(QT`LATO-@ÏdXPO}(,<+~{k_pqw][?EkN}O}OℵtܦZhAC~<@N,9ePM39l !,,󅹺y@1c&"jY7Vbn^eV/*ߑL G־5U-~) j;Fua'?G-0mVnst5*$،U0C)x5nGE#@ kOgmkBr-2ꋡ%m{E k[vB#ӂs;@rEyz-OlVu2T ?B3s# iSG/&D<nyrVI#s] 4leҕ9NԖB(:Go1qAYMWiE]bAQH Ph5j)S"i)PA71ߟ=iKv.1u-^tVw0C|nDrfۍUWҿSE""Ԩ_T*3o5+'#jax>&sEC E-`1dk#@ŊW"G]2#Zb qup#<~yaC2L;/JV_ u-@-%OUjԿ"Xuy x|%>SStY .9q㽞1=mp$m Duzsa??jd (Ʃ ts8@5&.|uva+e*}dsqwM5gއDGXKm_o{guɝZZIOi4"T'0Id+HD+bCK+mPUB$i9bh>Ȕeʱ5|59+sۜhrmD5tm*gw`ǧ !w o:@鍗%ZΙEXx6bnGwA^g:⥸FC{7 ӄ|r(߽yƻ`*EkHJY;piRtdꎑ\|I|}" 6065 < Ң,dSq=^&: y; =Ydߺ[RA;JAp M\l~oOM4Mm Yų7U$'hhv@$ tar<|'?a[f\^~JS5Ayy2Sv?G9U 5\+Y^# BהCJ_5NX X6 `MK af fDw*%?-PUlB~X^|ŴRUUy(>{ <*vfAúVj1 [[e#4V69K9Bw`eUcBm9+H[,__ ] ]4e@JI0ecZbѐzBfu …}(:Y};9I Q&Ͽ!rLPəe/vH$X3tV4~dsɣ:S BX& Zݯhك R/(gRIl'sKhX@Lf-i)e3!GT34)=mD +1+hǨ"GT6>T@E}}?,#8MCi`+sOd$NeH n- >=̫N 71+ BCJjq:#jcv,(ѫ/4BNp[n[}>RHaer,6*} An( );C;9 Qj(A[xx [̀J`VSzI 6+'c+6`D=֊vXayfIOxӅ!. k.. %:޳b9t瀛Vq;L¬VfB#"V`6SN؃K|QK8V_\\Eo.^)xD'(> nhƈAR~nHpI􆲸2HkI_vŒ\/,O_rQQ#zOa_6JqO`$- ]"[yʞJqCm$sr |ΣgAn*F:b)I`8>b:J+74D =5ID"nć6嵚ӓw{ǵ?s/ށϐ51ʳt&r}7(eB]bKr D?vҪ"'wdܲ/)˵92"qƯLr%2󀳽D'H?UUU[.}͏6Qur̽P୷2zQ<8Z:qxԪΓ̀j茚TW¾5~Ŏfq!N>_Pசmz8N渠˲S'gW& <93gLg-{Qs$G7"ll{ uMe qoV: 50((9XAҪl'O㓫&QY /W$EJm8W#/?>?..C+78cz#O4 t>DKE7;[QIaNAbi>2= fsYK 0܄)ȩB7&XREFݺÖϒ OOl;ؿQ:Vbo*@%n7FE=7.C"wUq nysRm1Fd9HO1(= ޻>W5O{DA:oHH.Okf\(»n,{4/OSt+qݩTŚo I̞$=#CVLo?douzPBg~A A7N_zx_?P)k򰚝0TO>4n33T ,z2Gb#0^3%Wz/to%}NL;rcH-xat׉jshdnm$-ӿi:// eE r) pG99̇pDw$ti:V*,Ʃk=5: UNs\hUJǀ=H "UZM7/.ⷌk4.F4ْҕ%'Z1)2\fE0ah"IB_h}%ΙGPzWC=>!HK Lϧ5OˀB3 ux!SVY.75_jUuu:ʦNhmq^pD`ζEzC* foȹiGS%sviī1qnEde8lef+1:nGQ[s,Q۾BjՀi{t(l5<WlVPuX_Gbiӆ3 HQ4}LRNhοrVoz!Rw`t?/Rg ~ع'uiLU$)/5tT*&%tv$b#_$#k.USfڃi,Ykv!Wc)1Cz,7<\ =Uq4aы @{5FBʝft11n3RP|Z?⣥lwQ%JeTeKm֎E5ZjfaOEC%dZz;Jk%Erٴܡ D갥= ak~l.mz% %“s˼iS޿f"|w/luoߩA> "+(3i%g-B=xMz2j$ɗbެݎ MΆ_k |zA~ C^ޭ7y<ཽa{5!x\%6Ϫݪ*>3C#*5@t<8 j81-W2|.Q#QKS]!P6a^~`+YpQ)gH4P՘g?d$Fѵ)#2MuBٹqVo]P}[l^{u4!W8iPFj֯#O?-(*nPxj2@-!o]0Rw?J.*QV "f]_J[C EIՖй#\aۓʈ3/Y[,1 Do֐Ru<Ų\2 bs&: )~GwL8։mX0|5{P굷h#[ck}Jtr*1X-- & WN FO⠿n?Xg<ޢ)by$w D19@YW!Umwe&y22Jm 4tZTt &$^v#uAi [+mw/yd9T%:;uZɶX!K]qp ]R &oEr>޶*t9MuW(p|^e@ijF 9 [79"Χ?v.XdE ̣MTʵBi ]fLg 5)1IhM Ug<:[bԜDlPJTp75fFEToۊ*C@y8An^sPԼ{a%Fpu֔SQ Y.vm\! ]ۅcIJ/CTyQi >G?*x^szԸ2-I^O*qFe@[Pqĥˆ yDe D+ڹ\x]-3nOaSe l> A纞czA/ƈ{pJzǽXMQjML%ڡBȩ"cf%6k{'s.z`.+x ~Lؼ ӛOV Zp4S!c4ng"jo}$vWheA5{::Jp"flHʰ9_{q( /Arq0MJ̆z#(r`b H Fh JSP2񡴾Wm^%GXw4 >qo̙2 $`3hCY 29@Xm7 @uxPjD_LU!2Isk$Dz.I:^ɡƘExn_a@)zAIxS/D@Fh{bfاR/VrO3Zk_m5LwfX @ApX (kݞ6͔i;0<ܷw2eLi4ӹiTXGn.o by0)홯`* Ax׉o˖ReYY +bTMV7<Hǫ%WTvy鴝Bk]nپ>iR!=WLn\s0},aQs5zAY컕/,(J>d'?m$F5'`u,f I{mbfR+rU\5 哨F*v $ٸ\ /#yB e'-rlq6|n}\7GN+Ř[!ͥR(Oɹen{p ڮSZdi$yGëEW\g|4}75QOᖉkc0[FS7^]3\yI\3N.0s; :=^(U|'K)'"CֳrJ4;T``] 9+ehHh?v`_G:$se߳Q|8U> 뉤a|TTz+y*R[,ι0}eL;UG4RՠPÖ]1F<)$G(>121c@ZYd@j&Qrמi0r<:=IZS".ivG,Z;쎿- _[f ;ĮiOeNzsaTՁTֆf/ڼ6BT_47I O6SvHjt4O$˅ơ¾s/s eč>k'Ѕ+70g iD3o8 A ʥjŵY)u &DZ:mLV5F9P¡-ϤU4bsFaݤI^/V "[U,*O1}wy6]+IR;UBڡO;q6ʻα/rP%̍k N.ݛ -/Uߢ%,Zzij]4P)<\]2lx3lZVCҚ%~Xd(Cmr)%61Iﴣǝv`\\Y+NT|U\9\L @"R dOR~O(NxcEg |)rHX<9t"P_ZFvDx&3wC'ۅperuƄNCU{pGM pG&HP.~eQ/2jf &>; 7n9XTP i8phT/T}!*vT׆w(£_Z<|mB%%Lnզ즌UVH0ڇϞzf)48L89Rb;s.VU0|ʌ'p[}؉sô~ {T:C9+!x!p5}!VJG s5:Aҟ9ڹ/oN⏁G#7ݸPBH( d9㡰}իo$-k$v_{nŋ1gjݤL|UBe/ ?y>.]O`-kveʥ ϲ |l%ȸ_UjUfy|nikbFIETv ԟ>AUO0Y;νmA__2 a zɗ̴i22M Ĺ}Jcq5UfI`MMd_WTO8w?OuɬqXGN?NCFU Mo7%Ig3qEiS-tٕL|!w,4-l#̌kXH65iM/RG!K~|RRLJF]h[zp'G @yȍ.TEf:M%ۯ>,o{k5sUTVS5_GWT~nGsqC6σHP{b6w>#Q&x(U9?&Tim#"6[9 JzzPJشYH;-JOw@8 Ғ%:*_0SԷ &8 ʔ<ʊUO&]= ݠ9h}جwY(6fHvϵS!|x$G:k1qg^3"!p|Q:HgQHBاln]+:-!yZ5w|N \oFr)< ̜vÿAc|? e on\mpi[*sF,q񩬃mMR+ԥ`a:D-x99%Rmxl}Fц1EXXNj@j{kʌM P[ W&֐3B G+~س 2z=xh7//DHZ|/Qq5 FxVyQژ|zPE[ 2J%_#%B>s)'hlZ,VlIu556OAv-ZLǥ̙njK4N_ ȤQ8Mc[o^VNW|]M8 @7^rV"=0!|0@qA9?HQbO%*,2m4`v$:?Q۷\7~†+;Olh2D>NhUT:vuwSZ&Ik[Z 5g:l*e4(́'}:pu#1<^L~gG4e2eE/bP3yA8)OnΟDWlHO`i篤_29>Wt^7ob~a!ZѨUiPsG]u"'nK dJs?R2uBn;ͨӭp ޫ1~Ǥz `tO )ѫ ȎATKr5 џ@9y=ip5qo Fgt3G 4Jw|RJ5*I`xӴv>2&T FF:5Gl>VP v7y.[XHd .tNzJ-[2X*IN=Óu.'JԨp$^*J9gU9>#:VsK*Pg- v%CW "p@-:-QWS_]9W8ԷZgac7m6ɬa!]> _1vP;5e DCkOd]ߩC++չ~l C}Gգ5Z m!i6g('6a[S#TTv%e|fFAM/E=AIۧ.7 L!.&$L ?†B"!3׳%" G)ma$u@S [dkbq*z{;ZdbRSQh wb 9Xpb0YoBJ~lRlD,frnYR+?HgӀk, ӑHL6zs$D׋na,mIZnrQS6fiSISx&Q47: ӓ? Bt{SrcKn؝b#CnY{ɲ! P*7&"5=PTOzh=8P8Vы^skVG9~@"]ϘrQ(T:݊_Ǻ5ݷ"+rpndAx#<Wݱ2Kw_r.\JEhr7~lJU^1=W_OxH e4t̡S>4eo|2p\X&y~NЧO΃qPVMZ"nZ9-I=l7%.T ޛ򦬦SO[C޴"τНoWDw u,ǥe]\)rXU&KJISj9fDwhQH'[\D3DIث4 Oͭ Qeb듷kQ"ҳ5$. $%`ۻ#;1I(l:H%KVQH.JvLc{5/E(rCt2EX1AVk91ݮƛAs117+բ=T!$zxT'BFamB+,޳?ۡ t@(Iy#$v 7Eȓ\% %>GkPH֞erqļDxDL_}`P~?h&G,7nwbԴ ^D1T6y Y4'bҏLPυ}3SlQ_/.nc Ru{lKLQae:Ayʚc/cm EuZh@ا9M8#D[ȓm[??Kb82.^EvkݤaQ8xQ4%`M؊X!7Eo߂dN&pMv'ȎHB1a6;p:03lz.d۲ܷ>-&":tWɮ!q1vڃnLŇnp塷qt O_0oh"7-<"NAJ?J8EJ$(iJ`L23)f`<(!rd_Q SE.LG'" @h܁ծ!o9/R4@;* R׺`9'|ϣ" UKiBvu\b`ˆ6qH%7{ (qxz=!/bg[ĞTEJB57_癭<ax}v0ǔ2cˤ, =$!hceSK)7fQY^[x#y}~NFa}W?0cqH qpaɺfÿH;vSO$>…Zgsxm -Y>sAwnuApѫǩcZOP(>1Vf_tQ8+Z5:5=QVy!x$k^ef2Y +l{.fW0υپk(s޸ZdBj ' |na(UIfr5UF8hAxo Dj-Hk )CO=Bz6 Ͷ9C !Mee!=n$EiERlo>Ud wCa67<OtF+`7UEQ wg,=H4_<7ТfN!Ǚ9D0Cq_G3v@CfrWI9șp#eJJc<)&#;SMc]6Y"W˃N&O&Oj !gϴY!am\2Q!QmP#B̵t*+?Kʢ0 G8J7FB]9zC8wEζڦTAX8WQHtj,]hr*{Ϩ۱&@S$80a֞pqߟ5(~r_2u)<._/`/Ma|x޽pm[$e$9}j+F.FrG֏*/l>}`QےO;@`ʠU!jwX`܄"ٶnb[!AHaV!5JHDWU4"}"'_>WΥk|Wџt2] i<26^b್d9O`Z#,&;0Q7m3.-‹AY=#1V(bZ3ٳɶ`+ʹ/^h1N㤑;(x2T/8+) eմ{۪3"(Xx  xw6vb FO ܪ. AĔK(mU4`TK-r\>43c nUAׁFd$.X"Qj L-S~h{׀yDB/>tNp!}_ :^ O^y:1>LPL"}1 &S ᩃ׫ӥ6![X0:˨WhCzazsX<˖^';IC9l:#$- /EaHM}.$S*624% 6!h o#Itmf£4c_ au@ΰ }uYԟBB7 } 0@ast,6 ( n &U >SVB-%0@5zv53L{bP 2qJh8,RE%AS83O{\j[""lƃqH 6YwU񍽈 ޽[\,eo!p>G^P!E>[\g—BdKEt OF;: sG|4v'ze6B7snL4v%G`T(0m2K?,Qg&zWtd0 {b{l:UruU2׍3@hoUPcLiPnm)l yvQ] } 8<_DyD. }2&\XŹ B}+d3?Ě }@8hPmψHk4dQ <\@S Y#i}aR0(pcu"ah]F@aVRK X7zgz jwLNɴ[ 1>\}\v1~ O41S;1u8u ftI ]>!iSt\ 9DD]\h)zguqxS;2ܾe"?_vZNȒh;% >"@F |}aeV^MWUڤxyVpkyB[}+ I5w)"ϙ!M!]s Nճ gu`0 Ng0 7|F)yQ#8NK=QƼ:b'x<2 &*Ԑ`SRvGOkuH/I3Ex\ͻ5aΗ ]]dO}gEL^ȧt2gUvk;M9:$C.T\1h(@=(e_ ?4(ʒ)MH EL T5_\G}OW CQasK07(V$jh5TĖ]-zKWru6Yl0˨L0$7!(ց˶Ze75 2N_к@Ǡ@249!ԭQ&#HppUR1GͅsP(OkQ3JCu< g}?H' wc>{XBeGw`-h`A:'=7t(;=V>Y[0fyNt .4M8YB!,{'g_ aq!zߗX" uNj~Zķx? t5bul|9Kpe7"zArݎ|pֈ2]Q H2f"R,z|#dG+Ǭ@y9)uX&U"kՋMeR붅aD3J}h(?,rmqR9YR[_U{>98׸oP@ Zj`FQw`4r[JNEܞwo8YK./cEC*k __-99WV/ϼ8%mQ䅒iCFϛW~(N0~-7 +mƽsJ)Z/Mͤy. 4MRhʌIL p#i'  e@Ң&Mo++#ε0N=C:-<0wLʨ1>hE_ŐO{P (!K$r$8qRNfhf]B,G4(; ^Av;Iձ4Ex^1-2ٛ>HM/O]h7S4ߢwE܄ Z R%B+7['2ނ EѽgFCnT\zdczV<K2?8i[W* ;Bɷ![ <7~77n=xf;1;+a ٴΏao[`hg:#`i4;ǫ`j3gzzi"disd}Ă 1~'M}O侣Wǘd6οiuڼ{Nope{?7ITXrڌm󌉼BT~(&" X_vWrIt$]w* 1t옎&Aa~;>e;N7UV]u\GXt}ImE)QMH=rZVIa>[EGG間]Πh~DC 4/VB6a a-ͧ >J5`tNAl321 ()(st}9pC(+GR4O}.mMn gak($"V';sbR%I |ryqXsu'Tiûn rGPcOɧx ف&Sr/m@!9db&¡F~'+ AꖖU Fa7?>8~psm:GN3C[ND&\GEAt(:3jY/Lm[=OGג.c:6h0\MMEhmb0[7˩A?o6eF*imo @uM+Č<~3hj1$+r?K8^3*VՉHBmj^TR6"0We΢K\AlK-ڋtH~OnB/DvdݫYK/GFXg* 6{vS5;{ܒ95d=W "$ 7.˚Sm*] bڤ&bxI@ T×CN{Z tő!Cl^+ȰC3?9aʁ{گ.Y(Le%XWJ1_^!bg3쁉xcMYeuH)sKꈇJi}B|]`8 #-j@ vt2}XbRIˡ,AT 7e6Ύ)lm4k`T{ìϖ~rmRJ C3X&JVN(/q\ T}Lt΅'t[8 -Է2`1ez⒲ƭ{n q5O!Y `0 XEzGvt34!tSS;1oHmq&~I!UNڡn3L*W@G)dT4D$fu|a!6GZ8>IJ2i*L$,TCCݧ1WD^%jyEEϩ#~ w .?$6@]~XًܸGv =V w7DA;Bg5P4go2 }R{\ʅpw: ac7^5l}, #"~dH,7#[!g{E&Ȅ+FPfLʋxQŜ jDHG*<71&q)C"5/f2/=IEw{.(4R&4O}F[0#'*[X'[pt>X~8S'2As{]jԠ/ H]f^5hP ק{X -o1.)r4cẃŵ\y+2ޏbAz\ݤ,opGYM>O;HZƱK,@#n}*@V #boD*)>r-h&AWC=qø6$ 76Lޒ[dZHP*3dgRmQ**ϤiXbV(N-97f-Vg^ C8~3qo} I!H{ӏiK: ]6_ FzmbƩs pŒS)<О9oo*lMtFe8)! r:Wt޷@ϠDGx5D{`C='rnmv N J<^x/7s]YbHz_V ՁCgaiڇp BԬog1#Vjm8S fK$hU5{hM3ƙrӻbBك޽u%9- -J j-@G>iU8N~a o-=A:O<;@),y;kJvwMo{ij[H{~˝,X\igV:欃©ـ:CzRܾ[K+qyDPCQnOC#}R_B\3:^7_ĭbڙI]90 a)}j-<ҢBy4Y(fp}:1k_f[P弍Lr[h7P3t-Ě3hE0Erƈ[ q>g¥5HiZկǩrJMm2sޣ m.n+'UʁGb|!1 AS?ޟJWF<73 5o/dQnѿ: ȩhJҀkR̐gO}Fѽi_v^L}GV wȢX"aώHM:?|);z(UBj HDm>OP;WVKq8W!6h\7y0/8-IĪI9_`E:s? !,mA<}S rԮgt-lKPKJDJ}R_u; A7É'`4#}Xf2JtsMyUW[<Q^ʵViEgA';70ꍻ2rԈ;QLN9=̂SK7mFޱpC@u*$ уYlZ2Lb7L*hhٷY7l[M3xh]wxğٕD*|MѠ҅B4+AE1g*φBGnn75_Q1lp7Lֳ/CXp2)^KK$A'FzH׊xuGG/M-FD/qvin]~g{IxdfD7BqΨ@OJޜlG1#wB;qJL1g%Ej96:+ [U[+R_uHE ^ZE▇ˀ . 'D\,6@Ezns^Hipʦś[#t#'P f94)8w:5T͙^U48voK>Huؾ~ ΄ 5{o.1{ysCZP(#^y1i ;e XKC 31)IHw~LN2/%Ph; 3Cݒ>ᓟ z?Y`Ys oPW.qQ trsv)4#SE}5N9l|>gj֤*g X4(zjnTlxN0Ɯ( -T?Ij$wB0rrF)RIRI&=#E/,f`Kǔ"REO 넫rjW [9./?q(]Ť{F€,&ӉG㦣 a0o>fnr:hgqRufKzR )3e۝9Aevn 3c+G)UZbvĪJȕ?7g& x9vD- і x C ZNt=N:cd%6Gƒc "׬6lFJW u7-Uwk EX5>刅h mm1zJ{5LqAI-i.µdu6E`z69Q=/(] in=rs a)7Jsk'%O}πs<NYC|, E&ό@YTàz`0Deb3 Ί# M--E]6֢k7\G?gɨN M)(l 8x(~a@͜3n\^%xvC4CI|ӶOm 3zdSLN E/:M^EL;N@L.g#'Uhl/(7C!,p3`:&s9+C;d?QD+չF?ƋL5&q*4Bwsc >em]_DL%^ 9J~E6T:\|gza _afE^4 ꬆ\6#0LObIhEA8f;S䠻LxCJTw+bzpG>Ktsoܣ\Z0 +uf!#%@^A F(Y(+H-dgmM!1YֈBp|v~n@^tr=;ғZCJ!`\d298WziŪ2$IP.KM\%݅\7+K4˛CG.R:$Ď&R31ʑ\Ԝ\ZMBe?pI& 8o(ly/Voi ?x.Am%K\KOV%4O*͎WG 4^۔ǯPU)M(ےi9GxiEIq]7T3zfnOdri˃#PݿM ll=%.9~[|vI4)H#w+M=P zu!44?5o-F1o}xBo|e-\cRy6nL9ңY05o1 dhV$γD)?lt]a&L:Yr:*;g%KzRdmޟ!!Lێ-SJ¤\srPں,E6YtT,bFC*ld$DZwTyNwd 6;}02)cۀRt y.3!VVa}M[FowXnu{޲+Tݻ&w}頾&,sW)X_i{чU"a[F+6\`yJq4,OAP/{d"84k^ps =)M]N`;`&cjG3=`l&u{,BPyH :Q7h[t|/ 'ϏHEBPI9ܕ"T8,!;SMeUZ#ݗϓjۡm{ЬE^&BV3ϡ ,lƸzGk#.t\~q\uA\[PTFf(OjdOq}Kr[.GZ3Lڳ}բŀIRH榪?Dx6fֺkg Q)Z$T©(IUYHchGU^"v߿!Ff 1hBu`CkqnLxsقfXu3h%D>xu{ta*xӅda5ק闤\Oieai(LJ*=/=XXM\X⇶YQn!iM<ϰHmi̋@mV/nrB&nt^ZΡf"] SsNTTPyP!5Y՗pGsD Vj wKw!h XƟ=ZI.8Q铂t,TT$ Srf("Bb{+/ݷxyaE gt(!ޚ Եo-&s4j3O1\=E_O̘uFPK {M{mb¯`,2[HJJ.]}oJEC+&Tj~Ð1*`|gX7}a$Tyg#urOI>XLbY͌-𗌱L/Iw!Jq,`ۂ,W&GA?8ȿșf`zٶ(ṵL`7 :c`:/ۭ<RmQ%GCuB"D:$uBFh;y4^WayH=",ƺvcs8h^8xiU|Q[_COjij+p2snXI|9sG?ӧ1v:=FO 9@8nE?K(U%CHTI8Y%pLJ8ql0ԃ1CǒP[_e)O-ݼK 'r \u"vQf`:"wTClvG|VDQkp)sL^E~ARp;Hcú_ t ;^6?ރjN51)*@xVͳw`4Ezdz.q(-Ǡ>AT|2B!YKD8l.pIS#bV*cJ}c)!-#L.BV{ә8:N'Kn'N(䠙[BiOxAa*]&=:ؼ.U+{\wP}macRxI_V6ʄ g't=TR兄*{Z2ܮ„< H¨H35q}γT~ic$W&Q{GH'7 ~G3\_}Ji-ig}UXa$۟J]K pBvX=10 5O( ] 5A(HtkB~5$UAE=sC'r`LڥpoD۞wDF2Á[;Nn![+]oOh\,rb>Th8NX%/]Nt^;A[oaWgsrЏF OU idiee*%:V 0+bwԐ u 01lZ A0):eW/TLaQKIo]!' ,x/Ӳ39,B$?=$cx]K8\ 2;˸BS/:/:; C$CAPy偘XjRslF .fJh rߨAϭ3FU,Z2`I%G$5!CMV!c) E~#+[(Gnͮbf"7`PNLRUaoK g!ѼʢU63OKN^ΥPQԊY3Z&B*.RQ{\V 6w 北p#/qO<DU'F5a~YKorLp3$s n|MZс"Qs`X 6X5挀"Ȑ x1ݞDV[̠nmo*s,_kp,sHc)QeͤKS Ĕ<{xȀ<˸7ꩭfوfyal$t؎vwn$I䐍ґ1.e/$Ga3 B<]Ye߯P#y}ވeG䛺+)+BU)e=KyPaH`Ӝi޴+9:s:tA('3|c\1B~ͥ/=ƁPӤ{aB³ kΫIIݪ% WU3sWg7#eif~W\mf-Xv5ʰs6 g hNkI; g51NvdzT x 0[93MT&Ѵ9?k65}yqdu{_ @Y0%>gJ^犟.+"tokȲJ9X4zR x:v`-9.F쨦MM0Ds×o7ƞg l ??txP5̸.ײ[]HvK;BOck& uшrq|\ѓyLqb* >Mb|$,+wJpN4A罰* zl!n:=Q,hgp\tLZ O#K*M[ү)c@nml6)fߢ0hZ*~ﭼg}pH0_fV3N}`B"/sl>>B<#{Uy]LnzA_eߛ\>[IUwDMk?%Kw\>U MzD~KQa*{qo h+z"˽}G~{Θ =e]Cv..> O箕 ͞=fKO0hbDh!&RaGSQdKe:#I2M+ xV !v_w 3:K1lo/s'm}h`k:7:TDhs8ۮ1.OkIl">o#IDaq Hq=G1H~clB 􃺱W )-ISE@r+BQA#؏!@԰P"gZ]vVU/ښz"p #ָixl|3on,L$ U/֢C5(N-*N@ k\-r$#}B 0j0XFO/ԼNZ-:U[Co{oWBܜ2x[t&p)FXA7ltjݭW ^=pli?xy\Uc*]Cizd#C[sPdЕ@  muy9 Tq0?-I14 Xƒ) xn%IM-B]1ϓٲ:v~8Im+:qX2;v8<@A_<|ڧ< ,Vatm?$jܚn Mfs@5W嶡H6д&޲`uR!S̑xi6H1UzÀyd{ڼOpwרQD?XD"5levN/1WkrN8Q8|i!Z?,4;`YQhƑr$IoÛZhm~Cwț_;Hڱa@ _Nc&C:r7xd'z,'V*DNXeT 鸱*V^]<<ƩEN T4]i-4ꨈ S-npT.?a3%b) &/k?ur> o $NaV]oDWd " o SAL!U[F3yZȫ6>k>CAU%8^Pp&HAoۅh!b]ZYq:t1J3“tO8-m)"$C|$0|NUc†(&L1G}b|8~^qwē;OKAKg GL7I<ήc@zI]c e @F8g;dBԶ~ZYtH#Z[Gb Us0t Sm/Ge0z7XoRy[ON$H\ 3cG6^Nl?meA<ʪjӀ2XgrIjXbj!cC3_E| ^Ɂ#*zC [b\WzjSШMKnjRst8QIiGy{ zC$c-nzB;p1P ~|f&mr<=X)z8sHƛ;ܵ) Z Bp kg46xo$t{K`A j;ʔd.[;9vL»ŢRnǎ?X\5HF}e@h9>źq|id ȤO ̋a &3%I;A^Z =b})ym$LLiׇ ̏4VRk"\k~-0܌EW&<@r]="Z@lu)n:$K/V{_ NNÏ%4-#Ma, 07+,n7vrmw\XHBwһGKFb|L Zzf 8*ܙ(^7~B&rsVbBJwdHay l! +>i5:TnB9\&[c*5y_s{33ez6gYP#-oO2g"oQT㧮xZͣ94eY&uIs!3 Mɴ=hIQ7$B &׶=gcQ_((Oddx8y mGF`= S_VjRqͣSk!M!3:Hĉ㓖IW+vOhrОqM+w+JfD8!N^UCtSBߟqj} חJ+hqށ5[ hqslc~f|,] īe@?&{6N 9/pl2Gsn(ɡ+!D ƭ5Nё%9 W^Bye =A7YR r=l#+J pv{vͪk(-i[lձJ,d8{לA9pHB_m]2#u͈XJ\E`v :XI*(rø5О*uX]3Э ߱/َ᧱Ko\Z J_j|3ޥ@-oazyxZyyn/f 6g oQLF/_;Kj֤8P'אk״( Y:LeLN]G汍3VٽL'-:5p2WV!3KDHM\|*RlXZ-Wj{nఫMWtc9*~%y4vrW֦R-Mo%ܜ}Hkr&IW[J݃%T~8h E}GTn 7vٹy[_A`GuG4Nllg瑣:N^SZlq*J0{9$*cF؅qF[ k5zW[lHCZkP[gNQk&Ȣ.V[JKlHH9ہf9XoFPgkjfOLiCg7AI"2Ɲ* +"C5@6FTF3R'R ZHq_*RJ- ՋNF _CiV x;|.h}[mzzitN 0?Z &L8NޠF(ws6| Kv0'=8? .hSSA7C\tzݲT2x%;mX2@uYt@/ꙅ,`pވǂzT0q.$B&kMn|Z2}o۠;B!Z;,Eň|)p^8%US4>>'a cI@~r♶/nٹf0[QghmNMG#{x"QG߉bgnEv|`B2\]vۄcvѓlxa #g/+?/~4-O̗y++ϥ;~PM^ PMH)'9^KK_K' r{8I<ń*B@d*ןCyPK,)z35pnsW'C\*#h+-_"q# ,(X[Z_4!u$dI8m2k;q\sM1A8%b8uhCy‡U $fu"c&ϣN6&5W"}['+; Sh6dH-nO=NuZ|)0c6rͪ:jp<ݿڰ8x#'c1{Kvg9 g Wm˘i[V{c.g~D㳙 _阽kZ2K0כjE!D {8I_]&!STVU5;O#+ s3L'k%;[HŤpmz\1*{S9\!>-SbxQ4Le;Vݨv뚒T. lj̼+OoN ,.;HTKq@ $5ƒgniMg;ya,a1ؔ8?:͋Z0J&N:$HНIlM12 :HQ~ΑbUsw=٭|?@qL$fcTf/A_E}|ڦmeNh90v-0D!rb 7%o{#r6qs$&?U m]UۄH* F9x}(m}Byg&҉{gT"(ג?1fTLSҸ .nSr,J|Z"WڋE@7^La K4לV{7ܩ,,fWmlx/EPj~^O/b k7;<_E 5,@KRMl- rG+|qx?+W%;: fvEΤi 2mo#|;Qt"kmֱ?C _3ŃBjRX &?n(~7rrgېm#\/.5E߬{MfaI $ctȱ`^U%[Dҡz&+.&76 Q{fpwy 59 ն0-D[~+ 0L9GKfBkK Y=[ 3Uk b1guliN0ĥd3wx9դ7QD>|+بnM*Dc=B[ \X܇hoOE[etѻ^spCn+!s]@ߍ0u"XKIڼ(sOh5H49G|qXxn^$ā+d%٪]3X1gS;} !.+<¢ND֨7Q4@'lR YhٱvB[> (SyO0CW,XZ;q}%S$Y4EB~Nk֞@ZCVw+8sG 0ˋwDT{MhDdUEirZq3ꤤur2IM7)قbMsb࿽kIz.mT8l_[V" p,/t./6W9Q'8>&V)gj ߾' _'7n4} cșe?ix >CrwTQٲ2 'i?ຎ!V_lyT PADZ4 K+#[͒A8 /h%Vq\oY3 bH=6@5-K0)87jk vP+*A YtbٻA7BK+MuPM0 'Z &6"*`8B)U06A^2ў1BL`QQ W;cyx$m"FKMʵ8Q40֔emY7򑖱. ^ 롸Q']͸5(g C$ R5V}^TK8Hː帛*#GMi`prX/nMkJ&uRIr~ iyeݒDߡ]}RU`. kvuF_=(9H^zu,u҅4 x#v?d"dJ!?( ]qPZX *܂Jdu80nN"lo=o!MVyZIaG׮9fIč?؆~hTY>d, ?p|$Jb4AN;@05wJ*8mhn Lґ"qs 9:JmcJ_Z=-N 3VEWO P&or<;]#/vZ% Ua$twLk}fw^'=S+*Pޅ.R.dEg(2D9[LԂ+"A$Av38,! +y1Gޫ+dԪ~rt`1'%KsA*Ʌf |N g}n{R ML>^r5,N&ٖ!x:ƭc5'Spԍ0}_0'fthoW:[̎*C5Q?i%]ѺugLƒ?c<}T v9gaz0H#Hho  !Ĺer=L$6`z>K;.䲚=`-R(W^(2etssڪiz׳t}^W1FtT}w[8n8K%?(@"B =B.|^ ۤJ((ps3v U*(q1m{ot%-H!4-߀'u^ E@b)W |rUB Qb fz0)rDb}ЕO2nGT,Z4bI޹SɔQЄ1~o`#Vܵ /((8ԗFdwHu=τT9 uEg  E+rD5`P7- #GͱRlQu~ e1P 05*i/}=S$laD S3]=ÅԶ7Ţre6T.76~UO px(JQUH=@4>c}wgOx Ksa5p4x;[ 9 5g<@t!oeaYg]N4㿉%S,-9\-wRSOVd@yHY9KQ.YX [U AblSP{JA?[ ,.uB$$+'G M[8eF# ]$HB_ & ? .|ۮMu7'Jۼ6P#@91Ece]j y-Z.sn9fQ-QlQ1RU^{N,*|a99o&X""^-aWk95ݎ+&ɕ׿~L=wq`2 #ݛACNp_Cy? ^LHeroCMF^Km!Ԉ$ïhkQ^]K;`u~&MѽRFw3+Z->̝jNu}aij{a=J<4 %G'8C8Ux *oXI62`iBR+LbH 0mfvگԃ>9'nk pC|iCdOEyWQzAa s_A=#_q41 .r"?z#zhcj]8 D&5|M$ZuJM)F|gg 69㹽Ns"٘AGš-j[>WBo ØŴA ҲG.G"u(]X (E.q(w7RL<k!*LE<1j5st~J]GJXhJF'X~ۜh%T}J4ĝ" y&WE*akW D$ y! XovnSloZZKH ^Y6fJ$z.o}2@3 G[AQ$~sgPofi4SC hg]3_S4| \~1Z @id(rS# =*Bw}ҞNhlknNV#̡›3QTz!~6&Y%Ҿ<ѡd56sS=譢V9 k32Lowc^2J~+Sgns=X.QO $K6ɿgq_ͥxkdRF Zc s ?9.=v5BQ U#a q-U'-!T=_Ȭ5IdHdJ9qy߬ٹnd6JfUea!&@ؖ`֓JLOgy+%D^CJXЮit㼻> 뾮&E "t̎9)Sļ$P楍c=PΔȅ&t~Rwk<2u&&03O0,f` NPy`)'-a}ī>&}*_.Zo8 0`r2d/K  +j<j&h|}>][{ ȥ7gS9Pl9m5y>$YU`sn'R_?ĽX!|g %fy@|-Yr=gzЊ@i}˜\SMdRcv2`Q |;I:djdS1O Ӵ8JՌg͒m8C5!;‰ o P<kN&`xc*W=O"F=)>]75#dgqxm=rSZ/̰Bh]<)vou&M=X!bl7~ _A>@^⾵>C^07 ԫ@-C{N>LR~#H٭lCb.W5LewY{hsx>@$->|Jaɐװ(,Ő${ޣ՘RĆ܇fJO']ȃPK /8}b7X0G7Ӫ8#9LAA/XJpO5mt0{ H:E FzЯ!w@ׇfPPH3GnkQFi#@ߑ/k'FZwOr2Bf-.%X_h= N 4eR 6\.(AfTc'Ϛ?7Q%f :xp~r5f7rq# vM ̘WK6HWy{gj,=fX&y)ʘbaD!0mq|OCbx|'S bxYg50}_T^'َ]~ yXeV c=XC^ ne{ݴGէb3:HX$V5C?nd%uρRcB; D`Ez=إޓ #XZԿU1f^$ٮbZ@kj#ExΞ@Dž˅mG_`8#R\<ŏ@MI!%m[P,8(bQfD@uۈ?GJxooʼnʗg(RMy:?\"^, .|+G>.fs YAt𕞰 NDI]Ahr)P'ϣCw+T,Yݞ>X2P[e9qo$.BZ]%OO`#x[Wz}ofJ/꒮q`>6 Mk޷OC+TdS!} Wfeor1kޠs&@nhmi7@mvLJA4E[-]dDf۳ZE!L[,yͯx aum~$t0Tܮ [PUEgV!Qr{Ҽ%)o&a*dFtxM8Eah b3LXUjp#D? ڇiS 8ǤTGnZkY 쯱5 &V8HДO̢tSUr^CCeW1XwMVj9tNK:e|S;.jIPvQSa dWl[VvX-^33J4l u*<<tp7i l 8$y?pKS|>lKc Xm2T&}FȨ:$`nkZ8E^̬S{*ݲHSF&?b5ڼ@bAu9$ !и$l,HͿ|̬9$MyfyO S,u9 +-!c % VTl]#GnL+'3ڍ ~-OJ|nAO7,*Yd'&{e 8 X]ٷ~6yM@h?Cc)9 7o?RPpP}^*;R4JKjtNeHP Uv ɇO)F-T8oд60)p:Ńk< }.(lvT!Q1vc-Ѣ4ђQ~w8Ox5mTVp n#?@iEL LeI)E1;6ÑN {Yݪ;ա&yJF8i]MV@o^xpO+Ц]_RΪ>ӳʸmus #}02R^qĕr*Fy9໧A8ۺbPΜ$owh:2%ŸpОb ^"<%ʖEɏ›2d^νpZD8 ;rGo~Oy +Ī?7\C]U#OE!3N:fʩKjҪ5sy{!jU_\~($=XrK!I+$Y6$(9{]^=ŗZPefp-$@ddyg@0lk`F7ay5:B*~&4:34kFD ?& "f-O" &?%7q3c)0?y[{9ø}2 ]dK )ybKh`nJ"6 |?Ss zq8s+dBzKRRywl4>8#96о!N ;ckoOQ>BnT)<Whzny+حI u"lW7\ThJQ??\Z"ZˤRld~ Z4 pde5o$J6t0@Z{}w{gHj3 fd)Ot=?(tPipYyݑ<%`e'zU4NCH2AOsȔg~o;k;Sl }Ct[r-"eT[P?<1cwH̼)tTa1 `,+ahZ3̺%~^GCt.>p@ȥm +Kt*:kH%rݕLo6ũ`N=<#~ATTi4(}qcq%:9\"2 ъιPIJ14ƹ2׆LSE^1i;+~U\XV?#d&,H{p*<$xJ~oQiѠ!h:(v0^f_i/}jA|#|ERPhk]!p\ &ݓ?_Y]n}KX§QЀ`4(l?NCZw:5Y_-O%oT'VFŁl9_&3ʻ-Q2q %1R1 `oc7Fb JgXsLzWon<!SgSMݏh6 ,Q s> ǡJFA uf ib[O䆐OtE~1D7'DĭejJRq ƀ=FED.>.+L,vDh{u<ֶqTZWRre\,Ɋ 8Obӝp1HZ~J08 \:N;r}4F`I3E9bgGܠ8:]uЌ6jH'P`ƪ4|P\0aiρ`kqZN#ZӖbv,mA1K '`L$"`EpWIu%k 76`;i{"6NQ5p(1m;nY{Џ HAϢnxCZw̞JgѺ=ZhBL!')eDB$XO$Ql.@qhrLa@-< !^e*!B 1Ziu~IĮA4q8m`n <(㹭7Z%:7]}$i5Y~$8AVѥHPyſb^CaU`DxdK8 ɋ283y@Ie,@JhME϶ :[ 9”m~^~3 x{t{.d3V`F4iYpUM'O8z.?BJNtr/XkT١}YׇSe/^3,CL!T:Hh} t|(W-Ew'QCad TEl9GK[vU?yґZ˥k4dNEbDžT֦ pq wYZ`%QR1yo!,(pԍ\_=~,纯k3m ~IX, 9GVuq?,9AjgѨ,oטKJIx.2vMT%d慙<;LKv3V-s Dk!>4k9!U!XE?WOdy A_;S@Zէ$JQⶅwR"d-<C/1r+M ֿdF^HѫZ/<ԃ.8 #fzh#2=ROP~ Pw'=yK"BP@h3P-bɔ2D0jO-JFd$SX;gz3Ëx74j%Cz[aH䃪G>wm:\!LWRo)TldSaaUC]/#;@3I+QmVLV7759魵Be%4cXOȣ>=Ԅ0XxWfll&"({ 3NWKTsJDEE22*c҃ XfcO86)5Kf!ˉ2&`!aa)-0ZHh;¶P1o;Aw |3oxx W GѦQ i?BV*HL?p-r޳jF* <:îH7&wICqJ*ne%(sR%#w`qifɿMULf4(gw &Mt7uH~3Jmx MFF,Ipx4#\$@Pu{<؏'\Zeb/}:-c̀ga_`SQ`8JS%!^*Dڔ֮L]mTiMI|퍥 Ɩɹr; ̑jz#^k3A@w8N"Է:FaT:*@c\":a馽BϪ9lcde(PQM<?JY,KwK= O Y--}ub!Cpud4bQQc&FV!Kgc~l]"7,~83|VT T1eEhS~D*;C1ݛ ڨ_F@up_WFٲH S?>2.:b y`q](5WMs+' 왗 &HK } Y;'z~3,S.dp5Ne^xcʾ (?a.顲 N] Jk{@ϟjC/Ҧphܲ{Q„~Hμnc&g^9b # zśubۈ#eFa;?)SvzlUc>vq!wNc_s-\H33Tym[mjdyfpՉviSs2h'!삇?:VSȼDҪ%uPYhO4]"+DC?>w(l@e襂G8W_$Ld8 f֐4c<т_z4HaJ]lIZ<䲂SQK+%dH@iӥ`;ndUeqy ^Dd Tj>Oy=:L _QGE?$mPG)ݜq;V ؇?.m8\;J*'?}aOaC:QZzX%sߒ6BgǾ6(ʏtSL2TGW~Hc,gBgt}Syh*318*oі_6Y "mBoBq4B$o ,w]buv])m^yP+4t'1+]k7n]DlNm`ΐ3?HQP#Y!:ES~V8{e7B,^T]wץ>Z3.V$f%EGk++B|oumJ:PmaQi,fw1VQe)#H5F(oq,]/zPO ~n,K PkeCT&t!/)-o>qbjla0< ޿35ќ`5C>b?09wc;!w{j bo,rN>OWf.GX}*gɮ;gYrcI 0}r(%lnA=9wD;}Mśic,#5JY=j&YżBϒL3L"ZP(J_}r4/m٘F_f0Úh1ה0PiPO$ihSڵ_j %tu+:ȶދA e*fq<qd[!L[kX'm/ؒ.SKU۰#`W?K`ZO&b_ ՈjFҦO fήʈP{ᴖkLZy\SPBջ!`VSfu{(~6`vQHЗG_ꮀw3XzPI%{Q Njm:XЙ iCiՉfd~}B+y mny^j۪ehn54e56488+Iܯ1 ,QKP2#2M(<8r7φzoOSVWIź;_mƕrAiT0䁷գce4/_Nڽ1,_|̀򘷔ܶ_3ɚ3zϾuga&Ѱފp>n+n*eš9R?Et_vc2#,3tlnǠfeR1;uJQo ҉*UB=uVw6Na2`M,6g*R!^um76 FY,~rUSTPI5UFeRn=t&pև֋5_? o7Zuq_њ{^e(!료\BgOuel黎P*&<8ge:i~gR8*giLWEl-%0 ~N O6>t!!{AzP[2%@8bX11j4~֦vpyx"H^)s\f4U {0u3$]J6pAhǦ^HZq&X~>ڲI kTQ(@sat;Lo~Ik`Y++g~bg9n Cp7 nGpVu x"޿WzԄ"-MUGlf6-woR'O3vN){`10fIRA#[-T4-?SzÑml7HI, <,-XF±20BObR1x4 ,-#i2<|9J)FX6ɇ(7^> ^h˭њנ۟7-PA YC"}<�| Yl5|]AS'W4{1W 1J纟|b#hQ (\a`?W W~;a&Ȭ^O9.u=ZuJ5_H XT'B~cc߾mn8ݞh  pۮRkfٸxlX8b@+[;9)Ui; '' S%^6qݾD|2x ;*F[{41[A_\V'ã/nk%H"c;l >T)ѴiFq$3EruuF~[2 Ucĉ2SGisrUe-NF"qNӠ@ cl.㹥AH*JH B,/ \Ȑϗe TSz N蹃h-7 -Iykjehbo1]#95CoHCL$;3_evpFڠUPaś{iA^2LNF[T8ʮRFc/Amҽf"U~Wic/r=̖ѡ!SZt/gl}XY}ohs\ոVs.{w2(BOLsǣQ]@֛y( ``Ճ2'}9%YOyυJ̯_=g gYS ˼9jz&Lr%+xJj2 .w=֑dS F:Ma_9oMoaҙlR2UgEaxe7Nk6mFV;:Cl{.1˙n)*_3?FSi8V(fӔ7MJ0$Tsw e^&Fhn a@5JYJzֹ:VT_sz狒ٔ#]Kir&؝/RU47BIoRφN?u·N>U &'/ZcQ RH>A/og\]V֑ʳFڂ|  ]&Y>VF皢=o 7$yPUMd/f#6V6fkyeCA&[ٚ ^ xsR * u"J#cGڎ7TO}w-׌ U/=,#lQp2JF>e7wD>oE9@8ǯ0Pt:ϖ}j`F_R҃`;ovlqQf]ߎ\yx4*CD+{zϿ@q௮֩oAX+Jx/?QZ#aAMOE<ʢ?,oYct\*QM=qI ![- 6(aQx|n<Mb <`"TGcIXplsѿ Z;@F?征#1#c x` 0z5i}.^3oaBT 0K[+_Q+ O'3Pqʩͫ '\(i*BmWQ&wT~BqD={'aL ? ITA!ur\{v/g<.fH*גvu0']u W^V|t67^bON.&CSX(/BJZ'cmfxgjߐ&<@-aC;uJQB J߽1("%ޅɉK;.gИ'䒮3){ˀ`3ŲJ!IzB\ d` ȅ՜qy&2L:=:c.KLI` tS`mS?I\f>ߒIoKSucltzaYSC6,Yh[n9z`6W*On:kŝf+YiQO,\l hx kb()*ᵁa f]t kNce`R' z'e:lz^%\+[gE%hyw^w P#٣ߞlp }dLә@hlT'z&YJ$+ Ap{(P"V*l-?6^UzH_pGs,(v+w=xT4t2 %IDGIMt^gKk%oJQъdqaho?V`!+M9ŦRltI# ׌{RM;L͇iފ]֊8tѻeqXG*sC%~os+eZώ~)S7RKӻ~ [:<9P+;H yRqdE %q "o.-{^L"ֈsҵk!lMbձP2aoϷ+Sh#J%C"Ža9UMнՍœ_]@05(|tUPsU9#"g̲U[nV6M,}yg7v} e\nn9OI)wlNoz4j?WFuqfYb/%}(&L7HBʝAkʀ*< 2`!`@?Dڅ#34]L9v"q^,侇n:eOH;9aR0huPRT4D|]_az:t!4=,XeT @ C#R"%.kre*ŧ\̵5}4q%I^LȬ;(7rX&id1RI߷k<֊B B?-~al"qSf4o->F>DO6@ '.Ƹap3=}c6(b_;.N nm_x H<79G@ "ѵ&]"K  oV#Ps"?K@ޑp!Yz(HΗh^Jbd#.u '*T(Alq 0Prv&ob8GJOr[ueYR|w77l6:quQin)p3F=T쓉UuvK#~OO7Tp9R:cj|bz`/~ n8%2f<ʗ{νRMeq_ 9zu+gF4adEA>A]X?1b"-1No2(d1 *hֵMW6 WGGoIz^9vYM+7Ⱥ."3~ :OHYH*޽E+yzlf=E>Nàs TBM]ӳujko0?OȱqnNPҞ|\ ,(*M6Iy\NN85֐ F hd፰ z>?mFtm YW5>"}ĆSD4J_u]VKzX诈MÊ8T#=͛HjL}9B81쇪0 d9FjvߐJۂ2s,F.R NKcrk$H˨u.U:G+dFk=&RWy7AZt=JG>^K%YrzuB 7oZZa]PU9{cDO nP;ZmR @|(:dZ7MS%զ"'G@zWå?r7㹖V;vg#C5f+5L ذE1fVvUSmeobbUKṰgZމ!Hsq!(`)$vb% hhAǰDe祟@gV,O2as6蟙&$l gcLj(`2+D'HbĘ{hXfO-D" 4EX_SwfNL`leZ_zfCgKfr H3+v B3})KE>`JeV(<.x K6M)=FY3D[Rd|2qZ^rB{‹ʞ۴߽zPD}WmJ;+G`0Q&"'7K8XLۼLy+y㤋Rxj:sKʈsY5\igVfY3`d;C{h[:"oV');`x^<;W/sF6,GִN74doIJcCis}^~i*&n:MeЄDd v,Y !&Qàɖd^R" atw*+~Esx@ Aʍ[yɦZ8 k1W :,2gZk%gpE~5rFhtʲ`=/wDl7g5m}˘FD>޵E3u/@'W:f] #4klc,~JK2FgǔDZ_ITvb!ڔg҂U[ZR;0CI}Gرk9T>/Ҫc(o(ŧKDUEa S7{{!.%zכLTy`<ⷶ tx[SV[%d@ڗWI\:F撛IAبj`f֐yZ뻪= p&2 V 9!ރR ?9m |nZX üK7>F|?j&zT-gD<\bVF#{G+WJiSHǨYdL6 EZ,s<%p_ȈRDeq ^{ir cnڝumMպCBC4$jC A~/RtuRXmt`"XܬК_19ITj!Ajr=CMkK~\ы,zOw@4MӢD`aơ*c^B<;ho>&"ng4ֲUmW`\Zu~>4Hm8Fkx_~n!)i%xt!qi!Ivzc`jP ' uT,e(wY? {Ұb{v"w:]ZP>]pI2`F.'D&mn:5ٰZ_V;)Re ǼֻA\і{ے݄uOuU&fl]n+uc :i_ ϫ=(5 꾻$+M!%4SWh: %tɒk2LYBrh!ax/IpUe~Y/FMyجS~#wuEDZ5]+[!N M .54H@JNd y(*~0R2 Ĥ #6; (0ΰR!5yIRd,b \ЯmקESpU1EYFا>lz{$͜BѭZxjUhX'R3@'9JH>M3MWȌh\59㚊,+_d,r!w>[h2:I LZ_6;Dِcmk{`Qʇ&a6=ׇ(-0ca+AU9X D:_WsBglbVNwa}{@-~0`"z<"  t[`gY+~L*'?[)h4.h -EATѾƁ͞HY5Y3̔tI/kA`ƙkSSbK(lF3&ceXG=Z 7aB龀pC0f*vlW^`xU$^l wݒ$X̓b &"]X-φ=J_r<:Z8> H医bȭE1x/UHd0lcc 2Cdu^Z; m&7/t$ݻȠ\Y@!98IlLLWi''6evV|2=|,8RCZ֕_:S,aD[)]/2o:EP[hZ)db;Ǡ"J#npFf]ro8mbW|) \ǡh)usgA7-弍jOp޶E3/dv%n?N< >ɛK\:zI'Itff gM9me_wֲ.V k;, e<[X̌-`=|Ey JAAvTg9 cu'c FWtჍb 4-SpMX7_&~}5l-ӌ]}Ó6c8Ý=]s57W1c iD2<8,Nl.4"յhyͼױimKO&{q{ϰO"sh4UK#Džrga9&>_#c̄c!t `cBQkűڬbm(^4D[:GuKh p1¼c.a݌kϸir fm 7U-mCxz#]SeXnޮh|68hpeTIL% O7t-Y'K{r V'kմ.H.uKd 3J$ .-.${2=c!WT do(Cwz[!gO,gX[L?1 v%a<&dY+'ܛ4n^l~ 4~ yv\ek %8F$ao4o{2v8d s$c$vk&3`;)J/EI\fA @ V&J^ 5`l_g>}3 1[Op iXd_uA[w:U?{7BL`F wI{gP ʡ-bɇ$8C[Qٝ38ɣ(}QnG &XE̋6o4NNm#%<rxQ8RXE2_qdIG&$[08X`& 0B~Q=GQ]z ym[G] #BQoYz>d/{k6Kb+WMUm ;PpLҕ΃ kc+7L #B7jd9v ofv7٩?\NsFh*FPhy$ƽq}Ճs\]~jv%-Q>XpN0g#.5fm3'4Wi^[י)ָԉHIsAY'W W,][BdO*Aeu_1+2 ?g^* 6iը#'mVGo2`,yQW1j0Z;1>S~ձ"U,ϪiWGӠioPUNqG-RS_05y'1 >BrXCip=W뜤Ჳ0 $Yq2P  D B,}2|)dWO%ࢮ~yn[DI+qUiɂ~|+OU@ +2i6b[m-ATeEIgW(idV]X}˜C$Ydn=5'ѽv~.}}H?`y++-EQ54 Rڳd"`ZPIY+V"N6Zt&ݹ햏M [=QYO~8 wm ^$ ׄ:[Jz2|Y`lec P mah4׻?fȑ{%xNE~ ar%S CTe쳓/mP]6dw.a{Ap4f :F [uux',>4 V@E d}t_pHU?=Umj_|3[Ks.zTee+!=d}dj=#7⣜#˱][`2yaNUȡ:JVVL&5TGv J-+ sv}%NpJwOXCArxݸ$+%dftv1 5k95.%)M5D=t|RM~moB}50/h\8Q{r'F/2ۀ ̶%6)1~%6T!a%򹄴 ;@8+}e "`06{t_wtil)qB84PBJi=iT?Ou\< Q5&&nYJR9^Wnj"JX]pqfj$p;H;s!N=zq8L0%V܋m׌VzZMW$JeCʮUm::O& EV^r?*ҋnWU'3=jIa\=g\ڼ1Y2dq>|C}CTd] +R_0gTT0 ]ۉWoCmqI=4W8s 6w gx|{8DuJd trI]O F s E )Dj[Bv9eE[Mc:SQJN/$"A z*^uL؇ #,33잘m@GPB7S ctW4hw lHJx}6wަ{nTfRu;Ⱦ@BfZ=Fvrdt\L&j}:E:ڋjXfXGۊ♨ ڡ/lAޣ̀/@mqӉl;;$nfcZl R<V$/ KWwk1 GX0{Y*R*YA`w՚qIIAI_]cr (Z,if,h3QEj|j_qERm)/"&{XirsmU|*V;#gx~Q)?xCj\A4pqZz@jRMnFQgwƜ)KKcaS1(98aJѠ`sPRveTǐ;<2dX-Xrσ+Ǝo_{O5zwVJ6T:`'20EQE?EA78sZݮ_*VZ5x:SP-3添!h9ZhůXWϭϊj8qpXlOA C^"] SBٸd~x8_|9jkFO8U(VCI͑auw(ig0kӁ(ӓ_ pTrU|GJБU<(%ݶ\*w3Wx;&ZVYf𘳫Y'ws佝iU]TN`@cfqwRzGf rh32mWKѪʿ;,5R0Ka#^޲`Mnܧ'rq# wun?*Y,`ζ[ӤvUa}C{]k%A`iPC |!gUPCĠ)~g^]M.q.2"!ѐ`Q[U`ٽ俢ƨb}Tz5!ʳG94Ub =@!|FӾfNp<fGHk Q |󧷥h[G!!ً?"`[^B" =8\,;="@y^s VX7/=?k ڽ˔L R}}\&p6[AuNHux:`6v.b&ˁr;m+ynTwRP/:FΙPn\ԊH~M #ťm(x?*Y$P}z]6VH{a2A2:{t%[)(g}z>\y,a A4;ZB QLҒLH#_%g؋Q$J:OS~hRLʐP\S.k8Eiș6)q.Sq U^3_l3{|ιxsFEjڲrXE3+r JqlMVM1b(roKm>`B_Ţ aPjEJE&UXܣX*&\oO5Y "]-xF.vE¹,tł!1<2Pv) GƗIG1V١sE̓X"+G}*͓"մ_ Ze>2!֋*4(d eW%fRDUݸaʦB tⷴ093HwVƿ wd_d^ x z%p1J% b]YRq/ k]ʣ>ƀ(Ō A(g̏i`yr9^z"5Hc£%' ek~quh,h]~=tbN _{m֮W[%:[ZxsCl>&gBƊ?k.]WT>k"<II;])Ū"%lI|~oL~jݺ<Ԑޜ*_.*XA-XфLR^ۥ*t2Zx a}5Y{R׹FOAc7.+hशbh$e]ssneu$ %l- ;P̜grK{'[wٗ?ZG?hmANIgif^ݲv~~=6z+*E"r9WZ+ "aF ~nĵWtdq3eFEAP#$Ⲱ_@bn^*,T࿮{#z G*qcq䧟 ӫˡ ({/!C$>P"gG?2|0Z0&d%k6.Ay]Pv~|Ig'w:.$b,0.WY|Y^4]Ƶд YCfknil:Q>@Ԉe덷AG\f'Q@6އˡ]aN-F25EćWK.1ITR4Y(Gi^iQ Txݕ}NKFuJHf+]mT#/<>@M\mE+\M$TmG0T1dX*BK,L dLXQsiM~UWE׋pg%kM30뚛qw/;8AH(ѫzC\KTPˬ )4 _w<{^ood] 19Xq!B2* xm(,jnlυQ#mtz,1k't(yK/nAyc-%d}'^ 0A0Yт6|mKfrQ>f)3eFMy[g!Zޤ/$դ;PŻ" ? +?o) gz?ȏc˴󑆖hYюI'\OHM>5X̾2z<Ha e(!iH{]:`8pBEO[.]jh"?!eM2ے!) j)cl @Ǹ_WxSvtzosnQdMOsL5ÐqxG) [EVsekD*g@4R.o|E9xźsspvδ!?nQ]=5L,J/쎥vny>?m]t|{۠36bE&wt䈯ub5&\H&RĐo8ۆTpgy 5hɐtA>ۆ6VGL_2ۿPe[>!zQWR_O4L53bxEXGDa5@tߦ ~*1UF3-#Tx % _ѕk. tz {qٵ^GoibAcYfĶAWj]NN$r=淮3Rq9"1#Muv|}-k|P!ñ De:@H)0e(=zkn8?56_ &B.!=^!ylfe@*~ "/ƝnäxyiTӕ]$O`n-zx'}l4J"|T2Lr et t\f6-oֺ8=A.9@GsncXE{c2I%e=3|}%6Loقˏsx2EH!tۛ@|HSQBC;YBcÎ"KsZq/u*uч]N؇R3@RBPV"kJ`QW>\?sF:1[6V4~GEt ܹTq[[)T$Ep$H~<'o0[ ͉XtT>y4T {w#Q<3x%@'g2 U ]ŎD DlcȂX-=D,gVY)|>nY S&z`K+e?HE~}w$,\Z MB5v /z CxFiC_mυvb/Ǒ.M#G:rp1/O;ΉwƢ+ڳoӾ 5oԇ^FEA cE֦Ї]62ۨ~#Լ۟Ct1݁ym4y` pؕ8Jt[b1bu`/ųf-&#.<6L_!UգG{(J4&˪+d=`sAh3@"=&qFBf4}5XZ˶c;5ܿ[eS;2q,?QG 9]{XD0 FJ@ok:bZ0ç뽡IHMX z=ER5,ix| cr*Ւ ꕁjotb@ @X=jXk܎ԟxՑ q}7S0s$׉.Mǚ4> U?A<} K$:+p\E8谆fXU0D_wM{nū{zHGrcLTjuN6nm}HGqNfNQQE,UϣCX-Ogi-W,/ѝ{ +Ӻ[-q1_%oa;Vk&XN|eb.&$2nU5s:'N0`h;<qmn5@,.-&UXLD i;n啬RSzJ@>>g05뼄̜E`L?,(Σo$㝥G$؂4T="wbݏ4$|nIL=哈9ĘCQ;3IZr(INCc3dk\rb6=+E\ǢV ]wv*H2m/#LQ7]sr{S0ՏSf {IOtݙ }Dt{$簓D%3.8j&tX$89{˜kŎXͶ+©CGBR<= .|uΪ43!de"~//z$Ҡ=Uo̜Yѕ0ٽi<M!{Sec,Bm=KյX8we[r< `36#U{ON 8Iϑq{U\Esj״XJFcR?,nO~u)#f#+an'B `OUȵͽ'M-Enar#|yD6(.dfv* # H:[dtC;MpHkB}`v o'-W˼@$㑞.Lˉ:<W=? M#ߴDnz5k8SNǃaOVqB#;%3D6˼PcZd\~EqgF pRѱ{g5pKL|q"SXf wE\gVLiݍ8]`t/mX{_pfa}KNSЖޞ^NM~6*4ͦ|A;qjG}3FyVTWї \0|",q6U>\?=.xչ\!RE&`N h'a`r3GZo/Vxl0?Y-A;W ~=1lTn28Ca5&ЏM1VVA()Q+ČZNݤ,ԵC'P^XԎ\\F+y柳eE,1i bI_QQ.J+]] x쟐/(POq|R!qRe+9(f=+ NuI*UoJo0qLX9q*[gK&nW R(ΙS7"> IKWi 4{ tNI= KMdfRd~{UeIq;Lبڛ&_+uGbn*?tw*wwu1D5T٪`mEmuc F?}` e_E=?&f#1Wb=VOMYpAG6E ōt U4Xj9߲4;-…:9>GJ(c,-fSeq" |ฅa$ ϮIy&c򯽄#> +|H"пnB4@5h>< v5~mwK8 ^έkXukfyۂYZH!}?;ۗM+8yxAa }w1hﭵCgF;YB_/7S%/K }AKW6ٜ&v@Tww=5jzB#?S*BVY-f7@N׷lQ ]j]p%{~V}ꗯRb;1wCR* m -A3T'b/Q C:wZ&tGt}rEY5@ Ftuna\Īܮ '&!gp7Wr} jvgzytX'n荐G9mD+ӽKB!$}c{ڦ.90QxFc1-F8ԟa}4* xuT[$wu^8nԮ\KaA#Z8Tz+k'3ۮ1ZO .ui1F& K;lr}=UFv$?nLx1"MS8݆.q@y:)Y,J W`2ḉD *8ZQW/8}h޴~~of+Ӄc?99nsU  :FQpʍϺSl-/[d^ËL+), b(%sPbO[G{$Ta =VJ@ik7ݦ,Na)ҷ5\%4}dLD,0֥y"8jbAk!Ƨ`o3x*uK{ĿF(P0s7 PDAuuT-bJbNG޿aU2GoOQʎiy;js RIC҂ƚO&pjP4?}FN_F^/e }tDϠ&aZWK xNhW;Xop("VtydWcb.31A1PEJX[{8|&24- Xttr8h/Ira{J?w#*c+ UU ; yFPA5h"g`OOdjƪJF>Xi t0[oyDFyk8ѩX8l'$F ?MhB=ɉi7UqP-g;( DjtuOݶ9N) 69' 4/y bg ڥ+rZlBa$*HrH9#nρGJOFw* f 7W8Ũwm'|F 7v.MKM`\&HmTQ@: 8.G-.vHpR-}`?Qվ➦2GSDb'7Ƌ; }5C՞F]<=cS'X0iG}CsOսnM[&nI҆ml%֣иo!Mne1 WY[HKwHy!Q1V H;:_+Qm t<Ѵ&i&~f3]\c6sO dZdVE}ajrj Lcඅ 8{;y8Jkgs6izK"A0UV{jj O{V9^$EWZ =iiqܞ)V Ѕq5!lwd0=ᅗʝ5ѧOj\IMJ b^>iQ8-c&8С5etfѹ@QvXV>\ZšhLW.v#RwǿEEI,Vm;ns쁟r^PDvVۮ5=ö?Ce\i~J2` VEIHssԿ|c_'l<% Pi9m[@NUJ~FV{sS7ɆTNp;%qW5dX@HILAxf=AnYIjw@#5#Wv+A9G=0.i&B#u׼lԵ PF(st  A.Y6̊ҷEnވ4h<̥-KH3f+ډU=_2ïƣR99݌\6\zjf Ǯއ,IUr&r $FGbf.(@lQLxΆS.MRB8xB*%Tn6fA3;v0?3L:jD̑NH?t ) T!ʩ7'܉xӘ{D8&0ˌ] KLPg:AW qMbو)4ۓoik6dEzl\9-Q Ӕ)\UDIF8g1,i2֛ 6Rd桐D}[#Lg$k&sQ-9?uhruƯ wW7 @ƤTi@lh ٿ,y*]sǦ oM[.dNK'o/QBJT;_h#:/ {wa"7BLi[R "[ ԏ70 ;?ô0.vc~O3ew%,z1=p?VQb@m]«!8]"(":.=R_i~qd\mP[/̻EooÑ~iIVڲGqeq)>ۂQ"x* 7Ś&_hERYIU+dҋ^-zJϔ$f8N[u`O#J](-8͏ ]α4 SlA"3~]@mv%rFE5j1/4^AHf^$A;sg 3XqAKʩ)ށ.Y$%~1J$}#6t^\1(il-jؘ\ Afp !T&= V䇁=͐ɯ^Pٙt9)Z0݈2E2J{'~U& ~+9X!¯wB `P]i-u%MQ0m"Mψ~{;V1P_"uq VЪH Jt!ѢE3|K̘?Lp[;"OU=As P~Sc s C (muO#CրB2;O}"8 zJ? $CsjP $iN@ [0y4+A*tCGqҗ*[.jآvz*{i@ؑH _?=钉^aWZ0̫f[[kX=!psbKُ-N9`^ҧ*+:sc|}.G֖:N촒qJ~,rvڪO4]JW%|{y,D:ڀ |Xua ~X{BpX_.25zQm`IG[_1.n࢚faq]»(Q[7=ya/ I8|8M1$#*{HK{k5/2ADj#7}{~e}G g]j;dָ+ Lc]TDf0 O.4>Q%m ڃ`Bwy{þ:=EmUi>37X?t͓ɡ~uEd`Z |is LjmRKM6LPG+ʓ%k9poy S%K" 'y3 |,M=VhvnQ$ꃴm9·FA:3\x,FeF% h^oAJ/.%@|qG!`ee?$I3 `XܙGP>ce=%vO=;~nYGyf(4HJ\㯙mQ7\ݳ8X{&4=f[c$iwiBmu`wlv$\_NCuS!Op`^Eke~bt\&."pIZ"b熍 7+L1,ڬdnqhylh|āF1ܥC4J? Tal&e͝v|Y@Fǰ/i/"SzZz$UݖV˔0HBȻ@?cȧo%"N2\]+S'O&C&ݢc*j0OqslT9o9g)~کJBH9c#Y>_o)4C&=c~u3r%>%OEY0 gIcC3 ye}neE͜9@U&lf~% pScApoiů.RUrfS˷>>Q(l.N,d{/W' 1*DĠeн.%< {[ߙ6DU?9)DjWX`۷V_3/@S0>ǟ."YׄD.Wu՗]{xVلwjUe[d$6v!4dX-֫3?R!y{)*GatLAs'YE"$6AOn!KdE1bY(kbAm9¢Xpn88ީOO҄j{mdX_5=.ќ,};Pmzˤ/o3j70*':Yx9MD"c|n?Q9؇h+eT_WQ^պ=w@dn ;}"qϹv!gU@eG0I?12Jy8"W}vTLS;sܭ&1hʏb_r}ي ḥʑGMh 蟝'CD;G;y C/eMhQ&}gi?;R|itk(65zh}w<(J|`r85ǜiUwУpfpoJT@o(2N^ G\~y~?o/s64@*fW Q(|B @)`9@k\.;9#y_qmI8_WZAQVgplMa4MEÜVdwZW&-eZnPAZ$r ^9YYƻMP-YIؽ7Kqg?92&Z[i(R })̕"M(lBCۯW*ĥ/"w5$&bZfSXr5$ KPGqDTsjΑLg~s8jE0O .`1Q>v]ZyuH:Cۿ^C?4ߍM)̶O#t z(n|,ERf aͫ:3b*as\F$i@ "5{){VgG@3W#R$nxB3{oUdf̜};4OeZ5Kre_{_p1%L iEDIp-Mkp!O{P'z:څaq[^Ƈqdz⎥51{7lƶa];Ćgn-4l1鷻mF I?#&qby1G2:7P)s~b[cB} \?h9d|{ :F(%ʎ]6e'q* xυύ2럞Jcp2q@U k+$ 4oфu [͋=yys` ݙکNٶBK`ļu)7D]dMgf޳#k0-V!bF+cRI9`@v4 璼Aw L'v6%4vڑ66ڙQ+ 2KsOA*pXK8Qw=ۡU0{*ƏWZ.6Ede#LSȐDDَɿ稅RA5݀yϛ\m |)w}sZw{i%b9ӥ[#bNL;-?q{n~6R~*SĦNf2!"|*\t` E;U5M4^!vnjY["f9nru̡2\R6ꕃv$I@%I@D۱/`q8W,@IlfT@qXi6W )f6ue٬{Rp+m|Hilhw<IJ{}g:A+os֔ ;+L 8G~ W$,'o2ikX j*{DxkCƗ!b:hr"h/A$5yJ=k\*. ٝ)UPřA!OK>?۾"'ʆLi=lmAQz5JCi,.Ca/uj!5%wMSˣux|t \E.0QŠ8C`I븨{|$OLT v|z|xAR]M S=C&mK(f*>Qڷ wLb6]4aMFܯ׽/)wQ=y^vo|Tqyc׌b7Gl@!5BMPn=tms JN}k0M δ7M҉Ge&:*,Δ9T|^2ʜ7bMw@p p/X¢ j+0QI?-vQh)3D[4a4~UNRLϪ:U۩4 +Ԝ?[w 0׋m ;)^kq<SgPEʯ|x1).Xˇ;LzS+sh6C)s ҮO5Q!V9xL_Dꎴ ̾Y \ð<zse{ Gc?zB:,N!TA.=*DtrgJTBlpv ]0jC} Tni AKiD濸R#)uZP'|+cŽ [+۞) Em$7g_(u^S?U >ԫ5M+f:d {gJu\>-#^&,f~gӒRϺ>6سrЖ8?TrP&b )#QDH9k0G7,%\5g`+4,95MC;.s:odHI*,}ۚ;O||0.0jg8wМon!j|dKݡ/PZy:sB'a87 2l BO^yEg9/9o*yvFKq"=mm΍QQڄf78>yMNS_>TϬ|6(hT.1{kVji/hu.ngJ+.&>S ev"\`b3sryaz̡F` >fO8~{FhpW4p󎒾u7O| 7%J*[i):@]n0A ygPQ6nPGQxՐևFӊݩ7Q?B=CGONjOZ-n!aީv׀8Ōw`"hac~R:1pW4&@=ubP3F,U;ΦVn;4 aWZGsv% wm"'n㻱UeqW"򀢌 CT!aNT]t' dWATz5zAkHjyJQ,Hnֈ›dH>7La65ͼ eqc)4D*ټtwwKY$J1OI'GGLDBԭ + N!:F\ ԑ^upl]ۘcԾ:=i82t<#'ڗ#fsL* 0!bs.&4=X~9fXzh%αPXԩMzӃ1[*$>ȩ`J/ۃ̑ArѦl~I$uxGLJiV :?KuKsީgr})an^/EI5 #oJu1nWz{w Hy?Y5Y[`rdY/"xTo [BjU4)Nw)ڈ3t+{uGO;f{^`g:jA4?71Y;s]9'yvȅ/?+7Crx7hT.dl qpRV-:w(tNe4=_?{m Xa`F[},@<ĀrԙG4b xねGgQѭӻdQ!&8(7Lw6?!d@Nȏ^ydXyڟ4bۆ%ӧV]8'"mw,Arοkv8Cq]Hu%D·|e1)fy1t'(3MXZЌk!)6΍"q5u=0Wr bϊ{ۓ=h=#(L[rr0Zfbe TZ9*t+XDO uD7bȨډ - J& ]e&;.w?%Q'ԑO-I |S 0B;ȷ8NJ +mwLOdQhm2 =:!fqb{í+d!ΪK"K6O@&FxWbĸ|Ray-⤌#¾ ~q(irac=12hwdL,e+*(EQfFФ{PZHX!95~?RXiiDؒm{ Nq| Md6mk>^K@#Sy)@+?ݩ.tg:(~g?RycGPAz6i[J6D`eVg4^l ]@F婋+:Coē]ӧ(GŒ@y띚ϼ|>CCC|l_g~"((bZD:E^>99`u8)bBU,9PN0@*`RBI 'Sv=v9<-W(n\@%g?D rP&á:R,9ȻEB+n uC;W^E1JqMP*Cottgap峂U"EBa琬UK@mV)X?zXv1k2~Pv =ф4[t8ٰ/fvNo.--gQT'qH<*:3W3]ehJfee1NW&? =CnH3Z%+{@HxNYxu Uy?QC LвRF@'.ւx+[>+e y3hAL>ZL&c6*o{qC6q*䈡H7zKϽ 'Pn;)>5pr_ 7hmf'K[ )E807>.+Žǧ INt.'Ie"kS{96R4a(Ht $N(ЖbQ P81Kk3 _ 4` vwJUJ0mB.] u1s˝|?) b4vCv×x "72/ G"i{8!MjpEFR,6 ɭWN>G,Vw VTN%5Ir: B4&Iø"]#p^W*}ert>E$124ź3W` :7{@ iE*vzѬ".`y-Hg<$?bwLؒƄ((37ybam&pfekφ *RIt5WgRx(%#q7P.ʈ[}X@Nnd)`eΝϼ Ԫ_l}LH"*c!Kk[0i쑔`  h#'!|Kٜ]%{5C #w~OOIUMb1ch>f!ȹ O*!!ek\{oqDa#1- |`v=)kkyl*| "1M077CB7ku"X-.z9[٢0ɷPtB, A;ߓ{޳ lN W!J{ E&P4dFMi}磌_ɗGWWBb@¬L'V4)Ӌ\;Q1@{븤|nbr8{#>cB4M+mWSWS^B(\pYǝyRےCAau؎Uwj;4.f"oP76u5q,̣2P CUO1 Nv#QuڟzA3M&єED%- NI# S3쿯iCqnﳸGШ<6gp9.ˋ tDTRbn7!-g.Cδp;3̢2Qk\p8d J'!\VjCQOQ?CӠb JkwRΏ~5&UZo=Ksμ]hXQYBu.扁ݺNްu! DWU0X(zOB'HV:RQLkH2 s٨k-~1a8Kܛ  |̥R$ćb)ӎa\*G<m:nfhg<ÜeUS3=T\[9Dy>V!ײR0 73Sje&u{<~II97f;zP&nud3qޅtAJwz{AiִMLPȾ*f$JDk(kF\ZpF<[}D&>9A#>rʜ_f TkBRCćX[[Yӌ8|u (Z=ɭӣUUJ9НȢ&>BP^c ^+/FQW!@Ǽ;WX (oCv p6q,fT::r²ӽu% _O+EXW6fc([ZC?{SlgkVc (.ט+g7` QQ=q3{z}&q>TSF+mQ|k#*Ly0' HF?vgI($˨8Ry8Z_Dd~CsƴuU*HV+=6O%xKZ,"kX\J:rp|e:"dc+6X)T3gmUXu֊m΢!!ݤDVUE.X0ڿ)Cv얾gxL;,% ORd?z.]UAm񳒬Z!= @+c}hyV'2.%x$f|:XxiN4c;,lOdW9BlH(.R1 !YϨ́1jȱ+*`ȦP&0C8,#Rt`tߢ@4x'oE:_`c,36L^WSwQr҃9inu:wٕƙ,M| 0-:OO^,qac@^ jf8x u=̊6!9Nϵ&OdjJXvyTŜ"dq&a o3bQ@a9p%|˜?>0 k96H#sg3vP`"~"(gBKLJ?@x¦Y1ƙ3S#1y((>ۮ6:'\I6 \9-ZƳVjFsEuM4@KEU6>4&Ds(â^jcs@IIϺ( %E+/Jyos@絝I΄)Y' =){~K;dж !'Q0a] 1/WU!A 0m0[^_[<#B1Zɢ6oL͆ /LY&r $x[(-j6&+[ #wĕb<8o^E`c/!=!VP"^ ݖK-BS䲐w1 ~V9ywy!ǹGh3+294Z)#t^)3u7#=VLPL2sAئxaѩ!(JcŸ]fH+$5vR'f [8rt{&Baa u{*']!wV{0 Ls$1F UKWwQQnU'P2n6X]{> G= ['NIq\ƪ t,60i%Տ/%!-MfN3V}MistNɴ!qwH 4sƮI7gGfgJ@+^2M-e9L~\cڥBzrf7ێ,RAVH+6"3dengL-jIN2 ^+K26xO9|YP L3VR+7g]Ҽ}97gqp(/Ge)Σb՗E!Rv^/P ރM=f>,< 6ۦc&_S.3/],&/S ^5d?mZN4њ ~"dV׮aQ':\9yPO> 5iv읕%yȉh]ǽCUC0}JE_Hg%!6EvzV±X2R@5rӚf˯M87v8*KrsW 'DHwml7ge ,!}zlN/]j!u>NZ';L狴dQ[|V*vEɩ-Mmַi;ʍ`|&Vzv01aSjR"`DXCyEPcŠtio ˃|- i'O,W[3Vlpb"=T)_Sʦ3hdG=έ͘cE3E28tjD G(3@%'b"9^Fp:)KRil*&$EguC.cp%Ю7%MJQ*|&f]a%6OZ{^NR"s{=nL@ 9huĻ+PlQ 㨋"8F} KoVCqZۮ2 0PO/Ɖ[fw]NzokZHiig3}q![hY);CCMW,0fi _A~ 7{HL#Rˋ+_/וk`=N02n>4$˜-*AZTg: p% ^R]\e)WƬb6L_owvrva]:p;ܜ*Th Q $RtW]ثQ\9A2/`I)ě`ZʋVlvׂI;T%nu1-'Pmt[As~DXc `_V tƫ.R6P)/_tWЎݍ-J˦?\#i9 1Mzn߄2tQN%ͩԧdG{O9MNaQſhsq8_8cYiWȒcOcbϽ8sފz-E JUY쿝bj^p& Ѩ/_ipҦfpbR2 =q8hAS@=x ɥt]{ϑ F O ࡌһ\!Iɻ v>|G.`HX.~J3}H Ә " vޫP]2Џ]`4f&]ZF]lQ=oNiqбH=gG/-(k#Ls\joJoz@6R`g*˃+o*}#8o2<.RpHxJWV!Y͖U}~h>qǂԳ̗Aܽ'˖ڻǴ5/%zv" h:M `T8| <`ԏgNq hfhI;]2n9Bo-UY 5d^]we -$[}j ZШ5x\rZѻ^rMhJ:|ł? )ښ^l @&`gBqqqyTɫM͠,UU- iIwT(VA"X,W뚵^z#zs.g *;[jDxuQ`̯}w6tW EpN?h! ę?ẗ́ rM7Rr!IHxa!MJ"[b܄xk}3lY񻍴.[3hsLs% DXimEE #QȲ$XBty[?,p7^-4 Үovl?{s@^op4zF_%̦а7Ze]Z|k8>d՘(Z<|-"Ïad+|1(8rä|w50\/@/yWw9 BRxL>*:]۝SeTV$߂ wСw!BՄ Lj|O!b1hA D rÏ{k1<]T:p_r B񭋈r3g)too) /G>t 荳Hbhwf,Oo>6 ]֘'(e5&u=hh73 ^rcHUU|P+D]i_* g Dw;a՘g.V>YGZ 1$8mۆ*K!Y^qdݱF>[j#iRrǍzk:E N(o̳siՔH*y1~Ni!tDs 6lGO !n^4/fsgRGQtu@!&0p{rgUq&Ck^eHnon?4oy?XQS:NYO }C&Y #auLRlZH.Cd''^iOKo7!ZC&MgjטZ-h`Xxad O[{4|G)/ N4e̋Q9^J3y'ibCF4osY,Y0զI(ھI-Ŗ޴.*z*xBn/3Sfb -=6P^Dr>J.fhAG2G9%zO/V2O ܮpuއl gNte[4}OCx#֐!DLyށU<6{KP5o!VygkݠStO`1 ]N:r~fTk+PGgvȜt7m< F:֙E 饝zH'+Fj޻/-WɽYSrcw0޲mulߥX6լxc>h]Q^ ՜wySAr``&ci`Hx%7MV;&n -'bE/*ݩj{*?Fri2KBF1OXj6ӘWDwˇ]1}܈#5K[M(EGHҀ_8ϪBxrj*rzDy)j Pdbd.?%]fG "dfßnMqZdSPKO]ؐ$[BH3)dꘝj:df5 H MnLptyتva FU6۾ȖæV:DE+^TLCww1ݔiYEnM֠ᛰ˽Tmtn{E/?Oݺd@<_\];"| TvHuFHK7Wf;kAz*F@ZʾS&tjtVPSyrm~wnC1i@rZ1R_D41߮I/`&!Ӛ8FZ ,q(!:PV#?dPC "i22X80y:sMN3y%ê`99 oU2_xϦ{]Br_d &Sz9jW͸,wA1 a >Qi$O$!삊C5iC.sli9RleetgqA2{xb$gN gfUqj, &P5 E!EgcKHFf'L+nk}~8;Ae` RljĪ#l4 CG(q+Iչuߔ#!$> b㉁֙FPP* y/jh:s['b^ 0(wAfRுNSP#w0Qcޘymi4#�}T?HDohW敄 } 2r/[4zi0Y5-]PAsBØL4qOq bwwk,6A ؅pưta|\ݴYL4f9\qҎ4Xཛྷ/9iRM9V.Vj{KC`~V*w0lAŅ֊*3CO΋}a B+|B)=a ܖ L!< sI/Q4ֈ6+JgD~`[wI02?4TgPoQjs1CnFMKh2ZTþA ommQM s ZrYb;GǷJydOΩފ˂bv -uqge4!Dn}?aB_d@2Uepv6mrӵu^l]oC~[0=|iw0 ]iz zArH_*o*3ibD\:2[9;~/ C3[개߅J14q/qCknԦ םVˋ7[JB\2|}oT+Y nӴl<* nFH_01 [}HBtLKrj&kam2"_U8+O1h9\f>T4~e XG|}CCtԀm+d #3zNa!4[ƮmAÍŗYMĬfQHۤBة4A6D!_,= JF?F 3(]`g»]}x &hW8I2A!vz?KRUbUI eϥ?o\foORTne8_7{.8lExәmЫ\ĸ̎Hͼs\៏Oo;r-启owEBC[햲 sסHp 3 +EϔBDAQ박#Rrw޵FKEz7X2)%zr` /30vqg3ut;#e9;y@mu1rTJuʞ%`hKk)ـe.FOvPCfTnZf+3&AjNO(.&,k.PEh4A4sgp'%P9%e JUu[P1]Ai?YLIP&S*# >UHG%O+גi.bz/xEebCj^VشV` 36 ;7w h@8}Ȅ,nuaiSoV`Nhvw]GDKǷ'@悔KL CK9$\ppezyCwX.Eu[$FZ m't=3Ri>XqބJzMxc+`؏{x߫bYoK>+H>~TzmŹtXVr5)gD^cSb i Z5.Rq[̎v/n{ե 'xN(L4vݴ2ՙH>r9{0&z  CMxmxq(@b>Z%L5W)݀o)oMlu䳯 OZ67n_D Y'O1ø[9#Q#VJD@.LV(&<Mqy "w`ʝ^WZVikZՀj ?~VGe4b[/C /G/ SK8B|ΩEo4M@:1Ob]KT L9@;'_à +CIPKl!*M;O| ;4qkR巙>L]:Dv^_ nUkt+oo^Sa۶xΊ񩸻`\Qq.߃y-sN;m*ѡ\.-5гcp&KAz-bލ%ٞIUJI|8A7 7hqS>*0Z~ᄧs\jn JvS\U?Վ%_kt*悦w* x'. {e#/`+`4ۢœ{hK?++w]aC,']0N콋+>h9EI*~Zt9Y*X&ꍜ!"b^ 1( ZV{.F[uAG~ʭ }sX)U9VoɋxOGͪLG_¶R"cgψ!zY\ 4 Z~rHn}*#%#0z٤*ûjinl 9a*ܤ-•8sx<hLYTjHf{= v&lCWl){{t|̤܄!J$T?sͦyXV 9.]: CYf/;$S"S'DUq0mZ^J֗>>,{4;h6J:LGƁX ˀtAkMzaCl긩yrocGuwk*Ѐ3꓈;j,PN\;BT׏6=f1 TN9jz@̭}bQ^AZ6k&q韲~{77$Vm!'Lc42q!|Q.]pS!yՃHI67c?[CٖS*9^ F"qjݥ$OtIXn -)1حjpeh^s#0+*T?;& G隆CGڨci)IGS@\\:ىki52CK'[v6'׮,sgJo.+Uؑ$;+>mj6gRNz~DH^[O%pŃ`,V.iF6Z9˱6S=o0Կٮó$C#r_l;Ɱt{d`v~ΔfZ '2P㚍O\]e;, ㆜ˈe^{zb#/gshH#.1P~ʨ/!=+c&۳ '苑9 |ǒ0~0MZpD B g))9X Zؓ>"w{7>7XG]tUd=^ 4ܙ(l<ؑHZEj:&C,ٺ/g(r%Ua\66i\J\K|q( Cxv{9Ε0d>]B (,AAp̙4e"YM} zy[--;uOy8}bOByئgT!YgZ6)q3w.6 qSͣ0`8G:(V!wU+E-fP&`r9aTgܽ83~Lj9( J;3wߑ(M"zb4Wu ͵ rP@8(^yt/8,MNr3+;0H̹ ٣^[nEM`k!̳ڑ`^\;݉p}u BJ1zwsk4OFl# Hzɤ^D?:rUrbI `w<[@D? dYDR y#{֜m-]4m3Gkn{i9<[a7bКu_ 7a&4PyjpV55FtV{]O}[o>"cf;&47[@3a=s(TAb Wrh[v 0h&(qa_[3]hȇB#jhrѮԏRGe]D݊ --_F$ɵ@k Zv4olޓN*[y{"}[P=1gFi Ss8 AՄ&VzFho7,N0N`w,0'xU镃7X?@WPx9ӄcdo6_L./$; 0PDf;Xl}}날%4Nڶ`2Bΰҁgޖ#_gbƐk>4Tn[* j#a9bj^(E]`{퍕D&~xLWe8[Ee_ϸ܈Z)(FKcb+glc@;ThK1ojN0ZVs/eڹ;g͞|jqtKwOwh6~{%dLgs˵{u F~=Sru,EYYd}{lXݍ`'$SI̱H9 =#:) *xnI6p&!=#h{Ǧ=Rɷ%qtXLϱ5DSuf=~`&ɴ^]֤*:ޮ5fi*r)kMސK_k_ LIIvwۿxbI%W[ Ip )GnIAϰ=1MӇbQcN\7=,K ϒ?؞3|ۆxzKEqX(e; พs! vL?t0 PW>\:U/iի94msE mv׽K) gvF#C7%woaT61i Ѻ߿.f];WYe8BSo WotrJoӘ߂;;܃5VA?hd0"F %>HxY;fL *(.TJ xM(sٌ *Y-Ͱ~5|({$Z{Iu wk߆#k%=5 [(RU %_%FvS4RI1 &8 5Z6:|"1>ĂXdLf8_8,[7d.eHE\vs]ٞQZ=OazسQ#SK9qLU }ny&h RxAvLPe3j$G"Q}$jpbuyupN J+Uֆz6:r}t9Q (F03%%5DE^k?0کv~Abugs֥@o8n)ə 86 =qD{N2-k`O KM6v5{2$q bH2 xM͉( l#gW Q ٚ@Aܗt{6LY#xϑ!5NFcX!뽡FqF-6OY(tG]֦ (~Ktj^EadU.Y1#gYu!1XD $WDF)pFV{j { 5yfLaƦb%mUXj8u K.7ClT/i9uBN6GGu쫠ƕzRqނ&-wD1c,ms T LkkdxbOhfv{j,Wˠi:t=RGRHj5WSRN_ۥPͰYk 2!{ל#FxIBd5 EV&Ed~.VF{Xi(-ֹ0s x~yΔ -Kb r:.m;Ѕ.o|I;c*#G\A0~73u~KlsSxp ^";EANeu_MpsؿC8-f<cs+mt4yVΧ.Vg+Bz-= G y|6iX9)?M@$Q]SDnO V]񁀪9< v8uEM :MPMOo]K&m^q?环izZFǸb]Y1 CS9Ot5,jS.S=me!M 1';%XiEbf1qY w jz]XE{y驃4$1iEɳ3!L3w*)HUe"' $2sx<٥ LڧDB#C gkJkb #mT 253ʗ#U+|Ss!{,^<mzw5ٓFG,Y\&Q_,y*AC3V' D5K$*$TW?(_k9\O D8{TRTP C0SR#~g´ N\T<lIb5t}G*0 g<9Ȉ{E}iOc.2䉅zrYS1xs rƕExVyPAX^/{,NGBv7t jT\и Ph!XW"I))F2,m'}3w1ΜH9UwOaBm!ff%Azi©^3%-l.=XO͜H?]Z!mM:-* ȿ]"xiTZԱ`T@uWUΛ_ ZX~ٰ=v`>)j,hVʤbLm! 8ݑA;ar2 862\ߗ`Z'T(0th{oEkDvY, UQ23^nf(:i.Zp£վ{FJDo 7qm[ -Z\&h'j@Gt>rV)LJ??wDbiT^Ly2#c>NIʯy'j=vDh͇ix1m8墹JiU'_ĥ:x3Q2@ڢp&]P$PTHcMhSn`Vm)\#vݳsD9,\|N-ntߦˌ}d5Q[Bm=T5QG8>ӬOfcODAp}˞_dhpP Uj)u?[xE%#!nЙ"ZaE=gwAsJjNƫ1LLd3P8ŸG_;IG9Ibg` EM $;[ebv S{7Z: 3L"^@}sG4ȀBfg>s642-qy5*&VoH)eqZ6gU>%M3d*xjqkF*Sh{Zuɽv^W8#ų V$A T}4u-uϗISQ>+3Ş)!lAU uy 0^]6# k6gL/Qt;vk=*{VcY[a}X4,5R6b lF.4Mq~M+N%<)I/O T1Y?<2 [PBaLE-R4ZPA,f:+w =]_-kyWDT<\yO.<>ޯ*TI~V$nG%:TVHe]Fi'[2l k#^95;&uObi"٥D$ۇsX8M`:my$3mZ`}K۱w '/}o|s> Y㝺~XTICuڠv]Fp*䳍 `޿$5PfզZI*+܊!Nέρ3{7.\ rk}$ NvR.zvfKlXT E/C R70C Shb~>EAqLldr}zTviKl lNYR.o1F>2>ŗn`n"da*Ys$OChӢܻ%M٬@J+'*K'jpq=\ .%^Lw8J Fj]y+zIw]כ/^ R`W[OL[[brLs!B ^@irG Ԟ`y.$~ՉX3'\I܎[ ($_VhP*Bv\v&?O Bß1[9C,sPEg_5Z/ U]oH(gހn:+L׺+~mHPLpȌ3-,߂9'01qRG.w4QU^EDe cB \j@}֕3}z :h; -M2jn`B3w<ɠ'gp9 gZ-6M#]߬R n+[@"@`reE҅^=T[7^ݩ".챶&-PTeu7hKO$T!dɣu-8YJ1C7iYxVpև7K%2@8dvmR`ә~* >[t"K]B#~f㛩19#M~NM#J|YUi1[|ݪdt܊gJդ*~7RT+ދE5ZI4%CIDvSo9M];ݬx6̜S@aN|FҔO M¦Wlu)o0J2US]s ȗ]!Q~u\]#Ob BRy9pwyP"R &ٲ'ګ5o'%8 0-"~ދ:v|ƻo h_)wCU1Eq}g@JH=51@Dscwڇܭ,ʕ8Z^&޵ro\2:.i#zI.Sg^7Z$AY.G?7Wş$^6 2+6Ez$5EIH]4u+bq, /F0{d2r5ԡ̸%[д 4Xu `=tK] ӣDQdTS>)r(ivR+9|VP0>VJgNO goa obȯf=]U3=H6` T ކ+ZBΒX&߰dGn*6M-RePZA-Hrر! dj׬QtJMx 2|A" W/.M8Fy0CvWzFsxDUn…7WMK˰jȐXƆZI{V{ J jdgJjwڸ zÞE1Ȕ|}"/k ƱI2JϦ߄X^~ײi'껚3|45kԀvtZg`z/0<Pɍ FNUO8ŷ;"ʫ0KmݗNp&SD7?w.핏!dbdNGx&o!')X|䙹}^BzB{YFA`cbZ-C[V MU/))FL2ύCb dcf^V_X NoVur@ΐ5~p<#=cr+xRa cB: Qu1RCE]zU4vm0]LvDg4!=ᗪ.o͞2>F$(ͬMG0X悐VW/v@]b2QS]DaBdM~ )^p|F~o"GAځP\յjхnH^h!_Y?ÿ{Z%`iCm˩`; ˰bN7tdBҁJhN0P*j{C-(ؾֻI_3 RIԬnID`䱘B|<R#_)U?!N!1-MUkH𜢗F~:6-(PiHZ^  +x:T_ qU{mww0 7ov4da{8O#wA[fy7dLccA`q Ua0dC,6"ݧ?;8_ f%QOJtb?6޳p"k}GlYzf_b=[ҰE]B5n_{G퉓x'NDq!{P = irD겷CbQ;6cdB̕_K=o {(|4 gw^5*R G bfpԷC6SW;. ˤ4uyqZ&|F + A☑]Shf-`d?#kȿ1N-G9`vyF)cZ?2;-Nxu݇_xЧ΄ܥ0A G ̡ɠ*ߦg/b>La2y4a~` ͉'H^O %|9xjI #ƕ:C :օ"ړ{8ļpU\#?*ז6,-{hG_O(+6YLQ:mۅE6#vnit?`n燧ӗ"dsi_pzsL:L9ˋ] X`[-.&K?>-(VpJj~PceW/Tn Naì*TD7I 1a/ zω /P COt\^G` D)cxe(r)W!׆Hյ;JOE>B^H ɊHjg4 eN7G 9GRAArP":a&w.2*4OGlh0y<_/j*|1LfԿ0П_q0X,77uHb^4"R5OT5eKG`Qs|1{Ra픒pml !())goaԏ]N a7v)3RVYvLkbL?TW".c;<~]%k{{rJ7QMad} 9:%)pUruEpћliCڼ̖" EKɇaCerr1ݮϜncjZ}9s 1u4L~䕊yv$"1P =lJ{8[K67N(as%&RjȫΟt^&DUP((ޞUf:tTA/80KЯ8p+ 8@lzW<^B;ë|dq?-$tdͦB!|/<؁_D(;eUi}O3::4jZN丰mw' \dX% SԎ.UP=`ycT9P֯1jySzS$fjo QSr~ Hx5_(.+T=WimZ)H|]$> Fd#5=%ъSubu2/$:`<PF |댴!0XV#`}򖀏!p]_?Dӧ{-fx?}=P! X}DQO4׎9hhÊ* WR&Yɠ76 貸e~{rk?;bF:s*rU߃/aӛ%01GRHۚwMcRk ɇhUHeK_?'fgK?wH<|1 ҍqA_;Tj @Isca?.:a.7co:B;@KȠc̺x!=FV!ɀs6>yJipYE)DެSMxk4CK袜Yl<;O#Uo3Ke FJԭA%3(Tiv3yu?c0W);yQg0Z;[8J5kyt:G@K`봣!pJx`vI mӂj M$xIDIT\l$ ΡR:n<2tzZ'.6C3O-_scYZ[A EEo/yiFf-tzx4T]V4 il xQ 0"#ޖu|ЭbUXwNܞkq]y(Ɩ珢 ej%NT߲ ǂzY$h,,-"3^~U$B[5OA؂;-"3 !lNA!Hgak洁1u޵(co+-ɢ;;NB5p+@VNi"igzFPx'GL+9Bj!|04ߢ/-ۛS.wx{] h۠I%[0B`>n  *PdHdlK`47mcAJ缾_Sȿ|׼l)D5'9ޘ?[ܳ˓~7^njLFWڮ)c 0"<ՠ(YsB쿕t3X2~fk>V\MjBBf{]`A aa'QI\s΂:y8 }ѯ,و-iN'ģ[5[T'){eu恁63 ohpmC:%Īfρ nSk*p d'pvğ5r9]uD,Yn 7 ߕAt㏼a=ܒ ՗+LjC+o[ !G#7[[oAL(:rPnrӇ&!\_xE:)u6x.ʻ̤Pͳ~B+s<N)  ) ˕-ND1%M[blkIj;4I+pϽ0\NGD+.{#}FEgA~+5(N=eKU՟G͖>~Yw^j ѯ,KLξ20X&8Z,)x^E`pwtQtya7݉&=cFjYK،pf? <^W1-d+ )E_.9!ydcL +ݹ֐XyZ&ʙ )E֌M~vw6Aõ9!G >txn^ɋPBb8{ lw?=~6_<\o&enbD M5So:)(C[ [ӗa1VES` ,Q+g]̠, _{}cWaM p9 vbʏ%1]ز[g .o,֡2Ktd\)V$J!UCDr_YB(uɖgs ﵵSN/f[$@?l"ڛН#z$dhR(eI#6tu_>oC#sUs;]o3ٔކ1ÎC!ml4KpRlEC^xc-)@E[hLcZM%Ɖ ClbbدUխl_^9oαuR6Z\`ƝpJErhZߋl:>3!r(PBU(-rT!SuV>>V1+zb쌔Ѐ $V&^k˗sDM ׷ȋ#ܐR9̵g}"ut?P;ACF|Ǐ(6[wMQyadl %1~g(Jr+2`5c 9w|ᾢ ݕ=ޞ|Af0SWCM~*H]pK-}øLyq-B =[O&f9A||_ށOf'40pW\ \00ᆓy|Y !#Vmʝ= }ap~&r/['caDx]J-=287B(!;5҉\nDIj>$ҢƢz@%- }Yl\U;ngaZ2֮k껳G8݊ &=[u:Uu ,A  X `F+NNt>7^b4CYC7k8#'EƼM0SoyQqoʦv <˞5<1e~àQQi?% ?at(SpبAhRi>q`.J,es0hnHe^#fB3h{]a ĸ6`kreЂM4PRʲU8~eiMBCSdmKCPOM4=rɈX(nv { S?j'EQH|. #FS4XgM#OiU+7Q'ᭃ7 Q|ٻBA\8@*ʥȇC}skrɿ33;pj$[l'Z-ƽ,k~T;*Gn+#$0C=L\7a<'q.jƲ8W@Vj s)S͜rg!*g6;E I&RdJ ;v7PVW^Uj]YOz1, &uh& }h!r5bll˟1B,Hv~ҿ Ho&aAicq_H/j&׊vʂ 51KX%n7I@gr 3C ;^,7{j@b.i1Eejlw/_> %&=Hδ:I$߆NE t~z& Y ,9#4)8/ BNQ3ҨlU !|բ.`?KfRF':Ԩ"dpoJh5.7f i@]vZݗ"EыLA2i7DK7}MXiB[lXxFY3ڦw}v/<7_4]3ʎjAAn#'3l|؛e=wI_#o K"RPHeݮ)mDsBCGy+ӓV)n5g, #u<4ՠצ<`_w&*@I(93jE١e`TU$ o-ɄO]| w~/ɟ%=;\ٱZ3yY`^rmxDkݻu8B\EV L[,fO|&uFNyF9h˪̂i7\ -2jP2»mDt1ݻx3EUu,sjݑ8ϰ%|ewvPyR,㘄yБ.҆B'!zM[i!\ڡZM"S(baڋC*2BLpOr8A8+p}#,U=fX iE'zS:AKVf%꽶`qJ!'v1?+sùϣf ]CK*̏Kdu oSU4!m]̶V=>7CܪOr?U?PO<6,[ LMX7,+H*uGf@$phxGee~SMâ .[C3@sd!4v#Z4^R2C;2%Bc:",u؎afx]:b1Gp\Aa3wֿ0UXSVnb9K_\hpȐYimY;|if m* 2Ri m^khUoݗ}ufBDZt[ WH'FcD-ce>`XRjDj&n7" cej;+c)t·]|N`ꀸ)^&%!Uhe=C q+,wt0x J}Yr|n.rMq=wIWΧE8|n#Q >`m6ɟ@:̵SjSC#?CTu3,i%PNgxĤC^gXE^`@٤-yd=W]wtWBVZWIXw& ,Ђ$̴L'US0qGG9rX"@5dS)aV/iK%Dr8Վ,ErƩ_$z~U f`L[!ňkiX\ʯD:x km@QtdٶoC_XWDWń3X5K2"%3~n㭦<دKywGRl/VN0+ۨr7 @)"6thl1읿&1~[G3m̉sf"aT}ԲC[ESx!uzl^J[I >boaj{9l6sxK&_&e``Θ]V~<pŽP *P7˄b,iSdvNבy "_܃[3k,7M&I0iBVpά:бkQ6WQH#bbLr J)wYq4{"U(_mdrA%S qRIuγ m;E&a__+Y(@m }?*KäA3nnGn=R,Jz-N X%5QEN4<dEeįU/qZF/,^n T َ,"F}\٣2o!kLʼZ)#qMᘲ+7Gϻb8DBҤ"6gW2'$jzR:g6 m@5 C9]{C7SkÁ|?awHu\]oJC6?:2~ Ѕ#t B)E!ߒs.PPIrt8 :lڅѩVK,I mG5Ix]'v5X0}?7A7 --&](:3z˞o"uw #ӛ@1,,hZ~ZhH6q}[(~*8e\uE(;َe|@  JW 9Z T%SzO&9 z7T;θ:UТefG!0KUs~7&[sB<#̟rKǩsg 3#Y㕪M` !`&>+M ɗ֜Tf~I&wHD^ŏ2c3W%F֫O;;έ )c጖n eS_ /Q0bPn^r2Seۀ]4d9Х;yӯyb@:B].fw:+ǗYX^p1J+;fBA,a=)6^9h۾Q*1J/ eڃ/\te ';-'߼=["rvc_LvӃRp"9SbE95^j+gޒ oԈ€`&YP>UȦ q3I3:(mEv 1 H7'2鱘ԙd VĨK+d Qd:1vV{6aOy c0YE>=XmȏlˑxɶědKxnUEz\(ņm)mF$\iMY9G!ǵh>70ÿD6݌#8jQ&9>Ox5$ʣ KqIݻh+r[I*њfiGz+[FGJD !ݹ}Bug: c1E-^տpV04#E9"sLTs4LfyA M"ټrChPp,|[,Sײ@jOnu@@H.mSUHs ¨Qm(1]UiiC %gX-/+֗[.-X4ڛssy(ÌUwq6٫HougMC%F^]爺bKu [K.7ZNyK0WfnIGg͆z_@B`&`!rOwsoq:PhJ9|& yAFS*irM-xZ598HW@2ǵx+ CovqG~ǢAhb-KA@2čw )A&SSz>C&dfUZP=֝KCt W?,qQYD*Hm>Ygl1"ږ;RK4Pelp' r#% AZWE?}D&`mp+bo1 Bfsi`jLxrVE5[@>C"2x%̍@l5fH&BhJ8Xxq[Ubj G"s b Ysj4JK8w&GW uCj -,0BLr~.%lA4`Ov{:j.Q C7=}cYt4TW*-L bu hWvo~f4U @PȄzwI~yi5׽x|X.nKG߶/I'gAHA#!H' +a'0FsP#6Lv6xa~jjx v{KTv93 `&q=ȓe&? mFBn0J⣸2LoKlWʃ~W}^ m;@:xeRX469fGi+r;QD Mx 7ǐF;KoC T= qTN[`x6'ƫ͡m騡i /]5ɼYh~!po آBg_LSµ 7K a5;,g$>޳Dt\[Zws\gϒu=o-f#"ں쨟&jcOOB]zu\RGg*=u)8g= sa0>jg.4C,cVAmCZ:X] >m!Fz!["2& iU¤7GFlZxrN) 4N;mj.*As L6d8}HPw%9x):xiCWA{M1CR‚Tqq圔[lRIdi:څ|H2wr(Rm:lk Mjڝ}d!h,ķ|]>GQ#wD$(3Uh(T YXf$ ,M6!Z@V/~8TI.Nd0. HWfB,hg}Fցơ_5oʞ:.=Һ%GO0 [NkI%#PHڂkQon+ɑv,C\'p910!v֮4NCph6bN\&GJO⡈pk'xz8huRDG?[+ уuv~trbl6Cᄬ[5fp5T萺f:?>̉1 ^gn\ Qm^ΡxCՄ\MYw;%ؤDyRK;Z)g/]JRFjnU2߽r>{%1 7=7?+Oj"%;D4f~Ac|k 3T]E߁RM .~f@1|M0 Jܑ PM4:ks.R ǪD.J:Jh;\VZV_+NLEwrYzgMz }+;ޤ1@;m·'!K/Y$zNYj8҉Yu/{QԬXhsu'ῳ3>a S7,{k5 ĵU1t#X0ƱP :r5[9jm=GSG777-bb.%dp{8]Rl*4`ǩ2V >E-9bզqVOeqkrCG@%F1f_N-v'rFFL諰;QB:R= eّMzAĜp[A g?%`ΞEv͉܂$'R8BT?&`cY냁~eSS0鸡w "b-Lth۟Y{2+.k[I6qD_"Kgm&qJ1[Si6.21mS@i0E]3K]}rV6(S:*rɦ{>tq$A66/@V̚r|$O j\[ې rQ؃eC_qR6?Q^Xӏ>%C tWEQ~k_'vյ.AQpi1q" ~D Y2)N=ʂ&뫫s0 %BSw")7!Fl\ ʳТLB_#WS-AZBJvŜ_157zx&J?a_d<-н'd@p76+$xj/WriS\ TRnMGhx?er.|~Jtmv*Nz,ZV3Zd욍򛳝g̸nylI_fMm3MJoX23=2~ʹԚ59c_s6}jKpkNfg^3B7 L.Gx]p+wYÖ^Dv*M{dy<_~!`y0h}BmrRc@L+xnam}9ɼ uW4u\"Fua.mHsKN"P?,'Y6o@T۝%=gI.ާ, #"F= A%[)?2r2&e/"g :H6(N9^۠_e5mba\LWHtTV{V Bˊ˪,"a[ֺH!GAB`<!-^0!n;v!AT(0XB`8dWxT5ݳ3(Z' d¬HJp13N{;h`er #F#Q4 v lI%mG 2ԤÁ&ȁ;us|i5mfKP#fD'_exJ܈&mB<c(3 dI)nX:jJ+vch o!\1P@/6<˗rHR8SDm$ŏAGPb+ ޼ό q,yx&ЗE.zttv&X簄MVt[T]_HKr 8(ga[iC%Ѧ&4sl*ڬf'_*NAQCYR_3M ./]A3C\_ -vlT ˝k!\kÉVDs3~YO$'o8<`%AܐhwSWoK>Ϥ(9? `P52Nv*$nC;%Е9 !&u m؞ˍ^}bua2i?& i&iՐ/-X_]&MNLmܳjySH|eO to8|&X?6O0iǏp)Eb%<(e#f(dM1D[׿2Tpv|vUh԰QQHҿOgZPuFh.MkErIcP} ]둆[JɜCi_2k<7֖s2reUjKC?)IGc ;=$^Otz*vjq1S8 \IdyHMl^lm7bVW}]nۋS\2nfjPf}FrUA߽WTl߆N4߱XmגC1frPaD`؊;ߏsu<!3c`?zfFT: `T=Dnq.+y%">2/ v8v)RR0 dC^AjH)u76u?p1bj~YWnSg$C]jmC[?W (o^ψ8jy@PjŅ Q%lxBpłX3ދkU֊RU-S{i{yIv}J7kv/R3ڄ8o8KzSnTjdٍFl"X*vΤ9' S_?hJSFEToe,;e$ABڵ9*v"yMi:$`6r\PvVSk~Sy)\"gcgfhZ豮QV-Ԓqs2W _dE Zj2|*Ѱj"lFFiZN+}i앥!z$ ; 9=\Jfmĵ` Ř<<C{ÿ4WtW3&ܑ#7"Z/(^vkw0O<".\>|\H !+!!~an]/ #DvؽP,f %j ؐfg-3 :l 靵ʫX?yuR:Φk29QB(ኄm]T1sgO!葖ei\o|"6lic>ix<-h%(Q'Wd/JB90H`=a!B]vdaŸRIܖ!jpOp w2:췁'kRCRʍmk= |Q2OpCےɉdƁT&knȬgJRN<_[R'`_q6.{wcQ.wˆ{ ,_.}!U$z7_8 C^bs9wFwʢ?03A;ZB%!D<]Bi|5ʩyN1Nq;J14u۳P\Jeĥ2Vc+f4\ $^TȈpq M'*O DDqL~c$*S{xj?Yª9"%IH>5"r[)(xT غw! ̺Xňi|^jƀX۶[SuL@DU3 rdd\V#d/ۘœ:ilߛߠ{c~΍4j?繫삳.uW*b*4AYeڏKuNA<_5s:z: PL$¿Lm&Jt9 N$A;_5, ALSǝNĽ,=7hA^‘ !Q+/0W4\C"43Bty]d*9/<̧VͫB^l [:ae[^<WK˛%%0|ɇzRfX3+Ӝo@9FS3&hw_"}ToѭR唌Ab2F/VM0`"ˎA7/Zomq^k{D?ޛRv \+pִ}Ix3huxzСKrӴ|RO3ڍi a[D-&ήQo(#9V.7f K VLd!qCeM[Vݓ`a`AhtY;M1 p1IDOf`uESQ5YH0F<tObx2@`PSZ#I3 (\kHCY 2!`h<_Y& fc}Ne($sTo6BN~s ~W2~N$()D r+Zw2| z4>ac2FܒqL`!RUn0"̢|kc)HSQcSz7j"\x8M6k"`J􀔪{c7S b>"ة0C%j3s)H=}K;&4t>+ҟUX6u1dΞP/]¼O.Us~k;YOtO?Ljom*Z9t ;jC D(giNg7XǯC|Ix %M\>J~H7}HlcD$#iUpB\" ˸DFAӡo5PB!^52S +FQZZ@7ǹ(r$r>+#[oM3&3Zczs|n3 {k*#C3\/X(A5c7Y~"6,FI~L݄= o%D%G&@U>Io*XYtJz߇.CBDI5cf$jqH1k$;n1fA$ֱU,SeƒF1BTK}GvTe Oj LgSnBvO!u4nhIo$qej" & ԣE1 0֌|v:5k_͂> )mx;oYνNDߦq$ѫ@׈!2ʧ0ƀkN*32e_H +°'uo>Y' tZu#mupt=aY9wREI{f/Qfz@ꅺ$ud VJ/`CcUW(ѥV&ooa}S|(_;&+6U)&]!<[Neӭ[iϨȏ&2m:pzEEtu)YBda YId3XF\'ݣ7gʊ!,:Od .\ha0Jv\OTX&(ڕu3߼2$˦^=1N-u}P|A֠ = /իDA4?shhgW{nni2@Hzjom\kʯZM bꂽ#Q0CC Uk Nf䛱Q5NNryꆆg@.d@M+oYe0ڼqHq&CЂVM ѮH8֢`m/Ӛhr)m/ gEˆB=W#}yNۗfz;yxD1;%^{H奿FेdhU uu`:Mm@-hD_HY%Ep1" ڧ, 5r*Z0-D=\H>x)tͿ+F\-(Bej\++`j2趷}U۸hd}`"!rKca!+G8$`ء'Y  /A+FGt5GdmY1Vc Bx"" ]Ȏe͉b͛u&d{x 9S?{ada_kJ@JǹV_m9zMkkP"rrk?#9`9? ]-]ny 5w%e_nk/L@9K@-QeUV`d@-2{`sNf 7{aiuఞuh+q?㄂mn3ߞ m*T@r'Id85c/9aBt1JW=}{KGO >ʪ we`޹ $?@'ȷrFqIJG;bV{ou@9*h4aI;ԯ#$ԈtEn𲛵(Gsc ? 2N*QTF+ũdW $4Nϡ)c}#:~!,F F>   s96CY*4o=7uoѻc`ӫ#uZG]޻ (D#^Rp_4F]DLLkZ%ROnx[ED:J(X}&rBD\,r-JiXq#嗊df Wx;4t|G.f )5=Ci,*2Y~k?5.HXPG-_d:54> '/Mj9ZbC 5+;fB:Ly|\(0'b` 2<o?G<*14t:!!b ,Ѕ΀^M p?zpxk bkV0Y yz^y((.+AcLcyc;Hep$'bT,uQ_P !Tj^gW];ps+),SCٮ]$>5=;ɩ z.䩅'+"]mϫ-/l4{&h`)Qز0*5Py%t@֣|6}w fxp6]yqkR ֚ɦn+ <ҁ`!ƤS,%MdQ{6C~JP5P13LsM b5oEo78@AFNU=3`H%^X#Ϭ 'q #yUϝN\a{ݣРv#;uq^}Gwqtjr~twuF0uE8 BP6+(K.bȻ#Rff-` ӟ䶐quHk:b0RƸlʕ)D0ҼYk?B%YѠގP., ^$1F{-)BX <02fv&@nm~Uk`ڛl~hc_6]M CBVa0DX(!H,^!rz} ZzW2zxt *_Ƒ /|KYKs t.dqf &f3hìkMK h2,.4 Ux}M[ħ=NM4%$WUѼ%xoM[ az !i>LUh{4ԓ+.YT`e#E|(6\h1]_՘3\l_@AZnrq|/T|/Y؞@z ղ<3;$(d>IMR1:.4aq@NðRR (%]*35XT7D:UW4\TJObK#jq[(υm/ g 9ܗЄLT@1fe_̬I8= ڐ%frV+Fm֛ʼnҝ3zLι@6 a4Cp\E)zuaJfS!ݡf\wEw-YZG[3Az٭)[˜,5Ł zT &YQ3N-mθJE 0#G҇pkp~Kk (>cۜEN^էSI%y˷jmF< pK|Q%>ڬnjbtщ,maš(Zyͯb!bN4>|uR\8≆+/ !rd^k)g$TXtNǁf=z"9oqBsub5Jizn}P'zqYՈ/ٮ^QYI\ξ>n6.,. }{VE1p~%ݎS%(06'|^8i+NXmP$Ux0paPg+,BaalEׁ_oEbQ<-L6Oal"ALV,4chxHj"I72 Ef5i4JA- Er*$hKUQgNǭ=A$! npW11R+sAshlB"wv+sm.u>$xq[5? 4-lkOP@Hڂv,F"GC~<ӯŻ]P Up!U璞 J?m.3'*nKN5@y'&YٞK|t nw@F+>{dݰC@T3׼prG 2:ۭ۸q6\DS,P1I/v]p&q3hfEhC,bs KӭPܘ/Hw wt޴!y¸S>C,gԺU[4Tk~86L_s3s%y-m0I9Dj3ץ@zRy[\f–)Uج ?Ӥ BʘFڟ1P)8|/ޱ%׼Yݻ(62ɩ,Htnkke*{Ya4.}=R^ p }Z.J{zrd_ 0)re۷WCDQ#XN!*'6‡>^I@,qdvODhȳQC(@ %c>P"G֏=8ȩGjTvUua?­E0_%Q*?zd ^J@m TWv~K#Vȭ3\s.jrߟJ5!pFݡ)-).ܦlULb5?YVdt.cRArhzmtn~]Ԟq3zՐ}rc,-TB1L)zm"wg#Lf\-56sB&S\)PV;e r<7K+hpg?Цxx# Ӵ>U1U}GrwiC t,ͫPj^$ת!,xbsF{שNӘt ?Ut&=o ʋ\vl ]V 믔eƺލd~!}poVtOkv`Ֆ!p$_ xrs/2g9\hCbX f~Lƫ7/z Ap0lZ-1h@a!l~V~>aPZ>?\n2[KlOK?vWt/'#&(~.[`orD2_ Q0#^NsR?-`X堃 g9E+&‘)+wNx}5XE"NH4iq k[#.ӥ:/U 4yj1s$#/cH!FzRNj⡺(l.NػcI_&*ZK)S.~:4 .'?msnܫGa;V$]_6ƯKPda_Cڞ_i1 ).Ml\ǹ`BbmͤjqdL]늽lv%׿: fYyەNU"^!Y5Fh)XHA -Tnk"^Onv+*+nHu0X,,Qkgjs#d1$" ~X-EJi]`Dk&щ9ٝyF] +:%sY ()* wŲPiȾۼ9dC7p;nyGrkqC<^ߡThu͸ 8isv!=BQy:\^daʒCnePV T TA>Ncoe1c؇u?0뷷MYV_CV!GX-eUM-*lݸ,"hF:KJ7:8z8BieB4R` 6iOWUHܦ6ϹtڞD#igɹfG;28WNSFR|#}hxb_/))R<{&\;ME~:wg)~Op(k][샩Z,ݤcGTFb{:VJ#I[\XRH¾_E!ɚEYWxQ]z7$e3OiepzGKpxdIxV $W ,(sVA]k.e:DԿqTV"YRjLɃ-tAU갪M(0ݗd̆UBfTC Z,Uwx?-yϏ4a(-5X8 GbU_GWٰ/"3K)@)V#kM^[&s (iU3dΚ, ،XWCdf{ck?FkJS8{ꁮ7>]ֽZ5{x*qr\lA#F~d-gQ.*9d+R>JKHh 5Ot"sstC$R|ͅ=ӺL}!ODP2/Oq˽S:,<7?mќ B(9' ,(elvnɷA+i8< WNUtĘqfS*1sFa9N;mYˢ^/%EfW.K3apa=TAjY6\9}g Q6{J^J۔z]//Ӷ1@Ezx rAWjVAs?/4h'bm`0koOnJ&KSwefr1$<4Ƽy問'hmpEfҖ@G!i%MX[NXUD/ &q%pU(iSҿ2fTv,=O"Zb"`:s.?%ƹQ޳R~=kN=N( .XZf=B)J v7A^=XrIU )\~n0BWԷ&%p?Q]yuxa X 'i27p|!>G'F[~ԎO!+5恫JPߊb<Ǣ`; $?W nD/IZJ[tsW5)Ua+! s5^+i}`fQ'1"#LBfF%)x|j&ŀo/(aLi9uJ\JC&bjP/l,p[aId-Z=I͡TU`$ 7Axx oO~r8)+mEù&?fEŒ`(@Kͦ\L F;Oï4P]ѣπŊ&n\EGcco??KYgLkmnqT8`MjBg9Bt4AIlB_ `$N~gFo>Ptk &Q&>O큓FlNPOrbW"׫mqAn\3O|N h=X';f Sedt ZTrG _c]B5#38{{# H '}J}ŔU*TWwjͽPs픠E' x$/CXWJ9:=)}lR?^,r0Pn:O0_, qd)GRM\|njhۮQΧ*P^|vGfKQp4 C3n>u|蠴~B|YgS=W0Ek#DA,lsKsLV&PAw Ls3.A P4+X!`r#GGgu 1.$kCg@bmY,Z3Wr9E6J CCOK¦K gc"b/XRBOYϯ^<?T7ZȪ}*AZ,oBɲtٜ_O( 0W荅=Pi|m@CusLl̊W$shm'¶C>ABMUR3 *HQ^b*e[ϣVU!A5DNPnoJOHsخ_2hntQû&$8KA(,ŏp Tsu&nRjja{jve*0N8FP^>Eϭd'eݔ)< XMjw:^$éwܗՌkz=+,!׷6ԑ:o606(. ή!;LT,+|X?'U{Poxg8pHo@[ϓ"E,h"a3 ~?DοFeՀ `(/nyOϦ**aU pQ9OD%c*M2N.+.ea3uY1k/zgw77ڒd׎`];hq:|u˥[rSۣ-ڋTjIlhj^RORe1OZDgrB#kO#uˉR$ :n 8*t@/`]bT'5#ǖYZ~-TɌQ!w&Mk5BH*`2_/˛M<̀n_'ZƇQaW[k0mU8% < 0nw_DXIxZ9,?Er%{lRK#v W\HLhOs)h*a "}yQ)Pɵ 9l_MaR݅jЁCӊqSM˳K)HeT:'(:KL֏c@@!Wj?F*O^M+p?21#5R .uo+A| Nj F4G66YdlԾysH&]+crRI- !7.^1!4vl } ܸG9UޖDEWM;Vz(#.^2$%[<:}apa*C.w{NAQA Hg1FYdbVQ뢫.J mpEM ~D2duςMՋ=2+־<քlC|Ӷkz)Uh0_[4G  Hс;To~'+_ u+}- "eaڮ.hQ.{V1n'J>syìþ܊%8hG22>8^%u')(ӳc00zV;~kRP'3ܮfLv8N;/{[f<cϣ֦ɕ)RJ{;acvYk '.gL&"dL!c}Fk_'[n8" `mB>)jd(Zd5ۢFOCN0|ͩ5I Oɟmg5M7b9LBhf|{.N (1R5^pQ"⪢|4vW'! Б\h1 4^FH ԶTRWܹKȆ ,;ϘcLTdu,_o| F,JOM]1ENjgzB#\HNq+gק r1ӓWΏvONbnX>˸" BA6q$<743Mm3ԏ7 hĖwE]Zp(YGk1'tsݕxu?qݺ< z0=`T3_͡2?Ks4'F|=ɼI,>Pϧ[NلO$%*$TalKUgyIb{!D'J aVP5K]}q=2E%K cٲl($_$.ǪODXrV@DXUdgdj# AtjŴE^b`]qE:fWu'8ҥ+)mA܈:Ү:)}х5M2_qr2AS/j{Dd9DMn6|[,#ڔU oocT+xARYOL_-N4S_o1|~d̼emS|?(xkE1}@^7-ݎhhFsElRZtj6SӦ/y3ӭ(CmXl fx;Aq0davj^jqB&|Lk3b-enh{/MXV[w7#=%l,)5> "]M͘\z~z.VA?HWQ|wÁ IzEE&uQ_N$*:vB뉋ZQZ'Ƿq ھ9nWڬeFP #m7Ue<-->JvooTW>r!\UA-/ڲq D3a"J`Y燐G<7SGakUڲ} Snlv6Cl id bUx6f2,o!)KڈUrBd豘s5Z| 9n uѮU!| q t&]y˯28 bJ‹)Pq}b]N>S3rB &8sv 6v& \KLy ;.V]lk s(j*]W]';${jA!3 O(CD,3{% ri9db/;uh=J[oV1<"4/Z~?a2ge8l{I[DDVdֹ'3)nWf.z8b4Tp-p>W݌Q8r -\KVxR)VB-r=ݿ' Y\fq QF ΗYL[m%LT K1i@k 92<_,P${LU,sdu7qz D$"ͅX?*uѻc!Qb\ ig%0THMn3 _;sj29l@`ww~8څ|.a8E\B2\獧aFamzS2XRW$PQyW%tGdAK1Jx&~4Hv3DDVPX#[M Y\Kdžzs'h%hkƐ8Fx2ۋGx]:1C)vS( <=0*קӱ|򰢶vv\Lb}n٥Ԡ ;Ln)-EE抰xl w#箟SFtBvɼ0&AZ_>l*;j\}[Z;bM<@`o,K{B<}-k|1ʤ5UN~'*Qv+c:7 ~o輦8%^"jep䛀=>g<z5_۳z52ؠ @l 4U"Љ;Нe7T? #%BҚ3>.PM$a8b'No]Y"m`[ԓ@rOq|+dr Mt5 |Ɍ1nOЫpаaOenV#1uХ\f>su狳-ᙧvH&"BҤ,2![cQm &^<-A =r),U7{z \em8gFVv#|-4p_S i D<,Qe6&܈oSiEYk>Ki=RR7Sf60I/СQ̥xxa59k*oA`ӸqY(^_)m}m+>R ei25-YذZ `:KSv8Ƨ*FWwQ>w[X:V%2Vܚ^qXW֤$o i u mLVÛ]>ujZuz_u*1y?+Ѕ '*xXق=,X_c ]?2c> ҼϙZLCi(,M#V](V.au ,)&*;ɟo~Wǿ a6CE}E3u㍳Xn  -.P{˶=0d}cs[ۇ@Wa;K-Λ! Wyo [_qTwknžx2Zv[dȄ [ `40TF hUC.$VNavTn)<}Oyn1E ӏ"z+yc;b;ia0a =8ڱrgύAy{&= C^Ħ~t'`t{gO+9x6sZ~ Z *^ *Q2)2@4/gX8yі\ Ƀm*M۝$1kY&{32,w҇VmMOVt$;BLx+X긎_[ݥ37.Gp rbyjf7\^sci m9؋cS}>%z~%n93^QC u@뻝Mۘт6nU&vl}JQYUgȆDO#48Atf kݖ hqFVoPRPH9K 8!|ݸj5_Xoj=I?dcKsd(\ԞЫI+W>0q^ tANC ɔFcM$t862x<-0ҍ7͓̳9Fe/c]''F 'u۹WO6$e?dEqC~?c Y8{\Gy}sHGՙyDJ+"}' dq CEi*b[ k+"!ЦJ8 RPgi2k1xo^I~IcSQjLȺ~JϡnJ7dMU; ք®ZOǒvѲu]"C4ޕ0XtERDc`IIj`2?Vim^cBmI rm)+'~aL3N)Gzd T "6sn&Qu)^kS0h}|6+\/Wc_J6k8@fIl3bZ&2ػOG .%7Ƿ}h?sErGS_W:Xwp75Up-B'D@͚K==&4ue.yQ1h F6rU8GEA2Me;bF8+gg/cPXQ#+4Am#HWV)7_PQBeIpI=Ox w.d+(r>hZD_uZT{ҭ\*SC ~Fru1y"<+)NI8`X =Hf/(׻*dq#|gkrb{}U ![*u+ڠ-y䢿w12^ҧɵ݄ҽ* V{);|Dǻˢ2hY-3a]3.Wʽ`ڛ0:CH&%[c0lpbuWJ9͛ՎqQRu\QfQ0hvGWlGӭ{øE8.!QG#8 S5bD'Nf*;k~YD;.a?rQ̭ .ٸ-?qſFepkE/W ~J d\gNFld#׉V((TE 5ɍw$WErlhW~WԂ%6ɈOHq߁CDWyIsyLqsЯ`tq1:Zl,* $?!cߘSi J  sLϙ30jSV.M+!7j1#t ۾*yKe6<.\pO2,TJf `?ة:Ǫ0ԃ c~c T58>C U 튦E}S6d|7pȗx: %-B4#d1Q&6J;d gX0|g5JWe8ǯr8 1p6j :_[T*[e-#Tb0ATAHk<7Mr?zr>[tlwŜ)wl&YyIlU) ]:vz BdRQ'?qD&;I1R>^oMxfc#W; #6ɂzh/Ob=!C3KTwHԋa7kbQzj5GD}/:Db{?Z(фh>Q+Ri|h;% &%A!· rXƙsEEeoHݞH8Mvԓmwf*OP25PϱJ^W4CXL䋊qo0N"y]}&s;ըMNjb wM1d^W~X`@2y)qHtJ6G$.Yy9b#$_QώnpBjhsX,vjԄww-Pl{YP6='f yi#"ըzV*ShH-vpna )$n,Z #%h-!n/ ͱ qEHApnONRrIww RqEוFegM?'QB7rʹ,a-}YߜTξ5@b1p ўǽ.arݷ2</ay?+Lѿ. UͶBafnrʤ+~HdrD žy Ib 0~'j9N{""k|S?G2=_0 kDdoO&EO k<7\ *Ѿ (\|72baח_(8Ι:_aYgNz"E WgYTr7o]6:5f5. (6 Rj]͈zF6K$1f3O>+ala} :*,g[]wo箙}GLwTJ{ءjiAdhʻ~Llp:;ҫT0J{l7%w _&ES8 6Mv4Ke3"UqgXX oG ߳S!y*/+Ee-Q[Az7T滲(.CCM)cy1,͙3Ix"P>8->;2䧛qs>q;Z6@>tVz(Fcq â~AxunJK~W!X*(= h5UvXDL@LiFOf:+M3vL?p wܽ`Dx"}m3ƼNN-J y%pl5H]:gÂ``WSنߜJm/n3_Ġ8bǡ3whaþf2dP0Þby[d\r,?R4,9Дsj\z Qc+t0LMpYFCGЬNÊׯآ*8is/9QTQ~iaۆ{m-{>E,gkҿnfۋVr$X%6Q`b۳Heo+.=a?l F?ugSacEf8ua`Pw؍DڟNMR.6Ɠ=3Bht.hdU3muiy&"6PN%"_Á yZx%l3|R]ZNjB@>;7'8IN47[{9Y,83 cf;ɇ6ZdasNZHsx)^ ft+y*c R{3SqPbи 3WX#6GOs/N[5GEQXgޓGl毘wN} FƚغKܙS\ؙ8;MaѬK3`Db?zE %DqR"usȇUX8% M^[E㾂z:7[1( zr<~+p@ej3xuz^kt=ݒS}wȴaBĀz3'4ǔa%E[^ݶ{ip(ɬ-;@$G( uaƜNI \%m|GHor ȦbʈZ,xp$qcAFw6*̲b X*YA,w⤇݊=Ӎ'xISQ g!AOa#H [ S\Ǎ"{gդvλ/@l"}VDYu&DRbΪ䶘SGotY'6 ڈ޸ I"aeV9R#:K#mm!uO6$j= =IUPgfΒ݌4V-FG5o>{٬oO9C lƐf[G9`oNN}dXN[fR:Tᱧ #Y@-B6*T=,p9?G˷_iui9覓I$u(/1m\vհ1uW_7h8sHI6 N #ȵWk.@jx)"<|1Iꗗ\HZ/G'P) =C㡑r[}Tz4y1/#ɉoxTm`ֻY;.^Z&oYn:%HlAUb*O)J(' >>s\1s9~ӆ6fӉC`-jƢєmW&}b,M4O] ls9;ҾՊvHۼ~acm)^-a.7f ˵1tX-z1Vi0wͽ*ڎ=L:7g?Ż^oha}>7~1fmJPr *-:;]KF:۵?ܺj>P9%wO߅jReW;NKs)R |8ǃNu6uk3NI˶<J_/"kSVo5`l^3!3yP3 MnjT!)XqG@)$С'q딙60i=[5h?ӽTZV_0#br#E<,hZUyMp; Ĕϴ<?Y`9L׃~ PS_Qf&)eKYL֎dcPC׫JTSIӷ.UpiJt@Av.[]46'^pQvs5jC^2=Λ2akn@+y]ʪ;m9h;}r*]y~NR Y@?'61íUioG(>+bi@Dc!ܾl+0ab!R\C1CA!5|W[OWx=H" צ 0wgTz*@eG7[47u6c)ʤIDɯOŝEi%B .d04S_Ki妾W; Z-m ׁ`ߣ|U``-Mn3ӝ| QB[&5ZbuujwA[A/M%ڔZ?`cTʃ!wyKPUy/d2J⼡h'>0]Hؖ_ z%^{ڹ' :DTq87UfXeN}A;vy 4nA2|}dJ0}Ρy 9DNU"!U0f,/AgjW0g"u$(p"wGc~䈣K5Dnl l~}8t0 EГ~ Rn#55ZMkʖ<4Qw] sh.E9 Rɒ0йCcTyA_[5~NTn0 d٩PòyVLgNt \6}Nhe\CY" ˵%Lwkj(/7u,XE2&惿8%nm1=+9ʉcYa hp|y$_RkUc { MIO9(Xk-\ɇrC4Bk˕ nKNH[lYGgʜsgE;tGqy. (mLxr!w2.%7,=#5h%xK:a*h3/n0Fˣtرe p.`%E&R>[<&ϓMɞ9 `EN艃npXwE:L\(8+klu҅;b_d_Iǻt~P c,BSqtI"3sChVSvW,I%YŔhݦƩԷ͢ս"r Ҵڌ)Tl"AyfPə2H78s7ft<%T`X݌AE>OhYdjCsRG+c(,HbJ=G@iUnm"a>D- 8.C=oJů܎%X)L 6+Bx?+ I\ Fn`sIf!HDlCNG n5NO0pJ}iЛ__Əx)sa.kK'+ ځW }!I&0%?coظXGȋm<"UJ<98Jr;JmݎVHpi~R*)ɷWwHרH=p6ƷR1}Cҋ~Y/ȏ=cPEdXMn@J$<4 Y~ɎC߭0-SQ.'Re0Eg#lZ ԢDM2qgQp1$E릦Њ pp)AY`RM(̱NU!O! Kzۺ(S8ȯ2&۹]b, Ff!dPa!4,j]uYwv3GC~Ca5#8pUfn -w;ZQ7#'mk{|i_/R_*b̺߹Z'Fyàr-lB?~\&v51ױސb0.zueQEB6bɯЌN&W KGE<Zy=Sh&Pkf> jU ^RsauO4=q &Kb7ޝpmhe8IDwr Yz2y| ." &Pzzxc̚ RVP\U_$,tZ< zyp}WȂZs?8Q Ǭ3NcH.m=[V~zS]d4w1UECr]xxh٠6lZ1X]R4{⧝`!Fz0J } ܘ$cb4RVGZeR$QpYΜSp̝d{"a xS0#6G{pK+I SՀ!S+2n_} -⎜Bma#n0Ɍ| ^o G֔v~[z߸PYp Έ>AJu*NtGlCퟭwI2nXĵb93B5rh 2Iv+Etyټ5,z$o>-܄s wg kGyc#p'AbmI{:*#EvnRuO2ZT-2xk'Ҿ׶w7̦I\1StY݉7ꥶsPms6FPE)l5YN&"Z\| `5aFr 8j6jx4DINw68~d#/qR4 <- _C5[ir maV92Cq"6o+f݋3v}qeٖ2pl1އhI66wZx`0j6И{UEw4O.ZP~+ZcwO[X,$:T8m<Ah.vER^kC1q5-'b75s逸.l¼RZ5O (Va FY=ZFJ&&V%6зzʓ_ºs̟`'ofL-q6]vt3do/<hX^!n/Rt|<6;X*Ifvŋ!"*Tdip(xG! Y&ͨ+JꟵ6&%2&t=_YZP'joDl~&>$PUe9N p<>G2# !"nS}gu oI(hjAk)O渐pau׀o"4nDTu cahT@jFy8ƷSmkr[%7i8@`2/'51tQ俆ǁJӯ"1!fB/rY5+wŮ4Ѣmɑ_<3;aO(5Cr_aS獫߾Dz'́6h0ĝ$q =`dև%iwrSLeQw* ,Gj6DE|\kf糜~q0.d*0_Qp彀IaQ3}nF7\y۾6[Q; %,$-Ӿ7q-9KR޻|ԃ9}0<"8fL?f}'C )ﳢ'~(SM]bM=IVp>{؟lX:".).ڿ[GT˼DU77Q+kȂmC)P<- jt5$P rob:Y`yrzҗX-YLLSVʱq8?z]áPK_VJ+\WhȜmA{q KqUV^@L~*qq߽R,\7C-->L;UM8j[w ׻ZskE3yv^_k-Vԟ%_=ЙvW-ӒE2c5W/0r14dL |V`Apʤ GK ?,՚xYWRpKt T umA9CJ2~PſAK:BE;o8U;$3@vٕtL)RH^X{Y:-C.|h2 F (xG+K5d & FQm`t l2EXfOkqG%DąKf9[,)quQ-tZI d-@!*1́*(\urFl(#*o%ϑ%U8[˝zN y9tux2޳!%1bJ;,L$Ss:sجvl/b w+ AwvTFErXuڂLp8/6[|Ĺ!,]kDW}Ձqfo|Pv ^)=DR,B\Z鼑V?c[iyIUQu]@ޑS~/* .3Dg3_~N2d 1QkşTR$vX<~?g-4FV$iNmPȔ+08dd;Tfo#X$Fy­[Fo3ۭUGz4bZF\o ]_ -Qa<G**/>jO9k5I&E}nL\Q5 yf$apĴb`3NZH]RXX켄(6"=l*Teu-nW1%#j=2>/Z8`p.?@r]%olvbThINu|¢T*C,1]hE աj)] jڦ|:Æ]o7I/e^k5va3úZ"}55p21C#f;Y6Vo?cfXnuvn*[!:`pWEϔ XD~*L_Ӻ[ E|N=)_Dn{T{iH`]* Щ Ǔt&߶Qb`'ÌR!h Ր&RZ8]}/Uwռ6B23澑JKG-OIWo_F:=ta*lIčqxwuB`_8*O\ĄK B'!"zcH^_I,ɁӍɛn(zChghe-2ST*4=fB{o6Ÿ(XqkYV=tdRk`=/7Q$h1I8ps;.{{MP~SP.I@m%h5G0<O=O IL- v.Z(piiU|Zn,Pu'+%Oa0}Y؟,O>s\<#^OTPB'5Hc0I`$@;* DL.^AEK%5>B$&Үb:?j(ėb8 Wo`ZFju--#}X\{>܈BړDtMerzlnA9WY^c8K}aV螝xE*#<_S2Pa:.Pݏ}w`4m7wҲ nS c=z[@?xjy=Ỷaŏɇeo}4/Grsױ)u^Hiڂ3 b'ZCe2=!ݕLI[񒯇fSN?2 0cx׏څi¹Q1K7]Ƹ.HQ-8=/xתD.9Ik|FFslMŧ4#BA+^k(:(ԁ7`~e74rӂF7o덿p+Y)IJe4j G4 uA jPb<ߔp!=GZ}#j 9O׉é$uFlTu9P~c[Rŭ>i̒}X#\կlB*%}LOJs<ط=Ɂ}3Kq׏2љP~p-fɼ=}⬌EjJ!/-1~BL"j\I]vtt,q1>쯱~)F9VJWu苒UoGlg;.ID>"p욽W\J^PK9$,WMktE)mC,]TUJHXE%3K}.&G#vtBǖpNϰ`m, pt ! yap(6RFXRPZ/w3#HjqxpfHjUC|qdW¡ ;C` {TY|yh=Z> M|fm9&o* p{I豠< zȭ!''v:Da-vDJɃH;,7yySo`wFP./"-Q]}z~уHzX5#i90.,2birti\ʆ'F`g{V{9dM.R>5=p=Jx H ?+uǜ>-ΧuS8T+U { F $#> w0%s 6ݢj5 gU#pC!a2kp xD{-lHAI7u:^Q}AMx7mE,Q9ri$Ut\ϲvkH-eA%/7lK~!St]%A]yt著3|Dohԛ76uM_CâgvF a?~g2/ZB~a$4׏?b\Iv l̎HW54-AnypmN~M/o~Q0Njt$uGyE]#EqyamtrVkHGU%HxJb[捪7QʳX][#H1aCx'G)!z(UzBSu1 csvXs6 P3%Zey1âf+~K)p*p+1l.8?Mc5][ ]mdA\۾5VAP)uS Lovr'[jpres)UWӶjEt7[;f1UMNPi6A:8w E61TY7 **dat55`^U~-4)xe? pbMbx_g?2y.dmE9kHհ\"K[F{?B'u@ 1ۊHl|| eU$qE5WZIe/,Q7t}TQ~ 1Fw"{tw)XՀ[>񮪢 P㠈h#7K|?e Z74sLJcd($6o"٫3X@N͙b,G~5_|3{aFC'p 0>d.%;]̠+<ؗwwZ):k ]}Dx9ǠAt$1*oy1U{M1^dHY(O4Kс1)MEhF&'JZ_FoFR G.#y5D+ ?qJh[ƣtV\ٱ L~(POҼ9"}XabCF|rrbj&1Vξ8+ L L .OUdpraiqZ6!B?P*R5pQԄNNO'5@- b#u6v`pa/7'#ި\jRF"9י+>6c:o,|V]SEФX riΦϯv{ۡ/ñ#]D߅U r923PןOTu^W6BG7 PϪ.Dz7\+T0zXj2ؾC}x݄E(f֨ I@5%nЌܲN@)HN{!*&<}vuuuS2:Oh$$pP6:Kt&n#Hi\!0pvHjԅD"5%fBWK&~HnB!@mܳڍ{Y=B-%4X}Y_ǓdA'@Faã%ct^7cUMK#6kMy·[ hxvWh(G#cJECD Uoӏ>u8P@ja^l.d9gko?ՀHE2n2<Ӏ- hu~\lry_y1LəHz+!티Y5LhPѨdh"y,eoBj jSP9+q]A#uSrJBF+/zXk J}ٰou.d;gYn)wp%G&IZavtNİKG94bqtɁ|G/W˂*UYNxæ)2_$̘ =PZ{e&cdz*헃L ؃39ӿYRJJbqEw?( ox֝ӣ&KE6euh+rkBvsPL3 2"~q%MͯE)oFB 4wh!UR& sjpJR۷ %C/H8}[`W*nKZ~=n%;Sh^xs߰~\ty<dtBT$adzH*cX5sLf(O"!Gf˖^YM4 IpjT]V!2S,(3ZfE~^;76~}m@Ѽ8aL)ɬe rSMAk/J} ZLtC?Hc N Ź;#n !d" )>eש< Ҩz .'nb/ۤ %ƛB=I94┬DҌ~'{aEg~-{tgXutxel;\Hz} u8qr#xrCP|#2Ҷt&S K'w®AweYAMC)+v=ed.d я*v)A צ{@*1L؝bMߋ }j>,)% b4c|`m2H)$ j B*;c@ә4L| QgZ=1 a|× *EἚJhў5鞀`- DiKg CF^PD'W.܃(n+s!QnxOzsj/~pyxV4*n#ɍr'濇3A^X*oGV6' z0"ΠB?ƛ?EWsjJ@ neZQu6nQvC)#F ÎZ]6\ʯjP/r6n4by9~ oLE#)r$9dT/WP)x>x3sYw>dj@C4 ;n- ߕ շWc325 l}'[ khtB%'h DEpܸ z1*r>:KN=-{pf5D:lw0Iv%ȟ0u DӺ&ߒL5{uiH,cz=}ߍ}Z2:Tg_oµ2KYS~HK0I `4ɸRKN%Ҽnnx^gc~Ai Hs> zyhȃ7'l%Q[{_)WGZu%-kF8z%#[c{2J@?S)OrPHxB3ztnK8N* ʱN(|].wlb܀#bwrx?miZ|f95g9 #ѴrUD*^T4"Ӷá5nk/ᆪ. *} ylgN9s-}x~N1ԉbXx$d@տNfS,geߣ>-Z20~bk=Ļ&`WhD]s|D'*h᪴^3 ~uRtvZ8O}֛ɃLE矄 CJ0=NC \Dp|mH%=QCyH*&i{ vt,\@L7S$LyM\>jґވ~ˡ2%3/dOqP\Cձ|C/b"s{ Xg1s$^+f{oPXoO@|"N"wkDZ/0# y4O$=҃8O![?+~B!gJĔ ]b 1?ynWr0?Z꼗 5v}*{Fq(g+03O{qnm/sdϞWLHȰ-=XF5F9YϤ ;mRg2+*{:(2 `9\䧏%iTr4jtBAxg``bnV&Rظ7QeofT*UrvBNe{E:֗(,@gĒnI*.4NzK%=hN .ֻ*(l=SYЉMq0cM}0=<\Ը~<}8g%S@R/}-mb9a JUVjg[irPnBjORhDqCx2|A*&P fقjeD Y{.%k%rbZ4}2:. e)s,ˠ^]ӓᕺ(N]tpkv9xP߁9Cn/U+4ũԄH!M5z{mʷJ3AK_4oUZ֦Q^eS!&tSW{t}k@(blj? j2(`qU`RvE"Rg AΧ^ gt{IZfdBGygPjg? Zy1ڇ,@4vK(51'+Yhl6(tHbɭ:ؼ|V4iT #|;Eh1Jfydj{ҌY[ G-B>0> |Xp9UAnJnfifNY rQlvlT@+J1CP}̚4Mz[FHC5=R!&xJb\ a~ŋS#]S*ာ *z5%I4s G6I an䳾1'DuJ]FUa}mBPJI8c~$_~]df yQVqT2,r\H߻|޲73B* ŶF 7)ǖ=+\!6L[L5PtYW63 ǒه9X\uoD^&dBx# |L5w)7z?=ǔkEF^;ir4RPs [f42V*;yf:[v &JhZwy ` vS =F2{LPfbZ+_ ($yRų^V+W^t?9R͎"b/{YNqbT] 6l  dzZOW}+ ]؋ZTXp"!w(S- *Ѓ)'@Āb?xzj+GXF\j $ x+XZcFPlxc"j'C>}fvSGȽG&>CtleIJtIH .'T*6ap:RT}=7"~7CSK_Bl) +qaӘcBj_v"Ys f8dV|G$n']X(${n]l{?"+@6Ǐ۶40Lff9zK( PB :zqUjycyG̦/Pŋo# !w8}ۥۖa>48ZXrz -zQ: (;{Bd^Jn ”WQ^x ZڀRg'^WR0:VR-^×v&4L%Nu m軴Z9Xm0#( 7}`92CB/ޔAHT9A^qkR6PAZ^PڐJ.Ԭae.jig8߭VluJ ^а#$f\;FE uTp6NՔzTaBC\+]ZDpy$ܮY0t&]Ϟ[8A❾€ؐweާI HT҉]Y˸Dק.*TlDVHbƣ7llO,uNDW"5 /}&֖5WdaVW'c="CZ*$&HRWh_Ӗ>֟ICmr{ߖHpV `qCJ>.Z>!Yu4 cse¦[+nKEF8idb1Fa1V5 +|wP(KMj҈Ij!L@'YN5|q A!^o,x8rl]m`9P7}|XcRM6kD _oo,7Fǧ4q/7 +bRװL9 f^`%0'm͒[W54 _# $$#&I)ZM" 8bݩR<#{@_/eJ;4q56 n熋b/~yrOܐʩDBuγ"e ^~~+\B=U; Tۋ^ǃlv8<.N֫~*Ν ;C.VS1m|YZjG F2M}&|R t[eQj4jZԾ)0ucO71%Y뫵@̠j71gjDSCvAr5wlh/Cʰc-NrKMy7v3*E$@s%bV\o޻:W9ZbAA"" rW#)aoZ؆D4*MmiZ(a*e[{LSm3g*Sz> *~w1Fb[,}.I|1v,z~^)]d{6)ܯ \S܏' G? ;+7Z]JJ)W46sX _E.Tѡ#y `vqrse'۹M:R{[:su\*{b 7v|teR9m:C$Iv='e`TT&-ͷLT >tq`I,-ԃ,f`;NY7EOgfXA'6BG-X6("G7mqȟEroh4{]6T5&Ԇ mLJf|TV]Co=ʉ.!\ɳNWY5v_8lq@/i=lnBK@qDKBg ?IK$cWLT"ŮQF0D6M[ f ۹)۱BԪz zd+gjb vdU)@Q&ͺq]¨}ߜ@:y߾w ʆdW :ɓSt9I˛ =qZ>-vphIM,4NgJ@9zڅvhZy>i^6IU\Ņ$yg ̚\f~KWnܤ|#숱y08F3Zv1]'f"3u%M_\ %ˈ":(,#j@k!xi!ۘ$p\sϠovVI+ }m;+lhкlF4`dgb-cq=cb-ϤqϾ=i#aЫ۞a;+a]pZMLdJ,_W(hLg~ZYb*<jM/[;( [&JkQDh2W#suf$mFcӤߺ٬T [C??@?ڄ3YxTpZ`bbdcfÃ.X\8 ׷@)$S'N~/>Y{瑣P j:;;XELzmB_ݒ4@ :!: ڄ@yU]n[U)+G>\TS !?QxEX'g)W8_*y OV4TJ*>JK'ˈdq _#ܛ xg}H4<W\:}en 0xg=k_SK qqeWw?0#3x7˻Oյ@/},Uʄ RɄHPṰ 3#MRUئ5.?l F; @%ˍ \%4LVڼv?O-mVZ+ ޺;F\+|@`>d1T1QC̋l,.S5/|Ȭ~ڛ0ZČ0;xؙkeiU:4H 9'=_r'x> 5y(W*@M(2zp^< {*T:ڗIЮҹC!Dg2_'öeW@A ޑΥjEv5w#FBעf.d4G[wZY8G:, b9[Sމ.ޜmvFLw,t]6/39Mx']̴)/LX-GO+i)krN:|z;7Zxυ3߶)w 2\8p`u+܌Rf%RhB.n2 Uyku44O$a`[XSx@ Kiq܂ UHᇙ`oűUE4+|r#D遧-BrþoD( %S>TKs%L&lY͢sM0W?SR G( #q0rt=7g{JԮa8%Ȱ{mA+4Т*zxlfҖ@-WYR܅Qfյܡٜzc eO\f).+:ϧBGFeԲD,e8){Mb6PiZ:Herݻj˼ZBU]UN^E#JetD~NT3]8-XFCW)y.JBh7@T }:tJcczڥIyͪf!\&<&6ZZxi;uU2z9ֹL?Nߋ&PՈ'K\ܮeDMį坳uɁІgB '5^y ~2CcуF>A~ F.ZIX!|v ԷklA%dZxD`VEGsw% (Jx{~rmc WUr@iXPcMdsu4hi/7ImFEa0T$.|Ae*cHQ EVRrs5ބZ@3I2,(:c F_v-dO,u/쟙֞`=ܨ>jl;Xzgu #>LC} iCxUJ'sѧ*x51pD3§%,ejq<>jI .u4E?Ywhq IȘurr4mXACiUL4 yxCMݔ2bKKe|F݇掹OE|H~뵎Ӝ*uwoau?\ ~ O>$1$IvUWY8N0F~d%b[r+vD { >S%>YKڵ>Е6]/$).FVӬn߈afZF۾"7!=v6aU*@-{|7_x1oAĀO-h8&>TG8NBlI P7%l5uhhsOiՓ>a51dT G&2+#5O+dʑm6lDGbc޵Ÿ=2Be٤L0HzꇓMgVrBq:=LEBYKTIP!GȕEe"eҙUʴϡyɑ:37 B3h=-/x f!z r`⬇ψ~Q$n;pm,zr4,6CBY{ZxgY ^Uv;lۂA#mWwٞe4{6d?GLM3#}h#; Bϙ"DZǫt9%) l|I?mUxZ~t+1$I8M?dH w5ølutvu Pyo &wFqU/źܯi&jiHC~@5"oβ ,_ēp:YOv*C@ݩ1F PW/,- U3\>QUK:p=ĒQif?ϛdU!QyZ\ertP.G.}Ωo!^Q]KYW,:a r]^oXJײHIJͮO5X4#+F3 %n۲pSR"v?y >iH{PVG(sN06 &O;xxq:Ub;9f gC4exhtqeӦ2樁g22Vv $cWP)gSm (J,QTU9T<ˊh.jŠ fAP{s7\!ǘ+_'%j{-vJZ+F 0qj>-14*/7yȽEK DOuKnR05*t\j4kxr9.njD9t2%]bO$wl,@Q*)zog8 ٮ |h??(9~*ס%$peq';"%m"X&oE)x΁8]şB?u=|!ڹΏƘ گ'6}`"@19;ǙZ9%9J*?Tw{]npџ-ӿrSE}/+62[I2'ږ} FވC O{7]])ζ!v\@3-Hخ6 u. _ 8cS_k F7*E~N@"ʝS;YP G dI,*qU 1ĐߧHp'33R=xȪ1^! ba{6ev L;%-":ǕK/a)껅O"Sz4dk3B)ӟMg>pd0!>w_Z?(z0gN=S3"P0~'o23F$ia@miZ~GmY]PRnqRP}>] ‚H\A:xᴊJY>bD0 xt'[uJT3=fF R_kqeX%?::3,9ɞi&O_֩\m;hV,MjeUX>>mvOseAQ:eb|[:iʺ`A212sYCJȇu <($6׬VMf$'_;ԟ$q7@etXĞ ?Ƿ02\*C+_w &^63<Ѫgn2|cxPWv 'P^*ҜӍ+y`#BuI0}Xs!K5c  k&m^JeڠS+IxPNwRgltbSlrbx{@Ez_I-ak}Kll.t/hj𢡅-,2|Iuн+_ jl&0D!bf 㐛lMh"AŔ#T|.^w zOc!`{[Śb}c] EL_OTQz4_O"L/^W[ kjHĵo܎u}$'8Q0g(pVg ErAͭ%ĪߣˎyߐXz2'/y/8SH 'r43rV; hTX7$.RPGxBE|^/Tp j` y'DdZl]73RZ{Emĵd<._.Մhfo[#FV@Qbƭ-cjhwSkСWcJ4? 7߀zO0h<ҎoēLgF2Y,BV2xQZ晘HH遨7Sƚ}d#DD9uǰ|Ctn9YeʺqIA ih%5R'y0{H d];5wiJIQswnd `G EU@8(-hGf"6&V;a &6#RS}.SU1= k Oe"|RNKN"fN}|ВJ*Q=3B~ǖ)FF77iߤ53ll?( (zg/?IL CI=8m@bMՅQ‘B < /Ά?7uG<"hoߴXy ϡ@7 /G5O#"=XM,y%c8;(_XԐZaYu{U@5b^^6d2M_x*ȍ8=5Mؑ0π>8gUu#M?{҈X;'WT[R?JSrO1̉u epv?fF4Yey=,05i,U=&vNr={(TvӏsA[pA7J2@U~mI="-u5%ѽo;e \JKW뺩FhZ; 1::pvbٔ; xcn xzWGl7N*Zhߐghe|3MO5Ye큣i j^AmQm[K:bSQyT:<2(eW[#AS2Lv-Vَ❢!^ђZQV#n(p6+hW:&8;v2'uLJ]tXfXգňM2'=m6shG2f^ nPZ2_,(`'/}E17whx։@qac= wL:S1$lW e5D-N̴ES5 fCwSq]Oe|.>Ðf{fe])P)9BQF,ZS|L Z>sғ}`nM~º=csr5զDݣX a`~骮ޔxT (朌,Ne u n4 ՘AQy!"_,&ݡ2X=Z{g#& G5<> YA 94xN۬~v;l,$r vs`1s8e8ӍVk0{칫QqpE Z)p|^0cb"Xg+=@3[H|q1]/yG95SCI~Pi J򩎗& |'p} E4g69CHק.'3b0R3ac^&%fFtnՊjmq$=C(̻t:|JYiՖ^{ "8[GJK5י5m/Xg!&il*f%Q7W]Y;Y,R)Bԁh>~,Pb=|)oEޙ, `AY8*覈ΖhP>y 4>lĀqVIC j/2#ܰ#ϹF/o>4%#~K!ݵ.J8N$auB7_DZ"b$Z c mDZǹ6ti.F]Z3/BBHq~ZUƬ.eқ]l.рۦ ng(.&,zt)IRXyJ7B%zJߞ3_VmZ/).MGh⿼BdfP(IkV);ѼNFP=َ-9@~gP=z~-&v ;cz}x),5uQyo }RiVz T< +9F />!AB#4?IL=dAO]}[AbrrXi&+iVV`+8+g•Z%tUB vfcRڶt2@36B%57b6H)4N{ʼX3e<)(Pr<'&b۰7EdrӇe z]%g@$q;17}uu72V>*" [ b"ϠUid ec#:_YTP`]{9v&?lKIl. ٩vUO-pֈD iᒓmϞ4ME˯Ee+pqSqoCahl1Ô$K4 jI`n lg,y'[o09B9,Ttn1G] +*6J^Xih٥Aa#Ƙ#H3ľ)Lie!w4?Q?f송X}@X!'dYJ72-go}IZzdkRK:H[4,SzKyA$;}wBGxjrtMo尖-V /PC9ʣs#s2mQD7}x(Ģ?&X5H1op ';X{4VTa%)pPgy ߶"8z ya@52o^e}ՔDIah;ag=7qn;L G&*4UoB2GZk7n-J fbB$ӿ,3DM $Ҭ3H BF[+bK0$: <6=Rgf'im>RҴI_W1DO~8> P^I-ו>uk)Az,bnƻTR8U;bW̡.Am*(oCȹ,儯+p d*pv>y{x 3B >;Le?6-5X죗 N̈́SwYJkuќlƓn +00(o3&X+|CbOn&\"Eѝu{(¨ne[דZ!bO~=P$ n6AXMfPRsTA4ߎ֏Rh+st Y_q6t){8uZ`Ҟ<'d'8RTJud4v+fLA3AԚmڇQ6Rs'- N@i>9},n@7=_C!PͲԹ97i]Sꂙ]9b`Et4RD c \{oz Z'rʉjW61cd2:#?9 mJFg™9`Ϙ]iu3Uq> 1a*Vr{%@_@=Dy vgOKkK?SS{\̓{D|K{"0H3@a7~) -3 l/_j|7g/fδaă2s;^eL:Xp4CȈ/,\0"+F/1M$SDUl8޼SUdn.ښ;<$·kIi8;9c$Xe@SfK5x^(7UhS ys.q[n[kGP0{kS']]t JSB3c58hCtVh]!wҰO@+s`>ԢLXRjG9IH [W^u(RGl@ |3V5p<5G#C^XdTaFNs`$) %m("KՕ&5N2(\at`6&ElY[(2+~;wqqv>3X?Ny*(`26~gp0vʒu H(7tjϙ'lk^G;(QKo2T2ebb0 C|3BΘ` -U[}6:$f+` ^}xY'OaW>|O.Vܔtxp:=GK`;K`!,Xo!k o~O.{4x:9l@ jwYg42ufyPYZwə0‚@C/Wa> _ yk@ͯl7xۚÿ${ ݾٟ\W-+QEbӳH  Bza*5#"Χz|<(*T$Q[PjX帴Xp&ug[Z}Lý`"fڹk:119ΐLEk db]{<D[_jsܺWTE2щv]RN[t9dd1dUAtq oyڼu[KtxVAJIKRjC M'Z3X?]XGgr`ºxc{ @H8n>Y{i̱֑-;}׏=kXJ.17 3`T3H]*hf>5ݟ!dE# [PPwIa!k,EY6[u'yz$Vec,C~%1%IiXj2WrI*FZ@/]kF3.Ȗ@oCN}>וeWRiΙ烔mgR؈8tcsZ&1Drۜ:''ǃA d}KM^^my4O7UjLˆW*xx{\ NcB3e~<#m, ij)'oͣ)&Z"QOU)m .fdZp>k8A{p{:cЮȢĐY\ <5i8 J:и\}"` -",cDPQNԜZ=z +tם^W*iD@ț [2D?ɤdbv"OE@Izcpz&ܜҮ '!B( rrjÜXC)o]ԝm6V8B])njEdF:gFPfݞ2 D(L7ʮ6o!ʊ4эO ./ naB3rkb3Khؕ0t?Ly4_7%!p~a(Ѽf]iֲ:m`#M4xCWX/M/ZGhJN$P̪w(5NF")4"E=$(ׇHʷc /@w r8.AJB o0:˼얡xp6YnA N, Y5WLķ!w#w(ߵOXX4Ժ`&]:de sX:@kWL?&?_KT*innFnh1 t\~ ߑOa.umYuՏ '0C@>q%o/fă]'R<ͼ@XhErDD?K#qrHcTR)[cTLʩUuȫEtބ$vȘ e pwOɘKG:Ug{q'jVw[Rxi4Qs/bo薱'69B_ 4j=8K6W"M3nOϑMj;Gղw thoAգEӅiiA+Uen70~-lqaƲoPfK`/q?Vx4И^h:?\-R +1b7IjƄ[J\LvRy|D!J\CJU_^{еPR l&x$:(1K;ZƧS*n„=K*SxeҙзRCD>6yyP6r[lpgÑxoB6FTLzSZnлaaqn5<YA؉EadunSGYM6Q#rv d(4J>[u~NzGsy,)6m70t /;~J_3u2ċnZ)^e # ӛw5Uagoct  YetF袟u|(7#2$)sUp=t\S_t7gt}y~tUmmb^`:o,ۑzl*b" h ؋s]"HpWBG 6dUHEӰh𭏩f[oxAAB[}'ݶ`9xZVQu5f~Z0;0J6ayhZ:Ჺ W B5jf~%$h~W}\pVv%;x.[\a;en8Wpwbs,yXw {L tAl['"5,}6Zpľ87늠C@`B#dF怏qӲ嶰aue&\9rL&(S;AJ){b`FR {r* G qd73$ԫG$JVw<];rbs8*_s|8;jQJMoϒ5# &u]Gv$(ێQ2M?Or4ē zkFFj ъCH|oMp90(h&umQ Ztdz/olhZ3G5< [EVa fܐӔn# d>> [ Zz@zTиԅ /p+QTi"XJ7U,Iנi2Zݚ_H3%b0p DŽp,m)^"O</Bނςd_W*a@ ^DRe_O0韖봹޹ TG(ˌdݬ'wzbJ/r;OߥpQfByĂ:B`n@nnwҋXqV\F:4F1ﲗqZ t nnYY0S7O>һ~It];7+tN0ݹU!sUB]Q~[~ x/n<ԝ|v}W =RҁoTu9KhvW;* @kl.wr%cw 40~[dh:#$p ҢoP;O'z_2㢰F#Dy-({Vxs9}튚dk". 9b6ĺV .45~iwX>]Yx/Uσ3ʴzIϥM,6`c؈GH<i2R &uynI0 9Gڨ:2}0Bjl"+ YXRMd'd":ϡ?&|U>\XsȽc6҈Ó_sۿL,\e~*\5ƒ`+"ߐxT/# oϼe2J~Rs& U[Op- A2w607CW,r5 {iQL9ġ.fT/c@Պ-Ncmơ4 }X寧]0,21!݀n`  +$z$'%yU^x$+dܦē0a\)ަB.mΆ^e1<*.'-sQғC.81x1Dþ_k5:!;Lvf?81AMCXH/}xc2Ҩ'9)"*x=H+.{*йAAhDKCi-ʃow]T3kEkFѤb5Gd鯥]~QeB"*s]n_ߋ{sg+{ߏBShv 6(֣"q71} N~RmOfIm|eYZQn A?ifK.!wW0jF#3 <.1¸8ĒV_<gaNs9;끚J?p\T#a0r O$7QVsr(1`1Ԕu&x_%|֌\S|-a='D oSr^H"PƑA"a(cisuJxz31@kIS%' EQ7xY#a; Z,)B֥iXSLC䏻0q5"/Wcհôn~*u)&_`нUјێ$ʣH<)/}!;la/ߗ\);JzOcM% 2ç AlL/Kr(?VMSc̀!4G.zQ+9h)TO +gQ8b Jf{?:)9rzqawZD䒱(QPGScԷAKF 4=5DE?BTHV^RG삀CG绽^1Xf|>}y=0sy8x-$>Sb]J aOqDnlwJGSe}\g`T6B&bfڨDQM7"U{T=YYmFa9_0PWc 4!X J13b Vx\o"j􅸸Gڜha,oX%`uQk ;BFe׎}v{CSÅ 3?S9%6:ݮjc@p e }ms! BC>1:$ jKC)I9JFTKclɲPb Ksܧ= RHuʺVEVi>+GO69TY@p$7{]~ZG.tQn.Mhx3UGNp3`b7 #aS":N7O%!bٳ5l1[7a?ɋW<^Cs%DfkG N]4{d$KGV yEyykH5,dZ)-z*UdmUu3Q{cDP =$'SIgabȡ6:5]-04m9Y!LCM|=6LsP!P9J'11*'C1?kWi@ I]P ݘf8'.x$b6֟J~1ai/۽*D+]wI(_="I͐Ygt'YHB˻hpvx?;!-1,2/S.3Hk u9戉 MH9oTUZVK+bc\G(Y1jh־(w1"g^{*@KK,/@e n326gvH|:FWքeDW=33Xh`l#n},w亿!RՆ(GPS\XwXܧR 3Uu3l8RYVb*ap"Z%fX}N+"׊<d;S}A9&`V4A 令ӷfqY5 fYu/ݦ0Ozf&B ;a& &X)gB=/mF]*) ·y^# 9\ `),5N4cIRk%lOh_iJ }cu(y;cՕAUO# :Ňo+ubOz,'Dˋy^rcr }`ܸTemTǎ՝1?0&ukҸvÍzhï)] 5ayS$6}Sˡ+7hMDצpEc6$7-z(fy :-6;Ք%^}Gn[q'pBR@k2yIAuO2!cWa5>HYMl?a~nZӌr"Ia{TX. hK5dql3%˗l42Z#5[Ef;{y>A$i>1% Z?RͻD;hFC=dh2_4[6;e]>;Y2 /PS Fw)j̛E =wCrT4wN)4$fegyݤN63f~҅ag*^,Z8]8 bːQ. ӷkfυ3n~uaח|@sr+`<#uJԍu째{R4Oa~cꘔɍ"/tL_}M,1RQEo*pMNqh-B]p,F+V{PM  I)Y4J+D׸uiŔ5`vd.Wp'\N 8< K0dy[?RB$dzE '‘~x {p -͸XXKqɟc<D!,rK^$j!yN2 IfGQr{d'628 Za8!Wnf L)Lo[PM8N#㈨wtKhjftTE,>%Q'yEpɯ(jFY!5] |.bpalHEGF ( BJ˜mfm&쉗eteeV nMr2|`6fXdw3&\)b"W_ttkM*tf>(Kv6݇t; mi@6F\zʱykbd栨DPq >?xđ;U56._EiF !V*ONV+{`}YxY]st(+5""ˈS֥A_k<Ҙ=qНy(ʗ ۫y<%kb̭h<â?ܨj}54ǚP<ذ3uGaf׆+B[5#Q'ʽ{װ3\ՁGD1@).D82(zV':m2fXt :S此/49fCBZLV绌e lub!\|M8Ă6y"y#9ˬnT#ƍԳ%FVgR%) R5!O(ΥpCEoʓ-[mkxߣ1|JW%)Q"H`sGX:!E$*+A  @*#:Ӱ<8 Òk֤uM+'+^x<*Op?m):XyQh!u%(6:}M')eVwAdu YS-D%oEWV.r{bfSvS}D, |1ٲй{g- %bZ"YuiQzGpL{.}˝J;@C/T|p{}*# SƢՎ 8XLo1]KZLR޷U /fnOf z(Ly/*SmcJ#'+HW鵊CE `!8FhA9N&?&%wktFcѦQ{&r=Iйl Z 8B&om߅VhB/Qy*RӼԓB97įHKw5$g,X*o`<;n4 LMhp٤6%q<) QCV]WyR3&ݫI?,vĻ%y;&Y(^DTjOyڵ/g|zJL2R*Nɘ ofMcjW`{xތ`WZ>~W3Wͦrq O ]R˧0}`l*X )8qBӗ؍s}05^+ͫ2Z 3ex*pO] B KK im4VEx2Cc?- ȏ{䭱ծL&JZh@ iCA{2m5}qns 8 'J>8PVN !u[5䕂AVy9zFO&6XIP9d&2dݯ?yzg YDo483 ^/궪;Agd!v % uلf@6!\5Hw~f,BepdvR ){:瀪%r*O,LdW '136g #/jw8O1n՝B2v=i&ςiycb1W{-}|*l) $,J0"z;"5߂o@~2ld%i1{F1|N,Lt<#gjJȸ%v9d!v gM3%\XgmQ|_X=n\?V|K9V>SQ?VHI?  .]fR+M^ &% GxJfK;5` ]둼n,i}wF*g<ٛ~`hߴU.&Sc-x&:e21ehuUHD,W2jpPhvP+%~0So}@wvbE&!i=\w(B%UN[z gkNB{^(N6h& @j0.vW;丷&{3iR0=V%1;/ 71SbY%D wLeV>bDG5`f}\D0қNOzEznF! )(84gkޫ$:pAypx[S[Zn`ԙ # rDvLU;a;z 5O8;_4(˝N3RkX[CAuލUBhy6T1z!T}]4NZpkf%`B7؎c6-2Uu&Euuy(d܇ ';.c]t3ޯ>j{^QD-U3cdyc|&8+ pK!8-j[餏riDy1YY*!akK5F/p׃eT2ܽxU"![%veh+Lw&z-Sɍi 3nyʼȸkBLC u[Z9߅=/:ǬEqjA3 [IrP1Y yq9#9. O+A-VmgfMNׅ,L i 0}۝ATFsM*p%7y#ksբEۑñ*ɑ9[J)Vq3v`e#9 -QT48֎wH[' {f~u۷u5 ȎQ@T-Y)0âMT⃋[o m,q<"ԒxSbek0 $=)`IrN>aNjO`(]Wuj}#Y 8 *2G^SZğ"VrI*~'0P1TD6]~Yy{ܥy9hGQؘf=+.ްAЮ4*dl")3)K<#moxcKHkԍ%hTHb2X tyW1I A%E(S]~)'y5P66TÛP+}"T_5tY.ҤLao''@74^P,BF3V< 7aX4!\-Z./**'b`(`."N)\2D쨅PwF aldܲm ]c }X#ݝqbŗ|Иd|Vc6̘"Hg,#ඣd#CQV4 0qg);@; (ӱ^?cz)a}OZK-cß-0;ѩ]V۲eЙa!<3bjsF͹ 2k|)1{>ùWaX<,A,вVr*cBCYԅaU@)lkMvCC ,P:E4ܾ i Lq#/jEˁރ"L ⏉Ռ1tI_LZͪv@B˰1Ҏu#7Q)C!eZ֒Nr>9n_{ۗp;*a͟>?ҵ #-a=[:|G=k9ߙ" }mqGRy`я6!NJg_IjW~hߌV=|E­BA^M zx-O|fA-nܬ[6yvo?7,str^{NަTNzZ-Ĕ1ԴiU֌ͅRZbDG竽@?0fա6$nancة5m(-%2]^PG}iusH;yqK +Cy*d1pIG3˞[*+cw]Ț"&fINmdU%aPZHa^1%aj>-u/N/͘; Wo2D#1N0I Ļ|)ș@-Jۊ6-Bѳ2e!ni: Gɕ ƅ(~M zCƑDv#b53W4S±iRrWLm,PUEw>eE (H.Lgܡ\o"[[3Lm7/kXO+)Z~e3{1^gۂΝ ~a*ָC 'YZ% 6\a{2ĵR)_7j/h0k,} DZ랿$Jd7t2lL:1O)]:#4ZXus\QiK)<ȍ+,_z2g;-<|Da(Cpv7M2W`gf3lMm'rS!ܜOb @4rۍQƾ~A}])ss/Ûja9O_W!o2$egx=LFy8$&~L6=vʻxO.+[ЊuwAfBɯ}I"JNyzK>2V_jgs*iaWus"")v/o.ƒ Npj9]H'Bf*9'.4Y3#aVjé"Q&Ŋ2:`UH껀K:>^o2襟3׊J Єvw]bSIF!siUwv{Hߊ@Vkm$B1 Ei(T|}iR3[>vAf%#MYm%u87zHL0kó._$b/y]*`d ~K)ac!ٜ lfO!!YbQNyVcv?eMDw1Z dϋ_]LajC wJ*st>X{ӸķK"CQo&W&^ ,0Tx9eM{ MESrD0Yc`-w\HMJ[3Vf'|}N~p" *2OZpX3ajðsQ$J\:9YT6tTB3ҕ  r  -iZoؔk1V}h3UN mj3 +I%$pҌ*˔`wY[#@fb-])%~Q+FV6D~#+ @"d%>ꌘR/2 2^e s(#bHy4ʞ A+̦G:^Q<{ LZA ~v_,;2WD;HvcB0jT T;A/[F&/0VWjAI9ҫzO[ru9-2edڑF79.mK(3w*/\B+a {:!4M '=_° s3έ6%8/K'+fO.|%\ a/eF60UػAJH#B sNOS0B@<>tNl:P> wsD埴uZ7[m @סּaȸB# 3li #5Y:#җ1yB r[6̚Z$ƐԱ ;{{^5.6 &s?=r0YwKu6pf .<;*%k9r#2ƈy,{Ȧ*UW7mOsPkcD|7iS1zGL'yaT4POr(ӄ=b:9W)V y9'?'g&6rd h& !JX.@I$g̽d[Ҋ@X=*_ ʉiӱq\ýu%8LS}e?=N톺S*_!_a냑DG}=ٌv[ =1Kr<^>plT#UbFR B~ćy4szEFڒVz6fٰD;kaQM[ez0c)XX[x!S >S4ş:]j/mK]!2aT'vcPMjpDK]~t-f3I4/Ђzw#-x.E' _\CUMkeO;e2mo Ӣºu>:5b䬆5%s=d6& V_J#q&K+ ˡV_oyv끗^*[˔4`06Aa\X̏{v@̒_PVƣINw^qڶ%e;`Yo޵m*x2Bjob ^*I\7)` =HbMRkD?OgK$fXVT ?yeY N.'ΠF2W1vNP 7Bl1F ?Tȿ]yԷ8XL.xJx5-ߖGPUQO@4^gp_ 3]$j*MF}%i/J杂 ^gnv@ dxaV}H8A:[Xm1 DZLHPA0xIq-׼U&da=}|0/KcMֲĉ;=u)2Y(slrF5yrac,C@3Fd!+@ OCRYd!bxüӑ,~CuP?`SsJͪƲ׆gUSЄ+׾#,S - $u$*Ůh^{|U0CxO' U4ZV$Halm 5bݔ"9Pc4װB YPA1Rk%(\MրC~gaqJjH^#"At^D|Cd,1~)~b -odY앱O^N.n MjΉtwoҭm2<#<IDC`g.X #Q/CU_,nB+zMҙ <ʅ$nǴ^7^%¶2N@49%\jGr@4L͇66#zM GvD<&/`6F]/Ww`25BƩp$ u IW9]Q{|@>l؄s=>gzbO\fНamG|B\j~5֙͹՝B4`\`EQG@¿ot `In-Jgfet001WlN~zW] I ln[efj5a^MmV@I*oxrnEmk4#<߇:WmQ!VXL쏁mRSh`z8b1 ]~-Br a\4Ht>#|Ӟ%1O*DNj31;${PEr|nI;Iu>s)9cFH d~m}tN\ sh幋cMusY:(afA]Xw@{h nX8X;}=: u:@cmG9&i7ƲU!LueeNqԵ讛R7: PԿdC <… "I+§vl[B_#Zmg?լ?KJ' wU-*fN6H"O1eC GT; J"vU@2`bɑ&TJPI,]i6rp.7 ["wkտ۷{a녻FFlGG_M}Ji\RMOO?qQ?mhi\S8m}f.+B`(h"mt(}l4[LtoAsxjps-bUuYDUzbђ` +!u6WA >qM–D+8N~8gE=^8pDNW惲lk-Րf*@=LUPH2 VckfK t'鍫B-Eb"J7Ƨw-= /%o1)PYrX BTqR Xĉ }'wLǷE.ړ,n(p:qsUAByD6l%5uө瓧{%4 #Rk!5+fLbΛ-8rYdkĖxq^۽8SqֽiXjr8M滿|zURNu;!OxvW8s- %&S[}!w7@u! k&:57˭3߯{(i<&zUbms[{v`uPN/\Q˗zհ|/>o cCŌhYxy12+L>!Ya@FQ[z @H9@j/Wd] *9g w֙75?*v [ʙ)ID&k%볇O P)$|UT3Cc8eF* l߾\&e!czZt]^Llfk7^nunNxhvEΡ/:WKݷOO$ Wՙ; IBJx#$ 9^m,Rɝdx׶eA$gz@mW,O-8 +pn:|b "vөɉ-1T^ OӘJICz|gE: _؉qeDҵ#7mvD$5F AՔ6%|+ZP drZ7tq?)[E;jZv>Myn 2f-FtlhDxqs+wF.^ ]󈺐ԯYءF]c]o FƀۦnT,*wT`Dl3i2{J~8 W4 J(z'"u5ZH5*ms9p[c|Nw_ojCyma$.l3EӤ.Tz}h;͐\reA'jd ?>[R[˗uY P-6WyAȴ:eg}i 3/& Rs`v0y&v~(nNҬX;~wTx2H[LwpFRU!'H ΒͭN?ْ 3IH +4>Y :C) LE} X9z_-8p $e7)_l[Éo5.&/sE3VW5bd&_vTb4-O8|$ OPjCdIY"ٷ42Wބ=$}x.]Z}Ђ"lYw)ւ>t@գ0$3&+$">͕89Dʼnb3#*4AUT=2-s  $Q~g$7A|֬0v; )\Y.[C>- ֣q5豆:2e&^scbCfV̯,&q^"AtR(wi dȽPU3E- j$N6hR(g3YLXs1g{rj$'+QNw/;} ^;ł5ÙE |;OHN-3K <eI^#̀ۗs!6CCamF HIJdDH'K촬sj# #>{SCm/lf6 {24O:ᥕ|QKzsL&ߩZ 7N%IpuV)#m\1bd,f/W{~V$MFG~_y˵+]?}A~gý0)E<9Ȥ43qP &l[06|l1^ZQ1zf{m@]jd 8A@5ŒG\"mֆHo m>Ruplgs#/x? ^FJOklܨeqaqiQ #tN"@ɝAWdQ̇|7vO#?1I%P-yMT` ƙ*QCLb'.䊉c az^V ["9P$nw*u-WVRn'6yh<q,Ro+nOWtCc_ayN1P'  X(  2 t;?hUv,bO!r#I+8*4¢<(!B·γkgt嶵fJʂB9+#tp.|?b@_pr-m!G  ͼT|T g+)N ?xU)[ۆM%]?a$5kZb %vF&hׄFĞ 2"Ŧw]5mJ3=]M-U,y{Zf[#ģ~жD0\ @]bيq7쵄EH/)]XH?YdĘJwa8/Rv\M4/o&g.<\p emڼ(1TWoHz l^LLWVfE"'2@ ω1"{4¥ZU .Ȁڌ;dV%6// 6L3s0f!9V PPҤ{2{5-afkRΤ{L̝(ݗ2Qyـ 0' y\ 3 3R}롒o8evT>Zŋ% }p DZ惗fB,~uTShGT_A-M?f=V~XY ~*c/ԜYM۝}6?)D5V`.g{ вvQ*fn N:ɸo7pn)@ [a(j 71] 5oՊ&ԓXy9{+C&~Gu kh|f pCy1Pg|ٽ8fh7<)pɍ!^DpH0k>w9OE6@A,#bp+>&+KI$ l6-9ǑXª%PCLfk<CggKLpy;'iJ[ag7i?ބXp jڝ,",נtYL-7iª,U?0OlNZbRP2dtGί;CB|U1U 1,^7)~ bzp{OZ ~id7KɣRt&$Ea4zJ?-O@(Ͽ2lVHT#lcĚU@ ~0><`OP2•=b7hUVpMO3=?\>Oy{9rUEL ܔFNW.%BÈ{M?~EQvooMȕVT4c)ذ=y6[y3I]+AGVB8+KJ+G}ot Z]i_K#دqʻ|th_RA p4շkoM˼+TQ=M e%!+^HNU|MgeMk2Ĺq>5yELB@sNg-2I]xs> U׍'EoqQ%\+n`QHUQ8h\N5%d>;(=սN2Zfr*/ߠ.>;Ey!bh:̽"G2;HdIw{/t/D}XSUWD˕d!zST+h 9!yRI/ OcX2%bs)(8Hȼ8 ~=LbaiX3dG2=Wn:#!Yn_Ϳs =#FЧB˫t 1䩎|\Cp'M=e]Dxhi =K*ϫ+[:Ϻvg_ܾ,ݳMTtG pn"ǨnҶ=rbA!e=ۥpVQI8M6*:^bs{.8OtxI VgP$G%27Ki𿙍s8_Z 9``)Ci"ܴQ*IdIՙ.? z J]!XO@#3,O4z| mpź섁HsD`͍w,( 4„{PO?Nғ6`O>Ts^>_,] Gb16oA ^0!;uf z 2S([?GgEXg:@n3iԻ" _DeK2Lb;'.Ubv#;J=ӆ쒒{'3!Gp4x]ONh[@A _A'[ațZFzҎ+=fZW3!f9VEraX:4Pn,B&qwPhnK! L׾쉜Zf@<*YCUZ3gl`Ui1IRyfQv. 0ti?M=Z`UcwC5 x1oV7 BTQ!#d@F[:dϛC7Mʃ-PP)Fm~5tCBlOno\}hIsMN5 C/֜a}^t-"hoմ|!4ϓşI` *jx`})jTI`%ry% (W!@ܢ4 ѥ$V44eU &}W>Iacw}B \N#5l ^~DSe/[Cv2j n16. 9i*(bmV.x~=h@bX_CP ǣBw>}` nݐgpEX>0{#`+~IB6bB${":@.ApDdYPP;Eu\tuIdž#KA^io `zuxuMӣF-U`h筈6W:*bm$`Jj fA\$wf ӉSiwba"y*#.鞸bEMV)R2̨CБ\1|x8\n|KR5V$Ø)/t*rk{ 3wݵHb,E^XaG([‹" #Q7epR ؝a`X=f~F ixւMh>ca~(?𝶁\Qk&v*6N}?qJূn -Ĝ"n q pBĹV:6_Ny9ttRgS# ۯ?Rĕ)C>i3 XT;:D~k!(ts}QL/5g*?`;T"e`Pڌ"]^XX&Q(dE:4(2E6pSF|ro;}=d_,ΏК,\io[.Yh6nOۙۤZݿ÷ai4Zw 0FHob-qhIh86.("7?1c ˑ$Hz5]pbP<1,&QS*^$Rƍ>xAkzutO}$gcPj5,P- )//(|ִ>Plym{[wGbur4y09^u_hxB6+'~kY`wl(įt]{d % KtHUG+P4g$tҾŠA81gЇN &BY9`r|<  z\R*牼<G ޿&HJyuV]`>q(ެbZ3Wx<`VL[Qc^dy5blu-%¦Hw99\59`-Z2Oz^x#=siYGph`Js󡼯%J(abcCWe?[x9 6 e)˜|wX/R?ĐޕN5un嫹OwmK_2(J8KKTvcBePwǓndAuv?v[eXV=EA%X`4,r;/'<Tg`#Zb|e_wVRL(=/P]l華3~EL0ԅIT*PZB,nF*[_F/d j)mP ofi6Dtһ޹2@T-[F׈kYʡzW4MGEseBlW3#otQwKjCLRYR7Ki BCXq6c.C¢sJ2W @Dj Huզr_! xDqARV8gc%oJ3. _[W=C#_jz@HbEwOK&vZ.)'D2zwJKyYETe6dfVS\wS8w{1<0]%t$TU˄;5_@wd1i*^3e[ӫs 0Ȥ9Aξm#bEY{f)zjdE7V~)MR8ͷfh.] FC(Rҏ(d. L4_4mkeүmz $SAГ_G!2"ИQ*/Tiݝ7mVS2L0Q9BvrZo\Y]Sm%yR$!M}ڞh2'H+;焧QnmU <4XvmP\_4j֡&* X$]pC/Ï_w`O `>?ݣFSR\*zG6HҎd/faaZI#@nhh|AQf ncSBY3Tg_{# :Z="Iƥ;yf~/s=~> ׭Mv8u4#tEOeL'~,Q 30"=w9<=cu\C򮭕JgoD`aC8ݧt3`D *j#g/CX!e-R+ϵXlhdE]Rj!s5Ic<+X}=wli^tE5^FJ,_{n(ijFUPf@@t Ռz Xңw` CW[ו ^"Phl|зҙ!{?KI~*щ7:bjU52!WyEj̛IVSb&B"0ƳkҢGp Y jLɖZx@}Oj7F$w92(zY&E6"}&+CԶOnzX-c#GFR #Jv x؈,2L2@/9vf#0F 5uuod`cYO|Ԧh s-Iw*ſtci!}GăbGn_vI(1<mږc(Wn(eGg e!A:a|*1~pWi1vAd/wgXCa.6X ^Ɛyjdopᤤt ;/|z.1?L_yr5_gEF~ GiXU9۽歸i!>K,0in3| 9í-9I GG?1ٱ3n=e/k7c?T9-mkOOҧgNo@D%-:/o Efnt??`{W#6'۟gU6=aҝC-^ _lug./iKVIc϶:NU  "amo_j&Hq+eWG0JG hqv?ʖo0h}!?&Ah '{'tZqʘPM FLX[d4żَn rV#k\ZNrpx 'j7sXmd{'2q\e0@#: Q |jd^' .>4w,!bPvӎ=qhx]93g[Ű3WM?n6QF9y65ʹr O_6E a?/@l-mМTKu>X!l0℁@722OtOA<9ӹ|ms ʦ `xًgee׿?'O.o_s{G.U]_xom!ԡ ؚ3%o$ wSS2M1rU+o)6A\CNj8G }cRђ_qQ-3kj"CtI[10^>Իl+zC9MJ$-RY ǎSAF(=E(+x+4mtp;B,)T]Bp"v~ꬡINmLs ]粧V_ %Kr̾f3*?eBX hK[>X6/*yn8Ze){ܽ;?[sw/*<Q_aD}jJ .ؐ.9Jas_#MuԪEo""َuX:- hGy mR 3eXN%ܵ\g]w۝,{`u])h)[3o{Vߞ9XsG׶ PHf+놮:бqxĮS]'i x_'Q,tYC5^2WKEմg #IEĸWAb$rP{V%O5W|Bu0-.|\&FİR$c`A2y`CN\ڐ ZAv]%5 _]l+Vf۾¤WL 0*wt2b;1Xh$'Z9 67暻EQOe<ChV(6UPc˔O.U7~6/-j-(>kwut̿xUee#q ,|Z#AUQ.fj8ᩒ&.{a:#m<³bo# sWS,yD0|*MG~΂ǚ|z'@F4uȒ ]>)XovMeb6ۏՋO7ʹp$;r̫,^TN62sTy/>iWa'D6?$$L%s8(Hvd>9B=R TbxKXf>XF;]X_ZyrrIR(Pgp0`wRX߉_Ck@3[Cd:LI`~pv3,(89ad0TV: TjXwmB20Q:[s_`!k2^}e/t;-UCf3r J\\Jx7_~#n" Q7W?$J0~-'Rs{જjܗxg)-Il%-}`nCs@{ !<-v' mס>ѩx[Yc4=_wKC]B A_tePjC缅6yf6QajN{HrIx'&R{%x"XI /fS3!|A`) R6j`sJKk J Z +ShVdH".vרMOe4 ϼC!ߤԴD6qΩ8t3lhα+`<;~]]G 8~0,<#uRYm$»|R9WQYvIyuy8mO {耒LyD_Hm> JY٥!;/IXW-"gpK#WB֙>j bFr۩v n,*)$MzoRΊ 2)f0W_jfO}}LJ@@Od P'`o[>jǷ&uvnu0 _1yn6 e% B%n6D^W ;,5;j ~Ƙ~Wj?3gWV9 @Ԩy\ la`{3C&P@ S|Jn!:1;ƈ͈ߑg ep@=Gn:DpNfXc<®p2 x V 30OfQc|S@6 2kՍ`=HQ.v&IARU{k'Wﶪ'*fV4<_4|K7B*#Ȅ]9Wyj'|H-hEPo D{ħ2Y,?wg?\_S䐒s&152ºDyȥlS7Oę5$R{f& 0.'UkmMY;,m%{ =i-)JkiIz>b*:PiCXَI^I5TxrQ=33+H%@?fP]{yz +68n6̀bwc.c䛫dQ>H^Q1rBUxW<$VGn7;l(lgǶԢ ?x)JU~~neQT"`F98a~9\GPxUScJt,^S]kd~QItر9ʡ4:FoIj J^MO a08TO:@m[x~_dzu @CBӋYP)=y=2#F!E<GAnW >.!M*&=J,j,y sH3ĵ2Ifx+rAa״| a$Ϻ|T0Bh!mޔ] +eg\#ör->-c;L=U릘p{G̍ 8=9kK 4gLRïW7qrntaP(2h*,˴ @"ntCC-I[Añ햿3Z|hiƒ0\+~&@^BAVB)  >*-08舼Ǻ$AJD`CR2^DB*\my*ܕFi "FN )MґU%Q5@EZ'WK) wɕVNJ;ܑ9t `:d%Ȣ 0/?yZ8UIJe1IRpGM.;C #g1( =&A) Ɍe>VȺqd{SKT`SNpKe&*4vDhϒJm)MBjbp 38 dwm:b\>괆9KX쫜 K("+ L>.=yf j3޹^'5"#D{|,NDy'12]}q״ ehPEISJfUvWѫnF./wY4u?TFU W9LMXznSշеKmp]XTd!yʕdc6tn>H:}LAv\vkYX~m{FL&Q% I=t!~2QZ|me1E("QYP6\cدzj$ 3fdNf5gwqT9*j>+xΡslx~S%3'nyX>nUřJG;Dݱ،Z7k=O6k=nRi0J0効 OmUry-:YDRq5$G5 8lŗuHW ez8& A>|cIխ<+ z#.'IKK]y{@ 2Ǹ&U5b{ 8~{3O(@NqN@xm=61&͐B-uwdvb0~,)#:/PZ}lM#-%':gP˖V\G:DN8ofQ2=뭨. "1}jd~p#d _ 9~5o ifY{5W=&#M2^oY}TKlMKXs ?^ R7 N&HC=k(>\t9thg)EK2IG}?{n/+Laj--H؊bQj K d0g'.Ǫ[+̉>2R.4/BN&:E-(I?Nk*g kCP߾ah6 8KDM=7qkC1v")7d7.rZlD ^Tx#T׍T:+u +jji3aN_yXPNwuQ$T~6P, E*|k*[w{TIB6ʇ!k o:ytf+szS'7 i$^T]7|-Y6mX\miѫ+2ťz{|]֓33k:$??m"!F#p!vE*fDmw+a%sP|@/c z2wm qX1ث#\;=H&p٩#^Z]S(f`b}Me)!BOg(IƏ.\0FVaM=N0.:GziJ0z[eFV곓_zIݦ9%P I #fin uBC2ZS%B1+g,Ѻ Qb ػ*ɡ`uԂ% 5X_=rftM5MjFkX_o\RBGMl>1KMU0t^]rR[tJ!}?j6RSGL| X|ϏbR&Z擯;o9"tϟڑLT9 ]7秷m}K^Q=ҝuJ+[{:}ؙ9XL?ΡݧBu?&X J~1 {L'M /iB#c٣<, Y3.3bA+Mjz j ^3">~UT0Y;O',Hi0odwd:|LW.Alˆycs>69|%/Qwg&]vbKhK/cM }.b<_pc!Dfu_c20Is ExSmr{~ ȼI;p2N\Awj{k ~4mQw MH++ywpYL:apR*)ꪟ0AY7$-Y#mU/A~.L/aKDe)*og±0O`u'{lqYܓό >>|`l@;bB\"&Z1h?{f8i,{15;o6|?f o[]DI#<7*ocKE c2_her\&mlЙtMYءAA-ƑO.Y`U)>X%uk?孍%4tۗaxŖ /洨vĹU*Vu\ׯm+AI5r ;#oPAC̼'B&?sYo>)vZc>Vb9v z.SO߬-wzUI/TtJWT* "uwM5|3` qrF)*>[p#}ٯ4zt6aHbٳr©#[& mV٤uPVfPc"+!a OFκD"KCڗ YC]E?ҩB>;Бv"'O;Rp5KWDaZ( E;-/Os-ƴ3 @҉v =ϗo`ҦRmU5̇KEpQy^ZnJyE\ 14 _'`)20;y_݁aRsh; |NZ,Ɩ{x7P4hHvìXe_.rת\JonKxo2٭ Mb #$w3t;#;+n5[1=ȶ둧Wraٺrh.Fs=PS${!nHt2m#ofCC_$B7k2ʷD)T w(?JA%6kԜ )AlQp ,e4\mwQpB(qs^nvgNnP6 'K J"1SMȿ΄o1Q QKIMpJwjr4\O9N#-RkzYq$§$T$|҅/_\ڒAkoQțEYua: g vSQw Qu@эhM6=Ho+vgXL!: }!-/{ cV݉ZyRCܢAݏV 5Y9ѯ `}{m]*)и$֔; chJ?7~8`J*?`r;!"(^A +Q~C? u&ș & U i:E@Vi"q;CgU$3K"VUѼpmx#-0uMQօ;La-&+բ\_].pel@xАu`[XPU-m+I8<[.uLeI FRƱgvz'ˆScM Ǿ\ԌѾ{8+REYxQAfv2XOdzRpWaAم+ yv{J'?۟X*GG&8qdp=oϓ8U'זXN5RG悼.|@U;K^L&¶9z sn#( ̡skQh.;ܯW>r Ç51|I3NLӑ%gyߝI֐0Ѥ NZ.dv~;MRQG*I֑>B(lg1x=CT?&?33`}sN)1}Y:\ۉ<0SC]‡j1?ħ򲘄&-O@:y1uC`92Kg.0[XGYA@0B| Wǡ1&Z0&^%<$%rYj/oqFAQ,?>ajNS,Si/=C(lStq3Cxu3zLw붇'Ħ&]fY[@0 ~_)!+IBrv~S %n#;[jUY4l;utMئ.nWxM4q-].T9BaIMɀIPˋ߄Y=:@Nh{zEr#`b]w\Qf8ZˎN&فºpc@ &(ۜJPTKu 0YXD7U.L+ORa]TQJۮdDmF+JH@ɧ>g6YHײ\r\" irOVM?Q_x#̤`sL p耓vpvs,I(s ã{,*_Pt{g9%$Uz m )N҈vlj.RqɌX<ՒbZ@GܞHvn@T)m"] ܺ|x)as}?z-eⷁ~{z 3W9#m{?Hz}܁8i/ ]as*!o$yD3JTbf?7#$^D6 PþmhS%qRΒOo,aNQ\=i@>eL&VĪxc}gl'_нun[ Q㎤""uYfzη<KBj\w5)rj(㌇YlDeB|:/ACʸ> AhI4JNցT]4:)٩?U{_)9ߨD ؞~S;M(3j-h;5:T.qh K"FkݩWlYA+R9 R評EkMd߱e$Em&sʞbƬyt[IB\1ktмؼoc0(s͡:ʱ~Jy }^#oA+r*LqtqAB}yƚ3䤕!)K2ְeӦd`>HPUSnoz5(D@R|zx`XfGTK?8-Vtj- xxٮo˰h!O)Cx[qG%L) }M ^jeѤ*4;1z7 7 { a9k1ȑ&Y0+~љ VLd*(ap |~w$"As_!Mu) ŽZNvIMyeH7-s^'}*fۖ)[ڑwU+%T-P@8fBD/x &ѕf(gdpNAnŲ|=%5йK@vy6LthWu^u350xl[J^?ظ-%aOa24zR\ spz}c*{1@3]W{46AGO9 kw|1YIB)Y\jO^TɸX2j`"] j`=4iUo͠,p+P 1ۻ\|.kCB})&@|QVUmǐp_rBئ2|Daky]fVv9r+\(>1 @~ Em5Y%T%S{$Bad5yOge~ Y-g9<N.dVUZnt[T{_pI] Om{99j&`wcHk<yZ*%/PҐ97w>ȹcD.6N\e˼i/r+8nuΦ0SJSs櫞|TguA*֢9 -Sp85s!-؇*v:6vg03d=/(i7W ֋$ϼ.5v궰Zm0fFUV_ɓxG||9@\~zr9uS {I YCADxD;(e鷑oQUBX^K p#e`.6 %O1$YN`Ϸ $]r#1W(8B7u=GYbw \W\4`cxa& azNX?D^ N1ce) {r#cxT 8#jD7ȃzVBh.i9@ڀ|I 2w1ߐ܈Dw=we?C*XgnX͕;2Ƀ gs+= }ydڦ ,/3e{m:?0>.X`"dk3 W-%j];}qxVi?rGj`N]iW | k_==[rrp{L4U8=4"e^yR0R{?h!GD4iCB.;2VR^άŨ}^ӊc$5HdtP/N.-aq4n|bY1|%|unc<3,j Fn :g}Ciud]F鵣:Tz_pijP?:=pʳ-=bOת"&ǴC&7|z}nVwT02Or0*xq{^xȓ)FxKtkSÃFIA,șvYVF 6[~l:Y)(;[MgZBy| r;­lߌ`;iPj 35]"dSVnA kU@؊+ PS׿M&*3L5*N )3/r\}S_ y̜g:ڗW L*YS3*nY/.j )L.MZOO0QT2Q&%:Tcw;"OqbԺȘGr-t_.m (-*-ߗ͂c63ZʞT]rkf;vΩ;9h%d? n݋U}1 ݢ55uTKҢX,:V+_{ditsaO7SǪʟ}(D:k(BevBďt~=*>:}"2)DɡmqʶppO(͖_CV\4&? :x[we0Ūi6)VihV3B>#c)|S F*0- i4=.lNwУ!>r8P#j15#G/W" Fr͞C\HPv|JBqHʰ=keRXag 킊\Gͩ# t $J%wz@#@9A/ ~ tSc*w@HgZ v Zt+ս +[rdL'nG[7[#kC jL ǥs7xԮh6ZL,},z.*YuGD{5rFd [KXQ]^tP/<8?; B[~f2ݧ\Rn!]67(ЪkwW,JWb6 C$i{x;BAQ0K$;$"D(9&Oz#&tYJ! *7닷aFdI`tMq*tsη?'_΃}]Hͤ"M=,rW PH!KО_yuġYI,vҒT 6/:@+$L4Ȳ/i!۟|}YL~Ċh|f !9[=Z`ᛒ[^]g+CCH|qE}= ?>~avz)TB޼Dj y}. hzκيwdIfr!aі^y)yV,/ɡU ,O`;jicU䶷`540~GK]䅦r -c̃aX;W_AxH!o6Pa?J)/Cљ{(g:i#nuSuMpDfv\KndӠްcDWL1+;g6ET Q/ 4XSpW+-€fy::Q'HNo}ƀFaYMdSfn1 7!/\ukḨ< 9$eUx wȳHRب+ 4sKl|Z(X/+xf!{3Xv$Id'[fCãbF 1#2*ߔ]TK&oIkc _4ɾ}u@:{ZI[ZJX$IdrAIrs&u] XЮ΁?"uxSm1v?TXˀR_S@4!*$)O2PÒ4}۞1G>)!)ḫ~,?;b/^(#,(~<@*_/Fb HfRVbUnzm-o>fʖ#h6E$xYdֺh!Aq꡾<5B&| لj#&e"'O&M6Wn T|]vC[y/}ˀӝNQ}OaE#32L5>-<&2 7J߬q Y9kteuA@12OA1F>m6WkY~o.a*@$2ҹx5x͡7fk-068Kי"0;ܣPݱm_#avK\e,@/4)8>IpK ,-ENg$e ѻZ@B#$`U N"2G28PC&꺚tL ƨ7x S=SrE~I "-^WV@pms Z5NNTu1jPC9K #aYboioܝ_nW&DT` -tz{" HoѸQ<]d7kTW5fFOdc%`t%r*+ͅ:,G3#Fe G(eя2UCLt'Py'/nb᧥312t`mP^aS!W&:o*S>Wt|KSm@ 9rP1P’0 Jar9PYrM>m>:4 k;-;m.([SWm`na0??w0X ͆QŪ:NUg[[bEPeIx4c@Jh5:FrM1?gaS)u=5Ӄ܀kjh,1Yy |}A1qJ=c"!'lNn˝< HQsiݤo?"χ'ܧ%ox- 72c: f/0NWgRT%_7@*6 Pp\$7/_sQ}$eF'ڜ-Rvr%Q%DEN4A$XXjtW!k?J&lW@'yt .yktF3ܮfsC]JzؓŭɹPcwGUMZd6pvDp=8vviZ7]# :W\rQ5 #u!HK"Qo1HҎ(oh6H0 B_V |tC`k6g鵤 'yLRh>zɱׇIM|HM(E!K{Vpy,җA \vo 3mWY8, `ӗ|kO!]bmAr3xdE~ի1{k w co;r̯#PZ@b3_+߶pJN k,`P³K+}2fd- Y۾+"\ۀbiGcZ]/Ӧ́DN/VsF* 1e85i]OΈ {ţpY"ƓGR-ۑeY *A!+?MƬFp 8<b Z9W5Z<#IN0]23d/!Mp4,q`c @eygOs飌ROҫ2ɣ01V*ݥ5dd!ۣˁ!C?yH$O?,ϖǘ뾰RqPa'~Ihxzň2/(anCW cGz]am}^˭B: Njً($ç.Y RfuR%HӉes;^ߓ)>m al"kH~[_‘x*F4Mi!҅s(o\_/T~?YQç22[qCkX:)zニ߆rje|VqhgR&-O K@.LW9c)|G 0-%zJ&`5-WzmyoBF{8T]YI%/j W>!+ ajG}V0){h uzu26/Dkna;,(0V d;ז|Ѩ4xLȖzˢnz͚&~GeN/ 2#kVrH8ԄDq P-ӱduiyфcR*gb/N|j%8!tF}SBRdZu Ӭ~,K6GFk~ \Q<{w;ѣNAhXrd!sI㸱eұ*[r!YOM!gbKAXgj>)¯QDa9 I{%M UD},_YWRĒ"fezfh4p+}"ruYz}:u{wǢJsi"|͟K zaPє981` b a<$e.ΡQ7x]t,z9cBOÎgC UV{o^񿖆2J13)^X(X55x[{E~|Oߺ}GT7tut:3uU-ԙOnAFw`ͅ,: ϩZ.P]|1A2v!R%j8T4a5Ui>~l1?Ud@:]i=j'H ĝ~MޓsA9)LV[,ڠG[\U4_kϧ:2NUyQ+K7! .jJ 9@oxjWPA^n M\ C=f@8%o+o7˹[TR/:ax/ ;Z?[4'pɕ c6uq cD9\E YN|GQUvw7pl{ҕ9k9@ΈS]JrA;ʼnxM.'E NH^u78="|QamgڗMXCi'qm;@l0yt#Zcds1(^M4\\\t$:JL}W&%nKh3̚ՃuγK7ɿ@I~`WhaSuuBbؚbiBwĬ=.|--|ZO|,d snT=wr* cTGӟ_"Fn]Be|[٫(<2^l@%KZȆ@>EO"IO.cJ_X@y=xO퐀1̺"nlfr .{ܳDq&XYHNK \vH,+vC 5r'ʁ9.Z+"Coڨ~fa?ku'$6"r-v,Rʄ?`ؐh̜eatIB?VH4(ڙ5H}1VMr@wJThv=X#U^iR&ppQ>%S1YG 4,`( 2hݰhVc8?;o[̣m (LE;F<+U*6r>S=Jj??b*ᾦNR-)Yʍf\۱ѓtRЍ-ޣ S!S [$lMDDI,P4[PZ CmUce1{gv5kۙ^0韘'Ot߂h/:ab] A=,:[ (hdy[~gU7Z_ wtBPT`gؤ?.U$!RHkNK{xc SI1䯸13nV޶Iune͔9?Y$Kmzs3: \O27Uι z>4:"N"עh5O~}_EǠ#9u?ežY)Bp >e5K\-B'Ŧ S-25II[oB7 Dʞ^2- ^euykIFY$aMp!(Fawx)'I*E0쫨(n\|-aQ ͚% |S9] St?Ch)^7NbLarl)2&tmsj*oF'HW!ᕙOE6Q~!H0&^VCЧ:WX;sMI-V)jsa߄Od+~n~ Q7Ы&7eWtv5|/(I2x.fFlL :U# \:$j*2\'9p H?ZF ~i>.:iɾG2~mp-`a^N}v1#dx:@70K 3o(,DPoU C(8y丈lVFXt3<.s#2VsHr)QgWᦢ$H-tf5@[詸DHI{A cqS?b[B(Л.z[uO/R> ^Pƒ2pq ڻ;o8{ 1w҂9̵nÓ4) λ16Ow̭"z >7@q' *$uxn!S &"SFzspw@޼UP;cvw]S28ֱWSdWY$ /6bVk]~&f+AY8[3~%-@Ý{;w'&aY ?3$ a+N~4UϼCu\V"Ź9[`yg4.$<ҎOV#fũ[xQ&tpI~(:4(7D12CGPOx>EZ`rтeNjX?U%QJݸyvЋ@+U;M0ʆ5fd,ޘYLΉm]&tH;kr>!$G߹9UoRo h"NPgq8D. 3}㿽037|.wr(8Դf[áZWxw>0ߢ:]?”ۘ{жg(yox(BC@`:>lÚws B Ϣ;6.ߍ`OvЊ1?<{Yo-TDȗ4A]0ӅfS|WGE0:bkR>w+վb޷Ǵ+< yFQxd4pOyYCN ;= y9֌ҙ| tX6mb$+_ſ2s=`U{w`bu]䬹6籣72]a6_wPaSn}Aԅ d2<,3ǎu<Ǭx"b^8p*FT bR#Tw\|9.|n!l*"Zm90@gY*6!q.)W&at^_V/2@aokQ#u_)Vo;o+ Vb hFgYfOxw6|XfU[{l"l6d5(2iX 7-BX0 콻|#"e 5Ru`HftdwV:+HCQsa\ ǒ tlvr û)< -T3O82jԳw |'*քp匝v82](^ɱ;TW-@M쐅5Wx͓u;&) =D2p+橫p펍Һy 11S oZ+'KN7Sx `9T1GL'*%eT.Kͻ"9 ?iUO\km"$e-|)+ Y?$.@5o~c\]LN3("@VdWIc$EF1 OHJvUfn&qb F J>nyvǝ cFM˺m%X4Bm]Ej\N IƂ50V~Z50|R] 2X ?g^w_ƻsAs4 5$:qo}':AvUI@+XD:{>8t#MȈ%GqMOK#  (E!çNi0+)ɯӅItZF?G`?vD9K`0oߜynZuji7/"%X ,<#1iޡRUYLѾr,5?^=_ũxE5ɊJ.l8M,_Z*_m[ ٦~j)+HXz!N(O@WD}ܩ;$kQE)P[rkOрW݉2'w 1oDI.w~dEHVM 0dpvڣz#.R+hl<'Rr aCy x~MblQŽGOC\~:f)rOZy>/;>f+w|HiuNdT]:e'Kbl`lR ydgL)uRWmKسw L&)f^Ǜ~Ai XF8_H MQry!aO>5[9{ʻyiRN?kaՃLdSL|Hg ɍ#^_5}:i[`Cy {KՓeœ enPua 20Â-:EtۖM5%6dBe[][^$*dAԢԏDx$Jf/GƎp.MzriX%p O>D{t^jM%&32^m6ﭪ*xJ"( U>OsrƯ#ׇ8|h7&V蛴v !K;s,0&Sj;-q;r"9 ?d%6䅨_HEZxr&\,4e'gCЋYV{~}dR:ΠۡOs9c[5 R9fAf_6Sm4ܫyJ[@)ªiYX!?W a2*홖 q.-ux}88@ q4ZXm@tڰkg,Һ/Ots٤c5J!]!gF77ޙYw[v+pNm" l+qݞxeJjc\,Zxoie 6To&=nCIS Cbtdv. %הei!B Ž=dQj gВkkB^O0\6Zfb'O; zuA] gVٮ,NJѝSGuK6,ˊEGw /9.J1B6Aשjdz5EFUCjoG!E|`ai.nLVqvR^z5.wjqNz2&Fd%Ehw.mr-¿A7!_d0K56R_sMwLٙ{YvAudQJ[ɡjthvkjubv-0m}' k]mCu9:bAh= !DH~@ QI/F& ѹk ~39aEniB%"WJ<Ⱦ( 5N pr,^D.]m #a|*+zQw:lz_Fk50ܧjX@5F,@pW0rH1pN~DȬA''5řgſցDHͮ .{xUS;6 !.k{?m> cSaFσU~|~10w#-/% |OJ e%dނ`=@3L= s1ҹi3O >.t?zUbidCTv&~[&]*XObf#ȥ [3_6F&LF&@Ϲ 6/jĥɗ򊀂7lN"ӵ Q8MS ޲ߗZ/)HgHcOD* =. ^} 7BQ]6jծRBZ0@oGrᏓ;C!x)CnQLu0Xus(- ,as#SdG(2 k-ݯ-<$x&]nLtkk/4 Πwn-BendiO, ~wQ8Tc$5,C=oI>ԾΝKDw0 jBNuI1 ":.."<}4p]njk$(9*%+%Qo_zP4NpB*Ɉø+%&%ԝ!~DX:%ÃxUs2|G^;[)Kz"t6XZzUhB>}p ˝=3Bf{ս銈 v<yLYvӔGLJogv^̫HAݽ{^Z=FV',wVpi/웬 ̋}׺)iV[gä8 ]CXuz](;[tH2/VFUS>[Y(|Z7x'-+/f`vsBss2d_7!Jݓf60J J׏ '<ōT%vrMf)Yl3)6杉CH@ ɇtO ^f=Pf #sũ-˰;VP,('<&"ef: f4,JP WrC.̓M+\!c$31 7 pdyAL@C>f|h[i$ZM${Jx XE:WhSDUٽ X( !=V}A!n3Kྂ~*^mg-pZTUL!LKjP'.j+:CL4R{Vt&֌IBG#W͇f"SGAA$iy؟?lQ6!eHGz< q֔hUj⏿yC{3 )IR% Lhf~B⽱o#0.R1뭛C/}V~drW-2Cr<RV^LN[C~$gCN}Iǐ:rX^C{f'SQŬ"taO$֗7i*lF}i5' z::s ӗ}/]Tb'QqhYdsrǂ!Zv:-jR Ńm\tx}G\\ep/@ztbA]p|IH,hSsr)]%Hnd^}/8ZЊ OIã,Uo߭ঠx2W2*Ҧoem z-UliߺHc~ji0bWH!~!5 ֿAIњ);K_=\rO%ܬ$"^uoيv2\`^6~{=n!@߯a*N\z,\Ja 9G,o`H)|"Ikz6Ve݉0{o|A2!y9`OjʺНX%ƐVKRM!1Fٜ\y B׵j;` p*Xb}eqn4{R(RЍ`BP 3l)5KYXb!0x&jwݴI,(!КlO%$dH(̋j l-jSͳm[ٛV.ϲ_j%E5C\1ip&in&`׮A]WfM9-rd= A\r~֩(wB*&[Vm` *{QmNb[:w\E Hě_R{H~^n:1'N&x? 4G Pbjlܡzy}'`"P얨\lIOS$XZ90%C{X-tCIB5fNP|bĮM$t @91SG?:訊Rn Dt,wx ȴMU?u,*ւץkj2GrdK i:`#o?g^zH -dBk>]r>2tƊj&,Mt:$%/˾NTJz؊|Bt}$ldk\ pAڸ`=v1r2˞\"-) hkXloAٟ|NG%FWM/rE2dyql2m(>~~q (Lu2$pd_ffG=R^-oPHу&Ēdi=U.x#ğDj;$aM||q%.YnJ 5B]Z*hR -HMǬ,J=ճy8o>t4ϸkiNAj-DƬ"fwC=qbq5ry`d˔~B't~ Fk1LW;p=AP#׳; +zB"0_Lg\4@B~&:='6lr.TAd=i!kS߿d J4ן6a?0pܵ;(LQ}ňY&0.Boţ.)V&Z!uOtCvɝV 'b _] 9/rcsd]M$?% t fTL84a s u_7D [v9mi;6*雀Q)?c~K)7g"{h_TtA}aPV﬍oPUM`@wē0tU!kZ fСTJ_R,B06Drqh}=<6_}-饦{Bz57>nڔ=u:A!)}MVguMDA''l.XUmy?ߵެҢTGg RBd6 C xk6W k#ny|0KzRC]mS@ن:ϿΘ|wCf| HJ$Vje2|o"6ѩ{Qz?u<f3CE!>q`N2gv 1~k/ʼny3yon2^%ȶG;y[ L^">>oZY)z;?+zz=W\ Pd,Œb¨1{M cihv3pVA)~1fG6:)í%F$ ܫ@6^TH~5]f$RGz`9pkUDݢ ?h C6n*nRN@n\С(%B^|F63>u7&~J!1 )Nh]^i0Ϭ eJ cO]ֱQ nMV>TUj͙M >V @e vA]!ZVɵgj0zVZ YJڒןѺYtr,O,{2̈́bc/piQc.3P c;-zAv!pSKCj!ιgeܹ҈)~z}(#:և#R-cqvg鍅cx3\w:`֍о ͣΐ OQY{:HF fs~-|y@zH9..̬`ĵXCݽk!N3EGj#ZF̡ rڔHR$<BѢhݎmdT7 |˿L8]*Np KɌ$RKfک-Qأ9Bŋx IlGWA*$ge SL4]–~u \C%p\xԡ]$  q$"} @V}Y7ZQ_LUж9gv ꜆&dAuEˆ#ڜl :Ĉ=t9Qi ŤIi33"W@Fnyfl2w)2R\";9"_ڸ:, :2x2:܈<B>`P;zeWD˾Aln/1c4nwd>n:*$=Q|*RU?#a6NX-N ń).U26t c6RG.eI 6r!j>:#nE9%"/S@u}IJwњO*/ѡ%-Bl^fkg JnB9X% X_0;հ<ZuTߡC|~Wz)5Fqt]۳{Pœħk2}v֚$/C;`\.LTJ!ēMJRnq`k-ox˚;| \zr}J<vB:CGzQR9(DWeL1P?ʼhǎ`\%:g`pO=:o+m!g%poTD|X].&;(QibI 5_$Ɓ3~4m#a"& /y+[cG)g<9sNdt46Vz_ʶ a{p̓-.KMKso]bNׇB@.Kb^2b"TYTp\(H`Š@`NZ4JٜLtOZ#3br)_iTݣxrWJRP_-ԜS@f2Ч ed1QP~ν~<˷P$xŸ5ǔQ8iI![ @oe=_` P/PNApQ$o_eQߖRdy /?Rԛdwbl5Bc=d.2o/ OcU5=7ŲVN< ܳʐO}B1ek{[b ޠh2J'X}6{wX{_Խ;#{l!+[Uʦ\ ٮb Ğ㏾EWKOl8aIj=t"<źÏ'سfd'*YAZ̒/ 'ma.)x?#pƓ^4q.zz94γ2)pFLA m]yGI'4ORSU](钽qV. ZҪN޲@N?7?qg 3k^[x7 H buْ4TH۞x+~[|[zRAqxd(]ʇ{8"O_!o~.bB t E ܒ<'jbȽlVG~wƱs{=5m'%Zuzk]FdB  7,"2<Kvsl؜&!&b6 =$<x.43-":\m&1ʬ)s̮ c;DzӘ-75辯 ۊl7v!P\ `X\%Q?7e8ct2}uZcill\y Ͽ۟g%**Ú^v Rʧ0+зM!jPlLċP]F]Ivpk~aۃ<4!>FR ~Ҹ:jгcūi=N|;PǗLLYH9V_+tތĦΖR&AG-!7Џ_r AHuIx̆Y z oF%:,*>fǁqh4{FB)a8mU|%6oh1:Tj\4:Gc=]i2@E#Yw|qCn! vT_ׂTeؿ |yGxa9C"M,-q)`ʛȻ>^-Li>҅ (fN_rE̷z&D(\ p@X@n/{TG&  ˘alQ$"`crGf[OizrtXT- :1rԛefh o(~FjV{9U28g?#nqr [/a[m1y F<zG?QuPna}D֣/5GFjo 6YQ+DO#Ws4-cɢfU+Rf~j_9R$+r;5n(4߲AS~&U>*zq|8ā>=Z?Vcx7x6"UbYg]#iI7ZTY}@5=su}qS v:E/9/&Ѐ 3K詭r+>ѕf&SyoahӍ-CO~JN!)u/ʜW 9]k(xe߈SRFUj4ks1.lg_48T꺓$"!+ՁeFRZsu7^gX'$=} Dm*=OK;+LArNT R,gsVp8nH#eA\Ǧl0ךg)K}dȤ"Lt1k0p)@<Յ A$[ D :Ꭼv\.z+~+DAynӶ]YUɩģŴ~fA-k3>Cߺ#BXPX4:gN`®}Y=yv2zb';j'?x H3n6@"\V M.ʵwؤ䥋[Pߜ!`Y2A#U2EտOixfВ:3u9;Ig=Aҥ| eEE }$GzZ-EhWk !,OpH+W^O=_FH?97 +3Kf=ew8qrеZ Y>14sڀ%Ff𩵅Jkg@~7tT٘C~ncnşGnUlJ~&/{{xȎ1/iщv&L݄2&-.j4R~=> Q²9Ƅ=`3nuY5`_BOf[ a1e10%[) GQe1?S0gO9*roplYbQZXhs$)fٟ˖ݾY*O:Y@i CwzW]a$fv ]F-R-JCjFљɮ֔314+y1x_l7.s}{qWnuG<T$%J0}za͸V.9XXEbՔqd\ ?1HV*a鵭o7^Lje0"č_}{)Mؿ[hEgґ0"7"3 Dm-ſ.{s8RZ)m"ha[1W 0TKݟ1ph<!7A%?c~z+C_d5lD?ŒR.o OX_Ù5A8Z$*qhYEvLӰNB: Fp@P{mOaDcN r*V? 3a[&z 6b ܨ13t(MP1CME{ NxPxKn6vj'!)!]ZfEC̻xΣ|ʎ[.=ݨ&La.sY`ٍ<챥z_6)X n0a}E66k{C|?:_as /T{fatW|>*@RZun߹ӿ.klt?y鵛UWHޥ㎧Ñ_NezضiT3W-,w6 *A zK*e|*‡u3FO] Ӑز9|SNu^}"4jK4<;1\Iyuέ%PPD;"q6J9 ?GJx2l+2R n15d䌗:o=sb^x%GfEwƂ6:ʎyQ>&-7nCUT7ZM<ͅ[q lgJ'g%,CoQ+ۮN*תO( 6+L699_̷;R2IoxlJW t% T+^btT$7.Pfpawl }C=K4ZK@x.2*۪66u)lFcJ.}oD{*jwl# bK_Eʁr3kV\0QNgd;ː|4g͋.!3E,6jO7^`/@Ԗ2i̫ ^"K8|Qج'K'Wڀh`/vj-7Pm_㰞(d+J)4V_K^o4- *_ oS\0u>qUل0ۄ> \Ux0M0З/{tgbW\ na'Niǧ5g'1r$/.Y* ]PO3m?ċ0@&?5k"Rά rLm˚ʖ5@'1Zee·8@z9wÅP8^*>^Mk ˠ;-1|`jeZH1Y}< #s\`.dӃ0=(^nk Q" > QIEZTcOTkƖA1BB9`VWe%/^O"s#:cH&{ąs4JTnc枳rSĊ!&2s7,*x3y]M`um;Sz.;++T\}LHXHX_HRՒx ^J /RĽ!ÇD+Ҋ R{C]_F@x0vCΡ?$*Kb ヾ־ Ji iΙuQp/?a bzH>݊y+'H*H쒲as5޸R&qhgxrc͊7QD|7lRef㍾i[hY:1͓ŐŨ.iYDӒ%r)HCNbu)ۙk~T3N5-ֺ_9M} | \Rv/?1WMgIR7Oڣ穬5WbڨOLHbD M0ꅨ +Le AK'1wɠhǻ{We \2e~J&biMRqvrr)[dRo\<o$TA(}G3.V's?/i,lB0\vp VExĺ0ɚ(w~cԢ=7rVUlWhC4>*;y[<}?gS^8ǰ3Q 6!yJ߃:L8nKA+ph0}-h\@Sl) Ѱ1+~w5[kXR~;bXj{qw|ɕoN0h;صnj` Vą3`dn*W_ʘ rH ϳO?0E$ *-BFm%dFcͥ ]2 q[a6--oTV:"I`˩msJ;'!BFm$cIxKb z5sCz}R=zs~nG-n1K@^Ov׉kbC:q\+\[UKiTzx9:NJ{O=K_t͓dN6xb+"Yͩ>*/ 7 pǠRi[gJ/C•̬^uNmK;Ao{=+ogڃ 5uuI.HqeG 2 Rݕm

    ~T-Q/c}y^jSUk%6,n~L ܇c2j3\, D^c5:x^6P>YbzFn[!|'89AWU|yJ #=rs29̵b'M_帊*0bTJfl5WDK6Tt.;*s,o`FMקqNJ?{+Eo[5Leò,kbQX3?XR==}!U TLI xX6 + f@$'Rx̙ȦfBd ' ʏ;Q{EINI -Xfe08M9uI0amqk*PԳç2|у',  b7w}a:"Ewa)`pKyG *LlQ'%9Z",o E1?'T[?xRPXH @!' dY Dc l* y |I*@49 6"/Q]֔~nD^XaQڜ2C8d%(j$HPw`8oև]渋ɜFPVft9 xi ]m/3)?E+XHGvQ]; ,۪\ *6~9a&} ˕w CM(BZqYq!fip%IQ]+ όiR5 ST9|T' ԊyE˜ph`bE'|V$tޛzVU#CҲĦp:[Cnya}:la"Jl!hI 8VT2u nR`ht QM~(LU"f hϸ$dy rmHqO>ȹR̨SL7aNNgZ=K^;3ʖI ?%0e1ha¤N&8g0b=q߆*+Qy88r$vC9J$ҖxX6q\>9Яf&N"I K|/iU,NfN~xuw hNy\ñtVeT tKڠ=Y#iy,I{`=G08ft&'\ CA`ikC!x5oeG 5*'e#qke($d.9c0B fQۛcUgBVߟt2.+Zr{AXLd#َ᱇ƩWL-Or?9P[u[u77$v@`u?˛%(;H#/L۾sF#u 6>Vk:"Dp4녎:ĬTxؙʝG3pKO?qqy3Ȇh.am~-}9HJӪl `vN7p4?%$׈ SA$}= i))%`.8ע0d Ղ.Z׾td{ Su 3u7kxn!}΂Ҵ4͂g˻QWÂ0~FR3H* Vpۡy|0DCf| g q{\gVٮ(?R`>eCDӯcOŀ-@vtG>uRj?f WvD~VWŀb&Ǚ'uRpMm_ <=v3D>S&.F4iN7-&䛨EWLڅDy2PZg|"X9D\wޣ#+D,Yhj>Pf\U'D=7 mx.؜8p 94YZiwx\= !aeUz6!H(=zR qJB:L&2i XzP .Gk ism ,~S"}-mBx>-Y=).4EˉԔcl`,q2 鍒W +E\Qo@W `=*Өޠ6tl ca>o`w@UP 'pi#1B!LnLЁ2zMO'F%pJwykj_B5E65W+HUvTi寙ytC@Y[`x;TNj`hEWKOUko/( j+E8g@l}?i?( |X >ؑ*"i$~$SovQb"?Cww߾̑DZd6B'mmIemTfWq(֖bcg)XA̺HXW"EoIY͙ݜc ʍe;.D0`jCe:\LO$7~^ @Mm%/PxMX.bD2`"kJ"&x37) -h;Aј@,|v+}Pal2u6f' Ǫ EMXl>!Bߪ*?>] kZ?d 5++m)D4/fr WePNW3=ݦA hլB@fݻ+NFֻ7]~rU0O , ! \/qyJǫ(xk oPTr'ڊ^*wHQϩএ6In93YMލѥE>qNx#~U@=1d:`2u3Ȓ( $ $:4kS(;rKc{\_" j#X4l3WnM@9?= Hl::plG >&/wM#fZOHX41CvCN&Q ƑݠN \Yǣ a^AgĜjLJ >X>4`?[5ӳmXjս)m$X>O;A='ht-ylQBbbcH>hޣ%1%q?Z@#!KmiegD,g6x<35 x?d7Is?քpDiBk!hjfD{ -VYwQܹ&S6SI.1H4I;@?]eR?/CbX+v6qԅIĪ)p4@U G#TRD{/U)}[ȠiT] TwZʻ+E 'RҎ5mRZ.Fl"zjMv ^$ג8$V}|a˚2;,ǁ_ E;V>Vn+ͅm.?VĝjT*f-ɜ lSIqxtփȗBaΰ 2@*SHO6[n\̳Mc .J^A7p~¯փ/K9\ Ca&cY,զ+r3I539PD2Jd\a suGølUrW jǔhqV!b6IԊvآ RFM o[O/? X-|{Ev:VpD0LO ~輱I*W.#| #R2 wEiyq8ʰ ~ȸ1A4cX+Gz)xa -epI`ݱ!"r^  IJ*FФCƉb/Q o Bd"雛CRpfH)<llcV3Ǥ;_o>~1pޗ@!)DҪO?{ "1md.B9a$-K AQ9zmJ]Z)yZR}?-ow(k_yi:>FqcoBY*˗!΍]dDFxMfA_dR*c_<( @' EٙR • 3f~[WDέ"SxǵyE`z~X?At`VMswS~[@" gQhqa5#UϡRۓ$⛯]ώm!Vdj5a[L:]FxaR~!5NF/񫲦*pƾ/DnA|?Ȓż̈́ZQG_M.B[]&$ˑSHOPOz'. w=yۮazb(I O?IFEMy&o}HM-RaR,A*(x݄zn#|㵈f -^E]V&y՛IN;,A1F'!rEdp0N#<ƻ# v(srE$=GCf2ǧ6?RDLebLA Bưx%UСt| 3D %8^plNrn@=) ! ۄxχ1zv-?˛5rNl.Ԙ))3Rn_݂MF63TՍ0}JY`aemzC|7$R*Q;\5L[ZAZ^~_91iDn€bn`pSE\9CQx>vֻ8<dx .ʜcXkn+̘U1kIӓ1Xci?^+/#(7N'Wy7wED5~ƻU;O=J)oCKK(YzvcvL QP%4ըBA TNv>= Q`3,oE~ww禡;T"Y\i3~Z5t[CF{D7ǫ-3sr6n끨W`QZOFI= 2NryNj{;MOJ%hbmþ!_h4`Y{뉬"'PRi)ǟaKzՏ8_ ͥqS\" ;`hd=(`WdzjҪ 'ӎz s ͗1rE+o]>?O7Aji)07|mmk20I\:hYGڶeu*iM]]"pɲOOԜ)ܵKD ⵺.@Wi&O+KaB< Zƹm5حr-\90; ~n~LBuZ9-BN 6r9:!<|? JI@Or˹&) _5ra5v̱*Ǯt^qk.Z?F~91bmmb0CHflpMrQǗ|T6~lUub(en`%&-A#yc {(o&%Hv)b5ʨ˶ZɆBgd]KoOdj=̛kΙ扶!|48HjgF#ϡ"B>@ǧqGVB:Z' MM vņ@s@6vݕ2q!FkiG*7b̖ v#v^g TZI}!jUGg6ʭB`ժ"]gз;a&9ցB1#ƁhY5IScI،-Y'aYD+n xJe ԭ/O-BJtqՃ_nP Ulz?t 6dL-ڋ{AU@mp*1Y(Hm̕q} Ș[)ٷf5c)p)C׃S֚`LJEz~4vpcȃQȏP\?Kt"@yDK$6dIGoT;Ny =xԭ9Fki]z,(N\Θ7WwƦ$ՠ.wFrCc7o<:cnuE{g sVԷ5يwy}KލՔ_|L]HٽjeKFMJI^>b&zo a",sJ'ppGĘߜw\9)-G"Y,G]xd&|m3&t#wJv?5Ed&VTJoAc3"B>iȱ6eOO^|6%`^mjqK0wn/"(3Y egZ]:, Su&XW Pٕh( D=0˹=s)9J F$ %f," vGO>Gd @zv=,e0VJ׎qMn}+F;k;Wz5…X&Yi^@g(Ɓ" A0h&X:< ۼb 6CĿE/g|+H}Z8UAZ[ 8 eA`v,Bx͖CW!4sTi}Jds2'eη%Ё1 Cg؃5ȗ}4Ⱦ$행ނfY,ewU$/z9+vxaУQ v5CRg ʡ:W`gAϘ<*:U'xn)8C)$Ws̙{lQ֕_jH!23W-jH ~%mgt$)E1{I_cZWUP!yGxc[V}!\9?kđ= _H)Opri>Rv0aEWgJ /ko2n!I6h͹:F=TT{&E-3;lZpM%l7H5W3}Bo&;U靏iJ./>ğ'tR=ۅMJ7܇,b*!*லtd^k^Ii$?g8X#yk7!\U!uM9c4s(oI dRT#NEPbc,3d{]LGȍ'Y9cu COQU&ZB?Oϛ㤾؈*ǍGi:@ Dž|gJ$ D}Л+& sqB]Uv =pŋvQ'IMi P`a*V{Gc Ѱojh}N3oh+``?1Ɇ9WnsܗN|J0ϻ7`iW lW״8x]֑&0vfOAI~\M9Jj$[W*hMp0+LL_kB *#P yNz zDۅnqI~oo^^WҿB3S@Д'W֪vϯ&[~v<GU8xP>$߉Y(OZK_NN#6uq&ȫϯΠ^܎` B8S-8"1YQ6/yNc"(!'Qtv2e@DR1uYY qmZ满$^^}鍃ԅ^JppP&eL+="4z)NYmK o9]GfD԰`P)71q 2yf19R rϾcr@7'[ݻ*ob-.9iN:f۠* iS6ufkelP];cD Vw/MPVV("F*yW|PLUr `r%mQ1 gUVk!RsMB#E3)aFycj"A} p?5$[pD,/Gb+bH %0'@c.[B6K .$;;JFɣqk~Ölt.(dFO& ~+`35H=@WodBS@A0;KW_ oD#^ y)8SJ]6U _h9G&lN< hܙu$? M#HEXW&yHEJlӐB72$UwjXMb闉uH.U9k {e9$;.S@yJB+ S8 ),8Glw$DF:R='- rW*vsc+bAF5>Ƨf'EyشPv}1XK}#<4er!39]tR=lT,@J8pTsݖ^/uzR^_[;9!X0࿪ӎlfN^?XVvƧ^Y8YٻzBaߔ4y4P]UQr\IS0$= `xQ>qnŀw18va>E.őIOD:ao$8#,G^}ыdX PO%ќ nW6-^WLh&>P4r'ZUj:K~PO#b} vmX"=cq5&ia?1#Jך22`Pԯ6J~l#N)Wײ.^!e//X+N9yqnpWty,ڣzz+q }e} ?`HedUP׳/;ȗe:~iѵ2487Feۆ܄ǃaB>.3_'o ;5}qs:}cB!掠u4}C}cE+ c9lıj^Lȹ(N8M <\v>Z4̛X LjY $] %ꎸy#`-p~Q~ֳ{恞WDEGYڱj(E qQ&z*C_xT 1]nK{j=|]{Wxbl "3v.ojse  \F!;1s01&2a-!]XiR~| #_y7+=ֶ1|4TxHoMIPyNsa2 n(YE(+ k.;fui"q.~mٽ^* iYY`#<4,)0*A\%Zy&}nҍYit?q|C~|$D9]C*{=j\<`kqB6/!^>OK[ W4Nl;m`Qq&ᳺ\{U!@/'4HqǗ4dHcjyaSKi|t)lFQŚbBq /7ْ;qDNW518'6$u?+{ɁgjmU'U'D%&/E_-/lZ]0^K(IR8^9٨y. wJ7BYFr_s}L#}'KtH%\">])gGz*y_ 3"׀:ѡwW)K[Ɗ"r3f0̅n3sC9NcܨBa3%M-2+.?n<\ZiNaH݀?ODH:-}﯌}D f~=GS!=xI:]Hː_Ca[0yBҳ}v d;2#MpG&_ĚwRܰ+&4V-.?zRZyWw! `u *y=%ێb.FLhԸ2*.R'H&%!}4Kz-pٝ#+Y: N熘gGNs෯*(Nfj, {Zsv(m&Z#9'"jа+ KkW.u'Ng .Gw8]b%)ýB4y;(MhkuN(e Z?$ QWg7uy+ ( U3894bBkX;?6j ; `DhM~OQo@#˻{۹zhqh <m. qrY OLq٠(BaZ|`!k|oQ Vu{d/ĢEADy^qN6YNk](Ggo`Q7!'t1|A/TƙNvr~aKqզJ;G.zpؓ.e(;P 辌@w3=AzAgh$'`"T%Spz|V3!e F>dQMaL*_SI+DTOhES|:40Wr+ÃwrkN<83*\.^+0( sVgJh&~ r$dc.Ҩkґ?rK~<3h-uƸ|r6"3H"[c $CРTmNOCmPg"=>኷h@Db.|~!)G<'ܜKro=iְ` Wkَ1iOpCḑC?U ߬q&I؟.'mT ŪQj]M]@5&it'2 w 3t5ٷ~Nm=A1q!9ƣ.XJ5Et(`MGn)2 ӃLŪ3\dJg9d^AIX 3g0/ >*D$Ս;uMLP Qe `kBO4~4[bV'Ei{L?<(g43{D )Iŋӝ+αW(./jJmT]>-BA^?lftᕺʕcrQ8<)(R^D4Ff2\&єt+G ( {q}dQhxe*ӝ# f6J/Soy]o-2u18.2gUn8eK ,3F{:qk >ΦPo\PCT|`_Cච|*JSqTV>@BX }zdjГa~ 0[._HeC7N XS ((?pX~MD`ǏF{X9}vi'! B!wx(¥ٸ,x#P40"݂T[;g hl@%ꒅp<:koM 3[]jJ$ČT9C{$5H 6qt1VU|# ~LN(j#? Ujn8g" "q68q'uW[b#&IK&@Go_04% Agҩ E[Z2X*eq[L1|"@$0)Qč XϜdWȖ7~݈H6fΜJ܍ՙ컙%9!aaT7%~U-3y>RĘ\qxDKPvLSl *d^Fi6z|l'4}[BBIk"ZE1v#\9^>uX XW:@XX uWpsqG`ew[dsB"9(6;K*hOTĵ43sjn mCa=Mŝk:gVmE [s}ߙ/"U5UҷPp]ҳ$[5jwΓ06Yq %/{}9prdۘK!. Hߢ/Ȳ:!r톰h'nyA(} 8J7p6 bqz z@рVEUIErAP]M8v~o%jM\PoX!=Tgp9O|l"e_W"}θ<~+&@ Xᚡ9BC#<{glVYKPedhZ^4iA"BzTPj'B/UF0{`VqXXV|6TH/kVG2> ykEכ&Dɞx)3D_CNR@-ugL71ns2p&S?wCW3DQH'e{ :ʹV-%D/%O~#5SoY@p4X+Pb2cUd@<,i~_+Swģ1,zm>7'x/5 {i8?x)fJN} /$P/"YA+ tEVWZg O|5gڠQ9 AqL:5PJ\-s»?{S/rtP`2XjQaBW?H{U )x>>KQ=|.=hnzr?7rB 7,J_(&s^;~<3&."xjZLCnmЉUP\SHe,ksngn@uQ'gg!)D3ED$ wJ#׫SomAD9Yl$[~?wyH̬L(b}9HMEXpld#QiA/TshЮ&:s/m=0ZOjUA“{cO詿z0:'D0_Vd$yUrwW:&:SL4xgy \8񊌬Vu0sf0%qi5eI6˰Vi@Fd \.'KA֜`N+s/[ +9-X v24OHF8<'ol"sitjZ-}\NP,S"wm=qjM!!ûhE|D{mQyW#v'-z3ѭ׊]>߈&vxSY">O7CH3kf_vfrT &?.Gt/d O U8Sm,6G۰;Hh^3CCTI>7b5yjsgN:@^9S5}e,o$@*9 \-){(TF:y9/ĿPF&umO_ kA)Uߺo  he#:݊1~L4B5׎12U}%܉A?SJ_y4Z4B:[l^-Gi!0 嶭W$;ڱZrdđIZO[&zo7Z\ϜG1ŷ9O c# .]xot~ZH{'qU0.էi\2r%=V|3.<ni ҒLKu:u\9!וU@w~Yos:/}4Q@]sy[W稅!J+N$T#_1Z@ UY_ˆەɓ訉0{ %1O n UdVnZݕgp޴̶r1[ ;6.6G*`d z n_Pw WUVYtiC;9K?9o@ 4_'ǀ4[օ4Qy54UäѠq ԋ?(=AJQ_ДI:iGDd>7׌7 C Ў2dT)'k;';_l T|׆ Ϙ&G$IT#жf#7.8+iӽu35n,ټ>H kN"\^Ο_f\ =]K)7#P2'z_}04{N!~iV{$Uy56½arm֞Mz,_f赵l&j̖gD:vyGV]W T\5U A~9q6:ۻZBN11AfSXз唤`?C(ݨz1L4)}]M 3!0NAXa݌d!,==Jiڥjo~.Ԧ烉aTZFrTFST ArCXsk ]bENt0{L3s+HIGO aܒ\%%ѮKi<i{$"b2]ymy=r:3x 2=_>&$3R AY qN'"nLtۢq2q͕/& }= ^&/ԣ4;v(f$[PhԆlY9/:u~MY: b`[I[;_"~d@npD&%yҭ|Mpuaq Ê翻M@g4:吢w wbMsVvM/)/X%2k L25@Ur x5`. (E2ڹn)* 8LGLld<t@ǰܡn>cCnԿQ-d}1Ώ0T)AO Y]8@y ȇ:)!KqZr:"[)\M8Kz`7]|Ykڴ"TkCץŇ(l2u9*Eܾ3|~ '|:-.>`D6̺$K==s_i7I[!s`?yO.#+~>K}ltQ3B7clhvZ`U_aŬhB"-wE,U>Ğ! L%0 2,fS o4z,RR,JjzD<4 ??F}e H\w!ﵟ2K:!AB>&oMt'|cW8}711y/C@Gy NiP>7p׌Ӕ?_aӔ5ƶyY : y4LC['g( HgTq}elZRG^@^c|W،&֟"Ƭk@n6DΔhBgֶ 29&}[45g(89<r9XAs]xhb/h䋚n_ 9G_"d R@*H/C}'Ƥ[,r_C>6ស_#p 3d";hn{[ 3a2R ߽9e^hc*i-š)Ȕ;ilRDo Gh$KjET2~Rdu}l*0O18WNZܲ(Y6f RU jP?/1@e²I5\ S\R&Ύ3NNJ[s$G|XݢufMPoc |ql f* "iI0y+_L".?ts] B:Ӊc?º<ڬsͩZl&'2?{NAYew&F)mNs0Ќ6U]q276ŰDM.X^$ B]^mҾ._X41AV䎎9B&5?]Z vn9!*"F8}dMpӃe=٨К0Ύ_H[LߊBYf*CT#P{j%Q;B)ZoQ2 R@5'1MoPoD4dy^QԡήjW H<@ac)eIVJsWhVS9WkV~Uwg|JziBΪ3kw{#qԙNwCF14@Q,6 t'ۊԖ|(6{]\;)n0a$YQp`#pW/r¾*(|! OjG ʹR?05YZ>l0A(9E|otP=ԖDK\/୍0}'&Wv^('iYAGd`(󽆔_jwTݜbO>T,!P}͌ h WPpo9$ykSVrG!̋39^v \:oC9(e6#rx0J}E?_JgHUHCmnn'0fxX:A N-}*Sփg\k(=b3RQI!"C]URS"!*h`Ydg,BG\loeWX]0}a7?D:?Du+,^*oEK-p=n*'Ac8ʯͽ>˨IW7:uu:҇94MYiPU" 5a`En_O'Gs){V z4.?e׃>lZ Jr"eeb]migU?~;9[ {E>"Q PdkC^=aVS)e&bm7[C@zH7#qiw ]ǥ!]O1+lTi8"ηqC_J1psv5m$TF3y\Wzqgx擡K~be*ַ|ϱԿa#Isf*[ niQ.pG^& M k`ʉ|N?{Gp9:ޗ]Ȟ͇wUw,4JK%f$9aQsT_.JO i9x?<𯵆ɽs$ e6B+7o:S`Ƥ?45~*Յu{  S:V%HS? ԦSehƅe]CXkfk l9 c&?tzMdF#`D +d̙ M5J@,.s U82'␑NzH%oC?I2Z2t-޾Pc P)gh GQzF;=c'O}'OU+\'/Mx*DicۗˣgsϱaZ[Oˡd:$W p+ul$Saݬanol=:ߨi{^2rZLk֪ǜԡW:XQAw@6rjp%+;wWT1wh>(8Z i0;f u!\ssB<6z=+jcô=V֋T?({[2_^pSXT쩠!CJSs?e! @&z1|U͝eK]eA-؂ΚjꁦjN(k[dr D,ZPk/9Hh5M3rQmE7;bYWiԭqK`~"Yt 6cc,.kTyh̷1?/o@2X[h~>sRԩ6ظ DiLM?0~$JhR9&߶#JQ}mQzOZ#751v9 Ldޥ%ǥ"јHkE @ 1=d2Wkb >IXxaIz79i@Cre*aX8td_xnot'xJ&W.SЅ*Rdh '5oy<Ȣ@fO0"q5 MV*Uk5"Se_ʩ2^˭57ۯM߶gMq M|#̖P^fo?O(DE$b  7Vy(RbvH鶡+{{u_\KV%Q5[B/=5?"5D6g8>}hxt0 ǚ qr B_ o=Rx$?+1g+_YfCp6 ^"45ltT{(I$4Ҽ^Y%h0vBBRvZcl4A^Fض-Ɵpl%5DA~\Sh@qLth[ Utw`~GJM] &+6DK$oᮇɚ.ЂDӭ+w}ls2L٥6@ʸyϸY믞atc ]g 1%`}#>jKS!g&[tZЊ!4"Nu orzk)1G,))ؒy̴,-m`&ZKr^XWzdV`>wE)tgh uշkpJΩ&1dz) қ},z]H.J=3_ mގ0Z_4 4j(+NWB233,;x]Ƀa5 β\3$tKE[i6\ R@6Mb\i'NϜ v-'!j2ac_:;Cսlg.ѧA!61)r"dAW6;yuT|(;%''6WG|,9kW ,,˼4ɱXc|Qs^P#a[ۨ!Ҏc>`>4 `E&WTkD!Ln'Zg"Ԑu3W=^(wg7G>K2kЩ`n~?EZ!?HU;ìb KZAmSW苠ƅ%i)XFqg$a}pF[`fO"nVFkhN:8%J˖"]),dS4a흭׈v8N3Ϋ(egd2TvI8ՓbX;[e=~w H&ڮ5vhKzǜ}]DmlN:M{;SI law<<68R뿴lՔ|h"(E |?-=eZۍ'6hb[4CDEr5`R (N+zg'WH>D$q/9{\SDKXáw29Ab4QSG?_[٩O>*ߊOVlD2Ƚ.k 8S,do XY llf+gmzShv&Ϡ>wm ϦC LSݚhR@gǮ(bn_skЕP] KߒLhB TԾ&+NT{Ûchhl r`;'U&]yY]-s:{ʯwgŢ0k@ٱ}6 ]>% us2L!h :UҧOŒm,+g3 u?GD[`ִ{8X_ݢ fLrR >. Y{~TƍE?lp H\%%_3]qǘG.:(-nsT":9]Ɋ $f>J]|(]~I#هBv6xAc8N7<|LU (q_$7%pER[?"oQܽW YP#$)|o;y9ႭzMT i NDq\B' ADm99 LdƓa7D4(ҽ 5,qR+'s%<m VԀ 7DfThZɡ"S4 '1Wr\2]e3yȴd,EO0f7 p!IǣnXT9J֬k>p^z J唚jN@ II5ZRŖ  0,'; 5q myGm5'[E,⡋_W s<4 ӪG>{Op@;!7]HMY Ŭ7 l l̈́oxZ IJ :U^ۥ)iK w8q+ZXHI{kv! hZ#tfWyv77ܵ MޘUŵ*T0ls7  JIXQxl|8s=J$acsQ99]C$ߺ-hd\6 /z\3$Հ֧%&~ $ҿs([@|,b3R h`cRjmut*bzDhz۲FCBh1OF;'4vNfXy.c¾q yc0s &~UVo:TX8r/̼Eʜ+|ґ@?d٭rLf4 ESiG^8Nt_-V8W]sB3_{G41$uʼ홪3${JptI$N P__2~͝a̢KB7*Dns_K,x?SaNEظ@&wk?P!Bҭ^8,;#C{_VY@S"S `sfi:58$a017x1(YToqcL( *NCg"ƾ YA>%(Br?FǦ^'}aؔ;a7Vgk/ L;'ȄPiw .=sK d[DDf5,ޢȏ7`ϝф1@.cFKx$ƹƌ;JIʐJ_k/K#Ty2*y:E 6%Z%79ӛTLcIE:֜V/N|%{3.:v+ eMSk*5+Ɩ~`;FqRz@K35e)9[3L"Ҷq=8y =H!a*>>:go[~/TuAp]ø ĮWU~,N{ZĉAӢm@M,۵Fm5#}S] Vt,Bљ#c.}щ|{gӄS;'H$3}t2YlDZw@)+GIjcYH8Ŋ\/G!9hl ]Nn^rPv _̻ejvTZ\ݱf,z!8ČЙBdrc1c" 9& E嫄Cӥ__ -o;ା0M7Ѣtb8|{s7ݖq;S0TeZ%Cܼ6M0C3@-#7G4(2()ͨپ9z_%iiޯM_0 nT̫dINQgn%fw_"x+=|ox $߅ HW-q?. ' = 8b[ [~T6#fW jjHQZw̍g|ؕs tuy>eCU^*QJTovS\R\}<ǘQ g@ae(ףXS 3J_D1Eի.$lWa7}hB2SyM!Hݑr*V0`aQXѬQr Z*.{!(QEb6Q`xdmA&?/pJŨb4UKd8n8MV! )M(HpJqvd7:6)@pmI37Z!Mq!PfSCML]t(-΢(Z1c9C9y[VXnjSx;uާ"jfC>YxA85pkJ.?q[uox|1#*Ct eK䊲w'{Toh9[p%Ūk-#EHSn?CNanV0p^ƻ!@t0%ip Dzi%`'y T2 _苲Tn֍a`q=;$A?v6X)}BznɜPœfP_ x$ub\*Mt ar 4*8{pr@Ĭ !nWE|–ihfÛځ0a8ij<$y s.,3"f,x Xd =9}K^ } S8obX3"VO FV%~iUo{uzQpFIP0vST.}fƋɰȠ@^Bs--7HH'VM˾*+\q^5FIu|ǁ7+n.,w^/AB ]'p!c?{ͩJ-ק`~Ǚ1d n-rG79@k;HfgY2A;G_G\zK:XuM=00o#u]ffp}#?MtdarY9_6]T!]P"\^#TLhFBд펺7Nۈ7٪cvSFH.nziC =զS,A~pٔ5FIu?}U"2;;'!>d=V:Bl2xSTO*?'d^,>[z|.~9c`"nhUv>)dž)0}OॲY/QPC _>b0 7p0jXAXLHMsE{L:}&7 7VoXJ,ƼߩaR_ngݎ j<'2@]څoVUPF/ʝ\۬)-^Ly.NlGm:1 L/ah~baLUۻAJf>&t$NU뉫b&?טu0[>t$?5 /7FjOē~r^RWN 9L6*p(`#NJv?G0WDHoF 4-J7{#ײѶ1ҩǀ[(5M![f)aDX#b9z~f)6mWU6^YNWgJ4d|zo5țۏ:TBR9cs@lXhFI{/r*w;a2tQk?wx& Dka$łǾ/nCIB%$R/JO&˦ X^$Q~L }HoSoNEN_eHn\{j.\ռ6hZ/m齇P`2 &u;{y 4e'F_$xZ;iaHahfhB.1 [E4H˰AezC D|ū&&Dn[^;FYʏ{HҒL%i)Z1H+)Yb$,p nc5rL>g@FB?nFh3jFi5ЛTQ*!7+u,ON"VXwg@Ap15fJZy(^q#_a$2xC+-ƭE:ߚ(Cu.n證rgĖ@ϏWhӡS"jZf@XSdv!F W`ȚBal~sQM ZUuBԜ 9jf8G\~7N3'I˭'hb>?D]1+ "2ؽRdu58 a:GTuceIsDh8*/W<[d;P|ѼCM ƘGy K%8>:\\Ì/,e 2)ˀՇC Nw7qRh]+Dn+ =R޻9 XA_32_o?;"hbeVxx[wd/<4a ]!tC)`LFP~p_̂lx'unp|V.d$Z0U#K_ʴ[G2#>N-@ >${QAa$7E#^ E8SJTpճu1ENH-,~BױCүv_~lPbeހ#Is"P#yD2#ºeKKnjngRU˛A@{|9rzį7de^tވ0#6tB\ 2y L2HjmWjϼTWCOV'r%:Dž]{Pg~nFusk!f%E7jR# "Ҵ*tm!`C V9bCP9=#RKp[3!kh( M9ꍽgijpn[V$NP{ =2^Y@츥\7rGskO;+lK7]z 5#~P)..,V?Q07UÖ_h^BfZ|bQ3~FSTIJ~JhaB,JJIG:۝)&p,IN5@GxFBd2G"loK[=l#Blhv_klh݊ Z/6t">t I@7AT19}ճ5Md|z֕aߤ;m,J]=aE`!_މF `6<{)eVdR,}CY+kap;hյWdFE6ǎ ?t`6so\N1:jYA`E592@8G ҋѢ%\Npy}X.iy?'4.)wqJ;dc<( D /LY-_C~ I_kqԁPFsVf$m~6nɚLqQӖC fz2V9n#^' N2Hg 6ld깱Ŕ9/WNF~<` Rc숦d>ٌ삱>$0b]p v ݐmڡдC؍?6n* %v(zrc2Ʉ-"揢rtH jMT$aOdhiqϸQMP߆A]VbXI4 qu#hAĮ&C1Fl[ugnYn$ mQiH e 4A', e$:eL<y% * q|~ i2ll*Gj]&mmHsjj!  doEz } j q<\XCU0CM؎0IL %µ jz:aF~}M|ʕs{ߡHBȶ`SݨEףz @sAQB ףs=\%!gi]>((ZĜ[Z"La<{WӔ\;ǭM9y($(XUh+xFl!^Щ*L:?C/'')&߹up( 'еB??zp _#gͿ`\(?iV-Ajy4RI#:#q\Y@Ʀ@Lcsp`ZAS| y !|NLq\x*U^eg rr "!&;X5gC4 9hY!Vq?u בw5f9ld|9Gcb獛`eG~šEO2L2З&/7LSXkXlkw<&0l}7 ==ڢ'^%fLb}蘞΃9T} ¤(~9CQpu`. _Uz",ʍ5O]'&&/ᫎzHXqDڠQlL%kah AAϟ7m*O]2BEd& l)@q"G}~YHzotZ hAD<"`&EEp4Xt:[B;v(xUqǸ d`rA뫪O2*,}qInC.k?6%sτD]'DՕF O7Y*pV[}en}z0ddm(9Uv Ԃe2߹Z#/TNLpcJ, 3aiEUF[ :s×sXUլ(\O(+%{Ն^<}7/yPx@@|y0RJrd]:j.`Uzul@ewl?.BatFϷIϠz@Wd;nZ2F~h#k86t9E{$:_-哌 ?cʺOmu\3 Z.ceݯ9fEù(_%Hb v§-:ܿX ۽y93]xV[OkaM"dW8:d&HU纭jƴ4G]8gV E(B\ G@%XLtgdh #C<9S:2Mc ͧB$b@I&S^Kn֢tNI3927wqƿ$?a:RTcD"vah$Dcnps.>;0,CQ{=B >`@c(U |Jkv}Se͛kzԮrI= RV]a c>@?o')rB}u7>gc*F!2l$72{(tM/їtZ?d K`_9 PjۏgkKW^멐Eξmkx;_aj%ZTsG: Z5 }tWU\xЁq#|Y-Xgȷ$߽`Rx*4Is0:V,@ Wm֞:/r?Vcٳ##HGޢCl#_(N1,.E)TÆ?uҤ>+jޣl?M qT[ Ǟz~>fu̖>pdh Qd4CspxǐJ;tfeW>`9p^KtaٴK}h<QpϚ_6nI4U{ۛ(,4mASclo#6-(+ɾU_.\>@44 ljK^Pa/}JO9H8J-׻3`I!F0JCK|<+\t.ZGY3}ුiitt?.zIgD `bIƪ5da.}AsĖ e@i6n,e43}mm <q0LQ;Ԥ/w5FEj?xp,AJ۳\FwE%<ޑ- ->&эTos ~b8ͣAV j"^G/Og)55TXo%7#**ï׉jZYwੴyfW*r.J׊ukշUadDE3b=vP?gm3s@MծnH5 В{$G{Q09x<ˉG^@XՎ*k!?HJ uis.M)SVxHSV?hPX DBz>SzЩu;_H%vDf!-9[k#?%EJmVjډuYea:#p/DVVH2qYW 5dgP)tPo_ZʶCd+5sE#v GFaPNՈ1Da#'[?'aP 6 N 'f=qL‰{^c\z-{a/nQWҴ.dpLb8J&(Ͻ6Da xsxԸ-oNFHb%H az`2LVq'6a`+t7+Eç=cŠEdPsWm0nlMPi˥nsAc;g<ױݪ /,_ff׊'~Sc,}Y!(}8f4QĽpbIRf\$5 ͒z!h{|Z쭿guQ:a9V),e헢*-&1˾FP +{\sUBMC) $F&N^jo޴g}ۡ=KG )[yW= uDjpwg *gG^;Wc ])veEUT)*vLuF]g aJlﳅIo&;Z}Cel|>=p-Szd ]DZ"XPEsc H)A=Hmsq‹Yi(~rp:nʛXroaG,=.^SZ[ppvxk' qz`Nd97FN/ J,0,nhv, po1[9]ҧ&is;+`ȶjaϐ(-~>/gh?Y^qYt'ClBwQs,@;FsvGL %|eȱeMe[55$qg!|I( 4K `|i_0m失Pc2f υun֡8Xmr7icAolYUHp Z=ph=`a eA cՀ0H,͔l ';^3P׳ypǁ*X<6 HoGt>)q,7 \ rrzP+3+4{ z<)μ7J1Tn:rzSVWz+gfN]@q&׸~'|M28'#$x NuG5^H*e<rE~|?7^|XڷhlMt%|*KFF˧/ uzU K|`v_k+vO(׳NWؚqۊ2dfRд;y $J+c\_&8QGQ}Mఱ_XSkz"S׋oa2JculuG1.jUl=s42#F>WOljxToUܲIxjk%Y={޾ss6) eMA]iF1tw̤ N"$$X6PP {.g#3`ҵ6X$/ԻE OGII]hcO$SOcS.41=8]f48>nZ`>:woCp3MNbV5RȭD&ԭF5WLo iuEE %)~uIq 6nQ[mV"jRNaC_u$}'?K=!qm 2[ԏ<"$x!Cyj0 $dU6 4+;]s5ۨv/;%K9, w}a1*uֻw:Sosѻ 4y&MR-*W:o!zEWճLbDTLO֙ 9| 7=V:]W5.ZJ4YF$&yd^4#(jצn/*[~)*g5ˀęd`ErL?.ouUE}1YRa$ W.֯Ŝʼ$bn&s6Wa\Y=AנdJ5zY4; O5RMTszmg;k'K/K/W#NlޜpAI7йDgi=C+6y؞ lD{9H.п7\ _JpG6Jj:{{([eoO)qV|S3{new |IrY7GA~-; Rc&L"=i{."zЙ%[\[R6s[U.xÌڞZq嬻~XbFձى-~Sd]!dCl#8YM_ܤ^r1zx-AnUBgFB݈Ϡd[=`j{hv7C+.˵A.Cj\D{bmI٪ږFs |D<>z̓)M ,/7f'g!MD (p~N"4Ak\G@~"B OWN?Ǝ3YWߨڤ$*C/*vOT(֢V>Cª- l }WSav]!w2^ jYU2;] JШm99Ԗpu+HgBFWL[ؚ+_ȲF1қ{B ©)bj3s^QwG֌v1CNjz3Va[Hw .)Q@PDT4T$Ѝ5ɪThMy`>q SL} ~, `pSԚ}k:|VYMo ~94(n4{a֋ <ŏK "Gb50*M nf)N_ &dSב{ŽrΘ_I;Qjџ@qN_]C'2Բ@e]m}T|4|s}4L,36.3(l+]wVX \܆P6Ǯ:ߞt|$*뿛v(paC7=# [Pz"Cg7ϴNϩnƟm)zXg:WԔޏ\ل0RzG!Ï#YttT4?#K:G0pxQE')3?UӼ39l7!sfnI ulI5ٿ|dr p=K-}ҵ^S[xH6?˜jm:,R{  gP'_v|"[#*`j֜:{z_%ͬ_hCz{*h+\BpJ{?jKMOo:4ijlց+X1uW#/=2 c 6-;[=;S0u \Pn04$ӳ۾5+B-/0![f8VȻރ^´itg}鄠l52rÈ]S鋌t~R!2C}2jND*ږ prVr~5E@)Pɨu]oA&\f9g{!T馊`Rw~NgOLС*Gw'/k h-odjҜatdS^,LZ1j9A;ᦇ7 կ38E,1BK8,V\b/` ,qID?vcVIg2{ #*ͭdi^Ɓgw.hk=і̆-cl58]$"!/h #H+dpbhRݑ>^5kkD,eVkH*WS &t8 ;t2d MZ 2hB_/Q}Ê҇O êY:NrO (K]qgڸ 6oc__',`+&'o; Hpg[֥n*$8;]jqj81K#fOφk`åb 亀[M%Pkskؖ]8?yI:hu nf /7ᱬ! !B qkym+l$HVYU|3Vz]=L) 2ʞ '=OǃG37[, ox'GG*XBb^.ZRؕo0Yu{Ȅ Hxd;=֞zĈ_/~Jp2c&r`Hv#Y3iswfdn{MX/"ԇ Vȶ9CyM+-U)o.6#o!rg?<vG˪k eJ4'~~C~Y59~{Qk %C|)Ѩ%ɸݼH<~ g0{aϳ̈r< Z$~( OM8uJtU3*ćD{OkEz+ 60SJ 76i$16EB|k>V 6{yљtY]*SiPԞЦ;퉒ģ$G }1AfpeUf\tz7Pa=W(h[5hZuAub r}'4&f^Rw)<F2ok?Dٝsw{ʂi/W~ׄPH4of_wמ#p87cNQ.D~2s7{dlcpR6&OԐ4,GI@Exgp׊ t1G{^nZ8z3fߜZ/EObE tv^) Mut ť_c5L1:J%-`"۞U:;fڤAh/?}j3HR6RC0]eӼe$3{-Uꔻǽx4IPN6bс#{Bww1'bU8$g1,d.(ݨyzF7QҶW#X։Z@9{э r!'D9y5֑eXۗ B1rlo(XEXCzD7G3P8G#^A}lW$^V8f>NcD˂ 8"Qw<^9.s[c-\_"BaOE Q3|7OS<z 8m9" =._\5iL̐~i5. .' CRHF_̽q$B+ ӯR@yALUAG@/(vTh>[_GHE}zJLwxm+NVoJ%қnC9s߿=yt>Ƃe"sWfLiս%n!OlܲssҠ?V{lR`^ X>+zJ&?;6 jy^~J\)amDΥ%z爠"/ pGl" Walǎ̯NmYh4- tZ ]p ~!߱=g8n}tx@ׅn]"9ߡjBҭR&К2c?(NQ`k xh2#NQFn;Kw'=g8lXD##.+/Mp_wCvi.]o >UNBxmBn_`2)5шu3ֽ:hAZV FMI悷bBIRO;ؑM׶Ҧ4ICt_Zb09s[6NYFE.m9)'(Jv|=jJ^#e.ɥjZxxFpbMuܘP/-0~<yAP(KƈJ_Agl=[[[}Rp@Z"3K(DU+,F I+ 7F*2UbPuKًQ6,΁N[VY<CPέ­YAQbK SO"&d"^J"ٸ}Gҽ;ܶ0퇯_<&K}MGt8*W'gokFQ>-PB!]^2plUrOUc}D%ۋ<}5KB";nőq5%ảkl9IFflG6lu*%#:(T1֊C{/mY=[;l.Hx4EQ|gY\H,tڳ)xg;?)3 Cxl0[;=&'ȠrjCdCLDPH _{ 6Zz߱Zz1nqC7JtwEq$NlC$ںSNQ/;Σj'̓;2bБG%Z7_?UGj6︄Fl?yw(frbPdBr7 uoP &O軾 =9E+B@:3kSw܁" ,DinOhgդfݞSR?,RPُI% n}}>fᆷ[ .{L f_>"Ng/zkĮjY @ޣ[\4] KR?(Lqeڂ(%{e0H gAJû;t UB^se핓Gϛ͚ySOyvm[cN2r9J:|$SUtC+ 7@(d3.њ"Uf jp憂KhR= :-jbGŽMϢIx4Y Q~\pi*D}OOؕ<{Gm>@wXI_>]@~|Iى4 ~"w,~J,DW^-'l^}F{x}HDy(iΑݩpk JtUtsѤHh=SPgަ: H><ЀSx>cd? Bd#eD>O74 u?>}[ssbkLMt2yP H=E+43֯M!<8:TpxeVBuA>i!xPL\P( :YkQW/iѓPG <sx2h O _< p1G [4tuo'JO*ٝ3˲቏X^zC^[+p"J&j!౲cBAs< j0…r~1f{b>L69ƌMtoš(& WeyvP*=&OnPSfSn W@biܢiOч`9|۠agk(pI/zI S#$ +,/UrFdTe0[9.Sy)'S$Mm>\}Ws^ZnUwB%s) I!M&1n8C]w=k/LaZZKIhv4RW=Xzfĵ0\ڤCx#rC#TO#:*m#EComez:}Xw*!+1\rERFJcΉdW<`]Qkq%ol}s;Z ڻNѩ>!Fw[Cb2 [o/MbfMjr3D#iqγ={!! C;QUז4{2 :C1d}v+ J-%zP&辭 s!u^ErV@Us} s֑:#Cz>ۨ,f*Y&r:HG=o+(1O|;y:_xAL)1tL~ N)kFa3&QDj#?'hf+6n IVAK~4uCĒ5JH娲=Lnͼ[Ę3hU-P|Yaq^9W ^zo[ݾCnC%{sz?GIB=uI˭4rF`[{}a"”Y숻_6 LtWƀIOYq, dg7[k]9BfbS)ݾ@vKhjCWSʹF)F굍پe"l3Ph?4D]-)"L8l 3ݱ3͖0Nca΄fnI!@ .S[9FF^r>Q~m3 , XBT_ޑVmf䱸RD^ߴп[12Tēn1Cfk"Sm06S %{,!`ޘYRd0bpÏP໕B&UnDP7BY[<kѰW|8%mp dԄ ;ZPWJyԫv IyJgD Dd;J%3}~uO NUEɡg7SRwf@ sId,}>!K14a+X( ,7KMP (lPJA0FC`Cc V4#¼* oET$[݊o?>ZhKj/ a(8)C"+ 8VӲtupEl[{cp92:$#*qE gA}H*h&[`pxm ]^d#x[EҸUG1<(Y9tC!6N]4@ubf,@r哾M4>i#7u8"{i)e.7六 &ܭ) "oH<㰾rF9<A@7-Qniֹ^Q<@P/7;,<-IbG/#MHyv4ÊIJgBp?Kԇ[3਻Yg]cҎ AP+ԴPhtOq3ueHS?wCqQ9"Pp:mr}hp5>Nj*[I$G\v.&'m5؂EJ[310BWMS,LsKL(5.#E?w~UMyxW{d-W]:E\;ic]0fzaL%PTTPx- *m7EǷpۿV@s|tywa?&qe Fz˃0?rnbp#a +CHޙfU٪+}]bC8:M/wGnQ4RP [2.(Hdم =G{.[ulΐ\3-QZ| ĄnC ^/X$҅-H2pH7eeW\n28+F.oxXk7{ =X{󲬛O$~+|(#!Js%gDs~68kCJ{y[\u t%@qRv&V3\(m>9ɞ}X_ iN:sE+EmTW9$(PK3e7w%&w@mIu==UDӧo/3>P@+uV[b&_gf#g>a0uz`eu@ƹ)lphɔ+)tK) ܤ*ӁǦP3AM+hDס:^&44[u>_>st#bR]}{՛4! ̓H8TR؊")CzEw<#dh-s#rK2թnU$H 1E?BZ8)aEb"ĵ3?j}Os;qo 'oy6j O;t`7O1NP:) e áms~n!wGMFKj2ΣWkX?a4u"^ TyY–S4?ޭ; GWkKҕGGZyU/ӹF 4l-Ur]N]f[wdEBX]"dv?oیYcY%o2BQߖEyp*61!*6zV H[t5D+O5~@R%G1@{›NXC-' ك% i_JHءeg/+p>YKAFQl\.uO|V;PA:ST8wb? BT?\ a?VtW6 \=LN9Em,%DnlWdYh٨lVI->=U!GAP$%zdQ*|`4U,߄w MdS|ME+*H~9*9 Io1-,X!F5et.AM;asG-5dPF -Rdv :)RqFYD>[GY=~xQ{;6HQ$Y-W !G,l9*qJ߈KKP K@mc=sVSN=7v O͔'e`f6Yl#}meɎn Ijsա gZ Z1,abE8<RW[ܥK6mc͒K {tԶ*K4]Jׯ b=6%U}'Wm}L ^iB)DJfd vxṃ)& VPBB2TxXI:]Ճe2q%1R"|*!O%v,Օi_elħAqnx#i]آ9Ʌw̭"bEc\aHYfgxzqF 0ah'DK$ŕMYzv{蠑\* ADx(с -+0=H9]p/mfL&&D[ƃzj;H:Mz/^9b.97s?Ļ9ƭ 4[F7/=&aJJMqQᢍC+6Td许֗:EYPq#0I75 hRuKxnj6ڻVsWDЇ"<;A]$deO%)"p&*=h_jg)?3e]M;t2 s*FZrOvSN)`THPICU@i^kNpm?1v%=kG/PjiW9G`!YL:SVM*fόu#x,+WӞ@z} )+&uĻw˳Ǫ"I*[e|J:}2_09E^n%>< XeDqIdZ,ƿiel(?}_;3)N˳vĖ09F0%/\[ ب+ZQ낏5톼whB׏Y?FoyRnnzSaHqd {?@3BQ܎8%z*s%x8#D δl|ju3ܦQhh "ٴOV&NKg}qybBKYRq4LȆvRexV|hc¿'hC0Nvx0,cq"d#p 'g8պ.Vݭv`q{a:#Kn+'S_x/:j~JT_Ec@@UÞơXU4%'}4I5ikn~䬋6"Lf*5ևkWr@~,ͪ8Neꅑ>wɰQ W󟼟[*(^T$rD A4qR'nzݨldqb y+5`To|dwF:P[喕N+ T8m95GPw|K}; N@J5c}Ȅ&jp ig'1)Vw_|ԕ!?KGS|Et,9/D8aqzlO%zڟPˏHqP xibK3 HE|[aPԖN59"udI {La!Nh8&]G4"O̚NYE;3]{T 9KeÎ6W[}S}8&+h]H"O<{ :[R{;s{J$hbi[TpL+^ tN}ˑGcD\F>Ӊ Ek[:mn )a WyúU Q^cgE(9&у$Nl*Y:"JǕ ,쿟~a@ pu*El*(~xCqn3Zќ Al1 ~mRwڷ %8-%kOg:bE2c>XEϡW]@d 7䒟 ,]ƿ ]:Km(%$!6^n̠=z.Arn(B kWTסnQw6\HWE ȯ y6Hr,*OMKp/șe,Dy/ߡtDNxDC=$y|J`='}1nMl_'byz'%D9 D9䲹No6y/,P+v# 8rl¬ Aߢ51tp_N /$Rq n)^u\@$܈>T܎ E'tٕB ~+ {NsNzo#3X7U+~Bxeo@(mC"_?r Rz+wXfO0C$ : ̕)‚{$ >O'k>xb=D :q~cdفoS;/_!DL-1I9Dj( nZ}&_lqŅ&h^Kw)4AvZ<o$X*Vj h|0Hċ<.4 bJ9\O7m3~Lrm_3T<3E% xxOTȦoA|d9gRەp4m!X'Gtg0rC]farom!?N N{yҥ7_aȌ\m$ vl-jY[0: Uf"&@3 :h xKL0gtqY ḬVyUzgn/q,gcgQh@bB;p8 :?`ՉE&13gҷ Bv(R=h;Te|$m蛳r6@0])J\2 kӸDY^  ^յ W[x7EͤA :LSdxWnBc.b#Tv5j[)WdqKF廃JHLq%wbi8*ǺˌTA,$0<OvcDmwi&eas;ZhB̽ww2hez5;Srl7kOɑuxdfS?zF0}'2vs2sQp/e olY"?;c+XnvJj (|IYm E3wY\[5v K12l ئ= zAЧ3`#Jxh|[ Md{`do",`щD: WُVL R@NmyQ} ca'"0E ε)'ȅv<8O-X(jSx@R :Ϙ 8nI<'?=̈ʝŭU@(8>ܞ 4,m`g i'Q( xg7"CH zJ +lT7nBmU=42ZIuwwU5ج CXv0bZ7$/Wbv>?p41b<~|[:V1@!+DEY!jK,1N,E!oc@AtiOHA)`aJRZ`v#PY0bZy:{5*0[(P`dp]#fB CXKᡫji0UiVI$ GPewB/!#)_|yjjFS" gBO/ReSyJ1D(1SY>_Yɼ eڨtr҆QURKљiRy1jk;`YYtFUޟLѻv'頗p1.?S[bSoA?x,\=qoy~Ywv]N sa}sW2F鍹/eBw^U@ᬩyMX3e#yÔL/.[XM\BWg@[Stt*62`^ aC﹠oCBь1Ԕ 'iV=~3B:U?e,`gz|Fy%z4u3 ktDhݻ>6ͩ4)C}:&wwOU#U p"~A‚KV.22sH>YYe]p91MԦuz'\J| dy"vEgNzou*u̎PcM(q"[Nc҆俭^:$ 3n98zYn?J`ǀ~t+;ÚX9+itE~DyU(pD>_U#<9xX` hW"!@ N{ҲdoYX8*HYheʢ4t#D,1;~]ZUle K +KLQ2Gx\и:ҏM"{U3$d r) D^\KlfSyEۙо19ێ} N0 ~RZrewS] lx𙙴Yb ߳p&^q bnLu9e*&hh~nA*J\z*L(tGXջ%PdZK/γ떾f!DԒee mt .cZ4x%=󕇷eDWernz=Rmx"H p, !I |2])T]6vEd Y,,2L{Tça.+c%T3$gaH $jݎH:ӹLAI5,8b o" \'%R1[f{٩yCFLLkwf:`Y\ vWq>uEk%H޴U.nʹ f:m4+]*Rw򅖆P#r_{gU(93tBf]nq^Nyq6zC\ԲC1b ?1Jx\&Ւ{ZMĆ֘;{YL zlk e73~g lbzyͦ[e1^"Qt>Δu٥V>8W{2jA^ǀ7铯}"Loⱎ(uD!h/ Gh&+cINuCO%I1] aZE9Gm+yi9}9sgFIUukT6x\H=05ЅnG:xt,[^6LZڱYy&qn )<UcNnlhIǾVMPԪ6/R 6 RJ,vL=|*ML4@aF/RʀOuLaC֏&z7A[8`%flu3c8hҍ72ApX62iXzJV-[Gb[tA^8PPT &u⛰OLrQ%:ШXUGNA- s2h,ydN3Sm,Vo[#_&jROCВ`]w#7]\ })O"XnDb=;ʝח+$a6Y$ãU/A;Bt?jߒ`'5&vj@kFp?(^%F[rq0 nFɌG~@c#@M?~#lq83D*rSED%`Y{wĞ|W`kY55-`VA:;x6vFI 7 HîߠmOg"Eʇ@ /n'ZO:A|hQUXnTGP%FienMs)99B qV}iq D%_O\X  n{QQM j gKn\o!O:EK=˽cU4įt:%ޕ1"MMgnLLaXrtKv)}zBu7!L?E#:5iyUrcYfݝZYk 5[FWo`ö=MD꜕Z*ROM`d"< K2ft1ՉfSO;nWZejNVB`U%S"xFEL_{-i}~jRNyBRAnQ fg-I76L` OBbqn(Y5W334͘_Q7XAibQݎSI M!T#DN&ZwXhTy3`&.R;3Dt<"8ux>NP\N+c{RXݖ h˴eȦTcta=.:7!<3sQ"Jz,t?0!~BCT/ԗٺٶo@42@G3cXIhsԸBr"OjuFeCUd_+sH-%et*DUYµm[Vt P|8W/]QDs׶I4qCA"H馩\PG/ViwQEdc0" ;# 4Ѧv!%h6$W⧌]嚼3NzNLö ?jFq->+o]оz V&A}06 RY}9QQ3u-7e.>̰٢^񋂰xB*0E$].pDt '{ ['`߫Kcg/sӢ: n9}տc!`"vF de+?Kf|Iԥ34?ʹ 1T.<"i  y⃚O5v%_#D0~o0(tnh;pj v8 e7VK|NCYro9&eS=4v-T֨͌etRiE #EQ6WZ+Lp>@ )e3+v%`IW]d8EJ1n_D"* .T"31%cr .suGyzJ+c?i$$Մ>֧tq!R+Caxj\*,$DE<ɆvfG+@V( $YҔ¸,Y%O/-(C-椿/Ŋ8,k30@,צCAP,ّ{ypV%&WD4N:.aGp0y#Iwz`HvdvZN|ѥ(*Bg߇Ʊ<ai@&|FYnp :&yӪN=WҀD A-A$D=aAeE=QKzWR`ظE2WM*}HFrӗO1]%LvxrobVHt3-:‹n/;g~uI3e,÷x EjXt"VJDSKqBu|"a)J~ȑ#rD%"1Si< B=)k\(y ` YX@УL{%u׭3I?*KVv)?uU!o0ڒ yp7$gRLltx)!g.0|&{R}lLCOK;)(E jaOvo]Iت)a,(dzJ:鞝Re /.l3iLj w2+2tvޠqD ;dS]@-3n'9D+xҧDQ<#mV9"gwIk]&X۰ru"Fm܋~C"a.ŬU#%GY:Gʵ`f7Vߘ^׀D4FPun0dy>N 0h+GGu€[?WSF#`)D9@8u|8ߐ9 &t䅹(n\cN$\PJ 2l($dbYa{f 2 ;P@̖b^8ڄ>:&߮[v/|v5ɔ.hE[ R]0ҹ/cXK+#2^ѪC>5-nYJو<ߕ׽uC13TC';?!{ɢjwqd3L bOd!9AD47"6x:prRYޛnyIp.啌T+_q}fҔX|t&pg rL+h {!a4LX9ؕdw-M49m!P벝ogeowqj~l<RE@1}}gz$F^]ommPfl_F$xfB J9~ $ikWNj5 F^d8.# mޜںO쨊J.oG()R~sgt)Ha mwz tau~r]-x~ZC q~Ndz [Iދ +>#FCnvf-,ކ%G_r(2$+

    `C?95sm>VJC!ސzaj/^bVU 2n%"uO]Eޜa R05 oA}mٻ~>]ϿB 7>{.Z n(G3%z;XVlrW>1L*Snxۃ^V]I9Q…zc>̕|S6`p">%_Ђ< O7]W9)K`U# ٹ}7RfX|2 @ % ԃbsek4R*Ҍ]FՖ {ۣ-qK瘦=))d=$_0Z 5o 쯷{A_q (IF7׊6+,.9,:<@L{ɽ9b^QrI6 ?WbAE6,hq@E9 "U6^\2'#O<R*5ui|O=ȵZBP*xlU? 'WOKD=csf}$"j[Jl*SͶKVaG";龸]@4VhS%a^k*x\q*4X5mk3V*a7C6l.$X ~sA`P1ߨ,t6 %![LcQm[g?iǺl}VF1ewxs t^^6⫥-ز]<\n[5lhn$ Gq%AZ IJ V;o0MBQ +1/Zn\q "Q:e|)ln*F=:Y(tBՄS.+iL\q̣8β1pa'uw!@喌zUKW w 4Y8X<|焥{GCB&|âPt(%,#+%ʵ@^[l/j7Ep :ƣ/ػ޿brU}H?b A[ݸ oÿ(`{uEq<^ߚp"-jޭ/}|Mj*2PǶ/~A6;xi#̨hMPc7Wq$ xϺ)\~%0AT>#v:ЩoxMA;/ jz,ߡ B^ ~B!:i)l<|^ BO E#ӖJ7X15mۈ@9p:-ßGAWk Қ͍wʔ9pUJ r rK2Rj&0õ4"J㙮"oY 18u(MDrdPwv̠.::Io6cvwy_&HOpBPCSχB8@IL„9@Ϧj=XB wʦ45 #|J y04v;ӹЀ|~qW [DF^Ӑ:Dd*pFGgXY=2D+5֪\``H9-YWTrĮ Ǜ$wG棵!6T;: ѩ;x O|bAmR~+NP#i2@tp{Ql@O=5<;;cm"ѐI戏TcKs{0vf^1df޾$뼔n&1,ދJ@ MW W2lDYZ_w@,OT, # wO6Gx &ԌĦz?QÆTH-`dT ,7dSP9s,^U]L։g%JDQ]1ك6,e4-ę7 2' S4\MQQ/ VӠi6♪?դM t/\R1[ӌ75V8T]t] ihuTspINKMRur~j )6F!RMt^8Xzuh lBJtd0Ut ߺdV αfحg~amQNU$cLsvh! t)4## JHM-V 8Zϔ)]lTM@R<bx23qn-4.74|v 8B>Q(GZw[<+4+CFL1IYei;lDھEa?:x%{@ң!.(;׍]!=?9TROV9ao›63b9Tfb+U!+Mr"U 1`^!<.P]iZ>Gin!r{rmޑSZ+ *e]zo![}Zv`H+ T>RlUnVhSVI3ґBRr&f5lycA&8z2[CBM%t7*LwTCZO]& ΂H+F螐&𹦠r0ox.i*yHOo l|혂W'O6Q8 ᖐq9գie"DAiJ+8fB`l =s5>18]6֒׉US;c$jM^`)`zU@m Y'xX h_O 6PATWM5d}R<7链5!Va|͔IQ*BѴI.A,% TLa4! HǑ O\ڪj+GW pݶ%=v]HuSS4:~42xz84\4~σxcW~/A(PC5/XQAv5 l$.?4wD|ZWJG6C|)eg|dOM0mW|@"boȦxk8DA@dbB!h dc<~W*Z޴)t5478CbV(kqwșE h:(o-p_G1aN\&iKs9ݴ>'SMGȬ+ÆLOEơ >eÞ,uio"0 $e[e;<@L Tv 7.HhU5ڤ<)Mhk \xfE@G, 0GXTOk``15#5q ҕ#udHDÜ~BYsoVWL((zTg⨴iks۝aC3~qi`=jsbL4>t#~ -CeU2W !*ϡF`s7#K)x: > TV}ȕ/#*(h!ZȖ|dBt2-p,qXVٰMU3)KV5]we>^D1(BJ?i|*`q N\=DdۈzOF1|X]QfT5Lȏur%\ >qdKmi\آ:l!d= bőOKӛҒMYB $([э(}v.j*l#,5*USjGUZJgwf|PI Iw9t@&m\Zze8_a*`HuV_S%:QǺW~|" ?,1ʷ~&@+vE9P@Ét;]?0)1, c3,.y*^yaczFG2Z3)Aamtf퍷f1٦Js,~7c햯ցt6nWڢ.܈IU*D-;EX|vkڹȶ_c R9qsꜷ=!_oTL;4&Hf\m_ 4IJ!Df̾ʯc҃ɩ#imltޏ+wmTe zAq̧2< (}|QW;gx0ʦP{ Z,?`tAzOb`sQkFJbvd~p:L؄褫maB,nO.=8pAIf8]x!j$YH!JWcb vwP?#>yf!s Zje=p(ɎՆpM#9U]*6aa0:(A})#I 9T#*o;:h%mR=6 J A- H ,KuX'=r|q(8! |_5&NQ8rX7 n>m͇8b8rR?)wlfqO$ɕH^BDG$ވf+ZfBr:`'_^4TwI90kZLjZ*ov Jbb򍞼 Tו`~bm7_c0`&3/!8w1$-JY5 X)\FQ'GjPRumY \)tS^ vw0ߺ^Nx:J[^U[Q#Z݌-('ĂxImQd%SXJsbGO)Pr/+Q=;E=IR hi_OO KSVdW/쥹D֘~jv궤b6!g$M&ޣ2ag!lŚf/|?d Vm0k'?S?T/'!)WLU1{PWit'%R7N F8u.FmC:ƒ uRu>[ P[¹ LhL`ƣq@Kl tLw I?ڴ"q*B+E^$"*/K̋kfK4Hd˻j'Zr 3.} Ad|\pkdzdͨ#2Ź9*DCz]Xpi'>=kiYGNu44 zyVw&Uc_uP2RDž/5dhuBr9`<g\B}sӫHk/-°?J,_-OSdb¡n1d#;=֝9 H~[LIԨp,r?SGqAG"0.cψBoΗ߬t梿4xx!jhNKaBˍ;ϒ%x%=tϽ7mUko>A׫("sqJO. ior{ (v3l?];RtϧA!)Z;e+(ݤI,q,tTkȫ{ynz*O:RHbH}`7O|X8/h8p4Q1!]Uv:gN|ԝ SѤZ 2@}2koP؟$c QZBb21[@Л8tc^(U<^\-%/b-] uiQ;>Qa"&GE\yδ]6s!qک;"خB?>Y3n`c3p/spedKa˲栶*۠g_ y8ZL3 #=$TIgiA>oECG|>OV0POF-D*d_eJ'lv(M#X4<=nJjqYaMPŲo0<#PDYÑfdaHABY"EoV[C5*aur'wk-d HOh8C+* N3cʢ<,7VLhOT p;e0+իyR[?pBvO\fpC:^H&\4V$2C0(q=n/_"$tPA..ZX}]6fl3w)T`%30V7r!_YrT[\R:eh:# `JM҄"nK\ժD áA!|t?/+̌}2Z[pf2N TF< !7(ϝw6< :{Z$IJM?]ֳ viE2{&q0c(PP7Ilxg8WȆPUKNFV9evcu\7AE*~6zr;y&\ f%gnw6bnO5HGǣBU%n<̘F-F|fTJDv(KJZ0ae驍k,_s [fa C!h0-p`Q ѓ{6N:z.LjbTaL#WDnT?"Lf3'ͧ`sgR?YRO9oKi4d/{V}Hzj܃XG !bOs2[V*>3߲[~N`nYK : _8bP4&ԇrxFs{;F51/t7lFf4LhBY7 ƳQ^QS)[8n*{¡j@r7/ n:Q flxN ]oƒ@ %avףoA^k.Ğ9nx*'~H & UNh="-d1+DK!x cQ] lpm<\hh@2Pz1zE:zMn_MA}wrcVO(/nҿt̓/uC`&9hPN֐`|gK@~QaI|GGA{mO|D4qVԇ"3Z-t'@\C)Ć7iUIyNh%fQ-AOa0K(q b<񤯆[!9!|> faiڒMwh1'M;y5BG7"NIsS K+<֗E_ztڐyMzU}(xԯ2Ta_[ϜFh]0@@%fe:<Ih*$ˆ،]q\j4+VzR\I 4\5k=, UV8ti OhyҾKҎ4hEA./|E3O &1L&^sBu%0-WmϘr ofy fǟ 2V"Me "‡PKeA-rׁ$ t> 36rʜ%[3ZN̻LIBpKF'~܅@{ubH|p7w_ %]#ϩwТ9[X ϖυx9'I儢O'xIHFGild.@{ <4/G32U*4da,{;]|E?BsԴ  &U0= f-?qTWu SDb{1eB?VQn=vN=`;e?k}$,c+ՔeQ#m9䨢8bV=eb/wC'WyEPB Qk:G>ߢ>m_X+Ne к?^ 5N0Y+pB 耻H@>8_лO`Z4\A (&X})anM,|U_Qj iCJbiˊ'{a1VtƑゼSgm9+=Sطfѝըk"Op*塬/V';Q\Դ莻r.ۥ"x|3{Ȗpy8? Hr?-FWm5Ol9r`bCƭ4yV"vo%m:u,4ok{A4SeA[iA~;D g½N=7]CfT\]E1ݻ7(&԰b9`{D?n ,]d"8aP{;:_ŀ:3Ql鳑 OY4tD=cx=>CXGxhq?Η\%:3Tf@bΑXQņ 检8$ʿVqmy1vTf1l4)1f#tB@䦈A̫3bmկd^53W,F.ruơ\>M(G4k7S:;0a] ݺp0:a`16Ukf^-Qͩ?"#-޼8br3A47f@ߣ* %F 4pf_L L ϬZVF+SaJptK^)' 8MPz/`iYC9wXʹ /|R0׼@'C e67Bx7krb,.+zOv + %cs ˨,EM8 P oJѸi )Wn+y$SYj\7U+ӚtƬ 8X WFc̰_$Nb(u1Ň kG15C/" Hc5 LQ"!ң@V:cm\BLj9 KMl5[̄ L|ܖkwEO jMp)'1od7G3taS~N%֒Wr*/dQ̋$+ lۭۺcLFq`_2wiӕ0;\0@eqZsβ8rY~TY .Fr<Mk[ܤxk-urJW 5h4:Xk˖7DO?T'7GfeuUKq t'GHz|Zwާ//3Rnct"U 1 :9" 7^zRF&Ml`}Otqc=O9pW'2C7 Q. OSqy'x%mpbaďQf*g4QmhqUP,Pa{-ξoB])4`H/ֈpS݄)^.V(_;RD}oq2(4;=U2Zl囈K'YtG xcdKكz{glfm;zU$nH<y~&}D,N#eD=`3밼hH=݀2` z-ПO2wWJw!,Y1y&bk 4 D,}?pc+f>$JT,+JFQ&lɎB*5 w  awR$59C8QX3h*F~~7ȳ9&4C^]Wc+IC&eqpe? ΗoD.+8}Kqh}1QV{hqӷg?]mX-R߁4c)YV6xdAJwݙ_[X5 bb?*f;H-YbdL\hHV 1骉qx\G1嗤ډ@8r u1b i()A&ZA?#/1nPh0K-b75[x!QpwVd"F<lRe†;?pESDL-R%CQJ-d(LIu(p7rZG"R Ц/b߶<Ͼ֎~=4Rɞz xi6e+R{'GPHq2:No*s5T IWl l@=I EQu^G y:%Տ//9ĭO5:>b,U@`TTO}.1&v^2*E+Edna@LK!WD$L?j.[@Pu4wc)}E8 Ԃ.>*X||tNCꕱpDXv 80`fN qe4&O0 ,qFO+ln<}w%.0CLGK\7M|H _\5&78C:q}Pgt8c9٢zvq:[7?߶ZXTS!tѦZ!LXz:ŕXSJMVY>'pņݤ]w.\Y'Oii\4\l "16kd]vM|WCo@c.MdO~?. `yݩU 49<4#L#VC$9\fn;d37s5痠EWL%3"q3X)yAJDu/&&JjZ!ZD9d b/y,Pf:?bFQsɇ; ߻sXU Yn$؛ ].H" G'(;<:sG)ГrVdNyYI_rd,.Ј<QـCe@'M#(s7dp0g 2XxIB\vh;8.a9Zz03צkr1 d@C?NAy*bzo+q)/]z~e;(f=8{I4JCVP!B"ńX|a]d'vR7L-WϏ H>ƂCI~m?0e9j)-rO^E[68 S,튞P_RF&ʞEj-{ `F#R=~6RpyӤf Mxm.N+G :+qsӢ F07Bn6-\a;>[?F!9|KaːY\ `fݠȐU`Z2JVk MogVf_Ubd?xX ^xY\'^/+]_uSq%Kn[Xe K<}H:k;$gX]DI)hj /Wm"Ht3EE@\xPnB|UvZqM^k3KU/eܦrq @=F9>6=/hO&d5选kUN7,[rEܮɦGMNvgroՐåUYsgE`W<8>Il`|߆_2T;tY7G>S&-#E%nY*&b [wq0Ƞ*)F9*/)87H]Y7nlҖ\oʨԱZUހ dh,y=XE_ ! #f~f,`qZ ?:D{Amx{Yjԋڄ fZx#4!RP.G1Z5m$m'2ijڃw3H y~mV&sOő>#I14ٮSRmoZ@WT#.rT~k'M?$ྩ=/=ՐdoXGHTڈwHdvlyѽ*QS0-k*.Ffg+`|4R!4TL:NyNsO\r{a (VzeEŖ :Za/1dkӏ@̖%ccgn^Vu.Tm+$8T?O?g1 {fLof{H8m߀eE^luQkciaB } .%!:ASYg=iDⱪx 8ȆJqffu Ɯr'c3lJ^ZG`"ׇ&2ˑY}[ج:p4 Y=&Z.."P[7s! Fb &Rߋ#ʎfϿ~Ώ$e\z=U,,AD #||;}XtfV"ZYV{IB$1)ppEV\SpqD7O29eORoOBD n̫Z글UM.CP^!Ǒc| =Aƃ\?NMGyOLcdn/Igں&oԣ7QИw#H-G ][|(q gr"5&:> k$/9)>B0O ~r3.U#|ZjRZ4+KcD@^'Vъ3Ǔth?$bUfBmf~s e:LT2H(ކOiOSbj!ƈXSˊl冱\&ckh z{41:vct*T!g!Pb+f"}ϫ*77_y61""R#[ḂLJ$#PM$f4JւEzLvE8i7fA4-K;S#&05xǗa"]%l@$r< )}} 4r% /5K3J$S^需2T@¥?φ>3r@ M iWK. "]u& ֫9*CUKYG+s1䏘t I.g|%xHL IoVflҢަn }Hx (m,W=N Mu}̈́.['• H3c8tȂ>qy_7KdH5Ym5iMQK[A.'Cz\츚COz_,A}Km5?6~p=W GעeymfH-cJ*4 bTf/S,!yu(۲擤p%}Zd|z!>|> oG0T&= Gu-K̬u~7})5iJduKf-')_[ͪ`2LBS`f2|0z|A|=|^>S h 'HwX4Ń/oq !7P`eB?$EWj^%Bi`YTӢv!-^ZdX A<=E+h+%C Cܶ:*SV7tǩpu.ԗ= " F+a+DX@鿿5Gv<JV#qUytzF9'q;fza;GuyXN@#4W4ZlgԺdۦkG2~Z7Y16Y&b^*g={PIi3{>Ǧ8CqC>1ߵUL>;J)@;R4="G"Xcz}d2`:X*(xe5$Ef[ft_"3yΛnlW[=&.p9th֭x\Ş9bYi678ak אגYT $SF~7ة)U?.v8 pC E9RuKql44גcI5Dw5%!$OU!BFk0b xsX+y(ϯھ-$~2R'15P:jSF _^P<]]u-̎`1'e>_kJLgz4 y+E6z2Ǵ@wܥrQG#|[+rw!@{@l-GnD)dF2rv+Q \J,;'7vlnv4#`1=-bEZ۵M%*&W-#_'JY;Ù251 ř o7?Kz}adGMew6?, ` i ugRt񡌝onfuL%zC!h]6R<&ςV ڴ _fu76R8,ɔ7ڡ]"̝F=tnhka-fO1)5H˱@GDl{ׁƦѳUԔrW=nZiR-|n8,@2ڢ|8>R᧳61ܾw6+@t8ﻝN%/wsC&?L_p[M#,GS(3L~NS:J's5ƏٱJ4Gw9We6x79+լMCl ͷ r'P Kg?\EQ*zp0IǛ0߉;$4LC>HcZG_tK;tDV( K09k(Q4™oq%j?W*55 Qsgu./Y8ZŘ88s h_RIM#ŻwO$sq0*3h)fPC6ۿD[2't/Q޹8#HM_ H_% ,LB-.ȧ'x][;zBs3u־Z$t7ߜQ֭CXZ0/g !P$XP5B.Sso $F2LJVX|oÇRtG>4@˷i=/J&}J(%cwx|Y|g`3N@P5y>cF3x5Wo<$hB8(-6UJco( E!:KӽnѲWgCϊ&Mix{51G,':4𡞲ՐlFEv:BcꭔdgJb XnلO0!5 1~x ?vGWw8~AdvbdxX-0'z?#ܬufHYlD;荾Z5{HH R)|o۲s]|6 'jK(`oZ.bsL6HGu.vtRqBX=Hg3 4D2vr5!3>y^O.Niل[;jNTUT^z&:98KA6p1gxg !mm2a@c:?S+T%yDS;Jb~zkMRt|攵Bw\B) [{psP{~ξτL\ ˭BA1+V<*؁$%,:ϺM&ti(9m;砍>a{ T7A!!t#0x(wBH"}f(6m2gԡn:5A0ۓߩq־.%^M(؍9L9rnə _Pu-޴ ͒R|O7B~p4Ï]Ri$x*5MzlOqW?y [$iRp!.'Iz=(9 /J~r ҳ*C^BK .T Ɣ+\9)Aa祼*?x̄7+oX)gƪthhW!;׿[Zi`aE>惎]Ju+^I)Yhi1*m~&jOk>ɥ ++&LiEX $hܰ7^<[)9]aZl`ϫ WUL:qmy}KOU`"us BgzЉ--E4w OvTz{'+ e:ITP4'RlS\VTU9"1N]d_;@=a^a7oZhG5 N|3[ng7mBNof[ǎ47m䝥^%Cf88@eK@r 54KL?etj=9K up,D`Y}*eXK^J܂ m4څJS) Șm= jL Re&BĴ6ytm t@h`uF Ju5RЊ3(c}`#aHqJɲ7MZYW]r1kq5JĀO lJ R2{@)\2hb<נ&op-K5o0fГSKƎvO"YffN:9{sKC+[tWi3T7o:ni<Hpi=^rsz`>J՜='j5 >nk2i9LˢƟc5xݣ'_:4d5YʏsX2qG &{~%xTZl%#LRTTX/(DKo\_o-y^XRG1Sn;}YOHpGJUC@*uK%j)e>ʛЧG #*ݚHJ ;#ZUyyLXpzHЍWH_l?]hOMay |Mrl](\64cB3?'0{d0r+Y#zRд8[.VKp<0JYT@$<$KH7j&C7V%NJooa6'~vat3f>cN@2AmR$A{J6E7y~VEmn0r0T.JT! E5Bت'V 7z,_M>tܩfzl'a݋*4F>z^BN J= Z[eþ_T&O "OjXAvX&CXtcyz¾޸U@f w2aI'5??͡1Ĵ)8-vU`|EX5^Y:o5* ]xK?QZRnMlє;}|a*S.Yn:;jI@_+>dו.4._AIpx4Xԋy#ljca4gqX;'S@ iG=\I'l[e9aA]aάz/]0t9-~e_?rcQ_9u-WVEu\&DrDA犐;Yn-eWn`\8~~AVu|Sߠ,vqP^,CZ4#%=f\J^5"~;nzkï.\Pݛ}VP4r7θ[٠{0:{0Ȕi屬27&eqakcN9?o #/|E9!=*F04,y>\/P%0tc |&GP%X/yr7RW!alSށ' #΋T"U͒j=V)v[ʠ4P̸[N6fuI !}W6g4]xH%sn>LZ\}udDmIYFѣMv_ZHo҃ <]h@zFc-r㒙Qv3,'&$jZv*怮5ӞJ m~ b7,8PU!xLG> BǨa$N1ru{m,-U8C)x?݀ gW5WPAN5{++yC1e@g>8h Ӵ|MSNFKOMk}nȌߠ4tiYZU*J!=ޑEdxVThW4qɵT]p2mZ^'Rx7JΑ 8w֏ 4;,<eKS;wL!`j-8g6-%=/,rK=glr0f3*|%Sߺz\z;O ry3RS+c>zdO1Lf>UBPv+Jo=.,u퍭7RywWށjoLA.0"'#T6,HWNa>dX~ 'FNCx7A0aoo383J.gֲ$ 9̡88kD-h4 :ޱq:,E6-uc h^į\ec"LB v1 ̕]ƶt/qE; - &r>{<04b2v~噔fx&h=y]/ڗYJ 2>wV&o5u{eM)"O!o3Kꍧ6iɃy+ҳLgm~^sֶɽl]=|`*9ztsi! ?3/38J x;$J& 87TTl%\nHB+|ϛkr&"icdiQ2 !21M ˀo;ꙙ+Srbܝ^md:a'a>d-nP`9b1}x'}"U_N.2r@"ّ -VPhO:,k\BRu.;xĜ+pPC B\qY??,4:95 ŎhcQ 4X"( r Ax1sLT9Ӟ ` j* beRR˿'wX));tWhvڸ;s{60J5Cz[/>ZA.r.57C[ky4z*[|6g: L\KTT7M믫oYy9^ogm"rǨ{D&Oj] P5@Ҝ?d!Hhwjz)%\4i!" ;mK%G4CbaԾ;ݽ $Ad8x/jG=[)OMb؎;UQ3^,U> e? Y4˰grmNAQCyߟ}'Tb^cj 98H \fU qv[Ξ JbT)%0FJM{uy&K/'t~[cˮc.s`-)/7ȾVlp~$뵺Dǿȁ՜yrQQzQ]'lc1[JfєTНd}( S+2ax2 yYR3CD6L&q#1 Vo  |X C.h m8 G<2Zw;ߠpӡ}^`v/ ],:oÒqB<9K>":PD{lRo0Fݒv+_̀ư1NrpcgQ'틂gxՑAZP]@XM~\`jbjb8;a~=03O?)XHwPgd]if(MP&nyEibSag` IY8wڸJ |D `No=I[fۙJbP&Y5!?zyewf3=r869"Ro!USiՋ;S3PΦLLï"+Hpi濍%t" X9WPۦ5oZI;UB-k)d̯%Є=J>->D~Š!Aa#|rR{guӰ&;.aMiHƁCýܚ9¸ƫhc 0A13;>B@,1!'BЧ s> 42~ IװR02TΨSl$ڥʼ#MܖsKFpѮ#A1bȩ0ΆEwHurlǞG w uc!-fv]BcI*KNmJ&E5'.8?$YÍbMlyv8ˠ*ʀ([H}+0H:t,2ӭK9;mUl̰m5%8-@Da-U/6 ib " x(y$׬ J8 :F~SOws0isYǬG>vTi9cX^5;(\eRi(;U ;.b7F:h<O&w"HqbL+KU qzYe'C{JIҙDKng2R2ci2küKo -{/JN~z6dP P-m~??QP^L$~H gB|g1#G!Fk)@q'l9GjaKa\HF еܶq_tBJ!~S'F!ﭮl}XoEXVؖ/<䉮l7-est}ax ݾ]kpcWAQOHF]9r%% N[LjG'`D:v~Y]|8~dڮ@`nƅW׾nA(.Hl^49a" wo"[#*Y%u@Y~gDՔ|,&shBM<<':W$ͲVCSp#V'#ݍfk 0eYnwlRcG:U.i=@ʸtmPk3#,JE 3 sܰ1Me8r?Sg6=8 gȍ#{ ~P dL͚k?!ۍp?RP"!ZRC4jtGOE@g=G x&2,$DEExpt#4I^ޝr9fzލj/YhSg68 .MNZkk߳ja }Ԓn6W7H7+f }mp:݂rF輫>]K ~s?-}M\w%s xX7[ A6k15"L2:n+r^W.PLJ{@VHMC-^"ϊ%=EUk Ub`y"3\1/ֳ֎ρ\_hDW:znQQ.6W巟\CȮ>4,uoVguJ+_H{DFoڤF&X޽(2&sǫ"zEYE|49w[aYYB?[Nw#<-Ы <) EYmdO6rioԇ,nA&l&ԕmk>AjE$sDXBfv4< hYtm1D<*&p+}uY!0z4sڧDty3oJǣ7No[.GHxT- j"YE f&Mx'zz;$4ezBزD 21` Eՠ"'erTtye²3*0}B+r04<nq6lFɝP6D 7iy0P~I"Ywi:g{2j\nowrkB1-/L \w¿pBX%H&p-/x;CVSdyf:4(v~ooȪI$!I;ti}'6"6"0VJV*Mw0GK?V͗Y?܄kA-Il\{57}rNry7&&iSyV"M:a5&e,Gюc;Q.c0~.Z2sָWw3F*rcChvLT#h4k[\ >s*qpgCPJ;8fY eRsOǫuA7 P0-:zEJ3"TY!D 9!aZHmp*\#]憭p p6WxU).o;RndG8wc]AAW,%BA} 5N3mr-Be8;Ҏ"Tn# L鎝Wae\ìۑs [Ka?8AǽN^X1.}6f-5:n|~E z~J4łMw @YUqSqKƊ$Ȱ'@(ĀUr&i򝜬ڒX5k2~QU-$)pعrs@1BR)'ļʘݍ_#jzYrUT\܄C?,,&\^AIu,)]Ai3"`ppME(u Pġy8VU+EmC2o~,@`p vFz:fF6FrCAh/7&cVkQO`?I/Xnd^xG=і^b$/u=/ >2SA1M*dQ7.BGk&Q|]*|YPZoMⅫ2[@%Qhi;xBDR It{}ziA?Ciɉdh-pf]6H{n4KħfH\G^ )[=܄4t`GR 8Txj#z 7+i%!dԤooPs!9PU~(/ aSk " {H ȣ&9:f{$ B&ưԄV5:.Ծ3\O\W~aVk'Y mζt@HX4HsH: uUH iQ)9XZH7&+f-0^+fFNY'. Mt;*.(cc{.҂Ÿle~9nzܸ<=2}>>X'y8tfČtU5daFrb|2^`Z3췮焂 G9TaK:^R4k}"Ba_ԸW9L.Ğ"/ cE/ N`F]#Z=|B%PяV m[7ziA8p$c*oa`M"&$_jbtwz#QOCzw}.B5)1l:*P9b!9XSZi*UUMw4;_ &nOCKTkPA"Ej&VߕuqCGjC>vSQjRz[;fp<ekUN7 i93,ЭO UllBn⦏hϻ5=gmΡ263X" @.dUq:S ·>^L[O~ ܝ>AX<9 ڞpȞz])zB1,>BKi{j\DUI?5X`FӾq:ZNv2_f,uO#Q7*54a[2KP3BC%\#x} 6V7`{.aZaN3 y CY@.&kn~Jq|m -& Fl A(AН(n#24%ȶ.Fn-ݷw֥LNOA+7ӧ?F58\~Q3{h beZ26,UOVEԆN#%3V9ߙ]>Lo]F䢵j>)XCp|@j6Zw+S"6L &ʎQrslM\9 UTRP](xW+@ W$s>V/u'#d)=k bS,(J ,72F쑑|6~[&#?5z0c*B9,Dyર\ Sf^[$g4.ӞT)R*uZv76),kߙđ1A1i߿\݅y.X!N*,$Kw42뺝5mC8>vǠѻ ٯXȨzo,5B>OmzIv#ٳz^KSVvltc'<9&tXp'qcnXL5jD( .(n &j (:W8dOrp39e<'?3aqZ4BW| 穐 CcdbH.+{S0h]V;A]T)(yn5dՓgs}g]2ō6ߴH97)Af뇩 2UG ?ŵԩB$:|ɑ$iT] 7i|?4NI,InI"7#~Y:kɹj* xPߏyGe2Uc_#sg\ t/Pl׼.9ʿE-iu*mҺ3[.(p s(aƲ 'gwfڻ'G"0`CFp=})u!*3+i no'wR]2 /mݒtFf7hcnbB!yGspΣ7AǻAGlJ]%ЌT4$vn./O\]Aqh NV⫁47VaS/M]d?=+9^Al G,G yro Me4FK (N7{#9L!C0f\1LA膈]!uZYߐ>B1Xw T~d 4}MM5eLq~㴘r'SjzsR#-HʛsE}JfbQ e={THÅ#ۅ[Փ !gƻC SL6`\#$ZƉ~-222/PֈL&nN@&@5Mbgw.Fb| gx Pg|y ķzZIVxt{}Qh|1Wo^"d$gz6l-M:8KS14kZ ŒXa]#A3 kfyp$CcA]oRʗ>oW2ton5 FT}BITߐRrϙDaB۩mp< G h{Y2_p;rr xUPSϋ+嗮%؝#-[r"ַt/U1y "IAe ͽy2"'N;[XnCI2k!%5틛b}x2<$P82\Qtzzw S)⿠aI)i!{D򅄡#-@Sˠ>9xD,`qƀ0?&ydtMGrPj2ɃcTJCSZA8Cpӛ RX@iZPDs%[6zAӻ.A#<(գUTR i9]Yb#K4x1X_Bi"s1TI5ly`Yl*;٢Yװta/d "L[NVyz8)FͰm|:Yd\a) |ǸC,CҠr%<+ Նo2\'۲WkD9[kõteKcVmД9UDKJl+<1zs<=Eaoi7 ߂G8:"R.y_5+4-{:bak:.|-cKje JtۍiaXK܆m[A{ kVKli;z a3Kڅu" ԫnĉ>7wR [ v|d6 w{P)Cxkf]e B!f"쬯M>4߁,"CW} Kο3`1c㣰?D@X&Qð !}v7Q60f~]CӰZ0n?fFV]-q*W$%[0/~߇0uBH* O3q?蒾IT*L%a < m&YZwu4cA%9l@ wiٽIaKv QYm@)lW,ip~jI .P1(M|W҉?YZݯ8quF!e4fu<&{D py`$ZN9<M)b n=l7"vh7a~ʂ޶Z7:& &~ix[`'P0їTE}ibj4R+CUԾ$ȲЩ]OG(|rԏ}V۾B2) `Lr?9jy8)TH9X]CU!j;>&`6I<;o V:ec+(ڕRt|z`?&hDh4s@M+vZuUO0sa2 Yu}t޹9- LY(e;~`nۀ+D3;M͗dmTeP xZߜr[gμ tw;-c4[CsA-[Oě׾!p4v’+XP9Tvٹ~O8'S9K7I{P36FР=6Gn$M[9w{mBBWJ qqSR+}^yǍa3օQ#+#'LiO, YHk߷q:d z7FAv2A* K9 pVq9\T-GQH*4UccQ{d.S,-ep{c3TE3̏uEi.K$΀ϊ͓CuM-lF٘./C4pڅX005@'WWM;/UwvEUUaumo_4كg)'wAYw0:cCO3=&zZX.QsEdx[yN9MP^L3~埯J&7feD th ɤ:t\[M$$BmӅP2Fx_4j֢l!Q>,c*V/Q8 dy)@-9 rU㩃7 }{x~w/S`Nf$mR7꧍ǒPK zurkŪ7UA} Mj/X(dTzdsYp6Gҏg/BGP09沓V[ٗU9r3jFW$(ctLl$l ny$nY"<ϵ#_/KDw'']ޜ-jӯK_0p2Fﲚ=콬j 3x$;Hoz+? g@7JI@9*S>4[n@wj㾳Ĕ6e*y53q 7[DB&FP0 fIV4)2Z/+Y?1Δ-r D׌@3KbbbA!0F>D,hOΧ<*QJ8b4q=Gmט8W*\E<_Umݗz~HCQ<#BP4:?)kJD<BkY|; CZz: {0 lqh domRfZ=`?:,TU$U\4hwo=crm{p{=Y)޸6E$cX _ud'L"rЛYiLWz|4cň6N8 dQշG*pV}{,RApfWNMhbWӻLoZAfa1,ʉV^mlX4gVUa9 ?`vmZRom$,` UbTPǸ6w#O[PԕsZ"j]}M Wy2ƕbCRsJ끮hPZEШuBk ;d㝤?uNHJ,ޅNX>`Ht)^縸Y{°@p&+~BJT9goq}(_=嬹aAMNIgGn9ͦm=4{]줶U.M#^!@^EqPN#^٘̆5BC:oH hF`30Gk^gPS<]ULXyZؑVoCLS;%z_׾o4{y}_%r7pZ>{;oyv2P*GN64Aǎ4/Uc 9f:gwx`kA"!\߰a W{tas:c%FE 9;p ߫1zRy@a'}T _.(X,M)% r.S5=RiYcһvzi0QX?bz!>qs@DeH+KIfk|<70q-{ QgUbjXpz C6=!"'ϡ&%:IH Mw=9(vlѕ!bGQ޴Ak % bվ:֞xCrQw*]2<źǟ&jZrHlI=֒4qꋙbnwe ^Կ񡹧Rp@3N??o"8#Amyt3jBZSB`>-0ƭU Y c⻎8ɐ3ԺT4+D>˰"M d;g]#:75;$Ͽ]٭V'=$Lh2a;Hom&^rPWx/&)SK:x%Ө&ACfS6Q$YV-:b̥ϠM྽]EYs|aPGoN+Bpq^MӸy^Td; `d-eHrKt8Pd%t}(5(~i ]$iNh"ƝIO-mN A95$hNZrF|S:1Wk}̠a:w ۹R[cmО7oLH }{# j:_a0ꆎcZjas¡ydP˰^%-ػY-,c ZrR%rW61s'[m抰Ca?6;Bv:U7 4F!O7AJtXB؈\,☌"U1Dlgψe+νn% XP4v_ '0 cwQJOvC͗u"ke49Lvh'ظ Zb3I(LK|%@DBIH EN{nWS5EQɏh'6h&b<á,,? *TeYBGK(Y4Se{^+i7@) lq8W5!ރY(yy >:5$lDo ?H0ff5˛|nu8F""6tKc :^e-Φ:\+p+lKtE{?_emKBO0+Eё"eRM𪻍R3$RUw6ɞ q/퀞SKձc7Urk.&MǦ-orX% pv*(7M 4̥2Ģ"ty!ļ 7YUG f @Xy%d<>$#_*r8UU b\epo m 'I*RtG^m}Ƙ#IDK<&ˍv]PQ{|;iF [As_?&go]>>miPW46hq<14:`yBf3M.+v3(Mp}gz qn+Y{}/){BgObwgdRۀ,(܉D0ɥb;і5)@Uy )hNΦR#:Hm8S?oapqvʏz(db ǫDף'Gkx:P 9ENA`SΜTParN JV *:͠/)cF8V}N( ABĻ4ݼr#֢QOb^}fyZW7zJdQ^#kz{\L@0F+,vC4^7Z)ҮĨBB^bgd`jӬ~`/A:t[7k"  m1L qL8w+әR|- PV_c%ܭ 2J^>s #cL $nQw|D+^.WmHj4CϤ珉z s6hLN6W@/꺸 3>A#܆{'zY옃HM~d+X ([g*!;fmKjLGsPLsP"*kQYV m{QM1TN8T' #ӥxH$V[$ou=Kօ'4d^47ېIhҢlJzv7IN~;ud4i,4β5# u}*QǬh凌iw{EZs>N0 V\JQ&a 1 D1*fk5~@)[)R, uVȁr5F c MyuUy1=t]jEitG߬߉UJym!k-w$~h6]Xt>FKWNI\}X^k*(iƲ݅- @`a 39ahHU|KM1 vLvbR.ߢ1y''oHF t+Iњdfvi NӵD --akTtiBo"~~ r>ѬbplH<>rՔ,USJc2,"xToOmhl]56Ddj#-᜝FpT4mL\(b}]Lŗ#16RP3_ÅP0t]aع::_ l yc5Q/˲fYj4[[fԘQ|L~ j&:J&Iò݋'zY.lkıǩaEїWR/s$1@Vf n[u%aaF URYL˚I KN`U wKmOF<ɣNɌٿ 4isŊO[֨R`)-Gw`)tͲ^v1I!,RgVϥFeź%|x*tР4xQ⌸.vdk8[hiaabFLx>WI[Պ,0E!P܎lymw'lB 31$jxGD HOٯ+T^XҩI<  BPUw)h9wU۾;/.lU@ Omj_eB|Z IӑNu30~Z k->"~qq4#s{AKÎ%z6BTǶw\w4lXK;,D:|tnńU ̏>Cʂj*tp*<4>KbyZhk8Zǟm0fbVQG>NA֕tIzow.Eۆ]AF*Jig @},11rry&kDt%dgV&W|ӓ"zfR)Inʚ)cj5cºn)$ tU0phΏvtzHș}Ę.0OLc/ʚ7]LAtS3J߷-k0 nؾ8 .˻_1ɍl<)xQ{{9o9~Cl3pv51lN]d+&R]ME^#1Q<# {?Y yޮXmŮVm3=/\WBp=V=|1f9H;o]"f՞P$|Tِ*wG5$qlqϾtm/-0p :\(~~*m35qSwl=Q rRi{Z٤s1*,Q)›ĜP Ka׸7!mչZ ,BQFvxJ\~@9 7},tE?7]6ԱFeJLC*pre}P9ӈ;R!i-nb=X@d]& P!_ڵ6?<%נ̘ڻQ/DE%Rhװ&)V,>`,ݮ›eP!ԼҶyKޮl/oz'O5%aJ%x9isf8O04+,#۪Zxz-dؑ􈗘jd;w{I$po`Ų~iI9ktnXvew~y֣<%Y Pǹ2?x]WEau|J0,[:4}Ngm5~\6%w5GG,TG(BTUeL\coգڶZh~8gu˵Bw7"v S|CHacnܣ|Ҭ/.VO*X6n9kǟ34;|M3{Wu5qۮڕj˻6&b6ǫFo^| VݓJhc1Ns,O>m;@z{L밺|lcY mB/]h9-9}]_$@ޱЬ Wj-%ETP+ĶN$pPzu!50 wMQ>~3g_*No֦K{DɩK{j,o}mJo %es9~t4 8ve@6zv溵vv|Mo>4V W>9,!vN<5n5ўnWO2>O_/`2?vЖ_\Wn3lB?:Þ  1G]5Ӥ[ E|W,\}aEgFIHM2o [+Cwyg9lA bt^vd& 'v,L-V+Vzےj""ƹU'0HG mXS몣6\RosIi(zb良7QΥK+c<Cߘ/_->r*_6C^w8dZ{?{2G8M !Tΰ|܁&Z})*nvWI3t1}Cz.R?miˮDY R2P-DCgƞ%6'8`:-' zZ Q$/}>uj7`hDϗ-7o@xJ/LAYYImj\^6.pnFOZeX[y'gfR'H|We|eMzUَ1)R BnUXѠI}~*ع8'z$}' =0'Ue+({Yq )z$jNtM#m;PmdO+:fmO>.&Lε{FSz 4^]u"r"ڶlv7^M9U)AC_GAXtAbx߹fvW3&\\ 47|S`ʚz ,4%b}_}H乨irxIF:v bڦs֕U"YR Ȏ;d^~M2qǿ4Xp+I*SZ CUYtZf'GFH_Qd4*`c^+c!F|q&Jdž -N"%ݱ,PJ(B]#%ռCwQˮ瘠>5H˸FkOEIs-9AfVBעQp_}kQd5Q@eVKa#Q5}JSJ,;f"@<d9#f͡3I/p;pLGOggσ=÷#do?Msw۸EB tD@&fNh O``z~nA.h:V#{ZjswنFL xG{ԏN?%Z[pl$H!2zŏ(ܓ>"HXceᵈ 7+~_tH}`'X*ua'Nc%#85̻xcmW4nfM;W/z<'HŲexc8 jGSDkwRXHݔݹG$J g "O]HB;}37D[ўibkU%;̛N%tN$ 壄 ćSp F˴P }srvZ4LbԆ7*yob)zIq4`!5:[s\h-Moq4bo?{ރb4[1\Y4b2p̔IW2<0M#fī>N2+8:g>, Ƕ aID<9q%O' 6+V3NSiI)q|"ѯbIkߥN=^(yKYMyLZzc^3^/ _yʑ HNKwM9t"g4J74/7V7UCnJ Rʶco,ѿgΕڢђ4ms 56=qvcif|!*]m|HvȡcC3,N/ze$,tTMS~TU4%|;YVSXW`,1lF{oFG+d2L3=%`^*a/~ߖASL661 U"m,]tMsjttī`u34&T]f&lv$u*vBRCQݗ" ӎvib(uEPdӻ`&T =[w8#pAz{:@߷ÀG7d͂'3ĩI ;v7L?#QN;0 ~?P :[/J3UME:*bv=h[ɱ 8 Oq ++n[2DZ4en5j"gU*UUx.|9Y m@e6Ca]:{*%964d(y#Ϻ{0VL-ܷt`pY]kDJ%ͻLYlz:HC|E@vîâ~?<窈vDn: N5fX,-R59k>GS]e~ ]>t\wr‘vEҼsZHP|[;ǐBJ1YtfRI)r1JB89]ʱchpg->5c=P_2m>)lBtojqpC%ed Q87.:/y>e"opbgRǡfO&:TNk H E߄H9>|H`R P0t 2x?cfŶQDh*@}`=,XBS"V&N9rqkL&PC\ 9`nZj4N8eI6efmW? fTA7 (>D22Jls@p"6%*j84;3)"<^qT kF&UŊB+I>ıi= + mW*1; ?[q]rv~a()v:Jrf 7ZH~ [)a%u[XWM) ,~dzBKBϱ)?:)$ҍ Vdǐ24O6s6%hbEE#Vr>+فPەydcmIE ܗBEh.eK:΢eԖxJR-Es\!x~0;P^X/3Uyb_(j"^|Cӯ4P .bnbAXYܷ[/`9R5v/0ѸpQW~++Va!!b$1\r>_ⷙnoe y1茊 HhS$AE!̧E;Tg \n*(i 3є^27W.m|i0LY0oz1.o4N0GrRr6Ͱvua]똾7P=PBѾ Wū).$7L5XvRb*S vA~֊7Lw*LML\ua4v"O.cSȉ=:[z+#fixUjrSZEt= ߙs VzR)7q {ʉU/%qt[E^q ]k 7wjpulE5<651)?HfB3N`r9ǐ @F&{& Hz eXc:4|P[W4vKirji>BF(-QK^q<(1XGb T$Wn@B7Iɢ3"?XsɲEyV|`B Jo2 B=ֲyxRVTsA(-`8j ,Tb][ xCd?U&͉0̈14'u]dJUZHbe PYV//tn"#*Vl&|Bd0tUCķɒ0&%(}kȺiy]+z1Ls@98Q^2/ smnN¤gYNM~h J`:jY\6e ADI˯Wʨ'MC@OpAV u>@GǾ;U0V:{>ھN斚ߤ=lն'[t :U3^7/ŪD,ߍ5J쳅_x7XyN]w_ 5A[KpDW6@lcQB]ַt:)3J!܂yqWU1aR,E.*NlD4kO'e2ގ. X/sfJϐD1nȘ3mo #Z`]oX*fmt lc=c0% l le*`?E!x:f]eCك|&봩N0lj'%I&F96O,3-n}v̰/[)UD٧ Rp8%"Bi&6OPDF1e72 tGp8|8?!=J4{9j\LCyeOzυҳuPuh).kIG'FbҒ a$wVCsMr@l&6Qo0 >Ut`:S7}t#x3})%jTL2) 9Ѷl{H,{c1ː)TJ'0nFJ<Ք)*b9R;I9bTӶm֥;1\sRXgovNZ/ ~GL3ҶОۿFf|݊Nkp(D q^&8- -1*g#,D00m\;bbɤSgG B* WWkfm8LQE6B!M 7גZ$j%qҰjHI|\rt.E4Jg*{ ^F'FRpaxDddi:;t"ŋ%tJ]GG W=Փ#G Y~&hg.*Z&Ƴ9bŰukM>r;_ hʦC(,I1>3+)Mm9\E !H>\pr\I٭B(̔bEvר k^q/o'(ց3PE>J@)&m׎s:l=,Fzڴzc2~-h1,&cxчBi e$awcoWu`:u"a!k1A#G#Qhe5ZӔ}"w_ORnoZ0CB@"bUc"b-?(q|ݘ!D7Sr?6ϧ'5u6M:oeyKt_Gg1-ljÖ*`dB9/bLm8D $* 3A'iF'|5Q*48ɰO8[_#|;W>YMo]HɰGorxRH"8Fw~ ~ Nû+VfWhVN d2URm`KZ_\3-}ȕµj벨ZEhi)KZ $ yTխ@' !S/)%[xr&aEȌ Ԭ[n: y '~%Ss#Wvy|yXtι*ͽk\OBixѺ||Z/;0 0ңsjW\0I [3 z`{M1b3uím$JStYs۴?͇+eMN*KVWc9 g>2)Q* یO a{Yݴ-!@@AQk Kg.SR wz;f+kpy<6ĕ%GS 7ҙxKm:ز!^a8$$zկz`jA+i ޿?ѭ6^7 Ҡ@E@o8!p|ʡ L&do;SCU*aNz,/NIg"rpX""/* 1zT:SkXcgͺf%xtW3x`#z7,};$qr׺ ]yA/Z?D bB[=1y2ApnTP YVaKsڤt^CK׬8j}ےl`4g:C Ic[]:E>6moteͲ '/Q}z!y+mo95FP?4])~=@C?Wod(2pX- cE%2(9%2|*ԟՁ j1͵>é&R 4~+R%dzT< s,p-9;1b{#:Ѓmœj?_BUnt;4Rә8G6.?k2UC' Y(2iA-dSؤ,F}6&[eYäS ƴN*97r5HK6 ʊ ^SJ 4K Dx#CQMaY+,!k5?B봋NHo"#=Ek3}-!: %;i$K): ځƫ>=E~0!f҈lX YĹjէF]$} ;< 7ҿlO ~=rp*z?>ZW:#c͹/`RA)2eFcs_bYzY%Z z[3Up'Q1rN*Sޅ ?3W638/6 h1~ O~$BaӺ}A9c>ɼP4,+'ݴ񄁲yj|:"$:nBvˋ>Dk}8VuG.I #pVwN/?Wj!pm(VF p<Q5 F~É'rT&*UyJZ\+Gu4Dq*]d(=hcYwލǂMf/}6L]\4ZrL\nyH36;WFiQ(ˌ DrbLvs6Vjn[ IO&O1}p6Q[YYܬq2ăq2OTը[*B e{keD~2ͮ.;^,!d%=R;F2|,}Y<}nN?p[޼\TEAT&E؟& JGƇ7R0Zo?ASKyꐂ/iV_3:2ǹ=X6@T 6uuwDm RFo#C_evrfi1 XԟlofouyV־0釿; K'a<(oKvfp ~ ͐3;G#v \+:)<@MX Ʊ~r']^53KV-Oy%Gs;(<12ZkW28)=mi<(_?!g 5ƗvfsF7U­`558 >C)^ی~Qc1҇O;*|˫EnElyFd {l,ۑԐ3qsCب#Pԟ冣|0d {^^vED1_ s6Ő}C9&Qqr[,;wXA-7kD:"˦舻)*S:ך/Xh0WLb//ͷՏ>$P$.D$vfoRQ-(dP":!JQl"hFΗ,D^^X3kYXHP{&4)^y{_|O0e !%m`̀699ROq_&N?C*/?5#_!f n餯G"q"֓ڏxyڢ.!6^O~e!hV5lP2tכ{򜻣))9Ll+E 0i[#Ѐd7Wo%G?)nBP&6aU]\k$\OɔrJC5 meF0_l "G̩r7Lm4N ɑ@`@v{(uAo1[Tx"Iuel"uqLzRhݞB7рVoUHPx_ަw߈KtT9 orvJnU= HTvmB mK;[]@[E}xԖa:Z]hxZ*î1 GTY]Jrل;T9$Čb^Q_:5=\0JլW pyyĹa@yK)!GWwάE:5ncWtGh.oNPMIj Euf\őUw5L(Omѝ_i[ܩGhsW +U#$&cٹ2y$IӜa(Oֳ*FSHr8:y5Kifr̐P1fB7x/HÀd'`^DLʌߣr~<-;Lmf34+~0If(ИP%&6_}}qʙeXL-*S\i?"pllj}n&(44;X A񳳢α[ؓ6O2HS+O-? Z\!]'W~HnU/aO EB.NFNZtĴ HYxnHJNե7L؊0پG]Ѝ.|;/DN6F!Y73Pץٹ~WHS^ blo /Ե#^Eف؅,ZsQ4ڜW b3R \҃桶#h" X{q$#}e@>OjVvx< S }*\ MuEi;T|#ky~6<oZ < `(FqտKjz7ۇr'r)fb#*;kSvp7<@j+4Y`?zވtpъG׾{!_Ǔ%8Dt\a^̀Qi~yszbU(|ï\#o#.Z~4#Q yw%Ɍ_0N}=oQ׼:^\uzY*L^(fAJ$lc;W:jB5ُ],q5]Լ^ܗx;HcZIR[#KæIsAzڽq(Dށ ̵}=u|ܽΌCgerY|NOHW\~vZK.ͤɅ쭾 SB_^AI~Xz: m(Z=UxQ^`YVHE`B&<^SQmhKUXqKshMLhX\"bҞjcSn Zt1)h)dcs7ұ /  4Ray|bI{q&Ew eZQeKglbM1ڈRWW r(uϴlŮknƥ0!<#RQ5`O}'EMWS ioP.\Se=iT0%(YK@~1-/D{輸`8`/{<Ӷt$$\4%(e#VߐpXZ0[ gjb)dA5V$PE&xޓ"Thj"MbsŪ?R aBN9D(rou 7}[QY? J-se}Ih  %hpm&Śl-JGN~ 6@kPt1? "y[35ynH;%feF6HJ98|1-.qIgeۛdWm3WP@t`P0OZqLj)&;6Ŷ9~N=?Tۑ:%^3xS:'G֔7_|u[@N ]r;zto~b# =  o*zhwnzx/y /OvVċ{!@qs`kR16N4C hgoِj364&\p5EM 0ouF_ܯ;KVt|2 r6O A=34.,RU ŏJF)[K!"Uͣ;]($a5U4ߏR(/=|:,a2C1[t$Ej'3͙fɃSB!م){31'pFQjQ 6UioU<%gU ra1B V}loks.)4G?[xQWcEfե ,GC@WF41s(ƽ\{asi eov?{aV^FoMQdr?= z~ e埱;΅ ͩzSz$뙇ޗ)*i/g7:#+'󊣽*m*qTWްX|.Xvj{p)~gf{ NnAዪyGe h"XaneHל%*tT݃jmgdܲal3 $3/c;Td1o^V\$-#pՊN2]|@aގX DA6\54uxQ)Fq4Lu,zٵ;\_ k*"TXL9: Y8>6WdP%5R2QGZgBbGfl_U1l:(v+{ēT#y A@i{sx0k%%/ȡcU RYnr`XmF| +T6<̻ߎ@bTWAWqn:\[վ;efpJɣNߠ*YDٷ ĮVF ؟wOI z`|cא*Sv ڪS~_2DJjK5 ppkӀm$Fr&|L$Y\~ˤ%bqqa6X6RI/:)F@\t 8`ڹuW7YVS1ψzFoN`8ORQ(a;lVH9 q[r nmQ{Dj(B lJ:OI@[d"tˮSSKBXřtW4I(Ei 4Ma g d3*J];yND+y%vTY V0B2`8\-8Eqi*#(-~R[ KpHZs Fh+Am/ȈL͆ /Cd"֬Oa&ܜieϴ#<8e`ޅJ5?\P +q1`DܖQ˕3zEx;m##WGf2n7yɖ\70SadLr]7fnaVhw3X1x>M5)~\c {LJNUt໇k&Fi['D)qoECs ?MeRb;U]i]ӝQ!S{)1SDUFɵg8StdM)N3;F;/nUG(q ()]M]ɌhG|5 Q\I),Q8@kO8B=1d z(fF~;k95ຟꯠG0trPz*`H@7R,Bs[,c@hU2sW;D _J _>GSg}s#FUQ,UHBȒ4dhlੲKۡ4aDNI#>)'U^qHҾQ洸.a^D͝UY8!Pxf BŸmzBʱՒﮞwg8cW84Ma@KEzI,hYԕd%q"!A=2V=>iZT8P$Z/EGo^ zv#%-q.ghxޤ> DM*͝VyG9YcŹUi^Umya 7 ߸ {)9$Kq)2_t!˹x^Zu$ E:we/]"t.AЇ}+ިBMl?1ٚ}}BVX( yVH 4R>[0˟`Q+8~ŕvhUovպA[ft~moڒwjʓHd牝.l 6QP| =eU0,;G6zI$@n E_?ݍ$GÐa騏Bm%흅@;Iɯ?vH?n9?öjsٖSC":Sle^Bg%;/@ף'iQly@E~aRS0rchXݣ ŠT0juDgL,zȿQEk+s%wڜ?21Ÿ ,gv9T= Qo*F_WUQ("4[;s$ՕOZ|=q}& KO& ᦷPN{_V2#[v_*P]P6@zQ_Ysd6nu/AvvGɫh} {R.O3ˡ& 7&[aud[FKcɝ1Q#NƧlj)gb!3ёNBMqs!~Cť SWh9xU4NƚİZLVGސN]#W)idd..%,A1STNo5Foф!ZbSd+^{KYv[=oD^@i@\@?lNbn!iQ1xI9P{s\RΓZgCmk~:曆24 r{u>g珀oՍU(] sgVj_, g̑d.QXX gC"$u=bi>>zipRN[Ɛ nRP/U^߸Yp@ q~L*EW"Y*.#etuS*G9 dmoK$a靧z8U9H4µ(;nυfШ:v i} i иMrZİCU6иQ–\abnnגkfAVY<<_d+{%(Qs けz[oo "T=g{ldpU`Mc0HxfK ƑA[I5ԛݨ,.h"Fc*Y4t%k#˂NXԉc֋ɑpq;JѓA[ZֽdC&[A+P6I0&WOı5Hk8GPkHr@K[7}z(;KpH?_5k-~@ɼ ם K3{8 y@-/͌s'TKF 4W*{.ףi*Jɘ{ G򖡀hG.ga8{ t813Z:9!ItE0 :^[HEr>q,+Wj|.dP'Z)SHAӨp֦.,C 9d2w~Xx>0@d)^_xp%:R8T!`&O!q0٫b3%atTB-M)8ޔ X!O+;4Ӛ\V{"x VcWs8Om>wKXOKUM! 4n&<D47]Fl=7%U{Ws߅gJHxA> fU~砮*JdQm ͱ6es)G@|Oaxi&Q]łe?'`ABW|jiwpBK-L\E8 *1׊'oF7=+f;!uf$ p<.b ~uO^~xit]jb ;T[EOV gvPu m"u,n4ަ" ַ,e>%f-{@\W7Gh;92|'EB|(4etq,d1-(~W"jްTj%kȟV(ʔ 6ܗ }}_N լCvnJTO={g9 ~iBl?@_T_^ˀ\}/nm#4.L*P 95 C?ֶ:bgɶJ%SJG P iIrWe1WqҎZvCBT?U…u#tsb"G!sK@vH+[pB<&Ĩ]F(Kl`'o}/ r_dF3ؠ( f1 n&_[.ِ^Į/Ь=+hП'p ;GX %1t$f᲏:s nq!b r(N0~!u0.~K7sn(B*f!Uk%ϪvPos2'&D Qp 7nXma13L #425'_ C\4QO'Òg_H UDN +l^ ŋep\Zx)^HΝWN\c13ْ Sv"®jg%.00Y Q,a޻EIh7 IvL/zZo3<mBgZĘv KGYp=Wc8&v =ow/{4UxMkFn?kK>2kH0cIO(gLcTGm2t͐LAŎLC%тI9g n`ܬh:FĥWrUdÊ h~y[?DӠak=ǬMRѐb*7I]Nc>=X},nO)օ$'2Hg{I&PFoS.j~;kς ]熿oWfb/;3nH,(9e}Q6˨{^~uaIdᅩRbSyjG| ^P~A3Ǿ֖]i(Y{*:s%xdjtS?Yd*f_\A3h>l\/mi4fJ13 C3f gYp=puoJ)%G^{@ Lwhˡ6sJ>T:%d/~ެB`}6%OK=(M`z04q bP7UN`Om{>eµsJ E[ ܡt+A 2zFIih0$8ԴX.~e5L?KGjf}heU1<*I,^t.!('*fi0uNS [X?~gi gRawpzjZ uD˰̑YPWf^#zu/gZ íYĎp \Wϣg,_(Ԁ-Wz%&3੷eD(. MFF)/2?a #qޣ=gp$)Q V6AZAT*&dc j:X㏈I~}H{"pX?cK%F4v։J Q!FחtyV*й4aHJ7/,8 'wo .VRzG""6sj:VpLAPdv gf^Ql讵$Yf|=]?B7QC; v0%dDRTJ7W?DK%}=WNs]8I%%l9#ayV};=^6z}a L Ԩy i3l!.}>aEjBX@W$C^F\3'{kV/G˘Erp.inһI[fuwfih)fP-G74mٙ`Ӟ;.Y^#?vkV`B4hRfq7|`&~ tiO洨q)APC-it2^[kd0-W:8:oݏW}4~\ؘm3[LF<ѻjRS1axY%_]?3|  nC>өcYd}-x&3qt󥁉YN&SoNw. Vn$Y6E/Y9z2!XgŹ ! H,gVύօ錓~k63~g"<blgdFi8"TmHxG0[yv_rwm;َs|Z5N?%v2yBR;qǀ1ԫhFQhec&~py)F@nU_51e6xapcky-hxrqH~Cz9iq]Yekkzݓ!'w͂\pPtEt$jGDZ-ہߙ/Gξ?ZS]jƲ# Tbxv,я)E@|͘Dv 1B]C% Hл.sR_:NЃv$RVKZ8 Oq!Lk=|,)*-Ϡ-ee+t3=N;+>*e5oїN7 I؋l:+>`Y_N K.XwI*(x1op4 W&{{p+ --e\d ܞD:zfp7k*13,pDـ}~-:ݣ,^P/;5Yd:Դ~'djE~+\6ӦK>?+XgMq-= Rr&nS14u7!0eޟ5>TKd$KK&hޏnz>W(nA6d0hLoV9;$Zx G!?*:y],Hڵ*{(p5x>hlcm6Zyxtj_݂Zk\kJO˖* {1qltu9p׈ o}(tG몳Z)ǾW |զ)1<of$~i:LX O$X2d7\)k08O_z[1FN׫j/|F274/3~^$ Vy5ZM)5@f 7`58Ʃ{MͶ턤26vմxל2r[Pz YJ[~B&<U7J4PXg0mRxiݐ4œ:һ`}`D;}(3)ѽ;^g<2DO/xr˛Pxa Q* Ug±)ݷ#Rj|ŨG ҅q$K`!%آ=׽bM"1 lʢuߋUo~ωB[pDq|0Gd5 ޫb m8<]cՂj@S\r+!Vw QfL`?J3&zx;fe'@2ş2biSAG7Rn04G cDx= VimRQyw?;Vx6ٺ8l_4@$]~~^Mwg`Cw $Z6&TGg`_dzj:-wT|BJRFa8D9p~ڮ;\h|vF !;ڊ̦^4̧|=9LqdĿD-)ZԜ>x{'T}{ljnVi1aF<D'ҟuGrFmG/U<hireKSlO1Zm17](z4K/u pZw7,9m=N6!i %#0No_{$Se eAj?%VGJ-}JbF25 ?mX$ݖTBۜxPI- =#Hx,qGs4?u8($Swgmnmg5xkr-! 1`o;-7۲[sTu`0p7(dL)ueE?hAÚskh73-cXBNjtRL] ZE)39 .~V_w}$ך;b;)(~Ex~ħ-o.%jYKt=M[=""엌rqi_?~H'<~-r |TO/a7 ?.5:f9TzGu[7U{gwql!YȖ?㿁b}F0W^ioJXSI363ԝ M3 ]b_ij5]a8cIW6q',,ecmqhhU@r&$Ly!^- Βy&\;R40sT)ia\B;4էP^u%|FF 6E'47КD .>#LRh.7Yvd k]!zeٿ|JVcJC AdK6ےd* *6{'"v)tj,"_2@.!&8q'P2kQY 3(J'Q/|@U9T+ceu)*p&[^kxuhyrNޓl(-|8AۖH*LW+Įۜx2KwĶ5FwIHvHrQȝ|JToиͩ~+ӭS4&5J|8vMkQ.ucJFfFOLI/X(I+")x-ۦVoyRB%dw_'Ʀ7uk,En*69 nF;8-7͎~֐J z`<56x_~+V>R=/d8t&6YNJਁTrVV2ZB o'9qg{A~߶kB_zD$/I&N A:ԉiЧb~}31vh'vA[jqgD9^ q^⣅@c剡4 כQ+LVBlixxHQI>gcL=@{~_z㽪UGކԱ G/a$_8iTFM+F/ؔAx 'bd34: d RIc<R*O z;"#$m(lmP7g([aT>dbI UdTS vʥlM2A ߿ !]XY';, eg'98gت bsX y޾vd qVb >r8?}M1&w?*P"Q!&f QhB1vVwoy3e'\%ug撱Np7OJRv)eS G۟GSmP [sxȻ ĵF(SN3n;]%8('bB|/(u8 4oW CM9\Mh°㖫 ez s[i_F@享m}dE;F^N1n(>jŃ'>aD\RC\NW#owq6r@ ("R:*\Tu~9>:[;k/3>$ULh{x4k $XHRFpb3T^55KHJ RhHv`w%rz-[N}2hny%*S^R/X;SN21֤gx *nN- zAҦw=C SBw F?$t4,ܡJ6q(5*Pzٞ3塀@5%[ؖ+fs78xPg5z6Yw{Ї78zv;⓶zr{`.JͼiԀSS"R$tWVQwݬ,y(1}AO!ԦQC(8xO8٠FŒN#wdվ܋ 50I}Ve^Ax@͌}matwov/DPrhnWnZflB&? e& ؂!s1!?/-Gmc>+M KeJԈ^O/5}vM)rj YO>g(Y!Iy\$S!\M!ZĊ4:?eq,-6lfv{N??onئ>a,eŃ@5>eլ]^4{?.wFpF,p^q#9a*grO}B #qH6.YUw3Q#U |?K./O#l>Μ#aa2|ifqXn?=QB*Q^@'3ݛps 8bΤuԏ?ٴ&vާ/_C- @0v_ՀR!*Rij[۾?$ۇEvv"N8J3aD}=fI#I'jGG-;>]uJ!kw^k-[4EKK l~hk( 8h= J ViG39`Է[rPˍ_ooh5BFL:aܵřw>̴nT亗3!Rk$OQ< Pꯉ[<̳,dtڙtGsbh/⼪3zg4 bW .tQH O >b5#aߏQ'SF!g(Bc]̓3q>n$Ky_"}KbP =j;鋾V^$T6(L*N#Qf\H򬏯%"̞2DۋI+;V!ilۮD_+7ҳƑ  jqeosZ, |kTiz~4φ5-#Wc&t@ PPEJUL6Tjc6, k uB>hŋ}Ot@H4!ft]DŠ!)0DP3ey2^wqDM0A}crj(J37hr=; ^2M-br``o>mY7eqؖ\Cuac4~`?By~>ap7yfꐙ\"v,`cx8,-CNтb+1PO|dX.Ϛ:FEcd~U|sӇF1%VBeֳfBT, #dnb De༡y S:OKRFNL,c{b6C6jwK?>wV 8'B~MɁ_d6>v%D(qE* ]iEyc1$[(gZO?ݩ:M](ail^M19#./2nFiZэɹ4LFrl:1ғ{`~L4'5*'$MYBm BT5uв&UH'=4Wi-fS@9uhܺzI\…j; s"5[AZusD+^ 0P4n=5G6 Cz)4em"|^}-*MC+:g)V؃b|S >e"9 ;>,@Tkm5Q9@~՛OX@JW=YjH7VI=A-T 02+Wf~mQ;1 "!N}k I¦.'dįwUydyRD03ZP5K)Nkx]=po:U; *On^!d_B?pek\IgM+`y ^p:גе%`]PANlh 2Z zZgiP*f4xOHD/{xD5`G!Q1ׇlUrU?hX16k> 7IYݐCStsn`NXrs;.L$!SyqWa   wciXXڅS+hj✒7m>v~U.UJчh~t%WD B(յ#8R,iCDsZ_ ;h%lE|ϗq'7`Tș>:M J/j;zgUЯ,[1O)_l/?Hf4ܪb b\!XϺoi/q$+PP# wrg N^;±b<;#EM5>/Ȯ0Ib9E!Im.Jypk9wɢ"z9u3u|/58hczt {,ϝ |iww_MS "xӬ9ʷXszddk! _~cdK yeP0fp]{~9pr dWx> %;1xȪC\+`>kUewQ]22/w`{3(*Sp-;7ӗ .}n_A4yWtfr=ݘÉýhڈ>Om,˗̡m_#>tn{ =L<s3`(5h_XMIEDݦj'8!t/=vknBRCƄ%9dmbY q /E Xc vc[& NyOEY?d9?Z L jmRqjefŐB~-lN4[ldFx9_VuFb1~7OWŝqfJcU3D`͹H!Ts0UPtNrim^~ ɸF˕n FݲrsO[&S;}Fy2e03x_>0 Qy@렯11@a ^%؊ZCs?T=#&`;m<х 41T1wtථ"8&1,<1;hVۋ+7,-hP{J!Ƿ˵b:C(|K~)iܡ4M{-\q P*ʣh@&j6 iZoi]RH8pUN_m[ 3hU'(v盟Lc/a5xSq%& 2Y%._]H(xٔr!pPKqsq] Z !nA (j!OʳnL UVy)5ԴZ5?(Cl ;[w&6 8Mk#".v|t'4(x5b%*m9):0i2r cx$@=H8ugu2H[I\M*i%s[*;ĢF^p n> E8OxRA[Mw/h)Z~?wfUt7 ^^pa|WଚZx8|}|W@WNЕRQ.hSAJNF 3v;=zM<[[Bz(f撈59F6Q}j6sbjǤѹq|Zן`˗v3`PT Qh`TdY?Oxz 30Yc%n ksב`l8%h|j]eThc䭯wy7ț9S.ûPaaft{T JX  t Y1dcg +ܒG.a*icnUΪaǵA-!cE:3fYkm8\f7ۺbF.TuEՌ@bR]悢_rL!nh0qޫO)c0u(Y Ud8ҝg8HZ@T<'Ht| CIsBu)ߟqKUB#w ӻRq=Sfb/+"[,wN8*i<W - ?y, H>Xf(x9=$;QR܍33frޅ&VHq,{򹥐ӄAѮC,]~ 91lj.lnI9uOӱ'݅M)9LoJ{ix&[kMe{f"hwS_}=M>&T|oQD3 4_.IX"K{E!v~G.]7/)> B(xAXpGg*k}RM~"m4GzOݛŌ?JEb-1Qsmddfu0VzI{N[95\2/' Qn3OM0@O>TD+u^NMD=ts>D59osRSɬ8rXmMI|l`uzєFeW|uꛔօ~jDaɆA?="jIvez1^B/iw?SF7~m58 3}+Ut8C%[֯܁I/H0W|(x|#)`]r8op H&V<*?p= Y1j `vfm-f!-ѹCWZSAJ7~JVZa藄[|СRQgzms(ddE쌪ث0EA \2Ð+rWmQxL[8RP:̘+7&9Wf@.4`HI]XRe 2+l3"Q7:l_B]RYb!_U턲"pR .4u!^hWs($ }{pjFܠ݁% L΃BPLQ& {%/\#ux:7M"1f]{*" ΌgYLrVAOydws*0.um|ph?U >FZz|88|y\u[ ؎b`^GTryaos(ċq*ˇRj\(U*< Hh˟"M];xw{9Q8eaL$1뻭!dxU0'(!W"sczvbΕKc߉_D`6r.,-nǖdㆿII !}Sr8sD H%д%5Ȳͭs#U/_i ձB^[F%ghu&{oce[)%"O uP'Nm΅(p0ר]vbF-Y m7uk Ꮎ?ݥg3r#Ku}Vo-Ϧ;^M0tLRrPgF['dLxLO8`N=L6yxP&'tmjSW?b3Kû.N"!<[;\(™|.a:xU]YǛSV,% ;,<FȽwHvPHk:D eYbUE6)À e FEPݑ~]P0S _wmQ.hI4,˼ŞL> L 4h|ܞc~u"8sfo n6/<_-oh]̲fn oǽ"<(_vJddb{?q_^<vDK b/a?\P/ ]‰I?":ksѼ bdjInrKZzUM1?F OiEXhf;Amѹ3A]LO?1_O.v.lpo<+sE*[䂥; Aiա+eSƄM5KN<:&v}V"-H8>ZNQ(qz'^-;.#DhCjMhvMj#P,BOfp/q<)K;,n!>Fi-4kJJ ۞^ 6l@HBPNT&wp*bf\'0khw[*?_qŘ4̋+LS4SwYVw?8a,4-TWRcEhoE4 Ӱ[֡[^`pu| LZɷnon˨tʹW+E=%7jw07buN7H6e;_y=ma EknUDU'V"$P>wDtH$fyw8r"C]ƊJ=x"J^1=\E{u,]ZX vqiqG]$cc,߭d'X%>htp@;"p%L=TF-ZFcI6Կ`ՕLI|eM OP(=W!w*]lCt[*]AS8b$ZDRlb+nVx&g V ֤3N88S~5wt"S iMk,t)1)! o/7[T վۣ0AXx_ČH#Ip&V^uo-'h3ۮRy8( dCsRpxG,# Yyw;>A{>Jyм& ^:{ӴB$ _ fHAݸKѱofQZ)Kzg551J3^C~n\hćUy4v&FOXh+ iBsAXrAq;˹GP|Mm o!\ y\Xhjr|HM0wXx֝:GT3td%b,=*VK?( YGU y$إ)p]xv׋jm n>R%c s"JT87? Λ5R-Qb;WSޓA=l1`EES P ?Oa-yd);(?H@Ad/EceZkӿ&}&'f t{jL;._\0(*riRt璾fA6z{!m+Ƌԃܣ !ђ~Uɤ!7݄{V 4Q=]5؛^kRRO2C8v_#pKqve ެ:=ia@(DF & Zm+\2~}nq#"޵ošڴx W>@jW†i4@!st:(ւMe猵}9Mr@-ǪJEĐ[lO63V(M<#S㎏hq7+z*ffqݽ?B9c7ׂc'%ds` >&yΚ\;xUO- 1u˹z^l\PTQu󖯞|C_Xo4d;XKk&bi1qjxeW+}lÁ 6|6Wt▎Y[{էg🐪R @"{Jf5~dqls{2F Ԥ{ӵU'}5duVoqW(.At6jZwO>&TGٱܭ1G٦PhECH4cY9Zs-:yΊ`"jB#J\%8GI# (=c]Yq`P5qg#]L 푳fpsb (G$LKu7K%y? D=}>,V?(2  831{9OhK?۹_E)ɨIEq%Vl6RanEy/,/uFegGuE՚x lU+}>IJ5~EcH|[FUzw#曄X?yI;nQ mZ"ֆtZO赛L^3A_<z{5}N`dg'UHˀ6wHd_xI~w%o{V<41[ͭ5cE;ҍ9+G*/]'c_l'$\}a'#.T;W(oPEˬs_{rfO8k"OeJpn"eK˳c@z2ۜ 6b&vMk֐ j6` |iJ./Jv/MTj,peZC>qpOv"?P YF#TDDoWnA]2m~bcw 8jWŻsx W]ժa5*RiBLn7j~T]͐J>I C; ݛz ꕻsHaUƓN $W<_y^T18D5$51+EL(wSIp_,j\= '=1]Wc%yǮCV.0XIܼ󲢂 HH+91={j-'C2hll#y/d^|~${MZ9{Aʝ%Xi=6&ȪZۤzƛY6S㯛Hu<=Bγ+Eoz /P`#{yGVd_FFnM: wz|Lx >yẅua>4Ԟw5$/:;Q|s(+F_東m,o)`l[ ';`IRuBu#%ei䫝v~)>16Ɉg۱LGf.׋l0Qð4 2 ΨŘ+7Uʺ!͖3inC>ĎP Ihc!NΠ\ub%.zB_iw\D4Mdc=5}5*II79}zgnYUho)$ XW3=ҵ7Y<Պ=q[e)TU,!9]'}"u 2%oʸ2ňIs-4 ј'=z5( T9miD)z7DfK7<N&SТE\R}b9 ^5Ep h_Na&J gyݘt)ΐ8~KQ5:X~=H}6 ZLfաtWklL!mcţ;^C9>3na.,'#sa>*?)/ֶqF [|&- 7$2`Z|w҉).\cw2M3䜂]'#7C+6*´z-k 1lIoPܴ3rOu_=`a}5O[ɀ;zP#InG0//k;w݁}p39 <6?Wuٰ[Oҫ93Rio* " qE98G.!Pv]ht.IJLSanLpT|@=^Z;b;'"x]B6nA+"^lʠiB!0/JUޭ~ԎɥxX7O; b<ثFJ ϟn>TJʏ; 1h\ "ly{ghA)RD;Om# #~-,Z 6 W\v1'΄HRJr-]E9TaNa5;?X .uk=Lajyu=E}AYB^ϮVĖDgEԨr-'*2@"{džEư ŻpfۜGٯcPwS. !\pYMpV Sgð1 Ƒ??νuV((%:q]JT:VmʔH- k M},=,jI/* qR/&-u}+x` 2 þb^U'DXcCs%D5M+ab EEm͝tKp@5QtMǪAG=8Eo-~y^'04@rFf bj;KK,8Q HOr o֔1fu.Ug\z˚eyJ3#sL#Z )M8&BLhG8¶k s{ Iewtש_ )2.fPկɱ04UG |;aiE+{*]u4$š]ߣp1 /`JR+Oge'{m;W5PxU]F oWwZt$KS GNjtJ:?1n>Ͱ؇d7]THR: \>le)' `m>0D8|y:;JLs~;UoKG4!G Q,aka{dкJ:yy!fJNwQ A55\mMNLlU&=ZW2Xvi2ڦ%~?h-$FDs|Cex Aq3\90`\Wl3M_ɭP5;wJǰM 4'*_ci;9*U @t :Չwڛ2Ìh40 0Zr}(e(֖?{SG-UtM^g<<pN\mh*vu[B.Tdv5 龍%e!DI}H*u~᪬ٰOEӧjQbBq[H[{Ss![OR37N\h =K iMyQhsO()bmsT@36H^;tCQGJuHK4ToM^fP٠[^WުD,Wi,|_"l;BۉWh`R2_Tx=3~bE_B~mOoMl#B0@}< ;5%' } c%r 9<?&#!\hҮ'-6bUhpE|cx_JBv 5LݜwC58jΧ_ږюJr 㗞P@%B4LJN8nXʆ|gdMJ.ڏ+ tXҘ[PpԿ  #a'ZNrrpRDϦ_痞%Y<]rMĤ^XUn&.Km S n%X͐K{ 7տ `s@y` $<:IB2?*먔wyPW^R#C .0tX0s3^VŪ1Jέa WV;?I#=dwǤc\Qϧɀa( Y* 0h/s̡PSϏuC}ߦk68Tް0usej 1nl铉{JD')={ˆK4[̎S8x7Fؐꋩ*0[n%7`?'CF\i_KƈY(~`;>2{en  "M<6֭M%{LDn\u%'ٞ=Y)x8z F 8H5/xVz/D@Tf]bhFf]NKTKkQXp+yEzyg$reF(N Y"N]8ߕ{tYpq( s*'Y҈mwQ|*ÆLq"?xuGYA;$L]/zSVS?_^{I@BADы̀!1'1 hJ$;dq0_sQ{]I8nF<kxōK̓FM {v].GoA<i@vxժ_ &ь{|^3*F woreeuut*lޫthe#sv=^GqCcēo ;QZK<ԻNH NA[ǀ"Cؗu3_V|\ ւ5R86 p(@wGE0"?"gm9:9vu[2j'@H9^B|54V W@gLUv#]Jg]|ae]5`l"O²:3 ќL 3,`9^Tq ӏ.!5Vɒg[ Qr3'_.[@k%gNLҩ l!lɔ1-WEQ h<K]*t%+^ 2.#MlIc< CU[ڳ2lYQ]Րk3mu4V'~iS$-Y'_ pK3Wh+>GD@+x4gzi.f%7w~=_1]<?i="5\<Ffյ Ft("4 tQ;+qi0j:[f'Zd*$'9A gN;S{! On-KLR0Oh w86h p}!3'Êt-b}xePAC]nl:괴Vn%l3>gCFbX 3W`^dة[k9"X/{ck}\D|i9Zʹbt\wi]_2al_3H}zcM T*q~k~4uL\7ۍTgV4 2<4f{!:$Skz_V$#SB;mV!qtC5T)H,e=cwWfj.Si7])'COk޿sKA81ȕ#ޤT:/Z\m\>^*z({w`M|y@pF=P2ISE{t3#._DmYz%8qzAq WjďD\S@d&R o})!eH~^O9]p!n[ ht1Z#d mTe${0YcI1:C2AZST>M:i_z|9+(d'n䠱pW1XEԖݨ@=_8:E#GjQE\Pfn-નv$r9nMrq6řvsu U#zqB?n(̨"19UVy?1\($BOKwx$bh2-auB#YRA"9_-EN.R$-@ 7NEz4Td7xpoMLmx8 p]tw)/aqA4r^!6$/ѣ@a:KfndV|| $fPLE}j"fkqjNpgurrajҝCa vHb7b.{.{|Ё %smzU!m9eV<Ēy FDK\n=:28ݰQn%$;ͮG$k+t/mP|YtI=sR8$S?M+ketdrll(B3!Yr٣*67mRO YW)2îcC˛u);_<4fq|ԞE,'S]h侞EN  raCyEOR0QKt)* RoIR#~zkpfίiʵS In' E?~}Y:bU8Gh@s`4`frVˆ' q ƚ+nE`xPx \90F`9 K "*yy\7+κ}IKwn+V&c{ f+*5W:;Q=. `$q!\҈yj%*u -gJsT=dg F7HI3\pѿÿU_ܠޮW˗$]YWV[q(~fd(R*S+&.CЇH0Zn:|a$0u8y]a" @|8p9y'۝xaO1ǵ]mhi\Z(#θi={i БROcGXհ; ⢁wfrҴz_ؼoaJn%2X6iaMwgg4+ROQٵçȘ0QR"0b*.[}CN= bSrΫЅ&KAԤ]f3ڙ2\PIѥiVݱAF];5w^2N߅pLWOtŧq4s̈DgJ'f uO \`[' T+).ώ~Ԧ24JF)$;[z.j۸/v׈sl6h*18m?x)qe1a\ ?%rg~6FCԩcTfn#ycXLshi=l@G2yDrgODqܘc''O+sG7 {.׆y>Dq;Ɲ#cr[Z0{@'}x JEj3ق}~x4rods+1ޝeaDzs' amsic&^qo(˹;8==dyP*CGXmh:\9@) sW㑡>A'!0b"I߯ℇܡ]V/b*/ Ř/P CQ}^BIBUZT K5$2[>@e638WndV+?"Xh =[THW/#=p㗑1:b]U$jrݸzJawEh4<^9gSEG4l] ԆGi[gƋq<}\H8C{m!2\)o$_0]4kp'"?x~Q6/z/ Gz&0vI/BlW!n1hmg|p~w>n̅&P2M:T[=i q`7]W;Tc-mZξ<^y`\yUـSO5cU2u3^kц%^[ty` JTEC3t7kQk!*^ EՅp΍Y1\B8"Ls!paP'!L`աKhIz|>\Pu V?j\Ȏ\fkM9bOu?MZ[p~^'q3d9 L_@JODXM̅*3wt N/PM-˛(_1"{yڭ{tht |ļjDz0&5ҍɰL=N@MUzG7䴻mxg=bEP 5L,wィؾM(lo1?&;2#Ϥo]O&عEO{Ŝ_DR̔;PC!9!C q[`Su4u fް&2 MW ބB*=uٿR_@=i ɥ0CKچi">#ٔQGyXz")lE@$.1(ר,;bhe}qZVWjP|Q) Dfl؅}aW`&c,[{fN+v@rZlH5̀M [`t$IJf5HR'rZ}dym.jDtfvg#T^WK)rվ|?'Pw-B?EȺtE/FD;)׊?iT0B,)XF-$%.(S1?Wa ɓi PGBEqURY`k`|iAC&?Kx{pas\Yi'e^uU^:*hƍ)zl,._G (|Y}i,XL֥FHiDN# >rh%_8fO=k$K;N6Ii|&]OVqzvh+[ֹRdMQz5ev=~- ۲F-̽}nL% O,hӹCr3i9|q'|ȹ1!%1U|{v6@X4«Dn L5k-6l%熰i?DjxWȎ|]NZf .۽: yAgCݮIfyjz_/PxtǾ}c]#RŸYtج&K%ƨ+w! BPqd5~[IJ)Y쭖Y9؈k sbOֶX Oe{)q=5ޞoz RP*(b bZ_BmΩ7j"O6ǟs%!-x@Ŕl0B{J\ļ6otBٙ*/ſ9 L<(Z(UQ0/gG|bY 8n'7(28ґCjS; ! "MA ?(9>S 9ZuP~jUiVg(hT]©]58\*OB?@OV6Zk$Ā#绅bx/3adAǃEi^4:WӒԆefXaɤM6>>Eei1IV7%8m}![xɆj=׿xIb6g!>><ΎU, 7pP֌OF-A#xUaשb.Ǚ@ԞLOAUR;ÁI9r#&Vx˔g"Fbl\PmRSLMG]z3†ƤA)m—oM$erXt&Fc6A+>\!Y]䞼a|,pzmx2܍Y@;znjÊ+r߲U-F̯39۩8Ђ]wL {\7;)8:Vq%&FgL!"n\06P } o&J(ݧRt)V0[zv8P;l@+1~jq<~VzߨWu9p k^8 }=IE E@w{L3}pu||TTtwtSGGxu]s~6 #EPs隡4c1(P;vq*V bإ3rG|Ť-I}lDl/5/lĸO4ܤZWƓɬhܪY W&0"-9xnuPI,c @4>UѼ3bjUߵv Q,=fwU}>':' !IiT hE=~.&~EF*89sa<{V!T@" jϛp@Ix7ezpiP(l+6 )0nzJY[ypSE^UDˋN2c yRic)Ni 1]S$jEXr~J#`Ys!̓ڮ;UV!;}K68yt]DJB-DAJyn?}4ro7ׯ 9mV@7- |f% _OvΧ&j]/ &2%7bbQ{! wg2lL$dc+&̀{'"<de,qWA&8F/mikKTU _CW$L 50\ >f*j<'9(†M^F:”oIq4U|  ;_.bnzy8t㋪"ݿ`ϔ:N' QfI}wClSPOE%&4isor⛾˭H ^DN}U+~9Sw!U4O0k z%F?L#C?E?(lrNJVD+}]zP=c  3dzQX,鴃"n ̺vWt}5(u_*d}<\i3BEtX qbϮ5\S0=%jߜ>`Ң؂'4|| 3 f,[W%\(UCRh$:MC[)xʫdoپ5qNqY+yG{ȝ=7nkw+ /j*#wuS I@`^-aLmnnSnD _\9M)7S0;h F<˜-xh7E'oqw_D: ~IU +;,{7.EbJy-apݡtU,M4gl>MrE:peLFhD\Opr:a'y3?Xe 3;"*ɒ?|rTX>Oct38G.=ۮ*jNl&ps7T.Drc|h2[CZ5xz؉1W`U S&h+&-V:P/WN3R,&KQrv$U gG!GCs@#s_=Ό|y6d) ia[&wGK K;aT"? |Z]̂JIEV%U?e`<gHQ3d2z+(#S[RTM%!N` Ҝ~ok?59ٶ9f^-꩑xc[μ͕Ȍ1$:=& h:'W!Ӈ]0ysgM ,&;-$3D9>)dr*t2>b/Q](l(\׶0|OK$L/>Ӥ|)O=v 1U҃,[X(9&J n<{WWVX&xdC5nPJK"kUI8{|oHG˧RF7Zo$}d Ŝŏi#E4Ϫ)]" K2\_ I 7V^m0lKRy4{9)&'~ |&Q\Jl?zp.1b]1$dbDxO7K0u= `"qDsZa"}#oa1FRRpC8r!'Ic=y=9Sݹ8MwH!^]K znzYwX]L/=g"c·klY1=FB>oUތOSLp 1,mD_tӍzW">/\T$5*PQC d"Lgu_#.+:(Es";4KrmI'Jz4p.a1poXWej%i_%-6G#-6O-RkM*6"!|+IWw~F7#]QϷ]1whq3Dr=ώ(8d E}1xy7NF@@FkYo_2^7k!=|1oGW9LFm<}%8J_ QADkkl/-yB M }UwW^?bnSt>#S܎mh>k pLWvMYHMjR1mG̋\a]t|FV,CH}ݱ4QJ:H[BqZb3^ʻӬ{oFeu LP/+ɩ+g~$hTESrЎcdnw%?+!ZL3+ Ԣ ,6~?5ެp4uV a䛫J1,&}@C0Їuٶ.+8Nց).&\ WUhoը.ib݁K9c`WR5sv3 jxN5AYo:!K)7O3'KYqju?1νVnjO nb!*CTکݠU!$fvWRjʘTd!hö`(1 F8I6d$<ڏ$hjxL 0440d$3҂h ! )sQDE A5bDLV;Փ^EUc,_:YbKyRV&e&Wrn#hA* 7 (FM^ǖӮuqv.$KĶ)sn&& ؝-oP»UC"O[]뺡A<&sj1<k!qNb*-tQV ǹ;~HAן;J~i B,͛HTbHyXБph}#Ը/ŴuP^743(p7%"&˷cMd݆0) A{Idmp)~wMMFDl8߁ =Bp6D!= dfVbvy_qE0{df9840WLq¡Ĵzhݥ6//K b<9gF,'TIȀCg( FJ99-<6 `C|Dm>Mzrܬ@NFt}aI_?.[us 38OʟR-@t[5 B}7e ʮZcʷn[j`.>C:w*Go|W.l{FFv=}Qyᶸ}U4E gTx"}QWkO\JyjʚDYdMi6ti#afElȲr[o?}H,CfB 'cBRoܥ}L.V;6HOإ3 %h8!',e =L "_?ڊ^j+x3p:A~NW\'$۳cD@8~#@~ ~\mMa7w&]2;2i|!KVE`O/|1\R;ݯv?_}p(ڒ'߫utQڲ+M! X V V&tbɷXY:!}!MPB 1 P(>jf`Y,V֗rP9("^ÊCų5$aA2`VWFrLM7죅 tRZG/vYdG9 b)m4MrdKEA ,;KKxҁ?\Ѻy*Ӊ|ADFl|L QC1fļQ߶c=.L9:ba@lGan,<}u  ŻT`D?3QH1r#\YyP8}RN} p ݔp~}ie )MPh7#02"eVnat"vi2֮L i>2F5*h ~KB|5hi+xVh+gu{i-|eq'V&h3Q`림CO2}D+xA,e#&s#H7CTMJ L #-{o }:<=TL:ccgHnmnxw@1 WhxN/”yŞ%\G|~= w|dpn/`jZH }LIE'J D_o)իD[̈_F߼S/\P|_`|7Nw{XFq 2v*Mnf9E W 1{])f.! pku;IE2hN6Pw2# `q|hxGp"}GRd]? }[O '] @ o:>8[ 2k8@AvAio|_-p۟6aAtj|臌p)Vz+)?mdx"EX@Au;\lv"D zVWZ=):Z)t0[2WlZ$PSF~s\@Hs_tʷ)R^ ll8Af8bF'LGQ'Jk6IO)]ߥ5:껤Vzt\s'AD6Q~c8bX<# n|t8( ?m@TS;3`@N 83xo|.A-\'rG}{[Nǒߣ>'V )YvTO[w 0 cDz E31(gr9lAexD\gRMK.#mfQ? gRzM4 7neugsB0] xC`-ha.ɸlzCu&` E FiIN;w/+$`$ɦc `xeYݞuY^9\;Lvap+쪬3W.V<)L+'6q#"82qUj} _ [R_~\; ^sg1vuB .9`~ dmƄ(?ڍiC{֝Pl\X񒞠NNtGqՅ)n[%uwXӄD7!$6Q]`{JQ\Ib=ە['5C;9)uMwx/87 C#WN#j/ 3£g,G.Q>H ~l<@:OM鞈5o.@\wڥA9S(B ӬH=`z/DǍ1gr^K#3}ubZ֯+rƯjb# ?/Kt?.i\E@QOrL3mT#z2mbV-&ƟK&%Lw`_R=Xe %'~1Xej&C,԰`u=! nlXM*33WlrA—y4yM FLwn#@gT`B UwtX-b5D9Տ)XwIH9DS\NoA%A/x@g%˂eFV5  y[=dY*m0֌"<!LGNaTez҆-GJ"KmEe>eSPYR:Z&aSD` eá?{XA%p/;.TEϭ_IԁR]՜|_foɈD姗z&-򼴴`a%ڧ:wkI-]-S&X_@s0lԾ n/7657w쪪7YD5eeKu> u,YGd?&e)IIz9ZLjwNV+_ɱ$MeF?=q8S)6Oi}ψ 0$-OAR$g'3]3coKOs+.* Al_-{yz*0K<̰\ `\aDʉH / I- )̧rѸtn&_x 8y5P_[xɈDucx2w+= -7nJR1LA"kG[k4btҋR}a{ýBQl#ǟ?ů)D1ccG#N,(_`q % a¨[< xV5L\q GK&(BA]|V)gHޜ\H<=%KiMd9<%@.Nmf/F@F&= 2i Z8YK g`)`_0vb8u4hءBr[AY*v_\VyЮ*|^e+i]H8g;?jحEĴpZQ8ǤeǬwM?TϋzY)}"PWXO0o&B\9-v,>, R[a@ޔ"}1uN$}2?]1N-@UB6.^m`ӂr@(D6[ч *C6ϫi%0$ s>u$qg6l.MiNC7>ODɭ5bۙX;ezwy<(/H[qg7@ eZQK6B T3zU3LsFi0CLftb skҿ…DU ϧ됰f,R"oowNZ(;_pXg* 9piGqlYo̮֮q4hNBK 0t`<˚ݩsI՝`?HjobE7P[u<]blY|0JT}@xZ#RZ)"-'/l2]g"zV1(nG(ҲH2QD'5lN MDN/[C?WOڃ<{?/,o%^Q5u׌r[C!.85V|: *5&i1a,h=SZɭ(+;PK[Z&"1anwOe1H%uHKAzjȘLÖ2]Lav"1NqSʈiNDξ}Fe22FMdYg5wj9p&W,/bWC9#a=XX|Ha EZNȐJVjߎʽTa oϪ>F x>uhr˫bfcAG, {+.1U[oա#g1msl.t FehD8w|DS=LFW] Fl A~/Uz|C.+Tq%[< &hi8] 9%B![S;sXbXNWcLs:X(F^${#GUZkH!Ie eC>ڳcS*|9. c@j2Jp.08Iz£ 5P7m(l z?Yge{Bh]2Uovb|:@ @rD{ ]һz{kDN]Ӭ6N`'%qRʇ~"Kn]f.nbicҒ I屵787k5A}>/fln}&6^ <4'(P~hif$&]a2N/QiY'5CxB/>"gw6ЋW_i9ߴ0b&H\h8˙qxPY$ظ );0PVreh5wkަ.X66 wjvy}ѳ_! `UqSQp~K< [X {ęZ;31Bս&a >-o7 N (s }qHJ*drN7_-UOy,b Пo\1TeSKܵ:|rU*>c+~sHy 5TH+'Y4n  `;vମ\gyA#'yWfז.?2 "Y<ԖyO??W;m3G>̀Des4&su%}Ge7ܺVx~7| Zl #ru80}{<^>"+X`pjcԾrā+MCI}Ƭ&RӦ-~?\NIl*ڷ$姲2s?k{7cm"C4iza|3Kjig ">9@+)=S =`Cw*s91dɯg nH[Um!~vӘq5נ.r h, f^:hĠ[6%97eIVfj~:rF!qT#fc:6Mô(9T?[H͊[x]CMRd\io.Hh7}_~OH!]fKSv])"(ږ;nAƱoHMes)vi꟭Pe~B:ӶIQ;}ל* n*Ee2oEh8aP:7&闢)Nh^+>q=TSZK0oi4`}cϚݎm7HJ(Fo>4Iab(~hܷjzlJAhAUlhJL d $tܑ061<иOWRbdqM"[˃ qWrqt?DDS5&Vivր?;-LOe*7BNi*S~6%s}jv,iCX ^ AϣO4[5"𺻅%q /*=2,&n/pIOKE-NӏȢ5Ca9t7k-ժ BfW,ZQn 2.SJO}^]~LI~='r ڲMI|۲!V){/ E$} ţU +x2{6#8̲Y'10A=,36#G6P(d. uq~%3yp[K~cߎSlsM2{ w:)VXp>nshz <@|~XaJ"οż-8x~ \*0P=ӌ"tAR߁z["F}#<.MtNAbyb[ BTҠ|CZe׺Iշ=L>S_צmre5>)x7s0`mfpZ-wg ^ߏ"`V.|H]l#> m'Xפ(?ёdX/^F2YDXS%6V%fKVs hH"Vk;j(1 a`Y .dOgs.`{N %[vNMԀtQu3ܦRJ&ܘ=ʬ{|GlD ]/x+:|F%.KBRF=q]9ᄲл zu7KUSW^,]``J;)iu-8C EG6n8Jc$Lyni. Ь&;M_*>DB"*ñnZ7Xf,M[R@x 2{ȔoV)`=Ry@*^ݤY#d^ONOmEfGof,~ t-s5^E{(wTE|n{ҎOf:։kN.\Kn]pKꊷ]3e)΢f'22_ QB߸(~XfZh>&_ kU+|b>;PYO @@b%({}AW7ֈtGz55߸%p2 㕳X{t="vQ୙e -!^t} b`m5yp=go V|p_<gX#?fV|  t{b`snv|TaO)ˎ&B_~d2}foƆ7 KZ A063&0?1]h3{ܶ@FlR+[3Qwd2'Ӆ&|JReXELPT)Z|dJyg DmC8<+?7f--]l°u< a[1F|v4Or[ Mzi@.]n >zkliU`C@WwP#tFQsR1YڵB>]5eìTV \?Dt9&0.&dGT±φCqB\;٧ψ\Y"ugG̹0jq{xbCO=2-${ujt&Cھ"Ye:+}Q4'j ^B́ \$OR4b3m#ߏSO`$ iWA$w)8(b <=|=iIv=L$.MqO OȗG6KK &~8]\9^([RDkFP*tJ)LNLy}_ن8I|#9y?[ًKRA+4p*֩f=f_ +hl@P^%rZʪ]+|YS{Uv1 ъ[mA[Wg;7\.8G",}ʗ\.z`'i4\Yדn5T%,l|}7T?tpGO`{dN XL/ŧ5-+[W2ͷU(޻EՔL * hRpA>(-~sDýKH؍<\&hK4eb//aދ+(cҌp2_G>~kL2Ӎ!zÕHQ2Ta&qю6?QdK]M^Xi] %C@Ibڍr2h&0f{AaM\ӽW4ŀ;en)={)&sa }Ȕmy8Dm@j bghZBDq}0Ѳ`VY `ߕѶBn"SHZ3nWqJ!x^HL;b5 u ݰ ,XlOcd~T 6pd`x8~q3ɉphJL M4@;\c ;%ދ[s(lVL*[ִE#Ž6ȃdj,)Pxa2TN &ꤞ51koxPz8ېVuHgqݥ]g=˰׍35c{r3\}Ƚ;FC]JwQʪ d#{cpVI(Y]f2_`nW&c셑˘"E#}UdZf#>zm./*䭢`;9&rHКU47G! ]' Cqx}!suf'51hfIfT&mL]f¾~E `MCƻ&I❫J0aaC9QMA(_ "Ne޷E!!rޜGZl@$衴Niߩ^Z?qj5S,":b|>85cөE{EaĕLLȑ:GqcLCdRBi 'yhyX%# (}߾a.W4^!AUӞ9I|'fvdzDԁT|H0Lr-h:?o'g^nc乃|xfO,8 &NsnƉ"7nD!}ݰ?Nf˜lO<Sa9&^S.1)SZB[/@V^Eb* x3u9͔͊Bh+mJA*4>cz(}RkY9swCCY41Nj\:MEHpT>baP_1-#Wyc%`aÉ{]u0 ٵH:Eܸ1O,A)01ȇA&SaQ@ qڂyy/E&8SicH (%s#=Uj9{"ȃ\ryЈWDMs/G="Hdz)YЖW@V5qqiIhmG|+^uҖSW_n%rV8]$K(=X|=Q2U~ j:Y ʻfrrW $hAxG}*P@ɥ}1UeVLא =RgߕgaQ|s!0Fa ,ޝ[w]neA:(Gh6KU}r!,d(Lsx~,FI$1(jϻ9QṀ]Bfȩ'a DE9HLّT\Pfְ>XRis=+.g)/JF)MX4@)ƶ\ B]w,γPham|/LF"6ihۮwVeT: ЩR$9&~f $+n)ͩ@fgD( C L(^"`?2iVʦ!u}&ѱ.M<(9v 6.kODhM*UAnZ/%ܲO>O XEz C%~-5> +.Xܷ ' }?U|~hc*؍x` ΤlzMb@(AYm<`(FJZp\89ʿC)iʀ/w<r*+dpgy:?Et(WՉ_YQAfXCO=֗&s3:WdYz<h/Z=kd͡9E08x|I5['kHw^`2G Az+P$+[3B`Vyo?]W`HJаM2&@>4G0#WJ[Y&W)yJ 5MJ/v aL>R ;(zD݌ߌT7%A> <$? ]YX(XeAH<_` }HF$(|B]vZ~JH\и04cW@*Hg%`r.r Q_fԟ@I[JSt8WHܾnw 2#{ҝ~.j9^m2i͉*{26Yς/SuAu$e1Q@Hԇ,ӎd*IhwԖ xph΃Aqj;2 \T`!c! kɜt'}^g QUՕ!5@ң-GOU2 wuȒ翕/70ef LeFJZrD, GyA lA$h0 lM> 6.ٲ`!v9b .C: o@pE|Ud~"&^yp|+#!J85Z;JbQhbiqrn׃@Xǟ9>C0UY醶o}$H;/~ʼn Ge5:Uvtx;~'f?B@ثGR})+un? WnyD@*3[{(#'EN ѻ͠3qb[A]o죟q x4rhz\WzNH#SgQ_!_si{G?έ:7FЙB,!`3FxȰ|@9 ]"l㣞đL\IV~M'_;}Ϭ` Š&9ZCx[g[FJ /'\Ir9mGhKWȝ/$H%KN:?xT=[P&`˽ m Pp)HNEz 66chq|$iV?j|0}4۽+}krN*╁.YCo'+7*vaWWDq*H@1_cVSVLJt`&^fLd_&@O.+Gld_:vNk1KU~{XB.HŘf{+ՔOzuP{nY6"acBX͔H3"6eoT 6.Lr HtВAJVMhvEdX9nu0z66T~PϊuMVv~}4ڇq$Homh_93E1:f"Fv2Ť<GU_FHHi2rh$&xƈ(ﺸfzfØ}ɶ"x C -)тv+#Oe"ʻ}*O4sELZAebC!yHU72h/>D#33{w=;L~?1ӷR#>:m̌pVo| L=X=AjZt@R160s :bjeg cm^H+|OWM {A8p7f~g sƸb!$ҔQSs2%IM$Y磹OQ{X?ߊAiYA/s)ES<PkGl?܉}'j-AT(WG1y\ MCz>#Sl5?-9X1XGPWj֌r%ꢦok9}U-KW$Z^-hy U p$5¤̖[fF\%:/7_6/; PnZfO&JI9ҩUp_0Q+y(uk0LU^|$5p4B:K}É`ucg/vuC`uiid R[rY/ЮKzW%⭍N$xG4X@_uФU\&)&c} ]jyՙE,U@| Fms7AJv;`2WBM׳g'0̗?*<*5W"QX徜dzŠ-U]'( 3]UZ"7JT*/d{@֗tS?Mg| -Q9V-<sW&2jj5Qʈu-N:\LL |=2K !xמv:cQx} 1m=':GcIrs';DŒNq1v*,jz10t"k쫘' aNrUc t -_X܄[/ds|=+NT0&׻EN} >s/ȿ1=!wpm.)جs2 Ė^#%e!R][yCzΔbEtymGdUMJAxD$O .^.:\b9 /UD /KIvWG .dw, oBWܞ/OQ4+#-dufB@/{F9WjL_`pq8,RxAنA%pxֹDFIջQHuI!Uk#AI8hœ'n 2n!*~6*/HFR~.dˁFD-*6h@<>b?#75+VjpZq8Hk C>8ۆX2`q8UKx"osV.yB sFkdŻXͨQI#t`p[+#;e=+9U%љ]`gTrrOjyJwfcZTxzmtXxi*!r|͗5.R]D%h~#4meWпx"S#!CN {K&H-YZ,c fk z%h?~9gg劷G3utP2@;@!N\/`ʸN,fn`".QJ"rVqrWT銜cyW@/$` 5F\ƗdBf-ƦzÑUJp=Y+iuӦ`n$lwya6[:8U1QqTsL'D?pVh$9i <rZ/+^˫//+Vd'4Io.1R!]QSw`( 8xeTzDETfJTg%s3(w3k b}jhGhxuM3n("]Mj1pj[( DsJQ%?>^I-uԻ *,ǝ@`]mދ1YZ_֦Dy\k mr֒LSa٤ =B; ?++b԰gZ{){R{#Ǐ*2HϘfxlVzl|/QGHtLfbavxspZ33hJ'ɒbC{G"IIDtT*).WKN3XJ"ΪA58MC $׶*c:4|^\3ƏaG4)MCwGPImǂ*6YY~w .3~؀=usőzKTP< bs$ unzi aOn}%3 X ˥72vLs퀋NDV[r˼حHx׭ׯճ'J HtWx+_ouZ[A\ 71bw)S !`2z!`3מ~; ?}oyŒ0OBO#}D䅌)xNk[@ͻ?+L ԫW96"бYzcf̶P{8&ZMIGi|`yf&ln|gU"B\JTe/^$P&Y̵28NB~ϿĨ#_E{Qf.Mס=h~'SJFe#>Rj =q}d3w2':[jEmg ?8WM;.,0J`4e-٤)7D?Mo7{T'hXqZ>)w 1 ElC#33О8 $9|h`#1r(-1Ι 6[\ƅV);z"eU~~8h S°>~Sf9Hޔ244[>x q0DܮGCe66Ԛ76|P=9 g0utN䉄tS[7!"TǗLPyB]C$% `RD@f~0 4D w4@3q 1+0:ye%V:Ք]]@5Cq2i %F; Oi%}VLͼL$xҳ:yIncϚUSkS3pʙW:?9[xA0hELJhcJB֪2?L{Wq<υ=;WP~zI&eTAn{ 'v<hgr@c`v_k?a,ݙ 엔 cWϺ腽a3ufgVT8z|J&F! umɻ~]X<>@fX1}%d.+:!^v|Ꮦy"(p׊j߹ǺfvB*wߚQTnXchWf9 O@Hf[`}s _܁ze^ ta = kUPJWHr/-c*f乽վG)d3yc~#NIQ5B9 XimpocZ*;Z S=%Wr&"kF?T>r(s8ƔȊNgi!-($[)fa&+A'%dÄB+'>Xҩ>˹^w:5tmd]GPȸ(/ ÇXtv nozUe i->>+=3 +7N;FI䜛&}==ϑ-V3?~ȥXїrS yDRWL֍ϛQY1 C806y&y񋶺fYF| zJu囅{ ?+rGΛDN<)C,W9p8; N̋x}ЕT`3UY\;Bqf̸wfP9<ˌULvqf(OlnքFc[.Ѳ^7J|ČI^^_yxL̜Nf#ͷU^+,z4ͪ~pґ{$/үA"6$~G)Wcg<(#8KS |۸đXsuVJOeCz$00NdI7CQMD;5cBw ͤEj NBsxӂ&*n:'=M"{BZ:ŵܰ:xQplXh r1Z䳞6PC8\]ӗ.G_a@NN&SA=UMX h=3uQ6RMEaj(ORv2=TRJ+tWۈVתJе8@-,M֥okT..- CZ+4CÝn\_\l,NjV u̅ѝGOV2ϣI$|LNol]Jz \vEz&_FGy+t+@$S“zG\Н:?8BNP. JlQO2\GH8LѡXMfn\1NGB',:R'&C[dr,e|=zl Lў1Gy$H;b9v֕">[f}A+pzQ|Nnd'[\ީshqktDrOArƤkIތOЀyӛ }F0qDZ: ~#KWY1X`⎂Q)|(ors [:Iq-#F9:o.4v( F57-Mg3$fz]Bw{AG&i^4Ҟ?a ZfX ی5 äQ8OjBV0z.9K,U3 'ƩXkvA^ϰ:ӅÅ}Əf#z0#v v몶EroN~p9džS PR71%3Ͳz9b6@B{Biz0 OԴצaݞa?!̓ E(V}$5XB%GfAT`we[4fY {g;dx e].QkЊ+l8֚=y_aU,fV|vWSܦ74iՈ:}#`k;faF83oNײU"E^ZlՏBYU+% q5_ hjܹySHh.@a`L< 9蛅dedU<1Y*=;[\Tۄa+ ^zz>^!wbB}[RnxEWSS dKȇiGo`jOJ">[w2. S1f6d/nB,}Zlr_(fNRrg[<]|tK^ǛXT׉"jȃB8|n>'K9=RR4CWH<*n8=fv-P_{9bk~ڬ3vN1?z}P{5HXk=TMi+ޟ'F8ɡC`W(6B0}RXiΉYf*nI9Mst#}$`R_; bH4#dZ*ײT8G P6e?1S&p{*9䚋fi-Lf`ZIj`=>=6/Pfq5#ˍdj1x?R2(`Xۧ!g-+aG,rT2q?&dGp -uy 'y\&.)R2p{U`9bBH* uXhpY"e Rcơڃb)?w **ʢG' . V.MEWz$|̩(V}^O* 3aA,@O0fC( +Nz<4IY!FR<='#2p~mJ]b]} 2;$#R$Xj=^eĢ#l3SؗSOKYEZp'(-ɿ]rE\&ӆݛd3`ܙҏ5bީl bV fi\ɖ<>+H!ZcBl é>)YMG :h~7\ދFmr35WJ O֜/z\/WW,%کēus]$ bUaEzlkᄉG횁R@R4*aї8>"KZSk&W !&mݗI_?jFi)K φ Hh9Ɗi' B"\-mIu>j~mס|sVK5 0[DjpI% +rr3/ll =݈tAL!g/ 90 |\KnS'^œA`i;u{ 2{Zcŀ77t,ZLE2CO6>BK~מC(\=o2U`h+F 1' F#KSp! %s8]-MڰRB*& LGEbOVsXQV\w^\ksnXVk=1XvyDyyw-ђ)o7j(?e!߂;dD:t&?W=ꁏ Cj׈̌!g*yɤV*-o-`|[Րs\!w;j2fH:ۂo[jSWxJ~ywP86wv:/}*Ik i]UyN.FoҰBzZ!\zBGD>I ]|f$+cXs x++c&ocAz[a?q=>kwj=L<+?MɺKr)uc7]H9|3m!Gm (_z++az#VvDq>yi.NRb8 ]c79n>Ñe|+Xa^KaNi UPӆ+t?/` x`4IΫ{~!Octt_i>a,BA Li]zю:Zړ| P^Kڪf0J@2Jy$A fI<ح>Z$JT6S칵.2=5cd+ [j(ߏp쿎3:.?y][oO'-1HU`ER+Un.cwuH\Z< 7gh_Esw~rñKF =jfT.s(ʎ|?磃QMZNbmˎ/#8}SxiP<[T|Az8 Q!|~)mA!nuQmuj@sXY^|[RI7ph?A,`|||33m `sOJbس<1կRCF߮A~tu"-bo4p%.yƊK;{i;blS4Ge=k8a%l Vjb3u}amK+Resw>Jx\&z9L% #k4 Lfߝ.n9Fc<28?A-X5qgL/&?8KmyoU1bƨXu;-RD=M2eĶ}RY@/&O)I$7}C$K1-dD*w2^@;f]*40E\AJFuyLc.U,@\Ϫi)[]kw| }9HK iXK%xe"Z#bP/ԩcl~c_dNkր+wR(5RYtqv 'و!(KF'y{Ln퐮+Fa DS2ua(yVG-krխz3flfBޘi[Lw`L ÊS$O୛T^Ȑ+ 5:Gi_ي],?edc‡Olo]DU; e0,fkwb^wsr=5hYP'@9k`'϶37S011c73s]dE _tvhu(}:- G*SWk}aY魅*M;TedVW+^^'-*hHJ`bѪm /lnI bFw=6Uo.YC|SOю:[ڌj lu)e:`rrǔӝڬ֞w ]AH//sˠ*.jOZ}O 6*!k%1czh#aTFY7TB %9m ^CprMB]QokdwnYޏ#'9%FI[uv夭`|PP RdJ?2_59ԤndD\궦 o\Йag2/qSu!kdkZavt/x3Q ;'  F#Djc!jvJU21vDY$2L/-DZjDDo{Ze˖O>gn:-NߦAV刓7Xo J9動-`UŏCH, X#ld EM"y#(xI!*(AW!gRj_4[\BZC))CI C^[9Ps< [Ʃ'}]>//5RtxXzE>wj%:;N# 3 #ՠ A"uC3%mD+U+ YtG)FZZp~ޯjvאRn8%̫ۼqN՝bz{]g7ې}?m,"$P. A&|:ꂰ5\6KioJ<\9#P^bb'.NplnB>Pc,4?XGBCWuIvs*Px$[Odj'nEbnWNVK$fx{xi@'صՆ+˄MXO' Kkad X%-,g+ {b0᤟; u 2aBP m; _-Kaɶ i}}ŝ>[3# K'K1D` BzWodBy=A`WUәh%B@ZRTz ۤN^$s'ku­Nk|Lt*USC7;+ ֎sW|jv`4 YHYY+uFDo-ÅoDq<- Tnp x[}8TVmU 6u+ƕsZp^/|-i~B|cQD J_{9XݪEGn*F2a [!$ Z۝=4IWO`b_aۀrs0 R*`K>vܲ31+P ?bAȵɴ}u3[TeGȒC6b}CZ4{c֬ KhTHAG Iw15fr;*HNbʣWgߺqR]v2:|Mл+VfÓ] H/R=9i rF֖_2_24*kNXSG5UP6ʑf#~!Z[ nZ~[&,} \ J wv?R`-)3 [ z$g3փAn~NfZ4zҜajX6DWT~- X%Qׇr>9BJ)ژZkjPZԊ잋wg%C$Xf#V ʷjw<Dht><3 !#0 {N@D0T7xUەK}*=/zߙ:Юui0I]q=+C,F ww I,([1mѹFz!Ff( O)Uw.sKZZ\Gc[/O1هUf&_΢,8;T]Gg7Ydـ`Y1pA* Ix\ weOھ=y%!B%Fd^XBXiiJe!?X'> tD`8($-q -'` x]Gܝd4yc#fݽk;ۗ!XZJ59ھ"_s:]gnS{@ =-|Ngat_zK*njo;]9=?[BMK0.ղx Uq]oVfe!OyU~K0P}(/#NsynJ&fY'5DM6,α a ?2{]lOtg-9vQ2^vŢ"{mA/\BYab!Qp.2se(wsZ(czyB:x{Z6Ry4MSGLq .l6iLj#yDvR/>*|?ad-$i`tKD7lWW)Jm}h}hsqX> 3G7t}S7McjoM^L7MJgW0';H0&AGfN&Tq|6DT+荡Ti}F@ً8& HɎ.%Y]R)Z4VHLJ;wֹ jIG*sЪE$n9mID/%NI*m [ּ" YЇxKk?[nCC[h[%PkoyptSu : E,X.[ڠI> 8swdkAvVh[ޭ{[5OLhyv+3_N[\BʐC `~ UP!K}R"%Ij@Nz7<pq`bW$?Es]2%Ҽ7Wd1k2Q[Wvj%6 ֥|v9=qʨIAk5Ƽd@AWBbv^Tp5_9S,jW%іFT&YRZ)q&)ّƋtt.cgV SB{'),tQdwG {pkҢ}Z 9@#zVYNss8.Em&[()ΈG*SD(/( Kvvƺ6$Ԉ>+k;d"MD-p| IhA]5MVi`QǪ"Vʫz_5-pnjpqDαLd7".ڷ*p-SzX9eZg \w77>Agvռ J]ri J,i5a OtCvj<0YfEM!az6]M,JyDqTJS졍BTu2$G=;_7U{ E8k x.|+( i-2#^ơ\³+](:2 hc=dƱS? toރߏ:N{xm4j2A ίlX;Z(X&bҘ`(c~HɤK%3#B[a^c7,lDЀ(e R^QAչAzZP=Gfa=/7-)`fsZ+oUUh~NشC*-i4S]NY<r$&p{T(49{5d4A癕me۱&5o;Bflܽ2M'$z}Me_\1Ybz wM[{.!^{.x +$3FkUjITIV{06!ΫfXQ-1]ĥq;oĵ8Dzmw%IP=XYjSy n>͢r[R}'i^r0v6G1-bTq4;3_b:LIǷ8#lGY"Ygx&^Tfb5$&`/vMP)P4[Ky&s\ocPRh-^sԜu$A bg Dm(0>cO30&-Cl\4?p~Q dO"2+\FF < h$,^<-Pk|66" }\PCWzoR˩g ' 0&:E&aXHu=z(КȾ턦 >!KA.nբY?Y)WgiE=~+~]y1`]LX P]Q "ΕY){|_FMx t,>QY _0֬`55+*DW]|c? #Jϸ1>{/vjuvI54q@-]$ᓒp&|/ 6R!!V6(>z2³exCpc8@/@8Nڀ;V 1LhX䭈::_y g}{ +|pM? &ЀaTR\]T{D+ڜ(Y4G~#ltsbV~5r3K12;,U⺨%L/ y`A!欼bI b#d&C;~ -5ڗћ|Mۨv9ːYM>6л5bl@ Ĉ;q^JGA{"tJTc:cж$!#~F=;FF/V^#P܃ڱX8*R2&nI||?1߁=a%x_W,h`,Ŭҝؾɘo^By'|kf)yQeq1:5qUЭֆ0d{#CZYTb){n+6GQ5Xxv_R?]`c~h{hLro _Ӣ+Ѓ rp2&q!%+ x]Ѻ 5I+60 93BoӖɆ˼U.~V?{eGK1{mO.QfS0.DT3iTe) ,Hhs[W  :*p'1*2æ|p~GiP'͎S_U;>D4%q;xCc=#军ͿUf)هR#x)׀+J[?ܗ7[R[=g)C:TyG<9 &m1 S*x/30@}?yɟM$*”kׅ0/&*S!3LeP*O6ZÚwc1ѭ^h oXP~& ϬB4hUxY~鐢9}htC"` rG<ۂd1fCTTvkcZ<)ާ_zNm#j92Ƚ 6-c/s*B{KeՔ/ͧʔXU4ÿB=zBmuo[xujCA'91ɹ uI2Wu.`aOE02\$3Μ4  nvHT?&Iɑvb>__NW swFv⭂&u*?*٤BJ7v*7 F`q%mPl/PS{: o҈&^0-c堦*+ -.He"=15l%R}  glQ^DUđV)OYt^+ddG,2qV yItogp3?2L?sk, GΒi'/))oCyNSa z. ZRZx5t)AuHz/ y#=Y#`0 Fy(A{vUb476܃K^Yɣτ:ܨ]dd蕧,S6-lS8&8g㭖ymUDxӂ<^<nl7[N kExe쭔3o߅˴54$8|mPd,n8ɱa~O܃Vc&p i09ȅfoGĆmg~@N"GSOT01\PWP8q(VۓM=*4ZoΖyoU Ae=1LC vP]Lw:ۊP:F?/o.mD8|t+TwCK`iSFWeZ^)-g.#'#!w}izt#K=WD0=NS-luz 4yv!{^l'l4C>}f&Uhf UOYUQ8ԍ{G-ZC |]Y?<6:oߒ*w~(![>]osif_@HP Ń~uA6jP* 9ۘ Tr&1+[232'uQ<\-,Av)ٴfyL'VDڽR6|:%K;Rik۪B_} sL}h|ri@sQ%&`wfklŲlL;@O(j\}ºn,X|V\CEuhzSUDfZ;` >*uQ;Z?N]n M=x;,ZT1imxƄɊXlqWcSw i"YүCѹh2Ob*Utg/ܡ)$83Иw5PALчEϠXuTAK@jz$y塠FBw9c=&![F\rmn6`k޿]^]_4wuB{1c&XQ_\*)&X.< V[-xQjݵM0wI}'&,Kɕ{ A% p&%邳<5=PҒM/D &zV,BKe k{m&ɘ}?ьG9?59vR9&O%rNօ$4U@uUd!<|Ր'j<0SI͗Hh!ƹ \ׇg]Px۫Ԋ.5]JU7096oz %Q&M|?(=/[AQX9p7g_Rg'*l{oe?`RyYI'NH{(?BV_y-E8<4oּs(+{$}Q7 P3HcTRe},&`urs"fU_n Ju%4Lx]Z.WCv5u1d`Pnh;t+?f`Suu>gs/LA Kog჆|ˮ_2\'j7zBǺcNiw ]K[ r:7v"P2\凬K/"FIlB9¿нUL,g{υ!oFKbtw%FԠ\Zz^If(duѣDT2#ㆾך|kKHhF:z}gZД A2矖-I>dIF;}7WFhyHjTD1k!LQdz~99;ށ ?#貹|I >Л]t+\-YU*-T?7z: ]4HM`q$AndxLcW 'ƫXXH(6V&Cj45ZbcB =%ݲhrygWOzf5=[mL =Ɓ}SҐI&Jg▖Kp9D/B/9Ձd8KlEV=˜_f(TK8s&h*Uf&ٶŋYWs%ug@6@+翵,jP?|8+jF (an9!qQ& )'Fc1^t.`ޒR+B\s޳)lRJ\kHl@Ģ`O0x'V¦>/Di \MCi8Jn;P&9$eo$-*E4"VqMt濛h[B& z_#VۚY]cgu۬geg?^NH K"zP3yMM0LDƍ66$sw0c3"Z"%#S@xBm6+hEU=9 8H ;0 ꯃ' 8@v'p?ΫĠ`ڪ ^5\'5!'ccR$+*Velo{h..>9wZf5qb24['VϲKQZ#k1*z/+0pamANqN*S~n= czmgthNd4[lb&H|ҳ` 0'n[ݤ k)fQxgdNǘpVPAA16o^I*eta,2;)Z SER@?Ϋb8K[%[uɂ) >A1`3zScrRd4%Vjtbl qlX>\D,zLI{xߡ k5}?G"5.c*3ijCq1[cv.3 |z64,7)S\AD3 [v೐_ng9!0n-xR mZXUysa֝RKkyU\D_-'[{:i>| k:{e'8S_KR;3iywI_C !c;y_ T fm Jٝ[zT¤ #99N64:{IL03bEX o~m`;ҳ#ZBP)At^JwEE)+(EW:ފMw>2vg*oz>>EW>%C`*:D`v`Q{DT^sC0ޤ ر`#Bl۠j8O` vFX2 D|VߋtHyN\/ʔv=jdOb_@tᄉR[AWF.T}bd8b)/zH x$i#$#"!ucl*xWjM%(\G 9[Uw'}f#U[F5x]fțس'O*Ԇ*J1+lb~5"p2Te)N{mH A Z07%J<"D; B)eCAK+6`}] Ԕٛ*֓[-])wlB}=NۈD!*̟nzB 6^*fr-pmV)W2Gu;N A ۠۩I,:M5zrJwQy!ksvzRZif*񹦎^觘{ glcK-z (8<;h:+j#A; 5dZS[U(@]4L)/,1 %f^rL"܂Oh_m! ~y=>0 ΐ]&#j@FgH2zr9 ١Z6_A<§I)J,S.4Įͦ;U^0Q1}YQMavz3$dzhWTUuWZ!! JJj|{I63Y fx}#}#RkJVׂ]7ٛC!]rNW=9!\ƦG@VaF,6ՈKƶm42]} D$ 캓 }x5Rd 4mяB|daV^>@D_ZFAKR87.~OC2len2`r<f,dWb؁.Jxδ:; EvAC@n)s.)NyD9J>/e$6;%0vQ 1{nK<hz,01S$hHUQLq&c+457_m2,@ 9b*B\o>jMYVRWuA rPXh?sGPU=lJQa' rLl\edBp@C vƔ!!ŌP^1 %wZ$:vjeLzwIL hI'˝:[鱕D aeG<>’K`OP7< ]jirHZĩIq鈗' 3A"IAt[IH '5"9Σ"!jEֹ@tM։_1s`j7-\"R}_};.,hȐoR?ڂXg)D=ƒ~9ɘ.q$Gb;hbjzRûm[CCе.(}EU3Ę,{IkrBŸ4&}v%.s,gV;f~Z˗nωMl:7nУ!T`!1Đ[v-\yy9*x=QFִΫ&HI2>K'> Xe7_^y!K]m47z("e>&WFTJ~t@1mMb4t'Ҏ{ˇcȩvtHXhOt4 ]UZsL寅v^"p|,W`~ V[>q3uOHWχgE'?~.d'¶u1g*AQ'\\2I \dOn!w.r&Rp+Pu ͶUgP'C">MUz*+*C=4EeBPn]ʲņ>SՏTW<Ma,@ZU~y ߩBX&ڬL˜mHc̼ٛsFN&*^jeWS!qXNA4pS! A, E1͝3SrOv%E|U2 hҠ"\׻baCKw|dn͈-Iw " gR]ѫƙ~lq{?2_}R VR1ϳ(zg{t"q+nOԅ1BcX,eBՃ\byUG$|12e(3OFwiBC$֨*yrXyMKh@J1)uE]*|F44nt &{gKkb7oc`7]>s{(hF OVÓ!%<h҆)y1VA2Q b%;\F?a|Wi )C';I{h5l͖:1~R =`tK)^4Z}ߞU "4%煘Ogedf{Iwv ;B$eq]-VkKYXy{17eW90'D3-)@„=SRQnKNWt%Rd$Ɯ5." hו@z &|H}x.tU7 Y [9_=q~|MOc^(Rg-na@k4p>4(!RXu+L$R iA7pKUXPO>r?qf^Ylc"}dY#ܝq;)& Gh=j'dvCzsjh'6=K@?\HazA)p}x}ϧS62Td$e&NĂN 7!E5FչHU)zQ>0jFb[*0$emLs!h!mM%5^ozIȥ[^R|ch+EiX*|hhOX0Y{H*AaE5c`ǖOaE1[:*^wDCLxA9Pɬ{NA|S$+#7LņhAa:<.AOK v8} Q<@Sg 9']操C`6XCr# a=SHB=)kꆪWmt2c[nLQMӒstt7r{6RB,!ƮL|P1ZDD e2pU5pt˷Tw Ctggzcf+rx mGL*UQ{Oړn4T#TgB#`)6U`~MUPJDH.<-%VK%4!?B@R'Ztr&v"6}/(r{Q_E!qm Kc@Q ƒ ]ƛGIh־ jn뵟6/mJ0]Nߓ…%@U>< +46QEt_6!EXN̬}x ,.&4:CZ[P:3r򷐧 4FT&)i*>+6;&AMuw 3]oM5& Ϗi.jneH>PDX3K;uRLj#Z)R@xJiA7Άٗniw=}+尶:۾iݹ;. ƞvGP\5(<D=}, ƉXȢ E& KZ{E}]:ȢQ AZB%Yl< we.XnM&97A ~U+fׇEgwJD9~H?v_*$;+&9hDSlTsibƟr65-J0v^dH as9悒1ӡG\Ǿ8_UeEPuT;,\~;CeF<;^b8;siMF{_.2gW}#PYzfYH6L. n0fN FGV'Cka3?[T08&9Fr!=/\ss,o#Qi4I#IO-2r|f>ZCv9pg$kfyѰfZz;80,uTǙ:4II] `!Id0!~=4#_8Ecɪ'u= B]W r';P;]WWX;L F ֶUpO1~H6`Z)p44EsPY @E":Q]~%O_+}*65)*4CQq>6Jqa8Ø}TU8.wpg雟< m<ҡ0a wFt|n0Aɪ94Z5E 05+eJVlXY^g`NGh B0Iz.p%o2^R=(kNνʉ'?OOX~nMk2FJ0cP+mV,i}P" G̀pX(ZA"U>yaU*{yPCWCZZ#[;XH x[ 0nhWÒ8;*yefzW??c'dN. ` F%=mˠm.qX$3C`h'U7ݍ/;Rd& BtCZ+ )=>q)\ƛ2c!e>Z )BXC:(QV6 3t@#/Tڹ¿e;sλhvk9&0}> V2Q^UN{ N^to̼~MEzyZvfu#`9SOC\"y[ѱ*n8wCpJB oK%x+DvQPݑnT/!7sE^5UݣIETsJ"Lu@').3v{Y+V=}JV.-'t ]ctX!*[i#lJ$ y"(Wz._|yv{StTg"0QarX?|i~QKI(d a@&>[!`> jg'.3G gN)NtD>,舄ZwBrf41#6:{1I)ԕ0ip4.{ee^Su2w ص?9,weӆ0^;pLM2L,b< s";Y1[=4ԙq9{H0vqAl)Ĥ lauK%= =IS[/HEnKJGU%^w\-4fX؇SVea25Nz$bgrR:+X"J3Wb"`IcWШ- ~jĀЀ7]sZW\G_x"h)* Gy-uVءXq3Vlv*NZ j[+-M7ҶyIy%Zbgf3;d't1VGR5-h7Mqxa*^LN#'`!ͨ#p2ey%-D> 2,T;S9WD Zdf8jY蹘m>A6YU1G.0>NyR7|ߞe w^ye&HS!_Ӱ-exSTDlU>T>#1^aIW@FlТ,GFo.}"PjOʽX3/Yk6UibGPNb<=;5B$JF1\EJ*LF&J>K;WlsȐS$Ŝo΢͉X80Fɽ{>Bn9 .]˯$=0&m5BwQӟ&%vkE[Xwc ϾQ4^jAy7Y+NJȹVF;R1LN (8JihVR2oC3&4h {i)&m^K4Liڂ2gK/))•ЬYJ@L/gUσmExċ/@f5.Ճ{S{wo/: U&=-;u]r;6GCjD V@5~-ʝS;rw'̄>gqV5jԾu4v^6Õ=)9}Dz`{{+A|6k>!GJk1 N,WvatRzzgD1y(˓1CLeW0!| (yDf15EZIJO.EJ,LS=f1T9Ж;t0(R 8 |x]o,U A"JCG:{{XZvIz$ZUGĦaJLU@f/6@|RXvV@8mlyp VVh*%k)+BxqGq:-(Aˆ}Bvot )q3 vzmcWt4? a359;*Xa3yO*OYS9S@E lޞq֤MZr/^ –q8\[\ֲR#B,'>zU^2M .9t@ AGL#/a(_md|w@ŒZTȢ1iM%YuM OzDEr2t7w]@'K(!o-0%-%~?)agJdL@z)B>ƷїU.}ԼƠ&\(;yP0 ퟁ*,TO[TofҦ8W1J@)%}lC^;H=Ht۔zir\<P$bIr 4;6(Dzφz{wMȃ_uoض2vK N'vvEё dt~ e֣ Y]ZǶG7R6& x6!|{bd+L0]6,S'9wQvMҁ cl'g7#%Z~0nᕫIgOf|'P%BX\Vfּ)GA W[LJX |%J{…)|k8U3,I3HVAMKd,ci4= >oH# &w5e8Y-AcS&|pO&ChSG#1 wH&$V:R@z DجSc[E!߽H pĿ2WKʘͱ PBtNxj1)U񽖹| 0½-,Ko; kywN[<߷x/M~R775|414~URIxZ&]tD27U^HLSWs?XP2ш~q͠@H#/AVelP*zni2F39 Y H<3H v[.WDUȅP1DI~t׶t~8{R18Z/; DXe)ї?ӉP T2]Q<윭_(pZO  g eeFT|xq'ecl$>Ox?fjxM x]/Sb];OqjDz3>gnBr?FYIDž ?cйhwhIͩoS%cM'i? bS0ŋcW}ugtkZJhnHމ׳6!=^Y> a8w(TKѢ^5+ RQq#9po^?GF+[ dŁ 6IҧSO\!ǥG6Atc%>_xA̲aQY,њ9{u&(JȚ(S\ >;1z~Wu5A`pkk/T yR90"ɩN"!8ur$\_a/8G Xc~gΎ$GZl 2<6QdD mN;E,!Zh..à0,|2KtLnPt;2dt_cHt1q.iRCb~ۥx wkmWIlÌs?+_60bISWn=!*=q͗4UdYDᗟӱ` >+|ZPi"v V[!%PmFzX%R [IYOxi{& AW`Elz)ѐ#W =1$fn-͛"Y~G]*G=Я=; + ڠAJs %ۖ1p]ϱ)*ϺJxh~SլY}p$0$*6ܳ-`;V]dc'Dt'Ų,lgOCKC!C j%a]:[= W6@.<~)yɤ;) آZӹ޶Kl~fy=A.I]Z&4=T"fq.jP$ m0K9[t707QW0w8atM *8fu2GL`+ p bR\~!){Y"m#@ )>4vLD/7 Vb^:,nC1D}m+Y}3q@(nfjgse<_ꀙ-S%r}\JunO&K="eK VC2XR9BkFt:OF"v=O5_)闇fs1A}%'Y6`gQn+.@D%,_ ڦoq5]Peyɒ7m:VKұ— >]6'T-ω p^#P5CltRzdcщ?Qv^S5͂CGUNm@ sC7Z=8p aa W7sH7"1/=Uäj$~J蚗wPR FrJ5zeCOE6&c']^WWcDø S10JT4o2Hĵ7pj@l.K_ ,`ai"5H,@TFá/MX)V-9 ^uL ު0LOv.>{JRRaoZckMB0a kH"aOOK2bwx7ڈ `N,Ix />ng Ԙ8ˆ̘nuϟ~fџ4}oW ɘzK!0E;|uG>\h͂{*3Tw6>U*Źl@ev]iy +F4EFpCpprK}dh  *;s z| M<84n =WAb5(?aR+W dS {GC-V**1yۂg7QqUZQڄ*,6]ZǷ3:ioUrhE'ݭcǧ\8$C^Ġ ",֯r&ɖ~ܺBlmkL~Y3\z\/ jU7UWmw bj&rw㩗DcQOѸ!,  =_{E.<5^FU &6RF 0u'Fϻ+`A) J?P"tLD0$!"*!̸@I:4n{F fc } =VK$-YVN8{i- :ީ8CG;;Oav'! 8%)qg ȜeuH&:%@MQ:^AeK](ǵ3xxj`G="Eub"W4 W#J" ƒF9FBZ)цR+㝲F`Cx^Sv U8{d>HTlI_TzMg$S$ZYzeVEI=cO\ݩŅF)}$H pF}/ p'rZA,U L#*Pwn T_~: J_u;Gt-Pb#ITB5A~!,듡?^noUjCCv@f Lf\:ۜaL ӔZhdd=v.^T9'ָK*.;,_WeICbiFHU*}\~-/WZ~F9{3q0 0M";! ZD*Xs(st .6O#0Zu5>)i]$c?f5hRb>S~!-gS|1bb6v*Ԋ/){iFo+L$ѥZ}H~@l8.buC[R?2ȩߐA=& N }pv\#f9IGXyW+L8.G0Q{vLs33V]@]e7!<@uGZ oId Fb yd-8pZ8;];~4_r5Qc%pT(UnW415Enb"櫭ϧ^](=:Ƥ?]s{UDEJOWP2 2,s&M~9bp_R![5QRV=10"_UērTJ .[ )\T?1!?/x]))H ЖBe%8R E ?%;G ~ؐcQ׷sM+oL5< &P2ꈵ%kBXa[~Lp%,B^S*A"4#GfM;Aks4x}[ZSwl"Im4Fmq&;sC \g2IփN:~EYxmnxx,>3} iiX*hK5 T89w\o1_0 X#ͮSѻq7˺ѦlQ֞C]m Zvi5GgG֢ CN_PZ q&nt z##1?&$迏ɡ2^ݎyfr)?9|gVA>=BElM`-dY6u qhkԞ gsi_]sbADE8e#ev}9m(?U/d(价of :Encs‚2Dx)[ `W|Ӥc}Rs^6$1ӨZ?-!zTĹo$B@߼|__zGUƉ? /XVNęt Mcr5Ay/J^p̮{زHXx/%I38ϒtiW'8M"ݪK`ZK1j)rw3{b;[Np r#Su gevfGa-Uj{R&|'h;k )d~fFצ݅$D'Vjl[Qђ >= ;*|4b]3woRN'tJS3|5@*/bc/xZKJ ^%9zHUod\ɶ5yu}ݠIJ7pz9E]@mbR菗vNnqF ^8"d6 t D\ft-2myY l(DS.?@l:#A~-dqsI`9.a~ƙ_{9E{SR ;vq&ĻG2~N,%3&h8 I74.CK~en@b 7{j @?UWDQL$CCbf/6Jin=Hze``cD\ _ӹѥ{=,f&vt3(kn`,6 2u7lb{lq4^"QNc\Օn+l aD[ :ؼK-x;v9}"S<n$5W1JqWӡu{J0*>}^fYv;#ybZǦccZ*В\LCuw8g2nYZg@ūxqubDT%Hfۇ5vZ@ +lKnͯ4³SE%MwE~s$Fh' SUhGmXF̣Οԭ_V6jXD7s$3zLx  xӂ5-fEʃ=p؊,ϫ,|PD[8'{r5U2S;FGʗ^l{Y1IH1˴!ZZV?$='J,iL UzH?_W=CR$!dѥ֠k7arBu,`ֆ7>هۏ T7Í_ m1cj2p@&xrbF}vBv*c3oJLnLt!;'\E(72/c/4SQ ensh,O.b0B̈0 i RnѮ Ah1Qfo'e;=&* ~'LV2."f Y2)˗ a#9 Q/jrAi}jȲJu cʲ{|- 8W;o2*2z#j9U̹j$dm.\{4 Sj8[a`@ #6r. '̱V `y7,9>.Ih 'ygW3uaNBk mc#_ S,!›PIL57 !qe'Gb9ZbnxHgH!Q3FGǡ\Wy %Rޣ7+bk|`Vt^,` B^Ku#3!?[:ivSLQW6݉3lץEO8f~T>˹=LR%{Kk9@?!5@eI xYEpSN h$>\!mV|TEGn?`IvT?\+gDژ}]k Q9% aU-zY{Ea YMc~jvKx i?|'?OqLPWıq;ZF6.ei"Cٛͭ2dm0*D$ewޕlI|>٣~F1'kvmygiղձӕNCE ɷt(aI6g]1 W<_5*c%[oV)HJӸ.XpҬdY Jr\漛tB?28InVa!Qxt\F Mim-燦+4 "> fDbԚGtD_)_xZUp%6 dY43]k˶ڳ-6>%Kܘ=Y魐]k~bHH[>Z`Օ^K,Nx''w,Я%i-KIRMw__UC}][qwY1DB'Q°!B &sO H=yFea2cF[4BF",40X(('-QI=/]X.G /B XIH W;%V~k[Z?C1KodPp}; 2nCN|;Hq/ZhaH'-옔MBmIN|s.{ƿ BӞhξCs9*d.)rNp;Ezr AlEd@G``'$eXIw[ؘb^PrVv$DWE|*XtL{&-{Ʈž_*qR^ۿHi0XO0^x h %]vk]wfΕwcyXC]pvcĞC\)y@럡^ C.x]cΦ>*s(z(hEW3S\Ո o ZWd4tŷӕ%^/ƚ) Z>GNթcԌml۫{z1 d4fo)>vt]ވlx4Hե#ZW톍%N -6ч8}S\zi5AQK[HuӉoB#.`o-wwρu}4o7EbS5e#W t,H!D II!װ2)rO](yeТj~OC~n :bt A:@TWLFBϾbc1ICIa1J0%cj&K1 PT!p[Oyd%qs.mdүn N]%k3k6-ͮiP|_4A}σߘW@:o<̇OMT g6%m10 1C Ⱦ=0. Gz~D8֐m{zڪNxyZ@ Š>iq׽E gFUa^:kY5x&MmQ "_TC6^FMhmҪA$=sU?^:waA/y+,uGV/iʳ^j?'EIN;@V1!ܸ ݔc 7Sb(QgfBs}vxNLICntXE wň.oom$t@~:]jZe@j/G4H˯y1cCR o~r> %pt:7!)k8G]Q nx^1-3@cd^xI_89(qj CxIޞ\lG? F:^Ags9]pԽqcDG>%Ѣ -.{)mZϝ΁ɤ:Cxg{ jA0{f7G+ mtgWE ]WF\_Y׻)""! 9l%ɲ'U(%'  K𔷽#] x;n>;¼n@60j5% 0̑p$ ᩷ 5𷤚j`k@[}$_ǹ/&(/_a,m~SHфU}\űJ@܍=mNS aū)T,.W, wC'rJ5&Wr~Rv 1\V#¯/-"{NDQPK,8?A G-bo iQ5g@kg1(Ug"s c^mnHwHfEƱ4A45zv2ZE݌2>GoIj`.x#S̄㎪DKx8u2qV,U8ses3Z(vE[[$Fi/J_c81SjjYVdJ2kt딒B5Z:m B*n  ZkyʳA|iV%N(G) !W!]41YAvO>p~NO碨AFږ/E^9J ʙJ46bm\gJEwL8;z&ocAXA>V1=;Ën/:s_"m {\^MkJ{TQa|"k}fl> h!&B//^Y7VJe/v| %ȜR_ . 6e"p[0q Ջ2O<ߟT2 l,U-eMU / G0pJ"̓&* UHmq4!]|bCI@1&H: 8:O[IQ}t -A5Q(IM䅯*.j+=-Y]9\M\5Z8^K$HZã!`kmX@>.+ ҫQڳGaQ@Y_3: whW{H 29bZL("GIZZC혱gf?z0hj^DE?X*#W`v vReD}ӴO]1ޞMXRdvD\-2@ujXJ_$:bKh.R["l%G^4bN.ɇB^%Q~ģߐЋ&D{?DSf -4ȮZӠ%RU uV@͊׀>v yX Lf8juW!#gˠ*+ؓ$ish}rQ Ǡ"FJk %_n%Ph%S+yWOlxuє%n埨&'K!ъ]9A*D)ǝv~fڛ3Qݜ\~HnY3F^ZIRXǥw!`S NK%Luɗ1QMs5?equvaK =a-缯 dڦ23F`޲.9=C#lsүu)L7!MQ\P<Ԏzn>erhߡK;/Rp/T$u]t,=NDQON~ Qk/C>A*ʮ¡nG٭?!dLQ[h^<kO#66#*)O6S#C6zh{.Cl_UsTZG̳^:ݲ5zlC FED[r2_T\'q̵7>$^c9W5!E}lw m8Vs<`xbQLEzX"WisC,}F8|տ^0Wy :LRYuy#j2^ok$U}lT(Fy™xgoORf$_'6g]n-TZr RձejÁ՞klHȱua8hB),emӀDZ;F#/ge׳^7m\@5x_ØoMQGF#kZO'l# ,` [yU7/Sy{9cN9ߩxM˵5c)dv2Q!i9|HNS6ٷ 0Oۮ-8k1b%yF`ZB" PDT jq{L0`D' c˴i^:VC4 [tV?6XUiYܚ:A~!-[`r,cRG7eBh& 1aOH~je|G Lq.fsg}20/Hؖ'`n 88y3(S[ a$ʖ|ЋXuL03 Hw㨦s>&r9op{-%'ջBtEz(|ƥ}ð%=7DZzMq5OJi=u'׊fy5h{|E %IQ2_:={Ne[ϔ4!{i-v+yЂ2( ,5Dp(Q(-! ƒ(,8J[we~-SX0NMÀ껀9*nӚRQuWasnn;_ l ar?l|%:SòRVDo.w;=rad28]T M/U)f;CF}J 7R"%sZݠct!Q}pk~$O Ĭ7i^YͳmO+dwXZDK_nߓz-b1Pv$D4GItԜC,cReXtZ}',!|{NVhGL/үMs;w6#z T "/n |= Fi3dLV~H9I{!gk(˚Ӹkjnel2&h {Κ$4y^Mff_s@'H }WA|RܝZwZ!' <]o@yO ʮy[fҠJ{Ҏf}*mF?i J ҬfߜD݉H[~J"}acG$s*HRΛs>C,+5~;Wi1C1M'doݸ?+FҤG2@x觠 w[AI}V(@{x κ~xԡsR?*wf;E}.RwyIyBJAE(D\o_4i y!_vk* xLi9223N m+ [u4T( <ӌȋO}, iNsy ~5M'?lYu|5;O2kngeNQn330jRߏgISTm)5h)h^Ӷ78tƟU Q+ʘHe [1F}*n[py2:p&M]U!2Our*6S*9[[QT%-847|hVV7Z0D|&Ld(]]`݆5viOcSp@SXuTŚ(oP}t$c,S*{C|Qd.1bK8SWsE#~>&+JWsPM4rE$H9b'ЎBEʘDS4G̖~e-lJ~@\fw[\%bz7i7hfact~q>zRΆF*0`vڭ[IG/E͹(bq]P9PYAڒX_G=r.|dREV2|OƅƢה>@1b ߵAKť>9g'}' ^4_Jz^Bo#(/5r!teX$OeDtīq/ q i^Aǚv@СvnKoO*`d'`xRQ28 .fqF19%|#ϸ -H ~.@:sxAE3`w5`m3M%y)=֊}16ge£X,T[Dtϒ wؒ+roo1˻pZOB hK-ӊ<GNk&W*I-b̻jPd:qLnZdhWWyA $?%qbBnrG Kωmmإ\0к(0nLx2R|LZ ,pZ8oR]!;qZ?{Tg9"{evIuP)% DjqOgwH-3xH;q;DHV`{T mح '$XbAM|%&2WJfiɸEL&Tvd_bNwP3|̹~k&+ez>]ghU-zUUX k)Bʕ'fDeħc.ǙSXcBPAM[h;}d]-M(߄n^i;%,wg֪,CJ@:mC^ZY$z6{\o "ØZHfa<Y9cwT&LFLs`YŻ-1WRI?SƉ,RvZ .m#_R8FWu G"4Bd1; X ,e~D>J5 $3n4y5FqfG,hJ}}D*kh9ٴiI3o#|MN솨fB#ϵWs?1pȑ{Dh\D -e`h ZsA[949S}PB[OWRs@Ub{|4mƓ9u4"Vl%L;8?xS*1ǰ]PӚ)iw3~>=pF'0覂*!t-<ť)lfrd,:͛bYOv"`ȟ(j{}hL~k&Ο?+gE{797l%܏'o꿉hySմ9y#xVLBQuױ=, WpSv1=S7e*N?u7s-ǢI#x iY+t'+pʐ3^)2YL, Ɯhl0PCeDiv2zI㒑,4>&X$ ?XsA%yCSOċ|}0pDIWN>fS0GO Bj/0S1D #v$#ė-[pA%lXdd9'ahy*^ٹ*!'/iWdq$o6wV#>٨j?hCBF|2\Epe1?w(}jZ/=L)6^>ƛ|<ʔ yIwާPծ#}2C7rfq ipy9872H-he/v*3产7H"ZSoj 7'{㰴&PEq/ IXyIi6hS80jE!XW(gl8s(\>md򅛳Xch_x4Ws (fپ#Um3g5dY#̭W?C T4j]T<\~ss 6b LOڧ{ r-uS$ǓsʍQ4((pY "eחL4A݉3H2hF^ ί1p1Qu.s]TBE|o"ۤN,>~]]*7XV*|V9z(*E>{T#D<yw@,k M5*qVA{^Hri0߿x“惵; ڛ6mjU" D+4ENu uj}ɂh논mD,ULU{^AŷWp'ez[j+@TI\mm;w>Pí G0ȣGgܶ })3"iB F%/A#b_N4ӂI6qǴټp9J|}CX!;aJCΈ!ɇ* pϦS !7pG.1vœ=X{E(V,X-T5@M@UbPaP0a}K^|B3UJ\۪SMGզEs5yMȧMhzRԤK;Aw0/[WknSblUogcc.r`g7WFM#3[ԍqUc58ז{.^o+8Ɠl˺6t3/--}kScf po  <d n!-.ըP^R6~t&p (b7qr26%LY8zl2A"IE@Rh1[ZW_\\ mb`^8HoFRl|2Hn7Y_{߶]1(Xޱ)yIz2 ?s%.oz\%n' 9ꡋҘ닙\`B}f,ItP`v1Zk|پ&tYx%_Y ߑ qNE'0*ѮF R+^ը2{&fi)tzɘjgR@I;$\hw$v/} ?M#y T`% Ni >4~C4Mp6f_#LbHYq!EH'xoNdjDֳ@Ohoşy^Z`.UAUC>r"P8g%E/`v;r_Ps3.oHfNy tvN6JϝjV,\h͘W-mя(5׾$7)o'%|՟,"@sU "u+` >nV7 4ўTc!vWiV>Z ҪLB`yU@AYk'W0% S8Ֆ۔k6iwDzOkΪa" >x#ꦃKy*)+'MؽhX)gYDa6hPKBA"gz\F ^d-e7?rptP<t 詗\C)gIu)VPx{:!+"Vx&ֵHO6+רWb˚*Z1%HW$;m@r]R&Zm{8g-3UooqN8Y6`LG Dˏ`PL3*B@3T^ytsu9aBuQ,A[sҔmI4Mf:=w!eR-Q8rmE+KBvTgk>%-L8ÛQ5b=01'Go&ZUB%?{ u3rhx̍w:{vWL~ Rvz2ǢD6Kh-&̘*5}a8޴F!lط;p@r&X2on;Wl!S%pTdmQ`ֱg*(&AH@"A1"rU]2iW'}U+ y!^5ߋol% Rf_KhȻgAEkV)l,\< /WXx3)@[fq}Oޏ ~K2(0kkP8Ҕ*dw/5F+"wC+Hb/̎hf|+WAƾGG.+];aV=C,Mh)'>KQ%ȩ\_(G) h:i.\9իtxkue )8ۖ]UtAHэ\e8v>/v[aT_fw?cGO&lyqX76[h"V8 bɽ"MGIe9ŋzKhE6[{l"=ӑ3Yo;s/'|gNmFjw,^MOmajt.)Z8Kmaf_81G6?$gK Qt֭>2 Ij_t_a o@}k@tEb8L} ;VX<ã4ytKx" B112r)-5k؁&ByqTB#yR*`^^ _cCatRKPQ#j248i,۸ %XtyIˇULpѮe$}SI9% 'Z&ڸD86@!*9O ,߬'ag8)N7ʴma?B430e+JLAH3+3m)2,q֘sצ _Ad f uCm -ϙh `õAqi:(G aD ż cR_A x4h,dWn7P>mV]_+ 0S_~yqdߵF:wd~/(RuKި$Uw(b3+=%hxB 6k8vKW~;1H&'`gX`&M9suC\} hFVgp<채2"H5]6X^'uavN5jVAcV!xQ>my9AuxЮ}wM Dw ^9+p۴:BEH)2EVd/x5+}wmP.l@8kn%mgEݿDtGPEiInfzyF}i0c}sx3ɣx[Ju煷B2a#jJ7:=h'@<`* ۲Jh^]7Ȯ߿GI|h`^r">uV0Zʐfo^](a T[7y@ZG=ނjstﴺc CiD*_Djgs*6M5w yjmwYN;~*A⴬&/VR,HGKĉF'~ێS>!T7=$"Jaݘ@Vl `2'ZqDiN]oz ;P'I!H:aVIF*'lDpk}Fy8*]I#5xcb221y"{V(K LzWf\6LKkIϷi0XE/n5(ML- q5fw4]͇*a sɳ\)3=o[=ihȼ{%Jpy$#a[u^VEJ`)}8frQ:Z,ɥ@C4hꔭsy9,'TSlq=$b2e_K]@0ytF<%Ιń fF!Z5JDŽh74+lN! ៷r]!=&$R HBG& 3} >3ۅ|D=oAGf@!]eyX  ] jJS>1:Ayp+gajP9SO1i+\ô H 4*tu۟O HsSLaHQ 4 z*r(VX0JS7H$-nSIχ"+"`"hf}'{eL OV[}KFc_j2Y4$NWrSDNtrBÄ?BbPBS;K(t5zJbxQZCOK$U2$5z_๡\Rʲcv=$w?贎ia,vs>rq՟RS󩛅-_+i5L;{M,75:uY~pXy9Jy9M[j=*o.}lR=HNX >19% < &\Z:DG[h ;H3y ~o~_ߡ?' ܏B+jv5zGF%gz82/p]:|{/]obOeNF24"#G[vKNZ^[T筅Oy :v{!wew6rt&~z,I5z);~Dw;O܈ʚ4hՋ7H+@;"]:Ao~[)p0I\1 -)VNE΃7|E  _s5)\if-A{ d!k5`n-g[ obId+Rj]kyn-Hb-m` d{I p=M T d]y(`~Obl@O<l\kb"{wTjb 艙"jTHN{H`:]^x%,8ps/s)d*R %Qf&T ЬbIG7!8 ¤A}զ&JB(l y/ O?<#?: ¨ {X)LFG_ṕВ$2%L¹M xs%0DPxcH ֝ty[B_l l-;;ǶpӀʢ+_4)>*_@1缟#/p" 7 `t [WŽ!k"dNjK'ؼuƇ5˪U*U*JZK#\PVIAPrh^A5|F:gWߥYgHUNjC:RuHeo}!1x[$@8u~'z"5BBtFFȶ F"^fmmJ4`X1F̚xI`ѾY&d6R}=?+iaC'b 2X4m= Xĺkꑈ3 ,7&?V6n<:fiz rsb> KeUb M}9-06g 젠gҖEXPC@3#%kR39Dup o?v~2ڀQcdϪm(z~/u=st:Đ+N<[a5**aA?@[Δ2d$%NdqybP\Al@oyLZiG(qm,х͵-)MQ(\HLUX=OEֹOt:.ޜ>_L}`ڏ᭨~]ULX!P1^YB"Jb'XG9TQE0ٕУ}д iNR ŭ)FM>1[Qh٥w1Cd:"^IUo^ݰ:[x}_)YL|_E$8d֖Q,{,onv&Avr=,n:m?tRA༃;.FD:0lwbn y:N;Kdᢅo촀X}UTiƠCwEI@֕"Q=aw q r>js_sOD𩼖y}-aJjeF CpI|In&*-ѾˁH_lɩi#nWBYԋ~h* 芠rf)3TjTNd,TKBg܉+@kɁ,Srmƕ1 "uY@7b:0N6y>3*Ts`  Oz6@?֙|ie{zJP03ؕVtvP*+_߮ )r=جmrO:ZHt+n#?eS)rJ#V&ҧYؘs'qAA`T١IYxvtΩ.WA޽6qN^bf*lv!j3)]Չfҡgى-tn΂Ŭ$u"o[lCZc^F"q4UXj'׵l^aEO?jgiUYv e6͉$ H0Ez\'{X\h )f7N%I%sQ^ueIer ϖAtN|iv+z߄س09Q#ڽwU*] :*9lIE@wWne&0uD6 V|cGkC_% gFꝗp)!N,ȗFs;E(x8yRI 0(CD貕 4. Xݣ<(nN<y/= ^?޿v Ũ,HGRIW12券Hm̩k.J= E"l! +D%W0EĞ]_Wj >wP16@y^JR^de ;F(CZ|vacMUDZ/hq9O.W9L)h(_waZm|ʌ`r1c*~Ma2 u/&4?.OE4zK_Ih/aK#KyrCNĝ.#~;a¯D[l7\ 9Ja33M}`7БË[&S&-ƤƸ'$;ף!5.-&$e}ϲRYx7U}#+]~-(珈{ʖ 2U]nfc+ tY֌ጔq9ZOq i0DGg9?'cm[?GaIr_뽓iB0g>I9RTJ34fr53 p#\!~u-F=b mے)ޏ׌ b(Gs>z`h$k>H1ظO}s&MWIBT>NK-yU*;㕽D RD;Wܫ?EzihlZ0+18˽U11LV~ce_,[.$Τ #n=U.=oR k]2F}~R GF8(w3ie$L.q׳U9ԥƷf?04ضqBK"FT*S˗4]sk M~:)SK,, ÀLf*M8ӱ!eyj: !۳:]Q_I;FW]?yVب#EnK|GMz)2QF.ַ3. iOLpO v D>eP#ԅ_ΔyZқ3; w yvK%bʑ+J4ȵ y¾O6jw087/XE HIrmNk1uL$HB΀f\^$vdͦ*`QzZFXi2z7!YrsbZڞ DP YP)𡔹JSB 8scYeg}c}x3uZxBĕ+/!XzL蚢hyR|K 51̌+XNᦋ7x\:5{#N&- j?/917^rI}Wnx:ꏯ HGlBk}suPU]lUgWj*E*6q"zTN[lW`֋mP 8{<e1Gxm}cO WD`P5DDd xסji,L4j 38d +` [/̽|$h#if^^Qg9 .џQzX/\oIFII^lV?GпsmR~`z=|o- 46|~>_Sq[ԠUSw*X챭7b $oIG8 z[r SUQJ OFSjq6gd*}X4fu"||9dĺr~k;ZZ[w͡Ǩ oƀK B,N'hKMQY; D@(¢Wn XvZ˄.> 59Xo _銠i{{>&2'MW_;FAA"(Y_u2u6}eFx@f$m\C FX3|; ÞDo`g-",,Ŭ^=Qx<~"<0 IN%pP ߁AJ<ɀNQ=T/1Բ(-DfT\`rc#g~[ an.LNQrPP~S/Fq ASf&Qhp|J4 {ΫsuҴ=r@(R~F3([r(+D7S@~0o%ID\JI%ߠ2cu <%)l+TcN$wo;BO .i7Vp[N:/lt1)iDÈ}ŮpwlEtٖk%T5Ϝ?ರrkkع͐7mטxys`Jҭ g ;1p`< diWJ:Η͙ 6ddNMQm7 ZO{?0L K +UQ{|DjrDۃhH}BG_3l?A}\Y8)8Vc5W:'l8J@M, df%7oWPƥ>a7}ɾ~?; KBd@*uVRɿaRd T@3=W|}̌9($pۜ\j{z2c; ɊpW(TgUnZJf9 &gs@C9әcn/͑,6^aS>eT:# @)l_d+ JdvN"X$2iz?4:>SxrK HFF/=A3fQ'@]_aؼDNlc+ՑwL^@=]ttͦ1o1]Y%jJ#,jHdyD1 |9+EZP} nu7˧6'B?kFH~`6,d_֞[B]AO:aX􈓊FM:B cHrIXY!7W   g$Nf%jJYA1d CuKa;j`(bѯSg!9bzVA2DѸ8w>th&*?^}L WNUqۨ9a Ġ5'|Rc|Oof#aLK>q78*?Q#nꏘ}{TN"g8"cYmѤu%7 o Je,BᡚwNJ6[ t)[M.6 $aP{l`F-4y'Q1g:7U_2T_B5Z~<E}# K=ϳ#.Fdo=.97V"Yhbt.Mr_Rj?̃[N(sA/!~.7y$>/rDKcӘ7sBbaI 8&{fUz%|($ݯB@"""\a̮+}Uo(J| ævZBfH91 k5acb޵fKŝ4ϸC9lf"^ 2)ɬL뤚]ghiSĵr(DS]ϴI&=>M;< kH{#vj$8JZ+k~^.y7Oa"]NBoV8ԑGLZiNްI :x }Mgh({<&i;k)d Kd?*BHjHs@L(@Cqx;Лd.'dC n7!-WZU%>Sa6Hg8vbef82#![IJQO9^n+$'jԊI}\|dy)>Uk@2# TY2.{B=G}䎚CeiՊvo)Eh3HxC(< 2r0y9H˭# XE-{ތI-+T4 $}k2M8_o<ݒfyAU^ɻGX5pbS(I]~esJ99ntaՕ[^(;&T.ٽi"[Dna[11`<1ʽW"=wTt_J/D>_/gi8c QtxzЮwGLvO Tf?_sklZ`V$: 7:V5UJl3Q ;5b>U\N#1RUqkz{2FWzCy47 5iT݊=>$Qm 4Ȥ x4J#DonuKY0=ٕ:h4eU?aWbxDyR6 }5sdvEur.+g";j?T23f g8\ٶdwv5&8ao}Ϸh"U/o*˾ ǘ2>m@O}<@5e_@jwAO#:wd0$2%P]<ha ҭgC#ptH*giF%x<_;Ou\eraL$Pd%[gGO-2B8",e\,7_Fpql}."f\G~a,òW:v:zufExg3~R"zm ~~x;[Ě7ؐ`J╫7B-ZQx&Ж',blJaPt>A36tHշ@+w}/j!>Lf65qg_@ ǐbإ(6yKuUw<sRzL3 FancrA?/Z( )Z.]9,2T޳95<<O3:>Z1[f %ų nS9z-g5`-HpʨTE] XyHW' }tu$+dZ~o$B՞g.{du SiYޢJL^.Br9=>ܗ#ujjľܹ_C&Mðح#O" &K8󷷧;!1\FhNU| #OϥǑ~*& K{VrJ`.57N6Yu-e{ya]VHߚX#B0' AZEv su|f/&p9eNz??Z]U|dbg8-lSr4ogݾMX#@97uI dp g1I\)^Rb [(8$΃N@9۸ 7%KQkEb)>] oČp@#82ʴ).j|ik`N/Cԅ<{vF .UTǘ?UO[o$ZYpPDx?=Cw}| Ľ!2%,4 L h&NB ֡`x.Z62)θVJF9HUyJ~@͏n?HocTzN~v:,^[GJPW{},Od{tcuiY"9N{:(ڠ"=llZYO(Ux HA"I[ YJ)s^:CD4 pBV@J_ycA1+.\d9wo|ͯӺKc^,ޏROsA89 >2q5 HA/X̘H5w|SJtO]);&_\&-z24]R]I,@85{꒝Tb2ӌxg潓ij@ ڋ>''G@}PaoUcH W39x6y06uA-P0f}0d+3@adֵG}t/|+ܓ+F$ 6dLzͯ5r*Hͧt3Gv'nDXώn"%רM5[wV-Fi0I=^Hs_U X`ζ@zs )kk^ô]L.vIzn*^Z޹yWv@@1^Rƅ& DԡIoV!Ng`F[gO7sBdĦݪ~k6N͹ЕH"627)$O6\8Su=>C-;e mFFegU=zr;|%K~)>C^Z 8&s])}t8 V$6fCyp:j1\c0rS#!g+hf/f!NgPp 0th8"dCN|WxV|!66O{@#gl !'DTRyhvMoX:u?!권Ub tأC08BgsQó֕홏_mF2b_RuOktAf4ӛA[L-|6$9i_z A֬FVaX3/V 0z4^Y>f̳uTBMSBĴg̐^Gz${X{z#ɋ{&wK[a"+H{*n 4TS%.Gz 1&+yn|8:QWw"1nF2$Lxvۗ9E*qT $DRB|I؇2⁥,"ՒS>O.0}hBvɂlIg3 Lr]Tez{KuA\sZQqS JzRumqM4 ޚp^{nMdAJo?L&MIVmaNu=G[ 2޻G ;ò'9.to1j++xR{|~lj ^?ҵuZBWI|aSؽMy+1DDs5XڮO:]d0LvuDn+J[zLd=k(hK] )1[$}͊ȁ;i+CEcضͯ<k{'T)JI'ŷ;#5)k HLGcab=l5Hn"|fzz]*N['-ypOT2 $j%޶SlRh 8[4Ԕ_W6B7L EY]/lOjI"5XOiHm Iש75¯aBK]b$EO2zi4d k[S&(I*S/0%;岩:4ݝbۻx0-6^CF*BN 4O]qaT2kTF9̗ʏAfc!z?`wW+$uoۅ U)eL[!uC }Fz5Yi80;NJ <]u% GV\_RUl) xeq1v9tEs]43!B@~D$&=1:0==B72LD L&>pn&T6WrP5bOy=k/ƑW%Iή_oE+çӏfwg~( 3ލW/^=r$|QA>jiH|w*1XƸ{4^뚲_,&7}&[ ;znf,6B|ah:a/SOin:H ;S1ppI$5؋ XV_Q0}7jVB/wtS-aok\yJi8l 0#WE4ɘePD@ ?Eoh2J~%:F,f5x&jvo>] SbѮ|i|2-iN.qd>qDZ OӳB(1ʳh`KcaNj5g4!G03\D\z.I[ۼ<b?wӹ<(:esLƬkI2`HBK {z)P r>E:1,Rs,B$/x3E}`~ FWi.[ qU,G;5p3DMݎsM|LP4@f=aHkW&*۸\J.Y<p9濿xIAYkyT<0`T=A}Xy hr$jy{31tا/5t'X=fkf RL}'/HǙ'5kS^✔@Tz)HɅ~lojz:D.f]3$"!yZ-Oa[W>+hF'4hZޯ@sVt"*?ik$xu ]b|Q)142iGՏTOePܚ<-ju=>B,7nJ=/';w''cnsUf -iZhݜ|-Ǐ1kkY=b5{BT`(O4k\yjX*ƫDӖPQbo|UZe̡0c?`U~u`-ڐ.&YnI/x=A@2 4&Z zo݋ ˉ[yo3x=\ ̼~x@5wωC) ks h0 Dݬ*E`}E 4ߒ؉ݞn9F'Y:`8WL;Q~'a'+wOr-BOs|}8΁e,50)VMtmЭ̩(0tRRKg]_zJojR gζau ڬ!wί_v1}#1+X5F ̌a`@gm (F 0wG@YEYSHZ萗gǡ3Q}mUys@v|1de6dU`> &b ++Y.E e\xJ*@-,h_կ*Cpשo{놭@2WBΐ'Die:F2<mݩJgh E)]3,U?&TꀭQL2 4 HWdꗸMr6L9e~XMS*#srp |3]Z%C<* n(.Mb,X_S i(tjfqtio~!VxXCB4+σo7nkNZJ\RxdpQΜ? gog-_\fVٽD>o[l9hɞ@̷+|vњU=w,mKO~"q3A+&)ӓQ`ōUn{8ء&%4NJ[V`l]B2#byDܰ/X +sa\AQg(|5ʤ2#EƀeELA*1,%\J2I DWS0!uم\goUhLR|+)'m:Xbe\c!6Y8~1@իQ2[K=iH͛ j#a#@%6_\s)g](ڐforY?]rܲز(.!~,T5hR)++;0]KAηXsuF8FoczbLF>in_Oct)pC>5\h˟;YUPƤ!_ 6P  ٓ {]~`Q^]sqЃWQgխٔ= |s+h*YkyfîW},r*Z.d0 {cF{߷AP jf~\"PmFh)ǂKC{T):~\OM:?o~:b[+ ƖBm >zYD GFL;$QQdmZ&dL*5hbp$S->-uRPrl&SPBmK4*{<lFۖkEzP_Y=xX1  7<H0A{8Л)"e{jJk3bU*x,ǑoR?QaY!\3]d]\R(˾Ayͷ\'5 g3V쵞cQQ^R|_0c P7(mfs ԢPG9l_giVX\ T^2(ӄǹsRGNB ~2~97;Yϰ)tW:ؚ(-c +f2B(!.%ͦN(AaJ)%mT_Sk\0R9"OY*2J fc@S`-엗dj$CG0sTEo傗06%ή(brm|֫tj˷6ߌl Q3A+܎`Q PC@b{}8 o2wS¸sWD9/FBn>'2b3Z"wH `H"N/qX"M)c[XKQ3su[NዧRͿ݇]J`άz ƧN1%);`);D?aY3^5ngQ+i I- G[SC(JtÅU VhxtKr/L[ }\'ߔ5sH5hJ>ƥ~.^F?&Pjp!d}tf=RI|4C $dxʭLCеbLN`E!kߡ.~%*7zz/T{ n5 h֍͜UX|ݙn呄wJ/ S Ia*e/Sڛ'.D^[u)MI2͌a)V<(V0Zg þ6%NEaY7SҲ48C4  :0zG1[6NXV.gh$ƀ:B*@jBnN𤧏tIRFَ͐Qhq(t ,rp,R?B3-9~S~XvޚF4 >sHwXu--g;(fD$ uϞEV:t?o ;Mk%@&ig!u<hתbUX>_q@@eN>"pT،O~M;) Z *>o,k?l2TDAX/Dx&uw ޣdx/ǼY6?sGq&i'/dhAT8UzGOhurS~.`w ж1ͪN-uFߥ q% 9(ߛN2(ɠjrYڃuhXP؇(֦#[DD mZh[ěOvS(X`$hKJɸLpǺ`fH'yMF0li0l0SФ4 ]Hwvq3U%J[RLp- /KUݛW&mVX>qE`!ׂIP_ې#1[=qx8$0 X @8u4f4ܸi= 84XT60QF^X}Ҝ"V6Y'W\o4^P\qH{qܰ\f1>D}Qتq4T[ 6q|=39?wf4յ({_SS4˗8> l|خا!R+L'fҗ"+'FF]u{Em\4]YUze|P69|H|l+SrS|67zMR?\?\;ȁ}>*Df7PpLm|r)=E|\‘>=QG%xsQP{gF5R]\>[6L/|1QƉq& Y 4\!/ BHȇ=̴Ú?0ngݽU wȣh]k{AG2 Y" #o|Y1;U ks@a$]O\f `5B 9|@dHBk~U#,Dè(gGQlwZ+)'=ԒŠ_l>$uAvwfeL9C#ClDBXB{mK y^T+y4roiL-O("JٸKT%\Ŭs^zM,gFϞg'`DXۖLk4Zt/J/=I *iW{؛cJ^l-vKsηUwYA{+[S v.IlpscʟZӥf&ƉY:Xwl*JZ"4[ITNdcH'rp晟~m{[&M&cɚu1&h {۰|2m߆ʠ2T1_o8Fگvs& b`.ONJo}B5}~y22' -Z M jVE,twv]+E 3W?IFVn U=9 \XJ bm)\R<՛BOkwWt $-gv\-luJSJƚ]\:5vn*n> }l04 9tv w}Ҳ)z$KcۈH4-ν#EӺB<#w## MU 8)J*4d%|bٱnx~4<@9;eFoDn K ?+.4@T^<ߒXPOYA2i\sd{Wu40nyHSk|r^Ż,r?2Be ~8b, 'O }C( Ќo"dҴՖˉRˤުQL Y,Khۥ=Q7;y#dpja Ujw6݂e*Q_>׆rnSҊXJsڡǠ5mlA?*^\iwULgJLDWǤQ@sUoXTb -ԝ}z8Mo%<_7d7G-MJp}XsFwnRzTtDipb'Nξ5M,[nyWe'. zdQ9(kF>ߌGXjuȯ* U5db HT>"|hCy #p,QC qa C IOap}03zMeO@EV`#3š> ?.(͛ KtW1 „sVYQ]!ܪz) '7 6^יk0~9r5jLR .cb,=*3ӡLi~;RZɓ s<]VxT@D'j rq.QW&8 9zX5'Hp!CZe7cw/e7w*Z~3B`63AؔC2Urɟzw}LmLopUB`95r>tc̫T*nU_O'wϛoF)󯰍LG^] Xv!+>Pګ"/"b!W:oŬT(s+<ٕ߅*D-['[IqS"g bI=nP%$ ONZKSyѷ%1ڴʿGBUTn2JPE:[ǎ Ԍ*8#x:k(FAʀȈŜw74e/Ơ*7I?L0$9Osw2k?u]ҋVƘ]MaG:~14z?2v XU_\GrX^sltÞi}'^ :+ `wnji(æRXtIQwķ+hA!9=܌>qtz46pW& :D7ٍٗʸ߫QTgm ԡK3TFbZܕ,FgyWqHKClx! _IvfD[s+8W'uD'R.0#̀LQLӢ:3(~l]6>Q˥g1`#Vgw+h&H̘= z|QɕYa9t=}6dv^9D-e?b.MN,_~[ BjB}2)7CȘ/8}e6W}[bk^70'IL>#3Iqsۙ PI7) <Hˁ S4n%A[/JN£BqO4eY߮HH-jswiBWJ$|+PX D,eNuV {XKTG_U ~Gc?o)l-jFv=͠u"+*. pdŹݠǏ̭|cV'qXbvz6QՃj~S|`a9@?+;CIPolDE(eMɻ`ڐOW 1ʖXqC#3*@I&5Oǥ9xFſt̡$o;/@cccF봔 Vyw/zTYjȪQ@=z.+f35"g9Cx$ȐE͜:5Tl=H1K*<{%t_JP̽{rhzZS}h:N|[#$bIh "r"9k3kz2%Zc(p4⮪慎[ 6@1=b|@X@dQ/zIe'ɀ)/rj$#X Q Mxlt)L&Q!?81xIqAmM ZCPLvJ߳> y+!q۫.]m^r뾈[v0v# ph!MV>v%Xa&E(ҏiǐ٩Akn0+Cnz}LGNLhүwdw(f#yRA Ц#ȶeəʜy}bÃ[h7}ৌ+Eù7mz<ȈcKShp?5Sw\ .òFyyXn8wN(mLqC h<ܺgd ZNvxo (3%;?awΕeR1O'YD3mi$_vJu3rH'&ٜ Cֿf8l+Aj~yBBԋ( 3 ?HEt/D5vHKVNx J !89f[ Tu5Nhȏ`!ѩ_]?ɡUO]/Q"!}˱觇p1 {]״i Cz;V~f ;YtY֫f,'mQM+_F%@֬J$>*ыu6kE7&!P⩧>;xڀnLqDV%maA9\qPCe.ӫkCpKn~/kIZ>5.NT~o2;rzH@+ Fm0^%\4urzvctMtρ *LOoE6.}`c Mʰ׷eXvB݇ˏ3U2~j^Fe&(Va([I(%L4o M]7\ޕ#՚ieY+!7[i6>lߢ'2FRή嘫B9ÓNWkϲ+@4⅖jlFVD:K aO)9h8'D- UNpҨRNI`T F|hs_WT.0Z(,, R2,5?Fš^fip@ oA(F"oab[Х((%V(ȴFʎ;HjNo]uI*Gn.#W1$B{O;= +y@ U;hހ Q*6Yޝ#"n}Z ėiژ[_حy8nӃ N]6וk0Rw}$z*{U˱ S2:Şܙ}{wZ_k*ˆ).hϳ;*,͎ rhm(#5H@&Q琕qּl}1jnqx`m"SMK R6@dIu^Jw2tn ϵotj +eeqÕ$-'&)" ܝ4:qnl?e% nb•fl~ns';z4P7xOU&8O4o]KfIz㨏1U=r cp [)u yOW#~ct#翇Tdgʘ4cXqE;)Nbَ̂(U|smˮUj#Tzgp Qꢑp ]ydjؽAILQMN$onE9nQ]6T8J|ۘX5q84${{A*߫YJ2\Ι\S+J\raև|'@hj#DV)[X"f3#;HFʝS)kt/\:WehCmSuL)M&:J㩿 Rt6=L"]*k(+O6Zϵ*? voKYJPKfxAd/G "-zO'ܢ|kJ: vmD+ƘN2b>qA0@?G^GshwPDT`h anV-b]EwhbM@^0)ʀG(R1dT#P=82ɦxK3+w|uV"OtkwdhSC4s1&슶,pk*V,6 bۧ1v"e[?D?>/߲-eMzxKDl- 89 흰<ӛbƈYlu2#ΞPUE `eO?puM9b rIÅ?\PUR|{"qn~ 暄ЛR jDϋ}#q=WYBNp;\reFDRmB{zcM5O-JuOQ pBE.d.ϡ0!M@O%UvdZOXL8Q V.P-LuIRqOI3ԓ=K];Փk뫘?+EV.S>fSS!=M=Z&r!B[xѻg7LR=OK@ygrTC0pܗ{K1DKR5Pf1.FBG}7\Ϛ﮲yzO_^K+g嗮! WY9(^~pӌw): v?mRluSNtw be8*&;byg4)^Z 5['O1\K*E]˘ / )Zgl50.4Ѩ]mpǾm逺vt&SwMAZ m.rN|ЛA]6`65tW5 kWeuvL')Lf甚 X-i& T7yx__n&D`[%ƤmUFMm q =첫1} )q]#x6 S>SOH'Res8!#m9s@\QZ<_j#a7f mN Vj'fCϤNǏ8ƋȳɤCo}傈)H[x vб4ruN3Ys&PrV1z lj|Rmc|S"{٣Ч'BIcW2(x "/82vnsOYsd`Tͪ:^*C!:b%PejP{E)) 6P ):*"#^ha:'wd϶c5NGWy4ou¨ e9Bq"G[lt< [ bώ@y]pgt8kB N3gYD*Έ2mK[ުˉ&9"hhv~uϩeT!<+ @Esa *~1zRtWÞQ8={>ZdžT3V;G) |X'jn x>f4#E彌7\y~֦BasyH~;ݟ4@#KK+y!:r)}t._sTyjDPA?'!%y/ ;L5`@wSV`Y@bXv5{Z/bw5Oףpצ̙w=6.C~6޵L$euiȜxq."DCGU[1Kwۑ~iI=5{!|!s z>yKam,'^9ٗ?BZC :j".VrU:<Ⓖޕ60:;-W .ה\m W4Jۣ^i*ݾk*gC ˈ_UX=2J3@wA!6< ?eڏ"ړ.MpX +΍-~nA pj{2*t|#DE](O-yQ5jwMB?5C, b Y1<:HZѬ#~.ώp l4eOrқ+㉸kXm ̄|kNCn[Vq1 8/Amfn +k@t%x ]1N 1Ukt/*5ru/M:?;?Nn'rgC.j ɫd:6v- '{thWsaN. hIlZ*WTV#1r`6#/@ eeHhԢ{ؿٓW"c=#ۙA|fh\֐BnMm"9ɍI!؆3uo5L.(` ?C{4vJKԁѦкFtS/E.DKKlIMK됉r *GkA3jrB/cyߍ+UGG||߻,M#X0iYRtZJ e8^ƃmAf]OF0[H͏]FuFb!vfPCz=0໭4HDe)aS(*Ddz_kq3|Frf?.Okf?\d#j%~^RRw7s^6@C}I~ORSz:vr! W]9sRf@DW],f=# @Lό`.Yė%^ؕ;n8;c. 3},4vvVl+ǣTo ϿZ8&/[ c+$~nއr@MG+n\VcxJ 큱v>Xe:%3k4}p•ĮІGCWUyq#BP jnYJmb*jj2Xbc(Uq8L¦Sd@ߠ?'*dn8T}gS&}aH5|z7Yjlzi8V* -Df2\O alh,!L@ 8PIV$S@Uf6˳1:+8bӽi)SYTN2ԂiMrtIp+#3g/1wpgmH yugEC-˧w+dM1(#¨sgyF:3o{ma$٠e 2I8G{hxiJE 'wKƷJAJ{;: H (H L5N1jGXc\E]|Rz=I݇+ }1/l7EePjݖ MN` |2YOHX0|i5-`U b|BIJ%krIϘkܽ63}Yy@)6>)HB̷9o ߠg$qc)Z wM]uCn*Hl-DqFWڼj+;'SbJD檉\MW*1/+ݒ"v)| sy̲D*jGB@z&iÇUQPNNS3{W%v&\|$v^z6#\6}IKu8VStsru F؏_Mdp4j4}ȝ\]cc(q7Myf%޳&e ԕ?{Zo4a%[X] (GZ5:L6Hx H "7 ;(e!O{ם_?ݿ`yѳڟKJ{Å _ <b(S6wA1,d"au`(K'6%8þ\+Yi |X&.w_>|_mK*b&eJ)ԬTMB:%`Ct?q`F^gpg 5{!l%79紖۷-F9oiNYHx v^0cH09S[g4})OPЁw/"%~`q`E;F5SqΖtI, r4K.^b8p#HhϱakLj _gKJ8I ԰U.8h mv:Y}xOwa!gtҁkr=FR(NsH }~=z}đCݣpmt`o^D)opr8uw[69*!C bjN, –[VϾ ofW^h͔u@aƲOe?$j>EMTҵR#nw#q ?'s>1F=zDZ }B\ )f*fk0q(+=r(ib+3.譶jT4Y4beS׸[X׬GV ́9!u%wy- z)< q!ηjB0ln.IMcښÉsr#n))`R|Rpn|x%c^9y]é*TnPjtȫ924f.owֶbt(k#䬒Y.\x 8a$:M1m+Q4.Kc68m9WaAp[R='ƪDJ"ѯU=R⨴ ]ןJS_@b<昴2CP)2*q`b|Sf,ឡh[.]#GĢpeOۅ/S}/s=1G8:?bi[ptW贴-L O͂p^Oѱk{V9:r/.!7)O$/9=3abA~Y*)d}_ 3 %[7؟Kd҄G6fSq]X(,wэ- -OZmyZՁ^:?Ob (uĨ- q\UHgڍ_uZ ~uSqg`7LYAY8Ko]hl$m+< iTf=Z.r|ADaimY  방y`yH825a$ҩt=E)@wp=}vi!AI2up"~yɶM#`Sv7V]`^En>.;>/DA4)A޿ SJ[sk1Ff6ˬz:8p8lw{p%s[ֶ^'6Хy0؂ܹ"lhY3 4͂E8 }2C\CyT@TKYJ>5ap 4eZ Đ.XOfNz-+#pl1^M^}bV|֬dw2u+dc?+tڭ8u<6SP gdӯъV0R(>ڄ *9Dcڔ!#b`j]hK@Iz,I lM,j5ex`CYrNz+ڶ&:/|;e8Vf Cl`z:CWQ.Q9c ;xоs'ѥa#g6P+< Fgғwqdҫw/B QҘf1vK_'1k 7َKp{Ѿf-x To;ǝ¤1# e #?~I-P:t_Bp'IIa3T>9)mHsq`D2C@d?l@oAxOFIYC I%mSBbJ K)C|)tT] .!4-7%sM nJq'zWKiSW ty O۸0 >hvr oOKv-GAec- Ɠ$2#Itk:m͛e ޫ}HfygMc{QRH; 3Qw?/cmW |JGU֮X>>7QDŁLRՋ+zʻPB8H Na<0lŀ✦EAC淨97 "զ ~;nSMFNd"ӏ^@.Ŵ"c7R< exDQI쭋?v̫[:6I߼D 8ԕg1T>'b(wtoE}JZД?ʒ;a652z}4Knp57(9fK5l;yOj!"#NctG3n3& ؅F/Xo4}=_5j7υ[ Bůoo*D(HY\ญSb:AXP'80HVuA<)d. H ,M! 6p|:|XMjʅŽgJK.zNcr:▢?(Cn)@*N& % :w]Q6zKO=fxO (zпI`)GH&ehq=< 3mw P,JQyR?0P<^^Dl7ܥG c05>5ҩbl5D+R-o䕪i6c@.(6sIߡN yRj/1]ZŶ\ȓwwX _ϓ_;qK[(i4`'J' |.06vJ>,0!pyªJKV'6/ E]E2Lad03|KX0#rْ&4VhD~mgN+}C.Ad".`"$ZXy?9u+P.ͨ(̍34=\$17uhaNwwn=dq&Z Lq AQ4C~ܮT7n'&4:Y.qwS 5>B-%n3ɿԷnoNKҷ"wQ <䀐?ʄ=1=RmP﷘W3F$ő6q.t,槱e{1 L*s G]Ϸ+ldT4z~&TJ_G杘v 0Xs|w_ N[C#{G{ܔ~%h:?ؓo橕"{Eg*2Vv&+^W֍ g ZU^ư\Š!5oՔ ?xڸi9(d%UT\<38=@f\nSNWy* ؜>Vx S})dD.oTM&ke)@+#1{hpoݒSa"XI3 }l s= DhGעHϩoݧ?KZoKā<}p;i ( :Z!Y0LD1Up6M2]l0;PD/hf6Z 76w02K#qBF9NsAsVtEgf6< $3vT7l]g"D7@ v#?]2*¡,+=;)yk$sepp"}nF$/mX_-=)# 7_B㶅ይ"D ~HGa9fPi#q$ TזNK)|qnJhD#4[B4>4°cJARb/pkG9 !WTt򗇮 ;qXn NDH˽QL]eX(hHAgVGX2于F89Ng^T˨`)Z!DayxOŰʪAIyه&&/P$N"13"98ΌZS&M*ʨ3$K8UDrۺ.r5h7o  :l"-BN-|,"2y X&U0?%&<`)]fLN&" d 0 ¹G)#+ O7JJ)6×3ؤ Jq& QQdW=i‰v\1dٞl_<)G2 1|좙tМ@2,jt$xk:a1!oOX$;w6r^'aEUɒp'mb-?͛a4c  !N16s6 㯓>JY0協iIS-4vĕ+KIq0jڿ3})n =WPnv{ܨIb]Bլsk^Oi%w:mo$!"Kw- (F,\1NK2hXL͋k+ǃ jxu5 o;7"zV:4%AqA0>:I^0fN-Qs8718`γR Bာ,cF1T2īHlG jlӄ [FT|j3mTIT+m."HAPdHCl|7Fb4F]vInqqB@85\b3{HOPbSz/d7ƞD=o}->u|%U4W&WNfyֶа[ 214;LR>"Jʙ6s~R ]St$ioO!?ō_.l!靕77 RXT$phE ,?l:JcB[f,LqTR^דR ñ"y% {R DJ˨A`/h]GE=Wh_eE7p0(!^l[06p!g41s4;2)BnWy"YdeͿ\BE J`7 G_E;l閶֝@4QT@ao s~i8s_8C,[uePQ߉3W!S\5COxI&NPc_Q䢶nl<Ƿy(`FȊC/!H> j͐8ׯl@*!ؾ#MqKD:>ɢb:,_ K#V6< b7 ,-j˙{=HZQCl/fWd7927y*#WZu-bGfj!cI>no 4}ngaD\A>(_Cg{i\/ҾG!hY waF̢pÊ'Jäjt34 &_B H8_nIi]ǮPup0P?J-ٹ3.-ؠtm) )E;e4I=#%88Ho[=0`we`~HVWG#bIQ*:b0y⿜8ɳ/+uBemHDn)s/UJ ` aW8xIGGG=J<qV6pV iTA4ӡ/JC:#,WB6w4)†=h Hq|uS;f 8ׁO51>ŽcYvc0d0>ѐQ~o)44Q[NƺՍ*+xNRa"0%7h 2 ϑ:eʼ Wu=+==_ѺF@q}u|R%T֑+{ˊÆZ3LD8~f`=o[(pGJ9<_~},j`Y\AG|((+Yǭ *0rMO^[׃W>> ˎcYDdGx|voĀ\O/%0J1107?c~2-|ÿ`}%Li= ;aTnܲjNpA08I&ލey\ M L^#Y@跧rMBB#IDNSrGu]’lQ,a !Sݒ-p# sM+Ay4S&i2ufZǔQ~ bDܗ$TJlIpDt8m,[Y UV4=qN-q̀Aj>oVmAccrr]S%VT(sl3Y2=vRnWb>{[z]XvzzOVbJ6L~ UFTkf/YQxzL?~_g h `gV<iyVPg;U@˿-n9tbbejrl|kDX TxIh}WUnYo{Iq3Ct4emd)FV:A:+Fgo^GZNn$Xvu {Ar@PZ7y~o F(KsYʽOx'PIh:H^q1-(Sw5JQ{~¡A Eq_C; 2Lk,ʲm^i Gt =%\Z gl8q }dIqt60S۠,~ (x.3_ P\qsw#pjOFjPhpD2jYg NŢaw)tĒ -v=_bI/W ~|{yf .1H"xUIC$3âv+:Rfr'R= %T_VmJCdK{ [-=yp!iyCڞk_x䔶;cFy+ۮH!BJITh`Ii!gA{O{9zPaf-XDj 8gYxvh]ˑP+rW7&`9yyѝyVt8}nj>|py,9p_P#;;,/V, VYsJNˤěn\5|pѧLٞE_ XF;c6*3.9uq4kI 2k#AwVske qt^@Obiu}lZn/dv 4O3mӁ)SqENHS\xC0͉-_km|>t#ɚ Xn嬤?s/m3.m~QY imltfm{Ŭ3x6f mַ֠zhcR5#Uul8)FO&| lb^r.a)W<ˢa9YHPoKG)(e_ϿzCr6!G-XG_}d ^U˲r]^vL/ pm&2cH& Atq,kw#Kx~ ~2k˅::إXcw3 EdeՈ O- L?\ĀjLyS u_d,؄Ӄq /yID>Éd_SI@<'LU"sAc`LjFc]j{"?(%gW6n_YgL쒱VeK&6Eyش (x ]Y?=65Txפny*!8eN9^@^/:bpYuQPQe}NkaDm<ӭNÒl`nߎ \((D1#Uqt~A%jt8;Υ c0N(A [3ەLbqDԕvٖL t4]J8%A߯e)e2"["#!¢cm3{|^mlMߒ#a)`$PoMۭd+/[(FX.zFQd+jLowBҧ!,o""ZR {z kbBW \+ $V30zeKžhWulܫpy+^n@eYT:\S+܍&jgZ1K+9*.8Kߺ܂WZ9,d {|r#c9,*I)#pv6P%_+j)Jp2(90F@pa=7`|,AHPԷ݄؞*'ߣ{P{tkJPZ)=qC&Fߠ*J X3c~%b L.prv{~0;F{tͻB+&on02۫f%z6Ķsa3/4<9ӮP t ^%Ɵ n]8 G]iݨaz>>1c;b8ZSY٧ӗ $?f"I$go=W_YIQMDs +y^dG2Y4{b|՘뵈i3E ,_ahgBO y;12uo-PU_r"Myr m;ޱ8A aiSH>w ~x1؂V\#y3&ѵ﹕>ofV|DjԤI^M d^m"m"ـbSSb.5uy4s25"~J0V /Df̈HY_#} J7<,SwQQ]5'MPw䢯7uu)PA6SXI3!qѯsBEt>|ڹaM`DlOH%h 7tEeݺ;H"TE[@4l08w H\ҍSoP *B*z3OL+m%w7>?W!bg4"p"_IqЪ .dG§Px1{9%PPBd_./WVB/X&ڂi̦v$)iwri0r8F G ULҧf~ϻEXsB:piVM{rs}2qjҞ[? YR_>u`Uk 8o!OPe ՁELD`$NY7 ymUY& a oJKKXҙT~1 b{[cp{ST!2ъ#Y!Pyr,L7}n%捾$csjҞ",jd2킺<PᕢjG(9K!8"L9G/XxwV)2Z+D  ~ѯϰl3]1h#MS%& .6tՋvޠrJ>+n\`sx1ƒg[?PvQYVkC@aNKsATwA3?BnM5UnAirն[3֏9N㻶:TW'ARI+G2BY~KeJ+͊8Y!\Ysg_yuMdݭůĬC (hȁte5eyYO%!2QPD6kHQ i^F\âwJ39\],뤽2VU @/Cm{*=YhV:~9~g8Bs3g+,ghBkί48 aȎcRe:ky2=c8u EWop-Ɨ$UCyOiPfJǣYH Hؼ~Υ2c$>i7`$>W` y:(*؎M?ui} Ϡ+Xp(䝔LI_' fjQk5Ժ P$R"9e Б5rVUuOb 4`LkFID:)BS-%]-+w yO4e׭De9L~&`Q`-|Dl= :aO9o`!LF?@W*0x#Mѳf!㡶$]bI ^}wev[gc;X_)?z3i ~8 1j8w"k[<5Jhȇ ~HD2sX[x;0X㙜݇`@}jf~+tnMI՚B,k篬W@Fp:;`[ѧ/EYU}pVHϾ_a#qhOK m]4_ Cr%]#@\3{T]HbY/Ԗ&{ zߩ}'Ob >PJ̽{j&;54L<_jI4kr@^d'Q=7tgo] ~~G*> ]~Р˵o_s;x%WaPwvߠ`Dra򐥀Tcwg;nӜ󈆎u;KQ[n*'9id;؄7hӶpz*?=LL+:*4]  Q0mJY*@ L3<#>һWf|+t w:o# ) yXkOrWV+(G&8πBUM;jzc„4VʅZ)?]=gjhh#m )gjJȧWYZD[}y 5!EJ;0FcHԂQRA'Ѭ\¿S'P ڰ(Inߞ.}09CL`M0Iue"eL"CY^4!̋~ Y9eg6B2t ˍX l ;:Vg~yФwmdIqFuŇ#$s·>4Di;Kru ͆AVYhJ(ӗ1q1$›zqw:c= Q m n].3=T#}t)ʑ7YHfiw)ʎ;0LW#ZVt3R^CU!őn&2X+Q8#~Z &*0c65ٕwt͢v+ߪH&GcxIۮ`RǍtp,࿛S2U O2nl+2qW|If3` XݧvPQ}^tB Y+t/?9?Wܤ>/ Hn.ކZ6@WaoP ޹Z]\?|)yz[ /8_kl:HxmgOUT4޲΢u7*52R 9W2U˟3X~D1Bw {>>#z쥽4Y0o/| dQxNkQr b,4AqNk^OӏD`()"N*ؕCx)XFowvyO\!Mѡ:Ț $ԑ6%o [hT_B)FEmBoZdL@I(0. }7=obwUNY43R{;+wfбi \f?hK}uI^y#"5.ڪx8<)=YjCKHVv1 :mГFpjkʽw*ggwcZA)PJo)ye@d ~"Nk9isJHG5hOH<{\{0gqnfhiEkArF}f/9? -)-dq#LiVi{h!vyhr]ǰD,c^2v?H`#ʘ{?ƓB젖U,ytzۻ0/* TW,A>^'%,؞)x_ |>}>8fD[wئXbmg9-n3ëWx )#j -Ym6zGr:u!ַaBvtq$z>N9pjV-x=[Y(lC|i+ -yI0]v14^ėh@LmXP{śKq9G-Y .>Rvަe4*,\jݤ& jcIl! [ɥޝˮJnKccl7FGn䄧4LpQz29d|(T FUԵ,wc}jgmsRۤN:Dao6,(VhnZ*]zVvxuʧmt}irnMޝZ=}5&k7.{+0IOe]K&~tAū8 h 5N/%_?AӀ[cɀDk *J`ߏK^M_#\"ӛ0i iv<;fw? _T[c^@۬pnO. XI-O  @smn5j1 cڑ %;3}ޞ"蝆@I;k]wYl)sel/\B#xf@ߒ.ғ ]VTT6FϢh>| Uk-Kgze$㍪]48)H w8l:"#ۺ?H :OūÃZ?HOւ{1K~^o.@8cD@5 _Ne-5"@S!0hU &ffEyEwV'@ #9 -6%lͰZ̛.}ϐf x&Ţ#@ry1XۥZ ?L59"ihf9Eh!-䊌6rݢpNAmZ>V45OWȊ<(ZOǢpfJQOX߇cK՟Z7>7nA#aNtBaɖv{!'S;8 G!qrQ`l#ײEb xc;Zѳf`xYOau_H'0aium^W6q-_Q4]$+ :%&|N$ƍ2†@x<&zC`Uu*bnۚN!5a+ a@iMZ`L/(xW?s,RΣZU#)5|*,dxr+ϓ,zkb,"B)^u;}"V ׺J'Lh4T)tnax@B˓ơb{|#tC%;"y[@_3zBa+VV5*gs5Z[ǫ _S5qH({9'$en" 8ZЕ3(=C޴úuZA3}GU]9/"&aFGsV.~i { hnզ_V,‹KEܩ;%7!M_j ^ *DBm` kx}Kb ̙ -kWT4_ ݲHGe*6ImDުUHA@Wb :$;<5BPFmx҂x|7X%Cj6 8XTk }l/SFPXF1@/a"vk{~iGcqB\'`7juV4ZK.bfAR/[y\],\t"֑X$\G{2ЇqG(4t/?9Eل%~底@Kzf %7"k;'T3,W9DE4t'CAZQ%xU,;_6HHgPp'x>]} G4)7_ '?{8o>HЅ._;LDRT׃={G*,_ߢmO/H Hz&ȖA4WȬ=w\RPZ6%#Cvw42VZ̼.8:XS46E?MrfN_A~IJEfW7 Ι&^?BG];L+s屛Ntf:Di\oM&8rs`,Db;)(K#QXV^^} ci $Y4l@ӪqrMa?2ð]z|rvlH)@ ZHmNf- )f]$[-J`^H _Y Uw(TnMr@03%_Z:i~U܇4Hx$xOw}4Ӝ1vMm. mT֐|-Un3.*˔T~Es)Rtu1M<歰RT"Wa;9Cbj"]6>90 KWvJYM"!*V,8MbFo'dr&q4,/7D/V3"~yh]Y\dpSsUʆn-jVƒdj312ʼn&BR3[SmÌem#A= !tᰔeg]C/BHh||<|csouJR[&B5̉"DQ6@ć7q yA׬gKлfư函PYmy|bدHcђ_>wXrS¢hGG[󣟄lfӼѵ֣Eݾz~?Fm"IXƌ:R0Xˢc()Idq`=| ?+o߸ˢ X;uv *Eepx=-1[p0^Hӂu_7M#E#Kw'|dV#gJb.\dK3]R^:%Od[E5}R *Dw5hхyPj*?E)l74_d@z]lJp2ګwR[jTu5r yC_y%5L_P"SSY&U2og3> /r3Mf2Sp6Wr~jdQ.k#) KEsLo*o:A f6рsR/H*C~| `>Rg3@_7Ν 0=l0S㻠 -7 o06tJ/"=C@68xDˎ&e}/;zj =y'/'VV5N=K {C;y͆D.JW;(<]rؤ} ;#t ޤq7\˜YvSܷݕH*`ǂeݗ1[`M2yXٺz{+V)C~R,]!,ʌܭv|Tz[pˊVI@3o*ZUXHHm|)_e̗ ЧUqI' =n1# B ˗1E8q?]U5|h%F M6dFe pfǚ%}+3`H2}sJҫR*KG \êӤakQ;4XM1.Er?,C?""O+H<_d !Ŋ\O;Sc%8XF:h_vHOܬf-s7rgV' ծ?Ȣ5iQs ww<kўz%_GVì_!ǭV߈%?I _*A\r6pN~d_8e`/>w<q-tp,59MPIʞh SDm|rU4$[p>AtM8mI14QrXb4uJR _ .n+28/LEpB ]ޝOq-% |{ߍ= &G}IDIS[*c02u5OiE{m{KVk (`n7UC#!W'U]t;=H \kߊV!Y0F* A֐Y`c㆜׆lx߲H-y=Rlgp+ئ&LE&"v]%Da+fr)Č*5uvq~g‘xK3)e)L?2йG 0?=IpiqyM ڙ V~}CB-.n*ҫTnfSgl%SY Xc{v.:\CzO~[Lo݊%/ZpъCٵ}4FexClɓ-Gh[ό0p"Jtqw̎5}k5;_5Z8o:ԈBS'C Wd㯦z8*Yl >o VֆAg\_9[u?H U^ ABs4k%uN (/"1S Q^/Ț HwOĬ&滴B .FL>! %m k+|ͦsk.-ZU'vt.~N)BЇM?%T/ioɧi eB)/Lk PuH&@\I|q7>:Z{) _;+eƏܕ66/-U/ b|ٳlOڶ0<.,_چo͍4\tPƽÆ5et&s 8} 97f^YD*:UΚ]_@&b2^;hۓ;`(\kiYy:Q8xzPG3D2afk7%8lNʀT,@s85 ca;Q|l*ȗl%Oq;~y_ր%E39;|~l=m,#{ *~T\h98bUnR]μHx(L2Hx_; NAx-t,g`׏$S ϧeն2๸I6+e~*M Wyq] Ҥ/:>>ūWmTl'[LO%=͂6ݗrI{l( \<0U 4](GWWnnW~"}$ vۉ)K` (&;l(X?|qUh/wu$E3Q!k^' r@UXF*HO:dB6 ]\3Fz2^RRŽ!k R[-$Ӑ)Ut$sX^ Kዐ*<`H"W1j[gq8L%o\j o^=N 0WV38$\Zʋ-9{$@2'۶ӻA&`U-Eͩ! y͒tBЯaI;4b]Z KDt 5/)FbFq<}L/-hMkɋ6SDM.G:iYhMu}?#0΋oț EɌ5% pG!!}ta1THPviͷ!kLJz5*ֺ{]bkLH ҈b_[3zTO<oh ,W Rk԰ +hTjB0 nԨ._U' ?ze[¦7*=/Zr4h' c fTnO>ˏzTa<:.N'b;|_1kU5Q#:V+F "F*(!EN&-d;{*Pm6Sgז*4؊7PC@k*_n7Ս1 αK!\w SP?cALs2\kr%M%1FǍJrORkEH2ū: @7Gmb˭i ˁD87lyN09vb"!Qvbnz< 63%髊ϡN[U7ߦxib IK(4m(l2Vf4J(oV !)T8Q:%@}n}E^O b˕@p&C{!:~䜰`!? ЫX}(hm}C~oe.Lߡ*pLj- Xz~&a$L|Gc@<̼X*JNcBٻ9U[^ג 'Sk"IR_8Daak2< kYPϻI!Ob%CڍJP%T(E¬ȭw{kOL  ˿A[ЮuDtEšĉ zʮc~>\bXvn$;_B&Mp@ΒbߘEa%֌bt˺Q:wb!55 apO}f6SqE7\Ya[45]MM(232J-ɦSqXfÿERmW>n9-a>w % pDgXT3t֚YbLo ~ oÕk-AFezF:ӜE/lc&rQ'#Y-z{%tjcoG'>_=&C?Uh-jljsAfHR#3s}eٶX⦾Q0o;03̭rdžw+><pY[INl1?|Z`3 0ZEDwh=hX~*@G -&8Dó`Na ˥ۑWLR@L"]|+:du)`rlT7 F@i45nO17z@ hgnM"b$P,Zb>9i#b)x(t0&h;S ݲĥPy4e˔#bm]C˨H7.?Bgkīx(N"q=X}:n%2-F}XGn+.̅6k92b£Ϫʞ'x ρKQVWc3.aQ 5>A,P3o@ʰ%bBȘh {%"PǶ?}gxgi<7 P~.߭ۘC 3'8T?v<>ٳ*Эt?frCvԣS _D5(ʖfEΙJ,>+0iot3R4nTZ4U,l{x~\Xv!:~_io}Yɯt`Yh}b]ޤcj!N:ӓSw'nwU=N\/DZlQ uj!'Uɼ$ȹeGOm؟J=e{5ebsta[Dc*g2} TfY# P2E d}35H(n )f -(|~pl 6㛉\۫^c_6}Tvnm|ր,p-W V"sPL Ip</>0NsIGbMQv!}^.1#F,,ཕ6qcX{)ٰR׺Q?u4Ya.BZ3pp$Ad8nӊpпrF >)/'B0noSgK[SLTRƑ2)UߌћYc Xw;rqsS~:ty{ =[ռHY&-}xVxKԜmSLGjgC*̈(CZtOd>NG詊*͋H7TP0vA=Ϳ@>~*FcVaYLepҪxqj4CLzTsr$#]Nh얁/L$ N,c!#PaD&r_~-ijG 8S.P`?qpЯ*u. }Js!)z;0⍞l/148 _lNk2g^l"К qS&1«w~*tVz=g nTj /țQze|l\+Z,gR.p]0QuZ͢WZ]Ch9?n&>LE#;%.c@-€ASDq@tjKf%R3]sҁHL^NxQ8Jۛw:՝U qVۡ%7mP wU)dfDXR0u|lB- [I,::GbZv9L}(ASS'9+Wr[Ȗc>8mxNtښUb;R]Q2`?dr͜*Og//]]NC,;=7k.D: ?9|)gA 6k1ƟF+DԞhlXЖ Q '4 */ o$tN88"ofQznU,yX s=Btb|EGJtGp{Dn ޚSJJƆ7D.HV ֔z,w;lzѱ,* ]_fb𧓚HOl/+NVe%vEX`|(2A! k]{\ARSY 9$1u6us{YG-LzP& b_ ɤ|" ?F6|V6oXM#"`:OL[N]c?(2.1pN|Rxt@i-IeVi㸘#c@qF|&hF H^r&"dt$?>cdm{GnYlK[Xfz]Ye*(N:^,Mmb5U`,P.Os-U$5>E3`7u rO Gz#|g}}C` |Ŗ}V2 'sݴ%=F u6YV@ rSoZGކPO>Wb895F&/|"pȹ=1E%> N*HUTxĤ!%=H[ڼ?.Ei\1mkuujG%"KM-oT Vyy,W@4 g3PT)_MIwk]Shik-\tm2k"μRTنDAjR}< `tZ%_({\qn ʼA6V 9@+\{?~9U@~-#7 eЩT%A=O 8Y.sCW]gl .hKXƄ: a4P$Vg&#+m RؒTM$f3h/p[.12.jঝD~bP|Əefؑ:p[f1OX|ߺ܁LNZytte)H{Z^6w6ɫ]~"̃`iEI4E232D};x56yfI:]d l/*ʸZ#&V?Vn7 Ȫ!©Eˢ$>b]jl?%̫,yIs?ylKbg,-zy`F|#tx+&{Mv.ӑe)96NRo=t0CZUEⓄY:r7ffo4߻4w3I#t?=ʫaE CS']V]{A/lWj-#n=1~uW Wl!-*ֶy:yd;lS[owu`}D?=)Pn֐aWdcWgiBT?d@ q*D4|p|QMڴcVI6qiTdD5F# Jgy%*e{d >j÷l8晢ϸ%.tb~/.j/b We|jraF0ܭ~*C7KG y&IϭWQO5c)/M9dq&ԵўK0B TgZNy,"*Z?z xhlXAdR>>|vpњ XUc۬c_eٗ(979fAw[ڦkLean.RYYHQgPW FϛM?XC8?D#4oxm(\|ϲB vM蔍?JiՒ#*cjaN ͫip웟dH>ݚlcukłA} H$bY%kUx=I-5Vst|WlvDs$~ 7/>]"VF5UОY΋.CS4F[B d?ZC/od sORʲ^m8v6J˔MNR;.,(DzvY[zB.Onazij;63NW*g.T?Il/b k{3vaG:jgI[*)jWǍ(sl;W5c ?G֌GP7G[?DԨ8i @L OK|4? % 4C^)GJܴjRj!_* 驆vt32!X+(නSH)tڎ.3܂JX(xѼ|Cϫ9YϨw*ݍ#crldzؚvt!dINLbaXW)#НS SQOiJ-G>_AcK{6RP$NFlD}}{舿s) IEC1V0K]r]05 ^H2? &!2GN/bNq:rQR&wU1|?NyELC)ocrRo5YK .'iz'f`u D -)Wr=x&jO1}tc`P*[0x~L՛DR;&Sf-ނ_ذ0ΩM[P}e Wu7T))x(H2j,D䌹>42.%!XK6 ,=kukk7s;5\O|Eό9(63gj> } Wr/+X<~PTWsΗrȝmG@m2BPǘk1ډHGq_~ K-rwk罺."f B 4}Qw{H~rL0 -F•Lc`]jqM,^6Ay4hΪ3DqGT8`}?n3+QFpm+@zIVejfv;xP-iUqN趭!MMd]-:6*>|yP "V ,)6~Wp/h 2&N(%UVh`M7陝8)V{Bc-3F<"Hԋ;NC7G 9"H_~7Kb[UyfbszYڝ^U5;8vX Wːͥ1=Vyvwlc-]J  P9r 9eҖ~_'N/ڻx#ir.xKE0}BaG𫎊ZgfBK M;NcSnX#f +9nD󮏒JoV8hY˝ח- {DBot"Yw\)F}R8Gָh SQ&}#z#N\ˮ;ŧ+^1#% Lz*97ϿGMGF7g;Ζ"3J6CecrD(2O& M*xBUDrxXPŽ;m|2ԿTL5ISҝɴ[@ >4:؏Qg"A%I)uio&o`?bwa*lpq=/ B3@1Q%Nַ^dt1ȔlRQYgV`3hai#xe]V &]~ĊQ݋m@;0r#V(ߜS`nCrTqg&Քڜ'=WcI|nM' e4Θ&>G+*GcVVsF '`SƋM? ҂#9DNkY "jW|l -VEbB@FE4QVqhQ~ȥ$WcAvD(QwE A{{[E"mG-W]Ͱ혅}+pO6֮$yH#k&UoKZS3joE-QXsEtK ;rTψL7gr+z{đE O}[KDz`YI5b3}yݐYؠGl@D_{:N%-&UΏ c T4AAk6}^ A'N #։E|H)wuؔ#|+R.=?&QGV͙XAD/m_kM WEp:hqא4M @66 #E@L; r/;RƶG~ jr%T)[C0 M60QC[bf(Ν?d壟OnZ;\6sNDm4Ӵvua@yڮ/toТt LE=hŜ6t pNila "0iHRk&t7N--1}ƒӶy-"W@ok%4CqLxqO=*z2/g9S)JT/{߰nzQ' ,w .C )ųӥ@k_e+źmK d] l9a%AϨ4}!ȯUjK;fŨadogy5{_=v7xiS1[s`R?p|8}C>\z=7?xM'"xִ;iԱveiYUAgy qFh:b+C!sch{=[ΰ^sR :Q`w:yuC Sr;x`L;U]^xh(u ]=b n\eGN5%twu,H: ݩy;z)5ג}m,ir 9vjuŖ+_T\콝0L3yCK (T`dֵril[*}&ꍋ߿fo:=u61K:Bŗ^OyT<iXN~W9%)z[#co+%C@ b˞}9;yA3X>f[=-tz=L9kA+biV}SX='wl.מzS7ayk0jMmkQ"RM%m 9|* iӏ$Z D2ŶҰ`zb¼~9\I kCig_ JDN'rwcсrK7UN{trم0Bȇ!a1_4(BСk3#x8+#:;C"k)"?>r;7 7E<|ؤTv@((b 3"̿K3ظY} Ⱔ4F{,[}+=( iAyHeЉtMx]-R~\wlue ig^(]eT_ IUCPƍޗ=Z HA ޱp*rj R)-npl\n* +g4QZ.dKώO׊&I5#W12.a~7ޏn4)&EQR$9Bn9IdPWp2@cK"> 1+0'"\;vd@J֡ԴF w禞{~KtAqZ3rp*~|ҠYPEgKŔמۺhPpǯC˗&MixpH/5w2FM-Ok4?%h_ZľFٛpϵe's9du2MZمЅb%?[z:H|0Wͦd>#TYKV;T!C6j) t}=%ݧD@UO!Ё QRUFio/&T"˯Xr-_jIp >Pn [#yYmV,.\ rHRvy`٬rDzp7V+Jo̠y'ɤc@}d Xxg:m8v?' K bPbzp>`拣 1fb}_A+hM&7kT.S8$ȗ JXFr֕w tb6:Xq[(k ۂ•-H k 25ٲeambzP(w6yቴK N&!/7R#4G$fxYr4Ī3I]UFј `9仔_^v\U,lvj$ Rr ==aHvfSw͟H!]=h1c뒯s&), @W:{ź28:bfq9BCq~|.ª ʗE7@w\PDr $Z5YM?öR+6 X')jRyaI]N,Z%X=00?6f!8RcL'2ڶpo)of?B{K>rjZFe xX2v'{RKq^^d4/ 2{0DL."?, 5DE'$3PP#S cOiY-ښW7m VodLqkFOM:eL͢Bb6ˌpwEkW< J4D }Nc:|t̲+vBv$M/55j}CtSܤEJjܴKclZU[hiw$b7Aǐd sz 3;ԅK>A>n7Mt6D ),1BW<_Pd-H2ˈI5{ =WF8l@GVb*xYWG2=|qIC$[^·SlI}dt' oiTp*Qqơ4kq szv RFX"kP">'CEY+,KHhRF;ڳb}/0LG Ni|,>"} 8gDE#?e$]4U6N&_/}%F9lA/N0vJ<}+%tP߯2=4@ehyj2EX6BYɞr_^ֈX2]u[?Sj([E 9az39wQd}9B\ᬒ Dm\-/%܂|g9 }vZB;)%*kۥ BX&[Wtrت!YG wdC&0dJ W]CTJ L8]`i@ AԅN['tdt%h+%L%j-cQ$WX֭4( ڙOVj=M:HJe|=@'é;/V1|F93!\q8Z67A& U,bVEiX=%\Qb3E%k~P禽g~ܥP 4+Q$z `H鉷Q\w7YljofO72^t]Q'JɌԗbJѳꯌD\51Ůö3ϳ(zjv51W2~| ᠼl` A&۪N ۉZʚC5k=BZS@rZ dj`}|Nnc&W{T'^$aCUT3' +VȢg )5 @<>sp"K9h뵧ӡriӃ/$jiZ&DpˀLSԭƬw_x)?f-^ _Mԙ) kӧ Lɤ*FMk٦Z,j5 *'\Ր74%LCR4xCWlk+1,&S;fH@`| .ֆ=ʖC&`f)KT`g`g]+ޤ!)j@l?@cHg{b6b%LHRM0?_L:-&@^}M3uy3fo:) L,%ޘ<VHFx55]H/q׌aT+uyF(5KxѢR 1arrvP#] 蝟OOo1 HW.򫐲Ċ~%l*ͪ e0"z.l5X m]'u[.5\yp xh}5vyXtV߽)( ܾ۫ ○HE7`͠ w`N^8T31~m6S8ǩQ?Q`b%6VjѧIK~eB`㕈'y64I~gUNnE)_BqWÒ]YOsٽyL2@sH 8 }{;kw]SaC?7ati"jI:P>^ 1\/vtszl87t#D2LA!6C(LeNcYw!md@1dTepuS5-j _)v8_a:#0'X:|ӓe|MگKT_odڜ zڂ0,C`-&!N܏OH7|˪ry !ԩt ~-a 6 kZ] -9g'(I[KGf(ڣPA(| u {+8-(>[߼-X$T1].ZMv3 Q5o\vT_+MT2yMT@uHO'oR۝K810/2l o^4 #7c PB@TuM6)ʅ/cn,`W*W&O[+-\)4;bd9Na2xڋvkİxC$D |n *IrډWL3.ci!WWP1>ifa"#>x5dMՄwPI'ShMwr6.mo6/dcT-uZ xoHwUSU؂auɆ*FyWmؤP;IhTCX_`?։4O)C`12y0k y7eZh0*#"oNچ+<-5 hlFb>+D.{?]!HZؤR:_I"DELBeHDDQǬ28ϲwJMoҿN~Yu:_ʐ/s5*Těc(J&7 pmlȋ^6];wx)H2zY?l:,=J׌e!xѯ:}I`Y9U ^_34@0XqX kΔCSjTt 1Xdߠwc!OKq-oe0$y1[R[.IjC vK!MJUQY =q`3 $+fwZm Lz7^jH*J%\!͠I®%c:T;8r[Dv$8Fn{U_7<6a. )zk01(Ó05k5;v Qo { >Lx:ΧSJChV񻷸͇Gz Pe}Qӎ/AӒid!^Qm.%!IV/`D&V`k[l%*"/V&8NffVGa:tOӻW2ةAF;DMWNbw,eAo$p9q6RwSBN z>[dpsİgi"j[ zNGІ#;py Ԩy7>7#{}ޟ|ƒS0.uIwx6"5ȜrԱn͇(i,LEW>J 'PQZ6sf"oCaXzI&ct Nаj=C Cwܓ34xrۂJyh0vgvt Cz M5p{Np6˅98D\A6˔ vy]ֶq1K뵥dG^g[|%ha>9>oCm28N\Xy~E^T yY.Q'?YO q[ۘSP&^vxE ͭ!(Cn<[CY%ީ;fGαWӮdPw] RK5E-D (Nǖab<uvbFPH[O 9LeV@Y5e̋g;ujL5f9ݫoǼ]=d#I].ܺUeۅ 3% ~Q 3PzR!l!3y-BEjNr4 ?x9mIXBح'jPm!N9cJb8 ^xIkRffI.Ȟwλlci6)zZa)6N5,џ_˵]?ɀ7Yx5ezCAw;&ac4_Wp3./3O3ىP|?Mq汸R!`OZ>bbwTYO::0V` jO3k2>rLL{?eĿ: Ƨ֭ώB[::l)ܱw @f@V:I\F2L%#9 vp 0>BKu`2=&J;c3t[b~o'"{Z 1m"d|Fs[K쑺Iq l5xBʍDE&:g_l´S( :ʞf% tasҚ3vv3]> s3 _*֑6mDDLKyg+o~A;0`CX .}s:0g'a]M8~p lx?.ڷLcr: I_ǣdn>! ШJf oȥF6Jñ%vn2!}RƕMH;)`"L{'mwr)qjNpyީ`ȋG7/L\kgЉ-_Ê%p&vPT[Jki(]R Q?&(B͐C՝*e}./CM߈C):;Pg ׄZ_5g;3mXL8\7^S O=M(jVEрg87z3@qL3{~s3;qܒl'`3I-;^j wW8W=ä-I[.4z!;k=rˣ!cߢ(%U3t`K+4!~G݊e!,J <ч 0D)]=qJ{3={vP2&v6*jlk^ T:;h@Cw]I >4bukj'csNJl Fj5>-L%D 'iLCswz+K֧6+ݜ7VR;{p?%$9eN#־MpܐMHaEh-O_ @P &\7bF煺8T*?uc-Q]4Ǥټ}ڥ(&XC;iӦ~q @Fܧl@`4`Ar&g@cй;%8f0JKa)t Wę_WZ@l,Oޯ;JSh EߎY Qbu|3!LUp 6iʂaz.{ɡF!4Ɔs WZ1%b75, VOC86I$3V5['N\5Az4Np,߶ $u`|(̈́RsR3]3L}sd\d oFzbt,~L ^CK?`Nba ^Y&fyVcK^o+^\zJq(Ƶ \}pHQ+IUVPy^ҬTkճu; =⦕w gT+trbhsŒDT|Uߓ,JH,70I3BTRfe,e V8PiaVO( UK&BEL¶.Lg8\qG_:싚ivӭoZ-^8rH; mہ8.x_zZ"0!bqr35 z)RMi28>mlBǼrd!n-OgΟHIQ~&}au șQ_p='(/3qq.ٝp&[/ @OOvV]֓,.<rBr#7Ys;ɑ̼n1!2Ui$ 80PdRb3>D=_Дro}~փ>vR Z i@7>Ef考f5JIŅ|*YZE܈ B闥rg4 v}Ef&vI\(q|lc䚵-wNyk'>.{IU+,T?x w[9DF":{ʂn/Tl_ݱ !2Ef- #lgb4uj|߉wkwX1Pa *ɹv1x(!ߠXFAJ rz,?'Nd;L?1[K b=.D4 5U谫kp )(E/}s\GoN- F4-Yu:, SJ,&эed6e3QkvGVf cc]G$łtZ4%Hrgٔ84 S]_6v Jrǣ`_uC"(6ߒXvr;D!Wcu=lcbs=&R~*RD^MSqKў'iSM[@3Qg|C"ޔBXpWil̵ 1%ܺJZ>3d2CØ}lV!:D&E>s#/x v*%M!1cG[lkֵΚ"6 7g9 #DbA/0PnYt;dS{@|sa60Ii]tAnKXa^AYDuk|f9 ^HMf P| ?$=eܾ5)"A vI/=,ewh A*#!m&.K _iQ/*EXrbkJ 6pfi넯Ef0ޑ BUcf ?36րOQux,kDF`nx6E#\_sB*BO}u=6-W+cO ͼXi` X]WƖQ{"͎&8=o)vAh|?f< `o jǤ0Iy0 * g%N[W3jCжQmU$-7^4\x(J6J*oЋQ3퀖HC(B+/ l\ZWL{a1C& ]*i7nwL`La9{zDqͅ^}r? dMӺG4bZ8y$p,ĐUhBPKx=e' ݔX6ƲL5>5o>WqCv择C$h`~6ʞ8yH;zc _ߵS̝xR<S鏸s;L5$(Z_t +{elRN>GRd%Y)qC59`F|X"M?K gLybS5kW´[ Dc*]r 6`u& eڢuv7@.Ñ)JrTyG|42o"C+2UBGR"pfV uwMCIR=.SЯ? nq Һ3]% ٛ,o=2'2qÅK1s?0rSSꆭow傐x[8 NMW|UP)S7EM[Mc,WV\d5攍(nw,yѥכN9q껞NܛqWIyL1X!tug} 3q< aq[t4؎]D}k&)NZ1 ?>yMV?C#Y#-s߀gQXkF"Ah0CW =a9¬zo!H_a2ѣ>o('XY+B-Vz`, Фpk;CƸR0G`GS$ *drIMj5[iJ~CZ232$v5lpc:\O$>ŭ&@eH|ilR4ˤU]J/}vS }Pf9yG@)$]RD6*л? q ni]0f,C)  W1j[?$ b=;N\E(8-}ч~0m`؛@PYQ/"5?1?D{6\%k Xv}#I7l1&KϖGoV GJH1Tvd(!yi0b~:&CnWB giӄ6,·OC{9WgG"ՐlgJZ(VM S|>z$(zIOENa)WoTlwdّ51%4]p;v2aq6KU?aP7NL `2I]AXP [s>$ePNp@XE4luZByНpv {~0 |Z otֻ>Ds:mjۇԌTrF1'= wji,U!PX).6Tm}L$wk޴8VHڽkFm;]3bʷ.> J`C%^3caAeQGK ya3~cz84YfTu{ÅX63͎mȄgEY1A8M#]RnfB @00k UǵMٶکAQSZ!$*SAyxÍxJQQg$c~~,,-k!%Rܸ$J{T*@((ov I-.`2i)]R,UNh649Ķo,]A׻?manu$ ү]{3װi!f'hvqDl 颱՚0KsU&4UiCVw3@f`(ݴ^z,DL *>s ꋧ;슘 ɫߟ/Q߅:h; s}E.dnA'@1g+N3H~0 NU5iY捝_Q܀?Ehd`W]fN0NgzY]+C#[̟)#.n/hG;W]B;ؠP$.|4+@Lg/sƲv ,/U1&s־G[:]IGҍDZ}aULQ#wǬc0c;ȧW>Ul3~*e1 7g\z8?mLN1h,XO7d ᔲKߌGAEHܬr^,T+F2(?Ŝ ~<מ(3ڐxDxLz*rz߻+H\+A3 }]xI6hWm&ՑwN[O q@c Nd_u@.T9ROQ hwrm&j`aݯ5ԅ{(?A?I% l4oLhA%pߔL#cK, 6wsr8)U2QAVqaƴ@7a=ۧn dT!ZkD^'%NWԎE #oyIԚn:^8g)Al~VVj8 oO1COhokzU\glnz'ivIjȓuZ\= A`x찫8t{yrj*C=_mZvq#mըe+EDrMߥD }PtkkMLakqR%4հ=[NG +T:+g {gHMUPMQl&jԚƲ)mnq'I=5F+k l #/:"(k|0B) YEѤ]>5r=+帾/ l~Zzҥbx?biWèFe{Θ邟Y蕡xHϽJU&:r|qn~όYЖ_D2Fr5S6Ȳȭ$DXVKyH|QR 0R˃B{j >#.+[=P+ { …2WF;4dW17[i_oNvԡJ.fz+I!ك35vi" >!a-#7Ϧ9w0kIvrbJj&c$ܸOJn + aSY\ g=?¦b+3V9!prJB,zb#|mI;V/k_}sdjH JOQ%EZYM⭝oq3J#.cHCD&ŊD%G Z쨠}1"VUz7Μ:~OSorDR4v$+mW?V pBC'sO/BNC艠H%x!CqlCMXPgo쓾(rl/j9(]AdNWnc{ fBWQXG_W$??@B%|!r>:ӸŃ;$˟'ejĉy" [E&DC ZX0tgeO5OQgtvߞXfS !TANP e}eHt 11#;I0SӀ%$p 24A\@l7B`;GÌ/' DQQ$ fjlHRvfE$UCQP]L&FOp痽a-Ǎq2m:3F PŖ53<"i`!VA'-SF Et.7$֫eQe;#)`SevϺ0־`L/3{*mUz Gp4 Kx,o]5װ䡴pKU>d&~ :hyS:ڋ *.6*wbS-Os,pzz#88̙ß\~MR(BINU4p?6e})y־]4)~rZ(`dG99 -Em-@qHL1nR^̱x,#Ƥ~J@80_]cz{MUMO&nE/Vne4{K1N\Bz 퐱Qfg"gs Ls0̑h`ɷ\IyB*wt3AsWo1e~jiLlY~c?ba3Z4.%n`u,jaj'Ymx Drg}~M$GȋLFB,Os_\[~*D&͂2lNxEOr0C#Fa L;f'ކ1d4 D_O7 v9 7,[޽i.fl`@-|E4gO=}}kk,Iz#%/MrpׅΉ--gcx*fTWA߾)" BJN (t(Lg(5"ν(:' 7_O~H+@ ]5,epf"rMpY)YE@] Nhap؟lsgߛs]:dEXt"%;rz3BѦk /MUfvH&]3ึʭll6W'&kh} 8Md/$-zI2sZZB|hh ~"nVxqwY2ƅLfdGU_* bUN,b(\zlc=<8۾(E(J@=ztϓ=bZ\xzひYBp||AE9Y 'm !,pu ϭɅi8*UMpwEt$ g>k֩0(O0`w1oWBCgj]Ԫwd*9˗#E#ыRd x7JK2 ^LuDOkĢP󄆽c2$ɣ Dγ-}7W,Kͳ)&NoAc:/{e,jL  m}Xi<jm8,ms'hJ۬:ztq^`jaabR&O.9\2kP״6ډ# ,[nmZ Q ρPrQf/O(tՕ ѥȗDX\>dN^D7$/[tϺԷ7&xW췑a k1FXBP`,qzQm?(\T< 0vȐm`_.\_uM[A\f1|*EELZw ͺsD4tXR (  N , D&oj'DŠ`h_ܧ`vf9s3{&L~<&[ÀFuߢ.-"iy=S[2x GGig\bs.^+"+n)&j~oucw*BQ ||\/lIj v4K-P5P31(>؀0mwa6 T^YT??f?@ ]2-wV$[.i^ ZFzO=0)Kfݭӥ߬ ;tjt9L`HםT1Ab{zڇ[()9(<NO*F1$52J{vu [ue(Dgy v4[0QCeCfOgjIF=y7dZ$+3tF-]6_lύ!hLu޲<8]^2씹>+e^*z4xT%:3svo;,-5uu6Kt/!9sie6aVҶ%&J_:@f(ѸV Ad@(209?H~ uɀ 1dL> ?'K5b@Aoy5g&IxtÜOXz~G@|H1z@\ 7[F[4Rηuf͐HyEVyUX7 XaرgG=`":~OhMMoUwDT)V.5Yɯs$p ZMkkz-* vliIS%z/;] ʺ0ARM*r o.#tA9 [? l%í[A?]CZu:V56|qd Tknfnkf{6Z\JxfGaqs b]eB5 8gUȝi,@6 (qv쯙IA4-'|k]3tU/)LN{2+LoI,UUgo3>5Dev!?39h:l)znOp_hNKWxmjg%L PZ #efF}U{ٲ0)n>5PW"F5"Y]hx R3dмs*J>oϖ/Ϻ9m|]{-ک܂W `b)qҥχۢ >xP,p .!(@[[A}YbR,8JN__06R9>o!YQ8gAb44ljG{DY,FUqE@ЯFŠ,(8eUJ216>"iO/J,̅\cSbyW$Yab^^-E϶J{[S¡{ |kYOq! `mjD˘?;-VNnƧT88O,~cGi'P'ӝ'Ax-`S갡ɔ/>'P|̵8j.T3{膧J*<@I1z gcz|)`V0*}z{x/=n/_<:^vk@D&]I _Zg3 cd(ќTZ[ dܰÈǔi2⥂ &Vm%p\ =I;870Fħ1V Ǟ*\v8ljP)C0jeVM,!ʔ珞؆J2[9.:^TAzy:nAMqLv,Ā,%QsukUٲ?%Ak'?oڟF"-qNk|&]҈6Kͽhɀ`J&k ]>рUx $:?y/yT8-k;} g">%nm"{_C6~6V>720˞K-rv*+xz/T10W0?&}j& bUG8oexil12ۖI}GN{ I?a*d6ҕ02JZ[E~hӗ` n27 SI-47 u|0qӽ#߹ yǚ`Zr~ZIPX]f(z>`k ]rv8TaWıM;X9Ny/vEv2.aǒCpCSf߁e\h{Q[ `l;f{iR]}"3ImiKd:ݲIÈ><_cc0OSlu>nsWᠳ* `9ǰ ؂Q'^^XJCis ,+M'h@IG-EթKX+ x| nd1 m8;Q>Ud0J 5ˉ}vf'| .5^(yֵ}EFP{&Pp9K\.f`Zf:/Ph4ЊK㍪p,y_ SiuSԒ?;h'V]=3 opS;wz7{غ8Ӿq>m u{- bDW.]ڴT,UOXC5)ZFcXQ I$wr<}>NtBŅ+lI Jy]:Fymḃ֛K\\6Q%qk{o}h脂 [1!\VQ؊5?U^;r{∼@m4sn)j@yaPobV Ipߜz<$E(ϭMC3W.o'm63N+bDLUO7BbJk)xi bYuZYhؘ~ 6B> 1+i6y1)4[C[t*}+)7J9RU-`LI\̽Ö |n(xIUܓ9x}|q)E:yxpU ƒE KPhsG jhW:bⳲKh L&6{z`ma tyZ\AxOR(?85TA .ٶ,ϸ KƢmkG_UXs@Pl! r;}Nh+ItcX'FGXKfMNt{7 ёUۨa}ƜflC̢hG\zѥ4F+˹*1u嬫JS*XL$qPY:]=1X Bzs$Չ~װ[ai^ eqћFVn^iՏшez@y_zkƹIm Y@Uŀ^+m©Vp":QjznlfdqBTC;xOfhʳ=9R#-,84ۗ|hANo2~4ay}zq*|7nˬ{^|ޓ|}خ8oGOW`MPlF "P JR80u=43m}srɵ ҂5s{gR\{ߔ9ԾG&g<N%5΍`"n\CmXJ/--H}F/3* nԒ2Z,0ך2v[fJf|$ hq^/p+Mm v #R7Fjs&[1Sc} [N@uX|:HͲ''7ֺ87t}2- cvg1Iq(ߢp7\h TIX֝UVQ:mAp34e?mNsnC\hӝeRnFeEa o8]aLqP%U*0P0ϫ w2sI փ7Vc݅ _A4QDl KA tA\KJ"DƯ1*ĩ4Jh\RKwiRܬXt佲1į|Ee̿Y9Z+"bX}}z+R-7~TU ub=k4c:kiY08"(; YU[?l(Hzk͏zVU?vV:`h-H8[6Ģp)6Ŕ_-~`?6+M JoXV;45NLwcVwA4tVe lU`( مftN[W; )t"?6N ENP٪Y\ro,ZdBDӧӬRqŔ,,I.޽ׂ>?4ag-7n]*QqCWLKھa^U![}?M|"%Υx#=W 骄RUJ?UNA~U a=ɥOu4}V/,=he r3^@^v9$s߁@̥]8h3HA#e+q-r} 'WfУ'Ufˑ(z׈SY3 ƵȊ2cqǫT5?UVQޢW1f b9.0'9 ?)$"o!e uԮ)JFOW:+'xNFJ9_!/[#E*5+ gGja)%fYbJ:/XdZi@M2Ra`zbbUAVMBF 8>6PŤ 9͹qzHc-];=GrxP^QRK1.!g_krT=9KY:0%YY_L$3U8*^P#GmAbl>; ~rq{_D2p2x.f&f(wa)慄"#CM`0D6{؄Ѥ5x6Gb[EټfU+ehT:@nWԇKw#U ۢwzlc0-G5] 3o»G`مgX 3iT!gxݒztҟlq% ;zُn߆:á D7 `$SaU I,2G\wL1B8~GML^ @9'w__XV~m @b pWQ9}'\Vpm;+|g %Xo熆؞|:IҎSփV0 X_^qz4Or4*@eNԳD4A^|r*P$)AڪQbԾa -tq< 15(  \(eٱ)M'} sRj|(d?ʼM`[> MEZXV;q jA1R(M;3M{A]*nˮ>9M_)/poD<ˏCÈ&U^dI"h~\eF+^QyK^ؓ~E-iĤC(O+rI}R.'.PZagɕ t(rO>#l]=T*3Ȍ(YGۃ)^giIeMhO}da@~0JisX\ǿN6jeg%И#`}ue5 wX}ƅ+9p43M#oe*@ ,(oņby#IbwڴN+OV4:)q%:b !:u+Œr-%*yki8Ryqdb n v7CsDA}J ^؛p᪛ S6h ?|^< 9nQ&f_`%y[}j(Iv+j-%YRڊ*(s$$}sUkI>{м.Xk!\)2w\=h} ؾD]-|zyR鮱(fAG5 #`rQPaQ2٣gg=\!pm뎣 -lkr3YshĞf;nEJ IxJ6;wm[}ؙʳq\P/m(X%,9bMPMV6֥Sq<"լw|w*+\ #M@k(K*#ڛ0ɪdw$yHs=LsVIk*O&ӑO&-˦I+C_ڬ2NpAz3Yȇ8`B+c#]L#Hi+t+7˅**BHrLS"iٟ`R]o֎Sfx/O Xf06x[v-.ȃm[,߾G/n4#mHgݣ9w  $gB+ `j Tɳ&( RT65ztB{bȌ6٥$KzZhk](|ms+mߍ J_c>K5Xi=9fDp" Z C9B>N[yW]kDExLiW 5 |a/QڜJ+͵[5f^Хx@):#/i `rH|' ;zo}!#,&L+z1\\4U2-8RүUXZmvxoQdcw[2ꑃ<,6d ZgtטW2. бQШ)p"aw}%>NEyJKSTHж@ dWyhh-J?F6GwBuѐ|G/fc/d+ wDy? d,~P69 lԏ8k}R 7aVE$;-Equs9r,{Ȍ? Eh P} P-zh5` xn0 uftv?.EW_:|lސyɌUtvfRc,rY!& >'Ћf ibtm&* °< [ U՟RqF8|yPFߛbR?"5vJqHibC 48n;;{F<)>#hB8%XG^Ouz%B$*I#?)Gl9 ц0jϦ!3ғS+FYHg]( +4t)>? zcGG8uMUmIt[t`aeBS/}\R-emB )z))jhH Tg3S8ht:0YK='JR,#صsĞdKjNi&s(pOKV_ .g)n*;',ƅ #9&]FzncLaP>Uy@K"ҏL)/R1۴[4 oiKKɜ2/$&R"0ބU`YFՖ*k+ 0]$f.Gĝ|oq;btfx2r =o۔Ԇ\${SFa#R9$He9/XsBm]n/k(9-|шJ ̈~lM<^RgN B^̌R{D9XQ&?,mdw}w+a 9MtcBTY/ 2^N+ZuQϰ7u{pDti2B*CDŽnWv 󈚗\|81}@4Mu[[C,kbfHM*Bl7 "Lg{K#0# ?E 3o^l/EKfnP"ɈM 6:gmhϻ&jKcf&HS %1 x26gƷsI ݍK j_Ya9\@GmcSޣ`=SV~j yP|R('b"0Nf?!6HrÊ7m$ԭj;w"c*4' U -6~լlOā,a'` ypZL:[kϵ[v,Gv:N'xfpwWXC>ՠոM_&~VAh'dOc"a5_苣 g=mDDy\8hjkXsSD">YW:D{fQ%i-gʽi4yN eucjop׿Bө`MQD T` 6b>!VYzN" GwQ`$7cz`k}Hfq$ pS "(ew]P evK&~ DsB(Ǧo0 Pr@kyz)9`.Wwv=_#nʢny#T@&hiLe/x/|vZT̕yG4Tg {8*C0n_p.7pto|e ̭oLh򤚺5J:Abv7|9)_# KTrYऀ0#C(ꕖ3˲+tڃ[H{hhț7} avqWlNMKQR$~WrTKEd__H,)(rf!9nq4 Rm{`|OKr?mӟI*>k kTP7ཧXTm'M4xB"E]8C}̭c8̺LnvxQuk>NZL l2` &R"uu u5v%҂fenqƆ: +Ek?Ob%XҌf!})[1GX Yo 佫P4b޴Zb`h}ډ6F}^ʱ{U w49d ا eyo .~C]&_~,&]1 _FAj^qVXT/9TIhഐ*OcP.hDm[.&v Dwn |z'R`S9'/bak0=L]D DL|E3zGtM>2 I*sůsptC eUT96 Wg^M;c@򓢎 29#yᲚRB{-fh*/IHJy:l35w@ro.:MĠ]릙j[M"B* yz cA3,I1LvZd`VnRKr7Ί]_ƹ`EՓ=u :ǐ:IGljaey2.y$^Y6T+*Yf7j[Όʌ ""AsC&#́IoYUFg=z12H8#`oĒKm#& O88E:fIiRrg N> t]3cYJ=H#ds0bd$ lftCZDQP蠨+<ʕ]."D1_JސJ| q oע%yl^qD ?(›n㋿QS͚V*sPX@jMIln0at4ա략Vd#YZ\)aH,P{`It >w^UsOY_p-ڜoXz^Os|(19ɛs/!RE< (XcUxLaOOt˜l 2ZbPwI"z_3,KT. Ǝe.מ\[,ߡKqwl5Ԫ.p5Ƹs:,ϵq"A4U!Ux`'6 $[b O]|Z!?=C4W6?_0^ z=^Csnc Px(V;1?HoíLFBooՃC7.=H= 0{И%KFaͦrw߱bx'cgCя Vi{$>3MG}'5}_9}Y[ zQ -|ɬ/6>atoI*U%vOe'`ɏB\\CϦZ CQsiCУ4A:U·3ydX#%DH@aѳpOV27mL3c+(lq>ZS Ox%2S }-}7ܺ sqj_WNE^B /wv=zzÌSG{t.p2V_ޢD{)0M!IWP‹tLTʹmfɈZ6D;gI:k"+Yp*2#aq @7j*AVml͉Ʉq#뭉-T|ct*#^ˑKɻ9Aْ$ r-<?Q|aDY{xq`0$dg6 s9~-LU%DAHr0Q%w_!W@TGaFLO;FΞERyݸe${iY)Jࣸ0`- ތ l1ԊWPQu !缏,}x1riw0 Wy-E:IhganГpYOISՊ\1,ё82+ft^m|̃,k<@ rϽGmpm"E$ሏa Q"V&9ճ͢. )0CfrG6 ^1UpX6IU0}₳a ,HN|*\)F+ B7rvg\/ov/2ܸx8X,~=m]ddoc3ͥ?o)p|s/WmlPH@'hĀ2gR$*ރ ޣp,xw.Gj*D2#gzgMaq;DSq :PMFH+v~2ڟ:< \?Cp<_\sͅ43 g~oR 7ԔrS,>jf1~|x)U )9͕r)VTy qn[>eSP~4'?e(),Xٖ͚80nސ۝gsBt!lΩ%]D [+C%S' ޮYMd+GjsF}vo=.Б LJP-4>灍 3H>Ws]y05ꂮ|q>ã>Uw*OiS' <&v?-z>i%k!exٳK[LX7PO}3l3AlxRrIqHDͿ_Z7WȢ35 o Mi 4>vaI3Lsr2o~DKi~&,L*^|8ܱՆ7Lt\`ڢ\!c{&T/Y3 ő*76fk/+[IFWbD%Kq,ߴd(SsBHK_bsῥqfc"~H%/&]cm)@~D|rP5H3B$}CMRHmi^#aH褦NfOkf)auT$}2({|wg%r:E˰}]™^c)ޢJCYYˌ}N\ Rl ;dk#,}󺆜0q5лai" G=&.]\hx㭽Nֈ\[2տer ^<~DZyR0#2={DeQ|_5f-32Vm#'XK8lmWoʊ8r[|va_Z*G\5ƽMPY|dN-鲌ؽ&ԄwuL9=)6iϸ曀kQzRN'@UMq'O9B^bp5wy+?B Hu$Uf|m(U>$L߹ԮQR> f"tqVzV(ghBznp5e}HdTok WfS) $ UEt{|c17…5 +\U^Y5/:%ƅ\o%N\ b^aAGJ;L\Yhx}Y5vW+ dZ ~<20U+Hx<m6*O>WڌHK ,{?AW۝dnpW[90L=gj o(/7o!ŰDx1󠐞m<@|\&AdMdi%c?aqɈi;I-P 8Ps9\L| ,@"AK{pȡҿg3lR^&QPD6CF^>Ԯ42>ݧj2eoH'iw^ƌ f)WPKD Ah\ r{1dXSB"r؋q aDĦzfҥӦ\zQ;-='X$0pNۿ/ V:MǬxczB)(LdjJnd>ߘ"EѠY"Zq\!j} `m崐dB

    Ofi*[^e/FKe>`L I h+HU%޲ /yP X8}Q0dUh7NfB}+m;_C67Qar>(}RmyO~vZX)0ĝHJ& 撰B95CC+Lma :UnjU5+q6rO]/ܬj鹢[M@{~svYv}fZ:D^&K[Lq x=/ulҏHE%63Л{u}hb|HZbdj.Vnnax5iM7y:oZwAGǤ_h?B( N#tX(&+V3@+]߆ITZYΉ;D/T`O.8`PʉZ3J V`פ<9u0-KƑX0{U+LޏXe;&| =6.;D# KfK_vqsb蜻;@Tr3 RQNv'A-ӑXqu35P?0`ΒD ƑKkSQl'W>!a/tzK ~g)AT BZG|Ѡaͮ;fN;OY?ٲ⯗V<qIa7Mo\NZ?aoq#9ޫ:fh?1:+o+q:+ Qq3擛%8JlX+3)r%#á;aUDGإ69$n!duS"rnn{ySǘdh}3WE9#rAR>6EViy[II14%MJ!ҲRPT4G=˴П/Y#Y?'3O,F)헨'#N҂ 4pR|)gc23Dil$T! ,MRDtKr#D &tp}9Z30֔7Rwttm/~ac]5g+)V _c:*bAЏ(K;ORܕe/v'z> `J]R1C!w ;107ZPw\rG?1hᵡv2'Na(/N}jy4XiElD9yP߱ihl;!ƪe o~/ctD1ez7$l_jv#wQ!isuZG^4msB'A&Ӄq|y#-pNao@ӝD([ؤ,b;SNIDWh^{O>f_\AaO@=9F 08&-h8׀+jw'ɁcFI"( ]eŞm c@R9 .Q{a˟}C'iҮ G5Kk\pk! h7 cvsq |^wiIŐFJXeD2mm7_G5N!У[[Lܾ]܏+-,imB.9v[5zR\ޗ!G$d]47Ksee|rxpHd=8$\@KӓR3^%Y7}{A>B@;Lb3D*<{e0bTL<!(\4HD}K#hWWiQ R `8)i2<;iK ŀeљt>+ڌrw[gXow Dlt0w?#v(|?FK!/}$h7>mVAxdPa?P_in 29AX:<>?W.m6EļMRM;"Ӻp`gѮSK/mlۂInIc#@b&T-Z>y.>*D 3M?(G4-vքO<%<2iYau~s  fpV}Lϕ7Do\:8LIN T=jIqʡ?p PZڣZ?XrΊiO#V(>h`*7X bFV͞l7E|5"T@haj[21̂q!;(T`Yb~},NmTDS "Ѻ '3e =Ҕaŏ~dq\"Z#Բ##8]zj4FUn)jަnU"ߴK .P BIJ&$G|Ex`tEڬk4g"(h;oS}$N$ex'{sԢ g0IaM(Nj*RL/г[QI]x8 }}c:j&5/y/B3lY.H}Ϯ ,/ӳ 9\sh+=xU#H7=B׏$ fW ֣ &?Y] 5LW|ğ @E@;+pjc{%uo޹PƼhHwǗx]EMw9f"CӅ} uRXI͍ӫ/̃߇ՠH@*Hq)k ƍw+έX4*uu/GWJ4«^pN"S|ޚy}XɃdcfVZv): -jL+lO!{tU!,AvK8\O!'N$ F2zӵjDU'n9ݷ ,MHRvˆr<@_[3Rl(5UgIg{^v #?JJ_R̉`Lʬ9>i](͉[]e B K#+t,CC>d_W$RL-`&m9x5Nwk#8Ft&k9!ij֧oxfLV)'<ߔv p +{RoK(: yǖgm)buzTX_Ǐ">L6Ũ8OL)9 %הH{Yae}l).lXr{dz.J 3?u!A"X+ xY$eg]?esb/WJ$9\URyWǝ}""\%1EykK%У+[W@|pg@Rc(y:z F3PnЫ h:*a/9Z?9߈&ہx1)d_j>(N ?SԴ~frք mLFЇ~NrcGX$ρno~|$c}=BWTM*}5ys8kW9ϭSB4F9i1uYAVЊjҪmxtipX]'-I.bqx׊AzWb@hB#;R5\"^[_= Ex)<؋gnt_D4Q:72wzz; $~Wu;MGdd,x6Be?Om"LņMxb8V^}x*z*L[V_K]ݼ:;,5RW %f3"knKiqu ػ?o+0Kqr3_1>ٚ,[_CD,L+u51ڄu0TL_ ;);:L8z>2A {ſ>l 1GEx,;CQgZXy"1UV,ntrUG\U%7$2nZEF#RME`#1ӔD^ΣPJPp(Qh!>h2nLⳁ4E1ك=Adv͗_KEK]Lo2']]-˗*/luMMr7`Z ,"|\v,D [(z ^a S7giޓ(KXlTեB&d5O7FBuaIּXj`TX_(z :@ kqZI(}@7Aɍ83UgiB@4M  JQΣ:"Fѷ9 ^m ^b@&ZQeU²!XPΰ-7/9 0e(Ăܹ"MzY/ _ ۉ&sntAOC >O5E*cwDd.ƈ\1SkȐƬkC"0qkW*ڄt-nh8 |c;چ㡣!bЕ[ijت,z(yZ}y_5}4^$$]ߐ1,-].!)ެ X`.FU-c};HJ".0~%Y䯞PhC5 <шco8g,/hvȚc^ Pقt&iNفd( dAp]͡ ?'i9Lk1WB9V6Z#sY߳e{\KՀ1FC?Fh 雖6+Q~g=.E|Bͣ㫓ۡOk81ҧOJ NhVRR~CT (dWKd?h67| UڋYw?=<nŀ,M]5&touo O˗MeK6װrVnYat_aY*3^~vo},!:tcNK +7Q1Ŵs33pPK)J]IRV,1s?cyR =>`Vqe?;0d/(߀rʬ 'oaa0J.%O6D{-M'+w̻\K%A`-fӮ$RI・&= 7d8<;ȿQI8 ~& PA 's ֕ џQkp٠ξjFߓPpIT4Z\٦0̉jv>z} wm$qfg(j_EetEnVGpe2em{8=cQW$0DPzaHn9 kNg®Y,]EOH2k >ǶNǓEcXod^G}j\#+qT;j*t iIR׎-sa;cjQgbB[LArrT)OhGcIOMnf!~-L))^ Z7>\|9̽n)4ǘ!>etL6YWu;<떖vi>x>VJ˸ʢ̭1~b4q=N)wT:(PR9$|SzN,:1p}O0_ kP퀉8*|_ D:( ➝0Wqsit19OL/YmtsD~(|炠1DA'Bg_ 7\u h7(aI *cÙd"eWD0XO^ 1zcWO]&q/723>[*Y6LS@Tޢ2,,QJaF S5gWzfjg/ǍbS+ws7_5Wփ.'S2 ]?.UG)?hWaV8> _-A~8d5d)Qȹ^qX/$_D{B]ȁ' o*ADܧ5V&-yEXOHl|#+!/ 5>JM!LRDV2߷th/EJW2v5SN{kJM\of֡>g^n]^nP"3sqcUC28崐- EX*fqVlƌ+A-ͺ3e?df k>M#b;(B21LFi[zԲxֲsQb_SoLoAQ2헶#ge ViHJu%^t"ϤH=$|>Eͳ R C},SM 0.pME,-duTay`a#ؠ "pd\^"}*t@l#7\VF_xJCȄ&xƀ۫z{x;Q:7ۜ^P`T|ڲ3 YPAbr.G„Ai o2!:FfI;mNٽ,l<",;^_w;'- -yOSDHA3E Vn>In.H!=i9d]+XBZ>2`њ_p@k]>7jyLt&=z Hj-k q<]c*̡NO},'$Q)Dq9us/EΔH#6޲R7g JWD:s3ǧ(  >,UusV JqUz̀OJwl#K F|2%P0m3A^m1Tz8;R3'v<4+OL:5<:CY'*Osou*arVc >;gހz2m-K& O~e̦өsc&юsLpk *6ݜOV1hT>i@!-GaS:μ2(GaxVĢg0n'IŎ]hx򺃣}UF!6VlDͻQz/fF E뙇H.]w9LJr0fZFL#H y; X_$ h՟alva?7 :D(.Ձ 㚀g{=  Ҭk1~U'E 0 Ò~N A򹹍%.1)iFvUQ.%\]6K+yƲ O5xKw8bj6hp&S:&JgW֠V¹r̰>ȰO_wЏ_<AWtiZ]c!BGQQ)+] kCoUb:#KJy18N; !fb\ ТJ(BE,%͊qb?tS - vS]w:!wcꎸ0nVcдQ&IT 2J _e-c/| &5ƃӖZ?KJhړAB(Q\= fm pׁ"r(ΣuJ 6E?d/@.hxtYǴK_7'y+]'\8Zc.CFym L )j{B%$hzJ>t@kb< W`=BWV/)4gt8xIZ>I8Њ sQѧ' a bI1+z ,fm,LˈCRwiG@2l,[$—4`5K`c2#Q8]1 Y)2.&7_;OqOlWU*r= HغbL:X)Ԗ-IKvߤ ǟo61k2o/-bj<} <Ҡ_!㿙H _gO3qף-܀_ \n}`̰I"Du5 2VS~GUڱdŻ圌bC٧-mwHe?}j ݲ tCHi>bڕǠo;q)PKD"sOMX Roד\g->E]4סUP) z|¯I LX",rkCFV-o4K~U< 4&rՑJXKisdBV`\`&aA9f3cs$/1H|R[MibIqJ 1tpF{'::[|SJqsGM(9g$bO ?r*y'X{hQq (  8= Z.Qjg4CNe-})Ss0 j!)( 1ZWMTwGeߠLv+arclb8~&B[O];_u%@o$Jٵ >%%d(qUc+{Mf-͔2vP * 2D>}YI\a'惸"+ZP"*:z骖7KWfII-)dL)xd2-H_iV.&2MjKsheP,aF1ub1 >~s8&gYI ٬-+*K%P]<%1W fw#.g>4Pyg@Dj LeVw&)ʝG} K\dzZQKյ1{&?+zĚ`bbR Y[(DA,M,Sl7ec/%ehƞYdnx'dSϐC-- 攜Nt EtЫ:"9{̭;/4LNo)TՁPDrݵ"zƽJ|iR+-ʪY5зG0J;B3\kVEYltd 0&XVm/M^{V&nA><;{D$k9>![&uv[ '/$o( ^Ss] Ӫf,J$-*c! t0~-=Egexx=sG2^tNo>'&DӐ(/VbtKY-Ĝ`"HZkL)۫᯻jlT׸/wэDeF:0pؠjU:&c^u((i 1/hFAp8kVٯ}MD1r))'R/KmYؒX n]VD8;8aDj=# NIYrv'-G W)9@>qtNN(ǧxZD8J.j!>H.cW)]Od q,EUN;4?' 79}3˝+O"pc6ha\ #q|atĖ&9}"OHA,+:rZkx)RFTu MZʙ?[fî[?Y).iSVF]|Ȋ`?+ECk{QgPKL*F,{.A9깞crIm#x`כ8TZo61BotB!/9r6j=Qy:ScJSd8 X#b^Īni"o Gʅ`U/DA1[&@X*.= 𴝯.iy_Q_[P !zVzd+}*FN.KP=/M)i׃zq ^/2>.qCoX(Iwtgty ZByJV}om.mJ rp LѲl]Ak0>EKv@Dw%/l88Y\< e/BvV!7S#8GxG,M@ wՂ,N#i3`Cb27ʻɁ;L8H}P;.םuj"9F n[E"\v{.qb-h=z\cr'$ 5ȏ*>,e+Tgάb;knSNãV7 MF(Jw 2s/jgcUR'v$h)q1 Iab KxL\V&G. f{glE7*&܊VƢۻ_ٸŃeB3wh.N& &\|+Ģp3z.%dԪ·\R)+2'ldS-dH[0[-uXQl;,ԨcĀJCw>" vY`qxЖ&@ 1UW\'~ JwWgz-y:튨Au8uB\bKJ_V>4ARVW**~ w4eҾwq|=Lk/zfLL @PsnنZdOQY "W*Y;p"j  J\׫MJAAJ~" VO2z-`sE4c} yȒ[U%v춞t .UW2鯔ϙBK!g.!Gͦ,N.>U/ \D-YKXU8HI:K l8N}ڣbi!p`M>JaY[FVXVŴՐW yvs#F![$;_Na/1Bz ɱ5?L&Kk_žer&옵a#D>w4dA \a J m)m݌f㪼Ѱ/%;@tkh)ގřeebesє{0bIMI0xՅ /vlN`JW?̺*h|=n#4FTrM"kKBJq̻$W0kC#z^g~ņz ɇ huc$O Ԩ`yblCߜ@3嶾 սrGiv0@@axt`X!LmNN5c(4DC @vF5 BG܊X (eN, \w#{~Լ3>#T8V t?`j~`g$iUq wWg5b#U +Q6e;š.١뽦ۂRIPͨuC9=ʳȠP4r/8~>JHסD̥ l#H=VF0fA}ڋ.7>3g ^m6X.8<% 'jܛ<&AeE)Ϋ8;4|`W{ɟurz7X4`)K8:qO`uUk$23yDۋthSc53 x3-@R70$zs ytS{m1WqFM$ 厸62_l1 ^@@],*8')MMF_ٟjP$ 6g c;VzcKhVV#AM:КP3ipF_~"Uե[&Z jO஻`^|Jަ4HIQ4_zS)RidcXȷ+ǺJÃ!vݴ/^2 !t〱EEHE .uﭡJ8O=\~j~$>K+V(Il-*Jd#|ryV 2U^&]87۠%fZW4 ):7.ٶ5F[gxE Y)75g(d4A_ځrzt[ye[VQXՐ#!rJz@Q̔x'mYnTphw "D~U >UwIH]Le iG A0M;ek}JYC}ŞyNh|nV0'|\$l SEV|=3<{,9 QCɤlj$wDJقl]ɕkd@73Ԫc7ya 2w--W䨤8719|~ 6ho}I#=u5#e#@!$" 9 '1pt%4r\:3jGC)5XR[0!K9CT y9vGr+_b4obmsY"XRt f0pw8]ōDp/jm:|`VB>YOuo]opYY^lzSL6xAY[cr]F~=kVLK&\aF`,*u'&ޫ@4GvSٯJ{pwا0ŮEzB`ѓ$fŶǼ- vm~KZKT#jX -nbw? aAa4wp4^.$6 a SE+ O#Jjz<}1@&oTťlK@3DpA KM<l2-K~6Ճ%P.'EPK@# f9e4742Rcp1ČMOT ǥ.ϜΌԚa*9KQqP]z͢z~VԺK. ߾[ĭQDQ&Dz8O 7k/<#>y~;eUڄ?Ry*μm5vZ0Q΅Z% ijGSc˳dĶ/|VK%aCbtD#](8Y5o[ V]Y%t;P!Ş)";/h%>>vxvYJ)6ՍBse PN>CA=R0]a*^ WUSKGU_SP ;47NwJ .J8!eiLrWu /j˃ fH^ _//WW!Z;4֣sj[M%9 _"bZ[:]DfG8j3J %\<{f{= Xl(FA IrWj|{81mps֢r>Wv|1惍Oֹ/\Y>Qqdw8Ʊ[>=_lϳlgG1"`[{[i*{?U#DV?L X*X2oTVC>2OX A_k1}vtM  ύ [yU[I o>D.L\Hb#՗2d(>=|)vV9K|PJAR)nXfINs4>41{S[%{?{ zs&(& r[[ if (+d%:)pHX ռ*+VgI}|O|HĞuz 7ie`y_: o`Wҳs1I"@gKv d@LOUvL<q.(LU/6MW>󥛫Tbum/I{opzieֻ'&$\۬ju}"bM4ڬb?8Q8^~{Ix8 Ď _:RUM!|*h:M2/Ľþ~ߗ2d#Oڸ&Λeg[&8b+dup[YC߿ř!q>fw[^tZ-Lܙؘzկ5L$;`RVrCo>bGgVDcwl\w ̼Y@2_`L`5!`~PC9sJ_pKa1 8 1}mca׹Mg+}CyX$#OG3w(mSDT@],>y/Ҋ F/@8TS.~n8 pk \5񻖍V,yVgn^VT؟MoFP&BUM5nzr=Z0I.~Ϩk=`1UziҜ_F2:Ӌ#rs՛c#ƪ[}V&Q\\m\ DZZN$IMT\_[7K;2@+(͹YN HwJ2]{êm^V3 lQ$Y޶OIR_X>-15P7kWe9dͺ^ nu*j:C~E+|%ݧ/ E Qo^۳(`_9_ 7f+:y- ׈FqD#$Qr<+KH=ײ;~-=/Pܽ62IDžEBF {.@E 75?ڡmqRM^0JO [<}(a.9Of8 }#I Wٟġd?Jh#N13T>NGb95E{/# p'2w :FiV.In4NuhlŮb'@kLɫ'8X?LAuDSn.N+rjP|(Samc%\ @F0Ss6LUf&WCؚDۦVzWy͕d>uf.Ŭ!Z 䳡##cX:`N=zK}N%"8  HU{\x,% U13Qh_zqY1##OT D3Zn4_$} w5zpPM/LMkH]WhONy׍&1*H!qǎ^W:"o&aA+GQ'L 3/$iH.2d\r"UgUdPDGʡl8InEAq\&| )k!Sz8jW ּcٙWo[01)\x%kz&O` o@ Pjfmq>_:vaM(}FVʘNl宧ݩ_ѣ>V g m5ϺSbbY3\gU$٤*vϯB%_&sܬQLA2x2,#9Hrl;G6Up9ҹ3%cVOBa2VRU]14c;r(: i4'D({yÅ /4ΏJT4Ff]!(nĥ~E>I4·6@~6,Z*y-Tz,Ai* 7Vjg+m&ro^yk$~<ԥ51FB )X{iQsd $TS&S􈦒ͺy&7ɯ# )={k ȧBm*T:zKf+_dFBMXf\dg;=J&l6)TYWjD\~;P D)`;o->sOg4RK=Nҙnٲ9͙$?8 tnHӒ}׎FC0uts^7=#*K i#׸l:tRbl$Tu#MTkg J:,p#;6g_D}P!"%0 fjhYQCLSAӭe :œ pO;()t_6-fK\uhr#jz[*Y>^`¬JT.O=Mv|i]ӶSo8~ڧP瘝ዸ[l>>k Ew5%.rLlk/9+D>ѼjNe$z}gXT ៽׏< c@Z*mᴤ7 crNklߦ,k2Em5Ed+(lUsX D8?*"|TA167Po| 8\+vnAÕEVh98id,N [Xt(X5L798~[r(0dEzC#Ldys*-w&f<Ў%Rg,#|V66:.S\CGM$ bLUo(tWf(&4aqJ#Yn#Wu/']u'ឭ2!f]'UCp47VlުɰiN;`6Rs#݅4tR_AlDc}bˑ@{+85ā8BsQEਕlFgN W0՜ sdcKK*{yGٲ(YICj^ 7>*~v[UP˜Yf $R#˔bVgkx7ƮvZ469/_sdH2IoUXh6|1Sro&Z~OTUm5wɆGDczYLG&ۚJiuE<cV핃Nd(r.d+Z/b⨒YibUQ0Sc9>WԋcwrB ͒0W$V5SuCu-4Ӕ 8ۢkx R Z>_F[$rm7d˄tMCOcllȜ6)kXt[8ɪ,σvА <XxI*iopA~2߯Ym~(^ `NUt3}m~74,!eU1q"1ې,75. !ManP{83' XJhݻ=bb:&)Ȏ6(BA|\(7hRQ/i+ǃZzt2##] z*997ߪIu'_4WZ=6LrjQ$5Bzձ_q̢:?`@pƐtlG`IYX|7ɟS9b; c6H|O`ȑ^ U&@Qt&!űu2X9Ȼ.77 #~coIXC|κXXqPӷ[$$X!u(VՕ}:agQ3= w&8ӿ nMPdV4|n?~Xt_8t6A-gɮU&xNm)5|>VѢrCjbM/H N`ٽYFEƃpC[T^ޔY{ L(X{ B@oX'l|aְwL]rzc3lrou!E9v:y!9wn&ۍVs8é26($Rg9szBk=EEįF lve_" SzV"2i- Q80&]j zٰ@,b@_ N놚%%/ν5'̈́i\@+pzHFD@c_2֋奪L%b?*dGV}~8_dfQS^|1㌤|<7-e*a=Qy;H6JৗUK۶^rظ7ŏ! 쓡{b,8%Hј|;RSK!BQ,Ʃ  z[@ ,"_s< A"`ѸxMsh|ej>'2O[^{h-w)e,ƍd?'7R"%7ÎQ+3WG1 b2#,8/%^ñeB=,\r_PAf8^++~3T365ƃPMwH 5~ L7<{.ms^䟐" ZU;Qٿ%kƿ:);8pmlm[)Z^8 ~wK2>7UXI> P֭?fT^*22yR½DKjkQci-|آəBW;\h]\ |F+%]wW{1cZqr2(30g;vy5;e})o'm"ns#R.kT(W\UV*C2겧左mnF?Vw1^,ČʯXVr}Un,l@40qܑ͠yjW0 ͣ;4k(!"ź4Bv5Ο3e _ s*ʋI(ZJCs;3+Oh*~l+N ,eǥ ;4-Y%qVϥyuYS) :H2'?7,Fk>&rb7 .c+d!F6&6~4zTb(#Ye4'З?Au*-d1vbw 0aǿ`LN7ui?jXeZbUdvnޓ=m2"WvJ_}$q',޴M(Y'܌DǝTNE)NfQy23ٴ)`cDww0}<+"If p4%uoi@Ly*n.3![K*giI`B tOԴu,;vMi8ep.#"$hoi̛}6̵}Yg E:MX+KW@+JT5GqoK$zCo{o0{CG9=)zO/F?Y_C}6_u}f^[ }ڥLa}ycq(c^[$ծպW7硈|4'%Hfo< tSM7@эXx\bH^ApZ}s]7ԃFՔ`x%UW{H>1Z+(pa d~ '͚x2=d|v(bx thZwCsu/ }Ӳ[I2}?e$+UNG\ْc@Al漮qZ`XǨ)V؈89fQ5I-ckYE&г'Rg Z@wۣ1?>R|weK?O[ ,XWUo1҈OJ_NrY? `|ߴht-$H}ybډvtO-}4SDS_T^{ۥ硾4- ^_#f-4?zPBqGA8j39rH,AJtuybo#RRU7. >DTHj 7IOgA" uG݅"Ze^x,/אkNJ PkETi#~̄Fle El@1*7VrPǓ7#,GI4qU&Т!zADv%́o $j$=jVZZ:c9 Eq(pYv`7mX/W\h1-Ȕh};q>Lu_*F4 ~!p8ے%߳J1}*jtǃT:-;|;l&NXGٰRj\[&i)~aj&)6Fkϴ,b#:MbTgG 2H>/oʤBk.ٞ U:QN>Ƈm lG7/" SmH87xrOg0ON1C&%~DR{>&ȵ b󭫎$sbS퓜G Qc]嬐WBrV843%VۜJNIŠTZY1(8]d} %R>%$9O#!77쇒u/ z7Zr}(Īa Ҹ_'oz rD;]ҹ//䞔8}`Y*~Vˆ'~6өM*OD!**B4oS2)X^T6 Q_w8۬95h!\ =$t)!S9IU=qbLvqNem=q Ͳ4`r`N+#~S:.#@ 6CE}3C5䗛P,`^泏X_̢S2d a,΋v:AsBIpӎ&"fTn,u1ӫKAY&O{?!рSGw)k+_>ve[@H\`@&v6PV C 䶔yh1yfKX Y vp ;#-t Nr30kQ,'XBboqG+ 6RF^N4qσWl๎+Cj>Y l H7ɌJ gJ@u0ƦN֥z2_ˇLf=ѐcBD2ʏ2aY(/ s?!V s?2t~坛&~|8T**p{ 9Yb<nD v}H_͹ E0Luȱ>6G ~.\gy/x8V tmzu ^yb | 29qpއ{ȕ09/ ĜCm j4")}rs@p&APX~]APge<`3?{" #O.jze޽2ev%s`% HvjeeЏ{|1)ձK'12g9Ԩ 1`׸ [jM/ښ50;q)e<ʾ*U(YU/+ƭoj>.[@yoY&<^JuuZ.r hk5)ɮ6 Abp_"ApyvD[@H̃ 're:31!6u7znT SZbkn BdOXw,kͮ`"3n@{U9;_F/W4yl0h"'`\h=ۜX?䙵lp6\ێAtEC05T4Uj*vEpbE:\mst ]!uȴ7G j'zx 7™PMs#qD+lݵC3qogz&ςp'm2Sd{-p DFշѳbz+=#f0!._t9jMf8h϶sی믒ͥU`SYE2^ _aFo6=@̂6ef/d3yjTDmBH: mQv큊-N5$7,h'Pts63jNPϊm{HH7|Y]莦-n &9tň= XaB+69y0z+=hƽY gı{Q#YdOzCVU|biB0zc8e |aI|B6 Y85 ܋L٤DU*"QowD pWfy"o(Y/˜3xEDy=kQ ߷|tV5֬Iz1A̵ݴOrw(\\_(%Csn u1h]G%u\V+`.0gNdgȻsYKssZ3xEK a̶dGq0ċd]j/ze i>Lw.W_0 : o54y@3UY ;CˊS.ɛP\:H F?/}`gL:_jglP6Ն1mY/󤕉!OB0q+:;CZfH-I4*Ȕ꫔8sq7oF"7ۯQ`WJs`<}D"ƫ3 YBFLAUbUxfکq"jKK=rDbXAL c #  XBMoʓ)Zd}J,G.SG+_G4dArdQrJC>#&kBg.&'O6[Q˫Y`ZïjO,n&á6) g,O-?@4x #"z(du;AJq5GdTxyHU)nSę~̎Ctֻ C3`2l'Ы32X6̖,NJn{<@M5~A)XKd~V󣚚x/a䜡_xX%Q/ !a} {ոNΩJJ?#CP$~]gj\GF\hk I=u;ҙ6W?lg._z$E$W!ȨFSd޹gVO)Y\_Yutiglc+sa6^~!}x2Т\FQCq T 0z B܄vbM.n].MhQ\ʨd;L[T$E^yaJ2q\Cs5N1߉=+ F7m*BZ!ӵwQ 0j;L>F1߁4 yL[m|[՞=(I{V/Glt uV[EAq9tvkXA{VʻaS_୲&_D+?0_f M^/ /HdM+)X 5j_ צ*<;(i~\;> '';x AN&> m^xl{gӚtȆdq O9sP(Db+U (7Z۴ϳ V&BDZ6!꾵g*wラ[Abp8Gk9[g;dJA-HҎS/gXh\\"75u>Kj(cd%9 0&]AB E[@xY*=͛5 ~_h7'',N%6?]%>qIًT;H}\PGME0pg`)xC/7vŁ~s8Q X2P tA8G_Rp~!i􌭦 [.I'SmH_A dW5,\$S6G~>#ڨƷ3C>1ZH5n?;l̛j_^[eW_T]K\m sBbix-<^Ww3٧JÅJd p`SFlA9B781վnhk7ju33yqH\ _88MLt}`rKnݵ]4//r11aƃ^bmn,WqF3Jzumy7Q" pMm7ɶ2|\o!&uaט-ppa{}meFsI[a8}| ]Hďd5N 'UUQBLT0A}ȠLa39 Ă?+21wЕq\>ƀ,ih ~^{$ [1|X3x%PWjLwJ؁|Jˢ#pglҼ=MUbIQErKekuxeŞF& z_m@bYW ?sN׸QDF\1~>:ksO]=誓+TU\', ,9m&κj)9>m.Q}ګhD"'<&عF2OL7bYTɔ쇊DYJyAR3K~kqlh:vXҡ=9pZ%@t-LOQ{s&D󃝖z]}fRyw&NN{D R}FKMz*M{jnOv(`cB=1ؤ6DݔC<:;AosF3>}O-^h.#Ms,ݛ 5 @?n_lqySO=B| LhI2ƣ4"m`R(W^oiOtԼ9.=D2 _Ȟq+ 6`h/VSK`N?[W<}t67[Ɓ:7/&$1ͻ rΩMX8,V4Fw2. !qb#Q?]P`f.VٹS EzK]/qQJiVn'e;ʁ&L1em`zWĚnꃪ RJ63Rq}l-O {EZB2ی"ހmu]jtU@Poynh+'qZ!RpIGSkUd/“`vB- ~'O sD{F_S+oy`֖ P}K-&Ĺ$ Mt|M ylz'i{p-< R6JR!Կ_=}xKVC+;z}a=/7.E݉vg~RXhW!3j$>=7Ѿzokk,}pU<1rj$G*壂Y&RL@xP՚-s+M !yYͨ:K vD9c+H0;r5 C䄟#:+V],rGGi4ZwM+,Uʣwd&vJ!8!(.g,)R^Egõ!'D-ܺq',pH68*qiލepCv5;Dr .*)X(5 V6^W%@2~׿.`92p(:Qռd=-w.!NoLsfWj$QmŎC ,rJ/"NՇn -RTHB6~rgFfY02` *'+qcʱ )`چ&_ ٍeӋr̈C EHb'u tfѕJh\&}N W {\n/bܯLw#kժ11u!rOl, iW׉wLq gMv⡈iI ˺WE7A^UlW@,3D2tF5BU$Qde@O7,+;2V~EG  SQTh^6q&r$FC݄iBTdo 7t4<.z mfuZ4K)W=N"x:l5 }WVd3ͳ;  wktD>筍{W3 Y̘)qlH7}/P둱㟒=JZWc6]vsvq.HQ"[g8ƆʃTo^nq/kk}\(:l{@ J(]C<1THS4@ޣ ;A38&_t*I֟3Qkq6S\NvΫQvِdY݇en"N_@ϐu}w)o>o3ʀuu06BzR"b{?ٽ=!*ŠR5ZcϹ:G1ig.  5Wu{mlEm0YHtd":d OL OQʣ42yڎޤI/\BA'QҞ$o7Ϧ*.ԓmf֞1S7Zv}[D]KHS/VMˤ%[fɢ*ī^%%Kg[r::IB$ئ?ٞP -Z`xLF%`/YﻊDmJwNB^$q#y/C g-tknaZV+rŀ\n̩d73[妺Jb;`fZL&d3ۏ-MZh@#JLX)s)o{ZPTj'ӇP [wPݵ5x{ l \ʿYƎ$S3}$.82RV+ѵy&@`sT41z kF802 H{KYtB1#{79b5$UuLXԖSuuʡ FxέEH`WwǑ;Vµst% P]iK$0idW0,CT̿)d3>; (@:)MKzsvUk.F(Ge~1#vI $ U3 [Ũ~Ϡ8;hO¥rUi EKң:MNaլR$ g%`^xK?'J2+xf !1cj7$nеHKl> w, L< >'-4#CDRk91'Dq0+)u` ~!>7үḱAo$nV5ZB%1%z[q\ddݘ4S[`_m 1E- 'fx߆=; =BF8z.u %[MJd0&OU H 82Ҵ> f/ZF.Dd4 ~A%a"`Y^ff:xKɱlʾ7u oV^S4TN2An~ si!}m'I%Kefب m }^ԭJ#D;!bǂ{gS(Yډf[jgNnëH"t *KQ NW,w+l鹐6*"@B-b6!iM]^F"`XEr L0b&{WnMׁ. ~xBzpNn( 6"?׮ tjÃEif9ރ |!dU7Ѥ )\~ UUI ,i1Hv3 3 BMcŒʐw4Il42Pm NSGO/q {B*S`׼[p~ TVMzQLݸN/_,ދ.:m"tXP>ho=(+ w!IoaD֝=/qy=H99ER6UqLtX r?t3" %xwf͗/ $TtuZFLEIhP2՜C [XVU Q T:Mf,XAD ]0%RڤȞb~ 2Sn*zWHN?aR< KIW^])~bKi C`ԺҐVHpp܀FIеش#O{s8z:[HJӡ%-fL&> ɓX1^ ,O@XҥKMm8yb+*q%<,f(+@LB蹢fȾ '(:z:L%AB2=])-^:6s_YHHzϫW JdMV>k!*Êՠ F{{MzknrZVM%v)zL(¬.<.%aݹ= sxz-Pёpy6l?x~qZ٬/}ϟ 8`&dH`w- ,3py|lb XUg4-CX0}"T{l/V|x8 AJo+ϓH,4tI送<(ddSz=?UdA~eG%ϊ2roeʛTPO殔LV3hgdTH-]16IAhGI< 1[gc[CO:Ds~qΪJp _c$5)ucfSDl;jΡ+\3R#5#;|9L3jB[sHɃmfQ`Tnחuw_%"ơ`/.=Vp@{p[ ҺB_kS4 rEd;̤ubUD✣_I]iFoIѯ"揤ɮWxG.Nxg䯏2Us Y XYqccޔvyx5fSV3y[ @bJl #?T; ANHܗbc:GGaSG pOckx# /kxyX _{>E9UfLni{}&I.17ra}KF !eDa9V bC}]l?wGz. p$RL?b9O~#ar~bQ8Jd$_1MѴgE?ZOӪl$`TnU<&-dҎT.i˝FEs~%m|MwqmF-Um~ #:^"P~8|11ld1J7*ѫ Vz'O8ԫ`qG\nT$bN}|x(}t\NЛ{|N5V#-8ibI.&D;y'hks(O͓I棳<ѹ6rS2 28!׎ڐG[,%aE7;N)46LYh\!>w̶zݽ p!Oq'^Ds2hkEX{r}IX>K@]th[O$$2Ε_=j!,&l=~®UDp[!)f dOlFP`5[L}0H(ά|יt%q >53$ْwV±Gͮû.!NFAx$u`A#׳j S۽,v7UAQV*%ewZf Z.c"J#FI쯁w s.Y6VߐhHj(H:]=u)18vl[NGy@^r5醷6ەי l35ɬHtlO[ǟ^4fNamמ|hJTsg1iAOg>~.@BTQ'jĻ7jǘ믥rz"W:+wy^Pc ?)]F)t#t\ahqqD0 {_?&ZK PEZH9̡h53C΅Ր&kЬuʾ4s1Eu1q7wn8P8th# <T&_ϣ`S#>]~MEGnʐkxN37j;.1q򒾧" MD RbI뿘] ^g!󣣬|C^' {ik zsgΠ*mNӯ!4BӔ\Γڗ`<5퀠MB F^~~}NS}bhR[2)Ji50]#w)#Q,1\ܴo?mZg&{^s38 ςz.ׁ';oDOМ)gy$e7:gUl$Rާ# 1_熠`nMμ=`֭mct1tS\=m-Ւ#xAwzPVEr ev~\ ?OG"^"C "L0sCCC;bܭEn :jqf/ȖzA0U|n ?G!7\/X\+u;MHcM9:ͯ!cOugwgHi_.p]GTawV;Y!ձ 1qhE<ڮN#8 "ו͈Z@G+ %AA0 gbG޼\s(?D] VJu[uK@GCڇd=K4r>1?[Bo}]}~ޖB~jԔhw; ض4cUfYz2sD=f3~|\x1 ֦ҟ밂)@}yo/<&}lR\;l(B[ zԳa7&(bWrOj `tgmļ@Ԏ! $5H|v 9&~0q=K +ԃ1J+h"l7yC O4`pQ03̖,}gua咜1k;4  \ ƶ}RՂd-5~uhRI{bӽ޴pۤ%XF Z[FaWx.Y+ĶR W^^P$TYS  m0LXm򇬔"^VoϤ~cCXPQ}eoxT{ < aNc<ϱ78Tk6[J;O}bR:LԘfynAHHяi#QcvZ9i u;Ztyg<_^q}{H['ֆ :s|ipǃ8Xo0$FyYqZ)" = W?+vX**P"H L .z2㑰%PZR.) iU:QN2K8ҏ$Ԡ_gHj)Cxt(ߐreDJ|/Q o1]<^Ud?kZd*F5?0l k9r-Kh2WǩT8< .~dɟ+Ttvg s)]mj#erل/0cOz9fiQaU f ;S.5ϗ4uCJJ_g&Hp dK~ h:^@)kl:`9.PRl4Hv}<[qMD;M~IlV{+4!HW^ B+tbOЧa#uryIJ ђC%G$&M*TBJaICL 1 1v~:q8`˖; 7DrS׭}HwwH"R_̈́a((ws/P^~t H(I7$GB'7l^* ?"o}D %9ZUd$5b2ՕIc wX5RfO"n`f Leky]! ʾO\V{lqu=-+-BcY}j`9y[40a k'~.Y8KɳqOXniWowӻ2H3[D+ ٥ ~V+l'kQKx_V$i7e!sSPZ죛gHG7xr͵ FVRTf!=(f1lOQ11QrkߊNzI{`b Pm0ɈcUG:ݮ9gJ^:bB>IPS7P"frc\̪ [?nI'n'^^XP\!6Lfۛ^37 (W#}tK.'{cU",SYf j D?2!q-it^o-T#[31\̏L}ٟZz{J]6 5dAsvˑː9UdA5xr\}jLxwZl. 07>\ 9 #vs`^ c0Ws)$nGJ7ƍϓBq!6q,(.8>Ww25Ix]pi?Ffk:CC!J3??-vu);c KR?MX-)V#sǰSn io="2eA.VB;T%>xdɪ|G3E ܤtX@e ^} LfX^iBH^ݯs/J\M ۏFEM=g^}J.Dlkk{rM6> le\ 6v1 Ȱ;nj% nx-~4@uaɔRh TKM$-f@-v";P61ڬ|1%2mCnkNżК?8ܞa\@ns'ǻR.2&g O[HhZ$wQ`AX~Qʩ8[tcyp]M!Ƴ{JQPY0\"'PRG=)ASEvKhW#*dz(2pR;!ϮWݼ̯8ayj : X"ǭfs_bm)ܛӪpϹ[J3)̳:6WdZ2w(a:Txe+FS(+$wǯ׈a&AqCVፚ:=2O/r75Ny﵎>6.pX\I Wk ο4$maܡwa:/:[:;2tP5vլjP'פåvPqT9,ⵈomXfXM/$H\.1p] =S<"Yo13; \ƹ>a$\S{r.k-)olS-nbGQG4EW}gNR*!}{D6mg{q'ʙCt7,RRHWS9gIN9+Կo|w~ ђOeDU@3x(wP`v2Xoz4x{|q‹ND tɹAP5D$kJLP 6Y"M%[x雥Xoτv_Oko.35y`bfo^۱rՋ-vGRxi(`>gj܃3R`9ْIGwKU]ح(<ǹxeDwGqIf[CQd&AH%?A{; 4mZ=^{6\Fm0 ,EJw(M `ƙMRI/!4mġ[hJ*G} 3>Muc=CGn/p^O>FdL <Ɯ=Rv[s{=&O J* pwq8Q)s+eۊjn(finEP>HH|xnVz5>+*(G Ud/PvAad>mc.zECw@"͏Bgĝ!O'3[rG@`t3>/'$-q~!⾞a6ϲ3l^8.=븣|(}RwQѧ.M|bi k3#S 8ȆP zE=H&oKlpUr,`R*T\]3k,ҘoS1쟪I9AAh:[DtkRY#<`ÇW Xڂ' x-@2w*@.#j80%_kH31\ܝƗ8Uۥ-Yn '(#Z&[;[v YQz֊Q8Ԅ}?RzuR]:;w n95^a&Ғ3L6\BNDD4+!ff!_ S c5zlzh;_I{,y{d!G{58sǑլ{uH)o3N2Ψ׃3 +TA_+M=&Fql|udSay4ۛR­ߛ8lA^7Pv W58V^ݰ͈y|KSoT?9/d͆o-Wa~%75b4^Tj,ҩeJ! Z [B~D*UR[!Psq|T[+(OL*H1_^NgI oUH4WCc$z?/~f4Zg."`I8I'Ϙ*f"XꜙV* ei>hPQU/cr b` x+_IӼoT4%2Iɐ󛗣k~ -txK/T.C3]q (,l]M;W w¼dCNik(jձsKFzhU}y.0A(>$wX1t]1]@18sACY5u% r  :4ord/81ɬ>%' C89@n%@Hk$X r,ހn?GR =k$ZuưUk'T  ȶNE[mʼAP2[iD:g$-#{sFIe>xFGY\,FX u#=O.Z5Ms# t@i{AnݗS hqCBCCX< (MQfek ,,DҜl> pgJ48QibtSEñ!U|O}R1X-a!X'Y"jy|B\[3)*Yiyaʊ2]F ALgڒ-17{Dw,}7c .vV-'Z\DW])]>k"EEu@ڰ.#r(xY,4:rw= 0,E3TV "#K_~ Y9;KI]- lȾ'Wep_#6u!>c=[_9LWI ViI- 43g45x0SrQn'zo@$7o+z^+h)BKkF?NaFSKQ>#Hr)r`C}j[`KO쓰UBP):F[^T(X/魆&MM\c q#l?XQ˜׼СUg{>u6tU!G5ĵp ~XPҽP ;1۵: Ȕ]U5~,c%ez~Uw?r\w@"•OWUaCxKh2bb ܲO񪲔 e$kCUl^%0dR+0 ]C#}!K#^gNv>2'BvWOl.I]e޽D -z|;Z޿J2=EWlFIkTf6Eem:$xP[W=N-@i.:\Tm,륦Ѫ'͜1Vi8 O6,>}x -4:7qp%y3sdrյ5G@Vy:lü7+G"4(U`o@GxL[r89}jƶYo$ ]+<:8hkOv ^՜G㢓MiD6Xuwҕ+ t./_CNۦF/\R~8iF8HZ!`1XR(&Y=~gׇTQ+41_؂opy}@;+%-&LMz1P+?بL~v2gUdBz\Rh..,2t4%L5B:bQMQ(5@)?MO/A[L}ީגnɣQp} &[wFk~OMjrg&Q6 ւE VIv"A?>%bUlUNnw Ca {̼L!"ŧ/ՒCppQwDݢr{v1>ed#1.EQ Ϥ%^Jʔ.TOL8]!P hFqF? ;Gr` ujiNڷӫҙm;C/B IkȱVP{'a"B@ՙQFƠxg3"\?kR\joFBvp6nlIZ4 ifI2lnaŎ/{p-ba9%U {.D>v;REױMK\i}4quYk%Amছw֋tz k08LR&Sہrr! sjUŅn8t3VBY#gbþX c$HP$;L%~I_^H_e ^/ ʳ`Y˨Q^܎ڧ`׺CN\9_`S xBdzZ*ɂ^x/c8={ozucO7JVi.`GnYn,m"_lLP w`Ug\̩RnmSvu4zB)qP/ʬ85=wlKxl;`A{z/:pa&9B(۠Z.Xn,g!@gDynHs[(;G )$tѨ ǎ\g,J3/@ -oo:{c-TU$F⎟IWN1j_Wk7X*5fj sџ Z\bI-faz;{nzs#J8w5\~D^B= / \Q؃zmٻ8Mٷ =+Î( є%(:yOh{"sKokOG`F'޵â; vS%K[gXkse zy(iNXDd:rNBL~k6?gFvlQ5bp\z'2Rl{,Tjc6IT> L6U}V:'tmc)%N4&Q OG]DQErj-D[?=JH Ѳ+r1Ϊ}SV/*ug|L#:! bG4XsNŇ~<_OFQ=D0:MkYY9%"A\aL=|kqp^+~?3$ᙠXGd!c^ %P ~Ѐ/7H`<%K+H^A7C|glWmHK.BAQ\[ G= Z;E[i6T&%]{٭,ލrN\>7wwPHt"_b<%E,ic:- ,ҍ%;_z&JKUP&qxW fB\#spv'!&O"}R-0~ZҵHwH9^5M6YLݾU5 7BtcufW*Z5Yf8# :[h  a=  aj(5_rD*1.ү嶚(ZgOXHEбxpom/&㼚Y%(Ȃc&rs @ -NC>RMdGyճ)+J.\$$vgEYo~ $}vHt4|`v>f852e+ۄx^tKIZP(Wf钊 P15(*J Rz_]ԇߌAB9ӜBjU!<3Dz߇Y-CiS32v^ ,d%^M>fdǷqMy\Ws&IUFs9Cf;C1Z8o;W(aھ>/ѹ(q듗cvl JT6 1_s "C]PYCSf5Uۤ]?o7pU6FnQ'e?.w "a4֠Jbqg&ys' 9G=g|9&<<m6; R_ѣD!4oxΦqQhhk]-oVnaPO*YFOA"qى3̒g TKRB⩨EoZ$rkJ"^௞[WN 7U86Xyf^.@nEZ|JӍi$!ΟPBZ I|R"ljE$gi@-AzMxٶYO 25uwm"{_G`橶JO[V3Tm|hEk!ĺL <axհ;X;r Usa.Ƶ~k- %^FvhuJ-Cln2JNxa}56LyOZf0g ςm pKO>~wj--车'{% 'd9|[ADx豠޾$C8sb~d+_a|J+XxQ0|-n5OW(k4_ K43}\/t1Y *goěiF+x,IG+^`4N$Oӭэ*rBP.T p]@,Ĩst9cLK'"9J%)wxf5pŸTU/ӬL& Œ.F^'D GǛs/تaF6WaiWPS"F/$8mjR0h\.i׏üz,EM;UR\:iZ n_ډ#e9d f48OQ6 AWw !ρˀ Mx oЀ7'B(/N ccASB;%=J-]u'Q+qL8_*hu܇'.'on?(fq!ieOsܠf:U~&xeg> Gc`ݢKy%5#0I8a]Jޢ'&6,56p p _6]6޹EaA|i 6dNXQdg%@j*XH B~3(MFNQUJ1?s"-vz 롽+I-|^QPgp6fpCnˆ/᝴V8⬎]?6RkC=7vA'*3ɠ+8u%Rc,G V陳\.D +yJvOwMW ǧ߶h[?=0 ו 4LO)GA>$N!Mm=R7rïIBzX+1Zy~睘./*%T(FFΙL0>a4WFzG0A0,aeψ{\% H|P$>ֻ{dQXKe^=P^2Cʘ J0)sW;aQ:^fs` +T/hŲ\I<"nj6 Ztim/е=![dMih}wl_z l*Gks#F0A rHg@ҷ-&Qo&IExE&}njur p, ‹+>8u?,3GsBQ[>ٯB㰉0+muiTĽqC9Jȣ\B%+e>{suҊ`4FJd9 ِY~NrkvccXsg"3s>$I>XxbXm&]veX̝P`ϑFA2cȺ;ݧ wqk8ʁ~H[G 6,jZţAtWc Zj` ۶.+Ч}Rv;[| By:U?(f1$A=YW\ !;M"$΀Fh@6{?Zd̞p(&j^-KE$K  W*"t? qX ͑ =RJ b#iIz%4 d" %۞#cMj ; ~66*<٭P3z݀ ~GyiŎN8&I&)ѯYbsf( AXI5܂xY ;օUam XN"2 v0۪R>#:_jz$^/YA"渦hB]`1. B8q/9ʙ0M:4 *1`@u*uT6\eڢco@p310t[F³X42ms%fIo,m$jҡqN>ZЖ }H=b׺S+nl4Y2=-]\YNcnqA 3 v="*03Cڦ0.YH>׆,eԱ8@'?Ʃ0Tc'._]zx+n03FM]b0+KhO:5&<.+Er<6j:]zɅ_ 8(=t40]m@u3lb7 ܢW|O;CYbSCIIQ@ly ~Jc/d _ ~n_! 19a s"%< oZh(Vxk޲Xf*<>HG0'JbS%{-O 0f A9mД}Oiۄ>CP@cǏ\tPnio;P a/7$}9!{ M<}c-z_g}Ⱥ*q&XVXcw/a4A#aIeU()$2%#dvao5k&7LU,e'E90'A)CӚN<qd! [,ױLEeBv9`sgQGb*єbgr#frV4R* /G}a{,U5wi2rDR'(&ĦC.̿:QJ \3^:!hqxL޵ dC^BAϴ*OzO(PSFFʢ{X5wD J֑))UӛfI8eqhE`*p-hNpl?2*tÈw1.yRꉡ&$ EKĞ޹lC(3]bu4-R`OxhhKQȗ C ߪnA!cW: ,\ -)_8orڱS0S .t*=u0hh.\ q_Aj\R(Zsp oAqm'õωꊱ5.F"qXy10gmm=<(XjalOnƆ6F?GYJL8 X%~ sem~S{$ӏa OX'Yt2½Y/3]h@I@IG7"|#VGr3b\:nH~XVKr^'9f:V rN_fGSW6&rn 2X2n QQe0 .흤C iP7@j+ޗ^ױxccJ^p@r v@R];=;i)ycWc1:|llH r`3OLTO_7 j5?e6~4ȂEXae(f"mUdk<ʖ1w%^LE^Cez߯}XKOE)?$I |,xsy;'jaGZK[]w#=E:oR#!D4[> NJmbӄ]w%ImO]]ZUa9;/v0%fC>/GܥBm]QsR8;D/m&䳰b"A8 J.5UB[b~MSQMKoSC\$g+4mZ,܎ayPHNՀu8_'қI߆j&-#b ؠLRԳ[boLE*fLaDX~&OD<\"Z֙}kNeVǛ[HAEҫ(]A,Ƚc&ID- {auoX{ ㇦9*ip&-R0qb 7zC~IE ̬dT}<&&Sogn &mt ;uQg P}w,>7SI uI.ꫨ4} 8E45^Za_z[bmGQ/!}8gH` ?_Յgal qnerȆ@Ը橞Ni9!݂w#X&q&QSrm3=Km%.CŦV~D4q[C"̆8>3<M'V*֞8>W䑿IYR1SIpF|0qc.i5ceZAOcT:,3W! 0si&o3āʾi W c 3S-+]^(bO/ܚ>6ZY`%3+}!"u2IE/=Ƽ8Y/3{\O ;4ub\3A GUkDy'݌[@nZ7 +Zpp BRxuqůjs/  L~'.لp`Ly*}#N}*HR1IX]XڋW3@QiBBoߙ:+V+?T*x*?znϴ"_pꨩͩV=h>w݄!yce2Dvv_'0)q/7!O5I DH+˴!54m Kx3T]jdx%]J@V8bn(wa84n.x a&uIi%]yB 9^qTE23=e/ry rI2awfACم^g]&ŞrWy")VM EnG&CZSFՃjxZAaSoub^#Yf+Hh>&nUD>V%"rXE!Gz_˜d` |?s$,*A:=_Trt;ۯGi 9n=gg{$><(M?×18ƒug;hJNac Ta"6g`k \ܖ29W "5dJdon7ݾtGoֲQN憻Cmjv1 CbKUxA8y tFDL4P`{ @i W v%7(7[ЃJjp; &{ō=@9I>#|E?8_l/rˀ7/P0|"# Te[PsYwVW cKYa޽n@S@mVۺ-o*ڤ2^^ ڻx ֺ$l4wP#F>qjd(Zv$ ;QnlGf>Ͱvi4Ȼ<Оד]4.Y.ts@T_HXؿ8 /[˔az%5ޚ130XhT40a]kY7qJ%7";#}UD(hc=)@9bZWri}ARI.FxF !b;>2+q+V2a MW:~tãfϙG < 7lD%M H,\u $(5nu1Uq)G`'g/fH7Wkr99`+|@ąo .{N#!2vӦ4p#eshq J !Rn z^o1!#m(=b1CiVsڬL(r~ H#ߥ\:8-l;H$4]0f'ڕ4h%E q)Xѷz oF|=+BH;zDO[#W$!L/)dRy7uP撴I2)&px6* Cf|]ã‚Lvmt-Z n oV-oLdJ0BԛLd!Ğ𫹌\". l:yō)ީt71儚N4Զa:hj~^Ow:)hB໷$Z)^ `1>&36lGiwF/m op像`ф dAٝ\ZK!?fzs|lK|)]TmAɖ:~j ޤ\Y[̜u | 敓6ث!#dm GW]ᇬxf[NSb d6Ä-dr4f ͼxF&imVID+_  "yZcī#hbz.7.fSĆ< xN[*,ENvF'X يVL_Avi/ OM( U5Ó5 C3‚帨UL_IMjs( 1;Ub[qǿg&܋tEd[9wʁcLSյH{KyR"ꙷ?xMƗLܱX(p^v=bMyud,TA$fWA'<AX29w$'DNq{8Z-u,˳6Ƴf[Naꢐdž6gfĉ^POUKL]傪?*h~5TqlXIz_&o> ڧ_K*3碕> 8s[;ZC״xi+V2\YOu]G0^fu+wK5LjpuX%L`T@xzA?=t{7hׯWpʪ.8ٖ%QxjsEPHK@Ͼ큼ʦaQv ı' |<1`Xbnj=qf>$ bD-OP<[h^~xU 2/Px2s8@`&Kq, vmKI.R vuŬ:ӄظuGBj7ri!d:N{5?QN~l~5a&ehSof( tR., 2p:#K<,Յpڒw O ea>N@RQ+]2d%\TW^Wm:Rѹ,>棤󦗰 R<Eϒjr49 F}z\K,y>x. !B"ݛaW o!: :^ oJsam XXMtU%.k bnUצrSGv_|,/1.]ݬH)se 65oԱ$;ُ+ ׸"5JCӈXI G8tx1UĺbM9?VF ŰRW@Gv8m_H#e1I'׫ 2n?i ;@ +`(St.S90}nhj$ŕ(B#↑r}|F5lTm 0Sp3Mr)W`r"o;A'lw'G)Ͳ =dTq0@ln鎛z^I;tcQեʔ_W\pΏt}ǣ CnEEN%?t6QǗw;+o=02i Eҽs'1["/*Qtw*QhěZ8טwjhJq< {`g_< D8^ed]);*BJju+5wH~*)rۦg01n6|W Xs7(:eih딜WHB5Mh9A&yT5[4sC0Nml@-}A͋*+[= lv 4(F/'E|0sac%K?U]SQ"p 5V.&󊶹h\@^Y!J4W{M(a+Dc~r6ܖW(?/o wEej>l$+!=xpxqƓ`$hno rض`WK?>9oW@q|IJpk=5%0m9.|h)cz:)؁ZڇI)qj$p/Wd$XEȈq|a4n$pen%irwvAWP! U_"辷žj k)~ 4Edy1g"&i,W ,lGѢykT\g|gҷC?f+z5VoFо]vVn*|DG.|lxdZ]p0;mIt=Vm{B#\Ƒ3޳!ʢhWygSy:`[ wc嬃:7ЀWҌ|I4^Aݓwۨ Q1'W\wvf`N vtr6Q gn aSe˷9ve*@1YG~ ^۸N6dQg-:&ygmM`LbVv [.l*QSM?,M6ko^ML9.LO54 KO8/[۩E>/JX!{jZrK"H#mHv|l6ͧ@,6/RY;8:UJvC(E`:ڈ0 ܙ\1)׬3¹VY+W#Ț5Y kg1o7$) ٦%ٿ-U))ꯎȿ{J5(|0B%E.avol}8`‘gd>U.b&1ax{*LhObUf('vXD!2]n<t u_HtO[xD ,k 2zCeIG7T5(RNvCly I7QsI$>Ͽ_350~hk|u1IȩWO#=k1*ҿͤ W+ex'קQ22]>YS2 O]{Q|Pس;).gww T'|th4xYѣXn#4.(1 @լ0 (G[^r/O739*y 5|2ɻv,'ul&DG4Rh쿥^йwmr+.Ravg~8 P@o䠉Xosܞ\Wk3Ȯ+v ̒FUCDekp3Z2Ctfj2-eYM![g:˽J]sN+q6(=D&*)8t%R8b6 9F7P[F 4v;zC)Jk2IE}XEm9>eUBZg~qoY`bןyj qƫmL\s W]~m3 _j)H&7\˶pO*qrnC,ߌ̺uF=ݾDmvdE$`5\js"EuA v;>jPCs&ИMkYcv,/TN}ѱ"__/Ш)P W\P 96ja@ttG|AWRω'LWO/ y4IV BGikX?g!z%"u.I_V[OC* \NGDg udK@#-E)廉" `bl 93p ,혬ע"(H W\1\~͍1H9\8`T|~B+jWp-ظVĀf'm6 f)h`|̘$!P1a@-nƝ.6a*c?ڳ^DLJb7yq s0 >,T jF.YpMixX\*IİZK~ARtxuNvw|Έt4T{=;yˣ2Gu2b=u9IC\i:H3]HAރ8sz>bmF%o2Y)7DN*>Nro_WL{$bK~SH)E?"p#}D1V>p_,7wk=' H~ ƪl̀p콏ԹZY`pO:3Ú6&Avmg=䑲=z4&ޟ, j"_|mF[ Du,-)PexKh[0q4 ɩ4eگ-i1"cL7dvI&gU-޹GZ9F"f+[-7_|عpX;eFva$u<# @R]p )J _}ZoW,IumȩdbB!Ճs0B~HL Z#E1,yv퇲pٞ5S@/ABL9a};m(tLlk/*v3&ؐ(K:\("O~;nhߠ?S#d56&n4Zuv&B1[D! FXkUΙ2'?6>u쪗{PPs:`hVG'2dCǰ`8 QJڬHM˜7!"€nUk 4s&*+MKaC7u~6Qx5reXLp=cj}}X=@:Ȣl8GYwn,dĹNzYE 7|BDe> ӝ^j},<g,FgFפ f~e\aF=[Ln${Q=qGMWk ۈߩǜk:ʪoipxwcAz̐]br~%Nc?K klm亥D\ Sj,kyW*-~>a}4r-a\j ՋO 3m?ɨq8UVCb~: N/cƆط@wvmY*Ǐ&*7it8mtʪشG160 ]ۢ2OJU;1s~nc q yàb%pU]ɒ6%𒮮 yr1u:-t[RM?gV~[ kRC{7!iNZ4 %)lDk}!~f mptiooW!z uFTGk4:Z,tA(5@9 ZjMkL2WP".j?T|@nC}Ά_3-2/8cG->Iޤ@dK?5]  =a4yhZpzF*>.u: -얺M{_PI0믟%o@)6]ͽJ 0} B5X~)@!b]'\ g\V[؁neLQ3+٬hLj{P(TBIZ# ,# =l{=̋+.˕܏Wʃz$10V-6AEk+|0\L~%9^L-?.h{9,p:k+2l) pt8x-$d:1㺔jz[R: kKpE1sc8!Ad"D(߇ kx"XƏC8TcW9K!aAj͗+萳 ؛b4tR{IV3ߘ&?-^nJǜKpww@bé`眆>ٜ z J p6?$=otj-u#.4(+5gfr'iN%bA9~;~n [ޠu1n?9L4%D =xq]DXITmzeZ<~k% 2Xfc'A84iuV&Dp4(in#K$FzIԏ!sWux4;ɌU^+f2&na?PrA)0ꛮ3ⷙƇAp[E79lsX<GkXVÜJ3ը @AQIB>BrZ"Nr;7 #xbO ܮ"R|3wLb`a~RP蔽Bo_k-?/XdʔI(bL{&ʼ{ munnKxDCEA붲a>pxlegܻi`)s]ũ ֹ4sHgg&HlG{}ÖZ?+RW:ksbYGMז8Gՠ"8pVYhezXIjz6ۉ5yH] %菄"ATbxuPh ~ 6 ?K٠.6?{ަsP5vV_!`-gTM&@}R:y;*]QVԤ3u D'3ǷwpDyKꊦHV[)NZHg-]j/od՝ұض8(|%a |]TH^\,WВF߄HPsBFH$o.Çu|ekZWo,?12лW[LKr<}#@C=BLޥkCT6{!͆t9WWClW&APAsWOz? *c:cwERn,4ӂNoMz.o6eS xF4]!R8i&>skY?08Ep-P~Z,V<7 !&Y4/>dL>ƧM8}Wr;jbXZ,;+ IM++1 Ar<-[ALk?\m°ђM^Jϸv.83a=n@;Q?E21ĦoܷxQyC@,Q @Wb8 푽HVU_ubc^LIh-J*,Lxt ,^ұX\?vRCW7'OYe<@@ WݲRIqut:;>t"I,>Ufcg2PLkTl~!qɣ~,Da1DRd3~K}5_ӟAGfwM]~z= 2ւPB@hVK^dE4EU@[Ss' !F,]0}e] * {`BOi /OkA|S JcO2a; !$(nvpo3pN-90^^snڕk# dB LwG8p5 Ƹz09_" 8e qQ{UΨ*-hrEܬ~gSQ ,#W*-PTӠ\l'r:/Q&ʘ=On*`I2?QaҠHAu3xךӓn\|$*t? 7|e !`/{ִl "![OzII0TCz+[q 6<,Ngd_.2.\>;jolGoH-ѷnVE45:$v ѣY{v"zklAuzК<@^zms4a6T'd頍 U0k9H\-x45Z^U+8s/Azuܯh)tfv|6xEqan^y:ws@eb7DKU 7xju.؟@vTQӏ8nc~(ZNU NȿZ{60'D:N M g6+W5#PK=JD LfڋVbx [>">i)>?p% =t6m#]0QEӸ|2$ ] 8!SdDҮJ dMFD.JH'\m7w(A_6uNy2YRB-3|Jwwij1F(L>o%$26M?f26[#_<c/ћ]l 3$X~[}*iQˤVevf{p$Ƹm^ wJ-D;;8i57Xoxaք|D/e}W?v ?h60Pr\ *aEkVؖÝ) G'zXr䯐4e PZ{dwl Z]A!è0!$)羝OL">o9ˣu$3O;AQ81^(T5 = ^%h߻/\c:SvnI#ljpþ:샣DئvWNj$LUV!57L~Xϑ><2&VKZI% H)ko&@Ū75F5ɳ)I@8` .Po_ha2~.FY?_aE/_жYfۆ J ms{PfwFGAĐD$la+\/d*.v;wQ*[֍vISG7K"7V.Ʒd?W\y d:R#Oحnd|@S^Wl}zkP=hM EQ}0_R?=Z%աH$:%[]>&5q -9s+Qy?ڬ22۫wvb.NUWLATʙC&K;SF^bt riumr!E7._)ײ&1S n/wyWxk/¢7xr8kᦥ+f3h!;F_UȽщuiD0ymn]u0"+ Ň{1]Re> șLc&+TwQiTӝK'&<Ć=hV$V`B-C O^kVտx޿+BQJ(n<8٣mk4 ˫iAT'sKݟˢ6N7txr)^0+ kNzYzܖ ?o%ZyjNKDn2JaBigRfC\X#^nٗ0.Raj{d{w@ݢԔ=bib(ULF]h\5Xd|iܢKL.B\|޼=iY t1Y(#UV hZ%id46Z̹R=mo(Vӊt6_d: N0.Q`#y-1JVq#7LFOD̞sᄡ^As1w%c!8!.W+cCѹNE eHL o}) B /^j?,ˈ ׈v4c7UgA)S>jp).TCOyޣ~?ݫk!/"h|q5Ä&'hؓpmlֿ Z} @$C)U%߼Z.VƕY3gtRjM9bŵ$j)Zf]B`fPj][~:(f)tQg;f;UzdbA, ͈+]Sf[e<ΞqWygc"S"F Jhb %S:.\ā6bZЍBG ضJz]nYrdm˼"x)K7W83l%*Gl ΄qRۗdOֵ<ӇzkCQ&/fvp(pHWP|gLzXvYj6qAnN UKOu~sz;yE y1\6d/u =CᣔTEs -}Vs\qh9A{zZ0#kL=hs)"<]nI$M ;SecԱ䬇wrp} Z>j`exʔ<"C jYs#B{z-liߗ>mVO+EClǓsFf:JV`2n?駚ey`߲E/z:; '|)eu͑v~pfCHbx(F\|<$=S[+1pLL7cB tew` l!:T#zQ(%\- ucs͎gAa>@&;BN~#qPCxu*$C,CSZƃ:>^?p {яU +A>4vG9bɱmvCC\8LQy?G̝ ,2@IEU6=/HZjИ.u'EI}RPVtmbvt>92\:V4;a1+[Vxo.{D]ڕZ.mk^x)d46,(p/?樸kG??$fnZo^JNj@Y&jvTP?铱=0L K;&̥/8\Uɟ90?, +17,ck{c(?Ͻ%6vqΖ1ÄbN֋_L l(ƱzN4W3#A壠GJ^V2l Qa9rauS| Fm*pA+ӔW] xzڪ\g wB:7haBPbj"({H#DiX&D1NB%$3 {Deù:/.& @`#6ȋZн'Ur9`q$f@ҴM;cgp{gpˌoh.F+HEmmҖ+YFAH;5! u,(D`aJ,噱h#]ab𱂢7@CF:M`jn;!bJyz%bzk9X I&_T2RRyȎ Qc:sũz6}==| h9FMs="6$j_QY*?M!\Fݠ ?$MaVxB~pvvpU/ qPYB(/ Nj.[$u j-ȼm レSu^T ZUaݝ⃲bk(mae XdDpVg3\_ηj1ZZÃY:/:5i? ?:oeA0+S)(QS!4c—5ED;EX;M.Dzٹ,L6BcD_„!WߔM~j9ޑ2΄ۡ栝H?8CkJ3(}(yאTӦd&$:m]*zw`Z1jz6(\ǩzu64*tCᱼ[Jy:>~}$1|d4קO*Iuˢ_wDAT:w5HXսD\ӯ}E.! F3>gTGVu O#ւ%oT;RUOL{eyz6,+XǼ#4H%y~nܖ.?}{eUdM9g#2QUEFRNg=!".V$m bq?"\W gݹS_A[S5 S\eOߒ +H`KhuYU0"o)n[KtUOB}>zxYRsivĞ +a8kK//62~l('㱿ƗAULS-[qWJq%G*XDrϋ ".ȄSJ/d;**k%gOb5Ssw3SG^H͜sZm6Gdw(2`0F̤_ӐzSjq"KI&7 K`hiߚA栀a$ 6+̊w'(']Eۏs5>es pi*RCAy+z]Y)/h$ T'j& fK4яW<7,6e. 7{PZִNkIȰlܤ"j#Ym#KwUSjɩ,KLhl0fr]st~lHf }3n]~1ʶ4_v ~_8M*(KfRJT!}Z_m|%X?B6lq9B.JU =Q䠫;k[Gdh+` h{?e?ޗ4rx}\} O |ۘ.i,X|t Uh_~\Ӆ:ĵ'UPD]My-F qxQ| p)rgf!P8VjE1٬h*mlR7(`.r:b0Fqef*77H~<rq5= :}j쥧NG2r/F{A37:"rL꿺/L}ܓoMlj@j;&y]:#LKA^e]dhzLVSb9ҝԃ iE1 XyI\A«wݶ:RޤvgP2TZD>5[:`?_Fz)j b%i-&o-gUz5!zw:d,΃`0j%,W7ӯ`Q.}bLAL|s%:*ήn.Lu4؍W-%ck!A̖U/֪OZTfmZsh<>FVP)&*,xb QwQqh oFyo@R@ىh x*'07 SRԢpb+jAd@Ȓc啅{\oi] C#OaAG HDL1! sNb`ԹݳtN)oj{K?s{?3ҁI|O$}ZrѮќ` R]), ҿYh&mJ!! ȵdM7Za@@ ;Z' +݂_F"yV9gYyW⺹@ WƦ#؟ndD6xdJ~nSpF@AQ/!=RHȯOY؟P=%gW0F7iO+Ga0chݔd9lv8f+;ndmPVcjJ]a2mK9Odw),0,2զT1oi$LG)pQ DpAv#"LcHIZ@)"G* SG7gЃ,-9G^720:ZiaޟVTՋ铳*c^9{x-u-:A\S敳I E[IbT-u"6(Jg%Rth%JJvxЀcy z8vgӄd׽ [iRoL:ghGln>D;Y-%ϡO2Y436ySͽ#PuwcENʮyTF!pg\e+V\TZǡ@%*dkח++W`~{_=g щawǔZp9=s` fEEہ6]W뿂Q(%!#6S a8BUyb`W|joG皲e┟vmyW:>"; !HJKi &A 6qpPiuʭlͯc<^#%qaoʪ ķii;Ĩ^) zYt\ 6 0{4J i}vS.m )wSZ^0I؛O#i]ͷ*([wB_]ODWM|V?(A~C W &%hӻF%=Zdf6jogX{84S,`$:; 3[g+bfHyQB_59f7Hu͸EiOϽ+'n:-8;RE3 nhd&*@8 TK+o/LAdnX"ès})tUAwRG $H~Gl[(ɫ14 X՚G[b^<4cR/_zfG@D-mǐ0HIFz nt>{ǩE tyu o0#?l7 48%xuS{U6E.i=0bB`k+Q+h,O9% A^~VAAGԒ1?9;XV~OWؒ @Ӧ(o-sM!ᄁ,ɻ|;t7hUA ']4i^[$o \%\ bMuE ;Ak8U|+z30#1"kGdbiuV/TZâ赲kƣ}^{bqmr/Q;wCo>p5ݼ?f>VMq$!Î5ҦӊE.l[\ۓ ˗:. d*}D(z)j>#&pZKGwq,[)C5)3}; V xb<2LB,͵K78/$LMzz->^!j#y6}zݪ|GjsL&^[ ?X>XfKDwC+rA4U[t%fy⛝"^Rq Ӷ+)yuAmH*^ ǓC5 @SQd%"e:3^I`vR{w-dcsWq)f_ΚR|jݜÁg@6F >χxfIA[F'. R}UPۜV慠'GmJ׆A4+iꃢ8tP_2!uW/8`k9/+B E)?K'klkM R=;t3Ċ+IhbmMb[wAՒeR Px^^MdU=-A#7`#؃ms^PVA}gE3-9kWZC yn(4-1=>|1*q0tAsޅLft|C5E m< h.R tTuAOHck)4:pbL*ySXC M'1-hU3CN-Af>Oy [lvH8auM91d z"VTI6PB)m $Kl /Dx(dٸĠ@D[C睏s my8x[P"w5wը$t|֗_iq!JdG xھ:=@I?|^\gGh>0uީ8Uz1WQ\y,z 8(&QSt#@V>:yǭbҡo__l?zfb>Ha,4 ڽ^DE[27(c7=w{XA>b8yP$c; _ |W#vJ1KKCWml=AXw'_[-3%1@uZ3аåȦjގ w;Ui̦=,+'7.ک"]-{>"\gal{eRBVzk->YRQe4+%P}VƚC5[Lק\4߽A"pt/=*G'W982+7ͼBM:mN ^VarbIRt[nlsFė("q_>07W H /Rhȷq[uR`q9fg =@$SkDV&Fj>uYs$O\dahMb5!h>SӜya>:qwNҺS V٫ԔRV(za)q!o?Vb (g, 9\8yS?iw@LҭEIGU䊼h ":o>F R506Kjҳz x+ zO߯׃,uo 1aɛ 0[~K[@U.V7j-C"RdP3Nr2wXg]VS/&c[Ufh0uhƵZm,L>feGT2pg[δu=b{`:cxq Mk_i.*Huc%׌5u$e*ۑ0-w⠠h!J!bG `c3L32n8`Ss-C :vFqUuO1J94M,^Pةh@?TAw'{'ㇼ*V"R(g Bs}B>1nRq>t\W'1R}_-DuSo]"Z69*29)SFˍ'*t9= fnx/W(Y~[Na$S( +uͶN_S^tu y,8ҨSPT*gG&[뵼8gwHN;1Sna~XV DqR_Dò yYY/ ұ$S~NPPK:+p3ΏPDl/#Oq\xQ M13EC+]A*6MMTpX8EQ.9GKܣֲRNfٲH'0 L"(R L|\Hn(0*_ 7Wsf}5us<àܓ'vg-گ|K\4k@9H.YHb2_ertB^MPs/ԃʠ, 4 m'ۺTarIf”0Yiz[y̦5YȊZp$M?ŕ D>}PƽRJl:vP`LRu^9 hĀƭ4_'/|q;EF}sw⤯@fq6ōhQG#*ō21Ѐŏ_a.WvȔYWYۘwBa %`J"~ek3 =w" +xA OFe_J Vf|F2AiuEl&Q[|Lfk.pI̸r+;-"֎x\-I7 b&s**/JS녜8$DE%4a3oࡊy^ɰp%lR ujʫwFUwxn[lmkp{(MUtrtYd>MbC+w׫= |jr,j}e> 'rzCэajdqּQ ٌq9!J8 ز<})2j]k#_k?uOȳ>R;gEsH|)nJ|WSR/f)$ Ml:e^JP`!-=lf=2A7y +v+36.7ڀ/RaGzJZ!46WlbjdU: &^ϼzAX3+rLm)6{]PSd~|ۜmCl)@1t& ⶍeO}<XM,GEI :Ԑn8at] y8VsÍZ8΂Bm$!vRĚU_:v[r8'M>1tQNkV>%yg囃(guxJz0Le쒼Eތ2Ni Zr#L" +Y"N_X l] W ol/8C&NV9gK-^dpD"$] h:r͊dtDقJ ֝%Kczaw1D[-/[>p(hDxWYL\O.hA\`"E= ~MWnK]&T!pv;зa1;U2r)4cu]z{ɑċLq/a} tw`qFtR/_wl^Ͽ$5XlѤ oRe* =ۂVNٜ h4dJ"KŵKR\k&];SDYɔ*ӝ;n WC|*$SmTȧwr n jzײ`\&A|wզuceNj Jœ׺E;[]7*=?Pc\. ]/\3&0+5]ܼj(^þP&7)cV`|lOqlF%>FF.tS<9ATTU#sl)Vav!@ :|?4zfׇƂg.T5Vx}8ev~ZL듛.ݪɪ]מ^g<'ۖ іwD{1qz*-YM~svTnDrzB؜~^KkX 4>1m xlCE? &m_P6OB'+|TWskmHH9 OmCpB< Nwp[k,QVn6o*p.?d a#7"4u@ M`0{<RlSvNA.lΟWp-T0'1d2LFO;&xzQ_ EN.pNIH>+n\gC`R 8ǢyfC/yxFQ^mh6]kX++ckkUEk5-nH✔Hdh')N;"fbDGu-)X TGڜHl6?59%gjx.fexc叹P#͕cCU Ez8õ,f Sع꥔4ܰ bJ@OƉ j`v~(z#%Яx0?DC6ck ?'4S:bL&銓-}s y|B P1"[ǼNy9j\ܽku.P^UWT!x ږ>K{(1qJHIs0Iv2~z av ݒ ._K6Fk>l j:[6jylolX|4rgat8k>V)IA6R4:aqZmh%q*"1udЎF=2?p?ͽ?  [ fo*u]:W dCvw_ۺ-}px|:\*ku+ ;*TRڨJ/KAk)%>c.DoFk;*/(NwAk;2+ (w@B~pewF-I1Q *7;QuL Fi= Fʵ+h= 2gPYoxҤa︟&~d)_6y9f5ӜsEEW܊-v @rubV02HlvJ㚡-MNNQR݃+Fq:fDJL~)$s"ɰd0U0!gmP|7|m컟'C QxRK`CbJP$BzDaR+tgHÍ,D}khy }`;4\*ΪmW6;Q2|#{'f "dj[u8PܙVR/"* S=n ]~PO U}u1~YD Bݕ9;ZƢ0dKs3r@xFVcG;A8w[&D~B1d9^Xcb+7-6grɴ ]vFcV#̊tϑyS#ga,%v/Rje-' }J"b&2{JߡU`a-=x:>E5!bŕ^ !4Z<|Q[C AKNP||"Da6I7_ 9y]{k= b%YcRA b-ђhO2*{;k= ,5$Z>R2I?-1D504:t$U Eh.[t Œ}JL;ަȻҀ<W Ù[`Nr\f-Axo`z"X,\g4&e^p LGIF>DӘ;sP++ _|ʞ p &yH[G302:b4";>̬N-;D=e7}$U!žšN$򅕤G3B&pƣhh GC'ԁBߙBP9 "Н3KYM&=`mTrZ*m%[;AQGx!mL?[c `Ń>朎U70n,:^z7x4(SgrELǞ{Gߓ^ !B2LJzkՅJwf{\#mZr0Ik>k4 )" uA1́II.QOw8k]."5rv.%O+p5$֜_fF 3KÖ0+z9sI+ &tj6vSF|,Z}ܯ Ⱥ@ iT3FU /;ղ@_p 27l͒^c+ʄDm16l+^eszPZbEuQ5fK5"p: \70~0s{& BWСE yt@P-uUi<0aEDhJ]ʜ |,Q@+`E岷v* +tx9Wi0hLlEMq(U!j7Q6Eބ!VŊ.w'+D٣O`OBuMG Ђ|oQ⠽o2܍vb&nq<È'}ʏb~UmIft,hTr?wwttTXLb,?+aVo#'y$f;DSoMV4B_y$Thp?om,Dej c  sAH=FYKm>4IW܄*aO"2x;ELA/J닄e^J:`yEra|>1ѶvN(a \dP#:0H_A׎pZ/Aޮ4W*?)`W۴}2%s7pMB˼ :W{a'Λ=+2U y9[*+Єoi| 8Y`H9 OaF@ܢEPmoLn9l\3}ZdRekGۇq75a]ܝoP4{,XG@M{7d51>V "/VbYԃB* <7#!4\T\O?*P+{YWdZKsE>mܡݩR/ 73tY\^Kn8"s6}=h1kbHMh$lnv0D#51 faWFVf tI>ŤYmm-%^w@>+-c`@59 L9*hH"7'%0jtj14R".IJܝ\ʄ8BQ :OVx+:^h[iYdsO'(t[+NP |.l_.Ǝ@堄d%E:z1X0&:S$VYmɲ- =ɨG4B{"[bf_쒥oJp3тA;Py^΍0SxI8|f:\ICE)PEQF,.J 1j}e哏piQd.l.I(tz^"ATWf뽮3gj~AUdMeHo +'dlJ6,tcnbe1;&e=y퀆!$v~]T{+f#x^=_̢(>TgHm3$h~$ۦc%34꿐xa2#>c, zk+IH*g2P;?0'g˯H smrqF24ҒIq|02,Y4MP+o-GrO1}7Z٬^Pe?M ?K॥Ⱦ0Yv[e"KU;2@^%Lik%%exb%a5/-5({ džV\N[Si=($;LnsB-n vIT;rDGBL}trh351ar~F Y/Pq\,(0_O b)K,w=SԪٸJ$UM 2tDG-^$،'XޛDza[s!%IO mC*eԦ0kݒ0_ pX |VVei0Қ:zxy)KJdJ0gW0T ןCBn}rHg56m9) ox~E'͞Te\5*^K{B@\AЊ$c^b89uYF; R l#hTi-pօc]hUat5{B'9kRطbgC\X? Xɋ{屺7L#y3PT%A}WydCY$XTaбr, Xbu)89Rѕ)(+L-Hs$X,4VnJ+תLgmN=vFqI KxDlEOu0MU"s֌w.55Y o+8rV"m( INpyQTyі"s)]|Q@"~Y(!|C0"u:U47@ke7I)+,bm)@Rt@}iWmN;gpETW:BM)C i8{jNoFk2b\Ԉ Bk$gd'qp %戽*=ij}; {}CO`y fF# <y4: 2[HtYI]YSW 3EVL9V恬BHq;~Jwn'DE˵eQlWN0t|qrd =1@4mh0 |‚RF=K5!Mu|uvC5is/tTP9 $ޣb#;+!#Yݘ4y0c!ʵ62U*a ׆O%M;27@%#Ԏ<8dl> Lх3E ".ᘦ敦ֳѽu[qx RQa#@:K$I>mye&e, mز^x^#;5}s OS9ZOgUfFOe*LYY謚nȲi< mfK0xK?PQ"_+SO/K4b:RRjNHhuN!<||ԝN6I&ݶ$8@ӻjUs+a9ʎ-芁l=/{L@:7H8B\"Zww}'~vG \\4_#` 6 s1"+F t,Η"Zk\ %}IM]a);0u5op~9+ڶ@&iⱂ2Ya jVz}IaA}רnN*#/D:wKgUy9MYH?dzKrFߓ֊_K8a Qh@AEoAA)%HT֝9:%7/kxRg [T{}\{B )M7vıoi :AIdE{%%bMK*ʔ6bF / pя;aNׁ:JrRLumGl]mVW.=k04%]tgB= 闔YBsYkcf1x !#-J-HjIw%^ J{,HP.~82)ѸZ9Vτ+Bkh<*K_Faz G&n0 +qd1a.&'vUr*CWCDLHkE5Sd_ԃG%F vlg+gfAAN5 NgM҈o0࿗ $Б7#lIv=} .W4&up+R:8`$#!LV԰{7gz۽i `>: õQr;He}3[`i=C?!qSĨc-\Kiv|]p}OsPg3sBYEו k'%Wv%3,wVRv7s1KFsb WM-W/V¯@&k&B ?Lu6rrnf;R au;5Zsvq{ryFX1ZFxtمBs,?AJ{ Rlwˌl Ye[)? UGEa'HuO"m_xoI9!$Trh mJ,ʯK"*my=?^OaΏX?)Z9ۥǛuٯ,=زjׄYC[ /s$\LC͇%20^f7Xk}(9~cbZ ZaYD1 !M#1orGll:wU@4?A(hLloBbٟ e?(GxN=j}ȿWBǬU"-/bo ߳IsƝ^D|-# )4#o#m)v w;'~q6GC&e-^*~(g8 phoGB Axȷ/Eq*@}tU[@>֗0h8#d|Z;kP3cg$CpHo2}G=~~ڎUB jWQ]-v~P9[3xh)^MqѸʀ7c5T7j.A<,_ oLD׍QhyR O䁳xEʹ|[#HSyKBW a~3pORf##JiC:h1 {RqUXCEfUlc-C ?s߾ᅑ%VyݤLr6Jaƙao_k颥|_H b#Ӈ|u2@! !$iv_vh .' YB*`SH)-!V3c([O sB^y2ެ)o7'DTNkbU8bhY/&heHw,5W >QsQ/H|,IZ}<ů %I˥D;*WZy?9艪_8 `zAyc3- VTq`Y~K`` }})t0-2v_=lDe\5k~J/$2eAn7v9fw)8;(CLb3_t$ Un߶G URo&v H-9SSo0A=๎{:Tl)^;]QF#rB`8oC'1VeVN;E$²uRF5 3Dj$[&gŭ0է"dmi @x%WY,VYTAy%NT9Y#k!^>@ OO <_K9'%k)}|^!S8&h Nz읏oll7wk1Kw$%]6U&/nf:yD!4إ>R)Az 75(^{;RBLďrPST\i~m`4QUǥ!mϽ;tX~8hv(<&0 KdV]I3w:i56֓nG>X dER]MMrcM.mG LC UEh0f"D{@ƷgaȐvxv]=?v!~uՍ 3($ [S͓Y[bȲ7;tZw8$Vw <}X>.ĸ~:Yu*y?Nu&Z w6 pvzH. T A[fEin^N塙/@v͇Ը|0+.c; .6X`0zxfʦ^=p\3wx+'0ZМ-^ uj(2*?k{M!OGDڶ$ 8vI]W[]Bpq+M+Xqs @ looT:5 aJvHkFc/ԫ0b :$2xguPjǁksZ#5~Tf2&[ۢC'X2xa}1)Nɵ& y6*-Orݬ @ bCaqZ&d *Բ_WXZ{5aK}XކWvq`<-W#'|, FJ=MJyK^3e'ѩTr&m; o~":}uuȼsw$jKJM6_X9~Pd-:PnMP:sghjx(XLզ0iYfw9H{n9TnMR-{C ((a.vl#[_pV(!.>[#OmSҠs[W&5tmL"'*͠ dMfUENbF6gQS>4~ZogS5B!ޞ˃fAIveh@^h-| PG+ìlš]8HˁpT g}P& ga9iD&E= ;>~IFm- %:9JW  ob$N, sUth%^,g{s&7~ (-Z_:۲ot2FnSYhRN^`%Mm xyOcV8%P<)w$3ei^]x+ 4]8+xC=3jM;]idի8w`-x[E? (@S_FY@F=1ML/j\9P|ʩwv^`KfebIIi^xlXα[;4.& >.)֛\ی0n*ʚ'p;IdNIIo{O=JМgdjqvߏg 5#͸c%t )=uh &c`<'S>ZW~3&2l[Ƌ<}`DŽKX 1 b %;6W8wڣ XXt^>&7 .; [B&*zq!e~#^V*YD8AD"RoIx -fG-2<acl5)7Z3bQuyKJ{N[UG +rF'{A48B/omH%FeR^orjr_i^6D5tүeM`H_Y}ҴgNA6'H(MْRS8p%0" -&bgakض nbX1S$nX, 'M L6Y@?2էJ::] OF1BrధgCj@=OxNCcY3}^ҭHL" Pi?wsÝ9VFr.ȍ#`lwG8[bڅ\SjzZ<駮Xy ^ghV&9.]r!m{Q!A-66In:E`(fy#F SΔ]@M ΆDy"ګ"K>o9u7**3IK&A9+kJt|'Q{Ff8Bzk . _B\*,TH/[M#ދS\i?=<ņd땀f'lq"'ǚw 8|9t VD1Cl̲>Lg6Fz>B @$|YkЩD5^MM` 㚐L1[)'sbMԣ׭K N).L\+/L^LJCS9]_p?rup(ɃD_v\nvlJGGs'.kյ ¾]U zM')WTf~,n2߀P 7I62s^w+ lrZi0c,꟒~'ܞ F N옊C29qښޱhO-Sz=}PIRk #fW]6Ũ:8d{6Tq?./NjOÿ`Z{bfc($b_VlH1$^;pv$nQo,W%ˉYfg}:#^p®^2 6L^fYٽs)@ALk PSO, pPeRRѥ|A|n["X(_aB/fm'Zqoy.|H44# 3 S yml/ kfVlPFŗAe>oqi콋 ,雴W %%˂G؃D=Lpt&Qe ζ Y]LHMC*[VXU7|rdl/[fAT?l6[Qbp()0cC\^$S 򢛦h%ez*P-*'*9! 3Mͥ˹TcLf3 B6o#nv >90c]0dF |۔wrd^UXَzqupκle܎ 'Xܔ^~߶ZҩY̝jx/*P8"d tX)mQ.yĸU3% w>h\=\#ܓ%G&#W͏T3C2t+`H>FA&edZF. }Wk4hWoS_Cъ2RC(|nk P{ŏj)xFz@Au&fL}[jyNI{?w hX$ [/&DHEң -Cv&nCt(ݱoLMv'gR+=7<ŹBö L(#@=VhvTs,J+ yzwGqc0EV3Y>KI|ꪏ:}i?y毤ݟ;_ŖjԵ"H*~-&98*&Q#u@M%K)/\V7G'm%&W:U><^Dp:ZУ}r,M>vfD)pǼ;|PTf7"VIZy<;`d^o;i'ctI~ԁQJ.G+a5 cih샥U ,ZͱЅ-ݭcXEkJ~qL͑tps{mP!(uFWD=XrW3T>5&J;:桳5MNiCێZQVS$&cWW2/J4xIJ\0H0UtH@YlnXx,fx 9GmnSYw敽&5%/ez[hM4D,Ga2,޴N0vTw&줷HQ@ZLoiWO#ۓ$U2"/XDYQ^l{- Be!CvU up͟1>e@j<Ā.S!Q{($.yȌ9]t꽴$+ KMX?pM ʒ2'2#Vʞ@ #Bo@NWs(wWxI` OI9{r.J, #^ZJTDg<@ vdZ,| I\=f.W&5rDP9}ֱ֠=f=J(|XflKg>ЂfLJj{1&5fĘΣ wﶝZskvO[ٸ^3@R `OL@Sy/rAK _92GFSSgG:emr\.'I*~!_-H)q>"=eyS{iysK:+@$9km^-Uh؅4>{Nۻ!tK+t*!O9PH<@ʃ ~F l|NWP+.o mVњ~z;gwG 7 C/e֥gJQp˔րXSnit];[E E(]t?8ڢa;B43:3".W56' w+ЕmpYnhi- pdm?_ܩoH528ӎJH'c`l,#JF̃f#o?:B9'vEاr7Lw J}$X6\YBj+ym 5r>l_䊸xI@|)j/bЦ:4L̴A g8._IEOa4|/n.[8&п/'@Ӧ*MTuCtW1 w.dkx؞PTпD7L%h, J1fD <LIW|;sLX$96pS_:ݖZϗUI*K*Tuupo{ *G7ȓ6:nx tTzMR`epjԃxB$)PjAP;ă7uP;u*Xmoϒޒ 8x t/y$_O4{q3p؀(I+T;`wt1z oK髰05)Icߛ W_8t+gNiR5LX +$ 6 ,z;^usg.iP7>PjcRhlܘMr[1LTLtd}6nJ%>q] BE-&Љd;0ֽtKBA?Yn]^h1B3p/[Ol'χ]/.Sw0#DzmI> E,b.E{M7,;6XBdB.Ci ):7GM]M l5}C {َLD:$ecɋ\P>i^RO.Ml%P {B\<O8p e{'_:A|u dOhW@r a -}=P[[{,4A uҭ"$"+K4uYt!!aszүZ~gOU$ae돩KAG1Wn_ڡcJѓͧ3[b4+N!X|C'sเSIg'/f72~ZڊQS.p?vhibI7Q]X6~tNڝUVzSÖuOiXJ C7\jW]ϫwߩ` }W^VuZQ5&+~.b k:dZĔ 釱`&wic GEur.)`B_1Å,já00`D"X:u@xajkYqPC/:=C$}Z/_tw๼)+|G y+mL_St{- +6; ybcY׮k ./ލ{E80n70T!d&(3-$\]*cdžGrh=J7|x+6~染 4@l6X-H<>š̏mZNΦ;tGVTPx5)E{Ic -<IAJ'Aط;nIb ltCW*{/?Hupm98 %_ /[RueM*C!F)muRŇ?NnJ6qlp1I;Vj>10drm|sR_[QSBAˁB,@MޭSÐǾhANe n66b! cD=}6!~k<:ll}O\~rIW{b9 U'(e*(Tإ̝ѱ sjfk-N_8u]H%v4]N(RKVIat~Jt3ܖ-d²m{ΛV):!vÉ}F.{[~ l? Af .5_: H O Vq׀M0erUГ; F+_e;4zױ Ȁ[8%gD͟fvp_Lz>aNG 9X(s=߂K}ĩPfikm9H`e<q\3!qJߧHge7(v(&)#1\9D_ToOSW&?&&ʄtm'=9Imjw3b04x!w{n{be[ⷎ,L98 `dHM9W. hTޚzK$ ?|Ckm)=]Ex3BNՠ==Ta?fՒ3Q&%?ͬW OGnZF B_%]iM dڑ{F+A I܋C- H xK)񾋌d,_Ip (}Ն!IO+7/fxӊQY6/L.Э1|^f6Rw2>a6(<<E#fp' V ֦\ #ۀ2^8k}/߹l_ ]V1Æ6dPHYLˬ~SX^S~7VX`h5Y<U(k}o,BB6.#NQ^*Y][iUXDC}lO˫B)S*|)Б>zǡe7:ݩz l4~wPz|'Ը@A3q3TuƉh5^ f+=WDέ,*ήꋁ^va/Bf6`07`sDd5hykxA0;B+NLu ** :ʩM1:+Q(rR,Ϊ%mԗؙ뼸>?)(\y_3`ŽnWt.fv0JQ8p3Cb ̟Ծ6ߎc]ɩjO)SL_˜%9FȌ擭a.+n`\ao qp?'OAA&YԄno0jQ؀_F"fR~z2CwL\ 4esZAW"~àw\l: [TV u3>*08٭=az%.ăckSlz(5 ʭH#陌QVD9u!LtŸ+5qbn$DIaePD=qiRbqa- kELքwtBVuHfglI9UBM}=F>ki0J}w qkz'̫:MpS;NT;5 'BBPy.0U(Z@|XwPit^trWB(o sw8^Pᆇ\  9rssQ f:Vj9R ({ HF ӘdC; Bǁ2)cO8jCuO|ǢB!ά l]؞ ^FJQ[\:HSv_N)xM+5htb"cB-YJ?=6*AGe'0!>6B't,7zSG0m.Pbwԛ<J]):ċRt>R$H OCm2A45[31aDUzzä]]l،GKms a5[IE %4"N(OJ[oqTlsE`ǃfQ@1?UI)UEQxе2}OE!ޓsh\[aZcr aI§+7͞9?;A)?lЈ;."WSR1Pd/m #3&$9W]=v8=*%S~nd5s$+gDo1PùqN̮!bń.&oA]hPx[Sx(ɩD[}4huSΊɔ\(de6e3`s̥DRԡ8QPV*;큸 CYp4 $2Z+: GlaJpN[a2(D*Rc0Af[i6غ*-'R]+R,g\WL8y.ofV,|0=ܹl1d$]ubg2g2Tcé =ބ60ByM 쓉,cЊJinV4:|#fLs{&ZTg,N`psdYۭ&3ǝV*R\dǠ, }B9i7q!9\/\.re\QR0HeԖxY{;C =ΧPqa#bN9"#53l=ws/ $)SttJ C*0CH- owB<'Ôadۙٲ^T4q:Pִ4IDq\jߡ0(~$ $I8uBK{3#)"_6:(F+ksMjǿ;Hƙ C "\U蠾Ws AYUsld,Rpusw{5ʤJ 7O&Gـ}2-{jsZ>K\3۹4>+O'9.p`sMh7EIUhCܝv9vKdms!SVEǪ46:VjXU(κ~}iS>3z(|_tYXی{ޝNe0Dz7FT:`4x6ѥ:+z̭Fi gUy}Ŗ*@㙁5iV;M`: Nq' E$[>aם^G䟀"eK)O U!1uzj$ǬnrZ+tCp4i{L6X3'>l|g4qG9YHK]kfHPOҍ6/$Lqe o`2$`ңVE[<>l}?0$؎S οbP~z-9xքjYTQ{=0ĽGϦfY'&:onY@U֘OTRP S s@CńL`&ж+{!4 =G_aWiFfJȞcɮB^^Ũ&< d*BI `qƁbNEE/[Pζ&N_ MǔK 8|6/x;߬$IV^KD;S\ƞ]].P?!HIx/) cQZA"-Ub=/>IzyzwBwW uLu2ȢiU-T0P)IU_|~WR"Rn"р3.ҫαv`9$r~dN*>."񟫸yfԟ[d[߀xu=!C"+??jݖ82PpL'Q'zsBQ{Y #;ʮfFРbcM :)T u\YE$7εOd]U^[{s0e>@T&p;ZhHS~Bu,?0b҄ `Pq'ʼ}@rNqc/3X(YAPis‘>ىcu7u T``f pqagz1 /,Uۊ4VELud[m 4krx`p:`{b]Zư&Sh|kd94BN1-Rjع4sPAݸQr=oqWgȞ֜b"}KFoTHD3-Ugq4 VzAV74zYmeS"91|&,q'@*cVsUw%C@W!L6+ʰj4]-G]ʉD9~2F*|6T02sfLUs2_WBGNoS 1XX<j:`CmC ;GT{W ras{..gI&@C4y%DǴDՓ0jX՞VyRl%"tmE.k3apqI{G\oǂwf<^ |آCYUG}xSd"+SA|7K(r7DTبZ}y.m'1dv9/*W򚋂^|ASXv/([ETYB3o(|w^<v5|k nI#F}3$nM1\M4 :ΩnG|jCQ*t#K&ՕRhML˶"$^' tEM.+S޹C{)ik[]2>Sbo)ok9r gF!qg&T*b,Nv&PPǘqf(СOJ֌L mnQ7; ;]MPZT[tpHm~\?b Qr[(wM+#EkFL"߅0gFR2D/T4'@6TT>gfp urڸ0j# /XTvpnwC!\E7{uH X%Ӷۘ%WOhr8ϸ&Z$FҌI.sFhGx[2)Ґ5S+-W^Е#roXEsV PO7s.?eZct%ggqxO'WI,JQB74;f/Oi%'ekfAa<'MTGBh BF-:Lj2~:+F8l[&DzXy?ؠӸ.mcN&N!K{BKIfNfR[=3/7\LjfP%W0[:,:ߜW`6|6˒14XknenUw=&c/۩شo6qv|BN=-d$ܞ*sR_;ZM-'jq{#a+iL,0)E[#C8Slgc976/ ܻ܋J }>"oc>t3!SBjn͈ ;*Ya 9Qd=-Ēȃő@\sPP嫄V_4tO3oB!rKm0;r\oj\27dQFgr$$KpA@:4a8e/)L[}! En>zeţĊ5y``qmgR^`[_$PZ?B9QCT늮c &b]o]fӗ<@2!NyM*cG1}$BjHއ]cP?Z 0b=vMYY&2W1tJ7/qϕCt7sIl6D9 w zo |bh]KCWFxЪOFGI?auϮ21 JcuTpT訆&D!)H!]gaRzF9#ݺL7@6ȎV| U *Oᨰ]+$x]8vmnQ^|_Ju68;|,e;?5BMAi0d~Qť]foߺ^d޾-Ja;By| eQ"X v>8!{ Qp{"8"I!^":e4,q F'.{dž\v 6)/ZԘa`1D <Ȁ^ 7փ"GmZ%y4Xd7cY{A-~UY'vV>#?S<`/0Wt=5oWuYmQL R2 ]M&^anj"D@ý,q)0 flan zS9 (pN%&>d{y3 bWZ)Pm*]iD|7n'ѱZOIoBZ9;0o*E+UN P: IEK#KEDOzWi8^ft9> h2;ߍ4diCŘ﮵qLbפO `i۽ À:Ի#cYf ~M$v %8jr#9a3`!c݉Cߴ8\u슬nlPh% Ku ~Ȯ*E7o(6̛u,&xZz@ w󺹂CwOA3 ye fx,,[)b }cB~?c%h-0p=x{Q錄"YLFGo)~jg_gDW`d12  ,$Ŗs WpEs)صb8AjD;豓5׮Gױ nxV&j4?n]qpV؂MƸNh88~UesoF0'7F92!^ަk_vM[%_~@@ϽsEJO|=KmL aRPvАuRRL9e w*Hc eglJǫ(9*(f\U'Nۆ3(_HN4Ity  SÎ:X H1<8Klf|>V2B?T2Fu4lEnOӀKuϨ*r%ROf ~;憖/X1im ;~߭k#2Pi'Guxsc/Ɖ\V:OArr/=;O5}z mMH>x{r<Hn&K 3$J=æ,_#fqcq'-_.5iwK709=Dn4 H! qIIT;B==N`ϱMӉ1zjHxli4X:{4QOuwd ںn(mZ[?Y-A4NP9I*{b5)_Ǽ8xHX9!^㌾.;5٦>QNCr9uT3/]$"wC4b1#v.PPDAT8.IxPFk0QTO]c fb`xϟP@Ѷw-sYmyv"+ռ[/Lm+<"a/Y:u,dAJ ^t -F{S/7]NlNlp{/vWųŧ 'ڐb7}CT.7Ņ k!HEƓ^ } OFHl .DbrPe~1N]E;I&  Pm2eVvNMB4=oQQ}o,s_ 7BG 9=@NQdFxƽs hv@ۓPa^ZЮF$adLY:NI QXq33iF'I-~a!)b(QT(%__MrY |IWogxՆҘeHq{ H:œǕՁDD$Ɲ $uޫ][XN+ͮ 4 Sh=uvs:QA}:[ٔfqeGqh&>BXrs5P~96pMu *\aj`i8\y-}afIn"2'͝M˵-t`?{1^^*b._HZ\7qw h)SdBE6l+|cn9 q{ur^<hWwpۡƷv>|S6TYmHp lAxPV5WP1w R8 (#wSg;bhJGX`GĢߠFOqq ~)}^]|U.L``fCSi*Td3\l؛SyDW&uV+1TiAq3VKh.W>XxMk/NO3NM5P5{mA9l ʢݡ=n85\Z taAx;iq ŮOPCQ9`6rO$lvaR- 1V};U}(سC?L+0r?7vV>>~Bb‚؆ʯ*o0D wex-{wd2-~.P8r6YjM׎6AGE橶 ,wt,2:]~Tu{QE5@w{Uz1ga3*׋a˘l](2 C[A)}i<;|u~˰CʔA#DRyKrMm(w[ڌ:5k TkżvBP], s6!aA_Shb"l$R_=upv R<ɛf1iu`;ᙼ2&嵁~duusHb덠WٱvP`\ :! s<b:ּra^p b ;7". LQ'@:ضr("F?V Y`aĶSHϫ2NXFN[DUwmP$ZAqm `V`I9϶Ym$]VЏ}޳j޴a+3 /.gX0 N¢E!Tra@>x ]@cfǯ)әս|Mm'o;nzؚ`m*pHN<1~T.D$F{*Vk è7:?cǝSd]^5I NgL}'}uK! 4{x _ %vp(R8g)quذhk%;Z'`+,D3=]^ڒM͜h_xE 7rɺnFt'?(o7%BO__PL|9.D_K[[(dq#V D ݑǍa{"T$fl]Fuњ[H.:%Rc( }JA}F{@ P.nr_q\QnbRM6 5POnF!s> x~?Xe@1qHTZm`#(Kc(̬02@$zi'GרM*>Pr_.:#؜&-DYeZVkksheʼeTuDGfyaOX6)Co%s.\|r(S"R\p<#;pJFH"'*z)D[ _f݉*tWgPQ\\: Ηq9Ï)j?lAD\&x¡cS%Qv\#oQK2ƛ#-I>5p>AJw+OB;aL܀8un{S.:2~Zi<jÚdkMDz^Xپdqx ~ KC3%W1$!á }D1ɰN}[yR̹(NE׬ixOXSLt.ؐrqwafl3fr=&!YU8Ȱ8EV1B}'th=Ē#zq7rgזӹ,nDkَEx#J%?L︅W\Ih_XXSY Sa[h{ k9% Od|vv18%[cCsaL0ABp) :uf6ۑR;ގ]J.'cmWYZO_=yqd`eL&^DJIAET!QZ`Mr!Zhk/;Rw~J&هNR qݳ3:X4y+YaEy A6*VWX>y*Վrj +:h5Û 8*?9L[pXX)D'RXD^i!b]w5C8IhRwUhDŰQ$z1]-T7)zG9`SVѪ' YmOcb책גF?7l̅q;i 'mG KHxB Bд/5uWq1j40TaW&T3j]|~+eHbfmhSE*m a6h5('A8d>Mn,یc$vgbuG#iC:}M.ϡayQj4ze#]PGo?*]HtFYq cI~lr&.lJHVW7bicHQ#UtT0HZy*揨Y+Kr9VŚ:l#ݰpa/}{tWPzqk}=-)!6xoda[Q'mѵ\ dZG$J0-P}  gZ%_Ӣ13W[eQWSӗrלGL=wm6<w׍Z kݜ4O[)%ܤΊUv.k58K#esV+XL&u0rQԗ \1-@3 "(H QiN@g*5%db5k!h 86冃aQ4!ӚH3՞2h+bySk!O8( (q;:JuJoRwﱖi@TnUkl@Fyoʉ.krit<6Bf#+({mgQyG= 9mğlwIMF.k}x8MpJ:Dn.Q4wȿ̼K,JUw ssτznD=֜Gh4<=UK/߻t Z#w | ]oDKlI;r1ozi!x4ʞ *+pjR!sf0 &eG9z{ݗS` X@2䄷 5MɅG-6[LrѢ'IwVۣ#'/S'ҋ:8W kp,GlBzc9`±>N$?*ip}XmKpQ$ח >K2Y^9sɆ%?ElicU :QknU (}^ /\[ϐӢ2}w"%͆j,#NycxS$՝N@-r%* &(R|\җѴX?n.:JeAII'(NzzukVbHGsPM̨>Du-vmp0Ay+kҔ|k#]dk!ymMl~jm "<U%܃>xbtc1 r(@vf[/|@797=:6FX`S_IqT\0Ԏ[3W TˤbtdGYBhymFGV])UӢRv VΣƋEL3sa`Jd<#6יu_xq ֡RP~ 8Z8ΑD̔' ֺ*`~Hgi( -8Q(YNY|t?0^u\UԕC@AI6O`H^,#4"\L0}?MlK c `Y.CZ]fd .PA ef1h^\ԁxQx{nP ćsahe";伜LB]AF㐔7 j_~MhMcfӈl8)ǒc3.8U v_XT]is.,zzbo瞯)a <$!Gl9\!.C/wtx4h?G@uBB4p]ۧy]Y bĖnCΞAՅdY16*F ጏPHJq߀WJ44!'*bqѺ`[yv>si~uTj]wPd7o/;WAF)@MD=ִq=mZvdI'S(렗l9y%z܇̀yVQuO nI[O&qx"*JBJ&6hA!{`GdE g/NЁfg<˶0-PL9lzDY[.d\O@% L¯Of`}}Im򆭣jć/fMF>YZZ-pϾWHllYWFȓ :]YIc~a ~ouON,!.uy!2bZ~X;_[4Ak۬> oD'գJxМe+PoϹSPo쇞FH;^Ӯ;CTqZ͊ 5ȩDD1%&'z?mbՠTUଷhNdiy/&j<ƕ&/KFp),e<#G"h(=."#"aHQ6#3Q晓Y0.qx +0%5SXf{?<ؖkӣ a@)4+>(/\)I}&VР(yxoqrn#>g4k{&Dt4$M&C's)EP@PN'ձ&&l3ᅾ pz5D Rw`+g|ot» R?GP vV1`i&tXRmnX1޹t KfUŧe#ƾxv"044 sx93{D LO[ :h1eYƤ$Qi$u-ݩ=4AHvϜ" 1kyzZo]!l'i #1oh)W n&^7xF4KX-\Z8%%2q7:ud[V`*XEIbZeN( hw1̟o$!EߩW|VD,LlfشdhV1B>h9|ς\M=~1x!6ʰvjB '`Q{6MuxoL;m{ mCV ҁ VHN&$hn+ΆڹQxF> .Øܠ`kĀ^ehm?T4\7{R qֱkLGg%+!e08t @D.Zz%VYHH{qdJT|mܝZwLn//)7ڴא|^Vzj)ڕO I2A| -1ܔ1D<׷cN 'BrS f%¤)$7h#x KIEA7V f܊1",PSIA7|L?[8mU+eܜO `/,P@A{AٖlH=٪ƕU5!Vfۤ¢l|ɥT%A e)v?vKw!)Q<"r!?#[6t"=EO6;g٣m68B9nN yr7HQ-*.H }m%SC[JXOU 7LVعv&JI2{7uq>ʾ:`<\g|ncUUh=-L㚄GgOSQ~dY2 Unabv7&-`{V>'ǖki# y%k`-@#5t -^qhaV>3gp"ANF'CNoipd35_}Q$Z=7_҄}:֫B+ 6:)ldCxD,{JDℨf0ҐJ{JϣK&(}ywv\qw L?D2mMeYYM|f2Bd@g"ܷVɦe[b ]ɐ(ie%Kd.ӚMĿ|DKj^BXrPpv|u dcw62I 0bo_?wHTLZs,b;c=XݞfWDfdUR1D%L,  R)"GIhUKg"xs3 ҥ ,R/#gY@K_T#<@Vyl\wpA.=w6 /;o~XBLMBTM l*&p2i^ckG #kœ%wSe(Z *'VpK|HWl-_$M ʈAh 4HtwߧNaw;MHPI2U2N& 2yy3׿^y81 g>'dGJV]^ldбJb$_.AS::Zvab\x5M&QzG: a҅n(3Ɔזdy}zUS$3V>E4LՋ󱒢D< 8K䂈0Z[h: x2zN$=6ΥWw$ [AudG`2?K~2]O/ZT?w>A?##yk.A1;tlWM$3Oe#V!N 'r_U@ڇX I`SBTn0Bac?4i~(?¼o)#w& )/.dG)\HHÏ֚}d6ms!Ǘ]DBis8AIJk(!F?mOG}̻{Ҡ1T u˛{m?ۊ(q'K{^VnK(azl p4(}T),r_X}6>ϿVk;1e0+wIݷP|44'beގg飗rC9d_Zdy\w [A, +ӱ<˵T,:Zl8j_t Sõ1j~H /p0U安Nwy7l!I. '/OpR]Z5U.8> ,9T&9ŅűEOP7߀Ix BE~<Յm@KNA iFLBh/>H'sOEm\ Q} Ib'JwgzbC%<=1ڣmH|tyݘAok~`&,IZI@MDpIÓțvӉƼT 2lըxo*x0u{*K F2Bټ qECUR2F٦2:-.i\f-nDPݏz+£p`C@TEmmN  ?"P G|3ŏ7->%O  (PO5U~iYNij^FO0 9bb&_j6(#W4h~ o!nvJ `Qi>i|qnsi{K|WsPDv-tj+zPbIHBKSX*ވ6%\_D>NERCjYN¼UPk/<ɒ*}'srB!x>Z l`w>)} Mwف|&tM<[ylRqF'Q7,LVRI7_Gd (Ɩ > [;vFHv 33 LSd*bli57[bTGtdc pEِ; 7NYLI|쁷&qAeZbVQO^UECniYW*by8X?NQ@7R!vv,S#$ Y!ԁ 7ɔO#<'u~П۟~]"}Ny^c#5z܇AJ~rȽzWc 1qaN̋@ZU ڮ9-oUsXx%$/e9NoL R@l5A@Klb] $66ia:UR 08"q: ?%oR'nA@Y뒏Ggby8hDK<  Y DO3N#6+4rѾyDI7 WQ$) 6k 3@={YDt`B! lxCV,jՏWWRuPF`\Ku^;% |o`A;7Pyk8mE\sލ?tJ4a6TrڕSfx"tџjUz(-x?@7b!>|{dixgt{t3}m+/ӯvV4B|[H;K NXY<$'yKGt@cZ^WQ~$Pe~3,KD⾶ܓ29WPh|ev Hⷉ ɓ$"|B0co}?#)IaM%84ߊrs]]rYPsKLDv{3 zH|0J}6Pr*~G\m?u膙P$v[7b);:*k19fL0-Uα >}pԓM'-]]?AqW})c] ` ).0@P R:5+F`֕P]$|6Lc0 HNElgUBL9!f+ ME| LA1xcך Ղ;V]1f~qsӼ6iQep>쑙"GW"|7>$E&71ևlqۦYMmI2XYn$Sα%&@ H:Z『`tC!s _ڝX~٘L0b:S֫KW}EvKrz>: m+o3a$a;2m4fD !?g\1}.l!xu'Ggh/^"L7a.6/\V(^]&+2PEBHkM &Ʀ ɰЯ>G|0/e,nt{H_G X>\;nң@d?I 5af1zwn)}+${EV?- Q2ſ` K]eXln`ʖcmc5gN,C 3ckWB+55}6<&\1D&{kTZu݀V @Д7jK9Mܲ©?~b?η=\q<.ҚKARQhae* 2 0RDh[%&sMLt~IG ==EXt7ˁP*XUIJ@%xkF,Z !𳄮dfSTri yEx6cc`|f#@{6" XMfԖ* EFu:޺a!~4NnvK,:Y9лb̪%1c59sjc. d`iw KL*鎫 V.PlF1Z>z8J7IЃs.`I`_DƗi?2cڥܟv OP䤷c{:̂~`);6&[a?͒wYNyhбHQH (ߎ!g!̊>6)bDuE1,9!A>"*o w^ǝ|hd6[ 8SK&?(y@`mΐ~mow\8!m1IW*ak2lw4!yeI|aYjZ@ch.,9*AW5wh_WI-+T[۬;ldp(K rxCWEBd( q(SeuBntDzWFXb,v8sy|Q2F9g?lEa"g@~}gh9T  d$̫(J͟j~?6wNѯ(bU˝ڸ{tǻ9?|qx$8_1=gm>۲[U@R)y&Z NE_*0EVrw\Z6HnYs:12Bs[ؘu]t Tm#)VA J҈΄c"{'r- AwzE,djDwB38amƴdc6 >7Ћ̠IY1<a_hW &:ϿSfݼw&ik/olZ' 9D'tE+{S sHY0`ɲ]i}6 pT9|O UT"%5P%ٵ `5I:`q+rFJzE($Ŀb-^ְBf)\6b3j&`JtR7C%ΩEldc]Iz3(8G!~? KQA:,5frYFD߹!LADAm]U%D$9Vƒݫ>Eb1Ku{&SD'{z0U<{b}~f E-?7 tE!T㼑8݂#(2(0W"0@{ԾFHisI ,3&6wpS,<*&S~ٺKhTk+8#:_6g~"Cf!Xv=q Q꾰C;TTϿˍg>vA|]30>CD7omm:Yr~u|M)2χ>'oDuKbS4a?y'ˑU5>!HO''FxR+g g|sFױ.4%np*M\F3=wWF^Ckj]?1T?{c ~!oXxToGMn>oHfba{%u-[YɈ}y*tL$d P[׌ WawlgoX>ݿOs[f1`.\imHAA_ߌ={ܻ ITQ͝BM,NE0Ja56> `{bZ n[Ogݘpj!U]ػu$:<¤x;{c㒮E\m ݚ.a`,LkRQrV*lG`R]bJ5=L4s^%Wv`*vm? HZu7Uh9ߕ%xx -;MqA U!@ӽ d9{ځB'R_qD?CiOߡ.#\|<8=R )XQ7ԃI!u]GmD7Z?/ϐH!gMUp#,b2qA dݷI7T@ C#6xn".}w[[*qܘoɾo t_8Xw>1-KTh %[UQ.c~<7O;Tj q Tm5HÔˆ@hoi~ HOuE$6KӎP$BW.' L !Bq4)S!afw*>?@ PL+僨e# ES*ސ*`Yˊ8taX'=̟v5]{tp-y(`hhՂSES$$em.P../}o]bj K_N' ³cU:n5؜_7$~|(_zT+Y&ғQIU3hz"$IŸew[;ᔭ@ZېFw)5P"X@ayScv$o NYf->](TΤXۯ+y`{hv~^U5JI #3x9lm/)4ݰBRc>.OWXaiv ht7tȺTBzn:j4Y˪B_Dr@nSL=^㚻1!l fY0{}Uq}$ٕc vy Ż/;(LhjUݯ Nc?J) VaIA8Ik,[T9C.\TDRe4v<(Y x8ČVfSoˀ>id-u8'+/rg2MNOʪ7&Y@R_л$ LM0XjA9dq䉧&ɭ~T|RhQ?fTw&>I(6G` 8-j m+h6s=@F>τLKiʭ5 ?fQ뤓jܖӯQh$=P D&> s Vg6Ъ6{^۽n!Iw|/e`޲{2R(6OdQ'3|n5M!0KXhoݜgaO7Lr,׈)sB]RY$8cG4 j!qۮ u/5ЂIRI sعBӘkeWf, B֫!J57.犐CiuB%?WUsaf(~^WGdTڣ퇷*yv 8_tshvگbh{EQPnIdx Hn]mdqJS: cJ\1&z]jCsZY[[ey՝}̓d&3wi+{>/]!]ڝGY%nZD_U(znH-P`i æ7em;*`*3{ lB[g״bj0*KJY4^ bj~Z/`dǚ萦Fd곀/0N7`waŌ5xkREfO H"Ayh"ty`qelҪf6%Y/EIH߆U>]5vU-^'9o}ILRU.ɮx|&ZgNf8\ hW)OeP0Dj TS+!I cTm-2o@Z7GZU.OKXYs O$gq"'__ ]a,,T W5́M`hkq!-W ~ٻDP&dJ%p&*91Lz Cep*]u&ڧf9 #9Bߡ] Q[|{s]Ml{@ҡoϮ}F5 d:nw DS*}MԒr%,'e)Z\J^lh\Z)Kb,`y#n>dyϙ}P]eKp%U*wg˟* \PDtObЀ[|H >@{{Fz\[TsKb6}@{f"ϻCE*qW.geNI"qL p3{zHZ*F쓿 1r/ui03Ey&gj]/wDګVXMUUMtt(5Ĝ` uz xU(&މ3 $ح9xX;_A役l񳎪w<,ve8~[sR5bjF5+|0X+]g&RUU(}Y#tϦW%Aڊ>Q;!@^Wk8M3%T˂w[5vCsoPb"rJ)N`~i#BԀk鮃iGoj%r˭[<سHLiY84hl]q tPa='-񷦧ۢN #eYP<ɩ溻$Pui?3VWVYv Xq?߈Ɍ$jL~eljdj=b-qpS@R-o/O&^c7`z a/|,ᾁYuΌXJU)#\N՛,~{RUe3Xe]A⌡5{MשҌx5G|ZZoo|5?9~tKmAKjdXs5,T 1N !)+0W^WD=stxd@Խthw}7Dm$n3Ks.4nvDs΢$AWTd%1Oˮ%UnpA uws *F(c-K:`؊ɉ& *N|8St:ަƌqhZcܪ$cCZ?K07Kc rx{ ?ۣ'\B_1,k`&bf Fʋw7*ˀvufp<bP8cm﬉R *]yHBtRSdtk#y.B0qPdqVR8/. !7S܉WsfOSLl46C@92)8VbĘ^7}zp0[; o[T_e7@lvppXFd=HӲqtP.I &dx"R d]&Ϝ=!;}1z͜#āJ *X.xl;& 5olNQk>?w톧I#݌2eɖw eY\]!:bWJ%# cL8@hA|e~|k+/\-Z)ւv.e׼AU<-1TP9!@ѸbpKp0@6a4,y-'V݃V`I8q NmsHn޷ט^M\~_!.wMrb&ݣȆ{egwC|c !+c:R"Eb95XOn`uH:ws{X^Tbg\ZD 8C&&Vq#לl% ZۗN8ɛc3v n:>t`"*[F;yt(aO;!~$ I')Ȥ%$ S V<[ rktѾvR(Vӊn*ȖF~RRƋm \Yî2 1ʅcM6VB-TI`{1DAe0p iG@|q&*ְ: SșyiLq (r9B+H&r&x(Q5/[bvc,nn6z*&߈pnf']|=w#.CEh.QQ_z%j\ $H7KJ2̨t"=s6دjZ`՜dA:aFvIF2[x\MSƀdJ!=xajK'M:ȅH'UOYz3==pJ&u뻺vȗ[j IhE.Ac?'-q!8$ +yY ,UajgOto݉X A]4ۏéAI1ph cMp{H R]:BE!jqZk@ECiSY,ьؗIo 3wFdb/}1-t 4xcQӰeXz`fWņF.iވs*2iJ+|":b+G˄,>c?kzYC㴛c^c!˫}}Eq/ǯu 똙 TlD)D# !MfE'gvɂ)/Ñb=x_Ԫrf;A՚0b|0BjFchLx~E53;nWw/!saϭMCA8Iu8uV!7VO$ʠ nɗ;J.od+BO ;fD dQT56NEg'W˧0*_.nC^蘻u4N|y/o S=Kv% eBNXh5%~QlNq;8izyR܍Fp.am^ qj m=tڀ]7[)HdƬ4+'[Q//Z{dK튝e0 Lzx G_Iݺ)m#/,bE%T&L%w̅RS<~f*Fjp-RQN#"#՟~|rqg8C7ˬcW(̺CRѠ,r\zFESx ՠ&}+$xBnSA)7%A(L4vc(+58A@G|R*Jكl4fEo.}V*P )&)TkJ$`-,k>.5i5Ɵ9IRJ70ݰ2Ǧ}= jBJuON{bSA3?eX$ !bv,FxjV{ݡ&X$@Ѫh(kܭZZ^\T}W`[A'3{͓} ^k!lk .\V_.a:_ .ӻ MHDT_4W8+W˷iw8G;zi 3 I[Y A}3ޤ%S';⮞W+5}ٮ_Ba4;PG} nj4*E/NXߨ`<'Q[@AѴ+%c(=^.2^# 驭ƪ4 ک!jH&a<ȗQ|^?*6hӛ]#FBVqBe~+dT$ (G^䐮_nU5SgH"36%Y>4~Kl#PTI$UQT*.r:YbZBsu\ّg&{6]g|1c=4NܮPHfECv9+\޼ԓ[9/X4O{]-HLWj]4)7'0& ӌiРe$evS;A +tcԣ."L`S[j=L9Iy8m<=u+:Uω~SN~ P/{]1 ݛ%/D ^g&eS3*Ԛh2VXZ0㖎t rZlc$[PМ%dOC g#Ö 12`ZWd~7ʮ>ReLuMu%sʛgc.ӽ>)Ul#uҩ\F/.U&L^#_?fKWt+GctwB/=Ԏ]KDm*}}_WzsD}ԇmUEVjA|=~\.i/Ǜs:P@SY)\`%\ b%R=TloQ7Ni-p^ı"[o>[MIG-BͶeQkL,N\ֈy?Fd ]&繡I$M,W%\"n9*8蛸n.X~nޢfS,*M2ˢ`2O酖2 mοW4gRy2\(Q@'2K'<&h7q8+ ˌp$9Rlvc @9DZ[pe<З9͐9Jr<*1; o^HbФ>$D5NYd9g~l2Je=02"#Qj/ 0g0q>'NhF^+5.`~Pk(q X=Yf/sDf"Sgr2!.JbNyֿg&K9qAq[ 7$1suBiu;/rȍ P[r5G ˠ n Ga˚>vU]fTG)+9XHO^%q쩋Q xb/q"о%疃 ij能$TI=לY*$?wq:;vH4Чb!Bp1YauCoqBMЧ{Zط:7b]=rʵNg1d=N*c)r׺sZ2àFQ"8, a4, -p'яⅮ6@X~c,q[Ilg,z;]*nůR$š}2n m\nx@hL> ykB}M9G TMo')m$rSn*8NsGB7K 8sX_[j. qe8݄x`* 39z&kd|{.yYm/f0S@V_3>\r]!k n9/.;%J2G,}n5 ඖ΃! tj9>q5Ll)COɢ#T '+Y@sۨMZ*wqw{fvU75[>(;\ц/bU21"zU8" w9cKUR!nHVх(HWx?- g5֚fO/H  z]cK;ҼBAUBQhb:1 vuOH]Zl˿#~p WY[Ll{*eȦ>|VEtCG٤zO=xqљj1,i]`nHBF.HZM{H+^8sYhf!B;E}H/((:TE@}Ép E24ũ<靪8'Ԫytk[LE۸KZqӱ[F}\ि݌ ]_јU䴊4l(qEzsLڥ^{ޑ3mAD j4,M `lf-{4LgX[%Z{PVP~ncSkz6y*rz} js}bgK9<%>2w3.b̤Nl= [g!<7G:W1Qtߟ=Jٯ>JF ѝW:ݓߋPH؛7^46_ `"HI&gTANZXp_[ -ٽiH`]%jY/1 isC;OO7='GՆ &>9@dR ~5X!9=wFS0i:>8Dµ$cJe.*Y4j(D0j^dž3ɲ2𘰘X?ee6ie׫3ҩqur(AvKh@MQihpIURrm-Vh ŸWDlЂ\R|Fz;\NԲ-3ˉ$hPjsv qP{9؄|nwc䄲fwe0AVP>Z10?*„le Im~Ha|"՟?n>ms^YbR X cdž"pjo,;Zwtkڪbct$v{Cܓ)Kf؃(Vؤz|aE4nb>5d S^{j#y* $VQ)83gJ048 &fjyDdEY=-QmOo=5DhUj]s u?|W- ^qYx4V;~h)@rr4Qz{4^s"8M%IX|-ExNx]Mz8RD+w[3=_y#! 3͞YH2 ^&OA*%d9WiH34x^֣7)ޖv`;u|uyk4ndFE`L{#: &|4x *eCLƤ2:x)Ȝ>Yn/­Ɩ#HPəV:t9lmc1DGX=2Y- bʃ;h0(*;<vx7GHҊ:3Mv?:ء9\@pc:s9ާ%k#[V*Sx" f|nj rpzcH !Bl%Zjߩ{=N{i2- N?+ j(&LtvUl\9s>!%dp ~A~~UW-YhF͟ kʥH!805M+GQ' !n@Fыsla+Lj+kS¥N7̥:'d/Qlkzl̓klY{XqmA`TPGdu)aPCH2m O-.! 򗃳{4tIJ{?i}x^٤<ƹr "njB脓T9WKEeI]@+Tʝi s\34[?S!kNI2|فhb'Ͱ,B!}dx%fyKvbUiJ57va IK||XKJ8qx`x|\7a,_nP},KP_^=*Eؔd-qdg"&B%:,yY),y?"Hl. BQQ*s*t$8Z 7+9O#6m)ڮt*MؔK/pB b#bOaӗ [<<7ځܾXR;)+j*焜ⰺWvIqC#p@T,GYSCCV.5}ޏ5 g 8:< :U **,_]5d"/7Aoo{geX mP%D#H_.hh S{&ɁPHOԍZd+QnVPm@o6Έ.-!>,^XU E>o' :tYB|` 6֩axHVNB1!^fYXu^#,WE>K4gWWۏ޼E46=pplF]xB 9@L}֖*|3{m{F\D.…хF!]`mL= z2ukTi[RfȘqH=,Y3ց} zh+??PI\mRw%9J:PK{hHqLz9m4У o, 8s6DgL17ۜO)pdU/+*0FDYi{fhOkd医 J VbA6}։w,̞qmQw.?[P|HTkT.K56.:~=f-F!Ce40> 3]}Ty@o c yE~5{bD14jVy!v%ķZ~ ;BJCD9y+BҺ3sx5I܉8PУ iN`c3(SO'-.&K%ȡ-QG&yQ"w""H"^?x$Fؗ\y@KH갚7.ֹX9, @L6Qmda3~|s<;8㰏FW̗S^4j5KjMU[bWᤘI`!qXQl&f=}g~w|9RS)~Xn rR8$ ۬i]ZY|"ҩRy+80ڟGGIWlq#|/iCIB6gkeF`QȆ*3 f".u̅2>O>d!i|ı^G)-:_5_BZh*9~3`t[L00: iXi!!ٝ.n8xjF\rɳ## ~=r 9h,Ő0ŋTUU:#œt3`1h!Ėx٢p1kɆ\8#$^g"+$yȾ9>xF,qEofyOsiijƾ l$|ƺR"Ȧ2^j:B77̰-]XlV'Ñ}oxjB ,e {'ŊDj<۷^Ve=H)0;kah#{WOn46.2h4w_?ăq$mo6k }QVDZՑ,QXc偁K[rxy+`A7K(ie j J&:їthW9GOPW~찒=¾v.„$smQVc IfY~5W-N(Yy@fĕ{po&g^/lFqM \K6L_!q|Ϋ  QaXZ1D;ڪ-urØ. 7w^u2BdY؅j+W_OUB9Ƙ>N3,aJF-U+uyoĨ;yJK)u X ~| (J5IHb;?Wl:˃ȋHEy\z°X[+(}OA%Y/!QuaLK Чǥl^~#nUKj&`A>9WmO;xsNkayj =^tM*w\8-gں%L/R`>^*H .[QԷuU〚vX|-}w@ Y)1#WJTK&PDrIc8|O+E4IvQTĎkah}Z#.„=4FK̺88kVSԩ氋F_hV#Iz:36ŀ)5 p uThg׎eׯMMkݞldeU cɉbV5G$t#vyrfFUWCMeKTI>T:^lhXhwѴc_^fRlytPLJ3X=όAy9IZÏj"Yu5aÍ_jhqa¨H%xgM*f͚2`Ε4n%1boZ(4[4A1k{|Bm#1l4jKkh"KCj]&Ga8A^*McO X|bĐ[p)fsύt!&= ~ . %MUވ*v F[pT@!۲*Y_k@ͯ{*1W'2ئa!C6+R `v)Ew]ſ'HT#e R yUyAAKD)tARꟻX;]!я88] .,hm`҃'& -;!NBl F99N$Ё"qc`,'j0kX!膜:Ug)]Ies;GM4p!i[a&*\Pj-#I 'K:@F&n ,P$%-ĀN b SReT%@Ś?%]&'/r`>Qø o{_SަwdlԀ \UJ=Iz=|֫sY0!4xgOVoBQ:̿@$fT~a 0Dq7l>9lV!%mc|4ٿCo */m(.RS>)lÎ@ cJMɧXQv>|2W~R3GʌҶ$]+0G-= \^縈]c-iDm4^uj;s`ES_{wkOyV١0BIۃ~7ѐ#It3<⾶In؈C91JP J  1Q^믐ǽ]HlL)&"C_i$m,cW4*ה8I|]Dzl9hUf)ƿ]Y*hqS6Bal6 &4~\]`wh>|u]0ծVP2V،/ |{вd|Ǯj5)D1<28˜g!N=mNuϕSBf.Ѹ N lr;^CN>j Jx~+LC3M?G2+T0b=k"]c:pqSB*b!.9$ ֊ 5`צ?0qޭ?>Sc{y'ZoilQ;H!B)Sʻcr56>p k_Ayl/pt]T2)'Ay`hBǁBNu+G*G!P()#b,> )A鉯0ўko'&,ꕕ]c@6TP9)QW".XD}xN\'׃vjt1XT/}'9['bh%bKKܽ\@/O[IŸ gկK&^p%]瓅Hboy,$x~ra% 䪧Ci sr$Jty'Ta SuK/ӄO 7^F'64գF")OѡR3 B:S(dW\1(:(5@ju1Ca)Rx;_HV.t٘66,bRfk}iKa S&""$9q˴₩mCك&h h  @,IY\ݮK9^X1AasrdE#q[{,b M.K1ô*u 0%2DqJi#Ėp<ZyIKz,Q,SFY)hXVdmOKqlc;65?^v/N 7d.- y+4,N$"L4/D fs 2(;a)H$ j1f1`يnKvmҲTglU{w[fΐ|/&αueuաPkٗ][ngHA}Ne} %gA/N]x$v%ljI2wb2kkїA*3-4XBVd}KALШ 79[fIɱ7{ ~N v*sTJ%C(,+??`xYo>WC'ƼZqlz Q9~|, "`F<Ä Po*R,-9}F}0eE7$xS`"YU9.>Qi w@Cz%]t&O?2eLl'3.aSHQ$`p5\c(Z5_2 Or/½pZ:oLV],ݢ~Z!vd (nr*9<ڒe:ch 󿚴 ?OF_`3u_45Py2~̥ѩ}% s YQVaS`i\k)s)^ l~p,,{Ο;p]'rFJ<,Y2hsJN2r3[1U` cv{9MN{A\҄_꽥}'W`d}U obOOF|})Mp+^O ?>TJ` @Bu'eI[.WDN:T,څbw!YƾA2: DeuYbNu23_|i\/od!ߪ) WZ(/7*V%c:&HݰX8LxHzmlMkƴYH.ggu]H;LO@5>/Y*WE ז󷝨ilpZ|"55(Honu5!V1TGiקL"|my3&ׯyɡu\=6~{Gp/5G0|4䈁{&W:?lV5Ky$@dK$V^mD6Z Tmn,ϹMh= {RljY7 FKD0ȕ@  0la),5R'J3`iX7d<. eqL-ʙu"A5x%z?WqqjA[C +Js?i0{/g;$?%YDXTKj 3&L+@(]sn zExa0Gh1+jTPuk')8Q&vbsC,]=V,M۶ Ϭ:KSGR  jk\ -*cZpCbn b|R~{>5i{בgJ8iϕCQ/kng0J[m݈C; B^%x/D=+c"a$X`2MR35_,O_ i|c#a ^$K3u83m\Au ZwUX'9ܐ8=h5ASI!Y5 R ?у B7zUεӧu>'BH_礬 v[߽GW3 mvPD4'ܬ<(s"02ztrvWp@,4uYq Q,wT?SSM;)Btt&z>+CJ1aC76R*+mm&;W1kO߇і{),h!w<륰G.T!uqұ LSԵZ F"}F<ܐ=}A3 o~(ef"nތJ1ӧY":0Q⟂ :V ә#vWY)kkד2x2' 6"M#|l=,5KWJ% Vq5pO QΖA!1yh],e`'X0H4.<46m1D97`w_{ZV`Uk) TįE-I gH Ni,N"@ ]t*o)v>|˯bˎ+ 9Xe_QWK}]EޖteAt }7|N / vu S ӈTkK|RQ!woC~ō쑂c) [Vp嗚ƯҔ?#gr%"y̿Z<>+[^A]#B}JmF〥kb M{W=)1@eS̾UFXɕ.AwaROzr+|2<剕##$k>LYGpKlj}]?P L/H7;Ѣo]n\IRۢ}= u6'|2Yϩ ,ŗCɠ)dZxj&h(Cp쯒9@C(=1I7JA%8ӒY2ђvKА] ;p~\=3 :ݸ%OQ6:>ގs;?O .ȩN U,n4d8j57`huHx6ETЮ32O~Un|tT_[rş-9WQ"1ίN=aN ϵ)Bl ɸTҙ2 G"Eߟ(2xTqWRK^)ɯ.B z(sirCyY?& !1XMwu@T`rp3eUy/s8&rj?wkw| (uDSf Py)0R $EF6)z _*qʏcVQn׎&QYeb i_*9idxe|:7,u;w6%'7@z۪0uei՗9·4t{Y L[DLomqqUz?:$X-!;IfMEUlCn1Ώ~:2rS4W`WP@&j x2Q -ӏ-Tm{ĥ|7!]T,)Q# r;6T{lI9fa QT{\ng| V4EdU%XB5]a]VhYBNшչcHf[T~.SLR|%Yx~ ")e|54|T`/ΚkkC{)_U5T^#XEN4fJmx`ɛqEçF'*K@JwT4(W:L),jaF(cf@.s)9ZqS[a1Dt%fd? ;mZƃM2"1W3'e1ѐ.i# T̜pTNq< z t:$ K( _m)l@$Ys:sp6._Y>eZ;qеU`?TYhU"uw=bhH]DBAпeE[`kC_213KI|,s*=JvQI`i<`O(ɡ>û +*/6M7:CKVu.578#$u!Mh/E"`];tBGWl\0r,[r.1;AT>t%0a20]N<`wm[on=㏭kl^+Nz~u̾F76÷ɺD#7}'JEPd#̵$Α/fov<bׅSE& &rxOHg4l zj83CX{6|+4|3d+ wk>%}R̂ Ɉc N@1>R,WFo7oSjo<P8ɚ}b.$/=zDU@90r2I'4^ Oc/$qQZy(nHU{B(xCS ),+8W>yE23 k#JiT,4׻E?`2V~xӏKNo*%g:$(55cJ^C TI>Wq;ѦnåX3vhBuop4&F a@}5'7຿>`l 'WLYIZ^0%9Yob:3"fࣣȽj  h&R(4(jݺ5Fy"M!fz-YS;{o"gT}?Y ")ߚۛz$Rty{\zpiAw}x E8oLO(S)9`7Js_GB&7`Z=y2E'zKHs;O q NVNێHR}.-s@y5ӌ<~ıS|Ĭ%CQ&q7akOk8jCj/T$HbҔ#R)_~}eIyl.f׳n"4AwS6C %''ғĮ؏=yXrՙ'ˠƩ]N 6WtHqLyW%3(|N?KiCvc6 m`o㏨UC}ȺױnۘZ'J'X9\jL]oxwE |,-H=>3͡Rׯn[A}#ۯd:jF{2I05AFwJzYP .W-ReacfU,bŐN,cR vX4B*c3|9_b,ЄV(R,}'9G9A:?1ILeɱU%0q({d(y/ڨQՖMԛ}xL(h\󽈖0mԫ~y@{+8<56QECtvkծvӅ2MRxFfAz6͸9 QC͆!@tE,s*tAӻ}T@#,ѝi_]Pa ),Re47gCXNr;㼠ߵPu 3+OX/p#Y. c|xrJG|ye3f2:rv˕z+bm)AK  *T gVж5YgKt"}'ًIR Z,DÂLtq^]d~ Oo8+~Zi5 ; `_iC|u=)@cb:[۽iu/45;19Q.eB{ӠK@v+_8ɋaj1֓~>e] Wڋ hO :cU#ߎdrR !.W${>dޓy(t;-c -ܨ_XDihY@*gt i^ĀU?(ПS|lq38|ɕ9 @M v|y!DZcҜ`/h6ŕm=੊&I<K yb.yITгtg 4Zv0A4\+PE;(5I۵I~!7y_kow6@1p43qĔO>q3v(ΰw9a4{pEȧMr7ۊBlDz{tR>sMw~jۀd:n:=VݸF8?T6'խɔ/;)u+5qvc$4~S gLڽ=S@TZO[Nc}mGW0*|eL)Ln^ꍆ 9Sv¡crq'&$|%^ \k2- Vk񙹤Pʣ7iFi?5u;c'f;҄sBd-h-+ G]W,k\Y$E}։2? - ga''CHu4\='ݤn!nK?nĮJ,2>cdT(cŃQRh<%.tvyo!.KĨ2 z9c吆[F ț)xZn}D gb4l1zQLIA,CgLNCMWE`J-.f4gGmT>j*py[dG9ole@y$|*۲[ʖ$91EnIUefmĻ>ARDc:>JXjc )go=0/Bӆؿ*%"ͦ:U NVz??)iVv\?H <08~J%)<"Wb?u;Q*{$m$d74'*uCޙ_3q7R饏Px7{Ef#>\TYC0O kqZߣ;z̒ 2k,D퓰}7wBdȠ͎u̓h QV2L!^#-+*y%vYG}}SO^JU&TOȍ@Yƃ?+ӨZ`ǂ[/TbXerJ=& UE]$νLۨn0v7ÏU ]߱<~/uĿWا'}Zo-|ֿX`l>p㋡ Z ~z9J_o-+NJ y:_{W99?gu55I)nCYtҗĪU2Bj|m/؝^hol[q$z#+#RC} fT /y[`74FQϖ#!dz*-jA rYd$o ;Lhyfhnq;rD^DXio^z WoPcO[D$^V[Wm.HG!Zv5~c;QOGijoc&ޘF#>JVSdS)[^3m9,L ,~%(=9.3$]u4;C^EJպc긨#Pw:ݦ/H̔VsKw NV>/=Gv*m7{+S yDKlԼ.Jջ' 5^:U1??Am/m}wW#T=AZC.5(hvŽq?NmQox[?AEՙ7K SG6p;5=FIm ǟNm=<;SiRygt:'fw"Q6թizso`:҃bfR6!_!Ap)G*FuŃ9pK|QlϛG/u?eAC/A:h-1߽g eYV)Rfѡ:R~J]Lon[fMI%McKl\,MQ-Bm_bn;gNBL9(E0 hTOh *4;~U;CFy_H<uta25Sώr\;jq'֐K{؀3=8rtv]B}>|95aA`r$wϔd%z!|L0-lhJV:|əy-FoeUl#{`"];'[į? H` 0=\]V 1 #Yn/mihLA%JA4`u«vK1Dɘv^m+?2IQt$gָAkOƴ`aTj?Sm>:$Ct=Tr(>2bh {"K;Ie4Igiu+ԡC)f=_"m\XሱuJ&ѿ׍V쳊|i'KR(l)L7ҩ~ٻoɟxwF~t&`؃X˷sYVpIy_JEQ$y᠒1_-_ἒCgLf(yY'Dh[> 2E~W<չUNVat1JzOJxxjT]kkعI-G_ܛ"CGRn%sH NjcUfb47 a]*^}\u N.eUIQ9Isu6ɶ^œ`؎{hyN5uU ӱt&vϪaZBTlMf{&3L,UJ؝fg++M, Rʉ7J<]-˚db [4\0A-4`UֲnE0=0 #f_K*`ԽVl ȉQK9gwbO$2N HZl7FYe< {+5ѫ ȟCߺZbޫXKn0WT|qDŧIjlMpjTϽV"P / yS)=6 cyqWhh&iv9#uHlfX;F&GS OYB:=|Cq_he{ }%r_YW<ˮ0CY@,0 /IƤz"Qi~+ O ObzQ5=G,*rwK~ @$|7 W&Y@5UF&ux` }(9s)!6R ⓰ ,:pEĸʢ )k@PU~ fJmJZM<08p8/{H*2!%ȞUwϋC=|%8`"Qf5z޷n*O>;_!S0UIYCS*4-Ȼ-Rz3-p"ף]X9Ip. y0:`sn6ykA~ެIOAW0UF[cY-=p-Mgxه JZ4j)YSٍ"fCS x.ܴeՙ$)u4R +$*]dYݍH8`ly17*/5猍=QWn~o-9_Q|2mrfq\gV|Z*LGU?ulܚ3T, oke8Aywq+qr=M|뜖iKCw'JU~".M;7=@ ' *,/:C7 ;, @qap(D l6K-Fop|FZ^@8\|%~+eCq+?¦4PwG-SyPeqTi+&""KTIM3M[ >{kc#ˌ,k9y?((_;Ƞs7"˧NHPdL*{oa1Gd!V56kЛIb5@ƶ02O>{s禳yo].wpWUIS,󓫸L3}PݼyNvɛo,$Vi2' ⎾'ɠIG_ 0S5=*~۩[Rp΅t.(dW#R h 8 ncw?B #圤~>^&ٮt[>M}PGjhQC,=8,Eݰ$׵g\w ӳȋO5E˻9!94YS@K@u/J62}|#!FP~Ylj} (Hm6Bem;Œ`FYL#q '8ԋ2"BFѩ8?ۣ`K>\wUA1|_h$ 4f(VcX֍ϥEg_i8}1>P(MqԳQ M'6lmG6)faFv+$J wL$*2 }kFb6{Ra=PU̾+! =$Z찪ҠR9hjb^gmvIrUn 1:] q+jx̌G6!;Py8^٣VK- ‰P~d/$U=4d?:0/+$G!25x1@Z* ;Zhn+Zz;}ϬG -̈3At^ `d|*cHSE#jL*U\C4R̭oC+?3OI)|-ogVt8k,s*NQ'tCUոlA/o&‹0 7T~;@ ?:r]?Nv=;qkN| +O[Dc!>!w6{}N{nvC#>Ѕy'&p_db@_iYYۨnKLZ\F&#X,w@,@߷VjrLkXZ~ @?#,u@è묅wATcmE%N%*yRV]ߒ11ଦèԃkO$~QT 2EqoϘ[R͏ =cTWM'O(kBO׃yIHd_3;UG)v!f+B6h٪̴_ktj80\ |,7ڢ`s]_>П|T1n(PlZD2/Q@zՌ_x5Vga"]`Ҕy$_kUIiO -=D4߅ReY8*5ի5)rrtn(H;ժYAGKďyf/mikkA'#P iT> J6Vlo-;=7*%l,TCLx f= YklUkڸ},/qD_hZE#ڦ]r dӣW9`3O]jcZ39K#)]=6.:a+_𛈥L];36eC@"d=rx5\<8C׿3us% p)?j<ݥ(ك >X]*f\.4T :oBo Bû4!ڽ^q=>&oPπ9`(!g @3|N[ɒIpsN3 ÍL027J 86EKJ3)vHb7B^YN5ۨYwKiK9IUCHBEӥx[oRhH,Y@Zv,)9.z9֜Jlx.y,_zwsP"!_ҲÊI1/HzEqӾ&ƪnY?6'h[u"E8^$yhVZ00'^?sHPޗYgp,_C^~2P>OrHAzIj̶>g)~\;n/)5RHD縧d}KwnfEc舖30d0\d+"@c̘Lb^񭙙c D$Pŷn7,5w8w]4vqgE)w?Vk\m4ݜT>g=nx诼tk>Y 4:[í;qMJ/ _? WzOFrI{QMe|cTwsEUvFk$1S:Of,lxb0?"UwsvB7!l-I20 {\.Wɂܟ %sum(Qx< <>u]΀e}uB9V "nL6SȬt)YK*`dmxSyQ-E6A +ω*D ya!,CToȻI 2Df͑'pȿϺ.Y!x1ȣI6'薵t+pi=GB'=q6DKxfxBmX(1Pth՟Ebp] *DLX)c E67 P{]G<*BLӚw_tȶl9ߠ"NViǿRwO{Tky!O*^[@u$kOFvk6?x92ǩO#$xsC$o |>>@h&$$ tclަ xKtj81MY kx{Gw_eOΆ,|+ˋ Rߙ8CoJ01ŪW!!]Ը .]BDUJVK\ aqzjbZj/$nV{?;~3V+ogZ#c>?\(r`JmzLX)0TFz{(D0HUtl!W{yU#fp|sf ۫ޓ!tޗ8y|{B k^FuHUʌؤrp5"enÌ9Sn8.;ю~g1P~.vt x#.c*}*FGÿ@rD)6<߽xE^~S@mXpz"Li]<Nx`l 0-p";R6X\W*Ꝝ-L"?6{:BOL5` d4@Ѝ QM8 Wcт˹ۆwdQ>rݧ@ؠl{Xɘe<+f8J(C^ŸdKb-u)1!Bv$`?N Be 8] U͞ L =MUs3vN9{SXج{Z= :VvJfㆾ~\9YڟFlKPP=Vƌ3B/'#bI>n>i6zDM 6IsX:wiTvhA)N=L& VIEix77b ]YF75u/JTCivs}7 LQRHzSAFPHΰFJ uhòmǟQ}-0BF_=-˽HW^5Ϸ,GtkD}cX}TDZQz5x5:3f$6N\ӈ7-Pe.Z S gb SxBr!A^eo7|4j譠WzwO_1Ws$o&e ɰ?K%0& 1OSo7@)}s5aVSN6" ̅OŸ kW5ʹCѡCI6QڏHVyG@ F֌t1-| <ᗎ@^ٛE2k  ?pl%K,i+:O1@󦅄s[.&cI{Nܾ7k{c &ݥ`NQxZ-PA]1ݳ/w{jpQHΎn/@+,;ǔ̳HC>sɈ4ZĢ{;≅>QV[* (`+,yx|^ z7$l;u;̉רttn!=wCT܆982\\øo,@ D j%՟p)"Bp DӡyI7c{DΨ:w@ _䓖'd.xxb7;{ͥGtVȂH܈ B^䵒ʗ'wcyHf Z0ATe I5uoXIՕ4W:ҚdZ8{Xet, (>wK' ԗ8$S;ȄXp*r:m 4/yIq!JD7%DWynA1OYXUhLX]U^m]=~c5L07V]:)X_lӽW̊ ݣi닾,Lep79dlͦ.62C[WД!X&_aR UU`@b֨77ɾom m_IQB͜{b[#Z( I"Z(KGOL}κ~:EWz*o |w$`Zu{  Q`ɶUp'W-]A` (gy8vB#0<0 7%c!/p1OSS$yj8orZ(}__4Ty:Ny'\w7%I77cĻsm eƯY6n(ceIvтس4Mm&!!9^^OCa'l|`^۶Cue; n;IHLi=23P7-]qЈ(X-ⱁH?ƜPK&6?N>0Ajy]Gb)&^p=[/_K=7Peg?_3d`@f;es)- O5oJ*CWZ,鵔`SNs+u КE7Cu'k ɕ/͍2}E`^@s (Rv|BōZV L뛅7(A`Chf Hn?V"6NԿk|/(1|tN;tgQ5~:tFsscU>gB)? rKcQ9\L9QݲHk"ګ.YU,tFܼݤLgVݜ?/PY2vp dwxRk2lEsmv[Ֆhf]G8GVNJ]2CҔ8EN]NqyT)Nlf\MTv'Z*~+yj荃F[yXnyq L}cXJݚ`dR8/䞺fow*E%,N_,5C d*%ݵ'6?y/akXf(&>HW; Q}}_S\ (+\| A"\uo>Bf*qlMu`b\unBbv-%ugz.νKɵn1c"PkSEpv4Ê31kؾE?wu^nJH*@j XFv lA75nB3C,FvM T4ز#=G F O]2ZZS?L r{NN*;2憨8WȀuf僮G̝pSsH>?0ܬ`32ea@LAe/&׷!7'Cmކ}M>F^u)n7@ qyȇam`rxQض \NNc. 1q͖t D88#98:.-mU-r&T)*4p#7_ŏ\۔^I:P;-oF?&F0G6tL@˞ SPHBw=›0Nu-!NPA´trp!6ql#O?\۔$Es+a-ߜDY.%6P`YFLPv=5s6w뎤놱9X&5(RIy1w=Kہ߈~gHACN э<ѕ(Ks.{)m‚d.oT&4q#1,?GmpNY#)vŰ)d&bRSw2HS%7aBwy[!Wi݅. - CHo;_Fk6Oi5pfБvo\-~Rd(2K^zmnx{(/,y& l wn[' CVd`|Fbrv1 lxR͙ȯp5m$ɘL>U蟤V5 I:,ř=| iidz"X9B@x\/J|9l] ~~cYk-%W\&@kjX\@Q.,dd[j>W_?Pաp޷lXF(b3J1\dB^HN$ 0[ =Bs\U& .1Hǁ~#∧ S yq\k9J'޸D9 YmkBgcrH,T"\e1~^B bBT/M?c ws!hN'#yz/:#\R G+ MNҹ<1uCHƯݓ$ 7vČ >CzL+U&m$MJYEvYԇTE9%l4 yRܸtD 2 ~92-3F< yi3zi ?AzN`ʉtc J:hySM"KbhW$sWw5~xiu,YGRWфoх6 Fm>9jTǣw.OؾHHVV<]mQm@zSfW$HxHt6<++Φ.D+uYCL_T0 τ7`V$8XdELdyݢ"Q)b Op\r(5Ұ_ n[j4%tu" N(QF;,J O);%;vBX"i8GdfV7~ P(rmMe/^pW'.IժS8JDΣd m[CX ȴfāuDm0*IPS.$lX⋵ӏ@\S}47$bT%0 E[0tcBe3zX i3BV8sNsjQ8e W3U]{#Z҅-c d[I]r>]uo&*ΌT7 8rSEVJn dL>25vNQ23i kmX+%. {H Ki^o,?Mn k0be;oznAlwy^p .LZQG&ҜWvulEAPQ:2@o$ܛ{tdDoxw0;'1P[gu>'q']гp\{w/|T$&?E,Ƿdtg dp#.s޺˼> kkv;՞ްk,"ۭS( W-+*"Pء͉(pU-e]*oZdY̧ KY+˅ LUj\RJJ)'/Α.bzƠoPN}04,RL ,C)Fwkǫ݀o۱.s.b<"v\@P&.8wA {NUA9+RtnJ#X P٩a%pdNza0Lқu(U1"V D_6=A,B;M[@‡ZAw%Edmv2uM&Ö4|r>طypj3z.`pFI۲1d{HCBa^vg{w oJ]KGhPh.lAp5Qf+ܮTm7;tk' ^ .…0<9`8"aD}"89^rAmC@ϡ'3=/M  eoJk)9M GHkmKo4!y0+Ϯ)T$,0C|,݅rC%};6`-03`;ǭx(fZAє%Y v=‡J{Eb 8JAُK&BP) $|4)cwoĂw)DbթE"3&٣gJ)hL=f[0`'ɢa˺#FG +cr_'ݙ wh9^ºގOpykcG 2o" $DqYn+(3^lyJ+s釠rD_Rso?L f`EPY>mmPHj=V&>JFV H\ Yp\KE.fL?(, 2]W b"ēJ3 .%w-.FaRT+Tn$>HP?^pd@u)Oȿ!_7a{nbtj&?LA ¯m}[h} P,9  d.shfhVqXeP$>a#jmH4!V׺^4ȴ@&u o# XSe3b |`a,;N!p :VB@JLQ/iyB{ !7CQ-a"Z cV} vЇLb(Ї9tw,*vXom|SS_c{cv0aA 6Fd-!s*Pl,M l]l\}4=+Tk d1cIDصX F. $}k12'4Njn6R) wŒ`c8+1^rc\@j[U:AGl5D]OJڞGLE ,( ܛ?H`LШyFj~X:ʄSw\U!˱jȟU|#%S͐R6is>BP?avoޣJDC:[CBнƧ7>; 5/8-(Qn/ő@xªJ yuYYs1s!AVs%Mvay\ے]vTWGN$dmV:52\$`!+f%!UTG-oh'{ֹ b";ZʇY'C6\2I!Aj鞲(CS0 zـ=2 iRDOJ+nSom{^AV=T*vrHyɓSr`OB!7!Ѝ6ǡR'!;n@]kڵ,$~0TgO_;)$ `e]INGޣsXCyYjhJEΝbE\/ХƙZŊ(+֋ѵCd緀@fI`ur.\ Z^;5=ǏpZm C3P*i~ VozDŽ*X{Ώ ,hC3 jHvB cm3&rY5(\t|fBHxi?_]ayX8$#$r^NT#5qS1 d)9ǤRۊ+CgG:wQ\xFy1 PFՐ*|v,VsN(:l$%Y4IR^NSbЪh=m^X'N1P):#֏GZ;1 17FS:av"qh(qYq@|rv1;zT&Rt c?bfn#RWHQVF8XkM\2Fa\2?mwVS#vflNL:V_eYAzEJ:ڛ7l]AEq4/C_s/=.,]C^lWE xrݯT,Eyaz,v=&oy29OZ3_ bX ,0Dmɔ1XsƋkz^XOB-W4`.!8HEZ8ۚ)QEw鬧Q6=2zho1X}Y!nڃ"Kn˧DTrO_&pǴ1ANcϻCG=~xB!,2cbABN?p4<:vK]WlVr|ES-JfЂj +@$csA lߊ6qLl/.m  qja Em$4+݂??EE4YjlL 2>j_h% I#-qyVRPۅNO|~xRЏm2ŸΉ#3*!<eSa_ >hk…Ȟz:WN3>93z%/b#6qHƺ^~_i~yQK66! WR9 *SEo$9YWBX*F0|OٴZ|ʣ'sF~τEb;3ZT:$J Q٨nN;oYFe\[<}xU#we0m;͚>TZ0uzJFtgR g\%.)BS!E|u?I¥d#t+Y 0dCKiP!etg2\_%n( Z>܈z*j+P9_?pq ZEn@eK ]f>u W}PkWes=͂oJ1.4ֆ^Lֿr(~bDRnoKPa}QƥkGwo1_ےrW~V^,~e ¼wB]" O'/-r m $osϸXUl9?U<2$5,R a 0$oMy:wCb&Қ)bLHN1WGA`˻#*N9ˈHDI]p /QL,IUn,zѕ0livh)Ro!߿]UuLk.84bM (OuD(Qoki/OvdݒΗ##~b^ξ1* ==3$@*$|WɆAEtOu @ &> \Tŗ (F1e-F6` )H|Pڍ 5h3ahn09qe ύی~ 5ohAC@ pf>^,S3mʢ,!G &k;g ڟt-HALlpv8l~pm=SY3|&95&OnUu|L"??6S .wkaʦ@31?_T O@Z\]Wn'6@F<_?|8jur*'Lhld,V׼BnaRf/jk *aWz9%au%GyׁjX)z:!& ~ଘ V%~ȁ| /~޽N bK6*j󅓝 C³4t7pr]2i!@ O_L )"Y>(JU-0ٟ!4RE]}IȘІ3E]ԪΎd.iԻv',:!ѹĕ8ɮ úols5mKǍ Ԃ_:4sCgzͮpZbUBkNQ kKT2W 4!kzCrpX/Vu:mCU+Z#΋,x:X˲r/1 QAAWXUjNF3U %?uK!Q {>PjA6<ֽvڇDh3۫:ӯ2p1k"9LPgG|0:atEF9ޢ]#Oz@05CAgqhd* 9LHZ};w}x=k lXA|%-eSC[ 1ц <ԋY:6cETĴ3hӞ?1"17xVsQ[iCp.DDGEЅ!EYA;Y4Q5^6Qtwj.@iF,2JBA cͣQgwW2t/b4C}uۋ(Vˈ `!k;V*|;jtE>A|>ʤ s>mЍ/zJ̱ 8eBZl ;8=d wK%vwv_JHFlL=.p.;š&8ņnC{H0dtc?>©?Ds_u U-KT,cwո^K}ٴOwNg2AbZʤ=7wa7R vgp7c0T-(?Pn ZkԞu@Zq겿Wqyغ׎R4Ua:\2hs4"D?IIi,j kZgYfdOfZp^(T  t[oB x 4/ X[aX?_YC*}Pycz6P.ػZzu3Kf@W0:[#),ᑃ VEJDDd0 :iz6@I} 'F0\^!pn_Tp-|O&Tt|EA|KU]9K 2䝏X JU\zWS2W>35 tPweژ5q{cśH} f?~0*ƒdkj ][ OH7U@7)h^ecGj-*[Cdn%y݂C,u%,iRlj%fnJ[T.p %A}l#O `-P:ZoCz^9B[YEH2`,-:tZH":Ȏ"ugBs# >B%* qv^ zqpC}h|DFˬ$S p{'ӃGIϵ7v˂>h O֍2+XyC%<%2h.F&ABpQފ +I3ĝ8RHX&]; ȳTyQbR0*m}q!i]v8R|A,n9q=L# -~\L_R-6DO] 5a$a$s pަ.]w9XliN["4!n 1q-\bDD?IL i0P=1\rC65>Ɵqp&Bo@o'Đ6Gq[)H?x3 AkN??81ozsb~IAɸMAڿ}nޓȹR JFBI&eD)P$^qoR8& ފWI0܂Nڳj,{=qnD@i-Enʊ"L0Z-BzL -9r綖4۽07HkYtjB-aDqDQA#yJ9~C<9u8zH6b2 ;>SBk6#%pI$-7֥m4]U-*hcdwjJaVDDG~a{J`*%^jJ'Z.8U!S$9)]7T7)MZ%]ٿފ߫6$'p"qznXaM/QLk5 OAsn,Zܹ#HMHk*Fh`.9D%Yɚieˌ=F!;M*uyʷ6ʞ$Helxaz@3+Fbf3Ё@/pu35e6z1"6w_l(liԢ=LPݒ˪vj@UZw!Ғc@LځDd| K8Njo 8&9q.*ћHFa2ܔfJS#pyxO`.|=TL6U4^Uj hIg"'8oIW56 JJYZ*OTjpB ܽUV;6D# YLn|Ft$6ד ]6-I#"b$M[W ˃`-j)frDXYON´ˆGFJu1.]<>D`}idX/=:-ؤ8Awύf0V*Td_y0`@j8?@z>ڭYg|8jwCg]L\-ʫJo$Okʐ5^6hAHAmpڬϊt1JyW,l(pU|l[`2 @ͧԕ!)ǖoC=<@v1NQC,;~A&1$Bz+@,Q͟F3t֒Q++X ,jThiUK|-cYO]㇫u͜~xBi+$n߷va’s *]FvNeizZՁ4(b,(߷,=9{'Zw2M&T XNt)5$)4& IE5ݒꗸw4xQY-) O;lj&^Y$-e'6+)+__ptZ'mԂ3QY'5k=@]›@QRvIeF{D m~lwt&o 6dNzov:ޯ0[`-+y3=Ӯqf ϱ9=R5W̞[CS!XQ "aȂyf8`r+IY1?@(y>!k5̜Z$ۿN&,j)iDz\=ko b$V]}RQ\ k˥C4ߜRj_PGi=1#3 Cā9BNgFzܘ*GE|5 RE]˖K c3tz]}cRy+?!A=] k'5g5nde `#すO;=ZfR-^W5(۲ -jBq2r+[T<p )&P;lQ&wT~#\&d|R|\kRe?6v&xҦL-9VJG`$7LuT1jjIGyYCTP+&U}M%Sj76c `kM\;$}Ge(![7YP䦈=>H(l4 Q .2B1{\S1g(gme2RPυ/^+[y3-+GV¿3@% /la>ϓ^k fʝF jn=7MqdqVjP-_Y5G_?_zfew%pH<]LNӑg|/%`R1,}Mg3y׀jr҃Yif,m\jyK*sxEasGf9jD!>-GfYKziV0>e` Ẁ-eEarwp t؛̤zeMh#VoLWK.΋=l+ӈۃM )6S.hU9 P!/P8P2?#)beQzpDԅS910vBܞD[_ۅnS !W q8ƀ ؜?&z&ԇ±6'KXxp%Oe+X+:N%Vz7~sb{J%cb kQ K5pۉac u׬c$s;ùE kx8x-#WuW|2'Ol K}.r whM:.b"Wj9|N4zҋ}6KmChhdM%Z@yN @=?f΅mK' C5:w+AuwyIۏu϶- tQKr!l ,ȻZ!5t1 >}qU'mj"3} ւXE< . 0s-r5}S8Ɏ%CZ)Q+&CR9Xء7V첀6 mw7v p›3;/QũT .7 }l<b~G>RӴ )PQ]KqOs&faF ;u("dtiܗIL-Ĕ=HRb5"÷SsVt".x\eWi`ȰO,ePSH O4l}Lۓ y$/]hݚ~bI"[7! 1n:DM 1+iW2Ϝf{_m(4ɔf|脹~m1hZ"=ٗWexXYPU݄7X QaYXP|):xd#7țy^}V#*1/F/ P咼"3/pgbiJIH>p~&e w[Hc~&~k1]cz1 Q ~{gQ.IX!U3J9e q7WvBZz`(e24-n0=oZ?Rw )㨟[S+e6zH6%O9`ml]P4~r/h/DjF=mBIH‚n .^x$oWx)H#Ĺ8T_&АR/]{t@~ڝom01L%%q1;%ndt 1qqty^#i,l.uɂv67޾ ?!n(%er%'ʠ.I9\u|amAֺ-d#~s^<6 0o(-lƹjve;x 0≠;]kaS]:Ȕ eVմH9fƓ\-[z@4mvāa :!Ûkl(!_FC2fv/ʻoS r .x?aSfR񞴊=4}SztJ~00 $;c ]w7߷|\bD}L=NH$C#㫗SsS -=GQ2}AP( Ak$jkJ 'I L镎T6twDNulEd6 0z:tsвӤHW}WR \O: loC^aEK|}7tݾkm4 OTU 2W<6"Bcc AL0'4aZ!|ۨ~wk?i* .p,iC((!]T,?N LeD&ܚo"V"xxm`g~Bxg ſڱ138&'Ȍ&LxO'0Lvrw´΍fa˄0ZK͊g D!!Bi4kҶƾ˽MhZq݈eY7z D`MT6_hHu[ n@iߧ0+(H2bXܤk̘_'-8&4POm62By[ПCjIܢ*] x%Ŵ=X ɚ13ׅЩ f2Кw:zSUbj.0f3r&fDpxSVf5jZ7G]5Kg #.wo z 1), 2>7 & d4\GŠ/=)hEž%=<LDD(fڔ_7pՉ^w1P*8O׷˖R 6j;Hkğjyt](=oz3As+K.dJ{F)\;Fy]_bb$4Zn(eޖNk*6˵Cv3˥ܒ0WC|#OP1-h* a1cȕ1+r場+0#b3 ^oRCbϖ/U=W]D ^QK),ERs_#R{o"ؔp-hHS* ̲2kQ,3Yjn`x{JŻ0ffo2˃@q h7\.3?@ w=G"И e9xNPI9SPUG+R8CQg2}>TQA(a>P x4xgnMw-dbqM+lQ?t/P~.D5u{Zy'Yu S F9Kl"^!I;"NLg+kBX1u-=*4~[đh*?|SL[5~SBZS|D /ua=;'4E/=BsXdX0"tDPq4@;i~%L1R7ϦJ5wxm;l& y/ؼmhwAXlk?XdِCR o%^wvĜ53HC_tA!jNUzH~4 g@se'/8Ppxsdȷ^:yT?D5QCaڷ9Jy>d# GWio7&4$ruKV>r'_`6naNbJv * @RRE& J|~`9ѩv!Vӿsݬ4{t=p-]*(e.Vi]; K נ*yEFlM8Z*]HU6-ԅpcÈ>c0X>htt'4=roRȊQP,FөSa"Xʲ+vYm_t@.uH5'bѧA}0"LO+zφ zC$/ ȩ1lB"0tɿqD',Ē7ݒ9^1~|n*Cco%' LXзRF7@cѳ\ V"d ǧR*3IVQ *!%Viyi|\8K=1ZfxsUodⰀmXiyb':E) '.ZkI@o eZy.\ !ZhNۚGN|CZONY|Q(͗h&;,jU#n ez!!PnJDβx#*yKyq\Qmk%;:Y<"#pŴe|߫hp"VKj&[F]'Q/ӪO/dyB&(¦ }P\ p3{\sPsg O\'9r~r=;d=3 "0Z@lcŗ8=馫6ogEO}c|ۢq!E!f|F7PۻW R07,3!^R$ Ңu{z+nO ?pݡLrDv* Y1íQypJ=kQ*/$P˂(-LmmTlT Th{a/!Qt+?!\SnҳZ'DE,|y \el(iD&R-97Y ǬM.)UH|48n%^/sa z]y撲nU?է3DUt7TvCD3#IL҃^ﱭ%XGY!6_thriٽzbe9|{aLAE}.nk̜qUbr˯]"}lhtbq/ҷ%ؑd۪{u WFäƴ cqڻ^+O[XgFb+=aNJɎ(1-R o$AWCqŸ*2_ mw@,K]$ aPw#6PY]?R=c->2+lfPӭ_6S1ܯm0)k]ϾyB6󤕫䞻aK\?2' ؜Rq\Հ:ٛzoU s83qd(SH(|u*d6NO[r$j|Ws@hVxR)҇E*D%_R@lL*AlS}8KB5!QIma':a 8qS $i.RL4R_d =uit?gPQrZ=BYlsS`2^2@޴ P֍?K>PW'ʔE ;"EQD:LVW I& C5I~0r!\5Em8Ҍ0=0nRfuAʓ1KJچ݅ȩ CQ5{vʼ!,t̽O4Dvf-4 OOxi~97v>Dk Gk׷ޣta\c0_:| +rыw{gHI+$_B%O=abox+xi&׆A5hYa_b#mxl,"$HEi5U4UlĉHFB^ˣ%`x!@LדUZľyY4 NfÓ5#_@Tj[Ar}'m&\y~* <4Gx$r"ϿS޵U(^r^l]Py*$zUpYv߄MYTt %&FwE/&K rW@,$uV:bU.A]*j@ dpw"NE "ݦogmҔͧNrS[(0dN45L,p^~Wc.DREӦ@ ']beٍ)z*h@媪:&SZ' \ !OSͣ0|eS qʔHTQ?ӄ+ LzHdQGR{j) ɭ[я8B/mGPrfءUN됀(&+;@|~[8_ŗ!*u:/cROfcҙh>?XA)}5i-Vj9.c*Mg@w6Z>/Z[ʨc+cօ09R\Jgp'FbY`h+vX0HY(bfY5P @ ֙>j8\^w}h;V{CAQɩ~|` cN{w rAkB>:5Mqm|Ӷ:3Ukdf3umXS xy|3q^dfѝe5^N_8u"! -1Cxb4(phA M톝eV9LOjC-~%lw-a0pV_̬"ѧyj·EB1eY:ykވ-8!S]j-v 5*f׼~m7u I& ד=^?jӥiAyMj%G1-`LM%X:G,low=[mZ;*ˏr=jL:_(T{Ɇ'+!gJ٨d³<]|q},x)<+oAlqDNvcWzEd]LY`FizojotdB' f]執b ?_W͙SvB;~k~ 2Tj@S 1bt WJ%]NpY-#AqFif ︗yތ`z`O=ܣbnL 3 E`w_xo&D~T!&x>;蜈cD!#13pwOfbD,#2}&2y2۽]cہ-ed;ʟHn#}5#sR?,.)X; {OFP~&_MH Je9uᬤ*UL=m@@\߷YU*?Q8t L2y҉j+GW͇Y75X DKߣh=QK& @G=eZkGR4pJEk`<`Pb/ff/x}.pP%d|3}RmDs =r˒o Nl@lꬖ(|5j)D2J I&/q' cٙY?;ƥWXYa<5 ; vl_mfФp-rY/UWXU("7>Od= V$j>j.})kaMN݊ Ow,d4kj2¤La[t{ô`kqK 3E^sh e͠4?|DKAoLt^0ոLBF,h5y?:R3 ԶbqDA*# v ɴl%pCkx ;+!:BkYZ8W=w&4b$} K@TXF,$ŚL*3(a\Ar1wV^ͧ"3[/ׂB2GIruKP͓]4Ѝ˺ |&&G ix O5"/a^i6t.d-dD!!\&/v#F>BivlQ[ji.Si{Ǝuר+'?kmc]hgp >X@ <ivv&Nt뷮:[T#[ea-CzȎHdT]RȔo&Ƃ<-xlnR=9GZ1fSҡbe^}m z\=XwTU~= ]e ^8VU&iX ˇai $Crx\1kl-@NDi\/hrݽ -r#|Ɣ7h[yP(H:ȱs?&F߾*)zIBM5DzC1PBu    _:(g4Y]ɇ!5!}TP(Zsv|l5`!̝BctwGt"vSwLe{O#2hk~;E:_0i!$1]-z^3m'Ў>OfX?3đ}#RFc}Y:ֺŸtgk} 5 h@cҩQ|Gcqy7$h ;J9L(Hjy5iU)Qԇؾ^u 0p K V$).h8= 8oDw6oi-B%tW|8e Ní E@*>+ cޓn6Nv8.w&ΪD{tße*ڙuv+U6:b\aYr?GMGfݝ/qAeg j.WH硫+J irjHc ȉ9w0R-r&hXuFckxv# J!%"K}g{Q"qXd*Fa赞D\r#Nf?g"[?aBb rdH(H('\XI?"j ~RBIoĩ趸%|q {gJXSӻ|V0D֟r;_")&ڞ,('>{P251o"cXC;M MU6cĀe4cl,kNJᾷFQ.%B݄6"ԩI30P YxV,]97fS@PxA^A?Ua}N/QG!F15 ==9E)#/p)33>&{migA`-{|8Eh-ɯRʞPk(;hLN<\a2ϱѺ$ Gv/-9o$ CJk /NL3b#xԥr枇Ѓ|Xa,3II:G &mAxzK1Z]c]ґ'=ħ{=ͥɓe&b+K ,YYx煈U'9{rg4|48Ycs 1Oޢk Rd#Q뇈ϫx~DXViTG WpG LN)d\ak<пėe(^ =UE,n#G9ɑqplj[_8+f;u_$Η!qFm#Gt#ʨ VYԡ65݋fFfZDj?]]r[ G|;wXZzD3 $oSvl` I 7K[0 E*n טyL./Ywc"ָhgX77D c2p"4~<2X_B `&$)+Ծ@・8)$G};Xd#{b&Y_u_K\]B^MB1Al0?u\1U:dZ*3¬J9U~ܕ4[NiY\.ťF=bÛŴ\r(˖%z]=- V7ve~;'bnqoDD~p/ϯńBʑM[̯)^ی"#!཮gX\ݡQ~3Ů!K9lJ _k[>@(DqK:)g.rQIBYun3~u*@^v6q}ౌ!oI!z-P6H\7IsZ81a'/cݹPj P:߅@SZr+ovcz\kC j*>XV&ވNud`y<1 Wzm1%g('/XKݽ ȍ(*P&-yl \۟./8T"t![AHzҝv*vBN zXvx Fnb?YpG]XK/&yxB{68GaM= Xl/1 <+ckzlķ8p./b7DFJmϨ )8^P/5b~cK9x8? g k0 41<5AIRau4* E"=&U=Յ'U.^ʝp17v{*Bp 2 @E hTX*Q"زl=?PQ C*DUWOTN:K3u! Β @@w5(ʵXE$SeUVB 7 %2+Z*<5RǢ37ZC*i݊|p!@KCӉYWo)-7)%̳aW"}â_oWSZԆÎ Jdz]X3͆ 铏\M.S2H&k_h%Za \Fkw.8%Ҝ t/LvsoaC4("!bh</`Ub@_'/uFNt2EFp#IAH7<մ_T\1νʈ0]~q q蓦>D8ʱ::ₛFd~*fM c"`w ,C2N2Y167fNA”ziU<]oGXyEAщe}Twg=֞u)-;&f~uŘzǔ?x4ܚ?y[ߎR0NhZ4@Dmkd+se)Pަ5droBXnkZc4qmyo{/tk)~:{6y7( t|lmLBq6d Pcߑ=G,#pb:⡂;x+^݂ Nbؠŀ0& RVm3P0sfDρ˳w`nRQݙC_󠌒?`iсb LrZ>?tc0ũS$J'D\-WVhiJ m$K׌`( BZ[pnlZ0qe;WKT_h?<u8&s4i@7P;8@<>'%.{g2kE_y%$7o\{, S\q=mH- h$>LR8*:+s6A8-yzpX wɺ0͡e"Ϻzjlr'LY %uB7‚KTTevjZlDv 8}†*{(Wj"Fb4O|&pґ)<IzQ~,EkY?a7{55#|˒&,[k%[qQI! ΘX_ހ,mcDcÎ_[ƫҢfq0(o:g;J_pLpBSiPfm]VuuZR»m_?`-xн\$BV.~׮\ֱi2*- dII\݄",)/Olqw}xqM $fg_l37}9Իz}d~ ,sy䦬__4[D%WAaBC?ZAvKJԝqtzmfol\tD2""$ؚ%K)PSe8{n@;ׯJ?x5)e)nyex1'Cqw Zko}1 4 !҂lb>,ZoP-d 2ōɒ)=d3{93_: `I,oai@WF4js3-b ޚr{gQWWjӸVtϕߣ qk6Jf{bmpr[SqP!\H:s{ݫlC❔"1X6 (AQ6", E fj*KO{PR}tf NceY:kIVZ9mE.Y1 P:lIE;0g?'FGE=x{Ʈt9zz:ڢΑ* RMAK[UMYŭE8~Xl-C͏"& ۢޑ;uqcTWh*>+iVWkV0axZAx:!fmST+1!a1ү[y-ULőh55){ EfNiUŊH{ֶ PlB>ؙ\>\t%Jovo'p/F0P2E,vU9o+murz"HQ o8x\1zVv0zWOD8yiT\Dnh.b;X+ʽ v<[1&ukW%B`28ñ-zIcoZ;:x2Xvh*7)h/v.QewܙB9W\޲tB >xg'j͔ik?0=IrPLyKP)s'Yak=I27-[7K /Np3({\0 "hΉ՝eWsJ &=V`ǡkG=db|8wą;w[9WL54 c%<$f0"GX#a.Nm8ifchE4r}QUq=EG{Sly T Y-0"b giy^jFqk_Zvh{dd~YrMʃE1%dJD}']kN>U9|f{ȲHDܮqd)I,X#(9͋NЇ>?9LvKs"uJ=յ̻!Hꨞ?P '7z)Q^ƥ)BlQ~P?˕u݅8єк%4@}oܹ-iht7='zgZ򢓾r0G='Ŕ2˵y#Xw;OA%S qktc&F$"*ugMgVtĖ^V +ɑBi{!pu U!Uխg p&MpU-͑YBH99M~q9ٽĆ]^*"NXT a"c.M+-p[$G#*VYqUxLW9vwBM'# m f4)1}6 APDֿx7?:v3hy>$8H:R=T0?/W\mN݈oy4)ɤwJ̈́11ټ1GbRc@V[(slC!E :&Sm_ò.^"(P5Smz.f%Wf@:O[/ޥ~iͩ؅y`㚔9 #CY8>.X#sDrQ C6/<&{-Xl|r5UEf˯Z)+x.C|^VH"WmMG0=Azǝ:GF=revfY~Dr ;S<霪4s 3,Р[ %? Œ%]q \qvPM+֌l zc0*feH+].l[LNuNJ)W$p:qǶfuW,6E)Ҵx K``m-dKJc`#dX$-7 .dA ˝i@DmLo5äW<$ڻ-m*c wR, ,Ǔ$` =ϩւI|bʼnGRV/@o]8zYgM._!n!VnI,%ob7a`T3ִrҗ)Vu?U׾CT/'z 5&|4 zNqSx~y,3FKz6'?WVs)-"?>i4$[@X&Hk9&*xb,R54S(.67kVةtTgbF^YVOšCn?s^nT y̥_n B(Mu^E:y=Y%9 J<rXoXA}n{"D'JRr;{NWX`k\?!"%A*GU~e˛s0^cHa10f&s=sb$WҝqW86FA0v ? ,yOOE3)R?˧C?m\.}@OwuK~+~EʙKZ123[IX{ΗjB nw\.~#eܯO%CcsSpYnj~hb92Sqa5P+i#?vĥ<)aBc^RQllOԞ9bBB7G x%dᇂIqd':=6l!\Pn*4qyu_\7٠>},g9Lgx1tG/ V ĹK #FF )c ng ua*W܍Q 9M] xx  vzGk;X9V)N^,8Kg?GшIrBU1j&`1vb!';[%ZY&Q֧^ -'&+sf,3ʺ.5l.¦vMXacn̢i.73u?m[Nuu1GLdze#-b݈B-'lg[gښt-nvWP#Ft Z!aw,GQ*?ouKJR]f(*XL S(d5Veb=1,R %.asqV(dLJqCk7jړ~6-?w>zɋ+暨O&i.L,g%L#/GTC I% }FUb5 Y|يG6H~~zhL]GfѢޜo 1f&.AB^R۫YY-^]?ޱ89[7_4t!Rϧ~ۊG'8o G!n w׸yߊRdwW"[ܤλ]VN޹*'&^Ԣy3u(U檕8Q4qXרk_g/w=ތsh~kXblN˽S="|h:AdjL|<Z@>jg1yRY, xં5L+Ĥ4/*&Jń :xEBTf⦡{pFucy,tpw2+>vidd y!xlfVm e&I:(F+s7(+lw_shSlU6g t cm=7pTWOuA)y\1EP di=q`Y'l{YyCB"50E|rQ G$f6ڪ;ws}O'6?Q}VXޕfUl\Cs2lj0@* 2j:؂:~m#I,Kw8=9ܩvB4+N5z9@5O7I-hg !2s+98vmGsW6Y> :rPˊ uXu\=pQ*Nۼ4MEe>X*WYִ6ڶ2"g-/ }(b/Qŵ3) F"#wI 0#r :(,-C}cCTl~ǖ|a&*Ats _ R0[,/ ;?N=La6%E|I{N-S[j%baZ:wVY 5<{ Ԍfz# )hՔ_x䮔nt7یţ⑈ʳDP}sٲ{򡣝N%8IĻЇUN;*zm QK ס1c`;5֍6hŕaG;n&Q O] /C}TaWfzAeF0EV[=u!Ɇr?w-rK>$w߹X^״%8;ݕ.`Z2,PjP6eR6`:=ܛ0{W<16iaCǫ=9- &\FI9,'_Sy,bb|1.Ed>OfIJ.H*eLaos{ѵ9n LVKb 4x,5n]耈}R{>v!ǜ*ykDJVu^ŨA+%"l֪LkՓ U`hN+UMY6DZ70Ϙ䠺:HHG's} *>6G)DAS+.u /diټ#h0$R(&6苮(*AEBwS$ZkRs{-gUˋjN+:՘=X ͇EeU{>5`&LtVVo(f E@2|w~b,Dxf8a(C鹳YOE$2quBUzt8i/\Pf ;2"9pCXf+]i"o3VRk`J +M >8hhlo\Гpx-PH.fV=BR.6]ad6X eJI\^XlHY|J8?L?MfX Vlq$=+?so Y =v"!|els{ rxc26#IfmIbW* upxE1]OJAcG8 ӌ:秊thJr!{.Fu}Xsa=o8P啓.x^$g!&*1IhHMk^KC_ T 庍LR0!N͢c$ /\u@ Qَ(CjQ43W-FV`]sRK[Q ;J m6U}-c/;c;ُzBF$*(ݖ:-, -1npX#1c6o!ظ"ٌ`I|$\m0C1a%*$~Ԥ8WcAf7~5>05 [U:㲜7$1qeG]_(1]ܠ~W|=_W;чO~ òv,D.*ąJsy&j2#MoA~7ri9nz>6˷.&^qHsXTa&6\k_'lSw4<V-W@] =}l=8Ѳa$}Zc2.8K86|=l#܏fN4$3i|z /@:I_xC|qOKM^>*; s| ㏿1e19ۭyݗP_KbdƸERimO$H{b_|{aRwz􋉇?δ\\a# 0> 'JH1ow1kܤ+8I𽬑pfK~sAGxvi  6kV7HA;aLWG 촵څ~=6Fy~xH Eh aA~Sv4@a ѣrKE(i}6Ū.31?m.uS(n.O#O"JϴLwF Q{iQ.:3-ײ $o sDHW(E_\3#Q^@ aa+2ArQpE@.yA1ZGmS)eV˂/Fή2}މ};DSֶ^*ڀqx4&5?[}3r61 %j#C#!dvwSt۟L㜴+kbTS9u(G"`Vϫ-P`bo SKeZBʚ %K ]1R87Ya.=[^,,h=`9^ KnII9~r^*M;фj"$ga"E0S٠Rn:PN㺢@BYO@(Ve"Y^S糴% , 2Xxj 9&t f-5##^eC. cvqCQmZ%&K `"ѿ  M؂ \%LP(ǘf/6ݧ2//XG¡.\S{RhԿ8\x:R65-82ɥkEzN]үå֝ǵhzM4[9{^!ы|4i)oY=ڗD aӜK@b`SL5_芋O?, ixGŌ/omq\n EktɒBM&5~=-{º9|lh#_|{H8"RgXG*/PjF\|9_--΄V?wZCjcmSY-Yms`8X>-]ـjۧ2fw w*&s BA耯*h!n DhO,/ ǻE59cx)hm7)V |J*npP6ĕ5}S\JP}K[e%mUjSёsJx8ӆ`Af0wmҳ,_y(GfzzIG(P\Ƕn{-߃#?, o$5ųDY aņq:Õ9mLT4+Q1^ Gaͤ%^-6$n+RGGh rvh x'y{E׈N"8pȥ/ EG=B9V`E8EQ[R1LvjXמ&*h `SCCe)Piu$JҒl2}C=gHG<%D3V7ԭvG99<'^rX'χkVkiM"!xW.@g.,^麗Ȫ+x 4AF0 &DpI݆OۀೀeHߏLf)w}S]#֍Fsg.^JJ@[tP<";vCJQ+)&CB1eAZ[MꙷJ)Jԟ-nLA(@gb/-J}jêvkaOjH$ȨW<^Go>d<@r:>aQCd )AD ?O=ݑ]!@[]6|k@tm7{ eOn[Э &bܑ˾]W:hJ:(ԭf󤧖3*ޤU+3\fay:C*"qG3Co-h]aU# 6N9P6З$xԱ`S\NxL)(V9Ë74.{ wi xwttl59,'2FBa8t%3YjQUd*P DS =RI怞Uϥ[ P'EB-(dy"Swg <7@~IH$\=1: LqUXTx̗!s_'. sTDJ4":('Wʹ}YRO Ӿ9{@*DRW $Ɔ/xfde1ZC?-ਸ਼g(cŎ4O5(n7g o_q,(zoKr^PITQpę;ak: -n`XޖI5ࢹ FӔO#p6V+JT(϶=W,{u?$&sb*LJe sMn/[A,) !㿐_p0.#P(OPWl|ݼ|ܖʻp^(Pˉ/6FQ| E0 M"R_uqU3QnBxG>-Ysi믔n}nik'd8" e-QgLcGqq%Zϓ˛SCKO<LLK$xgmY Jt;:aVDڵ6~>mEo 1$=utfb)hSD5N OaO̹hR]:!hJvi *Ag:|bM[D?f[U,[mV-qX_wF2'őpO!Je˱1d8d;S$B5@iml8˷z\'CQS*Xٌɩ[Yx|D 63݂3mUpmm\'FR.cTqb:PVQCͫԁN45ޥ ܑR 6lO&r>"<{d=(3nʸJy|~/w&T-pH%{I0.Dct2EDQy W MC+Uct;W}'Qv|X]< br*| 3n01 4Iu5ኤ*~kLᑍ O]^D4Do3Co8MtSk%ﶉZX"1Pi[30`]bItNJ3ƿKXa2iDteGonMI%#hEⶍoŤ̔Ŭ7sq.[m{+6zg {-%WK#l/N>ֲKAqP= J?@*7z ku`eW*䀶V&YӻRtG9䆣%F5)fjXq#Mk~Q^xWK~A92":t qOtXp;qLҳx@F'j$:c*eT\U02؊o@(,Nb,j?7?vq|9veameKlK:$qS}xiy7ϪPmL&LQVg[=o.wcgهx ԖJiFWxg&<𭚣dq2)zCj$"MG3,4,Icbvyj4E1w,CQph j3U sfږNNs(N%+Lߠ&IUk*ٍaBTV] yq|Pᆒi:b9 %H:-/"' YBM&nNTTOFR( _26TG){px "+N)MvW9^??__RqrM JO_ t &"\ _ }%0! ʞlXTVk%c^fBQZRs$^~Np[Ȭ`{bY`S{p "?C ,=`!Wdm._bJ*;ϔNRxLjkU٪=Bփ]7j$CjzE⾈;\xtT`,k{2]K]K /=O|Xa1vf<] ]W,nEMJڡFLyr~ nm0j *m\-[Hp$sو5 *+Im.v;%nBǨ)C5Q34jZh1׶rsɽVM-XZh@ s y}${N]Qm+ L9wwMq{PZcc9:rD}h-lZGeu,T&sgMk5xS5֟Qulr]rwH m 7/.j˺2gփYgv@Q۫=v ! U@#3,dHf<ɖ:8b8!ǞhVdw$S0=Jt3-s@`rLc:A;B:iڙ-޾CA3`pRaP/~b+@t ֋ky<B[X^3_$BMQVF8ùpkP?4ӎa'٧d!*lp@!evf]iѝ^/m͸8*n[)#SҹVnDmmFq%79˲N.6}!c$R5ov)נmE[A}qn'6_eR :*6?ֿV _(5khI-wH {MyI]`K S+ܯ:ۢ3;Bhg{ 4k|nf NĨ$5476z"~)PҲR46ŭ9Agl?4PVl[8/B9BFr*Ku<& 6bM#Gp@Pmr 2 XWxoBq\?g%UMLok~Jd[aSRSZ8{Ҟ X<&15 [E2F༚m_8w\{ *k NtNi$[N:& ˝ajiK9Z8[A56#uF&&vK{* )PFhh2D p=G 8'DmjwS)9 c S{/:Y0涡2j Ĕ3|s[5N7`TeE8Ն|kH 5^ͣSz"g]Rg|me!9?we4Mu:3pXߑ%>kN 7F޸#CWXΑ<䑱5"ۭnI23%"Uz6^90 Y RIT~8w+SXP 236BH<'.#57~-=GejH_}PԊE a_E)Dak5*SqAbxR6Ԋ{$2nNu=Y~͖" k;9N-M?XDoyǻx@.|7jAwxܛhK~{Θ}gͭIk3ˆzBWDPY9[.¢=1+)CH;PPy*RVUl^4U(F0@lKiHaӹ2a+ ƛ__Y:*dSz R֩E&xkYH5|G&Q4?\'!0*vBrdW@BYʅ.-(Z S'eA jO(sGB=[X1͚w 6Ժ"@ # |V]xMlC%A4X,vU5:V9zcb78gk|sm}6z&lc?cpVx]q  (}vH5ʢ%ƯZs ,jU-T;~@ZC zclGiU,%Xąb]n' Sx{)͗Fg\|zz r ^K\Dk8d7vno["1?)8c(xb6H89!D:Zp=ޕ؈e0C>.e$g=E/`ܑ@—?t.mp董4]ʜ/1.v+u@wIČe4#25X:|{<P#2>;ض—qsKFdlPsp 4 toxnS?=3@g6 }}y`@Y{:N\9`2eLgnefihQ6Ǩ6@4{s?0=%6gA AVE9(yݻ9yH3#Eد?a-=ZkGsJ+C)!݌=h LKKo5cأ WI{}P%ﰲ[?-]VHbLh2r+j_JF IxLA9g nx ZCZw7SdPENW(d%S &XCCfVδ"ߛ{6 @oC@.]JX6EI޸,ΰ@g FjZ]ƞz<*Ɏ֤%>K޿8G"e E/OɃo'gS^0DI# .idĸ.b$y"T}hce+=샄4Cx'oXŅӍg&G|6,b"sq CP ZZBA\Bai/su]Xp УlN_脷JqGa>pdAaPr&o-.}/-<F怅7bm;_3K uJʾd/cY 2mE2ZV j):)u )7V*Gj۩5Cg>E)G$ټ.eɈSk=N¨ @g^l3D~Mj'dWUa z@IuMa HX/5b<MR+o#kA3veB0 fl7G:MkSF,mԥEe\gD尙,%U } ׸FK {: 5t귪|qy +8}fx8SGJƤ@RȽ6_ =9g|b|S1h48ea?wkLMHrigW1Mxy.nu<Tᯆ^I2X~-x D8]6kR&%] //i-QYceޖOIW&7%4W/G\AZ*\]7LWWmMz {CfKzf*`,݌7}-6l.]ȓ4Q?ɢhg" TYGdgQӨ[050`J ?>;Gai>L00$䌞V֑sͥ9;i+U\DbhTN #`.+=W l| ovQ#1i ~xB"tޗm4`.,~Lk&FLb8C30?a T75!LZiyA7o(9D"n W>a^_d:JF4^aхΝ6#W2Om#bl0\ݞ/ CeH)Z%h-5Ja,QfU0m0Obp\ϣ?m^x_DX䍺[>%|<ݬ0BYUU[FMbC,t!gzo6o.rnl簮aʆtI dBEJI*ˆW bf ؍E{C0X)'$X[7ccycS%!ZWdͼW\> PfZt K!؈~IUw׿JԮ0óN#->cӛk S]Xo]7":\^f4_3JA67; $=gK~\mm9:\ E^Haqkd5"֧0?^OUUg"6wx(6x[V4ڻCac'ǍN21#3_4_ H u=u2僿%u"!:~~FZ𦆭k/s4C"Mr(VQ ^$$+ ;߄Uu.0yɯa/$N.<|DiXB|0&՗x2soҔAʼԅdaY5B60qS2}bY'dP8t*4nM/5ڕ#(<=H=Oq"a}A_ 5鄞-p]!y Kg D-)6w;U7ra~.uԞ#Ư`4a_w>tSħQ<*d=ߧ P`qF/[a/Oi$ x7juO8zFE!;0&_/@hkcGY} {rN=h)}˃Ѯ>~֬ $ @NuSg_ N.}F)P̚*==ћwIRx\@ʻTykt-W3Y دC*#v_鐔_@׊t|F):JZ"y.trh3IxB흌=}Ӻ1~2R[KE7ߤ2_7ޏI KCDe!Q߄Lw{R$TJ/(SftK%4cu ]xț"RQ/Y 6}qIiւǚV^9(V8^O@Gp l:$휛ۨںh^oB>t^t+z'3K0<¿?nC#{[(<9XyRŗ&ej* TH.Lޛ5Vر# $}thi_ћ`%H>5VZ,z\ϢP\w(y5ˉ]/LJՕ]pLJe^$9=J{X^2gpU"t!VNKxc-[ȎiϾ`|#X<Ԓlas7/0FEͷew+S:;ǹD=Ew_2!;B$o_;UV89Ta| M;% =ʾ!Ov#mQjm*w"!H5" r-w82IPKb& y+jRN% Ig^gT aFA7/8y QE,-j?1R.w* , d*1f('Y^t2$ _Ѕ"kVG6QxПh_R̴ Sz9+ORvU`\TNDz8,8CKkmOlpa+zE!s5ؤvwf/+zF ӟ^Sq(MS@F 4eg]$( SN>kq/l2wm_zPf((QʌEMP+F\h Am<$j_gYH3JJy TdTNЭj? oX.iqP⤮~~]SŔD婤. nఋyNjP\/,% ȅ3nȐCerAz(EE$%QM{oh X=_;2ҭyDـpY?]]>1\ׁ\.r(^@!eNUPn:ȿ}?|aZc:ӡUoַq49F{+~| VB}5^kQZNTahJ݅\ %Ԇ]Q~SflGv-SrsuUOYk"Y\X* W,}.c(ސq umE?)}1BER!5w@$&>-ǜ aۖ3Ek-)>/ &*8xi-03QWN5RBOf&G KOaC- b\8^ w|7Y~-VU&&DP*:kwl#L \9HRz=5/3Z|br n Y9%#ō/9Ri=bb-P)23v]%TovNh㑌M>.w}yK Y1u\:㕪&_mqӆ"%a'aĎjQ6x_g S0a'`bR˜*5?Kl9,u͇\V#8[;-/jNY&IOaΧ-ys4 @*o`,*Ve A<}s q6H@ݲP ?jQ9M&@A-S75y!WY&ɠm8=-i _F0P\MjivdDʩ 9V8[-'Q9Ia9Ik陯ݙ-B$fk'!Pm'.>d؂T kYvZ&ŏ_RJZ-ػ=-|bx7$I)E' YANkԂԖ &4%AdO j ZQ5ߵ:0FĭiV6BcK5cU Ӝ 7msb\P ၪTdx߾>riTY؎Cx̚oXyT xIR >C (,dNOQN٬D uW_\~c`L`-009z2{^湜5ʕIOm G:u\f5ftUj!6\Y(xηǫ?E&nk1V_z*1ŭ.,5 0k`8r" T/aZ%|7&&v#;VNf\ԄP3 Z(d%*bAvH7, )O/_*'CC)x)H"~h:pDr`$9X)g+"S$_(6 xC|0eJ)šܾI%p }aMZ/L8GSd tLTGONj9faJӟ(L ®$UM!U j!IQt爳#HpP ~LyD"@{ҫY@*S?r!Tz `FPhǿÐo`էM?u 9{J$(D!jPg}rT}$b ;,b W& %&Wm].RiZaR #Zk]Ҍ^ |Z֕+9u׸~d(7iE'4[Zw){vH}Z=]uWwe=&+mIx dňL1iup̫xғfKmh zZqav `3~ec5K'FVܿp{%XxPlXソ=MYNo#:VhM ^ VX+ aX]oIr"|c:}n0~P;}ft[rc]^{#5(p= tq3yәGdىV O~?lTG?Џפ;BHa 6g &GJCu;(6UBMhpY %̛깮 kiFhM>ll"oe|]:H"pR)Yrx5X C1ĩzX8?9|f{d )8˱JiM_Wrɡ[XB :l_lӽ[/0 %ʋ}@4(*{ފdq Pԏb- Z9ǷA8<.griF݌e|:XB/iY.jزҤg !5814TX[Udt\Hq&?;g.9 | ?4ͻmY^HZt0( 3qⰳ*k⺷>QlXOl7ٹ^h/P4F3`8rP`]r_#$Q( \ T36#l 6=!jJc;gޘJߣI5 [1@k_/v{uc׋ @WIk()MAm^#__->hH*yހr+)_\='@-$ef͒gHNY3^e"$Ro*ӜWhڂrަ|@Eh"*׶K0,IPkfu?p)\5-vK"9_B9թ4ѥ 4ɞ= *Q7ˊKx'؟:vMNEZ[+RʂŖ.퐑CmZut+0:ptuB 8w/j 9o#4'>yZ,@4 >rSX$5r0(U>PZd4a*62;mWҡ*~axhF;6<N"lv@o9 Ac T" s'~6On]ګ"0`a1GbR^Բ`Ezq^aіkr.=~=rN H6w$~Iħc bE|c0~馱"r0iI 7wא.3L.H '_Ǒ.AKrFTm=UC< T;_f|~HTޯG;xeSx)?~waG;̸RSjO2whd VgK,^*_²c|ؤ HPڕ:VLV( rŅwzX {S=Ps:]rzLv\D_r v G=H^+vף=H՘!-GɫsL *'w_B+wĺ98W? e} oRm5ku|Jr*9lnסOpnZLQ"oBa(Y|>kU2a]9ȫhA>ɳֆ~CM3ѢÐpke#|Xaě} 5A0MNoi(/Ѐ(  \9IKە3 x IV<i'I! K"@:vľ&!gE{3嶙C ܸ.?#}WKG9Q?UCUsVkdSgEƓ+Lf;xC翌k㹳$|K݆6\"DW;wUg>?w\hߟ6o~OX!X"fJXo/guC [9Р%E"Xuȳ]ef> #apGʹ8IsN*8$JDktskgykLo1VC.ITP|<rX5_5ǸR ~^^[>4n1PZ`V` ?9Ԙ)Fnavx%1JԑpOhaH@xAEHOyK@S 1X"cMv1Ϥɣ%Ͽ ǧTANL5co3E.V+s@>rK T%{hkdJ$m3̖fF0)Fa5&]H H $; }lIѻg |Fۙ|+мTMaN*!|`|F- ifaE0>M0H!+ƞ _+,\ =n#+*f_\òDܚE=|nHSB>ۈV5Co,j>n(AHתtĦS0 sKNįT=S>:]0)\,~D"b$ Uu~y;vp\i!T4#ҩa(*: ?:@İ!lj֬<^>^Kj\銑W -}ï8^-#ڜ%uIGtXwhpbӅmؚhVXt +!xtcCc /eТAp3d'2aهG@pEu?$0k펴t"CD SwiѬD:SqYvg+3s%))chV6oobZ*KCLMֺ`6Ѯ~Ժh@B0LjqmD@쳫lu𭵞U| [5Ȩ#+i-_9tuuE՟٦SZn/' mè@ ,{dz"̓יvcmeqѰIh&ev(ֹ1oy5@@7oS뢖徭ᨊB', >_^N/7k⻩5zgaZ^˛/*]J͵nOSݹM%fMr\t,ޑ Bw l&OGDD $`{KƵZLoE֍/G0A}#:3*ALi'.&Io Ces /()#+ ]܋Xl}' Ϝؐ* n[ &z~% h<`ʃ :w,#wX8ӫy /v@7ErpPԱ9F+k|RO`qR(W|XX]Da f{ncسVv SI`6O5@x2;-w~ϱ;UgLl`)`o'(oJHa52oIit;^j00 :N_B{YJL7e=i,4 6֕L>!EjP3(Qv{YkD#~`%/vOnOps2+1`E. ].{I}Sе@舴]Tǭc*fϭ=Mx*pI0UDj}#/aOK0J ycg?oa:jV@}t.ܾt ֒iS%SYGؙ%!⶚ەxDpڤ `ONd1RZзw*͹&)L0H0V_qHLΑ#f!OXH? Ǐ?lf=Q#.Le7rjG[h2CN5>JMXЉ|o9-4Oӣ':12=8~ 3p I}DOsr9W"9Qצ Wmu-7Q=vbˆ f`i1@x>M3-'$У${'oG+0v|6{IP" ' 3!~RJiNU#65'NGe\׍ȹ"V>ԁ-MxFn_ˎԦăZf'.j[n"|EʶIJs/5?u PfE}։SH`炠>Ix-=&sH7~ bXu1+,KCvLEg.Iպ$¤SvJ\1U8r4 ^mG "8% @-5}1ߩ $[d1^]k" 7 +G>X_ǃ<ےΣupWCpI_J8ĥ8++OFj]x 7s"4Ta&e E?/Vl,j_>@jJRR$Oy<6ăhaN-2ͳa /9t~>׽S_H(oEzJRs-NN|iA!:.|h1̽n>Lx$>9i97 9wދp7Н?z1i%b RW?ﳻ(fe=fG]4+*bsp;p=$,^q әBaɩ63(2`yK/h2s6*jrLA$H @-b F-vr Dxo4+q|#۩E5@e#^ܱ]~%Rt?>JjuE|Zϴjcy'3UA[olwF ԟm>#46E e탉0<_?t>eL  7̹]R[6fp˫hjv[%gԉ u9D>3ԴV`L!ޥ)Kq9 XyظB*48s; Wjjku1]$+`W9xe k@X?~"G%{ 3@(f_pga4 B=R2rGל{n7Sy"%<. oLu{5ik(.NjƬrzc jE¶.PP刿po,}t3Ql嶛!Eضq_}fb Dl!Ѫ߬*Q4V_g$f![O[d6TkB?rdDY5*[d 24TKZ[:s_|k PԐ`SӜѬ?Щ~ٽpKG!ʼnDթ)PqLt( ^+# D0sJ9l*.&^ Z[0dFdI\m].qʓ;T $SVO3׆9!4%Ֆ ͨ|O\ef;]HW{F5]E+BczCB:~c)SYOj9@GvBirzB8[G$L{GD0]y@.3\ }3>MNJ@^pʷ"CZr~9'rJŃ[t'.BUe'C;LϨ}T%ݕ˰@ĬGM^Si53뿏dI͟9D` QE5iUgxfF3V.XZzM-!f}fғ[YcwzC=/vFGnWk JrZXLyGc<<1,2#ӻFҠ~՝I}oNL{)r DUZpvŀoK $o)S&]=xbrǀE%MJ8vMVC"swFG+sJ%4]H#ǯw/ܽS~4ФWURn9kuC#[7Gx3_3l3a`k|>`TahlֻA78Z~a6,twZOe^eckOC[lVJ0(1% kjrNCd*HTOsz}g!^b$8?gOFuOfMXX0KX\ 0 %~7`$"䴷v)m]6Ox0k1GIhAJt‰Q{araN'>&J葠TvAE<̺ɀ3F W|3o9ZsCU>_0CNϛjX&QuRTwh?t&Zab}/ Ycy R/cA|& \ʧ 첤0;V?2J!x&x$a醬d4=ʴe ]2\~;[91j4)ۻxϽUƂy>)L*զy `j%o[h%/B1 ݷY)xK9*^&P-(HT=) 2&}@j c3j ~01ˬm}_`Z3w xeweBs}t vH3ܱq2#1B.dOwl.%b |`o}.$t{^a'3[jh`o>+dܞk{`TDabS{Fnmdp$ԑ+ ZjoUNuԳ5~zK`nV/bؘ+&>1˓Y0H .;*&E~7 oExF>.BKr\d=nI> @ax 7DT%S. 1'*u_ЄWŗrO$W`MGip ÜbNPy6i h*Q E3#?̒h%b$|1M)ކN2} v1skiNU$.gr~DqR0|J@++NwLrt TxB y2 nv7VೢP]b8H󆔦Ϝʞ$͊k}-Ls0ᩄԙbgU~Pf&w# 0ggNI1wYAM>"03/2T-?Canga7 -EˆE|''!͎tejOOv˳xH_jo.OÊk[]pk{Ԝ tYNm .6YQ b;4 K֌/!۷gOH={Dڍ Q>aQbss\vJ& )m]s:.mb>69/͜4ys~8e%k2Ͳd1/Jm6V:0d2m8Ws馻ؽu^'*eֳ$kp+! vsaS9'Q\VGQfL[/jLgA#w_xfB/i6B-xf-c"H?Umϲe9{ѓ\su;iTJ/2f/ti0:7SjfO;DM?L~vHwU[qUȸKǀN'SCKwsNͿ7ovh$D@<@XR&|*qي]U paN͸!r\[ۘ>vD(-+7`&"aJDo3S xp9G 朸譖5۪[* zee^lEyPJyDQNj7v w}I驡SiUV)w0͉;-(OʣA8ݳTZ~/ظrYj(;4*^`A0k d!P{ij iW%#z7 =M^1fF.r ;N%N0P E.L!A}nB*Ȝ ~UIiD?9/n;kJI#FYY3HIS1Vu \eJy*j߈CbKA\c"󜁐E/WHc6 $g"|)Q]ŝLs>S#Ce)r\B)zFL x!`F䦭7 n0b`N: ؞Oz u`nDJx.@q\=% !ݷ$vюQ@R;TSꖎTQޖe2Ƈz4b -P _|of]gɁHY7%} ,+[~RXj 8W}U֬tE9\X[hOIwEhrARԓ`+}l0JY)i EQw\{HDVMg d~F'L%V,sf4H~5:ůKF2וT˝q.)~pѧ3:Ăv@CcRE.1-S}R|[ d`͢hb8=;@Gִ.zÇ-_r~ď}\_>$Tu˼ZG[~M)8xD54l x":{@9 Oڈ4R;Dy=\w|p:+B:M ?_^$@O(nKFL2<]麁0HW2՝t~haA܆^ͭW藍gݖTp*՗sv$A0}NT{$UYCAAe3I&:ۃWm:x2Ŕޕ^R݃f~2VgNvL.UU-ؚ#.1EW|{ԓG7r?xe+DLf{qV4ΤbxUr y&tس.~qEGNzwՙEuE2UChZẉq3^V\ !P(&t@L*gZo6U`Q2,Hk?mjEU{?OE=ee)焛*BkJW&7_T ڥFXy Z'Yb%v$hIWGb7cA>y(>skjL=ٛlA1ҷkjȍqt2PD,S0v.X޳F\`&hȀ%rQ(H]ᆥ)~+|v-&aF'wSc|^2^&/C+"&L80}?x.k:iq5 b6= \nq+>mGT7 ıypS>v2 %uXJg ]QMbPx?FIղvf(Ir^xY,an7$` n,N^TOćإ8SK>q'A{/ NK<I_3v|LKoT땎Gsypc4ƙQeG$ R7y]Rli9ZDOw,jcQ6?D6jllo 004` CE*JI(=e _[Hcd?V^j[?#*׆'|q |eOxǚGWD**Ta1Ч`q4ahju-$C͢N¨rft{8)w{mtɪ>/ES2-d+ԩ ;ehy*bšU-XGc=B)-m]szJj(d+ ݀u6lzrmeu?RZuaU6a^*fx.wըoYl 9M|!Gg[ؾ0Hڒ{4TJKF5 Pl.R*̓{HC|)tl%Lףك٥i}!=8 MdQ8mub97]\\bkB:h<<=R&6]b}MNJz}r#7ͤl82xk`2'{`!yLWϬ@T~Gvc-,7E܏<3V&]9# -=? dCf4d -׫˩|q&I]uWy}E{W 9:DokGFr^GR {[)YRf¹U RnfRB]qMޱōH*42ab)U[d$s0 vQDRef$= 0[45\ljQ1aȇtţ "wa|ld;bx0ѕ"P5`6=Ko_&ɻO}*jˊB5cnF.K[$Tхtj}.0'jS0HEn@J5w:D֫x{~B4:0 n.Ո h r}D:rH5A`|<_PwcUp F D`WN1sOr\.#l t6pTrvI )ED@W]h~}};īol<ŗ99|^l[!z # ތ. aoye5 0qUb̀uxBBb{b"Uy^ho)YώAWV;rwGk4q܀JzT Y_wQ}*I\9O'(-˲xdO M"^Z|4+P4=vQϓTD7aW s2I+ VdboS5~v䶡&jH'A $H:kgТ'1I:ɀFV\;Z4n[*״uN(kêT0tbӣm}!?96.0j61x[_'!1blmzZqaIvx.-&#+t#Kz|.H  29\F`ӵV=4ON>УE*փ=T] |) b.ʻ@h<#Tt_meXzJsۺS^־r8{@FmW.,ˤhYxa<ïdQ͏ 8>k7m{bѰ[5˾ zfXa̕c1wH?SX䪢=X; nuQj0*ysNA5b_z)6ه4uG }+.O=KbaeN6<)v'ro |X %0sj0ca1z`S&|H;_ 7ܳwރ,dVCBF<s77Xtm7Lge}fj#97{2ufQC>0t,K;GJFŢJ$o㈗S-_xOBā(t U*o .A=`1\ֻPN?*n tE% Z:%-bU ۣ>&e|TQ+FF@h$bFטgöOIHNL_ GPf؄ܭvu#;=R{]mDc T^0Qeɕ~ajjE0W*쎉h0!N[;`D}i´X-|Ʀ>C|z 60m-595;C(ZJq\;Aϰ.e,7 ܨ"3^Y&b맿y08t @=}h =K7E/ A7>-&sWV>_>t1_(Pv| 5i ]z6Fg%/"E9SlO-/2֦e@7<=&y\~rkLnznO%tՆa8SJ  ے !;j'`C=Pv p{*Y?#^ׇkG.(jfomC8##iRk 5إH n5~8S̸-'6]~6xӎHpp'_ 27ڔ[ű4-1QVdp2~E{BUEt^;9|RNڤLP=h@Cc<4vQ-kG1AͭpGX%Byhqhe"d龄g&ƅ-.mٱ\u08DP#N}{\"[vNHa:Md`;݀ &DL*\,ZXAQzO e_ͱ3ı 2*boq-QӼ;% %(! 7,|QlĵdNUc+gXhɱ5ez$Ec#'X>0Ut9 qqHOJV@U3Sb('DOk.L}WFZ)Asg -KuL!-QR__%CH Y Kq3,3mv|I&F /8;h%ji޾3AE(Xz]a~xh0x19L ,K'o %Ta[Gcؔoge>6`qMEiQѕ#Y*n?EH|$nA6 u9S|2jmkj9"tb dVӓ:G:DvO$XABcOGN$tcȂ0JhTO2'#SpEDR -筬K'/lNQ6vHFSjyE |Af5S ;U_J2u.m[_Ԛ:V)$  s˲!݅j4]M3ovӘG @BAV9vy.@g4a|H/CSz+Z s TN-9-yCXu?qwuwAZtfj>G)%kaKByHґxl]t2+I[Pq_lyp'&Ғzr`4eif9)G6Q E#XКg9 {:Ǝfn}Pƅgkb(6̉wvx_ͩw^u?poPI'b] rEgj{+ĴBw\";*4o2wͦH CLaSapv4{~֓_3kJ4+Hm#K^;ѳ1iޠR3CY*I4j{R"@p<K@FpM%"69]k3#>6n".ⵦ*eYoIUgWjI¢:Es^;9C DD/?m%%kBTV^t/$n \IQM v[+7OJVj1$'n fD2W/sϘ>N+O&cu+ =e~Qs 1uwyʤsta<0;" zN&Ģ(5SUC.E2-E)ar*.*_Gon@0O-5R5{ڪMC2+qUʤ/e>RnGU9ڥVf.vdέqm:Bj3gLAl{AR[ qH;ƈXMVj`cZr@(ʎAcCX`x,U|'M@|LCz#Io;@o"a/S68*~ =U0 1&.=, VU@UZ$*OVv V2gJ )%=}js'S##eJ-ݳaAqvqU F\)e.>{xӬH#܂gUL`\jJ+mN2@v\qӱsZEtd3NUtQ|B-\,De崳 !hT粟{ D?V L߯ncT_Ғт=^,Ck]g𖰯4q O7R[kRn>wq.r9RWZ_4C]RD89Q1e^uf9)ђA;vBrA("ֈDq"\΄Qۿ)R|Bo vZȨU`gkv(sT\ٹ\3 r40|n1YXNqZͳ Y; J8_5MU{/zq1[W?>(S*7k6寞x K nqF$bTY8 |ypE  A+ $bRa@aq P†v36mzX 9ҝc!!T ؆Hē|/k3ˢAp}0ʯB3~`9璑T}3lB_H] $vkm wj4gǀ!@wh] n/weS߂2$n0.VdD.[2>+{'v-D{h'+a.H e/ܙ ]=RVP({/&RZC6x }:C.JY%~&iđjSOoCԮkIF%`D?/ݐ[EΤLj<^DhBC`7̟WXOC~F+ʅggZ=%,9߇a1CNDRO4QFGJ~aFZƍ|4!4~ʬ%KԠ'!C%aSiUթ|vq1pkʖRv~0)X 7Fi˜snaRO"ka[.*u@j*XD:5 `eΤĚɺgΖYvop6ĞM1ү˃ s$[=u?/"h_"u\{ ,fT甸ulX>D.*S#ܧaߥh`WPjzmܘI!M DRFx2>#NMY&E)bisM 6[)w}:Zu~vCH5S4;bo+ qR_ Wʸ$1k6T҄AR7bɗS+ F~ {7 ;WĠ5:#$B^ȁ,DvNͲMᯆŪ(ݤ`z!o;c~v7$g}ߣ5Y(ݓ'uF1ZpݭZ:硝*$Ŷ-n>̱U>72[N߬A,b}4%(v]x* u"pkW>Ŝv'fZ"./b ,n#-HH\(R/Jo]GR J{Y]w_b9j6'ըw;Sto0ǝ-5#7Ї!"QNpX  RM7sm#N?6]>SҒNWo1SJӤkS4RF7&H0N9%&}VmGnRUN7x͂UɷDcb㇉*t"KcR-T۱P"ACsxU$C9M$SqpO 9P[_oL0!]ЃUE Vv=)݆H?񌃿&IA6-dAwUc;sg"ZD"ovs,D,Gshl`.2(uTL* Yi s_Z9]`n;(X'Xzeς@HfrB:H*ih֓?l+|f1L颬W[<`2xݣMQ`mܯ(_$`BTzĔΝSK˥n nYd;8난/7=3sXO){UG0L; zQEU8)bec(n~B0h$"V/ [yϢ@تy$znz:_96TG DŰbY)s;ŰO!w5[.Ȫ,?Vw+\X _qͫ a w /P~Õdӹjnm9`0,G0J,Pa~@ LW@^g ,pFjeﵵVTP},gd{/ _$f9Zӵ#yvJhs~Cg7 Z2K  :>362 W' ֖@>wj-e0\üVMJ*>ˠ:v0zxDoG4KigfPS-U/wPI(Lɤُenk<'/ .Er-I8ņ,o)%\Čsޡx%tHZDzO$סZ?C6Y b;=l\D~ NIE=O+GZa?:¸܊ׂv(Ϯ<>FuK̪z5 Wyj}lkLji{eGdUc! 4a`{>CW9~Ga킹+ emلlLWM(|$(m^0Kށ tZzq&9)8Lf8H cBa@?sk@N\b4ҢFwBrk/?jye4©vҎ\Lgɉ {aH*I8^貑3+_8.P{Zݾ&RCT BVLQ/ĕbDY#\Mga{-C A@'NUO¥H@XϺڣ%n M,hS {.CQݥF[͔=|)}hg;5/Y\B"$ڵD+6(o8B^ckMO 1 o`__T1Νbgq1Gؚ;.Z4]}hd"^꿆DZZant٫p b~;p hyc-E7B/(ȾSYLl!z0Dz!aL41C[-ArgL/-zMlad9HWdHlO &)}yP>ES nvyCom/K@>( WY} #WGYe#qI%3VsV0i/Q5xǭ =~. %ƎD&p9Pvʀ]_$Wi^0yu>kwT9ePA7K _h 6%@+zm 2DC/!зAݡy ;\ šT$e/C+D!ﮆխ~Ș4Tݧ7l1tD<4I~ P@݃\'CTjA|o^Vf~_e띧x,\u>:~.oҚ 1X19y5h]2 <o#87ܘjf9;!jAH X_Fcpb͹0'iT~vU#f4ǀթJi»Zp>}zz6ڔ PߝhK-ʘ03뱠-8B̈2!O (P傢8?&cL`R,)sB\# \;,Rq hcҧ/Uoupuޝy:P6rĤCgsIn6b.Z;#Do\m w$䪸nm_ὗ{ aE1lw`Spvu6w=]-&f[$*AcԤ:,Q޶0?! G*b$pbڠsW&IEe7ę1'2v5;ȜG]&!^%1W1=Q"jzHMG| ӗ؜:F;6An~_<~T:h'@eǚS ^Wyɰfv̙H/-- 4b4|9N +:,I*H[g:ϔR R.}U8+WA1` Ӎlnzí" k0<J9F:;G(&,%hKeq1a ֱr|XF[W28.2 R6&9,]NyGIW3Tk򛻡"o-aq$I#0/[ḧ& t H5.lX/v^M?WGnk5,tPjۍwAh3ѿ؁À{n, g-| Kxל*xn>\Yb zd4BM<̑([C9&G$`'ljzj,I9SbEqm;QO8;Xq u8#a.=RK;pn7ɖPDNbrO tW/h-͞T!ɚq 6$=x|^htٮ,%GV"r9Znn^OV Ϡt嬬|_4VӤxV&Rބ7pZQZ!mo\{}T^ 5+À:ʴb]Ye"سS4K@Zd-&9>{?=K $y!9 z['\Drl }mЀS1mALJtaB\_jTvvwɬ~ eke7G\*P7pr~>OABzBxS:l6r{7;CXNNGaht[S?Nt7ܞ.|G=.aտΒ=;XB̤ FNrL;$)> \\QY)2w"pF6f|1G@[{~b^7ltAsW(By֓ FxjǧxGpW^z ҋք$RW:u { zB"Kn iWU{/"KL։c)NcUO4{8A)^`\/"Vyt*E9vCi TW)*I*+\njVtA0 z"(B

    _IZ۽ ^XI :VB:s>;rwuYDqXkwy5}f,ƣxΑ4HźD,/F75* Pc8ܧk !Y7m UHqϡ ""sJQgHp3߄rH<ϛM& +R* Ep-&}oboZ +8Va T;/Xt-e__"/SbבWol.q/7YjioݡâH{DjMswܵشW$3qW>ŅIޙ $-hnb ^ t#aZK5:Lp&zD P(첣wAc_kBT=5$DWd5whz~0 *+&qJ{wj?s3o,]o =@Ao~j= @ӶE25pv"ӎsl F?O+gA|i$ё& *=jj9o4+dGm. fJۃ|C:93. s[&rpDX1FuVi5;fB74B, OUaL0JP%&klǢ#oC ̛ollV'G-8͛$ũG'gGdz~z{TBkO[O2o/0sb\논uCj3w %.zϕqwœdf"zata4Ǫ$fr䊁Q:W>.ge&^Ġ^ &@P6k| 2]\2ߙ#w2S1۹3,O{–_1wc&DowPWu'j CEZ THS)|EHS]rQۮ=)zR 6Ze+ċÛ]׮NÄ@Cv9Gok!JUb(K;fsIj>f?:SZ; {8u #VǿB:;!skn!v(Dq`d "hz1UsP@Am lel׏=sn*٬˭iH_[,bmK^Aks !&2>c}ݓꪻ/<yֻbtO֊8PЕttCsc;<IYl*]}xh3!|G~e0-eGr79r(r? *9d<\.N;0%L }jiF%cum˲ qKbk? Dq0؄E'(0!P܌wgVvvxVZH7AOs?yYE6^TL0~y@E_G؀^a4D ,iٙ>A &ctǛ[SF/fSD2j Wم7mx=zP>c3slz(\;#$q9*ⴊj+Ekk6KUCE @TXF LoHCl37IrؽdL Lj=3=r|Ts9Ih"]+^[f&~y6=nKBK r<xC2 '?y:edDAPdXCM?;m}(Ӯhn`1(Vi _:C >oAjYDV@s>ՏA$yG=*|6/^&5|OJO AS#e0 UJٍܰ9q)eDh=aڸV,r ,!ñG|ƿi}:GCA.x%9`MeIZE[\OO:*od{(ch9D0{ޤ|hM-acjT[EG$Z+A,oI 3km95.ƦT;K=`ds*2z+H.S,A:b B7Ĵ to{dvzl惊ԩ6$H jd9@CQu;ƲKu0D5*N酃'VZև^?h sˆ0Vb2V)6 b]W|Ҍ886$e -w8gNל5şߖ%`.CsI|TO;}PNM-NW\rv셌I2KMh0(bߋ;@ mdCǹ#~[1*OO ^oKAIJ*Qp TwPf .c0@p.Pui/tO&{i)E{Ѹ@ %|l .R;.=3[`+m:^h'N Ԓ@q6poQ q=vQRʅқߋOJdfN=Ag^R]9[O3:-&!rN̲1X.k.^JAy )+7W氣gKyx.1Ih(뮬˥3P~]'{h竈B6,=f}`ʫ,VX{rԥfjOɷ Z\NAni&7\ U),,1,jv]۰\~&h<A-U@>5'qmZ?VrLSϔmͰ༓Aee18jUZr!܈ :a`8B)~6ǧ'n̝x|z1駎֪'%Q̓˭j'fԀْXjzߚ}GR#]p!}@ro%(vOdV&4Ս% :[:i*SW/SJnl'D-3N@ yS=*l z!-Q*3^QޮI/>r r$:K0o;pQA _' zK 8K֙0ߟ,@$Ζk0|6a=qe2$^Bঙ% {hB`x]ؚ\,Mk-uy"e8c^_ ɱ>Ȳg^+:v#YvGj(] IN_lniة!I,Oo!<.Xvkځ ru,NkY֔~SvA@Ew1(hitldM'X&j,`> TŎM8+u\|e5޻L?WG0|<E:101eH=&-+QhtN)s)$wN2NqGŬhߪg+ƪ(8.R K*e[kD#;Ӛ*:r2oj'ι ~G+W<{wt R^bG}䐺_;_^80~D̙[9`ZAi~r{h$kͨI6jjd)c"ܰj>Ch&brpt_7$IzLD8j$t1QVbCe7jzcpPrO,gn<ok {? .S8% t&5:ll:kA˞o?.%IeנNh }hvX^fWbzYX\%ܚpxv"*T'CdEhn$A]͡@L?WMA>}E.Z[ϋ[eEQQB(h(PpN5YzBSc[7NYA8&hW>jF]H `W.pX74W0ΌV#15ŎůdAKd t aZy DpF \#!&pLxܛaFѐ'7< KzVbuOLq}ql&3TNJ&SA/h ~]I~!,YcL Bed8Ch9h{rL9]:ô\cy jz@S |rʌqs=U X\"k5͍ QW8 M rfZWې V0",㼻֞hh.}? `(SI^³!X2弊T@uI [cp(?2*eSzt/ O-Wxer*-7"a=$oߜV'\JR&J2}ŰœMNA%'ͦt7298-'&?" <}T x(Ctqo32og.Fg"66?ܓ/DYCrk.Gh7Tk$Cw-de1{L!NyP0ؽrCh]ӗ i -W |]׬Aʉ`"7.i&]Nyxg҉Ģ̇Ii>bG &MJAMMakw6 M\~a,x44#E*#MÒ(`ܦ'*fAVd~.jm}AUs%=G#B/q=ӕ!e qD|*]C J^SP*?9OlLDK;,l5cNbMN C_UA%rh<z~B@s.aEMYerP6B*kXI D$:2Ե% C9TULb@@r%9a[z'LA9巃 ,f@v-u05Az1>xi/i^Uܴ$ROS 7ǔD:9s,GYĿɶJ[}ގ 70ZvćUCע)|!j<>Q{lK9,7K ^ױH=51Yt,nK5)ړHqL_<Ŏx"=GYaynwfSuR0 ae'[y\ۜ]?zʄ{FV6'K>AR1sܱOD@]B`h{S> PHC@=sgwDW]5xG;UBrqa#/$5ƇHm%ּfé'i*L &*#6ow瀬"GYfDP>q1 G He*{WyQh(I*=Fg]xM?`~8B+wtS~]#ү`Nu͂G؜Pta͆1-(J 'fH&8=NS%;َd$ <׎. (Xv?/ͬ=l2Ӓ2D0̓UЕ#,[ZGwtW ,z!Y*T|"螑`TqYҲ^ ǸZ2ŬG/sJ{[Hwi6%ީ:PȨ?bLh.#q` MBGQ332#3qfb.^sӬzDќ;ql"oN}4$!hIi7ׯt4cDe|7<7zNHxFڃk)Xr+m^c4Z2`SIh@#m0 $. ^r8n;I0Ut6pF@SHwyY,ҥBZPh(r("++)8%\0^̌/;m=iam§֭tsq}1m(y:-Y(DVñٗj8[ 0;8DX>[I*'0 yhL8 |]ţg+'pLRka(ljQt29-qu,:O`PnOOk ? o "CU'>&ҹ^pzm* 9" NQ@=mIEfTv"td^H+ Αu3eݒVuigʃkӘ g+jƦӊD͙xxƋ :6J^ꮁr`c(»TZh=E+; JdF!la8}F^c7GDEQSHkz"1Mv<8D5O7EK_bP|et'01dkd두%s4D@}ԙլҍlJYB:'%;lWZM̊&ƚݙ*٬Ғִ)JQ@n5~om)Yh$9ydAK_a)5|`#D#%3!:m u_24dR߼πhq?N;kì/8)m ֡Q/^TI`U5d}Z)z`QIn2)@?0˦\oȒ:muuC1 cQ@zxz Σ: kǐz}<;;H(0 qlɣm_Dz~flHQb>v7+(P^c}Ke٥a} l ;bΚ]'w*ߛ"c9<Szs^_ 1-AX;sX  O^!TZH2c78Ob M2i[x4MQ4Zv .ACJ$xNT:jt8m26`g~ET#:#QW6QۇX/tZR'4db@Q()0ߔs|,NBHS{ld:{4 hw&ٶC;ż kGh j0wTU)ևϣ %ʘq'Ixp Hls< O% r-g5I0d6+Τ>f-RqxDrꐇǯb]&(.maU&fCߪJ,jV̷c]{%]DFvBˑ4M`(kw {3<ʓb@G_lJƸCa|ݰk֌Ek[\^3і*rTc iTg1V:јe+OBƭI=eJNW 6##uS7B;sz/ʮ ERxa]!Y{*D e un ]ȃ-eeTNOnL-Y+*\BdVh^74"htWU u&zNI4f KF7VX ćbrQ8g9I6/E?f,}xL@P3*ye3pv I21Itf̲葋c5U%Riaeuڰ;bnIk?t>+޽PYrMB~M =v 'WRvj8ze3Tj-X2Eg1Hx\_mWjƐj)qBB>bBy^*wmڕ0HɰG< -Fg<=SDž*+ZܓtB QQS, s$=սܖWRElCr$^85bqzV67/DM{nk@r{~mp6[w L:zK Yop>ZJgR,N9_ڷVT F H ݢ6T)MwQk\ o*浻HwPs/B{EXnNWh %(߄׃ӽRNT6q3kٙCeGnTJ;v1Nu#(;U[1xY Q2}LA4ФG15-mMvmQW^I t{ѵH6f» I& dU-\^D>bXM[qLݯ\;VYņCw5z"ou wV{T\'4uZn9b~ QMQ : p%R(HJ#}RYTx@X՚~t]gACyf%~I]цzN6΂~31 M;uYj3_ޒBL?) o d0| Uw&rwx6Xd̻bpѼR[ɽ45P+IDg7`2Pκ>|wXf F$a?#Yesf^'k[C zGGex'!u$׉[fuVR3c@,!w| 죻h'wֳkd3nl|'bdCoDh՝529Kw0m㭨HɈx|Q\N˵_m$qe'#uAnvh1EBS!wЇ|TqUpZl2pqM{حF'aSQ#_@''n`NUO]TqL:1м(Y#Eā,設^1fx>V_oUtR#a"hyj؉`cW[;?TAp3|#DyХ[_ ^Q{Q`ɕ_nAV7:;ͽ`k੊ ^]x8=v3]-$w |#2yÕKLs\ dVDu0`/;$L6O*Lfa)x*nZ e#EEk.2K=3(WW{X +]tixs̆J[\S~٦%>DThc^YkUjbPkw\NW9#AD69Wr6[o{^ 8-(@mmaبA`=wUfҕ&+g9Ä+qjɤ\̓Tl`,=>E8;oż خoO` .f 9C[62h.c^9 *|,S=P9DfDQ˺q R 6BҐ@V>ܼ6\p2 P絛Wڠ]BEx=%RP5أ:gj䶕RS/eݞ nݱ ZHEglaxصʌyyHcNF3oM~W{OÄB/X@=â;yEH{]=z!X]ǚ!*D{oY6~1PMlvyj7W20T,q?ztSNډPwD4&//gb} oUg<aunR^Xx)dWսHM*P6AnnJvpvTfa{) xITɏ.]>!`P "yfu>ik0`NۓXeVj6r)X6+| MXz؆ ('s5a+/s%|sTHiYPh1}vII^:&OLQ˿WVOq G:,5J©ЦSTA9&M0ʓ*&P+ âNH޽,C'+v:0:o#. `تJ4@$AY%v;\N_CD52IſmދiYVQ]|>41N^^TaZe@B}t\`jCj\c)AAv#ځY?Al%bllZD{-ZJi+"Ľ>7@D>q%{&F6W(Livm.LԬH*;E5QʅM[RLi mh@%cY~#rl*0;-R:M뢭fѲn5Sîe4zi%O~z ]Bզ3Iۢ{1i gފDsSټIUt{cI+nWցq~S&D 6'Cj`=y,Q%xNۉߤ`.K [T ^-T;-ж0j`>8/OAK_|InGރ&URRgLHu#K _/'BӄԔ˶y8Q JzlSXJ*r%OO&~+P[|y̵٧@XJqEӑ:u)JaK .aO:>taw:$B&XY1z)GŰ!l^oyL@QR` 0jΐ8U\86ܟ1>9Gԙx΍5kpX֝S\*g (9##=NMf{z5OCSWƃGTq!-\8׃Y&8C  L(fכV^_K!Ή<9R#&㞌nNE< :my)=VO8otd2,u- t,'ISP8|d_̙2 e?C0:"Xs*gQ/'̢Rstn:g̕[5[R&L(a^~fx[Vr'Vͨݠh0s 5u~ALu5#7Zg?;.38w%A̯X8;~%+'`!b S ̠SlU:<I$8cA,F'd_6?}Tȃmg]CU"|@ǒf3#&A3{^$» Io*!n\hrh'xBޏ HvԄ `ht9/˗?BgpE ea <k^W.˖0X N7#XfЖ0{L>HįsV mvQU.7!Pgl.u>'=;"%>\%$c6ρL W&OXa9fjMMYyp3i i: ma䵮 ]y&5AvWݝ>YI KJhňm`*?868R>Oi9ژ"F iwnL.;$U J^dnM ~a0V'CF3+~F*HrR-SFF5^<~]cO4wQrGl"q1b2Vͳ40Xޔ1&͹#1kAU LF7Wg[T30A#q t67Py%ڠmc VI2 'Xl^\iΝ=%d^\~fDyN;xqᵂ''^UlU)+-Z.%N0 16Iuc.;6HOdamP r tx:b|$NPuy_W 0b882_`P~:M^߱HC\$&ޞXH_4c6dıOUh>;7W޼]SZ6'XYBFIRffIԧ&THw @4/_ |D|*͠b$*;ʋŎXjх >p]j$X"b"ŎƩaGZ;ӥEg s1`{:xer)om bwB̥̪z&ٔf}Um#-8 jU'g1NPDW"sxa|I%uk:]6fI䇓sG6 $#G=a-zXko^U'ZFp\A[׫S)¢8lX$Ү;}1!.;']bT% Iڿ?bM`,7K7tuHI9+l XN,[zЬAphw0{Ŵr\^6aSIr&}%>)zY.*E(`{ɀhb9`q`aM(\ Z2l<o>(W hl:֦~`oY4\t^0ʜd̻UԠ-lNc2z{ +E?Um)diXDZCdQfϼWDzY)qt-X鋅jOn ݼ>A$7bV'U%;V?lwI)HU?޷h5a "j/5TS܂RC-0=tc[=`P0ѐV@N͈N &T}:q41MD7D}SesY%f^0B. mm9ij2Jpմ,k T `u'cP6.{M0-'C9eTXiOAHuG~Xq1:4 4< C*kvݱA[wֲc^طSm?tNwi>o\2Snao,JHGwW란'nKH|Byhj`AW9=rz^􅠮ƮZ@[gW@4[˰F6gV>coS1?ޖT@y zr.}e%j\~@L-YX6eNEctYDlN^j65:1đY1qϫw,2*J$쿠hC9Ti}XN֞/gS17F0\-wW¥e*l9dK7OLѥEj5֥JQɈWWH5~AHN7:+"pgÂ㽲 kӡ>Y=WZ86:<:'nщZ8v+fc ɣgީ7!Һę:E!W(n ҈QQmGl.0&vT=oc/6k;%w2D{]ꢴ n2OXCKHNDWh6~" ~XX' JE*rFRM\ }HwuKcq8SAH U47F:L$yjYOHBlMX.]>: .XU;SZ Vρ߆ԙp2Ko9 Dxʳ&.ͿW!HRS#*oɰA $^iW;ϴMg#$6E?&sܔ}LYeZts ը.i%#i^_?kxSS0zݼLQuǺ1McT^3zZ6 4X^=^ f+dƀg#,' kE0gZD>D Y8=Qd%dP.ԞI2܌?`+e7MV]0h;ac\)AʲCt.gcŏg5i4Nۀ$o,xm Whf#LǢFWE 5xSS?ixSp:@.uLTɐϼv^[a[^iꢜK +]}8 {ϐsߤ'ytVdD*߈C̀߀kͅ_;Ayqc@quC\X׺CwXѶifYI{>p9u[gDrTlYҚ=ޔnűY$Y-L^w৑e;?JJq(9+W3Iu1/3rKKƾ4kdԀ566JOaDSI(-Q`bk6eB ѶpvE@cidhfb,.iNR9(Vm# TGKMI))=:qn ҄m*(͈aGc'}YtdQVzuJur+{b{fhJٍ_xp 7ZDoRΖ̐; eU]+?zxI1˺5|ϗ_`p.Զr%9fY6nyţ٬G#"舍,ڕEŞcȩȡM1_8 V:i.|5/]2VdY`M4&ur >~S'bN-l3qg2sVŠ}Jo.֔닼NW @:$#*a> k3b.qyڏ͋e>;.a``"iڳ/%$10gR#ey73Uߊ3NJQ`n'kp[=M}dGeη 7^J!, J2 "҉DE엝C(_Uo'#9=KDwr/]f-3uOcvQJ)0T}``^84!a>?#!#Z9g#_yh#}@=֤3? u} 4O?cy,Eo}6̖8|ƉFx3$io SN=*!dBF,Vv+wRl0|f($lд R{Bޠ猯E.3%t +kp[ %Ifj!oMAO m&q"`fEIcmH$ "ŚwDMt(kc3!)cViW/Ke"O X%~+aQEYWKK˜$7aa"OuJ-pX=|dPnʾ˞w42(Zdޘ6C>u~sR 1o[&MOCV"Ny!` '6|0Z S-흹Pv-|}YEhyfZ(@|-AMɇ%(J:pAX6O|L G,lS{0( o Q,tO#G @]ňF)+Lk=2pb+jIDj4L|[v2F3(UC:B=*OSc=J4gia`}>dRj}.7=~6{yJ(ABنb9ra Fme*5 S~ TCKHv[G2LЯ-;$Tn5̍s 'hY Kl]*4Q}`vK/1Şo$fcug6'#W*){;oYxCYLڭ׆4y䰟C HW+W`q7 |Ujd8>!VNWGU*51ϗqY'Dn_~O|hplXI_|ѻ%`"ϭs =yPy}~BŢ/FJqW7 'i15^AZmԗw4*bhEWЙu<7)t!t2kjExp66I܄krdVE{F H"XbYzGsV'L[& %|Ý[8g8qw^Oa2J=Ie.JV:!{IR"?qp@w;qzb<"/A@JS옵h:~zo̞`!nO<{6-l)28n+%$wn=J`&G+\qi.sNHfX\f/=eڙt FRA\]B[7꿫*T(ZqmJջ$L#&iW`+"-MpqmV<$7Sg@wPCJ^GL.Me _X#TP=B:.]hkl^*TFJRA%_ BYrEr0{n7y3|?3(dCErf-ٺ.x"r<){Dzew?d`(ҭ˺e79)D/NyyOcu `.uE,rk*`~V|ݔnR?A1+yŕR^g2pBt'Xe1XM?HBykOAV6+31}ҁRvx5h@Z+ eWeemZfzkGs[sOin:`i>8lB_]2%U0BUpfBP[Xַ uYٱ W9yD)GTŖH?)HRxtCK,֒lKj @28;K] v#[ =$iI{>`0syƱ=9>3ڦ&~t 2? ?7${>az1*GZHR;.:IīFW\o5eK婑tx,- %Dc>XPdJZK5`KɄAT[~R}}}:^5 ?g~LpPXm`oBk9RN??ߖExcL+N6Ԙ (''sqfόE[tg\E "!$j]J}B4\C(c~E6~/<7P<8QXeE_-dN5uO,>.b+r;Mۏ.r6-|GsBH0'[%Ru;BkJeCD q%pAu< b)*`'6gCַRK]6sM0.D#+AUy*EG0#Ʒc]ģ0vtD]k.ⲢF ]̈́) uo{ԃbkA]|I<E,9=DZqq;\83bA^t PN>\F7*nEGIX K&?>W`QDrv3Bk@: m1V(e$V%liuTisrcgH}vcG&o_D&zs_aAKtz_D$)'kU#I Gx}SnV`@e!XÆْ]½ 0`ѵ|Q0$Hf {iRhPԹA,} lݠЮxiDġ׾OF /y=ը}m/d7A *Ym_4,,m,br'{. X޳y+Cd8|L;Q֪p>y =CZwY\|m } <)^Cx1%V17W|r2?-gT7o밡k e<8<"C^Ix?C:>qj$n dy.DX㎲JKr.*ϲy魝_"Y3s <ÔBn"mт+E_J\]=7W$YS(GERG-]>52xu6@^`ߟ#'\j(MV=|3WV|"EOEO/ MuuG9r3W #WM-ŸX!TL>ߵ[z0c1Pw,K>X({(WgXGx.D\DRO jt*EƽG>-k;H\@q<`@) 21)BmW-:h82s3SzcATo$ ޑ`^IRaXB*f|[H H5pGiEȼ04<6_W%Q"B&2HLF 9ޟ<`'*|wNWds)&̾2bTj,}EDNf}Q9˻)Y*_ %Oa#S>~YjVGgI$zw>2A="/3~}cgF dfn$[ngpǞiԺk?q&:m B^(IJ"OXؐ;]m#pds]`fIrfeup!0| Dv'zHJl%SRij@OT> hqOS IP`ڰ aҁY/^=}7Hn}pIR074=4u7/mugkkZ@K4;{ "nۭ!69CSsw^IBC|8Z@Zs\=<4瓧dy'DT(W+(ViW/;IhyKri5±}HFlOKޢw~s$j$ZԜDɄi qb q@h$؏q;t^ l__(%I3-ϛtY 9*J#uP="8g[o$,ylw7u諫y٨-6 cJ~eh飖ܖ훙<=9Dݏsm?MXd 9\zNVSu#:L`.ƨܶ5tPI"ql:ฌ=̞mdٻx^4,]NŒ 9 6ޥu_X!旯Te\=9\2IBVWMh7!#*T |ĩR[F,5s?7q4oD,,Qs07VivwDɋoSs+~K1j26K6tnREb r= WlVJSdN﹆ 楹`Gj"=S*r&52@'У7-a/NjO=m}yCFb\~, xY S u6N0T5(4F4}]kg;:J"?YӕMr.UHTi@~fF`F~x3ʚ !k_m *EÞa{OxYTPL54̓qEZ;!} Q>=ÚR]a{] 䪿?R*d+L'>GЊd c$ F?Os9x[k>X^x9.b*{&빊Y`8dP } =gM9V:KhG|'κ`[/ObB l>s"cTI|M3Ez;R05B&XdYinlbOeٶ=S;qYR:ZMuچdabyq˾_u*-@lONR5M+ vZȊ:~|WkU ]%M֌QG]זّ2lWB^{z%VU<>^ ,)Mq0iBY9,D؀`k#kEUW_%-84('GjoUAc<Fq[{h[h=ԙ|X T m*R#Es!`)_ITzvqnSہxE³znR/r@Oy3@ 4c'o[IX85cX ڧE<]Oh5:=o.i%(|pNg#lG爆 n .Ovh Q邀al;JL+2\ޥsC!O9I{/R>YK``NrN;MۗȽ&^kErs ~6WˡN`p' Z Wu!Fƥ-4R+VM(D}* pQsb%\`0.̦Ύ.On5 "}AFԁ XP"|S7bruvi(;h.Eۖz#KP.\Brz;uI"z!Ö!/ Bckq7D2YԕdOnYy>gvCNA FotA- w PR !sUn< [ti(G[xytМGia׀M-/+4氿IPA&ɑm+OG?޸fSa#>0:WNVzO##sZ/: L'6Pr5J |QCs4ۑtQ]-X5Twvv"]s Gy)q<6Q͗A9[+k38CɈS65fxf/÷2܆&fjE{=ma_l4~iȪ$a8bK*J[~kܲF񚶌Y,qxZ>U<,P^\}cD$ekz?tQ!^V47emi je.7v>k}~ &jy@@aQ>" I̹Du1Vk{R2Z)vpj{'3<,$͂;&0 M7W䙟܌fNnjH-9}@ly;ݔIC{G˒6 Nc2+@2V1@94ĵ/Lifߟ/I#.Gg8 2Gzg)L4O7sޙu]JI0?ո&ɐ~B# ¬>GWh=biZ "̀WgUfӛ DX"ichMNRZ~ w:]}BY:WZ̊Q. H w ~dv?Na3}iAދhyQveN$mNCV&)O$DŽ:(wFeC1m7E0 T" %Kp꫼XxcV.?:vS{#3|DӨzw*fc {$z)ynUv6z(җˡ r̼pk4* \_\]>SWݔEo2CQR|7b7fss(q<'BW_gI |SiP7Soe[cMƏiM@^ϢmGa-Z}Vh̟=)}}+}z3e V:X^V&NA}3tDrT?^*-QJZ b:ߢ{oYSᕗ3O Bxb(G_LK*ut0z4ޠn54EnZ J4c"k8a.[g$C5.L"( H9Xy8xDZw`_.-9W k26k9Ү*;&ki:#G==)4`Jv&e&̥]R~ѥN뢷O$Yl|ls MP}3;,i㑆]9ª2*6B:.ܗ1b|pNm$ |OژZ[1#βO[b%?p#Ů b5EJ^*_TF~Wǣ'jGLA1A.t\ЄlsQp<ȸt\cǫ{)mof4|:E/Y#1Z'VXv;@`R-F3~O(ҧݦ~ܶUދ=jclIjIð`+%%Q_"ṌhM oez~%#0rǛ9 8; Np)jOd2+!M*ؕb}FDbUHA&L^XpOq >$6J5=LrPMJ+|U^H-1 GODs24C#nu1yξPm#:^d/|f;R߆i޲APqf[CVd[97CE2Mzd=dvh|9MBFk>J-3æEmݏUCxP]fu{b-QL k_MPW|;1ܵV%jzmqu4SLnh"<_[ #X(CvVLe=gOtAb3~j+nJ>#ڬcpEw'+/<[ ܑxtLQ!tjCD$YT9 XU-X:43k~V*pl2^ Cup۩bGP MMNis@feAr5'FOJИudr5'|媉~Y 9y. ]tx" Z粨S>s pߟ'w\O tzl{fR+Hћ`1u#yeP"ms&(Z=w&FTzDB_bْu7 ;"X<\u.tب T2PIU$U]UtX8ґH>-Ur3yz=%˾y~j.(Y^!X EVҗԐ ʭ˒%.wjIMb6\ɽ5P) ԳLTpO)դ8`uJ?8lkn9  iɢ2ˍܲ d5C2xTFܛ1x DT%o%C `^@6-( m+>ߖ%d/)ݺR IhlAk'm~8PxIY%ƹ2aiPWCgkF`8}+*n9iXtV&zM|;AbxMmnw?:C/g5WKy{{\xQPepl^ܜ,d3D~/FjӡRSI<<ϔE,.Vz9.N@HF1?ۨQ0  ⠶O"qDwΘZ^D16D̅V7 H؛d%%W3p 1|N2v:uψE$( {DEQ|΍,?vut,ZMKN^FZ~1hvfzI$UW[vJMRE#AfPC?hU4Av,#tCi}Iâ#Mւx]c)xs wp=.xaf i HD+0<2>:mN/ ]zhT\/ߠA]"(*Qm┴C{ H ex˃miN5(HmMA -xsY?nD=D )lNN˨)qgwcM ̶OW•hU>#N +Ej^g5 S*>5 Ht {yƸw.Rfز[DFڗgdצ96;aSO)3R \׉5"L :8v%\zF/Ȕr}CV1ki=KL8V?FSΈ(j2hOh.xO4~JDP\An&T047H^"L6`_ĒRw:KB|}90,0`V2c:Pٔ0KtkDXZM< *Y  zTOiڈ)?K|J߶,`JW/4dg@)t^e^Ȩ+1Oku8C% whǭ oxW-|N ZBf=%VeR8gճ,Sp[?SȃH]Īj(U.i~7jC8pps;^]1%nȰ~L1 \}Ϝq>Y;{G?ᳳC,GKa=?89\=3 Ьˆ4Ru_e`@ kt?%J^,tCʬM!nHE^z SxGiy@!]kh%Z}cޚE1"vhk}cRGll~"B0@ޫv?"**r\ңd OI-D& *ju`/o-l [pYBjvb#4bxGl[1wq3-:+L*7~SA.o[Jr7;M|Fsu>F'Y`89*eFkg+˩iqA, ώ3͊<a5J}%uISr0,a `}2_Srǔ~ER#_*n(kAz3-,ȍw F5+ɧ*} 8LG"SnXqV^(lKG/q^}s6L QEP6ثX}C7 XJ-chڦ! v}o_ۿ5:u[޽?\HV6O;MʬN =\YRh'NQR{k4S  s ~0BK2izxA%Kl!tt1{^IՁ CjY-ϗfi0\ՓXG59ׅTen"5(ďU6PJBރWVNPgJ$"NdgʱٙJʻ˄:p hBGhd&q=]nџg#F%A7CgCRKP7res:7f0S&'"Q ڌv_oL5Q$Z;kuVmLP Lޟ{Gk<Խh`Z"v=1~l=QG5y\sQ[xT宱KHGF ρ2oz*?m Ԉ7RL [nxKAr #o?Swqٍ :'q_֘b=vy=%7.; 6+zPN/"ʟEkN͠H@F}e9J~#[C ma+&BI O4;  h}B뎇02" IX;Rj̹mDQNlf}R>>t0-5؉Lq>*1bqYe*tsO m\ %眄]C#y084OUm<߮l$2L UxZ Q gjzPsjk.0h 62tEg978\-nƇDL$BoG7z:vvl$/_@J6@^<;B}amФP 3 Vi/l5=Q9EkPd#7YR#* V.R-c]BEzՏntYGJj` Z42aщxZqh$O$H2 ½K5r;qne &AMWJp_gdfr'1W緷]À ƫո^X#К @^^7_*6qu_R9=9Z@AJpqҷ9 0b>-v*|Ԅ䛽0"U$ D&RC|'|2#sB#bJ ƽr0FJ!& 90Qx><:@s7۵:iX8ln=.#2ɃJ)Zfǭc @,kENLH|;.̱⮫%CpmDKW9mPk Ssk7ɥŕ\@`:]f~E1mbѼˁ,ec{ѱwuw7zymJț<؂c[2Ѭ'LÁA f Z>; Wj3:YNxtdT4n g?TSm-g4DE ԲDn([mbޏcÄ$+-Yd+0i.l# 0ߞ]);Zr[xGtZƟJi֞<ݿ)F΋rߎV|Z=Qe:lh]~.TquIs8]ef8\Q-9u81zPLw4yRH?tt`zR[eŞ̒7f$Z0ߞj{5FVF%h)ezƃbr]:$+ݝ+NgRPW`\B?-`hJ*@?Y \.)^z 4!'c9*6\CkZPL DP2Peg9yzhI sixٓ3A jP&~Gi]yV/Fn=:tEfA_&3f"\Xn_,ߧTւh4C`rMX캟pfߡk UbXSzGQq+ˉd9ck ,9wB&>#FdF#WPB-23%bN\u v:}xvFgfd2FDWĘ>p3 C•|27[L^& .Wj ί""0X3|TDw6=™G⡟Fcuv_]orƛʋ$m{J1d4x tV]@FBYth."Ou`0䛕/`Ft>\HFDT?: t9ש ~˜؎ e*7.ᕳTب֛E 軯V-7eP7`6 ߶7 Tj 2eEVY5Cnv8S#+! j:1g|<d0udCp Q -nGkG rH|9im; mƾ> i*%᭫VvnIU *~Jo" I$X?!{rv6ëItPC6R5xQ0Zi'+4`pncG<=fLQVJLBA6=&C'pe7|m2g f?PijCs Xdo] Q8"]J;^X$܏8HLzL#Ջ W: пe_רr)E9g[mSb0+s\'Bqطġaɀݫ9Y=o3)>Cn:8A=fVcHL{yGwn3RU^@)$U{1ji3wbƿ_y~Q  yjȌ֌]I, KyBR֙Az߾$q&uZ8}<2Y[}{ȵ5#] d <^#foN5Pg]i\;v;CX7vb|(;I,d ~`Y'W|dLRjޟ9I=ZעwiNeY+IȐܑDa*dTU^rǶ! u28vʇp_V*;ӕJB!T iD"%MOU ]+-;^aflbK D!$:sk}x8XV%r=Ǻq``UVYS>&s]R:F ۨGi8[+Ĥۘp1KNqb2[2?s$2A_΍,%%"$M?xoe*Mӛ*bf|i;~64Z}*iM{I2e `hf6Th>.|Pb/Eg$M5KAOqQ3_3$| ^ 3p#J[X]qSL1Pl`#46duQ|r=dYO;gff/iP_ׯ;@eEV(IG<w={,8+Z'e0%`fu ؟mB!@εn8ux}yl '9y4"VnnB9Fy{QV;_lrr&)>s r4qA|8XTDdeu܌C_UbCp+E"qw'5(CP 0~ P(3fU?uVgK؀1ń򵡭'`NUd~aG>d{1|ar7yd{+`A@xUYj52k-aUΞAR=TKibxt-5"!^=.Ȱ6RTܝ5"^xEdDyaCx6F!"(XIcL JpfGQw %M-'{!6 =01\[l:=adkݰ73_d8UŦE,y]2=p 0‚K:!^h}m[ZS1 _:a|Zz@`Ϗ;+Kߥ!DV ^B=iQޝlMG?DՄĕ:cpSz<:+ƨ-*Q> 3*!X;r ˾Kːۃ#d9Md2X mei `s($.qMv{l(>֤>NV7<`'8oUz9U_̄nǢɟJUaj'[%0#&o!wGܙj EHg/`.ik AO|xQrh,zFiX|ywӢS+j-w GcN6%f'Ar'7k\Ћhgt@ 5Se;-ܶ%jG~<߾%耿$2G>H78[8`aٯTڒސO1+}s"pݑӸ#z0.",+KyvO^7 0KSE&="28…FD֦Ź_[lnkߜxecD $Ʒ.sOӭ*O ^DCU bkפ׵IN<{`=y!`M%X#~+SMqbL$v2(p)v1aPlFx禘Pky *#|.^O紪`jң$BaPX"2y믵|A-b}_opKW=[WE}'8 M'u6)urU] ݬ';OkQ0wϸ> *N']dwjҸ~@5uCFQ{?@隌obd;ѷ~ܣQ r=`{?sO=(W@Y$ftLu)FߝTnDspx%qkqD1vP᱊)qƌL~##s~| TJ]a"sYQeL/zpAE``,@Ic;669 :!/[}Yq& |+ZR OPGZ`aDTCq+;N8,=6?y*ojЈ. M,?K߱,L+Cyjn A 20daC(gdj #_BvHOHMP"cWGJψƁQ<]>5oυ{BQ!B.Re_}5Y!PZqbIp}\V:[:wd2ݘ(;5\=eR?=ٵ7BY_.e:gP*WM{d/5s4P$Hsd1nM)%.m~$[d}_]V;xL:beIE-kO0bҊ^aqËW$pf ,h,A_?i\`0YA`R`,ҽkWAW$ol#W3ߟ߱)f'7Ky{݃޿4쉼?D`-]jWC2 V?iH(9x)NԵ0\3bj='Ln70Pr8}݀@>Axr~n FQE1|2 ็u 60$֣ gȪ'u{c#!lsy w^X5~cf`WzEZ>DvnDå ?kuAWl7x. :v{* G4PU Na U F|.)C2ًF1xD9VeumG#C'G-@0"L [B51,_^r}sh2;8+ȌֳErxqzubPjԄ!L$&z֋.Nq|X[K`Xʈ5Cn-b( e޽M M4=K"WPsiN=uԈ\nݒ%?7/Fqc](,4&Ûu=FB9&h5ivwxaI6Nj9mgt~tkG5t:'iFATf@6wm ^ԉtvt$KYsg`&}OI#\1Aorf:#k{9(GhX2YJPjz.|ųk(tg*5 =+C.:x`xwzR h#>'>QƳ?Msq:& :i^I>h(T6 דMCy'TH:8 ua3}*1:G ڲ׼/ԨD:>ePT|uAKG A ePg)\]H񗟇 r X4.09 ?dzPKvf;L-]+jJUP1ԮnP[W5ѶSՕvzFaO9"B$_H[Sy^gjݤ G*lo+ n_?QQ/+׾\;ڲͶ{5ijܯ/H\j9@!@^A7[ 5^oTr_oeลHv ,\K :"{b(N"*hv.)}dʹ$R J-?6WVBL߯ Mٱu :[&pOJALgS)c秺vW<&h0d2`Q[u8PLYZҚx[xw"*0)P_ uoJAN./V8X_hK=58&ER3T`-de==k3wlctUoYxY(֘@TLC²c6H$B9A|~9+ \wr&<_f)Qj!HFq#sURR?8o33SՎs`X /|oP''IS()=-xg8N-4\~S,խq6>pZ_j\eb] ;kV )^D 0rXKnipowGTmސK ?0zhL{8)Z^<^}HB 3N~2J >9+Pk4QB?`ޢG1/-O5kX_J"qF!0̲7f-t_Moo`P^bu{?|Oi 0E?"6j3h3K2I'g[FIz x#O$M;8h3o,럺4\дK  ymd.x2eנe$' d%zi!Djf}־&hC>&^Fh׍ 2|W`x0]]{ h$9c1T׊c oCОٙ*pr=_7S./RNԶyMQuP(ȼSL#E/4#KK: fϮmE9yVlir{@O5wuvȦ*&ܵtۖbM{, 8Zo ոEE1H:U(AD6U/bXRbY+ gkVYF!^UĔ2ٜ"Za lhL=w+eӧP4i3U Yj+%jS3 Ɗ۝G N 2x %9("'4syM ݄Éa 9uNfH:b(~ydWGPx!XvL%r0)ܑ po|v_%ah(z:g\EUH#>JD7Rld7.<=$xzvd~+r2pXH M)ꡀ@0mbkRlq ݕP`d@dl &}u1X9r ct)Bw 5̓$~m( 3 Zƿdτ+2w32ZӓBH屼v ˒D;Kp_ɰHg~!T9EK% U/^,ӪoI6FGAc56z*)ba"͙āc=gC>uV8X|aGɉw]."H頮c4DDQފԨdf ʬD:МR[?[6QTc/1 s.yz5]xR&dMe>4MUb˥)FćJ7G!Tzr65 B¿x~HFTE8O>p%d}K|0mulltEfeѲF[4vB" xqk&ޅV \Oga$ iynߴDZ:,0bO@$PPF__k}ɛ8'_h^{P.Y70m$FnL!"𖸙.V9su4_ے+t vdH} 3ǔ:э(`!# ]؞ï׀fCqBɐSYY4\ q6 •$G~IW݆QFKʶ=39SVV_6E G<-,N,G-hs 8‘u ^+ vl!j%eOɯ*H Ӽ0NJY{@K59Ml(K>.ud2!ALc1Swcpaх%QB^MWΑ)sU"+Bua}orO"RcV55ak*N|O啞+l̫$1K g46ɲHфYFT9`Z~\cU*26zejG:$Lhө/堑:>:.6YY&'+v%Czksi!Dd,,0 ]H[DTw LQǞ ӛ艗Ca|fFOA;!i[x ,$1^\~<fIXtu uCjO -+]A]IR \7BLI$]#qڼgkO?֋ױHUHUu?% K1ޥC!+_ ĥ^B܇xa|.bI>lX 5fxѐNP-$*'-5׶T=`!q#! &s4!iwhx3&NWJz W`俆~R bUlf(QQ]b`43 q"6p=EDwv'\v m(2kNuH%Kbi3o؜FZI)'IdEH9~X$8<b6OZzn#/Z9}Sޢ@h(F!?$!*tRu?J88}>1 $:>'>SQC0/TGc&v%BYEik2^aXfMtXWas 2O17R_nu̱Ps_JFLG<#_Av7E0(D8!פDҏPy1(+Յ,sss#kvSRitVK6A32)jd6џZR߷Iă-1#2ErFq1oԡFs*67sHHPJBMSx $ e])GHҋiM:53#*4 ڂ>s2]t]CC@p|-Y;Jҹ5nIa{^f,9&qq[ڑPw>?Fj 6 Q 0mh4Y~/wG8|aD9q 2M;E-wr+ n9K3wM`1 pF++]z+dn?T]⇽#tt5\I9Ξ4zZg6p|-K^ծC_){-Hq !!^֩DcbaW;ܒ!S!o3J58hc99"6Ϗ|m8[}8A>}KV$;vT=BJK1,=:o Tjo5Qg#^撲uȠbjdW|,.}mAoU[%Դbϐ@ɂ 7J+5^vEXayԷv@/ܫ{ ,Y%Zo:۱i?+m IؽM<]jdnVS諵2DuuDi7Fռ.yܸq!#W=h~;K79oBsh51(=ԤwL,̐J{Znm@To5!6LX|pS䌾LGsb1GѰPݝp,. -&UIIඎ8jȷg*"]Xka$hvJSa;ހMGUF[#&{jaY@ GJnƋtWbQNb^.J _"WH8co0@ƙ6-o[ F8(՘󝇊tL7 m3%/Tqm%nVݿ"Vb(L>""DMirp>eA{t¹UF_ H4@PNUb‰暴F F \XZH8Cwm~8t*ɳuO8_:XH#IzQ%+lSחcNHޡ+0 ngFciTkLbdrlhU#ͱ羄8{!2`&ai:UL^&Ho7КKqIqŧmU'UKFWY/  kAiXVCdfq~Hwߘ1qÕvNS9 S/M61J=V#z'Zηm5ؾ5(8nkTY~tc傼,-Fjy_bIzC2Ƕ}UY)($y;qFQT׬]_X|r8ѵA. fSFxN9Qaҋ!%X!WypK[&4,`^N;B2;#Py Fm?"^tDD3g2TT[r!FG&f>Y<ȇ ^턔Y%2+7[0ahS m*fc~1!nQ>d㱰֠?(`O%V*]{yWZORE0@Ӥ̒W}0l (ðz,VD[{cla {j%с3yf:M (6Wl䡞6*v #0+kUG1}bhk#fTp&7amh߰ @"TB|a\10Es_N\iZ.M4]ng0[#zM!?$U]K3'<йXbaHj15zﲔe({kR~AQ!>0ZwRLcD^≮slF2!1L2뫪䣮#5D"}jc$d|E~?Xxbm3T?p]V5!c c/}:,ʨN\Bˉ&(PyFP}ExrzzJ s\MjuttXbh+ k[Y2[䅻n+!@>pJD&e蔤$cO`ղ`Uc ]Y<WO3SA1HigjЊ,y o:Pf_&kwi/P[Ҙ2.@}`&aÑ'Ǔ*i+pXi a6> sh ]Vj9pr}x1o5`blP0d䥘c3r؛/<'F>5o䌂2~QQRnPVSeo#Ky=[+PzOsIe'xRDR<8 {NUv-˂S7kS|?L €zOo''&qZgx\*O0۹`2bY(;* %ӭPoތ. ǃ9 I3dlXpV'P\BEay СBAm6 yu+ŧ ==VAzۛj nznQh?$k';ҟ]]c4,*s_GRqD}q)l%ܙG1UO_eM䇡g&`C^0=gF- '$U+&_qN,Vn̈́Ol)8_l|pҡP\$ U88LMk#蚝٣IcUnt)nf{) ԢP)PM N:\dFw+F#H'H+LGx0Uܽٷ2%*obm˳g 9A6OlRo;XQD0 w+ WMT3,TDZo6GLm/kfg/~u .3֒m(G k9ja.,Q+1~W  uKƜFFcp*5=Fj*(>rsztݾ{X]o%[lOl 0ёC;MKːMa#ܑwZuAUKI+~>hҳK"ҴyՒց4i/nz[EOL{P@OyK o)i'?b<7s<4+:r7u*"*:SSOíe*sqY94\ƭM )jUZqwM 5ǹ OAL<I]59q:fdq)z?RhyA#F~ u_eJ" Φ: :;]<kelu<1RJ`1j?*r~_%=֌]l9"ԌZ5T&C rҰ 45:|bR)#\,j'06uֵєho,?9*#3 !úviFqF@M¥Bs.rxkJ\C-W+uy[6DeDuOUC_U̳+ymMn1tpL.dSHYTFu+Ʃ‚.V'/bȑuV?74Oh|E՛B(ԥTguCNob<rsx6uPܙF5y}}jvfbco (_wcEӮ\c kLu_T!oLR+4$qBjTO\q盈됺>̬˨CP)j)VB\ EA$Zl%b^R3 s݆;v jBBUHSY#{ G+Yz`mkBاM6AZTvgquކCaT³PWE(\޽|K/[R&Ixda8~KFj{YV`b hR)À0U"K/D+lJ%A*  ] K3ۆǶs)d`lI F7G{n)ޓF,,ц&z!h$+ؒpi vuQm "UP&\+74f\;$ "q6/|zF􎒌ͫx#{9AU.uU}h) :V +͌ny$' 6X_rlO (1HTXoEEEWҴ]6s_2n bW h٦K[/6g;n`tt5wsgdRբc-y #| ±0*2\ZMl2 jrnv ` #X;*eBTAs`€}#N)Iԥ ͻ၁bIgY~! ^g).]A'j*9"#I#^ox* 4Vj#l~oi(ъ$14DMŇ^ۣ%"d|y>]TLz;\;?W;\.aQE.X@)rq"ݦlNNfzfK5IbU*_ɍ"@YfY)uq69ΘR՝eZwF##(V9놤Dxk1Ċro2COT ɏp)y*s湟1ȐE &H32,vxw W 6\ LLA\Ilypx,2pG>H:#ar[ (3)X|p6I9G4JhblճSD[{'jc cх9[^"% u0S6, zj%O?ެm%nM W{KD%! \d|'j| 'e:G#dzqح_:H [<{e#%$ܸ-#_j5%-%W1}L]U 5qxlR^Sǧ!}> JKO X Au" (kw?MNu!񊣉ɅBbӁ^fYu:[%+&`Yk}>[Sfo71eÉꏞE Qur*MsΊ(;"29x0Q;}<6BYd'[y)J<4uKZD>ΤǵJ23oe*USغIkVܛ';C*?aɁפ9/F.#g*k2__ ڭbMn*JÑƍ_''Z1Y\,ތ5#˞N/r,aly]lC>Bq-zMת :r7m ‘Ҡ:QĀV yrnR;OCpaFZy?=&x]G~^|3?$Z^ C8p3CBmw>n 4J_eWp?f[qh'/ ZU'@@w& ޕI0Wj'F&Hzye_?߹z;5xdS# R3o6+ Be'bȱ=!sѷnYA~ 9 G'䦙z{q z,F zPpAazeUA$nj/#H~)A[=G)xNcoc1W@X6 ׊s}3ޯuvr'|"aĬ=~+NOe$-9CBf+CvhQ*iڃ3U VL`T byڏKZftsI{6 5M]#cfH)h)wEΔo*[[$4Avz5ڧ|ZoC_X%]Mshtb JտqYY3(~.<}`1x;h6MV9dXAr.au ΀Mu=o.ZѝC-,>9JA'f= &,0~tilZeQ5PtpMM1I6 XqoWb&X7=cvoQTTYȀSSqݚ-gC>]Yfԑ WX. 6G*bVFk΍ Mqj{6?5\<::Y]XCu(,9*bwQI'zNjc= bgj ѻ4rv(hKdi#~d~Ҋo־\d;,`nQHY܎I!T&g/կW vk<~:4.5:N(+ʑif5Y;{@ԛEXyA#S.r @a6k)+vQ,UN{~ժХ^Z3ԘA8ĤkeqئƢ mPsA]ջύtawmV2| !hUx6" Wav=3ڷ.ʢ =+iA:5Ll~80p"z@I[V¹Atc#spW[CBdA)-WYK6&OWMm5 J͕]^ (wJ&$`쓮&K5p{m+mvԣ rwִe6וEڴ>L=&eH-|- p冴Apv/'( ǓWGcgV署3A^7>' fWZ5<_:wNoAN*XP!Ν '=s^4(r`yH VU8:lKS1Az~-DIfMˀIJ886njϥdS@)$&3Ün` 6U}`ԇ t3їxYG]&2l/[/DayYҰQZ BݼANj/m) OBPvD7f|,U;UŁKQgH7{V4 ./GT O]f^SU '@8I 2Ky"%_;sODXLwߋxl~#$ d!u̒`mLGc寡Leml<ƃUi *RݳNx'K{^͖ziԩ/7TdvQY ۙW\R_'-0E@ZpD1T"*gq.xh Re-H\Bf(BhN$ci35'D9l]?]&TD}$htVTQ֘%?*WҽxIi^v4!xA5oZ)ZJ@_?4P9B_GφjeF~R%,؞y[9_2cp OxCM1󚼆}Q.HKJoymZQ7t闋;~<' ,˗pHޜUCVفc`{kj~F?FCzkW$B\(zN̵upzbo0k𝻊B?YVu:%d *<۪1G՜hU^(_@FG+]0ubqĂ]釰USƌ+bw4W +tJǡ[Ã*!T= |QQY{kt t2j&FcK0OxH{ɔc]@=bV=E ⾲1SvF&@!\Xm72g'{:ϟp6" V1؎L(J A_VǍ1*S܅W0i}`͆.B"x<\9o +sv|0a¥OQ_PNa$mɒ###T3J(iQ|vU+Go{N`;ON16a1:Iâ+j: { j@T;Gy}vj볣eP V3[ߗcDQɣxPhaMcܫS1U\3L oq/ԕK>q`Oh olßz*gVp!n Ҳࡁb`΃2b@^XN:``sS%eNpȄ<&mYHF␃޴Y/^9Zm. CC՝[*Z]nD*.L c+ꍳ*(^ *HHeg 9Go`>[SҘŅ-"QcV"mS_[*rkJj^D PAht^.*J 59@[yyA#V^벖Of@/2Jn$2@!J,K߁KJZR8O*!j%}xTIsBeL̃g|2 6Tn" $Ďw,:-6Ӑ  6e o3"9)ɶҜأ buoW|6dw.ꦧ0uZs*2 u@ d22!ˣ+ k,%gq1XX:?d63%ֆVau4+0F͕PmTU4X`3]a?S#_zJQ afpkE(پ2Q :ьG?_OϴŠx4zWE=G"5dחe-QmRr)|rmCQ7AM/ 睬8g>s ;HySX  kV|'f'&o<%|J7ץi-!lZF)D*eyXA5,A FXih%}! wHa FȋXg_T|YECX}Є0M涂"-S$T2uX>vӵbcUZxg& +%[qS!~Xa%y+0ZD\OӶ!H!L& ~E3~B.]hgy" {ޢC@iq#>fa W9o{'9ukPƁgMD)SL]BRstCA]݁Uqo}Fv2\r$?,Uq98pJ z)H[`mYrſPMYGC2D4{pQhYy(>@~ 5/*&#~HT'm#Nr~ Q?d7R,w vL]I08 >1ͬ- kPW]Qaz겤!Lim~X,.5#?r~HAV`Ox*- 5Hh!n~1fFr;,&FoW~ԁy bCsO`@}aϸM3-[Kp'k9=:L߂$ldz-TiD0n ஧l_~SXokm P ߭szP?",M$,I HiN 3 i9)&u+6!6+OhSy~ڨv!s0L/2\QwW>qO҃[#mU qCIk5#I ӨYb}9y'*< sJ(QKgGJ&WJ8ް6NʪڙXɔҔE%n>kB̓R6Eyj$JMűidik=&ÆZthK#]5$|SӥlE{ ěx"kRtk ܶ$s0nX̫ZTaȑVUYvyjd~WK7Thȅ׶82gre| zL8Nd 6)Cɣ9iOW?A)\ǚbUY|ӥ^Gy&sU2c zcS{Y@bpDxԝ%(D]D(KIZԎyY s=Qψ%gT5zsb_›`xY ݷKpi4T0`Oc=2nr*FӦ;e=ÜNJVjRiSK|dUl+U.:f'kf8?Mٓ=Ȼ+ey?BoCwTYz^'DR o#½nf1 A,0\^{?{t8}!wZ go A lye&co+l:ۗn9)3FpЊFw\ &LiN!3.0*0vSw bg|m/I (:Ɋ&y IB<,nuTAEDY.EcM!+ԺJ ܆1LmᔮF,,%O]bomO(R%pg&/71'i"ݣ4F3.tvHp;F,@t=J@rdIb@1Zg"pE0T < O oQ9A!e/ˡ|;Jlj{ OQ܊\VviO A>ZP,:!]աc]CB o6m]Л(>_^;ad, ,侓DplQL {CY$߰Cq08<*17+A}$/H|D@K1\Ym[UnІn=,n|se3[S[.S܈EӼ{U d<]q 7;pQz3Pf]Cu UմeсJK8f.dO/< &-bZezʙLBqr%_X\v|)-,nu3F'4篯u}c9 얊 4= zA9Px?lEġ͉D|ĥ ek"Zq<{+Ҙqjo>#a 7ɴ/ H9q">h^EÍVd_$" $%]j_}jKot ݛp#bJNwm@t Ʌ |(zI =(*&.oa鶨PaƶjF8m#Ԇ[Qh)k6C FvQ P7Ϲ5J`2~υ^l&j=L6tD:1۲KQ2&IJf1otMq1@0k#?tIL71YLoӒY)I ։_r 5D}@ȶ/u-xmEvbS@00/qipN;m(㨹!d;A߰/a`Qpɴuf}ych)Œ9:(\g=L}ʺw096)jNElrcFBVaKa;wBruV\%a~e{P}wxVaD5h(4XDcR$ Y)l, }9{!"Lw $N#Ac[Ӧ 6!1R.C85p,E^9Q؅(][/Hx kh{mJ_T zByz' {y̆ !u{Y|]q#Nlȅَ!;xcA[ၬhCtj½D2a9CUb >ܙo1Oٟ]V@6U|~%]9 E0I#M8!c&ϙ⮶]Au1(ųys`\VtDxYnSꇋG_m_Lh.}fEm %rB+4t' |+]PС d3_;MMYF>1Poߧ^2p~@sRxC/ #RKD)2b(ҙIMϤ-WۨX&\k&"k7~cYX )֞؈Ў%NT;H~ +j0aj`D/A^Gz9YLTy0+CZD)#֟^>ua1n;`6Ncu[#MR٫pCtAG l6zză^wK#H#҇ǃ}Ln A)& 5pkbؽ  UPRlmM'B1^uƎ=Fh 5aI:ݘ-b@.~aԯ L.w+ӀMZZp(Cx?VOL]#8[c;`?yt#seQ-#6N}I8×S]B%%pkX_? J#H.$q)pyTY>aq1HV߼vEǙ``EPɮINSe ԣə8t\y)`[^9dXn[xwrk8FzZ߬Fpm5zoDqXt.L9i yV~aFgg!VXAҠjtx*2SRvQ:b{(P*YC~LXhu7$>7[hY;+Aj)p4hbD2EZGK4dkf]gFfaOdZLKlYOun p&ZKiQ>4zB(e\dyc9#6XЊZ;&.l <;y7o)FP(yQx1li*aL_,qp;Uũ[q)8RO<ʮ(8G #d<TyA"X.ȡIPYʣNG@~n:j(<K}@(iM ̦2dEq˺WMi]!tiitZ)¾e?~L1Iҩ|wވsHzoHnk9^EQItCa&m#$XȢ9f4eNK;/E5W4qFsys:|M<+}ZB Q]ÉIogaF?;Q`J0?3 ќ])^mt.<FUPJ?9o] 2AYAoa蹘uWE]w$V *+3]"D@d,|Ak->.]Mf(u$3Jnm1F,೰7jLms_, D3ZyO GĜN񾇏3ϚrYlknwY(4Q7;|fxYq=~Ӝ2:1 m-Yo݄NG etwYҍӟ&wЃ,w2#yBBknW\!ԟVv쑡2vs똾Y c6J[@>N/Eh=Gˍjui$roX~0-B~>I0IN&R[]Z aEW闺ϳ{7kUi ~} ,SOOaolc4j̚&y())X بtJ57>ܔ˰ -dk9>@Q#_}H4`>r=7oUfضӋWB R WH| fO.{DcmFpPl4j> z>p;th1"-& 27eq *4\QPބG;CBYlzXj}q@'8n^΄21{WCZ#q7˾ +:S+׮߽ϵ7KwvB&?w`UB2Aה+t \e&Bf԰I6i0|%m;G7佽/ _ lu )(.@8zcG"A&B$Jb_m[Q@i״񟇞`s81MЪȬlTpi҉{$g1Alt Z y͏ʓS߰9v2H;"x ?xBRSֺ/v)F>R7 wm*I<7q3ihW؜`DyzⱣ2n{ZK ՎyW ABs,63΍eMpAų9>*fJs-85<8UNƝ)2 Rlbl. ;~m- T2ɼKGTL|D^u&"煉g?JRi_"C:08*?F~Xq!7:p)IE 34+;1T4s"yP~Wlc/_@D^<谚% қk#`CEgG {Dձ# Y;s]9qnX?wT!q#p] ee"֏:w<|TZul.q_Stj slW>P*W6MsX>/F@ۍ\.ywCY5pjL!ةtې޸RaY u6L >2©> @X8#Y7Z#ѯ[S *A(ӭjVaSBrb=Tڬ#̓ .j$9@(z=:E‰ )$ Q~ҏFWsv̕-UaL>5PvÐ]ktyZA 1;{̴Qƨ#s?gJCitdYp+_ DCTVN*o4PwIqq-dn/mN˲͑Im'u1}K=Kо4qtpr+@9PN+K'7ko~C&off"x@a+uUq#rf #(e-`IBz,k½B]>| M),"I MPW !G~r)umbSboڟnQO8M|2E=\d"e„EiCmLfw~ӖS5N޵ASކ1xED8)N] 8Z"1Zhn+җw1lxorwGv g+p51s6^[<11{]s <=G❣DY͏hAN'%V[~w)g# ꄚDGS&pvw]&m,2k4Εk6i #&rrEe$RZו4.hUj;Z&} 󝻀dqfnm@S-v|Rw̳A-#:KHN"5pN%.*nZ%4brg!9\s,J'.܄\#I)>%`L1tk;V>K`Nav$UҪsr7Ko+HDRƢt#@e"d ʳv M`O\CN-IpFH ࣻw= r>Qrff,n,,=V|#WN»vސZ9C|/Pew^lMVF 2naLLؘkI-2: \)vB?TS(]}/m1KlM |fCxJD׊57Xa'3j.,{iuъ3QU5ԥ27C&&apbJs 8Wx-!!ՖǐT$=Fl,B$XVWk&!UV}q6,\Yr"%xZdH~˘iV5AwaNg;aM?_fR40}VuiPlI[O=! $=yOB9c[ VZx_J&@AE#P&6@ԢCZى͵t3T,[d; nFZWQ: aoz"9}ê|A|Mvsjِdwȹ$kZ.(dz(.Z ײv+H|n8zh?}HF”qǪ7𱡾Dgi(yaxDV6"X:R(A3KWt4$à?=4f&py$c)nLitIR5X Wyof6p0~S \NI:)i׺ , FB מ=_PM*;2 ~3愋;S^F} !ZL+%}(6>}z%%)@-UNW#8 /r4syx[_,-8.W%lk GY,whDX"➞AL4) TAZAT=p֠rlnBXR+Kr^K՟ՀC̛ʐ/f*z :mN@zI'̚[llyͪiPB H? nfǝzq~x*ٮ 5ctzŠ˫IkX2 ku^O>15?C|еtUQ:TFi+/ef*26ȁǬ^LT(Sy"43 O<@#{kuCKsT21K>>T87DSyxsr>mQTS)%AB9/EW;M!-hUִjϷ}*po{1N[c`y–c]{![LYT! o'=ڲ3s'LЈ_˔ \SdphhT<DZRcz/\y\9:-P߿puٖ7{R^|OuMsCx{9Bg6F&ظz۸x:6Y oA'kz'|[~A>xx5CىȀMOgn&x#** BNAsJAelUtQ4K Uܫ/h+ "}rwƽ~%߃'k[Q-GCBX2OUR^ ^>ORM^mU@ $L Ɵ2#&h`"Qq3F!V'(gGb^=`WMpjи?Խ$M(YP:D<#DQI67!Aݛgb2L,p`kUEMyvRJ,to kkLeхQ}[gU\~'? l;dM S`Yp߭?GB̫HLbe0>0CY!Bھ5bJ͚2tZ_@xQDaie*~W9S6&HhSg&3YB}*=WUKVk ƸUⷱΘA#$ gkUW2j.X{Հ=Mo\G dIЭS?&$d%\(48O~Bzژ>{s'WۑComb1wޡS#Zrr$7tآV_{(8aZ\~g| A!o܉DYCnkC/LT"I*nA:_6Wg]n-&ދ].ՙ2&̳9(bQbFG}x2Ğn@5 6  W#Bވ.]w9W[f5i ;^+^ǹ |>L60H3xЊn]B]`ZAPS ΋z6@:BJ]Q,!B89R;NY"Nʳ,!ǹ&_Ҫdۧ>F:㈗d<KyT'Ls3Ґݮcn6\}hEroǰWx+%Rž М!RwaA 7va"7E,9y?:Yو/5fw`WSf(LPc }lJwZ2,oU aև^̶x4_λ$LonEvUZ\۝9Dz2oNgǥ/gRķQ-xaۺ6.Tb]Vfe ϐx)ewPEǨK`eg cT߶X(~ }_6zF\)A_,׳ډ{}\Ek6| ڌ7]-OM %iejiHmλܓ1-O0b>Q4f7jΖic.69VȒkfVcwdiCP형ڣKv%dXfV,<-ejM&ja–#>_*eQFy>g{f|i7oP_)#/$6| '2ĮGWIiE]m[!AAlHO4'J'7XMNbY<;He̛0md4]PUBxPG|֊|~ܿ۽Wں&y!?iٛEwJԦQ כ$\cJ@kpɀս$9UgweOZ6gU˞ كf}>XZs\)~(MF<ΦkOV'0'uթ䆕+Sx_2YG7Y.k$v6R|$tPsn5w{8{Ti`DJ^qU=Mvrfhp?:ab5yC\o۲U5u) Y E3u!Z/4P R$.*جg'̔GjB*q޾-uv}LW 8|kA> 8֔sC$ZD+~BX9'lMP=lZyʬU[ h Fy$H+Pܵ!~Aox=J Vyv͓OD K'$Dx3X{ɣḤA^ MsM;J { `4i>d=b\)*5Z[лxPa4kyX(Qݾe%65}#(EH\ @Iz i:-<ڣP6_薳R}NXo 5 j#({ `xAg{ pmP 'e)-(V; G-^rrl踤؆.z]&tR뛗h6TA0#'KXJ@ 2-:鮴VD]ww@=CR*Ds+kiXZQb)Pc'_Cг14 4nk2'1@:(x޺h2'@Dt壤0wfγHsRYxZf dk:շIS E̜3o-0S},|G)#ZkN^"i{;6c9=$ضEιDbS5mڐhwSp:?<^4G%^WT^cj eZ>:BـЛSTޜ}Ey7>pbDNվ4KYEHۧ_#4h@#>勵@7`8UA^ ^"%=m jЛ>xO|fJt~8b,dHQ چf`hlx~>p^, 4eV9LnItԆA#=8NJ.&¿(KTn{Q~NMw1TI%R6&<$D>:G; 9Z5XOC)u1nAMٻTyiloc(zb6Ga4異&፧Jem@|Y!y=dHNw)eU} 5~5bR/_=)T MnQ>1Xi1Jig&qmwEgRjZ=O2xԷ ʐ_lL:ӻWA>tIyàWȱi|+e&mI}UKA'nnK꺡Ay"T9KV= c~[iͧ\5Uv*'c{]x7Nl=x$Y!,qXe/z*޷F嚼L™En_og,IUXigS6Uub7')C1#nւ $aԿ7dSD~{C5 xNLf%oԪS ~yQ8~X:k.yќJ:K^Ӎ/h*%mVhj?(- u7b,^)R8aiU[iȉrⱋXBil[ BCd1 %7׮fǑ.M݌pK8uK {+֙Xg='H~ftAحzvH Ŋl"75SN݄2 T;n7Oh ^Ghh $YwuQ0B) nuQj4F|b|'z*{ٸ˴ub n]ƃm\{ UynN+-tOES 7UZÍ.t'@tڐiW ceSF]{jP:@Q)f[WU_\Pǘ;A7P A[%5X"2HWL()ro2Ru]i¬Z&Zo4pTh{/TQx[aYfVYf+fqgx@$L>9AʃSȗ=do"EU|- ĥ)zf??,{:juqY fwu=|C*8?þЌ ԩ"*rc%78]2F B!QdYEiѺȴ#2͏7Q22nYt͹j$Pv- 6tHeK+:=>9'&ʆU R:3?4 9[djU,?qFS pQ/ZW$P#G4Z2X,*13+6)妕 *Mz7cנ@ڄ,QY5hsY8"7vfL!}q0L('/N#.F/v8ɤ!3ɛ)a(Onxd:)LwGA` Վ~%kYl0J8/ ͖,bcC[dwm,+LTrc#C d\sHk\Z?f!G{}Pnnb.1Jdc7'

    0cM~ϣXw.QVOk@HɎPLZ$70=TPꋺ8AA`EKB/ sGFywVt?SrgHMdԤꚣxC ˽sѵp ˁ jO%&Y+Hz|owQ_ " _YM7 کZ!ENU+TֵŴڒx,0j!UEYn>2tv/1ȧʭQZ?h~A葙ZY F^cab4ƌ#[t˜Atq"G9]r*K˩hDcWo&g=CSeUJlqi>9[ˋQ`EuhY:Q墽6z.Q9Eh3GeL-p?qOD_mM8R|fGzRR¥vi 0Et @AA)%cN] Cb,eبş~1wdۜ'F n&9[ؘM,ҔZ!9if5CV+tB6Δ$:FoGwݺ nnG,(mMY] /}_w:{@ {zuzQ: \ JEXٸRebVw1X'+ۯ *I'K^og-W2-0Bfm{OȠWHy%In Z@ s6]i3 )oSub۔DZcTGz73|h~>^4SH1Q4;Qu]+(>Br, )3 a)0{SUiN${h)-c!@ef M& EÜGv Eȵ3"K_]׻rA? ޷E9 0!Sȡ*W=eOR-Seff%,)Wapq 6 `iOBڹ~k vzA۞$5 >YaX5q7i>~3hǐCj{6}b僢{3"&z| hAfG$҂pUwR "% 4}U GdLF_eFYkt/l0w/Ͷ/V^C>A{ No;g&#uɌG7]4GK/`$q// ]^Q9u_ dIE E0b:rͻ_=apn-aOr؃RBw_K/ uD'F]k1SCe$ݹ[X< k[&NpP%VlJ(:ǢNs,_N8-OLjBl968~gۉ|8/ ɒWO&,=-o1$"lXN}V6Dr?DFv7cߖN6~:֐=kpa%lژz56[6:CCݗc[93>Ү7Wl^e!()>g"Gk%פ)LARn6!Pꫩ+CB3>:a~xV~հB}aHWYf77]¶YګӣX c8j5:Yf&zΞP̘ꪝRIgXb@H7re Vu;y?픃ٟLIfT ,cݪUAL0eq m41@>B Ocq;4x̛6es XĂ5:Jml"aW#!0—ᾡ;Ga{fI+kX,h+3[IQ9qZ\xBpv$.ue |7{nF\gM{'ZWk)}+^#O$584-JEE&b&95Y2Уp s@f3]{ek)gFEgzXSLoE?: ΎfÐb ˴_k(M>nfȝ ǖY9c1Az&]dzhhv%K15700e8ӹ?ᄜIa5QʓC#*U.rr媛vQ;˞}dJ1ÖN}3a2Cd=2"E @fhӚ9J~!!67Ah#1?d]\dIb`~c]C.ًVYd,0n{XU:trςC6.s! jU 8Fj@x>V*$s&MdD#E.%KB`QKNXU>pyw,nr!>($6ye*R‹$sEYT)'0#/<0W8|Sj))mTk#?,u9j&2"6)J5vJz+"ereK`4]9eu xl\DtOwrmꑍp2ҿsP nY?`@rA[[n ZD}(HMT|,k%fƨg$=Hю7fs2ģ}%ꊥM˞:?u)v.;h#G cЙ80&P R|w|{hz4='T"<Ǘ D0`Gû0(n`xFI)!Pb<*k]1(jw3y՞!Yi {RaJa\ ~ ψĩ[_p7'/ON,8*#Ϟ&5sRbț+;#OO*|{+R3J/w K+I®#"&P2񮟌M`38T]ѰAd 2?nXTeL BS6D×Z }bt I^s\Va$+cA*|ʴ9|(~*;$(I;τNQx48-\O9ŞC[_;ݗ܅+ 8m7ө4J6G\VGL$@oo}-J4oB)@ +2 =w [f)ZK `τO[ХE?ıjxWs3%D֜sS Pp.S&&k#wA<@x)l2g%KrJh˶w& tꉲT$;هt^Kpr+udS`$Df:8 vF.0TnMiUG^Ǟekap5-{lŻgg[;+l4v $oLV&N~Ad/ iEȏ1^9{U[7@vx#*ؾ(lHWmmwr&][8n 9D"M) Tl?jm)0DM:j zB Ha%{J\Qj.dVܲ1WjC[q.ཀྵ!$^VN`T# 2,['H؆S5tb_TT&ܲu} 0ljZH59VF濄'_^k:"ѳ@bcR?r۳& "~-+^LZ^sAz\1Rľ ^GK!i>C/+?)rBÚiz5P41yc Sޔ$ IC[Y]V0-RԜq50xsh9 oDOЌkd+{b1}%pLJ@!kLgW{_k:E}O+m^[ B (砳<`%'$-!Еf4vbBI}Jgp]ҊYQ6$n8>Jp:4Υ2*~گVK 24DcWX.ED q+0b34ßLhc82xg ^ 2eajowWw5U+L%?ia=j |bpݲoqC][]2!lJD*ͨw]*&lvH"ӘvɁ#ܴJ+_/!`GkTMbDoד= qL=〔o,i#)[sy|kmXjtFdNvўnÒ'TuFy*lxyiF4*Ұ_0}ےb-6"u;8NGbskIP6W-Qôpd7#pF[Jp?,S.=$H=tJ:#E;FAA*B|=+M㝕-N( 6cUhMnbDޅl#ĽKI1U=\=W uSCnGe]~ 7O&VhLJ /ZXh 4 4dyC:)R嗜ڻ[/N][̨)#)}SaiV{;;Ij7*kqEIa()n~G_=˒RffJX9e- g^7!bLXb Bz)jSOb?^tff 0u@U߃Yd<ߊC0Gfnn~qgVVAMh3{;ɺ:]"U{u*NLd*"Tl5ԵKk)m;mg]|wu1Boȗ @!bd!#?k:$ykL]5vˠs/()Uϫ*KX] Uŕ'(ޅE 3tl< [Q ;G-ߛ<6τktlӑ՚~ `o4<{ ?) FzD#Sx 3TWQ_ɅkqC=oSKHkׇɺBV4§lQbzpU9yĞThLi:z$\L$:-yl+z)a 87X09J,M8 yQ b:{ WnϚL0as. ] e =><-(E*NŹI\╋1|M{V>Ϟ-.z'_9+THWB}j.(G*¡l9bN^()i&ҶV{Ĺ[̝4ܪ45E4KQk-E8GK]5k]Iһd"%Ccom L&?&(us4 R=񥂊A5HC|Ap\KL;1wj'lIoZ͎c4uϧj^o6}K٤YFӭ6lzR/lZ賔8+=ɻI@?ff;u9ݹzl|br!كfok9ۓm#DYL%5<;Rk8ֽʐAA?DnmLR (#XyZ`I@k4Pz<=4wky.lۄǚ:6] Ex\7 n -[/ {u+d]tl<҃~/pxXip>آe Sm2` vȋmMY C[؜D_l$RlRd \ շȲM}o,3$0v<@q J=ޯk(cW.N,}:}-L4 _fY&Jvd)ձ9,[4lu*)FGrޚ9~_æ ZD=QiN'kJ^ݐ ӄeD;oTwZXl'ZN9 \lx*HB汖;^2ɧv ~ `Te(XJ'n4aȘv$(]6֭ͤqqv!^:rAll_*0Ɣ{-AT 7M_aSbA}cwC:0OljL+3KIM%-s_QƑS0)h~6|2ݯeTcЪ>Sg,aFv.e0Ϛ}U؞'q2@X@ۀem\ ^`_ g1G5"15+בnr^CcA[ y`=ul!'d*}XܲDux| FJ6mg}댾[ƺ.T]K(O>k o3yDWY6XL|6 CFh3D&+q*;<.ɓ)qW$ ]jYh&Jo9k%1xa!yj~Ée6{lVb P;a*lu w.Sׯ TA"},wV!ݝ1hèH 6*`,5ղmiբ Q.crTtgiGZj@kԱ)O̘њe&'1Aen),gyƬĽM–%+@~"äXV]:*$tYMDNt3iW% 1hޔ"^=-Yeȷ2glzNL'Z]uyg0mœڠ;潍i!׷"7?Ln5ZQcU ;xebo |Sl";>U(V0 h[FZ9[] ] >UÕM}D;vݑdA@R7fm6+|Wτ`?{z9/FtD&kTf%hx1}X>T!.g7C}M#ȾQ猕5mfӕg,sڞ1(]srlOMIr̜~5à"V4MjFPn5W+ÿbQFIo y=zVY̢KZm j:])1~4J/}fT2{+^unrNoG+T9p8dbrkQ1FKB[]N :jՆ&[m|lsL#$-yYt 97 p}L-j=P`J>MKxhҭuGs29waX5uňŌQ7oI'-JB )op<ܴK;i:n/4A ;Fݣ>x 8 EHi0aj# HSnCNO)>%ES"Iw#Dr݂MOz4ű]i-JEuiLR]!y+ fzwe)49&nRZPxB-3*<X+YU|H/iڸN> 24>CQ^|]IyDYC4؉UD#a0p(~0On`ZEY"ӣO7{Ͽ;MXM.=$D1,&uL d[Saa+|Lve }mNqt~~V,5cj~M]wC*h4kOHfW2!mM9zjǩ5s4#Ǜm0AX x/SvF%?n2r77) p/r 5rb:¬kBs0Jf}[~2Jm+͓qGvύVn=܂^ɖfg䐷DUb3Sru%C8l 1v4Z\|ٵnܫO= YbqOs2d2_ hN'4―@9i8 3N}s21* ^v`YFwD]7 m1(SO¹jsy, [㐭ո %•f9O^ZqZ$hAf+(}IE|>o-W:h *] 4(=pS5<1JGBaJ,]|A +dB̵qJP@sM6فo>lKߖbZoZw +0&!^} S>G )AcWugxo!QZbQU 6QIey˗,rg0R<}.S2}0QH1(yUFoɛШkv Y~NvV!̾Y9Ƹ-U6GĴ15J)8t }HARaZmme&Ut6ReLFIFHb8_?mj]p6SHr}QC\)Y6^7lygI@sŀ( CW]= JYˠ-1(!J` ,qM^ځw:ޞ/=U|Y+W>~`ZڇoLUJD2ĐDOi8|HvZ$MM%Bѱr=߃QߩǛD"'i}L]> 0~)G\ZBdڏ; &7 W[%V)t3C%#/K.&h_U <͕c`^[q i8*aOV~pt=Lt(sj/PQQIw[tbRN,@>ᣃ]98s 椃(5{2B0ce7&iTqgv+B6Չ8l=o$~.kɍUv80Xqp-K܊aWB+7l>`5C] |4a&bBj\5?@kt{D96ۧ՟X/U#/p8=z$.m8/-_c<#?6"btRhN9Au=Yj#c[/s 'nˍ:>ٴ^X,or8,^D)*sy9pILEכ^2ya_(3A!_ w^Jh,qV?9߈}{,Pgo{!u1&rKo9$Kn\;?̼}i>[C=R+dv6|d_kh%P:?%^sRU(hID26TL#"-I4n bI maaͷ1H6fUE+VJ 1kᙫB@Yor4.%\*Bl_k6S @ķZj bR 9%Pc_CFV"Mfz d8YL[џQ~v5Wwkd(^s7Jp\O[ïN0r yb]C(2" 7"6naԀyds63f_.:9=Ff? X?R4TC,+qD^@'iR6p`hFPݚ- 'yYt;S9Kͫc^sTYt Z7;1Qh3&yP`{8'qLY2'HӰZCCb:r!eZ,@ןJFi8GʾUY.-Iq#O6hÚ5ްEj1 NSiI}Rvޥd露N0aa/FOg]5f fBQ*bNLך#&`*qQ*Ϩ&֗Ku A ySKQ1WhiTь`[PlWرxayG\y=Z<>ԮA!ť4bIU> W7gkͅeLڋO&yZPiV21Ѹbsn2h3wn&.QV MhI 3$ط\*򃳡o3^Y=ѼuO}n} `sk\&z`I?eلFvbp_wKG mt҇Әg;mP՘ Kñhf9z:Vw'PB#M&ч~qN!NcɵeX{T߆&Sb{HqӅhz]kߕ mIk>~]VxMۗڴ}l@EA*&"($a(\;Eù8GLd`b4Lb@%|!))x =m#Y+|@:(kroɝ*F(>˽U) \.tW'oH\pB@zծfFgJ>O09>I(~yR`*ѺQcmMOLhYvmwJ&ID#(iȞt7]6\;4R+B<>@tafd߆`t 3xDҨh/ʽ&pm1Ӱ}OP=g"} "9EDfCC7k<§Q͘f?-30=/t@Lk W5{h<<5>\ԩnj>qd1r})edc}v|aR вZNJ'"^'l`/cNp;_%"~._]F]-}4Н#g>EDŽjޗMB< ܉Й^0=rS"0i bQih/i]MpKIF^ XWrtԵar/ǕU@?jVJǴ~UDN s܀,kl;Ѥ>yҽVb}.*])ߠ'"[p_S Y@D]礍Q'Bn 9+ýgE&=KR'*?V8!md1tb/_  N/xZ]drpO63.ZNjX$(.Zk1Hxp:<B )n9I0[m ~}28M!~ Rk }{wWPKD`PM9y1gxn'?32"C߂NțEY[` -A!"r$C,f./EScC~+OEդ lU 4YT6呥Kd4PwN\VQu>HDD` KްEN/U׊̓P ԆSs(uNg!a*b  G2N&v&j^?e br%_FUZgĴWRySTPJ J~8Y SZKrϻt؊p&9 7 A1Mvs"'d2eUoف:q`KJS9$J)qYS~&.ZIJ twoEOa`wi׮71&V%ʕ$' u._sežnU$:ßt%s(rjY4+T?=+_ zI@öLJ Ql1-'XX إG6Y31`ȩ'$pϨ = wpg=BnrqDEi &ʘ,ΏH[Fw@[['B&-FMbW2E͓ ⅷtFKOE2LS& 0-l6LPkXۚ]#T鎴0It+xqx@VoG?Ht!{? l봇:9%lQl贴Jq\vpfmח | AcxGL)k},Jdfe6G}p146yE@tY;!*H f4`AChwj .^Ag6"nm:َz/Lpu/X+%ޏ@*ls0[fmG2Nx2Nɐb"ADL/dn4lFQ= թ4KQ5E=?Edई%Zp7w=!\VDv64AIqJv6ga5n\$.K%9TfE#l Nc21e9&K?!B}Hd٭[u;9Ω.Of%_d*{ڹgkx9l(e2e]L?oM-xbl[¯R)ҙj8,#ju{l3qzߧ J ױn@֭n"# BLU_o9aJkTXZՅI٫d6c8w1 To3.3h%r3`/1i{t x9 !d>D#_ߩc|`<2󎣜gWD.i<'<4l{&)[ѪC}{?x\?svCN:tY;`ko~qj+d?'ZHjIC~Z J8N8,|booͅ(׏ʘi) tR?j&+CnJ7G>Jh|:f-N8xQ..}z2-{ sNjl*>mw,1AK c` 0OknP=0•_闩j|`a3OcisZNFb/GK f|\0zIFؤ 5WaH,(QP49WgXRojr,:t_~:?`0)5!%I4 ;/?kV\KB2u(/Mkfl[{<&oԀ 33#϶jYu$VDDeZMz Vl%0q?MH7ɞȷAsTw+^%ͷBgzi0?xKd♣=ۏ&4jn\id/+Ca!Y, M: B>n7(Y"f-\+5 cTh 6hS tpy>Ȕcr%nׯZ,ν Au|y( e)dB`d \yXX9~΃#M*f7I=NA_k:VH\|Q` aBcPkAI4| ,L*Ɯgy^"ze@g$R4?sH<]uZSHNZ^J 7^BM[>k3FafӆVM[&Pݒo{x0Gi^J32Ymm`l^"?b囊#}}cv4+@G#ۦ441%Wxގx ^]?W'#YVcZzĞpW'7(Y&?VkU 44~iC3PHUԕsT[qTɹ\\oPT&o[ ̣&R튷ҷ~)#!!^))#Fr*؀a(uOv|T\>z.bBhӡAol(I&G|{꒵qbIowBI-.g/Bz+ oSF)4} aya9_BOgoMP;E.8ikU:(|Fe3*JRsYt&D U,!(5Y2MM meL[ WQxZ73Qku]nWv۲^ 7xux܁BN7(v) k}jcZo+ [*z>Mgd:~rMmN/|ei! a~薃 nFjcn~ih*#A#̫{h??B@R;qj>WC"-X 1nVƒuVZeD𲩆9鲕qgt`:ǴnW{N2ĥbh!ؿzsU2ޤA m%Bi 3y@w fXy]K nysK )ra%iS·yI=L*`WBg3Vе=@]%hOmEh)W n02 5yǶz ],IoRd)wj`+嬎&cmL:/iifɐgIaD%5`]"ϡ7aT4u[>c T{'Jfe84J%DGoS|AZ;FRu#VWa"\wwb'fN F1Egq|@i;1g'Q5<5gѝ%,2;uq@)%x1-v/΋8WlMf0[f4mԙ Y RWl&rT]A-B m'G Ad"]{G4ܸ~w` ѾKef4/$.EJQ L/SO^\CnD+I1C#$Rdvf~\,ˁ3< GV`&-m: bql>S{Ԗ[eERQ4_1{O8=!h-30S#&M-<[|\b5^usox @q/Lr3kkPyCQJbC*\h%ިN>,bjY_(-KA`l|X kfKhÜ2E vQgEh"3ߺzIzX~~hHI$8F>6=?x0]u'A[čY֙gI 3^D݃n Jcu'C|e$Vid{-_|Baũ6hG[¯S.Yvt:xb2f+B'XW~JQ',K@>"i]g1UO^s/_=]Qk@->+9 gފRm^C!Q]Ά䮋(>K(~].XA;AP(?@!唳#1f$.&ogS(5Wzӏ]n!f27# N5-a{dWm<Ap|$@}Bl ŠjC \mҍE\%x/~*bd*To 0980ՠ?GfR4?ƨ٥9ȅ_˘BbR}x|^& M##Jj>J?O2>7R"˴8+80jnI;|."TJq,mmjtd~R'J(72' C,&Fv(ާqRgC5+7Y h"$ d ohf*zi/ڂ{]l꭯F1hA򄄈 cs Nae1`'5Odpw u.Cjy;P)B;*InCm5h+ M_pW*@ƜseYW>LRa9=suӗoqxz3_a dbE, ԃW^*}~TnhNFrN|wX)z|FI8Gzs.%h{Ϛ:Tb~Vsj<'8iM7na1^;Uv ml+aE6/%veh|= l9\b~ e|B9s(Axi%5d 7p{2.jF(Mm=ɪnxyn; >ėbHv "WV M4d5k? Y^g+?ΆaPz!fV(OL,qii#.6( x4 _}䉙xMvn]:u4c93 ;_ KN)=f !t>x:IM ?G9 pa2{_+3&ۍJr2P M֓-Q44[y>~ W/+n2 |7Z:k'9>2hk9ؙdohphl-s Ietf+HArW;5^Yxӎ,]ڐ̌߈)lڔ|(EH;a?a{i#/mKn8Tip8\~w|jԴb]/@iK>fF3_w~  }?d!6ŻNp{O#go9..`F F| B}S~gx&W'Uގ;oVYfXԝ2^q ʒW#G@=]-FhKAuHC{Lc,4SjjȦ,;Y[aA]І?nA*`m>DaCԡR9alhd/;t#(AJO@R%b=2浢;68U:->g9DT\e]h ޴sψoߝ>!Eb^l}z-Η54*\ X`lC[ZU߀/Fz }"Ìg2^R1 s|)|<:=Y74#p5{w9CvOn]sdgWD.8q}tT^-pjɼysI?G-JTE 6z&QL:zKjzkLؒgҭrWa-0h0fA<ȽAE)8&5PC}aA)B\Ųᬱ@< MQ̎ޖ}2IR75 v& VnK}Tq?yb9 RAĬcĨo*N X ${iM@wM8-uqQJLc([9TE *{iWuVc/)bێMzdGGr6wHGq4EJ#Ao +⠄81.S9%+r_o@ \qzLyDڙdLWM7&oۛ)P+zzI凞l-g$ч/uϔ_߅VyOet/$ EIX^ 7 kUGz?U.[ tRˁ;/dφYsdoH+OU_@\wQlyJz*Dhw20_bxOYf:+*[sfG!٢:Yƽp^,+ןձkB/d@#D14ںV'z$ȚŴ0EDuq\'<-f5D1Q: Ԃ%W+@)fP/qC`´n^]f#d^I*gHeRl{\ Pu.݈Im/>$[n[f镵+r(v$CyOQ;[Q/#'wzª] *ebvz>_xYLsL!{[YO>r+ 鏞KɶcY54ΠXf!$ZF! ܀ݳ]X^x@ D{c#?Oe J*8لկ֢cn`6 ?tlaa@thciOC-D_CaS7+AyEzz4{:zj{\V)) UO"_dV:_.?0%}*{ųIt<8.̍.qrÁ.)0yFc_$߷Ԫk_mty% f!b6]3,=ߺ#1="3GE :tn>'澞ƃIoSٶ6|bsZw\ЈrnaJtoS:+zD!٥VD<zAõj 21r̃6'fkZ>!ȥ#@ͲF?tn0c*y[U<ͮ"D 7xQJe md}2MikR 53?2xѤ?9\XD;Dڐ:bI;[r5K`P惺cnK0`Љ_J?s~)h2am%HpɊByORy=)mO6>cȃ)8:i)ߋ SVrbn3X~k~W1o$J ERS{¤F1&CZQ!SS*ܣcXp2(B/ª966@yV<_AhҲi;3T)V~w08f?bΨ#V$XƣB;ǣɧϧ+\vW#vـ$[:{P6.Y(YߵH?YrZv_8 dK|Ij}m f~Zn] ec D^kןNZdqXU_ɞO aN* QUn[q78tJX.f` J5A ^ƍe{`-'u=_}Uu7(-e5X;MbcNhVBǷQ9wTBzr2Kuȥ\RFU1޹`}efG,Wl1wغ,"mR5%: WY`|ǂ[^TZ?t#D-E;Nda&lds`ϲ~Uol-aG=D=-09ey|c1yk.L H"IR3tzw K@qE{UpUŪf|mkгB犊hmTߣNjEЁ?Yf.A;x"Œs@t.Sr(ü>|ڴzʟusVk^/ :>-&JC}^ ؞mM>3S} Bbyѭ"Qz* -gp7R@~";w轍@.+z*KE՘,\0(Hy6`;S%q3G Ƅ_}fKdvNT~ip2} O=#vץJ-B|s-_ e gbA6_ b䓑Ăc[vUF}S@b@C,&UZg~Mయptk DDlH H 0U ¯Xl w ~ɺhO)pQ{l݁TOU{gG HGV|U}B\t2>_n6~qL>0^7-,>=jf|8]Ic2bsKTzUmUT3N*ƺPG½peAz{E |?KX(۞'yS]T։Kc|I\Fn/`bv@[N @8>HX~1ՑILXŸ p$2}>Xx 9 0:kvMMA( M ƪ \ñɢ2!&ՠHU#EI<-}ݦma ڿ2%R=1)gYY RuGJ:th`LV|>߮ެ2 NF2mbg$vhThw^iDKR!+\L ) SwF>q-ɫ!Ǜ:+mr\HPCGAfaN &r$6fIgjkЋ˅IRiK3@S?QFpõZpfk&â@gxEDFNG,*B\3A{w*_>FA`4]:9tbv% i1 =mw#J"eebZn-1X :M Y^|{Og^aȗwgc?$p̄SC4??-#*6j',Lj.vޟ\Y22Yîr?EWz`ZS>[߸l޸4gyL߽J)I}tٟGrErĻN?噝 ?Mߡd565*BqHӍ T'R'V&nћKAqV\VSۗmS0(Õ׹K%x@N\dKY[t/0 4TK-B16Aj14j6EXNGHLF9@[mfNy֙:S0B@>\}ە`F*gW+U.t;fRqFZ#V<˯)Ki 7SB|46$4ki2|agt3;^I;;(#Q&\WupvR/b}QmE9$uX<=B^j & oy7.l :>ӁGzHXϨbKyBMPRYb <ܞϊ q*Xp1$͈V:sb[-z_)NBЪ5ސ#7 FMq|c(8ƍ]4w]Sѵc۱ QN>q&\ӊצN"_" į0бlg?`\[$yvmhMI'O.8yxY0֖\@cm#d\pz31p G/z)J~~ܩ8&JDT9^azʀ7hYC;$]t)-bM!ms1y|\YVGDv ?T 25 ֠hmuEPJ{]L~j9.>-V]X ^S<_As̯lJTӈhfrL~HP xxҎ&v +}+d+[&9Rӡȶ+>3.uȽw,ԙHᄉD>J_hDEmJu; 1x=[^fwJhQ"rY(\(Hy=e[f+Y7V?&:P8\^ڞDƿo\RzƽsEs?Yi[lx.蚸>.墂y5!=":x1v+"ߋIAUiX1/46̍{ߘLE~=HpĠ LL/F!i㞵ϮúTW/|I)l,/!%&G''܌{ÃycԔe^*# Ƶd8I!n)זηof?}h,8]ed}Iwơok(ޓ WB `u[px n-Cy>@_y!e B0*^7 9Fj,K@r~y'j\t0/4; &)ԀC7:y$Sq] meJJ5V$Яuypm=9Sx m@Ӿ=3St(EB|L{cȪR=$[uV5)wq5G^]id?ry1`) cSDN Sf49C tFIOSuM;9 $Z+tLs &UqkEϩ#Fl*\pi1!6j|_Q$l H=֩>hyZ1FU}O@֒6ȬxwcU* gֹ:V~)a, GD*[-Bk5+2 qM){~6.LH߮$HSTnc\ғP}Du`)wUbv Et13NgnugD&KMM e <.4s;&y{>Rُ3FEߏd}? 2ٓǷn$ Tgֱ'hMihJAѲG46>:ddJ3xջ,`! VEa8cy& qT1Y4y9 ʋ!VHHKifTY Xk‰,j)9WXnt\tywPF.:mD$x ZlJj}NZyyxwzzt Q+7|/ijDXiFmv̿1g!_,nChydK4˻$ύpHuDw2d,H=_V&M{S,(k &=.4QטT|A$.%GDZ4P(l~y ABӯR73˟ nҴG֯hC!QKOIi'im-)OsS "\8"#BaW,6mK>Kcݮ8րQ!ON@i$T:n|5wRlC0`۽%ݬvPoJZ'y"&$-Du}<$,L4eQrwb*B.V$[Vf|Y(v6[cƝsu#'ʁ;?BOM53paȦLKˎѴHhڇ4m<PiQ7(n3ڦ|5=}vttM.DOUy ĚSh qtJ-wsusV\YwD?+&ηl4m[.`odZ-Rzx5KȖ O>nI'Lo Bp+WMp0^rmKPwDj'N@Gk; 9bWYOAxrF*{*?j#f_Q @EwQ,cs {H<$=j], ȟ_}Mix@6,Ʉ[~ T1r}B%oG,Dky(/ kK3Sg`dA5guS{J)ަ7S@Ip2?ťf04u.&zQ21 WdxVaЮ;XÆA4_զ'.9,-7­ y?L̋8¬?4a_ BVF}˙ïk5X;A\_Bԟ Ƿmk\l#cPZQUn,6) Ӛ\ Z<|^>֐6WL_ Xt{%"RM?!Y !RRXyDTӏg~nE6ލۀS6NOخuNnnΦURgՙο3[r)7DŖ|isJKQGu4)xZaפnO.iD4mMz =vppEgjyJv鎣9%UG6} ~ȓKՓ{iؿSK|/:p+k?'$-9 qZWw, pjK Wj$7TTbϐWv,Ǹap+@خkur@rҖ8AK9勓i8E8Fm;l=b"2}D`bBeK(IA4TMؼohF<<KT=Ttؠan=dM3FՔX4~:o[n%7ͯp 1<{ںS(& J9UFj…&3O36&/~wc\TA2Y,G<Q@4'"M;\U盷z %G>Y m<HyMaiϞC)7䎽7p{T&Sz( twZJФHR6V%6v3黿 x~4Íyњ^ǚ,ɻc㔚Q>cSW1^O mBaY_,w!DЪŊ%-~;VCc9J kR9/്6S~kјT ]ϗRDx^3#JVM&wJ񲶑{ә ZoDVPv|{9pNQH|pܤZaܚp_ɯ4Ut t­BIǍ|]%IW@ (~zAkS`VMdYη5Z_6mݺHT_wbЃF*hq9 ~+ʤ=p2qcܴw6%<\|(_gi3S zGe?5=~)&q8st4Θ"O5v WUJUj/7Ru'ӼWP3\yU)˛aWdwo'Y1J2.i%ʩN#ӆ9q5ݰL88arUKO,*;=HGIUf00Oө>V&?|[{}%ϸD)9|!.R2<5 Bjd-[2tWa/ݓEϳb:= s;zµ=u%%g9\Y%({гQ)1!!M@f.+p2aB[#Ǹ-i PeiُEf VlFxpJ Vd] i#s&-^n@휦>"BJRBŠa50_&5rJꡝzoNB/ 2|RG#>[(NC rl6SQ,6ڂN3s8juv1<:w2E6 )PS!W72KLp/?Uwڣqf%D8=dUɝo2YyHT?0 إ ΁>9d}7r^&D 9*ZC6AX`:p #b0 fwe`k€JYgOJ3L +!)yػEm6>ӕ6)TgwMͶp>2!HsH =Vq4 տAc._SS]o\*4FE M943ۓ SLQP@A_ju׃`UVDc!٪o>N7TY #M!6 #_x~w懯i ^5fp,j58qHCaNԺW^~/N.E[ יVNtN}J֞ާɍo'_"'1JC1Cy6'bfHI]nyXhbEY!MzA%KY`<1OИxЫ tqaYP(AFNoyґ|v.֩yeMQ9-D"Hc|ݒ cyVlu/e;jnmhdD!i HJ+_lmy5SMw J .!kpC{3HVPvJ+_9\,FQECH*5X^ ΫtLN'A12Njy 3j|6/:@t*?Wmmٿ~ݭ "bsmd4Ql mjphz03%ZFSz_a%l*53ꟍ:)SN*,aH0onS bHQ#I+%4x0E4:i 3?a[k̳)1/ !A}ȘX]؏1et7g-znNL ͍~/.VHyWKB4C; ESd& "gz,v8 Yyęa;A/A7c"ޛ*੔4LJAH,6M's3Dx@h/]'wW}]oD_Ls8OLO+2_fCQ1+#IOV&=w6=uPȽpFwʐ@`?lp'`цJoK=w4.W)B̜/axMM͙֟rPC3e/j{@K&=Eny.22مEQ$ ٔk@,?(&sHן%|2ZKߤ]O&gmjBq&Fϡs99\ ,A5d,gyigQg2CÁݺ '6' 5 @Cm$$Ysw5b*8&9H1l5ml:ǜ܆]1/\=K-=< 2@bZ叮r#t[MQ;P`oBmx QBa0_6*u2[BNWȅڃ#G+!y2ޔz".`*R|}.R0MTrf5Ci UH ^b6I1BsL^(?Wwo\\) ыYTw}_r)zZEIXmӶHل߉Ks@;{jmmUNA!qNwF@'bM/}ʼn3[_ńO'cxEz{06)9dsَ AG_HKJ7$+e'WYoZΞܒiGq^IiX"iEϰ*4b_!eFh%($8;=L0o*jT{SNHvz{>4$sPd * x/](lˣqIgŗ+~w={-W }i#\x^D]F,.z9*[D>e۔r{cEY@ |ZH;̢/l xq1ܡ^9's{B5҉k3?l٧Wd(D$C G(;U.$sj4{@r@CƱ<IVNiBђqK)fa:Fg!蜴9K nWPJ閥LEWPpHoRLJ:TǝBT&0Bjb/ -;n~TG3Wc"SuSx{bP@iNJ8kK6yHHCȫrӷ0h ړͶї|] a'Qz!cfY z2ΥX޶?<8?f xX}e-Se)_g1$?e#` ;%a1rsͦ>1&h*'I=g3rQ0tM'q}Ҽ=_:~T{T@w&Vm%U 0=1[6.Y;/b΢#ʢ:bj.MA }V/x92+Ďqc\IuF-^'F|gIʃw~{V!@y.$'V;~ 1Ȕ&]^ pS"b5B]駆Wl|=ffXfp6P;V7 xzbg.Cˎ%R@ӂsb-5mcu-R"(C斍j_ۀAkL e3$ !ݯ,uu8WZcLPD%!/H<?ُO!^6tE9n˺/Ykp%w?"gs#37(c9EqM0T_]T66v{(2Tq_FO}ԇ‡:UqVMcRf͸@)«b*֠0uâW_{Y8%꙰.}8VġWq'p6X'tu,̍ Q3)%V'R X("Ah~&L0U˜K=yLzp%yem3 "lQVqn%#,S6n۳B@fߥ*麈CIZcZƓ):#q3MqJkXϵrf "[!؅Fi΂a~KLF^}oBJc{R[ʬK@}F8z(Dy_z$aeaPTEJ9zt)[0ju(䣙 z8+MALCyBj/ʘeOdֆ5W￑1$EFH?SI0*X'Ӽ"D\>QEo3~-|`Q,mϤTRS~I@q'7 5@p7Ӭ-hw[ )x<94r#Q{K)Բ% ž&RDoQ ]7m' i( w@`5HP8x0> YLA"ٝu=ilqr#Sicпʌ\ Ra RSŧ'KAa@7j>'\#=b8X\@W b \ׁ}4A kX{ ٦4B:9Qq6K ދ=keTxV?Z<X2n?L)u4RMU^4nRƻ)95=хږ6qisPZzqX#mԈUrSE9B燙Pοڣ JreZKS#KS֑vhDp U/~Z|ZddR3,osP.Viq Q#N5V!ljh #qDFy{Fg 7Hwrn&g y\jizꗋ, K.fP0J`cx->=_84UIn>%QOSnA/:['c΀ËF0^\5Ϛ c?dG<{]173:LK@~gsp[Q,l{ S)JXo"GW_j7@4I\"ac/wů9>N6))~{pSz 2V&;?,n FKPLş4_%< k8(FcC&Q;u\Ҭ+Bo>F۳Wd'1Vt*C=%@U67;00mgƁ1oiNX"m<֛"tiK^9M$tț5^t P*Y`s,C%lRxǦ6Bkoj)<i!Lk(ȹ$F}Dl=ыkV>(*[,g=XQhup巩îAk$z; h% Q \rw^4|)8ϫ |vXzع굢|LJMKf6.2=Hաƾd>΋@[mNR!qU?b)<{It}- لMnzuM5oRy_z+W#_>Eg(K'@z,2.(nѳ5 G=cUA7HTBD:0V (l.\G"YmtWٚ%)Q_CqFx;W~cL w([ 񍘂WE):tldˆI6D6gz'{nQcφ摝!V.hs X{&@IuJ9ug3eA :W.06(ng ٸX2caY-|v:IN' 7yH#!mt?i . A0- ģ:osu|n~2?+t|`[[V@$f7UڔͯgW4ٽ^^t9 SĔw)\(:o:%F\μ+)f/xB/Dyd-;!%c<23z -PWM(G,@Xv"X:3F ThgF㾔@`Piu.SV,'t"sd .rY۸x${R~cPGHxn1AuZYq绹$/2qJʅ{m(eϔP秛s4f4~Aδ5 (Vy"u܁(V#Eߵk8u:3m_RX"=y11p3OY%ә7)ۊd$((RNnX 0Ǚ#WFӉ,ץN-!RCFaW(ݠWžsS "3[?N7 A5}d2ٕ>4Y3%vQL5nW{+Ftz2|ngY􌺃խC$1"Q+S ,.iQ4Xm 8acNP$I(*4hۢ~Z1OIY)~R2$LA\Ԗa+2YcznX?ѓ*3ظ!q"ޘH2`Q|BcPET6~{ާ.|*G[xr4@E ǝ ruۍ| iJPaܗ Bv!W3h&vN˯'Ycz&e;PVa{/JXtYs ,@7'^') 5N/),JK3:AV$[b*h| ׌rg~H=˾Pۄ$AHhbyg /nUĚZeͪҾkd|mΞjlV\wb^>Хl-ʋ+Eo35c~q\{)X"ݴJͪ'1oea`6% k(nHnSiZK"=\V8a= Mz ^PVoV#-Ng.H&i CU>d+VnodeJަ Cx@E)R=U9)j6[;JC 6ύsٍzAY1T/Eij])F_o>UB ^X1H7SqM [iTNJ@=H'<Uղd"E6dsrP6{ۄTcT;Ƴ:m{:D= S!@gj!-p"餩(RMnDG0x-ϯ4/ w_E$WHMg =ǻזd_)H-;@ݯ}nC7~˲?vD6Bmx|I;0phaEnt!*F[=jϡ_c!gW[!(*2ϋmV(Fd{#VbdgTPIsEֹm=t暅P`Tۼ;t'66>xvҔM O5z}ST5Lg` 뫖A}G̈!z:{T?6J%V%$% E#]OxT2qCjHYbH B5h a\Ŷ26mY+U8n3femU=]U%ђiI.WPεj$eTFWP =um]^MGͪŅ< P$/(ˮGmAV^|/pItW{6Hb߱c̜/yyԻ[ x+Ym (q!; LXf{Jtd{Y~,TiCZypPw^腛)M>͙=Ra$]-K4c}ʪ1:Ehl* Nn󥔳ҟPl1;"rrDtlmKO#Jc p}i1'qF̐5-]^DSy{tƻpxɻv*8Y"FC=Ũy_%h  θ?#9qCy"@ :@cwd?}0tp- HxEn.^v Z8ErBO1^Eoq'y}{ /3lOxvW,%!:,Z -+夹hAvdc)r(|s 2ˠF3[7PP_ިnztҮѠjVG:l7&k?pV VeM 2Z;FVNo0փOyE*ށHk$@Xi,0bg#n_ q3I6wƍK=x6w4O,۹bs/JBFsLc),b_!md5c"TtF\[Q~-R5']Q_%ڼpTJ u@-ŶH,c 2+$UCjԉPR#`z>n1R3dmܿdT@YцJ-Y&rŪJ8:B6: A#D( a2# Bi[ZG 0uA9D^xa,}_ -4hY|27:Vǻlm᭖P +-݅A&VzZ~?W|  < l!L3!fy I°tLy$Ç?5X|%T[r5_{ަ(j[kO2î]</SHiX [ęٱ[Xtѡ~9};^%h~U`7{:_&FL5aIPy` 3&A$JՆkI m~랆{hê$l҉Zgȱ|RytWĺrNd֞> k+)#ߋʥEޥʹ 4'vߑmA0Ug%g1u[W,$,2*8YvڂЕ`q˺]'Z5*9/E5U #.M '"_7}:W F^krB[F`OSIc.66dgԲ7BJbZ}EՆUtґNem>,s r PĔ}\,i+KP_  hh7*<{es*ZQYWG @L;b^]dB'R/9E BhۃK8 & P*_eO+ ߦx0^]')Q^AH]h8h <"|+VD5T6ڭ'i0%PUtˆeH66gC%x|f- 7p - {GQbn'?5 rֺ1N_ܿg:k#@(qUx*R(Y&GUr";3QR1kuTз4#В)Qɠӷ*;e'؞ ~{Cu^ Tnޕ3aQy?tG+F7yj+ۙ\ K ̚;e2E֋)ÿ>zs~)v 8r2 =)Yhg^ZB׫! G`g?GKq$Wa(b1Q༔poW[RI8?x&41xpJ9d-,/BmR6 |Cf@eq?zCJJ/CnF01gѭQ`ښCkDd+ޣY3 HYd3M>yUq<(ཿs=(!fy"?/!>ˬ餖I. z=w~T8aRN΄#c|Mէw6Ti.xdg~qwA]bϨ߉ޒcT61 ٓ_ 5$Ujuse~WrV4KhW%2q_\3fD{Jm ?q`U8{вx)sT^lm:хRu"NLMݤԜdfu b&yDVZ9B ;]vrG4\,KQU)dK-5[(y?F0c,|j~A{2pzyE}WYܞXJ=f!nEqk)8tdĭ lQxJQ;)cEJq. ]^X 9Pb'+G-P>IQ{N~/h=Vg&rJ$]^u tݪsˀM T@`Xm.p*c%hB1tTyJ=iҔ .*! }dE#2NMʊj3V\ΧZ?fr:g ᗭ//RL` p7[_0ԫx9J5ۘgo33%2v2NS$jҥ؋u~#ċ$]-OdG @W {z1ۢ6y d0/2N>-N۵jfa}ta`gP?6νNaBOx;27zWa$!#B|d gFVGi!I3(2QzwgoُjlE@W*0/Z5}w#e` :vCACFf,b.gFD <Ð3sx:y.q6%ЯMѥ?: cAL87<9 Ow0y@Z-G;} +4p+Vh&Ta V"K@lcixiG& J;a{섴6'eQi&^fm|C?Qu馤. -dYkCmA-y\#>Ր96R7. -tKS` `meZa0+Jɱ4lmL\o3x}R6Y>k\lFLpj}6J^|k&Pc| v#G)aO7?G̳:&wHn4?2A11g+ poqoIhߣ[78 9t/H0W~ţx%)Q k6n/],0uYQx4#lWS`;LUP/?F/;'O^K*+KlQQ0Q8yMjJWDxwϱD\v9ZFmTiE'z&\ꩊW`ldY".m414"_JoS&)94D&@c0$S{MDf=rXwKBk>`h.l6ՙ)kNGQg!AiqTn&/Skf`JqSU4z^ѫdMM/g%JHc [0X5$`* aX3(0:VoU mR!p-P:KÒ:,Tж]7wͣcFmnW:r7]jm6 )9cJLN]ANK>!=gT?Mj`JxT&o@^ƽ<\Ȝj]45LHF9ߊ`N[*ʭ  (P Z&pX^p۝kG gncRYWlծ)Q9Y8v dTVBIF\SB}M;^.>xPdnҹثrlw_u wk !KK %T.:! M^`w=0sj\Nh,ads*P`M΄@>Ƅ}|JvZ}Rr.Q !Ujm "[PͲ<nwDm753 k#<3D&dlkX0#Vzi]:%{# UQ\!psEz5߸Yٽ& W-Si4E cN%B2;0M/GJO?h\/j7,q50uƑ ڂZ0Y_{Qw"]bY&]1~rI$} ZvS=Tˈ[=-.E SDjS=t5A.d,M.ĺ>BCq1xZ\fp}J-/w~Vu#YA!u$]cT80(6T~u<X&pUҲs5&復?&n~t=Y`T4i' ys}p{;ӛDy0a)JFwCg NE~ A.rW\H,[nj]!/&Y s] XQn@hK\%I5u2 %1u骿''}riFɒlj8$޼WЪ8hc~Ej+z@QɡPyzzlTL[jJ;p43C<HZ{dSA鄆Q*hi Ƚ@AI6Ȁ/l24;Hao=YeBPܟK?Q |Ⱥt\|-iP8*%>Z.Bf #{Pq%~>hLvj ߐ`G4x.,ʫԈ'H32vByguҿ< BrM@Zc5$n yl#X=D cL=_>v{E;a<.bW_^04_Pk-xN@raCe>Um`ȼ|eA"!c΁xF.p) DcH8 (4Sjc f017.@=6/;\%k3Qܱz+ \]'LG!+7g·1L$VPPgQ!EiAyPx禋fzPp]m#(>@gZV ;Y2gorGk* 6c]q6]?I75>Rid]=5c ].|w { ?t3/J[_%wnUJ,E-6u4q} u#ASD8 CNqf R{|+Lr t^7D-ꖗ8_тI= lxd2~*o5, b^j96~u{%R>1NOڟjoې3$#vň2JaWؾzٸ $p谭|Q,+(n@G~Wuن15cKL̬qվRX 9k|uU4,oKحtBڎ`8Sl^(] "bx^jGT<5V(KL_-췹 a=~܄ `[M*DOcuЁ,/k{#^6"B+N Xm`ɐ1[`j7XJooe&h:Љbo$G-Ƣ겶3/I]'Vg {dŠ_xvL'M'vF`ljdNv9-uȫ[?547;$̿ݑ,ޫ!'j_sbƒ-HFu$Pw2`=˔5@ |NVՒwHF܇,4b<h,Bihaж1)uj=r~&6%WqP )݋&] yYVo+.2ÛaQ1`fw4{Xg@+| ZdQA%tQ=T#a%IcԳX>7d7KIg]3U?:1U'Zǀ&S1@IYitNV́ihqǣv.4>Z!൴v 2sTY&Ͻ|2%|Yh>zcqUbNdDh[}7f}H`Z]A;$DeƅDl[pbVpɼE E]K01kl7cyDbVXڭڢ/%\"{sǟߕG\( 96kT MHYN.!G0sm4c9ߊ͜|Mtˁu2&-#tG6 ,kl6 S蕻" [H#9?CYf>>;^Ō҉ip6Xc>#u\xi×u]!W*YzE#fTRAS%y=3UGT|hO+ }2r =TtbQ\?zT5вRj -yT%%E0)ε̜ |}B/8 =0$73۫KWipbp`w3m ڐ5з*nj%t{B0>27`+ ,NJ8xKNg,ys^I)03~ƒl,KfP3%:qPiEQ&܊<̖-V=;(ŵ\0ЇʀIxZ BF?eJ`I(&5U۠; G)T_3:{Ap(F سQ)Lw,$[슂te}|SEkAB i5hC7yP?@!+||B26,8&d9qTrʂѴ\3eHk>>HȔ6cwf sSvs8l+λHWZ0Mv]͆j' !nГIK$xwbA!*p*jc9|̡T,hA"qQJ|H ӿ nfۑ˘q$꞉z.u+p%0 ;eNl9izъ? ԥ@oUS0a\uԖ#JF=^#aE"Bݞ)d@־ ."i=%3/8; 8ȋkڍꗦ1Dx47@7;1 _JfukW;Zu ]ubo^ZHpuG=b'd [ aӔkg%F"QnCLٳ !>Eqj6r!u<JӶKiTŠW> 2`|CXXaʜDHzH{[9 s=wVLeTGsJըWQ sTC-?HZPu4^LCӱ(S]h`Vc=r@?irHD ݆yo$[J4`z  U"/?ĝb R u%d, x'aI Y5P{؁lSR6A/Fa~MI"S+ U+"j!;?=_Qsmұ =˯ x'0eeVG盱<#f\T=nL|IS޾qwyU˷·xu 2֧H"bcyɡ M QxK}Xf !`}び[GLOX9DkAv,)ZY;dA$s^q 2zN咔4&>-3c{Hkcћ7V&#Ҷ;}-khLd3'w;gzR;iΩ@;|uf80 BV{dYO f`iv SzDx$ bDv6mTZg&>2?FD8iQ;e,b,6Hz}`Aspy^bEK5ai~"t0 <ɟ?1(*?r)D :?}  j!4FqYų#H5Ft?}lKDof4$T8!d !N {}9Ap;ycw{%IFIT[w|pZ'ЍZЏq($8vM (5A&R |F63pCVr$/2\:D1z6 ǀv8׸&OD{U _ιv*6gc@QX{\h `Ar 0%&^?Xu  TS-#t Qy7y 9 ru6 Rmv@lFJy6"X[S& l3?u614*{su58e5Nv2J~ msxO6V7)vqfPFȈpe?dl:(HeJ p?AѠ 1bj3]^mâ bGsz"5ٯoJ#vZ뎶o, PL: <3.+^` ¿n{gMThﭓhad:D.Ww;:{tBОQCDiz̚dz RiM)˜$<1Q;~M-ܸEW PB/G.>3=z^h4 4S8BBf.u8s"A~6ۊvSBo"5~>pu[k .'V>=入֮D:*`F}q;f~0J Iz ?M=SA}5;sy#a~ؕ'0]'áQ*+m nQ>[ Qmw38tzE˄;+'@ӣdoQע E-Yߦ,ɶ=ЩPxήoPnq)$|3ݞsQLeoT1 I4l [5b^Y _#>d3,y+cz,= n|EXR%G:ζiyۈz^03l e$by^PNTE$.iUDN73s.lZ 2gD} {{Sps:ipm|.^g< EN[Dj~O 3 9e\izT&9.NWmw.g˺G1Y D 䒰V%\dZjmcN0ʇ>瘼3 jTb兔'&poLuWE1+C ?fnF(g.#Cش*C* ѫٟ.Dbxy"ԚL;sxv 9@*eMoDu7v(AȈ~VO.,jhr$-ߝ;`Hɥ*Ojc_TsŽ|dxx$>h|,U(-;- p礡 cvl(٭!4,m<\ɣ~5?5o,L)sBq-:NLFjCă7{Oy+"GļRLqF P5^&h=4|K?WGQӉVj 2Xq-zT7@]X 1ߵh/Ho_WG8)XÆi@2c{mӖ=L+q4za>žY`ݔ9t.\xG˧ eF /$1s).bY 0)=.y$冑0CDq;*JW-4" @:Ah*aU/c2Or!bF#cǏ#{ r:beOT*RD qY?N;^m@%"n> yWG(^{ćELr7j(>$Nhޕ(`YY1?ލ8rM3=jawD^F\ )r"4"<ӭj|2Dmw~BEpRʛ «0{% zɍ&qb8^aʓ绸@)LSѻ9WvrTäwC2ir!Qp9J̄Ϯo`m6]ɔk` f[ ,*|WEkzO /Z~HR"\& 5Vއ^AM2`#MEVb"5,3R! 'Ne"\.B=׃7P|eN\E콪clxRVD1N8@՛껙Pq*smJM ~r'r@w]]-@MBBg 'O~<@ݲ-ףAkycoeCɅ=bY7Z] 䣒 lD( )(jf Kc *h Jz"eTt8]/Y/x+v')BxtXvˊ%Q# Jݠ1)&cjX,b{p+`U8!10rF4t[Qf~%zhWofEj>ܜç۷ %Փ>gL׼PE莑$'gDVGE|+yƪ1]\<)a%V@/wɰ/(OU& ]^]q" vk`Gm)LcT=ԙ-0J$ rkWarCI'J[:CnQ#seI6>{ZIOO'u'*Y55} c[e#A,kj-N5A9N#.F O<iW !F!`+d,ΐC_m$&p/맶z2g#L#\4iixRAOr5Q}œ' VgЂr%'iQS5ABl'Խ'{Z WD_ FEr%>&åI# zsjOwsѹ7H,#zFc HyG =$O)n:t'VeQQ?C"S`?OdW[t)>VPi':<k&s/ %h)]GS-DpkQy߸m'=PM+G\ulp~M +zgn8mF(3-jf뒥#;!ҖB3.c$Q̍fh#~{R yLK8)PϦ+Ĥ*)$6>i OS :xuFѸ?ad.$Q+a=fG1I? AJv0TN/Cu;|$މ/4s6;V)Zb+. W6tMzq|"ě<7=>=Byf H,粜e-~ĻsaoAV}lm- !LZ0\)'A[2Ϗq(.T;0 Ko@Ty)[x+%Kahd|Hw^;le]絞cSem={υZiq?1d=L֒:?FxܦCF'nKf} '45:H$ Au5c I݈vaY/kcLt^"doR .YR,Ilr_ 叫I3Rd x\e  ?(xtޮ ߄/SV+"u2}}i-ch-FҧLR]7Is! #XS9'sq~26Q[h&UܙIfJ|Ub|'kGN4*jo=ka?s]yY xh=8B__SmT7K챻a|ۘH-zj`H5t ^U^UH rҊ%ūMOoS؟[]U2c[0c;w+l \[Z)#&7N#7kZcln?3y@A/_֞hCnoo9zp1ł^x9Nڌ\_<;ʙj;},ǔeZW'a;T|'`a>o&UF6v<;تaxl_aZ)CD&1Jۄ:JEu%Ot--mVy66w"+cnWzhc~HwX)FUY B U 1^^Y˅qRLB,anMML?et5m3y&J7#Crz#Pϯ}7s8`U#xQ%\g7Q%OsJ(wY܌t?L!bN1%ָȇYzy2l#d8a _OizwIKbn;Ky Kjz!,2v >W;Dq|%r{&Cל8ְf_PbWX 3^TȐ,R4[Ҙ2c TjVO+=6ƒjxxmfj62\P+'!-g7}ra͕mٓ'K7#4C~K iLm*ӍA7 Im^tz˩Y>킒"ŤYs}2~g n.ym^arN#w.LFeWnLUާh~LKJѣUP X jhz K3e`D`z!݈p Gʍ\$.fyV:Y;ҹ$ۘom"@Y >72uʳ %Q, \4<-J|^~PBmIXS|'׽ 4T5:8h<0 ].`iGǠnO?QrR8M.m+maMBjk|"kSAR ໐U )yXc0 ȧ9D9ʎn<9L@IBꨟINg5Y# fo5 K@}7L}O-d@~},LLu8GCF雕Er۱dh5 'a&"1:8UKΌ,t$vq)IWꢻU嬕Mbu$jEd DgI7bi`ak٦],E*DNĘHV.g9fU{=zdf>2\{G[yQeksস _[iFbTG8!-yEkswR53\ fbu&r8JOU*|ٔ"WQA==&TMtʭ(w\}z,[ѸKӲ(܇EX6K֨үŊ}Za%UEEZFZ#D'oa8?7CCZ|,yn*OlCmKYX46XҚ4`A!y7*C@Zw^XvrEL!fbgrpD/nAV7@*'i#!ַ8s_y,zyr%[n%.Em-ƣXO+rlAqӻ-X1\ Xkn@uvkd"ݳREŐ* (q;NG(4TePdLEC=ݘ,.g$QcyÜ13\5FE 7&M^F2/%y9e/D~ l_z}A,9NG?X͍m͸vYIrlj+njЙe2ȡiiv}cC93ũ6zQx"k)g"fг>dD;Lj)x*xӏVӅ1-!WulBit^+߾ę@ LݛyE+օsF rYJѩuJ\&HD,ZuwuF ut̝^ęarSBP|'?4uDM3Z^^ G/&RhBh0^#F) jpdQnBy 6%?g߱!j9ĠuIXjV d $ճ4xFZlk^޶x|&l5̆"{YV==I$DyLZlp9[OO`hKâ-j rvÄBm4PS1Ԛ2XҍD֢xnQk$BlplN1T8F|]Z*7 qmݏ2!g"eH02`֑s#|C5 gPeS*M3Ru)Xw4 _+rػZM?aYz|BDw,k%R"H)\6%I>##QsR`0x0Y]3&:~\<*eOM$*;ÅjA yaW>.l>DE۫@w >M۲wUZB=av Gm{A9Εͤf{@ EX6* ;9d/Q%+dP #53R73(TRo1NPϮ[ ܋/Ϯ*Ń]'h0/htj5gөmFC2e[TC9vh/4J-ɉy #m>ji@ }B= dcG13ۻ8mtao777+-?YLD>E] _fTD%AHSHAF=ڞ;492w1Wb&O<mp+QgW޽a0bDRQq/eGܐa-WN?v@w]@ XR/5 ae8"(jm]J0Rti3rնҨ*Bʥ1OJ:>"" D~uOuv~@'0IsDF!t_86)b.g=j~:fg+)jHbݻg~?a~n?$y/[PMܓS * PΉSlgw?(гeӱ Yv}1E.MB@h?ZmpM.4K1C2.FxO>Wg[܉%&\ȷdZITЬ~c>V kώfc:vyҤl5Kg?t۔(;))T[? 7N/TCxc?-%8XxݑjZt8Ok&n39J;AH6uWpx۞7FlWAP_:.|±}WI8q"i.vo)|[ۯ'jrըN$=(v/cyj uŪzN ]vbYޝ^]eho0ĴX4% ̇~i:aH%kTMw(8ZRX8ʳc)[BoEͯPI=hIzg2W+px|.PI"ShpLR^^){o&%f^|áOuPl>fxV4kx߷hTH?2uX>P51HfטĂXbЦ? ?Iјh,f|N?D^~tKJrG脻wY%ém?*)޴U±ݒṪE _UKlKvOJ%XU}u]pwI= ՆAT]v(Y fߝ}6TT `F2hx CM.|#QaxTElO"mvϟU+/e (ZY Ǝk#DC]I4(:t܏`唔y)z2D(Cå!WuU䑀p6TFfdؓTդ}FB )~Ջ4`-Ȕע1g%.fXE*hϸ@[Pt,L92L2WnӇ״wn ~u&eK;i>%%EBz yp&ˢ7m-rkP3-n&Umz+ϛ{B!]+s 8X됣,>=׋g+[SPiu`2]ᣇΣa} >!)4] w*k]m1e3槭 STmw'גkTyɶbMSXlͤ?tvSD7/,Ya٥˹'4ڠ뼤!QR-2lqv3'czsМ}g!]d ԑDFt0(mȊZ1x]4gDi IfAg ̛寒BK8er[ 44ӻMx̷Ry}/o$"ڌﶏk7aqV/*>EzүKQ*&bta V4Wwxh*ZT5P S=a*6g|a>&ڂ2& fe5%+;] jC?d\'^B%o1{CJ@+߀85Est^\_v*G/+nߌ!i` ro䯑71mhvBfQךrZn99) '˜]Bq@{gJTqͰxAu |(|@Pp0"sٵÎ~MX(r gNR@mDG\&*a`rr 2>;7;dcDNZx}ѯ<e9Vsϸ1W^+d;EA>rZb eNyZ)}bk#9vZtuǿOAz"x H} dgcN@*..F 2݌,"ޢXG߮Xl%1Lm2vn"ţ5Zy: ~$\˖kBxVV=0ՐNp,[<a¥Xυ:x>sbr(|B{vGY_3R 緥>c})kz9{ĥ \)H8LR1/\FsUY+5@{UMpE;{E[0>Q(e3CXC EaS"SSa&K1xD gyJwWVN"2)+u]YLpTIcwR SR1?*AOo4#ʭՆ`H ӹyR9;Gt9,LHs$P>mLg Lo [Y6/;+XE47x h(-#~4íҏžp`~g6ؘ!}ek FPʠO,ϑM]wH'C{$c^}ZIEƏÛ9t8e*4*9Omq&|V 8a~ GY~JTd7 iQ{iXe8#V3Ju'!qq XU ƭ(q<!G8YhHt6-WlWV}I'c;䯼 `*o$ [%n?[ Us%<Ŗpz+^RcOB9Dz^ Qr.8EcOډyfp`6ܷ_\shM2Mh6v`YU:CsQ+/E?Zނ{sOcl; sȺ@,o%E=o?mͨ*_WXP匏f2!x(eb*`Jsܬ:9W.?M #/qm8'A㚮&ͷILIx> !n5"\þ]:9KFF"k{$f~7}<''s[:h;*'1 @j;64Kp#f7DgL[*G\omIeBxksCmzm,FT;h]|6zټQYivzz) "[nrI9@u WSc^}68bB(W59]4?a}:xٴ>۱\Ë?I {A@ ĚO2ښ[ICqn3Y}bkurOJM`hv%_"}AFª=@k/{i} 6Rs∘r~N'6:yZBd!,>Gd0-=+6|1vm_,\OTY{2] mhZT|Pg-3Sr^6qÕi# 6$Ҋ_J.B'*"!yxBUP$ņZ8 M//tH:UqmI; \L<2L*&ogӻW]kןuޫK?ף[x)ڎ5A{YϚGtsi߹KQәn8#!*7$Y_[erVy1өpZq%s,]ט]HA P9ڂ%#*$ob-,׸OIb!E`[O-p 0\2Vfb#wPs w%z=H):iCMZ\> ^2Rɝ`CcdžTÓL+(eİi8ҁk^P}q_]Z>~芝) {rWj7o4?%q#I}2;7ltj#ٓia?7&s3RXI~bM;;Es*VW5M}Eߍ^S3peD׀gG ᲮҨюȌgtt&)O tjDL C)8}5w#B;#*Ȼ~1LoJ LGB&f{!}~oG늻 \U6'||\竮GmĎ(V ݣ]̓48ݤy`H~{KqLxuS e+WPa&E}h"M2 M**vK yQ[^Xfm5ݵ81Z'bmg) ~'Xyhڔ.+c%V.#(bgrմV=CåR浟!.a!€2q+ތ㛔T :'V@P[DhUld8 sX%$ X ]-`n!m6?OVxHs?CLbIzjѨ3?N^>b.!XگuHZkkt_ɘ>ɦ)bA*c@eWG1 _㹯ni0cu_ޓ&.ZL7~-/\" ֗:F\640*DEp(2$!}KθPOBv-s.S=ΧBN8;[r:12 ׾#\$XjewkfrRo?Nq-*B Ftre>_G*V ˵MDkz3aePbL* X9QNįzzMGlдg#,.Ø7Kդko[U3`TF\y 26r96܂>%o {eɀ0CXR1;*ܱ2)7KQ@lqW`|u涽![8a%{)HoR,0 :BoUH9.pL!Z)Qxo.ANBϠVyŏh-^A"r.D, 3PVfmxb(oЎͭ>96=cn^q W͖|=DV_[Rވ{otQ򜻙槊$ʒ#2z)a_UH]F &>|/S`-]h0/z咦0E9uHBM9'%c';]Ą[h;}[R66nBf0JcO@Ώn{Vз]PI ",hF\+xgok۪Hݍs`JwR~oX_1o)3 j//H@eaFcOCK7h^1daM5b.x2HAz5 ВêHj@e|~6O>%p>{ϓ1i8Ik<)x&V"*W2#"߽O$Lh8-_4}՟=h^]Hn2; ubcq܉0{wJu6 JmR͉Zg99>Ÿav'M֕C4u㕺dT9W%H8*Hq(u22L0|dRjȣX7ej GC tO*h.4)o EbEv l^~]=XV9jov}d8@FB 0b/|:zW/2yBW&xG30ZPUE%$SON½+`!N\[Rz)_ ˧{$g1V L-p'{3W6iz:G;P{/uwk)ǑVi]{q_KK ?gG_hBõ+ȚG!'F!βDfU [5qlV#D]I"ILa7l[mt< pV;hxlcq;j5^QC ^P"Y`hDKvgȀJZHG,,>R&-؈tW,#[B mJ<,&ѷec`)酷M#_O߾pŞ'iU;ހjnU3hy*љVgQpV"wԔ&by%eNO>tQn\yitMaq>h"9>1R 4.$dSe'Sz$)hd?Ȱm5%OX|B˘"2#ƙkh1[^x۝9Eo[G x],-tsL H0^ y؃ S<™~ +xVM4ExBŦ{W/3WN43D.EIm⺺aar``=DTo*uG;.Bh;^xZ: 1W50o>-mF]qezuP޵J!`%9iRCZ̃'SI)I14'fv$ ^ لc|dơpXl[i@Oy#@Mpoû"FPIWH3w" !|."C6 >䊳kа;c.9U](%qT x&6D*ggwA"}mBwFÓt;/oWWke] ObI}_w3Gzt"*gw/:R\J+_UP8 \~ ʼf@4S1ۜ$.%޺v#) ?1>:`dгv *KʬDՈ^7d`nAiRɢ n.fp_=yvƋ͹_fߟYpvƵ5Z/vq@կ۵fv{*)sq?8fZf@}OlE,U$O)fZ -CMd7)e:^*[Ǹg0֧U~$^y5oF\uhsq% O|N )IT*t+"bo@̀G.j0:4ڃUdU(I<pFMz3)k"k6ld?Eے@u >(oX~nI. Wo@_*Y}Dǵ졦 &ޤ2c_wخ\*C6S.8Zjyw(Xr`!@,;bPїH86&5JtL8b!e7x+yaAW] ,9_7'ϸ5:U՜ ڀZv#Ӝ(m䥻@^_"򝻣~ lϯTΫg9Ż$|YLDOhn> ]Xbcl6^g1ԢtZߊ$DJ`Oe^%ϸߘp$$DT L3UB#ȞM\LpU*Ⱦ0uhoN:-ՍX`UF0ehǨo"_l1$Ք7!g=j"غmŴѠ |D5l.'4h-57B w-&%Bv(s<x Td.:La9ˮVxy[K' sp=JA]) ١Jl՛[hS(*e۽+l8J㣻 \vMrr趩8vov=iJ{FfX>z Sڙ b6*{"qfaӍ뷫.mR&<)ᅩ@)PPit ,׸]tOֻeqܕTʳ>Va_`%~jw3 4ΏhFC$~nJ|ZBLhwdʕT yI~N{{d ST=1*}J}Pwx86N4 zy;mϫTnn_~)$3V{̘l=~ SL/Du i^&.Sf\R@EjPXԍojVv+OpNUy]]HjxҮ lRTԭ66l~S4$g+_G.1O ~UMCyl բֶh$4졜u*)W(نj)~ s'Lb~ABKҚՆB!C|u(ӺZdD-Ps/Hz:( 9ufN{2#A(G}Q>WQV;|Qɾ"O8QQ߄)O(T_-Cɭ=U1$xu(DWN7 ݜ{|qRᏬŨMn7JwC\Wd6x":Ga   ;C(w)g;ێ wn4@ $ƎIJX|Euwo*3KͰGTUABQ0 P \)L]S%yDhP-l3H+Ƈ_bjXܤԈCU!}V%lNGl[_0RpvR"8;z}Pc™לu{u*u*8r_N<@YyN@Ya-IY`v@P'˴m^jLH{? uIPLkПsfm4n؅mO ,I>w,ti=+qqg)VZgei-)"bpӷW:m?C@h+/Kq٥a^lUq%BlQe8?Z^\Sk>틑s",3Ug8dzM| x/,|9y0Uͳ{{n*[mux0-9ւ`s5h=x(R{qU),Y8Xspa&TΨ *pg0gl KQ@K~Kx݅>,&΄<ʰCMFzq}WK{~P`vJǞT!N`S%yAMW1;Boph+$R'&ceG6Lr-N!L=1Og]뎳UȬKn ]\gAY[m lBq[ | wL%V5Jed ze+-[p>#º6(mҦ;e7Yrnj}kS>AMI58t C9tؙꒁCf0Ge&K%Hj;&3ɖbk(ue;([K+h/RٌdFn4St.:0Q^ؑ TX4->j!.\YMM0ً$R)Vnňs\(UlDTzg)ew9n^0!L- /e; Ǫ"眝:7o_$X??^pލ/8TfH=a9KY%7_TiF14YO* .x[:V(at$?AD㏶e)f}Px1@<5- N-ۆz~EQsq( ~N2 '[.3X̰M^Xs%jtd $𔖬g]ht9{)Ne/[yN2RQO÷XX-B11LLfQsKc9WrB: ^slEfLِIoKI :}T(8@tXHFlHņ.U$7/zjM[n<>>vZ?[nPשm|!^aeRu}ڼX1m6zdMyf/524֜@*rUim qdC{4|SN&k&Uhb0d;z y P} vlUG?CRBre,z*?1B4-½{ĬG$<kEU|5/^JT B q2VMIXv#_Ã.ON{A "l ͊ЍV#H9ի!Tf/Cd15Oƽ(H,ٗ,k\I*>ˆRƏ|:/>Z5cWPn"SBrٙ,0-7p;v!vHPl\|&pWj+[[w:OזMbts= Uۿ(p,st `)1d<.$sK'18o[ L.XbapE٨7b@E(' ]rjDJ齃.UO˖ۨnSCmD6{:))3(YpY⋪ iVBYH2o##؉ӡ48V6Y.Y-u&H.)p* aM`,+ZaHҽ~m#yd]'u!`#c'&ňewV6 :7u{|6Er~7GT ŷܵ?/M/2DSw7KsH1?G}*kT"Nv]q7A-a_3}ͩ=l7ڸ{3L Jm%oAɓJuG|^΢S@ajL_Z,2).ȍ?]"SC4OyM=2ϡ;Ep4Hxy/'nIaDB(p9)cZ¯톚&QB u@|Oh:{ h4&FGv8u[UṽB*Q}XZ dqfP :IMzx~ }>,>֊H·H;_^?9/7=;{FZڪZ􃄱\QkW8⻮ب-Q_W(G{QYAle573h Ņ9 @r{¶(h^!Rzw77Nz*wE- ѐʢ cI* Ǭ9EO_qRAt|AC7Cgsa(O! S+-~G'uݲ9guQA,{Di9lQw]m( ċS;Αk7M\V \4Bzަr>AQ!(MpU=ª|e`절FD.~sc E;XLMj J`#ƔFGLM GhׅjPvSшo(CJ:L7&:Kk"oBH V:3v@($Q{t&3+\ypu/q6J U .5KX/"]OaiKirv59N@'qʕLJday3;zzᴠV!\W:= pzkhtS e/Y3) pG5>F[F>Ӫ&|M@76%.`hu '2܇y*>gE+I5480,500Z\Qeߒʠ>ޑѷW:wJ,]Uأ9cs]^vكI"|?V{C'^X YTէ[WIT}tuzs5#vVL4V9-iE #-7?k򙥤Sbhr=5]5=យM/1OÚY*K:H3j^*g3mud4W(oGf󾷬vęy"Kǫ!Szn {;UŶ{" ߍAEs,=7-a'1wOv^i1_{b57 2B ^aK&H]zO8 =g2aR޷7Ie{G4S!o>Aȁջ18d?႓3/yquTjrYgR;y=c!yh҅V Y83k @v[HVFSc^ds0׾ɓ3yaWnࢗR[0Rj?`a/6OoUi3kvEN$erBFUDwsxbR[Yʰy^'i{C4^/M&pX;.}L0TfUrDCU+ٚ~x:d?4`p*FUqiYB9 iŜ<q'ȝK)^5=>Vѭ\ɸGlIHđcbVhC"%qZÐspdb?]T8z_u"U i2J  3ϣnW\kiyсXԍ9yߛ*g/u ?['P6'S3 `0D(`zMTRHskSXmc"ƕt:Q]Bǩ\#Oc| 5aW;OFc&yxg.mh*__Zusg}N~Ԁx^bw$~B Oފk>=[>Z覕_Bہ {Ex=AE5fܯ/uWd,Bͳѯdt)g'S'C ζCPh8Bf#e7qR:Bb>k+g^m2FrĥǙO"MGxMP2jCʛv-(BiN\:~8H [p C˫:*qŕ0}A1Y.AXg,[AլC}Yg*CS4huYj˕ \JGn UK&Դw'wFJ{N~ۀ)Zeh97TwTF+ Іiy`Pǻ#W"]"|77:0=%m/!}Bqgb,o?yRg@?H[;@V>`fqΘƌ#:uESt3١MboN"S8} `4nl#N0]uΩg;[V'| }k۪s)&}!urUujM/޴FKC6.{ \{7ovv-gQȲqv'm{l޴-ԩ2'-Z^*7xͿ*ҟEt)W8eM&vFdLBgh$S #76Ss=5Ni\xDUtw `&$05T KޭؗP3$9ϵrK/H: 77 lށ'K7x}׺seAPcy_h3|f\\!]O*(ᱸ.q~\=[ '"MdNďcsQPUe(:ܐ,\F$#jQiIq9JI/3calѪ-,˴gB|8RH u0ͧ;a g>ìRŸ f9.K jٯnkVS_H%rt^Eq8$oh"Y6ARЧ@zȚx0)hSdOl>u\9NZzVB(:mfM@ DS@6p8P5Jo, ~e.%{Bs@~9AmI@᯺$VuXyWd_=O9.HݼRݘR^vzoFcCG^|%Dt^y_Ap)HcGٔa^76'k\ƥE_9F.|W:eŃJaσ1 , L:_ I,a`$'3>TH$vD%ЛگWH QeTf2X1qgD=Aլу :#ے,ID=?-8!}=IJHc:U+M8X"xfK x׭CAX>(xH\WN M##՟lG<͙܄tvx_ shӮԖp^F%x[Wcԭ}bۂs# (#4O\mYc4]څD#t#u}F' 'di,T_aXrTƷrGw `~q=cp:n2r'$Bhr'QhҘ\&Jw;0NzvAP(#H C[|5/@ ̞ }zZoOP 7ZWY&Xq )P9e&¡qanzIt4am.-i./;<2CH&-Ɵ0}hAkm,j[IzG!mWP7:ÒXv&ފAXbq?9):n/X?9 fhfSy,&vCTϤe8$wl[%[Ϥ ͞Gk6$eAfzP} `RHUq ǀe!UALCrIC38nZA̶ܚi{rEiR6Ss$S5߭4k)}2oͰz;?)]\:Vw2= s^Vr'*"bxvcURbOqRxۻ!d{' ]kU!uH0 KIR#b嵳6pq4©%+%%8A e[D'san%XԸ暔W>ͿT0A\̍+" iT Xn#ZK6]O8N*1|AEdt],W2O(+s.,Xq.H6\,~=Az~5i>כ@Oq =P̗@M"3[h ~"6ƟO1ϡXZ;͚BG Xļ;0O X i\#4?,a])Nm&ENwJ4V! \*:Vm(W4"CmsZ#!#u[i=;7j@\YƐwe `^qp4InN"ΛkN;W!L܄˛WEW} b{BPK1EYȁZLHH)t4wDr7k~;G'[g[R"Jǜ(F?0Ao ~ \ ",۰w+B[E9dLAxz*SѴ"5Slӳb(r?}" i( !lT\1{6*2Ԋ $xf5듰Yς tTX87/{ƹـ}]DS6gP>GϲF]qF!][doZe/6jT&UKFFroQO/Z.X &bN.#vḯ'!/=;s,RɷIEI}w7[KZDiM&} sXu<%?ĩg ,'}~x2F*3nh|ݙDŽ {o]?*i3{4sO #fzv>M\LD=|܍ceD=.5E":hULbp T _/_j =`%vNLR4FZʳ9Xc#DFdiTn`ca=q_n鄢uX^dAsP @3o׾(Q0Xl)iv!hDX*NbTeQWMؚ5Nək糓dYwW7}")Gr q'+p/M/bjWZ躈_Z3 W͕m8 Cb1Xm`yvtx[mz؛\ uI .NH٥ȏcb`5Ks\!茚Bns߫SF>!Y$=?ЎT;fa:Rf\iTZn~Ԅ-1MHA|}1c5(RaPv@Ibi"h)N_I  հ~Uq/9O8$ ^ @tCb#VRrokc7+peq8.'[ǭ-R#;ӜIK.R$Zmz^r΂GT:i zKw$A1 _1r9$ql&h'`?CCe `ΐ,.R*e ejNo,6)D2EŜa` h̆+IAMQhdS3Ʋ7Qn?059Z0Z-7dMZ$'q YPS3Q[onIw>1tcNަ<;aPp`mEQvhc9xt~} 8i |GI1l}لJ}AEEy=b{Ky]Oqߙy${w tQGPQoÝ*͖Ayy֣!p-hZ/"/--DHz%*A^ejLŸLvӭ5fY]_A kOozH~vs[`| \ןCl8[ai/غ*?_|r/c{߹gq1<l'RxrVLmzKmT2$5O u B V/gQܣy#X9<`c̶z0lyyA&D,U`\7˙ E|IJ{*G*}uߧVN3Xi0 [6,_A{PòZs’`╶Rbh=tA$- mLCz nj5nZ^!atҊ</1!s)5JBIڊfO@;tv@CݎJ AI&_OXpX·:W]o)9d1 7ϡ֨[Gi5VQ Z+1 +cjl"68dZLn}<(BYǏTn6Ksy!+xl Q\gƹ̵/4Z2?2-"ݔ VkqV!aX{[U|C۳*mfxu RBZJW`(7 {)l]A+\_t t?c3Wx :`xE6`9֓;{tQO;"A\e̚K IY2ݱGe " }=P\#VOY *I/c `)wζD֤r{5>]T)w7슑Df1ib9/wj5&O5#?Ar{~!y|Fd̫>.h#{8&28r9X]gơuÊdD&+y"Ijߒ$jKZDCQ=՘7' 돊`葛ͣwi`Hqn8K3'YY:'ijm@G!6g$E 6589؄.>L-St4 "@6u*g@!YyRW*^:㯑 L lI0V-yw/.+dijJ;u|Ѻ:S W\Q)QNz PQ&'@4d {iQjm^ʆK-L (揱HC >Qvr.7oSJrbt3, Wj֒˖`߫_Ҽ×5Oʵ/ NvlIhDwe\X,cZPd2 NM NcwgxHn zri9JPrxE51PtS{F RSDሥR>^Nq]d:嘍;[ztDdzX7:9WďFHsOG9l@.=?ŒO7T-K0 j%ڳQuBw+NA@ -ʙ>wB7P*Z4\m`jpPk\N/?)W94% P,apw M P#LXHLu"o#ƴt=(-#RJe2Χm>6Wt&VXcцCFbĝ'rz+nԱz5!JA{߀hmG\\ec` e `Afe>یxť%*:En ņ~'\*9R!ԑ>W[Pu:qqAMG7 : o8q3B0z"t.06^3;5bމ[2pѝJM;>>/CQ+9H:,۪CeC =\ެJ`9Co"`jXA6N;}QOV=b9uT*pSyP yJ0QJUgA. b#W?w҂Iyp=>)55Φ>fdX려Rh1Ǡ+ƝDvَs0uPZ!ZxHf+xx*qxd(㊢ig^!9]|1kb251=eOyDq#>ה0 zԋ~c}I& S]CeZ!9ip5õf^L +i^vIڮ\4.ex%7Ȇ ?uPg>@$vDf:U7 Ë7qYսBS.aFIJ 1җ 7G6sb3 lf"/{Ԫ^Z143V#m`.ԜllC ݘzS2S3hۗJRƋADЬz#崖I M[ 5n_ְşݷZ̙MIFj>k ScBGA{fi[zfVYl#zƘ又b*6ȧ@sV Cj""w!J3wO|{cJK*vW'sIVlX>L2ɅA8b)jovC Kmc0>K*B|3\M*zKXT:ͫd ]|OkU8 p[EJc R*13/Fqbϲ$z)-򶣦.47A@p9S zLO2QNs_ 4/;KT(D0;dv"kx&Xi[/\qGM)kr0ߺo#ʧH!I]\Nц39W-> $,⮍s%9g#Hvvz$r$5{ғ`eC'=p i[-|KWT6=2wo܋0G{3:bp\zD[72lYԿ2P@UUVaAB?#06w#Ʈq9n!(|-$k\6{6\L 1U\WUMB(Л&P\h?r|+$C]{aVA$scΐdV 1a  V%z& !e>L~; DŸzJjA 89յ/r8^s/r3 Π!dl>;D+T}YJ% ottQ#>j|nWżE&,;~hKK/=-{}…U[Mnm@"ޮ7Q9x? [X<$lE]jP`M7[xPm_^8G)C"*h=9RF'),.9bZ#U 3 AFRZ7=x IC~7 =w+O ~3>5h= ?@ľ.8 r&CA!bSoKD{'faT!kϡx 턞rPߠ&,.ރjf3v#wHM-{sfN]oD `;#~-PaTbk{H9cyrgMH 6mԏ5S  ĜPN>ePzFqzp3GUjȿe1 ^}NM8c9-=!VgntzG"05.bͱb b{d8 &2ѫ\!~f bJm A F|$EB5mw1siLTa]1^bnq3oS]AX*TYJg+Ԭ꾍7}+ڀIIRDa:[3Y\BƯ.'q,R=U:&(c4ŁhqיluIܮ*5o` L\&~&YQYhbɜ96TGqk u<&>N/;AۚzQxr ://xCڟa4b7Nz?lrThhѼ A:mhƄ_!}q=C*Jh?NQ,xpxʦLЇNV  4wt&a7487T &IEҙ.H&ԶqJ˂uuI@˃Y]X7P+iF._j > J\#_Q4rS)a+eF#%rϓV_bA TPF(d8,\zн !6l 5fXoB(~)iFYExD'g߯kgH+Cy]+b)MI}2OU([$׮#j3uG|#775UwPy1l^g4e UѺz媖R|C nE~O鳈:B(+*H^R2g7! ăխ[SnR[ڭy( JQCat]6-laD/])cͮ['ihFG'"46\:BI.š'PA (a!|LrQ'^U@kԅ,W0"AsT:+,>|h]XNq~W5fP4aN cU (9YXDt4 Cy&ϖ R d\Xrn6idMm:a󓁖9n.ޠIե\R0K,٧|{N؂5[Ɇ)]1gU<}y ` %sC(itpv+wAdb9#਩iUkz:½]XJ2q] #"&$DHO2y$/6QoY䂞 4~ƼCQLJ}Զ^r" HzFB¡x*Ӊ;o0f/ReXQ:tAzZq@miA,ovj c㎙r=.kD\v!#5ZZQϕ})bbHFqSg6/Ȫ9L۶ʛG]t>hah%T(oŴy(30BD$k-53ʳa¢ f[cI=YKty?6;P4WpJM$[dZPRٜۺ׸~@Ew VWh}z-X!cxzqQL SpEBPe"$DwلIMݐy=I]Êܢyia/1妠.j"t[7âb]VGk!]B@l9^L?! w=POk>őfk}[]$@J6RSc%`kAaSȂ؟|AUxF"fųͨcV5A-.jrXx0LX bW:Ջ8198o/qMѣdչa|nq7Æm[; g-|g3AU)IC5Cetʃ!Qq>]X &bu r[(AP^ju[a_i[Z᰹OAcd sV?l j1cl_#)MwawFO;Z);.*G+_d2SуLVWa_?h]_XP e֤OMi t~01VNł Vo_}$ 'מ|㉃#J#B-@dtkFX}`/KX ٖzL?NQ򛓛myMm,?JC)yٙ9}m"ŢIt+$O?dZPݘ8id]#]J# <6QVš̰Y7?zx JIRX[<7Nw}%G7V:\<`򍔯jPS2ޔj%ї.`$s?.GsiRl9"Ee}m7l)rGŬtjrLIyνǩLq߮_ZQe^6F?kb2%33g)A0Y)1Z8KTc|`Xgu_5*o2:`&uW]ӏ T=Jreeb !5ȸ_uA z+ݪ *T8;Hd u\FzNxH?;'C[h)Nbӧ<zo΁/?a]m}@x蟊^Y<9z.x1L0l#o!bغJ-xpW`"u|׉B70$"dk~l iQIk >v£!Sw?ϏϟF)F`1sw=4L2^Ɋ4sƴ*| Q!{t+H?Kѭ2ᢖAb@%gQZfಳ7tZيoU(ϒJH!h~V-@I@_.ӹJl 1Y/P* o 1@LU'Q& aѿ./\`X!Lub\ ") Ck  XI=-Z@E}Zs=ϚGvTPa^Ur1uwD*5ũX iOj9h0bu"m)g/"]n^ag@X Y{xD4 nS@~i#ͥP#RJůJ ?."V Ee7m;I@n@)_1exک U)Msυ2򉼱/ObuʆB(g`vfH,r2&u#S7L?4>*9&/bk{j8~l$Kc1v~Y]X`6q(>-QY]91W6al*5&v$CR)þ9P+F-`51"WzcCk}<64{Aa+N#ը<[KiC fޤZw5N/ Uo"ZWq]Rmh4N~ . KbR !ꌦ!K0K÷KVt#CdE('5Iwb[/pD-ė"q'',0PO"{H@vєHZvh_6"*ZmJ>Cq٤pr[UfꆿjW)_=qa(QgHX|MqglEʐ~zA0&vѺOa ,r%v Y\/q4LIԝ|>-Ͷt{πwfLJ˪.HY!oڻכ%218g%@7V`+,b6fB-{qwxivNk:xVɜÚZdE`r5o ;Ri\2t|PbJ iN?\Up RC5&tW<ɤ)`I|t-;;+lʜ\;Ӟ>>.T0]-R=s3Q>.h;S=3/k*o=>jPY` PՉICMK-=fj֑;[/R5QByhH0hcpŒ'Ri~$kriiVE=o&tOAI,|}pG@'RD|^ǎ[J-n$&LR#{+5:4pm!f_f sIT[wCq'Zԫ@C8t cka9FHcZ:kv^brRUhfhmj=^{kbW^05'-EBq!"$tpL]5]:exnV$b:A$oeZŀ%gt7Ȫ-`LSxx[t킖s(nLE|HX,S&:˸䳠bg+O&D`qrf ZUѯaX(AFoN$瓾2 u11pډRYC1(?^OH; 1k.mfYQpK |"JiFKK,8Sk*kqw8(-t5*NomC#kDCai;,?g5g!b7u[ ͓1V疃xMo$({(jw}ӈ+e?. pWTqϘOc:qmcħw+/ FJ.NGp̝#u*FZ_?7*5-6/FTT79$PGISb=ZQTw;}m0fVr(򪍗af HsD&&@pHXńӜa;G t6*1~͎fɵ1am#~$K 4:Ҡ X? qԘYFz1Ɛ0t,o:n M@oXvFֿA q,_GBa<3 .BoNTkO$B.c-rz1)u|l2ϽR,bT/TDp}AFt! 6tk7T{Vc[XnwB?I.xTVt |fsz߅LSXUY45̮{8T Q7 苀!,r7xdz iH9N]e d&RL(ڽ&Z@i%FYR+Ʉ_8cuzSr7n+bѓ.NvcWң!0f\L[ZB62-CtP|=5hJO`y\ERf t [,)r7ΙVúZ2%$4mSA]U4xjs^̬y^>{?\;έh>]:93G{T #,qRk'ˣCIc܇9=hyoB2sH(5KHrXʫ x6[>:F6 !,^I]x5A &r }J&$e9u+I@kk }NALXW3eOl63>v{ƘXyt􀖌yg*},̂-GJ&j0`t0d?At^D9[?miG3RKЫF'!M6w?ց Nykӌߴ$nŷ3$[j|y[f4j.s;۝38GmWP0 #ԧ? }mɀDo \M; pv39qJ4\B1Wc*FmY=kP|T[U^-1s7?ZD\ QXi]#>eyBN:\BA?m^`Pp E11!/t=GΨyVb(iVd ?eDHd*/kvI7_AGp%TbZoU2c%q Z^4s/+T4Gd2 |ň`,I#jFxoq! ]/a`r:' ىzhT-'*`,S=^N3Zl?4-ECC=pg+.7C9Nd0n@ rX,Qt{{ʛ8Fzg91K8pٿd(ĩjJ|M#<7ݘ?riR8*Bۄ9uW>8TŒgtFjɗ4nYS4W|w(c+}ʤ:ת[Oqyс|;]~^&)<3XC]v CA9g+>md@\Tm\Yd C;YpJR< lQq}- $~˨ *A>:ڬDY v.t.5X@Q۝Ld {hD,]yC$S_Cp]3y\`eTC[%j?oCW2! U-+Ay}s]6xi9Km`@,Cīvyݻw$Q~v&e 㽆Q5&KβWo@V޿.a7t2i j>к[wG |P&Oxc(qtur!$Ν6izT*辑~BvUUV/ViX-K% H)wJ^`;-,|iK~ hj|?) 1%Jy3YќJl1#Hb% *;,n]1;aM:ֹפjU ?[/aꡓ#츁d R ',}r  us$ @d/vTNS OK sl%.!G鬤_Oﻹ}hY~KNXY lY1Yv3OE@k$fPn>%E*LM_;fgv{}KPcXi۲ {K w]{S?m6_fLͲ[MSQp}×!ⵊs:FTs{|CK Sty'.YKJ*f4+pOM'yߎvN I{P& =Y)9)G,F} >]AgQ)rû\sQ:9~QRī7"" vwUUB{ZV=8=XZO^Iv*r \6 M](.? U5ZM&6=ǀuUTċM\*iDKFLQ}]G _*?QF&vmb;XPV#IE(%]]QiX8 !ۛRJn 糧lܱC|`=ݡouj}[Ӳbۉ`҅D<ҏmg>!P57xy#&}VETT V--Q „PW~gRc DQj:!Vc^'~i$8Jŭ@,G.CtN{@9_"SBϜY~5]@KTyX4BNLgB9҃AK"h˼Ǒ`YkwOzciۈ nO~o{*Hc_WčyFS9N}+6u,bhpj]Ƃs/ cqQi)'F7=M6-̅fб ^]G_>Wܟz))hpiC̭ykYuQG~yAy/#uQgh4Fv=9WD]JVB bJb%,mR~5Vadt0CdH;Nr3Ǜq5boNG~lW/);s&l|0vB!\DI{؈֐sFofʿuᲽⓥ: \6JO?,胥^w/KJ캃BjX]J6.=*ZnnF1z%OU-1S 㿛xx,=A5εXUW~d_ pF.KP_FF 8d"Tc99uS߯ˋv?ܼOs#X!jƐBH_jQ|{MGܚސ.gNvO!;]Lx+y>eo d;qԯBIpS?3>ƃН;;{ h4PbTsI|ʦkhk~9ϟ&·-> Gv і<}c4B$̛-Z~/wӮe^ᎅ! o 'iWP":89rZGp-={#_6U{K?iD;}'ouglU?9׌}5j˿g]'>CvO w ouHEfnKիm]DWI XUܯtZ){ I" Ow*/7y$OcI9IbͰgܗp>'+i;9_mft]B?g:yU2b* BEѮLG&d@-S7>mٸ"# Windy24*;v 7lt=uN磟aPג=&.^U3>Ã']2e#|hݬrIs`ȑM5xu*,6H b" pI<}(eLW)?U\}tqMsc%PH?H 7SR~ )^ܹ"f1*)4C\d鉀w$$4ޢZ l\4{&) N:υB+<w*t6;[Ifoe=; cf x a5ߴt{B0-\`#R RJmhKzd.MtN>G 4Y$sBYX욗ÚAu b|z&rE[|soJ۠N/ ]%3̯_:&,eۯ~$h6{(atk$^sR|eV3 !bO ^HYڒ%uAEz9mt?]&%捠U`WjIiP|)DY$!8/D:>X;Q+;!R&v z%Dk$btvm$o50;wͥOlAvؼy4(W֛%(l$/-?vh@~4j*6@ Uva}]/tׂ \}b6̘}Nƿzg%JMơmreuX.Fx܀Un`1hC^[7&'b]Xj̦k>C4nR5=0sO͈MkI8F|hYcD{P%0:2t\X)dyLzex"MMDxhX"m{6d^95^w QTT^~`oYժ-ڑPg'/W捣=TjPC޸(}VQpAInock$!?8GQMB@S0"!`]z}z垗\[-2MBhEzǹ>Jz C ^Łs:7Ca<̤=V16O[}y 6Tܩ6ư&O1 ^ӫqahwDLkTյa{uyVG'ӽa>tD  ]k|WƷkX߽2<5 9Cot|ͯl_;-B90F ؠyEKE~1s!Ij>\bG`ϓK ;1SA|v`DN!BS3z^bA# P24l=:]OhͿT+s$z*!"@`ɂScO~fMƸy8ؐ$w@qIKE<8ߞ.n9fּHr{7 *5TCƞJ G&g{Wb?-hl4Hm+X/⒎$d9cw7d)|$@ S5!9cqJrEld_D>nPm߭O7lbem'ޤS0zrtA/2#)=zKmg ApY|d^&^9Z Y9,S̴C:*D hsI<|:GYDM9j<5డ\1BFWEnuZW ƸLi*I/ P"8nz D~Akh,ŰGk9dR%\ՀRpݪfrd*Sb |Mu{ږ `Ő5!yuֈ!/bsjQ jM*t+D<S\~D}<Ͳ+2Rdek 씙Y4;8'KXV{wc-09v,d;b"A=9]6*Tkd83ɤG9Rcx?$!T ⅚h㋖qYGDL*l NiLْ+9^SH8#lvidEVey#FKd-Wjs8b^"r,2$ZQ|5bS.>48oyYȂzw_9F[]Špj8`P*FE=X</KMHf>Z I!e~^lӹ\ֳTMj>>g+8x/o8KVF io\5Ec#2=мXRt^Sr[ZoD}@v t:DB=h⋑TKoK\7}NXUݝƹNL'uzŧJv"|x7! =>%-_4mQgJ4s7w;7?Ԑc%m6s_2/9;4hWN^KҎzҼ1w`(cHשTͰ~6W7NۦCC h-UA%;$lIXOI蛯pݙmǑoxRԈ\*u@zZ!ykH^kӦ5 i/ 4-E3:U Xdٳ\O5^wlfJ fV_#QZ_U@T]HM9زV`݅ZPTs&Ag֊qN$.ch|0G* (ZtDq˹ ,w#yzfSMD㼍)7ι= Rv濚Uja3G@c_F`ETXsldV F`P s[*H(0[76#p8j1ŀ ְ8^Dŵ"xo?軍6 `'#lmo|4_`vR#מPm(¯@0\0Z67cF7yЇ!5Az,g6ՔrF͉+ 6 7o5J[?OyX9( .3[?GF'.h3{ # _'$?#zd/; A2=y $$i|b.L'h=BHnX74麹dwDZ/DŽ\eĵ01yۿ*ҡUE2(H0O.[iYʼnR/s/`j216lmP'm ClcFJd6(?AhC5BҪxś^4+)O~ŭ-fsH ͼu(hCؼxͽրJTG140o~3W hk>נ|"ڔR (_N͔xMh@Z0q{\F6ݵMssS@%،P! ETlI i{y˦a}L˝\hyM&,$[ݑJƔ eGJ٧m[\CқJxVJ(HajB]{:D l[!sI0nZV=1pd'kX.%/N$C6:8O1ͪ 9(X}"z\pH3v8qCvY"=;+_xRt$~rd]V1 8ND Ń!@K C5nJ'[w"Ю>r}==<@jM^;W??.0zv;Vֿ6>bqg im+׳h}"=3&%0_&[c 97}05rw3,k=NBD6Z:C[ M]Ҹ(_{P /E26֝ↀ%ÛjRAבC'D3J`E cWc],1tQȊVnʷAa28S _Ί)rN0*4Jef ~y!I!CA>9TpMZĪ#.AI1G~avRb"#X cAuJ \$zL; Y(gXX|0ӭR*ya{i焏>]xN X|,g&v*lbstWld,u_C+;od?r*LS쉖=RxE*+]b&Au\tM0gM5l݁ͪ WkẎa};]F-DnqR#QJEꉛP& wb~w` Wiӱ'By)E4oz=Ln0Lv;69_p0VG_|UM@Æ ?6qJR^ܤJznmg`!u*tWu1‹*O5O zVp* 1A_.ۣmGҩXg \89@JGYcJgS?!r/D@ÞXXښ9JYʛG uw=$&.wYOhcL/^پ/XkdniWs3utWm}b,]w+Ԏ%.ME F$H[d})yc_۲`,g&X-{J Y:dwRެ?JI}cJkJ8ZbuexgfɿJ9Мp19SK`.B~2;߉ Do͖C)Tt’&|G[od@tswZ_3Q ˆb=DWM:%57Lc[rcϱj^h)}JTyOht8NwTMgY-3r6ؤmJҌrbax(aYɤs3Vr؁eɻ՛X-rR_˜G&]krmPs廛(.lu[YBI<^|ضr, [:ṙ5o*7DEcnF]=3GѺl6D"]l9X:59u" :e푍UЅm)~&x`%r3||&ȪKS2mxa~ߴӧ?*Xdc'FC 41ڦaϓop^ h-$$OB+0lzl (/ ؾJ36j/Z{ӓ~pUX)۵GK-6/)ɂjzs@liU9!I&%Fg.傭imx>Wë1Vu U?j [s|Ceo;Җ`8Ui!I}h^7ZK~4w/[q^xYZpeW?7ˬK 2͑ݽGB6d)O#P3㶝Ryx<߽H,Cq qx|W~?݄*LG;&BL)6o@JAplɿFLƤm +or"_%_{;y.b[K/>8p9əI}\,L$,#dY_ɾ\+Qc;e{;_֪4dʱ/c>8 +qP[[:S,R(f' Nm#h'>nRC#]m,bN="/-aNd{l;%˲ A^5nIsLw8 pQ6}&1qԡIذSbŴb :cLG4L%5G9CϬi`ZW'dBC1 {іXH rfW嫮%%!=|13y\[H=LN]%?c<[id#gvF8bbP뒮zhx_.!vTEu2!i{QÂF5súМ򣬌2`=Oױ֠jKKK )5Y${.SkN"HSiРƙr3ʇOP-*}#kZY(fdC:k_w=k 8@;Q&kD5J?kR[KS\! _:Fs!@u}ƇΥ!y۝?|>vsXĺs@T~C D<Nbs; ap1GSEP$[#f2s,l!, %zϡǴ[l<9I畼MVɁڮc/$ג'_cQM >]J-pmwʴH ~j w`Y5M8]8 P4屹UaW'> x{ c8j}B(I6x*ftaGԴ 3fa@xQqL\d] R/i[f=hP;)gu39ՅKys+/UUu2*`~(_lʌ s:aP,]6Hc?V3ՠ rPfo0h {buC{}FW%g  FBLwԷ$M,acwE 8bcR Ԋ)taRUΊÅ-b7$ l2l1^{b]X?XOF;ԫ?n`%Ow3-oG=p7ݎ)lVu.t]@np"?n.c8莨.%\ !{i%xͨxVŒz*c9(Cu0\􅳌~ ]eK *5tE°~~y:\5wKb-N{S (:ئM9#×K4g}ɮp'HmWv@QPJQKJYKuvVSa&J|=gK K^YD.n|-px`O3dMS 7$?*~,/)#R >̓AhrҀbMUQZE'>#Z;Idҥa1Nly-z[(X 䉽ɘ_mRYFԃ WnmGmq%|0ڰVeY:(mz}ޅخeO05PN1i>JY)^ yhPЁחgAΚ'ѯ=qR% f( m? h "} DʾpR2[vެBI.y~ƯSH_A0)g9?f2'Ьvdh$1h!?P# qb T"1rbP-/@}:v:?|]6g9<'na/$v !8$~A8yx&J 5fi%"`5½cA|B{.>$DSFC7&?B?$ [4;R-艴cu*y)N ro/2yLLm޺S(f9׺)5. l啧[ya47Adዖ(y4"-WYZp?Y`kwD9m5gEdN&r4~{-%; ""qr9Ȑu!h'39 \Zdz){GoQܕoE&G$Z)>&a-WHj^]z s Iu9z1lYb ~iXP+&zR.<]P;k. W$S+).[r$ONt{N4.ڿ+@8=^@ڨpt*pf4B@m]W4R H6s` wӪ}u0y%ELT$]{uͽzAI]R{ٯz@sX @< K)ΪGwԹWEQc+̨; (c+1}J~Ofm`)KsLz fW8ALI4@NkxDna&c#t߄M% Oc /RSF$Vuj9FK _nˤ/ja8G{+m6{ߢLkaKbv5ОD׀%wZF |B ]$>*ÄWߜEUT;Jx Eu8^r֟CzED~zTV=r&yx41`T'imYO!959A.,|gc4ΌeYb̔MivAZ K]8e90N\&qꄣeکq̨.ir-M%':Ev2 )/B'`i̔9۫TV߁zZӎ CTK%X8 F_cw3HQT-!!Ħm{S)TPUTkd\'~;_B_60'Դ0T×SZ(dLL8mǠ:%1ފ`_o)H]הB (vV-g9nH1֚bmTV]{fX*XyDV^dkD]1š'”m#&% 'Q$Vh$>U= &9z97l&GW| ~5b7&Nݪ2C+ۆ/ _4`Ip:H:C|t|LBjgzu]8_^H0i'|̈iNς;pN@ل;7ـ敆qtCxbh\Y}DZa-{~,n֚~(O{ߞӹkvWܬ1 */m3N S:HQ"TkM3uv#gܠ|O*=L+G`J?ozrx6Xpr+H!k/kw) r197"+ib_Ɂdru6<$|Zp&ۿD]`&C|qmQYcu2[oc$' DqWwR D8xЭ:n9mk y(bJEB:Z KqPrB X9+ fqdf^GSCX@3-ZT{9=T~ ip!ïܪ%"gu6~<Є\뢝f+Drme%*F T+zVt]3Z:9P22 $J|uHjː̾U2uCC^om\G@NU v+=.-V!G3 B5q$O; bF xi։gtڑޏb84X7.?$7+>|qsAޢJլ'68I˟%FXayJײFI(-Y/6آcLњ6nRciz=64(yİFwI8s!mۯDp{r, W՘({MR6,ݟzZGHLi,w糜)Q|#; >Yצ`+'p$!bY4sʲl7AsFTF9r[|h{>_ fLb?7>Y. rZ* T}Oi=Mꍠ#ɦ8ݍyhqc [J/(Â97Yfw{v'D*P;[ymuc&$CcuSٴ 5S=0ցI,F-c@sퟔ%P@O)vx w|I?thpsǭOKt,$,Tl.-O#kyvto3'[.:ʉҋ[O`U;xȊ#ej~:JUu@oAD&"EF:P;xƸl?MTxZc799$E/V@9wR N)z,ql=3:"U}%Z'҆,]ywkP5IYLd@h urXS'Y@R1gq௅0â|̀,./yt{dhsLN WJ5$bZD+KO={SZqF3@ݷ1s1d{&|pT:);BzylOueJx.6^Nq !A].vyER?Hb^d Ws|<-D]?rP]=v}l0r⬂-rFEeBmx!9<^#sfyCy2eZԷz,עfikհaeǩ!)`3~K#}쿴ղD] !Zx{0d ;Zv>!\U \F' mɩ JX'ߚIoʛٺ˚TF̨Or{P'BᰥT=B4>+ 6/VXZ] ,Dn1>daM-<87`w܀[:ez EC~CS k5늠:> ( `Q_'1_+tGl 4.jR= !ay 2[4-KnH:ӑyI iQ:nѩݭdkL8ߺ)ѱK+-?3ՠp9}xq'.*'W*CFEb Olr|J+V!`u \$o"HsSv$cus2>=7mrcq#WN#NڀOC|,l_>O$F< Ϩ'\6bU.-t:#mk/UKJO:M4}@hzk 5Pf2y.*aoCa04H^"4ڞ!9ƈ|8ã_Q!3IlnΜ)h[t#5l^ !s^#9y44T.VSb Vd0Pn03d!:K +ba, ((̌T* jSw>罌4LzɾkHn'B@:[xЉ(3Ǿf.M4168$jD6QPz9%U OU&fS]V0uRq0>sPg뽒.ˆZ,!\˸8نi3יwWD2?.A ›,c~Dh: nq.*;|g bbYu.^VoAc_Ƴz%boNe? E+t C7UosNeM{^po~8j7>x$u= XBœc~tmvE&?cWŝݝbZSu15K0h7QcK^ҿ0%Jfә)E.Z٭6sE C8' my,-&\)KQ}Sh\M7먥ycA+6'ϳB * %m U%4YѮH\Ja!GDf),3F-f}T~x̳q ąj/_ {58e֩ONnOTHdu=* q#dԉōJhCɄʮAiIa~?$ cpRxHw1|t^UƉfMLԵDݼTը?gsR`aX~b5/i#k&X0 S v"<.)92<j)[IK0xc]TP ZE_QDĉuUq>s°䑲pH$lz/}5`UϽm&9z9!4YDJoDB]ϗ30`;Rv\bf6G+pR%jI27///9E:[䗩?dj*-bc3NI0"*.ZVdQ^fR'"0"$䤼DhK9 W!ɧ.:5hNU@ZZ=^{QP:H#"C;021"p/g4Ji:h ӧb8P*0z=+^_{Q:xsnrl0k ^x?QE]=y'M~!10v%"ZSeYx-\}u(/ph,zv_{@ 7K6će@HQ(F섰H\+?2Hq\~6B+cvi>"}?2<^#ƏiM{Vc:z"C{?9ln48UdqjӨӔR|b}3%KM^UlfCוjc#9AC7 :VFt:qݤty=4`5[{@,!Gz=;PC2lq#JXINq uT?6NYMjJ "Mi("".B֝7=Ș 2bNo"QDKo:J(>$ˇ?тf ?o.=%T jU&\[imuɷ:P44LY@Ì@'N{7nNT&[|UkHhI!V{U|rIZ ;ۛu/ sU/eXˢS{p['Yv'|qw(Jy9fZ&v8GuB:NB JrnUN a[Qj֘Qzeg Vȝ7(]=4)^2n0"m܁NC }$~SeK"إֈ )J#T jnx[@DŽm[') S&b wH1 =1ۚ4S Lnѩ^M(4SJ-u4Y›ltPd}JAHމ]}֦4#m Vs]'!w?/~KkA4-фgHViqj4ΑC9#QNd{$'F^hes4L]k2x\/2BKzATxu7p8uW%v-n I'I\z2YX B7lh?p E/R6b~KHEf:&y[^9c}l1D$zI/@zbL)62"ii! Џ)ԨuMb3~07)YbiYNƝgeUM2f.st/eecm X#O9A|%Mw:CkZov^&Oƣ穷)=ܽj=\\'c1eK 'Y`,.fh{_Ҝ iP4Lgj|Ւ+2G#4ra K61\VAc֛Im) Ixݔ8QyM?)+9@yg 5̻̺jO0Ggٻt"s.~Ύo k92dz/˸|` b'=EgziQ}tNH{k/A)e L#jjcA }dҚO祾{=0(8Gi7g̺|BYboI3&" :;_HmH33 bC =lo͑*!H5n*C*2NA-Іzdl(Ӂ^C]o.܎ʎUj-=T9){SĴޫ4@nC-f,w2E{Nb)X@u$)4D3a,&Ma)18kSTU;/ŷ?mҿiT tEJf=QQx;05{mLiќ ?UEϘ_g9R a Z?f۰/I+UxIoiE<]z `Gɖ~{yM5B#65g|۟/~6:֌lK8rdyAd촯{P/:bl\%puW)㾘ϢQV~ki@X)i7~fx ^/tc\;1E qy J X򤟤v#!5qk5,QrOOA"*~0T;0q,(Ij0{t3.%ޑM\Q#?9 '&NXB8y"-m 1`8g]0/4^Hᄐ^SCU!~TF'i?ĐQ[2RߌU=Q@uԠfɒ̯tCE#:hY1?e:*~+mK^&޿%ӘT\yI{@˔3kS5{hWh7n UuU=5-֊n͌n8)<[SN׿헿9PrFeMtfg5-U /kݑr3O&F7/û禝7?p˰8DJv=zJ7dty0Gwi-;ɊMdm w!@X[Gם }CkEhn:GoQgr2xk U9[w9q#~*CC OK7:0""5r-KF7p0hAo5*kJdG)yk |AYh^6`EBR)=AF_ښWI,{\Ҹ}n5 ̽Zȁ{J9M|F!N Kl77X 6fux!IHgsM4J$BjIX[@`31Ƶ Z Qrܲ|Fc7 ô'nO-Ca&&05 QrdC'&?zS-Rص65!@;1V,hn-^N6LT(uifB JwI-!=vQʣò+ H0ozE/JL>Gm;~rI3eDFbҐ.YYJ[[!]^L])09_ÜԨwHypp̟k֤IvU;bWw3225bIm%>FYoRSߴpJ֧ŹGݮ{g IrM'r9&Qw[b=BȀ,Ez4P1ag1U%+!#cDď5U@lOJhwH䎍_+rꍸծ!\ⳣz˄`I)fO(A9h`0x'$А}y?U/F K["qYk nC$Fw$w+`=Q֌_yfq/y7`UKNQ8X&5[Rv5ԋp(V_e.Gf`߽@6i~!m&X6_ ;/Ri.^RISX+-'2vLiγL~( j84\ AɖV ϻ@]Z:!_3&$^p*+A *IN q)6+¯R\(HfB =3C[? ˾4S,Jjc64.PC1Uc*q5;bǥf\A"^.W`٪!<ȎTa֏aD9 C V"B ,wORTCyY(/~"Ef3>Gym`CbrB@O@T)AE.'Obv)7f8Kˬ6*j6메Օț7B3 ZG:4+ƻ]nŊ,OfZ _^e fIoIrl濳r\ ?}8Uא^Z^QD.ϓc\~LH K-9;Z(NKajfg0x1vTuŁ*g!:~) pl ^go܆dU!q!㽈ZoY]4?˰U.,_3~m`(2ibw @ gj#%ԆFIe֞ad%rf pb ߤ{h=xFϿOuD'ǘԂ}BV|> nw  (cp}kx?ΓjI5ChBi[y+fA"d} "h괧C(?-("آ驳WWj[!ߘb=x zSH\A_=#Osw UG b a5UWXkh[LY/u]>\pM0CDu, *dhL۫ġXNYO7aV/}!4/XV: „g*R焮v{J]0}۝Z5EcQf$|o1O a"RQոlhi߉[]2onc5 Kl,:ipnF '?>_;7sڑVd8J8`ӳ~#Fn~*5:!,Px@(UO:%R¼åظ2BW='*wXS6N{rhI_iXDa)SH)S3!Y)qy;#d"T0 JjH7J`#moJWZKV' Zi˾ަ:d3eiAmEgߜv!-Ҏ'q,g {{'\I+65:$/ڄ`gfO͜(ړ4Dӓ_{EHԈ/0?ػV\O_uw^G}A?k8mƦ]j46Tjۙr )r!/0ȐK2#O2bnۜB u{Qi;aI6M- c W_@0™[Ʋ0ŵ#c V3 9(};@vz]+ 0Ҍ9=`d#D=2_d޿13!cYeO:Ț3קo{qCOx Bm@EE CM^p\z&ybXath2׃(gN5o"-zH>KR_ V~L 8h-ڬ& }/2ܣz}a8f>sYUXGE4I!F7A 0>`$gks@UfT\<9gK 'YN#=idgK[J׎"@X 8LG@LuAЃrSį۰+#ZWv}a9GWz7xxҊʪݴ~Kc7C鷦,[}0du[^~ qJ7vn+`׊`]Vdw̰p7P@N-VL KW9e'wփ< eF <M}:I)#y/-˶mEإxZOfrw;,跒꿀=v,@1w)#;[kգ\2-q Ԭl/TT ̼ZA{T n90'&%D+zɄ=cOt%dR~B`э!V RZS‹؅M%|p ^%f\T?P Vpt.D8 'KZDs5J+\IK ~i.4JX`ǰN;C Flv4Fdr@\6&S婮 vW9 )z#\p_$FYvZ}̵9RjT{s,Qҝ<@AQcԻݮ{Go% a4RcIF&*b ߣ=Bʎ[b٥Q mC(Q,:e 7Sc4" 1n^QC'T0nBI 3)ٍ( 8B!'PL5,tdiG%DHgtil S&]3Όg+wuAWX2?;VlM_%N_>x[6auJ!(4]Vb'קӣ K^QC IHH4~Ai#s]kjZrٷlS$^(S[we EXش`Q{kjJDa9W|l+6yn&X BH [pa7-ծb7Y}[->A/=!Ζ}ܘ)!t c\MC\zB;R}0)T5yS!firȥ<SihGJ]"Fl"ߠ:)zb\jcmM|m (+XyID™)ۢeϺS&( `N!Y>36AK@Q[V ;G_0iICĩ<t } ~̳4%b{QV]O8LXC( gM6t),Bൽ\B0vO 5##PtnֿM?-lmrEeU~ܗrpP,^'gIWiι' EyU1^P_S~IV תF4>`+IyxU-Kai=`c2<c#5Ъ7XƧ56bfWE,ͅd̔Q>vn+pʐeEĠ3h+zUɄc6mjdB!\.-Z¨ys,]{q04"M푺&ul{\``By,~\SmnfHgvM$# Vұ1kH|,oA( 8Ks]K1DiCXݦtnq|6ΊyR.-S|Uh0/ =NJh u&8 ^q8I ,<5;Zq=NM=)R*V+DiIhឨ{մ*9pCX)- _]e"fsw9qk9PWYj=Y*bϧ9{V_m8c0vN Pr9Auo whrbx;Nu R/s\x#Z}d\ҴK~v"k rabƹT)-SM/ }c3d!8U&OLPEuP!@'Aa2Lc@?5/C6Sj،F(̓BDv9}:{|tAynvn[m/Co 3 /5rYnGMr˒N]|.!,ҞiI-lg81 bjd${L^_ocg2! ^?vR}eG@I*X0Ti Jay!nJ? .hMX24P|:(vX!{SYQft#F\03!.|M!5Az CVD` >@4 OF]3(ز*6Y_m֍߶YQE놓@YeuA`j3ĹqVQ*ƣ ݧa{Cx)#RxzgnBKV$y2fUQg' j>z%(.=, & Fbb,%V[,X;ҍ: ZIޯ.l?&b,1,Tт ]`9F^ؼ^Z)ZtQ*l ШCD2 5oHh&xE'wmg#ɀ>U[>}Jϸi>MqE zU4}=oP񒵱L iVH,֚t;<#@ҟV'6<۲:+ ;M{6LL4* ̞{.N23k;yuqS)+')P-.ZsjKH1NQBWl[6=gXF:9Xaüm"^,*$c:†6L+Js63c-B\Jcg#v"84,T4xɛ$tuCV#ha ,l9Nt 9,hɿN27ji-Վb85Pʩ9Ϳ+]OQ% {'k]ۣ&mguv)ewk dv?%p{_+: ) ֯IQ(2%3VmMUL`[tJͰS@\:7[zoZiivݢIli aŻnUt]΀h(Ԝ.Y-Enb݉M<őT8ITy'HCuܵ'_F{:ɐ~|2@"^,ͷ̉r2MXJE=K[>.j^ah+R<l-h~}ȷgvv&OauH!yh8s"1Qg7$lAρ脯¨[rӱts`Hن/iYBQBc3} и;`=Et `tf QGT]#>~w#G9o̮5ޒ>y(a/|`;4`Di4$YlQ>60ֲ ?AMPo`F` ?1e*"(3mn汩$y+8V1z ~+_0T:.4aza,߈v: Qd-R@!g 7 -x0q>&Z\hG_)ikI> 27$'zz-eT`yPӔEKd z* "{TZ8Pzy5SmЂoWnv_]~YCL!-QRgLmOZόW0}i4ILF!Ei HohP5dou}7Wh899Aʏ 7鑉[- a8͏H},m9mu&ňb1N?!Om.'Axg8LŗNA[@B؝T}*SxDz[B_ ~{ Z %EOIJKʧio + ٚyM۟˺=1ar޿-qܕsLh+.cV)$e͗}j\A)hE53q0 Eu}V9kx O0C#,9tz˯HT>iS \p B:>+3S^!4}|OȉMT.3$T XgNuJHUr/\9:c)8kQ~o+*x9pfMÌHє t_s!9 Zh&FgB}pDXބ[(5j#(QPrOEzSjFA2dsaISϻ.p}LJ!zjD#L MZXٝӶj(3C;Zeӝ4 yQlZ 0Zݢ XiÚ b˦+FǭkI"Kɼ;_{."r*36"2` nZ]:Ls 2WmFY_#uw6пR:2Q8G3\!:Uܯ9 @I!б {05;D_d* I=[T+ Ι8kXw4M,}}%w>IvPM4Qyp47 >G%maۨ0 I~FLU͂BwV? D6۲% rzz`C\}bY~V55Q>exq=fr !]DʫneN7cA `j@Pl0,@#)zGYϐ֥8;׉HVۄ]p]F?S6"@>T2Օ9I `#oS>=Q?raYaR3KJ't?Ug42ʽ.D A $nܠ uK8 IލI$E7~0n /呸jI*t0[$8|P{!f"Q26ZJ=HeoYb7X'=aţ< 4/]ž61C;l=ц=Xwls 'd)\_r[C+:!οNt,ʠ ?y7Jߠp=ILS A{jv|w47Ӫ?d^csƦįFC[J>@\Ct?>0|WS^ J+ u1p/Pj_D 08)6= M%`A=QkT /4}[dRğwoH~ /axy4Q,}GYO>`)Njc}-"m*w~hC$,@Bb8?b)>1cE)q=6* $8>b^^-'jc& =,Э<`]v3\aYtz[]4u,ؤBlǵ5z*&lQT&W=a33D;,w*F:LAx3H+3B#G$i:$*.Q6A(G@% M$[e=Ha-}gYdRsTQ/H 2u)E/h[4;_ER0iH1b fN>T:Q)Ӎh1.v m&j+X:0km5Mc`,˛:7 τ{rB |` ][G=P۩^moJ(3jk%P4fiwnv3VU2l <'hnoS̸j kpy^Խ]bvs,KHQKAeaQhߺȄM axjMEV4qD7Seb$%DX 3AOJ=B(u_zw@/i Ϋ<>pǑS7dyE 2SƐr#/)2o^u+]LxRz^lL$0rEX6HMSjCfHIw="NLpo`ʕcGܱy 5ż)E^T)-xJP~Z.sVzLÝBz BK^&ǩi~ED:^(G)w$/}¹)iJi}*Pb)P<[Wy4'Qqkba& %hXQ5ܥ> .\4Ojx zM28ܗ4:ҁPqMx4Um.b!2P1B,R4R׃ QBwv/L [U"R`m4xfo -r+U#} 3z?k&$tcxf<= NUƐg\z^77WKڶ!4 9ZCa~9Zlکi_WtM؛LoP1TXqM]Y 4EMkz~|K{RV1 uF܅+c-?z$Ɔ M}MPѩ )i+%yu.!='mIG۵Aq4$0I>#0﮾(F뛩6S?Zׇߠ`'=3[h$b{^,f^7 rS8|ek9iqH',ޜS(~}P'l QKS5y׺]pcLȯISٵ|CB̓P Hᢃ[{G/4HPSaid4tѵ4T>?SM#㢯DsԠdL9Bޣ5{AFZItnKܚq>OX"˲V7~TzߑyN]v0O$򾬝acheQly—d%z;d+gك!MʃK5eη|T1*XSu@^zGQ;h k\V+{\~"XF8O_0Fp$h}{ .k}9Qa@dFg<PZ`9%Pϑ> _bMkZ\D `0]~1'#k#Y|s0B\p2_SskƉg4%q[EUR &!qK^dii4fS#ǷccdJW$-3YgE0W}$Ӣ@c4J;:MŰUfQɌ292@zE;L3€-߅\sx@ ̊'~lw_Pgbe- yZ^%#b$?v#~x l~])A `\uS;Cp>1q&7]C,R'6לZ)71h7q[e ح2Ò{ 6iA=حo=7&xP"VD4S͞s!PTJM"#C`c:rぶRS[vx̆Rl D4'+~#զmQ&t Z,DdQydW1o:Ƶp8ZVA)8d EiP#z>f$mQܒzR$O\ݕ+a4>0lWf6oj"~RmrrQQu`}3-Μb.S=Hs/mg٧^~k(рe]}FrO |=цd0?&BDٷܛ&fhmIEsFР^J/0i)ĝH Xy&!,^PiL桫^-*auE==B yg*3}OVXK 3"; 4"3`mvXQ$ Q0 b@{{W}ˇ (X$jkU21,gdއ9]`0~ 1ɕ nUq(]45i,xU QHQʷxqq,c QŶwDX燇+ ۲8u2#il g}P]>%q]6H+|RuPUCiI_P~V:wcV Žv(iA㛲C,q70_q`ږXw/,AƁxO\M^Pn8Ćٲ9<ү ^Fo+kqbˑTUѕ9S…DqU}x2҆ҕ#@ŠZ%u, xSҒ *x\ 咥O$94b"A͍0Y-%o'u)R鸇ïBfTqSQ'J{ <̗= XD0ûmʕqS>e'Sé+MjհՔač[,n-s+`'FI+EXk2,^|<(C n픺5Ă'kݏKQic(_e3OKp_֛<ʝ@}G=mLBt@}ۭ pMA{iȥWϪʰi8- "/[$9)޼cXBM1B{n}]%-@-=J b1}/s Ē=}DfhcY KPUvД*^v&z n+-noAa #GYQX(Ԃl¥eCOhdp$3- >`aҖ*_ 3 ~CN{} w^#gDLȢMaUx[Rs"ɨ#fãf`WYu˥kZ{K7vzmS C#-Pqa/BYN"]G2JTS\7GЂD ΰ}G9p1A22[3IJ \ӓEŏ9OFj25h|\#&lg8*|bz_[zP} X cU³s4snBG6<~!LDCYs*N]s8&M_=#i$Z}"gL })V+IB4r~ޛuk .ªE%[fˢWz'O=x5t1@-=BB>[p;Hӯũ4k׷׸=80% De rR1Ajt4ּ7-3MF(j;^~ߵ ߧV5t|=t,v>UތSaXWy1 _?m X]DҀ%^4|+<$Gtd/?M\Ta*^9qGaKNuݨޓGS3zgDC 'JԳ.=X wNg]k) M3׳ b^بݸ`G6`l⡠.&uy2[?8| k`/wAßWʞo_@Iﮘo*-5#CFxӍF5>5 M _~.-]0^8]Q|M%PrQEIRzB~3'A z1*^icKd02s4 4E>7>v8]0T ZOuW,mT?bӶV /bTֺatP 9}6 (B/T.MC[>ogo T95blNL^ tbrV?~Iy zrp7Pe%.ZǥOڨK~ULsZ 6 nEA"t`mKhJD[;G,ö2,,_ssml8}_IJN`LX|z>nr{ӧd\bRRv#֜H׊W)UdLy޼zMGO2wglʄ¬c,A hb9-cdB!Py7K4[-/J0/h#W&µz9iArl:0Z FCs"QϿoqX"Cr? Yź$~y1!X?҂e$RXŰԃK1c|N zfz _F5F8"?pِp+b)B$x]L!,9z5|Zz|ߦh|I3t?I>9;ba &'Z2LaZ^HWRYN\xYr$ w"9fW j\س[Rn󣺨 jM+bJR/B\d g!hMXr46^]DܩƞYA kźRPلT{\\ - sVgQ31"C D|QttNN;M TЊM,))\'Dڸ|!0"쇋l]?f@ <9Nfy$0)/$WwZMeصHvqXЬ!xB.YhCkHpVrUZm7QMa ~wKl?sťcBV(W%<77)]O2lҢA=45.m6Mx๢{0} x@] ;/%So<=t}gt~ 'e55+^z-1PB;LuZ1;cr>odÅjp7\NDQF̨FO{巳B7UoŌ* ͝ĸZF>1hz55Z g9/}}@?0@?UY b"f/N)b E_V5 y$* DIW#XtѲ "3|:ǩq񀛴N"vnX~fDtOprabc=}dWy0#vxz1Ed-=m0ީ;GoƖIq4@=%e:C,7=ڠfz<-KyB4p)aH QTwJB\b<)|g“Ɏ2e9{-W2(0`f/|3~BpnmU g4ā ]sDM4{>QX0Im {ZQY[]t\P}wI朳!긯mKV*RasǶƭn&RPN" Ş"~8G:a=m:.g6ĔA{, ̀PP%Ha kn&+x]m) ES 6\zwXJ&/-jN響ۊ>MELM#Jpzr=3] \qZhP=*XHPV5d a4t|b6OsaNI=m.W  )̔ҽ"B+JhF˸i𥳐dn\Y]σM@:t[=cӆDFe?BKH)z". {a8'0b3@zռVa Wۭnޗ > Asˌa\@˅=K>B,C= ؗdo{Ii23gS,a@&UWPr3U1U.y-E<:Z0`u52$"ttwJ!C{F@XƭQx%!50c_ 1 ?{<;[1n{ygml8s8kʖ"qҟgR4:ϹlXlu$p̋%FMfݭ8S?ldxszGF&:ݫH1jgk5&DԻ<!J=3p>{z@r5! r.tza ~̺61T^jcĝ 9/?>T~%_u5wQ`h 90*" ZK bH'c9O~:0GEݢ-ZS{t((_jBxO> KT0խ-sVy /}g6!or yK2u!Uˣ?9dwnQzy_(O8dB 5#k^nlu,jq/-$M0pEY"7g&8 L)6/g9EWDHȲtZ>rzzMȶd$N~'&Ix3YM'eYW|ԍB"1KgNÊ"}Om,jKBSL/EJ4edEqLAr["Ҷs8dA뾓 eqISoH&vz50v id7mP8 _; "sx!Ll9IJic?ɮ phr]b|/(W,އh/wIDC~ +qtn o{t s -Uy)suQ[Frx[ i䎰?l9>{ky ةpԢ Ш =4yeҧV%E'Klʪe\KbICEDdL Teoh(ٹSxվiO#@[XAc慸W"c^#7-*u*> L ч&i!s1ۣK,U^,˳tz c(c~PoM8-@3dMBK!N0ze!Z)mt\+'˧2h⒀߿JFL}?Vr W|0r(1ĺ$v}Gĥt)TRDdA%U qc>֨E,吗#q|>g. Oe5kUa,Ca"W.:I(@|yf"^4܏oĺu@pwm𒴐2| ^KD͂71 WR(+Xg tC &jlm6 ! Bb{Ns]gJZBCrڍ&lN UCnY?INǘW p%Y|s*@p[0dk{j3#,'/(a%A/`0>gd nT~ϟԿO4ZY qKA~Xj iXrhh# @ϋvi,FeYSiqauіgE4 MT0(ST_&c0?= ѝε?'X:Y8P4Ohm)gf \)k:,L^.b{ZsPDqznTSts 8 u zx-NjƁI*! gʴ`L.4CK<2ٴmϠ\[xjh"ɗlϮ?/ E,{gm.%OEKb+l^n4E¦kv2["È&Y grahxwC7\(/β~7UrEF D3{4mf;%-F<+)8qD]¹G$gQWϟy`1Ԇ<4FU'aG|SBS|'3p)e?V4m[*{p/vet")]-1H(]KuQ&i[Y^HaSKD!-w htj}Bm*Yx 5=Mxy}dC!^O؇VCk fج 5g)‡Af4Dͱu98B+eQ' ?b8\f7N뮉P9GIojexZ7\$ 7ᒿ(H?uR?s_BgWntbY8m^G5턏3P H*s691k;<_syza5DZY`=d8ڂ}%W] 4HFC䵏,Ȫ"hl!XS= Mc ,7#AY*E9G9dp}5=TyM(uS1{1VbTkxaӠVtǏPϰXrD>I|@lzYC|9t&0l{% 9AȎm9'(fuu#Tl V4%̂acRxdLŌPd\A'WZ>h=f?  % ΌWK9V{gܯI%k._0'7Na(~>Կ_< $(7QWq٭ƟPlb\!yY=h-2XKJrm_0a Y,3)EShX~H*@9S#h.,M[8wWC/A~| *"yzMDN&)XNy*Ӣc?*t(FƓlP\rvj5+ \8rZ*^@X 8of 4#_\PKxc;}>l\.:c!5˃.7x>vD-yBd2|#k0!'N3o]wŃ? ^|pVWP*5 w1~_=f6Ɔ<Ԇѝď.g^$GZig[p|wq{#P7d@xɯ$ODOsaHp \:R@߿?;bM͡}( {݃`Zª|)uzbkpT>X 6qY|]jfКVVR6Nis1̥:%"bȉC/kJ>ck!y;4ƣQP2&)cU:֌HAC@*}%=]62,EPxS<@ϯtUdl5ۦa.[w8m4ZNZ͉/Җ_Ά!&fq~L"Eg0Rfx[0k< :t %] L%YH 1תwj" /`m?ذI.ubUDfav'vދoSGQfOP-O D #LI&tGt{Y _ ;;jɖ=.d:"gwwDZh<ԗI*d (w ɎbW@ʹGk&,|×Cp#:r{x0*ɜn`b:uQi3_ &]Stl{$u;V#rN#~*S[sQ OWB<> ^,%8 T `& P)3$/_ P>ʦ/xS0}ȳskq̌ ՌCZ۠czmـ$둳q0%<>pP<؇aά|wLUZs{ i}s5L7 t"= +w-:AŸ)XxTNGbh!W5Beb@:St\ڌcg)P_ '}hO]'|X:eyBUuüT~X3`Oԅ{tdhj5k^.Mw2J<7񟿀:lǝcQ6~uu%f/P@G ]af ə\鮳KLM6u 䊕<rքW2D}2vmjs.P# u4iM1 Wy]z0ozY@2V/8`qUu3ß)Q$Rs޷dqoÃ5pe>VfG,Kw*yZ"??{1q03/;DMUnSSm;TLֱ<l^:@i*3zdAi ֱudΪj %I,9v x(1̘>K@fh1t%E hJ\gxL}ٽ hm]5^ R4]5?CzJ2W#vT4inFh< uB0=1m:yu#6&5`8eUJ-l:r Z53%-:cQ 8eCX\+9C]Y)&ݭɜZ2y&yqk.GtnRI zOv &O g!F14yš$,B t C*I4M _lŧd:~gRsKQyP>3,Iੑ\]0A3أ񍄫Q/m̮#hHXc \ :urYgƛ1^(u۳]("~ʖE_p$Uƚ.QMna3ߧJ:΍OGEhөnJ4M@8C[,g]Yn.&juf*ݕ8Npi[.zaciOqay"wsP^ME76N\Ϛ·xEݚ կ?Mޗhv% mjzU"#9n G(̉E>?+1tU o Cܹ;tǽARg!9愒YI ՟PZ?/j>:–bp iQ]JR"`;+?\| KL`%\;oӋk+Prq!D]2U! .e .>6c Y(ÂR~PȔi7| S7)iL%tdr*D̘Z?+#VXWʫ=ǣ<Ϸ6se!6=)":ˏ0_D 3R0)ᭌlӡf0' ^%Ýҿ!Gϰ)D2¯ h|V+hE0E͏ <1Z*_iWn[R =Elʵ R3ˆ`лM)&wqsW|둻6(KVօqP&x'aMܤك]RF*)=4-t+6zq1¥ByDvN.9|ۜt"4+)]Q&B\?Nts: d.0Uzy؃G2gSi2Z!D 7v +v}f A^̀!nfGT`s@vPayN;J(Vu\ہ] t3w|~h¹멘^k_#?-LᗃItUwK<^9w?ŸхYu7kFG|Ր(wʅB7Xɧ={ O =t-Ċ3h@,qiVo˵K@,m+ yڿcfG\ +ƍ}L _b('98tLZd:#|ĕykO MnJJѭd]C>Zy ;i~OVt'yn[ q&Q;qCv֐_UNmmk@^Q ۂ+ŹY"aAU5* o@BgK҆Lc8@%pwmp̊$a4e܅}qz.#2l [j7t3 wț'~?k4[IG!;:i!~N66\2#0R\fewp gf'*6K {mJ Or`Q7&aIllwljlA㿶x^C>C͠grcO0`pQ?aJ'!Y5qS" y2hZm='(Qқ. bP$~"_ԷZƥPRqçg;Z 9 {o/ptZ\Yl\+<~#ݤi̞m&OBF\ dé:ueHםAǮhb AM%FqlL]T;- yCcc{oTlHm/fBP+6 Q0Yhݶ=NU:%g-~o޽/QΩM$@rS y'Xhh9//\m˾Yl;\ZM5&u)onŌU-J&$}X5W˽忁9y&ùgsiALmD߾mFT-bse֒Z8<i#B k~.,ΰZ~^Qx| 1j;O Xޟ(HUkiX["KD1^tW)Xe*Tc(&h%Z+]-d`9r '\2),&} v^z?^v$!]Ry$SP83翢TMUN[UE\EԑaoM!k ,I*pqV_K`ίZޏSJC 'JEcSX" 9M lev!pN;RlH*=|&_DM ymLy$JʿcTF)Z:Ru$>GbԀ/݄k}Ž%_WǪB&y A7P[O >GG+/H^T=^$+o-1BId(_Ud|mԹ+ Ӭ*hrE)t:TvԄg<- ޵RO 3vu:]+Waz[W੹K ]O-XLßsPD;`mOm k&7/[0HӰ.˧mX$5$ =z+[,v]Xӫ)LqW6rr<כy( Ά E sƇփ]f1pǙ蕮3ӹ%#/!@Mb irn0HGt8XekIxiTuwN|!Y祐}VK90N! lVS*?W.)Vwu@l\HK"WYo ۲;@r?&6@Cμx;xjZB®zz^t쒧[Z]3]UJa /†= ]][L/0zf z>O7l -$;e3bTᩕ.w}.>Vޯy MEf*R +&rץ;?G9OWE}u-xݷU^D0M{M n2B`ݔd\Go75h:U e.}w pNЁz$܇TOxsKlE|wAY)޼ 7^6!֠7OUH[( m5=f+xGe$+.T y=>"@VOeF͍ϥ` %wTIC!7-M$)7Eh{E9h4Q|VRh xS,ty$lA'c8"q|dy^ qߠԢ-Aϸeu/) '/0I60=avAЭ/ZlUMG J(^EzPwJjm7Ulf p)%_pVUIcA߭+O#ggDp1%hTzo[BsLY AMIp|!|PD쉮Q׿K dQh! Fm9SGʐ 3n=wP3/1ʃz|sƣ};:=&)/ +6s&,Wo^2Jr7Ifiu+G&ÛRPӺ-3g5F Оz\Ƽ:<|g Hг`Lgx0lR]ǡޓA& 1b9Rx\Y" .ī\Wl%hP=3m!j M!'UvO:\I ,J L0D[ާ:x}s@ңeS61Z+Fxd?h1e- nqZ[>z ƓIGwn"[-'64$br<7T mf>~B e8ZZm+_yA ; U!'ӱʞi$5lCv4 7mdlNԭ` +Ht. o[ .wG.Of\dw N8W`U͂5#4ݒЍEȠټt>*, zZJ9osYca`R.h7G JݸԙzIȳp -&Q5OI]40bCKZ 7PG @su9֯# >ɱ7Τ2XQhKaqz ˝hUNRI X 󈞾6 <%Flsj RCމeU/UTuSAl&cٱH-eWkѸ c.1anBNJbyL$!ƈNWʗAle[S,L]sM -T&nd*Pre4{3jd6B|ļzOCVک .h 9y!lU@aS4* CȄ}w'Byɫ[RXRPzЖE#~yo%-rD#aeI+pG Aæsaِ%ljQtcGv&fi'?U+{f1y klƽ c~.#Aاcg[ Mws,ҬY._$c>̖[hCHb4s >Si:Pb ˁ) DKՎ3E f\5#gjբeRф=rѰ»9x;͐l} DDO??hˍZ!GM`mI\ek5k iy*AU~.L;RZjS &pĉB˃g8l_yVSUfoYA-`lB:`sŗ~Gx?q`M!SW8p%Q$&|yywPᥬg>M JQYE50U7yjLTa++Mej-j[Һ!"AcphЀ~;pYŚed&ˠPgPTF}{x,~gِ 4sekl."~iH* =p ŊGiUEzd*pvEJGVAwJxg%8g~r.x> %uJ/;kx+dj1`j$O(o_Z;V7F7"1VLճV4"7[IMCm_"{j& -}8LzmsbKe|Q z_7w[y'Qk l2[PFW5קݳ\NΣ*PJ÷-0/&hyȵķ<$ 'Qq;H~Y|cf@WÒZSY&|)Caʉ\nB59@ ΒU3Vy-R b=O8: lw_AeMVl`W} wʕVʃv􁝗i.bfrbcȞ3^g}XX{l/0@;6WGK?u sž_7 BМ ~M&V~R`[#H޿#`i_+2 *['pc/H5l T EqVՑ cݨ*M V%k|7 %$HOWwb|gYfZ}!~rֹ;DN:X[PI3zJ3䉉(*֎ y,GV1+~x_ղ}@2ЇvaqNBȆ0ڿԞ9j03|;|d·q {f2\SHV}_E3݁) OSK4 Y!ΤNb!^?[4ƫJJ!@cYp  TEi  -\@,tnRSCDFL}jF:.{қQwu l5`( qAF>SPfcZN|іn?Lei`K)jYv6Wfa^ x쏁2H,:g4 üweZNmzW]ֿ6Lo>hɚ?P0]Gf)>HC Sm2u$ vbC=⇖66dUmIߔoPf _0?\;S˽J5{Yij>B> pBA 8Npb"$|xfoŎq/g%}cBJBWYR9eCr{=qC㒠z~aCFb)͚Eos|^S/1pK[CD [d9m -dwS% _jA걪JЬM谶ٺ2?LM} ^z`\ Rl_NMC3e_PtIOmBm^ߧCCQ׎ʭP-MYNDe3M֠%i>q{-=zm?F\0zߜsJQ)i<ׄ5euBݯȕern{.'YZBTjH3X#h"fFq>XGz"$c~`|.MGkw>zڍpEǫ[8.]=nŤǖӪTDABZͪ frZH|1h,yo^x_~\H_&p#G6/z&tM8yyh<܇4X|SU [-]/CBpR.&o[jR;STaXdd}KN 4 IwbyGX4k>H,Qa=GNg1Gq>\v'c.w"doyc]?GG/a8#=ܩEgOOUiECiw\z畕?vK{G?{8\Q:ĘBCbJx3rR)&~nF}Dp}>'nX37O=EH$t)`YEuE=U }; `>]խ\hϰc&` H^_5TT@_ -`DD,q.ɋz3V]H Ը./< XY푈CystNy:v`,CsKsL6QQݍn3n>adKgyH3Ý^Abarʪm \z:WqէK2V@PUף5z?vɥ؁T5p鹧Zǁj|U~  3u 5aov߳ `DȒJ *} BwZj+)e|:7: j{нzcۮH q](\Me>sj{//W6v9)>$̓ ; $)dD{I; @`DU dab G9N|DE>kSlOnkg.BK=&a\›GoIՐ]d%!-STG"ox`$j>]!%"L4-f4< $Dgvr^+"/B`ڶrJ t~1 b#-o;rRS󣽐x% ?-UHot~Vl=}Ux( 3V|ۄPa(U#vݩ Uvn@2XKbqseAq&ʼn3y6IAflAFC*|PACNYߦy8cEkHQ_3 Ms{0.u]b~QPu%E@zj$Da7Ēv:(54jN&|JQС:ƅ&qQ? ނy&'JK߉PiҞDNhntM8$}r/s 6}o -@:(OM}5_?X~wP߸GEyBce`R.(=K_T=:až1W%c1{kJ1|sȲ ]C''7a,΍ 8n~/x|$ j$f;s8Xu"r(7`>k '2KpM%>^iz>c_1ixo ߢ<  M'9lQ,lyj|%* ǫK5gG$3ic g\!-Z~4fˈ#,fG\l)[[HNZސqsKjEoF._kTX\PwG^XUV:+o%h#b(~C6id2j|5mqpV9B/[aWRbBLlyCY'5߲a>*Ӧ|2A@K9FyNMt/2ӟJr[(\SO1[+@ᩰ;͹TDE 2b˜(v/hͨ"Ti>%ŭԈ X7{4V{ݐڲfn as/λ>A .ue>yǼ8bԪѐXil'{|Kpo’ܾ EI: ok2WYa@"'dʆ@Kp$ wZ=9 sNQM:;'9c5l;nO@7E}UVr'lETc :k'h(%ʦDS% X< VdhY'$T[Yx 0ef..FPʆ+67,D llfn}e1(R0. …ZjBDpȧ&%%S#iu`9G#m+4wPXI̥?Vk졃k9fbki!P贵 p; z3WYR)?h "e=,Ί[3K [JCEh], 5H)?ȁ6|['#UςK X9 6SyBN$e9 I"I߁OBP{R6TNt0B."M,#f l`FgTPD+?}ɍdi:?=(sƙew1ɆNw¹ 5F06b)̏K7 Ac bs g *j ԫ>H)^ *.޺/o^NJ?>ugW^hΝ>d,J.FX4.aJys~~,ہo@jl 7j1M/]99<ٞUBguE:7I'bͨr֔|zpe 6U&e ZLo0̯bجZل^K}W 0*X=FJpjd\8 7>-ӏErʊߕR?iJpbְk6@dO &xt;LHľi*D\Y8YagKkR^ ?,0iw϶Uxif9,.p͖"OpAn=)iaat1ܑG.;cB 20`Ծ\ʄR 9c3wTV97AV 28rMŻH!JrbD䭿,mf=64RǴ6(GO 6 ©XSmRm'Wf&*W*{8~ĦV[!]gۭx&:Q=(IhC6UND*.\Pb[)a,;=L=)οYK"5k&@@H *C)=o; v$)}F!W~h[۳|˯ s<6^O-6r3 4܂l&XǧRNRָH!6LA~"<\!2'I&pQX #ƬO DaHА[=d"]4roij7Qi_-ė\یV6 Bёwo֋[Hc`t; AXJͅZD @O|ZZ7 H:] P䶲nPe?o?q{'2xyO[h,hL]Ew7)MTs ,Yi|~3h=zI[rXQB1GV7g ˹7 p/)*}*d_PSmזǀ>|Ui9lo6Ί`RK5_PGy2b;U5GiCac)L r}5U-"ͼmJ^w'bbO.o[`(+9?)q*n9/,>#[ .y- n CI-JN%֢K^x2\MW >U;YP4J_RyC>}*YӞjjDԫF*)AtSzCN ~;#AuYr8Jbm&GVC3NYh7QaøwjȁC~'~F|a47&VIF̤ WZeO2g/rPo1da!~I6mϟ6Vx#GvnqyF16JGGY9&@D(lG HV}xM$o~"[2NY}L*DAͰ:ivr,^`H L<>0 XWy9tJp{'*"~L6U)$G1S엋~L_XFUvL.e$UZx9Wg6]T=riE(h\x֔wt:kdN2 gYOގ%\l/s88A^9/jf%fݽh/jOc;qH | 쓿s:窱`g7 J"Y3\'']}Mdn06X%v4yrYVYIr9THzOES"'!aYEލfnM܀&RBD>gHuzvRߞ''M{va޼凙: Z%EwG!eM&UkՓhq~MH%Q0b'T:A& nۛ `sH ỹ 権XyL#P- U!LӉ 7Ej3P.& Uc ɤ.xڪ̧s>]%~=Zst I&MUm3~;;P+m)AOQRH}jp>j>DD3*<90A SN2vAeêg>!RU]KT1jhp&]\m:-I)⹌q|dqNe4h`{xyJ##}&ƭȀB_~xWİb@:S0X7mTL$<7I;ǫ=vmiB9^hegȃDXmXfta0 8 > %F_0<[n' W@xe*FQ%5!V)@Ģ^ i- 0~rD-/Skp+% *2bu\MQNpr9]<=n ϗŃ 撆I'lj .v1w6E<슙Cb*P`QM m1FqAhg>`Ud#=]nOCNiLxP`xfLywM]̾t9ׯôEE$y!k8GmC)Zs}ܸvFQ-f\f@ ް$d)#/2k`ӏtt o=N%MPm69}kSrCVSRBkzKM/ZR{!29sG=T)؋m-L@ݣMٍ< bOQuddѹ='Zfue-RDzS.5bFѨ;Vn-Vwfw+t dkiF%-աnΐvĐPV bfuؤ'>\odž X*c@&ڍ#'W@wKB\pt^cRhg[ ۧ uG٠w9#r,UPH.Kl^~Krxr* ]!GMb'Jҕ FVتAd ՀNX"'anvWt}mXHM ̾3`e~xڑ{Z _Co i]X9cq0G#QOS}#{ -HTt P+QuTJRg_PaXVd) 51 *Η^&x3kL<6VN{{n7ifv%51S$FzjщkYeF5kNCQy 5-&*g Mo.FO;dŮ %7hTt[3y5Q"=H,{8ݫ$6|9sV.~-o+]*$_W]%ڝだƌUgU:U5UAe3^Ø%U91[1a֌k_j}kىݼJp t/2d)h#>ڼBu@L;3ihOoS9f-3Gtu",'\:!YA{$.,"$Wb G JTZ19[Z$w:MDfk6p^% MSQ.+;"}>rLa:q*b0L!ke$UW̶낺gik7C.S?q;epDr& mbйh{o۰mj~q`G˥J +YQBNv{P>XlٛŽP..nȂD!z?CaZ[uh.! C)1eDkv<)ð_C"x:Em|G Y|NЮFǺC70k8ZP?6z3X=`3oU:Og'5KMb8<~5]lc zF2&04eVYX6M Im9yb0/@)yD9eZy/"4=`>ۻPrS~0]`8_|k4h\Dwq'C,D&DgC-SR r.b:]g[?3b|to}(HM#EvNz |rhQ,&$Y9mrjz&F [x]RCJdYtHZɦs=-5t{0~ @LHJe8i>%YrBf4IBP?Z=QjTb[ Y<:>W+Csys eIqMd;xɷ%CfWjrBt^s䌑;}DҋԽNDQ(n6Gި^=ců D7ɾ6|59SuMupˍ]LXy1U@4OGgȺKDrSy$cwF(z:VH\"2,TQkZ>.h9J'c=+0 9SCs61ML,DRD]~(أ*ڦFplI1C?N'd_:HA̗b d:34zL7-C7-*/'YAF[PkHB>THaS\TXTaP9-f|B.q>(/g髲a>c'^aA+$ NXŷHh c(_]*zuaK;N;؎i}(eIz!BF?gfaj W.G-_>%:Tp1wX3x;'Bld1Ek ⿽nߢFM%b5[BL .αc0Y>O []iy#77򆮼h~@۴\/,&)7?axzΔ+5f 9zW C˓i yj!xGK .IN\%/%N94qz}l$ cLQWMf߁j:R1|XsbƻDti<(~ƒIcfF)ŽIpŁ5/s;1(盬YPgMMeIzȲ~q%@ze #Oe4.Ȟ<;M>HtFc"z'2t7!hI,>%z6W-c9ɚ.Uִ'inE%#==*1|ZK#]Ǎqw5}a7uutt1M)֛!"Ր6?xV4 y}!f^\iZ:'qRpA/ ¦9$t0hg3sC"Nf'cd\A#l?q +rG_UТdE2c`~c)>7p$qt \J9OiNdaO91#,Zr,aՑ&1ݛ{ P{N? @~O>@Twgi&[.e>Q#A&DcaG FOI-;E3k 4ћb'9rx|_B'N᱔ۥS蘭t7JW)\-Be@V M7&vʤ5sWoIMGģmk\`&F ɎHqD#Vݿ; ~/+r=艻b UD#p!$:ݶyݟ.ù_Y"+B&啩 vc \1HG~˷yJSǼV7*zpM)Cm$%iNV ]{/LJ^D*i `֐PW6'<[ l.~`n $Yl{V!!HbrLߩR}Œ؍ O ).{~  t] pv@;%wͪ'j'Qg%QB!lm#J*t̄fQ}LWڂTb.􅃽9qrQМ*|:/D_si3($`Τe8˙LDd64R<0$PZUMj 8FH$Y hCmK<+a]ܲm ķ1eeLYLl:?@sl='0 kɓdc)V$ qzenx0F;ݙqVKImL)ei}3t< )r$!J?jAsФ&B[ae" )__06ne(x\V8OTUGtpBD,7R>WJEƿ/J ԋBh!3ldȳTޗ*q: hD":̤NJ:QyKF 1(2S~ץw2|sZ9VU8Ȝ:P䆜v$--{ :d.c'vz? tFI̋;&@HL<9ov57*M(ܹLS!x ?cWs?!䏉 R% ʓ^U˃si[ H3j8i q.-:9D kZO3cS΀Bp3/F`=s<VGf'v-im9z]qᶺ5bԹ$UQԓ)7oWUs0Ȋyh$Yn]<Xj sp@aJEO,ə+xi̼_0Y(+y{Z7 ۴TF&MpoڞvcrϱPK'ƸGA$LmJ1 j@)0n=':90-ݍ rB-9[͙HX65_혜g*cl?MvT@FIA/^vɧ Ng3̷݃J+3]G߷J\0; ۫ = X_(_Ӭ{Sy ۠\ *h4s~2@JtB(k)X\$FOlh_=35=JfzхdڧtGHD͕HwBE~[:r{K~Ncni_\}L)uBX9pW4N[;n`/XX'/T)πbO re 2P4oFDOe!l+7J'CC*W ~CǏ@ D"?H܄3/P@?ma5yғz 1Ax%WJBSTݻGe"an+{qvGA6%3/v %ĵK6Nz|BGFPN0}׵t۩Uה*t\MF&ŋ T[4b3,i+ݔ1;K_דX0hmSݪ3÷Ep*I$.Х/|?mkQHqn>Β#~rO05 |kķ:f9YD']1˝!=%:{dcF>6, &eg[K:\xy١ Vgb1~Jߔ˪ZIz5FcSRٲJR%ȓ8 dXw\ҔQ`]eQtiV( d;)ʱ?5=B+fඔ_8")mn,.~:JXų K`RfxV) V*.{9 @l6)<%z9JJWV}r萶O_{.r73y&1pO y=Kʉ~M5]9s80tdNάNضie9L@Y!01ni2CA Z\j{qAvg>SkؔZ4%Tq53val;:&ܲ_jPcH{"xwIiI3U1w#0:y_S.I{"׬ Oq T .!jMy+N1C7%. )!'DOk~vՂPW㹚H9uK ۞oNu$2l)>+/u&izDh_ !q-k)$&'>:RMG은^nEt?)?Hv\,KpůP)KK?ŲپrR55uÑ#OV;<}ŸZtj6oגcS & z; V;@g4p5aGR??{%knhH2P⿧K9V+ 2"Ҡκr*rf!8Ŷv|Ѓulr;dBFu緸]}LU=f`a)5606~c[aX0{AOlNA9c3rJM0 ,qxb_H+E{T9;e~22#dPZurKDI|BKTyUĀ%Nz*K);I_ h?'K]Is,"[H &1s*b<1D:&>ESXfu+:ERȾxK%@UM472ԗ/_3B2ҟ/M\# gqɷpϔ4Ag'\g^F=38WH9hGGN_}P|Mtv. ԅ+|.͓?dG"Cɺ<꽖OAz?,DW>G&K8TL1gY}y:.:jɰlTa'l°19B16oZs8WNIɴ\%c5>Ի?'Xo!\\`-D_meq:*Y֒B/p9Wc^!yאJu!9 a?)w@!j3coPt+-h iE\lfrk|b D9u`Htz.,8g6QS%IÝފ>731(M)n;qVN $R@2O ]*|;]ZyBɄ&CӐ?{xdoׅ}<Jv < 1&XWti(2Fr0[-}jGODcW/ +h U7f]|-95w^eT#!">q?3:bRdFi&?IvuU2ȥ=Ijljy7bޟEuQW] k+ W3c j15-/W%yvKS {XrAunr|Vۖ q@r(6fq.xaxW8:c=mߏF{xf X5D\ JzZuIYS. 794/26Jk| x|jf߹k8aa6Ɏ[&K-t:(:.߷Xo8ҶãJ Oȁđe(:pt-;ed(4tC>V"!o LܩeMk۽;8@ #30R)I"Wx6c^H!+ Ǒ^YSZTu[G8`W${\zsy}!@Ÿȏ멟e 7yFӾ$j8ޖ(NU,mt#&-%bMFno^f#^|&^ٳ:~GKHz.0?rGYMҬ~}L{ ch~Tֈ,qͺaDE7ZNCŎVeFa}rNN9w @ S5엱m!S[!2pT2)Ě <mwr=jC1-L-Έ(^chV=$.,|-!GNؾ;Q/pa sRc3@8xWW62ncWOC77ÕVmL;n*'*pR6`tWlÊo}DVt 8`|J.7%0Fټm'~F;SaW)7GShn 'h0I՛0#(䁵# ^<^3[@jӽD*^%Y0wAYG%aC,D=$Br" 6'a%at}|nBŲ(lm3QrM?ySwPnk^ih;02%b,;`mMi9q2^( 8Dyu hFM[H筴`N&_ sfb4&[c ;lJBATM/>A=>Tdž*9(HT6XZ6|FtW1t3bxYFDzLe< cPY81BP[ o!෥KtMHKbyz+LMEU@$jN\e]<& 1fe g')L됢Ta{b(!9T`p 0mYO:%vv1->sSg % ^--_z@M&m;][랄"/5 LUlp6tӯ+pdx^ +fJ ; ٺ{G)*c\t Z eǕ𫓄V36r WS1sSW)=%spPBiU~pnؽPzͬĖ`5L%4c "ï Sb^HWR=іְ$# ;J"42RV`#Q\*|{D0H%0`MLr{Ybv7qhg9rJpјNٛձtwA{~Rj],NWAI(F#5rWb쳍mxۜ?+Jc`oK %Ku˓3{2)Cǣ!VPuNT11&ZۉJՄqS2fqjTД„@QSaFA> \Th'V}75^Ca=͏W*@ `=J;[~yq%~J[Ig3rbk{Ѡ7Lr>MP[a(Ջ¨Yj*X[٥O靶{U@ŭqE8% 9]U|F `Bk#qx"AW gMj G6y搸 }o'jX<ْ؏5?^_Ԕqݍ?k_cܲEB#nkUbXCѶb_y$_»d0ç`czԟR9M\mc捦`&7dе_H:cUm꒩?) H`?1ѣJemhjhg͎ z_[.ߎVdde>eOt"0 4 ߱'vmfBPsEtW30;t\3++22dE(*!As<+sPoVJe~1ȑErTUe2M[wO~xù:8Gm\}Ջ6`vq-0nyq]O&xÏW8V~CZD!+LjلW4s(C _c .NФ5+n{Qd6X j]h?ɮ/Q+FX[&`}u Q,|̩`j;8H*|Z2F1|:mdPfZ ђzNر`(+mШҔlNN+ljݳ][+ ILE3 q1qvՆm^mXN=aY=4[ 3=Lͽ3VT:((TP!M,[JzÏ,kOI>֣u ' ǿ"f"#V8H^_jwv.N748~='5=XnjXPh.)myd{iUMlMoyPJ >}yIkQ 6ыyc-2&#߭K(&|[TzLE$I;DԲAJUID?5Clc8X37T1޹X6ϲW(|T1mWMyMi\oz"S7ػgX:. C%M'Hi~u%^'zEbTBdDg(T#Z:V^6ux A )uƕ1[Ʋ_@92\p,R; ufx !_.tr5-jNkz08wTlvʚv$Գvxy¾W't $No*>l]o5\{8Pith%x-BUb=R eLHBx w2 h3vՎP'n^ӕ(' rDQEKid9h~5 XZhpA|~&$uC0Ay|$V]&#";qbPx8d)|g?û'C)l(y(QOpΙ"qtٓGM {q_|sC(;d>0m #ڷ׼7Fߵe4{/.F`Pm\*@B B%DXBZ_AD+NT2WiQY.#.;RWq[v!!~)HϤP 50p8gH5,qOyjP'ˆ+^1nvO{WLvb1Vyp[S] M>ts"0DhaC[.lݏ9?%0~5.8rw^7خ68'~}W|`Oe5]j,i4pH[2aRTVl k`GY8P41;]m'$0G$kgbӉ,F {wk '{f 1ptz?aҵzwR9MWa /1-S^o;>萗zLެMKS@pPisu Ǧ?䥓RΛ4 ydGF,M:Y=(hm`Җ*C-L|KXi?#HV_sGTkSߤo墶3xeFłYN+3 ɯqB+ڢC;7h>oh(ἦ{䍱$d*NSK|3pULc311fYZ|MIJe^0& 7lJ) ^T~2.ߌHoP^!Il嘎7Js_l6P]/U)U=czL2#D}HYZ@b%0l Qs[ B*{b@. (^5F + U Іǎ Y\8R{'{$/aNtTj T_YoOF3d| qŧu\ A xذ/$#8ύoHn@# Σ @}& ?42A&#=C쒱eGx~99,|g+^a}1-l%%휳xlgMnфKbLKwrN:vϡ'#= RJD`]4{mӏ$JwN+bѰv5B׳GSϧLbvi|+O[^Eg3kN4w9GhMtJ݁k[򳚡G$7_\~QN 'cm6UDleZ#ǯ C>13( eFLR@{2: D}ӸBu~|4! R12~㠳Vշ:#¸70WxdE.y*9JD =D;atˆ]S"y nrmم{]BYcMţ߀T_2xt}?OɗLxCxH`::110ep嶣Ry0a(\hIj=^W - ~hll++:W@Ks˼֣r䚁Sؙ'ٚF3 '+-I=ƒ$wRe+'/➊>%N;+ ;I{]t/"g { u_f)BVnhFSn'ޠr5l=D% SZZKFw/Xt%j{C^.%2!Z5_!IHtKrMZ͵ {e|ź'LdNIH"rw'[{MED cT#ELjiy9Gށ呱rkvZ3 H7`@!(L 3dG-Y%?(gYqNEt,MOֿ nYGވ!hcVpZv\#*o)3KLEݦ6^h4QT'Pc-BbIDs߰~L:I=XcLhQyIX&/J6Ǵ`?Zg7^J!,eiA);=rjeض7"% t)T..rP1U[)劙J /eÈ}g/U 1jV/k ʴGN&K+F_hc9Gqy 쐿BB2T̙ґԽbƺɭ,䂃*nm3i,$fY .CFgulFqLfM=B`z%t:25TEgSoY=0sg/{2fˢ}BPLfM_֭#^gP,:cF-s,<{jl r&6qɮX!| 8Xlǝ: 4\@!C3<].c-sb48ޓ =Fl~RWN`7bȳ`D>-mh˻Z*fc_ ܥmw1dכdco"v1f1^c4Vn!C y 0%g\7Z<H\Q`JIJ9,K ЩndؽA{Aauo[m#Wߒu4y?KСN>p_#mrz߼WJz4 plv_;S`{pˌ[@Llgbz ݍ7w")Y<8#EW&?qNr*@nN;L v8~ma8w?8znA%tr*=8&"yumƌsf^,{#S:I}|Bdzb}ED4ws_qXeaQڕEHJΛng [)N5Mw*%H%b|p7I[׼땰J:6O8LVX _ܟ[nGj ͞@q80}k+**UB:)4GVh |n O'7Z͸n1(qK+}5D!g5 ֏VQ}#ʢJòJ^uSָTcx5g8|AnjCfcg=uo'! ]!eN}ލ06@7Լ$|6.y4jPheXA yk[3i8rꅾ0]ȖwY 'a * !mwT+C|92/$*7 $ a7Mw $ΞRR6j;_؊}aoFN!PN͓mnwVX)`YZ5SdF+<#sk(/pQ[yXpPKƤ{ miƤ)V!J628!P 3cbf[{xg(YEO?sp.@]]tnբ]-M1@Y})X2gr?Wxz#AP/c?&!QϞJ!E13?51G(sYl;cA O~'wowKK* z12C/wUƇ\Jy_],C7ȁ&ɓDT.ǛP+Y5l/61fT!i/),%U!JMmp)$zZ9cf#QK&Sv8JqrZkhE-V$6{ij** !w9L i1֛hecvXBأ;*g:yo.Ϝ[Ֆ>8VNPwjYHs^(QVfns(?5yLC *G5ׂJ?NN6?ɍDit]}A%3uk 0Ad]ɑAE>[ew7"*_7oP[ǯ;cDﴗأ*Dm^cx1䌁Fd Qj`ݶuA1ԣ|yJSm0(7bN;5 N ][)G`%̡CkDdZzQo^( σsWH%ΖaqB.^&:W .*˄;$E \u' j.p'_B1\0M;Tt,#`]n1 ;=?#)䯀 }_H|Pz%,Y5aHހ͑c D_<{YCB[3R7+"K|!D4/g s ]ODvOװpE# 7Y>@D:ਉetDv}6~86OFfgD{>6J@-9m/Nn}Zq/\Ȏe*aU他Ssτ¥(0EBT,\=8Q9sA<6?A Qhd7%țXfBlx(NιHD_j}ſR"ۚI%4cgAz B F4ߎL7ט\8x7ee/Dשy#!uY咻>-~žR E{uix!F僚N"G *C%#E/j!#yl+ꌫ1nNLj`#1#YAh3 ;Wj]C/US$Z~'CJ]nŰY;= Bw:nF;?_}ᘆhΧD@ЌuUT2urC>lXұ^+>g\P߮GFT1}h X-f Znatȣ 㛚 6q?}E_+ۡ"s\ig|0w"GWal-A)ܝRwx̓ib3Tbp gI-T!=,Gwj@(BR/_b_,MKT"ʝ2:,L>õSw wM|:58,)B0@aSoI8y>Υ\4"7 *Kv^9.Wg|XFOCI -(traz{>nROeĂNY?^Q<2WSR®)C\w,dxy@,IévdZ|"Ml-"L{7W$T!2C1W<;ՊZ meS͐PE .ȸS^Z|*@d{+I;m*lTEn)V7w1?Gȧ^AA네6N&ܤ*[{=n妳@7?ʓX]f@ :$B櫂rH| bnk +DPJG.-c:tLہa?3^-Ai!5+a 'ѵ0iM.BH`HAz¦7"~z/ 4rѝByPPfxg&eN'b_&)R &͍O'fȄ(|6c_҉52}4*x@QgeTDQ/Ma~,2 )FPt֫*|\5.Aߤ]Ktti~)7$o =ˣƚtT?vڴfWR^:v7?1u &@(6p'Px)g#ZWwKg_@BULfh4lCdD2[;I!mi\VlklF=|1}XhVӴC u~QxH<ԕ7G7@w)? %l_kBg g{͗PLj#G4i zV&'Z眪ܓSlijZ+ |NR: ixwzG7}vM9J&N= 噠Ӌۚg=YlUqѺ#_e_,OrQ5 /~@":[b*ꆦa0M Z˚ڸn&'E^V?fr#W~ӊƒOMh fnγy^Evt>6yEMM?'ur&1wC qo@:rpئV@ֱੱ,:_(b ԕ+um #4ڈT1i=5s2tYLyTqжߙ?ʾIUSs- Y-zVedm^~XrPj|di|v#no׵Bu캨l&HH.YԶ3ytQ]焽{c1Pf`M -Zf؏S6>T9eHȏDUm )[H(F6uMKڭ]h]A&jbd:Hˉڥm〽KZU ޝRk.buL0˦2iV2hͩ. ǘ}~5aDaEa `È64PmP N 8ңYYJ.l̇E=b4nK{br/vGȎhKhqfBuNsW;lz4| zm)T&Q-UAS1 N*nDfN.u wӽjM߬2*5LOTI_aU'㴙l{Cu\MV@4&;vFpwQ>AaYEt+o~q,AHѠl[VpsB%Cտra3 q􅛏2/\c2FL~1q}X ,V' u̘ h'xٺӮN}B6Del| 08| LJATX !')~[+.|H vD-zLUOJXa@VXY;zEGmo%b= r(RṔlm['Ҥ! N?\j9[!Ӥ7B,:4?A/q&&~ptw`rgmd^r>d֠*(/(XhK|ܱ@iJ&oڻ-|Zd/s6!wOH}y(vCi8lb漳B SL^gM\j弐H*G{C<49'>ӐϷ\S~/4o0~JǴu*밷k"+9kZ䐸#f,m?P( njהqr#DU5Z.0f`(, L ߄.~T*TK+K@dLfFZ9?\?>i/@ 8#o,%"[ U_d@fdbtpI}IFak>׌o_,їgYʔf @DObRū^.F:ug[?8e mbeiopA _g{g#a6f(-oZuB9B",:vaH;wX7e^+m7̮b8 %ixk.Y> bI [#RlZ* . Su@AA?ˡmOܜ.MՍ`)>U)#xta @|e_Y(%9݋.9+ZTm%8Um%_dˎ G)$+ z,.?"#~@Ns9ZMj~-=]Yrm5!! s}GАX-MT!?[mc,™Ooe CrW&; ͱ!`KVk83 );p{K$in< 2DJB( s?Єh}u˽W D}œCTousf_N ʦh)YCsun1:J} &LW䉻J4Bqgڽ1]c y-N#>W ;xl}7{pr~(&tk&UEYo,kN6|OihCkl%YWkyak>Od^~UpM'MRd]?C;6_ s6]îJj'AŔDUQ> N*$ w&3` ,v_wA/ү $XwjE\*6gcީQJK8jh̿%-ɼAv{ܟR|r\Zt /@'iI:c&2=b3Tiwtsu5?{_u\GoP?ǽcg ܠ9՘.!(~Hu-MمwhB- zᣛDA^S `"- +of2Ǫ'{'>|n {HoApP9ldb87,"z29q q2mp܃ qcxr ,·r->ӷcLI>*kexTS0E I\-WI؀=rOorVh^*@+5#O{Ae1hk^ЬyEV3WD?(_&Puغ42EDM?GPGh)g8V6ŻtL2@k"#cI̞ϤeI}%&eu&pT"QC;S rn օ&G1b`;K\S'ϛuq1J8tAaXiasޗf iae:4avjZ:;M\-ݑK Db!\DZgk& '4*ҡ#MsyaKF(xMo_3>r9LZu')4z)ꏸ9&wt^<7mc]Lꟴc'IR9H}+ݿ"!5gI+9)pL8KƩxӹ-f屸't E=cU@nVcf}0 +|@{k ^٤Ctb%ԨM=`,xgy;h#W$4RO\w^ѰX)>xe-DF{VcoģMG4rO έh+,oʐf=jU鴖MP"=YȠ!#k$KG*jjÊRZ?͛]J?DZ{/@/jwF`X͓Er*-o>2@DBͽM+rSB״HuWca ԢJJ: S _b5W.i:D!׏ PsGޠ^~,I=NJ񗏴 ;A gh?[׺S`$ 9S̐ SIƪ퍋d&7/OBd_NAQ)Χ je-3$[+V6\#witc0*\iFw~tVrL+=j;U$%!i=~׿B7-QTG#6v˿c~NH%*k CQH?CgeL6QOvA2$ga5K^T\KĮ$3~K$I rRɜ67}4- ?3.6:*:l;V!m,~.@c3 ,sF ByZW mB=Ɯ⇄3|tm!=]c&/u4{LPz۴̷.,wמ_``#V%z<'~t7~V ,hGȳ{b+~ڽ-x _Jcb: Z*{JQS̷o$=#$հ>;hN2utT*u# eou?q(wh4ԛgH٥Z$EP9 ,@XbYs+/6bb/[ȉ3iLPâ)w6@Tn0 I u?L$ % 7: #lK*[oTvxKuJE`@ޥ]$T<D-}~rx,d=F(t>L$шҮw.}yIܑY]Żwwyb 1`* 1聥 Gx"ZJ3Xώ5'j{}x39{ Z0;+Ҕ-CCG!S)L&+0E!bϾqU*^"#g+4t&E+J$V+ j,i+bJl^w<5ÇLsjJKg^YGɦ4ۿpT<lIXk25FM Cu7hH}HԢHy^yhژe<#m,|WfCn,( s(fiF`A$֕a K*M;G-UBfT:Y9dF( Z;9Ubv-ƝarWvgGo%ᤇEdY] E2 $48ׄSTv:L'ȶ_iwYrhX7kUe15^1|ٙ_CJ`HRGtNk~1jFl>4a*=Uy3O3nO'A^K(=Vrr36\1ڧ]'rfƹ;ϯ S OuqɁLN{WNɏж{Ju3`hWDvv(яEg56̳w.K f㾍5c家cab荙 {Eafv;CĹ*bs p RVLt zB%sLn9plZ@\ @пzLnP hia]HJu͓s{w*}93amt:pR9pk@4%qƧQԘzV*`U_9$z04e,){9(]ݫcDEDm/ct$a6h;aD7/22ds#rzVfD>%H~מ?TNUJd74@PJX 5 &1+3VħoLpy >\,5I: z+ ~&K]hľx \Ԥu2ƅu9w"4d{I=4swa`-Vfa$9e##,k p4~H` Jb>([^ &a /LzuBv+YbH⃁yԦ0FҳkRۧdzH5kE.0b۲R#Jf?r(TQ4_- AjE.?ZgK6 º155jK>\nѣ-OיL$cv_<b.3_0VsO+gGP AVk,K-1ahzp1_$$s& "&2.璟!S-$lr 󀱗mlg~Q~,t1`:O1ju8Hb߳;tL{]A}V~S끼c M$=zM\z|%$GѤz/ese .]Q>9[t Q 4Mcoj&>ٖ-+>O$+! H75Dz)6ض/:bIK@uOٜ.BbLp:v-/;IqGI8'*HUlaHjg3[aԣcBA'c%q6%OHLAanuihSP5{xb!gE=cB+y2P=aL=Sz4Œ;,/j<ܾ.=oi Ұ]`2 3͸ZM*Z[bXɃiȗ&큛ͯO bS$d'8F'd*rŕp9QFKj)Le~a]w }KGcÙvd6kif@a~ s 9yg?]M8)Y>z aP@ɺD^=_,[aO&tHGX&P#7zocEu0^;qylm82,`F(W\^B//Y&֩'r#`@#(ⷣH kJRSމOԽ/iTQEmc# ɄzT7EmkN#dƚ@L(Kd4~̆Kkͺ$nR3L|X_YF"=.ȶAѣxԏN'`@=+;0шD ݔMR*[|3UvTl-iz!mmS|M`(NʿZlҪbb%p& 9ga~ .0EȯRqqά ~I:׬ӫyl2ʪH/Ǒah(m^0ʒ |`ebH[<3 ۳wBx/RN4=rpL1LLooq=nz$9nSl}DK" [hv`1@w+I o,z%"efHrbud IFZm6.ʨzmӰAURW >\ U=atY Ve9.JͮøLmfɗ06<` `2RTF{l6JޤCnJJWeX~V =eJ &sk_+wE!ۙC[-/ 9:&KZ#J:5_AbzPL8dyb Nl„+(a?7J}}[Ɖ;$䵫JP+~G S,p_̇w:'+d\ ÉTTD1S>G=eEv}[ѥr3ؼx&-ۧ=j,\7<st:ތ^ G${WI#>&;3]b~²/?0l.*rѧN. ObS0;E~$5ّE,(fڸ81[P. ֽgpJs.21x:4WoNq{:̃Tei p}tYT{yP 8[YZ;tgnK ڤ(]Iufs NqW0bv@Xsq5 k+OqDqV`M<'VA4VQ)AQϼ1AN/E%_z`Jrm|S&P|/`@_cIרvah\ѠDP5do'?v+XuYKh# |nFnj2oX DL]E]c劫fD *L;f>gy˫RtH+R}?HeFpUтӄؔ\AuݵͿ\],YvR _ϱX|]ɸ16wSZI&.)tO~Ѳf^ r4B( M0.Fp3f+ X&n$| "vz]$M`*s,EqY J)^ؔ[{hhJ*`WPAFv3&V J/*=AvMu/}wZ v)?Er@b .X'ɯ騄:Gr7eM5 s] kPa+Հ,l?'v=_[ bW5Df&b=m'%Zn7Qk\xUQ/5+(W| ,G)OFY"ſmA\X >=ۤ'R/h9'ʖ9{q~33H%dn>͍N,&:k. =Q(Q,MƦKO3*ק޿c(q+JB"S>!XW74cS=0s*}'YKթc?5]dpr5d4/@2od1"<^S\ B']f^ru-p?2LG#FG}繱=zCHKh?yGCY\7{1U< FSƞ#l*eC1iKQbjS5s_fwQtʅ\-k&PykIR̝ } }(kISG\k(nWw^F3nđ33 煮)^6sJyҁܘk,3lkG`Kqv,3*-H8r ^!jq߱w@T(@O`Et4Dp(W]% }ꢧSW;0C}< O1X`ś&*)x"Il-HL#@{)M?Pj Ʀ2 8^5s."V㊏ct ׫_FCzn~ 2 X1ڡ*J,JCEwȩY!q:9&x$,CeIW$SqA2ƣ:~@R[ﺏB^ÊU58[dsw#N .=T_dk3͋۞ǫ\zSTM<8;/Y>gO'>OP[GY{0;M8C.ֲI!exf)}c_P{- HI S(`=7"iyws&E\ YLt0fs9< UXL c&`N+C~~/{%6BՂP,ao9Ph,X0в,}g|b=æ lo!!sw7;6aK;)x=!Sx;ݴ{龁OZ74ADLۤFUb-y1ȃGGKlr>5xq,L7m 2,Yn Dy/wFbv&5L ވ Ⱦr͇p .n&8c #b p0u7&({7Ō ?1T)h(ܾ j1dP%J? jF3gtBjh5Rt[Sw@yW_"װh--G }Ej(-E5ߡ/0&ZMjYД&֕H|iu5j_ψ|t'*ZY1y?yC̀^\8^oH 5r]QRDN›,CD^YԋuTc!;D5\[YcZZf<"֛SgdIw"O9Paj+1C`gz^kMj-L?oD/qqZ]TڸDs;mNor>/c9n;?j XGSb)ڦppR@EQ8 JY4مy-HD !}/ses?C_mLCCS}k,ޛM5".蠦PBBǶz_c*][aX dŮD@E^>ݹ)YP\RZ )חcwykPw52=&|$߭΅Ժz6-yu^PH݈%{F,gu3e*Sʐ3j6r8Y6xI6Jthݍq awsmw^ AJ lD}6@(6|+nUrgst6;gK~eiZuv?[M ՗Jo:PsM:l z 7[֪m(߽5Lȹ8y-Wӿ֮WΜ&O >|B5Lj1puVl..߬y''Pm_GR+Y=&jw%B>R="rsT50 ipҌYPQ@X9%`8 銭J4/PaLiNPzxJUA;D${y^ Q>OY`O$|dx>)n+fJp/kX8-q)K%lG^cߵ&# ?7͍^-zّ∟+Ku#Bd=<6t[UٛqV.S]hBlg¼$j"St up[plĚ|5;3HHy*yDMCj3o;݇Q.kTRKO\3|aLmq*`nm;zPBlKpꁮxaYA&wܾڕ׸Й|j*xpsf\Z\v᳾ QNe( i%UA wm>+6тrcMX: {SdsIqS(o@ӌA :mߌ6&5CF7b 43.b:/-mv \9!Bv"_l,\./s{9 Tx-x-5ʝ(n~ZoU%Dz6z~ H)=uQ*"|s~ bD.B~}\.Pq':tau%""eiC^9g3Bt//vk 9^yU˿LgJK$qY:1yzӑ ,di G+VkڨaiI|ʜ)uI.(^ |lK@.J}LkrN6faF g_S,\'mD²Hw*cL:aEks5Ҍ$ Bv~5>%C嗠-ޘZ1*ޱ:e=e9z!Ƭ47BsX[s+nwV|8C:f2f.ˆp ־fKKK)d.+DoټHYgnj@  ssql/@( {U.}՞gJiz H\)*J-WfZ87X__S> h69ű?78]O>U1B,j8,x+rYBV} o@(4MTϱbzY@Wv8!:Q4zϲ*Ur j$o v{M^4[mckXS+k50Lps%u3Z{c"e8F~++W61kN]5w!IJ D 3cm|rɋu& y脋)^ R!cҮLXҢ&s<&z\!2')_6*CPv^]!)NYprzpm7v_*@"4h^ j q,}N(_nj-~=s;Wgu~@\1D;PNb/$Y44?쬓ӄcgӥ0F ,`\&X1+=x4dgE;бE#,= MW`Q)J| w'YK} r_n8+ݍܘ mghQ8Ք D %_KR^Th"rNŠ~cٺ41" 0a#Sq49ROx-"ϛUD;ڀH)w4؍ jvzbЈY(~^f`Ux8ۑly3ɷ[vhl[tJsEaa6{m!>cc$||Rut>6&#q-:& -3}gߣ0VB1h 2Ga8⍐klU+:OnqlƵޭI*@T01nL5 ?,Sz'Qߖ? b!T{^[M!J=8xqʎu$Gœ[]*onGtF U1oX%71S9B8U2W l5m1δ5oY1?lsZ!c|-B 4ll| }&gXJa?/K 9\%&x@AtX-lԿ*&w}Q >BA55ϡk5ۤqJ7j ^h?&W Gxuh?"'ll6yé1HZtތ/h Wb0룜@8b'Yk0$vXR5 FH_dJpR ruE/3y)]C,bܽa`L.Ȝ^)<3uWS ZPfl%o Ե^*NAINAȵ<{]2fs:*b8dBȬ 2Qb28 ;sn'npu[,Lw q@ OuY}]/Inġ;m9ܕ$(S,k8\oҳŴղLJ{<.AY5tv,Jc#`ubɧ%S0PBmY6fP>R,{%axa_]fEi /0C7 xhlN]6!.I^d#Rʞ|iW^YXژ~1'%C-w]Y 4OaF8m%YL׌q,,&ʆsVV1e(Z&OG=Z. ʶ5 \꟣/>UYVO%/#g:9I/Z$}c,*RׯbB&/%ψ@<:W/m m/7z~B1yh2 ^Xt>W,]h*\_KV ze[A!DJ wlrE[2 !6iWi2{σkRHE$b"(IwO้ѐCyJyP] $@{6şp5ڔzFٍMWe*_M.*))B#ȅ'|Sث1CƲ}A:4{nTi~{*Ri dUpsRbpBreR{H{D4EqA?φW ?Y iޏKD莳@<|Ae5HKSn8$e"i&.B ѐ=A67 YGpI? i|ų& Dq(iGx{ 0Poj۶O[O, 9x^\vSL<3 ++e 8CX[wdt̠!oQ{ކA)=FGӮ1^/#+9- lɹ₻ɘh _zh.R7!C@]7N3T+[+krrH@=aUVi_R7hZTD+ZN6D,4yKoFBt`䘁<3NUHIw_|8q[Mf. [&J zNTc "D=e=b|B௼e9uUTW+󶥤/aaozLj xaY{tj$kjj~uݏM@f-,Iom=<@:l9[K(ߌN1jEcO | l/: Q\ERczCTa}v_ trN:jݽ^S D}UTWKչ?[uU*+un: 8Gk[8 2{Eu[w8#}yr49cޡ_CR&(Unl&#>p]ݍ/d9Dq@H+KR.Ëi&K`^o""RіodeZs>ɢ4;e~uE"#*(OV|. -wL S\46i51tν2l$q\oBk߲Ӵ{,Xp[ի֥B܏Jd_89tzl\0Mİ gZ3ZF&?h/t!n bp Gaz=Љy(x0 VMzѶ<5^YϾwifm gPxjtb-l!iWQD^쥠Ӓ\3! V}%|HW __^hbUDܮ/\}dJx؞- L M3.\& vReՄwt\OZ?uA!FoM,d;''G҄\5*C/͋ӚP.#^B?bP_ J%|8ҝ. ` & C1;a[Ti瞊4 j/?=& Wpix `yEI _-1ȿ-5}cRrƝSU `W9-ҙ!dtdʛ@)#x+|DֆҰL"3t Yv׳"Os#RDbX'9e };I쏶=__+o7̄\l^%(TK*% =N\3 cΘ5`n1z44H,y,5CU=ҥxH,pR?bL[3$qBd%ԊĿ6hRj6~()Ŕݙ@e.qo\X#H)r OHOX \dʨqB"L̶q9#֞{uB¸:nXG>>AcEI8Qs_7 d"4?)׻l|흓$j:+ )\|6t@-\6^g xQ Y=9eX1%>˽ʶzlꝵjR=ί9Q[R0n–,6U!8JBՂ1s.2H>D<5u(K`4ح|0NT~Yk!^7/] f~!esQK_^ H&т(u8ggkK/=, b mhO!#/@ӵ!w M odZRF#7'~G2.~H4d{UVKF ې^4'k\z /\](){d}$R2c 5F,טb)Ưc3 I_4! Fjk_o[ @Ҕ,fr'D\GآTKY&܏Rͼ뛔"%5 ENd TY'ِW(o/x:J ^?;tÄ2th\I{a`R6@< hCWAs㴔$IHy> =0%A( }<1 [0ENP{O?b@89c<3ֵw-CؚCa;H{2R%*jHt"r{M DO|g_ߕ~kEʃ?4Qt1]<,=@܂dS=\(ݕ U|$?2H_QiNĐt]#_(i2|l $hwԸYBX5yL{l;65];qf$یL/j9 A2(iX]G  uJFSP'_`` stsNh~EX7^9Zlh&ء1|H15,[A*?=Msni1J y _|Qic0D80J(LL6r*F4Vٸfw)kP23%+:]\3_2vaMB5Z3ċ_5O}ϭ4-0|x=O0?H|+t#~wR$z]5gwq|"{>}_dM+&|7enh{7uY9d- $!DjafɌۊ}mef'e|53 q dY:.w5, EḠ;#$`) \TUlks[mUM%p*H!_jYS( 1?څaH7aMB֬_Q'ӑ,M+&ȗ?iʹA:Cj%XRGnĽ/ &UA\a?T&E=5LyӝרxA{8yw#)lp }GtVTugq={ߎp^&dm{fq= ~_ c)Oևf &B1;$/nIo~o603+S`*Fq%7ǮlDćhaiHfoSI0Zֻ흿綁=9tI\54{vb0e lC _|=Q|?rR ޥZ2Y)b.sj0gJ|_@nLziFINœ7F['rOM:Ň =ιytG idp9z1"a$`;8_dd_Dy S>E\Ҥo(y}9Fwa>߬|9"䄭'AJr*YT4?:9x OajV^g0$VG y {>ī /;h%_ Ђ }kN,~c .f0kf7dk nheʴԟ3XSg.Io zkTv4 iEÅt Xl_驓BåAyUÊ}1Dot+26 ஖S 8Q_my{kPUw)IJǃ /S߀ʨ P+{\a&:ʓoC/6X:,ff8E!x_y 0s[ư'hkw 첺%[yIn4\} Y7cs#|uM3/ȡoy˩Y(0m'8Exy+b8$5 YH" ^ \) 6hvkYQ"JRϭ=n$1v 8W؇Q˨Pycg1za#Gt&fOJsji B[΅h4NsT8l[SjwW B?3>6#w3ڴ6Xf= tyzPIz]@]'Einv}ʆhf5JW^F~1 !!Ro83 :pR͞Q51fEJz@2Y%ZLjD#{kiӧ {qY?ЃBIWuPY2c+Pma%ʢj +U˟( $NatD(J %ұ\_19B| gu8btSs][qv" 52#,޽A|sZoa?E|wHpXX>'>RCVrػfXGw{6̈ULh=7E'8$UU"SaK_r%E%LM n:Rn}Yve*ٝ|`Y#:PTs3?Qo[n}D #2HkA%&H\7VjK?uta9ԘqXbZL6^H,k4icɝ;< t_tŴu2$ILK  @3 %0%H-R[7rH(KVi}Pir8T^ 2q%R@O /rfw9.^SLQ ,^ 2A^FT SnФz 8}$CMSYSg.?fڎdoA j}ܺetC͓ t>X@ϔ~Nw8z*E"p:P,y6Bn{u1WT~Y3h6 >5&V⇋!92A lsÝl|v]Ft/@U+b7cYS̈CWx)d}0 hē<ӳJYxqj+ R'GHh(yV~os?z")EgӢ&bS뒂㰮,7(Mum l)C}#+NM%3NaOÏTH i)Iݦv9BI^d-Dh˕b7dz0\=ΰ`ygS~wD.@C;k.=f')P8sVw{Lkos/B%541pˉyK~wdJ^PxRo8[铪Pۆ _3tv:"rD*66~#l:H\xԖ^+Q%z9xzdQnn[׼ =wffIpZ}35d^P V8;S:IC[OsW_a 9\E(]5nǁLqKzޅqoP9.xPq*TO[{ۚ};F9r ЂN 3ψ`zmSn7N9lY)HolߘN kY8]u)aG3#f>-Q 6֗U.f5ۙG N:UGks+Ia$MzVdJleo/CjYTjk}V";mc"tA>:|@i/J;ϯhwBD2,|'2܅}EIAMvw|ՉU-Ǒp^z*OG(v:,T2Xw!BcS(Ys6mYS #yGuEo$#0& DVv9 Al;L+U8Bh^hsӁC`;PakՔ 9yJV;CmdK BNwry'2 +.?8Ize4nM؝ʵAaȨkNwg VT2H4z'FN_); \a+\yH8s5lQY `'df,<ːg}܅BalĪ6-!щ^9)ז+1Zw6AO?1׮%䬬lF釙J!uVFb{`f liukMVCAxbsgèkH7^z'iVDJq0vl bS ^O~$HhG7GrT/q&E Jᾊz4ڳV_Ư*#݊.s2\B8gt Gvm~6Ub$bp]YGҟ dPonIl^|j ,ttW|Ǝ@R(n|π[9 L.>X>bJ5'Gކ]`׊}@W~4nu*xjܿ:T75R? 8^8nS~?7oӄ.։!XR=/;kk<2ns5K׫U5!@9G%ooOf;(NbVɀ0+~+#?I9uk(F75v[0ʊH}&E_y5&4ro01X(Qzsv)W_ذmhkhžAfcNpʗN mB(cݑ3^^9T/iV4HM_)5:K`=6{U[&jl1V[Nv,-þ'E6)ǾSHWZo{Ϡع-NpQ^$#YGJoڗlI̾XOyAd m 2M#sJIQhMQSUiv:ˬ0[ћz[eNɎZfD H~Y,4BBjTG2Ly9M, 9O\ J"N^|mԂjo:/\ۆBKIћB9<8#rZ0Bi@5:BJZ*J#b)sQ7މi[^ G]T(輟nP5p0'h^,;ܚƟB.eIQjۙuɹ_Ϝ'^2Tio&0b."c &~*Ljp|DQ&7KkM{/Jgz=Db?<1-tLT-, S`Lҫ6h;o/@ _1y) I_aЖ8lmxt Mū}B^TjO9$Uu>53j' w(*}x^O/BC 2yh;oI8)#yfKQ\AG ;W'9BQ ?3]Bʋ6iY,&T5U]2(vOY8ouADV ,#~;Ʋ,;\9>HGi+X!: c\v Gnud PAޔ6FOS[2eZW&;e_ej{̘n,Q*bzϵ%l\KdpmSL`da1*eA,b?y7!T~u/O8ŐTOgHѥ"1$?fCv\-HS>?46\8Էjz-J#eCefg2IAlʆIKVqú[r D=}}[Ejb+s5u K͋bh|]a?fzȦwK(ow!)12y:og3N$`#"3+߅4: WyEÕa,*eFc^dÂx-9Wg^bCwɓv~?֎q$f#F$3UEzW`/ڡ`]VDo}럩BU\A&&HrAOkδ ys\ VHZ[Ԍdu W䯪B 6w B,DdR[C#$E&{c;aP>&;ړo:RaF0%P]ʨet}tўrC͵jWsN pHn,AOMp}iTMps<6J[ 1{ܧV5q_zꛐ K:Bzfh|Bh7ؿI]ygH+_b| 0PI$u|Ѷ y%뫸VvH-1w KkQlO(?d[X$Phy]zi|!?@ 4B UkW#L-0 NN- Ft-E*MSW F!*eŨƸI!\k횐2%K96*&( {Vb %[B_WF;Di܊փdwTP uƢ?R9ॐM'wLi"E+{aL ;N"5dWZj×Pax.(gȃ>Ao6ƒ;V?Ѯ8W*5B [L2DnjxȶFQVQwc4 цG2P]`NNdmLן~l]jPU`*|n&R4fb{ \'f` O54c%ci,DIFK2^Hu Vо,ܢY8%B_Yv$^_|ׁW->n'EU\l~ 8йWFh/-I$-W(C˜^g+vj}7 b%~I /.4>|weM~ߟlAAL #|p64„{v!`=&s_ͧ$Ik}WUпzA(9gh=v t{M֪>Q8awީ)}$ NNE= POm|uri"f,,@JAl:IYp54K9}7v#jkζ.`d`Ar=[=8ZT`(fPGw EPf}Vb6 ғR3ĩB/ؗAC{1ۯoaH) I}ZU"$Sv"uG>}ԤMI{EOb6K⮎!K?='GEKEQwLnE)U1;wh@^?;]EK 8r Ɍ+R7W%)IDK@]է35>Wcߙ]nkDVTJ)~{Sv Rj#i?@GQƋ~ܠrN^Ғǹi4&i*e^yIr:O`.# BSl{֑●@Q&<ןwvہ$&y9bNLwB惞WGB ?7߅ϋ]#gY[MYvW>J6դ+> 'MkjAV>-3<,W'/?=E9Wt 4&g6r2bqwBT(_@~F٣WAhŒ~^vI*ũgKMpGpdMR28ϗ*=h>Wo1 j[5qm"Sf ) uRymφvD|n&_{eƫX}P.N_x9#qsIs۝.y$Ggpw㭭U;hT~.K 4!~ueM5v;t-WzъTamopS9/vjL/mw#+D8+U bq2#GTS];yv&jH^ ^ @o8,sU'ܝKv'sq*>F&>xAqL '"_hVGAPRc! z(Qq0@ހ̣Fg}އHUjh6@Rn\Atw˱Ǡd;`@9>wӒnvl} |A>3æVe"9]2l?DuN_A<_^,UA,&4Ք&s})%n_&fe.2Iu_¶g‡,P0 ,q)Ro!zs0 OkPl kVYlg^{qIdBPu@*R$djŖ)Ķ. flrp(4ug<τH_ bbb1WiQgIߥ/VxՆ{'आ,x4iQ}]ADԖ55  )i߂Bs=ٲ,3TW`8 /C6ô,FYYC[yLW[.}!%2>xXB|Ǡ[.g"#5QtHӶn*=<67?ZQpw i\`$mW*ьٌ))g T_v H`reB*)]1nЌ']js R ܾMPt))F3d'l(poe2HCbsIg$ݑKUhW'B춣OZ 'y 5Lȥ*ʖnD T7h[P ,0džժD׉fTuT\ ,񘴝;,~u#nsTvwtsSn3;Rdy/\*d>u-Ij(wb7%5`>FQ~A(-?PC 5}dۂK4J EiTocYM9/bm`r yfX/CC$@ىkp'*_Wؤ1_Q2{4wVM9UDiIQe`iЂM O!u <¶ (zvs3e9;zS`9 }l%Jlj.|(0+"m5Nĺ= &RL|.r;2E`T/=q(JBu@\ nL*ṓ 5S_1v~~Xqw_ @W;qbl\>ta @;E$?j'B>=6G)~ΘD"]%шVnB}F_ ƺQ~..6 {|vA(uoGh+6bψ3ӎ\+֤)M `U5~:o=qoBdM$E&˺b"HJ`m~z`z4U#<P^@xG`dɨxTf?-p#w(د%.F{#>x7_ {/J bd6ѹŻ>i0- NLɤ<~yD%6M]1`ҡVR1ѯC/ꗃ*1F~*ԩ<\#b{X B$Te;7S~.0':n , ķ/f nfpP:Iz]Dm'z%$~gH6`K[ex:ʼnDk&dP[m}rHD*'e&*(~Fԧ mr.t*[b.;ʁ0?&cAhPr;W  4۩8$;d߯LҌt> 2\!i笙ڽոdH8 oܪ ـ_>ok^Y֯aI[C, >p` 8be$ƄPړ_PPkTu¶Fw;z."/TQx/7MLYlgY4|"UoCL7{coʷ@ o^XrXapQ]cp8-FZ!uѠ926K ƛ.ga{hȚGB W߭‰ħʔ!C4h"4F*KK;-˧ ośƨWYh(YІKnx q<_R>,EI^y@mZԦH KDhBQ4*=q#}4~|v)䉂9bKǮT=#/p!z+y͗&ߎJ.(@辁ӞV!IcB)nuäO/ՇSaZ--F s `WQ!'%{g5smcD2k7 ӏ1u:]N;@C}.L(A9ڬS,Қ]W]WO>$. ̺hl3JUPǎ9"!?R׿Coߒ< eR;83 PW]mad9="'@ZA)&+!(HJ8jjeBjHF$9j)GW!{9eNc,K&C:nغ:Y,~ΛO mk 0]֋*uJ]A&JA .|#O[~%w( 6׎Sotar/vaW#eR/kpW5ݒTۏ  ':fԫKn,nuEXvI4B@,vHlsOZH7$<4:r-x$Si@0h5_6p<@`FEBV3K,b FjivGGb{qC1޴CVP*NKPI{'N{ -sv3:f~]mjRtFmhZ`ۧa#]yC&sek IaR4WxEnY2O4b-ϫK{C`AZi9Dsp5b$SIB8|}\JM28{w1y1ҿJG\Ppe*93WR 삐όS9;ƈYEL+[s xav$.~6ùaY:$𑋺˖)-Y> [aEeqC)lߞAL5P;D'iQg@% |3(K.A9d2OթP[~V$z*?pgir{ J6@3w3O St(s:?G8<.Ewc2>నO8Ybau6]EJл3]2nh)vv e2 x㣃vD}4KJe$[kUu0Ryk) NF`@)فMD܂,45[o@;Z a\-vͪxK1Aow1RZ6RTl}D!Nyq۵ uTRU~Nv6ڭU̾QY"IPQ~)4kV !\O6]i0Z!Uˑ*ă(9/S%ylrHCc8̷ ݗ#Y\A/@(IpnX׻Ev':ԍOC<3.-,pK,nIzGTiٝ-Wԓ2%3)#y?!˂R*r0EJͬ\dmjvTbbp}V(Rh#;$i*doe!cjߎaoK00Y8>uRJM3l:#Y(OJ?"A1T96V~5Y"onxq3ߞѸlpt4+;K/6s|#|F5pbC=v s+ [~O 1͝U (P i6cµθJiʼn#'jK|!•؞Y-/Lf P:k5.5p]QZnPJz .N}Gca,wU,8QnN;7P2]nhiefO<ԟw}esJp"Ndo[0 aQ$6Tz| T]qX}s uu菉>y0&Y*൭^jWu%@ZT^l| T<lreN_-E' RnN T2*0SCpYD%=q*sϔ&! gY0Ľ l$L8u L*t^{Rs..!OD}<B7b%S* +ј)V1:Ӛ;.3Wau\~tó0S wLuGH1+_V0*H'Lj&@I(g:3wus\+1Ðx͂çb1HП)Uh ѭs0{ɺSy/b(S_^)h zY4_(GU)](""bY|$qLFV1G#9:OB ye#-m0U~lA9!5Ib[^B KVzVۜL% i.ǼQ@B^!vxutPOx,Z"22ZJ*9A(_͓Qrvcoт<eCA͑&{ C'ɪWoaBgz`6ps`m.yH ]-MYHowr^c̤~"%0ȧZ G1 OV3c^m@Sр- ƇjXȉVO`ykW7 "R #+rR"7 PڍGtd&IE30]kS`\H9IӸY9<῍TE?1|>.0ѨL7avnTَ [\A1R5jG4ƺՄֽN G8msw7XIb_hOd}5z=o΄8oCI1hv@?[ WTNZK $s0 9G~HOMP* l0p0;4=)]|dC+JgZ(P2FV5$!gVP~lcr%J^u(Ԙ.v3Ā]9q@g<)aq\|Rz%28͌{K}xKn*rvV -m'Y-Kp=yFn\|QK6z|{2lqU qis)WjO3 V N毴wvO +<2mm[[g<{Yj)(AׅöY^ a/H̊3[7zgm}!Si63 1 jL>}R?_l!_&k+KfvTgJNwz \@䨄W40eX݆Q})J>bt ӲSj{[mG2ݼ /C`uVw؋2JO0{ YTL`\]'ː-86lOaUfRE_I\(ՈNiz}q_تb(t>|>͓lfGXYϻ@KR0ލ4˗#1__dv X @0IC7忩$7)(bʴw kU >d]rMQ 4r,sz6Z,2!HkECOu$ToFPs^:L쒥5r臬[vN6`oF:o[с7,K&%nѮBVsB?°f>gWq(/@Z,18FK 3ԑ8 U %6@շ+׹3M!-,A~BlkU嘊!+t1iMmSrM50솈,J $c,\Z$fد>q)4nVF?rFḚsv3EPKR 1,ʥqrpZ~h﫜@[DhƑq=bǩkwL2t8/:ĀF&#-lA~Mha\k47"*0Rڢo&̝jZ opogmpH-GK$x~G/hCLev=Y}׆$/Xᇶ%yRH?}JE+OkEC]9bF6p&17AvB(;RtIa+@PHh{чtlYMY1/T52jR|=GNZ#V=_  ==9$7aH84g.d,"F⠿tfX^4/@"7#36DRﶷs^[k߰u*e-Kh>-DME6u8<nsVYÜ_xD݌sCpo{1[w=6`38؝I~!yξ`7 +#"JYc1nH;fh3~ 4^a8HwQVu!vYi)JP.c`rakeH/8O;-g.d)fG¥_t@0nFqO# VzoYܧNVSR}ݰ /QqͿ¢0H#¼ [e߂C Z_w əA" 7_A2cRrE&PS쬗Oư1/7ے4|>C㱖w:)  WRFZYZ@.w~MLp!GԽb5~GZ@ث:[uc:"~x3%wyA;־wit (rήY)𱉿oNd@ <,~? Bqatt7K]L&EUI ~N1-qUap=:2)n7FabQ"1W;&_|LU؆?ɴ{p e%$ᤷ/}&.zA -EVl*+h<ۃJ]$d]FY s؛,Q<xPntc4ե2]vU<mCUyW&poܤhu>Ogj~ӰX)l^&wen`C|;kMV!=H.W!dA(fp4O AniXMO"FUHR޼z5쒄 ]m44WӸZ1Z)-:z=BȟXJiet=lxW6KWPB!^=MlJiU/n]vF>Elo<&7Fa'A40]Kt3$=G Ky"7oԞt>a#bpMH[#Cd9HҢEqM +yuw~'1Mh}w?0 DM+phHvx,jȩ5_ص|ʛίO[ '`>;׭7j4'nPPE]̚Fk<}lL-9۾@aw7QþHi:sڿxC7'u~ V[®btU[WV,ܵz #JXJ̤XgĆ>gӦ%b`)DڷB ) |8eUѤ4jj`U9Gʫk.;Tqmy/'|m0u;5WR2mmY1ҼLΙ:Ii ڴxX"Kr`|a#?҉D3%/F8U4`aGRbfw)/1!wOv x҂M܋ǩHrCl>@yL~ocawCŚ7z>;t@,cHdqew{AV3j1 !9 M\<3ƥX}k Edk3*ULb>75StG|TYcCqϕ1 qrӓ\(\+ZQGeyՋ"Qr(& TOWTiW.@k8$TPaϠdo)v  ǚf q\ONP?7D4>ʿݕi>~봻 X U`ɀDTL z_=A")߮WBߣJJG0a rL8 >S@2_Ј(+[GB$ñRl@Eܳ:'m"Ord˂LBԧlV^߻0e|#up &>hKczb.=+0DzI{4k"pKI^\*ef9nHib6Ǫ%QP_+̹aҙkJJĶ!<^OG<)(Η3+UԫMoBn0=:bdϔ{@A\E10vqGQwjސa+6O Q+lxEb||5ԇWWX.((n /+ǹ/` zC4 ~YܧcwkŢ *9y]Hkaܪ$և駔z}ӭ~lȆ:z}oE!/5܉}o>d_[G0(+kҴB-\׊8l՝RvI`Qu͡-ad{?ȫq+A GK7 FgǡNW gccF0nr(jݒ}'|oRS&Π[, ķZT^g""Iu=ԒSp|r}5bw-L MA`B*)u9q;SŚ$pyO ؗNh5Wk<`{R-Y ,~LKtP"zPZ뇅}C{̅v` |HYyāOR*P_SX)SnMN3e9} Ҷa.xYfOR|kr{OZ06ڸ_)FlS/q8#S:O+Kx0[C<ۨDHxS p+U &c iX 9%k{x!!Әmf+ &*D^Cϻ ˸qz䁼m~QwbR5"!ݟ*3Hp.A+YtASNN?ǙM!BQ@oPRKaկɾS+PEl$[S7i^hfֺWx\{-y9/?Sb6n%VIQBY*] lnĨ_CmFܑߘ~yk#TQ15p!;Se)LH1ڦ劂ťHPhc\l}Ţu)^&j w]2R$| ^7}ۍ6iIؐYu X>mY7sV]h8=$Z㆝\q?`=43vc䝣b 28*\ج2GmGkzO[:ߪ0ʣe*!y_`Qu 3k6$әօds4[ݝqoik?&L,ü2[ Lt 8u +S_ :BU8t4u"iUF2=wPnbA΢&}ڸLȉ?t3oɪfʲ⯳ƟHFʃ(ܻ[m8 "k-t܂ldZe5V%[J!efDɢgu.sÎZÇc֭TN`jR׿iA.Dzc./Bz/`lRK V":`V \v=t4?q2q=ap^/)s1(ռU<544l+ײj=oͲՇk*S =w#DL]YlY5XQ٦pFFCUO/1yaѻ)̹I} 4\?HAt4@xZ$ܒk"whՁ2C?sOO/J0|HsƸe!`MU== c2P50ZJwxA5瓗8e(2 o!,8t}Ju "/ejl=%LЀ_KyE<Ï81 6Om!5!FV Rx載HϋG|Gq`-.8kGߧlC!9f݆`D4nM!@iS-> &O@Qv Ti4쑯" $U.ENX ~Zi}9To F(bI:ٖ>eA$8d2G@fy N dbҳ WR(l1k{ ]Iz627@?qstVD%gjQSN_vHPs"{ULoXOTx<>S#uE#rM;TKG$`6JH v qAvGrfd~)rKNkF+&»%Z6x&Ĉ"򢳏67ieΥrj-ڐЉG,5W[=>.r|{lix#&ւ`E;HXTPcPK#UjJxOXCy*VPe;; u`3qףv@à&AEܚeHyR¥n)"> uO%6ΌY< ޷ִaVUr[TJ@5xy_BcfI5wR9Q6XCB|;z{BfB;@#+~t&QM[k'<9g!Ίؿi([IT=a64Px[_F$k6pf9&L-C>!8S2.Ӻa{K&\` )+'ֽcmz#b%X$v*5&MRKKo_ҡJVhl?4U,WEadƉ#*nK>sI3"nsfrHrsXGavq?/H?mL2}hqv1OO';6#iw^*@zruc b.ܥ5:LM?ƕH}$$A#HϚA)zX'ͤb:smē{H^s-DWSpnirȹDN[l{r/6D$hcv$jC-=SPwB*THRlw _ΤIUG 5ebRPvM)px`K5[rL'A'|ģ̢JԠxܜ# 5B-NO=>S G}"K)+8a }ܩ1/o)KBxsP,-;G c; nd˜y 1|I|.4#"l;g %YRN{amQ{~.S~y;q*e[ݖ,dh7A%MVc! u(]7E~.镏Vz1 QD#v!IJ 8_݈ )3oN u} NV܆?175o_Y0-;~hI[lpAH$m":U0U{tD{HpZv2۫PtSš ς|y %Ԇ]>c9;L9RYĮn%.L 9@5S3nu^[״u@.%w l)޷kVYa) 䜱BdN$c^4o:FlZ;Y' ˇ@eZaS{~@c8h%.ž4ѯ.X"-hʰ &/nl 8)lcd\[<6cӇ(Ϫv/7\T,nSlr"1Pu`L`"Y\ep2)QRzdl2ʸwIPC5[h6:(K662l_H<iOb^E=^Ԅ<]_^#'|P0N7(tm"C59["x3ˇ8*]:v]WvgEXO٢M%řܗݜ62roVdDЏK%aa˙h'"fGCU Σf z0^SB4ՠfDT{fƹ[KUQ@xoED CejtFL'{w/A-pզMj,K~x* ,}'YGԃ]8ym?Mdҏ iEClWjtAǛ Ik+ 8hʂ,ղ&Tti\1x-H7*jPȿjãG=wfd󷫋5$ge:袽8Sx"ˋ(KHc۞lv~6 |$ W 0HྛsG%Q7Z:jCtcXi<=ƆL:uFk.l aNš.0k)+mg>܁r2[Lcs8^i>`cRy6,q06-[rnz7RP9nǜ/XI(N:Ky5yf"%1+6|LӬI鼒 ϤOn{D9&ƝU Sn`v̈́Y '-_U <0v*|-뼋?PK!1M_.40׹z8#V\"&qG*,f ㋹vGY-AO9Ѩ1-z'$G莭C_Z*֒1]6wgjufң=u9_GoP} t>*_d݄񦰏+Ȍ˄ {fQ^p]BIxJ{@E,wQ_l7Fᳫ-!|cnS0>+3g3fyjOi5|j^I&W+hM-e5ʼn?Y2iBށȔ7S_ FV \Ȁ<]|sN?}8dר>d6MNz5%9!zX$&loC~PKk*NQz9lC,U}6S.N1}d ɚ^P2wsZM@qy/Q5X!XӿɦM)YM?%;WawHr˔ e6^a@U@|_25NojrB+o$&\S,=W ;LdP󞅩!e }+e9'-:5־%@V$K)a!6nul)<}ikTO輋'CKdJ k}y b{`_Q<ކ,QsʸgY>燎կL>gD~^!h<#<~Q&#uz=׀`Sa@O|3nEq^P@;a桳xV0f5ݺOnZ v+ZI8_Jecp3T{#I)W&9zGui.?3J\,Qќ>P đ*`@X9}"$Q6j§Jfh`TQ|U1NñP+baf\ "g1vྩ!c+ ۆ}^[1 eb;Rqq7 lE J#wm&i18Z-mik҂:atyO$Hi2 h!>u8;;xfѵcDl5>i9VW]\U!!D.'^؟s8n(:wSWuG7!W?XC7 Bʔq =RB@Et()Y|%[\~qQ&>Nֻi"Oz;EO>A`.P+pN?S;4 OjҳZC(4C2MǷ jG4Vቂo#t@$LU[Lk9!y-i;P"FC [[KH$\QrHtA&*ؚ._GՕ' ~\;9~W=D^On>#Rا@N̰?pzݳ|u")XcU>Z #EJ1XT2It45gOlO:ػQ­N/n"VOfHOB;,`>s k,nU#4B'i? NoWWC(ϩu}$tOyg41<ⱌ8<<\S-*Iռ/ovK08ca3;QѾdK 0)n&mЅdTA1ALa`7]A0fUJa'{S"6ʆk% dSR 2-β-OBvCHPb"Lap+,x۫{M˒C`8;2%cYWv X)c [L[Uj{̡CI؉sǵ)0fk0e_/#א[ j`Ls yD2#mQ̣٘Ll 1'@u|!+ːN_cYyM<ʅʄ >?=?$T yd&y9&򣸹O׶m~]ƠKT!5Gp1C Q٘ɞNYryz)+pK%zpՎDN0or/n3T("NqPw=)QDy+|pNR4Td=Ve|fZSCMdSm?܉;{p ꦞbN2 o㱗N+QHwM0ݞ S{Q7PmO~_wg>_%2:仧̀d*5 _),&F?}Fi୽8 +2 3_EGq+{|ZYk-UA\$$osw0vUxEhRLA{ᒝVCU—È'{g $)?]mm`gEǚ]T\@kCbxNqg3I´޼y]&-EI2YxbpiSI욑=mca Vm6eP]d wܽnGq&ө^n'J9a:-D]'-ze M\Cs& 7ۏ`oMW՚"C_jo ýsPs }s،}UuOq8}SIQC-xx;4a0RJyDCcuo59!OCq?@dtTNoG{:+_ QC)uw+lԍS06J12Uﵵ,[-.lJuA :{]c{hmE]-jsr<>hErH\GhKkh.GJ;e_a,T{J'^AVH17gof,B@/x׻CRU4,>,t@C\VnP3TXD3DG|®+ɷՕ8*%tCo¨ʅZ$zrsy=3^+&2@k&^Z9I{J0-C⊕ /ی5}QȲՉXjT*1Yqݸ+@)0#7^{xl$+ީzlp0.1e"qa;6kP"mJ}k<|>|u=*µ&<<#5;[a3 m4z;%peT؋GdoB;T>Ur+C>!wqMP DD=FP në*v,g[;5 w PwCHmtꋀ4g(lQ8}[BY@jRm78_%@YtLTi&7j&[.[yiU0Y v(^OU_7k?{o;x^3J i&/sB)n5x4AG`j';x_~X6՝IFX[uckw†6& "b4yr`6嘱6N-kw[G6qɂK R~u?U lAW鐉y߭A$U&$sv&ף.%Z9e6Fߔll%Ox(;\r7%i'Ө aT ]/xT.p4)ψi3%햵HD S+FaVAgWA}Ce}ĆEjmRX6\(e,_u汧D cs?ZsL"jVBwXgLnK ߾~Ǐ:9t0DO$—mfi/?Ps&A}رPLU0Jteڑyo8!k!qxdAzVKii2w)m3;'})Fm)/ɫqwUK̫v@Y>8\H!e͖ 4CW(|TEۣulONn 526ڞoZsSIݭQa $R߀2`#C$ eȻB$$,JZ)!1)`H{QsdtL#Fͬejhms&ti'yȄs`[Ȋ/ޡZB2c^6#$[ p^FaM(5/ҧ( ̢? tk(g4qRa׬hd'hRHl \ԜEn.ըԩ;~T z>v>^T9+*r_daDoAZӮ4vbw߁;,eflj!rF֜f5;V[/:Tuoeܭ"bWJPѻHL08ʄ-~Es_Ў`u>X QRYtkp?Т;B:5DsB<,edB.)7i#8':_*%zCj_E N?jCD.׷ot"lܷ2| cwΕ_`ʇ?8p'>>yz}m_k,`YLk QفA6B'8AaqUPHC;9@<^‹Ɔt EAvUeG(,TPLHE `W׀C-&r;.]EJ\].TtXxuU %s B]'M ~ ?Ca}㱷cwYI7JLndN^5ÈLd htrOfXQcWe]^(lqicG1zF(J `"@\qyEK_ -W:j [2 `@JsU;]< != ;(kST Y@7}Iѫe@_ VK`oy L.$8],Y6[<lnRmؚY}R9tǽ^K# tMpDO?pR.TUX O+:Q%v5]{L"\2ٳrFw3)ʃui8 A?4[ž|&7WZFJclZC,k!OJ,m*rҶ;&1ړU*Z,",C\TIdƀBY(v)5F1 5dH R[P*n-/7C 9UM|a6֔d 1ye([ӣҸوSόh*׈Zڱ?.9opYHء?,5)+FL g ^Ʋ䉵vڮI62R^:p{ʕ?914S{NZe[ THWwJːo}"ݛk R1?z_̽n "GmDx}qNt'pQCd1k˨1Hpij*h,̭K9]Y˕6 EЇxe)_uލޤB/{d9D Bn?4,quMb|\%[6.Hɜ]K^{9VB=wiZ]lW ͠7ZY'YF)j Q#( Z;@P}ӽiGl k[үM7(H~W򒘺Ybr^{%XgzD)DPvqUcb[-f*XTgu0݊42B{C 5#VdK2>ؑK$a0XzwIx&;x37/ WqIu]Ò,>nة ??l2Ea](f_?%AzP|Vj%W ( S?N+uեJ({4{\W/+¤܃a#}J?54lgMfRO7I=^MOnX.*l;uR:;4y*JAOFm| " 0cm0:+ϧU› T36W!a^ϫfJ@~ǭ-4 zn3So? $)wx%ڏOɗ/Q.ҶZ‹_ ]]ي%`PmwŀK^'ɋM, xNR v z wPՕPɦn.;HQ; Xχ(QLBgfY1*n[# &)^t>8XR5 ".!HD{ 7HXobdܫWؖ  ~1ܚigY_;O2ag^ѱ|(,8,UG 2'֥ЁQ-4taZJdsV| R<> {}<ؚҽضl﹕YI+3$'T>q=+ k]h4;Nҟ׮ YFR`<$ڼ`h8;@J`uMVK@ g Z8g0IUND7Ayq_n\ DQmbAP%sgcI+|gFn WHiyKꯅt_ة:>3,5BC!$-6z0ƙ͖@ {GA N'T`0)o0 P"J:R6gxXf0nO>XQeזeˍCz*,5GiʋN:F0~!nSL Ϗp (z֢(PIƓv Y-1ubR~lHR_etpC5rA;г ~L`0x}}+1{)"5ǡ2jv}|rg0f 7t% uaEiC݄{ZR#\e9FM{$<'֙vLy/Hp ?Kȍ>%Х/mrf<&)Q9JeKT,ھ zEf}K]xhLk VqeWNl!zIQf6+I/fR_ WllL fUWp)}dm{iKO$'pk#y''C M"rE@ i휒irQ;|PN` D)P,Ʀ kJ0J7orB\"W3LPk$ZqO\d$laKJOvOmLl N;.]: ;_4> PwsB<[Vni5"7 v=b&r*U6=Bs2Jx/ [y\2U}l|m:[{)ZVpKщBtC  n7|^LB2ܡը$iri;C..&\|iز mNqN3֥4Ł3 _HxbvB-낆ZU~˺lʌ,a T@Ju1(6Z#^,.I`Y'NQM-FR׻)Ϻ*Dc>)|_e-"A5y.lϝYvv<8q>BPfxj|ԃiN|?^Oɿ~`[#s}L"kL8)+&\NU;eoa=v%f?k cC%ey~+F2p_dyJ9{IyȜl͖0;y" 1OM9 _3ec"pǮ̥\`Kfm 8O? \ōCәؤ Ɛe>@AԼ,;G~],3{5_~0yMl៙5f>0 N,U+hiȬ=ykh|xNxL>qA4yE|k­33TOQt6Nwq>S6/<LU}u w q, "Q?p7ţ#~xc*Saf|KA1^ʭU}HCt ?^|/sr爽|V =>r5B2ēbYV5G,ו.0uH_GC@N,>2HLw ƽ (7`#~x@1^sm:)<ueYMŕMIg=6=zοL2);˰6[;xf1lKoHۣmlrw=VӠIMN\5T2O֬EB*fкWQ)ǀfh PwwH|q1,Сz$u_--8 $ZoAJRky0,J#ӛ$qb }wot둊7Oa/Weh}8iss"B=J`lN|GQu{!Zgtn7; {ōeaZZ/Kɲ<-jLP 0`,bL|| [ݓEsAGk"j[]}2u:;~JNԼf_ϐAIO >LdDh :SB.+сWђJl%?*)3|>֋BYAh=lNlZLbRT1nLcyٖi#r :DQZXe vIe8&I2=(T#)F5F߬ꤳ L&Fj";NHk`p@ ||t>lWk!qC}Q_ ѿ;ȩHƲ`gS0G'ea.m3KU4{ˠg>GpC(XMn:K"ZNۍCȬq.em9 :'ZN ,R |ugVNiaoMU% M_`cm.6&Ƌn Z@`}$ݍ| 2? ͫ bE`A^ hm.6faNu6S~MX& )D+ `s> ]dm:ϊV_" Bs7 0Ͻ8Uڭc[o wOBɹMEhzlQPLF}9#l`M?K?iP$>3ҦXJ^TC6n. "QKg>ЖTV'^y6<9X*E=<_WXn֒mD*6ؒ1%s_Hj*J|@7٩6ϋn %ѝ9×1AgyͣbtlĦNbZ&Ii zA}$g0}z/Zzq { G8ӈs^k4mhZ9ԫuƱqJ-3xۄtVf5E`mᯔnI@k&&rkaLK?҉E:kNQWR3ba|fwRtWov]YQ/D94fE)K(gz&؀wmnqoc,K=P 4#x9h^nglBY1I3IG;i5 @0*awA'#01[׃iɏ` }F|w]/@\S:S[_c *=H*$Z9"6aTs>AR;Ftnh9>M%a [[ ./>ePScؔP}<%|7x٩p[L3G+jd8ez>NE|$#iU86 @U |l,HO\'Niey2x}GpJѕ!UWm٧A.A+>De=U5,RjG+aǺ|ZrotF>6hIi=Y(]e)Ň7Пtj7(TOSxY"?2#{mMM| ]Pp2) Wv'*c.%"#ZouisVc;Y{.^I#>s;] )Pӑ.<8~]axtI\rʛ"F8w)Q T5 r'b/wY)~F8?[+ͧ/+@sR_ d|Lw3g#CnpVԥ@M?Z*&]?ϔ`0 emBS3գ6Ef bޚ,j:DY5ΤyW ul|7o?/%'l'2Z@.)sykvS3B|~tG UWM9As:@Ȕ~*E[[~ꌊ v͞l ;:;a#EC4 ʠ̹q}kdtW t, ȏ>BU2k|?˗FXw:U0AT蠃-[O+)Tl K!WuVX̿l_Ac~} hL39 a`ZqWhT=|Ex5AflC2Y,ZS^SMorG4NJB|:Ǣl=9ŜyiB0|S* 7׽P6қA{+x>*>@I θdtQTCxcIw\JePA;39 yY3N&-DC-Q/0P{q)uTƯПwDR2@WÌ @c~eׇdGճNнdJG8V6:+z%\T +\"H8tJFfys"tj.fgc;^BKЊ0:|Gv䱽yG,ut=G'J /cyNMᘘ1NPB? M&ש)4KS=CB?Q(Zgc8uxOdJcQlvXPtG^NYVby`KjNI~h{H]G27 / s=Ԃ]ZI~aIbJ"@EaEl/SҽoþXl K\< YKo*bȃFA]Kp<"jm$Ͱ@,bSٮ$$!a)J:P,$>"TeI܇^~e.b 5*<0",>W>@Vb $Dc,F5ķ”] TI|E.[U\󏒤} JGsn3Rڈwf&)Un.$*LYP 0x%k^-@3 YpK/#;=eλM l wz9j_' B}4B[P¦t6w4PBڟ:y-?=q 镐ge97NYQ*ݟBl\DU$ϽAV5ܱݮ}} Sßs'gޖQ@{ DJXdud7XcԥW8ZwHM(o (^aӈ8ꂡ+Kt38[9ì5^;R=}* cv.dL9`Q3՚# .َTHB.x ۵Q{4&@"4W$w5h~2Af퉃̳*|Ѱ?ݶW6,7OnUFFx\MP4sJB\)ax:3"j4D c'8Lj T6 a>Jd {.12pŸ2'kv2SU}2>lb#Wm͹-*JsNj(ڃhyF;Vxr#W<*DyЕY檃C%ff$(u;DbA}wKo!RAZ (p h+ٓj\`C#E!0¬ƣ*s>2ˑMpJb/kW[qjc_C__:jb"qd\ݬAAmQ6m,E8cz'nkԉV)='rq!dcpQgfKMJ9/|VfU[!A90jyb%gRZR:z4seA*Ѓ?6C*umYS7u:eoA<-v['9VFr~%p0 R+&1F'fG4\ dyL1v#cU|gB.{Y I.[11N/ՅFre(99G-{y-S՞X{TJh;Y &5IM#ꡱ ɛaw9 e[q?8#a S%5q_ U'[! _MP,)<-6l9LBC9P% /a&`*;3JG5A=HFArB|Z :256p:EU_5u](<[p0Tq ]Jm g &ΫgV=PΏ+(gqތK&+Tp6XNgZ7BO"ۺ]^qYw)0pfuϳ+57 fm<;k D̳M̏<PӆFFlZdDz9 Jh:Lc Z%f_HCI 4 XU1Sp^p}bsB\ /1NKnBIfz%@u;#@WI/%|$YA'?EB}U>)$g#@J?Wv}Bu "LlxEvP6)qFv]Bi/W;)b Mi'K[N01l!iv-)+(ju&mRV$׏cǟZL@_mG٧5X+'ZbnЋϓDMJ% Ȳ"v)BxU\}g`.@`pn)nW;\^WDƭqؘmŮq :}R*:wr◯ȡ%LǫtƤiV]/~)0;I'ښ~+Q20vp"S ,+XXoPNGe,,m= m0ޥbdʒ ajҌC`*dVըqHFWCh(p2*aK͹Sj\O~OK#^fw B97FgOS{a$ُM淹`o@o;JZfn$1[ȶsKc2&fQoR{\U(ۀXZp:UOO"J,5KAJ'Yx8C]>Fi-{?8SDDM $F +iܘl*DbbSCFLSEdCെ|:x ))g䨖n\xjPҬ,+tI1'Rya,\uxfBAgduGM0|Ml _Jx>(MRwBߗhV9 ㏓rNj: 'Y2 གPz߷twE%ocug2Kn)O@C"r$NMh#yޫbE.k>' MN ٟ(=g+*iYX̟Id>)F>:"2F7dBj6+c=mh߄V9\"+\ݔlU4{ܐDT=@hK8 .cR]l)nNՁ00궗nكTɺ,}%$,kݓ`st ʲs!kS6 Vf;5jĹݳ g.ߏ8ђbC|J:+lcWk3uѶn`cw6F9^u6[UQcL˺("V|4ׯc)h׽ m}Ԁ0HqI=mJJ6`R-ō\%?PF,a!^n!D|cy]@{!r=ݲt{Ep_w[/C2xý.e3g(r7^tVyK>2cV5GY1ib@?ڋ=\THBs@F|"m'e(cTjhVN qW'*nF'Gz䉊vɅHún!%jXͳLݢ&?'T~49Yk.oe̊}iA?MY>j%"j̢tüXs#Wͷo4G$?]SCyW G\V9PB~k9 "_XjJq#&1? &^3Gb~{ hJau$<=@J #0ջS V١ey&qhtT-"^2@#p]H-G.H0CdSW%;)y\}\|O#k:iWto{GVN<'rliG0n0dȢUc<9Kh꣫WnD, 2E3}}7ZWpƢ/vƪ3Z1@d-C! YL}ZeQ|Rt϶h6P `GH  xIz;iȽ┓81݇=S߂l85ؘUkqōEZX2.(u1 GnOdz8pJX~nTLmȼBsڛLkxslEs8ǜ"[<~VV+tN': &׮{ޕ¬T ꇇ3%VHe9PV"FyT6 }$s a.{M!(w) L_Vl/aVec/pv i3fY&ɛʿd %v>"gdH 'qKxl?O觡\0.UAnH %:=9l [|x_6rD߬18!$L C%cZXE's-R wߊf `G5S%Dw-UQy(DJSb%d||۔ qs/+=9_Vdc {'*Uk^g,NISc,>f8AFs` KPfwyfSZ a+%@:wU "5Aj6KG_RTm^I x-|cD0#U_^S[,Kv dI@3Kۥ 'iN2$'$Quɺ+_z'<85,`F6vž->*\|D8t~faò~wx @O " ρ*>],Wdlr:H>3Kx?3hYg Y6=H0SO þыߝ-Sdx0/3=`nUݝNyzΚ{2:'$XW"ř q䖇IYpĈA'0LlN^~݌=f=]W\Wcg@X=HEŝiz? A \bqxD<6Kl|UgRLӘlVx.cU.`5PЫ]SD;QڅT6>d~tą)#^wA.%&TxazUu<j,l6#U.qZ! ǂyyAXnA-Am "Rbv*9 nY]鬭s1dyˍ-~)Z$Wm{,YNB[D5V]}u=%[QZwcQ[roǨ;nX }@[@ ~鶂j1B)x )0q7Z0࡮xkUHph} 6^Al_?E՞D f̣{, ࡃïS>X1FQcʕ<Ѫ b7IooΏZo{M7X!6ރ,LΨ>{H&=N @s:)Ɣd7 ^I}6)M8~p~l.P7sE\70 A,hueŇ0*/"M#p[ݒ%#QYv ֏p!@0igP)e@F o]W!u }W9-=t=2鍤#b<Ϣ"XViNKe qbS>U#Hif7Vd Oܿ܋׏pufy KR(+\~F/@Zy#>:]Y1 7WjE< O53 ?8ր0 >I =bjj>Z𹛯Rn0b81QHMV6+ԁ[ӤQ3@w5DRos]97F%Ȥ" {6٧7Q|qK±@ƃ' 8bQ鵬/k 8]KZi7@VQ/o"Ђlc~O \=!v;\ .'&{MzW})adFfe_3-Gh 7YǴ|U2yG>rpHַ^gV׬c -԰~Ʒ˃OlV% 9GyeZ8gs\i|n)WݎwiQ^|9^{5 Vns I񛣰hS5v8}k2j+5$̡we?b`OgǪ<Cl}ԣ~#MS3\%,>r}4ƽLah P,!!pz/~VAvI8oiw)~8Waka~f|H,%_49 s#VV#sn-VoiPA{}b˥,?*ih_ݻ?ܯ&4No™̱Bz1zO'r"i#Ng:D> IĬ&wVKq dDE*wɍ/>\p LV$n7kD0^"N-^OnЃo`tWͥ2X /kgȲf}c36cI8yb0Q7EYe1=rZi9fK8!I,˓\cHM VZd-N]Uc nf0-J6l1_D&~h0c0VhatZx8yRSesE# ? gS𧻓ߣGV"e9i:FBO]GRnܜSJU+yER^+CϨM̀ XE1$-s̊MgYFyeys7԰׀~[ 4jg5LUQG:8偮S9` N>fj^$|-G!WO}8waekytvZL+LQx|G5V? Ż+U \Q\gebZf/6>b`dFuC*[ CR5Cf'쬻r` *.W0Gi.ބ:׀JW`eQd?.:"߲"4!Dž.۩oCJ)'cȃ~ + i.̖"C<6Ka©2S*e,VOU %oBcxĚ}k{"LX82n!Ǒ V!NOu%RBtJFb1ʪfPDMqNʕafR4ɫ_bY6 \ !5f3L UIkaظ 8iډŮʾ)ˆ:ND4&'!-Q狼KuOM: z_:+e}I43,Hֹ.@U+Rܹ~pY(䡜PV{{\W{6d}yui"S^,sn{=u ΐjS` E ] xxk1B"8yк}'co^\ہPJOI\>WTUޙ|o -L*nl|bF+nzŌ*eL`L!BcX{ MG@%}fpV0:8pFNI }'ќ1SD)~!1>eο039]ݔ.#'uQ՚mDEsVY1>]NSa]1qFw4%57g-IF&Ɲ"N'(`ˮھ6bpj ۅ".. FO{FTSxF@?e_]7mڛlN  M48mN2RBUЈgڠGGRmNGgu7A_JJ%Cu~~ɸc1QMGez%N)X9GDF>c"Se( Z͖ 7 Exq/9uɐ@;c*ѢZP((Ƕ k&zJ;@E@XC^:9#Ȯ7>4)vߤp b4D15Ŭjc:^,]9'9'\a|e P $yZ$Ļk&6fïy7,刍R XP y(g_kI]3y4~FƷ5#J#m!T-I; Ֆd6UQinX\b7o*RqI)aInp.2w(CCy"A5m: }9l)9ۺ8AL%r{8Vb+ryS)0.3mFXlqm 2uzOQT +pY}W.!W)^7lLWS1r˕̨ 1"'pZZ,TytAv;ׯ*yxyç)V @;  qk P`{ &n {wI7j>6U?+gO L ձ- [pxHy(;fh,sjɎ]B,:nNT[Y_EzׂyqOV}6WX۩tNbz;PZr})wlx+A?h]0!]P,(`֦0"܈Iz7qQ6}됚c9NTpR˧XM,Ax}'Lj0.v\򉳊!Qoi/BE>\a5t;u1ݡ~5wS9I` ^PA;ɠODRS3;h꾾:tۣn.C<6[EAOL[K㲣gkHw*}<O?Dyz CFKѲ:'vz_$r[H(;3;6.̮@_0y`cpm⏀*R#nT5ë`I&s].Y4,7\!lmZ$l@KV )Ŗ:b8Vҋ-KC[A 3|8lYw Lqp~/ƞj[~^C:;ڰdui_QDoOJP k!/kr'/MߟIQ1|C駁W5)J=7q4ne KB*!vY~+ߎ8$t& N>c>㈱m9@6;@ULAzPU{mAzAҡNf"uMbex*n'EةcfK_Yv1zg4X3bJ[H9B&/LP5n&ݔ2ܛ:roK&s1d Pwy?5kȃ's=iG1l]s)$,zXD+mO|?^iVϚZwk%AV=dsP>Ro[GdN}Y^oWX6qz <`[Ď`96s7֎2̃g|"JXF0=n[5#_7!h5!/I)Ż :<M66s^mΦta#π]yİXw ~F(k 푙a`Q( է[H W_@n>h$Q{}.yNC%D/0br?eRNDnL &doGBrN{O+eU eإ '/mf{33s}J " T>ub6XBȘ-5()x7x;9)7~f\Y!&`uzɊyw*]N{ksB>9i*cl3nktI+/\3C6o eNX(Q~}at.6(䈯EQ#@0"N' {)_*wՓֻnc^a BK%5F5eL \X=|e SEƂ k`I˦N@16寿րCMnw&Ma _aB}jx#/^B$qJӢw1$ґ#)7H.Ai}KV.oT/ Ui#M4kj.?c%*|bq\>Avllvߨ [%#rx7R|_$Cи݅/ÅR=fzfq;I0kE1̸1L<EN,͑Sx&VM-D   /[>Hf\? ߼n ,Af^IW95Ly{#G(͖au>hʕr3RtxIMkCOLp2e`/İ-sNľH0p{RKWOWa4?ɗەUn\H`CLI*#AyHp_٩KXrF J1G''TىI|yPL4ed!9z -lLf8T'Ⱥ ɲc%G3)2`T>XLMxwǯC8>:N\9{E6ތp Ny. JU AP (FlzdNAUibMUHxa>qѼ.TTGl ,RI\<+=+iL|#`r9("qa6Fo-L`? w#5U&i s\>Gj8zwY`Ô i^y{Hr[ 6X UJXm<\4yjz6W^ H7aR~<[;˚F6s͠h!ϑ Z+Jww"cs˷X *0~W~sq#p{ rqOTmTdɃh*eե"1k% yɼ)aiI8U:i[Z3[K/]I﾿s>h8f5;`qO q+T\i E'uz"v=Xy%Qf%B?aWce8WJ*ly8*3\ȴMD-;=zAaIivDVnWI>SKV~f{6(P3Kꠈ`XJr\i䁎izOln=$w=Z 8IZLohŅK˖XƌV[_xHVz3p# 8Cs; uS<(k@Zw'?wkFԼn\aqbmAY$ӊW#E푁Q2[]ђGlX]f 5+w6CkHd..o9E8iA@,WNc8 иUvۿRѦy2,נ6-Cf8)K'Yv)&<Ω% [g-Tg'sضU2{b75::dD&2;5ݑgCųF0?+aLS]1𝖺^iD^&s 6F.招璽׍++ybst4Ӈe9hxM҅=_~sV. ̍[vJ7GeN~q`߲emO) N5|`I]ӃHΡbz Rgntwekh-Ѩ}Xyx0Q:_m)%nTiqðIh(<.qVkp[瀏 Hg[77"ܫ=Ufn1Ґ!* (C`'Qz)|373 E7k $:;/MrD΍TR~7ӯּy9K;}P {>9邏ٝEdhrB ]2P<.cVuLn<<mM}-Jw^{aD j#wvɭoXXwD|sOkn3;haV1#aM}Y1SY]>P.3=Aq$+SEI/ p=5zⴛѐέ8<@T̔k}zŽ׾ v$_77֛Ίxu}`5R aY T-M6t>`yI2ay^Wog5]yVu.g:,"J@ z=Ꮢ2bBȪDT>/.bHP@ϗNXZl͖p9@'TR|r8kS7 M[񊜉Q1f"A//k]ŮBpLy%@V`D( Tjȷ[| '\?|X *D&0?SGϵ'143k- >V(D"l Z n_*W5X[d|'ìqǿr&!8I|gW}r^f#^ >(PɂpAn#{IL}a 7do҇&ZV:rm%$4Rx2A+q'mpClbS3Lq9G~T8K 7+𧟒A6_-J<^k@;ĤfT0]DA8Ss$ڍ}jrhck$tJYOlǟZ)SdD F;\m$RWOa4Jay$UT2XVF$YNQ oTG?Uq-jPrCpqH=1Fp*⟰u4U (P5bzWċǡw_;/Wə5Tk4PlC"!|ep(F&U](^ȝ6[--֬4~&݋߆d#o|#1'ѧ x,ǘhT nU@p[AWD]Xq K֐#|"i`?00N7 De&xƪ=:1twdMn|e!C-֫gםQRkFM~4*RR+-&DRLHeHĔ\< EfU% &=$QЀlܯK ԁ&_bM eF+D wݳ߂'nkNb#(V# `<,\t[ouacxpT&7g~Qϸ"q*`VetԼxhHZ4|ZK0{Ǧg:ib!!ձ 8'0~ 7@uUz6v uI-,&K:ql_ETGÔD|RcaD#I]s֟䭛_W,D$H:u/LJ"=KOi5+ayjϷVXoy7@IT̖>K||ͲS4#ՔN%"6^4z\ ۽U2hѬ2#_ :p_i(c5?kt/p\C%)Pl;QST8mFC{P' _;rj')N`RߺۆJIR4{J<7!?fJ#n8p$Rϊc}=V)"/zf&w!]i-EAB咥=#B}r=KInt82h)04prr֔u@޺MSPv}dY F9sFeمURmu.SۄYTj(a).)#>>",AZ|N3 ow\B\^@|Drs뷺/y*R\J.Ip,y`z믟h"@4=nf⦹ ^2ڐ(_(7b ($Dy_{vN:u=g LfXQQ;.qeOO :4 D#Z/3eb;9.+}h|X@ slRR$T߄lO5^ɣ64z?"Hm";fw|S&h |1kחb='^RpV2*t4A9'|f<$1{YiCaK᏿N/!p/Q&-GckmP!ZmzY(a)V ~}U^;2p1nA%lywo< }"W[qJF[>ZXl:.el=AM qhAskĺ7o24BXNZ$L\rEAgz>kkeح;Qx޽k0kU.?ʇS X{M#j=yV[q;vgMqT4?iǥDH.F'5ˬvc@g*t>RXl#v>k_LJ THirرBZd}BHJAKOR\-3S:_&StR#ݟezh fAɡhyj?KTs:?fЫ%K|:G"++E[m@" H݋픝̟V:Ù=7L ͹&OkҮ 99q}m*Ȝ#N'hhz"WPm@fUKEF֨7mAyUH|>U3d\-nɰIgzk5ॵ 1 /p &KDO8ٕrĊ,x}pnޔGG@xKl><_4ɩZ:D8O7 iAc|k)n{0E =[ FemMՊ)8KL\rQ1H%|u wPg-n4pd+",<>EfA xOcM,{" f-}A!1:8|r&G'+ ,K MAr YU u". j}!qEQ'fi}` 9%'b^M^&Zubu3K;\8vb|ej .$fS9-!t\":U4!R A^~L*J0sr"rM;+C8ÔhoFi:!l`M` ''B̕S,osDRD.S@S޻ D{mG(~o8qqhC"{@ $\n.pEEE!ŠXЃtCvWRyCl_JSɄC]#IyDT.o4#BuKA=/B"E dg \G܊T8T|KFq+-I@XY<_wUHBy9 Up;49@>0(m%`zSSm[2K'xci- + PnOۅRQe1iM$˂?0ZO7άh76pP{8թmڰ1n/k2K2\kݍJc OeAH)>z+Omu.֛( E=_Y (w~XdOk{#7jqm`zgUvg+h'fIZ E!$5~ఉqdL00$Bow-47Mں0AH y ^*mWZ.|\]. nϡъ^z83F$kvy=*b!72o ^U8oQo(ѪC^7kk>0rS&ZvpSԐ̐7y|̴ҧoa'6̢'6]|+3(mZ0."ʒAB c0 r7iDj"a}w7nN`4`G"A ލooJ2Wm&z7밶Y|{Ah}$DPzCZ5ظgٿ;@z MH_.cfl̻.߽fF~b9#m^EĩU(=H!F.3kX 8v"4$.\ugMVeP/MIAN L ] a D!!MBKP~tvu6OmJnST!V `nc_`ӽk =SwAvWHj^sq(/_fS\lpa.[#9WhbBCB[Bޅ` wSr2eW9mm^xX>u0;dr ]% Y&%2^`o~[$!ßS{ahsR$ ]&`x h1q-<.Gtc,S 2/ID#(D9$|]6AFXB~DD0B(5yOoR>)?gjBRl Zh}lEF4e S:2J)2WB[!>q 7 ԉwX:\@Oya+~&m$kGoT7؟>ZoC76D#\iv~Elq ,JfTPdWc}KlNl,=UUt#d_Rv ek MZPQɑ8^ő8_|-TzA~̀?ƲSEa:5Ȓ6//ZO~$2k-3Oa^Oދ_J%dt]}uXJ&B;(^"HQr3yBA <LR5, -qԔivc.t)Gv2r,evK {cu9tio6@C$C5‡,*FZ,v@{s7K2^D)x,9Ԋ}R%N>IQˮ1ARsV?%8Q16 /~(شi蔺v|WG`I#cT].Oawalj9wK /NIc"'Wo&YO\, c2 Sr.)0ge*xuV q&\K߈Kں\N5WVLvs\"IO^qrpD&d! U|xS;ޞur9/Ƹ{|{~+|*>#bWzwrFt\oBu]Tp Q$,1#i,Ϡ~+mq{yA*ӡQp+>:6{]yp{c! qv\CHG1KŒD V}jpKfEtQoGJX03q(0gh˜ O#(#;Z>';pg1[E8QŬѶ=-HSHF*d0CاD)&DeD>Fu㺃9PiF :Ҹdkaw?x{Q,z3 +ƧāenNdz73GJ.m я`mmP?k |1F~HMlNz{lmŀgLSl7 QB7lL2fw+dI@YFZp*6HIc5 ii^{c%yDVBFB8fw58 R@G"zC+V1x_F, rP{ z\G7 0U϶) |b*y:cg,+Ϧ~JNNp`G)#!)#ʀPU$h2]Oغ57<üto  :t`mgl>5%Q3q x괧 #jĮw>V_*7Jg<`SL?/DQ=~40AXT C!|Sd(7\D™zC"XmEӱEoッiWξ`$fiN;z+=LJOBQx$ajAi, Mˈ._EgWꦇEahG%6k 6HrIbPI~0z)7#CS{b?O!ZDhz"gӾS ߙ>xM)0o`-G9JXK kt, jQ`؃I;b'`£j C6zʗ$}HQ P֠gkbZtIqy6 ?9UtYQ>9 UxԱ<F[0 iv{چۉy`R;HRaEd34;1<{?xhv$" }blYQnZl_&d;S c7W_9Z)xs8]]r2NL[֏|Z$tSAR8u?¦Tө+`( 1FuQ$2 S¯-x!sWYvKO'r/E 9زz,-H 57]23]y^XцE7[}ryޮf+_dՎr{RC-oZOًbyb, 6iQ|Wp˰9=1dlE "]M®L"syh&p(FOH W kLRD'6FQcEn :\neJE7:M|/{+*[w-H\&Q|d Ml3!ae3P9C:A'#:&*8b;d2Gl\QɬnnomJse6>͐8t 9Q`y h[GoTg1}@re%ryntٽ/ܕ2꧟a(LRR^lF{ѭWOQ7 6~`ia׉u$t\#+:(bVi10FF7{eogѩ,]hIwu_Pdjv2K)T݃qr#S)CwFʀ gnc|ǿPW8yCCQ&@2S-Om$kbk&ώ_@=eƿSNtpLնD(O C>;LqEb@Gk(QK5<:۷A}d(7ض6Vrn~hpUGҮc%z$)-F?;ͫi#'r0-TlIr7@S8:.M\U){5dʃt  \mc/,&XhD=:{Sft %E.|-̾HLQ3K2Xi1unelw0&T##84w%m⯉VWGq0٩tOވ(mt29M%Q2?o'|Әsl*7"=`n^sĘ։EY}i֩8ج)hJ@zJE2~'+[]ڊzOJBC(>M~…닡`|M7 Bʝ*vF~d']#@vBquJܳxm-:}'kF&[k|hT㸠?J(ͽv WsbI]_pFHND^ $R4NԮF)K?XcLdGxW1@ Oro!*e0*z=.[XF>W1,@ G68۾7 p,_[e @ĠLmK+\`)7yO9Z]zN%=M3?PRj=c,d=13ۓӉ%?BR!x?^jc6{vTvٯ <{$nlE X- deo~؜K+2_K;eΐYNDHs8);%c pbsیī$R|s-5v-G'@ݲ@. YG \({~*"5%=| c"C%Ҽ "xƃp,j$Cq7}ږ22[[?l!mP7&͐JTZB4;d5B<"n-n3p ʾ1Z-%#ů+T&K/4u9; -go˓LSj\Sr-d]mq[OOc4a V9cPMO*d,fk:z;ZQ?ϋb(B%blRow46暑n0ps7Ax\Ml"Tvde(oPo$8X%ҫ*D[-35{-n1bcҢ> %M+`dJTbzW )aץ`m 8 ^/6*vr"k\|0V;WG ^z!n]N5by@[t>-d~P?M]L,?T11$>Jĭrn$8VZ9<Ƶ 1ڈNC}d$ v9:gN;O2YŢB߲/nEg?8y Cѝ5.b%m<|+XY6-yʂ';F&.aq$zFX7 jQP="I]Jo@4 rVT*{BY4dydBD83wY>5~"?pFgRYfl~G{`/E!=͝aTSU'ivuԗ}(֐:/geL6^/ c{WR*C!AʪU $X4^u:jč4^TֽqeO?~QYa w,ݩVKHe ];n;`3I6|Nl@~r;',*927`mHtdaKY-/%~~B>]LltNaw==9;_`E'˽_wP/̾v&ʔkЭKly/O1(DR6\&d?c%cIdfK+6pwA|>/=ҰGgq6>>]5QQ2\AB͞DA'R|l$W)K M4 DS/t_Kc:$O*Gjɠ"Z2_OҶDVt7S4~ mrSZwIt~nSo8Ҷ(Ȗwax`%ɥsiϲpi &LP4>LÌ`Vt0`r2*fw@uwٙ:#Ĺ}71Mtf+.hv[[FTaH?:v^BilHrLeTՠO(,A*'-a1&U𧦪Hg;@K^Tv*?-äLy(۬`Ir6yo~gBz 8+ÆdBC?>-eDS,3YaP%lբJS4* ˑv |EQuc(N|zFЕ $|K?T*ƽ:^{9nk7)4F]oji`xZ,+ǕQ DP\m͝Y\ti(q*B7%dJ7{һ eci\#tl`KAe m?9bjTeOو$Ȥt&90xk /#_ZޗHĽ $fjR\|urFeu2|af L>It.w6n,Po#t`LCA!`r:Z2d , Fݦ,} ds 4>Vo83G9{gsBS[ț{ <+p'iۮAKτ1mxQlS<5nS1e[$s(μ4)pu[<};[ϏNLz]FW~?B(,1AsJ !S0}N'&Z@BDH?; "D7M 8_rm8Uh4 ^1;po%OiyA1[J6ϞAEM}<)朳"dAdX67RP&3ڨPE.3rE:mV69Hݾ[qIեڱ p2@W,@Cufb^2&W'4*&8iח` C# ٳF}i\-\j'Ey,˟aI<=e j4%c4u[$!ʬjTJ+穊 }zKD/|Qŀ7Ӡ"ݙMN4pNDTBC4xB2ɭa5&Is`iw) V]ߧW'S_+gwqܹRwR?*)( _ m\Q=XW &ɝO4M -lq^p3w>v.XZ^d[Q(mk6=k@5L(&4z!g(t@_9tz"]߲> 3о,7j@y<\O\xx{ǘ# @kqzKt*w+.ky}<૆ `&1TzDI΅s ޕ)h BW%ȡU!q蛼smUN8s95i'IzeUޤ.Ve#$c at^uN=6P9f;̶dOЍ(h$ogHWqSS1䙢QSjN_?˵S3Ř0yg *Q_BķwĢ]ւMx%ņ&@-])'Z$m \{qgmZ.T*C,S훲cl>KC(_҅v хW;J.t.dͪÆX6`eJa/CT߮eFJ{Bs[-W.@c;5%%:䚳L-eMΚHoC,tMjT/AY48x9>%ɽTr^|#rÕGLQ!p# ff)JLqVIܓUoi8FZ_*&M2{,t=Ƕrj~{iT^`BβɯFL&uqD18Ɖ]DF!!M_vi%@Cş P/,?,38i$eS@?yůF*,jLqѡ_ `ΏiZݩ+FO_{졙/愯V*%0b_D`-Mbw010mKk>$aR3M&e[ɠOȉ7~3B2=_mh?br δ6i^?5_ɣ猥HeV (p&ku$vK~5 +)k>a ] ao! =zt;On7\ŋ 9CfJ_܋SNX8:5$\ 4.݊#~L8F1H (F;`'p3ʮPAԇB$yAF_\q:+~Cdphb;E:FC缂hOѺ$ʖ́,+ݛ HV;}l?FנިʍZ?8@i*{JBu#1 ZpZÜHrmⶐ%ܩDtHq{^j(v{T,_/]E>U`\6qf3en&~{҇ynTRoNMƿb۳tx2WP]<9MP[Ķ!&(0beٓߏ^pD]8k5E[g+mSJ])Y ELIK4ɉE';$V0*-T،En0-  @8`mǻ3pЅe$'5klonaN>=DH_cߒz1&7!° %6t5:s_"99:? L&m3s6i;l׌v7S8%uuTξI-j6-"U9D\C3B: VYdf, &; x\GTK`@"6sZ\~cUjNT+Œgiho5gIq۾֠B$Xa_"fR{v rj"ckwL%t^AC8E*S')Q \g73,*4_'>6lŧGgmۂ71Lw{'n u{ uyQXX.9mY};sp 댺S"b0kT5sgBf _J^)A:TJVmC`58AB^`bVn+mոO%eoq[88GPs varb v.Et[HoXZ𛷃R?ŗwg)l།c^IytMEP+% dn}.]amM)6&87lo3*$W4hDw ngFчeP;z*uP=5о+ cOFPW}2/fe4zJDE`K6Ugi!+L JѾCVSf+HL֕.Bvsڇ]18`k)cڡHN( 8uW㻓 " Oc#5 ()T4RNqBHT͢jElyHV>x5C|#yF4Y||㻪'1pƟ0jٷ6ǐQzVm_%VAv(&7I5 kM#'ڔ8鶬`},H+3CHy r'Xʘͭ*5Yeq:\h8w?nWP;t2#cMNo !H2c|b$BIe_VW8ͷqƨuf2*el~Hw_::e$B^R^+ 0V9Lx^ܫL>z;gFR>L2oTMT/8鬬:>ޟ HrDLKej}knzq4MVcEw55w~h{O'YeBpS=FCD*v{e*z֩?lI7eKqwZ& i3D1$̕)7c$N4Y2rUK)ޱn|cY)+mWsN0 w<#i_sްbF RՈbMJ|bC㖺7M;oȣaIJU_3cq9WlXfPX:lx->[c>EN7s+y亝8䳠驠qr /_1ZXݦHVdeh \a?" )iVx|  &i>&$qX4$&؞ 6<Acc o'ŵ;;~fQZuPJt0p )p!=H~޶anXjH"8N@- t $$E21,<%G</FW 1Hsq7&vB_WtmSJ󙰚+ :+[Mzp"n>r~&U :6i[U2sSu/cjIƆ_ת{MH?r) 8@oÌHFy),h@:(ErÑtI%rn7 ),'iFY%͙V&J!KinkfdƦE~QC^" ^oisq$DsG@Y h.7;'h4;pQmWO/S{΃.Hm8V,]d.v^y1Z-*yu^arn4ьySzĤYYૢRV>wH>Bƈu\d|>1P˧eY$֐pضxy[Zls6jIx kR'r|]#ZHi V>c ە g@e;@F3'pǘM9LWW.uz?}q&;DwRg$[W;5ZMkkmsNZn7pxDbv M*qct#Pןc L4>FΘʿ86wCׇK:Ku{-PAM 0 6|I)EkqZ`qk{?u'*w~ PFiFjDpAvXfY]%-D:|&c9)z)p^cs8IT9>?^6UIH3ұ@C|8Q.X_kpy#Fz#{Q `HQ_Cqic'T>:}-  n ֟ l-?]ېy0AP^Jf:k/؁ Po= gݓe1(&#;"n|sԭlߕS; tjO7Ge%jJ-laCy5]}cF\0.8b;a|2$\VK :-+@ua!%NDeN A2ޙ[?T-xWzm>i GΩ_M*ӔcZ%FU;P%jO7,6 "1j&Tvk: & dfTK`{Ti!8=LUfj:28odPx8U uZx)jOec>RoDʈ0uƦ~bf=)S>h:7a[eƄC;Y_l+('κA~RvqV: >cB(`ߐ鹿ǞT  ,  UCI7&V}ry3'>%YJ,vTˡ)5gM,P.K nPWlYrQs}LE2GB{JArcװR ZCM:}J@Oo)\;PbV] hi|^bmz _*fSZD*Y l|ѝ>.+Se)r˜3`R<}x7{7Рyj-a7XD[90slQJCaI:v{Tk5c*Xm<ֹήI\pCm58S38_`Y6A骛m<*q+҈~)M;B1]9Llzc84jTS2j)7l1cؾ*>L8a?i]aD.-i6ꊌWvr o&[l'8Kgu!CM0vmIx*6M6.RdY)  |$~~~F|T$>{G]`0^{XFZBҜeJ\Rr`P#h =)5] ?{(#>@j@2Nu~%[*|:cBɣBT ,U$`|af.R)qV}PXa6- '"Ycg}g>H)mê.9'bt&S'$ўPgW 垫pj9񏣗izR~ejVdN1 o 8zb-a~k(^-s VEmKQ^N]74Y|>i/ x9wo#ZĈ֔ Bb_9L*e'.(M3V#;IQ8bPBC9DTUF9 - W/# 4f syĬ1s;, F(E0rBg੏w;/sr]Q:֊ZTニgIg]Я|;x')CE9,0ij%M^ -Csr3L%ё `c,MZ-yĿ|+,XQj-`,n{"&2:(LУO 7̹< ah6 rMAɉg֠|^kVV}dQ^&an4ϒIK2[Do/У<ƙY!|5$Ц솿=ځ7KfD뻰)R vTM?uzk_QXc)Ap /M`,&P@_΁>t?J") $<0źΝ2'efZ`K+ ѨG96S88cЫLa0]S&EaP{VyZ 4{xWI㱝DGsIG\*Էr3cJoPqC] rA6&l/y[s͈ow62e\?4c!|傲_y=fT"{k(/[Ij8;';&z } ژgXIll_FEY/ىR+f I[GdP{,$vDe+YJTs8($o:Ws?!EҴa&ک6հٷMzPYRk{1^c۰p9p]R@rI/*@u &0=گxoaMw tk8AX:Wki҃#uR¦E, vK:(A1>([pg H'SG29:Ȼ>ܻ1644ZހnD5BqCn pVHs&-)Ҽ,R}$ۚ\b|;c2WHlbγMK$ ]r^%`&^^fp#{md7Y*qu~*"BNfYtJQ7X Q< 57$ lQѻUgRɋ#chҶW\4*LKy[pbI '۟OHsԇ~]boj 򴟁u}q3RQe̅Pˇ<:~࿔7dXjdsԧ7=BB'cE?_{xAK⣲gL;xNS`!G`c/mg8`%R]264\`g&MC/@7[^~YtVԴ5(uqC\V4x S^tf]e$T+GŲvRaֿQbdжW/ߠ\9(SzET!(JW';xfav(k#t街>HL UyyCYDG "ָdl Rk") Ȣf?Vo'O- {BqkS5S>NB[vr f6nb8Ԡ7 4emǟA#=ܹIHy;C_*E)Nf~5žX18IT`HAo.H@71 hG)]_Խ>ͨ3s꫿}tY*Oˈ^IjFYl3PrBnd@o(!}+%J>h.wI^;h1=mm #}=D[GV5^ھjaG+FGdg Kn9r&rVoRTh@7ꯖD|g/}DnL. @GF$m"CTnC2c\cgu7:8i]R. Ɯ0ZtDthל+ȂC͑TW0Џ!#Up_y53q-CqĻH$,I'°j,U(Fj uWS_a9Ti=wNe&D<{ &} 'UdI0T,52*]IOwN`bMT69!k-플3I<<]mhͯkF-%lTL*=qcLf!sA.hꊙ1mK縷~WBf96G@`Uꣅϝxe)bD{__Ùa Mڵ8Yoa:L%a.X|ɗb\(.axe  kLƩ 2ͺ>h"!"ƿ;`g$}p1L:ҫVVt0Ȱbt,ݖ][Q kо|彭[87ReWv+$aW4?Gd:^j3ݚ> M7-y- Yag'2[J $*8Qڛ)ـ! d&ǐoɄoCDLW"Q^-f,-3Ev@/Ilj[}#R%LB3HT JKi؟승ظit6?YthKf~D2-q p魣=3ciWIPC9e\5C'Ŝ: :| VI$dzω.~dlW o4@Ȋ%OAZ.5\]%F'\i*bqmH'I2$Op!eMĒH TG['HP\J+E@`u+A)h5a1n ډ#;GMdA;geG.T4ۖ|6sTɘ3=B7H%$mlLgFWP(́hCvܘoһ8"+b/c28 F:S@1wuQvbD՗)混h+=m&ND7wQߤ҈w]Zx7|O@<]$AcR_=ېp!K mvm̌.(h-UB`΁H+EۻPA'~+LNnbUن-i^6:+ݼZH[TaUYaҟU؃'$}ygMY28_nTohBw\'Z&PEhaȖ]iI:4̺=O ,THw3! =>k1ofMg6ѹ׌ruGv %#fozEuJ.4~ OJ޷aגp*8kqX"߂j`Q0M0P2a$q=dYjuPOkbyKmq-9Mڙ=3SYX4i23v:|pGDE\T?=4 g*oߜ؍jvɾ烍+ ߦ&a4:y )ҽY[7YK;!i K)˶xI%e!ߚ>Hw~rCL%.TlfZ]4:@tl =]}$LUwP <ƏKb 48Qx 0bnP%eZ:d5-UAѬZJ5g Plض 5h }—?d5]XB:U7GߜXp}o+O8- /Q3dVjˋrנcnERPH4k&l4^:\n?"צ@wXD`maspUƞ'K۲EվLk(OfYU88[;,-rۉ"Ab<}~=m^( C'HsBVL9A pVG`i :ϑ-Cx- @5o,2a'HizjO\ wx U?m>eS:fVsUc~=_p YY"?%ZDtw)+ԻPt~*y2"wed'l^?yJm[]%]ǜ7}n `(_cg±= `̫m7"R Qc8Y÷'׹h@QQzIa ߫Nxt[l4*EBbYA"R)$?q$v,ȧ`~|2Sؠv]쐾!t􀥺)#mW {tF1FVP6m>|NF'?{`-naߊ6Ev.O_]W {F$H5Kw5Ciܔm ri6'uO,H{tfHW:]s2$ٞp"P+ /jd̎8p4m;rJ<(04YprE4A6bS"}ߝBC?I pS mU.J酗B U_Ȓy C]AUn?ʧ: S[ٖq*(}l0!2P#a}W>w!IPa^:|֧b}NipkiL'jv6m.H>݊9+|(r”Z̧4AKZ@Y*jv]$HdIwoU; 9,z p'I8W`<ɸ Z(>0 \XjPČ6GW,x+(.ݑFZ*Cizw|msڥ:?}_Vu )<`mj6^z}zCD" 0eA>Ԧ>\Hb{gD Y9ypɍH$g2v9KVDBdWRajsS Ɨ6\32xY[=3BPn1DX#.=>hHޙc:oH%܏Ҹ%t'4(WjQI: &UsHّ%~F }z\>p5h ҳ u sGd1Z}sUN4]فy$V5SL{bXe.EcqV*y"Wo ]ƥze _ kIvG7u ,׵Im.x;\ &HpętT?Ġ+EvD*RTX?QDuJV@۹4&VJsfua 2lCQ;[Bو ڒ䘲*ߒ;3K a/HyiItmG/x'q{o3'y1+?o'U>ӁVɈΜQ#[B~>o ]o{M1\H^5XI+@4Jyt4&Ypc)S㡘19* Ďڰ) (_-_O'jɅQdk(z}T-t64w:k}s|`Ȭ{¶nr[ld|o0U|6%1DG !( Q+@fSS99šOBj1bSIP+˭w~x"cVY~!5 NWpcdt.j'5;^K`/Ä> \u{@|m/O?cZHh}!D mз] ^5ߕ!H>GjN @R9;! UP2pV{PI9 \C[73zH- :m{ڭ;] P8{JrY|\_ 4(zÅ6 gփulQ^[MzNd{Cʦ'M!;fmgU_ "l5[;_A;^gC6ЌǸw-l*|;^]u +{B[򚌎$G=%N]X}ޗlTgU[J!V] 6/pkͲVJEi'?3,Llp>J\Ѯ~ mL K(7`/d ZjJswik scڇRsͶ֟ 9OI@J㷢j'pjhf~gqaPJޓeFٙAF!6VlԂû.FR ;i2m%0>`؞PncZ*$~2贤rs>ȡN괽'=e\9a8I\<\ps⻶!\)5Zo6 MyȟLw$S؁t&['b,h"ծ- gkqX"O]>[B!o@ig4\Hے~.D X^$JJ\ׇU Q9q;Wj=-EڿTܟS+T.]VD!#<%#o`+Y-'?èٽN96ɕQgPۭM5!%zfOthҖ&HkIoൾFtP*l 5Lirˆ$a2.J4l"/DZζ~y !&;RFWIy7LJ$H0Dz!94M\\Ydtlږ}D=]|K{xm!!N8]O7?9-X\@ `=moWtȞnC?%ԬnNgeRT pԔfwK.v]fy8k/]ʹ<?V'Ho>t9J $hZj!wM-l?k jB f$A;r^l3h$DA}U8jU v]NO-C<>#e7O8oYsW:ȇ&XN Gٝp\_ u^Ny泤$HјW82H̼Af3ojQ+,}d{/Nm$'Jdԃ4) N}_\5xTIpxGDMq%,b# `LT іXt ɥ7ҋ-Wbk3[&zɆ'cLf򞶁ðŹ7n%Jiԥ vl6X%ZLGwK>΅2H/c@ h$# ϗwIz4x;^b26'%8NK3:_ ~Ss@߬ag`gBGkFmxj)-Vz!SW) ^WkYh%Y:_5"@*ѫ,!xQ+/qɊ꣏Dmƚ Y{L`]/HdLĨt pC"8ghֹnAJtN~Fb7`I#7G嶊%gNKBbD#F42:Qc1%2 QF]2m}$6kѲċ{]l 8am\#&ೡ'rVqBt9zLgqH|S3͝+F_~Z@vb}kOx6>CWu8%>=!JH*sԦ|[(X㞕 Yɘљ,\?LY}8~iBy~X/ܕ QͲn`?݌!YeX/ ҴOgSDk.WY~gʗpYn1J$+ sd>ei`#fsWE;Dfß!jxsG=0Nyz)+Fb >EX 6>[!lb([|Vȇ09n0BۺVQٮ1@]գwwӄ`%d0j /G޸Z(_ۊ1p>a=-{:If' ]Q/Oܗڭ):R#sop3:?L l0ZpMI)`t<@zNH&ʠ >J7R"XTӧsИڤ n^:a :D($@A-԰'Ť(bbԌKRށ`>` :{Ϣ&wQ ]xwM*p҈A'QLg\>'/a{YRoA/#i:v%u#f lN7pAK\XwCosA $Lʳfu#۠oyhjLnTP=VKFxD`{XVeq4n#Vp-hܤ]ǔR5 s3sazCq-U?DCn NQW,T0x87{гJc(ilċv'≠X*O7z9{ 2c;OMୟ?֌K}L9D]lS]¸v@Y1T[V7Ѧ28̢(u)}]ar x04ZlSt_TygAiwS}HM!ǠpES]$[iA$ ػ2 %8=j~Xgud*ׄQpADq2TACQRgA S̒x (WF\Mz~lID>sBd߀I647Li3B+(\C2>(ȴ /k_;.KLpU24~DZIENaa4KNw(wjs!*hOp^Bf1(CIyLqnĜ>X>>)$WC1BSλ)׺")ۚ|,rdDSvbϘw\⓵}$9%#ȸC^ݼ*D֐iV _V9M. {+#]ȫgaTC [r\>ktBΰċGH,Gt ]myk2.1_iޙ(|a٪P=(aʉ6|Xݛa+k:uaKh% p>k4^/,~;KmQh%ӈl`yuo݄w&8RAl]а!r|>; ,7jɵb>kfT-1uuRX {5 7OX/NAV і4,2AOUwsF[F34.Eh[)ᙱXߏB0MjI;"GVur.74x0ųl4{5BH9&ܙ0 ϷC ~=pi34Ka7oB4J`.YjY74Ec܈H 2+'K%s@x}s}g)A4M$R\KpdowIC5H zXxt'?ADyuH3U]'r>?dSN@pKDJj nB ZjWJD,{sbiܙW'.Bopl7-b[,\=5IKBޭ|1⹝ݚ@B-}c4X/AX-Oi;UPP YC&H+I9 95ZxijVk=k@N%S"*Fep#wjih仼Jb6WLKt0oEn$-Wjr8[|z?u;fЉɀ:|9E EA5"a{!et̘~ ҂'qbB8rӞ7ojӇ9P\h %A4"b}cAf"<2NT rrZFx{Etnp#"hwv51kunܯMc\}eyD^*;=eN6MGxɚf[e36i'ѦĆ>ox\@ Pcm. R|{WT_&m˪fhW}Tj9yQЇE/_Vc1>;cWnFǠս,'vPI8)bTs*u}qLW*:VNL ȓInBo:l*W[5*ˉFWOI,1>@M7P0~\_%B}e85QԘ3n7F?6`? 4?'z[pQ qQ==.b 7ɨc27~8`fj,m^F3KNn͔to @?۽}[q&5jkk} Ԝjү%h.E,`s7CE[·@&Csj3|"$&hݓi/˃ohNO$X *K);= BcF>JY$#.۔FBZS%VT; 8C޹O%22>Yüur*ȸ!|HCF}ه5++t]Poc0 &8JxH{Os{SfG^I oay9Z̶ٓq-"$xPml4ǿ]X+&ŧbG]~ʚr\~hv*aIлPW6kk`zFLEFZ>*1q(As+3o|*V}=֙<,]Tb{2$# hſo/[:Rȴlp2 .pULd!Kb"W@rGr&JPR5^95*.VmogzuB'ZXh}ד3X|Gc~ |FLG6QɖR[P 3J*,պS"I܉:nRճ@^5'M ߇ٮDNо\.Zm~%B典@iF+Sb?Szp^I[ѕ+Z:Pdʚ" xq(xR|Rk+XyS\; ܵkilQY*}A{lDbRJ _oԇWc{)w<5X"p-#yMYP`e9V:i QTpN2B"P.-")X>_r`Ԙʩ5g`V‰uDoO(g'Cdc1[Zx>+2WeKr9"MN;Bpqq&pڙmT6D{uFUsG~O,tMmRF"~SFkPjN-v敗dm`EprRHER0h B\U@=ɮ*Be&픤옅YbD5OX\v hfZ)[=D}WDž(`'=m>k5) Egn%9 u|C?DqM:WTɾ/UbOEec_i<} xi[*&R3OA ?3hcW%85ͽEs^!I?rNZb4m9"i4 /,87נ@nKZ4PghJN4pe4 o #x429$`p^/M*X5uDcfjSOl 40X}$1N{w.VFy(&0sQ ݗ9/_A^ttvS+likUElZt)Ī 1K k>J 2<_3LXs;'HHu7o~X˜U*LS[]=$N5**M済O_'Ss}(Dbv\r*ƍgC RT~͔s iwH6 x&`mG({d:aNN\ʘZz"2iSpa!Rwe]'s  xx"\zBɺV ۟"21N<dwn͵OdDh8%yɹѩZzz⺈.TٌtcC ڭȸ1)6C[ ;(RRa͊d^eDUk)jI 5~Z8'Y]* Tû̶'З P~bԒc SX*5oWf@b\v)hGƽ\H' #8 1LSO{q3IJTnڹ90!a&LAqQQ^)8 Վr}۰W1ave5@5!?Y9pM 1oPoA"/CR0b[p{Uۗ݅_9DWcڮ'XYX7AD߇$qvgMayb?&}d^"½ ڀ*)Ga,|e]zA:_^N!`һ+/6]J jh<%=`7㭿%Y/ vvHixo0gKH6!O-+L.@o d'I&qp'C%>H\*PF"m=>O?vΗ/i0JHX(g~ YCi\=(=[)0(A7.hR+Q|1B)7r @+נjۏ&0"JW`]i{ ‚Pk(ŤK*ddC(Cm@! gx[da. ;K=,*_F:v2tի}/u 7@Ƈh<5څHCwzw 8m G ݌5[/ ]a;lfɕM15OKMXЋ@z^cKFE!ō.+(]TM}=)M^Y^* 'խ&N.Ƕp1Hys^kAL 1-(ʶ%RG#HFH2@oڙk`fS~%m0PٰBJF5τ t5Sڷ\Gt(b Zw{C@/&C6`pC>alٹhw6 ف91FVSnw䉮Qo!^Qˆ,[==s{9$ e^q X \h48 5X!10<-ʻ^J4Jڣ#m}YE߈=ܴޮZͶƂk \ w6sw;giӶO%#=1`ڄP& nװ$ |#0Dy)H i p_B>vaw' ;Iګ*fi\׷꿂,x.Y*>nP^<'$RG)o;hx'lc=/S*) n %m,3xź6ۉutpKPu@,G|ìzl165FcbS (Z+6FieFck[eZ##@@u=Բi:@ajdXOa ^}&M:g}ĔrYN#>OukQr!{Ľ 褩G 5˞yү:SE37Gvy͜ UlPB\~]&;GP #*\xٍͣV`BU % m ` ~"z9UÑk7 #j u^e2wvN,-wnKiߟ3 Qo2I-"ܴJt]wiY>'~dNVzueBrs{Acg<;L]X(7]H.gݭ?Ѕ"5jF2p>"Wz}^Xk5H;'5HHq8A},")ZGqy wqZGiEyڄ(][ͱh(II6%"a}6,I#@(}X﫛u#83Bn.$lC)>7Lz[J? [\;輍R+ κik\-u}͡Xɮ_|QbgD1;6fe!ٵW~ߺmw6-Ll$lqV,E [l%e<5 4.߿",zHfbc&x>9vszΡJ! (KvXx]h: ;"L[rO%]DH]d\8/w-{:Rtшңhh.LC_$h,:.dai'<|Ԁ(ԡ Kho=?ALHkMT{2ÂS0"C(P8Tf|1Iݸv3w5~CG &ˬh[=!Gf$_?; <%*>"=sğb)g^&$pfOF F;CE`4>i!81Q ӁEKo_&$cGɬ`# l#ѧ*޷DV}. \fw|ĝQOUt_5gG3|*W7@ẄZH1"3 h7 4rtx Xey^gU^qX:H3-R4Ih0Fڧ9["$o.~׈ MX K:; )u۞|<DiҾ.,vլ{4IK۔)QWbZD 7MJ<()~ʶ w>bd O v*22Bi7d@]( u@,IThm*sH]$ .>#@3Uk~3J,QfM#M5Nh&䂦 BGvEv-xͅoE}'f@t /YZQCǏN8ײpsn׾]O;2+[] /Ζ' iΡ%5؍oʧp&tw%c)C%xSYqϿ9f\@ziUHqVe& ousd"r6xOw^sB;i0N& ^A/U}e}9鐯nјLiaCm >}xeUUNtc`Gs \kv`B'4Ng)OҖ+Պ!T{,vRIBD?'bVW{ i^nmxX & ޗ~Wv#g䒰7))Y޼\jmU}˞EjAeNJgYxm%NLջc֠yF絈Pˠa ߧ1SKj-g̟<?Kq mA~j)hG &j[W$ ZΌ_U:]Q+!B0arj+ښ}KSt8,zKeZ@j^nشҙX?t@_,@'2\EưQ6lZ8Գ9&w@}j8KWQ qu+8bd ȥ,_ 3oJҠA.ȇ{a>JVˏWnSq8#?)e_='hi'`MF+ z̴w@;UK|t:# ){Kmx ՗F5뢃Wp?׿{R<,;\SpT5 Yp~3z5Db7\z qX`lj mQe=e caqg_=:Q59`܊.ԩ|ks 9>wr=F2Hi5^ rS<"9 z7-iџ*1<Č!gz~PM#Q)&XߩN[(>\0Gkn(lcx9L-%{EmEX徱i@2ީA /ub~l%0"m( # '-+DŽRhש ֟V?G矙ey/ V \iS8}KWœVuŜCyr|\@ jL Jد{h_ x/vS'd}eAyhϲT{`#4Ev^]L@tm1ƒ/"; l)g"x^J'AсYWhݝ waCޅHء@IcMT4 %^TSo/ӧE|q|5>`>3/M@>(rN#։7 $A nWk!Mi UME ܳ<B9ovģd#B@^>'UH@?Q,`QhrF s΅ԯF& y@BFTfJ;G2of(58 D U.L![/XXڸ?`"zfNww]û&8!2J(({Q=S1BjrH hV@ LPO6d^^2_TT/⢅ILz"M$CPvY$4cy $c ?38+@a@Bm[P+,&x=R{|V)܆QTL,&Hkn3R4D{V 1nFԟ8 &If0 ~}r^i<9Ai/A&6aA]Gi,6H<}΅AHMݎhoB#v4Vf7*~(g&d0Eholxb@W֐bòG(Xz]QPL8 NѝZ2J`_)́*#@Qo+3NuQz,˖ R-\7{|W@MN+z)٢: h{(4o7_hRPt`BMa#G$gjf!OTZݨ(ZaznvuZߥc8(#*|mn546.߷4|YN~Kn8at3GK'9"'fe4j71!ҭZ339`UWl{մ+!ӹYC?򄂔}%*/]%F#C3B 1-ppfnV]8ՅpsXp V܍{(8®Hu4|~&7ev- u? )!@O#뼼dLe,l8̱4@w}$:yeo7.Sʦod P?~Avykke7ܟ]Jk(&c޵Su(ij&A1>tX)4q@Eߟ(5x]IW񍫇rWJ[I^ pITz5Ei>\N4 6EqSj &_|6z.Mdl'" Xj{$5qI ET|U}my 檐8˫@qj nA@ sIROYLqP;n;i93D=ϧr%RP莒9i<|"Uxzj Iv"JD ȭHxE`Cba"4x'BPp\|Psᗭ.㊒[+Ibbk $~49{6:cg^x3ǑjgVk-x@o! ,Z?b2ǩ o.+-skkxK>G„௚՞pz`'p;ZJ ոng=?<5cكu+I|ɨ0+=040"N)[AlgA$Pٶ5%FOzΔn}J 32t2'BFnJvTRf\ȿF9u't(: -aQK_'n*E+D/v2؎A`8O͘`',H*RR4A $ߛ+>Co"3@LC\w8?|]sEYtZ!G[6 %WX`Yi%U 2SBZ4w׷Vn}% }V%]q|) Uvܻ1#[ )?W81"l/).t2:F9oPkJ+qJM'KFDFHl$?)|C@ ~ :њp( u[NHt)siQna4('k.wMt01E[|<-`cTv,;{@O>筪jFJz^YV.D&44(z:\Ya]\ o]<䒰]S="a˜Sα0c9_Eayws_#%^jzdpH@[0@z̽7cb ZhX{U%TV??)*8Hꆫ'e-3LX%rvv Y6癟7I~S I|tk*59̚TUw!uȅ-pMdW~XsG~@Y ,ԉ2ې)[Exy_xzf+M91> w IY59z%G'@pb5/0W2f*P'EJwz-~FdѢr5ĕTlxqCL- NoX<x2,O6 w}q@GSӶmu!&Pfd(G%X/1\BJRW?/xE։A8ȮnN©D@uQ}PƂə.du%d:.k^& :k k-z$׀ُ: N-*)wwK|a"9_JYW}H0UZW0MYw9sҙ Dzx:XxnkzA)w@`C戹멑PZq&.I<ќΌIs>wﰱGۥ*&5Uv=%ٽbk<}[ V4]e$1$@u+5ןHfTW晍mܫ`(Lh^;HWU+^g :bꅭ: ͶȺHۢjQ" " p|P3"_g (P'"*~zO #C$'$j \bH p $e!avg𝲟e J o0.KfhVmt |U]7lxPD >BtS-vZBE|z&O҉7T4MnsјǐC7{Wx|Z9Pܔ(2" MS]<[+Jf9[1v1![|92=G+9Peڬ`Ϡ84I\s&$8S.I = 8G&Ec8@9d1C牦&:¥󺋤>^dĹ F'f..`iͱ}bb]җl4&V_"d/FF/ː^JKNcBFnN-'{If&_4FM/sQ^P)7uN@`}Z˖Z <mMN)2oͳf16`(DjGߡ-Y0J:ϳ) }6I?LYJg|/%i |3`rR.ji@L0ށ Jgpm4@b{CpMyqS3A'@8aא\d_= 7SMZ?Gܸja #k"b0`:FgoA8|}!x|H9>5s֧V0a#FdhG=vZÇJPzY? |({L_(Z& W&%|VdTy ҭsOfݧZ46ݳ1;M>5UnZ/^w oI[#y~!D)S>n=^^<{d1$l-m>=˳E&GD5?@i`#,uY_5Xafj+Q 7҄3U pmdB6%'jAxvxf536'X)c?[?`ouh2ɔ~D2N$&PV xP=y̥"Z #$ćL)ʑIHkn_UfWrS3B6şIþp07Rρ$@-yH!$QߧW=ME62ɿ %JvCs^^"O785Jmp#ݿ*$al?y@cA/J"P3֍?I "A ߟR[ɔp@D&)RnBxIϐs[ i$@Q2 GS^^H$>4ޥJal]S[uRW^%ipm“w(>FD5&u\M;3MbV_1$"wsudM@1 mmX&Up&13L f>пh`E[O8_BϛEXZߗ_"iE Ks 7~"ٍiǜ'!"֭Z(aM<[~Pvϻ%W``|ϸq=}5CUƱZ_'DWSf)C;exd5,lNz'x`f u%(`7!n`P܌_8׫x M_ ۇaAc$<=8SyF_$R:i9Є?Z] haQr*`m8#Ns禠v"-b9&-=36|Z۫Ї. U▋ĪL{HG$TY]?u~ "Zz+J'= ~}@*Ihm OB/ĀrЧzYk,0r.LqQhehyAiE^6  S2d*^6=>/N _:5 ]%7g*1EgrD-D-@tnWn)pΎ}za2JŢW+FTU"8oJamՃ 6_88^YFUa?_2Ձ3o^ݨ(ٙ ΍ {б~䯤8d+Z૤K{˴N)v%iz=`k6j!rD5dr3 Ɩg@&xϛ.noMZޛ,6 &я'QMPs/UtD"tQAڎY_Yu 0kyHLJNK%e/5 ~cU@EWh[,mK{>F(YpNX20Tpt@} 2i4}1hhmŠ?kVV꺨3 NN{c6'BO>F.V[ȍ(p#Q9 $KvA k2~Ċ SuuHxb<FJ|.;] <5a nV:eu5ySm&oSv ݖ*Ը= ;R-}+^'hb!w^{C? Y$'hF@Kr *Ԍ=P\N1Y񪁥IiD[)/=>~!r= wɴ|77ہǙLZ>an!>߿VA"8~"̨ZME#"ɩn BpN^GΕwೇHK=5ʧy6l+r"~owofZ9y\NJ%0GdaݖˊqclM+{(_&e>K|.4% $k_؁U@ PVEc-V 1l e#,gF^PO-%]0 \<\lcK"7L YOKғ4gYhMKw5ĘWt9~å[IU_[ƭU -6K7\ ^zmmO¾zU>- 'hz,Z7 ʛi]OAt]mչ,=ن+~<؀ VQ/L'Z8Ɂ5J3dK ⼈wlӕEOZ%V+,J9h%8Cw"X+2J 4)9,֘ibiږ`ZE~)Y47ҲxY]bM v I"8v&@R41 ]/e}i\m4MXW3MdOq)! %J>4h ĥtxڐ&YW9#ś>-y%T`78b |1seۻYf#^YTmu·K-%/v# $Ɣ㏕Ąl&O|oy?`KÔՕ?j贘B{x?.T嗞 Ph 2%2^Q~*FEN`#*%ZHEjߦj+pN-'86v]S4ݮ`5 x(i =d]9+l*%Hd " /o6tPy7IطGyȣW q1#hOQ)zV4 !k@E=sIgbq>n3m FtU%{9, Fsa) Y׃bUhPsnUx?XWz*4^t=l•P\вJ -/P-.o~h7OB2Wut@zs?Vc+u+6iX`S1Ry2 ~ Gݛ"(HE`B~w>䬜]LsUhXHJ̈.Rn;t$~DJ:b`㺐 ^! 2% ~j,+U D[br}/^nLPg8nO<5̈7ZA\E8j[ \4E!=6c~UaJ:1d1Vq֒mR-ei*{WP1V>RC~ Rď\"L@JPnAk9p>MiTJ{܏$W!:1ΚB>]> ;sFv XU1pW~ 爰J/O!d/>yCVlaهܿ7u ␹x_S"fB$ac_nVh%l>W  cRsYD`&?iWGF?jZL  Pi}-WjaI?ehawWz|H( lsARY쾍M³%R̰1ҵU6h hk[凍`xMC]+>|GCxގV)T+uO6RTb$1ǎظF;ݰ2WrHXF2M0u} *&"r2> 5c*yUBLzJ4L>pİH?6|DSݟ˔">QęM]) ֶTH@Gׄm\ġ.hۘ1'@}0rqI6wjci"'XYR_P]RX@HQ8}/J+SP(1ss3EuqV@G$5挱U̾&v8*fr)`t7Zň]Zr,ĥ.q1{"™lE bj/TS¯L[)'K%Cip3 j0?@MGՀOsn騜 MW2Olĵ،Mcp2mrNȆOꪕhR(HRbY#47H5[IIdN|˔xo{+'8l xa=PgXcʏk#`4uǼQip'GJ/Gt]hIx7,k%;T\ESoɜyXQX?e{s%=dBo8+v^)ܐn/p/* eU R^U檙 /5amB\WNct%3j Haj'Nx<=>KOL?j%0X*,/m>ݹCɟ{5 D5BpD#-*U \K胐f^q]J8~Ra5ԖB4Z$9(sec w?qoΈpq)N֢B1.~c=$lbd\Ä9^23a5_f+( `n;խHl۱.MyA~JpEH>Xs9_b=oOntjQ'v#+Ws%ZR;C,OA'J,^ Hht"Fby,I<5oe&Huܟb{ChOQ3v7 N"2Rk4OSWzOoڶu /% ,d |'ql^W/%;v`W-_]L4ON9HD Ms7c B2?^%}qj-^NضhUnL\D2.75mS,g'Gh}πUI(D)QгNKyJbR}{P܁6R2D) | OcO)*AM,d;mϒ?X+u_2J\kmhJgeS8a6!~z8,?9܋^O3 v`Z5)$]kp ˗h|T*-NgJ!Bۗ"z,U2>N_·B 6ITF?NE)6ϮFjd.mo@?ZZ>V!֡&(+Udn>G T}mE-F~tq́%gvxn_j,Td , !2g' % \:!L5̘.r*BjݕxͿrSRdbwc$2Ꮱ V`EN !t"T#g͖#2`zj;a-q8.R^Vs[$6-YcB94\.|( Z$^ ܒ M_i8T*"\# fn3YK|PQbb?Q?q-Y،=Y5ڧǣ7\ݥ ,iM9#3n<{y}:m8~8J<%j-Ҟ2Wn;kټoe0O`u$Px26w7/b&585U/=3U^=?HzG]|dWɻ-ğt3~*z#:[`u& {)*+9oo|3~ļG/L32X `2r)ӄTX#:$?"tF.VHZC@u3G`3(?'?9S l憈3 H21Vi [/I %Z~YFǞβ&p|m6#vA^`0w5"\y,%`}~wlN=[ {k,?< A){%I#ӀɥPgȆ~ _ȯ,TiR9" (j|D1VSձBٚ|Ab_lGm֎. :^7^mxN8~ؚ9|&P&[Zw/ DtUw$D|cl<-_Edw@5@M㝭BC@R"b6~YUU QB[d0 v6f^wGE*Mgs 1Gs &6vwTG}fPփ'uy0b/+ 2_&5"y5{9DQ7|][9[x1B3W)iIf~_i۸A|('s B: 4Og۾nL_ ɩ1LK 6S/:PFz;=m9&ap` nOvt)Ca;oGM ] L$M4Dr5U!tX;”*Fv uœ^i%Ɏ62]ڐǥu0V0ȕ qP)^JX~C"a,*\9MAfqĽ{lہ̌pDIfd`ԇa-lPp/_)ql `sákSYlWgl:Qbl!nULЗ))DttǧI@TM'!>\NG~X7bZrT]0B5 Htz NwvPFvin oGHpͩsI;3/'iQr'+t}O{?`q%@{kQ.GzMV%Z;h U?޿';QEꏝ3gjV &O95tkjr?m n<-hn' װ/$/lWjP^%@zv`a$ {a M03O3s8P*jҺb``J EKRi84)Rt." ,+D3:[6$X4^y4$C; .J,3[&o|,>XǐKc;R­hUhƤ)7 +Vઈ T׉sb 5>ߚOŲD_K@n2u؟)MZXv^]q ;Ozg\5ua'3ӳEDX9h-v]wvz4fHte ՗Nuڜ6gH,!/vgՇRXb"R;^e^U"680i9L&(8 W4.XDnSJ1$5ZJE[h\ؕD KhʫrzQ;ql B=T(BЃYq|bvgƲR*Qk@n!^yOڴkƃAyeh]|ՁP;bڑ~b4ɑ1wHH]x9KŜTY'aS0تU;լB =V "n]/!rA qE(]l.>+kdME[D,D :൮̩KMwBñsVo`ȴq԰OMI]C6ʎX#,qwC`pֶtZt^("elHqO"aܙ&D> 0iWDy&jƌw[y71 0湧Nw|PÇOA^EC$2ݮ43oYTmrtBL'[do.7dl4[o2!H`G85"ʦYf˅E 0n}/ #Ko`~we^SЇdK(8ƺJs#s_)϶Wup5/Kdoe Lm"/J=iYRsl㭄*$M5tא|,Ll'-mtڰ2ܝbODF\`TsB5ΖGaP  8~ Oi>+T]ݹZh#!IPXzj3QѸ<)F# ~U' K Y]|5kV,)Ot}3{7lk52a6~•hF2"Z)@R:l LP4* mCl'*G^Qk0l"S>SE׾K1^فaVb7"TB#03)hrɵ܅_#˿Z VF9ϡ(P>5H1H8SL^Bw'QZFi\":2U_}\/'u=Fx|ÊMe^l[BfL8 +*㟃RzB꓂7V*DwרKFלc8<D $ӡxvY_Li# 1K5Lk%%3pS=-BmB -Vw#In,KG팆}ѼI侘EaA?ɑJ5]WG 6lP;e`'ue¬<&op [B#1ߞoW}@r*ɈEw*ȁ<;,@ /t#lH>rX: n䜽ulSܠҌyıDb4{lz2`ub$Ɉk"q f;$*ygm:T7 .@ ƒ[ /-b٧m>i Ⲙ.Lyh? "#<.`|xW}]JSV ;I3U |2 !½z()rg_E^\pU/ a[^vy&}R8\ uP:&"/]vC֎oOu :xalؽ660"SS^msI,unoWvWx˻\M5C(E2=Š@9t[-%u+Nidrx o 7GRޓ,LϞhq/t|5#SYaxC.獨 w @#qGŕDG͓ty^Ip{b@| bƷȔ{K lHuЌ&C f{Dp*x;󂓞 Z!8#_H,9>NBO{H%F,a@ ޱ/;_(Y rqܽJÝY ˮ@u.}Q9`aea/G55c}ıZiiJfi p|NվPϾnOWrxr"jX,rC^YC/Jw.˥:^}:>^v3$"Z!}k N$@;X k 0cu0SжIG8dN)8%¬ɪq1,6ofUU2YÚb"M~Zy-0ARba9%cx6wqWbBPbSjJZ]?<Ū\ E*-@0y$90v}Lt4ϼXq"ѰQq?zIW]HMsZcd xL^ ]O$eR$'wt Rh{&+gMNQ1j NYs$z!ofw¨Dت U:&)qfЈW4ċ69B,D!~ Ǽ/eqRX)gEa|ڐƶܠgl']byG4stttNJy:yjU}*$ş?Ou8.0ArE' |ҫM $gąG~tK7 xj6M{/LЉy!:LMEޢw6:=sHW}?UE78l C `l_ p2g5^T*EY(NqGTqj3=#݌d3l8')Eɠ+L;*%_0e @{(&=~9,:?n<:0[ɦlnVT/@bPwI9$I궡N6M^Ͻ]j2)E]_8-7OU]aF1w5&d"j79yr98w; jLuҐ#Crta/վ+UsJsʼM^m׎)ot6HhӤ-0z7<h7-MSїMS^dAh[iɦt{ΡVBTD[[b-910i0Rg4e1|M9DyM,[']u*{&EVpT>w ud֍͈s!*![ fGBV7ֽh7}8a eO|AaJU43?<)4Inj`Nb6(rod9p9ǾM+H:?dJmkWKFZ= @Btjn;䮝Z60NhQrߑ3?YPOÔs1g7<, ?e0%{̆N^dgHE#kMyD~}WQmo*1a 9S-OZ{7<+&CN? uEU;Q;ndfT 8yBd Z9Wt|a X1knZxO.r#|Wxikص\Eݚ吳!%<iͻ ?1>ضٚkQ`uoy5YC>'tz qϼ7WķtaU|4i~ʣ GJ &Vʟ$1#7d&C!(۪R'N$poj4Hw:,JwƐEL/RG!) sIjzV,X4]wJ1k~PXxc4UJdU49 Pǡ$M <@klJw [쫄 Yi%Ib8:\^I x{)(xԷiߕ_Cr] 5Wыֿ?=e |EYe3T-f>U#~0WO0e,&!(Ú)C?= $o cXC#)fWWqɔ`U/F6T"l/A4úo]Z{cBQNIqovANޑlf$NoFl U?^\2l'Ci^LW֔a] n4?tU;ga90b lX lԚg.Z]&H%ު s;t^K$Fٕ!\tɱvaV5㪳JD< 8ػ úMuww?Byop 'DL4pܺщUDt򙄢Z'{UUtbQ5#] ؉&TY4pzUf阫Ѣ07M~ƜI?~Q흃8x,]pJ)(7nħhUl'TxiճNNJ,k{,66 ~),m{0N\qS/1p|2ڼ#f*>w޴" Dp A=Wd].B;ѯ.F4r,K"vϤ7KS4+bѨMM r䟄m{Ɵ ggT1GlϣQ_؟Jө=W>#])Q1e.Hv#:$ŵP ˤY7$r9_(~{Nֱ׻b2G}YHZ7zj K{OmX[3޷I6;=§Y\eJ⪐[ CE8zX$ۼZX_*]I;#A>aҵ3&Iyd.F4)s+)R!4!K@TI2b w8'ӎ Yrz7A;Ҵ7"8gjځ뎙)tАz0 %fd'j{4sGiO/%¢Z`^uCj4m~B'~?pEWA9)D.Ѹ}d~'.?Ed-wԼ6= xTΤ(Tݎ43CF IY:eDqlX1dYB`8-^Wl -mH:u|!q0؈68^^`G=}+Qm/I6jovOQ[ݝsQnhMT RC@E~]j5r=R9䟓D/6աVq`ěy#1i:_bo'{(^Ԅx}uW{ϥd«rQ`8CI% MS✭kߒϙ-ZVwY;BT3UɗBFlv[U[Sjmjl2ut{n006RZ +mSt Ԁ Kg%xjVszϩ,N(H5;f? c|T_ F<2s}I+b zQ[LaPΊ-DHÄ'K ::C7?h@ۚތr|ۖ @L _0X4ᦓY`/d&`y G6sDp˰.)MjMc ]¢}bkl.!|S=!<{gڌ:>Qr'$nQV HFQZʁm6 c Oβzd:20YGܶƘ>;t硁nrc[DCa7DLNbA)gUw;u5.]?H~^kPg_AH+13뺪$Tn|AdU[3xI7'~~BV[ۡ Ԉ p/AT%ʬx#j;*FL̳a7]3`=xWك-y|rEP= M< 7.0KMr1`2h.(@gǩiy) Q'`pT0i}m9gI'.5P4R'24S|8͏{^6(F*cMbVp>A( 3jd:-t<58= n{[x rgӏ4}nyӃ̡ڵ)bkxbYf^vAdǡ10s炌5K IK-.u7^>ұƨX5w֊m 6cD2X5=B x) 5\=DEj2ɀ)ȫQ::mӬ`ś=[l*!ˉ8{@x9}=J츊wdZ0ĉάD,PSr3䬽c?#&ѯAY g0pbCxn胘vr|P7ڗyl^"i2_H XKI ih̻64 zpL&+?+HUϾ>+2͛O&&Z2AJ+$PT=*^&hc 6nOΡ(.p8[iR߫e.41ŝr$_O&2h-]Ѯ>dY ^ p"C7_|B0T坶-mF0\Yp;4lYYЃ{Nl:E.,s)05(+p|?8XOpB [u KpW\A|ACaX:.VIGwu ]-bG#Z!CE-{BFtnp a$]^wE!l\. e-x!asDabdp2IP 5VK q`OV&DC!FA!H)hKXs'jՅFN$.i諹[P):[^TeME›Tj+cH Ud9ޓI\ Ld r($('elݡ}@M A^L*7~ٿ|!Yoq*5]͗-8Bzk)H5P}= S-V)&.FZBI! &dX4@wwfD" 61\j\RD53]dO*k_53]3cH3$Z<"CF(_r{5>ラoO=3XO=Iw VZE[GBJL4PFsJͧs޶UuFl(ϔCP6 SLb}ޚ%'A!Qx{~"0:$G\z,ԓ-5@{yIx(`.byلٔ,{yJ b޷;3kBeV s€S{BRT\l/(},W6"xģM貟^镡gZL8N 2er-L#W\xK1%,>}~%^WU%*&#_#$1Cȸa{sfaJ35`q-. 4_ɤ|,PVV~GfU&ZC k<eMk.NJļ19P4=?&≶֚ 6P] kꂟ,3K*KYH1꘱4KqG8M\JЭHŽ ݨ @g@aǓ} O[ß4$u!a C?*V4,ϡԝD&[k8?y#ZB ^dGs"D< zt@uzLwS,e`$8"orPAbwPuNz~1dQ ˄"֥ u6w!> // f::o}-ډb77*g̽ڮ]B̗6d}.tSK@Um+~MPSdCP,ǣ e "z`G8pIN4nCs#:'B|XC2`pH_Dtܱ9nPe`lOAsC=R?l(!DžEFC`W @l Rlf{ }F>ҞM! {|Áʭa+6[O[`r{ 13m2JaH*zjt_Um<ׅF13N+.8ڣ;l?Cw#H| Ot?+\88Daۙ*e#G53`N Sh9ÁۦY2`~ՙ ];8`" jbD#5 fPr]zdĠd\DkHz`GƕW<&ђ.04Ft#мVג[ Q^d; @fNЗ8WpB•h A~rK6 AO?6RNZM 2ؕL(3!tpCc x*!aE\Yؑ 1X;Ӗ^Lp`Xvs1jpXd_\PkJY$-c)b;1TR|`T{s~a=#-gjV a QЩ⊪x0=!4eoߡIf N>fG>;8I(6"8* X=ys9&3$>lBg”HDO'?)D|0tv=FS'i%0]&͇eӲvI'=t(&B?Sm;7" LkWTz-u@=!*C$zNa?myunf 6h+y{5;66.!_Qg.S!$5_V{.M\ۈ$^?5Ӳݑam03xx+,:PMZݦ0 &lm't"p:e{F *=82gx>t-'dhOV|y1XRhA2x5L.JTį/[SĚ⣅fıB&*$\1c^N~Rj'1N!Qe@0GKT~ٶ8ŋ_[hFJ/` BCnj'P"EFNvZ?a &E=t<&\q7FN_;?}W]Zkfg);FA {'p]{C Y*r>I9q-OAüc P)eiNȱ dWÞ&2D4δUd~ip/MԊ䥕wKkxBWA4/PE7j/rs鵴ƠJ0J7\&粉HT2Q z8ZrҸN -$?6{hLS_*rIt\| a f"e}imT0DaW!CaWiYwLھV<"axDsD}i/GAsS$ 2{ q8*#RinoDNީѳ('=4.}1(1}+NG]XA\2'!|K[e:<:%4cx 7_ŀrqGޅ#eG* kذ#uXқ]W F j:U X)Mi;*!d ި O% (K杗@*i+=]UYNW?!}$ DkWRȰv'ol>&Nv9Vk(ʳu0M_&Q!a0"ia>r;5Q`RJlS{`zD/> u ]MNծWscciڴ6'z[h`]oI0sF{u\F<|zf:Շa^&'"bB.{;)]#_D%&l-k+ks T 9;}7bh𥨀"ؿ b:T+^NUɭCG~wzt Fqk%Iy[<X:0~P{NϖUB2z:,uK""SUoʣsJMwk/,M^\/glG*|l2 cӇqt덟DM%7p"=cN*!|܂%(d7* ~|g5fp6(ڵ1Y=y)1Uͅk5V=*0ѝĹJ*D2tV(kձWd5ͥ <_hЈw-5xaT̢ P͑)~وf+ 繨j&i܀FYbyn9Y*-pۨZ c\4ӗ`X":PnjcEj]x1ܨ=sIXa?} RGjFbO6}HYT ģWF }{h?-|_H WJtPj'pkQf ס- +#̿ĭ1ؤz~o"s&I+အCSCVY1bd6߱i(cg-ry?tTVnLҎWam*ň74 t; {BrW : y9{Ե5y32k&c'rq+}>d2DʭvW'(c8t Z k: xS.c_8Z(QCԦz`yXm8r=CAFB82Q87vAYى }y9 H%b py(S@[:C{1IN|k%hHYL.1ja;Li{, axռ.0Ff?63gWS&DFhćl7HSw*af /EN9E&Ruԥ S'( K1#I,_S7m ;{@ vOzZ0ڕc[(Ȝ]dW›ó礷ne(-S8rt&op|,FfFHz1Y+vG)<(1<k]4t:0"$y|rLk D< :4,HER*~0{ZMAOUa?l$Y wiW1 /ujߩmekT`=M_׊@AHzYa}lOIW0q a8-_39U; (ZGmŒ'rG8 ׄ-_2[[) dy/Uv՚WJ 7d2_Gtߴ"SE^ipp{9^ A88Ū%\{``u uOYnekA) imf*V%; =0) ;0/M:kʥs'DHVx72+"zoŞN#2LMX̧%v넺*PjYokO <o5y:(aN!ݸ*jr(U3udwզ} Fy{$%6R_MMϛ 7 KGRc1n1K6υF% mAёPCp=H2bId)-p*As24$'Gm(ٮV_B1rf\i)֋ wV@yW(ã|2ު&%`o,ɟxbG0q۲:%8A!4˂dDҌ?:#H頟atIfX ׬ d]kˆ-i|, LoS 0 emmwBA*G'i98^D0.J*L1$|A3f=8^C,4 ӻJ TAbGO $"xPB;kć:-!җc n3IM]nDa#!2r *q c %hx<=WM~p 0܏Qy²!a',Wr(̃b)Uかuf=ekvjXWts̲ %'O.N|#|~'J`]SulB2~}^U~X7#Ҽ"~\]jeL!c;\:wz-j*ucmQ$9[vb5@^ۥ$1 ct- YEVA hͩ1Fg*S)$ݪw?\f=qutḱ}ٞ 6At\j]'%Wp%̈ og8[ F8]3VJ6 CXùwZ*.dЏ C]]}]Ib0ºn` 9UzPlЉ]vhf\zM 'DRs` l%DgCbN}h PN ,<@vƯ `GC+;p",*~E=h4xM%@ X{#N^q+p!{2נ'g=CT44 :$e#z1MA9T z{;yp-;2?&t(ݒB=.@ 0uVnQ23N!peg1T"=^h*wIQpPOv03ƆD~2M(6ƋةD|V' L 3sfO3wXtBvJe֔>RD$1jHZ)`> >8{Ђy;bw[l(@G8r>KO4Z %fK t7)#('Wq+lS;3?!8ye^2#p1JCCU=3>e:6= q5>ze ~4'#_~" HѽT:—-Y3 0=id&3;[HN>VBU3/pe]x'F>IgOHB5+J½"cBa0kZ[AA)Akzr]@,,t:n"}ypmՖ=gc_=,>w 9^uwQV7emCpZꋦUa*i"Y]V" |q t߶ƍs+a+$ݦ1`ˑ8ߵo p ^zJ,>Q^ӝ#z Ngɠ'{kG2YԾlEye*`V9Oxů9M5}ξaVgadn媑2wi@sK䓱M g%WODӧBٌ\EL|spr:%rh]FތcDPJ5 䣛PAcqn'z/qs(Ж,H0|qRx1o0 ,CLe'$HKeb*U=:3[[(s_Y#gOqCȾJ9?l {<~ɽM*cwkV=}%ih/=ޟwM'I R)יtO/D6[0 xkأ~g*6)5륉Zv٢̫-l= dG"eG2hU f|E$,Odp M7yXYGC %sHu;n,A]/v1=? ~z tl埵08addx3(gA$[+J54׈|1|ھ>TJp;w(>\l^ݫQ&J$GJ»bpGt/>(xvVly >u@j7"?Ha?GU)RK[E 5&{ۍCOq w{$ *48CK;xqϡqG\8=v=Yu&;t˛M $b?~iD:|z!Tɦ$u ,S/]&yB^ʦfx_78vFBuYQrs)HI1eK4-:3R`DZ<_;-.Z_ؓk\wofIꮴKs@t#yt!wME\)C!ha֛ZY>sGnB;zrɮ.%TY[ah3k SLdhnJӏZt0K7Rͽppw;9](_{q{2d3)k¿qn+Rἃ5h{VaQ?hOi~q+0ް*W1LhkX,qq)^CAj(gcil6,rBG( I]~І{9EIykU$XNnoîہ_oHUVuWQE}&ց2)-qbA)pVH[L^jm){|I7Ł(!b}>/:wR0$LUEfMB:fJ 2ri;$t(!I\Y ^%/7d1XRF6gMOf20p,d:fN\;Q[`(%.rUGeݑ:v!{zE, TEsewy؍܆BZpYWl#|%hKMg mo|fIЬNmϓ Aei4~,le;ԇJEZJ W!)$~hV@MKtDkώ[ZV$WQ{<> ?,GQ?t]'8}5}I4Qa}üp\CUQ6jC>y-ItDzw@Fi0锹"V" eƂ >.;nF-"keg{ԿP~ۧm 1rG9KuAP Rf{) mkf#Fa_r(ˊh*@ PlxJTj]N*v~::K̖ߠ̆6x7Z$3K{G,63U 8jIFN5!a4:>43A *2`&>orl RM%6}!6v+Aff0վk\›ٍ|$a=gqӔqWEb9e~oЦTb%+(ێeaRp-rOE6x}o!0_57!x<9f/-@:bY?UأFiP=tS+2(q} p/. Z9kz$xZS5Fi&thŏҐo&)7d}չ։b3NK5¯Z ,MU}e1* QX`B*$H,Ivhg+--UJ﯑Onmy@rPg7ݫۡNȰ~$)]SR--i .U2=tMEۘ/rdn1k-l[\b*.Qg%4o6IrZ\bȥ(9̐ו.7YhS]Mu|\=K`u}C3LCɔ?zq]twI+ &Ig ;ۘ6M($+ܽgbq_O;:::i,PgF3S{o!2Fܲ/[D̬)Md7FZޓ7gϲ,XevV6%""I|4 bfM6LX}4ŸizM끫ROl,6~o4%#Q&r#oT=f9"X,(|+۽Ir]:XK%v-~yi<2P>T6MNﭘА⠋@7K@_Am=*4{|ߤ^^n*W fɇ65y]phQH3($&ln2דК09(2ĥvD"Go!@z&+*  frL yQ4@dwKIˣN8OR||^NGb+MxT"+M^sJsL;;V|;uMCC՗vL fhz1|0z~7_(k8sq k't溘UuJuS!x>+gFQƼn]S=Gv\qti<ܐy%!hq5i΢}>"`>@PT4ab+E0ɅmJ 1q6z)hN@ C  {/3p9n 230F~ݱ& *y؈[7<Y+ P0VԵU{kc=J@ s5B^+ =پe9 ov{T='k&Kl aH4#Z w]1ɰC 5 G!8ĩ++*$TK QDN|g!{RMʧ<n&Mb92Tt麺9Rl gtY;2/,MwIaFS hj흟.44u\ Ŝ>몛d. Вƙi6E"z']2XJC9.{(72`9a HhW;O#Zڶq!|2(+\:nЊw %C@'pmyHH}w dI57cv:7L_we=7XK,#`:#S%HgNdtW voiUqgZQ>M)m@}" WFiK$8l9d2BjYyϯRsi2I`pu7\.~|?/G7xs MCn; 'gPJÄW&2,;ѱY[ƔfA=Yu_0}_h 8OͿ]%|b҈,ýpV"HںWVs )(I lq Sؠk/lX,ةͰ]4}u'y//wLDcr|$U -hܘ@ J fC7qSn-/OMFܻߍZbڤpႹ V+&+Ȱf|mM^~Vބ3)A->~ELM@Mo[OSq,nܺ\bW1ކ<9Bg]xqsQm;4gkjotHrgbZ(M6C'3ಱbH@] .Nފd.{E>M7rj- Črea+pjOY]vG EY,e;sֳO<0Iuڽ3ORyeAib\eKkdOo>2q,:_}[ę. dp̌u}F_~_o qt:RXR'"˿a,:C-èY_y6Я!E(2ڒWLr[aJsgakNai-m19aK6Lh,m{XoH+ڪxoD@шzcˢ9E1S*:29NY.|nK8C18F=)U$RbWoع k2rOo׍z}JlE@V a(BZ&ߎ#U莄 FbUL~$-Sjf FU_ذ4Y@ɰsGh67-fѶWgyȗMY|jg3E~<>X ]_Yw1˵ċ\vtZ9|6%SoM"/l.nI$5<˃Y ^`ܾB}ieW {J(d?M''Dh<*yhӹG*àr~vY29\gάicUէA0[Bxr[[4 &6{ew~hzbw %uܵQB,?|egrbӹZtP7LQDA nfcѻTa`:R'-^҄TT%|L a8/N%FFV-V{?+̮#R'h ~vp>. GӚ$ɜ>V4BYcli0k}@3+ Dp%?]i™(e#ɪ, KJm ŘU7_n)΃l?9祒>E p4V@kvFJ&z!9 `]̞B)L!/VsӂQHc?d{ !3J텿T9Fq^ܶ!+TOyp](0_-0.a9_eޟSrYf{AM֞NcܑXR.+$KV"Y(y|9Acʍ!?#_P.tV[wvv= [ot.Y/6lDpauf5u:O*/ Y,ܿ(=Re=O_ִ1aN(czs:Н9ns $r&t:Y?lS`&O@VDiFC VYhF`RfW Q)RKI JդAnKqvnrM>4i^1.թ mlIW0?=AnJou;y(bLjO<!"?`hstؠGQ "3KX2C(+iV+iM +d5r~kdi]o>~NՄѳibr#*EjDZ3Fa D|_srӥ̎,> .ize1Rz92m-p%QAIx e81!ҿ&Ǧ+>1WxvPB sv<6ؾ!!9԰"23{ ,[(8a> TgA=w+Š&=&CeN)pM3o$:tDM_+^㬹s)gRmcE.q4xoQp F'*A6bUG6~}%%%Ǟ K~mp< ]b6k+Kb5*:jJ @V#jmmH=AIߤo2N ;H܌yKt% ]o^K&c 9wt#*R+s> hAVk<3fOirm`0;Nɏq`߫yUY[o,`黌eX)"y#ۗ(g 85)Xs]wh!"8G. p63,@D, 9q}no+ <02VF ]aaBi% 2kN3,P<_̓$) &.I|Ӛr=ȑP>91P( ?HqPhmjZ E7>$*PrcA5O МN5Feȁ"ѴC(KLM:gk mmߥ7  ZgF{h39{` n CZJ-7[V:y)zXFn^ߎGpm!9ML gfњᅱ[wPsexQ#D޼u+_ǬBZK{O.)9 œbh@'SUD$q `m7[ol6,QMʫo\)tynwls xvxAd 4zu8+ԡh ELwBBg\nS@x஘ d,'.pG4Q3Tf$ۙ 6,}j 6vZB6$Zꫩ;l:V{щ:zGIG<=,"ϐPQ>Ym?MdX$ Wlϓ]_dߨK ^Wפ whWfes6J557Bk+l~6;QP2"P'i X

    GEHɇJ%ԆL`D;5F >魛-مm(SP1jзѱzzۈj>~HFħ^ir;{@s,JoIKiiX.IqДy̦>0*Jhj>EINS/ɩðd<0 LԲ; عc1"G1&5#D'6: FuAecFnh6L׋ ;sUCsGte$N{Ȏ-U!gUv$ϝp ٧X8Eu.tya].~0 pdoόEɵJ.Ӹ3!ݏ\zg֊vLo+$vP=m<۪7'd#{t&k{w(vI[ƹa?q<1GaBʥNh/@w;Ta;~YIjK)Z(ao=ua97#@!kUV8(xK(JbFX^ȮoLw{<؀qn3"+H4R_M{ԁwǕRkH d,wī?baLp֘[~w AdlW޲ SG AБq5y|/qӋ2 ƏﱇK(}..Q\-?ͼKRګVȟZ8i4I!Z6͝Cߦ8m\ 1ΑhZu 8C>)R6 WZctjw'<Y`] [f;~[c1H0E "'⺣->zG逪@N,)ph1ظ?H8nc˽cxˣ_x47E.GbgPuBS?7Z 4cKG*[)!sv±dZI\Ʀxcvk_dh2n:1Gڽ.gi\M -ѿ ^ra{ch=:ח~ԋyUr-:c\;+dO;i>ģx]Э'ʓQa٣Lzh҆|,4DltJ g>u ROW(#eoR&/b F#[d8Cc^b&@$6d&a@8pl eM9_Lx6u;kt)"V !vȫ@iSr7AKW\W 1Jș[~bSzޣξ9Y )]ⶡ굤kO1͕DgȚZN`T "wY31*!F=y8\,naHNR#Րxw0^dvB6hM ߃ ބɫYg;)H8\z]K.|wG(F%8fKV7)_OEX 0l63Goj鉝kB9EPЗs12"Ea/-ʾ{J4#c;"!%]qT pB^p#6OUjȽ)M_+< ofLaS!lLH_eJ+ZNSUlMǰi"u0q3{;EY{bF`;H%g3!u}zVR)#uʶ7xi̭۰]]ft ,ӂD _EɝHN< 衾D7Ʀp+v|_[)3<&,+b?MI 4NGr:4R,VFG[9^J6dkTR7<2c@D8_qX :$ V⥂(&|Pf5"nkẘ!eJ9A.j4͟2욌HSd^ۚͿF*eÃ9-e;q&ѦS(G0+c"sN grC`̘!`QwzoJi/dTu] )#vdJm>6CBs#6l(5YRygs sU7} 5=!`'KM7XòhH2gDWe#)<'?ԁH4էYZqU!Y+zd(~tZ 8.xaZ^q,{+ǗX{{xϳ滀NSbdQ 8"ei7XH:k nB@gb?3ô(0 p.*B3̿> ǷQ$=CS xRiYVտ/0|@ ,3$6C90^tWhx}x++ț5תp$*^1$ ͎V+k遃CNuZ]=&4עQ sa/n$4-'r"T}ٯwq!25q E|*+O:;Eu-0sEVw@Hu)b+)!>9=@z(1 mв' IFB}Jt1)Qlj̱q]SVC`C͵d=8".߳Yء';b{"4qe?l < (٧c0 >idtUh[t<2rb8deicU^6rĊ02!#zY`isLzܶWؘ;׌F5W*kڭ~1J9Eq-ΜqeѽC"" PYiC mb#%КMtV61<T\09zu@,$\Uaʸds&`Vx R FVt_a3t R+G#}UĀ8@a40xZ6))OJ&xGXt5L(6N `ݩ|nYՠ ;ٰX)#]mW! 7)YiXslLcʘ %7)HV}lgi̵I'a|ԔAN!PLPqxhtz7oB5ӋzCjc -"#"shkR?;v{ǯퟑxwcK4#qSS] `~&8#3M gؤAZWicA$N;\Ë́0_y ϼOp\uN+8# kdЛM-T(P[ICJ(TRN`WǺ:^zy*=,]̝Iqr!#eU/6oe9ՋOV׊tDŽlqQsOL$NRaHIVK;A:.xIi.+jtraBFfkN6nOWJvA VqxScB^ˈr@Vc"E2U)u#x½5o` ]J44#ҠmI# efrɂhFcWs:qV[rsDPD\Zz1LwOaj|;G v7FdR`Pjܐ,X3ͦ̎Opq6.StvhπT[˗m`0%5sg"^&-ӄh$HUsd]3\_(odk`'[L(n;٦ϱY NM(}e;F+#+xU80 _GE&yh kRu#F+SW0TdGU(jAﬕH#Q|ST8Δ߾h*^2kWCJu]`)gMӮ559KK R:\hpH\ʍ(8եSD7싃v,s>6jp^cF57] wxl\idC3W/,C(|/lV?޹km!63?[viTP~4 Vo(9Pa363cx@p}G3qG'Ԇt\ǙL|z0;yvA7y|˦рY  L23/Uqv$es =gʛط1g\Gr~n/"Xߏn8*z0<a\+?m B)i:%;>$!lfQUoсEѢ!`#rL!ƨp suRz$ܷ;ه4!hvX +R4YKu|d=gDI廥gh*\nw|VG+F=F>Ey9U"9sH:KsN7y ǥ) U$PCTiWsKw1h-:j^<#FJ0H0>fѐ-Wo [#i>>20{dK voޒDGL!-8mʎ:Yǧh!u(|0O/s1|Բpu5P"dLJe}i z4&&6m~ٽᡪr{ يCykƚj9B3#H\io푓&KP ܡJ1DNe^"쎻cæmiE)W>8Cy꾶= f5k\LP 1IY1AY0C>Qpwaֈ闼&A\oJaW;Ez/C9^3_-œs@J![%,zX8wdW,`Z.\)S$v* lK!V ^9! $ n;T,u/Q J@r@z4Vn꿱0xKChw%$.~nY (?}ûU.$0ɷs~+NnȅJkRi߳PDUm B' Y9/Dgh}:GlƼ+C^dHqH%F 8j\IR#'+OЍqIX&9 ؒM|:u j\J`P``/0}H+'twA9q 3[4m M Θ$AGYcB_QɎ JFMnA_Za.-S yodg*~4&<6LD {AH>(J;_ӜWk6Ψ7IFR\ @9=9ҒBM6g51͢aPnۉEGٝq0cl olbPГ*9cx nє;-Dg|͞O=2`G^OMF =&>Bz̺(MW`.yvGՍ?xY*oqv3!Ú8|lZäxl/%b[*A㞻a)6\0z]#OycJHA.t{{D'Xa5I_EXaHQw, r6HI/'C7uԆ7pȜc_'32Ek0lvSu. QilhE3{bL>_;գ& # m~\s2KԾDHcK,:c*Vc'A ߉0$4c%:TZ9ZsTvmfOd5sGnpv /n%W5\(I8I[5/pXnw|-C1Ufe!GkQ6-9OXw'떊N̫:XS8)@  kM r$.Mm/D&G[xqBE*ʼnc?V7A~1Oky?`&Et"Xj ^i?QfBVDG9-n"^hLK<Єջc*WSSDO7^]ד!{u#֔gN͗lWfR }r.Z@@cޛ@|+$sĸ"'uWfϏCMn2Mf`בO|A\fb[$ADIzXl.&l!"Oa8r(ʒLخ(b: l3w@ɜGl;d&3HMr*,}r(x<O[xj ci^{VU={Ýq86;<۟2dWa{Y9{]*/n* ã [ʤ j;pͭWHq%|.kؿ[& \3hDSx$_TZ+?>5"/P U-BϚgN$%URC?v~%b%t 7+ڌo SYAz8DmQ.:炒{8XZhOX8\ mn! ?kaWl4rQ6|mȠ8"+\/%g4ߺyW4'}XmXlfbg+;[סڱ= r|/WwI" Bt9=3 9 RO~PR//Pf7\ȳ"( U +N5nژ% _]r;8Fx'-{+};a@Ȓ|!7&(NѵmY1rhMAH޲Itٯ}Ӓ7`gˋtT{qe,:ZoXKT!jNo[d2j U9R5V w!ъ3vݗ9Jq1ޗXHAj[V!=C^l!|{" h72@6b|="( 5>^ I^a=xFԆzet%1*9B͉L0넽\huel!HuL9V$jFx5v˯> t\Z?}xoO:v% I(R-,pnP{\2OFf_amfڷG4bǔ8W_ҲEX_z<ť̇D{ &?*g2KHYdiUXYU=N @ǝJ$&@q]S&,TxwܨON߅ a(-;lR:B57`C]pbZm_v0 "z?{]@MOlIO #BM.O8pOYB*)u , 9lt &A]J6r"쿛Dm'^;&wV%S\B ˋŋOҵ<w 5g%}̈́ ZdX?SoE\gNCǶW NSȘo`N91^SժVT" 0;>f79%Zfߤ.o@ B٥^] d<|a8yQ>iuix\# ʑwY@j V׿yN3>q{ fﭻUvSˠQ9v1buNρ1JM;#Ȋ$@"BP9k@Ur(`3aÕG6 f\&Ċ$ n~?kb V-Vz nYq+g2p: c2S]Lʹ^`xsb}+icy[TMxg#At ߲`cy9g&6g1c6<<q2so,ZTc1K딋WvLP{`_,169دݜDȪ^׌O1ϷH&~ $WRٛL칱:[vj1u%idsLXoWvJ0o6CDT),ȿ9#g4>+jU,\= 3\{'S_x81'J7sՐ4NG ܏&YGEiO& ͍4Ԭ{׏ \S/@[/IJVAy.@ٌAc0Ęk{SMtjd [Q4nq!& ac'Q=h1vlë*rU5Eq~"=,0FUf4:~Tg[ǕJ\Jl68maE9C.FM4"!!Ih'tifHu g?*ީvYa-?i4 f\/"#nc?"DW! H/z֯t [P@|)E.ET?~7O>*+ѵp=kh7Fhh9{3 #̟!&&n͓ EmkȾ919O+>$QGzJbZiD>Je?[_K рp(xb(Nˁ1YQJd lX0[L,@MLPհ#Gg=c4vںZj譱,Q?!"_߮vN]l؇t0-a^lfl-|BeܮNK ;l }koCF.hhH/\J#[m1&;(wkN {DQSX|f=?GO(A>=/2Ue:P'ݑZ I,b%;Գ># \p<X R/:<1eP$'c)'؟O7 o;K{B"<%ŕ>q[x7E3= :˻ 1潵Dݲ0 ߽ZZ#"hBe98G6V .G>S^{H6Kn\BNELx- B༲b !n|Php.|wV6^]RilY_L/7VY4aMYHS,b`̻mSmom=D}4 d&J,ՈUpX`vWeupZCa:թ ~6D줰v[!ͲXXʌMW5*ZjzlC|{&uem\9|8 A 0*q@ Ԏ " DwiԾU(:##4E~1ȔQ}}ߵgqys]1a-r+aw+ :(gcCɊe'ŴLl1]M[[wȸn<(qeYy⡑[;*h=КaF_ba-(`*8,d$χđ9r)^aB ONi~rč ˼ /97ĸ,/"}>\j3ȃm!D?oYk˲S|C{1;m+F=^+z*R ' ceCRfe@_٩jA 'ӥ.j{t\eK T Uh"} YHt ~ HWzjwUyO&u*w{wsD9e4R/y皑sHR練 z8|"[P}"l¥?t&(D3ǽ(6ls"Z %C#X0>פ`t'wJ!/I0=tjy|6Ta??6?flesL~  QQB}"54bHۗmԫęj"QwKF%Y??]^L#}iuP?%G+f Ź-dQ`h,P&o\0(A.o+ĸǥ&0iA?^tőpwR0]ċѿPk2|BuA AE7z-xU,@U=X|rIAQ 0K$PL*Z8ؗ6!ʉW9>j*UΆ~ۙ^A?8`Y z, g:.o@kNAfHn?'U+?-U>5OKON#@$ -D 'Ys  kˆ-zE$\;#OFx^=%ihş)Q4x`l06Ya(hW*hƳC3O/4kQEg=h+}+6y}8M6z&Q@x:tTy%پloH MK^9#9d5!EQd\[t>83R?l+z0܇6|Ŭ@mJ8N: .0C9#ggAF{fǯ(0|+14gРv"`ʚ-x 9J%nr(G/&=ypH{P#<-༯ }%E6j?,yh#YTBU0v`[͈o _K|Ba I] ̔%]"4_4*Ɏ Jȁ@t5dHA|ԫ}3PZHM=yVϓ"ΗWc!蓝]7ǎKֶud́RZkyQ)w\((oddN(dQBE:A $ubH 5RH<!3&Aޏy=nk}jSDz^8~eaBOO΂RTN{p%r[Ռ [I| _,qpK =Iu& d$b<\\A]܆,GTR~B U|BAcZ;ߤ:rJ Hrd?s'KtԧHƍTj,H1ɋŔ>g SCn)/8:Rf:̙=POsVics5)hHE6O#=৶'=ʬm!žR72'jOĎ;0,Sӂ LS@`^]&V>8(r.'ZT cM~\9b,HC<\'i|K[Bϕh"*} 퐩},U" 2+AjK %W\8(o}?:j|hME"0p[g^W2FO,=J?,Kμۏ6=1!QZ~Ҷ ˲Bͱߣ1!,] :,E8JLskH=qR+0KW~KA{yڷsMר3lHy(xљSɷCWzd^beLP:w$0hb#"yO4z+ߚ%vȋ&91Fp.ٚ]/  s 7h\G0KLbK99T1ϕ`:@^O-9jrG_J^k8M9\SaFJґ%`Qe!:({=Y" ...f 4tXTXg8Ä&I-(le.i\w ˍbY1d]$+US0 ȠStMf><`lE7R7+hgl\CЯa ,NM,1 Z'Ʈ8ַ1*Gio5KC6z6OzPM?i\㞟2Nf2*(Qљt M4ωU.K$eOH! dPwv}D[gVmk+j"99cwQm1u4T|HigLk 9۶QlPT*D*M'-g##vCޑRZ%BlClx q Glufm*{ EԖ݄WSq]Nzn|ܼI^U=0L ^x99$Sp6@P}&䎪*\lV>:rPYsu--D*u[p|yu'XfSB) b?-a9݄aRzqϞʮR jZGl.%_+G`oǗ^KΡb1`I%y?#63 Etgb7. 2LDƪNfS??zrdDXgwuvg``}- k;;1 >݋[ 팹컑U;#v:ex֜W ء?O#jЄ̰w ;!),u7*r?e^UC?K_XZ:]]}EV.Ʉci8?Q }=dbo@PUc%CCWY }u=' 0\mHF#QQ]qymeBX4#G'UgE {a\UW?Ӻ/yTP$%˙Me'wұ< OƓFa}mB-!R=*(JsSX:N'[.*L-TxuAcpJZ:(ȟ`& ad3N\t9} B{<=ZqEJna/5$%+An',\VgS=WrYʘA+̸%3`=2V{mj|Kݠ7R*.:<j}8vpU724 I@|﷛atK˸3իAGA?|1) r)ĩ>tƶq]\L0Qhכ:,}Y\U6o# 4=Z4~iyt)uy.EvҋGIXZh"+Ub _dW@GʐY޲REТSlM6|HX[B:NWŷP>v8V(k8$rUGvrGWV@T/\ %A YC@@ t&$> k,[PP*EPJbQ%& X۶E Fjq UQ٠wq|`T}ǷR>3ϻ!U^y榼J3HbO_3d.NپPgϔ6wrʎ9tϤK1ŶJFe$BTI, amaSS7>'Ż>X^&jJ 4 &gh oy%8gV9|ҘxR[zSL'Slъ-6Vgu2ۿdH zvADߥ+ȧTV()t"(xuAZgP0MpGzvCWm~La]rDi&XTL^g3 dhq4&=%:Pu,GՠgR>p Vq@'\s1\hY:6iuhBX.M03"ՠV_,dF]O#^"hmnF.33f2QpXnɤ\0z>+fR۶bFuٌ-<)jryX 9ZT JKX/.>:A|M>X0IϢ?+ѱ2F[Gei"ľvǨ* $砞ekmM{eRQp'~Ō=ލœ0I镗]x^:^owJ.1ߔRc<Ψ=#n.U}kb]MG􍍭oy1fY+dq3B3L>9oH/f ֓pn1q~3^/ow{8Py CUeOD2KAӥ#A8 U.D_=; jj,Uș,k%>4OKQj ʁS3:H![輊op$#L.=q[66X9Bwpx}lRE8M%ɰfR^xsp:](krCJGٜz%3U2w gsZnzOGc)W6CHf/di-5GDAB[N.; ]X5~;kTMuXdVnTJ+4 |0z\gM`Uan6s}$Ű bLwq#b3F? AiԒrNW6se+Xie&فF9rnϒ ZKhČ͟ 0aT,r 3-fz6$gB( /Ѱf_*DΝ!I(Vưw!Rf䨈@ީG[r{VRMI<3oYuŁYe3^so e_.Ah63"YT 1քQ6iF mjmӵ$>A|1VM\UÈBtU>V˛.OqI1 y ;!/®%BJd.[`JÆv*39@~Ruk:\ uzȐ\i\h V̄PE(3EdaI1 xKǩbcy'FfZ+e{%a!eQ`4r3Eq0Gѝaʮͪ$6Ȓ~qmC=\T˷)+ [ Ž3A=jxۊ>H bLN%UOE^DwpO}X58 n<*{ګ,{Zň̖1ˆ$Ւa)[CQՋ)PWFhW*~pԘNYL""3b){d*C_,Ud[i/tu2C9jÚƴ*kohs{j`Wz٩M8i h1`:D~r#̐1W!ђ&'T̼1J7 U|Ĝ6ˆYe#G;m/qKE]]H=,Ъ(1(l#U;!3n3-_$$-R>塧}J˓xJk~'ٝ0`묥q/qulcJm;ObIӍy-ش,eƲIpt#Al\/TEGM/~x31ChJ]>W)+A~K3WυkyHbf =I3l JֳcͰ<PYl1t1&3*xMfrOXnvm@E޲zs:y0cȬ2&R[A 0k,D[rX1bk )R;{x7 `* 7W~KO:#QX,m\SïWJkPWFY DOqksy Ӊ=z8N?9w;ùvƆ%zEG[y="79 }gEAs5:-Z{y7L@7W/]/[bD' Æc WS f2glBUЪ~I\)cb@C4ssotܳvabJӀha DžT,=[ڊA f4 䪿>&5uv3?[WL|Mk:lD84f]|,p)A4c3=  **W mӴB4-qz4x:ev_Xr=uEUh/ZJ|uW, gm]#P )/BN:( 㥇ջB(I*xzXPK"V!{ +N5/;ZX~GR &YǕY1K,-\<ݫ*CA1q@؊iʖ=]Pъ #K@N0C9ZBBVRC Ǣ2kTϥK[\hKRi5kq!m"*f?4+p1h._5rnASITr"Cî V:TI]H&M>$H:X՞:pDlKelE=axXL*'no0@BvS7';[6( ( 3m^2Qz4E:WCi2O%zfY=L[ \a&UETyM2-zzTAig_<8r_$wmj*BlF^u1l9Œma"}4uK_su6K>␴}Z=?9 jL<"00Hsor~hˋMZָWYg穚Br>;R9݋=$Xhq;执TVS$D>R忴chbzpw.T-8KEmLSζKKgU(YH%8y$_?UnHĺ 1&v&[8)uI#) o`m#,N2aae9ezЏ<+pt[UƟ}+gj+54 ߮f7hTڛo| {ZT{Kz,+<͙d 8U4o'%EH\-3H+eNSXE^e~+N'ow$uy9JxC7&@fp,;ccbmّ=;"r@I&i1! @ ca*=NMπ+}dс}@jrURS@p)38)EpuE,4g$S69xᾢ+A*UIc&J7Kp}%#[vY z|!zK !&vm㉓PǨFf!hEQ{@ا ﯦ5dAFE7kU;c!N]_Dz&W݊^,B5:#·d(H9]JA.0y}ͭI'gV;+/Uk{nbx,=5o!.jYq?"R: ykx 1cg>/;Sඹ3' ?O[2maEiZY6ҡ8J恠\]t.1q1tUE]%:˸Vw2Ӿ:K}/qWs0B+a$u.IBdmW* WSrR]H:d-k߲=epI>RIYrڨ ^j2mfȵİR*V1s􌭧6tY\m=S*7ۉn"Lu#_ R7?mQ7o׷Z#VᄭFcNO)d#t{nZY\Z|JQŁ3f6lFKrw5ÍsmңT;/!:|6@c60({vSc=;4C"6>@%V2<ݫwxj7bmђ(ݽ4! _hH,6yb9nƦy -q>O m3@G7Bn k $rl3(Zck9lz%bT,QrI\1x?b?S?=֘H\cA!~e$[-n@YpqZLQKۖn0"P)ޫ6{DB"I#k|ـX"T1;/1/,&0Oŧ4v,I5f8!UU<,U JZ=DPb?̹=~pqB [pGtV1+anT$%}snw&G5}_?쳫L^F2 S{ *b-mgC{PO؈8 JQѐR/j ˄9wLE]mU mZ7!mLRGL`L$Qs?>@anh؜|-f9i#{lJeo܎-ODԓ 5S/?WB`B! v6Ppbz/yN͹ hre7Õ C %ME[__˦䠪y| ~ C7P k d/Ȧ#'EbQ$,AA*gi  ː8; V3 *`}.C 8iڵA.!J6JUPbυqY2AT?p5h]24 \DfQ 4/%x fwgd%1*}$zFqcy L #B³X$I(4xSBU< "3 y|Wzͦ͠Npy.Z?n+J煰#_ts*A)3e'ٱ)۵Z\m `yÕ}!ByOC$ٌ&c?O1V4K. Q%knSz<폞ŕeJJ*#-uV02潺h¤^x݁SjK4:k,Rt@hikǽ 08ҬκCETZ8%vNП7 $G%'"-R{yyo̫jE4*]d8.!#I:M)V~w܃+ɬZHInnQ5||!]s k%c5eء]1c6@lG[L;!ӇƯ>]Dй>9\bE)4l*ݣR/cV6Y,<_r?[^++f~N5"cv}<3¦&=1C#GW 0I[K8!/!b)_{ب^rvg}&ӿC[?xr4^,u/PS^*ɳj@8-do[piQ~w $ %WS LrԊѣA:36Ǘaz7٨Kl3߉@ϻH%A(Ѿ*M5-RaMxG1Xa>,VV"#7 |o mnM6,LW}̾ ~̬?"ywMRR%߮ :idy{ݞKmYj`2'DHȚh^u3u_e.mLKǥ :f{sr,Z =h${\10xCEP'Z='_V"匢՘Bec3O 6´ݦ}iHrp J S \$  Xu펊S,h_H%%+2 PpDrm2` |v `06YQzbj'J;@oP`17_nc&'X%rr}w:g+l2QޫCZ )\?ECU4 %Cd75]xBB"_o)o]tsɜBYPS :Fļ<5H|ΚRZz ´ #ItW=ݲ(o^Gl#CD$/Gngi)TyB X'fRABoXwy'Ţ΋Q 뜵Tźg00e̼[%^f'7cҐI֊¾ ! v,\>f z w.E(YaY@ 9΄*]TTQP@ȍԗHoe)J= |NE3R|d夆m"4MtRpn#ҝeڢU7}v-/8&sBSe?i ^l?-CkeO_@eE M''dH/eM ,,8Sjz)¦o$O4ݹdJuhuZTڀ =fP$v99&n_PPZڗ 㦟KXisH~}kGsa;4՝7,F#0DZIF Q[a"c/s/9ޖbme)M8}A-MwE@<§Գox ΡqjE}ޑ8@,Ȩbl< vZFQCeg)s^oN|Kd`PJf)xf(@5/u?KeK \ImKd$t_?y)Iٖ|zqc&TfgR T]Sf׌Ǻ~{l)ڶNTMEC4@h p]|}gCO#97RLl@2aj{ 8&FL6<_7kY,\*ͽe)/v{]gnnũ j%- ]s5#\al9@[[ؙ>:g`E)fo/ـaR}z"9T}!π:nǗw5p9;YȘ-A2 5ҹzAgmW7@B&R9D Quãt` opL}lB 5L/K*rZv S hzL Nq_DtKK!잏'v?mC {:7=Ɛ E xh!@rxC6+_2~#Z1C`2t.Hzr~ZПq9P^䬧.o\2 4&C ;-M #ekXz͒tL@9s#Q;Kz|{b *x9ת&rCAT6r@{9IJ8){pqY:W˱$q$iB\]PWStX*d똲J0`uv)UB87J|[ U#8jd [ +?|"m5U ɪÿ!2 ҟ=:Agwv)lHNk-zDp;3 ʋEvRݢMخGUMGb zZ?Xݶslr 5f:N"@D~-;/q^ф9Ċ hX-=Њ&ƃ8[[B)@zIAAQE`'a'cOݠ[-ῇ[@-n(ZKÃ̆s.O՗,X Um_"%,g]Y%J1=<i.ǥn됯lF-7@@/\ ufutNw7tp+DC"m \liMx6TE](wv_^Ue-V?":pjiGXf[;B]].wcNHkL 1b۸izt֑ϪN$+|m!M.'nIWx.\v5FU/}Km{E;h_v3Vz}m,u}L*zA4@ jhoC)u1:ѻiI&xoMwRA렰_MDA0}>N,øqiS)iSKbm 7yVp"讐ny|cHID|ykw6krWkYYnrab%\]pBoFb*%F$nu ;v[Sfpjz\0;HY* po> J}0Tt~z h\/;i{4N 2z X3YYƐLCpgAs6sC绤 ‘j3b^G_&(p4<1PIO[ئp)nӥr[zy*5(֮bGM{aٰG "+xvL)9. $|8w#0솯ٕB5y|ap)Ij,q;~iTni~Q2 O2Tzk1}aALbKE fy2@ B~R)x4kB71fwK=ua-#~0m+֧7cʹu F~3ʃ)c6A__}bM P5fgHspZG'lhr/^Y4D&M^쮇+ /fZ|Wo'k5d#\ %-}/A&F̠/$0=@m0C7K)>Ug9w:P_*W>jkXŝagq1UFظWN9j~trJ@^؟flrٶumҔPw[S!vqhhC!@$]U0|M3o( l`nlm#lTzʖIM?ޫ(``@dyT6K!w?ʙտ<:=[OH,ĦԤSVQ[d8oUiBr'h)4[p$؋ZZ?x7áv. @T_g^ /,q99:;)Y@1%To4=B'9dx9b8DE4Ddy@QNyVƂuK7:P.+(r 5pa{*d\\/}qyMQhuK B#'22zWcTPX yOyθuιjcJ}nXS\v'# @t&մ12hO_]Rgzn5kF;qP\TF.[YRAb->yf Bk93% .^s J}ɧa\f׻O^R[XhqMӏOOV.w i~`|r%Ny-AM"СT% 5s#80>2-:( z-(0d!ϨVtݱG BKt Fp7]j|ōl0^*+x钀: ~]+VtW?ÆE#2su)E#mZU?/X!]ڬ 8ջؤ*l7 ?)'"5 a-oݜՍC eW~þC$;sG;,!P_ݾ-Cۮ+VnA?@;j˱[),_Xoc̵\~泪oX ơ,q&EuLbȀ +68s5wڋUnQR} $ٱ,6:(M:Tt3N:=ՔKܢ6:憙М銭?p[@#5X )J\#yfWuCt$$1I:<3-d;"O3EʲmLh7p)9Qm0C&`% j᛫swZ/ ?R-n4R>1#%+Ւkۓ̫5)mKE?8#HvHI/(:iE9aJuFu% 4آr3OmH~CT6š`w5-+^.@W%S$J'Ƿ?DGDKitp綱},ȯ!.+K@Zxx8/ t|b7erW#2`[Yc g +&$3{\J9Hc7_\".ĜZ"( hqfYpw͒'#B3V0j"B"vTߋآDgKwݬp`B6EQc՗~ ?Ҥs}b2봕x@$].@?]h"SHk 0:&˃&FK-wȬb.т4؏O{W8(LOjJ+#vҢL\bqIqK EI'v񁈟z4X.g0A$}>ϺT,P?fv#'Nx4x6{>FTRo8 6(sh_RJjgce,L_fSF+ڿC{%n09n9/Gu 9|>pbSm!7=Fœ?$ba0d}~o1ҡR؉5pZKN;kNeyKƩl0H59"f2T egT09Md

    .bjH}KS >o4K}t%&'<˽JEgDM@:,Bӟ"T~)?h+< 7[b z%etc }kĊ]Iw_Cfy7mRRR'v Sk#"HC E?]bY>86lf1@d;TJ ^qNG4 h@yTa^xd"VXk=DIsFJE e^=_嵮\^K(!uVlTE'%4<*# b,KM4~K5>e/ 4h/NC%>3D"c_BAAB~VYs~ͧIZm{:3,b6%'; ?0?qoMYz6DGȗʦjA}jϓ2o8*5$&|B2O:̽/rL1LGiITS2QwPSTmO4Rm;ok?AcE!*7fEbf|yl$\W)A@&u`l)NO!a?aZзu. f7qq-F?f`-fYK;ڃLe 9,HRXH@&3ͮQ Ѫ 9Q31+`кA?Yv7H ?e쵫+rph?Oʊ K$yuX~u@,JN(ЙGWq=G/OaФc~ _լ͔@>bk$gmQ1-*g`j(}_=N +BB,K#JFtZu̺wPV;U h-bj0Z7"`<"PדϘڷ[ynDH qN,,![\JMSUӢ{69x\ :G,@MOM3: ]XuR_& F6X3cY`la%ѫWx]8 p+={w$iaR ]&aO}#"|(02-03ؾ$Og[?ZW5xF] }S ҊR#=cߥT'<oՊoX4guf/;.ϊbJp|ul|z:Ns$*, L+xj%~(=jWWqc/XJbWB*tffNҤ]ݥ 5/K5`i}bv6iq&dᮯ0Ѻ5=`h"$ اW;tyj#  Cj7SPó bM"ZT׀[J5kzC@PBVH<s-pr@hz:gF6J [i#&IGBM-xA٤]i[AfB 4 Ի`/%YŢreVyT(;uDA6Pˀ)^zSf DT@1:$ XiM #UԽQp{5 [(4:σfoQ?"@JZ弰 J +wkdXbUP<(lb@2(OzyiMjjXD NWkL?W{qoDԑ%44BwSe_خ!(Ҽw/!(:1D3B^hF"If1Ӹ054kqx3V*kcS;Q*] M qmb +3عFX_ut!HV hn!BAt Bs &>7V >jG9To m'r'hs*Ԧk,;>z;ǡݞIUf@BGՃÍбxp@Fn&z;V#p{ k.pYLPA,s LZ9!h6UսGֹt4DIY˫9FaN/n ɽ)Ep!9 ɆyN6vK,ΌЉj: !Ʋ"Qv潜ey>msuksl>AX9IjI]jd[XhЉ24.pzÙ?Y:|t RRN&ޜ4ex;+U_¥0W$1Sǚ0d`%߫œV%^I-fKS2防<]* ֠#7oEd+>ľ)cA,:U(`UAp"GpQ z0!qmƃR=H PYrSѣfʱ?E>@ցya яHU.Qz_{' QfmZX3py{kmc(Ah5#Z((FE^-7 .e6^ف-`' N~1(2f3J!u2r_ Y׶ p4#9z"NΓ-w;\&tڶs):Lq񐝅c 0Lb㧨*QP[N"ONI&~$+}T6yU 4ʏ 3 jRːh>1"H,9ۯ_uV^u⽳Y.de-ZSceN xLM֎*osטQ=UbCVu_XV[=O pHgݗVp 9f{>6 A5fC%> [$>xL-xfDKoc^{-(8YdB$䄰dc1\/ b1 I' f{扌pܚ[] UŽ7l:|>4ЉG;%Yk3VUyB:u8v'a8eF9_־ Gc=ۧgs%LY!D9'[r ~ )kᄼH#(O0SEwGs}Qؤk8&3aFeM$VI{!O ^uZ-uDA#]O}T\ +Cns4x9AeIIBڜ/&SrgҥXv=ɂ&U8iOI&7 zW[F ꞎǥ +%3B@M iBWCNV9uK٧vNX2Uy-}lS3DJf0'NٓBGĤCώֽ= ALdq} c,Tlتg5@Zw5" ѧdaS%n~ #Jٙwks rPjo0amJ>e :؎$HR[)1қfrE58I)+Wq~,]Ale'L*'adg;` B="u)7'%Pd.}b_i](";URNIjJ!ccdA:.̸Y,KEusK'#(! .2^?Q$ØYI`\4"'z b~mi_ fLo\Vj#78Z2sF!Q&;Yr̔M/K޼͐|/Γ b*e^_jRY_{=Fk#;UZ45uuP}p$ZyNgWMd^TxD"3H@j"R1!Guढ /GLP%-Ml$ћ3Ȭ9_Qg0͙y6N3b(. b6cd%tzq;Cyj4|KgktCK?}UG4<.x3ߟu\@ډɸ:Oi/26Zv>+830?"[D4VւuՄiT}lėZt Զrȯ#(wp$Z+s+ϓ銷K j;&|tP߲ F"ߜD_^qB5^!3p &:7WbsSԃV.l~H]riR#!*EgAwkD').oq^QsLl,41xgGTHlD~w>VD0gTywH-[>T¾8 Xm{&6絳 9~&6qOF74 737@wlO1ۋZHU:v\bVZ0D*UyDF~rPjVU>hJ&Թ;PS65p<,eut+tSN=ua3Zm;G{XIN4TCُ/t!kaU _ ^ǢX.֡߶ ʏ*[K;0ţqj]`ԥ$s^f³*8u-'ȲfnF/ΨB2Z߫N<ͧ|Jv*\j A( ]"'/fgPA6Dӊ%DsleG\*,^$Qה_F=PF˘l\hn%}Gg T0.I90IZsg`z1&XpS2&Y9en^ )_&?) ˤth Ovy˗dB9^~cu>EzAXxqc99wXbDs|Hܠt,{m0#8Čo m裨 Q%&ѫah54-/d9Ć<,I zgN߅0`x\l )b* *Ͱ '&4 d*+ыP"?Ad#^"7dȡN1yX<Ӊ_@Dz7h'$  im-•\֋P,5eé`Q"n)O&N4䊩)JW[t/`" uYXtx^fG`R''Qѫ^yvJ?>Xq?&z;(U8S#<nk XhhN/:H@rC£eHFVgx+JryVvt~Id))4PX:SSYsH:7ҊX|ٿx0DCI@ױ 34$}PBB/ȷEJwkmy#9kM#WKbE5U.Ȥ=GS  %MJqֹЗ5` 9ѧD@5ӿ3- ,= Һ 0G d P{K\H1HiI5!2opTₖdA^Eٰ]!x!/\S"XB֭IdЎ^v9cnٝn0'sxL]6~^9v6G6HΦm6{S^gNǞ{a787y({)ui-;C)J.FŒԻ>F\_3eK{v.aOZɾM:ہZ-+dMuRw·zeM2_6wYZ{sI\#e?:PJձ r=?W%+`vKW's3P4f'oC3V8[ݘL{=8^Ԇ, nĆw= `OZ6%Ly$oQpHDP\2YWeMOzn )4ɮyIn T?N³2I:eԔنM1ǣN1C/&el2˨3:Lsˆl^iO㤃>A6dݤ:U*@>t}1޴u1KiߴܺM ?_ OV%\D v*_w"͇\Jtԉ!],N $/mhy=It#kPoƶ_ CXGI &h|}BۯBF gxF[I}6 "l >ڗW<\y#F\ ܯt/s/.b6o'[h| T3,u.HҔrW~HHKSnJydk::BO%1 Or|ۖׯNVݯ]f$i Dq iz0GTG*d"B{suƵFz%<|D{kS& %Í/5 2R XUFI}ۈm{(,]|uؙeYk.pBr:%JBfwRSsȿ3!WgZ= H\/8@`Mz 6h`!} jpk?SӶV!V| {sI|X$oOU2u"-}[#oxA4N)"7-MO5&@'1A%5fSv_-->y>;ȶgw2! &Ep8钶_才a- Ԥ}.1 BKxЁ?R( 3 ocv IGBX!n`\:Ҫ荁ҌRIк[=XiarBް]䥓y7N()Py-;JVwSXfބ)Ks"ƪC<]mĻP/xOvR+H}1v%d0~guK0Zf%oYw_ )Rf~Z5 èOye;YRHx,GF Z" Sd~.|1#Sj/JKt:2-h.+* )-nxN@||+mc%wߡ"(NÓF,7^Z;@K:8!O4GIh,gk %tT6hD^]KvFIFuP;C}A-Rw\7+S)`{h(*#׮mJ> 3Zs"1l}ŹCb,k$.z: z~r%8: E0Wj #ze%+XMa@k# vm2 K~KέƂgC YXRE);+?\~C{AonR6NHe瓥3Fe12v>c_xl-?d݆d4L9/l%^B. bp8Q y]Y.ߣq5uyߔ,6LNS2[tJ-eϻLfZjpI9\2}a iJ5pL? pчW4>6Hai# Jnc VS`)yFÜbQa2ggRA-im.uGj|䅼qwH+=֢'z 8X@P\*8G4kq<B_"<`y+VKàG*TAOZ m}d"9:%S)x_ "4Op*θ;7IڥNZz1ER>aBR0rtq#}&@!?<63xmzW:j&xV4'_ _qnr|Yl5ܳqH5ԛi[U#ʘcX-Qljt|$Խ|hr66gsghŁrg2R3)5mkk6oQT@*N%GWޔ7w_,̅4~Cc8%aw^'6az86Eed]@w|}i]aFd-̻ 0D aCUM7td4GN|`_]xY/>}xg p0H]HJ[o-Ds9Tdp-HH|S?F}NW^Poh|)".JC`&"T&|w#[u4!>b`b)<#,h$I><8c]AS" &˸>=r'H{HşCjnEZcQq5HOhGDqM$vŘ44a^!qeA"?.\Ce$L'%C0E[N5 6V. v8<G[fZ; ԢC~=*f A#Y1|(C UX Sf;ӕԼ7KQ<'3WZsz`8*JGux K)ąw.ڒu{@ CMQ-ԿaZPh5*&sF@#?s䩿,k~Bl7^~GT2Ņ 3 M:Xje8JV2 nX^FdRH./kNK51(Qe 1 p<^J0Vdlۦ=/BIDg< BA+$ecH~q1GU;]Z6}eQvaS`O[^&4]|=똱- z(A٣)эOkqGKK5YQb_m0`<}dAm 5<{!!_L8U*!z\3|O)G%`d֫LVӎRߔ#-lcQǑ\kDHR&*(;Ml.sy0[*iރӯ0HRィa ?va#"4%{?IwC'>)#k Ʃ! Kr.N>8V j5GfFy`^{$jA+wC`|Z"nkS6DW,ۯJy\{z-5Vr̙pOWI˨Ya|e-Q Bs I'3?fP;I@{^8qTDh@d%f Vyc!k8tV.>؍iQ_!6Gbs usWJR++fQPE+U['UmyQz-{T 1:h_X﵈$JFh(~?4ELf+kc2k ÁiՍgF3 vm>4?^t_Kd}l&!~B!ɠa۹ Rؕp~ΑK/mS%ѣ *m=ؽReQ9M^uXWlhb1Q6tSYA>wzf0OI,]'K 4( jլ-\%+y6T7Xd+-!hR,EmwVIpD 'AqԜ?;6Ңt%w"#cq&5ovX>K+pk6wsRnZi #dOj-jcm,JNETL"؉әfJWw\Nh4Ne,>cBН["tta4 K*@$ŦS`UYɱg>Pu oO>DAP5L}ɵ72q8?@k{!{,,:YWrMȿmBj^ ޚRY p<"vtٽjn4{bIsD,92<. dC ;${xj71 >vjT3D/d8~6aN\3f)M|!8tJjr{pc AQՠV%ʡpr}UGm~W rPfti>(뱬q?θߥYI~#Kc(-ƹ 3W {Q\;N47!5`ΈQ>"y bhZl;uOx@ty3Aۀ ũ/1qD`qp=S.iXm({ȃ.*Jf,dROJL?15zZCR´Rي]jJTNBj;N?/ic `KG" /N BGԱmd,|6~m0G.D)YҳĢ0KW+֩Z^2\S@*7wI^]C3u8_)l~zjZtMPnzKLܧ4rЏ>5 c- c;E +8R1ĕ-e.c,}?kzuf Z]˾HܬQhow :ogN7&Y׫$ OS%@dA"gM"jc&Ŭn㊙UA;ΫL!]>f ަ@ޟdtjG}k5BY qDHO&`WJV=ٛƍ}tʈvtۧROO_EZ\}vw0U]++>'P~a{`{q3J֩+>s$[[G/4F*WU>GPǮ*tFw}QB$FXa;qBKѪbkR}_ %E/ t/ʼnmWCc<p@K{dV0}ušr</?>vaa$j )i,9 J. DΐtU#z+PRc,d{k"aY "bQU݊rbb_AK N7~Ѿ f@VX IՏ$k΁P$#zg,E u0+W)V[,uĞ@W9*H7Е8^ foB,Ϭ6qxl,:'MMq0Efe=&ݔ?xmbZ/UѸاk&^]sݣ8]~5B Z rs^l@)SQKcնb9ԧTB(hqMY Qиps&FEWX^];sb9_d͎{%Pgi56/SrD{ˏ)AJ}d7rx=#;02U|BPXO #UM_n5z[qo.((8o%@Q`2Fl;8O4䆌!u5?RQe(3v zbK0N-N$u?C# 7u8TA8}ThC#p8=̻Kw2o$-:1aMXb*I͆[" QWc1tAf%C!5Rn6ADw)"+8gk:AS؞ {1w> -\ϫ N1i@-dUbJٓ鴦D")H-,.k:\ S8&=lL%ALk^vEsKGZS{uA:#RĝDq`f|?) mnQ.xŞ<4l܅>}`} !@)v*EC - E\i t*V*or86Z߷mShR /leu܁_BA  | IvBE+$0XTCzwFl+#HTہ9:p=YPZaYEt{)!z|U5/gqxRܡ"ȷGqޙWm?^HD8N`fɀ8Vz&'R$ԾY5Pf}&BMxlýfW"Гa,*Bf?R-Xd+{ʽMۻOzwG ivy v76AywJireQsdzV _d'AբoL5;S{L|y}ZKrkI 9΄>*;$ 2 dP@9>^Lըs56t_՚K Xbk'lcu(*)qob2W?rn*긾c9B饘ٹKm5 VQ tۙo$B-._T,P3Hu. tE^3iAKaFbM &sm!f*jA{齚F0d3`͂L,1 唣g+LfK1UD5%r݉TVÆ1Nv9R{9} 4Q=)%&Krjΰ7pd R0&.ݙvsR|ӬJ)B]ٗRjܚDfJ$(\?ýt#7ʶ2:5}ړƄ_khʵh>iQ@n+9r_ӧ1zpF4C"b@"VCH:#ORs4âRnnBy7aq.lVey@) RVjhԱgkySr확6wk$/~2lY]ycuV PMb~髀'aΗV䌙!{`\%$b;z` BASFKu[YVv6\IiAn~$6L4xz/&3}ȼ`|B2>DvҺ&vc 4WUy oLlR5j`2IK(Srd4CS`Dw m1a t-f\WCLc*+3$9JƆd=0`;bn_R<'q@_]_uB~8WMyseqhbӉ9B;s`FLpi'&dl;vQ] m~,SX*@Fc/E(% @@F&Ԗ@Pѓ/&]Z?@}L Wѽ&1Dݖ_ i|@~ kFC1F@v5їp0~%cPhl;Jy6zL2tk]3U!Zw'OBVٲg$H:@D)|% 'Q4W(@,9ao\C6H;Ǔ v\UjZnc ÉjgksٱXէk@,fe2זKÅ񟢄f&:6Gېm${q#b-T3eg f/۾It~z/[ HGDD5R @R1H5?]BH6-a6zs 4 m3 Vɫ23S@YXGJu¨Ze*Q$xTYk4ж:FW8%~mN2 aA] G~i69t??>y/5,uu[o8n~&{pW:۵1;%Z6*b})O 4P /!|XN7(8K 8Nꑇbk-Mt)ȩ<‹ĐD`I͔D_Y.Smf{ {8{4z~/Z h)mnj Ʀ@/gBoސ/J*RdePc-/V}K]I𼐁:1a9Ptc6} $ػJqǸHM1X%$ڢipg@xrӄCHb)+f-' gLY3dg=J9!Qэ̎؉_:p5@"E-d0ld"MdCߵ"ݦ]}F-0;C ՇLK4V=YjpyeXڡ mhr&FNcƐpi*)CnIW9asuWJTuv4#/r.%^O劺Qqp-!j1</U Phٵ86~ab ETC!є1e@Lo'K%>B(WY?QVʼn7R@TT!EUUg+MoDdLvwzȳVٽ2H29xO S6dO%*Rt#4K.rpQiBV"cq^,O3֨N++,^N4ot&.rn0[Ԍ ۘi:R$Ge%QR@ лjh_չI.l|,, 6 zwN"' t0+&GdYWq[vީhhѡ2="\/l'f[;!;X Ab_E"fFfXe#T 6z<Ƌ@`,َ,E gpJ?CβeCmv9DWJWg (*W#ڕ:i=4ΐq]эӀZtYN4 S(T^i*Ҝњ)PEw1QoV;Njw~&%Fݳ;$KV7# EB?85jSK\ӧHK,E9}2=5Js?'m^?a>CU'{ bvT eԼrLL?V&3S2V)ZHFvf0] f2{߃Mڣc.*ZuMgj0D"_BʰZ?DX%ںΨp*V3GcJʓ|}0@a,vMx֫QAp v8'|=BlkAexh4{Kw:BpD>#GORۀWSJȓItkFvU}xD6xc_vɵz?"rk ʾg})blҕjNRMLoո쇇A&uCUH|Ew֑CyS+y"{yryܲ{uф/i oU8mqu إ"6"}+྾*t·k7aF5\VF-w->Eկ$cӳ!/ I-c `iCK`pZ΅lrR{7l6&so@m z8݁lNx譒42?o=ʬAJmo9۵㼡1^Q9EpqX'9qA,81O'T1 5hha>,=#l*8m?Eww<@E,;L: /LJYůc 297J avTͪJ"8ܹ/{L5`uG;CU֛g+ ;Uq` 81]t]/P5Uo'50206 80XlK GYu$@Z"+ߝM~h "&:\bg( &(J*Yʜ΋31ɡct"5O6}u*;T<' #M'Uq7ITV5t 1I٢Jj1D 4͟ *ΦUou({$]b=򾪖Ó>ЉF[er\3Wg; Qbc ZρuIXz[#bFj?,e9ВiLʰݣ򣞁`Sa39q@ƶH[H^T77#dg{0aÞi J 4p6.lK! zTRW k,kTvTfNFOg ]9ͱaU.$D6WÇm-`S%!? D'!)fr؏V*u#Cs&.Kop⻃t@2,-~/=!MO# w].HWRLmI6:ҋr @.UܡıX/a<+f;LC#X3t0A6hvcz3]1 ~wgABl InX?)}{r0WNp+@UM4pWb--1 8vNʦ>AjM'qB]QV4`|2 Op lwT)o9%SvAy@Fbզ>7YNF6Sf/C#͕޷Orl%qIXYjrcƘgB/$Ou9 4pAMeSG/YL}rĎU潛 "49 qe P܆5YW E^DxqkВeImiEUцOA &w55 ԝ\"wHy1.B]߲T"ӳ3e2PvMyq\ѿ&G6$I=(+ ?Orh91+{b[)#y,vAOgAl@r+P0!m3Y1J{LF<&:æc'o(Cc1vOI@C׊HJe>߇}̿d Yy4yj:b ĻuͼQlM'HQr=[_:KbHCySc~|sic ukږ9DSe!O !ox/?9iO?ԏdܿ: [nLCh `o<rHe nf-ZСcV8i ?e/1v $A(y۵,($^JY8}nPk`NЋj!XAm^ EMAX"pIt%KnB|'n|OJW kMGھG))/o;#D⾐*Mh,놓*"$$Ny${XJ*i\ \~i-+sәe$T6fN^ju kT"IeMS L6|0u< `8VrDHw ^}As4NU$g|k40vUrQmk6EѰ$XgW7$gUvH"aB9"kd6)˳权f~1H=$$br7kcԁ%eH, Q[ cLqb) / j`bRZ( k9X7;s5:~({k!!}Dn#ͷ-@ k߻ Q $ ]r5yb#zly0lakzm ;l 6y?Lcm} z/%0vfɎSs\F!r˚VOa>=0ޠh: _~T#I^bb'kX'3A} N'6EVs~9iux'mὯ&(wVweE&PdR=3O=-W)\HS78#~.^AO4Fk~8qg0SG@ᷢ<쑯)y݄uZ]ag 5d)Z(אr>h=vXxN5 Ǵ9sPS

    np X[S{8}(}r,*t-oc9e#a= @ zw:# _wm񲕟1Ab_$.yy%ݬ0\_W.vOoV]]#E{ŦObc1S`#2=/Y 5*Pk˜&@zme37f~w0v2gN2n:Jġ|7lab j7#_e|*2WMՏ3Pq k@u+b{~(&Cy*AsiJ[2@S5xzK%:[Ɉ:wCdj_,,7C}Q3pا!]sBUoJ~˞' DJqkk y2LOdf37-YL7drY1Y'9 ݍAm^ةV]"_z7NY^@P~ Byn,"mn=rYz߄ e>h?~;Ja^4thi!Lݫvut P}z}ߨAS/#1{3 l:U/|JbH'$>Lh ZpaɪsG0e3-৚ tCn;ޠ֙|}.nb6Rv=(>^W{"~ǻ|a~< "?=zeaqj7eDk]O,`ShE|?-x (q%C{ fo%zWT H#03pxJA<6>8*|Bt$j>>GӄmTWaB yHL@+Z\ؑ5N@ʬjW VYo@e3m=ug  *Ugr ]|} o]L> ` ;R %ϝ1jx(zjP$KR":bX EXBMpRhBV?L>ظs$&mOOu@o'i|$!jE gƞoT@s%fѧK[O2w^ScX'o 4adDyftGUsO4DGC N[i6]yԹnga2g4܁v Qx:¿IZKoDYyD R = KeEw NX/J GNi Z@Z)x^az!ﻬB3ߎ"&Ը%{b2 (UWR_srE Ѧg䫘zz 'k*Ui0GA?2yWG7}!Nk/l>rucndj>'}2*%y )\o_mO;NE]K/o!TmYR%Fn)⬄Ӯ8l`uX Y|KYa>Wd{v Ȼ^OOu !ǝBDL50;BBPHboʝ`O{gMu\,~<#_y{[FOJCBTDy 0 .`R+VQaFV/y Q>ҙw0a$h? %bH.:;q_-6\tlYڥ qʲ{)Efga[|@tĆIb\\MAt{#@ ͔UED"W-~MI ԍ]͸I+EOe;j|e̡ḒuԔ;rDYNE.LR|D ύᖻ0t}LPhe477F8|GǓhF-4Nu-Bϫ˫ ![O@rϖ[$y%t"5$Uˠz 7WbEzDXuc< X?vWnuv51SϺ4h?%4N"`^g" 8PSX p,+y|F{=gm>IR čNI)<5s~}~Sٝ9KV.iFtAZm38۲`,?Q#>y6N+F'`C/L 룲Yw |=,Gٳ)C|#Z?%O]2i`!o/YS*k- kلeClc}mT"H o*K -(%wQH|!d}ul@I2kM({Ts49 >{7P~ M%P~4m66[n?\,k WJ"5F'fh9_ ~3x7gZA$xMfgReJ}hFPI$p۬{06\, -ޏ;2 ǴUEaRcOR,"q•7'-s&qt^u]D]`5ޥCQitasq>`˳F|Ct+GIiM˓\2kFڶ)?P޿r_x31z7VDm31QXJF$>T`{]n^ 腒RϷao*:e. wN-"6Y޼ib xÃK׬p+S:#>vsx ? }~SCccծS5g(lGj6E%e' %i_97|ӮB).j5p|<ծJ íԑNq<'Sq4L|>T[ڶE.%3w5g>HPFm#*aG) Iwy4].G=FAf1^~(. e ϣ6 6;w=5)2]Cnъz&Zؔ5V3C*f2<XU}f<$Mjk8ңtM+=a }8%4s"E?5C R}zpxR\Ƕ5Ts.7gߏ#3Ԝ'6: ] %3. ,R[`JK+Nx]jP'غG4,TZԗ*$ ARK,9Ib})*#T/P0lSܞwv$9?k༹cih:u%zFazLVhMeDҮ-9✾MlFZ /ö|oVݟTIijLY >d`hUsj+lOZn|X b\O8i6%n~ Q}J|> Pr ~ `Ç>:p]eu 4_E$ԑ"gt:^aNh="N%Yjijrr۱@!@C.2kum/E$#́WMwѹ͍N'"*.}~ئFP,5/#q;sfV-cjYA"/B j4ʛ Z%}G`̞p \MMFؿU P3r&gM|j#CaƧxˆܕdNۢO"SF0}?Fѐx֕IDaؒ уLWHWBP}Xt8)#oke1Ik+7@Ɣ~E`9 :*W ~v-#*:wІع z@,+sc"K^`*Y IP넁\sU^I9zM"n>Z]`|3H߂YXE|F+)m^.Kaa.1Aa=F}&y``/h%.2-iA"f/]dg+cGv5(5t o5H=%^&86:6 fj?t~=39<$^ۥ} s݁0o=sd1?4mP|2rSe;{9caK7=&7owXk =оw;9)ri%u&nʡȌh/;H !zӳߦ#ϴw٪Vyl%%o8EƦo_u1)Ok FӨt^i#+m@]9 r.ws% K!2-liF@Гn$yI7!PvӅG[U,|ॹyҦt:#F敻 - 9>Ǣuzd4xb}1v:2` ߡ^@q֣Kt~*;GKDվb:SlW!m/b^x$nBSM%D|CzHVߊTעs!ГGn _$Uޗ A>ڧ&9? %I6F&͌z|+)VՓh 9l:nj =׆WOJDf"W}"D! w[?r;@Sѿ59•SJ8.Šd,4m+ߨSJ wMW1JH,վK%p[OCCnWKZ>v<"2PݬL ʡ4v[7Q{~HP^l= +bC)Q.bV`H"F!FIQ$N^f[rcfX1jsgLp(>1ڢc \ n5֤.qkYj]]/Rl#5pdVRTBo\J^V$5 x&C$&8@w(oU9,!_˲}9bKyTA%@@!2Mai!A?\~gHYt+$==U|/=a~ȋ[vuNEC]Izxp]m) GW@{M2zRjE+s)5|M{piKJvܸZ~ݜQEVUK}XeHJN:ݜM|]lZZ^X2 8EN1N\sHh؞]57 ~"ǐglG`;Z2R0q+ ]xy$@`9Ծi_*}y =yrvP!rn^'}ǗJY q^qz[)9/ :/Viؚ2׵*8K]~9YV>8+.Gl~!Wž_x*dUPa~ɶ㶀&+.$AtFݲ9؎ylifh:+^%x}ǯs6d@]9c 1R*xߥγ>RyJi4B璭alTQ+j8i?_6N(i YUE_$,*$%K;VMjƙD5&?q`f.nu,-˧P_b>Ck, +=Jm= gsZaVWȂWXWQlgpWdS:IGJhoTU'Nt$<KM#J<5EthrMbFpHR@x^3uW0{l$Hl2Xh_QFY>FSTrgsܚWb&Z7:j  G(0h/(Zb!kA38DUl0sO0d#J"R6ܾ#JP|+eKO W`eD8K!_/WӮoք6 ۯoh:&sA؍Ծ/5gA[_euTB#<;mA#h3{\@7$|3?:J'a16ޕp:P$6=px={(coV#QK aB0iVM)' ҎڣBQl?ʸ*'&b'Vh81`k[}:?f~+h8H4kBd@ -1N FJ_O'wO?7wZj_DVP::wI k{2zg͎>_jlNߛ~TIq9~j&X@z7hE`]$;r'B`Q}TLw7WhFα]~76e-0(t:j8P¨kf#wbbңy1,g57Bg ߎ-.tLǔKkvV ` E)6s=3=PtfzҘ[HҾ̮ٝ)0?k_|ToOa|^FZ&88U.+F 6uG"\mmKޑݷs椛yRbMS2O*?M NtuCr on! 8VM@ =ɂB^;04DC:Km=XEs;ƐSC$QPn-3uHI:^ލCo*c `,:M5b ²Psʏ ۺS~́'!\ղ%cMBjNg 4$)D1$%Hη*XSJY5ڴRZSYŀ_*" ./B}4<8Nz4m$(;@<6ʑ]qOZ2"˾]?ll8NU]x <9qNυ+rꝲM"BpmJjO8վ˜7+ jlsႡsQ< p I8OAzRtn9Zy=rNbv ,<+׹tcYM>6!M,"f@┊BejܰyEN14@+`4e 2Ͷ?`>N\X)B1i=V}'+0o 㔙P=^`ý+bh} &BgLEȌHe_ /A,̛iCK5i7k3xkN*2uJ&4p7-ZK_#&xp',p݊ٚR&jwry~o|T,P(%ļL@ȩ`Tl <:e[Bx?>FYc[ﳧy;P8&Re\b7 AM1F"' 0*R qrOE(ħp_JV$](4ʆ+')1=;ID`ye]#"-7B๳x"o n 2+~x.bbrk؎"UH-&?A#ͅ[ivtJyE7wٮth*|rH\H]W͑V4K^ b$;! !^Ñѐ^Qr7(+jwɧF86)"{N\# EAs$ 3P HhFu"`kx Cg$PT"xd:!5iL!i)m/Xx[K!;#Y9 3J]kBm>Rty 4^YOFo mV^,. Ea⑈hXt(e*Nbd.,Y)1ʔJ} 0)?^VF47$(Z{_Q_ /dϋPb$B̒nV]VnR wV>xAKQyA]Og X'%c͡ %. >!oW 4z*(gyha\V J QW^*7|@|%Mi,/LU<70qؗhSBkto *ŋ?iFz?VJ TySMGP{.swDZyFIѵ00Mi Mu^҅RE%*YzQ%^F\HQxy0sbNR),:1'fsۂtPl%# ptDBN1"tQ$CPp K{\&Y+ pM.A=3$9dځ_6icWbgҊ(9SoNsZn1MrHou[ 6$lJ9Zl0(\䶦 Zvxs3ZKA[K\9) Jj [̆%GY 5me5.%v=ʧx.Z[isxIOѮ@1~Ț/Q-5EXTMڟS^{َ!*d9ًh׽}2ȣza#Ceιj(qKi'τʔ3]9٬՗ftAp9lP  x' )#z2:w'=tL{(ݻą3rfEa{"t\[Vi[3\GƂsF%iMVdZ z#O{.@=7/{r^{:F/7<2շ7{OwYi E1yDx~b' Ȏ^ LU I $L~ hTr,> U 4y0j kQ9sp8uPZ- ]bHHT, R+4ph|-/@Ǭ>fX󅏕GzWiKi%xrϻ2J %>x f{B'WsWu#K-FHwU#HbfYo})3C&,HUmj7nez)5 pс9>. +amSj52b9B1vJĐ*A樤e;2+߳Scm{A.X) "q4.h]tp\NuiO [PN9 una䀨K4f&D7$6([H q|Re`JxP ;q?:,p ib<$[*I&E귱 sbz>>h4. |Z߮91%J)N*YVj.Qz>T rw('![i5zeGH{k 0~*J#rs Q&dG]MV?INvsl*e]:ɲl/%/Eura M HZXdCni57ѕm2"PK GUZ>'W<+OPXaB00X%rla/"k5$)B j$lBHE 5#-d:"ng&mnUx_ꦩvaʰ_n ֽ\Hua*$:Qᴞ뙸+&e; N&X< HI>4!ʢ1i}6ovk"۠^9Sf> mҁRLaOU~'b?޳t8Td;O='\,RgpP%I`l &}NԿ9H(?0SޅMBޥei*]kjS_v1EuҸxBt X,@^:}q\l{["x?iMOyv֬Q#.Μ WK;&-Fװ0WJ Q= 4DG8^6lA(F+Uŧ,{]vis-:Ї{,W짝/>&Q-M/N3Qźfr@PJYAgmuFE/fe -~Ÿcf.,p6 vsdʔL2)ӧ@ E-l^t-fr\}[Bk4:7H\킒GHC~}H,U4_ 4\SdnA94"rVF<͘DR]9 O9ŔGIKkbzl'9xF @B5 LS>zl\'I܌ca zCm.jM 8o^# j07-dT;jEg{=S-܌g!ʈ=Qp/oŢMNYy`3R=%UiyzYT-ؙ')6Qƴ%v~:-WC/Da9o=0VZp'AoXa$=gEZ4x+!T_,g5VFubiA$`x XS+]3=-!;">%U, i =M>]6L6BRǗ(_\16(. Udr0hjgW 5-*x r3i`{仓itd4:& =yяE6q "]߬\WԮM@M?V}ΰŶ~I SyS5Zs(<-؜{#?$+yi/Iv^QcMxZ?c& `,-dQh+kשSܷG5xQ!|C-njƦLmJ!NT }AsZS%2dj4wI3CbX%3 eiIpk. Ԕ{>y$t_.:&b rS-(<>ĴeE4HgQˋh?.\j I{xiUt2Ʋ0$b*#k.vJFT_ZUuU ֭:%t3NǺ|q$W`mR博Q3\Id!rF \>*Âr"E(eL$A[̛R||PN9 `?ZǷ4Y/gY5T[r-!w35g/;/1ƧA7w22WnUmS8xPv$%QE%{-5܍;u]"m6|L#٬|Nŋ"-gzڭ&a,`66cnjH5Bk^l\tŖ-qrQb{31}\bT?9fw[ ]1Jq<[PZbH_.vɮ~E߿ʪ~j =[g&ŎV'Dpo+$C 0AiiجԮR/$%U9$^- BW՘&!ZX?‹D5Pgڡf۴l ٛ&⽌l`o{c_p06-Ŧ:?Ac<҇D \u[/~h|D_gy7n0M݉f̓?KLXAK8z;CG[-̯|N{X}Ux)?iϖPS[5 zR TtD/B|-ԯer/$rw7\Vt|}OliAm0կ@-TC)6!LƏ^ˁCϑ8 kMZ{gM'@_2\gؙ$e3'C|.4 >WCJl9)! ҫBIc+-=ru؀<@k^C/:27_F ]JTɕ:Yo~u-OI(f4лḧm-b] ~%0c(H<ZRb~5FHW)w7 'k#Kdb '[@ #@W+-(UJK 3QO`S9e( @+_!Pt\6_ Q4nԦC#RTCSGm؅O䑙[O^!ʝyy_Vl0[˖;-no+#2M H[bJ@K4ލE{ 0?맃STDz w{ RƢ΂a^Ɯt܃P@kg_$F\ 80{m_2rT3qȝ^GYTAsD#̰H]K&WN@E)*5AKk.G*olK0:N?_Hfۗ*:E0OxuN >ų."fRPhq.>BmQa(-ԪyQ{@Zd`tI|Sq槏A#%Y>R(4x+h?@kLLڻy`~!ڀ^isٹ{e-?! )K32sq׌s =_\ǍX&J\6N$cBr5 ̅;UyRxnh? }n7)q@)SoTuI{V5*Äcs"o215R`ReTO)V. ar Ť9-D|zP@W2ٳ[HByuS pE\SX䥹<4t (u"80\mE|9nR _6";[ ;0kd\I}E, %OIHв^%@@A$G7,Cʮ>cM۲Iݱg R"4|1ΔYevٝ$υ ]rSEͦzFl ?R, ~\ mlZ*~d'&ݠ GewEBʊsqNk=5)@6(lFXq(٠z!@$+p($ʤd=OZ4b]mk R<C UhK$R 8%BW)R ^oDښxG2[$-4"^~rȱS!r1'DYLmߪXX~@̵o~\6jBOܤ?a*כ@oN,`hL9lj=GR-[6Y% vR˿5@[qyIC^v R̓)TOT:fM \,T@Q q"s[f#=$dw)bI8g jzZ&ؠw.Y{_/aku H3[ax2֯h.mU!7F˼]yv ,ݲȂ^MsE h~uV*Wh#;M$Vfc? 7mj#h+  ʬEbO< "z/ EVeqEmW#zF㇈P2Do@V_'#phKCny׹[>zs1rD;FdMǿ1~^Aq"ҦC5p߁;mSlNo6cBUTy)H[P:[~Z 3 h}5]5Q߯3nX7X D Q~2d_kQ@f.;C4+R ޒ$uf1:cߩ@%6"3_ZkANsҋP)B%WC7%`01B&ƹ:>SyLŃ?7-xςCWװ!j@1SsLyydPs2tBT %zm,A mm!#u{a]~Z41>ؖ22PFq')7SfO1&78a3F}0DH3NU>8,B {6vWhFzЪ!^grP_5.D}/a6,n^*5=4.[6 ם,T_fg׍L5{]⼒͌&4ɾD[iEhr 4N/eY/,X'K߈q S|/Et#@K50"pczm[&v +苅$)i %s'.ͳYn F& DpdQ T>hcEG[sv%]H|M"(XҶ`20#&g5~DI`V ˸7Ix/]c;Eetf63K˜qPUB|mu}Rel%HX3JzWV~|j1??~Y/p,ycrKu}Gt@Mϥ<apL },e_,HU?1L@|WjPt "K!~f::rqfkQ0Atg"/?yQڎݗYqgM5<÷'EJ|sr4ʋ du O^Wrei;}+\`C~y$=(,̷ * ځ>?cMlS  ou"gТA$L28ks_\o5mRߖx؆~YD45'[?ncrz+=(IzMBl0c0ǿ[\gD1s)@nEtwX:RV2ْX*ڦe-=\n[tSrQ+ugBHoPU9|!*@mv 5"PߎN0S ѝN1] Nh.¼C]s~7,) rڑg0tcpx~k2XevgObb + vЉ:A 3\Fe>;.36.Hesp{|›|4nbɲxo͑[:흴2͛ebgmdCN:U#ոU/0Ā͗Jߎoc)ThFsbۺ c&u!}@ =_LtF#CR-RMu߁QٺBt vXjZAKObǢl(FqTsu~k^ڻN7yR֩@p#\w$+ GvH>#X% *˚tEj /E @$?!-Ɇ驕|5ï+{8־o''"')@ld~|qRidOsƀoT^76𾞾?)l:r:r.2mN/P:6MI!FQP=7-RegQb!o<͉!я_<8 m[y.M Gb4f$B9 fN<;CvI)yK2HDj>(a  Z+jATXfl&$JYr߂xx1WٯlA ];ΗZd$RcuphI"A;\7t (R)HȺ`q07vp*$ |꼾yb' mi3XCeXQ𱰅CI`ߕ)] @IIqE>-(`) D!HYUUo'w8!@$bq^#mw/ԏ(Y饁a'$(kIzRǾ\UcjDشL Y7;^z#Ss=)W?@  ^Cvq,gET,!#DJR ɿƀ/d N'S("S@"goǛڗxZiR~47D!F:O看f (̕XQ O_͌ Eor@7gY Q $?ݖ="ױx $O]\*<s8~89:#>/AQpd̕P "<b ` Ojs 5Ċ֢"yn݁)x<.H\2(I> kf>DX_ql@`d>/v7Q-^4GEzC"(yWݎZ1rtB,ymzUk\G^*_GǨIfH}kƦ쏌&yd ״ZgE;~  KQ\Խ !{ ֛1}$! SV؅%)Rz'VJof޳ iE+wWEoCjq,{qSd?)\(k9 1i|:c C s3ϙg|¦\l5;tKSC!߰lsK?B)ٿ.i8w,dwI'Y>g#5C9. [vÎ yc(Kk6h/̍vY1A*5<8)<*rD3&OcLZU'&(Hu|nO)dW5aWu 52I=7\ : \ZH=ʰނ s kV}Jp>X_όqǤ.JEwDMבi.Zm>iDczub񴄲:D8'̖McԻ3M*#ɏgYKڝd* BdMa !_Z Y.]]"WWy=)`}` kz_j/$ @4B[iw9t[Lmxn&ЈFUE[y8+Wn#'{L2cb[bW>>%m$?wv;!+/L#)y~i/u cVa'Eӥ_>8IAMτ$o~>1U+SScbI,jwC0[eSOg F'R٣}&/5n"r4Y ՝z$c ?t#51`ao0W-+>"Vbj?N[_uQt=YQT\V pwE2c{7~I,V_J!qt󗫙6o!:čp/sZuәC*43~g1Kt:2cDOW~cw2s !_nΟ 1 ϱl,A[ 8MTFyf$;?|  Z(( ߐŮ*SU g+Zc<Պ{5h+ueth栗[Р#At]QaSv,n,OMd{)NY-qܗ]()zV[W!StG*e?~R8•S 1h ʻn cu77p|wڠټ.[%!y_$G -vԺL°6.2ϱmr83s}a%>L"86IyN)C8:%g H'ݖO*XFDg>j/0ȑ'5GEHx^" ΐo;0ףi/@?Xdʵ/%,JԵ_@Z]@R;,=c9zf@\|U?@kg`&G β?yZ>,C7 ÐA*x8&sS|ܕ INl9F@<ܾiWh>qs>$׸ȿL&4Tf7~n-)cɻ_dZuخsS/+&NxC&qM_({e3虨m]ʯϸlSFd-B=JZBVޏVҹ+O849GWF.~y·k9۫^U)Eq!m %Z3(HHed %؟d8þg:qC志7MBbtv:p4+xuMi?vpi֛VD8&b&ev10^n?܃( ѡ <^D/K *To(|#<3xϰ6Ƨ4:2 h)Γ>; >L;1߂bѐɱtvQ3Lqu'# k{ӯJ`䙠=%֜1w򂊶.a gSsuIxxCO?>{e}ƊjJF5XH!`&>Idj@cfNъۋQ }ny `h!ekjpdT'ķo8.$~٬T5<7ßȂۿr:AHa˴XA{Z%bO~u>ny^q*R j&fjxB[{ŗI.M΍`Fm XY1xYVt `~v4 n{ߢ)RY?%O+T¹(D{#5E=H#N%8| RɌ|+ +GDjĎmhɛEi]r4 %C&5_*i Q2^|bѓ#o I!/ւៜwDG *~g|z[EfM嶘0|bN ? : Uh}#iy}]zNɱw-gp&Ѧn$SYpo'G 68w}ni*:d7tN娍2rij,gx,Q [+|BВ0G<> pt i(e0ÁeiLYgCXjI K +惕,˻ PÓ`E)_=pؙSN䌚W7EV{8;]lAʐ'?NzMxBZɍ / 61yJmg@ m;7 ̸2^d1>7~N/@q{ ,XCW Q"F|h|~{Cm j=_B o}O (4%)Rjɭ10VӷGj|55Tq,${DmAcj"4ݞȽ[2X:Dѣw79X0T@Kխ$:vLTaNH` kʩ.LHD<'paD\0H˛K^׳ALZK=[If8͌+ f~|JR)\a->tjJO^ <7MDU,ej` n!(E"R=,9@ QM@Ǎw"wL5Q6J#ߚDV0d;f^["T -et#~7˞򥍪MFF1&urI[*elZOy :W:%㦲$/Zĩ+7[9h@!cQIJݺML6wYsGNQ9 (߂q@:^C\ˈtȔyBAgP$Xe{WW}=^kbcMBE}k ~XV:{ak7XLW7bt6yA*؎\:(آK%4xdѩM'?K՝g(D%5_h]ziťC Ɛՠ%"El[!b )5oY1]7)h_jh0dK"Wt΁Ml3) `Z+?1:3Vpl[#*}w@~' [wroT2rLt:U& XDsC%= e$s+0 PE6 kO,N1i.Wq^DH4r> >ӆ( J칳ɟw{ _*1X&Rr5R@iu-&zZw` y7UJׄвD߭cKqn?W<3^+$ra[@=7\Od 7 qHjKJCKI)y4#:pzERI,A  C$WZ!\)xYF.2ٱAU9Q2y{b0!YۙzrC$JNO v*oTbٮIq_,輯N%pI~34kڲ kx1hT `-awsHIaP(%bGgJqL" 45Li[HpOpk`PXVQ;Vz3A:,Wz;zi O|R69g\{j3 |C68o1MOg3qF!0f-^tJw&X{jhtn*CڼכXdzax0,`χxr OE8jḯl)MlK Ta\~e$2 !/v"ռs&iQpW=W3eɲ*tRYW"d7HE{3DO1[S: K\ja ?Ťfӂn*Zts6L '*CZ{l~\<| T׷ʬ7.4 YlP'(tz`iI~^8/uA x$I2~u&-P_\xXP& mle?SuGt%-94nk>*Ey0ݒ~s͒#ign axS<Nw B]sqаAjHʫVV8EY%N`#YI~wc|ItlkmI64%M-0sbӗ;Hp_ԤO/3 97cƁMZ $,+H5%B,8Z{UE`O\ô/M HN7.lYxqa'~kDE6&8#RL0u 4$hQ58B) 8L] 1UF9$*$kϬ8:%&B+)UڑZ̝IQJ쮋ä T IMVdv9)ɮ4x'FtW]6 B*m^#P}0>g#e]͚KUɨtráh8L} fbιURQC&qn>|X;MKr|=I=s6_+.hQk+j5 m)=I%Z2fJ!?Cx,`[ܲlLsӧ}1D#)1BẢNe+e5)9zT ;v úՁKcܢN YfF}~@ ǡ Uw TRpVP="Q -~ LRӖm+>+)Ix)]+]\g:#`@FE >|k B^W´PS6cX!z& 0י]}nUe9e!jUFtB kozwhĬ$9DCA粩ԒfǙmnܺ58Ln]eVJTV@gX*M̟~Oqz9i^ڃo(d0Rd&vbgS/2Ɲb>*!^eh2Yp JDUl{KGʥ{߅ǎPs _Y2_bXonq0?:+A6nWNL)(3É/Eab$&*rb[Oā͸V0egcp ";8.&޾"g'Wbq A#YkQSt*Q0e;Ӌ㴘({D#O.p2/4x܀m_܃%ƑnN:5nT<LI/b‘N/d.'[Ko *YZ} P?X2SWcKÓn[ P>(5ⷵާ轤8] e2ĖkH!رKjƝ )]B;-`^$;0$||.%Ӵjg(X^'MXUo@i B Mp)QmppzcF?ZTPޭK gɷg|W[8o9}QV6?hIKCgyy]UJA˩٤LJ.PeM"Djݕ%_a zRDYͼp6u1vxZv5}?z:f-iɶ"Fa\se G*5Jk=ٵph6Y b\DZ"eN#ECt鬖}I̴(ǛsS*k{{KMuf.ɭ[!#(5,q_2e$M#zbg>MCͥ0{פz@rCBen"7d>i{ HGx; Dhv1 F07jr>׷ -1-c`*Hu qs?[:Ya[E 1 (K塌xp8כ7|33bه0Gp9hm驋)qhYJd~a(z'i4C=e,]wo% e&0䷉!eh^5/GƈVYu(>b%dߘkPh7ݯm-]GFpvJp'ukw,fSNvˢrŻbxZC)*(B$]/C4oykzAS6 ɛk|_gEz\h}zʈ՛?^*!Y$~= 돦㎃@ɡp 5Iuq_LA,3>P|f+C(w_c1v{2yyN3CYHf}Ac&k!}JO>P𸂭i7VV(% jivK\ 5\V&?qeiHkB|%(h֬q]çGƾ<=)ܳe<5f}wgsĎD ' 6ngzO_2Y' FmeQb#!u ;a1l߄l#E]\Gcz2变\#^u| զ6Zs5͇иzK.@r-\oGRKl?(΋  ,-'Xyw@WZԸը!5]j;)7DGtyoN(C5d<Yۃ|&p 7Zg_iI09 mKi}S֝# '3:~,"=I+gP.Iom}VLV:% utp!(Ѿ9Kk;.>` Hz"b'mGG~bHmTZiK픡oJ5 >42EW8Iy83j۩&^Vӌ|5y<5ڿJ@9: 19Ȩ;z3!57'wڛle8W$f`VqGUYۇ^fټ!B(ЀhoKn9rS^>| ܽg?5[{*kn1=-D,Sfp'@3g"I Ҵ%Uo`"@kDc.ANYJY+Q+ye7}FiVc4UFmM!F>A m8GqFΎ`&#?~z;WƇ%I׌ w`IvD`)-"͠g1Ikay^)]K5JN%;9}U JN԰ OpS YZ[AxriCh6gArVGj psM 56]$9]L .3aFHRQv b8וBvX j9MHcզvg`$MD8ؑ3do7s@t{Id\  BMV>=|tW'g9z%a4Y+\|F_|Łs|~80Mf%ww"JPlrÝZfEy+w{L[> }A5Ӭ*Jxj ߖc@: +4ck)t(iK .QW*@^wYe*M<*܎A۔ x!^YW.Nr,\mi P WvbB pr,"mMuW(̬r9('D-K-v羁餠jZG{1O۽NN*'D"qn*" %t0PO8t.y9}eڜxKieY 01޿v%lbGI-}v": 2š#jc#*bΑwqnut^1.'!4ܣ<>yu,؊Wub.nb@]ΏCz (ӝH?paQxD>S@՞jy'ִr6Rf4|$HͥvUwJ[Uǰ߲5nQt%~̜¿؏x]O2nܷuspF  ҂J%ɐ\i@IAl\_l".<°9} p]#9sw*} 4{՘WA Gz /H)<"EPEF{ AJanyP.V{0-n9XCȮh'1T%\8d н:Xzkc#Cy.h]=04`"~:|el0xQ`t 77ngs%frg]p;v#b]6<Ϸ0 $˭7 wAbo5@?Ҵh6d'D88W5~\f_L};}|٬BHeC//[`cȒ/$6uM,p޹ V#wzg$%-zuM:lVY U0w-Å`Ih0:15b9 {V8֑Mtw٥#a,OjI=G xpɤ $/ [8%A8+ +f!⡞lh#LfȘUbʲt/;,xj5@{=QXF>N|\i'6M3(lfr'x}@m5XpRiYӶ1.zW8cm6(}t Ն)>/p6յ2djb+U4Q끙GzVۑۃ¨b.#~d"/ s)DՖsm"h~Fy&}!-"kmDžss'[tR 5pJ5ST;OBiȟnzγB~dtgRYwdCi&k+1?k!KjYnԮәMcĄ(p*GT*⹦yWŜs*gx tMƯT{%c|)X&!X%yda,I2 vn@V!ŲХ}ԘDަKo?U"/aPcp-JvOi|Ix Up௱h^cF5mшu_g*v)Y?)wPҾ0;(%9vE`\ IC^YWq=jVyO墑=vkp!p(Paz8q]g2ahS .r\5HrB3d1Lbqk@lP5*Y"5 RUԎ^xmJeU ہ.y]JpY:_Ʀ'bf(zRaZ81پ#!$-`* Q@pޯZ5EϗofЅ{Ѓ`P ~K,v𪪢#O4  "Qq1&\P_vu^('+n)?k#"I"Xu,uVC5hx砎ɁDOI#t釃[-0j+XU0z3&'¿$qQVY<9Z^p\i/nY/IikEp/[̶iFv7ͥ*2&%#1Ӈрﻪ0즛fE$?^|bήSZ*> v{};Y\xi"T'`vv:Z0k)^AQrƪjpڋ|-85oR+1&8p#kj ]5z60ܧhTJU/5ĻB.}Le?ou\zƥPNC6q0,(9fVk#=>#ef:<<F1U οߢ0cg%țM9l¿T|qFSali5QC̊b D:^!al4] uӍAPpX nqNƓM]CÄkn)ـme$H0a%{Lcq\7G3,?*k2Y˥qu=9 РyrO~?mc2-•gn^ [%ZIx{6YA۰:Mc4,ϓqT)_4(J䣞H ER!xc$L fV@G;&^Qܷިc?l8{Vt%ᄓq"@cY(1/"RNUy)4­FQ0Ղ>)oJ'j`X[p%ΡEd-R6 >?⡶\9əscVEyXJZބ|wC;@>UlA!\-k"Y1T!P\/gGnYp^o:.ʙ^)7x m]:|@#(u$eF+FWʬx*XSld/-V{ 5OPi,ypeT%WE!.FU B}1tfm/'OBcpc̠_:]9$H"q<E1EV$ϵkXw5S#S4!?w l-Lՙa?f.(ܘ6|.@$ʓb+MxM{}k5CᮅHVr/>c'8dpς] <+lE+>śego=Pۆ,B&+n@JԲ[' 3h<%}! a]Urȍ'J0;hN1@}`w lQo9 _Ŗ=0:4Y:2M_Wt: )[*%_"{ǐi]c OlOut5&+D%ŗgxe84JX"K9yQP7MSt[?# kh/]8.PDpQNԩEFdH쌝n\ºqG3!pM~G H܅npmXE"˫s8xaka^N4"+̊4<4mi&=tSoL  Iw\{{޺ ia. VGZM]ZN*䭻KS.!ٕp{ `}pI!O0kI8K mU}WLe϶e"`v?LUu>_b\(D6вYpX^1覡NV7) \(LzqEl8soPq@; ,:9k0 n9y7Uݟ{;H<{H5 0DRyQdas|>m~㮰#ZK\"=9\ ,''IbAѣ."/Ohy^,a-Z uT!]g"[Jiup!m 8 zUe 5,Oq'c{¼x}:2̀qD5Rojw}2/aW;9þ'KTV;ͲT W,SiWM}ݢUzraJW"\^A$x1"&?y('`ݤ.w^0't Q%cbAװ",ٙMclwx` Px;0+TRۄ ~:Ekq?=Ǯ0'D`Y8 ]T QtiAx7+^JO< #.`ȖU ˔OʇLZTzSOXG>hh$Jrm !\_ rPyalu*{>l,@?G!joT  @y4ā. T-׶t%0a(@{@{k{I&ЧH9ТU̜/f̕R6Kufm[4). fjPCfYFy ԐqˀqSw@?,C%,^TLvGfu섔Oĝ="򅄠…6HP@,6 C\J{1Hăhgߪ[6F=kUDݏbpTn~g]UvQ%k[\'N_)=z"?E=a- Wo >S-y}OLsϨ=>s< "콡uXhV&@;7S& Zo+Ev}?ZTS>(X{CNN#yj4RY>+] E9Jә59w8VB {+G< EI'Jl7T>GGCϲTHԭj!NA? u&ж9}WLtmғ΄J@8QAN.h̘\̃S\ϧom?o^ދ']4~/@HlE5%Z:*3R1wu<ӏdZf ٠w~w ^L ^ uUxW%gaTý @0w| DC28I!)c"Zwݶ6R~ ں|y=?E?\:wZH_Vq;AeUiH q&WϮObn!bģʜ+n g_GBNqc Xƕ[3Iv%K9]y[gv4: GJ71;T${]B>7|9.yim䕜S|CttF#K-BG)?= !xM5jOwDb-@AVrӼoHoVG]šNB=5H▾3uɖkҘ/LhuFfMt`6<@"픛銪'*#>7uhrz+֖2 /ٗBdb6*s e^i抙m#9y hP[N+G1ԂY ]<*FO 졩iSΑxpзG +T BP~u$*Nu49lƹ2t~7o٘J"$D9>جޖU2"l4EڱPSf<&џ6cYg7D[) L2޴.B5ߴȻ}sv!+{D)J_03]M: -5^ 4Sc+YvQM>mt^ǯ\9| hBm[k|Mu +F8Vwٗ6)ɰu#SBBIvKsA~/D˫̉*}6–so6v[>OsŅ+6,êN ^E>nPrmcC bH. l5Ѕ~XNhe`ZI+\)KIyA3DRa﷊) .:3qVސ-n.n?SORh6 d @]g2k}XꐏbqTh15,%oy?xՍfhN(ZM7xtTL2DyUJz W6C[2jZQ)ԲB8URgrܘ@1 <֧"TP)gA-)FE55܏hB}8@>pp}>aE=r8֩UXQ+ar}{lHjǾ.=Ybq[aw48l]-tO^Z{V| L4g:K@k(#G9jPOLGð- ߺvHxxfyYaQL@W 9`ǪQ]+Qca4VW,|OͮxʿhP ym5|p`7tMemep.@Ԋ"OSBo^1Yג:HN@=RH2ߋcEpR?o;Lbmʰ{ |8Mb9( L[Nn&vkEcW0]~{W08e˔ ];d5V-8$%uPgǠuۉڇ1\*;a'ʰw\WqXuԹC`)qu3UʓVm^g\k,-m44RPLidA<ޘ#](2h~e8L'{ l&5`:̳1fPb ǏDN| I@2r;K&g(E{L*f~1p;R"meaA APu=V69Yvm~̓l`8bSj D$AR7H$-Ka9$ 1m!:# \DpF՚Ba)$SN@nfxutGVA G92SSv]G _Ag d-R>SY WvXґA>xu̧ xXg˃&!C`%I?Dc՗LXH#J⇞V>ʴ V|btg2Z1R ?#b(O֓]ND&Rz]{a}W cy~%#N7$aA)x`kb{T:*r6ʡ8Ȇ&TfFcp+wy7opTr):ZeX7`N X[Y.e*s nNfʧM{G z7^̮+FD=[{~1\:!:8jG ݂?o* w<;ht\n5W ۾k_Şy>.l5~@OA(L wj|l?a1O^U&URc9tpO y6 7P<5@,!\pI  !CQ3V`ouM!uF]xA=wÎEYθi9X^ME Bx̴Pוȗ4EFv^2Jz+dƉct+~1bF >#bcSGV+Fo#Ëh|7ѮNϊ _Q mV6;ua9{Ӓ6= Yv?#(}9j{Ż:=d O٭lU/XMҵebE`ׯU@C1) .lP\~Ttj$CSq/;S -nydz KH2,7Zb%O1nN+3AS2ҥDzTlIw08Cc sԑ<. FrG&<evV1R^@rx:J#> Vc`SRr۲y9f ^ n>Ve7==Ev&<u|9;$RY5yڽ W8q }ԥ'wSp46oyow?786 R.;dߨCyXBtԏs1A`:::Ӏ?H/jnxG"\j.S $iګVۢ[n/~Qnˬn8a]Ƅ:RJtLJRqa8_Փ}SXN )Jr4u=C{x_&bJP I(oNc; !j' R7{LTƒizh} $Am˓e{)2{iSN rTzi(r 4>  f H`x**Ib.%+Ai g3biz>(%F~yY(x`sZf஫r^^]UOZ_"!0Dz\i6 :%ѹv]$ dƀ~j?$ro r\21O"uD-f(ϝx=OdiI@ƅpo4z2YDmɘ7Sgfw{ĻAϨsOy"E1ƝKα;&3%&h[F1L}oʎjaF.mKM{/,637… Rj HD.Kۘl hϿ͠>AR=t%]]̃&9+^cșo ?gCx-=kyCXsfI#s՜„hv^ctŔ ~"mm)?pK{7@;*Ͻ8b"t% $j7 ;RV{}1 FVo ex٨2wvgf$d_EH*& :r֗.~ϊGS@qjecN& /1xN;,Cw"Y?–a^a=jI޶@L~œ}WDD`F ҧ"˗l0fʯB0q#G(H;7ԤYn/fѣ ~8|o'.:R[5QbZsegݍkIKa4'+0_ 7vM/7 l{u`q̺Uqf]j@H8%C, +xˠ-}Ֆ UOK/*#ik#*Gf E"~~hAccx,dt}D*L)b|#r%'`YW P;A![ dLT}+(d 3z yI3DHA2툹.g7ut:y.ȏ}e IAZ9 uTf6,$i6آ,qzɞD+#ao$ i( 9`oS.٪Q5eKVFj~ܡClx3l:N:GmCH&(f,i%6I ƛX2)jyP^ Aj|5{2xǪlX97%\]J,/b '5Q:b ; 0"5-Vy;H|0[#%@3Axqğ:/2-yQ9.lXpx]M4PrBH~O@%V\#?Z$LW5zؕh])Re(*>ט~rj_آtC5"Y(0g]$Rt`.-9rH7oyMֽ;Đ=6)Ec;-bѬM_ ]X(,2̗!3SU}0/&v2*Md: ɻA6N{ @FgukvKd Z@'Ṋ1Om@{&S0MߥL4 }b:Ej 0;:] Cϳ{Sr#F)z62jhWxHhTd}{e@#iXiEMQx1A_x1|Q?Q͌X\hǩ)՘r2YWGOw1BzPDM-dY4ίUPjOJ6E&m-3\-ۥ$jdbyqV|`ʻU@gt( 7Ȳ2=Tn'C-nq녧w;C8,s@ij /9TlH0b*bucY b0 e7yv܉-x|, BsӯT3c?,kHsP^Z"җNS4˝9#daaV1^=+7V+:}u|[m0Δ f,J3W^wcJ`I Ȋ11XF6,.dd n/ w,8ʺ.'Y:6a'76fLlFg^` )qC4 z2;'mߊbK iTzZQj7O٣lX`pnE UkE^Ɖ_w ^w,e?ј8me"'ܮ4l2~[yC2;$>SIp_SjƮQZz|+=xArIO/f bҖA@aYV;m~pHWz=r \$CUжu9r45DՐB.g;gbVwc|]v@C''f99SWԞ!;5hZ^;R;C/i~Tf8{+Z.\󚈐, W/*ϑR18ZB rX?> ׮ku=1}16UNK5 c0+†n4)->iŒ*Z,Vxn#1tč6.>I/aw2֛2LӔ "!杻)l,Y0Wk)"c\rtH 0M:4H:JxZ3W,ӊ1D4 #Ig]@$9L7= /b$4-))-7XvDѼ&U z{@ǐ tL(bk-T~t=:VYdL9Vj4:O UFJKG#DӫXN/ duKhN('{*ԞN1#=rHXT\\E./2P=jAx eG%EE2ka>h!A }zWjF{ C.,qPʕzFm! ?E?cRѓ|@Yw:W%$eZh~}|4!`ՎQvGf ipTK͈tKFjMh)ON2)TsmC_qסR|DJ_.}(#pynizJOi quJB~F=\oG* }Sv-> p ]F|KƳQٯZ_IoO&U c-֣c'n8."j9 1a=bdbI)WBF&ɞF(0)H~tSf3|i VktsFt}Y?0RhG"xk6Hp^NXٵx^ҟՅXdZý맴TکgU`gW4w0ݤvre,T11K 9+ʌ}JՐ"7ߓt@m0( {:qHQX>A΁;3SE9|_ Ȍ>+7P }⮻wj.V hfGlqmuEV8ЖF '{PIft G * $s'njAȎQ3_ a8!f5p_ZOKg}- ,RT{Om'dj2'VP>);ANbJ$ m~ShH%"iԕH7 zz8Tcoj%KkH 'v-oa_;*ҳGx&ҕvE )`F>pAx-F m𠶘[ô ? Oy37H _HTNY%\U*EީP#*kΧO%0g3I4N7(U!q4l 7opmuѯQI~9jÜwuyR:i1ԕm1\q z ՚Ah=v^nGx_9ۃ2onh!7"F >E àa(.9eȓ}>Onm*/k?mriO}Q4 6H\uia Q63+*E1N+hnuns^ٷ9 $) ?W%÷t4=byJWl\Ӂdafb# -߅&&epE0~!zE!eowk %^z1UfHzKFK6h P |v)E8V٭d޴ J(Vw;-r X\2$YwŊ" PDkz8ra^zUvs(̇Y[hyZ1϶3y%$peS%\+jP `UimAτVt 9.z!E07Vc)2)WYw}my`0%j# m\ >]D9[}ְ& eeTaxp~&4T_82f& gG^v9̻Q< Gs8UMpNl $շ瑩 kQ$1#Ec !ɨx?SBEJvi eqRwq3%z7G7׌xu%d޿T~n>UvY:DU24͌PI/ cRM5xV}P=p] R7`΅KV;ʽ)+M,+Ё!U \ִ?A#$pn"'+Ҍxܥz@?5>6CtV{uRCVM ')7j>о7}TUX-bQip+Sв2`%e>;딨>!#OދhOO@ 9q 1NDbkUK/ `q3umVh=m (pUރ.fRFA`$1ljvUP X^;l ֎ f_NBZpQ? >꜌Kڶ5b} !RUC"|h/̋<`Ǜ^200L6q>r eшsFFT1lJzn`YFGBÃG&쓇ZIpGqa=(o6I+R1EW-]k H?;8*HŷK1E4iO\/2xɡ MB9EI#iOzݣy.Y:p9&} .ʳevu /R;P0 "Aed<p_* ćC;:U0oiX:%m%Xm~d'Q%O4]d)h'CBl#][a Vi>sY|]̬5P1AOWCl1b'Q*DP, 87r s>dڲb@9 U ֍좆6hvyRX 2y2b^Y /FaED{'4t~fa'5HH̄)t=zst"9Jmv1Ini\Bg>a̅X|T0/\yhb/ۜ6ndXMJ_FO=TX)[9 b;f5W K0|%LflB䇜p8 7I`J`H}-B\HL=>@n$G7J\V-MCmp~Z7°D!٤1VݢxsO;yptd ffwH2i[nav׉sˏBQM]tFPb!r{nc0ϻM{T sfV$r0(RҔ  +:>eseױ! _E (Vv6m;r]EI懩W*3-vlyhVp[R+j,SnS0U0@2vxUP8 ӐWr9lؒ8? w׽>Բt\t5Zpm2 wH2ˏNR1Jxmy]mWppO-=6ݧ1dN`ic]z]bӇnu^njNBpf9exM=|ŚSHrԓ]XVT0 J!-_%ˮe  ħMs8LOq[܈|Ku"$Ćr>D7vN)u&ݏRbBU%3Y̓CQĦc0lCX"x{@]78כ:VKW68 ԍ&f Q-߮`3X0rXaY*U\%I|pDRfWvZ 7jL;TCtq|KPNYeU)JNNWڿO{;Զv8_2[\W$-0)P?ZTjwJSCX(jz)n&e?@>y3Wv ! q$ҥkEo^VXm4~B£a1VwKt4L[#Yuč&+)Y9@f=b˵(|xWR-dQS|Ӓ -wnWc^WyQ{fR9H_"}jc) **[̰~!+&gTОm֙KJKumY0|Qr@p{I;`"5SAdI8Z؃S =qHYmT ]h3gy/KbS@߻L 5ˎ>^<tDw(?bOzao;Rxz<ܹ_ cV pWiJeobrCB7J_8_c'GHOϕ%aJ\'LX!^v 1ȟDz.Ŗb d^.(Gd #|ab`d!1X57"Ծjj( . pE&A[v-ڒɂOԴ\=K t}JJ_y @)Q7ggJ3ܸr`^x GWaM ܄B  -n0DZǤa7#x:n`ѯ]HW#M6xڱKoK/%;.HP Y%w @rrt\-mu¹ku )ub/^]BB4mcIdœQ T8v4D& KLpp$2zȏl"1410q T*4fyJŜZ~c"'],(,TXLN ھRmz)> l@I:g\Ds$ˍ`y,m)o+Cܴ9o,iۥ- g`Q4'JنY;'؝k.`Cc052yڜJfhWtR"ndy04,Lc8B~1|txFB2;DZTZKAcTNⶐ֚Y^ avH62gt -o3J+IWGS>:*p0 މ֧,'8Gi˗Itk:>Tucx3wАMmz<0S'7-hP"mB<HC$_̤D+{h HV=3yP:ݻ)jHM> IRܣ-hӻgaJp5f ꬔǭP Ǘ#CcDn<>dDqovt+zk$hZD^ =莗^ɎؖqS (R$1k~MV~m*G㣖{+lkmPhO ;AOb78%.Ux kӧZ wlq}/S6qvO%@)|&]xW^],P$Gjk 3`E.GQ%Ζnc'I췈8Qimb%Cc=ŪUb]5tZHVlk"=JL! A05t(=)$kF&35WE$U1_U^U5Uh B,lI"- M;g,s86XbѨ!s"d2h藺uTT%i\;Szo2]gqCiw+6G?B$1~b|ˑM=VB1|na4]_My''?(%f8'a[Jj,FE\Rԟ V-&!kߦ~35xnB<6-q5|֒b딝 x{CWiF)1γ=S$6$cn̕L魵]>5VA-00=47gTG(&Y7*qޭː{ksjk n K~S|j*{u="w601U;1,a+f`Xwe`<].ӌJOq*,QVa0XP=k:VZʾ/,ȿ+ئ5O'u/]hwfl387o?zO" NH6+4Q=1pJ"Wojڒ՜ Gi=Oڱ[Xkn`9\,I% ٣7{T)Znj{VKZX@R-wY=Wk˛TFK4j!䧉Okyϐ4edNj 0,;!k MՍ8.;ze;TϬK6 jC{ $1JFgwVBm;[= i=]ʟh{9ÿuAآI$jFXFuv"{D*IQmTr᙭QS~.0LTd{Є> >xzGhhKkNoOQ#HDf-0&߻IFR~OiEs$pa_ Oa Sxչݰّw rHdNON7e/Q]}~\d8?QujT 8ƀ[Rwߌ7,?3U*GiC$2^X''d _֭ٴu1#6ĩ^7NkEWS%Co]nT:CĊbGYNaWYEV׺ɤ 貯>ID %ԄO0*2k3fvqDjAv)P4>KCY3Et^:оh?3#UN=S(i%;}>3Tw5J7O7:IL̀=}YT!A v [ K Vh\A{?9MpQ1kލɚrTBs"P[xKLXj~$u^ow<o@2qz$YTqA2&Zz4nd q4Z*D74t~x']9>ΣŝqvJG?ﶞ3l)>Gw>;w{'LL%nUi# w#F%5_rC.E3Cb⼬֚lGfWE R+1xA2jUGRe0D!87QE BcOca8v{Ua[@zpǡq?/E^˾E#/2xW5nh uDt Sj O5]xa mgn_jQEA D-!Atmp 5PIvZ7JQV%XboWbs;3^˒>ѐ̮쬷7 V$ΔKд:5& %IG-=OkDϰmSЌ747dy,B14ôܩOv`Ͽ嵽E$x1B zvA5Ez#'-r4 )򒳅̇W)"8G7}jO'ZVdTW/Ig@:9E7aj2q+ri¿WiF$V\UqO%dֶ }-A[cZ"4RE{N)+q{_|T- 0l6_.1]B@o_66$f(uGS?7y?"l#1m7cH-CH `n&*H*~Mќ9iuq# jfȲ`7Z+rf|R1.B+bU`Ҏd V3!ʚ<`|O9W|ŦAgQb2m2` GTt D!뿷s򏘺Ez;j I>75#;lsvh-R|:z;f g}?CWRu Dì}X /-xƱld/w@eJA7EoOCp653Yʹ$sϟZBj '՛x\Mc(<ħyR'pG(HSw&[v+мq!b Aɳ*rЗ{JLj2mL׻)r҇`p $h[IrU87t}j<.a5TZ h1쒄ܳ2"!u]2zwB1z~YtA{ϦzQ8K !ژvN$Gqb_޷]֘C)H SëI̩ໝd)\Cl]L2s:vw9"ԣr.q{g@FU},~JOpea>ዒ#^{5y#}dZG\ICz| QsbK\>Onv^ýN c$ pHq} WDzsj-[LC y!Ʈ)N6]tiQ'@P̓havVNǗn=ӟvYaa ǽ۔X.W,s>@y$?8O;}cVg&97DD0TK ۪[(kܦa>?5%t3.yxbsǠQVEYTbfTs*\W5fԓMKvF1qStiNj6H,U(>GX*]9Ae]"|\vK_{ظ8ejѨ&m,*k^uXkNQwT>{`FS:eos-dIaL\u-r:!F/FO3w1TY1bs+Fsfs87fGNk@S1.Uo;xͫT(s%>N+'0K{16E|o y/50Tv` 0=.%ϟ7p}ASX,"ғޮDn!|Aiݴˎި@AI9J ӡsv\8t3Y_{wȇc%\oN[^۩d(ymdB4ָ'%\[eXS+pX5hr8 Ҭ6\&SBm2,9'o7ڸ%vK/ *NV ,6BKcܹ 8C8ǂfXc6rP}ĥ#oа(k+Xę@|&rh޸'h}2i[}V~?_GpXߪxu~\s%'_uL1DQ0bW/C57mu<':$9 (W23R_?]+͚^)k`*.z͕o=Mw]!W5tl(H<<ՒmԥPƷJ@5f \,H؍P 1zL zğ'tܟ=-$"[41l:87D9dqFF5&ta{UѯxoW:#52@p 51*/︾cL;~ez~ %Ɍ"22:ޜpJ\ ^YG Sg8 2vk5 RBeG%ô51Ӽ*s!4}ĂMTY+վ<`|SP͔pj:+A`@矺2b&̟ysZdj4͸hqHJPO`զ?$&خ٣5槸::y龃ypwqJp3xeG޿zRr8(0.*يnlHNncZ/ɹClqZt](H!efLmiS63gTg8Df`l?.E$ ƫ0+N%&a{T/)jm8~JY8,Tʓ0O\:;%C\&Љk[9MK <sʟ7vޛu_|5Kè(!Rė`64㖹:Q>, &Ӊz#K^ .&"LU:#/HgxSƟ(?m-8VI!;, *)6DzoD{B@z5;Zz?7|0JJ}t" hz=~ϠV "?'k*mZu=ysY>L ;+TA9[0U ㋎ ,יBד˨`y\҃r6Q,` ƃx R_#ND'G{pP+Nң7H5:eFNx_hE}:c-B>(6FaDC<.-;ܑi:s!@9~çl8aÆV Ć۔Y/RZ)Dtpd<^Ř!#Q+znWbv]J}{$Mʧ"wd?bg* qIK 9)Ѥ6VP4Jܰ:J-L$֯">eF|eKz}%.2@m\4 Ю[T jGE8^_bKBe )mc}S4gV!4Op v!K [ߎe9-4sD:?0Fr\P\槆,64";g2b9Gп~X䵈6>pHgFٜ4YCIf0Uu>Ċ{IL OV01q$3:KZxۘA-\N7E;w;G6Γ 0R6VVVJ%Xw>W)):.}aZ}ȮaMBŌ@{lPs x=ȓSwG f ITjj=@ʹL>Cjbl#@/QKVIO׎6k 0*)#cwi uMC@uΣzBe|_NdCu|:Y'92h7iXGNOzxxӔpVy 9,2L{Bd!zu*b,lRG flk溋*lr |saQ R-wR\ B:DN-<!#-K^E/h4A&jXYe96LM?9fԕ+^|5 gx?-c ^|u()#A;z?ɉ0cg扱yOBMj(CL1v>$.Q[0"۞(patDas_vʆU@|t`}kÏG>f ]}Pś.OWV Wh/9Gv_&(oYC&sWw%JG==ágj1/vvB4^6l5-/ZxLe{=5g-rݞHXgJ5Ỳ%b=`N9|%*st }@m<+˰˜QLٖ]J{0%O/'gNS񩀕*xPc| onVhr\Z4U j229ѳ"sr2Obt-ώnL* k4--_?#EvZYI9XJQľoda`]So Ņ6*5jIX_x:Jk? a`ͧ`[>(s]z;!O 8'଼Ҭ:?V+HMgA4*!(TUE%wTwuU•9,DN P$Sv8ȁwc*8R`^ccyva'}3yFeDJDAhبӹ4Ǹ.&}ֽ5wy5~@H ?̹Be`,i<T`o=ZºSrKf+zI떎#8y^9z@@XcaF_>HLcvάݣMjt36>smxP[ZכΉB4r2Xʹ^Q\ ȵDn 'xP&tA^UJb@}bWҾK(ܓU" Pl^9ȀP!H59B7W߫g 󇌢] >^.AhknFk>AI>\Zl :N[8vpċqƺ(`SMRR,H|} #t׹}ٺ)|uNE -ӛxO6{*!LD``v^Śέ՛G7[qg-M ABN_`qV~{m( :Y~lo {wsQhwٺ+qܥm$Չ/Lďmw&7ce@݄GNs˹lM6_D3=jYY;PލsXC<)?8KڥggFrln.aW5@^] MZo_]%3N llWVF)/ ̥%6?N^^+4 1jkr2;x"5Q4MdvQdIZvV/ә:/BJUuoN ]+Z'p 5ǯ΅ SnF0%!ЬąOdz8hu<dV",:Ƅ4q,g%ԝ{fikpcv"m6kvsV:W?@Ŵg2EiqO'lyӌccؘ {xSQgВX~8FMR1d&8cO/DI> 6xAΔy{g ݆i}hɰRF{ϚI5)BK{%, 1l^ $#nsoLCİIa3DϪ\GNj~ݵԍ],Kx~iL62hyڄED)Q+4-|!Kj Ok.v؎.1!i-ޒY΁~`; _tG:yuJRͲO{os8-0 )4Ʒƅ%"bط)3k{ϪAFVMmMܖ=yRDȞ-)ؚnTm,*T#8:ۉ6z]s-`|>ZCE |Wlap9|lU[ ? ;OX}$/4 [;zTD+ONyaoc?Sd"q>Jh {a4|G(㩎:ʖ(pi[Y3hГ"\(e˸ h̓gdx-Du':K> [}q@8M lԼVֱEW<$ܭ곸¸k?:~v[bs{ꇺQ]b2ErL鲿!V>*Ƅd>p޵`u}){D lj*RDޯ7 XJ^&.pU,.lSO5^NhǨ,]A@߶C~)HTD]?J0BJ|{f.`s RAa Iƾ¾'/ W2%exF?-pIʿ`:7/y?&/g `c 6ޜ,)9YhVQ]mgE,C(wxC誶.O4ND;uVΡ=FPC|V=w''@(ȱv`!ൢF2e*%A1'VT=M3(uj:AR okDxCw4׮U^4p/k3+MM8 n2O9竭f:MAo&Nk4-w-b|ڦ#)pE OY# jVVd̈́M&T7:ܥ.N?Pԭ6љb1$şv ^+(F5+*QϮ2QR⊓Q %0K^0T\UM~#\Ϯwx1mKѧvh &g|^ P6 ' mۡ*TqӋo%X@ 9Ok;**|ԺAT( |\"`}AȁD j}緢z!׏,ٻ1q{`9!Y1{KkvһW7RƆ/ {yOg xWcx!'IU)XW,l&"!02`_ДS53m0jh眪>QbFZzh?ԅ8>1e0G<=kB  @Vi˕sRwey\5%mEͯB厝O!2T&12BQV>L yޛ7v/gKN:BQсKnM +UkŒ[W׿ح`tH,gL{wi'@Uw{' F4fN ^tPm:oY3pHO @6U [ҚƗ"ּ4d6p $4R(h@d݂j kw FђTLrzôKjVmn<)zȀ [T / %M;4M[WIsw~p3d#!ObkoK}_ ^jAkȬ Mm]j79䡠TL>ASV辙Wʍ h }._Y%9 j3v{3k&hWAyhFgjK #[X8Μ.'qƴ>p&,Vlz eυS=)zlyޱm϶^Wkk ̰T'w:T^֤mb7Ge"LE8t qn\q߆$T~j_Plu-\W@Ka}f(wB+)IU%o@<8[=/*)KNՄn%ʶpg_ԯESӉ$O6Oke]Ȝ߈4w?ȃ+9 ӣ$.@IMShuK|^ClG? tQ j.Y0vmU+;)…L*p >ԒWd,2BG֒ʴ\?~\bEޏp^c'R,*|ٙ%n9gTѷX6c$.kVZ],^ P_alu^E\f ׊5@oR9OZ eqA`_l cu.K@,.7٤>*' )8,$#>6.x 7x2a!f]p|/A&5Νqd+&+>Ez>c\Mdmmmlh9s!-\i p2U0p(mF3Zk=r p`@s5&T$vF,Ym$!GCʷQ˙gZ$6+z*rpG|b2Mȵu#T$zIC%.%%+W #œd{Ub{L-rwfFDjlZ{^f}\A)?*!P S8X؆G@6""^ :iT\PY#d.t] nYd{D`{&s~^FjPC;7l2[^I&D定h83y{Ͳg\+"1CZ~{8M *ry>͡oZ/~R`Kp#+*{33:P-m|uTpꠡDj6 ޑC}GI0 6 Qf :ta:PoiNBj~xiZI4ay}!Pr0! n+"ZfQC Eж&{U(\0՘QX*vfDbab|dvy:w~9 0%P\7.O ~wMo[ {Z:+qc5scS`Dp! ռ]'3 }:I^J91yqX Ӥmv0 {J>I=F%Q:~'2"sqNh3[Tl7|7eYqU>_ne9(m# ]R|UGJ* }.LrbG5PbN:8GnXS!e b!N;NPS,QrCM:d%.-Ɂĝvqpmv<߂|f8Ըkx SZnrnV`O[k>*r]^,{~K˓P 7=zmC'OB xYM];'d"2!>"M H ߓçݠTnj=x߉VCՠh-\HQDfcn DqUqsXsEqTcՐ;{kҮ rV?SG IoW]a@DK!h4+#L -|I#MwŸ o7h3Y[7MqI}5x79wp+ ( r,#CƉ t,nZ밾߹\?#j2y~8mKt:Բ u<1;YL VsT>5| +۽:zq t7x%˹? N{E%i"f6pÔ-n$]m {01uqGü˷\ ¶Yqx7,!=??JĚ~MPC}-{|Fq*hV5|M4@EdzA;01YVmߗ#CR8SBee< =6넀0i@7Q?4fm:0zrZ4t8۱h{9%`!Mɯ#TٽsoExe졾hðB,Mf4єb kZg^{a}k`}lwhB🋪jq#|ܟf㛐S(]g XEzpjӔhgq0 썣K mh݀KbYƚ|g"AڨAîORN-.71& -.g+=B D/i0Q';Ih'Z:ؽAa|F8MHFP',_H)H($x,`vP|cNNؖDr]o6w#J2^2.M!֡!S;4eu%^"=IVrBR]ղ'ƫpx8+]=]ʩҽ|/Ϫ.mE)%Iw!JxFܹ%,^}5+w3yEqI/ B@Sc9;}b0=x VWoPar\&4:%U)mtm!_Im{b((Ht6[-YRO׾јjN #+Fj.Xr3CV_XZ 0­i|R~sK6]qGɳ䷲@JjqZ-7 @FFkBl}YMP$Q4!u߽ CHZ 7IQiGhHp X1cVUdƬ|OCYK%~QoV8 yԥ/e̳՟E<ߌܐi?)ؗ/e&h*١"7 X zXt*v,W`PbOηA9ډMGAnW<[I+=: BVr[誹h)d=* v06K%_kĬpyr*} hv0`奲,knFe "]4D %]ؔ]z }OC\9gX*7 '3<}?S/EqnI]^El H2)D '8ޠRH@`H-3? 15N'Y ^`QпK o5CHne":`Xtfǐ/cf^B:u]-G0%ȹDG\bJh \E[V,G~`xfUwe:~ͻ^mv^]dm$5- I~׆(KBYjad|ȟV00FA;Q룾Yom"hYF vxE# )}8}%NJ{hvt{y{eq_FbWAŖ {'$flA^|,RޢsVhyI`t)|!+ꉥu 1D(!ϺWrmfcaYr|Džc漈QgVr.}kE0g6(fzzGN%bCPk!_k@NRt s o:u=lPL^0)*ˋ䜲{MuH(䣣:O# m9q/ bNPɛNC *#RA9[n%tpGvr|@n?(5n:SܹZsroi1M( :(x~\J3n% @B.^$6;j&[}Czdw_l<t>N ӵhD.'TM%/؊c`L/lGξ *eנ<$ƫekGy˔ߓE~Murۣ"<{R?3wU_aY-Zy |ǪP$En:E菗WUex;X y%kzdVGKWqq\$cM֔&uPAg( 7|:LtƳT%Eb+ѧF Ǔˮ@:ĤPC"ڀe.l%\!teI5\+6zrE*灆?Rz?MzZNl2DZթj"UX+81y$#"ˬ˶${qi`["UViRɯ[ TeAa"Aa(/85B \!7PmtSK]V"oKV.Rw$JE[C@[mJ.nM'yl8O~[*# s+ҞI s4v S̞Q6[Nx4irĻmU.p&6ڬq|ܡױ.y'bL$q*Ȧ,ڶ'jrp8?šHvLc_`c?^&ZS]Ŋ\5$QP/*eJKA9kGMJJ6pLL-C->\wP΁Zءtj!%hJ*1lc nCɊ af#6|YBgmpv7w)g֑Pm7{7~Ѓ91q-,5hQؼzmXp{+~פl5zغZnx[mF|Ew> auoTt/'pJ-Jo$ ;Y^*çJWhUf%c׸Ӹ ف:tTnjii`G Ua>qȂͤ#D yiT7~SL!k 9ij6gzT"/Z"H\=VjX#>Qt|llfք͟YN[aLE3Z}_4DJX )}F[j] pnϏxM`H6E\]̧(g;1Q.1Qh+/veKL^lHL/UI76!0̈Ì׈~15 CmCg.Vl#hp'X> LP|oL.%0B Ľ%pN[mC߷tQ8[+hN*gd0y˴34̠u9#kaǁUaNF_daPwUWQXR;oZhsX9Xd !8W,R7s~]&n,:0`yHc(stXe(Z! 0˞5<{ҼmcՍl{YX=>3@D:Cԍ@d[o3l$ɰw^m]&+b`EG!BF7ZdA8DF#Dܝ 2/cUgBoW 79vUD]lHZlQl,/* :Q$uFFZ>ͮ_cV M,yK:eiؚȎG{9R>^XVvd9gqjiMo{STC4Z HS[ԾwHҮU4~x(: pcw13,3,X ń*g@sOh9}YXR[#Fo-uA6_ tu.|ɉN{?r+f]:q.FApZ*"i=mN o'A|Eu [{S tqRmɾg>U g җQo[5#b~.sk<6nzMKNԤ125{Ep|ͼκHSLJ}!ܶ4_} ɹG/bWY\e`¹zxf!L6@2a;ć{?nFڌNIPs!MMdd)o'F&q4n1hf|'7>_AūgghA93t/ ]öe+.-G }A*kk2Nخi`3^̦γ{?*QPW25Rayku-*&c̶vc c DNR: }9.5r]]׆c^f( [RhsB0Qi T9U MvSGˀ%t[VGh,|"9JD;fǂ;ۘ'љ)6Mٲְztg ¨pxu]az`"7]6HL~l*memPi1B @&0,%U_.7إ )4Mu1'#gCt!.ŻoZFDߖVm&f+T7ըD b扯JGLZB^GIku3U&YAvÜy0j$o* ijpߌ `S~00ΫP pܯQ#s̫VU&sY{wݗJ7'cQZyVF]p^ֲj2SCߺQˑdTTb_ϙ7]=?ˊ`ٍ"7$,AƅP5͵}-d Y|DZZVǡGT^8qy>F=+O3hi0SMv>nϧ2Jl===T8c)HUhz30}yJNNi՗3=&b\i*!FDzݍ{Zu-X0UHg5vڵN(]{: 5h K?x僂Zl3l]Wj2?;,/[AJs'N.W| tS@9.|m/ V gMYpIe]ӽ% ^>%[kٶ?@ =f2ڼɜ!X 0ϏP0֤J*.(=œSc~%ϴ5NQ'(m|aq?=2()4f_ֹM6~m{l8noR_f@,CH%H1XWLQBJ6SL^W [#Pp=eЋxv^0I?uXVmbt׺eB@h56 NONJ~ pc%Z$ dy,LD$VưmEgOKSZS5C^v$_37CKp$`\3۴.~Y#7݅' O.4bqhzoMc磂AU%%NI>7|x/ɚSфnN㶈QJر]LA,]E嗳`tJ55Imȏ WWxO :0(у}rRV5vH>ƒ&cDFbgM/5sߧ! @!l`;s%W=*<4j@6pP)AS4`L+ }fU=Wy1Oe!ZC,5Og1+ڰW$J'5=Nm=d>B;\8u Jwwh$h600ۭ95[|ǫM0?@_+ 32b?_Q[!NSrV@E5n=t>r&ENjA혡gwkT\:s~RWLFsMRʭt,[+{q4-&L 6mnyr\.@I! zoQbjk|;Y$QZULx҅0~ ʍA,Ub nyhV2҈^fO8|٫H&[wB@Ǭq11®>k$FVM9WFPT>/xe1c3h>n #},QT$A;*h $#5Q䦾)k,"eV~dyGn56J,\:k9.^侭V݃_Y'1tF8 ߜ?Ij}uӭxe cZ|thԇ@%Qz 꼩a,K|9OXA:"gE'4Q9T{籨7v;07|gJm֟\ie w$mYIײoulGVyXƐV@!_ Df(5k~^5Rs"J[{ lJ/3R] x;)M^Z9C8R_OJODw>N*|>6ȱm)A8toJ[qt3Cd}Zşׅ'^\q_$;V&p=ؼK$~p;7VIS!ɠ 65rJlՎGIC$M ,d"s!=>:kAG%,sB>% n v|Y q:z0Ljo@)>*rERUgܙe]Pz"܌{ >3eyZA'a$#$wZzLYpLKHj zZ^E9PXXq*`&$vnal^a0N녖3?֬$<6Er&g*.(դ9o.LWYa!n?<z5ўqWLߔbR2LX{ܙ(i ^\&t$ZdF.Ǚ,PX:%.k(ޗ("lںޮBzNBjA+6S G2Fs* |kf ڇyFWS۩t)NS)BP3*Z*Q8-T"b첒Zح`كWiKng#sH!/ 3 ޞ.+ h"Aޞ o tgxdH9Mc9 Xm`o`~!$;g{ a+ *P2O2Qp~Ö{VMG K:#"UT[k8(7s6\H uf6N_HY=`6vm-뺁uveK.:$}"\E,XmPك՝ (^$SgaR[N϶D)Ta5oC04k,BQ3φReoN^ߑOj6o^qz!vofL/2j@ۧW s>PЏ>xϷ+`]SA5ل׵6:s_V.\i'g}oҥ7GQO3sn'7N1ϯ*#;S Zx\+8dS-!m@Vv~p|g@`ZruE^DjE(]#ud=>́(FTIJ mi뀃24R( *^AW(\F1Z| ܛ^8B!$D O=D-::ol-W0-;$P ap "23"я)wX{1b[(/Y[]:Bz%|-%=A>C}L"=βoA(DXMy3 `)"zwHƄiM`9mW\jدܨY oqVm/̉]Ť\RM6jm+Z$jWՎos!ԤǾ+bWAeшg ʼn"NO ԅC$,d՘~W2NxA9:Fq5Y, } z&6ViD㊳`{OvcxDžwVaFS`c?0<".k@w-4ao9$YqiS Il I9s1ØGcg> `?#u5Eƽt4-!S]cL 3EwI`3K/ :aVa?2^[dLqs_2:j n($L×TXO`9AxU>delqlV<2K.pӊ}(`t2+7k#q;3kr_DxϘ[w44^f h*\F6[ ЌvTY|gL~@Mw@`RmGF:dRfHYQ`TZP:G=oO@mIOQ"k7܎d~1{P&~@2h[Q20 U!)F A$~SJcE:]rf93sNq(0N\ĶxxE.Ř]t7[k L>|xŘK08tWS51hq F>A5[3Iw4׍` B]۽{d'ڙ4^rb%B^etb9P0?GX&-"%"-]GKZMTH:'#M||z6 %/^[}^ԲO/lrc z#Qs5}@l^/58MG,`AUA㥆RvgN,n7Mzm֟m{evȮ;ɏ"\|%$4dm tGک8Ʋ~$j^p<=qʻ D2]mD 2u-,$\^Z- /V9/k,AݣPn#> BBO(_y2?w?dݻ壥R:`[wKoMD_vV:J%6%oDB oM!ʡg;=CjΩ mvR!H|QDy0aO1AY-K4yZl~G!Q@4]/8*@ePa7bjʷ]p;Uxo*%Qz_UnʧnDB%]OXpDCB$d↷2^}W-**eMJ./SI6S+hW8O3n% ^fiKV?wlK<)?0j$) q4} U{dC:ӥt)r[$[ ]zXa%^g.\:awN\̞#D)Eᆟ> h0<}'=+8K n \LUktב,e8ǁ,t2̷E^ųsX?D +A:ޠ K2OuwiH"N􍰝Hy3z&赼@-3ya L@88 ۛKफ़]{"Gl>I#S|^x/FØp*#v J(hl"o੶"}KKxR+3Id_SMg@ZGה΢u"z(垔3*zHhcK5 O@d&; ncb_ 1Irߠ%+ևVsZ*Rp~\Vc`3A8[}b @n:-|(U38qm6PtRwɋOyؽvhd߻wG$ v aD l)UlZCPNELh_T z :wq>bU>Sb#QhQ 2fqדRp?>z|oZ,UG4e%tiěfMkN.D]et4 !y'k(V_I&ɑ=~]s1g[{S2XԠ}R#h*]Y 67%͊SL"" tinT]2ME[ DZsg.bMU%0>M^}7 SVFs=~%wgKi/KFmwglxVrgh }"訁d+oNF2BCUlZ-1dw`^`ZLjztj'ljzʺ08Ñ}R>૛&˨Pg? {09Ϛc! 0ʑ1'>4dVի0%>[ЗtLH@/c/Ӹ+;s !9HYñTQe|gZA 1"902Ub`щė~Z|X:/+tc`dL#`JF #11/WEӲ_n^ L>cEbN̤ox ̫}_3zMv?˷aج~,'y_ҵ#T*8<`99iψl3y,f'gG6ʬ6 EUN'ZG1 rno%{peN~myv,iMn:'Z?bv#8]EE|~crT :הE x,ۧJ#%$S4P[вeo$r(VS&:dwĸ7 DI^ (Q)'2̇3B"oT IE1ˍ=>?4s)|ƑW2O Tqt 1Sz3Ka N8Z,l||gcѾ i x' 5ksLo]Yyp3s~~xyMiw+<ˠ TRD9zVzҙ{ O`ѽP0eЎ3MI_!4%-ޯ烺X ֵ_ 8q}voM vD%TyTu֙MQEbG.SV8cl+{1@I,zEU (io|/WaYLH `L3r3&!{uŒЌ$3 ItZ<Ɯ XH`/ol^..9:mzӢ=GX"U9(z%e :9ah:̀'B ~xTVT 0?—~{ً|uXL%4:AbF~)8EPt4,))>0&+,_Jn!h9mS ߅# [PbCz{31Lnh5]{eY<6T\иȽ,Iɗx9Է^nAKFU?PT [$z/*-й&b sDf^r,'`W 6'wJ'<ѽPEEњ8P.l{B1יbS˄_JOWHʂvQSWhzF߬ mOspy%m,gw`O&=}T8?… E [Ephɨ+K+R8*5`Ƈ]P+*C:: C@uH䡬%S3|m: vYybUgE,QZ[Z#*,+f%Hgc NW8^ 62c7&ysb k(^XM;T(Xm9I IfMmA{aoENH*;f0# [c0pIl1+nGg 08Z ӭNkgƔچBڼR1z.bH= :<_s$h1(DAmB .}/wxN9crӔh b62]S3JոbE!w7QZDŅtOh:ZM)4AҐI`t$g $0>ٴ1a~1' pq@(C:#*|D_s? ӥF}dsZ&P6-x2#S@Q)<[}AB/E[PX`h4˖wݖ7)!u{ȠVZĦHt;, nfM†5P% ɶacS2f`YcT:z*p(<>a+:cr(*=sypF(}~)ǨA?jB-nbA0n JWg#!fyE#fzYAAsHi IزddБۥ;`9TsN:vz_d N0O7n0szV_"xd^&$9ӓ=@NqWYMq(-C bo~&Ea s4$3]VJb ʋX`^lan[@'w,7xpo4p+k(7\ml{(9P@YL4zZ$L6nsyIԶ?HZ") V  !2v`a`W>2wH,wzF9 X!~ȝRdA;UatsߕdXV'RW;ш|\sw5TEϑPSap(8ǡ nxtX>v="u(F1AVUW9PoډA`{[о ь 99]* s='AEYNXśewLj 3ǪBg*#cNq7}PifѦql(Wp0|@3 GmLf[忊lZEͼL9CRe<1!V!\_eBy"X$0NEXh '݊r<"}ך exҋgn)W pXDZy6d#ؔD;Y-FB!.,bYnw\u9Y>²XY;?¥)h:`[ΠLiGEmh<l4ۍFԷEݤ@t l./Ch|e4 &_mʷߜkyPe&O{Uߪ/k93nm-)#LI7h"< 5|4trGNd Gq}( ќHI_b <\^ta [dsۢ9Ξrއ`maW移 YQXS@ƶHpqE/8XT)In}5'N 3Wn?s7 .j ⪼hMn^#,_lZ U 1dSL g@^M ^%T&mM|JYH;$]f=N4&T Ha`|e>8<;αu( N_S$b*usn:b}"D.e=d w3dýhf d(jިHIy.M0#Ȇ'pFyk'C4.P!2k&V¦BQ!%`:~`c:M_G; +p Jh6(%N :!(YFzy_ͱk Y 4Gd|m+xD!/՟پ sѵג @po+RHzI'aJNvDPFæs>L3R[wˋ(wɂyui^^pHZM1x9SbC7 k󞬕eCT"#V[]Q@X4hk`,>NMPtJh<]/E`>sU)۸ ?Y*eet(G~M9tI{- #EY"~sVU>lde-}xh?;8%ٲ3+ޟ\ds+ ?BeUA`0cq y\ w#sQ4-'KWw8o~d19iܰ0~Aoy( Zv븑g]Jl[G 9l鱑{0L>fmÔ,Ҋ],7F/1ӀPUÉ_a;&H D4jBqA#M2~(k,Ƞ3 ]fr;*0b,n KA+"n}Q9/[c =f SbuPΖ87 xiTBy$Z@`28ˈ}9dR]cR9+'ȌB”Ŕ):Q1[D˼d"'˺@E6VIe@BZ !аyrY)lwE$= V{GL+ia]'Ϧk%Yk^BґI!t3P6|h]$P;KJ+W$cًAI-13EY $2sWOis )EVe'Ax1׈Q* XDپMv!Mz+~əm|rP6ׇߥ4937IRm0;rya*+~$~w= M%iy8 k U,@du`$w:T>"t~*5ɋf(Ȏ8yL@BK1B!RqqE9Q#ƒlSs#?sy];'R('TT: LضGB[uET""Wm TTY9qb%%06Õks*C$]KGQ܃azNHy}GH2_QX2oNZ&@ڥTfJ)kL+iw;GIV)lDdemɜt5+FqXZ] KHVq У67ſ1})lR_RF9 A'`k^q"{ `$1Hݹ i1}.E [=Zϙ!eΔDrcZ9^!Q<{ݮxzgBٶ;$JSQYq]HKEwRºglt8vpj\u*?gOEyWc`c @y {U@M9t |!=_+HoM,FϻF`oEV?6Di kq_%E|L8z&yT%ѥLE%&Bs!Mܧ!.7b͚ +B^)ᨼ] {U)%⪑T_G7 îoC5Sal8Dڮtš@}Rվ>'I+ɾG5sŊ(RMlQhzʩF)H-MbzGoPU&b厈vi"]^ u$P\T'(d zE,J,H<]9ׅ i" MblN 37jSxZBVhwjFn%T\>\RNJFh#OxPrpd Sد >nz gψD | :¥k lmePNp91PtLCh4#Ҟ4;Z pr;- Hq!p= :Q0c hFe$Gd *% I*WFՌ4!4KKhUٖMrbІ(JN,,\idcJx[S$OlHm-[)A6 "\Ҥ䧫7V<ݞqm{{.%ƌK.K$uqt`YUn,^S5aʌlp PqY&hi̷-MY-{APh3WwϡP w+LL`޺y !Cl]RڙϽU4aYl²lKx ggu{n*ɰ?Ԛ0Y c)Ԭ Rm3ӮX $:Ze %{Q +ZvN1̥?X7xPVH㌯ ? !=eMUԀ'or@(8a:n/IPXT`n$lv)t<$>DhE-IVq: 0sۄk%]eJ Mv`}L%ik0mEWv[dWJ9h{]kbc3ޗ0Sbuc .CGʤ/#Roz՛՛ *S9.C"k%;2B'_\8M5`oCz%ۮ%uFP@aq<~1*]mËdMu쭁I1"=])TL({HW6M&v\u}'?̲~o{̚Ěғ( ;ұȒS8u-RG\Co>/ T6ZbaM ɲAۢ $ÁE4D\+n$ j%U[Vk_ ^E[G[ԑx?:˞R}qU3u?*P4D ё@bf8ID̅[9$Xhk&[ф+|ZUD"w,hq$rqQܝ;aQ9Q"_X~ѝLMVz..EP_' CK~.?H : PFF NO87M"W2%FMUfT2D0nv @Ggw(<3 '1eš򢢝/"-Wk(E(t\Qْ2G<:DNO7?!O-0] ίzJ`zgp@ ͩq)EǗ&?wz痹Jk7Q 3EW\h/r~s:ËJW$Xezɻ1Ř ;I(Z= 0X]&.S⼢<wx*OxU}t/XElo$mbzq$2Ucg;1pWb¤V^ݢޯI)W9`&iܳ)^ j=g`p ZӴAHLl3, ,Y&62A@1 H2EsM;.7">̎ ]Y: 7ZJ ׭|䛁=>&aޒC5l ɀTDlR]|Ss4h_81j1POjGş\Ő Ւn}E-)UE,s~( g~*-*Y1}]qE6s1ZKnT!_rxX; T߇O56AoyYY<{-3!:]ŏ,s$e0ilf_1B:`O&K+'Gv|_Ы[<WI⿭j ԁx'pEk6te#u 2fn^LFCFC A dp_mNzLo{˵ً?tiq3Ta(9jCHϾ4Ϯ{f@,е%7W&W @,ߛ姍Ju,uI` .jE9񺺇BcBy0J`ۖX6wq2ø{ʈFMgfco4 hcSH7s:rɗ;O@іk%z^ژc*.A]Lƀ&@d}M§(/Z!N!֎}Bl*wG W"Slk k*EΧO8Z3( jdCLtՏ`q½`4>qFG0\ZDƗD/mﰛ]@㬌{CݪqnjUw*ec^UylQL6Fɓ6{rvnS; L_v%D_> 6^bh#ifDΩ;FfejT麯d(|,}@P7Q>JuEzoBq#GI 1a ApMxbG]sLՁ*5т,pi罙ԡp843Kh̃}  idX %>kCP=캘hn=?jHx;j]JNoSwVgYTwH!t 6ϡҒ6f7v ja%Lm}q\oEzsozq. i S]M#4ӧ$CėUdԮ|MGyh80*#5^oc_[eYrSEjo>iyǨR$g%R(xofEV{糃,BnK,~# u07Q% ȃEkdĤ΀fMU#,``8xEɤZFȐ;ÂT8E`񙵽J , <7O^1_9_*ws:KT;sm9墐[G/b[u}ʘN6+L T6S YMl x,  TR1P܁IXS+ȰpZ ;vioEo;0",e@+ bs7%ʽtt÷FĨ .pF3`.?ځ/nf-8RoٮBz*  I^Xb΋[=K W?M|ɰGw5c4EKȶbʔ'GKH#=)Sp14+}iIRA7QZ> hh}P(bĬ{~R٩rq`PAi`3ebB>alSwB +Ig`NH73{I?VWgCF]x5eܑ#|\>3% uOnj;;^ߍ*u"Glɫ1PI$ts)T>N|;b޸5{[沓>ocM2J,^:~8 fRm[$a o,  <>% xX(O/"ZKƣ4)ItfvϻX9sȌ|r !6C.En^A,$9j"<ҖkB6IPN1dG/}P| r}#SS\ڦ PRlQUJ'O{Icb]3@ccA#i1W v-SO7֕Af Xc>).K>ln.dfb-lɱU=>}NI>=2Yӄg{tE9Z34L"xG ؀O&[skSxRXツ]=Wjqö`qp5xa a^ɞ*bL>:CM%gGvFxy(g3 }aE79z[3D$zF-b=^p^\FIJ?|&<[!J*}S閃C̳蛇$Oā0]mч@j`C9(~r;m\@)o\b۵}ȻSѻ""\1*,[{fkXȗRKwc ,y02=HȬ6ǟbRᅀȬYa+L}0+xa z,AP/WveXwqa9b8ͫ'HvQբLlz .Μk|URx|'rqz HNT.vЪƶx-0t3EKfߺ^= i%O^*ˆVh*4c<8g+WVGhcS}m'*XSGޗ؞)H15td#ZQ6~f.4?\| orpB*WMX\79 J?&"dY'o&gW;D9cLHfW_ͤvBˀvr2[Q 6!O 5T^Bթ=gxz2A 7+ ٭iZ1f }AŒ{dЫ C7JOא{P5j>BG`fw>r7{gj 6HϻXV:fB 6R)1 tpGe8$X614@R@qN"c5Y6<=yV A G]ʬ޳q> "(m7c-M}1#6! ܝAyXFkȍ嶜rjCL)Ub´d'CQПvrQbc! L z̤."H Zk :I ^qL% 7mI,]hHc1Dk59ppB-N=^fj֟u=+_?7*u}$bґ"B9<=yy6$zR2BH1=IA _%_!6˖F~4 rl}IC!y-47߆ɐZ@µɣ%l?űncRI4CVXS>m!ID0CEk:1J@Y)т(ݢ{Eo8`a)[O@-ϥ!<2>t4lk]f@QW_Kj[|ڜp=rHc3L2.D |bŠ L.vGoe.[JOV#A06-q < t*E~^00Y glU:4`u%➸HG$h1J=srL(')}\UM/6AlDpa3y^TJGK6$}Ϧ~8Y]Qϼ!!mq{2r2w=.rәW-D"Lt`Ee:lڎ(gOSb@͎P,%c\zirPֈХE3E T!j71; vw34^Q&Բaf*8sxY }r )_>Wtj(%pu4xR M2cABsMeo ZFz|ps1 42ۆ#iWLBp$& M `u2<(#.j֠d pl"@Rd$){Z>^K:kj؅S\aQ3G.]MzZQzr9eɮWO#g-!P GCy ZA!A|݊gR^Eg~}mkxbaog6bQ#osx?%TXyNL&v?Iv%/jcoYQ1xw+cÙGd{'-K>%| i&eyP +H̴<P[COmJQDOAo/Oe l[8A9p㫛c8~A sg~%JUwpaf[lD+oU;lX& 0:?ӒS#;׵f%7R<#I?ܘ s5ډD2h$ͻadH"["ݸ_D4CW$w:91J1ZmBW]ro7<84E] WP~"<`KYr|)A xCH `~aR =CI\ògupKDbR.~J=w5wL`sBCvr/:U*z߱6V5kBMk63Zxr=ۄ+'[N9JH W$ SYK 0^ Hy2ߧak6m3 mT\c0F#L5&%BUVQ՚}0ߡ;S~O̾=}|aotS5uԔIO\*Xbhmt&x5WQQYl' 2V)%^>=G&*fdGkc}^K>!L@x4|^ߡae7[%vS̱1u@̷-tvV'Nݭ}7h6!wBˠU-W)ȁr|)ּ0τ*e?>^817xMTȀ8[bs,!=Är E KT!&Ƿ`33ҒV+X1,><2:[ޖӦ|`/:㯙 Z*s괂j}Sg/6JΏAG Uc C{dV5BfLUfzPg|K[n6-'l}/U7p{Ai3k!{7T[t), eϓ~ J'PR (@}UU ؏`%L3k4Mh&r2}r\_-EGJXy~m1#gCw[[ژױcfnP%uzP> %."׼1]D濗K/5׊ bl"X?bPp0 \XZ 稈SGޑ^p#sh"h 'pqӇwʁZ,ω{0gx>AxƖz"vz5÷骊 l 6( #^\֣җ's\1Gs r-e s ;X=d^$weM%N [L x1 |ѯIu%\N Ǧ${G'Y@q,5- h:UXzX'_u7В\tzut|i f9OsdNZn6_ ^ܹJڊRi @{cEv"NI EɒTU͹PLxpMu'uf L7vj×ߧRm*|ϫ49$ALC`D)DDJ .οseth8V)%iy0/nۆڣ6hEo&kqMG jv^&-[4oia!>Y( lA翧@d#fhMn-6lZ={`6ZirKe8e]WpԨ \uW#] ϡv0ԗ]P9k :<(`O/x10OpA'ѝe78Gc0-2@t#A} U r10 {&}~!T=;Co`I$oÚ1uXWR?3JA~D[I @.*7Ӎ삹a-0f&m>r휰}2{ƴ]MּS^]O, }vE iAJO6H%.}-:p|Ȳsa? H KYٝ:sTNZ7_OGs̙= 0!i㚿'>avneC׷(l @g>+aqSDfKqm38Z6{]ٞb>1% 3Cl_B~%d<]F)f[7q=ϬGV~lMOgaIq^8M\ge_8IWLV/=a0.%zQeHVoo =jq9ˢ|?{f@Hij+APP+`kzhizh{vs3_ 8wMU`Z|5p%U+Ǜ$S<̲#&vp`hy\Gʬhw!ze3>MW>j>+bO#3ll[ 0v?](\Իtl7AR~?r׌TCȃ%,#c+L~gF+SKU%V$=ǣ_Bb7Y נZ#t-)OCIҠ;3O#ĚpK^{"pi)p6,+c¦W#v .uXqyޗM!)`C'8e;)iΊA W&KIjx0 (WZKpuG9 l5M5VT]`8+Ϛ74|H8QЛK-|Rh ڷ37۪<Ί& 262y~ܧAUbsݥ.X߄e"'bl6=`81AT['S`>^CT;ԧևW'Ja؟,i}DumbJ_䔹z%;nۙmڞatcмڡ5^7;ܑ^2Ƽ9 !xGfAu BE9 !L4ۄV-:K{}-.ʙyHҊ uЂn(XWYY0Yq6 t39_hQúSH\כn) l= / 0!@H"{T@xU*  >wfZhHS)M K?}zw(aG >BbԮ.ezV_{7z!|Կl48,Ǖq)^,hqt^Kql҅ p̒/Hi R⬦N)N^mscYf<d9;؀ҾN(hϥaH0ԝCoʻ,jqcK7>zǥPT4' %%;0t8Tad^9e^Cʉ"p˛BL%2tόȪֽF8g9DIl&ĿrGN/މ{/3ܷĐxQ.RS^A¨[4;4hԑlp a *GQ\m?ʣOL(U M6Yjk,.3O;tke729ee__qǴ":G}6R=05%JыZ[~`^VCr@ aeX mg3c'>Y'1By_M֏;86.,g&%VKgcn DjT!#c%wDV;ۋMpVѯLc=zfW=մNZ]znr*dó`꾏l.M'ۆ@YUDh.vfr34<\R>]qOGuڨ-|N2>"eZlHr !MrA AO Oa2P7[X⽷q y,pu/棄jr =$`pg[=!ng?®Ci Yx"զ\pq4;Ċ6;r_h񈩓֟/` dL~bS`G&mqpI8C-o4 jH)*Xa>齬#蔮jihA~oa.ͨX6~OՔm/OoQcEwd[_T̆bk!uIY*Q0.Aq9̊5W\cGE]BQGuϋ>%V q.$I&4.oY=ȑxgIC)B `]?׮h\T0t*Q9lԅvM4q"HFSyIVtXy1wxKZ W't"+ `bc#t)%Z~n7ɴnT;f +zEd:"^EXණ_9^m/H+mQ9Ln:m;\qa^gbQ+k;1p_fzYrD&_{yxO1 vʐtBkAlY]fCa@-R!іLVdKΪiÑ/) , .yŸ$ 7Lmwb.^=@jq1w2D`"TV̟] "ӵVbΪcEk1Nl/y+LX? GQEڠw_m;aSMxHYcm HQBlTU>'4J0HM/CUX껭5GA Mqj3& ec t]jfi?l7k1f.k >3.K򔱂U 1YfcYCvq "K{+ !~"i`CMrqlBD\yTcG4avCrR@ͯs4:݀[E%w0|xZDxWςTPѴ3yU~U4>E^ M%`?Ar%5}f3Fn]qr7^/"ba'fM:͔SӱFDTˮz^w}oa$*"N8X҇<:<VQ:o6-F]3Ǘ@fr4:Tʶ򑠬Bk%dq-Ƀs5T{(Փ*1!m)R9jwv܇\v:GLI Ȝj@GCœ~M$ Qz*+!rEP$A@shYq8Jѫ7 ŴJ>k.璕.Ez!ZX j UD/Ah|@,ǻn1S3ݑ:šڎ+Jޒ w; cpPIg=(F*S,v` *LL EӔ} QI$@кb'iH5i,(:zW7G28k!Ý}< N>Ko"(g$,8?w6)m  QeR/SnLQAN_pwePUl[ /@I\Mb@QV;_ĄL%iô_mPuR\c*nhBiu₳<iz3[wVLA'a\ V$@N;g.Д<]x i?0 +97F/J+jHc6Xh N2H gv Y)Y>vmA #I$A!|'!J(64.P,ˆroQߴGk=;Xz:f\Ysb-z2dj HԃfNk#e1"brsWn#Tz !>8Ƕ ƺ4'<᭖tT,>`So>i[MC 쁈줠1pFDBe5.?:OHPn//^6ڱ` :/9ag$gUI%S?8x<,G}B TBHlԡ4ALXD H+͑xt t98]J4 Dq'4Cq0p3-CCҮ,F~*}U}5-{oȒ\nCȥ|]ֵN&uH\ %$P[J ~H!w[(%6' oꭵEt;QɳB볨ӥM-ؼF º|_;>;<<cMx @/;ݔ~} ?|CT+$f6z0lہ;h6qLG^ ƄDHԣJ8^ !""CQ'7DscZvgszMPk5Gh)`0B#+QE;`Z)h$ST:fk X YXv40(}ʋ|ؓMAWcx 3 ? F?eVyʽDz`:v+2nI `BA Jaóϭ`bfLQ7!.>-v|X2]ڋg)KRY$:LENU]i\JeX%9T;DB]Zg> !$!}&c%1R*vӓB`!ȣ6 N N%zD~J氓i#~ff(#PeӓR5{Ueklx7 W4c y~~)jYsnԵMwf?ʧPqydL!zE>!!c*Fdyef&'*+OϹK$ܚ6r7je{\5Qd]ayGrLI'L] ^a`4Х(/UxQ_X$>ܯ vk'_3:;!S;({8=ؑ+l5~r@x?iYNi VP2Ҋ-X='$7x[:*.I7,%4nOaE} !U ] դ/Plx1j8m*/ehF]))>]*;[ 3F|>aaL]{T=uVfq|r-32ƒ)*b&]o`c5GאНa XFXyPm1c4uyZOr 9$7؆1}a(yH Ĝt} ?Xq3S(ǤmD#Tj{ YwXXbA.1a$\ewjkV՛`re>jtĖQɛvniL1[ 牑͓;2ibD+[OԄ34蓁 Hxٶ$^\tV3??*M Av ]S:(c$ >FZ f5P8ϥߑa5r[8ئ@8y]aoe 4 B 47>w9e\c?K>) $. IíOUԎcl͘ڌr}Ka0BӔJ7~Vo#u+fУܰ%$Tp̃dE{ociw#gb&iD|63 Vݡ^~EBAf}k.ğHhP7:IU k'[JyQc=RUO apqM `YwR(4EXq5V P\bK&Ym]U׽Ї9Oqp@ A]|;zyl#Yo_6% 3 3p:eoȄ&-<:p*ZB8o ۛ籈\/NZ;h\ksE2{Q_]8U9Z* 9BdLJ8MӑeD~,2TMa0,A0L F-PV =PV>{S8$EӢV\ 5'8o\ X9Av&V|UE#@o&RۙP, Ƴ \i3Ugv]W IƧ1G: } X$ f@)t im(A0o,,I~{ە7eI}ㅳ\!{)}(IwOFa²R,Z_HK\OLDqj]濈d1KH%NnJTY Nv7>cȦ$ѠWA`v1~W}㼏W=! b2Tp^'L\/>p`Ut'%}R8%HD\O?OxxɴV9C-$|:NP&g<Ze?X6 h<5Ve*2t\AV(kj^QIh;tEezm\&Wd|D }=㾡'<Յ+੗Q'|~S#wLuxa몜QHڒ8$8>3vx#k7Q!6 ;J-H#bEKoi}x8<'BR3lԄ- }*g8Cw uh`)ԭqMyu+BMc;l Y+d°`RAW1#x9c4&J^Q(m ٯ|5*0{n+;7|+W (fŅyЊtiWz9g#DI77}@`A !dA8]J53eHH ?m|SĮ-$סf8𘊤ꥫјO! x$Ridq>I`*{xZԮVDܓv+(Ǎeog%-j)hNc 쳐5v1uճo@L 4w}r- GX$8O@0EC5z֨XpMd{'`NPB!I˳@\Bl}PTZӮ&$u-lp0NL,g s'8qI-—/ z-ρY_OYԿOV֯W .a0h$^?rJyٜUIjgJICݩE[lhUyO+fX8[o-Ff_t0#LCېedyz7bWZGϡ;Efr}tUkKӬ'z2Vy6w/G6=_;ة/4WĄa3ZI8E޾)*W$A`~- ~hWJ_(f,u G𑍤7xI+Aq:<#U8hx,xrƝe/GojL+i sТ,j+729 ڝ&XJ8 e>_C|KJSqQeB/26_?B`6B(yaʦnlo'`U}5 U36K9 F$J^Φ7nb&Vje$$5У0D߾Do’#>m08D@ ^4B$22l^+|5^k)7Ηi LY  eiaV⣝4ƭC8Hu mV(} !P׷VC-._zKŵNs/o o'';ZQ=1_/5u Wa49B-5A<΅We5]z)Yl;0Iހ,ZŸݺm-tҜ/3 S e; `"rr!߫^0&b%@*ʝ &[;#t'8npӥeGao鷪KxK |(+CS򘋨oኇI{XO"+>1ѲrN~è‹ I\dx荥KaYƔů_6G7 ZM~xn?VgDdyo==*[H%x[PR;:  tq zۋ% V4REX 8}m4 V^u#E ZEӨ5#L6ɬWn׮LOcabAVD&$`6+7ZFi2vS/p׬F ƒʬE=7!q\;~vQt_!:=&v4M8s z4ۧ#(!O'b*_QHNW7T]aTUT@*O2c䑯uxv|lc=3EsoL{9<)vmr"V?DhCU7S Br^i53 üB?;A|8I,{IԿ9 &S?/R8XJnD$ƳJE.3(Lٛ<?)!Դ<8FZ SXļ7^2].Sֳ~5CxhIU^FeI(H/vސL•XI%.y<s44 ^hX M";4/n'Fl g1&̢eIS*5{k}^oW@}#'bGt,ۙ K܎Lj'kt3ߢx| +w}Apu#kcU3 I+Z,{M)zdr6"~,RyھdzƷ/5ޟ'N^u.ʡL`Ths+HZ-sdD}|UuMf}46j ַXQt( "sHev/ Lk@d攧6<}x$ӞӋeJ o(*?N]fNp*bE>: k@ K? 9({1S+./dE8`P0H.OUM0W^'.yAKy5a۷ bG]FM%,]%;-j{́GFHa{xHiW]z0΍.)iKWBzz$\̩=pe|%*qa7PJ吇꾛gOeZmsq%&譒p(Z˳G6L+ߗIy4z 6Id7f*mYHN[p_ 7VO: jB1WG2~ TQ^LVcꀖJZ>qHJa5 ?ک^sz@E^K{A!1r%Ϻwr# gw`KB7F2۩)r1 7Bz++ibSe5{cȄ{m7zQ{snZl%̵#3clwꯟbz /&URyx&ȑ4t}hʏ9Tr^bMz9A)3n6FCF+0,5m_#8K(3fta "$ 2FFdE̹ox9q̀XА>'/m?1daedNnum˘ie.m 7vG8~\ =΀cwZ ބTRk.)yҾ~+ƒdȗJuOѠ+_O>E6u&"JO {>(l+p1< u#L¾KۘmY4+ 2K}GTjZgx *+k 빌8lv [i n@_;!<Wk<ni$Yne#*&mH^Xt ԰.Kɵ]bTOt-]wq y)[lO)am*R oNU@{k]|J=OZrNorBk s"*PU[Cvx(Q=:y38?H$ z%LTL B`p>@";o=9GZ%3n ['.gUU9)|%|RVڐsvx̪sx;o5l k GL:|( FcwI{.L5'k[2B)G]3kjrme/LmM@5,:]WJJ^((XGT=~iџH\Ra[]ᓑmV [~_T/Qn8*> Y ]J) %y6jTɧBM"̶sojQȴ܄N8 ({} zg2G=KJ]\>MQq|$-l]aK$ *a- aT/EÄ။bK͐m. %ryۙ hRA;0j-䮆.($؋19)sn_ߪH_9B)|$1bK4–U6~þӌ씷S ?O&pWsS-wu_3fͱ#2O )O#nu`4RDW8hih'Ȝ Eި L&ЊDW=}"Ar ȳ4_-on bCxPV:giO)J-d KN=cW]SbNZNQlXXov7T1Kic/̝٤DyI/,|(@ 5G 6aikY+Ư>.b>Z*LvԵ)\ACeI\BĮwya{kF6"cDlc8Yu}M3*qgpU Lz}uCZڎ`຅=#p] Quna}5j:~g 7oD*^?ۼYAh ?ͮKiQ]WG>d*'oYG7 sEmumn j䚮K3G "3P=ݬ%ؓt( 5S ,Ɓ̠ܰ< 5̹l]IbeK) 4[ +l a74xƧ?HOcE7p-6hÎ WA#%րc|h譍H[m '+2 WrRߎ݌Z Yl|N"$xL;K+BzSR~7k_2fP־ݬrnbEko4_HR]SVm3t= Oap,U:f2=ַ9Q yf2Mg1^I/0E}*tC҂8Fl_Ψݸ_lEnknL2w\ԚQ_Nhg Kb= Mp՝w 󺘃Kxqr/a{|L'XQw[vs #()L%VbuͳLϊ6|nX̳DQ5Zu۲㳔Jn3_-(LnQO͍D6DD6jegC'u@174:?+WVYƍܒ'h" UE3*5h k처#Hg6lfқ5RV[\|lj"ܧ:ngY5JQ)MZɿM#vˬ|N)TU]Z7=,bYC~z_z,˾t?wGi8FEDo^*-R<5^eXߎ-[>ƽp#L~so1M4W Tv@#=!SCo7Wu}*4KOѲ|bm6pEcH]H3ڃ褂*C~#G0%.I(o>p`C uu 0EX5%r=G0Y6\v kh`qeZaCJ(ȓvbpV|]uz~ |FMin&|-=Q&#Uu?h M*`CP"3 /ޟ9 -h\H"*vHx}6@!,˽]3,Cɀl#; pPHQ烧[pÇc'dVGr7PaM )iTZ*;>()* 1.3(EU$wT~ ;vlaIVX<6jfv^TT @ In}~3Xw*RyW^1o 4[ޮQr4i"~h4G [wUg<<$˅y&Ml/ݬPA&C>Ej T*ή@Bw䠖D@`1C<-y>֓Ccc0h +MӶv3±*yCCJ .xIRH%={~9Y̬fCAŬ{lC>?JOX<=V7i'o1sE1?J="lY ?>14 9]y+֮_-Lg.HP#+^ROf'}t[t4m"sN uȳ#Ĵ{>h):p_r|vc9>Uof]"J79ũfE]GR3F6]϶(eHLEdӑh`/|jҖ#i Ymİ4~@)sbstJ%Jh<)i>JQ",wI)M (7e%6ny.lEd:<'uB`w }B]3e[-oi^w܁4nԫX4Z£&7 HLѸ31#8sO-LuhŐc4 6u>(V%)Ο8l3}T;Ա*f鍵[^l'wb HMQZ=@ǴN {csE!t]6conCDaY)#8ZF5zdL` 6QBN_(^4L{] #+A#ZhzHRDm9ztbe9ftkZ5=obE' V2 ?yxǀ<*/*i'nWTN>XmK C&I<55 K~lFc]\!\:E;WHo8T1MDÒ6q_*uI9ǝ5wM)'< BsֲڶL-&*IZ.nlh*ЄTV]8|v".3O}:uL!tU u٘ʽ!V-"y}%b-*.V=KJxA:~APR"pDz|18BcVD]rX G .@7E=TI2uyvn/-H֥$;gؒtӱ7&+ce%q\}aۭJJK#܈٩?HLdbfF塨 gd c<NV\5t/}ֿ BHv8gPNBLf_a Xdc"'%8Fv! uu?r[pӈE5< [.ر<_`;@^ⴡcf*0h}[@[LKd[z9(~kw*\ md.Vjy-AcXj|3 }pjeT[Ϭ!ܿ#w(4ZMQz#>1WG\K75\38LFɘ1V΅Lfޛ?0<ĽH +v$ZljrtS#4 Kw9oT$~w1W|Y! k+\D2E(B4,(؎uGZ}タ` 3Hp }#LyIy[|1ccSoI=a}P"\A;`o:.ixxA||kzffV'{_^ic~L!~KtLТ %#+mܫԒ?pwiKy_:2D]7ٴ~5#ywfb9r8 AN%鐻2xl{ޤ5q߭ogz%DtŨ1NqcK䴱[b5Ϫ4ԻK]lTEH #$)^qsD<6|S|MGODB˿f|Z/ۋ=ŖKSZnR\;&~I!L26Jk.+=Ĝ:œieh+u[%(|uS6/w EˎR&FM8H3&[&@OF.#T]dwZ9=ðz.T=3n snZšU [P(s%fv Bv<8HQ_|k } H}%@!udENeUAjoy۳ٍ(*V?ХX3A%Va@8u۸:Ǯ!n- iFrdi{(;r7sQoZ]cE͚kbwMwDxY݅@ ^&HBĞ3CFMCshS'{ŽscAuk_+g~ɾ+{q7_ÁS"ȄcE)yae=zmq ' @tܮhi\;5RrpCwn7U@]VN7)6*FCB>0T,`y鷯J-0!ywfQ?+j'"^LTʬM3e<3Whh#sGVE1ԮHJ_Q#Wb# uR?C&QۄBB{ !ŒIy%<7qR)=6ӵ$qV(&[yKEQUo%^@3cnfwu.NvFH͜gTH4{+'nmNXnXNXx BI j7UA8G,RiJQ. l'A1#+AXB~=1ڭVY:YZ'ExhPP%)WOO? -T>RW9Ve4\aY&ET.,PSzŮ<5zvp4J*.LWD9o+w H$?46}+r6Ԉw$o*-rb9d l 5MҴf4Xɼ N{ETw>&s?DR a1'17~\S4_lj "a*G\v 5 GI!DP?4!Q C`䵨+?Cɱh.&Yg&9'i6+DF ʘwI1kP)"͜e*])-4W2B[Lh ^6w*ٚ9=E x$fgaFH-QrJZo2G  ptOퟣ89eN y+$OmU )DŔ_I8X`N$`읃xOeh*&2:Ҕ놀+f?Xy$AqhF'*6j#XL\U`꽭W0>8# ݒ`qoF(dq&ھt9`#YBv nfHO珺lW-e/ wGԠ MV']y J~ ^~QlP*1as:p|ެGpdh cG[U7x.=Bp$%PLhF/RnH`б:j˷Xi; ]zSM<L!^4˟DJA%F2m KRH[B% t[8p xf9=ArPjYr2~Ɩ{.uk lso?zn|;d1 lMӥ؝Fn LsЙ9 {^:"Cr8(^4+6: A jk^w EpSRf_py9Hљ[Q50e;F47Fg~!l%I(Zs66~|l]Y<dJqgl᥯7 KH\53ڐ1G>3"^]c{t?ԴcltL}[B#"%8M֣-hWFSU)mmeڬL*PtnIe7T}%;7 T`_ZT6ɈPl sD%FB :AnJPPߧ@@%r p =A7޲.PmzG5wur~ЊiKkȒ l"8,xLjI#0bqh+nbݪͿ_0Ǩ` W9Uo\;3)Gt, JuY6Tn ]G7EcÓ:Hߛ-~|*u#T0(q4 sEB*|5 SGRt)@oynrs<mo$s * [TZ[Ol1⳾=9;䷒x'Sc:`6SIhM-nwWI Kaa=ric %35i{bhBs9>"m=9}KᨱǙ$xkL@6ι.o2n'2y-q`u#8v~*6uoۗMt*)<btGc2y,lH ?[w Lž=} ܟscU0 uF ,s{ k je_~+eoEH`-5<.BaBŰޤ?'PSBw֧ ҆w'E!f'7 'v֝+|ڹmJq-S\QTRVqy$ZCVSX ZOW)"l=@ YŸAZ2\;qM}P&=VҀ F)iS灄@{XOW^@O|zy$+|&Әv4a !ّK}JMaa1Ⱦ θAPZsET xx̊QCӼ4jX/cS[y;// k /ioH`kpH)aNZs_9~ XbWc$ 1{q gGSg2KNج05.&1utWv (^9%nJ*BL8­ucj‰a5<0C~vhwȂ8cD̸#hF)Lu<W_7 bms:(s::3a4t6+qC'<ᄃ@LH:v"j,ZKE x1ۧpy:yA%<1:y,,CZ/nqaJML=cc& hfAngnZ`s  M4qm]oT4?kv &=ˢBj_95-n|{wkѷZrejZ"$ףb CfXtWrPx*(;rˁcIh|7UFv]B_<%EL3 e8Go /;Wa'^V%P: #E"J]U8>0: Ys룞NB>t'#]$B*"M<$R>ZcC ,?͍I&QNrXВcf33@A^IJhG=tހ;T Wh+N?kgT-elHJYDY,tkM?OF l'ѥ4O۽nE2X/u۸[vȤ ΚhC{U4J5*A.θFbmC*l+ F^)BIco*?̥ Ax{hl:?3wR-KX4uȌsp=XR+ǼuX耺YaS{$4 [88Wѭ-TR@%}w -&p0ӨlF+Nbo.ōκ5藙 `+ jW$*Zv>bg|8N#EƼ\֮8n_;!V7v$X泧}1==*d%iL&oR}b#VvEVEPnqZD&b׻39V:vB N#"e[`sP 5ɸs@OeĠ }LG\0g5>?t9\3qA;u ZU w?4ӣZpxRNX͖tBY(|N턽qiv #AzZHU䋦zqD8%UvʹeW =RᑻO*A8Pe/AHQ+xڑd~LTJ:^[uD=1ySdzrH@Wbhmu蛋) N!yU BP ꖓ \M;'!&E+VCP0p$9T>dDѧAaa^a $@m["1`+NڠsYbxӅ3Ýs3XyeOh Èb9 3#&֕:i-@F`->ES{þ+Kj؈SذFȋKb`*irBw nPt6Olt ĺ0<%ƒd`Jۄ tZD18fMLTFC~ ^܉XkdLvLls]ds>]oFwZ*'kxMJ+DE:wiόIB _$oY䇓pQGn}ܽSËA?;o$q;5h4ڛA/9X"ǑGgfz#8+5JN{gK$KRȩs`ŝtJG4l4~uͅIƊsH;3@U*~}vr\їF:IR2⥅f# Y `rKvt\v|DӪ^ 7" ?䔦ykC3 i#KI(#}±``ҫ ݂o\/q7kuY7ekA:} 4k<q_.T)L2aBl"|FU\r.HnK-W'YwA9Hŝ:F׽9vIyX+~dQvAW0)6m=-jq FSJӐ%|Q^F wnĭNwEvVjɱ%fǣYU,bϤŶhDCGp~BۂաracL`VPXzێdGjZ)a,N#ƿJs>;Q (3BvFրTCn(\ t/x2UhsocQS HQQ&S*B+(9| MkBrȂ*`v&/ֶ@L߾09VGKu ݎˤwAkQUbJډƗ =PNzzkhK.-f'ljT[ثO-Vƽ 0=0Ҹ[XBC#lP现a@|F ty.W$g&Y MeryÓwuc7{jXn?b.1iL43i{+:T|)aFZι, ((>U+NtuԼM]ZMhȶcV?5Yp g݊} "Y^L^E73,[AOU#X+he,@ (QhɇƓK ܛKrZNnُ" :6YacDO쑋8Yx_g= C츾3ӜO@CyA?a23b__4 ypմ>OS9=ٷ? :`4bN fPǀul'0*Z4*kͥuCaA`I|HOsm ƪ‰dIX FQ4Hᆭ#jB %1}l$6Gu6; !leƒ$7veůPH~f5(rvx>Fre7robO*Tp>Ⴡz7&JÛg~pq(]|{Tb z-lj(*l<cm2Ӕnas-k̲ &WUqjҜP^mnhyUsM:vU7_X.y7( 랦8R-Gz}EAʱKX>ajTOz `'E/ixnGCYh;Pe. nDD)'*ͲegF+Tm|l#HS$U+~#,&GNPՊJF[X|lu*f3{;??^/TIQ<},xEq,kug,C1ʺ'/·t ip;\1dQ#UeO=\`n5}@ǿJ(x,b"fnWuJ+N|Gw#CȘHZ*j,6Ml7@F$aV3R3B!~!9a!?j}5}JD3u=De $q)P2n!\3>$/"'%fTioы^GER`1^ThHt'\ftUt{"6Zg@I-^cm\v+"!J'$%ŷRhfLj$ :K7lfcubrDCܟ hynZ&5c^_*ƛ=$POoeI, xwÝN H"L(8>aNP5/Z(ևor,n XL<v|<cũY::Jj-IZ%w# w.\_ }Gя$qT 5Niw2 )"Dھ9׉vUAG)}EIw2\\1)[aqㄲh[@}QC7@ E}w¨x+x 6k5e6`KT@D)u Aa?U݆{ZT,z3R1[Eէ@5Ua~ O0AtZ!ٵǹˇOq|5>~yHi 0OBG:x>cXgDA"Ahu TŌþ#t^Èr 4Jz^Ch>>XY2d=Ӌ1c!.i}FLH#(uL^j 3_pK%ОiW 8D2LvZiݫޞo &Uj' ܟ_G6 ?\I  mO 0]sj nvCK^pø4EOBL8DX PΣv$:5bgbZ Un3<nsڈ$عو80L鹊{<>!VVᤉ b KOڊϞ@Q n0h{@%oiFluyh|-έIG(^snypޘX_˚?E-3&W@}'@"Wdo}N adň!=|LJ&t6^!Y3h;>z7sz(8n5Y<_MQ {,X=J{N_N8TVz+'&M& tד-I O`y5gwk92Dp Bc y10o01jfqzp\uvg) ^ oIs8 |NtYr$g|E.ؖBJƍk`}!1ﯫ=p,`/49M_ VE'>r0GȲJ*meF$.3*ma])1^|"ksf`[y%. 4}8K굼h΁w!: Ϸf{ E=⒃VccXpOϣ_nUn4Y{r E\.bfl6*U@&e;}Gܚ,䊏XM~'٨g4͐V%*{> 1$0_e9#I:| xl!hcС_Om[5 ^C=w  (e`*  IP.}Me.$mI! *`ikF9J.&U52jZnj{]# J=f`M9? ˒Kgd5T_eذN*/#ooV^ Vϩ1sԼ0ߜ)~3nPрl Ҩ3?Eo]zI-#s߽Eh䒨Iv\6"Nb{0Ѷ:':'RϘ‡K珗Q}HlO`p+uʉk[7%C(Bzmc_keG=䗫EJ{"֢[^PE{ p]K|>՞0Ebj Dcur>,D.ьo2 B5EmȆ+TEZ9NpV/Wo{;tr y5@G?Qx2Ό72z.iTu;)i\#s]3Gpex ;=񁳌N:TU Jw*u+!7tdQ|+LIbZG-i]2c-Hzbrպ5xQv b4Sb<x^SjLF27u*z@v]1*|j!6k1D]Z"I3:`D(B2WAf&[>E>]zU~FڥeP4 S4m־=yvz@ τɉ[*; |ԭTtE Kx豯DRXx3Î5h LQc2tڜik=kiٖnb?&c6X ]nokDB~-' %.PZ\A=Ma9e`@#ѩ֍L_4r;1 &Fr( A8[do0t(AȤÈl"g}L]hG>/Dix_P;)86"N4_!3d>R^,{0jD΋Az6l" I*~W%R^6\4zF('( 8m`xۺ XviyRk>իAt>QqF^%h}jogIwK'<(WcII.,nz2j[|Yg-{܇OYk6X` Bȫ h=;ɪxTF84hJږ[r@h4WC?;oM%*?ޕ>ڡ/!{kzYLL#+9Mj$$}dBVC!&nMX6NeT a}=K3 Hjܸڵs`$M7?Ui,dE9JYT%M;J1zF5 T=`fq |3U!Xn7ɰz+wU$W%FPү%r8GZ ~h KWcCLOF V;TՇ 9od|' ofZ2*vt`iOf)4du÷],K!ζhM^:UZ$A'Nl!rZ)\2#cFn6_t14Hho6l 6Br*SqZcRfy~3-v\ұw̯aU66rSQ~^胦hqoViE hӱ- HD}1{L)=|d LGQ:.k ]_-|5L||KIE+[iu4._Kߙ ӨFwD?R"TWYx`GSW#~nFoI , ` ؄E+kƱaBGS,ӳ(JU9տ1\b -Oښ}Sgv[86 6/'MA~G'CxWGB0C߶B' 9%aد}*ًmIiV{=mfs,+R ԚHܩBՐ΁!Ѓ̶Q՘%\0ЭKyJYtmjjm2둛R5M#GʽںǸanơʦzQݜyO)B0F] ;bpC\鋾5bs1~ͯ 7%'[m>gω$xOXm{lRZ}$=91#S;9 T:J)+g5|ƦyBbB22!_0?g0œI:h%MHOySUHFzg{L\2S9xki֡ n:Żh6lPBTK2Xq_Mȴ3"jt櫴3mcBx7}GqdcҜfO_Tka+a vI<kaDbmc l~2,O m\v{3PpK2_CO/ʫ6 ^ڻ)DE;F ٰ}P'D"Oۄ|iIq_,'*+e`! !za!2k5P@~&-Xi{ۑ$}E4q;dׯ1qlhǮ5ηHLjE xK1jn& .qg%Yn?a)˱4KJ9ܨ? ud>!Z'#f*al j] S v7BzWL fU+l%g,~V(. i.p@#ga =xB˂+ ҅qLC6ouz1`+5;g%jZ1v$%F5Y4鞌Țý='tnlma)>xˊL/#]y' ?UR7'Bï=1\xGCi"zrӵV}+O E9&fgF@ZN;HZY4kSMǦ0ѓ3tNsFbm #dK=N| Q"V7p*h˦;U\5p½Gxm$3ZATH0[<RSg3Ldu@@ M1)^t=C?Jj5Pha^0 G6-'~;".̊`O }RW)'U@M ffJR^*beG4ӫFϜwޗl".? \:=*hsɁ)䃽#}w3zv1cGLsÝ.X՝:7jJ!wqAZhHZN.ر†GV0cŲ.H((D޽ϢM d00|lJ 0{Û(Kή8J,g)p8 .CrF,)6`簵9T*քګ\״!~9nx] T5Y;=h\BlQC~mA[)^m(0V?*\Ҍ6Z(ᓢɰ9h$/0gל"vw(= ӂƋhxl]DMVÓ%$dAMZ /C>!ԴU\{|ͯ+ q׫MJ(*7s;9 h1Ao&+X=x;ߛ.jVktjٮyze16߲V"؝j\6tW+Iݤ$O}p_|I6cb8Og1mjw, {KhݨRXRznf}bq.?EͲF9~;N{O6Ffqv\J; LnNckaXa0=H@ :Z]0=V'$uisj\)\uHhŖ[J,S ӮpT2`6D2ԤJ l-|w Q*7eK@0p6|yA`tf;)zyDGj@LvFmsTJ y3]剖캊yeRSf]`qPi :%inBU!ÜŢm#EܱM|u& / zX\5lƃ=irڏ7]D-#!J $H_vI 1LY裩Xݺ] -_G)Id58 ʧu[{ɴ E2X =]VJDPgJVkVEZˌc!*9@4Cj; Gw/ua'PެzC"bY-; `Km4hBKo)}舺bSLiʪíhn+QӐ5.z{' Z@@7i+Qol/8>/LoM%t=}SwrDn'9! "Ji^4hFyla~MO@ 'NъEP9"նoe&J$[fuiYjV} -t2J~ .@Ck\glMYU>G6[P*|b`T68s:Ujs6t->7y祘V4ڎ@t^Yxƕ_+nk4Ah83kˤ L51xL>)Oԇ,-Aށ:ϷNP1;l8u,|Rt"Qs!cX(f%-eC^jzpBU\{+̹Ǥ|ͽu\R'{9`<҇2|(5(G~1 Q!㨫uJW ͝Di5ʞ -_%Iߜpt|!%^,~#ed/(YS?ԝ6֤v?-d.1E LDFGy V.!EH'yp͘RE5굏T=[j~+j_=K zq/Yo*߯_]J2)9};݃4N)).L6=Ε :Bl&2Tf~kY܄绂2xvmKEO=j_YKƒX~`v;YeȂ[*().7d/n,r-P5…y4P.B~5~mF |? b`f% Y`r>^v,qlY2n[!-Nva#aORuKhY;$mp!h@"zsp }sj..xqo"EY $)Sjؒ$Mr;:T=h/w^&Rڋ#jP. %=8 t;HP3^Mo@/YQ<. Yǰ6"03_{¡;h?H[K?zhw >D OAAE=$Vx.@BtAɥIZ([V`Lͧp>7Dչ,d vwem5IRFKbp /v5(cˢt=ҟ-7߶ݬզo%8I O;Ewg91hq/m~4eU"&5L:2I懚Gl.Aa&)j_+GS7a#%VҙOݏUXyTB~RYE/}ٿ<4f|J զX3̈́jr^lK>_b{(ot{gLN1Vh4*( (Mxf:U9Q 3=SL ŴiY^8Tpvs4&^kdɡbaʪSsh[qJQʀ6p~p3 ^WCh0B(J`Z ͫ!a ̓vr=)sܣ4e5_fu"}R?Y`[hT}B"T)YvK5Q]wGKsoYk/^k*' \~ٓyX8 ϽO>r_*)`Hu1u*Vɞ ?Mp(QX7{/_GWz&uG:gi6cL^V="L~ ]鄊M]N]aoAu {jog03(sz1T!4݂ҥ7e#+N< z*XʟFNh@2J)Vg;}X>yS>Q0R,(xJ=\ZZP@DU\--mCvI~5MQD>@I{smM c;zNz0(^. ;Iڃc|NBTʙ$޿^noB@XcJ\؅eS˕C{AV4.GoQ K:X.QseߨϚ|܂bK5 vkJDp,<n{8R>cy}ꁥ@P@]1\xңPIW@زmMh5T!| ~4 (\Qc rUf+Diu֮}C]j!I#fJcH3blpcVq5??/E0ok^'qWT$#b$)n[}"-[W#*RlR(23Z†bJ\3gzBXjjw6 @]L$*u.{XP /]3b EFd-h䱡6%T wְs{{*RZqhN9H扗Ӓ72ѓ?i Ӡ԰ "}.m[#$1YӭgAJCU*MӃ94f#> ČN9۔ūiF;ARǴпq}qTÌ}M`e@>0=OW2"3eWw iwnS^ݜF"W}8)JJ툚m]BM,j:]nT&0[".7EE`$Mv'g.83 }~͋"e N-ZDoҀa,-FO룿AWdgɐ8N'L/8 c\-ԗsy#kyI|z AFݲ/'Qv%`u3 &nyXAܴOV9k[Llo5wb4g x ⅷlOߑ LC}^]]0IZZ2p@|.=1Y?jWftōX~I@ěj_pY6 E:KmJ5QgKпb{K/H[9LME]j@ޠBv%(=$$z /]04υgpmcHt6pm4tIݨAnwaNpq -6'4AThυC  v'GQGrZ(#=Fp˒U>$ۑ,#OGaԆ`m[鲻fXE}=Ƕ0imݎ9}%"Dkd3Xf r@D}ѕPׂoT{;H %]KYz>#eܱuyY}q-z`,4h酲X>NTji7[Fqz?yZ(CZ~D gDQT 5xRgOJCT.Nܻeds5ZuӋFyt CY"/p@9eck{) 4e-^NX(Lm/"r^KK}G(˱[@&C8nf/I -Y2+ԀMĥ}_Bn;!N7IJQ& 1SP4<>lMcERhm-0J @UK8gV5ZG֢üRO<!we.{m=cz0Ƣd`z1x  nR?jDio(qLCyH#ky.AHwqcai%2?!ryfkOϝ$W(ŜEs@< Ϗ{pA5 T'M6s3Hf3i :8j_I=4k[>5Jn#_<|~L̈́UN{rKe(+qn [fAQ0yطӬm,$LwfH4f ^`עV*N:~JU㧊p>Ol@vг6l7\Ҽ8!oq%ת[_ku/`f_^Ͼt|oS1OVꓚϿx`JAiig+s >nd9a)N ӧ}pxf2AI`!CTs amĕbEA!A."R kϯ`0D6̮Fg&2OjE% XV aWB]%獍 UXlO^OGbD^1veEFL;{X=Ng2Jusrz穦ȥ{6Hu>{@{2ڜf L۵5ҮTmƾ>.B'_bseK' ͟_$h޵< uddx l#$ 9;4*2p4h')aOx.(=4BK%ۚlziHv]|j֟O$R\ؙ-NDʌԾ`&N$ԎÑcw]`v,ȧ O_='rv7Ez aP!d1rյɷQ`9TfJ6Nc!-̶I'KgU%؄b~Ię`SFtZFMPbD\]/MF#R"*5(JטFggߊߵD܄z=sIJadDA_uLYLюWJ+wjܬ^rGGDd#EЋx,oɃdu/wOh0{%!w5HWp7X4uvo/ę^'b=AÆ,k,iJ杚 =[)'!WA;ɨF>$c幩3_T떆!) F j{2ws2.O"uys驑UxadQ5~9?oK[S6c'"'9{oƋ/UD)F=UzK&DWC<*+׎{U4:-c!MU b'Tp\1oRqmְVPG>ߥ: ԄvuNP׎_YW} i~Y;/+~eK KԸP{ݶ̯|{S1̃7t1ܿAQ CMLӨ6QQ2K lb\w[{zŝ~eRV[ ,Q[è0/ +$K)aB8U/u6ES)δC>L†ħ9+S-LN=/R[qw HC>^54:1aAaȞfēo:y-x*Qʼ "` J_,5;Cv@3?zU~?g!+jؾ̾S1s M+H^2:G܏]V{3T*T1uͱȎ1:,M"" ]Z`:;f 0A J1U!U>#̻)-BC];בS@G0eh#O [O FࢪwkKAb0;̪twŤ$/zPU^76L!ь}֖8'Ԉ+R-X)9!9c/!bzn߶QDlsE* [Gg(0:SYS|I(Vsf E$l hSx~C %@Q#*b n, |H[݆ΝnB6(hvur],@OpM̑]HMoS~YulB --)ާ2~~sfƆW04p@VYKb(QŘqrJfnBTSx)NפaBFƎHsغ. z>`t1eIk /F ɋ4U2k"m/}(Ob|aOpY5[~#D%O5OD7ȳh ?EY=:@OKT(CDK z~I Qzg `3`3 <@AjS̬t}[ӊSPͮLt];ac'O qVA6~]M)e!i~%>@ M2MB7AIyob!Emvp i\-ן=Xާc#~L׊{)!\n*v_ XVn/{z $J]HVDu\zf k'DwO4|)ѕS|>Wن̵&jGH0J%4g GcMq#j@ps̓49Xj qb0zyՋgE <66XF[&60iCdG#0΍fȗPunW/|ΚJ5G=!*2؊ѻ>wyVse}r ^u9\^ }6]=c "}MpS.݅pf?J@bKkZh#&KDZu")JDY#S5v΅&~{Uw *i҅0aaK v 2ͅDhgQՈ32)B6Ƭ(npftTvW,7 )]M7GZǮ 3S@Z툒&(ddKc  "2"V ŕkHnD'r靠ubQ+VL̤N ?t/;@7TXNmZ"^OѮa xۛ}FWf 9y$!,=u֔, e'ۃ HCSor]aJzsj6`KVwt%P~`O%_WYL8{`+ j6ו'QBfog/ ;AM }>]lΧBvw @ur WFz9h3?Y_l{c:m~d{-A >i=ysOd7=v"mT◍njW3{Aӣc:$۾۳RqR!{p W^63 q}\rF: 3-gА~cdY9՘qOf P.NS e"e!i28 yø"@4C;'r :r 20CjɀvLu (m[c;]xM=FY>V-u9('jنrl)N';ўSp 4;f y\VB[+ܪLE|?PmXZCuf/aVuά6;nNhQIG F'98tfZ|lE} /^:i}~`JmM#"ulϦZ_G9M vae"cos3*%rA/\SY:p/@΀4˃@[P(Mr_ p߮DΏ&'SdtfI /9h׉%gb8ݧ!(T^oA*!v3ْ_Cri$SPzIeu|;$U#=Іƒ`<N@4cRfG!9JquC;+A?̝ gJEsc \(2?YPsy)YpceZ#&K- Aڱ+j#j"9FbmjTJޡ 9SQ!b>l*à!13juI^0ꌴp$<3EjDŽx'>>LظUcEL|p]s=rƆazk v,Hq|!]YoNC{oXD2@?؛7?@&.e|Ľhq qE33@WwYH+[s\njmj%G?k *RREbF(1:T K`7Mb`Ui_`/?߳] mQcǂ)߰L򻱑|:=Io<7M ]Z BI 2!$_ɦ_}l讱+<9A]͹N eyܲ;i i;&O&#Ht/ʆ4a!H)dZ.z^9at9-3%h̍x5 7`cEm1n0ꏳH' öx^;b7 :ۙ l{Hċ+Nev<;* *@zn}f0$0 YGNxRdHUX mciC=wёK3BO]!;FA 'u@~sOڋR*w6m4a=y:^5%)-.%6%w%{i#C;[95WL7S3~0u`@faga܂I_NS;?<|J,%2@lD(1 z z_BNqg 4F3ō82`y~=tbX޹tJדUcfo91:}m8w]a0V&nI`"݅6I:1zo1cp s>B'<I3w]d@$..Z(-m6ΒFew H'4 L .4' ?iudGєؑoj8Q|[0dY3Ʌ]#?mR.Z!ELphc)U{X)*DnƦ@dE]M0iX(Ă ,,RN$A{* 8H8g>t$(GwN ^Zrmg+/ q7 B-VkOJ^!kvB =/C[ pWoKkރ3$3to^!kz{e?[ZF33 F aB0טYKUZ"7wqSl0&\RF;uo5_rT`_'Qm{rx IKlwƮ ʤ6,zvsX*9 ȇ/lB"O[*ÊBCd .6n/DfOc 6J X@ziE g05۬l }!{^}OޒܾaÞt -7i} $ս2888Q8N)[TF#3R(Bݾdܴ L(Y}N](݆(aޘFћ}S;#N158': E1RYywFzHiuKU?9rnEI<1 7x CyZq[[k-n'"jIG*|I FD'zV#3 zr Ŷ| @m aT &LKd8RՊ[ZY X}UP}$/9Iu(*z[p.;:aM(Ӯ|mrowߓ&osc^Lzy%mVOJPnC_ A 0}wɱb ègD8ORt^ RqL'3s?Ӿ `&"\? zAf?j0/LjڅCqzt&LB:_Sw\kWwd/#}SPz;ZJ[(8N#e\(~m&߻@:\!5 ck,AL i=VyLv<]|u%j0bm^axD:Y2 '#T⫑PEbajJe29Im)ζ7bc8XήLްj!m4Vb|@3lA5  ueu ťĬrx^ߣ82>s} LՐU l>\jH@ޜ(ǓZT[۷0WYD4I0i z \͙S0/0=ƫ-Z&ga|{FqH"= A΂|*A41mjE @KO8!\_K. oq$و x bixy j.`{"}ZFIҮe1V(3FqB:vMW1gߩ냿?2 Z)@n'`50rm-;1UXH&E'%&!rn`۾MS+:c0bo۠{4σWDcV_D/]DOB><IL'I3F̾$E$d>n,#c |+R'uE6=XO< /-܎} I ▉ T((a@U"N1D~eni|>].enGvWX\O <$qZ 8gx0~04thuH!g̦H-s?y[#f&;΁y t3{6'8ғ@Vtt:?7B Ib^Tb=0WX/:<iR@`A3TÉO%t eV/Iӗ%R/=#J`Y%Od+wC-\ #++=W^UR8 ŏD8KHߧHhNk @c] E:fY@BډRl6۸gbB>3qU~kQ;Ňk!L;8s7>l`B (S($ [{ALc  4[ 3HYBnتi ӗ?1z=7.[$H:"AS n5ݴIssG' s3$ݐ޺EO1esy|Pp:h}T/3ah2-L8Pw.F$Ջ~|MPzMO:dsqsГgn-zࠠcO| n2ۚîwd>/[iZ 4aʖ4ɘșn2J;{b#1`#D}dʀQ%˙|DQ Z!і<XermtG]I Gt+x-M.zf/Nc~jl|ADTo$ڶ]]09 =_k̾/i~qTjAڧ-sjURQ~wA*ŝ;RxSC'ʫf멖M p͹h@K虹QS1S<,ަ"rO-XwH{h\Zɠbec?MͲ̞I;!#S*woUHo]`Wc Lb9EʪL/yoXH?I3ݤ'y07)uC:IRcd ڝ`ɘ2?I{9]@i3j_;>8zni~FU\.K1DqmnzCi~!z?ٯ]怿3갲!^bJ>jV(8(w//z2Os H O++{L 6 ̒G{-wkFYd^smMqxD`s7VMqtd'y˜Q:bX~s8M=t2/ !s.XaV*V+Pmu4jƌzǷA[t/dy\?7 +`ği}[G)#],#->kP+D;ޡ?Y8XS?ԯWjTX r8yYa4X ݂D::?q2p1 ǺzO֕'3ʏe/!䏴`#ffKR-A9d0dH4+5!^3O`p9!*`IsDFZMI˯@bG>s"0<(/5:v'yJaKrs-yI#őBL?[O/A)RG<ǧv#IGgh-ޛI5/؁f Nn#k@jsT\ќ6!t;LB,a '5X26Nw[+o#pWd8)¦ғ|/ž_↵nV $Fr~آs㭟*ů ;(GiS9)z!v fp XUN9s1 eI/.X,W&*B-yQG ~*o{+=/0N) yD7yjSh"$mcꠀXF"M #:mQ+K=38dKk RiQWT#U%t$' =h}ܑ0qMmX S,f~;:L3.<3q\gZ ڝC_|pV1R sejlkv7r &1Iw]?"1.E8̝.l͕cuS6k G S2Ȅ0Wvp,!e 2,-Q?h,=77B+ʀ-˫ylԬe4mlezaPEhsN0֏\P ko"(,v.N´ -oZbU/[– Gm*goynw;Bi(l˽jy-"D:CU/#>kֱ)^!M;F-lG&`FV\"gË^WSQj"s1tݧk xA(DcrwZioDf$IDqNdp'XrKƬ\Q}Jfjbl{>ΣH!Xx֛%/q䝭!G5eyoy-\lhnM+]@K [Aȉ0,3^+qn֛odE:9-;"uǗC5es!\$ǨsB.]Y QUd"$[%ʢո5}L4FtKfJeLZ:xI꣖\(y,twjNOϻdDQ@r3ZϪ&d-EZ$o[o݅3a1m@h" ]W-ǣLpJfԠeL}m% 5xmo2SW#lR;r 6Byg=pZ~ GH^!?>TN5hXQ$~83;zDkkvg c@ߧ7ꀍpZЫv.Kʤ-HSpM;=ѢGZ\dہڨ{H s~ߩ[;unoJ -'=,#~A4DڡS,j \`<5.,g_DSWy#R?[ۓ-:ƷX%P|oIR~§B[OIXU*mli|ɥqٽO=RYs ̀ԲI{c o'|1G>5汵TqmN 3=KrC`k(İECI?|)dvx%(}T_#V@H݌pc~48Amo {K8P L?8MN7B}X(a[d0Lhθ^*"،~htDžI-dC ?0 @,@6 U"@=JZZO]"uW*Z^8IV̚+t\GPpK߼!Lwj.`fک U-*[f>wQ^fc Ĕ/k o@V柇) ۊE'tvLD')Yc4ai?M%,/3~ vQM-OXWm+BlYS.PMJJ:%&]MzљN6JӲyuOKpYife*ܳ(Mq%(p nIUC@p6B6m,Y~Ml4qQ̳6ݞcdr[a#&d;OJXL8(,_NKN5O*P-dw=o0|[ /1ÿm go'̴q 4g8?Vjfyb+o$|%?8" $Nl.>ؚ7i=n+sWkuXrPq ch |!zc|z.[!d¤3+EPax Co8&~ɴ1w̿3guMWv-fжEҌ!!ט~#zXw*r5/d;B`E;qZjj`gA;A˝LID)tv+#"/7s"/vO! % vf-?H*߼1[\iޟI>d Fts#jy㊞EDk>r&HT.;x'LōN9iA Y:U HJhDL1ߍ>Ӕ~ A¨l4^1Ay=E_LM{#͸&z=56R%@ұ$CΌ-&6V{w')>-\<ҤD6bQޛ)jˆ YF *"á^TIKe؅Sp:Ġ5a&oZ UIjߍyC8XQGmWKmV?LD/(9b2.x1s rpwDİr9ɗj2f"M]עЫ0qo";wk=)աp:(hUP}t_+PE*L9Mg, ,>).!s=sKC]M(j`c o wPXupb{no{yF5=4U,o )T#7IKdB޺I=SY$Q;Ob)ZRso~+I'MH=|\}6FC`PL ^ڠ*[9&nȡ,D{$C{NՖK4>Ԫ҄ #9*L߬QN=c=8ewh}0 \s7#A+"(/ TA=',߆0PQ! ?OH@kqe' `BB+Nݭ*-P%!"@>Բgb1]}/3苦CvDX^VxYHOnV=|˜ʼr|= ptp,\~̱zE{t,u6hBa]UM:p3BwcMOܴ nSTAi1Ljя^;qVt˜z dz01 1aC65/~KH7C& GXƜ\.A=4^uHg.M).+ hS+ye- O1wR6Zi@FOx,cu Cmz6X_OAp1ز%=XM W :G+@Q8+vUKcnaҮNFo0 yg#5=4k (^1unrUTFQ۵jMʂ8)eE/ 8R yѓDxkuq6CcGs"^p]-$Mo6G0Ʌս+%/r ᪧF̹Q瀉i5Ny y"b a&}#6 twp=]GѝJ/kS>oMU">Ӻ74/0/X|XiCSNHleykoxL}>_Т%3)aEk"fH}ffߝ" 7 ]~)8Upc(dzgȥ{ xUXÔ%Ζp]|$iJ]mڟbDԴᩬPZPӗ5R B8AP'rm䊮A"2gx@ݶ}$aոneo ktw2hd L6$z{93аӻ$P%j G4Lن낂=Kb|M,Eت΅n3 n[ޙTµ(e,|3<Ү/ Egw.z19!';v=*%ȸ*_k~T|$׃WC'g:-dotm '~E+>%ВYQW+)J@zre4q"LS(ҬwogNVV hnd ȷFX=JBɦORc.guKe2+M leâ6l(Tq_d.%+5? i3?Ct7w|tvAV/}Nw3wNm3ͳA( Fz&!L ~X9AHco&]Ǹ,[m{jNW"zjw(F`_CMtϙ@B+xRz5e s})s^D*"_1q99eԁz5н/zbgp.>=3m[|W{ (wTOU)kb_4 bҶ9Ho`bU(\$]OŸ׺0ɾ+6t'$>* h:0v\{G,l Y6(NgHZ Qw2e*hTV]#3L'k2:_R$BYCdW@bãMOW za.=Nj0@1G&5{xgH*m ި"ƌ?kn&[NFX'/kcH4hE[#M{g+I(-fft <F_QTL݀)ŭ XYq|ԍƍ&Fc4Eq peɿJ[XɚX[3 =ob˧8K %)-Yj_P5,z#Cݺz2(rkAQl`v1b, !h$|JtJޅyS0i^q<7&pO5n+9a>8#]>{-pXXYPA̳OfJb-P g<ڬoH+N4܁k ~7  %'::$-]WfZ@l;»D@anv>HE%~⯈o*˽RAMBhzS'#"KmC8Kl \I>l]4Cccz6JP\XF8oEq]zLJS HA޷%R/&Tqb +ŘdK ,[0(I`1ʱυd1?FMZsfۄkѤjroJd3P$xtO%MpsXY dQr8+ [Z@R?tck\Q$}s/çe$km&{{:y3A Z"/u.`2i,I\O2.WfteOCdbmw'h-ӛfaWu<ɴ%o7 0,t^$*q@#7j^2@8`p#뮶Dp&a!= L]Es ~ 'Q!C*3b;nӦ5xOf~h|$wy]E=lT?;Tٗk0eR[kLtrːW`QsmBs.?(6$D:+I.z!JHWcn ~}z]&t#3<=m辪+X<(Bx2u(&v껁oO nh`/i?iD F}=U._}5!aoO_7T`u\߭e@\mB̓4)見I`6čr/P}X*R=!  V8IJe%$׋=8NpE[πԁx TiP {%qڊ8׬֕67n`hsehg9!AEk/ TsWg#C=PG0M_3 1|l߀V!VI ļ]l!?g,…7-`bS!{ ɨcS* JKh+ԋ6^UukR;~)7ɆCI2p65i mJh*Wh"] |\1bb/:d+m3]2h>}J $9oL)]rj4MhHB1i1kX͌${n"Tгy3z63M^!iЋ'ZmouRMNA$NZ4XCv -tHPN Viw R}@Ҿ(Gڸ'jH?oFa %H8]) >q6m3$ e q{(n4c<(, Z$O]qz A"1L S hSnڰ 3 M%:d&/ڞ\uπODMB*~B8!"|pel_;R8΂b~B q-RWPfR:}:u\a" 6B*vX'^х-¢*6VBl(D9K\' 4䙩ʪKzŌ2r*2 L^4{kܕcG1ЬU wt LB>n4:@ʯ(gpYiӗsg})N'$6%-unu)er{frǠH˸ Zk2O?NSB}?M>SӔ9Uw.xBu،4†'@ _veKRY3}FYr=#Ur~U t+rh `$pwyhи}ͧD-!B[ E.dǢb76pѪ+vzDgux!t Y}eFPDY_Auoz "B%U:X95ZGZ XoN3r? *> Q$SÔZw~"eδi@)k"ܙ ʊl̐?+dșZ6e պ?;"տLh<:vc4rUҩ[bOkVR Тa=]+ڧf%Wi~ftWwْ VjHdxd%{| @$Hs% y6Heb&Me4=ZqdU{O./aZO*T;ɋ7HYt+1@;"JS>KUDQtWb@F4 V;6i)0ҭ2崫!=1ௌa/{d-/  {eⶐ.]$?%z#(V"i \a%P9ɍ `=VvKs~oD[ ,*dP1 +,'u y(C&ўmjJ~9QPOc#ksnd[!$DdGL[`<I1lVqT "=!Kd\MWmo(B>֤@ã8@)6'9Gqh tb 1 Fd($t|x0D[rPOFRu;S/5EjRߕ #fodFٽDlˁh[=y]?w.oFHh{L?v ybcLg*mKc)oP^pn-_~jV>3JT\cmrk Vjt?n}RPUڶT(NW%]1'ZEv3OeR"m NNF F>-V kj4[(,)w4VhrلV1 45#HyB`Q?U9eBF1ըqiH?& A҅:c0]qU3>w`%6oz&r݂-%n0|(_\!gW& RQzYv"LLݵ5T .Urrj=B1K7mn: Rͤ6Xj_-Z2\&L n.zMfJA_H0&4wJ?ʐHڧ %`޲@2e׶N~LNzy$x&qAcw2NP:$/U1n_jF>W.̲4q|=8۾N}?6W*zhq,dL ">c @|Py d1e[ )m-USEEEwee%TmI[?R&'o/t4Pv59/4y\IZV% HT0) QJO-Vװ5lHl" 哣8]PJMU`&)wC5p'pJ`쀷GYcBThh_w'NM yZ=Ŭ:W:(J5-RdA'vb'LL-۞n|p,Պ^˟lنjC|˗6"%Lg VF$4'lm 'U z[Ps2m=i{@Z XymТ(|F2ؽ˕awUUz6.-UoN;}0d:VȻ^NxGmySؒ/_{MP_ӊok@8K [aXMI y1.07%:p|%=3TTz`> [?tIdS8O96N"- ESc7.$БH#bԫaa?s@dHi) =Ne,L _6Hx$Y6Ƽ\"mojBZvE>Le THì/Z){QS@(a?=/4CZ<΁ID-XIlь˯ AAb%mqPip*̑A pRw8v+?U9Ar. 9A1O  /P\Sm 9NTkYcf<${6oNL ESXp+ɼ 1ۯҊUKV$hG[hq{W.=Ul"J gl9,ػ&TSe-{V` 3z_3{S`%tV;$~@´ l2S 5abfv8~G"5PJcU9P py;ZR63֗#KK1(q5WEѽUzPp'5>i¯.cDH&V9J̴δ"U{Z2Y4kFsg@ҝ"' fϹӝo FJ$6W\m˂[D{G!%SӚ!I0Ѫ Zk%R!Kۆ6l[q{Va^T`u2 Eg%n Pf7 (p>!#44w6L7b*L Z@_]sf2KpF=}ɉkA-P u?]¢$~VI'MeSSc̦˂XxD|pLxAմXhuxb GMBId!Tg+{1^|Be{K:Iy:8Eu} $(h5R@#C e?us/S{|t#R7@$J>CWC@,:o`8S'$iAg(@ Q^ˑa',_E3VtvFiDUU6s=RfD`!'~Ryٴ%kHԪgT32|jg Eb;u8Yr;QQA"g#_K؝-YUnԠv^u>9=7VՎcUP./u `Kq^%oF @5M VϿ`<ڂTz ~sk8sN|Iۇ +|3,+ N~YsiQdtV67r/I58WF ;6`D3 Fñe˝ ?#JP0L TߙKA=8"m8pFNV;:\7=zWVCUzIm}Z ],@' 3[ʜ .ZKiN{%}0uѲR4\SH ۔ ~g _Fnj(#NNpEP&y㫈s>jtQ'qyEJPIzxƑ|YzRHbT,Z~Ȅ.n]6<[/ݝP]V󫼏ug9c z^~U a;3ydȰ,?m9OןXNhR3DTm&+/Ipd.Wͅ Y/Rhxڎ~U>^-9IOߢ]0$X֤JAYZ!>e{ VdF촺T}G1;eڱe(Õ4#k.^B;0Zxv$t?Ůbˣ>A12(MpO~~5O7=X8x9X lld[%{8ˡ4{qiʡG۶Ng`/-f>ec/Qu0d k؝)_p=g=Wb[.d5cl9tk41`@OH]njm+-'bfwte?sJ,r,(ٞ^c\JpluL8E6tG^_utPV/jjҚ!T}Ǻ<`) M4Nw4&µ},Q2% M[e#z-O]"vfOѯTb{RH(R-`5* :a 6Kւ)?z[9cS OXkEr<WIY׻I:l) cƤ$C&{6_t)jgV^Dۓ%鐿sjVY n:Ƿ=aܙ-=&UlVc/ZCWxȚ0o{7^Er+MLC 7TGѬTGz|Zny;Qħ6?Zo}|hU=oC=8h)!='kjؔ_QJ{Fmn~,_/0*"f]#ů@@ư_|鬊]-K .f{Y5Ķu½"J8(Kĵ5(!mF$_&.a;-=Ts ؏TQV>0P[^1a{`wOVSlL4f%% PKRw^jPDĕ8yM yO&RyRd͟Ri3Wg~D*f0l5$WܧvbXeSBxJSD9`Ϻ/q SяӘ6)ZʣuLm݌Evl[1\(,!.-c9G2HT>RՅvIh? [H&GF*swvlboM%T wşMWA':)g)Sp,GvC9jAa癹Tv4ibWȈ(2rc {jI2 un4+q <])F\IJw7ಾ6$sX Wc _FP7֩-#;@FK|H6~gZUua%ct˗$"-d"B`;֕{O H^3Cl=É78c eH~=O<ʱ$ >Eط8*S1ċ/a5PLB'ɝ&l̓7hu'DjxPe`A0! W/p`%N*ݞ.=S z|.S)d>.4@C%tC!_kjAD2"?1BxA5.ѐqA~ RHC{Cw۩!aC)u- \%cqf SE#mD %?gre[ Xu4A|lscC]&>9d2+{`qݨgZY0υdiIBԼ3bgߤJ6'şcG^RƷ*7P:yxud3`ޫ=D,;;YNcogous$[i|޴!Ta*t &($L67 9 nUy_9ۿW9~6NᰪIwfu9xBPEB[j 3ZagG4V,yUFGh.t+9/*ϔfN\KI\)5<0v;ƚף.fnz,{y;"9AQ$9cKmwRlZfvX<Ȳcqlp[GD^[Eׅ;$[2NcNlmqQ,᜷ bd9.cv8΍ZOz8QLW%.-øeghZIug>H7BIBYٗsϴY/SQ}ehaBj64NtI,Eoڤ z$_jǼo7">D~mIba]7s2ol\.`~c2cC5 &ʪDĬs?@h}QP>lVڀEԹ0 %.^pZ_(6&ӈnq1>l!:~26L].RЁ* &(÷5#˅D6siɑdoͼ}/S>m\K7m8Mg^ x,QNBЦ};0O bVKk AzAFDO^xk:: 'bTn"}/Zp~d՘ێ׌ej&q)n3Nk#Ně]TWp8)8AGiR'suC2GG/遣i?{mrۿ-eTQ9L_nc6kPkk B+\4Djs&e?].9Qe|WV nq;ʮO*ح\GL+ . W=G.Xǟh{SH= Np4ܓ8U (ޛ=zRS PBR ݎG8kMM Ҥsnk"*&Y Bmđz<ڔkQ@@: Y'=C[Ґ_nk1LSѼ+,{1}=}G%]G^YF)YRs/zl9StrG䁘hv|rDMn V P Lsҵ d UaY}oa.~-Ӧ0NX™XQh_0^ߓ4i_%P7TZI ʪ(Fn\3+7ˋGl3AMX5%a>"؉>j/W"R xp4`S{* 9ԯ-u$s_ty-G_ z 6e>ɟ}vm7SdqB%O}K2*d,<꠪7_~yhBuC1K{bJ U_t`;r]k]nj#tќ@%%*D4mGuU([.K~;q8Xxq-0b w? /2QV~;q]:*@a6@Q+}j49i#;e~-kݩV"G^8!Æaka7TJ%&tC;|z| ʐR6,t0{ę7Zb?uL'?Nn!RS_ߏ@b^a"Įٶk" +Q;}/81%UTۿ#D] t3I@_KxB8^WLPm : FO!IA>:L|T4ÎgKm'%E`;jJ+<_*SoA@.Fo"p9'EϫܯחV˹8_[ \]i3K0X.Nkӽt|}.P$^le~oYPZLWD@=<L8Jϩ sF uR&\gtXˑܖ6҅G?wegǍ!"㻲X _CHmҰPږ)-Vg7+<n8PZ-vYY/g6w2Z &X1߭&r#ZЙwk;;DZ^Kg*A'uyH\KA۪Q kao-;n7q`76_=(y)9|kҡHD3H"GEX!R.g3 119!ԕAyטrh# v܆p\x$4xs/C@֢R"#4,Ѷ]ԜJg (Yjy9ju"x=){Yi2+NL|~WfIϬw2%xQ5ct8$S'!k:Ң ]buJ[2Jh$B(T.XqQjIQiEh3 Gzpޥ_mc؂c+g^>.hj]X_kUAc6՞[AEdۃ ikwJs*J*Tg&#<8މ#XPQaWBH3㎌.V߷~g#΋-6j4+> insv^TDc鋯7(1wrzgΔ)Q?7`zD xP]b1e:ljzI9=ua͎%{Q:4x]byTkѷfy-ԤmUVME=:f~:J'mOEEK&3B )y–5ۛj$oGV{@szR&ج3zb ,bΦv^/ ֓c &97u7A ¦vWjJZȩK˙33(xFnǙ$zH/{A#w)s%6Ymkk%?=v)|$8P#Yq;8d&z \W<}rX֎  SFAdZ~PEq_ LzkRꛑ VRfuAωLuvWy_&)}e>W=c }'~jK`ѥ[AmbP8TRA%H<wr-|{pi(dc{|z!P'M"hi7{;aګ\%\u,9*n\ 7Eѝm]: Ǝ@ 2ܮS `T,|*Ft!fweJu1ouSKs#S,GU9mgfR@3w[& jvqONM,6tW%R޺q]c]) &B&K^kQ;5o8:.5##+T2R./ 3'A",J0odDm0Q!ǝI:ֺhc5h[Uאy?ԤQ33s7DVa+ֆݹc%Ɍ6s$ !sUI r ˧[vM<ĪbHqv6> BL.*4!5Pu :$[M"R(k^QPuf\z<"),Jz)//N:u"!dW̩"m(^k'pި1Y'PH}^٦}iq8'0,e^b@S$\Qyt`έ !X.Dl'oJ"pz5]i6 Gt1>æZMR򸩷#z\Bf1)D,֨k o 0#VH^x\;a\}^@%lX~-jaD\9W4{Z%$6ms_cW%3e7 :yHoM;_ѳ2* ,خ0|Tb^XL35jpu#vM؜ՊaYLQӤӑ* l_jX?nLf&]bZGЏh?:xy=SToJ+ @i],Xv9EdЯΚ{5V-ڹF`fs,]Cqd  *ڈvABx8e1/RZN`yߛ.KEeN,~[Oj׏,vd}0,|15$NKd=!6W]>ػ,| 2Ws !@xJA? oXB 5gpAӊwkP !p8MZ#u|XULh Ql/O6 ^!>,`4l$FJ~G*^2"t!م'3EdIWo5Kn7+~s,~;[uyPKkEz*競Qˡa7Fs|țD3 .L9wl_6-"i|8:݅mi>.u0i{8ۥV~C[r!0La!!o:N`hoԯ͖9e,Bg>O ֘ΜZU?G$zfhJR 塇Lb:|\A$(EI(m;So]VX? :CSigaTu.VT:\SuĬ½h?'`S#BY2/j5| 0` ܌|El>/h3S[uه[ _H]mh{0 ƋpT}P1UbH!%=K?mVmi^朵zCoah7L^3v3Uh i!4bmW3oӾ者L.}z(s?$^[[EZ/KyJ"%gVVqwlLVmAh*69לd2 »vV Q\Q ]ޑ4贒">r+ڂ*D"Bc9Ĺ_;̉TQj>~oG/8D;6e+pfe,:+iej[{fOa¶i@\ ~/NWAMP!Æ{LUT }sI $EgTbQkX Fb%Zd}Wq[G+/4 O~C2K̸ȗ˧2Z2 yI\ts}#SӢKE8CMoo0)m*W jkЭpYN0qr(5ZRym9EbP3r Շ [Uk E.Ǭ_y\TK`3+D<?p0uQ`\7zP$h&ؘ|1a,gucPmB?ۡõ"9dc^wPaR'EȴHh{+cl8/gD;!HuX5x4OR{F0' [pO?=2 ̯bX`*~az˿ĥ ԂcNJ5fn4Cv#ZܣAR*j' 5H;;:CC~XOtX; /3pp"~4&8ʡ$%= G_YB~3_VL:O] LPXNwiKʼn^f,`D!hжzJOʦ:L&+ U,/g|_a:vw=fq))̓>('o?9bvݳ!~뭷[ډQ3$ ,*jf S ؊HN|[!pn}nGI|Vp}-Bk~t*)Կ.%iG퍯$V5U`3GYbDU \ 3/Θ̝`*lfjug33Q!ڂ;~DO @qaE|gl=R 0;Zv0 ,lmiEYe$/滸 7RNПbS;]d8Qf(6;V;L<Ï[ /T t& <{WѷyN^lÎr@Y aj=p)8.Z#2 ;<!IםoJ&_YR&Ğ=!"1K*;uZI5]R+ۥ='u&\j[k w#RHD34A ~d2Qv]B{sx \"zݻL<6KR8xFSٱKBNl*WOAt7z\Fo9"W}m% %d)"ޮf!Y5&-g#&}wr%[4SZۯcb)6~ƒky=,qUn|%hàӿ`]I6 ˕w|r8"Xfy G̲[? !zP |}>UaQJYfvԒ-tBFɹpA":Nf;OW3@Ջh(/&E龗BI2J Ȣ M6D;"F=^ z%вV&2uDvS ޶4t9KЁF^AxS }x9nk_؀Ofa)S{B![@!j)!W^,z$VRWy8 /le\dU։91]~|!YF~+ԤwGn!@WO)F~C"rL(02g<6U; -G#ߊO~W$"q6D߻Şzһɪe~b/%BrM>7U ϴUܔzb.[y\ u29K! _|Q)"l`2MRbv|gюXw)O xAsb$>׼.dBch <ӷ%XT1jTxq4bQ dfLZ; ySQ $ڐ`^RRñܝDYq?չ;ئ0rsǵI∔&lPq&W]Y%,!m7K3Zke~ ZE `E4?C0KRӢ ,SP?93P)LD6 g3Xz#/Vc/ _ͮ%TCMҝ̥mR.~n,K>4iSuLXpn./80z-P7(/۶XGPl3{2 * P7Zpځ`-U,-?j}TNA~.1cfdi$z~Fm`ZFN?`8άMbkT R9&\P3Y2%: 3dO2Cu*5r? "` ah:/T^6ZԞs.%.NF#RH"Dbٞm7\ ? gcfJ ~"Igu*q9V}TG"ZoOxZ瘽N}&9 #iX7}.|‡-R-5S `:AԔI+8+LOQ<1\wG/>iIAi"*`^~ZQCW=m>k40=uhT$׃LEyMP.8Jr^0-7[XcfkǡGV2=Q;1nlH\[F# e4ߑIdIV΢@+FYQDb9VT.7mQY^ak5 r@o60PpjB#1DS|7ϤPK+ۅ"醏JlY\Ђh:KƩv[O! XFf`rBk9Ɋݹd 8C|$o2"P%p=j 39d2WO 2xstNgJ~xqy^ѻ=8+i3GR$0gc~GbS4z$:9nfw{kܭmR^'2-9PoAi4 -a7 pIo1@gk`\ϫۜL.AdkUAa-S| M,9x&o_e뢻g#1(͎U%(Z:-Vp,m{I2K) _ 2'oFOv5+9#;^J`bti'Nve*E`Y%;Bm7 >]WH 5Z$ykM%Ҫyu)zk:#4K+ö|N񔂎&oh. j&3^̤Y=#2SS3 D \̹y=jrľnrgUr~~?I˯[mkֵZ?b/RFSV &-VO[<ⶀyov\DXLfxQԍbç݀A;I=%WW)C^\ͪ]&& G]EWǖŚyGx~MFtTq6 ֞/WCBJjՖWQ q%,(NuORG! o7".iۤuFqGq̦)AH{.nuQ/o4SybRn 'e7qTx2*/p (:&?Gl.0?*Q͆6h1=L+.]nu&Fteƫ Ìj)0MrFvkfXs5f,Eψ]wWwĻ)T_jLR ᧳KyI,sWΎyC^/F6IOXK=hCǁب'5(XИ)$6M22 #Yṯc,hC,;2O]sy˖M\-=dp'%b2|ny e%ZtH/#j KZU+,a};d8Z 8 SâʊF@X~j;61,V+(@kƎ7y +}!W8zTsVE#qAx-&EM†*g&3j58b'dԎj-dc(ܢM%TR S EVrԡ5ytbX}kl^ Uijp`_*:֤+PhFiWh WHrUfʜx9ϐs\#^$!$5MhJZ-tKjpr`>m j2Vhʨ2 B{+@ GƟ]44(w,zS^ Y8H%(@OD9 u~f ٕ%LT[._ LNk8 W.RHWG, {b5r^L NjMwPֹ0ʵƵyDơJG>_av>l|'\V%hS^7U0=4$cj|@6$״,k׆;o]]G1:n-R;<oKԁj^lš칇iIcU^lJz* ; ,J^c} )k (g]s dj[# jv6K ef_ mXGKlMmHMìk3q ̍ hOrRHUڨh~,ڳaЭӫ֊Ȣ\$P}.4X6|[BkPI tW!.n}BZ'eoZ/^{ϙ'๿~6 92&dymA}(:igU=<՚WU{方w]VGz>2sN!՘ s#:&eWeW8l ^yQYPg̷ߕF$Ბ'N?D1(* X %촕;3Z@ifvx?ӯЀ="(1ͻ `9i&fJl"R#F"֔Ahy3V?JL5ǔ: E+WsAo_vy3 _9<0< :u|\ +gڎa_,<O.udXln(va#𺠶1.np3&Y-U5 Edv~>6AH}P_֟jSI]1A"Tٜc*Ux)rrVyuPu [аחH~'LZ٠}4 $p guLaˈwAu3!'J]sR%OY]:So[aܐ]z.떅j52$"bio@/QG[b7;vuљMWJ-]jܸ?}VF@]ߡZ_7.Ь+ 6>-!.;e$An,Ń#evȾI<$@lgmӅ_d͢TgdH_h2v4F#!Z\)L 匮q:At^Ie2gG.Qmɼ fKgo/]_cװ@r䦝GsO!n`*{GeNN 'Y9S)((eĪ3;ݯ,՚k !"3M/2K_:iɰЂ nɩ=?f!z;rp 7fz^MRn8b,j{1]d& wϖ\ ⪽| p>ɞbƞm 2f *ŕ ZBq/׵ H>}@xp_x1[1)heBG[/,B1u5uk¦[kx!ޔJe(7mK E(UN"JКOi++OSݮ1EK\ݥc;[YOͤBU$HQVFC4Uhҽ?hAB' fUѢQ.=M %u17=fd9 o?1_#CMdo%[Tu7X:=/ :d֛ 9%5%;\D߾ȵ9\ʾ:^O4\*zMl:D}s;Ж}#]NlEEn?t/T2D%[zIu:9PGW[hLx8eyfK@`Zk_+%bHl4ӰHJr{"䘄NONE\Z.vѤkG3_ihͶu&Z" nagW4dlLSZf~A%ϵ2%Km@]o܋Ok_xSwAx0+ 7PHP^(DX"1oZ lM@C'(Y޼3%~K]̈tIcIR%/9 Fu-/s2 z &+ *i2?i;F(f`\aye/cYxdSqnSXDh܅B Ps`ae!>mCCK~ ʌ-k*0?=,3Z0Y5<.rGȉ z˶Ͼ%e.k3=pAꄢ̒~A|ߜgm K ku6۹# OJ5鳸(ےi-Bh%G_qA%G?-Ee >fI-ѫ=u8!Xp'b1Dxo7""D`Sd`w9ȍ֏WIHA3 peeHZ0Dbmy'}S lWd?klnp\b@FfCJȔWJ0Xܲ4,QDk30+f`mY7@'{[u5`3NZq~vykGl"ˮ#\j<7Bbi|}YmĆA^Ge'Dpc *]RcupD7+04`|OPwr%7sJ1 7L!080wlDJI2*p-Xd{xr T^R3|T C5HV`4%.5W$-8J7!z; L?/nPD :?Z*-`]CE<د?C*>%@I cx~opUl9 m&ނؽo"[yRɴ&W$`a-͐Mޑ 6$}\:H!~>\bՀ?t>`ڈ Y:a ʷQw5k2;1_ $+@|-N!iqd~())֡`:cC}(T0٨) BQ%=W]D҃Bf0ZQ*A` w0IRr.ye(Ej7j`W%D}sY?fIAT(mW[̗Z+,(ysDAu=KYѲ)"XFS4KԃT+:!DL1qxz&I<ЈuNbC NBnE%UǔT{W§9,t{ 9`Snxv#X% *U̓죆~cF2_V^=7dC)UG`F6^)5~3IcF(*ϐǷ%}> (ӄ5 tPE.kG+kFMqz`ã0|@S =7(C !`S kiOT:mA3D+c.Mf7l[X׊,kQ!"/hE9H"2"W0ֱlM(EC,2hۦiMxQW Y 12d B.ݛ6pQbAH?8DjN?,c{3TjFdm8aV^rRLF#_ QkR8sl7*O}kBhvl*]ѕODx#[,.YEрB9( ,)%̯cZ7!Rv3)6_Xp"4*=38#)iec)͔ ڟ7ǷuZn@XY嬑ip;etc,1R~HK\:aFaQ+d:dˆN! @V+=Gnsr;Qؒ=ql{ ,h-rLu˺݈ Bz;0Ht/(?&|m5 6], OBhs1g} aۇ\ UyPEda>lŖd)}ӳ33)~e'pAiNJ͏{⼘63X8F#iUXzP\^~8jXk)[<=YK K>"`&Pi`H,ۯW7XJy*Q)7IEUhrk)) `')z )Ы+J |mY}~PNNp':ӻ?/5dpXIUeEbVFN&WC#gtmaϚF#y^lH5)C9rfiR=լT^rqnmJ8u`(k~:&L.qY:P:pu g&mWܾiYVٯX [M@S9YŽWԹD%*EQ qU k U#Lg\%E!>"ݑĀ,NpK|7{&M hRbD)rUlVRAb_Z =ݝo9\8V0jX믉81ұG{.dwez[K"ݳwv: 4AA6` 5H*k^&4A=.+pOzwpc?=8_0`&Q޹7 0ӏ(2Z:> pR0[˃fDl!G23-g!(s,!E R~9}Geem%U.lq!m6Z+}J;N֧<8\RJPS+I!jxh%G}ge7OFrP)s>\B6ʹ(؏2)oU%ssJ[XuaClun.l)Ht!!S R\D+:_!I֨s0\ke`{̡ 넝Y@7$TbLv3nulj6bϯbD}U5M0x0~:W& L֩mಣ-0Վ0:izSRHJ˽{V~Fsr]nCƜK mͶ[yYT3j뗌&/uʸ9u`Ǐ#O}y+dKGOW6{'&Uỉë>MoKq[^A:*(w} ,C&I"\;<;~T)t~]ϼrԗzMx||X5saDzUgPڕQn*JSϪZ>(<4ąL*t`HrحNS(oe2(@e"u|97uzh1ry/3ь{ 8ce R.UU䤩;F&̝]FrI6f5@dEfߥf"UA #I`רf{kky^ ,`5^5=r"}} 0VpP'?)Q7S$+Mધ)g .!s@"kz$>Ÿ DS]T`lҏ~ӚZ߷D95Lf0ޟ48gew\[N#F>U٫ܘ|6$WyfxJ>NL2bg:O ?hl^uؽQpKD(΢D)}7 0~dc13N3h[a*b8ieW6/Jsj.ԲѣĕtĹ"X7 lfN[S&1Y(e_4ǔd{oF9)E7Jb/I Eйu\#4)Qn`Q9bƥ/TvޕBfU[F 55fe; 7z7j>QbA7_Vcc&HA(C}d"Q>?b$m,h=I,{zIn/#aHvA\`.OH)-7M-kGʒ!E(*@bY:_u&2ӽZvy?sO+ޝ)#SRҵra^6y{EuL܉L_&m8YvDXAV#jHMƻul?h2,sFAp,}ue24a tXʨ oIU7̄E7=BWN@*"Πl& Jޟ̢SsBMbU6-G*Cɵ"s vˈ:w Rk$J*İj #WL͇Fi!aTav(EH=[9 VɠUn7F~@J/owJbXEPlBg5b HHOH;TC?t#Y FX~R"@v5D|4AX%! PR;4MkGٲlH$r ;եuĕ^g-> ?ľy$9~H:X:=f.:VEӂiy;H݂švuto -}\GRTK"j7Isݫu>H[BiXn%jm@LxY|Ut$咱Ai9Υ(rʖ薇Gѵr,~) B4$rRJLrE.΅JRFZBq2vVzusMT"8\\ Ak =>&ˬgdH}e*- )5 );jl(j<'N#Bh9wV콊$1E&nʎB汘Jc \A7މv) feeQ4}9fZ؍j]ψsH+b|+=c$z{YPqb#|4庭h׻5p$rT{F?IO>LWbZ\x&mtGItΩG/PN]_'n߰4C{#L9I:n^J+#%w5SH|+Z3`qXw]}ntG*c4-Qʳ\$_OrwiWko}4֯)NMZ"[Q9XyxE*哳ʒD[e&a'05y FTpNZa/t Op*l(Xz6QB++14GGՠRDƯ!W0Og0j] &3?vטeŎ(14ueb Z “k5b\%̪װ5ES2 jϙr]&Z4;okO m$YO:>=*: X Ȋw ު{ WM8/dU)ogV{m^@Xxh۝ާKuE]۲h^%.j'CNtLM;ѭSУ,E X+N'Sq{ɳsD(v5!q6Ig@EU$n”1w 1"g\ cq44%Tk+:[c9N&M?$X-K`@[KjG >ٔ塗ѫqx"mUvnaczU"A UԐΑlHa_q0RGzNz@dI$_-x<}7!g7~ JȒt 򠌽GOKxnj ws^{]-b(YOea Amd6"Tc\M2$}5*<}zbC _ffoҥsc8 0ynb MtgЖs™3Mu:n<RIR^gE&@J k̺!RrU x{`{&#7qW$ 9􈋼Ń4U>(̿{ F&n|4g9E2p̨V#, I1^}:H׻dqLw? 6"+ +Y@J@t`uJmǰ@V0WTŠ̵$n}QMͼەMZG&.8kjbI'ùʻLCt' S1Gث%k1ٶ嵁%Qs,/6>F!QP';]Y1j ڂ&QdACŒ)g%F*N[!R^3,a~D up}ci R.K.c\w+)^%Y5YD13NmNi+рݚ ;wx)ΠR*we+LALgiI*ݔ=Uz3mgk^ sPh]ikDr>rH~Z%GD@L*(QRy}+h#՚elx_/昜=GpmRCsheImx6T(&CLN-$yy[Ǝ&* }`bwtr0;_jx\vdDo$JL46I ra*vۘ Fr#z69mbڻl!y䋥Nڍ:lMq*E]Ч3'ֈO| lŭut$CoIj .{a/~*Fv]ˑ$&!,5Y2^:DQ4BJ]lƊ\U^lJƷh|3&C5Aγ|2A9٭uvMDJW9?z bD:Ť@2d5J,/h ?nBUNkxz8j'mI#9-*Gm ۨқ 1sDӚd}Y`lyX؎KjO>0G^#w}HR'ѡ ($BO 79CfBA ؙvv']/qGT "[{W]מ{9],Jҷc,+ʜ_{V-eтs˯%?bC #"gsf"ާʰagu~v,66X'ObSj⏛Lad=UM}xSE> VpMKuoj|ЩK>!N7y0SKo7[BU-M HKC&~nVPٱ{R5h{ڶ|hgh•1Q}zS~9|4 VƯOBcnF7S&tډhot*DCIa]19ίI$FMtzN\{=ƻ3 [qposu7p .A+'hgIgؙvu|d+5llJe4`v08Ŝi?n|bA0> RvZ.0{&DЮCtgܥ0Ue]0svU鑶]4 ʭ".N'^?@A׶֖ ӷb v[Y qgN#v.un:ܖAt|&mH>L< =Jh(fE:qY}տAVĀ>;H?eE!Nq)9 i\KO@k^ɻ`~Moɵ jC K׷TŴcѡ|0aQkv]Qz>=$+E9̉6_C,k; lj"+m3˺<| Y;i:̋)VaNׅw"T 9N%;G1^00K^Kz: "K9?lLhR=`'&OR 9Yx$~`'AI>mYp@ kgv{ = (+Y Ė)7l|Kƃ%tߟv57oڟNOyNs3ء B BкlU@w|)8]1m=/D$U܃b'xgD'

    v \nCa~vе_6Z4ҫ Řzn5ҥ_/ ((U."*$h{ZIz^\ck״8|[lo2]Uchvk(_H:0$04,<}lu/!H ;Xۇ6Plfq\ɢ  fǥ˨Q}/UVMx|DNKmWRFr̿#T r5JnL kWDPQeɒOQ(uפN=8Clr$n@-&1!7IK_So= f˭޾B5gJɤri{uvv]Tȑpece9AJfG(J1;mOHҝYU*gG^mcm>xS2%?FNya>f,?=Us+{uvk#Qu=?dyݣ}V8 a6HkC=ڪ_* hɛw TSw‰sK=ZJb:ϝ79ہas1+Ҏ 8,%ܯdK%kwiX44ߙm ӏ ZZP ` b'T/̹(o*Il5TIY]s9!aER`"mU^ +u}WD&$Zly]2bJlJpoH-3LP>1FZ6 n‹5Cf+[ᴘ4Tg{s/4"oQ?8Uv(3C\rCfvQWvwїRڳٽSKJ}}cviՂKb!(\ޟ}Jl}I2cw eHv!%kOuN ; EpަָzA1 fI Bj$T 4qO.sLB)9K$ |K6[{]azZ3qhI]xJ|!|uj$-m˝`ǣ=K )p,ߙ 41QL&y.B]EPnXkO<0C mf<H$4@! ɕvH_RĤڲ]LsInS?Ә-iߔ>m@)7{v$A{zvLpHȕn. E 7}ϛS2zPוx1G`ڠRp| 1ŗCR37%r@p(G@܌ ϑя 辐d.Ve&ZIB%(f"[ Jƒ,%`:KT9ْ(D.&BsĮb-?l <:[Z ׸\=8'~tnڻ"shRz{no!RE[,&|LF1/G9@mfvacO8r< ^iQE=% 53}D_fƲP ?v'+3Ҽ-a5̐移zj~T eB!|ПDULw8@?jAV@S 3م* cyO/{|sn і]ژ| 3b!6P*wJx|ӛǯ1,pjqQc9;h )B3U}-M%⹛UXlWdI NŸdblDq,+zP} K0yZqI>fjlUS]7|J00pXGêwEt(lq8` 3&\1YQs)\i0 I9Cʦ 8d~m6u=8~sԸ]c8??R?wo|a'-[s$쯍x!w>#\~:H"[ء2VS̓=,C62sbICi =ʘ]? Ro rVKeT{n5熷?5.N'`o=VZ:VMtoԨr2C$ Tj[FdEm4L!1_Wmq|弴v"t;|:97cb$GV(F5B!@5 }Z`U'hM> Nf>y',eߘpv:6pyGTs>dPԐe)ī=5}Hݟfh 5O&:G7 bJZL@ܧ`-C5XS>T_?qc ).J_deΐ5͉G_vX !ۿ5|Z߂gs`< Rm@@:’a.2`3V.ڕP\Yf_E^+cO] >KN3=b5}ۘjTnE㑧, v}_x\h>T A0vO;ja{wˇ!YaߊR(QjwN!9}K qdL2P[qҘ𦷊/"E NBmpӞ4Nݸ#Z\g4K@q+ӷeեpEFflDU^S~d|Ekmj+2qY#ň5rH*pFZ+%Б#<~`h8?ɿz+Tk#p^P)KzPQJ+}!vE@;/NHkjMF^΁Te^n^h|AhO饩ufӿwh['Cv /!:^1 W@6UmjʤZM=A>1",NygCi# Vz8u88iLp .iwtY}fy 3#>oYX-@-(<4bw]\W}8ƯI# T? hV(Vd5ܤ:kt@AxņӏxL}86HϤBH0vH d"AQ8{qZH +"e91H^1ukf)8 ӵ;Zp[@~5i䠫Cxp5(l ʺ/%ߘdf7|'qJBl.k\S|uf*{ޠJh"1+ԯ+0F_gO./o|!*v]lة *JfI#]U\,^UX8i!RP&JƯ$>{k[ÑCIXZnh.uߕA (6; Av3f ,^(j0hv*RQ sU"y4>("Њ_@,dNYU #N@h~O1h&rQ7ۂa#r+Y zmQz(9Դ;n/Qpvf6GY%nH }f/>R $H}[F]ʅM4@;<7MMȈ/cKE moca*DIb髧SBb]SxGHJb ?i`jyuv T EZ6_XOq$D\^GxgVWmTV 3ۿzѧ6Ja0:vNd(<4zL;+?mVn^2D1_!+)r0 f\I3襧X|n~r#B:GˌO d5g?gNe #ywˇe~'ms؀GĪoT,^S.;3W5FM5| [cligY2fQ^ ]3',װ\ ld$u&SS;E_&O[I4Ϊ_r&8)J%>97V6,/&MpspG,L>0l8ޝ~7 RrD±;FDǕǨF}(W? -䐞Y~"wSw]UQbVP㙮-mЛ"p:!Mav>)-H{7d} gF&6!Eq2._K.8N52=Ai4- ]-R&GI9L+jP! n5rB|x`}ߵ}Wog,dԝw<~Yc:f2i=yςty˅x6bF_x$TQ b@y(-LK(׽)DOCbqҿ2-ˮJYw*+:?JV⍲B\xKc“$mFoEFmE@!,T`lņ0`K'b܁leaSHC5~Xr o6a(L(-wyKlZya5D)BY&04c^ULzBkaSrU!cfn8CUƙPfn#,E<>tpA'R2ӷ~sߙK%s ]n`/"jB8 E7 t" mC"0S带Ca1d[au7bӹ,&ݷhhM@B_t?%uE7y{\p3Cv&5,W+G>mSP,AEJrU8t6\_}a߀%i<`5*~mRnna̧fy$.o5s:'H/˰}?%>Pa.)# Z.(k4fIX =(sK/ʔ}"Ӽ#'!$)Vױh饛ٖ4:w)]VMЗƨ<~4'` q[+DPQWCUa?zSj8mX]KD-:I ;VYp&jll!Zj=rӏľ&*MD¦rMGMUqVb6XaE7Q$&(Ä I\X'6l-˂$"t=ys8>3(h`Oߖ!Y6V~ lKBz.>5C[9頫z>8?‰ ʣ[eT??bQЫX!t.y:cp^ ؟fempl!f#jWjQkł풿,$gV\yWnW_pUWKb/U^nqξ u%*_x[gwZ6DS|ɬKfբ;z7nIu9:}7+2(N> e|- >i`i' q#!/p G˄n6Kjg\X(M5y -=Q}}v]м>j9)J ,18a KT5 xTI2g]|U >hK4Co< xqz)fЧ-^D#1HJ \,#9(Y\a<2n7 ԍt;i׮%p[*ORNYc3{6AAzv_9ѣڰQeԅkC?ETyo5~cC BBs4(䠋uij`؈;ξUVeNƤ]275dv%m"#]jg4*nܼ173c@(m6H%-[R7z}hVp/ABPbSX1.+zºN"4ߜ R}Z׌8sv4; ^d\XA؄J+~^M;ʙ8@;/)09]Zu,WڮBeC%ZZ9rTvR>H N5֔E?ͅ<]M-]M=_Ăm]@UM6g7` A"&)~~l}kJrz֘ Z1e/ܺZ)q/QDMq$b  p+:);vn .bxSDrp>HҴ8@vdGAߛ(ѩ> KV8/h yG4~PMCqRlAO2wښhFv13-}tC,ڸMm2lz.IФhlxn2Zt'Ţ\gᅭ|@vLjУp(va4i\|q(I2†Rl=~&Bp7Z׏:BumQWОJ=`QAqqXB2 NVK Ԩkq ϴ rHH׉ɶ`}dWT*((N}ژB_9,pR٩6Bjs+oV?`8,jE`[0-o9?-UpFkdei q,p.i\^U>My5j[r&mPXRQ-^D|~]ėkZ5#f4UzS2[f00{xx&dgs~+1TW^lҿugAIOfA^;!<@I>xZ6wIR,>;mdUuQhldJ ēb W$W$,0䞢΀Cɋ)~;mIWj?b-͓0 B7!ְ6SrnJu\j VW ^P8W9+npA?P?zDM+Sk,ZghvꗒTŴ]}d7raS!{HzD/}% .` ; q䷐GaղU$>0T?#FE%38'Ρlu8vy EQR}x}yͯoE,MOimvܳD\2nmFwcI+NBxQyby@JZV [۪ #)ζ.FP0,$mb?Hcq\ klgBPϺ|/ )(,*RupWzRo=Qt3g=|H4b4?|r `kVw4ekYo0q%`![IϏuVk-rdy|1{EmW!n7k>ɗQ¬{x2eCCImŁ4%XS锸^jksY\E:yO7rvڲ'6OYhŒܴk;:(c:+9f ]ѺJ]d[O1v\';T䮃#칗N0v7 1%Fq/>ޣ{NTU2 &(v5-g Yv' cY5Td0bMP@C`rx=52LҴ3b}aFmf)-_,|6!FX \;jS<j=4XRȗS#z!r9]HØs%3sEHS#W:p ~sxّ'uuۣ霭1Ct#Ň0Uz.j=1D^ۂY,Anxsqmgy$\809s;[Z9Cv)!?qbBz%=qT 7[3V2]Oj#%MwEq}Yt2RtC[ݴ(d+Nڱ&3!P=@5òA=2_#S' Z km [ΞYGm  t=|L|A8]4`l,mh/.rm'` u&ׄF`q(L8q>Oy˄oM6:9.ˋpG W/`n% Ҭ`?F͔%"cN kr%wDol ]>~^.B9V7]Hc \br>g1Jx`v`8Vh 6.N"k>~z6֥Ǥ> '-CKt@TCY`XxY"O.n13U2IL[Sέ _DwU-hpl: ӃZŠ3C2Ca˟z_ϖZ Gݕ*PkTh'Z ԃEko"hU CdFUA_z.db@nZhD`IM.|j,ϴޗb 98W/'„rᯠ[;hy㳊E >KU$,'W-}C4_ѰBqސ`k7Wp~yzO't!+VYX^\PlGj=4')=!yIE喖`=YAJ3k / 2T.FLyL:t\ӼaE|g%Gx#ӥ㊥d쮆\6Gx!O|J9q3>HI"_[?b!2Sn ᶋ Yl5ZAB~d9WDuSD$+gn AESmQo煮B9rOW[p4`j)䶩S{/i:^hbcA\f0p, j<HTl?@"d6H'E54˜`)A= MKjUOJew)R_K蘰cID XUL#{)A4A4y)lW&Es9k!&R 2אv)m9?o:;ǨC pDd 9Lq:EDAFH }gZβ9]GCUkܯ 컱Ed7Ј gTl)w[HQ;c׎1!u*VI_q/NѴ+|d+_2ZKIx2m P`z^8/ 60XҴ  V Ff #K>`31Rף :e̛zI-8Xumfqã;t}0sDk:kNy9,@/A.;V$k6ɸuS^yo^//p,dh^nt[ԟG<wS>!EsoAv6o6664۷=\lږ<?"lX gƬZD|)&Z}T9%h (}W;1&ADVfeئ@:~\wZ0K؎"3_݇Vd=ۼR~8&5qKs#cγNsX[|4_KgsWD@T[ w J",7U݁ܣZo3ʓUN AD @@9?5i,יG+5؟Ld.2ZTM֗/q'5DblIQ?8muRāA=EVsv#l"0- ƍltϯR[kU:7 - %&E =>KK48x6 -Oϱvym}T#áK%'Fec8x ̔x^tG=V+ 9oC-D޺c1e U]W],IH7th\l0bfH0*g]\obdyWNj1H~axԤ&$i0TT[U^;2-2zUk/T wፔ:2k_-Ykc.SܠM'>[c,SfY|WѬJh[UT2u ױjmhrTqTXbGpo*K0`iE=p2eN7.SQI1xΏV ֛^Swzsko*!t͠`~(͜KV~U$QĤ`m?ƈak0p4lct?+yk\< fwoD_@_2yv~?G-4&A/H  u7|+ͼzN]3] 4.\~̷,F2 S֦}tO2ؠ#_ۈi $ f#P逾68ӑzf ySz436O6%gSw@3UW,~k$_M09iv hM Mo1Xpj8ruCzhֺb c(g 8LRJe :oby@b ղ>@[bY(ܽ 47zS[xFsY$a%~,k~iy85#Ëkm$yf`)(gFZ,$ YRL`LW[cȾWE~Clw,t*Ag$ !qdٮ +U8dfM0w~آK6M+J/^Ȣ$`()1kn+2=j zj瀻FyQ/WF4ta:MSQ|&EأybJᶐ<_^bT(X+LJJ۾P&6e|=nβmo;7Ǟ+0@\Yw"MFMYMqc+YA|o48+(bO|A?6@Emdn's &'ol,SPIJ3ލ#WbyHN^vkIJB]pFA OYV搷?^,M9N&CQe S=TYlܸ1nGr$q `dphE3X{E$J7=}6BzA80j<z*:xmH)?4.DGAWn?Ȱ^?u=3teӆv*jܘf<;9a,y6R Ï-/[sPfjd&L&~ҫe9tVYӱ SvsPg2Ej9A;Mqb"~M8;J(+,Xrbdk(v<5GQ3J9_00*:L" B$օ: (?%sGօ4ixCs8AGL1ؖVc ?0fy:O[LYm%5Ų &/=NP~񻎧bƄ(^{yf@skC|x)Rlʾ*e.Ptq[kj=xvO#Ii/<5Ͳ`Er GkbFj/ U¶of|,rX~{\j*znh f _ c[dF'9%T9,"~A@ZcAZ';!k!G? qN`xXtɷ 1+:HѼYsX%m7c?{K;PNe񀄑qS uAڃ:~]qX6ws߽Ww;O5#W}C|;|)4D?G95X$f=V) ?޸Oh~hCY=R}3/RpUUr!**u %ՄX,uo5;ཝu0*Db`; OY N-sƴj#ɕ۰Vڍ&PxE"X GVBgI-"m|*KtaPrkqس#J- ?pq !=ꔦ27V?*4 ((*|:I8_ϱJeTa Hrs~Q DBӾM%a_jy7`~#Fj]~TP >NT_\Oᛎ@ gp [ɗo[ZI25ɹN%7 !hZ%$X:Wׅ۵UoZ3pMcQXYMa!#*Zx{4TkQ[ؗݺjG</Q(͖e ZH.rKdۂP2RvxE/$6Idu&*U H?._p=kUB7/ˁֽ Н`*Ҕ m Գ®\]#k)Z4ܦsʦĕ_`''^ bM݅]ڃQ~-lT2)QNKzkKs"2[HO@#J'2RZcI90hb.}*|7*uPJ|j( nv0h;0#+7Ҳ0x ˕#9"D(sʍQUŸBB*Ap$tgݱOcӻB{#$zlyk)%Χ6Z7xӃ:-ֶy#KF2Ti7jy\lx?f29.awڐ06q|]h9ԺTQ2f 2vȟ jQV*e| ^t޸ +{\v72{..۫^ո !a48TlQi]i3э0F.4U8 >h~+ x< O4 DWئO!\#tE!V[zN6,j׬صކSpkGvBW3MaIK a7jpIGg~/yC}Kl7fh'FzWSGC0k #`t-1aVZJѣx;ExM',| RU 6&}MF%xc!,;;F0t>XH'Ee)؀!h4aۨBc^$5eN+nU?/M5ݹܹD' W7d9:/grRC/6vJS5Z% O4-I y}5( ?<8TIx^5Ny]XRuJ[˟P+*o]'/z!P3Kf.8ؘIN8zt8IRdٟӏ4%@;ta!]eN"?`ߣ}Y8P}нPX<_bPy8G4CIBLkM`)0/)̶6<14Eۇ)WꢚO#iU#xBު5&;&f|̀^b~ijuQ}& q+<;8 D5ꮈOuOPQ 3,Kk5jΘu't lSstLJ.&wUumΗ&Y(HP˽o,H ޑZ))J@Q:pǟ%?kM7ls)EOI?J&.ef@WUu!7~xӼ~](A.gp:L4}b]2_ppQ;!q/*b?c*DrpAo{,))m )w #zQPTNtOw/JQX5?iY<!^ʓwAKZ6~̐,Yz1B4C[85%ၛA U4]/%sa.wZOcrf|8,Գ)`Xm=j(YG1gLf4֮KN[GHvprYۍ|Gp l_~ހf+elԄdy!óZk`yz;RSݎd\~}f,U"ФKQRekyQҀ- w&:'Yxq9ljɑHgcS2!ԫ Xf`:O$0؃u /*ry7[Wһi¡_ë4ɣc(x5s8f_n KDY [e |({)?~eGRBKU.nJMr,BU-v“{,>w6IDP27g SN?f.7Fy0Fe1f-~v\L(Aγl&-ѭ?fm(uV xT?<jU"yLɜc~ח1}\$3,YG>#CgY17 䘔[=1J旵>\'ذɚEbk?'{78ZzfNPM wl^DvO%{疇A h.[42;um!Uʚ(J,f}䤳Iw暺psXЧk kldݵEy=`v>IQr2'ӨI 4aFSAC!qţ(EV@+3*CWɡƱ@hPeIթQ(Nq? PV`g_`NR:nE{yc5BceDӖ+ 48#H9MPB'+ 8:VE@X9WD/;އĕp &f(Zv7r@ZB&j\$Ui%z+0@!aH =BbqsMxxTq`=Ta~©&G'/_s4&3V!j%[8v$F`Ro宱:^ < |ׁ 3_;]T#R98u'M@r*w]JLt1*0^Ė^8ɚM|&d{ ퟟ9k?Z@N߭=,PZme>*L$ljkV3o` \W\]6 M$zFlP|ٟFCTϾs.EɗE bCh9|&qIuRC('M`/Tghsyz ⺙WTZs3HLq7A<$K[4F!\֪ł87e4e*RJ^-%FJPh EIt /$oM'R]2x| ^ĜI z+QCMʿS :V; ܌,N[6C,BdQǥ)oK;S5%2 W{~}ؙ;uWߥS%I,k3+sO*M_Xb2Oj?dXK7TO*LC:3[R7{ 0zhsu4 l ٚN P?xڨWжTOy$sa ٰ;c!C@( >C 5#g*I+N/HOMG7BJyW{d?S UL$W}7ˁm T<ѭ.v#p K˦?ټ:9a'Z&&l^M.Ofj]s;U-⊸[9V'VOK{T這F״H\[ +8i ^*{k3IfhZ*@z3pr#U=z<#8:2 (=+}O20Q KQzuYvk«H6rmvnKw.n,{ j?|t/O]-">A"8> d~\?RY&\)<_gJ7cDt!Ru5RXW Ab~E66PRc+z Q35F 쵾ը*_d|l4>͕OږD+]&BE'z'_!Ir.@]-xD^4eǺTMA%hSXe䑿Dgد*/ye,2&<凬:gmF?ag?mIGH(C"g.,qm]bt `pLOFcN1X'{e)DrH2W[~ %\&)ff[F]= v*RS|Roq5▟V(ҧCE4 [?<Ÿ2Aqz?O~4&6ɭ^w@y`,'S1~ɏ7@X^bǙ+ا(Z>C4N#Tkom"bX^Jy}qCY [B  pH鞁EM赥' |o|Se 8fݝ0:e,|JC[F,ux* )'`;\ r>GPsb4@ q;x? ~T"^]I@2z'nd*R%e8 }j˯YS4>Hִ]e~@8L&ԗt2 pᠥ3"!9 $#e;X7X{,ǎ*`(ԁ$8JӍPV3hߔ5Avd7dJ͚QfrE >,YXZ!>HP G&,[busCO'+.R|{|-lug܅ExxiLf~7jL's,;030~A5 tHu.qNe ]K\ƧPSR>9>kVr"IKwv.C劻R{ ػ6˗u3$?xv1+^3<փ .1sbB8KeBiW2)yw(dRyU0rxYMEz܁D3T8Hey$T6,Y\=0/,7I7dW%;9?3Fgբ}yRhQEr 7r'^%u:G2䄵Bw򮖛v:ס  A:XZg\*fF;Z" ""MMbV;/vfSN)DCY Ə, VL5 V$4**5)KZxe K,T|2L$N,A[AvP5׽3%fDdtt}=9o/ 󢧬1r5_!2O꬈ic2 +Pzv~϶OYn8ht2-.;)fU82{>s,M)5CcI HzG AIr?*Ƣ8fd-괭AR u7u{k0QD Oǐu;̪4CV |8_u ;?\ ٸ,T6kf/f rnm5oj>ѭ|M 0WE <%ZОH鸞`U|ەSP5vLคIV{D\ql >m4MZJcvZȂa W Hht {n\u||5*Lv;3þ9:;]z)otp^@׏Ͳ25.!78q uU8^GɛqiH1!]A. lQ& x :Y׎Sqe<>50k-~[ +mq=2=5⧝4_H D tƙXL07ɛJUEe\"?& MpSC#-!aOQ*U(IbFAH@ә\{C77ٲe ܱS%$}ďy](RW7tz4{jqOm[gdKȯpo X,JNg ~Hqn@G k^^W GɈt\P~f~iPP|SYOF33'(U$`BZkm~սneo1V@ M4m}+M 1n%BcUkGe_+k㤜B[m*~IzyӔ"/0}<a{36bJeB3.Rn$1H)Zu-"I]4ՈV{6t}E 9sʞj"&Z<fI}|&?NyBS,3ž*031m59FUm/p.6 8rp4_sySV,aaΥ*#ѷ{JrG`3XD% Ȱ]MTձ/B[[ڥG~G>\kw4u 챲3)@Ac4+|Cڔ8iy@)Fr?*]vXX4XИ.Ph`Jxo` h);[٫bnxٗuQ}$Ec'Y$/. 6e,}cKZ/XB*LKg)Q l9ށL0Wk U4%y~8[ҳ'_T:{[)y=uh|5}huۥRD:U-gvVgXtDΫL܆dp@o ./0p18tkKW<4"a*W X0YXKdg$("k߽/M.ݹܶ_8-:|_oM=ϥld"Ͻn~8eJիBtu7:q1Ff:8pV(oӝQ` IF=48#Tu 1Nq>K!Igqd\pZRtvV׌idB{9rxڛur*9DɡFSo,)fby KA![Ô|T؝՗Bjx _ ?=ݲqI6 XoЃiHJd7&{l/@[c_ a`FslfŒ^zmZU oRw$Bkk,D%<7!N.p\i/-s$ۤ/AČ/ƭ3A !풍׸nGcg s>Uk7^gjǪJL/^aݟctj#c>h\pmZެ5=g^ݸeN'PprOq@^YK4eѮ w <5λ$b΁,nC_,mXr)}Y XW#mfc,gFos7Fu=,yghG YyZ'xϙ7ѝS%:%Em -:J/aHeTgg%O{+YQ;t}Eyŏ`>gfDj &k$x`q0G48V+ᤀ~8,~xn؟d&Rc:g{h9g!鐠-:*KZАS&_|\*O1gT ]o/mavɴotnp)[NhüZv]*RsE/nqlM-`YqJN]SW *0?K^bțca0\2 /׍7E4JD`iVsE T18im(+Z)/΅$$p_Bl?%ĵ {:2[D«1:rXH~,vV3NX0QUrJ_JQF*.$TuvT) L>1SKo\HZ(ş8+xF vzp ]#8=Mxf9&u >hΠ5lʎS\0 Jʦ7\(qQŅ$b@kZcR)0z.rNoq_`(=ޓKZ3IoiMqC9uL\b˨@S%h)` ՕfiEG98Xw>rf>LlsDg- ;;M( YE˰:; ֞ XDdKxA-njY lc }S%EFsY"gp a]LJ1Zb9@bBq E,çAt-V~Xc(kb^s& & RvQP0;} NuyD3aP30G؝ 0r_8ٺ#|fZ2ʡ]!zTޕF+QbXVDL87j>LtL$NڜT's.H'_B5MP! gJ(YC'Rn<[^5ō?5E$ttm%mYn.3 #r>F!4x|//FA@o^㒍^0tl( ܇QZqFb˂= "R#Z7ԅrn@xNM%♝@66KmhqQ{؋2L *رULӈpOq m ~rEW 0A0N0& nCZ;E5B2`B(7 uz N.3f^xUe@'E[q+*ܰ^Vۭy * \o=9vbwJ q#ՑG >t+nvT\ xTC0^4ZwX i)sfWJ+ NՏk\;=Ts؄GIcY-FtQk2Ӧ`]s6hݸc?X+Hrbf0ՆΘꆣW_{ #*xSS{a#0ڙ b 9ȼkC~12C@^Fr) 5^z{n!rnJ} j:ұC cJ&-Kiy8M1nP*, f`waH#4sP8$=sUn\R50{0IDl+_'ii^#3]."z8^G/gsTK&,fP-g_~lWKvg>"s}J"5LaK?>eڔ5{Skhw9ïc}2dT2 Z,qcWSyߜC:W>Jw?ĬhmP!F93nDD`RM3 ŋ D^[+%>@Ur?\afpЀڧjTnv.=f hOsTbժHj8(0C02E%6C# l ;T ~Nچh͝mx"M{M5hYs'LZgW) ;ꦜ=ҢAHjW/.g["yB#NI7$v'Gd-p8EVi|%4_eH4hxd$cm*ŧ 龮n@r]X ئOMmĂ1c}]jz3ǹG! jC'onqrSD2"]e+j7^TcϚ3L*$O.P qu+G¯x1N[U za0ꔎLAb~e5ј/Gw-T3(U6&."Џy^TviL44tK1QִVkv4vY0Б>5;E.kO939I~WacGOgY&}:]VPTƮb4zIPC?oJH^bQxNb g1Cע^p15aen1mڝ]P-dgۡ_O? qus! Z5[E0|179!0i%lCO G0ZsvPx&M3)c&Xf:j#RǢ_4\Jg<2RYTvQLX( ^$(ƀG n"lQ cNjMщ]l fUFq}BbڃPW(ߌUb `"mn8w uۼR&E!M? ڿB-2!hkzP}$/r o=d^5+(wfިsxZt x03WꍽgD.efSv 3++]E:Z}$:lJ %,Y鳌//`^#;SIZ[k JJ<ՄSv~d;YgO)0ziвߍk7.Hޱ]a"tdp]s%)UC*mpop)*qn9)C|,#h=.z=Lج߯\W [2\N|޹y}l,\Kms!p$g !M^x&tBDӗ E#U/W2ͥ##x6[uۢ 0w׋~^? un|cu?/?gDḪ

    <('X6>UZPmWwvZs _۵zsҺuN Mg"RL <j_6C_mЖi>Vqh'Gްm lS.u pB֣*@vb;Yi^u$Kh >*4?rwQR}a$w: 5a+`DS{m"#-&̹ݸP8);X/;A*;I5s6'V%W?Na޹46A~SfOHs3@^C2T~=cfoy[@ʬ, }ɑb"52(oti| "P;t_e#4ف`ҏ: MW>Ŝ.NIwհH7uD ; Sr4OyCE,bn&ׯ)AÈbKҸr܈tlƯP>31ffQKZ{ {] '" -)H*YReŗ ࢎ[BԂ_hv? q[-I-@" ̮72s ǜ74jgY.rj?i^wV9[Hfz_~Z$XPvCjr0nHQeIzm"և6-:92JA(nątwCdlM,e{)!1։ElN\yel9R=wŸbSz.-!$3LuL="<&>tF jCeR#pp?}jf:wK\vXrM.rIR-B?I: pQ>m5+\K̓jjFW ɀg'yTl}S"0a;:Ȼ6^=1+. :fuv2ϴ3ҿ(e ^C[ڝKTO˅lC<.:sAVv)ҙf4F՟mLjCsO">mCsg9:iR RVkRcB%aQZSnw4S׬z:':09m, XB×&X֥-) 7*-;*GqFE"Mk2֘gz†xp8vw 4d8N{ ==)A-_6O^%y9,noxc>kgYjY~CQF;}NjDdݶa/*4&IxU,«mQOGFxNJbUm2jF֭/%(NnتtUx)@?帙OAb`P(1G]vq(oC%2$?N%q¥{HI^] ߽n4B HM4Kk[Bl!;Ipp)jq?1bbR?{PO-3|K mw>B@eY)(/\A|ږ󳭿֢} 6wz)U͛ej<Ұs00ck/Ԭ<]6DZJ(3Z\w+ q,$C m7?wMЃH2*Z+iSOYڲ{x Y4ۑ)C%[Q$$1Wp @gEGLRVvYVo0՝ * R;;onx,+rEM>+$3T‹k1LI'L!yv尪OA:}BoIL9:>0AC(HW[7Ļ4"~>7˖W|O v(TE0G~ ZRKE^=9j)ș3M@$&--Pj\F=͸&)L>ҷ E}SSd'ӠRc; |h򨊇-1ɖSA\M0#Aan%|crUw  |'S!C7o [әu= BQOeU)_R3C}uf$ZAU'~#]ue'TզE8ژb0ԜܹvMYInz= U:OqABP/]u0P@l\zF7y+ *\i5 wFԣO~Н @̀)iaA@vžGd_װ(V-79`kӖ̱t1SbgY@uJxҵ=%,_T$D(&4Q JUVEVw:ѽ% ۞d# {lFc$ʿzOCnRhT#;7-}* Bqi?uGv`n!N%! ylT.ӱ!E*<*Z?~** )i%lӍ E%C|Χ~kO)b>CKzTT|-oiv"3߰bhIn&!2۩b%\@߭DWyuo }y"Ajxu0!QdT϶ɩ|LsNxU}~{u[ܷ ]?ֈ2ݠT8tal*|NR{P)nC4i ӉB$9ܘ3볛G:DnxU oBَS˃4-;s=o Lh 6vp; icѢ|߂uJ!|_+C68{KyδjNnUuH=HB5M]%Giy;*:עpIFTh䂄3wo\iwx P0yA㾉sx_yubh2=uw^32X1-TFf|::%Euqs<$d(O/1UXpQˆEF;-K4e+,h^B8E2u(; N1r#T!4bwx`!G/5in#LP5 ~C U^fȉ" 7m¨ f~n}JFSCZzwvE$!L6|[$x"5JojZ"Y. 首A"2QY!"&zV-ڧc= rWEc7(M ,l@?A}\$0h*Z&U;:t2F`e|^l)vl=ȸI80B@gJdXKa <@eL{Au+[3Eq[h(Nd0m9 ʫM S7l|m2KEnQstk P|Toy%j;t0UuB;ν /ҥxJyђ%J9: k$[ 0f}23Ll:Lk= qfI_3|+ǵߏ%m La2u:MϪWe/i  t#F$GU4fŁ܌]%\U"k;y}0v"殓WFm"ꃺ2zqVz\3BnH`>6չz yhԗ8W$ΨMôD~.D).煘\[Tji؆V)-,dVEd9 \pX]/Jr||F Pf+L ˛ Taz]3YmRiaO` PX42ܺP/-*91e(q(:RCj_o6>rMVk6 g!akW͇ݪ!ZҨGwGGc ``HVmSo!G{]:pqRq$βs͓GЍ2}HY ~ ´3/TgIL3c6RNQm`۝ D^^M@IqXÁf@/K^pC'/Gq#ayYbP'm/=yl~C' |XՉa#m_AP^cW`iAץ<W` VnHs+'o2`V&Pz,fhdkuFսY$,@qqϮ[K!O*t},!#7tm7(Un8OWW&Gy^RV:zsE>:F S&F HexWk@Ț:0o:19nLƈr(bȫHB, dSw6T9,ВUrIW_ ص C)=&\e^i8eW i6S(¯VzZ<̭u\ZL6J p p=VLLV eV!B$1cLD5 *bwm>>V8?:>WҾ74V:ЭuLXэm?5k!1lHE[sO45 ⥋tČ*)V=4eP而Oėǹ |/,A~W! m;P"cfrXX @\ =^T7 |kKW)b-f|VQ^P >dC8EjӄF!njhVUbFʜ!r[țYGg1"QU`oeU"&ṳw+ǯ7&}*^U9Bv$&Ҹ݉*r/g@svY%Yb]}jEDZxr ,}|=bO8e}ߥm'LKG"󫌷`(M:/9䤖>FK]Z~ /8/RL㷏Wny MdWȻODTz>9/W ). ͩ| ~ЇvFLyd~$YB7{y#oh!}|' \R$Ik&We8U Gp+{/Ұ:(8(q2Dm{rF,T)aWtmT.t5M(Z3KkvHtZɡ8D?+Q:A_BGn1 RVY&jZ^JaU7sdJA*|ib&s(7HgpPXo/?wyQ*W$<\=iؤ4&ګ=k+}e|SZ}}~f"tY[s.%t,Tyo< afZ 8*0@D3#a/0p2}9/?13VJg| ;g| ܰq*CDž4@YH\κ@%7SQ #fDVn <7(;z[EtլÙ8FKĂ9AeIkQ_$$G.)/F)m^ZaF),|>=>~i.࣫Kwdh0\;u}LXY_4VhԊIȩYz"…ԗtvBq&$ju 恐EMRCG}(J5!64h5e\&.Y'^ ,,i}ף5vXq/xÍam,ˋ"q|[)v:͖>E ʷtϖUL K,4 &L)P9w!L1uwɄ}asu6oaG\q#`+`0$:Jd%?E+WUoQ8begp/'ы̔wh1ӕ' ]>fC}vn?/wܔΌ;/SCY><-NLԩl)=00ZIz/h:"烷ʮ`cm'84Y_jFXIkO.ܦ$aK#teCƓSaQք[^*[ Bnd,R 뀘g:VV{xTzv`Os ]pQk($ۃd B}ߘ'(oaFRli_;f^EZ[e9%ȯ&d`eR PGFE)Fآn_?U%i%uH e޺9\ X'>l)q-:LgwǬ"KD{YE0h( T3sɊ|bHnKnjK]%'j bm?$nhy*7 l4TVzw @aPesRzp#:jAđ* F>-A|?lRkV'9PdX} a H)e:YsIp?I: jc^J.$S_?G]MW涥TRȅt;eWUKfKI~<=+zj =EA8C[[a?"'I߇PQX6NV [ S1En~|>`BYу|ѷSQH7T)SD[vB2zz$(Khė4]9\eoYH'ZXPh7\LWL4v7}aTl^ⴗK]|D̼n!~Sɰi8&_/DKKphcѦeG(;`|;(D, <1=p_?%%܄%QsPH<\1փ66Znrwjq_쇆h9*%i}YPjSVҫWTdy7yJ6*)}鄖_\כl:ܩDpqˆ 1;[2.J@4҉]SM׼kUD& Mk==։ ^uoZےAFaPQiK;5 "kOuZ{;vKi:H tĄ.Ġ1yݱmTAڴ# h@jO#ڄ.N>F˹7[kk;haK wkR;q^?rH) o˽#,4uu"kolYa =JyUf~t*DN߹H#oωMkF-&'Oz`o1ױQ: =1G$Z݀5ClsC0Vm5r=0KE|(aoU9I{1.dЈTvz[/T`h)O{`$FiL*Bf А`:%L$ݺ hpdYJZ屖bj)w{5hǂ׌kTXGzBb^"/]bN|}׺ǝKcyg/]cA'#Y F&)Ɍ@Zt*xw&˳ 5"iBb&2b ڞn WtS8vz]HiO@>0j6" sR̼,Ž8(ᜢ~ғYk;7B UF]sAs9M l,xn{&Q̮ai#˲Ml:,VAQ@Rٙ0® F$3+Ƽns[U,# 49P;4ȡdvh%60ȸYxµha`9:8 Hj3 SyPmǽPnpM wUؚʼn 8$FI{j/uBڧHzʠ 7a&$#lmmjCCx01 f–jқd-k=?4WC|I#74Gu7RŒeR&gVS\qA~wz"J y`(O㈏Hes*U,5Ov^ldNMA&e]]>oLAǼ@0vPqA7e>Cpݷ1_fI@(^+-N׬KFV﻽fSQ僂g&3d[nS#j_u(&ol6ۚV.Olw{zѴڈa^i ]fWqf|ť/a߬ݰtoOr׽$r^m=_Nln|sh`=I$bz65@'OB葀y|AJM݊1닌br".*K?R|xzn2ySJ./,Bg3&5<@,Nh6vl7 mB^,JY@g JrtihSh-Z"ucZT>:$/"Ee(*"g)7 /zP@a^Ҥ$l<)VSEKː Lzˋ{r8jw jF9MQ \Ib3C8lY#J,5 *߄ݱ  .(榟MK=.L VBxLu1;칐z\Evz x!7顨 7>-|;V-ę~%YBRnt8q6y.;hAvٸC8b8M>&\Umϐ}EA!xNqu$k\|HQʢ(ԏb¸hzgMtwN HtU4|a7eΧ[ )ctX&ɑk|S}&%wAdT66fVximC?K\HqZD:r!^OJa(ETus:⇤0Zu{Pj,KlST׫_xKZ'°;S; oe Sx!fX1Y҄sChM,فCHVEYsd~/o|k֪F0۱20F0lP5? EPvVb0Q< +t@HnbT֞~ǜT3%"T޽q04&ihF-:$I'mЃN*hi4zagBDql l"v=h]+_hKroeA\d6z4A+VzUe$XLrk $F2OOZTY\3`h[EDyӺX(_eZ03'X?P37xm0JqY"]+>Z 7$7jWlB;(%FA 5ߏO2Le2~;z_ݐOqF=mR4O[\P~q070REnڀ[7Ć(k9sà/c&t)[,Ҽ0zJ84{RMWNm)г5AamUsd2EGG*;Pʹ E!&Ͳ #TL\jt?+1s9 +Zg vB-8 \>nOFvg%ʩ 8g:6k4+|=9b!ge|RD ʟ+wsaYAwȢWc7&(zR`|*|9 3!€I<ֱpZq'Bdlj2/X"zL,+Y8G0NܬK3 `. @/,Ó)cK fjv(o$8,:Rs$ tK ac m Zj |UW5l)V1LSà * uNyj-A]UNҸ10d̀5ʂ7|5?x}ԅEW.7 7RzDFhƹ,oZ>"dsuB/َo,YC=A_h 5m5 jǩ$ralwmnuUydjƵsYʛ;}6]|.3;D$RӐkq^ACF18q}"hk/\I\C{XjHmrّk?8Lֱ!@j\(Ӗ1^MsYNSq `~WpBD7Irdu1Xo+2 bMPKp#Z7,:}T5S@Ŵ8&=,(^JH>fU o*bqoܨ,wv¾2sM>N]Fpqzw1\?*H<ĵyta1Cl]7+]S섥MA+8::lq%6 R?#^: #qĔ HWa1rEi4(4؞HԶp]>n3&?\C%IuhtP;G8\7$7",AQDf2ߑ'n(1Ef%QfPybm$vHؘW996M-W۫`gg:ݛ6euIgF4ғMʧ3/|=p4"q|Gb].};w/ՙ]}t~V(1>_L _@y,!"X_bj? F2K3  ?u@ (m:k9v}'+7G9f`i aLZ16n`R[/![ŊD|{3^AD.LNu:كLPC}<j >?PggMöM~ifM+^Grco ⠄n={x@3>C*z$_"4K0u&W~cz#0+qp6$c2}s) )ssx@\}ҝ{P/.E~+¨{CO~\ iӟݫ# ǂc$ScӨc7ȂqYn6xƥ]怺 pU8@ƝO<P1uJO.ɠ}}to R: 1P *):]7"UFS|7;h;;G44L 6rB Q>ONX^ {FK ŵI@ /Q֮baFgJs8Oo N"%%;n l}q#hz,8ESzQ39#-+x(S:CC+T2U RnyԓCϱqG!__?:C4`604&\Et,Wm3:ԡBޙiWn[*5P9Me."vL, Zq,TR"y 8®ص k"Q%=AWQ,b Q"![Ίl+,nR#};kتk> 5]`^|#q1T]+>VJ] _@J!WiWS2 ܒ;J3Gw4霦UXiD&mO-@$:cXT,|JyxMi$F*_]p:QSSwߜЇ1x't_7&9F3RTC`"XnU E^<*@;"ё`e_;lCቂx5i7i3ՙ u9e ʝioߓ3#ڔO ~xy 2pIp7b/r%^Jfm֭-GA%lM&Q,9LNo7#FRqR( uT+ҏ /Y];vi.,Ww6^5)@/g:Ǔ#> \<=͜/hJ,J* bH)%_*[Q3&̓Wu̢y ΃;*o@>]b6zB7˃XHzE>H ̫~{NW/twiueއkCr?*Zw!Q9̳>Dj|l0ETۇ7Y4<<D0G3 $#ncmˉoY["S-s6WЅvjY:d&oXq f~?/:X9y C΅\vlRh2?koGѹVTFmO Ad'аsLho䎕N\]`䧄~kv>ǔ&;})&Ɔ]郪[#'ȿd?CBͺ r]K2d}<~b#L~FT1/[MZU^FNd]3:M~ TAn"g0%) eMnAr)w?:Z!f6 D}nm>f#E5PvZͮ}ŭ%D|H $*_01a?,U6(V#MUF^7" .b һ$s&=[^s0zVgݪ9]ƙ 8a+~|:Iȍ2 !554oSuc@ 8"J%&%( m CC`BQ`8J|6Ϥ=q./  jɟ|yf6UBB؛9h]ojrtdg:p/MJZڢ9qshD|EʵO"W Ck6+ÛHˡ=o맏3k<@h.]$aՄe D+$䷯б~64jh(|I:ſH ÛªTjjz5bw dv[Raoܾ vƐ#%r_FVa%89F;1CϷɯhAED&`'Y9?e: 9M8^8K} :wݯLa,T̑ZK Y$XG4%Y<*"Dw]}ܤFZґ~s`Qq_^HtgKleX͝QZqZܵ%hHvnS`z¿4ulu4YdO"ӽ+G򂓃be>p?K]sc.KD1Qp݊`nebc]#l:ʼJoxM̿<8AY]X&o!)4/1g2 mb]o0PYFkcڲ~dfN'8\E`d~m'p;g({'!\T̏OOClMtʟFt#Md*Gp+)CzW2 4w!QS%?,Pz5Ӓ __Hh^kGFtBT$g.  ; st@.gWΣN3߈5>jAA@Ȑ{4kÓ?&M{tsSl@n:5Q7}F3OI^LIX( ={T ѡXo]ͦ96oA ia-4X&>J80@ bqko5wlbv&\-mMxS#ak(Y>}Z)zd=|׽0$-1^𡑭>u)O/2T UǾe#Nrj; :L+.Y҃9H;S쿼wh-e >|'2 ,>f8b5iП$yJK# gZ!CL luRZ/?U~᠉:w-'E;D٬v{ *:[n9$1s=qefCB -YX d?udh2Rfj.P`|yV>Ź2}56ܦs|V}&X. z7,yÕ)R&.cu6ݯbpcԏ՞*3 ӉPD =D .MAV%VLрa8 cٸep" Z&dE7 XeN2c_lˏYmy4|)׼}BғGz~%r/ϕ phs!fQ8 s 5ꅶ#hWfXu.*R9Ggέ/x{7]me6y Sj,X$lәëPdtDg_3 P+ӽ蓿ď6bn5ؙWE>Td[W` 1udH5c~M1|gZyJ8W ^ YB],,^)m`z\S8)H؎k͔zC֟{v@>H AZgQֻ6v(j*)HBйTWgXV( Zb:;[hǤReFI9f RI7 ]L<Ȧ IxZIn '%78V}8o;s #$oP}F&>롃ń/G\ʍl~5w[^W%lX4CTOTPUWO_c}{nLxvsIyI#5ٜ`=GBB' ?L -}PT[ΌrhxdqS-,Llqrи4X um99je=U\L64CriuU8\$!ݘγy`M{WBp syj0Jw7Pj'jҁcg^X&6fD,f(e疷MKWN'=hՑ, ;n4Jo'yVn^ {he~0kFE$3f=T/͒T\X,uI#F1B6oqX"^ZEw{9Hkb]< 'NCg)#'3ɨ*LkDزE68Qns S,D_yՏmcrs0ݓhsvʛ'jREa\  ߪ|Xꇙx̒=W?VG }!@oP;,w-eGc!umascpG#cki]R]>il7~ ϼpF6qW0\RίQ=Cn PrԖ/#Ơ#V3UۉnH*&M6{i: *c 7]fҷ+\//`!g$Bڕܬ^b%V>Ƞz|TxuiKzƌ~a,E[PT&SԁJnDHa!qGSM;YypI ^^4XˬLW"ev.5 ˓^(JLW,A-;Vɀk3`^˶0abŶ}d{`<$+C`mK7ÍI~pGMgq^~3. ZXq%lAnݷK_.U_6yl/v#8uJтRhpSVMl NfJ0+ޭwJ&~靰U`C-HMmj8.ئ-UN(~o㋷a#`oϮ2%t{MBjpEHz& 3:Peΐoehsf[i ,QE/0Yhv;| NC5 BZ7r͊%Ab4w G(bsocWr;y>(!,b TݼF2A DYVn-B^43gE =s, "au\=YތKބH.E 4-|\& ΞO>?/z|MĮOdwsz,:z e,"~9v5MUXbMpQ$nґV_'9 Ye"BmRAD3q7 εl> 'f9q >jrㄟ 鸄&YEկ+@ڊP.Qt{>3|gFS4[(AK\>lZ܈dnmcN*u[4jh}y|,r=u䭳(ƍ Iv>Ŀ4Rӆ96M^sSxa[SV~:ΐo—]yD+;JNʢ2P6+հ೰\ʼAytM \b4J!Y'x@:fǍO|BW?N?^ ,!4_(/D1n<#pb-N %; auu;Ns \ĉ#n|OP?ppYY\۹c0ؑ# ͨ f$PqywSr~O~w8k¾;A0g5,:_Aa>PVxԙPN)gŜ"N$E?&d"1%$8w0ڳ:}xKb^x)?leeI; J!K!k^`O0d5_kq{4'=[ ƙ8Cp@LXmh~fu'mT9d\{> Rb槷0,L$Ʃ6h$/LVQ*vcӟ2-Ne3D  $Ws JB~_WKI4A#&/*fKYλ.5bByWS_|CDXxʕ61 ,.G(I~Ef~w jQeۗZy vAFX;"-t ϵ#AAi9`d-Tû lr@OBz+J{jXwK ͝_x[BGhwtS%%_n5z $B5g3LMad3E@5Y酠C_uz -=$NvkɵUnZ#KԂOdr$4w}$FW^DjCwRQ_ߺ-Vju Tmx: Mn٣NA=|ԗrdMz~lbGs bGY$I1n](HF9G6w:1k3w i5UA\ybm#@9:~#l*,9'W5N qX"} w%Mt.+bA?J$JHdUBzIMW[W(ƋrYI8̿jEN4o&fM:aag)Z FM=re:Uv uë^X>pAD*\4[ EY% l^5:S3u Z>jGp+ЦN7Kc>ɐ&]I/Ulft/}Ųj_P7RoyZg%,0JZq^e TB37{<'q.l`˜)ZV$Fn/ruKٯEOh4@t+ MF Lh՗r|oInfrMv^H^揗͚Ԏ욉]8ًD \m6,sk7(`?dTaxm~(hNZQm1"){VV4vދ>NΣDWO1B;8(u:Qf4#*JgY _cj: ^WDZX9#,%Fک4y~&S)i{e 2< sWyG| t)y!zz8K(5Sx5KŰ&a[tޟ@='^.+je=<%EC=p!;Ҏ?MWJYFq9 ^4 vH#wWwv~ٛEnb<i|cKL2"jfcrthEJ‰൱ s_Á ⢨į78LRB^%W*2?cjX8\ 3=l zr χF'1Z ,w5Ņ-,#]fHDDOGnVI-xj[R^D,Rq($[wU;Ì|m^b vASC7$wM$M֦ïGqZ–3;4h妨W%Yo#Q;MLζBn|0g]0֣%Z̓q$`XOH=ْ t9[j5R<,mlXX_4a(2aFHYHHrxNt<4bTA,8gf+ ax9iŰfrDYt B|z~OR [Z W{q>?XR?.OxypC+h۞ _{sղI}V jytuI=\1 ܎APdML Ba^R^|+ {EL6]?$? Ũ P ޭ]#Hc"f?g'HKgz <9k=q%Bl-dl"$ڸyyU{yS@t֙!:}XMHn%X"L~ri<2!&A?svaqQW@9'ٞر(QSU|N0궊Tr4AV%mi?q%+էDA<}!(iJ %d+׍6 1F0L =hnl0[6b|ߓM#Ar#Y$Czr R>~PΖ}T4^ÌԽCga ֗_Zz`ȝpȼ|\i7t*#%a6n,,FҰ5SͫLqǁ c VfżTm4?T{# yzOJ7fcԤc&cgR3wq{*SPAg{{D#If+&}-r̵[G 憎D;Y 5ƸY'pت_MT&QD^廯DǬKJRka QZxk lL?!Uf d ZVcfdPL\cPf%->IjIƉ{v(/ZuV:zpXL13)qƬuge@5Nrn9)?"pssиg%UZTJe}2Fm:Dp*{K}9墉A2M*/<U:~_`w*`@j'g7f`* _κN kd,՞ag{ h~'GI펺q l"bd=֕.\xN87_kﺰld$:+S4dKk&$b5|E!X5ʿ&2ɽx=Svh9;0>]+Yt=zbæ̒;<FڣAN3;2yL/؎&]qZj=\H KGx·Uݬ뗅ұ ~ بJ>O:b%sB5F4lͺS_"Q*IYܒԨz5Z7B"tt*<ש N@jUܪj_Uy9H / (dJOb=G*~AL aHƊ}BИMS5_X`ڍ :+oN3"9t1:u"'GSkMV1ӄ649E,!%K7;'t6m=&4ڗk &عZЕRFLlzZdѴx(C,uAZ`P puFnZ@É ;i$ZZ0Z>ouF* 1y+Xqo'N=@=)HY-I&gq1֚ae/'yx#P^f{: >ks˭0[UaƗԌi&~Pi" /`*Zc0k[׾Qҕ7ΐp\aaw)6LGt6EZD = > 3 gt!68x a X?mBXQ%T0sX0[5z->rIc@xJO4d6" ;эi"쵙sYqָ*$za}LG88ugV?Vt,B=#׍2˪և4OƹUK*^0E>hG& -ysX-$ٝ.k,Dil4n^$[`|$gϨ.7G:'s|8n-$%wтs1>0~ =h<|Mvf 6Lމ艍SwLSWG>[6Pƈg2ޡy#Q- *{m 'lmKU%ZʄM%0?=Vؽ#Q]. 2.slpg[r4c~pSxAQr$]xGJx8hdo,k3XU(nX1cJRΜOag:ǟ]ymɬL`{"^! :/!.5Qup?H՜FwJYgn65B]DwM"~7V!pmؐwB?§_8˲6v9RdUgE$\+}01Z /uG?3ގ_{8(H؊7>O<wImG.hbcZUgℛ(L`ud IEa{ m5`:hE|/4@)y+؇L;v}Ehaa$AL^Qb t^*N6UEu^Y%LOf2 b}1<|,Gl&Mo'D]ߦ뽎75>WxZ QqLyg$ 1KYq,p }J;˷"7 R:{@RŹ909׷1geҷ Ow7:Viqb*t-1=kN0 uW:`Nv|?{ɜ0$2L Hr ~GZ^&E1V埗iOOTu*#\i4OSĘ.%Yrdл'V)e EDn S2؏Ma@:q6>ZS+H8BmrxNH"=fDapԮgzfy/עYzz40wqDD|vQRAvh%1e-*%0{x)pE!l.2ȭդpo5D%e({v@JʄZx )wk>RɜvyqRC`r9||LF5dlBD/nߕp_IMq`jx U;Gɇ_n#34œbUMFp^ XH_Y6VbB#w3T_ R+ٛ'U}i_ײEbC|1J͵:fҔo_j 2.AH DmgUi3h֞|89I1)K<6YNe/wձ]lA`6L -[4Q ; PXCŻff,x G}ӥ_^'[. ~Evhԡ'<5ݢ(d=Q-{WSrR?"3Wxݥ%dLBE9sUҲ+amIzh9hhm@ % ':n.cWu*6\P$jYhh 5h ,2$[MVXjWkј.3]U[/´~~s#֢HbPНxV񡻁 ʴm٫2ύBjw-^XyvZ˶% &ZfqHrBrt G٪U!*wڍI$p++rGH +]3Me#^ Jߟ=,R$QY:*M,Ï/L/eWc}>\Piey@c o~tɻUz$#Z|-Lj粺xK۶En gQW5Ay>1V7NE1`YmYBn%ٺ>ĵ..vjYͶ@Ȼ8驣z QibY -uƹ« `ư*$ݷ?C'PV;m-K7J#)nW<˨o*ю?',M| 62NL"s#ڂm,14譃%髫1?LBUd}|Ǻ ([]zO:oa emΕՋ\o/ߛK-io>k:oj &; ^؟~rC0Lۀ}PHχED:e,fz5#ڳį)fduʘ(j{~Ym"9ݟߌi v  eG ()@Q %d0sR28[OTԘLߕgP~M$~w'? E+Ae˨yFeA}B[״mOQ;i>xG-Ek&+@K0c4#!|CJ8ťmO|?HrC<\]qgLg;%elew߃@@vdl¼Nz6{ײq\Ie$ L'.4 )Wۖ*ࢊ[s9D3~spB[׳K3>CNU} vvtEK@ugԔ'B(1'GI3lnYiviq<k"|ՂM` ىΣ%rFIsa AcԚ)k^gTGa/. <3i&8=>m@5:P(r;i>B[,$x$,.H6*$^ưYbK> xyB0 *lqm%ﵣi-< K#)0UA ~%HzcbR\i4la=AU*s 6(,tBae>Fwҭ=C0Kb=J[+edt~ 1YRƧr2FqKY̤g̎*_Fujo2 ~Ǘ91Y`z%~dU`ؚsRz\a!ߢ\`;B^@qBKGj02~/\%6IO`L.bU֥g]ovz' SkYT׉;,SiUؖ)1 ]lӛqKg2Vf'+L_y|4G+<Κ`q8@KKZZje|4Z=V6A >?dtS lw+TkgNvHx+Dyyc58l!i恁UeE{+oWYZ=g; B.o L:ڲOrjj.Wإ e9"9T|[NM鎔P慲5VjdznL:Q- YXqJ"d] }r=aj{~:^ UP갼?MeYm"gm:*n~P\]-eB,SUBnonk@;nl!T{#8dK sNT>L-g@ `߿L0/]dl=:{:H)oכ/w/Xq4j><3lwr%lvufhɷZpt+ ԌC 2e/;4[u-A U (WZ8,ea6ٟ=Sڵ9N±sBXAq s? ܼG*Fڜ, djJʝo]2:a^qT& UZ%palIL.;۫CvRB:J>?&1zWZ2px>l&p0 WP_#VJBj|(XIrԯMfrM~DsъVZT1qrFXwItWQ$+ q/@99z_6zX,8S)ڝ2 aC(8} \I"1Jtiy[Hu<@oEzǃf\p>F+4P_O5rFz3"s)ּ O?C@kL:U+0.!c|j&~P@XPfik x՜@I*(|Ry$SN} 9靧: c7pjPu G[xFCkIpKCzLwD:]A+THqxxتllsPc潠̧\I8| c霒ɹ$/OZ`d+Vr# en!Ѡ#hmz!RXS.n8dJiKw!ZS"#8TFC4K9ȟ j8aT>+aJ3,y)jYo#x0e]No%mf \#Jc/\ya=nvy2 A$jPq0vwW}x] 2 >ϼ CȁԸF~2zx tvLEZс##PM0 yG)k7LXծ%Nxm61tCX'\TΔֆp0ʸE:n*\3{-ĄvS 2RzFo,LR[A  $*,RoXl-ק V#0T ]>@v+_ c_[Ȼݐ Ud/LL< n9:W~\.o ECqZ2]@1UwO1]\y5w"ú(O2Rn! NetR8V\7rB ozαΌ(AFL4B\ȆҋE/>ݢx ;' %o.›kDVW䬴-b9S+ _fS(*v|Ң jْxUnsӭH ]mSʴʟnsEֿbIE.TQ*,q#o=RQ/tZԋŜdfe$nAKiCgg0B#5d4LC:x4:Rbƺ`a+fJEרXY]`Asq\lQoH;!P:] >R:]lX[y)@2<~Ivp@Ԍq΀I^kN_sZ}Ltcl;x6 Pȫٮq&`EZD}W6^:$rūN/Lޯ69|JP6\js%Z/h^Mi͊04a&[e }֍5qNS׆cS:8w\-:K_.)o9_lS/Z`KWs Bʸ+Ӑa/Gœ)jSX7o;Bw  OK-+(*w0.Ocz4ymqoų4W5@~CyQ ǪϧtΣѯ+D{eL #XBG|-Ќބ,L-ϭXZ}k<4Ƴq |trł68aܴz@(G[xt#9u5N swS&2jZ%tqosUQ62G2-Xv̷c]Rzrx[y,K`O}J Ja4|]ϴX{փH(>/72%Io/S'nuʩrя8 %7|=&``4hj[k VMvN.3>>//]|Q-K`Y/A}{yTLJ1\?Lz[Ӟ-]\s؈اc#8rG hC1FA<:ɚf"?T~f* ϛ|pw󝵕'3$sGIU/gF #Pw Ҏ^v`Wg\{8rx)7-^Xr[~!{MEVHH?FMm:FpZ~!ΕMc)ziS>Նpk/iV,D˨!*D1j̾k!m, #?7ZA};yc]ճ8z-벭;ksuОR퇎wgӬy̽g]{wC$ sA!>TɷERTWBSA8י go);zGR g%? ת͔qݐȃ! کy Щ닩[,72рs9z)-Sȵq!kl{,c7YΪSkf)=چsXLϩ3#kL> {m7 3uf ; ${%cMTpRL'rrvVy'V_r~ԑJbaѣ ciCKg3VTcpLU;,dq47D; {ϒlտ0.hnl>ջba#4qۖđ9{ (<4M!G\_ev+XǑmi-玺ӊ+-5U)-hE.(wrpy;2( Ԋ#TǼҪB2{|󒒓*8& LRb5F{/9_U/5bzb3>hώ}4תsZ38~f.ub 8$<;j{4q_8u7`8ZE$TĹP5J.M#fd?Xe1xrVm_2 7%/v0.$lYo&@063^nūU &K;,諰:?Cs͌oMMZ"'RDvP^7j9[KS_e6u"@oKYx< P{fS dzUdSő WYf=b/X3wκ`$݁ N[O{~5Ax_,M)l-/`'w\  TFs0+ Lf"$ðe{'9+,O| |8RQQMi}"RZm$Wr%4TX~?!UބS)#rZPEMCW5X5<9BŇ'x9WEu+m^XYyXx?̸- ^=H 玌E ZOH>"PistGOgD[RBJwzhޜRhAltgg{zk"_e"Ou}J R? Z -M sάa;:N'xc?œ͸wpmƐG(a楗!Ko&ó&7:Qp=!n0T9ϷOPʵIaFR2sNqS LHß٘硨] &MG?f]?rBvl5nz7A 3n>b9/9zDWD5/7![.g> sڣA1_R1d} ٴg?c*,fzz/7ABA 3_d- ;j}V>΍dIk2+,J\%Py Bjc&?o=dII$ +vVNc1Yۙb}XU?9.q3i'u Z GtUd}8yB "DZ=|{]@7P3_-tr@}!VJu-/vVOH+6q̼@627}ħj>i>CP塕(M4x:<9G.P&[՜}yv/cSjD*iٞh6b>J 4 eRYiH ,Y~/f͠`S(C{{۹{ȇm@IX/sKdr6AE"'ebvj_#t@4'HԡAR̀zk(d=$RTS־L<;k"~O>RLBxِ) A׭uOܵĐyE8vZ \1 k4K<=M6L n wϸ9ߝ]p e7`^Wfv3!&V S>vHok_\bZ0݆Q1N2oc@MՅ3„F ZOz&ܓRV32+&B苪gSg*'"c ]mW3e8)98HqT̃TQs()K;tX^aW/iKj$51t\8|}>g\2Gk8\3DrsFAhiGtxlp0rð 1kҮeTlSmsz}. _NQ #q׸:;+S>Rl&- @_ WoC GAVvެPySA zVH (x=ga\RI[1Q9+w./k&cχ }iЎ+Ȫ1Pp5gH>%|Pd]j"`^HZub:ww4:oˬ<}X_T]+}d,fV{dq+ N#7!>>K5n"%5`z@ؕv M,C7_$Gk)'զ<:4@lٝb럪?k#)89hhf]_2J,XtWeF2(G-t ^Ï?3n"s]/ &ZF0:;>G0E/#$n9orlE!~̨D*K ymUrEǧbXX&3s)}*pC$R^/:J<6( B'ϘEE))<Ɍm'ٚsA;DG/E" G_E0alA&#Rg.TЈi{CeFT\It's 0AԽ\#> R\Kv=e}1.J&bC_,qYfjHSh9Ԍǧ!v<hg>*|l{V͠=.a8Y,Tn?4nTУb,N%RӳNv,Ɠ8œqJX@ X x:iq"F /i=L뷆$z%k%IYE\OƀQ!{NK ?,XCJ  bX:z;pfs |5 .49NQ$@ks+/TvX6d/ N0!߂=aҒNye߾\Z\L )_v:OQPO-4HmCmw<y ۻ3),T6g5$Ձ!7kwU ڈ1v8[G M䤯&|w'fu@)/TIbڙ޵@rX˷^񾌺) /%R/Zxp@x۲;TK3LJ9?j>1zdgZ#W*gm*V;]VbKG[F' GK>"nmy8 z]xr^ś^.w=iU vһHUђҠMVe=׸K8דQތժVMgd.U!@\ Ԯ>LmXj[,C6ΆZϽ ui}d f Qj]$X5]#,xÿ CmG'O$D"(bZEZcdV8ؓ2S{1BX^*_u [:d3Ħ $&CҊV9 Y8^:X5$?}j'7u_oXr*3$BTޯmG@7o;qǧju⁚W0.pXK5vKSҍb9PVϑ9ȉUm"x"NzhaB Ocw-e "qZ3O@^´F)Ae4<5m7LȚ(9I΅R#ܱSxr) ^^WPn[2w˽(q8LvI,xG7v%,9Kg!aӐ=_:l18~Ds ؽvcWq0d_38'D`X2lm|DnF!)nKCWd{קSr$^cpK *!ʕlN{#`$ʺD{$xm}n{ Jtx gw;$t\zYt1eI3QXfL3C%P\BKziWAuk !MGEhiƱ}q.KV¡9wo)ѷy\Esh𣻝Q#^)0~1yQBJ9Ww (-k]*,0 PZdl5r0߲nbyc@,eH7,{,MI**^a%tڒKL 5P)FO4Kr'Hh=q=M'o;pT `==lʑ+yO(=GO^Md,~l\7OE<-AMAXR+| suZOJpFP2We.DNLEO6z>h`Ip$Oy~;Y߼pd,[o Egb;˰~/YOROQ\I4DC!SVHze[7/i1RQQa:`l9X բnl`eN33):٠ ܀"_7M`ȥN;O~ek|0LאsPEz=T`q10P*.W1LgbZcϵ:Dat!zس== rízȀ&Gqrj #<1(SrwqL`'(ڎX&kBoK+ zSN&*U'+&:E*-;Aݿ)x:pdMt9+R2'Nq?ҁtc֡]wQ*+? ynjdlbîs@u9DsJR,_܌[oRj51(YT:!QӶtm5't+n~bNɲ0)%zeF+^8gMyWarʸ?Ѷ]!)nx;"t֜KiN6 4d^*_p*|/D@<+Nfp%Vz W'dKcJIHr .W"704 ޢK)d]3 }ڙ2ϼY. =P{dC#bh><ʆ@8f9I#r|eL~B{nf`pP2'v>?ʭp0sOphقDsRQUDU4xgNF&\A( +a +㫅z#n'2"#I t؟$ [K/d`En̏p: H@,RJ->%]1R,g@X&c iK5z9݋iǪ@ЋUsT<,"3xOW=ZW8gm13? ,HGR;'cx/i4V{M4"G}) x\aXnҚ| ] S#sхz.yPlApt` ֨pN@v:s:z?o>Ak/,f,ZU H ?!8Ab`V4Hjeyζh&Z]jbE sX:P ف Wl3x_w>rI=+ql+YkųxI P}8swMAjiH[4N۴Kb3ػT4ώOO%TxU5VgM3<& vOAbC3AQ=YҳfBUX|CƭUR14qաї3Z,fgg{ 7"oq~vh"ΟIiC(*X#oA!|AAiTMS*+=XԸ3y>ۊr'+m-ѢڀNa J5˄íc?nH‚ziK5 sQw Ƣyn GV*?$?we߹LѴ6q/ᛤրUVȴ]|w0;nUBݖ;'M`ns$ÂfA-m\=^ʼn8lX{J{M[{AFRz%б4^SAVg s%.\D"W )eWyQh;!4c|Oȕ[]J}`_YCIJr@y%n8JD#S`Cu75űan1Cy{XLo"w層V@:r7dž^1|Yꄵehzyd0M wHrtv HߔA)ǫ$X܊syb?p6a{VZL*ܠóU}=CIfeGs9Ǵ3EIr|R_J;W e/.^Z:<qOF.㷑P؅@MqIqtcK!h%cc5POuUf^VlcfCD[)y qRRi.4k5Vڧ:h|$.o)TԤ[BHqܦ(XnDsR0/q4R7 xbj-PV{U[L\JNu[w]$$}@R+VW{^+Rry`: ĐAg%NpW }mwk" DM C({pWvJ09n.[gl oBOPJ<ӹRֳl-'|mWa;ϯ-J;>h$h:e?1qRw618жHbfJO3<2iґфan".Z{ : *MITᜪ-zmAW>w^?Nn,"|G?ݾ!Op&2Fv kVoB̜Ɇj(`TH`,J/@zj=${Ihך^z5jL)7b!ӳ!EH5g4|S*QI]"˷{enm%vL!|]HY=!mp#8>1ɹYج΢J5غ / cpw4Z8҉UNvzqJñr\Aɬ rzo—(vx"y97?UnF. Юq*h64nq0ެ( wSaQ#15y}RƗl? vo/ʶN6x>(G|o%W``msQ1+vST) _Ns/w:7y 5IF0AuXiÙ|NI|puMWro{8Z)b/t$ZF0YDz0-ar'*7ܛCl"y3t=1?RR8%٧)j:гB~?5?MLýHeilFXH'fyhg(\­5tBAFôY4S ;IU*T(@ǒX1u&!c ܉<%BBѱD ic^C#=夣30I7+*ʮF<6оAZ>0zFe27Yg]$;Ho[3OXU)[|S0b4 Ndw-o4S/ADR|.{r;VhJP0wxJ6NЫO(Sm&% " ?!_6±)Ċ >௼a%4&-L]PIN+zpy3YjjLMD /ܞ_il0P=i>(^޷<D}2fH4T@9˻c v7o_^otbIB]R=YhOpx zlO\hAuTVQ %ĮBd] .79=Y"$=~ W2N,XCu(5}.6jw &ѦWC{-gryJ¢CaO&QnîҨkZ#/'B6ބT3Em2~iG3@I6!p ),sxZ(qzPhj0˼ٺQ$*Cɤ!RZmƹ=ݭ>g<ȇhaRRcvC쌍nhެW 8Q7"KkՔ+ ͫ3i! ͒PsU+HJёҿtv~/o~_((a3@B: `q!6첩q+x1 wc 9*7`HeD7"ZȡFiĝ9:;WSfT'N%I֒N/6v?~D jo&`> U^F ,sҌkSG#a٨?e e~خxS uIhۆ4 *7ޝ05/=.@|_gxbɛgb]uFn4>:TPna"kw7i ]((be qP!dtr цD:, Cͧm+eԨ~{kG&6mvWq ũ@N(,z e2m;T"vVN r*ebeh'g$7 +ֽ$0)д՘(` xy.:kL2S`56qx:ϩ'MeŏVrtXT]TaV4~[횯/rl ~4O!v]tE|v5uizSo¦SBs?7KW9eL̡']w= B`#,PeDɒ='M^%Ϩ h{׉RpQ"oY Λ`s Ax /)8# _N ƬP$kb~-G!"~j0F頰I-t-all7,qxn}E~ZӘ@[vǤU, I0Gj={P2W@_˫]!̀+:]0 ?:Mwy;>^CPNdтy 7b+``yKMT͓L+!>ֻVyޢ$Lwupt'&9,g_gpEaEBϱ9'5"b=FJBo Qv.OjJ:e5Y{ݢnk vbw }6 ׄA E#V t?˾pTɣWvlywiRC [Y`#w%&1rkX).^D+v)9KmIMHT Hš4(٧9J'd&T| t#/No{GF>Aܖ `hۮr;Km0$ǿ8<< 2>A,E)-SUV2y!Kڱ.VASi;8l\.ܭ%BX$5b>%kx&p:F/ZzX\"34=*UvynuhQzn{/Qўםs'SXL Jwп]-?Y$ahdXM[A;Ƒ}Ԕ2ڕcqM3* Xxa72ml윇O(~8'yw+Fv,O@κ$\B~xRB+)=()%^HX_ (ij90Rhؓf2UU(f.<= u҂r1YW/ !wt'޶#1l [OM1@%oESuD5~4jJǛo`( CgKbٌS-SaBrx[;c>BDΣʣsh'0b t|Ca=]}ҿZ^h^:sJ^xZasJlt!\d!juhĨMc.ذ ?ŦNqK?ew7R݋&~X̄e4بkzF;VȜ@vz;H;OyKF콣PWe9b:%Yߺt@rz0)R{Ҷ%V>z+Y-| v`d nu4 YifA nd^]袇+glT$w\'M%\1QŪ"v'Zgk5ՙddݔ51C42}`\VOy'VPVp71CNq6K&` Z5X䣍Mj! Iue~\5VTh.D5 g# m#(i]*'~t,O)\&eq,͛~a1D"O"ᥴJ?҃X,l8\RSa>&L 6~_~eM…fm[J.5|/@O]va3·;j~P+cM6ԭOMzYܕ^īl]F{֑ ^Ϯ9 B=%NsKse.%]~@e唓%^ cGjG^\ >lz~=yBE\ uh"#nٸJF `k)k"Nfu+p2X|Few!d$5x4Īh15qO\pXm3M3Aip _3> (לOuQvehrpUW5+2ZIzٙG_W(t]A.20YlwPQhYLmp@*[LK&2l`wWvtx܃T.5bf̟cc=[30¡se1d'%1|O[m! |5/qH|"e]lq@{:`uFW_v&"դ{/r#N|a7Mh ˄ۮ× KѢݩ܍҈3=^XQ`@\SR`\FTikRܐ7jgvV]>ZEJly`M닙; wl;q$kY=2aq3cGx߻?4f?dȟXĝ f{RNЈ۬-6ϟI'|I`-'OZ8)GN5rȏ\Wlg{Zu9RqPfJ6V{/`⯉m|:>4gIdhXJR?05'׌(5>_{RkKJ* rq^%R;LxYɔE]G"Jc+_t@QɆxET6w~+PGK=Bcw*HF<*R?72AQT@}p:2uD\?mjzM J|C}Pz"ԝP~>( (3e !\,I0G_UzE5c}8аѠ}T 3( 2";KT `@;`̯~k0^|eS7bEkD0!8+Dmg$'޲ Ǚ?XGw}{4Ap5Oچ/Mh 5Cۍ А:巧_ڶJ?J`NJzt%G=o t o5nod:hQ^]C\l=w]N(hoaQb]&-&SCߔUϦ{*{eW쫍R ((}8 ŵ~ot\=S lq?a+- 3z5ŏ%ܧ'Or*Lm^}/; ? [Jܠ{r=ӳ9h%UaBM\>YLI !^DΦ1W +(nĞzΤMZ"ߋn4EE*Aס >-$?LiqNaHIT[_(oEuk(Ytԗ"͜0[#%g4BTvWwPDD>麁S ^.(mYxBd-)Ǒ_{(EI R".?/' :n5&NTiz4/@8O]I?7%1`%Ǵc&C.ne\U@d4dYUʽcKPqu=Gxߑ>X"Z~|܃ Ϲ`㏑2?KP$|2z"E3&klG_.|pVϋ)s'JseqDeHr=S=gZ-w c0?hQ¶^8kZ?IV`Zs[ކH>m *:LH9m ׎0[ỳvP"Bjz[5)mv]<~ҹȼ.F4m,[򫿜1:9CCW&[?D-9/ tv|N3 ٹv6 9Ɛ_ O˷ c3d\G|Lk`0ʼnnɒ{C$pp D6^׻8L;]m2z `~/+TyQ|n7ʠxFӛnC]I?.1_UrŁp6xJ|goC뮫1LO2 :od"O IMC;8C]ZZ]%ѻJ$:;] W DV>Ő;UCjF,c-^-r<;QtG W13/U\BZc,oˠix0g(&Xb=CŒi96U}79\g4},ifj̍NO7񣄠LU:WOS B I3c WQJɖt7}O҆  1Ae?\PX;sĶWmI-L0jCC=i}¾-di:;8 =v-sd A*'׋<O^ȞOjo ^[ N/^M^;\ Қh<ST-l'2BLpS%^ F^?MxXtU\$vnTr 5VA ;%[܅oJ;_$ UIe"- * .p'nf^i.nӣZNԕ򃎼\GU)}nz&+)L+4 =@0 舍7lJ{Cџ4_kR<~ 2ȷxOU=9l*Z̗@WN=Nޙl[GE}NIl4 ߥFS\B"}̃\\ߵv(w-n/`.БO*+1(w*<*>õ߳áEa(%ԡqRo/D$A?fLV=?GepiuEkr4:Zs&c(:CDR??q .g"gqw{*~30 j&1'WҲZ _Qg2 Kn6jJx[Q?1;lZBR-MixݹΫq[GȔ<= R-'lU\)f6ˉt[[ ʘWWe??"r뻑SQ<4vIi핦Ƞ"=ϏP2lMC"<-G'?źg n>ά^ogՎnQDboH|%/!P$dlIyyߥ('h`9'H-lmX̶*6c7ͮؖ0~v.S mj.')cd ^mmO Ohu"K{3% ܑ<03 g1FB r!=q3jp Ylv_O ^2! JOZEUHob si >%t{If#$e|;_܎ ƿ%mHH xHFtt'"mmW`3NU*#}j-H!NE#*2\j}@/2x,Yo2oߡQ'yS-8ؖ\Ɣ~BWv$hw)\3ϝ!,cD6CAF(=x}(WQf-ؑ45"LZU7縛: ЀyL@YE2϶#֫6IV(2[`v䘤TJR3-k E-cbJ]S5U֑و _!W(`T)XtMjEpK|7}6feRH>KpvYSnZRs£S](;1SMUEI@h@$DqsQk4xpIPsR[~`o @C8Q EѺEDa\)VKP1v VG9H7FR*Jʹ~5'ecXM[C[IdTiۣ_%ЙEPh }ˇ}C#2 @)zXʙ{:~i6T n%eD _Jc6V9F %EMT X }6aaE {Z &JB=W/'گq&J6L31 i GXh"_o>pC t+$X~ }0[SIYC{JhoN Ez,8dQ}R:*}Ll]堠3,Ra6ap$Sd~^Mxۉo%igplz[5zΞ%j$~G9]ðv=dSJ#- V41]RxxW_Y _֗bwUP7_AՈFku!'X:䴻t UpeyL `(1TAU0[АHBf^\0֥\@t仇(~ҥ9Q(@K^l *|eZckV 95b`Dz3\@{ȓj_I;Z7Ŗ9*1<@dA73o$۴EL'{ӽZZ|B .]PvqY} =L+=BĀ4q`uc+RW =dA^Z/V;`6p\_]_̳vX{Xz;hƮؿeuȑyai3%B5^)lu1&|pfsP]j@ŔmBmbbIY%β:KEHF;"\S;OA&4ߡ+ *V}0BmU\5QG ic[,KwrU wpIA&F>vi7ZIAT@L3bU(lM,XQFQqO O#w_ .hZM&l0?m:"~P"LV[E_7]$Krj1_gMj`Y=_v+oȞ z#mu&_Ecڡ O.Ddd;c\..k4gϗj\9e/~71Th~TJHɅi- \"o#l'GIz-A7 f h{?g~D TjȖe^Je׋~Tl(ZPdGb3ξ'C>圆8:ݽ| @c+,#N1`eXSlt/\=.H%&j; Zg 1:Q}(cɿv=iRM 0 A~Nk% +jSa?prJȠ(@:A^sq3/Mj$~fV&}7ܓ.ﺦȪ{~S޼³$;޽Kǝ.遼ΣE>ٛ35Íƥ"-Z/ \]`Db_h'"p, O0KU>v39Hk!b# X)BtTp]; b_ 9 yKHrBBEI918rFl^i'ttt7)F5stuG薚5|%=&fJݳ>1%%j%0x,aRxG̯ŹGyDy4LWH[ E!Y;.^(Fh44L:KI+tŤ#}[%+n"ab^{iٕtS28 DMzuA?J{QRһƩ?XiIA"{92:݅ M@g!.oS~,ZY ]!}[Cej#?6|>na$9U~&F{ʤ9WOc~nK]1rzcOYPP,>@ D&C*bwDkAi"i.F>b+BǕjkfTFvdd}aO'*]IP-CEA9w a8Z-Dfխ|s9sgK1ԠU~Ai dri8>f1P 07?cE9b[h1ӆdĦz^^P>ut 7XNV>ĝ|:@mŸdp3M&oPWzvAJ'PD %!M嵈B-9 $2ILg_ wxBBƀh6|$sO4.yۍzuu2 ߊo=z,Cq9 e%]CKg{< W,Ƕ@VMG7F- [4=X@lGK.7;Qt\-[1zX?G_A9$6h2ϢF5g PH Wh.H]4J^*x(|l3`s7O=[Bs9>tM\!\c\t!8ޑ0}p]u4:~X/M^ɓB$Xu7P4x( ƠXs—tkT,㩤 sR}  0ih"]Ɍf1-0;b* œ@*X/K)98HZP鵮)\Kv/pˠ77OOɌ|gw#fQ 31ôR0WEڬ9i9էRIru,bcw=u66be=fd\"]l6y*LYm8ZGdV_E)1EiNbr)=oMNo4; W)_eq8HQͺQx~]BJ~H [O-L*NEH ޕ*D2]ESR]onDÍIa@]Ƽ[5bժQXbű4wѻq-jy9#hתLZKCAUsSZ|e2I=bf]Fëi%~~l-Ia(5ecuMpyPݲvb!C`*P7Z绺z.^Sw*ɰmCB/umUe)٠;sfY}WTՙ0_rjYE,tk5tҶqHI\T;1U+y O|YH Hּ5p ne wS@5k`=yt.@ .Jx+Leos\NG9mG %b={f8ᛮ`8:;@ǎşjH;krS3>5+tT}WU$6Z.FvaO"<1~=|rLNeb inR8YZ=. Ygn+ؔ m$$S44;PludbʚQ![@ EmdrdCkQR0Rd$\Qegs񗴧*UWk c7U u!@da}u**"RDsv*u,R _"PXYo\qj; cm%bf+h6sa\˾]^޲I!J3]гmh?S t,ur]fy {5 R- q?X玎Ric}/]Qsw߾onȊ_WT О~W}-d#ʶ֞MӔlߏ\kݥŸ(`=>\Zb6<#y\.D҂'A/0f6?g~d+Pxyz -V T:deBE2]fbwBh{8ђ2ؙ(3l:Ƀhǝ$WUݡDži%SͲBC^`s )")K}ZeXWI%qvq0?:*1i(qptQYRQr0&!tOĸy( )0}wL(0:ϕz![`HG.M4 n8he9#6 g79Ab|NLa%<]aS}Qi Dx]bn>=e24X޷k:'W6 ':gwitw!"Clx e)UQ&u;V]Ҙ&FLo1=W1;JCQ8|$@E$-Q{Vlނ(15L<{ e_(K1|PJآpl+T7&O`^_Slf rUCls5þ,!w'҆27)A'gQkz a%YZD.J W@rY]J^] v і9HU|il&#3*)c&]'㳊tA|w8q>pFMbٽzYb-d`mu[> $ k1,CJt&txXvr!]N{fTG89(wd;dw؈eĪYc MaAD55ϥɈ]]ES'ު2uRQ| @eՓJkBbA.w4 (@U]f%E?1!YZ&dXǦPCq'ohL{7_hr$a#trNCzG7.  w)S1Rzӏk*F%VEN5XO\ۋTw_uCѨb[4)|$pv3?'}q !Pa(_%ؕ 5u7+E,2,J(9m#w#6^w%cŬv-HhGyY[7Hi3lS-+}ȯAM.Pc͐Tmji! LtB)NЊvVfr|uh {% K+~3:G'/aƸ@9m/!ҽGw>񑘙[9D u̪uadzdju^pw˾tV> '^G,؏q_S|4RA:^OIlL&ֳ.FJ]ͭ*M~0Ap@|W[3k^DGBvNpJD(:7^K6b\<2T%py%"s%v]n%(OAe} z w=]u#_ ܠ F)߹ dũKƠ%s_\>WmYG 퇍u9v[k]٭|Dr$L@W>p58xY( /r6&AyϛI鳭1PBqfά8hP[jTWLJA㿄ƧIkhv2{0cQdnVi,ne%E YJ'TG4CΛ,3瘮ACHZh>g.k:r|K l2]ZӠM}XO?{(-L|hjBµ@<9q]|x~9B U\q)Zhn(U;,88v!"͈TL1T}+u%ovB|h퓼Z~֐.vΧ+$2X91>]b^8\^G@Q˒;z/T?/~,'||NU?z⹭>8$؎%ug|Aډ9rſ 1m?EĘyYpg^u~)N>rWЂvn %a6/ D<ۄ#(ñ 0*߀=FЯz"D)8aٹE@bihss[M&Y`\?NDh"(,YQJOA)Az{|93OR$kl:599{8I oV@L)Vu.6_Zl5MAja/gD8;h>"w~[+irP iU0׌}H.ÄkXGA.Tir4Y9!4;*r Ee{u@N&ŽG'ױ C=KǶ J)|z386ER{ߟ)^7YTrw^e(Nf0cm](~!SO|cd[x`SMĈg9Xs5ŵ&\P7>jԚ) wOw1wNOKvTSpfR}'┤5Ǻh*e &qM=v9(ݤ/ ֌ ̭S-Va }U28f]Vp~ UUoVFU^H9& OEnC$n yts 7ᢶ><rzM  |=%+q2":48IO\?#ϥ6 #ٔiΝPJ!.ɷAxvmV#R/@F. ܦo9K| Je5=z a*:|B^+?f|k 2R5}V}4EUDh()5^pv\ǖcR/R-F}js_Ԫ15)t.8b؞"k/_跸ۧ ,)ܰ=K>6-j\&/.}$ӑʛPԶ&ؙZ)PD'}(\ O%]7fV 4*U^sTW)LhpwJּİ.ҩ*~:nEnYҽT7l:R9皂]1*Y3=dߐqL]IG=7wِۜ'o 8hBVuPސ$T>SoD/Oi7F[$ =#`q&XfRc YU/-)ѤU VD\:m,ʳǣ]4P{Ñwo;(?71Q_3Ϥ&QYRxMMrY :A, ] VTu-:!cjU* (淚\9m2]zaՎS߾syC r躪'Σy,Xg/ 7lektt ->|-yH]"F 8IMKkUG<:ϸnCX6z0L4MPa#0uAH|KM+܌rkg  ̎Р㞾yݠߒTվǞQMccW˖ X#ZXغ Zdߴo pc+@ѿo@&'sꢛ̴:!'%`x~Eݹݖϻ|=mb1nh%sf#P"p>5=%%M$70 Ewì'?J6cFQ۱!3 PFIm1z&f鵱#s8ĎTEC%y}N}ܣ(Y^ޗa }e 6ŕ\s ʩv;sm@?NV(*=H*BZdBc'rTrj2}E nc|Tm`*)<l7CM7ZrR^O,oqe!}RFR?]fS}1N=~T-KclIz%+!t%x5 P,zW!wa W hœز%֚Y 9d ;!;BJjD'XL:wNroqth+w7j kũ5]q笼D)BG15eN8~ YÃKɃKc'dLW#rX槭;{\iI)-![&g?ӝl GQN0h)jðwW\ߍHMn Ҡ!q(y9jmtTePĖ{d “)RJ*bWa^!F.TH&4Xe )JzRtvo n!HU0C.cNRJ;G} :x A_ZTOOӂbA%'Z^,Fy -~cc3TA= 6 ҳΰaQs`ƗԐȹݠoy%{˫DtԔHY%=S]tmOAkS?}\vynHr+uba)+i^liTC=@ʙܖXm\9zxhVf%[_'sGJm:ҥt7Tqۚ3T șh3߇V757FFUۡ^~Ma2 'ii}v9~6"zsnd 5%/!),\)8%MVh^bzoq"aHxZ#,Щ;,\AE!hS0.+ sq[im LӿOE,go;MތΩ9*4cgxc$O%|J4a!w& |t~zEIqvN3jv?b?omÍlZig+>lS#)mXBn:B5@ga8#%a-TH4`iְn#Y 7|}_(-CQs'k4Q>"]+F9Yc<8wb%6'bK˴+TtdK$t>2?9gz\ʞ ZRN\R8r= ]ߧ91,+N1J$ૈMޮQ iNA";"Dx%+OPVI*zC"fo6^QN: SStF% xr\hiy2.Oj-Ʈ/y!6EŐh?E1W 5-Xv, j;ı.*\*&:4܃±(qN!j'[ A&;g)eCrF(A˄,o՚Dɽq}iOL bk>4JukTLW@b>R*BpX([[}T=Ba}1DžחedHK K\ufpE$M5I@ 飰Qq҉ri=|zNp!`6X\&L ;<ne*Ce3 ϡyIH9 |Pv'ouW?ea٫2jYnߤ>*VE ڵvaGR'N'-%sZ+Unwp]x Ґc,\x"lBcE#j(u"\ 9+<xfypAjNr7%8Y_ScBK|2WZcuYE*>MիقtII-E\ɧPYymL3"|R**hHn9nf|&J-k2I*o>3_&֦&aprAjp3"PE] [M!a$>4ywogSXkW[r%_g3ScEq=k󤉄"Lw)_RRf`' Fx*I;!.*JwBVCֹ8:h~ iYd&`~0i ,-+d|[6ܼ A1 L1N_,d:7NEFXI!W7vG,}Q97. I<ͱaVK@3#8ǩs%>z%Q~k1cǵH|XXJ6Ė%=/wN, G[UtN>`1o5e=LgB?kzDM^F#ߪ/&xte= m$:.^DAIG,`7㭑Qzd*k3"څl1UIE;*'ѥL*ia3m'mOU3X8ԙdW~@HgyѵWN0|Z!O !Ftb=  8$NVbՋς0wK=?B6#tA cрbi:,yP^ȉKET P#tFPrn]%F$0P|az=Wlq-/+3pL-H,HJ(N\$-փZ7:N5Կ51a2ԝ  IabR/4)p)C31ODXy*jmUe8lZ9͒6wOYB6fהŽk wc*e7< 6ɣR?.o GpZ rzD5 }=Wz.Ԯ%rJ(pі=3/):5kї_ RfCig#j|+0VN>H7߂i&/{5Ys":EShg*5T&?:r~ڀ%ܛ'g[<6Dn+}X#9iz1 R#ҵh|?Y>K)@EXыJ,znbDppsWlSs)%2ILseΰ.s"y엩0:$-pY8C,X:1y/`;dbӧY#l}uzCjtٞTՆܶ)`pG͇kjVL?$L͡90U[fثjŒ\8|Tht4E3GIԳܕ7q DVzx@,%@YRh+l!_|NW|7.K-4 e'v֭57I*˞M .@@ V=٬J߱|, Kyb-I1^p0+N+/Iv](JoP=}yvI^e W|:[RPfmӔXcu7|<#`<ۻzS)]?&V9t!nM:hgلֿ{oȍA*$> %e3>% 7cF4ttgvT~5At3!fd&֕~pëO*[H_=̙"6N]z+grmUNg[)Uk 8N$T|(Թ: +3+ nZnWbޥSeW6M|.e6(}D;b!4P5tX $fEu_/d&ĤmX_M;6gkzTN>$'٭7#vql<qi;H.n#!\q4pj g!lޅAPBY (WrDU|0G,NV+RAsܼ-Tb^I>i<5"!ɔ Ρ`Hl m bc*po3"4rk{c/<%[t61HW!y!5;w dt}ZW طͣȆ+#mhTcZii"gM1Z8дm%ok@% :VCdQYᧈY%,9ۼU97Џ=[#yFcԯl)!A_$ <zBДH ]0Z0|-TQa@4ۦPd8Mz@{tPû` ly4]LY:VtBypn-qz~wUJKISԧhNt;:bkZz;/k^z1?A g?g?uA9Uڜf馹cBpl)X.1^ۓogDq|[I"ͼ aZ>*ihC^L:%>y8TfSҕ [:wB79e"#khLU>ZXS/!<1̑kLl♮,ߢg[M_dںF>V4 UDw X='-[fdpU_yYeVuY%ڡߔoŷ).E^*R3Skxз!B `[P3f£y.%qe>+=130F{"sa +D-h`Èn+"@ªsA155e$/[)^pvfZ0Ti|%$2ٛE#JwN[VױƝT3٠-=&aoK u#$|aqihAzԈ:0I᎛O$#D? -Mlvb xQ3^-&O<-w|O  ֐H=g? Ld%.+o꧜-iRثwoInS#|| ?|XdXո~}1b^[OZ'^7޶ۺ]\*LbQޤ_OI94bnC.Q8٩;hV-cˁΘLBme g.^!IZOK0I"ag Na;}:DWNJϡFsh,}4/iBYl$tt!CB؋OxܸDptws3L>Ik/k 87;"ej]tFMXm#Q-(4l٘9ͩBRfU!&WSG5so i>Rf*'[ qGZ83W@5ZZ."y.iH,=)erڢ Wg`!Z$dN8)g-%kK$WaA0Jׇe{O+cK  xMV]d6,/cQ`՝K5C}Zڦ:b7HJGyˋ/!6^|=̮%ۤŤ%l׵XVxV>/Rx-lڝ3A( U`oO^b`hR1,?vT 6h"--ݦ_0ФɴْU{"88yƹ z ߣjwC:lmYCh:/ov*s j}&SۺYovL"] ŭ@tkΪR5G+F#],zsܟ,R/];\A謶t<%J1~b.>ynr{QGdDxcׁ:UQ\=Ɠc0SW$MH)z`;ׂq8˲~ehRo݈sg7n|K^2iV09>ys GWq[UF6|Y%Ec^S~ h Ǽ41_ gl AӦ~3*`* O ܗXk/!axxLM$_$vB~#GHXM2V׸5Y4kzDf %|{:zh8d8x 1/ ~ĢʞkFƒ"9.MG,* vIp2?T"'kYz "i)Uo~~MOnåVE"M8ὥlȭlf} /% zPiera0,N7X%4>>-0(8L}@ D^7 hkkEԝ<2&͠ݫ g7@fxZmiަAjġA~8^Z.L7\xj oXabsCăeuwd l-i7+%xuFX(PU 4ՄQ{L4=<)?4ȃO'ѥ UPz -bK(npt*$YxL H/HW3U s 2\S$lrOZ5"8dV1Zc"!xVuUЍ{aC.~Ћ.oӹtGRcK(D{{)ǘ|vU7*pE1  3) u3 D6fۇ+r!`*H"4kgsI)k_B#k}Rk*[I.XZP/{UߚwRUԻywLϱ=z 8j*YW? r۩.1lM(9q $Ci»璑 {7&UG<:%S,[L(g0UvywQjR  }1P)NB nߞv# lu z2ߊCDf(I^L\eOPwn4΄加 AV-zRCfZttuP5w $;&a˱d G2&oW~:;<5M6Ofg[X̪3rI"3VU&%Na2@=QVKp[H<+Kr+%@/5y 醪8~¦u01WYsOkAk/V\Oɼ sL2ܯ+9"sjvUGG IVli1zCsiuFgNDVAHݭdu8my5fl%g]Q,Eo v]<ԲC?ʘ0> \NsN<9՚Vvs/ P1߄%4plL]D P1B}2. vݢ@j4ķ@=!&BF'.#HÄ(6߂ -)9˄4=icvs☈Lk-whRfL\L75酖x<"Ĉ`hȸP&D>?:*s6Ĉe 9VӋͰ`Ţa\tʅ:xFt:UkBIjˋ b= [\fPϻjAiꙃe<$n "Ef1M6տ*O{ 6nC1Ʃ~攔F|6fЭx0U添}vIӍT tLPz~Oz'}é37: Ԑ '{ɪ,">  Y Lv2+OcWD>wYntg_#*;[.;bFI^Tfc-02.h>]{W8\Z,|hję=d',Cf]#Pu9&%2PD}\e2RV;5e ;t.`w1XO)+qkڃfg 4Q<4;@  I24;ၕZih<{0uH,iipS tfքr/ͶHofy)q :y1jM65pg?oôb1z` S6n;#i.#lU*Vbnmb7cXI)idbKI_̂N0մzTlc!>Ѝ"kSE\֥B@PM'M$őYQ`Qo-2 $ŗVDbnpn" u9YO6|TR|aFث~PLK^cx٥i!l)jGuR!?a 3~sfS?,k)bx0)g/}֖<*I1f*bD2^WK)Wf@UqgG]afnvAgS{ ]D&Pq/RF 8XL7k]ΧP9ϮR/\E&?bG>$XZ\pb o({lcHi+~g * :D?i"%(sƍ[ >;f{0wbP!ihC5&=V M*0FqSc)S7HңJM0`8@!&47jMw})Kq|ft`2K]ubaw ;' V<_iI?"V -ʄ8U# NN(,ţ0#q˅nKj`|PT)jpVH E洁/Qg⦮- Faa h*^XbRy}Ta8=B͂BH֮>R'4N6I١YKŀ0K!xV] D3!)-jUChdžru7^rIYȫFAk6(ӡ+ ˛&X~$:;? 6S$S+|8ʚ7 ~Y"5歮B eIH`Lm!2)\F;o{ 08ŰKi=<Ң>j,|*=FZ FwjGE8j#C g}KSV0 Vrk`𢢬w-$K);дki{0b興H,aZhiq ^+x1>=ZeIFeL` zQ]+Lw12paiٿD'GE]U3vvf{_vJBU #JfuEV.Ĕ,5I̝%^[*a>NAWȷ V~LarǎH # Є"NI޾v3\XTiKKzShP$uP\T$XȆ0NI+dHVMD Q3P]?fV*L3,h' ڇHLU v%)xF5>}&{>mp +x ìШ'ʶWMinziX<k_5?Re2~+-WWvAlj݋-& \QuE ymxV}Y(vM_4zgsnyĸ44`Z6Cз{k0'0*EL&2 MHvG2b&s^yp*yGU BX陇΀c~Oߧsc\ɐYՎVA3r<.k$QUV?g8Br_X޿3# fwo(4a`+{Z]0JyV:MU$6#6A-YEL)G$#2bi+${+ha7ɀ3 `[DO5{2&L|NnF?J|Y=^>QW쩪7jQG?#:}l̨`xn+iG[7y+5 g[s?Ṫǐwp%1~WV;e~&+*<鞭m3;-}*o}P`= =KPVպ[%#e0i󋪋oRt>5]3paLH\L50 }3- Ab ml75n-ФzcɸUpÞ .2iz", ,4g] Нϓx-h)PQZI~ dR3 sR3'ᒮCo T^ C M&WN\P٦l#GKwuqP-*l&/05}Z Z^yĞ>110hT6g`4O juOqoFck†8_>a2:q2y3yv%j< d4ڟ[Ncϳ5wVǂ17˽F-nW ~-htd5"g3 p]Yܒ̣YF ?Y =tfz}h ./l{qa\R5䋼t<9\ף50 H⧴\J)oes %N40.>pB qDhx_LYE(t s5>|:MxB.T#N?|r~;SX)j7tƇHp23~\CH*wauA5fax}m~я?!Jb;FzAX?ծC_%C X>Z4@qy%w{LJgˠ_hrn &aɟdJ f>lU}YՌҼW]HNFG;K8Wqp@!BCmٶ.ʚegMsxrfPST p0Sc*~QyLc^Q3,w/ˌ O '=Jxh09:[9nT.tNALA xӦEi N@NP,u/Ay05*NպzDӬ7/!Rv;嗥+Mw|e9䉪ʥf)L VדSVeɴgsJ7gmTQ?٧NN{HFX=7J. l;O[9?̚=~Fl ;@ $E%_Et댥"2r=9|744 r8#T$9GBW~|L'dTMJD&nvBV1tfV28k= YȿHy[C4&}b&zMb=JWn*MYCM%a4 aG]gJ)論YlձN]o[Թ ^[=8G<|gX3Ԋ[p(n%)撕Iw@qd+g%M"7.@1W=j]ef:EV<2d;K462&{s0Uv=Y?{.NPfǿ H_(-)?6B ylmejb7.n!y_($3ZHcQCk~咆q)y v]\*nF*8ƤY>2v7{g44~̢Jd HWQA)/I߬^?]5Sag Yg%fIc>cad)a}jttï~ n$y2&A5dۼ03(46ʇ$a^ڄ9Qb$xgQH1u:9"?hiѣsee)-'l>)?aQ0"kΤne;%ކePܑo4NrK&nȷHgf᱑T`Q+T!p@ޢ!R`$ Cf-X%J" Uc璫S>0 +1Ee>c sRnte{0uvT~CDOhj[;)T>]?=/4ɼO Rlj=%_QC#pyWvK2n~-8Y]:'<@k@2ZlP0Czl1 nK|aݦϮok R|~=)4)]>^ALRǸr []OspB8՞UTޔY6r<",x-V02(Y?wWi`uϣg#1ݟƠJ*:K\Eh_Ff VtE ][ShyXPjwAMe8Uc޽mC, {*1GF4&;Oպq1 -y\z/?oR)lRNBF*HWamp8"4;0NwBث`|5_ jiQ=w YD_6m(aәARzo/~%ߨnY3_x#>Rƹ#) [NUg;zpv-G* 6Y5.!P:of `Z+yf۬^Ht9oE\KIG{GWX-C0P\k_/,ҲLX0C/11.%i&'-\\h0?6dl"a6ΤƱԌ5?U[BfšEγi[0NS(W(mˡR>w96ڮa쁋l1|Bdyh53XcMB(cm_ ׇ\vTmY6;|l*t 2)t-Oh9P'{~Ur*~,~.tuE)U *DѲho{O:\a'D91e%,{HP,N'[[/EW?6j6-1<3c{a|,٪0N[aҦ:S`2dryqq@}}P=ȉf C*šsmHw.YYF-Cj}ShS2ⲙ8p]g*wBAPz0 z;K p0 P!5r*b  DKj0Pushugx̠HCŲ/qb~ Hڛ^FU?o*ɧ1{Et]@ދrS6 2Fhb^Da)ͭV:s61rM{h>!ҷ?mG}k i6Q?7f?U'{t, RiO'5 I^e>o:vXUnMtEQDL6bi2^*@zIѦ> zGGhsԸ(/)zo ² YO; [ޙ./D@Bb}2fQ/ QkR(U)fEupʒKO{`%j\kL OuQcJb 97| 6(γԹDbā2M;d -Dl['BRwok.p㬈%lC^G .b(X7NѯR=C{>)o#eS]V~<߲{mt*[1vk"ušKfAUC!,4ҕ_x.oLYۚ;}l|9׈fFVegvO&쇌(1 V`kwBjW9ң=NYJO (Ԅ_2oX ^HA/Tt4&5Sii ;D%+u/D.1gVNEǕX4d$i9шB Y\DĪ|szj CT_~,0M:Oעt ~S~%x<4]R-\xiafrIsS3 /"{y7Jw(d+Z3e>Sp{Hx:,i_Z8hਞL^*I?Zf_ yqو=O(,t!ҽhBcLY-ee'@$"P[&erssvVuf&(0:ifܨ^ĚؚeQ.%u8Dڎ9 }OPLG9 M]jx{+\6H;+(?^8>m `4XZCc)F5x T~C~$oEIbѻ8`TDMB]|(t4-e¯FTHEwg~"aʨr'ѵƺuRez |̧F}LOC|RBr} &^"N܋kRfv?n&XCF uu4ߔzeCVT:ըϨتDR=YՍ wnM?~YYWR|΅-$`a bxп~̶)qn|OI=]?8կjf59Ef٪lS|ވ|I cIb6',{Y ;^[2/'L,#6akSKo?4IiWI0o&D9M 633 ;Rc#(U*^TKqbWӔs7"q6\IO;5&;gsf_I9Ag-DĐ,NBDzႧ-GՄC VAU>zO\(nNDY}]+XylAk0S6r͍bK~q3Vc%H &E%<47?=! jpX̯\ss5?S?. ) wM+H.U{)٠*wkB&r."A#&)ۇ_Yi)^]5zogcmwU?x>.X@Yth }lX4UN]6Zx $R&CWVhRalA ɖ⹯.f4 !;8Q6oMb%X9@PFqi-AǍ3gӋ)`*]N1 9* `,S#t$}ɚ^IA ;(1oa\&m%T1bhI0x KXe Crj$\I(~S"R¤-;?bNWbKv7.YbsE~e״Օ d7/6, i( t"سwS-P'+(W'3LXE.hX`ڜ2 嘆#MzֿY(yUf5n~wM-t<1'lB6Jν2A= ϸlnjY(ay}jw|,d]s|S1piZ QDN kJؔ$lt+)^/:Zns:wRR&lnʏ{Լ`??ϴ ưOе /%Niŭ?= gb3?j,j[W[zzѹ$J̩ٳ.%n*.vŨ-w7.6l^`+JV,=#)f*=cJ6iVh2@p6@'t7\7Y[bwMTP neQ4LA^N#pD38OT"F~*Cd<׏>7Eю"jNe"z.i؄>#ԸXtɅwi`CyaGa U e#-Ft;==?!)-~a7Ž,+Y3dn-6DO-P1 jϻ 4/¬ wϚMgpM pv9ѢJJA>ˋWg(.vJD%^xG8S;|EI&?˹&B`^z yryVvϭc^['ssJtaP0 b b(n/uBv|(-YHָ1e3y1bd~٘N8w߫q p!"ʻCӦMt1~FjZa CGY#2*<&VYN}edi4Io6~N3B[v|~ ݔº E&eZ!p,2rJ6FE2uH☸Dϱ縍%Cw5 <'0t xCdO5;+*wR'PjS2EPxo_d;8N)?Umɐ4ɣٮXF~2RebF;愔bGs $EJQZ1}*42 ZMů[W\Cj{o\qnu yFM\[|^*a|ZBXѫ#rPEݐ!`ɩc>N$gg108J>Ggl,' ޙL8eA0/p=iK;L@[]7R7 G=b6`W̪/rg( '<넴LNK T- $]X,fWK+N#bfr㸌ԁξ+)U+jQ kuf_cK&\CUx'1 )u?IXEH9kyŅic}6Mc'.ST +FyqSY ,ZEЊK2U; c +UP*/hN& pfIWx͉Sf@Dk4O<=WVg/xs@AChɐK)0>F^Gl[n:n&O뷈 $EX)N62=gIpx2[w?CV|k؎mnAy*E8AZן66 X J VzT@iA%[,1 4M^w{ѥL :ļl+ @ԛ[b\p PLŭAW,9go1<&l3 Waiz\Ƈ MdY=q+Ӻ,c;h&Y)×2 \uR>A$TxϽfLVml>@Xh S+YU`l\̘ K&_4VW} :Si&` CهZIh4ֿ,Vhd#Dԑu:7劻FL' k6x/$D0:BD ZHnUNݪa{#ڨ}C&0֬"UpN~ͫXeRZȆ"X0ό>Wmr%FpVi3QU>f3%n؈x)|1vGlq7O>tUږ ^+Ԁ$⽛„{ Ⱔ&wNNLn1LE`;ik#6 ǴUB'}P:< l } Zo^էL>+ 8?,M;I]* aǡ*k!dxFS-Bf45 NXMOˏ>mKE姹iB azs~<;tI.D6q^I &0Lu]l>*}Z ~5 X=>|:ǔ%bRh(ČK|V%p .JL4 #'ń`(% Z7~ 6yO [}7;8 Ɗ-_ozjp[@ 9AywXIRw Nw<,5֤5zwMryw_h14 9E~/Ά%ZXP9{/a25Ih$QDV9ٞ3":jYNtQ^.OՉ ڑ<IlWf1V͞`#'1a#'uXv;q~spH-ȵ[bDN9klEyh)?xH_,:*Iam4=s mc4_MF0"#8Bn%<(kx=?;D? ;~rO8wgMj * \4\tmgF,0w8"J. Hň7%{i PCUʓZM5bDuF{ '^ɀw/bxooW~?8 1k Jc'ko z>%󢑲ѼMװr%.=m$k;gaq#UIUCtfQn4u>4}rXfFun&5)x-@sTF7 HDE$i1!:EI]u?T?;"oS~StWj~؝#.alEm53?݇eAjЩ)|n3Hht25YK=P5{5Nab.%sξ(*bn!-cd] *]_>tnO^Գa6'z#7_O\B5n}T$XG|C~1 G5U#N_2v*&;n)mbz1%8/ۻNka:Z3~t(IX#ժҵU Թķf6|G4?]'uGvOC{~— WL㌵`?qhw`!d ==}Z_됱[W߱:p=PF" U7y*u}ު 'Nr_8*V#E\T^p=s3 'S޻ᦳgyWqhZ@ V@Eq.lDO+3zXWJd)hXtp(նc4Bvv\i@3řX ves`YB:+^P>#g.=9}3c]v۱:F">Ӱ6Tv!vPBpECĎslt7m c⭝zW c@_S-69cQ[GǘAs εTPUjnɇt@mjTQ[SQZ f_6Q* Yٵ=B//YV1I7Xw~F~-e9R76sHs֐C%zgE1Ѧ4qҸLd?:s(BNn&b!}hI-ӫFf<,b4>@Njj<)}NtğA ,e5ip2<ΰ4¹M$"ۼue8-nb;@£R}^V5'n{%œDx I?P)cL6bAvJ \t$pWx)]ϢA8|^12jEz{GmG^C *^44Zz3$ߨfh\ZSIqqQ"vP714F Nyɪ3t,f|Vd`;_Č~l΄]~ 7NWl''%Tϡ \i\b*fԘ <{dvj$ڙ O(Zv2 Rs`B䓞D#]Yw4lOx !m u.?qUK+U]=Њ 6}t%A1HH委0-2nKMRDi8=`UY" 9g*4x>Oy=0TGBn=$wߎNw㝾~K,~l7z[p 2 /Qsc0'Qلnͤq։q.sڳƆ55tחlց_?ix *NI!+еUF'ص/_NׄڛoJ#)h& @&}.6dU@vQFRj4؝M-?K湪 "۹pٛ7O53r]_B*BcvfHC!M( {v]>sjdfsFd×T\ςYӯJ_߂m;\C},;RKqh%DEC=2fx|&<03$xb6C0}^W^J :||1螕"gjY%Y Yd\f395QYϿA3 iIU0PYa~jo)^_vZPr'y"ޖ!OGU)+DP:_D ګ~ 8(OZ:r?Mg0kAgbɮp*{!?,p'KPMD؅Mm:_ULq F' VKXJF>ɇt-8b, J3 ]| aTdu9\cX'x6=Ȯ]~0%2ھF)Z&@6ުWy+%mWSm"$uWd[hR`k4L) vߞg̽F*#v+YR`wġÆ$]9iiiG%'Y'ॴB;LrIYcK<3U2_/ ^]n#}An quJp&tݿN묽/}c6u~3*Cj<۾|{\T?gu|x=FƟҤ^:6sF Sl>,j%}qcduUqQ+OumҮ!n*Xݻ>5̋[%pE\n!5xߦâ%g:|L4yuS-f[b j!"kKծ_yj\{wx"؂I)?3Q}}٫J@'Tw[Մ&!zݩ *vc?G;O(s/2[o:Ȍ܍SW|LWxq@/jߩYhǚثPK-<xS# n5ј|bʳtP G#[V]yobTۃӘ5f+Xۋ;b9mo_}W\ċ :T)Y%"2&] <ޡy/nR'bH[Bhn.ztC‰Y.ޛN+`]q1FS.Sg1+NdC#;S4y5L*h>%QȆAkp'Ǡ RboS½b`knK mZuavYnd6*b2>מ8]Я֐lcxnIfoԠBo,lăAvF@x73ciP!9@<;F@+85C 䉛7s1D &%L*!/6fMzC!j- !*xثdx|`n?汪;xbpalsC!OOFaO?O=1%z~:iv0ۄg+@Ȍ=]T!xt@|)D<_#M݈5݌.KiCaCj~3}com-%*xW xzrm6}[BF{8 }hQeq;K45&Q$uLU ̹:Wn鱬:=h9XqX㜩#QC-a<ZcSی]N=򕍬0T:QyޑV."*=8)$s]O4y2Y|6Y÷uXGx Y!m%aB&ԶbfP-m4S+;Vtt9"P Hdʧ]>A@դR]6[ rqK)Z_vQ8HaZh(l/''wzJ$GZR0A}U}<S5oMfUt"wHv߯/(q8 )?]KNBwi;<YZNwEKRm$#"z F/%Gb]DIJtzK󻿛x'#ʥAu<=ØbhkkKy~hFJ;^wGd63|5j&-q~O+vピRf,b h.5+JVЪ?1$k6:z9K$иceU=E'0,O41;mlF"Q A%X#ng=P5A3}LJ0ޮ'knXcu"?;7u9O|hFwkj3=#%oP"D/ g荢\>?Ha5is{NdXЫlT)VK/O侙(Ê2Dl |-K1ybQé}3ummyIG'Q9.r?8FRq)>fF!CXk9@I+Fɱ xC(RHqE=ZoC6WgZc 3}S8焻7朕WEԅ*lQbBO\TID)K'[6^1lxNg} ldy QӊK>x㘑/M*}cSuP7ڜ(pqJd3%Xc܅S6lD,,ۇqkEW,2>XAME5pWIÆ(!y)3$XCm;+*4фƟ O/8!Yz4HV;$vKA[植t :}ICcC Dm%&+Ubt7NtqZmO\&4MKp2%Ԕxy]7 W,E\WFFjF_?zZd%=4ѷ0ǖ- Cv,K$6Ŋ ^,fXTp)n]&|.޵T) |rޯv.Y7|0)~ک-6ƵH_?Hhv0F?w| rew$+@&)_B6K2m`&ʭ0zڕWd@ iwEg~c-˯@Kdn!XNL1bjbn3@-$q=2%|>0R< ||]Z?Λx5PaͳA|VsG&ke1}% LGxiəU+j)[(sg(z h srnֱ{uRn۪Ol>ILٕ>ULї[:$@JqW+KƮ<»=*!i#jr\ @s-i2"G9Zy 5Z ū7?3%4X&՛Q vCa.цRfTvVa*i9խ#Yr5t@Ed]Cl U+euk5)Up*oXdix#r^ߎjAޣjk?dFaTŮ/54E!.u.tjg-UZT0RҶ* rNO j e[/]hϡWӀ$wR( 6:O,< Bt0 60Qa˨YK‹2Bϔ}Oy53ytIܚM8heoK!M8q4gnWsï/5d"+EU TLcN@viiӤ{&@4ys ]A@$ ;"R/Z<ۄ3 Tq7ŕeVK`e$%c[״[T i`ɃpB/H,ww pKU9a_yVW֍Z@5$poFu׋ BQZY!hin,h1xDkA]֜ʷũ݀ȇGm7J \ʠMCUB12rU(U>cbqV 0E+rf2) XfDNƹ+[O귅wlǒĿ2ISO9&1QTvVs'":ѵi1uVX2XTJxCR/XJ5c|F'5 bUNM*sE'>|~e aVs n #+JlUM[{|i!.RipYȑ7-Jgdޯ;Qw߇L XxЉ5,4g$r@_4WX9 Gpw ?Kٱ<MseuNg6Nh>wy6 )LG̐;5".b*O+0 lCD &-O[E.cR$岅g\b{4Ww QOOfCghN-r>YgN~}.лϙNCtG#=J0k$Ʃ AwK=a$3?qktK+ZsX:O~ Ve 9j&8xS1 PzT43':sxGbQiD tAdg~foOkQP3!&SY1=}JҬ3*&j֫_T1Pj`_KLKOi2 Ѩ_I{II_~]d- 5Zs>+U:K/8,unH8:9 悍ovЪ1OJYnL/`撌'vo5 dC0P :ʺĠE̞}mǒfyXdM!m$M,goWLڀ*O3߮d+ n\],yJ2z|o,rSܹt;lFh| ̪L_x: s@lqJڀyl+8kR+ƺ!c=F#@ȈbTt,uQ!rԢj(bH̝_wfS<*42-(GO7 ):|=~x²b1Xv<_dׄ{=eb cy rD NĒCl1Ƙb~AXBz{ОK傭< +eKP55-ޮT Y3( S0c8C%=1xEo&H@:Q\:.'ʱO `I*3ۻj e}"'C}]$xY[ ; `ᗟwL36/4˯WY3EXEgL/p.Xn,ut#VJ~ L/@ UIsab q<|$] (ODIeX7gt 6s73f#U̿Cٸms'Laː=^p=CwwQa?jI4lELɫ[ۿʭ(Ou^֯xUH4jlҊnX=]A[!EX8Ln$&ƞ]EYWW݉Wѭ좗Hs(w=ucqRekϤc{A#[_b)l憷AE/w(--\@5dJٛfÍ\p"!*{`dž5BS@4 )K%fU_BmA~#IͶSr,c"HwVԩQGJЮ[t116Ξ~wA » ffqpk@:emgu~V#da ֍;ε"n9;NV{fP!;/\2^l1^7KJNT^a06qBHρjӡ]Fq(lk /S% MN`3WM67+ǼqL[PWF`pހ=N+LA&]0 e"=X+%1[n?bʚ?GMK[! g6#:17l{nzOnzg8MMS $/ۇoHp nĩ9_D g(Uv? R uBe8?D\]E \Qn?\ȅM1 3 uҏkS>"x 0>CjrG?,d  riGny3ԂEL|_iA& mΕ⚍fqPhí#sV^j&{k)2:io5 s y,J,a C ڇĐxbb~{G%d|dD7WH *&`ۋa:;*FJ}JA??X1۷雽J6n5fkBq[ =DS87?1(!r2N*tn)S [Dݏ^Yv=K L Zh[qpg*CWvZ=pZ/6$L)$޵W+~ -k!x|Z0o܏8TQ}gWteΞ6y]Yn_v7qf3$sO2ϼQk/و+jYN{qK:GC0zuVxn;xieM|1x ҥxK*V,Ϋkk'!0lꂅi=6x{U.0y14Y^}I r3;j-n{ 6"04.U֯-CQ%na[j _υ!6k'I5m+3orƦAgYuLDy[/ɗd9K-z8$dhFP*ջNR'u$5&%ġũn 8<ЦFD"c_.U͕82R6.@3Ia+9ԠqMRϱk95fPex^+,~LO߸=S&C+)(rD*o}fTSX2i~/*ܜ%ZTo_pj{H嫲-vѺJQH籾\O=#ǂPRLp}7Duaޜ!iydZ4KP2RnfKNmgmU@.e5SqնZKYV犰zlH!wOC38@Y,)'aJ%K?8TVXQdiK2ߪ_-{X")J".daMaUbLYג2<+IbU:Z￱ (%]suN~1eN7Ewd`k0+4~/?  a3RBgO6,UK"ҩz T?|RWntok h:?Uߒ5䟠K<>[}?+N)lv-pxSMF ɤ7]l|[ë3NɣUb=!zqvJ}ynV5Kṗ*++ "ͭ@D K hg4"+x}{E=) %x!tP,^ߏC!l.į](8ѩ<%2@ڨ sw~8ǂ6IY!`{O[0|,-G@R|= AB:ϧ1?@?*Mڤ{J KS?zͮ/sw A*g[wp2`rDI=[oSJQJ-#5nȃO!ۜ3%S>ZՑTviU'YYMi):E֑f)Ol^%;J,R]_1gkKح 3(aQ>WdD*=B!4@g_^ȧҼmy&MI9)y32.#·Ftg $%zEGEIǙr3%]ձ9=!Uւ~v `36-%U޿.Ga PM*&Vp s{OF&AjD.٭pį8iSo/ru-sv^D)P͠-Rƨ|}҉?TYU@ԿHM dFzlP K2\ԣ* lɴJ~<57_UdC|m\Cƾ}@}Yxbܻ8nJn(B9莝8,XhI OI ˲1Grȁ s?ܣsPzeH-1dڱ%'*po,nl7>) 9Prnk'^X jLtuLsziY2rSe#"!|+Q!:9+ןw*kd a{g>!M/K6grO=w'Fģ]ntEC]]j:!$3uJ|.?cƭ;xq{RNWCKoe/"uT[q9>3NlhTC@' no[EN~F+}`s>88s{Xsx!8N񈨓UCg9M!֏hϻ҂i0KƽaWβ^)(y(it:^E|ǰǎM Y*x.LSm5rH+e F[i=hɭܻ($Lh& ]ljHb@(`'[9>a66fJ"~dvxY|A2AB%bR1(_75[*̈9[͵d9~fkN3DIa󹻳!0Y;oOLjq7,NCE&*)K kP“DL铛{1ns_`;/#]iƯZ;9ro̬#Τ6@gΚp%FZA c̶*%OMԁˏAP:dұ *~Lq#xըCgFR3L2qqe[l &AT@qsk,oAXlbLja(ool8;C~]K0EO&\C=O|H$ѷ#J)%kۛt93b?dKگOڵd"Ѽ˿W;W4%#ʹnvat߬K`ۢJu1zաfٴtE; FPǾj( %יU {4'@RHz|쳚;!D N /G_rvt3 ~n,4MQ͖An2Q$eo? _Fyjܥh5ku8z!#ZjuWc_ۗz ʄwt{r<; %qhep5]PXXް*YsŐԴ39H6r)t0Q;mT!!sO.t<]| p#Ih$D!O Aa [ GR i-5Y qdP?"#ڈ\(NgPS&ϞGŗ*O,󏩆#e('m R!]HiqBD37-MSoКޅع+jcw,h DMݿ Dx#vb gբ4m'WÿR,Uy Y=WqC/y}sA8!"NﴏX`΅Kרf'/1Ġ\uR4,+9/w6z's%jv6Co:wW>T:f1LngLinV/X@J楍lIR4pɃZ&+i1_vMYas|R̍p&sN&&cPܡk^{ȰD9&C\ZP}~%bh:1:#0 W nӬ>2q:k&ؘKe@}6ɩvvV7#QGhjCg0RacTHXq5BfO1ޥ~.{cK-/f/? +dXYe[9 ?87 nO WUa٘ (t=ј{!''bBOh1D_ )@Ld˝̶,U2EȄ&EL _?5 E oW,#uUߗu9% Sp.:@[*#ur<&t?px@Ƥ]=B%]f"ʏKR8 62 &yG'c}xT󥥰Av P +>,}:I33Wmrڮ1ⷃƯND Jqj~NXI]l/D"KWnm9->>+A 5lU3wgk\ @qPG>WI4ŐO^8|Px%,;$V3{9&}G]>Az.dlkD&{knlƼv9GTEl=ӡȭgy*V %Gv`+zk^ӧX%iG2} 6Du oၔG7 Ѯ y1.4%!ļW6=9QaK_W%I4sPԔޫGv-}?\6y 3q\)x rLDS<{vnk\~B7 f>@Da܅TN oFd:2ƻ}03<(1'3EߴDl`a|/kWKZ+ܕVgQ@7{l-ےKaf{zGloܡJ>E䊚WEMr'UR@44p]:b+78-o2Gj% 7@bg L)_"2skߦOHş,T3$󝢾FzNZ#%,K+\>! |yu?_=+PRyeǝ_Ie/\?JK}f RNEn{(닎/”O%UV<?BG1DOFPJ=x4fbJ7bBa[1O0򿅢}츐J!af, VG3Ң1x0pl9 ",DBB MЄ hRUF,]o`,wH|QՊS$UL(\ñ$D[W;}C`12o8L̊U/vS[Jdeۓ^W)<Sxy/K/dNd-Tty tb أË=X~`['5k9C{x7Pf7Q&R;\U9/")'4+`53Y#iV qBN %i.eKz;~8~m DAzTJ &w͇Nr!~;"pXp;?KP-v)@'uT^]]lN_|i*5DNQ 9}9D\AR`Kv\{^v)"Rg\ѕH*a)ϓ5Ҕgփ;5@|r!@` SLq9Ѿ3!I)<{xJUbDjne&&8I!w396 $mc^Ch>83S"Tv\sݲI4o2H+&#1JH^obE/ PBS7 I*TSO@ð||KY&4 "%QP4A=f޸MuJ6M[3«}q]+~`1لfhr`gzdB.zx22VJd+:)ݶ>^ !geNZ0B6lWp6eDW_Ox81g4R 3lrA FFY=qG>4^).,$=7"b3kpVg L=(ĺdnhrsLY/5TQ!dsX7A)GCUj . ձvX=2׻QWc4;p7 U7BMcq~]fOȟ1(У,x ֒lv Jpt | ]qhe1]%zOihڥkZt5)@\CFg E_iEdESt?¡m xϔE$qG>I6|fgFly*hɕ!gh8o(kodS8}Yo55DT1@3 K&}#4Nfey%,1Q2)N.[C$"=]8eDjQN{~9ZlY2PEu zߌq%1Qԩ+/om`Ve@b"lr3H̾iϠe [c8 I3MbKv#SHcNP^>gGnl9{q<< K0}XQ啈KK\y/yc*y2U9X܍wYftKK7Yr5ϼgmiEG1u"=K@tBGe^Bmw&=gE;'O[1~qf~*&wUu\Z.~kuSEaP *}k4`ϥ?CmRf^ g LhdDsu"oўQ=nU#*%gnU8[yZì/E%Nь9飊~H%vB܊-s(.FN,BJ~TP?e>LCM'TV,! pEb%auS'CK+ƈ_37UpW W˵kOȸJz ^yd\/VO3őq.>L*Sa’64G "-7ˈm -aʚ*Q-,VMn`\:NKj$%e1xXOh++ߊ6 7o"v riP#'{\%y\o"Wǿ=֠mu.n'lȠj tdH/QȐ,?35xKX f# $edL:W,b?Qx,K&$%1X i2X LW,T$}%\ q0]?>?`DZJBz SWSm( vp`òOLhz=8tL,`]*RN}aw X>68 uΌ ڵ6ܕY$¥tR*kPTq`Py˾JL&c*hIQ-/UCgx cBAϯ5iҞr]7,@ j `FF M=[_';TǐCy)?rFQ\|`׷`i$f&?#q&D{e۫5 `4:chO9rG6 O>~>FK(օKfx66tPa5?mrrcdebX^_|-{_tjH:,J 2'7LWH-u0 d8 (d5SX٪n#qݯeQViU5.MI %7'Te[ҙbDCu9bه99nh0$u]J)oQ[sJ+ :k52׵ ^Ñ%ggcWVL47[1&;GJĄ sn!c~1ln~5mAG a[JKۆ, <8}I "kh)9UO=H>w=Y.(zuД8 cLmynT!?}t]. z,N  jUcb=a(ܘJUU CIBO&([:pR8D«.`a O Bym躴!.nԗiWX_!E+,7ޡL9"<8yֿ}ҏbn]3UD,.䎜Z?s,H mѺ#n,*{,+2'>&إf%/0 bno~$]3z<'>IU0&ne٨1`)*-`? (~ ] 2ftt1X,@=,өF <?R}9PTtjce>,;FBAN[WMPCގ0&ѽ?Y]-4{*n@ډѥ}T $}V.`@!DDXq0Bl|aknulz0! yi(EPF~귨ϢJE+'IBKi)H|CۊۏP)Q{xj!e<:Cf+V uG-Rx}Aԝ#vd'eMVfWiL[xMm Vbޣ{ ɆFU{ךF &G%,G'~b>JBSv޽ɈER*_ )0|Fei)3sהfqe9 Ѱⶅ[7f~לe'IJKIk-YF$Cv% 5 %fN# "x-rcT˖BSR>Y 6mSVA=qQZG {bU*8l=+ԫk0w@W}IVM7 {˽'zD<gEtZ 9q@A uVZ8,Hz촢Vsod[((qQ. 5U+u\v8 棨B' Pc+TVln +މ ;o`\MeLs+NG{K"GYK݀"Y-m/)]++ a}.0\SzC]'vD b | |-5y3دk 9o9) ]soᘢ&.ՃY!H4:} m _b> !;-Th4hD9!dAc!SUy/Ona"2t meK%B{jp m4~ } yNgՙMGp"X90rOubISu[Cq|/f?A}i{J쯁48CwG5+TgX\ʖ3,C9F 0)9oivRy>GloN;/})(BBϺ:g'в.CNht_eQDf ?q={?l>ٷ7L]V3sRy֙dbÒ2 +!9zGL^Ud|O)0eV$m鐃U5 p ){%n0H#dQ_ E.kfC;_KI*(?O#?gtf9[QAsDnuItA`!03+W) c))Źg2ʙ^&whs7c08a>i:SK8"[Aw!5t )3MdluF!X\F O.{z}#*ê[ȵs5E6m릤`5$uSC*{,_8wdJKNnU%/s% k ~'!☄D9it#Xx[ G<[BL7|!WuKn|੻|=-@A j{%1"1%0|2ŏ+w }%#c>.k6yRFRkA&8e"Je;0e[9,wy#QR᰻q<.& ɓc2ٛ buD"bu}[gf,]囅G[”D0q1k?ρ|Z | B(bar3{l\@7 5QyEGB3䌣Z`'-A,᤹3KD bdmRmmuƤR ĸQmBRb"N?熌>꤅Q! Mw_w%i[ >{ntxBשchޔ1+9/#V܈h9,߉+7Wz=ʜoL`<[W\MQ ʨC;M鬭3!T>jhg3oմPbEn)* AOP^̞H-z+!m$!Hv ( RTPp)vyV(:cZDv"л!PtBx]1Vs 2h_nucaȁdl|1E+(9jgZ58` ~A .DYgM8aHFO̮]kA0R =̑O .dӫh,WS-xnz^e msŜ BОp%~{fiss~O6cxo=ɕ? ;Piʹ ׈&,꘩SQ|B]Huj y!bI2QO)]oaע#hv3/X?H0/ue[Ɨ:9X {M8}}r 6sB(#JwTFnE~ R}zGX40g 7m/8>ULS6}B*kkGh4NdF#G:|uS|x;5 o,o.b *:1l#I)ۜÌ̴ Y |>-xEJgǖt-s 9 z:; oFp2 D0kGc=9s>9X%h;itva^@axp|;^3?({:<, ֢]hK  @a C)w|1}"\E V WIpEnjo/Hi,amZzľ m8_]Ux Z5e+MIJYy>Ȉqiޤ.GKǭ _+~HDp%D@|#BM+W47+qdmF&x% JTRLkbuN+]G&BwTOO۳NުВf&PY zxYaD$6%R %\5}' zaLX:E*𣝓;wisR+d;b7S؍7R,=-JjNdrnN_‹6es*@99DLk:0sAQ$}6oA_bAC+o2|㴄 T~|oG Lrt=dmhȮd.އ4+6˫])P_1^~ @~:_ǐ^N e랾 y ^=+gH,kHҹJfT*}^=F;bAz:^•pXI^!-͋޲'L"sOX0!PY-~~ɓҸYGO(i .hlz6/k\@OTŠCCiee;-ˤWLa zLpҦ _]CAX[ؒaq$ޗQ}xrIZ;zKڤ wDԤ .;Fo_g<$ MqP]deTntcis7Sc2iY60G,:41.ڃ%YVUvP_41IN~`XRa 5n>p#r|o}wW\sHYm\U(u.?E0Q m o *s6Z=p#G]%QߧC: afj,#"g|ۓ$.>'R.X[?2q#CA)F5 >{Ɵ, ?y]˼qW$)fb>+~M M=B" ݴE 2{$HCz̮1H&XvhsN B KSk=fp,oG2`ѯC䌆A3b9.?hDvhW %K g]Eu֕(b~#'c:zࡢŭrW'>D{=?eY(m5œG-cԕ{Z}Xu:)ڷ$+%՟)!ugG_ay丯u~!Eȭ mw=tNsAM]-鍝٠M m9AS 'ZATm5\΅ٍ1-zPXv"G6)"Kaվ/,\uH|5ˠF7X]ss$9x(:Mwh="+2>S8gʝJ2tŠ&S)YBtֺ(ή8aKH=dޢY۩02 h9cg.{p2E[zW/uVS=_Oi<]q)`dIxFas"Sg?gܨ$F zD2kvg/~4Ht+'`]tLF)H?W.? !7҄?Ct3Dxp݄_ r{2f$J8Y:&Mw_[D 8@ 5  :2wMmY/Xǀ9.B- %b ! 7\!vX^?!\,B+zE bإR"zaw9,-J:@:ks#}!S\$doW_m9!٤OF_&m0C:^{1N;ؚZ ,b_=nTK %1MCYt䓚$tnqDc X2,_m!ѧea]G}\P1 ?Ҙ7 ι9K bm l8>V#FN[b |Fe-/+Btt8|5^VUNzOPw"vJ6;sc 隳Ҵk@ 5^ Q#h3xT I.bnk&?%rd3@TΆl~B/Z< taybx>pe̞M K,zuMgS(<zLm &ŷwQLymqbydS7 :FUG`n 2Ew^ղYN;y]iB$flnۅLʄ$Z8>~`An&!q?dk2MlI>f#uI2SvL1#2,{݀J ek81`<z~q n$U@SP-[[dr[\>( /Y1&<˹/ob*CMcf쎸0OP Zإ\`؄V=3TCݐ9E~#it}O]4z d| 2(T:uuT>?:bu֚$g&&71 05aÅNc1j`0.M3@G\c톫b|d`DI\uxt0-@t\跁c)85+V13w$m&pnzDb^Fn&:]PN55L  m[pѳ>!$O?A'ֽ&l&F\As. ]e3%jШxs{@|I-ۉ3BqzoHÜ͝cASs(mGW2 `I-lz TP;W}rHAi2M%>q݀&%|=[d|H3$ho7L \+^hUݏW$U9Uc8zfҏ$82at}ECeIM8 AɥA:'8Wԗ 'H+?BXRl`\|:ӝRz\'Rzց," $T*X._\bgyH%81z3+# X߬Jr+֌TK>7U<'70Lj-pke1JM2s4&fm( ^5Nj+{ [&5x d$8a4<7>)W4B^SI\Qz^T 8lRʌܖ1ɍYВ=:#TS9`"T!Vd.y;Oz`pDiY6(Ud|Qcgқ(q[la Q- 7ǩu 't f[в$/ X@A>ٰnCuKYD?F6] CbN| mK^; "^ (~kے6X琅 +q٬@ϥo6%:op{D”ϰq$2GIkΫ}tiVJY/?Y9k8E4_RqTO f*:MfSp#ܖD!!r0W.> D&l=7C4ky`nYAT,a\!~Ї[>5N8dBc:N+D侧J|0F|>;b=0hۃh:kF{l/랦'GU߼o$I17= |щNA 8?൞5~[HkC:#w+s|n&nHwL~#/R2=>v^OC"_<^L''qB̑.t59K1'\T>ťBrˢ@4 b*#!:bwK{wWOnHHJ?Z| +怆' _)$8EQdOĊ.Ez"Ua z/oLL`i*v8y3G-H"۶R[a~`cL6֥E\gs)m2Tý.  ò}Ku6HPjo(m9B0p!-{([N@O"o5c4ɿkZ[flm,[u"~ZIgnހR2=w"ۚ-u2*v/"P/'K1q>QnH-6:.`p'=0\.7~ۡd OL}U!5t_(}o]TNX^'̛PKû}as08^||y4;ޙA%ݺ$+I炮HK>>M7ᩖ\]wSe)Cyatx+46JbzF$?IsSp@`bK$5 wlbֿU۠0\Ӥ(RziqO]]b-N/HJd>]$Adx;;⫿C+Mb@>TR5aA;9M(TZ|;h-?^F 3:[/cf-}zR'p->fx7r.a@;`H1q}Yryh~[Pj3$;0=3\ d?"MIƐ-kIug*eyz]WjMl'-u~;`PuJ+`V< VS;vWWi,"rvԢ}SP<->yNb~֗VFn<[&nie9L;)A[#g@諄]ޗFJ(h.䆝eqx]^ͮo"49NA"Lq;0NFv#dߩ!#&8JU.* _o!Me ֑]#]j|{2fьNxE%>.PN\"ws 2S89tgDPXIF 6"f0 U6gI:ȶpYPd::{MG`iy8U* (Gܓ6#$w4QШpDEB3#zH<vZJ^#tGq(l=4/4x(Ӕv~[`9 q>U%D=LāSzh}URog9<'GތڏWZD1P;mY>~OlU Itjo xNl%EaE{^|}̈WpnΝ?5p4:XW?qxx&xȔ XPϛw| UP]z_ɫQS\&',Nl5a00~+YydskX#GF٧a~I֧iCK}Z=r{ $ $Efi Em(5s" "_"P@erfF(#گB}hX'tpÉ!Hه19Fc8BU=M -/6ܢ@py8-4m_VC'e$ S~U%B8 S?WG;eO~ 톿d~ `W[C$ɼ:אaR D) -lY"2,މ7-\JeqN\>6#s e`n7LRiw%ƏB0T2ޔ͵9ā[4N8kK bZ{>&1Iձ ^?#*fɛŧ[kc){J^.PI\ Ě 19ﺱ(4:VꬄmLT6{)WƆ&QFlYFI?26sx_oũq2S@mozEfގ 3:TK)Ҭpc"IjWUa4G{ᐅ!.2b6M*Y1@%WGN6<77 ,ڻ|ۛJ|׻WZT =,OgN~ceڸmsPpEG(%"u<1lD#l:Gs.X\ԭϾjdOFvXP"Y_?ps{F%aἑSD-*uAGP U8 xh /+G.(_ݒR|WsMShl=m;[sLTk/V`.mgܬ*fqcktmL==?dKAn⮂&.<^zd](Supr]/ z'S@4B[]pƨ$M0l_e*WtN$T~_Ō 3]nW4Vw#*@4&qf)J89"WK8X[ՄfdM"~6Ka* <*  \^#)C?|h}7BߎW̯2l~|%.^ eHQ(X3e^p@ӨTpɈfZfL>;p5zё!PщuGғ!NydK.D"шjx'b4DX4ws%\m@g~LhiXk]ZQȝ\;2w\+`$Sil'Yys,!(?Zۃj b$~cU>t+yo/|?F~]zg&;*X'54c3RĞZHCd b]Jlf"d B`&G]/(K^W`@ַr]u7@?8[q1ujwǂD;ՆŻmfy[ɣ&Jju,~d"gy3D^)h6QnGN->\~ se|'ZR#nxt½%]> O[GUxA[Y(;PK})p7R/">vL¥ rM˒Owi╡3tOW^|vI8b=d6?TS2W]aL:)Gl X)\'S*=̜$בM(:$#=Td4 -ԡ󑗻i} 1OC~ =ٷӽ3bڕSEԨ0Zғ ȁ*2ޞPDMJ > SߝUN{0fa{ S]orئ8<FF5^f;1DnS7{dg# 1tqUD0BsW.\I:ND7 Е.ڗDe٤c><|dNA [Zh^T {J9Y/*^~C~ ~vT$]Y NcU8F?ZtUYVУaS8NHhx~'VxPr?@Eq;\!_خ[ =ȳ}d ء@CܭU6',P8/&uCtnG(-Yaz|?#6oĴk*|6Jn33.Q:hM(/cŃoxς/Xhн L:'5i@ x;FU4ʄ>{HfojmS=;٧ ܧ>_g-{ɥb9RVU<8ߟ@EҙcKܜ}uW+'Lwd"4{ %ʻeb3YxSZgt 7 6['10U| q'Ld!f`\a oFF<˒;Z7MS_";2<:D,sÒ;vr.lz>^ȫmf%un>arJEbK.U6j6+^$5^0a<170ۛ/|%\Sy!6yWs,3YGERQ ks-]vyً]Cn}g*% U[m{gtm`nڜ#%%.5D[;>2zIVخIF4 [Rļ Tx7f ?\.`hHZcyZ5W[1|y2 I:7!@yUUy3ib:-9ص(Gnm_@'҄!`Z#;wSQ&dH]Վs4E;hn4rR' eNU@?  !u+[-}tFr|7o9p!VWps5RDe^;U!h$8l#JWÊU?s4mB{{ 0k*m&>RY;y\فQG[ɪÛ[`4Rbrǹo{_)ak,$‹) Ǒ+BxQ۫/0%[ خb,қ|qZRyNK~ {ʡ$/p-E^9~eKRZ=4\+ϧOQq P]KWDRhHTG2A3Q*oQʯ(wUC'y (d!7EN:!H( .SDD,+A*)65̈TiXj:K+?==E 2oE[Qcӆ>³83.]5@Dˏb;u9@EGe8Gw;rE7@n D:|G— &3t̿IOB z}m,>o[YnI% l_Jmgk9 ceWa#]05SHP|vuj :'nm²;8?Iy~^ѦEGa<}MIS$XIхޓjTf$K8=9S 7hn[(Ry>EE%Tld,!<W1w-=Жo@ )ٓZ`SejF]N#$/g)82" !LBesc?zsr ~41ī&~\ڭgQ00qki9{aZ/RK g 톷!i|nQ>q.ºsUv;'֫ KFA^9:=LNa*a?p `m Q<9"R7dOhON.Ψ>Kn BY>?S;.+'Gzts҆q;GӮl X }3!J$G*BmQIlqa 0߲WxiMqx0iE%{/ h*P>i1z6trm9kֺJtyڨsP'Y}V`UgD6uj?w«%g`Xy|Y yOÌR DyDUX8V=2snTǝq 'Η6쫖 D9M=ld໚C.4*p tTV- j`ޔi+V<6RpRntyX}6#0;Z1p4MԼOic/p0 5؁Sd>&ۡUٶ++&l|'p枴XYe ZE&BPfl91^ܥg(@4 s ?d:pXAUfL{0Jt.ǂPDثvP5yԜ(!h WQ4Aj$05'_wppS<>RY*47 +-֝ƂX]|euMʥ:+-֙9Ux(7SXzo80m_uf/qG![yh+&0Y- T7uh6~130É8GWPx8wQZqBVl+I!h8@P'.0'V3z⢥> Ϳ?F BӎÅ1bF|ПK[zf4 SkdC"U07+\rjc˟![fuVn!TMd>G+lNACۥנ'Do][nʍe+0sPK}C'׎#6$37˕JY Has$BG`c3#ǏyG JhAB4 BC-;gx-'e*̀2nVވ2Ҳo^X;u'q7e!l5 _t)0kvQiƹ=U׳!R=F#(ES'Rכ'Ζ d7a{&Ё*LR|Yc4=ku4gWAe hMeTVŻ9V@޸5exMxҟb DA񿎶lWfYinkN\q>{=A\,tΘ53s"[ܻ4gXmpᷨsC=7j>7i[zO5>mO_ҬZ7O ψe&0֋h 0`6,L%С%򳒢v33> s;TɫѯH& 2sR?x~tRPڡp6~ap@"Rlݘ@ wI !Ε6Rg:qMqniν0Jϣ-"+xT*tAc(pga<{|v4ݣ +e8f(׬ZD}ase+djAP1;e%T""3sSS1Ps.6Gd 1 v7g "  X$MѢ]03D9x'ي%F|2AK2?_o0k=N#C&~Flo'Vv%|:HTMܾeYzg,83<~]W$Yom#si;PQp˺gl F-零65+dP[u~R B@0樉Z~,B*%XFDA_/ȹdzH#8v3RC#佢eNEii0Ԅ0cbpw+D*) 0)LȦ+Y$l )?S}5I^k\9VuΞftTlZ;p53{k:;Z_KbHN v0#Cl Cݘ_̳lGY%=M PAMJ:6,RHA d/+RrT!++LV /.Mw.΂"-] ,#;LUmCF؞% q)ҕ wq`*~Q5k*9/0T$u -< =5 c PLa ֞ C"0r"%(eGV@lcE:SU&la=zci|.&KpL!l) G JK(o9r W:uR2 dllk*)7LG 6V-&:_@{gV)(聆_'6vքNkr -QPB $_ͱ 6Rڪ{N, L4 ?FG)8 Vjj  /o9 T\TvuYwTa!1%``?na@tn <}es@`?R,Ί{<|vRz>Ut?^H֌mN 8svA^ CA~ͫ%u O)_B*u r^0TV) 3/|se_Ͼ^%oDQh{h( :-eө5)W'd|XImP1fE-&\A~߈g^@4M ;ج~Oc)l7iۜ(E:[$.5.URR `2S&l#m[@hD?xV~' OlSkZuR$6y@{ճZ7?~ԁ&ϔYH$DT6@q5BG2Nz#6X'1/-5SluҭۂWx AO ??GL&UqMb[Fw,Ie =tl ӫ`WN䥗T&cҵ e/FCυOJ~Q*ICeUYKԣz-PGQ[~^5] 9{ErF(S p8p4ws^ ך״/5eitlgg͇<%*}vsG@JVh"PJ+9Rl J*#=͈oM SIQN3Kwi\{0[3ج0Y\NM <ؘ!4t*\-S[UEvL5MV͂MT[޲st{%@4\0\V;ռa`7i&]`xa S{? t; ~]s&T;!ndw9#%LzKjT%#VN{< SXyzCcalsLBz힥7bG.w͉{ݶ 刳UyƑsl!:," ,Rܲь ܺ%?<8O *p T: 0E0gɞ!qG~)C4_6Q EUW8[XB"pKו,Т$&-G#0Ӗϸ1y#9e^b_I #P9.ǥpY]Thz@ori+HNH*2*>by$ջe$(E)x՚3eR1 n 'N < hY%@NǼr6]TR'ݻjI &󁀻xxo' å2&,%y֥γa cbҷ=OKP?n໧cdV +,}&;^o nu+@eF:>VvoJp _t(H.Ҽ2EinCAs L`O.Z #8Y"*4^600*ʧ.ֺy2)r eHCDGFЩOÒDž|YeQlOz2"(3긲Wd̾T&y3Vnr{:/`$wN17%&ɂ,%;0}{g .e-.4avڂ@].l;I 8MSy֮kȄp1[kH!CQ4z1dCj HE0R.]RYR…>5T m +/_4`"D'گ@ BD5nQ?jFD̚fi4^y w|8}S"qg9Lj9P{#HH.OmT7^j Wq)øf>RrR8Zhޜ(`U"wD;!:dä́L )!VZ=ϓFto3V=lgGRy oMˮj[^;)&hU'c~ #yp|O3,H $;o|$1(ڍvA>}j!2ƺl,d_߆ń迲(3plt'K?z& -Ϥ'ᙬ&YVׯD,}3I{8_R+@&No.ݖ8u^_@/F8SJwb$N *YѓԡX3K-OJH̀^%SL@kw)5ۥ׽4:͕Ŵ{]F@4=r] }ëfH-20T+q1S0m1ba$R|J YSv\ >FpD4Zz%5i7~Mw4ەEĬj3Udt D?)ɋ>&ϰl]j}OU$ _!gX΂^A I7`d.=^M2cP4Bsset K0 %ǺӣA 8%4,W{c}H (B`gn.abПa*QS8IWpIu I:Ib*@'"%mhv{JQ|dly37}VĕMdLHU5U/τGeV7ARu%h.ȉ%/'[I wdTBU*0t=\YO=!4AOr}:cꞁY׹KMPZXuBsb3 3L f0gL4Urp n>$Lor1FC'pn9Op#fe:+$crq9C#CE錸)Ѳ=J\KOWؽػqf>NEz⍌^a zA_\+MLv1(nxQCҔY-LIuq|D$IxJ,5Dh0{'i{#BH٫k/&~vq _Er1uVk,!KqcLyvv2˲ަ0l.eUmg)Gjj |Tk';T eWnFQE@٥dz(kw[Hw EC|t3SWѺ4b`ŨX[}^ͭ(V@>WDc9ITmךv%-]++tjHIe&'ys a\էn`?y;O{ڂ[[k{,{@S24B$0{mw=;Y.j$!K 2T!_ZN;%+B}No"jK1LW.ͱ{mXCS4 [`宯I5`c#\-KeQ}=̶CZ)66ˆ=J=˄&uY3i&Cr09[,[f~r'tgZ]4K3XЦyn[~B~#[pn(XiA e)Sy Qza[-v*2/Ӆ,B;[ZcWAfF3kTHN' 9i =4\L!G&u2 І)6+R9"?R_IC[ P1?*dZn7?@/IZO&:ebPX2c#Y͗S.þn|߶^Zp -%(NUk~OT~Iq*(c׋Oly2CրNm62-PY>f$1tS!ʔpp a4R? V;àD=S앻eFc0!@_,Yꩅ/h\Ё7÷V8'ܶ=fa)dqLJpHv0p"xdoU"P Y(3[ yK 7F'ȓed]+)'LSO L!`W`E*WL+IQZC zwÄII]e KnVNlkS1,~9pPTI$Wt3'LYwWr.(])kW3d%65w ,Po9ŵһ֎}͈XPQ>;YiQSJ+eуEI+0dp|+=nmtAж[qJ.Mj7GX1tHMVPQ  (!ڕ' #[Ik:rSFNAS̾g|WN_hYb;8DƖ/Q~T@v"#@/oď7W>,&^:+ ]98 JM֓G|ElrM) pJmZW%"Ώt\ѕir+Ah{:vULkoXfe!|C>m<I]b}\3, |g{q*$[ v"r ^T|u:zp P])lk218֧FٓRBZrdyp.2mlԜK:x-Uy^B67۳ɽ1iYږ4Q$VskrP7#ͧ;r_#AnVK7y0_ߏ#pݟ :S}SJ:?M &.%4:q4U)ȅJTeYN>H'h|gHhfb+d Xv!S=PNg5FCW/F !e[t4KI!-՘=ZZy}|px3" '35xߩ2!fBKrfig Jf&un?e;"f^iG4#*tz14IuOE>Re+x{IR|ˈCtʆ?0?;Dbt-¬w ֌ 踢*?//kG:1- LV{$(Xi>[!{(q'Qژ,@9d xRdH+n-l_tI~ǰ$eej_;J Pebu*a&:زkζS @#U8 +zjJ?wr!Iqc|o&H Qz-T:q) m*g]`_wQt4)^k4@6ԁ--hJҞ;T (UڸV-p `а3+I.t6~8տ;V( BוŴR" a7)NR$ԋV2ð/DCl]#46鹬{*˧\K_FZ@ѶpT]΀xDN@n*塔>,T38OBǷ_?:p A@ϳ6hMpܣY-gC?UFKseBL2 9qwbv;gT[UM߶?-W->Z0ϻXMn^AHwi7~uѤ A~WqMKH.M4dRN㔃DsAK2;$Xl*ӻ^r@AKO/VWϋw1ToW:K)9 E6!L/+lnGߥ%MDu' ?.,k!0_m۷=*k@fS,D-#kRZWdnn1U}_ ~e?BatOאPx`fɨDG'̧9tQ>2Ż\B;l˔Y@ TW%wO(>F9x IG2XDݡO$5&e9wL<0 'ߥj:wY|$C6wt&N?<4 HJ}]4o~ K̓`xl}`[t,jt[Eug&I ˺00|`n\lޖPǫP;տs»=G DSS- JNNF/CjOxQ)=_,4$T.fc꿠l5rׂY_GLt1<Ht YbʶWw.4[A`0. &K&hNõIX8gl쓢^O ut bR_h1}>^]&ڎZ79sQ8#gV|SZ1 |٥*@F4ٜ:GؼY8u[Ͽ^cS!m5̏1BCm z"A)l:"n*7)'ⵀbU0͖>K#=N# A+,.&P2Fd8'0uo4Wky1蓡R?ϲD>L 릒rZwdb\:L=R p\ŧInR}S+GЪ@09ʏϰg{ͻZ Z|]8LIAdM`i]rY>U{i:P.d5ewF?DӖ1h2-ŬZ4G& X=djI苾à'qH—].a ( ̅xm)+nѓR61f v/ӪL38KYp"ڲ@.-D4(#3 ]Y5wᗍ*wDr^.Y4qX'glhj$ u6/ ^͆NT74LA:=GUa4 .K{|8\ q"fdKԟB~^d "¡pX;z#>6| v⽺qeES\ 8nI{.(3C%!GpTFV"?pS ;q+z߁c-!rL}a&LZ&kZex|:;w{Xw4RG[kY 9aQQOI`鉲*K5Jxp)@N, GD4}tBegYŀQQA;g.@չ#}Z8Ԅ<Ҕ9?Pu%XC9_lWPNDJSOWƲytP&&#lJn7RG⍏kp6 -M,w=MZl7HWX3Hk|Jv:w`V[j{zQZ3s9ޘJsX+V3m Vmfa`pZv}!LOnt81::$;C_HjW>o4ٖY\;퐟*w Q d¤A <;(|p琪ZUq1Osb!c 5  c3QNqs0sG^=t, \a]9Cv8B1+/.#184@¸GDtWnjVfwGf5H ;*7EYwK"`Ƕ Bš 'C^$ WɤI+cte2\q SR'[:@ .U8&fO@aO_bٶWxUzKtVҝ>gZHzՅj-४=BJtMQnR;O~RkLCR8JT| h _R;C efy .u˔{wQWF$>$3.jEm%B19e)' #ּ+6G6*Rixj?; an3JEt{3>{Ƽ;?d1o ,WUBk³ +fod +5>&k}R7뼏룟}y:.Yl0VRڰA- bO$VnaaCMp@mT͒Vۙ'{Y+q,JTm.vYkm]gsPy0gآUJoOGǠS]{y"ɾڮ+d5}요 m0͒^Ãir2h7D;'N1w{o*d>vtv=+u0IDZM-<;g4@-,b*FɊ6p 0M jh݇׸/9,9`c69: 諔Ȑwl7Dwi#SԊ Q\|ˆ]cLA[hlmbnq [VR/7H&.RdttiٖIQpad a.0n矉6IuGmc4< %ViE[mf(RSlFml<+Po,?|NpA_PּΏH~<]p]|CKY\):_f@I)=Nb_R>gOq('Ql9Y?YL)\%|Em t;Fg=]Cv# A uxB M%ŒբUNq]0y .k,Rem7;,2ӿ^t q xkWt"qK|ZF:}? ʿ\ d Q$[uIj_E#6b,ϡKl!+!n ("E/3 gB7"y0B~t`c(q8t"67%q`2Nb7im]^+~e 2.c2'x2%23xD=t=rXTSErV z&OG:1LMj"`^F 9 ;v;'U`?h: VCS!UAcρM7Ԝ6 -ą O*Duo%gOjS\a=G|d[au-ⵈt4n_~;7ӛy@QIw+%d~S?Pr`%7wK7RK('ÒYs[]R.!3fНgһ5 aiQ喘z_pr>׎|}ZL_B |u!)Bl#.ES TB45QEܔ z y,^RJA)^z/"u^)Lɡ|Atp|v{(qs[=L>/6^.a,S j}M-VٷLɽY_c{ "T5?5>g.KӀhN~qп,-yf: :>[Oǟ'Nvq]ZD-1c5Q(4JJ7Y_ $nSsD\ޡgb1=͜|%-DvWѻhSxԂa>ۣK1@^l0,b$?dxtQjHrjD@gcgUﺆI9pCT9TXC cA:dܢ?"ɶȈN㶋=m#7[kx5[(3rP4EZaJ31Yv֗|t2l X/z*]WlDUC w(N4Bs;euݙ@D}@k[۴"fZd >|EwVӎoKUNBd@Z|Dr܁Hb} sDŽn,RH~Ec~YImH9} Niw`> Re,vk!ZTw kCޮHDIP58/+6rIL\)*7F 񎩓㣕T%QrS;q sÐ"D$3g@gU V3{G7 XKZC>-N0srmwTSh[D'w+a/>-R]jvŦ!q FU)ڈ8(S@E(L`jaފ7Tt_0##Tfʘx!{%%K鸁5QjaXlt)i8ꉳR C DK;m"'̈́IEsfK X[j|nՈpR8N6F˭*A߽d-p,xUb6sl_.v?Rc{Fp}hh l~躭d$QІ2ls< юn|'$+wE9΃õ=H8l>Up\s{l~;O)up,KGw[ ם_M);Bᜂ>PLN  CV9iu~5E@ءB]ӒDuC"Yl-J^9!8ٺ4.2cҖi=cl}tNt*8ЦF, '=7&=+Ѯ:""{DSu&VĶZU+xK9ѩ/|'F[`#5ƨw_*Ո U`tpF`\ӯ\ZD;0t˯V]:` kT+ y4k׭Ǹ;C d*n̨Hh0TƏyKi8No)ݹ(c\M3yY0I.ԴЌVr|[?#o+Y]|^bw@%I=@_ɱtOc0DCweĞЭZv\2xTΰ.A%,b2'QB䁾3<ߙ fϾ1QAH!/{M,1hN58͇ R'i{u?#_<C{ᙥ }ά%hIJ866NiO\Od^ ]=g Qrܙ􏕘ս$&0ZV" ?L]AQ ) 2b6}9B0GAO}w H&m)ۆ3{(S`Mvx6JDb]bCB6Sd1j@P0J5x &r~Eg~;<uOhSW\Tµ0/,27"$("HF`:e [.Y>(K#GQ,qS#qu?Yυi Z8ҍDi0a铛K2QYkҸN8pd9)!рG#wumjRPi;>JSǺVVNUFv¸*õ^2j4QS)J 3ll/՟ٕN8S׃'̾1?h_E˻U;sX?nԛ=KO'D٬FEWɃ?CĂ~<^'<#^L&/ԡ2L8Lm9%-%GSN,ިG9g ɛ0K:$J4HJ 9"Щf)Bg:NbH3SMU?\τE,?Y[A1+1x--X XF;0Ԩ;&-GZt^ҧOFّ:;1::EBuZTnҾ͜f!Vz!ړ)ŀTFHF7<˧m*x򿽎 nl[/l-F}OyN~IU` )Bb2 IyY)9pqyaDE5 Ek8R:P{\?owL(fuޔv1>TriaDȀU\R6N0IUu.Ei̚] &|)~7pHtklNzbgdD$k9˧j!Nb :P'U6;HhlSé&pը eqe^2.)NVxupԖ`?aUtaW{`+(]Fx` K@0 ZSԓysCgr+["  -mMQ*+_sh[':;9kή2 _y(o.Bm/֋ ~b}TFu+ 9zOTE8WG)DO#K{-0l#mWYGN:Far4$L501*Nڒ'FqzhWUY@1(g'䒧ѕ]}ge8>b{8ꋰmY ddWdQ[nEDIR |'BB3n;jQ($7b\O|RA03*3盧*]b& SV򋔁n__|O4MOvL%9sx !O ˏ$!_c\ɐcBY2M _}Z.G?tJ'-olŢh˓4-A2*˭9Ʋ- @)l4Fcmdvi!ġNP/m#R!i/ʪ}Or+ 3dY'E|,6`>">d1E҈#S+JT: htrO/[VAN"^ωĂ`*go Mz ˫'۶X1 | ){D$lޛ|M Gaf3c|']] ¦ҊzUvھ:? E,9av7~Cȡ1;,o{vU>Y7Fg!SnJUKڭ 3PL!dS 9I4T[,`jӝ8 .v5͓iǔ=Άr}|%b,?bNS4ia2vnZ!Cٰ6t-s8?ܑU hEwE~0xCӱHrNg$"4/um֌hێ߻.!l{MiKbwnmjӆ;p{]p4QsAR. ]9P2-a0mWH\ZWZ7wI+2QfmYsVMIȫ!n NlvW_1E~~F\[PV veKWC/3 &b~aa#O'^C *%rjj!cMvo|:PwH[H b# ߸9 pPkrWag:d?:f-*CewB*  }{o+i. w]c]B ,G9`l}&~B~HrMHcH8a0P(gohI&boR ÛrR̉.Ȍg ؈t1(D53s-Qi tf!@Ln,oO.Ӛwz'& )Kp?ڼIn 'TM!r$zNMGɍ78=Ve`z@egdKW&!-nEA">rCj*BzbVD`b$^ vơ|”@0FI6 ^ġaǥ=B]te%:S'o^st {GAJ4ZrUŎ%bb(p4F$xe<G/ll ?xϪtZt8-OpTP$6PIL2K}_]ձ,eWk6:94C ,j5·@~?nRP]M.1xFҤ8rg?g1-Yח#:JHm-uX|oKB ;sdF = ?ǔF[ը&=DešO))X;7Fڴ%1/=LB^@A5y Ex>A6sjɻՊ'9璥soh([Ym0M'g_N}_gpqsVTrj>}!}AZOX'fh!`=w"C+pyA~Y Q =|DS rlSwI]0$+hӂW8LsA(gj"yO9SDT5.7sa,? ){6Md!\pva\K3jI.thĔ9f|b-myf񻪃EVrIޏ(BR{O'UDPMe'4#~4b=CҺGXy4ǡp [9g '([[Fa2Q`2;̹-~õgQ┆9OpY3./^Af5~Mʲq6LoCKh͵ x GD˥L5{.ambWKDd$aZ 7%aJ$Wk++~o;tU|Pd㖠\Zn,]z^R6XXu*#X0:ʨ*dit6ig҇gEu7-3ȆĶW/6BϬiO ZuyBv(^Gt$/-ciùª2r@ V;5C8ɖ@ʾP&_~'*ILJ^̋8jeJBo*ϋ)qOʵ.BdjU;'S48ӈ;y+0\qh{Ч#MdcagQ$1?pY1.LJ"oP梹zU" ci/d#ַ}k2/h%?(Qm" ΈV+VT7oڪ20 .bs*ÇX?U8ٚ:69u椾IZFP+`-˂ '/!h#gڈ ^ ა$>NRR(t !vvԤ+v@ u_'##{q"o,J G?z-}éHi.H3ptkƐC|Yȡ1j"ߕ4 d%K.j2¦͗D=}~9ʲ;}΀Dqɫ` I' `C^S1"\qZŠVY1fBMo|+hät\h"z%rrV B4s%~< ⤮%r=ta{qnH%gvqsN U 7{_'=.֭K;H(_IV7W**>8܋^f=˜-dߨ`o|Ɯw`f~T>tf>8טbLCD?@9rX&S u)hJ#,5t*{kGʍ bǦϰ0jq7)k xL9j*=(n| t!9m0tw<I̷[OѿhӋԭg bIt*X&_t)HE[KI["R scj!ahiw?;[d7@-?IH;,QmwOk|EWx!iˆc_I'igf޸/oew!9+LLJ~%!WwϪ$!K{59&S# X.^!<*JS$ޜV欃&]Yq_Ѐ݃BȐ %f2Oz= / |e@ja4~"Mc'PcQ[{o fee2U]0J4%|5alZ[kr:(;6"_k|;,&QNc $ FؘZl.g]d8CR耓ogߕu-,G7!D%pOoZVg9u[X!pWWH&ΈXl҃0LsPjZ<JA {"PHkv ArhnyX}6#WNMX-=nrhI O9]f%JES.} Ȣѥ` /odx&8^ieYm1A$kbyAhM~LK&ۙ ?,d `!k;^(ZPkKp>`6[ýDVOzi sZ1"U$?%su ۭ8hd j榜*B0T]bnIZ.e <@;M(!1Ô [ASf.=kuG&6ՑJ) xrt o$8f<o8T:l]@QgH$N-ϸ|?F $ -*E:_9Y̆Mא/Ęh-R#7Aԧ߻}KjRu1jj7NpGoM ] +ðNgq^Oؿw( 9Q;@M?);M/ <6f  ?rRJsyf]5XUM"G1BzP?*- 2E0{ʰdyx mkEG#u2dR]1}x^ȶ\ :66qIӢe<b Ebcٵ-+KCƜlAJEd#v0HDdE"mPb?-IX\Ǖ!(9wbȞ*8K9LXL>UMʚ`)^  {}V(8P 57Fn(TC$m1j'Y9 e-cT-LȪ|ˏe5%:xПbɛzE5rEӮv>С)(&k3 HeDBw n/H|_gІ;!*7κ]IC!x(<*g9 c_r^$e[2<}w}OsJӬ"Ti@VB{Liα}K H:i|X0/0]#^Ym xSw>B7)Ȅ:6/&}3 !dv!SwO# Lb_5' r7]̷/ W3ܭy>3P Edxv%488tt8vłbHp[2v+(6YhB(43=Dl->BCGOuz"='y&jیM4DF#G{MHiRv!k8x+AV7g2&‚K|"]q`Ĝ8u3`81g%j9ATjG*lw#ј vW]A2e9{SjؑTҵH.y`H"ÛH91T+|/ OU]x/-‘# ]OpV[b, T:#R`9ǖ*)Rlj!<\c;{u-zf\;NdB40tX3%uAcۅ'dNj{  ʴhfƾw^d6,Jz\G7z@pFCWdmsbYUmYQmdN#L9-!BY~&'`M-SEbRk4y&@.T%_-^ apM =br\&xnCkxퟯ[_0n:;>(`Ֆm*dUdW JazLu.`GVɞT yrVΚVlԖ"[ҺHɸ)+gQ׾wcY^k;OY9e=K(Uon*F{B-d1 ZHT`Æf+2lLԢ?zwsctr,QܱEfn;R U&s`nkޢ IV %n[JWuVmv"Aym}w)m"r-V_LZ;"yۃc陠鲿8[a+REeD]yyרxqXMqz%b=#D6ǧQ\xb1C RlqhV \ʴOLʢz '㥩BeV^bT!]R`+Զ^Y]$k%Uh@(FA&{Q(7'&b#y=}5Pe Z"يu؋ {WJcq³B]~zbMMs"\( +C ~/$x_79h@M[o&ˬdQzOa:JNjncuݝwU6/mʑ; s75Sz`鷾@yк~ڞ밧=o=ڗ㚤O-5,ƥ꠆23ц+;q2%VA>uq-I@cu^:'Ciݴ"nAbmΜ|8uuݗ9]_U$yD 6sTRH(/dxK7Uɗl "w'3R\bKULէ.+{7iǖZ;uFw(3Wi~(‡u4R܎ Xb+uVXƥI&(ڠɲ]{fG}-:$z'3#6\|\gKӦzYzfh^;% ;@..?HMJOGº#wrto[{%r=} :VU_n OI@$ \q)RrkkEeG~HvA[?~Z_bX(8kXG 5}B8k x (@/=~:Wd"qRGy_*N3<[|aZۧ[,Ҟ"()2yI_,RLlLFr؎>QEо\'Q$eߋ O"bGLڵ2%sMi+-']Z (f) 7vA`I\n1|yQl9qm" ܤ}!rG'LqA]㗢}Ky >N0NSwQA>Eh@VV'C&}ksE-Pr)0Tف\ ]+$VR V?>d1'7% ¬ Ґ֮w5 AVId͐BOŸf%@IA+v#Q*C/1TH  c%|XKS|:Tv5q(jS( &ձ)d\!"LÀ6Q@®>zi'7|!jwa'#:$x~gL;vV:J& غ{nK3\ǃ=c.&2xq5ჟ 1``9 қQg@\f /j[$MOLM<'NOT_WףRV=ɻ%Ic /ժ&ޢG92 ypt5C!ɥf 5٦!>: y< !"ND^ '\3)C! fɔJG*ǻ.FKͿM既Obf粆H! fkIRH!!$6Hw\D6nd᛹Jx_. iw[=Wi"zk[qsX ✵#[kmJ_%4(3o :ySl;0ڵ!v`9 "@p{C~40jbgHlѸ$ok9O)]dc1 W _%@bh"XBv I;lL:(,'+EHYBk+;JC)p&p1uk|aH:AQ%\3n::w,%o̧$s~$ʥj׊Q&3<ؚE<`R)% U#͋osDǓFͺ ]pf2YSLwt3B.# 9}$ުgpd'g%7ɼq_5}⾋j.cc4]GӅr|`]1[J[ k#+_q(eׇ AhCy;;+gMNnHJ77tv\r< fOfl ߷i2Xrdŕ pmD)ϚbT.xF/JH'P+X>e}P U1p:4.tr,bI sSyhӐg0 RXKRl=B!@(3גlJl 0BvI^M܌EL8q E'!#U<'99Y^&Z3|sl\_Ud|P*8hD wioؐLjvSI{7k/OĿ oq|ﲼLr5E^`tOKr{HBřJ٩!eH`ς; xq~-R$4|kf]1:=t.hԭK[k%AC9AH:Ӯ/c\֗x<|t;G6 Ȭ;[׏5<;JfEH,& eB:Vk&Sw+$')./H[1Y/=|HvJz} "nDۍNʫL/޲*[v ZEY#Fu2w#uK0cGekXCbP[e槇z\05;wŝwa+t8SeeSTs\9]e'CBMe9PDΈM(qd(eiz19X e !zTbc"7YdAb\N13cg!0^ Eep#ݜecn(8a}@4b:weV|J Jq ӔCpce }456ŭ׮V_+J%PAL?vQi1Yx5)5 ̪BydWw Vml@@nt4g:$,ρG$#?9!iY̏F ܴ?/ö+K+MG P`%CaድAWrKÙ5jd~h_)x~vpwzބ)2ZzI@~p T}U= .]ks7)J|}XuγiֳOnm绿QvڽdO _EäG=gx'c0u:U"#+- \mP*SQ轲5)`&ÓzxhEiė!AZ+f@BM̱OlnJ+4/,Wś90|*{"^DLWcdeڄ1o8+Mlх#C>uiy?y xßkSjJmJsC3 WqU.= =ǹ9v . H<_[i!C۩\9[tb+B mUب@>X{~ATܭi=ͮ(CΩ( W#$+Q+ՠ-R xNۿ>di]p*6%0:G_==e >ZS{0 LyHD!@'Yx³ j  uAG%e7&_ʬ9Y~J{QW~Źy7ɠnqfՏL?2 THN;2*?*CeQRNXdIZvNs5Z %Z.XQyxATi}>E_/,.߱5^KB6z@N3Qjѵt&'iw?x(-n{mo5B\a3W&֛un]vI_N[P_i{{Tv4=㹅lw\"^5d+,.VoVծP@*=+N5=1K,|3DYۋd[b/YWTvotWA!>#qzo(ɥٮt3# Vb0U?V/:UƤe^ mGIϳxϟDSnPu㨦Ͻi3(fJ^Hb T_ _`ו/a.+8!tj[er>yiqWvnWFmKSV7=>̓ &UܩO7K{OJMe:+e.;Qv&)vwʣ6ɥ[["õr`#)=C*KuDߖjvVPc}%% +σ׶zmnȾ6AT716s3 _K-Oҵ:7*0HCZK;U;%tno)91A$%rSür&@^}LK u},6keimǑB6^pRpD^g+d\/R1W',APwh0I^YGP>h6 ;7O秢Q#Yi A]Z|60 SIqbý[Q>)b p5TܩĹg"@wlNO2l1˾ʜ>΋}:\,(=ev̥OaVVN+&Z/CS\s.$/qHR]GPn㕭[\Np 1GBDPW_~ V 0=-:fi"Yg##-|&RIgDi^>bv?i'mr" }7Kv}d9JF0X\'WUC9#|Kоb}hDr`f.6c6?m \&p]]caM,uP&Avc;~]慃aPUcR}AdAd* ; dZ.5"V|YZHQP;ve|kHïlpqsNă >{ de\$3 y}6a/L3u o$гFkCN!Rt\98rNص*Ū+,2Q@Y/yYK9_0xC9~MG:g0_"LٓJ&xǮ&,"DF1,|x 谒oY,jf:r0*QJg8,ʋlvdX~ xPrp2ZrW[2ZrN;v+}r$'·ѪрaDH2>p=k.Y/s 26 m,5e@EwP1j2wbr'RzN@쎰N a8}\iAV Eψd$Ң6THG3&kL 0|k)23A_1=4(~>$Dc,]ĺ';= u` 8y>5籼fSPV!I%ru1kUf|~aSG?D_$K}$R5QSy:&RCGxXQg7EtD%#@ʎDCqS/7^[jcc֦P{T3̬^Q %Ѧi5yv K]+@;4~bGlhv&Tt?gBpg45YgB كyf3!p'7%R=d| N0Ǐ;~+ffefA&Ng1>ܩ0L숉WJ-eGW<fiKDu< mdĻF 8+rx9&Đ92$h#u W)5YxTs}'wҐ8'0e\YBJ{6lm\&C#[xp|{ 4-Tb_s8H@.G;G#dzڍ-۹DΝcP0_=9#XoSx{Oc7 2ܸhfO\z0峑B֦*Q(%M'ҽϹc|8Φrm*u EjBTGL *2^ȌuT>Ӻ Q|u+^iJv=K(uM^G^/w},MF}ָNK5 \5g\'|/sśvb9@O}V^ڟz$FNO G7@el#f,8!׏;A2БUxC7 Ǩe:/+ {f\0ԩs{-;~LB  WږSQ 2z̼]K^ጀSV 㻊_9kksIz^ZL' F7ܷd! cd>mdQ 2Z6@^g试.=qwV%lB[\q@ziP/"ِ<>$N,5Q zp$tQU*C/jj$gvWgWQ*uuכ'mqaTGGFB…3nXtY:Qi%@+M$1~gJ{j$kwAmeP@_xˠE^KB߬o6A~Poy߃ )M{2gi|S'>@)VO 6x!1S/{'Voq,3#gƕIYa"<<B]#xtVVζfͶ!}>v "_bd.f)ISDKv׈Z1Li~{cG?mfN]{6],nblj{W H9Y#[3;{hÃ/&d*Nsj&F2k 2m+fΛ_3aGUoŲ`o@ 1 \5tS l,SI49>hL9pt}Xr^nd3WbI=85qMRiB %Á&reEnΜM1a}]2P{<̗?5*%jeIK4NjÌPE5%TUUtܓՃH 4-ǯvp1_r(cvx#AVfJIJiI߯,($MS!Sq4>ֺnZؒ~D :𳢵@v 3Q&#Pљ[֒wh檁tc~껉 pGYn ڦ)=XWdm-iaqݭ `$mNANbszѭraݑ'4:Ȳ`XH.x5+93+5n|A: ƌ~,GIxlƅp&_%x m¡kR#wb{ȺN]"Sj^83IC,M $Yx F+\.JOf Pon^W$鷾F940d<78j<4ZTVF}4z@c~j}#\; \r[ SH}՞ Z @γgޤ1jvY!YZa~X>MG[XOmLu%)ZI:?d& &HMgYA$5O}2:d Iw: #2 6$30w%\qӛ <F/~rP$Ty, ZHuܶ ]vEa9IfF`Y\6|ӕ|Ы\:i r{$ AЃ3?buqR4T1k $5c`Q`Uw|hF㓃OcPÉ5G"B?~f1^qޓn/"ОeeSuHS'>&Ij|Uٸ l }HpCel]f#(8T*ēPrW]9j Q<!*M8,Qlj.,/MhbIPGC׈1߼c_}B>Ŕ#"cv?T #E@UǾ-3UAt8 18MaJ}-Vc90FZn]nNl!a^n1[DlUl#RΑI0Yn,`+65z{z%ct[W/p["k[jXWA9漨PyƽP$u,&q mN7F]>SW eԭb3f5Px"O7+F)(7ӈc6r`!I[]?kC2>J*N(.pΗn ࣴЎd^ ɠ40/ɻ7 ysՉkcP/N hY- qDK+Q@BF&c,<1rymVpG .:Gd>DGyVCp8ꩥ1u%b0wBUc+%8^ԇơsP*];:G9P̯ypEf߰IlvЪVxrhiSc4+LРCAp2E(&W]i]׀rkP cJ$aF reZ B9W2An/9O`k1L4s'-ˌN']pzH)ˍo~#_>-M]dDXAw%Zj23b(hJ2 #4f|wet'd ;Xo !DIxu86 "b{N((?8"l?zlOe>ʀ'\P╨kC݀7 eOYuRs;p%+϶a%m}m 5VHQQ)N-G?x_-X1~;-y?$Y9nn}5W ,3+9WGT )[zDp!_cĿ^y+oޫa* K[-Hrs{ǂ#.<uL(KIze,>{UpUO]Qc!rt^ w[fj7Y …yGz ])ڣI53zUN(՟~&S̔'HSd]H K( ')(YEjY)߫Q9tUQx F FDB'.\?J2wlӹO3rD8K6$ 2Rt4CM`p1Źi~U+lHS d,Fqeᔨai*!5w}+ }c7v?jıv9J1 )P] xz1UOY/) R܏҄i 0{ eKMnd5MHA2X fzq;[\yE_*P]1x(ۆFa2Us<%vn\ȝ"FFeTV2{݋e8Mj78eo5}Ce?9U8NV6=QK;cTE} o @Hx[M䅛z@4>g. ZؼccKt}Ь4PS7O#j\W 1o>bvL"渫@!|UuwX߄|m$}RaUb;(YAd)8MHe4vybȘq^"-n!qLBzS>XX> 2X^"u!`1tu {e6CP@hK!510}}1 3 uEN~1˯ru3Ås?zUiyKYmQ/АLtܧ׸6sg=."Y*yhyA3hJ@ʩ\<4V $eΡс.mX*y÷ ӟ_ - "AsLJG~1)AzփOd+5&#iuK?!rKkEDn0c?6Xb߽SBQFikKZ;(h^FIXPAnd`vCYvh%#0%|z 9(}6_I!$ݱ-D͢DW![t;Xٕ[AF~=ڍ}bd!2O,0([ 5Eb ݽ>z s[[V3.q}ڤUk+&0UvzcAQ Tաj8NKd6oP'-p67'[BoyOXQ↞;|:A6^ByWſ_[9)1s jp,TǃBM<(F5gT˛MEX+ TNnD ۈ}o`ٵbD6^0lSؘ{e b>qIJ8/ao>gUlŎp Qq_d1rpl.LS%a1mvƽ?٣}Aj-53^&+0 6A~lh-&O9VI-$);c)7>!AqM#ꄲ$\7nJ)'<Ɩpn Jо&JFĬ pn{- nZX(q|P硒mse3!t~*3L8z&t\Mn0oxbH4Gh Wqgo$!->'Ue爬a{L:05d\>~MqkeGH8u,^x gtW%3roɆЧm{/JT>|r>*.Q:%qRK):܋ `J}y9LPJX E w1?Z(gUVrL4G1a^ uרMuYhӭ!6vID:'ܯ`,o5/G=5/7Dg뺝)=jW *V]` @胗9fC(Ʈ"tq><'S?H.0!lׇT.EubB<+Ff6HxܓKq:1 =:^T?K^*"\H}q𖻐]ti^8v/F߯Ӷ@i8KE?aew6©7PCVk5YAǬx H0w5mͻheɶpD Z2z0եN<l7uFFX'EdFo0j @G!VL24Ig S\6C '֨94e![#{!()h~=@P =}GОMb}xӊ'Q)bGа<05x`>K!_*<7T6!a>H5Q!eA<;}0TXze qJ9VDfm{CNTrg$mc XC*b"1%W aR:-=^t T[Zq^jC mX&'c8 6К⑘W>}XhB)o.|(NJ 7 MGSUzyss'\ qTW5>]zD#P&,IytHpb~!4ZWgAFOl 1K?4%ѽʱJJg"ؙ`.hG$mqQjd]FC #뀘)" c~/,eoTL{[)oqÅT,H(k$e1V%`DKXe8蠒 $د9/~҉bP{ᅎ qS$| wl ڏOAlߩ^@X5<_lSSn#>⑓$E*(qe t> @UgfdyjFl$‚{nǙ7Y }Kܡ'̐h moN}[!@!V\9D)7Gy6>'8,R_6&}(転$!$_~x}Q {]*1E)t^JlR`q|YW A*Acm%1:iDkd7;gRh{zz ge@J$32zRhgK"Ck-߽֬K:Œ :F'yc-)qLRFGK0BOH%s_^H]CauT' Fd^yߘ>&Rkw>~i7-w]* _2כ/ABg]]1(4n] #K>DiKw:CE&;-a?m`d֫+#R|9o|;dGm,lXN7syֵȥcs^ y#F%g22E?U 0DRSVуTc^dl{&ܠodgb%?<:WME#Jrs=TP0P GG.u].u4ڞ0 9L.ڦQo ©a"QD)ME$YZ{:ס#RB+$msƒ՚А_`zv[?&@i|ܭ^H@ą#dαLzO[ןHѻXjh!`OVF?jҤ{2)QeOq2qLA=ӟ&ͦWُs~7qWCpr% 0$W7I3 bԁ840׺ A+ڊdkvuk6i`>RbغԦ=?5 M,ю?rr!`7`#Fi tZ.,Y~D&ە6#p *`j۸-E[@RU5pL#llR$Y#D"ǐ00N>_]4P2z iF-P}FX^h [2Ji.4hT' &_SړnŖ,)d~=5tD'צ~m)R;)rȝ+[|SXu ݤNJ@ĨKt#4CDQ/ &X6isM"NRP~oZkU xT/?"4jR2u"lU|+aQmN2@&0CY\1A sSq~)i#Kς&Q|;* |ZHjKmSzq3ldg2%hx?P}" ,!8y-F.DP)r[}2dUmθפC܇| Y6cXL_ R÷vA+2ȚJpe~̴+I*VQHpFCiEx*Qq7%LS겛S)+cT 'g 0}솊T箲:'[!b R(+}K}B0)SJ;?0*Q82z1jܟ\s #jshRća?T) 0%N wĩؙ;^{+hrs|2Bu\${gf͕o Z-3m^#HSCh*Uxj|qS_.qbpʭ>ڏlLPj~?F.nVҐ&K.϶#"kIBt9eDVA4ҳ2;зҥM%l{w=z74c &LURG4WͭZ;*A NC@X*xkj.|b RN)V!eyrEjD QVU=I>s212Ũ_sh;Ѡ2쟩M+¥q3J+{K \WP9THr?q˳|s}BIPGP^Ph@FP'K |?+2;' 8h[z)%\c#])@ELpB/h70s |; >rTaMMUEuSS3˼^^禹U.xww(!-od4GN*@njhU#.,0 "H /v7ip㥶 QW~G!LOzyRa<([2X;A( 4vkXq[8J\$D(;O-+w}Te/t _H[x$ 084F3BnTԡC>+lJ= kR5(Ng֒īAP+svܕP ;0K: B4X*B\Ug|`M\)^%GWY} |jɹT7pNϝEGN^ɴGkiCt*O8f2_6hIu1:xRD*,0u#'#aɝ Y,YcQ0΍~NpEwGCTy1*;dKh}Q | vG]VkGWբ0F2 D5HI X["w2gҷ+EgcLBmD"@:$ގmDiȳFD8:T]Pd>ښ'@E$ roW@G䒁ǂEqLp* y -w\˝кۘ*O$NnkG1_K8)qDK@\ 2*/4ss<}*^UBɚ i}(_PyŋكdJVb_Ҍu7˳ R` (ALM+BE >|:6 ȉtsLu3I*q%+>˅}mG%'T 0}vդ; 1+eHœ[yOBV҈Æ,Ѡ炛wgs(U%sl.rVY5$=޹O}8df({3zNzfOw螧[#|r BvOf{S42IM|{N9ƅ"󠉲tFq_QuA$\ۉe՜(MV ;'H*W$T%GŲV|ug<;2Yk{S65tXOQs$TJgEK]Zpϊiy#]LBT$u4yH?"Oqr&Mfk (34 IXr̠ b,B|\cm>6DW$iCSv-:c"3ޅoO&Ia Kq.8'&ؕr l [+<+}Z'\YT%t,̓x1KfHJpFh$sLe*&q҆y' !wȞ PdB.[*"llxЍdv8Z xdJT$OG%F{O)XJDvw>hj_u}vL`bkhXA'\=L9( Ԍ_)z.wdAWřcM db 3)qxd:#cVsՁ!, 9"3<3ӋVۣOȼ*6ZYKC?9C뫅NH ,4¯yໝo&Ŝ:!n|fnHYhVo#gelvZ0 b4>y2~'F'EY_ǂbkmWU) b6 ߫^/ Fmhu8@hN<5B'"&js8Mlt3U1iX$7[N|y Z5DG,#E2XL^Si3 w‹k8i9%0vbR`vqZCEqOj r4 q,Yb̳8l{XM\7J+ 4S8=4;1Fp@^z$FhSߴd9G΢pZGZmh8E.`aCłҋiM51$L,b?qʴkQo7 VdVߥ~Y)GO R*/PQS,f2e4G3)x#K 7'ZZ{0! h'ޖ+*H($ǽ) bzu5ߑ1ӝG'$=spu<+eW. ]M)#;- dd#?Y;J4= 9+7Ì_1`_ɈA9~û-ON]@ٲKɟMcte2lf!8_iR5Z7}ʓZX AYPŪLOw`.EGCLyOth C4Z`3L[`Id[6 O)DdjYT)ZCYJb.wnJ'}gθ0n>T0d1R)\Gcxy=Uk'l=!oJ_xJH4͕aXW-LZ*9sԚi=%ZY\r +ǥb,3 @݁ W|DʜiQ2N&ܶ gtT[޴80$5BgJZ|_Ϻ&l/_ʣ UKT:%$a2$^I$~MBEBEצDېݤ_%éSwh0/u8wݾW(hFwo9%mr:6o,B9XgfBp?&_p,uS"hA{my{ =4ߑ%jb߉zhGܑ#s=LXZp)ɋ{ G^g,}%A2j7ÌvS;ُTzz'H/9DϹamYŠĬxFٺ4_7á_{畠yb5L_@sN"ang$Nj&tA @Egrx' |ZyCTD1n~cao."h,R0\qT< X'W Ts`,PB̖ipn~˸eo>v\y=  R{r?L)@sΧ8-sU)K7uąho#]<\klH(aW.ƅYxbY9^l9|E.̂KzIL*fWgT^1)W]':i+.yAsY|`؟C]=(nO {گY-e:x'oS^zR9ȷ 0v O vBWz+< qM27ia(d|-fnSvVoɜF63yNO[BM AzhXf<85ѹi&r3ޝ kaQ_Ao;t[~bRyB,gGGrdA >,'SHڪ`S4z~ySF/Z"q\7z΂9j~s!kk,""Z&w-%+ߞAͻŻ! .t.j>Jq Lyʡ<گ-"bi?qX4#;rq-{PI :3{iݠHsGT9 z>2/1xr54VTnKY*l se&S%P"yzcP(N%}ڹk?wK>taR>&ZqRrO RGЗ;yѺ%@F0|}w̕M1@OZoMWEiRjG$حe $9߳K},`9a~G@%RC*gK=TH)K\ϧDE,d!kzrMmo]QCzzX8- Yn<;OKoMш(i!MwءOUDi=(ض>^^E" ŊD|v w6 T  yM{?vS /+p( 0t[!kARƆLg$Q@ ᵠAl+o7)/adG#[F@:Z"K#h%5@73;Ո/pv.KF΋bط^D!D& 㚖yGZQnd+÷c bP_]q"9 nf TmCW!w==Qiڢ+Ar$N>Mp͚uƩn"B9%'~Vb={UƇ:7̸͚ܮKg3$0& `1ondmj'_F.hjyJ#;?lx !R@!PBΎ9_hto5x&^G1NK5w n}/:$}^TA/ٟ+g6F-t+T$QHEX &GJ)_~]9HVgr nYޚrϙM"q vfnȸNk]*gXnp̒L*gEv,)k|A-菖KNs vWÕyZè GC?7%;L8ZV9ꦬAdl n Ƒ BՃ/,0=T5xCX YZ4ksiM#9v(B'] 戯3pʂ}BsvB&j0Gι]FiVQu5>z$]3Ke"vݽÙIz6ә<7Xa@P'U9hZ8r u"_k1&r[eظslں !qmK7wsB;;0SbQaƽtWoI2ٍ=!vz?![eK}VSoN*y% B}єJAw hXLh:| UΧcr,n,^Rv aPͦn]8;lztIlL}!0ӈGGsI[=X%R;1H/tM T ]*)pŸP'yEV"zQ"󷊎݁]ŵ@$ "&[2컢EV qAQq&b~A*zf4[4ga Ș: 9Op"@RcExG O+i7Ǻ_r^1H`XQgڕZH98*㇁d޽q-ZYm57M 7S(Ŗϑb8|wZq_O$<~Ȗ꿘*U6 F *?zGniy^4}݌siFhE-f>g֗Q8KO ׆_؞%ƛ+QJݔbVxW~#r&2"+P¶p{ͭU7%{6agO?嫹єxleoOeZ*W%M$5P4c1z#S\aK1:ƂG𣒇rGꡛpwx!'rDm[(~"M&GF)_M8m]z5_-?nCDxMzA^ibbs_#!ص =!WԍFr!nފj|Xl‟ ̊em̭[_h 6ĸطd~ka吵azQ!уQdXq<*-f2 ,B1 @xjNs9[3[)ʱŎN¹ZI|)(ԃѷ%3nY\1 !:o#u曠W[QiqbmAVx&@p%M qwcWkDMNC,R[%C}az6$Iv"_f`S@#<۴z3w^ʩnE7x$ӹ\"Y 9imǂ1cCy~xP}#ɷ\._#U5Tv)rbjb,|P&ȏ\%6ve<%jŠh 4mnx'Ȳ k;̸>${$!;a}7gir7m CSqQ"50u!6ddARDo/.ImVgDPYEz8 n{d-'Hqp8``5 #u G5;@+)2B?NϢ,{+ pDG=քoU(]K~53hAøXibP 4ݲi+& .P+wp J~41k,G?$2qjfincU?;fb\1ɵ:yE2aݻy34r9m Sk``3kmt Xڍj!g;BFJhr5V6lE .^Je#vOv$@J,5Fo-"< |NV8)9%vf nZRo"DU$Q^UYaVsFƄ]=YpSBZ?sxLp_׍{Q2ᳬӠD/PP⊜>㭍GkA6&5k:3&Q2Myb8EҿqYV)B R)O8#Ff%q\@;g{y\ęH7vً2n+^ue0yߘ̶M=a:GE],@wjKٰto_ǜ^gը "u.Q7&|  K>6,xg'NWDǧ RTlR[EI>_x>a\&(t|U;AS0/[,g⮗_L+P@kRfE:e[oKƼ$u O{хS1ZHW*vq6;~wy9ƵN 'W*Дeʥ}1u* g; =eϧ߭YHUV>dxͻ8ˤ􏧞gLCDxFj1<5|7I%ս~$I^.~=@<>~` B8`Vy蘺cYiY晤Ar@`I~vユGfeE ;ki%LuB&Ƣv1x#)Kx?NPZ*R˂`je#Ԝ\ƮPe5q?ӅZ\!kʜ$da<0* rʅ2A*s~G ϧْ: #؍yeCe+#-=,YZ=شd Q?:$y[U%`mqDk۽An,#i\.^&| %tGf| XV'vHpvҎwh*Gh» F:LYzyW8wւ{n)_ -Ӯi W&$PӨS٥t /oh0pTHw[&ͱt?rquu0+xE_<4<% 14{A6äm | ySqy05T8xuM—ܬ5H_"T;f 3*:K]| ؏őpt4ujF,nPMSU.H$R2)s$ _ݜ*$U[b)gp')Q4w\Mrjԃ-)4mǻT/z.AkrK7$]Sx5Hs90JR=3^;dġň2sBARtV qCum )z^~~Dh\Rs^R {rݘ7 O35J;|\ s~ż;$n آ(ϩV6AN }5ȟ|Q**2dS@H&Bk06'&^3{630LY EΨ2hRۥ'ʼ<ZmPמ؁ Xf/\R!ABɸ-ֲ^f5i(4zߋ'6d,D]ql8UdC*_j>+nAGzd|΀{ޠܼnG̻Rh܂{.#I)JV Sؓя6$:PLT ' aL=We!pR`x {au'x\CbVwaT64NN1kӐ nùӲ}6Xxd+|kD(q´w2u"U=֩ TAzh# VK}9FeddW2 G<^atbqS{I2l33SL"$-j>EYl0^ yjiHzG\b+۪%"`dQX[d!4I4V<d@exW̫Jv:]ydP;lw`uKK.n+KqdUCA|w(*\Iڍ]G XCVZzb^ fb ^S@Z ռC Z5/ Qxj~80h4u#=)o\EUֽC95ʃ;h@S:^Go;ήzW:QEf['/@@7Gсr5u&$Ou^Zі B9[19NV|e\272eZMIL@cĸpM_ Ox1&13Q6)XLʸTYݐWI6 nH6/!~b8H*Yk"Ts_y|Bt>v8zF1>$4ǻIj+R #[ FyパVɾ) v@[7W'ï>1BT3|3N-żi0\L7-OVV jI P,d 4ZDC"- dnE˩QheNMZ8pXXQ }2UWmne/=u4PKr"jh>?co}?!A.v g7!<ϓ8k q jKn[?n'&Ϋ3{gBqlŞϳ?|+Q ߤ%(C wY69Vn~34>NċX.{gM \~F3r)ZsXz 'DŽ7]D!]Ġ[.?-QsͩFe2kǍ !GC4d[P OK=#Nx, m lِeSKcRR9GSޘH6't}lkUw ‰ٓE*[S;2! h=&rr=a4Sͦ~ٰщwu!IxZ&.mlNXqw|eSץWÁ/D5Mo] !T`+P4>]4]J}.%5K<7vwڭ}R}2TQa)6Xt6^[mjppq5lС?i\R\&ξnG'>;)I%\aK$mIV#RIȔ T Źk/6pNPP#\Ɨbc3~# mk@_KDJD?'[&CԊvGm?E6d,D_ٜG&Msu:NNMt mBD^FenuQCl5ax%*0?SNzr }\;>y1J u+D2;,4!a2mV ZWE )̑xUf $jXHEFttZT% }и[z ̘u<^l*N,pNC .aa]ӻ䅸vvF%xʋڇ @kUMsBlI|!~5=왮(FQCc|9`SκtbY SߧgznpLYÉS-r3/ am]/'oC=8% tb4#P ߟoN\)<(>STZVK;ע ?Z" \.\&-kK]\˓n%wA^B"kNQ_u$%ӵ»q?imە׼̸8xE1`eH[F8D pTavٮrzK|et5A/tu]j!ԞuAjv$Q3y'RObMlk4 -8 -y/)"a~@9"չZ!fv%H^ ;$aj)? SBzdrd GB ! 5L×sd%0v)k,4HULR[-XƒP uZ%3p?QU+ 1.,+67#ίݳY2g`KRܐ$\ݶQ>}cuo͸t~_eC?veܥN Ft&~ȔF'6Z <JX1 {!%| .}x'̝-~8B=/Tl bޏF*v7~'y Ύ-,jwɍ?K Hw(EptӍxPYa MV`I̺9 jdk6ugLxS:J<rN=go; ܙ@`O2Lpc(Rx[)WBvS"B2DL&n%T \gbwj{WJ3: =*O_froņ,|s3rS6Yl#!hVj&7N9^mqγJO"uΡ].UP8<~k Rk _tq6G^&LT@[.$BJɗ.7a&OEz)K= gqӿh$~"}pslosnRUasQ_κzM &cxUݓZBRY Wy5 -MI|\-3mȑxhQeʐО py>Kzt7'*^*'Pۣ$["ۇ$xYOEh=e+kʾ0+|L% դ&=VTɬvCGv\e2^؄I$pY!gIM*.]a:7?r9(ɞCuܻۓ3=Kp| oX vVe3 ŨOŧO^OӠMզBfL,?0V==.R2!л*REpC^pfD sa5i/ԱQ]_=BcYIaʠt c]݄z"W5P>SPT; N4 )AiяT )JW; \YIީ+.'M`869Pt_wl銹AMڵ""<\$\QR,R+F) S?LȺO`ÓV*jcǬL#ђ ] YSZwnً'܎qtnc;2 e19ɜF\j]a*~:,﫢۪qbgu5d<7cƓ>Uudȕ-n 7NCظ1]1%| xZY^[D&?cddO۪w.*=p=SԸ)՗y//jCZDģѰY=O+jL jاڸ_9ͮ¦pN}q>@s5QP*1@ԦqbQx%j$Ko`J#z1FdFWI˄6bŠaUMq޺{NglÓx֕Fh K" b9RLWܳCv^ UWc@moFAu9v.C{06rd}TC o04 'X W4Q wK@x8caCRFF[dw19b;!pa$}ţ܈5Sa+']zbf\~=}$<}M'iJ)Y02_&&e݉ţ-9<3BqJ?!j !~<kj} nF'kІR8{K3XM#{ZkκM1R.a~Z< ߫AMifn@xqݴpMz|SMn$qwۆ$G,JBS _VLKgA74l1D6i@ϖvh1so5NN1=0a:13^ 5nN' UmЀ3#vPJHZ'C@&"DHe!)]ӛ 'g!Dp ;[/ ^YūDׁJovWNJ!ɟYwAa3gNqZ+e]D0i90F֕ vP0Sa/jiWh+M*@֩ 42C5Jb NL.ižo/Jfsl ޺TMo7?k@߱ 4^]XyTV{A08|k\2cP%9pI-wr+3g$9ӝ}>Qۘ8.6V (T)q ;/. _UM=#y4E x=&\3TҷB&\w`gȍzXީcWg@`i08T'~dMk74lUɜGZH 񽲜w@Q0S0E~/mݵDT4oxq%'dnFs&ԹvPݓL9V)+2,ނze3 _79u:,px{Lj{?iV6~\P/ԙ5M=/|A.GR g׌q'0ܠr4_0LJ 9{"L(\:v2HԶk(#l~%LqoWlt:#7N\H,xPri$NDh/Cư$XX.W>gq!afa]ΨDOI(Upm\IL.'bmuvHRi͗sea4k< }L_4#-*/g.,k Sj$apuZvbvr& ⷳ,Vxi}k)F5+ؾn!Ӭ )]Iu9g,h@j!TD1(%B3(Q~S<_ImƦ7wSEOD*j%%`raNk,mW3{AȳÉҔ"}̜%6fyzVTlUsbOfx{̈́q.r> !G1u'ER{aEIMϸm1 [ c6SeVuʃd76 !t{wMg4ڑn7 vqs<Pj5xWyAEe-G?Aygo" r5d%@;G&2Υ_|@37.B9/AjkZV mw:J%,<#3bQ:>v1ͩcq&Xa9?zY8?}*R֥*5zh[{co.^ 4@t9n/QHU_ ͔'cP~$`T̤ؒ^5[^n)JUĽ~0k6"NQY?5ސ>k9sPNIU }>q^e< 1/j2$x{AsF̌z&Gݧ/1|xK{&BqH<shveH4YĤ;K{`J3M4J^Wke}$RH @ũE/ƴ5cVc~ף ZuD M~yr9W=F>Ь6sBi_qekeRW {CEfZZOz50 ZGI3u&ZtW-1J<}l"nYv:7ztəNaRUFATlS{DO vq1V!y% ͍zKD`8geQ6B>QBy*:Z{OBۇ.5mo7昦 } :Pyo8W,{b:Fc@!#K*_j3o24 |F^6$6m9Sԁ@~Ka!`PSE a"kOhxmίfXJi&I|a%Z W6(MTY_b&w>`P\ыwS?/3ѡUM9=, >%ب9 薙Ʒ%uR t5}HmLD}F=2w:T~ ±DpypV¿)nc QYr#3rA0W>/ kl&@d5H6EFN#©IvGP3\ pm-Zڲ0U/(sIL%F̲35|V@* , E2F.zmyl`fwZwrѲ jr|!".7fv4:Mjۿ^hF;w\tͳs^o[-_kAb3ܳcfܕdlGqWw]yDAseߨxƏp9/SC2.:&MK#˯3^,;th `. mz4{e5nM :@*t r*H @Ӆε _!H$s-49GaYM?ʛӁS`Un +ks:dt<+.F术q:!;񀂢QO- [P1.B J7KҨ(;w)䉸`_gLzNS.7+^^0Wʹ,  Z4I ZƪOnVOVxl*zTMל[KMa.#Yov /֬KՁ[@xt,@N+6p_L&x7p(gB&g;niQI-ԃ@[PF1o7˂31usb yNJ^lӋKYyH&*4/+ܥݾ9r9) 9ғbE98#S]Nhg6]HTP.TOt/ϏaBg=@DoHx%ӱams܊zI`+՘a@[&s^I, 0X V&7zľ?z&8aS]rLl2]?ulfx7-}7;ט3va:kI+Lz,ݻ*:y޲v:kۂ>~`890јIIV[;@C %`/KԘAũ ? ɞD3(n(.B_$ t4heaΔmvDGaT yF^؃MO;>sEfz vcrl)t'Y(ןra~xlwpsJ9Y;xys>Qv{ZBU_a[|yԂXaYM`O:=tCy($aՑZ(gs4^R,@2rϥ86!Dܒ<͓Q/`w'MvyJfo$a\Z=y+[ 7ֱE/f,g?}b dUI|ו@zHMw/QikQ߷8ek&ɛZF9mŋۂ^2 it`~WI_!Q5Բ1IL3 n֥r܂( "/q\p s,I9R64b>c KV<뷯m0x΋'\g#ٔ{*e[׃ zӹO7x3Ɇ| kͼX;aQMT WK h!8RP&Qmc w, VCަ;W6C]!υ=AUjW5X܍] Q I!W_1U/B@ ֩߆W&Q?zUےU&יg&ߕ?:E'z5u{\jpGĥ܀[xMw: ,.aՔN_Zlu6!:g$t6획U! I:_ e k0)ckhM :cJZg.i_Sޚtlm)^S2L(4^.$P=$Z܄]l&q%Z"Q 2]=LC3`@4&< nK|`nS$^S<.l]4>)$IIBa8cv᯽ E_6=.[V]SvPKypht+aDQmұCsvEwP4jEBy:RiI D60@F0:?+dNN>!EZ+̊]r֠`_TR _99ѯx0ĭK0ԘǔsoʩO@j}P>[#"8%w.x%{i"xc&UTpD/I$L ebNfnȊα@vfpdL hHX/nF-ͦĉ6ѿ~#Nm+q5kyf*,v{6ʼV}mr{VZ?U4Lߓi=zޖ?#)V"( d48<O 0@fPz\;¹T9Mҹh&[Hpu`Xkv)NC:>oP-Q2C_ҸtúUSa,KŴ >QіHh<%ҋ8i?cH}[s&zpKL\fyFa]~LO+!=!$o{x?c2*$y>F-EI<0EĖg,UqS@k^+TsdLX)|jsKlPwg@U# +Xq΄ &c)4U@j(=' 8xv*k?9f$"ۋHԽ+DЏ۞4e@:$ oZ~օ4j:_qzOLR뜥[8Im V'j8-L@lx>7Zu"+$hrO6:2)6$aZZe"fv_ue[k" _SjN\W,mVՋӝlDCo[%`(;r؋CD" CJ lZߗ2$/4OSzg=J**-RX􆢙1:+KS$ $6pu|X} :obU#_FamPD*/aa[762twxUl۹,`ҢYAojEC0!1c*420l õLufEǐȫ󈹽,CuT|&(pk+ qV%6kPc8a漣u(4?HWF@V$L+wt[(pi|$t}A q!22Z^G:-X۽PN+.x>mfx#;rWSFDmmŔ5ҔfEOu>2=-QTM*3[Gh.F=?*47g$ZS3$́K5EZvu8`+߇:]ּ_ZwK&桐rަ$yO5:% x'J :Osd+p݌vPlFy^`v7^k vX.Da)^_ܥĸ0 oLM{!N[m Xu.2'Ic yK#p>XcՂRp.@r4=t)G!KI'y[´ Oɜn#l_|2Lr:/T@*[2:҅lfsK/l   @20c=&wgc vH_8 CJb EX/Yիjd<9*=,4Au8y0r-H$CUBMnDzދKIj'Ȅ,S>n*d .ǜ~[͑-m&QL]i*s[$.ʻ%꟡N.Ӣ۱.đ^3= nm *#]7f٭0FZ!?5#A .6wChIUD/t eL4a;aY=R^{gW^^+I{ڪ3f?^$+S1_E#~:sXtR2kc&rX~<K4-ΠBĝMklg`#ޑ@y1B*+k8L?Aj?/{u 63h:,WO5za0 -;iI%T%?MNΈS^S9+ws#fs uH\-b.g*8,cWuj,WHې ,)O]Duӥ!lDtOMs#k݋{^=vx 7P\R^Bǵ63|ک,;?#km="L='."h=ǻxL Q)d4[ʉ۲pj3>Y>)U0{ɚ;N_jJc!fR"K,71War)gv+=hudN/u~3NIoûmxyȁ<%_v Ց4!ӳ qJ3oǬnHOoKI[Bb4 _"/u.e,:q]yӃmK|!5A1ip`$=N#QgRoDIqp_^.J-m^:Ei8 > %͌VGz. ?9n2|lR_z(q{AGXe!%/l9 ӦftPm1Qe; 7e:] -8xfp{udRSj<*s?t}p#+;lQgZmHoYπGh:]+ INŞ/(SC΁ppSa rv)K7=.FñV#xP:K9C1Idl0՞!~[ :P=F)\` U@r#p#.)uth8DJOMEf1UH$u]|ڗ\6*d*'H$Ҋ7 9q"hycR/ߒIxƣ, EgD⋧:qPi[t[|V D%`4 :<#* єvZ[oUi"2TCK'aTm["A8#{nwSbG*%SNwx}_ZHG^k:=Ov*5(0C)AmKu'x)&)X&/?IdIꭝDxP?qƵA~Iϴ +7Rnc #|bob?P6gh,5zXfb }PJ㧇|!%U\W!L&|_B$ ֧I{ЫuPːcym~6g}BV,BE-"6HCB2<"&:bTv3}4%6;n?XbaХ~AN/gXWdNMdy1 V!ٻsAOLD$V, Xsц֫rqE1Ɨ-"-@NzL62P t}nEIj0<ўʖ&..8,fS 2'(V^)>PjKT>rkzb6mdmr.Iuߴ({1ʅ3xurzؠ΍ep/Z¤k< GSt;o/% *"l|ܛ{6>xIցpa#9:6PEE{nmVgۿƪGs֖*o;Š͏"pMZ_R/v+Ę xH.09̰ :LR_BC16hQ5,mE GgM[r]G?58)X$i^۷fW!%-T.ӼP7DO0h}b{'YiD Ǣn1xF E8PɘWȮaUg\ cXVXCN6ʊv!R '8>jx^qjyd̻Y@mn9 mlcAϧ38cLZ(KdfiΣ@(7ͦ^UXDwO+NJ!/!s%A7 0+­eB|0\ fG~{ lV+غ0Wi[uŏ%D3&OV܎íb]O GCIn7n0~29^gqJѷ,w?⥪R]+Z@4<n@i>Ƹ X!"y^pP'|rFw|οϮd1NQh . Z+HS@S@oL3K{6\v-ȥdXg06(T JYv $:Ś{X0'qIW|r cIf'=;;5fy-wp[Y1AQ-eZq 'N~ȏ "LlUU^W-OPpFiAPnHnnUg['GSc㠟7K_s 9T;tD|gԇeSիEKe įz y3W6B-)?,'`N3["* FodCnXſug=r$"]J؁Jn Iۭltik gαľ& L!RKnSd/Rg}jN}augc}I"p:7vO{C.| }SŇI &0F1Da?ӢF1(WPU#0OPAkVe:8!Fq.DVWe qY0bBfjצi1dwܡ .=.m`@j=:rAN_L*Pez +-7 H"y8\   6+i?qPtab`dx/H"tn!G3 cÝJ+jCa@8R?P2_eDS֥cSw GjkL Q.D2cH6B/xIr꺋oοJ$tBh#̷t{D}O ! Gʚ?sCOG81"$ rޜCPnX ?$>'XRe (܇'}x枇YPrRϙ]HpF7v\}?-TVW@L|s ~KO:5`CY3BfYk *74"KfRzO*&~e/U8'M2DzȕoHFȴIaȱC#5G@ҟG/ GY`ҙg.vgGW &:t6*bQQwˉ*+߹Q2  7ʢw|[0;?ď5]"^|-IKRکǠ_Ruvk΢Dc.ʲwP3"ܵ$3Aq3ĩMoG3W!͡*IpVdn Do,(JIJs} V=[kgeV"(^ЫO.iJ' =Ζ۰xçM$Ɯ??M4"&BD%7#Fa?z".&#+ 9<[{?A3Gdo3n=TʞAr2VTv72>80eb{ig+9l$Kep^@n W/tc1z&喳ZNS롇lUENMĐ-7z@/b'" hūNT)`lv"*l-Y41pTˢ,zJW Z% וˀO^s;JkaRAN` vSip)3Y<TLiu3v_0/Ā Сu7]=%yq<Ψ=wz>+`}Kd{u-wˇV.Eܜ1Gd`fҸn̳uK.P "*7$I# z?5#*q u&evr LK@Z6q*pʺFa$%_l_|NBBVؙ+9p\t?-qQx[y4f 3K/WHUtN* M8o i:2{vPz.QPu(*6$IKG~S,\Kr)MFNrbF+R/ubSfu?SA;aaTc0E0hr"Z;QmS\%`WJbg]&oOv[L+o9~!ֵo/iaz8((cٷ%;|qֵs^hnlIH kYfvL w|M { ;z^qcWʾsFTLjY {(n `q\igѧbzV6=e0Nz,eLPQ?o0ƽ+F'?IhgL8F|]m# '7ǝZݯrLmK #PxiaNU~ 3ju؝H-F!9 Y-N/gp1 xfB!;×,xw+Ϙ]LJQ(ȤMf0als~v$=#W1HXXY̒Cb[)V3zўaJ sg{B: r1TMPer?x*Q4L y8D-US]?o;w?]u Uv'I \7 q9Rc)¯Q/]$&A”'_1Sx$me`7&mASt|U0.}RNa4RyTshʴÍ7U2,1{7X{euAkrX _lwU ܖDq&ۿ0H"8knP}7oTrG7S}=2.^ʹ&\p]??ļ#Us,2 rf>|d"84(/LW]TZ:1C?R;RSēFo?]~sw m#_3j ۖ'- JevS^\+DӹLjn^y6.~J̈(N!|\S5fC42xeL? \bgF{ bzɷNAKz<咫Ws\=ښ=r g5JcxdCjO X1 z/F3W5q66 $|DJ-*dC=C\X}U>6RߧF_4vW@>^ʼ"M"آ*,Dtt fÀɥYŴ{9檊Z7`4=h8i._>2r k.)&:]/N`l2(3b*gj^UDr;qfPp9/v4P[sh;J8$,ct#GSřI'A?eaFiy|L .aB  GVZ9qςgkg4s0H-+N@y"ρ08Dڛ$G1r;6.%$ȒDT)lU9~?Rl@*J %rRXpAˁYYv6)'/+kj1 2B=^@ѬSe6L?=ˮHm?اߣ OO&a#phT}<(&ؒ3&`=EaTiA2K—V ,]h[ʼh%\n xp \72OdeOӼ"9 X3w ?' zB*pJz|>LXӺ'TUg`.L%ZsƂl 8Q0eRC(]^H-Us1*~[ɱ;3~@M۽6~Ps gٵ_q` )eTX+>:pnvDN-KˬR˩d,m >օiH,~Aꮿq5[w^hR͹(DKy #bCKk}YqFq4j$2aWj6GeFX2Z!DcB_Xvx9oЦI޿S35y{j}〫ZFo Ȑץf-`\0 Eg~WX/8"[ׯ,/18dG.Wʥ(Czq[[:7M>p7t%ht\FQΝ˻ hqDcW\Qgx\_enX@4_W o$"Wn:8Tf\;noQIԽ+ֲ螚@8UgMJ.8,PѺs/aJwKE.y_eD[ eT+zҴ*ƁAY!5T\o@݄y0h= _MSbd J;4**B/=xæ7Uˀ .B .J7,;[&.8Pj򸫲 n43 h4@l:ؖ:rWr'.\tJ ]^oV-2_z~ף/%<8t<7#'&@FG|]9$o̞J6ӮFD@8\T(+z) <[-<Č; .efу\gpw^vrB߈Cn k@8Rg'pZvp^q Bڒ=ujrUG1 ,6Iw9q6gszpr07Dc5hO,J@i =e /@qoU!꭛/m# ta(^DA<]#ogGϣYP ɩΞwRW[!o9Yz 3ϗPoڴ6R[D4}3oL=d<ÿG{DfvMCu՘D&%W7[qG j1d&qGL<6e$ĩA H9+dNtl"?ggdy7>YMk\Ǡĵ*Y:]2˼~Wާu{jsk q{wڊancdI8nEh֟-r+X$T_H|' };'h GUv஫(Kr#Tr4=T<[ +.o"^ FpH2ZdkᢙwrX:[6Yev!@ˏ5n9r? -Ly2ÚQeHjZv(lƲu?5@= p ʥ11*Uz1Թw53~ Mg*AìWi ]/_ݕM{CVOBb9Cka؟9/jTk`9սɼFaIgŢӨwGj+C5VfxuQ;?$蘣3t T5Ä]*{n352,׊ .Cwt3ɓ )xz}3HE 5 ҖU *'`:k8i4o?- 4ս.?|G{VhmsН0No.9E.^SI1a ]Ӗ4vhW^1. 9jMQ 7e Zי{Z qQIxw_*E. ˼ǘrYLj?4|KWdyR9`qofSN͌=xD U[4ifW2Rzgd;yUtkY:ZÎ:T+5;5ZYn1'1\}?>{,o <_|.̣4eZIsb+]kAxU*dwsdwoE.5eFٝ"/If;g/R~,?<2h4?8a ou [nuDM?7)!#>U>lsw,ܴX>*"5~RD&YHb4 fBkŒ:,'O|Xt9E;S?50[}^8ܲf}&:g{ewK BSYRjcrVc0(A6@):¬{^N>Gm8]6dq^؅l)F 5Jx[G.jD3~r0D|5xGivI dP.:~w÷(#m 9~qusl7z&G#pW7"} fY-{day<%,0( E>%uu\t rq%Õme{m1#YMXcՔF*#ebR bHt$VCS|ce_~;Id,6 TVr}daO2C^zY$A~jн|}JobD_"n4C+] p+TQC\Q_჉@ p+|s{SXU%qy;L#e8L<9k"|ےQ_קX70#vA{l-VϘi+lyԘKYjHEє6]yN9݋Qel, [W|[w_yx҆!BOUNߪsIlr/Ced!Xaɭ14W4 t5aSy3l"rZU:K\=2X)u#,r?9 06^ؼw4ԥV<ّ衱08|ЦM1ĭ*aw7ԢoM5vxmi,wX. ;l%X~Ҋ[fl qhby̏ zFŰԩu7c7:"z8ţn H]㺯_/튾!9rl꽑1Y r?m6e(ȍCI9;Y$\fa{vh\[se-ag_Iz@Xv`QM9v&CEh*h򆗔Y{b%tL?ڥtKZd`p&; xN X\+$^E.ACˣeܰQJ28k^1Q +ZLkr dzU6]c[\o׈ |~Wq~Kqb ~WwM^ Lc鎠" | ~3ʧKs/%jk2}u^3xo< Ұ[mvDײ6wl.9C8Y4P/qoGG1|O67Ld@Q+iFdS%E»:I< V`.{ɕ).>h/{?ӉfkyIuN&/FM׊)rVv T< _z jE1E+=fKv=EVy!s"\/ņS;^Sb6MwȤp7C%_;ͩ6AV bqZI r$D)T TeWG.&$"ޞ%X`sr$^Ğ1n+a&%NdM_gu9,r[=‘8~~cUw\g}C3RD֑ZtG).>xUHr(fv@[-}[@4IGY GolV H߈"DuOF?R_E2ZQ ͐Cڇa KKȞ֒'C.\./ -'[X\([SHL՟BC7\{D^" 2p4^$(߬:}ۏI>lN{t8c.)⑝Td-/mتJhEol6ݪ Ֆ^ej$'N 9B]{,rǡ,qErB& Z­>MpǸM+z%LM 9onI^]!*ѴĪW"G |Z H &0{(m&RU7SF[.7=E6UA!j/xni0tң ZuLWQ:Z菇47V{7u,+ɱ^f}w4ys+a*=ypjXfbSZeJ%F'ԛSƂ@yqCdajvs(WӾBeRunu^LK pߔqFq!# |(<&XFzJ=ģ/(N>sǼ1QApm Dz8gi]QXR⺅Z۸cT^U@P 妈B]Nzp11Ynox,>aI k ܜ棥<ۺ񂁦4O0>V:qY`?l?vtS䊻Fq\%NQi} ٰod56^聒tr8c[!GpيzZ~@yTvֿ ׋7W 'OwW19k˽щr=|HTˠMxDě]eHk d:ƶx~xEI78sgA= bU ḗW`Ln,oX*WE[L˄DefW|_C8G ,igpr<~/ݫ'T@8$PmEyˬceEe'hfhxWyZGχ(|:xk8r~Vۃpt^vp@"i ِ,8@_ŊEb*1swDY@v{]pf dY+T3ߧqIz U2օIl|'0u[>ͅgpfcdYPaEAzEt OO;*!<ZXwˇUxW>n٠i JCS,T'оRozگ=n9ji3E JF$2X0sP$ϜPū~` 3]mP7Z4%3RiEA`BS f #u& -S1\rҨ06.,ҧt]K "\MFK͒{ۆH/3F FxbK 2Az(&fG;LScoo~W :a1r|R5iĠ s+)4I}3?LA9$(A ǞM􁕖T~)'5]j7_O8}Yqad])K7'RN5XX:8IFx+ nt}gVx=@?ۃnz YoEKFBHqnc>B:Ut\Fa Oq `٣OJ,5Z9#pg1"*W469Hs&|!I"WAωj2'r8I+sPf2u=﵆ejIF QO"5nBo7po-O۵cglUH`D(f`X tkf"@vA(\]o_DUG|xyh\凱#@{EQb`Fr!PuFX/%o<=0Q{V hV`ߓMp7~I fpQ)|"rQs9A'Y<,4iԨ-E[eWyZĮȟ~}[Nq\NpI5̝;/(n!!@Ÿ^EI(n2u.?=Zi#g[|N׿=8QDYU }i$B.z]<61Gd9=UĐ n!^pJ; 5rT) l6A#'i؅?MJWzY&ϓj,bwޭ: v`-wlФDkenY$1;s$4hȺ"w00o j`TGSAsJh #\hWl?ePx /'9X꘳o,o-E,#1RP mT> UX dou|7~mxF.5x~yΫΝ$m^Cu6f@޶IF ˆ"Xؐm,EOtY:};#O"ɬ W?3FppWggAؖe7O=`g6WfY{4#!oCYlX0J? )֬|_Vs x!8tI3unh{~sWn >O$@48[ o,oa/寜Y7uGj{B:gn~3}}嚷C @^ 8Y8 hQT iab:inc攏=WK}c/Fi{.?~*gZ I0|' &L̷@EN_䨇xJ7&xAꋻN£̢c'+AkVÐ_Hikb$Ͱh҈% N2A:^C251yn ȶS2Ѵ~dBbVOL?78~lVEs)El "yY$oOVѨVȪ$ "蚨#IĒ;V\Wq\,yJOxGw%Y%m@c9w©FL`hZZMw-yJ`@۪̄-0@G×V+8ܫ2OΤ5^gsGjaU}UbSjvs߈d\wYcT<-垈{SO;;uSK1Y-{*˨`ׇ5w9&j/#$u&$'͆v<x}WD]]݃נJ9I@W0);gu}RxOꝺI3<7\~MNkm&扩 5p?PJ4HnQE\`Jki |\jL<9\߿CavRl^[&} 0s&܄FcN7^1 M㠎As Vdc sqXC"S8 lE3!0ǺF;8cvŽI,dT,t_iӪ̪|ECH[$GNt^ot`NyPaDj8+c{`4C)l,`ʃ;!N18Ov%r!& E?~釦,' 9yoqiy)D Q-u3$(\Lp&7Cg6 0;W>m.V'UT~YT70Bwiєb6.?#@RuƬto2@0V3tSM,Ŷ?8ifh_~ڸ19J3[qw 'Ҿ~bf</Ґ{V]*PC:L%uƭտ;mMء5v6oe}oHD| "q^0H E n 3X^C>[ZjMj*]Z2QYݻ Ư*zFloZImˊGAa[i,J$ ߽_\pKv`:a"qs?0U TD؏3q2׹E$?3 9DMJ$ZY}vM3bt+hԺWAdJ?ta2,q-I.HπҎ nm6P-ay'gE3-,+Fy\"Ɛ=r܋.z;ZTYi5Å:,pP'6r<{:}f஋hO^oœP?p0W¯\sEHXMUA2+@NP>S\R(2rHg{2v b~ IJƛ{PTt(=wmʶH/ =Y`έ>/e^ kISc?iAHӰ'v65`'eNcch,>q\2FEIbާ :Kׄ7u=?53{_J DXyǥ5N,t?q3x]N1n9b".NW-Ya @V{fmH0/j.{%",W? Ym&#p A|FO(MݽMU Hx8_ &in' rf=ؒ7*t(;Cu 9k- ^svg @5L* ]DQ9ZgxTl퐉P2~z7ȒΧyoʉ{85eqܕ `]LjS=e,]m,t^yhY&dhd+9ӖrȦ;YIK]1^hFGNՇ|3x;FxZIW6"i|2K欅Bo`XhuLA`P'-kM1ܿ*r|`p'v?lKJTXLi "Ǖ_¿[Q7Olcڽ|e2MPմTi`(k%٬BR,Yw%cp,@~0llKKR t(:BѲVX.)M>A4c2uH#]6B7h4ܧNw۽\=S~_X:°-)@/Ҽ1giMw! (˾)6|>ւ^cX'T[Tyt3\Ki`N2EO^?F9KwIi&qVk|$>>r0B\A1`p=@.b|l8@Z w=j,}{gBO|U4YE$lcY>Q}>AEoO+ &lXI1? @Љp" 7ٰD S=Dǁk@-q2f:w1CmV1]vE8g8iIj2\XhGKȎv}{^@Ci ={ZQv0@ i@ՠ''r!`(MvsEELS'*l!L/kr;RtjC[زxq"i?/V /io8)=miH{9D/MI ^iԟTӦnQ4~ Gr$ $^eZ@unŽ !֯bΒ`Ѓ}e1?~V->!p}B9=͛.`Umk5DR+ V6vJ\mv|_X.ؠD?Q '+GDb}1Ɗd]?@Ȁg*-PEmod3M/T6HJ/g3-3Ozo2#R|iPA 9*Hu@ ]`;{[Crx*wTw%6^aANh+<<xBT5>.K$A9O93=, Kic{Rň\@I:izjoBU.\om9w)vlWɼN];Uqlc,Yϰ͓& 1jhQK:/vIE^(U>Pz8QR7Z3YJn0V(\O#RND~Bkj?Wͭ# \ڼg6a'TbHpޘl"m9t~&{T:,M,︞x$9! gz@Jyt/V=J"%ڗRkpD V Y4ɡ t_p5MzlH zL|Axx?$ w&JdbiۚX3ȱS"vX^6#)~?B<Q\h?~HҺu V &/ܔߋo:.$l+a13o,٫YquaS8`hl9ۘ"u~~A&&>ۼvm|]q".& 5˜`p~_gsJZQUEO0K(-*CV!UkSXtU Jp8acq4`}Et.zPGw&X0i<5덾g;֘2՛ u$h6m&[(3,aޥVIrT*x to 4&NKZ\gR)3tV7DȫEFLM(̦IVDYG6|!Ω#C`x:V}1mw9b7>y$uϔueJ7~9HP#d2h!;[ƒO1xR$jU_E-J%ǐ+aokޘWkgnW'a}X̉V"z7Ƭ_n5WQsZ3m:񭹮1&Ŵp\2xuB=! D7poj}{T S6b|س%e6:|f9i?ţ7,#`Xͨ0C||mݴU9 xl𱏶,hKT³oTƾmmmϖ.-/ǁf&V_ƆܪI9lI.6d9pV@MT'KC6BMooE/T~oCclN:MvQ*uAehj`-c ɬdSSO^ЉgrkB=MO1nh5JOmgiBGvY'Zg9 oI;[с.e$7 7nOxTszł¯> UDt¨ y8(YRYHv$.ִW`ZԤJc{٨q d'douhkYjhY_HZCgDjuN߻#%d;xZ|I||uM3sN (;6ϫ%-1?+ 15)l_`hSt]9hw"&2ƒFB%^9mQzkf>۰:NlD5sSN,z=7~"hqwe 3w˟mTe4Eu"TX7c#\]9ZN>3HčYv2 }rE<` &sXlsYsQ1MYJo(˙4y&if|[{3_T&Xv4#`}Kzj,7@ \?D&1L:C >OSbDŽ ̐y`!%|{uCm@^.aΦ/J(T7x$KuCkh^O[ürN% . 2B+;]%уmo'l͸*|rqxH_v^Q^ Fs{ )Hep@?m'߂b+4`s\`SԙCr5e,^XYOű\7&JX{7wqԢ64@\ee<<*@!Tz\PƓՀ8i0lMn0Ҋ,T^~$N=ۥOq9!ƫq8i]#fsJ/ ҫNV4N ^~%p4Sh}r䓨m fĴH]@F˧M T٧4}BH"qޔ@~sZs}gcP ! s ^U!Qg47GÙR\b/Auou sKҢarfm2oqħԯ#N$y|גFtcC(ZDc@хdT,LM1ii(tMqM.304R(q/Ƽ.f4n"q9qZ@UYP>C)xa¬ϲP{~WOW-=jAu~@a?:[2Ce.Q; Dd{z."@LtV~N6dɩ)Uw1uYywcM뚃$b K-4H,w-X5he }ɕQd1o{"`y5?ߘ`hJBlEϱ *.ếJ+5_KRr8K2[ƫǑs"ؙl㢍"\9+ryWv_Rwp݂knW}`ˀ$l{zT1W ,_gGF.[r'5!M%xα;wYs_*\͝CEAZ譒0.ÐӺuJ(1/3cHx;jFljAe^S$e>O` /L.d#LSDz?8DFpc]jؽM"!Y/SC;l ,yl#u#恥ˏyѻ\%@ͻ'7sGN`4^WR!p[ Yuzƫ{w۳L fF|;[1}d4o(46X"\Hr/6P Vp<3]6_#%$DF>pHaQo ֽK,S[7p9 :Uqi C%5xB ;IlS;mOõbz˕Un:r{!dmOjcB(IE-6mCnĬV$[r= :#̈Z;i9' `QkX*#oCʏV, dPW?t( ~uddAh`!խu4z57bq6'tkn1Ue;𑺷f.ҋ$wXd:QRvh74ëq446/]PKaV Jl2H q'U( k-׼0Ɩpܱ@w}t賚vD0ow 77iq]!jtD ;ggV͉)oa*b@p.3p&!mFጙ k=0.\(8=2*B(mnr)70P4 #ۣR7҃NvϨ26Z-DŽ6Y7쯦4ęym'dkp()1FdUme@g# X2j_8s'*aaF*z4/m~m)SE`to:w%̔z pOɾD" P\PEE29ߋS_9a7z?[@_ 0_W ˥fBDзosmP)&U`psy&AXMs^)m#BzbUߌVSFrlgI1]̲< i'9YW+Xkei!DW@[Grƹ0ˇTcbHC?!1OMdUrMbmvA.`qbPLXE@_ל;GX3qi禡sp|9\? ?`myLw Hw'3N̏ Ccd賡Z=a`}i35+jm}nSUWh/C +1q؉|p%JY8rUJ1$0:,[)ySEQR#ƏΣu.KϨk/1d"ɹ'CwJ<:/Ek+Im}wM{D9f]}NI B)^O}g9j CyFY[RTT̎N+mܛARd0.{8FyE"v _XB5E PWTI&>:GYksЁX =a(?wwhJd 99&"Kt3 WZ7Elmr+ TBR2$$ɏoz bU"ٚg_~h?y2,94~$Ivx ^>9|++ E"0 8GPJbU2p_uV@ ^ЩYZbYŋ8 V4YJhUN{2M,![^G5} aq]i<=›WQ5Mp,z qԮ3~({Ԣ32|"@nVMKt W1dH `0~B*^*>98c|ZXP?(3.Eh]M`&g,XqByPx|P|ja- t92W1{O>k EꜲv^ dզOM. oݍ$-+ Rue8dvO .37s"̂pu@ N&J[@}g+l(y$0H\=ٜV\-3'pP\OIΜhyܤ|UJ%uѨ.(M$ P0MN9b8K*wNl*9]#"J&kgm _jWtnY)k!h{*bj(Lx^ ,e "@V?ّ*E{ $_{|u7g:~x(FVR61z劫H J샭 D0qyLt³k оchi.R=p*DUUfΛ &?pN`O]C慓 L-9M8㡄vehZfb+XTHhR3=><ǗkGRi3Ȁl'\MU`pCpUw7?;BN %!AY"H*z{/ PTVho ı1=/yvЖ&7c1-nYvϴ:GWy>Y6 Ns~)~{1Bd%fHX퀚Ěj$9<=7h۫$9U.hgntޛSsG:&x4Ff'7;GOǷQo2VX~UNðɏ*9"S]+6L݆KV'v:@f-+o-&zoc‰'Vt^Ta"+:;*kiW5(q2!Qi.5LEF=:ZLgX03gCKYfF_Of^pa5K9-X$r><͒Y4鬮&FZ^[cNy:dK@`(Qong}a#nQyj "(QlxE: HQ2냉*';zw HU 9RqI'(HީZh9$hb í4ƄR@bNUAڊm;hN}B4z?0} O⻖ݛVϰu.1 >y\iƴ3|فcJ~'.ԚR| M)jt]`mF8QK90;}]jq3hJLw#VA}Tjq9=M&}nD:]lҊg.҂&#irc&̔C5z^$A؂Mܣ{/3ņ*w{hdFy-7 5F8bւo#+1nOTF[oעO9jR&;8 H\t F@m 9C sr܆cp$Y;CLB+ŀK p㿑z] W1 v5O@4=1~<ߌĻ^[Q3q)ٮ0Im* I~=B{.Wo~s36*9zj5 BҨ%fa~5NdՄ":jUp^u"e犡5<1jp;'>F-Cw3=&W62[ gƇ1(vQ5Cv"ŷR_OmbǓCc0e E mLU*lqsV)*BO &>V)4QHSK"6Hu0cwǔvr2HQK<`)=^y$q1}]?#tK,ڝ1c@.[vFsEQa).Ƶ-@}e/Ėm-jp}Bn]u9c.mqI.Qb3BUl:3 88"Ʋ NJB٘۳ sسFnL>O^n FQ" ~Y<߀c kXHjkb}Wbܭ6Bٛ˙jF(fK3[tWk0sBL4ldg a?I8ȩ[p#.S:OVL|%܊}O0A [ݮLJ{ŵ.wZV`BftXgb3̖Kx2Q(hampcx(fеnaQ.!2$թy!~*4pgǾLun5 2uxv!#f 'o/'0L)(16z!aOB.-;~pAm^)MǘǙg&?-"+@oڗ髡=Jgr) @9AᨠHKaG7oSuЯLmt/n}g3͖J9?¡*de˱K00ɂe M->T0ZxWzr x?AI3k55Zx9&d gob. \ wKjd#ʙG;"p9J4CؙJ 12pv'|!jV>p #Υ ڋrCfl^EV})Q,դ!]} lJ=Un_şzjYlF38.sj/s(,l(S*դպoެ.3<.f5Qc~*8/Oij [ mI(&˘?K#FDw PTcW'.= ak{h-uk"w .ƤE g]|?.dgJ˱7XU_)sCЄ9ZH N#yPu*_+x!pg1V1dP^)NV۽bu "Ԥ*,թ*~H33VϧBM|#f륢evNH|.QL5a(g&>lܬ $қDDv8|.'frի <"yk\GC@ j 1HlfIdf"/ǡ~mV](lՉP}c0TMiw|۬3:*oZ7HZqEyƚ 4poar0ꊔ\1I}q>AԝncǾ{Mym~xaRTCϳ2ŒDzt@B@eKuQg[@ -sܪ7_-4BJ8^aSATĵ (;i jH9HuTϧfxjʸWdsĢ9!!if:դ)@e{hHV a{͠G&aPA_k q y^ܛ>j_'tGtkr>ÃGdσ (gFő9imj /.S#R Jl4uJRoWJ0:(VqBܻ/,EbNfKtuݛq~@M eI?@ $|MD8QB t<kA vVUuWתSG e?al^]63|{@h;uVxf[Đj,6i龗5A,e%s 95וW("uE17'L'ξw-Wa!lB$3>&XЩ}o _j8V Uh|_,Awh޵M66TR _+"B~sE J@nw}Pwu p=S2n}J#)Z ᝰװL+%o;OMIFqᄜK94~-7 MTpϾYϬ}xtKMOJץ$r *ű3uoօuĪ."F8|hR[iLOCֿq :G.c_pUU !s5h&Lu=C'= S:ˆk6Vci E}'6u:ԠyrrD#j끐MOx#4r1VUYouJܘU$衙E&݉2<|izbR Nާqrb/pxa ы6 VpDŽ] z40lEinfƎݪFy@T c$Hd˰z>1mqBp4gwLӽ {o,8F@dyr9AQJ1W_թ!eou{+#(m8dej $ ,(p4{)a^V%zreӤ̩׶p$^ 8~L1۵wYV;M,B~QHg d$o^EG] 6Xѓ\R NI;tvFQFr$8T\% `kmn0nr`cڸ~-=hYO$76vho*|B̋4+Ņ#dꭖh]dh\Wq䩢5iQlTa} nxح$]Ah,J9- }ܭIVN'MŖ,DTRQd2k[v_ c+`̢ktFVȒcP/}i3&Ide<$-ud@(ݣ҃(xtuC_ ʯ`"Zz#zL^.y*6G^OYtO-7kTE4nf쥽TJENz9y Wvd<I3o3t` EjaG3( P#\!R œF0Qt+=Ï EnP3i&E|8d݆QIAYMGȨ=#u[%'+Kv-Õꊭ ͑2ʃVGLp#oteZ@jP롚sB+qxLK; 4K-_DTy8\9|q+_ZXFX{ыXuon7^R8iX]t Mϓis`p655_WB(MXg{qp^S;rQȉQ2F V>(ܜs x]5n)I3sSj'Aoy~Lꡙ7Y $617jӢ:T)gy[R'V-mKX82UFx fn|(O|҉D:26Uw7/a(n 9ߞ=g/_"1:&> v,;V~xaߘП9T_Z`8eJ?3o/GF5\QRc ;^3}ufD&u$z mkĐY]Yj)W3EHk)%fu@Y=I45bdFBu ż93MR6 w>,jВ v9b'at]; .2rF k; =-DuZgn``g| [xx-n: *TNLAoy }[{~}#޶s94d6R7&m~HM c`=X]y>dGχ 6Z2 7eFy8$77JMu D\'TM8*Jg <8+UHQ[g1r9#tbURb #'%t!&p |9Ex#]cmwb;ɋKbzGrV$7MC[)(Zc.p3&犷+<4ĶbA -=w:dDlN,$rL +egWo<1Qaӟ$z Vݯ#8f;J_M-3y{"W*X9l!tӰ}r_0O1xtn>@37P/J^0NSCje}o+Μ}--gfA6C]\H֙QLtBeDR #xgIպE>"1յ!~jmհ9.~H"cy|'[E/iY+$>(%qBhZV4h-0Jz#Kb}4Eע&VKuI1BCs }U_V-#X<0T׶رH-~F'5Ke@} kفCMti$A7E۔.lSӻ2“eviSP#W7UZwfфӒ裒n68R|=FI#3`) ,Rbu^t$ Yb1FeVA˟`֌u a[Zl]t (3ciX "U8yȧLg /Fl sh6UXwg^vFsfn(̵qDhbJȶl|ޣu9*l đQcAƠ/GCpcˢd$0#N{/~wNvQqz/ɘ/'~m[G4V!.zrA Dv kF!<-@ԂӎwTBRA@EG˕}.)[l͂3L]eSy5DO!mQޚ_tC <+|OX1*)ɼ ȮL'P̓BNt؆鹠X|VhC+o}wl dm\\:q`m4,b~ѥ`A ; |mPD4jg%p`sl,5wN~^6 (㵆%upkILNŲ͋iwM|!XEa)DlV.eXoj&tH;0-m. ʊtkF1FbйmpƁ.ˋTU+D&)p˦+P逻8KV{0)wx-PHUkx1h#  ّ^ZrSX(Ӯ4S/p)}'åE[G\蜨 6z}ϮuގR^O>>TׂmW{hhSO" *M[P"N`fRS˨X|+ ˪B"htćWS+ n}Ҍ"_|ȣ:Q֥}b`TigSHi7ŌӔ %q` :]?5e T,8?w/$Vu;j8$]DI(1}cMsI$@V6]%ymI%:Tb-*N6rG$_sOCN )«L"_Gd7 ]SNξ2VEXdb#/,ErYK).kޣF+O@_nD."F3-JX '1^`\HSy5R7JTVK_8w=/K)2urg.)3{BpKڎ_C@׎lSPOV'k5q?<!RUMTP9V̏7s8ܘq=[^H?(?ѾdRtYL5׬GY8=B9˩ad=F&tqJ+Vx =BC[K16ͪƱ9ZG?dz;Te&.3VA$2 ;/C gB /w6HESl@}W7Aa8\{;"^3H:eP Nԩ8&SZ-))0C8Sֽn݌?y;`VU67%Mޯ b((Vl΂H< t?ݗT/cS #Vʕآa+aw/!hkg`ۢH$T`D@f .=?EQ^*J7~B8-jNިy}\N^~ۂ@ &8iuy1v%\♪a˦qtC@ SL_Ϥƻ|J9. k>_1uxy'y5bkÿ}ꠐ8PLg-MO4z+ƪXOzV%:A/ˍY9 NŇ:,Uz ڣ v"MNt@9PO,N/zqCF]>ӟXwt?yJӮIoe?6I>$5Ċ#K^TsY&Ϗ+_x·gn_pGa$(;gu9k[ar?RPv]I1_O;P&e;9<e eX;Jp#*iCh˫rLM: llWg_;EԷE ƅ9夏R:EN=1{/l),q؃mogb)JTnkӆwRV@~r;kQf@H?GwNl%4^%v#T^z,ie2) N͡CDcWDYBbXTj$B= `On@i_(FpECfɷɿN|s=hs"l@N>Mw#*_1;:R+sDoPAy4*:C[E Q63Vam&;Bܪ&7NJ?̺" EZKRIY_qzv)rKڣ#W{3g*lzr^ pe@}KE2YB0Cw8qkn_&cb\'[H=b|ci{0z1M.s. %$2Ix7̴]ƾ;]w7@@;!<b l×|*3zAmU{v5DΦAc5WO ~ 7_pA5Bn#.>*zi8޼6Y*jl ǐzoSIw{ޜuF{ܻ͗-M8+{ltՋwe:[1(l&ǿkQ,흚{jV5n0 NFm2џh$2_7Rp&}KYh",jMu=;6&8F _7rGu-rt%@d(y ,_7:W^<=zP]\r||V,ǹ)S*u#@i`{+0LoD1fXv[k'xonU+a%]MmIU (+#aQ/RrP$mX̙;l\g܁DNB[5,U2\_Su5I3 6g밗5LrgEUa6&# \\d0ya:>4_x3a#bdž3N/Aj3[9P G s`1}?;"ݸR>ն$dCM9PA$J/JT{k/KnKFۮ1dTbsxA8{q٘KD8XEd6lý"p'Q+,c\jX 9+BOwZK,Q )MH[V-}y{zü)h՚2KZlÊвJ{~HXFC>M&T!W T@)P#lo"?N1=Oe`_R3wz:{|48'"B?A!d fa @Qqngd۹) bB+.[ sETე\hsWNj$2% ǝJ96><30n0Q*ö;? $1eLGX'M/PEn~Dę-! xR/KanׄVpӴ&NJhZ'td[zOK(>uHޭSW~d7 Ԉ(G&y 7dZ$d<)CBF ܑ!W,=ٍp9ҬC"⸣<+K)|~茵7 zƩBJTy)|K3B/{X9Xl OHse߅CԇpMj\4ntӺ$A ƼI~Jh,s:" ogQn9U\ƺ7" ^`H=S἗I 14<L F2rƱj'we _K (J0<1O) jIΖfE!\XvEGS@+IJj {۠_jLx> ,SY ;?vx1GfUOT1YhsXj\;T\曯J]euNf:JYJBV9?|<(I#1[H)ZO'kc^L{cY˭0ٳۣ#lCVyP'^piMS(Kxu-E/ e*AkXWZ.BI+V@Utky ȭg|tD[4% [(>mM[Ч|Aziz),v*֐ٸYʕ&.O/|T0B Qo;'E\0:3IY;ьZГZr_x`?jX䝪f%0(gZ5G6b/QQ'ب~ duLukrszɎ8\[Y&\]s[SԠ$KlYYWӡG +pVW_;Y$6&OB>Ґ$ڞcgx \_|ՙe$)qi#Qw`#`NƙntoH'QBs!p`Оp;ThHXcH~\Y"nj>}֗w2('lH)&'\7swӥRd,Лo'+?^Vte :tul]}<͖jUuTz`fw,^oǢH2KO&R+}XtJrbLa|%qJ#IXJ""4IȵD8(L4u5C;:5j o!@WU=Rr O[iHƭ<O5?cey!W #=ͱ? KY{VnQ82jL| '<ʪ7{Eܨ'G[ɴk[2P TEHYEz7{RW =~h)k)6c!{ l &.;G:$ QzsXaiz#bUҗe"็\ڵwN[gIG0 cVJlŢN<)[OnEXܺ˅В`7*&5kY@^ nP6D[cn,TÒDB'f" boUsg$K#5G{0רѩAqRzjZ5?9¥( / g~WPjgغSlq(Wm$mУh=W [_iӚug+C-P)65BӺ8LՏsFH7Q.$9mws$˭~Ą"a7ZM`TV r(;Qe 4 LRCK4mnBu8:;K;iOm@^ ?o޷o-`|<(ˮw<ڸw~:2sS _-e(HX=Jh^*1w[: *jsJo/P\Vڎjlbw4-9 쬏 n4Yͳe\kCxٶ?Ļ K (`mamƑ 3B LR0DlgEq\PbX!I5ZҲ˺4@&yٗ{TZW'sq܅0QdRLtUÝaEkEadJy%v nigmV "0P'^ f8(); j^su+\hԆ:S@3*@ȅȨ -Ulc| bW-=7'gvWbȥzSelL3Q-1}d[3/LW[W d2 g(d LO Ry;%aQ]sr WނgsBEDM[aHku@&:+عM*ZJ(>jށN2b"Zh>9i4?~/_kRH^A.=&9Vwu]K_oG~0*hsG\FZu'r0"m;{{jX#Ȼo=cZFA nvrFĝ`#;XAlc O ƋP7{vr/ bv-je] G~- "3ϻR}.=?B Uz?6j EDL;fL[HS:I*-&>]à >[izc'45[l yye@඗/C,2x߰CҸPV î-0qd7AFpqG4;,njX/$K^KY 0WћgX$yg DKR>fyV@("J{_4Sxq5LT.#V鈉10יִ4qf+6Q9%ȷ!s*49-]NN 7ϭyPE iɕ0eGPڅp@CCkt 4W_H>dWNPhYxfq;xrEC[S b cv'J^>\`i{A3xZZ >LB*U/*_B& ̹@ vJCʐ9cLw)을(kk!IލYb6`&MMvq˅dZbH%m5.tϕj i~oI?I1V KDk#K5J{G=M|B~+c5Šdv .6#v6Oշ}pD |! $pi5n"OB\z(-%/ N"cDXl3f5i:u{YKXoCѼ Ipn WQ2cH"/dǯ?_/|pnm椛:^+%qN,uFEi-|J$fN (ɶH?Q{܄AuI@\CE[CX^Oߨ|8Xnz^h?I"n\CR.(Wp缂NzMl$P"'Nf-2n]d.SFՔ$}t?t{32J񣤾M-73Ч3)o}}/;%qiz4 DbrO_ YOAMm/8Cdgpհr8<̜r{ȷW}3+&&YW_3yvwX swLJΥ >})c]Dl Gv*9}K`*_|䧈IxwlޯOsƝurYeEnǪͭV2^eLn҈p a=ۍ :{`EWl4͍Ժ (?)ᭋţf}kZӈ%aW3jmR} ^dJG@(f*kN⿷z Ȋ@h$:YOq-fpO{)mdU8mF3~VP^}uz} LSd_4qsllSI=HLef^ DyO\OM;Ӽ⪷g}cT1XJVT?]&ITh43pfg+J"חU1cy[^@ l#z pp dIݰ_ gMw"l:- %RNT~WE: 3TsFa qKuYsZp8Vj6*}Yl9"KM ؤa".suv7B4B҈I_Fۜ;&!///<T?lVɏ9ҾnR^U.[G&x/ݤ RM.G$ :6Hc$UyIɻ(/f1)̥\3ƽ& gD#x'@>m )!{ Lr¥tkCԫuv <i/w̦9C!v5 :&-rW+Ng, a P pDIq 1$3)GP98j_88gzyZBnhՑxn):oo菌lT#^zc2B5*TU%%+O$/§:ly+JpGf2~q5n*5c=ewIi4|'S76c0@dTQVnWQ:&se\VgLQ^-8*|QUfq|<: /6c9a@άz/gD.e&TGϳO w'gXD>.Zxהefs%6AtWѳeFg21#KNq;QO{k֒.șc{skOMQ}ӄ[QIt`1DYrAk%a7 OC[2a& C@ͅ.ܙ9͡\g[8Z.xzhY0#d鵛2;1~,O=ꬡ ay=`ih4:6 sӡ/ C: O>#5UL4TȃA#74f)|mpRbQX UȰh>̅h=OKU'dsJL]XմlbJ\,Mm\':afПr=) 27_5˭xmx FTfx^˞F|coGаũOW JbP N]jCN~kHq" [8ڟ=[ȷh("Ęt$ nD>!oL:wj66aJ=5_MX,6j"c"$jѮyH#bTk,TyD^sJilJTQUGϠsp෿TɘȈCߖس8Yqa|fȡ0\[PF
C,Ŧ/өeԗf9@W*PyP\=+͟BZNH= `ژ0.!<]v5}ޱW:Ȏ^{*.)}$#6۝[VM i^y@%]j^EI.ADyQ:TD", ;U8:AA%]yz'>f%ʾ9D*e5K 1M2U q(_{]l|Di|OJEwc@zz2l q>W=t}pC)znjzY3Gi\h#zMo1c[l)NL'LOק~$~N+0*_Y/ ƭ@O {>Jb`Ogy7LFVBVbgJf"1td{8&idS+5ހi_XO5K$$iT$!-:"陦/ ֦r^xR46-D5.~ ~NE yT%P8sxE,N/28>=SM~kY4)Y [0ܗ:AX.طϺ8џ:ڗXScs*|obGĦ 67ٺLohϡ9j2>?9 =bmz < (;2N`x$GʭkM4έN]":e{ (cfy`Qμb}2HK}{Nbmɧ.эi!`Sjl|5.>H+Aݠܪp'8R|"TqK CiN'\:j@IH^(w@z]dg$fMFXUr =ވd&<1BȾ\NS?~џ5}B8& v%sLN}QFprH7㺶?@?jӳpOH.Ŝ:]$u5I $2mo_"yϠxlmQsQߗ6.$GƁ picj5R}D<u;)Aɓb\Y#¾:43RT%f@˦vB[u\ʶ!1ͺB?Vq̫jrS'. ZL*&˺M '`t*.G,xl@ërΐ[ؘG5XHεߎYFSX? <`َE2bRWE7,e`{3J?L=zhko0qX̕P=y4mHIד=aMc.A>awADJ. a2_. ޒԺjm} bՈS'~L)&eFشz bZtM3fb9ۃT4GמVρ~/Hzfy!vCU&ULq,Z3ogZpJZefWf%n_^!v։1NF `/gFիdT)R1>Lo{To(У 3z^βc1kΨkaz):֦ u|t*ur|zWa J>+?A yEH/ * H6jgоdۧ߮?@owOtDT\Q|B]iQ+ `#4fIN2eȂĸm5zI0^ $|2EF3BtA&JbuNnؖ{6ÈVJ"YTz:U\ܫC(MY >R#WS؈aq+v3S]$+sN)E~? '#Ed th$ ,;/v467G $-zX;e8Q5^Q[[ASX +N<`H+.qH[7~Y*is+PȷO?/c-lZaHULE/9a/H~N^ݷ7]6 (QH!p,`43ZI;xxApmLJ]: 'ذ&xӺ'r |nX^Q`UXd!}/g0 fHd/>$Pު{{)g`#Km)] =HZE۲Se R> Sk0f>dH_ oJ{gsԱuɦymg:+x8 YlսX{%Թ/bgy8n;Yױ0}3 wAzpC_<іm#zPaNz###BwPӱwp oF&re (ovpm˩aނ瑩FKJ)xz2硗RQg1ږ'~OCyDZCVYdL+k(;cl4FMmR0Jɛ8?N ū3=}k8hdIq̒hʾN+a&( a/pvoc+4LݺuP d3[CԃCGJ8[?hwzM{' ^V^TmihK4SRHH3QȳPVֵ Mʨ_'L)7둟`eK.-'P!-oTr.IƉXCen.?q*y:L4ͻ?dL.l[7 FNA ȲN#ߐ޵b>m.  aQ+z"3k|NV›dW2pc]L<pBi2z=ͦ[k_0?8T ۢsI!U.`Iʑ `d@m- 9f<9G%Tke{SYqeUZՉBꊯ< ˵Nt+ܡ19l*847m@AOז鴷9}|5IC')!Wkz,Я+h21hLy[c@q.Dh/O\Ck:)1x p'*>hj.0]dDL=jY$~t'(. =p mb#@_ GT-Lî01Q>蠢m 3S`EmUS!6 O^+R5z7<vD*>jeB9BNOTtmSل(#5Cn˚ R aki=<3#^Wџt90CF(9{h=!%]7ErL46e$o1숌TECu06sT{+2VaZ0BsAB%g.'e93(v# RV/n+ܹYpYtFkie15G5-x<J'F9gIl F˥S%V`mAEIxKy\$Xb`!XF}0!i̧)`MvCѠУAaE`kE>U"hBR'z큎ql=Za8+loZ 0Tm@ "Km% >\bEnb졢&cH5WSt%'f2> ћv˵P ?8DKq禾CIMM6 V*qDa^Cx|8*W /|&R=(!DY* h0x_0[E?8u{|^֔!Xƫ-62U2:SngJRen䳦oVc~k S~d]ˀe!gѭpO3?nE&8KoO5#ڰK`[,Z 7ml*QE 8,27 &'baޮPoۚf?!`*~sju#WfQ%*4gfq"2~kaQC@ŧmq*ЌBޠ݈bEqw;LSUDYƭєPlC;ɤz`}˹n2G^u>vIr(T1o?&}aA䬦ל} ~YId $ɳ{FޑCAW( Dݎ/XŖ<Ώ~̄N6'*eSmNčRJCRQ7&jS\_f+gkY/M[{wV$"F#׷ֿ6maŽ/oQO1$:jJ- x) y r꟎/Vׄ_iiQ~7qdT,%7oNOm( I >Qnկ"T `oqm.sӿa>#cKh5kp h x" [&;W_ `ixu%m`=Ȇ8C804p!m}}e9s>9Z=7ʰ| w}K_HC7yUjTnP+əAU/k+HB:x #a7 R}AR(ZksΧ91q8FNFTۄSŁ6pwrhOח6nHhaw*xՙ BL9&4^ %U)Ě@@Y/R18h5cUg~I꥟͘w”X /ȣDjnzNh+c]r@9Ph 4Uίt+Eہν ˨2PcqCaz^rY~ƇstARɺb=R#yj3YTw]a~jnǃ Z A&T[iK3@_(kC_0{dzh>b:jB㉨hF iGzr5U>@]p^;3c!<6ZXÿ'@"+pun.9ъ0^B\%\KvZL)XR!ۍxJ м8> O:ל`⯋lO1$KѭtO DnĿ -Sp>1Q 芢mʖ{s> מnt+M9sdvg2p5 ů`Plp t>|TdMeRe_v*9]2w v!&8#K99@Дbᾮ{sȖ ~DoS5x l\bn*s| JYy r̴ƪP_fFmrP.Y!! |~|L+>mquG9Qf yS!TӴ-B9Db܍{lgD-1Poj\{YEel ccK"ELA2U'z$m8uu*(ۆ\*8*0Z0s͜ceFl\%Ta~sxij !T+*iqkNjG óan6D|~FFdnn Buc\KcK-3I9myӣ4KSee`$%ZiO:Cs 2LLBd5 h2NsbBcgk! \n׭93rc4nb"?0WݿCE:f*=\ƻۡgתRs {8Qtz^N5~CzRtAZ('xBq%պl0+x^ň",!"iH4) AA`<{ID_nݬ !7(}H6n JVZ{!]r8hLezOzpOWQ ̗7cצE@$%҆{Gke4ĶfY4vU`iU1v)9BY5ٝV_=X!-ta (̼e;OH{u^%,%h>9@y!9&yNׂAk ,Etv|dA: _^5Z:%ˊ֟ R넳x-pmePo5(Ù)(ʚGsژL0ψJ+pᘃw }pEau fK~f/iOf?\.v'Vn 6WǐOsF!U w.@D/N!"YO;mGJ~n'dheƭr3l{3 %%}|/ۣ1H͵ HpΉYW.o I\D(&AE&lܹ,lb%3HlC*F> &r=U4(A{qs7T VkXxBQ,LuyGi@Q sf,󳤑į"{hn8V7\Fd Z{jLpqAAͬ ۥ'w;qKcgfQy1;RʒgvvN+BV?صUvTkGl86OMA & [DH\ 0@$6;A±bPV$:y'=7A61$F.OCNNW-*~xiXB:b7n:aݖvaR!?j@|Th idO^=<(23ۜgQpuJւ$"0 Lhȷ$Ŷ&CTDkEVGw*gߌ\p_n9@Hm(lvSPH d;hf"a ۢC胉_0zI?PDPaߌGqͿxNqTFNj] Kaj^{t9OGhEE~2]*X@6Lz hpgXX'滣MY5x&M+@(_HE_d]L ׶S-Cb|x!?"uʹX"[]Mjgg[ch{}h{h.CR;lo/_*OtH@?F>1 =@,r q|l+-C>eEݚNMgMVQK iK9hk_n@a5e aO^'CPU:n$(m_7\\8ú/Ȭ4{>|O\u}_v2iOeM~FV ǮMhMr -z9n{4e< ~<0}@:͛T+aɛgs&:^=foJhٷnKw$ə!-^oY}nwg_@/]V:ќ.ak58#TjBKI K-DSDrڰ0q@G_b1C*1"){0>B4I`PYD397`; UlX Y!J] 7w 6Ѽufy2/((poWqN'f8Pp\;w b띅-I c& fsf2Pw+zEu/ps:}F߃Bw"zԶ:Ac~ S,{ b$` Q<~~%D-ZĐ ^%z939/ǥMtVqO8D4>!\eRKH6hnHH+EgP֔rAew3B7jQD!t58Ȍ0Ji)uyb(Lk=,rmUz{3GCEj19]2(jJzj'i[z$7eDb#G?9i?j`674XaO ~Seŭ>fdagKn0 &v Lǯ EGH.Zd3'Jl3AhsV:ׂXJ{}a[ ͝\ /& 1:YZJ&8Xq2Z`8,i=Q,Som%AAL5m/M2uuA]9l3I/zAl8"xƺ|#G `) F,}դyEpufOCshCFՉ:V^ Z3x$|m7-C:pdGW)H@[+ڼBhǯ b,|,u|Vj#c0?hQ„[0Ġgw 8I(/0N$O&z&Pngyp:!he>1niif 0<8wU+z%W$ö\o<ʎ|#_1(V0f (]Co1&**T/=L6_α _w(-e:+uj sk_xOk,!`nn1WDť2kR\ĭZ)\}uQs #ze*vxF3E_̈yV히-H~rWYIЈ&,KhW-,M%LisDw0D֒ y074 81d Gߩ#}_]5b0:׮ ~2;~iEM1؈bpyD̝044Qq5l0pЉnzk~={<`6JY?o~ brEA-s](9: y+AvdiNc:Ya%BR@CSjBPN=Ap{ 㚘$ ^?pu»kbFHEW73*>ӂ|=.':i`&V8"Yփ]Y*װLô4t_XATҭP'5UbӼ?`3`Q}kϥKt-ڶXءh JsHXTy=\%z)v=53e{;GVHT춁MSLӾd<(]gϒE ê`*".V5=Ċ=<o8IL'OhWhVj׀nk81ٷSH?0~ Y]v17)(@(_KWF9bvpU@u3R%{S8m@O[Sr4Ţ~A( [ EtaVy5iADa$YTXOQm@&6}+ *f`>4;%A''/G˸^'|Œ! >TÜbʝeďʩ6IN8P~VaXveNޮrktu5D1bƳŰ9e;Ar!4sV l4PƉD m9Ҥ@W!ǻja@]n 2dWrVth G Љ!O>y?Mk=RG+KHAr*^R}b <iM 5`C\L=@ LhX؞AgbF`D,^My}Q$$`;Ƽ{>+BtTwI9,-Cxm^:3:F_a'GO`_@Gf۬b֘O' ;CDXE̢Ұ/(t˲~0ӦxnGM.42TL~NV6ߵn],[h;V Hs$1#%C*ɡv\HԂݱdoqjYvl# S[pg3N$`V~H|K"&opBZU5d_gs*r-̧%*+G,::baܚ;zr_K׏SL;"]” ܶ(ZI. ~L. Hœ;oy5?;d/hH?,"Gs|>*hhAnn,,KEH\co)/FC՜v.bcOYREum3&i):T}[ zH~}GHE68z0/d ⤾ܜecъT-g"dyKX>+nܡS#+-O큦̺࿃i[;hW@=<30%iXiAK :B۞ee1ڪ>nc)׳Y?Y .L1(~ҖIkȑB!7YpsJ=)Z6,9GeBrokM$(y[4Cjo'=qIbˮCӆDᅺf9~va,kVWMZZK6>%%,EPؤqfV94[k 1`]h{o. "!bD;es0(#z_eΤG4͟*^bWCXܦy:wZ*eGz[c)Ogܶ>ׇi.cL9Ayh_QTr`(6k-[E~ly]7uCAmfFVqk08ڌ]JL,%2Մ;IFcEGS7mD::C0 $PUfeOfk ֭2$|oa3WE]:TWB(4)d[8L~ b98WC, 9dI:)_ANG7;m&goȞ/;B#6Xa@l{潺2d[&?襁|'(.5kpK9!Ek,b̾Mx1T/ 4tQ6ĥ*hR ż/lki+% (Je˻kg&Gs#[ܲ@\*5L!ram}eR3^-rIHGX4Ը~J1 BVeϜL_y3=@V9™O "_0hg_L\ɁWy2`К?G7.UvJ59 I^֦oo$ p74JHѾG-# ދPN/1gaTpq˃uܑĿ/&PD)K5?egGݪ42VK}bɠtWvGpօ亖WB'/𶰽즌] 1_Cl&5݂DžeM& *۠w'(b-G[G癙&V?^~εlk$NW㿁(sވozxS]^j-܂EUUW)}YTLi}efObA o S D^(> =SR-@pd!k;־qP}q]|h#CC%sR>AgniS,yzw+;֭f^9~t+k6XIG #ؿPZ*Tg?{qf*4Xqy/AJKՀC(?&9&1E8th{ t~|_:ݐь : _LK8:9B( ``1GQao-I^6A!$,i+lܭ8!Q"gHl jѦ(%B(FtDjuyz92}#ۣ 37v(~ I^(#JM> 6-x8`{V&>8Q?F[Bf֯2G{ L'InY ݽN+$PՎ_nfQu6KCWL+v=vs Օ˳[>8N+ 6ƖKE?IvU}Uɚ]4[+S8Z>w_P,3ҤyŎ}4)AN('a^Kʹ/GJq_X>o]q5έ 2`˴]cQ2f!}Iwu19'J^ c!&)5_SԚȯpu|BЏۄm]r6g=vL0MkO={2dm[?#@ۄd8SԴ2\?6{vf_1![nG^aE]Or+/zq2;`:f p1U 1K&`6qtq1O&3औsZy9҉]U Ō.#.Lw"MRn-Q}n KM^EY*at(Ӌ2uB]5TӛBj7<$ M4;fiR @H=8/W~aI-f r,8̅to}ٌB,ۢfY!Gk8!p]p>&dY$)$^׈j\wWG"CgRu'"^Ll؉}ͫ$]ynM#ضa{2^iT n7⥌`jAD{I@Km|~ntr䷎rBvE3炻xaEfNY۹kak,Lyӊbi[* 爢/8%:OߧXK*w֘$Qf 0jpF.jj-O< >Pd6`qA2,l3 M*1x%&7^[VdO|\9 ;gG~jaٶ̤ck_=72:m)gNP5W (cF5S* u,J nz!ΞP?I2;-pSsNVmUieĿkE @vuak bhP Cϝ(U&ri\|*5,Q8Sn$_{v {̓s>wJm?#$9kSpY=7-"-@RD}oI2 S[ զ dN6(uvrFQ\^7[~*9s'֝(t3Lw[=Qu<T/3Fi><s]B+$\8c+ȶXβc`ٖ̻}+9eR4N!?d"4A*H}[FSxrq]#U ~3#8*"\Ă *yMm!m=d窘06`/ τתÕQ 52@qKrhȺw˚۽D0I*-zexI9?%"Jbìw4{g6 hIܝs€F-m7rjTk䜩4jעAXܭ;CTAt, =K[k j9LͷG `RES=s`9/$bFYy\m'pF^;1GtqgB@@5"XyE3\@i7e!SJ;.TE3Z} d}PA^jpԷ'U픘 g)k 5a+9L?hҵMaolA6ū1H!ɹ~XO-QIwpт4" swټ(MhXUq5JwkpBaw gr5oTPA Pvs m3_Y-^wuh4H $<6bP["Dㄟ{_/aF+CVLu6ȢSfuN}icPb#=j+bvBB}.Y4yBdG o/`в5[VXҼB+$>DA{_6N VlKTD4t HЊ0h';d{ӐHb]ֱjIlWڧp&4WbHzZ445$]K$Lh7ZnÙ9i;!쓜"FL7:Hj~4[G-L3!NH舊 {eA٧0G?MHjC.9Dґm:C~ w9t ()F퉗0p_nuJ5#w`ҧyi>PPOjju͜(NRCyiqM M9yOO+ \/0jWkzR!.'ƾP0yk$yСG+P.4]eIJ9ШH5ZX0TEϝ@<pNI>0[{9`#<(%?'TKFLXX_N6$-9?>nE)dg"@ l/:PC>wJ_W_n[A+yJڋF5Jr/L..VGܖ<HFvtۦR]c`f) pnc!#Bq8h۔ڰ^둚 3"YƗ-,FZ `-G<_cf|^wD]U+V*H$ƭY;AXp/&@8dɳА[ـ"Wli&H.-NbB@. qJBwaؽt-cQ^mJ[MM L{MOzRu򩊊"gNN wt5p0k3! ?Hfm{lhqz"?!_gwwV!nE8Doo'9 z:W6`}^q*Q#x <7ds :7=:z~/!ܒ.~˞4@% H{[_Eu,Iw)&B#YC&PN4y Hhzopq4wR+"JaLh4>o'E5?1gs_ݻh ck͇.{րiK}"!Y% ]a #5l) 9rhsdR䱪ub'@uqRۂ SсsN}Is^}m+e;P?phN<]3Le pөU52 s\5J{$[{)A#4`%%JaIyGhA>FCZ'-.2qưV`r1ue>NT&}Q]ϸCwRPM9k=X7 ʂ9!ڄçYr|ߺ_2wIⵠ}/:>C!0\b'2pfymĬiVK@>$s&AݡQ鹢&D8=+! S}f4u{[9#'+4ǵ޳Jx^*gEW'.z ¬mҾגP.,\x/mu'rr22[$gH0w}c*p>{:XvJIR2s^mvx`E(e`J-˶;*vw*zKc崪g0XV |t.l`2'ى ,nb1򝺐v M7gC L?}E,J2EeӅt"ܳlȎE ̂N'^j c P#-1.QwHTg c^6J(:/ԀBn\\̡["o}bAHc;"mfI|*85TI: ) iъom!BfTdV-L A~@U#fJPF=YŸlT?-xCy/vk&(o}}.{z:~ow\j_C[Z[S$l=֡Zn?zry M`RmaF)&\V"RZD`Ig/O@}p"NgScJϲZ<(} $ P%*KZfHU ;I/ig˫8E= q|=z~Gc*⾴QTU@Tp FW%=Eň2‘RXz\P0'65Ҡ`RHr[gjbG/]j&=ۅǰQ;6~s }SKdvZH՘nӍBbmHPWm`,>lskl)<,H͡\חY$=AkhVxY@uܰKh%d>YVH坂ydHdҴ%Y)3dTCgъxzeg΀vU_Ԣq'Uqcp!3nJS8AdR)'nH^a Jdr3CR柯GAOO(Ejku? rd[ʝ=#!S/ |,8ߞ5Vι/=±߬T協N~}e smUqI\ϽC`!2]Gf˴n?-B+d `#_K%A|.Zkx ohB8{Y\Q5HZ-'5S έrQUxPiu0s]So) d É})wIL 8VHGeWSpu;)#5K[Y)· klM`2x.&:K_eWL'a+~:W5<~0k]DM2H{.nJm"v/4e}y WtW6 va'݉y֨kaFyZ3\5ך!O Kguu| u9刚x17P$L8Uד e(dE%Ltf?nARO*ǘdX1e7ЅF媢*"O-NuY#.m_ ͖q䚼+;\nsFl:=Xu)3^%6FU'Ě:7_xPU͋Ȱw$K%1^Mt )l[׳74+Ek\ mϊr7>莧Y4>>y GZHu>$b j}pLۙlE({q){kqNgL"@#x"D *FÎmZjS&O]7WK=cFrĊz=&|4 -!j*}TAoCVJHeK"VĶ˜8N5 ;dݏ76K2E:FkvہNlt=_֕2Jb{ycCn>Á;{8&)Jw6cN%s=Pp҈ˋ mގs k鞮+T9 9:֛QOv/-#R$ rDC1Vj&T'|fkR ;\,@.cϘ>MbNX hळ1Y֡NԂB~ VtcQr1  l tș>^MBm_24 H1g7H7fO&`eC>BCo?]徐&)B(xq ڄ_> "Mm*X8''L0 4Y  ;sABV Q{ UkuG{k|NfHԨ%.~G V=9£5ݿ(RA-z Wo>R}iِFS uQ0)z+G+uH`(;mן4?L])\ktjDܴrV@hƆeNj-ȿ.|Cʂ҇'"Xy;~3 Ca1h)hB&zHTPz?',)F,Ib?E;I6-շW-e ISݥAf^U>eiLvEe1žiWƯ0]99kt3fE7Vh&qu+j1ՒoɌr XYr|^c!!J`~ЎLZ=} *}M쮟GYvY7f%C/~C\G] x5Y\Bzܻ~ÑנJH-ls#iulLzOw2i4s-5+њHR^F_yUM >L0Q|Sf/q[6_"\ͪRܬ)+% w, /t? ISN8,JCnql=o]ilz5;] `oÿo3%gWݩ^刕k$.v,^(G k~|Z +4),Csa2p.V=5NK$3 KBIedMa)ˇr%{dž\a}] _nJj=X\P FI䞬FׅvpH`m}CQd,([%?Rw/&6ɨ=]{QCkSQBOn9v Jno$]~>Lo2MAN=[U A`?'RŨ]z)(v8~ u#WŋXigXx1~#~wo0L,%q@[!͋i~w(EϷ1iW[>Ɏ.1  6j9Id,EiӥNܨ|oaDs7P`zFޭ$а4PmUs%'Khhd2ApٳܝPA'HE>>JE<@nsr) >.׶T W5rC0+%cuДFDk&4a6IVOڵ#ԹJu o:`SB5G%/iv{l51E0RcHe+N x Lۧ.nHW?j7r7`mkX) 7{|ŠGi=>b!5X=n^i5e,Tt3V4/L"SW>WyZ+0c{QܭC(jOe'*Ót hք54kIej2GeAEA%V;hߓl-?CEH;QU!o_ήMda5ZgN{AdrQTt.w )>lבJ)4=-pNT,?si](trclS3Ϊ~FӗW1q<>>)RG]$qOZ^|@ 9Ņ@RƉWV8>/<`F΍ŊVWo@1D=y¿d?Ldmm)QyP*ʾnTr>P6t(԰ՙ=/f0n+`1hN? tQFڰd xY~dO)l_]=\#(襑_.[?TZ6S"d7|ulgz -lN~~q2PZc#3]qbǨewNbA[m*jTZ oA 3(⁔ʾPomA.+8O_*s0&[u&Y^ >C| ,O#A/T*l?@4ُ}svا8sˏԮ~ȴv`nZnyg`$;7[؟y ݪ̓}80(Pt#FuceeHeO&uug0{Jv ' xnp eYp#}$6.օ[x _69֟u|lƽ w`cqHw+eC332ho9>10vz\0<}ZyvWsd4ZFL) jYCDM ]R[V #Ts*;|/ 3$8z 2`vPowOdv;3>_CI|iCJeGp@}om ˮ<1q₝ v.=lu_gfrg&@vIb`p-.n+%Z#"ą-apġV{k \ u ,90VHI45d>jSҞ'ъX.`bP;OvKj .%v(kSqXGUs 5^lX&dp|2J |Pj%H')0{= 8 V49 =bUzY{A]ݺO1CObG LsfFp&1Yy(=Z >">W^sY-)}[z%Eߝd.ՙ˚;>tm Xay;s/'ş5;nT*-|ipFl"i:IUN z$x핪LBvDo2Mx~|:gaʀlP|'=dyYr"'kt[mWgt*eH8_E2_S)p&t?,]~]M9JWQydۂ?fxoGKeA&Rm0K~QEdg,}m@=%c7%?SE.SV5 8ҕd szz&XH=a$ް~¬EZF'7EжWw%3)N)z}~ X̶Px\4j It`wqNh $l<.;sХr3,G >u`JAPx4Ǡs&`: +~6)`T&%6&!cG[qקi‚c'v6]|,}a;zN)6#Ζ dHF̕gv2 %b. eAtfPFf]mA{ N vWgei#kK46a2o8'iqV )uMNb `σ #^/ئaOIPJeMf>c< `SHTME)ozAR7u-dR8m]1B“ n2K:q'9|y&u@oδLf4^5Ƌ ɃZ&Ђee U@Bj-6ӓ>%4ޱ-:8[@%? W;F;'c]GD˩#͖Qn*fCWhi J{i;6D͏xvy@y-V;c޾{[r|d9)DO],`5YƋr-2 .-dVBuY~.$D\CuwDOsȕTLw[Qƅ#^ +/SY}_/F (78 vWP =y.},.}~߼o!פ9B6#+,  XMLQ!bZMLAp5D`+ύ/^pt.Z^|b$;*1M=,b ʌ^RϟbAy~-{,]̍{IA9x}Z ]ͬQ~0׎uq } 6}8N 6d!mPvsk]3vz璙[}Li9'VLhzڝ_&߹97󝔪~ saR\IwC ,dRg?i>HpmܷdOExL$~E1ы.J퇋-A.phuYj _Qk!2]~TynF"aE,̎p~P?~CW`* ׊9sv < m' fhc K3YdNKK@}ƚ!폓کKٖ W+!͵ lrPxv"{;~jq4~da\P@Kto/\^ k'Qs+رXwr٫;l㸽2)ۿ |&w4::gW&+ kV&54a JG,ixIV}I C&3bkvyɓx3oa~cg¾6Gd&^ 8ve(yk~W~#W,!}8P OPuY+] ?zBuYo?PPCN߬ZX N-փLR$;]RSj .~͔e(q[-,@(,15^g^>cz1-7 xQDɊo vَ~e paLy|X].tni˫'^yM{uR}fZx[.Ʒf;Z[(V6hfЮ Qkqo,:6;^DTŰ|?}Cfv嫭'(rAEx(fŸv߆4QJEJ9JtOC)<l=[%=hr¿u " Ϋ".XH!lX)lt~vpL/vf`hVGSסEcL@XgKhOլT&mVji͟(jҸ/aE=8e N_ M𣅩E"ZxE'$łkY9eFpW>Hq^b94a2e@ɓO't/ɂjKL!r^258p3"%ȋh` QG?!f(}zC5LIWs&%1 XڤX,Hg=TR㋲D{ %1sPQ(i6+)@4c5Cc4Dx QUzƨ?~B?ry'MK)4nS'G <#fu}+4{ \nlay z'KOZBX-Cأv$?REDI|Ft/ftvۇ9 h-p63ғ f䗎SDA14Z`gayK?-bl.zS>2IliH z/0BJcՄC-` yn}Zf Z#wtoMZU]s?N>*/1b7[K|nڀ@Ҷɕ1m( 2Y,e*Z.\~yGh7)TX 1х>&ǕO_YSh|T6& IPdk[`H0p;a<uPE⢪"t`A"V%fԚE]f7 ێ-;i=0t4_}]i^@IB^9p@M_6%j 4 QzlwGy'ޖpش_u4 zoV-drٚݘ<~*;OҋB#^r+oOe@MgccSf=[uf}!!l5y4K#5d<]z;*ULI C V5tt)pM.l͚vfG[-' Bu-4]o/+\VEA&4Cvu{0zOVQF!hWb;'дgԟIL<|Z^=9j.з|@GO%e?T#CV=iQ N@YE a,7eVڱ~JbW bLmX0'&vxHGvzw1=8l:AYFgY; M[ɞh 0}-~]Pac_mыGbn\3KBJ ra)bŵ}U[{o䈆o(LucU; q/=ճF}~p~cm~n6}O B9SdΉq8vq'5\KvALXSť\NӤVJC~uv>ՁH "D`ߐC`C>f^/sx8 U?eᛠxت L*j P*`ՐI^)0,moe8'y(#-( BsZ(q&@T>au1,AnYsS̀R^!nSIxdo1d~SvǮiuh2N yAJ]ۊiQۻp&:ބXZTS+n,$]&a8wHRcxEƲ2ulǻ(y־PkZ5R1e¯ÓnQr}q PvK bw@g\R1K`gDdS\#<YlBl@7-+jcDWN'X| b= oCNg,j~-ذ GƝ/Z{s{q[]/TQ%$Gq8R*cAUЕ(|%8z'Tgex6h< u֓`^$ `Q3vWN-;9p-+06^z=.rW!dX;@[~ybE2uY<^`7`UG2bӢ:=52[lއyff4r)5D['^/Qaou\*Ypqa+iu#hϭ, 3+h\r{61`vSpU``Ѥ {0qhwSxa*uO=İoGt@vmYY?GG 4WHW*7V;C?e"8w4U5iK/Ptz+4hkrDMXyG'*4.:ͧvܮ9'dwx86JP|pv%y]etc# Ui$߀V`G!2&pdJ1880r??Cn/!xv eGo܋}N5Mr_\B4;2xgKUd2Rz4:tWHTN^P+fNU_ ^ {Y/{Gi0;X0b%́ssҫR{=^I %r-R4#(n~oćšb`>ghhiw=L$jU4w2yZƙٿ >IHΉ:Ԝ:JsLNG\{sVo%& F,AQ}X W-u99gt F4 g ]st*;:fޫ`:taTYf;.]+!-;֧^iGY/l u hK,ܠX%ܝ&kP8ɦ F&Q%vmߒ-vUMLM17d>L38mdrx".rbb֙VIR +ko16RIdh4 x ͱXY@Ϻ)cѷ.Di04Yf\P%#+x{Ke$t.'Pd-@5j>ҲD~U\P\2.8 r]6~ջ'3h Ơ|dM()5KwYk#P/h3۲Ո7(^J6|lU`UUY&~諭?dk[4յOSW~#,z?t4%Ӗ9>l! >Ũ2.!K97N-e Kf 4w9O5 955m{)~nJllna$flVUX)fB D4?(\c,;@gǺ 25y&r8nKu䤺X--k]nO^3%$J *>O* Y1Y!2W0alxTPEĊk{^.6"M71t 㐺0xRZj t1J#usD 6S6 oWR%uns+PūL^7GSOF@(=@ x5#5 S2xQPoĪeʚ]O/%m)`c4":ݎ<#{ +|Pz;Wd3`z%!@տ w?<g%6W}R8^ ζQT0qL)@]S8=U 7ܒ"nri\z#`Pѽ/  ʵdkE5LEz8%b>%Z?`az_3 0j~ Mb/:m|gW'ҍ)Rm*wZgԞ{Wס8G+{쎃%ib)Ǚ"WZs @Qb! *(I2Ҟ!UJ|/ nop?ӡڪi"xM|HnBjγ5*4{:-E!ł*>טH+R#{{壕vSJ6-)9i&D}G“{?AX%࠱wķxÆ2mò v XENɒdbvGf+OA; l[mv]PU3orZޗ4מ~XMLLNvPH3g g5L\y_)u'RQ֞+ŪL>_gO WwȲpʢ\+] ,.ݒW gu÷,Ph#>c b2$!Lvlh鲃.E%\hlD|'˖f*/'V_=#Gә!\|GCe`W1{jq.˩4 L"|@l}9AZL,r|9B&=< ̟(KvZs㣚q I.y#?u~ }\ xTRJRDmԄ5Dt3Yxg;w"]l@02\QT??,ybtcv5ޖ4uxA8I>|Kj2"h 94[:M:T\U]mPcnmYU=[eU\jA\"G贎iǪx޸?$+=§u`_^,7J>Z&!'>x0WBd$ I8þڑonY*# O1V\blR?nQz ̔AoJˑjH$RU]OhQz&gv>IW .$kvf(*𜪵M$Ȯ b٫>fg3Wi\KZ^/5mBhO|JŊ6xb]<󌌨H:}-ľb+3CFQ +8N(Qw%s'"Ą6#1jĺsEz"~P7ʏ TuZh0'!FFCo,-?aS$-6x\N346ѭ£mvB"h_DGhVp̕4;Qh~.]fw0 ^f ux%: Uvt ToyXh&+7`XDS/$6eL1h˙iQ /؟_~ⶐ:iDLg%}YA?an}lrCY`fTd_|!GPc,qZO9Uw+G,bg/DƛO1t>B ~o<{%~$7)6*zE˷ak1p pЅЦ)>lεq,4=X(%#6P=Ͽx1,V"OiaWT5E:M2J^xE6eK!/;aInigm0EGAbXi- fh9s_0?qz1#^~QJ5)N+}K{D)D rĈ2=WAa 7cgai4cF4HѺG9>geB,=OjWƃR>~.u1QO'1 {~ x9f5{ۇ)zt8عd'A н@PQ͘n ]YH }Mv=(ΜLpB'ɢ#]KDY;Z2J ~#y'>$ ,Z[b;I Pv$ {ZI3 =uDiGFQ'bpJhZGՇgв4gA/z<4__tɻ``C5I1@ iQcvZVx?zkQ궩? פT]ʨڵ<)t26RY Uz6 @Ӱ-^0k* ݀֍a/]IɒtBKK79Sɏ.xoP4(;}9`܌БY 2\**uq3-c=l Yğ)h|#o*GÛy@tPC[A?Ko[q%+qȶ)p&4F2S8\3Jk{M4J^k>o;]t&@j zi@ƚYV(}!ÅuShx,̿xR{ZN.=JRq?EXDt \ b[@cW$#@?3bfI!6}| V&Xvg^qC -yH_s''Wqim%\،#9xݛONgeS~$4n֨.?m1?1z傋$v tcb7t`7|]4<+fgF2gN{yg~ŝu=T"lUP{Wza_/J]YkNj-}bR,,B4ܙ*,* 0Sv0w?9e?kitdg*j Yx.tJ7CcVVǧD2X|)I ^F2&KGeq$w;>76lxXpR%!(:)Y#߸3>I' mwhby6q0 a}HsZ," 47mFT=X\/G94Nf5vtعu:9yJ*$Z}6eAJ*7X@r#YdC"9B'Z_\?SWoLI:gؓ.Dy9 "77ԶWZn"q(UH&Q7Rx=!z\lb} w٘o:rbS 33I;z<Ép_M}kU+@7L !iYul1XԳpHfKr7|]ij1sup~(i()Nrj& en^-H:+ h<#,@=T7 Q(Z6?~m{`ë+?#ūBm!HV"^?kOio^7@Iza–rܖ\ !c+<ֵv*@zf[ƚeH07%ƪ=gdq^!;XPwbRHZVZk(Վ9 Er"q?4:OßNcfķ7!Ϝ_g^:*UL&W0HC7 \5>`tZ}c*k^)Ciz޴ux0_>;>\E[~{Y}rF!]qX.$>0O3+`suwk5z99|;x\7n|D*yl USeQBD`B@ *g(2{pGl}=JKy,B%'Tsnz߱P8TDKR &YUUŹvu>F({mվ)j{)j'uݣ$ޕ^ W%Y,n9u>Ѻ>% C$ SHXQIp"S`n~hx]H^& LĉZò㿻ܜ#%9Ԟ`$b܅.ViJilw9WGxxWP@9!Nl4qx!'|Se3o%Q\E/obCEKğLFT,vz}4H_BeCpuƟ 𽦧rUQȕC$0ޜ@- ˊ)n D7 ndT4XYIևHWOZUS6ˤds{zQ= еQwo& bt[ ~/qՎ |ԣ6-X$ꗁ ,DEmi7/wG0m쀚nwO "\l%z{1 wĐ bȫ|~w35tEIX it0 @71!zH֗IF<נ;Aɭ{g|6zC!ɍ+WϔؐqdhYP6cH:;k$4ǐdDs`yy>6~3j% /M)4JtZkJ~Y|IuK$*iY%{&˼E@;j_Nkeʯ{#-hiɠ> +d3AQ`t]Nur*2$7x4*E! dD?KH1˛/$3 a6 LZ TP9c|pDh֡$S#=pO-w@^=:fN՞(Xqyh:l"b!sulTߓOXTw̽)F@XĚjCcjB:^n:?i>@MrrޖY&޿oMmtYj{üBZE'MxOMcJ-B$jӏ?}jlSWY}U>="7Ig8`oysw88)_"T&82Yx!`l*(ȑPŧ0)d BݧG8d)ett*J+'Z ϳ\ade%?I0ܴOGw3 n3zBL6椚ha]BE7WԂ#3M>JKR A6rSFbQO`)?0=jWwA.kZ,C܅1ӎ蜫ZVP=jcRIv``Ë&'=yPjr/W]273I;qMk uI/aG'Ѵ1Kr|2(12@o1t-'U2,+ki n/gwr1$-T xYy(a""4H>W/6Xeq$ײ1..2 4FK QJ'3=DIӜ fS OCyjzCEjӆU]/Y$7|Ep O="ܪ1vPovGD;]`/OMx|R)\ҫ>$AhF\ Qhc!KnC^u}foh]^>E FJ\> 9_FRF>{108/ OD!\/j`4D% aQIA+V;&zD2L)L\@61]?HHxAHJ<fIW>^KU67 i`_Kzѵ{Q %6Gq]k"I.83Q5ќ\/- >Ln\xN֐ҏ\!MV>e]Dˌ .c r8WAAT1L,p;Tvtn8* oȘeLRx.*n®O jЛI]P8D&酒1U$ŔX\( d@0\-{ `mC((DS=R!ɥ/E 2m3E+<p#̬l=u#<LPgGSoל L9sPyAe0ɮԴ)|+WiNKM2< C!q=ǁSC})J;sDw4g):+ːCS91f>C2W4M4w9P;E+FҾ#^ZD| d5݂YclytqRov9y~ER@h5ZRF\vm!!}3.+ 0sb`J*mXMB_.rFG,tbO|'*= Պ/713W7=V3]Vyv}ߢdK#P$qR< N(_ /C#vAmA.*53X8#UĈPhs](%YK4oB&bԋ=HzZ4uJO&īaj pŊ@;.ʼnC 7\t4Z|+E4)Br&66Y,i]Xsΰy-ĻgR=_+wĉZeJdS, ؋a/q[7kRyH>0 ֱTٺ9oI$|͕3q;{exg+;א*ZƇR[/afum!읾UC7) PeKUiP蝑GVi!+21dB.GM$9ǼM>˳F)\30 '敪)A+5$$.Y{Dp,,ʮ F]x ΊqZXMSՀgK0]Di9 wA y<`K7#XzIQ1wr-?2"TZT/IcΖr7Rt/Wg1ajhi@~}xc_C9Y"`:wDKZ? fS`!0T3FҊ1\7vdFX4c-:G\%o*+(M`plMRK.X""6'6Dڝ\м+*Ng}d˼htcݍ[TB畧XeF.kxW'el@CQQFȃE q' *Y廀pNJ̟E[ӏy[;V]40?I.R Pn64A(fXFF&(9%^]rQPNNdmԊmנl2+{7ѹ(^;|=%EWvMȨy Tڙb !ҀɕD *O;+PSG r=:JδDrPF#|1I,:Fw$Dk`$ ap^rrt[<ك b )[P:SK`{}d%OXA]娦-~SZ Ma{ɴaбP^I/6jْ"{.Dc4,ә"Vec_`{_* ȣ',hL:1rV X_ nʄ'"(l~E7%Jm N>T߰trMIp>8xzO[ Zˆmd%4C&IߵCvgшAɠʥ7ra^hkb{K~[3ۺ~ @[W3oh< ։^< yM󔍒޶ 22HcP;T !VbJѩ8В6n/72Zf$=`p<>4QԃӀ¡Q4p*rHu@]`y *賀׵(hW\}.%pE@,1@0Q1>Ҕ14J󗑋'!߆ةoZ>>_c9Pv̳9WDx',*&wfB`βRw?'rI=& :+JQ4 \xtoQ6ǹPy&^G -hˣN,˧O^Xo^ ƭ|Vis*!y@cy%^ 8q=J2ZnX; h*zu]@P]S+X$ sCJy*K9 1?y8ƕ,5 @;oFwPޕ,$smɶ50$Dz |)J޿Ҟe)8MU 6AFh~ء峳Ffñ:R)ALV%b%u'(Qlߧ[ZK㘥JG]wD^;C? 7;eB XnoXjV։i'7ZMU_fVxFL?%g.=n6k} EC@w7tyg(D,;ےDCCĉV8E Il}rLHt?,0s;CB)7/p7p̏}Y^ג<2lz%(S8\}G]G7B%)z \H|f2.0L$i(AnWX?F 8bLfG3ԐrN'㭌pZ3NWlV%zrijzx2o=lO/%+sŸC{ MJ:x6D;K./ar8IBUh!ҍz' X>UI2X(v<*$VqzLYU6KZ^!ѷA?T"QZ?#G|&tX6.x˹e"6;-$q?vZΔ`S0XL+:p+ -H@֛_huNZ`G<1 bBnS}Q*8(l ose|fD{W IuaD+ɏf>Ŧ\wg@>WĎ 'hL f!6ځd9,5#,|st7-ʫjtpܙuj{tأ.Ha>p J*_V_Ix)UU"64@U ϳ)*P  r=X(?*`pBRK۾HC/]C:t*OGhˆ(bHN[g_7k;Iڷ0z5/W>AbϽ;aS{>4, z(=+KhP'p!Uѩpfj^:=Xv9۷7 >pG#p03۵li׌pX?&´"t)tW푛2gɳ&vjFgZ$$. e{P;?h//&H  Щ0 (\f iAȖ ޓ_9IsnڿpkLzTlM^nx|!<P6};,0T,\ͩywXy (Io ҝat KNe.A\l'{/8Jeiz Զ-G^Pt[)d6HZA_ E9y^VKAQn 3x?  2(9ԾsOtB7vcKT CbbF L3 d(J"BZ({4 詊V"݃8ǣ2]I~8\&qwZs521іCSYw'*K ]-B!>Ȫ(yIϯ'7>xʱ $`'{B!GE$yigOi/K$*X%-hW.P)sb^h}&g|+@v]Gh'E K㒡\4^~Z( >NhshJY?r{ݭ3Y톸,o^cR᎟'1?SH>|/hZC6C1;4r(ߔƪ'RhwPa0Z9;ly\uޝmKC9= 1M5%xQAI㿓@Px1#AnXQ*E5?(oUV~T$XvX(Jb^Igh1X'7uIsVG:=OV?P0Z--! 3ML"*O0ȄG NF;S5bY*L`( #Hĥ ~%i }'3}?f$S͵UCPꖽ(JL{zo9f7փ;i+rP+0 FXG-o υO{ $ݏ;P@%ʁ!scM[yŃ0gݖR7z0^׷\@Y&}O3:?6m%JJY=Eu#1?  P 1 f7WlaDU mP? %@ZK!3 G TtS"s RM\Z/ȹ'(Dϩb ۸fJǃȞ{&x_^ lst)u}uOR;=v+kn˂ShiXӲq_O[Xf oIayS+~;K4&$"-)x#5믳#,̞w;cK}sz{u\=e ~L{~zgw([o# &~l=]]|:&ݘW̚T%J;w!MImWclJV jc@Uxarݷw#KwQm~Lp`G5b"ET cQQ xcSsvyLVˇNp~;\W-?J[Ei7vw n[55mF4]}PP/ !ze6.c2_tSvwnu8S&}BVyN"tJpK C_1EBj|SP#E+F dC\Pu8H1Fրx6c/6-K]-ے0"x<,ܻp=Ep2|zP"rLb÷'qWc9oKƄ f.-a2L56/P2%R&{gy$?bxlWe H(gqTjRSg[L$ꖧ/|BzRL'vqCà m^66 pjbqYrg_C<9i' Lg9?5aukUOIEU(tzWLfNdn})ƿ$O;iˎ^.<#L0CRw- }^n@l=iRpHbi{ 4wB6dz "4~MA%'3|]w=Q P-hb]!lOg'ԼK9+c0B+]*a!X\)[{(ϯ`eRˬ Eˏh*=!{]@m wPMF-5I=*'P[Y$+"`5rZDv!rkˆzb?cF S'Tq(INAL{tv xdL0|lCP5,: e}&\YQC 󄜱PCPQ! AAr28ۚR0("5:p%'m=Q j FtkD6[UAL$bKI2(Tc# 4ҳb![V`hpSUټZ;-fv[XՆ kϷ>Im@]3~}`ЃAn0z{+sWQt}|ngOޜ溗+Ӥ%Mz_"j }+.3*C1d;mm!w{CE l$Aibukpڞ,HWVY(PcQ N6b8aдБeZZdF tEwZ I?i1w#)mϩɣ y ='2I铂kug^!˦y6XDŽ~XI7<Bl2O{KY);:2=21l\bpAi@3hu1u DЍڡCA-c`Nakڮ ^{rWwC@?(̱?iUElK!=~X(B =U0N|͐&S R96\8B;?8y"J3҂-Ufa1wJu6T ItPo]ڀ&#Dz PjrC%G[rQj~u2;?jϿU~ڭWpH^ Kyǽ}C$_[tʼfr:6E?M4@-jPX2{?'WЀ ui[aמaϽ: _U8(pl'dUTQ}sЪҧ8_G-7(T[Y<VbIρeӝh ~LБRS 0aXS7nG?)v;Ͼ)¬YN(Oir0\t):6AxS )ш(?gq>JlQmS \\5N8O#:&l䠺~C&aubP54@2Ϋ}`'H]N] K6Q9&gǯuMD4ܔ%l)q (Ēb݊2X&[8x$,-HטO2Ooj•E 3,0p&+˭VA# Am.zAwd"FQ R\ZM58U+QsW*1T(@ۼu"ΡF#nMr*R[Z%Bn,JfUB%[uA4K׌uͤp~LߒV%c7Vx=$O?l:v^hE K6 .ȈIY?d{Z2?@ӳ 1M(@] -T 5|`LG'&~ݻoKw=kkCzr>R a˜e1쉰W"*p lXY+!pfe]:_M!oબ*:|[6yR5G3l4H ZϱRƒ<r:Ϝ/S^}:RC̔eG]B%y^m<`*vﮀ`llGṅゞuҭ&fG&BJ mPzv}@3=H$d ,@R1H\A1))`z!7O92_;L%ɈW>^؀/;DFl>u."A#[ IIZzX=IoG( ǐs[gX2TFP dtXՖeYػ>%UR6!} HpO" Z&g湱KFrwOҐ1c^돩N.Dҧcf"ˊjx+Ǔ5.͑G\^ֆDٗaΩ_PѴY$~Us A~ДSE=ЫK|5F%6GWbS: WQ̍eƣ@!IZtH\$!:L6~.a+#!۞,@ly'P5Jt|51'?1frXWYD<^3 Mʊ]/9|}Ψ iOnST]\jCoC?^),PDim6 n U 4#-,uAcxaaVV{8*rjeڴ2os_mB*e Q@s`*4oLYB5G;JŮö?'0 @9_(st ^d՜ }EVKoaA6_:SysF6JOtkP?逩R+U`]((P'؜"504RQQg p2Rn&Rh/M_YvE9sL~ .jS '49g\G.~ FA&SVt>@ă/:S0ZRABbAEAS_$P}Wpⱪ+7D^ 9p*OL v+iB08aC8/L!qg;a[aѐ2{˱ 9ebm*ޅ:4 Uc| ek3;^eEHgSK$Li^-Z kw)ϙ29ZW|^Ʃҥy7P~WiiyɗvZNvQ+@E), %~Stxm#p˞#sLRL1nRsY[-~g.Q)=YPE=5-'7œa:ƥ*AJjyU;Q@JK|uq]+8|1BRlf՛{ w%>31NNɆ:6`Xjw%m \dJq@yTTdf5mz؉_9W.w 2iC8s%@NI^؆DuL8@_og4fc J5#>jeB*q㋕HR~Fve ?PwH`N/{Z&L9c~K>kNVY\Ԍn6ˏFxttRIcWKz\' v{H"'J?B̩u_n/u|Nkmq*1UؠA(q fO:6QW ڡ[e\]orFLE=}S}VO}ǻp`)b֩WLSo<'848PuX}97{lmn0Kv1Cl%(*rDRJ<$'YNNd|~QrZt Ŭ IR%_F?`s6 ŏǐ!6fi|N ʊmjh[`͡UXi6B֥1Bྐྵv̗i" q7CĪW\'˄R8A`z%NIK=׍b2q",R-·\9!ɊWat6v)kl7>)D"GJެ?1LR%X /eO%Ȉo}r%`[Eٸ@'r` OCmk8h2Q*"e*eJ 567rZ AO[LL\2vH{Sca&v؝|[75 } lǜBy\V$*_h̖bYle7cw{btKeʄu@@&B2X&F -Rq/TD1O qM;<#w+@0<6Jcא[l2gB:'U5ld%!5%0"BYP4oU 0K5Uf~igU,{mAء>n=ZXQhsHge2څL+m-ijhfMt&H=D0gNc&(ұ2YyNZ #Ekk X{c):ﯨGg|Aɑv!IH?کмy=ܴgQEYAA!fW`:)f24KLWV)[( = D(m@s66y`B ԭX({xU>ЈL:w/p(0Uy!Y8S5z5g󑺇?o40cNmBˁLѾ)+v u'4_^lI,~@h_ʕ'H ,v  kδp٘3"9/XeU1qQ&Z '_:s'QuȈN2IzvlHQ{>v5y蔳nAȀJ"yY2 RBF{%}8TG7{6\$&4XQDLHzҸ L^^GG3z$po_6WН֯nh3gG#KCYBCGGeܘcUNHA@DA(-αbpl Lg~i.mтG=rX:SO=IO8 Qgщi9(MLd0cVv'5z4@]-~nΟewmd mw@/q5 +f wDF5FT^"b׆eДK INw⹪RKa;X/,7i[0P噯cOb?Au|}`M m {wn5%)O~0 ;w4@iZ0ԌTᓭy^7f8 !W}h,q/4B`qǰi={tz*qchހ~^GrbcZ' QQy8F*dQ'FݶvdIC,P6@݃W2紶 Lynbg\Su6qR'܄ztJCW+Z^rMIdc1gkԪL; wNC{0_ġ{Aaȫ>n8"|Ȑf|җǫo+G/4>.QO \r:`(YuXbl:2_>@F6 z O*gw-Ti:fNzu9Tj}A`R73nv4^aZ2>;b)D"RVcTf0wtw nf n2C\ &ƣ/{}Qߩj8z6A3V$VPYw &XCCjx0"SbYcIp aNnHஓoh]%QE5X=y 49cP^a( +W[Ti\@J Weq͓lwd~~Z =`ܒ{>}t$t9uΖ'栆 n7bZE敋C$ Lބ/pC^HHܒ (*\똱5JĕV囕/tbL(gMgX06q-簱}Yh.Jt7yL}Cd.ţ4vDm, S^E+M5iP; KRcׂ/cY^La%< *LyCӇFU72eSd`̆jwa3jNe~ 괪i Wݙ>͊q}pPhjU'6+|_w0q8;*#2TrM]sRrC(T ,gLhuJA,"ބ`V͚)M3̺%yw@dX7!E|U1JcPoh {E6!CZ΅hr]֏=s_*(?Cm5ƤvQӣ˒J2 FծEǷg #屷ͷ/$yhuL@ϚAuvӡ6B78ʶx.1Gl/mkZg3'*8P$:xCB^v+6 QnHUfv+i qQIp_$ KBxW#z6FiNn+`fx,.\RjDtpՅ:KƲw[e_8횶IGTFv>I;cDEAFCab%}ij}=cuw5æ* }Vb `YbVOCd[=rA3]j7rX#hR U1|_բ{?C.'90%āp.'#*ao)\kc|P\Mť0az R,*1L,L1`gהz3\ɰs2f#*jf4hV ZP⥊ɸ;CS>zn 2RMIض̾ԏ5WWaրO)bDcE-| wõzh_rKFV,5e:%|UHkBd_ j>l‚2HQTw[XFG碆eQǥk ň(*1_4bV+f;mب9-xKa#S) \d3$K h.?u{ w#iTMʎNú385W hզFJRរeޣS,)~A>|?/UL<ߴo`J` )h(VY@سQz­0fM$Y. :K @,=аY4Q5$uf]f`ە-0vK,aI,_)@` ֆ$'&c VJm_SbmPنr̢n9P@L{8IZ`o^xßxθ%>qf@p,_k_o3Aܳh!Upp7֚4tO S&sv H'[BpK c8EyB@'Om5??=lA¹ =./^cH(Uc졃8%$'Hl@1򩭵d¨"`Ƣt 0BSS9B,Oslfu#[F>c@Dbu&&=-+|of7]xkO+yW m|DbHC@cQ(%P}m9@Q\!p~/f</O v/a>,AZ~(6y\?I!W 8!pKSywԫ!(ߵ{ ߌZJȃ a?û`NQ 2NkΣVv[o`Ȏ`jݴpf(_81H{>6s a@yhW9hZ=Z0ϟ3qZ8;Zȼ;YN|o(U>6ۥAq*n8M_1$+_[q-_'uv𷾙 yҍaq!5ԁZڹCZ,z^ۮ ~ l9,ZAPObx gC^z>B)[6q?;-FX(|^䚳d$'y/X :-<ĪM8eqDTH®(ֻVg?g8 ! 6?oM +qlZ}^A[&xZD}W^!n(;Dh6TE>#kַdג))'`ZTxe >oT/WW,6BBFWjxޔ`A[鈣 [HJ/b,1k{= ()lݩ:+(pƖhry2zc֦m5u>w)jqC8dV eAw4KV\(/BNĝ.krA@3$b@-(WeHm1T. 2FԶ5!u3Yy r=e gVpkԳRdi`$˽O.\:ojf0NwvkÒw,gCXe7xש. #2 i Iw(y$asN`z hZWv=ъqwg,:cY 5a3JTa%9Bŏ\۱Qf7%H}8]gZG8l Fɦ͸䢋,[rC=&q i9?.ǁJ='$RVg rW3l{u>.z ggd0GNS:F:o,Ek^%0rT=l((~SpERqWViԀ)F%1.aIABc%0A5X"F0%̋=Vg!ZQ [Krt4X?FrID%xܥ ␉d]{ Y򽞅vT#Zb Oa,TKj#^Xt"7/$C0$12?׼F=4Bޮ0D6F_ALBGu9]YX) #E"Uq J?X:Y^"k4"@rXvOwnOGV̀SԐ{QG S7;ITHגƀy+!ʂ0a_knA&yi$k8cas.}?//|s3 ',a"2j`.M (Sayn S4(-{br)JkJ0iAI:?1zBYZjlG8HVt889eU%܀+ElJ; 6pZKg&旒6nX`0Sf6"d~/IwT݊s^_@vX~f{co=Jx&nRgK v5}HU9:Iz?xY za! .ĬQZ\koCe'Qdu=K8-lԪ֊b%̆nhB Vmb N?]-rQaJ~j/jyPY4C;Y11Ph:Aވx!BU8٠=<~⒙"]4wy6HܵepѺe=6L|[̾1SЕYU7s,#^\lc`>_ j!5֘-j4x@ZN2A]z^_uHdfePAǙI+^l^}ePnہLh#MJߊo[[!*Y0'S2+cC:o oi/EACc _eAT#_t eȂ^>_#F:\X0)٦G$v0Eחjt->x1ml߯6߱:7y[l 'y0F#ܵs9RzEMRm}\^lĖI-|=᳼Jh6NȑCT_Ѹ7RB0̦b0vW}{*NR'p 3+QiwF&ְeūx  BWKXd/E:u=,r!&{el)tĶc1j:ɖ mK״ǡΪ145g%"DpӿM%V#cCqe_t[ :L-uOsn{!Y{-zt Ay:.{SN*E`kem Bdwht~鼩$F'U82Tx`[LXg 9'դ)uxMÖV[E$+XsB}Q,g."oW Ilnv,fǒ4-?Sn$ 4nvlڲj߃,+Τ~p8b*fwAbf{IQqY 7@ =M0NJͫe<%{6FܯM˓d]&AQhC4>mй%5Y.AmT\NU-;c0d Nl1 & ǰ2X:e֒gf)`O$OސhnT@jTfYՒ޿r\d?9{[Ptҍq{_)0xI[CQ$`uMjXw~ݹ/;>n\ӄzΘq9_8ӳ[`U3{T\$5&gHT*Ipg90 KsRV0 .hxa[HԋtzPTZ>yZs.ȪuOZHnvi NO5ܖ .<:v8ԆÈ%~0\%*DK^3Ґؔ@=k fr?Wv{v5ҺCEKu'K9}D%q, -b4,2a͓_Z T7%g8i%Kd㫄y<+ 'ɤ&T CXHz+/":6PyEdl޼^\lwhhsPtS;93" #un=΄}pB؂åpF1B41GuR+TVlnֵdhRK զNN-ZVYyS;By8[BcrYN(P*^"1hIe*ւf@V;(PHEVFm6; U`,o!qI1:4dt!W>QCi #E%Gl dJFɇb]+t"k8P,܂l0+o(I=h=w˿᜷2W,$~aNɒ}5?`nHj,DƬ6MVFzMq͋: CpɩwfRuP*8$Cs|x #%)fT XrJZC9#8+Pv^$`'z}IB\`2Daʧ>In%Ϝ@"ժqV , G<`a6KщDS1uw\M%3`t^Dj/F3e-*qR [?SB:]q  6eZm*3 Hg]ͷAlDđ&'*/սxXMcx@|c'fK3Kƭhs2'+_ _^R0:Ex {'":c.݉8ɺT,?d1R}*wFeߚv9O!/hzq/_t'B?*UD ,h Dz. K6kH$}@v)'/Fuxc!jP%B iQ`y/>|(l]q3Z(ǏbeY)>XÎ[enkѿ:oM V:rN\y5q_ .S'jPV}D k.z-TBy6 XԎع}?^͂ Y:~?$wdn,9sTŷ襇Y{*szx 8y0jSUL8R}Hfs zEQJ£ZokB[ʼnoGqwf;ܸDC"rBoZG#X'<~^4qYq TpATAj{Pƹ=B_bKR#ȓPy cݡC&zRm/\>m5s I:Iia( Yfz$(`j1+?ξvWj%ⶃ|G'*2~j2qyЊ['_@6nt i"+|'ڪ#E賛4K:y&\>&te_92LHϝ-ro?R`?Zrt(_~SZ=Yxp{-9rƉoڏn--+x%_`NDi qAXƙ7wؙէj{FwYNh|BQOI;B@} V+["=-}_G'5U: Q2!B-jo9c igET< /d{- jۡEI#F17j_V(е;yJ}5Ĕ#LxsSb)8XN1ۈU(?@+N z0FVP\j'ѹOB}e7 F`+4[tfN6ͱ$^ ➦A_}z0( Gٸ7LQ-Lvށ=BY~+un8$j J6$G,@?pfd&%t.|d^y8MQ٩zDp yp^'e-Vh}}@4Eqg'mubfwp/*2tXdZU]Wr\,0\\de<@[{bn}蔐ڵR}k4 !av)oqi5L &E ͊ Ѐ&}Q*]ʷ2 ÷9VCeW#koC9*%A*P}+rnY6Z o2[p=Y#Εڌ t#]$nN.}x[;;hzb+ įE6'kzޡ /Œ=iurؤOQ&+Dƛ8 3?[\e+o A';L(GTk/9#VaF+9 JEiy$O+Ge)+ :|àN6lsKn7I, @!ZNM<ߺ'H : G(oV̍K N#P5( jAѠ2B%$0gL;Ҷuɀ"/?FMl.@ю=F?)l܊2_a|;HR=(i(KHQd}.=Y=Krw{j%@ 7eנJV;蚶BeGg,{h}@ P((CT, Ӧ[nSK#hQ'f3tT6֏yu#u PN".JwJ nBk."G(ä= `|=@߅y,N(#0=a vOVO og5#fbkwDDR9.+Qf~9Y!A1 Ydau A qfIR dAY燵'S:5EŁ_hD~p{Lf sKrLj9YFCSԏ%>Ԫ,zdM@q?&&K8nphF=eH QSBˌcIZ9rh([?K)6v2u\[Nq,A$?\7}Bs^cDZ#v0Q,9[N?/Rm\P&XbeK~<ܹn1 pG2 Ql^va=Rx}[=(x3_y rΛT֕nXH*!Uu2fR6Yk&p:G-ƊE>vqUpѧz.59'@jӜ}a šIjl,b'6V^ ;TrߞVABiѬrdIsԱriU$ rzRZ,9K! O r<XitoVk}TRfgOu҉x/C؀=9l[3 ıS=f_]imf'i˪ g([B9v]wu7\Θ>YqhM;$k{~O&w, J r-d) Fdk$V^1ԛTܕZ{!IT楕VKGG8ՙF&棚j'bH>zN2 ڈ EoЬl~AʂOt݊X,yv~/|ыrU/ ٟQ?DM$#fc_ӐOx~P L4bp2wc֦j,:B6pΛGM'ۀֺĽ0)A/_,|FA^ARI2%;)5;;֥JDI";'PE Zީ~ĺ0<~WAE1뻢HvFCψs̺6x؟0F2C?,]6"{\V#Ie9_$c+zqHd y, QJ/, CǤ!Ruo]>hvkեCyc"0`֖@_kS;(d[׵Pv ~k&:xoVr=3PI]M]dN\>Eؤt+ ZT/E6sU#:"]oW}ߠBS(Zq08D,gE>2V[眚EȲ'-?~!pk*-%v38 F@F ,rhN!u5ޟDYڹ/nl%[$cWWv/Y_4i#F߹ńqSY'?dV$(ӦjA1LY>k*lKAQeA +WMG9g^ͱͰ+*E HPz P3T)LPfgp>sG$+0AY`*x^r~.[OڍW4^=*|X8\qZA9rֶڏ/2 Wimqۏs P>ѿM`s&4 Ml 0'8#D~;U\c8FK ͮE"*/-LC |~٫SwtAfUB{XuyZYPU*ju~gNp(rp{ۧ55=' Ozcqj0mML~2ǘW7@;;`2,<6M5ۦK7}oj po K.+#PyE9:"@skuša5N?WiY~f%z0dg-S6Qa^~tfSCMѼ~V.3fDn{wӣ̩JbK0i tno &!GoZ&B$"ZyzN,F`dG5\ҽ~_JVVQ8≒ôǿ0 Aj}DMg݋<"PB32X4,Vѣ#̌=L*?3eD ҂%m9si}v~z)ۆ ÄE'% Pj眙0 ۾FAHK q>.ufͣ9n4j]AvFގ$7jOM@~> b`r^#0Y<rxq\KrԌ`dV 'vʯ`0 BI JMLjsjot\cϛ }L'>"S#jCAj^h+{KzJ_e#iN`LcDp;5Sn wӒ+hZK)&Z48 i@e[c=/)Z8Sv{e'iH & 3kU3\&I666q>G AP@:,11w ~Ȫ)@,Y{}/KTre?eEW%/rf0큷#Ax@5H\1utWlLDη=RPcJ݌}'wxqhsrh!sA)Dczޫ4|eS: 'c B0|RHm!2{~y~>JbJH( xn0ϯhA?tmX(a$(ťנYtp’{$hlC@v]ε39LagN"N9kp}w!;J]01"W]CI"@yN9uPM."eD$c.`biרPĵ)Y*nE x fXdPa)!027>KD9icat;MS5m[ҙx $5u&:OӖ9dN$I*o.%=lm&D(PO#oYԁ;$KRP }};~ZI:Tb2hU;%*aBн(2pPJ:s W8/5 by1f VĠ@ #{ǸRS}nHJ'ܕ+IuaTA47*򕹂΂jlsg}ݒ%7L?󷏺ڈ]$6A 5%SPlc_= m"~W]~Wꕝ lx\\G;n|;D&F(#HV䐎i?8٨!Pss+e#GːN_iF):&9]cߢA%F-ȹgV)0v~i@ # *9r뿛u;n)kb>zt. cbD_Tȼ$3aNRв V ~ Sd-n#]=E6n3+H}̵hw.,~pRp-X: FR/*L梌!"%=S-W*BǠMWfNGHξW(@(rxIɧݴWptg1Zc-ϞofgsEd.C*&y9<],x$5lHn g4IIKs$ !h\~t$\ƮTdc>cQ5u5e2+e! #BU} (:2s|Q9O0jyOn홄 ̪xyvr:=UfgzToE ri;<, lU\Z۱:'iHd+>#ck׉3yٶ613t ;9GY6A@WSDpg/6*0^bAشuYϪ"h (*zka#ύPgbȒ{vvoR$7-5QW!cFSz 2**w"_ 7xŜٔ#:e.8e E|ѻʟ'ҫ60yލ1neiY4y"90]ɐ8h-ܖf {#D-I{Lũ*-0sG8J͑s @N ѐ#~^NVIAVod压%rQ̀f"%0 e_m D4<ٴ.э砉|9, 3KQư/ 6s)uuA) lt0u;NgPjZ3]kҽ2%uW)ߴ"*Ʈ0ł ^u;;CU9Hl27 mZ? wL`d>X7)LH`0J,};9ZMO^Nio+~PynX$Iv2gD#w~ٻ)XNsrҔx[@ "Ocyn<"gXi5f_=6<7=uv^FExˢ+ZGUM(<{w O#N=T' u̮3h"ܤ }ĝIwP.YMɆ|mIdiN"K9'fYGy kCꧻid* ; #M^M7.)X>.ʕU,u(OQ.Rd tシ&;5lAK[ 4  )` _mY!Zvx]Bs4pxC/\d_Y UHvˎz*1UcvnMOZ'o#" WmmD@/1=4mZ4r;EM\V\NYxsbm۬0fNnIz8VˬJ+B)eF.^ɌNo2'';'$$^E{1Md4V0 9&raR&Ȟ_\ m= &?xi+ oj-e\X+Y\n!s>TV=wb|xUг:Ň}LUĝ[u4߰`,ڢ 9}K$| ɾyw21QK_&F}x@ùwz]Ǟ;TD} |s4V35W> Fsl94U|-a=᧠ I$\v ~C!w؁i;J8 LiXPf+J,Evsq? O[{Ԅ"-F ϵ:'M ^UNm&\B G(e.)f-4ɠq=6oG~TQ|#oh紨.Q]솩V?JQ{@Z?nllz呢vN3㷴ը)=cv/E-w x<5{LǤtn9'py8Uq}/Zs(O⮣ӢZ$j`$+Bd澵Ux<^{p+/ܗC"SwCrl_w#cuMiAP$7/Jt\ /x-E==h@ qe#BF;:$o(Ak{?N5c5<Ҁ M d?!EIA姠+AqI'!Dڋ gՒukb@ mǸ)s9r.xV̀&lp}ӺƻuBx}{XK-ϱLRlqCb]hez/iw@ⶢd9S@J:dgs !imU{^n~ ƻ罃(e0Bz @jD),,Vdx1?ˮ&XrdUYX S$}ROq.hkP_'6{+iCUy c>Q'˪?Sy{AmHSVwavs s$u- [KN5[(u_5T4{WmhƠBFb'wlsqk'zG[Y+;^9pv}yLfY("*v>K>]\Ⱦb)Qvedua]@fdyoT{p3]~?X`ޔzڶ;K߼5*gӉF8HlcNjZ\x7:PgCkҶnP6۞v1'-bM Mv]H,U{ "I;v>=Q3fp/t5{T4^ǙtjY9{{h&REjiJ #b8a#O/O/HԽNNŘH?/k%L=ޓ8oZ 1YA`4yK 󙑥wN%j""4&+v;`4IaNV6{L%G¿Khnm܎#NoyX;d ϣz:F૤ę仞|QY!**j5T`í4Ft.| EM&(l-f;QᴮtK-ozo3Ϭ̱^k F1CA#hP[`vr;ꃌw4Xq?O`-ډFDIuu}@SkV[@"F:10^@G ]67G;xF%uz֯ܔqX^%ģ-#@H՗Mԁ 6Cɦ%(MKn%X0 sȋskN] Ħ:aHL:HrlSy_HvJ'N9'A幷ɧ~WrGz!&H.yGFk#,w5<:&X;&& T7UJl˜ܻ&M_p #R? *%kp]Y&n/7Ɵ)}ػ61r@ՃnWhgL\H+_+/ߤFbذG !{\VN>el~L$m=9 BXj<0LQy"~k8u7h΋$5"Pyslɜ`` r͏_ezmz>?WFr^3IzҸ>!$梪!7]UҮzV%_aƜ( [OR$v| Yq jЬ}~(0jgW^dVIr%b}Y6Þ^Q9REi$?&cI$ٛ=0P2(}^uZblRL!r6PLd?ݡfm[EF+-&?b걫bPDNй `? H({.|:rg,# BW6,:HDZ*ٸ lw`ʪHyCa4- tR7Ko5Ʒ1[ܘQZϯGfVah( x=lq b)Fwg-PGGL!GTM8j)L8?bu?cvPKKh[hXD2)īcBUp^ށR#RjQJTz1:G^L:<@Ik]DNhP7 FEȹ33@}7,YM/'Á3k$; G|]~^%Zvlr@Ҩ.x kT*J@d f >^/JM2#Z2SΩi@; $ZeL̏B_#T_X]7! gvW:'jUTO7g*"26C_ >pZ{(Q7Tz#y"A=2b%< :wr#07Yr$C`Z#D`OxԎ[)|LONV%C1hM2f#A"+*K;+IY\i/[ a*a^$`@-EgՉ㾳8bsǬqiq툱  [m)ǺD2c퍹\ &r۱HF:as]%3mO#IB\Uoxcw 9hN?1Qⵖ>w}N_`̓^z)3.>c &LP3LLDA?('ܔNI4o $έT{4bAaW=j%NS݃3-(cojHW!V߇7!P&_2gR]5 q21B9[$4.- (ީѦgp'곃~c}ͪ馻˘-ۼʍN+s=+EMRBqaeA3!ot?Q\nsPRNA+qo9!ӿŒ-Ǝle+q?[T-VpV5>]^M- yfsWǸH <VCjL_gI3C7?`ϻuWgf3IRF[" \yYtJhO%{+\oPBv6N󃣝bzH63_3^ղ(p),`UɪHnGA:*j#4w}^ly[Hh,&hqbfMѳ◄`E+zzޛ5( )fns*M{j-@d/BV>B~Afak҈;*Vir5{g%hjy^i|JBOf~ZPi~x1H-\j~ &iܜJI>cb81oN2wyGVGarKƢ9FHQXhrX$d3Q4r34z[aUre/`OjCWtR/%@1K-˕Id܁=X'K& )K>cfV1 ~)DVbczWuji/ TWxʻ{z?- ȣ'3/XvQF^` Rƃ2^D>ۼ◶bNOƓ"!j-e%/@.oqO_^jm0B%-ךQmP.껙?Az#+爉%Pn 'LBB 3GGkt;IDsm\]u gncA vQx]Um-!fIJ&z@5le("c,lJ.pRڎ֒zsor UF|I4M֐AUo&R}if=Oe .iMš-d3^ <ж}M?oln*_J~a+1#@9T`-Uzx4؜y:e]*3VD} xDqoVç{:]5B<پ,(WK_}^D~|a?-3I[ EɃV8>£-# 4ɠJfM٘LN`i2(ϡw5'0Č鶝 ݰ#ӍJX/?$fl,KB)!W.5!,$uʱ7U4?V6Y$ t7QNV&27;´@ޝ LlZMKy}P|PuGk F٫H&z oƢôiyh uBdhT N?+KW@?YS Bh#e#0g &Yz~+5qLl_/IVfUsxlt>4fe`ҮU!j(.kL'`L3KdחvYˤ ;$/:$PBy4(eĊ yU޷mUމY.zo3s"M\́y Gq?[vU%>K`gBup#w%DFFZu'vTݨ'Ѩ.9R}g&#Cn=d)=U%"1ZK5MѤ:e>#e$R#g25ţv%0Xg30qpa0eZ [wS cAm!7yR{hNGi5 j@%ɧ(Od VňS˶~wIeF.(`R+'DkjV=KcdzEs/ل*xXktF@PD? VmvZeYUj}BʛvP$r:ȏZYE0%gtOSv `[ɾt;չ'VBٝ}q~|4~Vj.@rIyeo?:33,w [JC9_<;23O> 싦{$c, E!ԽZ =K:mw: uB.HAJcP*^p~g 9AS5MDaE5b=^lcq ߭Gv]btϩNRmvVV`?9̾ gw8{ƺ[Nƕ݋AwM3uµ{ؔha KnPPR coQQ{dsJ`[ǫtjvG;Tv, G@ܽrίȪ h#{!ÕISE-~s/0bv-, b#:vˍ8,V:&M{Qo}MP-1vb,όTzbK6 Dý!!<ӎ;>,6r;ǕFFy oC+ņHPKʶ&{ o/N(nGάeG%Ao6$JA)`lY%)>}#~"m$mʖ%8}r:w,p$Ս,^{+ϋuCO|:+4`J냉PZPjh޻)iDrQL|tam m>[psEP]*TՇqܢ;%=kHZD+=.(̑tq|6H.ⱬ) bYjTKY0 /|zrLLߥbО˜!T9C4o9Q/LJIi#;q-br_)XLSr N#oѨa~ڧ7vN˖^K*׫ql]|FPЄxDj@_G)!{>QHApg،Gr_,8 *&xzFEl}a%DԸUm㾕~Jz7dL1)ЦuO05i1?ckh^ֺT é?*@S3"GJ́TߠFYIC^6?,5(tjL@~46%,,@Ǽ.vLQyI6jXK̦b隴_5TEiu3:Mrs'RkɕBUQ^z=톮6*E U,;$iPXˁ['(gmȼXE&zN=ІǥzBbpPbCV  YJ%Y%%[Trĺ!pȢj$M+yzw!nktJ޵[)LHI%~}#/!9WǮss$ PriN4<`,^B g|AQGގ^~uVEے莕/y&@fGFSΝϦ2fPl^ZmB[H麀Kf/G|¢3Yψz<_Q]F7KTz0p=iHE"% LWW.T؉(߸ >->pٍ9(֠,J=;%mt׍ yJ:ӖC0ɬxj5]%x?asvܼaXy*5.%2܇!"\)w-јO"!eREEIg+,TĈ=тjP?323`uzl8I`*" e8q{F[5. IyV v~YaJ5~ÌfݍG"RP. xќy~!3ѹQ4P#ؒM޶BAP3$|U.e:j\SԮ?HLW:l5E}ǝag@Ue>O ]T]3<*Rv{dq Dk MΡeGspeWKY<0\$2?Ku $}rD W{cP:; +]5MĎP¡TE#4lӀHjLA0H@Pvޖ=DXI;h|AMLku9ˢ%a ƃbuCZ-sm/` . l"\tC4:P. "^)qá΢.)9DKf-CXѩI WVm_ 'TDk8q&щ`^ #F+ A$Q.{=zN9Ha|1j5&=?bE#&C4d4Isw݀r닚Fd[ܘ(/TVBZdfVhXA{~l\`4g?&A&<5͘^Ik%ͬk`;KilID3X X冺-tKJsQL\)){ތ v@w ;.&ae@H0ɃqNa&~>hu5Du9Jg tZw8EZJIٮђ+}(C" X>:=y$teU[㑬KmNc<˭0&olg@[ x`?ȣԤqAp8[ln OE{٢E/gK*3V%sSI6g3t. kc5om5.~@a"ݜ{# 32^$\'0Z9S~p(-!@.O>YJb2 J%|CDH`%N ʚb>^sw~T5Nz(!qz'0#0vq`qjJD :*kK_"5 ߬a}ö!tUs@@ {֞%u^c;-qD|EDҭ1YW@~&)ձ߲I?٫lnW,+xXD]fx`'h'TEqS}i ~4GV͍Cܔu ij5"5ä7,fpNLRQx4 )dgM}(|8,jtrƒ2XPX}<2a|i6gk+;V}7).{9Pf6}@.!19lUvymc7j#_;umt!g'% "i Ӛ=TZ`_x/}=IITZngzD ҄זPԞGE͗a1=ǭ' ug)`kDQA CUŸ+l {' > Evs eeӖOfq22QH3eMc \E;fR| A f^i\Q-)t`xKu$ jD(#/£&>mNjw+!^b8CS"iˋYݢ\ɨܛǏh15D]aķT?5asݻV)hD5%R9ՐXNqCaQpV)3'4=:,|? Z>| J~rɄ%6c٤27{91uѓ#6Ll`>up_ 7$vwh" !jt'Ά>$ $lmc#{R ϨY,`UUAe?%L, 1Ri#jH=޵-|w0ww2 'F9;3w  _'>M\O bNW QYaÑԌoe\x&P,ӄE}^'%[Ƒ# gvb.XqIӻ6}yBYV]T/o!02v.mJFSG x#%XMe9y殽Xfifti$zʟױ쎺In%yl=n$`Y[хKt]**Vt$Le,Om*;FiKԇ&JGL7"Zv04p ϒMCYz`'¾ܱ ]n6A _)bicGͿ7gVm$]:nx9xQwsB}mU~` s{Lfif;J-ڇfvπ]Hkœ> +%ӰC,ܹeІ65 3:0b%$={:J|[]%;v x d=/LZ(cK8+]j#!zlGxyUfJ ԑ~jԥޮu}%4T)4Hc.EHVn!DDq$'z]gWOE¤'y^neLI❸u~ ʗ&s p>,ޮ:boG'=Ɂ 9_,/ MDBCӣ+ L(<; {}/:%vة*!!m+m[5my>*Ff0e@0ۯ;{n^UR~L:²Y;ںg$kmPX1&5x4.흙s&-[N* L2> YUBE|Se ℹblXp<5GJD$tiw\!ZtauE#^]ÏۭFݩ#}ؖӷV亏""(0H(/O& emB:1ymX$+LoGGf&1Wѫr4-8`[qZЮ2%S6;DRن WDwc\toEF29Nⷺ? |=[ՠ#55ԻNAGgbH|^q_MΏ0ݐ2RIeӄ#_(KdSz(Z%ٷN1JlY(y]4,{wUeHmcN߫L~_A/_cS u,GSB]ly*q6İ/C*w#%ṯxdίhRM1Oe\T5:Зb-2^b.=Y C0LЖ:9(ut-m\(C g(h\*ygɏBsLD/-IКSd,beX4>1S0TB) Ph4!Ҿi[IS!1~̻gMSkwi$c%sSF Cg&6#"m,'"JgyJHtϰ޵d>J:Ϛ,C/I\.>jރQGS0`%>&]FE1-" Ј$#'0ź,N},NVn@:UY^uak@ JBLE7xHk yF$gmD-9 6ør_袶kπ_jxDtevɌH;T0@mT.ݽNjhGT)g<7觙ʛvXBަ 3fXݶ1]Qp#q@E014$s[v6|X*~@XշH7(O5gPV}M 9nj^Smz<+k3#آ,x@F?5P bud] )!yT=9QzY,O]L>ٸ͗›iy-8͟آ 1pD)#| v ?l ?ʸwG V+>`]`)hNx4Z9/XSjRXoq섳DB=|"caRGQCE'Ky |N Fqɪ /SDD0j ;^)PTJ|+1ILO2qݠa&W"am\O,rIW{N)v{C$e ?l.j#qOkiu<þ V d#d`H'ETWˁ쪙=dB'Nz& $7sFhG*-Bi5`:DP]I,&ӟ:s\߶>F hpLePBA ,@p\'_Wxie}m}}MyUu5cnhQOZh8.(8|c6(kZl楝b궗JigK`z)=ocpZ( :owF9bxbXiaZsZ1d0sXݢK@.W M-_ FN'LjԷ/p5g f<꽟s :h-X =3Ca]hqQ,d(,z͡^tJ9c~ЖJ,R: )ǂt~`4ԏMgw *I6sN{~) {Yq}*ψ9Qn/S C:N+e TA \+r'+D~jnX؅DGRo ©dC9mžQ'#uF$8j6{jCSPjyfWP7r#'=2Uvn:xއ#XhEVh1Ш X=>R#)?V! !˾u'Y훍$B=`YEؙ kcAwwFj.nlSV 3r~ ~4S_ guo9 u.,]w=vtizG4LNE O=@O ik'ai5,`~tt2]9] [R'TS<+?y WyRMS5m.@!XH>D͇E*g\X/b" Nٍ_NjpxF 2L$)|ڰ;QKݓOqid$xobݭtR '.#2dV1#a=ZΧ=㏺.۽ |reGjr:fw3 bD7s#uoʚ7mDz+b "^\(;FlNF?G"]@ +j rRGr>hΪtcsB! U_xiR\D2rd}vmL[?g~E)r:M=+CAƷrAx.Ks ~ß Aw#^[" 9aw\j : }<ȁ}\=gzP6Q"1zStSc'} \ijfcb;;8qBM->9ˈ DQ/N:k[U  jOOnk2;_Lbp?,4>V@-}9q>l}1z!=fEAz""@٧-UZvgH%7_NfT,J&2 A𣨤hp+ǰo'"·}`_bI I%g2դ n=l =pu+t %l^]4bPL-}QcѠ3FW~5Hwcr؍fesZLV8$+~b~ #C>6,0 9Z٬aKWtoQ UjF_(z'oWZ'ƊxzItbVͩUr ԑҙQrˎ8T^i! f^5\v6VnMgvHj힄u*~AX@rFdR .i$SKӠxAٽ$}L!NQBz w_T5׃W,-S-ы?oԶMOqO@l^a%"gF)~I_,LѲ>(C7NU8Ij\/MBe儬 )X)Ċ>&|%tKFKlJfqHlh,Aϵ_ӫ`<~56&|ݩ~R|q~)FNXm"hu=t B~O OLH?Jקi0$yF9DK·̄@#$ /ŐRʃ]i'Lbb곂~ a-~51$oFbeg 562 G1#l t  DU98GNw汾~*Ί֕|Ը5O^2W 4TP<2t,D,ZGzEn!bCRz`i9wI,O&~WcK tmU5WqVfB)5 W0ds$!"A6[R~WJe*'Y&[H~; "L aDNq&|kS]m瑘/NQDq`a?ǯUթ@d6mxUpa.'6C jd%7^aOW3v;)og 0SJ"sdqk7q(pi!N{\zSdSSXJKqD^8dLUs鰘mT2GGqe]Lz~hi%4Xٹ8O o%S#r]%V}-ЊHTgvr\;2caϞ)>28+\vPt1  I 6of#cq$Z&{‹"A~{ !*.vKI旱uY^~EdHnX!^XE\'J΃:V 8+zIY4C/l` ϙ;$>^v{o0eʶX[n)6-k" gz늦8"9•I3IޭOoAs,)XnyIE}sPKZ&UVLYj>m-|5![dc.ZkǨi2cux!{efRGˁqpHI VR8d$ ;?zd8k"/YzZzY^ېH %auvǕҬJ{MIPb~ԄCpPҌs: ѼQT+[]/[Jy\[xk9؈|S//5l4 VeXa^ Zrc E|?QHT )N DD,l:jkϠnG/ 9+0M_gBW""3M0K;-uCpdɠXYYy~hs(OO1,||liòteWD-~#EGvzP@EnK~H٠Cè±C7]0xywnI%xk|-mmI_rCONIhIY%-KYTcw=^VW CB*ę]EvSQr庶]S%1>1+1tAz}M+j$$em͔Mq%wc>WcgX"f Y.7{nSm0mV ~K2KQhx0UV7'Uq,W.VuT,.Hh;璨3#L8O x&":s-ikuq=1oSIt; mgz _ڝk9ڹ>TRF7 }/x$Dyi 8i:]&Ş_vmy˟uutyn "- ufz=jᅮWβ V8+q{2,x\al` V(q(" S6RBjۀ496ψ53nƠ"n^\H\2Z4 R;as)$z)eXMNmf> V;/_{ˠgZXl2 Dp %34L*Ela06:<;͐Hf%n[Bjh6`kSp_r 1*;몄ĶJ: +7eY>ݮzݾzdiԏn%t9}ؠvt:L4orvy#k<^>Gp/]ZPb}]$Q(y!EwDpT67|(UNy1T~YIVc 8PyaiױЩ7^N=| E?7kccMQST7_ǂ_ν 91~޻b`RhtF>W+IS!\A$nZQB r) ۛ"nյ6w^0j+$'i#_`gc,w)wrUYg3m"ə5gK`u0k/=W?W!"-Cr / Aәݩ yT$c4',^d 湒9V"ѣJ`$>vuށ VX fα `@iN n9Y&_h.d5`GM*.zFi8"v7FʝnɹÊ3MF4J|.,&YDpGae7:H]-̹{Kr*p"n$a@IlNP7j=,:+}R^e(ʆ<)\O::>?ygMd,rE+_ݹUҝG*_ /)u?O-3`nMn|NG29,x;v=ui9hK"2C\id .xͥBKtl<)V#PC6C÷K4| *Bëx\ c >7`Ha,\ {_-+#n>k!#Հ2GjZSBnaTMBQC ־|F|>;LMN%]:oJ1&e;vsnx-xjeeCzqE;D$iOQ}*ko1( P\i\^/U>Pnnw8mk{{HF鎻@ ~)%IAQ KaSۦI6wK_n%Ё;v$2 tpFk/&˴ 5Ud eN(2't;`Ȇc77`_4M+{n+aPs-uHX$`9wM+%cKl&co?ץr{`sD~nCW^ H߹BlS8T;a 9ްY?6 y n~U㥲G^;:JuصF-Am5&&Scʢ (jn_rt"ù8d^t"&<@te~naPTD m&u0sBX/_X^8#yt{|_T|fn{iN4&kG7DQJn{b˃-q9K ь#.L01,]Nyؒnk}"%dOɁ~GRt d׏LݭO>vC[O=dW)KSP9%:vfe ,eTVʃ)8",ݸ ' bՅN!CRn`S#n!z`b 6Ap>Td*U`677F?#ceoi~Sv(J@LDF khƈ`~:VLd,e]nNo ޯW+3ƉŢvRj7Qf{鬷Pz@Y Ͷ[Di`J/֙[gb"pD7l{2G'[Vȋ mGT><}J>3Eg?x1` 0n^ԀVB6Q^bfUՋiX3:5"M ÅPUȨSDhl`:-,Dn}خ WrU@mNm+ CQ* =VGjYs6SkhZaJ)j4Y!W#[/ARƀ[1 cR>"{Ip/μNPb:LjA)g"N0z[CU~P-2z|Ӿ\Uwd[zBf_ ߴ '[ ق#4Nyr) jHf?@l@ u7%Pc07#_TgVHu>Z*$]0oލ4JmY˓/yԐ\7y "d[iPNsdm ^CSI4,[2I'U T8ej +d*p 㜂Xg:FWq rZv-OHWIKcP@ Wz 5`֙bRaA 0$GQ X1sdAz2$Cx4SB B(,ϑGea9S#Y%lTƑMXg.SM'Z[<οhU7pNWle?RG -bhX;ey r8t z0Ga$́akZ 52g|?umH$QsJf0LzwE|ٕL֎^;l+t ˖*8%h_S_OM13` _KCH@PC@Z ylaeF,kbMuG~ 5=2+cqmEHMl+x?ZPXLD,A"y.-rNjIppi+A3qаOl u㒕`◅ix%&~J0˽}}zOD#S:6 ,bFJ43o~w .ϗ:ۨs'5!yj SIP'ɸÚH^6;Al}ϳW7q*h0^ΒB$L\IֹOE2"PES [4-X4S'/TsiHj,oԂ$Q.WwUrjcmyt `C,ئ駜&dX*dIcb9SUUaGY,BaٟXx zQXnpmhD.B_Ix{eG~ ೱ‚y!%d \]R%fk!}'o\04I/>6](Jsg^*~-ȘV!14*P"@[>)jN#ʧOX< IFfռ(\2'({w48cvo.&3'oxQF\u{\sw&FJ"EثmJXU_Ak\ϐߗqzRKHA}1!8V-[CனCn(=Q{v7#:4GƚKd|uݾ1Βpa}`ڛZ <yU(wg/.Z$/'{ht\J $Zf: ROOQW{ F=`~S%:-Wu  RLQBe@= fʄM>vA<UĨGN $$SDu=mF2_=_P,Q(Έ[]N_L'Z>Qv+U^R&}ߗ05DQ=g2?y-ͻnbh{I9"h@<*5CM VQ}au~P#CTwI]{o0E X[e74A{!~tQpvYEg9vdȥ_XTYDxY[hr^K$ D'f% P<0H+Rx[7[v&F<͈DQ}a; QNƑg0'ݧ9asF}?,t[ezui%3͠QsJJ)@FaV ហ4%$#g_?6N \7UW~^7!`jlmIiѮ?@46q#X`&)K0Zҙ%8[YDUUMc0{g"[f.HGaC)W9|Za8Q )4p`vP<Ld(43\EPExBvrNq2O)_+Q?R&-i\W스bu VSqN7蜊T (7(9h!编*p"R3!Ke(]%zhZ!Zx*,`U&AVR?X6tRgU8rH6KDh;IDeh!}[ZKԲwV :K@m2Mj\RScwa\4{uױNBC{|0ڽ+pnosJOĺ- ^7` l#ۅrxu0*Ɨ5+M%]H/X-9n{r20;hdX~ـOfՄYd FSp$s(_0%o l0T䡆#v*󦵙fϢy#`6!+#epǭqzR.5XIl;rK ;1㌢Yi]]j+f,J#& Y P#x E-<^ldcc?=$]]>bYyGKc&Еs<8# 'ׄqtJk"S;3>+_rF<2!դDu1kv6x3M L Co>],A CcsAs`MC'&f& pdtUmY2Z3g9qV9:6m;>s![*@;NYYXlr'L[T+}l(O9**h ,F H"%3T%coan8X{X 4Ɇ0{!X{t3aqm'Uݿy￉o "XP5gM0 ɍuękO1fv)-.'4ƜG6=GcaVoGEДG5^#,^o=`y{p`%lf|uR~'HMJ> K0s)?ݹ6KK݂PcW܅F]izyn fN;H(8,:`Bdz4.ͧŞ5ӡ!#$(~iPZ]n+$`̰!8D', {eI0T^0˦76#(gGġ:m7.!1 k 94Yk|}6B*Ɯ+֝g~jA@6}Qli*3VP8b+ VUKe@! I,B.V %t$mc|J]zOeߡ5{Ri Nm^fhlMӚ3i[Ҁ'ɧ}Iow=3ɴf/ٌ"SўF6P\Zg&nwǎ b'$ i=ܥGDVa넨F:ut4AAnCg]~PIeE3 {~"U8WmglCDe#"4g!K[c7AfyW`/5.6 hqý|@4<u3CoL{PkD2*vC$| Oj\W[ DGb%*P(_Dj$zN)G-2 1o+㢶 fVh/ pw542L'ul>2RCu{ h|@C{-s.GR6~ji>OД9a(AwE,h .: Ȯ>)B8@f}CeW#5˓0b\ZÚBL"{~bG a8*%_ˏ6/=E0'&o)i-N,]#>ý VB&J~} 3+Q"e[*1m!PJ w?r;ճ`][@nYBP %6Y*ɮR?fv(T%vB5HIj@ns@`uH\64 z}:m7SS_as,֨+ {6s|%یFl.xĄĚ6h6.}QB9Xyb 1e&k !c7:QnC_ ;V!qљY+t&H^]E "@mV0Ep_031v&bnڇ_xxA:)FYO imΫ ;@/$|rkm@V (ZkW7n93(䠄!~8I9ð\Tqo  by "i8X0k |J: ..)˵&@Uo'zوl?\C[1ԩ]dVt&Bn;Y 8R"v&~+Mz7 gRKx+aFj&;tCx )dzzD]9Ԍ# :󼴤 #t8`Ikb $[Dͩ,}Ri*=yJR?=S ݿ£zߞkI&붝]тþXu=Lv hUT9"aԿg`8-9"ZYļٱ'q'^#sW.62Nj{1'ېG1yMdJkJpP5n)Z= )/)A~:8=9٨ ]n[8@K&׵>J>:w':>S#K4 3娐]Z8)6YdG Q__q ߆rzpN 1\ /v~xn\[3z鉫N%+n톽ɁyIw12(̄a-N*¶bf[EL?yq 衡B}3}D. A딇#+ڝZ;X}O4)r75߀(,F]ْk,@렖yĨϪKlMy2uh x YruCk .4Ƙ. 3Øn1t蘱h?MZاBBY$Yuu[oßy$Dk0G'&w-dr.D$Z47dT'd0p*tS"pF/s5;kk]"JY-ϒ ,La,\r3o%9}[*ִ%NB7wi$㹥-1敚(]ɔ\M~< $ U%1E.?0cKתּ5j ٝ"xV@o"B9h+Ez:3;t(N;z*eC`O 8cUxA.1s"D41tMV`W*&ڈSvw@ !7r7 X ͕SJ(yoALchNˈeh륜d)ҭySPӟHƓ^9&[{N$5-ۭGFɳ.vxV`@IvͱA:(.* 8Wc+saaީ+G`pt19hhDJ,^< 4)O!6 R3,R$?wKt.τ;ߵKuӤ $; ˻].- ].I\ДTcly._N.5ćŜϰff_/yv$,v#lw53ÒL~1'(q3? ae 0A.! Zeg wʛ]Sn^ki6cFufu+h1=kIxB]jիd4]~lNLZ Skuy$5P]\7sQ@TͩHQk&f= h 2ucꀓm,|]?yݡtl~$/+ih`AO0Z/:Rshdc>}m~ф =𠓶t{Q\n5JF,Y[P(zdef׶;Fd<uOh7@ZM!`;Հ~oQ\#3R }ֱ&õ a`1m {l(|˾-P; M /s!ӛ:qW*R ͅ`i &?+MostcuV¡XxwfDZ۲ԛ{|f^mbs-C)Ւ` Zm+XJ]O$P>,0*8 gZ(Bc3exWYǷ4TR>(D8P>&Vhj4&5~Z~oO"#WE¯`4GpVyyQJ#yl=:d)w'V }-  m@1燋w'+Z9?G:= ajwFW׆9lE?։[dp9;Wz=Muڊr9-sO@f ;WOƊqE!ճ-1_Eߪ5{uɊ9 {аJR?h$ .uK*V wY}G gaw-򟓡 q:Rsx[@F{Tω%'д+s_ *3^\j+R"n܋k8]I̚ lܗv`n(osY<ʧ})@6VMyF\cf,w37}Z>Ԓ|\԰9^H NhyMsf* *F 6n0Fu Uv[H<#qCUrj$nOʕиסiϤ՚lF^pAE E2kSih>ݑ&]c:A>R~a +>͖=No0mҟC9eT_䙟QS]CԠ IG{V+@1j%L lFC`p c-[!f gU6͕b~@}{mնV?ݒBV% ,ួ3hSJ*" aϟsy D>2usR%#@Χ\Q#8?o˦j[h*jB7+s5'y%˯CǮchHi5Բ͐JGn .~-bmT:fIy=#MixJH*<o%x3?Cv'69z_6ne6qXG#hvRU -!+|̍PQ4un&JM"PTHcC 12)DJtYH~8&E!=h_)Uُ: a^jt'Etd_2DY[1${6ڮ25銐fo,λNi~ |T} $X}^̮Ln9ߪ1c؅M9- 9GʿSOvfK~qUY !;zB'W SlD{BdvJ]ed8G#X+'-G'4H5OY+  j{ p'h.P%7H; -7YrJ þq3RxD,g} #%c+D1/WF=N,zt3` lj{YIGXm&ο |58{OA]"ށ;^ȧl_z;m"f< Dܕn+ɥYPa9]ňr8!#|,|/lZ0!nosQ[ <a~Q'5 ifw?85Nԙs k]HAŒH ''lC>Lp0eW`zY[)L^K!p;8@!-'c#'<9ˡ%96 bJyYlak[SS$ vFM+OnfC,+Y~VzO8o V(⨐Oݗ=Tֳ&{6a@WkeA&.0V?|;q] }Zc騂Y(γVI`_y5HTU vV/ceT;V+^F#" t?ƻNBQ5r)ھq#GDhA?$m9;M(0IeZ5/K{4OqG4ow,+rKTj ̢}1m.xSAW ٶ{ioO>=BGrqp( Viϟ9^$9UJ$Cra:?2Y H'c!&:dOr2!xYk Ic4=7DW}x.$rK@ƶX9n7~痋gGWRw.k3u[-&wwi[rE0n+z WhBf3M+m: 'uc} 1*vaiNbBB+ "[%XZe1ZqMg0-;5 մTGwj |3]i_ NT^0${Hjp0mBi?c'.pMv7%uMncOF}\2lõ`ûH{E :2]Q!o7QBxUO U7 ;pc"Ww`iU%~1wC}>+ɠYu¨"֜{O{" 6$|Gq7hEك3cey]R%jʶL>u[`|ATG}j`WGR|s^/I-!e 1Oˇ-]vbmm绔L c'p9fob}Ѡԃ~xb谁,FF%`~t$D̲͜#*m6%Hse?W617>3?^VM!R huYE/C-dPm(.7EH Y=XaeW%<-+.N s(0hu ԏў2gL-zFli7sAib/`>009fe#r)š;$@WU\Ap r /eJe*O)*:f(U[ഏ*pakG+K)ii4B÷``Upu:r({s՟˓wrk(׏zX"),SLD=LKU0pR+i=?L۾05ETAW:'pr1a unTv)#<KlD?];[e&I>(~sM ZJHEBz%O{ٲ ))NPis&kU? (wlɮhiDdo'1DB ԎOHj }L2>^S<%!6ix%c9Hr[ݩ h='*?=4"I ҵif:@,?9{fȓN[aRc-o+d^Z&Ѭ94ЁBsH1Ϡh\:qt7S6KጃK̴TYdMpa93(#s dҕ_\hͣv`n,k>>+-K#^•RTj->Qӏ T~@QJ`@_#D9įrwnhtduHfd' ZzAՑ+*B@y]pGM*bێZۍJXGtaAﺛv l^ӭ4PKŽyOPvdÜ6eҽH= i;ajaNMxQȊ;,}Z2Zxo @2.f&n-B }kY_QTliGEk)5տ*uhU X;(] ]D5D&]W-~2klY8i–noy1{$c>&b rm&?ulDe˶(WӉ<w \0f TӲE82\k2+ E:, 8_&8$W%e);4$"zEEiÕq`@,ӹF~ԩ=?vT6 =<*܎Qr=ֲGI|'MyPZB$< :'=" cVu$n&1#tC!\o9duH uO>ou C*T"gޣH\8hj\dO~AZQݡ\/~3PE5`fRCz.8&SH@-Ԗj|0* ʿJwo/tb 2^/#VWxil5#b(6G@ݤ271$?-O`^#0s1[[lùNJ>P9+wXHAΙC sL'7> kKI0A NGjL_LxI6!w*o1"kmDG5cp>b5F'Q^:O[7!0wp@sO_?֡$%-BVFo`vna(+bqTx?OQzGp7owUpMIn`P(]N3~Gl=LВq.[_a%~X.!x#*FzEdOҒvy??0E9Çֿoխ?Me8kS"[@f^U1K1ylm}X\|ۯ>b OYoj`T@mP?& 4Ж㨝7 ͣApTE{O~fx{m+oU%Q.2h$ ^o|gbѢVmF߿ın8"sjۿG e@!.# (=~%WؙxtΊ9,+)hµDnt77>˭4t^ 3!Jo94=z _f5C7sqoK#|3’ʟD*o\1)kA.425P|G)㻤/ #D0Fz &70 *ni>ހþF#!Š,mvя+5e[lRjTG3nΙDʅ(xGG 7Em_eh1-E`BÛ8o Ns'ΰӜǍnB!z )ڹ"!0+uZbJߤCe:ǹ#W-")U|"_=scX?)Eu{& K u0vd8Ls|]IT(@k x.b:Js)+,f8k9rlj2v#H.+)`ks2)WtYnIIbB3nWk1*:mGcP~'m",VC TY\b`ҩeޙvytHA@\ uH9esb޶Ĕ"Yc(`\b]:9c{`X ϝA.3yKxď D=Tcf6+~ri Jx]Rv ?cW0)}?Ţ>L >y xR%(Nϓy)gX8Thk.<4gI !i6 RU=7ޱt@o-C-[؎asڣf)3fh) ;w+ L8LQ˾jlD۬02cVڰq'"pDž֔&)p:ǨԄ]8dqy |rmi^j3iv|Hfb!(hVA#Vo>0"B)UD$12APѬЇHuy~/Hʎ v Ub}nt,\((DQ|OAD" fsX?w[|lNn.]}"<Rd<[ 5`n(Йdb'}l}, NYq<(H`CX$B`-h OqzʫN4nC딣u2y)1ݼ=bsV6{܎Oa8؈@lM3ԆxunAS "v$IҦD@|LP?yeWb~^.Wt !a#8zܲ/KyLf[W_7zRxvkmֿ\Qh* uHH4%:h\Z ׭ )\i'puʓîLzhʷ$^,KS@& ZJf܋3Pko x&F_^0?nbU%LDgԉ:Myn1c}XvMA_ 6ޡ>j 4!QG5$^͕\^ߏ)[_T:Pzhpͮם)kZk0 2R흃MS:., 57@?NeǹTs ͍Y|>c~ϣK Fʮ<>IW =k <]@icd |Ϗe4lePa|kQ!/`{-@-UCȏ#L9m gѺ?߶IJ\ym%:l-%.3am褱YOrSp:{;|W/c7RFjCdImXx/UA*L?UMQ% #vGCCp'&dщƠ!Z[ Rw C :F !$`uOLاԪ*WG>mHHm+g l7u"U-u`AHKT0@0{B=Wa7TrOMz !kXW8($Wf:Q֥>1V `&+푎  j[K*tnsR9];d'ΨhE`@hyn9}c$ B݊ٿay,;Dv"K~(d xȯ<섺2Ϛz!֞p7魻Ffjz5H '@)k?ʇ5wW*Tk*{vM"aU(D iҧQ#zH-t;빏i{!uE&&#+^5*5`Y>+̱Y9z=N|C-J/H"Ó3eF<=0?;[阹r]twXd H)fPlᳳt<" WFLT eFmCjLhb+ZaCFesqb/<9%lŅPvyZтLԴ1r/:{|BGwzb9 ` LG(`Ȫb:%nwH7< cȚuQ@ o-=6h"&Qꁒ9 VKl@bq W, [zڍ޿ V%(W(932br#z1[-v|Zs'`Iub/nn`y_ d 8t C/$-5XNv$5}l_%VH;Bi9>#E``_K|&Dm˼0p` ^Ag{?:tO~]?rjy ]aP h2JUk2OQ=1kfPιEʛzQ>|6J `RP8/Go#֏.),Y0N#-gaIoN5WĨ{nl=ѷf5R'Pyɩ=ڛ r#U+Q篈YY]}i}4eil4--v^#0% 86aջF3 u!۬XM9L`_.k$ɵE &/i*M1UI#Ro\"WwԻ‚t31ΖP;TW+p gUhCzF6p\{|f]_GkyZԖSϵYWm]6v@ w2l082SUY`8cOtv:|Yg, F+SCLt`t[)6Q#)!@Bg-6&q= .ȭ 3aSס/b@a8Gә.)A/n8nC݅HB/ W]dkGC0@`xb#g9Aњ%2R(Xt5X]c:ğNbc$?깰Ք hBfd*ܵLIqw$j \{$#0K굀$mYO(Ikow#fI2 - yIR'.I 3̌hH1B|;gUlYbi`ϕ)8X|sUq~&3j*LС At!W5^-'AKAwJ/e.V*?P@L2I#75K7o/l]"LlEܔb`u!6rt>$sUjh;-hyKӋzy|<ݏ~ AMJ5l`Q@\~#3X,/X#hwY $ *Sʾ+ ݇VH6p] o]q ;iA[lYR"EK< 9z |ҰmǕ6RA[ 5J"\7ו֏b@ G`1KbA6*äjNϰF4٫5Ƶrce굖p@}l ??zVq1tdؕu''F=JgsMl츅wz>_eXJ8/oK::ض3"=2VN 2Rs:GX}00ujOSKR߆*۳C 9:!#r9&m"Coj3ckkEXylYT^p?y,A$)~V86Evem{)%z]ڤvEJmֳ5 7QK5FM&/wߋY:zj' /n Џcnc>R;o5| l@ehǫIyґRˍ9k TN'(iK6{$\PJ ƹ:9dʬQ:HLq⮩iDcUgԃf.!!5PR/ua uʞ ZװWÔϓҍFP3PIɧc`>zL<2ً0+"ݑi@6 ) PdҴeɉ'/Î6'C`&j8N ZEgVtBϣ (i3 e\_/PRptwie(' 9+r(9b s`{(|e 穴V)V욛<7 J퍔 2f~Y)T*gRrXC&=*iTeFy5UPE`+{R?8e ^Qbc=JZwGuw`$:o̸;6N*r'&P2b6,MODeYZdN;13*4-=۹a5[{T}b]kXXtߛF}'C߯A-]-g,3Q'I,np\;h?d,k`_S3 J#@NZjxлQp֋B_Q[jCkcU2XT9|{9}o]&*楃o>"bOnd__{c9iq^? 4(ٰNɿ(sԀf\)Zu.r|XxpË!@v0zTϢm◁ 5׍&xf7`cN'kD|bIu_ZlӢ?G\tkU:ǩJ41  iMBAc+x'W3D~oJp3/dD6ː)'0g-"۟;'c#ZhԵMֺhUSlό3!I|dOtZAZ4/ܲĔ[N,%ɿ-9lW,ѴF?-g`d>@ Ȉ:{ji |qIfrPԩ"ODz3<Fo iWnaoQ}H\ڄZb)0 sCv/A~PN4,# <_iΪ}>S%|Bqzi/0x24tӱ%U'l|*l= +W豶 9`nJh_Ǐ|8}\y"ݱ-yƌkG i3Ϟ#cvC}>xxOѷ8RKpur8X2ن8t*C)| t+e8Tc"[! J_h/օQqDj` '/V ztj6VӍ>MEOFW :Ӕj/.(.Y3,2=`]E$G@XCe)yQOr{CvWQ9[R('\A^_'rQF+VuaҗWx+}Ko}NyY( <MqY(t|BgVERǂ3O5B6fTZܯBWc@y|'Y;#p7+4^L8+R,t)^=欑1 BrZРl PߥJ]`¯xihP ZZIV@]ﳊ=e(LCXiZkݣ8مXpNZ/Z MY2&\ekާ8b"1#˫͌Dÿ>O fo3R 7N7uT`vTtNT#8(( ګ؛"e,p;XQŴ=Ȍճ jw:2') FfؙK@b3V5eWkBp2y*9n+="튿4%=n'`?ԾA޸u}3h S JEqxAy0A&e~ f v{|3>a)ch_PmF"0d;Վw9PDKeew|O j5qI-˾}f,kzeB뺩n~X>}pB[wPB # d=)XP ϡ3JHaU@bػk3|l`.:XGuJ%u}um5xS xd9ߞe>mZ-pT(cP{ zk- ]6> d}T;>kјDp3X]tckgPn:k\90љYV:"PJ/ӏ֧9=WE`3"VEOM\tΌDe>tzHw Xь֙|VPR+1T 52]S"1mA:2fb y+nM9G_\`#j6 C]]pLO0/ca,nytn##MU45?lr}e_Aɘdp"R5($C%:UNRy#Ȏ&&)"b ?W9S(KNm&9~ U^bL50-K@!T"4Dxtڟ?d1["DD2z50d#>_b!Fh-nC;Ld`mPq%)iae\=pܡRL=mm Xw6an#$&u0TP|+=DϕU3<H_ZVą<Unś: "q3\vi>Hr^[bV9H-S"ً=?42ُ= UmkDL3&c+owܝ͂Œ/tۊWjR neg |c` Ӫ0BCc"m8C t)ʂ&QrȨo>T\*G#4Z9D,vl|+G1&3ȹaz_/yɠfӘβp44l 8 "l5^ihR\ˁ(&j9|9=?oXPx0 ZeSԚ$2l7{^b u0<t$efbe ,ܦXGskZ?ie6!#`Qa4O/TۥAd5;!0td%ݥ}X1Zn9]*(9ez3:WvegY=fZP,q~#cynyLTO1;oї9AЇ1mR&&,5dދv^qn,,Ƃ,Ķ!26̀ˬ4r#Gn9j>riCNOy2k{C8rIJWYޭo{#|bE t=;QݺsT-'UoxzӾIvd Ycφd^n9Rcҟi [7zZj0F O o[e̱J#\qiq@zfHM.|/\ƪVSƭg#=°Ea#ʉQq?TОN [# (e`UOC6[ ˅R+" pqd5GnGa\)궞Z8V `13zƨA7/0z++A#0%'_۸q57f; mx;zg:\=HVg( <5zl.7׮4>r>+4{: F&˙2a/ 8^ @aYOB-?aԂw Zma{72"B@ 'T w; ZHm@hq^ }`9)BhR~vHPg0t-v3q]pLFZis"J k'6̮Y\XQ+f>PNZ`Wyە3w铥kUYpzvZ.㖹jH `˄3CyBkTwpV [yX+tZS<=`§;WW#ѳ[T 3C`P_>H-JV'åȺNYܪ):X}!zL M)wR6Bo`Z,R(Ȭ>rY4ߟ r2V)hc{TkD)XXDǰ՛6n}N ReQ;c!ض]v92(iEE#d"tVŦkclw7Ce @Ko3,r0F^M։h㔈4햋~2h~$"Zu {1'ver;A8ٽ,jy_9Rr(qzM݆MђG2ƛSTvnk[C*:>;ܙz.ðyp,tCJFbv#\1E-!eJP75(+YcqWy@G2JNKF~#E'Iޡ(-plAXXV<5OƝ~CЫ* Q 9AVj8xL_ixLkyjH8-s*bȀ=Iik0 Zg&\Y-~9юJ8ywHC2G<D-wnXHz3\B;1Cn nFYoHw!3v?Qjҿ#K2R%$gf> NKljnݪ_,em@ÎFlX=:i!"Agl4," IE א|N'a]bTTBnAA87ϹѝK9^cW}2ڗieWȅӓ=AWy3ejMozV>gI9KїQ;A)-nx#$ X@hLq@{7lwP'I 23Fw3.5Xƞ|Sic; G^Z.h37/Plq,S'G J#p-wR6sv4~bA+¥zF%rAEߩxY3,ACP%>DdNckįg&} wm%ez}CӨyfdQK{H TMŒ-4K_i=<'~g~@gwN ,Zsom“OOo5K45w.yZ[Z 94HԔ&=t%O#p N!vgT ^\Zw2<`<<.&>F.fE7p2S pczV#2{(E5"5{Y\2}fI6 l+BF=LenTmUG.":=3(RvL0ߞtK]>u2¬ zvn S['3Iv'/ 뼐Õ] Yul>_el.k)D~V"j|'81KN(85iYw~͢dqC' `u?"u ~n% ҰN\XGUSyDW)X|*e.^N3g;6c 9W&./ 2PV}WR.vGOF$,/;HZVFlu^fpyXLI?=G&+Ք]%fNt7^Wfv]c_yb$p{yŐ; -N8.Tf2Ж5/ ;g)xփ'y53XRjl;Uܺ:R_lJE]s;e𞆨;s|- LM=Кg h:(vԚK7X7;\fDGONs-RYK;or=F1=0cl#+9u|hn6pӛގ˔/ӈ S[T-"ޜ8Oz5tBJm.6/GI:U0T U]+rtؖT ]I- ]lŖ|mw7]s'4okq`J*z@9kG>)Yc7D SΫ,jn |$w1?9IXN@(_]4.XIf>ؠo @RoT{5bp8QP!VW@kҖ뮡+/1&s,l ,6li7AR1U0ň) 0-2L4RN#5W+[\&'H4qeMLnhpj~4 ; h4p|"mjHs~Hw5m"0.ЩQ Uω<)uKzSp"mv=ϥ\ȴ!KKik+'ϯjP- WڲޣmD<\hODaA <ޒMŧT_LS&^J[$oz],X`zG,LkMxy- BQfuԏ+5?wKӽQ2&#$ݐ4QݾIl%1 sV~$t ĨUó#R$Fqy ҥ42"ǗUp}FO$$aO!U#–kێ+>l6 /g9ѱI!V$TC8WFM06\RS+]ER~0,A/a9WfTc Wao){4 mAC$@Y%E#wRJ{ r k Eۆ4^INtkQy)6fPmTHXoXr禹E8O"i41!}Uc@t9Jx$)D}vqco]Y3P}A)WHI f?v#gb:/o?vy:sR&=6X65c%POjӍ:kȎM|bk"]Wduڲf0p3~xiMF` Va^)4oU"aį*F`orߊ1WFq3:$ q#fYJ0./# ?-^I Gu&U3h⟥7RuN(\qe1,X.&:/~Jݍ>悸z-@ L!f1`Z`FLmuMuXfd wToPϼrn^*5oViX'z3gGoR}~lPOzM{w?9pbڢ?Mpۅ{BV?#Qʻ)=pbNdVJvhKmtm*Bin5մv3{v ʆc|jDrZ!M,cp&ubx $"doH4~䞻ŽG{Ux]1뭛Œ3h:e-W7jiLp48ztz֠2?e5?7]sUHKg,6^@es{ϩnz+E'(ӞDwз 3 ,C"9渒 li%9MփA@I$-ch.Ƞ q`4*s.IXJ-E|fFemL|q!Ժ->˜GP=-F˓79MW8Oya<^q]$: 0ܶ .3 n@Vf\I<=Ҫ&pL69yʽ?&x yQ^yN*FeɁDM Muu:C%|eŶl|n >4 DwdSB(O6 wxN72bΠ:'n?Oόɕ^{izQ>LL,STɢ)?<'K&/r ڛ{AQ9֎Kd@zbf h2'aU04=|h+6Vp&IC>_噍{z,y JOx޸DERdɵymXLsH!=*TrD,nFCM({9eo6\ }PPWG⡉;}=<UçT_Mo w.JjH& G*tBy8.{CھG+n}Iya;ŮuqEA$of݂# 5"sX7P&U=k-5t,RY;*eᨓ* ۺ*w]D3}JBe"4bR锟w{,3+euTjF U>_/y-"ivL837%J o2aoq@LPJ }UUTJ!H7LpexgN0 4>ܖāhJ7}'qfq1_fjLj\-21 ˠgPxbw@)z_ 7`X+Xa  |BBPe)QeK2zho"X9 uHst#P7\ǰWfB p/1ni!Ƭ/$$a%BUN I@mã:#s"FCkOtR- ഺ#>LIH O ~ `\1?b 1\˨|B>uAjLtC帛{#؀4ݽjQ{8}RF0hx;nEέ!/pp[; #/8!/ H=,J R뚊k"P)xH qQֺlB' ΋IѬ"( KhJ|pi(<$KP4b:8 gIj/agyN@Vg`~HnI`ƗcGRyTX_ݤ=llC}7{T(͑CKJx% ݘ /7UmDU$nοЯwc)$bѡC|;(OQ9"2"mP%S7 6X%ZB hSO$Գ,vZ-8.5T炍HY~Ul1sX؉:;/;0{Z\l& (~N7ғ0ej* |]a.l E+w؇!V2֑np|x'ʼIܴ,d;4Rx{YƮq Kא;)zXc]!V}Z34]s-`[S..А/C^}4)0vS~Ny;GթHL@aטW%A[b^7LbcE s{ 3" y6Æ,x[C#Zsܪ_U>E'ە8-Qރ$L^Ncޔ72XȡөgD1 .EOQW!5PH up}D_i#%wH‰EVԠ1>?xngXcGvJ0s}j~9 M7ȏ_&Q6ACvĈi̭Mp,Qfgkvl4_[:Jp6b32b]^VZǷqGnC=I*-3+exyQ ;j i 6#fdfx#^*l}94\ 1^ : .\DZPw,l .cb}5_y^ 8;XƱewրjاe2sv}5%_leuQ7QBM<%BTluÝ|)cX;D0vVP ^CF@17QtO6"x(8Kv{,=HqPHJbKۃxcfXc`^jQrBƍhzyD؛<&W0BX 5?"kD$p2q@3=>ҎyO`n1>3ܧ]|I4.oI] ?TINJ@̿@_2!aA:dÔ;w@ !||÷3iSԏ >zIG>8O7@7JV]hI&&c aԠ/(]g;Qą]|Yc"+zQI5ibҫAUg\Gmov>U|UcÉ>_ d$'pC쐢ځG)_!0G- b5-ikGҶƊ,JI XFa\["UױY #|i:!E\ ~G1ɚ_[g˶-iDG%{`kW~4U9w whP=Γ:cj7xf:ȭEdJE4L6.zVb.ҠcEJ *(mBIRMwx-LI𯒀YZn *F-1mSe̊Q(G&DCBFȏ~/A<룁+}G %;BK/#?l(?-*m{ P5Bߒ7'K~ȪGc용#~Z*.oO߮\/՝.s νvH5Q @3Wѣm2{̻U\*WOȷ:Ļ[2w, .cm]4^ aD{hlNwcYUZIC D"oc?.+r$ڴxK'2TA|M ~^H"JNL\d#Nl^K#8Ao= 8JDz>łoD364KR|'K@mtbȑ$ 2MfR6qrz $& &~:laWLl b$J*F/T7V]>B۪97cnWՍB/3`0A{/I5T i׾˵l>TBt"$L{cGv[Cܶ8+ګ]Ʊ5jcGQ@rVCLPI1"cq@u@l7snd&'nutf WsdQ'q.ZeCKѣA6q:5+᝞„H}Ѱf%R&tȚ<hW¿3zgx VKVLHځ46{}GR13MuTwI9ԫWr8I?!BqZfil=jBjnT<)[~QP=l,_/mDP-DO$@́hG"n3"N6!n0F$8íts()]M,]%|-(!X>`3gt'TٓxZ.bR)قä.s6PT$jNfm? 0zJ U bԞbMG!\ y[ H˕(6oPk8" ʶ?3eCSD.DŽ~bb(^8: `opQ9GzM7LFƯrsGchX_fqE dK:{Lt(QfLNI\?ZFm 8Hl,B!}Ob;E)1ޕ͝Wž'cZڞAFn7C4qk䕺FAf~UhD=iO"0++a.5w(u鈿Eo}HjS&Q:^:#F|Q%^v^lݰ} fy"dk 59Re޶^?`yG*7w)k6CRߑH_2YΜ3@-.D&RK9 O4efS`On{Nz+YZ.kH0젧n_Z6`P'<<ո\Sfo/k-X;GwxHޤ'IWֳEr`mti1 g&Ex^O]3v;jǒH7stGԖڦnkr9շP"4G;SBwclX~Tp_kցeB GIvuf<:'F;ߛiu$Hd]R.DgهC^c)2M`N5fġ(`^N ;|aۨE@bT>?cZu5JX@ jtRM2}3M%˟+ Rʞu զPgv [^5[.L#tJt6ucj5m^p Uqi `'u"GD<4n`iL ꦈZ9>xG DT`.sWA>b =E+NϹyg;OY/s8(S{nxn7vɤAboZ F`{`W/8qm59 )Dfro~rg1=xabKIv%M@ %v\qF ĕVKRh>=>X~^q sĭϒdygsSZzP ~cnIQl >ҽK͞fCeY~|> ĭG%c!R:0R(1_.!Aqc8u26r:키]؄!h~K󅾆Ϟ߿*=0c Aڃ<TEXy%Fjǖ{ ^o! hid] a`^D)W2e y6)4Z(ҒGhKt mӲLAw@ùL!A銟U*V'iWT0 Mij`z$LY+k}80#-W1X`}'{ZYeƌ{KڬR朂'6qfSOK됱qBG=k?r ̀JwY6ŤF~5#Cg(kn,"%9N/Rj\ dj\swxf/I-4|AXn+mH%⊭WoV|P[1s]lhL<[//|4<:c/0썰U$d+Fŷ$m[_Wa Z~}%`0χ,㤉ouknpsY-Eu7럗NLW ҁizTNVj :pWp+]&N_`XfzBSg۔sW'.CmakP i'7qv^r> fiA2;Ugv?E濾wH)X}\~R%X ぷ`Dš82^5I' z%6养Mo!4A>Z<*dA"}8{Lt)hu >8&Hy tJ&oe`~ &\4v)z_7˰i3D u~n4NM/>&֑Qߝ \[r1Q`.!W~ʒ-3Qoh^O7r!s跥)CɓXAΛīF$Dpv}[KcS>T"kMCh:OIf>.{l?I hSV9 xcS 4D-R VqPS)l:A@4Ъ顎8jQI]:F۪Y]kvN iBŜG`/k| cO|*r*[ ò Ċ8{{e|7dž&b eGiV/lXҠs"ح<o`DTnIN>ؗ7 թБ1Lyv@7J= u ΢L<һx$BRC)647spJ ;Sk+ԮGߡ=֟w i۶?2/`G U`;:뾦 @* >,> dz/nF#<_w9+7"PaM[qK^*2M{KчRQ-8izr2Rɲ(\9uH-&;b+Xnqmu]c~0<˛bjlʅGKq 419@j)Pbn; Hrb@4V>QܬKVF;,"gO Ya/!Ye2n.bQ (.41VW) *QXeF'\D͟= [1ejkj.`i97iPnh})%2cD $=FaGeDx(b뻖u @hd_:2(݄l1ԈuefPKIo(|4É@W4i>5A)IKGYC[7HD'3A̿A\I`u8Kc\'.[ųՂU%=Cn+_F K0-YByI""6I8$b'D 5)8;سվ.அD<#CD˟lЧy}ʷOp>'89fYY-;7!bc\ҡI=F9Gau*x BU)'V+ C~@zS5 9bB1D;elt֘Ɍ3=cm!;(kl*Pw1ϬZ[ /hgxX+ZzO~F_+*AX;rvV[0Gy5!O G]̳J{Ղi&j~uJc#@Ե=F2{F={gGLu#dZI%/*^Na>3[~E)wES982eU{*J#蜧66O 7'4qC%od]MPTzZ kFQ@?o@`Eh,r J[dH?z7^S0_m$ʓvxJ z`dɣA{g:✶G.H)'_24$ϧ\x>{EyNA 5dDlyZL_ܾtH;W7:oeYldkU5Ŝy)]NGEX^kd?38sU7 8#iIDwJW-ھ%K /ӳ($"9+Vs(bpo@I_f$]qc$[`HTʭ"$kp-%'@"ݚ a,?w-KdG+,T%w+M8E"A>n\nѢl†*Z[Vjqqw c r 8GUH{`o:`E_}[dy@7yS{jyz*"t/u6W$}.a_;q7ꅲ`m<0lEU2[SG2ǟ1BqŸffÊ8~0Ѡ <|cRrbKz_9f͢,c`t)|d*re&rMz$1V d t4?XUToS-ɖ^(-QgwHFuG6}|Uk@]| }< Ӭ9kV&2"XNɠJj*\gcˠ^U=oJZHHm5 E-k?C T* TzR 陻Q:Oq V4v+e?JØIwTʮ o{?*Y HIː5d8s,իfH2Moc)iZZFKO;-=iꗗ;p~ppNM%*38XGQ&ܬm2ӶΥTUA3a1qe]_`'/^dp5<'v-Wlg|V IdRn!ʄ50sI&_a ES5hD'W\L?EIowr=pu,Xq )Ya}Z+4|!f$?ܙ>t!>!"3rԺ[nU|3%©u:d1\FO>}!KҰ{LǢ,β=u5* p]cGl.;=q1`(̛^mFIt οN2[TQ|Q~Lp]V$Bt¹e2_hjW[U$ϱ +ݣ²Qi2N8h*EmӥQgز_&_ACss|];M5<$a> %, 4y&U"T!1ĤW6+Nw=Ҹ|_1Э&n=(Qe;/}&zY;MTŹ6T$;kXJ훙;95jH\x/=(z]=M!F\)M,(i a&0(x `pYODÄ@~r#`;E{,s4RZz0I] R-:/P.[1pQv ?DjJwXnr.Dׇr79X伃,WNJ!O(*='.w7DZ+;x&Byѣ,M~p񤢗'vބ燐`E3[JÎd?,ۅ%'~i>ԧ_}$⩓/V}({|g(za:&l cPb`-9u c@9]4.cs%%j)ƅ_(UKW֍krzlްVQP@ ֱ[-OwEm6.7my\nY;.:? 5ܰ^🔦4B ȡl/ D%?d>MU'&%X^W}T;$hZ.گ],%[4RDXL%ܺߠ}cnGMY)dGsu sgIL6:~rtenD" Ҙ[ [4zhҧj C~ Dg߫+XSA&S uBUQ#.jCs1xJ'zv;Eڈw%O,rXMH' ` ی~9y@ħ%&FJntX:kHR5+LV79 `l~S6?2$A:]A#|׃R uӁ\Y--E0xnzRQm:1Ie].W3 c@8#9:;ͣuΡҲaaHLdK8FZ;'AS8-F8D`ƏWG`%M'|B7L®K9MDoN_,C@fWI޻}xRcOF B,iG"zCYkM`Wׄ2v=8Y?Jp?` ٸ`g.5at 9G=@*al%ਹC n/ӗOyOYHhUȹařhrԃ:orI`gBI+="3r]FGXD8TbyFM|o啢xOwpPSoq.W Vzۻ`ʶ6PzSk/+5g݇g\?-ӂT.3Auz$n\Yxcxo{Y:/w1$ ǒ9Dq^íW ^n,N*hҘf71lwO"`Dx]]tџD idC;D9-7ڧ3Rldh-q[.^㙞P; w(=U4D ȎU R~DZ2fcW{4"ƍ=r{F6HvvG붾ͪ?ƙ SIF:eJ5F+)kZMjnn[p gRJтO њ㮆lc!.)8[|zsiSrAHQ1~{h !}ͫz^?jCK2[37]PgFx,Q}(rꯩ'n@J:F@SЫzl)-f1WD|m[1&D#;@Ppyn#wGV>]N0ο U(Kk{knRYA7=sH!U? u4v lN}~?nf):!$Ydg>CU $T&ĤuATn^LɌД~,\l?3|k<]+ZpϿ.Y tH!EAGo@lM6⚺쀨gb-C|[ܟB5n׀oR;VNE.E7(NbhB:/Z2h _OH$ȷ?urf_IĄeHQ\cDZdX |d`6(uT;>n&B '4l'D;>SQ ~8~ E[鍲Tj?=o&6$n-so_V6@ Qi]] y{갈΀vjnHpSt]HdYSv Nv] f2cE 7y?oɲݩ*`SkM&p 󝴄3X|Uh& CE#Rr9bNe2[_2۪b 6unAG2i)-n[B 켚I1% ߩ0=,;h?Kj!"[wqy@هx"I m;ni;5(X8Qw-~Mܷ /8QV1P%Ӛ\,_-.&?XD1lAXAg#ώuVAډ)(}_* 3ֈB8xў{; 0xUL0dߒmpu*C&t#Z~}] wAoӛ8*`P2\t= ! v[/d6;$ER/Zw80OU- BIoICzLqjg j0љe/#^}v+_#t69s/P HFf΢ܔ8f/@Y$h%HRR:T< 66&^2As{ZGRCbv8.3jzrDwnbwOw'oiY_~3TQ@P,qUSD),S޹?vClwMҤB.\-B: XʑMJϪI 8/FJ}/UKtZL^{ AefB(=$D`naPa۩&oض0(#pKeJWCiQͽU{QC_=jR$B: (č[jScȹ A5hซ5lofH 25?C:KiiWw|Vq+Z+3J騣@c!ⴷ1(^)f Uԭ#ÀN5 O2"P&MVc<:^)Bq9@!ӭGUkj@TGaWVadvp3i\J0-S3/n $ÙȂ6NiTz&]F L.!PqiW}Oh4H|vb_5 (4kއ֟&3ɷh!;tL>r"y<& &1|9ZbWiyu?iK=B`Q`Y_bsNq`!FU<Xta/*@$O#x<4FZMx3:1;*}ԭ5dÌ| XF6(IA#\^r XStVs8p)AU#sAEm7x߼5%5t<凞l?n׸H&CQaT_.R42ʦ}*y 53ҴfgLN["!6娵M8ޕޢw&&gp*F:ƕs7ҵ_9z6@r"A?t.۸j3g7͘}VH]oyݥҞX:e;〽KW>vZRI-| >.7^Opr?>;ƐЩ( !7Yϋ{Ggx^+4N(A NJ`Qqco;|(S(kX(ac[MD`Yزĕl%g!qd;%]ZL~"Bu{T*h!IOliq̄5coG&5w;Mfi :\G IdbA|DhrXjcQ>YSybGjGҳJN?h#x%F ؃opkT[5H ʯZFiIຕg on U+eNX=_vHU=TK\<UNL{upXXhؿ3Z ľzcL k 3nvB8+eO9reqRWbg 菂tڱp${oh^O𡂍)bT ) SFqNW| *lue#CmVZA&>=_ ᫎ,=]eO$0zviݰM+쇪 l5͞`L'WK~6N-9D*~h 'bj?c[|#$={#Z,:6΋8^A7Sg 8g5(21qu*zY;(1J6sr ;F+g3ts^X fg]B=1uJ^)sKIJ~N8WURL1,K1eV$oƍ&ub<"`cxqyenVG#v^l&@ScB0m!§E;fC Ke 0sC)6/rAS]ypzC"k`2^(R&:kzz".R1GJ#F&-3BIcaH "[ekը\›퍑.K`X1>j{He1 d.>7|B_sd9`VaH]cGFNJ8 N|wV18ؓ&tP ̢$R +*N7nMa(Lb&(_@]g|rPܗY4~vl}lO [z{U&a&E3K'{pagġLѣSZ5ssV&5< .)wyM(KeᝎZXq+4]DdyUccFU6O&r2j^ 2*p: aL2ws4xg/ da)WjѸ-Sb7&& # ?mc0 >aRHcHzFO;46krVA'yEĤv|mm lq)m7fh0XA4'X4rc:HI&DZ]Q"c9dz+$ ,f[/-%iՑkN&7H'NgٍeޗҀEp{ϕͿKG-6i!K΢l߱Y 8>+;os(A߬t.'ehsrntK\[m<[I0^t#%)ԝ)77Rs'324c0߭A,tr0Yh9ƣ6jcBl )Cxfi _0FS}Ӕl1 ۓz#R5QAYs,#*+S6oS*0yשBBc/]tBF*`hǩR7dzcv us z؅)aejvˆ صI[I!'4x]1),Y'U)ƻu(uy(ċqw"!CZޅfWLJ<r5[J A;ƒ R~~~[?o2sS"1>t|0!vCJ klؒ1ӛokW&.m",rD=k-ovݻH$ZETJae*Ѭt[c BmC>3ě}(q&+S LUI16u@UC}??b&vxft{A},&&w~ApbK*},7^;2!'EƌH.C ~TG#EXU& -Y<PB5egK'>/(`G]1JW]ߴW: -@ⳗ) aPJrwS? @٨qXebDrzW_)0Q3B\؀uKQc$2%^ ҜX;|fuECȞJIpng?$n8^WȆeMǧ*YB6VF-jg(oߐn'w3/ݸDS9 -۾2,qT:p*q&>ߛxT ]9r2ȃ507UB5s=<=UOzRrp"?~voƛHgc<%5uedufbX(-$ӽzG0X#hs׉<|\-mW~(1ōB"Z"NoEfXV_,6ڮ囒 M]jUz쁲kwvX&~m6K$ܽ)'߿)~F6M@uAHߏĘJyQ*Z}.I9F>tip:(mn=8T*\ԚxG ` uO[vMU(ʉUy(Z0= Xz/%2ųK<ʆ؄@1V j9BlL6O&oMս_qxOʾF C )&u2+l<DX[Yտhtj*)GTloJOߪq865(TY;'ޚVJvo8#Pړ9$@*|(@kTҗVlK(Sl 0 M%&x/nu ;q-$f,.&% 68Ėҥ[Ni6^.O3a9L5GM5QbLY$v99 _Em=%ǹ?&r>c}(5oP:{Ix!v( 'T>`-='l5.=bp:<4q^~ct2^*B9 B Ibm~ ao䚓U>EJCu%dfD#;`oCg?,Xk}pՓ$7Mߡg%rX$=l6:43R0}`':4# 2Ҳ΅\\)}&c[JK̏jv: a<(o>"'αm0GE<]Ӿ0AЈsڌ ;뷏D:8 2]a#kT;lx5yJ5өߢ\]=8Ilt+ *Q*3ĜdqjZO1@d#]c9˹e4p!!U=Sˍ-97~7v(vx,xSt/"Z(J$0luX3  .L2l!+(%c- 1JHV)۝`)FTPK7Y:a>1=frCňmQՈV!6nl"2GDyaq "iѺ:x,FpQ4}p3l4fC=I;?DZ$_ڴZJPK|݄Ts8[+TDk־ԃȰ od߻kB #X5lTVZ/;$%6q0( /U>rK)+u -5 @#gL b4:~}J&wX+!t!K0}F/f95qŤɢ /XT+],5i>! ABZ.'If?Yp(f]Uy}Ev޴sJqA= (duZ׬oT60<3X,@8:Pﷀ TT =]qfcy#G񮶋Yڠ'UщtBU>'09(à8 Ю.}nI˔Z28cM(% =)2{Ro釬eڹ0q$lW5Y5Z{]3LyֹV8L|9-_\b?he mSZ. #L ZlE>L[Y!Uގ:sûx! )=s6Jh[JIrU{ 3n,5} ~NwH])OXuZxݱw$r!y lOW0++Ċ_|}<~_!Im#ȊeU$T؅Ixꢙ.+&dJ;=&&zC,%i B9Բ'H)='D¤I˖#~6ឡ)-p HNK=:Hs8l^PSD'g@~)TSoM* `Ukr1O3$e/zJ`gƒ@>Ӧ[K&: C,A i EY؁Ed<#@$}9 yփܲ-.öM${i@]ɪFDk%~#BXTn;pYf(:,Ip6;r_aM/!i jY--8/򊉵zW/Y3{1Ni9Q3o$;R1hFb v^uvCH<>69N}w[_-%sףFlNZć ?q%ԑuT:Y0xg E6H _svMye[>UXn4s6%ʌ7/gw83/6J0Ba(0,r)jN&K!T{K|ʽ$toWz"y7+sa /r>i}݆(`2߁tHhMg'lo"|~^'ԍޖd0}vгݧ̙-N38 t4ș*ӪGo+@%!9A U[8tAbE)+=#d2:I(Fm!!I} 7r2̜ ڗL:Y=eʆO/^@ŏ^"*9~%tL8(,:|&}Af|.?jCYG?xrm}koʹsІ@.0y^NNWj":Eqgs8]x|ɚEҌćiźAw`Q:AvMvH; 7 5KtkB,d;p{EPm IM(Px]' "2|X#pِp2H7KV8< Q(i~A@Y.~  3abG']5EE5}.&ac#X[uY}LˁK&_ ]z b7ޠ,ǠMr%$6ݓ.isʠ"L)}Ǐ| h $$cfk6aC$(*<\077JC<~9/PnjE^$5k薛 2{FJ =`;_TqDٜ^4B |;SssմJoe`c ]No0pj[w?vbÿ!\~;v7G쮅3ީ7/Q2]m.Gs{Iy3i OSOM?D8+[0)6M-jكXvFrU_, 'R5z8<75ͨng[-\n9Z+CW v988pp~qނ$`>9oTUqYO%>e[\ӳ'?~ĩ8c#eG'6|3wDɸ)Rhb*3 v;‡pśKcs9K@tGne}&b{7#U 0tSVOLΗjYN]8BN8AIP!iP"8|zh),$ d0 Lz7Cn1>̢"PvqH2]?Al,(3nvRNm >^KqSvsBrQ^5R25@3d 1Cf-b2Ew [o%8bv(DFRFY]Ap9n_-)Fӽɏjj_v1[2ehËs@4|w+P|) piNvA=Ws.ٞ#&%ւ^˭E̦_Of7!|\'6w$rI`u`bJ mȘHӼ _>-U.ŽRFQ#6^ ާJy^6cVӑ qic`5H jzk& ݯ< s5&˻K"'%8k4ިX/ `$ tc=szQ9>\TxRWm`W1:d\{6H@ךe<քpIzʞ)ԪC (n~ϊ;J@3PsB dc^ɐ@ӂrWLwk5!WX+u'W0KD|ȟCd4X[xgGM\&/#MŸH+OQ=*fsUQcK'"~-Ey0KCF)8zҠi,fk-(5E,kLisЕӵC3q&#8r[:0={lY#hQ|%0Nv 1sٵTKlTGVd}#h{l)4>xnI t}\n72 9*9©Ec4YOw&n(U<:.d;6ympGr$ g\nI޷x($LaX>͹&ܐAl|fS )RVTB4f;Vm/u[Il LyO\*~H|_е,ōX9CvONx.$6JWA,<"2gT]޼&icɐzбCrI q3sSeeܾӴ)XRTB=Vמݦ* gkPO$#-瞥R=65Rj;\iMRpa.YxIE\`]$x }"9 @>̀W~8E?xSMK_KWaE&R*oVCeBC\yHu47{S*ʌm, Zqe&)xұaMV*7 Q'r{n&.r?,hlL;]xR 3c*T<܀&Nv}^$J'=p1+U7 љb ^a{M]:عlBcϭh-s{E#od4נ*5]i-h8=Mfif͋rdv\~Q ArԄNs "=@a,POoIN:l~ڷ|nz*m'[(rL& EH.4g6b`FPk#a:<\`3ZY_ \1B/f3F2=IkMf#B #l:p ћRԿC@]= \A:=?S,-iՁp AA\ ^'wn_e( Տlsȏ-_ /6p +~X6Y,FLy'`|9 Ê . RNIk8 1Utuu jҧr#'@і9$#{HwJK(2E1LqTřƲ8#])wWgxwEXό#'Hc͌]LN'q$A8ݎCo&hJ">5OgkN].Za,N޴:]c E2,lXax֦%w˸ R`VQ&&Xx@Ą*<ӏzR!:L.y]'WK=h{[~JP[WKč5dTbViL8{7wbv_K9=׼l\6ͅO[.Be ֤yA8eEy!.e3$:lR^?XS3 Kx?Ex* d. "SEzzC@i'li 1ô}#By8? !Cq4Sab3*iS[C1.~1.0në{Gu#XrP֟վk!HJM|v1>8GJ=I!7 Vm_WJFne~eVi0λK+Arw8Z7rѭm#&[B~WQ9{FtHw.3_fq^{cv.<Ɠ1}Ǻ0FŋfHpmݶaLIf皖Ăr>Tqa lVh^"D,6'l=]&@]:@RpƮR}=db.N-g;cgBQp=Sm?+c.%b:S W7-W&ԥB\3 2[[gzLj*Ș6(ڬLZQtUX * d9k" jAߋurY8iv߉,`|,Wp G~0ӎEgOİM+U؅޿ pl/Q=j=n$$bdZK;;0; 3aI4w/n?j?A,P]+/plTFF="n]B1l2I+j/l_?pg!>7G N:}64u+^_Jsp2 {lH/vu~UUV|8rkVcWI]F:mq@TÄ}Gjwg)1eD> LMVա4ǐ}᷸ˉTJADUqȡB}ۋ~FEl&jגtZ~xsR_kҋW& ~|LgyK& ,1d[0ڔaC 6v?@;>^G<=*lR K&- D'IA9Vܬ0 P_CMgcјCꂌEfش;F^wCƨW*-,E;v?7*fRhDm5$aVu =hƶD<|cB\ݐbi M Z+ZprzMWJd>|"{E) XD?XZh ؀9@lW*c-/0#W-z_ؠ5;'VPAGjOE8:}V&] p͇5< [S'ѻMId6jmpUĚۙ''ݮ`^\5dRJWxR LF[,/ q4 xWf#R + LV\$P+-i߄*T_VB0:΄;N$L Ei9,珂HA̰v_Y3$ˇ| YGBMY'x4^ꖚΗHWm/DOLP̕Dl&;JmkN|3hʓu¬q%.o*^|CjFRFRqj8(:9d :31)mSEM""ML20"FM(Ia}pp_FC+璙[1!)q-:()~!m}d{niyN.E;"])ߜ잚ʶ7Փ :WSM ;dˣf^' 5mÏFlaA17?9oo,_[Sfk=|*,9C+$׏tۗN,B]8Q}G@i/t=A^6 WZW}QE2/~qfPgab`h8v$NSp'G xjȗmJD>r}>jļ_h6؜pPr3B8r0& @4}# _tj>+#lm%Dۘp)"ʾ@i6:U*Ir_ݵy ێ/"cdV>Gku9u\RW1Yr䑈'چ c1z8 -q"d(Ͽ;LxÄ'FH -w'qKEd.J+*R%?vO}8:pd2c sV@68ޝeS2M:GHZ3roV4Z&1M_3nn l:K:▙r]`]E]|7*[1 ^Oi3HI\s83S9Xh 퉭E6lTddǶ'blzg^r*̰<]H틗)wTfJ*zZ2&.'T nS |o8t7j_s\eq#D`I1`}4?ǐ2A:_TlG$(>䯱/T5p-D?;*gћ>ETAj{LoT:vGWb&<­xsW.F|Pa3\1v7ڇ$noKla] ĴtIאa}`FYM]x?wP#%PSJ'E?1GݼpjvUՄ;.b:a*Bsa(H<y涼Zeo y{/j?Fh%F߁ѥ2 E4^ެEnԡ?a $X7л#0~C+L\ =1Rz{Ɓ>2I [H^*E;5]D\ph2^AT"j 94q8J+T:jy΅sm"yj+6}'ZJy9 &rnzzv+f|U˰xJ9@lό=<Pty嶗e'O5^)?x:H%^#p_Y v$u,|1/j6)O9.H¿2܍( un._PFDz\b ظ# 6k|<|ԭT3/&zp-pN5M ;{?ZXRU6 &rC/ FuD|. O?0k_8mŊ۝KrQ70O)91F: ϟZMi;p|(!>-O %rN?΂D V~l2 d$h6A6.x8fCv >ƅF.ġq0,bTO 1[ߊu嫼QgG~qYʕv@`_3eAw}0;̹'%v|yan6ח()b\T%xnGWN3Lկc 7[#mo[ 22JY ;~+nvo.PdV WΨ(T+`DZqbiOI 'Gndm!$4'(u"2ٜf\aQ! SS mI{ryx !>4-NQ-ĕ'ȫs~V{)-bP] h0R4ʟ[ET>=Z{,/>t?~x_Fk !y~ݒgݮqa[N h:X/y\ 4k$DL'—`jISéTVLS{Uޙv=J=\JzP~| M3T$ &'?vGu{nFueUߗO*{n{h(=3/vct~"PDqmhX4CӾ$5i)ǕNs}O)swtˆ_*tr7QyYþ2x8"~Fm(&Rj)]LZE_.GE83F[~N{+bK*Ww57= ';W0 ]*ZPzMD0 wFtں15kmkl:JB&< OigI]f1BP="Eb~s[Y4[;@pÄQ;DԎ~aF//!(:_aH|׉tj[99'7՝_TCzTbP>LF%>1a?i7"_P<|b[qytЀ{{z`>׳\PS7Ayҋ=V,/dF0ߞ8rm #Vޠ%g:L mi?tD l]$,0𝋯QQe|426SAՌT@Sct_VvFI[|vtҼ%M"\{L.7tD.=)Irմ.nú\'ڛY?y-\j1ڦZ7`US+ʯWj2dZ}F|%L'A̶׆ #Ҳmbj2Fv:44I+FuR`lA4*TVY 9J=ʘB0AHyAŅ9΍Ia|u_=ߋThi[zqEEwu*5)ՉfмpԼLe*nk y!8 wcF7._7'l`'!L ~]{R"ѡ vqp]na?BӀSD oƂWNЬo0RXv~b XS@9y _eik#`1" *˂]~P*$cr|5w-m{ *ߝj:%s'H3*jNWKg1G~w3hxT-'%QXoi8/:a%ˍQh3SmAX)fEŲ /% VNFE4{t-Il)]~I|*}rΫ0E[.m_b/ӫ1N+r/0I:𽣵d/4$x&)xeԹUy|Z=,Kjצ1Kq*a30b?gUֺ^O\w.V)<] _{)t <+#eM'X o\hmg;Z]=ZZl{$sF%ω=ӳձ[> l{;_"Uܖ6ws2+J ҝ<>bT%&KlGNN(zR7TO&Qb=& mLrށ/_hr!*?CĶva #:vC߈fp j{*L|?М(Y@?L}_mJO:-z_XdYE VK,)^O9@r8;љ@UN]Y$Hmϔ[D!xy=S!DfۺS\mhI<5BkT}źB<5ծе}[d¡e~G7X}qT:P#`=z<3KW= [ӹb j/\ѐl=MPcb}II\:̌yob B)@ VH]M\ٙ ?KR+}j_@pѻ g.f.=aL>ἻR s%©{hr,XkRrq2@q5>.!o3=Sޜ?Dnϗ/Hobq*WP[9I{L$9RS.E /؍VW{xnSe/-yv!ڤL'imI4C4ٺ{b y+RV{uErGRm Xl|N^ؙ~! E˃ك` 3ԿOg:HK9VE^]f'3JeF%NuuRS=.%b~ 2 6FȾM^$tm-MքP@E4NF; j4s]]P'twBVXh[4pY Oj`Ag\V$,- C4<ҕ%&jzjT7SU-#^J40DΠo_DmhAUv}e9,3E:$2QZXCشhcj4ß˃?9窥i;2hfα܅4fǠ`=j _^CEPuPZ$K O4M USIˋ֛t'ʦYUTY6-##\XKBPʿQ”o(Ő\"21L*g.ʣwJ|)][!}uUnS1- VM/D s2$KaQ~y˃난w* |O%q)r<'ҲYmPLH}면R~1s}zY}ONlL9!.R;.kbj mx#NYop r] Ѳ?OZ [itlaR5$CN*}*هnNBq!."@w4O\53`Bwr<9 ժVhY7i3)mTWrN2hڊXP/ /_Wԙ\R5Sy*b3ͼgARߥ \)GXCNǓ6)t!!I6'.LQGPJEJ v;;C!pW}GqtU^8Q^3:1RuV,?۟(zO*{izi~ɠuqf+K [ "<?ɪ|3+]mYR$]L&0{sȳZ6(ieiqaZ/ٰUL^M^"˾oCHt]igBxwz)(ò":8N8C ћԾ?]EeAg1*Ejc i1?Ƭ܏J٣e ۺJ)S&AUګӇO {1:bxi%:0~]"?0$٤ˌΊ)5sFJ&Jg肕 F(ԙh28v xTIklNJ;j*!eJh0l pLlL XÁLlB Kg§b qYeO٤QˉLonI0-<S->x3+䵰qC? &:;ۃ­eqRSMwl\QZ"qxWwU&#; YOo,m޸ {LOz *Q> u5UPh0QI+$Smhvs\&0RR04ˡhGe&Bܷ˜ fflp^h ơ> B!ACR] 7Gm͜0cqG^luA_In7:EXnch]s;Ac^@dT%%+on_`X%`\ ^y5%yP!˂m$7og|qP|x#1搨UI +- X˾%=|@̩TD(dM] jAj7}d䨎L٢|8 .-1t]9Ns)=i:LE M匷DSte:1a`g@ ,Ë/'ڎy:3< e++@G =k/AC%py^=JxPb!ON_]kdVU-j3K'X`(Pqډ+X?/ ^x*$!XT4E,8p$ u:vg~9߷!TLb̀Zu"r'>1| )-+rRE$#s/@m7EEirp2.QZW *=Uydo$9SwC̔Ҏ}*ŖNdhmfM &16Y=4xậe,Q GK@n& DAy~ݿx>m`]*ڗ0ݿ ,wA39CpWFT,¼vFGm.~^(B/? Ԩm3p}_E2ӴF;юv#dMzNJ(2ns-Xڴr~E26098D#>Ͳ¯j"~-JIEu}ߺ|0Bu5y;/ B.\Qn-n"D}JGaeuoU2?eV"X6J9O#{{S>>Q P}U`yV!RqlZs*y&h`j&SiRI|JqyUPU0  qpr4QkWym{}A!ntB]=P0GC4C5Cٗ߱ؼNAxj62W0,67ߖgvCb qL')e$`Wb7ZgԦp\maRL/&MQӢjQH7@jnh ͝)K7mnrrm$,|`Zma?aE7ABeVC Mgs6O-~dq'_f/vris&PEe@ Β8؟  +6Df8;=Q&Qo-jMpc$$,IP,PIs-!6NBN:[kw&ҒLw}}&;K\]]3Т V9)6lF[noQфSS>HD0F@k:F&plbB|!ܞ]3׬l#nHڒ $iķGPJQTɳٳ|ҷ&iuG mN~G^+/+dO 9jŵoB;(ΊV{(;QUޟ(6d̻5+KU$:ʐ =l@y BuՕmEpYtG{)h\"_ /n05JiqiR*R@?ּ&T۸"/!9Ci]4O  &ݔEPXZU=EU u:Th`N끑!*=FN@KH_±h: o!\]8=V@&-bGhd)ԝȹhZF9r-mlMrj#H8ٰ#Z?%Jʧľj=UG:c*Ӛ~ߢX[MӞ2̓(z̲T9oET=^ }Rq&ʎ2xa.PJ9;+9*0L`S7YۧGD}BIMY7ѿQVP2c*x eޗM @Rr sA !^=I.Yztb&+IiM(+ݮ$K+{:{6eFSnHdJĤm^s2a: S ><\1f|YgBi/'Z Z sKsu0'2f^|#C~_x"zM"kY4KRg6Xb=pgש{ݠ^n";J }\*\s9$n/Lm?m\%Ԓb,mH>jk*a2.]{CR,H1#ޘLaRdjƛOā6NVpaW mu0>AAB@`2:66=NߑҏQi[$J_z/<>A2j>7w~(BEұ~;]֊ _O BlU$ K7 GS6 &I|Wݺ9ZT&VpqIg;psv!B)& j6SUpf~Iyu:ӝuaQ{Q KjﰞMQq;$ET5F&(MVU_v0\8ȗ,ʗ9zK2|lr1QX(EynV)7\Ô/SGi/F1]{j˾?}T^>o"{t8*zeVц2/F*r{7#oH3P *kiqr^ #Jpow,Kܲ6۪T=k+sمy{%p6Nj;n)яW4#IV}-;Jd+2zaBEI]'hpDRE[IW?]2eB|nb`mr-1vAOږ`/&LX߾I[\_qZohP_yHq'^<Yo5䃵dZƠw-YL~.Nd47G0,$BTZg˳@a֦[|/Z..L.HN"R'?}Jf󪿢 UuC0MS,YW)X)gW`z/r6&59}>>ۣ;*/%u^,uҸ<ۘ`ے<ĖsVǵ)VB<Ȣ)9uxMèt%&_`k6'Z-Gt(kD3Q \)L R8+O =Iw'óA6w70`[jUUb{&!kcr3fl:𪌢tⲹ5R.4r hO[) e $O\U[VTB PP<4UpLWUxK&|g53}fw:6ߛbRk7cm!6M_:dxFN:YjL]Iwe 4lߔOIP38ԀEa |4|Hd"5~#ɘHO7upIזP1Nu@i,0_<k~ߧc=RWfFkO=f&gBe#۸C^O_/)6wK# {;ȱCwi(` fjWj5Q u*H:7-Y` SE  ]@CZıH-dkof=&vVB? ,ū \Z1= =G".'$fϱJY,ǵy9 6AMosnJH?SK?h\x F{n|UV?k1_ uv QǧU9ƛos@J D}r0טXomTrR:#H}2Eb`v[˧uH. mAJQ\NKs ԺH`G`Vtx8!aCx#Hznm2TGbDIwڽLtWjp54{眝\zw ,᢭ľq!hjy.1ᇯQ5KָE[`\0'W@|8u#u{iHq\#sn\3Dm98|o^,xڀn5-ذvD(bfŌt%!UT-͚|GQ |&vo]| ƸWB+-s8e:r%=J7E2Ҭ uS7P`Tbe7`軮;]-zM'*d~ƌVGb A|BʼS6d {K.Ի 9'^_kS? lP{~يbݸMQWrv Ij+i!I6[K'*#]QyvN4wSz7Qgi{ B-5 Ry3sGD:(ܙRvI#{l)Zrҗnz>Cܝ+ *`cA`ҿ 'E$݃?xJdڝNк\S_kٮ5l8Wn,@_D-sV`/a]C}I5֮KD&_c=x| LycGCCJǪ0 iɿ@9;VW-2W޻䉐5Ϣa#Eb +\DUŚEfc E#r_/9wp5|ce8AVƨ(}'ŰUkfڟ5}/Kax~- f)˶JF(4fMJ{q rxw [˾J̱2UWD8nлcvV.rc>")u@Q  ؈VT \]fg !~ȸv1,Cw,k0Pħ{ð?Z6+R'nkO1Vw!)&[7A>C- Uێ~WV=)^A82&Hw{S. _b u[-uYd =k&.}(`h^xA|2Ѐ5A'8a D05PGZ[ht)~1L`t?y8WV-G1!œZ-Ô} MKio[ZW`/hu0^CphLeZ.M9/o5lE%M {EEm5CIV0C~!Z4I6+oa{߁AQ\{ēSr0LOvBrwHg5Rn s}g*2`poD]PIȔg 6gf0$J)rC 4-݇Fo|3>,0$N:54a8+ʡlH as%}P,l)=ӃMd?B'.y)+6qv[7 j+X0%C%l(I)^[_(c>&f|s&ƫմo6uH*/=RMa'7s+ȥa<'ѯ0ײQ|~UyhyXBOBPs$* Rm[5GdfW~9\NQg<՚}] 쵓d*E"gϖt< $j>dcxL }pф;/Y Ʊ9+u%,h2Hi$G5nxthn/'EtsF/l!2/~gxo5['Tz1˘ЉX`6_f&R|'02`!C;4 wP2og;M$T8l4`]~ԂPP}YIi%0,P/'.a"vs7ǐ[+3˶+zSݘMwTp=1&c^jG4@>jCbh%-wFc̘].YC{_9-9(RWfGU͌F+O^EΡ!6sAi@I q )%cK:YOn·0sԮrKS5I@~'T{bxc58#kgB!od nZdn3ыjFT9iv/9ctP*KBr@"$O}x[U|qᖝcNx/ b(%0 UYwQo"q[9 lJ'I6V{ Ћاid1SUFnAஐδA. ܀GxYYz|BrМ/%peCm9OZ\DR(Q"|3$B/Nܐcs0N}t2Hk-F#txD:+Rb}V}fz}#=ZqNp?i4"w~_aq{$b?*A G~v$g) ߭wWXP4gS%ԣaJa@*fz5UV7`*+ͦb=Po+$H&w 18jQVkMe 4RN7O]M`ª==Ϩ%GODYs'V," E_"+ lD\Hsg*^`BR* >C^ٓD$ $;F̳iVMNҗuSjt?fT0:64E|Ԣ.֔مaO|Pskq!lQz\D>?XCNZd`9C>)@<@,j*z,YD)Wɩ1C$(Y|Edץ]LeU lV=jWgT !=ncܷXiX5iWipNٰ+_;u82PUd x/Ͼhgp0álr4E32`]N}5db e)Qg{Q탙Vp$HL{R7 ##h璕sQcv켺 7+Q\3aqXVzKz>,FCP]|ob$^ ~gV6Jy-Q E7߼QeBZ- <#B5 jKP{]ִ?(<7tESkY8% loww3nBMC,p;U}FT'II?XxIkRO|yºLF9`Sf?pO]٩m9(YۚWrmY4:gQOxڬ2vQR5rzKb+ ˭H!m.dٌWG4]Q}/Wܓm  {o89v~ud iLc,rVq&5d9A=yVxD >엢We|J*?VvZD;݃; M1]~AWX+LFj mC C~. y6D~Cvђ[jֆOh}Bq,90*]}Th={5&v\oxqa3* wq SVc,b<=q8aг}"HyJM.٫yk×NH 0d>tw':mq9ɿcXfu쒕*6OvQ$d^d|vJ| beLi)0J:u~LvJ8e5:/L`Is {(U^%8LW-XD{ Y;:s\VQi ՘ ~g*d}%Θߦ2kˮmZ+FPC IcQ*1M\Kǰ+ G3$\?ltgPi`n\;y*ԻRGaR*[(8ʪD'/HKOxs:%@+*T9vöol)1.XAUW$SI-/y(P2q@8ʚ1|"(OkW4]f?2nmjdeTqbٍ1,5ז|D @]$(+ AdL@zqj&­Wr# ͓t#⍞)`KڼɨW bw8wzcFd]YzY~^}.|$fNIj6q?`YYSz nWͺIޥ;#'턃b%g wGWu/Kq؞~y-rv=ܩE8E,1ڠqrlbOEm 'ecc}|= mlYC摿(mktFs/*P֍#1=<~AavE*v B#s?MdmIQ i`ŗfn}a84% o'KB40G蚙 %q=Qe{lQ!Մ}q儍d!71k)Oݾ4NxoλIrYT' 8sʻJ/iB=y(44@+l̿_B)>ri/!"݃fȪ H7M9ޛ̣{/-m_I/KK+;]?PuPV=VyzX;6c1ԅGޓtoHk(M;a0voG֝'m޾bQU @EqO$?u8PAvdOGXk/طMha|ZIoԍ} 3uмkPEbrH%Oׅm=o%8)eO FMnw 2nH'|8cbvi BV%D&< mdη)>~^S#iu{}Km%:n~OHjз䏉@fA> Yk:pW7ィ2J,G 0. #ZS3#(*[֭oq̔9N2o&r-Vzu0g.Vs&'EFrs$O"Cpc銦/$U_ۂvh?Du! ֪q$$tMN mx߻#z lϯLf!=@r;-'afl4}$DXwrv;SUosx< }vG ($%iSQ%e)bIc6b- Px+s6Ϥ!b Ti,{('Fݕ?4ģJ0#YMH u2H;z2R D{;DW跔K鿣/ !;:̘0UZLCR*/p>E!͘Y~;Le>? EVڡDwaZ7xCL #@Eʸ,+[+nu =в@;tʱlMv ɺ`}<~}+gʀ#&tڛ솠̦Vҳ/\ϘPQ; 5J\aE20,de/!KYgfjf{*{ih{(sDjhMc pCۊN*5L D;[S6! <0?Yh'fu|{W$Z|Ƭ7)zE Yl!7//'>$4)owYduQ[ ,.C0iùGkfd[ƔfũQ&>)Bn?_(Gb{-brFeTJ~a_ 15+u0 jO?n|.z$_ zAGqcݺ .2 ׿0,|sR̹#Jⵯ}p?èr{ĬThc0Z);B e`8K't[H@|N#`]soxLioV#6G*%U%N'b녵5VO<,֨m|F,@6?"nL0>n› ~L\0Mjt`iԄYX+J;>X`GknR Gd/lTnӹ vЋ\d׷3@L̘&'kT@It ePxz> CeԷ4*9<6)lmav_}۴k%M4H A>5jh(l$ (Be(Nmτ@AAs9-46OyxSucL\ 8ucRM7 9/?,یuax3C`[鹡Cl% GY)Ԫ4jZ`_b 6Af#rM3R> Ԛ[J>=P ^ۂC./Nh:vbGA+֘N$KvQa;7S[0 ˂cЊ.`3auZ`"ʡtBAR/LVr[ ĽSER[QJAM2}}T_wʷ#=QPHUnzϼiO7zFz޺ AcŹf8F,p%d.9򅏩j>gz|G4%eS(i`7K7UV^x7>QwQlb,OCL/[0ҪL j%˛H{ TQ'l[%%0x PY@F7`fĻ9T}%}?L *q xr Mu ҇HSe=.@"!/{BȂhȯQaD O-oish[g讋wGJP[{رo7HFnzN;4>砅Rk=h[NIƜwD;&Ǒ 9rַ;Ka*rCWБ6. <||`>Ql~\9IPiz;Ggᘻ 1? %f a?G^ꉄR+r:L_m-k8ҕ;\YHIxgmp-BG_cz/ש<"HU#LXF!8a'o۩=d |Fl DHlR\ʸH;7t2 FGr@dk)vss, LCx?]Fal0wSa:0@[ }jmZ%T%@Oo?S :g;m7.ć~-[զ Go,ή pxjju?D\J)KňZ尋Ie'JOA-^1O Loz0znd4n8/ :8ohyGBvyٽE] 0`iv8)"bτM2Vnj#6!re\&À PaG6\t~a9rFEf\'M"}^C;&_ˊ&pnv-D(e¸"pM\5Wp sR^!!&#n(& ^(kk1Bz'ol,;:$Eab.v'șJΝ"u/Dh/ Is_sg2fy҆k`|~䉈Yqg/~ֻމ1j}x~^!~詍V 3"RJM^Cr^7i˒ Mö_dw1ti*hݒ)6[;PF5 -kц)Jt "cP\MˎQ։b{ZPϣهjT|RYx[^CM_p͊MbJ^]KNP\GY$p4.tp}3cؘ:&l=̔ÔZp[TW>6(YI,%A\mCLrL46?#x+=`UonP\ ,_ɬ9թ mՃBtӿ`^ecѾ%zz;.G:~ %k&/>Cjg2ơ6E?gazT; jJ8N>-!ssE\`zx s.BAEֹ_R(+@۰7NA#D $fRtu$t,ƻJVs0㨡C|MMW% P bBlpzȟbYe#孥\Ïfy#~ =ih-sS/k$=7HZ΄HE/) gԍ\b@F =3V򵵘5u^ocH zr4ǙB9 =K[%{ Rm No5^ji4O80OtG{6x=B6]>ZNCl{'N}e3A&? s= !l 8^ (.wGu7BOȰu=yYTd4*qjyU4:`w7 ؈u;UxWWݾTG崹8P4sD`*d-> n>̴Bq#SXG"~l6!@p~uY4u1@YDi'NS/:W IBD֬.95,oA .瀴*[^D3~NNV|VVr%Q@(r.k@ ;XlCֆ+8Q0"8RŠYPK7fJ+ڐXdFOWx!`^~< b2kpmlۦJ.#h u%}(mdžȐc'gq z!gS`o]^;G}ᴵ|0S=ٌؓ1=-X<=Aq2>RJgڷa>CҐ[ܭr <}bLEлťi/<WPLS}'Skf)YWE.ɬm =(ܒәqO_+wK J<jT$ /V$ڟ#1kw>pۗtE$7J/`.>SVI@΃ejgdtɃGd%M ΀JIN8@쓦^#ۮT Id"s#,o\~.PF1?*A-4gSgqP@\~VW UK 6iW#)m.`{Y"A \ODkda3u.8uȶ:G9<ѨgW6.nk8(=PKqPrk}:;r!e5š_HbV]5Z5Im#D@MxJ'p1|1Jt4 ػ@/ԖpYNjs-qbBcl*bs g)n^P&)$?Pױ֠Ԣ]2.yIFvQt1BL |jR7:|F%3*:|6O>&`@ #{6xYDWI3jShlj6-gI-BSs1 iJ9d ZT1ve3 S5k0Q.4r$tkR)عPjv=ZbCnSШx{Ƅ ÑiF&5be˱NI[ot29skI{e {{@e;U`~TL,Bs-ᜑM&zq%)ۻ$a2Y0L1!Z.0v$6` J|KB`4[0ѥh==U8KեЫźyޘib׫%ڋN#1-M$$ZmߎQL'[ &Rc*֬$re9<KG48coyj?2f;%P\ v4^qx!"C alR2zy9*}M`|\IWիn >nLTKK5E`pPl;9y~ZЈ2@!T!`y5ceTAl \{ڻ2|;/SM2xS ȶ^fdrwEg /խx)n*d”-o$|vy63KeBUtuS D-=Amg?28խ-SR4ej{qi@vyl^;je81)(ۮ3Zv%WvLŜ]iȝh"njL7J7u1a>9:SQ~ߒHiZ $'k+}Ǽ @6 ow.j:ݿH@Kh{isXzO|ܛ"?7ibhs9T#c@,5YW ĿeW on?%F&UDeJcz]m=PD *wJ K7R?j~ #I%vB ќ`?V9D-:@AUƮe9>>EL2}e>޹1C0@N<&""QJͨ5ᑳDr5f`(rZ6jQkgV"4:U꙳y[i%Oh `~GLY<{')J9=+go2?Fy`qkWZ!J܎{5I%r)u6,r3] 3s%gmE}?ɔ`uueßʌ-Pˤ+> RʃgSGTHoo?mvG!M&g|yE]r.:ۋJ0~ HZSg>7^>YF XF.2>NELԗ饽ڝZuW.kdY9-{]~p#E.ܣwnDV'q=WT{߶%X^/3''  Q,{,чU&{=uKi~i6۵"%+jorD`ӑwJׇQ[0uo{W8 ?Ei_Cz̵@b6,kzXWn뤺[51,5u }Vǡr ױ ݾĵ$~x/8IلsqOtŹ7{`.x/vg4w/ӕDBpl褩rCy)rݔY.NĴ1ވ1{s-1h||(LhK0Zpu~D|VBe/ a\έr~˲j$i8`L=8$Q䪉{v!/Ў+jeL,C7 r2*3d]@|)Ο/a*¼ˇLm'NUBZlZҥjW/$8]܈(bz&/WB(c_|XS[[E({E%RzM_ܙ6d7j8 h1ҙ%gY#T8ukvjLٱ,ts)snwIP,;2-~/Nr^\'FYoO>C@Coޏ4eyHܸJ_C15}*#T?»`iiQe.Tj<~, q eu;xGN_RrU)yj"9* بԁ/TwkMŃ>xp,-|;aZKLt.}[x)"-8 bx1j,E \>q~x*g#w+z9 8nBcg{`4#i<9e궉 e 3<^y2So {fZ{?刢s Z)0cX;-HI+o3-+MPe:ƊCPz| DLy[Řwd4z)2>ԓN+L«H7_5>Cz0-,V%'_Ώi!])Y\@R"K#1h𖽒&?흣TӲd !yPOl+q%V|TE+n"@R3di[c%-|K1>Pā'ɋ;fu}/Uw2BGyq?ڮC|`U&ǺFO7akR&Lo# eCb"]-gbf?"1ZO}.mCƖץj!Z>o/JxA >)1|XɊXFfc~פFt ;Hz<"Ha56I ^QZrkulʯ'RglZx4x"ڤrP~(Y Y( &εSqoHF:vs'UтCxJRH lo1"5gā Isy 9JQ'q`d/MEZ'IZN7Fjvug$ RPSH`쎟7&TzS.\! 4-*F[fsŝ=l뢘F> ᆱ/YjWFzZDŽrCM)@s(`1@)SzR$]VBIEu\)f(8ēߞCOxw0RԒPz9?JLG̝Փ"ZreHӟ4Cdu.V_N,сGБ-}`~Gir,`2g~(I ?N-nZ)yCEH}*#l*? -# ^'jZe\zDKX NϪF6׆Pb]iDEatafF&&wm|A|7\CsJ7 ZIH RJ&ТOhQ,5/53(o?ȧ`-oc,!SϽ0s1Q!VQM&ҽ.@(gq2Sbr`2&+b+veJ0&ZZJ .'kC|k.Sq)AukQ[S~5ɶ8zt"(:+htjtx#c9&S|sF3|kŴz8 99t&|4((:^]2So[GuQ( VP b<}Roe{BH\ֈd,ijP!q ]-1ЌJj):%Nm\P֣I̮{B֤9Bک4ž_2Bi]z[ +Um͎%- E^cca8jcH bϒ"Z45SݓЩ݌J`} A $j X]1!խAd^p;%XLI3ͬwX+xq1?˻|}>vvxF9]d(R+%Ż-;t?tB5{IZNgdAoO dwQ^x(0O0=[A\bX& CÜLs1Pꐒ1ee ,͏_+t.K;Ri w&)":S+;} ! AU+'!n@>GEG0(J߶ `{^OYRc>!'>/0SOҧL.!㺄z(u #P.>e}Ü4%3ڜ$'̘arŹr+j,ߐ臅 J#z4tec3ȵ~Í׳ yM <`^O)(S&b83 OE AwzO@г/AF}uo@B4CBS:q3'zRSbeLkk J g#8P;!OLVתLi"wlfiYxRѤo.TA xoف:iY:dOHpYB'\>OM6~691 ֍Sf5ՕNAɞ/8~.ν=RN1{:wUZ WB)Ϙ+Hl$trdoDx "1\p=۲S*)gL$+" ` Hln=3:P]Yn[、i 4v2`T9jPv^ޫt^ЪXf_zjOBe@֫'<MǍrI_MTߞ(cFeE`J×0#R/9CejJx6}ʨw5v8UaA~*'BlYj’8ad_V.>$díuOn-zAgwKҘ.4-qOzD^:N#R Z1ɽ 1ބ-ͺ״k$I)EUmf/fB=89(iBv8f)q`tV":=}ύѝ{A&!rdd=^M7IkxgEtCMs 3Tĸڣ*Ioy32 ߋ?EMlJ|3GJ"HQf.Lz'b,5S7ϙD{x?Ъvyz+\lhU~@(s'|"q>GN7O .˝M[07~%vd *xje(fSžVͻGA7A '}1\5 q=JLlxJ~)z^g ;GnL:(%3n rTuoǼLhl,7ia"$UZj9_N0CO7{~_-Vv{AZ` 5%<<9 aWg]^GA npf#hM 9肗vSïA Vs۵&00nLc[bCp+Mx{S=w!- _ߖ[y^KK<եug]K8 J/mKwW=mU^s0ї` mZnj{}E劙hZnϤ6r}*ctIp܃u~Ǎs8(H/&QuJ !蹞t~]xEA7lV)/1#oN6{N>q\i1NYCB{</o*61)O[Q1vo(:ȪdAm-/7sU#9Q0`* Be1 ,ˤK|d-IR=C#C.J.ջp c)r"r׾].WC 8,T}$+~N.B JNJK2{!#BhBXSPC~݅m>kD$?4:c5psrI-1 aΟY#c?ˈ9۲e:n&l4ypQ'&'u0Z2 JOr2RBi}YZcA}Nz!@bcyȔs~a1WJRH3]C*6?#x5gpCNڀAUޞrpwn= `r@A1(h+`UUTm̙p *O4 z~mMX? Qu\bf5P)#D׫6KztP91W.[Ct A:Rfa1z[\=~BjB~"\n."#gA/޸8 9ZƧ*aKw2I*vA F(}Vhac{*X żz T0yX%Q!֘kKȓCE?n!]7$}9},&U\mH iذ;8פT.(3tk$V5TVlg~rFw 1ݺֵGJ )ɲVywµsH=ӊHu#Ǔl(ߍzu+,F+kF4R88t_sMmIpƌ֟t"k.NA7.ӽo6W 1Fz}!@N⿕|F) r lR7at#qxͨV& YcnR w*;_!i3 Tt" Exp2M^uO&RVX%/k4j8s|ӣ-o=V{mKfɜ<|kw=b[>q[F|y3 HH.u'w?tľX6yQjeUbH}y - ?fe޻uQ,GXáVy ~T/M_.:+H*Te&yf6@\mDp쳃8E vwu|G9zD4wBݪgRWNRB:MWZX/WΫ)kǖa9͜%,ׇg@Oosۮ3`o21:F-) :;0~F8mrB$Vun#mCNfk,t5ɟ #{\KqkjcޤZ2PRqm9{xR8nv A=;%ɷ=;!0碬j kNzؒԑ$>e[]%SGwD RYXb҉8W8odl 9IW 1C= |L d[/M:t福 ZZwK_چOj>|'_L:fIKjH&]N;EpX)K &]OˈewI%sE mƚqY|8˦RpFƵ3]^#_A7.HKJ\ev;9$veY owaNzIoshGqAE+%kcG^lIkac(-JFܔ;v(T|u-=ʗ:qC|\Q,VBY_mJA8T'$T> KI\q6O/ad'0{@ZOʊLVR#]+bM|?dIh9mlM ߖڏvtQN◷_TvHD\R\Sq_wG_N%.)i:S"iegp3wlTqa]Ir敠tǰ>N[;Y81qm~ mX$yL>Dr.&G7WlS kĚ+ٖE C? *NW?G,(<E9Z< Iݍ/߻:j[d#F/'BU&~ffDRKȆ- z,>4ʌs _ͤZl\"d{rO/fl@"5*ڡO&kڻ\%)csanL:&Fޔ_aӸN$q&w[-5ql{>wm>id~]8Qd6.09-s3L.n@fYI x)&Co k~gqjχ2l o;бrkwK:#;>@MyQ ]U,=W HXNlg XM_Ժ5$_%>J!, Y'mshlrɺք\&ph֩j9#(Ze[LaVKo7PJI[~^Or&3*?3:,;CpdQvҽic ]# &~!87] wϲobVdMw/vJ9t?e4K.9+?K+jV)9̖O_, Bׄ%j`yhyL(x<m&%&ңn ^~TJڥ;WzCݟd :FrLYN:%Vifưv`#;D|[bԭX>ua~ 8WM<&L g@37t~26T:|*îh,0$L3ԝUR ֜7UH)\g=*҇W:Ol2chZ:\){୿aF =Dy ZYcq9u;OCc0O rw@>{\z\B\{Jmإ"*v3jl;ϙB',@]}?bӾ$Rj<Wa:./?.+buO WQtk>?P؊82А/הr*pXZؖ6Qvsk?>YwH|b.[aߎ(Wt Ň)2:kX;<|'%Zܣw{Owv7_OxE[/pU(%(ؤpxSLM!k/iwzJ'*p6/мdǜ9yf#goQ]bO.rk'9;t%q4a yW q.Ya5]'+z}k>b9K=]ffcvgF ˇۆqrKT4V_ҍW yvR7u /'f+>߂ \Dpj=n G)M)PsN[dNuI\ 댎ׂzf{AX40oHI?.ǖ%E(Suv3cuf|a6|~&޾TrJL%k-v]rU /H֥FW3>\tSSM .hYYPZ ae[ BD2|_9Lho9Vg@N-78#I\OCVlPR?箖vp\5I_KF Z;*[Ŀ'~6Ė tVoa+}Q e{\^?M|> p[G2JZ3x2. Eh;g2E`^Mak*)6٧"YKo 3^2nO?f`8;jK((`FT`lkK<ۨ-EB`>A t%2 i%pUr9ywwE9*,x+jo_Ѳ5aTn p>mǢg[4'3Ef}O(5fswWqR1a03%(K0RuAGmމ[;t`?RAD7_1|{@6!jH>&߆).X)6Z2WsȞz_7NM9?5R)s ùOW6Ƿe?Y.J[rț(s(ӡ>qSarZE&OޝQktXdvO162g [^@]42=0&;ȿ@OE}}J@,==[n: p¸*/0_炝kơK\1'&> ˩⌼`i ?Dj^0/-%ꓓklb.y84,cҫPJl; 9:iK.ڗD6V)Jƛi ʈsi,d;3 1;kc1LdkoMORjXրZIqdۘ`?(OdaAMAΌo+fsbJ tƈ gVce i +dGѼδר"P=:h/I:uX B?qWR;u|MdU,S&/ۥ;TC ORj8IQǿ_\b(G"h/ P 7I&)RٲRoG.q'irMb`1-̓5`{vf8%R;$ɔ2 ELٽZ̆rkmh2|VP䦎+u0^(:xcSCN|h8+zOs |7s" 6r`}H(r-(EGiDRa,핺$_$~ 0`V b ]|[qU'&] lnd+Si?Ej {k8p+ dwӴ\bv[sx'@E j>X0+Ħ'wFA̍4X*޲/lg!}}Kʕ9G+Õ/CRaWF4u<`y88T$6 [0aLd1 %6{SoMb xML}r{28)ANڏa!H 1ct$&:Pn4Q iAP|ŭDa z^,]Ot"OCDv8۾nc:p},  &V̡ 翷QDnv- U4 P'K+*HgB `j8I5<&$قjtIyoYs2&:A۾wpDq'IWŴ>ZE4آ6*#e Hi[[1^`mBTr jj"A,ׅﴺ\eiBAZYiX.hKlOZѼ#w.ס7?KU.}j"~N\N!tͰY3 6u 6ΈQ9 ѿ ^φ 缕dR)EU i}l\@gy5$OȘ%p, h3f6M7Jm'=Ti"r8btקߗH M91 ;Pp뱓a >Q>`Fyx.GN %dk"N5 GKƢ{S# ]BQWYr7){G;V=OGa0b5kBvJ1ׯu͍y"/oB_*m+5do Wdz;LYȦCj]ЏƊTkWbM+v!%)EǮ"ĥ`[Çϗk5?VBsTGܰT va$5)FnH@)9?@{硨vQI:I!g䵝(sA}<ǧ0%Cz7Qќl/{rG3PqWw>!`ʦR2iyKBښZ3-] ?H.6"nCOv%6_j;'AH}qhcI%n*46@[r~~Rc*q~XkdBC8@1 [ xQ/q-/FlVZF- ]K1n d3GY6 L jA VBsQ[;H]Z'r] ne^H0x7wKn!=W@ 0x=)K9O"g6U}NjofK2=OFBg$0Me#AvJ2Rf{lFB9yHWDkch*l܆Zz1r)Aߤ!ICov*_Hq^0ALuϖ DvGG2BC[{op˺2@R@G.GA|`wdG|EZe:Xc'*O /6s_R's)HNl"ZT^dQILkGQpgpz\@sCJkeˮl]U2Dp򼭬[:]XruSTNgؙ*9IJ@pjbkgn t}oꗮFI)4NYo^DGYAK^}b9ꋂ-fυ(SIÅ=ڃ?C̈́gr1e;cmIw<:Қ\s )Ź"4F1sE!D% wWpʻ <+- O0_evZ.t X>=B0cL!ob""%xbR4+A}j;."\}>^b "ȂyBkhpNףlȻfK Kc'T<'laN{KOO|ة %k'ZKaQb­'Ȅg[9&NgvY~V%t@ʳw-tjp0Q@YK~E^2R_N)`D.H-,c= [tdiHOfTN\?64%zy >Xc\I*ɒ Id.vɃװ%i73YL2ƴ)BX/YФf9$׳@Gf$]\079L]gxѼKܦWTD7b~ H]ü$pB0Ay>vTwT܁ủ]r|i&0O֑tvHYp?g*YXtW#)::{0UcWJ߭=>x$RB?mroLMPM0>*6 sJ(wayEh>ˌA0VY4jvdPФU?/P4sɢGBի~޾⌓ݯbᤆܞVB&EA=&s\pfƨyXzo-z^wZhhEp62gl67B/WD!W3t;:R~4U]pUOBmn&mLN#!q5>vlRRVZ-v_~vD'"#?O>gq5ZE UV93OJbNP39KJZJ>ƪ$}vuBMRħI1Tzk;-OKB|ց`~Z ׼Jp6P#W,yW/iRܔ rR8bCݗf$ 'N7w˾B:[Zgv[*HKT`|y-jө4e%MyAR}ҷ"1Zbg6Ajx{da$mXd23N*{u0xX/"5!e<Պ<}V044IhOgR?z-seij[6'DAgzߙQ@t6;CT$FNZEH.do6kۨ)`ڦN"_ Vpsر+}#PCPNA¯bUçNGl>Lj έ[P ҡ?y:6.VlN:.5-)Q3Mז$tc0?:8g4Cf0iY~^g|*TPkݔ}QDw(?` .п Oc{\÷[p W|;$e͵ӵW4_a%n.ɦd2ױaLA0nOD<@fQI<d|9t\ SH&Qۭ|2Nx@ $M;kFlJ Ԙme 2CT2)~8J9s7jzG|>2U-r}3haH0XT-͔y- OAkZynԌA\KQ|Ʃz.2#=ބ#Cc2ajqs~GQqn*NtdSOJt9 n }ֈ)bFt8Obu$ri=GSţl#OFre!M卛A&~txH2kegɂk0Gk7L#%vx"t+4H#'M KdTVLBzlTac8ɔǮ Td7C!fD㆗q83/HiF##j' Bz^Pi9 ğBћ~)t71# 6?9-Ѧ
rB2wF"2WG'J{ HДV`] H5r  c@kP+9+_YSytM2V/R~xmlcpUxdpA=W pd. #7RPc[1%%jFc>L%0V|b2Օ Jnp4hdnGOo3o=8V] 'Z73`665:wɁD=&뙒x<쫯k(o % >2N>j?9@]6^#\!Na+j,䞄abHQтhu˭gDq¬CrHA`$Hl]P#pAvQmJ <#̄cT D#́"S/+"Z=:(˸+Y BKMwgRVFִ=B]w N2p$w"@;҅nQ56khCx0ѻ[Y1E紪ib`=0L=!?ǽT6R0z@<+aBHo)zQAؽ K~EcI7ԭK$8V{|h, ThbZslɋ lww7 j)`HsuƵCM8If1ihODs)[+$A`8$OGԏ_g"0/r7ht[~ Q#P }py q0,5EZx*4gᨐrAWwPTH`<#Bl r946mD5/ GSʩc*Æՠ?W'`xD<KMԃfM֔}+ MʏyCwò(?B<+;-aK %gas%mV>u]\?;YoYJ;MnZN7W|e~7+A&יu!D_wO `$1JZg?(rߴy\pg T̪wX*OSkGKЋ2}o8Рy" ,696|9TԋP'X**_`a7kdKBkѠ+v68>_9K>8)lWe} ;Hz:Xkh)|s[oP!z"J6s@C}ʦpQ2~$W搩ۖt`|l ?Znat$9k%J]r9=~Of|>=h+Nk]؊xNia5M%Ply/S@d Lަ!`E\Fq)P;jݭMY[pZ+frS@Ka{ru[Dԗ'iDC7VSV v߄PfI٥(GsGl~ o΄=a١M>0#J@4Vs4Mج1⬐hoE s9):H2(-EOUt.1%7VtyơեTpuY(p \" RE Ӌ]3Oq[qғG=Bݿ:,Y63;&zAJU"d Е2ea1:c"A~1Φ;$HLJ®/h0wߜzMV长XqQ/K1;O¢PݓA9dY]Ӆ=ݎCPжO#}VyM2FN%99$B-j{?hZ#T# 7.inq˗8<-ܨU,dM82Oy&sR+My%eےAV6]V~ W'癉u@7M6ROa;`(IfHO5IoK^,UR#C m8=0]fJ)Eǭ}JG-_He@X C3p~M&YKi 64xw) *sH)~q^rFGαU+4Q{vVrtL28Z[H)5T2R_ޏ&qL9{7Z=N-TL x4Z 0B&!Oq3@PX*?pO3$^Bʰ$x܈8…q3"wO m'je*1I@Qp/31ms\3@G\:q*S}; x3᝘Ύ-ՊwaZ:3-bDUn䳤Nu[<6>xخ% O|0:32jt,}nB T궤s1Sbs6,5~tg~;Ch,cSjnZ2!W3x=ES"Ҍ'3,'G^ JTodͩL0mMT9\X IQ0׀fZg0޳H,Q? e5E. B㸛ZHW<f=(&MCeB7eS;$$|^jH;f&5%&C@zJglo#V&҂7ژ7Ei^\5eYbQ U1҇F6C*#+_5қ1p6I?Jd:פb}Wd:Kġ1gܾNtJ)2 /i_  +nhlrhk?/aW禉j 8󣪰K "XjOcQrd8%8wcf#bfeߠ.i;z[q3 :%ĻԣoՎ[|(SFo (9Qu_VAK?T1~ᶽD׆0x*.:WTJeJ=oa_|klP͈U';GB9sfyu$+@)r{?LTߌ">Kaԅ5^Zma*ל%0]m3%1tx碃 p->y kTśI"1s~ #v*^Mz N"}>I\iW8E숾p\)J|RUoZ=z ;!Fۖ ~DXzr }`r医ҡ8](3[_PP|0}j= zD4*1 ~үNϖ}?ooQ^.>?|#`]m<$e R1;}6Aݝ6"x1x26nbil*S@EeO6V˱蠥GXp+P0X6HCN7ʲGjFu$*Ats @ \at2a94(SF& F_nTײ0F=44k݂ 1,iMgྕ$1ǗI,Bgv(8i|l(l:mEFfȅCҝQmۍCjхz7vX<%׎88i/}=a/NHVR]TWCXio* Wp4ӂ :m]DD2B}%i .O"$ p #ZCdK}*%eI;?ovX_ailc5/8B 7^_DowSn~U>v;v4Vam1kd^L!w,U8f}*($[F~0^UZE6HbP y 7bP1Z8'- tLv)H-,H3CH#|${&uTZkā|HX(,PjIB@j{m"P|1w ?T}-kЇc\+4?+ 巖t~qQ_M{KGɚSĊ+ , [OHT(c5"``꧹:%q^AM-BHϮ>M,ubdè(֏ZKH^%Ϸt}%hJڥWYnd3҉?MB7 L2K@;0/6}Iw/U6|=|,n!2?Kը\ML%G(ʹ͘.S+jny?@xI-hB\Jl6q5017pբW lEL,{ [c(?0lL+snMU,FTUQrU2Y2U,ˡ~{9 WFd4#s$3HiZ[0nV%1*)m~hc.o;"Ui^r 3{o̢_ s'^8ɋԘR PO98h Z4K5GuO5Pˠ` I+8 .| έ:| }vFO\'Y, \#ߝz@Nh/! ҽ*^Ӫc.=;y LEelP%qeBaDU{L#NP[ҷ"{^)ZT1Gj9X/%Yt7X1BU}:e*'VDTUt[bE2H0ղ%Z9Jͥ==N܂ͽG m)f3B|t3#f ).:̞֔uÞ яU|3YVt:}]`^Kj,KbuI+ڻ+6L4 =d\ j9QVQ5.ۿOwXYGo6aQN8bn`N*4#;C >2j[L/?6O x1%鿈Ts31Y*Iþ>X1JP4\l>J_iƑy9'0Zآ@k1~t RhZ9Vj-HK$grwtu/<!wqW+(A1T:n/O H4OZ|E'C|x2A  \.ߥRkU"_j?4/ oAOmI?n'!~!Pm0V^R|7#8<=6q 拕I] _gXL]0Mb"z.m÷oz[zx ºL'FgQ*nڤpg}oX:Q@GfAs"3Fc5g4S$KgR8xB4T]BmR䛉(PZ̞'ڣ 6h! ~x9 ms!d< XWMPƀO m/5~4JsQZATP6Xd9" O)*f`{o p{g )ZڝM.) l؛IT&ēGwAaa$ &A p0Dd]lm㌘yPT=h#-/sCsgǖ^~v 9w\&榨enBbaإrh9`E| thbFZWu.lG|wUODF`ז&dnf[?TINɐ).ʹ sly N]NjϦ1mxBdx?` 21Fc|?͖Αi0Eq3|?Ygn4Wp`1ȠZl 2"\alEGbq%M_|IT sFZ%bA)bOgIk2̓g87UC8zS Eϗ] Dtĝjm` Es`Mk<#sX@q7`Lg*꓁90CS&?~զu:yL9=qL˰ڨu qs@Cƹ rm:^DQW95e8VCRP]cYM37Ê9ݰmWѫ;[l]E| r" ayGGRR ҬW8DO%%(̚76Xuv)"iZ0jONAmb+3D1/CmS+hM`V(-c3# >nw]!߂f!՜͹5ԯU=?&ojGy?塏#G IlLmq6rgy,5kz-4SO~FTmSK` $`NWL%{Rjah͉xu!GF.DUW_S|PpaO:'`RzV-n

    㡔c'.-NFL>~ oLBS5x:G o=H!r%ows\uޜ)m D%/ } 5yBKCDܷUknY?[%ZaڜB%`$qMM$Q^u8{'CKwLmP\6;sKPmѲdhdV\7m ao*RG K.+7ᢶ!A2ĄwNY/ўy )+y18 J%EڦTjP尼 Yt*nϑY2r|Ic vVb8mtK戂&4'7nd\/jHY (9bd)тaFda L 5Y'?Z2݆+ Ҝq^-1a=Hn(|8kHiodF-Qu^]{_BS"n/X M19 T% AwYJ)H3U]-ǀt.MD[ʸ65 d! - :DF;j[Q+␢(X.FRF'm->J;CxRZ*B'V[Y[{+t lbIZHե \<,bf?Z3ȧ$cE]2jvn'k~~℅s. J'tM[nSZ#YD[y7$zl9j/ 1%I8iB`\-*6#¡ |Q[?rS$6p~b+ EC>* x?Yo nB8,@hY]o6MЈH:5ZiX)#7.׀Xڬ+ ^XGZ.60tLXm"6/ZGvU‰srzi`lL=KqD?̡YȓKv) &]CHi(cvҜFٔ!VX 5_ĺwfg]S7损13Cc0D)0òc+ezDj\@W ]wQW/E[MDZ\[."y]/B-U$Ɋ͚p7;j18ṓ:>PzODl붴O9tD)!<&5~nl-q94.6q정hV| J[|܌-5 C|/NR&Lt4G]ơLͲGqP%6oX u E.㞠( SԞrwgqO;FZ} $p;eUzkİ~<VÙ&(b4L׍mTKB.]4M~ pqvmwj&cʜUڲ&B=.t{Rk>=r@ E/4jYUcBWp4N"[sah%+S%.aՅ*G%Nn E :6F2}L'krۿ\'{&hiʫ2e nJ6ZqUQ 1\s-ce0^I}5FqI/m QzN|1tD.I[+:J/~EW" 'DL+Up-[PNEO91(1W A:#Fc >w}:y4<GКE`<PKY .NĉHd\cmwӞT꺄&*1kzRS;[haF~+up=%Ț%D@Qc~E[G s `_o SkVW.:.9.T,vLxqd90HĵѮ $gpj9+}$lx0gmjCv*"z:wD :Yj20' 3=dwF*P*NugQ[J85^K|_o}5  ի:1sLw~?RI#c(gIf*\$dnQ Tf.TNdd礪,b a[\TOv Cc4 "?apⲣJE^Բ `06R7F+#U -uX^Z1y 6 -z #3K }Ef~:r ϳHӄ)/(,S`~`gdT+. DƑfrR&Q @0Wm%HәRv/N`P87ۍZLEqKfShcԾ*O3uq&)QdW@cwB٘毸s둁4l4-\}OSIԕq_Bθr.F㝍R?&>޽{w9٣A,m0ۋ+=4eV eP߸lf/z[Մ) v08P׼A c{NԱO/8# )CN38/X[Bic yX^nDpmgUv82@_p#՘CꯘJihOÔpUk7< WxlIGT]N{x'W]٤U np*[^k>v\I#ns <7'4e<-lUYf{4WMPH&|eG 'G '2#Ês*IKͫ_TCow~dxޣ:=liD!ػ+‹QWX1H &"hǝawoqW |(g۲1\jft2.*%g 4?$L0ڠd}y|k<[N-G?>-5ՍioJnyUeor->|U;4g|fXQ@#i"i3bʯAQb:go4wxȨYF`T{zg!vK+.6ܛw0tYxX_|trwrV4+WcYzwMx, c1BygEiZikjh"55vVʖiD$m۟ڲ-*vuw!pJ d]6{,:@BEOE9T{4-Yw1e Vy?)O*ݑdAKb5Xz^uTc A~D~\&V5k.fCk%V(: &v OͲEzt8[]Lm-Gh-鼊KTa6;fBE],zFN\ W )kRe^cq&D,q'l@R&x_Rݓa򸵼2ލr;.\^D}i{7FGEZpbKY1pᔆK^ppT|UHorz}C1h5E".4#  Dp(e)ܼTЙj,U3素uik%5~TȤگ`_Ԩq$Kdjy/'VdOgKiނxQ#3'(%BrcN-#~ d{,gc N:%HjZDڠ6C*Y FJߵ5N{r4)6+ۧ(@ jZ{vbG{p%v ۸ [:86.% c&;7zGHöT K*}zE{1}[M WTl[p!Dfn1X'WqG:ԌTP((\o8~<]r|[|i_8 sFZW=zF hCy;0+RhGwϾƼbg'Jl A{&`8.-VmÙwiWͬ"X ÅS'Ș wibQ['qRpvh|Oq bW,H0hc |{}4]L &w '= CPWc3b@|5N'F Ex=c2@=kŲl, [e%B8T\}CB?tq h;a>>cFȋ<$ۑ\ sDwv>ؔRYlFI*š= ӗ_S@ m BLREzaj_n&yN exX+ckpBuS-| lN'Ɏu 2ALٲ-$,R➪T".ot'e,? !ٌ\A ۙ_t+6 zz^#'\F5N<5XXEd+9mO=s1m&E^T\S ?!x*[Jf[8|JOr꽓vHe6[%b?/]Bg˭f73oOF.= e Gv 17a?=U5C5B+kTx)::|%?5S5_Ee[ =@L6E`.EFQc~ <6}_W}χpԭz9kDAwS}`pƏkɼc' ՜T#ud61A3z3;zER]ǑT>|+,Q0"3UV5&"7+RY+Pf6aν^ XEPk*#q kۦqyS)gD</ݦɆ%%`/FZpwּ;λCJ(w8hC _P*)[]^@HevcҠ]ItHx^`!H2ѝNU7xTm?t_dOEE!`es ?lr%S̟yӵks.P,,ۖIddul2weVIDYu{4o~Ϲ*`$lL7ﵩuۜ"ĀUA=K Iw]@y'GR4ױ;vhu2(?cfJcox%GHQ(Q^eE*`m7(P$ϴ:]+Yˣ;=|5>%zZyv>\TYWP+4ϒ* 4d+W"(P{:ÅW{v %t椴η ؿ=!E%ٓ+H^5%@vN}*+JO= ;x NmJ:a0"SiAQi2@@z<&O1]oVl{j'a\|Ch`R\[փ 1HJՕ17Gob- N\ÄErdA8c_0Q\=L^7x;7];;-wfxr_g#/PA}5%mX?+.v&*)!@bE.*Ix6\&N}K^Hz˻5]x7 &G ]zs]*!fbKv}ylHKH?OGڳ嬖x+;'*27y7,MHy%̼C#TĒ IZUSfCNU|FGP+qFfH)//Zc2m̛E7 0COFo$cN tө@pP$.D\(ħ;@i #e&VtB)0&FKWrοA'%V88kIh%D+9ៜ8im=*՗q 7=Y_AɍyՂ{t4Mu!6K A 2mXX^]8JFZ@ d,/>w8dZթ:[ G\u"<%x#QgB鮑- 1H(3_Bqr fQ9" Ӷ=#k`ғ / .%N-LIӮyzo"CµۛvQVUY!zd >j 6(|x/׿UP_)s˶$Ø/OCȏ1hHT&Fpyz_ ̼ q0]SVnA_B|77ը-8.b@~KHi#<Z\W/*>Ǽfpo4tC7"H~Sm2>Nd_q&Bg4&dȺ=gAIE`^4څ;ڵ )¶9̅-QD* {[t5bg:zyN>lt?\'yrSljk ;7p_N1-vܡ[֭n1,@N hUbK{hZZ諤5bAzypPE4ޚy00@(~i*i^K67y rzְs!$J2bZ>֐iwP&mi|*R \5d0*rGIoݱS#t#-o{qS~뼒v2%>݆ *sS~,_2t 30H = ej27n}[4r)sxڨ餻pGtM|aWzFq|oH} Ds]Ҁ iyމ/>HA1`[~o}\ 1bǭmwkAYO&$$ZmvDFiM#9cVu ERw9 C;9,i0Ie+ heY ]9i.sK}cTG LtJ(`N\e`sv: m VO|6Ӛ#~HT ej—e?/Z5Dq sl6r2uiă=5uv@?q%7ajTB ~>a{ڊ'SڎuX1=1a&13_b!0 }roϟ J5R\SA8?;x˖Ҵk qNZ;KÒ H}vasW[<3*Ӕ*ؒp{(`ɮ.C. fxUATz]I!`%lrg b)DJ:䠊sqK|DAc w#❿TXmk}˩D8ѯa>hmQm<Ž}rsL( x"8]/Ab' z(#Lmej嬹9wxpN`'. 0V n/|l!_j[~Ib+¾ E GG /ro2 ]k=UARk]IJvl8bygUPw9Ρ|ܠ4@|_VrҤ8 9,>?qբt6P TPfW3^,zoKQH .4 @oT mƈſz@Z2H52v|f4Bx(&1iwhl~{v":XW1>cxbcMBCLL.YŪMC)$'{4lwH wo3MEIυ+q<߶9mB2bW|Ll2 _DI}>ŅbЃ1Nr>uywhgs^[Men$N`TQ@85#)(UCQ яS8H7hACȁ9N5<:ז$`0(k^1yA#%ngL[yX f3o!nVW=ev 3r]nDu۠KC'BHүHKά;T&aټPAVY%Q ~P ybGy g}bݡ)XZ)Kp'?_H$4> \cAD 7./V燨SD2#r#d &wN>n<*^/.|+ZZ0QA{p͇{kN,NKzc+MoR = ݬ}7Μ#r{Ђ^xc4 Qɉ3)d^|K|\zq@ye/ _PvUj=."x X{"H@ Xs I ɢ`uR!O#BaT{"I.}'/|!!2~VB8lԲ+vnwi ڋ{Ͽ˝AFQ`je.C{eoE)wTi#}n7XvR[= @dKg0\z^Z5x"q,sD#-@}Wcn;HQ@ tL'X0YK]TSD0#͉ʌCC'uVMj ~V{yIgQb.ь.{KF0J7` XW9+{e;s'y)lv0c#=\Xׅ' {ES [LKg]eSݪJv.Μ82+!\W,Y*s+:^++«'t*7mȮ~Z=N_-؝cCUgOG[-D1GD߾G,IrIJ0{W9ݍ6PĠto!N[ އ[`-V}9%l?(P,/^U2g\GDpp{UPBmu#^ G%}P|: ~XO {ރ|e@sbIÞ% r1 g ad+ NJz/[ L_) a ;^Mj2uHjbK Q$>.5EB>tޖ!L} Wbn%Vu]Gyݛpu:%Df~8iõMTȻ{AXTD oag1O4k1t4` h5M⊛%G5g$$9vm 8ls4J+z10L 5gghX]\uY~L16ݡ[ ̰亥e $2NM4؃ɜ(ϒ٧y 0?plvl2TtZvxnC0WT <2Xhoc; K@j! ݧG,\-_u T+Y{. k^+ؖ?Pq},ta?Mҭ,K@SA ^N7_6ޜ20Yxa-k߷VQ5{vacفzC*Z+\5`)ڇ"qg]Cj8&{? Bflp[Haj4qw0 \G*7?A`2#Y4~ vgdߐlXФ;f3"fJBjd`UO>++2|PTD-ŵFDZ,jҲtU>V|99Δ_#đŦ:b(b)LhPM=<#-iE+0~V~vQ ;e>Z 7.o&MArI'Ÿ]1[ 5"gӚ>kmH+cNA'G¤?OA [w}gs9JuG6Uj*Os/To=@硢 R|WLp|N-pdLo{˵'x)#ֳ|>Q])N^Kh!׺><=1)`L2dĔ6 WIc+gP[vHrS964S:j^Mi{WD6 ˤz{C"Kv#rw Ö/ָY/_4 ( g(ӮWEҤ$, WxD~LI@_C~*Ap_Ci1X,. cQ̏J[;d=j~֜‰H`RMbT2.{`T<*^%DM9H_eD*4d2xvaA/јT_/̣KEрK\8PO-%o=zS6WOGGՃRb5i$7܊rY^lz$j$-iZk %cbwӂD/( NxN9gI(0lrn/A|7A x<:-g{5Q9M6>?h"}+v҂GLPͬ+%o͞4 !4a~!A_n:dN)MHxPw'.qTG ^[0Z W9c\\2ְZwHΥ3) x ?}O:*|%u\/3ܴ]pG~r|ky) 2-L 8FpK[=Ђ 730a,p% mS"cXF G>d_Xk\C@V*_qÚ)Ca$Vf֠0;-Ԉ޽fW@.Nι#%kpX:!E3 <3; r{jSPUh?: Nq@d'Pg^lTߧ@ZUEbhAQZ*=qB=̖兘FdEddePcԘs ]0 v vIqmM~%?']ɼ] 5tעjfd˾jzZq#Y l[r\%4 e[c>T"p!4jPỸmy;z¬uE ꤞ); lPWáVע N@v\bpgP"RFt꣙-Xs{qΎr2.`Re,$ʴ`佣Gt4)XoH!IO'&&H }#5 6t-/ m4EK;URS 0Nv MBĨ j%%Gv'Cc=i0p߱ܨGNXnYETEvTd\.-IV}=j{(rـD.* %Y(zhfB0DҾJ\ xoƯ##XMm1r UqfXPT:94ʟl8AYt^4H5#aV MaWi|(2VM]Tb[Jy5fU>rZv~%g钀v ,s%^A L7"k>uL$_Ai`K'J{H#ka86ܣ}>#xu c/w@ QwvA_b*fٞ~^ =\E&HMPn#-/N+5h(pȔgͣBEDPS3_cƥ1/  F:9ӢB3a caDfS۠-碊fYuܰΗ=j8"׻֟?1Abˎf* ֐ 3@R8+6}G(aL 2%"4j+d5lfJ#Q# n(-PTpzzKa*kUtKj cP0:̾fCetD8& )a”nss,WAkF;i\64s ;'C<8^3zdi/ҭ[/ b0煉>E0dEvsjTx-Y,YC 4Ӣ `9C˟R)S4w+~:$ svbij}$)mRC§ʥN ve[ mO Miഴf1ҜCĞ}e;Up މ1 [qI*P}#fMc2qĈW7ȪR[|Cϴԏ <[# i=}K!0ǴQS($y&SwD-F!MBD=Ж J6jkU ~*EĖiSkt'O6zЅg$w_V J]RonLQ5&:hͩr\#\q}ΐR夛m8ZBv@`򯼣.?}ɞLX^0Cmd<`!nKX&w/^ ρ+-xD\ xibd17i?0Cz >"N{ ex<å`w V@m3S_瓻*+WP\q34؊iw~{m9F>}k@fyX"|[gp WF]b@(ʘQv"72̤g{c6H&u/ JZ05fB7W߽=6'%Sϥ(?4 [`|<إGI_}Y&LI^N+I q ۏ ]w>`xx!2Vs<ž5JSr|I$Ϙs\.O`I2LV_zؗ\;Zx?ra(1^kY/y$?yɎa?ݖ ,Px1x.n_³|,y#6 Nv%j\0dBӆ➑5V_zSYKn6cnSDF{G($n)5<fZoQQOjNEX J`H ߙ:"zajva=eB)%3|[ğ'K(/bBUmkqʧ,yL|0k{ ofeuETлֱ>xV 8f]ʯR9l7Kmݠlz} Q. )8Dn+%f LZ|'LE'T#t R :D-M/zeiQo>VKXk )"ZIbB @nRɒ #%Qq'RWgan< ?/!27 >`uv+X|) ֍'D. k!$"YS$ndgJ(ǽnηW<ATK>@fr5,)d!rZyus} s!E(ށpPzjG3UbfRQ j_S5%7w#ƞFǠ66l_%V / v οDȊIο2hq)}xjQ/zb h+u`ϩdecV bU1uՙeK07W\΃PäWta.4%F:%"??VX\FK&A'?1UT>ш$&7T H24( ^*xf/;} iZiZޭ¾(΄Jws"53*3`gykWjCq>gxwn@5ekP¤*^ؤ$~kv0L%5<)#udit5Qd\D:TkT?*#rc, P -}[>H?id}&<"WQ,q[J2l"E%2Z UU dzl^1]#A0NK!:8wa}h-̈́gR93 D* 8[CIIJk iQ,_wܑ F(Dˍ{AQ8/j-JQ(s/[}.M:!,]tҙB*_HIHx+F5QчVTs=6O)\TfP)ey6\ɟZo뜷%Z =;n4>J-sߪz5̍o3 @*faM )Nc8Q=W,]QMr/NƧC׳O6Y7#Hqۅ MI򟐨 \d'Mc|vcl4eAKfڙ]{P=4GQ* R.2>1ݛ}+ uli](piaDp>kMǔ]^w7"c5!K^޾9Ϡ?Y* BrC-^#YȢ_`ܛB9H~LnU=^ؑylfgYRT.SJI'l~ 'K]L^ SʤyY dud]YFDdaZ6J}+nr0; sE.zp{/){_شu?˼Gf/_iH̹LgWɊΈ$bB!?XZ|Bq gsz%qTxcY86LE=xho#4`a RlZM{w?KNOK[j>P'Er|Ÿ>R@u$G]L̊zΫIzdNLr-PINu.0' M=Cv-#6GI?~idG=\=,̈́#DA2C`HD'D382&obMɥ/N1)o,?;a!>9%,1g/pzK9!hjnplްC:+,WY,mZI"V |7:"CPj\4kzܬׅW#Kd>ӛX#z&3Nwv-?y| C=Zg*N@2;g=.61y,iZ!-rjN^&Ę9hixHJ =Zp]TI\ '02ޅa9:?(͊c1 *`kj Ko<]cky8p gb0,Z0p.I)fI l H/W݉ZAd.HM|^EL/mØbńTRqI+8ɐaw 'y˼-R\:م NbT&3"l æ_`iU`uSJj B靏8{8LE[@!I?-̙eѲ{eV.c2r$uAicj;cpsz SM S{%G} чfm{TY '&ROTҘn\zx!KV_⿰0#g S.0S~-o/*UAKNe'Mv ɤ)3뙲a-7=)(ME~a RT92ơXYǛ* 3MNu\1Hy=6-YoFzxؔW4ڮ5[ gQ3JbμoڀʇK:ik6Z.iv'$  8/=-bys?ث!9r1 ~3D`̂4YWNb{Ǖ/drԋ~U Wl)X%e'nz\ĵ[{Y2u7QqWҋ`,5HA]Nl zLﯦFr#<5s 2o7~xODؘ,?cA-";f&Cl :sd qy=os SmBdU #@mX8 (! ³WdήpFŰ|Փ!nH~f}pxnA@ 0PeNL􋍼T=7DhbȤPq0AҗAӏSKD zhf[$~X\tPSBՠǫ z8ȔBT Lxweh-NӷW-7_Hei> 8TL vÅɶEJ3av ZIMj'bI2MWS1ҨEVh2Hn|Rb`+qbЭ+z1L--b%TB I[kŲ=G=!Jt=~]4F#$W0; z(wuC-{?n $|C u&y3 Ϛ*UCZ]g"s]My璐%e8r*H%-ىl%xzcuCjӲ8m *VRFحB@&5[@uNIJY=r!=N-i4YH/PX~!|k1m #i!{.``EAœ VNڰVQ*8; ]Arh9.F&/|N巓ߦ1z3=Bj;u5@bEvݴ?/dn[@J%iR 06NbJWL zq-7t"]ޫđzб&貟juשqLitxAv]#Y.;1z% fb`q:1VrY g٭4grg$;v_[ohN$"i];É6-g*(A]N#he1=cCU!rvz5r!íb9|C8򍬋LX$jY!X)~dlD2@m=bʴUPR ο[s'R}qiBs1,[݀mX<̇+og-\H\`W:"c#4I(k|БF0Nsv@91}*B+Kp} cۊÉJgf6o.nu 2pw mnqz,zet`l ;Dl2I5^(t$SzsN7dG148Di=i R PȒ7)oG]E~"J\_B`r11G:T  HN3 s^#uC^y,ܞ42u} q T^㬶8?ad)@UVVk^jKfZ3ohk䓌vňڝlڶju[$IJs/a0Ү3V "/Pl^mak@]l%CHZTcM.dI$ݶHiSy/cw^0ٵSHa&|ߧ:v1>t}泽fk7n\ߩE[TѸ}ԍryb ?47/ab^Iy'@b\Rpꢒ0{]_;u^~++^=<ӆd[vC7_oݏIaCTuh(`YqϾKmm;D[s` sKwxu b\uL!4hMqҐ"Kճ[c 6*JǢE(iO>c4'|kn#mb,E8dB(w:I&-4XQ1tb4*:dPy!1(|`V8wOCE+^WK\x啡f\r'CbѐάY^};H茳mu ]zѨّwe5m9ؗ3P 7eMv4wzވ]loަ DFsX2'uӃQg*͟U<jmft<σҠPʠge>A  69k?w굇Ex8a[ɑQ5I^cr^ d-P'x6vrkHVpyT'Ԃ1}^VT8l=7>jTua ]y7D*k#-}zH`?8[ Po qX(=[P<k6-5Znу k+ƢD1($t=VN2psjdCA+r#]4kJ}a&9&`PO?9,7nh#MXUn> 2}UiW>+2:5ek<d _&'e蜈Ƥ>K[NIzذZ4$;ĸ6G_l (#@xhcËN8ߝ`NU;?{u[I.TҴ"aI,jp'e fSq*2@D5RC_5;ʉJp~O>% CU\j4_/+jI.{[_\Oa_7d1'e4.{I'nya( JK7q{~Y[";KVLlŁw'AaGCߌ(3 uXnKY\C0QHUC̊uD_{-vASJ-Z(%)v`;"~MpP=9ˢf >cuv[m h[L"uœb= !X IiH%3)YT,| KmVpbfPL0FWvqsnf94Q3ֲٙ k%T@\ Vl%1-ΐP!o#Y+iRL3797Åت/56K.< 6Lr[|,]2 `DqGOH{y~t/0ro} K{88IsF XXڣ؏]z68-7:U._ha7q鳭`3:=dVd#6(}JmC'421-&|oy =v9eA4F<~h̞S+؆O Ьi.uݬm6TьXKQ?EwmZ! WLχ߯%fC2T#@1Ga)z[</}LzM#8=lBHP)jC$]JD~ɥSK zR> w(Γ`JZ4k逄uz?#TbMD,¯š;@}_J0YLZ|F{Z_C k^ԔS m6qKN7w F\ob_qED:sD9|Kq"STG-[MdIls]~7 MvsaNn 1YDMPI{ө|%.Y$ʒ̳*6;cC4G=L %SU4͖GG)1R=y~xؓ!TY˳ o}c3g S1J?C;Dph3_zF֑Q3-0O 6'>qK=N:iW#6նWw1,>> W?+b'dX}V4: egiQ}&Fb!C۫17ӨLVNi0,d5w3,6zN|+)&m{N\<} Xc!^H'%AٿQ sV!”P-kja a4X+@Azy6G'g4+lx7N`kՍMTG pNȵ{57s(_Tȿ!.U&țoįKM^ u}*77VxK]Gҏ_As)+";H-,Cl-&.DxP4:.fr,TRx(ۄ]l'7դVe(M4 ]<y!SN1ӜZ+h7PSe XJ ӥ'n͈"'[}wJ&lÅjspXM ޓroNۭiVx=b[MtZdwLi{m lշc)lltAmuLa|gŗ:n Y_p:1p4LE~{g! Onf'2x'GtsQjh]fN(Rr׺K=\M(\D){Cb?}l*wWɄV?$n. A%I,4!F%V)On[[ZhT;oiP~HU7^ ,5%,bv Ų 4J\aTBy2U/$SxC\qW +hҴBQ% z 6 <ڰSnI"j xGJ;'n6W\eof 0v%yFnֺ/T:eĽ2q^ xg=$P=*+u3 B̋Yf+VR9:n_Ygij+ Y"+b-#{HgD5K6No< SAg#qm;YAn?K^x5zP>7dctA&ly @T넯pAmfw/l9?7΃N`ܰԬ]l%\aܳ&j Ṙim7$fbҥ֧ܦ`ZvC.%OܠNr)h;PW ɬLdRGS*; .-49#//> ޶& (4" 0vMbT7 o ̃}2DI]^p0fĒ6*cxE[zHo@0,w}wILT6sajM,DGz-$o:g0R k7SE95݃{{GIc"b$(-zFq)4O}~&“u*ȤLw+mPbd;c6(A.n%*/llNJX$a7#!+TbZ(5!@T54Ʒ(=sTL0qdXOsKarbIrKIe!wsYIU8B'[Kp`+q[[=lPQHm}Lؓoky0wfhS7UυC! F+yN -k|i:9|xs9 y׻w`C$ HnDcb&YI 򊵋NzGrf^/Kz)Gljw $b- 6X)I` 5Vd" (RkEIY`T'˶/Y=[ݜVZ7*h ?t459i^t.P`FaK0`ԱdvgvoyD  ^=SkNB'dxx_֕IHXfE;\H0Q9S+Ox:V ѰYm_qxП2?/!Мҳpa &g!'QP|K,1"h٧ Ͽ%J| s&Q1&PT&t~t_|"'"BlID n~ NFgd=߬NfHq 琿̲8r(K.-yWMʭ}+$o.Z,t=G[ibYL٢ xCާ4w>HiƦTn )cnsJ[HL-xKE?K[y/.K<^ňxD{xON4u3uMC j싅푼TkNL>ΞUHZ"Dqq2"_P;v@ː/QR*%:@+/<+ɕ 3(UZBO 4^gc"Ÿi/UDh BsgCG2deNO4@uZEpՆ̂ {-# Dzݯ?x.oR o3'bh8% _VFzx2<scIx2%#xN3PGPߔL [Ѯ /g^&8aCߌOwf'#cө.Ipl%X CƝ5hoR[:k{̦jtG0F}r *C`+}6#%^du.Nhcu|¿(tLj6\'ۇN!ߏ:[ s`&ACi{; ʵ46*jRqۤcKUO)eA{ɹ Cg% 0Zؘ4Q򭄕Z'VmM( @L ]EХ1$m0޻7p>:sx(tR11"i 1k\U'h,넸O36t>jŋ!$(#i sa5WkA =NdO@˅_Aӗ4qԳ'Q1zgZ 46v0pp^A# )}8|?OPX5Iv3xW*ǰ0Bpw'RИʤ†BoC 9U Ҩv+u #W~Η~?LNO5(ʏ1Ĭ0%1$[|_'f(/+BaifE͞ xBۘlbiE1|>k6( &br3fY  i8+fdh _4EfGIVZ1- WDHctu{X_(%V3 KI]a|{-|׫H}f#0JӺA"LWq_PI5O,h?0Ashc d@,[g VLڰzG\"u1wWEj]@Hq9Qz® Zg畚 !@ŖC5R8c H^O~wFVκ5Ñf?$ ]r2%)e^he aP6|QYMrƽP雊>!nXU42O'#h؄cn 6Ew$Р֚~lmyI_SY .OPI3y\臋S F.WbhiL^ŹO p%p8La$:S3SbV\ݼ+9>E-{ @=qQܮi[1%4^kd43C\ʢ[ ~Ny zm.wXMtzod}H@J.k͜J1b7(3`P%4tö.d\=غjX5IT,0gPLJt}qpdpS-/cXl=xKYna|rD )?)N-aR沒YOPkaylwnb*l?=`vWOtz:nC$=[a]ׄģ4'e$E.@lr;fX!'=q?|k{gtgݡa"A$ \¤ZV:q~>_gnC@pQ6\FiƉSpW2]j9OC/ v!!Jh]qaI0;GLN8XkC 7Յ+h0v~6546;p%JLv)y7(x7|٩\ h)Fpᱰ5DŽp{Q ȗAWߖr_|LMOrtgwIq*Ij١\$;"`XToD6|vHdOeǯ{Ռx>?p-1!'>"WLWM#uxZQS$aoӘ.r[#ktEB=Y x{0fԷbǂ @?.rm`tݻ}<`;7cH[NvC;sTIR4)p.@,Aqg䟾i&Z[ٔg/^`D|6EJN$J7?xT\;H\9mCN'<Ϳ9{- QS$T0EwdC[2NwA"z:"ZZM‹{x)`Gw/s{N@^M7=A}:cN88< N׳qUBT .#N\lP}V)nxA*}AjlO篁z(z(ү oI9E©{Lr 0׊q`>]:WcIRnvn]e`5L6Pْ[coo>]!4%?D׵1 N`/ tn8)s}=Wdw L3*ykc*v ؕ?&M!&edz`*f6^oѺy6K"FbdtR^`ӟmM,bxcӣgآ# IZ6&F[GHD6G>0D8+Y/{_vۤ;[ Љ{ Ml~^ j8".i,_M_ltTɧDRլxOڗ \![m*o!cQl94;~Ӣ^jl/Ϩ'qj?|L,7р&_\Z>3Qey } b8SyWh3=SC=gJon̲i*Dc%4FSMx֨lף5 ]O֛ ݎ~ 2+ j(qp $o=j]q9찦Qjvax5"u  >[>1\N}LfAR7;g`dJ1P`ϚYo2[`훖ހd7[n࢞գVEѐ:>(%k N?xVf20,pBѪJ/7?-!wxnC^/3۳pziJgW$H?%|Dz%M*S]}ttY[Ƚ& Ƿ$XRƦ7i:Cv%mᔄTI<Ŗ{w)ܸ8Uj.$GvO ڶ=]ZCzO?H퍟WCWڨx,q]o f=bK,:-=&iK[)i0$y4tO _:wPP%t8_@MeC+Lu6{9ų8ZM3Ba;N$R8|䕀Nz5o4;JcnO5J @߉cYQEZQwMĿ|Q_ɠ#( JSz1|u5X=ji"fx化B`EN9-RWEȅӖlh1ltZ`S6EwR ta 4s*o X~M"YS3ncKi/l} GY!O9|;kK%棲VY[dGJ%^Dr{3w,24PJ#о>k$@n/Ա?C-hҒIlO"^ꞪնV&8y3\@ߢ&YMD< LK3b,Q}80|NW4HbJ-TP%)vALQ)G(_;SG8H7;$X9Ögn v򲐤WdVر\z|h6TɨރxK_؛!#Lߎ^'M|uGUz+r\qP7r\ar3,l]㉾5zr3N$[^.ƇUrEVZ;;uWɾK±WTA9^'w:V6F^qA]H,>EԲmNg7uAMP8d:Kfx;~iMV/ 53ze ](Q_,Z諵z}NJtDo'4=.Fv4R48$OǷ|ޘޢGAE~6x;KըJd8JcZM%^C~J|@ʥ$8iwQ;3d"e+e¢3ɺ4y#q^d#O Jz;u%H0lR>>y&=O^<2׃nxBd Y[7b[G@{/1zf lE,XsVMp؉[)i_pLʼnf9_"OuZ:P> !FihBEy>l13wz5|w%x!^݌j*j"<.ZD({KЙ1+l І؎vc&Ik}Un: dER%>d`m%[t0Οf^qUG-lW{%.S9I,x@L@{v Y>mZ՟DPR:sJM>'9s 757y"Q$s}r#6#ئ$DƓ4I2_t6j7xr@7WYG]#tE.U➔B@wEVOh/yQcޗRWTm >*D\^Y@~$.R9tF'LtuAa:)萈IXjqʹGSI<< `>b Q- QbT5 &!fJ``ځCChP@IhDWgisW[Sihd h}RovP\'7𻷈/*W eC+n{{Y@d)osWZj5YOQ (2ME#UqAUgMn !,M,=<x=\տ>@u5|͡{T3g=1?7Y=/H}L|2Ytr&K‡ˊĒG^)מ!eQ%;颱_:dl6}pfXz(k!K_ ifsh!"az,P!oU٥EC@!ᨲhwtXÆk8 yX{;)g4=C^Lڤ?`goF#v=8O*J)ِytaB vΚLLZ$ɿ`%0.ևѹU90'w(YCuDàYZȮvDջ1/rI{"OdwӒU6RʟK*Gkغ|Q6O6'"/L6_/55j Z>%^oԈYn||3Ɍ?Ru1;ҸW M>Rj ϋsAj+G[,CkX( wo{J^esoZwx8P%mMxo0Q;-$.zC;:.&dJu"\S1r"$ XRIY05*&Q"7 @`;xJ쒧IjIL!' 黎ė%[R,eT(:m.S~59lMO59}ƈh'X0;.)4>mmVi0MtCsM`G н ZeuE ؕhFK%PE7l)CqwX;H0`I&Iۧ^ˇQDdS4EZeޜ3)Y6G,O%DH]J 13h2rU&Z)1/L]GfSL+[|=j5ޫTќ~h SLyfvW{ReZ6B V lG?AB,Iw^T{-ThDΥ)&BŨTUpAN ?y| \,jDXRD^7I n@:HHrPxhw%ko;d]r~noK8II1kPgyf85 61Q"@)9 dS⶷BJױm0w@zG۳Y6y=} UbGYuIcS'|L(c04N =-u$[cV'bL fƗ"R/I-y+"Pm!s~q Mv8",]Tr;GjDN?[SBd KU"rs~CbipLc3t(C5ґGB']WWl0P|boGP 0s|>#]7y #iJM5+*bLz4l?aKώ"!!/UQo)Mu tJz̊enH_LU+-K[ ,kD aLEwQ2XP1EC͇=+Gim' UbJ9\a Z."gX)VO-r©:mo4ô ݯ9_MnAԝ9(O~7i '8<ݏi!~n| i|莶Uu}CDԱ7̄aP5 }KpK6$&,|4hehyS lV -K=q̻jhXzX%\Qu濯@y;DDM;DMi7ISZ?ޡ,AY9,bo4:( ) QMx>Ac 9PG.EoH Qz{|ȉǺ1ř H3~.)N O$or!h}CIpG1ܣ JJMqM}cG&70&]2;Ϫ+ױ4\3"h8?:2~Ŧ;Q}Y#8%їxnYKoc0sa܀؝Y ?͞C5+V*ҋN0XtrZb.~ۉm#1?=\& ]l⫹'yz!%P% ('uE}~ } @>u ޗN+w{o.l&ve]IbP 8@QTtdbNNߢ^f6 MDžUV]R!?ȕXPij-bw=Ԭy??1xgچ+κ%| =<赞̐XĨ/ ]s#* N&#cU-=t\Éԣn.BYfN&7xh Ew[3yV}\DVϠëWWVm8hbE_J-oJ^|Eu<9 K[g^1:& ֨}դwo~UߊH1i+sm Q'RNdlޓIT^=FsP ؊Du2E`EvT άXX0tP/J6GE3pB@\gEO_ }F|ڂ±Y_/TPqaBY1AUV,ޞ^l:jsTa ~ , +T m[0s0=TılEN *A6Urh %(h%xD X0CZ{ec}j)*Fn(9H\*H;ެ'5DÀÝ/xGǗp#]΍b uH-C-nb8ho*gg?Zc ^ ͑Y1R[RTL;ӽ!)C~< "'?4S]׎ׅ[8AF쬠iqOf}9ȉ^ZݱDfgi o?-T2kT' "g8Cf7vLa}r βZj5X+(&DO/6&[Yf>l쑭| S`e 9wn{SUnw<=~:krV[~m{ -f<&6Ρ{/q6{g_o υP/q1 }Fp#~@(R՞JU3s[^ԡ ;8 W! kV]ֈ*qoV|GRS/!3c. 8qxn}}QUy٥+ BtȁV]s1M ZtD9s9ũ5]R:PS뜓Y/Q! ̦,}.1>9o,1(CMҁ.sʵxt0sVQXS+ϙi8EijHth!5j>r2p9<ٕI2A\L>EP"ʥGwW;贷 F ji\>a -X^MeĨ!E}`gBt.isp+J$@li_FœabuMQ-DDj7l5lҜT&R17 Hb0R. {ީWguĝpಖA+_3nj^1 p9.#FAJbm 4/Eo"Ѣ\Wr*+{{OAN6Ԕ#9W:Lqʼns-p8[ PVVh?Q"` &))F J 2 ς`¤=kߤx:dXԈl x#|hLrTvyͱE5u ^|\]`$@iBytN?i0FuIf?ypہ%(4rq95f!6HuG sۜ9F> ʳD/Gip5qFᢝߏ K[t{+ MQAynm}h,M. lynOЂ ʊ^nÛtƙb66IdttĵvGR^@ix/MdQܺ¯醝6K %1m25ĪBV6]3q6R,eJ`9J CdkO_`7Wtf&$>_1InZ!XN -ra4 1Vk9.S0 i <6X LYrm͊Sm ,4#QWЫFGgslj8hF8z@sr]2!eլ9Ak b0չBbf p1gk:|woɠW:nO&zu/QiHU+8RR6%t x x$|9x\=lw\SJ'Rp8k]60]`rG&EHz. >Vr }}\)sTH-k\79L%XG'w9u._l0Ѭ-\}|IW,=3Z' ډ\!SK.5FT~ ~E&R"1*)SjܙGTE4˳3G!F8J !?q4 %q̯e0-0#:Cμ߲oҋیa Ⱥ给(m֍Mu _:/) Ja1V c2fyQeXIle|mmهc$vD ma?w|] ~D#ߜ?q xvo-a46[I`u<{"Lw/IxSC+})a>D);91‘৻,y`hFeHJeMeBT9 `x])A;Ju%3R!ڽdiCyQ]nF^֐!Ik|f&(kVޔ$,I71.&:u naD0#K ]i*d;7{{a/6>5K춻tF1pRΒ%Nӑؠɉ_x3H8lly*ك'D&k7 ̕=nj= ,-t]jx)l=G&vO'0W2@f-zrFKW}s00Lgt5'qo%yqLۘR y xu|bHn3~[s50&?gjGz(*x !hg&qܧ <b+o\1x2!*$*ΖAeE 0m4e "ތ ̌n@G7`|*裦Q}nT:3i/ZPuPk}O:w,, C-a`G#b?ϵ!1rMP5M0=~N aΠa2qG%4r?y6kh%o.; 7qf,ۇw{[-D7Lgt.OչOx= qF@{]apDyʃ2}jg kAdH[?%YxţP2d%M(V7l@4Ƒ"E˅2=~.z/Ŝ_Hc滉]Uy|cV]j5nd?r`  _1@p;6m;AmZ&H#[h$N $=gtz^6׏3okf13BA&P0D2.G:zpi>mF,&1JmaNQbi $6XyA8Kv@6OS<=X ) iycj7lMf{6Xl,]/g=ï#WnAy G*REP1s<ՠ_?Pp3߆;@G[_CɓK/1#8qJzdblSH*)HU RO0ZmB68΃_}%Z!hu_Y4hizHҠ('֋ y^ Ҁj/T`(]R혞XgQœK]8+rmY7jgT}ّ*YޡK?ԫT!7k.I5K:WشbF8V1T,5sL8I/^pB Lsq@=@̰6r^ /ńEo+zQPM3Hd{D,kj~!7q kXnF-Ooj#7e]CCn8cESdD[:dsUlKd2Wq'vZ#NV]Ne_ToY[%G րe)I_8 0"'l gB} \QѰ524~T`| ef/ >@P,MORzʥ!Uȣˀle`Zq/BJ A#4}eڗM6SǁyQ OV8y|}pL[q](eҘ+I UA5c)6E?!>B^Eu7xŤMv67%ˀQh:a ,vxg(T{DQfmtP0 g\TU"rlE)'O!N50IPӑr3 nxzjrf~^}f^w&0<P1'y_P("D,%X^C0cgg5f8~z ېN?WsU؞_LQ -R&^XJl:LR&QTHGMdd6zx-]8iQ碩(X_RȦ P{'?jkeNX9㦷P'(dG-5^aZK [c.iP,#-M9Q:}~p5w&BK͸V13}e+#"5L̝ @qwz74 *XbyJAR;~37M.)jP]Nr9ŝqM2KWc *fi?RJkaJE w`!3zf{5Xl> 4dZY+C?=Ϋ(` F}iю2jc\Di2Ɣޥ6RZC!'dGGϢp njR\ޞL4y!H<#nnbG8H8!EN2+A+O&..>:,8 3*W$ W9C~̸Z"wTM6T X;&]U n}4sOrwEQ( @y~t-oh{?KH9*wDSs iDSd(eMs%_J`jp?[?J4Xآajbcǽ":^r&әC|ݪ/ tRi\(O6p$My=V]y-kGzb%QfN)1* `3 |lER}Ze0. 7DKMZki0}'ţ un ӑ "@X|;+ZBN;agXC>h r.pgcVd88<ⱷO~A.nTOzN7a[ Ceځ bqwN5yuWEseyv&c6$)|ʠ$q~v$ĉ2%ۢ&ݺ&| 43!+Õu~{`fCDX|nV+q$\P9۷2#~#&KzL'|yTHA|P'sҲs E}ll5Zt$`R7f4Yq@F!eOѱ0d¯W"wk·>eMI);J\dRr&%s`}'{zh \ԡZP&Ʌ3=$,K)xMM/uVop 7JOiA(eV b24{(u%9Fj4æ@ػ~(4 Oa)Av$db_Z~J!/ XJ+)5LVc u@nV7U/cNS塱nM_NKiI&{ަƫl{ qx'HȄءw9=J󯜸rywWsKΦ7r&+¬Ep]sJ}<?)W+[fB(|߷ڋjO'[(1%{̷T^Z2YBI zT [ZeM8^Rm"fa1MQM l\oI/uch5>]܂l #Zuk@ ʲFW2R2#G_Z@Ydmg˚y%v +!k$|ɀ)GYBp/S4Ӥ×/Zxıӌ\i %i<۝DSE*eP2"H}t(B[ö;1Gt:j啛7+@[d4 ^Oǯ@XKcXFc=L 7W!%1Wܞ Z)qb)F,_ ־9=[W{0D,kْ{}Q llK_g(GK4[IRjѸ׋gAhQA"ڽGNތS VT\~|'sfJb˛ ^@Ia_2Lk i<בi}6f 3k6ZD y & ym ~r?;JDEz|[F+HUro+P<*4}OHޱ DX4Fq;}rh|.OO! CyuJ7h^YE(]Kd8׃}KYVR$K{30B係9+{2BԄEw}áJ\CY1rw{iZx@_sXo?(w@;w3r¾=N؍]2z7Hl PW%(=I@ {9񧒤gmvtq g\"iԲb1=pg)+*k2:ʳKh̢.pV{}: d瀊1JWh\8 Zet(Jm,Ϭ^2?y[i59(R)K8 VZKÒf$?gadw-r= 5ʃ6}vС qeR~Fxu\` 6i%rUx;4k6SLe-[RLO}XwyBBûD3Z&ϱ5-Nf-Jݱ[@)0/Ha@_k1HviJRI= Vdsߢu ?^"xW^S1vn,,{MKgt@#rNhcGs3]4e )fY1IS7J* jҥZLt H"zoY!,N-L"W I 9@A+A*8O+xtcx`eWw&! |{] F /" 2SX FZ fe'!  (n2b?XVf׮kWH튇s#nmTx}PধRu;?t٧SVch`T[,abTUV#1\ F?ƢK5tw{؆I @9 z"sIF.tK}4Q]@V-N#m͋jN ڛըP(̌a.'5bQؾ[:A9փ|KK$x>;bG"f FC@sk *6Ҡ@Bl̲'څ::b%T9RF? Ɲa0E8O#:.&k?7 *kh떏Mg[DӷN4c(|ӮoJ{[;le%nU9HdfA",wBq0 !hC^2& `oTޥ0Q0%zyoc; "NjဉWfk~\@$b(e=<9|ӣ^6?BҸ Jf>/]q-6=(1@%>KD.qzB%"3[\^[mfm, b{mY)G^Ux`K4dв6\AaArn*gt Sx.RT1rֲڌE]fu ܮj `#4^skVQeǠg=lj:bya6yJz~`Tiz/O@@Ha4HiŀZ*(k`X5SN gX51Ew^Yq$2ڎJ(mFvA~>orolbq?v(i->k{ި&̓tw4hS<;wwOPRc;2^њ_h(*5l4['[}?7?ڱ{Oا_ot" D255&[@l$18ki0А2 ĪܘjYěo׼n+DuXa*\5:d=ZV5 g}Vb$ a+o( ]ﭳg+hjtS6U\g9m&]6$5mtwWӂg)*#p`C/]g3Aݞ[[G?6XX#&a" yIþg+فu"2-ʖcZO!Q׽ύVP{1tP:P$j>c(g{>n~nVJ !i%63Zp,SrhX M)b/xK>"|e4\Q%u̩MRQX )lޱL:FxE +|p旵LR@!V*럗gB!lVh9҂e0)ÃI>-l &Qy!%b]o ɠdPY (r<ȡ?66Q{ mF: f|C{m[P^I]"mJ)-./#MlK"?T-ۤICr-UTb5X>lz2ĺT!hOݴ _Syk '][l-e>`He?iՔ oyV-: +k`t?QCN}&.4)) :GAg `,t)S[? 2 PEuCov4WE:@'~*]%CBBXuHJ@W] v$=5ZUx67&ƻ.rr՘,Nj=ȏۘ ʟFLVµK.=|Bi|CW3m0Eƴ`Evl6uo?}ȗ(#$>3ȓ,هE>O.>weCmwXdʞd>ǀE{o.l~.J{2N6FHY)X~/;olUM<|fJ=vŭkSxP&|%)QJFүu H|Nm[ZVV?v==tSV4(h+U⒆(1ۊxCב{أ y r EwK5}3eC]:@ /3dJ p 3@}ѭb l?éZ<s\K/#OYO*R #(eư?1[?/u'? >eM(G>wZ/71H,un^#@_6]#}* 5ڱ/wS=d@5ǩ8DoXs(^Dfuuc5Tqč!Owu ]Fkd,_s u ԰p%:1:g#()Er.> {0H[f7I(߂gm"hKeaIgvs%JR?kT(kgZ*K[ɛ-iLXQ;`{/c;E99LznX6'6.pOӕ<&lJ?iʫ10E)H3tbB/S?e.Vv<#\@ .X Q,FM6$i­#2D f^jc8Zs^n8dMBWf c~lQirIy >P#ZZߣ=H9m e\Gyz!??`zڐ"t}BDl % dxr"z5Njh1ԯexz3\e;w#ޏlv]%MB=f#!Ru N*>Jd_-eowDkkn9~Ӆ.ll1QB#ŝsM3VD08Kyv>+鉏`IHM/[OpVe)~6 9V B.k`_[X`E$7Op{f>pOXKuWq4ޠi wn.*CU([G3q0#zIJ d oţV:ýࠧI 8?gWQu\?0> L& ĒP5uΝ kwP#ٟ< :o{eLΕ#ۏAoG*+RܴO.W r|;J^Z?#DjFm!!$)_ЦLTo,Ghxl9W ;,,+8>wlC`Z3GbYNx[:eڥWQD8瓠[=* uWMU[ߕr(Y&\QaHTBeX9E'WD/cG@J }8`-Z黦 I5bb $}>pBN\jTqoz6W;9Pn~_UoRQƶ{xaS ԡyBOo@6ܜS'2dǂ k@!mmcl,hVG:TQ.w;j `LGNC?X5 ,v)4}ޚ;FM|ݞO$q#s^xH I]kg 1XR6F%{˳(0ria\.dKJcAKWiI01 "'K 3@b APɬ/Ia2J3O.;w?h}eZ?<ryHOOT))bYnc%$xց,B;9Cɋwo5Hv5mE3Sgv.ܑ&q"K0Ɯ7q:QlxPصQy:(oDC\^x5A11s/Jjs^NhnMjޞ=oi ܩ%dII]{wmKtC^jTԐ8m ˈ@8$g/ s#HpEr C"9 E_du9z᥺<ΪcA'b`9d'41sQP`oU.(iOu_ɉ-ト-xZ!C7*U :BXLC-̔$|V@f*>8'*(1J 6l\,ILr8YD\(A(iPRh( .psѭv`v( X8<|ta! EߟcJLQ}:|1FZ1U63pfS8H߭13oO5ԕa zg:P\Z֑adT5:|bd:h!&KT &n_ғFaTO 46VrV{\hSEy7DO4} /e۟-~ƯWď=k%9M-GȁE=mQr<Ұv+PBN(gtqܬ˝ٜJL'T,F S8= D*Ic,@h0z4f$co! VUv曕|}W^Q+vHgڈ$ 7~aO)$G=Vj{+YFr!NuGyr{PvĘN.a҆8'q=jɓ(Ŝ!6m?-K볾AhtT3D/Noݒw`MGA7ScUdklgMIZ5-531ǧؼY&G` KRqY8CmXbNƸbLykr y:=0D'3&b&_GS8d&p~@渀0\3f4 (3+U*I띈$f7UJ3 w#uuHH)^ < fQb 9+qӎп8X$ZM)|6UP@f%\_KU)ifd&.y֊j8lru2, LgrxH Mv6ܲ#E)iW=!jǝ=jN*"e6|!m/pii%5B}v eh (ds!:xlh0PEYnQwa\UvHFpសNíHw5,119Yfʗqr#ksfR*_4챑~倸 FTˀH 6L 7y0y,=eߗՋ%j!LC8|Xi 9R4թ`>ZiʷB/Y'0RF)-iwW_*ut702̂󢯾2]uqэ{jq3FV-grWG?@V/[>qg7byRggM1vxOWON<8^qiMH8>d\#bwL#"jwAB{4}:ٍRgRUl>bX Sg.E3i[V@N}ES о[ZwRK`ɸZX/_V63=vC4ek!(\o䣂ױpsUӌp_Ϧ6@(95T(meM$8}o{Z{\oS?5 ,ܥHv͕w4`Nz1k9(>o]nSГùB{ʣ~q_Pg?&|ǖ(9!_GbƸ Ԧ& G5_|@#ko:9 ,4pBtHfOHϊ꾤rԥ`njf7Eٞˡ@`M">U7Z>!roW2 =IruN!6~yf?.ϊog Zp9p1/\ɕACε bRO}bF\a^$dU5↍\|<ζ+tVY)MA 1IW54[̓ެٻuyyI8-ɜ!LdxSiPU$^}&֖,!#3fUHkm9qr̻$x|g>eJ5ov6}JϞ*, = ΅|Prpt}3-v8wkB9xY= Pi5IQ= TJ͞#Ts|{.NMԑb=>Hh(m #E%r*eq1e惋ȷ|OdVpmu g ά& \JIX8+|7_!ynP,`hwr=z(F4iؒFrUo"N1P9npq9D\&˂J CM-_5R8)+bOh-{Q3iޤїo.k`tMS<%6;\-VfڝK|h3s׋WL I$:[%bVuihY2p1!_/tJ%09K z /UoY~TOd 7,7_W _sݺ0﫳?C:wJBlF|x;;S2<~# A$w]2sdgtge$/1qɘE&$׳v<A8r;&o6s׭16lsuaj>ոjhVNT4fBⴺƀ{4o-U%ÓV;\ɹO.VM[*GE{%Lϒ%v1۰ؔ0rܝ@qct?~/)裋YizJ|b^,zK?H]Ic [4*XSiDNݢ MqXl`l-ӡ4l5(Qz[HO%<{hދnv4R{Ǡ=]/;e*}UVޟ ^WU,[~2f{RMmoΰEɜ+h7HYn59qUs$n[*QۆonjfiqES)@rzSⓤO?7k{0zNnb4G,?9庍Uye ڡ<߳==Arg/$4ԒcAf'$_8=K#kNI%zQ6mX1ʔCdy6 ݯt5ci,w Noy0e. R qL#j_#2tA0`޵qnХDswy2Xy ë蠑yr38fSS`KI~;ÓEO4"P%z- oZr* tm'2G} !FHꭙ8`Թ~JǎX|XQl[^ՁRZЪ!5TP-0.eR$$)q2oCm н1~Gv"nW`Z.  ˓lbR2qg#"[^Җ,y dD%{51Nv5ݲX/i%>?sBUY켝4㏐g!B1jb?ƹ_҂V1ht?Е%m_,Yo|_?NzFYi}vӺ`f*?~232dec~-PX9) AQ~g}xX_t?>cXsij9.¶ M{5g2*J4ܗ(KpËTcUz{jK. G %+9V}P*1tq )hC&|4}OЇU",ez۴7Q_T^ d`NsAtbc mb8|lԒe ʆG?$Ev^4}i,8pE{R߀b6rΠIZJ~$V6AЊ/Z.$EE~ ^J_WBQBp*8TMP;M kP9E dU/ه< n|]tcx:3jv96_w6 rYG*0/3xKnT!_뵪iSj^`IkV_;=jAIŻ^V4343lG8)`|2dKN8oxж9aK!\.j6&=ȇ~xjS CGQVns֞O-2l[یEC %Tߙ,؆=IcL*"{RAqvB_-hl@z!$&uoѝ6egK݋hH%[Ol|>3zL\N$1˄)2o=Cד A *e\ZiLFvF$=qqy&qig;0#?' d25l!bFŽ!/ "GUjaa8(L;o~y2;: c)d ^Y|d/WGێRLOz;&Qb:1b/]YPK6F0a}AugbqI4> 6E)aI?2(LK^'IM oYen%3mL/PMtkbDtX~FEwdIQw2B2Nğ&MYAmF%ĬR 쫮d;؃.JX7o OVJ5\c26 U:2}a=hF$qs q8>fuD|!8j"! 0+Y;]TK+1]Ȩ^OW2㞖!&nLXPYE6F1dnwɄxHrƶsa26$_SpEE \5( O7BcANڀutǭ!U.bO,4cRu]٤7 ^.ԹH&5Jv)GCD>C:$@ rkҐ[Ԫ)80_ٻU BL9Re5k(cZ5Y #%zH~%lmÐ<@rk)a2>Bja $j9^<eXӒKQ3X)?7ۣ@@diPK ^6ApNoXi8Pݡ5l*WE?7 ;xy {+)ɯ*`@"0 _y/luG!'U@<=Y7}5v6F[8Ģ8ь-aC:W+ 392?5}T,<)n(׭ϫÛUÜ~q!Chyj2ZEd^eI}x^2&}-#pyt'ފALju !:jf`wI4Z ;1D9eHYOEn&S(UG֚G~XFHVl% 3"s?_^:p] |KsY=έҞ !O;)a*R 0uar!Q?"z rQx :IxHd7pfsnBϿC}.Q8G>gE; Uja7RӰOIFL p*EoPީCZECQRk#к{cE;{>YzWTGi[^ԝV}E9۰e\#R5hWˊddR1 WLqe9iyo #I|pcm"9uQ;K=q п)\׉4Q5|''uvEux%9A7)SI5HjR I UqG"J#IJx#iHZj۲͕؇/iW& U&wb3}vXsm  gL/WE .b0܆֬rߴyuS|#&9G ?x Eǜ=lEr|Qq;Լ(^ӕi 4d: kkaTo/MG *j:_(@ "^bg}F v3j+8I,VV,6A!~P{EFՕZ(oŦ?yhQKE`ql 5ʅ2r? <{n04˜ۉJAu$yRJ=/kIXxNct/m2 V4Lɶ%8ۀN]l6 J^Hz ܍r!3~?G祏 `~ >7kH+@8 ./oaOc_ hVqPr:0xC Jh.~*j2X'6FAwɄ@&d|r8_)`މSO6-I$joޣQZdkS",EB|BPP6LWu^('t \>`_9E| SRa$km3w(R6̟)m>c|BOq9%mN [YH9F#ųf5{Th@[Dj2 P !z]xeI׺\1lc0*ʓtbĢ䨫wsY+-W&}Ifr QmH;r"ir=đ]n,EVCL$(J"3|j5eKzPz9 B4q9mSn^.szH{s&M&}(kԽ1~x2%>y~]jvχ\[<Z9 2M\JWN i 1,ܙEfoԿ"A4 R6CU<cpN=+sC)vU~|fd FR{/W>ƺDM1d=[UOEx@gVrEI%ZV~qaǗ `>=9X%ǡy( X?=}"v,ȇҵ/Ϙ.!q >8a<[ u#]c!nKջgK9Ła QU?>ƮW4?H2ѴM$OB'E{P>:6O qRYj~S.!=%JI@r H9=(l ٗBj`h:2$O6gS>!}꬙vo]!v~'+)赇i]kcMs4Q.P}KqVfIjvw!Hғ͛@:KۜFx@LvZݱNw?~i69Q~_Op<%|~y1>C6a]1-|UZ,3Zl0ko(AWi94Xd^ypߏk.6 ,Z Ϲ}!VV4+ 5GR#d;%O| D/{-9rzN Њ~8aorT:2\^y xhƒ[<+U~5疡Uذ _/gavtrl B>|*XcQ"G^}|y24Vsءj0=H nM }pKh.涒"E/~ )C-/  'q^^d%v0J/`"= M}} ^\pLKP!oޱwFfO}߀gp- 'jz ľ#m] XmV8; *FsRi*rgN0!AY;Żaؿ̏mzۻvy)赎@yփݒ.+qCv5Y`TpR>[=je¥v`E(r$U*G,luBؑ5(t -`%sNbXiYpl>bO.S,7vG [ND}_1#쭿8<մ`0u&W >Y}ZU|pd̞k'mTQHnm6I+r@=c{R*_/[lPߜY۵ "Va[)$:d/؆ 9oUoN Ĵ"X"gf;2E6K ju@U*P//T!&&(_2l32 <ǒZ~܉O> @+ ;6&PEke|DϹ-9oVrg"s-ĆgA#M ˡz 8r՚^sPEb{@  O5٬<KD"-m׆֑* h,M /Ɖtڄi~oL֞b8LLT`c+_bdb6܋dcNN]beOSekgX0BCn%9%wspYҡy];S H;+~Ms{t- Q^?y>)p-y#ɺ8¯5]^y4gATV9c|$6{e"TSQ%X㺵GaLjm)}aAVfG0)jߘ돦qBťb>؍quM#=k;˨Y4EVK*}Y]Se{넎Ouj8'o =0{h0?ߖ"l⇗ ݃ymOs+8Jc,MJeLbƵ4|< \ݳ}T>ӺXfM0j0i =~8S=tk k\h扫e'JktK )/kF领Վ[J7.:/lBEiP@tlFij^6΂: U&6dx t^4}S kҽy΅5_{IO+K'rӈ߬F #uʮ8P"|ͷҠLQGz[w$4Tݠ}/V%rˆSa~9X+a_mVnZ\YŽJY}e} .=4;YYD X>Dd;?r_sU9L {6}9bU"d"tHտ)QOn1d3k#am_tɣq/J0+[ YЊ $"rM(WLk8yj1dlb>isſ23K| :@ھY[ѵ\vD+.&kufK8@!#b]}Bue.;Th6_ŗ)Zn ц_+GKϲܸRulXn:p*|L B S!u4o:#/m<0Evv{[hNƲa̓6h~0:MRg-65*n~mϳPbUyp$sw {k_^UWKT YV«WD%£3qðs; V:M~&8 Jÿ5OȪU6fĘ uv %,[+#bZ N5Eeipg9.I]ǜA7wPY%DD$&=X'PҤG(IJlLT>K% T\-,/筞ְvYz9ʉO09d,2ʅK *G[.e|3( 8)@M=Sb1SQr )sT^]BW#QM=zg<@jک DZQ:$ }rPaƼC#^RH|=*K88dr4ya9<rB"ť ͘J}p-gǕB*(&Q_-ҵ[>WԷ8WNjU39I`C0: ł6呭o3e3;a/hŲH!FطhB MzBTx>ooMՄ0:]0З"763"M]Il$.Mʒ|% 弽l1 Y*/:Ӕľ fgMޏB_ px]38rS2;o e-V}X2\V5v!8M!I7 e3ԉ#9i㉙MRoEmBҥwSJ"XVv^ Yy>8ir!./)\>E-z!co A.(wWap<P5bCES=L[l |ɦ M;R02fhm)i]ŸV679CV/7y$/k BWG[ȡ׈0ZfN<)+&s@'@hWzxIAFT8tP'M[S{We%Ht: ݃hJc0j]ET"-lʝ%7'A;D7WwSKcǹgr \w 5E82rW,7)*yk$2/RZ+DڕZii骳EZoz*=(Ip~2KcO*BP67ǹnk0a~3LLSȄP`N改cW٠ōpQ! `xiN*&-EXۮgvpp0 UBUZPp9ɍxå^|5j g=PLǚг-ǟ }[[Wmo1(g6翚_9%UB5N1FP `lʎLn\HϨBj|*脖0 'E2-0n$ J2S1Eߎ]ui܊V@NMxzE:%1&B#*a4^?n6q_ob)=$j q*KcOF(JբH7ưZSIT.U-t#99DY[bg, !tږp.VQ/htE1\SX=vNe.Y0SOo킖X}ˣVWІWᗽ.Zȥ uO5*916y7+B5d @vۨJy:oֲyzxT Z:D˪'!I@ژ.'DDj$uI-v8F$.3 ҥ\pWu'se:~Y]r]GłYykyZ[ޱM݋fw "7W d8F9- _e [!`σUv}m>HSY6 Y7?)An%Si,$ՊzAfʌkjB s4[6_NL6`IWs<\!}G0ά- /֊x-X"gP; \5yϟ{϶z; I?"EF~Oj}&AR ~qK.RI<ۨ>I~n rlE/ ~3a*VwDicXb}C2|wܸ [ܡ`dG()q4Жti.953;džꎥ1<@h1-<^E: T+:r>/Jj\|E@h<'B,Ɖ~S37fuԶ|cS^;W ~͙lDNQ~ 4b:ΝV ==7WkQ]p:w:UϝMy񑀊X2Qb,ScsR[eHq+zqõ'MƩh$a7:}&Cպ}!"-sb-(wSiFʱuzq2%|4H3}п}.&'MخZ+w6)zl0yT%IpShB! fT=mHb@}AmVĤDH1U~[.?uQ7 +}kt7T"Bqv@UVk1(:zYN]S`RbLYi̛bB!³ RFp9hW 3%a!t+,ifBZYDAp =]CRx~[4n$Oش*ِ2n5FI[Hb&vQ CZ"PZܝt%Sq9@e^(%Co74O߸D.W|\paXfH:2]d$@Qh0QC *\wF=FuÃS'a ];5IgY=XlGDvȢf4#_"]3'Ukf[M'Rkz@h?e5n-#QGg}^L6=J͹ttC N-gW>T'0C+ww J})Ҭ%P޷% qPPnt3:/Ɇe-O萀Ë۸-MH=8Jbt~6V]ݨ&#DX~z2>GLtH2  ז$1A-zɬ&^>[Ȉ`:b2@V_q1+7n ԩ Q=aVbːbeCĢb8BfMtE41scSES)Y 2 W lRB&[н8_{>fp͠ꍆ#r主NW b^ZC2TUQkׅyw#Lsh ‚ڀ_K !,ksK8 t:?f9|J!&>KʟE[IJ[#M68΍&^jb `-2@ ٙ ܖl//蟬e-rTިҡ,|OtZ/ZIV!]G>g4u5PX 8r &zsrV7bx WwhFI[9ΛjqSxԭPMY_7(έ}Rc ZÑmgя0Ir8nÃRwQYczl ٿ LXR%!,:HCCBޭll ºK zڿ*fzڱ$^Sdu4C7CznfBr>h fEZւȗm-Sa(Ʉ9«&MЍw ѱc8a<,빚Ɵ ]MRIs^'m&1ݨc#V+9B(>!zmGGu4[AMFHL3E+JI}lVS<#yMUQaɾ@H6RmDseDSŭt-ڜ nc>)G:u$QfX{Q˟2&;:'0a<l6A:D2M5tEojg~jgAWLŚ+4צωE\Y9hWHech=$-&V-N'Ll )RM,NctLJ[Y}֮y >\J2s]AhsqZ=zd `0 dS 9]-/*%'TWhWWutL!`>Ƃ`tO'l \]HH|iWԙ“\xݛVnY$N3HJ,E{ ^ =˒F緱`%u 3DWv#)@*Kغ{D)2fePB[q%HAe+R,1ƒ.CS]æH l9rQg)o>&/$85MF=//CAʹ5.CixE ҷĞȷ4;UP/eݶo=x \ $} '=LɞZs!A|ݢAՆal7Tݟ:?L*Vv{ {P|͎yU2!T}Et܈P3\49q\۪Ry"M,gzdL#ؑQ>mŮ`Y kqn[+{,=[G1/$ɼI'^-FM"XH4|"Nfi:# 7VҨ-0HB3dO5HZ:Bc2̒,Bfx 0qe-.[dGhG}͂Q( q]Q8V,qI ԸhݐnO xxvӻ = pyԉg@zχ/S_t` R?5Ly@]eAr<2> 1:o0(1v75S&{V,~> A2Y/D{>`|&0Vě71{'CnA+8Wt`o)I6edd`+~Lpnv}ʹo_aE QnX] #?+~%wZLwD2ڜ2ݢ5఑7m1 onawg0^L0v9s ȜUe}2Lquǒ 4Bĥ[x'2*˖.)-VB6,vf-.@p`ҒYmH'`Vqiң@C]{PQn[!H_?6elt9^BT X@.'@XaֺcP7]0Vr2c4 |ƒk,B8`^Ȉ3Q[ Fvڨ"dޯQhP=2=k`fKXܑ4_gz};y>:$4*T[S#rT.3c m5zhx2`oYZ*f?F3}ܙ@" T}a' Xrix5# 8$LWT<%7nֵ/)̨ [$X6۞-w[縭ة&ItDG&[M߄aH=?b0ײ+₿RT~ztr{XwI07oQ \J01iT4,||OUO{ MkuoL) zۂ U1퀣wd'6϶SapdE  JM16_8IEx1ϺO I!ç0UqF@:cx!ic_u #ʼ&>>OtEdp.>wsћ)t&kEc^_P(q )[NY d2CT;DZKC/CE,2@ ielVv !4 (P|߇`5-$]})Wv̺3#T_l8 t*84" .YV6ND?m:(`ڟw6zԛy mOa{rbDK)yM0&Jf`0'cޕKj.{@% %s!Hh%k_fFW*…f9^.êί;$CWd6`\Q19훜ݦ zz* AQl+{v T'Z(TRdy]溸JU$ZJ1ؚh'p>gd<?w~W1D"}ZCr9H+&}A'2QŸUt9pB;yiUK'N5a_'qK_E1md_%]PK|'ŠtDkC+kV+7iI*G!ƣX\R%bZ úɆ^hwDԄZo).i`la⛪ u{C䕑/3i1JVc6ӵs<{0MM3A" _){كC,P*jPfN@„H" b۸Ձ^&>U\jF́VjĪeŭ~G~jheNGI"sGKSf$`x렧EO2רzZq+Nש.d5w!Mq&±HljG?/̅7gMװ~q\mX "Fe Za+hz<FTn1|;\ڻ^4傯}ż/BBRd|%Ȏ"k9oAX|n$H?kM3h Ë3j7s[[[Wf/Vfo{1$S_ۋ#YzJFŃ2 %1W;\ PMU:DRu2~*9$g'P:}U;&_䦱Α cTLӠVYaZ_- K-} uutNU[/qV˴~ȧ /V^78<0DJ&}pSrG1.my9~5 rh[<#.[e:>9>@G!UKh\WK;Y/4/ʪL$f'{+.eq`Av) lRWnze2\-ȶk{ɩg#wDLz^k푋0m硒  9Ma'1FëڀOnW4Ӟ؀s 4tCSׂB}uZ9*TƲZӿxstkkj@m0䄱(l+(K#zr>Dh8FFGjLqEځ׹2 O揞{6o4.c$갊b6G(ϗ{mDVz]4V'wK> g߯BjY_+ *QsT7bcD G(KMrN[wymEDz_6,e/)h\Bt0]]q8zx=T,({-;_6`0w^^3XT{Mp/COF/Ebj]SN4+p}eoVϐ2LF0 A%.%RP+Q{o\ā@ejE7pbFXaj(8V 0w)4MIDIJ s$C$|:P`H*_JxFfCTr?G:l/CBNAI>d u/Hv7s Nr_Oov+Jsu[$]'3"\!eH US";_nBr.#1Fw~7]_^fvģz_|i֑ni*8}lsE:<DOosK?ۆ- KR4"ā0]=%aoxYM^ߓ&7u+b/8gn0~S(ϋںJ4D ב S.msk9;п)5콧9`mJ|m @/r/҇wd7ONId=owC "owi;U7Lnh^[2e;oǀm—ۼ>W'1SSM3lls}<drtKVI6~A1ljiUs!Ԡ 6'y2=nA-r;V]ɹdQqhRjɼpXwlV]t,_z1W :h, R]Aj[_CnRi!B4{B8K{pI5dT1U|4WbKR+T4T w o!;.c3wBe Ieq`8=O6lƕtvfM3,p:j/Hu)Գ#?DiV,Sigd↰'A䨝Oah~YEί_`&_hU,(ZQB8LhvH\4<$SK$c2|Ҷ]Xߚ&`E#n?KxQ@V{KBSTA+y5MSd1&}"*k[J.w1U,N~-ۨL٪RVqhf*j ֽy4^,/VnJ`CUiZunuPP]aB"w3s(]QY5Zaf,܉V/WDF0Oq@&E%.y$#t[ -Aua-g*816O[QH,5+lʭves 83;@$ ̼Gi㞉ib+1=][,P4̅D셟RUiJ/2L|{^35ٺzLWvHeQ8\}i/`LP1Yo Xң09JiqX)/gS.3gMY ?4Ybߗ+!:xP/w;']mHY4k]pes:`&  U!/=~ ݼRG!CoM[Wg0\-4mY8\BѓK9SEГ"bdǻ-h *k;J1#%x^_6˵} G͛0Nndp'5ھnDvd-O~ppe5BKv.?/#T=ӵ^ w V'cɵ\w f.@qS݄N4do:QtZ9 {+ @L@ۥrʗ5mrz'(E`[͹B^U*?EVdV:TE>MU0PW8JIhQijdO"*]d{L &Mg q)Qf kyOzQeZP߳2AJʤjSte'o% #sҝhj N ;X/l7]\Nd-@x[kd%_͇cTk9!)`j|K7&&/oXb0@j' d">rQaGi> _lW7`"Kֿ=@bC) U$9mpy`t{Gic. Pcx>?ׄ{[NA oMGgbNYɫ** | `]¸+d.ݘ(Be%(G/GG/ul'!xʏM˰Rh "Ԕ} ͟[\:.M=Y() 2K[)칭Ne e"^250^@4=9cH Sq?M1υCGȐa}AFo=IAyyk$U|w g~dH0P8q MX|OE_Ӝ|L\M~i7@[S) tB fAqԐ&Wo)mv=f! hrG8Xݖgd#cX(CÚOP6Cbq\ <0U7ʾ7 y?a@\TWƱ^̲f")按|Jc6* EKfigtjM8zރr<|ikG9t xK j`Nvԕ9Sv*4|´O۾6j&hF@3 v sWI;&K ZQUXё<8͘ukt,bݓ"a}1q#!>d[axC t`/;=G%ܬfͺ mc+SFwڲyמvt߶*αez] d8R@BٍO?R4Pr 4`S`ݝ\wd:"7Zm9阉"'qiZ8EZySd(Uz΋a[ؾ'*-x$xȈ-o-17 : Ŏ9"Ac HPqWsx u|cP,Xsr$.?{Uf-g9\0gͥbaqƈΎ.O(Bű-yr{ rZ&\+;%,iF5s(Ⱥr;O3ЙC,NJ:2n07-C'A3sk:s]DQ0?HK`pR" /tĘL xrz|-V@q1axT@i*PƕCEMRfێ{*L$f켞n[Lėw1 f#APy lã~ f \^tv4j&tNތG $>ct+}KxT^Wk9:Yi6A ɾYdj@2bms+=#̸pG9#@ m 7f:_EL#JNVG `sSTpnG{1p~FJ&n=K \. [TE"tR*C1)*P#-,h}FO C׼Y S9%.9J] }E1\* ]ZK @p$E |Hݼ }J4V-^{%#qg){;:~SСuR4x2J5rյvϴF`~AWmqo.5{ JEAFT]Soߩ }3묖0.z >"pnܮ[ΈlPza].\b]1~/)衴'w) ܦmwcҾ jjj( 4e#=m1䌋U9ഓ9e,ѽXo]|c1}O?AI>^eިB0H_Z@W :Y bn?wxeZ8?pXk=z&~ٝ —ߝ-VQ1MFt΢qJE3ϖY!Z?෨C&tA͇?{WڀJ%=>#}G|6zRͤV ".j+g3-6g)=QFqk[5E;70 @Vd.<r#'!+iXg(;JBTywZ.ckw[d%MaZw.(lW(Y;(®uo2:XV"P)U]Sctz s9W1c}=[p$AHfܒCJKUd\* dA/) ${K izonBo;;Z{UK̆?h 9W}F"]/$oV|qw̷`|`'wA{Cdy0tp<,gE d%Keu(3eeny6WU ئ pq X@0 @v&<("~,em㓣X=JܷP:_ Pm(*EbM6_q:hA< ,|:݆yAiv cCkh7s Xb^bQe~4o뛖RJme&~?Na#dqv\l T'#H.`įrj*-R$烍R͋I /x"mj1.E.M5uP`,/I Ft oqאj24q4Qi/p5Щan * 9)f2D7،< &}rwD*s;|/S =$oịWGB@42\2R5\9& |9PI^1<4q!}oXϧ?KxA@v( 7"Y" -F9#ēH+-[$%[u'8Ԝ5Bb*'!4I#iODŽQ (c!+{(Q-f<;v$#O0%&ϗ35jbCpL~ "XdfSŰHwֻ3>+7NUY#8r@iI--aD 6cFDs9WV=ۮ810]$ZS$˅K!N eZS@?bK}AY W^$NAf2ΛYmG:-W+\ak##njȇ71_WUǧ~dakU`T-W3L(5y2yf@`)vB__K!=͟Q&]e_y73ygG^vx{ºKJ`Ga3㔎?n tVaKL+gs`TRi=D|民!*SF&%Ws %NaSmX;EVcdD2yB.nztxabp-Xi%s;Kߖ6{-S!k hQ~z·+",U).R$VFx`4sgv~5/Z^\\V. S ϔ|W@3(ԝ^| #&FhOrj$|jVb``l4s4߻hwO5ަa[6cդ},'/ZjX9bLЯp4hn6O >w}}yY Уp3-bYJfM{ Q l ZSau `։TeO;;Y^)xF["{!ZLч}jnCǙ@6n`SKrѐ*S_瀟,?Bōؿ:V$p cQ+hZx_EWÞ'iN ФF`0p(* ^7e s/EJ)acw m_o1t2} #}X v]:c}48Uś ҩsfԐ^ӟuwݵ/RHW*>*aJ}ȍvNw"U2jL%*7CJCq^AŊ`d<2J|(+gr$%wT:.AfTj3KdozUWg7yz-QTL}DS So) @ꭄ"tEfGj{t)cB}d˕(?*J@Tu2kv9 5T| ԪSg|U_˽-t$Y8 ,X?R^9^8b[xO℗q+I4Vb.m격~OE#QPVܜ;H+j/]nÜ[9SC 6wY'Kf 2K W@US,eQp]'[8bHjo[zt`ځ@ַ\LKbxXw!at0rȍjuv|lq_`QjD*ZUw !Xr:c|(G7f+Pd7' 0,Fʎ z70IMz^,Dd"%Lhq6$oP){Ixos 0ŋՈgiȽ"/ (Uz ֋\ )F>T+Ǧ#v{,!M/,qZ5!ykm[Z00F9!Gnic{, %BwtwZ1E 2ݾ*c}>:1U ;d=pG z~^|u1t |tWd4'g.:tA '=Qߖ*kpݫ/[iNJt|=],SNp. y}5FVhy*~ ~R\ D \N4SyKj^p<e*TFcv6 ⁦)'Q]!VEFRqm JL^~~aDGRJGX^2$be &^IS/ҮK I,Ÿ< OJUV!^}hcQᄌezÄ7 u.%kޣ݋Ƈ$Ðb86-7τzh ;Z=@^ފzِ5=+r ś)}[Coqz{\.*zRI$ID̟)5J}0̽K)%.M,X啟Nu'%gcɠ ~湵 kx<;5}c?R*{U)/ݬqxoD9J~Eշ܂(5 z[f$5< .Ȯ&g!`Qn{#[X!H-e.UWɌn1 E+U)%nE0'fUv'DQ}BHF%F=>6Q&ɿR%jfU6F3QMYJT$ (0)0LFmOjMX|]iev枙?}vl]E5.Sk V򑣞$ZN4a6q]h!P ʏoCc7Ɵ#軱_W_~ IzJQ7,+8!D2э>xb%K~*0*5\uڐ^& a?guFi? Moݽ9Dva]r$b\8D/3$GJgwCKrn)5'9Kztb%IE 4u#V Ÿ$VXMDNBoFXB|яxIuU5հ)Lb6f@J30do&f$5xb0׀-6 BO#1}Dvx!=8P 6s'].j7:{T,jiBڃ}xH" Zw#֏m-Oq*S?cw'OϪwmIZYM#w)i8^.1;Sfw.$zIouEav;RkQ00>1&B%sP&DYDSȹVmy%/g -CV1y ôiZt]BOvOTs]O, l;\zYK5>ǏmtniWlr ^׿n$7LnfK%PYv19o$UbAGB-k,;˗&J/NdHUyn,5ÃKx[&#mO\m–i*:Ԁs :bEGuBSC}-$la%kkmAmEMy۟9;*mJCJ}(}^V.x}-1c;J߽+5}ߓsW>2|o4Nf* /B^Ig>pMɾHw02Ϧ:LW/qx1)ksR,_>^wq6-Բ_8?&S̘$W;G +p3&űK HC0ٮT4aߖ29ב(e;"Dʳ},|űYiv/y z#Zv8PM+ve]Ee@ZdmBxq C1}p7uwΗ4BHti}SaޣnNs:o[Q.As#8gؕ4 ^*yZ{Z'LɃ$Ĩ`g}/,ƒB I=#3wy RŔfLxX`rZ?g!z,/ƞۯ=>a@۠z_ƯojoQ }4e#*.9_Tp[%$#M àwtq0\Rg8ʄҵQS$~+$sV1 gFXwneč6|gbU5&\1ZN51~A >mm'jcژ`*P`P"aȄ9_­;t۬#i_\DҶQ1K`4m9X{߾&.]T*Bϗ3*d/fvj'Þq6 ZKk薋>5TС_ /D$)z߾CJF$ƯCOU<ua~l@(Oq8Tf Ղ[:Cnұ[{?5^ vd"pIӇ䟰؅ KB}_ 1B_9g&׫fb)|d.@ 6ϞS*8_Ď;+SR]rǔ8_gٹ^/z I sG-r>5 U1=rKA ])o|0Zqh]twsJelٞ6~d``b{_@#-LdM'V?{98$jDmxS7 ">fG EV}fr Hd;JYf6N#u0΂ i2ZN:K~a N i7SU!τ!C}M4S%im,+ceuwa (hf CZD!$cᄧ\ΜoVIgޓJE􄗲i K3= ZycBS NNcXצ39<0K -;nmZ@y5h ')1|gd޴x&V'.!Aݥꔈ\TnW2嬃YS?ia5Zt) A(PdOy>A]̑*6pe ]qy&lwWy`]GWy4iƺ}H=p\pʏdAEhHSHgP2GaX$ }RiWerj?+L`5iG2o ]!f02 |fLcR+K4xx ”ⲞI$>;﨓ڳC__, =_yr5ݝFvtV*gwvУ㛉<ϥ /Xř|GWʣ}Ӎ E?逧;LȻ{p=dΉa4-=QsT>bAy)mY=RQΞpvUO x"|scmیJXkLMcd~ јt;/$|X8k/[L =lG'ٱVd;d+y{[ iCW$-7rOs-tߟĝ9V|@b\*\% wZ*>-8#Lm|E<4]G,>vd_{jP5d~Q񰠌 42%>v$B$mdr}&YF wM隡AqtnnRCkK!ӎt̜Q@ 2sJݮ*hſ ,ZoOm(NTi  "t̷20_[(ƨtZDmlYHnҡkaJ;݋gAMoH:c-{zz|Ww#Z +2/Xf@Vj lf̽QӚ7v[KIr0$\mƷMp=)3 7~2ͥ]^CaE3 aM=D(t١ xW߲ 1%x8wSEruLFpݓ9{ŷ4?N*=(Şe$St\  톗t,@T=RΥ3 X[vȀ!HxD`cNG[֬jh]Z"|ѪW H`dфP)jOu_u0TQ[kghGgy Y=}R>,ɠd^D{.F7'[Xps<*1JʯV#ur1+DM.*vANEe'8XrHް̂f5Ɗ39x':m؅_Yw5B27in~l:&s_ oFRS3u¬IǾ\eij )<r[-@#$/Vݼ]],XUyfOm}MBtb+΢nLw%E窮Y_wv=X3e:@}U)͑՟&Q56zwe<GWݶ@T,b.7 F#/wF?:Ԟ>ϙL~n[Z]wꓕ9R9RqRJ8l }7s6ġhESo{ЫHZa !aGnRs- }9P,/ߧbƒ(1.yh߳HNMB9)W, o QqlG L|*ӭ0 bBPE*dAhM-oCxL؊K7XVc fXC!qbݭ`' C2""-BI`Qc{i[*gع6W+S;fz(نkiB/Mʉ@1;%~/"+])jS9۲[BF6ܹ K0d{z0hÕ݊;6a{[h+tZ̵ :\)$f5nAghǑjwxN{ǽ,Yb a>KXDz1GPwf7We*Buud8QT>)!yG ,h㆑æQ-8$>sbJh,2)rZ˟E^l},搑V0dfl&u}zl㤺rRBWF Gg r+*ZDH>UIj(18q6.#[Ho^Ap{CJ,;hD9L.ۅg"uB|Ԛ:]G烎[ϭ)nYܞ}Cpft 08ŏAn3=s/ 3n*oqmwkߵAjnb8򻝈x,,ײSo3s1t1; YZߤ~O+"HW텢rm19tPb4G@OZmrƐJ;!vL5nŒѺ$d"Kfb|mcLT6Ng>9VD4 j$3CH9ͫ>[ 7nӕa?!yFr:Y244UYL+CU)Y@NCOe!]yFe5`]TIR` 'MR@+n&pQduHt=g&nVeyEeyB, A4︜@*qyu&m׳ pY?WB(3L[d!^޽"idDV/WHml~ L,uy">ݕY -X*^ɻgtgEqnFRc۟䩐ZX5?O$|FfPӔD]iƏ5 tO7FAǯdT QX"ںC#׹gUĴ̧Li)]-c;^T#Rsmzû1Lyq"1`WPuxB&g4o 3Gh($6 ~u:/D1U?hP].^q]y胯hk^0RoE%/}-r`$e$;Aw*)T[|kqE:M@ sG 0 ְKki ￯w.knZ%tp~T9͏'F켐lįfzD"x St'(Xl'.ZB6_2M`{gFYrH ^Zk,?KNt w@) `M3{<.|ē\)`Dy%szg`eŽ[Lr]ťφSq$7Ŝ1vBgMx9X+ H118Q‰ |gn< bzP쫬}n2'WF~+ygN؈"ƿ_3bްQ{J.(qHc).ky[BN׶[B@GÎdؿ!;J(*v868K!~Cy[A%d+DvO]^cxLx~lPi؟>`a x8Ccn7:*OA]QE42E"QL;Qߵ$9C2Q֨}UZB1弁=h +P1V]ZBUCm.@b$+̋7=uz%x(+*,ډ e2B:mO䃖C՞yFjnn]'^Y! 3ĈdC3jUjIB@1ZO>) 7p`6e͈Ne$c 7{sn@e7|X^iaw)ّ]]YBgjyᯘEj/݇_?##`LVrY'+s¤ȶI.l3T$Zfu{qeQgⱔPױJmnn-RZF+P4;~n`QC ݰzH讹w:ĬN'zp;[}ͼR5Gy S2*˿Oc0Vlp[}?>bTn`s%cq֨!+M SVwՖ/ʮZ}07Sp^·6&M9>LHtZgJ^N I1|m;3}Y!FjSdf}U08pa/j_}ٳ.B$>.^}G7+#p XU7$L LySztF9PhB^u3hβQDzr^nY˭ %$$O-C/ducL1̯5H5=̿Yˁ!*eIz*'Y&!3SbD7:sҖ9P_c(pB;3S0 9PzBPL*Qe ol'߱' Oov-`"X7ハ \vQ@oT0tf"~A LA2gH:߻Nќi;,H{W,}pl, 03dr6i5և9-"60em 9ц].ՎW{5щ 텒젎0LM*q<9>üDZӬ}w5m'`RnvxF>,EG@cR9?6 Y[㪈8L&b@al]8A2P@VK"}BPU$)ʝtl\Uf'a|-TZLcbp1CYYd}DsQ#sp)J 7:|,orCɒ㶤ި ю!A.t٩XgfBF1]QYM kY7T2{/)laiUV6 ŝ44Na7 #WP矸I+-FJBZk{m@0+e;^RibMR,6 $"b  `egdʁvӔ55Ap7VʨL1DJ ƪЮs}gqCJsIHY6we&BS6%l`~ѤB KOUGA9joȴbP`yW"Jss[Ŝ$VhoLs FS%k̬FfN )'s4.6pq[Yҙ pi&q8|g29P@8-,3ÈmAb`PV@/&{1ԋBVOSSg^(gIo iH@^6Xt ˟iQD 퓨e<ڴS y3Eƽ!B ym#ЈR6<^ET˷2N8oFuYLJFH<m,W G7kK 9zsE' bBm5 V~LJGrܸt;4\ef^ʜ߹z^lU𼣳%r-3As'61W^R{5 @-Ѧы^I V2q\K\%+`kF%Ԓ&;>;^ԴV4|aqcPXۊu Iz$O\'NYx"t to_<<6+I^<khrF;aY9W!;gv{6~]+*tjyK' 5V7@a Mu2CNJĢ["!~p*AYpEᏧP|Df˞$yTAqdEjY1sdCw/f/e2cgakr#*K#s#]qx#)ҽһke*ɪQxxc&o NFTHGOe Fb2__/q z$r bn2TLjNZ(Q%DۃãiH`4D|B3Y%fb8B)O>5> TC'MqP|0>8;m}7*?ޫJ+i[oעK>ܖDSb&)23|Xna?~JM-4njJnʲ=$LǨ8L3ɴ'$▋_'ʧYfWR?`Gae( @~,K@OE t^ Z.Qt7RDeH汃$J%7+1-Ly}rxĸ-ާ;1T6 , h~Hx#߷zbQ9P[[2 %ɶʾ [ѽ"?6՜zO&4)U N!Q;JHHgP.=Y;<^84>/|ڂe+ۜU;uϖ8kBŪGPl,8G[I!0KhˆTڟGRStIEBש@.ShƢTKVWjб? 5 ~bݙ!|;A fY)ӊ[ O8Q5a4yQ$ޫ^b"nn_Lt4xوm)jru .{tWhj'?j#ORTOmVb+dE7VG.D$Hܲ/1d,a1wYr;Jy?AHl_^M=a_RdsV ށZLT9V97((r/Ҭm˖=: 2]| 1T9⋀%H4NfJw/F U/p %'d}vAzrz$ m 2]E?r%*KM*1ԔI{^QYpո1~UCSCM2oX@' '19 _LYD~MaLGI /+^T"5t6.juk$ո/%I 'Q uoǒy ,"HX19Ѿw+3VÎ{p Vc?~}K-?.2>Y ?X>b}*Cv RҦ3C>+93@(;b8l3h @!CZ9EgmrAH-4Svs;xvyr-m7\WB٩NIXTQXM$o- ƟLΔ ^Z g +@%TߣE%zy}I{TFxK6 vi%z;n&yluAJ}BF+—8`Pj!XoAR'ME ãZW~ཾCԭ8oRnz&:31oԾk3 ŀΎ I_RklF߬d8Y)ȵޮ6[<}1"T!e+"Pue0 2N |գs]h!z~wWuUѨ۽#k QLod@2:QBEGQՈXbqбq㫮Ae#B"-eŗf54)*W^Rb<l&LSF` y.[D@p`BwJݗ FŹ]svve+m=nݍvʀq&j!ѯ0/cVk,LƉ0 ?]x/+֬gx4|1xqmϏXlܹLkUXW=:jy=ALC 0c8 9c!dSls0ČM3%`SV2Snfkխڴ09'u,%y?`сfƟ3pk GIDXndk h,^-wfɩ)[py>,psPK^`\rt< *5S$w"q 2nfQYv>d gR`MęBDak躚-CwyR.@?Xrw-捣^+|Ycl]U)W5Y?-2rFȌ 7ش غ 9\4=wu}+$_G`jCJA&)@zРW+!)j8dn1BjqaŒ ;q%G \Ri^*A (C[͟!#t3>G:uvhVډȳB?bks5`d&{ fB+3} g>+5.lhWDPYaX<7ǘ~#ARI]O g|p{UYqOTCErFQ \DbxsR$*z~Ԉ7 Y_!&#fZ&zouit+2?Tpv :t^lfmUTU"wFzh5 m3ږ̰xVwQvuZpY$@I`HSr< ? !Wٻ*YGw.z"oȶt nqT:#:Dyym@yjsF8?( [ύcn^ܕ JAB8A]zKv3a{+04*ʲzvRm8u+sbb\jJ6^H!sT%{BvxtFӑlF^ąk#vS sFZl>Y@*{X:_T&*GmEd0}ط:]Mᆀ/ 0pin7vk"46~[Z'_SNa|Gkl<1df[l+G`mL锓: 2Pͨ^W]i/RLmsnpݤ\KMnL"6e}o/͖kD3#Dy-)ma ;qΖ:Yi݄+fRse., V)uegF#bEu~k5\Rk ⒣݊qj OXM/ 3DTthݬ75܃(&M_JpKۘkD<\vԳ.C2{Omjy=mt,KD>a)_c/7 WY#kmOjjk DBjJ*0+B78I?UqH*g9>N*GuBT!B嗚ei:OdWz43$Jt )ɘk(6x2v"#z8 S(yscӈ@Y,z]䅐4er*e $Bps^> Z[Гm (#Hfv"_a4K]n̶bwkhіa[j4pUɕ>7I'-`)7ipDFBX~}xbV8C;,f0k=P9^Y BPp^tU#˒݆VtB!PcV*i/Wq;y,}Jf=ٽ2~Q?Zī.Yv $dCCCp'3$VтO~_Ow_? BjJ Le2V&qbz` RI!uKb.ogOc4 ꬽJ1@Թ\xAPJ0G!܊t<1^ѐ43O <,(X^ $>/O ۱B ݉熲9P[P5Z2(/Q/o#DWDϿJ,!/nu+ih)y)C;:P&aR ` AĦFT>mF&ʨ%rʽH^`SEqG95<&Ɩ?L=\85eRszT}ȰjΟö&.s<˨@勺WNe'#قȤۂzVTHAM,#9w  Z&i$3PPS]u}l#+Jůx B͑M Rc}9Ÿh]cg2E]UƂJ6F';p;mV?9'FH/T`tL6RHw(?ȁkZ2q^jW0F{*ѥǥ|a ;%%,-'>_"QwbP:BT+еFhztuZ}ZxY|vsr9u]H.TX'v鑄A(2%4;GO +OVOp~ Cvd=mO)|?6my% EyG6bUЈ>כ7!DXPN+E!S95Diq|Ϗ,44}{ډ{,һk0-9=Itr ^.'A '@LT[RD`T9}gz.jzyz ]/<ȯ<'ZLI&&u0U{SV߳wF%Ҝ2ƹMUOuksj)tލ(meʕP!!uA3ѹW^DB[ڼk  3Ӳ8Obηٳ7 BUgCဈ`?mdW}(@x>RqpiF(u0,ح K>,A5g9f} CraSדG->WXBR'#&[z"hf! 5zB!i?6vj*ԴGΦh) u}Z(rѴ+iIӗw\:zćG5U1m]ςU,5Hf8xe>̫N+dUo9)7=0 !W`?F 7C)y&G-*Tyt*:{OǕ l.+֥lSq~pӖ %A~Id)$m#r;=<%[sC`[xޗJqXX ^:[{iJ,KE 3Uj=V\ϰ͇@>*"JIB4}_9EMYrzXNfACaiPLٝXf>!e Fa ̱7~ۇ,Ǟq/lfV5b*4Z|_4Qfo*<9P.t=R9%GDbzbԲW\⡗=0|ʣ#-L2=ڧ&RgF'7N}(Qo(^嘋ִ! ƶM)]ie 7ap@q?ɳJ . ~km᫃J1h35XR]ob n_iV[ƱM#*6 e$M %_;I+GsY_M2qUZtE I~)KGOB*2|7YlGьFnoE #&쿡 R!GDga۸^˦{6?E+l#~[2Oc1][@MҏK_ y=KJ8 H"p|/57/PP^fz|y+23 vߖ>s@G5CI%; [kN_eӯ~{tܦ7Lتp q}YlCUi')vمo^U/C͢1^_j9qvG9W{"AG{AtҌ=PŸ`)4lجZƝ{0v$.`7rJ t1;C C2Gj4&ZSA4j~ UYzǒ W&j :GvJkZ o-+'MzޯݵwKx0JlJZ? ziTl)LcdU1Ok;*=B4Ŵ~ـ Vasf°T>[5lzKcbGEcDL+&rݹt$GI_Pk^9 <0a&?.>q @e{[)СeW|Ru'ԣ'̈́ c!xqjN2ܟkn ]Vdt7}R2ǭ]XOE} lnˌ1Y$>#30mr)m1pXw O$ve? v90hch6͵+PAH'ⵄ,^ֶH4j{pj%76* ԃdVa]$)%;b(=K ]X']c'ÁЎEhYּ|`2l38^km< B)> LTv'^ri[ߏS̉ɲ> mrL<ܧf2}Yu'&NU JMG0*OmJ!0J>B$oBc Yڢr2XzXkh嫔Y7?Af9ckPb7x@@rf?ҍ_^GR8%E 4yU}N Jx:kR?E߁r uML5&8N-42H8jgDqgk5$:64<,}D-/!\\浼 &+Z2e5& ꆩh_?Z$RD(+(ئFq5gEiNb=;3qG%ϵ鯝]P!㾳$HʐG{V4w=0;8ZLy3]sD%zl=L>5Wڑ:>9,4g/ç2 WcR%~% ndʹeYy ׬lg:F\o棐$ra(8GdUߢVrWA[("ԧJN8$~xesfi|;$ЬB(7+z+6AY J|OL7U#=`^;$uR=ݛ*zeaQ FHU}n|85i c[\WW/9w2h]>߱2L~gV)~٥FN "jZEirj_9{ꠁ6 _,礁Wéjt EuL˳ (8ɼsa,qW-S >p O×rtdnkǨ}|Ep.ن0>^}T3,vn]R\<8*FT._]ޙ$6!.l sg= 4)ӐZ e\ p:uID{MWv_mm6RB£Xc[*0cIB\3/_tP,-hwK]=8J5`nL ri儰-3`4h̕ )Q^^v%]AZ A~W7.l|F)ݠƖ9q]'[U#"nRcsoL.ҧ2zuB)b# )N:0׫ۓYq+#qB>0 yR{ J-* TldbvwJEmM:ɯ&׋[%w(g|i*RY,[橵pݧ,gHŤ(4!teuX |{`Ţ8(w٫wD[&u~vfAJ&I抝199~4 %Lي4i tPegx GˀTG~cTA3p 4\ASe-xPΔ ORn佪wb)Aͱ\KyJ|4QS 6LTp٦P2_5NwZi1ihٗN#)X 3 }HqŪqCpT+LXH\#~BfǾčVTQo 73j"ȡ) h9b.<ÙKOhg wi wJHuf:&QO8Si]թ8R52$8eZz|ТaψZ0w?!E>A\*DT^urˉk!E^hH70*GnQwaݢ*BF*u_륬yNxbAF| 0~ z܈{ Y6ABo.q u DLx҄+Pُ7)DZ˶h0 !ֽ3Wqt$$_k墌i!cyݗUCz#fPϖEdDRgDDDW筗cEcYݓ;.u'oѫ-4i _y:7ENhÐAΤexvV^@ j]9Bnma3H0b~x ߵdB9ǟxO*A$1(>? ݏuP"sj3fљ!F#է*Ob-kxht>H:5Zk6yTDzPR6ѽ˷%:F>xFQW^V1wwB0vCRLۏ չ` râ5#2ORaA%"DWVi= t9aDO5l >J'P_A34@)loW@DQ7:#Q3p2˕ݠylI"f+(r:#Wۋ挴aWəF|lm_v;4B(@8Nzk}+ŇZSpD_!4Tu5& ~ ؟w wr jZ9e׮і#3ҳ{71sUZ8}`rXj/R9MH6P]RP~u"}KmFC;6H[`|Cs?)kdHQt`4 Y~ϝҬ.oR$CE इBBO[uS Vo7W{PFbcZ[L-ǃ|7vϽXDxd } r {4 j gDQҺ/8#^;Cf!Ӱ02URw]wԑE+-aW;O 8POb( ն=bT3Le@wI|.uv)dQSN}(QlLsu/dVC@lcrǩ&;V*T?TDo*#\M nӹxFlMU"@k3Mlym0I"|OE`i ~ Ld!Y8NoSŲ?9$HP?vByZ=[ѣp7|:_xZ4Dȭ(ӉqZHP5'xV*Ä/nYA17چ`&ߴPR[ 75QPDȅ5 8`Ҁy9t )5 Jeej3Cě]Ga*б#DяC qVQ5*;}[2Â54߭|]+(1ؠ_w0cm 02O>("$Rfz? `d&" 0VULX [@ZUJ l1$cKl 0kT{['aRSo'DfY$ٳuwjEցx_ ;$k//Rm5@>عL}{wI'n0CY`,\մfH7A?=vmEç "ef]% ~AXф4› B[?Yhzȋ#1DۻXܪ^[z.,6GuAgqtۜ4L'2H}CQ-P;t' u1/WQ9k6 VkAXYXtU!9Ԣe$uS¥KI; N6 .;vedT tIVR|HLVrDdXK rA88ccO3煀up`n09_œ*'?+<2Pg3 ZDwſo3LٱK ZgPyj?)Z yz#Eh(hP0zhK'JN:?չfgϣ. w?Wۉ9Pk5.L}{cΐFfmlxy/X-UOЇ9֟d!yw\S,WMD=W3҃&U@)RlR}s (x>[FZn9"FUjQƭ S{7ŗg}vo\J}W"2𴃌B԰,!`6`:Sw)Uϓt0Qu:~'Ȉ[Z|@DQ4Bd w3e4=E hCf6;dں)L˽SCGh,9#Ǚ_dM /Ҙ!2~`GWwt(Iq>h%· w=/D.UGuX̱<\gi o q8Htz&CuZEf=-S]L@7 _{̱"U`}q16:eA66 r81 0jDAY7TS;LRL 40xqE;#ԃGU?]:+܏=[3剃in#Qf;˾<oCFt&ۯJ?k0 AXb{ Ь/ ۊtEsPx$/u7qlK`c )H/sߔd:FEc.Hݦ/łurzuT=3izhcl3Yw;/l.TZ$>q Ar\cW5k&TVK}5<[cRhӰ&(pgܥO!\\Ôd_|iQH@^CcL1[݇nz|^CSdjoF_G55pM3rmJ-!_XYiJXeBn?]kł) C)̬C  -͋ԊmJw=/l|aT[^sR n^1WĄ?5д/ wMn׶kHifp9Tc\#F\M-3E ݚۺN#E`MI*Kó"-n,6M8sdѧd1wMY<.Ȍ4p]nEk!nXWA_"Q?C :Wӡ4i+Wv,HM2 ڲ,,୒7p0ĭsJ' h#nM鈁t\\lPUEg784+hSWwOI$C[vt1b2t[huJ >t_x,`-5nP 0ˈ4j^Mw1e vT"z)GR:6Nb+e+Ŭ%%뫇dL?ˣcv z&>#(EiZ٬FDtH>*@Ws11U.mٕi\^um;"ӄzkn}54FAgYnM-{ifH: +Ȁ{zE2tWZhIs_Jae{פPgnwĻ _u>TOoiw<'_]aIf2_\OjP{oEo7={Og3r*t(5e9'mwY_s'cqIOwMR KHk=El`C6us%'(; 7 tvz74TH;|){p rLnmՋY ^/:@`U 1MFBi5uGb +"mͰ%_tA_7mi, ԝᝢR3[Lג<f6m^ L(";ܙiX0 Ř5V i&_Ljzţ1D h+]°4j=xq%q.} 2U9%z/e;TH+duaWe4 ;S.HW[L\,ٱ_vzO;'s9%"HmB |vY҂Z%<!x+n 冑͸i;G.h c|QCoы,Jں._vuÛ]I4 k1CK[/R{N*>!8} c'U8noUnG:9 ҩ{Ҩ-f!9`W5B6*y+^ Y ]Ω; 4N =b[?֊m;kYY:߄Lz-۳{דUv*IWH| &+u?ROFY:VW!Fbȑ6*]Ж]t<# 7Qy!aؖlJDS t)f*, lԞF'S3e=蠒veEHfLNKPd3F 0wx)EA IJ >?ka~8͸,gC:b^:`KDֺ`3¾ـ *.Q:: hா:IU*Om\ FqD}囘!H˅8MAj\G8g&QOI5$TjJcF(5T*4AߺIT;O\wo ˬg!peK?$l O`s8SBRht /mz+tOD=gFiքf=[V)`ՋgKq .Il3 qr{;T/˽G.e4/ȽSWEȘkͯ2ث~f]DL=1ekFKs'#Bg-p` >U >d?Ͱ6zMG)%ّrxq=MZm N2,>nbs=('V3SJDMXzT&ꙘOsF ٹl,zNiT9m:6z[Nq)P}! ^7)fa(Vi d5'ߠ`z!;Z\w- HQ`+H&~0ȷ YA4.m$ p ҳٗ9>_îεXŶ4y.} 2vg3{3[;vIMx%ɲt; }G%_٬Vcf2v5Q#ÍS990T=VL4;fk!i_ct݋~R&d. v=cyoz?Ȍ:>tLMUi DCU199um7k=h=@=_OJpI@b'6>"KH PuќzP7=_HRd#l5"ԉ/8lwCK?GdtL=!;k\#r15`W*%zWr\_a,` ;A`hs$GoG4/vNL9MyX,fY6Z?4"܉P !yڹZ/HwUE Ԩ"?zN6לMnzBIjzrOm&m~DX2 ⵥэٜ:#[fgnSkS5k|aHVq-T9 u@9m2 Ǒil3+.(w}St ᜧ˄ϰQr M΃qE==*z^O2oVf9cHOf1 PHpҭnwzR)lZ:0$xɇӼ/d嫶;O{Wbֱ-W޷%߂56Hl~W))oY-B_<p{)=d#'֗#H(ˀé1ؤ?'pMQi]"FLn;8rBTœk%FvKuHĦGGYbˊ/lyEWC.,fBy|#l0Rl2NʭzdWy~ŊRŀ[tct0@ۉ^тT SQbֺRNX͉ߛ ;OYVLHĮ cxmv/(A.R}c L!g Mfl=FӦi5Z!RmD? Cmߗx$]x}3BnxUuˋ*|U?³כpݻh;uV9gЙ9<£i'`%͙Pcrl&F'ܲ*(C|N.)V.|]YA3珝+aZ@-L-ᙡTv0YJ jdMR9\=n9'2G $uQ"pZ/?="s^6vw8S޺Q0yO:5>qY6`=f[ϚĤIhuux8h|ʡz"Yf% W:Z@Q]BT*\ǞLT *J}nV?IH p}H_r߄h/OnAͽz㝟婐Ѐ[L;]ܩ< anNX2|sYSkBLr S-)@0MxlEDTH.I˂^TfYXa+D1H<~XƷWIR8`E%`%~?JNϫJCEc?&';,Z7a;_V-ԯyv{ȼ8#B\(僿tP{}hڵzV,_#K_Jl!n?$KJ"UZE>QLq5zjoVc}e5s&<@%RX]d6> ;-LhԑnR"ռr =ʓ࣫RaPAτ<TEE";3.yͷ)oKQc˘m9IaڑK9HbJ5A"lŘl/-=o 1FhxښM=a^x&Gl׆Xn؎mTo`_J !n@Be͍,C/^OeN6'qx*EeYn_RϺU3MܹRiVPxD|(0s>釀/qa3sCeLZfDKAf&[=Em5Wp|@1-HƭZR;&,/My8G;S{i!ڱHɥm3'5n֙Q8[geGJܕ*KU=ˍe!k$SM$ oPfVn?[$Z4'bmF]1 R\jJb87W/L>-GR~\ö2"sCY]SQ\UJ__$)1 : -~ZM9W -|b>qB'4e-,z~.Xrk5; eӞ,m Wa?H#!V_ 3pnǼSf6'4F1Gq 4ο"mّ.W{O !F& (]&(vaG<\R_ig_o 34FT,H-} |#?$tiu@@zZkAY7<]Ȉc 늨:/ga Bz窆ZY_"" ;ʥ-L`&PI̋wtAl(+HaqB"L u!DmR:jle𧙩\d ]UC.ZH ޟ}P5UBHk5nD$}0B؆q5)Wu*4W-a1T#ك&UGB. 6 Q=_ e'mL2gwo4&}tM Q! 2t|7sQ[G)i6UF,ߣ0[P&8@YJra'ܛ3ou\50A (O&< \P*)؞'0{ӈЃ眻I~fV +h*: uyhčF"x{IU+H;)g\\<OC;ʗ'p5BlԁP]=*F6_c q({o+י dlƾ)lqAaB`,I2Uk;s!<(Rm.7"MO2*33UY%jPYS|UlsTk!LC{0=slCM*RAWK9=޺W/8\qܣuNo6>|8tf!*=URATW>z6w"u[ L}WaYRPAQXdVˇNG#$]Ĉu[byVhwy7|& 4n#6AERۛ ($\,2[:. .Hʋ:Qc6Ӯ,WzH~ RN:!B"H~v&16=Dg\1Z=Ȩ&wV-k_0A-9P+%/ fP^5=(`~N` ϼaHύ0ǂ[TJ-}V{<ؾ,~ a31 *Oc>\6Q=x eMu3)'Ak0n!'ݕ̴:^  fO|}SOÅ?L S;,P62 М~](I8evMU֡,p۪m'nJuXꖌQdK^5~n`0d U5bH!AMnjI~ֆʴ=S9v4.ZQucxwJnнb%MCk)Ϳ2kiϿv^O4f,d}ͽ{ͅ4LQDZ]tI0JX%HF_#>z)#[ih%1U,@y\QFm꒫)gW. }ַ<)I*c6jɑ 'jx؅d ^cƅ"{0uDW$;WT]RTeĎKxL婿}3m5L >T8esrV3TD#s"yTZZ,$˖ky+ H*DxkG#P%XrMѿ?HRJ,h(KӰ umfg! L,W MȐa?gV(]E}, Rd.T[]B o>e_*Y5= +Ie@KB`hztBx\^2|UeeƂ^XX* >c\:1\K&uYC.Y:_۔!t5p{XH{s u %:.7l8 oVu1%7$g̳p\ ^Wr=Ȭ bpJ."i/V~ITVn t]:`hز ܇GvuTt݆ۗ2aY)AX.|9SGb^AI,Q":`t+ZCN0)IjNfiĢ'd폥[ԎWVH])jp.OYܳC@:5<W%0 ?ޜ} l(B{N!x0ج"m)?w%Ec~Fh̩UGW+6LaoIy 0y;%Uz;tu5<sJ1L'sIQs+{NNf! _ #;c L**5%mǐ',0y؅p/W &/%†~z;!;fwDqXкΥHNP~4sJ? ^EnKU+ZH  $S:w K bw-D!(ݽM!8QD;ӌQ_ p*x좻x՞vn !A4Fň<,̡RYA+áo,;( ć~'Ϊ8Oԟ0W%r*OHb) q p wJ"=C "mC/, +P\4'•z7v$H61X%Z(3}L#xڥ6Xbl&tў^1oGZ/d{>Jt''>5 'Bݒ&@S}-y8:ҁlZ*F]5څ˷acF* 9gI/]:y>iSAmf$2-խƩh֞5.F'T=/!D\)"^+E2C!uzL%pwz5K}-n~49~xW<?c) ړIx/4Ǖ%igYHQplxơ`/Oiˌďq' |H`7%$z3giR Rߢ LKռuH3?+پnơWEá2}m-US^{?%2xLd6tHHs z+MX 2pRmfFbmK{ :8hPx"Ӻ'? RWt=h5)`f?{qg|WL=D%F%d"QgLة \o 7Vc;QԣaCt8J#QV:x1&l< P=I*k x_\ڵnfXS;xlLdgHc#)<3Y-ox-7";۾Wgu=ˆ][f-!=Jc셢g1/"LS_P\sEט|bVEP`QV/R F[WLkQm_ [.-W+ AZ"bK\I BR$, քׄRݽsK2FN1 6[b@+ƙݷ/1Pm#`&CL_cقeM݁N`yhY27j}esx;nSM'դ ZSszE:;ݮM q+)E]R6׎@cҽgG䓠n0v(5 E1YMX!/CeVц .hj!bq=+bgުC褮 OʞKHꧢvBɽf G}Ӱ3n)HJɮ3H q8'GQ- neu&TJ^ѓ"y)&Xi"@1[ԑ.?jTй,؊|KA9Psɴ}p#k5f{$"ZYLz@[^EÂ:VJ ůU!_eJèYo;8}'|Db 1&|',2nI5~qJV+R4@uv2aKcR/t+CIiKLY}Gл"IlRE zVq4lBb6㘀6UA"[) h0=@'yY{U|=Qj4A̋ƾՅcL0ME1&Qڨ}w!fqy`c?c-,<rne .kL[>0]/`2Yo:~t16,3<*l> =b-@l";jR>5( nuIv6awn>2鵒띩ClݹpFo%m눋eXFXsg>:Fj2G  y^w[hjǞËoIfcerw\Is'-/҇TZixGlƟ5fJZsZK+:~feb\}tD~=xb0`v򦹸}ko|~͛ʉ]`=-"K) Y Dtq1E۫@vg֗' TAY-.SCaWޫ\E80oïn\+R.v K^IVQ-Wv|zkn u|N3`xW>s3t,샛v:ԙJoޢz*.bV]"l H ?vxd!_"ʦ2v_t765ojYBN7#[0i2t>xc lZUT4s6UpH |w8+jZ$Zl,՛AC>;VnRX^RS?-<$;t'"_AL*mWUz*fq{xdzmҹ>N6/tcZ*LBh svXR*|7ܶ=urH' ^Cѡ񄰲A1ѭΦK<bFAՓJ^/$~"bbӯ-}:{9X|f%ʳ lW!)Ap[mϗ nD T;DC5gxjr˺BZjWm7`Zg8TԄsn dѻ)nJ;j\-^8Yz'KW42RYUa7aP%coEQ1ҧ4 tKױrpz1ˉs91hmf%`J u΋ ݦtN'ִsOf[Z_gu-1O6ZІ xܤC+;2Iөb {>7=9aU f0U\P;|ZQ`}{ =j{79X~ƊѠO.C%bws[/,S.]dBURRAmڄ!i6I%q#TkCEQ}Z yzCݪ˜>}W3q; {ys`!oX \UXU:kdkPA 8;g`MT$WM:ΉE JU_,Kb2@/UQZ@qwbym ٹM1>hL4mrCbmm['pax+>|Anѡm쯠Tl-cN]PhD32yC߼ *|񰩒kXǘ^:zE@|hNpS(.y\ޕF_@t<8Fef#)'}MJQ#uiqEs 5ŷV*)Ȝ׫\]cX|H C~m-[,B[w?(&J~7ބ}` rSp >wDE#Ft&&qR84VF>8)1D)^?Kf0Z&pkrl<G힏Myzϳbq"~1p&H/W A™ydqU$b w1noɠM4 K %Aq&J\5h_ZC+\BzEw2L?asZDc)au8zgXӞ, ζu h)[)S? Em˗ҶpӐ74hql`Q69ƫ/L!VGCl*Rpxa HBPn7(_u V?-hB {% sB/yQZ^D/gT!pL 㛜sR; )6Hp>aVl`j?(@3q\Jg^ݑR|WӳJu-{yÞΚpՈ) i'*ny{^L m+Eһ_g{G&co'ֶҿ`IK0w`l嗔JX/0Zo 3CɋzN){5n:JV8/QKV9P7r* ߠCZd=nRȢw:!ȅ.AI燐LT.PHyĶPFWHwz`9d9tb=ibAڤ1ћyŝ75`Mp#*CI!mz}j[ aCv]\{K ӷnEڂhV_ eG! rtxqUs{w쵊M0@Pҿݝ6%R$%>-@IC EA;h驱^jVu6 T">G8e2t@~Wv-_R rvâAN&'p&9Ƅ y .4b3~*uGEZX9'׈:hٮ! ˇ cc>G#Agz;+{i]JuI=iyRd',qH}brgu}&+|8fng𵉣T{7M.y'W Zb w_#HH6E3q FڻMrDd|"ܻbهoz;~wX5zC:}¸*uj9[kkX"sT \\1ߖ-To^cZZ|IMX8 ;c[6Q1)x^Ӓ=1c,fсm> 9Qƺ4|3_P|6nQ*z]/!iB^WU_K>|.b6ꪣ/]UnT`0\=\(ւ,k|KUrM 8 z !bhu}M#?.q:ʔ:t{-x&0)!o*O}/S 7-ú7*mpU [e/"6`0O[ny[t|:XbIb!⁉=`{JEmҹ$=ƌ]12~ CƐҐoSwYɸ3a<伸ErX{}ttG\ڼ޳–z]qFQ`\^3ZH㫙g Ƥ(= NrX 9KUllu +XD_^`(~tP"{.uIܡFI!f6krx;NEKYN`"vJXIGT:(w$ZNPvH6MjC4p"r;KihH--_2~n_8)xӲgA7-N̕gfJ5RW /F4g'& M' cEQQfS y~Vc~pNJܠ=';}P}kU> &.>&'mc1f{4yIQ`Z+kԝRE4vE&C>0a{=a{P{z[[T BNHq'Sf`zoUmϑ] j7)~Ҹ`A[yiК_S~Y?.DHԒ&O5z+Z-]b-n\T5JC[UiId&22gE<w*$YdV|ʬ:.lC*1 O(A;)4RESTLOxP&=[~ C-5WАpX:e; tJs\6O q¥okRLq;G}F\*&0aETP#mwҨfnj,MLe]gkg*M:r3#e ZP0,A/NɥႳVp | BMg8;3s?hXÂI.,!Nǧ_/[tcm\4Z܂=]w`碊Ҹkݵ4ͯ@=;idc8ofV=!i$ s z2JRGw-hSp89UEopлz*eT LxK09+\-7{1ØJw{lm'ucfBRi>E[9ЦuYN c9(Ҭz|A'D_0c!kʔK޵);Z<,{.7=ujݙa5GF_ "ړ 9EϑBeI.VX<Ւ *y5"d7W"wz | zYQ+j73Fie5z[q0«th {h5z(nY lpM#uw׮ڑ#cborW+k;uKƄZ.KrB-;ᖅ.vU;h D7Xj#6!h(2#?Gu:'Q[D+:CXY};#s)s4-sͰ_oY^6jV{l2UI&d4lLXK-?^5ĸ%2ZCdv .cv#Xٽz)/+v79otiNeH$.!:.!)UydqVTpQ9biTBG#fnꆰBO񬛕Mr%!Jj~ze%ٲQʖ?I¬-9z\y0^wG/Cep:ndڙZ*ȸfCg}[0 NB:Hu s*cm?BXKe2]\n Џ֋~yRP%n|bH'My'`=yǝ~OX^8_O /3e^c)V<ϽTqvaU].⏽͈4B6|W7 ]Q^ -ݨB6/nJAح'i&`\\ Mfx_cB88фȥK6_H z'<%t>HOځdBnՎh"}A}Fg~ pʹNt GMC?SErj5FY:u&?PZ큱:0.^TJ@1&DqcN?|yB~½Ȩ5/8}k%0mQY6NK΀=l;#X%GcV&s4SAVZp:DxpQr0a^fLG,l.XԑY8.7o$˴EÁ|vbO@`W(S`C!8 4 {qzn"^E:ՔE{wI@6pCkLWW:'ٔ&br4+pk:@ TJb=v6%"*B'U]#` IMy=P (yv_f7JwC[{{=vr Kf#S-6m_1r+M]Z}wih#δ|%q("am&1"&n8\3wn:.Tno7=lj?t$Y?+_..O/z?4Fw-oW(nO 4gA*E`eXҢb4& F4L*asRWSfB,JŠ@4ѧ9Ap} X. o"&!AMo^ٴ/p+T[;N^ta)5IUs$".M:>Y7d w|/KG>CաT r۹V Jy^ѵvO-HǹʊR鳦&'('yV9 bTzKҪTB b]QUg#Z{;a\i "^lDf`W=c^IU7jƂ.YW|L _ Cߥr ԥЩ8S0 ydNH&c1|w>;g[yO @G,Myz$- crKHģ7VFW =&t0$#2}ԟdؽ.k򉟻 s|ބ+P <5@3u6E]"6dИ~٪Qm_#Sb;+ufU Û&T$+6ZԦ# +z5yF+>b{2{$BՌF1vBs*pLy)f!u{+ǺFlL˴ PPc=eMr~ޛ^Ff}mZͥ*_DH4Ԍ5`R6R}`EO}3 m0:,J^@Qa/YٳATO za?e1>b /=]=x2O H~ÉTi{M.lB. b@71?窌{d603:k0v6ژz 1|Dݴ+!dkZ'X$dϱ+&X-,$Y?;<\g嘹4SW%ᬏS?Gb V-@3$ òtMשΆ|/TvC70te- ={T^'݆0BmҶdWDi]P,Ixa\)֔4]pcf "_pD)g[Z\bj#G>%z3 FaJ:à2,AIxbdjƈ6V&MPwZ N͆-1/π#1Ϧm-++- \#0D4zR'Lz~: z^bLF7#sGL??l3>v,8'|6[~Mv/5retlQ:辰Ŵ 4R%CEzK6VC}bN ͒ "*i\w7]p3;XxV%YB>ZjG]?z7z+>$-hb ;]j1ui-!/ &t[uus[@f3%hQ|tL lw4 ctq^k_Z=՛;Xнl.j1*៮Q\E8z3t׳JD3(WT^ԣt3QByZN i2U>h63ޫZ)|Vs{[s}2Zeg$b6N:3vwý$dK)ո)O͜ {%=YyL-&fF(͵nά죛])u1\g:dR"r_{81>3? Se9 rl1CZmtOb@ w.*y9w/?DTyO' 0]g^nO7OڨS<ÕoI] #ݛ"`*ǥ_SCo|$Ik6?̹Y C{F'x MGu0Ӽc@OAml5;U3-J8HgQ#}C57,߄o&mB"$ -7D6Ffx\G].uBZysR›hCsJCIw]*uPY끣E l!dD>n2RRX"0%qS<ڔC!&ٺaY|8&{#KN,b^ c0z $N]ՃYiV۷!'mX0]cKQ"ֱ99u-OͪNr\~?ݺsS}7֭he;a%Ⱥ !˅mBgŹNя׻*R&Vg}tMMzXbq;4￵j-譇7GZUȕ5e pAZ4EN9^o1dc6}䩺ِV6qPG? z '˰$`&k ܖ19ΣҹApp#a+P" Cp2k Zgfzt캌/Eٌjx;z~ g~]4a =AE{*Ȃ8ˬV O[cupW¹EKAwO^C.Jf]٣xhuyٗY:ć$82m;]5M~sƺ?8_>'6k__:6j,!<}"zxڂ k)QeP2U3JuXk o.zO'Zwr"Ԝ3բE3# wAfs yh!eXpS,5.% 'DaZ-gMR}G;UcXX0{L* r.6ս{L ^zd37l̋jx;>+O*ÄqnB"# ^I!:W]]T\vg{,/ )=GT kᾷ MŅ~N>l FCrm 9yrxE[JGiJi!5dN_Uĵ(;]cAbRRAY+h}Džn&c^ e0lM* H )7ЂCZXx] !OZCf`3~Jrͱ'v1uon{o 5.|e"ė# _YMtu;Fݏ[qy@EKb@rq8uiߍւj"H_(֛;~"%Y/eא:|&?Ps)q]&\\+1B߀^}#7BF7U xc/C$0fVӶ_kqٵW}yjU.Ӓ_#Q͎hkഉa ɃIjQPUv>Ƿ u ]*\%fvx=bK *55|*q20ϷS-;^Fkd`?BƹqEY~<,pCg jO8[!a=17χTDyVɺSɺyID2wcP$;`F~*jWw/T#NN7BR-~u䇗:06;ζ^0w:;Ngk{\=_lt@8;]~ѷD' J^B :f< wrԠ)=t3@:V9B|ǒ3Ωjҧ^Dn/[Ԅv.)Bmtel~ /4)YƥÁE?FciG!o$&X;L;a@0Ê(dp?I>0T˕1⮆0"&h?avC1vJfȬVl+r CX79X ƚ&ʥwth:D"l `^( c#0 `'-rkP: nٚoKe;M2Ϳw )T>T3Ȗ&r2M _poYsCLOWGS2(x<%iZdYq(RXX~]%N?F>ZPFghY7*4x_6.q1NYꅢ1Jl1IӇ 1A!q3{5{B n\ׄc Lj8=7|7fEE ,4g>Șށٗlo@{n<ˆ ;ϒVDcXӼ "vV 66q ÿ|(-P'rQنRF<U]=-wt%HC9ԩe`L/WOymE7XUSj]u`{.5`.H;h)K hKTmfsycBs9xB}Ʀݓv긝+q,c~ &qE )T k:E%E#h V&9\6nPŏM؛j7q|D=zMٱ@oaxF2Yl\qpNLHANo i'ZhMj(;Q} K6; JB)fNB٩~NZ i|V?QĖLnsrmXg*f38;qHH, (s&i'бHI컡R4\nMKw'CeaTKcAwEnKl'Y`1̍RE^zA=?[ӣ(d/ =zHyj\ _ {ꖇVeqK^~E`r\x4GmyXd ɉaEΚEȟꯃ7c \osأ1 7QU:w5l7I5ӣ{;׮mqrE] ~ߑjJ&C[[2V93Ub 3(DS/` w ^d6p Xm0-2=z3c6gP'+v(!jLZd(ᔘͪx:ZM!#=ә{ZXgyNޅ?z0@;{n8Pcd-NhtB~2v`bC;ӵdjβᵄE[ݻ$T(} z9`#j+N EKⳔa>Ck‰KLw0 k`+cwVWOR6*=eb!SġJ" P !F\lc۠3!ߙjooIgr# dlPQO(0j{QD GY  w̭+g^5xԝi=A7qTxƎk*DG%``aJֽva[ӒXR:D:Ш3ZL H,ҒIՙT@XvW9WH8$EF1uqw}bny;N6AGΉn9yĮs MNty#Wb]S:"Ae2ltZV `O 6r/p }zYuM}C$i{9ʩ+:g5`v{q\m⼾K/!ԭNʉHmVϤ(icb4a a9 .71eNqڃ{Rn}i'e^[SC/U&Hr KNF_"x[1-gmd}'yynhωfeբmԄLJ+fÒXLzzOV ll͟rAj~j4 kr^{&gC<3" ς? Y̝&8A'{*J eO|s܎UL}iaȯqu 598Q뵓}/e WGEꬌZWAiچV0hJxc= 3(;#[Vm: Q[ڂ0 ej؏FK<-|~i=VVV=Oiڀʺ}ΛaFAc6:XF4{Sţv3b_ " ~I-n7N.F}?%C`L$_z ;fLjͿ[dTDi#ʥ95q=܆4/u+d)$aL86 %rL%NOe'謞/HX4c#Y -wvtȤVbWZ3.a(яHHǫs8ٟĘtPY;N17"ezVwwF8e5)0H-?L)}_/?)Ҷ۾BHlgxcٹ5W< z%_0^$ PdDZU>EY3O} <WE~*V>^f8*k_w»Htl~/-e-8и)TߥCvLϡFW 4-Ϯt H\-%1ڝbyHH)zEdiY|KgWOb$Biocajx!_2%^]~vrH ^QbBO% nud 6<Ĵ,mjMFE4Gd'gxletorF)]CZAI滐b(Ifuf[r(6jB|'}x2HZ2! dDps^}Mz52$x4ۍ}2hDԗngA1D2׆Վ!m>%/W7P}ҁd6;/^_{S]px8aq {= 뚏aVH_b?$0^S}R9څ{mʽ<^/F_cuẇPRY[ w~3}Nd0߲rp wR9@R{ae^@6+ ހ*}b. S|O-Af`>P~H*@U~Qt]D1gHOsP"2^VR{ʞ<یނ}y?Z, Ʊ`q-ӘkJ5֍<))hG|Of[Fs̨k^X-x\БYGA1>֫)?HӉ@Jjȍd ̹I)!s s$5m6PGt97r^sdTG=}Q~%,m#ޝvm*X/U3O*o9l.})ܽ!$?  &MuBd_6(L:u hlJˠ/9`^(=N|1]>~:a }&Iꐘ}Tx ć]MjZ=Kaw^P st z4DDe~US#JN: pk㧒^Eξ+-F`'#T^DHe=6{W3s,$jJLP@ :8t<*ҏe:<0 ms& /` pΨGhYL5J]fa=Z@(Qk3t.og)ϘׄkML8ua5*z`XO_SE:?b5V {kޕq:F 4\mţ A/ x) ,n ~gCb8\ބ-#28f,zN]iZfS,,f"tE-^njA?/ 3N\͝ XOހdu#߉+3Y&e.U.,H/U+^eZOx}[ $x6R w[wŷՁӂMzx?BAe4{ "a40]1 uvc/& WEoHD jH.(Kn׵zSBIw‚% זZNС|7&BhM Ǐ1A(8(FW\e22:3dt?QL O<<VPEsoӜ\ي 8imkYf5#^LjW ڿQRFâ*k!8t?h v0u5Tň^U8t&U(ꥠiqfPAD${XVK{5{\x۷e5Z8nqXHcB4QOkG؃MAO$v@B̼Ou]#W|C*{ R?FiC ~˝{Z .`o= HkKk#j戁<*w'&S?\#517Wt}O”a\to|IG+^zzY &ͼ.w.4s-`O ~n3!֟2,9MM1Vvo .MS+< >1Qh(# M>cf% 2UќhU;XI/J.*9{E1EBޮVc>$~= z\Lm:V2zJ+oogULD5܆&̨y~4j7#pO=f@47f|a!ir 2֤#{B&h 2{J\ÃOJ{(Dힻ2^8L,Z[rP ";cM .ǡg 7"o5h_^tn> g"L~zAzk擁Fgjб>=[¦ 'Nd*7fqw!0'N@:)$@uTe⭋8 g>۹D:CIAEz1A5jB{l!@{4+ nr~kZLS|]Ja;x{{ZĸA ХwޭG\3Ga'?OZd[:5sXUݢ1&QEUBd. b0R5CzP4XWԦqף%&` + lvQm 8x%@] *jڢFmB1m@ ݈Vad1b󽢢627q65f.XE? U":%ᮀէNuʤdM*1H&<4 m*.S0~vBu\A/ 2=1G5 mz7.mmuɵvpSWS 1X/ï ^7^Ou_gb3S̹85209&(ZH{c+/˦N%*Νn2^'n /aZI`Kh8n*mIIuĒ0fj@UŠQX#LS|zy2;pp0" ZTQpE'd! #a38#OocFw ;L *4q}}KR!p&4]JP T ЛФ*-7+G;Bۮ:By_+Dr{9RdNn>A+MtTS "E>Tg% hu`Km糔WcB~qZ]&֝gaȍ4[rWRJUg甌I,-H䢘= bgZ+ZWUte~U~D1W޳)YEup|%5ko?]dKhKhHOAkj5S~Zrƒc\6O EsR&Wb)v>C'{>Mg/7~)lEe(3JUMhI)ʮ #!_ϹP#Ms"¬kJQ9+*h=`":w H_%.3d2N渴:p ><7QF(S˜zÄe&B*᯸#>դS"]>_ɂC n 2q'NB=96ڜ3ؑ*l t`Nhpi fZ s,NzjIu̞% -|D0pp c_Y,6柍vբ W8qabe=FkuIbTW@ }}9&.-8e(ǽIUZZïK'Fu,gKq(֟m&[ٶǙ|s >g^\O 2R@~Knދ2ieBsP&3u˂"(lZ&\_JVK{A6 QjR{FJKǯni@A%X ^TC9ed|T/"~.2L|oU:<~߆QvLd=!7JnK)][x|'}n{V_O2蕃.fY3`]a+=s/hNNտW;ۍc|'ڶTif0 @0[tmO̷x zq6?z vB$_ X] _o§3F=f6v0x!,aɨqHnw E[͔K 65xDT%ٝ{,Ȝ0Hu׍/Wjkt!1o+^?dBbƪƛvs2L+ͷ gܖf6`ݚcH)R6U(vH#pB?glʫY Um1hlb֕EtwQZ)fxI L;P(RGOKqz7V!.'6[q0ߖ.QAVᔠJ'>'9%Iϻꬭ%um*re[ 1 g&F9*jӶ@~N520c!M?s=Yz ÿD)(x/VCK&jC |@;V[/a`s/9F8[I\;|xX [8B/Pߞ\}9hq=.*q!L:fB1|CEwG$x64\Z>e6ĵ'ZN<7cϡ!F>%H|̦~_覜oAhQW]ЌC]ܵ9.vѩ/2LYɘk k|T㢗YF|#cVRccx .ǵqbFs]ͺ[@^%͚Jm>))Vɟ IA:#$/(`x%NfdKʉ?M9[&99" >oPO9Z,uQ6EdI*yjfB=0@Rުy?sXMC E82,;q= -9:fBkmPJ]PA37Jh3&j蝀XcƱnH5/YWAᝋ_}1B2l(HApLp.% e*0O *R0W ) f!B㡷&حߥF׸f*Rb :B{ \>\Ia=e6g_ä[T.z, ` ]\L+RنcIpDSbt riRe DE>RB{z󐀪LoóA`4ENKm¯Ł_ >U]UL`o/ߨuˑlu=qb{EiZ{'sln3|g\c/ Qy䡉wgї\ZP.o=hRIJ^#Qy }(Vu8RAQ43WSݗrIqJmhϵ,_TsZC0q (|P_^/<+E-.|IK_ƈ莋CW,\%eO`3a H[F$W)ӥ7=WAeDCWB 3zyo ^qNTC0nNj6b=m?mD\v[>a"~W롣ڳ.XPKr\]Gs¸'})/ųŒʇ+P B<5v˜$GKJ(ö}UNAc_0$ҊXS^yߵ6M@Fr56.u΋f#YcV/[Jߜ${٢Vxh'7DnbSr^ﺊN,xd| ቨM:Yo(#'v+U4''JAuLs6@*t9nV!St6PY c]`=/!q8O+1>*P%c4EQF:s]Bzl8Ԣ9UƏkZAOew_-@n7%{<,g"G%bg)<^aݲc9 @ 4װ35֊J>U{]\M hwЕ!*rytHdtqz@$ Te9u¨lms}A쁱Qlfg*3hVrOk/:#vf,5%JƆ~\H}*{4U5iZivPLLG݆bp tK8c$@5/XC'\I+ gDu))4asSQr"#޺]nCAdO!q/Y76({8!uW,'2PC{|XAP?8;RcL:Ń{ߔу1F4bS*}CD$_Z=uff珯k,#JӜ2tqc%%ԱrcXd|#E0SF7ࢷ!pD 2[d" DU}s+"{VE#$Tq-{GfRQ]i V Ry,zĎ9~$e$cm`BU6"`h5'-!Z+oV2= gNSQx>tFɒ2:xaws kS>k1I*;}yYPԽ~uJ.R}QX Ny(PXr,OM#ǹ 1Oa!/&~)qWDI4Z?40<2kL#*\p(fCI;#vƋūw_q[UR?!糀d\|&:W8fv"_K,p(J F / #Hӥ8#Ȍ6Cɉ`jx6kJ:6(W!OR$b;`9x%y@?~ 0k*pNp* <ʅ&ۅb CrXq*I!dlHEᆜ(y7LsH5b6@HGk A_A5,uZKv.e/|f+?)]G!@BK~=E/l*4vTfoo+Pbvswq(?|ԚLZ-ߠ)D/>[{!}塛 { ^?DTi(`dٸDqltRGƕ 'ApvG}v%fJPVp#H?onw?/ر-Ǜ1>XKĭ(K{ B\yۖ wה<4H?|wNx <$NVƒt`zqВ.!,,v|5.VMKmb7Ϸ7,>zne1igm{ +"d|^"LD׼Jk" 矃'?Wc# fk65P)a¹`6j ӼhcՀVQ)3",@=Ox S@]:hK,.HDRǘ.ى\j6|CI.jMOn l.}[2Pk&BBde<\5.vwswPݏbuQ2.'m.Y$v7 ֫!(P#vc)j@+{S'`؟lŅVUL>ic`Xu~`8m7|wOd,њ!]ш'~'97wZJ fÆ6h$J>(춼 FT%("vԑ JfnH亴L=z!zNI|j 2 $YngH WFZN;ngI3"s(-_BQШ#\qMb3J`_3VT$ k ztm/ZLx?]GJxedA=7rIݬG"zRQARN[n%9^:Y YC#*\Xm z s<ĕRV6Jj'գjz\cSx`""R*:k4&m[Ѓҩ=S8 d+~{u6 |xJeE`ăBfqL?*?G}x˘9&e#pߕvx>.ۑd@$zVq\ܿHw-cؠ`lrW܊[/S&un#m*ͷ }? 8f2(9v#[d|PItQiծj$`hyc@ ϓJ4(}L 6 '[ [/ [%DŽbؘlx5bO U6qߛ5"߷]w`S7 ӎu1VjUpB1b&Ě2ޫx`~rnh$[P JɃ`A6 `إO}0dsj{qP;_$ڧv#Qf.ʻqKiKRLcM]Ž c&j‘b"dr({TE&lkh$7޺x 4?h>?=K+27U PCAX2\!#_+>!O`EMG *T68";@2FG}GhMzO=i4uxa2e8Ϟ*SjW]){Y2o wj?+$@K+R Hu*,ĶC"m:i%U@`;ap(t6#bcA-Hv1qk|m\cvl5+GڸŦNqՋ"Q.$>atc:i (טr`655 FӁUaD*4M)d$uzTյʪioq8 CL'bE͐TY£`@ úPyxd:! BQ:VK~ECPPP:k:>G!s x@ NZ62i[ڊr@3%H~p[q~xWj0A R1N2 N1i 't*APSc:̶EJA [fxP}rW|(_5u0zC q܍]KWLhJF*jlLZ 8Ʌ!aolP F/5 |M@D94><(,V[$S(^ds`G[79jWͺ#5 p, %|v/(Ƞ_U|fV+-@yE&)v2̈6Ɉ=wBC0-W(\MaRຄqi咩'ŀdȹj^+>2ySd'3tмn,>⻎`_@"Z"0b=`&s-y-YQ%oe,O9QiwG3Jhb ֵ:rE4e h %=dsfRUJJ;LP+q zwV?~?G[QZWw$*)%pd8h:Hmė_Q~_==W{Dhe^Q43=[;FaRy4Ǔ\2tQ {b]Kc^%klɹaD5cP? *,lj24(V53DTb63ev7>4 ptbD SW={lhK`ᓣ!UX R`QHO!\5K$՟mmvK Bb@с3E0_/#\58oΓR)sP^de4epq@}|g@v;Lu(yljfxm@ml1M8V[ ФThԌ^Q%!af?k0V'ӧ9zÚNɄѻ%$N-!tF)VF2ڝ,DOe7.?ۼVtEs~-jWk)ޥӡ/sNnT-F7.=Q[&V=7rD0%8IU,F" TƄu/]|-qy8&gj *ХRaV3ş#ZT#(H R)z'žͿ=w32W jZ(cp Б`CNxJ^ _&/ptlO]Jv9V(2]l%Xvkz&0]1h+ؐPW!]&/Qr?+1=)6L.2~lBFXAI2$+){)|0;/i9WOuu4o*Ӯ&F gH5h̊s;Ԧg^fKc5S0{XP:܋\|?\3Z+C~imCoGTԷ 8Ӹ Mi3{#dkB@{L 05`uJ-%d#-}4w]3Η/_Z" P=i=S (&3C^?8a$0O>#Fh!ÚF]Ɂ݅v"nĮ@x^ 3-Z7YKZ0mu5'~>2?.}E%,43^0}ܵ%^@2 ym6O>K :|GCXΛ?F1P`j7hJ|`s[0 DAC2!r$JFRRm7&eXQ KY(tcL}Kaq1Nr:Ҏj#)]eˢ#&x@ /Au*ŻXkp-9?het!%sRA~ԳET3bAf-ij*-HxϑL}MDJ_mo#)]J Z ;4⺟["lJS2F$vo;IyqvR~!bVt|vO_aZ5s]P6?vOQ1N46u ۮS]VN[$gx˘I~Wm=r]Ul&@մlexM3s!Xsmo,ˁD?Y|9殠2ND2'RiiCLNJ"bn7(t/㳀w"4xChpDWfDSJzmln[{~k'pQqj1請!0Ĺf3Ƭi7TNZc򯂗#d@ژ5?R/cZȍmD׃UaZJza{z+R%X[r:DŽt\A] `ߔ&Gꐳ0=yg'ց ",_ IL 2c @s *DyemH#P2}Dq-DL?z*5h}mZ#Xk3h y| l0' 8=&ƳP񡜄(##VžNTFHDGV@K/7@kGE CGdfZY!&1eqp!kFe Uc;h.91ϻY ^:~pVsjv4v-ȍ٘|VN;v`P{jT/[<V? i& pRM kLlb y AWS.'p/mx\,$KRf$@ !_w]x[͹ݹ+(H0e>]P*3iFStsm˙R'<ʈB.#|ށ$h4[hclQR+>&M# ћkm7͒{ۄ>Aa?EP<_ȉ0Y|u%aIVvC1 )"PF)ɊYz*`5+oN;cwĶ#3Qkl30q$>ۇBő)0BX #(d6d$LQX8ZgG-GB fw\dAZjo|⒛25n/aXUx;S{y[+Uj:IS 9吏Gņf`[b#v#Bv`B%ɂ|wr<֪VߚC\Owy/a˪>a&cKzYͅbMvck2Y ;d#&>o-+ l R&O|~4B0kVMx,-_V5z zݥ[QQrB9t ?"CO>ם4bG"5cl e6:]lTGn!A:E=9x1!kaKFx4\Ob8Ug YX0KYPq6kD=yPbI5!s bGkz':2 8s#74nf3(苒z֛`:ms. ^,+VuhW\.R6-%AS`}K-Ǫ!wxrAǛf;b:0Pv5 Kٲ)Vn ig4M?)gmHOx !Y$ߪyc[аQ~@ Ij[A< H']LMub;)猘,: 22(y; `^4ّWT.Or]eAɀ?8եF nK$+֝R (eCۢ-%gaUDu%%TMy;CG cSȚX4=N0}~Tq++Q{-8.Is7+!=BE h p{$`"Q]ԗ R&_d/sp~o&O=:HE<;&NaetOPoM13̀Q]Qwn*FS׹K 1l{]gQ{X\4vK@zo óאBd_1pstniDp6i^i…HO;aN%n $nzU:GK#'v]p+m&B2ӥ^eaM> ǀfʰlD-1jׂH77mOŔ 9ؾ8C'nFsB&ʿkpq8"%1.]vRm^V\^}e,C˖zZ ϧyYߤn61T6 8䉐ʄ5{` Lq>0JQhB 6.&赇O}Yn eQgטIG]=̲vbiE*0d5b#4 eXp 1#"ұRFvV~;Q6L,|R)=h?<=uYJ70/΀JDߋY*Ӳf r^'rdhD[|V;14;'t9.[p m hXf+-dIghITmY @k8^IQ|U @x9E$2s7-qy;ɀ{?;fPW-s;#g4j:qd='֫*=dY sZgX0f:qKlC x\!(^IN2Rf@X߱*iТ;]Xkjply*Ir9Ǝr>u. ?zAs 8҈9""#PVDHi2؈ǿ]yZ"6&w+}S?H<Mɟ:[/:)IN?_1ln_ Dzȗ''d@LEp*l:c^)wYCHbGY<c]Kw|y2$TxԮGH *X>9 ᫭΋֨ʏ#,sߚc_^W٫-;Uj`L!5K~*8%13Ք8EJ#@4P"ĊQSJyK\Ȕ^_!Ymb7b1|Qۼ j h~;K̽'aZ+![D H8% th[Ȏ1XDiD|zz/a:f)؅>Psz{gB;WŒtd A :XϽ\i@Fܰk@SY9Ĭɺej•_'19hQ*\['Whg dN(`^XRo %}Tд{4>"&90lcJ:ȇhYTxB5*:"v֊.qn1qy(c1)C=d1Q*x ER0,VPYj:ؐ{g%QqE4Z%"b-'6J ϝ_}A:|I%>5rW/mt!{!X9hf<lt,L8o%.PEEx"@d"nLI4\O1L I Njṷ5P= 7`vT<)At 2,YħfFؑ"RA"enU}"vH sĩᢋlau6'9Sf$ &H2*1Ԋ a'V&c]޹sq!sTbkLKQ(CO(kRMaخ8Eߥ?x @Ua*(N07|V>тK6QC޺er&b Txwfd6qPpiL*Bpz@ש :o27" Trvʷ3դcydӭ%١ZM8>epwN@mya\=N'~ʶ8XִxZ\ l{ &?T))bNd5:6MHD2..mB>]g `Kҷ~Of{iUuaoOeN|FLW1O94a9  D+nuU$|(ա?**%9È&ٽL"^_+66;|୻Iq0*8}zL0GL[pblPSdkF?>t[ Q5"&཮%ްHVH$tbq~gRz~k@^5C JUCi]؄v/ϛ޷>F; ` X@bn 3s/$^L?g\PmrTA(No\H)r^uaIyvEN5h_S3EYXbfI- #U-^45YUIٳVgqF 3M r|ve&ڸ'S yڰd`Nڐ9\iWx(h 3 \TY5p:&纋\<ߋߛXCV5 P2S݆OO#{G: g[h];,%U3,u".ƣ @H79L gZ,s_h-SU;v慑.Id(p&jgBsFfkU}]LTVe:85=}X)ثA/E rSR !LXU|0.mڧ 7g-tel4h.J̲-,d$Y/D0 7M 8)gvdXOme; HLT-.'Phdr7.g{פM=GEo#kz$!YC#K- \p>, jl#="ҟVs7  ^ ^[˝)d6O}wZ uEAj1O1ܞ 8P:xr5ʏ|L kH˔k~ikjʘ~Q`s  m2nx:yݤgRqj *T,5. @AM؃rdVP$Zۆ8s _*O}@ ?#}zZ>DсRd>cY@+8#Vڒyֲշf(IjPHאv; qMdyt` ӧ!8JdS\QsNO4ffۣ ,9h8%^gv Ai%Qtoc6N0ŒW1̤$XCSWӯOeV8ȴHLLշ~h}y=N-fT87MuYH+L,JԪ!_Kr3#T:< ?U5/]z誂*\n?qeZ,=P`)ݸ|ɚTCW{cݚ@ٓ+$!T7MwGn!S(f8#"Rnjw lH8HŽEJFIaer.+,@ UlJ^rk&iJDMWnc*=2b;Yd'Z gõCv'6QpnmZPLHTneGBzaO_Ɯ$a~N N +7&M`$0'#R3OZ_1흾h,]k^"&AQot\}n[kd3nF<UזoEѤ]v"q]^y,4AYq\ؿlPsS'G9N-Sm*_2r\ΎZN'JKxMg Ic{i={d*0'ϡmf;2?f5Dzyv+6{6UA8CЩmvza!AH~Ŭ7Uä34Ctlג'BkV:J %sT{$~U;IbO O<}?Aə6 lln}y{{ ,q%真qfo_4-,q~UDroWXouIU1c? BLӕKƂ O{z)\x K: zJ*jd?VbmY7OpcZk87Hyy՞~p\G8I(26sC i.I[3%-0N@th,FL6*C^_F/jyD(  Zw=7[ԊUl9U} vGOsnWU׶%O#6љ}do{v*2B4˹0_5\#2 ctm;!39֦QQTډDP;\ujOa9ј Vخ*tгhA_Q]ֵCK,P֍I匛z0g x䣞$iʎ4G|gk͔DzzcǷ5w|QI,VLW>1sJ @ 5 mCԨc:|GKq{y:<Ҹ:0Y >`5cKy@V {S1hVgUd՛(: y˭w'*l%ޱ A\SGn2e2?ֽkewWJ$N.WV$tpa$7Jul~MNhG3!޳E$w+1}TϷJ3('cs]7Pzer1{wTz[%L`E <`)dj4_oMeJ`Oab=qE~pw:YX܊Zg~XzCGw( Krn-wMƊf^NXd AL26DÔt:Ze~*6%:aM[VC9?ʷϊ@u07qA;4^zC$w |-pN4$gr_ .qnoyv5&4%'ƘT]7{$9~?P#s[meEe%4 7Uy@`QM"H4_@țv /`H>\3$K68%bG ӱ2LAhuz p,y}ωyey9W%bJx^vZt8.wVD/b<^.yx,a_1MeT)I,: /c A'=v,Iӻvpߴ\n&?2yFg|> sN}VPa'&úˊ00A&ڦe(,̋ ;nEw+Xlz۔48|?n"ځ)'5e.mtyOO0?!j"k@ڗ-Ob!ܫ^n.#-҃xk"^?Pȹa(luw%E5wJ ] bjhF\ #i#z|oG^ZE_t:E@/@C|k\M;nJ.{[@x+ѕ #y|6.gz0ˊ1HvFxH(xUi-N$1<#`UZA%xp"}t ]5>iPn.`O5ғu}{c?xxQ4[S m?c>߃˷-)J6k,(81G]ϔBք-lZgS1 ‹;̈'Xzn7D۱!:Du޴eYދ"KK@bWZ*1@?$5 "׉N X B|'bw6m oH8I+ˑ 1NS5 `/;"Ay uۯYnE=*;p*1^gBReUy'=.W/v4_l]/eʉ%p\=̓9gD,|,˅iatKlywTW'y_ 9!(,2ǬZ>lt35*wngeA_t%d #9>& >uΐSuȠq \CF/mSx>;,igX`w&ţH ZWRrw42|^F{I{_TIh>EHFAb#-n4/%{A]$iV1íD#/xFl & O4©"Y q_ThUk+3P6u6 +pTW؞RZrT$' }/^guȧ-+c:C*3 ׬g*_a03 E7m7~yɭ*]2T,SijvܗfHD0Kj5zc*aU[h֥GTwG ~*7豗z:e3O;?jpyMҢc;x.X;>I׼lR J_l4d}RLޝ“S& .T΀_bEu:,Xϝ^l (xgG=l8r3yG f1z}?\m=]i^ $0wN9| ڭ[GEp}f("8K.t/aR*-ZK k #9o<1/bu{{Own ,`Hn6J^-1=-s!/ ze|jD7p;;s5ӘY0{}b.fKMr'xU77RAB˂rSbwۋ.5-e D7L!q`%_n@SIy!ca sgi5#/cИk 'ǂA-5L^zfMĮ|\%H` 3Ф%z6eaeÔqtc#i@HCFF 4PȒmrc) =mTs'@{ς"1 c1HhiL9߅6 y񷼤l1^>굝슀',$r|IAh*X>"Y+.E֎$"xO??NJS;(<:;Vxzw9-1Dn: 3qjSӒ"@ SjYx>bE]ZkP3F|1~\v+rF 64eAs~**cP 36< "4c`!xDתѺ7XA҂BќJ 7,Flz{s gsʆŸq`fųs,-:I<׸l$ U[36 }BfkV:(% kbcm?0o8!XB1x|NlI=Qܔ!:r,VE'3W0٤>Y4Ix"Y'z6]XbEYahEInV=2~>{$z %1Ћ x1ULݻ #91Éʢvn+YZPh'^0ޟqͳjv )+8r$P@&S.Zgߌ'iC6 ѹ uǓۤ :R9Gs'ÈVEwp0 rZXsz .j᪛Ñ.j{NR|4by` $N4Z_N,}{E>J1 N/4{dӱ 'g~d-.j7CE5 ]Dv**>`u7lsUWGlmmѼV3 3_gkPXM~攆!'PVIj#M2mZReH6AhxѱX+Oxk89&zqtUr~D ĬqɂsKڭn XU5'a"\:7 i|a]*'FNt潛>wa*;+|Q>9)wW]zHg<*D0*Cʜ)اE7Wv(eﰀy`Tm~T~%\0BWt.r?HIZvM /lhS_%8ܔ:Yp JJ_v= ΂7c0ٶځ1n' dv/&)t~6\\2) B7Ec ~s4$*ؾk>F՝?} ^<#o! po\Eѻ!Wä́p璿5ܿ~-R9"s/g7,|kVNιo뭴y36TWfbΘz y9hT]©qY1Q'tr ;@Ec]geb>‡ɨxLSS޳Ri+N1PSFe E+ВScFFOJY,r&CpzYwiG=wU]s\X\ƳUa.{T‰?W\Jr!yzHVvm  3(Rq Ø,uߏ >7Fz'S]RGi'Hلsb ldJwf'\ yӮEvQƾNhHS>(`H4 vzFWRKS 1H:O[Nv ṟM]) մ̈} Kp,Z | 72?o}bW ny"RyjqqɩT_Q$iZcj|?51J i8}teNZztoxV0/Y yrFnGcT4M;vF oT+dȱhy5ets3L2VZik\HF#IOZݷ!F.sNmD63"֏n) D+|Kbs(?y@qFmښF?r`3Y ցo{[ٝO=Zm]RYo K8/-EW??iVO 2Fԯ @:35rFukSka>MȪ+ m:sO7pfeǼtL!Sago꼲J! (?UF5~UN%ov?Cqh?kBE`h@e`*z p ׭>I *$tGpd(!_tBS xwʸWi|>ÌƣDz!\xA KUm-9|n:r UBL;4 2# )׎m;K"&bCtH3$T5k^ "N'5l.Pw&b'V_har&%ThRr [\gpܩ{,MiLO"3.t̢,1fպ$SeX K΄A26̕԰ԉŇ,xN-𙵹Mh _*J0Sy35fnXǕDCcI:NvjtP+;PNqٿH2⎲}]c iNwFjtUCH1q-|*ՅI{30${Td}ltPXV\caz'^yAf [ _Iq ?=AAE[Ui "6}ļ^'\d<3?sVk]!3ai7c67zS03Fu'Uӷ 0xpj_KR%QZoc ]7n(W3;0@sMrwfkqF;ȭ^W2BT+SR5Z*f!<{UJxvf~})elC)SG6@lZx%K[,mb(c\~+~-FV^{pM3iZ+A`o nvc-v<5$-v`rfa싡dD1~J}Be ѡ:݀v"`s]  dxyKick7# M(YЂ~5 2_D>kʲ).lm`3k2$Ռ+)U-fH!mYT R0 QeOKv(od*y)o47޲?4ئ˾<aTޔiyf:\aqV͎n9^0~|m[3U5Y=aLq*}U6pSM(TܿZ/ Ylp44@f,(.ڑ4Bo&+ʼn >~'Foz~`ei K Gi "?O~IymԎ[44l\eםD Ox`Fo;T꧜4W5Lu O{c畨FK|YxJFs-B;9m:V]rrR0L8od]MӞ iWY!~8r׭ĽE!qŝ) Y+NdAv\|::7nY {(UD%ga/hV yPȎ'V#"yH.RXDY_ֻ4c{?-62fkIE/&[ 6V̵5 ; /e {tQVm1M;Ġݚ_pg`l14y0= x5;,?\áAe?Rnv6xUpm7@=`poʒ.:'>.\AIM(~s䌜֦śɣ`<@`S#|+W ^q~Gg2)fbzP ]$-wp%Hc,bՐ uVh/~{uOk;J8t J6Z Dˤw,y}߶.𔛠&MiXqЋ}u[.Q,94>^ZjHutMgg*(T> ܪH2'Sos2+^h9X R\}82ADE/הgbvRBJ7*idhg~$s#Fղ𪏜6dc`D|8߹3q*1#W KUu+NzA[♙`:P*ht|tO.m˭ <`7t Gps]./I9I7zx6WŒpYaOYɉG'btcC |x0KP7d6FY|ZҐ}t6᏷z*]̇-H3f cXڪ-ELd'4j h"&.K.C&aE#!\q(#MsX*Z`nH<;v ~2~Xtχt ,Z 0zJ vU3heɗŷFA%wo%(Y$V\+#/T6jv(nV2jMڌ YHds >Nuk:+ǟ:I}?j,#91<|k "I李d{][ɲc}Cu"{T&&\Zm>W]#জƴ Q(auǒ"0@;X` 6tW csxլϞDi`Rg)hi}J^jp e='jxb_;n 4[mVgϊ䗱gF ~g*I]L+NvphYIHgF];9Y꤀e{64v&h=IOS^9=_66I fi-8n&QD.Mh3<Uv^k/7Bn 0xcXrnE.4kcs%7tk8ޟDn9,5ğ*pv8ή\Ę n'<:x!$oک>u~bjTB9 f1) )Gg+mx-Ү<Mkz,6d-Mm? 8ԝ 2\Ϊ꾆`CTX8qZ3L'2-fLBQ0o@ 4Q7\SVڽO.ᕙ~ BL" pk$Gg/iEڒBheYY9X(>0D2 K'VV9i~7pO^+lf4KDRq4lfq {T\RqQO=Hm$)EbZND`2+.x\I#8wK .00&Dm3w.^6ɠYP˿^C\ХbHw/IEeHC|/͂sJNKd?`+]lqi^+Jj V[l)?FY6bi̼38]ҺS|OE dXgtv- ikx"V:VInIy̶vha諳 z9$ ;*أy[Q#RӾxGyVθ4 !%6Af%''1"s1> (v4rz1d %Ao[qUo U鑴 f`|hɓU\φP;:5djt|*va+'BCV^3cz{~A,7/\PŜ)4ۋ&g^lсt Ox^ՠZ(Jß ^/LvWly EN}7SpcEkv#nfY/+b oJhrIx,UrD˖yb08Uۗ\bƫ'ױ:&NgۂᬷetDtYQjs0$qҍJuxYS YX7-<*0w5kI|:[[79Ƶ "eR]RcWͦ3ۓp!aJ;.\$ix6R_JhEF1 :/IɏH~RĊ\ (j,T DQFHsNc%V7%!48_ri'A,.`6gEMM9&;ڸ⋝ ÄUS-E<Ruَ+>`Z0q}_Ӡ;wiЯc&(AӿI#1=%6g@%Vcm\JJ#3v1KC Om.`~bH GK:$"nƒ(*'k {ZDMtB udƚ׆(#\Lic4T1)K;}}5}g_cuKNk趃|# dT[}iMH9g0O7K=bsfgh[^WmaļmK/2OqA ӜneinB0Oc$<i AIgD SGFߞPK_ϼwIV!=D5A#рWi0$ņFP')l]}I5uɿ.o׷WS5U $iN}p@+UzpV3Cf}3\ТlmibΥU{N:K.%+() '늌Xj0Icn3q0vs :Zqfv$%2i'AzvO)-fZyȎMS{r ōfefGy,cb9_~wGEmah)ݪ@zboV>iq)5tw\DVu72_^ᝳʇ]+#TǤl8:HВ{3@BU=4r>m;t1m2B`^E(UgMPW5AXOi=KENb$ `ݦ!KSXvrѮZk+ؾzw=?TŸ;ܸu1Xc80]6F?v*Wa@{0v(?pTJ|De>SmU߼3xD(ܮy )?WOwO=Rxd*}"JF)+ ]r <7?y.DRl<1*aЗ(6 Ǫ)ֽVu<9P59PPNYh<!L1@b[%;C +Q`sZ=X)dGq[ ԓ*tl 촖uTNiڽM'r*zj. M7L8w j f ( Ľ6}j:usl9Uws2;];+!$!cq5NJT`sci#NVS>91&;S:KKY KF1;s4H;?t c/'PҨ\@uKt;}^`2*mϯ^bDd-i#vv|AAW<*ȶ}`2jy7.'"{;L@B,[?uu+x 9暑h=nl8  _YO*g 꿑j.j[!}CA i84MʀZ|o WB7ntۡU ф"8P֏f;Vϛ,Rvb0@O."#A ̾g9X$s?1`w87NZL[ +Ú 9X%.ΗQlfU$k%#zb``9޼u|S)odIv6?5uD'` }1L令'XIp՝B̡nAqD2Vƨ1fM[o4Ɍ980]'bzEh@m;- 7pNp/=UgaW~쌊ܟ? Hl~HFpm$JbD A+,׺) N4HI\6H /<83"UK"v#mc^|-hIϞ s3c]4~'UA.iqyBqPA&T+C@&.КUPs O@LTb[H B;-v4Ly" NJ@{[WGLQG^yv~,6Tk.rh6ْUJ_ fF"OAH#Y]^*tuYm-Ss"QK/Y4xCrJGkS|^.%hՒC6J?t@dKu̬ >ۇ:}Rhv\ȁ_[$NJyy$l_ 9 Ҫ~~AquP0=7IIz OE[N2&qƙQFߗlڍJ׉Rb:Z2-Lʋ2_?d-}Ƚ*y@Yٟ{S%c[-z ~Dw^4\(Aɶ `hpU{N`!MK_+ x'U>?b=\Qäp$ ɻ[1 S 72޾J_9R ?6+YF$vfU~*)DFV9o?eLfd"͜p]r@o) ް&xkA\_m,6 u408]pM&2˕΃kB 1.Z.襴TgNoh1#(9oO>n}&Aav/ $q/PZ㺀yj.i!g3 ׇ 0:^ׂ, sAd3,9(2QT|'A:#7Gӯճ.]<0jڎ9ueIz!qm'TXNWm:2C r~yMA*!` t GoE~~4X)SiB]_ɉUK4]As\rUP(a}g+Rw `+; )U' ?(؂=FB6?fG+!ߺC-$w6ԑZ߾m)wVo+G/x` Sp'ۻc߭ا>Q+XQ2k9K,'Pi ں 9j`޴<֖ 4g4ZTC?wjP=M!=A 4a@(@֕~;9&76Ufۭ+ M @g̅o)jP%:~ۖyku)GB)d2!\av8NW|!/9L- @̛)3ō%rB&N뱳[s(s;7 $ҠMj= ,_̝kmhmw`UAaX;-BZ2 f[>n9\-v%H\8ҊPZ`5%Öٽ%bH~fubj9 Za!!2_'5 Kxa6yW)czi:+ۡ# 1KM6I/]AYLz@LQH+>$Qn`janJ9Ճ!2f< 4v׫j4zXdS}8!5qڷYv9iYJ^lb<^earox4N2Ek"^u`КsX>_j~:fVXbj,M&tr GqOtFA"XގM Biq̰LwԘfrk}xq< e;_2(2mPi,v{=eV/a:,h!КD6( "0) ._Kܙگ(-d ٨BXWH.SA]^(-0AJiG3ҙ!6QQBo`E8͸e59?- ,(z} uyc|6m汖,X 'F7\$#cH .@#1@^s60UbpmFk-zaEw^)*i".tgWmnIl=u3<,/'z$9::DQyTNOl5WvNY~RY&b$UWS;~ Oc2zzMো7ehY#bib(I]尓UPhrc&i{Z=u!+)^-n4>p᙮Z@u=Qe!wq8pS{8q="benFt-'۔o{dfAĞakO!}@f97Wg| N`hSf$!rш6Y` 饏S; ޝjZPPpu8Ԋ۽X4Z *e;1RJmVsce:t!.$,åq:Y2ܰko/R|l0|W`)ys_[\eFh#j}̷][:Ehۃ2(loT;LE6*"O5VG)ʉop"ǓL稫f6q$]/Z9Rt~0MGjq(b1ۚ k+]oMO9KxSBw`mP3XjOB3r%|DNXFْLg3hxMBpOl^^\w/I?-A#UG}层m@*J†t`w&B=SvD@؏wd^OC(vng-8[ow-Z.eP̬NEsyMp%f(/68&K(brrb:|\uF lIFMsH7=ObY?*f|XVEOaIx{hՑg1fhu-WӿUkZ&t",B F5nX9-<q2>BATou>8EȺFvc HnR#8&vO8_(cnK09 "ˤx.b:Dt9\1ob.t`%Rӧ8^ǴD J;d~~zM^X mAAbj@5g#CbhU+6u#r]q?G|9`G˷NZec$(3s~o! s̶r~^;FÍmBdTU ,{ԏ&>n9#Tӵ0Oiܗ  FIZh)Բgc2C(""HUEMU'O;Em4s|RXV ^Kh][ />\NfXMqdA}$!:H}5F jG{ V7&ƫ'h ,d翖QHYԕcxzXuYIL60#3lm-SŎ`TBɢf=nnloGȉt ?[JW/ 92zuҎ)p} .҈o"dZB= L*0{|`}\'F-m*)$U&#!6òZNKqd;=x,:L_s9}&1Có>(yr'.r&il(' Ϥb)a R($F/BU~3'̛̩}=_uga?dFs~)>6="ٹ.=Sh,9*f!6Ox׵6>>8ooi')9`5ڬPo3W=* TC^ȋ^T˃(GGI404+Æ]ySLyGEQLxB#ե":SC7'wX z$ #s Ԅ8K[K%QFc 7n`66yq85yM͕0ȄHm=WXuW9hYKLJDHQ;dq$_q*y5(D(W}R.RFiy p`nYS}oXp3ك2SfRI'ATc9]uyRp, dQ{2)QΑ!'n[0%y ^gc4ɰ4w5]o^ dY$! c͞Cf#Qԧ@{1nsݑB=$Yưoz; ˂ުUW%l{ʼnXmjT2V9!>Y[ :ڿ15ϑ7]fϖ.D.sDcKYoˮ|,ӫ=b(~ssGo6$XHjޤɍ'@ji\@LVoJrdgV=NX||2 1@>4QB ҩyRnNaň&d|{*TTrt`D3$A Vpгސ@q`;dCB# ,ù)܉ WoD!s1R~8ag!qj|k$dzDN5C>YRk% x>~ SQe 9uMmr[ĐP#/R 2 ꄰs5HY EIvФUX * Ӳ FXO:=DٹO>j 5t`c[pER{3#5u!xgzKGjnT]Lc-PI (f}$:I}ѷY/*67.v'#ㄼEˎ,DB: ysN&.JH.?#v,*!Ř֙.C:rpE۞)6"m:WD+oS4m; y#@n[nR Kuʧ͉Y%XܔP]BT e%I6Z_ԹvIÑ_fq9bˢX44e@zcܿH6M*JςVؘb#K~1-O*$XQo& fuO|(%".-h̖~eP-@^+Qa3)S6rB s~^~(~!m0Jz7,h",akRckcLnM޴nN/A{j^ҺF Jq?ʦp|F ss"a4Ns{!J} C:[;ͱ~km4L+(i y:i"6W\c 0ms)71y ܟ7<4mJjzaD<ٟ;1MBL͓g r;=JwyDLV.2CyS |d\bB:٩vtKghWK7IG$ w$9f&MGSstq*Mv3bzKM% CNAqDca-u=$Wf9|4\jF2bQ#7TeJꑂ":I PJ؁{d1>Y#j*v%~o+&7C-—/Czm@>rlI88OUa476ߧ) C>)E\~뇿:\'3 9w٭)NSyUfp H:kY!{]&(#xRc0z'FgF'G 2 Ȯ4DS<|[5'ʑ|*$)%rAIO_#3Ƹ __ZQ{|ީ+ `8./6Bbd6 訽Vڤ,s ^ Go)S2ujܙC9J$ m}# L;àآp\dB-I۠z ;wPv{gu^:<0A-/d?f⇊<ATL x52ZѾ&4?P1V:EˋMcj~M >-gQE63pPl!jN±/uTcRߓI> 䬗j6X "4򆚉yצ%` |QUaO$,mB~e>FLek^[6z&j:*/9Q 8>tQcO0\t'@Y|*#T';L\CZ t}"89^[R^\ǽ ꀜ(*)6⽁Ý90^@F[orLeSGPg撏 6܋+*~8E_3 U5$y3K?s7',H4N2$g}T ?|ѐD (Y}i$e)g*."]is kO/֊88^> |p{2'r~LA~M'6sO=vL z2N؆|Mi>G9rٔprN@SzьG|2MoT⬣R?c}p*kPn sT' cL>ӒTjHcޔ }Hb-g^{f΅]5 6J9e @FՍQXN(H_Tj8`O7EڼĉT, D /àpzl$SQ8H1Tӂ73\{bC1WWXuL7[ qߝ{ HcOQ$.J G|ZnB3^x[^(Cgx>D ۣ-v6؂8 !FK닱dT 3$vNn1?p)cl\ԅGZ{5 lL/3GBa +U$Ç24HG5[@{si/(*\4,%7>\*Ҿgj,1N8I< {m= :q%|HW\9">g✉! %Vu]]_~X?/GCo-m^Z-wv((]:0)C7&yf|):4i+F@B_[Т=Q_0-@-ұ/]#`uLd#eRԁyoE #^&k$bΠvd?t;zaDymshÝtdK'xC4PtȂv$NYv~߮7 Qf_nwW:8Ě5߳71[4I*>`{jH@G5?u"#s+-)\1dnkllYrId['dmlꐎ;lѨ0FVbjGUw'BP=XCh>߯+PA:dq'Hrs@O񍢭hһ j'7ZuM߾{N.M_,+e1j.qgii6 j^+!r .8_Т~4#u4nɮI}`Q.x~},5Ed{*v70hQ5QKTp'<^+a,n7>!/L_w='_L>ե(3hh}B{Au}j3Yx$lsL07NV(`h nawM f\#֖~ kĻTjd}~#KZ޹%^vMNd{)$Ю?&Kt;-8?9o%nT;kc߁=h0[R%# cl +cSx-#f zv&Һ=Z|`XP]TWK(IyTu086x(W:lKUNq\'z׫%?ܿdnjLtH$|ˢkJX(HZ JXLD:CY<~ܿ BN8FoJyfܠP 2[aIw;xp@ QMB$B΁o]+EkYC̽jC;\Ǎ9*٘ %-!4w4DŽoԻbDAXL\~2j(J M;D%֗*|&_k?1Dņs2~{& սybW]nX}2r+Cm _դV.>b\X$.0 MeˁLQUͪhX^S!XUXX#wbk | ;/AF;Э|XANvU슝f='y*X v@/8j ر/f@AFiuz}Vy!&)cO~aҲA"qoy;c!dBrk;#Jˍ9慒s1$ uçs%(#sr${Ĉ^?O\sIN3|잸:8\3ӇL3̔`ψq k'O׺2] i\k7{&2//!ϼB15q Lɨ dL<>JDҝp:xN%G%N޵RjkY)VyB$ xNbiUae\k |5V]DA)&`緜 ttr(Π=r$IeQtf.& >޽bje+ØM["وq?t!ߕ?5e'0*ݔ2S@n*S$A2B%4D5B5= T *kMkB,pGe$&WԪ'oYf<6H^8NEIV˹59@ker\9%nu30P ~`l}gnZWhPi %ŒAg(Ώsg *yHhe!M!#n I(Ъj̔(ϡuNKT{1[(nȽDJs@*`Ĵ"N3sh`̀ ̤J $ 07b1l=xȇ"j=%BaB+;CMB!@f 3Q #? BSt.\K{u}Dw$7Ȅ ~IzFnWK7'S$g3i%؇[SvVfiG #_mr2_H{G+y\wF|@.ZQW:xǛGGKw,NOҍ,+( BS@ l+b}:säx9B#rwpy\:I̕0m]OS{m( h ;26p%;ebf>4>8= R|[w8͉B33b6M*,&U}nٲL&75 LԉP6d!PR<@t0<7= d1XJ xԍiTkkE.?nqT8"鷇 ~x߾9B߃c (b}. FKDW*o#40ܹ cKCƷ ?pV`(<Lؼ0pvDqN81h V4\ܱ4-6נrDžmޗ T2ĩaNJg<36TE=H }:.&"M#b ^j!QUWY$Cn4b&꒺zIzxܰ5ɦKC>PBZi],3DԦdF4~g6qY1zfPPasYns5ܗ:! 0Y=G21=C9-!$Jp٧br?xBO7uÛ4%e-ccAQ >U3.[ ΂wp>WW?@TnХUz]Fb\Ys}},<׳D9Pi"%|{ڏ|^9z#_q0ooC`*=/iXEUA"oMzH6:f$7[OZnb^yY5P AfMRr]a*(YfU~R/avqt)oK@6;l &ͭQ39A*WtL36R%Xc9m 18̙x?S(5!azUB)ǭ!=S࿺@Eܓc/Ƥ_td{DbDL0f}ks UclLbӀ }SublGQ gڐ<CŰ _}v"*P=,Qx4[}~ž.($rμrx> >$LPm}}R}HX{-B2~9'J΢A[n֔O,[ (&mճe"5vj\0uֶ@9EK%)Q?uoQ٨RdNp%Vg*}jɉ)x5fbr(+Au? R/ly活1$UgzgdCٔ!!bwjզ %^0*:SRhyXk|}g{e،ۂ# O:H+1~ '?$sb5c]HgJ?0mI{@٢tPi|x騛 1(7ȶ $C>M+F:8 #pW$WjEohiq`*p{%^ z (8jhr4&{$^?(6g-f% 5"W+ͯwLd(HX~x$Ho潉U+B)Lzd| 2~'urmjGf9'4w=.OR/۟} 6͙wgi&wQ rZ.w9CM)G)I_(j=~80a"Nq, uEQW0|˾1v7ڿcӑ;놋zM$ نXvu>z٦:«j:ub(q36ًv?lf'29Mg0}o*R{* Nh9حUGy57eg5j j4ͽGWM1QR4c.JJ'Mp/ts8o:8G>OBmi R2e$C?vA "gm-MMudB.cKd1F0Y^q `y,~I H,qXx+̸YZ܁Bu3kH>{WlI0]$MzZ+Ut L/k$IcR-0_?m?;jŵMWoSek] ^GL#p(E=ap) ޥ$?w7bЅE"zmxx+_WEZi:ÕT,%42$,7E`g 4 '/jKsBi?:;[.XgJab|%x=P7LW9j&):seQ>dn=TCݡG u潃e N :Ǡ߈IYnظi j񄨩\сw RG˥ ]qU,$=gYk7 62 \mC)=3SI?'s7*/ l*U{Ǖգh՝\Q.oi7L[j}?*Hk/0{5webk CCT$\ b5ƫgRkJ)jۊVV(4Mv4< Ƨ/QfC ɝ`E!qg87@6dлHV<0Ps'e5{7GGr l1ƅԷ wofAcvA'= $3;nz1 &$; 8Q+ـAF1C4eYs nZ ËN܊$m fԔ->N,gUp%SMԮud{.3,$}pɪww<Ơx҄&¯ Ԭ L"cֳ-=dDo nLox`RI^53 Ïj>g /ycbz[yEːBCo?}oAsaDZm;HMQmBOݞ e'jD3eIy?e%5_?X&met?dƑ$f>$n#j nP\8rLT.r8k<@\_{'6Iv_RR[!;3񄸆x❿^\[Űj4xjLGxϒ`.0AqWlֿ"Jt]ć$R*3D!?V<7(ϭ l-a>bO7aE=tw9ƀpzZJ-C-s,1~fQ +Mǰ5],, [[,F[iFav (,^2| h&P/2 Q :)2o* qC"(kZ}ɤ=#mm]$S+xWj(&4sFHlY4m0" Ŷ$@ A, )Eߵyd`fTF &yʼnp(!vQ&yҡhʇnezkA/Y†T4P,&PD]*%er(JtvJk;q Wb9V-y6ÊUlp$9}`!Q_5qf K5G*MIMR bbLNrx+V |OB'vkE(6?$zY Tyi G.6X!$O[6kpHmtԌ<~7jSR('jO}uԇPptqțl*ZS Q9hRTњ$ANг2ClYH42uO/I#E ضDFGiėG,eJEcѢd'Pvm^*|gWRr<.Y%rϢh/dn[Gd?<#Qʺ&Μ~٣ "SPxNt~38fKbrV Z9[=Zڼ9ncb.Tq[wK]nMyqP!G$m ׾ a* E`L=AYhwejK'l *b/HF %,e{G@ZQIF3⭢1 [RӺr#O%J#vb?V, »!%@r:iM4!vW't%) hGE=0}"C gj~!xeЯ[L'd=+ix;3炥BW9D<'A,tS:opgQ($,Q}N叁xhRD~5b?}Y2gF>TPMNa1MD&tww̥C&p"0"b=4YE$)j-T1e tJ~JT6j)MP[FAXTԓ;!{yˆnTޏ6|>ۯـoJl}c[<)Cy]02ӽ_SC Wb͏#<4Su ɺvz/:Ug5qΑziɵE!r髋:~V .uV B`) w r 7T9 SN"]'G<}56ŪsY`TjDMa-AS=\*>QU&rv7E>Q+޾D+ 3wrV4 c잽͕d{.\7 n,C3{>rz$ 4iP[j\Ai>:%%q<{`p_|XH eo4ˍ(hBY W6{Ӛp@7{ S<ۂ|<}n~?P|f);s q̹&Qr.h<ΡKһ f2.A~'yaXq_9-ڤ}e_}yNHF(d7* ҺZb}yl d1[d}?anE, 愍! f%Os{>ʁ<>2@?9NhE"҄fLZőz>C`COsڕrֆ%<UPˡ^\ Mut{,Agq\!U_\ȋ/\.OuX :̬551e7jXM{_W|AXpϾJ/_x"q-`0JMXv$fg589'b@XR2t/zyr ހxfɚQ7n؛8=Wl}7]v /%,6ZB|U^ V:zgj83{ NU3}i  -6 ?ŢC 2U8^]9 cJ/-Mw:Of+ߘ­ *xbSa9 =Pkq$A F{l)p;I$s_2DZNʺG+xMJQ~Н7p'iOnqOTTgyXV(AvAIea%dǓ}pLCMv;A/?›^}KÍyѼ̌soI\F+( Y}FƔ2W(.ўCBz`'o}eݭLrl^"g&2%q+|Yֲ d5m K%7@A$05LOWΉ {Uwk9gŸg 1iv(3YQ`{I3c&P`vkp+QC)3*(kj=؞C0|HenwZK]-"bJRαl2~"^IN+w+b"N%佷@4͏M0(U)eZ2Uj^^ԍ>܂IYEHx@߱ڈcjt;&a@<L.5eiIO)e[|CqOg0s/'tG"{Ga<+pH3=ũS_Bc]š~oeSp(J|o wC<`zҖyΚx*?Čɏ5 2֯KǛOޢOf!s*GTC7FA&уa>dJaWN/i\)i-/tW?HE_KThyR1t7nP&,4fwvi9 dUezl-*z (Z 䯶;Pa"Έd T٢mO,+GA[Ú߁l#}MtAq[[nK(hP oV9zUFLG.˷G HOն(4LJכT;@71KC6o@-k9$E|E>z y>=kfmWUƩ7[EшJݳMo2SW"eE6([nu\$E+òǎG˗H hiв5ƃ{+A&IN/t}?K*\i(@6Z:h*I$<-iӎ0=Kh/!LSGfI ۂ35|7\WzlƧX1kMåS<*w޼ X]}F[S_Vf.\ "l"丁A][M!All)ĎPTtc\6nO5e1v`\Nб?vRf&33 K3iaV:R|gQ23;8%iK- bSv%f + TX_t00Y/qCېmܑKr{eE ѤSÏaոJm%$6hj% Ec'3,=Ϭ}QVL=îfd^-K6Up ^udv{,!Ӻ[ u$@<.+h=6*5KAa0D>*a4 TK6#v~]ߨ9ǧ'ޗ=uS1<ϢޡzD(F3[!n^ř|.!my5AP#^NvhB텰BJ]}OlL.HIͺ#a?,me>P#[H浓x]elUjTM5,05>n((oBm>K)?spC݂vm#QRZs 5B[N0_}]h4ER?*<ՂL !W--q!_˦{MV$J{|5yPX6us Y@0Kdu`V B'Ύn&ve9+:j*`D'mdzMz]Q +,bs}"qp5UqV-xr*iQa@9pRӸ +TGAIuXN>kBkЛm#8k~"uÍ* 7ڭ$.'dw9]Ed=*>OˬdX?3iBG㇃nGc!^c΀D֐*F$ Vɫ|iRxvEPs_/Qϛ|"x;,?ɽ:7Tݚ Ғ9 Ydws% :pT0u6e{0 i4"eF}2E#1WO@de2X.WyZ×I-*dՁ/ᗔl@Gk|F<đI!'YX񼢾[Ceq}mx0FJ͛r!T"*KInJ)Q4p! #]:ձ ̕!X$C4_ ]IA;̋tB%!O:^rgt%cg66.D涭yrV=#%oʧqÀ]VѐfYta],3ItM(limzE&527 U˷O 䔡/Va`adsL uI$*$yoo*4DP^mO5ycq3jQ~3`6Ʈ$GibfPB@{'ŤTw“'.4~5uTˬwJ]x E8UćPt\׏zҴ;g#M/W~SB65Ű.@fF^-^O/PҸ<ŷ8q4_gv<'š]/m-]*@Иr+#O5pYf]X>,yoE.Uـsq u `F`5wf (^Vq*5fP;XnL3 [ѡmuUC=&s`uCN(>(xl <` W׹h'ϤR N0Gsӻ!^i7QsR9LMq׏K60oO72]o1Xeg*T&8icC{1.n#g3o$*ݜrfo0.նk6#. wHKɾz'K"SL>W a>x=Ux>X+6.TlbcI" e?r6!u3q՞v̼UkHҩ1{'4-o&:FYkl\yMڶQ"-f7G2BIYpĭ7$8C7=iywZqYH*^lwe}kYi,Ԍ&WCBԠ`eDѡETU. VkQK(rt=%o# VBGo:4hgכ1Ig+"we7UYsb!465vlY蚬LqWAɃF/aJ.[_Vg v2{t }Pȑ)INUT>:X "_)AM\_wRjoamRyP_ʟC=}+ dr\:E2 ^ˮOީ8DX۱m!叞m)i*,'#z9ÕzA&u)%mqH0foh A稥cnadM2 ebhl$A+= JPު3S 膭}De;%PT?NgDYk` *IHaȾ,?Eޫf%L-Sv45}xFRg(޶tŴ8+DYw`(tG~:=83kW%5Կd j|BWogA9 }_ɨf/dN; j=QȮpKf~`'՜bҹ E1HcSlR߮|XeK4%MN&3[[V;$g#&ȓ:=<&*֨FåQk!s Aq OM,uȪ uVƍ٤|04V~5( ,ʶ?I1o?੕ԫqQԫ-%.]^ õg ?皩An͗&|x;ϺzMl+;ʁTjA&O6nx64\)@ƧƧ "tr+= r8 +XZ1Sl'֎Y%5:aŰ=%^0fM-aLC۸UiJ!٬[}uYY@iHyé|zNEްɈK:݇+EmQ$*a}jw2$eÌhk]@}^6%&K]zj4d  _rR&-m .c&;:5| Xnh$mmN<+6+1 rz1c)ѯroiaMCuB&DːvF;REr l~OZWzs7,Mf=ٹuz-㷻Hp'4!6z-k@}nC! Z*zOg0.-"&T žqy3be0N6aZCb/V%mJ+ܝ=5$glwPc#M3q$^FkA#X]Mҳ2ҫ7#uCn#6{vS0;r5whn>)IBM't)ri?aG&{Qv'$5?g#$7/bH3q mj9mi4[ '{&- 1fFʦk=3Wx~K=ysFNq]4i6~U SJ7%,'9gMkל mKh}6Wk>fYlWS*D)DϚ9T^0ZeV0o͑SnO( U#FFOnn(~Pg6(Ily Țsd0E [K%e:k,Gؾޣ;w|JH͔4cRBU)=Me9(髋 ƿL:T[9/ ڨ }—×غVI8 i3cΔ)~fdZcGCniy X[UX8jk@nޮm)_`]/aPA<Q[Txizz㻕[75}$IedT}SIYrg Ϥq!@|p嬢*cV?"k 穓t0T\JO0IpXtD#yڣp eMQ%xV;%gvQVR}y.ejG*t(4~wr h#Obi:L8D_o֚jI-{CiþU>v ,Qk`TMn뫵0Nc8;){poEu\ltKp}\l2R7]l`].=7H! (;ҁ䢂BZmJCWA EnK&p#k3UND 94="m[I%핷Gj`ݿսW(=K.wnP2#KK{Th yY?\FR񏑡ԣ'eZG*++Df 92C) y>JW29WÝ@C uUNdX9ZnK/V}_6KI@տo^вMQ^ؖj|/[5$KS/7 yJ֙'+-h!6&^OqswĤ!*)-aDoK`DW%kS29 ̋4j 9IP vD 'Zz+T" VEtֵ 5xg_[?Z9w}I`u!Վr[֡~zrSfPQ4 TNcu*>85t֟1ޅ {j'6ChHw`$a㷂(< s),!y.'cK]9lWJZGK[(>xG]jU]r΋c Ff2ЭI^ QGý&NәW$T| Z&|Aia NNm!3җ {CIO@ S"Wʐ7X ڠU r少@{<^мE6#s=afY#?o`M,6ޱ^?^~ a0ME=yLa .&y{Smp[_?496Go E%N[Bzuܧ2kѫ;u2,|x0cLK`hwgBdh1TDs=8ȭ NtI$h{*7 ˚S-؄\6R.I=xxbl'z'}H9Q5[7ٳuKz||Rbsc3UZC(95 e18ʎC<63ma… '%r'xo(aO#wWpwvTULHmmj Z ַ"?J[`+ izra-6Fy|YXi)5*tzs{+`4@U!"GZ؆SPFx!=KGͩ埝ҝ#|> 5e݊^,&b l zGe_46P;g-!ͲæFɗz O7HA>W+"K)1AgZ <6)7ut\sU -3,.RHB;.ckP+DR]P`͹ZxwC21l2'c 7pVss\h;j&h4\@ Z`j5+7.7ң!hU`2~;ϓWk;qQڀ嶇$:NhYB%F(l3 )Lj',6CabRUì *(5TJJ$r]5Ecr%+-t{!Va>fO(x^+}5PDKؖlr T<"7a$5k?:m--=\||up{&>Ft~*XU0"(F2h,y #clʘ/Tgf){f3{EpQimB-bqʠS 0bI/%" 5VZ5w-k 㼀8cn-=.&@`}H/6vB| ]Cv1BֺFo P/0X96w1jhiQ Q!f&`?FQk"fj1sF1~q{>EQ%%_6Pk}l@eBÊj)!Bbd[o^p5zx[v -&7J9kqFsIYP؛ c qpFg`8\ڲioG+ś=vs(IƐ T1 &0z,<US8Gٟ WqPiäс$^bJvQ ^H)A}{ȨNuVS%5,[ /z9!f8D œ(H@~ HX Pg@ 'x {Eݱ $Qklc.q7c ?ocwZYpy sDDD8 G5'|ޞW%8bmK=QԷ0lІ|Nyjs{o}5g1$6Xٗ/H9,,}J\4:ejfiWLA4:&tx4zr"{YQd(8F-<uV$mz04O[1wGa_Fέ[ߞ1-l6=,o=`s5K+]) gy58'a1k0>F|Qyɉrg)v~8xX/KpFٕ8M`ۗ Ld#i%@#c!:"lZw9ZUi u(lZHB2V$U@ =//jip{qjŷJVoƴ}q,by-1pi'7Jԁ?d>R%CoOc yTzƽI і~ J~Xtt`;⍲uLŻ #8 =|BjW&o?<5 ǫԳ'\{`k^ǷnȽVh-r/;f7)V@+:< ՗':V@4@ղ[BC ։Zԧ/N Wd2-vU@,#1ඐit-Ŋ`Ckےa1h#.HI?~4a%I'_HV"oq3w hMG5[r}>Lǎ!1WsݯHQBS'*3^Z(?Dä Nz5qXnk\mgˉ+#TUA*pJ-#ZTX]:żjt&큒+s}˺fyl{ k+/,|E(yÄ,V]G>d'$h Ei#ǘE_x3 u~ M\ye) *~YB_[LN0D2+. 㸩O =b Y5sanjGW"&^֓4a#@r_=Z?M@Uſ+`?2卵EU峟b3X"!7Pkl4R2ϾNQ{LKiE~514Zٌ#qI]jc|'sƕd:thYQ+gu 忴<ziD@Fxne w tSy}YNzVO8*V &XΉcya%~H7w $?M(qfxtl-?8 γ4DqV|: | )xNMqVЍ j3]"+  K"J}|(c dxOD#Vl舅NuB!'$KV]|outƒjsEDE$WXV4ױʲ7.."$׻uvx?٧E 2R&kMAW-)2Bz# FdR{GL <Nw"˼|7}찕$k۩ikHC0\Yɮ>2N|ޮ͕k6C7.t[zqJ&^㫰WZ 18}9Ȥ gԣ\RC}뙊c'bQ|vZ܋wDiA@(szalzvY8hyS+zjcK:?Eׅ=*h{J#4[+IMb3L ߳ˠ"$s(I'VO-w3Ef'|냾3Ҡw' бR]^`YTY-ZTYр!qS(~ /o9ʯ!bP [5FpĂ8:T:r+4.S(upY L>Tڿ+8+ǎ뛕KԌJsV8Ӗ-5W04ߓPz~5<ύ'ckE-ny8 +ެ.€]1lm֜}r@}1B6[k-95&'fٛl{Cq8Zf*t=@؂wbgXR)dxO͙!aΛhZ4aLU`tnպ:3`fjC;!=ܶk02SPX?@&cm]JOk-qq?!;7mhь|8Tğ 3`zʼnOE^~Y;Y9j#br(TA'˔Ĵ(ۥBn) i=md .VDI*^@+1Z?weaRO_DZ+W9FH{ 1hM{JWJ5qi7N9#_?CO_agdT $@GNOeE;µ#,]7fRb>J ծY۹Fܖ| aїxSwMp9mԛP$2"N@Urg"k6@ ؉ D'&ߌŔ//#A,K\Y`=%*')~؆QXWMM)={pNvB{**yOq!l⫼=ͫM&ҙGo# #%n)1O0?kda 3X(`ZK\1nݯ@{Me,!r O0rwoVԍ qB2'Okz p# JC-S-k8yzz4J_tR"O `:S ZB9Cs|Z p98}z*_Hwq/0/;Nfm\ I@ E-hwr}Q(?@}1:MO?$QW(깉1X<z ~dydE*8 DpMQ^8f$OK]}Lm:@BIqXՙwӡn~k{ߦt[(Cwa5*,#M+G"NmRJ`@w%V-ՉXQÂl|Jی0;72)x">SAt=JS cX4@%;= 2Xن.yj-EϩR+:YdnQۣ+fP:oƲ8<iewlw[=3)dq/y]B%aOа$6{U`CxYMlVI~ʈVѕe?>P%jļZXuFlfbAL'1xyej`1ԀTMyGu$zi[oGe(A¶R>ZX1ACBziyB4xh%3 cKEB=#ʠ^)\E WPM1\ vbRœ"N[ّ!*l0( -{4އeRUh3[pulGsLBls.`}jV#b|~(" vo;Z| B,HFDqj!Tc!(lȪ#@:0kͼm|%eRk+nD 76RZh+KJcTO?nN >."Oi|i[B~$oA߈Uvz"6 qmx:kf/ 5tR[F`yq|' zT1-* q^՞N*ƚ 3gGXAolN Kk[*4A$חL^$ڪ/"keZ_/K$*uRqV9PnN(XK"hU.L `*\=h!_Kw[GBkigLl_;.Hr/+,S'mل~qFySx|&P]K(2 E"fɍRi`mu!/.t!́54ց 9ۜ'dS?u'NIͷ9G f3v7?oIE*W@l*EGjCɿ&{hmH™@1ek#]5@) !HUL+]_{' c?A_ d}0cAie>`  [-[:~#Ei;*#UJhI#bpDUb'i[:=,}CO'GPI d2tԙ@WN&TH럞`[,?*kžPX $m7BH yAD垹!L]PJaakȤuEpU֤zh@KMF^jgP 9N.iNb:FC^MN]/FTF@WУA@HB8a x WH]BaI^9(OrJCCM_*&|!3UG&ad1wu0|>{>?ղ54xd*+FE}d *_a㏅j!-B1mnq9PVX9rt M&Wb-0X;FGNc=MA{Q& 1tNҿL;8S $oRʨӚcR$n`[^Mޠ86*bOG 'ɎWQ:V W/Lxl5GXF 12jSeBJQäSS}Gĸ:H!+o VW /j>rSrQ4 z~tz.yh9c1r__zlvensdS1Wv JieIJ@1YT+S*a4CXˡ"w.(m¹WOdjg]߆t)h~Nx,VYɉ힅XVϩ$;}2r?ՅBޥ3Pϒt3^r^/s*xP6_:5vޫwb23D^,PQN1E T}qM>ַ,RAxtBА9ԺFja,69_$J)]7=e.0Dera~} \D}l*? ;S`iPy9JE 0) Ō")rzK7\$nTb7;'89IuyQynG2~ ލ{c˨RĩJ@Q, nqg@FyF%϶0 m*tNx^0EK3E(zU k8<}Eyd_Xh ,;p: A[vA8Z*6 SVuػ'8+ܟ@qOfgM^5!ia\Zd7I]ϪdHnq9;4Jf8T 2ːF=K՚H)~VWvawm6b#8Gĺ0z:h`1tt>liA;E\^_FNz'wصh\ q G2jI.lNB !mLZqeXPnǭ\t,C\< v_Flu+:Z-}դry]UJ>:a&MINH):)Q2Gv16Gx?BꄴLP*S a!vad3\5Ӽ*3-Ĕ*V"Sg (ZS&C~h5 UH_Q 5XY/IRLfz 7-Yd0hpsEF.ʬ hV ! K2mI}L$LtQejueAܮ߈4+!(q}L(ʖYXM(Q%F5/ 9_pE7&!̦d6x["w?X1@gT%3hSŸ$ŀ1XA5nc5 n}~gJp(KuM U!\6cN& FS=gkͻ!dC2kJqb-rץeNYHwr 5A5V`.iL/2t&^0UӡO qQwge:g;FyJ.ÂG% eP(v\`Fabcu=in9 +eg%ѭxXeuT|"*]/`[sE3p0~CLS)s=ݹ+`hDi*>ZE'~x$/؝ӧ_Uvcj˂uie,ٛNlgcߍ͚\;|؝ZwJ!U.#;Z+n*}f=vHZ'*"Iz[8Ppr7$$s%`jaOrcqSi0r9CygcX6<{v MVģД~fVFl)uhZ4Y{W:]qG\-ZSK$*;5MC"'} v `˽92]/γI|J!?ߤV<ݙLYY y:n]7H.v`]L0( !Ԕ֔FS(1E(ѽҷtH)kzRExLF5F)W"O8G?4Ч64O)1 6f6NN4b +2k*o# UUY:2J&,UMWC"B@$` C[/ ]p2Q {W2sfzwH(B)Ƅ7' u|\ K@]L;O;*bk}q^Vn/i\ txZKSPF}dOBvR%=0_+R% xRxj[9lM O%I!9}e2*  ~ e9e='}@ |Vtlg:Oug(i=;4zt-V%m7'ba j-ԘPg{Skƽl)W+>+xYʈE" jҼnXyY!- ~t$&}Ѷ:(%ѳ?1q$ qPn5ԘXKS%w7^i 6 Hs&e*AC0ڨs\ 㷟W7XhU$bN.2kb *S͚JlQЅU!S4(7c !a,9478j &DˡH:LRS, 㮬pZ "b0[5٪HEM8'i \gВ3wSΑrqgP FV-v87{M-`ѰN25o~rVAۨ01 m6mq 99" gz< ÊĶ.O*׌哣v E2lLpX:8uD3;P.]3t) !`)}(~ T@oXַrw-,~8ߎ[fyEewÞ|RJDj :,vJa):s\^sQW~\ j0waʈyI;&]ChU5;_sGKBh GωdД8(4?pMwQoo2?'Qe@3B8b7TmV_hDQgBj&6̄;VZc\\3BW3rl&1m1pO٥5\L^hC0e Gpg}|Q?]0P  AgtZϮX2#}|QX͉mǃ.ȍԷaP98YS +~ӆǖWgi#ZL=Oeu=꧷UUPM4K{IS$Y퐪eY-Dz}? ܥj*Z;O"P )$`{-=KDPG +M+t>SX?T?i> ~b$&v)4 QiF\Lw!("{IBZr\`}+Jv}Jdz.*wRFj)g${֕=?E5?Xj!_#.BxƘt2[h( h ?/}M5V1 : 0| yHe, T6 qR|C)Fvi(q*Qup ^,^fZtIWjf&ML1H)7 W)aHf0M؋7;[jӝeT^'yOB3@WC] -B{Tm)j9LvʷL@cK̷Kjn4כLIIoTK \:^i{gJ H1 nPA<ʦ̐BH!b5[Ҥjz4UL먽].uRX}u~L'7dzM",]lGݾJƿRHD0n7FRUy5\H8k&FiEI5 9t(G[=BbIKv)w|d d^js1o5Pl{$)HB*09Wܪ+ȕYL:*b(BFcG@UޫW4%bgsnZq{=(|=}[P2 o>ȅkl1ⱊƙ09Di>sGOHOE g!|7GlY.[IiMdC]@SP@Dsؒuw 1jGIl1 Y%F͎&#æ#^Re.ZYC9($uV5KE߀siP^C([Jo}f)yFQ<{|(qWFOLcYb ΕުCRhNKJEL=-SΦbfРS$'uZ֦cd'Wlz 4xH{{H\I 듛#է=|8uoWNdO$ eEXn:.5YbT-֜WwLHّ7ЃsKgѮz]GOhRA="(E{1i1|$Ugn=М?J/VfW`e ،xW^:_:l~ߦ#dɥG 4ȅSȶ>CfbxrLG({Rc^o Ib}ꖂM ( ]8foʨ ."}SE*R5羓K){ru'x 2{/ ϩUH"nal*^f`7dEDI[NCi^`_Lw !eu\KFOFgKT*טJs! .@r؛1'u.6E#E3R{Tܾ.ֽ+zXT(^cKݹ5Aa+ =\0:%JOp-ZxV(¯'u:j݇F|$\S`+o? *]wߞoږ>W\zޱ 9*`e*Ťw~Ҿ8:2F x$hF`B8aC˚c݃}W;BÿRg 60%_^8AYOPS}ʁ-u2x1*.֪ ߩA_8d 3dVhK8A7=ͷC˝ yG3qӃdPep,"@ѧ%/5V xDzsuP%!KGZ,2vp8܁Xt̜Irto6{ռ$,4x̊9!.! QKTN8l[յUm AO6\P}! HȮgJ+r`RK{fzg9ö+ذ^RfəK=g?q` \͋_е9aKyP~Գa4 :Z"wz:(gbҹDnC"=05ĝiQ^Ds? 6Y`Ud*}ɅCé!4jw]?X"l^_^;aw˭fM6ٹF+2NZ+д77bmumhD%7_\ӏpN4uᆱy!e&zVZߤ#TG~(芸9pd^2eMWHᡁ~UmUieϰ`RWĺh/ u6V`}V4-{G}`T 7n=h% dTHiۇȘRI7:v(4PK :=c D$X`!0JR M"ԕ0$ys!j8r)zS>j*?Ĭ+G\f$4`_yЦkfuG3Ha g);w2-Y#Xw8نˑ9aPA2""zF#2pL&HUG=*b9(M<,Ytgq [hFTFpЕ| -4ĴkϷlRĦR뀻dچSVRɅ2T.e MoQ*#?./#c6Tl'AOZ#.IQ,ƅr>] D0Ip}tm0;i C$y2vSw G,ON0rۅ`ϳGvXX2 ^P{H`3z9: O`ov~9ζO<3r c%_{ ,uZnxK ;#dqfM9rsf!ÁsXW;wr>P*ͤ?' Lpj%a7~/v5T3O#&ְu|Ri8U93NFQR^ >bM(DԱ~BR2yեIW͙%2 GMEb:mNa^/@PsO$G8L.|>wzxsidDfR=,Lok=qfIw8ԭJt"!#j8NEARG C ڐ qb ny0#Qsr%R+J[nljCo߰\R 8܆t4j򯺼ɈB>(wEXl!Z~4N6fE^n+*>&gV5`OyTX#p+v9c)o\G).q㷯'5K +3t'P DANCRAĘ!9e\ RLs,J_=%kY祠-I/,7)7\h .2;408 +< MOSԥ4n::,SџZu=n"Mj5^^N.v 'CxhwFK+hCu1U3dG&O7 $z(XN^y y6s!L;KޠuyO6gC>cU d3\s n6Z1_5)ׯ4ד}mSfs][c@I" NI̬&GF5jvI玷"vGNdLyb^嶖. SpCbIQ||ܥ="6$:K3mݴ˥v3=˃-ź㴧bS|bil/D3 mJQ;K”ؽ?^M̻;؀QSs!8X^N3x8j}6=:Lu uvR~ٲ:+/4RY&{0b}elAޗT]2`) ؅jx6%J 1bIV hI K,ݲ"%־!| CS"!5C[ 1b}/_J͚[ԏ"9D/N_=9oClBvRc]҃wUOKq{X `;©;k[6L=ѸNY5#Б,Kʘ' JoCt~Ucy*Ĝ&Kl?_gtw]:o>kfAadʳ\̔oo!C`$M]-MOq(t=+1Mܺ42Aw w]M?\§'LheN#޾L$ca:ip Ē"]i_B  4u(XP`Gvn$?@,^ zJ-ť}:3<ܠn78r~ _8N=+ Mܡ:irKujx}314ȠH{jB 4R>R~k B:}N- $?*FU#RTӴijANIB>P7 >*Ė!ֈሖ,v:NV4lȘG˗lm2I dZE~oW!=;#ѩ'Q㻬PfR,Wt}w-& : *F(ñm&HfB~Ҵo] >ꃃڛ{AG"%bOw>'8h",v-m[  p:V  `N=SI,cw1"OE Núo.+*6!I!:9.K`F1E呝{lV@rӛ4G a g˫ö&fofF/c~Z¯j:)7e^w9z+Pa;4"^^T$M /|/C~6F݌ok~? OJZw)D 25ae"e*;4m3)ׯwQ&d?f,A]TX v09i-h9@MڒaB{t^^̴JT>7HN&:ZSE]q-c'M FPyzUKOGQLmFѫ=Y@zIzPZpiEd~CF̞?Qɨz78)C~SfvݤP0R3ܞݝxQ^a#LDEזgނJHt~2}MomBZȩQ)uj|+fr{]^ù{ՊIJqekEķexi)s8(K&iU6X~%-c$Gj ˠMgZӝo>aJ90 <[݉, 1EO0S8NIf,}UϪ:W6v~(ys'JK΂iC+~ңh:Т*Y41MJIh֤`wm HoD=0Socd_Cվnt"8G%`,8WKƔډX*s,]үJv9xLoeқEV4RZ띃hz\Q_iDM;݄D_$ሥ_cubnέ53[LV4Sl \H%V/5DLy[im &*3i4en]u#JHWs JcS( )Z$Ʒ"yNP 6AfA8 o.WDNYo7GMKrv߈VWq@c-*dcjjSp&=KC6 Kstw6yǦq!_xfmG2Zf=QsJ쿎tEg!,p&9&~e x/9 r`h%Zr/JrvzXpP ^,VinT-"VCwm8gUTyCa%bD`sׇNH_bn_vz3\YD nv ՙ[Sle$Vy+ۯݢ:%m,9?J+ )a}v$ʹ66)mZtaC/{qJRގJ)짐(W-L̛y`L::m^Ph}bUuTXXG c)ɛW~7]fwG)[-Ryv; xmf綨Ti{:#d__ ! XRKg#eEW$K1P[Ԍ 9#] ߸zqٚf27K2a' )]4I![ ZkEq+_"h ly Yf^mE!SeU ,ɅX+Jo8+<zYL,ݦjgRRanmԉK]˓Q,u'ᾼ%'^1J$?y%byCLf:|e*Nh\?*/6m<<-%=:j4S1wLiOjC -YT+,qlҎ69$M"0kѷr䈵,TiEFGJ+ՙ$0%0Ҏ5 `i[=ĄBun&rnhC钅F\6 ;ǘƼ75X@®AԹ$vwh3ܙs(P G/ h6Sz}bw+N*=Qej݃](L5PyG*vb!w )X)-(|b^V<l#P%;y=͋7$Pz*&7Է5\6+D(9sPh,F!'taógHҞj$]?: upI=1wS3D rDWU~LEh(E?]mpӪ`͞MBM0 ~=> uW?qه9Ib0"Rv)\bIJ}<Ɋn#1b`!R?wl;B̏h:).Xnll&:Vù@ Sk1iP EU!`RPhs]껧#m/nܻWL-B9rwXjq՘-ǽJ/GsVy#O@0Y2=q@YE6"!.W'> g xh!-"'0zL%P&:p Yj,oKovyrJyn o!],+ㅅi渋1j Zh5"rJ')Z2z˃a -؈&h'YWv] eW@#"9@ZYZZk{Ulycez<=,zC7l>a@V6:blY o#KE-5Lל`(M rAY`WVNrdmG4\ۙ1凭65}"d٪T\#c N#ة[iݷ?>B@8)-/];]:;?z`]xd9Z7Xۥע\A-(^T{v2CE jSmo xO%9Ɣp{ه6nUoǮjx84 cEom[I&.5]O~Fg"閼* T̫)ɹH攫'>-&FH753 qZ ;D|4l,uPVQv8}Z&BtN*9]Ӝ8zءجHjYj{ B c>8]YtGE>^˼gBe;Ck >=1_˶DTܻRǼLrMҶ-[$LN>Maϝԁ\s˹7muڢ%)MKl'1|tsA䚅IHk>fb1ckoE cWR-)#h m*nW7I4[eB |EGD3k1`xD&(aO6 fWQcBGTR'r+hM~啎3fu Ӌǡ#q1uRoԧMjO =ȧN.͹:ƇnIt<2è^$HkXrc '~J ?.{f8ߢVRPzᒡ>LBOu-}szIJԽ3FZHD49n5/ jObWAD[ `t161BdY^ݑ)lʥb>GL۩W[052[LVq2d6j2Le/ht/_u"5G?Jɑ)G1#mB'\)V]vœ;`t0GR[b+A (S'ەZmZB/s r&*4#GZ:g'7z!D-oE*Zca6ԡ,TzC&e[{=E|ݪ o@VQ KNQpۇ" %qwS )C7S:Gc7*+ٵF8+qOL.E\%>Bf) d.GJ^I(g6  \$,Ƣn6c3hFi0`[֧[C _.%_]: 'ԇ#:e&v: CFXRɡ΋."#kJkIkP~*e_6EV,e]eQP}Io+xkk\uA7hǺ-2 8InAnfd "~bI6ͶӟZgƠ @?sIv{Heg[v7Hf%r/"56qXw=wKCQs99¦J:p&掕 ɺBl,7eq pUw *gR`= )t́](n'["R_QDQP;k~#s4&b1&?^Ib,s^^IP,>C?~)y:.41'9SHf&v-'=9 ;(SŻfԻX7U ٰ>k4{~:taT  3p2[Q}櫜5}%jz%>4I+ztMy*rC<  sQ΄r3EcoO.z:tV殀GPo V'R: ;C%|stZ@)z6}e sZJ 22%HsRͻy,_gٕ_ c#ιL~LdJKf]\h^ Nn=f:УE2IР\[SrzB`4̀6C*tXƁUYh5AMUz,z'2  XgQE+? Ps8C ;6~ߙVW\a ߙWDğ6Jccשi Na3H0o δYejM2o@=OQ1:C.ܫXIj{YiOUfS-j'Q}oy#ށ㚈[S3*(dNX( 4t9İ0jFxZ`MDE7iT:aNcixY7& F 07JlyHcuU_us{Do IJ$gWKRN /t3lJ%!VfĎ!h/oҘy3GK d|žQ_N,ix z $)P2\*@x444K^!ղTӇP7N@7Qu3 *?o-q&bj strB޸Zڲmq0+%*ƿ6ɝ"r= W TXj(r2.o1Ζؠ Nb7 @iY tNj-g,KuyS>|.o=X!ǨU|5sƲ0]ł-+5J4UФjZ *Tfjlt4ƈKdI9aTNS Siăsau,R.dh@Ay`,uIZwuW`KVȐZ33rY~脉p>J^#Kc%{s-~R4> F=JQ%Ae^7Rq|֟(TWM:0溮/gu әuyQs;.F(ntVq8r ΀]Vݲm2i}l;E-FpȲls{!#]z9dstǬڦȍ:vsZFV[?~nMB-/̐{5:􍇑HͺvDr*!er&qEvZ Pqhc/P.L8zI ˧OЦpc8z{/Pفj~3!>F0dNjg#n)zpOsU"rbٱjtlA Ǻ}AJ*Z7'=Xew)9q~NUN6Ci/1't~52)UÉqNǫ_~˽9wY\B;]QΦcVj+R,<~Oet"y6LI UH+cO++" %ږI ّ)K -f”ӓul1ؗ[ETpC~?8  MO>-K ?/)-wTX>d%vJM] ȠMEli9Kyj'`kedImTe+*U ka^)Uػ:Z,0GjP?rXWfUOOVci`9^b4Wo,_# O.y%eU^Eh~OU#g wt! yӐ'їTyA٩c'lr_(l/CNx>=x\WkZ~!f.98aS>C7pI2h%!85$ZZZc :~[ؙ(GgPVx2yRX\_Dojڪxdܠ`1JoČ:|  k &;7t~Ce$ ϩ%1U\Vž[ 33S 5md> :gBﳁ0/O3s%ÓFLMʺ;YN-chkflSǿodg;eꎴB_KqYl_z3#uO܈0lX@sQ,Ȟ ڌPPul`D C@aʺ3z-xۮ8~Fe1 MkiKp[9cO w #7xщ>u~5VfWi5YsT&S .wtmFWBTF T[,R˘'t7UMea΂V? Rk"{T/OI/43PBDX O(bkPyt1:G>I,uTA沁ʌ5}q![nEjP:m9}28ClXαB2b>N `&#bο y1vpv63~c7Zefs.r|b$״ww'b^7n66C\+2 N.Xrf2xY@jc ^Uy^ӂ++PT0T4o SƸ Bh؇SIx|ը姉%:#e;}#S0‚ U'.7g*z '"| %h E6jSψ ,kF|y>AIQDdMڇ;8JSHt?RP@?:h^#y+ZEa8o.yfK 'J0kitYAs[g5"",Em(?}Ǩ# N)P}= ۤ00puh~j'603(DRѥ4X6}*3^yܐHbgI%c0Tϟj K¬ usxrkcNɇmeYhI:+ ˂y~ %o#v.;*0_=Ng3U6CA\NS O#&*7ފ4$}nFV)˕.q+]4~bYS?d,ģBij.S 8CݫobU Yٜ*Iz;|׺ a%0K4.G!'n3_ku*DvђҚbvMeYŊ($Cd'/}co'&/o`[gmjJ3{&Rs_X ;+ާG8;d)L 916" Ipx`wVn-u33?osq'#ƸX7dspc63+wM)r3.%Qn?=T=9}>jLFG^+Id]oQijjz˾3qHaKA$ѝ nT_1OoAguFhu{ 'IS6xtNZs n?~McIj PM?T2S)sn M\n "ggLXYjiTT2pwPai$D.аhT#hD΢M=.5n}Wk^X`%GbgT7aL VŨ1gz*Ϯj~֪ΞI(\aL.䔙(u]U,ڔo ^{g|aTEBbC\!tb{G: =jQ9;|HaY5o?{K>WjQ'׉SmU0O5tF}{hVO+%5Rig5bH%<2K fHWN(b> I7|%h/b9Mr| ({DzrpIa5 YJ IwӜo Udp>ŋRhXrv]N l3 p<6cF)1êy95ރdd;tn/mo>j4>9T60*srX櫸 ETZDS:@U|Q]*#=͸Ĉӄ!Sw,A]9)U!R3eb3mRk@=u_"Ll'@P*8C\lطG+~ =y@烐a3urFʌX(q`# |5ԊY46/ NC}}/ЫN?Ek>\7aTӑn2:.` ٬Cl~rɝBw`?'_XW33LMN[- ,pkbxc;kLd6Z^  "?_zU7@<6 +_鞃SG|˓N"|Y[0a&+cY)OW,Qn gPp6boa.VnS3 Kt 7lxMj&ȟ }I m 1 ᚌ-2^*`p254i@_D aYYԖ0kq!NJE[{Rs~I]Pd%hCH0m:K 4Tn>|J߽VE+ D`$o.$wc:29wgǼlxdI~ߗ2WVf*'gt ηzKu`}c0տʗ/yȤE *%-z$}C 0&Ӑ\HE-JF9_*SUn%tAV$Փifzdϊ(e>ٷgrE0:e*Mi5V)--J!H`?ؔv&jhšFO7 }wg:C):M{)J"~dHOLF#Zj?x;;@1 Ȃ$v'y=K$Ξ!hѥ'|g ܷPMfRU7 WވƍV19Jnx.f."Hw㥀{j+>s'$ŲRb=NSuMh tc$ @;W%jfo T3|Nz4>B5RܤƈLY?"][BbZȗ'. D lBߢLՆZ~RvTQ줂[.[6*=J^DsݛLWC2UfTh;VZ:)6Ls`kԓT9J,4N'涁c~iFO#mS@'fLY!;|sa;Y(}[]WXm 0HOR*wNDzCEW3uQOX*(k^)dG{̠'V 1?d36*9yU:aj~SDc'y<.\B)!We#.PxID I$Stl|7F>-US(kJWԥG RT٫9 ,%DimX6 j 3h o(ȡ 67,pE! qKdžzhe\F;+p)_g_HtvOl/z1p#qu7VKm5NXi$LL­xlř).[Hl/(n;TR4 b/fnɿav{;~VQƖFA8👩`ij[W냟n;h ^SȁmJs9){*,42H)F5|&pAb_t,&?lIg0ּl#?ֲ ZI޺|ЅZ2nH8\N7Rḅ,`\.nB/5 =p\о= @c #dǸ8u,1ou:$Y>݄"znkf7bp|M:1zߘRɿz3.1 Hi3xhMfN; CEn!0_ ;&z+g!^$ MU,F ct` ҿ4|v_ ;DPQ;48+HU;S͛ʏA:%&oBk6c6Zf=Bn]d18I כ9eH@nL-g: ʃ06pl68 9W.!d᳕ka`2 "2`3Q͛klNol&i:9x2bφL.n@]x\JZV`Ή=R%AӕsF`ⓣ:`)4p#kŻlh:G|*O]nwTȑH 75 oۅ (DabO Kx9!J B얡%': dj'#}G?wRzSv-OsZ;(IM@8tx&! 02>3hEΗٙ?~+KԫE=JTstXl&[S45]Fk|+ MKZNke%The~DFRS>e*>ꕒrD}묰 -!!M u8c썌hW]`%LvVkWL!jDy~B+W p ۥy`'m{C=zW*C滦nUT(6ѩ`7p̱q!þJ|*3IQ2$)oSKTvQMT6@dA !u `$[R{0ޟN,9CLqXm Ba:f:g Z|S(uX񨞔:H;d@] "L`0qOؔ9 ^N^|ĊֵFoH#*/ GGJ#?ަvjbukcΉ?3KӃՍhӚV@u[?s|Q./v_,l6i=oui2BEޢ^ F?J;̼]Hi@=wH*5 >ҵX#_wo I`y& eݩA]7JLz\gCo!TePM7@aB1`Y+3TJ,**n;m-"[}ZJ_u.v" {rﮟUϏmIL:U l8nI4R<(&IrqXl]^rpDyw/Js b7K H$ ?HN"Î[uGLQZc O- Uu&88ꝛ䶂rgq h5,j'_#7NQtP?E࿖t5 X  LQ!0m ri _%4vMbO ZU4{.PT'L##r>o—/#˰vNKpx@10ܹ$cNDXE>9wuJ?x1+)~g.ʬ Êq^mv5Edŗ,}"~`Uݯtr|G+;R <7|{uFsT(ЏL/ z$3ј+.>ɩtIjBb#Si5uԊqQqܷ)o ##Rw릜W7`!’|rFJU[Ջse_V,[ȤrK w[ a `[tU:vf#:+.~5FFw}r81:\&X4> kHPS_70?٧&#ԆAۍ 7 t$"!]Gf8IBD]̀Zf~B%dXe%{JMi3rL朤\'R~q Ȼ.@(u(P=)9DsTMH骫@kڸ"',#oȵc jow,Q }^vB{FE :8`.0Dh{Eq>M FNi< `]tQ`_ 9*{:KNZyQVrZoul~!g{ ztJ9yrrqtsS9m/:1כJbpeL-QZ`G)rɺS(8FWVї7N^81B _w ]s~dc9@PVm6P2Ӽ XL(#-YN^FlVO*%? )FfB8\reC%/y$Z49Y+i_HE/N;օuj2+m}(7.12oӉHAҳ7 B;V +!Cl<w1 &m) b{S7Hn7,8x߾W萨Yks]ˊєjr4H1>nyn0R㏐Sk%ژL`CHs9%4m4[ap_DyL`/RhV$?o-.\%%\| F\vTf}}mG Y(!2P9D vNW:CD\ P(%\|-]ET8Jk|曉b泴߹Bvn>E7$AnW0y#xc~  5<%YB!$:2Q,Npɰ(S "ô?D:mIOѦ!sTK<'jv~l)O$wF2Ͷdmy>&f4]0Jr*gyG$q6-E*!gUb*%2'z7c y:͂`%LtLf*oXigҗr}x! .&IKB3MvbbV?!k%Ǿ%8L=h+rҿ=i>[ash/rN15R|K6^$߹|U.j+Lf5 dƏS:p%)cSHL^,lo=w}Y/LОՑTW۝~ӚK5ch/ 'BuADƗt!<</jN:B2!Bjcoc{mYZv+PΠ˔>`Q&gF8j,Rk3n!UR*eþf)oϾYBe3@rͫozu4Y_qr:;a~fjVflw[վe埤QH%JRˏDh']-ccr&ߚg { a+ PY O9 mf jE\~dy\],8I}sPiTaz*9bN綊y/ ;*EmcU7EKQ'堺(emeHoUи,͞,Za3Bӵ},OhQDӽ&1=LxJX~Tu'~IINm&ܜGc6J;MA'8Kj H30Dy9>"t1jtU&Wx-Lػ#0^ oY(+3_H<[u'n[z@Bn?'Hx*!Vվ fp8?r v#čjFrbpv92 vj)ˇo*8D-n˜NH_ L0P~;d)6\ |Uh[͜o~]V̕zH0L&`bJvKϢ͝eAkϒǦ | F2i ΒFŠ@n)w=o ol#%.F$Щ7&, r$<$KKf6, * IxݣS{C^hc׷P+%qsėO?̓~77Rh^+B t 2 sNBE pR9wVMO?n`|0t||Dl˅2vַ5uvFhF s)LHkQI]goeY7PzUP|%I/t`?L. - L%GwUi21N,{t̏*uXO6-* s:ޝ"+9+j._2;~ڻîÌwP`>!%z. >Q%W߾PJL@zYM@a3ӌk"WPI&Yş#;-"W:vB}a6EKF` Ql~X 92wImCS}](> S88caf9Qcm=P%N1@Ů_3Latαs57WŏI 9^yS33Y.KXrN~/JG6C`86ВS3m.;Gd3]Lbֆkst}9/b]-6#${HJA{t(ܡ8X=E(X w?h agxr&V,k,Xj1Z ?ɛ^W};/<֖HoGNɡ{sg;=NP. uij]H2L a :>z܄4OW h|?.T2nuj]T f}\-0tpls ZkK%U:]X lX  '69Q,YnjUFIп#+R2vW{ vwv/9i™xmThщ1o{>?jl/ߥ ΀ķl-朋 LvXJ^H]q]@" z&X? Booa,K1`dJ*j7Bl%ǮLF!Ak<~FhĆ-j11~vvŁ/@~7w6S,[l[w r|$'{(iBױ&cӤX  mrs90)Hװ t\i-U tk9N0lH$/ZЃrbFި!L,Yn4teo}7XW?*Tԋ 5>ٍ)Ԣt3b[M 54軇ܡWQhƯ JLph`'jm el, 9 4Ʈt9QKe;Iȟo'g Y͆Rɮ!$qjbmY@?USbTVYGr2y̙#USwfȰ),&>*\X 3T\ [*N.λP70 褾vLs3+ 2B+zOO78f2?48btVQwic6KI$a|h3>l(9$5]QIzH ꤍ ƵQV:XGI)Xkxo>[_ 5ޣ)M; $%}j "qy7B yo_uOp0^{_7B]: i/BfѸOI\4A*eyVR2 xO~ zQ3uzɧͲ9OUNrc$6\'/%]if֞*`t=^EKr"=]r#.T`aU 6Q1 0멚]O]wvOɺ4)& ʳeWw=%ccؒmCR}{6pfeCk {yyqxw`rژlGޫ-QC qr7#?=ӥrà6$U3HdQ6VΈۢA-0/3E dFD{x cĹ ظu)?]w>'1i\X\S~/1R > SkF.TgS$QpZ@MW]+Mhމ[Sؚ!"2L@xeTR6U8iHȂMh _a٥Ͽ.f9^ EձhITGY|'/ P&q{4 Rsȴ_P`XB1FI%fG+qn{oVc6-C(_{vDx%q9g r]p8*>=;AH1"bN8>#FL_,j–]x-oMAmW NR[I$r1@iԙ`cۍe?m 2K._jdYVwCpETC4tBD`^#9B@A ϲHMP>5ŞP|rok%WKl|f>gV<7]{Qͅ ߁qE$؀Koّ=W̭GZeDLxktqbKn5 [E\"vyܚ&7=N`'>k1CX\%,nť*ջOIWHEFS 5ࠜ),܏лYPrSK@;{@ClCPfn0uqŌ/@kNt6?w<+# ߠDYWCh*fΓf*t%N0i{5獁MD#+vf!2fF &< ͱڼ,j.!Z,hԑy&%Rk%2UN*ZpUm{c#D# 5R)bDEXa7 %>:h ݀@:gvCnz5N 6nj7MC||%WR! zܛD-Z=.X@P5kYb~1֕OS ;FXtCF&[;+v U8eial: Hu^wS?T$?EM0X(*ܞE= 8rm4 U'%ee*+¦d [#yU"urZv[Q&iJz$,S-&[y"S|'dYdgYx= $]oJRL\p%1U!}ʼ_?y]w]! qn\;游͠yhC?~\R;4g|u=e5g$27zCjQ& v J!NW`:.I3G3?˟1uU!?.ۚQ_lT׊&&{g&4I/7qO.i8QKb;[WtH_ن޸h(6>C Q#+sr|AUq{&7.![011_X򿿚Kf^4} Apk{=5ԊWV띾PUiO$K r)7ˁnxqlb4Y+ !F-sЬԮaTR˓愡Km:#i !2F$9oeST8?.NִdX)^-7yrC|}rON1X`',ʵM:t0{puv~s\E!:ĄѻqGiaR>j&€vc*B>Mg)" Bf!^t8ġkvb|,0>z?Z?J1q<)i)kYԈ{{ LfT_QfGb4wef5 "FFs1@ 6߉*IZm.o0' 9v;*ِ`QBC JӉN3L!-WӞ qcv\;h(J 9/h{t2(lԫq@pIHPh&?i '>?`(oWEGEʜ/ڦ(ZC>Hvoۂ1n}B2Xpp>kT%ɖ"wik@=0Lx1b]ȭ?1+|WG D>MZ{3`)a8H5BfJp=3{HTC ~=^/1ethK٘@_ OS)kF=:ã4 p"Ujy,|߸* 0V[뺀r2RX^|cdYZ_ .$,:C}[OCI;g}kz% Kc 9: @ I:#25!|JwxG }ݙ<0xNLU"UXJb?h Ά`)ypdC*F)=LZ?X-P |ҴI6]0@9)`Ak\8m rL'ToROKꃇ0F(3(\(@i}L久[4dzܤ\+c݀\¯XO8-W !짎f l}*6ee1a c81sLrhKm g fs4"ȥTyv ggt]$+d1Jr2:.6οQOkFEP"jSCʓ .X'4a-ոI4[ 117fm^R`gS9W|WEAn.'mvZ8mUƨ^p}y8Sz=-\f?O5?P( @GVljECAR6Iٷ}dlaOyz?FZ6u色D}#plAe5dczCiGh\F/01HY_^VbfiX-('$Րvi eaM&Z]_6avcs=E=^)k8:b^'PBM%igFHpֲߑiD Otkgu#)uWL&8g mБࡂ*ܸӤ}DNCDGAHOO'2>kq hVz 0[Z~#clWV,pƥn<&>Oվ^$ٳh2f1xt}iTְ ?C EFrKn:|\bjPEF/;)4IIWVȣ9^|j rbqRt'v:圩ʤK4}sa rJ0vP-U4lqK O? fể&O-|d!*AL?cY,ѳzdԻtq@pZwN,v:Jfqoj0@ +76 X&h>Ђ0\ @%5j^rl^W9IUDI7I,Df&6@q7#1=i,I ޚ6f;;282:o&Y<}"V?pm$:Uh'#әiQ5C})L>}3~vͭ Sߍaeu5}|ǹSIl #U^S'7@~AU|NhJN'9m@y%&\pw8/Bh}O,dŒK]u飥f7pA\pEw%x j;14~ oUԁl'ZI(yʺ^HrVpۓ5ocNM>\1 f$U3b9.as?.uhk3B$1w3Aðּѐs$z4׈gk57ʟ2`{szi5ٮ7yݸi+8 $<`TA1хN0e,!~!O㸃ag ӐtiI/Vƅ6H"p3dm ӤPԈ;!!Qv$khOjZq] mO(ܻ>FبꪞdfVCrIV\ֵ յ]ieZ+I;.otɠO[6 s 弉 @Q&d3t|dR Sp*0tnkJWY>}enWQ#J5FNB [az7tO &LD!3?^²[:d1}y1M=4fC6պfibE9st?GvsT _v#~›*ݪYa[O,XyC%UjQw<س(C;~ňG(VpY`Tê}@齎 eH%hݱSy,9)ts~5۸!U \/_ZbLݙO@^| ͔S'Kcbli Dq!"$5>m'?@z!qI(Х*s],.eWEp05 aX%#-z^*B]X |nIg}Ҟ D<%s`#V"P!i7B6]ȇ0F_zC>tBGR/or4HJn)Qn3/vS37=̭ 蹿c U<+#[(,ۀ=bT/ 5pH-xIL"C[^O\itNf-ě?I{X;J+\ wT&PJō7+D'}#}&kq5 :(}ʢ{90Ae\ţ[ŝзQmD2U|bݏ $3DJB e Z؀22U}J 8D+jUUq$ZwsvՆDMª_ ]j4Wz)S_g=ɍP6¢폽< 4U/njyV&lˇп'R 6As|.,ixQ49HB1Z/< .;N+ )&$dn'N)"TRh7p("$ ;kcYf=2z_ufE N+$ M¥)Dd([=D0dUR~{SE'[e-BPJg&݀[ QBI$ {m߯jx#U޺˯z'qEu$ĩ !nq^1qT *LaA1l@Nrf&#:i#ݔlʷJ5oqTE"csPgT -X̋;ʂ'CɀHvƩ0[fX}JEsE&z;B?F%TnzS6xPt.3*N63q]22bbxWFDOci2A0Qqہ#[,BFPGzRIBvUA:Op Zv{ B? 온DENn3tWFE6˙ڎ@ ̕Ld_1שS0'}BUJ" PO01s42h7՗ϼH!&ȍۃB_mc)f2건 ))x+cT1W'ELY{:Ǫ>кS(hdg +Ǣ~=C&Xa Ye6&gBq?p*@7fxFLN\l-OYTc4N)oLfJum@ßTA ]<6|35;ע3&,o;Vp+pё03C@#-셡`N障;α fr|~ ߌ L߾~0oh'rQJ;F›ݼ}l+cڡcg2 l3Eļb8k }2VX_/ޘ2x5^2NY@  4.a|#jF6kpǹ v'ou:>"+sh' s<|"2O(7$]> 3;p`3!5Dwےſ&Hoy ppcf,?t S.LWfDseq?ixJң4`ף;1O"ʂXV Y`K~ՕvƓCI;:Lx_/lw ?l2;!z[3zlڵ>Y?--0s-TlJL6i7E}N$qqEi6XP'yR\$ٍu/Ny2+vҬO͟?kO<X*ϕG' &1uFW")uXan(9>Կ*Zy#=^XK+  Y3"HFpڌKkrG]COA3īowK@E ̓(vt[K\v "R_y)lölM텽1 "*0/qrˎ &_M QjW \ &`II*A(Q $U׺1 *EJbyF7cZitRdɶFRUk= :i* eMR@nP.?ԁz| ̶jxy$HkT[AX5*|&t?}^qF4ݳpK 0 yO9ufEڪ{$SX/~ܱ-*Iq!҆鈺O*|J-Ab': >JSLA*Ip `+&ì즭]4'#eK]b1ۚmiAh_[,URe0`j30qy9SH%SR:*WSBWO48[Iand@˓lU5<|r oA؏t`Z^Vy0l2w*##Ba32?[ rzlX7Ig|V ]B2uUyϕ3 sjHڮfP5$WB4/]--ܐΰ|_Dj#(9n|)7%E "|L` ` %4"bj&<]6;Xr1]ؿ'򑭭loꓨ"v{/{+(35r~%-]е! ntP V)F(rVpCfpƣvX_jB9zRZXgiT$m="ʔ@2re1~sзGnɫ1!QNYe6UI} sSk2gCb2mػe Z'%d82 prb"Mha#0U9Ekߜzg`v_|ՏJ3͸ټ3E(3202ҭW1!F%!FS~řK[>ê2kD+MdH)y~xX'mgJ+;1`ltiH`] ت`|Ox@&S ,C(ԇk[-334@@D0DC%ӫc8@g}u@}o^W(U& [*~uiɵEWTa9))~]?d7 NTVpNjL]T3JH"ℾyz\N@E U0oߡdX  H]4LfQm0y}f$P9Ń]r7Sԙ!\c8F]h++?әY"u/xBIi (0py D-1j m):Ia{\S^T s&c"A9˭fOLUg0Ti. KaAt͋ G&_?P z{>!av×P=nժODhϸL4`肭TIeW J-Jpբ)̞K9uV"ϧ) 2eVԎ&yKRX#\ُDO(` vfޓذO汙J1*u6}-=b1<҈:f)ޤ &u^ ]9꣧8B"׎TJ oѭpT.p18Q8M 7睮ruqqJ=riƺ7*xkR9d~GT\s&Z"w4GfW 7\?.#v܉Ap\n>@j-> , pw crcb)\iK!|2]/ 8Z#6M=b}j59U%u6ʯhJU9 3.TT_K˟{Ka%Vfs8k{s0[wp9Aĸ1Ћ8&@(d?H33;q+x>6RWlL2QMȵ~H-@( d"nxcs@2 Zu7{O6ٟ(P/ ]t bvU,[P[V>>kkJr:G]hݪ@@耣kCQ &cڜ eγ\$ ~&<4S xm\@t~e0Bh"豥s*sV$UxC{e$(K|W'.r+9QIb>xsǥEҸ:O6֩c"6][^^™חa(lP ~fxF*$0 z s%A eB~13^ 1ԺV mAlsCcyHքT=(E~8'H!1AsuIHv?λkbUQ}4vƼO#3 Mo#@򙬙Rpz|֥j4to⋵+fo x#[A^YHQ8Έ ɱH2*o!h Rnںwsz PC1X)XMSx@dK $kKDXE5a5!-f [UovzmR O;~wqa5KqX>J({sX;z7ci^i-* ÿ84OH!,:N. Mc-Uz{[j! M< dZ  kv%sL/4? ?@QR[^wֈxifʀdပܡ̬ 2Tɜ |f/xF+hƃNwa[O\+H)HSTG}S!,ѝqm7"w6X1$͆ jyoTv:!2hc4lLcGt1mD%*ٕz@O7XoQα7uV)ghO$eA k6g8*jXP-q.ld{Ezb%h0fBIz4u'훞x"ڃ%g6EVѤ˨w2kV:*aߗuFqP?5C(H g ֨;[9OI2bN<.hے6hi $^uzL!Kbfߵ[*ϋlg:`ކ .){Ercxg #9͉ v!˽,*g& 9tT4|'ݗv{e`N PfqHab_ꜩƜw.u&.BPŊҐ,7^%|dHBf)DHm'egҺL`<ܹd`ݐԟvsh%MtN3j;bC/F0HEN]nA CjjD_G (T,Σ8Wo;Y3I}X+jIucL6J M!k=XpH!J?KXMM[9?!vK]9_!^.N1 C.kIepR[VL&vlӜb^LIFM8_Y%44:/U:5I鮾s_2qJ[/Er(@"n;*T8Qav:>W햌t6ob󓇢q-W2#a]ê998F-."~Cjg_R<^y4ȝE !Z6x?6!k[K'(!e\ љx8IV?,E#9wڂ16 h*?z}6OikY !!vZ)V`І^/Kϔ ܸ-~X׌jʋNI?^؝7`q\gX^bS$E|!5ؠAtxX4vZ㺁_\Ǥ+Ts?|J6GrYx>vb+ Tc9bJUm?.0, EB%94ھVKFT~z|$0VsWq:Dq * B~n.Ȁ|H9F,L̐1{sot$g#/! ֓+\(U@ X3-|{~'`{>! ^hPOqz"vj1 ND?J G bIf=B 6axSGޚӏdW)_nGD: hvo?Eiԇ{Mcشxui$_-B Ek=id6sʯ̵*g mŏHC)mRӤS;,(}vA>LSgxs@arLAaFm#N6, Őa~wV˲e ZCB*cFK,y8F37q\|ӣh'\Ӱ1oWN@UvlGB+Hu{m 't!bfy.ՉZŠxwէ^!Pqp ] {-G&עe7 hS:C)ɜ@GY%9Mɐ4JCx.'wΩPO7~0OrYu#$ VXF|3=8,ݬg-,tCYܳU>6 ~ul "`flY%~Ūe5O~w_8WުK@kt'kJ,A5K,AxN H@w͜2zN;JIun%j9?Qrc ,!VE6yZnϷ=¡N)^A3i•ܢP@$"7paؽ߼Ddxᝇ&,f=<{]v 1IK:ߟ+Sv6''{P` E-f6{ܥ9tU)ouW+}">#K Bm cb[ٌ ՠ+2przgcALGP7>:KUچk д~`MXE,%\ 6~,֥s3ªGXgBPJ~E_6q5f~[z,^x*B]&Oʵ!a]W9֗_+e  63dR5TgJ#nTA*0\NAν-[@QMMn6(ֺªvE0dJ.;ޒZdr;U-XQmg}yVHi? EԘQLT/ýZG t[p:rhA:ujY55cK~HO^7ȱԕxSDV1R^ 0X+./dq.FB h9F\Sĵki,6ؒ=N?50d9Y޳\ ULHc'pZh,̐ |͋NչB kg|nd [Gˤ^nX.D9^;_[bB_JmT?Gr]޻vp~V;!-xJ:)k|bkJKq#f2 ikt4G(WBx<`a33#'Is:--kGU0WID}=I>ˑ)J/c)Fzp}Rଗ+kǒ+&/2GD43<5תZsYp#F4jyé;=t B M^Vngn{" G?dj ~-7_l[7>O/\ѐw&_+"oYiSfoϩkS C)86QP[H(Q)B7y!nZSs@!Y25Nj)h1'b{Ym i39؆AL!/8ܱ.x[Q+KH^/΢E' @ {=+VS#lTWbF!sV($K'g8OXEZ(nX"b;6_u7a$g>4f>++}a}l\ g}›}uf),O) L> #F«U+f,p=Fdd XIPyhw(#3?|[ @AX /T WڇDP΄]=/HYs0Ad؟[C'[QA U,f2!X~@Ö|&#ʉt6"y Z-e6FYl3s 9}:yƿf]aT OR54lote0)B5/@ɆrT^2z صD:"CN++г?a%nYNjs`q+ViFXpX1T4Id= *l#ku FnD+R|QQ?$m+h3qoCl+f#߹e Vfڪ_?3_М; z%#vGU}R`eߵ p(YtBB/BO]Xl5%P[2!NZ48b_v 榁H0JlR ~0q"W%}zJ(߃}s1҃E@ DDJXj ># $"`rc2uNn C0 ٠|;g m$V~Se-8]bq*)(~+WN!$C\y yAB6(N#,x(20yy: MĩQGxq/ffEfK͕ ˝N+fL0Lj!T _%V&]曨 =}*1\ g(='njMsm/"F7tfj0nFIաħOA|`e{^z |:N0G '?y%t?#-/0%_mo_B&&x(T^QM%Y38s֯[_ w6L:7ʈTgz qTޑcV~d@XUYQ ("@6ϱ[eppܸ%@6 ~ƭ'Xj;R6SYRFxήݒq42[r@J^*`, -Â,&ʔ+3NWs6Ag+?"JC4cb2_Xƀk1.WWTgbΠJZtLI);E$r2!yn &Ï맊lt^]5E14{61w}əb8'oOgH鰷?b^D<|=j{x/rO쓮Qe$3 *ÆO]eͣQOJğqY3 ɸ\Q[`)}$u9'DW&C-9^NȑQ>m*@R&g=t'4 yǔϙFh)b >`9)2O+pF,.'S+(@jᆊp41u:gM#h w܂%0] 4gۼYܙۨO#KS.+B |Z:Sj}ulFj8$\ cXh3\Ggs 42aQ?Uv+z%Q Q+,DDAi>D۴-lx!CmJf;Y~bq^ b v^M<{x Gчս8GVYr!<aުFx8齨@Áb$'L/=Qԝg~Itx'N;:UoSQ䀅-TJM$X@Q=b0s欫 - F{&_Cps'05Opy殓 Rp /t̪uguELWJ7!<"2ŵSƯnSS1~ 5q^؞7!fHW|~pmN%VΝrBK/~jB1S%wgK-Ha@2nD@"0@[tOf?f/{Rz?h[?= nZ>;Bg{aҝsA&p7oOpg_}y/5j ~6:Q]AP|̋'spۄVmo2_2VF潋ʍΕ*^.,T$P1'.@,=q#Dyq0.3l%ÙS?t.cRuƴ+D%|̲?uy9hmnGwph)/RmeqYWy 8;H$Bٮ?=g*QO5OM~ߋS@A1GӐu1fA(ڤa?|ghkՍ?KYU9,,xiBv]cM̎/ 5d9icmgԠ%~? ?Ow{SLTaS5.7XB e!PpQ!]®WFQf0Y*[mywCcV!;@wsBqGN$ hT$Ϸɧ 7JϫU$YOܿʂs,U.ŭr~}^̮vNDЪGƒ?9L`>'4jxLwX[ <,m@0J>L>j>)2AUW2Enjk;Ī,1iCPZP[OѨeq:B->uOC.)3e9AHcC#1U%Exb&Flc}N`O aJﱦ!h@%4x -o$1ܒ_m9 Uܮ1FbH"30\[7ߍϺ3$e^B $Nյ6 br?꫺ 0 0MY{UZ(%i|1e ) xm2TiO}mb63\G )Бx"r@8 (p⫁*pd;zS;W}WƜLb̈́ F5Й. R*!}$y[Gaw2CCs9qdqf~ݖ2ECgn0/@r'v[?Gőv/Nd7b{BH]U֗"^#7Ir@6DbI75$BL(X9y >b+tli'Vz뻸d9NùuYpCIʐβF|{TP3Gqh;BhmL |_.F1:xAAя[j?~}~@>H[ ^'Sq QJ.,{dmkQ"ϳl@[#JQ:qC{~YMbТ-m\W/1Vt>(@3DijVK3=^;e}PnU-QL=1\НYBˤJ##2<<9q:ypK\ µ]u}HeD~>֭Ũ{nm%vΒ&:&D';H},}[ پEe5RPtq\䚾 K`c}ǹ ,U5F _}KG _j>y5;速mTN~ eDfqsxB;1/I8J'OIu1NLӂ,[cb3e6i̟^x!n2 Aj"0fh O;\s8ev:뙱:1m=? &D$MK2Pp;wNXcBC>w @̚^'.d9CC` ǞNTC:SsY8VG']67Y `nȣ+bTbЯrך"` ֖7 BU@2=)Ģ-)?L+Ot={R>K,}"u\FFӕ)AH4ŜTCaeub?=75G=3#/Ǡ'9N%)wɋ >1γ.f;-y 2cd-6z>&n=lpM@>;_@8G"pAef6qk  BAP ln#8O-D.>yV%},3Ew4ZeZKi U*!?ƕV{N@; F@v &yeb7X?NB>.C(=* /!|U/wl^&-*`UIo3[etbЏE\ 2LRyͺ4L4⮗= KlW~t9sQ*~Z0i-<4 }h<FS1 gs b0e,**il? YVm6_} Q+7&Hc3R(& 3UASƣZ}XҬB<Bgo`w pf;QC9e>>C%F\b+G)|-d?+wWoė;3reGm#{m/oUJL< P*W,˪q 56ZX$vHQg)<A&N޻Κ ej%OQ :So?u1{4F(5tPLoy};kV(C({\' Y(_=.F[93FhF4g&E6)p7 k2'Għ6 ^Qk LͬKeN%$בі> e^MѦuO^ޏv .%A>޷"#\ 8\rtM؁߄$p;g1C;BTqWFlyǻ =ȱ)w)H%gJgLlbt.")t~Fvkg,ӒFk_^b~0EbL}ȸ; (.27hW_E+QN*s]q%zЉuB R i԰&+^8!YRD''.׾rMmk_eU;&7k¼Eg8>C&>|(`pL]NWpiKQz&8u);΅w[%o8;" %k*HFCPߵ0iC9̻\ "M']ؕ<GlH3tmȾ d,lyp(_[-h-,ԟK89ߠ0i2҃m.1Bq{̰bBaϜC'\$dc;|N TxXC'&?"d!|[[p̹m >/dTы$,_e2^W=cXO!D:t8k~KȞA f"DQ0xO"@YҔ=cMV#>nhyo(0"f{Yuh-P9Y#Se3U!Ȇ։m(fCI8Һ5&8bnL&%Fh%Xng90^. @{n#?=ou͗gΗ%SPQǽ1l1>ăLE[.:O ̣< 8RߝzZ@@;:PP#|Z]Oe7fWQw!YkyDQ4`&n^["{j||ǖ?g_-e$vH_h?ͮ[N^˃"NB" 3K?Wu\T ~4$yÉrGR,ʋ^_Y='q5̻MU9FDͲExQ| g%T-sMii0snxtW]$xRm ጫM\BaiSPDŖ|8G&v4bDƎya5jBKбfr51u@EMa>>j/9pm.i**r "{JQ xi <^nG͉ɴ_wB =ׁIxg dq@)Nǖz$WfH-0:вE`/nM8s=̳:J[j6upPl?WlkL5>Q6&_JKn]e`;K7Yy x>xA_fЛfeX֢M WꈶA6ܟ A};PAw_6;5巑JsZva9.|by)܏ A̢_rw֟ PYu욘2IjD/mV=e#b 4?5jڛ)Z`uL٢Uf=I`>-$YxhP|2ͣvu ) Z%^r4_{OEsHwje&8†͆QZWL?9 ĥ'=XOf|j73J~r&@Ț!D\eg"'ۯʋtDŽo#!n|3t"O@4ϓH^R"r\=נ}.Fye&Ƨ8O}Cݭ\R I dC'`47ڽ@E 6Iÿoy*hf%31PO<BeiG ,k*npO_d#Tmaklͼbu˔k#52RΪSj-9PD~2nN zPkZTOw;^\S= l7UVqࢳ-&= `2_dWt:fٵA<4GחP:D>xCzs6%rFl8U)7O [W|;~@~z.ݖ6!P)H}c ſ~'WgJ^|Nsk-,?NM͐;u{[Yj+D5 ߢ&iJr}k [Qo*v_당$N(fe|gBNgjo&B԰.SmqF#"s}_-z?Sk5a2qDAbw* M_Uܷbkt樹jgHBAbO)oϔ1JOPBIK{%wcWpoIs]׫xK̩4D ᤧ=@)QxT{ eaz7nǨϖA|+d uGឩ7@g˦O'/bVM@yw'ӌǓ6f;,}y&ذe6n7\s}W\^WEK8r;-Je`k3DQ gIX%9Gu+h/ygH&0n#$SӄHx&X/F9Y%\@/w$q\{ZFRb944C)>5#HɪPHy$Zj?_6y#'ˣ942DC-!8G'4o]DhڇM\`[q9rm7Yx`Вy : .欿}uLѹ<sJI؋q\y3+)Pt,B_lZ_ry+yI/1ؓ+V!;t1lPlzh "(oKڸ^K:ϸ1KJe_Ù?ĴvH LS{z^e)ZT528x)e$'BZӖf$ D#=5 ћ$l a 4d8J`N d_mjfBqQ6<^49Hdu>ր9PWy3˕"Q{S /3S_إR(}`"9;y1(U4Ǵoajxp^rV"$HHt99:ߣlق{fRLURi|}3w)}M^FK!_( K׷xRe#摹`k4*Ba jj(ڔjm2yV@,y_I$(AK4 2 @rz(*C/ΝwbV5&R, 4 2'#34pМAt5;;&۟)#K5N5r[TZ5's}`#N7[/(le:U]twz[vk+;Tlh#]2x2e!P?olz) 9}3ɢ~\lCgV||u$H~u[V핬*~n OnAGb4ߏAGoւoT/uyh:z_4#zviښ[ 3aQ= pC\f](5-oG:Z^۔+R]TD_ Wo`CL)_kjj'p,zt%bBjD!Wذ+]f2YB}GzGn C ciuW̬a 0DL7yayg>a3J,|Ә5` <˜32T#n.)a1?s=LR8+: iD^Mu ׶[*MPwL0G[na뿅VΑ2]K.L^}ŦC WpT̻8 0QiraA3YӥiCuLjEGnXyUDtUte9d~%$9IPX?!_ž|{y;gO ]4O:ٯ̋Xj]ЗbedWSLs섒 jSR81Uf,^qC aVuz/{Ym]7\!+I9Eϣ\L﬛>C^MJ@$l:Ϸr XSZfPXhHtww6C4zK^ 9r g*ԗF!0ڶ68QZ`Ow[`kWzTf3^e!t*3)wFJUG+v.fb; qNt<*XO)+ph%U y9/Ը!?5I3 +A߂v뤃E6)2s)?_96'S''oZ7px/Q঎էWl@@2@ŊmIK`hAjBbѫEq8kf;gL7m5VuTgNa3J&j2193p˱‰~t2esRB"-+ [K?]j#.A̔ Cu¤5'%/}뺈<*ex=1Nx98jAj+f8āFZxϝSSm[Rƿ:<ќ':+# {,GRm 3r R"Wu>aM5xx`}%P,P'ob4U$u_b2>TPk[Guʐ-9yRk't}5{Ph-q/ fݛX}ZmL:I` ?Kra;a*D/]_:fs.ɕ!=[3+P4@|3Vn_,PL֍j4J I܀2f>dcӺy%kx$ĜFeUJӁT%ϋ)9%ez&` MZ:)hly̐3էQ^la6QYFO=2Voz%*IP|[mb0$}])ֹfՖR:&~m8܉"K@LW^I[w2O3:WOy+,"AG*.kne|9."x1ǒϗ?~Cc?ݐ0a<kFΞ0m){iL}7]z$0# Qn8n퐫IkCt#$Rx/,L%o-o,4' +H4l/o*9{[̢ӕ2nrjU;+JX]>R4ԕ:d5SthQ $.r,Br>EK[|ՒIƧV8&*q,SWL|yqQqu#74dٗvitW`@~"; % t_T~؟ ipDߕq1=[)$sNS-"O"Ut Ps.#=_&6igF$XjfFfpB3H ^f~%rgjf;ɬ^ &L1h_dVR [`S'kG@f\S”_qaU+~lj1SreWxZ6 U0k5l"0 .alcpGʏvQݩ##'t*NEa*9샱(3 M?g~eKUMs",z* +ؔ:a&_"բj4 s:1\3VJ#1;`,JCŝsNq=˸ ú&vNH޹0nAW >C ЧŦėG4&W>xqI߀p1Bُ_B8B 9^8 :.]`GHbQu4yGPR "AgSh( ƫ9{Oا kdTuM[h/ P6UBK ݈Ҽw̵w[1]b|Ng;vdT:5!(aĔ mp;]H_ 0YB/.mż"J ΚV]/ /eZ3u$Ӣk<^2oX 4*fawM$"&|rITgQ ub2;MyMKѥA }Lifo~Ŧp@mΨP)QwaasԛRdO݁S,޺kV([XG1 È+O-ѧ̮h5JRT18hz .VT`zRg1+ט ˑM+ΣenQw7Ov1 1XL : ]LftXȭ .cd7kW."W"w fިŷkioHw9U#n8Ž[[v)Ƭ;F,(xO 1RM^z(rd@2ލWWS`nzm1XO1B-șus%45I ]D:+; _Kv[wLmSͫb%kb^ l1Dq܊1pJu`Jy'6́F{l56qEՀu9֯k\>b@:%Ɇ5DOQkԮ6"K& 1 {ѮwQU~>&⦥_`}Fy!xZ5W.a܉kbW?Cf'/gz!yN7g,X%EϘRROQ= N5y~Me!W>.a4ܞ#qfW!WFIk +5tsMFv NT geu5*HVI6{99 4b i+9r 51д'q.ѩ%Qz` H6]TNЇHVaDzt錈-阶,uxP)C/'iʕS 1ј2WSu<y8DtI>_#1wBg8F. ׇIADg, 00XdMRSLUG $X99Se0TD Q^0APq'/1[Xw?+L]] /#kޔUy-'7Yƙ)in|#]#OCV,>Hm1bD2e~SuELe@kaOϫG]0uƤkIϛ%?usLEd|>oT˒Aϼm;8P樃܌u<1*ԓLT+ekնNX<Xh.ao~e֎EGKw߇ZHrnr>1)?#lH t9$bfi/b@qg#qnycP>Բ zRdg-2Fce#f?YW|;f ("bƻ_jFJC%5 ^Xry:Z؃ߠy3󴃖)f'-aA#zx (e*e\F=' nUm]Vѝe0|Oo, چЍ^TNN͓G9IV`( }9 )t<'H$47WQRѪkZ% ~-l-I9 ? ØO + {$y7EvnlBwu<YN ȶl.\]6S7;-a=uKVz*"/C* cҰkt}P(Fo H=0DH"J}'B祍  iz݋9pɽf/[4ؐ gȅoͦs@k\%uG둇&/5(klς \ѮHP[_ץվ-Z*IhX'hyh9_@^5E#N:-I+9 ;5 e,K sW ʷVAk0a0rp"!]|$*ɜ+AD64WGM=vl;RU$avdqG'7:9AjM9֖!~Vz4.um;~`2J ɲ f:dKgX |].t=VRq"G[L>M[s-[FnBr}kCl7_+'Mܧb?)|h0wicu}qUl|4 $6B^^{US$-&9eb=fo];¥g %dL?ΥSǿixP H$GoE <^1nF@oD"Tx^<\I3bf''g Eiu:a1E_ s ҀBҵ={hێ&pMt&Sɵ_*;;Tߢh5'4^pdV HT҉~I\vX#cNHj]:b z. \~fI-kN#Wn9C#;[3l{ =ށ,_pNڑ!u^ r w nn-SC/K)LEMƊieIG^|V}bۢ Hbҡw+!z' AB"t EWڋV(S[qA*X8^H-J2[Kĭ:aR!%-k CH{BH&*KƀKJ9>ŗ+48DUjnv'n4 vFl6G6/r 1Lt=zs0lލ!bʹ}}CJi$u^uR+cz!:KV9H `*HPvGNO| \T rB62=V.p%OCujnr "򝫼`UA*-D}c+;E'5 [^BdtoIzت*դ"weAu&R4rDyݟf- +ӧaeWcLw@:Z<;XeuBi?5WJ2AQxZ w|DEd_b9#Kf}gNȰyLJF|:@PEX+n?;*ړ@|G!kZuO5)K&Qd\S n(<1@O#CP"檧JLTxSa<uxʅ;(a#TBV[ڇ{tvgnq%j"< e]gs)1,Pw'*2ѥLpHj| k:r:iM?Hjffύ .IrQ,^ is5br'R1fk#mA1MMfQ6= @o%-><^!j .ɴ ߁+hh,QxB!b!ipwoMN 8Pǥ fuy&sMԊ1dEJI,z_}Yϋ^}!k3RmcuT/y Pg1W nc-H7EVWapG(Z8IVttZ+@ E$py4Wzns8ぇ'3`{}ktpR~RQ c膑o,'p%vT7vFސ @UF|δ:͇൏6Qlo!1"&x.*i0@? N%bIR1#Xuo|I+ώ-t\M:Ѵz4J|}ٚ3,YADH߇ ǐ˳pB`ʁCga,bWUIޖHC4pP$n>tNTSOP݅Dw Ne;SRi(.x'ߩE_I(Z+j`.+oD3GչZ!NV vև2W< Fu~JFOslI8`-G` V3V*_~p耥y<櫜;)yҫ1`pQq)R֑}!c[u Z/$ &~ļB e`&x# 6*K0͔rhH*Ed4e1,v_W0hл. ʉ){32rR H#qΘGh loi%t*PhmBS4UԮRb+}/?67mf\ T[{Ynb4 lVIbwc#Nj[$m@bĭq"ZO?X櫚sս|ϛW8kW1@e0X?¢=@EXn7*,G\duvX A$sR]Z 'Z~q L j-ucU%ED@'FCEjçv`ѻqC5$%|Q#0/uihn(1N_6K w8= ؙI3%(䮡 DfC%KLi<5"'Ю6棖5Lu1ֵ$Ǵ_xہlvfzP:wbT_K OU^FFxp>v8#s&Nk~L̵A)?;(I1 n6VVi2<,&xMc X^sq8)i C~n~NcH]z= nx.#IH"stJ;'%M (j.d3QmO9lhrTgvVuI',>ٟAVnTq7J=?ߘD T.sDt,XËmBS>L-͚6fM~'/Kk~JBt@N&q9ꦔ0t1& 3@|K=&{TsVU/Vq~1)Õs7QqR EN^ɂ^6Q}G$G}H[$2Eb-l'JO EXqkF{ J`hd&Cp*e/XaP ߴ*%u32 _X.K 2eKW̘u艣}vs$m[$K\A3I8B +P3,:~س$i=@|a|o5$+-0uZ7\u휎˭5)lKHs㞳gAǧ=AW^zjnb[u$7MGVB> Q~BO{zEGSXEu%pbˌuB`=oI 5FI:,V V8|3¾B qqHLoO?c-[`̀?؂JrpAj]a6 Xi}$+8l*c;oE߱;ă5c'!əkB 9&,{w 9N[Ť_po,?C6-@qP_vU'$._9MSG4@;F; `Z*zf?|w."n>8 u7h-gI#_**[OrdWN~٠vT?Wha.ڡ2+T|&Ҹ\xa pAMf [%wPkBV$#&H[7Y ek9yWd?$A}Mnc[]7GnRj?H?i5@$)AEGOa8cBE 6ΖNmؖ +{G5=Q]FvPWbЊ̀.-q@SY@EM$S m'စBdqFos*A]ґhiLG' 3ӢcjffDw+TI]-Nr*EY#0*7,^_=g>v9ԟJʜ+DaPt3^Ϟ?D]7#B3k r_o\oëdJrD3Wu[ %׸9D#l)]`8jU խ6 ;Pk:'F7?+L69ySXb$\<;|Y@kK0: { ә -ɉEH݅oyJ̥;h(Wl wjJwrwp$/"ԹQ pEldgr=7"HQ?7>Șm|4В~XX8}=^Xm0$z`۝NCԨD>o +#[+ $e>A  UJ4ɘ6GPDٝ~εC/D0syǯJ1qIʒR߄=ۂ@F)=#ה@KdrХ\3'{!ROi$tFX0=g]Vآ=sHZvRWcI#jr!g)sR){fx0'"e iS^ᕺ 2b처M ڷ?OeB+4S\wp:JUWTn Q6W@]43Kʾ*4JV*F-< G| ~ޤ[ֹX=a6dŽJ(|"PZ`|w=I_ShL``%ͩ^^Ǚ.lחRtE^S/޳/O['D"#!˿G`fc۽p,4^dtn`g3sGv!7u( ٲ$OȚlLҜ^0oo7.=Pv/湾WAAP PدO}0~Q826*@i jׯ1Ƽ;ˡL3] b-i0gu OPM4DF)ykq\ɬˍ@.G<@S6_¬U~D>&ˇ~d~(Dn8Ubd}g/xZCƫ6q?YbkXGG+z3'[CC`"8N?E;nf|cvgsF] [QٗQ$ZI9†s> 9s妾JX5_H.b@Joh/S(mĚf⏩ fq`N?ZY'P1gk;ְh)"*UUn?.f[Eѳڤ@ {vk7}Fv&E9 R!k/r!Qdl|A=oڼ+ ^+wOO1?Y $SEdoMi;8'HHYqP`Q2ZV@Xj9&"Q]~Zs4oannűBpg\@R畒x.z0Z$&n=I khɋj>_GZ|i'tpbʺ1gBʆ4ºyu!S`:ݥb; &g:L% X$=W@i %3Y|ß-D.9+n|on2u3{] F+I@R|Y8);2PwIXf\_UbW[fLt0Ma2rnT,sir`(#5i $ExΉCWy;={hf0xUNajj]jʀeugxo4)"zC_v{KnЁa8@S֟N\慾 /6ڗu4R̞zpԡuc =dCō0Q#Sr>^RխZA/l d8?^ %o~%E WkE%эa+2KTVKCIy|i!222/BO`ф;I׽~3L3j{tB#KNۑ1Pȑ OXsۈt.t42* 0Häckq"g?,@|RάaJO: +(^0ɭ)>6v+Âj ~ uՊgtzöMB$ _!s{#O#N92to9נzʸRneW:~S#.C_EXw-E0J Y?]88Mo–k ޵ТHΥlmC`g/k6,:"zv M 6ŝWfjLsu}ˣkՈI@?hv#љ y^#Y[%uF!hK|o? ytrR(R$+3+ޥʺ} *NɅx>P40)4ZYKV=~ *{rʭTS)/vkR`?0*ԉflLO[`О-(HGӱތ]cy=ΩC2O0Q1 U&eaCܔt+wK0g8)zBSµR?IXvL[8l)AhPF1) ڞԳQy=ͳb|Td׳`@!C\ę'\G ӇEE ?ԧ6?)78ʁ72ROR%- Y~hɢ JT7 ={}co9ݓZ`̈́nѢ}g9DwRFw!:U}ХH)M:]A_`1h+Y߰;dn5Ғne(IT'TX>dԝӦU0U\&H{@Eܐ_+IJ9R򃝋"ӇPyS?eRKq^!-˕h]C2u56$_x߮AG%cto?U2%}0W6A+ftOQ^BvI;%>HI g:WySFRjAg=rX*c* ||m> ]39q^|ApOUn"<6\Nmce<_K4$C ZUKu?=NXZo\ǻ7ZMCQ/ҭ{ Q4PfG[TjF9%fvؾK`4iv}c%=0&b_jX(:Lveb񖻕%`/N+@PUrG?1M'ZTayf 9~zԻ*되q6 2-aeZ:֓vfi>1**T ->""l)Ni?|u@ckQ_{ xFéG]AH4pK\5W8 QL,wٿـE5!l$DB9F9aQY<͸fNF4h(*΀ UM&UЦG{,fj,{ tG^Aв5u&%̾s4 Aڵ. L?G˻/tkR $a@VB#_aEvCV obƺ1%\1/=Zh̶?m:ISiD|6IF+bZ#Bd Z+OtT{a#!F$Pvr|zC [<ٱzyb}c*!=AbB/ܪ iK`>5X~h PK4D@x*mkʕ/^$ja\n3Q4Բ@񸈊y֫]F77߬~q=E`S ؚVU?~SoYky>"Դo:(޷wtd71JDOCzjj  QSe?NaN -dIC\20n,tcL˝#+P7~ŴA! ho)KNؽvqZkNl*ahnycA"Y![ڪ-YsX)*Edtu8>1+CKyZ Do ^ɪMgۻиh>Q!x?azyIL&)(],km(^.<NjW&-!K i+ۧ_PPGe #g+D^6Ȭ xwlW&*k0d|BKgofL*N%HOUzg4}TSp% ?^ԸIjx[z,aAEv%YDi~ǓHىPT2̓jEܨh#Q9#  0^'f rיjJ,%-4ܛJUai;g7e '%9oJ߭eޞX"U;Sm_TZmFVHÀ|r^к(E[s5{#\Esi̥?T oLNM52ҡ|n(>m{w: fc!ɁR x9E~)1RKه)H*Tǜ 7;6サI]MC`"# `lP(T T:Sj5f 鍩!Aةw͚N㤁՟vK}!8ӛVS\jbctQ&ksBOO˜ten"E8 R/яG qI8S|HIRTe.]5Džj֯'bE*(1w^"|Zm#sc9 P,J TSqb5)I7Kl"F* :{UZض#lgCqA˼,1\,hy?D=l?eC?a3>>)8sO42s*TbL9mCorhWo l%ɂ T 'M'슞_: ++x^J9!HHd W(O#cǪ5,[J8{)MB837-fU ̃{doJIA^lԇ@fsPZP曉."x@-Xo ^z_ EI ?~Crk>Awh=Hl3\rj4'Ze:̊jra7{wBf-Jjyؚup*-lN#'D'V6b .;" Ԯә. ;'O'Rh 1|\jSc PƘO4آ.Kh>y=c ,9g+R'KpW<&2‹jRBAvz!)V7S/YӇ>, &â%&kq3./)_"֚t~+Aक42=!eI%9=eqվR.L*_JVk* ngӊR&=gJK}Fl ؼOa9)17.:_x=Q?U ~~u;{kbY~c͵׉ 96'[//e݋tVa W^^HˡoJ>y=XSx^4sZȤo2'w82Pd}!%#y5ayY"Qt `[jQY_1 .l#cu/tm[L85 c[KxtС6CQ~ajmБ) .iP=T^]+>媅(KqoiMTas8?I)J"H;_Yj;kc!G(oɑHrL$Ćjtoc7lsfn*LT@H{J"#⻙V] ۸u;Kg~[g W EW&W_uWx_#V ЗvK$ ?Z I$?qCZ(pFYsha R'ji١u{>q%34ba42]NuގMu64;/V#bZ 8B ea[P(\-bEM,bڜ#:7NG-\KU#Z )W OG_v M~_.Uoyό#6 l| 4c{‰8&9i.׉ŢCXؐL}>+u2:5X[._Y:S$T [>cPzAM;[nQg'p{;)> 0 H6aiz W6%NS '̆iD ? vC' MW'g\6,Eot@lMNGٌ)ҿ&nU IN $q.w)SeaarZ6bI X{63Fΰ &4}4AKG?狢1XxsnzXcX/蜏u|EI ^vUK&EtjE@CK-p9 >iU~9G! 5xo>(NBi9z"P<ɆS@StBE'f]:6tWZ-y,[{?Ց*^oj; q˘lS'd4Z0.z14&"ڎZm;6"#w)sUM-~ZGjNyCVD(m:3QD]h?Ϧ^4/#aQsUG:ӗA=b ,\ŭ4:4c!">U%^ΤFH,vLu1ڊbwK:ه|O133LcQcȂg")Rf?Uo:414l' A)FSA E7~vm^pI?p!ږT6xw/DQBT /PaKbsa*JYG ֛mFw_.] }(oi[Z2#ЩmQ\o;thvQ&r9-8]|"xEK.$89f!QCȬLv V|*ƥ!a)xMZA .11s <*.C d0? xm =7KyyʂID/@ƽJY!N;?49JćUh<~߮m@!,?7jG牳ywt:3W^9 bE!O@U!F_P4NDeֳd}0a-{l)"E ~ bGUKRvvJ5$e p mߍV1De] GTXw&,D{%)6: T0F?m2= >ݮU;{};ke' DθH߼%ƩK BD^wN抵D"9?3VXrB(.Ot?P7,Wy]y<5t fƾVž60`߻A.D-/fZ瓼 ;ꬴr i@r:kY2%(; B*Sstz5s=; Jˋ %0q~ >*ݲ5HP^O'VRu D"%&K*CF%z;F"BYb.w6FAVWxSl9iZ~qXWT2>(jMu\J̏y'sz) D&zJJqa%=I߀I^\ dP=':}hP-o)Bes5|))L,NGc>A?tX`v0;-Ow{)> ߧ2Xk"+'Y j= :E⧈"+, HGH}LaadO0IG__wM۵SXj2y9%$B==?|h#e{Pd5Uj!ǽ.pfHLXRp*@HQEEEaDUjQ3 dF1+.niJ-,RG5M2 ?n3Q+iWϝ}nc[>!Wtiy_":1ZiqʏnfoӅ=o_,-UH ~,NĀcaccIPdqTp'~$=ڐ`(2[ {ctkA̩;b͵˰!n [DG? ݈W@S4읖TH\I_`7Z|w4zH囁KB?;~bc^bh"Dz{T5bz:+tފ]OG?yN50$I0NLduxӚbT uJyoKz 3 aͣ39Är{ 70B&ۨyI0qN /Ab2>:ɖ#6JqM>fgЈG%c4uB$m{{V~-/P{+AZMn^ۄd)ؕ#?ӹ51J5*TD@V4[rsovH==;fBt>ZG {>.4C;Jz7wdM2&P#$bTD0=[ K+V73,횴\&S 7{ 7i:{ WkLғ ZPCo|Gvy N3E(T. ou1\GNӊ7Pӎăq]ף\ *+VYC6x(>#}jRwQz8`  ٧ Wˢ%sIb@sT^[>Ma4hO/,(!5wG?$I5̍7 s]\g0"cfue3,f&R7 將J{ 33TGV߶yk^]y#ZOp%VEBI5[S 4~ Y-[_`8v_su\ˌs* H*W! 4d&$F٩΃d<`/?̛թUw_IFS^i0:|ϐه4d5+xoX1m]c3 #xdj`Sm2޵I A@r{(}淩^W 8xv;ߴǽWl_ E _wQ'af'2\ByB9rb9DŽE?ꪅDʃt=h{}k.d)c<7E=yNw gKG1J|8Y2n4t +^փ%9ﴱi1E#D`BGMۍe4T'\T#ρkV&.8 +mXB>\퇞Vu&!n#+!"E{7$יb+^!LU|Q Ƿɦ.:; Ns)6Ҵ gA]$ S\yD.E.I$`Gh>}7?slzwj5 >gj[;[=:SZO ke I`o^H-,]of AY'S p$ⱘ]i.LW"KL7YYLG )W47YNsk5%&GOgD8fw(ȍj`8*C0Uswlo76@@ C!Y%~F3MjQ'-_m ?+:t༞/,ߏJ0# 7Mzu:G }W+2v K ^stShQ pPs:䩃UblV "쐂["w rn3k{Ol\_ {Q;ᐳnҵ `Ri#}=ȃ5vHLS*F$}2ivw.Beо&PPOms琅sGFi_d  mg#m%y >EΧ&K Qpdu؄¸X ;y~Ei* `Y>](fUn#L〠F{[,G>XAz3 0D7T,?7CRA CY#m4m96̵%;G;W3RDE7wٹ%xkr@/j_.)6B]qsm-No j@;$r4P93\J {L*jɿ}p eu&Q k¸q(@t~{o5YLM@NdY[(͝oh腥٭V!*s8b)WV4^{.rLU^x[K*ʠ+~j҉J0Ng"XmZ$DYdߔM%'EjIiEW.>S8 :zN4G]Y$sSK2>?8:jNNTEFg *OiVH54Lρb-3,U=]7=62Óvf,.^ )CzKY]v$f0K GP0!p#_{m>ƺؘ}QB|S`LPhѢ3#x!BƐ:{J+o|M r`)ð0/(fʐFo3s%۩ZTR9ۄ )9  d[@I="eS nZ g\Kb:phuXb!;NÎT3F%a7k9%Yceǎ'4@gkӚA' 5p`paT*u(T 7yU^3o4@s h3J95{5U&1Dh%OIݶsܶQf|C x1q0BG0se Kg?pîWmJs5y6N)12WOj,M<)o@#NۢpgLcV˗w]/ySԨ}twl ´1 [`PfLyt7:kI&S&iˏέ q70)+vRr@ X7CnUr{cHU*͊Ӌ[/ C3x0-f 6j$^N}A1CA1{5G - xC!S1K[4ӭ¸ a;Em(^5}i1 3Lh!5Z+z ˴\:_dDKӣjBc*RG7TA;rX% uW\ w=Ew1I1 +>rqGz:NF*GWNQ#EXqUOVh %fQ!zI~!;`Fz0vCm"#$3pĔr(^^-A9zx0YJ |=5|sk9--s zAetJ|hxtR첎!Ȏ#ٞJR7謠c]t`WG,kz Ţ問Jݽ&117+:q<4/`)\~%n^N7 :O(#"9Af K[[5z&KQHp ~A0؊ʳUq", Xvΰy1'Wf0X$]B xta%)ޜ@`faiħye*y{Z]n|3(c՛|Ȑqn4JaKfw.0=Cg!6<@]DEuR(%<Co[؄cٛs iƫhSERm4%{ݫr9q$VdEMP)>g7dtt9qe0/y7we;wFBWPhŭ*:H<D[w/5.?s MCI0[}:H9wDJ[J\bME}M^8F JhO c*MiG@4 ,;cYpԍYN҉Ws4 OCԞL*..V .2R~jJ}p~Hs p}3+X#H4 [V,.œ'Ƨ ЍO [9Q:&%+_ vAA =&İWc-˨*xKeN ZOPtEh"2:wB%޲l%^nhY^N`oܭ~KjNPD@;xTpVw'm YFvb~w5Zur^݀SmiG d_JZ]G?I4- |q!r7ݤV۱A&m-d"!W7)ݵ ! %-< նzDd k=q=< %yF}!+$*Ksӗe2N.L dE.B|:,G +h1I&QV r=v*e,FUA81ٻڿ\ ܦϗ c`gΥ?9]pAp1NPYSp 4\07 (]Է}F2nDmA5m"eZY[ "'ō<~>Sz4׫kBu翁0LAPցEg'=F'O7g<]WSN22(K^? fBrV @o.9]A\Gw36 rB0-M2dMB8[p ǣ7ue&-Ǻ,(ޡEԦ T\:ox(z4wG*V a5,+ɕ,;6ߣmSi,(FѲńdmb[nr N/ &^_iZP(|N2<>zޜt9{⎨{Ò9qikS =abn,5L)R;_)\jذ2>}f5*ǩT؉o'C<|xBeQb{:rrQ@do^'> GD_;%@I(&'@e)sDGsycT{Tb.go;HKz~&1:xܗc_nio6clE>S\fNx&cӌT-mfX.fSr1@{ ?B/ GҜPٍo}lRhwznS;\kd>OG父5퓍. mUSzj0f_`Լy\eBf>$P:8C7 46^y{Nh⼨)e8pA s]տ]&TIAR X9QLq2 fk0aԴwpwH?= iz @Yt*ՉHG#\ٽ$]l1J*hLK<1h'Y0iR9W%_0~ΊRJfDEc``8 zYA&"556PlNy tg;'0 9J ;o65Mm)G~J>LSFO 46qJOq4ӂC=:sFM ?r4q|r4=sgxa;m4:ȌkA$?cXʘMy_Uq|: K qcvi8tb Vl8m!:7i%݄@O YbXq\ V;}{}FVZ']g׹|}*MI. \!{kBLotLJNvB-$*W~ÍF*)E$ڊ Dx~E.6Z2b;رh3=Ihu[?e1Kj];guy:谿:?~:6B+i@aЩsԱڐMm'ތDE別7 kj6{ =*n6B_zAe'JM: p{[ގNy'%ICzL[)com֪B,tRh0w9l^*3F[It LP}aIUk~L=gҚ( A/&xgDկ6~f^)>ZJ+`{WF 6c6âg"Й-aL֬I"E4h<}8ͻ9 ui/}@n:I`v\'G5E=w(\2P0 mG"Eʲao1HcъFspQ/E5Xn'( d!+:ADLދXVxR!Я+ ʞJi&&ڀ4zLպfhn#FW8WА50ŵL+o.,#J˵l@Le+$&]\9|4cnQLJMh'0nu.&Y?(|t!ttt6oɌD's*gC+[ufr{1S@9?bYME7׉S&M֚TL:As\m ~ @e);X3.'St* %kT/`3$cBk71-r҃z'o,"P[w{s KOqA\Tu8.zT.nZ,-g0LS ׇq%b [ ?iقGBZ$啿 F滟d "2Nꨰ#Z5u#4X(6RTtcn?Z*:rf0KE4y}?KR$ET .{h:WU}T)W|/e4 ;l,-ocO#J!6Hc^416[@ \C\Y)`cmVoї~EqXm!:i5f-38)9qhoK?D˷.X@6Vm/,G;:=Ifոe?5b2ur]_A5WY+p!򇗀/i?}EpnJCyW­LK[ %({ U\4'J p!e L7;&.\/rf?sVվr[zz*S}JDcPD"= 7) &mF*KO-p9'0s߰qxjy:;iBk/V-BX-sS2e&g 03꥞)%I]|]ՋQ{~42]/Su%HKno҅ZQ*| 'MQ d̦> qv=`-]4AD}MT=vs1(+o$XX9Z6 ~HG{UѼB0(A 1gBL2mme1"x(FkDI:uN !̛Z]STHd ـ\KV5cYmx@SRP#l.uU)ⓓ0zY߀DXQ6NH@=P< :"a89˔斃_~v?菛W v7. }s}"%No< UnEAt.h Iv'u%==(<QEPJ*qZ B㓁cZ `@pC$ٽ"/oa^U3$~#[f>AK0 wׄ6( UPiUΝ+¢-ǻTBrFMұOn@ lzz-hu_BNzRs>t AW?4dj%iu>͒~}1!:K]ӥE5@]b `kIhOJ=<͐cP[hސhcI}#Wi8=aoe]|S5Fn; T )I1AocM"Y B(Ex`SbӚX!Jy.hMJE-nk1Dt۳R1(Zsv%4v3(ZHG ![$ .gUvYb&c/0B<~kočE?7\Մ`'T&{9lgR$n#Y#5XJq^)|hu#iDcVǦmc櫿˧c,3&p7h2dD~2_) l-HA*#ǀ0adԞR=㸧P08ruj_ފ}Lk w`](cVK=F1M5q<^eb^o9Qa+o19 g48֡wp @GTNFy"$:FRz^$ P.s(o/E(҆Ҁ}u!2-҄'BRԤZ ̨qAKG@L`$I8vI摒9~ Q-Rd esauvz qȃ7uۛܢ~PtG dDn}^v'E3ݵ~ݳbS?Ϗx[CTwwZ&ywИC 03,%]55vE:ŇD_/?K`ЃKT:oS 81)tC_+FQAz' .dQcڤR$ɿ&,~u}NCmO⫁C^gt'ɡnV'N˟`7` u%0~mTT)l_iJR;T>.lY,o:Թgk+,]R/!o܎7oR 0I'))k:8UzՐCԎ%p8끘(ɖ5KBVB +#e7A'f7s!s_^RaU]coCᖀP]5sP]L͟:h5 ^^3Dx(,m}V ^˸%2&9ϜWjEl1A4JW3{z%D1睎V9ܟ1D^|fdTP#"&91 @<6uW%n >'"EZƫۧ2^'/vFrDq2A9<5iB|ҽ6s7 ZwX}ĥlF&%hlhwd%ձwJkpg#a@/ 8ymJhƣM~2`XĄ<HR}x*l<:t_!/.ar7HÏ%hwUSf"v~q4yJj/h.vv?Ffx4IN89&,+Wv@Y˛<ʴ):!G5$ӂhlZxI}%])`7`Z6kˁш,QIPb{]Jk7yos#VFײφAh,뱫o41~#^S/O6ocmM74Vz?(ݺbvuKLg9|Z0+В祐ŰX%!mC:IsoGO&:i&O?C<癄,>/ pr$x'![ wpMuՅry2?)/0p7 &a2%y9R(XLq⋃r#ьZ+-8B`T|\ϸ|!C?䃂F,3*PyJY n7Hd#TpJۇRؿP654A\Ci/3u%$`wpJhqK~̃ މyZkfs41p  ;V[ܕyV@rWjujfL^Iz!>>odW>x'X"/âe+C/xV9&V:BxRz}-IJy<@kU\:iyv<ek/cǫU|%hZ΂oLY%TQU~P لl$c?n^6f鷜۷Y 5vz]\ tBcΦLqS/5cvܜ>e짫k}#}cx=ɧe.ES1NUJ4bT= s!aC6͆Z'ec {eoZ3vL{ [o^ 3j)EsUE/˾)[I By |FۿvZ2VH£ VIk~C,=z~{U,FLQ^f/1xvPeENbZr=ޔ͵%tTk7%yYY }Wm!+|0roJBP bw;^ ;.Ãȋ?`0GWN,B+dtݻd=|4X*ct[+<igH;j;_.3l}'@3ñjCQGvm[]EeR7े3tiGݵ<7K_&:j^qʘ,M5OLS8qZ!|jһъ*?7Qbڥ~;V]g3s(rņ=iay5*;KY2=ir5O zIEa )V KZRBqEXCqN38,` `Ϳ8z=\#;a)u9WI&lVRA!RkR@?bJa;<%Cpy=PؘXs7 'ibbe䨺!@Q+5{ f+Bpp-7BYc*r8:r(WyR& tJ~}Dp"xAhn҈kAS2?%:4㩘̏*V'oW}'ގZ5Iߚg^g3%~pay{kR;MMQA9=5vޑH]%ʚz 6pꡐjjLSR8ׯ{= :w ؇05yny%ޠ2gFG#lr2%%RAj*JdCۈ2ę+hDʉY?F]zlF,RLUIK:wsr wT7%O1wAGTu[4h$ a,UPW19ACa B "˶.SrQ4'`^oJo{v,P, 7t:e,nO9Vpo^6"֍쩫JQ%IE;panrAUN8ѻ]1f3.2"xI'6 CAH`@5G ?vKKRmhtF}J7M1@qRi Q5AzJpt,b;eBQJ: ܋g|d ,[V#|GeϟF bq^36r; O𒧫;?i9 Ϙ錄90Kb(@򇳄n5;ߌ $lc}eULKVy/L)wٵuזZ216sg(>1L+X-3mSAo,{H#z4Kno%]p´8G$ǒw>·1Q1b9W50>3'YK/4$Ξn wdz~p6tAIԌ>"ee"f AO>-%%Ger+C糹1d[8G5OBZ'ju枈_hF.GS%F@@Jc~^ٮ"IX5|Ͼ»`zkF,OIٛ!%?d ^Crx1%=]'_$x+{ρR2$~_mOr*e0zs}+0u\o>XzEA"Q ]tbq$-03vzՂYͱѬ"hvVgwYXb-)L6krO);WS$:= FͦX gڬŕ&TF Ɏ8 Za 89G'9yB{~%TB#QmjR<_NP펋MAv@P3Ek}wn%mͩ?53l6&VGacжWTܭ3ZqEGRb)WCn)~ft}uqzȊ?hY妛bHء=DqV|9j,h%WQQc諧5Fj{=_N.-, +aK#O (t8`-')YлM0evC"VZE&"??͸@.(4^O+JV;@kzVg _3eU[1[&5<Ԋs>tAa I~/Xڥ``:;kڊ;b p>LQi[ZeV渧 {#ru\URѲVYwob"T[Vv=+)o}v+/nvEufbnM|a|YM۞a )(<3,{tLɓA( n#?VltAZPWz+I,۫I|Zu^a{.j9;v1jpq196bQRahm@#.;xJ錈1(׀^sQS[hl6#v%bPܿ" C x-&ֵ v8C%L‘XJm< >TxS^;6ST$r؞yӁd,9&y1`^Nd̿|Po#a&i0O%5JO}O~p#% S`W+g}mp z<<LP cb& cp7)B;s ]ib?5c,X:}ecK0m9 D_M6g-JbѱjI4g䱕'7]ɐZ rY2?'TKG3b$̰$ZR\jjs88p7s6,fd,ĖuT΂ ߺJʠ mo4.o 8[/%pV1K)I(`\f>Iuw;"m^+9Fa!O\N3tv )R(/+'8A!e-̹rug@_ʻw j/lbSyYpy+bJ-) 2n>WM85+[i;!ce\_C,| kk0TctP_W\]ƽ(.d+Gn#{ Fl>oF p dV:.2H= /AOҤ9cȪN^dq瘒ja/: c`I۬=#B.фXA]U9}Y]. 7?}nk+GE5~ɌzIcT=Qji^bdž9<@19{JyEִk>sΠ MXa! Q/CJ|a"tv'Ie>QG~Oi@ h~0Lc3N VoS8z$4Icf]zZ8f\]g<x:Ԉo5!C+^ Nȏc~UZaQJf+OhLE3dOy,mB˟7N\%;;/&õ60vv 0]ȚB`[_KĕyNRō5AW?VBPȭ jgI`׃uq756(di*b cЪbNÀR$B&;dǶ]p.(Vwd-LĽ rvd4gG q֋!U@/~UH[ wIMo/p.Gv$z~Q}SC۬@<HNg^bRJCH|dS2fwH}qq9o4w)RDw( r6+^oQ13QVt .IF & >ɒ0%x sw"T<ч =jp.DӖͩnb*ƾ瘠4j3D* 2735b ~ӞFju]bF- 3y Y/=[ @B}EJ^6y}g;)Vëf-JAh 0_:;R79Pp=(&AaC-yN bKNM-Ն,!wd񴻣v@O=J$yvJD$u/Q5vu](qL-;ڄ ҶrcߵiI1G&uվdzC;28`+]Яr-VAGAB/X sB0`5}^I??^?|^{:8mP++K$:U_i[}rWÜgH|Fb'`<1,OUMWr\O|3`C}zNهjѹQ~,HS2iqǒ|أ5s~0[q~饬bӃDR¿O Efh9FCX-Arܔ('2hp' fxu_F=eݾ?dw+IT!~(ֆaz\/mV+YT1mLw,uU5N291kц rmI|X#LtR0C}d$H`"+F9xL"w%ʥ,Yߒs ,"K~onFUme.^-Fm9-gQnAYW?WǽAa(GPꃰGRʒ>Џ1x>Y)_ВL#a<>hK*6 c`nxo38yf?v(鯜KeXxGFɴ4^!$q8*=UtI"W۔ےM]})9?.R2i_ rsB69AWµo,V`~hqgOi")Qb"~=Q$5lWJV <;?|燐bW1噸OނR}oNrBdUlN f&X9Z$u)MFͦ48tLHn Hh+u1fDo >E #1+)m{>|'Д -c 3<:sv2 E#qr%EYj鵷-Xo'/踬 $Yge@?gW, dm*(>i.O3(c訫 ռz(U$|ofxژ0džu;UN[yо3(7O|}v~e/= \TNQ{Ү̖ Şf 7. Ffuǒ_ |y.uw *zE bII<[UHRiu=va)6Ղ7\Aֽk5XN̥{&%UK !1z>X,? !z5Aeq^O/G:>н?/g?PH?o] }~];ѧ{Z 2*gxx+d)Ĥ3*Џljg*1v}8)R.\2}8\0mtpq/m`GD*=Sb}Nq/(2M6cp C%+I3,S&jloT&Am0 )E2Ba`D/ m0ˈdbqnn>\3_HtX@kJ0"^s &UKG yG'nrkB_iFjW(9wo~ MK,@ck gؿ$i[1{?=/trh;V 51# freBO{޹e誴#pu)ԛl`R@џ0{H-UR%Q-_V{3 =j^:tK,M`ZҮjcegQ,$ls`FCW"I?2=t|NJ#<>Qޖ*4?X xUup'OhӮCtSP򜾺`/8.ѳ3*&!:UWվ;2Nr|#[oK vg>uGzJh1HȏIN烽܆!%;Fa9bZ7<{^Cۅl_^) Ca"ez=4nW1GYS!%gq=X=U|l廸fM_fz < ԟ9"3$DU(*,F}QfN4}; @ dA}8ِM9K+bjıˢuT5vleyCT& %ݪ/cL5Bm_7}e%+eNb<Ž39lJiQg\baA"hn1:,_ߜki9*t ZV>EcYU.nT cDN4TοaӬc_[=m8k:e;46dƫ?&\ܮu wʲǽog&-_\San1xa>W6; n-YV 94@>Y.G5(CS~r@<`EWj]s5wZ&ZIbE X`Εn2<^Peg4ӌ|+n F.Rr*=t.}7T,} Wi1Z#)y8CS9U}&@*tM1|6EjWٗ 4%i)`rSW1=-xL lԊ]n6"펿 4*-/h`#:޴dqf ȍw=o6&cv8ȓﯯs2rw+ThjɎ Zm)C|3* 7_knV55fJx*w^4E*H.)ΙR6 Ź@MٗĉcH̠ͮP*[M=>r$UcAv6ƑS^ QÛlkg6TU(\9ʶ5n`n *v mAm~a9 :qwt*гCċY!;T272q-ndYj^mckԩN #PnG׫q;v n4(K6Yֿ9FT8%ooAXQB Lub;S-(]\x_K,cfAM[8C0Sq\  +L˗NWnVu2^TfL!Fwf5Υ* V 1 ęVcnfC8oWa5㤤>+($ ͤzNu7P- CO7O'けǦ` p^~Bc{U\1n͈BRK64igZ O8'Pӏ ѰCEސIպ ?ݦ 59'|RԒBsa qԦx%Ye5V0PJ\<.MR=# ""0AF^밤pI@|$_{\gdߞX"&N S0>Ú0XpSU9BH.|XO?/tК 5h ''1)y1RT2l[?]W ugXn>:䨬VC^Ec)w#3N0ZmQO_p%oS^@Q tʋ|O:Ԙ39 ;@N2a~ T_p:_Uc;KbY#$jT~ Db/@ $Gl\¢ 6vxQd}بyy|-7x;h,|+#7Oi-Dp]{'}`$PTv%7E\zhġdv+)A`-Iv#-sjs-!$ :kχ(bCgvыؽ֑wu.~ڍB1׍nP˺@^ӅLױ KpÑEF¼%oN4~yuQ lT[3 sAݭ+{_{~2<ǫY8}BNH"pg޾9unsnjxQHiSdؔ1mk7, py9Ǹځ7U;+590Z'G7X{a)EL .eRL9k/"^8LRiEtۆ >$vF^ )qZ-")(ؙ>6٬ͽַK"f>151 9j).0>hȆ?5=m챱XԔvaHՖ0j3k #"F4q =Xܵ\H[`[3.u+:RO.%:2c @b$﹁$y%|'WM?)Ji ̧VUyn,Cag/JfnOx\r]Եv}FEp?1Ϯ`5ҡ?F?j XJOH/'|~TQAeZkURX„P &-!H9(^-0ʓH-   z .lzi5\ & r]K {N4c-DT}z63/̥] "Vx{aq`Uzz L9u2S+(\;d=>#/A-b=GZ$I2/@4b|!x0CTؽo@w.g a! +m=JPM(4bHW_o%0DgLkJBu#ZA6f~QA]eCh2mlD6buUDWnzVv DlUqOU_*Ěw+޸%m yb $(.0<Dd(AqʥA2{ dO mNI7Rgt59NY632W @ނSv424_l .a}%{"F M&qlbgpX7^ēP @](5 k-@B&K;CI2(T ON金J&kZ GjS>"ie^Ul}qG2Xa|:тpΡY'[ƒA E;J]% >>(3P՚̷}|, C>U>:eCa\SaKR|>au $k*7XVOP[ʜuH[Կ^qLͭבX-o]qYji$/pA+.?Ɛ~&jZvXojLQ.Яm4Tnpˉd lHL ~֛gIE$H\{d0Ƅٓg#H(]Y0cqub+1q3 xW"`.}.A4&楝ʘ+rzG;7$/sv^q)I7`r֣7tk7Y(@7OcɍܪkuQ}$J[uRU,j{3u#^ 3nwVvxy %r"\&20?ڽ3coP<X%%7: (Tk.kjrgQe6d c1󛤅n9ݹWr'm1SL$UPn^u}0 aY`2(p+\(B^b`!xYZT2aIMںk?0Bg:߲-{%|kN QxtӨ#zCK<ݕ(Ǐuk!ΈkGӕ=Od=蠭iVӞ7YT_P(j- 6[ 5!\Nv ޿~nݨBш(EXHʛ2Y%5A :[0 8 `6 4.*k,V|P \TLLK/@%ai/SG(amn7xL%!qA8~K3H ;.F? 8*;PzaGo54Aq} *ߺ~zLw?CS.xU5VFM>?wK%0V`L7DnE9.)cE}! d88g#Ȟn-K\xKI9 =PLHBXãӭ\u_OlS'z]|tf+}Z+ (2(O7:`Rwiy4 俎R9l'45[{х%[81F),t[T_]sKzz  {ޠot/يiޏN=[jD mS ? h9*@3QQ~0O< (f> nug'#5j"e LX)+{-cӔqheYj[7 T!>x;]Ǡ(2Hǰ0=;)GjeS'CaišyG芡ŅJДxIg76SC8Z0@]:A@?k1)$b$furDJ7-9iO H l^!yErMCb]pwLN_nń$"w x(^bm`lN!<6[J:V g{t$TAC>R)P7=>0#JbS bQE-I2?/c6D{?m@q$pg(zdg1~: }A_+X! R<*Lb" P rф+{8#C,?q ΦyC[@7\KY㋪ƫ5$%aUc ItB|)X`Jƚ'͢f=zh"(38j3?cɿ:I -#3K%uu05 <*3p=,Zae!o-ΌdՇ/6ӸD"%K1DfҡIXc]f'C!PV,};!_S)aV^Qd@AK"lxS0vzZ!bS`$AK5Ӗ&k - =Oͥͳ@!HQ]A675d@wj?y ,*3[ lIzqCwf6?s}1 jj9-aXHO|xھH6 6})vog:]t ͗z{+IrdO"XOԲ AY)u4\e|jwB.wSϑ4S ND<\IL18:yY7:yu4#fsxf 7%.ƁI\`uҚpʛdKPKC8qA|=Zq_v5f 0J;I]cơC=Tdwړ3.5+WԙwͶg). ^I$<6Omzh#1Z#1_q:rL xkHyV 7pd'%i=wA%7f.e.꾰3g?5D/71"w n&JzyΥm]MAo3fwRfaF  Q/Qfc,hWzN|`33P?b~!׶7Ɠb!ַQ0:e 8lِ73ړe;ci4;#ܚ^ƉH*Q\4<׼;z޶&RZ-¶IJ~^ݪ~Q5.)eі5=vU o0h5sz7vl[@Q8ʳq>\[ hob:hs/5hynTAju% *U7rqb\^ yDbHfͶa>,nfɫquF9ƻϻZbEEZ GiԐGtLׯ`T*h6U]>~ceۢ]7 ~U~ ȻEYսk X8` vSon:~x/T́! !T")$gkɲ<[$KRLhsFMdHDZc~K04EL,Znj|BuCG IYˀ+;.s`T{ Rw=&[y7 @ToS6؛7ĈmRz~26ݧ1 lfXnɫ% 0ٲbab"Qv90~edt W8,nY~oamֆɀ,H $o$Jc1ORro=Uٺ΢`0dm8*CߘކYMO N v;7/ #;uѵ/LRdH ]YNr8VݜP,XVCC\޳oPA=&סT.RŋN@bݳ[8jm(+M*o2sꍹq^T/ΊX9̒ ןsۈ=bwn !7 ;^N{u6ۻB1_FM̙?,W-ʊ$5fKSɌ3;Dh>M-)n9A5lp,?;U:O^iޛE Q|+ ?8#kIGoo!xUJj+&ܞȤjzrO`lk?04 oX΃܊v[PءhPq M$bʌ&\ԯ:zȚ=ZJ M(!0{{Hr o%ַ7lh*q' 3lcvaU^AJqhgс"MKjȲ!9т 'F9-u-9Ɋ9W_Px \7VMS{>S "K}&KفvrkEEϞY[KJȖ7$9m2M]q8@v=zR_P.]QA{ty=vT׷]o$*` f_;s`j!$:5;a?,I*ܟrI7+L|.u ֧q"%UJi hxJ3F;6P2-lGRst*ֆ;UY1iw RNedG1"6l-\cybmu+S-T0409V z`]i9zde{j= Zje?"-2dj1(ݵxs96 zl `#nz1qX&S:jA0M w*TP ?cemb8U$-Ƹ^Yt^?[v+ߙ[3v=)hd1>$ 9/['}ϧ}sVE>.U\)/C C2*f525@I$ĠH0H QB"zjW9,_KR!į(ų\&^f+#HܒaZQ>aEc~i]JS6m\%:BӢaR?& ޹C4y=!jŜQvbu.ċaXx0?Q%R>likY DIê0c˱\;r+FHLҫR*㗯 %:K-UbEK}(I B  uWpp{wI Q&EhDT1PwZ'zhAQƴA-2^, 5E;XZz?QudsKq' <5ChFqf h_~o՚~.q薱31f=msUd{V1_7qz&ά]҈u{N5tGޟZAVнRnҟj>gvgЯtܛ/qYQʞYV N@WVݺ+IyZe;uCZZ7.H[oxꉇAM~0LrW3AB 9I9$ˑ(iӺp`EiO=49[T*&5_2o,ϵPz B{($Wdf"ft] [r*Jab^k$\*YQU-XPpWx]3=}J6;^Swc"ӹRFWק@rѮ.E!QU"3oqmيs<6N m՜|\w_2I'ꍧs:~.ihL L_y>k`3mЋ!p0y7VJ'$iRăDz 2MDm\پI+@?M(D[ٗh_:݉<qǁ }V JUE+[ x ]d|vSݮ:WdR ([H8FZ幝BbvyrԠp̾PJ,y! Sa ~KyS`ͭ%|CKBt'樋 +8.N.`ƿ6POW"!K^*V 4S0>43-fN!+ 1 7jQwrWGO[Z,:U8&@  h8HǀKA4h6Lҝm3w1F* #Mv$Q'ܞ KpJހL "W⏒1\іw*mx4bȧg%4:DB?:uZc}є#_Lg4"љ"Ot^ޞ}RR@fɤ+߅ˀiL5&tQj}R;PT?O<g=)eW$+EcYkL6V.mJ2@KkrZ`B\Ǩo[z4rw1;⒒M9UyNbW&?"I0#+#)Xc*_-bg%s$cuyDڔAU("`R2M] ^M_l-9)mCXk6=0ՂФ^"5&a Yկ9%-7xpY5Gа`BJU$v[*{apXӋTUomw2%>5]A +¥61b 4ylk4;S=t+Ég&PӸtuǞn &AWs5. hA jV^ςEfGNq]; ;l$q"/ܯ)MBk3#4ڎ@aEUW-3Lyaa_\ajCP#`q<]i[fnSeG^yH1! oaI(9 SgOc/ƈ,y6Q|Н?dqM6;Dc T$VB/cEwJyb@F'ބރ69e+(X*SBG=Й0=b~/|ͼku/%{9sԘF4Mn_. LI|Rԝj"z*t+[Fau)mU@|dV JI2 %p/. g[.[:`O^܊hltjudlLz.Nf!;22pD5H2 ,HmJ`'I.MLi cA-v˭{X%R4jܰaGzPsXTֽҥ)`jNS 2 S1E+D까X/˶`L2nja[Z \G(vF?~0%VF$1ea'  fYhި"۔YPr<,קj^ļ U/,АY1ob 1{9 8O lJskY -{7/77QNFUT*v +ɨdV|A&'әxuDf2[|+0KJX?NSI2ZXj*1c3zGȭGXOEX 0v$CNɽXU4c< =cZ@(L[`Oh.nE$a.RߞJKeHƚY(8P;@ܯI!H1g[3ΐ1YDU g5Y5E[% tz.We3)(`nf=#$Dq<ؑV~zV Z8գdOp`Y_3 OSy:ge:(0ʬU& }w߱cV {v D [19g6ORG$nq=QͅFac谚So`e]ͽ`VmStQקgR.YrSZ:0 $D/v\z 2*j'RDmLlL_;bl- 8OvbqJN8qzBuQa_6BȱoI)x/3_ S{@i>Kxc `اs╇=U/[3+!{:!-ʿ=^4`u[@H?SJlG>*J=d eiƂf6q?J %ңE;jXtc؂Dq4b¼n+ؙa:' ڳW+uV-o7( *l(<2%}Yy;xs1RXR],AYsq:dR8غHAFTaN5 99;ȟS7>T;T$nK{U8ki 6iM0\,w#9X[7LyXf Q;O8z̗' JfsN:Sd2CLs+vSqimtt6f^'gbR&]RZ .WANW&bY[W Vv劗Gkj+Pd6f0M3d $ѾžO]FӱFAR/,BRT$Zj ||?˯|R"V "΢@k2z-#YC8kW pP )'Z3Bl ޵Nt('!Dh^⊚`=/.ρKIS3}߰_L7F.;ɭMGZZBEʤINx̝Ӫl,o\5щQzĔ}1`\h}^-_w+d\sX5k2PN<r׆K篣VtaPTjjaՈ=Jf\jyU+]0PXWw)h)W6I w0گ ,x+ r&Dϻj,Fǥ7BFKc+GZq<<| Dў'u xRu!EYs穠nf-ڱ1-S!Y3/@Xz_1),+^OvbгT9ٹT҂ZZ+J$viM!f+q g ]X,x^*?)MhFXJ[Jl` Ʉcltz⭼4J"nl?X@7jj?lZy!&Io@3j_!Bu~Kv%$ME|֊r|=t(:8!0$ӼXav*(ްZq| OaH XZIo"H)T: ~Sq ~EB62(Ϙ;j;yD0Ƕ%c*֑Ჿ1֟f6SsXT 0+^84%rlPS.$W T%5:y- uSDR@AtIt5'%l/,.=}53ٸE^"LgII>}i_Acr=]PΪ%&mqs`gr|iѠNKn ,(bh+70Kٞ6Hɼj@zlЂ]#^YrzJ55qX<` }hͽ؍L R_xׁ(jABu6ˤ>G̮KA0lAj;)@>|tkxRb<5^y#v>vZ̚?eR U_`(IUZbVGe> [n/32mjCȫh,`_%3ܞG ϟ^N/swOIa]oUb/KS>*J鷍q @՞=h9YW;]M[z]~^)Q[7gO-rX1M|2)P@pRjG'Py<;0 []z &+i*R\J!И>SOLmHGyY@r"(0o{M3i@7I:iFb=uWπͫأVYt I3ANo6⍙-*LlxGA_+M=T{|eխdJj:RtnL :hS8hX:Y|c]O md:9\ GJ;we~L##\1 :,*꙲$/?08 pp&kRmr1y8LQDO #Bmo9 uy6׳|7ocZҜ?;*`uWp,p^n3g^!P>F=Ӗ ~srRf }ziyOCXewڣرrXZϡlj`{( ,j$!yJw2cXڵTf'NOp"nrہ;ɶLȥlWkd9&>$--K49:8-8WAR ź$})3=b-3;05$+'I%fv̡ewZDXcr(e@I;<Y5>Nd#]גQTʞ#>iif#VK2bFX ?=[x:5,ۚ@:O()l[%l? cvBkg rC!~c6a'CވO0KTuj4{y;!&-Uܑg"obXI#Ci5I-.3 ;,KV/O$2p鼡+vS.ix)M/Q@3TDS`$NhI MҼ/#)L)66! om3еg5}}J$E0`LhD,qGzhϮvc; P״{R?$,x|c2Oĕ>^( o(g ϣ%-Йe;WEj_jwޕPropq9+=cU_0XJj0 R"ocP]ytUDc5pj&E@ꉾHL|y F٥%ƒCH /GB}@G@nf+4 F*CЛek]Br4V}=f+q5}Hf]Y8z|nRmpaŒ=4-).hDwpW2 9p ԲGDN 1Qas'@NjyFƬq8MAa/-f+:ߦ*7\6t@;{"r[@|&Dklt0=cxs?J4]ӦzHgG78RAˉG`:y] Ŭ¹/k_M~=ПМMtb}pV5ZW&;x*J_MjzmFU c\LE0v=KA>dգ*6m=s\su]8%~ 43{(;j`<-|s1v =G+5ߝ\+VQ BҴEtqKʝ*l it{Y=)`W$:T/RH[c//z"94| JЂB@\ҬK0>B!#vh/9J`QfR测j̼PrXv^&e[sx\bMݙήTQѡ~:Eoq(}l3 ~7hˢqP~P"й֘*SYZإ!Mmd,"UWKvۺfZЯ8pk$Xꅉ2w-B}BnS}>~rU: w^.Y~gCmpWsBcG>Ti+@% ҃ VaSB,n\PDLyiu0Inpݜ*Q?bҀs3\AUO5.%$VڐROD-@XiC P羺Z4ޒH\41eҕJWo ƺ6l.H"S7iv1hpvZGcܲxΖ/­";( T9_O Yׯ]E\7=#+:EpNğ&vƶ=ZVa #UA9F$pa {L2L#w8+ÑPԅ{"Kv9CƍG"}2߽2Ko v_G_`2\o;}doȭ˥j`jv/EqF\-qtV.rK%voEZlLL5|-zrv P& i./!Q'\RkK<ѿwcZ9xT .ǣ?ŃmbI*' ,߮=BϰE.(Fma;]Px}lO'ou6\bY%Sc.l7P-D WJ\l8zN3;س_E€jP YȠWݶ&]rx⦄&9>O#'J;0A>8;αjO5JtqyQ,>!QegZaY ag7[E>[Iij5czaI^5ͨ*eӼX?͒\TC;AGZ'Dq6@xC^33YE%s7Tܧ0L9K#r=霔0.X*'PxQ!g+Csrqq8CSD9EȸbRIHvSC'lVX)RUVӉpSqlzB 9sl;;YaEKculC"I-; 7%IJC< _0Хۙ=~W>',:KYb0 F|[ϯhgzNe2l?1r6.ϳK -de10y{ E rګoZ 0+9R4ba4wytt7G¹8uH\k"D=A<$:9F49*H'sft'!f}؀/apvtSsцX{Cϱrf$E%38T35WF:'@ Ȳ0;^xW O$DY5.܆Isd0zʼnw1f޷mڃ0>Ձ'sH}|X>+0IÞϫn!Bh@NJryVhWŇD"^~.tIőy~t3w0\*2۴qܑ ZVo=1f$UMCg (m>˵-IY]Җ:u7!SKCe#o۠ %ւ[x(ɎA=*㞬! D6W2yt\Lxm#idcrҍvwO"lĩ8Ӄ}鈒6{JqYUUQt_qv{$Cڵ;e?kHCX&牓#:q[^_&n|e8_L[ܩa/#Pرy"6'OzDKBo]dhD]|ݑgd*-[? Yͬ\;;"$hJ[_ONnȷ%f҅ J-OR[;tnA;(,ea })z,a0 aWn[0)/A ¤.|Ҭ/z0CQ Qaħ!J R'(՘gS,v C*<qlNίcօCz.h^[,9= C'zԨGFa r}xDyPs}ڠ?o/yc ZV DPIe1tBVqo2Џ.Ո#iŠg&sP[2=( tH}SFQe:RTMoRF/BGi{v6*y+}b^Ύ/h#}6&I2|Ȁcq%V-YZ G *jW5;ȁ!kC(н^E4(FUPE \o\,H]RZES0sH@2J}k,]ieRq»gj3WK[]t,쌖 كȘ\Y'n[0v&E$Z襶CҵDo7r][a9D[#R;:u3!4O $&:28WBHų҂ \fsA|uD@ ^Trt[XAdNT.:F}R2a {+.a7&H*uӆ8meƉJk4F#EKoI xߘUl ׶=ĩ,0:i96P41P\Oڍl\@2NwLlAkRu)@ mt" =YߨH.oǫ쇔ɒPu'?說gE]A%ԊncS$clm]/f׾t.%ݴl X_#)d10#[$UZWQXh2"3i܉[nv__0BA =Av̼teK#$mݚ $\WAa3 -Й79A0p~XF;]OUg>^ǢP:t;;2^4Cu~a,+r~ FImSӒB|F*?E#NN떧9~e#qrԣemN!2{MKcBXxrj1SAIYV9viinXTwH z[MǼ8i5U/Um?+%Itu_ L lZrgP_h->z;J&uQg#J^ruĺdX]$ .pAxAK#'TB3P bc ޵z w50] sH_)~ڠBrLM=z_SΐDXtϔq:+:oGj[0ɩdyrTy 1S#AwY &5hR JnIZ%l $ƾIRAqBS"L Le}ߪ,ZwG1mP! lB2#5=3?:wh{f1wz%ucS-Fi':klYi{)q!+KӪ*|r䤳 #,oL"40Ց\Mldhװ2GAN6i='<X2SpfHMԏmg.H@SUT%xWTs(@=/Jo=ʙc\H]#c& .ˑp *߯1X\l!&~M"4)*3yX{ђAK_A 3VU?(jIv ާ`J4\o'Oc{ݱqHA0‡.-+KMLW29onJA7׬[4M{l v`D(42Y}3N^,guq=7Zb<pwppJ!Ϣm8 %Qa͹u'{)!;-,|bvQtNnwoYȫ$@zr&cdCkLܣyJ̺ZC9_%ec=bi d n06n^֗+@T`K]Hl #^H'^`R!/a32*+Ǭe$Qf2uۦaGʔ5 qHī kkNeVNjUbȷXY5H tl qo2 hZzR/'G%QȷXDC "l~ "gbsd6|6 |N|Tt#1SŝiV)m>EZ.N6۷Q='Af-8qd^v>Sy|8\] gӖ9CbҌ $`_7- PzY4ZB[[A] HF~ͧ<:#w*Y5xo O>*4A'Z}7BÏxǘMVޥwGZӝ/w "EuRn­ 9Ȃ /CD0kśms>Khi%ZpL&2kо:0$Bs¡C67UEKv1Spj#W[QTb#S[4:~]7a5-57rt Lg _NRE^?NO:?җ^gT"-*FدFȅV$&wak74`sdR[g@$5Ajq\*\?/a*6 K?zDt Ks|X a۩JM_<;;Ljσ37ƹE)gh~`b<%]ak 2o?WׅƄI+ 1f9&yjn% 9@7C-ᶇUѶ6I&PfNY/쟺_A $ ]H@m3={=+,r3IXMpČG#櫝\X z!~e8! =eY* /yF$RnA9op݄ OgČȫ$Rv_xv͞&%)?#-O4/~<HpIe ssG]L+i{bS&l'4ӑ1NZT%ۏdL<)xGb@.5H ˄ԛ"i"**h@'p6iGwݷu CޛH%tlz(I9 j 0 X?,Mg7 0'㷶kn{ꌯ䶓쁜I BKO7 ἋdTb䈈Jg4Z1}8Å}f/.] f p='}(Ɯ[]VMc,7U;rmcjDHzPѡ 1wgIYyIf6Q?mNh҇O2g"3@L5*0$۴NEWl~a酟VCHh(M'EL"[b6~>;,7;SpG%"TzOLN07xH<_=T=}|OÑa۴TO%o&77t} QgmIYBDnh3$ԓO.`g- U*7բ|r蟽E) &#jVDJ# E$ѨΏܚh0Cg$ÐJsMA*8;%C:E\ndmV0̇#[Z϶lkxv3(e.^CJg'_9,vD^v Zt ֱSXW"{ 3ǔn֎"h)A2ߥv?9f(@UjEJ Xiܢf0DӕzݓԐhpX3zhod \$ݨ@}}+Ni2ù q$`#D5ogJ G^VՔ_KT$ d{WcYXHB^^>c3`9-Wzm1l+@!P9t6c LUk(PUs: p/ught5Qc~b/bte~g:EHػh t+gk2uxWXtbc߯cNVW$ S⬣dJ#6CXcj%<INk5>&a.+5֑seȉKathCE862l` 6jAm<y;kbb 򁥜@.QخtU]*|-Έ {F12q #k_i' hT45lBp]CCo7k?zo){Q, _0){NwhnUba]>RnFiC+@A&}$'hзȏ_QʏoHp#1xkOO/fE, F uz pbΑc#:?!M^FƤZNR4$B:Ӱ#}H%rA!ӖPbfg_`TsD>t;g;r& s/zTBGԚ⬘M,=z!5GV*VsH/Dx8m0E4rgq{{9uS أTԻ|wAOnvąb+;m4Xo}ʓ7t_O# 2\V,?+L7~gzqe;jTpL0FFoT'T*!P>O績eO@^„St"1\rYq{9deߔOZȫf@'c ZqfU̗kՃ /o&Y i0f3[UipbOY.O`R7#;st8ar=!clFf/W#cu{ _Iܨm4ޞ;M+z~OpO/أbAdUcZ/m(G[ى2qtA𕤜 alDY6H4` HA1ao1=A}mz@oy`>As}q7 z .D$R.ZnW:PBB\j{b)X& t1YW3~Lg! ?RC]No*WZb8ʞl]1jfт%q`DfOG$y2G3iJƒ7(q=~[ 6ǖ05$< ԫ[K{o ߅?eV\ MP9&YQر+>،x㴳UzFYZGΔw_X _.:u֓iIߢ~@ X$#!DQT; ~anKvS+xbd{kX_yۈfZjIa'8t{x<incҌԵMO~S3sJӃI  o 1 =fe^vAcBȲR=Arr7N gzkAV:΋@dAbəT-!fecnw`G.QZ{N44iܑ#<+gK1C[ENqͱ{zrIsF=VR:q8|?a+(}-wgGMVXCϫ'-f- 680nV2"!NW2/V#~8ܷN ULJ)}#,_ɢK!7,TI BJ?2B.!82DOŘb.Mo.s(L2WHN$j_UZ"KL :;aeQ^#p,2sGOu3r:Kk6a. gDX6=DϺEh K ſנ[eUAGPΣoB<_2hZ1t=tnLf`c+E{ i5Cl8 B2P籁"#ª[ElE~m@W%+w^$`ܸw(Xҩt/I cPQëPSnuvcStϰޗ{ -,m] ~rq?FpՌ꥟;bn+fCH M;~kUOb)MiCfK 0GjZƷ~NKT]f P= ~JA! A W-hv) dvp#X i2J@f>w[f |!hT{ $#·6>W9v JꞄDVVΣ_sIDn3Yc~ׂ!,!\NۜeT5,O'*F@~" .GF g-HWQeciyJWl"`p!#id肛g|ixoxR y0)ŮvCԪ?HzX mC`uV,c-ma(ǝ ,[,g72ݓ˟,k|Yn|7\k \G-LKk[U![1"DFUЮ+ӐXSgԤ@,Pk2=  חK9xΞ`JA':Y1V׋f@ ǔɋZl w%@:,K"UB^vZU"2E~F|B3H?4ci[ўs'Lk2lnX6'Q{[BXRoA!H]pv :15 eM\*P{&ţ_ T|\S{jB&JL6缻J=:+O⋰[{KƯOe1iթXs<Kt"d*[>>w\R̭:"sS|`eWʶ@y`P4h*x6{b7򚠟:+vl]9jSG'^cWɴ̽DŽ!hO"O l3y^6vJ{#M섎߄bHZ htRƖAx,I~&R;ǡ[qot4b'tjP.y:4 `OwbbZDbdН.DesaHp=NJ&NsEnYgni`D>pVk05K]":@]Sr2'jTZQH 9Xd k]= WC-RhyhԧD!--8A-Qܙ4fjCG++cATmNc:ȬOWOY 2*a06k'.:z)ˈod_Kci5_89\>Dܞ֒ox W`};lJLOʌviO(0!NQB$=W>sB\bA@+˸ܴ}I(I#L_Qn̬7`?LG/'.m‹Ͱŗ0mNɎxw|GqNnxW~2g)3 k&w&aRQ!7"eN|-ɇ$ #I GYAf<կ>WZ7I[G*^ww^} 2Oo{(&3,I7%}kK"oiDZ,ˉ=rl^4>˽.>0J-{ɗ2"S1XJ^nrRX[/9X_$I W1gGԔ_O2ň\dqfN¢V.{\&⋕JpMOG++ɐ7CV=Lk]U bwTVPI܉ˏrW? Vb03j6]ݣďdP9R:Q)D0;Ly`{ir{L[ w }lZ QU *aݓGB^ ?OYKT˭vi tc'MΟ !T9խTRݜdSC( cmTA "%d"zk\߯$Sy %X*Sw>$e͌52(SK*aeOϽ@s ďn]H K$$mP^yweLẂ^5ƥ`7|\/V.inhb=.̄( ez@cÛa yDX[~`Px)KڮvOtԤ[<`2{)9E;zI.b_ne a+N{蔷S`تEg}ԞW%2̈( \_9Q)l;Ⰱ e͗ ;gqxk1C_fu-ZkWʰSΓ컈0x+u?&!S˭7+4纇5AV@GxܯXh8 _xSjDPߚϕM&k>XcI?uV K nn P.^^" sFS~ R!7 rkcwT7H5 EQ՛YgYCd@lXCi>qWe濾9s%͓ZĄ&pl5gÿ(NLEqXZ27F:>H ThFagvB9Ex- #ۈ!U )hdqe.vF>DvԤF*\Al-kI$1Qk_ELW.B-e>֘>c 3,T^5o^ӟFI4,덹Ao2 )xݒvDp8\{{mN`A|Pa:g@'i^ˡYDsI%kK$x;5>`r_zsWS$|Y[$󜓣b\|o7n2hrUT~^߭0{^yrd⻓R_̗,*P]UTRqՎjWK(1iZs>W9~4/"/o?gP&UAéj-/+~I#mfz(Pu&KҌY 6\8uT -Fh= z#xZ ?|s',jaLHfJ0&QJ Z:E[~d*̕Ƌ)*P5]i ڒ|'X!~=L$tֱm|3;r2S.,??yO|j J:5Ro6 v<Jc:a?3^$>~M -.>^CN³SYkBv/B+~Y!HL1Ŀڏ&K%$S7Fdt^eH9I'Y~6r8%;%`+(tP/OcKM?h!@Sߘ[~J5;+,L8ck/F>C̪(x=N\wH5)dfx#y;$am?dǭy? q|kDրCtGE!I)[7ZEe`>~_X/ |ki| $%xK/\Kfy{} kaK^52Y`ж&"FCK'4*LJ1d:p2`&Sǽ;.cV방Y:9ϑ Z"s5]!%ռA|'ذ;AYݽ)q; (Jx(1M[WZ $άAid uk̋u>@ 82=6f睧x>GUV݌gNXB]-D!SRv>Q U>;>ċhc ħ?mHtPrl^Huz ]u(?T;4 2m. 8|)V#XqodUPP-,M[SD0 'ޚe ط `grLvAӝ(LSrӵ ٓXu`LqiШ#Yצ>3k1vXkb/@0.d |0TM;7=ۃvw~&t_Dgm}$JsP!2XJ?+m K^>p|>Cq+@hF},\yL蹸mKA{Nvsdq$YKQF{÷<ĖeU ,|]w秾T7WMOqb0tQƓC:m[4Ke*\%ԥnBOLWǧ³jʩ~N)AndKpR~ =R< ctuv[>>nRoeSyD缗=MBt2CkMd42JBh$~G <Ӓfa+dbR!@XF"ѕA*Z'J~hVL"wJ]82oSXhm"G sѣ^/v&R|rwt9N9e/Q\cbOToN1B@S/sx;+8"g8nUp3V0{ <=GXFg {p~ʧ%>#{ 奿^>;Ē :˗JddQ1H-Y .Om=mZ\{yF.k53tg@JX͞9˒Vچ@IwA!zfj`gF'S h][#=C Kb-MN M/O͜$ܶȠ*g*p&,*"~::kON\7 +IHA`AS՗0-xU4D,zIT~'`-oY]FPg 3,?H$qe9)aчFňCA(ےC%Tő=kQ:jb yu}s ~ q|?s]2 ߍ"Bbv$I]_15mĪ1juw_J0F[~= AL}qU:i]8!ξB0(  i{lrP3g O'7 }<|(yJ ֵDEP! d9"߳.YZw4mS3MD-c3"iJmKF,DT }B E2կm=+^k ߗoX~5qy(񔱍>A 52qB(- ó1+7j$xއ8Z {B%c ԩQipVn8QW]Eqōʭ"ĥˑoe!f쾽9k?i.if$}Ά-f{UҔ!cqgS͐z>Hd|Lr/-%.y6ݨoHvYn˜0pf9H&ڍt]:can%y55O\ ]ަV—3?|rԏılDΑҹu˜=Dr5&lnyo qt`:/ U:%x So;\* p͈3WM?(8/;W8~q'+A`~6kVOL0:V;̠"u2 P$F7FC?NyUV 3*Pp4'x" Y k$$Rvsah袓+7g hiC"zh5^Is\N= }bw`XkS絞 dAy/UZ x~GR /hّf[XpGoVԴ8#a fg,{3~-|gvF^jᄮj6jra:T2\ͬy²_Jr̿vzDƮ[~&h箃h\ޯ_<W\n Oةl0ZUG B1MRcYk J*ŨןIhdzD+ BbqJHe 8IKb[ʔX ;g+o{#/9 9}֜66`aŷv19M@Rfa{+Go^oҐѻ,``j*0N 7M>F<ۨ`*ݜ\a}:!R1ɜ4IWE)4y%N{K^UCoHq=GdG |WIk׍,PU𗌔\"R"L>榘M qoqt )|> ?rA i s#>՗ZЪZo1C6f!=:>/³aKBZIՃ.=uǀ\+:~ pJ3C&OV٣iN t,s;>y&ds^3=p 7燇F7o6SsYR]8䗫/N.{ӐPΞx1nKT`L3xQ$s%3Fp,m)h4) `ЎZbMjbB[,:<{WĆ +bD -ֻA(`O4\uܣL$!K N2w*Xc<ݖM+70z,}än݀r[=- G7Ee촿c74XW`_aChm27 'GIɒ&.^oW[p"+lS}X k8`8NZ8BL:3PZw[ke6l,ͪl:~9!xΖ(% ²TI'S H\[pNMe4ZlXO%rB/ū^ŠoPOF&at͏gicgw³%}ߋfTDR ,V%. 9\9w4!?|ѠLDˍ5VRs"ČtzTI9 MσtI#EldݚLy&PE(*!yѴRrZlv,x&My0ND{;`)7 )k/^bޫW,NAbx/"Y p9xtՙ2Fq*{_Iz[DV_ZO MrY`\q{WS&oŋῷSDzn'UfAjY.R%p`DP0i)]d:BXU^\_q'۔O3ĉ9Yc#~ q&jFqjO6Jo|Ð.5y\*ЧvF`VU+,۔[CWWjL$ I.'Y(/tC h*rQP\ow4R{6n]͇#"C~Lj4w! _4YMx,6T~4\Zwaq|MVj0a)y_g!ޜ@QEvtQƻ'{ h"  T!7ǸLxM. "0 >Mep (I$dgTVuy&bk%Q}޴@ @^<״yvz[ 4o=-Rщ]ɭ# *Jc[ fPe,GPӀ +!cQotr2xXiQK2T%㭵&!F\A8HBT@$Lv']da>{HW&'Xr(Qօv˰U ;Lga3߬:[T` bXi]SR>tZeHcK.'NyVxsf/``W֞{NPutÄ7gv`sL uxu1pGdbM蚗y".[hSHHd#!7XVr^:og [h- 1}Z${SK1E$Y3-,͢-PlK*2Zu<*lKBߘ$<ۜ6F oSneYR8skS<_~54$ӫJ0lCP޵\8sbb~"ev wjxL~>K1g9ץ[ЛPy.QDvfNM9 4TJǂ]݉?r̔wf&MFJ+&ާn) q ݺdW=e'.dho?kt1J}ppl - \K9Bݔ@y 9yU]N Ҭ,-@>ݢV&Ӹ`i6Vd|J|xo~bB5Hos'v m tI^>y[/9\jמ!㭞5, ZJ ,R,VWn-kFPKUP;֡l,flnwͻsi}+4{RzX(\U) LZ&{T܄km5¡dB>-%R8Ԡ2Z.om|+旨h,ʳ# %!9@p!'(-`g>LD?$DН2!Ecto@|HK"t}6' z=smW(Sb|u$oX@fXAS@:`-l#6 ,C6iNM2ot[GX\$#Q,yx1xA2fQ,]_Ck𕏬5nNԶ: ߬5y8Ժ>UMZ WF()sɡk#WŇW]yl x`'P1GD8Fo xQA/]{5yj9GHʎf!>N&ͱI[98-ejpj2nbLQX \.tl KtpK~v-RQ_,?8?9v𑪑g&ic2.}EIYU[bZ71V>MH"2m_d;ŁO|?<|LyLtn&"釉#At㈭(uf-2JnjN?hf:"cX0E )T2l6VEA#yc H MT6p_gl-j>o┼}aNz27 FK欱.#jLc1q@SldL, +H؅^ĩzh 0y"=^ *ze&TI31JQ2٥ Jz>[ ܔC'ֵ` 207Y y0-RP[U EsVVKank;|ѫ0 [ƣiCy),1<^~sBioNnK3I۲C4g=ZZ&iE݈ƈk%&!*:Q<# mz(SΔ'!K>Pio}sG_?2z (a[wDWi_.oBOSc4 3?.f f 监u7OjQ.Ǻ@vSk8*U, s-r|ЇG4 MYd`J`;nBG 6x Y!oZڏsG1{0PJXsi(j3 zZYV/K+=[@0_YlfIM * mM~M-![:bTNϟ3HAZ+h{_aZ)*1޹sm562r’D4z&E%(}un{V*e$=? SBÎ "=X4&; r 2@ %Nyy\>c[0 am!_8j*b9POoc $ 4׼HXxєk;,)u.%l+lULq(~T42tRi{Z4PvN`iB0D=_qQaTk--\G,>_6lfOû2> ꬋaEOz~N›⺅R6 . dpA V;g$ocm<;^3ь,w#hNR'I:trZ9DUsJؙ% *UN$j <ضHX\},WpDx QRo⦲ɥ< gz2-)֪?$]ފE? w!ɭ@{bv/Ħ^ ׇ&6u(q)F{hlx.IUds{.l/7GZ#Hz2HMb!NIDhY&fvc¯p-4+h=-3ڳ)bnEuư(i~8+ "pbў?ʐ $'k OA,Lt%Gdٟj_2i9kꪝlQYg/icr'2ҫ 8JQ x~-Ҫ^bfk٥`a'ίtG,5*"[ X/}hnۺԏ? [Bx^͗P>ЋuxgerDƒ#ֽg)hJD)Y-: VYt'H^6pY\x =\GGYaB՜bYٶ#F6k_ܧI]_*hn i:͕뻄 3_)W0pɒ%]k THE|BcD ($ 2 9Yz(Vv zlfͷȸnX*x`MHgp~ɒ.DD?XxD`$NU};6 &/rkQx x3._x>]~L8h *o/޺Ld}߁usʘ'V+o.skUguhՉ&L3Z9 iڭ o[-l,UFHчC|M8S}DV0]V@0l;;/$"=[ճ68X#sᲣ\%rM)g4rځ ?gZ7hc>W:qb~{C]Tzc: |Z.`j$*{c8 sm,o?TFx=/Uގ M!5^]GtZdY3 'w$sNBT8e~xNlCV&5Rsw8#Gܸ_04@'NVO V)(J7_Z+1߈)SBu~X dOCTyle1X;u{:n7ݔ]>R4|ɆL/Rf5O8 rɚG"Hqo|R\8i LDdik9,f: Z+wB }Cq4M>; ; T:h2*E˷>Y9cr ;PrXgb^!}'(dI舉8䥰9FՊW)R+xK20y&rWiY}Wז\[k%__).B.(Ԗ-"+ OXkd5 ɲ8HK>f Ӏ`FQm~BwwNC Vw V- ݼ|w+VWxkj;``! $4}D=Ѱ!r[zȱf1U)/t<)M"P4 G iyh )2D2Fd uv?R.A:9ǩjcc?fWuHRub|֖9 ծˣsTd*,ѴP1u"-x$P9YdgÈ0BnjJd{z7I6xޱ?\WuxT1PC ׋IChF1dX3oSd%l'$/d>,O&F;JP|"6Lcf8wj;Q?3C"9 Q.pGom3WتwqHiFtϵu-K[f_,%~eO8I(*Jwk궀88RJJݬ pb́lF}t#zuV2ebZ.U:9igi+X24xKH(Iyy wlx꫎)@y@^3_|>PR%ŗAW'|xcvd҂ Ec1{k4"{>I7H6ّca[bH@aF~F M:ZԡOüd 1%iB&qAh,nPY$?ld rO{nU7}-~dlm:qv(81"5dGزhw -U7SRe7 [V{y=ۏ7CyI{sĥ9 =A/~9#N 0n]UŹ3?`tx rIпP'qBr€ _>#l-fF%@fLݶd@XUF!,R!2Zsa(kx[58J s3k\&!M]B!A.3 ^C}ND: "H@/ٯ{sr*4U;$ϑb碙1Xjl-Sw=(qy%;7z\(*E0 کwAM۱rV4 ZGrO/HD&5͏wي&]_ 3OsfoDeu,ȓ-]:܈7 / @']8Ott=1i>bـ@ؒ.V M190Ri͠т^}0"TUAF8)GyD 3i-CлA4$ԅ"PԤl;A \)Hƨp-W7[ "j I&1@]uo.fe'\q4gu4#Nv&S]&q됺^wMX 4c{M6>[ߐ _"V')kҔGP3?B#K]vZq +)>PBGU'jM,a׮y @Xu-wxh莻i[ !gç^$!Bd@j5A9b<ElAӉ%.(|BɝpiǛL W$ԉgJ N;y3oYUz876F#VӪx ?]1Cኁ`) 8CM8T\=rs_d ,4+[9&!R8S 2waߩ1|Ma @ !gHu؂Pj& [*wkVOrv%鶴j-Ji#FAE!#%"kڥ  i]_T{Dcn34.3,:y`hު 43 C;6H8n&(RuOx0 l\f'W>ܹ7p5^;~Ֆ+yֶYo)>;iL@bYP3 F$5C; 0NaGE:3T32䂒["F/x/ yNOVb'wR񑿺5P3O/=L1(}8"ycwۖlO> yHp3(܆lUeUq2Fˤc 5cɪ9.+|6H/$x68V^<͇0kVْkN^ MD`qMf-GO.Н=J`4eG5ZTY0C"l{r] % "@Y*nO'b4DlEǢ;_nGdFb*ZHZM[G5ܭp$0d @Zc.MWƃpS\|$Co2k͈P$jgwW/ IF|.iJyH6jPwkJG:Gm{A pϽpe"`ӗObK?뛅Ҥ3!},M4G,t&Zśɛ|'B֕rll޴lW2@#qV{̺Zu*ԭqm I`+*+#o lqJ&Y´㶹:7ygUzO9e=ȵ{Ɋ&U(PߘS6Kl{,5VlgFSxP,r%j,xw^Uf=gT1BxC9}(Puɚ0wN$ ÞTY,F;'ueFs@rgwK0 ®7u-"-M Հx#=ZFw^tbhZ? $x7ez6Td;xaiHQ-W5W8l\E{Ø{"qr3ez5pNBcvJ%ը1ϳzn`(4zHucsvYF2*K+a:=jgsqr!Mj~30 p JpDox D/܉yh@WK"Ԓ%ZʀHj1<|-b FJk$UaA˧kD`#Q`X9)|xQI443Zm.FWYS _ZnHh}yvډVܔSQ8OPYnzKYf=a@zCnQQKW 1pd,\ E~ψ>aO,nalr4XAث)X~P@2$YkyUNm.&~w뚜@+wXpؠetB 9 ˪4&*CRM%c->-BgtU e]? TԶlDD#ߦ?IkΟVzu=p.͎x1e;>1HDZ'[Rߝ. 6Ŕ0*&J +oZIe@vc/ֺ;2WE l+\,Hv-2 :j$`rV}/epѨҮQa)%_xuG`W(K ڊ׉"V{JD2>PJf<-i,2*XCmO6/v>t6gǡ4k3╀PvMA) G3ܑFԞK':" 869#$6ߡ\>Bz]zg)ֈz8ҒePL\tF_N* el֗2犛AN]|sh"7|zq[}C(gcTsZ}fC?ʡB@#. &e,TJ/DZ;#WSZ?KVlcZ9ۛ35i3뒚󚳮S:a}*؛Z=| T&%ɟ}T"76[\*{뱬:mi6 ݁~YFlLIstTc g^^P^4X:,H{7OHMM)Kun3 8&Vtfri R  ao~n'5ZI`6}q"Av⌾\LK[|e_Sw)}Ar+Yp)*zxPV yGC!$D|_^rؒ 3q^8Nd/B^'8]t5jLI_:_"fSZuc  }Lx=eT58nAl5v$~q~oapZH68xhf$*ǿ;@-0mczix>9Iж8L=Dۨzh^颓* }1"UqV3wd'*_lQk2,d˺82-աk[!`S3`N$KS'!*:w(2%Ex$:K ׌8bJ4=wtm*G1 fiIäE˹d*Vszj8x*eێ`j P']p7a~\K{:0oҍB+;B")<ڮ(3kZr7[)& {_Iʑj nKN,Nk jxF0fwZQW:֒{̈Ӡ\-A''la~˻;\95CrҐꓧS^A{]fxf&_SoO^[ ÆEfܪ ~T֨&@òrvm y`!;5:lQv 7b/DbN\0ڤx*ϩ;#zK]7s>% 5 g5>}o@k-n K=&':*];ejObn5yZӽ-+]fwvtڬM'z:u^[o |`ua5~׌3: fM͹/3% S0W4M:dBu^ޢ}r_%3ENqVć: x!ӢMEV8Z0MPwǿWȵy1g{"z1hgr]znǭO~G MW MBt+\W1j fk_ODx.FźG!mdw c'`S k]h~ ]]ФGR@LeLH+(} C1 p`NfD!?G.^f/:@'ho-Eݲ%*&tyvl7&·yZP"RVlt59D pRiQW y61K>e߼掖]J!01̭O-d-3.kɾ5i`93)z[.ݴL5 nZgJacB6y"z~W3' ~ģ!n9?y[XyG"kqkG|C<)Ȟך]k5y@6xU*T,a.CWSp)?=O5Rأ)|\}Wurn\whTyUl?.Ey$}S=㥌9fBz^q^-hj=2zek%uSe'*LF,ֹ~GM=yDGy{,` cܧ͊raAxx/0< 'KP.jUNL8oH !,san-v(g$bV 03#֡y@8&|z4tQ#Tv4a{U#{6fX̽d}dM@7LGM m<( kan:ݟ;4H\^d,/E.t!Bl~,)jq5=3Bk[Gnln5~.p8)%z Q*?=#3 wH8(4a\~+_W  Mk^ $L4%M疟 b n2N/waܜQIS5<]Z=S'I JWWc&;?$ ĥ烴I:4[e 9A#Pθ@c͛fr@TO=.l0pN>?%ઌ) {\89'ؘu@h#)xdPbz)IEy$qoܿӟ~(ENйGHKHi^A_>9y50Z" o$sTBzuYR\PO=&-%pOT^kFdc*[?P(Z%B2I1fN߈Utrx^:J{뉜PPzZN4pz%w?`UNޏAAOr}5^.\&X =șBO&7e?fSc,TV>),xwΌ}].c0RC'OTdNA*eb1f݌JlQIyf@e@2O47ppűy^Ό#\S4Ƅ174e0$[K zlQ :~ |w\<0sLntb = ^7U+e~>I}=yYڽ3C ģeLm,Oe.p@86 G~lB_>1{w^C,ذ?EYxzAfYV ٵM%5ym'xq,@oʳ|SW]dX&E^6u_&þ 'r#^EWl22h{Rሜ)Eu9o)qݿPIH+AںNAչ}vҖjRŚj%5f:PCZHUYdYBc:%ͦP47h#]-M)%247%dST - ;8-Lcҁat5:|tkoGGCl0dj}{Xk_FgA7U+"#qp'g5 ~ eAeLN!bvAx7󛧱? fvGD䣁~ p2}Pwaӝ~4,ngKT}- P3M~BI(X**eY0Hfl7ZG< iSgi񽝗TBz,*HSVmϒscpQ-HdMh~2̇%r^N醚{5 j(kT<@oD- |dSug. a"PZ* 0ឝ?rk^Ÿa k#"n-r? 3@IXȢϘh[l?^kh*TuWNisFV5.Yło+  uZDMCD9R gQ6SV~&r-~|qH*G8g]7o"D fJb ˁήɜ`Y9M@0=3#uYQ!sJqK@m68[f7C)GT7(eiCeΊx >ldqzL]q /=,Kn8wx'WlPN_qlEq K.j{Np`(zJ ȒYF E@dm)`/6mguV2fٕ2UZ$I5d) !QoUrh)ON$6\0Ԫ$E]}ll"/P`r.<|z># f,5Η;˖]]V#BɭMbP`Bi9ЮSTB9mH:2tɉ28R~DO\Uar'GJ?omxэ=I?OpgI)V 2 wz1ΘLCee [h|%m#)Zԍ=_S2DXǬzۺL"j&tLѧ.q,Xծ=9F;vwexZ.cx} - #Y;_񅸮U;!%/B}pkq, ^sQS1rοr:7J&`B.6N6ԡe%Mov*ڋI;?L0$8TP?fP% ֽji*We vk f=: !O!w)bny(,Ndk sfO7[* b% KӶzucVT\鐒Ft^u(fkۀ`ԥe:05$v4pc+'J\JHiKC(-B dX~G@\]~ZH($!FU%dإK fng@ϋ'ni!G,4hw654.~tKs gO9,F)Ф̩^HekC) A݃IU?W&N%.xÍWǻQ~^9ZcJ{{ܮw|؆c"7H1f@K4i F&gPyJ5b +gŭ50 :q[Ho;D3کRBbZt'_OflTSũ,e E5@?fe a!i+X)~O rVz--،B/~ ]&#3kef6ܮ%/𻾗٥A ]5;t:$28mTśy_FpԎ =Q-sȅJ! -EG|:|03,ب I  xBt D^P] <3WH*77!Ic N-)}9VmP ϟ7~DFUD3a',4w_S^s~UICHZ]}~g3DBHKoMpjF"?/GՐAݿ6cG4o^gd8?I}L޹51qQu6$&̦,w=b!&2>g Adʾ g! jxD@Jty*=Sy@>osTT% v[ռb'sM~3BJnפ8q΍3"_}QjN5]ߋ &N*#Tn`(#F,Fzc#sb$lA O`YN9Or[ObGnj$&TC _pxRr=+{042$iuBk;G CM.+/#+@k|lz%õE/럌h tpA {˶O_'loPCKfvV9Kկ"+ί_s u*X!; 2#WR f㤂,KOʟe+;/h6}2>Ӥ}ú4F]^3t"-V{Ɯ/gyO '{X02˵Z bF^t9T '“Zk};X< llVW#VmYjm'T]R79mDg `ڙ?qXϮDY}/f 0 uQ5p$E=;i5+O8mSXe 7}ü/nd9}Ѕą|u.l>Bhwt}J;Y VR+fHW4s!wA]ɱ9Tx̅y<ӇMX^u0>r$qb;s8X&aU_«ii`%(Ҭ/@*wuvcp*9RU[?s0;gLgGp|h動I'?#28 be6&tluXP;(QW @'<+!^hlAsbM0☧;܄|][d\s|E|/'7Cv3TKgM*>L/d訷-? c* ʸ iіik/ӑou`:G<$9 d?siSKuH;|H 9z{/T.1D"M^r4HȈ3sXLqʱ\'5%bk’dJA+K Ta!Q8 +d1A%gaB]1 eJ;6pIܵ>`k<Y5qĞ]B(3G"h֩0̘dfȨAd,jպ75ob̅,ďI7Cݡa&>n!3_[9i<4z(?co/|:o7BC B w!;kHl;{4[:,ʎa괺d^ מ-nT(wr^\RTZNqS"vB'Hm.&Jl%-Wg˘ Ja[fjYxYƉ3h>=Cu™N:=GPN _A" Kn!>ʤeRB!wفW3rcbZ\"w+qBnՁX RCIԩ/1lO2)]Q b [0 {{m]HېUO Lr7趟7@ck~60 %_l'ʴ e-0-b]G{gQOgIBUsf̦ry{)gR-5{3RD(F3DŽ`Ky-G}n3\|'T=s 7= jjWEHO7Fh=هc^d%%y]a(#YHlŒՀ[mɎAW^YGi>UiRWLN1!2M ROҥ;v 6npJy֪c:bp_^B[%P&Y@^hCɄdwԠbƅ>mw ;H\J`404 \*mKrfBq|~gbGžnЊ:ל,g1ĹIZ6пʋ-|{NYʠǦq8K}j^lt`X Ϡxa`qq{I\$eA⧣7 JD+jDxtAl6--!;ԃ(<s m2@7X!F5XJ e05&WLѝ#yq fWxM=2eW {MFM63xn`|@P,+0A[xj%7\,I9=I0 B[2}6ύI0mUբ#jk#L974LJb~2_S}6+( +g̔w]ɹG< b>k;0R,Fī8&֙%*)b WgU_5S}L <|"6d+FsN8|-8Pcz(e ;Z=W[zo g߽E;!3bjHa}Vx8i,(OcFEWՁ|CF<}!zL(eS= pH'7YD%M]Mot~QLkwT$HY?>a|NR.x"t:" e$J߂4cסCRTmm+1<*L'M~j$\&8}r圶);h7Hַ6V}gFk:)NL) J.Z%}<ԋ!{hQbxq^>_) ;uT{2]j2c&*$ m*fH%^7?=bz.'2ΜT> 2Z*rX*X]&Z-LfAb'׷Kq^pj̨K.)֬J>Xe& ՁQuH %*0LE'cqb}:?^<@lwB<5 ͱ:w$H_ kOؖ8qإ)j{lH͔˾Zq.Kn_HV t]?4([^I1P6/@kc\,GFi9u̙ Ԫ4*Smtd `u$ӿH! f~X&̌"$ܰXs"_1 ij"vBQjZ&RBP#>w8 7Q>{<7V.iP:r6i WѐZ?`S(YO+XzHK71\]./W~PNEu f̐- ?$0 Q׭`U=⺪^ 1 dc *硌+i"7H) 4sbYȷ5}QrMR._}% S7_S 9q7*g 龄`)ε*:!T@Od7bf\ ">!@H͜i(5Ic+Sg¿fUn,FI@2pVy2$GOٷC5'%|fx(uw_: ]io&vmƸl6`SoLo9?Dwu)Nb&~!UM\'=pTqQD$"n]ltD|Zҕ2.t QZ䛫GTcapВڊ>,|jm 5)F ]}*$:8o7]WK;="W)HZ&Gt[pO3 $j_xGkHJ1 Ѿkw3ܯU/j@̴䜍']b W]GXqa*+tZXٝp͋DFmVMd4]72Gΰ݁?Jpzc:E`Zl8wmaYe[hdk^֍$Z ܣx''=„'CۛVY-QɨW݇ڈ?zçBOOK Ĺ}Wi 3.91{JxHO>b>$̾(H9,&ÒT- 5uOÉ7R=M?"(.YXfWX? zBV~ZN`G`( CQlcͻ8 {w$k us{IնG42goN"?r)p9Ȯ<_;&t4h{b\"ό7qDRٕ)QL[ﻴ v3۫(J(}[Uz[LQ7#V0l_^y " us$,_j ۾wurODeYP/,Z|ZOqAht#Ut6ۆ4x>ùY0߭ $VEńYxg%XAS{?JX^"KV`3N"O:&\٧`ӌ|t\#b GκgFD}I78v3Ж)`Ǒ\O6 cB~-4)vQ .S5QHWuU16MY+ qMhg/c0Z%]ȃa5'uC<;XU('B- y4>DO$FCk+Uq!!Mcrz>@z?tc$Y&y92" YUC,IZ5L9]'!zƀYN: ` v;8P]ΠݧZ68x۬21s5myy@9AaO0䗾ąUIsƀ K#Xo@?zR8+hD a=.' L19ӉN6f٫hzog ;[ytN\H O-zړGX~MɩWG6Nw%F_ζL;d4ΪpCoC҂Gw B]ecr+0PlnJ)(m&[C; G2]z/q;J[`M,\zemF/)>8*:,9vRF[V,~߆[P)ڶ#As_IXC1ҪbՎMX]Q}!.ּ^[Ɂ(Vmv7c1-彣}fhȺ͘ ww-tbi\[l  vʶ;ϻԈ$/=g2\8 ڗcc BFvhR=@tN.n0K2e8`v-kCt:s>Sr)O${XCJLp65kSa?LɑNn@QRaDb/B":-/?u"k<Oe )8 "Bk.WQ'Nfl#5+g$FaM9l$L*̢4K!w7p0sKJ˓Kz: 4+$,s:E]U&Rn\8ޮj0u1dҞgͻrȿ<| tQkgaKh㋻ֺsTs"a:34vW?3tOPZ ƌPӂɑfP '<-m[a _`!:!v;&nCA{|uP$눬쿟ynH tr8^Ր'p ~7yYN!)eZdDuF$.AMC5p|pbwKi* LMC_&'9!CR$y7N$*>҇|Ͻ8F){kb~f&;/_Gz,K}$~l)eRK۸mb;O,v|):!M_3]4oCJ6{B(2'I6p p.]?pzri"_ \s<{NkRj|x~be 2~yW"I ZdžV(7a[ӑ JFz0ռwyv+x4lO?{rq~$3$_ݚD/\1$VCoPws>9u5uY[*ZDg x{1%޴ wx̙عs/D׳h?҆'qoh .okFWӲA1 @g,Qkȡ ڔryF2C SY/ч J°`B)(y v:ȴ ؒi`20s*za Ra '6pB@Fw$=Y% Z 2mǷ*GH*8vXlQ۲ J%%>m]Sfk1h0qam#5~k#w\B?:#9+ մ嵔w+<0?EX`& 3Ps|rN-ﺠ\(&eT z.ϫe|p5Kg i8$3k+S3yG;[ɵFL$oncq%3e6w*~];SEno͉2m!Y;w( -і->t2%ZQ_9qH?.Yԙ'w%DHpo]&fxu0o?_w)-6dd6Y)bz԰I,@qHI7 XN qh1)00z¯dÞpIь 4@[!HoC PXc14i"%,=xEP-.=JY.] %Hi݂cN~=|7r*σ'4Lr&m^aK $eVgOz^;-rz;PZv׻թcU5RA>wH=fna?r %%c"~[[iKRCFUuD#CfDeҥoʺ5ċuQ;7xts(iXk/U<_gǻ214gL'Ob9|j8u4 t "M= #3҃p.~>t3c,J t(1=@%LJFMXYDlCU7H*A)~o,ih)rLo-'m ?A[# gm#4ؔ{~(X/ 7e]?A۪${+ɩsڥrt%crPuEu~SٽM*Clih?5_+$:) f[28qb>&x ͅ :>}iߞb͆BNDVkG֙pKi=ȆٻL4ǔUp!lV_=}PlcFit=8DBהxujMU{ªtNB ,ߓK@T!<´")h(i"$7j>Tz+Uy7dc||w3gx/#cg `6hѠ0k!. ZfOV9t:J??j ;'}pMACR &w_MNI_)b]@9enP"QqѼ/7{l`F ߷m5wMNZM۴]] N:o*gZi%OIq,KT a$x]sZpx Ϳ>Z#gh/ޏ_2OTR#>߸hӛ!HTS6B\FVGsY9RT#b5;LRuZMv:j+$a{4 ܲm8m)w捭xMZb2Lщfؒ|0)<<1ǤW:@)tr 6 27rW.QH_l3XVZ8\sL m"JyNje;ijnCI>.JBj<5'n\@նұap?R8xHpF&χK2aԞDq.Gвm{mpK\hO3XjۨRHު8ҨۄL8<6Ĕ`jCg?&>2:{B+h7$DâdB\NJm)fc{Uo׬z.7G},3[E5DέVw Ul sD}w'(z>T&ڶr/u9 Tgn<vْSAGb{gUP:phUe!"!w <~T#Qq}* S#yc6`02+);KYm'hCeϯJG;s fdYHR<;z̩ }SE2ɜ֚6LC&ܻG nF2&<Bc&l>Z9FbrfÜD}9hh9b.R) lٞSMWac8}wrDX@G!3uN&6v[.Nw UPO@fDqDP_ i-ւuE`͋$ bnP9^: Rޠh`@|/;MQgeWUY՜7`AVDFP̆Hmv|8oqC TӢ4I5(/>r'MRFi,f¹T[k(_o!PkJ2r=h'ts;FawcwD''*lʳ.\&Gg@~;1ၭb-35E?,9WAZ@&JcOsL ['4 6y'B"~ب[=_͈'o% ;z/׋ ޴J@vdY =an_2 s^FKDE]ժmZ O*1*bHT9cdU7SR<&Ȋdz9^"']n[߀ |'`p iӟ I9!sLQӌSg4s-G>X !X} )E[`zi9 qp͎Cù1 NJc+ 6f_6}R33me0jLswꂚiT}"_X8!Ev?F$5gevT9D'Q?Ĩ%Qwވܭ;e{+Ris;0h)Nb%hŧJ 8ףSIel ~, Ώ I~TBTl`Uo}tp( c$nӼg<-* 19iUQwv=V~īKE[?̒M1lu"ލ8Aؼw\u81bn nԶ7N6+Ə:Eb}!.jh}cB苃H,bakVZs*#z+i*l#\5۶8S?~vXQ\İLx4~<2lQ }(-fB; ̩Z6ha8B/I";xTٖ痏TMq)vG IRUr0MEil_bۘb.VNyk@Jj~<)X\.qki\hbL#zj>e_%n#`ݽry4f84ZnGBЦ n-*W*Uyih[i]X,c” f ]^a"6T1]O u_vce֢/ `M.I # o\ڒ9 `Ias`or>M׶іZ={!~G Z桹jЯC3|k%AoكxN[iy2Ҡru`;D~~$Df߾Έ_ʜ%P,hP'l@ \ŸK}zNO4 nP&0d^H|H+_^T WUD_ƌ:!B!ENlxuq鑤*'Wo>»8H XSᒣSׁ[3lxw'⒀ϰ 4FpU؋p> SÔw჎`f 2LIAA!]nd7@^ĞҔ)5P%E)72·\؊yE ňdOxL\JS EpWh].D\?ePȱhäg=A}pvA9#"Ac6z]a7ge,wc[& KG 2b7\@9]S&U+Ttw,5QlYՄTo^ԕ\T {^XWM a^՝Il_3~-acVLL)՛{p.=*H(@,.;]sT&BIIq. p[ǢgZy%ubϜω>5?"D"F8FYA-RmXu~ܪd\y9y9@ 1/6""_`0r扇cBܔpWL'I~)$39a?>?ZD ݸxl-$~DVfg ŇK wi#K, &,FҖw\M'=iіp>U!fSW7@t R֨RZ' I+},>h§+8LP%jxCNvc>nPs"5M(/&CXm^>v)͆3R@qEkIN51|Gst3 G4D")L|d\ܑ!o#I]y^}_E2RgIUPԽ,n+cM+t9LT$1h; P!qM<۫'do1N z -AN >x`_Cg\-GJnh]ASfI7]qt@QݨeD:4UAjioo3F"fc)I s%S~ [*MTfyR$̎0N@p+ I(^!5- 8W h2kߘ?0z.soI7p js2KTҰw&t_ό9WcLV99V!9^ӧX4dXc2*-j / 1hhB@,3ԋ >E HEDCuOYFǗ% 0bgL{5 %< 4 ˩{v&^}RiI7՚Iv? ^eom0||{B4FĬN&grr<1?3U0HB7P>=BUV75+Br6i^{q &]YqGW€gAݮMyYoHW_Un-WjŤ]%(imoxI#BX ʤ;&4MfA8Y׷@%q8b + ?Mպ2#7O"`A-6l_vqq FZSb';^Z\Us~$g2QȟJ8ZY' uy)x-bKsSqw~@$o, ?&[#?~rAg:_Hh+0Ɵf=-jLȋG2eJ|m'IuoN5W8ITD[v\Ήru~XB>;OKhSɱ旌)I_wN+F9g`:-[܂{i9MEB8a=027zp>/W7y܈lK*{ M?qE2[Gӿ*|3[0-8w;z=w4oܝ'G>%H&Vk9dT.:'ׅXG㬮@2ٳ-t ᨠ'ش+hB6J?ӌ/K?* u<YsT<`GYc`K5J"73^߅S)˂ļ!s FY/@5B\zXz+{۟6m!䃡ZdBE887!x}S#?՜oܕ=`ĐïuEN@XW!Ի#Ax1D64ED=%0GTX$A;@bg{"=6]\8ωF[Ӏh9m`P'B?ѣ ;Ē˜-/˻yPp&+e{,HW pUj}вxg* q%t JAoìϖR~Y j3zs 8hò9:gp͕#^PFBADRbw8CJNّӕ5nU(Kd]bU Wfj 1^й59dD1Lg%r8%xZLA%I`٧iwޤ{8mɳ)^S'կL5PV]6Տ=b0 5l^–^ c)cƷѫ w)J?]r]@,6.auqKu-HkEr IWLz[Rm#[4(E* 0yUa/Z%*2U(tm͓NmqLKv/t*giZk)>BC9$߭LaMO7 y<8 ֿ!IxbӴU6gܐ9䋒UoH#.T0p\X3[nc@iڞV0D@WL4Ng^5=ynNz[[}< W(8Ծ(>h"UF.l`Z '$37{ۇLI9LkXL v%ET1{TG:ZgCTEsHӔC1a8aaR ܖ㦬U[~toáOۈ͜q<\4 0pI7Qh)jÄ|\#GuHN]BOTU3ݍ2z<4Zh#bBq։R= 5`WS}#X?Er9*v7=j=\,e3] ]/Y8r!p^p@]o%opq9-Wx1x0?^ѽ7yy"QGFn5l~= 8.1bBCܚ[fʏT9<,&(#PGClsQb< r\o؋>?84g5tb=RGZĔ(=bc@US0dI _ϺsX%kAP Y~;hQ o=|֧GJatzT<3Ɏ.A aM޸y?9lU+MqfKUW$lYs$~ypRu쏟l$^!V)\shpuXaGPdZpk1 Նz0[418s^'bkzэi,&&hE88sKϐβIծ"smcCHV=z(AU y 9TXxoISĐ ebFGeӔ"N;c ̚|cVs IRʓE֞o8d*_8q=t.\y8ɀ5OtX!gL\V5wq+[yeJnȻf8k0-XgF%?`3ƴ1;d4"=.ҹ[c pvމ(2S;pku s+(;Y9A-zd~]LaK)ڒ@mšܸD.K!IX F ݜ0i"a #"NҎK>|F9?O$~ Y[ptC}iQa^0GuMSg M,vүMrՕ9 M8CcľA `tD->'|b?Lnit2&xo<IȤݿ7G M!fW'%h¯R6]J|`_Uh+QL;BoۺFJz7ISL9!7U5D,RbX N12}4RT= Z1<@e'Yܵ~XzIƁ~_h%fRA*pih3vZ)RSW>$4uŎjQH_KtMEw-.&<|O0o3HCQMl&gokc3M+ȃ z}85=4= B2U?n AA|&f1h*ܒQ< _3I;.Nno'S[>A~qk>L:$[PGL8 -$^$/"/'NuVG0[G&try8܈L=G^'o^|B1%ٔJ.6EW#!^w ˰B ^ԙP#k٤*b̒7q0J!h$%µs(&S Dn`r7 p{8OA)=,F!/V#RR=pu\m'9eJZ0Wt^,:Q8K(:*f(Սg"5PwnuݾARA>D*<"5+l=ev!Kߥ@"bZI?}s'|0mq]>h)1wߖ__l5q"9Hm u'E"AWM=hs̢̧neL&ptR@a;Y.ʿ4H پ [ula@P{ͅ9Wb*>1Cd!&H4Aw?PQC쉟8 Iw]>>&T(Vä\-/ISCU G#o*T >~ϱvxF)#x& pD"UoȚAwYFT39ī7hv /;2I=*Lv?YzBζgv$T^:l}y& ^DC}s'MKAm, 0^saY Y35%%^qO K[d9B- :@xz Q Ε ٿfkg ̾c^XZR1m-l1 w3͒"ú${cuՖkCk*͗$ŚkwezoM|*sELW_ɵY9иBs- AoCwb/R_TIi"]M6ԙSiGGTC{U$șPX0yǾ0]H1d]'G.J*Se +yC<#]<2*b"3]z܉Po>M>{'F⩛M(ޚ.?z c< eT:sʷRe(n6N%pr_>7y#YW_9JQ!3 4Nq2GLwz ,aSi:$D)rB}x" tjߵ8:P-|C_[hD4. ‰!>}I (iVU²T4|BV D2uJ.Q ͗mdjڨ]]E% 1ˉN{8hK,I&l-;[,qehHX'UɡBg ,z+=cc2mcIU23)Q[\gO" ]^Z{ȼG|B0.G@@e+.j[dƜU,%8Td1O~esŤ6 u]fH 4e|j)w;~Bs7͑vMHd6@[PAe^=OcK5jTaqJ}<,H/ˁ;̝75+@ +=y)[kl)J|l\͝#_>x=UJ|=}9.JAo,RO[oFFFVg?θQԅ$-19r06_TLdKH <fڍ{k~Ǿ|D YeHs+n*_%zMUd SDTÐLʣAmaf(*퐪6cCM[} J T'OZL~&OAo~2Z.r,pPAȮ( ^Uָ?$vuRLo6kMphlJu|Ťa؆m1NV=r'tLtJląOp=A#]TJB;*TŪ>)ub%ܯ-&kh;r(o A!Ko 0^3Ww &%O> |,qjr%6mp'^KN˾m1Op[\2kXӔ(TG8]!̃F8j9TuhzAm)Γ8kG?EL>3䔖2H7ɾn8Gb=@C^?ل:FΤΏ~؆u$8qfgB4>U7|^`f@)ڪu3oe:u*pN|[dE&|*E;Yެ3ֶl\OWN=&5`@-˩]u@b;vmUAp鷂N>`ٳx{@@ͤӕ;3L T43Ћ]{U#]fRWS-YlG%k'Թ]߸}B4fm(g) Ԡ HAռ2i 2mF/U^EsPZmGC".fg$}9DAtQ+k)Ԇ8G}h}8[9ѐ,H9PDeUY5 !o۞V(7wTr?^)*θ{&JhqYkx̱(j]7pyWLw:Ŀ xpt/<*nh"$LMK|ݖ G'TGo s]lW5aދ^,+afvE%0gAn$tZVb@`\GG7P/;(ɄB$XS]P E]I @ ! ?JM%Z+ MJ:͏ׄdD;q/{ke`FzrJ/Y$(%f UΝЮ'2RF,7@۞3h(am͙F|g Pe2AucQZEhbz3k"T)RugQr1)x^>cwE!_K:\1{n6"=MDVm*~E4oeQ;Nz4A=Anp;Һ.Yw :ep `i2 هV3̮<7k;]D^1jO^ _F3F5v)aK^J6s j6qq̬iSx* Ok=,Mub6O"e"tMĬDW%3 .wzષ͟Pk8mLiD  +K^yN8z`OQ(P^ˀA׀`X#LVx~5Ԑ[{EE@}# xkD`qKQx hO_ê]yDJ*m*7Hv4fO<0buTs.2Xŏʹv841[}d:^`"\W>N{A !a(c4 8'O$jܨjhZqZ߻ db m 3D2( ȏ0\P9LaA#ܬd0Unp +RxcU{q' !K952a dm3a༅?ؾS6-Uݰ 1VW, 45{f:r Wx {-j*X= Ưs;< 0SƒA?9'4o#qu߆ 涄 x7E4+i4< io<:p^҃46ش eu9蟍 s5lCFS;B~V tfPtbVV́4Ÿ jR&˸Ot% H;xvs;zp:Wt>) `[f:hϠ8) SokA c\- <c{ad7D0t*۽!x$҃KepW:ީȖ_W?dgh w.e^? }*ec}kD+ܾeQ2ATJ%`=j*5oɾjXPS4uǢj A;]}[UMږF8ls@ y#P]6X8]ѣC JK蔙T^,ec_ !9x૚4ƦБ C~xʶA-y/!TZr`y Gl50cTRW%ꉶ ۯ9g2pgb(DL+8ZnW%W/412:lM Xքd4f4#<$YѪVY&L\ @6үaG$RoR* @`2*%rSTڪ80"W§dQ$,_ãMM+8mtbx!X)u!?M=6;#A@\LJLF>Ç3}JH'펌RiTNXL!+MdVYrTH [g'jD-w\,5jV6  Ct*N.i."}_+KS?++, 0av؏0|gßZ9OpZB$r ֌XȔ}“_ v_4rsF _DC0s^!\S>0}!9K!6;y2׳ ySW#b;^l|nJ^ijBp ,q>M[ Łd̟3}1̿C[AC))<.P-_A0R`*3uhP2c0EBa_j[Tq-e4lBQAJ5}rUS9i!Zb{Oyw{DFJMd5~$Q87O)(ͽq[ z5 ϒ+pGqLSΡ]smSkyͭT=E}tLvghÅִ/ZDŽob%:ngX03zż7zA #L.e)i )g`EN X;is~Y8Y=BiS7֐IGhJy:ȪFBwp< $L ̓F2|b1Sy.l_41ڟsӥ4"ɪ=pBxw~PvK'lvq~`ǒoI ,Y?=g e/đd'>{{ @L cVKŸOyRxbl*#Cjm}vܦ[|*`sga"Bz+ T\ތZvq1/=eɫ2kLĚX EY4곫C$[B%@> R~5 Xӣ :RL@Vc,/9 05`3%x*%ށmjNdyb1B1j:FF^ c vfk=&q3~/o +qoQLmP'/t)Nb1YSI[R&mRt7d6%믫'9ssI 3{9cbe뺯DXzklHfB>DB];WD"۫&nxkV,$[&#?PU>SFĬ#"4Ylx*,|:`[Ih39!y'8efEW'i$OB3B gՒg dz4ݪo&.&r!J_ x&Y˭ sκUɨ"ID:*OM׮xRe@!&\ Lu@}YD_j|}: mY|w|ޙ,v8 >8 K.IF15\6} UG)c{sM2a# CfЦUN;QAx^}'KerfQ<TmEͷ2lҡӊq{qn0Hc)Rw^|m CYو tBg#yʇϣu U|]>#8m3msț}ZA8 T9ҽmڲb^S8 V?-$q}tpiGJEjWJ7Th[ L Pvg:Fp;Q𝹟)2S9*&PxĴ< UɤDz%uٸ l$|d:6ČMPwSeʀg0Qi2TӜ 6f#+X!.=Xm\ T9B"zT8̪p][5v\HA^ń }]e?k9nMAM!D߬ 1 9_1y㏩tj.}Yo ;g%1^K(˿Խg⌎h];ڗnmjY0 rke[ضk.s)~І@2!dĬvo/_2ِr%pYGaI93k/l)x9ko3f4B$Zf4w Lڊ. @%(rl˨*%;"ۼEdpzY63Z,e6|]fv֘$fuYϘ4LK;f_Cf xQx5M.A%(n) uf;l6#,)h ,ukIBǑh1Xn(c7ALWC~zq%:C\n"s>ljhDR/bf+Ni9xخvwF ʣ 8!K8Deѩo2_tg9d | ]Ho#^g;GZ#O%p!@| gT5@w*[64CNr޽{9FCuڄ5.W,dxfE OP3෌P=7zWU* GzmW suX՗0& XoJ@Uo?nauL|@\Tlr6 khMl.!3h"3˯lMaa͛j2"?J!{`2[cv;NS}bj$`pa CJWҳ}7lg M9B:+P7e5\Һ#/aWp (Nz u6kW4}{q=5BO|MnյjNH\վ3ϫ/H^bٍFV oz&'EtpChؑ4ޏecLh DѼ~aPE8yGfy.gp1\CYĢPq:1:J_X5tCZph Xڮ'@ͣ\MHut(Nqn+QgVϚ2h%d\ӭ29LڛЦZEq]SJ&(%RG ]iyF ݩ%2ӵyUyq?;D(zb]NH'OxOji?pZ. t;If8Xhd,d. a|e2anFkW89(t0UvRdȱwDŁpkE6 N..>|p:v6,>6m(«wM0) W\Kq!eam -$ N%Y/PG:%ʽ0[,]dVRI`IƝ Ŕ[5̽t/'t?A7o_gY ˙O+EԮkwgA© z uy1ĽVMS ܇`u92cJ'F`F)Z@dqХWJD޷)kw(lTSs]2t6z3O'pp:&$o|{ Qv2#mW8$JB?ls߰ŕV-uSw_P۾)Cc&&xGk>Y 6ZkM|ܽ2,O*g 3]e hB6T‰@W 9<Oa_+VupA JC_gn rsH٢'W6.mj~?,ٓ ֋h nN hk)qݘY'~i+ݓ_D9 ln a*KfQ4ou>U?i!Xddht[pޣ*@q X9Up\WpAE~_yA5C6"P;܁+lVg;x0/!!' qfy2+w?+:o-ؠ&i \TH]q-WzTrƭ jgš/ s57K+o*oѨ.DXW*^>[!mespFD+&gqir"07qGÏ猪m P]nl;sT{ u1ߕYs \O4$$RruLwY=WcSxqDY^ymof3k\Y*쨵 VŲMrob07À+pA1)[[-?)Ӫ=]&9 [!A#f/ldн]r, Fc2 ;˺O%&rH " DCqS?"z#&Wr.xM&|W~E6<[0LFc.s<ڴj(J2$:`Waf#"q_, uh7{&dA}@ CMD>G>y)R,k߰UaqvF qx|9t9`)(]3KwC^?"W4'xilI@c&$~OX,~=|ȬBXr_̎b]yz$Fp%f꬙&CfQu[P `}g欈6"J3}Nvm<[bO{tҜbߌ3=,L%ΣQB\z5*cADv MerPSp{4,2?g0j)F0r.O/%T |tJO]rޢ 묲 q| q%k.R8]5<2%eE)88Di;"h;slT>QVg;JSqmRD)Ma&װb7 jWS:8كńIt">Cu}A[ܥꐒUO?RN oL$f$/|.7;q0+$곦l)/]=1c d-Xz312{A+-Vle lB/ R8 ib;r(%t♔BY=k+L[g8VMb=uɸQ/x'>?}\1(-Se@ 9&4>Wb,ylI4s3~oԲLi.,l"QTf[M*lv sCi!8߫䘱G%U 9d\Ev *vMllWw@k$`ollsg3#Q뇻b0Ap(W1 koto8 mAVJ~J4 L 4(·g1m"iXj9+7 [g,n,bg.է'LjFT/mk;A*PTP0u@8^ ©V(bWW)ޱg8jba|>;_ %jѹ]m\B>zI)BjP=~ߔ(4 'u]T}! Z?]6K\7:2HF=o^P--]pU{-P!,j̞FS_`GuA&@N r#Wgz; 9y囂? @dTVSlZ@&N /*ID؝+)CHls'Ҏnk"F'{iYJdW2xldi)D5NˆrfwUUB z 2Kf."%6&)䭜n4 ESw= z^iEI&#R`wV'"R_"' &1%qk:_0"U>@}̄auk7Og0) P i9^xޞ3 IEx zb1 45x7DŲJ 6ObL݆=3Q;ȪhUjuNz}fHc,4C`j1 -|FN]sHBX>cKqDy]XXgZrxh}8е0cKfM ~)XŜOw}~^!(jz>vIxh^ha#[A(GĠ 1SOMw^/8v 'H9OĽ3uF" JSK--?V֗I4׼!SѠ6e?h|ԕQR?;HŨ-7!8k{y9 >GxۀDz3BUq~ߊlSr9s (@(9e/a YԦ/3隷q+: PvD K՛`ulQPA>nCo?{}bv+Yz~,0݅Eٳn=,D_( jAxgH4^J}1h1OPv#z6oK{ib |/~\J;}ldlRCt 6~f9..ݵ"5K5&wY0FL>(cklʩ<[1;d([2\%<K 9耚,sK).mզ9b LimZDPu0JDtB:5vӕd GYz]x r:w+ 7; ( }msdP`N .gcQ0VVK\<6c$I7E>r{ؐ[r7Cθa_ə\VAٷCmJ# GIm/<^Xb֍3ÈWJf{ay)_6IjyB8 EJ G@ ̹7=1p>*<7E=m nOf^_)cra1=„sI@wq%Vql;KtcܺjXKr?i_1rVOnhr s!a7"uP o*m 9t LfC d`&ؼ7 >K4'#ygV?N{F@:j<N9VJ}B*7q'gw/,a$oS;wz-7^[^VMC&1PXҁV7XwGdgf arwrw;uE6!kǎ; Dy%i(r ,oZ:H@}*W;98Fᗺ'mw"Jٮ \lCu#b"~vK6EcfP)V,Zmo?gx3Dn E%~CdQk)F=n eF?|I6G86 Bo4GK'ǮrUM Fu)1d1tDk˷~< Xg):%e$,"Z(weJ)L}ЄO!ſ[v֥.T!CY@2\ƑppjY{+mtĂx;ݮv[d֞$Ph {%ټҤ:UQwS+99i51bvy+` V^;, G"I" 0t?G/zd5xRܼdF'TGU4fUl3pAx^:^- S,_r}m~۝NgOhcWS7Oha.qpcȴP[sd('GHgҏ ޅ~gHG -NLvMvbY.g$0EHLw;T\tӈ^8ea:z+'1Np] R9!pi'Mwʵ0spɼ26?$'@$;(Nו@0*xeS8U27jРPms>Btl01Bb#twѢ!y( } IA3 @oGDY,ò:x_1OMvމڳؒPY<;;n{jگS8E%W8s'ymdjdHvN&b\RA4Q0нOtdN@̼"A(AڜM"ǝ֖0"50R)9S 0}_Qe|6r4^d]\֪`2Rh>%}nGs$lI-NܗZ H.<zkdw&/dLl<7)Ya?UL0Wő-\0\z<]neYf4_gA4 l斛FX6\ XQV:{rt]e\G IAi 4 pLFֲҭ`12 G"L?ʺFR~D4}B )qT5l2 5R!0ܐ]BS셄wyH+[}F IqZZvH¥9;BCl(Fؤ* V -OK߳&>;l4 4}3ҿ}mB$z&݊&}6۲I[0,p0ǕU([)U2Ǔ!#t \i6"K}XC{ ȧL T#ӞI/kRd}c_G^r5T!|}{_ j1O*7<,冉h,w^* D@,XH҇҆c&61vj#G#zaJ1GG{ #B2t0F+V$Nj[1^^b g.è1ſ чK[QV CܤŠ ;fJ P^8 Z;/\mBUZӲےH 6 1MNl Ssڄ6^/i$eyڲ]31HRE2x ]~s-{RҁAd+8VO1EQf$[14: s[,'b}=K珌xe G&0AT懧ʹ۵OӶVگ Fi hFjۗ*`'\,x$0j;`ɬoӰyIjswA(\L:2!{о`?8F ? qo%!@KS^oL9.z q4Òyb :q~FM*Y4$MS )+m+RY8Z'؎!h<oHռaz礬 I]^GLJ]9[+"zX (r~Ml" 5eX%Cq=sШ!c!_MČ.ˉw/Ee((}ʘJ-Dc7E{@cKuׅXwH31;9YhJgJcRDڣkt&gs.-l +Ëkf%%= @t*2؊B TӐ6\l0nkBAB-ȵ؍V_$s]8:7ݍ.T!_X@Oڼ 5U7R*=0(||W8K=.UMb\3pw(t^El ޯW(,c'*8'3 Ǎbb:LK٩a$H>¢A>{*]/d}R"`EC/#+:gep͇z#kj#[O-EȺ9ǟj2)DPpV o{\4UQHG*3.x3\ hӹ霸mCrTl2]@:Ice1 Lu FKjo*'7u~`{6p37^;!0b굔/ S,2 ۋo ǿC݀#7^.!2qH$%PPH}9% {T}I=CFU%W0 Unʚ!şޘM~~t8S iNFKˈ@%W?_mPryP-U+hGn'Aܚr mv ሣL * Oku =g tC 5N<SY@ߛp|{,ŦCw aҤ\n8r{]|fr`Ƶ}k8Hz J[X@pL| Kwgb kc $g`P7ox7$ZۭVH\sKy%2xD]!D(Int}kЉM+.,M =D^$%m([ u<LFq&),ˣ 7ۭY"z魐 I=S?MA6N>woiS(\_87ywjU΍M?S3_G%ި<RMw82T@Ϩb8[DŽ!V&!4SbUr F/tfUrIKw3FtVba1YM6{p=C퐦%k%X|I^k R-#o0 h!_y 77VBzc!I/sj^`''Kh$l Ώ8H Ge){?1 \ͥe#0Kq[ 'N#4-qrQLPksgyTZ'kY"]wM'|:j[[Q93S^RJ;gERUY UxqD0WCO$TQḤ2[`w0ȌNIƦ"p`\O@Oj;BqgWtԯ@sj ~LɷmȐ"W?rغ,R@K =*Q!|%elv2y8Q3vE5集N N-Ζ'2d2% m'vJ75SXel%P_$A Il&t7iAvL"Y@q?e.ׇ}%0gDz\iv퍡}S&7ť-w$\Gar,DՍnth?JsyڢVQa6"Aמ7֯P"DbuyKa,0Z_=\D u|Hz)m CֶY+smYK@8ÚRiTSM,qEtˢ<&dJh/AXE\dI I}MQF\R_l’Xeڝyo9:R㲧p3J$/Of/hZdƲ߭Lo5xsP/rM!s&d 4N@ĭIJo-I÷x0Q3 B SZ7)Q<<`4;XX m1*26 {) Ɉ^ ɭ"<YBCƠ0 %bf6{Iy2ZJLZ=F\"SvQu7m-v[4m(.+Y&)83e1c%%,ʥbydF2Œ"ww;7n8< 8َ[ $G *Qh/HK?(uot+-B.HeC=EM,R7ezcYAO<σIxA.;G!I\#@b",xy/3-3]hWP6G7\]S^`uǴgFQTu9@q8$. O"% Q1N~&!bM1jo\$8lAs]n41$ 6@ы({>uX5pYW/R=638+8vWk4Ŏ}#O9Va廬`l9ÏnvWrV vQ0t8m;LZšx_'2`dfRx`a9 ĩ`d4v_Wbk&v^ ՁdeǮ'2$07z" /:!qXFٳxRP83 6W@j2mIs;~lhxWM&aH=]?Ė+ .9 sw]c|T,1RY#W~&p鐎ha 2b~pDF;oo1-bizvɄCi:ꍶfQgNGOȯ/0=OxM}b-\Op[=e%Zd5.ڮڱ@MZbL[L X>Nj07Ou4EɕLUl G7~O ^fԔ&A'Xǚ9h{We>fuT`Q;k(NjߧfOYcp'H߂\m?w ˂gI~PVc9q]d(3_&J8 a12dBR7p- ݭ+RylCʐpW9ԝ]gy={ \9QlB^2d!rSsj'L?n863j g1]0Jj;,az[K͝ )Gݞ{tvof$]UTe-ˆ} L;5)#RR܀A1`+եQKZ}ݖ/58*؉{_ nA=X\hBm8T9mbL6 V/2= )D6IwI̚#$Jݬ  _h{r\1 rBJw 564B3D/Y"ʲ*rl⇦g06/&5ב)5u~? F;(qԶR$ 9CymG;@#AXZW: E{+8 IDŽa+{}ņA<"hnp1FԌ~u"YIn8ߌ:5OGk%bH#[luE|6ɓl[m4!=["6u 5>Y _wS+\v;Ej:*s;[>\R)m)R 3-o.>)%sZ_|v M~AZWAٞTȹ |5J&<>\ ~&0(:6{Y`kˁO5C,٧指 [+._ʸRm7iV;3y5ugiH ,XծNo'MN(`7:28j7 Ph8)4,9~Ȋ8פCnuwzvʣe3$AFbC]ؒ_nF6`2 %%Wp>mśvHE: 8^zOɷg6$ +v_xqMo/rh.o>ܐ9BT-?[3㇤ٌУDԱv?D pSNWQnӁ.=c()Q/~K`lӀG$$Ks9J+?=C̱>H[KF8Ύ?SA,3kBk`h=äJ5=%+Vl8FJ|v'dQ^'KPa3[Ꞿ1 2{ JNfb,i7ֈct'{EңM.}!X 5V4h>ʣǻPa';,v0KL١K.:TS'pRE yJz@7s~qcm%OwT *(JO i*VsݵU;DY:q=j=Á0.<;ͦ S~]PXpqN ĿTn-Vx,`=;2i^"MX#>O{sA)jd5TzPq zUz)5m׺9 &O W1qQx<4ld-⃳{qƯ(v66zZM,Sz֭]4$ ꢹR%hH/H(Ʈz IXr?hhxv] 6DMŽ.~ ctF|3M’S8cvݵWOzYs:,DLx܋Q_55F,0әnMco=}Nlg*pډD$̺=bt/=ֵo+L۹ձ]g 19 [{`#[imѝKߕ s3"/}h2oFP>^5Ҭ9Omb )M c&'\m(@H`b"H݈'hj "o3&"m'Kh0汷^u_:[a&9^1qFG%)b>cl3IqYPL4+Vs?-ؑ\am?\F<78{'S n!"ay}{# wgܦ^-k &WEff\H#d@dڅ"z@7,[n s|,yZ;C;T_ 7g4ӄnAz"e? ^j@LT M}m#FR7VNgZIQ)v\Ikhcoޒs0!fLupjF~H}"2]S5B|=GSQv^;60>uNNF~~ mVY!4ȓ"LZu]a,>gY&IwRE)( r:Z=k^L83(y?Ԉ{:=xqfPl\HŻc&f2Ƌl ŬחSRvvTj ըW馻lm r51ywd y+RAqBIk14JP\@ LSPwǺ3٤7\TͮrUM?E-MOADܱK_6˄~{P  3Vle]Gɶx!oީSMc4LKvNVÄȘQ='!3~du#29p]عU,(gL jfɱ9B7`opW64+ԯ%Q _x:wbRKq̺.8U",ɿwzIXjF"H--xI 2G!=_-oM  l?o{ldpcŇ )]!*̙PH0&D4@be{rűZ B&K F!gQm4Ŭ;V!m{%#Fe_`4epRB ,9R+/Cg%#y6z1`^тF_ iq[ J?ghdv]Vcz99Ӛey.{.8y9|^zۿt1h +ǷZS(ZjQ3W,B<5!&Y`9hU8XГm:i@ZrTK$Aw__ 1*['X;CݑB7`(V^D|kX՗HʞXl<[87KW܇- 꿢~{ ?C f@`JkL&6ls4up~@1($A 0:aZ7^3Y!4+Z *{eg@g10V[IjK];v VB'$p X9SK#d[[$XևEcnV~noe}sP03'ZLbo*#c; A XqLRn?yބgrtgHL˜e~Aǵ/5Ͼ]̶4av,;x@ݍMH)P g`!㕔CBG~vѴ׬^mu6cXW c@ڹb ɭ#& m@[1FK ^Soů5b\5qܱy2um(^ obvg#p(lFM6Lwv-lŷI{*)◃AC2jL"K0oQT2x7.}LG}ǡc`}QGԀ!xvjl*]j& <*=І`[<\ }4on~}H/Yt_+a&sZx}޻"U8jd8HMDn$~C h-%(S7INrK&*gHB=f3 lnUN/Ut5b>\,I_!t9u]ZS#G>ʽvJN]2:{dsKNk 繄ۤC 4Tس? vV9鞱bjagzaxjggL/%XdQQt~_%:K\PVS7PpIbU|6Lt$6w蝚Z8SH}C;#goۧXʼn퓓[T5c&k\ӹ #*]#n*t:j> ]qڗ!O)h b5n,oa\^ݝq0vf #V#c=`/2*2P"%=!@Q~i?PߠiˡghuIfkHOSA0\ui텷qkY=8&{#62kLZᱺC>]=.JeC5 \xxϮƝT"I5Ij06]d.MhM*XL,>7` lBͺxbD% _;tT?Z-#cӄ}s#7u0¬͡T?yQ_S8R D)a:&/UӤ/7'5*MnɝMI0c'E/9G:).x*>eh AY`H[xAuq])$0¯s M0w4WZM.2~/'VKeǓ'!_,7k? 3Tr2Iŏ~TWZ]:2\/v \-Wj[Ў`)֡ӷ?ylnbB_[ ]Xԉ[qf(B֡n`CuLҝ#oXBkFk Ug?}P}q85[DG3k OEKw֤gUZk">v?u]"m!Xʙ)\E8RhS)ivdތvJYŤE9 9Ξ }&7ה?PPuWw5 m4J>j C @?NM}pܡUOqmxQO)ˢc/]k(i!d4]FL~/7pchߜI X˿VX^:YS&!p6V4S7De-Z'F;)KdCTM yg/u}"6E-.DBn B:z%` ͕rD dJ݇nCl-biuff+ !z=4J^5 u)j*i/F=Z7pvPJ"5j_B䭉tQv{FPx^yc $e;)i)^^ZcSb.ڃ{酱3롗]4[Z9t;Qb?מ=qSM&k~EdX`гf%;JkHz©%춒 |},XD}5mٺ9 m$vU SUAτD?fW~oX΅#~lGKsit限=4f3>7]Wyav |$>[̩cb k+%̷iQ.dQg[PJ21%o.k ,Ҷ{!ѣW@вVX2{s摫"v4'M#{CC!5Y\;wcsK[2xIB;cDez|?@Up5 [dm"Rg0Km뜿_+`Xaa89nak3*`ͽ/CcL)FS^*ݜN6 SBCz{;#guՇ=CX{f:NlYkNWpQV K} 7 F:. )a:Qql=.4)Owo&RbGʊ0/- KK0{_EAtOH4]BZmJ 9ef^1%er%bP`F5b=`eTWa}:3i,d r7C'(/E-mO"KN(Oͩy[A1Q#_YČ 0vҡ7N^kYY?ѫe;Dᩊ ^Ʊ 0F7MR"q}]vT}b&<R˫qJ+h1B/=ou{$8>:j 4i=6tgP8SeU6ݴ]`\I7ߐSzY{o4bFXU &'POwd0\L蠵7_]vvQh5&/Hog~_G* D~`H(8egգi&=S0٥Cط 쿠NF6#'n$qC\r_F@MQX~[~#{ )k_o3, ܅,7ڞĂO^:/}DU ,zV\A]Fn(|-zƁEIT-v(N?9ʹQo].Tk@vܝd찍(4x!8&2i&=F(_9_޴D D.< ֺz+H *Ly{16? C!9ytVVOͅh}r[1u9R)}'h#}0LW.WH$-ԧ"V3C\RAxW6R^ZqtDKwX"`QKC`Ʃ̄(;=>W?R6zuӈk9^n}ab&Ze;~3CSՕ.mF ?]P$) d qVcZ5.4e cвioUU@OfS4r0(pWW\)t>#p;)pomµ):h4µR>Lh$IGaaS2'_:qg-qd瘠K"Q.lCTK" pѧ([Z++z]X#}+u8:矚72`b7F-g<WfJ5H  J]EѢwsV"DY( *XhF(;&N>3 V/'ů4BjvP+^ ~N/HN횈)9%xޏ+o3F{  ч0Ҧ beg*,]mWW-a [b%=(dQНZDNX_ >c} m/B4tw_LhiJۂZ@ɒۏ$~VV TbN>aakR,յh el%sZԥ 5}7%hLDL?4Fc88eb*|lo")D.4{{W4h! DN#]|(7#ғ@I$O C3QX "K--ce2ϬT;μ$n6*o 'U%pOW#k D_qYAkξ׳!ǚc5&njKq[UMx?!y.,;*h×1`KnRO6S"TzЭk*&_!X88o$v>@ߖZPt/p20wc"}cC K.XϣБkFAiy!.ՃvYſrJGv".^~LHQe#H [@U5_i[#eQt/;ņX M--2T۟DzO6v:-hlW&m l/!Qt^ O)`1clƃAzkU˪q>'ST(/brH(4RhebS:W@A.%LlR~[bp5 DRg}VJE#sPD~cdXyV~C[kѳCanms!$V;pʌMY A!SI*N=rGG[CRlB8E8Q ˀԂ-JbQ?,O'!/&TiukR_y DxwPW2~\MǾ7UU[cӮlp8Ū.ȣFߝ~&!J@S/Z c X`x5[ M|< ?x Id![7ޘ[}Wm9X.zZl.79]>EoaN"ҙoa1DLc_6HJ)6CXZj [^xLt94tLT[ s%[dRfA[7FTϢJLue%>(5ۆ' -Uk.47YMfBө]2؋7nsK|`Q\ECPs~*m J:tǽ~{~o5؏6Ռ/|,6 d7J ^ ?ӎ0ef|L9I?uNip RdCP)d.ȈMsy˃rel_mT?c_VFDCg?%RGͥ<2X16+qA2;5ﮟvFiHŃ5>fˏr >su)87W;+Eoa@% qFVItn\eIJ1K"kC+lu]Y χ83|ê#^@&b^xz$XO=(_o<:Z) 1U^>D#გ(o CD!ݓt¦|1s8_nr~7" }8 |iABԅ&=nJ^ "Ĉxtжs$ 2ۤGǢ!%͊xJtO c8h|[?%VT~VBE+.ɐ$|څgĕ-K6Y_ǂyh :l;ŠDd gtr76 :RB(L _'B 964AWt+J#+3oEuf ,;Km'v=Tx>)%z[tO{΋%Y~Z(1}LGG$JIpю]b>xaJ{\NS>UzNJ.;f;>ӂ9A3=,%=gB5jGOI@n[ Md m23(=eEgv9E#!&M$7C߿֪Όg8M Yɥd$<E [zs(頩KOK5xon`ƈ3F,R fΙ=Y ,h}g3AЫ!mDw㶢9!eqȥn̽vND>lRDg1 6 n+XƯ[f쁠xT΃Y6rZ'3B?=W$VDA"'#fĸxሦ3hYiFZM7԰2e?fZ{qops5cBkUA2;lS,ȎzGP ,76-A`$&:v=o9BZf //n(0i&=t;. Vל4+\~NCptՀ-辪*>޿ғ&N1aPm> <e XeWn/7վ7|sY֦2zi=/miȝI咤,^oOvAjn֜r94bHAbY!%Vǚ^h~ # g;D2oGc\% FFuK5b8YDҔ213*a0t&>F+zSYjlc5Z9yJ(>c$Q'D#bAAfEWkNacXA#=-r6*ݰ]D B$}!9Mѯ<㭰/ZKy]ZZ7(%BHZ<{Ƒ>~O8mIo1䰠?6&s!=ey:s+d'"·/YAdXBgTb]T ,"nICiڈ ~Al֘m(T\*v;CUy*/gpzQU ~Mf_v3PEg]8V'ѰEtz>˩M}/%ʎ S'c\JjQ\2JO0SUۇ|$+*ƛ}N)CVPs_u/7X뻳7}JtFU㾳T> e&U Z.oS_365Xx($Ѥki9=\ J7 ,l|2+eTzQְ%at!_N$) bw^B[V?WC7t\mY/;z Ohm^_P_Y:㒠6-q=9{GGjt{4> EQOʧ|)Q 2_q[_OPitQΫSgl^qdvddh BeR/E,LÁz T4kk6>lSюe%~'k<_ZiRr}#lg"tSۤ(JC+Wso6U|֘#bchyG.MJXa0a_EҀ LB?r I. E=ģsG[*PO9Qx7I\ChR .Y8@1rοar{4F94~uT9wX?4_ dQCSF/8$HLeW('B]v&XiWAI!ځ1o\gQԻ?1O4up(ϋD;-xBb87,πۊKX'W gQ ^4 ӁLK0IӻmDh&>5 .]+JJ|Se3T)p6g观*duĎ$mybKR*izwli=D։\a~8֌]5{W+1u78DHHYFe(A${eZaA+ :"Ӧ27{B*-/&eF.A$8 <7X]|^Ǒ͊{r ZP[1 E{N2Woeݼ ;:͵ܷM~=`$9oܝzO6ɭe`b(WtG*| dNeMɭ%aEW|!hFN|2 73@|5dk642sx-Z f0}{9H 8بCmbV[>̞'T(@%޾#e9e޾ޕCm=Bx\Hk\8s^;Zt)zoߘW\ZL: q`f*qScN+sz)! BueP(N RMn[[Ĥ`ޓu֧`nQn' ~RI6VS&4E&3;߻塻i[]z3EƨYu*Gߥc*~XǖPfSR꩝l*`@ϧrBC'S^]A2H4JڏIIs+]-۰*W$<D.=V _1<̅⠒+2B20#z<585dXYsEMc eM/~*Rzx@im]fP,pnhe) eW7arpdN\;4x IWGzTU7\^ݎ#- ɋѤFh섹tWɏb*sE_ O/u`IcZM^\ УѺ_hu!Vj4u*1)2ԸpC|0|NcWBlYJoDH)8O|Dc2E 7]דͮj?篟8W vԡmσ(˲O9):J$t푷 jՃŅf1/+SJ}1~@d@ECP^F:H]?i^>I0"㒛u!@xSAXs{Cc:^j)}k*5CuȔwimxuE>;}cDTXpMuCNfhuh[,~1GY&lipI$~̲Ceߓ$Q.=ySc%HP'a\3G7yQ.OC?l08mb"Qʜ,leeT.À:@_dO8@QVG˒Hą>l=@~p[A_5H#45~ovq26.%Xn|>Px[U3?T¡9l#de |C$4^u/%Mփ !opQ8eU$EBuTkq^7msL3J r:`LfB5m `dmM.o#!дq;G2@1Oi#I_Fs yY5,2j4m3`ocLĚ? #H}ϯz|'(vO|:`!_2yb չƏƉU**'!C x^bbD}ETqhT=Ql[*3#q|7T5@2u ܬfIКWFѰeS,$n;Zm'}8%0Eq:)*_mH=61üsi0+0 RD8䨠+0WP$Q06z 2L, (&C+3~x#2.crψ {O? d 긆Xxk% t&Kͫ 80z$DH3<ג]H 0Q(~<I7qKkȧ0^ZBh6<ۻ̻-wt j ij2l_/I`"z!hiqևcr225U֊$Pr2Qey}nͿmO~G$6%"Eh8@[8)KT<`hdkf|Z:b}D`G/~t2g?}B t%dt1F&?@NM.H*jو%vXk9Nu{ȳ y0pQIAf)Ikt A~1-^ݞEBNE={]u8," L&iMmWL7QowHP5z/mc ? PdCbШd`j/ʡ.b jq!(OMGa|:&=DjCWVRYx{D>zD ~!|EtgS191Nb# ӆBמ9c]ऩ|̓%BJd6D6墹uY q$Н'Sݐ?􉭾XFCN5YK!G.i Sq`2oBcuVs*!X>9o`5/fHˊ8MZ`eecQq'Ͳ-o á"yGІǬXB.v;D|PXl9Q.z#wjՋӈe֓߭MTSҪ:L!Q?E3|uC^' ]Kƕ26cbvoo ;lʆvga̲V.9wg2 h%Q'gѡNk.}^K^>{7郙\cnm'p_){B(Z+庝PXr]Q N(%J$\5kإnџoyw$+{c!ݱ}?O/ܩ0%X;[.m.5zt7 s8a0]+rY$8 +1glًfk3f kMtM/2 to +/,g|BC &衐k5?lu%6Cu"m5 ),-ȉ4Bw2ه$Z`l_u3ƕ-2+u%6~&h@bYE k\2s.LO?OaH̕EY"֫qc0@^ǢCTyK$j:i uGe0Wʇs\S-$varByr/i. "hOߏKVZS-!JUt\yUx`= cg62P V)ǬvD&BͬڿmVx֘_ݠoUĩ꾵T!J_H$s j7Ya hFSmC+f]Ե Hkw8xn]Uk**D L?-k2L'o+a?#3>ׁMGwEMwlKC/L: UOc/AɋmYS&+%:'wsbu\E,'y3M,Nk"o\ESBifjSQhxbDM:3sRJڳ֭[0Vݚ  d/2!BjQ!X+`(*C~bAH6%2H~gc=}u!ڏ Ykm5Mw JР6$o}g[KO"$UH˯6ājfhR+|$JQ H٥&ᵘr]ZVKLTP#x~It#"IW@:(Zu!mN j`{Lj5>[4v b!G(_ Nr>an5;T3ڔ[teNB=U(^2Uu&hF׍!^2ҪEUG7`k\uH2/T|V@#z t7Wx%鶱d`>k<TadPeE)X*qN~/ + "qcC%  _ab\'"UB.r_S;d鐮l.q5SSБt^+ =l}B^7^% r2ζG@PNн4|~&$V z7k3_O6*B 7zJ+G*~rS{wp(4Vx=ю2 ƙҒ|@ {RW iQ:29SNkOx򒑖NdEɐ;JS־?CUQ &TY)J!Ukx2\$I &]tlw-a574?Q 5xxR`9cHlt3 . c xNXӸmC5ۈBmOJ*u9/73+ ڨ|nNMT Q¦̂``-AIMيZ yLV ɥ|7ml'XNv1t>b,q;}")!!+T\|02=I DEtb!ƨzc܈)\;XTqt?_)8J2ogibx;dQG[#y7(zwwNDYZ+0bJCh!@(]: $z'\e(H6JU b:G?t2>96U݉6Ov1Ee~blt]4z<^ms׍.D b"\:LccЃ[oB,4%-.I'Q.%NSm V 74*6yW$ d.KD[ \vTT!6B&L' >μ:事I.NACԭ =i y= (NoDp3|?cU(oԖO;B;ޞM:jJpŊ=R-A"ܥM~7h F\"SǒM, -_1nSؽs,R$t/އħ_흲]sm8gFsX]:CGE(Qh1Du8dWA9v.0&7pX}SºeL%l5 _H]3A-BOV?= /DMr˴~ %Wz;{ģ/{0veե @sS' &|X^@/{ԯmEAM~u9҅PUxÕQvǓ$lP/e7F~6*ppD 6;>\7m{9HQݹS4J>r]$~.םoYSM؍$qc>wsA,Qby{Qvn&DE+X#>ҩqv\&g0Ĵgo-|_ܱ󘕙OaQ5W;blִhz[O_Fo)#Kp:j1CE^"f9o@*B46\qHt)0  M~qfq6\yߣ)8ɦjg gY3hHIp__t~Ӽ> 9Z*=d*(M)- iK/J@^ؘ)z'LdBGqHG+O3i1~yHWfjh@g1 !3B")e/D GYc]B*bNӯ~M|m~v C m7@42<Y}ypY}YIg)̧@.NZ-sGtS7-,8r^y cDEo+o{!IOz{JM͗`gQu/.냘? [ Y}#+zwIlО_ _:  @UZ[vޚONWZiثu 1\>9"6b 7+{踪&%dAsrvs\bgH¬)ɮ0*I,]btKMfJ*ݰK|ƶXf6|@+ь;4% +"jB~- wLfTHbx=O潸IW}PE-i؍,tY9|~=ǣoEV =iK7T/`脨eů z~}rW#>--8KnYū@r ~ g%`Hi74yC6`KT8H73MdJ+$*n֗ %%bzYڷuf5kat': dZ1D}аz*g1mth}"aփP@7Ga,=ݤfm Q׏^"T1R,Eۊ 5#.+SdxD%`k)GA4YqBSO}kp"&.eg['cΓYOY#fu}\tlغF̖\~݁)+,/Cba<Oy>#c{"4٬8 {{ܻfvĤQZp f \{6UoA\ry=;ljFPߍ|H( W{h{G}>*v$Кsu2erFDW cOks$}^vl|c! "LR^UܯiimŁ<2u; skDϥ'mxˠD]ft~4$ [ϒ_$)n&KhTT5M l*5a;Y-à_n0~!ϣjԪ/7NK B/&`/+0"12R S ܓn4a}7eq1 <3\LBx8U2m< eIs=Mp/[N 4峐$LϘwFBp7fũ1t0q#9М pYYˏx+rw%-;0P5LKFc wKF0(drz1d`l\.eS-;5r͍Co}˩ əvOۛZ l[ P]22&4&L>1AhO`>QT 'K4"q;mCv0~nݨ;QR" 6lj6Jgۈ}ڝRv@s%d%%;J[Z}ǰZ *CFyhaO۾`ƿ|xzB- W:-Nizt_R1"xqf.ix0b}c'#S_tXep%z#|H#@5&E R#"2B)/LfZ֞!4?O>d)H͒q X!Q ;tu}*:䝚;&F˛6ᨉA|ITw~N<#[`~c1|Fy0n$ųN7ldTvC TLRZ+8)[zJT-{dt%5UT׶}N):2l|o[FF4"A'/+rdOw\^G 9cF@0]06B8F8/.;n"x~qZiIYv#k?a̼M>~?Utb5~ٹ3ɟ/P[ʖTz5xh K>O5:b}:)I8嶺[ NtaN(Ď ͍N=zyl`[r.jEa(yzػvK6ģ1 @P{E>STðgw,EgvR:q +ǿ['s-bb?y5{+ }\G WN~*@i-Js(Wހ&^w8- 7wgJ. "ǵ'[Ư"VxB*_Iz$c*Ni8j$Qk3&+ 1"z[)n?mQ$$[[OVTAwПd0AG9kVQM?ᦇ<GWԔ;H,96{zW^ 걨$ hK}oX&M P7_RoA ؞nDUkO+%;-\m'J"&:~7,]XEbHE1>9Կtn4[0Lꙉԫn>B8#J6l)n!:,U7Ƀ W]+>^{lKd h0w4f8Sr(d=5rb%qEnomsKouTv|Av1Cx MBڷ|t'N 'ӯ#R_gܸ~nM!O@\3݉- 8Ԕ;oo0IZG~b,5-P 2 >`5˴gt#@d^b%ZX)uBqܙBr3O \hH8A}-?VQ#8d鋋]$][he[@ il0Wwum,/}|+ޜKgT{7{Ytga bX9 7~$ćeؑp"&+vkld"Dʘ /ʴz#amfaps6O{7~-_Y}c09N0Apkj&G`:(oR!|$7)jC <T}+ /%vMT.\j8&D#ʬ3ĺϗal%{qf>lmkx$i^$\d[:(ָ^*Xuڿ5KC hF㧟ՙAF7uOpI]2o,S5N1asƐ  _ c-lQsVfR `.T~r|F:IOan&_=3*:~@d9x`vhIf gmpޘz ~r2Wz`W' {@NmO֟IzkM <^0{gc,vUU9g{ eU\/IޡH'=1j/i;UP {zÝc̤o:e,Q5:5\ިrV` ]p*QT'S@K+@>=g_[ǎ!>O }$= YLI)Fh7JN[Lh垲 Qg[!6.)(|g{fD 9O j'&~#֍xTn0-/sX+W}匜CK-aD/(ACNtKM{M"uϯբeFRWuV^^qw}`ba6U@]GYeHSi 3*0wzevz =0c&nw+6@ 2W0 x߰pPɾ|tpO>z] AR 6[!?rOd؝^EyA7BDc#X<ikWah:Ց캠K^3$)5M̞C [}GsȦJx7/IJv#uƖH<`}QyQN6٫vQjȄY]2ch GsFIU!wJ(ф8dRI# u:d q7SE;s"7GTKbZ:پs-Е5,BL( (vK&{oszA {seŪ=qRH/*կ&М`  o"giQ#_ +a> e6ՍOUՕKa.O߳ɹf+B(\G i|FƏ:! 17A` Qh3GoE󆬢9jR٢YHzݳwsN@b֛;hd!4Ae`g^X;H޿It{WW铧z_>Rd1Xx esk~nbshUh"_ui]GB8C$rG=lH*JJevd$o>-Hz*EBXODҰEgw᝹g=gq2/\–8OV<{:Oc:n%">+`#۩>)>ҟ5)n~liqRQLT6F̈s(tq# ]EC 5ӟj wk 8FC+<Ϥ" ^%Wbf>v褐<l߶l#be[BiV{/\) ,\&* %i%й}n (DI~Rc^z {U@0@My(_c]:@#@[iY)1k7ѾFVL֗/{_z]B'>[n#nihUяab܏DFxȊF8( NZ*B(Qs$C2) cKmd`i|+\Nc 6hI|#9@ Gg]KG,?l_Q]J _Ȑ^Tu޿o]4@ &|WA) gE^Sy&3-n] #nw!o%Dz|1Ht<2)efU:VN_)fO&@~SK#01.1U]NELe ) c6%1h}B7F? v揵JڷG:6)Qy,\MŦd;z0wO}p&]۾@z]Nz@Ύ"Bw0xOywuJ^cٶp`u2ɷxLu.>>#GzZ%N*ơ9kYfW>uvP77aW0ҊQZ]a 8B}i{gIO¨\>XC;rŮuH~S^ϮPfWݑ#V.I>;s -LرSX8֭uw/4glo@ ~*Az0_?#^C>*dPX^^8;a>`X*凞>5p2xΐQX _fW%1*kq.ȤynR`LL}4qMP?fT]<6'Zj©lsOX%$nh)|/K39,#8l;ը3>lnLu%T LuCdbϏnd0~ Ig4l\g eck/fޓ e?,dƸ7i$qh?}><7"2819ḛC1*̖~|@Qzޗz jC斔=ձdSdd~,#OsprtT6f51MS<^ U=Lw`]Y>֍sgrn'f5&=݊.J!FiBcmơUqb ^VB?W6Vȃԋp0kk%\6H)鉎&_n8ej8áxw$FQ2xC̚ Wuw]ÂJ*׳[^W^װۚvA:[QSd$ZLsm .'3|>Z)IW/V"1 z"?󂙡Š-ɭ!zܯsN1;V_wfi[2G!~[U)2)k7m7'=-Id#ha{z6dJU,p36~=hb}PGƂ6W af7R`$hzm^-nPmJ0B&<%7k.NH :6ڼpmeT 82UQΓ<޶0CAvm7DDĦJײMq@s{#1tw$Ȃ%H?T4+KέUb?98b+k+qա)<+$ \z,tQlLbܻ)fh-,]~H?[P[VQ_$댊_g=+sc8tH{%:8UgFK`v$Y}ihBwf*󁊑{}W^ _꥞)=ILU,zehPI&UH_.a;/p-,-z @ܵ1b۬.0 Y#N*p|Os"=Vg\9 ?zBS_}_'O+D|x؀iSߙdx8i*%C'Q/)8*=q^,,z>[uz6j5Xb3(3o ~ [#U ]u_ĥ {<՛G|BS4=_-ωI$nl@&Sl+VIr 7l[H:6mo{ҴINFei Gjj[-BECc8ye)(,rǨ'#P ZPJSd `Y2Cgk>r'Vi6l>jsced#?`v?^A/Ev:N,!*\P 'Wnfqg[DfI9$BDD[`szCMsDTIZ .ycM%Y%bu"|۳}bm.O;7Epxy o9veh` 5iШg9 wNEo+AAtK^?>>JpW6i>9{eG66BNx@PL\RXc];OP#jڟнi-\XxxWoM,f3>+=qmkn>`F́ .d &wQ4tNǓ0U:/&[\i&Xjo`հȿh/e $=\-.-sF\uS4`)0ApoGâZS#pCT8͏TDj1O^"V}O,N@$]ʨֺ#dR\X]#*2Jlt 8c 0 L2 1 @OS7pm{Ѕ =;ia{GNt TTp=?&8Eݕ PF] N-ڿ 7]jw8̌@T׽[TJQlC V9[fƻJ6vAB[t,vo8w#GF?0̅9>@߬j -z97Zִ[(<#,5aEw1dj>+Y@`x>0, u$Ǻ4̄N)v*YԔe$nV`H'@=A Oߧu.G)Z(G^RN j<<8.8%++IVo3&,c\6\G1D'6K1p;LN:ǂCY%xN{8qӋ3k[󌊄63 tA-7 ?su܅gGzV`%\bQz\L^CJ12t@(?#,Fҙߚ\ԏ}1F.ˀ{ˤY iu~$T;U> l)ID >"mJffͰhF |۵W*yCZ8iJ*aU8Ǝ*󅘌P9T 7iRKD>źÒk:g9}3bqCpJuU~~b;0Q&v'eD6wWu HPf"kbOXXM7G7FQ\uڞSNoX:֭Lfx882'1hE`ݬ!}AmvMrKc'Eݲ8~T/gvt$uUyedMFG Vr0z:yyxx7-,[ȅMSΗceb1 =B\GnR˻#ڧ3kpF` ;+.B- ?jOUP6)]ԒpuWNZ 7_bCsxZ?-É{x{QfJG^i=Jkf2z7{m #<E9 "~f~'/wsX'O3 nڊϿ@z|'Y$OmU 9$zP'4@QZ-L78E/%>{L$|?AHٙmQ^*ʄj-<=̡4J`ܯ.+dQ̨+~trA[lQɹፀz̖iG"f1T]K&e&0*'xCR_q1N(XV J\J`+Etxyŀ6 0yAt]&.߈ӂ|)Y!({UD濎h柇W`!RıVw'fڔֆ X0їY {NZ +-FA1 #`'D*gB=OyGg.qL8>FOY})pѮG_i[a8dj5HSH)|rB{¦@o:H:>[GC!X'b^XԵ&_)]oLP-3`V!([U>ZɭċSu#KWwҜG)nJ.p|ZꦲuZq[5lӶ.jF<$T/'JaR*+H:OXI) f?~lVV [v&6h4UT<~aW-и<_y{xb_"\Ee^Owf ;zՀH=I U҃euMl麆W1 DhdR@s Box.»."!M-D+D<JttehO{ m~ ҳG}b<9rKG83)Z!2Qdeߞ %t>%ၧkڰ L\SKr>_ubz(-*w#%m2|$mUj03+%lJe*d]lcFbXWfW}WÂ&'дG-WŒUkBICBim8K,L+',/Pm.vW ý"iëZƜ݊x`0ts"s[vq@ògkE1Z#,0tޒC:/=0Q !bۨZ `~¸`=F̓u -qJ"Y ^31tvUx5*ȝrq4) d]5 GO䈀f tMe֗'yZ@N?&KH#`s0c^ʥ(Q"4v! ݢg@BHg8w_[־D[FYwP'鹺NҜ2{ ǰl粒(Utcuʲw2ܚaxil:Wzܒx++ VqϮ;eјzD5_$]r (L $=K}Te SI^6ıq6in_y) TF[٥c!ȻW65SY [vlcΓnw 厫 &oOe2ЬCj_!{0h1bY :f T$9<т1%qh. ZVu LQaUC\ɷ #ոR5d1ȿpIj_DY8YoqpNϑn|KEqqP>EX9w U'H?if;DSBDO\#*9RBcyskϢdgkz1 x::"+ܳ/\5=#&~0q^!Ʈ}yn3ApfȧpCUU1I<gzEW#-iG h%;Q+V$U||z*[X| 7bQȍT;'M.J3LO|/?:jZv=ڻ&`|m#i^K%s VL煳ZI3Rg-9oԯBEYdJ+pG}wgK+ |e"+aFguw\0WWC nٗak nv R+xEt] =_E0h\bW?PΫ;00N&̤;^\XpkⶥD/٥8`BQASj#Fx=ڵ{Qeh[O0ݾ, J|ph<ŗZEJvR( ]Ka7t00'Y0k{yg:17B g! ["߸1IXR"a7rd*"Ty (6 8lT[q O; {Unv}!ogW|Sـdo 6pk$AC04ީz,S WvCl},_܅ǣl`pT'{_ *%3jkoB○C7WڃMK(P]lA1T}zլ,mL+ Fqۖbƈq#KCRQjC>dJIeƙK`$0 77=ȮӋQ2?ҐY(X=ԴA M5w3|)=?~CJLq`TFbBgk(Uеߍ8>?5_%$H!9sArPl<1La8 )>ΣOWРy8l) rĨzrLFV#\/y=.alZ^CH0uo%&M菎f? k+{-F|=Ηن"ymղ|E @"~P5z®. j N]M*n9dO"(h5s#pJ2[AxNWNn--pks0ƶ ~=ƳkgRx~1Vz,9·LG*\#_Uc6Kv8iat96_v({X^mԡ!ߢ Ƶd-ECZVlRȤu B} %SzE\~nȢ  柡h3 MT\oC"Og)(w:7R728N^cI-邌xO~Wk؍u9(:JecAُGKJdAIuo>a&;y(~re FZw8T(Y4ܯN^XA yeC>F3<~M_-7V0&2Ⱥ%m@wvTݭ+MMV㐽SBoW掳qgMw:5Ithʩt#%-=>?rShb@rWŗElPĢ V}?5WmNS.''{!C'Σ܆Snphʍ*Q}۽ gzGX͋ӆ~2ɷh2E*hW>*QV>"6NtnP$\P+WV*!/8̜bd?sv1aْ%+@ WpHt{eQ?tA4O71Mp;ؙMQL|hsSHlj4#ee&~_{r 'NC|{z:qxK$6*ZnNsȽeE8NMbD6?4;ׇȕd+2"XlmF_IIw =Dȑc9!elŇt V€;߳}̢W uU;X-R-\Yf?w ˬ9PX=U].-ErhfP|뒋!"dQADbRyULQ )>a-UpǒsykDḙV2z1I~8hXg15A#clz`e܈WI0`^tЇLR}S@! >P^]z6'Pٗϴv(SDOnwJ4@a$&#/SߟeV~ TyF-e1CX=\E3(a@r ;J~)c߂uMeO!\58l| F+D԰&܍?5.w1艖;kWbk ߿>͎֜7)eyRv*Cl.8\ C*H֖\gпaZi.Η6Ai{ͩ{gL[`3o]$x2׏: aShIX 1.-qLǚ@hwχ5̈g*[l|#A>`jZ?:-[+5t$)c5]><ϧ$qG9..%߻AᕥMu?^OF󷥡67Z5,xK$ "D(o;>/N, &/ya |/e/t`-P~8T Ƙ'硟ȭ }ŤˀNV,ZC_n@_ r7t&s`o|v8yt@ZpQ|!ؽ|k n[.tXuZ;/j%ϰ])?SPjWZ䴣*TnA,''(ݥk;e7ViHݞvh$=@HOC27d&$^\-M+ߘL}i()3x. &r}A;q^"u5 eh)=k/B B%vud:8g#yy01yA̛dĄ}0bG4tJe$HiElߚSRǷrJpF6]yY*+hYP+KQ`)DO$I };S"XI5l#^Sk|H4yY~)w6(FÞ[3 0Gkjh%q.7ÀhEH"TA֜m7j 0[zsu(0ڨhZax3F''ȯv1)jHy&+,jZǫDLbbŇF51#S^cŠ|ڳy/Vs$lxfyÃဴ;h.ߑ8S,@MXX:;$f.W {5Tcz7L񥇆ILy!4ۀ@{]d>2>٫"3"KsZخrH=Pra7Jy=H%>[H"91Œ12ZXإľ0ˋ@觝$+ $sb>P&ȣr8~pCD\g(/>9o/+kbRu2}W:+ZQjĘ"5vT!&Qēk1ވXs8W] =XaW<2uI-S =Ź{^  { uVLOX֮ؐ)$Brs`&Mق\ 䝾!?ŭh,ބdCS 1a77NI⁥t ߻jc&o~.d94 {TiG鄵 ğ|.Jt@O׉ȸ@L&stXk ޅ|{TKd^4$J۶ VPG;EV|P'?#H -ScHsZʛi]T_^^r1!@|/D">N08 I墈lh;N1 Κ ^w4\AZc.H!L+<HM!30[7$,S|$;Շ.&H np fKK{ LNj8ylt;}ԣ /&cw^aj ֜^xًϊ88Esuob߆.dz,,Bp_jaAlԦJv'pg-QgC⠚_?=;s]8={R>K֣&{uJ^݋U ZzgPN# 99Ûnfh}RHU_ `'\dbV],b 3m{\(QC>RY}J~G4 >!}vDk')놰1k#]FNco6V_5EP18y ELx;QXkPU&}Ǻ^zJ_Y=st*2;е"Dv;<>\x6.e~-CZܾ5wؼRNހ㣖#8 q-# 9)6{Vxuwc>K?Y!5Cw3x4"IF D1)Bhin@?ΡQ>J/9jɂ+U0Kqg705ae.g6,_=TI8)1E9V1ԕQzBWDXxx*9({r؇y]ȈYjYUժ{ C2@/A.0 ܾ߳Hmz .r%)N q^{ ?Rx)LZJe,Bs4<@y+ ƻ׫DeG΃Ia%}_% ۆFjQ^kJ&@<;YJb/<詴F|$T!sLr"toAwDxv&ٱB1\bB= i Vвӽ.0zeu[15ƟA\}±I'*XiKRٛ5ܲˆ8llI.|vm\(ަ(_O]2}䔁ǡk koB2<<6')5AiV+Xo56jlӰc7VH$2>[E`ɼլ%98~T0;7+PܣguK:Ml>0,Y?BL9 $I6Ls Sӓq@R&Т3kc^1ku6r~16s!'죉 nXFۺWngLl%'Kw9ɦx]̤ϓ_;%!6H8ju;qhB0{#32E'A4ebEօ h]t!5m$>*3GAv8Hj.h=Kvv/ BnI >Ϫc IS||)lɔ)@"9)fRf=-q U`YFdl˨,l$P$66͗ La\ &#@k_^6 ^Me\r,}ljs O k0ޤՒSpfQ:jD%`@/u߄pT*z;Cr&R tKz!HD!+D4|l)Nd56@mWN aLcCr48%.JT,3I/b0GIM "^ViIkv_-&Cח1p%Ă gO&2y9`N2H۵""zzأcz!{9Mapրv'A< pvl,[/4~i, < NlKv '&c^^V3iislrہeT ym Crb*|-^*8ʹ[8I]+@?V`WwXBhA0*-ݮbj-iGsM(UaƜ4*@/7O0x;=}IxWiʾ;li-1Y:~rt;r9c x5={ކ~orSN1G4GZtcTS-\):"[:y*7jvAdߊa_ U Y@e F}*|qK?C{ 3:]GR >F7>)yeFšpG%zL,)p|K|Hq'p=2R)@2\,ĆNiԤ1(VX*E ߓq،ɷFmT,z 6fӘ[;%wµd/'JE${T؁c:X8*֌P*_c:Z&δW(PpZ%?_RfxOTN-F}TNls=vB̧ Fݡ?e])ɤ:a&ᇀG|I2ڧY>5`ۚ0*Bu` vOz#r/x;gx䗉$W`[gd݊P cgg"@],bt+ j.X ]|:oTFxh?qܗ s/$QN#-0c7 |X;ʓ v^q08LCْ^U0{ΧH' /])1 #!V(Z1źAz 'X5/^1}DL,8)Ted>KNݾ8)Y;ePҎ:_!q6uۍȉ 𨏅tOĔ|XҗRѐ/4$7lz^%]$=Gľ [&qJ2G;~8@1$|i lpQ80pX˨!c&]@^8Z@׊X̱̾cO ;z tY}sP:jilyO}{g g*k!/@TKϙqك#&JO]f@ _^#9knZ8Bv _ g[~5GŠ_tu0ģFnOyNٗ1Q|]%=8, 0uE9D$A+/9#^lo,ʕUწ\,ߒѦ!'7.}{ʬ>%-UD?fcha`_ۗ8-e f`+q,ݍ$sހxwFqHW9de}}cUqYYr_IbW5Ţ%\ӎ4KHjKw55߱I54g6&SǓ(#܉y# i2F`u,m#Z_t܃e ~.;Ve`[;݌suzj.g p<+T[!GĎq_SI,eKkE揗V}/)/lfpi[ĐxR Fi9@8j&_O8A}\{7kALp$H>eO5P;6}-H;.4I<'B\b J]G &%e#4*YSC,B̷"\ZqLF ,.>gG= Ҷ ,U`O);ŭXZENCqoٸnANSO=]2 4ƱjeM9 ė`5n`+X̙* uB>ckRp1)%-F%m@ C髡 $ʹº:\1T}Vd8;z>[6BGP +Tqc~!]  $U  6x0$(ػeA m9eof2yɏ&[NBk|zƑJf{>3jvZU sLHbْQ֬ª Ǖd-B ~bw#ID!M(I P9 *>{vd ∐ U`yPo-1˫h"81Rvf |Vri2z"cx&fCM'O9E=8'd/({zX*gOyv(>[fppʥѣ_?@ T^L; mz19. >3s>qF[:%Qip4qE>=w!?55 6csbf:{=teZfKBDP./OJ P4? `-&:GcL[x>˫@D3)0H3I,ii29jZR^s$v^{V/?yH)R׏pu ס0iqp^+Ee@E({fݕ"e<َYNxO_ -vn!'*;\Ɔ>>۵X`+A% 9_q`aF:%]fo>lT \5\LYz: 暈cAb[1sת|u7dN( c[@3y.0R+MŶ[[2oqh{ϵ)\nػnior`ºLD[G{+o K 6q%czI^A` +1NVm.4B(Nu?d$17|a/@_h&k `y+mS8X;x,s1똂:|ңܯy;7UDiΆ!o6sUB\(,?=#h}3VLP(7/G^`b8j EO*{fWٲ:fi ˵{p_yXwrљzcAWJ%f86Z2ƫW+Wk,KD"]QL90,ڱL>z`r*Umj5 m闀[+nlٔMS 2kEVtU}u+ZުVP`(-iUGC,9ٰY(n>xyA y[{?|jHA6*ծZJQ>EߋC 4 @>p5@#~8yحkGDF1GſO{g봤c-k,yv8ښ<C][SД~ԕ&u RQlՌy?t-~1Ǹ% :빍2b6QG-^sO5EO zQz2f䔨tA/kkzK;ɩ8T-a}K -=vS;G7 ?0f7_P([kqQjcs,Y;:@Y̦]Ohb<|IvrbOFI9voǺ J!fv +=\l7%3! /,VDb"png0X:\[%ՃNϔ!4T }e2`]thOx^6 WMT^f4O6Hzǩ0ˑL*-EzlA:oCa4DH4QV)68@ҪzC*OG>G\F-'m 9JBuUfI!qdDh(Sʹܞn*e/tmxr.>p$BΞb~ϘC(gpaK(|W&TrWэ_dٖ# Y~!Upd@OT);S)d6:Ρ&qM nGDoi~//wUiKz^N[CM0KQOs"#떬@ȭ3U2*x&#B֞=Qb! e6E$ΐs}ȼ/76bpmߝAZ/c6ů!eESLM3uVF׏Qugh㜎6,5|ܘ0o/r {rpAy]ZH**uNͳ*;6;nv}p'}O=f]SO&S=Rj ";c1R(lcbѬJ"> 0+Dо7 /h6d*H; sX@ȡh=G;(\\VH݆{[ p;Ŀ#SP̾lʞbY پ~ o73$ϝ{|ϗ.1p$_%C IU0UF&SܞH%j{3w4*h?t4=9UGbbiLO.~|l8GY_b __Ո#m1öL8V|SNTƆ4]L(aJL Ij3}{D20IvK2S$3سƜBGkw `3F 7r̽ #sL֌'x. E6omB3g@?e̱25Ԯ^邍:B̴n:IZdD;{#qxdD8 -(S&qnj҄%,~#S BLm PEʹ,]]@!oA;.thuj Wmɾ]Dܳz>wmBcEB”y0-Y1A>AQ3`ĩ8Qf\@A>G> {x-0sx 8+" sr u IV.[UОy &0Pъfm&F 1}б]S[; ʅ` AOJ3X'xalD$_tΣ`ix3(kʼnғMFD J6Y_ծ"qq:$|MTk$yDŽ*̶1+ZSBretR|S[-6>'6xFHpLU3-y]n6,B(IIyAB0bp!f>f !EIDL3Who JC)E($t]:Ԏ_uZ|KeyDGNYz='$9=+nU.%$]$S{gb%6%ը=;9i ? N6}q|0ͦ]iG#d J¹Mq6" eBaVCj1 'DrLW 7p3pg8ePD's ÂpѠpT'W5˱\g"̫M ^(m8}5IH wg>'^S):E4TҒcUXünX1ZxL4z4zͶ0oˍ:qi%函]O?h7* 5屺i3Xm!jdGCJ: λbA i#p+:޾j|P܎trU]gÄGpjxd!$ nS l jE.;!ꑊJ>E?.o I7bc$_髌4/$H/69tpiط^ %JE[dZ.1)/(COFUM 1_iHNjF5@X_N_hEYeC{>eoSWJ!c8t";sZ.hIpf>G;HH7GhK#j1LehkޡKR>P.K>N. hh2::b4(m*^WeG~SlLaUnwQ<0Z4yH|?: +iXV B") ߨʏSmS[׋àI,kS]9gعiϺ*)vU5`T:ϦT+Aek|ѦQ5ARHW.F;<,sJMAZ fI HǡP1Z8̧ʧ?PL~s2!>勤^>vr˕h}+r3}XT3 V 3__ڨJkT4.fynƅOSFYjm#?ތu0B{gޚ\pl*un y6%TrbsJ†&4|'Ǜ1|샫|$I>] nsC% [kGazx^;n`P6ZsJ?m=%<{o]y$nwn}+dK|QpƖDU-CŎ}tg1h^;=灖 ebn+FobWB@N#[y1D7=W"sduFPXZL גm=bYy<A$.A3qZr|MȚﻼ )MÎkЏJ+ZKǎKDlљ![~!BN.C<*B^ZBJκY?Ωb=h^_H.W4T@[JK)h&WA MUow RXpKWh$WHPc­)`z0e-zp< +J6gݲ4FK$3Gx 7*1tT H_vA`ue.)jxx{X= xpAZMlLbV&6 gjP$űfa4-zxeÝ+Ct10w;\>v&Q7s8bl,+H{aΡ;f`)~Y6@A9ee"۩2VC*> 54 &ո$q܌LIt(1Q|T'RL Wb1I& v%iߑH[$wjG]RADZÒQj6,*A_7DKy.wM%%V:?jc5x0AP^lAG+08VYx8 3zl1 qф[(K)M\[\ZoxH 2My e q0X3%j1%#Xx9$R-v6s3oEqG/7u]jp(K3; OMd&΅10U|Q=׏9^نY@ :e3XU%h֯Hט11r;b }V{vDfZ ʟr))[qiFkfQU$6GP@vz?#J5ld㡵Xs?J4,ud[m0gF:iCV`1^'}CDB5bϤ;Y.[8[4aQZw.k%(ꍨv Շ>*A-ӜKnOO_۹6%K0",Jj7K[xeժ8S3ri̿yǶ @LOmG{t}Y+Q6[3'_%ojlЋVɸpI*ΪS2_C ru2bg yp&5O3f0Y%>-sNj8kk+:c4&ҟw8T6v곤Up&=ɱ+-+׬ 6ء"wTIv>m]վ2+gRh;ͺ?+o)5.5awBhیx 0ͣz%n3RѴр-a=fYY uaP#B髸K֔vp'}N/6qR Wmf7K8'= dDx8  p12qw=PLb#WP3Dm43+,@&ġC[AW@co: <|cP-g|mK,->hld ~u ɢޡR,Q63+|'nF 4Mcމi}Mmi];`~'2!:3@bs$w|8_ubKW-QRj3r΅R qĝ7$lDNPN |c *Q8u9/uN*ZQssGtZ3&w}UAѽ.EPqk˫ϭ:*n@[z:uWFPY@cu "ݿ3+5?vZwiX939wB}c@=]l z *C }ȐFM,=D>X 3]|&W`0lQ[`Z_k+87hm`A,͵D:hCԷAWyy|=ê[_OQJqqёNh̬ogB+ JrA4j/_XT8uMRyC}Wtij֨<[xm"ǼR̋U5ͤX @7l%0ZO{Jm )1tw4M63"K+'ns1)r鮯X\D$*N"~;OtP)23lϺ,օ&MU2c>RiԴ%4􈃁2bo4ʄ42,8U-&fc.|,cLekm7@IHNA-z)"Z&n*b~fj5x]) ``#i`\\zpt9 l/QtUmA<4Q &! §0V !{Llׯ?`޻|^h:-9-ώFU 3|zN'PsL)qX@w;>#v+``1.\G\u@b3

    h3]F[[WtS__|B`,At 8k_6UFISaV,DD'5XVµr1=tFQmqnpY4XU(Sl'{"gljVi=/F`B2"Ab\2&a"h)#]"[WB;w Zwۻc:r@t(Fy4%E7d":"`v*#},by(Α{Jt ֛=p~8!p[b SkïН 1l]$FX&Q˄^+Lz!ÜcS3I_;u9ps{4./a ۹56Z_;a ϱR{s f׼H2s\QCl[+n`Pmk?ސ^{NZ%h!fZ'2Xn$KS؁znW c$8%m,&#z5ukX6рp /ȞhOz.Ѐz(l(ff *wT>0iY+㈦47~EH4e O88 09=fm 0CntKn6dSKͩq_fBaWӊHN^CH mkέNHaCwM?1wg_߰L>n =q WB>0:QүX sDajͻ ;gM<(SKH-Aҩx$qTF8ek<0K2$[M?T E/zZs#mnNrIP1 @6qrwHpY 1#ѐۑo+1@\:aĞ zjfQ=WBt- λv>vX\MɼEUgNK+G"Tj!lxqRY]f!N&}vv?1#  t*S\;#ӻ6zd/AIQ- ^p]cO]J!,-Иi_W+2cHg>4y]9"T։t_R ÞZlx w[12 ތv('hݙxDyH`wJu=j~qdY'dixO@}VV^#`z*#E@&Z rA\{/5>'#~9!ɔ )y>X4e=AW_A'Rlc-XϩQP@Nքoxs4KUa.Znu8ySdy|ڹc)7FW[;Zڹ \١}L$yP8~Ͷh#條v Wm?(UdSG~O} GїwZ;?v~Gᦐj)kxCU'f؏),C)DN!LRN\Cd 5I_vOuťq`y|L I^aIJ~mc:&JXX`[aa&uXP/VFk`:b???,›}hLq:0ukg:Ƞ7E,(O৮evA..nM"@;Ր6v^wZ-L߇|ֆa0gU*ӚQ!wf5ټ5xtF!ʃk=4a&"57tPOQ'Ў3|J?2,jz4_׏y:[;$[/oӯ΢v\|`!Jw.%ѸJaj'ʑSɖEFTAUQ>\8q Ã[sfiʟFH8r7H݈0^LI<#.΀GuvCFf9^ I3$s\2ΫM;o&u[(q6ظ"3S2:t ˒Y^t3w8&jrGs[\mgy^d\ռi?[J͔ mޛdD w',0վ^ՈL0Lm[07(q^j8Ay$z)DNǎ ))dJWYW@xG|iơA-g]\mFu& sgeO$k nl~fh_B0jC =q8Ƃ{#4 ?H#1@ hdA|GOB EAVR =h2'oxg[eW;`"Rd`Nv{M9쟪"hy%VaLd*㖜2.@ YC9Ez@w ?vtPsJ8-nM8^'>Ayoɵ;# {NGeO %1I\T<]nLR}Aݜ%FVh}(;:11Ӌ 񤥞 T&L6"e\@}[{/WQX|{ ^J] Wٯ%>L5Ε/QsHL@Ep++e-sv)! WxB N\ #wlיo4u6bױ-p GuDw'.3DjpX;y(ad?l^ذ`7ƴ LND<|ӡa:D iby#/7 Vp=K G(}%( |JcgT/ǐP\5}g%J]I]r Xj_8%)mԅ5dԣ>'3'/vՎj`ai Y~_ 0QBͥޭ1\972LƬ-lEń5 Ɣ}D9KbIj *]f$ oIXlB\ k:\wg0ygjߙ[ޒPv h7~TKم;? 8Ñ8zK.o$ֆ:U K]pB93OoYXIezy[9v0v\wz)"Uy(ctz8D©LPq,']zJy)Wi.ū5\?iUzlZp4䎳҅C3ML\Wi Ip>c^ R/ ^NEp0_&_!?n{I/2x#L䖈'S^i&ES]G-g!Ȳ_ Z]1DDǁ26߀[W<:mME;NJJ(]o%9ȋ毁CiVVfϞOwICK;Ȋ60J7\"Lؗcx1ƽs@LQ- <̥KrBL0]Ky(`Uy=mE07nSgA#X>Xk>BגlZQؐ&u/A.0}sf)50ӧT_QDˏsʵk:XV inC#,}CPcRBqZ;'  t/cIt3OfL{Pt`\=2AE[XU,r-L[ӯIl 2lb~J)|N.U>\Hfѳ^27zmNrLJƉ!`lO0*aH2J;̳4tMJTUKSP0+&Th@MћS>/wZA#=ъÉVaXN87rK=8rm0# @u{Xu7O -J`BH"tUNŎWT^K:H\rY58}J"q{DYSZF9߿ě74ʼL"N'am!ۃWV O?'}rRi+2VUhy k'Cߜ]̝4=!%EL?x24pՓ. Ϋ·f4bfMgJ$p~8UqsM8P;N9db(TJ94k&l6tl]aEoTgpme1>݇q&@t\ۗ/Tp9;A`!zvCӋͬ5@$Pg $/ sl9obڊ2Z# -F&n7.{T[{R}&j_7\h2olE @v<8I1nK?(  -b {Ɂ5ΰHV<$[RC<ܴ$& Orb\; N;-ktQ!>Ŧz>~qCң `U5[խLL̀Vf)8,`Eʈ/ȓiӌ&G3O)_mW,H#OJ+KU"lҷ-Qzɒ@SےgEB/e͞[ n;tZ4k*Yw_u|E:w}Ȋ.ܐgF88g8_6'R'hE`'¿¥1L1Z3;F/>/?D`ZUz$VۃW&ҾmT[KOc 0:AJ+j[~v~&s69ъҲ\V!eF ]Po47o@JZ{횒w" 0; Kv`@9!_1~Vio*mK[ʢL9p1i1lFn ֗)8$3nHnw }w@f.b>9M[y[YІI܃ ܰ~7Lqt(ܻ3+™AK`qvwVIr:o ۤs_ #7.߭Biʋr: *>Wnw+n2jک8(|2urk$ZpD@22Vu Rw8#O{,`31xVkڿɷptd9skt$ˁj/FI."'lLr_A3\d=%EզYA?9/dR'p:N^%}Jq_YhO*Xt~"$9$9 Z~}m4?n(%z4QUU[f!.;QںǞv&(Zd*^Ny߸*wgD)&p=Po#<.81]P||d!w6q)DQl 3ìϩ!}9dQ1R4 *x#t4@U?M¨N&m+5 ԘIhTs`KbnG€v y?0 /BM ,rKDoV¥,94Ddau[я'UJMi"y f; cpD{KbZ&^ De8%yyw;^/7a<~7ofn߇j`Ptڶړv]-8yhqvWjG|7s14ZQ<h$EMpĹ7KpI Kx%=>9*#e)#ҩUWY\Ft22Ș56$/Sʸjuh+ x}RJuW9$=>jKaג3Ƽ5&d@Z5'q+'?zc-wŲoC?)qypW3Ki=ՑEELt7 QdFj 2Q!R*5~7{,\ h OOwOHA8[B= =.}w\}WT%, @-h5y}>lu Fs?CD:QĤp6GmVV\HPRYnS^MsV}@goxM@5~GȫLM4vBԘQK,lE2Z&i4Zo:<4P|)uacS$QPYͮ2?a>VBNEFbie {ʮ#ES}Yp[n]J:9]6Ia2e^4m5]0C}u1 t { w.F%bڗQb 7Hg$:Enᩴ؉ \$ zJ܈zW&b2afX*O.}khPɘ[r,qdEqj )Iӌ" *,9C)HK]7iw BC5&QE '9U.B{g0rr:!F䐄ZAЮҳi ܾApi'e~#g;*f񥄠8WpJ].r ~ :&GIlմw|rfFB1,nkQ> #(4X'(rUAv `bָ*[Oj;Y|ȪJ[*፴56+r)VI3E/fghxїPcC7RGjo <R`juk K'(Kv`=srn&_7rwEE%cꇈ`G) erz*Wwm Qrpuy?%.%T-.EP[@ԫ$r;bW8={FP  gO P0##X"36" j0BZ 8HxNݐnS7aS$k =y>J#M(ȁjbzA3s[B}8$tMP,av:xhWw7Ӯ({{< B ,D75G[؜uSx0L8dܦ|b .2FLv}>:]t5:jlMU(nl VǚngC_ AȟcUGe d6b&H6 !hh烍+@rg8i,3wT5tXfK V>oBo:m^inpr5$&J!Ӷ#4EuFn RĜhcjUmkC*+puXfx9lu!vQajV85o *Tb@o'[(i x-NL8F=8ϙ;އdMz>\v/$jյfU>"0fB)i'3,^-3 AWϧyاT3urBҥ#{E:$Q6^?\%yXCH|g@=6Qy^ r[ىemd]>2 Hsh߸69)57jʭ&fqZLI`G|pV%7, vV aYlԹ%[E9-O'.]_Gtl6xv&u9욆mE1QwuRP􎺿q^JgA;FchC#Ro ≅yF2%2z|LaQM'I&8 -<2v+vO6{Ma"';b3{旣[{x\W?Y"XD2 ي9$G@37ލowy璐t`ryv/X 9tu#T֪axF.f#_i <ۨ@>KӫLCnTb5["w^r3kM&eY l#ly*(pk]њ^,_RuXJv-4ͺnxkfEj>}DzG`{t6`y:6:u=D-XE\GR)9OUl?N;Iy>ko[(G?PM;5? ܛ-'r`>jZ/du &P弤B'ypD" 헳2JnpGB=ScEbtM+c}]8U Ј8pJ!pmb_ǎLɵЦ#}oц=Ģc@իf1ad]:4"YW|YԾ!Z}T"@%k "Uҧ8qbngzS 110Dy]sy݇ ˜mdE7]&4^!oeNjx‘~KbG"YRa"zu|l!_1|.W2=ǡvpjqZيlb!(K)S cGdJ0A\=}ua&Ҽf)9 vzqaM0>g+?{kda kR`INx  ijFwftg6!^Пl~0xd+{"c$(XѱVO* eK~I+ܝS{zI2]~L)b{ 9Ie\m˞PSZh~Ѹ ]' 8s~>k7. ԧ06֪6EjC/:[W W)bc;ƴG#U7d8Y8t걃 7!^@Z-Ix}nXҭ<>fAu>j=X!\ȼtxOC] Pi S 00aEmYX_Ď˭ų]jbm G\?+j[ #&Bqc@kaM 'K4caH?>L''AA&U2Nj!P>֬;4sAm!)XAw=<ɚ{д;XCaz0v7௶'h%KrMr7{)A qHҕ>Gӗ+wcH2ۭ1`K?~\/.Q+@|Ƥ}EAȑ9#Τߋ; Ou?=ځ^Cgg c΍]@둭N~\$oZ=gD ;*.y>rpO _u48vQ8 "@|(D<]]WD_>TN=кioH~W~Sojd9r9ڡOKe*^IJWL+? Ȉ߹?+>vV(7*NyIl&3Wh6en06iЁN5B :o6#//u4'+6e)]pu5% ]\sF%ؾhEABm{)-nT[^J9lZ[|35AV{S'__YC(zVnq80ZcIrͰmA~d{^Y%Xv|B{ɼUi{a&'Յ&0 CJ PƇgm0o@,EVLHm̀ª]z&깐?!"@(f( XkKcn[ioɲDr /Gx-`y Ҿ牨<\'xyַ)ϷQ]AMkꯞ*-{ a)S@qv+om4&R=Bp@rb;ݰRrοXK0[ pDpX~t),&WrE i-b<k!6E=ڠf*bBGQOas")D>.qAw~?ɞtY"mXf`ױ==$CNOq>U!UX&.rUB.^v Oڍ؄i @"sN&trUY[l( !AWxwޠk"Zhrئ2n/[2I,1""Et%-!Фo?܁x'GtIgIwAz+^m"d='Y^i~1Ks:B¸i}_XsayCNM@(6fXc^ۚi-% ;h|Gb$ ANe[#eܿݝꆅ~ǴNN6wW$Ȥhq)2ۀ .Utf^7X|D{YRsHoVUTH.2"8Kc1jn+!kdN!w~!=m< H8zWf- ',](\1ؗPX/?[icof㡕O=RGpWaȲVWciZ$y)JUU"/e:1t^$a=ho R 4 (={o&cR`Fw썕( |4c<|p(SV]R.7fSm`$ .3K0"3Hyk Jstwwa>T8Pl 0ӐJtDjiޮzMeTK*2 2E*L 5'XMF0 OvH$ P!N D\Ysojl~F3(^P\<6Q8C|v?2!YkՁyGle&D& ]+fWA[cz%o Cׂϱؠِiq~Eo3ؔ.8q༹鐁*aY^X2*I@D Z`tX!@<1wͼjNMOYDC&o$XmEm ,yY$F6\Vc^tѺ"\ޭ ֲG\եoTe\n'' U$[G QUᩰ Ջ}UoA8MuDDKkWWu?@]%r+H F{*r݋JRĢMʣ0 ,8Ͷ$/@A$?++z\5:+Qz &ps>eDGr➚V&:7AVG?#h&Wq( jZoQ;ꎾw1=DdTek`.buly†jZK؟+@jܶW VŶш)ޔNlP(eQ#;ٛD,+&1:PTN2bהZqf׆ Y9GQ\8 `oQTHXdD0=*mRUr%WI(|_YZ̷#g+_"OfGx;z}Nx P\ o닑WAtLVhl (D`GIR}-i#I> >0cFƀFx 0,|f3XGf:-O_nA8P FR4 j.;j Oj:pՠE&5&ztUN'YW n',yBLRgHʴ İ%{ʒ7q]9A9K#QJo>JP"kXz'n {3^M=怺nxAw!!:XZ3кQ*Ze7C#BXIt/m EBJ~ƟAKE ۠;JڍwUD3 ƫ73:M0x0iްEӱIXb}&Z Fp8O;fs~1BUbEJnkޭU֭dyaէj03,Z8J&FA'5q>0|N*M(bw,ۘQ: W'4,$vrIƜqf)lPDGFnp*źaBH+L.nTrfgl*6p.bNO͵0RΨ8>j?0Jw,=+YDAC_t*f]CO5ՀD1_3SJY*čmdCTҒԮ6 @i fIWIwoogڷKۋpU!G6z*_}ܚ|*IwiM'5ҟ1~]!tӜOڢ@V®;S9!qIuq$; b'n|gמfp2#њxUwhtcn[s1t̍ >0TݧevE9c?a܆F>hP;hV%D;W0U^CK]?/_LPj;cA+ Bf{0YjP܅v zSM9:[Uu[}qidb?-_Z 7ꦷxAwtԧ&(koyNN%ڻSF?=>,x 3!.vv dc!?RΧQ3q3L$n; eXuYXԔyϹ;v )9Lp犮/WYi!7\L|qrC¤F ܰIv(u&.4xm{l5lh{IbI'ML\.=y6ǵ5)#4Zq'yxøH/ "^LF'^^jnDnk wfuOr!.;/r`xXalJh/qˁ-5P_FgD)Gҟ0z+d-Gl@vK4RfI 'ƈ9sUe"Xo]C չ7ɰ*1#x#!hs X CCYbMat;C⧩5n9 e(ou%M~YDDq@>!# ;I;wxQbhEB;HS2V7 yBsǣOd۾M@<ʕӿM).1U>ݦMmeODƳ8̿ װ %wYԆ<6R:}u:Foh;s**'(IfRk+/oZ) 29l(1MFt[M a6QN*2s@t)!q_I&Ob)$}ud eVzjppxRgBB<ǫvSCXQζu *ñ2攣\%$ȾveU|=v2$ewwJ;Gtx 77,bWrU8%"ʎv-C Iw쳿2 ;XjbU]TŽz* 3% !bC;rX <8Kʙ=^mBymGz#+%vF(^zsCp@lz&f"F7."X>V&b<{RZ{ SG7XdK[EEVjI֮)^.DK_qKMċ(@kthmZvdq1WF n"~L]=ڭk#ӷY4 6Ր\/Vx z@$nQSJQE#p⎢Ȏ|:&J?)개O%./AEn$a 3 O8؝{zmqXu+؆ za|q:w:{ Z"tZ@@a)зpg&uwbk'P9'omfۄ3m3Ìa?"#e4AD#?|NQ]f6mo·g]N ],k)oSQ+}RkB 2t̑C"dgB hK\|/fǨjW0έm mQ[:%.w97c|+>2uOLy>沾Le&ğn51 wp2{Ka9JX"Ŭ̵'o劣8=pw*ʱ" S Rac7?m$Q'"O^li2\&?tmen{QGK aKQ\)5jr[lǸ pXq׵?LR?\ziϫZߕXbHXY]=?E0$R[-oMlB1s>O@/tG+"x& 0ќBfn- &|.A;Sq X~0qԚ zL9߫h$Lb N%L$_2_{qI&~M1 Om";P#_!, CT./]2#GX`3[{  XlǑV)o^.= NƖ l1Qq>>ih]?kiK=53xHnpU:kݹv!>m8a$.3զF C3mMfuBvUُzal擉gl/?bnP=ڶSLg.3݃Aq.q|*Eφ0I@}XY,6QSpr8̮EOs;{l5=0TQUaI4ci6-xP !2Q.s%RySIiS1SmdSHr t/qB- !+kjioˈrȌ½zzKzN\ ׋w*WBX WdX/UM^$: -Nkipg\{?J wiV[+JꋄHlU@h)t}L3B-e%{*f3N<宯S蓅Wo̘ Jўxɪ )nH01. N, Yƴ3(ZS^St WM[mSSU1.j^񔭚XJr+ 0Bƣw;LMSQ;K_lhbYUʟHju f'F1,WԽKA>7Le8|m{)RYx2}KDP16}L)F14$^75? (z;ɞzO`*uFjV:3hOtqK15&5RMvBPOن^6Pk9#yvD m-)@#rq`ɻZʳ֊֚qR~˂cu45#hg8M /M2}dI|mD^kE,k ]W] :]Ys T=@ˀyXZɆV^"s7=j~A,V'Qa8'( OƥUEe/i-|SOK nZΕ)Lg+[1O{r6ījH-WFCrI=d߬e~{$U|:'>寚#EYh`}ƺQ/1P@`OUT3iH(X},Z~Qp[9XxQ{ S_p.C|,xkEAbH8Ҟ“h8RT3 `]И]>^Ӄ_"aZ\\;j{IBא,b9a;+z챫}_ԭ&V^qZ*'T@ngT:c=? =t"AzT€xj TMH7ut/$pzΛk'y>=ܾdtşLF`LMO{jl 7'uth+5.hUNC"ez3Awb_ <a[Wxͼ#2|ee\0a^)qEČ]Hj~E-/ 4=n?ӒR}kGJcPh[ BCf!H'eUcu0rk)TU{g $ _(شIiD$dK~!}A '( ϐwO!g34O*ˡ E"*jbdy sR?@ExBo;@_h 9*w9GbڌÎĪԧ ޝ\X0u橷[ɩڔa d\Qx~x>WOSlR:>td:\ޓrf91{CBJpT1bNsO)3p&\.궙EbHJrەba~N^C,oq40Nl-5 |ޕan9tu( u4WZD/Ѿ:siZ7Q ɱ9=vB]_{9_IۖcyP. ÊH{ 6Bl NMp?A ً \{/Eq:"NfІz3\ER \@BV }(5Jd4m{ɟ@amdOg,6mOȞ ˖[,Ęsߨ<3S)zx$⛚yK+'`)45 [l [EF=rJ7z mwUĉz]u}d+sKi sČ^'B16er6(k:<+ӿ ]cI!럲GDKbDM86Q 5 vHGϾ MnDYU*@5),Z.a.TH{WS u H*Vיi#cLe5W ؝zҁRn,m|~VUi)8mL2+=2R5.Y #F^ȞMOsOjNPJnʫpmg ax维sƖ ⧰#K7ѕksՖ]c=&M10wZ!1֗an="pzz)8~')s`ÚᘽOL{]G"Lȗxh 6`y3fDe%Lqz8)"#Ĕ"qbѝyUEx:>BFnsҋqJؠXtݕBni%4isWәuҌGf!#f252E^Rty7\WCJ$Gɳnjbmt|[~ !zMi8ftbZ]iewVTqp^Hw~$Fh('Qm:P/"}j-B]Ob@% Y(WU~LKt&ˆIydYJL[q03cA 2H sW:$ݱoX#1 A\s253V-$x(]{u MJ]UcW6/ޡtj[PW? gO'XmGcB3؆C Qf pجсw "RyprQ_bRB K66}dU:I_]~ Pz7!\V;KQGWu ȠEȤ:p~ p{F`x@zb YdR0GDӬEKkS7ǞhZj4 :A Y)::-Gj#{KӓkegzavUx]c5~q.3T`Ś+.>f5zɆ `"RY$(Y~tF!F:x?84Ts g^b? KoNv{T[=d֝c:gOm_߆Gl\rч,%" 2}ׂkI۞lUsIJ,d(EvԼHPGp5^kz]vPkp-ېɃ喍zIhrs#K%O]Q9<5Ku̓4xٖ;uqU*aVu;뢤|F+YK]k {S66!ugy!h{vhq1_u< f-ٲ5q? кo;$l~)L59e@ැQipMj|Z;*tlФWX#^+Xn=|ڲ=\\R;x~IbxaIPó@ՈS:6Mv-9LR]xJ(ƣ& H\} 9-Dt1:pׁ!ؾc;>}\`PVU:RN 2$Hw8-Kcci N79mbLEDsKnonA40 Xחdzi$Hxr'g_UHX+e,J}M`:?C۳Yᘷθ*b;|A>hkػ("S}H9O8t,W>Ws]q-J\EXeuPᷔ/ 0:]Iyekn#5qog8NAN2E\7b5*{:`B {Nƻqٸ_M@%'u$_iªfb67_w<q>, 8׍1A| W#Ivky &L]l^\U{D-<=Hv n_쨞],vk@Xp13? fEv//w>vz[dx2!d仄E>sʤn -BY;@`v#Vܰ!KO8 Ez\i\딳i8i6&!H5)=7C@9ՎEmMĕMy4d vݻ)Ƽ$1@֦2HF9M<7:U##񤨒qދ*T)"X+NiBrW&ɌeddDU"J6U ISeB߫R W4*[KX VNwvli|aF1oѢ"/="qZjx؀k?;JtCXcQT\jSRN2+r4@nCU,Е^GX~\kh|Z'6|$ģV ֣ד2!Q /9LYjVER]r~Xw|tOŖBL ͑V>&h @2~͔1z~t2cD=&tQQ%̎C^`̲FB.2pꝀN5fRu HR'g>R\P 4uAetUD8[jQF`|eJ +Li΂nzKzاW\&KS5tM̳+oRZ؅9t*륰zHuw4^Y2]Glb(k8Ug&]ߓd2 ;vOe*86f[w622߾^ /+y;?FW|_ṷn+49:abfCTGJAj4ˆ/j|~ȯ(*+J3 Ղ GM`|ֻs֥-Xdڡ|PT8>y aD̗Dž$iLXh8 C>IUKXF!_y(z\[?ga_qF[[L",^!Ù- +sfSʕ zsf{ؠg@ dQ+ll3%ydktRZ 1JsR0Ҩp!f̵ +]ZbL sc_&Pi (2L?Dh]n/5-Yv#zl=t6`W $qV Yy 76-SHvHfDWG̏^:g1Fds.i52T7ia*2b>; *y;Ls$zʝ:|n ZN,er_TN^矝*>xuft%CM(yM:qL'OO%|!!;8]:~gWL,>^3}CAoʝ)9^(3MNʋb>|櫀@ǤW(Eomԫ,0/^WnyihIae"g9X#湻\cq!"T@V"+ f "2o_uh͈mKZxllz"CΜRRq2fsnv\o,vhIcy/%թ]F Qbֆ` 0a;Q@T}1*bpV^j *`ľ~0͟' `bGLoNAM(ay5ӻ/$@, QR.=7 ]V4A_-^}xX|BSH}wGv )ɛ}[PZXd.Nfh )Y(\ٯ2,FX, D*%#" vNԁa@WT#@c2AIuZn(0`T YH1,0 M_Mj0GRdw탂BDRCl34LvTYKA`Apކ$E~KOIg96$q5h;L8YK~1iV`s;w$twN P0V̊'`̐0d"2!H h(8/5泌jC tqNF߳i blz٠lwӜz?%)dk+ʉHYH-jalX-vgHaHRHؚ Rrڥlءs7'8p|=,CA/t)q/[8"ϴ-񞬼Ҝ`xS-\:2K¹Y60tuE)@lFSCDnntrf5n- īW}.)<#}O[P$odŻlO0UR'lvWYÂXGFZ~NSL"B<N[p'[LozwDPh44p-J:if0Dy@5Usؼ 3UCˍCYiB #D|LS^TBqأ68- jS:Ә9 L_VMvWF{.?ر)RrFj;ߜ'!`gbJ3_4$wI#vh/AgE;݇<|- !⵲=||1EK^~iy5ֱ z\`O9Y%W{vAyQo)g<;VbL+{l Ksh=4;F[Z52C f<3is806 8IBL:8y'WΊhWSxg530]]at?YMԡcZ Nhц%iN0yK[S]%^1.eB!O3 ,'i~ޛ'#;  cYZR1êWtE @isv=2?}׌H`fdZd|0Pa&Bu"b2" d-I>Q$R'!3tg=㚟6 ؐm F{I81߰455Lm9tiAD5s:u4dR.U*9?ښmȸi+!쏐;?_.OF_vK <A_q9`{tjBLL|ߠsa{_ 9t =Μ?րz.E;U`:n7w_H&K QT!> .X O:0n%ACOܥND(Io>?Lt)U%bӧ7Qpm%SQB:eSOvkX _~bBw~7R8l\f1h4 zm1.@^}*9qC}2 +.L[ OSu9 8KQ bS+jԳl+'7_n0fprɌzG麝ٓԮF_UB2V.!V!hů4ezp-I⦎9\6P.:y#zO ]8i_|[HGJQ'Mp ]uԌ_fU w|gxb AwL(͞gsY6Ш\R1-lt:듲-dCXhs'OJXfA2D-qgSIو wiٜ.j%AW)ŷW ۞:^6U7{-AM ZdT`e<-`.FIqxJAzcLxn`S Y0{rAkyV;ߛ FH}2KbdHm=W\\ȴ}i%w=XF5A(ޓoؚ^>kaGmI^U~WPGn:d$qK= [:"Lŋ<~'.( 5mSy}mL]6wE0ʙӟ*Rk2m0 Uj#c"{z&Zo!{C%HF3DIi@b|%L怘!;75A}8Q\|4KL6BΞ,]ѳ|~7]I l&0W ԏ)85Xwd˰o`+tn cɻuPeVZ,Gǒ,|$`[c)Z#r4A&0F@,ٚNkmT)B733 w` 4 }|վvҷZBމZ U<7^s慟(1 Ye5MEdP4?P{?3Z:..Ub,d`|*X}sK753\YjPLv*\ ֦!YCŊq;-,1%|"qgn(#ANxReY 6)aq90Jd;.QWp6 =uyusś MOvxS 8h&h/ߤ!bA9^A=)ĩri Ԫd fu?ͭR+pP槦oaXFb 9m 3/6-Ot&."XT0ΌDRCeΆ#a  cIv*?$MlFEρ\ŕxbE? =l@K-%Up}ϴ-֔\kiXZz;MmRyKgD0@B/9#cM) =m]OQ{Ǫ25=,*nmR%'&1q(TfJKq| W1 gQ&"R*p!Ӗ^j_ ot=h)/&o ݊GJnЩ 2aD&OUH|;S-ż }K&NNzJlKLSH=4޽qba+{f3@ F;e~ئ2!\5eUK!ӨDLExz 2P3yB,Nb,lAo~]l|@35 *̿y^UғfU` BICr"fӝT:(8uۛX.HDiN@u q)ү(4Kx'௶qR@>Cza=m>1h VR$pPO,~?v+591*Gɾ N)y ~<1#8~ Nc3ƈJiIr`_􇆲DC9Dab`>Of G0qAd2TWc(ZV+a mL|Z ;[ l`&-{> j29+&r mpCKS;#ھi;AGm5: 5 :9M.ESȒPjl.+KisB4n(%d`(P?Pr.2Ps1F/CIT!0N@c1Uբ J4V`ݰv^bc&rlPlOɵ% SJyb='dZ%MZqe:ӢH$ź)4TɤyߌC9mTcgj6 ~֑18@kp$o`X8ɃWo \0?<Ҁ+z"Z,S) wuTup Syn XGF܁Y&o>x}᷶= yth䰞]O1}S=šar pGqK\tQh@N鲼 re|4ʒUrwO"Cr37 5jb!! i< 8֔2GCvBI"]9ܱ/')5[NYMfBфGGM!`]Ͷȴ;"\"@H=Rpbk 5ɳmpUv</K*K,dNg_!0K-Vom6w.D'J{ΟN; %K:Wv-!e{.p'65~nqr `Ucg 7hWt|E \0X؝Z#ya3& u2{Q^IArSS% ~ѹJ;eq2~$@ M8{4uA99z]>nwA} {]!P6F)5:N*Ap22CDVú9@ce”ǚP|#dHG/{\ a4yn."G*g4)qUgC¬f`ƥM U͉9C(g?N&e5# \HΆkU9MWJFa ɾVy0w[f+f_›{TbфG+B%uƍ.yxЪ["M ϗOw-]W8 m+ݢ29v;@t-GC*R`GJH#_!e7*9;&hrFa'FS.רV&.ϏGO`@e۬ÈZȃv|P1)֭%`}p^b n<~iͻF!>Юִt~áP3n7o~9u&t :ن{a7"0W'3ˊQ] TGm2 iw7˕^Lzzoæ `~4On3$|հ`/ W)x~i^U @5&7Sn:% &^|Q\Pn{h4ov t E7PA70ƢwϹVt/lY)8:QE 5#Uh,%ZdP{Ldk%qCg/W# O#Vdm[ޭ>w"h\c`_Ξ))%'P!rNqowZրF;L!vt3[)]g0^Hi%HjpORxgwxh > H)(B1m(3r` K]qRR%KtQR\|V^' f \&>#FbvO~VL=CNMDLV y=XW9th<s|? #_5[j@KC4x Ck@ Xr8.p n e^QN,l<5S,c&}1݀ bLKHiXx_}aAb:2^$=xeG=OY7;Ǻ)eu kNfIRŤ8޶zV.*Pa6Nr|'' ~mnn]w zpN֢gStn91qkc- f$o~e 厍ҼW9ane RFlLsVM8@CҞ)a41.fK) }miciiPDyI,GJ${}eǨ/?@ jѸu֯vwRj\ZM{@g> NUйn,3LrI: "c3S J~I ~'vXn<l*;OayCݰ8xkRi >b  j GnuQ+̎'h11MvY4[ ]S(A~p%WX<4ɤ8bň5qƜ;Z.,BKWaȷ9 ?fjdD`|s =@Vu'x$lkX'\u(?@)qR tT x5Yw4P=E$+0PWe K^7mKܬǚ` P`)OTJ̖SĤ%aTM672!bK5wTX_S;dĹVLgW)#L`oP"+gG|%lGN\zk͢?%[!̾:_O1di0%KqZI_g$9~<}B 鎕h2ތܝ Mҍ.a$c9d1R'U9Ut |ra(-T^Vp)u3cۖNJw]F_ vRF:֚EqV-#;~NqM*.0E%JIşHsBj,0 el#z^iQ[S`"ԴuO[`QE!6^<*njHUC}V%N @I i 5c0j=NG7\v4֋O̔H^NJh gID$ؓ9TB51@i!_¡T?qo7^49 rnrHЍȘđb8'0uf7FX|oZ,X? @\|q-S&K]?.ZqUld}+-١7F7T#6z:xo߯_$ /C0 " y :n GOj N;GQ1X:@2ZKqU,|efu͓E}5a1@՘{'|$y5K-"Xfk aghAp Ow_,!·#3#77גixlsvcuQcp84\K0^6 G1X| ۽ыiά׺"7F2Yl<I{'QMcv$I+Q!Qf;Zjlyn!ʫ5d8`O\<\YqJ" ֋t+x;3N#.a.Nh t*{fC̰H0:"A6b/jPe*P#A)=sۓ{\D ^o -c]>g}?mL>r4u yjiN=b`34a'p `0`:¯Ϗ袣)AlcuS4zW&2|Ɇ?YEV +k R?syl٩|Gz:  mRŇ7y3|k}7CaEE >cxu2h.yՄ`qR: R&CI%Dӓ)[O[{$wB`G?RM3UhwL|`H3JnǦR!-CK(i0BwtX#*Ģ+Rp\5ik,[{h;ҖE!ݍzXQZ8>,Mc9ϯ徶u™熂zpb!\*7zy^l ܺ/U9`MϮG@Џ~9~͎BqY(V5|c_ΤA:K#oSK g qАڑw- m1읶^aAP6mJ> - s;Ru!Fv߃|\\>;@׫0 vV6i)|G: ,˓Y#F8뢷 $[KCk`.c*bTmQ3" s5~sk#{jobi#DzuǙXF椟j ڢe[UT[1} =P993rhf `R5kxARAaO7N%)K_5*UM؜ ٺ$k@pU}y_2ȹ*wl$7W%ա6v<;(W~Eo; Ì*-溿P%aSYۇ]S t'^kTO4p ]CY-8-Ba d71MNBoٚwL!,;"ȝPdM쨂\bڵ|_,Se f z-x3މ AOFѓ17휕lxc>Vj.4:[3}Yo (F”<)ÞbH_nmIꆫÎCzzK Հ$ݽ+ؖ l q+W80& q Kʎ@4>鐛[÷_fgb."w(G\//IkTh*y_H>i/:``2meON'k\sd@19= cyjF.tFSF<мHL=9e8W(Pj&S#˒9 ̷YrN~?(+2G`?F=HC۩>Gn!8dAY4\?s s@WC~9݂bIVjpgW j56Z |`o%i/ 2-]\xe\|riJ X☏Fm6S$xgCy2[%ZP†K!cwIFۡ btC43)N]$;Y3N[rn K@r/C1|inW#]y>Wr_ wC4"GUZAD/PV d/ Tm D;5!*PF}/1?~1@pq2U蟊˨DH?_zj39ك4zj0`1"s\!v t9^_ud$X EssG2/o9*j[kC10 X:E+ CG~ Eyp o-4:@l|wOaMk@;RˈwN1 Q:s@N 0m+Քn*j5LX[~<8@@5B0.b00fS ޅ4!{dyv^?5T6=Zt,3k2%/R,Zj9Ok"1-w"-Rb‰9z]egmiTDfVKsbCgl}=-=Sji!zYo\Tޭwz 8KÈPߔ{D_CX d,@4ۀQX3s>$S9U+u:Ӿ G\* tATt1bԣVU)^{$`nP|r#%#RF>21eqϢg;@4ZC͑AtA mS)v#ֺUڤܰ+L@uq{FoZ/6TL(D.0\h@< v[sbV|_K/6f.q] 64̱1 (6uo~#gr -q1i^"S\[,kUxLᬤAuA Q٩9(~ &6!H)t A!Kmf9`Cl*H#bz:7ڿ&WSwՑ,q;s{$Qx~cƢDϠlj ߁\$K`Oxh>HXB΍J%SjT]lpFf8](ӜB8iOv>pAxl!"jy'JVǜ5DЧR M == IRK}XDb&CX@)yiV?:qNnI>I3qΝ̓'1kUC0J#ˌ&wiQB4hgkྺ #>4Zz],JB61EG=zgpήh!_E=h ܰL:)S3n96!HPv* DMKy?w4~aD0\k9gBq!r>:$h VY%.7͇ .^ZļMscZ]O*5o#6.K򶿀w05bq'm..!J:0;uvȎCڪ_Ӝe <*Rٚᇏb]gost>οF=;O axnu/;Xe 0"!} eh4li5'ǚt|[|'fJv& ?K] D!jz-MhwMF9%]K|vMaMO檣dBi| 1gߖ؈^Ԁqy3oN,MڐRF`@$C] 5H. TBL(̀tB(Z/eo8Oe}[XyuˣlSaL}a0)J !ew$Z:.욱j=2jIM0ۏ)9VCSDs1t .-SUۄeuBRqF\N6_FCȸts. qxrִ1l˳ѶsІ&Uo p [l|bkAlG:p%Bw8HXެVЫG >#|KlA6N#w0l5@#U67i{['ào}EkAM%EY̫xuܐ>Ma>4 y6MV+A+͈Ƚ $S.)Iwi2!7|믧Bgk,㊶h0i#,6dw$޻ ޒpnX2+n' wLF:Ulʤ,g*^P&]K5( & tNe:zKJ0v3uiYKi sKQTߵI˗]|2HlsG\ c.8əWBBaE^cs Y\]|xO1 _ٙ|@6Ysg+h- :~d C6#r:7Liwڌr&"~͔q8oe6*q9I'7hË&.Ȟ]_0m-QjS m]_Q܃d&a^yÆѮh@l.4f ?A ,~V 2Z9>րM&Ml3eH@YA! T4[,0.1&~xGG$0_ 'Q;I[}3k\m3;@!~cdI~(gOpf_Y7S흣?,8UYաȌNA-ǝ jʖwcbhs_6Wϊ0 h*)0u 8K: >Mi`*?gܟo ѻR AE`@ap`^8nI+C2#R߁ txAFI)ӓ}1ڰ^SalU.q.u,wժ2iG&YtjX0nQ Ѵ[1j ]W-p1MOV, m%r e|Ѐh7VZq 9PO7jE s`7c\B0~Z@51#s(b Ej+OɏmJPW~ 8A6h\nO)݈{1pQOTxլjt|#L^: Pg~M|HjRh݀ xL ?ѯ:{TGؿ$ ڤo͚M$e1kl&LJ F 0䝑9(r6z*A~|[K5x4㺃:P4d8EAd;ȳ31 ķ4wTAkU6|Zؚyr%Y>aL!_ܿ(R=&N$ mrT)ZpHvg[fRFq.mZ̨9pHG8l↪^]wT#Z%I^tX$O!OckyV L-5?VbL$̬f(0UXl껵wmeֱ{'[bF JB"d)0ɞY(U?/nz=| `f#ds2=h%+R1H:@e-,î%>$Wݶ{{v+řVi#]]$ .œG >6f[IER.w_tX*D3X@h5˹`}H2:ʨiUPɡS{_)ɗr:5дئ9@7V9t!s+Q{AlB{hH{Iat^?UV>#ʀ z]EL]P-G݆a>5K$dOtfPٝN`pj)| "h)\z@}#NP Y V` O0h˕֭0 :{E8ǘZ)vB.ƫ[UދS*UgG蓾mdmс4-z#bJz3-5mT-wua6pڄ&䉰=C`(j)Ap<u~q#uzf$_2Cl7v3+4V5.KYI$#NG,{u go/Zl8/佉^WjI#Qe^?uR(bmhwmݤ~iG4f|p^P}h"AwEѧ""H>ףՍHpO{ -WِU̶~nB1Nl2 eJo"]oǧR r[VS`ΖŶ(]礿on‹|;$} &Ql?eĻb$a]87Q Vqq.]=[3H5 r"c of}#&?-YW:?HHabWЧ׬@7ɸ@o PLW2mUla>m"XN*B _/}k?vG1,3kϖCSA;)V@!ܡCHޅ%-dG⅐cЭ=?c݇L<$K-48 䳊/aQgMfgRLH{)YXBCc`/W۝Dxvx6@6#:CF~vBvfcՏr')u4jMvL0R/rE?=B/ZQ;Mi@YLOUTk{<ں$V7ԡCӢȽ  -)RXQ%CgYuG8w? =Ls]LINS50v(y+ <|\WΙ@Q-86Uq03AGFZa r`UbkJY/0Ԯlcr_Ს%ʏBTy7sHVtnJ1b8>q!g%13-+O5t7wFX)4zhd<$D;k*@Q2zOCkhr>oٴ]y|^ sko\bK+Z奲obn#ϫ#8}8 :̼ܺ]Õ4]MWm8Mj`/BL@XZ,VWa㭭Oҽ,A>,!O|I>T&?=0Lx GB\aSEcFEq(?m!"v1SoΛCPF`2f: ,{iTMTMŶR3#h~Nɋc:TYĆew+{TwoWɘ*U4LpJ{a~Uxb>uCMF8g+u#ШMOYL<63/)v>&>h5'&qpD l=?! OtEGr6 /g8`\1!>ju ڲxԯ@~vn.3TNIP =~?!} *Rl)'E Q5C)jcLa~zyTom>e SI 6qn. 7XZm5#{4&QT,CY̛2571GjRM}jv.ڌr  8 i&i 0ƛmn=]*T <:O(nrL2`DU{<7 +??7ٺcy *s>Kw :cl-YO$QөԱd#glM^2cҴrϷC$RY['Qo=-|amVxwϭY Vp`mk"΁x,x4sz*$xR/4a(.sOk$%6sH 9&]?vOz1gljdxf 7kjEtQEv0F,w P!|*hl,PN"0|Ґ$D2Bq՘S/f70jx!̈́cѧS-4A{]``'{!J)?]=孩ϸ}߅59W{P`M{FyJxi!h9o_D̓@)۩.]J$ ߪ%LOdDOk1of₭rK/v`׍(wX.5VIFb'dvm%`/ QzUl4hV=6T݆I' WE0m(ٚ*_cfY_,T4RIҤrةzBYZ}v0`^z6Pꗥ;BFX3J`R^"t 0r9gwx+n ?VNg+~i` g$7e=Q!G5yҫ|Ͷ|c>ms)_#V Dm5~m@YsJ:G ciUo jXʖqq yf) vASV>1z ǟ 'PmNr1fMtm4tqU~$Q w%_:5{h wO*AU4qe\;0N>P;16!nh18O'VK6i&%Q;G@ROA~-0̴8Ixo)Sת(IwbkO=w"v&^\[UڏMӾTA\zq{M"Պg7C຃{{}|Eu*&%JA}$NSVVB7([ LJA0)0D0{N' ή;N&?)GֺAFfx lx-#$CH>򝉳>!UίaPnR,NiNV-Rx14eRAЉ#gr?,4Bܨ(^#&z~ջ$rp, *y1d}EnSLYv;fq-<lN:f14 مZ :@c0 =UgZ<Aqz\zB@aR\ngW/NbH޹}Hc'phOtxfLb8mafkZ(פ3qT5#iQ3LZD+v?6y[Vŀ뤈Ѩ:!H:"A )9YND3siʆۦH_kw75N>#t5lϲZ3D:zfYȥJYl 5w([?x)سQt&U oڲP;{{ R{Ƨg&4D#qgd1Sc\rTMc~!:g}mVgz[Hz(OY+JwXMZ-QEv5cN@a ;u/Jɶ1ExbLH'6k| Z 8Ew9FZO;ZC7񼧎^{Mt'čVL}]|fp4D#d$ε:IܖXdEMa2+\tS0PIn39ÝgKb4yz$m +9$YmJ[IϢ$M7K@U#VʗX\=.4AݏkkzXa*͂Q[^E!=YDvj:~$JgivDKa C˲;t)mq5J{.U`G-& t*/Pple EK8vy(xҲa$K2!]bd*Q q6gL+Oք>°*g3Pt@E$ä@PbSa>2"h4v]&ɊJCߦ'Fۉ^vu<݂ Hj@Pu'xA܋@v`EKH+qp~ljG#'hP^ Vޱ3`$ D v뵽 AnGZ˲e1 ;yc@IeU 4*p,9.oG QʷZK9Tm s< =ezazK_a~{('Q(s3W?[;%4@ଫxfr4.]2fV<,b48Մ+ +SFͼ5^!6'T P?JX @yI@%Dˆˢ7'%S= IleOs= T( ۡ Plcل0^c![~H!RљǷјکQ$N˖vyV)p[ݼ}Qw?[5gSOiKM(+K]o鳺7|7,hVo(קWd'Q~;Ƕ^۠|[m~VH$i0&(ЍYn%7޷HRxm %N4Cbxq5E:Zh h| ~].ꏕ׷n4\gf!:!YMP^tmPTϜ"ǚH-0ARD'NqED 1]v9>]k+nn\*[wUyɴ(hTW|sْ[/1C8˭"~p. Ix;_8d:x~LPY2ˋ+KS4#⨘(H#׹R%6Ӿ? ы Q#AjH]GQ&ANUfÐoMe"fAn#Re$ftžk5cuEb:gT hmY&hO@9Ckp5?H g +h\ 4wKA9;/-"Z5/AR2yi TV=*BFޖ@-I7LPqڊ]lhk{)Xlvj&O$iCqVnS$s9Q܇ΐVA9hZn>8斸\ieku\ǖD]knAվ;IRHvRw_/e-;72&-ε~5q ZS,xOʎ=m&"I*l,ծr>ab:{H/[yrI{FvNr4nV}xNH=rm(IBJ_ذLoA/j⍪^#Ȁ'6`eاZ8]Lpai00BHf(|4dnߠN ZwaqqҲpg쯕WK÷f__*Ǒ '!0T09{9mMmwfo&cںp"M{lmCm++l-j;E+9̚sL&MWrO53^`ʧ7z0X\״@Ѩޟ˱6J6!6M'F_Z@Wx1J#Y Grl4sGl^q[ț":Y9/㉺3zIOO eeiHy IJ]~ ]塴]4WG 41 5_F:  }Lؤ A)bսxTĿ9K:i]r:kiT(dw&}%ſd [iJ!q8ބS/鳓rJ ,TbɄN e6X\3Meڦ/ gnO гpvx"E3z5{g֬!A4 \T9&8Q*W3"357,u@vM8h]SN $ZO!pWNveR09rc]Z9۝KOxS-q,tٻ@K?ZS'w76YT/bAl<>[dv,p!ߏ?yX ]"]U9/_I6h h>}QBC56xۆ9 gJTĻPm3P%jB &\ږ0c@F X =Eй'f SzW:@)4 ,WpIDװ.`qAYtu(W@紑NTX->H\:[nw[zMO%yRU4}F3ݘ- ܿzU9P޸hF_:(rꏯ,!}$FdQަ^ejj샼5d4d$fXy*y De,1T@$ m)Qh%Kc0=Mr û+FE`@-%WS{Vs.>&RIԝjҷ\Nrjdk+F$bZV2hH1,[jie'""zx%m; <Dr*xA D'`X4zȞ[E q)}2LSb"g*~veQ@ xRx/N#UfsMў@Fo߿OgXmTQ8BWF"t3u7`PDcsl `FfC+":|gsUttXvADDhU& "`rbOySԫ  ySoj}:}/.2A6/UX"2P.z4P+*'/wlqz%9xdLA%n[f._2"UlVVrU>5& 0Gb"q_b$8֔KnU(ߴE},%B>)ો FxB._ ~\Om!0r-x Wb'I5u]ҷz̛,5]\?1nT/yQ:3M4t)R r?9V6? iᥭtqlvLtfWv@H;xso5_5VeTXAyj΂jtM6TTͺ'ut=ATBЁnfUfDjR(k7†8ƺP8 Zk+0N= üLy-1bpT/J9`JWElQhxtiCitTvkoǨMݐ/cl+9烹;AQe[Z֑+dꤕUNC6%;nz7rU#r@wtZ\/yK@ ouQgZsbh] %_tQ$DzqszS(h`ǂ-ΐFCi."%Xl-cA|9 UhuD[kef72Tl6/ d(RoKm0d=/S&YV2m|| ǰ:7KٌnŰ083}k7aZY@ EJޡP]+YfAWl4ʋ1Q<V].b:!UH1KeFăkc&>0쿘# WG3r4;k"nms݅d.Oݫ 7"fqWM?,/j(VX1)S\<ƢV9^Q 6N?Ugת4M>s~apuOp"aB:yxz -QHS?P¥BL3; .%jrK*A|1G j>NWʵV蒐ЮG_Z@!(nJ8g F`v9)Ym8rA8xᠫ3"G/竎ôT6ƫW@ RdQ k_>VTFt[j]p`cXyS_-;)cz'r1ssk)IJܚ/W<͌1"PP׬{\ݲ7@׼y`p}x)fӇ` z ?-pU^ڸ .5x4mYˁW΍yFAMa;N> {U7qD߉*XDSa%cf0I !i]]Ovցcsq 2Jp ^Hª5BD#EۿqRa%06L:ULLPZGNcZeڸ0?hΈGvr< D?A᳖R 3`pbS0AALP P+u'9=s=YMU_ É5;Ցl2nxѣaw$3}=Aãn5|pel̗u}i9%wҮah/7ڒ%;9R(b<'39g833(Rk+GN_^a]z,ydyu*}<e~zL) Rn9!Oe #a0mO@ȡr>5߷Epn˽gݬlGhNs}WgqvBi  ((V"`']q/6 3q$t5iDJAM!uU@Zn^ g X}idoIB}e~3녔Qsn&+ӂ YP7aHr2![M7}U[YDEvFXpS3zXQ ت \;llRSmhL:7;o^)IG^vy6)V#97,ԿFwṄ6IEbpU;#vmZĹjU"#Mۉ2ecxcl\{PfCWl_`ei7 |"boEC~3\.8Y6}Qx* }W eMp%eAҵZx#/J'w@ୀH"53&Ԓ P Y::<,M L6Q>cׂT4O׻A\wDžkpab2.mWX9="υN 0a" "s?XG̴RHzc MFGr w^R$uh h-;M 漏(rb'N-ɂ33SgO4wG! [Kcdށ8Md"a#0Vf^}r3{(u-͈KԄEpk iIi /ђ/ IhY]Cj2802 _Wx4p U'g3iX5uE/LhMDiDЖwCd"2Bu_'{WA92tL  <ҲpL M2>ДʵF,+y f.;vC$YړUsx`D͛W.oY=tP= (ꄅoE'sU$q<{8 Ub*H~$ nz4;OfEƗ]*[ǻ" ~\3"HR $[ɀ]8Ǹl پV#`#%rr>8Œ@=F< \ld8qZ0;:}W~eF 2" lIM:Us7q $?zn&ވE/+=GN,b[jum|N_!g΃14o}B4B2/Ӟ,P5"ңuakkSr1 0ŴZ[(z^az1.D1ך^R(Jm|*Ʃh{z%gj2ύMSZ6~GI&i6ܪ;c}wPx#!WhSzI<0xn9> 瘂q̇g%)}q @f مSj+2Al#څ TcB-`7Z- Tn1ר&f&[;zAP&"J@UKfkֽ@%ә{l+nkکwH90El@#c; Њ'xh]Dy?Mr { ~( Nm:SvZ\liT~^l@ܾ}#nhM&'`SɋD|ɸ2Dp2v4{֠[O)0T G1Lo/PƟ'(MEN4x/bY9i!G2 $Xplӷ{Q[xP\X%^_f 09$͡uhC̶8Rf9}&NFxW1njr0\ O}z/Xæ.m2.@e6٧%}5i`f1/#p/g~ l )JRqWz{Qs'j,J,#!Ad?سR7l#ޅtF#ǁ峊Z71^ga=UOP}ⳡ7)^i4 z `\g"C6<,H6@ίuB*[iJ@;Fv:`)8ZP >b^"!;쥛x_KfҢ<=\`?bGV}aXŖ,6_ B_x3*AA㰼# V'h?6e3KC"r$;5+5% ۆW-HZT38[h:z/MQ"k^zB]Z< ׶ m=fpV _\!Mڊ!|do%2^_U2U L|A_zR"]bwLOcp05k 6x!2bK/w`WӦY Lax9lJtY=$F-ANшjfEug_5;~X+ lyDfS> 1K3- d6b|:=r(-ƙf `HD6+$0Bx1΁?|N>xj[b? ΩO;-~#9Kj㑰 e.]H[):Ue,~xH5/ZHE f>zP;:z+1rTMUJZN쮯 jK16=tB@r:'?FlE_C[" -\fuY#;h %Nd@d$n5bT@[A'ޮk,9s*&/MYg:B|m!y’xłK>Zr]q%6/K5[YfwE_ n3*0?YB#K "2 V}b6bZ;mkV"^-,WSA䄄mHo'Eǔ2=[΍@ e&5G ΅9;]xWE7*i =%I_ICqCImۡ۠\p`iPO}uXoh*.E;ᩳ*ùNqR.in\tf8>gDA.bqׅklcE ;(4I )#ja]b<~@3;l*EG&Wb %è}BxﱪKU7f_a@thB\֌O̥QȮH4b#77(A擒/.(YgoM18!@8`iD>nZ,0ޜ @sy~Q"{H5Ɛ[d1I:ݛX"om*vBbOBKU CQT ^0β#*;Fߧr$LS>Gyj<aC2-}i܃Ei#ZO#8w<-+=EK!HBm7ġdžA|%cH=uruF佺måa-kڽB+i/k3/,`Lt/RND˥\J#=}\ Sn>w~Qd_Gn4 T?fS>=s1o$Ra Gw두 1ׂ0B)>ȇ& i@,zʓyrBf`pIcRder x3M|W*Y%0&F[e_ioreHhC)@ +SDG%=^O..Q ~Q/M"6ccM RS|~ ]0Ab)7 Q1Mmɨk(u"@&LISPls4 .%$c2x 7A3"5=u!%`K%懤$p9]!C>V~ԏ/5#\D9if4\! gٛ9(0XBCGm"2JŤ"y\IUٌ0yl0%jx;J׳:{>r*ɓυŵEJL+e5ȵZ\MO,<F)[E -d2 S[+p}RfWݢpݞX`A uqM7?J2 iG[$ X8+g> o“x} &0«Ⳳ`-?.gtw :62jQa8hB-dU-XcbұQA1.~#dQ%b\ɳmL[_9o1?v1WD|-ѷ(-5Z3r60'Y!9MYu}c((S8PG70TkDzwӞO{KZ \SDܵ߆ե1F2<iYZqlXVCbQ/j?,LzI3WAYڊŮݿ뼉.s#Q& )sm<׵z@A%`pJwbVkĎuIұD/@}?n3Uly6~fI}ُu!nM~ҝt1OJ& 0;ǥ@? َ?C.XE{o4ob4M[;bF *o%P7e{j)Mbu8|~@ƀRٽP9!^v%#z1߂qk ?,ȹ5NOhDոjNcq`Qub0*  +գnʎ*BiD&,xDu#.!} _,o}U;ؓT h%k qH`DX/˜zgW@g#.*2 Vr)OW>a6PqM} kdA;W 0=֭*.^,\or`xP)" =m"D=A}Z' yl[<)1$pPh FXu!6K>Zlaj jE^\W TWTwoW57]h#/EY. ˟?3)3S2&?O3/5\]%@J"^Qo.PLD=^B4{6Ub,2a5hU;+?J3 k[+юXrVbW>D1A??`Gh;{RmҰrh kٚ&oB6Ih=(;~X!uN1|8[ψo:5+t&{V&å,ȒCY996G*fZ^7A?w@q7D}:h}534b.X5mյ}fHve54zӽy} \6oNmüvMPcBGl9l+rzq/$T? WU/Ki N /J~x*diOo;\'Lg\L#'՞BUvvr-ZP년ک71]GŌF_% 7j;_|u=Şs|c h#FpGCVr].Vq=Xfx`:oJ$Ӊ,PTM'H=x6hڨO>!4s'ᅲЎ]_F%e߫A$L1_m:58|D %;u /ntcR-#]cyY-FhfL=OfGs|ǹJgG[wKvϵcQ.O@r*z v9IxYZ#_QYCyDUrVY %ATAPB8CB\sφJ> ]9Y0pպf@ z')3 AUg!0c)/%a\I{E) Upi[W -h ]iI_Q?3Mh[uBFN{!^-t^R*K5rgtQo<ĩrTqJ<DڳݴF-cyD,| 6|8xy_:tT{cZ߃m&=KՒ^mN .UGmI2~a~J;/Ae6q[^G1FIu̜]!ߎ:fu4c,t*"րz-N#5 #G FtKX#: gA7:{(5CůktdGge!͙s1Եr~^xW4s8-s6f O? +䓭k!I4[}.Uxׅル4rZ䋋=1tMC 'l CpQpIm/N`|rI*5ȴ9I*ΪSkp٫$r}kk%6|L 6Oj\%tW|#af0F|'Wvc[ԇ!3T ̃Hi*ASwaMAkz\r̬תy({CS@Y;Wl&ֵo7kNkt".+37yn[qiq-4FBg9hnb~AO>$h9u9V)`Sa0"[r˙8fs֧!vz+RK`"d7yȀY:Cb42z|PRލĽ^==B/'3PU/{R2b;/i)"}@ go0,[,P~eJ*Ev| 1Bb¼vT]-JuRg>XG|3 ۙy! rnх.fVU BBjb4[FJ dH穼7YV2.ådC(([{ܼQ&WKSyq0rfX,(@/zBD6= Sٟʹ@V܇黄)kkp͛cl1Q}}&_nvU a7`,k<؆:ٮEI{;HSDSduLdˬ9I'߇կ=|-0@puJe(`Cgsa@ Po^'r03ҿ/iҳ\xxһē0ZXiz?ھ`ǀomBմxE-P(+$nt j2 KtcjO'%TxhGiH\dO A Wz\/VZYzKjb3rfp4US`JHS*n! NMWmn2֚yXdrĂk伎S9|hV=Ƈ[fYoZ>./,;5'-c)tEvek~+"\JPl e;"ZKc)v{x;L}782RD18ko`_kDP.oY sP" HUwlZ:zwCRĎCR[.=^O<~i۰L6e{@{e:/l9$wĦ$xB=wx }!kw76d\JZX$]NG8>7m0K5cZ;vQֲ}R.ȁx%^?ۊ1N`g{A-]d˽xg?]JB "ۢ ] ;HAlsܺ9dۆ =փ)΋FMμt<?fW6<#% 2ª.?L'{7`TG< PGYE@*oyֲ]ψ ۰%Zy75WdtqO>EYVVc쳶n<!<)|ȹ85CYZL!cظi6$]ÖzCꗬ9@DO,Ks~ =hLtoz\1I,RJ*OM WpP8RiWd(;ӥK,a!>P,߈*Qz:c܁Uҳ[hh[}'9UqEMN!y ?֠A+V ٺƮ,qM=?vtX-SÅ̢GHPx~DUI^ϧ$yD`nK9uS4'f6'܉ƤGͱ3aS_^zty:d^8DI $-jbR+$ocN(d#%F4d1 o3G@ #*:uR+.[CҼvL5y[3@178`D -ƺHtb!L8wuEwD,1 EN2Mֺ[`c o.b f1C,zz V?LkGvuuI?.,Ȝ+QjpI{ڙ&%32IX{8LFѣK:NSۘ2v0F;-7c@q/ȩre 9T\MSHnxTAqvIo@[2CE})3U{6S`=sfׄczP=9:5VĢ"݂)ӒH%MWd:7ue2]j#wf;ve._m"6( E1L/ Mu7r?t{XE^(_ITz$?{Z|V4]^y\zk+ڤ:AL+ |vLCVmg ӃdZ A*Y%o/[ bSee6ܪ/_;Sީ7W khx:ngi]MXS{jۜv1's(Z=F2.cyUu}i 8DP ,ZuR(2RJ グ9rzGp lEz&KotJ5=x~# Jt 'L{},˙[)/W#{^r _[C]$Gh%žC2 8R%wpZ+ z%dĘ#D|&_l̮X^P~itnS l#.g:0]ȝ| BGYuB@aF1l?DSuWw6j<6Vޞ no:Z*Z r߸,L,5z0p_/.Fz|~@Csj;CģJ.]Г VSeH2&u[V} /XE(GS)38a-?Gb/6:y AgWZa${#.cPaԵ/n\g]g1 CNnHf֒WدI@mIJ L8Z "bkU]iod$[UWyt=<`G6vP/@(G/b2۶q2UpElLvw{C<-.N }J*ej|/ O7E"dJEAGdLZP W9:n;WF%usgZgUˠ_ i;uҶ"BKLE- PSAZ4.J*uXIʦˎ6 JH*iMxxGv'j@0X]e Rֵ1ݭzܑQ ʀDe.G% Kyv Qj &z n1Z[?8 ,񈜇۫85+rՕB̯rֈEޤij5J1x:N]"|Hh:ҫ|r3b=n6,Ce\9UDgHG𧸍< j¢"@BLdDT(Mx}&j4gq "FI< tx|e} 76əLwӈ4+NF(>fz{c+<nf/H 0ԛ]J+>9' =UY)U6?+1DsgGF߰u=TU۬:o`r^z۴+`!6C[C21>wFXHBs V?ߜ, n:L'fǡC#Ț*N7 N J/nITZN݅JR) aL])t tϋ5pʨR<}j:q%a$qD2>r(Z-"hZ^u拁ϲΛg p0>++=ssGhjAsodOٖ4]^~t7W[RۤRZ&} +|Aeh.u/u(eAwR1ފe)>E,Ooo!9VN&D Yvp6>YޜiMƓ -{| b14c5%7ޞO:,H uݡ->Ƿ7Wkq1'sfń64Uмc"& {a5)$7 %ZA#wh3!YQ+zNT h :5h?RVr2슶s-NǏ[:2uUwy/z-1߀%c7[ #v|5] ( b:Тhl#(SyB=3sP'^vR?ZP\b!n/A(Ů^\n}hľ7b89=7o,29-{g̉IӗGL8܉~fjh3)xq.49Zm"%zjE'TQ=N$uθ}8Cap}BGmj5;E/iWm]TIg Aipd3gdXLH qf?}8i5YhGmdd"T zR&.$2xX5=;޷kh22w›oȿ 4oDr]+"f/ϵFTϑto"Bd̺ThvpȔp ꊬW㣜Ӂ7K4o%܅'(pS,s9 x翅Z$I 7s&_FOs8% '0!:.&n4j4vi"0Tb=,O6]X59 d.fSۮmI M ܆cէ}eBR݉ <1 ĂwKx _0s8bFWP7~ɆuH.M/ڣ8 92m貧y?P,Gn<Ӗtʉ?VzxK]J:DDzw[,04Wa jr$uyR9ËâgRbHR z5XwCQeEK/xZqߐ%s9|ڹ(+]Ҳ]w|!2ZP{:ڿ\P~:eT+%^[l´{p|nbM+(H0aBǺ8$eL19XF ӄewD c*qctdT5u,*w|\*ݰ-[#%F2? ؞*ω斐DcPPIOzc/\Rk4X^(Xv.b1iPכ˷-z96h(1qkW o@ԠSޢvx?'['QMD@rFsj{ݻt:74y)דGvt "v:*G,?D"x,_jSGa&1%m"bfL`2T1YSlA`f\3YCcd.:x:T|0@ XnQ;(2\_uCmxC@Sw NS,?f$e H[R4w[P<*ɹ=xT,PNlSq:.O2ht< "oҬ8)]k\W'25NBؒaGǯ}(-M4ǒcO+)| UJiKz<(K|627a qޑQW ~Eќ1QJ،ΎLV2VcUtv"g(Zb7}-}v9wR"#wW>(/|18.3%&/jYeu+K*PmOr;&dX GAU楉a+Jjj5.G뎉tD ^iĻ)a\Zh!&vw Ӱh56u'ƒŚ.g|WoMZ1/4+L4,q]ߑ`!1io0?E.9mǹϙJA#SB[&4E -1:<9ӀNtO"9?Iw!p5X aTbwPCSէQ 2Zb_ws7@@ɉY}'PԯeNWxW  2hOkシ}5,B<*Ы0|$Q Cq!*u!`CIotbV1 v.o>PCˤ߉?ycSɨQҦM: bq`׏OjN-AEԤ c ZWY89h?:'f݂.%mu!hlO /v#q7&ia'y]XI@V~ ~Xà%@y1Do] ;7` <4L(tay9g- 1:\2P4iNn VxI p1jcjz Ba&v\GxY-USDeM4|@ Lo݅ZA۩wl-+CPkfM<[@U%pߏ!hSocNx%Kހ;ejy=+5Y=s7hOs:^5 E uŪ9$p?C۲60-@aïrێ{]5 =BYgrqZ;Y}5YJv>0X,Krſ)SFa}1BـQ~i8FOH fIX]5y=uPIhvj]LGR嘻7:?bBEc]+mY)тXH! 7p(^PZ:hDH 쵐TRp (x^NM=4(AtyGܾ,!>wsdJHpĴ]kV}Fh{Z%W$F?2[es4-MlĘ1[iN ]!'DWd׵蚻8hOmbMbP'|䚰Ok1~!n"F eP4"q jy@{stsmM 8D#iV&#d"m ~$=@C${Of]U8a&Z#nu({<'p gIr3#\WFF(2 a< 3>6=pY,(fG7W,0p(2r|DJ &Dz^-(t)~-RP%<BcoD(-_'rH%3:f>O$sT9)`*xKgDaL@/T5Ec^x~U@x|KɑV/ w^$:A۳ێ~I^hAFN2yީj1mǭ8گעGpgVr’TGʬ̑R"mjUm\"3DÝ5¨d4cB2IM^6^Sb וe7{.@ыS3w{iO+J|/ KN3˫ g r!jvG h xSQ0te9[dl^G:sz䚞*;V #M'xU~>( ݲ~c,>钁?l^`>@9ԉp H=XӁyְN4RԻ#.]1r$S,Q*N8_U8ho •& J Mf6I®`=Aeٕx $kv+(D/wX3$eSݓv&3Op!ڼOM#PJ5ؒGXDp/p8 KWp+տBԞO [ɟnHE(3⇴{e*g,t" ^!.aeM*.n#/O 2eI/u.0JEh$ HNg܌~SƉ2l\nb=fN1.?3;0(* ZTywLNb˟IB5҂ H^Xftb>ʹp+A!A:Z^O@co[Q}<[0-!mt~mёDBE>GXR+ U1W]å a5|Vvݹ?ve@ SmLWq„!\OVD)EG2x(^n@햆2'҇ק_x6O$9|LO}snډۗ :~Iz?EtN Ms%jă&SliOJU3Mô5~oa6':1AR잘ū,i1GnsCox^kvZ(Ky w[F8<JۀsB|+*z+. m,jI43v9'xm7S1eM3)7?O)\:U0aѲ3긮t y9>þTb`z7_`3i]LPs5N*"7&)xV(ֶz",'Z0lEmŭ D'h^3D1*i'?nD(3x?VVtD_}K,|ef$N'ri+LiU-H.<-u"Y<ʰI(z_4Mծn3vj},lhl)i|\.KzV[tdC8Ӓ2<;,h ߛ(|S$G>0sڮªV7剷Xൟ;:'Ox{ַ:zozن]w`h 2Qu,mjT3p?|B5h\mq{rgBLli_6s j8+y^zGa tZדhmk c:_(I=;-(a`[c25 ;MaaR!&+K+^zSJ)f%.nt}}mཡ-8G'h>|g;c_w%}yBV^TOe5e 2Qst_5 J2l4N;iOtNGt^rt{EI ~C>ӭz 'n 0 ebiBZ,\ fG^:?O &bFP# : ? Wd|YM'E?[Dz|D7 ǜ"F̓umÄW/`|܇jIT\2ko9]w L8hNglvbw|Z৿Me 5Tn*& q@di? \$ҟėf>Im^H`a-c[WI罗Ȼ|q!?N+EÊ-?^o0a翁q̳䤴k;gu>ua.\h/~Q_ XIV_έɪ=5i5$YnWPIam 7 C>gNsMf0øro v!PrmW)udU;O$]'wE>97_RMrPIpVHDc_(ѽ  nԤve 'aL>zX)BȕV34<tQ2{ AC$ ڱT~gZLʼ+1gYF2`jnI"k/z|!?RQ^Pz0ZQk}g?Ҥ1rxS N>>m V; Ԡu4"pV@̌W^-|BxiS Kets8i[:]E1Yhdub@b) >P$6T`i;\fo/|dyK VRyw!ءLX攡!_]vn'˪D&L6޸׫K :`ǕqIJIX&آ#y1 =uy4?a?){?wꞄHۯv4W:^H,C18gLf?]3D)/F @ i´Qb#ͮ1C[T%`E-?a^na9 y'jnAyӜ*w,@1d -@ ̄gi[(o`YC~m-I3v/=*5M t`K0;ni%9r_ݩ>)%h^ﮮFn[亮߯]ahǩ (E'Ug<.}e(sAEM5DR dbeҜM<10)Z4%DV Azd{UVLB\_ |x_l8& e N86 ixo銄"fנ {$oa~ 3]y2#YAVsܑ: d խ=;gWg*HmRh3.HfRX"Nk_~k+ʉ{*Kߡ=)(E??qegq1)rOQ%6*7}Jbl1N:Y~ϥIϩX@S}֝ZTVB9YxxW$%'FM@"}c Eؐb$D莪u,wUN0FfrԑOwZ;u=,RQ[ăaltlq4᪩ZV<;i v3]x ΁}#}Fuu\LwwiKxG%^Z:Z QakolZmNӺIf"@27w}˜jQ!K\MEҧVxjp9~`VUA8# uM> XBM'5jDԂ52<`XTL{m0(d"N_պ p?S`Jf?"_K`WuHsϲŶ3 ,YKO/_sʿhg~c>5y=ʷ:l|Dm! 1m밚U|h׬|A18]ÄRȀ8u#'pgtnls$VYB;\ԔDY^Ite_4j#dDLQSC^)'#(|1ΝΠ4ۏS\S/xUcb&,A81Mg5KJb{ z4)s,KrFml?k-᧵Q KI:wUֳ nu?~s̭\50w"nw#6`=>c "9>_+RÂ9~ͼ%|Z6ˀ Mp`Rq3QzܱE 7uЇ(rYҵr6y yEߏ>D˜yY .#F6Vt9j@]9Ӄ@ä?ԯ('nW镼Әk bCK8](CKVcd ƺQrgx;q Y/O(N^P_}N l~emGtj6kW7dmeitNZSM9&i" DEP8I\kB8s(LXD S F3z69yNsDA<׳f>Pz~ToTOǑ܆E? 3+R߫/I \U6&rN>owr<$1 ٔmq3e@n'aPq˧) zLC"e}+ |sfXiyd(c:ySnNG; 3PrqU0j{5>w`9#A_:i?݀^&}u",p[qt#6XR.#j|` \mSuv.yyu嵼)^Y_j^bm2N"h7q^ըίTEɱ2.;u~뵐%s)L2N>=XX(FŅڑ o]l#TƎ e(9Uzu$hve o#ZA[:k|KW}lܡɉVNӲJڻ&=bF}x_{I'9bm۟i=FP۷Ḭ.!{}V ЊD>v?E)\.\. R k)yKtej)xkҘep;{}#*VQFXwn62#AJ m&;7}B5>PGD+]:SlB`<}M] PgpxZŽvB%[2r܊ HsLJ{DDmfΥ/脡8=6 +ן&tژ>a \ësw&d|٤ؗ5CCuUz k;6GH!$a~BN_ON:miw(mC^F]֙% nɢ[˜yyH%煒CQ*B:k2f4HC _bN*Ӗ+Bv?NV,&}Y]kq*Ha[[]Qp,l!nLrg dzM/i`G_yfLƐ}$jD lyxثm\N )fAL f ~!Di}`dHcJ}@w0B! 7.?: 'tPeU%6Rn^bл1rX]ukVp{7S`* _h`h~YX})Zy[t Q<Sˊ˩O-Ǯk(2o6\B($yn ˄Ӿ,,!z7Boh`xL,Rc4 -O:XlBӢL7u|*smQIJK=XjԜzcY\_lʘz$$V '#)'2El\H EelTT)Bh>f4ڲ(p|s܂=J'/[Zb4_Tg>e]>) $p"1%[q١ S KSgm79I6|q!qpa=&!қc\D[b*GxuIҋʚ]ATscKHL$L"c8sUPaիX z) :ح+ZqWp;_Jc[a0\t!zp?+ff`&mi~Y,Rx{؏uD߀d|T7S{qĉ8(̎3EUb"`U<:|< *9b/{V3W>d^2HEgsV2j= "*)EôbM݁Hqn8 ų2tߺ sAtT+f]SVyfEx"[V.X'& S}ZN+pUP0v?㷰 *&#)xʭH`= /]@/"gyꏰk!a"ZEߎ/'9f\zg3jP6`d .z"bI͢ekLjPxPE=FƜ/q= pt8Q_`@MW$.HGd7R[eu!HfCIP@qcNe:y׌)NCEC=\EAQ&٭t+7 TUxz@Ճ n\/;%){Z՚߉)@’qI5 h?1 _$~@##%GUxuK/ gR&U~xLhT&ބIA@lwj'k\;YGJ.SN킌c$VeR]0+l\r/1 F2"y1bSP;qqLMM6 70Bp4p@R@ؚ@e8!jqjܪGNxȻQ%G(Wy*3"E?g8G8αPc$aA~OBhW ;QoK6AULyΤ /mYSsRg72qLdM;pO!!lV"pU*?0liz3C%W:Եp՗d;Vh8Nj0\BV羛C9*4*+/F&"&Y :/S$(E5D]ʼnNtGDw;yߩ2s#Њ@)p:p?jZњFK):1φ$Xǰ`8}SR+ZJ@.q<-Hu._2* (KWw ~kZތ~,$ε\#dOBsU<,$뀜NO.ɉD?ʣThA㞌9>g;Ey_EQ@ Wx1bjL\u "z>g6N|kw>, Uc3+q@7=(7ʄQ Z\D%7_봆}ḸfVV 4 ievmQ}ʫ!S^_-3mNOa4Fu%ŝ\n4U7 $%AQF%3ke~R҇@ezRL4FZY봖.%B*Ǻ D!@B5B~gl>8HSNnԠHשm@nml,v$Uj'!L&s}K\|·< yVRP$d 5 :;bzi Yܦc?]0aج^@TS񣐲k7'Af!LV X[kgs狫&zʫ̙nptV!8_bru֡USUxWڃ[3++XG0C͹ f,nb7#]<&w݃LjM:@pl]>Giڸfc2}@c !"A#$G,WҌıLW% ChMfJVdHA @N1S{_v\}I  YQj8Ա\o#νoM;/}R}2/ioMtGntOe:He7# 7\-bԋ;ޠ'zML#3R˾_vJ5FcV0"kH_k$3Ȣ\>CpU6Qv"bN*; rCud{{!O9c\ >Gf/Fw/ﰉS.pX"l,mbD?AAD_#P-+ۭ>ٲ ̇0 f;p[ljlZ55z"PTzSɿYx G7=ƁLV͝ߝO8IU"^*ҠPgN8 -'/Ͼ*{ܗyӕVsXJތy͒u}`;o `g4ޫuwt4 9_nk)ށ xT._F>.kZoL vv`kf6eMS߸S @aRdZaXXI:4 G1㎺_kjl'nx x@ ëqC  |[~:A nq8R ^%a5v xC\_w6gz@zU#9N0~^ +Ҭ#k_]BVŴ$h>m%YN S21M823]#Y[X:3x83 hVvYwV8wsU*mupW.z$R ^Hԃٲ4Z@+r%:{[Gۜ?@54n2l#DSq?fH 7('"fcRc\a1goJcY0&J-qq؋Ʃ^)a.%hҿD\XܴyL%fib8䁴0@]>+DtiL6aƃ>jfX<ʊrZhmn *֞ԘZ&?H4(p规r-->3y̻gGݰI֪7!DvéZMvwd2S1^,bND1[G޽IWQ LJyY"妪<  zcb4 s-Ƭc\=%mggoi DE*4G *ʶ7$󄝖MD-;<"pIPl[_Pz|MHf(dеXny{xyLq+f5}|QbW럓zrg1 G~A8%;^f`Ǭ%frKDn.`2D,nbKtpޯT;-ЛqV;>S7KSoΚ˵BÁU&ݏ][xB8b&*fhn{RJ~ "5;)gp@3-u$#E=s$T{t hJ#g^.bZ)JmEO5z*A󕗐ţi1!cr~N䟆7caEzK"^J #x^o.OK>-˓;4FFbі (< =%YYzTQ5sj*_*wKps Uo Zn<ך)<֎E J r8EX)J>8;B c)1J/tV ПF{z'kee9YXȚ|Fv@jFt8aNS֦= Xx  @ecC[iTHDr-`#_ J/^X;֜؁}OAޯKȬ^1Otlh#U!<ݽ2”z {V @,(RY"P݄R! P6tٹ X0 7@/{Qt{ZYXAɯAw׃t鵥99avY%tN.sC2fcr:-iOuO}ݳ(*iߒ My ``*DSB ws OKd3\,H/8{ŻKSSksdmrR;xIEi{u˟{$S9#3U.?~Q];Da84Kfى<=#cgA*mV@6;RDo2kJ7qR\j;vDQ~Gڽn=$1iõ Ms<;y3@뒋`]t"0A4pcnѭhcMyŐHss,S4&㝧5XNVSZLoнH^Tf5 Р47Nѫٙq#cTt4iDE[Ll{ZC9ێM7!,Qyjq2 ٣,Ā-%gfV a{05c_gYɨל$ Է ;>*}WΣyq2/EP b;Ȧm :-&ܯ=nvoHP}( 6Qit%82Ps-{F4eH9tlz\`MۡGA#e挖gXXBd?5#SttImYS?YI kx o%y7|VPĿvHW0=;[״mGn~ HpíDW.PI͊{kT|,fFj-`y!Pӽ”KMpk1x\F_ɣs5¼)5mA*َoO]U-)d{{e Im<Z.0,_R2(xRhߚF;sԪҺ )/PRsͫ샩Յw{srԼJl~#V9^yP[^ ;Qcq!Xc3KtkWTQC\Ƿ?mg먬o^5FTi]a6Gc_B+14dGAtS$uJ%#ćwJ x~6eS|B-f`=U}6FDKZLoEO:?GH[ݏ t4L}[Ո{B}> !rV}sS[ \҆B4e􎓟/7O @f 0 ^fP\VBS (:9d GRX 37;^wPIVH$7p|{ŜjX+\C'" kgB/Ca>w|glAO;(P]00Jsm.1nOӷ2@4=HE161UCтor](2. C"nu@o阪ْp &&OGG˽<ֵo8Ŏ6F:m=MvyeDeio54#AF  ܽE]Tme{w{-Rzƛ‚㦹D2\W˘hPoJ/;6+zT0_c*žɀr|!Զx-y`>!vヲ֑I2K e71xPˋM;ì-ڨbȴM~շK%&^Yfn_zޅaa'x`<9 l6m\='Z +OJH}{&<ӓ† ,{ gEkWݹ<)+mF#",ZLe퇨i2xeb5 ]h{[G /K>q~)!62 XSt˖p/_ uPΓBR_.DNT?]sɐ|x)z})*wLl'4uCpZ;3 ei}tl+cF`]' aŰo%ڶ<4lH :hmCƋxZ]RB CWLs qXD#IE[:,~)/TndgW~KP\[ + \gwmg?:Vk+n"r$@b )AnĸX#JsWVȱ0baW~"ґYՇg3XnF*#sQ.vS|{+ KɡQ&э9,[IY|} _Tum6ss×V+mt\]#Ί0Zbe"c 12EhW]Uis|IC_b-NmnU1U*[]!ڙRjV(#uWte&Nh 7+:taerƌe=7W`5fH\ہ6i 1(iυJ VrPBO{_.×NmE 3wFU pI-I]{j8Ƌ߄E.DkeaU)+wCDQvˣֺe:o\2z3140(mq5Uĉ&x}#iܨy9}LnW%>mdrdfC} !w?A7b$eIaje%ıg2 yirI̼;%–Lq$GV%94_n k6ae]7x|粊Lw+12u1p}iV}7%[fIڋsa-1L#0C j >SXD15zҨ/CR`bk4.]!*V?di3X՞GuXL0V[oGgz;C516SK{gL GD\\YHAO&U4 { Eo}|8?!6L]f{JOXu̐WFWMr5x9 Pk7\c2[3Sy ;[L9@5O--E`ܹ K/u~ r5OsgR 3<hJJ/Ԡnx>c ,AcC99E~ Z%[xX(LqX|Tuv7h'͡OTY:C"̵ nv1K~#6Ai~XNe؟DMRIBu!qW`Dϳ$I!c'p͇[? g]].jkO@7<*+ZP>ڒvc45}}$:~+pa|xlR(12;H :Dal4y _=OZfىfEDלJLWE@mjq/s "^7q 5vS&˞y^[ŬzL[ G#Ɣޠ rUs\!s )ǼgGk A$A {7cRO+ sgIgXp<WV$ݴhCZxDZ2mjА=*W~wKOxj<병K*M2DuH?؊7u%7‰y+d˸|r(P:p<سTGv_^!X*y2[SԆ0?(+yŞh)[Zk0+!׬"/% wN^iMqƠ- YnMJBAJ' b&ͷ D^ Qb;bcvq̳Ү=hVNDeNӲh1 duQZ_9"j}#/iZk'$iV}YNKہ:cAFUɟ KF5s@ސpj ŹʹCu$yI1H?czˍHP%JUڷyJ h%(YgFn,Wa[xPx]־V˄B%Ѧ]PksqJ@WZvƊ'W8q+(1`\^(xS0,pņ 6C[ˣDsHs'ۊ!$1ڱY&ǁDqZO!Liܟ-Sd=4T] o<=4ˠ.v=0'9"Ui}q{MosK@7DCaDDYjۛ*h'<6 -go'GhfYU|`kvqղŧ9̩d9IKʡxׇIf. %k,HUHv99EX]rFeYͭ9ی `)K5TK>=dϹU-KSͲr!fJƱw~ʱqS8i:8#S'W5کDD522 F/$gx6Ÿ!O9%vɴ\:E_uMJ_VJID?N~R3ߌPWS%O)DeJeEn͈L/۽ 5LAbA0ݵ@)tQz=4"WʥI K*[Ҳkm'(TC}ӢΒ:"Gh8ēNrfKl# ҞT~J]\'-𨯓+ߟȣ9pn=O+W|[!7jme€럇BOe (F(iUN_zPآ掫 ./ Ltؽ˕&yU#߿){Ez{^Rm}+}T10~>g҂g}0RTwfq%= /93pػcITP,x˖Ns!S r,{K7+Iڗ3_ v8e[2Vj$n-?6knJ:Zi)4Gb7Zp 3V[Ku؝Ef~ u9.i:ñMy`KI}v+|nNpMtp+*Ǡdb,4;6qnjRg~ohscrcT57ҾnxG#؜~|,HߊagISgNr&t?~`?ow PO:*@針C_ƫ"DgB1L7*a8%fy5}X.W] lpVړ޳T[Ij|X>|0K9 U#{,q=dνY{ql?믨#j s\04ubMeھz9]qC:bC:+ˤB0jB]kLuh1Q*K j-hÚ?FęH6tHj>$Ow+60 FᏯ0Ɠ` ъv5^:6)s2jæxl9|K{kd_+CRzeخuC=&BP;{:\? %CSKIV NyľU _P[r9!Y7dyGZ<0TBвy3a=[ yo6[/-MiWcrx|GPѵ'e!= ɲי%qү"3s+xFhFM Tm?RG%Vܣ Bg-…inc2h_}:r>c\<|)[DOʴk6CyQxX<촵^"*>r/Oyc-ZfF(0TSƋ`aԦxp?۟=EX3_dknGv; uCk ['/TS{T{I6Jp,Uu#٨%(A3`9X뎠c^+.Ɩj5w"} ~LH n}22^Dl"ú٩WMT$|2Ԑ%d,Ga 3JRx'&GyE{cA,g4*R1{|.W82?aĕv}z@M:n? Z+1y Qp|os< &~VV&RUM!GL ODohl٪Cyw2l! Q+-*#gN[|m͗_6[i;f6ydE\zɦjAjN޵xUƢ磰U4xMvVҧٚR"E>,ah1+k{Ev6]=@ДЮw58JE;WW!|~KP »7+3Q)92 ZPDJ\ ?vG9Dpl61Kۻ&B7О5,7 hŚYPƹڹ?"T yTF#`@Siokk)sadnWꂛiR-K} ,Ƀp)GJ :^l % bkv%b`7ф6_2h5*Kް=Mu@o+ƕ0GcBCМ߯i ס1bۦd bMOFnSSj.uUBg \=oQ$ vTEymǚߢkk ;J uަGQvN.H&TxU7ג;1pc:&; f%}0xz- duw \B{+c?[dѼs+Q;WonmK'$; Ճr=%!T :DQI%F%@%A^S nAs3M,Dכ%6l~ n-<:_?BY/~+tj<~{u$#w!jZ4RZ>}B%ڇnV]"h«?u%q{d0l<#܃\;͚~P'"Vnfvj6ƣ8$]dmto{!f=|2>bH7dz{= P\9߂KKK9[de޴_X ҢJ)VQٲr$ihj>}j_]JD24P!Cg'*eW,%ԀR>NΣ3ғ)%u yA)Vt ̋r+rl;d Sϛt6\FX|vOWnK0kݶsNٌk4;[$YAa^+Q)vq|wt!ShL} VV߾?󴶲̵qU'쟫94#(D;,yx6^[6j_FcHnTWtܪfr 4bMV6؆LYLO)fƘ~ج>$:NI+}=ҟ?Nzx̛F?pKd0څ\Ǚ ?63AK<{ dJF"&&#i&AǂO;Du*h׳(Bo*ڽ桾>R7fHmO,0mos!â)lӗ^Sb̔ )[¨)5edvpMHgmӻTWA79>- b//V'.iC=#$uegׂUX{.=U. qQr4RB/'`i}ntRΏƬA~>d=ߵfo dK-1rW B7ʖZgEknңfX hbos⎠ۥ ItQcT PM>!H){#Wx's1ŌGv a0֟)uCi^ oR}.Ƒ0%|z)[PT}FMZ:q#[.rfcz V17!mSQ^!G>a1x!JWn2Q4;MLG{٭_f9 aM|&70,g-p"!-Ag]N ӯt\i AHK)gۑxAT¯%c,s ]HڔJhE17=Ap< sp# hɐAb:| Ԅۄ~hO,U I/ִ;D$_ai-}Ond  )iL)LPP6_px>4L)7< EqeJU.8H{$;U0 O.lr7mvI0Fp9PH1P~ B~1Vb.1GrƏzi8cKT&;k 6")G;UofjJAj9ud=r#IJmAVfWP5_ &I;2mNZ46 >%-Hm Eya?Ъݚ, C O6qh|DcX8ryClJ_,06S2r@Ԛ<ϞFN@N!f;(fnr)fۂ2L ?RC^#/G/Fp敖*"v -fVϦ8-l}QC9pUT+QfXc{ɾ.tY9(Sd{s dD.ry!'[.nn =aJ\vOOӥOȱD1f{_T9;+>0^~0 kŶ 3fa; j]>?2#ßU8&|Z߲ g_vBm&H_>K`6 S (]6%,XxcE Fqֲȍ')[;D_Fz`%յ#`Zw*qsH[ \|hsӣyмh * q\X&vhiu)Ngr#ȎQgI9mKbWzJIH@ҥ$h2#ם}?koRÊxgOm,^e+a`ޅ65Yrșv_#cqpf%չU!VAGJaNO$)2Үd!a(,sfRߵ$1Dh[vhZe @ғး Cddn,W f*!kM|I{}Ѹg{ M(ƌ:Q/ݪ57LJ6rhupԩw9;v '$ÚydPKY$I,GV}JRƹLe(j\rjJdrrÞ x_c$9=gdna6@(B>O^֞(U̍%G&9Q[,2IlڳG\ȤDi@㮼-T~g'GehGFAIFn/4٭S Ap|ZQ Gr\&ܳGV$S/~\Whg-vvⲱ0T@O7=p#~:c}u䑃1lUi/M@cS*2~%#q7"ڏ^')cRW8DQZR6(qB25w/V ΀KsZ]8< ͼ+DK`tʣ4) q;Quqb)'=8Mʬt' P+53.Q5M fEYk{'*>>,!{9.MkNܑ1!GfH9N(Poa=J(( 4m`\J\œت{q(pJyr)Hz>h=C\-|#9="?! X-]*5X,~0vAy(|{=f']~2.<B=¥Bf=S# x̓ aLi̩R)mvYLb4W?랕![W+}p]N1:4`)+\qB1UV cOQ"75{rNmbU^ cWk`,Kc v>z[!=D40 i ,ċFl2y⻲+n>'{RT u>Z:śzIrfqHO+l+q([:i=',mɖ iЩZ Qn`JYٌ Ti^Ym ɳ]71 6]Aܑ_u0MRٳ2uVF֒\5kq'X$_qwayR _W:eC)@ێʷBoAx{,[2΋ `)']RvKMMvwNn$tUu7jzաo*A mrћu}'x=պdRGʠ&=;`۪1gڝVhLӹIȭ,lsZăy?k]oӛf~[Qp&Wes+(܉FS/H9ψRP!UyZ ;̸p{|/+- q\GxΏ5an χَn43FmfV%&eR}0B=Nז$L]QZPV6[YfnhU>clpT鵍pj$==Spc,4NAX8P^,5wDLȭyF k@tN13!j4=>$/N*z@ و[uǷ{_%ŪpVM_=ˣ/wr܁)ۿ=b;i.i.ʌwվdIqeϗ3ǟs|C[+^qIV13ueQslE9Z䠾Q{$#L˸m-q#"qi)wm_!OYv0|Ŭu7 x#P󛇪[}pm3<5sgE@%Σ2`QCUUg[T)XsGk?tw4.+<)o%d7jpzxAa ‡2CN00qU9=R )I tjs(w -78ddE+ELԌ CΘaL*-_R>BTj$ˆ:9 x*|X+ "o{^夲Э{U7C-u&eI`;U,«RΠwwrt혿FngzY>X? %.l,®Qn.  .:-U |7yj_5D;MQƦ'LGby^攄U{%lg&Ж»bIyocm!)&-FIkMU>h #K]~Gՠw*}CĝHZ2BNЍ/zw3g[~8(Mj,8=iS"K_{lս2o!L935H by2NǪ^#ۈsaaamW VB<)g#nSW JwkfۉcC5b<3=K~\~y_z,u /BkIY lJܦ"Yq7dk%Ɖ3.Q}(zY^JĹ,v)y"Ui$Xo,uN֮~уC|JyQZxe38d}wMxq"Aaa/Fn]`mXmԁ 3i%\;Ϻm, K $3R_C6nEz:#<,9z{ g+/ɃҵB+zDÀ'U'‡R-0QYMHf$[a#)j$ 1w3|>JLj5 9yȿ5zOS^׌АD$-@qIxiMc*UV@Xس.iA!9?\NG8:DBvƗX_XHDYU*)iAu æI+VMFy. >-{0SkEg;Μ~h&w5*Hk .>I 0IR؍VUÊ`Fh:`9XR"f<&zX΀o~-h*=Q$U5 ղw6;ؖrTU n5B~'ٵ Sݫt;,r6/A #屣z:f)בWݿ;"\$0EL Mmng5;Vy:vٚ1 fL|#m{yG5kZHi(O;{ȠMf$ v 1l-_6H#В8 n )_gDޤb%="7̊ӆ9*߼YAzjO-( EGQ>0J/xce+< =6|w 3X,z =¥X?v!7fDPW{.B1ՎA@F.>EWE_a9mdF0փ~̷Mv1#[)Myɿ#sI6[{z:-g›')&8BV7SN$hYX&qq+MvɃLSL=@ M>Pk(8\J1O{}BpxGA+LNb'iFŢ|.Ƒ:`Q% 3ؼ(҅F*,}1gϊ7`Nl!k9o쪺9쵖7Tcn~% Hsg2|O !$x=c1N/qxR0?*jRbH]W_24DKKC6vmm1BۍӤqQ)A]UXp=5 5`*i1ۆd3\2ĨRL^gFS GMH[)QE $Ь655|pݭSDV'CÃ1WAe؏=՟@TͿ ;g%A_d55YZV3PRgZ&[F"?؀BE #A,(IkQ8:<.j6<&OAʵ|unCm҅R/+nxNsڈՔh/3:!Q6Jꕿhe_nHq9(`$/*[M9,qk\$j393{%;]aAjaV)-<+MQk0}C $4vq OPL!%G3'ʴ-I b#'-$zǃf-8i;CFj trBy7v*M[ wD_VaDN&4c r^ +=5ANsWFG-V,# 3ar5"bxb, P)(?x{q\|l&=N u"O ҂H$$_pI):vJ^9tCbneۿV%'JEU>aA3/MQVILztjRBL.Y*" yV;؏'EA р l);aE!cHޭ6e辦f"@Ot '=-Ie3 ?%0PU^ Q(2"cL ໡`)CU+N Њe 7d&˳at&6 H< <>i##Ŭ [pV\խ"%BB^na`TM!E?[{d0zF>FbJʷpE 2Oк#π*$K?I*pSi.5`߲jtI5]P&D󽳶1ZD_l+J]ql&Q&“:VGj/:%g|I g= D9B;=^T`Kx@VqXި1;-ic];5%k_M/iIޭ9a?> )q<44r>7ۜN;ZrڟU< m]AkZE>k\yZֵc|[S.8n*,o!F\ԺhW%MsShfwb#t8r2-ҹIo/_hKI/v刖XYiZ2P]'$X R.uܟF;>E-{:@sųB%}")M{z{ܵn|F>.fH3NUq kb?|9s!kYg?+/ kRgl"%ҶLXv^PɆ?H-KMSh@x(K!p9@nZl֦sj9k"xj:@Hܬ/9ܭ T+ҩ" ׯ7S^ vX`IӦEv,l`v/kݭDƘgKp`0ĎDY|ӗ7QezbShS9nU8| Xlg ʮs _zI_ezEN4<TAP%=ϣ]zeF&49⥇(2j; 8Gp$4xt~춵3ٯy[:Q0)ao<~0{Խuo R9V P=[?LVWٳ꺭{j ̾/L<ՙX]"Ql_av!eJRWĵ PΨXo!^b2Uflś{ʊU RvpwL'ݍj pnBZC2qT𱍣z|QN.b p~LT| ²*ء;c &yO-rwM k6Mn? KL?R$tBo OʡzXG?T4Ddj~N$}FPGC?Y8ۓH[8'xfγ*1r!w*Gע|K?\{g%p" ߯j#e&L-z.xLn!JF ۴$?[6Kv5NVɬCyѲ7l?++;%U v'=KpڈCv;-8?,Lqguk:fоtShHG3ikP ж{ ]dPi;z&mV̈́zБ҅ @/cˑB4@y Q}@Gz1([߾V*Yy2(=/@Qpӧe8WJ`EԍJk"@Zl7>ǜ0Tlm;W]=)˟D΅ <*އnmP$'D#|>_X>XoӐSxL SR2Q~^;VT"0$gM̃#&Xb6örno!#ٳpO2AkRI)(;sJHa7o/.nyx.&ٶ[KTw}n"8W@1i&*mOݻH)*Fq W.> 9kz] hC ⲶOV 78CLEԻ)8J 4,yx<Ӻ>^ª b[271u" 6S?9GK#4(9XuaQۗ! 8b텵iSQޮ*1#=tkmj#JZzeo Q.mmcub)ZPy;]qxRqޅt|yž+q2R'>|Ppvh;ѐAРJCôuil%rco߳ ,+MۻqvU͔FYv-?e -%R"3D#U& ~9qɬmEҀ 6Cvl.o㐞#%Z^Y}1py/P!pP07g:a_&Ʒ%8IB/DyI +Oy@0b%ψX"]WQ2z|AI蹵e,&B>Th ~k}!u]*醷^$ ay6HEkA:X3?ZtKhƪSil?FTN{͠/*c`z@b{/J]7N"MJNy<`BeM័5sZ{9JuhTL#AI؄:Ąi7t.,&~5\B_P(͹0N sP_b@ >O!,^? A|p|/AD}qWP!ʑvhYp +v6R:|J`;8E;'hȿho;Ol( "Y{ɬe珖`Knb/\ǿqWkb3F`h=7 M&nj Z{% y8KC >s_߈,FYd8j>+cX.C#-q cT=fگ3L,]n4ۃɭ1؜Z*J`՛֑HbQMKyM H^_JIiJU=:;v(ْ@5h1a T.Z ^dY{/l1u,um l8xFXB>81V'4;E+k(^8EXi@"SMtlbKxyO'Okn6ܞ'Xoa?kT}R ZkVt:JFLz<J$ajCs*BHk8v?0Ɣ*q[ګ<UŬnI_yR<}?r_X:2JYH%S('l:aD_ ؉L`ۧxz@fZtĦm9e2.щIQ)S&;'jVҘ@\LMZ̨LX&l&0=$8X_[71F $r? 1\HT}Y92y,ŨXekj1F0+ f&Hv*^ ^(Ѿ#_e]U cRpPIhZYOᨻ/ȅ5җOsEZ.;Bݨb %gnPޮ}R>vȼf IWmfGZʫk2`q 3-o/0쬥%Nd;WCϻ"\ҫrG -b-B8JA{"~nUqHgxĸ,^(~oՃ1t0(}"eEQ{UN^GBkg)e'8,'ʑjgzeK LjLn*f( _roP/y}͘J33_Q=mO?MGSjѝ.|)ވ/_ISx'Vb+h7mDN5,zkL[=#=8}CP*K^ϋ4|Kq,8Sw6Y0}hV!裑xϯس=&SWJ}ɨI+T az?5eƆ쥒TJnt5zt _K$Ұ0X@,ꇡrǤyJv "mZS&LK+f ➈ϔ4*@68'2o;Kl"K/\jZpЩ*Ʌ̓iVڋ܆uӒ#(Y,/Ųwc Onx0x)4-֐9lW`~[2Dvx u[9T ݿq09@aG8Gy<>t?ϛIH|15!kcrO$|G"M'E/0 rf%cK>C\'~zP!]$VP *CmZE8>VY"9MjV8Hz ž]gN6y"L72FQh*~~6(|^*>+SbLCaY/^˝8t.I^rU.79m!RɈ| Ȥ w6NÔNDp(5ן vjr!m;4g|LP%#`zUL\NuRGf خ䤋Dըe{ &nQ) Uzt6GPI~8u hĠ2Zdܲ&0< loVRh!56aa$D,fGD!ԦSX5Zj mm^?rFP<::]Ů50sVɄj8r` SspGۇ0JINM'(,dYy~RL:vwbvM l.s6:8\Ԉ}uH $3 +ꙌDzM>etnHFWWo~%ΑTg[ek˟O:C  >USCKΩ Cgh:JlWYf%:gƿu.I8fIa,6_F%G~:}qQ F0͋nXAO7D1>\]s˺Np#/.c"\Z6Fl!4Q*O9r M%7d =wi_P6,֋PO#X 4Y㤖6Gg韬$Ԋ<#_rCxJj"u}9l3A^#̮4/Ftf+&`4v; [f]*0FOm_L7;?[RBOVGBL4t;bE]DAESg+ӓMyr"vz; /JVOz\PA!Ebg-*<\UaIϱ[M^k#>L0zXd58Q,X{KLڿW^io Upq1m1֮tnW-[o9PbImq:0QD7ʀ؍NUW*#i j!èYu֗]LhNɲWNǎ2ԾN<#<%+fxyz}ɨ,y1#vSkfSt7_zpaLR 5HW6Jaؽń=Tޞ߯'Btqeէa^Tͽ6 w?~5$&02@ׁF6yť#0%[Wif,}aiR]7XBry4wZx/7r!>kl&ڃ2N˂q*Ge:OO*Rc+ʪd\{עdBR9'gKlU=5ˬ:i NyG BtzZt0 S'U;^%j8m>a[#&5U BglKOses=m.G 'T\ytT9 =q&.JU|<4'gMA/QXv@Xׁf=Mºz7~ji^Tɷ [ݭ97KeD_0qY NXeφغb3~EB%zl|u?Kd[ Rb>M8*j*E\UFsn'mkSXY&(`0GATC}NT.qP d5j5Ϸq'bB FtyU۝(yϮ\ Qxts}u=Y*Yju4$`1otkݭq&#@]SGOQWYSryLޢIOޭBh#<HEQsSVad *y?Qb瘞9S}|va "wm.cbG_iVPs0`^pȍ; }M*A[Kh|~`S_$g-i֪D[yOt[}byGyãŏ< eh>-HLScNQh3)i->-F+Bv9Pzyߎ&;"A,snjz2HC:%aPPI.0[%_jbYqL6x^5ø x `O&=Q{3,$%62h^^46Z;eB. {)1zqXaB[ qE5:x |-h":46EveÏbpH{ܵanVA2, A :@Izy霛|JW2^(DyuX[OH^핐_o#hiq,Ӹv`. (&?|nd~ϐ6^F$t`xXJZ#>U+,(tA$#d0("?pyy̺R(Uz2&z};/ =ȴս!\IψiL#+};#VR> ~H9͐FQC"*~F/kNڄD ŰNe4#9RJ1A:ͫGw@< ՙ#\A\ua®cD#Si(*,;@,`=֪3"{(M^*oX}EAn/ >ΰBcf&[|$@@aYOW@`TN4V W0<=@V!:XNÅvC.{9m0-(k][uRzCxdQHVbGƟd dŹs fAfW {9w^k8exWv} Aj:4i/\FS]7R`7Ff`k31\rElW]kK>񰵘j+{R)IB?>YW?&P (t},GIjt GW*a5z @G fLem1ki]znpԩq8Xd7hhq&zYLSƿh&+zm9-`Cb.1%)j 8,0ql|Fٓ;#o&N6U`aZ,jlL!6<ˌM êZI5&K塣w؊:OtihGX DG[Lfn=ĊT$:fklǂ#y @u>h7abiyl1]%CfCM@4z[Xcp& nρj5{lZ#Rh&qt@jm}o˝C?G A謃=P5^Pkm6xPWY@ ="9 {X{:Dpk4nZjʔ1yHL ڻMgn:Ap K_ @)yKg)"28hȚl=<5w߷`S#ݚFTfm1_M㬙t\'y5աU^ $kTSFPX]R)SWh_9'U/g|8޿+vN*;,PK9Xwמ c:EףM[5P9-a2hQYM!=kRZ(=DΕl{4Lc>'7!m+zBc+# 5:}s &=mw#>Ԏ<Rƺ ExP^dۏt({%WžcCFJ4  hrˬ>޳J39(X 6ώYq S+3.=Cc|Y)6@0G}K̭my%KpOqmS'1Ѷ\s'ҪD ?Pyۈ>48d">~pHah@$-]t$bҥ5G-ҳkNDW'eaڗ.U9%D‚qFQ? ʼnB&oI Lֈth߬Z"(kk 6P X F/iS$pHhU (/*=nV^sMFЭ~U|f '4Fi|&2ݝ33l@ +t'|Mr,⧡OB2V|GE`#K׻7ڭfo\q!˚FF[7+N*r ln/0^]8ٓ]Y=qt>~VT bu8v (P/v^bҗO]g@P vsH~ƾ\hs-RiwuwT;Ic -F}A4ԒDGEd5 E>iCKN+s !]N-hJj5BfTM׹}p9Ygσ Uy&(nTm `]yQ}T{0] ͠k Ɂ 1p6YN5b2G8Pw}CߡA[GAɌ(K6 ה{B!nBHFחE8^@W;=uE"،jDY @š k5(q~%Lݨ/\<8ϣmY e^zA1+[EZؓ5! jZ N$HznM矝 BY\D]Ǝ`,c damQNDXv6"Gf1UȕrnY_+G^"/׺]A"aklJn0++xBE.>|(r۟Ⱈd,DKhnz sDoذ!;iu/A\ZϨJ$^>Wjk57 <P"$#s~ϝir&ꋽ!pR?=\̲ #,sR ċD>DWgd09C-H_=6/Z\z侔J4Ɔ^k%?.tL2F # H:TpHE`ȟMg5~.,JַXb4pFJx|G$|Ui϶Ym1_}vX= A628"!!M-Ol! *N:Je.֩J73 t#bQH2v;&7.qg:-I%W"xVji&!H#I/6N Fxծ{_JI%fžAc"dK47W"e#@[q[\A$OOnD[_z#)JԏFs,%FОZuD'gX gsbRm9sI5T|eT1m0U)ZOt[iv䒦vK\Sq?)LYWc%{gg_14bIRՈ6] +:P:+qƌն8WmcCCɛkV <ͱFyrY0I}%RZ+UmhiZK3f'Az :`&58J,)^QfrRCW c& V ٚ QFE I-ۛg&ە})c UfŖn!;ZT\V0TB:c ?#T"6? wQcDl<L%98BIirB[t@Òc)![( vRJ*Y2foV$zLK-)%ŠСV~E,'.[A(? cfv䷷FFŽ+cqCVk$w1ᬕI@6+bRJ'on/3%S'NYTt;'Y 3w#OQ{NnV`SŗQ!Tٚ3m-ݮ7X+d(4_ N]bxz|3Zi t+6Av@i~侟D7?67 \ =/Dcc*9L%5Bz@uo N̈́cΧ')_w}\JSlt[0&i3}CbU]rL=t-&mtgdζ=঴hf Vi* Av?FK1/> ύRWo8 *Ƽ-p$XC8drMIPm"AC򚍊`HbQ8lS!_KN%T[B3=z֕stHe27-3rn$ëT5 v}izw,Vx5_'hn4dRxcx/~~a)A}Jw \dAC PԠ+4 kT>;f-)3XvtP;_o!t(v*3֘I.gxOۜr0=QehtSJ ݛQ %4q(H1jXT+1>ɐӐbl"Re3> 4ϳ?g#jUq,mW%FZRX}ٷ}*a2+9 B}Pő|X{kgfNFdX.enKX6D! t3eVPT{("IC tU~aBT*&ԋ&AMip3W˘xRFg0l;{zDC_6dxhOeYeLmG ͙U k%Vx^]_/,-WC/>Xw  Hz^%9[vx͌ T`t*S\ NhCcԸ!:p#0/$W0=({'1m4ˊE+SGpmZMfk[[SD]ݰ98dB2M>^n|*Xv$GG*^:0!p~Rus/я2eͼ,YyC̀6^֥"IbD'wr(_O*{/lEۈJ u 5_bGh 3a&O77n|ou\"0dA<Ū?)EL~GOGvN4HqVEfxͣ?{A/MkߍF2/FPLd4M$EL%h}TΏȮ;~\jچC&L0'hhUCK3 }.3yZNuMm/7@>j[ᯓ߹|+LRyҶ(9r"xo7q5XV61xj]PT{1؈a`nM|-F`>E?V^ȍ"EXjIOzymO~rv;Rq4I1RF|U&\_o)kV;.GT\uXAދpːRvQ ,T;0j|[ɉ%q ((K7jї89!NB&6#{+i" A=Yb;m+U$d9D @x-Wl7uA_)O yK`%򃐒LbYP4'&+uIxJJ,>KTD~o}-'G"A"XGLYe,sE$-l\j?@2]T7, h l& EVp*wƵ@hUq5ugI1ISm{7FԒN R鍀Iwu=;Byf &/"ˡQ]z#UML]."&O{; 1#EC\98y &إ> #E(:t?* f_m㰒IĿKQ5CHF-y4J^w'4_Hev% eOQF?}@44X:6/S@w|YE`}u'<5)j['2kCXwKxgq5FmlB=\/l#[7 S8-ʤZT"'s γ Ȅ%*7J`c1\NoImmt&Lsnl?Xʑ*G>k/m:` 'jԦ5|g] sv 5t-cw;Rţ[ a$A٬_oEnNCaU]j.WV2QP/=|Eb1:րˎ1ux+~mwl n[sLo& -s)B]Y<%_fo.|nWegVk?î~;}2 ,u#l貞,Hr6BxLzv01mXJ~h sa.3/lZ-~r8LOY0\ ]Q[]’AVNʭ-,fyUd8hPMCd7L1%g* k) CۛӘfKM״KcWdXҖd~-"#^ϰܞD{Vk pGgb2gV&~C9!Z]\W؁l'0:a3}1MUe8|& BA/x-Nfdqޅ"JNuEuՖ;vKp2ۉj%YWp;L2t#2 ݴ^X|+?Dlt>}7O fG%v([f%9{4?Z|u1ȡDP~#4~K:[l#yrZݺ !\EB2ۖuJ/`U2v\zE[t@(.1k9 ƚ%ɭ3,4!Θ˿[J~i} vjnH5 L =urz× <,gf_sVɗI\ױ+ q/zWn}x9->#1[Aٛ1#+E0ZL֏ EzVZvc Qa(dž8ՠG̅h޼%"zgz;,]GnSf:"cC,FWh k2\hO7{(3Qle_HcI07O0 G㎏L〕[LW1̀EkFJ Ig*e#Ci娤@ (-6QNlktGPf@ȖXiHʩ t&nWӪs25#Q'F7PyA>}Wؠ&Q yx?WgzQ(,^=2̈́(V>6^"ׂ\9 >;u5aAd::7?](z2vHլuhJOsB )Qb&txe'\d9,ECSkh&bUiX۫^ [X.9 4\R rFN B.9?⼆ZIއ=.PWKs7R;cB / ̕% g5]ΤjAǫ^ $ꨰVkےǍUY';ڇbĉW7Kֲln%q ѓ `J_l1m5m{c=~y`dT,lek+g'.<hm2øR m`HQd&~K5v@O l&LJ1_}3&-KӱP@M!tXHثobCWV3-!@<9me{ܱR:w'B͵nF})^=ҁ x}HvZRG|h@^7.ƌHSbZ"6+LI8W̘ {.cE%Wz(S1Gџ= qSec4Ŭ[6`;:!Dǩ<1\ xD1Z/gĘ*a冴4J@y{XS6%cz<\M5nzyk5 Z&}oa3j{ڃXo{EI@kIK SS,US܎f9U§0^.&+ ]SiꟅ#4ź]ޙئG8?xj)'%[9y/=gPFv(o[X؋д$+q{AG=rv#.ɤs7Hٚvz/ mGdxd/(F>)"T 4$zc0z>dq.{?ɔC q*j1s^L)PuoV͈GT# HXZеJ9GW^QDY}YVAu++{UeeeaaϞZѢ҂)߃C'~Z4>mG:3L=K"gjzQ8N:d馨GY @%ȉ7/GRV܎K*XAuYwЕָXP*졣e>fXcGU@2\Ə4VHP!hb# *^C;& .l0~|xlzY.V)Wlqcd*絗BTn}!B(*B?[`I9lv3g~t'#va\x( "w݀E\8DŽtٮq-xf]CMjč5VT_K>!p5=Ui33b[l +ffƇR ' R?WD( i'߼a Wj:D]VjS-@L&v$*ϾVxHԮ.7Z +qZc8iX\+;~tsq)HDN'o}sTЀ𨫖u`W>tbqT4h?+[F= }4.׈Pb'@w(@y>pu*~ob/!eNe#* l!> ŎSZX]NC"kdmKUgp:4&PK_leXBQ4?[7;WICXNFL@}e6[Flt1̀{hRZFp0 AseF,[Ϟy‚[G\1$&=ddÈҡJk/g s DX5<بm}1<+WaM+fG[fSoP+^j?J  \_u8E1_F{;VϊVefKzo%u8Hmu#1iwA7m&_'`dլ ho2D:&^3l*H|i;TS LX;>a'@_G9R @ix 9%H-IʊU$udqwPpJm@ݴӂ3V`Ű?>/ecA莲ZFWNݖuϾYz=ZE)q#lc$L%,&; SĶxy?:BA%y<XK_ ûP0@ˎ w;0/s˺5UXjy5[s8ZVh>`АkfFTIlƹ7FTb[iCY Ѩ4(.Gv|<4 0iHj]y&@"kЫM Sl/@sjKr~ .B{lC@icTć"lϹ65'5'Zk]fQ Fovo4ju<.˘>vt@Мk7ՃxME{q= 60C(H]-j0{_J: VЄy{] l'?k䉙bƋ#N. Nv[@eԵh0'&S&\j7wOt46mSHK!_fـI(pଷd5$@sb8һT \:s2;ml RrH?g~!(+ B̆,&/b:";Gt]`rbl@]\Vnf?n2']Hq8?[<`*&?2̔&WdGQ|Ȃ 13^ R +?v!RrY~ <|׮1c(1aj?R2yKQ&gxk \Ө9!v׆T%B0+N?wu2'Q^oh9 PAa)Sz2[l{NJV>GcO7P:- ^m~Y2,߉j6-n+InE' ?ꍽ2Se!gv4A0eL/s*v 4+itHu9!X Ecdh'kHLLICO}ĵRQ!wFv"C_ *ğqBMxM@C"~o")Bhtwe4C&돕ü\@NNyy,g-Np^A5g9T,=T6.Q=}Z,_A&_Cs"M! S]~}gX"IL {Y覷}on J-5qv8J!/ւHTs/B6g 7Q5޹'Ym䳯Zƺ| &xK8xeC}!UO^bR+B _އ*x1'LwM=FieB 2y߭E Ԍg˛fE,Nv%RcEJc&0WG@B/gpkvnT~2ۺaQf^uIMӄҁ^ݛpjS}Ϲ+s=͖@ý<?Wl4J.hey@jx&E 9jѩ#@o. ՁD J3xD_@|)EI] *]rQ5gU{]-63Rߓ۸YSYx𬪚$¸G:ѫB~vZ)Y*Q 5]Jv2uA!m]%̂t~HLt Bgه|_v~Dڷ$`pAEPE(29][lò/yu2edT ӮFM?wrU<Hc0*^35&+,k4l:*wd>a %'A8 .QQu'00@֦@}NLN;Κ~*VA^VzzC)2aGͧ:~OQG0t4h,sW̐:/#;-O"Vx rgf9gcTW R)+!kaVاނۣ6^ZR'||!'n'gõ A$p鷵Lxn-(/gMbO 7K|dQ//08?>W-k8a)H17S50zU+3D ϩM{>A3\:b|q2MOD5~Jd#D3]ܝIJ)2N)f@d@7qmYBhj ᅈK D#AK 1fn1#d'9d>  mO'yU?tMmv*~A?K(J;|=|@, ]D15F)Ba1K LZ-Kl_-`-L #y(^hrR HTqQ yv%V,}8d cw˳L7)ԓD} ꑼe9:B@&~lnoI'`!N^4)d!/ H %8ES3c|P!3 A*,/ Vpp.a۵ŭ1 o8b+ҩWo|LZ-J1e@ `twtT=jEnŌEl@AL"|G~ aT c 9m& z8]9aqJ<qe:L7/70xX ϙ|NMAϩ3~>HT:r%Ϛ?庾DEϟ|}B6^qbi%(Q.jAMQucαl_'{1rfJɇ,CrvDI_ S(hY,(7ա%{iAE)8- h>"P7S%$Q1\0\관sFbv113[ x_"Ԉmxb][QcpP QVA,I Z|n c|0͍0AK{Q Gj-v|a 1RT*E"_oqd9 ۩^룹9@aݮ˜ԾF\\MCZ x/CR>(H-Rțڼ%bB,AZ uZ,-ͮ+_mRon9D\>?DqJG+bx %zHtiBĺU~{gmΛk=oZmV24+_npNW2%dVk/3Lo+8G\w"{(4ˌTŶ ,&OmzjmP23TQLiʴp7V\BgĘ=O&ܦua+_Av1Ni(j-&wJ$i*O UZ3Qr[pc$ jy{"RhOb]uRPezDE2jCQdcWEiGYj%,|s~s)UvFULe.HmU$.,QW whUa(Cx &d+v oDi^؄AܫP7De#=iGkh-H QVvayݒ%l|T*oPON9\j:HMGLw0A$ .ϰ{FcnEvnA(e ?n^>O4@`WpP{t&g;-ar#euQPHW` 򯱓*DZl?aAl%+~u܊hȨ$dbvfu*'XMˡߝ} 4:bo`mN(`PZ>w%ZŤ.#BR$DE{ D΂4@c(ZmfdE"R&N@:B;L C?ӯorM1G7 uOK跖KGI3bVZ\5s{)aӅvPfID7{܎Д̀";*[%\a +(1 `HsLVbj&C5uJxƣa3Ss HjncbYɎZkx۠Yc6и<=F"5Lt*)-aQEy&c0 ~k )$Px/f(;w6o)* cpFELbaClwUXAt7J /%Ee2,sc6G75X6}('C"BV|E5"o0S,&8YćK-ONU@sTxxTe?nLJVSt)#&\:b'22nmZCN׍lpݧ=%G=#U0_28$6"WtQxڞ8cXu8EZy?i>#qrku"򧙴#Fǘ7[hb s O>AKŬ iջ#[wV]q e1B6mђpf9:b',>#-_5}  5Uc-OsXxCRj6 @hB َҎwT4-rP\n\gR]^WQzyģJ1VK:ɱ^L-;sFQnj5Mb~`)r(}.OTΎh?,$1qZ"%c6/ӫmW6H"~ӡGm3 #.ޝDD} Kjkji"& p5^( zL3ab9%#AנO5~]~M dwT4͒ꃏgj+/}cP%ߒ+7@M>'&.-kk>Bnlxezk.y?gduẅ'VK?\|888hzyxkAs;δ%^OX+ā@UQ/%n#Jzv4Hr!Ul S7ĽU ]}6pV6' s^iD x}PvVCmPHmE 6D~  a(\.Fx_H٪;eH?41GS̹jJ ܿY|ke1187q2ŗUya/XM bM H0?C",'k[e BȺC$Ff*if@VVmZ| RV=-QY uG67خx !$(ǝ70(G@B^T?3κ;0i!VW;](lK)M0GS641yR;5{AY\erQ/Awl8eQpx9]2xkCT EC@ӆE)&Þ1w,Mdwo`]L3v'p:ZMJ~TvlЍ;R`,v:JJCzݟe7HHzkI ,,Y<5~+Iam_5QQhԈ~ݑbŀnMUGoh#,o^@v|{;H0X6iLf:Bέvd4[ml)wK9SI"HiuOc^aZ)껭UF^@JGQ̢̤<\Bԁ 5MYkfcR}TCVFθ &犈ċ'09di;\!QrU>B.H2XM'psb>{|xf|O;.D$g|W65YT:jZT4#֐fW\h۵l@'m7t_g&QCkg!&[/"םc*刓Y\f w9hrk*=Ǜ"0OW AA a ?9T-*BTAϯN*/Y!*,<ksQh\x=jm<͚jЗu  ~ LGlB+JR i4LJQ:_xV4"mX8 F`ى*(=Ztxrs]Z]4ls/iGs @ZYsA Ra]iK: QVoon<"ǶTvUbAuA mT4ln7)l)ZE-(R-d7|P?zj32칐^E^"P6i'O$UVt|ec nz2 ۥs 0\l+hj@5]G%p+ t˹D<2pt>f6p_wE /8# JmkW&߁T_2z]cP 55.0{\8~,rSV?@ ͣvp)"b1s:C>DV*Ws3>ÞXvr>t-E8EԑLNZTDj&\Z] 3 8,YD+! u WKrK(^þG2><{$깺ʈ6%$+ !fq;YSUyzbEڨOb beyFB=oKj纳oҔnbp=Ұ<>gwLlwI#"]T~.Wz6M5[*|m}]`1(,Yk nߐʲJ/)?-<5h=:jʎؠQ^UNr{&ChB-x |dQr7nP69yiR-3D`ҵeg(ȸ0pףsD,^j6%rw7 nڒRLy}Kd:m%Jtj06.q:A{;}  fA~_Q {iRZYDXbs=e/=e_}bA RoTl*@^RpRU$:V[w#B&.4/4Ij$u΢> (Z줞bx`nIֹw9_m~{ӗ^sA7jQez7 }:rN]+;-!3ȍ+0u}QFVMmҼ 82Ǘ0`\:e_OQB][?- VXZ(8i}A-'!DFU_Qe^#N2J(8aXPzNf"+ߛ*/N>9klNh7!g ``RΒR;jpE?Dհ) ɡ{J׌fЃ{ ב%VuM #ꝊA~=?{ܡ^<`40^z2yW9N =SW>WHTkk)['ި#=_p0h7jKM9V=pR2% *JAɞ;O0ru,D]c?.Wa9s& >O|t-#ŴALHyF"d9hwdQ!006 fT$N,װKZ٭{:ѣ10ɵ/łBq EA&;&6&2Vj3 -`\2C)uRoC1j89Xz7 +I 3"$ %3(3OqQ\k 6o'ЃҤߜ/Hm@Q7]#-ul2yTF|z)*6`! rwENr(y'T`?Qꌂ/4lF!ٕ`k VP cۼ خX#:O6H!g;:Qjx{?Ҵ(2"Ez@:,C:]>7NARG0yp>6>G;Ѡi޻qQ9m׸yO ,jA,;{ 'ۤQ'{Oy`Dd`.` ' ہe OWs;4S?PaU"2;1{/c^0vD `Bu;̗nyn3nD1Ɖ@˓> X/Na ۸n$Ra )BXQS%eިJ}Yo> tEq{lU%w-ȩ{wI Ao!b;K6!s@ y[ԓa;{rM?WFA/aÝ `߄ շ z{gFt__j\D\~IBלƦxWTϺޣߴ5G &tZpLx\.Q*$MD~|m/IyH)(9g999z)B)B"QL0}@e>mv aN JXe庣kz!UǑM Z 5OFX=+:^ȳ r#fo`r9D"|OCm8(WhXmy8b O`O i[mҗ3UW6nrbo1sT̨{J?H mJR+7LP'O0Va/v#ɳ.ܮ<ދkQ-+͹8Â^<|k~Z;gDu5oV6~ W Cz{9 laL duilM#5;F:[[.EЬ4Imo0ν\v^6(diME ͶU Q>@դ:vNOaM3Q5| hm;,`ʛK3x8|.莄B lKQ D>Kh~S=^4+) ?3y#7j|UOp]f(8]v5b(n%$t"![9m"񰇦 X0o-ɉI>1# 1[`9rlszcs{`,K/`ڋ gLj .|#7yn~1|`ʪUқ:O_Vu!hd$2_d n#Τvgfy{X}g—dG<#sef3O=nez%iZPfkUxx_B%G {$g.ubH{=Lrd%x^pꑁ#R4}$X&1O (bD7c1UH%rH_( d9G+XVZ HIqD}-|Dv<17#2Q4i ƭ^lI1lQ\TXCE4z$nʉ)  kXM BP{Q"Ҫۿ)`C\~\UF{#`p_eIo^n-(Of%ކԿS#_ekנ7FTX*x?hLey;C,έL\Xcy ɋK*l?dsW\vYq٢*† - DQ9vp[&U8\>R;iH^C* i1'q1OcP.DL>sOoGtF["iI9uCUcw71 IUuf9_0BQ =bUqr.q%EYB?lis>1 2Xͱŷ L.=JGҰU&/+)W:釟 m(;C*#ef-Pk^ίTVLh孺#Qt|889_Z IZT;}q(}1 sg34i,ӯHE/CW=B@-W5Rn=HUnVW>5 UVT4O¶O)` ^Nb|Lu;[H) ="!\w|ZB #Adq#Db:} Xc$:(RRjWԇE3Se'KmMp?|&h8+'6 3GJ_6J]*'W)esXL[u/tqk^>t0wK(;sZ -i&WPn ud\}8@rVzŹyG^Bs@"HAVk{{4{Y zN(zZ1אm1fIP-b?ԓRB.lrr^GD \T2&`F/1$s~ :UT )xKc`UŚgV+q'vU˧.xCk5'PHZ ҈`<yV 5UM/*g8H[\F7SN<'8bqVE}CN~CC%Z>j䪩d 9,k}$"4/ѵݱҊy>(!H-`!$SP\ (ֆ]";ÿ_8YΆ\}T 1茙lpjtq!0C 8ӱbat̗/7 0*1o(A1[e?i?RfpGC*'˫.E[2(_؎1{S~ [?˄zw+v|uZU|o|/W?}ڹm)e% hVrۺo;ABđ.r[ BL=`mtK ony4IiU.GsY3JhXяolj)]V>ϾFvnm"Ҋ夋wHڀo ]xK6w(4Nia#l+Oʸ}s!V߸)N(r?Q\6پ z@){J2мك$wI !jE1qjZ9f|W`[óepi!:o-͗F Nj+ќ<̓\_^$L/xu!}m b蚳7><@W~@{yqJKZ7+j'%fIuUpc[g7Yޮ|2Sjn H9'>gdRfHb/-㜟}WM P.y!f##Ͼ-dulO.G_N~ 7'oT(&Ze"[ޥvjⶡ*k&\&:q,Z#C^o@gĉHIhKĖ+C9)NY@A'v7%c4_W̓,ЋB>>ڪN {0đu;#9=K}1Ptb)%zYq_0 Wb7L<|s1u!"}f ˮ`ϓG Ճ-{O y0q>3"V]^lYEQ'P+Wθ}x/ra^{Ϻ4s;[+±A0/@Ε3E"3jd?.DvCb~ǓyޥWE'(,"1tXZy0 inHUBEi M%IQ +I lAV hr:x8a_Pϴl!IzRux") -+q9] ~tفoD/Ȁb'K۫s^D0Rq( <ٟ)x1 ?R6)<^Ba`?l?n=0'۬Z2:m\E<*EIȧ+0@0vh,p= fQoGl4Zit'h _*UB`#]l۝L ,yZ7cʧOY->HHLlf5pPMOPBQU !ϥQzصN$%%I5[4oKͿ suU?n}N^R(P]-ɛDcJ8r*fI0[o?s}oQ%g#b2dBj)}C3מ#2`?[ ƺVf ),q]QqK*fۛa7eXQSKGݏ~#]˱z$g(0xƄAI}ѫQ]<}Av0igp!+In`z]ߖv砎n })5{+`5BS_ayndYnHy2DZ]6Ƹ+BHI<n=MzKzfb D;"FIJɾdg"ͥ.{$wIؘePLej.ۭFμ۷6Wt S%xθ"u2$Famt(eF:{gg8(DXglcJ2Vj]8 "ʭݗ|:q~B[*I /ģH\^of=@VxKh \!VxWu]$ [6^+;b-i˨Ÿ?8> !2ip=^D$XZOKu7g>>SLE߿Pg84$1CyO琣ڗYFxE|w2J faNv:9 58#[,<ءpxb )/TObjqȡ<ΪF]D;’Zo@]h(YO\z* Tmv/bB* r[bdA}6nJ3D{Rv"-!XHjqRHw"Fqڥ(=q/FI6*b#(։($o*fgY=7)PnFRJrkY=9kKi<3 z5 ÏDk" $k.)kYm4F<3NzdoRGC/- 1{NtuMB"pm6 FpA>Ly|q!2<Q+u,o3fNi-54+xV䟻` x4+hKQLT=gJ#a"!UjefSz?~8tnfw~mdpn{ ֚m2oE۴L|-R"KO3@ $i K#4 Jg͉)e+e-b.-@о2 .3_* ˂q;c_cP1mPdȏԟm F4I#>U m1pFTGԱ\X[2$`XHKQcpZi="&Kj.}2 )W+7zJ2I)U]%-Vː6 2i9Yvn: 鼋n&{KjLfNd4bO/O$TCҝ~;nc&_ۑk.gyîql-kFmW+QpM?Q 7ӲR7K͇I-:lj ϛȼǰHGyɒ٫MUv[5hx"=ǭ`Tn;OV- ?x2oe}7,O[µ<9S fc\F˶aX%y-#<`b烺+ LD@xY `m+_y`>7?)ۄNloz#s TB^\TPÀ62i!DT`O&˯1aaRQ| koH$u!=H\͵C-ETnwM wIG6e|`- ץꣿb~8a{ncq%C[@yzt׋F7mQB7٢f`Vo=+I_ k`jAU;UqVuyBeIkFw0{wB.o<@bz5t%Z.uK E>^n' .ɒ;`^o> U$P=,NL,F׮U>#Y|PH̔z-Uy}TMBQs؆Ye~"RtoUPIQ[ro__M`/o/~'KDp͸ʬ/=$73{62(_څ栦NLi{ws| 4*xhV7(}T 0pc<ៀN3<dBqAq&(IĪ&5b,G.y7K1``a]cvpbs9dFn=rv%R^.t|pٞo[HhWͧh~&b6+n ^a^dv 0-*W/h{Wٳz(P m4%WKyD#jsinCuhg%~{} ,Ҳ"t4/\Yζ5e ?_ RU`W]m&PQ 0-+/$<)$i=t91JJ4Ƈrg`/̃ջ7=7nu,x+RFs4ocEm7`WIB=:w~3_ ]GIߝ-)ξHxf<4ˠKaqՓ 06D }Iy1ǂ823fDWOYή󤵝 P5 0օa[u.K7M͒?V IW6H+PI jđN:,0ˠ/O÷ L^s9L*u%QW/N K7'jAk:KY"?/:%_pP-[rab*V@>­SHsRUzyfp?J\||:DH@ 9+wgz$6_ރlYM4 &4y Ҧgk%oQXp3ā~WVEV6.o5nydR#a<[jy9?ٰk gLt}hH@SA5|T֡DZN`f#8|j٤<(?׷bnWƵf!W"}ISɷz2dDlMjV Y頄$ӻ܈"H9Y}U^W}I`{4.N,nI=wb-m-&Ln_ٴ2"d1ʠme }z%LO"ݷ2(k,YX9YètoPPxD@vɸ3dH@t@G>!ܗdKmVI(O#N(R1dRQ|o19tk zbwKj`3(D S)Fyt> }I/ۏ sgr 'll}@ pNʂ kgnGBMZ>%OB [Dd7jW}{ .BK2O^x1? ~[*مB %2*<_ TVCX[ҏ؎e3= ~lhRAb+/Pm#;vGGQN[$ ~7K; 2_ʷ]P1^vfطO=Y_\U6Ek >&G!TpqvEbZ2^Xp^N@B_cW킌kI\rS/8ؘ6a$ʁmL'7XȈLg7uCUԴqw ;nꩩPӌp5L7PZFxBX5%JӡuP P%j.$0Wݔ9sE!yim3w xBov`wwV]Mr;GK:]Ⱥet<0(9ଦh|ך|ZTJW\3Į?sJ6u6,[>Tk\ҍe-HhsavTua4z?K4j&VOKXW&QXR7y71 т-?,_lr~ TH@M#)[SKRpP6pۉf#NfeSc,>F5u#g/)TN?"Poa} !z& q~X&tn^cpIbٌ`O"7f~ d֝Yu KWHY7@vkI^}h.U'f.! {p# {MS]NQeG6b.2Ss{ޢ;4g> ԘkDVVsNVԂM;~պOHf;''gIZ@&]YaH< ԭ#W[YmZ >X!60 ;k1R'aڒ}s//nA0.$'kfzMGM-0:3v-DvDRoZ-$kLlMYƤ*aT=iKZ}j6cư l]&Y rN vHvFy޴GlG ʹ&GUxכݗz1 :H8dsVi&U+x8,Pؔ;@a⺣ [>z,'Uxi C˥'wUBG'TE< 4Ew$6ఉk_ Nġw7*tLT&%̉ OҥE|[78=|S֠eK-NLD +BquvNV15-bl,VСVԂO"3GeRX^PYcoUc.Kj|hAQ;wXS;єͪMb%=t2A^)dk|>~uK/w*/dsTXTۣШWPR?=I3R  ;;HG nQɤ]dM@&|m)O3p<rӳIs2VgOՔm =&|#jӋN+s_|(:R2&gÚQO)ݳ2_ Ϟ Oݝ}NT8#bQOPҤ%* Dn#1]gaXRJsڱe企y@)e&Hiَar4;T"'[`T_`jdƊ1KRF/OEz{xu#u:E$L_`hmR:A)QnqnH䷫ܶ)oosLx0Dz:*}cgj4'^-ㆹ KdCd.G#֟ѴAp>>Ӗ\C#NJhN'wE~bǺ!Hs*Bw4]uNJr4n 7ힽ\ 8 ~s+V#>Hý>[=uٴոrBgȩfy+ |c \(ځR{F*Lڔ*AX$ ڵ2A$* c&Neϰ_t-a+,{[<ZZ驉*+nzL/WX1`Ad4kWHW"IE<)Рl@>}#pdںD <uW_8SV"#9;_-˩ ลzJY5lIgݞ<Ӝ{]3ȑXmKD<@_6ϗȒKڥ(p>%_7?^Xj 2$l ^($& v,jpIk.L ; x+Q~p;'yR|Lm7?"*5?@ssJM< ⒪3#ʡ7VEGNY7MW.Tfn8<=XU&IG uh&qLk04*疧ThzՐ`c=1NW/3,(MN}W*>ȩ?? !͟H)V+tyW S0(11 7eճ%4 u~#MAzDɴތlв7.x4{J83-`l.$XbAUQ!_vC/vuy'#bX|yJ51ŕ6-eYك!sDmDiueF:QAȈNt=q&i匜$~,O;_Z'8%F`obÈN 7 -+YG({V<즭R P0<`]c?Y]I~~[a7K_.V]iqYAYՍJ06 *4B--HrEkhQDQ νN=rhumpygχ\ xf!:9VWym[K,d6ÔUߣ\q;vk":7dn&} ~Q_{bʲYn3iSpR2?~/GcBEӃƝ>맟g ks {: LG8Rʟ\{GLxǻO͸VVYi}i1enrM%qV+>v~0SDN%`yŅPIn;o:!Y1;qU+Μ\c#WWet"dߦjI<ԅOsyCO<[mM@unb =.9Rj)Jtԋ8PMIM#Ʀф,PkS'&] ;Zqإu˚c1G[Q1C?\}{tZ7#q 1NÑ)rҿp;fjVg:yϴZmc3h"d?ŏvdb5(Cp:>2EC9Hʐz1ͫoo V p =+xFF~du&H1+Qu%JJZU|1l6f%;Eߛ9cD4NMCn咄2,ŇA땥U;>;51}&CHp6,yRN Ł@K4f k,^9 II-mۀEm%5=Qu19k/SLO~OX r3+?K.w"AEs\nwyS*_eBl ڟTkN Aj̃q]R'J*K6;mBTEOZ06[SK#\v'z .s.ɰk)-Ʌ̞4>gryLMNKJ8ZG X~?(<)t͸()咈?IzAIL)wr[EZkNY%]_$"KUVrp/\ p]/;^P]i-pW=fbTHPxM*c5Cx}?s 2=UUKF!fS*g7# 6bMgk8uUrw( *n7OB避6t'U_J?9\GT9G$lC.B3qJN/aP eqdA57ȨZ;DD`O඲n}|&5`f8֦0Z52L˿08~F9뾔^FAyDzʃ$7r".hPg\rW vy3"[5U, QmZ6r;<:V  0:'9 J :@JqG?0F#k*-.b4FN4 g?c} \Bk@us.&.q6n+^ql-ZeԮoV:+5 xB3ܛ'&q&$K,ٶ0Xwm| ,h Px8)MXkXyEjV>u`]&{{c"K\@WH|?w7vEb*XB briVX&$6Zw?T3too(yFkJ1x}g mtkz:NAtU)VmR:x4b>gi:M۔ejDM6e6&Ǵ9>!5KQn=* &}n_i;U>ީFz).6t `ʧ+ؠ~Ŏ0{xՍVnG`-kWZrɰcXX/Z];Eϙ6{8,<% "9{c, 2n|me7w_\bqc^Ob(,}ݓ+K"$˰yevڂ&q˼I-;]qa7ʯ se*'a"J"ARZ@M{b;Fl>g%Ԁ@J:$+@6bkgOk)q٧jr8t%+O~.H6LOLG5WN qا8X,t &Y;:WԬyoG_'XJX nYBkdu9F~V9&$D&itMg!әWi/eug^J~FVmb+,`vM5RTm{3;dε9GjYG!v{~$?5Tpc?2L컭h eN:Q0FogoZgWrH σ(I }…1A*ALjyroSC7g/1B&c(뿰r9PCJJ`[)iyXcA K׼2]IgRSUl)5gRd]f:_|'|i|^W | b,kc&c7D^F!hس5t*YKF}ċ\旬 Eͤ/jWBU4l/|hT0Vϳ^|:6?@=iJ?_2j@lIݹE N>h n` !4+ )a/cP(vP[Cz8lkAzZ+އo  2*4ZׄA9șhфDJeʼn~9vܢni;KxS4:Uv38D=c-J߄])OwӀ"$y,v~հ,%B 셠37Ku|2\B-y£ i֯b! -` }SlgA>HRr^ɆP5I&az9 y>Hѩ<.۴lڏ U*[;'cpzmt"e.q-VȊ@Yg?9g(i{[i 2ݴGY2uAp.a)?QL ml#fʡԲ-4X8u%<Ӱѥ4s! G =/''F0Cuqv3τ0yqFI/cd'-/䉂oW:*b$ dy<}Tj?RX)Yo~y["Nv̂3>( S@|8~?!]I(l  6'Ѻ{+gIQX ~9|l^ۻC`hyCmKS^8ǨE؝{aK@oKL"T}bokX5HpQe8?o9;H)Jkq(M4PTjC(֝Y0i-U' +Ēe~8T>]"L#b,g?u&~ d A K`It!= p۩z5)=,#'kkP!U ]Fd01@uj>F{lJ3L|f+}Z}rƶ[ja)yM $yrGE k*fʄeVZނῤN3Sl/Q9 9ۘgVxs+Rz4mVI4,UvM* R[T =^^.XdQxWBUXĶY jƮA(Rݲ e:{ R =$)l8ߞ)8xƳ8oA/5ZPr`6'nk$D&pϔ EDJ`)F&fp2+4󳖗`ozgߺ=h!WK68ُ(+?1еVSky;ވ/a\wjjXŲaU,jtSW!)/3۹ӞŇmK`@|iafFIOm5DT50Mpߌ}z<ͯǶx턱N 'zMdh:O5FQ%,T$PtIVxm LvV/IW\L!s~^vscD*ѽ$ fqivI5\t8W1"M)IփiIӬ8QrlW*s(.[gKYn33C7 H+둡aaLZ6(㩇ŶPVnoο(i^S(GbR" ̿- 7jA-^W9z]In!-dKL/ϺјrfYkYѥU: o X OVFnKnH5X1eߔq o=ʥ:bJXܟ?gVĚ ΕVP8$) t)eP! M%]:'H~}s]JǖqRSYRӠ2LL[YRyuIVyfHky}G@!/Lbb'_ ,NWFYsB6/qɼ_e(-3ݙghcH}circ",AMg%B"2׍9uAKHo7 Ð5v;G~:D@\'~T+jq|YfdW˹= Xo['l@>l p$7C,j.†5ISvfsbOj5ꛠ_DŽT耭]ng"TPc)5j؇AN kd,Y_8<8 ߋU}&lX>{U.Fxw-97fiYRKNdTLѵV¯ߩٚ=% V2y[ǒ,Vp5^-u!sɄ{^Ĵ뺎1oaB}dOL?0KX=vn=d($D>h7Z(-꧍ yjKRug oɀg:mķOf F+yi7^[gj#0DT>r~:Q+ 4Rmx)JvU'yDӺ{zS:p5I?jzV{$ ̈́Q$=v*;6PO"_uvwQU\c1n-Z 8v m {:ݔ뷪۽%uA8 ;Ac=ûX'o5ѧW+z SPL;$p*MwU} !%i$6a\[k7*^Sobsd`#JTlA`<Qm*&sаf/ ~&9PŌJ+J72i:)11lf6lYD2u44ia#D:/SXƾY͈^T-depxAMu_-+*dt 6aǂy^yi6;29V2,.%%Eq;~Mt@:GZDS+^=|H~1n,PĤ}7{%ةŭ\(=DthY`o}JAr-9$o,hFsG~ïGƁ 5aVpxB;'`ps/~|j6O/uKOԢLuxY>3@+HRכ~.)np- 6őӦenH=8 YHKc9ܳq`CWAfq"}GgC^sVXCw-||IUw~NڛAG$ot5L¥Zx؋cF:9z_}VI7cJ/^ʢH2rmWV u^G+;!~3>fT>pu2dR1AHJz`ߜ?ۜh>,霼+aօllָԷ>XAEs JAy,L;U*fU`7q^bx/Jx'&j086ϦhVuL΁+dŗF0É 仭[|<(X ׺x{^[ ]%c?JpNHqqnx!큙vgHlX$>L݌9JIG5$mgI3@z{y8Z|2\4z" 1}?VCӧϘMK3yQƹ4{;>}ݔ}  ((I3&xK]ϼ#n{^2d+"Z($/DQ\>v4 a~l-p1Ho}k-w-|p[jw/O62NbQwq{l$1.kDWNCz6/ լKL^wP o8c?uЄ`>|&j;H({ ]dR:%~~xz݀S6$C?tJ6 Ku_Oնu!!/dڷ[Q8R8H/o3$0hY3WhLW +d0CDL3sTJk@Ey%h") G 'i(:l`Ȃ`u_h:ydu)0$*"<Z'MW͵Hޝ`K*:0{wǭU3jNSXoB7wOF=α?h1{h#({L1`c nnaqZا kEzbtI):Zp._d<6eO{UnXXV `6 4⮋K&>0~,?1OIZm^ aO-Vz%4rHK=-#Voua2o}A.">I|he1c`-@v=: 嵐^%Ac6FMvN}rwW`8sxӊ*QX֘%5 KT+dM5U/JfY*"JI)"9b'BCPB}l*= p3`DN"X׊A"P}!T7/\2{W\UK /ܪVh`Nzr#꼁"`}ߛff(JZ6 Q= 6w5+]9>jLWiiლ){ۗ 1˺=="ᾅWh5:@suf f~XLrl)<;e{V/s7g4m^,&G%YVַ^.Iw9-Z_?*YQ0xTSn{] {9P!  p8l*<4GKwVr4g{~n^u)࣋`VnX@ڒb1f'>qUKt:AT!D7ihEL^hbYCNN'`OgO- |Ro,Xۨ/0hYo2 Z+W'ËKT+C\C1},=).έm@>J1/r"a*춦q-W2ۿ.ƌ7潴`7?wpU@ggֿW񴹳M4}~9` &(!P;u8a'uB/7DA`Iai!Kh|>P:4?ױ ^0->x*\t +R4+W{nU6OwLvt)sAT ^ΰ-+޵L>'==9T_k޿4Htk&4TA_pqL@M )y /+"Ry$v~1ie Tn%TtiY?0M ^să(~*T6h*sL?!L-ω[Tӌ6(O2szFZUN_W8T,I'BIFߟ|MG.IWCPo -iPn4*Ɖjp \R/n(VfiT7']Jhd;_ۓBXmw\Bfa/xȩ)**!ca- \[:_&x]r \1oGpG೧\g ǾsrHw2{}tE1 ;ԩ8jsqIl+8N:v23>i6Ek5EGH8ΦJXԙdv=p"v /~̰ Q h~ޘ&+:х;҆Ydw~O㋟=̒[Q2C!v(YX+䲒X2>>.$$**̻劃x:HԻy6R>'($HV3e˸\e)]RElh[L68J9ɀA\cSj\z0|aimwN[TRISdH sG b6D8m&#)P,)ŷ;?63@5\0ƪ_ jT iݚ~^B5ߔrxF)9h^~O'u=hbGehvJ~n|g:$\_vw{T̬D!!!x:^v k5SFt- a:{D]Z)wfNR '^b.16}~_V C1n?^#0RK:s.xSX`2ZR}k_!TG0LU~̄LT$Ҏ Fh~#Hwγxc|s7MLч*.>jAq 03{@wz0h`)}{ Io#ũ=t?X)cM5`K.7XިdW70{3EXv:Mw9d^U$$7mֶڧk@ ,5}$v !06ÝXW_8lǪ\ܸNmx'n_)zϯ0Yۑ@EZBrv\xh晉CeĶ-yP y*\UZGN=ꜷUކ(J8;D3܃lɽL bZc{}R s sAaJa9X}j\6_SVq%ƄMg aa B fgW^'?8A/z>֫ or1dU1~ƒyUPc)-zg|1wWX*W2tw (zȇY>o4!l ̅ WBOX*J+l*]"U~DN l7@(b ASpg;PM&U'ubp&)e˛}`>4_2{.a^t5}7^}c!Nzwzk(G2B+ YfId02ǵd?kaF^?BwPoJݮzS[OAq FtPA@IS{l2iΝa4 ːqӸP짧t:8DS0cdM:G%Ҩ?r5ڴb?+HpVcx-OK_(`!#At/v#MDBzJ\{ R;rVfocL:ߋ ׳`{Ib+!Q4o:{ +l /.A{õ<(8 M JWl[`K;Nr YRAIkje"zdo"T8Py]m [T$qImO$$?'l,XsmI,% bDm|MQm=Ǜv ΏCTy{C},Ecd{jވG@jQ&DJ 4qJ `$^J^AF)qѓ$" anv ?vtZm-//KQº:E7Z?ޅhh?}? ]146 ,mHCX 0W5PW>ա0@ةϧ~?E㲗1 3٬`XT?BS@xt!FFM2f|y4RD+?@k\ga9jĽqy7'u`)M1$S:,d-uL3$xeˀLe*G_S| HKl-HdWcDB8K8r,zX@ĉqdnb =\T ioh;Iw*Al,]jXD%H`( rZ/ψ;ؽϫL*]K(dx;I9~oU`XKIJ΢cs]H.>n0IE+sn݄ $:XQX\I>!^,RѤd:^„Vjn7$+*T1a,%tbdSl~-&jy *n\`Gtw8 k??h`˞q䧒ߗ%>ȩ6&߀x/>,kzw}G|)|z.&)]%N+X5W=p2>>R҃OjOV?mٕ5mca:?-ꉲ=֟y@vvEۑ'X"_X/ ~Syd-ѝ! ;˄tClK4hHimF)!]V0t6 ǚ}:vucʳ=܏8pVq1!^;7(b'9E7~>7ZsapwMP"pr|Xdk@gVU-$vمs(`(!02I-*мqe]1j/reK1kNk)O|r7,x>o/B%ϣFgayN{C `&M ` S] ^>wtj0@WR6o85 .KI!fI RR ׺5/XZ Rn59Eqf#n,ir+Wbd^+qq!,Cojc\ a \;P迮MV@}4^rIN8-yEPdn{8A 6M %&=ޏ_B1 >.n8(JT 05 %'w I`#'녈3Nj_O{S d6*RFd5#_]M?YDd?RoySX H4RP@d^׍Y501ro8IA}>lQ΂'WѱwR{? h SUQg0~k4SRV]ӡN.vl訪CاY#4zzy$ }[w>5׌=.2Cc측-2n-p8 )JJi^pW]+bpyPC0HJu-$6i:֩xz{'tB*b;uʱ(H^#'n=-~`rn^N1QЇayx0ulFɨX( ' NM-˸XXzrcj74ؗl=R}K]Sp@Y*V;+u}1e,`}l^Tps65f*]tx&D2ӥM=&Fh@$*ɸ\P}]>̓!9_M)ւGq;/@pR1Ɵ'b$am'5u 1mS=I .t1NIe<نP_7M#&mq^Tr19Ŀ7Cq&vp(L₡\iW2;O{ҏݻ'x# y5I)Aq]zsͅ.3`x}P6|q"G2'MfWKiKT4-l(,sЉ߱$|i%:l 6\Un. UlͅtnU-n#15rq,n&sdiphk]i`Uwg0y ZE3ie.g HE-O" …C|&+k$Ҋ "0y'>x{sHr%ؤƊ&xTc55RKEL{R@0ơ5(Ba֠~ g拂+4rBObwFl^JHZt{֡_% 6'ң{ABk+/5#`K*C1?F ? g3XWN UW@nh[Lj)͚"W4KdC^\WE&aa]4,Ǟ6:qtl)t|kAP@}o-L…8.)d}Ϊnin'QڧxOO_QP UWf=? /u>[{D"$;† m%K;DpkȔS*ݸJeWVq@5MCݞ(|?x[),␶TDs4a/ͥ'̦TΔB w,>\2z*D#LsH_fEiU v &šF5صj9]&t_,0 Biy&aϲ]E@Xo&$t$&W /#҈$Vj|:fb߹+2Y#LVCf^ZnM*yRFNƆL|u#踸fetb1%ab_އ]QE+ps ${Kt`v2ՆѺNC}$ٗO>;^9yl+@Dex1[E2-O/%Gַ؉eۈ n;Qc7!s}6x`GȔ&d 7GƸ٪SĎUch|9AKjKV!b+ٓe3, H w5h]ૢPқNy%G,Ӝ;F F/Drɧ~yƼg_ŪOn͕ ղab>iEҍo 㮒 IF Y E;xQ1M& K$ejHVd?7UCC꫱ؾ8CeaBfp[,\ sܯ`OY\#ʽZj$>:Q2X"Bm]c4Eǩy⊄듉¡5qXy|11C+NQ"Ojv,iH㫯| #ogr>ta_T04yFftisdVkY26eϚ-DΗhvi%Je Ӳvk)yU?e;œ ]\ `!H8 ̄nX$/مV.MGӁʢ 6&/c[*΢[6Ɋ(D)#ϐ#t5X:ʵb5C>ҮҦOe~ X*E,~ޕF%$ ͱ"(!^M0V>vK"aADCeDa`,Iɗ[9/67Gb7-$+G$5Qʷ%h5c n-6?QTsVnFTM߸,>f3|zq|#N ~af@4@~:{]2p4rO1 hp0m9(Yf.%-#hŮ_h|Z;w >!{0X7M.AHE+aE<%.Óf_Q"P&huH<\ =5_]Sd_xߩ`/ 4O-UB|f QWvR̞Mm:!-t }6tsc ##3nH_$H̰vhXˢ縩`'% =u9"Op~4Y3cޛpf5<-ՀA$* _KEָ~'Rpj0uO$=^E i[7#|@:ZGLK#I$~B 4j-B4?bȣQ5&7ʄ|<7Էi*( ES_ÛN$Q_17Egs;U$S![QʉiEC:ۣzGK@So_b#g?OT&[ojI6LGHl! iuX?#oʂb[ ]iꝚ'gGeMp`nUe)X|ⶏKh߄%Ըxi\R'=VTx:D[DNLHMLdv_ 53͐M*s[uٲ%gKbRYm_!0絃4nru^R7KR@ xQPhŠ.1M N[F!潗z*9^kH7:rO3Dlsj_EBKiIqěZ2(qyY G&iג]Y >4dZ&O˝54jo + h-7Yeb2Lع"[kkA;FO,D=aL+˄#'ݿȻ_5]jeٮҕִ,#{yi6HCGlCDdDNe hma(ykc;g\Q02XwKGUcȼ@*ϒ#Y\/B VQiS`gK8܄sOf0(A@[}HЏ5Ax1JrA93`Gml;T.3 צTqc#l/|Oƛj*}"fіY#2ߴ능&kgʙk2F1H=xX`LJzNeЗ^4O)d0 m OTm#ɑ r)ɮrG2fsSQ_X#ֵrǏQ+rKnGCZk.I2,&aS-筈軎Rяx=`Mzy`G;P0<)qGl0nc" t}#V nKD_pW[5wk=x1hzaișL[Yfݜ g䦫1\UXޒ,Pou#{B8r@EY< 1 znsvVVUuJBj]^@ŎEPZF'C~/p Ka7Uٰ}jW2Hp'cA$c/Io^"[]z@Q#$pcDBlTDF!**L[iR#W‚b F̞ӆ.VIc3ŒջV] ߣ"\H\P0pk(,{6%gABl7*:fTÁ5X"mrrv3뗩M}ͲNJW ҺXX/K*X ZFh-0Ã.C@s=fi:/\bɇ'xcp\fU9)\"JPg/ ('KϗiBfGwyܷG H;H|7b$"Tߝ(ZN~,g,T.;7BjMhs6#|AYH"  `jk*Wl^._OPO'۸&2b~R~,Zm/= oGQigKpZUwζdV[MH/>u19":s?!|6bZ_Mm}]rLGbUQ`ijZ|wЍ&wt:;z@Ȝ1 *7/ mrѶ`HQ$g~|0`(U}̀mj~*uW=<ﲱ(F?E ˓t3qlff:F:a+i3;nvռ-loy ET`r"#Q:L6%NK[̂zZy^" Y*`\x6Zo]]'ʵsGo]a2gfqCa6|4,R3afk3ZKjƢsjG1M"$PA:. YTVj%&P{sS2F\]6!>-1_QaSJcPI6=ޯfxbx-h2Bogh]M:{MdRIZpIۡ`7?״@]υ,2@OHDji8V^e =tHgVǓcyM1Y`5_GB\gF2=)Z:,'c=ܚ[CiRd r& mo> XY 93;GTUEb11F.RuIZ͉4XjFʥGGվ܄7*gI2r S"AP4# =n؞S+(!RGhmRa EqÑ/|7ŞH4jb4$Ợ:tY 9ZTaNkK >B@ ˹&cw" ü 8#&kɖLF5ȃGw`U4L;HA,3}|jE#;8us2.),e@5">P8n.,"yx:q'% ;-kq专jٗ.ZnC+0~\_Bʾph)`GO74St~+FEMPD/1߃\uáwǨgRL /):|T(j8=Z|\Q4 :9IJ_AȘ'XfFĽ4*)ݑ^D5ԽUQK)vR\cݩ0-C5԰uV T+dfտk*@3UYܔ7C+JվR+&nLjVw2ތ EC[0 mz (uEB,ǯ{:,y@2Ӗrg@}ʫRz5Fw9k/y(pΏjMƿr̓ a)tPΠj=e.8$iDYDׇ13|a $vNUDqBc ԢA]m'B0#lt>SCw{6 g"oRv517}£ޙ__s4V!6|:m'|- [RxR:EU癊Uݵy  Ƣ2F_ߠ{&&o2͓$ 1o0GCGu7blB׎Mf3NxCL]D0lpbb=2JGڢ'65$&w rnp;o u@8}M]_MBNI:ڶ(^>' <6bu(݂qrq?ތôa ZM0S*jө"Yw8sTMߒF0.HJHWA~6N䢲mn5M#QoxG>@X*ᅢg(O<\KjXwK{aßPqPAN#@,z8`!\ s''XU,!i0=sS:e HPz<$KI$ٸKoWh_4IRIQQ6MI\ }T*Lq[ϝ{|uyOf_W6wS I$u ':vDpS<~뛰7 G9k")f˜*mMߙ%ĸe7y:d=U+:pv*1p[kN - ++Eؘ}_3ZsC6S̫0-Ps1H`OVbDo.Ȳ˅~078D2r)mld=+sq7ɝgv4 7GavC3^[Nٷ|o>E-g A;H_! ]7H \[5U89Ž2nU0 u\⏙&ԂU fjmՖ<\Jk(ggϣީ}H]ND5(FReEw[t T pfx34' 6UA?O!x)4tέ : x LjsH\{0֢#N{qZE'hJd6g(O7!ЯZgKP[Ȑo m* 6Gɢ<{kԐsfO%hyۿ3HA2۶vGaaR-%<]ǔm-ܖF->3 aLއ^8`Y[TKc~YllH2A@#u@(_TOmzSDM׿:#}UcEfQFOts#HAyV9>P- Vpf6G6|XC%À+:7]ά!?$Kn)z.e_R(kBƎ:j(vi+%^X6q:dΨtn*]C&8P2kzg%mY/IphKI=HpUǟ/DW"B*aLVuw/whe2Mj T+x&9S@Vcr<-myb rE?aL={~K+G6;jrW1FR@cu@VHg.Q<.iRR~##m~KngqG%Ŀ%Ŧ[SM1zg;LgSs,jUT _~Yèg^v SEhE6j5zG:q_x9r½j[>@y`i_O ZⷦLP z}S¿B? B ͚ 1A]m *ŒX G&yHpqߏdW=^Y`Vw&\\ǜ~3#ԨiU~>Rj\ܬҏIvo?45\PʩNf^ l,y][th]2)cmVJxS$3KI>?1?WNGH9ѼUv ?CjTdY5{h|@x-4 bնjt`zD+w7r'^*2[XO:[ %80yDȚB!槧qLtϖzg`5"d2Atg0OcՇC5CG`,oS9x~wfҳql}nW 1 E9>s9%&c;'#\/*su$.p0wd5/vwFb"݁Lm_Tkq#p z# gӴ pKpHv?s:$_|ȢõFm򹤓!W_ cS~Dqn^G-J¡E%аLz]Z[,ǬEܟ^2jΊZ|v: M̤f$mIH~)M"*dHZךd:z;n`ed[wr.N̤yy\wH],$mPvCt2ubO)xr|osEu' ʩ j2x4Wjmfa8T߭Jjٺ_|Nq*VzROc΍&gg0L㇢/UN߽ϬPLDJ&KmDG[5n)-*{Er(JҰX>*:`lOǕ8AOzsYнy`ݳwEkGJ[+i7/td4B[k7@P೥,#q"RQ27U\BVЧf]Hr3/fo/*tad'>P|}B/NG>aS nR&ӳU,G0^FJt1.H7Cv[9kdplɼ{fe_u\'- :ђ  9кCgsvW.sbH"qu;Q [J 2xX3fd`,UHmLuӦY@iBwa`" tI_'0~0 v|A/ťLu.4 D cHKA>$* &ӯ!! ?8s)a:F! JT'}otqC{jk;31] Ǹ! _(aD 얳bW6FP#B YVUٕ*|UY^q/9j"1p,є*MAd+Op{8tyT4OdnֵEڇss;c%[8U󯠏 $N+c,Q I;ٛYoKz:F*"l 4p'̢fcXY+Pԗާ2D)@rQ=2/(7.Pj!ڥ8g;ёnTގ5.|3o؄x#6Oɓ-ɉb•N~9 %nì+@k)E2ij7K1E<M #O翎'=ϾP9Q;1Y|:%$Hh".A b{p(:yB5^l~3!7TJO>%^Ƭm&5(F3isӌ SE_ X[. yeEᕮxVcFS`%J9}1nhi2UHalRV8y?o(37\S=&W{2@.ʣRqzÌhB\(4[ L-L?x׊_勄2X1!6?"2M5 5nd7oZ'%a}]&+⽇rj(Ag H@F9޻Us nhӹW8[TfRsKmw47*a\cWAkԜpOr/T0WkAYotc/{94Wshח㣝0U;Km P.)Ѐ v*pNK^whe@)ܩ`sYб>pKfwz~õⳈWĹܘ}Ph(ACbrk(VtY|v3"F9ib]H1HE#K RA;VV%,`k/-ȏD) 8ܮt+@7JDx@$QrcβKy &^}MAt섏!8&PQKߥP!fmj@v]ɮ6%>4h!K0|1 B=Zl #Q1lt 6ZQS”n`5o݄2 rX{~EB Q-qL58ޭKT說ϏDe#C2ҧ ҇I l-I@T(fza1گ ,Ʊ#1&?HmŮ@+ 7{έrI!ÃE g[Gֶ zah2\Ci5<8"܊3A^j%VZ4n[ɉf[o.76`>WrYj" vOۻ0ȣ݄Aʙ͝ <o Wr ,!Mv_Q.fUm)f)QU5+EStf0\;|6OIit1YV8Ǒ4J7* )kBR-UP[٥0JDc3F_4Wq ³ Q".ZLj`oiQwx ?ތ%W-3PE`4I^׉avʎFV伐Y]zȱ9EẈ%7dq"n &?+ׂRt(.<Ŭ2\ v)֕XBY2f`v`S2}3w?ZNԥ(EH1+瘮r`͚=zbC,H)ƻG]nzSQIK>1+]WC7!VܭWx솒 M-~-;EZ,{'џ.kKMrM'gj`XP8'F :YTm<,fyS /WX ~0w'=&D" Ymev-O}lwŐ9_bx@4P,f+uDT@B0xo=~bwhv7q}R$oN}GD!bkpLW [i֠W '{Z[ :ފtmW.yfU1/4hҲq9" 4.R[v P%>r$%ԄmLaK&%158'pn:D#RG䧇rCJ{״2kN׻fP2ǣh=c,wǷQaTf qǒjC 6{i:Eʫƙ Eh8>6LB~>irMIEM4Ԡg:t5)?Ka B eW`B}ijQ1u:Mhz<hRzXOUZYH:ɩ0ψ^Ngg#qz%0/< ǔ~K`K엄% ^iLWotH$du9X,1ۉ}sO+wHӊQi5{TPdҜ1gKiUIe8&96IŮD}*觛^ʨbNÀ7l4<вWp?h.3:]vY_Nn>FNV{X9I2D[ځzp i2q¸fVq." +74 uadȘoֶɫ A"7vWĿHJ} }*) 7]!TM|>)9'0̉ ؓDsK (ovom&1 q}<4+/p{Q:xC:M= -*,[d*s%Ѯ9xk u,ֲhPқ k!\g c(Ԛ{18&p>P=՘ 4MtwrOftL0 Syf-<%_W.tzI,Ǣn?Ƨ* XۧPEWK"dbwZ ߬8?Hk eN[hK9S/僮]a@Xz, g;hjh S\\u{*U^ SAM`û`|n1,#VZ4Ĝ Ҟ}(69YQtqv4Є¤=h5MeU];j]K#)РU %pI8CJ.-!Wv aq:?ε?I>0YoYPMDYE7ـ# kmeCHR&}+YČY`A. $9kuϟ̴\IPXpgW%1 #|"x%I}>Rx:׌%4_Y^T?$f}H[[)Q Tflo8Zase_4H\@ШHOzC57 [j{jR^@9 2H9,S)aٷƃVv& .ʏgS-L6wGr@No-78}%[S`x*w<`s'ڋf+~;-;4_p& Y"wZY@6_<=f$GӔF#alY=QKfIqo :ee͡»QeדּxC)PVnk_@$`bli|ѼT7AKoBc }4 PxV!Q L\u#s !0uQ820RDqlɆo,z8 'T BA[,&f I~˝14Ջ|ZزJDu~X3N3vɑ\|%OVR7.!5VfLq@^a4c8:۸d2eNƾw"(DqOq3\!XȼP_cZ1xR$#YNfFW;^p4:;9l`t5UAZH͍4c5u]3[T5H ƍA B W8Itn^M?25ba\Ca^\ߛl>y<5 Yh}s"j5t^Q] 9 gd(GHa<*%ij򚱊xv*ӽK0N{k=&~(rgvz L6s<m8C+䤫_9#[p=gOʛ!7Wym)4z:pe?zkrqh2 S~pu( 8X5RO¬F70{~_dEĤ [ c#[3ZOF-[S%P&ĥQ x6/s?5]%#$ ?Z"c$LAA,x3Neۛee;W{80ܢae<ׯYcҢ֑v27pfUC#שVʃb#[ԣ3E2t `xűDeeI^wv}1E{pm<G-Sh/> ٥Q+KMwCa M<6i3pohSX_ oBV ;BBD sh7l2NɄc^U> 47c{s(u~Qvl$p$ j Q󹫚'4 v:ЉXRU60gk'VYxpރ(C"i? ?y}eƢ e{\^NyZDFh>} y 1.ǪuܢM hî2gG=םAtUxgȋb Ǚūj`hQQφ SM p8v%GizLNmލYDȌ0昿ot?`oXt֍( ;LxN5C)9Lvtu-`ob)47z}װHC %y?(8Ae1$%.+&k>NCqKm',=Oڮ8PQWtx%e>j)g򉡦i?UcdWhkؾG{㚒,%NoLZ׻\Cw=?Z?4\=iQNd*gBbRe=7)FciFJD?@d& Y/9r+sJWN0em,c tԑTy1,2͢kk,2 bz,l4# :~(d-dAU%^uD9[seO7p$ @Dnٰ \{3[[C9P'?:Jbek(]6^M:rx9+g!e 4*wN` HțDu2ljIf"8ܹxH`ztBrAqpn 8>P[_xp50>N5LBIUDTL\ޢхG\s=_6>;*fhё#B=mbdpZh |8X)"Kiri$f#|J#Ä-49`k,ϛ]@1y!ÖS+} K 736vg+hp N?z2IG⛏F!B "A0|;&[˻ʩ7JSGDwh9HKƃa3g6HR+hNwh''cKoNAvx(Qe@% PaZŨt}lRLaMo[TBF={g;CPt0F27X[/cDb67YHj[g+As5%-2gCNa$T6vx.5ݝ-{Z(kHf4!rHNVNd-NIx ~ho*`R 00 +0Hl9%sY(@ܞJA'T-q@Ό5Ȃ ^v}y⣨5];ٯ<X{#d |OEQ'9@Χa[ӧ*,Y::./M|[vʹ>Mu8y:QnzFSa|D =;DxJ2MS 74fįeba˳ )y<ݖ% _)Nѓ7I|JGOEZ mh[L iyorOGvf/eqk"Ō/U49`A>>z^%Cnʩyę(ɇ1;l1٩>@7Ů0: 8tڨHq18I/T̆Lk6]k3-˜q25"\#@c C`;]c̴,@}A^`+<:Ѭn_JQ !A b5e2Qi(jjVQ~$۔x> 4^tq)W*)t_.s4ZKA\uæ'ȗĖYkm^TT/&D[=ffӶSaiYWK[_X{G(hdEnͪ&!Cc,āvp'#n4V3^hհ)EffSo wis Sf{kٖ됙<7cz!D ~GeN&<:zAZoĞ3~c?'꣌kso=SͲq: 8dnjr)GFHDz';Fw1fB?k)hCgk)/=N.6p8ђJNѐ; Ui4huvyF[+6M3)^^Kef< __X=,9[D, ]LkSӦH.#NW`O|*ЦT U'tAU93.뷯!$C {$VPOJ Y>WsֆĎ=T~s"tN.2oΛlαщ]&kgyEz#1(U, 0]@U<"MdacЭTeUɬOO{o %RQz}j\OmCß ( '!,hR,/oNT 5~Ne+!SFɾ s"Cay jq[(63VKiۊ6#!Kb̀He짰Ks_r1&܁"FG|s@`>k#fA6\  >Xٱ#u-vԥ t̉5LQܵ]ܲ5Y`y+CbgX(cž݇l5&{v^kԃE+|0x3)`JPFS[ߊUJ&?lѰMDw>F^Mk~) A^\XtgJwg'=~Zv|)y'>O,`-Q~HDfKγTh(gz&T޿ cq߼A$Nx(X9[VT89r9T32=4^%qz qTw'J0]WM]:ӡ9ߴ~7f8(YL_ԑ`d,L1VK5 Fb}!˕s,O~$<ډNmPD4:ƹjr6av6?|)lq.C NӬA.y;MƆ4. ɘ=oN]_nٝʱz%:%.Kh*S g6<Z C@ ( &=[u6c}_MH8ɱk` P"bP1eu*H*d#j|X3k! n=J3Q["WODnR&+ ʦL߹Ua޵4+Ϝt@i#_``p hWWEPYA/]v?.Qב&I !{lN^/k'c1 ղOqph/ܾf'dr8BѬ3/Ž+1Tq.z]5BR8a>ٕV{ws@9#g=TN؛*MaOfKsDxZg9󗽂YIP9JjAD23S#g(xd+8MG<U ). 8Қ?'#ۿ,b06H]~~HKW{cR9ۺWEE1Pr<4[lν]{j*?#prdZ[12z*MН[*MH6(Klrz{,lQۓ[˦輸IAY٭E̵WzW{% '{ᙝ\v!w7[1s(H6g`gV02}qW0R7 EQ̑w]|pSb:VZG3]|cc&нx|qxbay`HI'=Yt4: 0DuPEex:lg ӵ{,O]{vF/d=~MpLuWg4V>N"7)#<Xb )M,rXM2O ?3Z?eL4Z+V3W<'3nJXsis LدL<+Ұ3ΎY9Y|?uؐLiS /E !3 -g-R}^>0({oze.ʦ(`a}4IDw'Nd_~X<=ΪV_gO V wގ@yqugJ5[,#M⬁<̑Q Fg"Bٽz9P~څ/z~"3F"s59T+QVDZۜ}=w`rdiO2Ɩסi4>i)”|Х';E8,E[km~!ΚXEGdD X 1diO)V-._2E Vw,.ogKKz.Nkÿ:"H ?ڵ ގL2Ouy MڅdRWѯ( a,\h|(#G `׮IѻIlRWR4 :6`f;vn(PA0Dg]-7 !I]%߈|)MM79U8g3\!{%3z؀n0GN2A? \RMB?/cIQ}Rtl{ޚm+iyEvv*qGLcv:Ws̐@Z?6{eOg|R;C@[+6Z:n(z?r%G,.wv6RrmhB1Y?ڀj;pAQrr(v(p;o4An,Rq sK5_ޜWڗBU K6%T=3$ţ ݣJdb?۝MNa $O47xig13N]zmAB׀k l5VFZ"wEe K"OP8@Oe9{#gE7͋Y[73 5ؗ1xTIwD= m!3e/eM8줩=zv/ՕI[$-MwE!(ԁe|ri.߼[a .,d2Mk{[7c995ډ9'Rӕ 447*Skb7©fS<" M&7,ImwWE%n S8qR$(}SO;Aذ֦hH?V>Pvف0myB]b(YjqbqƉq,;6JK|@)`xWҘcuK:])I5 erg?틒LHv= W-bSU]#i<к͌G+=LH]cQ~9 HE1pIA }z([ܱk/ ; |4U;E!RGKFTdwJ368b  QxU) > N]vOt:b]$?ؠ?c9m _ 4d)RuJCWP]kB7EͥȒǂ? `hҕW@gÓ8U^IF>?@>_hte!W ا1".wPe"4||IcyG[S<^b] 蚢/B{ %Qc$U*/8gaEq= qB) ~m=0*8+xB*r%[~+{FHUǛiﭵ{R/8B96,jE҉fXL(\5xSX3}+VUFwq0y+$*|$HsȌ? yV-??z\̷Ys{j-y%[$x$Y lJ͇DٚNON<t#f$݌avH֯u:-jC.kSSA $Y1"1)$@CZ~H*,cÁg þ5|~:4HwvnplDE~QM;JE)UDbexE 'E 2 VxMI 2[d2 Qe{ʁ:kWRUrlb]xfd xcOBKY y[jgfˡզѱcMh 0 6|rxr(DQ[cUӲta؍}H_`~SMD{Ʈ2Bf"ȃABvO8\AU[ )#oڙ__p"+y|3grP}O踨_\U#ǸgB .|)5LB2^R4q$3~yO\V \(H@8R|hzx^1U#uAr[[R>0QSU/]F d Ba{ײSR1Ќ+օ\O ⱴJT-4>}]d ߀9v,GᓅkfZYqoCBY VTw DY>Dj1~X ^9+O' k ˟QZ*vaIǬ % y(N ~ASAQ)ű$!_!e R(b(@TTLE<.A#3k|>C|u>͚NԜs`D Tgn~??W-M!)K&lsc1@ؗ?쿷(7 wtފ^ͩWl6FY'[6مHC39v=zOtD}Hi;uK}aXa5ٜ8Ɣ:hqK8%IV'8OHhWstH!{EjMj9JF<{NTʝۛ85o F$ =7 `@ Y~j~ [uw;kD`QRFUmT\«+lUUh@Y6Ji67jz^ڃ$uǖpd8d-qY5ѷbh $mqAc*xDOŔ +Q_@ݵsZ¸V=;ZA0=HhF`=Q^)`|bB$d`ř_̰F4V! +_ƐC"ϳ0Gr:OE\ӯLQwٞKGFkw!>`9)JiVD> ^vwCyuiY=t$Fa7tQ{ m-0蚡HdPHh+Ɉ/Q3>9J%ϚPRwH;鳨j1d2[C΄yNV7lB~E^&7Y"kکPY)0g9$&?rJ^Fe-)%H2QŁېt=/S$SPЗ4=#!hMm{R ͤDuyɼd7O?X7~ѓ?е7xwS~Gu_&+T:@5H*{( q fVŝv7,r j9}=&BunPfAe+J`N&hTL,9B\cBsj > ߚކF%`Zs;/1/q@wМ)BG8CK皸Uӵ;ԡ@-$OA`u<3T(%|gghj(\IQawl)DVlrszsLgD㰛Tٶ0LOh ' 01@u< /cU:fG"H sZrH,TUNg$``(7lH/#*Ntry.w-)H'oUE sPpHR"m4Z'a?9{0(,_׼i]WO`vQ[sG3 gYiGjp}k]nޢXrM#8;th a*1RFWu̚ V d]) n "`dQQ}{}k#Zum!|Б 'K%djW9)i%  ;ќ֓x1;cq%[`T;Iq%Zr%!M^U?-zŐ(qA0ɑz`\#`Udе bafq1h ! Tu[GfRw8W[wj}& ׂQn$ ]M&O56V׼thuO4xrB,Uqgϓ/77i1q5SMu xI ++mv1q3gS}l\&Ltƈ?%w,HoanR`@RܽM_/JPνY͐F9q(rwO i2+26*V<J\Uf1_\Nl?w$ѪpO ]oK, ԫ$?3m8/q+ vN$qI;K1~R KA [F.3VԠ^~~L^ pwc%Oe:98fdgRIF}fطm9X*_-nEx6C4BVA @U~ GX p7}`ԋ8ĻVڰ)C8BȆY5iABs%n^>D4npsǶqnr&FC1(lcnrb_UނVz\x2xUDXK_`鯅@Jo}//HQ h$W aaoљ5xgD+oz, d3zFoE2%U9 ]w6 :b`ۇhQ$Szݑ@Z ˧x}ぢQW)]|a5Zk 3O0ގmK#1[72`P2$Ac*5 u{UiW;ˑnBZz"T(КWPF[殠m~@ s|Cr$t0hAGO\d12E*,˽;j_\EY/z>vaOnێ._SFN6xuS9 ÓXՓ& H+ᾕYzULyfZ.K ]uz*9f惰*=ԡqd1&3O{ YӴ76˺xuץZVYd\n锹Y̥+pIֿEoa'W7{.|h){^L)>o0F4a xkV~//tR= t9YSE_=#HQ6dSdQI]^ɽcB]%&aaŃzua FX6IJvѹ)v9tfoA22S^o'5Zu 4\ǂ7ce!pWƤzjtyhوHbv-@~G®Ғayo(A^]uv]iKae^سr;8'wݿ$2{ K:-*!CgFV^ZFtjM*nKJ2lė*2G$܌M XЬܐ2w>/ܚ{ :jZ`zUQFsVD5` TEՂsE(wŬܞJ`Rzz1e;5bHwl prqA;=A_h̓JSEn#ڂgyWq?Y?8@ʌo9ĂJΆ)W'r!EE3e6Gl_FUC {Okہ̬imKpJ r *e_ ڔ+ Әp`JLc0zIt=vl<(}L7 Yˆx$-W ˹?6Xq]^)Cޅ [LC c&)(D Υ}}a&7fJ%D=c8 r3d>[pnusD;"'l8rrVRD=M`{eNZsVB- Wf[?f Clu~q{)b[0,nza-}xxaǡrqXgBK7Ͼcv1{Kh # 8*Zj呇G  Ǐ]'Ƭhx 9pb6РP}ewhL?zjtr؄q3["<<ՓҾmX|$KQ&@ V7G3tt%1ŃSE<U"k*6p3g!/xǞt1THB\4\]#@#}K IHa %HS6RY ë2-R䗥s~^UYvf/5HYxtKXcIS&FcX }TQ\('svǭHNs}u}^J)(zw3 厗CC;MyE H#Rlc?;HJD\MwTĸ?srRyb=f6+\P\wvieEքX |G--[̨d:IKXBh!iv"WmΊN"Ivt=aiE)UXY {ۮ^Q[O3ӱڕx[+֞ GQ/!ъڔ<іP|UxIjfQcEAusƴ{:-߲M7ۇ+Gw-t5п7%]٥@P.o `",2r}Wexxn3;}fgcb0'Vf˳a9I 8󜝤4!Z;(l C/x)MCu,D˜mNFn1@"iGI0ƘàȲd}rvXA4x /5+H>{_J]UO5@&0 8 owէI%ѐdbNu\ 4+oAl3a'nWsNziT?I>ߥlVC {\-1.vD dN4GdH.?_hlN3:B (U\˜Us,%pLIb!> Nߠ}cMJ=m&ӡN\["6Yx7˪ê(Gpm3SO!}f@;\ɲ\NjCHW~OtSE9Nר_+ Kޗ/sEN̋~pI[ʪvtT)UbGOͷT7GSQ3\:<nZCG4 8BD7M@O^lĖ|~Nx(f&ɏ/Ӑk)y,?d5b)f))˭f(&cdbb׮^]7Q{CC^4+Ņ66V3]17bh_R%O!^v=UHl?^ ݔSR}_SA{vG(GrqM\_/g{*.=SkX$g&.?!EalxޭdS0eG+1V|fp2 z77flφe1,F[ZG7--1Aх ;2Z?P+]Y[Q S V~"C{zNWFwVO5+x–&6cbgAV&b'BdK /˱+4<jt )C7m{/SdϬŘNCD:+y7Pfa,K܁ئc2˕Hmס;.뜻2:Z`P&Fկf(o(&&4")0Ќ0UvxN}LnDQ(̴OU:96Մxsυ l2|=a']CTko<P_"Hݚ7ia.aԓj|M @݄gK=+ > K@(Ómt}J~LbOD޾ܾN- y*c*Ex3 JZW|E71ҨGdow`(tp'@Q%pvk^{nhs)ȅ8e!JWK2!16tЏC_+<N{(HikZ9E[HeY Qyxs|y:r/cAI8ư,Z0XQh8%& y0+}knn6y Hl^Zwn]}Y dp'DIis5JiQ!rɥ)Ј>.2+]@X6fgDrNmǁ,Lձڣ`|K@L3uV$2-`~PCSndn),HRD3mXRaz %?57N_."w a憪5yNP x?IA"- j0*Ck9{E)I"E!0rdǮYk1?P^shO<6 ~}w|_Z$Tzӏ$#CÜdURԷ]H Ỗ u%XeOVpCB=oo <oh}IW(X$)t%޳`} `>1G/lJ Z"q "+S# )a2&+ j ߶5l:C@`L.{ۼ)4;l\H@61,!_L23I NOC0{ez #9/?{=t>/ftogk<ײj)ZOEZZp%=7\));'7wq6)# >cxQdޖ"#ICgu<׺ &녲gX8ŗy; [_>(UoʤbKWޭv3hWi؅UP|UIg8߶ MUݵnf_ h~fy`>UH鬔HAyUI|>VD*ԼYԘK Mk-_E-ZBaW=y%% y0uHR+rcyD.t(PX -`pޯg0OloYN DB O92hD] . :Donk͡_8ۮ^;0A"%Ez(㧺)l+8ko&+0^UrD0ŇYgv0Ѯ8,^p뷘`ƃε>o6$Giirdoj&{fBމHw^gݔ| ~ HnƁ 򡠪 @ԽXR䓒|QTQ b܎Ց# 1: *5՚xQ8D|# ~zi][np88U  e{$u?ER$,4?CD8< `godR>!Y$OobzI5c.WzWU\W±tk-[cW~":v>D5'C(=]QiC1kT|F.4^ t@OY7u%GOE&Lz\lvhVLS ]4z'= D'H׉Kx Eأ,32\9wfLhl dmߕA% d+{ 8mI;bs_mOEgm0qsX}Sdpn9lFqrnŤWn Nji,MRkX-L_s$[|Ǔ+ʫ 0"Nl-QMgD<8sWcc/8(q_OUFL#L m^B]v7P;J 4PbJ?Ԍ[eւ4P`Á Bu\LLm J`^T뵵g͖Aǡjυ-udԼmB>2+w"9̖Cl-{2zeYMH-뉶5'[hXVۄܾPѐ dx~6;76;vKbR?\ |c⣑a})K붍 <|Dr|_;P(\-6@$ȎkNH0 e8&91ᇻA^tms~x$sWaA5 j] E z-w*}P9ј\PF@*]hB"DOieu^.BSQDl?%n.GEH|#I4͵]X /w.,xq"k]<˻ĞVy ܡBNCXƪjBҌ~rKgav[i~MM]!ijxxڅtZsmN%Y 8>3GbWȘE#(lT2QzOi|;z.iuR\AoZh-kf>|ƾq !̇:`򉿿>$''sZ{G8o8'K:hfV,{,6LO7(3 mTQt$ɠOu٭:Xop3\3Ut̓{w>/$a o>n^;߸yJ#w N(`U:0#ClOvl旉-Dh|giލŭ򦀨=ooYTHlAbpk5ָNgћ kI|ьK"y`/%hU&5'"jdz9ݿ 3 P8TVǺJ!/b<m҄du+TbQi<1~;GdG\)d} ǎo$]b-ogdkd9yMf`K[4/8_mr69o;WoL^Pay x|&GAbR1 S[6.WzFdܨyG,g,UK`0[,1՗gV}=eio]xS!"]R0l'gbX>]9{} &XCCa۶mk7R^}+qD@+%Y|{X2m5W{[sL[#|*UDp3di5c0CR)Tc%BU,Jdo|yZW**Veԕuhi5UavcFǂ19yQ;.60~VF ML *z]yڛi,7A|ÇҡD瓺"{i7' G}׽dbF5= c&!~eϟ tnd5+'!$€xy;sfvoB4/}TjqF|k _yZ}E?̺_[ulw-ZN;$*iѺ#H2cTmʙ5&N9&N/wn5@Ni! ?e Bo V5O,LJq^At'(۳T|:UHKxÃ~}:݅2[Ja(-yltm/eq`ގ%I ɁEW%9u,P!%Y0OD=fOfݍj,*)ky*3XR$1pyuǿ/%psDhyYR I-/kwCekԚ5Hm`/@#jċLY%EFSg;󛏤\υi(J ;j=:GMoV4Ad"jF^?*}t!cr^-ɓJJw'n?n1[/q6ő NrU6T4C->ɞ tV>^+r w|i?vdrM c u1/le5{ȦQ&!AȗE/p̱K%6n5rN^> mFƬנ.,6{(jO4>U7u;BXn_ R`4BP8S9|Yd2nI,w_j^fy9V 6+i7Z0A\ezT@t{- vEfɨMrreG+cNх"KSOriDu`YD># Ov+;蟻%R[֟u|cY{,aAd@?~~i]>qcIoUsܳWX.4Ant_P W3p}J#^:t?4.j^72+BG;^h2f(Ljѫ"xlJIOF򌐭ԏ5ÙU UԛtV kMbr*]WyVur eAa(U q_=t6 ޡOSo' ni=9RW (VcW1H_%ϡC[\̿`M}8(wZ4c%έWQ񋘖_?%+Oh~$Q ogs.=Dg1IVHiUXrX'蠄F^ե+K`%Z WLGzB.N`e# YJ# 2`ĪAj!}{UW ENTMUc~1UɁ3#$}/dɎ\+æ #C2dUX sUxC1/\Pֹ=B_ÍfNmՊpvރ1dqgㅁpa'J~+_Lzvl߄wfDW 9B|qǂa<6PFre;UK[Qez2\y.vwD4C'A5,,~[ld&Z߫2D: Gv}M81VCPijZ-o1cɗ,E7Q6T;?jԂhi)'bи-ZL]](_Ek*~> E w)Lgpтx?}6WUWg8Ie Pʝ̃1_$ $hs?[k#'*k3TS Mio+|f_lV{7@"@|0S,jr^e&,^ /ʗ)] ijr o x>:بb?˭K:AFsN 7εHdx`vwR'Z}j-*~&Ez}^(y->\g;ׅeT[܍2j/Ճ!dj$R0dÈVokʭ౸X!XVj$Qz:O8p[64U,$qڴ ljVbTuCCP[N F^Tp&WU'(Q j9ڧĨ2e+hؙTdOdpҶgdT%كn5ټzֹy RvJ:1RjR8h'?~. _o%gpc^4::I[jՊfGV|KDy\:Qe6`,ĘR[*Sj-;r  MI!cVf$6h[:ע5[+_!jefi&id| @n QPhlCX-{m'.5ǸpZYic+B]BOvʹ(Sq~*+Cg%;OB7X@SXǙnFu;  AD %w=CIX ='@.6Ā+Y/rIZ*ʇ#!&j"0g_L8ꭔ%6ajs\P\]$*Kv6ކ4BSGm['ufc~īi&~.~b|=ǣ ]$b :F9V&AwU#rE$Zı bDrPTAmߖzΤ}2_' $7]*\.t9RnfooBӾMlddHiln'LͪU!Շrě̛ iB5@ed1:Ks ¯O/t: RfG :(ٿX`#9DƆQhRz0Gf$@$T~8v!FlB`{6ARDrVW~jL)~8dd8@kW& F~#PvDF& @*E0+!ʼn?e1ϩ.=5}ZnZY?%QxIfgd}wKDګfJ@s3ᶳsD8wV*$= 1շ [U*vpࠆU`wEY .Ei!Bl Q0 ?e>48ɳ ڷ{s9Nj!uNqXyl4(OP3XCZ+!GI{q'd"N d K'QF;V&nbu]oOg̝lrNXPx] 18LJ !R?׮F})_Ve_\Sl$OH v|;[A"52u\T\AJj;Ҵf]P.8QȤYe?l%H~# 4}Bԟ ݿe*ag<0j78C8 _ыj]|7Wr)Z[$ h whjր_kޖ~ZI2@Z珫Ok[*u u,ae^w \dMԝe3t@v h4%ou^*vO䩡)TmE+^k{AۇdQ `z@,6l\>5" mqzI %}$a ? +P\3arq$ &<0x;B`u>DYr"w=5 GzXR03ڛΖB  FUZ둀"@wCpk44?$]*?%Cp"ܗlIp%S7yyέ7I]ҫFӌ륗ËiH<װWS {=%xjڼ(kHw[ؾ lBDvBS&ڟ#+/㧌,&܉ǁ!ǭ=h8y4C !m񂕹YlI?WXCI\aUCzxd]g@r@`iq 18D\T9c>xąќF͘Q4I7XWOLfM&/Z ܱ |?jʧ..buLjjwJ50%0 s*N-&34Yєkb>%/7Ov|Ĉtki hѴJ6IW;gȏFTwNi9ٟTnhypn JoKĜdFMW3Il͹ @VJ8vxE%W3'(g(s~56<7;b9Zhc.U4 9Ԟ)?t^Q/4 UAPS&'{F9p)T܊hƫmً&c55|AbtH0Djo=~vՎ7Fʥ<`Q/GaPʒ*Rtߌ`xVw/m\U>D5AV"6FdUt工uzPXu"1dg࡯̝{+%0lS6f/􏽅XOh#bԣ[n<7LL(}D ;q(ܿoA-37̀\SPbvvR@F31+%>Il a ~G  F 7a<=q E+/^9*ЊPKnK!?ӞD%u<6otLxʿ̇V& =vE,kzÐj/L7AK{}X_LXͩ(ѝlc|hpu*[D>-!Fwq7?8Iq% # hVs֎^)^W zpAQ{9%zR^cg@= MHn{RWoW?9; eJߓJ̜-2/V[%[`D( ?@]#&]^P ,6YSSS-YFh^8V1AOͰIEf;&h᠎PS;+9o5HҲ{k:pϳ7` ;|+]́Sq: @,t], Rh{fiQ8 Z:M1<ίoȼ/%O͜?K#[ S:Nƙ9i/Pmz9OtX<gW*J<ˬlޛGG8S,s6 CIתo[ao"%$M\C)L&VY1P@ ԑQ 5֋ݘvIXv>!`Jm`ͧFY%?_]@'ԡ!liB:5f9 \Wk+k{FZAZ{ōUR[/M ?)0(WYtly::KGnuλ0-Cߔ~)*dTQ&ơN3uJNW}04ZrRxNvM'hK!#imzK$5EkC> (3ܓ8+ύr2r{-k7?:+g/? 4'^EߗJ9pj';Λ.>KPOZ(TJ\HLW@)*+.'KNY;GF{"3|W8UϝO3v 1o8MQT_ä(/IlNGީa\#O%O *ޢ1FKMO ~v\FkM\!_dv #p1<;/<u$3a_.9ŏ^՝I83-;Sao'",Rᝰo5>beK2mV|/~o-ϰ/S,_S(r_z0;AsEsx%b|XAN]崎#t FC/qk0 QD*~-BhxhXDeOW p2#Cj__GY#LJAo{ ]:dy>W,^sЂt Iy=G;s)hTh ßPRy4s@iûOKʥjsqES+۩)K#DμI"5;kL,|G_IQkLwGpimo>aK,qlpdٗ:>wBl0& 5%2<Զ`2z!u\n%Ŕ(=ž#t\Z G}\CInE߃ĵሗJ4o%U4BzExW[Qp,( .3ra9*fb1)kKѵ$kKHHn\Ȥ i^|'/ -A2? ,i,9 ,h1&J:ӐL٪B5^l d]eba~NA'vI5GνﻥhqTxjzpqxhل?(ط)3>QB8Оy,>ZK?XwK`R6 ڍi}:r'?rL7ݠz,m!-4ct+V6>^]١&Sd wR+;<O K-%6ճAU?r2zv`}DQ#YLֶeb"7ue4bHU QX)k3ʗ;XQSӰN\=t̎e>k>|&pl壋L7 z'N5o"'KH@b԰?®}[}hGH:o= }GDVp.T|еMh2=[62f]9qMީ,fC'~V7!K>&WI<‹l]Ψ_}!v+ yTjZYD`gYg@& Ҟ*3DehoUla"s!td%1?˴{-y6Y$ <\kd5ֵO^f5)0޵"G8eCV?W/s4@ ~#{Ԇê'8 _n@Y+V"JE BhhLʬvyx: %zyj/ ma Yݿ.kzWBŭ |PE ,s*.Gm5b,D:B-umޛH%RJgB/|tYH a] +"sO3q~)7!'TMQY&;Qa9ʞNB$sMock'LQv|Cd>a CagX_nm (2>/Y-f,9nz?7٬"?7<5 79pSsTI .#+\C©tz͓z_:gaq tk(}'q$/p:\79GnY"Ib)ͱlB3yNJ/~\޴!cf0N19g@e}dѶ| C{B;u;2KO%8僔/0Xyͯ, 8r?RR L>1t$y1܉z/Ls/ס@i8ذ%Eb@K1&tyq`h!"5QEXsrMfeŝ)JtV "lݜ[* *bкߌ(YeKH}'`PS9?[2$`ˁrh<ٴ^D\wk(U$'#zk?\ tae:> 4WțLY r53j>uTДr{~(cQD`X wDqUB<0~X~\Z;EӍ5X~]t{pzJ-3p<cau83LJ=Z*ɺ`*)2FH(1} ʈU\|W=$*a$^p/epqrj/q]tqCn;bU啎g V)d m}|,P+E D9bP 8)>|v%5_/h ::3׹<.`>SUВ`$p\ׂ+ȗ ]FxYy&>'ixDiAsu[6n$Azw|yǠ$"`{J*glf)%)0bks:4ϊ©˾S@xJ9ӷ9[&YJt:[htye `$Gi z_ho MZ[AHkM@%~VHj@&d=Gл`o4P{AMF,gVȋFFעn ʽc"3hEѭ'&B66_xk`% ^Fd| % 9s h>R@4|Ղ: uj |W6[2Ud酪@ve']YuU?N3jQ s sKp"tP{a}`_&:a.C}|46 gT,WEJ"ݑ*ꮅnĺ9jcn&zq=׍;8{"L2#N^jGPUE{ ;\H8`-.˹͝TK7_AE{ bl4?=p/)U #:-}&,yh"flI)6!7>iXG~jOMà @ǨۚU t[sMslOA #Ш 7 StO)& *31qr ?p@$uVqnxi%k}2wy'_@l+Aj+ĝ7)C[̌VlR:0۞x;l98p tq}@ _XTAn \E=˒5;o'c$@囩H)~P&PZ@M=,f|L f7e`M« NE0[@l?ZZV.Ӄk0lLM'½\, ~n0Nv#lv1SpOc/.loբ~]=U7`x3 1uh0/bNй#!X)!HKox FŅ0I;.BxֱOTmmc<4cx []̘9$ : a-":RߧigPIBW +W `8_@z) Q쒆})׉;R5k| B]Ld} TRo|*(:!J,DSCP:g z8vM{UVę Ć<.}C(k7)snKnv?(:$~@m0?΂4XkmCF;xEC1WY*㾽€ ~uZN*V? ;8X,h+hy\3!r%PA:`,,sj)/6`aG]k4[{NϒimR:"8L㚭)dLh+s%UJ鏼 (]>J ^s)%{^^7x 9I!,L6SAEi7hc5"?ժ;bfk=aS]Ǭƈ*Wغ򂹝!ðUƢww%)` ӊ\vu8({{Jô D34P }>|F-TSLDLBÔof\Eժu/-UD&SG [{o]jy)?U籢bC r'#_3H @#$i?oa,71UBÓJ]tXfnYʭk#$*o0SG˄?9f [$]i]«=^h+É˙)~0RR ]p%GȽɵCG6}mp&/=VJ/\?v>yzi3L)OL/!(='Cs>I>/e*1=[ k3D%@ɩ "ٯtSZa^k3$KQ 3E)/=;ia3[`J@飻_~xj1;) 0}*?\UuieM=uHhĭz *|[֨;|#>[5|kbBM E"1778@"m8#z޺.6r,k0pp͙6vo14W'u"q3RM_ͻ̌%Vc w[qjXPI\.;F%Tǽ\`MξoЬCOB40JU8 ~!DYbfQ7RErzZaV*:1_FҪIoj} vGٗtټѳvƗx\ІnX[#W8%o?68?;}Rl5zs=!gNJkM)k(" T-MJNJyUk8m&^G|߮p5S { (Ş/ծElmr_dZ2_X>V웢WEN΢iIh!2{"SiYhe2#.n}s>\G6ߎ]6@qO F7*+>sTMIh6]61>BGUzE605()j9 #=*gvfzd#-D4WLћW?R! %t+<*^WCGQ9qRx٬ʵCҁuCg_qR\g'W²F+!y Y (Qe~P2cu&{0JXcr*G*Pnǟ.-kVU$lC$A%8+Z1.lKQ!d#RƕpZpI4m]0ŜAYJ$yxK>Io7EH>%އ%*Y+Z1YyS )(dq9fݠ `2j/f}ǬKT/Q2eF7*_t+B%l=4^?3&H<ȴɹY;̹p([33tNJ"|l(VxAM2˅}3x rvEqIAoV_AGQQ/6ġ\A Ӹ?Pe~z^{^U<:kF'%O-*)"d ~橈nMU)WN?XR#i#*tlbzqkRwH_PC!asjK_Qe lWa[ E;"s 'ĚZOXڴGB;j4<BD:\NI<_RmXυlTby ` f)嬑 H!`1,VH hPQ[-^CCJGLfVDN`83v ~^ E11>LԲou0lA 4qGIJś&6Y&Ez)d0a;8*x&OnKPg5 hӾg%XtSsj&9mg=rRB6*4ԕ) % ĖrYMآ&d% v>Zt:{M FsQ^롬M8"kgZ0KA_!okʓU50Shal'@=S<>uaX \Gg^9?\' }%7@|@\`uQѱDmt%l+9CHu ٴq&(8dP8p'b~M-!>وaG+sQ>N;Xd$U2k>׊L{oh-Uf½?9O!^N95@*{$؃6gj =:o) 9DKn)jM<.EOsф[*ʪ] >ο0 7w4]haL Gz(Ђ&EƧ[˂~qh$J-)|-+Cmks9L}9.dzo G~R:B,%۪eD{<'F]Nݠ_o|Z21 QK'LL(>0++0Ua8n]Ǒ&G78'&R_gh:]]*Sq|!c|Qhn˩ߎϨI6YkyK<ݡLYc: ݐOmmuɧB`=}`puBK>kl"+Bz] %X$MVD<|E]²M]]A6ۂtGs7b,h|5w. hm;#dDG&y<hc߯Vb,59`5օ~G8}5#eugieӪR/@!wjj}lʑXI( *Q'w! }llV] 3Bv,{ ON@鸷Εo؟O`&٭ޯ]v¹j PU_Fqտ@|}C>$y,:rž$dyd/ }cջzY&Kգ9kOu9!aTFJ>*-B +hĬ_c2NW}Y"Z[l=/3&Q/v$YH8FoE]d[~i`:.ɀT.e"/^,XQ1k&PRW~ktө:I|Yر8Uq̭z ֠lD_Ҙ?OP '7gh&Q7Cwнc꿪;ϧR )a i:uyhu<E鐎{Pc|IB1~ d|G :FgvpsG#tnI&#a4t?9cl+zJ~]IGBvmƭq0zUWp0vlAwFd&83HD&%1{2Uo b\,TJm{rma??MU?yR5zg]U8l?6p#Vxʄs>pkJB_ⰉQ:jy_Qhp ˻$G A %-5m;{hW#՞6iV{p6\h͐3͉2?6~kQGӉIxHP59M%YElv<g\msa*Ebږ{me#&Й$ATmUоzxb&vVYM۾p9=J+Bz -6IM)f uX=E)E s ^;3-vH9ND!0P և2<1U uuzNMy@G?S]OiOM]qo{G1b M~Gfv21A dYOda'Xu&, g UJan]}j!y,wYsC93{w lDb&ZަJPVa[~r_ FGE)ojUq&bX}u5wK0{9|NS8 \9C>wʔ ! -׷ NHEqJ\k=ߟ Bm6Y,$SH_ENSDfzN1h' 8圛%@eb+]UpѨW7ZQ3:FHZ;2vJ?nxX2MeĨ-̑^팇"#>(<kM+P B|7V£|P{+U7q@:T3 ZE L&w T FSdeK(A7-ᘃZpm~+KNmżǜLJ@y` "_NS oVB<(<C}e(8[UqN:0ղmg&L]$~^uuyT}Y]Ƹ⇙LAƀA]@$ԟN<DŽ7gŒ > GC! f+*Jݒ UeA1'͢HQ f=b*:' .w>ki{~M ?'| E?o6Vs× xfgU#( DH5c2Lϻ Ąx|:K6cm5^mCFЉqg+ڝK%>|v".-ʦ V3IG%& f$QzIKxhdSҞ1TRO m7g:>+,-Ϲ9M^9z5&1Ej/I;LBy ?Hۯ|ltf0RȻvƔS^e ;aK9#ݹ{@A2'V&~Kw/ox0=H %W{CN,R`iĒbʿ@2%ț/msG=:ųj V#͑8oaL_1y,<\vm% ț;7ŗ. QkJ=u /- c4,ZW5JA [hEU~6UU.pO ޷whUE^4XE} /}")wZ_{ioY\}=E;x%tw`wQFM,Bٷ `y/IOX2T?p&o``Fa;6&;ZMΛc+|`sDueFǮrXGkdm3UMˡ72lMe^ۨt=>:JnMwmL?i}gSXd> \1mBD>}M7dr`ji,ÅR Q4߽r5pˑZXTl-L 2``*HGpRZ,.,K]&D؛#ǰ GH]ӳ*`ܶ27f7BJ4Nb$DT\;y [t l\MS6R(zqh_̋6Oq$ P#{IډxFܾF/4+s~Z`.1Eˑ^:wb˔ ɺ_{& *C*gлiu${7sDe*E)p`:$2ý8!gfS &PIσ_*K% @JT C1G6nu+/qp,Sث{GЭ>X1jr32Ǖ+0TW:)ǯS_ U*mFw@ 20xXkM H1--]Xĭڦ_oP\8$!iC.Ebe ҷuL}<J5I9R/Yt0"0d  t5L *9'!ɔq=& !IlgPˮޚ.NRe7 ~8niMgD)qk"LI{I&'_\sAMnɨ9ksAhMz RK; POXUEv UALoNg/V8 iq+̍qN 4H艬 MeUAcIMQte<|xTLvƧD.Ps7IBأAysv Kj2Cx3T |B)z`g'5і$&}c:w yaK ǫl\½ʙQ,6jzV'[~I}'E92!ޡ)kJymCn%D,ه#-,K,f9w.PZvݗ?tE5iP'Q$ik鍉^8$ʑ Xe/sl;z&}{u_ Wk\Tl.|cPڑʜ .+Ub.X6*^àÖZ#/z( Q6zXÝ_g|=fY# $2 }u,VoG<-y€Xq@; Q)4XUξiwUh hOs u;{2q@F@֫u W5ZoA.uyWzq%'b];TL =m y6n3jkA[lܒ!;X1mB^5XeukɌX9'CxY(6Ŵ}@þ2ާB?'1?nI" W1|R۽pn^*]::Uajh$})C' m%džLȚU{m'Uj>(Y*S -`5+ܡ\6#=o|P)M ^{i p'?S @o[p" K.dz?4w?ꮇxfғ;= E9Mɪc!@4.h.mz2iMJ eN[\4XbqkNz$X¯L?POP0{2MϪa=FZb!MD.``ݕWV׺Lxnc(GTmHКfDAQQfԾ…DJĩzdi1-I$B-%h;y)szہN w%C?@AOL!~ e$4]Z.y@E%qte]eSulK@e +\mcq0]&@U X;|w~4TU .6r##8 39NM2-Y9Kf\NI1u51M'0T1;` ĞDI0}#L&$6E\o2O7Be0wږװakTwj-{0WI7xb8c6QFE Ro,z2At__٠a0vvub+U.NubE)Ǘb,q[T1#ùd5Iu`4ʧg,Ç(v+ KH _##9R2V%^3&Ib[_@HT>9A&aΉp튊P*3H/DB{TX)X۰^G{D@0 a,7ˆ% `3IԴGC GPZrDJHL@(IRu$F+1ϲ䛩 tXžD?(~}N Mn*?l2Z@+x[&$ܦPJ AAa*.U #A@B=^4hkd'hg(('^݄4T?ؿp 相΂(CgWYoٙCt Clejwb#heSYʺ]2WV9a%Q~32jWG4T7|U /Ny"lS,EU8̡{,VtSqȳ}/V[Tk9U FK?} F ژ{zCߕ3jHaO&!ö 0?Uzx+Na ۹ mP?-~^6vpO)ks}EAؑ`5ctsYB }%D;k+q"m’ &^- xZ/ޒd 7qV{T0mŨ-IZiQ\%Nn'":*HHti 5>~M~pj4RZq)9CrQaFrL(]Q7ȍn;F6^gH_Z\' #ݢv5/KODVۈ3f{燏"quK*|oEfg PiYϗ̩SLc7-HBj4튥:Uq75uop02;⻾9/V`)䍍@,ݗe!%”;'h @Awl]& G~Xq '@8ߍ6cj"-]J _ Q><īV.2.DJ(H2[d%F WtfsUZ}΀"(;fl}M ix̢ 8t1W >3˞keĶPk :>?f BXiv"PPalN:k`-)@=_D1ol͗ԸnM"@Wmz=.sb4r'ޕUaϹ "gqܾ4%,&Hƕ[Kgt8lwAc.W=+VKj1'DL%g [ %:Խ8`UB8:Kei_Gl(#&\QE6]PMr8')i\tp}I#An蘳#EicҵRFZ*wxm]x P(?U7lC2l>O7. :<E/zgIzC9> *#f'pr ˓NS6euݧ~+k$8A|+v-ɍ|{ďjCWeII&z3{`ѳ94-m'OkEwo;C>ڜ`: @yƠL ?$foj׉3_78D&52!(AE OAGZ?H՟$mO 9p$v7; ot`=6 ƅ݉yr}O)GSg{@>/'Gj;O('%T5,*jKJ @ɎeC9j v AWç  2'#kZr9^$z7>?`ng\CPF Јss_\̰8C՝n$,jeǕe=%3y/Q,Q$0q#~ bc)@,-ᒁ6"xl& qWkc0YC/?ZؼCJµ$!M2,K|Q&(uv偰&4%#F<vJ,u`έ}RޏT_M@>0k0ARbwOg>(<:aN*]U6 d@}͵%aD$^5wlyj\;''߹t#0K.-$x}9pQgâK-PdNW5O8agiFzIvWń=Vk{rsoy:5PvMwû9JcܳGڥ=$G4vz2!DNRk=[5NU7KҎ9'RM*8}6H+7ppWIC;[`*'s |Ph}ATcÌx iWQWdd+Zl!dGI0/&fnrBQXOwi|xRbAM<J65Ii6zp-3-)!CM2%  u7ra6d1$0e屝V߸@^{vr+g=Q;IYH<LG0BLCQ#H:̖׬) n6fu޳zahVfN=d6T%8Ņ,>p [vĤ|:/azlxFHo)v! ~3 FO(y it AMh<8!]3wvNh0e.v@ؒ5hn m@"Q1=];Jd ?{='-Y_\sd˃60#]cjNۼW$F 5I<{03?G0E@qlLs*LiِXt2 D.y@.iJ̘ҋ_Y0N(q~f$cEV f"z~B9# gXXZnj YAaEC~Z S|Y|h 3e5j8b88Fk/O>fW|'^e]>.ؔpr9r |zu5E|eGrS\#lN`O+~X-Uzb@Vtztbg =l-0Vu҉d#p8^$)&k.'.Ԟg|HҢJfJ:RqŔl<$OA}\l{ UhFP>ۡ,$@h$UHHt7aw( e'䦑aM-CUZ`A&7#Fk$nƛ'WAwfCXi!BM?TxǺ ":(ƚuU_$DQ"!h]`T|A=F<*YNg +Or}+x"lqRцy{i-,p"ԟ4rC!wT9G(6f+: veK=PA&gDz(!0M dW8@z'K%@:]w @XNd(vjKeY|Sa&/ 9]OŐEcvɯmۛ_B$Tf[@h&NsԜR_l1(5ۉ.;Yxde諥.X/'g >wDSeepVchS(M$ [/[dznFJb_O_n(a".c"IԈeQX ^c ^X t> gtpxB;Lw!zrVKvDp¸Jfՙ 밉MPZ~ξe0M`qT=9{2YErnS5%^Cp`0/E+hi")eҾSh:eBKvGTծj|<'f98zoHH h> |ux俒ڈge- d(A^;~ ]}N|J/ҠrHrJ-!"`rs[d8?-Vp嚎SAE/.rJ͍PeZrA+wd 晊i.ۖѸ*B.ܔ%t׾ |9n]ww.)DPI߱.YT8_*a l{( 2٫|Y#8J|/|fdgWHSU^R"e/H 㐓M cjҜjp&d).:A/dk Yb{-@6hWp3s؋6fߺ$ܖ`X9뗏R&UC] T"Qk;.JeGJ#ɧ911.8ʐN␷(@2}P"tP<Ό[ӡ;kr'eеS6xN[Y^g!6m-_Oۜ0v|'nʣÆ+ }5m?Hwe:pl0> Gΐ۲O|[Jæq|(t⪊ ^4)+VmnNWWSXi.V 'ٟjDmQ&_QB%8uq&KlC!ݳ3\j=q)HT2iĈ3kL!NZ\Gzi>7FC!IS褌S|&^-ptLpeQr<e]9?"6XЅ(.WKWh,jJ`áARפ(F0kB~]Ԝ{,4O?¸+/hGke▙ra7o팃$Y2%X%v/;dLij({8X.prS{ӡCv|OD9ZQg`,4yC^PUj87ӡ4VƧ\=0xvJUdNr]պst%Ɨb<}4xF!hUP'CR e]wrhgz0b$-H"fp B"HCޛnWIC㻢%R䮂rDDfh?Tg6 }'^Ki5J%_ʰY닍!݋^%l#+h.&РwP]˴e}z{=p_ѵq 1N77L'`vq'u\gEĚW)DZx @vՐ[-k"tc\@LMĄ媝3iȣߘΊUvfH5bӤfDfTq(2zRܫ"!|A^ -xr&̔d⪫fUS,Kn9EN^+Cʨ}_3PEd~M'+FoH20hsJR( x6c7HGgN$qg SmM9~@ wK!}.|ZEpkqHt< 8 OCnsk_j9_U|ZdSމ?Jl,2d/Y|]` 2wl2#0fa}\f~<;#.uPꍐDbvFO'?}ŝΜyQT?U =.Ɯ)h#8%VK8[N);^SDS|F4j=l  zMFmq߮irZ>Mz+ZNIU{Y\rLS ;}6a]9oN}HoG&f01pԁTwTpp8Աҋ)ZQr#K-th<ݏNZ#.w BCd8vJHe@q-Z'*8&,g_iO#FD|Ʒ`Nq.1~{Rx`0vzz7$1^K2VG3Ad^I3~ <coMDOT[z ,gGUR`C}!}XkCA@8# 6De`=&ۦr'#10 As0)e;o?p`M:##wt\K6j}>`RDǻ[Og/w KygN-.n1)j!|_sX#zT]i3*?`TjbgÄcko}:5׭7 viq=\r._薠Ex(9Mg e{g#U^JQ,eOÔz]Et?ef%,Yp.GZ}kJ\0z0*ebJFgMGLP<˚CD9Iт 尪jY53/nB8Pe>p8ܸ1*wUg<0lɢqZi,oBn,u:N)} \ mͺffayv&!469~`uw qaPICjU8GݔjQȦh#6Pb7U: {uoC84ˍ-L"WW-viqpOTHChg?MlY)~\"a?:cM_ = .} } .[3T/P#-`-#T-tF'(;kHbFn^騂vː#W8Y xվ#kA⯗ԼՉeqeTBYwmdVPpZC61z? ދ1#sa,t4L5PֳD^*HOvP 5ֹ=%Y':e+ipOANuwA5[.rv|r58LD7PI]x0 >-Uw5 ĉ`Vԋ/h!xӞqud(W$7}׵|dMӇAr ;|j2d(dʹg\]Hv氕L=^ Iv\VR՘{r*`y-aD޷ G?Ʌ9#P9O o0 `?v̜:pKPAa"; P=AݑwTQlH 4uJpDPhu"IԔ<(fA&}_R_`> ycu s ҬƩU՞ZMSކKبJt.I&xŽzh֔*(XkyFRyúe4TR{6mLkvwn^RRȔ*a2ܾp6%ծ g$몯s$sN ܁Š"zn6DkYVծwH{_Luh]Ka4J{MݒTx |]y9Fgi*$ !u2q䓌yɂFXQJ[ m0U#"@*J~m=S9z5]+|E@)lZi^xZy (v&i54Uy6q,"b-1 A} 7xqI`Sދu` B-;,A4'JѤ,qK/۫^e:_@)4v`}pqez#YQm o|EsF0%S>4&s{Ű/ kBHe=0U \WǨPE0L)8,[ <8o(;"'p ^?4䈖p39OOZƯg礠r}]صa?K 2{W278 ,e$6FCf 헲 e6s|sî VeYDsXY!"\|yISog559%v=# pv48%ӔEa.*Zg7 4 [H$Ux>b,$=Ձ,M(-轄FWq^'p\ 5GPoxHS aʨYL}*5շ.GRzv8:VuYUbZ{[eJy} DL:Q^0ao`½zyBj;B-6s94 蒚oIbkcV_}}_PSd[ 6i#vD. ;#Ս({FE혴CkHѤ<̃I" 2yL^^LbAbPHпP3$7 pʹ`#·mX> wQwg P~sڹn܁QsQV3xBPBfJ=!a sM&iy *=qP!Pn:g.-?Ga v,RS {'aP(E`fE\6  ڬڭ_usLx{[ K+ŀk7HQ5Q}kty+ь/w@Lgd_] [ӗPM al\`㎝įQKȸV=f;,0b[F)A[~jMJ_`EɑDIww;&s3pX4k-u1dNڒp!F~m "I7!F@yKu^4hH~IFP3>{W( 1-3I2 {4l><&ZW5z%nÛ)Jq=>qOnap̊ցˑT}{D.Uzy4g*/Y¸]’Bn{S _+0<&|y`ɡe}p[n%"R['a?5wΗUq`HOhЭOS,Q ]P^n-Vl!/xFRti%B u{yK3w7DKa,t@N5zcf!yK-+ )>E 3h|?x=mEJح.uNh ɰoM,2cTF~J;$ dj.\,Ç/49HX*Yf3 t,+.J!.sr徵 t*QB%o4QX*CP!g8aTi`eB*:. ǿiSbbcC) \E/튡:7S-6Ia]H&h#$QF6Gß$f!i `;EPwg2K$Y)'2#s<`/۫!6;I@]sB3^5}X85p2qIlͤYժ7<qktLŨ\:%p#^O=αdp= uȜ$ϟ{ާ7`-M"*dI;]A]Tͽ||>NJwJi@_DiqŐI$ ] vCGpݻW BhU;B@1vTo7U<j-OyeiiZH-.`IK#˱Y$$aXcܧ!F|wxԱWOj6O>gLўezSN<ِ21偩H?``:|ks9jXTfhA8=TC_@L+i 7},rѽU"Q_7|8/qLXdv@2?X`{FevX3Rsf&M{h/WujΤ9ď\^B5^yx 35)R9p[[(=`ٖƆ M5j1)7Gʧe;6<j;k+(H x-V\D2ZTUwdŭpN_c`<@Dj"\ʲCTui|%)*oHh_p蓬,S00FbdhAOr-8]A[Wk$Q0Hj>PLb9o4U+mŶ5\jZ^* |tM# q:ઔSt+ !r'1+_2ȝW#u.< ,QaQCD*U >!^.QQ:7K .hhXo0JGOKY-K%g8vlDZ浰cTjSkp]5I_ HF3cnO(w 'FX1yR VS#fQO rܝ yڤA89SètBQ>iLNlQEJQ'!d:*%xH&r(2z#&b4K~VTm۠re\=9i| Lp-j1l*9 S!v؊n! x [9({Iٴͪ%eV &AD{M +1т{P馓^0Ɩ3!5iLLp%͈޸gL "o<3zʚ=7oQZUYn2<7:B{TJ̎2޹(FQ{M;'_iͮ@b7tԤLU'75<Э&[s!lNV8}O(|YzhS6r,xz3^=h &!$,@ |%~qm[␾1aHw=PTuX-}lş_[x=,r&˸AbN?&b}4N=ylkBN] fFF.f ͣ ""NUU~|^LgyZb*ޡ2;ѬvI'hf톫D ]329̨HUWS28*Z["]lń\ .e^78s-̧孕?gںE+hE 7nw1H@TRv-(ZJ PV>ӻ(w Y/aOu,K%q~˾mHH}o"xf׷EZp{(1>%еïu:j OK| y% OKS)qze|  s@6l{ iq%đÌ 38)%_R6u-۫J&7pE pc9k@TtyĤpA34ݬ3ZJ.eq s/$򱧒~яn&{09 [j/eްA:1Ytjk!Wg?rqGQNh_ۥZ-6|}[;5wպvt}S$u lT`*7ӣ*Xl}ƃuf8fM9zP] MU?" ZySsMu,ԱW$W*'?#Ȣgyp2Dы?uIPn^סK>UMgvmθňw^<'0u`& Y֣Ü YqtDQ7ZYS1Wa 6'g D,ZX& i~[&. !@U~u ֓|?@>cuMVnn^`cl[-9Ư1l$ͮ=aLޘr!uǐUˏ@tDh4EH&4 p]p6yeb]a3B2z!i Ix5zoN^*:)| 24umRA.=h[{pJ5q5mh1|ĖW`U/ՓeLGxoIR$4I0ER rjA)ӀZ$)"W](a{k88oul7D kVۤľ'~n(+=2~%?{g9m3V̏\Z;^_Wp;" ӕڞjS\!8TUy5p_j5HOO`М!&t i~\!oSMUJ3 Sڜ_PbkN5j ;SSēԌ6ΘzSUɥ3 `Љ{(-&m#k"N:;| ͉>XN|VtW\Bh!r|Uug"}eYYVdˀjYΏ^myj:<75bK mY,:DoWۆˍFfۮl54ڣ}~8׉47a` t4mg@@OIKӁD\%6*;zۍQ"/.3]'O b͠^TPM~Xކe9qEPbPQ `G(4(Mr ܳMow^%?zcŻ˞&t݉=k4W"K:] vCqj3fFY KrSlXOa>3ZUۆrQQ \U3{JeEa='?ܣ=i"vdnߔ oBrdi`,AyxAkE4\IY>Hϱ*{MW#}D=0 )v_z4)vK$ac0ox s걻T<hptWAҶǕEf!T6!Kڣa*oAnu݅ d58`BصYKL_IW52N ns,JJ>'Nh٭I]]Y;mk-Q KoCMcDLf-qmZ|Q6Gm0ĒDT/r>^9s:&,N̛>cg~=X F= NV5᝭"͔(.bx*ɺµsoG$oe;t] Qф}]YU?_ {/B>?D2mucTX،EȔtCGxͺ.tsJ_KBx%30O0d@M*9=X!bwWNT$h.GfڑT ,W5x=^>65 PEy7fDnйG&ApU}iav~4?j1b5յtX ꢐ G4t@IjeWα>Cs_r39|2U=x(+i889 >>A^頼Wjj]_v I-,Vᡝ$1J~\sϣIƝw~GxLBb-P{{JIj?Qo82.Jyb(wn)m4fp%DQ|$hdqzzu섑nmŤbOwa澲Nhn/^&% xsY7L)pBHmi ܝ3Pp]!XռRyo1ҽŷM*i$?kNw+Dsawkg6m#gvC!;p^oڊP&cSt5rP{WfT^+K02oHy'YW,_CIORO ZP07Dg^Gh"_)M*c1x<-f&hpO0wBtk@"C\@ FGw=˖.:X&`<P՟ 0$½:񽃉{K* ]^9SR!W>|cO X0=sZW1cF_ "gA>7hjYQnoLTEn 0Ү47pDŽV_R/6h~bM9Z E\}݀уƟV()R՛B2d7)m|iHhntY4͋OהMʃj2xO_cA6}(rji3X\#Ua"[DMrK.!#֗å x3swA0%MGSm!`V2Jzekl7m'`-.714Mk( (=[SP2n۽ 7kVy ]r9мzhr*)qe%z˘y;h· ݨ@Ɤ705!kgqxf'#꺫1<  "j?YhF"zWx3" GX[2zt*R>=?B8yx9;ZjƖ@[ĬX9̈́v"_ tXLbBx<礸-..#s.}eM t@Ѣg4_0_NhG0Wޑj܊8hIwSpNR¶=`Fi`$k K>|fՈDh7>ZD؄i,9P:҅?f7E֔a˭g`jM9ho5y><<6=x}pfDV4A"eqcϞGWpn##^^v6ܚ! 7q8G_b d w0w^y,8:Hb Oll5)uǪ?kK˾Hz:%1i|HGpayhhz37O#*t `F=uwԻcvWQ J4w@EgB[b89E\Zkt(E u0 qzD?|2gZ&IN* 2y+ ُ.Ѱ{Y("&3lA4JOUe8U/n<@7ZX8\4C"pxB9<bj稑 dC3duISK،OBHm[5 W፨b@r4#9$Sa%ufێ)(C@KR2Ӣ6q`6J4gΫ !dұ2l叚YǪ!Mя.5Dq_Ɛ*.ik nGX^ui\F_h NP"{9IoeMbqX !GEi_5 ]ȕ=JLo]Ygwyf\EA\#Hj m_zX!chSb",|a Ƣ6]!j{6$Eqc|/w{ܺ6 iKYk 3yrZGSP'KvR3xz>4ؼMr  8~. F uEE4~&k8u8dv0nب4b6?e.J#پjB]겣G6KXN!fw^Ʋ(#Xk@s:Q/A$F&@,VDÉW5veNBaOtOxܶohIܱN_>u ҌbWԀդct [|zk$@IaFbႮaw/6sǻ{|1 qH/5'T76a2ѯXh~a< ܩڊW,956%zqz%Feh9][@o/P #^\-V`[RQnA}I?g)Qeue,<%E`zIwt}ڲ-r2m y[IrnT$MBVdn> *[NM{u^5ǪZEͤF/XY#t\8ь!f?#+h=䙭&N2(g{}%H^+M%*!Z g7ΨV4c?=qm/|Q%xF^UA茀4|I(םǪMR%zԢp%_>dI?53.z \=_\N5-0ù+3=&6=9x w !>! Ic4̃C[a?դHm_Z `O@)a5 i/Kx8j /E,sd\Ip .~͚7"y-yPdiTzUm Xcld}e}Yv6XOL5#}C_zY39&v g-(+( AxYul*K?7s/zdoYޘj VH1Ϻee%elX-V"F\"4jW֟<[VjrM)Y*ILwhKnwb{RsIXGi9fr9u$6iŠ5}v N5ɽltƈ>/YgƓ!Vaji{)͋gq^s D+FUlF6<w2PoJTq Ѻ a ·>2.gf_Lm6DCAj @ >9ДB/uOv%~_FT $B.*4ʹ }e[Lc ^1~9}ѳ~OjR:VT| "$GW`);U1+n4ˀΦc*8${ޕimev|OthMrgk)_6rcP37H11p Kj:K[\&>k kA-F~ 2ѕ֡7KwOfէ8d!s!;hlWowˎi`[mo)n. C+ 9.yq:2&ϥ/7ab)qkMrzߚ pH_Wsh;=# /Ѕ[Tr0 als~ju%dLKع6 ariΰ*@f艔 ص WǙ/Ѵ~%TAW;ETJ\nM?ԭio$F Us Grr ئxH-3tVC-|~ԇ-[`!{ k SlADsY`H(UHi;-&%D)1LeG3v}ۑEvrQ$ҳo4HYtوJ{hfWCMl}Ňz'H m<8c-Y`Mnl,PkhnZ6il7z.UcȤy1¡ q16BW'[eєG~N4%H1P9,goOgS %[fJD/>0KL8R9GHgNIY3z[<5pfqخuOU#2z)ʭvO>(&/n5X{''Α7#rIM }htoD8-E߉HEL 4*ѱT.`m:/\Fq's&g1 0ix07U)-! ɩ{tŮ@A~4f4+% u%`"g߾EW- kkCu-*;GRz =(bHp4ՠ(=8B{j)DpqYN?fܶl_m,#Y]K8ǰ{\ Vc >0M'@w[vˡP'qM)X$n+r8kt?X/gYmJ ̥z|wxm? Z<Xy]%fkZDLgG@aI/7 Ů;?G.|]0z>Fhytzwssh8kk>crjS ؔY .xSg򸥖UTfPdY4$+"uRk:X]@z$U_c#+- F_p3SA1x_I-S 1c5#_$y25n8"V NجMϚ2v!qt6FzB. +AYX2#+ﳈj:%TFM+X ou1.j ؒB})d(lO;S#X$Qie%(8a +H%E[iI">ajLųn-(fo9X72ԭ-2~a$,T黝J!?\u3 jD(L-"W$e2C#sKxKL1dr5GLNٿC&2.&jj6]J=P5 jKTۓsj4?K/TbW ?|c:R-j1AQ;}qHuY@p?Q>pG6:Wͫ5JS}&q8*biSZbåz3_?<88ixTllm1aU;v zeS J+?ލR/63NlD;SlƖ#7Luڭ0É) d;[euԼ gd2i8q5ԡ3R3c>pO*Z B!Ip$:\Gh6`x_DF'y!I cwT~(G;_=5p &#&wOz*axWl`HmHƟ4eh1SIجB4ŀSNZ>J7C2Śad=T䞂j^oص$wRېG/(~hz^rͦ+ڳ ix?8m䢿Gc*wDQت8f*EULfc(fТr/:8Bgs<_n, .,.2$} ;wrptQA*ftP!}8 r`o(Ri' m=M Xa8"PS{}9Aq85Y(x‚7!?פU4zR7"u} 2c5#t;$:~1[sƣGo'M$;!,]3xNG;ӠBbP9JLg}4֫3ɂn4y^b5QIM!B?I a$X;4͎*~j v7lNuyoŒZAz[;z<,eK3%@7<}7u nOR4T>&%JY2Rzu[GTL˖۟saB %rkcHI8[Ѳ[݌`eo6 mi*MDI$4B4O#Pg8c>+А[l"R4h]z ԍ۹Fzrik[ tK {/hw{.R h<4 PϊTº!τeJGkQ0hǨ@NxG`y%j;.TT߮l'\I$,A}3/q4 Tܡ0'c1Np,52]hu}mזb|YwB9}فɼD=!!l(fg@Z6g.색{Sԗyp\u8L*./_? "m,se]XbK9oT/ ßn`V YTDf~Xz{9to0QKR29dXPj?xĎlkyXx:xc0 k{`tđoKo1ϩ.cbi|C%`Ѯ-UXO] dT?Ĵ $ _pA!kq^UI(Gڍ)ǟMB֡v▰tifp2b5i1Rz8"aHAY{`x,cѶLpf S"O4D4p뛦(M(CQU'^CX]YC<$!/,Cl06 e=| L<㭐Q$*h~1L똼D]"fרh#b)tN]jְ0]q,jO'sѣշ^dti87R8QCcyp̾V :Vߠ/$u#ή%>M\*}͢:alD i 0'A:^b۔Wʠo >n+&,I-?w2$͏GYޔxpj?s[kGTLD$Xx,=+tjm3{A>vb#RjCm 9Ceҹ~⾨1Zs!G tk\VT#8[w|d̨l2_:lWRK!`{EPi%gvС&jY ޛ*J8|W_+v }:4*$(mIQV4_Õ'` T4ҨQ X+s~5uu@j:Lz$wDksG&qAb (.LTqEBzްܫ^2,3 m:\EFPm.Gz} ě;ZS^=oV)2B=aT)_E.V`6פar*֔? lu"h"ggT)fߎg1_A& +ְ!/Oɵp(QOjz+,`A,?{^g:Q*ͮ\ן'X9ۿy.8C1ѫ F#0x,ۑԀ>qERq./g"ݤRsNI@ dn"P~咕hRRfD .mVv'1` v͜4aU&2!V"^\|'lA|iZ>ϖ,Xg؆G']Z*k~¸pI,sz@tL݂Q½,7+C'& u8"p]gH[ZG;{`KJࢧk(W:v.E&m 5QϣUW" aSoΩ4|}yBEVxS x8ϾP 1JQ,Ckw}z,`޼Z!wNA43NH{I:$xbdvXv 16SA<,3{4MNNMꮬ"k|0(hwљxG2-hTqRT{⹚.sbLdBuՆ!`ag 8&s0B@w=n>}m0$zJ - }C9x,rb|Ɍ:nhBK8|T:aE1p䏉ceo E^ u~& 0#Ju<1fI0Ō!ջdc;lF!'QElwx.½~u4<^%Fwee> M-~3 <&x{tSV> `Z~Ĩr0>gbRZ fu TVvjt/dTr4E砻Lo sC]LjdV f~!e,}J26$$AS@0i^w"{w|zU v|!|*-99VSţhG_1}a8[{k.8RL2a YD'r P٥a (n}WB껎FQtMa!;jG|G֣dυ{%7Ҹ>A3^\Odl THy }$SeJy$Vwj vgnjuRn\Q!8uVG|7ܣnQ(~$f47蒵gSRQ^,EYhl@/Go|%?IUj_:vr%jr\Pr#rc2ER /,FscsBƊb7I>oOi*sj᫯14=`-33]Aq'z{r!^U Um E67yN~.~Enk %pQkO%l \/Khª>pծ[OAKSezS(}Ut)xw[cw\9~r]6.@(;%V1@,'poaP OR|$3;/a^D%|ˍrX :·#׃*n΋-Ab0&` 2çOsG W?{3/}L4bgdwt?s(s'@#gt>]mh=gC޼#]8c>]@|jج 4Bݹ$S=sLc83N6; M}}|("EWW+,21.5%IJkxd"] kK^E@1gGnj3+U'Հnc:HWrVכ#[x|Қx%Yc+lz}p-@yԹV=l eAc q>:>sۆJ 3srr}i(lt l)UN}ΫZ8s$.? {:QM1ɱףГfO,2~Zå%bQTx%W׵EMo?S:#5dhz i/ c{lKBg rX񂤅ؼ;rρ߼V9=-'Χ >P@8OX2_ԩu6c0u ?MOx~_zށb[-EV0oQ:3m^9հX4`?F%a?.K 4Qņ{9o{JM|g!} Bn-boCeؗZ`ptʄE[~Qgw߄VzR=)"'}:6 3AWRDtE ˰cC8Heա<6'zEd=BG|6^ y?9W v^fk!^(W*wOޟfS߳e6l > emZhB20YVpd禠&Ji"mbR;KhE%}eN *?SSS#R%_F9.V$Z7ʳa\Ax Й[BwCɞ 0SMmָvM* nt%;2ɀ삧]P}cu%@T0n)*aYr@ΟXքC>6x9J8~ 1O_-' mDEBG[Ɗ@mqr̻$yX4?t^SFR@{ y]r(e~:=; z_ʉ¤)xo( ,s'S?%&UwH>3$'> !!IvY72+_OVx&jM*!@Aף+< Hf(.92[?wA`q`ecnGLB5.O8 }8 3 PVx$%T5BK̯&ϴe# -{Ȣ= =ICΪ- g۩vb8q)EA}QtOva>Q2:c9Ӕ4e7ZXX,Ffj#JZ. $v,I9"o-9/z1uk`R~a/:q+>T+U8c6FhE&fਢ-Ob4 7 <pvu7}ֈ XEBUOriZUT>*=ٷںU JWd}BkVۼ>kB,Y!}' l@@w-ג ZZ ٔ\TqMqr_$s6p\MP-j {|^R=$p]R`8Ȓc ܫO"BC-ƙ|Kyԃn\dF5q&+J47 i1FNa[X­P4i kW۶U!XXE;]VEN2Po4 TK5eFE+9o/.@e dU}4qҥҶn̅xU=&i**̎qٹVGlZvwݜD1A_iN̜Z8GdԶ=cA`*Γ5#=^ ЩZP~6H"c i[>rڨoj RcOEk9I)>`ЉOUd"hJc"37ᯨ.hnӫ0{V 0#nѢ,ȣ%rBf!:룧#㩈We.H}䩵b\PJ Aj~vi Ջ\c"E%_T5vO]u̓PZ*@@l[z{{v8! 1!6 r^`UZk *ZpVhһlRmn@kl$zRUkKg"raXNT,R;4Y[c0~p ~q]ޠz`VQt,Z)`ܵs CA1acnN`I @63fuQE 8&&%8!h:'Nƺ"Pg܁#8Mt _鲸(?eI .xZ[(U2ZJ]fh]۵,gc/ʏb K b)^r[u+ݫ)D/&&=w/&UJ)*)O Vb+HɿnqM&GLTo*p+l'!Mk178S?G۞@k%kz1T*fgjӕt[ʌAIW؛YK %EOBS-P T[χSPnwI8(\+=s4o8O)Hc H#=f }Ps)8htгpȎ 2$8K\P;xHl)*'@{ b #]O CO>;I` ^Da7ӹEٜ[㛁N{!zJ =@,vh^OKГ)P޼x4“[NZл%S]@mzb6@D(  $_@y!@;d4ZYR{OΊ$_=V1==шc/2]['|,x#,Glo.KnlM($ig[XVa]6#T["an0-7<ӿì>`xZf!ԮqP w ;RUY 6UP:-֛}nt٩dа(K%`s~\#IBf'*cF2q8a#I2B8g1 ǕO[SдV{VޑG6[`JmG5¦oQSzZgOݺpm+.|߭C|ڕ;o% CC0`@~ğSL uI"inBdi8 MĻ\ZmaR9@:Jv&9^9,dnl!쩂`zYU gtSJ$t\3LP,H ZBMWԃ搒0v>SyB]W ϛ8.̵a#αQuy#yޕ1U,8m<0lQ4*'RŠ:UG7J⯝b("ضp\ՒV@ht2TK>{# FCf6e>q:> B6  F$t4ٕ,Z!GM+zs$z ΞI!hmKO ѰvБ3>2V;,|I+_3_쿿F_e d-[ N|Ю>C IH-q0á IМmK HAҥ*(C_ EѐۡqXd_q7ls@~}BndK+XY>?O+8{~_*lܽ,k{= ]jPv;8ij>fJ񊥗ϊWy޽!ٺo z 8=+6TN"U}-W?9]ZLߩֱR5][ܪ }K '? ۶5S1KbH3 8V$HݞQbs&FVi7AiabzH:ն_u ^qM^15]E/s䇨G7Zg.SO bњn,P2$=,8<0YSHҴ׫ o>*Ilӧgփ`DHjqkG/b\OJ2ԠTCڃ1Sm_ԝHr_jX]?V谑J8mu׹S7=dgd.d?vZ-P!>Dݷ!B6:d #˅@mTPۥB8lH7VN .͜mAxLBZ >"W}#txɂ/N0jwnK 7d^֦!gBKʍ=|v+SSN8˵`&JtMM?JpQO7;k-4덩 $ʘ S=gqP.b Ym``{6]"uo[(H ^-#U ^J2сf)6MCm4Cs -E+3"LV$ "i帴Ep)%={C~>-"kŦ2ITvwxBq3A&"k鎙8u ܜˣOoc%[8wʱ$.GAæ+~c^3"K29_סj-p+V6I0i8vWoQBJ i} ~p>KYh+|"wk"Q]^KƌQ*Ko;T[ h3:N:x$4ougj}. thw>y/%]ҨV J^ k=rXw[>,܏ISRFBphq 6*7͚ 2h#-;JRJr&$5dGvGԟGܺVR:_ڭīcw=J_hMn b<2tϖ/~τSU(ɻh[7 a^ u wyR}n,%<:UTi.d&=pL0&oFihr;w_Sfף:3!1KH^ЗlV\N!wU㌝SUf,@\i[`S6 ^_T!idYDrֻw`!?JepNi;Y9;!rs=]E%X5o r yZe(Y4+:2%5Zՙ /VŖ.J ;G{je%rmm"o ^swbAoZD{7P: "ݲ73=#ʁjIll%E0nZO:IqX\e34XvM1hrHD7V/ ›\Ku]6ɸW'^<)B&mGWu/ht3,cuWírMZ1}({ԥ]H;MHϨA%ZA6 aKq:eǢFd>{NZV3FIpŪ`mUa~M;ڟ`ȊZpsG~3Vݓn:*Ȫg^8%yTZB+ 3g w4%=+W%FJ/6UJwƑ3,uD!癸%.r.EYr/$dYZ%`Qs^Lޫs0 |FuFh'3r_}/ak5}]rphgwO2R)įcBW{uC4q>|&DR9ȝ΋F[]yNm2DxƯ";4wup=' ku4Eln3x從KjD:IVkj#ML,>ٟ؂UƚEn,"NupUfґ#ŐU}Ǻυ.5O{߻tfZj'xj&gL$׶"S@[yN7 .b. Wچ=s:K ӃB] g5*Uc8 ]w]fr' Dalcn5@Z|*:>~٬5 nLF)8]}dnyzQ%^hIVpkάL-Lܞ? Ć"w{~Z ˔S4J’"^eͅc@&3p@Lgi &6)꤬Uqf 1e^) 1Ol_: "& Vhѹ]|!Ԥ@<X[wg75wP!gPel5lcK}C>| 1dz6k^Ɯ9|htK LVb1v&ɬ}QG2ǨhY?gmPZ 5 B*"䳗c,tz_dp>/-tM>K+MJ DT!bw*!%~*7ŪhH>o{sGHy*S|8vo} jDw!JθJF8WΎYȣ8q.z ;PĆC;OPy(R* LTuluAGQC?| Zhx[~2yNGJ>bnj}qk:6R5 n^zzi^=y6\"j Pef7KZFs~tS4ސ #e KBga 3ooZ}]kم =ޛDR5Ė1l՝FpǬV b=lLu/ZY9 7Y[jQnI1w v) a.;c! JK?Ȣ?H2@> `k8hRjbǜ yvM+tyaSC2`405&?LؔUy=>5>{RW! dqݾJ2!D-īha(b6P2,3φ ^޽MY04q׷k~GspYf;i:"2IO8:E+fc\O_Țdh~dԋG("l v+@Wub>-!#ZӒh\=rl9"FЃݏu).Ew@HX3IUG'38Rˠ=0?-1˼U}ϳl\sa=!"ŝN N 8႔yXnHI \2H25-"m(e~IoNW70\Z v su߽vRȍqWf3[.WܸeݷZOJOV>)oAe)Ogw=aKJJwO@ӰL_5 \ޭ%XFmwl¤+%hT{,}y9TKGq jaG laZ sPhTd3&@`f)3E=^"D8uQ4R#mb牒-50nC0OC#vMt]]4Yᓱ-]:;򄬐5=areM'=K::6IjIיB_Z*V)aMs"bs:a'Oְ5mך24zA\gq<}?> %N!bxO*9*l!!GV]6Z>ruZ@r.#6l⚰s?@ 9vRS6V:$hjAHG\\ت6 %e(~:MMΟGÈNo;lրdF0k1/& bc-{ WE&\@W:px)rs53vX8? !;j̃kS]A?r" x lw-̌ xB@A(7lfXˤ]g,x+i}do,Cўb2aVs-֗d=O:=haG$?'SMxnNR9HNՏ\V7my8Gz [5Ӛ#4cd2%z\INidt3+J#!v dz1|= ? /|MJǐ8ꔩ|:{@ЋZl :ύR Ow ֨r߾֘퓓B8lHavłxP3 < ,$A]r}kcI EjcqT8; O\Pi2k n+]UWh ?eIG ӦN|2~$LcEŀsO/BA22FkbbONN yC.ä Eq)~yiT? d ԇMq|Yz^U' SH̨?~ѭO&!ݼMDR$ zosOź,[\0WfnԍxFX)8#u6W= ɦ%^gH&vk tK ZXqv(݅kEr%R5^P~'㝣Z. ~($o~7X/RJ/,VT 88\i a &mrnz @CB)"z.f25Kgn!]|E|c+~+?5!Di \ʫsPš:Ҳ[&Qo7UKWH:ֳ)T(X WDRIgH Ae#"iws(X]\)x*l* C%bKhsIR NؠT WP\ȯ1$ԅ#]|ҊEsr5 6jȯtaPzAypL/K@ZcnUB` zrʘ+GkB;0as뎝wOuى=YXҚ4﫻> ;KI'K1#Zwt\׹axڣ \6 =/gA&0q&۞ZC[Fd!ÿpqfToA bZ\OB?jn}IHS~o4hнKj9H|eƴ?mL܈ڕSWmWL=2>ezޛ7g)qĞE$*rrJf# DzkӰ dlE{ZgdL0>NyoI?}$:+FשwQM†z.I>OAqJ8>[G eUhQծLL#qAQgh<%ь]"E=xqs͇ZqR +] v:2qZXoظ%C&k[M,U&IZZe$Њ{=`@yLxP䆆Bf~׶bDQ gs̾m'^2ϊ-P1ʉ.| LLBkf{_jm]TaU<(!`Md#GViʪ- 'j=gH߶0<6U)EZEFrn+? Fp-ÿ4nUU}6q~UkWݺC?ӈt1]M{UGL"Եi<w>C.-%ק(]zyQ\z%NX$?"y*+]vvvŦc_9ٸb$KBIr_ca$)'swY\pz$w7H7 Lܫ{rƸL㴟CMc_,SI^rb%biz}Nv;JH.뻙MtsnAgړ2S1z,'鳸ne;'T YCQہS` o P<88#.ZI_ \?"aFSl~s42l`! !{1Oj艬QIφQ" XnN\A%Gl"1_DT$Q#9gsP>,®4yKlf؝MIX4ihcYup 7dQs{阮HP겧b"M|n5+r]a:?<aAH?PU>01~FQ(?O@b xM<5S(>7?hbUm\msr,LECe4io|9FƩ 3Z_ ,\#׾=J[Ez5ٯ<_arfT+U=GȒ3qzS[Q (isn]fֈl ю(Zu<2+$]Kڟo5˘=i *< ,Hm!e(-b|#&ጫ &kEBX(cB=ף [s^A+l\7܍ZY%fgZ/831*CO#)vt(Y1\3?3/ׄuogM 25z*o7pTK)"u߿Y'L?MW]u]Q| w^X,:i(BC":d?:mڤ6>tp& %m+U`Urk$IsuZt_{NLGHnoM"j E"̀E֝5e#iPa-a |nK#jߠg{Zn7݌m6GMY%U$)kږ>6JX6vlT}f^[@rԊC 2} t3{p\^SuMgzC, 0/yrޅx K)ĎB^^SESkѡtk I.T+Vg7yټsm{+6bB|&/,`_tc6?*-]u^Y-Cf^>):zĒ$wx)vfh7XCF,*'peK cD|&ꀯ8R{ ) <҄&W'b OaպB=8ԛǿuo]EΣjeXNi"dһw4#\wɃdfHgaz|O3`LKW)3iv355Oܡv;)iiK <2a`Q_׏mJ8%U3 .塗NITw4eȘ{*x\^ J'+u.v$79F^bH]MD,G_} 5;,SNʞd@ch3w&*|/_meI|˷p9M4kOj%Ciþ=*:P?Kv~[%R>L?DDۗG;߬l/7(ƅڕa'ΉW 4,I#AH7ܒNUXM1]EԟwԘC&gK7$(aW2uCx0)q^y9ϗkݬzQg3=}3Ӌ5T=(R=Qq yvK5=0&g:t߮NkJ]܅T2+ zzMX=&M#D>\*n`F`_P+>z%GϿ"@@GI>L 8߄r`N1mi9Lc tLg, uB _<*RZx!oܯX(a^-IB mPƞuМ@KxE/f.HFbID2 -xx7?)}Pw=6{lcb\g$mĵ@_ .}e~xMUJRγ8:]sr7GudLyg_fzUV<%EH$Eږ ܭP#oH/T 9=3)ȹ Dd$9ْ~p8N"T01o^P ҄$g8`;")ՀKN_-g-!K'ҲO?TH_E_Ԡ{n--yt9 "%>PT,*cʑDihpFMIXܟu+G&*?̎s\na](_f11\x :5,}'d߈?k44 9%d@c_~bFe+W. ϐt:JcNV:{A=Xs7 .em}C=uB볯؀ݜIGGkGLMF93ywј?EN X=;.^lDj.4ML_rALTkz&gG^Ķa`EIXEG b̠nb ad)?>԰m%X4"tmm b;8ΐ&AGρ ?P<=<dIZ܂kz1"5s27&RMr+Z~RX՟lKh՗tU[?1?j]>Ƒ@y09z˪bJ㠎 \ܱKy"ZV5.?t"^~*8G<<- ?фtx%rdjEg7$ oiC+ d\_Ď*hMul|=[kZ"^>5?Ƒmq7ӨӋP:򬝡X>̨C+lR;<3(!lr~,Eúֈ{-{tx }e7:9B7wL.鑈}Ak̀ X1a ^,"j(1n$|ސeOu5en9K2U4KU@PQu32ny MgPzZ>M]ۇ N)i{&Vi W?}\8"Z K w_cpCNCZ@ѿКw~ sRhzwůT Շh̊p" r|fş]Usy#@~4#b44Uq 㠮рm$ -c p0Pu8:Z)s( id]COV7sXE6lc689KH9cbճ g9WyVKקU!%RJu{,f_8D *8ׯ;Ϛ\9hkBؿMrh kƯbQۈ:c\Mf䜦9x$ӧ,Tpdg ,U| ځ}/GdjY 3ySv;JbIݣ%/[k6 <2(Voj H~;Je:~sO"DUP΋Z+#L\Ǒd^ qi#Е"MLbѲvپ:PfF\Pqp!%dj'Qϲ,d!\~n6rR5 4Ug@a6Lg!l-]N_yL!x$:k?œ^j+>̒\CPh|vYXLB/s 3\+K ߭kvn9F:M2&AbkOn|=d;jAQ9j 0--H?zHk<{WڋUi̾-\1 ayGX @(#sjS/'OH[ߜl۠*h3VySJhL=h_:IO5 :1`h'ݽ"nVƽpw̙B+; svu fƔmz1zҕhh_Z_ܿ*="|S`  (+e9uhä*p~/CcCO@Oɟ::I+Fh**wȴdv{BVg}څ%Qbh?t͜3;eYgmL'/w٢pbHeenCͬI'Kp߳vOМHO&gjBʳ[˙MRy읹y"Uh ݱOʐTʜ.BDJc)u0g1#F(e}]x5/ip#\pMqd`Bި97;+hѕU7.wzdLma~z؆&V_ z5zdcgk >:Sh}:μLUWmA M$j]@n_ZL: }(o:{ c(ٹ&"bEФNudLOuc"GͩZ{U"zg@xZ" Z @"QctSS3.fОz,_,H$p۳2'.:;l^-1vI_pcə6u[L`(* )މ z bzB̨>UR܀HzZl<{%*x/ kAh`E8LY)[+jara]%v D7 n'ئ൤Bz[$'9v|){7_RbhX'ܰwɩb>'0i 6(n6u5؅uF5`o5L2?H9@>T>>8@H]vȱ"DM7z^H#!&[K3{EO}. ^ /_+.H *fl$.kU$VYJ'u-%F׭%CV䌓:8;j 82]IaFvE7۵t=oMC "Ҧ!&\k~YmBytve{fNH8K S")C˓89; Z(프Dk`: FƷDw5"L|@V!\|H ThkOU98B%P! 4ZlySZ|ͳWW++hۚ7H_6Y&7AnWB>=Sy*kqq: }1׻lwJn{L ?Y_зe-# !X.$5>ʒFN/@ȹjʛф %CThN6I Np&5y #o0kSf[9}ݜ灊vlCBM)?Tad=y|\єnE򾙇َ @I. Ѳo讌k̏:*'"3Csh Wm-,mf .lCX"[VV+ۋQsQ{"L{8N:7yɆbjU({rBR> .a¬o)HX;G5%W7",j\،'[̢+B"!w@G:jP%`zp@N+ynw8b=cTLxNkTv}aҾҷJ{GnL[eMkd8' _ځ9"=9~ f,M)I(?Tq1Ӫvb?b\5"&sEŁc$$<@ iRcuKn@ *)CPpiQs&ZL YxVf> bTġx8.QKNMWs=RESw&:NcxGr5m=wYA>"$gE4E[M\s/:߅>n#VWkǍ$aa2#u=k"16,r~Qi8򭎎([e3 6ią>|K4pAt^ZYSR8@7~n?%VuFvt#'k**0$*vi`pl^++w;m_ĝx KRGvtA.2k^\ *$W?s8)ձr.VFY$pT?2^Nu8*Yឣ+m$b0)?t!2H#ɓ$M|IUL?f$/ @}\0AƸ|#Y}1NQ\zOATnHWVf~Qqe]Tv]lscWPS{ Ar݆dUl>/)q^Ns7ݙw_gC|Q׼ iGt{״V\?bj :fnVS06Yg"Qۛi##v XӸ ʨP0bPE9]Wg V )1 \qCꁐ1=Wb0vc{HBwVx ȿN O^ם㌈1KUP.E6e\2^rbD{L(Do Ne1"s.9Jtxh̭NወF϶t\}رRt]\KAI~@2PTRcI- hS^f{cf`^q713`R@O{]<~9%}FyGZfY-0",.cpFu\[5UhDX]w^ߘkS<$G\cs, S(5svN^YI?+l:2DX+4*Aku) N$o?E 'ɔq܉PπMqP u8)DT&'IzW]_@9V$Q" wW_b5>A>qµZAs#l̵`W Ѱ4 Ԩ1N2̌Ruӥl-%xL w}0qHhZAs),p%:H6' 4̠ۢ/l@pbVE&jL~p \C:4$8 !:nG=*6&M9$ʓǦ:vEz@Z}=f$\ԊĈ`y&8 ly\D S}ԕ]z&Yq(-go=V,x)Wk q9e</>0)fOãJj&ŢO|"n|*A6~E;;_ vC辌) ( B<oށe[IXזEdϠxqD;9v6̗i\hGX Ckk9t&P<zH#ז>('jt7`C&($ZC ,%B{ z#w!@|=/ւqmQ רQ:|N̓q!"4)E2ʀVF vf,# fDf0۳?Z5܄U]LE {xG`Dp jHFm .L#Rnf /KIW=LL;K])GB|H(J`ui#@OQN@7&BDζ]m=:7!mAS"f{lT4nsZq=\P5fϾZbf!S:,!ֿINrk$r!3f.VF\J{KGBBMb oѩ!ل\MƟ*|RQ̗ҭk}*QJ1DLo1.m"$`g$5HXL0%ߖz'OrL-.U6PaY7O$ fy<Ϛ溅O#k텭"! ?|; wy6ϿS,:Cͬ8."- S )ǜYű{`f7.s1C!>RقO{˷X#>e tɍu;)em.k ||&DՑ]T<Sn`"}4) *&;ƪ" tx`E04|eB}SQNՊp펇uis5{4yCX"Ȉ67/Ջ RwX"1_Q`Ї҃޻QUD6\!BUoN_تݓœ* X$PdlUWhzTe\FϨ}rRw\؛Y9R_ᙴYtf0m\7`4_RlG _BߥjY5/m9F42_: SLj˰ 1*g1g3u.$Gaw0P?ZuG+^nZؼRqKbWvW J Js8+Cu"B`Gu&*{ra֠;}2!BzGI3r`S n{)g3aM| 2=E\VT)P${k}|RouW$۳հݗ5]~ޯTh5)Y֮w4sľRiDsQ0}jTNZv4u- "QGiߒ'i D0**Y_>XED7s>ȿ;y1[!;0e 7.撻(WHSvGtmLj[ %'Jeᾪ.ݴ-3]&]aa=Dhݟh%NO(P5T;vQ2FbCkt>t:&y%ɕA[46 uw0)E%WT#N#^gL)') ܒ7k/p>vD b*6g+|~~?9ph{ҒTw1~Z"2Ox PO93 )iStg(5dӝBLn _k!wK-;=!R":VڂNm}҄:JܡL4.D*&##a2]t 5C״`êj÷;[L^ňSȨ_:/dPP^ naV1:8DkRX>WX#2Vygi;o#[hz3bb#k2UzZԏGfHh>_6*K6$1D:2$nddB c덱9 RyPj &T[`qR9-b$chs~TVu ^7x%gA|ӗ2ΆXFjH/Tpw:fxz;\;GI:5aˢU*2$N2˂NPUB: ZΟP*{ĨYZ0Uzڶ699Qb"f#()eUUHRa  D@#R*޹,0A#r,:<̅'WBrEVtD/.wkݍU2Ap=9Jgzm\v9+4!XT8c3ٲ4爇Mש–+Hz sn24>r*J8sO**ـ1Sf\q -G:g`JiQgmΤ3`*XL%Ue 6C2E6˟V2P@Po^(1!)L壒^w/B0B~=w{Rf6@jFx|lOCJ\ϚeB<+^`#6}E`P?-->PDE(N_G B6f-pFR2/,'=*ۏZ"ߤ#-q2ݩ,^m.`&p0_[)hfqjt02E<߬XϺڥ$n%U%6 5Vbc ]C1-B<H_DgQm?=ڍ}Aܰ!&Kz*!wn Vg@]}XXJn?GOrp]L.tAIo;*T:p(Bԗ@gpd">>WP&SaIhfk>l]Hw Q%1@m0?׻SM):UW+P`Nћ&P!l- n qha8~^ >C[uRC̆yXGs;iX%Gg/ηefx3HhP]Jɀ|>w_c@󘍏U<: RH(D} Tݎl`Z`Tن?͆E{it=UY|IVvJ5IjW6/Y"nf9%Sg ћؽ(yF7 #jC!\Um2?,+%S 6 NTGR8H߈6z^Dw꼎] _}c B$PdVs S~)$Yi;}xng zI !Je:[ueJXǪA8ssE䬆^^@;ƲR%1eu2y"m@ÑNO9!ΒKFj( w;$;MD  D"_ k8D# v_ӲBB eϺJuaHzb#rL@DÛO:J) ,l2ɩ6]X,|D~8*(JS&q4ї]fhNVN*+ycK*( ٶG 'ޙ~GFAX\{X&y}Jfa)/=1r_E~%eXE-&u%CxdcAۈǢl|uީYUSm'iPw]M5Ŭ)(o|m_FTUcKOH=B$3/2A:Os vW5ps ZOL329 LZz*z|ͭ 9z -ӕ}Tj螊 (STgms/c GSԴr#ȶ#ǃl],n.tzɎ݃B>YF'hݘ`W kTC\T5٩e D*^5BI2DU5~2 Bjk?权 [<[>ΨN46\zƥpYmFSmUʟec@̲Ƚ{57nn,7&i s[pNWed( L< izu\!DS e L%_cV+5?uIRvEO♣ (+X.4|f~BX+hiZ! CgzwO>4FxFxOIe蚐29_$n_/wɥD0C!_wJ8C%IL J=To:`wQf⭸sHoWb5} |b* Y.ݳp`uLML1)'!$G,sjvoZÕM5?6%;mBo*'*!DS 9;;ZʏA쫤G1j@Ew8שkwH w>]BSw |D汮oriJUH&DmZm`1F=49,Qx(9F1[o#O(F'P,&9ykKEEKg1O40AeiVKZhYFG=5j-!'F]&d'cašR V.$)} UURȼq-,~[S?߈v04YK5 uE3# Msܥ5+dE5gy.F|wg)X qIʧTnq1{6 3e8,cS46.2^~V٪8ɊRP4y=- ҙ(gr=k9SLDeqv%W.¥aFsJ6t^9+P'z"bn-2(.9w |9JݙQqiXӵ]\Uo,6F_mܿ\|O#!,i+2jpox3!gd I&w-:p_'cB&Hzaڰ6NWqR^~fAьh1oJ[L.SxPš(l;MCV j(mqc[:L@ ÈJc{ ,Iy@^qŜɾrhw{|!K, X+Z5oS~I7YXOXE<=K4mLT*"BcKApmD1>vpJI*+K>PEeAg$Ez+ҥO~wc@Vt?`)уK6 V1~Vq~Rt\]u6WK0JeKe^/tSjh̓2 ?}V Z$-r;#Sx e14sk&Zc+7IZN'f.d)ck&n{:&5_Zij#n&ՁNon d^dJI @N` jS%LxH^jstzƢlS9t&&L,+PŴ[r.<@Y#T+0%1'ۋ*R^;?5l9aC#ߌ[ݱΨhٙ@):Wzj.=kv?/7/n|픞ui?lCQ+wtڹBȇ$W63Oϣ'@LJ(#5/݆)˾c7K}5A.TejK|6xn&y#Co -9,8pկR6Z^0?ibOƊ&;>(in. >ϛ5%N/WRtaoGO^Gu#_A,AFM*>-f[hl\ 2\~ *@NR9) }Af$ɮ+/i\撐m(3{0<ȚS6g{{)?rs}f*i%J| ٙ{w9 ϻQo9$qYtIrR@E?ט^ }-k5 ffPv]MYBv#|Bo,")v+QjDXSS楹or_*d*tmrכdF=kƠ9` F"4{Jq^n%D9񙬩kF'̑Wc&fj2 vJ֭asV3[rH6L‰"[sҸ^=ɍɐUVl~W}(vB)u[SO&3v)ҎM'DtqQmi^n9_[ z7mLXs`BЍDEA^ Drt̓4zc3cq= 1Vo.ҭsehzMP.ʅƮgcrPQRrŊpl4FBZw+V|wPJ+Qf D9LQz Fړ9»9O]/`opTR^r6˫23I~"|,g(yLjyӔ_}#>|BC!Q5Lpoy˪FP@[qҩG94|Vg׍SĭYc,@O^:i hG]A)c1gaRіNBlL>ОBw+zM?^nY$N_Kѿ} ]J.GY1ɍ-f ǎƲw `H#ݧ*a|f.# "?UUt~Kp*f&yB^3P_tn̏ i#ݶ,ve+ޣyq@RhOpS첣K?Kcs{YGl!,5 aB"'M[%woQ) L~ۈ 9/&n~$4Ʋ\N`،B{7ÖGh=~U@t C/%>zX:M_!MmaciF׬ױ:Lm?@ԿJuaL}4|plЧY ?3%ĖpLqńm7 K}3=bwrCOI00u_{3O @Fɿ̢:YK0x^@l|3 vȟUѹV_0|e1&ٛ,\|JM7b,RYunt#&(hچ3 ¹aɤz h:+(MF2( )hK200p%d߆L T9e$O|zy*RRP87z/zT_eH)0cz2kUr$^9Dj`ȁnC?f xYVA"5u4MP>(^7ھ[t,.!RSQ4H`ߛ;2%n\QWgbFs:ig>MbT8lOL;hfθ}؇Sh=/HjHQ %e4wnn8 $31?k>ta-+DM,B2d#D/>[^m'G Hq F]JXL l[r}|uX.vRLl"Lx]R6;<܄r9B|mاs|A鰘haFu}W9JHeŢoyC,|6i='9muedgTBUv(Xņwo.a/&]XM@ߠ0sbMJgZDL颯TVƌW1y1ʝ,(.%H~7i-YykWOM}YH کJSVdl/ECgä) FA&PZjNɻDL4qQfL|Cfk?,ئ xono-)[s}ߛ T6┓;>(wDdŖD}} dxrM]0Z`'*0!F ʴtЈ|1dԋx vw5GE :^?|Zߓ+ zkRQuPѻ5J2GUpn(/- i3~\ KOH4cǯr{5.AI)BjΕ889 -K|׎3a2`V& kޟ󝦮0k4@=˲f~Հ_yM"_ DGGksr l7RׄzW)9vdd?"/qrJ$5s'% w;}3f7WdT1 "I߅PϵbX[h6Gzsϯ=jWYB͌->@xh+ 8{M-3Ѥ,3(tCʶbK'=ɿ`WLU/dnXMdd$ih9ݖ"m2JdKЗ~wTS`ߑFIasG^)A03ȨBpЫ.IA4*QN~ &uރm#lT49-.B: _*Td$&w\_)z#~@ v=L&Mď-镘0·}EnfBn410Çݿ >}`}EB=EdU^qy!VR ҵ(_Rɝ4".:S=5>)R):(Ə:k.$ϕcrR\Ti54r)lʜRAIūn\,buU1ף85%"YKx ХbL:/jFlY>T#&1t!pS-NydN7^T bt{Y}ԍ㏠3npѿmBJIrEF/G𺾲f:(fk= C_H!fgwgyJ`dYsBvGi5py]!Bsa},7!Աp]cN2'F&ʇI hE|Rb&O=gB#,v[dLJ^ t-Yp*od9ڱGͨi>se?J~yTy$&#MҨZ9ˈ&^_-f> h3)H?^4 M2uvFe^Q@cB_Zz-j~6oMhrkIM edM%i#$LS?.:_Pf0T&$;Z j(ذL6 u^F%@èTTߍP("ݐM&f$@ z.d:)6c}}0PrObz*h(9xme[3'1 (`g".-eqMU״m_UV dkuzLY+ qHwQ1svm5:J:/3oeJ=5xm7gTtٻϢ,"p]Yb=Asi'CV3 $5XN}Wuq! 2y61!dCC[WܝINNi;)GB2GnE{m3ӻ_yg~\m}"@ I5":xR(AgK%Y1<~_{0. BA ~Y3AlULq̝3hCſzt1('I׊P;x`3v\pSh! -8U~)d^lD1XW@M8;h%zHsɅe5 iMs/]@9KB&ݹmLVbpn=wh(:ϤS)TSb'e>[aSYmG?Xw+lc# ̀fan3gȞPK"5 UɅdJm!rݭK{TK僂TA *tԖ_<~;k8&˻8ƖjO&tN׌UEmcqL߇n>t=Q\0i7Q[zɎyl w߁ CYCȲ JH6T5b/^&1t5zN?U  ,={`nCOBqtsIB(x -Qh($2+JI*O rB 5(BwlQu6*9Tם#SεN]r.2x~3`)<[|:Jw[ 3l@x%Gj;3$tff !u_:8-XP5Pvr9@=`iV{-s4e7nb*&؍g(S TY&9lJ %#nѿByG] m:eĮFkDvRr/VL+ #^s03H5HktYcXnE»X t@Uv)ӌam5gTXa9(3FOi û$_p{3`|j``L8YJrS h&~DI}v"1T5#ؘHhPlǑz[Yވf)/̡uR]`spuQ\=)2YKgA5bL3iORbF,8IjKZ铰U؁ոc4](jkuh%IYh[-{BjIhs-x)pn+P@tb}M ?r`68rtj!!tdp> we"a>f8\/>}2{ *XOjb#.R~FXӂ`F̔s{uݸvbxoRl]M}^Z^7TrUy$*nmjmI9oNiSӴ 4N@`:V/uA$/ɽ];=R̠S!*˞\vQP[c'}^8Y6zȽ wY㔼7ӈ'Mr`F@GZx".)|˜/reA:K`)m#+ly1T(/iW~oH/fv&Z3 sj5-ud2zsdCP"'yY)\Z&3|LI~ܮh[:Dhdy2kT@lc H/TΌƚCVY "z'SzkXT,M$F_t)1uUMUpj(Qdn%`ZZ;rѪX5jNynj~e_2i)cB12 ̗Z-h a HNQP5{mKqMQij١l_^䩼>! YR>8T"@r >` #R2C *]VsW҄vzdH*Ga"ת},avulPĮ̾ƢB#lS7p>1׺x`yF'xCRn fx_y7^CT_~#7V?jџC (] aKqaө|VӵaL"1xo_~R#yP< @  iHJ+L'sdWS-V20gͷZЯ+q?DinTOzߢyH)҅eCŶ\k+RMB%WBVX2_| 1W':VisVITKn m2"ׁ&ܻ܇JN $Μ[%Crw@EPQ{.h$X`xKc{t>C clu͏T.>^/&: ݐu4%MjʒgRS07fc)k^`[u!R1.6tIP9=S|QVe$u0Juu : v@MSDƍݰ!z6P`%;bȥoc3*.HJäe@fYjut|ĆM7jcn6RrrJb Cql?,*}ЈBr*\sBaKmtV!*~LI~ G/C48&=cvAĭ5qoPMRqg=B8M 0 *i)z?DZ; ӧ? :/Ihp5S=RZ ]"O2ȃS\aEum93X|ɰa36esU=9/׊m/JqE#7&ڌ\n] # {)ɢ`<ת&:-=uh ~7;z\kc lfȉxI'Дp #K'b4>Ah.6 ^y`+1۰{U+Ob T_ \%#n}\oe"T|l6tG"BMV8$DF{f%u ?Ǿ|MbKJt->@Ҫ) ʸ[<#S.1٩ Uj3&;ı+Na$>9Ȋ"tdG!Y0-xa%ƯW\ĴSi- FfL^q0 l-W _{!&.GpH1>[#YNke';/ĥPiDZGf7^3>F5Y"Oq8.Z΄d;]d5w\ w5so1O i_ M; zx.لT neoI4uj xrHV=x2諣oK+exAx@/_Fy6${5g܊й+  V׸1;P5;oT{qA+bIJthZҨ Vu`M=& (xj T:6Hn* 3IyDEG/ph)Xvu{ls˚]~ݞU▨۹h)>TdM0[[YL LֺQc2ΪQ@pAzq%4W*"5~s O5)2XRs=%h"1zHbD{wHŘ~s:N+aRVP4;);<g-Ej-a`NmsvA \WrX+x]$R4`[ph߃M^]^Nh6| u (jD/A:8VZh O1,2妜Rb4'Oưa\ kn\sXץ< nrRxM`mY˘$m=+^%[-WRr26XDU#2T2m֨`l.vKb4u?6/yKynX5@ک|(. mS?pde'.U+#YB׌Y7:xN/z@RhGBK=ESj{9͉q`$߷jވQ> &d)td\v޿BmEt/3rJw$nͨGEP}"l;ХV8 &g_x8h.u۞ B04p ::/24ǤRWգ8 g)Q}?6=LtҼ 5vHSy4{HOA% q  IEqMzsu^h/m aC'R S #\tšDb6DzQs=b\dLGLꄀx)C+s&n w?{l=I`Xh49ҬzݗAAMd79_ oNѥ-k[JBv\8 ocV߈ ,ɞPJYnj<:gZ}5YV Jeե[8FzJ1TF9_=H "p;͓}3)mGrNF4 oЃh > >Z3iXE&u}ߨ 4R h '0Q"ƒvL]cϣTC眜, >8ϑU/+|ˑ@QU-*c=]?&I$1k` ֙XxU `!d'iGs_W] (ʢzm (+m>0d}6:@w f&mtG#!)Lk CI#1Oy@k(gٳ\z0dwu(N1x{CyI7Y╯\~7ME2CJ E8|:x~M1$ 甀dH)W],949tR_T4 eޢ֧I˾V`"yێ=vYRBJ{ҠC1 pH%ő @ eI]JDTF]Ez5˙$XI|uR;Ԩ~$j_-M{]Q#ı1=a7A x._ W<~uἼPn'u?I>6TH}EqbQyAg;2+1\gH1@Zi7{co]kآpMcypNqb%6X I@].gKўM&Imim;v7naOoI9 /Ά߃G=,񅍭.# P܍`žrMOÒ3DӮQ,.x%X^wX 4=D TMC>tj,`f61.*H⚢84iIad+/YHt\ yCAaK!\`6bDAY$9fDs w,b' [=,q:Inhe> ^BS,P|$)-0H.Um) KK{dgA@ < BqTg`:NK9R֊2nKjI@ 3&}Œ&]8S|.eshU1ʗt[öň5y$u>l۬l-Ti3>HkjF<2eHeAaLneϘcdp$bVEM(*)盼,L !N,tmB<# %2J,b*Zʦm6x#lnrAb>B|T7c82WkOѝmLᔩ<::5}UO:K7!R5;'5>>lMh{f a;JT#̂Rwvd? G9jb94*/jyDV|g ,>%CX`n[t-aʉrYF>k|V7p Ldm=EػQњO7fqAF]㓫#0 cًoB.N3SOXo.# ʼn,O]MH{7&eP>XCNj?G7)%XQ(fyǹ\ToefR,CX:LV]W&ۑ~^l}=u,G޴'ʻ.r'?r:*(:gZGG,λC֘UIraBVϧPQL'#3084LgcrIY eO/Ge_.?W1p!"iNo'ȇ?mLs&hzjHN!"32 ϺimC##]2"Do( ?g csng`E\tbJ1QӨ J-GW QLOn]{\L4 /FRh] _OYQu q|OX+Jqf:)jҵ-u يG"d]_gbxI.;4J)ƾY |ԯv} s5*fIB>6r暒Sݓl@aL5ߌh m93}{G~h|K\HiEŨ׉~Ŵ''B* ONZGx&'O8R<.lI_WRnA1.nI$It;@O3t ud#d ǫ_,6ۜa'Èb)`sYp&EP0A Xpa׫g]w v^?ON8'ٱxO̘Q;lWH[W񝷑`xbLEG BCJۏz+ :V"T <:M,jZv燤St[KUWb9 ny2^[D|~9B.%It@IofDyK6ncrE7O}KN5 JD*EQN2#W4$1fMrQ*_WXrE(]RGK(l;zlq+yvt[%B`%*P:B+]΂?^/m,.kyR#[Sf| nxBcM[>؎yj\pIObC26FZ1 93]EYlDDѽ-Zy)I&~ 2ou9bK!CTU z|c@ҀU%*&a׹- _P $V5}};uHK1<ҭn? aZvvg<3lZoä(XBGrbvVUUUrov]?06K-Zp2&zndc>5eJoZz V:R-ߺK+ADjpv9$yVFF6e[^z%?' ɗkgTA)I$fk)h57[ߑ?HyMK%FT=/o)IqjW+I2A~KMƁc, sˎQx|)] 6L&% Uڃc^} F5W[C$5"ˈi뢁Ӯش3d,E-NoOAJ'әaṜR͢{4AI"tΤiZܛ5<EQ%}!10KBTjEJ#<.qP#Ik+̓׽6oRˋ8#1BEq@. *S1s&ᶲ@NB'c4א<^CvGtœW.TmʑN+q5X}sMU8]WUZ\V3D\!OࣣLݽ6ƑR& 14j$LKV܋J ׇ"2o n빵ܴbUvEsIO6Q&!nQhYъ\ Zg5Kn 'Z~mYWM%wRS_E6;<ΰxq\3Ƭ' ~aohPWyp"=3RT.s1K8 HH_Qp=V\To3qyV SesLy= 1C6V.Z_6ćvqx4~Kr[V7k\]thn^|?~>PmLd' zr[7ק![p#AA$ J\U捛WۄijD|;t:4J>ҡƳ$M8gl,{HTۅ Tr)nlPD(Nr Z6ؿ>w2O kM,>K*n2IgZ/aHIq[;yH991D'+F7j" VjgIV5[-9H܈h e`Wn%JQtD3_ɏAp3קArz[%3gU=GvY>0"XǞP3+ݰP N%ۣ% D]dHV,I<զ-bK:}RV !uK:[U777#<) MsMo58ˏt..3&cL6n .5%3? J',.TTqŰI]<a/l-6"ʞbtR-1 |] &$o͋9wtYq$A )T$(Z-*=1awW,) \`nG*_#%t&=Zxypl.f<_H<{ /H>rj8ہ)! TbhXpZնBmde |`w>@v4?Uz1)`)i9CISO>tϊ9$M֩S'C$t(?-sR0* Cd[!WI@!W1͏ zw!G9d]y`LBΚ-60?o;ÆlĪ*G{(jSG8.jmXUe4x!YFl`JDPNf9|c5ΐ%OAV/$C4BC]gp~;g^ۇzHI9%~pV QOu5+R U?s%H?T/,F hg0ҊO VHtf{_}azr MM/ovpkrۏ@U=yRmڮ w( )M+6D ^OR?h!'\ <<\L;uˑ\166]=#$߆nsxƻr}o"8t|A/22 ˈ^~q7'v!aajfS\|TZ BR8is,u׼/.T<0 (]?4GވĦH6CX|[Z' *jϋ`bBvkʿpE!Lx뉳ܤBPCE 听a-muIVpMnqT t}A!zQ0RHywXF7ip%$%iX瀤t Xl}'3$5P?ƑK88SChDXp}Ɖ>ko=phwj=Z> PY&GmE}8W0I ڎr=ԬnhfEW($0>>N )[(7{iA T/#/k,jGPZj&R|Vot`Zg[ !W;1FUt7jEȿY'ZRvst7ɳ55}H?TH,y=խ1Ax's ۇ}M|Ke[yWL͟=Qۻ}Kё}=7SLt'eyg H4Q..ΓhV ?*.62XCaFE2F58_yl_\ogl`׸-%{ȔHm:EBJL܊Y{ \uR{Vx{EHF`zo>ZrUҘ_)Pr *=.Si`1,964jTGxR6aDcPRvߕW^ڨ4BM%DC* 4pCaHqw<"ߌ?/8 ]|AI֢}R|(_STyA3W(èEg-_Sr榻g+~*O0rHa>_Ri#fΉP7 OeUSM p3L\סCK"$/ls0aiS>x .bfG`ֈTDIM3] Ngl"72e}&aƻXԅ?'TbIs:r{E!yK>E AEs8IjzåE&}dё[ 8{0tA,֧566)>A!6dpanw7xeHV8'g4}hf#]YXjJG7¹[ذ[DB+"P$\{Mع>)+ƒWfY'Րny&֚>dyҕ$9?sh8z{p/_Dr%V*Mg$vPT>:!,vx*o-biN+`;[|`P~'e` ('XaOɊ JWn'Fx^f>Eqw(&Zn*x,֗i/Y4ϗ̦v]x;rۗk6|{rٜf8,L롚|c?Q!懫 Lr~#q!4M rP]c,o0V-‹M5Զ 7J_e3S4Ls"F\/(CEU#Umv!^AFG3f‰Kn+eT9R-XZJ7N UYZ5I(^Ia!aPXkVSd~u(05!WB꒨jxDHFp뼃L/8{J=MkY0P:=j\h; ^ ^ 4Jϼ)$7;yK7ܛHZEύS' ? o?Ɉ5muw=;@E檃R" C>9続)J$O>l;Q1X~QK8/&څ]}Ϝ6y#;n˭$V[HF[o\@s` [; z-f%?۳=Z$w[{ETa~vU'Q$ή8 '_F?w{zҹb0Q[{Zu%zm ۢimB ]&zk26dL^vϚ`u/gZhA?Ȭw$v9!-^b/ y=VHj*F 7|zP!"Up|.o ZYM6"3<.y3傀8l]2 HL/&-/L+lcԯ{-f #ߕڮ݀؁ȎHwG'_' zAB˃h{։ 3bi2lV~38-@*,7GBzhXtŵ/] r_x&D7EB s mĶW79eNqP%#BaM ;Vl߼z$s0eBN:dzl+I RHJ0Bً{bӲ KdY]E б,m ui3|8&+I^y}gL^[X9r dl_]pxPI#ʎD(1&U};K V̓mNwד怇92$]<`} Fө ]2ct7P`Ǎ>u=BUp^5hYO.p>I"K|[(i-k|#>u1ڭeV`Y3gi`O(-!t¶E!78³;dћ+USheb:눾!5cpz@cu7C 5 / q5յ'S 'oМ´n1-|(KMg28tʗ1Ia3oX~aL$`Bެt/ xṇSVT5'2Vh!u=<=::\E*^ ~3&\QiںdQc #IK՞f]F- 2p@ _T7 S)dBDnF9 (4>(^2/"N C!?^Zfdlh=V~GL]i[+\L(P%8ԟϿ)0sδv ]ԭCZ@;ف¹SuaW.6rGNV5?[:?8iQL.`q\s*VI=Ì(&&QQA&2l\:}ƷDIh&v}V2nnE*"lF 5}|vZw+yf4g6.,*S0d%/(&a 'C#ӋS$2֙-8éFJ$-?Q;S+UX!1Z[^&ҳh,_ BTRɋOb~;"N&U2@B(r`sď?AIsb/ozg8 7Kĕq[ ~巒RWUYU#*r[j|uo`-:n 4d -xM+^)(]`̼19NoQ$C]ML @To]p*˱g4Y]2p!A.qJmkjr/*DZ9.G_sx\JjR3nzd%`Nwp4<r!$0DZ4@ԓǂ!=:>u=2T?SctHw\Gr/Fr7RI[{ q8:l#RG j7rԍ)X4ʿ ]DHCowXN_212V]2c _AƷi1# UsK_x{O DK %B&rī W0?QbR)3OlH,N2|N6yl+Q2 YC3_v}!d|FOsXaMr֝ 5FeqفA\+?e)ngP;|6o'DI[.*@@pY9f]_o5:gwTUD|&aT!ѐx OZ xhxǞ8q3W_tL7;֔0-Ks"UD+uM%ȍXXVd|J,ԁ̶.+6"&aRr,7d7Eg /xԊ. $֡}CQp+m bCDIhn:FmDrĖۍ7Z!m3>UIs4gh7iݩVۼIT" EWh*?*DC9e6~ƾYB+ڴ6ۗzyaV'Cx4}77T&-4h\HD>rt1T }]N!DRF B12ܞ lu$KY5S9zd?C[:`FI% zDK &Ae09ܼ|IJQK 6,$2́A/3vD2 ޚE1fhv1Alޢ8BxWc"<ɏ2zrsR{<DM^RGa'6S#ΓT a[ /:7KJ_jWU(DTy[ w{g!; DHM?5ɹN*9qQ~!ez"dgt|՜6*G7(kc@ V@/!]Xv{^,V`麉M=jb9ąZ/vBaecO/ʌsܴcmМt/QǛםzg$U\ .bU)5E.\'/06sЄ"L>^igSZv}IPK?x-#Dj?w4udzU~F 9F:6N-tYJ0!b<&B6eͅ}`vm0?*.[ۧRHUz[w?iWlokvL,*}1ԄXg\LkRˡ0gjL ^G7=4o*졊yA['+5t"(B>E ߧ r`6}ljT`_j\pԿ+ 5QSX><Oem5Gsw䠦 , lXӱ*[]pMũ8tc3+kوdaE-| m]1fĮ {Je6 uV\ӯ]8tcD5޽Tn͖cEQnwܡ.hg0~o ޤ^cZǠv(i,\1E^g{B'O'^hhN=X_EĢ۵Aw$K{ւU 9l>znBԚRT(hIn|7%[l9BZ(e¸aYn.U'şR`N7"ؐ gTmd%rlHX>ȾNŒ-#{޺ ɞ[MS"#"8O@b+p{YۙnnؿgO-/2ipNYh,_v9)dt9O`v Oniua l<&ZHx:^"frv2@oe4>|54:;z_mXŔn^b7lK-c 8A"\1a;t܌ڄMlפS-#ZȿQ9zզhhKy[KOVIfFόLAjߔ,*ꅐ'8ALѾݏ3UN3ɴ [ͅf{l'HunڊX W_4Z(PkRtqx/"spqjy!4ː[xI*LL\kp}$uE? 7|YqMKFeA2 k!#?pB\ ,!~1:Tm%_==K[\)2L]h-1ϗg$H57=/X _~b)v{~Ly?}z(E+ޗ?ŝ_aRjFɘ᩹Kz ^ Rh oFЃMB߅MqS7M Qi%.9 gǯED<c CD'\ jhz9ۍ9)T|FTIR>%Kߧ1I`Ǎ%8 <0Pʳ[$=-c\|ceF9fF L8ؗ:3O.[R?Qow * ˓)s\Zp=W9D~e][] lHD@ zX4%]PfVIBҘ:ŷ(0/?Q5`ۥvgCߕ2sb1 :Y\N }AP|gd5/MBGb꡸،\~LY²RJS@4ſc``3Kh[:@s'5En}MK*WK^m,u9s;Ƃ66otw{B><e;EM*.7AδI+p_[^7JX_i\g敄;k)GfpRBfGl L¦ooZ±ÒE8Y12ݥ()iMʐ,񞂚FOhh8H V 0Lfj({7Q=P'rީg$OB5.jF!XVmHE6yPmAo_2FT2R/|V$ARK| '@.ɞ$95\e*vlGzī{Nt Ӑ]US N%\͞(ՅWd_į.UZX<1ꢂnVzZ Nдx as5f0h=aȍkDZK3\-8#HB%~ g@0[6S˚Y_lGtV(eҜٗwZT8#HnZ`ՖͰȱn批 !iǾhO2/C4906B4jxF_;W@a~-Ww9G \l2q8c hq~A3h}NbŹe`}w^_P`]䍷԰θ 95P fe[bb_:ɡ3Arޱ*jq H"f62XYR v?$ ctxŨc 3GZְDYw.g# xiُ]#U֞ymxs_Gg 7+6zU^ߐL1UuR'Fj9 \`dh"m`Z ht`Z4p<0b2)M/Cbʼnf#><9$%Z8gKVhU3͍/qA[90C+P&#4LH{ַCg_!u t%B;GEML}L,EM4HVw ^E$ IQKf|wC8`&pڏBΏYsSe1P?*`k_)%=鱀"X Z!,>onEtv/h1ah} ݲ5 RrUQ\jAWd дzO3cpuHSe nz)K<|WOY,uizx7V."o_MIG,)yu%;M'}A:iM#gP7fK+Dpq%HEhl (,* dȈ'Գa>gnbU Xؙ\Bf= #m"'^2/͜bo7\_rG۾\!{ 'XiU$e=ס+cWipψʹO夳e[9CjVK'X-a|0B`݂ )LOhm~{9;K1MeG W|ieIs-8!4dj*bJqCmyQ;V6`iexrJƷB\KJk:sptƁc׾y;V;D!F`_?ݏ+g:5m1iyRH^H/LAG&McZi~!5+m򏐕ԴPK#)E/9zQϕh=_]mXIBNV~7cnFR?IڋmD(oƪq2 3aәs&gY+jCd7Xo #r1r@?дz*z~:L/nS;c 1xyO[ %FZįhvKF٨$%|*WU:JRHbQg`rgQݱ9d4v;593mQKNq%y߾Rݙ˅zfȖuC.{K@> .Eʂ 1&%e3심`ߙ[(-vX6Ji*drb]ale6|&9(ev¸n0jg@ߤtu"?Ҏr|% Os w m%`"\QWǿޚ߽{!"uU)4 j+ 8^ N࢕>UwF׮ޯDa'ͯ/.&9fHm-T|5hCc:*I`aɈ{x+= ի?_.)}$v?%Q+5s]O8xVl#}|iӠL:P2܈O~Nk[YԅGHwKj(2.8^ҳճ@V<µceHq gu˼̎ESm ʼ -== -]8רيֻGjݖP_g̳dnıPmCV"H;r뭽,$ќM Ej mnt.D0h W.pJ$,w{?-;i+yD#lYDžt^4S ,Z` % D0:kİe/]yW}ei2=wӊ'k":^cn8j8?r`APZy>=Էc}YBST, m{p.%YTNTuYFj-m3Ecx<7IďBx,kf˞h/GIE6 cJ@ Uo<k(i(k1ZQ朢)7f]ܱ'u8=`gTJS z 'Ka]E"ZKk̎"(Dv0X}hjԔ*.&@COPهaqe`@qݧ~dT*Iem_$k%P5!x: J&rj@s/ROqTS7od ό'A >Zx&:顄yv7_?EKĴK9uW,Cz^Uqeyx.Ag0TTiLG<S/ؑ8 kȞ77A-׼9#N: qLJ͜lcY쭶eJ:bcN$mU9St$jծY*&'H`.A=;cޯ jsWzq^L: F2I HoRq'ƒ&nܢ%.NQ9q 7ƒGF\IgΉ>$=K[r3R~(Y:;&t;C) G+R6/Pvc˰6x%fg>2C"(1x7Z ~  )_\l{k?.p[;0!I؇ (4oebEEXYZg0(c|p9c o#ķ%TDr9gn{Uڵ &8MCr$WrZ Lfpt,҄a! 4.\c9Fvb33M"wf8'7kS,q~Tsۨ4b29 ߱!iWsyo\lE-::nPٍW{Wfm@ AJ{RCpH%\ܞXDȁXgT%y?"lDz-K'vɠTHŻ'#/b RZ* - H޼$^t\fYsl❺7n }A&`~@i05ԩ@dr~U VFLkg\S(B+NyG(o,e"K8HgoGduuAp?/֞Gs9ŝ 5>ri $jʢ07yfDླ*2^blg lZV+ui'{`$}}+֡,׎g$*O-i)̯4ikX#ޏ ;K{㉢rsTAk;c` *%rY(|`XR 28cze~섗sʎ- w/} Ж ?P=/?.P!$s_c^er{NQNGBܗy &OLjB9Vζ{afҠa'8dbQA){E4#ʃC\E?}9]s,_Q>:E2MJgڂg=SphvhJt(8rMy5?dϔ HeЗztbڳ>pg,ܰ#D35GYYEDt"DF;HiU4FV' Vv~Fmq85 {R/sP ࿫ٟ+McыȉMN8{P&dȓ>BAg>Gbo.eJaeZ)~hI`좾!Zf* a/=bp>!| L/|LwT06%kp,V[Ser!7Ɯ\y-| qDsk3ݢ}_oa7=Ru[M5@i ||K>G-:+Gle}ɼx#3dDׂ"{?oQoH4a&}nE{O,-S.q);7|33 Puun1[fkbŲ;CBvAg7]RSFQlvբa"+iek4\Cp3WyK>LsRI5DFo~)ąh" E 屗#1טl]8]qJB428N;@ 8u'曻g39LH)z|k12?֮ 3ڈy@0)~)ͯ¬>H'i(^`5Ǐϐ=U?X C2+{s;f '@a2 #pkH\s%aaP-8׮/n6\2_~L2.ufx?W oi0fn["Jy2hE2jӴɪ.] gUBŭ󆲟^svCJw٥LՒkd2ẋm.[#|O%ީz*ڨ"|U"nYz? =W+(Tf@x<5+Qz]@IUPXGе\UB< ׮sé b\jPl'5ZR!L>@u\Y 43 غ8wM/c<NN} iKe˻'X|Na,D?M{2ъᵍɸ $ re~ӒC$j" P'n }?CDoo ]#q}TVg-Qj2tՊk*=[OLI Q11" uXղqt[q3s 8ribai9b9B&f6g2K_+^$Qac/w Y o2ϻ#o0^5ۄ 9P'&j'wppу+HeGs[ފbj].kTe.]Bx(S H/˄J+6c˜mn.#6(s}}8FWe{6ÞjxJ䀿o~& 3k~hzmx7=,kX Yf-?B=$M)yya:-ܙ}C茷,8(~=w?p+0+/6IQnvq/%kpq)7mx8Zװ;kQo0leFgza~1vEVc<0\b*QF}xx"k~\lB&EPXA-ji IU􋼄ݦY<t.ɬ-LӶSTՂ(n; ̄%0PC[/#drW(/Re'CGF 6Yf/%0Zi. Ynv X:&' `mXӖ8"[1^yg.-8 RYvWs&ٺnŹ{TE+$<XNR1$ ҨݕH~P9ʁ^;-D[=㬑fM•r; ǜTDnGٿ!Z+fꉮ{m>= .UDcÜt!DqJYsa T̻[%5s0 ߳?l3!v{i``[ B~ґl|`gh&R(v(9Nx^F9+o6PTvgC6\g+J3ȿ[zܿ1xqlM숍5? ܶgn\1@" OFiS@T"S'U.C C&AT. :sa/~1ճtuzhM6Qʥ"յfZ11E䕟2E[p!BR8㾷Aϖ>8!s,mtrgָf(Q"[; -xY'_gJ7^t*)5oʁqRХzˍ|[?a tUUV탡r\<JއmPY˟ꅇJFQ$2L7Luߙ Mʠ[xQOV&BȁdSu<^nؿ%;  7-MwmFbL\˾Zf`$9;]A%SfLw (06a}eѵ%r[=Y#+-(TA5=K^C jsQغѣF=,A]#2̤}1ӮxG 'VQm=WJZ)"s-.#髫$"ˌj\vY,z-ĭ5gH/'6T5aF%I0< ᑏ$4XiH#)0buvFli`š]>W7 jȅ+L&=J\Eԟm7R|v&]2Hl{s%&frq4*r̘ܳ =ؕψK8M-1.{ ~5Ips{ 梁))XVA:Kć_>vdv%3ARxٗZ1]1~n9C4\z`$ :B.A+k>}vJLlDhoV*2x͎v`[0~x)ʃIؽ 8pqmCq1dX|="4 /D|f ;I>։C.αmQ$7L0.hkwߨ I5ֈ0g骶Jz{*-[^7جB//O?y/]r$z1U~z,}c.akH;Jg L<4 ^\Jv&c{`n jd7dT _Hnf|`TI)˹mC-w7PB#{#u$WG= (M`!|OdC.`0jxAlq(HO^[\YxvA!$Ɏ%o[<,.j;FXD/@nFyz;'z+CaXlV饨~+6 s̓\rveq U "_Wh, 2maKb>OFX̄K"٢KmUGn_PN$itn#Vh^ynV3[|UTvX&T,id9$5b2˔cZ k*k iKl|idZ~)9&jkɱZF V7vPD#v'zkQxfC-̪hD}A/_ v*:1A$;7t\bٰcٔ> :.󦩩HJgVz՛ubDofB Q6$1GT>jdX||)ga#XeqAB ֤\ v[Lxgt)1>"A'oF/ܽ'Ƙ?Ձ QeQWbOH1_LR5n\xLSj`j&T6)`EqgysYZPȴz|1K~465<6"Kd5ci5^<䯘r6C튘_O򾾚DVd[GO>~d $bU lGM0qKQ7~ȮM?Vh{xk]bR]>^gr'xbB3u}CB_ "aCp'|tYG]:@er*SNloo'reȮnx- - P&q/tfL꼞b\Ut?_x&Φ]>";@P=YygӋ ^s?`KlW/ٿv]NǤjGG %OB|Ԅ)-\4 ,SGRٖ,LFݖHs!O?rH/& tv͢3UI^J\u]j8 ;T߲ ’α:!ă(L8K&/9rnc'\D˧?}pc5_L8 _F˓X2?RYs7ZM*jEoUA d<wMp+!wS܂{&8tEPEn?%"צer 'Krܦ92B=X.Gy.5Y ~3,(m u{ gt 4AaC0跫W)%ųV>_AF!ta{ 8V)2[kUI*3Hra/BdZ޵&cTDZMqS(+}+ k0JUޕzuM+Kі9gN H tL?_"ѬY`.{É1;ƴ4v*'8R9<9)sI8Fʥֺ "ľmPEG- {~!۰氽-' 5Y+8 oWAB0gGhzbQΗr\EWFe !+i`W<# V5PصAÐ^w4Hyp4_Fq:ިe8 EֿPe^"Z;󖐺wl- {jGŮۤbʪtI{c-,SSaOt%x1_񍤲(x ̺C.r*P m3 zllSG,2Ћ_GYZVm3>8z1DEaQAj(hzeBEh > V6g]".X۠.ujԶ;X} Q F~e2$*nj-F^BQ=PԠh#=oPCCaB2j}.g,*WO%sDZo ;L e/x9d\\k *جq;&Ox]:ѠFSshoF&uej {iM7.Nx?g6UԅrXNL <3\q*4IGҺ,,f,>&+E}zf~ .Vq0zgZe.IԴrFw[i z Zdja=jaҽufA\IE! hń[ce04JO3؍tE(F a Ƭeziq뗍9ibQ'4 +&;KGJ0?zF6-w<:g%˸!sC_Ry>v"q%_RTu#NRܩSނ Kr6Xw-QS/ 5ܾ(-떭1%8S [etcjnVB⛱Ù~|tB mø%CJLH n2FU*-b0tQRP[ nR$n.CCOd;T0\D8"7-uљ(Hh/R*'*8|2vRT\PJ?h KBj8:. I000ա<oK!)fb-\ڸ&I)I+_p5. V2b,rC2FP-,(}DFSUT҃@ETiT{_XQI"7`/20۩M>"yby=(wJ{rI@R4 q3&bSн/Av]G^kD7/Sf3)/gV'86-L6ZD>gQ5/A?w$1jfK|A;D_o8FUO+ hz׳IHTt}߀~CcSn1Kqq+JS/|5~3XC4,)K/jL 㟰JX.v09A_E.1҆Q2>\LKiZ¹DT b±(sLpt9Dmu {EI Ć\e^7s$A9*хd8A(hz]*):a7NCH¦rd1?G3!?HKe&LNL~j_ބ$Ja$~8bRpc [J&{Aڅ ɫ̫9 [T׋rZZ客}OoYV}Qg҆M/`EN/,{lw⒋c=fO{ B,Z` tpivNJ>ZgR#sN"ͬ4m>8$oM;ِoQQG\.tj`j03wB/1t/mq%dta UcN9ǀr\i;V N"- B-zht f%)hMq>ny&~eZXVNbkX$ԲYǞk!N_8,NI@uguG[7PC+u/)g |N#?wm 0؊RsGLfAJSӛ%=rvMH AԆn[k2i 0^,ky/T\yտ|0#~38))(2V JGcr6ḤB$pqD׸?4u:=\$Y%=dizvq%Bp/|_6P:еL>|A&c:=mddX. ޱW زm [2xdU+S|!hqG%[:Hwh=_&Gz:3z de҄8 r Y뻍`XJ-l4${K'F, B@pW&")"և]m痾M[y2ȏrvff>{^"d/fįުOi5HlqUrVM;Y8$6PfZ`P@ T"|Q4 ~&?Wn12pPCuK dmT/ N缉,D蝕yXM/2ܟƞyYKdxDC^J,И׳m<$Of=IE PGZo3mCU%'=R,LyRGm TwtS.W4nqvM @԰SMu¿<ɥFdw1uG9kZ!Xȿp2>˜OP#ot%}m9_29G[#3r՝8E]OUGDD,儭!!n̰@4ߝe@'/_pYMc-NUmy}YB`v~gߡ"]G=֭o]Rɒu-Ϩ˝: j3EQ#+~ OErA9 S]`OB/(U*0;[ %r7e7SMiff.Lo@FfLҶ=}O#SWP{ɼ_ @]SD:&r~Ui:_=9TW9o<}Vif?93K%]n@ Y=@EC".dSWA]W7N.QQRD [2z9X-Lqp\e59vju/!TOҮtRn cڍገv5~qť6K_cf'3܀꛼4\'xq PFm5m,-Ic볏5pni!͝8gy`qf_fߒBe7[a+6Xyw(8>cYd1h!~#@}`׿ :$zƏ\D GcBl#M?'ԉs%dŗKL  nzn$ zEr)CR ^3\ac_}> o-!_1K%sЁXdq. ~`a}$}T+OlyöVz߽_s, n-I'0T4-6UϘeR?#1|z|[WE'ƋZ.>>U0ztLa֦L!ړoS)P|@$ݴQ aNמ/{"_J|Df`TEYwsk BYT,{0*aL'*Zm"V2tȬI8J9tlΥ]w[nXp5;Mzm1asnn?v5Sx ' ~L ٫IHq&{PUco\I*anS3!=(<(wؗ[@Ƞ v^Y2^wWr,.8bѢ5`<`;ӇcqCP3_goK.ޥ]#.DW(W~W#-D=^O13 tNX=FwVgΊ94nW&sYQa"vsUGSb^D@Z| ޢWe9%ѩRyW]%WWqa"21 ɭ\h!Cn~4/F9[qt:dGՊ{# 5q)"Bl3mmEaHs" -Ehnкշ04WP[Q&eԙ̴t榌@TZouLqb`G 1d1{UQ~հ0gNyӓNPuB-t 藶J#2bJHN8$T;PsΚ 95NyAWd_`KX@ Qd e:m{ܿma>গK+65RI%U}Pпb\k*'S;U$?E{*HN~>$YZWmӍcg(Go\Ķ23o_5E[%c<;;dR,vtX/KKQ lEV <mNDmɷ1*vM%" dF%MQO0L`{a On@E8o`_H(4n)\jM1,G͌ΘӢeN& ިy8uU_yYo 1AAIÂ͛hDggY|XhOdJF]8VG$WE w/ѳqƿ%U"9aN[p!w`vȔ۶G?ݪޝ|ʇ.ԇq44Xɑ:( A🔼J*%6:cC@tXTEHQ A}l09hyH>L D2`m7֛+uR& j;X+j+Qg[x$ե#F$Fc=qh.4Q/ji'C.vʎjt0 ٣df(-q|[7hf1&:$Idxi>}Tod|]/?\_ɔ j*έP,g sԓhZ6qFCleYT pʞ 5(}_9)#a_O]„tg9ge$p[>2p,XJh_zЭkBkGC,r`^l0 XA`ĝN˒qK7/f[u; \_<%ܐW'ːu8+,~-f~@+ZcF-:p]{) Q!VzI끏1j0XO>NԖHYoqg 0~ =sӽaDps M$ykV$òw*Q&2MFY D¸;.@j23=;}^1Ͻ|3&C_DAl=icN5.8{ө<ӏ[j=FUm/nADkIvEP9YT~""AsDubѯ1A5-4*gwQ%r+'ڵpC#?z[6 Z:kz}adPZ%XAJ+]k#-%O 9:o ֍Apړ?Ejtq"8O G'?ȉVG*# Yu_#TͰtĢ=rM9LR!ơ f@lZ+Ij4]!dtCԊjV/Q]OP[}i09WUN#os5_pg@ M\f˯mL}\ނj:]LlfSN7k,$wIq"65Ck{ld 3{<6âu^ݠĿ'c%㱛GTKKE:R}`dnJIbOa2= \y5-]dS);޹?M3!8rUH{P@ @uN4PL7=-7{~30tyv{Q(ʐ̪ {kd%!Oܝ<VtD4FSnP? MT̓J66g - ҷ'554Lx=Ș{ek3룧E-,?Tw''2{c/X Q+ct&ڔq6Tx/_W{hy0tB5FsGc-:YIƒG_0HE+aL,cMkd-^oQTdScrZ|=-*w,gjŋWH%Cр2SS~h7 /E *9a3s)QGl\A!~6U'9eLt eA6a,ќNp%Z]bQyL'q }>…lQM[$JEBv%{TUchC x5 1>&#/Xx8 0л`}kߐC{ip69<#pQ@` 7bE.kcs$'s!熵jLy 1N@X)0lcb2 ZB?:ZVcaDL-{jȉKK5LmNako#բY'B}|S)HwQD}O.:nZAzNMNMGhǑUfHM춊^坊seT.R+Bl?&Z/,d@Cӳ<%yE}2"/J]?:"H*ɴ7IBz HXyN;/KP u;yeráv𥣘<5B lQX6;Hva{1$>wxzAQ ܔ 4{ VxR{## c=,bhdٽMǛ|@wL( GGhT,uLP@Gq:ɣ)="[? zeijSxQuꞘcދ-S prqe, SFQU~CyT&*I7{wV ifu/2mVzH= lRx䂃}?`u$k)1^X__DOeK|KL?lg~ U~F9nouO=iO:U/RE@ /&HCտ[OըG? k]s "b<=55z.xxy]?0mv洔L3R4P_2PSIf"CIcVc 6C$ C@9).Zbr+w2wʹ]ԄjU6(j P6UC3 -D$.0HO *nfn$vc#zPϛg-9UlWNws4aGh+V!W ݖMlSWІZ\ϜYt4o׿RcgF Of?_FIA |I994Oފy=P|p&*Y_\QPVed`!i?S]`Kcu alȌn^џPTCcVMpfT5@l[\7 Ǘ!D4P q?(fQ_QrBeWC:P cOiѸlj'=e7]ȼUI@ j1ʹ_IydyMwݴd"ܰO*"G"#@FHr@a%cɳx>7|#۸Y4>%VgcV}8g/x}$}dy""_x.nUi@jΔSEM(j!s+XQg. Er7ֶR?#Ib١PbL >JFz1mޙdu{qj $XxTmEF`JhfiBfGlA3WGHh-6ՀlB `̷N.mlT/ԫ*9h45~ {nrS>`dp5j\=+!*Ԟŋe?/Ud Ty8_B\#ζ/_%s>^68EZ{^IrV”lhRO%zbQUXAZ]vm$}#\A4蜘NL0*p9)uqU9EoChd^#7PvTє|7gYLXy\2\|]I=8UsR>Bu C$:I[᨜7Md҆q?zsZ'a\0actg/{,x,uGp卻a)в#Q:FY-G j&H&%1:8:4>clKDL jj;k$0ڈΨ }\^RpƒXƢ'iC4b_lQZPlw#m+z0,Cc`1,t30jyۥQ-/m\EtaMK{%5 X“m{%g۝Yk226&H][LS: : Ihs{lQЇ r~BM9.4>C39NnB,AiHܢGaՈ@,dÍzV5R<Puc0Pd֮E3XgNM.`b[Ĕe79TD 2e,ɲWFW Ǥ*&{z=z->{jBwsCceyyw -_>vn/-d L"wxrrz%M_!lx8.FwUŏQa_8s8}<x,T+!b5PF?/bNldĜ  +P3E<3?_ ? $Z^Uac(I eJӺg}è_Fީ^&s$ Vpuƽi!2w<\f)6%>bM uq]h({êĝXĪԯQә؀bCWQGUClhAj?M0I;֪}!ɇD|J?jS>3*E4I7oǂuSy+\KmG^ZV_~qqܢ#sv? ɀ]7cE 䗼N5A`T{kWfjOS( 8YQ&" vנRfDډ# SW(d(GKY4rV<]]Sws}-v >i}eOeЅ^ 4:Dvc~l X ]C) u'S4βHP?rr:H+(2Io$|eA*#@:,CDF[Z[ )\k٩=Ci6 anjJ7:nco%GיGԾ7sOgN/#d#$3;*1&7(:G63ڧ5tL-`p%rG 7_Fab`Csjc&MW{R!ksE7 J̪wH6'2CNNzy:ֲlx].Q7d]0ζb3 AHy?`x}S^᳨wDԢMjߒIv_F։ 7nQ`c9aBRjÏ;9_4SiZ5M` j9MZ\u]>=ӾDRKlLIY2¹xxc;7)~坼kǯeQLW@S"\7]21DZu<,U#0f 'SB)֑ 5c ҭ6זԤ{- 2ɿ4z("oֲlǻE,{Țv<VXXC<0Ҝp^ #Т#&BܐZli, zIzVqҦ[U3a<,oVef|LI~%'_OfM|)=/b ]}tH<&y9JhfN@ 3 "g TUk\jռ_}F/(=?[͒L3.*kj7>g$-r$}xխ/L&eQ/rϲʐȾa̡/*mf3y}"~oY;Ήd>|UQ}[Is(gL4J|`JB%QӀV{Z %8fn-<ѷDô^Z|n A`oHN#p7= (<(6kz,q}}(y6C {~0`N֮E=/6se~.ZE}8qt&jV 6^8jeFLL9 8(jdz>JE`)|Zg\;"QazuvE~SOKyº!RE Z-WU!r< Sio{~{<9Z)m&-uOD_QPڕ80l{!}> |<54PlPACՂO='nNϟZJp,fi(_iGa 6*{ݑ m}$5BCgXp^FvO=h@s gڧ5Z8LS,0ޙ1B푼`. ٘ulfr $<~)]Ѣ&?AUt3+; w6c q3j5Hȉs`ƪqT @MxM^$ă=8>5\ȗ'Z^=ͷz7 ] 's U<4{Fa w8< F+ZP"j)Mʼy BT\w[J\j!%{T_g..R⢛D?kG#)2o;/ =8 1!ƞwJGwF7JIutG ?PtT%9/Cme: Ii= P 8|t*+9/l,}L"G`b9ۯ Y@lLj<} N 59]Z6}3'Y1oV$ iEェG$P5z2\w'H#y=OPA M{2KzJynG vbd1h7Ϫv@}5Ql'>k|jʪXM`ͶؾM\{0IK,fV9 kvfw2OzHo> qFV)s%)BŶz/8UZ1.&='K+z@ؽ.L}Cι$MU ƨ,F> %=)'B!~[ݛz_5ژ}zͪd:'Yh y!nW(֝ݲ[GBHÛ^rI?H@-;Ok%C$M%U9*ޢKp I%Xb( `HR"j GsJ*. ʮљkf rF DM)ZnLOGyGз/WyZVa Zd4C7aAN]$E[;0n _+.cu#}E9CTʵaY脸IO) 䨲/PMPWG|sL/`)c'-`v/~(%D@@ Ͱd29ʚ7|ӎAl =Wt q^}_[,~ 9]C72KgLZ\7a xPA͢3xNu@LT&͉!xDt_A774]efч) E%[>fr:K LJCo0F!X~du]ГE1]ͧ24 < MW͂wVի>Y$s# M[ȵ3=MzC ߞbƆ9fgԖo<۴2xծ2>hmfZ~ ?1ySlz3,yef|^z\`er>b{Rm?CʡZ׷}AQ6DWlqiGE~likۗ) ˠMcFDI#y$4IO_K.0:LPȄzFN,\q$m@$6A02W2 P*^"ޘR"].qolYjQR*[UD !MlBica@h=sH==/Jaf\O9Eƛ46ssҿO kMx^`_3$`hOʤs));U:òl#Хp >q_Zj' vRlSsl}J^ PQa֩i:ĚrpQ(tNf]_ꥯƕ{' j3dKÿI )WAR1(RZ !@β52gdGZ,"ǯUjIXUaO9ZK1eSs*GϺ܆;Pª54 _38f#*3.Y/>).>RF6Ԙ96ԿzzgGv]L0EƩH;ܐH5m߳r:҅o6l-ٯ6-~cьaOagaKzH^Ep=.sǿno{H[\5gImFƗ-2z"xO0j74.B-WNj>9hh\N,k5<=:ܤ$mQPǜX1}Dp2%Z;9+=& ۲KkR['0uڇqD{PG&E/r봰sCL^~EVhD"j06#pE,\މ]RFAϿ(U{6;EU"hx{o(ΫJYԈUPjhH [ Olsx9VA?8QEθ' 2N`T*d˴{V&_0@0&hzG=\ v f/IfĆR1QN}oq,sb|Z7u2fv8 kxd[u[ r*0( ZTi}]' BR. ك!nuCrTb SbgD.|p||'`\M@D >LCE#_}8ܝe`;\mKH(xH!+R𾼴7Mk3|Jq# u2CrG+Nb=d^y&ԗEEÂZ9\?ݯCz53IR5ĚbɝϘs H߸W0wk=P95Rj)N&Ĩ.+RDZ"{=褪1WT0@/tx=E`NA֗c[X=/AZ%A̱M$ E3%U1wh{D.{țD_k c_STXv+Pso_+'&|J|5~\쟋6|W٩v`>s݋Xll/ w=B"%KԞ!xK3gA"̊ ,HG)m4)g1.A#@+qFEJ+<ƭ*ոYeG9v. |I9ˍvU`Z1iTcTms]< $bS JEc'a0}KVL h[Z_ZGYxbfZ@"p]U'=J-ڻOܡzPǤ51#)95|,Ts(5 rV`X1k샟{)gƭ& :gƚv'9 7s^bd't_# ֳ9]G3]#j.[<tWɁ#!Bt֮3ubvrGί%:mg|8,x>q()˺A%,%1e<&S0"MU gƜtL4ØD:xP^wwI OaߎMz5*}饉Aqh9?.۾*:}Bo%; OFjEAF+e2(9bˤ.LF!%nz/ A!}f]8wSb= PO T[їw*QTkQUn gs :['#iڦtd $ؖڒ{r:8n/⛥ցPձJQ .TL%p1Ħyxs|ʼnQ"ǐɖ-y HLO|TV]оmT^χ[A#"x9-m8kS*#lV_)cmvWN4䨡G )bޅTfÏE2Υ/UPj c8%䎔&{ˎԿYs`UDASLt hdEJ)dd~SM! #JA::3k!I3 }PFVimt3Ix씗gg:轕n^H=No-e/W7aY+Ng{Cj1|m,ZߟRK/n7`/V5}ݫ1NqD!L(j֚vК \AAe|I0qMĮX=E8d8)AcWNtz$ ! ," Fh!vgkZ,spE rWQi3PvbO+yr3|vc4:WWWg\W6f̾`ѧ%xlXxox",8zf E m0Mk1X3V'.Bn YުIAőĢ>Ej2{{ɇ 8 mM0BdA|mXyP} چ!tY _\;%Q]3KF0vFq㢭8<-MBԎ4 b+7[kY[%*d'Y-LUD -7x&LUT7ne36`(_\M¯G<˒y:T쒘=kvz$>Q[oe"J WjuuZRAʍO[d|oH7M&`EV/I) ;6E_v׍ZFNi@~Ls`j쭣FQʖ;RJ dyۘe&dUݒV"CьgD}y9^Ȓ!E2exl t|lsc? ֐1QN񑮽ej; Cr9EPby_tL~sDO*:ƸI;ՂPu<, TL>S"I9Ĵ٧i|W6}dn |te.㼛A:}wOבAi: ֜_IƢEM{s Lf*R#l([mekрX |2ڽφ;5=*4D|0*ȫ3'1 8gd2BBƒ]8zߊf*pT Éb G2-ZjBȱGRD6xaDyUP7]yBS?>ޭ7oByUV~ÅU uyK9Qo:BBOjϴuU6dvqeY#?wR$KD2!z+?d 6LF:Ùnl*IH2Õ&qOV4SZzL 5nwB׵t(S my&nD< ^P5_CQaBi o@s N6Z Jm :`\ƍ`|%?6fWeO~;38$ >%\/_.WlE~@w1xQ>%`mD$p8aj!4}ŵ qUV0Kt[mh1/+KCH;=e|qvv趗csdF0٧=y@ 7.LUg5ӘQ?7ϵuP/J{q,Ǝ$$TmI!$dw65L'Kjћ ̯T b aőУ jp=| VD9&:\,ﶚvoc޹h;BDMYd#P-stUiCnd wlfHBt6;)o;U-iM>fMV`-qEQ̙3F;2X@ aB/S~Ibu Q'zVwWŧidq(O#~N(@l?Hm%ZAW `.g\aTdlHJdqk7H^)k\}:3oʂzxrƮWךh &s3  =ܣqm16#Gjf@͓*U OfQ]h sJL_;4dOYN[[ KU>yR矦s{n=E `:KNG !s8- `S]Y!@XJe.DRQx/_)I+XiQMxH5-ezc!n> N$Ӭ/jAihVaеΒ 9 ukz's2ˢYQ;`w;VِWQ٭7>zRyDиݬ> 2ϘGy3\?!q$ i 7~;Ÿ#2)TAOy:W MI྿7pB^;l;ؙ*|jxބ(1<@Irz`2 vPS 6-r#4[43-xG Dhdϡ9\ˈljX9r]\ ^b4Ѻ8 i&!|y!WcJ 3Z߂qDl-l#N<s 7-陫N? c:i>#4Ѡ hZvk`[^}5E)A˜li4΍op`JE|/n#H˪5ݗuZ% 9՝iLإ(]`FxGt|P:RvM}tN@ dWiaE,|qhV_ւ͍;b dAq#EDU/ΓO}/$l|s.ae&9k o2N.3_VqÎ:O<-'$xLǪ{X.!tz_.օ`(6$ 址XHfSѼ ۽"z Cm;sG9 X$L.c[\jxr@j#GX.r ?XWƎmؐ@d2ND?g!h#5u ϫ0}n8o8Ꮝ9$ZSE MBRkr LAމem:Ȧ5gKd[@/I&69ldJT#oMφȴg&?]/eQ2֛H04dݯ@CR('ypr0-7`l! Ffz ?&+*? `"A3S4n SFY-DŐ"*KAg#\r09 ;Ud} M^q=lANn"d'G[YDstjzUOC)Gnᮨ"= {|P֖y^ W E\V:BNN_+OcO.'~K ^U-AQA釚mM8Sy5Pjv8vF O(1<muxhIzw-([o@9L+?N89>֮jiYT'0E7(ɴR"Ρ^zA sp$opn3rVh`i\Mnt-=k$ڌ;uĶik!odpی i2 A> VM r~bK}y.#= <P!e4s)+Lϖ]́xEX fgJI 't)8cH?>,XֲX,14lmGɷq*%ZgKN^FZIf RGD0BV>/|Rt_uhɹE4`&Xzդ b%BMF$5sVC߸-[~tjvG zS /Lh=N7{}X{ Diz(ni/.%cS:Z\רEA@%T$զ~”tƃo=:+L[ôZa\+$^/j90t/#+Av&֙CT[Q-Z)7Ur$r-kF'R_HLn"Cb#˨_Ҟ+Px"?z.kod\T["|!.C^pbv Ѭ*bgU@/.::'MUKB%nX8݌Wюhe*;_PރtxAlڥ1ev^CR Zթe8R(Zl%#yy n%eGR@WGW|CEZ߬sU%.@YFS4,爣XWE_{0rj=&ݴ3lܧ?Oj=3*΢Rč@QZ#yWH:N4T"=P+3Y|%OYvEAx=lo=# ]c&cMbm䏵߳~j UoעOz`ѧmq. )O}â7LeY{jQ& JNaXTqm_j\$b``TKR#Lfv}Fg lwsr:tB2TM*>ަ`C TkXw<*2s#cX"f7{_aoOh/ $:MD,Brhn.-{akNT曼$%<߮M@thl #G^{)Tf/3Isb;,Jj"/oD!]9>vI쮗x;ٕc} Y,` .T׶ow̭usn "(_6hcqD6jѡLb@o^Q6 4,jԲ<#boo-^`?Qc/p[p‚n $(9ԗ?6/?%}ILJċjοqF{.yε@\2i+Ƈ#΂E:DU>7R{jܗ_:/$֣3 W\b/OM"? *8(tIF߷#)+AE Wi KGE?@:SQ[2/5#JWTeͽKpn<@,)OɎSYMe8;b{ua9!PDm75nT꺾l-#Fѐ嗉K_[G:Օ|3'axBiL9@!Ȫ` _gAN4YgU}M41p`QQ,=6T>;A½tzwD67FOcW eEn3qB2^Z"AL|=vO7RVI]owɆ0z|Y?ۨ%h ٙk< -l-@^' XKW:K؁5d R],VRsq0Ev( ¼dwA ^g؁FsjG;MsP`Q6pIx (6 $ȏMTП%i,3TWo\Xl8U)d8E-/9ta&,!n^3%,)I"7XC/IZ[_ Ie@fcV  zH E7`;gwNSa *PK+ݗ1-*/bjj\SmqЍN\~I#WFbART[Mvf2ou'6Wj4KxD-[CaO]8a-U0/^e+z`SaםC_F\"d[iuҤcZ,sYx_"}G '(P-#٠+begG3an7O^ݿ޾)V2SFgba6L{9\| - N~6h7.rnEzSvjMiM5_sM8g5Q#t<54t]q"R[(8&L:M-oү#rBtgFudRȑ%ܺxmgFNw"K{Mv}4G1 L"'>BpYb3wbj|na.]L* 6ՠXJ1cEż숇v ']FM i\; Y_;ؽ%vAhx=:!Rmk`XWPI<8k:T }e]XqZS7$?qqle?Qic!Y4 )/} n3$#{41; PHS4G? mH5m o( pfs3'W/(0}NPKD1tb Bf`4(4ת & e`tV]")y^q}1]`an%Vp-kxDfrH:0EGAW[$-maYnd.!Sd p$.,2Mƒq4vRh:[}jhVA"SsxD%LBJ\W у.fT L(aFwTF&m+ؓLp-=Cpy2sz wޗ2f'Y%~Ʀ@i*oEoW?Jn 8>ncV\$9_d(ee%zX{?A|SεX~.# 眖1 9^dV*%`F6ޭ.Y]^<#IL0m׿'m쐐v<5::YC4 yۙy"aV~wjȎgV8L~2&NmAHsZ#dy M1JFkȵ0&t%PBBڨ̘.NppXSiffmB;?QMfGNqW߿ВoVƦ-ahN©6A dn֜xmJx;sg5=&(B7>Kπ؜a/C)i{zk=], BAkϾ9-͊=Uȫ:4*La.3J)8De}>H#=0W1ޞdf76pkOLZ8O.U<xb6sMC:'ԆPׁE, r'IrybH[~x&u* IQ@+EsԴO/j?=\=$Klp(*BAwn,ÌGӵgoӻ۰ǰm"ۄ<34+qJh)NFߥW&t{F&vŌRieꛫfЩ'%Uɴ!"eAB˜Z4Rh^Jw(ײr,*oO(V(A}π;zR KUԿ:&4UAIADf0N0uZR+jZZP+sٖpu}K3C,jyf1֤n,I+}0V[{? w9nD5fF(@t\]-- qbo6_#^ɘw?QRl?`V\ d ] iGUf],57v'd^GMC^Tul룺茂$  = 5JśAx@ߠmɹ?+cwK6b)TJ]%mCn A c[]ծĊ%2>d=|~$p;H=QwQ 4h=))wxLKMJPft{iH="hw5!y'Cf봁~Rm&}εkhY@ܹh4J0}$#~ A Xkjj Teg'kbDʟ=ɨO z$peǓh5o8v!#7 .}bb |tG\2%J绷_[PiaK+)Qp %yapKMP >f Ep+T,g52Eh,48שjI_ڳ;d,ejHaTF/,1POlFsO`-? :-=(z_q ` X;G p׊y+u.Z<" 2zGX Q{?f&r#an0~L3hh&%b]P Y}Y%6#I||D IKI'@')1(54͸B%뀊8i.)t`򿓱f,#ou5/ ޚzv"[QASUw6zY~@Q/jէ54(H3sUO`5KWCZ;g'0R]{#]-)9{ jļ7v<.qѮD|pF"FU>>PVR4hKLG&8~QpR_ط Y`, dW N+f8Zza@qfw^B94rb-%ANsS qB La:@V%.9FuiaqJ*")ES(,B/9|QbDƸG7!W[%HiUv,9<9m{h3bD1 > T(Do#:f +m,SPͫάC;Ud ׾偑to i>J%(߹9aW M mQ"m";3L22ȳo!W&b/m-Kx=Ńf5 !ha:> bN g>'p^隃qC]u܄1Ÿa#-\-iX9z*b\I[oB$"O2nJ_PuyπĆzX:3d^]`f5QP4BMVo(ē~-WpW;zz pA]37o-\4bP&ek01inT4-N ^T%sb_ՌC&UiX +| ð-r&h4AiaZ-ݠn[jhU.-r[~C3Gu {^l :FIUi,%Gƌg! /qTn\Go #e|+|?39XVG4f4_xApG݋/flX(#uM!ߧlt WY ۉ9yTw% Uӹ(^ĒϵP%"(TK lN#j  FMJwҽoQ5߫6 kd軙k8$Ēb}3Hw<.,{FXg$-[!kXܪX kؖ_H) R!4d7C+#:z{crW^6y/!mH&DӒ7P!8 3]P%_c@TppD'(7"@$e)mXQ&Ce`3!GՀX>CrK+Udz鼤cJ/9M'gB;h!o>6`qۍ7< M'C_@rY=#}uvWMD0oNVXԖud2k{.0j\\W5kB0y mz5.܊U ZWW־}{%YCU\0.UoLR'N(t"HVV"|*d>IH}\|(D?pB8<+IT#a l%ĦR`(`#b1n7DlƁ@y5%s(:/OTm($IR HpxxdG"#҈}SZ}h˗) 8XC'%9QvIgƬr@j3 4*qp5veҬt aꈲ !p$cg4L+USFq(A@*^GwH(L%yvp KPrP˜ACf5 4Sgc~1xKckn)`M8fOhGMI2Ο4ʼn"ϕO.ٳ`NnxWWHڑyqLԷ3toȉ% JzAFaΏcwCS?Q`xΌ|fY#S6@]l( b'PejR)4m 2{y%KXA4OŽE1'M2zogץNOe\nbzWFR|`E+-&.wVOwf(yBP[@AHTݓT n=U:V_D?AdH(Loтqp䂹 *s<H' b"b G}+`2:4`mbuSpO ~\+c3B19gnlx#,bkl`u4'w0Mz~&Lr_!]ʺ>wO3\ &o.ܦ b7-:KJc6'g ދ&vVwGrMî~ =TjkDap*[2Ii,,!r]ӘRYw\Os* ^*儨plMT׼0Τږ9lasy(D⟟,{k;]Kq m&}6I*?kC TdmZ-߈hcR{lsu>BrR9kggvN;-?shQ_cY`éxmw_@FE-fuzC'&&RDQ:i:Z!ev% ky^izb5(#*#rYB!:) zPqo/pΜ?P gSfy p@#Bn\@Օ Dk4B_+7{BU{;fz颓9.L+/˅@[-IC~r!Jѵ_o }kwRc~<-Sa&S-^:=] xA4[_ \4Rt]9b»^d; ֽ àdx-`sVVf6t6LˡL6\%oѬX̳/H=V0 R%g&-t[b9&@DZc`/aVi3ި|sMV-z5/i7& XE]FefFSG1GYΌFORݺ5nN_ujBJ5EؓJ $`+Z3ޣٝrT:`y{?m@p{Lz_OJu9bp,R3zPJ:2 ;ԛ=w8JTU?݅|빕OvY4`ho(A/?P0;WZtAxԔB:1b?V?{>״]s|ć yymp( F>k X2g!A0."MIp/M=3!uMv,Cd%xpfwd[jlΥNK7>y!2o@yRgRE3>Y;Kxy'|\bK $ByXNa%fB5{:>W@0ln=[u=Y ҬU9dAnw0v1cāCXþݗ8W{8}xBe݅Gh@S#/.D1!V f_.{0Anhufwux2FvFej{̵BU,C {CV&8{"83(\{`l~_w7Gƾ.Ns+XʺmƘF]!V*V>1 ϺFIRǍ4g Rz9vQ: J5Nщ9zAS4% ͭGRmɶ_fpp4vo%⤄jQ SQ؁x5 W$)JR6Q0vt[p&&Ɔ 8-xuI~_aJ ax)uQZ@1*[R:te˙h5Pe7k\~(D;wzm7s@E$ .Sm$,Lr! , ,swj;Lܙ("&C4bh:cQJLCA8ujl@QD4V#TdsL¥kڋEDOI{Q #ʹoD ;cnDsWp1 X[ 9gsm$EV- 6Zڰ<sUji gK gK&.餂yKW] vBb;v}m^GԹR~İ߲{ sBTPFa~Mʜ<ٖZ+UF/QhaNQ i(ۿ<~2`Ka:+%OMgT{it⏭?Ō7-UDeWKU4S@t $u Nq?|R@ɰ?2# H8T\8kӾ֊bfx|oFrsB'?~SCT(ʖ; 7x-FܔB&f0Uȅd!pg 26>w +U^22PI^jͩa~/4 G:zl RxHl{VXFޖW98ұa __h錦J3JwSP -1px$_znSf2(9"4c/o1kWqaCwt4/wd*T7M5#oBkrR6*lG$?d%rnu|KT8,vbu)W-J@"¡w<xd[We~#M]L8-d*w34YzhʛJ 7n%> t8#:N0_j#f. ˛cWaxS|e 1e䏮0)s`[fa!_Qa!s=uыUoUBJ,n־Sa ?wgU%ryνyBڙ1K~D&q=feS F0}{GeᐊȆ44!ɚt!*;ʟ|')i_6q Q@јC, GQLK$ke:0czUкm `eU&h5% :X1S #7 ?e4ow!7DMiFvS)ٕ6 ɱ(N?V hrƦTœ(|| . A1l?A,u^Rq۪#wR{zIFR3 ToZჹZ8 rFvH _CUoVU匆괴(sF3a69I:Օ eEĵ5谰I%| br `d z6„?@dÁ)Af8蒌gTvdu^O])jhf8lT-_H$=!٫-o%%C~*گrfD>PK!7 ^Cu>&'C6Ryh=qaFp5Oaw Z@r޶ҝ޸^ѳxr:w!3h};GSw[LVg1  =䃢+@`J38 % }-Ռ9E[PҁOH 5_ 44#yb3#k1]"ƤUZ D\ sSkA.j!Ph*'`3>&iZ,:Y!Y.x"m%, [TGD=n͡YvIߥ߷ኚgǺx!Q\0NyI*G}q8Qҋ[֨jf;z0XFe_F}8'R m3\59}(4~õ04;~Aڥ ϙeDF@?~jo/闳c*6ztaWG[0NNrlQ,I*lq<-D_w@ZlUmD10jmOva\xJ2yhu#8ˡTҌ9")r~;Wm^..6TTQr i64wێQ=gz * ?pw1#'"׍dѭ`3\ +F_Cgj@+CwcL`oʹ*4CT>ϻiiq=Jh`xq.ږDb@S|0o[ӛ6 h8qW珛QƏ#Np챊x(+u6yNtZB[w›''&;mO齛JuT*@qo]KʤۭPk)q1uTa+͎K.Fj9&\D=AC -|l%ch`:]Mcr_-!oa5TDv̾|&\pݽ-{;2 Q9U4m=XrC6_k<<Jw5\c\fB=8E#t.S pUpA8݅gNFְj.QWɸ:4Nd,$~W.7QGGYe>ͺB-kM$M R0Z'$ȩKY= w҉G?`Z*we5':.]H XPkClzAoGJ}.x dWڍע\Xѯ (~ƻ@J. &(oҖ&,wcyxh ;c| ,b>Wj[4NsYŅ\_"nV'U[(:4?f ;bU*նfydU4 K<+t~!Ͻ)I}/͗e9n Ut z2^L!yfKC Vn ty0W[ :[; O(IʌP{.kHak+`2BcΡT@ W[$~;kjFkQx:pgܕ@fֱ@Ssc Ƅ#i(@،Ye?IV IPGˌ#Ù:YZePZbA!LoS`%xV2GDSŢ" lOSfG֚wFmT{xq[J"2$%A6HUSsO'<ݩ#iՍ<~W]hED M"fm Pؤb?_pXJ7P{Nì(5,{f8?'{/3 hh?|-B1j6"RK A x\})3*g o`濗 8v~ʙ2{TLV˗3}}2ҏ >;+&8Kgpr6cC Zt4Sbc? JB'v{ 2;WS׌OEhYW1#[wBF;#D˳aИ`Mc8vKhgAmx"=rz/=8GY`"wge2B+{1ke5_Xs&&/,.(ȝl*a S;9gppY՟. }%Q/9Sa{쪁Fg*3yUaN.A4xgBe}g = )oIKLUH @ tIs\7]]*֌ J>ƍRK%8ɦppP*"MNfԨ,'vD7]7۹PNX:J%obfID#%.Wk9sˑ@t06tNNɚtu'6z3ECPLܘIO>m}zgPHEc?R1GZt)0ߛL-1+es%1kt'csd (8pr ;qH1?nA2qYo/P$V=/~MM]oR:>Se)vjA4v;oA^7uҡv ;o#\03kПWIm:0`I+ =n zJ JzCDl~>70&&ۮ^V3qF~R4XrjTdQ:xnG<׫ɊwO߈6bPKyvؓOnw4@2gҠ^y81YFx>B;8EZ_!a0@T䩥Msx#vO<וڣLO (c? `CMFP\iÇ^| ,>^T;M^xz9:kmmkVnLT4:Hޝh( Nzq^]p2AݘftEXeG s*O* 4'5mq­\_!Rdpqܠp"GP/T! mPRMJ龅P1Yxh.ooUro 0SٍUF{LMfJikkTYόM3wjc7` }`+2x\81/{]|A"BlCxKl*5HA HN,">}ǨW@Oh  ^B6:. 5J7~>`C;CM9`sO|/M3&EZC|cqӯD!+oޓFi~=0igs)s r!#D1_9Lb 1l, |gKH%+Mӈ2beEq?a;B4[ҀXeo(MlD.|-DWST~HAA+T&=_lZwQ)5 )F܀ fwd8 %ؗV ƛE-޺Q\? hDv9+}\槂Fz-O} Z7~b;jTn=0Ä­]ҥKd? >Z ye܆j\2ynjV,1+#F»ՆRǑ=:Τ [~03J]N+ߧ|4 / Yi8LR,XnWdg-ګRAeue ^&sѦ&&73P4$ S2) -q¸VY~ >F(c@J8f]G6b'*v.*Cv{!Q7W곲Qr_X6"kajsUsIlDtH^Egҩ87 lxA0G KMk A/#2ƈ3W/y]1??wS##e}du F<_a9+,M8{$NsB!M$=2lFWԫ,q#c?FV&ək<0#\9h3)=Q$"*fڨ`^,.#?m m D(IFYҋt^(>{(A#!ؒ X8~uaȃFF@E)*8BhP 3Kt`nH-Qg@g+ƙUB< ”5$Z!L܁]l zZ ,Ӹ ?Bڂ٘ZvK$ce.2-i#b_  8(Αf2#anCbcS1TQmjVYHvt{+w׷2=6fz;Ք z7L'eY ̐HDw%5fRQ n(Κ#GZ|%˝Zu-7x ëW\X|;ᇺ@ە e&gM6@Ef:W#_m.颍ΈKG+ĸ ֣I8aRu(^:.@=~}~n)6a䉤L8pu#5ݰ|P ''p\)w0yebh`]&-!aq ŔXvL%V鑋 YrCQ=-u^ fإi:-(a ?VIԆz)c<W'XO`2 J~#4N7,mq=nMe*Q?E=lV3^p4>x!"DDI;>U1uV9S$퐦Km]iJ4x3QAHf:'U.gpǬ*08U7O}A@ؕjɋJLnX**#%chMzCY2Caѿilz𷳅+V sM?l"p x$!4C2I,;j) 5DeKn qŖ{[ߥY!3ko/^]N\ndq<\c53mro(0vt+v!L,p3  šy)ZF!>ktsen$i#]{A™Ki=a7|:obdI>꼵!Q\TUS!>o6izI Iua vbB ɔ'?%BQUv0TrF--Ac_N\͇mFEpĐ;=AWvnYV8Jm DZl~ZJ5J?K\%N "pO>gԝpά OCllC.q#Ga;RM w\-e?VmKH$!zF<# B)x07#՘i?\U&+<5:T4&?2C9NUU[z= 3@YzGlj0<@~:Q~? |cWDo]\\OTU6MS8 b.tlPλN@~cܿktY*ql'Mc++ѵWdVoKhi% ,eoҿ^$^?GeoBȤr,@7VF2;V0=1]& ?=ҩ%rf:܈{?#V>@_ZcUvGS{l_%-kHb쳝_IaRjJ4LL62;]6`[b0AγdSmq"P TϺxz^ЧXfÑ`OT)!!;h9XJ#P7޼lRէ˦]}PM:PWTV/T_lO;e 8=M(h+`T"sګ"~Nsz$ JxXTLM*ugp`/5ஜ 3>\+->GĜK!Ďix~+f #:2ffsF0jLWuvo@d g/h!}2io_Ā_RƋN~Mc{sumxҁsgr0佤?8dUQ2jE^wMn>8/k\hai*p5<1J"la{fܝK<3S(e_cбS-,rIQ,Z*XTQ&8ekӅ]% 7>LmfkwT"겪A:ݾR>R.rd0M>4H^X-/~) *YŮRa.DabELj$κ'5zwTx· <ȓ<+}SQF7RYuz57՗yw(qz}Q1?ܡ~о㻂p={؄*5J}(aր4`>P29奾W^isi8 P4eF}o8,/{K&|.̗qE/\8JIl-M}).~~_TZ;_-zR0ux/Vg=sk#~} Ñp""rAE@rJ}`^ȴ͍mF!!_Jf_=9SP"*.M{""hE{7I$;!B8ZL3ew8vk{gx%9}kY+F4>  Ck 8qE⬲ y\TO]ϿY(0¯DVpeGX&[X 8#)~_ZgWΈyC) 5qT3}qHy7=B ;e^ZceRaF Mf"“32%FQ `W9J3SS>3gpMp:Z\4KG絠.RO=o$;wv{~"a[ -_h.ͯq EhBP9p|q_6e,WqRd8ĩ<Dt6Wcl̀["=Q+t8gVTx'Q(6 W{̝d;nH}'H,EG4iGafgS_ m؎^$C0%jjUL P:צLafQ>2硐Q2_ &hq{ a\^‚#zv"Ѭ]`bKf0b,oi4ZJ8&mfHuWI|e_4@Wwd/#8W;4`P/W"î0ӅB0I$~"\]QK̿](%A?H-IK?^OI_m6PX i0"qWkAo/>rF3#߭IM+*?qŎJ&-Zv;XKg6l‰2M]]{>cdőc X4+BLH}J[5t(IbG#xQ7B205B_|7]9lՊ@.zȯjKFҽ$58Q7{$/zoAB[Qvϒd2vܖgv|hih!wj9Ky f%ڭjdL:8%!Kw[msVmU_܊z4Utrk;N \oW$_*bl?2t u/uPrmx%}{6tЏX+,rbfC ˫0'a1C蚈2_](Y}[w赈vs7T|Dm&s'/YΝjVUa.+mHV*l1N 4@=9 BRnOErmmL Y^FAuX$A;^*43Pqv1ڍW4eN'!߮2JO㱞x5r"/ⶕ.˽~sz`HzK|gp<M5)RIK;"TQ;G)9˨KT0nXnL|R{:R/ S zLC*NF5AWׇF͇~2d4޵Ğ5xt6m"}c^it0hF3tny6e GPz;@);;k^"..w0a6 'am1LrT(K:sH¤Cc/[NSM$+V픇AR+"gM xR?{]6sNo@Qa fAbkI۹!=G0cRhȓ,ƿ/!뜁VtR4m\I9ӣ4wye o5Nn=*#CU5մDF*cu ׌9ql>݂<1id{8QCkak-Jmv-38Jg7{ӿ6 d:#!cb3AsJut0ApK}dx,vΥ}>2K$kO8$ r;"U-@Ù$Xï:@nnAz#n9 7+_~b `d%7KVCkցB+",@Ƞˀ/m f4`6| [`/ -3<$;:G`%TC~qLQC=;$@Y55Ҙ$˞mH_'Q̡n]W@nP)YCcΘD|j{[Z6g93{t Jbޔ ɵgUrĽ6F }`4- uf>L\0Gy 华h*^%` A {ipmuPx73zxU[1^%Ɩ, y/G<󧭉׺z9 zUa] [;r~JL] oS-^:ru'TY7uyߍatqtպi4ǿs{ه>P] Bǂv9 N9yǒ0:n]%(vK,ZXwNE&u] 8ʡ}?z[ a^e&k?n0u*ߏP_C*syc觼`gLKc{yVLy 4*D]&:˅CXFNzTP miu~N/L 1F ze +I/_ÕѲL Ӝ˃] kT$f.S]0Dc(_9v*2d`Ie'vXx&EuE3LKwXDmuڟѣ Q;c2T͇ɉ.)XԘ qm!U ck `&]P:b;dܐ䢃yNjy$/~7.mhTF. ud*ł j B=>>Ǧ.)o5%R |vj딯+gd"̾Egsb\;hj1edPGh!gnezzD,GZԡio沷k O|j9vʺڿI4 hCJRҬm73Be6 Tύ- 'MST6[<ϐɭWbc2 b;pn"e68 ׶sQ5ؙ$b\[@NF)b ,5ʹ he‡3F\[*4(;fDQ8=x5ߴ3*dH5 )!1u܆"^$s ֍:Ƿۈ"ڤ林I.T]\\0IOUi\LeT .:ԑ>} $shEJ=2 QGSwJf#T7XpJgBSwEOzE%9kQ*1OdMχqsJ8.Sא*$:z4n0 &X`]af7XY~~9D^$QN.J:S{q$5"iFA$EVyЬS+w4_Spwl(W%T;=03XHL͸E2(U q> qH3't!,ȳٚu:eۧiʼ9Y6U 2 :;mi*_Ѱk*u~pxY)O.S#eRUɥ#D8aKn)yQHMP¼vFx6lGlh߆͐E #'Y Xuϰ i >tا { :07Ge ~Bh3<^)ϰ!!- c&sr{f\%*7*3Dt^U ᨮʾϓR,ga[I-+8+y [M? r;AyH/_CSp Gf{e Y4cIpj `a& t^؞J}Rx=r=\~{/K>f9/LR8du3fWCLOeݺ$t\ۊ&qQOt͆guA7A΂mk ؛OrKg!0>aDԴkP/cF݃ J^|d#Pz>@}04 Qx UшHpjbkiɈDr[{4xu[p~~4\v OK8O4ɂjAzh8! ߖ=v`{ǽ_&ZU %٧eMujhLfX< "4+лҾ ͽ}N5v@  [D?7|=ڢ\',\^ 6>=e{-WFKtJZ/k"BdŦLɧ&?%xYڃ- cHo >ɣg_wX^R̸\ v mrsAɤU.hqQw <I{awkkFXPvò}=1עmJJHjxT.JZj>է6ܙnZƫH$%z 3#zH%,)#~UOA9O[=oxFJ{?EVJ}=<~ S֤N `NwhSʏ]L,}#+]J'x"4&)ʔ 0E :-EE/({Rp`ϓhu!NI&!>6+aqH9̀qOaoޥY&KA֣;8{N>!"B](;H\6 A }۴ΧS0n/`6k6\c/rAZ j ɥ(NQm2x NVZ& o!6?BSN}  Dn#f@KcQ$W1T00va~9X‹r |`NtTd%DUi֭?j5 ^t{a'^`Mܞ"'!_ c{ ~0$5o4zD~*ߎ-iUe+δ1ĶF/E_]&AO")7ÀVWfh[:K*4 C9*(ޗk=..M]T#H4mϘ(eV PH`~ צη *)̇= S|ՕB{ʛ/V`Ńӟ.6caj-_׻L괖3%'l\>ͻ r4HmU QJ ?9uJEw}qtoN-l٫s]+va*.,0 cBP#_~ { J3GfDO`?{{%kw5eX0n 塴WRr^KO}1#JkiQ2]# m\pZSKCWڔ-3l0E,shed#Q&Vքܬ[b *Ԛsqq-4( ,:~ rzC̷NꋵC~^5iZLRKlv~?7)3*0'"b](-)Q @k'FJWM L#V6$t#Eab!sV֏jAPҿ@>x[b \\ 0zYs+e1@Zu' ]_gJ KQ^#S@b4 l&<ӑ@%} tlԓ ؑ޹lչh ?IDR:e3bs<ԯ*GLb;$Qx(׆ߡ nVZYڰ+>a)`݌~+퇤 'hKf V*koVܜx٣`n@?#.êܽ*!VVMps}\@j؄sfeKA˖hS. 9?; tL"(W&ڒr67-$C'oΊ.`3hryqu U E\}A#WiO?/:rHMY"E.>@`oYdA E\s<#"|֝xSx AhJ*Y#|Hpmzkޗ(zmhXo8MET(}0M⮝|L@xnu]9 H$}Ǡi6Cފi?u@HZ@"X|Fm݇=vuMt`GLzD~Hq5pfCHaߏ~7`B"9^O~4s!iw`mL16;!ӱ9C<'_X)H \iVM^P3Ee_$MEz8'v穕=>ܝZU/&})D3oOFjW3Y{tzD z. 3Σ.稦o`lMMWJ!3i(׹(v3uI af{ޫ}gSbu6 ɰUkC2Q[s9Y3^k[ )wtU2juv}Ġ𔅮Uvl!rŮfrq7@5z-5,Iӑ}^u# .m];"z>6BpO\`W|XrLlKT{?a x.=Snň]A=^oh"b܀]7x$^Pȸ##jHeٰh#%˜z_~4(D.`mO3)PTN=C+,4@܀I*˜d(o@@Ki3]geSW٤@}hDXZbop%FCBV f7:*;?V&ՕMT6#k odb>2Mmm2L(VN6($%)D]uSpϪ 8򖱉nh){ KKq ;:(RLMٽل?C&ݖ'H"rH(h'߂PKtEc8:NRf۪:)Ϩz=n  TZ?ccF?aGVuj;g7.<I #ׅKGHf5]e-sljN)P 7GV\93Hrc6ZX;,~E1K?RcQ({)sjHGNU6Zc~ܝg!l1=ߺN9r283$(_U0Z{``XT2dP 9!$DZG=@ jue0j;I}lK b!̃-< v'"B05_ȳ -`wݚO~B`U ZP'3$@@~`Ob'#{3lD4S0*x×pPt=(U.OK$0}:]׮#LMA)'kyӧD'J$[W<.F|ֿ-#tAU\-b̒{?\4.r6;Oo7 8kÆR SBXG@f\7 F]yoFlL`o,9Ohp 2lS(H2;|=/ DNj7Qqh ~HfgEWJ` A^=j'b}H Ai*U7ѕq'wU=6b ]xI^jS!x&"bgYd`*) T_r*!dYì4ּc-CfNC]](V$ M2=":5'n8mZ}j ȹXy1.a5rmM&if.Q7aDOFj HpomM]I|J@emGqe V,&Po_4+׬+Uã>`+U,}FA㇜H-pZM܁-4V=6s vcpY?_equyRFba>bWX<ι! }_7ݖ^$Y4hiQ xd<?k6Z&x3ޱr&b|m^BfqkEg$T(IDr/&L1clk/+ x@7M$uw#x4kN^{>cLphCE"&=,?7˙I(&~p,teƂ~(_trtK*c)mAX-suhxOy]>]HT[i5uhPoڣDQ~ 3* \ ID6T' Z'kzHNHdvc @尽$gX7e*AU ϓG#)̕eop0iG wv"ɕ[+b7B;K)V6h_EM;e"$7(d -T޾"=޼57g{97!j'emmJQ $ۑk [ǶgdW'B~uӤ;m&LfH$PD6[WC9py#icI{*mnx>!:X,3!wp@l3Xg ;y5[zj6rP9o^G+ۊ?fc4[%>!u>8BiKEA pEl5.g,R\yi[kgxjoD?mUzRZ}ʜfְ>`LX9L}>k 8|>ƥҟ"󰃰&AV]<St\zڡn{^ s̛(A?SO*j ecԲ*c`Qx!6c`=xwopM&l' LQhK*9+,=R s{dʿYNVaJ2 _)U$plJ"*oM;mF qua^pɶ,Yn8t(ZT j kM,Dpm=xg$<9'*WUU*K+^~ns OgmX 4p1/YN;B} %m1z:b`;8Rю. CmF)Sj3Fl\ "}k>ӽR!'QאMoY*`e9v@Vh>e;㸣ט^ ˖[t5^%Uh"< C+01#D#֡43R %mɖX(x0`O׾em{meYn1Kv5$T7*[bv o?!3PcWd#^fk2ظó_y&Y:~;_3A2g×ikdA AI[Yuˈ(Rœܩ&C1Dgu*`yaP%e xg 2brpYбx\!r6Y_Wfxs~=5g?l qѳa]q/~0MM`b\KnS'XxA/ %PO3}3fmy{!Ց7EiA<YRrwwNTgQsL,\QJCK}&t ظw91qɕrqϳV#KWdt(}tH_n6iE\ XcpQm !#vz޽\NJ]@Q.>"ED螃.>~1\ ooX :Q4-"CLX Y/v Ⱦӥ^j$ ':>ȥRN|;gVHp9ğ#8TpiTN ࡰ " ШY\4ozA 1Zn҉Hr=5Ԏ {/* a|ko`&*W0*xxr:(U N"1;R4O f yES/ev0vaQ3eV{va0iSH#*9j) DK40P @#4gFZuGx!M^eغA/sDĸ2?=aRMD #guױo84B~lym9jdm/Evǹ Z-$tF>`#WE8 _Bcѳ28M8TR9B^XeGMUխضtѫg,3a\#Ku@bS.Ʈl|+;%cn6 $!dJ-\qDV*#*JW<بF8Ⱥ\喂/XpPDŽ_$gq˙.$*]Ae=b~,DSV,FO_JVev(Xxw*q5THnף^K }>P&GS]SŜ(->!9Qa =17BI\X>`Oc58̚Uo?` VT3gsG|o SJȋ+|=hd׈ŕ /4{#H"uiCW1xY/7-q޿ .T@Gj`PN8{M(hY)z<>}2=9nhޖ(-@e/pz(24Gf/`\(|uAg=m?'3Lꇾv&A8/617g+33@ֹ*@_j8UeW'-\nIϿo{б^t؏ 7cˑ&Xvɹƥ2uiT5`0QUw ^?~Kl;Ntq{QSH^zLy jJ\4Bzazh]f";`R%Ls1<.ӡ까T%!*=~M07@}08i9i--7XU DGw8Ut-r_Վ ZdVb3^zI(bKC>r, Bp4aNWT'P/\cP ~q)PAkrC,k$ߥ8n)+ƚc6Bu@Zhрȴt_k/Nkw-ĕBh V<$`_# _\Ws86,Ǻ;2XnPR)%daej %F81nzii_H%/{[퇢Wo"_ 4*1s/P$`V vm>0n*r "O0 4xCL7s߸"{->16_Jm9z]D]-yٻphqCdz]4Kv&l~\|}H_:8 Ƽ旇@%=$mp'0B',b |meZ@]" q+lNyua]Q5#;/GⰁ7GK~r-g4f^l?mgȷĺKŶ+^gGrtD$J,bAz<'링LY]Z6@6^ֿJe^{a4i,)bm+ bi}k.3Â'`y. #*}$ {ɀ` чB9%d[VW>7!.g5X7 "ls__Uo8UI=$m6( \5ǀz|ްdh_^mC`u夌!DRئ\N?0zȃI [I3=M%nxZGry"23 B{.NSxh[+&64| %gc"1w((;W_[UIf_A:?I\dDMå|_`0(]j{"F2[adR\IFVhuh" ?W [b LzFVrjS]Yqүkp)Rf6ӑX*3= Mtv@A)B%P`|"}ꘑooU<&_4r%Yu^"zU#<(fi,j鲡HbqE7hjc|%pwG&4PLϖ:b]5y;A6 ;~Vl:X!ˆ؏KSOMetO [|ȆxJyB.vОB g9F>Z@G8`oܵ z~!b@U&DVBɥ61 gPe譈y)!& ު8{Uu%jGwң:l) z>T"ńaU.j6dMcTK>ب :N}q[Wzf)shd,? gAi##ɵp~Jt^Wt$z{wX1 @smaɉ8 ~P2zeB5UhR~1ZDj]l@I`7|&GF>Ҧް< RB]1|,j'Za /r\y0feg)XUQ[s0k#X/jvBD0ā>)$J33 7T;_FH2>H[-I%qF  SĬ`<.qG_{n ͹X\ v 0vtq7)I6AWi58teZD)NwE@, BMi#ͧTUi:!"Q_N&u>A3wPVp W@˪+-nsÒFi*Kq%yJ Ll3 5qE¤-qGN᫞L8:J}%ovbxs&a-ipu[/MCzU JcHS (Gl吥Eu<1$<{+ "M.x*v`xtYqSŧ!RUzYttR2_ח5nzzNwݹKJHhO}6B`)c P5XMwUZ E*WwDOJʟ1T1/'`C<;ʶBrzo{imR \^W)7q@.toM =כ0{E ug͙NXsv bu#*%I'0 Zݭ hm{]}Rif9?|œ;nrվWU#WKm$S{KZZVi6#~8|T"9^n:[ѳ|BF8_8G\Ө! 3 MO>H?.bwnסS)UmYX) SxV(Ke,$UbSQit6Qo/ɛ\ǚm3ȃG"٭w+9jSd YX]_ m㾕xtc3qOy`G /JH~tޓIZ!bR/+w9bU i Da?qĞ+F-!^K3f1Z]LU\\'Xɕ)&pҔwCc]41&݁Ǘ=UJ e]U^De5C q, l:;bZFjB*+ۛe/GeŎ0A6RvwJSlmϧX~ ͍Vq!( uu<*C{ygH lm]wa^<\Ml') ]N41 (fiM(l;M `xMjהly6B/ш@V'I$ (́1crڬzPGCїCfw0bw\y]"O[ɉ>Z`oI%*`0~ǰRȏ(6saELjY\>`_]PPWnRhim] ?Hnpw(`3]GnpJ YHk?%bh(P@5ΫZp>B<b3] 1͎g(a;l)oav8.tQ(^L.8<"CG[kv2T \X.$< =oy0,~> .dQG]-YTCtB۬[&i_BSƉT?j ?]42u=DSuō$NsYTv <ƖrBkdWh3ZnJ$t\lf0޶&quI s[O=bpMع[f\-ۍ!bhI6}bW%Ďh&<:c%>Hʄ< 2H5h:«3"&IԒLREBi 2Pf lTMvD4^ă3XH`ʜZ'pOZDU!C;s"*`bۏH+ ֎:/s;9ɛq*}CrıM\[d _G5tF)䄴_,Z< gPbL JsN|$]炿6h-DՀt:d'K"n5ɲ4Q؟`Eٱ6N >y+ড়\sšez2l."H*k:X[ jq5f{%/=,җ#@%Y/ՙC $}?Hн "XA#"tKÔi0.WMNSBjbyCěfNϧ KZF\XF{ z Яn ~E{YZg1|jji#*%ֶ-ta} :Yru-y~R\պ/z5{A{}xE%0Po^#h7DV L&\xWH`>ֿpUZU3Z\LANc iTۅNy+.@}8m %WY>ƺ^An& ypgyvAE˿bS:R3%;isb1 '4P7UlБ70g>ƮD?R3]:XLqA8踞q5uona5&"9ߐZ y>r0 _ 3uZ] O3L,.u ͻLjt7}?յ͹+j6'6M%+vH厰)pL"57#7s:5o/܈ xIxJP|pJ2i##ZlM_FkٍI>̣/Q(k-FY .\r*GqɎ D<%fSF&l) N;FW>?ogy!.]l>-Z?\:H0Hnͺe߆r8nu z/ħ $CdqwFz.a1-}};3`'HS?u6rkk3mya›3rKP<. ٷbyKW'A݂NLI҃*mhzx*yEFH#: _T3xjB7W<Ojo}F4W\̩S BFL Q!SMZ9"?X3bX&d?sIaZ]wV$YT7]J&3qlOyЗr$1`էC ]Ghrc] K61E\"dmWYԫ26 ֒no,]6psV&R3%)#MgKܨEQinQ&$ЯPO@swmdՠ(xSle'7-<{X@A Z?Rcnuxzdئ zt1V} KR}'O%Yq8s2 ? v12n/E CI}ר,0Bؾ'l@EMo诼Zzn?^c,Ber 9rVf3~ZxQېpHylKxdfh._x"HY{]ں#bMyٵTAaJC&Zrxb3?Q=R MI%d؁|x[c;6j2R4jYi@ Ӝ>P!?yW ܇2ӓ JWl0xE6Tؔc?x,4z5۱.rަᄍYH?7\뀷0Aıo:v0C_;b7I4(M ˞uWl`בA$0@JiHPC}ƕ9i0̹J:YQm#e_4j<<G0aOk>WF.ILhZOqy|]B" `"La鎤; h2~qd;NM.'sYn M'Ѻᠥ?Ruu? U F>Rz`$5[ɜŸATtw*$R?e6CӉ-nz_:km$T P]NM׵Vr++)cU]P5p0QU=ޯ\&~v wif6c#oq0"9^8LGž"+{H EZ: Z|q~7~_% Q*֩1jvIހl^,V1h34:^;5+*Y]L_Q F~.8` GŖQ(޸=Z*1`]xe55qf%/KXr6hؾ ZPŜV +[?^SiV(XɯJv6˙ H@π[w9!Z130>>n+ӟŰ'Fԣ/s9 < ^dVVgfl`n;Cno{o_(5 }c<) UZ/@ALJW_nφ ɁBt_=Xh.s/?QHjHCAM4lnw!my> dm"?,+yBEH71w)#YlGp6?f!)f6ݒ7mkATQQ'õ-PLn xVy6>rP7ցWEhKNLsڑ9~Pnq7DLei23µ7 !;Piql!:_ ~`YMrq $4 `9Y'+=;zUz aru+r(ɬ(ォ"PxX} 0p^(rP]k-iŶ}G5qtů4nU!~[kJ_EipQ/^x`5U9%ȇ TST}|oP\f k y!R4Ia003#d|vT0g91ZIǵVwy*5z #Pd`~+6bᡸ'Aw&i5Oz=Wbiq>zҹySudR͜J/@va5oN bIPu1nrmY|H#eRL{9jNzt݂7 >"C"Ŝa;}kIpy[?A!A׍ 㢫g1^-C]S cMCC;MlGNZfgegW7.C8fOhNHEXy,l{^IoG?xrc"/c:a~<_&Ƙw@ 07+cXU<*݄溲;+v*Wtg$TFtuT{(w՞\e@Ҕ64 $kavI*ڂ Pm:\VAuMec~C.(X,&1 6 M8eHg=$)j ߯ #VӸwh?EͱkZDGLR/J:.M(p<ԉ[. l-OK|S Gs,Bijzfg ezl5>+b63L946_ yse޾\2s}yTRڣguiA]lw==,? # aX2%h& cK,}{C2P͝yyGcPj:=K6nj *:>UۇR0I\?@Lb$R'j4HMf[;@??)̺n7g"f|AֈRǿNtb(=懲**uQ"۩"6Cg7/]X,®}AZ`Ckq[:ifH[8M ZիDk+Sez C}o)* `JZ{rļsF^V@0ZԚ1],c6YN}1yoqTp3ba(ݶ!Wg&P\Fwm6[fTiжt6=)Nrպ!%9cq6igC7_(igNfxL͞fmp\ ;i 5T@̤&QQP0f%2'Pu %|,>WW;PWӝ/ D=i sWpTM?;E| +DF/S޲щ/ICAP}*\U%p3M7 ]Mҋm){{UrG}ȧ_G 5|batnh^x)D\4e˺+^#ڠ0< aXdidn ώ[ ˏol gM3|Z辣/,>Δe)Ms STs+pslY2%ND?ɱ[ n21M;I:WTiSGoO}T԰Y<=g%tj: on>zm|F<gިMH3=Z1KTSF1 "t[j6{(("iScCnźE h+5[d+1DIѥ^? 5;xcl.8$~n;si"Pj'yUTp? zȶ8i.G&=_D.lg+qI3J r#=k)^\:\QAQ 0dvc+֞YТ3lkow21*J rUT1Gw1`L; 7:TD@;c9lL]򚠼FzD?oy Da*t.S`;8=>ml&]RRܖy Ω֤rzӿvkW[vvEXQmϬN 2@BcW1ِʃa I3ޣPёx1^Ke`.KVs2d}7Mk=z}wN %%צ s!i+iOhn2rtW:6ltp4a#Y CbpoT39-͔@6r=za^K#(Az#)ӖNB^ant=!8ۏ&8D6k;2Pf1cv*1,ieEzk׭ g5I`0R%nXg)/Q21Լipֿ۲}N(h9./? w> FjQ>i X*Jwʙ=EnqM `Ȭ)W4曆48Oh jc:ua JOhϟVoY|W(y,j5#zYde="6~3^t}޴_86< Jؤs9 )RqiwCc)J.ۖ^ՁaMFkv)SѻuzkjͰ'~Rq;LФSzʰ` P&1F[#A%I:`YSg(a10+kCVIg]IgqZ@7]=_'j~`{$ -Rbn;kz*&2/r *lϗRz]24GIEt! (p5rw."#dc,yP>**nW?\qryksNe~&v!YkuYO jcI5ltlT\Ho)!kuu ޫLLwaL};Ir,@HS^o|G6OѪ谓"P>T٫ZhjOLa^O/+#xo@e Ȉ!%U2[@V{룦S ;3ʼnE&S bFJS4ҿrt%N\M;4 ~pD!t,+#"yj W_ ʏXpbtK퍫GaY !7rCX/̏>2uX<A2LWVbG Ϟ̀̚elrt6=בz2S&f?Kovxؽ+,=iw8x%NÞZ<,l ɶ h # 3x^DQ9$>7B,̉!ǕtYAdSɧR}t~4!UW[r}{Q2*Bn&l v+ĘJF obݟ3EqiOQ%E)򙢐eBubh,i =.a >I^qrp(~1bF>E`-eGBaGM*`κ ]j?w'mZ%nyځ * P5c ̎nO~,@A}B mtej&.wVp2]T 54x]܇2ƒÅ FCW/Ԟ:$|pV+PDnVU-X| BRLz{#0K^I ;NgȄQ9 GO)D+p5qUDBI8ϗv3Yiue @ʹ)qDf9Cmj6%l2 D1@?tk|+9e%J=;0o.d)QwxGSt|02Y'cd%r|q߅l]cMoE y/?ܼJ>xZ5jO,C>DEkRQy??L<{ v@=Ha5k`./|H>Ν/~ "sxeghgz`mYwpv_f uQ&n`SI&:*|5BbӐ xTJDw ` ,Jz3:x8amy5'PBdy'Lj,[:ta0 0i @IAuL;|U "دK7`uGbİ2K7 ΢`5fJ!?D3Sս)|rd'&3 W6O2rn$`4??*N"_j 3&䫛N D4VȩBg:Bv8;W{{+ ||b[peYaBa]bJC#w d8*HA1| wvG rd!`Q n"v0~9I4Ǻ˶7 @9<2 NQ#8Hìm#8"6B%Z`0/!vUib>[248|=x>3z(Uy<(v܋5bA̶*BAaq6D+Q ["E1Al H(6Y'doY?ʨF\ZKUea`!@n7Uhѵx}k6upEa-,}T~e˗˖EqNaS B}ӝreXnmHrj *1VR9>)} ɏZepp/r̈9h>jÝ Fm\?ʤ1$aWkTmC΃צs'Mr\=Mul9B2HKws#iw82drF{suewNHeXQ[P>Jmш3lD;~{Pǁ)WXt'NfՋA?RY6k~L {.'qD]X_mo%Ghqv"eOӌ^"4iEfk5OpfI!H.*A+&T`/$cX;ك^A&\_ffFJe8ɒ1+d\%FvG׎Q@Ej(da53>Jǧa/q0/|o pggPd_PFE[_?0GՀؿsUH W.`)~]jz*U+d@mAW}[ U|5*b*LsF.4\ vM.>QUgQ"*A$pyzHZ\ڞF.+B(m:"|lv q*V ^2+q &[ 'OUŸqW׃?)˒=uܙT=[QC)ގ1ԴR5iR$e׳ MF4[el6QE'[ҋT ZaorJPē@ o\S4-F~6x0`%U>(IEAxC@#V dFa~ A279} 衒/`)Ƕ }\> gSX1A` ,BJTGg[6t\[ERn*m)>w{Z`N6?[?fDRYnYƭtZńTDlSÞz/ 3ފpg >3rnz_Z7CWG+=]o *pn].+Wty A]rvQʿMGߚ X~@bno7WCVFjq2!||qZ"6dX#8RuT2#X Zf"6U-:FWvf:!_mR+I.9f+J%yO#Ij?sQkP ]AcPZfLӥKa#.}e/l~n8] QґNl׶IYЈ ^-W)d}F/3[ڣGѳ핁@KAd;.V6nHTZ\-\'囓kKsF1OV>CrӑwbHFW5\/M4UTgb>)_=>!*74;> Aԉyт { ﻹJo9n; b)Icu]܃'Az4ӳ-%^s;LS'u=ԛ2L!6u,m(V\m-p[1 ՝ \:xOa%9hӚvXޜGm PO_#(ϜV~(E{#Ye߉f*X9]إ<2+5)&J!~>0hsFliF@0++@ l zbCi~VOdboeO'á} &}]xgJǬn-Ɲs~HrǰJ6qZf5" [vl!$?Kv n +#;|f虻ޗ|WkoFzd M) Egw?fNpY3z̰l,wm@"ކ! ~F7 Ch {?9zBOXG<òL)SBgֵ L9pE|෦@SSoICKbG~n3 g4>'E9OR"x+TTޫ]eLZ[moX3940s@:` Xgx5j 2ȞaE[sW|@@lʮ7( ~ۼB:7v)iОX`A%Nfi е`>{\IZjFAT^,۩NoJG--짇WSъv;v^YUuw7O3[hFx_Q{ͣI%B]La`]_OQt3(^Ib/) 9ߑ`@Nء,I6DQ'k`^š~m.`| bKPFb:kI Dzah_@wH7*lD'DDkDیݒkQ.RD=r<ΎF;7o{# 6p(s++(`Y+4%;AbnW`vӆ$?do p30p}|~c=D=Cn+'ù]LJDFe|P=ѾmT1יBde=] ,B<V1N$ţc=wC3(W+#X Wn@H \tWB?!im3lTHh'qX" ;B'|ib^:}=_BEϓcGf~SiSw٢󓪾oi%" I҈g+B3x : 5{W78o3&އ֦.{ROgLPlK*6)I`r(v74K܈J{sDTEѽ4\B pE ~_n|M/?{ڤ|<Em0R qt5idaըVk+J 2TO%<=Cb"]QbkV?4;RJ~:8D Wl==vW8u!.5z;jPC0||o#Vh dsXfbx65y'b9iV#$MP!#VԠS# l#C, sȴX]%`#XSQ|7jaU:ntH/ y}(h4RC4XiJBJ<~+&N?0VH~߾e"w:`=;%oQν&jcL%+,gE=jmr׮%ۂfbEGֵ'*&",ZY[IW2Dr@9VпM%.1k/vo1y`R<=̂>&n @G #Im^~a=W"tH|ۿ"m(|@zkhu" قLZcK#&"$VMW$9Z{bɨrFAwUKOqIdS/8W"*Z73܂ ټZ_s28 3Q)`#=Ai]x@ܝrFˉ!D(|NK=pDP 9|[փ쉺)&׳!첅fhӈY^?gQ3"|_ jJi#yAk/\j+ CA{#$f8}Waɱ#YK{#xdMfÖσa[q9Z3#iG*i]y^Gh*}_zNG9+t(H{۔ LD'P.cÌm6\Дn[J*T`nŎظ!Yȝ-Nw=/}SƼ&B 0kD1@2đ)Zoՙ'yc\Z23;vqQʳF5'wT;8yI`X~ (Ҭ7/sKj˖"~}|~1/*m1FGpȈ![N,\"1oDΗC_= rAE@MI4OB)A1J9PJp܄;igJjk6/w]ZFsPtIܟVuMSC5J5Ջ(EM7@T8ĺf&S(RAYI++ A{lNI}m lՠq(nدO76Z1_]mVAMp,ӝM2)_%F{ /(tڴ̸_\=euK INvb ?v~[I^iZ=\35mz""#hc.95ic4vŷ!xlLϋb#U5 dhJYv=1O ,q A2~qP EDR^IM]^撳)'Mf5gdl+<%bofŞ(BK p,[[ܺNJ@HZ!K38+{7b:9ΉQOɖ"MIH6s+p;)xq7 8gpFh!ssL`o?9,2Qef\8Ɔ% hګ[.i)qmǗWkyCy 7<.G& Ց672p(\bKR;*O6hgD]ǭb k Y3*jҩZ\}¤Qg\TsnHTOqD{7Eth`,sK[ u{ 6=m!N Mh55% ڳJ-- ;@@R>H~txk~Ek;aG3A:4q{''A&H:a](t 7b]FBcq v7v[> _hˬ]г'm-o>ifƅ=D5?C6𾜶aCJ 1'D2gn{ }i7s|SrafKٟ%d\'N_ʔuԇ8*_{9Gdm%MhB ElFT;Мrl".٬T#Sp+iEkqsK M!?#nqp'.v V?iZ y`4KE:~jjq /ET(Ef؄8E61nEKE6I("a&::ϑTivw- I8 4Rqs]tk&]B^45;6_/3 1M\ն Sˢ5$櫧`D l{/cg̅a^F=涃ES,1l:LY&0,[.ǶPO@7;:P#[tF@ PY#ʘq g_&p*&  I1 ·]_E"5z`y&?UqHzϋ2IǠԌHI/JWg('j2$[:}i No.m Y ^bWţVٙw&M` ]dB~zmR+H|R|J} ϋ0 :љkt#b8'q}s}}k4"v(b~p=CKeR7?]>r([ḇzixQa}ӿn\/<狘Dًf–M\[D 7:4),P"%2"!FbLľ,3J=.Ȋ WU F@P-/\:ۍ.N#%dJs_ ynSAg1mp%Ě\!Я-M֫|>C]b@rY ՓěnN'ϚB7|Y`.jw?1T1u*vdRP*~FSnudoO$sX +aӦɿykL/Mr*']I `{ͪL[|~lktӣmQfAe玹xU*x8g/#_B,R֓q9Rf_g<4YXM@7%m kJ6}εqTN,8ao:1hX HTR 6.خ"ȥ{cE]S`tKA&L%p/vOr {#cDT3}ܴrm$̍ h( ^1$c&(!] &W?KTav(4l4bJ4z\cFg/ءaAgb%t9uod pDJ)=[E2 mcYwy4aϯH* |ͷiV/7!VkW,>Ή`MN\$2g;|zZ|ոxxFYJ8ҌW" di蕮4i}hxC,Jaf0[끡 Ejr5 :<1W%#͕P>V^>Q9^,oQ ?y9z+V-<%M,}w!c7u۝z98q; vP l=UHt1 žZr[۾O\do7θ:#tkoH I~/ev4h.+HX%>cyM )J֏kWQ$['+ER mTxy='L$ | j 28p;۲Q2NlF,u,eTQzI#]g1\f+@7l]=o(Cb-]MY<`&+u`0/YV5! UU.DCc9Hw|ESqj'P`/;`ʄBPQWA qy,>!$)'KUE쭺 \TP կ .꽀}g " z޹iɑ-N%(w!X2d#撉=`m2d0$AN 9"*x}z @5X݀Gˊ.+#iu0LZ톝"+wGMTGquqVuЕi+WI>7r^ڢpwzSc΋i=yŇXlC sϘN)%w{CCHaDeb.Rj4daG+١$TD2i#88)E+%Yu+Ubz lKZ8әm2"c:2OSe t"H6_ T ''B_iA꺃Bk>9 -A}piPVJvs؝!˺A ۩o ˕c廬=ڣj#O|"7>߃8"u8j"K 9-ԀRPbVbR^)iX"3MX._wj8&`I 8ĔJW4 0 A 36 ʦYZ{i! NEnϖ/#yj"\*9! 7ݽpY ]F|kZS9S4>~b>BQbqI޿PZI)!8i;v &_h<&gV ^9d*) Ҳ@`?L0b@K25#ÿ%0^霟Ά|uTĩďYrجszuk ;\5' qiC\Hsc^EyКg\- :j%̩T֦WF<$ Dn%Gr%Bw({/If7r \ME"T"M qםvH/[#wqxLL_&Db]j,Db,V转lvێ=ͳk5y1qh5[e&^YaCt BT_2[ ſ_莲uQUiU3\ ۃ&]g1;֐=:}7);)N]w9ܚs"W'-UHod utVE(fYQ_ 5Z=ǚH,w͜KBb<`#es>$Wd=3Hst>#C/V'L0ώ1 ݂l'5iar73ț}}`W(߂l-o֛ A \I}[~Hcl|=wo5͇W̄#T<TV 1~ C=') FyÆ,jc,Mߖ*5,­}z崽cޟf$ >Ή>A]]xGby!61ʋ97Tz.CIа9U%x"|u ;{ )uOAV&߉Hb,RTxߌ3< TN|Ǐ[>*Vc9PJk :} ؜Zq6޸uJ@K:o$ E| | 0L/~l*ܩkԕ0 5{QL?si7{2Zd6^Wda5ޱ jH.bl%~%?iyID+9 sX( ߝr\} ɞOHouJq;&*coJ#wru86!dQ7 y^ɑ` ڙrnjLsvn)\U<;}7/SI[fAiX_s"$B?V /灮MrtJZd5gٹ\bQpj ȿM cDf *ѥE._{<-'JlT`I<; ,vΣImEڝaSTx?bV}ZzsO&>v"Y}:K`GSgj\ YEc (t3[IFF(B =#:{$2O7M]غFndrQb>1N1\όQ^ڽŎ#d+ɑ<)g@7ͱum9 œ?wX!+m6)} PNx LY(p c^IHm!%x sEǸi jD7TnC FnPlƝNt1'hܤ)9"vd00Rȕb78?:FA@VK;GRn^F)xr¢'- e)y6/xOӹ[!Bu\?~62YXq"[yOV>=`BEj.'.>ϣaN*L1d E˷Q ÔZdLB! 4`ڄ7K`RY</X fAgE^c_ZOaV/(v1uimDϮJ*&fIl=s ^,Ҿ=zgv3(ƃ\ݾ~Dk,pR*k>嫏tGuuErFmw*>eE)䚯5@Li[` ^,|4/>䪬|0@D &bY~N c09;Lf؋ZXpQ~KZe*8x$2J!{?).9\s yIY+pjZ Dv06xރ⍑{:S|{}Z$-Bl踉`ϚR2hC&tZ.3W)ֶu0!=@ ?:]V[u.wz+r6̧@ƿ_'gķq4ȒW{ YJԗ!]{!m!,' ^_1bZBM=tT&.-laTcsvB13a?z鯳f<,sG&v:c7VGY { %M~Jo èz,dUwWkĥ& 'F;ݺZbqr#{="\}ytBB!܊q。~ ȑԜt23@#ǨK xvCHL:0C]Ԏ-)"h2R`z) bqPP,|U{i6?8mAP1C#7'ڃz[27P-އU@-?agY]_ i cLNW6A|Y+gzefx(ץi㬓 O3ճ\-#7)l;=Cnj{e92k&צT~\?\nB .L*#J$ gϐ 7Jf*gjoߙ` bQW3uJz\GuSLVvn)|(]MEdI^[J!r D!2[1*35g8{_kHW 9VY]$JE}B1 E+ c}(9|=%im^.WAWG~Uyjuv(.\A3(({vsC_,u143#[F%BQsliѣZP;YqZ\&a ,eP۟)D\+t5e4ё,%d ۤȞGABLF-ި>n{M\y^]RҺ*L<J]AaԵwz+tgh@1ygKv/Ɍl2h wh8o{Wv-~8\8!O*@ Dh#cvR1FH^͈vˆ"|<áouN4rۃT$Z}i[$sl\dc#eZYZXf)2G[#H#%"zN%-F0ar#bsߨ8? WKNo-G?Ǒ2Ȗ<% * #1]Iߜ1!Y\ˉvvDං5'Ds愧\;cfl3dWU ^m|镚,$%%/xƾb edd[k~%9 )<;) |#AtTX\d5kza:UN݅뀁~^sY[O7yp03.7mR&贓q[x0k'.WsQ844keB\y)#@|-~3/HQI_s8}`G?DSX vc=u|t, cs~S``# pFOj>.bЧ$͌>u?c "ccޤ=[*⺴`2c)Y %E êI gCtM2=:XjHEfgvXt,nHZq,öWl񂬴/7?NVWNq@#y|)+lM *2|4LYuaS7` PbOip+!sʺx-i wGzɉakn)xBsrI>d f; }ܟjڸsst3Qxg+_&% ]ٷ3OYȄ$UnÔ.Zu?Q];ӂ86os7 ssc2t\>,8o*s7S V)r&تI4 CJp/GPӛ7Pa2;W]a-VmF ș[Tnu[UVV5kVYU&THm x+ttz`l6z[S1虦 SYu{@()+utIuRY B sOPUhApr\<Ԑ\PQ bUkOO,܂r&v+ݣԵ]&+ AyϹ8bw۷ЧZzXb'qE~7- O,YVH< 6Oﲽ=$CNa!/½ufr[{D\172ku -  jF+\Ԁd"щw؋y3/;QЬO;!EY5L_Vp%EjK`OGQY)o| 0,lG+|DE2,̎zƤbg^6z>e `ׁ]+LD(ޛF {o;7" hHh5Ciq!Cτ]`up}{H0}f灪.Z:qBʢ۠z {+gq?v!4H3W ֵ |,sCT_80q̖XiG (SW+#húb_-Um<izs'L*d!l! zE 5׆t1oTʑ{y9YzL8?}) `G XL/1½J@z5Q]u';n?"7ś 3 .-p<)6'IB&@Z#, *#DvoUgµgf}|4AnO$]ךּ酇!L%3A5k=]@-6Gdu}vD"r hLNJb3 3SI xI[ziȥ7ֳ'9(no RڳREl5_hG 4)'?Nc N:=l:7{dEW p~6yqў~Bcznkgì },:Ag&@CJivwSR|ɟ{Mѭ㬆~NZ5'8 ",~Kk$/)tS#n>^\zICM\È  Hyz_.Ud"Q_=U<ěN2)rko e"~Y..L~;oZwJZu*~'* ^n{jl tQ0'x[uA uE;V{q fV徽qu->ZnJ:fxK"bn.`+jppI8,_a91t$ئ-ܜь4ױÒfC;??to\c@R)lHCk,8³M"Q~aḊ54_gV :"Ϛc' b5^= an(K.o,kiNvj㗡inCr+`'6=HQr$ߖL,GԲ4/! y&'e6<€YATICrNX'Um^ ^Z.MzV9hTJpezxiB}l!6&,y!,RJ"Lm}HLԼ8J qapD>jd,T w.MSie1`{}5"x3YaHO%YUKDu,r^@ZWNZU_Ҥ"o]Cܸ1 iFJ Ͼ92sH.+ijmV9*yDO??5ft6k@5 _1R l\.9Ɓw~)*mLClNG$#j$r4-#w[3|Tg HK )tWAG:E` /LVX\µi#\k=<h-В3Y<+򅪖~x7 v=9`B7P5%MH.h쬯5.j+"wR^}#F$7PjXȅ۬DŽ'V(X]16_V` C^#pw]CFq.Z%$[al<% /ngNY?ջ0svH>g@/ ScW(fDQX.`څKEy~v4cx#a]W(TC ?S.\;2N7)Ҥ41 )g?38iMjX3V}c˞婢F6NtaNCzp0%ֈO }a&b.3Ӭ7O?4kWdק5q\r ߿}O@lì0; f a.5F06 ~ŒSoHKFѰY冷^8mh-f &??Vdf.H 7wDN70ؕ%SCBQ`<Ћ=ݍRE,ӈTu"dN-P{mh㚂;@o1AbH8(rK&f*13.^sAk2Za/~l W9:|>Qٮ62?e¿-_o+ϋ|5X DCw?5YqT=Ŷ=q$G5F̕:oʻGOtD߉B9:yEJ&$(l*lV)°h-0FP/-L[HKo8k#?[9 <4lv`;zv+;ΰkPV (!S^Ɯ)f! ߯ߦ%RjΊi ($8&_JD/L~5SG4EX< 4QaDd6D;ZF.VqUk#cG3nT&V1tj 41H"^3CH׎Yfy`JBԕ}Hȥgz,#^dQ5vi lG2ܬvhN@*dM Ih,ql;6 0:*mm0`)՜:מ+y [(u] d' 1]aIY+ &b%q#Oe{Ȕ:sfj(w(@|+>k}~k̩u0zCq{?bꊄ|xTO->rX !WZrJAmOy 98'NgiQ)Ek_ьM݆M}Q}Y`Ά$3| xR%`N*[78K Y02i;A;6ds~Ƽ^qs#]5A}fik9l,m{ ϏViU8/[v _yzn|+e!&ō5T`@WW @bTfقtih_}$:(OQnmZsA鍨M(\yc>4 !u2c;py++p|K`84k>$]ކqQ EAM/dǚg[2 e~ M!1 Κ^[bPG+X3*w?1JƜt3'0s1N=1d+!=4B趧'X¬i`&;B A5 viڗ7RҼ(,X0ckY!BKar<L?A#w 3%%N1sl'{ %PNnklvMX2At2!J6ƇsQ}A->O]͋>Yݎ9͵U N6/,I&I gi^B4Mfe_s<^FGz3-0[ \/[]Tc5.&_so=m?A4"NN(@/#uBk0;. LJr)J=s1%YJEj[ORXQܱ?,qJ`Uh]ݲM!DW zRK[asP?,K -ZBQq!03sE"02MBc;׃}ڏQiPH3OшBo\c6OvȖz~s'rҹezM|DE 25(9)[g3`-SGdGTt(rQi` 55ҟƒEbP!ū_S5URyp9t=C ( &ȪoR8XT<-0nM7yd*IC~^#vHh"&lysV`xޝT:u M͠r.Dݾ86;8hQD/ޑfISnV4dv6,4cB&\[ѥ $4gVJ}X&Sqr+4r FT" B3N"ӽίNJ4 Ko@M4~%eL SSݴ4Jv@%/ eLɷꞼтv`[Ge-ë`eN|\"VK^wKh@x6ONL/s AFFG2ɢ[cUcTKRJp]kz#X5pΘLiZs*^3nj!%(=.[ÆFǓ ,9(=*_jkoC&1WnUmPߚȓG{G4' zE)cM`xst9b#7,-CCFѕȶW ?"gAҹ!sMk0҉zEMls `{B@OIK+{#db mps&M|K/,q(?7hXKFO!qG`g$a[틭z~11s˧@=ʩ 7Sx#ڲV ,(^soZd3+2 ~ |eSׯV@Ut7M )n`3o]:jo3V:޸Ìe9!1{mRI\g#_&^/fX6W%בܹJ,4y3t i\[ o4P+?.;|W{~7N?t*hR y uFQ*{)Et[}0ruJb$PDo10Ȧ8m@YꈈH_{Y϶J-eC==5ּVcB8L?>N EW]-Q*זLׅWFQ3H"Tg˶-(JV?.LxH2)2#-mt?sw{^`5nsg 7sZ߻6_Ce,'LM?~u8QGD9~ls`_qt} &@<) >]MQnwL GTTzTyft 'ew?0Lg]N>"0a=y1I4o,vxnLYG6ɍ lcD+I䮄rfvLR9RDYQDCظMEg` 17Q/#8g$bYP⬇)a57o)v + w/5kfSL#3аa-O@؏;CIӔ"jvh^؍T#tq[*QjBĝ)*or#[5>U8Vጦߤ{.|KXIZETxyzXVi<[? [@tz`"A'һjMjGS)dUz?+r[]Reqv*K7TSR(e SH{} UT6Q?ҡ]PSO.)C|]Lr_= ^9J>FeiJEʺj>P;N e.븄#B9=H\ ܅GK(avVVP0 *|ק ׹;B!=Km4$8tR_B3mX''pyj=8!20.}/YPҫDzOEh603\A&Qm NTNuU-ZG:3\ 4B/]͈>OSb>Θ/ZܒhXA5=qSTOfHӲeFPeߙMɜPa%A|܀-_>1˳ۓ * NICЧz4̄ra̤?&8^$EZ"΀0ŵ{,yJ?ŵD6EB]XPMP7{_=\LyZ ~_/Z >9j+DԔ`IHs$)8&ő :|;%Tnkږ sMB,,h}i1l!2s0ьh8=/g8_p >a E:2oHEO> {"qN7ZL8S;G(W|m]B-QC'iEvs0;)dR_3u4tx6nKc@(Y ^n3tsV̕J9[I俼6>Fo3aVp|gjy7L,ߏNc7{/Zy+)ǗO̿ ~RX(&+F~S%Q٭LuMӴXsXO[ܰ}l]'"}?]pRGx'7U:-:`ƮyxHb@ݽBBL_|z(,Zuyy$h vkWlEqպ#L_UЕ ^[o5G #: ('=kR9a6yvp&3N'U/O4M M1j5.? vmdz؍ (I׭Wj HFQ4D )7ldƿRBu67x7_LNL%/5ɛ1elVS:υNۺr`ܝJV[]n ƑB27 g;_嫁Ðշh]֓r2őo9G`Q'8EBMQbk;4cF0WW]H<-vj{I.׎ X"9t8uTT+`9TU07QE\N,K>O ɮWWf=s_uf5 =UV@GOo2LcVgЎdz\="Ϫ3ѪA=x Z<{R-;bsf4f zݺg#Tbѝ8Pز+5z.:G}%k2~KŞuՆen#AوɭN2X}౵sN|(Ž]Ͼy[ '^[ofK!V!}f, "@yb@"/Xv';L~|hs*6n[H@Vh*wn֮z=/΋rjebfǓoa8ҚFnV̭cKm$}`ocigP\puHY\s?1C?*‹4VyH8cZap]-b(q%Nb<]zOoB\Q+>;A yKS]:0? Yy ߂9&N6-g`leLSE:z@:Á0y;A0q$r`ULs;%y*"m7FqнD*(k(>2 KM[[^wwo&XO|JKpsVp&#>|y+IaVcttvʐdMGzf0l3X}h G4QYȚ); [v7=\.S)]9g<M3/*%gȇc5SKEc6Tpp #f3& >`zZ?hڑ5Za{,^wT` 20`՛*EÊXi۔Wwx@$D#inч3>݃77>|QD1v WX F?@欴acPye#t H?wׂQ߼lWS?eq{JZW1ןPHbABt0 Ě.eTns] Gӂz*t Uј8yhj߯ {t765x+R5wU#;]~YRJ ӷ]DSR&Xm٫PqH! FAuTYTw6x|OsjFons^(SBɩ]αdi7қGi#tҏԋ/sU_~ſÆ!ot]AtpD"d$T|`B7x\kڠ$*308XFf&e5rI'|P8)yPT*=#NA{@" F=IN8Z?#BYȫTF2ܱ&W_?j=yWō4mP \:ѤT _G3٧^){NOl+\/rݩ!x J6lGOgdQҵ׬m48p6‰P0۵ZɇJ &:O:=yTy*ZrnC+IƦ)2(ii&<w3#øm}ڝs-hG-%PnrBK5~{lNwT:_T Vqi"t5ەε0+UqaHsX\]R5p/.;Ԫ H8Wz{|>-4Q灮+\v6< JH$Ywor0J#e ͥ7ʧEBf(oM,&O[sa;-"*F&Gt h85)4ZRO55U*aōleD+$tjDIXH46漋17 CfKEQ`Xb%V<`lQg`8֪XnF`+mz޷pLA07,U$ K]TsoWM?Rc\ $dz~``!hes*y<1Gcw/7b UVR뙈pָDدfӎڭ(_Y '/K6~|TR#0(e6ƞ*t#_Y鶋 4m1f4>{iu~rBD^ .'"j(i41'Ƞj91ziR\,q!ad #ֽ"_`k톒J>XMQ>[>s99{dI$-M9%`q + 6gL &<72[?n9z6gTQ7~F Kl Rp(/INVǂArz,9פ U:6 p%$cd+фI^ޣP0VN&]lL8~n1Ug]EOX8]FC~_~u}HQi\*۹6%Dg|!,W=o#J/R<5{}rkʙ.HTȽIO%q%YXX6Snz- Wel[.OCaFeanR, NJ9 .:XT5NQkG2XkqI/CS~Kq,Wuj4`&"u"{3)<2 Ȼ]<i]mpS-7H$KC@gn](ƙaO9M j7]@vLtJ!M%J$ -:!j뤷_[)5="ب}Gz-s큀u (gP }F3kUd-&vb/]:0~la.+A\{/-aSTsc0&¯tIiМ0T9P= 4')A@u&LΙ iɖ´P()Zn:I$ 6tuH5-ʜ)IXEMVFiOMysQ Z!Lo;iyȋ!,%'ƑhS̑U',1C$wJw =[fJM-A I _A)r戉ݓw/KˬIe,˄?jaA's&ݟj%.r>fֲ)TGBi_=f|(seߨo7QO{SFjJNk(ʬA)Q~Rb3# ) KgQQI˫:PF2Hr`>< A&?{N 6"ޢiSu4DT5r &U_:@=3FixH{b0TءW?~bH鼵|\o.ȓKC)q;N1Y腧%M'u@W#(6X6$%T0h@HrYy<{X7Ya͐]BzLK2 pZS{K["R'd\TjX i)bjnR4(v.7#ggR돊<&T]S 2c"HuL`5B,>yG连MG2b_P&7˸p#! V<~G22 ȧP_@x )p|^{K2L5/95 JFj= $jϝdaj4j, dL >5afĎxY~]wN?< /+MG.2:}pϑ %=b# imBwKB,B|[=sߓ)c IMI77m1\qPCkq5zwĚf^8PX(C,h=:Mo?&^nqx/ԓl&tiCp뢮j_x,? ;\2گ`[(_aTDK`DA+I>n?nHoVC:Y|:<2m nXeKľU_5((SwphgՖ[P`Wk5/TqK.Lu3i5 ;ߤvgtkN4 QUe=ЙM}3I wdelPp$68C8(_=n|Ywg$Lϸ`&5*h1ʪߤ6 h<#z?@[<;/?Kr%f#,DO퇌ҷfG" K~m0SҀ?:-@ RsFdE[cR:\/سЊgڏ6I#@ ooTlԙdgfħv/! &&R13ַ啬Z;`w:`K;P<9=\@5?ei.V ?ּW|}8ASj dg#q@@ 2^Gt.FO6ZZ |UAy hvs:zS5eItԄ<q͚IfSX)͑z ,TWu7&6 mkGJfBx) l;̓s)7o5-%)׉HhyfW -/!?nAOMȟŒ,2ky-Z770@x]huc:ہ1Ja~%n?KI4ܚ1"W0eУu}x1#&{1!S_fLe`0ctU_<Тy> ()Y(T5S-QI,'&R@ɋ$JӒ*p>/\UdTYArpN0_'<=nLg}ŤF6ܞ|YiCs =6W+сs%}<ϢQN#0A d]ٱ} tUCSFot!X}(qZtCL`ލ-{dr@Y]gJMr^HCp<5a ڃL>,б3I0{'q QtgOyN@i:w֨dJd&U4G,I?i&%pXƼ ]$T=n@۷Y#ح'DcA R3DWCA٨e#\h+2Lj^ W4RY?^{b:N1k}D9 uh8GC2?oZMFMbڍ9^'W!(GչrwqKS-Q'51u3<#] JIܜ: F,V CRDTFE<H|%Bf/}Yi+fL=Gb!Ne&U([f e;Ҳ!<9RE7B7[ PfXa^X) 9+1(^p -5^񞧔"+r}_oLxK1OjwB05ŝ?e+,eY;ӜUA{A7q|ա> #l 3/iLCѻuٳb])HʃєGK%˂P#8倷WrZlyˁP)ANV{cX~Iy-JythZ=uYd0Dɲ($p͔+XЯ#O{-*#sBS:\sO,-_W€K P/ayxc!+x{7 2M2pE(J-*8Kzxx߼l-dH9#9s3}4f\Kގ]{x(Yt2cb(=CR#ͤV`ީlKfٷL;wE~#WQXxg2$!|ߣIΞ7x!yP|[-Q:|Y:ŸNDfT^(FE[zZ}3;2W#kѣdqS.؄@W(a1 u 70aҍ9r zE.W&]xCxח$/jV%&[n4mHJ`{M"6mI,gErmFg>{E(vF5D(l,. |֖7j?YDjPz =all!)Ɉ*SG Dr7G<>~ 5b#}ο<x r͌GHOxrr8:k3㔶hh٣$%~&G#:o6HfZfI_Є5%JƃvVcJԫGe4ڙ<"AaQE^jϘ!i7u\k-πk掶QV{y~~TFDfJ: ŒP.MY& MU,<'G`L yѲ57{E} ^PHڳQ-!-."n[-č+! ǾQtfY&L4DD%bi\SU()}4q  I>ۙ;BP1 ^H@:k@/EFe#hLtiOSYDϨ By!Cxw)b_%@3o.lt\79uN1^M)=Ut <3Mtw'2N/Ho7wd{Qj˻*Q$cC#>DdO/ cS:p3&ؐ_1ώG9%o~O«Za -Q O_ x#(]&Z I0y)ɆN-* ^CB/.s%<` B"ݚ?u }2]6] +LtJl '-v)'б}E!DR 10h*Oj/jG=}9S !G (vCp~Tks A҇)Jm@t"T LwpF1"OX &Gϊlb(T:F-2 ?~tHd)u4zM"eےc)XdJQ3z  |?:gxkyiaYiGo7*6-ۢy8mE] O镑! }` 6O-}&?X5w~6厨e9x$i _<:ɦTUQ3xv_ec9f!Tƃ6zԲ)㎵ANZvIl{[].x[y%Kjc`I-obKMF=J6UFߚ`K$lX T9ikQK#^zgB z4(~Va祟hC4~y?4] t:IhYG# =)Z$Sq e5E;;`qxc na{vvm,;k\A[R 9b[RDKzpfɊ]S' }m7#|R4ٹ-<-=SQ2&s_J5E Q5Fqd,nԅEFV ph̵L P=9tvv砥k"9t+/.G5:wI|1KT} E!;> ђ4(:c>WG0g󙪋@WB3 ^ 8[ro3So2h9&a{ĊӍ`#L󺀴1Rz?h7YI%"ٰ .qR7L/y+ !>ssO> -gI薨86ȉv;C7٨oW mWR9Hѝyi/X>4>%O/? ֥.<`zn_^/%PKIz0`-7)<=stu+x"~J#]I\͇M8˦wE'.-S8ͨ[dgxde7IX:'h![~6% y+ַ(eL3:$\ قo7?D/|͢՚{]d~UWf$(cނ-U  a"n+N|H%q-KJw>4VrFCA`FC)P Xf ᴇ;p71Z[c+{Lᒛ4LMOnRPghŰd"MT0܄xxڢߊ3C}aNE8u?˻CA}68Z, vD98`ڄlG'o>#S=*={L CBݚ!Gė1(: -TNu"od?TŨ4xs&v;UleI5%٦Ltכa/+^G 5jbRNsk>,J/RrѾٜfWg&=%"φt`²N5%эϻ"0FCȌ~^x|lt?|| Y Vs:S ld[-p.Kq4fj5As=*9yoNK`Bݒ"_!7{/3/[f!|(k)cMרv,$FysֲpÛ?vҸ$c̀຿Nַt}]W`m]m~{ ώ%ڷSvS Y.B RF02۪7d]9\`u4PW%?b+ I5+Tx88z LTC9Yh@̨ 6>C:V 5Vq|L9t!Ys6Z%vJyQ8 ҖHx J[+/zta&fFlt>TqQ3PA}cAXw#`)&c״:cIU)]V];+i fyi链`VȢ\ȋ'%ߥB¢Y/ߜ]R\z#Ty xcvmV uve˃@u7su8Ki-瓈wR.Hz(4آzSTOK ?a{,Dq0)oTʄa'kA;ǁϩ:.(0dzl~n~*ӱ03!̮u.sHy<}YPTg`&%X vmEs <R%}/:S8_7,Õ.;ٺip5YAtxRJg 2V:y*FA Q -f?5dѺP=PK1ɟzTsЛ wBI~=*+;tO3m0ӵV:=PŎ\.ȢZJVsaP8*]2Tk/p›7En%j뤩:;/fSJ aifه`JC^&PT1K*E 3Ȗy?&}I w5 .2""s̳WN[[:an3. G^q\e tʢȹv 8˧Tذ#gM8k * S* 7 m&*l5՗z~I@7/Ф^0Y><;3DމnCrvf1 Y)X$sz Qf}ڤ +q?A× kRb#cryҨ+{Eb`90wN49VݣAQyisOB!I A] _<4}qT*b )Q, z }.Gi^,3zIJo̗ߍyu'lzbyS4~F7Ug{?"1 ?wd-j|xvl"++{qcl6YZqqqTAksE,3J06SѨghDn:o$%+С%<@3q]("Ǯ)k$yI)HڿN΀r(Lo1:!ubl~ijVst|j! g"{W9Ƶ^Lk,TҖ!뤹hkpJҜq C0|OV@ R"/k)$ z ƒO۷n 8{ŊG[9Ow/dY {>iG|"uqX&t[6d[q$U֓ և9<-AcNeaO46AR[PZ !BcޢPyL3I;.l8#Ȋ/n6^W o(d܎W/&è8[UğzŻ:P] ΀PK>ˤm4>g߼of9X˒z4q _诽Z4<HWk |w<X)g>V cBy Ē LFkI_oŴw2X^ $R-wb4Znr&&͆\G"EV3rϸ( P 5k#Nmf,be^Ԛ& .j_F&S=⻡ A`wi{0x4EP|_W{LB%19ZFwo_]pfaC+OqXglFds%N7uLD)MHo~ٞٵ )p5ɫe&qOA0~}*!fqxGLC`žsۢ3m|d%moTkޝK]k6ƍ^ڨ8i1;7R HͫͶQh]6J 9L fbлɒ2XB ĥMɷֹ\:G`di!]FI~Is=RyM Z#ݙWv?{Mr$Zt씼Rʉz&~'z#U5 aoZX-!Ti,!\C W^i?, y44RZ>DKg<:[",NUnw O(ӄ?:QѭgDfbv(F3u@?#{"?bDMIm*kEȆ# ]ZR7J Cb" "&A1;$Q8SvݟcmiR:>Ѷ5!UӇjX;,Z C\we*JZ\$a^'~p:w);-eÜ67{ 5pdGxlkWgP)IS_?XptbD Oh[(lkȔx2X+iXV|E|ݨy@.8xI)EHk8Rhh}t>IfQ3܄k㄂9{ c~ߎJs@7qef HdbJ2o~$~?,K4աR vH7Á*7L!k>}`>DOJҖ=B>G5Gf2DcʮB^bN3qG+$@K`$uM>Z3\$^Eݺ麇#]_}*WuS˚ ruϚlSZ cK5,=(Hc=KCe(1DPlI8e{M6O lHk9mQ)&YyF`B@ ?Exn?|A:p"`9}G+-S&fl'a7,Fk4l>4 {(d6};il%:+BndM9 8ܼ`4T) t}Sy׀tUyƗu=ڰ۞H!P,mK-ºϖbЉqAš<ujig;~:,Q׏ _e a)3sܽ:D4j-UcG竫Nb+'` gIxVm*[T?^YX@3ZM*(N%#| ^HGAetDIyl;9X4沱*vN`nGH_Gv K)B닥:?}))zJԎ',ƙ|}nY XU|=ß;{'!}vV@Rc޷ ,g|n*Tyƒsa>Hx]( E+py >*o\at̽Λ*_ܖT.VǓet/-;+#: CD In0$cF߸#hhf> ,Gwx3 7w\A_uIom<~=%+i&X& Kl_NfyAFS5Cst= $.=UJks)Ewn Dt)%N2`?:?X+kUa& 9=MyflW#wqPi8 Wl}uW{25#p)L6 mb0D!!ENWRC;y3:!'ѿ$RSRZ#wJ& ןʎwV2Aͤ LN9Xyϗ 6PXcKF7I> Nۧ!kCS}EzYyVlPQ_65WgX//&!!/nՕPDEaظŌf'c#L]$  Kߞs>;T^+(wq2l5[̙h/;VhfNLC4W^A}4 2A3cw"<H4r ꉓձY5TX ˼aK*鱿"2_Qx>+tS~)M'nj2A`ֵ̧%'kDdfMVJ'Ro ] ZtbtCEY1p)MJT n#̌RJ[RwS6Ly=%>m  yRU+ZЄvyxb,6=4FR0 E+ Oto!zneeK^srt\\ӏhS`!gl*_T dσ5rݯ+G7jb^!& +1|(3 $M=^ 󽥺 v͊UMp{(#ODݞo8}}lK~rog91xy .TQN[d}[UZrkkfHO/^)w55tfR2'OPKPqD'9 qvݫ򸡞[H.Yuߋ#/l!OH޿K [R.-g AŃi){a`a]rEdObx1Yâp'n4eyؽ{Z?j%IR5ws" H"zl2h!s偋\7v|eIr #F%b|,p'm--pRSiV۟#jCw34 4ݥHc?"DHNTC%k>e jEY'UP,d*IjiQW%ٟ8~\K"CU*ՂZadg6 "X$ TtY'Hu[zg ,\1]eqs~uxy(Ku0 m%UqR)@bĵ|ؽtރ}.tK⬷SmlT7v< pBY~زd zġAI힓fl+J8L+V{,0ILyie+։5|x lHk&Ss3zJ=|uqU*@؞ N@KWtg_{r[fd7x *+qXn27:ySFgwY?NH5t{-Gk.K;PlT$L¶I*PLγc@QP)B$]&.!̄C!,ӘshZtSwK!xG0Ą*V|B<+VrugE5D:x2byp+w{;:[ĥ 7|7:d&7X4FFb{ z[4B;$_Irm{۔FBLQ킹(!Fz.i(Ďim7q#:q[js~,'ڛGF~dpzkVGذ l6'6~Ϧ]T~U")j z;cJxirsG`x<ܿ?pjrf(Lơfy]mWE(@h͸-; ѵ: a 8ectю;4MŃ$\@/.XYhH5AnZig(X<:A&CaY ER}cD^AjhW>`jJ;;x` 98x(ؿc伶xq T`(+D v:9/*JvD>aԤywFw?`f~34m2[)v.eK:v=-zCZfzy#ml"$Kz-&-rMls?XV.k!O,Rũ;+ IYJ- 1jRrJW[Ԧ+1vnOe2*\t3[E tDw\R{ƽ!q0JmpOL3HE&rg[g1;hܛMcWi/|y45Z&b6A .P/.} J{^aζz{ݹ3TA7~.a;j}ш 3z ä,F5??6o[ܺG&36P5ˊAF 4#R)Wy~Bx^H:B hhV{xejaeU4FfAk%ɇ3ZEe&7{9x`TT/vp/y dI¥.v N‘'9 9:ĿFvtk2_ E}(zr?s9 $',mGJt aXRGe% teCLj=gH<´Ei%]pM$()sLMʲ5lSYPx*Ngx'O; y pz[(s& yjoi.wˣj׹ت~- >(/TƠ<>xUՇɋˌ3zĻMO\DD);BLF O@ %.8(k&vz2 ~7 (W`SjLh7", b#LR#= O l tI|C8TᬬiLQ^X|$viT>a"DrPv̀~|\ݵ(\AY+ gS ;|NncN$Iezwz۽Gn F-IgjC4iDM4TՏC|k;Z= tV#qZet'c=S@mE]aoRNyMpq7V"D{n/f,űLqZt An:gRgkc Dgk0?Yqso}̾6뜾ͬ1j83-3z'3Xm;[h61}q<+%'&XMk!LOǻ㏡7h|m<|\K'%@V}%D [Je}ugjӟ8ᑉ)xF}ɺ1C,{Qd{ ${ [~u9IaeGWzTk5?a*Ϻv B$\ʲع[Bh}PW|bF2KaXCXŊ)BQkf^_1ptbz\ -rԘ9.oQ lr9__'$GT]1hf XLB0E ?4Ð;1iI.j6f{&ea(U.J½JeN.{q4A t:@L1-by 0'2y? Z) 6wQ[SQ YPe(K-H<gWFPYi]Z1wZqcH$$MN+(p&lnôF{s&u̜/N.NiH0ϞD$N[@טS4h|ov&LYŨola!2#4Y@D1 գ5siƃ2r/jΟ?%C:dxR:Hd F/6Wpv2~Uഊ`lk5K"*~3VMeڛ|0FN 4t~pH~ *suT1~=:{"If8S*`a`73,CȊjm< N~"-cHx C(t pR UH1wh~nQph .ig56Ky) ca{_$,%Q5 cvuNEě% }*9>4  +eq0U-n174=QUw͵8=/\JY,aJ~9mٮ/uk 3j\Qfڙ(/ Mۭyd:s64_3FUޅ/TxMMOJDzƧ_ kX&P򻣪1/fC傷z1`emS'u@<΁&\vOd3[j3yE&$thoD%٩ʃM#˗ #.R\v^Ӎs&:0QFYf408\G# (7zdQI}!vpl9ՍDBF֗26\~?_f@#n3ZL\Ezx#ahgvn>)]mS0$fX=GxN!cAU_&)P׍%O.[3$"rOƹu9ǁ̈́L(M-c0{!pA8-V1QZ;YWo >A@I-n@UPeV6V[^Qg~J+z" ␸7[5ƞI9luK'+0%";'$VP .tHk|1mmB'"gY0GI#.<#ep 6idJ?d.,Z2U{ dŅ \ oME`4K PlMԹ=N_piDJ;'٭́EfbB6QG8T?rB\ij;G9PÖj5t#H|gB"&{4]0 K'cq{@>_YLJj)^*Κ1 ɹYkız}d[]58o?,avm; on1t]_w=05gͶ _%@F>'ƛ>^aVn}~yo?y4Jcf B2!geSLA|OqEjnr>Qu[GRRdDyJF;]iw_f("P $4Cг.:wLz:rck ;{qS1m@MhLB~-g¦)&df+ EnܫO_Mv]97+2PԢWfy3&1)miLB\~ȉ*|fq 'M^E OD;Sfi_5s2iڠ c߁H-OL@]k4 |\wb!J%ۘ JCc}sr N*itf{A5t*eXS ؟*!.΢Ay4gk0J}4$%u;s)!s1/KXei'P&m,PBhhd|<2fflwXu#EPJBNh6jK%AԮI#@H) W뮢~"rM UO57Dr`[lbaup,O*}"$>JaRǁOD%0 LSSP4#Sz]BQlpQeb@#L=|ݬ7tޓqr\y,<ȀNLu؇§ɑIA9ސ$IXdzʣz)\J,~)*ܺ\rⅠX/ej`[~8Rٽv^[+. 1͓]&7IJyZ⹚_tvt)ξFqsy5Кۋ&;&#F$̻#+D ٻY*,G:d? . ԩ>kC}NII; InX?h t4TsypZ:k"`6|JI%JV8ԍ_ʃKW߿敎/sjh#v*>wӅvC?~aXk$ha!x9N*6O6A|0O5kZxAL)4yT%o^gs;6])g AC>C#+S@IS 7 ?H;%ºmse ZŲpһ l͸9)׸vq~!ʋDf;j%g>yR3z6>2x!j wE=g,j:_=RF@-!d?F) {b/pu1U@;ymq0e~-y.V$/TJd1+OAyp6)?¸5*o]f B{JQQ :Ob_G\B([mhz|9tb>RF]$=`2$'3 aV%E|Gԩ IY2tefn}(bJxON!J#5h"I 5Wu,yh1ƘFVV/h(8,KT37 m5t% NBm"Hdn)T9I+=.o@Q<$5F$Ч{j J@lQz{L k~*K=)YU|I0`.% KHmJ[A2***%Ly5:>[X {} I[5PT'3IƳGy#~f&oQ5!]v%~jJ)73!Z-:ò6g=QeQgb>EI7*, ,qs-1Њ=95+xP?37WO?(zc['P.d[\7 mQY,0-E3Pɷz apو^Խgh^~hq2 yS=f-"н> ҝU>4wCb}_UzVM];b8e$ިdS](!1lUMP!vPQ]-e+Mg~?lIwuH+@O,~nA@cxK$;p8C#1q僊֐"Ң; 7.SW.MxRRp͆^:a,9"3=?@8g̙m;ޚV߂f˚ƒZWվ}dy.^!e#ULL۞o?" mc< Х FHnQ,woJzUN%Xޗ͎g!)a4)Ŏvxz"vUv*IlA2M7VJimjz*fέ55|zl/Z{\Y탹9Py:gG14UIqg*4ЎГTQw G4l"$  ]ð"ɮ>ofDaȊ=Ƿaq34fIj%ȟ|8B: E&CCAI-P5jEӊ꡷ iۥqpHU;Ū)[i9LgV+DS}uN8dZF7-6VMn>tӀDQzQ0]jWŻ;Ȕ6y )M0r[y51 xToΎe%%9lͱ:,~V>+.A#כ?3JU[S=9.kXӅNh "}FWɖ&j1oo^1.yg}] wvg}7:/Xv'ciAHFDSnY rx8j/KMao߿]T 91CTߗWm#Q7~+izJM_R*>M@<Ɨ] g$qYyA{cNUt?ܧۉd"{#YEۚUk]1QG"睥p0&#&2W 2T%0 'b$n=I~˟1۪|b {T9Vgd.Zzw%*=0^/ޗoFjwv51MI 0sPqFiy>R;'Esg վaYDxhٶ*Fjѥ|=-].L3 ?5e;^T8qCb3YB9dIb=&H~%5 AV8wQ">®z7pաqڹJtgG]y8RpK,EDg<wdϛh%1beejVVL`%qμj}GWc=BE84(aIP(lޤy B0N\gG&R շbuy1u1q^[y[Ps<)YtHQ3m&,'ȣfKiP}HfV˯Vx 6 I c+=|.)4PbDjOԸ n3(bZ2!H:b G%6 :x"D7w 1H]j &+L..nӾ[Oʞ z4~td%ik  `LBᨘK+WzstLhH5 /RiO6RUx&FzC;MSf2q!jz!wmU@柃,\aT`Z5w-Ma\7Lև? > =vT~5r˫, ! |'f]v6 ;J]}mWW`mn=x!<|`MLFhujW=o ~q>umx"k *ކv3g5YX8_uȹMHQNMXsث5(?(AReaԪ F``TXx;Zd뵹׎ħŠROF7qkk+bvT^V>Ív hblرF.Ϳ@:]P&Y?ǘ@vjDžwES2&F\`8]4"SM&#L EhN^/ȎGEۡdP Y>\b:O > j]Ee.``sh׺oo62vVʊ+H˭7g٘MpW6QjXY{ZIw[؉%f!恾no>T-N8(ʚt: +~:rc.^PpΟODTK}4͒pѺf~.EYG5!M姓(2zToYKiq"dsi1TWϓkW< :jXN]*I1#S- 7=bUΠ f@3'6!@<(Ë9{FStcd7Χn#+ %Zĝ8S-t\LlsjS璇JX`6IpA|) O=,zRn4F2|e5e ;|"R,p0VXsamgD׾O *_`:;LS4^qoJ_tT/0&-kPikIlCt>o^dZp/9 sx*9Rdꂑ)Tww6bChOJ [XzR#T8}/G) a>Bw:uYCC^EtDٓ[#d7E//SK} N5J㊡čN! 5\eM(Y i]􌯒S,.̫ : $]XNb^ҁJ=w(PR,k.nl]:fm1 *4z^xr"y?4luBx۰p3 swZ萴ρO;Gՠ|5pU@^9Fo-ЬI#@5M_5$ɖWHD5 H9 HX,\iřeOؘZbJ[FH6vDSCeW\GoE1A$DbjYb YsNVg|(yQb+<+^_vrYimVo,"ҜШpu&*zvy,AHb.-WtggWF}D@n;ޡEˬkj d65ki2>?Ow$dA )#}|*txiTvɿ8:f D.@z|o2;Ge۠ 4G:iiսPhѿӔb4(}BkpՀ g]gɜ+4FB]x!$bZHӥT3InikA#+&ΕTj/ŋUa ^CP<#q>;9}fn*# ؚQN[4rnp9]xT:X$q;i0*6G=q?.wOELHzy$>Jl ϗr:ޤ7r(^9(:2墇USr>BҺRJׁ$6w-jGǨ9?j& l 2e$&L%ojDQ 0]ե ,咓ccc*2fp[Y*􍍔R{9ш#<<9{sR]؟e\B6u9p Kf $fd9xtr{؀ !-> oާ+Wof|ʾym]̴p#Zx-J8 aPxQ5pk޹Pi|OR6Y-¹r99efF`Kx~yB'/TO}sl.\ 5Yo ro(o:qY * UKiِ] }G^U/q9GS&V|t_(h 3ZG`l;LFی{tay79Y֜wc=XK$m9/ێy6*3Prt' ûKC=W\-VeK3Q7MpX8.vG|bCJȺ aa[~ΞO3_ߣ0h2iM [`ե f2{7)AJ=pׁ,7]oR>%_||CaI;ãE[Xo-ɑxқ@}'h#i3IJ=?ϯ[+$[ :ib} <1aZ,wi`ONcEԗ?LGL4}-@' X~{:͆&7Q:K]vuۅU{ DW@rMBu͑Q݋<}ʲ;jg-ҽTS9|ᅀ #3齏bityäYI2U+{A̙|? _r`Oƣ(5}њW$߀ŅEV OK^tK,\qcwykўVjhTPMaC4 `d!'z$)_(||3k rl^@GM@WM!;&HTxt(Z!B\Fwè\Ds60`WW% WE \N+ѷ54q}:&6PL~5Tz5ӯ2 s8ĵv~36?|pU*STV$ڌvڄoYz}&[u.t/Ԍj;$H lN,42==>$0.Bypc-QcY9ɠ7D=FQ;~٬0γ蕇i'_}2U3|Hp{x 4o q:'b3[l)${ܳri#>Ow~㝩^nѫ!uWİ5t,2dn)D.ĦvS:,AٮèKRkh>e' *5L=Ҭ>8Ƅ&{χDd6jE5<*IԳ6 nz7p4 *6=ɥvȵX\yBfjlȎNNADl)u'T-oKjG8mpoJqE.2< :3gϲ8-ߟ->kvI38М(4jv[U-ltq, B3ҁKJ@''mð+\ZS4T/0Nr& Vs *\܎>'1`<,!/i"91HRꭞkovCMUc c9Ȑ܂ Ǭ\I7LD2]ǭ!|x oh$v^[J `Pzyk8RnYW-ϧCJ12mrsOiɴ:_ϭNU춏/:j՘t˜ꎽT ^qQ-&mXkFtBÖ蝃h`Usd%@ovk1)kaB}hĊxFYk\^+1>T=Sz7M]xƹ Mcnh йBN}ֆU:6GJD`!Ky2m+:gwLQ'^/ @+e䥝<718b6`*ª> 2u0d~#Y9n[qtK_sE1FsdNnb;D XMp]3/aI֫[z}FwK0`Cwb$/o|Da.1` 7Z;NxgaB42Y 7?2xbZr# cs^ LlM u>Dl6TJg Q7ïf:3rS8+M7? XQ,< 1Ÿ1paJ0 QbvjǚĆN%TĺPA848xfa; =հ[@=l-.S^mCטnS.23EQx ߯CK%oaWrkba]gz~,a >as!Ԩ%\prMLKJةVPשf=I6K aF ӬleK*__{J,?e9LR C:iJq*ڕhſY* آ~osƘTS<vy*ksz#X&* †K|{AE )\(Ű$FP]0݌`ںX ,MAiGr)k':uԩ*R#}\e=1Ɠ))nP#;7Ga:4h;msu \5R _1`߄ZJyT T᱙=հڔ? aft:C;H%9[7D~`7,"+@җK-t}\5A0mM_g$/K\#< oףi|zMr|jͅ}p>wY,w ն"+/m?_UT0-!pGaqt<Zm%Ӗ&R#Cp"S"K>(YW?RQ  UYl:Mx]lVAdfYnxH6;&jg#.|0ݰnB4=VSN}ęY%T{g: e 0KJWu.Vz97*(2z;υV`ę=Nn&ǝ3HQ] 'YwI̎Y'wd/3O)n t,χX<0P/'t_o| H`k̄5.yڠe;o@o/.$vxAӳd>:(6h1ħ]lXdh![EO?IL;fN_^ҝ}C5O}N^VBoS3l؉]O+.?ݷU,bmoMߦS3FaŬwk%.e?DNrd01P2nM٘k'؛I$9S᳼/w;=mMhdvkK-N9ۏk~<|4"H(jN=g$C;j2z2=QO]Y,'Z#t|3x]lD+l&ws*5g0)&Î4yWƢ %gbM4Iѿ u%b[AVݞRВmmcz9,hLPM?ige>YA*+&xVQ\UVj" e_vUG!yo9AU^@Qwh``WI_qZ9X><0F?J)% ۆRN/<1ՠWfLN!ݺp#>OAoN){L_~/oh7|S(N4ZidI"5!EpOd #}agY>^OLy~Q8K"*ǿ29vt~C1 1+>)5{[C -f4 w`^eY5 Q Ea_6oݙ#OD7kiG%Cekn#U@z^RzңIȌA+S`x^U5뮭(;"Ow-Q٬. ^ l[mnXAsL-ֶYvRY([Zx%o|| a_G5]JS^=ZKW9o 'z&ϭJI ^ymM<\Kp+wab{jt(_o㰟r2⺔{!º{W/.pu_t;dvQH90y{jkAlo7}S[uW &e!G0ɇ,/EB 1Dፏ[ %iQ䘍ֿIo/KvֱŌhħ1u"˨ T]j^y@u .,ވ{C$k&Iu3&g'20mm_k湱{ I4N(iJq*Q`eM{ÆhDWiE,kbeB\%2r-ޭ30T_BK[5PieLebn=c玱N5At\}U29Iѧ~VίRHpFIyX#7̢hUqVz['|Z$`jH$Dčʒ$uUMBIk eRJ.cs5Nhx26z]@`6* ܕ^xI! %)b< 3f@1ԛu`% א7'F:V\F Qa-g(C\ p8^P='i&F#OwjAWeѾ3 i(r.TKGdc>.9Ɛ@lS^+OM2 -٦Ǜ&x@:ARnUN߷WNTK`ugX:N*_.Y}A:/_uZMg VF'G'9hh\Kv,#<2od^RuZ\7/e(ZOp#$#W:R*doHP5AZ SX0][-~a[QV4WTgՁA|!( Ȕ&A%.?/S2hu5D!j-5:ςz0teHړ"Iؚ?]Cv,( i`~ Z]#-(J|@:XI/4j 5MQ{ R0=b6EWp-ej2BzCOPr]I"aԬlzkA1eHK-ڣPSՎ50ސ{2 <իEdZR" Ưham2PRXeoESil{ ь7Vaw<١s%dvcr!E¾(jUii6yi,n ĨFdm&,sY.B>˝FZ>ȕg_:0|tҢPGښgD|{I7i@ZxS>zGUreU3lq Z$zL!ëKd? ϔ$~w;*/KaHF?\A Sl(>tj?瞨jVgpPLEvt@C y_-%fm7G=@ A4,B,.^x4*#-Ǩ!4sͮ/;<ϕ ކ"wg_XH2 G{ʂt5e_Oߍ/+D1TDV+!$ǻj *)j{Nʱ8m_\&4Zaa4,X/]*6;2KZ)ImCF`\ $* |d03}XBldTƄˏvNt챺ŝoL+ޥRa7- @G~o\?FOW{éMSbeBh?QHv9n l%/zQ`1D.> Z^cɒ:7B1+s{e^6iq! 8M7gڱUA q1A7'u7 \B"㜰1y pmyۇ]֑ CLA_xo^7b$D+axyѥ;L5ʜrnJյ[n@%*p{=WJ-5ǃˊ49kkOLY0t+Nqa^Fs"' III!PN QbaxFmwR%[HZX:QUK81D$O_ߘnhHPǕu% VWgi?Ά ߒwA`r@Z4>ڦq몲,AkPTg](˶1%it~) n!yuʱ*zj1(s4 22W .@",=W%:/9* gUȗ"rbԲbgUl )'PXi։PJ_౯۸jk)*5x: @_9Lͼ;!t>_ư 2] zQo-<??Ik4;ꎛʄ` 8Hh ye6'X|/e5LLĭP3]CڽZj.Ƙ7zɯrC !ž^[X%F|f*qbZM.ΝЎpoi3r1 D:7@S-@;JL7?M?$z͈n9P>YƅcUP<`b"STL^"*uQnGhrH??s~m &`h&(`vAju]gu bTBYH|/aX'*#Y g=_Bsc?] !(Lωǜc~"Q6ÐѭDC7i0DR;T7z;VM0ge7R_H>N+] Z Di]CK% Ms+ y0Pn @zC*D~ h<"3:(y3}Wc@oTP̪2ZIZ58I=¹;WxAP%*A#sopI+DJ&fkpU"J2+˧}0!Wȝ6>٥{tO.1 nF!gc,=dxC.ܙ6, EBp~6LݢJw|x%f 4JA:3Kxxa@)앗qaYپ/~}Gd'2=q01P0sQrt? ֵxEYoCdb]]|+|nM@o#Nn}` ,>ؿt 8DϵXSUؿ=ujz{(E;q"'pI]0ZƁ[\Z=~Qb\pNL > $1C2%;Ϻw޻Θ51?|nN^zW~$誎=Irw߫#Dg;"_BgbϩeXb[ }mԌNA' 8r&HKn;۟c`E{zV^ bbu oMB^>Zwe?*7>2fm5lVsD䶕lɶNX*쓮_XK{N+IlzXuCNh`)Š-mޙ:7jSJ싺qy+Sxi נf^*tlkNRٞ-ŋ:CcPAeOnjBlKH1܆zqc/>"< #۝+N9Kgo<}駀-1UjnOg+ Ѱ_Q>:Y5/ĴkwMd e e^M[`.r(K)cvj'Mt ɮo xej .&jBoFnPZ 9QG=h7D }I9j#=TB׹؍z0V&jx1wƦt9YR!(gP 'j!E>5WZM;A''-#^k2X֋Sd_f;khpu`l1M( " !^;~vĕKEQf6OD, wBbMIpgBNDE9T[s`WFcF"y\*VIqw QWYwkd K+cJ<=k L0o΃\fudj`ƈJ=EP'n*WicqV'm19" m渮vUҶ"Ju9ϩ&@86>gw>j䚐67㕑NjW5>:N@Gry0V\&D_Q "̒xD9"XlX6y Dc[&>8RKTtkh'AA5ZG_V37?p>o"߅e^XX`d<.]e/.]8 zӲvb ۊR(ORGn)C4RC9 x%\14x @C*ۑTXS3-6펵^*#&O[QY>qMA*D-n#wf'Ӽڀlf!}"-*9w9zo mXw;ro H" N'LbnZ21lȬ>l^rG׸jc0b.y_y Z<Lb"+./Q{$UIAJ.X5!mh}[)m"moq4C Yzqƛ )+H;DI b' `FqveA{(44Ë6Q!M?jsM3 nqE= EErȻQ>CvvT9'ehbׄP@0TW?kO1 ~VT6 r?nq'`jעǙ!{7m+{fh8%.\*h@zI DA¡U-5MS3nyt">=;]mk2eeb>$㏚ٴECֽ~b _2,n)cKˎu>@.7 F١0ũxw6+P2+#xSJg$etd挮!jguT#ڮM m9]?,la'FDZoeGL)M pS~!=Q:[:UWFh(@N}ӌ2N9LY@j`Ƭ#8Z>u*+8S:/]F0e5wıTnp0k2çCvs<L$gc8k+`xÐ \Ό/QH{A N9 rYh]d"ȳMhyVcNcK#("z2,mʓm-s$0_f $QI@x)٠t_zf:$]_ $׭Gy3=xoNT ˤ׍ &RR-n0l<$xNT.ʊcueO0 q/;PsMdd끺mZHPHVh4^@ .IY9z síC,? 91t@7jEHX,4zV|"u(JR}НOi"#C儹>OG1.WfH:.6csKr=.ˉ^[Ř)H,ۅ6 K K'l/U'fUryOg@7jUIDVsU]F5z?*/1vgO409w}@Zz9Se3,c^R=aDq7fP@,|RJ95h )+olbP K,t+NGNw [İPSv9`mC(R vV[Z3 oJ,MU3<'$Эeub^tf$F'ɤD\)y^G`hdpK9Ҧ^DHacI3 =#t*H.z, ir֜{ݑmp2ۚR0+:NsstBʰ).oc\G ҧ<ީd?sXsMd d5" ۠V{ ($*<0HѱB\m6338ȦxGY%n v`ޔNh]<ЦO=GQ+{>4 ח" u"؏oFT7gX>j'3ǚ].7P(|lV FMh"3Eҝ _@.Ma ҎQ267ZFIՂUd| ōbд=>]eIfRC"`뮂Ux<8LR +=~dNWQk7,k#B#qy.e.hLRF^ doP?`KXG_=`&* K#*}WBai)ׯ&.vk~|z:vf[6@Y?x]c9M4uUHjZWx2'9Xu@U)\Q DZ>u|Ӎ 2fY.;Ēč1Z94JhY?6EgΡ zZ0`0\ZJ2O2e:~{!B[,FK1>ШB sY81BkFV ܙ&;8DX[nqHrRfu]A f U1ϣtOlǕٮc>OHQ˕ ^aA܌JrG 4;,Ĩ1ոKbuXrB*:5362;ApYp$z±p&wb h?ܔCi+,vF~đYT$Ji6è F8ȊEwe/EEpibKC. M^hxDp!D)G҆Q@ +乴߉rLz~>!m-mRӏL*]s"jD*=GZwp.̫/ wTS(:o:2TCŠh8OB} Fݣ$yN@\TYHX1'@tXmS bQ*rr>LdhD0hBW7"u{¯ŀܴ*;>{}h7rUlMڄ]lT_;Be܃vޯfC9i/X1<ǔdՓtbXX;ԫZU1vLUpO|AWuNXeT>c ׈H0{wBkv3Gai "k@=?*9F e"E`EVfڙɂn!^i'} Z.yrQ̀Wǩ0;̧J2m X2.7ZlA0l#=oҘo .)(Z[cZ= ug!R@ʮ[4B9f%t:ܪvF}./ad bTx i??Lqϑgrqhh785{ykv:2ɠ['0_K:x4Yi%y(x d0 EϫB(Wǯx-zJ+MM'>KS@ OX'y@W͋튦:\J V ʼnRymym0yZm MZx KcAlF=B-ɟAfQ\[}'{T3,5mQf¹ jtZUH1}ܨ̸iɻ<3 IU^^bT[q\t7bS"ђ s%هΰS2SeU :-}k5,+Jx aF:J΍LR睛_ IK| t1okQjRFUHC0gf[2W,[\1L  &~RfZmx; G|Gi]N=Crwf6kKAsXy9:𦐽oIbUuFHreDIM[TaPK0)/I\\skh[~LbN WnqhUuR>r$֒}P??{d{zPÇ@5s&>!ݑ:Wg sjȁ^]zSUOh%& ̍VgᱼyP,R`5gi/Wʠ}-N)g[[9a[0bu^A 4-U/x l:go'C؏MOn, Ao22ZW}G'|xцKi"`1݇;Y$b_yώPћ9+@Z+O%s.݅ˀD4O5=Y#kn;$kAB 9byz&Zm Vm"_EGoUd?^7 ||ȿ`ylagk14u0Zl*XD>$!rHDA@\c'k |v;3=9r~zv7j9.p s7=hϊ}soS`y5T dWr*u˪UrU+^ivgخ/OUS M\mt0hx,X~&h|TR D~{֛ 1_ɟYBHoc}2 m '2!t\/[ X{Ė ␒F =F@(8Qe{?{zZsV 69.9/4@gAC3;=uu)}6ηA>Pp6 zpV&iÝԉ) $jw$ ng bH%6F٥)PvhQ0'd8eghCԢm(),<&&6 ݂1+nem39xmV\ kNXbA 8le D}GO`Z]Li<ģҪedF-4&gO#11jg(x=dxbAގ`Řv7UA!  to-j1ʃyy9_<62YUǙEns^`Y'X)=kTNB!n쾗@b#wxQ:H,J ǰV`nX<(UD|M257}5/hA\ !M7%tKysf'p(Ψ?^4xߛ5S+_ CyIC^b#~'ίL2DɾUBr`ty(ZOy}h'1}Y` /^rmV O7xM%ܻ;lzfA܍۩+֮SV=qp&i!ԨO{{fl8OAPP*d`"HP—kFN<=gʓ)0.=-Qw5v;mz!Nl 12cM/ߤS81wav7ksIʶ?ܨO]{~ -$.gs$ D{bM?DK9s0Oμr(}~N \B@zdU[D o~Χ1l`?6%~(De2k¨uMwi7;ALe>Hmgzb4DRsbL1A(wv3}iQc%1TtrYd"2&.F`5+ԸVՃx)&sԋc^XDQM&|Y8xi@e͢u[5L*P3b\bf1-cY/;ssmU$r?gP+<~}~]-ä=) "0Xh@@G a`ng)\RER<_+!rhybD$%)0-$03nWA4JrK3#l۬&PvۙˊȎ44[zPKAmQ,tQ L@H U{ڦeeW0^' ]_$S'}/d0(j0}8 UиkxEL#!E cgg8DŽ꭬ӽMvx:y %ׅOrݏ& |<Z)S6oN<3/~9CHUy:h^GVM<\r 1Zt8%qB!|\P&'9s ֬|QlLݹ}{8 6Z#,Db<_W Aec#ʑBח?o4QeE>F6oPcf{` LDC% h*<scC>_25Jgx̻aUZrbI'qL ># 4>_߲Ă-͹iDܪzqטO` 4m%SyA%UO򅣠I&f92߃7%_~IL&IZp砳Bi", +.v [G :x_"h@Ņ 0&Ǽ'Zw1oطNz$RڠE2ZŸfLQ[0_Dd䧧ʇS`n8 8&|Cl^}Nm}Ca6^*',s/v.Ôx'5N=(l']̆'!O'Ym 'R+ECfȨWHqRmcγ|6-Ď^{:ls5X<_r̛|Q7882չ#` .g+ޔQTq,6Asa,`vUn e7|n.Oz +@}F l oj3h}"V쥒x̄ʎP"k蝅jsE2ꯤwf8sh⊲[g :*/,6 a>$5%jw0y3/Ɖ#re?l@cT+%sڿG߳tb^ŀBmvY.?Q{mZ4{Rm40\ɻI}j&^l,> `Vr+R7َGx9h jI.RR'%ĵ ?߯*xJGƂjM!y@$۹ݟ" *r3 M7F4w)Rr c`랡<^kX Q{\0*<|p%47_EGHs qX⸘p4IWbUePZxU6DBV< %Ky)XZq{ݳ&ŝX8Av?RA2 {)*ežCē f1+[Uסdx_))kvO!DwWoUdp xzL.Of>%< ebF1x, qCP)CBYto-BėY" CqA|Lv(91F4s)OqNOkLsCU`g.lOUYڽ/ӭbN\k_eX\2IyOI9@TSN>ğuH fQRl*M@ $5ZQpk $U!=4Y1CN__Re慨`I)Rryi}5ŽQv|ңEJln= ?ezTڴNq͂Ѩi?VU}H*` xݶ{q^W!O`ʹz*]I+Udsͱ+(yd{\HKm*%E$s]@l؆ RɓVCy[[6 ]!\*>A;DZC-KRK) B5i:/Z.K# ?%P~wvϡ?RNqO)ZԼ!ڶ/3^9fԑ#3; |efa⾹xŶA2 Hmyb0eL,u1/jX( Dէ?s>_LFʮ՚*-caT~bՂcig>٪AsK\4GH$v-(¬hp)]"nx(+fhXC〯r+%l\f W ?Œ 3Z|R^T2P4I"), >܉K>in~0R0e3h$iЅ}NRzn%wq 8?1_} AV-Nhֽeih;9:²Ku]T;iäu#nsvPPH@O8^P 1SZ!2옼 FYq%UY6X;of!$G7jcupWhM遠H&؆NlhD&`A3j"գapN,i`[^ZPAI:Z2}<؏Ћjy+tKঌY/rXpVfo"NWH_L TXɩ1*w%_RU_ꕩ8@ RMo9i_ ڎWd]Jg"s0Zܽ6]lJ %+Xֱvך4ٿ]cw cUl"&w5zCP?Za."fn@(CEoEiAcIbtpx6D,Ic8rǻ f^1e:S0-zHDK}, Tyv (E$>PdQm NUb(r呻vD-\˛ȁS"w*/04 :ٞ mQG7-ޣfvxG?@ʮ ЉgF!AήvW[VB]Bxd_;B@jHՠc0 !XQDOY%*rpl+*g%X&QlX30 qYc|5J#7oljSC}\;Z#(!-;d{N&{_(d{zUۮ7AMI˕~ W4^8:P:Υں'.$7F'v9PS# .<13{r})84qhS%Y C>ӲŲGN}<+s̃Rgyez jiygR5~_ǔ 4~(+e7LY j\MyQg9qXh,զ^Q_ L˨B!K#n*C{FxF\߄$t-]/T2ڟ}&.xޖr1``oZ>(:<ܡ r ^r/csgBɵ{ ,k:GheQ*K(6_?JTIa*VI/]͙ŔG2woHQI|]^+!Q𡻘)B.жVX/ A>trFmQn4^%.fQn >?yD֘^v:9Sȗ`&FLWءJ8-c>''F2Ƞ@kCy%F72uݼ+V1}ip-u^ïאy66S, ^giizmw2` \VNQ&gDcwaL Z.䲇ĞqdL[+TX 'Lq([tʼnKWDANN 1%$6D%hkeJ5P_>;Sr1Z8g*YZ Ⱥ(IbxJY$zDdsh7~7+Ouv׫j՞HKJhe R,GG\ 3+#ߨN S7q=+Ypڔjfec(?x ON mX~wH/]vcB-[4zta;,G)a?&OҕbaĚ: "kιI*;k|ZbL.xA\ RdBMZ[\`l:I(“5Ԯ 'IV%kbt;JXc ey>2tN~v" >ԄѠ،4S)Bˑf8}^tC?zU&pNcڨ (̈8zt@ . BPzqn'M׼s?Ҝ]*'d1?ڞˡQ$!Q JHv ΁uY>yz,pqzz3A3iH1̫էagw( wmTH2 dYrzaYoa VKԬYoXHSh.L'a+vq0jg;8( n9$G'&آo5Ӵ$Bќ ? \uʛ*tZ a Ю-&{Yy]Q" Jbϯ-z:.-|/vBPb. mT}lTj*#ǂ\`vo/{l\M4Ô]Vx~s873^薆fݓ9v[Ut])=3Od9dݰ~ݞJgY;IW-& ~57@mص>&/;pضM Lh[J1nlf vCq< l 򤹾l변j!)PN̰ixN(oa"KD;[T kHΣg"#Q T{eo]:[t f1E4f86;C.MpTNI(lP6+ARLp$Xd(,+x<"$lirC1,iۮ1:'/>!0gaF As+;\0O̤vN;gLv}xCŜ[ΰ-y֪A :FasCm[P"FMېH ˝T[PLޡ7[vmx\kS0UZ@G~ҥ2gz#kVav%pQĘMWx\6[s+-ix>l6}T+"(-EUImU_Kd>EFqB`JÕ+n6MH'bxf f7OҎװi+mv0-4OHr.UpB;|}v[VAGpxwAݧz.Niv |:{Z$|b"A)WeβV?iuΜDՖha-Gm:^js#kc|pϩ4 `.+RI"d.qU$BWtt^t魴#T/w1~w=$ճ:H?rYWT@|l@h.,}H2t֟> Ws7*:"aYC1]k#U>Ĭ%w(]З-V D/~fC: e c=-J)m\r MҸN6i &١YQ{WG1tX%gZbs{({m!jy>M_ s-;yMqμ!i#}_UQp{2FF8eufYY y@^=3X[M4Ř20ekm}N'S?[&͍*,O///]JLi츿T $P  DkaDxDO )D&Ekn"s=+-gΒҀrI2y(6j8ۧTE?5kzm4pcL1b3C-nb[$5mߩA.Pƕ5s;++~a |$e1TS牨gABDCW̶ʸxuK7MJ0Z9e1u8Nhq4N2џm+oh j)Ef+<ބwvbE508Qpj~l2Zx;.]͹"6ځI, <%S5X+4=z͓EGHH4N^_%Ì +Ek 셰 zS'P@dub_L1Ey-:=Zi+&$6Bg%ى@AYx bQ A璿хsY;RI9@mh;BɅn /+Lu-ؤvIYWτP^z*Q.Q]>4.1%WZ! %=H9?g!.žiOs &Ex9=sCl!5zPATZ7N/x8  ꁴ:A]j{O 8YHEl@$3H"Ҽ(ɱ_y9[ⷣ}azy=> ߂ᨇ2ؐmxǀ25N}d:VgH{Qq4yxܶ%3NmmP37he] cb2G(mFHBȖo62g ^7W W;llȚC} T+Խ">w۷MiFiIA޹_xCRa#'M֗Q R?~Q+9a~>a+Nɔ)Rmݷ9+5uQ_PduOn%>c!E_,7+;H Xgei&d:׶ycZ)ddxxc*o[PYe×܀LRŌ檕Ct\s @ِ(wHV'e^ܹ5vu\+0Sx䲪b7ɾ 1-P#E;py:B=na (!fx~|t OV|4unoB{e}wvg/gU^;*-pYC$㥺jL׶*fl{vZ%yyb["=b- q޾(WCu~%T<inJ_=lD'<@OzeTSN_( kq%E\ ݂5㕭ڣ0s$8Zk5 kgu=/T (l*5ұ3XVMNC_`;VACLjIlJ+ZiB&ʂ;#AoQ9pkZKYo.eo\+\Y5?df]?DY=TPNq ד˃S;E~}4ٌmף1' If(,*?%SH].rA6a*d)>zI;'ߵM5: >=(/6Ֆ+GP/[3%ͺ\ʂ7m mkXAO.b7H˯fӗ bƮpJ%_<$P^٥&I>‚b-u1YϣF"sT|ғ_r]=xgV9-CǮj/>挕q.t$ܱ_D4/~2 ;N,Tl$U@!kįs3Lk sLFKXЀ݃ ٫Ś}j!MtVk}yՆ:V3 &F.Ҵr+ĕ+>赻gRCel} ڲ@_@tqE2!K(wӿX^x&lk6??Q1V}iqk7;sc!Š>/NEyZ wFV@]~e&[ȕޔR7C7{L$8(!8%-[e8Vou"L?ףTy5Abv%;P l΁rߞT]2I8:R}uӬuڪ\X p!yĝJ`''* >a|( l'Jع E_%ﳽa"P/ዟp2W}٭/A|Ye?RnA_,x!([GơnIEMf&='0Mh8G'd+{<1WHz(TWQXٿp9[#(՛g]Փ& /R(7޾jZK+]j#UtC3fb7)QL7e{dX=0^l$ͯ_ī-ݼ$HIS8ƣeyVzRc:C j۲~ATjœp X(:c/}@Luf=HVljaSdrdrЯx+8@yEA,@'U-<~Ls%ay%MDBk`X|Ed+CX* ?^UhR@eW<>hI߉̒ H4ۥ :[w<o.++DaFHV{ȫ~.e~٩-S5o a+&XCQ@no@ƁPI ]dEH56~7!xi30 BjI.5xBk%)Wk5 w֐n VD_t!-񧁕kH$K(%5N{W#,1 aYxGy@6x4Uԅ8GsWXj.\1Qܳ˽uI Ȑ4=P e B~44`\FMͶR ⥑ yS`I4ms#JԖr%KeZ\1ا/-^ފ4Z,Kon.oL9k*RhUJƂ{Śހr°ӳ% @۰ UwEIҫZeVP*ˮRNlUkGf= (k7/FZb`ZS~)ͳ!HsdFOQ Z4u\&Z%^^W$ũ2 }<#EB6͔tL7 ?_KGZM22ŵ#-2) sڃHw&DO%m:M<̼C$Trt {|{)De҉Mo0:1g+Q潧#zHCJJk[,05VK%MHH+Y:q0~MAEE"D3vЂ%L@k=A=^\ԓl{HPD] #uQp'()ND:)Ya=xܴ.LA)9޶<9xCDſxWoA*76e}2 h"Yr&97 ?R؞UCRQu_Г \^ۿOT!g@$!K}PIM@1x[{e]b5ȗ&C~P+?;v6Ah6 <Ŏu 2?N'ܚ/f?ArkN"!C3 }B  -#?m6+eԥ>ppyn,LeJs;m_p"حFcnn]MrP~0OHᤕ/BjU V0! -`:r&tD\k:&Z; ? rW~m8^4V'C$6tDxota-pk}!2#2E| 2I dXdwY.5h֤Ȱ/\5%mj}bzEGu}UZ5k i}$g4Gc9!A X9-o!G 懆Q9|C\=pF^](l#"!FyVz97.3d uWey<{٦!Lu*mF/szo冢4 >F*WqKX=t&J3p]J;IW+faZ0&|%0oLj'e%^mXB~~<q4c *BƠ!xǤ Qϥ>i5{5Sl<<\]=/~gebZ; 5)j 9!L n0i,3BaFuOfVyrQ!Zη"zv%7q;*r)BS'cUaey9FlL^{lPn4اߴ~^xB"zCZ!WWd] 8n뇯2^ϔ;"i|'ЇH;-g QV;89 w6++N~,gԫ+Qܑ`B=h~0͙ h #qHp^X(WJ`3PRZveAt`j[N„Ϛ] HLd IsIE Y2$o4FsZ g` ]dgJ.@<#'a$ &8^E!WܲװA2 q.ejmщn_`&lDKG}+|r=#@. B _deapJ8 }KPA^StN\QӀVA{%EmdCsaer+']픡l,FgDU3ǧY߮;+j~Tl_'Q;./ &VY87՝ 6KDY$QjA->͏~tWZ b*#NkWUlviۦm-Eu蛰tf7UeߧCvw=b1>}Ap6Q|ON`t%g+OȸS# q$W-G>mԈM~GQUliaĖz{pe5n33K,~$~sdaZҟ?$5_`!A{T'xs`*qJ#]ѫ7OS͐ vz &V^jv4 =oav:,XWjY'#weqB6<߿ f"+~p +ԈDYy J.Ĺ#g(|"Nɕ?+R@w"׿ ]n:1rVU, +k󩝖3`hJ9s)|ɝqʀS>N.P,,Lg#USU`DEn1wLCŰOWXC.Wٸ18rN!ktEa,֭:X}I?rOnXcc^ةLڄ&g]8q221< M (Ynjtw+}d[zsXe8e5XF5o?#l{gn*Xa}zB D۠㔞#JPM^Ȳ41gaI{"팭(etMUVM #V #Ƚ ە.ߏxJGNOX:)K:I;ot}jNwm#E,۞qzaXw8f_9l[]U+ uPۗԦ2;]"{zGFpES888XhkHؙ)NzO0F#q}#MGHŧ9׵ 6,Ց6lx…;jg3t~ܸgsGbp9]Z<%cc14RIr0ՁOƐXlg7MXjb|F]Y'KJgWyɵ./yp*4JĊu~uka~1`C. #pK?Ԭl#d k{٩NXi7x_9Ҹ{=߁JǶO\ Zϴ_BsH"a9qk%K@iEyKߝ3 _ÿ ) /ASʴv"|7Ԡa=:( >҉5z!_[+M;Rqi(M2SbɨZQt>?v +XOM& OKӎB&|l0,g&fócD+ oKypvėqC_z`i12AoM0^G*PoJ$PU0%y$[fpa,TmbH~41t=0㢆xn/ۗ 쌒@>Djd!nnwړÄ[y_3P>ghA Jj;g-vtG@W꒽qUXMn>mku.*>݈jFʣjK 1tfD7^.l{GA!IdFt1oV5G } KU8mu63k%ȗpڇ2؇x;[K~/[p\xR~`O2pB"L4mkӰ=ji dmn01Ej[Uj:Qpe29)#+ :Ct:^Z. |Dqm?deO'Ն)y1kXNl݅Of,uNCu?΅ CKġgf@4Kgszhj` V]-)f(#[$]8X)d6J Mz1x͝$1TQZPӲn8 >+ "KK̈́F7>_n!+rzgSAil]Ty LN8ʜ-W#(qDآs<ҙB$v!*Nm=%˄W̎2~51g ?S8)n^QA4%DEB7#Q B I}zyLcc.Rya_CXE. K\ n;sh 4)\wFdI"B%1B6~Z\^g{}ؤcZU58+:6?ʈ?e"b=h(:al[&=qNwO ɒ ޜq6o$2Whh*x,[ <kK/HJ&/UQDnK4,ݖl4K)Vb, Vh6L a3!yn oЄ!ŵL'WJV+$һ6͘ik͓OC]B4:*w#$T:=>9&R+Ҝ@pSS^ ::@]l҄T }/X b6w_ V,>Z >7vc>/$GAKI \yw}7}/#:މ^1xZ5(~saP]"@e͹ĵ6*a㧔!)l>C[Z& pb3:^%ιrđ&}x ?^8(F= _ ͖3)*tɕEÜI<^k 2 QZxLihy6f!& "}]sOHQrI)~h$n]D5ɾ7 ߠO̬B$cflOc}Ht[x:9L6,Ovʭ ?ނ0 K [vfexl\מnsYĕuB+1_r<*o`Iz\Du,MY}R]Fm"ΞlrYy=~ϧx .E.p7Of§I[܉!ݾeF #m8w{w0:Fe߱UA.xhX K[QC\D6B r]IEI0_:($8kQIܻ(U'_JkՕhZ1<TqUҰGtH AQS%tt+їEc>bZPFUl.aSap| N xAt&FΏE/_kN4o4BqY 9. [ tH5%Yi $uhPs+ aT#/҆c$-ڬ*!8 ?Hj=/&[JL-gtLG1}2CIz& ?*wl AA(J6[<8 0lqOnܯ/,(Ѭ>=0*!wJbmi*\ 7'u]w藦+3k^h, |:bU 4P|Oܜh[7@?kg%4K|EXǏrakLBWDXQ=ڵnD#:)gS0bEz58WG}%Z4TO 0YJG\-.pHCp//{7k^N(SEXLUj~ƨΏ%I]r MYE?l wVkPf`lDݲ); -.Rr?, ű. 2):'Pkb.bYPhttcCAQY5@D5m/uUƒ4G.>e4΢on#L YHR1 ZÄl Xwa <[ @yE1,{h9g>ת_l[#4\ѹzR`wUcΕ,xO0%nfDŽ(RA@u?rPWaB?b_+!^hAEk\+ /?`P[~5ݓ<*ʀF[ X.3%åp.1KqiLTT  N{_;&,B+qDN~}o@Cjy+J>):|X4S5fH񤶞chz{nϗQrrx2u6pm_d}e3x}Ĭv牄/mO 9&۱zuܑl.@X 0g-X <C\]+6v#o2}k̰[g(- ,nkJjE6č;׾ f*Bx~J7J'g1VeȂO`nPƪ,w.wZAL~ƿmL-F?L`TՅɮ@Lg6b  DWj{4D &ܘKR}`*O~wa{@m2)> {m7/chN>|m[2 xF|(/@xZ]fv zZ T7]!iC)QY:l"/$܌tݎ0:$Kŗ]|ؼu+)GJ$eh5q-d &bul^3˞rM"OAegUOdj`A}IP/1񜣠·1& ۏ@X^ZӚʗ :r׆eޅru,";P?'Py* t^gEY{#?*׈u\Oy\M!Gb2YR6N!Y]6ˮR*NT|d+"$M2<$`C v^3ѡeژIzSB u>Ib1`fxT~{)5[uqDՁXKZYm]Ť膛 6O1 ]Vb! DP[b#Bw4G{.+bZL1Ij].9P<#(Q) oynPc: X%j;TXn+mb`SC7Mohrո ew||%+{M8^E'3+88h*”(b--rbùAk =_1z 2Xf+{{^I}##XD Z줿5Ze(T_P>|TE B_! 45@N,Fb(/(˩@W#3s}qPuW#TKEo;N-ǻO䨫&[}ƊT#IpZ"=?B(ZCv~vVBF'5 S;}a0 D}*FBS";(Ayf[bCR/ɓ܊8t?ZF?9/aO?l uě2[ģy R"WlgWmX_a+n#!ku1[鳹Eh>]Ho-atn"]F:sO2]<ըpaf3hJҚv IS`,jN䒧ˊH8yƳ$WAUX29mpٌºL9yDH_(w O$;#97S kbM̟:wi \^/YHx)jn 5:Th/f8Q+BWP5adPk?nQ!MCw=l]c ܠ xD üOʗ-$^Bx ҏQ;@yO52Jg94TMz/"HI.FpwT䫽Ϙu"LvM {lɌ G.Hu1*,8ʯj5Q?:l@V7 vZ`knNWґKznҬ{|(Iy䈞_E ˄nK>K^,f$IF!{xM6H)@I csW g9UE|0CBxO3\mѐܪDe<Oy2Hz#ArY( >8TW q/&;[dž e!u=U9#sxjhT@*]PޯBRs\Ť8~OPJ(.  6}y 6@HzJK:.Ŧr;O(S.ҀUڿx?W-d$׌X*VM ebS]Wb%V*Y)k]], ay7b1N% GCgʿ@X`5stn']q,ݎN37(KӎмF}rXt~"mH5Џ1Oly%+apM:5Bjڈ0PБn8 ull_|*WVsY~ZTvcWSp ^)iꙻv ##nb} J$#wY_Ruֹ@Иn_m C{RBLi %ʆ?雹S Ï;]eKVsp) W"{ 6dN '3n,\g[48[!6eaaRFn3WpFpŮG;܇x~7`o%c zp Y .B].GUsub N6܈|Fa+a]in/^L6z>"+WY&.8&F0M+[d;6} *8/u6hA@0 XwߔSW/ 0{?jܕ=0lI,:?WΖ:P _=aPEhQA c=Z/\Cx|~ZbaC)O^ 5PbQp-ވ`s)=c{r;[Mws` ;c3q=q#Y9;ovʇ|LF:]EyCq }aT8T ,OeT#UH5TW&=@FyXE/绱t®!޸;A+@r$l:ff=lO&\E*B맵>;W*.1&0aOHAֺ F1D(.A HQF*֡3yE4 &mv᷒QF^dAzEK ;VeA<֫<<\=)0Ji} _u$z2>Ґ,g?,b[-# %0 I͟.oцi%N}4'حG~| 2I=S P>mr*# j&H*zSDŃ:vQ:ㄊm [%6tN.P^CpaaEEd#*) Wuaʛo*ӗv,yBqЩ}Mrs( li;~9<4w`\:nЋSE蛕}9jzVYnU۶!-x~vj+[O\hwwX”B"!= [EN(Ƨ#upҁ0y.:7of ɻ8\.v=Br+QMߜAAG Ah fSvq[<سmYm}nǘ?6l}<3\t>Y ?MӮdN Pmk:pߎ+Ǝ VG$ u=}b$-<6辠gҶ0'O.ClpM |Y-px+g\>4^2 BƲ7z.d5gi(*ZQ^t0hnFӊc6$!%Ѣi;trT3у"%?#gONzWDf p2 A?W8R1r?`^kOPar?[' '(W,"n2/xY!p" *)Wr%fE ]B~ϖ":njeF>:E;8@K`v$tK!vu CXClu ߲6`*u#̰{ sv">=Y@q0'}cNsJ2n&'U .L.,'{w[o␞Bb,[cw>+vOhŇ`C 8@/e6 +}Л.(L qAޑlOOO^F*䴮`6Ps*~xAsU=D:uYӄUB]u;fGyIڍlrT46K΀_! Im'pش%2Lp#IdsFvqDuzjv"R-CzcvhEf ؏QbId*ͷQG&*ijUi{㖎[@A;N6: k^錎3myTyy$r1f[1:]3;Ԭ+fȪSJ7Áh)ztXX4ߌx;/-i$-=R-ά攌;SMl"/3m˹5ymVR+7cr -wD/X^Q YCe:.1~~dL/b:;Qt'dpH-v<+F |cqD ux"ga zfBwۍF@h8J#QZ9/ʉ]1<Ԩ> :`_kߍWcr:6GUo!(1K|IY&8%eqI6ʃq1цD3Rkv?0⛩]qmt~w8(xخ f1SE ke b֦*EO7\J6f`GGTүR)ew3?0<&kE;.\# 9ա*Br%0+ݱ &)܏#[U DqJi 0bpػ#*CpQ9<9r b[93^-Ll5S( +Jbb_b!-Z7V&5bThrZT4OfPc8-/rjΗhkz m?Z>*FQA`%HUnyB,i̥՗e_:hysW٩^-}K L Ԙ;D8j]^\=\ tI3'lIw4\ʴC %>!٪jA~<{(͈8e6\BaruamܐE*bGl:R/b}l"ڜzU]zXԉ|~tSxٯ箏A Meՙ'\/sEix?npHA;DKNDpQ1?p|*KۿEkN0 NkqQ\v/" Ty ؏4K,\7VAݖ;e_1("ֻBv_H rkb4|e/P{3$Š ϸ܆>'ИOv ~⅔vK~  )- D1芸1FTV^Òp/T@uٕ`XߘZ>3դ-=xXYUQi-d^L(75&7~U'Pu\h(ψlrlq%q#6=[n>@ȋAWt"wi͑uŔ~fV Gpbɕٱ9LlHVh cV # c_Θ^4m'%#\= 灁aD{\uN0& >V]\uiZ?gh7s.Ӎ+$qRl* +}ms۸lQE}&;?( 5-Z&M*~`@hZUj.S6m]FqiP>ɣ͠|76ʹN2Ilu4uk+|VVx %gyJs7c詼V,X4vZΚ} X~" -SWZ^o^>/tAdij~9?w#s&*pv<q9es/bN*KU]TPCT[R-:FPFLEZ03n/|X`M!L6f.Lȝn#O'6t@|njl ;f H[͋l"J r)&o2j =Xb4>6q1OI3޳'3gifP%]rHN`^#&iVr$ AmGζa~r#&V%r>ސTP?TY*S(7.ڂF2K5$(TG:zzk5iqM >A G*DsWlͪQ.xx"݁qz{1hقDȔcfNH;Ȗ.!yBT.r2#JIOHuncm>7i*v(yG% 'UZ,_."wX'~DD15ޤRD$ͬ՜:-~Ɵa}60mȘBUˀ@Ƈ]xṾq'QP,'Ȱ撉&uNN4r~r%uH\VX/Dc fI.iM m9WIc]HQS)f[X VgMFIED}7B9._6:{V8VJ}bkeWZt/š\ ~[r/'|hrBPdk 35-G\2&ouE̠?哬 6KԴu6$@ʈFP=^ynt>#r΅Y';7c\J^I;w=SqJ|_N)U1?ta:ff?lw ױro3Ⱦ]oƝTY1 tQ5K9A0M!Kf] jzq>-DZ@REֱa1dW#koz{O.T(]Tr!B$M1w'N]x*&!8ߌ1,{Zc3*ݩ[Z1eDbcE4">*<1cwP 9`(k[732W*%MJQRypt~vN SrއҊIa䳰ʄIvMa Û(@y8 YKw4Q`Np0( |R՞ٌsG5JcE M1ڣ^:N԰޾eY +=_iՠ3:4WzCYG>H$?k1 ݏT=t,G$ pw9Q&L {5;~JGZf C F=Ng]_ZE@r 5um'H aٹD4a (@D:,#@֣ۭ6^la6nb%|='Y"VCqU6b9t2Iomu=^N;$dU|1hF~skD ;!q 4|](f ?+HCT[!=w!{ϸgVV~t \%(dKWjVi }t7^90T[qN+fqRj6ٝ{٣'yY3ٶhb9mJ'"  T멾r%uѱjzbu"b_aYBOS(I8\|O5.LL9IV{ N C-& ^U=6l B+{L+<VJ7vlE3bpuGrD}y-9]Ũ<g$_P!芰md@Ts Yr޳|/fykhjJ ^%6Oà[m<0"%˽7Uً_;?Ob{8DfHqknܕ˖ޖMOa9*;v PP@;\)P^[tB|^sd]CqH7ԠZ'\#ʼR52),P,}*֙#UWQ8Y"G+Fu(4w'.-SLʍ}&ׄ,\e5{(.V(X/7mIoٝ'0֤cfㇻ?|KQjJ pSCBZmCC_,;7$Pӧˆl.eB+C; 15a >G}+3=RS#ә*YDYn@tR0_~w ؾz`׃NH;zekKז=hJxu(d$K5|a 6 @ 0G 0fdu..8F7EnGgNGfAs} =fCd{z-0E3,P4}Se324x]n,[Ae=Fm)Ix@*n߻*EH)ɖNotڭ!FǷ(AypL&-cg&b0ǚlE $S.Y]z~>a͙a,I mX}cB2*Ày3YD:"zg V #VF3p·hs/&HXӐ0Q-3R H 4QIgZYڨ8݁i':q)%J&qۯošouCRR_h,7b/n5;a .&$vf{$MMK> lS zSxkԜЕVaqy6n)ޮSR扩ϫЇ%3n.aڏ{=kO(r]fGNZkD6X,CY/tY喝fz8ԇ1cd#HG4&;FiI,YNYլwK)*(fŊŅxR`f"MULpbzeY5a.*L{,׋]n&v 7M6-bAv[f;y{DJ˱3~o*C{a[Wcbf00r v&8>$\|d*Q} xUix`Y  Ȯ q*Ҿ[ jZscY!⸬"^RXŎ[e18w(zI}Ǟ n_jb MTGu/'Xm &o="梧f!FN?OFFx\[CXl$.PQB[W@.'![_uX1ug?-%s($UO- #zmxTSTJqmm{wλTdإ/%rX]0@?mLhH-_jMmƘ)˟ÆuH7#"lt :Զ7U*_薼\x:wh%W7zmn^s~3I[+l?El*zZfI-Wl0ʃe?}i9O?g_!y+{oZn}V/{JWMK2E2y*:leKBQ~$d,Th `[r?@܋3ȱ"m5esfN+/v&HL~Z}0D =yab,}7}^C)MBb O@:({ckEzPq tXa୔bƵ|E~]bk?śp$1Fo@Z`mj`$W*.A&L JƟ?`8ii![?+\TnZG{NltxI, B7~m\ɵ\MyH~pMJd;w_0A> i ,jxCx P24CB*Qtwiu%+Vպ 9{]y!\߲sQC^~:c/ӈj((jN|BV UQ\I9+0 "ud+eX]s/:x|5ho2J3H֗.r3K\J{8 Qѯ!8xP4P:cfތF{ps#]H&pՇic]~&Q( HSo\GKę Lr Ž3]>l8:NLVX[2ߘ9O#;5lJ.l)!aerߠࢧ$rv'zoŢ*S|}QHkΆebvn32uZ{/Ytm)JwE }UK/G?*}Cs٫˞G,e@so $=޽Yſd1mYUdmhNcgO'{1}R]\-W7W- !/r1U菟B$;QH(!UG։cgb=8>0CZ؂:%W#&w4GJH?j[ݡk!l"҉itQ<$+悧WB^ hAlѠw㴝Jz{AV$$km- iy }o4ɟx<pZDže17:`X8Yjh#߯F.'Es>tԺ@<'h:lԶZRMS$ذ^T4آ"~ =ˈBDsmG">\YtBHĆ/bgHy b2 M??s57<b-A˨q $B yid& S6%AGA ]{Jb~kI["!|IuЋ5-h3-u :\ÚyӵY;wG%,L>k=IND)xg)E`n:,+o8qNE~ F {kQaG='xyއS枥Jjkll10_WL/O۱2!6 <\1:pAȦs zZ0vVȐ9  Jt;phj3)"TyV u:/'txuW.Z Ǽ/i9}ObAm[}=%*usgEG=_J8 1]hٝJk%=z-Ę}a(NuZM3q{yH V:xͲnJQ7@3m؅N IrɨiIO*ZJ47R~Fꇲ ˾뗤1~=.oMe쏪?g}E RdҹG8 (^*pH|&YQXa8W2eM Yo$87vjj}ebLN(W*' 3ڭl3}1˻}l*Eu<޺QT)p>*6WƑ""{Zg*!{H]bb̨X|—u"mloYѷ-UPCt?ZbViԭu bڒm1$!C?u>"pd(9 }|eea.]>$c|/RdY B'?67i-c$gꅐn]m/߷EKYćsñ»L4DQ٢Uu i5xO#ޞmVSMV>Yn 9/+j5 |AzE̳HsҶ*;Vue#H[j&)[6ܵ:6D7(hHϴ-'T:¾E(/,dtD\W>;9jOН)Xa&FF1@_j&1G6*A$yBraNuX2ɠ 3=6Aӻ+zn-Agg lc6.dӟ䄁I^0טg^|-tCjcC!ov9ozTxc&TUZL+{͵Zmڕ`K5K{~/(2޹X3an8ftm䎘԰,:s.q3X< Qt7Op1jcm^ag6'BlJ 7h8]Xbw8+Ka"?*(pXϊZ fbPkgYH W|Pѧo^NBv`t7{f3샼ʌX=0^]1P9HG,j́5iE$Kغ|>:Q3^|1fl12 ٽ 3a,z-ӘAQ^|FaT(tA'[S$mҁI\h/D TĄm%jOt[2ɖ^Ut%0#nAM~yèaյFNS-B7`X CYiQ } }(j^ k'vYHA* "Z,'bk;IQwc tӭם4)-g ʑ{0( _*JE{5K&%i>'kA@/^:_@jgABIre3mM钥ԞCcf9GBG&RfGȾJ*ˌ+w3҉ir7ncf/#j@-L'ާ-~O^vߴxkPUφ~v۽FS{K PPRW^fP~ux| m֌BDDW1( K>j卒f A4Mד[ir %HT<2ѯR4 ̪k*Tu#kViyZDvy(!v6 uhy @Cj=8jSf 0iim``DQ@ 7%lvA1gL"PJmL3ݻ/6Wg<~2L[5w w fb śR6O&t䵚ttKyByLlt[ L~[-=pMQsE 'Xi6 嫁IjJW+8/{G5#靈{vAkTgI&.Q+?<:E<'n7#wve&JwJ!cvM8&Ie b1>~tnylo!TSr;^o9gI8uD]xODcKC(5@ t ôjPcۢA:-: bd7n\EDIqEO_ MM\\b\y>Պx1P+g(%5+XR5قqb!9|Ût#CRkMY#3{$%m'ʟ4Q6;Hj^EE/t^Ѷ4'c9 u^,,ɘHKSwjlao xw(m鴫{,]= }WJ7P^{U,  *lv_;Ou ʹJπ/'B3NijE~)@kٳa 8|?7 RcJdIH9һbrt?Y&vŶV#>$0NU,tYqCAXdKҗ'r)5Nepg\Dvɲ~>QؿByh6 xԚpjTTGzVK5胂Qm~" wC- gW4P0BԇB]:nRυĀd16=E}4ciJ5aU¹H&i:q&6$3ij(ͧC5nu'܄NB ^KbO\Yf}Kn^X_v%EJ?pՕ{WnlY2Wz<<EfjP $T܈G᝷IǙ!mv6<8Ҁe*Ym`*21y1+Jf-*sĶ_!%&v V;|@`&|6)8GNT5:: 妕R&\S ]8{X }\^m,.5Vw\˄DH/ze0L6 S(u]9IL-x? y͟WtqQ `v:|o~2y`p-S10S.Ve)wO%wn.!R`'CQ7$=p( gb4!"mcZ; j ^,bГ|dDQ0']ǵ&Dr_<22i@靰@w9a ~Jt>3$"^s*8DtMϖ1`zc2BU. _`gYp[wFn .%2'_)NZTթѭg=2l0t4#-oMxmkIkVGѺY:6bآeh"ђr:fM%xӱKqWJ'BxI)Җ_q_7NJ9(#Z"τs ONY:Q|TNjK>̘j~ktQI6 {CPKd*buT%<eo m+D^$Z0~ +qr g9U{n69űLZER:Gs MGn: bVKk(lz4o/ҁ=7848ݰ?[0& !>| =НTrF5h vW=u k[4 uNFC$ 10P w.bE)N ؉5F|T>iPz=LB"8__?9@A=޶2HR~'=bkFaUuaze{<=_z}A2uwr=<tCK6Z*c81TV=wP؈eYv}^wv~W(x56OOӲmh36nBҫ!"xnX>Hjh=7U&s.0e2&>pCV_j (/1Mc7POh8#,OB,-n4Jp!<[/G߃ed10w4f?6@󄑜<"Dq-jSt Z,lGjK9C"T @SKnb2fkXrb9s4ζ6apl&$?]pPze*4a>a 0d:HhCj"4ۉ7T^Sed=SwY^=9'U)#ѳU*ȄZ-4H~L N.@_ Q]'kPzb)(D6)p \Q~93J\w&@ P'icWdw5[wiAHW*58KlSBA..L Ǣ*ϰӴ|~P0F5谾vJeIyOii{?γ,LH VBW{JUj4UKj!h_*clT^x9"m8WO1T F=FE`쮝|C;.< ;RAʹSTM0}' bCE-4޻=Ȇ„]ۜuq/Zaϡ\k{QazWn)Ad/hLί֌2N8$kP24U4-i}91K:yYdĚ8zsZz>|U_\rf%QM DbJr cn쵾$8(q5ԉyoJ CVޙ H9 "mi@j@w" \otD[Y %:6mkt#3U4w:5!%H]>e {I8bܮ^Ӄ[ Q0z$/oWLR?t5?*b)C#QlSU DnԿ6Jav~í)z^yJDv;%]#팊*A1iIdؿ`pCEPfmIS[g N0*V=%4O]Ž k0fJ;kLoq~1qXø8cX.X^݅}@U;N0dR5 :=[uqT\ L狹Ar(&-uNv]Z/ GYS>=ErF :v_  ^e͔7" ^$&.ƕD9y֨w>xӍJw[cQ ݳLUwoފ,wmj)0/m M7v8 P!d$0]+΢%xEoI&Ma~#Hi!g7jƊD%CyXWAlYƝwd.`.8I>[qN;ۻ$j֚ 4?;3 ('OnkW*`X>e_O[s-% 96 Q3TEfp_(p Leĭ27U~+!AіS["1A,T(U:\c)9kr>N1PqXEOR"̫Vo=sw":6^i^CՁTf:-71Xp׊sR4 (\4; ˥-c8?'6y]!,1#'eGۄŬO#/%o?h0Ϣ;zC9qy{bg~\H fF95ڞY3ϱ'Y#K#`W)U2@ (wDNڻA";Qo{m[-΀&^/~YU }Rgb1!f*Cb+ 4V&~oPHgN('p'YQ 4oTgj7d>@dEy|rݓ,w*o>G*s+[9V.lQӨ"m{${``яce Ά0/3;ؒhD5SFF?@ 8dVpZUf" {T\VuR\&*+H[!v-Gi'Ud} ό+Z:YT|^塿,Uy X,HLS0䵌=98h-f6Kn:zY  ) u^N x ꂰ ɸEW6CU)o폮k:=4e& vOѧ>őy-=϶%_鄄$cֹ^J4%x@]y},͠HX{^52ķ}[C;=L5re@O6ފ{ 2@E u:%GnNw9`3CmoR D:NmTM1FmDg\Cs~,M\ Nn{[NVAhE3vUkγ="7 @[zX[=}nhtY? W&-jft:C\.+Դk [7y1\iQZ]kϧRXUZp?[t V|` !v!3S.BU+gx$Ȅ JvOB]donNZrù'd_ QcA&:Qz+$[n J{q >!%:s=82g[0OO/l‡б݃#C.t'cz[>|/[Oi=lhŅz0\KlҼgX5x"PHmxd'u] ͣ q,JobL=h ڹ /%SW[ [jIG #D(q@v˛0)P,ByžFoU_A:QSt GTtABbmf81޻)Cw@,/35LgA%!wT3ɔ\)| 7bLoMylx_/2wcE<45$TRںMвiE.*VϦ^YDx-ϡ)T3S-&33( ~#]EgOU&,F]YG~[k@/N->+nR!`sBL!%'d "6@ B$3`-Ioy.iC#9 ˂ RFziD4wk)XʇÆmba{*r{a8n݌vrƑؓwp\uc2+_h +tOk)VT)uTRk}(E^P2\NKa.գKlԄ_b{QQ6{/6P܈3$Q{[8Bv` ױT@W.rjm^o`42@Hɞ8=GT z+Ou5 pqiH;j)(pFHm*xe:)FpJP Qf_W\#+.&*wy@6(% >;ȓaYJ6gn@2>B@h\! Q|^GRqB d\]8:t3VÑ#l1/~"Z>^WDdn6EU -z]f;@FQ-^T0R}j8tGI3>$-b)lRn#@OLDGx7mU[ }  !E=lßSHΚS{&O\pcf ñ(B+wr K֜;ZN:Yn‘o,^1D[1n cɆ9rCj\ DX}߂Q6"`ca qX2j\̙K~, +ƈľf2#Kp!8#^(Fa6En6Bn_>9~igg uOV,Iy֪;jx 25'(0iɬ C=|aB g0EOI$U\`g1$$p;tpܤSWmPn _OO{^F;{(&=###.'pl[+VMٹVJZ:`IhkN> S}LL@DiN w{bZ^wAaODsum_oR4K Rq0T윋5Ox`Q h,iAmV_]5a˼dsO pe3b!r|\1H:O#*L \'>i"L*'ұxm}32lQVhP}[$ N[fY(n_uZ}<&h]Kզ,2֫ر–l $]^B %|74;"68$I5*B7<Ꞗjfç,OHlXl1-[5Lg|*[9}1\UyHҏ*%t{ &(Bd{'e%~/]zp uxnEl/T@L5C0᤽r11'NpR0seq f5i]AQB Ď! Hˊ214Ո lrXQVW?'iZ^@?dh gUjсe-%E5b(AKV`DU)}ӆu%!01; +)w˞ ?:]NΡ ^\#q|Perד.+2|ݛ,<,dCM\kwJ j@\85oZ2a@ax6*B撕ۅc$%@3XtA2MA2. YDf;$|Gٟ[Z 8%&/se%@4fS 'ǧN#Ԧ )ovckM)¦P7])íqtPΞ"zeӝ=ш8&+ωDH]DdwvH]@(k Ų#]?胍[Ѷ%B,pTۃ@ڟ@T9¬B+<'Odۉێ^""hVJAƮ3X3dnъ=qxER9@(KO/Bg1DO|/$y:N'dܯjK'%Էyƴ5T$|`&crA?F$zj*oR'jXbtv1E cNo+OۃΜj+qԹ oU +͆gje9#8)0z؞e[3_}S>Au$%q) 9y}Ѽ+C8ԲsD)Ɋ8=rIf_o/L*&^pړ8uY@QCsmNJk].X[Vғ*s8عC/nRV.; 4Y5JĚOuOPIE#ó7mg};`幙l ?H(8dr ]2c8xfLV.;%SzO@4]y q{A1P˸eդ/:{ϒ<򀄅W˚ᘏܤ4V?7X~*^=F!Cr*F<is,h75#dLWړy)Hذ;-$ʉ8fcXKhER)g߆AT#skΤZw~jL6]LLќ)'j@^3"v~A4cFf:[ m#&?+B<ø&7"Z~7GvvA@AO>~c w3a:u='{Qx"AJHRv.R@RQ7Q=] ~G(&PkWV_ڎ.RmSӓ Q?FJa7c"2eS}Sx[bҏhe9doq$7`RrB~|9''4 C5 C8GX. T|A:/kUc@ݗU|WPҽv",^I1wB_l#),&T{=P.'Tұ-~T5;򒗊 ހ64Ձ/L=ߴ􀓷 , `BGta8Y|K"a~?ha/' Ǧ} nbVWr@؋dVNx췬O*|}d}.9 ѣ' 44-1RYp34"&S?l =jsM]ɜg>ҦZcdtΠ@G+y|A"̜iE9Tl[h u7n1s/ 6<9f6cXJ4+Km~Gq=+| m_˖ QB]2;EnY v;zpA \.3SC#'#:OdNILNliMѳ^o_Y,kcXqFGuֵ-(uͱ 4A hUa7Rһ͖OO) j-1n񎏆!+l&Pd[iڔ,ݠz! V/{iCHҤ,_T|9_=zag&\-ޫJm9nbf#by[s 9ak`r~%pU`S02 E3Z+&)b88' ߦ/ި^*O@U7A䶫j|LSpU5|?*v}ަ(;iZSlT|VϋwSG9 _iA۞Dk @>ڕǔBZ 6Y͚`ג{8$E5dI&N04Yyf$XlU2(DS0GP",xL,Y;rS;0yd/;i$jXq-u^H%k.e\>lZ*a2i,WȌw u[٫3z@ԅ-ҪýKZRAi䴔VSAB An|G-^l(H󲍁dѼ: k V-Gb|GHC~9ό}h^xVA0K6_4Ju wѳ~ #!BDEC'[ 0s}GTwf5Lf`6; ~ĀxZ&1ȃ& Z+Ou @(I upH+Z/R8P`;1D1t)v'g][ӷ#>"xo:8D+;Lr޹&z%M.Ԉ ?#cF/!68Mr LPb tO"wbiuS8]GQЄyb `ipw'w>_c&q|!@\AWb 5@ [$Z~.3DåZw]+c! ~i.:Q>K*e"KhO$cP U.+?sQe*;(pD]kq\Ƒط8GHY>ߨw pliw%*EAI#B{?FqhşTI)@-Tߪ}~ph CY'ҭ{%+^3K HVe^` z9SZg[*0e hX7 KH xZHp)Z`ы=QTY/2\,Y2I_DQ " AWԨ > M鋖z7 @2%~"ZrCf,;(/s$0 ڱJMGgu듒j@Qy Ao +3@f=F 1(lS_-*܂i 4a(>P{L8(S@Oh.8ySf'M :?B4Fyi b8/`Y:Q#P'q!eޮbS"~B@f RBMv(] G.h6~g,cnQEi&F~2\BL3FTʨLE3Z, !nq>M}!(.q-p+wu9Ԙlڋi0+h`DfI*3;@ʱC<qf/&<&*J1?O45ԊX]WNqdkjE?66a:ZU'vDƏ{^aD#!ƽ(h/R1ܸKѥq5!J-@  <~ɘJba֎)S<"IW@gk֘f9Pe@ڿսDf+eSo#MmML}2=$AhdS]F8[aȮq\J`(~bgs9(05p R_M)[R[4Bד"!^&dE?B?tz+*-E*d!]mwlB v6-cEg&yPj5Ժ:^ꯜt?ڜ7 k丆uc{㙶IBWAyASD0||%݉{쨄"x +M5IeJ ` 83ͷI+\ gFc)DFh ^]w)Wa"jjy)s֌CeA/ڿK(C2"kwveffס5tkѕݠasߪ}{˗F*̂"=qrxjԣ2ϩ3i рKoGECBjfQSQ!RG5 7Q01cX`  ^D TBѬ0y߹wnXS EL '6 $Hr&k@r)χ.4¶HA'AU͟hn{wRS]ĮQ|/1 c (ZdGx67$/`9`^FO p.1~@NkqG4/IMl-~ W}\, [z;oJUǠ.e g!; 7xkhb\'L֬T18N0G"fv'm6zk1՝Y(dv]XL@l4R(*)٦cju齲]FOhkjE8[ ʈ2XkM{m]eTĢWfxg0 3$m?9:-L=@~Iu|]r2õ@ous,'#0_oSƀXoў cض4xPٔ޾OƱ0L=sڞBnPG1Gٿ:3PJZB'M S-mXq-QTuD5KYmg欅v_-?YؠwWțlqTlt>}2|m37WrLIg:çߢBHֳ+=`FFGX3Uf8݌e͝Ll 7UE>d}8}80;# ǥ8N߅,m6 4x)![ME" / 3&iO|}Bt&n?ѷ #IGp_#ʈ8q!X؜zҨ}m.1.Rpmc1,yZt ^l[W3% NIB=LO'ln SyjdYAl/SٯM ؃4X Fwq`#sG@慒.6Ex=2D*˜'i/s3SJbˈP+-̫Nj77뿰RW4]GjwFFLMu1%P &-#>+)LFR('}oYǛCG^NLU)?eEn+4It6 |YIΖ׆.L/+0V4qEju4#bc{o"Z;QRasz{ly_NOertG"{Mٝ_*-VIqd:Z-fe|rLZj/D1x,*u=Uo&uo%c3GCCQ]J=w(u*S6E0cJv)M^BOwc72ɇsXaf,K_BMX$U;@a(p>]=aX(3fgb]2 K%g(^Ӏ[3@JF\BQ5ɕ.㨹g"-!< gjyXwAךRw .Q1m痦 PĪ$+[@23xrJȴ.?*xQx*aE.ro/A/ѷ(N kZj3oa2H |oOy?p_,R'*zt(U,CUH9 VJW0ʊ|e5RWC6:ejPK̮r ሹ^լ{di-wo kȓwsqE&1AZͅ뇌|=36au}&jO>Qw ZHw$ædH.E17ێjnR{F,SKD:wFpNŦx @Qjh8a2S g>ބh\8tKEaN.ܟG+݄7c_-{v]0y7 _A B8*&7ڟ'w)7I+qr=DG`h3rccp㾛*jn]Utىe˸<7L WZ"_]^/v>rh"R|}*fE# :,ɐ5;}\ " IXfsXâc(ĒX!&#+5mOf.tY߇UP"HQ'qfGr}솹$8ȕurbJc9}K酬N C/P׆ԥt!Y9@?W/1>gvhp2Sn>? #yq˾r bp-Ÿ,h=cĹ6FtE'(fI男>[vk(%^jH, 42oXs%dem8ŋΥf@E892Ͷӂ!dVeм1?%5 I^hGK:_J A k>Hd\Jeܛ rU=ro(őOB \y_q+jƃא'Q@Sr^mh ^ %K&Z}jEWھ==y[%SfN[3r5^D| #ӋYJ`/_`N]_mg,tuI&입_òԙWw!AC)lb~1(6zee).' \eo(p:D\p4,.k$"3duii-˓XmZ5יcI-#r3W:ǀ>ÙI߹7H> Q%l:33 \Dl +H5Kݲ 'Ň;بԼs0oХ,I7ڕL֞O زMesxi᤾R?27oehd9 xliS^۹d@\F`p^CX=7krY]}63ґQ3 [}v@ӘW]ٹ #"Y´ eExnLI&AGubPq}{6SCfj@}4ʇ/a7 B޳Y4$uxxHܷCȏ00N+? M4<m(L2 b:W5R N]v jO?XM7{K2CQ>b-:cxAhЍ?Zvia64('FPp/Ҟ}!2;zZa"\Cv˘l sXܥ"m\)OFβe)9u Ts'Ui艝+ƄhH6P)&^abdN#)}(.p zYO jz$|Z^/8 ae|X`P:6!-/cP~?9_+_ Te]D@Qx!Wu8#jx3^n-2%BEc(gWUF5}+Xqp)a(t2(e!8{Êק TjijT#Xh9h\o|Iqj.(Se*Æ)!HLr؅/W8@6NP%N7#M@U EC5I{'mP.}"3#ѴcF2$\c;e*Ѫm-Xl}I3<7M-hN}A_Rp\/˜ƺq/ Χ{t  rl}.v+ISOnyy{G:C>ƪԋ֡ z4HgQ`n1L9$!Hrn<ɒ22&S*ܣxf40AQ'tg3>s< wU>tXԒQ3VdYdr^?ڵiSƀ75C* ݊P`#zh8>|`FKjwzevS`)$ɏ>'̝47UBl0HِuKї/W:1e ))RH:g48epN(N}D|1?4e{$ $̴sȰZH(o"yj8%`|k=q24[-digHdG)yrM}4{W\]m]c1UmDZ\!.ǖbЋ0j \Vtx6Ҳ_-0lHR-Ɠ*j<* OmrxSP`nԯ8UǤD g?({JddS ;}"i15xb ;n/%ۚl| %!nlg`S7aqv}A6(<5~j۞r[!~=Wϟ/~M cZ\Ծ< ^71In+nG#68!= 3|o0SBZ}e-ƨQ8$ xߒhQ%Jډ yа"Ʌhm nR hp|:[Az+^2 ?kIgP8XYo>eHk(œ~/`9,@p}<%s #5cLOHZI"vZHDj(lTC7_gQt95 72n V6rlsv%ɾz@]H<,rט ˶eiv&_M xȹ ˋ0MWBocogKi|4i"YU l ;MXJf t(S^ˏGV{\˟#1xkTP&ܺ#̬e`Їy'/#+]Hp@#k2!f THTMala'*L dԭ~UuXcңb=u\"Ū+1w4'rMc(Foer@< 3df-,nD4 ߎpPL)3noKi, ׊nu5!wŠ!ߡu4Щ"_C4 1Ģ jpBL3d\5h#`p!IAev2eگ(wX+!flZӓ^exrζ]Y uqN '%یտ Rdb9 FB7EԋSD|fP}I-h*%\א{ (]9}y-,@.ZU :!li_fVd{'kl)*vO5yo¬L;z_%8AX;'?ES++eAA`4<(䯞`ITwRqTܿ1j';m?h-|w.Wͧam1nk)),0*Y<i(V5o^ ?:B ,|Ja? f`?~F '+uyI%i{m:]Yv1Eh9 L2m_]7uߩ|4KS7$|aTc4IUK5O,\$dBdV!'12[,fy߿|@ 9cJw=S:k20d2# ։QsN6LL{Yb k~cllWu?+a|[@w%o`q a Nb徇% !_?.xZ$mD_|(2]QlOAAZt,  <HǼE_z@PMpp|= *zEko'^(|_v`cgjÆTH]`dW徬."du#)v?nƃBO⛰:!r*]2z loĹHǾFL`sN$Wm.Y1L!4X:]F M[Arڻ|ʄbkRTY/ ۳>WD3j#wOjO]$tY qBokI1O0Xb=Uw9Nul|kXrvZ%hq=:F ظN޵sŎdQ*6E堒Cjh|Qe``FG I/JYeŷ|㐙" 1ͣL$kq<$#[jԫ(ha瓍-T_Atc$EgQc#s' \~ V^ϓD\Ƞ+__ç@ԫbE/i|!!_b¨1𓣅!{ ^H*M=3}ݳ1BqkE@x%iS^1bV@26Zz(SNc15fpIsƬ$#@\%,l<0s2XH>:{/{v QZU-}H~c^.T6Ԕ`͊m2Pbrd3T }Yjf (SwLVPOu܆?{/.{e ۫Z,[ik %2_Ik%4\>!LS{ +2,f5c]i YGvV]?!,>?+_e6d|rm#"z{YZIC+4#),[Jll*"pa>Q ܵןй3,IyԲ.h`(g:yttmL# K;oo:$LܪFFz{ϝ ߣ,|-٫47ic{ PCl$(LpQ.S(>${ԛt=鴑>^1B#5>sRzN=NEJ co׸KE`C~HȆ QڠbNGֽOAymÛ`_.gE x&9H]Zyf*bd!b2M|pNR[X|e6SE]d/3YEP!o[[Jl,.> {#m[nm _Zv:!L1L:ZFatazS)==!)6$;.6yZYsnv%"E ќ=bTO+[6XX3ě 0h+WJBsmdӊ+8 @650K^燜 eM,oü+ӛ3cGyG_agr>tf7c4i( Q`Lp2k4xզ#J\qzG -rM,P,#4r @~tMg Td>S~jpA+8>j5!0vmo)TnL].0u``샸0=~zL/zu !uuL}qކapU e99ȠzD"G nsY:i8Ly&'JyS%!5rZ}鯣<7˝>Ml3<9$BBw;dn ǜߑm 8H!p*|Nx)X;&:RU$};نYz24Ӭ} 'W"LZBpĹ<6\Ergkgyl?jk7,.u,jv+#.R\Y_Tx=je&*ň̽ȧUN@)VM*4(  ȁD,$eHhсڝE3b wLZ,,*!_JxT p 85a%̫SD׿Gh浜zSv_kڤ]}t>u"68Sj^ʨT> (PZt'@L#/]a@: HRI2JPGu6C9P9S&@PxF!=ko$gp%>tFj.>N} %aF qW e $f\h~4'7_ {B|9ڤ4U gM˦:]UIb Xj@`HL. )\ǏI6G(.b҇'$NMp&rf4FmG51r*B@ /gĂ W9X=W^&3iII\ö.J3B裸5gU%w$sE,7(9 }LL01U{Bv>)jy) {ϱ2gcts98{Lk]p7_:cRbSIifpoVpe96N)0u363.}hАBIWZ'f*kW*cޯ,i+T'[|'"omc.5*bd'P_x)jS|Tf25 tE",A(&7L'\^7KTH=^8=͆D? j[.8VC5$[Ky3ێht&=Y]G#nç6>Bl mˣk`Y~o9* Ybu:7R6HB-pS o|kN抳w`v#RhRX'(ئ%!>/pplg/s;*P)1U8Qf)dk, Ro2;b>v@Jy4%*[ NbXq='lR>WLID0 ޹*ђfeȴȦ>v X`ʊ쇘r;gC-Z?8*>w8_ 4Vp"'i]es~M+;UnJ*q$Oc~Xu:"ܕ_Et) pEpSN2[\ y^g oQ_ ƗBI&9~k<19Ik߀;dsi7q~E+u%j68!%f KYme+hC$X\{2.$1Idkj,%p}J$nOY{۬"Y+U#د~{)_={;=ٙ3p{ټ|w'(6! "cLǙާ=G0 u'A : Y(Ύ. ?rިs!؆Mhq˙ײkuE26cA>Qs9['}NdlE%,д0Wli$u]!?IwMA}5T~ͣK›&-ӎ1] {F1^0yrD)Ad'"ݾZ 5%[)lylWOq O˯"mx,<~E$転1h3-;XbB7 >|6zf[T5qbrva;N}%BH.-?J୮?pEd |m1J G ]Nn-ϤrMb+Ԙ_Ŀۯ3i~d|ͩI3)bOHi^@#*le3Y1wBDd9D|7Rxxw(n'0uʪx!2d־h1"}L㓺 dz఑?ޤm@ѭb06~,BN);g˭=y:Ώ}@%<`|z=ja6DwIM3 '.k^gtl%'P0X?UC(ыKч3dzm}whKhBql޿X73g(]e9;TvhQ`!C@.|wy \S lH YAN!|1/ !+;s8n,㆜~) &EՌÚyI>$7]nFU}##UH术o{J"jQlbpywqr+nI322NGJᗾ50C.oZFkucLd&xPCF@.OMַLU1 \, _ɦ+^FMs+pξ6@>㠮kVOS^xJ-20 ХZc&-`hܐ[;D|ý"(l OV^^&j`$ǁ hηBjX1$5\y n=IH MxVchOu ` ܡNaL OkiK6w<>We広Xf$Йm*'$U@ẉ%,'%7'蛬A-2N}ZxxPBӆ8C=tggw@.1CB}rԝ̎7/8>du[}1 ^׽Cn騳~tCC`6&>/vW"=r|?t2}>r FZWZlNOGbNϿ.Dr+ lx#v֦tJ s$/4Z_U_B7CSѿakrUoHAMĽwx QeK y'7'Ò_d;N!x$>hq$RcTSȭV,0p/uC%"=j,37AE3Kco`W1ߕ4gx& ̾UQگ պ}\{ :^Z_Z4uћdaENXCzoD^uXk~+9` $*Ê/4r~',Z^ί]- CuhxҪZеN (QN8%SD!2'( ޣu2?c)fv)r@Ld* γ %I)o`K@nFa(H֥\S QMsD+JC|wuףÿ2Rۼ22 CDwDOm^[-ث*Nwc5N]W)K?rN2-/U' H{bNM0}24+w(}0tyj *U+O.=\!iz4BUE8dOvOC ɱ,았<.{ 2f.MM=ۯ?j* Ywl<2r%3P/HTac럁";Y1wP_GߪU~0d ?*>8֍X6Ur̾R3% D ˬGK;A% xE Ŝ[AU`TXiDBzlwF1K|ojUjĮ;kwt{Iv"Vc7He'Q2Ye,vFqkjU XK(:l|KEun8t Ea،aE=e%%4GTm0 U3C[ɭSC=n2vT0Je.%JxVklDS*\/ ħu&*ʶbއ#1f,d8U&;ȓcҶS]>L|d8&IlIDymDu3OeC:0VF0 d%}1UaRM+<.Af jCtOe/Dd DA)'H0QҖ\1HCaP}B"5m90+Q/->:籛c~eͮ8e=CgcF)m-x1 Tnȿro~*!t,c6%Q:**e Z} ZY&C!ՏRXq=|Ij^^diku4x`BCU3|dh6ٯƪp~g"VHcBOW$ൈg4/f6>+rs*t^vJ͛L, jxX\ srhu_ZZ&z7+O7c\5'b}-{D Ϗͤ&V}W]34G 2Y*AL$vC$׏"8ٛ&]OlV''2 "!cLc!7ou'K%m'Y>,~vjy:(U{ª_@ ٵ)0c5SltFtO k |Tu|϶},%)EP7a 6nYh toUm`<EX\o O0ݻ)Qo `J/+*qt.ݎ ;pE|@ /4qX//9_|a,+M# Qkx2&B6v>L9%ZE߾4bF4`R~e^xzw^D mb9ɋl-I֑Lˊ/v;*UT1fҖ6SAd}2c BXTi ;x| u P*S*.幵n>ty̢ZRFE T֮[1ɋgFVS8 >ܘ1$-md聅q`SU{Eu qr[Lr. U*n!TkPXi \"_ŜA2]LAÇBP^Ł +d0u# 6(p&%uVւ(iY,۬pE. \Avߪ ]A="VϘMF}3wmL)pi;(`mW {ߑ>_W+ 1]fɸrE>[F,4W ː!QR=NjLL|#*ⱌt]Pଢ଼V`\:Vek,) 9>]^gGŗIPJ=G+sp޴5L CHs ;JqQGY(򎥊-Ѡ]ACƸAwwƞ3uaؒr-nN/ǭ!a c/Mn Wymr^& ~sT쏆m;: { 9P=1#Is~Ί;QވPӵ|*ЗԌPW6~+1vo1v'ƨ[35J傔JlU9= pnMFS&te8xh$wbi7h@/Ԝ/@!Oq-b0ajnbNޯI30B^[QbȟDyLpzIj kCǷaNo(nD&/| tbs8Oc7X `Wݙ1棵hEJ8"qdS#R@h5zz6J쑫8d%b=h5!>WoS.5i'?OqqQexw!_rqAk\;PO~R%lmQUnr{놹Jm㡮R2c]8jBH|a (wbSHUgI3t:{K`cl(4SYb):nxlVas]b#ZG@/rydrf^rloxGq*̬ZLPdhO>&Kt@68GG={lNɷi p;#&uߖ RQs _4K<ln Rk=.`4O`R+ Y:OjxL>y3<ؙf9 W*-jOsh]]4MO2tWFcR{\_ϣW_i3_XvvlkyܚРbx I-!("uqj[wr>SJU*: =6F-DyI/bg. g6Qr6;<>| n&ovF Ö;,N PRԐ[<6 p5$ QFK&?Mŷ]ZZn#EbG qR~3Nw"_&̯>~BhGP",d7 [!8/{}8e%tGTPdW[>/f *.hL+ӥl]H* fuܼGH Q=a](,r^* 5ȲGBPhMЮ$W:B`6l7x4eX= 2Kx:-cF<>'d[,b"+;gR;p]GI)^{jr7'/Zo.&M"I&yn 2Ub8`J"2i~~&̟[6ƶe:uj-! ^P KANSER&fHn# z۱O]Wӣ웄=w*"3W0hpsmD >MU]W| ] r x@=UI"5̠IN;{pRnyHyvz0tI5 w z'9z(!J#l)v;SflD!.-H.0jfiw)DXPN }1;EЕ~[\5͂71ƘTb^ , ^.;HZnoz.FeQO32T)!1yIk{l?`?"q$ctA :Orf=t}i3'EbD3ǿz|zi+o_9Ss5+N+Q$ͫHުVMiG\ _OKDFJn27VnwMݪUgxz^p<\7KʨqVvUi=;ky[C+ynxݶ6Bnou7rRnIfxSME9u!Ѯr *(Фb2{l#>J͡z(Szt[e| jok*9V Nfr6>8e!W[-$HH.d]c%y1Rz2gII$9O#"tqp/0Sx;Ik͒G=17׽Bz2H^+VPܙSg|Bg:5v\V_X3tLiR1Q`_^_Ijl}US$ۑ㳓䙒RE3O"΃ K)QLĜEXw: lJ`+ F u>U1#-m^Z^%ºm#`2Ae|~bB;^J=d&l88v|PJ oWsMBÅ^h%7B v7' HȞa:Nm!YXo ~e߼< L}!G; ]!_4=IRJĥ0(*:u+_}d܀ jt͵+!A= /Pn2(gBk*6[jFiK8 ey\YE\zy6''DRN )UY{y >,(m?(l2?ď|&nf =B5JK"]<{e\) ڙ_o ŤVҦ2 uABDS-?ů;3׿Cn\(X*`r;K#u{҄=N<3:H#8H?J#J&+0*md]&^DK8]'o*/v$#ej21:p ,q(QA@kp|`R4R>k/DS5Osϟ"Yh۫( wUaGmYm[00~8iݛ`a;{wK82 7yՠ 2㦩pyѳ{~ʲ.n^M;UY)r0U8bi&!w2uxkk K0:d<\ BOfEOSݷTlrے AXm#,^\Mqc~FS o~x%w_~tNw{VVC%^>}A9e ~S=B5yg#m89!9SJ5ׁ˩"y]ȅ||ME ^J#D 3qY?$݋YZeFA{v/5&@+,Le%Ж ] eَg$>q֧x] '@{ MFb>Otsfo`Vh|0ȈdX ٓ{d f~]RPKIMv` Λ(z{\2L5|%˥eJ.RmI9e%4Ff5u݂n1V+^ wB ZBbvlH82y >rH*1ͅa^vޯ@HPsk,H*d ϚVWkq 'S;\?.`E:q`6}_(w RptaIU>QiHUHMB<'*A>E~q o ]{mQ3+ {['ƒ_w I\?'r>l(ta `A(E)No'S..3Xrk-ƪvp{A7دuO? GBhy 0$|sXH-ZO[7H>QMG=!V< <'&׮8-yG3 \HpzIsuehyUuU[j]Wno,Sy>d~nbyad9\()xU#(ĕ_Qߵo~̺gC:V^6<*apJF|(DZa U1 !@h(GBXbuQ!R|bFH_Iܠ@ul(SH&AYx|̙[ *ì1˺cPh B 1N_Ag7QHCb?n3JoRAk- n.X$FKS)Sɀ2^Mf#['PWqoYqȚ8a9˦*r˨%9 Ā[|&nVîq㉒- Ѣȵ݅#ዪp1wD5=>TvN ٮ3|JN{\-r'OQaOD힔rp+ 3"`PHE8 wNWǗla$3T~gij"%'xBe/[!)JMn>Yזg JjGhAPh;XJ0Y'mR1[(k]8`Oz*3]so4m!jx>6)NJtLFIy >YHE~Kȇ&Giޤ2-KG0Om.an%lW=H۬KHnrG4@~! jTKzv{⒒ pxr/oZhi{ISC-,%N x,:UkVIL\cfm*TP: =-ƶrmHD}X\Ze(&$~^vJE³6f@?`n5/{4!E JpYG PnҜ94O.|fALM'pfs۱4bܝC-*hu)B-^aopq`"g c LG[c~]GvjAU֊J ]~N犲v?Ͱ322)-RrUȞ5G)X?gY~n ͕`?)ALċV1Gƞ1Hu`րW6kKGn^?.F7{fz`ޗpĻٵc-T\EԦr;gՄM5߲0(!F|opl%ƗT5e.RD57{U쵝uJ k PZ0T+24rJB%?*f2՚V+d!cg'}bmF}^]gݭjI2|!\;8"Ko/öZJ,~EN1X̪!Ƅ@>Ee k$&2Ә N3yY^꾀a@}yzOmKюy+'(7D/ZqI8.=`p0 8^kP4kf1èπ8!R<i^\OWN &*M|3+ˠlzAݠ8iQThm?MȘ|ᏉvRu St(mz*.]xYP^_ e es}IQg0f/p/Gch򗡡P(pûaxG҅mn>v d\* `F6R~ d!5x/\ete& bփe?!yxSYtF< _pvLOS7Պȴًw3Y$2-Ov2PzϖI$*i0D!F}-Lc+]*$TORٛX&o4R}) #V+5o=W ֆ`*|i5*?ڤiT:h>T41${ik|/lLD{s|I$mG1bJl0y2?ŏ,#fV}ҟh+jXbyjfYIF1Qބ49q Şǟ.3D0\*aeXcJG7dpGZ2 !BuꭑXlBe>oc89e%N3M@ 7蹎Kr֍C5:k۵ݑ *Xǁ 0iX1崺B- -8"6ˣG>IE<1rWWT)lmF/it6QKbZ1|pù7l@\ք%gJ܁` @ka5D[Ѕ7jSTb nYA|ze9Zn| j9$M~6028hC9~Su8=4vr`Cr!1Ȭ`7_x~y#3° WA0TBqŏMU6H "Ez].hgY;~V(kI6?q?W@̖R1=> $FrfmM} qic%à6CQ*fOOΠR}\;4u3Жfc/gz|#F0j8 |Vq}!PZNe^KNOQttF4%0x'05F+Uqy_fwN K+8^6RSeE?Qctm[k} T2\++&Z\ݲҬd[(}N y|}gQgxU3S9u+CԎ h?2L ~S(EC"D*k;&U-lZm6(7,9oCC1QJvhY֐=T䫑^ H^:faeWo$iħh{ª_v.+.ݶo)Lhf_7™r4O;J v&a*bmHIɋpHDx!rT%j~<'? Mc 7~ ]:o8*؎OHw3XN}X}d~?)N,fmEd[hßb3 [d}f }OH '"ZPE<rη6sbJ`T?x"Hû C@qxPH1(a@s~GC]UR(!vae{R} I% (hTcdf+ב0ݝ>If2-cܼz_ep'bnh+1V*CO晝-Hsx`ի!k6 R܊6 ɗk$PˍѼn6i_2Dbbft{tu- hKBXxbj- 4anykyXOtlDw,gh?(W)鹁ei^i!-:)@ ik"+Iڟk8Bo=򻐿_[v.(uԖ^gT-n͂&wGհ KHzZ9B]ʐVTp(u1g J0*K=<0޹c(>F|rrH^> p6V 08F:Xk B܂tyK練1?КNDNXLh;3zSquŸ*MSG=cEb3o"(6\MW-wy͗@ 8Utҥ4PXc`Cuz I2M`۱*jA_b=xCǣXCtpgU[$bS|A Oħe'&1 >YG =H3<x'%8Ul[391y~qgo}ڮ\B δFB[&2n$S)-H SrW+ݺhdK_os4w[#V݉4 II7F~hAF[{)QWr1G6Q]V;XVc Twuvr׽nL *n< &-6>Y(^0g$ z4֩=}^XhAhA Q'o+NAփrGZ[1h/܍m.rtCڽxSbrW6S^^jr?BV - yI/#Y6]oӺbJE/&k[p$3f4F*T`O!i}nngf}-F?*xOH2|K's1]"k1tH?P(dHt'09wGn6U8¶(NAXK8R:{|J;79*^#O`ͨa-aϔ饉fH=}46m} tJZzܞg@>pksuk6 b\_춥iq^)>*f9; hʝr|R[_2fHV캑dD'd؝zCN)3$=/²{?-m0ΫeolNtK,J xP43$bytJt8;tGx k3$H\<9hBLE95iYދdؒF]Ŏ$Q3*N,,.BO}26t eobQA^ ?3k/ǒP>肁91Ǘ Z;31 AI3yx_,?Bg/6f~LB̝pƛ4I6alk)d$'1_j o7XTCE&a92iأ係$9 \PB:8Bڔ;&"헾\(E#CFrSM> 8V\r1e@9jPAk38 V_ICq0k#ڍ^%%5C!f- ,6VV]Gtb"úN)*VO4Ay=D6.UQk0Wt!r^ΧOogc]n:RLy8oC$hK7mcYS{ڵ(Fmh4/Q̋[*hfEQ+Ճ|HPx<\trX̒cKDRk^W틠uuS ШB %d F?i ޠqi<P4ᩥCq8˴&d m%Da !W{*ӭ-Lc⥅[(.ҹJZ /Ɋ/zihs(ڙ`"%TR +0w)\X%\y@sptb - ~ۜDm6g[ v6Y ^_Gcj;02Bv"q*Oqĭomx#mgr5Gqtrݒ 7Ny46'iC#Dپi0 ހ~`e0F ]N#t,uZFNcjWon/g2[s{a3kK"#E 7`Z^]Ŝ͋Bֵd*f*H }XACeNJ7/] ׊RDWvZC>ZYAHWe̓}|`(+\ ]+*Wh>LSfh8lBˣM)<*| X%]NW?X`i$:}0PZG-*}`B]HY`U' {vkfgv: gÅI!ZjfV>o91z8Fvr2$<ɖĆc;SvLX,pGOeѿ}\rCJMqDEbUd&iLOB%E+2#9xV5ӄ5AHLcd|#f{ xʍ3s?w ;O5r 9{Z(o's9}_5WGig欬<4L-=XkQlgǕ3}T2y2J 1T `@fRe ?| \W)kqO7/ .7G͚bRHJne1-@t$$^.edGg "xv@cZTv?W Ǹ%| 8bFAwAi2^TyKXu t֭n$NGMQ'Գ|J ̯wy$\XMuyYca!cmSy@Ha)l;CVK@e"l/˿1E;S-Yƞ.څ+ XV{{^[M߀l7,7nh2rA]kdJڃZ ꦹܓ.fPN6T؄|[WU8w˸ pF3XQtn6$]5EyGEװߩ/e@,/CUF3:ULYA*]Wm05ʐ2j% 2+^^سV]Hn ͶQ1i ,gi蟸7i'+/1:-ޛ̆(O.-*mTuߑk9t@gP_>hTl |t|RFcrg1*8y:PiB0r@Ƒp)Ǒ"45f6X~k%eOR l@ QC&Ӹxk r&8z]&N26qR-m)j&_<},u(n t\eMDFo%V n>9Z+}F\DO;?"zJ gpqj=]p 59tбhRzvd> %|~:H'C>#[m>i3u&A\kNP5P֔=ជp;Xg3s?]|ؑ$~,_E31l \@tԯEvpY =h*>˱猡E]^ղbiE]=uo)㔕.[QkY+w\o5cR,"r֦yF/FWH<I{=v`nѷ"P騆 ,H{G]g ʡiUS䍖6C_֣ ]t-!#`,̠0o>75'Ԗ[v \{7jLQL2B ӾRgyYCd SZM--O㒙^OY}vzjAY] %J!"<,}=[EYSPHI|7s&rxSQRZF҅!咹yF@ϻiP efo{W*Ϳۍ!$Hlh<3ja$_j@Dͭ ͏%9|%Na| },>h_Txn. C81՘[!E ~Y@%\ ة%I>uz#rxs.rjIo/Gϖ[%?ol濲X|%g y"t?}~6 dsw]N/o7#YJfzw Q(~B:]jDK1fSGҶ:,[`?h|߶%#Z R[G΃ x{ͬv !f>j.t r',I7:2+ odFWۗf#xz`o75dڏN%ch;-= po(z};]?g~5> } ''x_Q:,5[16R LglèW7%DrH/pR:y)S~.ynۤ Hd(_;o_/#; [:ZOMEe?.._v2qm š>"yH5"]p4oBH#=dlod9ˏ X&^0XȖ@B'Q\XQMkXQW<yv+_T|:-̜gYŌXatLK&@r6Y=Qyl8O"i\ 9=j㤏- Wƌ'4)/*Y&ڤ/?(K}sF>+t^'Nm¾*Sze rVaNRF>N&bt:[CPk'lF ``}*]נ@~8;ẂGޘ-ths턎]$ǑzɈ:J_&a!䎆2 {u?&*e!]"⫪gl{T}~n~CӢhuԘOyUCrš> cL2t˅nЃwYiӃ8wbYw^C&l@plzHB 0v-أfw%} >lMRę9ԁA'tTWFE%~ W6ݡ(V}Se W LHBTդP@B4acwȶ~\:GF Za) DX$7F@dg PO8g?y Ձhg::E|g.Lf#OY T&j(.%ݭڕj'،'+NXn(g_S&z}(!\LVo eGO`=驇+&!-K*V;}2ѳjd?gWQ1 |N(?_oR!g={Cas4(Iݖ 1à28φFBΗt Y& !\O,C|XqS:yjY4)ϨD*k?JKXh[dy Y1aag@yGkɸ=3%+֖SPA¸ 2(0FoGFXfc6ȱltu+c /ˣx 8`o}+@$X֘m V=#>([Dlt_"&w wo DJwKA~TB'T]MBFF Ibs4$Ows|j/ ;`_zH>)DsX|vxXGJi ZXNcw%tAgo4nY zU*IVlvi1(rŐ֯|b ԍzR5g5YH>(SrLB<^>pY7W fD&pLPNƇF~F$yN[szZ甧K}5;ت'ƯV;NrP*2t7O0n=p>J[C_z0ȠR!s;M3Pm7Ҍer)K="uOS^ 4Q^QU( 6`@̤l" ~7d8a1䇸 ѐg30!74BSt-I(-B%I>FHD=ZL /-;7> =UU-ݴ9(JL0|URە^X XLxTϚD Mi oPI<l4LݶO)%Xb|8U4aavۏO04H$מ1gh>NĻ~!)D:v_X9)\1/hpB%l1(%'ԍz& ʹ )Uf ڛf텾pou=uS8M3c6qB 9@}GR_n/ ik/!"Ml0,1~=#N11,k[Y`j!n)Sh7"7Yݺ%5G!UA"/C8Y&m$1o[bw1@@˿j}0e+d۪MXngyw+_g"IqԊ߅a?Ǟ\ {]n3]{{J=a9<qu0OF0`ŗ3uNu@]bCyBxaϺmFC0z u4K@4c+ N`C3T{aVjoɝQ8:zT7K~ tMeLFO{[?5yWU\rd߼+f0΋..VmGK Z BIҽu1-?S7!@E~x9o!j=i$Cb_}[vNʊ8-[Ѳei ڎ UDwlɬHZ'iT92}^M8zֆdT;i7=\;w1@̪{}=K @A>A㟡wDؔN?24i87ZXF~w^MutscSW׎׍aCz{wv9 9*|qBÊ,o7N\)B,AAl^eΝ2_KTë?;х M#ήפ eATbachJ<%Ԏ!etPbklN\!P(~o@|IՍv&q7lKtX45Dxu@n$u"08i⻌SuTi As_tu13wmDh+혛M".Qr&04\C]\]y,lDO}ƾf74m?h w<3vϰJèiH6b5̅GěWLʢ"e: so f^ua q2Ѭ9G9dvsVl  ICy'P2 @KkV">ynLJ"(0OuG c6HBwa׍تD&_6X X@w ކ3KxxЉ :'0ͦ46U8&ޣ~#Bd-ZV6 ^? \#S*8s| )v4$HWn2\5e2ZS) MPayX%Ll}!yCq\.]asa2۩Ph24xExS3,1kĻ> uLVB (,'*{[BJcє5yg?莶6Xr {5g㔸ԮJ_~-F30|zeYԬ 19j/}=8^.DL*Y?n4x8_ 6mo7YR{7\:j"oRxʒG 4)v5$,ih~]48~Ō >t#Fܾ7+&x֯+2'Fj3ΓV,v>..RGj(΂.֡[v=hfcS06'?4]93RMĞ PA[En55}|N1 t'uM Uaf4Wy 7%Ǧ`}tM!UHt`j ޻2>D33)z*,+ Gc=07e!f8𪼽%3lͳ4s 4`# ̋4¤~.ꧠ61>5>L❻ĩ7I*9"w@,n,8 {|dCOĢ g3vѽPUgxtim; ,u3; ;NqۆڢuKUr7N~8bx֓w^oK7% vTsɻː{8riG}Ѡ7CWT `-\(fEANrըqY% IKEzziPlR;I(R،F.Gھ$1v&uGh EefքHg[VTг* ӊŚ&bQoaU$- Ɍ%sԭ֚^osTIXwpGccE5 d>=7t5_tn;_Kp}H NY\2\Ј;23҆(OȒ"$q :̯q2nq=fDUD&30[m9cJII*Kle 7qcV7ޘ?i499sGLb̼J=h%`2,YǗO*n%ޑ4C%MaQ{&<%|i'Km6UʚQ<)6H˭@V wQ1 eSGٰiP:Z+4MF>j6p[kT7!y_fu4VB|&KeZgPAmW > гBC|ꜩ+Xw᷆Uw9ϡzپ~qi\j^Ig3&Rڈdr"&͑ Mu.At"_xѴx8Y}5 U2C#6Xڶa4Ahn~/~ cM^Z7wlX <_ZfX+|TO7EPRdFAvf4f]VbQok{)So 5u @TLB.PXVlq6"\EF?{b$ބ^Z3$^Qp 32C[)CO}~ГSS"E2=~ NJFM[*K3م&fJAO,UH];G:Š؉ORO~ ZZ#?grڿB%Y>Ԕ(PNa*RIvL y YlznLQOB5d.glVUT.+KJRqG .[Fҳ" pXφ],< DzvPHm)Q3] & 9Ϗ[zt\ 9NǕ{#‹{z[E(z }2ԨDOxI.n~h_]1v;=",KD4Vy QElZ5k2O);fjvՇ_IgJTBUm&|Ŋ)Q.8GK˲Ʉ5Gy|7n\>_}ܒ\uYٖmoL3 -фB9?k'm)q˫ JQ뾺Ba(vE`, '#skm Пbo(兪7 ε`bwU?֋)0o8ڲjz){2ܩP.zmš>NkeTPݪ,^N R ')xE(zRHNDkZ˒.9GYuT^8ܷ7nd%"'  ݝD?Jg (gQ0p흪̬3$|u>Hbvfiels~s*OA {3WהnVNeۻ#!$A6A"? ,40>`3H! O''Sk%Պ^Ռ pm3+hu0B;# +2cIp|( ur#'.7R,&RV`. &YX*'8:*QZ\2#6 3Ly#$.[Y}I ǫSKC]KHд&h|$Kn͕*v_ A5@\ FP>P/:LKxj+ nde:Cipad.iQ/6LHc6f er- ^2Jm1" \NIRaTٰ>}uɠe[pTFXsk49Աv<7i5]: j g=!$XU. Lh &X>W)ǍZA1`.fp3S-A{i|.{*ߒCJ#=ц5*6WQ+eNkDl]N.i,sy(*da40qr|>FN*+6a3|{j<ݓ؂ܣrE$ͅ/EV0s=\[~Bd΂g, hh,E-`W8qyKW>TbeH'6o xUQ0݁Wo;yݔb_BeaΫ&UaC)n8n?Ɩ۫!+)rvs])i3} fc=3eQk9H˦7qp6S(e}+M[)hsX)ob<+ mJDQ(yeϬs+*>Hf )7S_w8Kqs, Nomp"^ 4ɇ)ykSQl=]HE vopRɺ;kZx=shԣβ ՄrKv[CB-o^pV8M᪉E}1AW+(ӟ`{;'z*q0u\0'Y" ]Si +tXf i>sG>z4:B<9AW0{ cn| GUq> RhKHBcx4ՁLRǝ$giPf6ѹ4>#6Qy;Z(lĄ3sNNs5QTic4Sox˼Y Sa 2# GH9}Ó{@NV$,+(iH"A@qRH&1iLgs"={0IRc.pMcv fCi$*BQPYJ$唐&enD پ!Rn7-,ӱMӏ2kf"/%DTDޡS .dˇ5ƚ'iIgqxaviKָ5ūgEBF>o " _4 [iW7YﯬyNOb9rHL%IS ܸT6 bxÀmy+zvNHf!:'jba<d8cЇ3 ,b|$?G9Ieۚ;tցxDD k!UJMX 2Y_EgLZRBbȡdSU>ѳF,4b=7` oUnO|_YH=C++@zZ ֦/.wJ̟#19jQ09vIP4,n YO oxM U<op6\mQxc&t'߁ 2M߰i1p zl~Z,YLdvCl,13~ 6#W N!g Z(Z(Ixh艌 ~w7C'Yܤd6; ۼ!'Z˲] N=,ryK+3E"+h:=W&A cCLѮ?7;dfMf[V𰌷CNg6)'x?|1(9M'Q:9d.Uf"ٳDmun ̴1>Kq1r0wXTy+Tai=\:hE>O J" ! ~ķ!txal3m(yƁIρl9oʸ"`FX:GP~g ʲ@XAi  ~0t-鶏qF,d =S ;[ #O6 z] ]A_^TX4 Ks2"juNMdFrY9au=rJRPjHn\RľPESh̭4 ;y? Gǧ:!Mnt]F.,̳7#%0Ԟt2y')|qD04ԴUU5DsG%1,fx[@FU:Zjԯ#'GKٯ,f~WbF Oy0!D{Ӿ{je*Xٯ^$h)]n<$A&%3P19ҵh"mBduI>:ێ&5=rq~AVؙS:Ty| [es UЄHg)͵*Dg۞b;[U5";tfɚ&;-I}ғuQUO[Uz{fu*E=XΑ˷/R~ˏ-)KE$P/5qQ0?Ӻn-E ~qD#`=<,;풖rspe1a4bk6M蘦\v-]s|OѵςY>uߘ`H=$v(ʶE@ܢ Q=Yѕ_bޏr^5PK_2#jzD} /5n۾kOYLNbQ➸Ch :C_D= :w閶;cE+؅[,h"En` rӕ ah])I=gd 3E3L-X"}ȯ "-5kԣD[|{J$zHo(!Im:?Kx ^IA1c`ɭ D@ġ6+N(r:+O>ynjI'vq.7wZ,!,Q3܄{4f NY?!PyPO:U}%*[qe7Dg$YKtwݚ9=GgS\tB+z iKe)臄6j9tX!KT]>WHw׃Jvv|Ռ.C^|6x1fwdPnM> GTLcx$@IZ8wNFF1͡o6S磺 /$JvWUF(1l'Uߘ7cA #dVCy&wWٲb7bÊP Pu^Px;G1R$g'%cyI4SBEbFQe1j(uZKEiD+M'hm9STf/v3|j&QKoݰR `43=0AL;I9'Z9H8|nN! ~Վ?!-MFku1eѦn . 76e>aA\OH)5Z="{ЗHlsxDFPI{L w!5Ƥ$dP5]S>5A+>lV#$R\|oa0"8 A[Eb?tVxWxzM]F(2aٜ>/D";na=M@< jٚƴ'lN3kK-Lkr2/aDS\I࢟b'4lXrXom ~C$c0*vcd }K JjkzA5I〫,޾tNFa:|1RRb("g~R8^:2p [zeΚ%Nc'qPװD|_`fߋʷmRP8Of%>GeVsTŧLR";'6{G!->•[7?w*T|i42l)bzagP!ƃSWhNPӇ8Iɐ(F r*]bk<Ƭwr]d 3G'||kPMX+߼¬bˆwS77)Q:nop.wnuJb! Ѓ/np-;w7a0;p4Vd4"_Dg*q9&.GVPIн֒SM#Ry!wYe 9UhFX8m%1G MRna& vx3.{c"Ӳ$\_7%Z)n~6p#&f,Vv,CX! < xQ*, cԼR%.LV@vS;h s?='zqh0щS`յ\.xx[kϋ܎^bOLA)D3,I[.b~+Rp:E vT7! §F~6]S&:TBI7y.\oF1#I%fATK$|+-J(nh%&nh|Y_0Njmݲ#N['Ŧ29:|̅Ji;Tۉ@*)F/ݪZu .>Dےt(rB՛vw1V#1 I˰N a[ <| H )wW : i4|`J< ىZ~,l&.C<mՈScv`xw^r+jg Ys:[kփͽAEzR/N r @|/]V-$?,v);|7CW!ʅgE2x|;M'20hQ#ifH%B}ROɮt/,𩔣G; mh鷆̃H)=Cvb^ ns{x'4#}QQɰ|D\~SAޫpl;1ZMl'p7Kxd c[ c+U d8 *F ¬ ~R03< u-jJ84 Oh@(0dVf JpteΊ Hc̲x8¤%:Ʌ'(YFi&ThL:Iͅ`q< d22ʞgH\RQT#`;-ٱ+@}2(7B 봿|-H)\ŠBQB"F,k7ೌflg{#`g][ߜ p} uXP4xq76{25|/uny{PG=1Gˣ*'p6ͩ\t'f%BOgP .3gI其E36rxnSd \[KFzS5ٸڄȬ֍{M٧0Ǧ(XjIkV<8gsk'lY@:"Yov Dwb$"=\yN %s̏7X%t?.cl;KS/U _0J4{)ƪXjL}EL\-\||.VpπPly[MA~Й[C]EA?8?M8ikx9ʉ)h~C.~VrgL:+&!X:!ѥ4ajc~hL{/3'5Q-tVT'V/!XmS7TTzQ%|鼡:Bniܝx/^Qy1C0FWˆI9h]DPwSOӥJḎ$ [([ {Q4z&@vhI -uq1>s;MVZ-o>Z/[.*mPWFt[+tP.OoT1n_kAK _r2^(uOA%F;Re~8P2| @H##C'v`K@)74HY87\ _%g9pcy0M)m>@N3-H&B7?V tnαm-|-yףNL)̽2 Lׇx- K ћla,W︣pD;0Sqc0}oIMkfXE#$ρ]51&bgFf4Ά1&\R8HgԱsys>ՉdKJ lQi~-UVQ+C\_}r@B =ߓ? zDݡg)5Td$%#NJV]%n6 B/6h еxI〡^7ّQS{h{tϳ!y:1L5S^Uʫ0cvp{kԤ^X .UX"҈M$>"#;Vk}8)r_"-px8}cBaVAS? V*0_u%jgX*zp;LVV6- 2oQyo w|jHwp(*[QA4 K2rN^H"xdVppM!]՜}2  I)Tqp)wM7jՆ &!侍=)bQc!MՉR(iAAV&]Xitm/(QmP!,q Hռ 5[o~ Hlr]彂b|6@"fO1h':51.#P%Fϋ <ŪW"G+E[ƩA_\2mdݟ~F=BsTSqҳ&FGEV\<$-hEȭ[ŵ?RKغ1/frRTE RwH*9ަ2Q31ENFքJXs^SDq}.v*o_5|{seAa]w2剪pzCeDW1ެck^ov@'M' z_aEn1P1UEjcIJ%vc]NE<Д3(ld9'v z GO׃)˦FӷcJQ"d;FR*zGOq8'vW BTK[,Ǟ3^7 cUtfgd eB,Z$KDi؂㌅875b uCFn|@T?|3nQQ"Q]+f.z<5b,V-ѸSR7I)ựIn>&t0ie,D:pݜLLn3jC'#Ybf{q?}>41z,|v ^Tc~xm䮝'ZNUبUhV*y]?)ɈIqe9k.E duD*$V野|"7:)%o햀o &#i aa?^xm qbklpjw={BցMݞEM0`t5'mJi.CJ`(MP yh {"*; %\V {k<锸5L=T[0L^#3$EǓ' &@I#dde5mеsou@bTB\ n#_('LS*;K#ma.&\‘THQ[RNMBՋYX}~&?veLoaЀv17bV)Ja!SA2bGŅ}g9ւ.nWcALm-5DI|43k̳5$DqgA|-SSb0U)*mM./STBZE5 q[Ϧ)[ZD5b0g\d]`E׳!|y?UlFDq"~7E L"(, H6 Ja5q7"Elxf!Bk mh&>NJh bvGxZՖS~ Ͱ?JQy24Ej|| VWal댽 }֗L&sn*U[Xԉ磊.fdy ba_/F4JQOtyOc+V9nMrHa]|"@.Y1Z`S9@=,qyL}`d1o8uMuk )J@T͈e-彷\M4ΓOÁ+R>Z/Thi=w*ײM#=۹G}U)S'䧜(2 Yg۪+!dsiyP /$Z5Eok)Gnb.X=ҟ14#gpUHh:Xd\EcO#2,=t<̦sp0ձ+k 6ү'יN @UbōV^ѳp(%azvJW#9ؒ+v+ 0q^wQHiR.%5~?Ky T߇X!_ A/W/%[ oW?4ttP.=)VǢ \&3z`p `&]_h^uv=hE3X>iNy z'n䰦}Зu_xtY" cG iI"8꿖gwSy&lI#Gsy OFwPU Xf$6pY= "L1`,ߜϢv\GmiA]1߂Mu*L,Rehx"fX K&9l; Ǖ#6]~'Qv~(K w u _ 7f$2^֪sw伆AV}y,h9!-@%٠`3cA'֜~͗"r5;VCΌ6`riÀ/n? mⓅmQk^|,4\ýWMem14BBd_\$f7dcn(޳b}m\1EY?wt$}= Zx0ֹ3BS3dB̆MEYo~`^;W#6srT֚D.u_oL¨A BݤC3yۂgw PFtcnX4w<) mQfU^DDX{|ܕ6A ?Aa({̔6QKjyo7dB=.t gt9zia;LƮ|X#QBc/7v KstRcSRZ17Wm13$Vrq#Q>i4@>^11IbtQ˅y $@u }XCi'*U5@aˆ&8ntsW4ǹ~ʱN[KNgAJ[azx]Cb; 7F=D*߰8!^|~D:kfwA ea~eOEJɣD;1=Gyh3^ڏm\E[3Ys20((QF\afuov0y5|r/dV'E-6#E+?~N(}kUCVD[];$/( MB*\ݻQA0}o˰tnf! } tj5N1B'53SNg4l.ӚšiH|=Ta @i JxXaP9+} $)vtz7\}bk>cB b7;V EQcU1]3lDqv ~ߢnPl!^r D rzqԼs) `%!JY$ Otf8w" &g`wKj 0fd`KV4§+jԝ?f.E?ts!Q@[4( (v 9/hh#-)$.yAbyR. iʬWoT@&sUp/b÷Y &wDubL.K_7 Tp`҆TM #Z[;'|viSr\fN\ڴQ/,BeYa]m t(}C, ORފ*7jVw³.DRXFusCÑ9#<>@s= rm3F J.VUvEQ$D~*=_\cAiDb?qR[eU{ y.2m7~|kɣMgLT=]A^>Vncl{Ә5k1DA,mud=+֝Al0n'PR\pOZ'ՊNeYV{ }̨#R^X36 "]IEk Ap5k*jRRvYԷA?].OȻ> GIw͂y |IJ-k `Q+)\ G”O䰿\ׂHl كϴ"qS-f_r%{Q z+d3]0 p!m }-(VʍkIh{7L byH+Nj:nncd/Qؓ[ 9!{'d5 Dz+:]EJӆikZ׶hi@!Idzƚ >" 9~B>C`t,DxW,ɒbt`GSvO|9 viX|ݚ=s]iQ &$Ukc7BPqZ@DcȧFMfuE~rTl̥|U"OQn|))̺$'-`e6GdRۏ"gyz) %[ J*=nZԗcG*/:=zf6Ϳ+ A$"}d;2l:VY $1lCJ~Pecő@[֓@@I< a;i%B> evSY0ox| |$h* ^tI#BMX pw7W^DVh@mGԐJW/dQ:>ڧՌЇL3Ųjts8n}k$ރXήGFXϽ`c JXT}GP)ex݆z> ogT줎0j)8A …e8V4 ƋX$hJs/1 '|ZK5-]\D2sƫ0{<y)dG Xxuvi3N9⵳é[L~ o=^D[^fU$Po9rK[veN4]Af3Q^bŲB@̡i7ce +Kot8.4B ՜)J<-X$#3qf]yz9] D?%ܔptۘj!؏xۂ.s&B|5*lN=#-s&F2l~ ܧKcHLࡌIL)lAXvNjT%ɑs1rڪ] IV6vD\>cǒv*;2"gEqWi45`Ҋy#G)g4Mn6mRM N_x|O*c,ui>ˉNasüxb~?LыBXӲ?P p< v-E#W]l-t:{ZZ?o_sL{%yiQq<^SR8JO`ڸgM6̏i7#% ѝ>CN5ĩ`E}LRQ!2Qh ݛڽնm%)H_iLa*]bwuJq]XB9jPPuZL{B3V i)wBA8v葧 @kEG尭JLQmjZ#p{4#`JEzpsP&aLzmBq:s} ϑ:'p't>!/w 1b,l&II<, ;pdkNc=ENР4_w"yTG ZkF@%Z;WTϜ˗fj2)S=F"ݒf~zd,< i-auRj(\*~y5jA ԒvzaQHˎ l _zێ}`X] _rt'W%ВkCIxL9l䞜Υ>u3lX6lӉ1R׏lȵ \N<z1Q^޼2–ٶǹ. w~(y:`vMU\*1Dׯfk9VѢUl?mn'UOu){Uq GMc } B0'Y5+in'ڵsy0Q>9%`$<'L6(}2Qufh1WU|6+ԬIHEpka'vjM|ƹR~DT976w~.Zt7qIz?%q|GUUNJI[ %t!,P`{yYJhTqBpu iS*i<I뚮bg,عP_ALUqS%}-ًK#=p bK6*j8zL 7 l Gԗ*S5$jx I$Ww_%R6 VElmҍV\ӃϢÖ[̰g7<;dm{,1(H#9.7)YT \$ :nBS4n7V~epSh3gtf\q(/g0y1 KBkV8.1F^ptm!< Z顂]6'D^ƫ^xE.ʴH9ܱ H'D[nFWd<-z+{H(IRdTw|,K1Ȗ~mXT9]E <ϑ%3BJ{#Gؚov]`ʑ(H^~;Ljd#if\ύj_k ]{D@`$3&k0/mK˿>zPG9c1)uܹSsD72H23퀖><"'UH1@ܘK*WYg@~ɒ\9!U$oe;@iz!p=)y@?Ko9(5)&KqoaH,+Ug6\iXI^-ӃJFscȍMP b'$iw&|ؖڸUK%Ɣ ֫׽G$mO7Mud&y3e&+qҨZCǀZc d"4WFĸt(>7Yf, ' i2gT]$&CF5̻ίj۲ T)-> %CxcA1$A'JxӶѮI9eM[9(R0H=h Hl47YHDQUg"/g p)+PQT/u'5d4ǒj4ꨦ72cn jŞx.QX\-&;~Ԇ7%D; ;pNLI80s+&^Y}F*@ϫ 5g ʸ̺:fB=FOTV2Zp;%g5-.iyظOL9|( GA# w6|&e)9ѝ,P7~k]-+NH{쀰B?ʀrjS1VOŞ a2+N!jU+nޟ߂ T{r䁦oH{2_&Fܒԓ36YM+Nr&/- I+!I׎r?6kƅCqܸ =5n냌R%k -|&㩄'; „P ۋGsZ-gRY{e֯93|dCo!P C<gd%2Ix* /h7I1Y- ^ ՘+58ҷj5Q}r Jro G3qo0 ^5=GX%+]4 Q:AE zߴ#`=I,Ϸ=׊!lIF')6$\f8zoĈ.6T)9DAUoU>{VQG=&&aѵ y}r8i`ATdti zMJ1Y97M Den2KŨ!ԜxGȱi(Ac[/KzEvbt3d;YNE_8[C4B=Cf#֛P:@p'> SB$Y|*'5buchP*qnzkdh1ߑ4*ٺ΂sXEV$a+|V{bL8Cu55tD-[ǓR1xqVU53a_b,eʷS{s68̈́LEY#9Q#G'7(M ǥ./ٲke9~3jaVۘuG^HaL%d 0 \>4sט{ZPH^(rCf(|2Ȧ֤YLT~pG@]∎c`F])t%j߳{~"{pgbxzl~kvo.eم9\5x_ZKf HrGsoڴ{]QG0JmI+ߞD H` [şo6 <}Z7b1R>c Q1~n4 Qa\VF7!}o<3ɡZ@4k2$_20ؖ<~U  ZQw1_?Y +u">ۦ~x+@5H˺`=_&"竼*rD)5EON$2YV]x LA8|熊Ȳu:;}4=i~W 9APAɼfk.,H\K4Lm%"B=<vOf`Dcu˵T& )||Ћ ZrYV4v/&PHubUֈRYh@$%'i4>~^A_H(/Gj.+4 ֭c]ǂr(%wF*xg1:]PeK}rWiiX5@U>n*WtI9S_4}AUH^w!1 + mᳳ\R΀&5*H%lrA rx|gSCcjPLA?G:'U6dI^|OjL }Qyn^hPV>tӵ)aP\O2~`pՒ0K'Gzr\} ήc՝X)ўtmIAeI7j=%[ G'-fXτ]"rT("Ǒ;_|S/NޢW> Т̡<@ !g1~VAT0_J%bH LJH:ot(}5Jfӆ('ikKU~?kϤ+jo&ei`c$ʶ!s v= =ϿW}4N= _qa~ hF~y&f)?Z0?3 QX~/ zPwBNEjh7* R )k7+_:k nMya L#R}xٿS~x YǾӭs[NwLI2E1ͫd|t%eǻ}Hf('B/-mNrexYئkd=q }H[Qʛ<󥶃nhVwʚC"K%Pylrov8aEֱ] Qt4Xl`Lg'][Adu_ 0yEUs[y닼xbI°"k?buV-$^%X 4eYBP1 ML@|#LyJ枸 `׆%vM冴dJ^S V8PԣMh7sfy~cDi-o a#^9"A{{X%ޜrJi$Ԝ$d6ag-n>g|HO>\Q]!v=+dΘl:"!Y ${u2ZyݷUmyϘJPCZl#bXt Ez죘֥&{Y@ {D'WjilY5RB0.{zYd'/ hhUG&0./u@ewe9#$r{g  DgU9H.Sɮ!KП74GL_kU*@8}_ćGSЍZSolzO8ij|ihѨwC[]#yb~v:/Up7wT!SZW(JU\hph 2/_+5^]4=ӡD#&!HO BlX=Fg(QWVd!=X{ѱGB]pn$R5Y?A6 ՛E}m'; JQ+nS :UPpI1OI GīHb7 RV v<2H"W[*`j앓0swcH4r]7!CHj$z9GWGAe(G*>\i!J6M iPI皐a M;Y׃~9߶gM(JT`s:䟙cÁfmų#-x &9ޯs>9`Iײ\p1dP 6Tg\w 82d!yֳ_Kf~ySV>txӠq~Agɛdey #OR3MAQum.zi'8bߖh]gZ jޟ:G%u]@wMV =ɻ:Ax#lS}8or>Ƈ-KRdYQ:fG| vM~4}UB P5 2 7'fkyLzBAk$&nC^ޭ)ãLh ɧ9'u<<ތ'ZDKRMsvxf FvFtB%o4%d<& vpWҩ悓H ⺥S<^?n^Kl[\Ao2>?q7`Qb8V,T ҙ%,&[d'a:K]|[ jW}gVg0] 6~K87+v2z Vd}\2㹜I{e)+`&DQ'>0(!)>Jt}6 [w"Gڔ oY{I@`mf|&|WgrY(\Jo3mٿ8$FnM2_d?ߘKn;8S^;AjՑ'ޖ,R8 v+C։Qj?#!J̄%FRB* D;rn(p$43ژX!:k\[M:md\,6MúgGGS,RNyϜG%6QSzVx9T*uǮ$Qlm8A0\9Ji|N챼yz[UWi:YiYDvl=mN3XCя KMLUԃQx Ct mA5Y" |d+-/{Ȧs$j ?Nhzjx L-`AG+V{ Fς&)>]#){/Db Ҙb|s}̟lJvksE73M#QIG`ZWF4o_'q491CӀ8P]9ؼ5ɑY6fY($I]@":uP׃ɲJnv땶sb&6W5؀w s]L|vN zff|%!UeEs/n-P@xۊeXT#{5 qS,.jpJ`1Z˶#d?m $^{eDIRb21,XIɥ%Hc aBIZ MGUޤLţ%(JsNf~ pM&?]t ٦yf%Q,&{(RNVfTF`si',h㼕J E [l}f0:r8 g37tφױz1&bNkSGH. q*>8.R߸mt[$[.eF.Dp3,nk1 ml?Iuf."oѶZwX.#!14{y#FBu|n;w )`65@]130TwԦ涗.肪xeFii 5% <0 Z5ߥm:auu=V!wMe|Iȥ2~*ْsIS{Bi]Fd\K>Yyu0.I!E"D (+e Q.qGJ~O$(ؾ~_ s~$t)oRh; ?2O5{K*:_|^U_$ٿ"h1ME#ڧ5#Ƴ%R.bê-N4$3;\ܚه$WI䐮ƅ=Q]y6>ç#۬$hӴ-`X(o ,Y#cAeEr"'0y/tfhhk ^5cGq:r0K*.;]0Wܓ^ i|請<ا W-q(Vv6Ӂp 'JQsϹӷe;lm֓i#a >\wZǓ9 $`P:չo<^IAxaҤϭ:wt. hN#1~ $Mt#~9!s,^3-77F[-đɍQrW>8 ̐X#f4x#b:W"; $6[(U];SX :ѿW3hVCK! bRU il頼"W¶vR˳Z'z)}TJNp%n5}PrF&n+dv~2^LrCϐQHmϸz՛4Ox-yM}FdM %j[a9 4PRlW$ ڲUe0lqR}b;K .Ě²ky" k7r8; #Ot<lشT<4.􎁤 ,~˖qKLWP6sѼOgL$B v~6΂7^K_JP4h9]qwNgW)շk&mB1T)Ԛpj#u"Ab@[Қ?If/OsmL-T8VcDrf5)Ww4 >d/q&KN}tk&I(bk]*$$bH/3q@֏6U`-3oc+v62RJ[c<\SDgb9͠1"/@@?Xl ݦFǀQ= h6 <.̳TEn*n =j!,~N)"%uEs#$t s=1 P<lϑ7Q忁p &w ' u$#ŮGnu=pg3oqa5LoWxYsRD*x.{<@{HkH̳8 \/Xi-#ȬJed,Aw0k0]|L#dI:m>lPFIt ɹq,8a$ßz$>0˭Q/ b4Ѱx_ϕfteJԖn^~@I '4[r^bR<Y_޳XEzW*1iui|޻IG=PݭhaZXV#VݖhwWqV%%A뮐s{ﭢϖny~C;sfԭ.| !bzEtCOFȝR7 B4ݽ0Vy} Jҵ̲ͨFTߨYn+Kw-a͉ߡgcDdjI|R%jm 1>Q(/]]XOHAA2E^m-Ƒʴ5tite֦^" A2/GoC<@.LT;>sXdt!QqiY?ͯo,Z ]#vq\=ZXwJsf\[ Q#㔮6/1yr`7`KbuӚ,>ʁ+mD A_6#g!>fP#/.v١(g7Č/(3 Ɍ\ƉʟǓ#Y6Is_v ]2 B@E)RȻPĒ4s! x*mM&ʐ w [tҸyHD"_EtҺ`Vjt|Es5VQ"sQ|Д_era8{T/, cV[='<Vֶ?wԛQ"gZu{H_rC`睶]j'dv'q=iEgZdl+ծIMS#-WbC EB ܤr& gkOϔ1B“+IM/OS@㦰 ח\tgO+8a5Uȁ>UftBR$'¹; *6<6(Zـ9B6AYRmjU3PK'^gݛ8(5Jy۞gdS2̂]NY1cUT! _VB5]^nJn^FnGS_df~1Lb AlG鯳 4jhKe@{ԻD Np'kCH捓G|X>1vB4|UyYP;Al,k0"ؙ~Mu,`dMMXs4觃ȒZB^]~rXNAL<ר-FaBCV/*hXoW'$gfg7ϩ0Z~?FYCC0Ekbkw31lLvTKn] Փ^<0Đ IHjt7;73^AHn61=rT8 UΘNIe7L_$Z3J%C}vϊ sUb!,+fjÌ}9ވ^e1dR`>'G(F"KLri%-6H3Ƌtkn/zhhF=FQQ"JQ,RcK[+&v%e`>! UtZ@?Y{Wv7G`Qɠ_n5_Tq7]܍/)&4p1&T+hB<ޔL:bլ߳HE99mtgh=ZSa=|'l!?$ֹvEtnh# 'Z3iUD1O"<$Y8%IrFb.2 1̗> :l+g_X;shęRx0sqQg ?OM്!$gvb;&GzL g'>RH r#UB\ 1 Na jYVκ >Wz{<#nVp\j k5Wɷ_ׯjkUϪMk`*(?fCyb(yZ}i}*H̽S}X|(i4瘏3o|sz8(O +F" {TbzFPGw?+rSKF2.`.kqptsTϥ| U1aCUcݟ]FjPMPl2|$5"˷LXHbb7rԗ@@؇@esWy и m谈O$o,`s_3"8`Ʋ%XBZJ!(QqITJS5uή=n@yyƆޅnaPϋnd.SȞ=nCSx;jj`ˀ^I>4ytኦ{PN7i/SbF.< و8)eܽ#BTuP"${kbڦk5/+ؒ@`৵$o'3y5,*CI,VILq>|?P<>!\VooLMTA{=ܰT*̼gLDuuy\Oq͓}iLs.\{$rDНȐ"C~gEltu׃ _M΋ب0A4ɵtu{()6(OQu?~ 7o_rT p\oLE$lp}c}=-WnERڂuɎBo5*PLM?;rWIz̝O|a`7#snXWK!r*-E&FM|L?sqRtIfky8GC;DW dtEsiw)`dy6P#TIւkW^𭯦wYUvUswY( oɖp1!,{[I&OkEȒh)nѼk Q4\;S+!Υ MEV!&boAv 5Y֖ﮧt5snXZ'78;֤:L,[jFcuPE)bbgJ_HАy(3<;e;qeʅ6Ȑlu\hQ.3 ҒEљwuVn^EM :emx% P:2 TJCOoV)y'}ed^t 3E*0E6zx^۟{!Mih}_ll臨5J1!YM.{|` zȟ}b3{q)'◊ɬD&⯑c v@ DŽ.oճ>wVbW04aǫe8ayh8;{;Ñ{D?&rHp}j\&Tj@n3 W| Y?x:`kzi.^f"}~/zuݎ N`ܨW~sF@'Lw"ds|}Tcn 7b-4fgDvC.?g;^v3=Ā"G‘K";X{Fĥ¬MN40j%'FM Gnqҝ+q-C\7sY2?i%"vnX7=Jl_PqXb'daQBy()O9PKoׇ#&@8.SHO[s׍M Ul\fWmkHu 3,c8/nY̹.\a]Mk H*|K5n_dwiI7NaD Sxd-S,?5ϵDnqZ(,'qI5LiȤ6bw0`FlЛnfnP&yr d0[ m1!sĻׁOVwN(eǨ8¹GUOrofv-mt,&vn9qe} ߮D-]8,zȕs8eVS1VJ䐺JrW&=G2 ߂u[ d;`&wrfCɮs]E8ԗh@P"1h !-TC(CM+~.[Wk3F1mq2h>\١((hO l8BA mOڹkiW)۰8p۶nΞ)u$yn 2I? 9<dz@qՂ. }ok;ѩdSF ;E/㼾k*i6f:1ie0_'%~r2K˪O7G5 GZ~O `DeYAyxj1u|1юJo<_{V҅ӞvtՔq/cٙ%2]1m.:837œ0yפޤhZ-aRc߀HHn1 SC/$6$|P?`A6œ^zuYF+G_~ zaz*ZyRb5~r0b9E.17IlR ~~ҏ}donJNAfس>+6ܲ҄#xcP0a.i_|At'3B֏]t0gˀmdQ2UL4]WD'2tQ)BehURWR5Ԟd!pzf^͜{ikA!ܾ/eZ>7"\]bz=f­E7t37PUb[-T͍fr+idʒjBR;4jؑjl'D^f'N꾖BP|9tWv:+6A.'oaJ~ 4 JOt$SvV|[`V*) @\k=3ԏDZ@s ye,sF{LiiETh $o(p,ʝq'Ǡd '1: SIyk57%cZ7Vgۡ? d5 CbZ 2uGBaV qGnoI2$87ďTõ #>g#FG6s/@"~11WT;tٻŻd'n2S@DSCeg#汵SWNm W1Wf=A!jԏ&~~u0#'-}{!';5m*g~R< sY$#5cu$97(8/&/C;0"q=بwBm{*:+>Y{GmyuFu4gUW8hV "ӱhI<0=qSh<cn; MDe0"IX vZC ),Ւr J_Vq G+L2d0mG*IѰ{Z>}ܽIsJ=.΢\[f 4y& JgXUD"E2#o`ٝK?Xx%KT叢x]>S<5C8n5-FgP>@yŵdmB1@Y֞́ˊ'tU4 :skɱݽBaӌ Z8%nȡU5yuӣ@%TzdmjH)̔YEU^{y~>0 zYq 7dɵ}XL'[Lc@A2:myޚ%)pSlCfڄPW(Q2vk'<"Nc[-e\?3Eb)~`aNOC|J.)}֐9p;?/2b|hД]G)gqg2GPq[$p~3X(? ,+ @. 5񺾾6<k jM*BسgFz]W0-o&)ZH+~đ'z]9DQ4n\΃ڛV&LKomRj2Ƥty!21%jË0}Y mPƥ L]sCbRy~Q4*#K%X@cjս!49mqO&~\uhJ[XJXhwXE]D!^^Q9 p gPڃ匶 g151%q bReixLM5ooT"@"?3q\r9~Ư$Td!-x #}S~1ˠm=S*K={GX_@/Gy6܋@ -,9 'TNTyp,aC@a4uun|ޘ5/,guG$N4ށRHfs|4"tɬW5,8}o"3Gd x]!c7\\My#h`C Ĵ bqS!2p^*.J xjcliΦί5q(3e%vaH͘ᱩ~ᄯ#Y+.vsKx0=XD46q8: Gkxamj262|pI 8fɉ 6 mj#FtLpjyi?4D7Rb$@xsbM@o@ȇ>nl%uC<ȀLYsqd wU Xj,R>jE8~O鰄\/?kuv1.:*;= 7$Ƴy??`oD' ݚ3usAUA\1>Kɋ<ێ7cs7y,`#aTʛl[t%z-i5}۸eH}sqhё3\ʷmr^ ozu}T5CfX̨"¡vNqTE$Vy>{Fw/G ŠIE/?|2x>DHߜ`9q }PK[`/=X"!dyGHBG1x5SC!G*DF)zCpOyU8sc-Qt }Df1/\?q44GTO{UlL͉N%|bAa+ r.X;)\>߱=& IֵN)#> ]xTAyhƍD\ , $A2<4d{sC\b^ާ80JH1X p[u#05i:("REQ6a\%3 0O .A}5;G7/ 2{ ۣ3iҌ3D.X'Idbz OX^I\*ԝIF}< a؍íSiV=@UƇc#TxwnE+" ESc=ƏLje7Yvm#-0qKtnq^P$|+]4/?ƁԒLLK527pϭl>:jܕWEOIsa*F>?u6:] zQ6'u1y0S;ɲ(XR^V%i1po(UI|S"e]=KpcES!,zx3Ģ EJX4 S Kt8Hp=#eSEWOO`78uR&/~y& hD КKMCuʭg m Y̡i|Vsw"o W')U~v#T~F["Oټg' ۽V?)B&9s&P`KmdA/2 JOxQSn/"szBAnp@3c*-)QMSGyM;,mJ,]o!.P7\ߪc+kT=& {*)ߟOS&Ku3J#x;^#*R%K9`Ʉd2JQ$_ BQ뿁<<ݼ>DrU&_x]߁ŏ0^` b^Uf4r\yR U4햅@jQ!?B9+9CfQ,=ݾO88\:=siOtkӛx5hB-[L-TtcL}k-IrEmkԡ|{)\+4UTO&|kcpR/a H2X/C?eV6ћԓуW|AmaTifoK hftx5- Qpgv׆Fx5Pd)UEr9{LoHHIhT]_xNL>ssѹ,eN>;&n>v䨖TFM;8S ՝mgga=} QE-l:#}şаԷws h w{4Ċ%y;9"itq*8[wR<:E}]8R-ti't)K`-wf͠[AU:B@TV ~}su\ŒNz念SWcGds[fiq=dvԷLuy I"YyゥFoy0!S=+jdR(;]Srjf>AAFHzEyip*/A L\9S)g(E&"ӵ;\Lk۹j~)v+MW˜V3-,Lq<k9 ( A!AaGũ`$|d3l:P?YþRE>7ԩj€ݶ-E]zL6'Y;2V$2؆4e j F.ǚq7: 9u C|# V+|YP}}̦l8 "[9N#0HzL!{NF(x$.:C"W+1;ҧrCU%uENwd߃%M$N A mV<[suv+Pb:{ |gB,z[19{Qo{b$+"LD*ZXεOjvFeTqj'}bSo/*$1hZx w\[$OvH3 |UVxW訸Բ>G*C"j9at{9,?e]87;I_4|MaodvGDPrV 3b~{졚^:l.ȷe'_8;$힬㇓T7z%.i[X6\5'M_Xa,OT&,^t z Сڎţ5݅(o[6. GC_%팭>7:Px:1M=~2_F )@qK-<", ^ fP Ko=]A\$#Bv];@,cazRc, M9P],=N̜̓tODNwR#x -;ڐN`MlD!w)L &9.ҪY ;J.,?[9(eޑf|FM*0Y+9QCAd*1:O6qPZw _szRyNGLWYoinO-ɂȮ !Şd;?S;%C;xAzyVt`0Bבc7~`BQP(d:&SDDΔ1{aH"lͨy΋.3!qΏ*Cu٩ݡQͬ1̒-:ig&Dywz$:͚R@ER)ralcHh:no>\AKTHV7^1Qs$h>;!7G}Ȓ&BUG J.3/<ϘGH~˸j#ṌA{Ԍ B3|Bz򸤅;lOQ9+ƔJ5V纏Tf>Q-HMy.k j=9q9 o(x_K>A&?@+sԕ;X ܞ!Y)Ԫ9WuCP,5Z5 ZË.X~ҮqC2t(h}pOlFW:mj>:S0\^.>i:y,9Pwq&ZFz[#"!["~ڼ8ڥ4MXϐةYV Jw$rB&2Vn puEV{/v5i"5?sJ7O`<۫|>DmGԺI?y'1%LBSEkDuURrwA= zFyȏ&] Ų0Ug:\9pGEeojIz'0S#̉ۨݒ8p"H`/lrAN$@бfFJVO~ȊBtw^ k։&QwsAsfY^7sgⱌ;-C,LU?L$ ]pl{D9=<\O,16N?&uT<(EpiB^UխOtIеdI8},`<%`qNǠ^!n~`{PնDsb;>q9< 051a";,ϣ,_ns @+&Ru0"'tht\SW@qࢸ  'hp +w7+]]1P#ӏ@-DDk?;̕>*}=i/ qڧz ) dɥ .,9s";ѩ@g>l IL;u;JL܂ٓnwC*Sk8_i\'O"*c(g>DX\GO Yqqz{qSvWNb=`L"q,v|Iw$Q|Үcby.p)Z<ڇmv4[}W]h}ԔmjW\ςD?]5P39ݟ8\[tL' !E\\2( +d;!*[/L/9 QeOQJeyTsh$ 'cʫ>+qY3WI27B)n:ZlK:17ı7?֨# FJ0]eHncJSXTI?_ox C¢7*DJG :b\s[UN oCRƷ4[twx ݦ>d #ejdXA;RC#R!${'O91L>r}RQutdk;'޴U1pD xuT7R^+)25I$ƶ^$ 'TyRnm)}wYjhYe 6)[|'Je 5tZ3d# 7 :`Շ=s2(߆G'8*#^[QTm] ̿jxxfZX2,XFߎ/;Tm ۉ$\B1t0̹'vi p@o8*9i ]8GD?y(iv=LkJBKrrN˳d^vpEވ*(Q}%OŲ*aʪw hcg4o.wʷ?&f6QPpmܞ2H^9hzx/3 LXvQe~s,VFF'#r{fpL)Q0 d?qӫmNT,9)1 Ctw/Aٌ~i*w!>-'Bƾ39"2AwہC`'[{x5ȢSܘzX'48Ϫ2s RY0*7} y͚$_Qg$6W2(b)&LiR$>US Y/Sԉ k+Y,i/] Lߜ=GL}u:[[l@/WHayhBG`M~D_"Yܰ)``p 0%ɷp|B/ʺHV9 (L.7/iV_&V'DDKlԳ䑋/wb8"}؁ `W!ptwJ/(We ?#WwqY $uJHѮfQD:tO S)x)u^%o4W.$pT3t`b'2$Lm`:)&i:m@Y ߓ@ڑ,M6}N÷4lKl(NBduk-K Tz5& Q[W?l;\<N3< \>WX|Ⴌ, U! ]: Ë3L 6FpR9k,/"GDz+T`SDP@þd!Bt[bذ䔅so{± ~1(YĔ2j2@u;HUIDKJERqqŖg-Wt]g|!k=lI[?W̺Kޫ@1ex=6:"R֭U`44$mqƲ=}u5uArS@f8jvq)33](M[O'FK w H[7޶Fm.C5 ٳuBM~8by{|Z΄Uu.?H*[Rn!wޟxdPoz|F e D(wЯ5< GF͈$GJ$.V }AVұ}8++v~WpZq;HSh?FA;paʱV q7삚Mw6a-hiY!_1[su'%{TJ[_c{?b쟊H֝umMjpzheNp &1r2:WTG9̣/}nYVt~/+SPbNΠk1N?j"b?WVO؞5u5k/)1n>҃ Uq{8|~Rp\H55CRNkhXAAdU0o!AR5~ϖ*4n l| B0eT["a8Y:oN 9=9k/Gсy6# oZYXCDŽe[ mcZ? SiGQTlhp2P|eV &j{imC v4lCVL4VC迯$\pUa*S-Syˈbfw7C!\s)O=\ hw3 ]d=+`3X+rV ikhTڜ6-GH<- ʈw [9{6R:1Bk,W(׊ÒV% $e#=hwSA2U˻ ht$8O/WLZQlDE 0Hd"陨Hus:D88E`Y֔MJ"ts#M^4O=vmre`z'nꜳ>+@X?@'.Ʉ5ߦq/b'NO4cH&,lL-_ QmogA Vݐt.TE &h9:,1Lq lv k9i( =6i>/yuҷmWͰy v꿥vk{ra8(p #*_Pv+AnH 9TYk`E* JaY[W)v,(AxqBk+۶x!˂)NB۫Fzj {&^f Ixd̄, ]҂ SؓFj7L+qыѬ%*l|_#̈́2[qCXl6YQϤ fDXAvcI=ɫБUhץp`6v0*EuՎBK}D;(?,\w$t!AotoLu^-\ MX{k<[ͨt>oh=h=_D,>v*y"1m$0@ % 5(^*ZŞ(]ZP{j&0͈7V @^z& A0KX8]?pcub~0dF-kn?@^1VogO'wםHѶQꠊCI%#ؐQo-:WWqPpIOiq偼<h:*lh,^Gx[!%Y=eK\?˱\/&\I觝}ı O`ov–F58qߘfxɑ'LʺԿhl5~(TIM@LAMֲ$Yg#DzK0+:ChQH"SfOOc$2o| gSo 8ٔM&Iћ.GWKtŤYbOAvH(Fle} N)C!p`:B\k~ {pEÙ; /]Z_ rhZm Fqԝr*WB%gB\X_TƟ fZԒSǟrpՂ` vyKEa~f^rzQ[ga}9' UW#Oe)T:0՛F:k )BH9xlJ/U%S#ѱ}7, `Vޙ?i$_쥯 vXnb3^g9-$293a琈m7c!~/Pg H幬살LAo``tԽ*a)fS3!Rc/ ,+)deJYG74Q}u  +zC1@\;3Uc"%bhi4i @iWpk$.mxp@t`@@IHo 3QӺ?{u-7"TT&|d޾gR7uZ;*M9] Qc7r) n~Y 5N5Kq@0!a£{ >R`N*9GmCxH y5^ވzQh%ҚXh–")uKu٤2 KJG>B=%z:Tn%WTi0 -IHVw9YC=Ve[xѿ0".Y,'hJ;3-d*B&ңFmL9 k! 뾙zE,W}*{F%]򘯧 $OogŲ@GwIvծATB4pK 4_F@+eQaIy%q"^*ʷ;uBɴ2k b9c*ԒEL'\B\[ާ-u2 ƌX,f>7clj7#0H@3@L;Dzߕؾ#jV.g1sIDHu7l̶9A'ql 'ɱlTE9=}JRa~E,Xm€1~ Ppf}EM'WQ,\A%އo:a}Bato4+H_һE?;E`}?(Nz`vϟ~f%7%4QHԸnaUbLb1U};5bf6hZb2ֽDo {DOF @(6j/V]hh[hxg{肈)2z!Tʵ6A ɽZ*@퀢X5ROpDw¥ $率8>oHM!)2  fկjN?89 e \ԖJ!h_gIF}~^HtB[/R qiT__j"{ܴ=wοcZ>jMnG}9F6/׮7pËca@oWi{a>?Lib8|7uyITz9hSV:t}gtnL|qen`΍@QzζT]ܩF_ *`dPRRjk~G5=<:_pdpiMx}sǼ}'ݥpAut㌨bV!Z%#2!<dYDF%31+X[-R?@G#lˣLRKXgdyL7ynAL%ւrWS-rγ,h|k=6Y.am*Sh~_Hq/X-,!iWX^:W&fJbabNpk OvV-.Iq"G_ѯCC* R+m|1| ʹa = k> ̀<塙 Ti'D5#@}d ghO޺~kFq])!XzD~9fSTJ5Ɋix$@=cDkhʅ-7En¹9ºezCr3D$p$]Z'%Xh̊65QU{'9HGlT/ C=0]V9ô+YL,0,lL]wLp_Θ"/Pf/r㺺|%ׄ}, e|*vY`W?x0G\+$8 ҡRɁRuM3&nlv6t-P(M'(S)f(]fW >[Fym #Xv Sc;<݂4$־6;^-i;: L)fDvE 1]ne؋xW_ sK iJs woRfocIA} ZFinhSihK$Ew#3>tS>'KɵCS<fOnK ׄmanuLFwBAqXZ!cY',&x= FD˛1sCAy !vA-jU֪~cv╤NC/ Df+'G;;vWR#j\S~̱D*/ ^Dq1 [;}iw3[@+}ښ6l!3<9Gg K-A`@^8'x%$RN,,!^yu#Y\G!m6(f~t 3|u 5RU!QŲOh^8k.qP$p e0BIe˂Ϋ|37m\fԱdidc724 :X']fܹi ³fr0ks%,>X5a/8.Y<56I0% ʐp( ˡd$g\.[bW~b&zMu,QvAfS{IՅਮ}) ΀ub?hڋy%eϻ֧"r rսfG7 BJoFȬN)zGֆ0ow~ g%]vjW L%[G`uszw8~&Aq+Rʤuqkر uꁞҳN0gy^Ó6|V|1PO(q( 3cHEXK9[ 6.M] .k\A7xwJB(](2 F~F=L'nW5>&1y '#^@T|c*\OOVw۪wrybq7ϻ59 %" gOIFKwYri.9N"%D\(Q);_d/k|iӫyC!Ny4U3czCRD>w0U)1.$CJT!^5 U,Lݤw_r5,"PmX/>փs̬jpC#GS,'?A9,N;a_Zp+w="wMb.d77[V]JD͔^e\cYu> p)D;r˶+(fN~tM oϼ09Uj=2<5>aFJr m:b,7^I.-M I(8p͂M]3"AȳYTR 2^A7]jwjx;<@"F7[}Ro؄ybH=AShy:D˵TNf]ix@ }WSF85ُ=k䰲Zئf^Kʼn77D8FP k5u+xRaL{1%R=S`QcC i|jl4P(QŠ&P&p悈P|_%eTQ;~>p||#+8\8xCRb9`pP%RUMnj.#}~!8. V588ejY.q9$Pې2ʩ/ߋIDZ(TB!-;Y‡)>QIbWݎvO}DNO YjKz}YGNfzX_Bi{+@Eg75 Jx]iі%p@Qv8c)?~alv GI Q(_srmS!o*qx|z ڋI lA4d:H}kf8F vicc:_oXe]JY=O#9 N>YpO gtβCo+=:.$2TJʜCNBt&w5 EϾ$9^zAFBxX nAb3.(7>8r/:XL/}qrL~ZvoB_NZYOd?q&tP`\2B7n4gu I3f.{h=̊R׺ 97 noRgi u"qN< } b52:12rxn@ǯs2%= 0BZw8$k%&!tO@Ug;9ԉň!d[L$iq<^X4˄Z0koGTf/+Unɸ*`W.ʘh,^ dsؑNG-VC^M@ E2.ˇ]MCZ ^O",O8:p]cpÀj @8n =c 1okc{%Yj;n l8pU5ػs|Ad?ė uOtۺS@h ߳g9llz ˔O9$JƊ}Y>1> gtौђ"VfG?%gSk7ΩO{ -魀r`.>n]L61,N>|(K3eSl!Qnn!kkb ! CA #YJ֙kTSfeZU/6uςT?,Xʟvf4 _uYEMoBw4@^>u{W\Dz=lt)zc%z,y '>[OS&,-_ͺouUDvyE-|+͵Z|F%pGwM1:hn #RbȃJv["SBx d[д@sB(1쵖<x^q/UuB%6ՑCk'ad :W&Az=hFQQБm5';{ѯ@dnI`8a;!Go(Y5&]lSs6 \",wrvȿxާٵOקHB~ܒE5.M~_&2. $ ̇vDM7/a!QZF f{Y*)s =?p3~fy_7">=BT-q"3S ^δ}d+M_mĘx|+w6Iq6ȐRϙGW(8'#,Ni؃}Xc"5g(Ț"*BL"OnvU9V̱#[2#yf)b;n[NaEd!=ck Eg4ѐ;C޺>}OxTq|`e4£݂F.TƠ#"ԉ%8H{љbVFm9֎ lnUk7o=ƞaND jCҵ)h6l}rR(|xLnZ16G^PO# ւ5*kK:)s og5|a ǩyE췰$Z5M,7»p[NEd(D=}cQvyi)4! EsV !$j[][E@fͳ?՗h8iÙ{:7d 1ߘ¼7Z*i]m3H.IUUQ9]y"sc!HvMtyƷ_lVi\N'A(Xʌ*+OQpMy 2u[ǿݓ-OS8Ԛ{xk!Ju:$h? Kc9 }rHh;fskH)˗ fni^a.L,kCK?(R ZYpNÑdO3mCgN 3GxFyk#V6)ZqP`b!h .{n[`*-=w??xvdѮV+ݒ6G8Ria#&Yh[+n <7!CvW`a(vF\X= )Kn~-i_2>rDzC%JY,4aurr۷n=̈"KbN m -:r\.X K}mOeQX۱ܯOhѵv[lmZ؄ 663DǍ& 2vC).p'Ccby!}~rzK<@IZ{:f*C;?[:\)]tp,e>x~VpámDuZ xe wWktM1ԴϞB ^{+C-օމZAI_-hI1AP7z 6&N*hTԂ`υ/&p1TjiL؍.dzG5aqӞ19t()PoheZRl&aT1CG^RΪ/$=`B1)=ݘ <&^=Ys,xںC6qgDRvoL MQՎ5}Y(- s?bW?č kdAW- -"<5^G"֡5Xf=/D9R߶ѱ<4#YjԺ8X,`MM4V @kXgC ipW_Ј?X ar'4t:bAFg;'L,sVZ24ǫ=^쉶* . bF558AC pX[]MX+[%(TN/iL1Zp|t{biGl84OF(t̥Q.nWCܦ20 8,}(Q1@V-Z K9?J٠ X;pf| :!Bx2R4<ϦQN#OS 6Zvr]B$R5EٚH#vfNKLa ι8QwS9wC'q7l&PI}|u*:o i"O47x&<?K4|^ls=̙kOҔ?.JFl]1Ed2xXّVC4+<}k^lN>)Y@bFHÖB0P Z= y y$uU,TίZ 9ZR&%ȕ<]cFٳۼCe ^KQ:%>lءyIQRk1.Cq5F N5Ĺ&c%x8R.N.[j_o ϻ,j±*1>+uH#ߌ:oB# b]u/kž$K46`J F5n!#T6gIFڂ\Ӏ B M-cζ;uǸå\C{N/_>%dJ}UXav !K5-E#df{lW/g!?'BܽM[1f=>ѰՕ2Y}Cm92qff3!xH{+3~4HesZ9 ^}~YWK.XiJ b@aQPzaB[mĆP띍(eGDZx_Q[g$wKmXB[)~c C-ak߫tp#vjMgn$l|9fuuwFCdUϤ3m ԟq1a}w .%|,F,ⶹ企Lc8TxHD{&ӱOW|S)h雱{X;:+"A/Uw޿Ux|c4d81 a^oڼ3'8GB"f5ejF*H$A>]1a5y otJ\]S,UE%lRoZ < Pz ," <8i}!Lʽ/g+QTt p25eCC4T|GNn?Xө?f(:Qw' 因:sw*[Zf DOOƭQVLm3fiu6|@qlW땩x>N}ds.aY$oM16ꖂJ|!SJbS.۰g6f4obtޣfMխCRVn~F]]`U0nC>9gTNwn X3 ANTʎXD]?|U6 "7u듧~`Uӄ@eo"DיC*%R5ұJdIjsQ n01r(]*CB3 բFX :!JvU*Df6;e텀KO/ībn&Vc 9P>^)G$Ֆ.MJ{)눔(3+ה'kiC6抵 #t,eY"9>Ӛ"Ad*vzZ/zI__7Ϥ`%pƏ$'n<٠ؑI9EϷ9o`bRΔ(<0n6/ $c"uAdKYV(32bgݜ1Ew}Qxì[q09X}b|v߷/Jc&XqNTFl8y9^~QݥRMTy ]/#Bo5;7OMIѶKcgTmP W<7QT)L<g hїf_7IJ^vݾfv  !3،J ]KS`S]-ךE=kjA.PC-2j<U/FtX20* |-PB.Z,@(~=MSC($HR{IZ}3JVmL܇+,͗1O1ӈ_,B %Fg`)1Of)QmxSp;r.ݨQ6R|N!" Tar1upţ`&[ nKh }Kp1?叭VlzQJ  "e,rMXTj9 %ct% DpݛS#{i"_0V)U QtcIlrWeFLn4}TPҰ"=^"ąL[*N [2neӍn\[9dO>0jh$3nƔ<#ԹjJ?2jo36Ojf`Y nmu߻ 'IL= ?i@4/FJ CՆb7PzɳNKퟂSHtI8)X<(zLn;A@!XC0cp}_"hVyaGkm'#ghL-ݸ-_xmzHd`+wy=sN '1ka$F3xq _p,+Ґ7-q:CĈ?BWv< iwM7Z٠yxsXVxR݄J}\Za")brb^~v>[] zlPOQ\ yioj7$dg6oϼj=BJuRȂR[$b:W\I\1V=%ȅ%dSvENDHNj#f>=2Wcɗ ֖YY~R#G,w|o~o3_j:J"64dDA_'Vx9YJ6<'!dD㌎9:3 #ȩbX)4ÊtU_N]'%;*(/T6lY"Bz~z4aBZaa(O3kiv2e'["9k_sCY#nG}V%//nQ;i$Jܵ.SC%^l]/ qI86: }VĶ7zk|,Vh$5N?o7dnhY U|g^qնE\;l߫/F^ǯ=N&[ٽmˍE|'!'tT`,bbb1 5I JmbZ{"d.UmvhJ[d( p-r)3qU ݑPyWꋨ.9q*%a3 HLFghE~u3_o#J!wh[,>0<~Vh䚶ztQ, }t `H7nAѻ ? Qk[479NOT>g $kUA9/Y0‰.ߡnPg^,pAбGM3(vI[T_]7XOޣӯHI5P~rJȓia2M9WS]ipڽ &ie!ȭfw qA| edjuFַYdOb׳JɦȻZBEy /"$Dd^ u8ϋe';ASb?׆?5awq}GYBگ$М^ ZTV$~>KOC_0ؖ8iBD^d`V\Gjqy,z2fP;W_iEtoqi ì as@~qV˘UrŌ&_:h%v锟;eˎǫ6{ a,dIrNU61揻_ =aZV=WG1X@BH̓2GY"x@rM塢y$@ SGl@MA}>]RRB_8Ԟ9>Ri Qk˂6pQ(ak:Nd$m}M)8 4\$݄GfZ ɞ<ZuW҉D+e<|kv1$n)-c;Zca_{cU( ""C}wӲވiD=t |v^R͝^&r~@O 3沔1IpBuYfn:#yZ v 1z6i63 a nVup[Z:7 va9w.3iؿp c"6//{Wf<-[2QN0km+{::%tHĮﮙ"H#j#fˈQ} ߩ.0r+6f+I͏ ?d:h45ⵘ^UOi^b<ņ IOѳCoªΆ4ij癳 =zY^)QX>e:&GɆ"/QOL%p;Xl񸏄lwj.eIq^ȍ)"Lǫθ)M1>$a~id^ e?מ1p€HR,9%Rq.d m"_r !S1+;{@]H}/N<6nx!&ْc8k\4nd͛ܥGvMjyi+9Q-S*hΫjХ24r$9!z7U~Cϰ]- CJ7`6#wre_OkvTEbGMd Tm''i䋓<[h~Fd)р E'`iknصd9,2ǙU].:S g\plUry hY9 FfWkћUxb-NTۛc!qw%I㏯7ODdSx4\hYƍ4ypw(ͰyNlpV%1lMz}gȸsBQ>9RT| X5\b77sC_Ҵotd"%mp>G%dh6雫푅g`ʮ c49^ $Ձj3qn?3}zU2A3ej HA/7{+L'&CBJ1 ] ~ KmsB0`92yd1 V za|lë}/JQ^2WrbP&zЕ{pw;|#9p<~xwoh,CXP{Ɖ+O:4a}p"INtsKX(o4o? wbr,>TlqT#$iTLrn*hz|]4زCi]Ny:2 Bxfۣ,ή1 yь2JSC?-&j8UښLlB!A v6F6g ÒjzIE  M޽P(:}9A3%?Ϯ5}XqqNE](Ӫ,wjn35h0X9,XeVO7 <Ҏ`EAb1 ~Aw]/PS31vИ"oF;n="Vv#fKX٭y;v B33q*[1egb}rN ;Ǩ'}ҋ!x3N ]ޫP4XsD3'y_kRtV6(`fgPjg޸Dx7KMv(P)@AS2PBe~h)+l34_1e$ol- N$Tq&}d*盶ϣ!ۘt۠yP}}(hsX5Os @GK&+rj)bBf3՜9dՑ@zsa&e(醏y>nh_3ې@oK4Wrc`f'oa6AM zdՌ~!A Y_\iKɨ][8h 06UŊA7* A!DnD.ECDǢ!å@!XlsOvm׃]1+v~ q *7yZBWc0Pt5aj2~>˿% V "蕝u Fkn-sG@e+GVmiaXA]3hnFAYb\/E En_ί_g̢~[z9T:MM-&cX&>v 렪ӴkU=M?_fMr8ҥ#6jL@ɦ׷ZNaJ;猧vwwI?:Vf$8dY5UşˎY#x+h§O4Yirr+rtAg5Q73\f*ZZpοUFB Y(^nBg^}tWr$=1D.t\C\mǁ/TN79ݮp5@u-Ad2o(iWvx(P/IMLp͘&GH>vxJ-6X0k2* *Y z]m`5;I2n)9@D% 0Pr bS,@l 5IDXw~^}h-AMǶ7Mvt: `4ҟ* b4Eh?{Y3ι24ЬCei-uHڧ2|`mЩm; Cz߿K4=mvYS>u sH +3eE8|#^B[dl_1ĭU>)8, Z*%9i-s'\7DEG ,㠠Mʰm쏻SQPTȚ5evoYj-#7 G̪` ,NJ! 4%3z-!@PụфVȯ~im%Ϲ ʒ/w z9C'܋J:㲢K\lCƒ`p6BP1_Ζ>Ҁ躃s2 EiH S=&ȋe`#OgQѯNr4^g`\!:00̙.?ast1 huEEvBwǖ[v)wSIQ]fm(joLR9nm⷟vsbEl}<!d& O]GRɟ$䦹@C5au@Yz+Xf~*-xtziXa@O1Fk/RPt@h*Æ]#0El(NL(Y6e lV =(`-͊{2&_ z`Т=tOܺ7j Pheی=\zD6 % DQ &91KZV7қt$eXCp|o<6THg!"p?@㴖R_h;JWgW.[Z5gcgQsb0xj7P ۛ .#37 Iuj}IWu1e|YU @,Unh+j.'QsN/?z8?u,Rױ/ÈP@y&vEB؇JPcs1 *N(,C<A]4yxMd=``*۳g Й >Lk擁|%F[@#g{/ %{ pgڲf}l006w!F s(>YsKğƠχ:m?YF+6s1Mw|T**_Ķcm]_N5d~2\ 4S [*]yTA[)s"Qek&_(?#?jE$H_ ׵gB~~@v˟3w g>ԢLk$OH!6:S؞ENLP:$Cv,?no`zGF,#Aȵ]{&غ<#@|?PkRXCqlyhwךo(wG^\ E(m۳zZr~2n.U{  D ^DS"@?I=Z Q&3]-0 ȏrzh:}3IrŗjH3NOޛ;Yp|l(P!~!? M]V1wd b~uƪV Q3'?7ʼn,6S]RJ&0b~؜Tۊzmo<"?}@%!/,[Lb5"1V@xҳ̞Buږ<>'8ҊazfgA-;1Jئo01<JaƼ֒tb A*G_Ӡ1#8{~3%B#\K`9Z~K_q"@'~pʵhho䶪0 CDѤ/PB6_۱>A`-AqӦh`2e㾶?ʬr?lUх/21kC▏wYH,#D@I YŰݾoWUOB / CCAU,d ʍŹlP 't{Q,&4?øޠM!r{oco%,'R. Dp6j,wl! a6UaWYɗ0tHKDJ9/ʽaǰ @!\:G4~2zE ,Mrx'd Ӥm۽}S_ #BSu.>"A0o#~fU |\N>F.4q"la1aҏwыo_x8-[lΗ#G+Kmd8;# R*^MԢsH~;i?=V{CE 2 m!2(y [Ȭ=M Jqb(S aX~I6蟻Yܥ6D3 Aa>~$d<:_P Sn5n٧] ҒQџhi0K颟>$_S!56j(f,&ygIZ\\Bx:Ѽ JAe/}ډ .!%BTA'pJ Av}f߃ȂKb&bT$*&8r Y#Aʯ+#猊\:״RM45ˊ~ OF4+c‘`)Fo s݁)QI0 }$lMt:S~RkPB!suHM<c$L((7(2n4tG|s#\&\RM*p}qߞ։~oGkZƚ% Bo Ww7>YLܯF\|7GؓAg+L]c0={LajNPjTpHpv@|D)jv:"L#~Q9ҬOC2&|/^ܝ;|veRce\]S&Piq;M:Sts3GYhȿj&>_ nvY K,2NdX:0: o şSoIǃ" R֥5ڵvH^};2G_cC#w2<wWgL I -PgC&0ӂz!:5YCᵕ25L'A jrd8:nWt[[JMfa-5BVpӉ 16M5xvdg*@Ô>0 խ9l٬rB_oAzP,%=bn:ظ]*b8\)YZ:cegfX,Ppc1UD`HA 8AӺT@mNjbRAy9x>i^t BN9%EqَV?4Ys;d7 I"˩tu3r@4A|9NjB^ry&`HH_Q ɪf1 Dĭɮۑkm"F:ͅn0L>Lz[_ΰ5#rcMTҌd[6DӺ*8N#Ne%UEEd|ZuVw5$iB Mx_*U!nxϔ 7L())ttP&ys(~ D .ϭCO73,n>y4;M}ivGnZwPu!Ys N Ndj0~Zp+'>>) E6OVY 2H_}`DЙۍ%!P wօPFu"["/GIW0f9{MN/aLEhWf`mSQ}pP\%6C ljd7F&=T>$"z: Z$TDS1~<0ߦ!Z<#?<CsOFHԈ \;u}5q?-{̋aMPFxu< .z(P/&D\q ܵt.{W mI@aPq{lFmb[WwhR*vKmǓ5I{+)'[_89xz"*^ѩbx((RnOMO1ݷ8YGEg:UMA؋*eggMJ)~ѣ}X]u3Y kDwAF^nځ.6lE?Bx,_ &3 щjqYkgz cԾ/͟tC Ãks<0TC9'~ 3T1ڀ;d]>4E@(4jZǰ=$QXv赉}m X8cnc "ʰ)/ x\~w#.]LJxW.Wbu88|ܻfq<+fjзIÆao>alwB{S [mc-Ic] A`ݥZ RJ$9`xDNwpLn0 *TE-Ma YmkvRIZgKg,F_Sļvfy>Y/Sb|+$މQ|U|51.g袚bBOzM(%SҠ?ne')iV,a̗і~6̿rkiUGgnF{'_SиxSHkH0Xr9{_b|P,XUNsV Nv$1 M݆%YEhjJt)!ʾ[m1WPLMݒ%-`ŜݡwE׶]~ƿI-9BW+c~8}11]ZBm)}ff|_me؂ OBIڣ ~V+lnҋhT:oJgx'7j5Bfu] kf()T2t*k}}9~ K%`ۛFonsi3:(fjv<ӳ,ayN-m= \iRat_4]ĄZc]o/pdڀeSsK&vBr1YFY]/ƱG-sl3ΣIB^)\kDL3(-r|g@m{`"oމV7#/jWDSAH6jnJ-xڢ؜@x`޷+̡ڡ؋9ӿ{ 9$g ?V3ꅾ lO`:8 yoL|T<2X.)aBAžu*)@yXҶ_,"j(5"qk+( ؄ E(6z r; fWw'K Qܶc-(3(#8xD7Zc2>ݎਢ^&DXtLa 1oE㧂6Q4%Ȉ0LԀC3W 2qݩę<ɸ(5Msf(U.OT2veG߽]bGF5/E‹ٵ 'lJa?& (t݇8i|a>9:xf}k&Ǫt5I[Zm"AZدgڳ (%\i!7qB}fXOϿbaK8媋E*(|FDmF 4޳3aH:7к~ @YoQ 4Hȟ԰AoC+ 0Fs Y ;>TUeH K Oӏ]-/H`LdIѿ4aƒ`ʤrj f4QOT/v@Qa}Btx7xѕ?TjWﹲWlnh3oNi~ -%&ڻq͌ H=?dfX`iܜEVk6%4L d:{ } 3'烺YAhY SXR NIV ЫDcA9d`<ȢQ&y1Q-mwΘm9h7&ۢ -/p )󎲎2ض x6cߜiM{z !HFC!D݋Aӯ`8CT/c!$/ސw>b?VBcpHvc;(6@: |ߣE\˥.ٚfi}B4tGvҷĐCR)Ȧ,*g[-,Tsngf\8ISmYƟ`~ucKV9#V8:VU OUTÓX\d74 !p#؟FOÝl$Y]6mxLCkxC$ғ5w^ ~+$Tڗ\žwz@A}q^Y|I>~%`}ngu' Dr n$)E((yV)P1r7`$BZ"X(/- pq&]m;~p~%˫/eQ7Ty.dqqq?Nb6)Zݜ׉%pS+Dj*U,Ȁ;4u]紥3Com/Ys>q̪oMk͛rRعV%ZC=@ U9dyLL69_`)c)Ui}!xcw]w֢aQ܆HhZvHqL9}يou).^b|h۔ȩtؠLB0?ppT8., (jvJUwYN(k&vD))rW nq,\oј=~m)G>#Q3g̅ PjDe$3;i䗁͒ŠǓJ@#C㨔Z>n*Rp̘]Ѥ0V!;W }ח֛\E}``=u~v/\Y1C-k ۴K6@b$@BuzWw=K<@۬V@#9Ͳ.ܩ r5`]N"ځt44~t)e>*}=wIV N Xw{\ Hځ?=.,r;Y8-ՔL\S.Nnzb3S6X@\"D}t<B*U\N^濳[-h6Bcc6쵣j'lZk,^ty$3W ,8RA2&Le e*[h =-d!iDsr[Uًhj瘰{Μ(bhS>%-) M+UgK{whk c6nI5( jz 3,JT_ Abto O5;. P4POT9{ts'c % = 7UXGbn:V|&F6l_2{\X0@^ؼ̡߈]ׂ 0>gY6{e)X+ծ_CS8[AL2F^+NiǬ!y`2͒V:]7r|4VWKT>)ɩ xvs߳ ɥTd y8SσMn rP_2{_iuucR~vZ\yZ% arEX/\<Ѕ7|%܉ A5pNAZ H6jΙihV2e=9Z2/ zv@! EˑK!} |ԘVfݭg|?, DbCUKnE9zYVvn[ rSjk!hmyX%]hsx~,$Y.۹ebgr84E X : 9$/iLiKx Qw/HlޣvoWIM4ʗL.q,KrL$n`CJE^SYLp+#] k*JwN4ZhYlbO H{sMK˛4:i\eMt mrwe|XnʋO"-Vһd>MUH>r7Z8|zW=HPAE]&v =TϦ`r@,m&e*6 9fAT9{cHׂ5P׌?e$N0ROjjw|SN (R`W9Fe#ݹNf6=4eύ~3.&8{;pם%8RG, b^ՊuK5].KCta\hsJWԝBްU$VUDɧ`y(!7;7[hNYP6sG{_T0_]q<Ŵ/B/:I?;2KW nC֊D\P ܺ-qgQƝv\aبU7>;]V+EQWj%KynI Fj~Б[ 2TKWlW[ zJ q)0)Y!Ɵ6fGC2 a,C[* JN4J|шSf|!7 S]gY G0$O3#h7D[ $ Yc]Kn k?}SDy1 6 VpSנCcA^3#BCӫo>Wm +Ino o"7X>I$ r޴r@d`r'@""+dR '~lc!nI3 74s))` QDp6\XDyF#.-}\BȒ^,7ᦩ)x`7b=3u!譸uW_7C7]pzRՕ\^Kfl&,.>1CH(I@Db-ejWch3mDXZZ~{ho0xh;¢>X[C #~ZATjt ?MN)αlG=%+Z M6bo=1KCpҜ)1i| ٌvn΅8UCԓ5\s{8 ׮|?ص\VF17}CE' 0٦R/隮ڞ-%t^9uyR|]!b/ɚ2)I"iW~{цfsFO^DU G*⺿ prJ\&]bXJ\mkNAxg,%+J9yP#U)R\Wy\*eԢz5|qadGzr4=BI)qA5ۇ́և#Yx%Pn%;c'D5fZ3;IF/50kch!a6|)[RH)`HkcƼsK?jM[oQ TJjaomIf-`1|{^Qsig%uV; {km+#g&;Ӣ6)9cǭGV-R-50%sA0i#co3Z!④rb5ߠ 2C,:ZfLG 1τ4Dۓoքob-Q8,hG g[1Sӥ#>y%eu?\1Va|L ij*O콩2Dot^XKr 5=v@iJ6u^)4*=MIK3U0`M}8&]A#'{9VdvClܩ-{:RQz'̈qCHv,-Hx{$)t6J|>|&J8t3H8w5jpzf.Jt?]xC"hQ/uHmKgLQ}@pDԄyߛ:fpArnpwXv76X΁ϳӷ9CVaFZ7$~ӨD!B?YA6 Oo٣Q5el3Z̴_ajUpErmy-?.^KQyt5bJ=mbq^o_AtWXa=s_@]$!gu w0g"q !L+߅`X0=yޘ!5Ua4x1t& aPS]&Yv%r'W)1,7aQ;i$QɚO2pT5-P?&Y6^PQ} 1Cꞝؿp_GlsYGdϸxK '+ 9-1.NEy!9q.KDlLWY[gUsί2O=5j\@4lz`[a  r*O͑ n9=~K7hOF'^& -x$i![t9fbZI>@?==F 쐘OLЬ6&]DÇ̌qcW 5nMp{s6tSHGz'Vς/败s*Oe:>$P)Dݏr>nv&fS3ύaXsaQ%V3rJSCxsOwcvqS`P>8? ĜEbUCLopN@Būe(|0Nf08.b(|bXuj[3;2q#-gk/nKmb1yX!.W>uoq0A{!hkи?=U"1&<Ѯ|dPB4{Bxfn+1lFԹW B3Bj ?}^uHR gK5FJfyS+x)Ĥt)ו+Rȇw箉.QК~q,rUNP}M<<{{&YhJT\p\*Grfr R5鍖2h 1E5G,l\,=ѫUP;W{ e Ⴐj;賸Cp6m##5@ o/f#zr$J ҖtqM<)HT a'x5 A$y;cyaK朐k T7q[˰vr#=i++3KXS5yq  ؤSFвCUT41V<x+Iڬ%Kn8HpnH^g{6 Xk$~/J*2  y˸ViL4+a :W_<xPicL_b%,ٕ.qǜH}c\y)Қ˾>\FsTJbr5MD@%c]6~^g!ބoz> blYȤ&Y_lX+ͷo 1ʅ"<dQbkv8Y8Wֻ9FWnp}L'9*]+-,O4%C $~P{QGxNu|ZbEkjŝ0:lDhaq׈i.9?p0 GxT;!:zgݱiGʋфmcjR`C>|}2|j lk<8kqNB jïZJJ/S0U>pȚ(h3^Y~<4[= q.$: /䬒h maIoW54c|o0e-ԆȀ?B#CZ#܂D$1̗(d%dSGui]"p<'uDj4E7"IZc!䶜ȫ%@ 7?fRt"kX8?RrY!~ZoNԋyq~0ZyF*'@㝹FcK=!߯ yT%wliv [w1V@خ#ٓMn>$^-w?#QCw8z՛@HĢr(\OvmX/8+IM&'~n;IW >4ugaЗQ= IHqOpnobD3nJtw943 ҰOph_ GxE6#pUЖ}svĦO8{TQxnhi&\Q9|}q]BV[FLlserb]e"L25]8u 7&'gXCki' }M| Z"nkq|;7&fTc PMX m+pz!PMyU< MfL)J_hZ{*_ Vo sfN(\)HLPV^e"rnYw=bzaipEpT*Pu1Ǿ9Z{8F%;gþKf'#I L YBP'm g9I\!jL9ďdA۝„pː@cD_Dr DfjH~?})9"'ظ ]Ty06<#GufTQ>9Iz4<*fj0 K =>+먾Fk@Qk=zWwr kc=,ǹ&gCxeU L1@z6I"TY5U c1Jr[n z &6|-);-N-I/ְcXQ 7[ ]n(ܢ,C@; vd$NN/Kj KJI PgZ>%r-ϗD#rqd͆<flG3e-_ $ nbA؞-/qWOK< Jqoܷ|Z6yPp[@WҳALvyoE%zm a<&\t6Jgre ̀jT|ss󴉘1Ȗ.v4և*/5H ~5U!v"*ȦY|$%m]؞Ô`]$)BWLĀ{1u撏2Uq_-d1,0;Q+ i{aISybE?,)NSV2%vh3?d$VICIWds t^^L%@XbLXm'oh]=! eDQ3C%Qd{3"y=)G45 7q43Z\+NՇ:cRqRGg9?8]K A+frgg\uli;fz] U՟%E&>jQ{=ys05Kcaw56\s݈j\+?@H ߏc.ħG٪t9_?&ݹo0E%0(GFHF!X0.Q| .~Mz+f=(=}uPY@z[Stb=,+Ad w\؊1+ꀜ4dJ=O(Ajvi#܉錏,Rb0ɧWnAB5 S3#/ uY(]52b),r=Xa0zn$Ϋf/gIAj >;kT}FDz$j>y0Yb1_ǧ*mn9Wȵ> e8ԑZNtD}BQ ]υ[;nLׂ)q,QIq\1:—4+dڄ, 54OUdUBj)sL^ԣWMFc Zլ䑱R{`"3*2M3v.e%cF_`KU|VRvxE,lxeO~ 4 ҪҙwΜRw[/'=X3dPeU`7nЇr݀.M,6a.t]=a~m3>WGtMTwa -0ZT[]$2͍\_|Z.Glb1U&?Qh+GvVJy  sGiJ._+/cmFK`\y. մZ%8Ϳv(jkp=qge({ȫi[i`U(rҫQ:<5ʍz#vI9L ]gY8ac4a+2v3I;/+_j1;5?OC,~ŀз='~Z,+9nċ[#,U7؈Q6kGr..[ϋ"+^{ GXӾ(y1trU|[O,@cUܒn'.P4GAQf"ܶ +e&Ϝ1;6)eP-ث)@bܦa7L-(umtKBC* .-W=7t)w~Qe8}}N\„%U!b\2x8`ȍAQ'zʼJl(w'M|By O. э 㮸TnY@qydQYxQa}s.÷Y0W_7^HtoM.dRy:mWipE/CCi5>,XcTe(dY[C?!.$޲}/Vz/`|"-ִht?JyubEg!F+f-ynXԶ)b.5leví2i_$J?3y>aEY-kҗ䩶CP}AGL۱)j |mM m\ΖyTW I\H̎usؙz̽z3,sɇOxs I A}P=I]̨4; F¡WyY>[w,, syq 6xrı7G'U)(\ԖZG3µ@ɵ 7|ܫO ]8|\PFBl C_#p+rJ@VuxG>ҊK#Q,~F" Z7s_X:oRQ,YWR<_P}?ef?mI:W.(3itVy8enlK>÷!EǽH˼7_N,ΖYΣP ,p{y֩ qgΑ/0.W2R륄/?#@̉ 8o8l-1+?œA g>Z1Y`IXJ}I},ѬXKb,Z aK 9oZpRF&?}mڂg%[WKKh R#Q0PikPFUIhbi8+%fɉlћf7}d=L%2͑Q.`[Sq34~#h4S gKۦy#pi:,% {_QA~0@YpõL}:d^2 l$%,"T0ukss" L5S8B!_Eg^S,ît黓cק-Iޠ8;zCCr5Y*%39]og9; q9/upJg`#ѳˎL;+1{<ەNӤȔl\?|ؼRDOomPWGJVkSi,A|߰RbDc9v)Þe<6kUJCXeo-|6k;+}˧I~f,pai3mxT4&Il9%/05lQN M!C4$Aapqe9S֎ΦeUPb+<⭦OsA;I헝%S+@.|nemmCwb*;p{€.g!ob܋279lG:caoo'쐹s(~̟ &(ke~=k)@۪{5^h,²=oybE^>5r^Z/F;&Ib#{ՙՐRV|l$.bv?{x7{+1=i1zN*AjSlU_`zR+=IH5UQ/8-(L@e#5v$pU|M̏7F ;UjGš e= ]j!,j'C6WBaɮ_6TwA?#1Ƶ(ֶޙBF'*iU U^&:ց&Iwif -#~)s8I_|O'/MyVA,4LJ,GK{iAbYL5b8u+ 4Wk2Ж$ؽ3m}с j&5,l[C4|sy?bZFH&|e 8%Tu`YjDRIkoN 5_6qxphat$˸$c`Nnز0RſF6#3[|;߈׷{&a/VDU&+}um͜_''n2 ՍD@`Wt7̆C\ۭY*qyH#$^IIV-RqPrꪲ U{Wd\<'RBp\ 8 jcI_@yMRO!PE>XM9z`u@1zx 'tlfW?f?l _-gdϕZXM(nj\h@91Ij`ۨ0y|K@ FފʦhFCfP1|J%Elt. j,sd ߖ7<e$CB9:+Qր?Zob 6p<2+1(BT / ݟu&,}rU.1݄0-^(7jkKMi^[byظPP:\{ qqnՂq 7^]?}ŧ{pI}$ώ}PKx|۷] O9@m26k깿سSˬEqmeECGLw6#A6ͽ.Jyg>G3*WH&>5C@IKUQѮ؜㯎^)I&cǹJ$'fIo_J?F֕1hdU(M&[~6 ^ HR>@OvX&Plr߮y/-[ǧ$}Y[jCև?1S]īᙜՏ'_$;p\F7ICQe%_4Zý!LՀc{Pɖ?j?]7~O<(v]f&v#NAS2 mdfAUGJZ{}rd 8e;RT_V eg'XGuVc <'KohϹ% ih =m!毸"Rc ʀ șvbFQTt2QuI۹Lx\2"?W}k=TeP4Ae`̔?5k;3ԋ$@o=fL,nkA͐^9^0Rk)}*.Lh}Y{)U]RoxI++bZ3%s-!aTP|;[cy4ւ=hYג' ˔j:j.+6su+H my9ޜzˇU Bj;֯8a^ƐevQ`Gݏ׀vs&\9S-J8ƿJ/@ m{ZҷGa\S`^'K@VuPc ֞[!eˆcl,%#BT-w3T $><9^ )(V)z&fݮN /% = ^0]iL2F7k'ٮV${h2Th< J,jt+̹xE#1+QMfY7<QoCON~C@h#H)F SA\g"dEWEWq2q&0LO9ޢw,LVKݗX|qAFD g!*ԩ#.".\t`ת?6Ε˟K)QB'.g֢`ۨY?BC׎XQ6G8Im31mC? z/<|PZݗmGcnڸ6^JctRP"@ 2Kqz֞yO6~4 #nOE &Kh afEʢCݢegc'0l:v ܯrz%Z9ЕAȜ!UIhVSFl$ҞmmbB!3,œz7覥#&>5UQ x[ltɯn6"owG1F,̴_L%أ6LX3?~nl}s)؝@bmK4VLQ@PtDŽZH*.{o[{hw!w&"e-w v0- {52n}?$c_>3|jVA*` /9b$tlHJ1|[7sι>M*lֈ|9qwa`?RU;KH=EH7fMw5^5)ix֚ĴyId7=Ou)XEQ] Z8ؑ|e8D\sy|r7Εku-F}pE3"IFeRQѾǡpOl=[]6O%}![ᚙ\gMj2$Qmt֑H] gE=qI|+Z(OчNޚSRJhY:iB?HMEIExbGNFݕƂ?d7ԹY lʞxr#AExxCY7>:Sa(oxA,NjO{ҕ%'EKȓh 4 ώ_*2RZ*MIRE]5QfcW 2 @F&||D~gF4,iw$a˙6a&l( @`$l ,'/1 _mVkEۓܝIo)HGlxvwrl$d=mTXнe:$I,1MkVv~(i]#K9!1춨Y&J ʹbicz( 7c燐~V6*39z~v=x0 I %ʋ߮ hb $QKGBre?s&` })`S7i&@hyXqh/ȔҪ3&`ys"4Rx[l Ӄ 5S ;ٹlZg DpvW|R Xx S6⟀N:v]Ýo!Bե⟅+7,vY-ϔ]#-{^׆*sT:ֵvTXO79-2f&6F{;?WDZŨCo[̂siYX$ %ZP{~sx}Wja/#𿩛uvoG1,tb0pktQ [ʩ4l8=L2@1EFO/?51J8(1^ɰ)χ ڕSCgBJ'}{KARHuC̕iK8w^t[U%'WV~5&eLF^B lVӲZ>%/4$ǝQ/̑A?n"JLU.ɰ&PlF->j/69}QmR L"?u8Aс !ߡ(&uQ <s@RN[N{7tyLV4C)?7+g> *wr 2hyZ$#6v:v2Io ?H7i[| y_O֠EX=ܟVSm,F@ ^z\'r/-i"k͊2=G* y)ґT!-rᖯ{'߂vڿ_i4X1$Us@|8p֢ ؍q@۪[a*w 1(.V ۴_hO56@0v3\1t~6^]T!ZIooXG9,'Yi͇K7X<\Ew0PT$DA)l&޲(n V8Mr^fiѤt0& f$^r#p#(69ٽ7ߤt}"jWs'դpٝ-imx0Ed-$iS0ВR#9 T0fDN8.l*eUa+f^Q)y (nyYCNfmZ 6Y/*Џ, uE5}6V;>sN0/5( >n1ÍEH(_Ggg޴6\I;^{>;D2?'j _jg%0|k0gp ,?1R>etaOc9t\1 moCP!ފtQu6uY6;d)S0 dp,kk|"I$ߓ8q/0Z4`|Dvwj/ՂKVQx$S K3G 5.c#WdČrߞ?) &Y9)l=b\yޥ0/Uu29(],-3 n*WRHUՅHoqu~"Ux}Ғ0/$*!9H EQpm|!kwfx`lMjG I4>P?'U4;g x&3XEr;Fn~aUĽ냹4=`$23#w1,T偪ڄb9gXEe;e/=w(X4WXlueѡ+Tk5."1 dC%%3eQ̃r8Lks49ެ0o]- ZrWBr!#_H<ԛi琓Y;֘PfFN-R-i :M9P4K( H \9` X|_|%H*;2RM H6r>N\U\=mf="-σLmqà pMVJA+kH@=gHik KN]UH|dEu^0-k 3ힵDy((58pfK D٠;x{oƍL _ zn!,Xfjy=KfCBMDP0Q5nl}F)u&zE}oUE)V=V6/(A&(`IST`F"cHY~r|Z'b m T$AP5HVEcZ߃%J3sXxi Ѩ`$mzrНȽ>?RT¶ Wq=8imgQ}",Eئ dISQI>զT+PFϩd@>q݄< ؂f;{kP"Z62}!E2Yϑrjƾx؈VؓP튎LlE[D~|i'x[K,ċD 57;án6Mn{^6G/`' .,@up:*f5&nkYŽ۳X$fx,h8[$KXK {h^̤\c1_gs>:Q' 6k>P' ϱ!TM֊D&>k,#|_֭\),m6zg5u7EyyW+qY_alxcN թ69RvtjSa_ ^>gFަ((ކʡHD׳]0 dJ8/a _rlHGXuUM^dS_xAS#ͭF]"'9pXiQeXD&CgwgځH[1(p3!jl8'y>2PKuDLwi1s6mT$VRyI3z߿n,?>}d[1Etº}SNY9Q[嬭UCHLg? jYJDc UB/Eֈ^LrblȚnixx~W>\%ScZC)S-,/M(݀)9nUQ#YbRl[9s1ɾp|猢jttФ\ +Y8yn@8D%#A@;A|P[Ofko%):iYPjm-giOX~&YCJKגxx#isFwFQ'LFBs:WzFnf5dtŶɮcbz 󊜱[;ATֽYL< 8rM4 ,K6q Dܯ'{v8:^:=I+ R9ޭݟIXMeY"&֞ hN!r4UgeַhդÐkrCL BE"124L[$sXDM ʲ )r Zn4@rrm=ɠ=hcYUFQj\!Cg!RV̊gYغ5DžS7L:zik} 6]iOiЦ5 X>ϥPӆ<2bؾ' K겙8 r WWtG'5e!X٠>^=Q+d9.5#29PUmiYoL U=m$O=\ EHY 4o|Y]ؐqDdr}VZix;z\Md]q@߬s@,\ ЯF^fO!ϭIZ/>'@pwn=_3z9)t̜蝎\Ͽm͑"8G+*s mA=*E"0k!LIن U@II20ȝo3#{.ib1t򙯕qYx:Q&aeQS'1z:Xʦ_(7N-K@hc(%3#v3^} ̽POpkNeqEhI 2D/ܮTO3!2mitC CBd[ՅEۉnR#fCq@KFR2X̌+R_CyyfgrtXZxd-!Y:崠kDwhx R)<^L F4@;;!d4Ab̚L) Qˇ'*LW"%zs~N" q|tEo5Գ!z>[rkIOe3$|ZF돺߱6Wc`,9"T~m3[9BUq 4{m-W Sya{¨lWq8 3bIH8ULqjScd!^UfUNfjf[h #}! P!@zv!G)ݸ66ќyj:XDB]qYq6 Q2&(Ѳ*ܒڇC1?*7.'mGL^It `"y/Ba=T. !tH{U䐧kyv1bDUع0]Gwa)\j9Sk ZFZTBĝ/þs͊̏T?VN䟔]wC~!zQB[|c΂ـGr?r2%]\~ t@K &VqQR ^i玆RCFt9/[}.4`ӬpV|m-Sq(JkD?]=bxbLhehXm ;G,S)Unc%vMEAE~י3w]PGƳGoA >&zqVRH+$UQ5"fl *O9ͱɼTQRJ봐lqynKh٨gxlLIexdFkPu"*QX9F,$Nd}6̳*P=˓6|֪ư챿RbybbStf3@N5>tQ#ܾ&~Œ33Sa{(:iۙ0hߑ:Jfʐ4>gDbPXP,4oL࣐gLyM$Ӏ&ҚjĊf$1CJ۵0 >tZCGN Z@,YE'6N0Y)#=vE\1ǧzd7MJUe;>%ٯYÏi0f{.at> +C? -@@?pH-ܿU90w4XIG"vS>LJEӈ"=D_xow4viS1ЅS7f8Sшqoa=̅oXhK_>@z_3bamX:g6O&dL`"qsA!LcWٻ9/싸G\dFhۿ[:٠8~4YC|^]Wmqp4$'xx_mF45(|Yc7NhBn<2`dGMѵ$ zLȀ#Ald?g d}o*E0FɨXau/|:]EʋϮԢ#EŖ-i2m8.ȫ+w~Rپԗ^%eTd1;W[Zytf\!nz4'U`A5u~XVzt F+{wEFdGExSh#N-~s"O+WH3<}Pܵ I֏+ ڋwD!D#_xW!E4>ΓzVg9]>1hq2M`愩(Ʀ+Ԛ=TV5*)ImŮގdeCȱ[c,>;?-^d2;B@]OI B9]]40F?F:]u8_ݻ+SWӓ+U y!|yFr 'CP^@pQ ּ = 1H۳" (XdX4i8B$B-l?ihFi'n0 X "!"/ `g,:Pqzףe^Z,)3 /LZ5ڊe[.+]B$ {!7~civRNٲ4d@w‰`?Y]lWh k1qwʃ,,PjX(D@ޡJxfUպme>lVJ+MHv~~}cE9~>+D{OE|#~G4t9\KعG$vcmwdd`th0a"64GpNh˚y馝@H)XqW+~=W/杌ƙe}2s# !2}(BCP պ.UYܢJ 09?a b4j cfWP4f3UVfI?%L܁SaMch5'Yr㞺xD<4)A0woig+re/-Iw{X*HU>=" ΂ v5 Sm0a@=]_gP5>hdp Q*SuR anrƉ<6tK!Ck6T0u~eVQ'R 9h##hJf*w 7$a6l#ůqN>C=ض$g/1 ZCT*{zG-X,wX}qI3B͒Pb5?xydЏBxO$;&{뇷|_Ջ>Oe!d*)$ļ1σ/ӛ :ac,c 8py,"oZL염dFBy*K1N.O,o6FN>FرK<#0GC1T1\5ǰY]G񭎖d*`a2&#p&ǐ^nb (T ]EnzvE2]ܻAKi+9"0.6C |/Qxc\6X$98|seNFf אLD`4/屜 msiɪ͠ђU`N~4khC<,7N=l.Lw%}KJώYI'#Up \W3 |l&)yL)48;Vn&Dѝae]6([ e)oH|^uZm*Ld$R>=_^XbB[$wmc.Xҋ2'?^\">|CnL}rUnv ;^nQj'˛tq efΞrk9 w?& b+=(s'pl 9x~DդC;B$ۚ<43#z;ϟD90SQpt+L3+CU+|Upr {h^f:|Ӭ"n!L}.D`k#T`.ܹ.:~2V>ek'"YS&|Fy126C@k"wuf^"Ďe#քht&ӴVC{^ g%,MDDշ9[X֮A}~!oWrH~V| GK1Z#Ty0]ahF7h U!eygF [x:ZNjce?=)L7EZ3xb%]4yk(G~7Pyr?AmQ[_eV-neiuhYF{x8g!JXe:8ڸv"GYt@~emNŲنn5@$nLk32WvOw,}[nskXOE7'B@A}5k|z >7)%GQW_xly֨" 1%xvrb# 愤䗂@=\ cTŌ% vi (F皺噤'ju@`~UWCcɚͻZʱjq x,yT;C}6Zͤ;A*j7SZyh|>ܠQ<'TؤO_Y!wfLE\~!O壃;^-S:%yzƺ!.̉xn毢$-$͢f6ěLI?uiDt+,0]FB!Q'Iy'_K0?U%Rb>-Z2eT]bmWM:t \f,/=~= 8HxδX, Kw 6axS_VmA4(G- üW-5utתʐ2=Mdzpz1(ب0עD.Fzz~Yimr:S=~w:IAэgKeAˏ,j88@#YȋAͷxٍ2lv}`[ߍpf`(9Mi#y/ 9хg%8Bvg,);#RD7UkV >͊潨#18,\ں\xaN_ .yWh7#pylYW_PC;!ĝRZK{MW7.~peU";dV̇݅;T2Pxq$cP1;\tIX5VvI4X83Sk͢:5Ob/ד "(Bli:J;F> Θ4M d^866HAW&p@@zo%HSӔ=&{3"AG{-OTHWiThx>g3Kɇp,NC|?&hJBd = M"cȫHWa}hsL[mQ) &_yvLr62M@b.;N5ʁԋ)wo#,#zgmef=Op=)m+"v'%N`Rw*1M :N;É6%^HܑGˡz@bR ZjP'𞤧_J㘨[~j̿*Q9d36Kc+5JRa=͢>aLniJLtڽmJsƚIU&042R~wO)G4b4 ٧P% -N4{q^5bJ:jom 0(Is Y0iRKĶgDx{٧/zDC';o Z4C<"*.7+AΈV kOf|LfL{ai߁efclN>s [cn;LFo 0,\K!I*Н·bևy6i``J94]|L})!%8$i5LmͣuOTAj;Ͽ%lȭaΠƹR/NwvCWY IIq4Zma#,fx>&kd2)2 gv\8XsIV= Jܖ%rTR GKWcy2ŝҲˌ}2lC,7x}he:f3ё[[nq;V-6=v13=ιlGĦ` pw(N-IC$NU'6Jg1(d\g75OsL+4_y08lɜ )[,v)O%a Z[`"\c(7 =YOj`h:r崆*WQ=47Ez5ו _! hi93)tljap>PlVim!gĨqĒk̾X1RZfA%eaLԗk}3הg=8GYcaq- QNL90X W3\Mz? A%F-L2c+gh+Q|dYIuӠLc9l|B4x} /.&o9!./ieE<հrIvF"7.AF(ڻ ! RdSG R&ƃ^9#)z+]{~H4Pijp]%Qe(%A0M]Nz^D+31:})ҴK%̵il7tI;XKCϟ%g(y2~Rm|k׈uOrEWmWy`O1F6TO!zP/AZ,饖b7hbLNiLf!1u:z^(4GuK̰3Zp3cu#k<^y dD@j4WZy[ǽ_QZg @DL{#j~x} 5!\H}L֗Ï9pXe$?{l͐gi=N2'.V;u%UNrVGؼX{ǡkp.xiˬr.M}bƹ{3+,~Tw8f<4^8[[}O`İ˰^;!VciuܒAP̲O @(BLʀM#z|1rR3^6 yLt:#9D+D"#3@%a g[楤nVu[Y3dbp+Ω!_EVQj́F˃v&2Y]ayB2.$?9: 26+ŏ7Рcَ)?EeԥcyEn2'J"a{.1v*+CJբR^~8`u&f]h#1΅λ?oM0>B[=[!T%(#(M۲k(j՜(ώk`j7ڇ sF0rFl2-={KOlVdU -6ӟ⦷?=i ,Iȉ@B% `YJ 6s %^h  r+t,ľl=:5 >s\ |DKNJʅH^(8{]ؽxEܒͪ}/i}`s ~\{@Yљ?,u>w/3XT("sL9|L8OZxvہ:_雒nr"_Bg adFH b=Km$<CA(ev+_Nۍ$\W 64;*¿|}Ya4q 6ZR^,W4>xFr5΃J?-Lsznc ٻD$aK$kݓ'dC8z?Ȅ)H`n5**89U)S/ g\ܨ؛]-]$FLpn%0xraTpgU) RT`PX0#i8ZxlOu0ĤQ#>:'pغ41yW9+gUT$4 !&wkedQ45-3 .N =rQ9qlS'71Br9ģ]P#!{$QZ%u뺀1=RfFDH9Jv5d< :NzaCXO~5wՖp >  `_QhG߼Q$.!.kZ.Le؟x`=ޕ\>fև"#S#sQ26MPt ԍ$[pk3#C~\_Wxg9oe1!# u]}=B|^^.S tK5@D9nvBNʬhج(i~ͯGS{jJ=ha.jiCz]ĕol2&KðHo#&Ko+) 5OgkLDQ g ֑Qץi9YNEZ!qE1 ,֢hiW]Va` iR$N StjkjnePS<@B-`?ZN~9+]b}0A&V6Q wU>pAj2Fi|sJU.J:=]~6P[Tab}ZۍvES+QgdX +03Ud-AF"FW7ɊWazaLxfZk&N,FFx ])kD@hN< T/Y8z6N:,Ŷ9+ Cxey~ʥ\LZd@Bߕx4SR.})9VR Y8>41j+k6{Z&߸Q6#ơ0%+C!KBw>݈5ujdńdN0S[P0"c5N}$9z{L\Sw;$\P&\Zыܶ)3-pc=."A2VuI-z(TrMLF:#]FDVq)ʷz'aFti0= jiry̮y`)WC3Vc]D.)i3ҠHdXT B͈&C`S~32ow5&$OdrǩKRBX*(~?X8G^f)f-k#3w,ثZsEjeh4$,!qaE11̇'}ciY]u/[]<E}fQHw"vؗIEdNs'ߥxaퟴvg\N\fagEXVDѐ}j5#nT2]",$~Hj6[ͯ_Ab:~`@MTL5c<(E -T<3c솫bVe-)hp >Pe9BH~Ԧ]7TR\״g~Kj83Ϧ)zJ sR-MУ)ރhG;!w K#˛ &E9fx x_t76wy6]ZJn܎V%io|/SZ5-X f:EZL$FU %c;@C/cr}1ѕj.Ɍ3C8~d@Acmh!3Y*w M}" ^Xi|T}+Y4A(\dvu}{ n6$n\ڙأ*ͅs2o ~qI)']sRQTl6-H1SNr"94;J=W&U*b@@1iX#2sT֖!hɖas4vtS#)`BGtbN-y(޹7('֯pqdf H<·btƱJeBlM樅ȡg h'=TdʒEY+1K94SzwAέmeOu|)k蚙3gasT7ˬFo2FHU$CqF:C8 Eװk&#J˒JfOZbW Mu˕6TRlry!ت(fџ"svg;0344I_12 V\՜@լ>#Ж⫋X=~~,^L-ե!˼̮׽4"# ΋N\K5@f!-_d@`^2xp-Go=]MejGSo#kSOLdHI AóO}U),q9a*=koOm`}2Dk)dc<&݅Q&Y&6}>Nn!oLq fusd8IƈKߧ t*ISߝ9k8?i:[`)69"L)qJQ"Jq WKR(vd>3z#5J1&Y]jh1Gr*d)2]H1|_3GգFMjjr"&pO" 璿wpGpn@!`&ʒuCX60 H9)a hjW6PARw5XDo$y0S _Re}pz}{`AM .Di?kKB9.;9P%푐L&ZY\ ?XH\j$$Ld8i X)A"Ybsꗰw ҹ#ǵD P(v^%PqA fMX=ʲb`<Ij" u"+\ȴ _@p7:p8Qݡh#vE븵c&YP<«{Yp I"oѩj͢0f}u.=z7+p6G ɒSѾvw4A.MEQ ~*S$/ ?3W<JvXL 0z9NHl\S0jP.KnNI,sC/u*p_!H,|?Eq"!<ډiǟKcGu¶xcFiL>qd™x d.Ykzؑ)f9 O"-Y0^+tQ`R)O@z@X},0j5E-!V(5_M}-} 쫄{~o? K r;+ M탸hO. $1ٓ| iAQH3lS)yf(OR^r&m %`9UKO~ 3'ga5A%2`ْpxEiq[ɟoHo'r^)ً}+_tu1>%lmO'g.c3h>7A7Y^ߋjMt5ťp%4Y7ʐ-݌qF檫(]9bȹ yѳ. ͻ0 }7UH})}{߻Z4lFy.H*1HT2X>J{T]ihWz5+Be'wS@+R 88j߻;]+rYz3'nF$Ё&F%&6?Vj<}P+k8L+Gïm]4Us4W/(|F())?fΏ@_[E\Ķ}$bHC{f54DS:w'+U^s-(/M{W laѵ5:7;GJsg6bUZN/Xˠ ϢHpjv?!R4h[],1hmou)d<)ao(ރRou`5cJ^ ;H\(Kaa g$K7?Rs.fuMܗdJ dUy E$fpJ 7G커Z=3V'C)̟J#v?lWI'$ ,U A1z WȬeqiCL4`-.pV~q7T@ԆD[XZ40R8O;mA8_ɱ}6g<:?aqH$jAݿ\ody`h)y{)~H u& mr;1:{$D>܏,?\s @ 6d,](q3 R#3qy KivO'<~*=ۀѻ1YX^U~I$㚌Bڦd=SDLG`|٬ؐg*v&eeO@b U> 1v?Tg#l|2Pēu٪{|nsH)2 | ˣ qϚnȬ(Y_剐Yb(( ژ\V D5;7jZS*|6|*wTpc*lXQYd&; }dS r=5'-Jy9>ox}|)eq?bv7bx,Y6ZҋYW+7SyZ}.f8j g<2:>sFUmUG4dNJ (J>L[H\u;W 7 w e }{ʌiKM n v;'f@9ȰZc{&%Ms ZZWܢˢ3Vm[)*_rA{nb"l,1z[?R[J/OeObL Z&erzR|i~? l77owߛ?BrHHT.d$Y6:7rC"}S61M];eHqAO5sg#;z1M.-2IDN 5(&7k-FhIH)˟<]n)!N2*ԙr92#K!LG񐀞}:kA̛ Ctl+W0 ڲ`x&JwEm"ǖء#B;xl83#ڻO 5CTѾ,-k)"7/4*LYsd0ye-(/m9 }o +:p0nE w+wWāZ1~@6xתFgTJ4&^wJfSu8/2|h,E&hBd583%d qDȭ6HЅ#@k*Q0WuJr8/x-iJ*'u C̉]pی  'WyBqrֽe\̓ar}UJ*o2HaAP- .^XPO9XDs6g,Kv]mO~CFkB u="E'hL_3|%VȆBBIgq}vwRG>K:WQ]L!TX s`yį3:l ]M)"FEMXظkxxAXjE6F;ѹ_4`v50Pkre}?3S@vϛwӰI!˄$`YP*!!HZ|{%'1)ߞ>eVE;@D+k=J5(i=s}KwXXbQ XSxqX(i=7n\6"]ƈ5'Y֟Q77<5ި|acKD "Aw,\ u^&Ȣ!j3l)y6IaW$4DSmNd'd+_ ռ~d(@PUXw5X\XqmBk݊_ %os>@BI!$nE&Pd4F-T4X3)m;!] v=0sl "DauyH]%,% =8C@x 'k!cLHT󕊾"`˶T.L.^Y 8?pD@cgrnt}܏1K!ubk]Sf->5` xzY׷ W*a{۸/$>*mg(,W?Dk(qS'yTE.$lg4V SsPx.ci0w Y!o?GBm. 툠Y,?DۯF]Б&џ-Q52X_z&n\@y!ҚAgI<]HOѧ):u 5E0DҖXxolZMšr۫-EV^iREsgS-+A^^:\`?}V1Cja=`_^Tp M6k y[oajA4T1<&L#ג$ >KV⇜ܐRB 0gtxt!,N#Oݐӆwak(BiaM1UC/164ݥ2~Z 6Gb򩃌fhȮ6)ֱ4S-җ/{ EoS,ΐ?e2+cA3ƵiFA&-&{3&7P˯orX SV`Cu.ޱ06bO{*I>du s>WOm3ԸD3uӒSrUs2tG+'?[bڦٕx YW@[bG92"zoZGtFfI붭E_֗z8R պb{c;kn; voq*y'7,e^f&ފ\6M<\RJlviQun٠G0՟5ƕ`/U6:m~F@ahfk U$d!&feY盬sP wȆ w%[ )Qy{gU)n0߼]yT7ZԹy+jTI.NL&7!Xi:e,>na&edv( WXi`.a|Wxg=a:'L ʣ>0nQfʙq")Ň&thDgDCz=S2TXO݈xe @R*3y=(#}$PW[τ%&%S!F6Y0D]%3̼4C AE)zsmǼD _XF9!}Sgby޾%C9V6|ڽrI&՗BU)8hQW];zM-)\UB11F\" z.O*7K:ZDO)' 4#rd7V)h%Vxv kSAS87-sT=(ԞXђ(t<"G #A҇$TYrgP`r8šx. Ll>N2bG!x,T:9l\d ](iYH ~!\k)IJ2>8ǿu.yp$rx! {tA$: nєmzU6֬gv6<O+ش*v-@sCU<{7Uo27=Pw$D[&/|SFI7\0تLDP=ݻTmY#Y,DOn7i9SqLofΣ*zk`eFY185K\E|uO* O͉^VE1~, fbōڟ> D/c<"Ș,1E]UIA-u[~[Hd0YmepAͭ(de@6{w${k_ ޅ8UO֊g7 pEu ݎOP2Xef=ܢWmXx#,Aa:adiyAn#i\jvX`4 qJ# 7@O}wjVR qk&+0cI;}v)&f˜̯I L~]0 'yҎ8ZdDJq ʑ# Qm,s[>]O/NXԟ!2%58\N\[`b6NP%1GdL?kuix)Jjf\ 1h `~1Fځ [ohu%_1Vx3 ;l(z oh2;`H_D"ZUʥg4l!, kĉVPdBzqi*-P"Ͳ_*Jsb,Kk\rR`4GJ3ec=٥{? \VrWzoN=d<󼸴OsV,jUc!oB X5'iZ{FN3^l>* i4s;?}UrB=}A?"NZ8&Oy FDvy_s pÞv[y[7bKFŬ߄O-@}:[?7k/n'SvT;&SnjI)Ev.*՗RIp~JuȄ4.R`$b EْiRbNMֳd6Il,*˪ 8g%bGPEO'yLnp4%G$m#5 ֍͗ LiQD?#'p k 5:sO,yQv.kRYZl ;4+%R~O K]Fh!U)>񔑕P&l|HGxKdzǥ[@HmVD|q,oSsr$ kQ U/r&qs9T_4[g)鳍iu.ٿ>YpMZqk-@?|TVύ.x~ 40~Z ,GN)׭Rq.3N@׍[M;;pJ<>^Oy-UPQz w9<*=Uv:-_awo|2̴)DwΩjTV"LhK d!B|R kP.OTEC Kا5Ԕl7xЂgL ,fν7Nʴע1Y i>ExN<|x adw@Ila)*k4Z}, Lgow `эכP~s1)m{qjzGK='D@#0v(}EBc?IxTuHB&"au1S%(%"!l--oϲ_b~SZX屳a,.pw0i~?{AqScC'h fbhl`txb,zb .VsD>,dr!}* s]rP_!Z)ӇDe;Nh+E<>*VԤ`Өb}W'PO&zNp(t[Kal2;\ [7|}́/G]XdMgySkGژ'Վjsm `ӟ=:c BñJ ;^Nb: I.E "8=KW6>C]H3U{T5GY7 '9ӥƵ/?W>$oo7ֺ)H[:bcd#yPyxT ~R[ zJd1_.cj"\=! sCfT?ŸkIkဒ#a9?čТoo`qp"CAKU 6O+}&==ؠNd .X3 Os&45'1mg4õtS}]FZR9U $VVylJ=[f}RI%,8tKq7)GY}WHxY5sVB ꮬ e*S+Mzac9kUgzQ[_ĜԻ0I F6"˝VoϏ F.hR7QGd4gLBJ1vEɑbm=n9q/ -p@[/ފ PN#1N[N^P:NBk+I=V\EtoCqN31/јP =&u(׊wo0 (nx: ZVyx5]ťiGIAz|6F5|cb(|7i}9_#'oxc b(P7Ү3bPFlXǺ6Bïr77*OWފ<8VHOnߌWdqfRHyJrv;$MLk}(Rk7jq9'.ICewuo&|e|"^'V9Õ$4hXsCMݟ:bN mʝrPJa^=TE͗yǀts3?yxB"C4Nܸ}ЀԹjcpՐ'ƪ jsI]w'EEIi 18KSALD:ZQtKaX,az8ǐ-@]SQQ@ ;y]&C@M1XĚ ~UY7ꙹn3<#(dsJC1 Z"qC%5kzcpWRiO#|-Ь~jGbf,6Z9k(Rҏ?A*qڴ{c% {Ydu& 3D_!1Z)=!{} sQ yPXHV|>Yl⅍S7q|/yxLKp{c+]/C nB8/YLVz@uG Gi.K첤*/k6HC 7{ b#Upax瓣gΫz:mQ$( SU00BYKHH)W,-Bmy ,;Is+=eٳ/OɁ/?4KFF5]$r{HÔ=?XAT~| -ӧ۵^[|f bBV9rv<yGmDyM"97[,&\kc ~x5/keBXF-vHgzBkvLu^edekp;^B$/@W`Z.)HacDu\B~ mvx;)9u=q}citQyyvKaVI&ShY̕|[|֩7FbvoV oV=]FgY1W)hDC(:\P=QԜ \k&"! L^y[6T/hخ WߵUՁE}C.޺GОY=Q3 2.}4HZ$}]36ʨi+6! ,r¹~.6f/A$RunbKگ3htܩ0>okm]f~.֬.ߏ:?Ζ߆Ewm&Si{v(gC=m1u9Cv R;z{zbwh lL2q}晍*&P.nQkchyò2Yԅ'#ZW֕XM WO2sh)ԷҚ: HfwqN>r%Ioȇ Př?]}o/\I P-9h9B@]]#8Hle.VQKs3 ۽Q#5a/1YTUO`+S/=bHJB=[."=iTJU?O%%ɦb 8d;' 'TsV8n.tym|T4^)(2'1Bۓ\P>-: X4xIgPdhS%%΁I:-;ނOzYZ= "ˎ*op7tQУKԧ,Ux&b~ zqf6oUQaJ*VnmeN ȎnyLӅA"W*oe y+4tp,#VSUrV OJSX xhjqEw) LR|u=CAZ00HC2T~"iH!Ƭ{`%0<= Ȟ"@ZuX[w2UY;0O\)`uR+aXRVo9nA8JBp~DxrųQ`5R}ʖ&ǣ+U4$#{T}NP2| 6IHTl׹wi;FD-Y?i!._CL* YW$i-_Ly_\k!oQ (I|ei*@S$LJK*ܱ~GAIW8h'wb8Wtۚz_Ga!|[@괠0ɋf'>̖Ƞ򞷕P鄒< :)@f'GSv0)W?=g/2%BnakZO 4*/N["ɲ&$53lй`SeE YqG6'BBc#l0z%r_|ӽDw(ixr,2/-F;]$,x ,?\%T CNCߏ9,; 7lq6ѵ7l7?D; @0mQv**f 425-x$2[%`#4pv>95YswiiO|+@RCG X^c#?!JM{)mgV~Jj@yȟ ," C>|# B=8jk4fvURWŠΊ0<0agE2S,ҺRa>ŵkh|HAg!ݗ .ke*|;°AzHd7?2|VϿ";dlfK ʼ[O X[e'i;p߫'\LB*j7 82?Gxh2oF_X7%M(lO0AN$븀?fSup|No'.dpǗ!U^%m>[t\%1zI<5`,|FZ]2 Ze1)̊%.쀆,+s ݺV\{@4F!h*9~2qL&#>h%O(~LLxpH3B s9}UMXסʿKp؄j)-PN^vxO&ywJ=?~GbOTfC`uQQp {̼ZiF꞉sxhK9s{͟t~5W1wj1lXXdu[듯2wV?[z k sbgLՊXyqESDRaǖcI"j%o @-AdtL&zDRwqU;g (EQ57, _*" 3q5K=[[; (QlPP귨 fHf ٟQ`.6ܻj;΍3zm<s݊?j"YTvm|$it\{$H`*+6MgPN&:rjL[k1/BwY*Zd)EULЏURN|QOr2k٘vp;mG_j O-D+b6S𧼋py{ѯʿ)}(uFOJqS U;v~DNӈE:{[GbZ&GRR-ֵ ]eB *!{ɻԡdLYљm|E{xfJtUk^ׁ14?=&eҼsN;D/3=K;=7L^; Z9KfD`5% +4&M -RĊSp֤IXO|BQRqUQ~V۬I`Yy"U8)ˤgF̤$~C)͉GQpհ´TB1~UPC cS|j9[̡^B/eO &*yzYu#SjфWҾ b=6r)*\΄KW%bZCh"qwysxr={fKv(`@6N[*\ .!K5MW662_I&,nFvV`vW;ES'ImB>^ˤL-/ EnZ4Cpa譵[|ЧzY={5~>9%O6J;?tsw^tEzi fԙ%η 2;Ǝvtɲ-qJ:\Vw sbճFc.JNv&R?]i%O-}NdX(Ys7 W}rz]k\@leVJ-, lJHzG=D(zn@5ӗx9t*M@l:R9'S?t~ʣ22{$Yog8íb>OKS`z}H ̾)59r~`ī.i'gg&C=4p7{8fP7]ߠca6&O,ka,n2q7'Scoɸ" (kIԑB҈08Ԟm&4i2wW=ӣہ,pM6G c%v]j?E+v}}d@fBFRm.<,]TE=3Gxwxy5|}/m{Ivsa؊X!R#nߎu1]0G%SGVnK#J+S%d/#X΍;v>&2jj_6k5xQ=PnB[fO4a.ˁ+b!w2;Ӻ;$"]4ԽKˎAy®9Huf2Y\ v?*qHߋz p;8o0L9)۹ngz#rm<p!H@Z)\"_1L/G7#9twrƾ4v%ӏxtl=wG+FA&-i]wt.^~FNu߲Ҏa]~<\oA-]沿iI*j4v_랻!䩵dA,ņayS1WiVcz=w|E{$R7ZN! dX__e;J&Ų2WkTܵё !U6ؐA>2iA%)MN󦑧w~?07(BfDimx__FqAD/HWKߊ=Z~eM%E^hT\ q`"4E f I_27=B҅RUy=?0Q6tes+zoYPhiR酕% m7~8SltbnLt7J5$y&C9F fz~Ƒ2},'>Js3 2:N,-vNE'-~& ;3yj';CcG M^Όxؙ'i&pҴͫ=(;X֦{`*}+jF'GEƕbs=P < H` p"_kJ%WD6UǻMJ|70Yn_I$nի)xhs ?@W%XyU`0^kyxJ+N_>"G`/Ɍ055sk@4!w? XS'xǿ'ʱ݆٥}Pg_ :{ߝ=$0XQ,Xn^HŇRxq]vP(26/Sap}RRHTMJ1Eq]#L|xdҵ \&Xqw, *Rw}:MisV1'ZS(h8U}vK:GM:+Au?ڇd͵o˧YF'TP0z'מ abhH%f\*ˋ/=X71ga1W+q&J4H)edO4&} 8cE@[].u2> l_ℸD -v'QdM!l{jG-q'W.p"n/-> [&gۋECP `/AsI*vKd^0Ϸsݰg aѩm0b jK"F G326VnkZa砜64Z|o*ɺCS+ +v\Yt K[(Y i ]3*aHD?>z]mDP$&ӍN$mD&0GqއMʾF n@F\k$;1rWEo+"e."4r͢#]Em/ Yslc0xRPߍEd#k Kcxƣe&S,qPV`K."Oʿf^i'{ sx)B2󁕜 8ڱHͥFM㨐$l*RMnd/U Kuߙs;"IimJ^zϥɯGDE.m5!^3K5\^CP!i}+|cHw8 j@pdbkK%贶p#8 k Op<1%X64ic[J/aW*sGaY,)YTO9'vm}]M\'koNj3wF@!&-]Mʇ O9,.NwKD wpޛb'@Mmasem) $˳EowWh [jNT_6A啑W~%V!/dh~*wˑr  [pSm&:08 lրzDDCYM'F g:wvKl9リdnx 7@%߂T7|G'ƣ[O(v|?#J*tKok-]0'|5Hih!M.BHa"Lp؈¹xZ9U2ae-yy+xLַLJ=2kGכ.za &},'aJmMӺgP*2 X;X'y]ӻA!Oh u_nBBI#ZN +kjE,(CA1j'EԾ Л; @Aor,Gw/uI㿗bW(N,=kQvf,_b&lˇ#Õala\=-h -fFgBA%hc+fR󔬵~:R#J@:@,m=-_ًKmvUj޻c~tD7&=@|%|^"߾ x]EqI12p9wm_`pEƦ4<*J\ȢPlYDG [՜[eXDH'+FgPe'R W/u < j']\f j]חɃ+V8 2U 3c&J1L@Xمq=::TT0 *MOHyL_gju~PPtHFý[a(A{c{3~_:]u0'zn@x2t 4TGLpG{MbC وeL}5?*d:-_}٥K=kOT Lz&ͨt!JnA=~ΙZ"u/YzPw;gUSʯq*>4q~wCؘsŅzͻ`vFq{>7EUcI /vVe 2.8y,lm7h|WylHϤjVdRǯhΈJCHeio ||lQƐV|h ض4|,h}iĻ<vםJn}ڑ2٨뵿ϊ5lbG0ꙺgc̦pڕa uiAHwn4sB Y+7Y^2Rg]- ڄ֖〯jaXߧ~Iҫx4s&nJ"3n4UD#lüq`{'noEGuNYyYh>X_2OP 峤n DDSk \YqsK͟W"RL׊soyu~a =r8 pjOlP(97 jg=b*?68N3rqU]LΟdD{TPٝ/r@spa(*aM!Zb ֠Fl@&>KWk]S @k8adp}ա|(N ;2I] f_+ ە~toy!=ڝZZxC6lŅgPQ &*9k5<4ׯo J-ɖQ||%'\TIz|p{/C3[l_NJ#vlPis&)c 3ꢿg ¯Wyw S@57"v' fp Z[l7hd{cJ5\: i'G 5yW. [(W%= pV_HaQ';w}Ne#@t5)׹NI9#a0Fs2vHG뫏ƒGeI.E9k_[RHK%6DD\Gj,SU=}mJС Py  ;~欎*އ"51z~ x`Pk;UnEˌVHY2/`J" 6o=$ J=X=q| "\Z!{|{0@fv@LzvXkIEqnێit Ē9V惸KBDNzœU3ںǰHk?E/:;䗫V%B582ˉɖT>qҌ 9.$OڱKQIoDOd 'VS%m8N\qSj\**;XO<#bwZ3'Z19c!!n(}DrT%.PQWÛ-()SzL`q6gH0m B@~D + qП&-.dbjX۽hI&nr4i*0䥽0w8a9@bL#Tֹ\y )&7}_|JGud m1XW(X|<'mkX(caszZ_rf. ܜ ?evU=wZ8]Ն^]]iSȨΦ^R(P<#<dzuzMwSZG ?TYbesKB`bHiQt<ņfse{IJE3*!68n6*T=\}m4[ xXm=ij+o{/uނ7;+NZ-Oe.vlX=F3c$'0g^tZEsf R룠?eZxz L>ƿ&Qbok}o}}uVjY>qWt!FR4k}Ŋ KץTA2,aIʭoh$;q,nHmqCF{6]ܸΑ͞4O}*M)z.T3KùiΊV^/ >Liq!@(OCM5@rd% F豯G%F U€$1KhD^mkdV-?ipdov u/m^g+il[Smk4K5PĞ{{8C KE'tQQ*d-z˴" zWvOD>\wm;Ou <{)w k!lM{͕rNf;%wYQ{(lN`$~,qGUL̥hH}û~X+joT9E3)m"Jx]hg>,*#'"fqH1 ԙ.kS[74=:nkWn7ǜk?3ʠ:l0vəCCůA:+(5T$.7 z&Md  έ"UUe@kyʸ`D#GvF,[ލ57\p\*ye-Fe ڴ亡pq|i?q"5*E(6d!c:`q4<8Ci/MfKAa(/> vQ0y ~Hi_ f_kv`DYgMWani^Jkp˦޸:|lߜwՠ)1D{udDT8Q$3!wH[}E@NKMawm3TG!xV>-oB~i$--|yb?w /"0ZeqMr#:^/=P%-dKCy:>;]"ރ} q_*d7LE ;{7˰0*D>+-¦ ȴj`q>#q){GoO5ۮR9ɞ],ѻ#muT_ݰv/TF5ZJKE I6 Fb PysV1>0[MtsVS/>8exp#ş{@'Q_Y+daAG4m|nnH#_\[ +UtK2! 7Dq03m|AZ报O(`,;oȰpGЂMRp %t>~;d:%yKsqyU=a &RI\j%qPƶ֋2ԢE>R5rkQec 73?Y{7heB'jOsӕTHo" y7UKfa^ /?ߓ&X7 i{7Y& ㄰`+e]+/53ul65]$¥Y$M/C!$/+>+fP9<7ؖ$YmQX8FGg6KFqo3GA~z̝n :e1:";k8(WܸfF2-~WPᚃ&{%M. VL?T<DH!Fc;vpAUA3R6qwխKvg?9{Ia))T QH;En>m 3JpFyyJv:Hd&[Ͼp(CNfͅqMcsCڂi\J;G&P-FaYon!t_^iCZt *g)F@^'_6fRh}Bhn!s@Y=,]=1?h f|Ki@?R9[j d82!yKKⲿS(9Q- x(a6Pcf$e>[5c oŤ,W8IW{cpO@24W*ʠq ìde@YU|:$'ZVɇ !5i"Brnp%A$ۨM[bbbw?SKF&>61!i/ tYiFYCC:-'Gm"djńVPFXECp^k<#. ͓nh4$⸔*]ڲsm \LXKZ g4aڵBD/o#]dāPJ_*Sa[!BTF))UV|9/IvFK @z&2AI7ji[;g3 p7}:f`]G29#BKP`3>zˀ(Peh!\@sm=Mv2b|,^Cv2g",g>^R$XM*5ˊBV#2+qwұ ]ᅪ%IxϓF⭮tj;fAog* 7:(I}޶ڽ;#L b&, |n/h=n(ߴ7Vb)*\Ui[j&<8i2ѫ29Z#$BR4dQ xts?i,JH*?C<'+O6N1;d<l&8h0Yl d9\uxwJ#fa.q90 2D#d=ld#8̪9# O`Vf,`9yF+괣n`$P GO`-3G6sx3-խY;JI'#VsJA`K翻H4UD/F *V1UG`7/#vBzkU?!l%z٬&L>G3&HI&j{y0U|#4:`HQ / =H~A0HKN%ɦN }1 1M.~X5^/ 5$SROHfy 6~Zä)[;)np&&Z FFu?Qe̲O*r.6%+jXRi))Bv(wJ5EFQ:F L N.ߞ7?_bw dS%#Zn8zQ=ɅeD䖒kTu\3p5V`nGj<ۺh𠙘yM kCSW_RHgHT/N:m $:n΀k9d4f;y|uQ6m%pQJ<K뀣)T謶B\ tƇ[ްu%UM4oV$k}Id^4a5H?Sw3Yu)nI YU5Diq0o&CiYKMΚ~Siڲ[_f +Zl)569y.)W+֏"Њ-z]!hn[Tok $ޫ[S`˝ s:HrR2Qt[ q K+9qў;ͭl.78l =p(/a5Ĩ_ц˓Mv–Oϼ$dXrPvM8U?1y#vPg8|^WIwNv/;Ӯh~ -fH 3x 1+DM;ܤk4Tk+BZƒߴo{ۣLWݣjyt!XObuOXo0,IMu~Ԃ4- ^V,xfI nQ^8M=X ]*8F-qcwg{75B,)hqkĆ"D݈(^8焁#6ptڝD,,VOM$lMEǝ7ڞDHazɒ*g5{CɁ,S63ΔJdU˞_V=hviDwR!R,F}9)Fz;nqh cDRPc4D=DG?3к{ e$SS>GN2G#{XW9Z~bdgǩ0d88=RLm1 t9fT6P(^EΏACoӟv!^%]6Ђ!C-2vp;am!w3Kt0XGjjkž!3~j >2A܋ruY?giջ7K[gÓ)E|U |!{8fyŢ%;Y0m6'jܯk翷zy?\D-Tx{ ]s\oSWWmWj* ^0JB9A{"=T-EG_ RP"@2]fdTyά<;t`#g[^4S)oV@m*Ka-ϴӽeAh͇k^PG,ƎҰÁHe<)i4[oī> / *poUC_.68RG-)f_[c%ػK* @Al".ٛݹRy) LRʰ{?i% -޾^7 %=4$@Uz&NXF3;r⇈3K!Fro*v]ֶkLL 5 DZwYY3|Ir60)ڡ8"#qF8Tx !f8aâ4.>yqcS 4Ocx4 %B3ː'n)|a FZp=mZ N׮(A0շF &z EGh>-_oة~xiXnx4]V%e-+CsJ-(fmZ}mѠc7ODȥș!_"Rɟ~_ؠ#8;g0cNx f%dL`c6N?^ϼ,b:c!^F:($zf?$(—~vtbƜ5|dZ`z[.V(4+ᯧEAVӂ좼؄qQq(/cP'AlڹF).?7Z"So"$H犣0Vta=;w1vt4r}7;3Fc' ǔ<*B cĂK5Ch_j#UdƋ2˺IkWߞZQ8L£>\wNHij'/Wb|n7<S֮{ gI'/M/D9;€Zvg)C&-%!lTA}g?1AX뉋_0X5VFVDFu!gd @2jl:7$ov|,dȀtyC=$)Oc?ozo.qT~HR.Ău  *xџ&"1VLo2 xiuE$GAʃ#G7Cߢ )8h(|VGA±m^zP#??m޻ 9uu=ĕ!`y6a t k$!#ׁ?dIHJ`3FXZc+V}i{9' 6%vB8=^g^r<`sAB۷lղ2i 5E7,L)'6F3rFmK`{uv-UxUzVxJޟ8X]PŖit:,N ҟ!SkmY|~>C70 Zyyld'(lig:6!.Q_=i8zgc!$@s8+|HLԶ`1@{_)ORuTeFgP 5Xsa8mzLP# DyZ)3OHg3V+Ìd_Ybˬ *oZ% } 67OKf*u($UfRM~=!DYOV.GF6J7/뤋fc{v'`:Hmin\ 5V/Ǔ"Y[†/pL}i.ۧs.;6.i(HřK"Nڬ1}/l9Nr8ߑqzS(ۻEk| tmЃ3wc@%Q7l4K8RB?yh2i9ޘoZF7/:몖^ zQUo{&g ^Qor%D>zy|%OͰs#K*-)Y &zDI,(ϕ QfВn|P] ( 7X5ו sG]{ɀDCxhfWT\>/o̗ s} Ak3j5)H-oA°v ̩7d8N۝42;af-V+t郿3-(rBw`+؝a(h <@Y@ľ*C<KvX(4ۥzeG1@V4 |ÌE^W 0'i͈Z㧭GUHy6M-~YVN_ #d}Wj6yB iB uyCE^wT. h.fn $Ĕ X2z[#¸.&9rFH]rP)g$:3˾&6/ZdXmZ q@D)epj1ulӪv ݨ &A]E_bvr5ܪ@B#ԍɣp<̭[@ $E뒥n! 7}NW|u[gP/UC4WnPTAu[J+=$- r(w[H?6_*':696\P9%y4mO1'K5jR5)GNxk»."=s}Q@X]ί tpAb"1lz)$2ܑ3@ϋ| gxmZ̲ǠWONQY٫i6V A2Ue.޺ˌ ۙnW)8Ƚn??u@XΈd'AU5#OJ3\ufJJA{cu^|}9X4?,CZm3kvq`'B__~պAnTKsOaFucq;rR:ݕ7.8K: U^G[엖!m:V|7F s\­4> %~xXmc^r b_̘QtlչJnUm <~!ê3f% B|G6tcdXrO(8DCy2FÇ\6*z꯺u ˑ\XZ1c<exʥe:U#u|FP GtD[ =Qk1VUP6!{&?wvp4Vja cނj{ǧ]x=0(^>m+PBdՠBa5hБ[wܶ`V~ !g ҐW]ϸ$2x;V)&LE0I=Cۧ{Oq4.&|lΦMW-uMknO{k, ;swE38 ]MO[1> 3pÏ#"j~<ݎwWyP/O.֩ HKE} "q0>.xDzNHO90`v)@㾱8;xDO ɵ4zĦAw^0/`X>x[wȤ%LT7ssy0qGؑy1:at]EOU`Lō@Y*J3Ŀɒ8_U/mnX s+ɔhf<u}9Ve 2oC:+PN!*퇈 #vVt$ 3?ޢQ|zK{a`,=TݕƜm@nNYOԍU#(zF188v0Z]KDCdzVynfP8fg=τv=瞩 9ˁ-b>#C{b+hᒃH\ 'j}|jf=o?eIg4p]颁-L\D^캆CD锳pH xU? 1JНT8YXB ۧa;iL홏6|LFn w޿a:eӹmhPE庲.|-2P+Y"(*ϽȰZn'΢E[7k>;)?@J .2ޔ{|iB؁kT:#u 8l'Pqţg(^EhspPr SOLJ81N4.Ȥ?oEv!_fH-PkL3mW90<_61܌~c9|q)OBW "d&.;pD8xw~H N#hPl{l]D0]A% TUI;3&cNF kO vv{hBsVz6y!ee.)=uug5ʛ8S58;Jv.@~pz+mePN7& '~HNW81!-+VY5ziS.JqA"qq|I-ՈZDLNfnWc+Oy(!Id&&8j7]U&5xlT:P XsH'Y?ʉ>߶#ʼ`ݡJTj3܅ݛhâb _TN^P̣}fy k= I U5SZ߬fɨ=IeNn$yk"#Dv䩉S= 3Tc:tf!'Ls> "( Ƃ"Gft.k\d& 죜Kkaq/;Rc"0r`ʖU,OWk28o*%{P[̽k KCM &5aaem650k r/l@' &pQ0%IOv䍙Ɉ=ZĐHA̹BQ_]v ¬|[ЭN:vVPK lXO"e/>vq0yQ-+( '5Xf1A<:[$eBMIZ%npZ$|· D&wrUڊsvאD/|t1 U5bReYǁ|MIa+K:AʍA}na(a料/F2{ DlʗrM=ڦج0S,֩t0-2&^>y %<5-4;'qZ$u * 7*iKq6Hs@va-GS\_#E;̨3PꝉoOKUI"(vgNTO#\s3ƻ#&;5#GTGm*RF:#֑!5Kޮ="ʁV'xo6v'FWfu"F(+6YI1M|5Q)Pu[[LP /rГ$J#]ސ#m̺XT|¼iG=Ka:lNnˍ ]ڮU!XP<O%ԮcqIQ\i[Čsٴ5|V,(Bզ,HU=h@I)6hov/D9VѤZBKU ԔC+,cӻ%cRdu3V]8z`c ur?|P!2s@uT5+|s,$@k~{/Gu|"OAp\Q `w!͸DOTKӭVpziX;O*Nh)ƍ^+`ο[ ֙꜖T2_l,@j[ϱu@:IsŊMN(C4Vc# S"Z0H9 !@Lw8&hfxpSI 3X5g4@YD,7×ʄ,hfހ+$Υgp1T7(3q5iĀu6 (C@V&J{O< pq)K\jl=gOCGMbv%Ja?2`, y/QN'> ̅9;;麿GmB"0-vaxnrTw_i3Y=JjI6L̩ =!oK[ey.T'hci6neW.4J˷QZ%qt7k̋E'K?镟9D"qi%`A`w7l|!7렆g6ͳ~.17f T6uyQ ߩ^EF , $> Tlr@L lQÚ!zry]_".j<2,+B8L-B٥ 7$q~j%5W?muD꓎q6dYgTbYت"$wlJY>&K'EdU{0vќ- Xo֎]ugٍ0b+)a٣f.m _f>ظYrXjj $d¯UlB|~6O~,{KU7mY^5ΚMMӪ>OD6T}VSfO"^ƫ`N<..۬ `ёgŘSa2o6`s'o(+={2sA?"aC@[ YR!YKW[JC%(LF"6]Lz?z3p>d_tŶV9U'=7ET3ظSI(*ÙEDT$8/ێڑT.XAm]."M  Zu/ߛp1_8IKFؾ&7u(fQőO_dOqnJ#E\̮@);z=ώF4g.{-#_q~NMwRtftr%&}zlsye=_gu\ NⳌT^^o6$=YV3ol+[-rm t0njیlujoSe1Gھ6C15<~*ƞS^sdԈoYIod ޑƆVɎZF:8kqxîؔ=SoJ}NOLŢ*:BpO={B@*8emT!.bHB|uדiPi =v>0|RdLq ǐ˃§?`u.,ݏ2(KODԓ1&YqGYS( AtܦjfC3^~/+Mr!Rz(z2.]Fw/3d X3>??~&)ڏ[F:p9uWN8Yb&' Uvwca1 ^s}-k ]Pji a?LӚ9 i{g x"P4^[' 'FmwJ3ܭ|J1G #- ]2 êWdiDclUfF ?I#*zIZs@ >P_R[a8 @FI\^7=P0BUk]ő'ftġMA ZXM1R]^GC5xc<"Y8;HT*\Ǡ8:SP&9кi.t)*fi0@ׂAY9O5Ŕ?lYSA q?gI/4}#_SU ȓLS?>,<[#r ,tfKǁTs9ahel.My7Of;Fqw|ga.K$a-_!WO\{yl wY4p/X  ` Ϟ ~T'@\EֹΫƣ޵gpp܎nB_ڤ`D\`iG4!y«Ifʭg#,]mAsWRЗ8P\fV s.4ru4DjJȂԍ%v&uԴ7o2=i\r<.%ߟ$Al g!Lk&Β$bc  Bv, oWְ 07ʒAIu՚8nOV@ోk4u3&o\Z~Nւ̴JnɆLb25gpe,? {j+}LprQ*tDE؂pM;TnnOvR[z?7! |@a<||ħp1%cty0)4z Zg>l 0|L$l]ݥ< 6[mp-}gTPWxV3^A|;\출;yq"Bx# q/_*b0Yww//vWT{@ UxϏ$갡eMHˈpL9-!gnA'TR!iɀ".;A|NrOgeyqMdf#j|VE|CrnԄ.f(Ͼ9Pv/m+ ?#,hy5k;%Uh DaIvF;!e5 G9UpgP7˶}If,0-a"FR?8XNM3)!K Ҧ_ʰlи: hvy2?wDx J#1E_X,4҆ћ Z< 2=ČDD(A0xQ4{ܣhL(uU4 QM޺Ā"F`b,ь7*ԫ囌zfEka2:/V8iHjp(T~z0ᎌP.}+OjΔ"β*%{W/r:!T m:,CӾRES:=P}%*k`$y>69T]ұ8-ɶ|ֽRZx 0۹:WP}nT$uTM"+&5牼 i8#ejjv%~C@g8K1pxg S= Xǵr̃զA o{U{Hz3iZftwAin&@ƕ|5}{h4b3W%xb+'I`Sqb'Ua]CY"PReZG9$Vσzӵ}NlnZp ܷwe<,8jS#e݅&% uzM3P^%P /LBwc0򉕞ƾCGqt,xUuB:M9H.zN;N܀>),{HU^`sˤzM݌$֭I(|WI7l]Sdv2u$aPׇ]lARy)hioVIKR'fWS aY%CfQL@2/=OAՂƲҫ1AFS'wQZ k=[XW``weB㐵<֜oGe 0+zjS~֭`|_3sz!$vN bhJ[yKkawTd:9irgҲ|$!sߓk$_TǑ~sϗKԗ$8WgD<mj,.+?x~4>VW_[lBri/DV+5Cdz.[asR%Ps;p $!j!2Mr8PfǕxH_t=$UDUxU[o|`qw. K¯V/<WMݎvR t:jE~_,7DJ7F+Àt~^&ip1S ~xo앚 b&k6 dcfcݿ˄ړR/{" x.c/gb3@ssܟLUr>bʆW8XXQ#*#fv>ֶHE|#ں'oT\~sJ(hU+h<"$,;4PO64ܝ IH7#+!C:|rB[aBgE[5zjbtf5N1gk>ݲbmn7QEDz0+݋#cn_+e6MnBR H "'y˱m#VWWsmEϧgRu-;tp=iq.zAKXkP+M׵'ƌR*'j`ˀ0^ꋘ|E_Y|$s^6ɂ wR2ʶ[BF}Jb2}ձ{#y.'FfԌɿs450+# ZuZ w&$ ?;Dq0֟;;b0l| 췗od;gKRDx?q eZj.bTSC^Am.;5l )%cz 遀_?庁h!Cp _cVc!cX9^ ߎO.)Vex]G6!z(4=AI3JwL~ 䳐b^7ՓZ(]ܰ~cb(V *Kw<~B鳼dyuzf f1zk\:JXfR *\S <\3zоOI IFD6jA;&`ApuW7!AN\J-4.j[g]݅SgMPwq P&2\:m'I:"Fb N1w"$?}TUiy 9\eKa}KR!Nr̰ٗfN ;701xk>pwt}gL,d5 U(Ae`v[X3+&̴ ৭O;$m"?}ZB]kX} ϛ?MMj3UVh9e 6l>G~էcً{<3͠vjFB P:ZIQΡ#Pl"6]t]1& ]N2~Q`!3!{l7R|?ûb 2#\px~)ǿt52ڗ .,z;Z{}xr~5tN"SXMJٳjI!J7v2qm83E+^@no\D]'N_jZK R6JIw4H*@+To>^6%>TWGl@= CLoiA;>4E9iP (iC1QSZ1|(\ kٗ'4@9ھо*z(,ni$P$ .V"aƺU,12TMORv/KVGsafDAW{xKϹL̒$;L`Y7-%|I 7:umma2pW%K :Rk iQe) tZ!t:3okE\a 蘃kGs cT͇2#9*!eo#`\WݕXl<=aThG]^ۤA"F|X0cӎ)2AX`G{ہ@*eR_( I0pVDlum+<~B[OKb5)O9LQzd^*Io1 :iHG(d!@nZ {C|9;c~_8ieSj4wUpS?!+U2e-qۑY"x#ouv5e[?)bbC=jDVFzJ*HQdnrzGvgI3m̀b- x o{9ؕHE^֩Jgƌp|V@Qo.ae?C~/onU\} ӴCt`UV{s /:DAR''gDku5;:}9sXڳ=Qq9 O'$.1?{NO+!a:G慓 á[%s#*Jtp= -14yǃ4:b>G(BU|!LRKqC?-H]*EdrҤbתҌ7J7at5}g9XYm+9h\Q4dE4yw {9IJtJx ʮi,)ӥ,r!.Lv4F ly4Ͳ.CNe4L֑ i;+[ H Y| 0}.~]sqG58GB4]zJXPyl> &sW9|lFC`eq<~&-]< :<ؖw@M5E> 7{~!X\o\?Cd{ƍ(O)bjo)RI}+B17z`N'T S͎@FeEӥhQ>dZ>W{`<:@fKtnA=/eJMEY CE|$Yǫ4nIT12)ɨfC. T=@YyY¾Ai'NCrgg5b\j_ .tcZ{0Ŕ ȽR3t ZĘwHHgppc]t8Y>*kM.Hd*O5-#,Z?PLyŭu>¶%lR׾Q92O#r )5dS0a**.y2i:\.ϖb],0 szImd^wWvھMkK= bMk<7*t'nZPȖ,^.R1H 1Y#Gvumm`_4sB7 :5'ІS:&F]xџXTG 265uEKnpϧh`9`3f; X5zW@tw{(FJ Nu|Qֳir8f੩5q#C^h*pn_Sؑ|C^8t/&HNwػ,xBlԟRs\v缌왆}dP ƶOju;8ª)]B=~WXV7Ϯ ~wGSs-=`*N#u̥-88W6Xj( Hѱp̷Kj4"3p đZC{2gטbC1@iS `%W8AKٷfb,Nx^TbH%qQ'řd'2eha}#|b̮U bfڈ^X[[>X蛼GW9OHEYGEN6(pxaL;yHn}J7ړXe<_-V?Oav]#}q1mDXzz?wo#e)JU7}$68r@6IrCY~gAɠޤnҔ_gB_>H9r%(!JT9'`X)"Cڈҳ9#>jw>q=8(/J .[xՉY=i ^ |D' @5$onۏon߰q A3BUs˱3t@ܚ~ qЏ%aJ2iiJsęǢn&7 `31QAl,IfAxx7Ops#&iVP}1l/q-7J"MdLK3p Z Ջ.6MDx.XC B;g즖x[Q5i8M c8R+X':k<iI up4O.l M2kIr PTQ%Gy[s"u]ydJs7M˯+of_znMnIS@AeLYG8.RUo$XER>00Qt ;ʿ|Ǚ^dPQHYbփ6vBe=VZU zUzI/Lҕ(!_,eP_T[;U @ƣeaOBhʂY=lLv NzEMz4|;D=u &!^I C 2TFmȢ -XL.ݚqr[mTˉY;p@쒡/0nm%t5[[n~J/GTtE7sK 3bm`69 2t[ Kj.Jȷf%啋9qҺ6d 7[Mv=M:W04 mNEyc_g1 `4h|U†ZP4y>+1#oe|N|n{=Fw`dJ#6!~xSs' ],D?+"4ёCt%\ڔZ[`9߂afq ֐2Pp!!v48Gp^@|a_HHXzi& S贬0A2T5DUIQNS"NF7CxPq[;=Qy̕D0YuI';8 *us8ڽK-3{DAO#˃n^Q]hb0y ؅xKZCĐ =BD@𯊌-vl Fubia%X~_Ĵ3WƈޞYP֢ C7>"llp+z6|= N(\y pOTamLVsܽa&_PJ2mIN֟/5DQφ:o#ܶ [c[ܫON[JP٩C}qpJ6;z^ eoϚr&"%r17,L[gMZg QЭ2!"-69q0/")`PcҰ6rI͍o( `u!;\1D21$oB#YiOC-o40^=Fsz(jUO'2eSFF P,SS R "?(rɆmLRraoO!R/><`=jt-;IuqbRE bB| XÚ/3*K1({4ju\IPD<-7 _8u@"nBr}0`$,"q! .Ҍvݬ⛳I$O_jOVKfS%x3X;m>/# tsrzDHe+вq3nDg2h|lΈF/ΏQ9 8ԗ_{@! `}WZr-l 2sP6.su;ZG}Ou,ʊdO1O)n9W^:UVIL}Ckѭps>*TN#dW'h]AVBmEo7Ʌ:e%=FD`{i7ś߰  RK[: O[EDE:ÿ ,58OZ8n:U#3J^>dF7BLdX[T"-ehMWV"XW:MS3"#oW oMnqՆaZ/F٦RJ00a* VbQll8)Pg&0~L>{`ifሾk>1l c&ȍ3G8L:󶘇6gJNTx{] _^5.0G_O;W*D \D_W盘Ļŏcvs&=7n06t&MhM/O7:y*h pJ u9֥7M}J5UB$KM?MN#qlH1J-tY8L.$d4$(d z7/iDzظFԳU d@Fw_;/e|#QQ4L,0;jzZ{ʾ:CӸ1'PNF+Y Y%n/kKA3Q#55kn[+ 3[/v51ea( ronvsyu:2T{Td).G53*s(e|QMNSV !i\w(VlT FDk pN6 1gDP}.3BQ% 2HtɏQ|HtnwrC, [`v{Pw= ݢ^(JgLepf۬Zfۧ\RG(9I[( '&]e+,&Y)ssVO'1ZWc񸞨9$X1)@7Î_*FiFX5(s D5fr%׍!H.hYHl>6P1 ?GܿU*d-vBhZ8'8FNoONc lJ&I.CҥQ+w=}\7Kȝ--'");Ew۱B dRymӮ5Xdj&j_*eY` Zt(x^uHVe Y;+|@]h+ βv`Dy/ m5J-Ơ@ӱ-,Y"#sQO3G1<#u/62, F輪Xy|&˺rvv&/y,rK] yB_h0 ¼ .KNs6ԔsfYNF} )Ri%' 7`pt%򂞁e&??;\,&JVyfpoNH(s[a*刃Cko$P"5hmjPo DZp6X2=Cϗk#/p)ig2_lJyoU}y)+SD2:~. ~= C2/>_"o\U”I'3AʊV:%fWEQyXHw板JOԗçf' B+D1R)̨Ca 5سT+ 'A%gy*b&@/h,|ԉV"@Jl}e36 N?n"/c ;rG0ڙ.ikcvS).=m7OqZX c׉;abfY=D7&ksH5p SZ鷭SskI+O2`[TK?؞qJ:i Rf)[U/{anp_)w=;.`bK2Ԏ*Eu## ,AjI4C#9`f%a@V\EM3gǩH6DmC(fO,WRa۶o4&ÎxxoXq."N(dݧLC jρ]Qi֞'s#-hOJqMXOsNV=c f&*.f,G}\f&ɎlSF G5/vT0'5r+Linh0o # 6 yVwq`UӈIF蚡^hQ d? }Xh毃ģšz6俵&s%V kkL-úZA>yB6Z,qv~﷘waƜr_а0ȟaԞ2:=WXgA AZ9fI_ޏ՛cDXv_Ec9SFa4HI"6_uYxЎVruT1FtiBbOJpDDэ-NAdeM_T;ȳ簐S{In.; l.D$\iD8 62`+PX)Γ+Gޖp.B9%ID^e8YxbCWV iۤi_kx _9cS|2>]= rаa++N/v=dO!Kc}sﴁ  Q ;`ڎ\$I7Z1K(feP{ u/^uT=4/2`pxT~> dRW?:1!fAi BޏQb)be;D=Nؕ/tJzA!'E.x9^e"j3p[i?/x)̐VGI⭷xnIt:=sGR:e2D24\aļ)K2d\'$=p-w#Kzh)O?:+1HR]QȠ75RS[ :S QJ pWhoYK*}y j7 2ϐ܆6 @]s5Auύ8]搗ˀ*Mkx h ތfGQD/te!}be/)rx-zuGl|ZG/V*FyqS/E:(9W^[ Ndp`\}y76 7-a{:>?vQe)j;ax T:MoA{,ۻH~SFYJJ0TOEַ[_75.::uY+DzqҚV%/F{wRxwO:(q {uз[D5SȘ{ǐ&tW w^0X3`x9)3k i[~9}cawp^{zqGY0z6 +Hth np<< [HgzJ^a6c-I!## ͪ<߸AYKs\7"w㵓wFw^,V(+QtwpGp+Ci;{T̲8 !,v^/5FD${.,&3] q¯HI%-˜/瀀XK_5+WKЍƠ.%:(q M'd2FL-H|Ǣ,^ҽ3&0:AS>88W2U=,i ̢t {d=x[, o[>|WSZBĽ%V1sw0,O:^@!*Ѫ|6[Z0ITiB.'NvXÏ7L,!zبl-o$#2cd_BߊAv>ji.|UHP[A@oH/T^ 1*]._DgM1XUl>zw;rq(֭P[0[)L4XB/}]<3Y! :n&2DD-C,Ǒ,|$U7=;)z~٪YmArIgif~akfK^$KBD!|pcxeaD$H8{zd&OcUǞ:Lg2v ݛ_+GR5 3ΰ/̀NC] Yw.`t>O־_vy2E}uEG(d2ő"_Y6ʔv?SsLI>Bbww4Y%)]/&`Y)GLfQv"ByNžŨyZƩ͉?cҋſeE*BԱd` aw \[YscPل%:Z>a* x6!?{!s6kwYx\X"ڪ1gY%FFf{t5PêtƳ<3c7Eo1J^̜^]އ<D0TIeA{l~~ ]=Xc嫇 kXY<[8 k[%S X/,b]mT㻷knZcˑ&Fg}7kxv!]"o4T8Â*\{l'!W$*L к6]NnW1;_ :iӮl2ۡ_@ԑ8c~-qO \~bo ,4ukt++pjt2z۵Rq րqY-t5 ڙk+hsfm1~q D,=n #r)år/h'T4Mp/yc.)0/?F6d)b5]xK) }O"p#+!@WrޚA@*[{$#^.Sd{²Z#I?01uBM#ҡ]wQwՌ&W̪C+ثvU j)QbD$!a_lT'񿛲 >9zz+\=ɉmm:Khj&k4T^p.l*'^e*u28Y&7nȲP1tFg*rHX񩹴sW롇T[ 7H{޼mV!$bcmh\~unf-A~K="pu1DR ԉk.-Wy'(9LeʛZosb)0H7GB}xd/} %B~GMnPؒX*\ϳǣ̒Cv>UEBE*B-kbBy+>O^]/{U ޵ NTWJ Ngٗcs[տu,84JOkhܩ80̐Љ4B͘Hw,nf‘OD^Z|_z>QQ_}*ʪ]Xd/xo# )?h^kιi n\lS3ӬKA)Mc@N4fXwRt|0]±mӡ$>tQpu~N"(Qn ;8Ŭb/5L1hQ ;>=D.?[P:g\jb4KdQl->Zgې@(LJX}ܘdz9؄Wv96Ԇh9JXiP |͇Y5ǓC媑ސB*yel2;;ArAߨi,_6W^q!G_#T LP-< K,i;0`;%G/]EQ[5 /ʞ_vvoȶM1.n-1&V- @^K& $ڰ1:i N*їm4{п!Dh+閹-ܬ?:NjYP_<%k-t|9.Y6{ *c \G|iwx|p]uERS[mرԮvE#Z :."wJj+Ɍ-i?Vs4*wpv$Cv2ԭoY._Uy># b{y/uYMrE>?TD^;\ f+Zߦ2RKlWBT(r>`ثOOf K߮9+/H%~/% g2%yYjY WĺlQC-5ҟ}eI_ Dѩgȅ Cԁd-WI~Kh" ^V*=P xy Ȫ!b+OI%m=N6jȃt4媪;WI#`e uEa tF?LΆ@ӐN@`nB5-sjV@1|P([6覄~7 SYᫌ庮ݣqBͯRH+1X>S>/ōUC@|w*ê2T0%h Xb{ωJN +%\&%^wk?3DUe]Գ].9{;0R o٣g@oDv30#yZLW18z:M0a~>@;\۫=WD*=Y` =h7}R{z%㰣\-c0 #uQ,})L-z>7eyzH$@H;FHrhpz8~.c 9;_|u{ιU_tkṪZCs eA]KI:3^j6a> wXXsT3( i>vSJi ]»M ќz MϭŲG?¸~yzKk(NƝ?SC -W_ 6@2VIgY(3R!<D /Ω&rS4y@~!k5Pƞc?qMI%XS pSGT9_1]^e}6R3|O^41?!j@饹 )pn܋ڂ{cfyYDsN,_g{㥗_LZWߋ;*#Q Ic,mR^}oi\^Io.Tnevp$x8wvZ5t22q4j޿Wr\o tr _֠q/A(̥B7nXQ5|~s.8)t30Fkq#Eb;ڢjjZFWl)?ֿ4LG:XԤ@7 ="MlIg?ƸVQZYh`JX_z[8CXuf)4p=0wJ)imS(|đM=4)+"o2rK3޲`.dBR@ pklu>&Ovy%͗4=u7~|M-`=:p% dքIŬQ$N-4.o'.:8|0FCwMۘхmdZř%yCF[A_EHQ dם,2"8]doID#^nՔyc VFQ4̟g>4M`j*bf8A5ի :<4gg?{p 󨂚0.Qg! !Vp[›[ϣ4 hFC|(Ǥܚ6SHMcS-g͔|1ք?Y_ *7GpD|ua9.dOfkE>ΫH[s H~F@p^4 le}Hiډ;`/ fQW/9Jl#,U 48I h'EvNږP'et:Jw+|\';|Qva;CF񦿄/2G! * 7(hR] U9du b?:=F$wHt $ Lt:r##J0[i <%XDܦ޸4{c\97aRQ%Y3_xw䌕 E =u'JBjP߻`RU`PUVu^p-BnI`!pKF1ѲCkıD ɂs:-]0UQ aBj,kzﮣĸk?w N􂡞*U[L;Dilծ0d{SZ1[ $r $q)a.q/b-bc,tJ-C:^2;8e)@DRapc)d tNP6c#Ǒu{)rء~z݉ ;Rz|bP!6B#ɕoz"/Yd˃$"ڰwL%+Xx :&F.=pee^Z#Nlp bݾ1"},0 O_;DpqR_Qd^3(oK4b cҜ-So3t9:FC}+#0K [AphQ..,ȕMc *SUnABz:!BN~: ]P_.'niח`Hn|^YA*5* 5;t[XSa> nц$ aј&FW6jױ'%q6@RqQIj{ 9'{F{2g[Ɩ Go?*{c ! 6y10)qx3^֘C(2pT o9 :HLPs e|18G?ֶ[mXϒ16fCW;:W O|b* b_/.Gr"9K5gI~xixMLbLMVaBܷ搣Vx^ܨr4/b"{_63>Q=Ek\8kN2nk{{i$ǺviG47o,8.x֌0Z b)lOMX֟&62jϯ_E}5o.s@jn$)zÎp}@魟l}s^ӟHN~$K^]JfgTZfX\ j.JG*C<8b;TMԲ% ( dmb*(J&ôZMC 1Zz_^z05R麫!<;P\]zWz1#:W m ƵH<̀R3%/:<'&_H.r8 I[a>C byAVcX@Iȇ4^TyDXכ{:4evJXky>Դ7'%9:/e{tq$ !Br{$$Eg|2G{gY_VwFvъwЧbqYj wPqem=U؆Ď'B%9yH1\0'Lbx{`OkEӔ|`Rl\ 8ꍽ[sY + `w٫ݛcSv6lSsuW L-b,!a=ۼ62zTgar1$E;Է)7*+Ox`vyW4UiJvm+E:u6Ei%ֻ L]ܗO@nf%vVv;πծ:kKӂsJݓ2rdU,E.)ԯ j5`5VFW2I&ſijpvB b|Z&ט G)]thu JG<ް8+-^<sŵbPO ߳_/fQs# Jwe1,j|W[Vo!g)%YyMNo|X';c.rlQ:2'p~i$y?" -w]85O){"smDFl^ lUKAWN}x\ 4rw~y ETKcc1Rˆ"f `u6ºr&oqdM6|I^sk#ssN~f Y<|Wmi|c^{QX]Ml*aUt _K/XԾ8#_p!+U!:O-( bVBJp[bj/az$O5Kfs +[>;d ;s vF a5{]z)U)}ieckFP|<<`1C)Xw*vR^#xF: 9ON&h+`y}6e[ K@HD̺\6BZѕ "|db=oˊSPk ffLjz)XTT%U)"z4-ϯNIO )|փ&Y9(s|C0t5n$p xjq-u p!, :- \ %{|R^2w]'TTX(JWjQamz20@1jDFQ+6Л|"p\2 @8uϬ[@=_r1:y3)zp5i-8sH[Vl1 q唓 cퟣ&2Ld<,Xz$z(FA QSq@mҍqn鈴JNU(#_;U\y2k 1Gf sDGWI6{pʨ!̈́PCa|ZF+>cV1/\t}1I4;bTyd4q\,[aWc+-uO¯Ly}F Ǖ(EƤEߕHn`B$qL'; WM&9qIzԷ"X.E]%}26)>gm`|KqK꟬@^ \""4l'4x_{^Q"KEwv7P?Q8 AV7RiɈqH"d (ݧA(C8B vx(/6+] ") l>"[l*qW)k "iqdhq;UEmDHZ Pp]f[_JE}Z9m ;`jgIf:ijc97ݐuw;]Gd x: -P5ڹ]I&t&zš,%`>K<1[gf|V:IiձƯ@?3 NP}Z' KBt׳eK֟se%fP=ᑏ*"$^wFEkT_ə 2 ؖu'Nq'x Y􂏫|w!/JߠCk{݌mwew TP4}\JjtJ4LWI ݝkqvudNoqA8aGꀿ`vپ2SXӝ̰uXѭڜw8}5wVXYLh$"w 89`[!2=/󶱪\Z +X8k7-'䔯t'JOV3+ H '1Ipx:2;=PU !hY'0ǖJ{BJ^nO=w/%i#[ӳ, +ڪ1X;[]M\!sFm9A輕|܁w{,TA =-#ӔzCO"_]b. )MvR͞$aꮋ;YNXa]mW_cTB愁ܨ z_n1Jf<:Wjф?[6L{^Ҋpت/_fo|5k@z5=zp)*,Ov| 0 "ƛ;bOV0Č@A(L?l۳He8)L"OMs4 9MmP,PXFyV"Q-E E<;2}A]<@3ofiH B5,a0lŰފIKhL탇C>8\9>DmgǭL|s`tg8gJw~t\L_X Cb+BZ]Ll]sj5d릹vsжiU M@iUIۼ|,Og,I\?5$^i|gͅ9ޮP,QA꾗 I9 ) F`=o1ӻV^pĺt^-%(m:u~Q^3`5g$Qz+(?r%(ޯIL- S*~sۓI彩5RCM ϗ|9?Pr f >pcQCъ &қfD!$i=!%uÑWq@ԝ,`*gWГM1"SNc߹˿AT7yߙH Fgտ4^r2RK$lN?QU|qUa /P:>t$"s/c)ɗA7%!ϊ@,<:e*^IU$4q!x)kЦ =8&ޖ׼=M$]9/nt^KqRxsP$[p磰n&ő"OUQ;(Uܠ=L)B$=ixnwr3e6һJ isiH>:/˾ ݰ(-S%躅؎f7&ɿ*}t|5$ՃJкJ{A)*5fl[xE W- }+ҫ܌ɔ0cWӀRdU#]f|@h6P~pqweLtX󴏙bes}IqXYi fZA0ܧjPqsNJm@h{z*Tux6c7_֣&S잌ztLWa + [+* 8sUܿ,XAQj :r8j"3؄vug/ЩZ]D1cg3 K!IuDy*2#1Rۓ/YH{+SH¤d%#t+$j[/u*'dՁ.EuߨJ `.G'sܔ c|yܿ~ҝ8ʱնgX䠲/W kZr:n&pLY`ApH_S)!b#h`Awpͷv|MzAR:2L/p [ PǍ 5Z_6vp3G\cD-krËtdY9nCëd~8hYO>$-%h`URt1I{ZetZ*O FƇJP]:}46:l\+\̺=gd*/}1d0D+^Vr㐮),M/, (nzg ̶+긦՗W,^5U^(x(P&2?:I4.NWOP"Z쮘죞BaЄ Tz(;ȴ5u&0u4I^]4+Bϸ݊х sR1:<úkw=$m:A 5A\Ań4b4AݻG_|4'~NQIM`Ю'>ad?S A6`!z]b CL!5 Vd.fRQKLa+wh Hf H1AÅ|kBԭ2?X97TO# OF&wȟ,ۘ<5 70Yp4fo{Tb=() VDzo'8]IFpP﷪ǰBErk]ӗre5ͅzσ C޹y'r $uX1"QYd?(4)^J)fȒt$(\4uznUөw{@C#B"X dy$oYf;-%go:!H,uD:9;8~mAb{ g-v0 hK>͖Sk Ć .Vrt3Dw]@m1#quH75}fhȸ4dI:?4YGb2M26쿴". #~9ONC`^L#I'Qٞۇm_}QC&w`K`;z~$l9)7ל&UY3o`9c&›X^a27z,FR,Ka=,\W#fs1* By\mtƎiĬiSMJ≔p:y7\ERXbCm`NW#g(AdV"hwi=/vwmbyQE9GLPǼTY>۸ܲTA}oo)3VBGىWk(߳;.R=8)cl_H9ӀEP>uSZ;P+;eQ:WO,0b q_h:@Х4 >%T~L VD[9TEۆUzcu^a- ]2i,Ѻ5!Og7BWE@3N |=W&q;@tj3`("!Y_\N[Š`v${wݿqrEHgΌrlNK#K$?e@_S650*N挭dBӘyE#D:qz,HOxJ BJD,!'t=RΣ栌 @'jV3o&mD 5Va˿x)R0$k3|ۜim*gg13UŞ!rZ&G. tpx#?pbgAgh6C'|$e+4l|1r)Z9}лqKBLe~߱o{3 (}d{0& V=y}`(E@+fR$2XÎ;4¥Lۄ8TJwfx1:DA6l/̖H(Ͱl7g’Rч,?GC>p,tM0B VnD/=alh!zKIyG_uaSG^7jKgqZ"r4g 0}b N<rVћ 3A[i,1Wnwp+c2%UM4J{c-=zOVfzw" _o2Gu-,t뎚@[ ofճhC/ FZ[h77.g 9KDܧpăZx#AlmAeq&yB?k~$q"g]KCyyLpBZi`s Ktq&K2!և]7j9Ԃ1}]NHU΍SAYbЭdz|+Ps /@:Bռ=n⿥%P H' " v-3%ќgϱ-z]C7KAF@Zdīv7φFp|DN> *RCt: Z/ c+ .f1 *<\14B]i2A:*90X6?3ED,,R~5J܏MJFX jFoVd4ѯοr2Ufsȧ.M g&!ɉ"7#== 7~+_RMMx>RQ?Yhjfe;z{=%j%kHc8 hDcM:ƒAC'6}l6|'AԻ*d-Di)e*zZSТ Տ>2[jo][2c{l&ݹƮ& |gs\I8S] 1({.A%0^I4ejkGSkjj DBG/j^N~ˆlF}ba[MyoFݼ]C['[Xw hO\Nܻӽ>jG^n,`BUJ&P" 7—շS`[>}'S<i4%8ĜN7wa,X_Q(Cؠ 8=v٨5 V|AtGQo29 6YwT3[<l9dDn8H}0"Nkg.b& dn]vKɠӌOLVRp6w'>GrMlD)ヶw4 vh~lD>`G0j돋AqCx>otÎuŦfy Jԣz&byjtUhyh25U1U3퇪Բ:csv_WZUV8Yn*P!Ҟ ςq4sC`C[noZ<+ ӘqNb"2ao!/f\8yT`ã*a/E%I?^Z#9\B}zRѭ qVe#Hj#;SF5-.K͔x r5?)N|F|48Xgs^ّP"[ϥr**2Pu`~zr.?U&O<l5_0-(-Ǻa3Y^r[z5_2!j!?¹?2pPȲ]0M5٥Uu Iu6'Dk`AȞ\ 9YCy2{Nn&%A)e{FdnM؟C0iV'$1ߪ}2O2=U:!j,wPe;?~(o DfnfE{vM\S~Zz8ܡ-U3,7mzMyx7Q?2v %K#O T9k6H|~ rZfqC~g?[ؤY[as k\՟眒m H2:ZDnv~69.ݿԿAtLB;d֬8(L6[8ճt`j0=v€zpB C(>ll#K[qY祤5XȉIHSj@_R^3ך"D]i'f.O.D7b|bDuj3"iIwrA* W:+ ߼MZHL7]2w17!ը\Yk.XGJh/l&rgxRc;%;@L5ھcE 6 q[`F4^iz|/G/ChİtSi)Tz{w<2jME2hjH`gԇ~zs6znn\,tMC‡b.Gx 7:^J|ze thdd:KZ+JH8_U'zpwGhD6SR_uߕz%QJ6{e߾RodaV[m.̶#*K B!yo![gPqHϝ㫰=#;?r }I9tZY(d/ֿZ<-i tH?w{`dXrqQm=ng]kS͇//BH3:tH8pIӵ넞8ـ>Vl_JM 291gLP)]t$Љy|Obځxv<^K/8ApnƉb5[@9Efr[L" >AӈRCƐdZ'N8Κ>w#eiË8Ik[g]0'?]gR!mR^_' n7qd)m/pwp:H {yB(='MhnD#Tqz)֮6(M:z::Ȓ$TZ@ Vh##gnYuݖzN iА~ifŶ!]f(?&kɳ~Izyҳ\{.Gq 7XU^kgFIj}cV}?*7 |+.P.8t ~ϫ#ll%ЭGveFp =zQSdV{btB 0T^\;L2SIvs%[~ي~7 "w!܁Jh= Kx߁ÁX? =mS9c\RHE2ARC[1%;uA+ߋ8nb +{Wt\[P8Ze>Oԛ7ҾȾލO53Hp,*ǬogbcVEᷫ*YzCE ҕsRqD7'WcFT X {BL5 55jjܝ֮$й0̙Qݒ9"iҍ%eʛXw6Pz^~~1к9|HCJi+|YiG}"!݆%ϴZ8}]݅gSݓ(\ٕZ$JېKv ׵ۺEn3"9zDk̔RHl (>zwWbc읩T KOt2A)B03pv9s)'C{-yr #+蹍_ROO:y>[<(p(j?>D@p|lx|",9wITqt{֫I.\8}78)M8!L2gKX~Z%Y=,x"sxpc|>8|o8#zzrBG`uaDFQXF 6vJ<+H+cuV'}ElڡgN!L4K:2keX1mO-uۏZ|tC|F:x*;7KS1L_&#bK:1'߾D(e4!{uN]t ;VyeSh a޵ h} 0Nnw%Ԝc SoV)Neβc/J ٣wֈ\{&蔌d7;,ra7BSC3J&zq+ަ1`o≯jM{a2̸{#_0G|2?^'HÂDڠ2XkфTx<@AYQ˺{ƈGyic1^ ⢮Ap3D97ư4/P 5y>bq9wzd(9kx obga d6wCRU;WηU2&RG}q: k |K) qw4s2ĺsՈnrrHֳ̓t-ƞ8Yh h{=jrB5Pav< ۆ=l5"pZ#Euompzh\C?z8Xmrg ;) ?U +zjƟkhgr7EH'-KTWN5i'nwz*A"wV_u $GtO)'V%DW *:>!Rk#S*ꮽk< PmED~[ S KDzWOĺQ]Wx3OG;z{aөYϓti(aw)aj`ruCՎps,1ʹG%G,ȳ"k")"aC"F[}ڟ__U*[Pf;׌.m?<-|lbVychIO`Ub+Opg|T,m1QKBA߮|;_؆Ü{`|{Z=)0QN1\5<Uyq&u3WEs\nr]b{ zU {XjV il[i*SHK=G#w:Z U!DO'Ϝ/-!}7XbM_}~\o3 Zy L̺>)qG,b_7Q]Ԛ5)ÂEw)x5^ʀhӷx>H{/ ݖls^k$" ]EWQ.>%-V> GgUZWq/DlƚzA.XKj*ejwpVkk2[P&~HgɁ УC҅~?nHЉ5p`< -Y'N cx#6;RM[ImLC끓LH]49#Ԉ+HG(m4" rکBMy> vQ:1fգYnbM9f P̘u9_=@9 u_MU- [a?Y!ݨV|]Q0ʉBhOLOezz`w|T"Wq8]YJ(u(j:ٱ*󯊌~]r̃w%(T@ Eaގ* /cOP rNVsX2ƎVL#;& tGlcƮ?P2ӈ$f:W2(4ُhdV8褟Q'EX50 вPѻC L( N|l~~rin|cc^ل#mѯ2^Vp%v"L&h,i7scdB4i2E[x)T^,P{Mu83xS ; A]V)LҿdX 6R!E`]2%t[gTmŏ3VU$Xr\`+ 09H2_ VCler>3,UQ*f%kHU hs7B6)_PſYr3 )Աu \4]O Z:3&7u,^F eSUy8-y|b/P+*lxRx=4OH<6b >  g[2(1"ל1`+h,\xykqj9o]=2!_k: |D7"A({qQAUsKs@9`;ۭE.VAtZ1ZQC^ؔA5 (;-?p%-%aHkٷv/s8,m #LS,Vat(XiHE1x I+cu1*@ WtM$0Ʒ͉kw|i]iyMټa&kTx,w!iم 4ƻC1kegB}jm͟pҐnS{(O!㓖՗3 CQ58j^Z%4_Ac_ hr)eP@رҚ/E 'ˎ cYX4sL^Qa 0;R7Ue# a{9OXjY>{q]>#&(VX}R + 6Nr y_?$n~f?--,TfN^5hOdnPu7 :]@jlJƊ#M\>iY@?RjbJxX7$ a4MK)pYn?,E2±)RXsmø~R2SkVcF4uI njvj[PI enPqf=3.Ž*y>`I,ct]um0n$a9JpEXKm;aj1CLhJ:L]Ij51{}L}tq~H aql;1lp(IjDRAafL8 IU-% *Ǝ8RO Ngv=YH`TxTW6Xgx"Tϑhc3s(SfKc?id2o+QS#X3?$̔pR@F9b bS\F!תWn._l%Mп gT|po oSŁ)qH4ݸrA1V&ACPltU&"lFb5 JWuC#~\-t3SaZi ]@F0PHX݊LIOLчlȅ!n"^{Xٿg7ɅS#߬oIApz t(K*[KfOǐy^9Ŧ`moIAW!.Fߊ! '+c7w 5e&87SZ p3_.198fqdtB!zUI@PƔn{Ǚ۾0bB*ja]-s]GLC2. y"<_ZX>'efW\2V t}!HҐ6.l7 |/+!ɣ_C2uby$*M!{cbO3H殄22oۓq;! Ҡ#ClQ ^ #Sv#>Wr~܋?1Ĝup.X~ڼ1 jUN=6E!h[myXyz -ɉ= wDp!!ikO,Qĩ<xn;kmxpskݥ#N$RHΚ|`'H:Y"M.#~bhQ0%Uڎ<*h%Gh_fgAɷõt/Z l12cPN};?aZvԗqH˨D _z^Sp~_rw΀ҌGxjb& cFd9U˾aShƽJTd#5hl/mji9d{OJ3+B5H%=Q~UKfV [_>N3Eq9osrU9ЁI:%VFc:ώOij)AmɃobQLi]@ܒ^ֽ]AP SM\eݤX 'uQuC1օY| -dR(JW$ Yn:&9k>5oxɆQxpfq {nmҼwN@ND}.H+oǺeرr1.ͺșccHaї_Tlv+WJcbv, 'W ɓQ}9IF[d$hT򘆘xӳ5N _Ym 6l,AǾ푂ulhyBmN2Vf 3d)Pt`t)v{QE1]^Zgciƛq99,og%^ sg\S&< [~H q۬SOzv?b)dž#WB>92 ňz/~m0hͶ^=ХAvVAc³ޯS]tlym ѽ r }l`݇y*Xmr1ѭ@џ0kDL: I1*k9sVEY m\[S@(jmMQDJ-H0T6pl̟&^񔦲#hUTvl+U$ӭM} ,+Y :hMg*)D9LuP9?@Ÿg4GDz<렅( ~N ~Bž%v6;t]q<=mVW?&܅ fH2/d[Mvv{ }tl>5W9k'k;aЭ<_!SxspR;"N@?ֺ3ԳߋD8!c˸08| _lA&N8Yvt 9`WYuUUU&RA)C:5"10- vWcZzi(J]if;{ w`ڝBЁ gBp %/gbЋDt{Pk5׼Qƽ@R~o7}*-K]ǻ|~5?2Zt-{ʧ]bqb94 (Sed7S鄎{BF+-1JJ!KE/-~rew(\kd̤Z2{X5=#ǙH^qM=Gl"!ic"LƠb!+ ams 'ĥ#lI !K=wZmaMV( k#Ph%rkry|+Ik!L(v?zܼՔ5?tz Eų4`X?7qL)6d aK'혜i,nU#U fk5ΧZ` *d>(UuĈ*Wi&o졺 Ux$t :@UeIZ*voV!b bS4R;b )ӈKyFmă&_7n }TxN22b/ē fi%HSUA0en* ?A(߅%wHujW}bfȚpx)r$pn9ƱN-ni܁s-/kje ЛD8`pT`;HBKw'hv.6đP{t !lSF}rw_]U5Ҹr/iP#+4g:D8aB9`r#FM`6!FȌd=)cEK4l~<Yˈ8*1B}kN1߼qgGfuXe ˋPK^eeؤ+-=8Rn4Çj([yrW J I 8n1mJD2Nt˖.w5+晊A))5VAK%E- Ś;?ۆUO -ͲWMrmk?j4^T\w@gď+gM"EPGx.(ud+R%";v0+ u)<9=!R+-@7`$*Qa܌ՌS ([*kveE~\U]Sz/YYvtӱ-?|uшj$o WQ_& eCf̗44ON}qn- e"mrv ea)("pnxQZ3t]Y9+=jP]!PQ5+Qn#qP?V\UxZ(2:3dN_oY2X  CޡaoknVӕl:aPY#Dv݇P5ؤYuc>-7m)eDSȳ{,(fIwZB!K"Nm~!J 8@L #O眃>\/|iO<\}g #İܞ0eW^Gч0,ri$߽)UuMW]Zd^W (y66BD[$; q&Iqm*xM~rP3a999U8ٙ:zN۫8!Gxk @4쩸8 ߨj)J)I25;11neǬ䏺IVR\Ynk(ȇ q{gհWjܭMUOTCN b@ T._.M zP?y1%>Z7e[Ghݢfc9I8u6ʐkqNU<Ƿh2(a= ,Țʝj= zVEH9у+kBHV XǼw3Ļ5ccqrP[.}>gǃ"q|kT82͜I=9|]B؜v/Lgܩ}݃t6lYUmϖvt)$8t8>\;:u r.Q4.i=^Q0;w1gm܃XʅP篬B/B~$'Lra;ɷ"Jχ"+|fDLPLPKk3\'Lm!X%=/vP1`Ez:Hz̪\pʕx*8߃ZXr>dڨG . p<e2C (KsS\pȤtfCMp;נnglV'PNmZ ϛV'6{?ٴ85.ט3hk[sPӴ"QNДkd~oJXFXp }Oo XB_eȻLy`I>5ڢZ.=$|80d+S{^CU0 WT^D #-\-^2%0`+!.LZ vC""Q\ DڠL~_uQ@g]. A'c܀)룵?ɴv/t;U`'9I^5[+gl<@UK,5)рM(RnsfXĨ"P)p/>%jw쟈w_W9'\3C,c.7cL"O뭪Ki¿ 3qմRl^PaV U^K1w~N`gJdyZpzqqUiBw-ӽMd\9Po(yd.`MV[D}ion>k`i?-Ĭоw7Ybq bBygtMX@L%e o{3~~/`5fi5Ξ_J$_/,wӝg4,XKb";5#avմ\'i"_C)ATT}RxBYOn,f#0qiOQZv/K,L@G'WD2f반YfͰ>'] 8+9\bRIB*`W`tLRH,ieڝK\$mƯ剫4HRc(xntYmgrJOEeh  h&, <7#6|gxhpC"(zAB%s>"ٛ||GRD*'UChkd﫵rSйeE ,ewPMfhM8:݃; IΚ +QhѰ!>+t}Y^E R`(( e3. "%M- ůs>9 KB^PzwT`!d=ږ7F \/!s~iEӨFq轂)đd0v3~gft6(abFHS'ϐf !\4Lսkn+o`٫ZNbՎc5B{hu7AwDR+czs`X]PKkݐJFq[Pu#R )/O]z a`JW` ;li }λ!EriQ!e3m~>F}5N0*-jeX/V<+d7ʗQl1}Vu^uA} [2- %glȉRs4cɅ~Q{Cq2~?)AOȮzOK\'#%Z|Ip̂%╗"f _+ i@΄%Mc=f!Dp/]6V2jh M\.BB %Xmu%z@rU>urftRG")jӬƜq)chs̿rPȴ-E[:'g0*Tc@LH^YgGg:EMK6=D #$ѵ1p,N$IU D-ܔ 1^{ƨl`HH2Q1_!ˁ0J >\T@S7l8)i_ð^xZ%9S;Ic;%kuc|Nf,B/ MYa.~ WďV BdElͦrѻwaSܿ3( fE ]';l%Ljڂ $ﺷfE.to墅v.۫ #L뀍Gܗ\Wn yp9:g=$_;&VΡ-ANCG ^K]66d"ا,Tjd!N쨈⑩{c-Kf?*v481o_5!`p 89F񺣾?X[mso $_|i;jӣ;K}K(4 $SL(=/qJHL+;AҊ [=b_MV h CQjmi'76^݄w 0@4">WiIl`JpKkUg+-ke♠OzAF"}$VPz7$_&FSmz1VKE},Ajw)Ϙ2p40^ P=*Lզ,[xhM@`3u[at#'n(0o2`͗(黶] HLn=@5Ug.&Ξ!?U {i?1m@0W->" W_eFVoUQa-$!1.Э' R8?y>l `gP0t!8u1 6}lR}+S^RŠp~"YI1TM0q0[GRdMX+Gg5gُxG]+LngUHR<{IrR>_UCBc:V ".<D٧[&]C23lӱ @OZgV(l9룁o4'@,'!=W2iXJ(l*~t[O}o5e3>"ugV*@r|!$Xd& l{rȼvHfhrt:´ŠؽA GSTyc'E\-▵eZ2>W05?~@PAEm)3F$ &XM šHq~[f>v:#f70H5޽Pw9wMmE+𾑫T$":*὏,)[:`_Qb8`z#Jwu59# FhYBt1iI$g''u=3\ M5`bl4̯{QMrvu>dI`a1CqgVمX}KX Lsy!l{0[!}K?l T Oؓ X4YQ嫅-Ԡ  Pu2[2x|*hh+1fT;# Kdւ2R5`:i12<هUphGfg | Ta7gxBk/ FY16VyBӀޝ߾_x: I!P^#bSɒ_A s lbBjw-2duIJg9>9OO]x}G!DSS?˖Mp;2䤄qe|ʂϳs"ǽ!VUAYAL}` (hbuf=n Q;-Wgd>wZg>ˑ~h}0 <+d\|GY}Cv|RfQp2J?WlV P`kX8^`l4;('Q`v0m jYAۢ5lC"ߖ 7P&K;M/a=O>BŘ ZS8r*=d,iaplEE^Zjdm{&YȄ`C:`u;, ,nʱ.8!w٩]u 5Vi. moPk䅻 qB|czդ-V2'*|(asjvC t/n5tEf4;udW]we&9)!en&U;#@=C\: a_(}5^OW> "z<t7j10#iW~4 &H1 ?pЄJGٺo>bߖw29+n L{B6Ld[; 10`, Y\n\W∦d%3娦2r`cZFn}QNJQ4McsiQ#cTr|aXC0}Y&Cl$ud4W-]Jx[7z)\3Tˤ7$u\WwD'#eCIW 1U ؛\{O;u{^k{axYN?#LJU0rw{t}6Cc $||J |شJ'uF5W+yHZBK^$TB9PK&^?' \(]8.fzN;c];g<:SAŒ(RF%*oIE>k ̒ZX+KP+[uԭ+dѹL\NJ8٦JU/@KY)/bO]$WZp =wʢ&VO5X6]NI;G0Rļj!榠M%[E"?ځܕ 7(Pغk\kn/w%SEJvl5T̑ח$G5$~z~R̗=$\^6{vq6X4!6]AR~uO\ih QEnQ K!!?pIf;Lx Bpr#gy4O\,iF=(Wa*H9 'Hp ,ק8ebxGu(}XPgqaX}Pi]ė`>"Qg-qvp=Vv8dQGNF# lbel"HVi8{5ؘfwM$3d(ˆ)vHuMCG3o۴r,?{ }L1F1b,a[ḱ4aV~S?% C0n礷eOWq'-+t%K癴0 z["LQT s.Qݾ}%4%+aMj6?|ݙdD*z ;MDΧCCŐ8Ё` J2>8un;@iËOCl)kmgwJO;O{*a3 Iv-tKo<|gcQoKg\ێ*Gas׌/滜d6ŲwCIMXJ>ge^s ?ET&m|ɾ;<Ǻ-B*¸}HJX}!NJߜZѣUxxOHū&p4THfx21^.Ch3QEcjsgxQwk7ZHAn 6EQ(5m!_I"ʅ/IԤEtڄ-$`l_|?+5z}F܊}J `e$) $h'VĄԵ;>%1c> ʟP=Pa1V:gp3ieYBD:_;o"ӗ)gr1"u A<σ㻞DFsrgR}C%b̘xFZNԫHs"Dܷ<$$+Ag.$GM$/._r+BRؤ`2] b;3n;Hyʑ`~s` лdr-{(J~KM[Dg).~ʶL<~~R Χ2h֣鉭s %q9'2XM)H5u6q6c;68.+ǘNqyaEqw}9['Ͼ^ $=xMj D*0_5j:kszmJ[J7})ɈՍE"9T=cQ|| l*S-]PQbg@3@y# prBO<P-eB32+k G팗 , iàQ`zWºPnU޴7㐡D5R^GM8W_oj(lXh={tʑG0{m368㒦 -6fgq ~8U]8%v9 |ݎbPVs?m4>{?~5N˻ ՅdsW m}\4Q_5r><^7sa;*cT|KPﶃ > o6|eQ2ո{^>"wuWq=sFڨ"v`!e}ȶ#p#YOA گiKx y?VC7W3OpqI>&)qȗ1CVӒ;]:s;p+wQRVnxmg=H`Y5:F_';o. { XFݼbњRK"BPVbG)xsMoBQ+K 5'7z#ULh)u}<@@HhO;J0hݵ 1ć.4魵OЦ޳Iyd<=93qAZqLG)pnw)O*Va)SgA6Œz5<#¿s@TܐW;9 w.8r O"vO A&cP06S;ڷo$@l}DrrecD$ִLZ/ŋ{ܜh;n~?'"'W !a?W4`RmhS%5h@T')(-E~lrϣ PQ[5G:rx&%=(" E_fƤ3 N8)\d-C L/PWmQ= ~m# =OI. `394aj:cnf8%Au6J{*r:i۲0OT}N(<' Qѻc #Z#@X7D͟k wv'Zi#|E'xS9Yhۤ8q5{7M;VaG>bw%RiUf;ף /1Mٛj/x1q5# dC3_PޡO@ȰWek`Gf4R+y<9r8ȒvY6+xoڕ}E|f/4z$mu 093H*jKeۖO<9OJKFzL6x/cl:[WTr*D|S;>N@?בzu,,i"* L[KZ; JX{)9e=8j3I{t4f᫁U8 "uw}qoV:~C .&Qa]b ,> Bn/?:4aqBSpmK ,RSd1 %mf.X::N5卦N 9ƚVyAEb3⣴7bLuz9l0xhv%ܲ#?עRQd²{kunEynj?Zf6rMR$57R# AQ":Hx5acFoMPiQ/<0SáZ,R\}>ǖ{3+lu;}4cAY0 \ #[efNtq~sѴ8c۽?adxr-lqסp%^9˽@ LHj+?@@9kg<׺#*W2}y4#cWȳBC*(Ѵ'J ߐ #xy3̌.+@;>}0T D^l(>(B[!i?4ީjmC-5<ƻ%~Qhm[W$:f<GESv$uo>y'M&j00k=qikwD>zn%?)|'s#Hn:Fv]JZrh.a:G(~g'y5Z9eAsElA/fW<ե(P639)bsHhl$3 )5-Xn 1!K!]LNwwad7пW8v5J ͸|·fus},];MxZ8)PѰwg.+<=A@QZǎ=Pɰ@뛭n$[qA9cԽg_(!&(E'Vnc?d"43c+埨7[xz 9ʏShH@F~2k?(-4w$}21- MRэ w_xAK@r!Fb XQ?0^*x<=H|dϦwB@>k[8 GƇpH %@+- 78-]MP!$V]՜jl*ҍkA #JR&#vU/\PЇkR]k{^ wfF&b/"gNAG5ǯ77nRƺKc'U4y]8 U֙D ^l|N.:9H+pxEA5SM d#pO<[.h[WDh#JT̥<ǓcjؒǮ2x C`3{Cj[k߃=3ǥ9Zӫ+ji[Y܎μ蕊eJ[$D*Y&Nah^ w)ƍHa,NW+Ruh2Ƈ);)T|Q{8TsY:}3c"g6&._ c֩< n$v(6P#芍Ռvw)xi~yQ툧{p]w$w֔:ZUJ(RlZ?3+/H? L";єOPeTP} p)hC2Qt~HCn7Go&ц ?cΠ>pfxj`K:,azm2Ϙ \3TG֩X?lg!Ov(Y9QЕOS$,c.jՍ}L/cbՉG'OJ fCDg P=I;YDXQ#1}z8&|^h"RO/T^'ϰЂ *_>/OQ'F=L|OoB|LI[=!pz`^6T[m(0 Hlj׏pᚗC ÍvS4/ ɛ;޶UsH`~(Qejp02n*+:wnѣ.nd8&a76%䤽}[ˑ?|Wt>@s) >B ~ a"LHG9blΥaSyxsxYtZl#ېŖvO 3h$ImVi{~16|yH`^ %xH}"ELޤG%jݟ] ~/Q ږ^Вɨ AljZ#z{kpwUt*Jxw8<Ǐ o֔rx>V1(2Hw݋R{t0nIh&"D)Ul_'o2/34+:1S M}2it/Al$DDauiO[_Sh;YX0zkp ~_HL}R0Z_-l*a4 $ tei w*\[24f cWd,$ b@@܍UZš\k.Xj^n@TŒRz1عY: 3j%wpyPw]mQ *hL90Fjx#(vO LUe5Q&U`o3yUu{@ۿJ@@uf#q2<ߕMb1wB(q99X dW L+}Ah{y2`ߤY] @+nض*~zW|{Ńs<A'BX=<};jD $K=ɐ%#|`\ٲD.SV<ù4_`h`.:$ll ^D+Ҟo9,ި!L@WQg_`s;,u@Q!="} u(b]91y7rU9g*AI-Րԧ'<1 !1D>3)ƲتHLQeQuPEN>j+2.B'Gw//xp*SEfT J6*D}p!Af/|CBH΁ݛIY|L,%YEa)F&+T-d9(fX6_H_ۥi8:x@lKH擠<1GWg>x%:`P'b?g Q @VmLAoJ&SZhݩD=|i ϛP޽C𻒙%B_8t"Wm5NKNb{?^:N 6oMG/:e ꘮;(;<6\ÊY W!.%zߡT-3\"ۃbOьch9N^;[ng#~)|W~ $s=A8Dly@CaO\3UҚz(یM }[)ud$[u%#upe(YoPn*Y8ד898qRZKWy;)Eب#6#?zdg7ŝEL%4],ײD% YTנw_G܀vA%>n`p),U]uT,qR~b z,ќؙԜ^\vᥔ"FPɰ0 ?dvniZdgw*,5jc"1 ^ m9 ]^:jj1YMre-z>+7ztOY!9i%*ժM c⹦q 1)Y`>Q&ic>-3 `ێE5z 0jp2ϧ,pC:~6"n{*q$>~cMb6Ji)gm?/Bza É$z(vLhx!Ʌzy0p% 0uL5H+O(=my[~`k`nGt~p5DSZs 3YZܷCU4W,yK3(i~,~!+sCT2hh5Rek$:Mh[-K SfT~Yo0TX\[FOr5.tU.&Q uD>2w[O4;LF_n?%S[E/8QRϔ^;t;=!qWJI'lMMt $쬬^Hbuue%q1M;QDCIVz:Kj$}z^*q)iicвd w_ˆlч}ބa?epq<b,YlmE|k+P>E\,Bތ}+[V!)6Rb yH^vipkܡ"KD§ǠIfj\xm@g Ԡp¶y$@ [1gk) ^'Ovi_dlar*]KfF ,I +m\G.)bdֻ\k bYGS*6_0h5c<5mUT70kqګȿl"$j+:ߔ"}PE>z~R/mX^e>jf d(^>$5uvȉE"(ݳ%A_ !3AfJZشTT =BV'᪩牜b8B\|XDH^V4Щn@+2DO?]S LjϪ.rcH7~63j ,^AM Z3 YYۘ#Rؼ2F*Hļ$4 I )_\O_"ljfrP^PK޶wk+]p-PL.5blʃw~|;6A10<?܂:LR^rSuiBs=:қ'=ZHm..ݪLS9{pdphUYsxz'H:n9y~0!LqAB1]ʞUϫ>s& e N'`ۅZ#)Z yj%z?:=ySuVZpcgfg0TLǽqFvڢ2J}Q(Hre@Ju.9%_,sdM}ȆGM)@nQ$ VEs!KϽXbLC1N&tk뽻')xN1\]>ndp;l֋=ɲMs,}9bHZ&kDss |O&ەJ:gw9Q%_Xŷ b{Rj݁X1(^iu_c 2J+c;fC#'*Rَ+ɐ7QjY"w߈udY}3$T}Ƹ e,1QrEUsQ+3D]:"uTהrD2A.:aY@0Z<218QֽӧvQ_OJN@mb m(X7sm{!%MGH #Jֆ*Z[ʚ%Eo>$㒫/T҈Ѫ}ڸMۺYTC}]j63q<q6ܱϜPSª1LO֞-IQqcE'/Z|x!>V`gۋhnu@* _RX}sU#sBLEI(rULkb0EtDJA= q]> wXBLDku( f1s&90W)K ZWls!` s̔2%-τa^R'| w`wqW&a JuB]<蛞͸ϥ_c_-} ֫Dq|6*5'{DDP kZ^q|;:bqo z5Fw=gTVZ2WF\ Kgw4 ђeN=md#/B ǦvoHJmZYř[l^q+ !z͗xᾈze r{ :ޢXGh4c[nZ[;J]ã4nQ=;ְiMNf ZRj@3)|ArWk05+(pT=PD QS5p!19lӷb64qDK>)z%<;`m,[s7&w& lQDs, FF7\C)~r8и%NҊ8 G  #tBP aVY1FaY$)XF[K -~!/x. lJ2GI+_|ȱz zy.)?*1* ^ 68PfA#U4JuL{̛6 a$}2sd22.(8d5tnVW?ۑW )=\ &j;r\/;$$>6F7e[FU6q\\sF3411}0x@7q=a2|{_QGӹhՔHG\B0J@E]?G%\Bݙ_ҕ{]2rƮB,RߺezEmv WN? /%`"`>܎ۦ]g$N-wM=utX0LBP,`<2ZζYw%Jאbs+p9NR ы }֍jC U|t( | 4;٪u÷ιV^2aPQ g"nN9*:;Z~ XPnP|.H ҩGFVJϮ•\paQ(_Ե-nRm6D.0DlA. wėU& |,^lS Dz L.}[8v ~#|5C%.Ə$Yͺ>*ǚDå C,rpS)˾N =vv|^!JHy]Jc9wsD)x1aFc {R!; F bЂҀY[٥@u9|9qy{6Pyc/ޒg&GpWKןQ(7p+款آ@ð1Үymk{NdXoP?;"pi޸` ]C.DYP=͏7`tir? b P^nr Hzp* ii./-%qgV]D!<3Sz(pi[ @Ђ@aqk!+K1dw:rA$F$aMVU/!IcPcՅ@@΅Fa}6%tBO2N۔A7 f-J;Qz#&`m?e[0/. ۹7!4)UտQ*oRDڻ@3lPS d_Sޞ3ִC'Pn]+Ovdvʈ(PX5]ٸQR.f֋1y&lI}gUEdi Ǜ̺0XWL N6®_βޕr-T$ @y%U*ګF{fW)pGnXOB{>뉍T'Rf|a28kG#:b "l7+rͭj#]HelDwv\մtSIv )5-Q+&r S]G|%#Hc Z_D_(cV}oG<"FAl0O؎|lo@ []E0 DH_84nPB@ *)ܖZBeG XBgBFm:VK̶(5׫7]zcS~Pj:e7C߰o,{E#^=lO£}e. 8Z nǧIבyc dOMC0")J&ނ==… f jJfOBZgOwcLY9m<}] >+6TcGIUkk4݊WsԵ{!2MԌx Qz)fhؼh%vf0=q8 dG?i҃{uw?H?u Tm7g1a*V\Qz&7X4CYջ])ƌJ^ޤ}΢5qt?d0;)n"C0ŋ L[QUM!|{ !n p?-Ӂ|T4/B}Hn 9*Np<['?@̡/ΦYa=p1i %7ḻ^ڶip6d"7<+I1.U;!/2LjjIpT8RރmqnJϥ6#طLJ1y7 {C^X~O*P-63?gfbrf ^Klz: >h<CE5Jb#=Ulqolwm=Yk xaC&l(>=ۤ`L e|MPjDb!)A︔9 m놼Tv:CM wqkW'~Bx2Dg +4c֐6^<{o:2Xy_˄L.M έ)$kd/"8+eXd>]E=)69՟7%vHʅ+(tю6쇠3ߞmpk|@h%~sckyy8k92Dji,m@ W9ïP(fu7o^lX~ϨPl6.f8٨V Q T[|36 P06DyP o`Z^uB*rJ7 XjVc^BApx>Ozr~/*Ws7!W*ÌmpUj;^.ǻ'}$X)B?f85םr&7&~iG3Yv#m$Pϐ FTc[u'>4Wjf ?&FҢh;q= /:7ŬyYWCt^NsFL:]]ܵިCrxv[hMR[Ǡ@ctCRY|5'LK+zc eNOq~59ݏe=:i}~Tl9F>YwwvϾAsƤ}z3A\ԤO׋} лsVs-)-?gNcWi"T*OZa'ŽK M䡾DX&vd[}Ǟ W#d1[-NcG^#~=O@٣θ-(pq8@\]Z-j?\fX96h{"0Pfòǝ?]^+4R^Mcی~&f֔I4+'^2-z Wa9sv6f7 y:o:NC;6D!hh5| h+OpM2L!Ppxh]֌v<59mM d#6D-l[%V.^` A2÷ =E?=Èb vK#Ӳhc} .c{AaQ Ul=v#`/p7W&/s^*ɸJXBc#2_ٹ} %zyF`&fiw H:N 6F}R€fϫJfXkxCЅMGf!}ˌQj@3*;Q"*V^șR`s߄ed9Ò-q" :8i'iƌ6\pZS]39ZfTqmȖy@\Ӥن4y.V-3 jR^T["l0U"NpVu|,\¿gOb,|Sk[" '>6te Uv Og,NBN+wlp VYl Lӭ9a¾% lW2rF4p"PwULz2ɶy!SE=uowיX)R9?2* P[r)ْN&:]f@7T䳢nFڱL`H:2%3XlO(pb8d1Ǧ>D6%Xx1g?x8&=zGټLjmYb*'-0k֖-P`58Nm1|E[ N"#_9zuCx'l/x!+@yPxOp@p|3qE@2?.⏩vcMx+ZM:pǟ;kcfA@[i]nR=_'UT278vgQvuZʑ`Ċ5nebPAG$O̢:J"Ԛ&i0^.7M Y/D85Jɷ^|$l>9qǽvc;%XY@ K7lV4byiI$F%2Wt`nO߂5q&C7Poú_j Sd+(nUrQ̸Qo }WU z&B*ĸr?dxq޾<<,貢'qXX+l^1UUXg' x35]&/rr(%OC_~F55 CdILB{}.oSK\%h8aM_dYe\H>}c #%OL nN~,H$a[fWȰK>&!9ՋMw'&&toUީ*TkDnV]5!{X>Gs)[S`̂3b@5sA#˳W yq7'@2ïek)@儈 (Dͬ9*ob/H/#Njp#R=? K괷l-%L% 'kWU"`{B9w0_z EZjӀv{{\C'VC4~׷BcB“ @M8P# 4N?vsQ<a|UZV t#0¼UyNLN2_fX*kn'ݱvhK;yõ]{U_QU K( QI%g4z6`ekĢvc_p1=¥U?<ʺF ۻUF.P1<_%CoG55Q#R '+*+ t[yrdZڥbbjI6eU|PPD1u+[oW3 Egb v8xQEA}V^q9MJ_VLococٕUO%exH0M$3=saWz/ΟE vłZ/} m!c)5rV撤:._sB!Vp& kP|F~^b|bΉl^zcJ8h+?l'RZ gB|-=]-&:=ys*A?pK6"kh,Zfɤ%nMi1Z~>+س?*F(KzKURb ;_h޶!~oӒz~'6 4R$FC`(˧C_y)2]`EP#ޟwS(h >Z^.)즕Ф[*U|W"MI`QB~5(aELA((SǷV-Nkz}]哙uaSpq-I ك+|鶈y3m#nkTΆoRPSϗ$ v5H$Z4#Q#}gV%n`Vv:LӲ~s;6`իUH\cA{A)80#2)Bu|@V6_\J6鶈+QU q5Bqh\"˷YFY֤4^yt)J3~D(6CXQ47x=J_DHW-)!=Pr88Sf`1EVS?:tF?>Y膤"fYa.h$-$d\t $3)(qk=-Jh*3E1iְ mbκUg>GDc/ ZY7zBG7Ho2#L;o/8 Ш.8q-/b Y( *dQ0`QycB˥J& gYqzBo,6T 8->%3J(v*3ԙ]PgtHx]m$C3&1}S ;qLj Xnx;C^Z'7"@+$(D0 '<|S7:sToee#d({F |jƧ"]‰']j=ǛM] ja:zj)<>;1SR|\XS x@ =u2f[5l(_'=cWo}pG4㶘ڣ W*qu2Yfn!V@F? H'CGsΕ鋷R[b7 v_ud=9m [ItB6Tx8l,#&5EΏ5ڬLr>&Kgx 4e%WZ5Ȥ6L "I}LĎ c nWBf,c6@9݇Du+[!tPHO֤MPqhھ .*Ռ_V;U$<; ]6ĦNHƅ?1FUn(ȂCX0i 5;ZaC XB' pS[r/q [߾:. AfYĖ ZyMfD?>ڏ>K  $C:H.n0i#pCJ0$6-pq:T[dۼ2icVJ:h) g^Q_RUL;|8vl~m=k^2 #֫iԬo#6<ԨB+g9$ P00old"f+G"orElzg1pwa ֚ٹ`5:/:vՐ9:@䧺u;alSQ> q@b  Q$NՅ*{߮ ddx(Bw!'Șiť](3J|'c{X!Em.,v΀1]JIŲ $ ļ;˞+27;P=ɄgM5\ᘈw ͌~,GL`$S$b$+/tT}sL̽%z~a3g>EX^[ǔ%Q0J."_G/ Y-Zn/²Wfm|Rp$(#!h%"hc՝|{f=!? -| sBSy繌?pZ5m%Cž~}Tz}Q(6I6M?@c|2QzBŢ(cbY,Q._6INL[j+^Pok[wxSp^0s pȍܕѳY/D ʍ'JoMCʅI:l຃Ù Fei%')ŞMdbh]i<-m- 62a{PiCDAFpد8o#k2o4>nQk#W%@o[YidW\Z(tiΝ.Ӵ~VBszݾT s6X>;e'ɯ|@'>A,%r]uQ^K53-pгv07u2*K޹5.JZs] KV'|" ~WUAeTN־zU4rk;ứz:$*M{\eY'=E1Z,+?hjs>0<]?f.ĕGX#w)bۃ@ _8TSb M~)CS@fg [{dbU' [wJȗf28{Xǵ3DLSlFVq|y$TE p,A3&6M/ Бd/UQu֮$4+n" .5='j- Zx ׌^)hY}lBh5t>d?huDkʮ ƅjYݝd+Fz␖ Bc౛v]>aL%TI,+$ T[ oCL @!{ ?9iEP_U#F+A98{V=ud^<#(bҋ/bJ1VgjƷUpVp+^ttwя= JjGb=̔%vMOܥX/21z(R[CK0QlhEqv {zl&gn 5##xkG ;S"y5siIv&ۊjmZ>$,ڹֱhd,.̆ TȌ  ̀\<g(ѕ︈ͧQc-ؽ/U #wE>qI;H ƙj?UMZH!`[ >h@ڀ0rLˊ"I+oM*ӯG+! ˜b4F|yBS'Z&|i6h q-=BwaJ8֘+fκ3h6%g Җ 俍NN0$Ko:yfQ3o[Cx#yK{O,dgk׏hV Z0 `U-0 _63!?AR_Iz5#9WXC8r> ya3o90g,MR̀W4Kl~IZZ;u 'jMB+^\Ni=⋼alB.2ӆԥ_ߌjҽ*a o+>YW$ZҤ Vkzq1/7KX ؾ=03:Q EIPw< tmċ42L * zwG7m^SQ{-/5b4lmQ$*YYxnwn% ٨ݓGkW~ %w4;ҥ/+OðS&6c(lQDVs-#%ZmnsX@DJ{kt 4U^+쳟)7l'1a H m#xpU)(X'fv\OF9^=jcSqPB3jb ?w)"eC9[p+L3ʝrDWb߿**Ǫ%I/_R芎x4НUG,{%l46(Q?ɛSwmnpWKܭ[W3{:ʻ4{ L`,G}M.4krVsWtͰMWy8[|eW:CyI30 Hai{j T}.?9?B]8RJἀ_>. 0x@'Ic-K]$f"CB(#KlA[Q,$B>oѮcWXJyg*8"?0&M @`޾k$о]ИW$ +Hrq a_< _8(_Td !"fAev`,TQܡ!L.`Zp- @G/#mM<  9V3OuNà3'n1q@i)IN44Į渙m_, IS!r3CIjL]5l;Q1dhs,/pmzV18U9/wsK|7mRs$2u_& rک󌐮A\b" WĆ9;65]V'pp৺V$ܗ8a*-:JJJH; YىTW$4kROb CK*2mpTZ,JK]Kz24dN THFP|ih^.ƞ{R# `qQOħm!zbTεtw,^$\E3C2ZqdcYHµ* תm/ϬTŀJۜ=>}aM($öOˤ 1AJwB+΍;j] X_=z8I}?Y:.RKG98xL?8R^a4;Oɝ"cBU$A>8G&pmıq N\_FU5=޵w+ 'lՐ~)IE3ӈv ER 1sKRfrD| L1LcJ$WF@`:]@7OJ;zA8-9g ff37*V:/a҇z,,T.h'Ac`*> F`ɥ*d׺+< 92 WpCnǜSW,y^z@pЈi# UPFp ^6VM=^xK#|apHwopjaؙ^090z?sH 㯌oA)x٢/LF8g!B 򆬝!7Ay7+:QMC4C1g]`YLnL; BkȝaFkrkˡ+Ck X!XKKANy}KWW󍆅%K~i{䃽lGp 7NBN0;^E (QiZi:'(FwufnK6 rꬵؙGG?/okEfy^5ӈ_Tτ_J"LBO'GTWvYU?uˆXX[пbzg4{pG=Lu&,+%NK̀1ѿ}4ĿSk:@\>۶yVc^_#¸ /jXq,#R]6XxVvpY]kϘ|b/ rsCYr*O<ž4oȜyjv8[t;h]&'_!)}w~ uwǁKG'Z}E f\#V̙ ӌ]}},I_#]CXQ8;l]Q\klL׾q>9ۆ}CŠKh0maf֘lf ]X@8:k>T"g3RGta ʡ~?bIL,WN-z_= 74GRѰqΆ^~WDmlۙB>پGd<%-yCaj86gsʔ wt.18K?ا{w5ZH2,7cLXJW:b ݂iY쟸/B(̛ F"N\-d#_[B\6>#?] 樋);;?š/Ѥ@H{fH.%pb0~bBm&A@y]DT]vñ\ 8سܕx_̼N"&U_8pg>2)~D \Q0Hv`;E) ,U.g{G9CɆ9wSdЉdDXI0٣X]#ڛ/DfV1p9gG;l^(Mm-ձ'1i04EOQ+A݊h_9%\ZЈ6A<݈$Fn mUjц.UGUE*! QI,ORPm,UKCIYfO|?*:xG,yEG{]f-j֡@ lh\Gcs۾_$7v#iR#7 Şw?W ]y6aN"X8&o "ZO::p~g"sip,i!#=v-h*!1ۤqհ2tQĤFNXѽzŗSŬCˮtx\8j|1OQ#ޠIr9g=b`ў󥇊QF&jwOмwȫ&yqvl@FgAs 8a!EܝNJEm< UT#᠇Jzx<80+]_{Gn0k0 t ˢXR11SԹD>a}|) i6K^uugbM! 6sZKbO'N6q5:&.T:p]0`7AԸG"p7M=V!}vD?(*+3Q5c@*n>S:`&I CjoN):W QͳQV6~fHEelc |,Ա*?Zx"i$V_Pm_kcEͣP+` /a G fM-qMq ?oVў/duM3z YYN#.ZA-Tn LPrY}XeEc21 '(mXÛ=OmZ%v疮|1K3yx͑wZ1SY4 U?4SN[9C)Q)Z6T.Οa7`E2wg~@|">ӭu:/`G)V&w)FpT Ya;qW]%t."Ħ7s&̏}-—޹4A&!`;Lx ksY?SjE ~=r7^`Q;`SMeid|LMLi)Uj͆OWԎ3pg5eA=\u7b)iR*:4OqR>|#N՛$rS5+#R]w{;N>ʨk7^j/Dh71BavݘoDW´! އT6:'ci~(@{-glcU$YyS'5R ,x+ax\H܀#:ې.%aA38h#NU!I;Å,>z WY{ykG]'Ƙy3\":Sc\;ZղfXx Ns^7#6)E*JkeC޹hl:?eԋ2u|_.pm%ݘ˝yCFC$4p.& ltm GԻ^mXGPѢ7hC?*`T/45SϢ Wj _[c-TGQ|#q )""l]9ZQJZ>o[s,v(usƝlӾHI$$ʖ`tACø=s1 Zu`+wN}u \ʅQ댓cDl%- $ݮd !f0M'_A{!Yr}{w/mFdvrUE "`Bf8ǀ/ vsKz 고h'A_%*BAk<Ĝ/wnF b;⻄2~/pS]᩵”m"8]:2Yk>Ժ$= `֣&aӁF“@}+y HdTmv=H~|- ğUmb^bލ+| A!dA4CA`tm 4Sd}mŗz[G#@ [QQ6k@F&6+>ŀdzL#?ʫ4b&<(SpPl5Ix1:56 L G4$,vCXFR5/~et/GotA xUm%91k( m|wgNxU҅".UB5>ygByQm1t9VuǎJ LJ5w3+ĕj')L|?ÊMLiǏjdAb+y%Ϗ8@Yw#5/9vPQϰ.64pl]Eƫhޏ89ԟ: *skjXs ${Ly! 5 TgËL *m% C&_ŝp%|Ɇ>,9yDQIziҶ P]4kKU@@/{&^f052u%CTYMPۇP\Т"vm}joWSIjij^>jn֊qE$[%:l7 j|5 ~ir4Ul1o$󹴘ӳwy^ұT vPOz~l\ fk3*[ D>k~Ȥ8:Jed8F;# u^4bYSG Y3zH @n²Yhl[}γVG\$E)Xo< Ht827Čl)rc͝@ny]{ Yd#":r3FP5 @Fz)@mqjS'援EccU_ZҌZL( !mfX&;Gۘ2l靴<9QÖLvLD5ĺƐcò=ʉ"({0fPHOn0$A3GFrgb_ ^~э f~h' =bZ,2l"Ӕ*.LYJ nm.ݚZm~9Z3lɆ#@z͎zY">ڠ٥è?Sm;p O,8սbBWFچ">̘Tw2J1?]nmE/+ x,r! "RB D~iH/~ki{<N@+.YEaq n]4_Jz(M"&}DxX|gx#X 7X&fC>߇eȬGDq ܓLQIO )\Ɨ[nAŘjaÍq+L"_i}w?FHkEj)o;@'zUrkܰ/5`Je?ߨREJ90 ׼I176Y@<468y+5xD*tdF wM)/AN:9v*LKBDykSs^ϭ)3|L'Q#O}9#?LM'+/+Ht }[d ^_ MMA}Ծ}ghߔ]AYH:7<{毤ΉeEjKtWuSKZcp`IhMc7! $6͐(ixҍdɪwф=aF_/XYIyIҡ JU\qݯ75JӫVSz-UUpg|Ε|k5|9ZB w5Sua$5 >sbԹ12l4%6J&u6i>Adu]$Co<͹aINshj 4  ƲI:#\lO Rg oŸm J_:J& f-C kΕ/^ќ/2\Ep/RN:G #8LрB@rgijs!#G,玃5mrIKT1e,B$`!uŤ(B8C$Vʚ#WM_HUp.G <4 NN;꽞y0f8.IlM=EO (Dա8GY aw" /G}$+vP˦^: UDʏJ|1TNm}N`#y&vz iDԈ(* Sdh{_ԇSV]")Tv#EJ!GTٻ ՉRIH'6B3.E)Op(*v2mN׋U76q=Kte(RR qEc"x5U=ku 9m܊PWZft6HA:^-4fqP*Yj*PpOQw)ڰtHYĠRB72"d*됌^~4K@0M.e SQP ])QAo[a5^H@PS\ujC"cO- 0 %zn8.yl;Te ;0ea_֫B̷lヿT5 QMo__Vg`1 DD_S 8NtF^žrT0GsԀ#[{#=wAe͔!mdaJ4f2_w @!aRxBE߲.BS4pCl;kh%#@%IUPV|Vl 9HQzy#n">c\[;M,c9BPegky:A`Kw(H|=`A; )We>r)~wk*& VךB/; lg]~)pKv(=.ݺ;w"ĆT ?Z j|uwX}Mo5E!r6Ths5l)+*`챤n2˰Zbo'YߖP:AZ̝zCh ]tPvT}={6 T; ut-ڲ ÿTl z0rP^mRҟ"s~n,GO緄.KCӇNof+ mme>p F &pmg[5E]z?^OCuj@!CG˨NJ S 1VH?$^-q]E!V%3:, ĨXκ/hГqkG. 6 1R{_f{N0vebZҝ8䶩;.gq¿锖p !QNnYY| 7/&Rd)?}:*ŒQ+X g4W(ղ-?cMmϦ0. dׇ3 籭p^X`1NO Q+9yc_V׋@֟ ڵjT00}{,N$ňd bП8c 3)4(=3S୏{=lȍe]8в,PȒTcհpxU*;nEo#_zxOJ}Z2 Fxat$XT)26Ɨ2Od$ڛ\.Msk}*!d9J`VZ#S)ZG (`2s.5&el~R,[3u)铧oF7 .Y{ =c~T^DD00;wwFt%^(6LnU>8o96օ <tUN?AZ >ǙF.|fB38UwbjB)nr_P)kr1t5$x֩F<(զ>HXdg7"d a@@YNK6UU2Njv`̸GClqg"UObz))v꫚EXCI h#%@ԵX`,yQ'_^ &oj5|XE#w7*ޙdH 7ƛXO#m|I:Og(ZUO'!d6XK8 *Ss:ɾU#=tTQĩٓv_p"얦r|}:' A*0u_ꌰlOKHʒ >7~uMUoG1ߔ*Z0&uF^0iP!gFʰR{k,eh ˬ8u: $MX)d5y^ '!7'INd/t]_bb+ SC"%t8ƓTr4w?nc kQR/mOhYACfcI^ʋ!!HAs)K>g'\pbZgiƤx^ygـ[M - 8_#{aPxAB׻a\af&uKߝ$⫇+d8+/Di,URQf`VrT()#K1!:1VZح2Aep*wDĽCp椨궡[e0GI:ҒľGdm^ P'aJ34G(Zza!SOk|hf]}ڍC)Kq{^dѥϒ폓S"Ivˑ:ɴTKHl T;լ dbf!ײ|[ͳ7JW BW]11 F5W3rxjOWBJ>v_A:w{q8ur+:hP *!_Goy^ Y'Q^^];Ȗkg)tI|wFMdzϕ/z2Zcx/JwTQz,ګJO_4s{6fԵ՗k'yJ&{`kºGKYNL>rs#;SCǾoyt?#8B JDJ~_>=LΎvur7΋6xrzK',/ʵC-6۠mbFmr7o\kxmgF @n6m=f3_uѬj*I?(e@ .3kt9}p$ܡcډ`d%DžG=%l;G> 4 Tm'2] \ Zf L{3WS}v/nꔩL0t椂8Y>F9}Q~\]pg] lpR+Scĉ߀: Q#~/5bNQu &{Z>ڴUmQgxY 3cAo^t+\E}} Z·>$.v=~' ]=#@IGs ӯٲNp+J"c|LuJ|XjR14Ht[7g~ߚ(ZZ2jZdvg{2db%)i'WroUK(z=^ 9; {v4(8P`֠t&1yY LiCR@ȷ&}UT/K( " 3QVX(yX4"H=1-9/5>x }(.A WFJ%|a{1/ݥMa> JIJ=[f0 .(r X?f4#Iz.O7?Ep83碒^b`f5S%<a!,zL2IMD5CGKe?.JRrTjysµѣQl.s{(nƭuOL*E=Ğy [9OGj/F_:Ԭ0g1>Ί]o,uV/~G)"|hhOBuF%Si(ے-MkP ?`KXSczs4tgqx;"iYYHڧ&+^S4>#%GJ!eX8_5BBk٬? 0sj#~^+bo 啵Alsoʆ -c;n{ ]+Q&{+\Eڅ^*#Jq%hZ|u>nzvo*n| *hז7zWB(De"p A1j?AA%_-)éh?.aߍ~Ps.S4OX !$R~"-H`>>BqHN "C?d}`SbB&)JDZIT[[7KMj ]rl >vPF⍨h[7?Rɳ1#t$حp筘(Q$1wOh9V2@ofa[n<٧~bQ<#hxV9mkJ[iT KciUi`vc!t=iUw%^|f_#͈VRO|GK1vZ|ϫm):whB%΋@~k.25i>|Z?0Kjv. WMtm"LѬeIͼq}%2.q*KY®(1?Wcß!CF &nG B GSFoNϦ0 BfgD)Omwm=N5P1n ݘW9]#}_TtHpsebnw'/9w;6?9?0)nBt %ҮW&ZiwrJmi|pLT,kn4gRYMXa!2kV991wi G8w f?Koz$Ikb,sUr|I_zTz[ָJ}Q9w@|JJǯPGώSܾ6Rcsgc+O.@gU tҹpk֞H"#p%"|.¶R\ >EZj ef[X0𩷵-F*);2\BW.lh&)[+$BkΙ^U ;A`“luS~[ H_-rrltUn$~/q{@'Wz~ZѬ.Gf]s!]hWghBYQ nգȴu;46hЮ 4Zi([U io}1[+0NyLi 9[ (ŵm=5J[8xR,ubfecg`bp%|zI6--:72#ƴ`i@r3aQ9CE":1Vd(WK ^?xDt5[^u! 5O0$jF#C㈌wxIܫ/ZW.ռmOCݩI0%s؝v2.ZM4̘)9]!$@p&\E4t~֥ PUMGmэ" 2Oov 'N gwPfy~pHc#q8d֔sԞGFzD"@"H})lqg ^#r2۶M3zXEn2<%XNe娉B^Z^v 5Ly ?\0磬7xG?H*Ѽ$KRm=*Dɖu]C-slDjl|=IԞn8pv{fe\d4%]\KpKOه3fSO<ѥ'@G ~|Á~_oƭ'nY6xfhn~h RQ~|%Ɠ,ى1fj|>nx#qI%uJ}^M W3<+'oqً5>*q߰Ԋ{KaaZJա$q?vSVzj#4sd響#}WPeqNu<o|f@GXL4q_b@ acV߁䕝d&ͬ;|EPI1N//3&VSԥO3JcfTؒANު\~1R 6o-ɗ˾. 5gQ'||#ݟN_:NӼ 續o1ȀYpd-W9gtJMXHr8jQgVm,{I)Ϗi /jq" 42R=垽R= V޴J>!7(B|18xo:/t3!#Pf$ a#$O8K8 <׏w!r,=kvq]SA=ўVuUd ]nu|<7 N)  t{\uNV璦ި6z" eN,ᒄ7=qmYNFX` ="c\aK\F6 y^ܚ~ Cip#U5(Poau^EsA# ]0d:\d.~6a훖idExC..-ES$8XɌ808±2j`G K=hge`wr k}iON2fwg **]پTJt~51D[6$e\gŌvH3zH93I|C vWړ} rj}?t}31:Γ*.ކlC(4|o}/ u&ѤO}uR)(GO5]>~{놛^{BC-kOwC"IT%U6%J;w@TЖA06{P(Z<_HWjF0]N#>]B}4Lc u2[MdӍ7%%~#~ZiK bJPAFT 1t!{]OJt5y|#& 'R։JϤ,ε9Qp;xwserE\-Ul/2`''@3TAuj^8iws:zxrPm ZR9z/&l+v炧>$mL1]o@|z_徼~0>Nz~=qS6^}s{O}?Ha-kt-%ͱ95]߆i엋Q =!["ًˤW~bQ)瞚"V6IR99.K*5W[ѷt>2O/]B_/͓V>fOE4|c')f=iM_۳8N Zb㷌.8jɩSlѪK 3b=?G@0)_vȮ<ռ.22"Fʴ$_ 9g]'C 1*/YV/13O%_kLhN "|GBHtlsX_W^{Dn 2]DvkUjGdG)(/?Pϓ KzE_ &<bۉ  α6+M27BK?Bx SCe'KO'a⦝^-if1@ߍLX]Hҽ©.C+93K΂=n/QWS$t=>h+YHw[|MұU$ͿOKXQR!]'dxM )j`4?Qgk(/o]l6\0kPDlcBC сQiBυι7[B։[u!35%aSoa/fS:?<)G-?}D=fAow8KE<P=(;&x4dҭJĘq\b$kOOѱE24XO Z{9L0MꞌN~CEt,hJs I b@"M`S{/8wğlT1'FVv}(Qf9KԴB- G'3V $c-%:j8dտP.nMwK#RC~0X ǘ0sh5)4>XI{z,Iȉ$tdfZIg#_)]/G C͑8]Nj:!+Y20I9ż MǁֆVD=H (}}o.AQ^J.4܆Y"cֈh|yP{X\͗1n8K@!lE`f:, gZymvik$\ :2֢Le35l 3 Zy&?xKBd='}4!5ZCvn= \O~h o|.D;& .b_ڲ]zg՝W@Kwyʉ x~sVcZ:xh!o q$ͭ6>ڿje}X:.lÍۦ?z ^S$Aâ. lfND}ZhqC(M@*NZD;;9b0Έ~h'u{,BدpZ?"ؤq{Ce0Fu|hNO!\n)5NDA.Z6K'n66a@Fk=ȟy \;w:?ƃLX\(_k`\zFz6Y^?!ǿ&lj$$ GDۦ(Ώx;6sfXyHEGmzZ\hX6% uc_Ab^V9 S~Qb1l S(W.fsS?HY5/7t puWZO;2>]MX<fc }*3{$; 6T :k8܎0)s*U4&%m KlVkLER_FIGڍq99 p>7"Es<7?;S P粺[0: w&`v(({D_xSS/=r!1yv9vHY-&sц#u9(. ,Az*C$ 2VSv[#Tb~ۊB:bU& SWwA_g.ia A>͒&˹{ov?6i^1*Yfb O9YAIXژsusȪB)(tT0htN(2G?CeDSwɱjG EDV=EGNew,)vWhɁ nCl}[C|LC!⹳_lE\]Q&D?VFO&qz2v'dD-vLaQLf2*0\ ͤ 0X>Nohn bV6FjM4 |4ER/J^O ~b4UgWC!ukOx8J>͈ d, "qD-Zj7QtC`5?3Ly4jd}`Vϊ3Y?kȀZ{yW~^N>C|Ŏ"n\y&ѫG4imZ+dnafoJ\0-X iܱV;0K&rt@ִ,jڴ+$Dؓ$qZiAv{y ϋXDRRtT*{9׋Ndyj|jaGAY_t`e;;@0yLM<wvXB,"rIn*ݮ.fZh[W9%.daxv0O᮫s2TWoe")= ,:Hʗ%&4}x9  B_te([܌G6K&ò[g91WtN{"شZ "(5<Ip@WоXn:8n*ݤ$nc<:8jL?>/V_R''t 9b ++_-:gyٿܥ%?5glnJۂ,KVM70 J HQe!ⓘMڛE΄V;} Պs="t3X龥vuǹwF?x^,x]> o憓5fVt)' >ǕOC!hI j%BB7n \ WAB 21$fOgqJ]Wq9;٧-T<2 ;8tYj}-kO),AQ:"mE7^WujS>%DoGГ\:Y^eFY~xXGDI[:W+RCRHJaYdyu|u!vZb| 呹2ϸȤ$Y сZ ={%7eI#s424 ە;(80Y(9Dvz8H*Ey7)OU{ sx|n|lZV9BT[5pUMZNYtBs6s$s^%`Vs_},3Q,:[:8a:h#N)ycxjT} lWot/%jU4v{ o~qǯ.TFb嘵nbh4NOx:wxpoP3Z,Y,1H7Ø~ p.YiKWΓ>U-#TIJ}D tu j3<&p-y}=;c zpIbLP JQхp'eIz;˃% ϸ@3 e.K҆oI#޲RըK38eU9hΡ\e&7\oz# `bN0!J_]HpGXE]mnu8Hi EM* ZXb^$=K|po6FqZϳ$<"_ 2qV2 9հ0QVuVCDNWX9s|NR&xh+fF`(b'"Msd!ue &I2}Cb,˴`^F_o>R!{[~KK;GjGE)M[EZř0lO7(2X'fa`ĠJpIcm]<ꓸV͸Clnzn+G+(fsaY1j)Ý/mGv|?YXp<{)ф z$3$~=duJZx#md;m'ǽ+{b'U‡ .%F9\^Ӏ=#n&#zY]^!┤?S'*e|U@z_< [zŢ^GMh2جSOHDnu=bje$vi.W"2KT-v u:$4 I8>xcNFAjb62,t["C,\ {ll,DE+CQyS?%##P(DL1#8ot=F'ƃc 0C[qGA#}s-+h5{j(UZ'5U"U6 aUSj4]%uU/}veo~K0TuM6֓e^z1haIb6xilv=.GHF?$?Zq5t6ӍZkDK^#1:.믯#\ ? VYkoߴB?>JD(\hBOR̈$#7TU_kqdϿf;veytsmEPd}(>Ӕ@ZBi ܨEPj5ZI+p")540 beҒ䡡jbC9PuLjҐ?d% -B4V2d1&{! g"[A$Ai:28>~5S``(˿Zj(+njEސTLo 1/^A҃۾jm2}uPԜ;L&ٺei! }%_dY6o摙y=_ ѭ]״e.BM*IVF,Tq" sЊ^Y,7(Cq`NIv%uHnJ5DPɠ#_I@yd[P.7 `xMIg)T%yDH=I𡵾[lل1S~*R;^ a囒Q'FFG?X.bicvf ª ZPӇ(@'Ll Zs!Rgg-Ik Қ~;73$.ͮ95^:"TeلϦQ;=Q[GG&f Mn4G%_`AaUC6 "]eQ ҞJ`ۼ0? qv-1"v~4yHw Tߙ/fx{)# ,E X8eF!e\SgVj1> u"&ЛV9-p &?TQdKfK";hSLmy!ӀΨ܊v)YVn'p*\Sd fK@[m1_EZ"lMz'NS泥qSxKW .'=0b%,9/;H-lsa"&v(v OA\[z)mNQ`:**bl!^5\ھfبcaaT1#5z/q'R,RCyRE hZ\oD X6/yKh, $C]*ƅ~<.?#ZVHLޛ˒蘿f |J2A>EHX~Ժ< ۺԽn^ 3ERzF^ercE/TۚjS]iwe$RPHYO-21W#Ckӡ{T xrI|_'qB_8?II@ '&Jgr .$q _1yP@l_d3+j˘HY*\CFR4eWm|5ݖ|㥂~|+!H>\m qFM&Nஆ]63qѓ>AOD UAب{ /΄d ksGE/GEȸ^ZB/S-(< oxMUONm8Q6FpjL>>Q+]oi~`jCӝ ڦo Ry};BOC~yޙȅYs&o3]!XV{dM DM\fwv/8]MhkjZht$g.#w4lGb]i } YmmujVAx~, dqIG%&@n"ړHL'uhiTg>.oϺE iv{l! 1 þ8){7*Uv0ԥ<>^6Ow)H{IUfCxc"jb<x8jIbp[Xl,*NR+?!%Lo"-2ԂAd5MU=m5g ?rx%1C#@T. 1Bc tgu_7+p$+̷*מR\؈]3V-?cH{Qx^z^#1U $*&S:rTvi΀d;f&@TX,pf)Ya(g70 F yq"t1'`谸]ec}8(k@ =H{[p&L"BLBO9 /cVi:|bl*H`WM ri l89˜6\kn-r "H٩W<,ZwYu.ԮatbQIyAuӚ B<%iY*bDR^yvuA wD8ANy'wbB'rD'B\FhƢT ON ~b~w\[EwJiOm:]会_ Ă)msEы'j|/]txa輓®?"I{65Ma>vu$6CD${Z;,MHKKH(oeKG#ž,{]cZj(T1CldJ#do|vɦz ^w/X&}H!̯N;>ZUx F' f~SDe&KMÆ廘4)^Jn;*Im9i;Z<-^pFD_hRIN9Xց5@R|MC ^mQhq.z8NAKKǏFC#:u{ MpyY׌r{:9wOC>.[h_74ܳ'WO ȫc0":y 0@wKjD/H31&@.!^lހ֬ra%fHpߍHX7a8¹| 浔C:9Gf`ƪX% 1O3+O)y[Q:o@k.~u"Fb`ZLKÝӠfcj]aW!LnX  I5bk[jKA8$rladԄ`E0 pZ Lt)bP>XCq){b=NǢ5Q_HE-`Xb*Qv.d8% [niGOb荱-ad̙:L^m|.O>yV$Jt7sG&岫6Rht["XID\MjV \ypt? |N}dKLQ^{/Hd8:VޱfNd% R?z?'J+"ġ=" R8- fN8+(8Q}!}>5@7m3^gះ"s|)9g[(A\|Z v4CmXmYҁ: ЀyÐ [r/֌ 8V],-9|5ۄI0gVKk 'L:(Oo^c%oTƨ'BXgb^cP qUت$1@Ѱ(£s/뱶bC`K4ht١F&@-GݎgiGo"n]:JWe߮SA)tNH9N@ޗ*-"'Z4J*h Egy:B&Lqޡ> ^_PeHsQ6`.ާ{Qd%Qێ$kTdMk˅F@-؜d;wf(!W =gbbEX<:[tMǏ@op 7 $u-|F{G '&և9rM1xkόVL_6ĉط:nݩë[q+382UV0߆>|2gls»Ac߿T/ GhGEgEbÕ1xoW{UwE=>cl|înj|>$fR|]Z3!Ѝ[K2Y ܺBE& ħF#i0B+P}}YfUJB)!r|̕J2s.0 ,k~xd T+Ր'׍3uV@VJmMkDm%[Hq0޹ Hޯx{YWYͅuOՊLA>ciDr(x`{r~Bǎv-+N`'/l[WU 5xTfڢ2`UmXQ㯝V[RtmkA)@Pݻ%Kbpe1?k7RȧA ǫ.!,af N* ]{w^Vn{fj?ķ!L5#H>57HSI}&WG3Hl|^|ˋ?ra4ّ >`qB/{i!%nQxr'10ýCsd bUuSQ\4C-LZg >13 \lyrXz##=E&Tǯ=heh-q[ &gp{#\ʎrԤ#mm nwWj_b(}<C=x}K,9D g- !8 1mZ6vg1y|e οgs1 s(.f?88S&f6@(sn8%WdCM7bdL;Tyf}b]i1荩+6OgV`च [MRk~rA9cnoZH 5*ӬT)1o\[I?aW[h:jƈ9 z"8l|=MΕ9ѥ{Ftkc"BcB{d݁ڄƧWg(SJ_1w'SP+oM8\o%&6t|zdYn0/ !ζ4{+ijlvaSe!/Bf+LeLJ(OrR][*m4ٹ"MvT(J,%YvKWV6S:Obsomqj(+xt*J=$!CbZ#$š s%q&\#,"Т%BuNcorY-)[za\/ؔkFk1A[  XMAdz{CqE 6{i7 xXo+u3tlEEؤ"W:cJș 2`Gzx %,ur%/ oך7yكآe 4P~3&,hcLГM; P08|ÂWuX٦'>3b\pøF )1 D8%R {P3NW9Ԁ6wȯUٳ -ig;hJZLR1?ت4_3钲"(pmef}TkGIekBUپ"8(Cǫ{tXzi(aZ؀EVTA#765 Wd ĉyQɨF77α'cCZm/SZ"` #cr i*圼N>mbGh_Z$hWH,T ыv׌&PYMaoa`y~j9(VP)5ީBGoW񂔖5XZ thHQ[3ůaKK ]/kB;.} A5#2Qn&3ĐmWK$~ 7_SJeSQzʉ=Dkrg1u.$ 71Lt&Fdz~ 'Ϙ1C5nnsT9upn\R˩8ĞY:W uZ\ImJJ̜vj+b^!"A3RpE tXҏGճsbx+j!;8hݬhnCSmM »Y&UK$Uwpw-'Bk /J"/5Tބ31{"ͼ 4g"f7"Ɏ'd]89Kql߉]VA{1LjW7ƕ4!5sϧ7[Q1=NI6Wh%Kоolphr%Fs@,<9v 01D4ϲ ֩&*t|Uz4\S0)wr :N.qvuց.+6dDUfC<(loSנ^dw4N?zKpZ k-_f@F'J\ ȎW(r,ft\|{T؞C _/x)zw+Wk;βRK%b )`Vv">EBH1,Ͳ5lNLw8.&J;UT > qVʢ7al >Xo Iq8u1e$~+MC/ⱆIaSHZ18Ry/闟M aęabEGK 08LfM\E !ynHVDfO9rL2jX8P-14W>`C]{4ØEN4p4N$tFgxeCnMu5 L@y&``xDܺq"}bUF}{8"Viq`]gC&ޥޮlDSmȼ$ZA͘fsI9X4<()эS v7$vl:"W`Hp}{B 0Ǹ5pW_R.yCҊGb;;\ Ez0Ω 8`٬pg@3u\k8֙B~K^.>lF]W<6jG%@z,X!jG {kH(3*xe%ޭ6mun-Žƴa{Cn7r&c10S  2(JԘhNx !!԰+pst/ M$}qYS#5x naQB庲q*L5[3RG* J0ltmL5=+sGDpQXpN `3<M`lXv^k\ރ&F GH$~i2/sSć!iM{0R?)3ۍx1GCzX6W(7`n\q79J\"cM |lDŧzbI#FKy@ִ1"MC@_sPP@!OaOIt?kM["2ZX)8| (nHt2f[[q.;w67=Dԁ)abAPspWC!Bڷ?Ɯ U؍h=`1Lfphb 5_t ?+5i?䀦|5C 6S dM U I֐#"6DGR#pD7E U>eԄxM?KkHA xa Xi?Cca!\QN:KCk3Ig73R/^G0 O^;EΰmX;ȑ:spɴbu'hlO>[M."כce=(%z=lD##k)V*/$5WrhJj}|%%"7ܚ̡Ik6(T.JETƦ놶P@ sEOvV>y aY{ m/uFU\}fX>F fCC~jo!F̧ s*~ aܮuYx. e>AEAG$!̭d3 /~}y`ZN`vVN[ '?s5Fx&g? ]tkfcS$[JR=u r #kd:/n;O@RgzjUOR!\ <*x@1@y8 0)N}{u;ԛKݏz1to?Tw織N |z,B|:2 \)ҳX7AYGiDbgk m弆¨'%J1 tYg'Ŏ(Ra02}Қ'I YƤӀe"Vc^=WUU_'1. e#~@E *dA6"ra;g[|Zlk;iWAqv}jzEEtU^?8:v>ER/JJ呌Z{Dr.QMRQߜ>}oLB'옌1aBI l3Vյ(N18бo]=!L5,=^H7 JpSuUQ*jj>|!5gyռ{ |d( p}S^s} ZEت^9Wʋ4]:-گL= B fP n )Pϛ'8kT4;KR_mk'5'd5jZp2U 6/pTc4,Njr!) ލ.@iۑ^>4N 3%`w#$Zn*kFXdb&6 s 1rԶ}<^au[-.㠺\~d.n(V@gn) ɛ*a+Hވͅ;f3ct'mKO0˰l߫,{%SND7غwԏ=yfŁtaG^KI̬1>V?k=z^Pi@4Yz9vF<И(>>i1~~j#Gⱘ~>Q8`rVfU; ,Gg4!J!ʍlbvcMڎg6 +Í*qg]Lb/yR(rs"W7ɱ[mf|Ah|]E nQBC/kGuK}\TXEl 4~&mq?7}A7y_!G7Z0@-PKu)ɻw5dj*hg G%- ,z:ِ&P'Ƿ05qSp6[ךR#ǐ}+%5PR~<p}1K jԘy$|ŻG]*&u%ƙ'@SE5}6zŜTQ`)ػJki"??6b!!*gWtZuM&+fPjiڔ_p_ɳ /T݀qhZ*Wld'I!A"^)J.@Q{lWP`[ÚnUwF؞[ak|$QG,VvګyW3[%{Nwp<IJƦǮl[H/hbra>ަ3K0sTA܋U g%Ea.:-!Bh)c<ou%Ͱxi`p 4iaznMbO3p iS!3Cci}hF.cn<Z^$5sũӅaҝطPnGP~rp_[ My%ji:EkdQm0 F!1Sƪ}C+[!>-!J_woxs{Z:Er79q @=gl!fb%JrTE[RY>.Pq~kq IEM0:scָÒ*^9nf];{vt>RS_5̀OJv},9~;JMc>5PVƂƍ6E@u虊VC)ղhǿ!QP%ߖz ;p5oMMg%| LBJᄼ8%^%|VjCG|#q0JC_y3 '0`Vfw*YvA<~IBÛ!F eg aw #ڿmmPΪ R~GJN ur݌nA@9LHW]~CϡtDZIs +O2yn@`>wH:҅ 4Y<8pSo "?L:C?W<0E3Ͻ4z#vޖL XL<;;>C䀀$y+`2`2jC(Ч>nnNcB0_¯1JwU{)[!S˛CjM,ZS%괎@z% \ck%=ԬvΗ$5ElK=("ILԐr&ߪWuU׵Z& .y;[rh4"=HH֑3GxFqPTF~t4㻎4O"M' K GD┹ϡvKp^EȀ$sUnaErͰl:b+ P; :gŕ H8LL<@[p2@%ȏ3 8ìlPaƓg8d ʞtT`(@gBdY0~I[Lj*zjf0z0d4*R.̎@=| ~c/N9[T7[tT9"}8s{l.>ߏ&s J^ qh.z#GEn;fNXR0NRZ'_당`!{7^? .)O'!84pZ86h kaPlcx::%Н'2U@m iI l&kbRa}O?N-0eⶦ"&C"Nd>kBĿ+֣|Ur'HYZːrqJA\ӄ-} iw*JjKk:(߻f}qR3-׆l ms1//@{GZL|twnGE|L*w0ˠo_KI]nM8bU m<3!5[6Vqrn@ /ݑ $tT]2>TDUJɞ t,jߗ+*wotYLW=)`p $_/8pibm9Fvn0ET쒨ktROB3 J:+ .qlIH~ Jb1Mq74y>@$H)aD |\{|sdϘWcRb:&2d-4>#Ib{(/[˯&״MY*"NTG dyN*X8kez]mQH<}g Kx3zj Cmt>!` @o6 /y;c!\\IijЮ26/ݾYy<'gdp\.̢CEr 2(UM9}'Ԅ0Qe8"J>hYiHi׷O&5GRj =0 ?fSel!%/-Iȶ?C:Z9h:I5.8DKqjN,L[zZѐvk¨,^ŴX [V䋉jAlU5NO~vx1v')ߖmĺLi=$@TBHh\۽l%`Nlj&fI1~-?xPrj%?=AL$f}7d>m&\vkfFqWVղZPPQO ;x ]q =8F)`йնM)rW efٰ@fCR0䦾㛋||b1ۮݰ+/hM c[?5|7]ꆬXX, 7 7WurjbG֛$*7 $}ߛi$vh=Uk;/aG'}F[o f(֯Y$%,]o'RQfI/Lv/p aU&0dc$,u>zIu#g@BZd.W1 KgJ r `pP.Q9߳X> !J<sm&VHӠL&LD!/=HC҅0KkRN4':1uPDKd-6!F գdbuC+)Ш`RzkϠ;Ư@qNDbq`ёZя9.%aH5[=ooxB/eHHZGA_ht0(!މ"ZEޔdžZ$$,x2{ANj/krz{ tlE Յ:)m4PF8 sڒ @7ArE^׮\A!q٣{W)eu#cѳGE|MgY4́ӫAhȵ{!XG9hY*$Ԣ cALGn5]"8l?efg̛ 40~Ǹς\uKTCK%>9W`!` d+tw(,ה'pӲfEK#vZ;܇Q _9Ee/`Tr')z}2ʱФԌs0\)(3 /nLH4YE Hmݑ8]fk<MA%T4$cxm~Vkn"ET`7- t Թr0J2Ea24M<6NQ+Yj<*֘ 8 M~;goP5 qpE{L- X۸>:};} QK8M]fg v;`vai?oE5g[+nvÓ twksR?K뱘~Gy?eC"aJ:q:k9A1-^,#"  Lб=EK &g Z (A,y(D3es1͙Ko@%dGƷ^lzK̎Pa:iu #tco3*~#z-RjzKR[4u.m?6s}|gZ׭tJJ+άc#bĩXTQWGCm)w{e*@d6e%Pv2@ 8x{s\k?#Uځ/ G r1]h-T4?ƔrES}M }[8# xD]E@5xi;:WAvX3678<Ʃ6:z蓳OɤdEkfr# \=0!}WfS7Qr0^btIj_pYOFx)n;vI!fg5[+%4;{+)reyѦ-dFhtפ 9\)E)Av"z[An`F|6v,pmES\ >-S&q)jLt2 PlϪ ?N0蓨qA½9;.ig_-6|r1vVJʦ`˕ތ'?}\$ߡIAv ؄[oGy<:F왑ǵXnxmל;|b(HS] SItj[crY djǐbB^vLJ.0yoK$֛X> @U=9Q#NA \ؽ0$ kw4fŃ[KA-dݙG%z<41C_:Xr0qkDul7]1vH_Σ' y*%Oң4ޜ U&6K[_v.佮.@muJQO kԷy l!<6sٰ_9W\&u~'ɩzz짹u7o~5On[Y/6sloߕz቗#nļcYB}޴ƒ;r(:Wt|znځW7tu -ǖi,=魃MM^-3D<1|:>=+(7_(뒆mC x ALd:p~f\*qO&p:WN L=Aϓ?]-[?VߝF\_Ӌ c#puV9дM v~q\(]y;vY+h/mޅ2Y\`J&rMVWM2R,e+=:@)Gh$Lzk`xK.wnn>*ABy\8=;Ԋuіn$J7t}Z*i}HA';Fr|nR.®h!4 @]2C2Z^ ΑgJ\#9u@%ߋg@oA /F!)$9iu#%eq5C f_Sbe2lP?u?'yBr$D!JJYz/mZ63A4]j]@DvԆqhWAX$J4oopw)#K^p Ǽ S(c{ׇdrxҊl5L$CBLR:bu%mF@zj_|zD.*">"]tʨ& AUPuS˓Z \ c밽@΀w۬JDHoR"u4Oް6`XRM={t`V00ڥ! /aR>n=D|ֹؐv%tчYP߃īgiև=s!2jw$k SjKy[y*a[z8 A U>aTrd_e"-~]Z@"4 wP&8U(5Sr+ Ps\xJ# V| a(ѣA;~Ppjwf;7S=5;Hy5:~CȂm# ?F1(r{%n;h涜02Gƒ9ܣC}k%V0ܹ3ej0H1()nAf, VQrr^uE4MERZ ѷ#[ͪ)J"LX*"`u2D*t')nZ9pԞJtb#H&RMЍͺL>VN1DMGEd)zZXP7OW$ ) ~y18Qvtو_VgsIT'`H2㐞)=m`IJ+i6vJx{XQ^Pxwjd;p3Rl=&·X>vXLr'tk4ocI3F 26_b r32uNF/ѫu6<,/"LE k> ĥ"q,-!ZK,PNz9ž7绸 ?Z)y]r;+ HZ=Лŭ%.``{P9q*X=M/aI Bf6Cz4Jbel6l粈듖13~#ͳ@1|^wkX a)xU{xѢP]gyJBYL2Kzl5(IIgtix:L 'jXwi䪑p; Kn|ca0%@$OaA}! mrtpbrQ+ILa)k29QS,AX:!6BJƠJvA }7kۜ7.J'w (kzLj&HQ' smlS'Ix[ydo 0csk;dhᳩ^\~W>jV;1s 3}"[!otz\ 3mQg$`~o95yȸ.Nɔ'0;]A ! ]me?;"MNBCei#U3 W_֒TZDZ@8kmH?Г ̀5^/eTm] &%~Zj+J)Aϵ5[q>~P`(HbeѯOXP74#3˵$j/ =%+=e}FH#%k@vLv$jtq<:9/>#f^qKaD(v Gh|}2NjdZSw9INHzfdkCA'LM>Vzs;;!l\NY8Uzcҩgl'/ tbA^τ | +1c.tH’GEۯ(mRf "-n-%16kCw;!٦FoElu>#p V2*/J"vmR'B>hp}>Ղ< )PHᨓH8@8d#~s +lF~!~CUC.Ar: NEF24=GjyCe[u.G8$: r1WF5DaΐRI!\Lx2D!i2rCTHzs<$Ȩsk+nU%f$bljհ'Ma,,~]c*^E_pxa6-TpN|o;ID:!9O~6&O.)R Rc51d.qytvLlE<->~B AZD7%# iVHAiۨxGM:w&G t*H2*BU&;b.y7?#8Dt:߹9jC>,=-NZ&XVDeMn˹ԻAfPş_%ȇ2H\TcC>;VX^H!o-09ZK/Yt@s[;ű=.<|*pi ⎩9X徲fZ9" U$%)/w#1TIt}s?B:&5C0X7N_N 7ۭ]|wQs"VHeD*_Bh%E贓ė#e6.8>"č`H@ up>kO1P]n(`}E,˼p$b%G$K)fv" UIrOppp9ӹԠp}i+H= ydCRhv>hC24ME5.z)T˩{#imoMk䥎B6 :6~P4Sa$ ܆JZMrKaS ΜN@&sDK5yCw~u:ķO,B>AAfy1s@EģrbV:os X$epwܧSUλo0lpV$Rp,$˔#R^_j懲:~sbf OS^Er% b&bƒcG%LG) *.fs}2䝧gC0܇A[e88 i&NC,TC"?ک/n纃 sΘkC8n DLRC8@`,W>:B9}oĐGOè_{=ήh:At ]Bq0a k&7s2ީ'[yu /(ai}#_P\T3,v4>1e)dOJ7:./75eNs28IRe0E;",mo@C:u~(>TjMޠvq$Ej3Z%/^! ?S$xXysvu@rB\RS3݃CUcn}zY'ɑ^JX>z&.gh kжo0&8ɣbP=u}uޒ+@[^ЃjO$\sc RRs1h]ҺWI[K nD}mm6/L 5Q!5τ}͒mU0znsq? ю`>L"`B0kݵӯsi#;#svL&Ixи33Yݲo_3؟(L ! N@ o9슥` Yaݒ@*ΩH+%${`!׌|x=EV)Lv;{V<.{Oel .ځ#(i> R?g#P!3@B)PH)i̎RQei:4ŀDq!Sl[N'Z닯SBiI6 :pSn{hvvD(7SHC쬪Mk  ]9MR_ߢ^T۫?]_YUQ8`-9^ Mv2 Ty68nXBÌ1ev5Kz7U4RB^;%o|gVHŇޕ<+lQ>@WvpP4+ lRsGU*r6z@&)9ܵ{Eܳ=ME5(Pt<.@,V4Yt9e-vL*r6&O7X>{8"ӥn~>d%:I%w6KJs+S69'nopksFjǨSXN NM@;۬~3dQ?֬\4W3DEFgM$Vā۔]o)ae|t5`jש*~㼇72 a cB}s )860>ٻd\8Vf~l⺫؁{F:Ph3R6`,h|F -BYI)ٌkuT䱃l>r)WfQKCo{cNKg`h,aף[x՜H2 |­z_Fum/\׻ w2(Ad*$u{Qͯ}1 1.;?fZtxU*tvx(H4aYŒ>.P Ni)HFwmS͐Z_uPM,V2Q%E֛9N h 2hh;wz06/cW=vzN5w"@{xF 'o8l^9q.Ge]$DueuKhIݱF٭=LZgZ,Q[ Q?wY%l59mAOF? Xtx}݄b'&m[uL$`Jjk-a^O$մ9~\!.wOo a6|OzXb=Űn;~X+R%Y֊ O!_Yb`?c_:"e[ob>^&& .[[U 1>\R1LVYqY.2?>%SށΘ-#O_jsVmAh'emjɂVo(,KHvIWĂu68 V !ZY^;Y:N閯E5dŸ,}udLuQ@-v'r#`@*a<0|]32|ߤzçyuRH:2";m1VʴnO&ԕBn 'z8&w㖰 t{_ v}}}R߆/E+9l(ه3`U{",g_ nCкS{M^"3jڭ5&록y ߪv9>-s[?R׍m\`7a`HwdKOGi qU1{GZcTůףQOΩH5=CXg&i!=ƞC 1G=8홺R֝MRd:ҷFbq 2% ò@ .-NPi\x-M`_,PTЍK٘I)sy4Qdh-Yo>6>8eW,Tm*o'w.Nnzyj AIf24e@R_]N\NTOݮqAes^{;zQJG뚗Cb!v5`3 #YeTP GʅWAY>!bN͙~l6g`f2ūU<z7tB݁O甚CڄePJO<etpYnh$l NQĀe{FvPVcw?)SFWJ!Lj>Gm_ ndb7ݳg>SY=ϙnjW>1buE7b~A2$@meU -8[kg<`h1jSh|[+Y-2F]6JH‚Loh-bTbXQ(;8c]7ϖ哔f-ɃaӚX gzҠq݇KA )dH)OjVJefCjyoT?V^qn=@̴1$CuKB|$vf,t86e=oA2 ,V47W,mfLJȯ*Kycu=29^%.n x ԍbZ9pQ+m"Rl#C4. ?5ɁXKDIɾKn8%f܊aEohCr~a>=f6Dt{6@ !i"nׇpOkl)^x(r[|uYPiBMr#zY.{T5`8ڠ_z~5Ŀy=|j\N AT] QD#;Jˮ w.#Sbcq,qőfO ">'[ACȳ3UWY+BTߞcUcOtg=Y |(|:(3/׸+.?$٬2 Aq.эJ!niNf2FjX6t>ӫLz!ޮ7F&8̝#n`tVL1UnD>&a(>(^ȿd YHw|fyGJٿ2E:L4ESQrV_xF?im2vZZqJ%R\mSM b89p,x ߩy$h$]ɥ\v';z6N i 3kеT].? B pp˭̆t'bMWG6wK dtՅXf;" mDdms`Hջ5(@wȗJ,LQ@1͞ s@1y8:9QŦ~E#R4gmS`/cZLQ6PD~HǧUjr孰 :O"tP`ۄkKz Hj JV[&uۃM Jյ 7hr-öc/G9rßޥ(B[H#40,dzKJqQS5ՖhlԓWiZ|שk6n &ʬk=&HLD2aw<"w+]F΁82.oY(J2Ng귁Ci W=,o dhl7<-D b%A9^<C볔p.%-y%Z Vn_˄A_|$83u͒"a%`OʗGsxr/_&Vo\ )Ԥgbuzm0vojF<v91Sn"sD u1,t\2~#cj ~c '%bm! -9W#vfC>ene(:P.=Yz[AW 4PWhy-.9o.٬^ѽ$rWܚur@f5`A׻nZm383QhoH4#H4P+]v蓦E)ہ=S8l1(Z<<7&  Z܂\ 7b}%t'IGVhw` N#ng3tFLNx+oq P:=am^'oS:in/ P(&ed.|-/Q:ꌋLN$~ljb] zA(pc`uTXU1Ǐ N擭q .ޢP9bYy:-b݈#܈^TVo#P,D6MywE7Zuvkco~zȔ.DKF`>^Q*:W̶b)6[s$l]ZGz=pqa)3, v@g,fk@޸n-|n \!# ՕrV{MH劅b#YHah } ʈyxe t!2W֜1Ocx((tjҴ'rVp*, 'K՝ⳓ"Z_!nc2κ!ڹ> i .{\qE4 [C^PL#&>BCؾtJkΐ(\JXa:͠'ip{BcfPAsr3 {*U(K߶\B /;> j&W"tD| Tr}k:>,%]*ZĢ;gO('e̚39$4 j)rVm%v:xԁ Yk̖ f5};JchmIjGҘr_5Hs8E"ɳq*Z 1%gBD&גv/JG qg;Z ٿ+2Ǩ$z2o0(q!QDI< 3YL҃#Քra8_ \& t8<ɠžWe 㓺Ĝn#CV?J>| ti!}y0Ktqz-q RLvOaٗZY}U+gFzQܓٞ nsRn+-@EJ)x()y#ɔ-cԀ]lFmRlX8}ukwp.@@}p~W$JPUZSm09szKC<'aMkZ1{v,=gpp OghR ɱ۞zu!5emcbAV=&1PP6)'`CPNo'j3;Un:lv?ix! D]ftXx|z};{]oQ1/ fi*MW5X6CO5qxC+*7t3܏p*{RDm2[V0?}lWjs񻞃&4\ -Ez1;C'E%%n&kn}\J_ngه% 'gGA"m/jNw OǼ{x ©~@XBZFx򣶎 ;e\loc1#!~lĈn30UZvI&kj~ p#,:%!@l1mX@^Wf@ >řÍ s ~ E!/yo/fXW]ŗRO3u2 PLƢoksЃ)nsfYKy+-Ssn[%{7?>9٥[*8)\0:gB{0Zb/YF,d*Z!s'd1|v9h 5LO+LӔ]T%)q}DON{(x =Bc `\Ufj\\X6A"m'nv~5vޙpxSnJ^"^gz^U+)q.m8+3&8L 1tLi,&YM| xݼF^>-[?8U%CR8-v~~Ϸw4߭czZp0~>ew,lZ|t%y':UB̟`=rQPw7!\g 4@`.ck#,_W 鑦[qlG|!PsB*-Cш%Q˂ۋ71# GQBlZJwW0楃)1E( {: I x{FP剷GYsRxp iЁ hdxՅ֪\a䕿Z'& p9)}x2 y!8b?D29Mj(PߧM߅hm ^"j0ͨ 1~ZylK`9;4m f·yޞO(wHũG2ѝҹkHaH"jGXGpPh>n"7U \j0.CQ$toɴKl@Z*]0t`uV\VF} v]'RB1?)Ⱥ;yđ)BAKY)ݛBdfy:'h @coMYEPGޥ׋Wb;%9X2$* tFM ՘aeo8lgLqPv7Z- thknM05H,b&EZX8&HԺ-YvI^/tSXҠ_֋u &-*SLik,BgGfyDv#,CLtTn71{\MMBB[o_)Y\q [YMݑZ[[V&q?J8X6 ›ze7]L  #~LY&qUY&S?7&Ƙ{ܐ| ̒(_ȉa#ь$ w-F5bR?xn@Q >y Pb.(LvϞORtv.,j-tBԳL][#̿.{n0j 2oXߤmHdx:>5B#W\4NB3fWq0E#1?]VLeNq61i.4eHD=J͘2 @}vRf=Dq] 9jD]8$"2Sab;XgUub,?QPYdD4 ͐ýh>< 3jk)xӿ&o}G}( #t"⡧b7 A>GF nGMV/ٷJw#[6|+G75,6g}oDéUнӭ8(pv!G{q z+~mzJߋ8;j҃k\vHt2:]A&2Jp-u3Eh- ' Snzr$҃naCw SMA~BRRA`?m3gQ>pj fx;FsT{4E=`r U( k\VzI ƁbxMXªZ}.~Yuqt8rl;V -v%rl@6u+nobB'%`3赴 m!Vׅ{3hLb&/yK*kR\{J:otaF&-QCĕ}VT-a],~w"S1v}߷ҘJ87);-FXxr9u)HJfK=^I1ؗ"!W4VfJ[ jңW:Y/fop1xbm5- ҷ Q҂B8N0ư3t wRX4q}܇uj jludCC"\pgAVV;7\نF o5TEqq*DޠȗMq;6 sYjPgc 6f'*ڹL,4?+I^sA[Y:*L8+^<+U~(}*~ Ce%m}|̼5*F XAb3}ƼF3Lғ#:$O {iw*3)LP"Nї&3zHOml;.hi : 4%$wgy;>0vl508:Ca=)n>ل˕q‰٪B K)"`֢۩6X= }+]gʰNQnFM gVJ5ѐ>6\ccXX%=Z-:z86vղ,e`PcYIy -#)"'m(%wEN;f!j8FV{| Zϼ o17:_^"U|){AocT[˻Kqyۂ]2YPufa/ƅxXjlA4,W;`ZiuxXFUB +8@ b"Bh}Q]~Jo7%Bid9뼟_~ꪙg~^oӏßToZ%Bݠ P9DZh G+ja~QsQWenf e--'t酹;&V*W VL3rD&6b6֞-6O OAy}7r5}IiW ғB-6l+x2*t@'ltX@SSh<"Kګ% |)=wȀgTp;6{}O;gVxfqXmPu{n&p.4p]kiIغ:Ϧȯ,#J'=43̊au;B *Jw2HAI7$XO (k VTAϯOk TZ !cbu҅C^FsJ|D2 m. 0ǵ.G 7';?5?(gQʽC#)r/we l xNR& 7FY#ƮȯJ(2S"ӝfQYLF&t82nde~n]7tW֏b:ɦ:-o=Xf9aHa]nrC6KWXt,X XL*,@ս,t7Lpf(z{ Dj2$EUǂeßdXk|b2^VF:? brH\y}hvJ-AqбO=~հ {,{.O ; wj׍˟3/#"{$̞50 <V9uP\kЫu>7pdi/lC:wOB'pL=RwB>xtimyqk?MaM c_%zaP[C;倫Bx65)_,ft7ng,-ԣɺt\r!kdXG"2No_mʫP/T) w%kQ=p3 tB}afT0[ՆB \"lPy<'=e-MRD w+bv\tSRFf,us|m#A6޻#V u~!9|* GY-Um1nUAߴorrq -r6IKLk9]oMv"X~hҝU8} vƥ< :_<%tqiO@{=hƋ/E!gCP6Eb2 D-pǡə)Σ8i A^pti*ӷi׉RSSF_F{]%$pP^RmNLΪg-J`ZE#Jw߈{yetYܲMp?"UrЕx;E Bn,9/(|M5̃C:&$&;')N"v3CǏim"5&t=(kswYS:<T-vIHY^R&P%VnTIs]ixK9U ]]wo hYŰٟeI՞] d#X ˘u%KjdjjhxyzЙ_ {:? mlšt+#3ޓFsT`2N}JK˱h׽!h{fʬzۖmLZMP%z Aa/h) a> [cx4'+o,~lSAr]0i#[+98wr{CzZ(BK hp!4vI]_CRb:9a&Ǵ?w pszU ׯf6*w`RIdFjA%!{*6)+Uwhڜ|CD-G/fpoEbCz >ip4kk >( `⑾w8q(|~N5zךW1Bh}jvo;(܋m|f6;`tqrkZqvx^KĄw?cTQy6Ar QI  lqkPr:Ag;>5 xC4i?cXܬ]V#ݒ(RSщ6bq*<=!3~'.Uvq $O# 2m2c.uP;Ms'i鏦4 6.zMs͒>J`\*+2 yArsfZy&pJy3-Q\zqle5FEH&MObqs2T!Ԍ~I bLf1ՀtӒURDOHFZ6Z8b!z%]hpcs֡[$.vJ o: |R_58 i훥@<Ľ"__#tzrieWm洿'g6=*r5qNXJП; xW3Et]p47[ diS*>&(ujF6GNp1"}Fj#<5cN抭MA^zY+W`&z% \Ku뇳-rsyDK}%`Et^o44.Bnգt{?E<6go ,7/~׀Wqn3vh=T Jl O II1RXjzY iN^Ĥ{= E8+|MCG`L_A-L& fo[޻P1ՇDTݺtsƴ) ( x.*, [~fWtvp _E,̑UiGNOEI~Auƙe,E/GB:a>f_a>e߁@h2uAn gƆ0(lfv ?^`ɋB($L ` 4t|QQ%c XumzA56뵘[rY#8Tz}uP=lﰑ\XiAbϺdzaM[F/,ӾS.[:e|8,ki>F$sTFDۈzW tAI4UFṀ"&?*֠R5S7pX8d}m)eZ%]ckkSN,mVH<Ѥk#xư{;0UVmn˞Ϻ튗o.elÑ2ͼw~>,e.n72%ܥ4g1AYl!cTͻكHKWgOTb\ LGRP|5ɟ+4[ؾ3fuiu!3k+sq~\ܜ; vwe|J- V}DY'?w3bg!wɯVǡf3b?8/Չ@zEtىνL/a91c+^(79 Z'17^g$]+ho8ׁvt97mgwեIHksWBg8v>(hs ?ܫ#eis6FĠv]WTb,> : y[dBIX\N".(ø^Ty< G݈(ZmBM ݊l;0|ain7hspd_Ө_Q!腋 f~)b[vE:'7^X' sM{>< ;'2BNz\dkPI% >=tH]jAq'gUR@%tX2v!hsD'm ~wU%XHg+4S3@=Vb=󩚚h/R6t<5asIóme3s?݊ KϞ=Cf'?)c |#].%WDv />g$# = @Rl< Nze:sZL[2Tx'Sn3D;+5X8 3$CLBˍEX?/Ƥo؜T@9 جtRY2 [}4U%eQ[;#;EFZ/*'GxLF1fa(PՖ,Blt9j3 Kױ 5dER"KW iF ;b*bҟWy$a\LVh{1B np.ַqI~y"n I=]Lxɣ %tf 3F@o|2s ›MntR>sl9"u`nB2O\ ԵPcO=fTyʱ e\ZȁH5mw:.ҨF:gF:swd.+IP>6Pq^RmI"kNT8/Uqp; дDPGI]Oͪ"Po7y/レ_6/Nv`ga3x[+夒@dNщH<9k)xO3]-  zuSx[2Z{WǯW-u֨L'-7{]S'=Ygh}A_aUģЖUǹ4%XSb2 !9 oLzv8iv~8͹,8h %8\3s6c'On3# {`M_Ls G O[7cMgM/8.umPAo^Yx9on0N)RCqZ5c_an[*=c4uo-VNM!K lWGrMZ) hI%'2?U*:'53n,wL=~ƝhS'ҦUw[EJ.Wd'2Znw Mz"SV쉍A*8/٘Fv+Aq1jWv,M{^2@4dljc3+4MO@-iQEН`kW!‚\4EWo=飽S澿>΍({=E6U`BN$).s1- dTQL)R?[[v[^@x"z秨h*Q8=|ɔ=9f9xtF4 L /ͲEFg 㵯U\ќ̢3˻'|Jd65Lʂ5"JpGɡ Fw#"+!m@+)U̎e[:H8kkj7xmLպ<``42S'DI|wH/UtdŔAA@7|Ag#|Bբ;Ҋܻ_zp7H _{t= wf -gb04'$R{ӆMGzϏΒŘsTT\A kd׈;x| G$Hy OP_@4?^T[N%``t/h@07hRkX&͐#,E{jW~}XJ煍Ԕ4 vp/ VbyaXK (Gu^UnBD?s 6@ájJ#2yM-|PX: @3/WçZ@YLPˬ0ɚOOHMLQZM^n(pF:&ks1Ϛ;" 0tU ){ل.r*MexǏ*md;"zƘ]RuUC>~T@И롹to0f`Jn=vf!XtUST0;P`5r윈 H  QOŘUP5SJB0ZD F^0;v;tw׃x4TI:I/xw)/Rl.(R:u 'sfyPܰg\94vWl3ڝ{,p`(_S80Ld}p5FZ0͡T-<= 2VBAy_ޛsYy1^R'faZmlrcO.yf7u ,v~l8Sj,RRsY[ˏ8Y㣻YQ;ǸۛG(BO(^ A%mOX)w: Š7D`HrNqWX sJc ]D"nTG !ZۑDhܳyV³'3CRNH8EL+ L1,W3PȀ:8-9gK։.nsV+3bV`+O.ا| z8*0픽νDGۨyBy\zJVR 4Gݕ; 7wĻw{ <аm B֞eD OzNDŽnYѿS^5R8"(PM g7A=:hst{1kBzd IN7)oNO4>JÖ3:o~ 224Cd\1 hcKݐ) ZL&)R;ݿ Whm$]QJ4VsG5 K,9|\v:k6Hi~g䂺A%.[ N>peUpD:_;}?(F6 Ѩ}0i~sӵ LvM15c4p}ī3_ҥp!p0|pAc+ӕ@Zk )c o>޹d"#>q)&ML鉬XJ8E̖NѫJ(%a x6F8?]朧E!^BF#U)c7o’jRÁ25J(=V\VIܥ}ĂQ 6@Z\YT>Ѡ+i І- D;(j)ZYLZ]ĔJT @h8h'Z >, QE&];綫0X$#Q~bqGkWFe="5Gd/[ۥUk@SN1rC$8O[]>YK4th2d,Ưͳ6I"]Qǎ>눘Aۤ!v؎lؿl@w^q[vZeX2x?P[$H*Y7)od3=GڰёKQցK%$@mz^Ku*EoY^cۥJ'[^LSU䷆r$ voP =d3oOg)s9 *Y_$cM mYlrwYwsS%urFܥK%~QCvx4g ݑFKu5GoTѸ _N hj(@n֑>E䟌/֔)]s"F(J[(ow67WR{UQ..?u33J7|aW2SV<mOjѽrԂ*kxw>0aSE !͔ (\/.}Vj&/*.pA. c#Ԉ_-|PF>0"ڤЬ;uɲSzm# mI @EW\Bazn<6 SewgvIz"eWNG .؀zFf]_{{*tuhz|E@*7/[4c6D3 ۟!_G}W}c~?`-N!ЎBeeɭC9m#^f~X>e`NmXyQ2q (g|SaJ5(;K"q0XHq |qtUJƈk'TD۝j^RĊd@S"L? ɑoPOVm3}Y~9 erv=-.ȡ:mφJ,nWuc/>r?ʼn?B_2j<. J$aG ~X(kP`=)008^cNKr574Qwdjf^`c\4{Uy+`۔ʔ.|\娚ȮpOnPDk Z i.&?TE& ]h=,5T݁09 2*̿^,܍BhFC ^C[<+-Ucq] 怖e6صC]GU&ЖKPxk] .3;3?(w 7$9Qbr U y ʚЩV0% yj4k9W,5DEi#nr I"D(qdwDqG;-~G??cNݗ K7-֪5jLJ#Ɔ.HZDN$QڵLg0c"<|J d@UbwB8x %V)hb "6 gHRMi W\>Ue!UgrQvѥ~.SaD[7sC/j5KoQ'N\U:J첳$-Y KߔW76 |z*9|n0ٙ!RueI,_(B='DZ/fu{>]|7(X]#& B[.%g*EiqnFc3aZZXIV⿬P,jZ<Oۘn껷U&=ߵw+Nn+JÛU<6ssd#h *Ui@am}9muFzBD2u1۳Ddr~ޟm<91dES$D.5 GHI-1DL#U;fSa*cZ%ƳK`)ؒwe( 8>6(4?FBtR\y#26H}E}Ǯ9*C__bLL WTƭqQ@@h`s D@;Wbm!,1W!U"ZdSKzn^Z Ց[QQ"A6D^:g8 kq[Bs+<#ˋtofj>KZ1+{{D.~ @ƗVe,_ #.3z l]˻N's%VQ+gAk_ARc{ɏ9Ji@)ÙF]VEYHn,̣Y(*z}Cnbe )?]hifG3ZnmO0G GtHAc:-떼z<@ YC@v8Mk$1lEe6ek2 D%Ȗ &xHZVd^/I|v;]<Վs%bHPo&8մ`0k]W?58wTpҔ?xk5IBC1\D}Jb&H< #uSϜ]y6DXFo@TD BYЫ2KɩҮknDOP䰛 MM5 8ˌU 4v̢l.+ү5Nն%l> 'sp>-"+0L0;UpE3GBWҗy۝9n[(]M19iD5/+^+[bAWk}-52.(~I3v,C̻QP"D#"WPYɇ %0Nkio(>g\Q< KJembi+zbjlzgMO9eǽ|wzm!N)0 =pJZ'ٶ2z|z+U> t#Xhr#k:1k}b+L~CGfn$+ %{|5KZ$"6/ ØynH|S H.y2cnyfs Fl rYM8\p2_X?ӣpEIxu]V4gGQ!Hп#XW5z4B(DEq*k5{9ZmQ'}T+=5:?ms  lLN-:v}Wa&?(sB녧,%юF ᶜBj(P=X+WENQ+K*s((/Q6*g !Iq|& n/34un q,01O '/_ݡvt^3ĵuNc GǗ@Җ*K@*Lz)F.#f{HQS$)Aݝt[a$`^Ht^V׏a=Y23dPiG:#&4\&2o1UҼ0@ێpv0좍'5 B2,p(qef8we4!z!,C?z)n4 1/*j@IW{s]8Oӛ&vrۮ\i=p*+Eh\%a .cLrSۮ4r>?2-EUafPK~K "[oOp,ۭCbyV2Wv '[Dh"Tu0+ܟvyBD2te6A>7rC Y;J+y7\;x$u.y2A&hCcҷ%7FD#[Z@ /H#W. mF;Tp-yg=C`ϲ^R@H| (/yb{u&s-pgS@2áӝ$S&v3F{s.Yv}@ɜwb(  -i`&?/2|4 ?Vc h/JyNS="꼷~lS 9yXH^;;+]?_ڇ,:X 9eb5R}则֪,!& Y~ W@+0p2;*I/Ulܿ.E %<ʌ>,'ޔE*=K cZK~x!ȊsKB 62 >-JA}XuRz ,< k֐e3ĆS&^6z>@,p"U,WѭVx&TX:4Mu>*1bSߔl(&e?k"gh|k]:ia#k[Dk+8^ώr~ ~JNSqOr" \Sַ4kett5%E廡w!O-YJoЏAN]XiwY٬ Gsߔۆ}Kg U Ki 9aEٗiЈ4X$'IRp )3ȶ?yJjd`]^#X[qgmXDSZCFᤅZB,"O짻KK0 `kt>D^H4׃"jIAK Dn L蒓)?..fwYY*d.m"~ܐ:0d$m)r8ݠZ/OÌmTGuSSE _aߊ0x},ySy3K>*yREEk6*VvA*UN9[+9B*Ҏ-RuMp{fg|vIB` sWs fM!Y*B?+XHTcԑWo2^Rt(;f3m bVDr+_$qPX ܅*hLEĶk\O>$-}3]bV慒2xNw < ߖ^R$آfqʕ$;i7o@b0bDC-lp6ڢX t,QN҄F@{s#ӺOe]SԹ7b `dѭcI?%Ե)`=1. # 4 Wo`9tO]Sɓ΀V?$O9Τi3lMsI _@-VÚ 7f8.)N#x؆qG}u@<a`8dmo3bB&ͲFR`BCԫm9BZjVlK '|eaG=0a(?GGl&MOF/W )@刄#ef h&}3 6o6wU9PAh ݹ+~/x]bR!4\$7({".=mfpFHPłH2訢,dVD";Y¤DT9j.;%Fo6m`%r\jxڄ]la :`h&JcP.<[?V5y`a[UhtKOr+M)7YK n/bV^GRz4X!)CҐ{qcSA#=5Xs3<|D)^y-hK0695, *c'ȶ%Z 1m)ZQA<&p,n8<ɪ*BN~B/B<+ !Gf'n|Qyn%9KE]x6R!5>.p)f1ΔJ,={tfp9gh:)ApY# Qy< ;ZVbRvvf$ x&C/R0;Ңjs (`V//3s }gEa@eJ.ʱ٭myTW ?hw /im2̰kZH) Gp%%?@rגFe}WpQ2einm%pt\h4?:l O|.¸EG˛^V1suyjFο[k/hq6q{1̰WŶN՝ k/u9eYgi  tN@mlxG.wE&~D`<5<Бmh'a[^ *jeOBs7*e4lPt= }vg?ٚmSꟉ9fh畾bJ*Xx[dSȸ3m');\hVjr.d[->ݰ@.9u᜼M @ymݥxmfd9$(ǗU%; %G~t6~<^ps"ߜ@f=DT[c}-SAp[7T c@2鐲 MQT~Un)I Z ޥK.h!klvozD4ZB4DZ cGx7rƢݽ܋hsq`;P~mK1DG)mq`1|:Ӵշm C9Zs.4mph?9~ҏ5 3/xOh~9 [m[U]2!/afB}L^YFrVjh.Jqi޻cC=V߻u3 6QYi^CJֻuk6j #ݒJ^YKE;%uɳ|qi{/!ґn[ Yy:4b{wJ!BH/+?,G~Ґ۸ TW`c3:b.Fft~$S?TA=}Z *ͅG/zNo[:i($@IU|L)#. .Z32YB^v-_3it,8 BC!lB&u}A[d cxsEUWOe9{#JH2ƫ3 9%vW'ׇdz w6!َvIy5]jKЌs^]5*]ο e  RAهlȠ\ǔX7\P0|[mnu vd;,\ }YKg,*R`q(T?)SpEɳs}JvwUӘ[1x1 TQ4/jJU!:㽎{giOw(k +-.M|-"xœeN 3Nwaup#o)Gkx<&:kY彗N7M"dL)z]47Xs@MFB P:=86OQ2Vꄠ! PI6 -N\c|ułl|İ~HqwV&kѓ銳xwF:!Eq*a0c Y#Ty%jW)kr=R"p ~DQs|-? x(q Hgl,81i]$$FE|M'zl)$+ ("0_:3W`RC_ KC{yR`\ih}9p-y+nsmWY.m-sxUoBHM&t8%Xw4l&W}?#ZЋ\FC9Ydg21<T2 6 DM},xfEf0}P~CDf}69, QgLQ 5 )}1s&}L0Q`Bц<ڇO:ԆH/jQG&LzǵAh iX%*%_4'aJet`3&mN._|X@(2~'̾揑Vx*̼ZWn\>h)WTIQ/%АY,l PH8WG酺[c䩞`ܢ[#ִ!a32ǽA;pۺ52+݋"dG<ԵN~",F d^6qB̵<"/RcVisa|ABD2 Z褰AoeTYHf1/u'];?QMDON2 ,yua{,X ϲ҉U{0fwU܁j< Z=* /y9!m26m1[CاJxa^'mmyeNM!'ċp/ai Gۑf!jHHRxM"2L$L7X<;ᢧ)ݨ#PbBx7]H%\zlk,D%ru7|OGΕzH I_+xjE74G##'a=J)pX|"WzTD>X:)0^[zib kMT z%f\Υsˆg(z &cϗƉd٣( 2iiE5$'F{00!,:Ǿq!-Z1uWT1,xAIPo%)Nr16 M\t}aJթ; G9Ci<y`0BPBGY0m\Y$";VNK*R'_:|i '=c1ӻghKcn!=ZaEfg e@gϰ7qC j*-@czW.tnhU@YB k%~xޔ6 '(D$Zz[a/A/1֛d^UTpںu+']ס~Mi\-7?rV~43wjRsiǽ˫TRUlBJIv/A>ç jRS <:C'|9[Ć_}R_ ۜsu>6yUC/D!Wnug;&ZnDt)hք+WѮ 2)Ρz룺o1l1Փ䤕q1  tX,V#}lB;䖙B҃-K XǬAqMk[Kaq%T'dW* XZQ 7d::$TRaCa#{<{(ӎgˢk@$-qΛ&rF\twu*2 1[WWχR3n6_b3I^*uh,ꭍgSI $^'|q_8qڤWG#*4dz(z$lNojtR̭)ԙg, )ϷUcֺ)\t$B N cQig2zqB!bahtGa9_ን{m6 WehꗴBD]3-MRecVЕh8u"؁׌:ho%>r[zٺ1UJGQ}ۅ>2cŵ\!ei;~5)GWO gL!QG)O(sA8~VVI )mG8d(">X[wLFlvhiHl7O8l꼦p{pu /W-!U. wL;t򥶖_2M+3#4>ݕ >2;.rT1Fυ+G^T0sfp/дgY58¨0ɦkw{ACCş@U pr_$yu^&!= Sfxnz|lG0K\&YUhj\@Y聂O21lA\Qw]aښl!⤆>GF_7<^>n }5%s0}7'?mʱ1>#N*@G4a>".v ZܫFըTg/4}v(7ՂYbpLO9";WPXJ[G5E'9Է (z 7veg~P>5O[p9F` =E3>#ӯRA{duC-OpuCݽ %C CeVG,zE׋"լ ? "蚚`gh<vyAkk7Ȃ*Q`(o}^B~%Mw\76%{9;N` j\[W\|p}(Ó)U\3ҊN^2'R&5eP.ۗɏGP.^9=܌[DIAq~xǒyZLaa g.[g-)cȯ/}8Ո{V¶ BՁa~*/}1xX4D x 4*g;X}9k&Bd]XP4P<@x_W B,k] VM t~R2y׫yb.ܨI`!&<{$@t6)Bs!247U|5҉>VEM/lwt70 I0+=nQ܊ݢ8: =) , '[_?d,Lm67X:=S!/ 9ƹ TVw ޶%)8r&Ik gkHR;&Az#,sx]w Җ':@TUr>۟f\/(n)I_}J%ȋb>Ml{\mATؾ얊jt~f[w-;t#Ja\GFY>]HaT# 3ebNn ftI/h1Yzۆk"rqUkFFk~q ׄ2sՋ}8|-`X|x HU^qk ܂mer̯O ?4M^D,Pe4r  Remp *J?>6FpoayɌӁ0ǥ$M4nH!T4gu:zF,@MH}[Kit1P+)2o$ژmt=}Q,Y )N:XFy{dI3rA ݀OGȒ (O׫qߎp赺Pu`d4;t)({+O1F жܡm* 8u9,sjr0:ăe!4>N~y.I-Ug̅8k֯]sQaw;<:A 9eJ 1> ˭P2kǑTpFĐei*r ߝ! Mˈrk6}($u=OTZ+mDW'J7C sՠLݏrüeACT?bثN&#}wg >< 4%][Hڡ&aj8!NZd>cVxچþ-2|_o=!Gm03c}3:E@jMc %iT兖8[P#FgsJue"-7V! ˉ}֕;]U iicq s]<ٚbҺx!{@umlCfڂzK <(uL3jecOfx M)&/Ha<&q{T*_xG.d0^$HB+YIMJe~m턼ny9LѩRQ.#vȠGOJ/Yb4*:kRg|6l]wiz'RmΑ9uJT<N(wWݛ];+7)6ky͙q!RXMl5f4Qe7%.Tu݉==RխTExj񝠓kpypfk^yAO`d92`SԩA f  O)| \FVҾO8D!176WRXg,7gsȌ-$eOB\U,#V&ӏq|_F'q96WXFX=Ȑ Ľ^wCk0u:VڇY e}{=ïN؝HQqt~tF}-A)9I:D @6SP_0&YHCsͅz$uڲ/D"SD3iAa9̅`MyQ-BEZ\=yzr# t #ܟ[ /Pl{!9v j]xflZL@TvJ #w)g*T_5HAQrXJ1ps =~9qbGq ]J*Խ郠G N 'uK$of'K_Shmq0)SUK;NpI=l(x)d/aS{x=Q΀fP8c+VjÆW0Bk;th52r-j3LEb$>\[ȷ\+g*9A"ѕm*Ԧ}XEKt:A&َ훬}n<oQ0lc-1 B1_o ti@0vSRY#alKdN(؊EYq;iF# /- ]WK='-\fȄςؑˬVexeXm4IPbo[IV~0,o?!(fGI ž!K3'X҃@"$oVbWMm.tqrzc𶂌"G@EVDp5,&)PɵJMv&JDkԁː9Aܺ&_ŪuРHxҵ2d5>sfaQmP>}#60\{rW$";R${r}O:).m|uuݯNnvbH;`RG*2`C1kϕ^E}S9]8s"kjW;Ʃ'/5/cد<-@D$qI_Pޑ B'%&2,p`100@I4c?M"i'!CW8nE`햊0CnJU^k]59گf J,B[u.PAIvFl݇=[iv;xnrL-25Eʰ)~4+gdtZxoЎzmYgDI7~3FeևgQ9K8*oUuP ĕxr%^{&1)1);R_Y]9y[ ct{tަȖnhBog@UV_w؇< `(CE\llIҲ'zCYVzoB( ewZ+6_?p%Q?cw:D`u59S6/W0xf t܆A1񺃍B},jeSx'L)1.M,BBw>s^"}65nuof &mǧ{k%nɆcfa? ЏjG/jk]0:ധP_B4d{}d Ps3U,p\ƤC~yZp(E-Ns i"3C 7JD8iT|Al)j!;}{r3@69̞3q@ᓞ"L^m`28BL,OÞ ocN-8i!bR i} p~HyS(Dsk[הX`[(Θ.ojB)>IcpROe6Pm}lN_M;c:0F^4 ?@6|pFS7?oсw3tzf!21 }BqC?) H*ِBkD YyvOrt۾ =RLq 妝t̳wQi%)$G ApŻjz}Q嬩ً{l;kF.cvDGݴZ_$yVEwrǛɷ#A.JT7QLݲEs+H פ|w5HՠebUsJwX7͛hgfE/҅^tKҀٖؐD ^Ud m-nppy087h%29{m-~axi*ʍd-Qkr?P+Y0TgFouACOw.o "z?{E2/WL_j8OL(*w'J\#N:`J!4ͰB1 :Ri$6aZd9eߋCgD !ldj9,| 0m;*Ja~̬VNWhMnxsLr * д)QضkȊZz f/B?VVX qH$]@aNCZ%,J2_C?i06c6||'YOq|~V}BHE=L+Av+YoiЌ<7 8(iZ3Rmi"F_Ti J_TdȦ#;\ )N~w?# >"o1P/qg'}qÔn?;> >3pr[Jğ3W) 5/4z\5:y' mKoG!QSj8 [ f̴:s̮AĠT/gs7d`e>yQ,yA&)[G=Hz DmX L\6sRJcPUf2)]yGA*>UQLrYDsa`,A%h؇آѧFcAC7D': -W lA5AՌs55$㊍,uM Do-؁x,6y[J`t,İS>+;=lCacU1YpTbRQ_œ㷑bί1rlb:*GkӅP! [$J`Wu\XRxg+14=5Ra`Ǡ',xg 4gĺ;ǾD |D.G"ОCPܮ4=3SfR0٥|;M J4qlA9uHsuE:##bNN y7ɗ#jeXNˉ+˾/!p7gSo('fØF%SAl#2_1rWNW>yuHlЎX_!ڕ#Nɐ\nd̀rogP#CA$y2:] R փ8>hy5^FNqǎPjV@45ѝ# ȄxǪ!.Czm5ĭ{A,-ɰ=!>8\zbB|a.Ӈ9m[-&5 `4,1\W8&k5 +q`LngIvOWֲW݊uJ4-15Zb:۔A{bZS<֟H2 T7.^ٖ ΏfErvw<ԷRB ?˞_ Eî--u"%\=sGڌM2+GԪˍ^B/~r?lȊ} JI|R ;mRMUOrsEiE~C31uN0x!dO^UMq$ ؇{*8L|P(-oJ$;( 3qq>;UT*QB[[)aPcbJ)sf `Il8DE+Wbď6hm%M H/h4s]afslg.‡_J,h"!h@L-MEv iouM$'-F3g|]v{0X80Wp ͰᲹOlfJTo}7ie4,3E\Q!5S$ȭVs$ׄZ3T%%3N=Q8]ծw|Aަ&CNyIN҃,5M5u | [ڑq%"<;q<&Pnk+:5l5O4}=Aec`&QMQW0;ED" @ȁJW2~x[pV0uX;ę}SbX1R96#5{ Ak=<Ȳ@}BNlfPWsὙMP!wjk0Y#7 ض 3#423 ;(>Q; ٜFlXVXR75kg2ܻJ(xL`Vhkk7~ 3D$zbˌ8Ed3tA `fs72-p+ſb,Đދ vuHRCm,)J}lP 5.7?'9l9=GDJX=cO=˼B{DiM\eTWdEG&VKÿ?Bql Kq[ߐcq5ty(Au  3yZgZ,rMY5>.ˏߒ%C :ӥ$fɖ'uX|ԷM)2P6^/.O +NY 7lKFu'|x|)niWާW@Y ሑc7.;֠@J2߇sfڢۖO'*.tt62yawu#_ݑCWAD+ O4!! ,AfrYU br/IouiZL?RKudw~}p)K2AM87H0}g%D♍V`#}̰}gv俳ѬfK,4 lK)08E"M-$: "$q9-01z}:#dC~ E8 ?z膛r3aq/}_?"' '$l\k^ڞG f鳦Ym +;r) t\fnu#hpRSǂ62E*1b5]dKG5rs*̳uxϹ_/| r>(.\^eӐH Q 5~ oA1ڽ1~lp+K! e0(%zi+c(Z,;Qo z_*t}Xvi[2 ʗz37eX9$Ŀ*K(Dzg pV ?b\x=pS~Xh]vtc:'gVZ6萩%\8X|+[[|1Su>ՏbdlgYyC(|mlF".Z*=> %dN4S#Q+ad ,NCX9?Kk.A1#1m=īJ`7ҷiܕ)ʞzbdAYldeMNZT ̈́,GU4RuLyԥ.ѼP[Q+RԅZG" qs LAu 1ُ)#W #y/՞d3-q690yA&!)u [F7Ԝğ0cZFZ:v{Z|识8ʁHPp" ~ rƑa[ Q=ʹ; X|/QAYJ[[~bҚh*cR Xd2Ƴus!e TQŰyC8vkэTN9QqF|zN)`JLhY}O; >CaYߦ6BqLy dƛxviغ^) DRtl^|E70HA.JM䖍խfeeEDdrVfNW]v&vp Ϥ GU*lFO&d&9!#TٝP _z7Gw: \a=Dh>_@EQhsCʝ%~ ?nZy"vn%Kϧ̂6~*RI}`+mŦe˸)jg϶YI(E#e7P6ʄ1 &\JBJ h\ᄖ1>V^BҫsضƍAs'͒N*7(W'p=ROxNƥ\+^r"ΙiL.%6,Bŝo~J].8릡M"LvJXqRBU_Iw^: KRvf$c\U^ddB<1$2`z T:z)a{i3si!}/ dH&WUT|z J뵹|"9}zu@XQj ' ȯjد~8`GM@80&ϓf$)3/v:eYk~.'YX CӃv\uBکd"%ʈ'YNqɛ+~¦!8@Ho#퓎tUΘ.22;" t skE_=j.gMȸi42ټvIƜ3?Lru%Oe(Á2 sF0G,.´Rު1sQH"cM W \-AP W@"G:^`.&6N+U,y%dw]R:T-7[˱Afi}KS|Lcpx**}]|Q=4yQ8>n=0{i!w#ޑŒY~ %c4HNRG">TU&\ )=n#;6njx uh*Czxю_@n֑a{zi_nFBhx͚% rg*-}pkn<$B.ܕ;*xVv =>˭"ڈ>#R4(6V2z[e WnR>);8: Cܦ~I1Q*5'UP/Mɫ=7yRMSWldpׂ;Ku~pkfS W͘G6FJAZ"TҫZl{0?[maO] @>wLk |Q4 ht+Wgs):/Xgqq3zF$l ShxJ~)M/d"Gcqdn ]&?}~Ɔw}M"<طu7~y72U2p}LGK;و;>POW$5FsA>7@%&Vm\(1]q-9qu/@CYl&M_"T49`A;6)zoJ oDʘ9p~_uaX!V*ݧj^I7a1QLt bQR: x6϶ЖJf˔WwBXkhvŁ5]ЩUl ԝG_td0 ʖz$d,'9C%L/Mqed.DŽ|K ZS0<9*&GL5r=|K*$uzLDZ=zB܅})]nhu2|Z/ѧyKԥ]cn*$>'/MNZ/ ۇh58cDŽf~;)k2@hq?*9)J'6WF+T,D8~fv+-kQE*O٣CwYS4rzς#=<{ÔrS>3ލt0Um0 YXPKa|ogL"e^Li 9jby0LrmD~34ȱ ]5n&ntG_7c/ߵ%c {BOFT 5#/ "s$ݙxΜMϴ86C!Ȝ4'T/sKl5}ofo³A|<D/ҽ$ .2:aT@0YXIz L܀5 yi֋g=4ûW1,#EBQ xcaЬ5.>~G(5XFLp[su8BᚉT6v,Fy;զ/cw*?pŪ2DQHl77nb!R*al8Y{C4#Rpt/m$'Pav4a x 9`X^RE؊(rvM.$0Ĝڍ+>xh"Z!jٲ]X4 &z6HXd^CHR#Co6T[vZm[ Y#u%v~ 9vbCR4=y[b8X@k'0ACg%TvYx@NDC!~"ô:ƬQVdOܖtC3zfɪ XZl3QA>Yo3|ӌ2= .?luƣ f=TH=4ʳE+xdsbz+_L7WRcL̮+OѴWtѿ#" b KScv*FL=D"N[We~m?ԅ09taE`89@ 3 3/spdnɗh8ޗ vB2ur8Z6Y_VڍE+zW (-; zf̡1m$(z`C M` :`峾R3;;/ '84nF |v ?cxo 5 KV-SrJRqk]BU,#ju"9G0TpzrV*<ɥ:%ʗ簣M4ھ C€=pv`0)d{zE\GOE|P!8Vp㌁ ѭ[R/QJm@CY89؜Q#'ʷEV"if(x ^ܷc Ƚ6aWm3*GS.n`!5U ,焇Fpwd; wQRǔT M"|LE"Ah9 .YvZQAQvjH>E$0+RewŢNēZН ʵm'qw,W(>_r7Ux"}^Q!>?%dH+Oך/>~)$ -+qێnSSAkj@?5xeCvx]3P!QlѰ)X(m)84ރ nNՐRl[~Rn&"@Y,7J:6RaAav뼠u .0$%^@omu.j, ̢m}5qޫF/ ]#|*퀭 &ct@*Qy΍z/ zӡ 0?W ߝ Z붘ROk$r)9:ʌ=}[d+<˷ƚA%Zgjr0=Y Kek V.iaA072%­&7CU4 -'o'xX:stCvΣ9%A/\c.N5oG,@DhJsJC+G|Co|nDu|)g[u05cI}?iGӦw p2"8m;<)Fxdztt!}ZbvylpFeL"e[FTHUq@!-l 'K*jZpLatعVZ$͇1p?GOU<"ιѾ:u7VYRvQ;*u˅e!"V'1RcH="h_nJB-:=d( Q9('XX20J] o̲g`D ZaZ15pf2 w" ECF-Tp_̮A( Ax>& ͘nZ$)$ 1vȤ-Ƴi\aIj.O[9`[tR\${&/f9KZYnt{a}\۽irwp_KH _# U_"$]Vj nhe )?9Fł?_$eɗ"5u+(7u`t=*1V7K& U3P3Suto{9)w$r^!WɰnX5SB1D[xА'7cbq'hD&|XILqf2o0 dXZ # G[iҔ8K bu0! !WkVI\)QF@r&kSEvyѷ|C-Ŧ讨+aUJI% < 妙Htg7N+v޻~pvؾPS:Y OuŗI ר, ZsKnQǎ9/kөX&S\Ҕk="g֑CKzB6?aF“9CKy͟E,?P:,#xqO ͋ ΢&ݚ7++1~`ˑLإgڊ&+qGj'YX#&4%{RIv8XA 0Z,v Pky"p~1x,Wxh~l (QO-kQtY#1~l#|Ii_09!ƒ%C>*]g>p%x(AH!F|'Cl 5K>9}B^>Buj1L'GD)CMʄ8~fR Lu)K\޲U Wڣm⭺? p f?;BNlsk 0GB{G+h`|Lh?*!;:tT Xw*\|+py7݇XSdI@;`-nWzLp3+-EJ{يVX"xŕ0h#MbDK<:n(~7+ЌSLO>fI0dpi olb PLm,bb[7noozVp?VJD@F"I:cޥ. ی^uQv㑇BS t|06+#H֕TiaX48#KV~N+[ԈUiz{ZZmCƷg[68ˠA6wH̥oG\GF ?7h FTGŚ6Fj7!\ֳz7]bUKhҠe~xmD+`v{~v7ӯy*N;m|HCHy5Vp#=OR!_z4rcϢeShtOꖷfji5[,90!7~lHz- IGgy4UEI0({Rd `N4RmTϋvgl#Ig$RĥA)Q򽜧7l)b>@€SDZI7bg]cnb|_XIׇsJ$+Lӽ95_ͥ 9,/H; 9]m"h3~JQ@IF%;!"YmzAhM>TmN2LBI_ >R4[BT@ip$NEhNPstvĸ Tug r bj0`c?8z/6bOݴ:2H^Iꇬy@F]D3p_j)3r]LaG;/:K}jE7 *l2ݍ65 %TR&_Q&wæqfNR}T PU:(O᤯m{ 9VHD!q =ӥ\f2OspԑK>S‚=#0N4>Km7ߤB`˴r@bG@n.p1N5^ i\Ԙ9Q)"#O[)uxdKA ,!V2V]XEZe!@n]õ۷$%M+T)9iI2Nծ fS\mb#|Å6U"Z <{pWt{m4/-e S'B&u؄ '8*ܯZYuéBE޷9Aq9:&ܴsUy(!`x@M™4qH Zv;Ϲ/ wSHb!*6 c?t=SiҭGJ#|vFUp?6XL=h}H_p뿲vXG흠\s!,&z'cFzU_ puj̠{}(|Aڤ]_`|YI !SI>=[˭w&W1+:,iU60?n>$GZ}\tw~dF W^u{jiq1G8 y3G0ݹ|5㉔J0P%c"QiX@܃aRE=HߛFLr 7/ʝ+/;80ZC@Gݹ^ߎ[@A q%2 qR]6ZLI dN/"< p$j{f͏09=.¬чr bL =Z [V1㋝d_}O_:\ {lpT[;3)pӆ^"ޭܣ?7b;}LO% D}x⽒S/Gl))*鐣<.2L Ae@KVX4E?:269wD[7QM@ gʃW h%̹l0f>f|I{L8ͩœw".g FD@ saN/ +%C B1k.YxM@jH[S·*X'aҝ5 J53mofb=ȼ]2I δF:0#@RF)1[ ֊ZݗVN({F7NYׂ|`٫_ŸBܙ@N, D2N+.QaKB؆oj XkEaACjȐX*#hO-j(`-Qȕ`Μ(]=mֵL@7m9d9yȂ6++^l>4<^l2FꞷRm*txY)]G<3[ ;[IBoߣ"R>F8U.nyu[?>deRɾϥG\Zǽ윩ʲͬL~ם!#r7噄=գ5'~}ߨk@v xd-C'( 9.=#ɦąeKDL/94ktX_ӣ9Fzu$)~C?@huB0|h.3Qbp4YIoxi$kTГd)G0g{B8$7&-ҬwA`c 0(2aZòeH~[.N`[⁊A $NZPC y o#zۋ~6>#]۬#'r*Х)uy.oPhd]qH;c-rGq\;wv׊3 eJaªPq.D2+U iz>'_=ۡs5wZŠ݆nd-,Wn:3oE08a0ANsnN.NfHMmxni6lAxSW.DtQ2c6wusZ '7k|ɿ5GZې&[17M 3\5a)>C 9M{/ݴ_}U-V{%,j^Drc-P ( oBj$(ܱ੖i!nwq.pFu8l,nEZ4>PCkkLpzG"p@*^̄ʹնiC|CqO?;s!bf¬~m?>f(DϓOw'7e;jZJȁ 5+.M> )}c`R\jrHYɶP.Y9 xN2@#G n8)/7M\2=sd~4t[&c'r2sq$_eOEQ3k94 ?K'SZ+,ælA<`9SG/COK_;} }&HK?<\F6fT̔Ȁ%Ё:szj!i|2z.ZߟM4~ԑ+3,Ēz" 7).Hl1"~-y8JJ֣jn- |q [s{\ao(IhsMNT"6c*G/ vgS Ww9VC)/,1ܯZ_ b/!)j<{._$٤`bWrNw|/ÕG99OP x"lw Q?L>z^~-WP ˴"JFH(؞ m! h,AV-7&",RvIRCN']m5;qjx=L 1VRknIv$hȦm'%͇ 7c#NɭkUE#FÓ3tyMQ2X,bX0)&L7P&ovd>#ocNG6%ׅY`NHEL#[RŠ஀W+9G|̺Q2qGvXJj1F GUK=6]ŷe,!kF5ojQ5]2* tE Bj@P7I{^0NdG[дA' ΈR16Qy`:CM]ͼ s@RUNiȻA\@w 6Q4 L:A|WnzOzꆳLݝ< Sk:ٵSڅ f/M yV:4 H6kNn^:ِHcHa!r\p 54¿g1/~Z#F9I< - rՐb%*."E=f`3*nq]V@ Qp 6X!IE*l])=Z@.1L)rȓU$ȾY6>VVނ ovlA*g6="ǃ0VhN8zMĸqrSj| !sL\/UOПQ"@/0_*P*=~Hmtդ<<$[EE60Mo#/U6Ua5׭ᳪsg+΀q~5\}Z(;ML}bFf80NLVfҟ<`56\8!U%P'q"Y+˨3鰥W bɀk5@|`5m!ܘ[NJ>qiyzRSܔfO%SRar05'51ީF㔦K/ȫ64O)cE6\@:I\_p#PTiyx~9 0girEh{1TKn\pi?KK,x)K$,x8;{ :͛Ay_iWxwJ&_KkdnqRiKjWhRwTB|8jESbZƽOHn0.@|;/NkZ(M~h@U^G^s/v$7gm0TDJ3Zu j-r!¥.x FI 1 U?kӐ>uDjciTm΂+8p]% t'/U"NU)%3jr.E&Ha bCW\)K%Z&w!݆Sa ,~DW/G]TZM#LWs'{de\KYcY>Yi=*bѯ6 ś^'4Ɲj_1kLbȭj<{tJ̢\GaJ/2V)Ft#(]> (ai53]Xy=J&ABk&F 0k91=cHՠ0g`ՏU4 !p W\U$3!Ǽ#ʲڨݲ5S,)_j& ؕUW"y#t!*'mNȇKq2H+F'*+ED>"D`1+{p)ˎ 7r(>4^芵%DM8!&Ap]#Zw+?JSL{ Ix>GDYimlxo8Kd+IpTg,1"L=Hm)g>EېcbmEeƟpJ΂~䝧I6Ѿ$l{=JR MX0[{V y;0!oseRlLˏiUc&n i"gkl3;<2hM&mˢ !T+SDL΢949j ̆48uqQ 9z`^]cһTG0 ":AVyzdS"L>ҍ%):Grdt# d::{+V S+N͝L |`*Lf`{XrQuB't_PR/u}q.{Ale.֓[Eϑ4x 1 8vJ2' 3jQѾE=OIGmtߤ{vC5i^.|B4vLuRn< Z%|?%nXؓo_H!LTCqFȎy?aʭtr 9cP;wDaۺM^ Yiۤ%Fb f퓇&Fz{^sբޟ%"AJÿJI%f!@uȐ7C 'qm[ ֔E,^¶Y Y;纛&x;_.kEG>1WOvvjqE&SOW⵻OF3TEVP'W8IJ{Vf?}U㹞VW;R %GoEJ#oj3Ln2yVX<I)s&aה3Bř}U4Yˡr6lX-P[5^U^{|f`=@[ WN<+WOyU&IEފuV8 t@3ߡz6xKRa]8_nu^ёc v6s8t\ij> U /UPLfe0S wu`!@TcB3sGrۯ|<λ@0 \Spe<Ӌ|Aa")e('d6n̟Ƒ&@|=bM=swPܕAMý?*_E<)4wyeK z- l)͹)h%`XyWz 4WYfkQi)"ժD:e&|#7`ě8Ga}u4vRDҹjN?/-wxAeD/ycS<H~Fѽ0 l~3 Xd Z$~OPr=XOeE3,z8XlX"W&.*8.-Bׯ[Rw_6mOQۘ4TGI|- >2p?kHV7/gzo?#1QʪKcj +.%C%K\ ~`.u{ LJ#<GG!Sexƣydd Ӌw]IR w|<^}9+E+xmqPIqg촥VP3b_?3TZR:Q6#Ś+YH׊ 0ACY8J$B/$ d[1spl1Ԋ@@Vl;%B]*ߡyx?O?e _˨twWeCVyJhJV;+5^c R뽅16H*9]gY5|l`Bv$nL~hH1Ū Gtyb("x4Q'e@I|p''7֤(sﳳ& ^l;KT$l%p%@2F}D;\ NKqwBh_BzUQ4 1bp]W@suR}mrp+2Ӑr6yKדV \Uaȓof)֊ G-MP#b`kR0_m|GZuo}G*W?x&Dxa}0[FmAϊޤKu+D8>'xy+bS ?d۰-VU#{Wf>Wٿ'$*Y>{k@RːUviBM=+;J!Ap yַ.$8Z+׃@m5l-"?.~3?y wI Q1eWׯG'+E@60cMCma n2pU|Md>\ \@Ɋrpd}…>gk+C}Z"X-I[oㆋNmv?CJKGD}iX[_J ~OFK/㼀7^Rx"$`%y(zQMTuS)Ol|\/_@)ey #oVyW(7#Jy4F341`X=xH^$n;>t})Qu۹'>(s$ũMKsAJTz)wӫL,ZI4)@GS,QrJ 1T8^`#_} Ϭ=_tkcPOt[KL"C˼K5M4^ЃyoEu=P SR&Q"Rka#J;h-{K0 >Tb E6Eu.|gVmI 6R>,gšz L #i ٝ$%uBiӀF?8|r[g2@a~xЛdTbufZ1AZ?7NYqV0wv=_خX{R'ri U`kLwXLrM[;lUW&w(3̱4-Us+7mpƨ.P@<]-=8ƚql0=>XFߞqэb: {+-)`-aWNVӣdtabˈ,ǿ*ghDOf;fKʶ'־?u-ol~l͡vXֺ ZSt;<в5,dnRPu(J x! b5<yrnV.Cqc%cHv%}}_/},gɋ< iCČB:`k@!UH-TN&+)Y5!ͺkewoRc|'ʛ97e_0 t#2ҥ~3CfA [i"CB~~0C?Ø=UZLFm=,ζNtXTA8c"z?0"%8۳:Qmu z=~ 1< 5 EB++KM-ϳVV,Ev:n-`!ZZDD=`vT~cis /xsR l+ HkUIA͝+TL""|ȨPG7s{LDLt,U'3IhlpY>r{!@ 8uȵ$¡b|ӑel:mWo.jdyYD"!ljW}DrPؒ_zctOSk zhJrC`ԜtacT1A&=7Wď!`_RbuM)ɦrR]&h;[_oSv/]P6abr_+0dCASN{Ŕ7V>~b* Y$D!Hjt4t︢0S2"egc)b&/켓|\.UivȽ[Cl&/u\Ȉ˯럣pJ Z}1HHu:.A,AbxRVIE)0tǒK$ׂTlU4jyNBSdY~ݦ"aW1tHp(|\As5fh>6CD}JJVXbhSQ.H !m3T \-ДV5 G%*?_zoO jAaM.=sCm!`#Tb:yRGEEGIaQ5TmMW-)XcJwHo8A=S)v:9V~:i]8Ja>ЌJXxݡ2Qj$@)PUS( q!ox@(t{7Jެ. foFZNߏd6S ]D{_FT@XY/G&y=1Q+r65^o !`EWBZES5Zq.(i"Zzku?A˹\(,2.[%M5ƈ=G-q=l)Mk9sZ~,eq6R;&4!ߠ\80Ԕy 8{=+Y!ߋ~6$ty|<:(?w!nЕ^?H$dDKbcHiIKyd\.?D)匤Zz}>_L̷hafeެV}Қe$VW@9g)Og11lhȿU'x^З\̦ Q9sr $/YէXst. f0z|n:`~݆p3;Lr$8L1u ys:ͬ$ \/pc{"c ׳xT_f,|Rk3+_,@Akpm"˔,[;>HCJJ*#Qk$)IvyF] S"рKi\-YukeZa4.jA]֕%~}i5//96Q^|}@+]rC/ܟ8Sl\LځybhҠdEo$4?`Ur>G*ب(u9Fn= 3nIᣓ7VS4R%_^/*J%ƟbFꑎWF$Z~/*Dރm;afICi'VYGe|oۢoarZ)s؆ՙJɍj;Uuv&YT*ZpkgZE6[ĬC&tix:̴]4xWN't*mu+3>f`Wٱp&}1BGOz` A?ڤp7}ћ8tXYIճj[EkH&T~b9#% .7(aֳVԚ3X7>=xKasoqQ1-d;ڣ BLtu+H0AeD8 [XKn!os@?{pj8=NJ!g1%!Jóu(y0ǁQDTVsXm.q-o[Z,JRqdDh7I >r*_缰tp8(ڌZ p.G$ɏPLC7͵3̝;g~"?:No gH=2,Imʮ?'>Zل Ra ( $ziW3 AY{$XDQNT&6:|CCב\6rRDF:runbt=Plo2zr|7½[ ZJgBv)b2AJL{Ype~>SeuN'ea C[u5̹&=]rMǚTσLzK٥? \~ëtK=@n^*-sn IO >?t#̀,'}`.9E/>+wɰ E C;"+t#k٩b9`3M"+6Swo9 t2*hm  WWH/ȳp$|VKǡ.@LqH6@׆tX娋YMXMR$̙CNl$b{a9UL Z(s0$3yCn%a78/Y=R;i% gi?ؤ} auRP:G[by=G[C15-!sR/v;Rh0T(M(=lӶtaĶGĝVSdksYULKaΉnNk;;1ڼ8l/0 W}.K'J'hYY؁M35T9_}\DjE'3b&}Gq+j,d<83tzcRqw ZwRF 5b.{(Lk<Ή&'MpٺE6W iб.~&[XX)%̤PA+vJcq&E;fV:u4'VIYnOt on\\`\#%UpZxs T} (FG㈝{]ekGxOEP] 5qd!ۏG\Giv͙$$Wȳ {9̹uk&8M0q`{lQT{lMMcjz"yã]Ny[N;/܊6 #~P\6W`l5 lWb#޾YWfGgNqY os}unlQbzh[J N2Z: [2Xb¢⤬BY |zC5Lq[N0Ҽ!{_ՕHw6,ia V}ϋeK6;NioOGrõ۟?rn,ƢN1 ( *ŹxC%_WV>1ȑD^̺S#'n'(H+:O#;.8FУ#CnZvZgңR*|f~Vrf8&fdKhMC <$ֳSI6`>VP9MƤNr0L; )j=bV]Ok-׌E`w,JL;o fۢKy\; Cq Ѧ@Wl?G7: PxV<;2dGlˆt emMz7/4 OmyQ /X[,tOZ{{sxA%4&uU6`Kf)74 siQ1`?w[Zas0Sx< :aηq աo&K t'QrsA?yGGeqh#[sR~6~ԣD u]qcgH8ƺ8䫏1yٓ4%Qcgo1U鐠гf/ˆյvi$L<$QCޯUH|l [z[wcBl>o| ԅ;6\ۘ35"\0V&RAP&#m3%i# (] Gi8l C:7Ot&Tt>/9飚ejJAo]aJ?{Ƨf6JAa'}j;B J;5'^֗HQ^4*oU.fǿp4њPxMDЦZ. /08HryJmZm}W'ۮ؁"! br FRY5.Pz<'NУ 5Dە>kΗD:+Fhir+-#0՞tp\\a#bK%V?`eL FC3-E쵰Y{T4K%p!n^3YvXc>?O5k-FaAT41)D spP<6kn:LB̜ȃ bkcd㲣# W𺘷YcT<ؽe]~FD#*CD=,zEgY͘|G,/[+X1sk-LQܶ~Do- 4 #l0b7Z @϶iu/v9x^zԳL ARrxi@$uq8ZއnNINrdȟ6AI Ttl Um8Og%f.Cۢ1Wۓ :쩤;f6vF;W2cM7D;PhbKrIΚ!p e&]<쫸ܾW[C!?r$w(IX^"q{zwK=,w[}V?HͿ 7qJ>k .lNh2 id~r1d0i(5?Rj2J-'ORB"Se|e/^|'lltR fώ2sCyto{&o//t&η^`mW6ǃɨQY¥m\!;azP噻L-J(4O|v)na=f>F՚WV㯍^G\T>qDxѼ^I /Ƕ|}\ڿ1}V. lK hBwJJv.hZ~,z53%*-I^.nPe2%4lkƀCwm`曠-9c*W) B<-mrE%DqEa.-(K?T3!ȷ3ޫWY3'=H10l OgںP3e$eA)4:1hc,tLJs/(y)x@Af+Д=f?JԿ ^WX]ˏx E֡:fy I56%AmrϤJɼJIZCnƽ2lU㾦/^OXH-_a0%łDЯO2{"/!x{6c,'9ׂ|5Z~2Ň`ԀZOKJezJF}xi G*C). cgHЩ*kYaƈa85bk+:xh7n#,\€ׇ{퉥l̈́gٵÍB Yխpp 9ssc~P5fj]!b #ڐB34in5^+!Lu\qr8gmkְُIU&rOaJū`mێt+X\k ŸDU|lj*oTb'hL ] J-@QDP%W`{|-Ѡc9=Ȯz &]˿watS7){*KzA= wP}O흵(~S_#?70@$.-E=7,)SGj爂c~%5ɭȵS(v M@FPh{KlQdqˀ@N2(|.!¢AM^DSf{VVNCUccgEXn9B. ]xpOO.;*c##;$2QJxPet*+K F3ĠXwɍ'jtuDR>]T!_ 5XHtFR}Z4Kv6 &a[.Ԓys6U؆؍BXHD[aK=>@p&CX#O]/Tt|VW /4,67DQ\dd ZI4ڡkzT b+ (pF_\x=&qb"ēҦ).(\m%:]sF2L&F`BM(AS p;}n_'8T"|Y.,пc$E .Uv0 B{Iw>~ 6} {AXRy:#Kw!u[_aF!-}lzsk޼њ'(3E\/nms;qbA;n{ѭΜX}0T=S8>4~ `l_&eVF3 nCl N/৯Q#:emR!gHEC.@;6YWwX_|'ed޷mmEmIp P:+ lܽOTD K1":ԦO_ sH YF &# t*= ֒rDÌdHՐNj['ֶ ?16E_`nQWjg|9# ȒvV+TxP֝)t:G",R6UO f@]¹40e 7G}= _B$ZI$|u@}Rz'| oG,KO"(C#E݄Ri,`fqLk61)ӠP*ٗfvNA⇁|Gu 0;eo QۚpO+"hQIКXz0b\C #l}cvCΈ{Im8!L3ZqqbDJBrLO5ꜷeI DPig|&Y `nA]˸mhSCrrUaL)Ѭ5gѾ/Cİҫp5D =U@Aخ2,Eዠ+<u6- 1r`-}H{)nT!bTHiۣ0[FH5Ҡ9~9~hTH^|lI}PynsK§}9H`w"CĂ.Xhbys tT0>Ħyu5^v*0BP6YP.(n0zr-zש$7kZ ī;툀v1|dOm=A=p}g ؓ MxdG1kʍfZKJ]psӌf,׸fS摱Rn?PH*EόeG+9*#ٞ)Aoe,6y<1>=.)PuS+ՎVtq幷ܥ>%Z'6W5̦X\dRt=֯"I:(o' OM u/# nlWCc?[kKjL\s8:i&_aR~Vw8Θs֊ZZ-E| GElƙDq頖1"@oyE=uLu] Ecb)*Psھ}Ha}!YIęጩy"4E@*my;8ܦ5f0T-xUra YT>@?/ƔP䷰0_goȖώ!N 푸fX6Rf̼DBnÛU䛣E{BH{3X#@ O5! KIZ߲| O>~k=Kߦ fnp?~ 4̯&3_7 @dE0"m#ccUPm_wsHg;y{$K:U}6DFW}%kl-DH9yauy ڛLO ac]_'h} (D {uM2: ?E'?oRIpe$4 5g2mjknGZ#e.)6-PXe5\@K(ݍ;?Șz#z@q.l)m ȥP.I;G/ƌz#n2'&Jw,~0Lzkp~IYDy:Grұ0%,o˙[)xk+ުyKAݻD7q_۾3>|n:H0 >hʠtL#7.cSZ)nbw7m693tpAI0h&&8wl!xKbѩٻޛo ߬ p; kaҚd6WLs^5fCA\c4o0lR54 M \ji:y ԾHVT Z?hKodGBߛv.=dϢ3[k!a,:Df:SЯ A~iw&^,O%iZq:BGk/ y; 8OVs: m-+zJ5W쒚V$/Ge+?Hm¬DtΚ{sB)U-5tQH2 sc+Irj;u!şƮݨ1R6 } ˻7sj)7!heձZ J(Q [ª~ ]4e&UROlӫ7/AIč9^Շ>AL*ȽGa7AJ347xr(i͋dB ffہQmS& +2,`U^|Z !Ȍw>z,Hwlpb8I #~qȈmD|zfg p5c*"ǚt3g=Y^edN\ah[c}iio&۱SpK.- +,P%n#7Pl1h5'p m&j੟'ѮBD7Kr@b>1-sNANgnr.o%,>PM?@H\O|v82)( K@=XsZ35(S( KrxMwG+VN. ?rC,]~o8~Qjw"@Mӧb782ؚ7)>gӶm^j+uac9;nt s'f؝6h1p So YK D,=-ENp=PEC;+3Ã^i%7o/&악.PrȂѻu:'盏v_ CBNDZ  ~Dnȍ wȘ1\Œ,D݄="QYLRe&ʷ<4DpwE~Zɺz)oҪf^T"auҸzPiJ_ oZ;6[}Ǣd5AB4~'6e1d%x妱V޺]  Y )20BKG>,3̜RYAs7B։_N]!{Rժ$E? =ACXh%JV17,g6u66n\v?Z"dV.5RLJP5~)Mm‡ {86f9_pn=w~¶e)*5kh7 0ޘH,K4H4ZْtWx+VK,`v MFHAхҡ\}G -NL4[.08Zu-P+Vg{_!:FMhm+r˳nAX#3f\>;}Fv-&dƚI`"8f XOha`[A0<XgYRdZz5akLs }<}I MqDSi%>!}FAzWᶞGoÍK7OM*zYyLc-MZ>kЉfސy`E ^iuF0eDOǪ#ׄ{G4z5n\g6]R%60^zb,ʣ-}O0$#SuCv,I -:ʲ蚦TMU e&489TqrXij 6ˍ\8x, W"'.yer 0XmYOL8s#9fN69Uę+ 0ѿ̋6{1<\;$,EDMCڕS0@{l3 ZkVZExR?,tY+g,7pF-ĜTAnVƇ=~/~.iE'|V֥4I;v#j.eɮH T)p:tvSϢ{wY$:w%b d$],0p *K7ɯu'vT*+0km#; teTb Arf50{ۣ˫t3HVd&<a!d55E +m!`y6 ya[ă^50id ;#si-۾duA9V˙BC)]A*RwvE4]F/W|s.$cS' ]FiE"vQTݷk/+Sԛq) HwɧL'W]nkfةXF= t_M^W.~U[ic9c 'k0P.1Yv:++\7hmxᱶ(Z$F.=X]hH}L S#B? ҧ]yI$6gwhEdjw}J^}qC?=id6\$XAoEWm6KzSsfRf".O>O:c?/U uGV&5Q! %ŎyL5-]V_hE7Aʽ\gJB/_!`Iq>NLl+eTf!!TG$Ib'z]QH4FdU(IzdN9҄55o{>Q2~QJZumU[_!hGD|r&w_`:NTqr5k6D1q ur޹su_SfHXS{V@xBb2;ְ! q6Fa/}ur;vwO}T=]:{S=UH]t~;:Q,:WcĠ:yOnHu-~ZE(D6a-zCHyvDcİ壊KQU& ̬om :pG9gK]nQxb,p;g)pe驎5Q}xОY'Q X:zܕtבK$טe[Y`ؽofwlRtt/V_wP=/UFh_ނI?^ىg+vdu!1aLqvbu"WS\mA5$c=˛oC-6M3Eug$`N#G,J$FjY1PɇA7/{d SgaJ>=^~;X&R1dFNrK0pҤOHOPr8]"QbDᤑ7& eVFf *8h#]UŸXlq{hv{FL,E9] [jϛ\^P|T^z.4MU:E9O ; {Ɣ6 kyW ̶Di8|)ZmG84؍iv @ f1l1ⱂbl5sXTIg@alptyq I~+yB@%ײ5T{% :+/ VNJ0s2rL8D,8f2#ᓌ|533폓LXLmfւoL 1)T #5̷}/?K3guq;P3SAfЯcԈ JRȠvu_\NǠ"g.34I" N @P! œ8@U56r)z 8ҷyQc*i/̝ЕbB+BsJR "FNu[aEα3J Hk)ӻ>OF5=K²maY= X,$G"dPw6 Li>Ыe^0^or*1xtm+@NKyڼ۾kiFlc\ Y.aBӔ^? ٲR6fGT2eZ46& ;qԯ_U0KnI}ވ;iL*VaC=z>l~ jh OH |jgΤ_~)+bOkAK8SoSC N!7a 34Fxw4F#FxܱC-[ IȰ-?cxFr˓ŀ/nbm(fN#xE۳ŵ-R)+&Y [,Gqn\ cM}хז8r,F}=!NՅIVmgcF^6 p djNUp?eF(NO}w"GoHPz'@"sCH߾~(<­ʑDvQ.Ux6߲j~ReBvģeJUBU+ީ֑IEoX'KmvU+ b K4hrۊI,Qm+3Q"Qx%wpf[^?OםvSQqT޹uqcdI hnH:bo_Zٿ= ߹R{躧N<wU?AG-HŶ-$NQ g0  ]zenY).'ho熉+~ t]);DE}+Y/`Rh8@x:ub>!NQ%\ Q+ĿpM\(6z7iBVu ,4ݽccl(oF`݁6K&;Tmln ?bl!ac YDqZwj\G>`"z,)kߍaLs;0"b&Za[JUX"@*Kz^4hiqv%#0s? j_iJIsH]Pup*O` w[.w+[C]@%Uӱc lEM;2Op pMIcLyrcbP3Qؒ6O:</>_·TDӭk@$H̠rZS&GN@mS^s D 5@F)M O3Ru I@~TGxtYyC|Ϩ3}7tϗl \ZgkKW''" va@/1!Oj'9_؝Q~2`JYz(%^7uM%쎜KW58(=]E5mT6[l8rRԮ.QX 1vh Z]9@a镖- F|tb4s)\qfyA2iXTx@e'k0foZTx~S#U3c69iv%ދ.Ry=K,޸C1vZ1%f08B"1PFMA7' +=T@q-Va=5=1PRqb1mI8 ) VJ_QT xUBU߽h9*fSZ _79 ξB0lU]R)',,sX8efH,p4ѕ.٣ 6s+WxWWf?$%[ĵ﵋{!fh>kQeWx`_b;?}W+"#'NQ5ta8|ٟ,;!jL:Ex}1 ǹzNX`G V8>ҘW2-ߛI)3cm}񘈛ܫXO@ +cO2fj2(8gkܬƳq;漤 &~d3UAhyN>zq@lT9IMO, ` ?1E}niދ#W޽8.m!td͖ц* D+Q!8^,p Rbŝ_5ٞB dossr"Pk11h)n Şx k1TU'L+ؒ_mWV\@KsޫԎ[| e0f<'V3r@ԜpfW:Y:͊* WIlk}AkG^ d?ɑqsa[`pBm,²[lB=T9""ZQ`̹ \>iZlfDn#U. V_'R~7oe3`rNBTge֑)o1(lB|N ɅI~O0ӼFb,aQ-:[98\lV=leDSl]0 \S'50T:Zx7$5XC8Iyxcۊؗ9H-]InExT DsAm@hfUL/e{kKt[]Ӯm~)?b cbn=&Δbѡ-AY7_2g7!_~)ƴ IMj&)՗k_X/I1X4Oj!=VWU/#EnY`Q i*[G1<+e鄬C]<ch^9@[_M̭3Of;N{*F>.0SBV+eA:1i:|xyD\` )3;Wĸqh0W&QYěQKͬbTZ}θz(Ad.@.5lQPiY:>ҢRWiԭQp12԰k${˱6wי*ʃ7%[o"V1Z}b'R ȜG^ =ShX3^yr&ԋ$nOAS pbgO(f5qf&,BT\=]*TAU60a>аbY/:,wJqACW1 R?!yk]ަ!0Z>cf x^Vvt6,l[6VqslshI5\{47ut;CqِMAs#]~\2xk'hU9[:W Ti1 Uyg[-C}{-f3{/B)~F.&.6KQ @,!yg19 8(J*և`@? Ć!fB{6MZd!> 029貘XK^170zk~D)5B,B)-iڠw2 7%#wRb2驝YUs܌9Q-Ҟ@:o"VyYge5eUpZi'0,B83- \Oĥۚ?F.'ԪiuqyNkوA8˕ŲQ,7` O lH:e; :Js!_%v 3b&\^ƪDDZnfTLg9佧܌>\|#4Xy:|#z~;OnJT#beZStwL!._e"PPal#%TsFRJ3U)e9 ?oek7c?#7 @a|9V фѱo;&Գ2؉8dk@G>QuwGz}6)$)Z7׭6zޥ2Xd Sf;oŒ^HcĪYVE.S$bCZ|;"(i8 Hv{X? nJM6BE[WNlA`Ry>X&=E;Evd)X]Q&U\'2.@/zn]YC$C9hJf%}c,T@ضϬ A[@<-fAt= H$^A^.22`^<^%\1~鎥ǘQܳ #.Fl8 ,]C.ձKO+P~_F,e$_Rm6Hz;f˺ꀬ.Xɤ㱔nFbGR{})׋PX|B,v,5Oz',xs$A hEED̔34qgo C3n8;XF@&m1=%{m.M&U9?w6運7!.{z QFfD\4H%e mTOfp9Ɖ􊛏VѶ`n2fəe)>ſHbAatz@y1 z]H9X%=BkF,KϊjMN$g8;_6OzZ˜, l?QW@Aij D3B,Ӫ߿1R [76K&b?<)^ ^0v(yJq-_QڼVi  JSE B۶v9׏Ò(aec@IP L*1:s'}> }bMuhzw>mܲcR{9LO&\Cz#+5PTbZmG^kȔ{1lpN`ES 0b2eAPYgi˵;༰%+08GكPF&{ L7/' (ϵ}N}Q˞5T^h=' ˸asP]r02yЏŏ̭X.BU0Y;{S?'|~uiNkɖd{#G0͢Cy'4EwYgև8pNHcyxZ-f"RVynS?Vw<5}AmbZN5]%}gOU(”+&:B}bN|<7`H FPirz[PR5,He/n3;7j 5 OE~=F)u:  qߜ/۬,52GhspJiva~D @Aɨ,Ah=9eGRlps2of0:#!kAFҍ5'w /=W.(KHn[6R!yZ)*h`ZF?#}ޛtH(v3%[JӡbϜn~O1LSPgk |?Ԣ=a\;+(Jԓ nd1QoQ'@Gk77޴07^RqDC8zہ] gW~Jj2 ҃[ /, :'Fe`xJgl׍F@6R0ogɽ%fB =&F?_-Bߦ Z1DՈI4J#SHgu_|vȝh̃ *[;ݻpN:,)$kۀ\pǓŤiie X9I0kwVN3n-[Hd!?_[v0_fh5.eyXiNhYϦ1'32=}%Uq-!#Ǵ L jgx|8 {7ɏͪ8Fm LV*--n%6H/KB׉0"AsBB52[= NQф4_o,9}\^ESt&ZؐqBSִS0o] 9vg Wg -kk<OVeބ{W=W,Aڷo#)H5n2dFu$eyW1b.2;çz |^Fɂ#s1qv;Т 7Ro,ja'pQ]J- Qb`JΧLG )q6pf][/D @k9 v =%ܣbG-HXjuB=a#JX|];dyo*hK_۳ح{:Xӹ'2Dm^!R]-2p@lR&&s2qPEJND Bx?L+|s1uRr_"|L8# \6c& h=nƤdg[вZEFHKi&'}po2ڈ?sv~u,MElz!qItwܔ/[MLXElK/)iROTP }|NqA:Rtr_'$ z6Rhuʴƴ; :aK A:x,LVD,&C\=-rtfST`MďGhK`ҹP+ad "@[J;}S o.8(0O!!ԾR6A~{ ]) ~,oB;5z'_ FG56Ԧ96* m_!Z~n" CE#&˔}Ј}^@oDm*Id$6'`IyŦ0,*pW*|¾o#>XSMŒ%]FfG `%Z0mo&ql lxL8@?%*+MKa($.rx9O)RKÈg6{ m2.6QebP7~?U\<Fl%O {u0f_*4— *+ 7ecKHoWnꡍ ?8m8rԒ #xL Mb0ynh!x&4]! ū̀,1ڬd=;s _2sra)[.旄 %nPH"߫u\vL mD&@C2}`qǐshxNkiTap.B:lz'`[B(3=<nSӽzknt@3ljDUI - ~f1u-kou4܌ Ԏ0968)uk27z;M}KB4tˢy,7|#n,݄ܢ*A{raØz~DʶQ J f};xH&0DdJ+#̔PYN(3xڨu1ҏBuٰf+ӄ.QGRK r6ᠼAd9nڽ:-x`i ө)Np&9l/T؆ P8?GFTI% UD84kU| 37ռ1& = XyobD/R.Xy0{׉TJ\zGoչV7B? <<PpM cT\]9Bn:-L2o}/W LD< ƣݜ BSy$zdJAfD?I gJP4`.Inv1uz_i; ,Tw$ R=LuY%j}) Ԭ_dz59",D`?e%ʏ@03&ڋ΋3,WC!lf ?+^479Sv4mi8aR#RM :\S2~e"E[17߷y㣟~O iq?!\2RܝXAp5ͺՄjl<۵w$zGc<3\jJQ8W޽ rW2&x(AO~>,ZhVwAX׫Y[&Y)c! nP (3j+.#t$U "×Lc%;yQ.G*7@d|7^HTdqnIo]$o0g5J0#7\nW.|4F*_,fy+z~F>ِ,<[mlK-1^hC y(yx"RbH@بy/va4Zraz 3Fi`"ݎU#O^b۞X; 3miH޹Y-|0jiRjRZJPFy桘(+4[ i[Wbʾ"Is03h.{"2c싫?z$8F*Zo3=7q.\%alLRtP4# SXW{M1 1D.AV (?Mp>n|CQc2)}G60n K?-O77ee2(_[7q7ZpA)rl5dvQ'jmTot+!T6Nt-brnk4n򳄏S@9yc '0('71NLgo`'lpM"q﯇hIprK{4 P}kc'})$dF]`q2?$6_괋X3< ՒUvj4JQC2800!:e7ו=XꃒԲ*ש$c:%K!{% BӘ㪈о``< g NVʠ9tC"㼖74aMsy<6 )e\٘f7JGb@S q~7nT4Y$l6<@ v',qNso%gdX ުʱCB'<+II>`G /&/iγ`HP'7宑mxjiWDYRG2k4ˈ]A:Tv8ۿMLCf47W^D]b,9 NidhH\N`,I+ݠԛ} ]6},sbu-C2XODba?2KQW`=$`1~D82]P*>h9r5=\58;WQ#xnr U@dbZyAz NR& s}c!ZBh|+s%΂;'%`kzT_tƲ։ܝm4SegI1WL ba[MM =5" %!ǩ#`Jnf/+xئ|蠃CeW`RUŇ?ʅu׿/~ ⨣tgqAl4c&'7>q%!3|ih&ժ̩ $p`e7kc͖]M*&t͒T4+t飒2Q侶>B\MGt.mLE8f^f79jmlǘ\|(ΓʕZ}CE~ߖ&.#^3tRD:TػU=ÏyFc~͉rCIX'd#RݫQmKzяk) ]ս Tk+Q4ÌSJˠ ?Kpt5Vc*U)tV|` f>.Oٝm N-8Jg2"uJ?]D3h'_3+АۮBaWwL?z xJ~]c & sv)gb0֓!f"AnJ݊<\v?D^ *7bvcY e~O~#'mh>*tj*`\m?@-= /:քN),ƃB<ĽfqFC|9[6*y;rcr,84%Mꮡ|pF?FcڕS+'y<{jʴꆀSPװ(;fBYi8܍|;̡x6< Lm`㝀(?O TUVGPr,v}L0Hyu i iFַx3ΦD5jl;(!'kQ`snF޶"Cd7Ll(dK@jzd%PkpLlP}{` BKO׷]>{\JWcFW,4&2c}<ʄY/Upc'W/븞.q>~o d~js6 ^3 ;+3< d/sSQKtT@=^"5_nh"w-Pq@t2oFHʭޘ 3H"Ő;vIAivpJ9Q(Aݻ'mTa0,O @5'3™֮+E6LСgtj,d]״ `o#} 2 C/Wf$Vs-O*#m(F]6X uNnCZl;ʨ߫|'ʁC38NDA˯Zxx`9' T ,@/&M h{PLI:H&tڏ{[QiyfΕ|M y ˬmx+n n}`0}Qukv3xפ?aUw$\*?Zagcpā> Tu6%Xp ]^9UԏdEh&B(4jJ/G1#]iU5UʽKj|f74[75(ܮɹHH;p~`nq<34v& ,M+gӦ/]9l,;60~cà/jůFh]KO$sh*T`:lu(BQP30Z#TsɩW)qͥ. _kfw(*V#=CYbS;S8Sw UҒ:T(v+IR &xԿN ]9BiscU]uZ7`jPFӈxy ,t׸1| qRv'9 z,Dͫ?cݵJS hd6Eֹxgfa5OG=nݼb ]BБBZJ6AAgEe%'StqYu%FSsgZ ȃu {~kmdBDG$apB:2MFOr hB\6ӭ(fx3ϴOϜk%gV xLja"ck1_/N)'2{-_,mǶı9ߧm5-hJ!7~1mN`UzG,@e$E\wD0*z)N*ko  JR~8S>7)("|E:۟?~n[Y7]dN sx Q}6.7Ԋ&w<,!xL xpaeNn!i%o1w{ɕVAeO@ns<=_i6?>h -+1[Rr@5fƼR7|hϾ&{c+L!, /Ny+(:% lQ]?8ʽ_}QRR*y/crzZ_R變 #¢  D|sOB9涙ӯpشj'8Q$V>|uYakUkI9=^-qU)kF 'Op3 O0t a\Q Ez^taBث[|rҫu~4s .g܋{Bb"\.n pg1ƦCʨ0#u=>|SޓXh8gT ,D*SK:^ \~gY7ģL+Ev#0f5e1-[˰lU%8 &"BO~d/MvHV令|<؋f#.դ&XO`.+\Xuprqv==o28Y*4{KЫ=|c9( .Lt}+U. c=~ӆ:)1-Fkcw K"}q'Bv#pE,} -gS%}O[Jp_Msvk|ha[UxQ)Q&%ZwH߰]c8X(}Wyj!>}NĪc(dȨ1׻w0*8AûQ|J3^8+i5g2@½Aտ" t iv 61uڦlXBe' g3RbrVL1C8‡sC*WAAԤ,C<]cT11ܶzuHr3#N6Qt84R1n$ʹ'jk["y~wF?-7vܟdq/ tenw` B.85SnVgdK:U(;Ufd%%/z t m&}b/I.i- .Zzv}Fg ~qfZ&L9%p[Kqo_`-ة*bnO~c y)@3!I7\{~HBOcIP[L TFH :gv6􁅖+v>82є^c)+N~mfQoW( sa/P:!nI1\ݰuF O/f:E;5Vq:vLZb.8cA!tSy]cZ<Ԩ QÏ$}Rl^> l͍|';p=4Ņ/k&V\1ڥ!u]5G ?fi샞X@U Al]Pk) GͶ{6Wkox~JU3 _R?y"54IZ,P444xHi8fb\&j09wepuE?GLi: 6$?,gbz{z&=ŝOjKaVj@"1D(n,N94KTɥd/#Ol*-m'/ A2@lm̓eGv? 'RV q϶7* bTҜvf1s ynظ̩sq1&w7}_%j T|h~h藢 z 7G KRIO0LͼJkaA(8 BG4jȡ[2'~o"+˥bW҂+'84~Z'S|!1e-%moУΉ<"gi<堇pÉ-E鈋Qށ7g!0~VNcbKKw_pXBjIY|7J{Î3eLbV^J6@>N 9' ;&oBz097Tn{_=uQw=nDِ5oj躐tX('?o)\wu\p6qom4HJÅTU[D&Q*F|eCb-k&9ymѰW4Aђq80bU&{і n]WO[DEq5NS0^_o9$B XVt/j.iZn*`S+†(]6!"EWQhv`^E&)&9LxSS3*+4 RCFXпV|-쉹+QIID2YA Q;>~.$QeϽ5vYNV!S|~"kjg2<So@kw\2Ql h#.ڹ*X(s,ƣߟ)! cR̫ wv@|lc x tix_ {2Ⱥn펤#-k BEE**mܮ92_+8kԡ'Y4gzp b7C$Շ=!GlD@'4*L(AaIyLhH*B$nB=k}yCZ@ﰨl$+Eʄ&UwIp }fwLn'/<'p&| 9eIO C&"|("hU?*(@^Gboź~n-84%R~-[N,W醘Xr@o>7Ke7"HoOt$g:?ʶH򩔇.g4ͺWa6d f޾:~@z3qF0 i`։yT&y c6/RwT; f J @gr1QЯ 8,{kw͠12V]FW6{;ןEpCk鯤Ji#4뒅\~G4ňB 0&4ƕ_"uP\9^Lj։p`_@v̍NCWj\qiA?Jvמ#:SysrNC[VV~E#A; RPD^pO(>L. U> wa^J[-VĴ|Y RS`@6RZ + s{$/Lܜ{"T%>פgB11!CQAI1&q~?6)lj8V [x9l3dcXUKͦ؉x~\HUŴXӨ|bTvlIf854OQ|tܐÌM+RGlf⶚X\nWw(gݵkyY6to'5UO 1e ;ٷ XSǒ9r2! iN~1 mHcM^I =%fwd2;nn;U0{dhK$~{&$l&4St"(DەEyABbq-iA-GoE ]$^[Cd̮n̸tMJ|!J*+K$Q{R%4̳ͫU$"X`RG~z cpY'-P5=K]~R˓70dF;XJ-5RPR\Wʟ' זMO@B[+>kK9mTKiH DۻnZ J2!B@]qm>\Fi3v1IE>vvHkv^M´XA:TF?y}>Mk(u㨲s+~::91h2 h.@0j#䨩ߍՈrT>Ρ=_",ɀWc5*sb=b.Q$lwu 6];t#sE4J,ŵp䃧{l`M9`C<7 :Ћ 6 xe H0k 2M\ܕ#88FyV3F1 yI[_hRAͱfFG.em w'_++"c=Nb CCvAQ"sl1M/v!r:o$#JȠԿH?ey^$T@U5˛ (4{̅mARLpAXFo:"0 d{֒b&{i,6n[f6J{wS6䖒{iA9 =_m{t[9T|IP4gq3F\@_!F lB~"Pi"]K]G3v'u$Mu_%K]Eg"u]waG-Ҩ;,"1 z>># 3'k?qM? ӯ] E: ?l.NSJmG+e[{xX-MKe+Ţa m-lPƟA [=LX7\i}v-k8eO`/^W# n-]̺%{LRIIyH6ҌVfK5:k"3\ Dtk+Zp5>^`&~P]Z(ɣ[ Zi Z8 Ni LKJM MO8]A}>@. ЀoL`#D\i"THl;(94LϢCLe“Qʗэv13Oh4r Y/^O\!ן26&,S*aXi9^*0_~C5l VBG[BuTB_p7ѻ-Piҝ/GjY5j7r=h qVōW6qxh)ffxodهQl9a | u>Rld]lW >I`ZE?o4O{E*\rtQc*c\/sDNRwV@Oϒ~HȞ nkhTr0O5Z^4rPe_U'Q{ۜ`ufU|ir]xx m& R"> Ia`<KYTT}9]8lYT AVO!|6@eH~PA6&Hh#n|XhQb0{ȓUe`nL1p}n{\E_F̈2qﯻExnw_s]%8 k-lo+X@oc8ugrtFMRVVM;b_?t8࿦Ѥ3-KuDInBzyn >UQ'BLVA\o}R=k!c.cX LȻm>wzd %C1fn'#;ZFGka*D\S "W AxmPx]EĿ HJ;嗖?Z%?[hE&l V7LUl%!W*eьl67풹sIM)Q(jo+3#/6Sw@()KlO 0ׅ%DP^!Q@ޠ;C^p1K+O7P~ؒ0`-r[j7omg'[:ͽkR fk)Sd  2GdhiIF dpiiiEʹ8~<wp1x3B,SroH`g]IJgYL>YCQJczmIL賃ʴ] ^Z܌Y$Xsп^X{Y)0=eYYSohq2ү!'U\Lor* #g53#Lf-7+^A/T / f0h%o]sײPUR%h<|h-=v[ec$H\B83tlF\ v}(scŹWd.nO ת\_-&/qV e~Ⱦ~i> j>K(֬4aCtLjg%}@.ť\|f#_*%-pN>Ʃ*3̲;:&A H>Ғ Mpg- @Aǃ=~ߴq?&v|9n=+Ƴ Lp2%{rGp׼8cK4& Qxі0($ a+%c"|pЗ=KwfFQ:֌oRaft;6p{׌vurF ;]v ݉Bo::/OLp3"Ry>3/ # 9p'P{1`sPqKR0ɣ{BNxjxV.;S>Mx)NOk&c~ Mr.l'N[J4G4De%qEB. g:d-F( -Օ FnmOޥ%o}C8(QQoFt,MSW;ȟw5zó &f!js$/ib`Zo@;bQъfrُ^].xE eS]]R;= 'xYs=t:^C9Ǽs#bF&G $կf'^ڴB/p(j8"y@ Ja@\U{h$͊TapKʨBZxqe< |C݈ẽ267WK b'IΞ:줺. K)OՊ#R8(p:!st%̻_MavJ庑XCYZSj`UXcڊ Aɼ̕Yoc b;~?ZB"Sﱗlss~c!Vi}sGw"3JeaS%)KB̓r br:N_V}╹υ$Ccs9(蝋/6B/nwp[x'bL@+y4̄BN~J}a1atJ: 'iג@eUNP̥Zv!>r-~AS<HOs 8^vX:/zv@ r(=]ecjhW]+DxG`w2L+w$#W0o3?VO=D 6xOCmi7Ym0,Z?^Δ!ð_]/A lW:5.&D*`E/"cuzM!+E>7Z&E?ۛF[.=Z &U~b9l\ZvsF?V 0!VyԴc[7b/j;OX:]6XРo-_ng}i ?;ash9QR311A,su2xRcܛn]{8=}bh93ڊ'vu(D< QJFy#U0BNisvuN~9!zf}swUh me{@fQF4O[+%1rIPW;qX#/](Z9WS<{SwN3W UW"Z3f1c U'+.w\=^вvT_nH2\?OF0^s£d) 1.W*^?(B͸@`B4ĘE%l Ŏؚl! ُG\¡Nc , x>z$;'=EE1L6NLGٱgHzIȺ֫2)=D;Mi,iFEIo+ 1RH(0ǹb]e񫴃0 G_c9:3A[͚! L%=F r]21xhGN)FD+J;ō'4O4nfM9 iB9@ͷ,#9b+~K-X}I CV9Xa~@jB8p=SoIi=9^eG2ۀSl*r*-ݳPKpX%lؓ_: K98 t(*S=XmhFX9 N2&YVg~`b-␐}9eLuuV==JʁsG}Ā9r1rEt~B=x'~pӌJ@zoB",gnXdJA=`W| xTT>4B(An|L=1zf ZqchVĨi {ES[~f epqaM71#/_M- Z&jvr͢SX׍%N(fve;_#] \U4$e\]Ewy{G;ޏA8N|:ԛCSC.pP+oRd_,փ?`ksiNCEeePe=K"Q*4|AΔϭa*EiKWݸSLFd`i5re "HWpҖ'mݳI~,t&(}3,(z?\W*%+ m6.1R`rPӌB+ƭ l7!ݣ= dzĪbO53V2'1)v\S&iW Iu%SW7Z[8i2y1Ew">+ˍN42B 6 .NFt3yMy@Lpix> #kQ!M~2UL(t2o#Ec?NX W(T$89v6UĜ13 B+UӱM #NV3#^FN-ȣ5y2|"cF(DN\Uτל73/6*X &XtV5;] jV;(xFHp[0!0ʄϴ =4 @FuNb^^7ݞnkM!2350Zʔ|[@WltL*k8 YoS lC +J '3Tr!j6P{aֽ&.cž9F(Bx88S!v4@̏+m a6B?UX! ;bq곊@ȦPbi$`] ڎ$)zqq֊%^J[V o~tIIPR39nO=VH3r"<4hI=M6Nu[M`r:NrDh:v_qR' Aiubv tŏ>h^Ӳ/9[Ϳc\^Q^~lDjǩPIp`WRSyT8?h5?>U}NmɒQ]>@Xd]Bx􁇖#^X6]6+v8wxCr+dQFaj9}uz 8R+qIA0O/?e&se̢Z!#PtƲoAc'Jy=mؼ;$K׹zr1Cv(<ތy1n<5wMgy8 &M[.&qr3яXfc6vd)s"-DTNW.j3RԊM`}Fy'/)ZTȋPæMc부ӯ ?[F6y*L {āgՊ;0us\&l}[Y2鞏("~^7:^n`P%RG*" D6™#.xw(FshJ)AR.NsCFN".jzA"d24H/n;&'>Bds?ё 1+%7:]qa|x G `~1Eצ*gnc@4eI v@`2MFԟj(|rT~eϫRVqճZI ;mo0cz~xRr6%"\WK pHǩ!56/بJUQtuq5  n[y._ȗ+ETؙ1+ȩtsǥ%}9:V*lӿ)*1qLk sh5RUX/X;)r RroYbOV:뻀]tQy v˜Wל\]eo5{X s=Y%6qqc|e,Ò^^Y1\v֣+wq4ljKIH_[/cZ_ f8.BO'/Q/4/#j#Ko -~7A43XZM6kx#-`op/~Xm!6͟NKu5۶~T$a-u'/Ql9gU֛}bQ!eZ /#[b͎I]-}{&o{>iΊE nRM0F0a աV8SZl{m򱹝 TDΌo} gGRlq32!!uN~aWOuClQ'(1WåJ;V=;INu)lGϛd>ݍ8jEhu16Z%B ^DQ8SO"K՜:ݚb Nh53QKCH{`񅄱%) {LR'{R&Qw2&"dOWV.2ŝn/~HSafjӉg|O3QXuE5kK  HlP,>6甩1&>pj/N෹Qm~#u]i[oPn1__6%K$*!j˟2x7 oBWu|n /+cw[Hr݀u!h6-c[q |QZG ߙ͕LVV3VKD" =Z=ϖmSlž#GûN'HwK73î"KEO$˽щ,9!vrP‹CvZ#<:Q]J~PE<* ` ~Hy\&coBl6F(CW f) ;:8ótK뵈SBA!bGzֆSG2cVmvf Z7{iM:ŭ?TiZL`jrIǯa[A<&N:x7__9JF^BL[u?ڊu9=$_`֜_ٟ) ;NB\vo2=.,%2]'v*XO+8N+a@#kG()5>y%˻lU6O xm4 mgލei?%d]+pWu:IzGLoѪ NnjlQeN0Ifй#{Nq!]$:1>}sD@M 2'No,V}gmCx!^6Xvy G<k5M=֛ Ҽ9]x"ĊJ*QVJp p|-KN䱛$ cCI"b\- 4~RzK_r)'ȩC(ooY:e-k:@s7D)AehMXAI83Ns"]M.ϲ¼3([M#jbGGE꿃GŖ*"cugpR_UUPI|!z_|]E_3AFRBK4q%5pQu0T#}p-wP|iRѯWp98=Gй| ;lЎ'6jWZoVŸ]o6Ҹ+H 1mptKGi *:zLhE?K g/}J ػ/ gv aLNrrqdN-? j0_)vI#Hy.(zJCY$w6k).LCli mh@R\t{W1Z`x&l8.#;E e= us$BڲpG{j,txu<8 D) zSPɃ;fDUMJx.1bΔ5EB!0lCBp/nx;uYjĎHs҃-̘%7ufνU5 VJf39{I8c ҁZ#(CۋZFRR=UT5YzG]Ls2 'nWG]1~WIQg,$ 2,uط5`8JZ-OH(Zgjs#F'&>㾳J^knL <@ 4gUJvD\vblW~TJΜcž;K. C58s]nę`QwbNuqnZ'Mx =]#S>F4wGF2Smvү-Ϟ,N"jky7Xvޟd5\l?]Nb<dN؅ZI][c|i쾲]V0d@.ff9ppYF8/9fq"Y'cg-d6IK}\LG8(ٲr؛D p#ZtC%`3!fv鞴#K!./ Y82oZQM_ؐK9SۋpVx?т4? C0ɒJxdBPt?2{L+x9vKtA/'s4Cr(`&%,gk&0#u@eSXFp }xb/ SNgIt E8(7NJSnW_!t 4#C!ȏnd|g^2<[֤7̼2g=9Ydˤ>KtF[nQ_j iJ?U9ŧÚ.L,'5Fm Zͪ \4&mM7]1X*ID[BXrܔkDFKXbԆͮmHY^lT1i^6&c\W|`~Y=ɰ2PzW+{xU]fk4By [\&f[>Ӳp-4TA)m=sCu_I9 _T?=@W,F:-_4okFɞҌƝ2Ԩ)0ǘўf/.ބ/eMy1r :`|{P \#M)wA@ LRZy XLpD\d8rcNa}FB+[u$XPdހ;͹F]c¬nΪ¹GM/&kl{`C$\ʊDgz`Ia۞C)zZes[)Fx{36\+ׯȉ OTɟ3xOo5hYWzB`-oXC T ,wK|Bfo:rƙ.Tvs=]7Xyj\E)-i=٩,= E 9:7Pe/ Iӑ+}Ojg5">yG{I D(gӢUW?޳CsCMzE29%|rV3kll#Y[ėtϼ3J@D\Q.Up m\w_Á!HrX66޳r\, RDiY~( j+A}4 EWUh令WvN'@B/V'C='Ŵ7 8[ax#OQ:?Iupc" .f1Dc8x={sl_7&4]F;پ^u'4H88gʂ\m#FknoETp0*ϑ jٰ9Pt:ݙAX7|ILAW|+sBZWhlްp8PYqN&UBg-iv]mi/&*EmPټ&=+H g"C[k41[ɦϩ2]RAk#(2b4y jOoEֲ 3ͽd(>Ǝ(X4`,c5]g$%pcu ~B͂Quc}7A`CZRBG&:wqh`Ɛ4 0n@%~+`0+V0¹ZJ6/k"%>9?M=5Rӝ8UTű$ZmpB%x&قCEu>|tx[,;e٦TZT\茗/D<0Sz8Hb s@NGk=%In#욉Rc칪:=keJ0}M\po4saAetGa #du W@ Nf[ ],,f*J:mDw`3GM0 >˶NXܯ7Udxb HpLF7eMj-z Ttorr ,G\YKz ~Z%/-N5{K6DǠ69] +fFJ2jR9HTx[gܚfJ 4Btޒ S- U@6̯8{!yd@x(?:ӽp{N%OLxǺv}ևi]ՐF LϻY?֎YQ T E]Fx@TGMEi1FcP8Z&!G5W!yL >:5.l #b_rP/V?mFy:#ʲ[lxЁ:]:w3[v…Yw;uoj_ .SDg !TcPiUpŝluk@GK#᱕O7hP B ttmxCTPb\.{XMnRvӖ$rEÇ=-O&].ӯ5J1UIͶ|ذI.&LV -Oy=3:k, 0 D^6ozw~G8^Z 8TFvbߊ2K;f)<6r|y%!) v^]WƅTzq LuL9T˯2ϣ$7*mF̞܅W#3d dWH-=0L?쌾1g4n!莘 A:*| Jw0^K-8 o캵Ѹ3nYM3!E8TPS0Prrirf$Dt:Ab Tӆ~jN:T?lƺOTt Pu*j)>M}>/U"=8}{.k)`6"8(rxbg,8vFuCD/SSn/MgZ48zy!/Si~\nSS$rkKG F-(^S4xa+jR!&S.Ւi'Kw)wm-ΌR$m2씊ZM=K\E=E,')/Σ0ρOTlyTQ33[> O7S7F8[`@*}gN?#yEջ 6X|-="ѷ$G%0^ +iQ¹fC* hb|@t[0mX8;6qSiuD_ h: Zy%ݽ|e3gHdUPGԧ#0 At\@$ӧQ86 P SDJ|ZtvWhj,xg}Bm .*$!\fO8[nvy ynFsܰTCA_N=Y \U:9*r1PcSO=@e>p:dyu.v7/ 4FQ=a/] xΕZw7OZ4r $Jr-F OjKkA cEx0hGTJo]b=qXx Q8 PzCL$ ̹Ϲ BѮwO|rpdXE uC h8lB_ii~[0 qDgR|2ٷ-W8l z_P5t[&yyQ¾: 1?M:5cd]2> ->^"tӑȂ4t.o0C͓ 3EUi,}!].jrt^ > (J \թ0e~Q<*:<ړ6qeIwS&}poݏMmϮO[w#6AM1|ƀ 2E)+:KZzSz0VyI9ꭐf`}a]#&S_VfpR֎gW BK6,ʮ3X告EkM)d3eymXE7ҋAsyڈ(bo@7Iʃu*+iL](byjdEd r^pvr!k߇`|)#KX:DtBC%K/FUnه;4Wj(U1SH9xq&H,pSn`@\6~1]GT'D~'9q_ UY R}vONgn$*zj9F|.]ӭR"8/i>Q#p?lո8n$!S~Tf P¦8M 79}W - FAԦ1AK^1%T E %fIUV^rE\=ǂퟜbI^ -b-Muvʽ-duX+O_oYixo4k( ~^$04JG"_6IfSIɭh2|= & ITKWZM ?. BTx\${n^9F[\AkG?kC_=&)kNےZ?&0۝G&y(}k)ƀ;owg[Yd]r#;\UY{U VjmԜR$ u Qz5BfMed`e8^_z`C8MZ:Sd@eY5+x+zVjV"' IW)1_Û7鯬yփݴ9܀CUO gݎ `@ApWV("ē,-O)LH[\*Ij%KŌH~0v#e ٖW eZyղ,P6@Š~]JOh"~0E^l7\JT"vr/L"[eCջQXM`+bZ]/XB y\FݙoS1YfdLdzkns{9t@wtI{lI!P .Nj)tA$ݞ\3ڇjI ,Hf~jg^&c\k>)3"A(g6OoA-3|faCGNWCh8Xz7?:numAǫ˧bibdw9ƄHP<(Z ? >9,¡'b;S (_ /.ugHj<ޒvkPPcЫpԟ?mv{8_*̎B.JB(iWP# Dشdz!Uإ]i*V ='sOҟ }i~aUCCw,8kE>=+'p:"#/Y;Xp],2;P*i1ioj.(X]ԁw*Ä![p@#X>"q4I$]vt`?g#~HsXCz1a\8Bιк2?T%ֈNu#C!VGѻz|v % )^iD~?(joے5\8g@xЫ?t62؋?y*{#D)"$$blڶ`ŚʬCݶn=,X%'ܙwǪʽ_ yN"u) qYY@ۈSu5R8vPZrkPQHzI(ڙ`6rZ#vXWV r-S \CӠɎ ҮfRx$Hq.F>oOBDBxlU2Kq2|DDlgK$O%DllD&*{gK;ֽ֪A?^x- r#*S !xqԳ(ESu70R] FFVal`g~Pf~:X>@SŨN# n B";+`l*26p/5fBEb=l1凹z*t-uR^BY2gQ PҢ K~FOᠽŰX}jqjY0[ΒAHxuz 4J{,]/ @  q0&*s*WƯyca:r2=.Xʐ6V=dҡb+ )3B+.D tۄxG 8D+Ti0ăϵ'${ov~yxn[~^&o撧[{RζdE5 0 FM CQ J;` UOD5}&x n`ѳ ɑ7/.k&;1xs0aYc.3[?ym8f uQc 3zn?^R"2t=l9P dû'O %(XHFmݱv^Lb!Opc_8ކ111W&,Aw{ ݣ m.oxbC6IαeáHqVx 1Z3`tKߣN ^H*9'1"+K/rp+w:1w<󁕗~݉[ԋ( c@E[VcgI-ao))dUUKAփXoq<&zNW>'FlS7b?P_~ -%W'^zIlkP $HeN*3]E NC4y{?e%P} HAx=g-m]5YV.!Vf?,TzM#i7` M3pÄR΀;P:d mf.2!;oH_>wBi"Bj9pLa PG"n:FvAcCAg>.*L3BZ+4;2yo67^z ejX 6ai< )JSY#y65:KThHؐ3FQ@JL %C#Dr\hAS~L#QNwNfXЦk%Pd{ܞ2KWn24RpLa5 Y1 {cw<$‚fҧ5B;J *CaQ4HD; M=br *5vL |#) ݪ qQR۬@4Dӳk㵦i ][KёPPիNob.[LT =0zYE&'uɲ7lfMwtUiSx& KN46JpzdJ5 5Y]V油$Ik}/)ʐ>Z1M֨8M ܎'g3vpķe" k{0c;^Ck-O:la9*N/cYQ6D@}j@1 8]2?ae94"Zsؔ#pEulƠC$,Ew=Y!8MR۶(O E Ch}C=gTf=Y[~p*LʪfFc޽+2Hi޺'ľU84_QM}Ua`4ڻ0~<?`VYK-~a0d{ٵ3 7vuӻDzϮƂHbf /C| cY^#ND]:< [v my3No_.AScj ^;7F= W5DRe.UC4"C5Ӊ٩9*e66U3v;x^&(^\('p"c5isQҫ?}!Mū;R$ll).x,9p}K:6U!HhY>ڈ'snb^7X$DR#Η_mI&xze7WJ%10tͺDkh+%I NK:wp.a/LAFDVo} 1jΜi!-jSUqY/R"g) #.Z=ƚ7a|ܱzMtv.b,}FE'Jj@*TH9 ~6,\, 9 +F悓>ο6)u~9IxlAf+8!F&N*a,1`oO;aRa+s/Q>C߅ Cr&.׆<'Uu]35$r-@K%ut}F3.P]74KMmvFnb, |A(~ Hi)@rDVqA#4\ J(֏hC=F{O^D :eu1s>5cfV %ndXR;1CXzԵ'qWrT7n؞±vGgUs.uOFSR4^n"Q: W~sh|Wᄼz"]djS z~raiAe2^aTI AږFRf+Ju|lJ?t6*G/x]f9,TLŻ7؎ɠWXɤr20J(Xx_I%/ ,Pp9L3%: LӮ+ (:rmڠZPLid;y ݒ%7+s dZ`Ʋ#0!ެK2H:YdI<.GF^J Wl!M&~?pWAL!PD]'uVA I櫰+c #4]4ѭg%LWfM3+VBy+8ͪu}j)C^AdC័~&Eʗ!WL/Ӗ/׃kw}e{QLm)J 2n7Ve%BU|,doA/ a\C(Z Ewdؘmj'QS  9^╎ùwCpdK;4\n!4D46u#$tЎcZ$[Z)> 0x 13gl8Np~)/-QEA -NV HSA7C6W2S€xFemh2o8| שjP;R. 't5Ln!U0ř~x@{C YM%ٯՋ3LH*Hy[EyuqFs~]U'%6;O]cG):kZ7&X3 ]wGXqH 3(R\t֜1Mz,(t.alggb-gmVKFh-G5w]kZ;E6q(m2$! !d'0 mma&/Pm0kjy߲G Tz[ubU*=/@܁BoE:f~EmЎCݼ40J~wtyM4c/A6K4} ć Zˏ8||E׭U@'c h 6 H&H݆8wR_%,&n}OCN3@f+? 6EXD{O9Fn"wuOT̐LU`Ջ' 2kqvDUJ`ܸL/6K'Il ylɇïW9yGT޽Vo6 q![lhG:ׁ-ʕk9*t%(*]]p=Wo$f7]jݜ‧7gL7 \)H|r* ͪ0vNj(:^/+Tб3A5,H4o$8T&J9=G:z ƲmңkP2/Rx͐KJIH4ahȠjgK74qYcec;_j#D1- c2[d>;o MYn)Ogs_pH"Oa-N /l-B]yn%2 a\ d:_TMf`Ó~ix0haMLa)B:Qb38 Wv&Me*عAL0 drb?RhNkTxD5[jd@=NQXsX&aHz]Jt _IY'Ҁe%j溿#yLΈ_ ;u@z[~3 swH)nRY{oW-6T*[?J#;}ׇ5:mypP|V4C80;]/*茁<ܕr%O%z1v܌W*!I p3@(ܵ/cA[w`RQ_E[0*bKۻm!$)?;]-*Ytuo')Go+DchM $"El_= B3~X S^}*1R=E \lCAlZLDH:L<7qg٤Nem$FWT{,F_/ʦJVs*wHؒ`Cx_|ZLv(Dhdå G9B/dmV#>i7E3`dݽ p7v Ur el5] ֢*)y9%(lo(7wꈄ>D"WQd\LSUNc\D~A[^lw,O{x3>.Ew1в#*r"Ϟ^" ]tm} }[{Q|As-`JJ2(Z Gx K*[oQ0m s˽Qz >xdzύˆiE_l*F>@v: }ns) Z$(hUg&&4D8O!"q(Y"Jw`u_X)bG>}̃p ߐvXO9 ]A~;|"q!l+Dc'tKD<ޑ_)r*ɫ/Aa {{iK*0JgcmX`yS[DsC0hoLўVc/FϪtjۊ\)G2|mgPZkWab/L(a2^\ZI?{]G ]V_2T [— /]IkdKpUSg8G4H Z&\Y_>0 \Nm.0Q*1V!og a=U8QA2ٺx* ӻbBwg룐n+as =~<%z?ת=t#Nx,6~Z]7ň_#5.bË\!9F,2 y>~L[AlUbV^?ǟq$l%?ښIcH,95]uXhh[R'/2L-&ޮJ[Y'8łnqrܐeBx }(h#B@% )5rĴ(JtF {\6&k(tXPw)]sv|Sksi#026fbfcq̤.&EzIM?J$ ޏSyx0L1-p(t(&)N\wX+& YN̝R[) S%P1~| H FɕA[<騌a%ك pަ\JiBR60:W@r鹕9| 8)9}30&9,h$aUD A|Pt[:X/Qsm~Hb*+D0XMY}xL\9pl1#T&!FZl> ExjdK>Y50.lRSȸ0)e)R;I`ޱQ#K} @;q:EO/1kt^ziJrbLݯ< |XڻX@Pnē.!A͹~ҽ΀7`9`##xVu~Fڍ$Gp }TZyMPivw4Ȯ0Ea#85(f[,I\TKZW;(Ca(׈Q{A$jU[?h\273]O kr^^zE2m)}M:_RLT"jUY9pVjU}u3 mheG)u $PkNNL2얆⟟d!}#cVKr}xy7P|&(ݺev!JKMa鯿y C6&<'=S9gb?MkoӓmQc?JHm1fk=,yIS68^/\2{nmG: lH9\p҂V?LUFɶc@JӔ%kaT=I'dx`&ȵ1Uv ?Ra ̲ngR?V-=E_ `g<.]NܘK!ƪy/K$(iCp䪙8bh>9 8hhɰô"JFw)jH@^麋gIᎢoY|_l󍍂g:7:lC ݥ>$mENgEDU>=ϛ p$:Cgh~ @DQc})$Nk:eoY8މQzܬmV6 |Σ;@KH YTNp6*!cK.Ayl\cS4ȜA5UF zD+beA Acw\_P2+s߳KB8Ѥ<+Um֊dB\njfh͆Sm:EZDYS?37S^tvxs{6ݧ\eЇf#̌ɶp2m v+SqĒ4@⼼.w3(.ѿջ#1Ҩ'b9ʹF#HZB3~d3jל4 |UV Yb9'aҪiRL37\w9f<$ 3w8>wox(wTE_<|<Uڲ]h:7jjQ7Ǡ!86Q#2IsF}\)-#U@ϥ7 =[B%9fU/|/Gۮao V(ee|ѿIY'*iAqHN=d얖A7$Eg; 7{]'HnuP W':?ʮ+j)˙w`[ȈqTN)47fNRȭ];б*߀cg>"AU%Mm4UZf b/QUJ[^)Tcwb1SnIbذ>Dx^ oc/dY)0,9 QԁCO!uSK}d`l2:K;^^BwCp1Rm৐}oa61͘ZsMiUOiK.x D0юU x&]} Կ@D1$#}bgW6u;7h畅&>htv+ $XU)ۧLYDhr u?s<_)j~;[q=%sͨ21TVmZ=gcVW+Ǥ-7U.cxqIn ˖on7YIfTж*ׯlt lJSj AIĘDhBΌY}a D:/C!y;A9bygɖ`"Q$ԣ)%YkFL%`"r(@[ԧځPSN!n(\:"$^k_~ȕreps*@VV04+?D>0 `H_cONe;Nr>J}̞~K{qڱ=ǣyo/ "l)KCLHcywGp1{)+:{6Wo{a˰ x#|5p}[3mҞ+ZA*IѲn, xF\,gSXtrx鬿_pf!BE@cp 1U\;or삻`#J|3b]\ɑԪnA>ɼ !\X8tXı{JT 8y>"8eYuOT(D?N9FҍqJ-Ajsk~iM=:"w}x%MK/aڥrqClMԺ0$#RW"t9jO ^\#z7wwFeC.C*QQe 7Z0=RgH\ GAjgHG]˪:u Wz|sVz̭1lw! ximl/uX\A2Vͥ(?yhr$=co]،/ݨNZ`ԯ`/GcZ!  >NSf)ͺ1oXK%}:v tv+ 8;̩wG@*k`h>na=5vhhE!3oCw1R>rk )GRmiIA ÞN#ĕv<.k+`H#z 37=J35RͨG`R9iNd J)B#pς3aβlA]:T X; wlrQᣫc59ݼ雙Iڝ%ݩ(|&($-< Bd5+Ew=Q˖+^KVf]yRd|V?94ݎ7 礟zMSwE˥ږ`X9+ix|A \7K+(D]Z֙DH8|s-u.:Dq<$އ ڛxRen-ڝͲ)=?PvRPWC Ju$OjZcar\m XO欻}/4l;vRCzzKve O%vLPAWd8NiV6fŵS+OLQLOQaӳb([{mh ,*]WM$a80*p&2#E5뜿`=~w&zk <u>jax^$786~{ "{xřgCȅ>EX$->L1hLkyQJ$UWʞ^p%A(J+mfDtm5*]= TVy;䉗1Za7qAx-JP$@>7NBwVՔ[8 ^AtS|Vl 58MYEΕ8_`A@cRcTZx7DMp#8J3_M_7*5="5QoAep(7=I׬yvп eXC <|:E: 3{۹|#E[s7 &[z9D>Ziq jۭP3Y޼q4v墤3i"o=瞰bOu+P>'>OVWpk nm̆[pЅIHGVe+ "~|t͠^KK>w^I@>8%l*AM>עwhYemWzʶ=wf_J46mj"”drP[2R,A\74(W+Nb/°;r3kdD笂o~辽F<&iPm/EP=~9A 4آ "\Ql &P?٭ `eH]ߖyk{28kWFI dm 6*bX'oD ;IDC=k[´S\-4Oև^\/,G.zrCͲ,t0+H5'R YJpn*ʱA<-73y3W拣^C8gW#8 XCZ) }'ُ6꓆idsda4ȏdZIǎ!o d:v:nrPV2Wb7WM ״\>*TEZ%BYĜcHuޖ7{NleqNi+;D3zxܓF,TEٹ=r Ԭ.d$lEǼ|Q|Xݟ፤up-EGMЉ%n55C;k'o9`)'55tWLeT9`nߏR:AЖVY >c*̜Nu(Dq47d2q }ds>/'6jwnnP8nL*{#Oegu:E a0}g nܕ6:@3v}:iw?>pBӪލ?1R;Roifˬڬ կR)3z&l8{vUR@3?}60nг`ߐ dkpex79-~ݿ$ JFeM|V_4pVҀ s>[ᬉSUYl|Ca-ixGWt8U2?_ =<(bEjM1U*n/R.jBJ?&[Wb&- H~f9V )- $Evv^p/jTHL]|މN6-K}͒M)a+>Tblfv!-KVœ٪՞a!_M"S_2@IAcwSvɉKcUϚH=Y~?T "<2-iZkKvipltнim"WSSF#Y`;V)^rdC4LWGáΞ4NI?0EHkW &.<+7{=ю:/ɤ*zE^7 r5l}/7zxlCS#u,UF'63Б Sv NP:n4Q:T |1JRkKeXJپr#7j}_7J>CpKHoWG։}g|_0f}$S 3֧6O? }PloGeV)!+^&l/6UqNT rl>Ac(P%wtJ]0{SX4Lp"}ӐA;qbV:p0,L|'PZ,L:B ܙpD9IԋbF?ȩb2$YϽ NCA&dC9ԲEWdX}@,qbŚKs+[Ӊ$w̑(PD6c/\N|F#yٰ|}̱?1lK doVcg3Vˎֱb 2ymCDCEJlK%q̥}tnFۘ*YR`POYdkɸn E?H 릍[ Uohik:Γf]y'U2%Sc``Yb J7!e=ĕKJ}(wDWf6#h.'+4FR ID' jpFD.v m~rMikmXF2$.i,Pz.i}lc2^_k}'=!j?Rbn^V8H|+v14\suX7,ZPQ!oz w0E lTQA,O@WU9 rG|L>½`EV~Mqs O {4R?!u!"bI_t; ?*Sj N8'ۇ)%*&] sbV[y[0icNOuGp%N *ڄyPc'TkEwiuziA_W[ zDAW]?{8@(ϐWd/e$~nѢܒM5#=^~})V:׉vO:3Je*rm5( bD0?&1nrmש'$ ڽxf9nJj f$N3A0HO]gDs!-5|'nK]?{ Fok!ֿh7OG870  ^68ARЧd M 4!㗝T129a5v]Hː*$#]?!zG~HO5^&8"_*v,"NX@I %:% dŽ}H}I`V+,ca|ȝnvLɈ7dAMe5N- E^Yw-埕A\7 UZ3& D@&zkÅ7?`&쑴e^g|?ASFnI02x8"/Uar[k[Nau#&]eӿ B=Q7P(!息L` >g b13geÕ'~|g_H6p%䟾Y12CM <%V+\zebۓo;8|>n!t8)[.񠜊:O+:T/ 99R>+n_k<%8bGJN_r>H05MO-zn1ĺrT#E"*I TQc4Ԯ&!^0}"4X;kuE`1oVFm}]c)+ GQ6-3;z_I&BjmY~Gv*) VE*K:fӘ10P|bpim[IBn{E(ȃOkDNUm$;՟Dv5`#mR%ëu Abq4D3*ՐW9EP8kH{m`f[ \.Vz|bhetBXV;{.ccNra^c &NJ%֒$W3z:A:'Xšl ud4Q˫Q ^r]\xc <X~~cq6F?~Yډͧ>ۣh|XZ1Zu$5>[:(:jm = h5=2rSOeuJ+ *پZ~ॵ+7h q0B<|JC逗?L &EYd>Fk"[(6QP#+A[pQ5дJ~*F?!\Wv Yk.ƹb8>'ԞJ|Dk2U&ZpJ0<ZaENO.YkB)OCq(#b8 { g_zw+Ǯq>:skj!n^nPAWt4$o\G&'eEy4J!bIU/M/PE!t%]^bHxq2U>ikL /ĩ;|~a! ǝ(A55@fq5 ٣ٌ.?2S0m\ p˚wh߉uaoh,ΚxQ{Q֜*uҋsk.=]XvQx-IzNJqg|7 WթdDb3S=BY $\wN=՝Gcpz D)ZI#3*'+[)lC]qbJW{Ҋ=+̓Sn7&EPy ouM'T7~T3*+cF)i=qxb^yu T_9@n6Q{|g-c Ul9lڮ'(WDѰZ'x|x<2K:IU=tU(g1XF E%Q6%*!ff|n&X=|62"7oZ54;E-SВنk.NZ:= zWI~WxuaKM\.@9#^acu M(ko'6z`R"^h[[P۔}kZWۚ1 EaѲ<#(v.pvu[`Mw_ܬ((TA ѻE[ /a f9slNPǒ_ 9 Ҡu5YXjh^cOZ cT ny+*[b R 7Fѹz֦l2c]߭jfUxuwI`(d̓#`|Uz,6^&):М=:BYm cOٱ- LvUHaA%di$n1!n&I꓌,F_ˌјČ$+{F``" ؜0<+$,PɠPUj:*qM\Dk aXG6ĩ|(6 |o=W Å=]AꄑK!;DH`9w+>g^.1(~rGlh[xjɹtO^j]iV/cfxb/Έ]n*|ҟt/J%iXPaok<tp[ R߂Lyߪ  4eĀPB˜:hF{$jhNjS:fuz9 ]qxetϠ>h?t IqnOb΅iξ^丂.*l}=(& }隰q޲skޞ ))ɼs}Ze.#xEɰ4燯h))~I;5a\dC0?K'Y;__"K; Bbǔ78e& [Hc h+H/|jXn e3k؉;Y1%s*ng:UՁv 1P7Y]_8n%1@jb&vşVWX-3Hל?yrn]xn7UW `.N-U@2{SB]S6 B kѺRN(>\O>Fo%NcrDh]2ޘnܟ7:滜BHJw"2QsrmoT E!OywL [=ժ }BKTMv(ҽň6 h9|@[Ydh]y+|G: $u ~\;asR4z <"Btew78kPmeꮑtFhT)\ӐSg7Rr&߻Tr(D4?uTjR&Fcf@ Wx Wa?שH?Rw7"7F*Wb:G̣2٦y m$`ĉ_F|˙9E,2ʡz 0kAO8W@ͤ,C|CXJ؊v `+O7H$cR6T<ւ|5wE7BBEؙLDnYTO{c8ӌ"hF5?#0.Kr9 y) 2Ε#U O.foZیH0([@LY؈5_aux1{CːXVh1P= ]7i,z2NeHl>^櫗?>@b/cfG-{Ӽ60Y㶱 Z%BմWmS]Ǥn' ` YYx꽁>x.""zO/_`$.uo44!GI//7@nYW9";RVA?Hce+G_H=cR'1IV.Ol!.-^D Ziʘ:ӈ0 LlXl{ xy2/h&|2g !KBR 6pDt c;1#R\Xg ۽o7.bAs >Wu 4rc>SGڐJAg&=Jd o h'Q0"06.3gT0+joi I/ZUpx\#@Ng4ǽ݅Ԃy\b|A͗¹;~̀?{\r92-KvOy4Co8on[LlkeD&Nb 4@_44AY2+dD> [mlB$Ab;Z L᭶xԖ~c",Nl4}漜1IQ8\12Tak{HkMY0 3JV|9򖳯͡Na&1kDQmbP^ +rS)0'.}`U62y,3Z :-K(/iu:/Tܺ|kH5!٭ rQ"L/|eÎZ6x} PSvHĖdO⻷/yǦv0w1}+xp0kߺ1kO7:Ln;LPC3FhmpnZrUT2L`?LS|yLꧧeJP Q|ol׿Y~ {}:Y6*WzT93sO D /(4?jinVj,q]ޜgH2D^9%jc4}$y时dzRw@a> Ve ~#HGFNʚɮ2\ pXL,Dsl lJv"=S*¨R:_^-hru+liP#s&?/Xea0\Z9@rA>|~碰ƅ\,CrGzg 5uG 5 ^a0MLfŐ٫;G)̫00[Y3!^f;fDUo齷yLY *V):n r}f2 (_,^.-JQs uo' 3Dd1qtj$Y,k &M(H`SߓNEş;_ ʥ-+}Cn2| r:u5O{ m{:/ 3W9X~Ml(Y c[3  ŇIۿVۺiMU}@JT4吋򓐖HA^].Z5kOx#w*Zn j$@Aeqte k_bŊƦݠ__ҽ|vϨ]),3J?u`}ܪZu0/k K'd7 hͨnn MEuթ/!|891c`;4oM.g88n7MԅyE)M*myg $nv45 |5m-9C-a7U3Ni.Dz#HQW֧$mN̆5Ie&/ Oƺ)œ`>Xw[1m_''pi#הǞ, 톖sTHW*"ؗd:/ƕ?{%mN{[ 0#oLwx"nLG }x!D; {zz9$?HDa$b9Q0\Fj6 8rFY^h8Id3eMǬȤg}_ ( Ӿ =C_RQѹ9"["AiclvҲ~O?3ۧOuq[(hZQ9goݜFXH)t2.¢ fsP}@wjfGU\QQupj}`̖vcS>n#wUtNPa^B6W&dy9#'f@i YULXۅ o(7ּ ėYN}&#i Z1DܷC?qnT -B1WvM:Fq \ĥǯ) ̶wJO+)dKnF >;y8? OMzqt hiÖѫuYzǫ5ͳsBwsN_B-Rzy{='1cNmq`Eݮ-\I<N}dݚrZW鶊 $(-Mw_kSţ: QɄwTꁎ H79v^/ ;mUToad>70(>l!}myf?#_2 8A7n)!XuJ߸<~{5lLr*Ah\VZe9􄩭f1O0FXрE@,^OX-6TOyAּ|?ȭ=!h[x[0YO73wՅ&S#+Otn#"F<ˊr xd{L뺏ͣЬL_gvɫ4ihG YgcM(Sj;լΩ@1DX=>.gUػf.S> ]]˲C1K6E@pJmd$B`Af eEGFx>eM9+x{{тl(qEΌ;XYvTHȓ9#0Va~rVf*mw$PMrhom NUw.gwϮD-f!4Kfw(tMt6' bX|MIK,M$4?$9V.H0)$ƿW ]UBjal}=@ᒙRqH>.0,1`D{ =5tRXfaxAJ6p ^Fx+}&EIBZdɎ0*^! OPjU?̀9vM&@ ՘p {^n[DϜ* uXѬ5ȕ \DZ|e-hǏk&Ftb1cZqD(]]uk].Ggd*Tuλ:[owy$},0PՀ2~x!k~_AGG:>}â)"k456y;A 0!ޮŏϐ( 7PgqHf8I΀SAhk B뱅(#%c B1WtTsq!_=>}\}"\!:ji_؉U'F,EhMHAv<_;N8y0jΗ~wp'-;oMj1[)7- `*ʸG? (dܒ5HIe' {]]l:Ǐ<= ¼ ZYUɤ8a5Ie /r|[ UR&c3|rKp<=*kmwJC|1*# CN /Cg,?G?vhNm"O@DžWm_i^b_/Pc9Va\ Xa٥[ ۸ r"ɜrtti㨗{lI5bmӵ&rx, vvکۼh^#7٦@BlaV|wF3'MKKwg-Dجkn@lZFP)#k:Dګ1wu7Α8{LF)f5tkڸ>8d1f~[ F(MFJ䮘G-5z ~ =i8k*"VEHRi1_n|\ϫ\$*(Դk{O60 *YwVOŘe<\W^ܷʉ54{zڇlXx춂Z< b(;K7#met&i8C@$teհtiDgUeQv F YBF-`>">6pe޸ԇt8'6 5C+{YOiU~3?觙/< >#|\ n  Yh](6rkP@j'sںR]ԣ8Sv~4N~Mb׼^>F ̝Ȓ5 $~`Y=f Fǹĵ]l c~rZ`ei"ٌ?IL?1~3 Wg[WSAI6QUܣ|&^Qn^z pgI#lDtph2zڣ>f1tpr 0r]TוN |\i`qV-XQXE^R]@k/ 4o@{EY6Q`Q>rBO烎ڶ>A2${$è[Rq朝*y ~9i<=}{Ig] 9SJ ] 2+yShQ<=f͓Mk q%igIR}\Д ֆc0.a߲4z Z6φ[68|0y@ uiM9HKhP>M>͖v*0QTx4f2,qv-p fSo<Ҕ T;ǀUiǹ6V^>C=?@K}-ξs:33퀬*tCz5,oog][08?UX0pȋ e^7Y^ZXo蔱K?{S}MoT'Nxp!Q-":)nюbъ /&rR67cuu;-9󝸮z9dZٙ`|P&v"޳2Md#(zgjdNfnҗay5 |DŽa]}mn朢F5/urRBk|Em!x_t t6oFZ0"5@/1+"~2xPc{)ZO(4XcFJ|rxt\Lb~GNPxk[a3 " {LA@WG6't f瞺0-/R= /1^Y3xI7!^c0hh|n;Ьa%eBlD(|$L#0]z%8<.Hl ݌yNt7ֹ'}v$X=ERo7+ta#(҂[.f+TZc`&E x]Q@wq&#ʚYډ٣"Ps6;X6ųNsښxnV{ֵ=rn@edRYl+oji멄HJo^3h^EZMߝM6T?"Hk7oАxV vSIL4&N[ >*$ 9q|΋XlIXT{$. ƦSIo&>&u hM eO7^q&3Xr`HGRx8i7hDe\n?!SM $ .MC;Խ|8t]=6d@L#1wP/O7׸DIqkprP(&e !V(w\Kl^*Y4፽\VRD6Jss  >YB]INk4u( .aE4_U (w2d)=?ECXsnjlڭCP;2XB}S(-Q հ"X'iİyZIl:Q0zXo\f \.-\u_4 )d[+`E]3-_6X)}qµs{UQON8({q7}w_p45{ t뱍}bI oPdOnAw*݉1oץ W)`?s)ɞ\D8B[.&r)vN+CɊiۤ])Sȋ]꓈b)S*y4=Cbnk'RMj1z4L2;ĕ1n~O{Es0Z1eFʣ67)VX# G%f< $5X^c{zfQ^Cg^y kFN}!tbǙ6e'[x=a y\3jg抹aht1ߑTmBH5j{Պl_-޻!_b- 8бƖ#-WC|yz'fw<Oը4/jԡ*S{^+ͥ ZK x)1C7SUqfbIQҤ񭾺E8-7h` z=q>g2؆. ^af2л̡w"y@9GU&ҧ9Jp_S9 EKVMXǺVsiKR`I >L9}Ǫ )[Pt |aK _T&*inԥԇDXwC(-^uWWOgN7zTXo2<뾷_/;?1tZ4$pV+aI=R|@A$,2簘뱫H@]HhM#Fr _@մAmJJ>,@. ([_\Bz Hzr- ˁٙJQiRד4|_.N`?]]sAn.[ip!Rf[U.+nkHyt&<' .uWZ()#I(45ßKi{G .e/쒑"iU{k{!nQUKw,G+XÂ(攺Npu <0Vŏ6x`Zb<(Pxlbr@hx"Y˦ ʺx A c ]ns͌~g'@Y#pw0;TG1AnȁC7 ":lmQ~+5|3Q}=órÔ?#[XNVmV^E9vb8tlRqěR4EH/-iOJq&wHpk.gICQ@0RrPWqcjCSV_ +6jAW) a*V (äGo@ٹh*7Gz79)_Kgfdv*?EBS/{aN-t )@4~ )kE͹(p*@\[%*NӶ)u6C+W:nwڬ.Dnl3NwRG"@mx.$]@X-fӝXFYhފPaRNP}Hi+ŋf5"=c!ϯ3@$A`cLaTVnUDCS8C˚Ju-$Piy C<5g̱R8cE]}$9ۨ%*Hhٰh^S>ժq7IICjDK] ̊ݹqyW:nY9?}5׃Ny ? "&}m\.S2.JޔS'4ky3n>r-Kˏ[FNKGUm"L8*W}bnr.CR_?٠Q'[g7*^ Xx+P,&> CHO^ ^x JE⅀~/󰒜=Rn&i${8h'q"d\Әu_0Ңh2k+8Xx"nI;v;j™!u+>x$:3lXY7++BG {CxO}@\v @n휑&P@#p&|LUS.'3⦠,BOf2xH.Y5yS!N1.zEĺ^@a<^#)u86k@&5~-Ѩ9ܙ i+ .z.236mZf= SЫ٬?.db=Q8 Um` a/2)6d7 j 83bB6&d^lt;L|/mbt C|of9Q#a96Y&^Zjeo&xi@m05O sb?bm2YR>_#Vpn,"z0ͯܞv{NhdNJuBZYI҉il ĂV7z< l8glQݮ hJ2~HN;Ρ9wk_ՙ ڜpjԜWǓFFJlJg%"-+^5pYJ^"ê8r8Z ']gה\Ψ:yzDV@ՉK~ u#Y:T6̇uaX8?Tɣ*{smiʪmYu5oNHM!0&[+ء]]v9I_^\cِ.D)6Y' (x1` pq~ni+Gb>.#XSқ[Rsxf:P;XujH׵8YRk!w%Cb-)#\%1Õo)%4M#^nAr"! frwFię7wHSӬAIk7 },5cPeLv! ckm2ٝOk6Ly8„YT`U԰ht<2IƲ DM94|Q5Xog+9!/g-<>\(}e"G+]i>y` p'_W˦o:ZV(&жE$}x`‹kvtD=>ˁ;!^;}7^k7_ t۴CڞslA+;L8e_ܮyYG2P{ou!| h_>ng `z6%2okVSzҞ➋edlw+T> @BA ~ߞ徆(1xkB~վh~/ y)᳉MfRDf%=L՚e*_&*`E扪I.`kxGnׄ.-rhb4V( 7/QwJ"2}; T^0Oe{F*L!x~ &Hj-j(uF189vX{o?xκ}#\Ul8_=+p._}\Pvʭ3闷k"_<v'7Mt>Qʼn]; (BԢ]q,jx`cow-Ha1`W˝ "DFЗsܸ6Fs(!=qʥ4Aa72#A6]hr|C{S7A1ok[ (v@`sX԰pl2pnK>1,trq`v!Y"$\j/d˥yIj00ĸ5R荻 =\1!Y??v6=_Md 9ZHA *@X&%@h9+wԨ1%-J;>ܠ(E8!"iFW^ wgzppTxr% ^51~)lЮ \}"tw,Q&1"75Ns{A`XԔe?)ms _W8Md oVoM e|;pL4IfUk Nb4:H74/O hwY&lqԇ#Nٵ,^__&bz,v9ߚv߀h9C8oqߔŠ~6NT/ԐLP8pc꾹=dҢM1G~=_h,Vse=Lo!ӞؐIs.&쒧1@2<=G}2$`A#]Ok&ɪJt)).ˍt14 KW{CGFt vGZ(pSԼ 83Nb{./,ʣL۴{8~ z@X!WYO;aKSQo=}H yr b:05hTpVhPx(Dou50sCX%@lv:m2J |J-yYlIreg UqLbN\h+j\ A:Z=qH5]­d%eI8 tj@d[&_S]uӐ]ڬ 6X4EZvTL]TμI;^&"ٷ,$Ehď:ƹH3+GtGȍѩA'4'$mqMO#L+"Jh4C3#Gc&*ւ"f$Abf8uzŮT ;TJo"AQws\X)fQ m;q~w?Bta/M䟱8hЋd;**01`Xz݂Y5rp CÜvtqQ@ RL5>KZ_Kn:-|:,v+<l/}ٛ)Rtw'Km'zPfG=̾Bw䀠$  Q!G*l?̨E=F ` 1kCJ,U{ Q`0)8LL/anYV`@\1liyɯ:%A ]k[0SM~KOMVByR:*6h +O f*1ghCp+Xu{d?PMXn:[ibUD¹Jb(:Qa4dJ'J{M|%,BQÑq$dm6wi)0|+%v"}ӹ#|/OTJ@Otx6W0@S˿T6%rJ-L~M$g6"smz]Ji-.^ek|C~ce OojW0>u-<x}5WG4SUJ]+ ,XZZj24ss\0d0 |,4t bXRo$ Z{u""+,C\:Y,\!TIGzj [bƃ7ELOl0O=IMK邷*|0ѵX {Ȱ MМ=20YI !VKyN|ΫNG͓(γym^!*zx%ޓL r ąlc] ?fv_Xx@? b[o_ăӚDkpzU"2@K|XaWU5nq=zDu1{;rNu}ˠj$2/zpL?Uک`Eo\!TwdilR6&Tx\a^!Ks_^ DHD\c%oԛBL#\CIRfP4~ %^yz.hd.W^R|B9U $kP0 *L4==sįmS125]K)"qV]Ee^@zsDJ㳩pr{t|Y,yz=]Ƹ$8( 4"4b-8WP7噵ޜ=MmһFH)|$fcIYšGC[Qݺ?pBxDgK quv!סHi,,=(nH!+ s7.Eh(Qw$J:+CW觪%9`;]neڂf#Qx0Ƀ. O Yr(r+9N5냗>PZ"S9[+T SKng8D%ES3Pq)(hש FP m>F%09wBJ>7'5$|lh/ }M#1  reSH)1`Ǥ䷂ $YYaeR&vq7EO7ez<"֥YٰN[DcMV@u:]E>e :Je=s q#+zs)y-C5}=N 3UZ:i4Fnҙ$ HrsxTu#&lŎGe]JNس&8q*YO7SԟaĔ`b] R噠 Wa y Nޭ_>Cwxήӭq[k$;3s{l#͢vhcqoIԢ^Aol JŔ:Gv ՏO&Ђ`/k׳ ;?CpCDN(]H!/xLD&THЛoL#@Oڋwjg? Y o l WAn62KD' (^f@e ,mp)hk>bɚOtv:x $[P(,-A[/PM [q^NxCE <2am0\y`|#gz9yI[Oo0YBlM:LfIӮ[ >+i IEj8GO0ސ>?R |SaI#$+[S()Fs |'(k0f߾ kĤ}N=" x6f2c0è?(;HѪ]{8UyhǬEgi9*"6 w-5幗ip}IrMwVkl{B=$3-+ HSf2͂nf,{T*ѩ2;mt3=J>L`E?2] }XHv{ZI_,|ӏjzmۈv= W+=.ŭb^gK{$4(n(ȧʺ՜nh?|Qdu[y&fug Z>X 56ϬX@ Fs$ĕѺc"48,j*\mn[_\Qݏ7;Os4l6;j+WX< %Xzٞ鏩kFm2)n Yp,?Ჶot 0ڐS6CsU .q'hdOB"D|]k|-@TQ1v۾W:<rh8#c[d6;LpI8__"nehFJh{uh/HR>L͐c=AI\DLf*,Pҝ;l|rd]콝ǩ ϳ5q 0)3* ѮuhLK]2V/1l9Œp4Ziqyyfujo" Ы2 :iݐ7Zaw}`'(nG'"%j!ix_ZqX0rԳ$+^7 npW1HS8o+rnS6M,6 8SY2y|:"K@Rm_+ZAR/ՙ'@&&vRHkV!:Hl|,VU7Nx2 ZZ/qbaR$ !J޳FH>"g8ZEz`=В΂+QP'fbo:e 30n'=KL}, ^*/<.$#tD~NHYznAU/g(1V\\C*t{QyƦZr(1$8M|Ah ;_| QE=7bXG9iſ_MQGٹI芀]_hBv߃q%IO6vvAaAt)`;6{}bh#]x֡YbeE?9 I9Zڔwoآ S= ᭔L"(`3Y^~ ,\T~4P?hS KH &b!C 'G3PeyHY!ESEåb+qLN~j68P=Ug9 g{-U,(M#^ r`S4lo-8r[E@͊nܣh]֒9?I{BHqdoƌK0В:Kҵa%t$- 9jnQQ,RcRܽ^jaHސhgsH&}##`^o,+=E˹;wLrφ/R[@9T@ђ0ۼR F]zɉ4O$LE?J7]8fPG|3BT E$_ztD8*5v^Ӂ8O]"u5ן ˖"\-Pn+dLb#>6ɟ X?VJ"75}{QNMZ<Ic+ <Gy0OmbHp^ۇi2,CW[ 7IdM|Wa(3ڎ?XΞݺbr= K=Z[ naJq`.ݭ}H˓)Od|n3:sk l:G3e(n᪻޴;|LKDcÅ/q@-#*@WA.'%@ U/S˯v6&%{HWM)bS텁dut@\~PR3u^gpkz+n >r ^&ƚ^jqoIBh'cq,X ?pA& i&zwizޏ媪%b+v&mņtDeɴ> .+2۱SJ*5:FW?1F13H]%y&$6@=6Dn@^+"aT@N:[:݀WR}\KYXG1WH>̻"}U6%ЂGz,}*Rd%w(- .O Pن.RAnA!h2VUy,[I}+.^Ac@Ո81j_} Hԝq{UB-xI*xJnk- i{6tk3܁Rؚ% l7u1yı0 :mbBQ̂C+@D)s (&BL}DڳEI'q.%0XYX@N$ےn23勊;Ez]9, 7Kyy3䍭ޥha"P` uЉWh= s#Dyd᪎fdž:c%e=fܨ oy)db!(qCm{|iR,GC+rZڥGnF)3]~[} bN.nxXmDB(z^Eé;=dfy(|P1#؝^pi9P*RAUWxbץ9  =:ͥOowax5oظϟK3,PEo8 QUmjX9WzP:g]e6 '5FY^CQ#XZgznl˧QmB 0EJsDi[q5E gkgj5%yLRMk7DA5֣'7U `E,& 9ao6Ż<yV2(bh^]/f#? -:4g-꾢K_Ƿ^Rwgd;bPfK7Jx5!Pߺo3n-ȀGa Zf I6jvʋ5;FX?# IYp>vQ~ e^An/AL "9&LXIEyed:>祩vp}cm8wo kD}ח-~QQ-mI=r|u~*䥒 &N ~iM].KlDhO +U* 5>YY-̠ZnP̢7–ìL˨c6=q  Wu>7D-?}32 )=&\~ĝ9-V:\>˷8>ؼ;M~nI0*PelQPP鵻yHx{@1" 2c7#c@o7Ko<'ffeǺr} U))X&h(KqF(_KEj4="Cb+3>9$:W6|-~77YVbSۢtfҳ@lAh5E<(Y%-@bٱ16w: ǃ-wZFEȉɤ,+i4i2<$oju=TvGO%Mݥp9%:tUd=Do l| /k }*t6|Io/qJ9NR g}C%jH,lGz;L@JGnFӿCX6Km^-끨 sY qPɧZ[9IJiA8-鿅mn6΍TC>OG'p{IV,$$)1kQ5!AmqfS NVB)W5Ú5lAfBzmpV-&Ot*{ּm;OGtM{D<ǽ|,eσkCKO KڤIavQxkV22ę O#wRW:HQbSA+cn"CK7#NuD ̈Ņ!~rqOj4>,EdtUz"X~$;CA%t><# ͞ Sy$=-s0oΤYо ;$[o^wnϯұIettd#1XrZalBbyNXwEE +G~i{QŊf\ܗ?e9InI&zGfyT2JnPg1GSl!ROWi웢@oGCs?K-F8Fd.\}' -p(4oIe[O=tգpD8U/o4E+3!iC0Cua4n!Zۊ{ bxtA"b<޲ h@c:gBY?K!3ymHڵmH%zzg4% 7ay%cEXrAM16,n1 /ZH婉ힰmi[B :D-_*|E/b(f:mφbjQZ(܄ OƞBFz}4.) : x|cgRyk#!Cӱ/^аvNF&6cMq_s5f]pġ7⻙Vƪ;vY/+1wwG\c*-jpf^a>,sZI Bm)svzr]uzڂP\,ƽz5tTH*SRkO簷QhIv@ T")@~}xUF_&!{]~j=ҤM0H 3δܺ ЁDœ;6x\sl@2RWOFyEL3 k3nsT;@7^ffW cn~8#cI͘k-tG{P)؊[>vA}y>d*ǭϒ_>&&}493;z1oBU9Y5[ ^9v@xTx-4|:Ix@eR|tEz:!H&*Kq.2 <GU}hp>Dr?bp-Ri c6Ԙ~(>.ؑp3p}N"7h/,DjlV魴Uj✕*vYʮf-Y/r acyw73c®P[bhFdom#gT2qd~DS"QA%w(!W3~ :APppl-xuٛ!Fu\muC9hʇ)?eӭG8~ֽ""K뉇MwȪꄺ}MB֟UyZ9~_-M◕rTNZKJ >NP Gp͇w6J77HfkGJcQ˯^Ww,Qy"I!ޕ)tg@$uS7-ۨ\0"SH=*њ<{}JT bqȒKͮk&_=V h'X*[RfbP$S ͊QL3 .6kC0P71#ԧw@":V%`"WW6F=nɔ.M=vՌaBRA&:+DN%oط`3-w^'TejL MoO$kGpU-HFma=?ۓhE>-_uVUel.?8xiE2>5NNj և5HB41eT/+aJ^.Y\)8o*B^>Ƽ.Қ{mL4Y>lގsvy^#nbqhB~e%ش :cmurQ7}rRܩLzt(Q bvPrDfg^mPO_H F* shzoNAr%raFMh ++\Zb_c@L/}Vv"K P>YoENCtv&9i`y]*)AWh |pCLF  t_hLaY:˞]' 6ImwfF lW =D[ {!46׻P Xϋ]`4AЃ!JpˁxCnk)GF>èDB[3HW(Uk@v.i м6' |+͢9UOILr|a`g V e"P)HBG㷏/]Nc~@I8i(0,Qw fuA -bLȟTI~|kT_;6b?t>A콴2(.O24ݾ\kRX6Ka)b]:'qI.2gIlL H~bZ)h MOVXՕ-C'ѹػ*$3|Ҍ?-{ nEc#pn!dRl{7fR۔wUSYIj)rИCЃ*uE]a-U&I]\T=A4{ʙ4D$f<"Mi\4ʚX)0?VPDe1%%N }?1GWa *b6Ψ ՘s%R{jf #}V'gB 6_-Kel)dÞ} Q†j08^21kTgvQX^2N s&W^a*%-<ۯ1p9(tH.RIxe8nK}¢*p <ߵڻV N_!8w]"|JhA@Lu5eύ+zk7k\Nˮ E nY E*T4YkGJr%->B]'L,f&c eٽ3sP[cC9!5`WWJ5E1*9@m(abRY/"-*dq0"Xm6١)554yg ߻&b("6pTQgJnLȤA?۽_M3g4nqcpLK_L)N6ePӝ30Z+h[֡5:2TxvH\sudŻGg&HúsyM͑Éj Hl>kso-d gT䢆R0~dC x(8Y^jb2_jMh&QŚkʷ9usw/"$M=o8৫(%n Oo\A%㴶g=\7O__Ie^Cw;W]&߸, Hi1Ǐ1R,F 6RƆܣ`?X:[x8o.X?ӟeoEZPw3n~"E' Hljirb#<*i*,q_|R{d]h*f| @{'(-6UWi;fg d۔*[[;&O^  ~C"-UҜ5~̢8IG~ka@ '۩s(Semן tvdzt}Ri+KtZW%ÁJu|9pǓlB~w,&M1غ?o_B)Kݔ[գ?v\5]˗̛_-T(#|-G)~鋙blk+?h&Bk?qCm^]|SN`F{IxUȼW j򖡘el!v_d\e?s u_ކUqkͥ0UF=vjR ǒD)MYX~'Nyh5@W'"?45 Ҍ,9e*eTFND'5p4ŒI }g^L*eNyblsEt&dQ5Rmoc?dbZҫVmKZ`M%R'x&J'kk$iW,hp4v˄I-ꩦF&ٴAIj21m5]hK7?![D/_ QUOZMG'txߎGVWTE[>ItozԃXH |3uۺgdAD6(>ט/t-$}6HYpQn+BTQ>9U1p,^XOCcVsEx2#PMsD+78rh3U 6⦘q:Y1^K]`\Ble=ª*/9 *w?-q-eѭuڜ j b7pwή`93iUTFGm[F%Л/{w?6Bw%؎b3StC5 DPj&^dJIyxCuBH(&.K,D[1Gx ʷe\ܲ'5fr{ zM pK}#tx"f>RJ8DsNH8 %g B`$H6_ d:>>APo G _m蚽q&EDflKw:8O)a*8_])lZѿ?tV|NfheKwK+$Ehʂ%Μx;{,82y8"f,s'g+SaՎX 5?]*S9>O*r㋰iŰZgtK ]޾#:Z0T8c%0饹@A[,JNI/pt"Aoh+; \gwp*VGY4<K(Q+6)f515Oag7}[BZ 8#8 <1Pj8EnV>o}A6ˣ9D;1i@bÊ6ȼcEy\q-tF - OllܛIZSɥr@R7( gJs颂j "K\1# w$~T)L YqlSQ{RH(7-l@I]uB61It jUhD¤hMM8+dD܂|)|LQ󏢠߬թ2h()uڼɊZgCZήz,C:l봤a |}72_bXCˁ^=~6{~qavEna[hUm^]^灐kh6/lj|D1# ;x^~"幆 2 _xιM\#bkur3RժFL=y'ȉ[+?]Ǖ9/ٲʐuxM T~_'PgfVwe+kn"_N=,.Ti>jfkVbf0 ^F} +a0d[IC0wy`[ 48&gB EKzd#+,ىwWXޠxǻJع¦0Q\~rm1~C@hn\ Q5'vT7(:ۚ@V/<,ήB+2,>%z7%d!nIg-^!ȰE0#} 7I͹9݊tT~Ӑ;8BsHYFXQrCZ)dICRIlO*ݒ-wLrVhTEU̹DZ8 #= WH>Z%ajMp Q6N8K`.i^n D7rS%ƃ(p?8iАt;Ĝ'y6вgb><+0 $ՓZq\[k{Ÿ{ c@O_g˖$zj "3C BDxF@,vbޥ8a =!M[ _k/8 Gs_~@i9X\[f":v-5;U؟,&=BtS'6tV' 6;&//r0 `pkLcBn-TJH]b:mԵ5zg 2 nX Y Nf灵?sq;\,eo~psM\\)FƹvDcke7P};}ڪU;ϭ5G*ծ˭=tȚN>DԔ2aMerjcNcmB]3kiDU%q 7ׂRaGGKBWh(&@ghU255b'g1˂?(G?&0aեS3U;S/oAGâ`w)39]+?hfq25+)VV4mhC3w 'E)$_F+[0nQs.Xh/k#_b(K7h m5aڔ=mV8ryY?}DT{diHZUuPhU6߃3˾s N "i?9r5ϛ%$b^Hf [GNշRڤ'rIHhBx o8Sh!2ñ /Qz*$>0j d@j]"Ժ G@Ƈ˦{i&̒U.ڏ<|sMtp"IƔhJ(h"AdxyԷZc4wb?#bM΃g",Qwex)YK%I0Kajw&a @?][vaQgRVpn#8_{L&s5"PsK Bd+%s٠ ^,$:}^~;b$)B2c3EBu[GsT}ȓu0\W5XP~V,ۿ'Q7d!IB,'ꓲ8s#gbj\+CShPFBLAܞP%}W)]rxN6a;<* Xxj@kzlʲSʌT\Rjp悖3U&e/l9]azYpb|z*)"{WL(/ʦqĦ׶GSo\0Ѻ"ZKML&~Aml]=-2zQ)W~6iQyQ'g8wHN|@/|Z| 7q*?AO416<~q6>G~(q w®M䞳L(&P|/6_}rQNuz ڣM k~m?-` d)$.g8n{ MCoΊ 1\pNuHG(# ?m>mrsK\UC+RHFyX'0Z*רoJr@}.5)yEK)o^DӞ OuA²_cK9"]shɼ:# @ y[7to(2]$c)Vˍ }z9:TÊ%Z{'a,%҃K?& h9*oeM8safV0(;cYj h7Bՠg U6G>vE*ct~z_EFweth j_BʆX~ A2cSD2FP?E::w.8ϝ.E/l-E10.SJtyۆ'' r~Jc&dK┄FY; [~fgcQ {n:uQ.*ңo6\FT`ÝoFհZ"^UUDM.tQ~^GK M3 !p# Gjhb1u:\X5sm:SAo]bјre `_VP| ` %7~ 92V}"m&i-Q ;{[ZP!9%d ,mݨdJ׼}WHgw,6Q̢ V~@3!6xLdY,"Me=L腈akL>t<^p{$ ZdlS:;Q`RӲj~艤N2ʑ?E.yqXc%6ywo滊Lo [ڑ>z0p3rReFx+6 #!!b6!G8&Jhda=ؿ鞜t}x+Vs>2DP ҫ bU }1Ly((LfYr`@,ڈWyS;HW V!IA$7` ƻzLXPhK1j'[g%IHDx,\)(侣"46ު2;Y>6B> A\PH@(nÃd>H%\ٯ>Lq82Nego37̑D>?ht ("G/zy=wˆY Mj58ᓢdzU2PMEүe'ˊW{Oj^%|= ;B]Deu/P_Bm|824S;eSE)WI|g!hzgK-D۴,,?"vy2+S,i[rq+$c2u]LêyV5ͧZITnadV:}07j2妛pU2p%J9z9Ygz{NɌH)!L^P6t SݜMp[ʃ(db^`ř![9H߭R]&,/x#Ze_GE+@ZX={; d[6rGUB]U0dbI2\u)ǁ"fFuJg 'mON~Z̑r] Ia wV~sֲWdngYo^r;ƆB9pCYySSJ_?J";fI͆2 _hGș h""ijvRwH;#HWv56(^*yǥՒ4>ՉưOp0*e7T_ϨmqYᘴ,# lhOf&)(Dv2Kڋi؏OqǴ9@*J!X˪ᦁXԄmSZ<^Zd:LMHrL|Bl1>y9 _Ĺtd{^{L҈=L5In1LM~ߵ>x:U=hK=0;ȻLϋ8ܶhq&~fFNLZnMr0G@#zB-5tjc Yg&SgnM9AncR]>5jِa `艣 oMG#!`m<,7b=~!8aZ_yfpl"Sh>l=iT]/e`K^{fY.Ugx ZfK`G1t}+)kN?F퉑 w*+zTe2*$ c fv<|_hvɦۚء otXIz,i[t]G.-49ag$=(Yܯ/Wy?v$ 5eNNE/[5݉ 3x.@FdN=ʹ .ZBЁ}2+ _{| ޳۵:GA\@{N{0)b6zCTc@ KÄ^2OK9Nsz+ڣobaU9`~?3(b]=)sxY **}̻@ݼSud}Gw|@FR֏b}W呷w ' VepW+>򛛑^U</(7 i錗:qVˆ8'v/UG~YָO ߓ BRUsD^l0)<䱬Oe#aIf gumqǑ\vsوmUB,OY+@d%T'4yPd.dA?g^JdٳU\ި ?UG iHvf⢐Q@m_ "~SbWƻ>nUJ6BW[e:+$zQku9HYNgE'PD&jSWgN@N1ZɊi}Qd6nZ8Is /Pvћf[[}5ݐ,2XZ3㼞G@G)My Ӡ?V @̦T^gbj0Op( =B 8csvJC ,t~m Ē&moQrX7 9JqkL6,SV̀ӑ` Mhx;KL=K( G&n+wsaL}jtd٤pI}fScQ[c'Rfy&BB{U<$ЧcXdnR]NJ#~G [ ̢Z-ƲOqq3&Jt %kF2( %-)`hitB8-}N )m5Hb owm*H+Axn;`X~O&AuGЕ-  nMD@c}%f-BqEWa`#Os$tv wU`8B}b:#J)Hu~go}O1|.f7me$Xݐ[)"~ \  ry^d0X<FSeD fՆs(mzH4qRnZ Q屚q )]BUnj1l'\PD$GV3Wc\g1!P8Ydp~`7@ xXad8-/Ēǒ~H-1cdtD:N:~n_yp#r^Cꘌ9 G/mxj70p >_rfYQXT e|5%y:j,]b ٘G?dզU$pyD)qvp|FSlp L:0ȎRvh,7mUrE 75Z.*k(MFvC<ĝܔsA<.BYJ>c,zFy%"(|. ?P~`k “j,{J~zdk>hr#e8tFMϋ~p9 wGV) ؁Ju-6F]6~>DHw> f|9M~6: }vT%= %-a }U!,YDJoa6l#t\Tth*ڹʔܷYu Jw eFɼh4ҒBׇW]̛nejᕄ/p ]2NSC68h}YPǴUs/RmGOWE\;$^js27+h< ~y [硺\'v}c asFw"j0 *g<)nG"`g j7JM@2zIW[Sߣ/9vc֕ie39Ҝ1 f3+,RXe;=KvO@oBBFP=oҘxvIJZRM x58P2Q.t +2o2Bg/ef(lXEޮL1!7yw8(^#]t)@M;ʹpbsm\ eVDr ٫F+K~Z!T~L/1 bR*f{E\cΪ ry),.8m䀰Y{2WmZDQ=<~xb*]bby֪u>xwoIzieAB%\$X(T5PwUVC.z!E#*?x%gV1r*+֢sBdpZ-Zj4(cII?oί'2OᨭWSuC2Cm3rͳ\-/.ɺ f➘]bf lk\.Ru HOǗ^=IܢUpk܇I>BD-ǕniiItvMFV Vt.~dؖ9=ن6ѲN& 4`ޒ} f5DZ[m 󅭹#e.x6b72),W,Ӂ"I``Q,u.+J~d- f$]ΌAʪ_aL?U* zgkTh Zܬ U>?-7 DBJn9oMu$%EWUkORF _Y^ K-mgck놽K,)|R@*7E)12Ց8"VZ S2"S{:\ ThdI†גqm܏ރըoZbTZ1^Pk!~m0}N>́ zRx;1.F%*-^hPnMI631MKͱ(%94p`|U:4Y1 i Zg&&,!>u HjK6Xã9QIb:ޅ֙0]†NDn&>.m`ՃT͕Ki`_+.Ű]/yQrQj).t4yxS oMFd1DӠwZ"@eHW_yOXxC.ĔkjYj_ y9AzY`V'l?΁֤r̢pbZg7fi(WpTpoTp۷xI՜yS :n ˅˨=ջPZب5/KVxM\i(9L~1l{tc˷ Vcl3o/3"+Djgg%b -xB*96>'uٵ |Kshq@-HgF ?\[1R?'bDi)4@'Yg |0N˿oVNQC.Y4 v]Ҡ '#&]gg)z EVfrr)Aw\X ^¤͙!ngSOC5O꥘!-V@⤨fr@uhAxȜDE$N:#l;eƄtvtYgyPB"^H )TR5yaU֩_qީQ^q~z%R[{uzEؘ Yjԅjj!MpcإCG韁Xu"s/*_y 5}}`ؿ}p*͠볓sGmKFENS{s++q摝Z4gIgω|Ӕ'$[Zd/onzKQBK8%rR|O~>~g#l_%RIu= =,P+ p>yy^="<gI_~v4ZO`ֆ!N5 YBŒ(>-DoB 3~ӳźlXE;*- Z11J{7Z˥vm&S,ԨtϠ☓<ƶ.:w;YGA'Gsې.0aԏ 8O"ψ&P*zRu4Q{^AOkY~}#j%{eX-`ЦF 'y8w3h}@p'.>AjSMz[ A)(3VǷ&!O\rx$mP-Ԁ 8d$6u(1[m+莃p=5$aW :yHpEgYflU:NK$|dy ʴf"V, MǷ@? A8=`^>T^J# pL!dF)(8Hr8Xu wn9zdto҃ѽ ]}XP vq&9#s :ܓ*,Wf& ٻz=q_ryh " m nd6V5ȝ|~C*ʇ9y ?3*Pp*Wӽ7o7$S9Ĝ! Ţ1h9 *B!֦!>ca0Kg᱀x`j[B ƱޔF4CQGag%x0쑃f ##xյhv ~@`U'~%m-ewuZO<Ћ8)Zz\Nr˱vu vM5ge*C/ΩcҾ꼡p /c ZpBƴ▕2Mk~En>\^mk'S] nm[fP+Um^6;(UDuk+io5ώFa'71ң ql,&B1m*/Uag{=/'fBf"|26t\-k|XnjxLŚIT]thfCI踌b5Bq5$?%S%Dȓcݹ*4GjxM&v<0#ZSV Z-6dl}OT踤D[.l;NmxlIsUOlc(L+pmYn :lDo#C$bMYB|Ju`4Qm`qi!N$-V` <8PmA8ɓ\8dΧ{Y` ֕vl` Wo,RlOȖlmw_H/1!QW;#n7qL=Go +ėpI[o ^a٬{Mf|c%k (,57d uK셽b`iY[cUpMDNr4Q9SN=Y"B5ٞ0ѢY Y{@epOTS ƪa$b]x8k1,ѕ3(ĤW|.~rRN[v]WE.KV!*4-Ҡۆ\@eA[***74!%BaΗbT[9魖OliuC/gb0jxIe'SAb3'1xZ0%>iFkLw*GRNF /'n#kN1٭mcv2!BŇ#M;^h,pM<n ϱNX"7|JAFFBƟ7 vx=n砃z/y`&4uVIzf 4-#vQ31_%Ԣ81hO+xw'U9ۺ< [ӥ`ESC@Ms'D\ UjjuCs}~4Cpg(NDWb~ IGK 8*dΑQ-{3Ue)Pz$QcA$aRYih8VRʐ1 Ky$Uɡ]pҏA~MM6N2eq_d/@3P0>9:光Y{g+$ aIpj:`ݲ$fs630_\O Ѥ~}<,{!ܒYf宊艕.ڨDu}y17:y『=ˬ~; B|>pNr=PtЕl*ZEa&b'7 }#S)Z/MVmG(-/fL7KWvO0F$GFAJ_VÒW:(3Ȗl935ģG ))bF$\rۃ`xӵuFm#?ܞeryԨPtR׀rZ|&PEEU>[966 qd(DseVLI eBM>kӊnjWZR:F|&ɪ)RDOt=|c_ DU V9_&;X\.g)ΖC'yB_pnZ̺aLR4L8Ns·B,Yiz52ľOZ^$ϗ&ym2KVۛߑ-\%I]9V wDƔ\5 m^a/6W bT>bϏzf-Ӟ!vؿVY. 8p@(w^ MuBT^z{+USx1CbﳰIݦ,7i4iBbQ6.˞pIZ6(A+iXkS-YpPVjӛ0>!!:y{="FyKF)rȰ=HwLnDlaƗOVl-OQ3h'@3AdДZ`QOw0k> RJbnb79wuӶt|øVZokO8k5frri7~͎ltoa5G-'6V+8ec?"f֦<׋fL蒇z8@!b(f8ޓ s99UZ4REuĠ,(A.DW`kKJ)YԸγ]Gʣ|c2M=I} 3/Un짍΋+t|M^˚mLnnxH, Ďi1=|02[0wN~#Mz=PQ 7YL)Oqdn+{I}r<:3-/ei?u/:.ddL؊ߌ{bV V(ɂg5r\y"]_cqNt)I|>T0%D:}4 섡 =SuR3yφ ڂ}0L|zZ)^\=7 `q_8 Dfɇ74L`,*A:!0ʳGʺQE`drc.7GqxG' tnZ6UR٥6@1Mk};Ս:}I3:)l̢xk?is^OV5Y) \^rbˆY[1;uw!nR{Q\yRGRځzdAAGK.+ V4uߔ!k y.=d䚋D:Kf*FUHJ:#~<܂r!B"֗"{ QjI{~@"ힿlg ]yWU/NBQY$!~ԾϨ-H=贁ܑ$Vs&"!2=፬ -A ,.*/^M)s&AR}lA.L$+{'hpznZbό:80P ~fnAlk .΁qPƗ]?gLU]Iq Bz-֭8|h/g|ts:.+`e +#,¦?3y̹@0 TK-?Ў>?d*a>Ya3*Re<N;4N_"jklؼ{]2qk (ufm-;[ŋy(~AhACP8J tO/2`+tI-V^ Y}0̫b)8r &-<8A| UKaL\˜aALEO(. eOo)F8>g`͕ d͒ a{@ |ÁkEWuݧ.伜×z0k)tŅO)s{dZ7[QU]b{f nʖdox^Z)e@{79YT@It];M}jCy^sW(s9lԘvrg?=rMU{@Жv@4O~n wλX)L[#?Q gQew|m$u_0v >H{`SQy;|&e#fqC#wK>nk$}|}~穐 "Nq`<$V̠!<zC\JceLMNϲؑpP3W'M<沈:J@|+IE&]H/زuE['Z 3_A/kNPKg <!Ty:% h!L&G'B^Ք]:iς ct `_u/ WBwK#ڽ(ա?mP)5첧u<xGIAU{i3Z䔴'o?LޫGpWL$ł? BhIZ I٭͍ kU9XhrPfbB#Ag c6qZh_x.4-T:L<NI~n3itv{vtOIYǙt9cwjO'9 t\QB^4IOlf/uz+hoh^k&'9agZ nІϙ1@n-˩C:%VװIsj(5l? Nn6NB+L6~ytSu+& ~v%w^/`%^x i+' #mӑT? 2Lz{̄z/ cTʹW)Kf1ҢB+槹87&%43a*9Z9;u=6}>"kxP#G.vȴ@q9&crpcnrRh{U u jj"Ādww lҰz@ fQNItI U݃x7.8NWz %[r ЭPz` \kg JOCv GQ>9[yԼim7y[S@*Z$\u7 ըG*k[6Kc \%"}k7~1p$@-SP-6,PƸiiY>J_܂I2'=Z:zWg;4؛5ZCuntG{ F<tI0j~̩On.sIsw ef1ՋT*ym|6c^ehqyM4n# 㮃^ڌmc2n2zݣ 7łNkse/Ǧɓ6*R˝TR +t%VzGJY^!4S7|h^4B* .WYZvXNv\H{"Emx+lvS74KtǑ,W~psu2mp`g8Qϡjj) )*EO7(sۤbz"Fڷc#lYD;) UP|d}vHAڷi{Qv@7'k|>tf4{21ƹ`5./&!N.f i&]{봶VAմ,=VQ0_q0H,sI'PMǏdOBv`w~E4I5x^Lht-WF o'jpw^ӷY(J~ 0&´x1WWuFd+^h\wPt! a^ԕvUȹ-L`#,2mj]8n6!`؎} ?L MsQA됫ER.'Kg! A~ch.l JDm4,t` %/ yH*a;1؜QI;_VU%*sNd+a~?F`_$]{clehQN(:=!5$V+);+[C≎0 baV"!3#Å7vLіpN~(GQk 6yP>9eRgcF5$`PhLJkʋvJ5S'LEH!t:G;¶q*2nVEy:cܫO3#p(ξ {AiJY8M_3m)^N'qyhŤ1ZtÐ\0B5C :(Lu x۪m_[ r݁s?~Liq:2^:`&=~] ?6ڮE|0Z%:;[YEsQydiK7 m$OjB]Sζ;&_e+F6Zk6i4H, H)2* |c-p>ҋ[EM3nCʿ'y?yj71cjX誫O9$ YU$@I^RȞ)OaKGNYfdļzϭUR {]Y|j%B莼n9u3d SjXNW  useΦ FٿM}>2m xu$1OϢJof,G`@J 9)0n dIE>H ˂Z]rSˆ( "55.8_V G݇4BC~0Fq-r6ako❞.v Oy8Fji) oi.»Y҆+3̆V-֋ d+srӵh}íl݁kЇx1쾂ҥpLOX-S|ZuSJy$oaK~0΂|/x`Bɛ\-h^`Q P1՚@;VAa[(L4i<`ԉe-/6PF(Nˆ5M";"pv%Nq_-MDTḃۂ}x}`)(9㤂we:4R73o> !%.Y(cACЅ{$5 {Vy8 '}n/V;z k/ tZ7i ATT堒;éN I]hI55@O/A'Qd 2+tZT x_n8t&Ր!ifϣ}V y #PNy߰Ram rfU=3|5M#$`2\0c˘s d]F( z]/='b4Sª8rwH>,޵ӯ4Hkӟ wցRDW{4Q{˩sƼibTus~鿩YXWW(+كf7P%@hF du7e1-~'p<mwW+,*ry[a F7偤p޵'X8>xssw&rc[$pW3 H-+6yP|ȚQѹo)PpA =rqi/.ʎ;j0 -NT˛('iأҢ0~"$Mi&;AKi.:`Rz| }0ߐCk*)A%yrq]9%y|$LHjȇ쀟oc`=1U[iW^җXui28N$nS.-{3 j:Cpc] 6S7*%c%b3<,27v!Z4RK^Dkq[,I^%CUf>Zxj 0fS^㽸k|"+ϭԹNN֟5w NѰEH@B<#y*43aB8zLA5 Xq| }:W̿#L -Js< )ya `*-WxsMeGTSN"wTbYg* Ǹ;>MҭSrFX\pc_0Y?H[`Ł' rFp_1/!W&Z_}+xO۶j`qxďD@DgO}l/k :ln$xߨÖBŷ" T|z`ޡ%—ߞ*":u|=Hó?xME3 <.)^.; g>'٦򵫟J&)_ whs7ra4JZG<V_MrDn"827G7և7(@iK峂!OT[:t/dN"G#T.=;{j}Nh<aq6]S:1]:3X0,&^\=An3%Kml{:z6H(J{hA {X]p~'\Bz 8yl`=e %WN{UYLfob+gJ φiO٥[@tȜUs@Λx=8l4x/[dv ]r^Nm9GF 's4>4?PTn9 k38~bUfLŕ*O⟽OuTV-T]{m]6I&G gQkP(yW k+l_,`}^f˝IyDwMee!H~ipBT/LkŐI=m/Yb{Zdp8݆QV5en@OPRe)iߊLgp[|ӎ}`ԛĶ9y6~ unG|r3Qֶw0y9PJ#B^}UdAru1-\9 G<>iZ$K=+B`Tw&s`JxJ4#X] ļ+LUyJZ ӬLW%F_nb͈BRY/OedA$Cw>Qc;33ֺ,|[v$@}/sɕlSIö?f;Rl_Kؐ4 "t+fAJ>[V[:Yx<İݛF/b-%j@JzFZjYceT6caV0+!aHA\'Tv-F#GSURi^8לà\RfFߙ;(H6O%-a9 Eʜ=Ck>E̢>mkG8Z #eRbQ5o7"էwf,+m.I:2t͇f7u~W,lǩ037{`w`SLO|~J);nu' {%JTgc)#[Ҿa≋[}Hw$tZf (ʝEQG^x=O櫇C]Xw^A)ݺj ;[ N(!X  0aKrJUK(<iWZ!}IiEIF*TL;xLv} FGRn2 t֢K7DF% Ky?iqM]Zς*Q\:.7qJӹKM19964C"4Y _٣#t8:IR$m N%ڂU}"<19GjÄPȳv6* 5BTՒUaB.;cLQOa NN'0rˈȎ%'~b{%C{O/X>3?t!UP~ULb?Yz&.5j_:)|. 4}iD#{AhG:i~ avrZZXik5|4oE<+Лw8!?q=i~$O'$--Cc =Z8yS{j~;&tsL/P-q09ASw @#ckxnFnЪ Pk%;{[Qz&o,"+Ct WW:#r?h}i?mq{t}+qp-1҇՝u(?: iTO~~WƉdPKt9?qJ0Y)?@8B;q9D&7M4|sJ*4Ԩ\(6خho9%: ?䔁7G7=_MD]-z3!Z<y;J1{t/KĞnB0vEo˓݄d/KI S۰S?j3*v;Җu?Nq$#ٗd{>tp|H:~ |?2E怈dؼ'9ZoƐXH(\ҿ݌ġEuH3:^9 cEz-[CX`mT1frGj qFAHâHA. 0|x­Ӽ1u8GW2a4O0&UyDzݚ_l7Nǁ s@qOXB6elKp- HטşLqsv-'r U)IGIa~p6N^3=_ AeW]pnpoF+вE+J 9r)L7V3[PXN:C-@Ht 0%mE lg1.7jZ %\ǫ]x9ci[!/qt_t^єM`X㇞_UA~N3긡 RE xWR$ܑDP2D91" |uG׻b"7DTm6ج, )lUmVul;do گ U!{,UlD_ʿy15RIO}b{KnBq1Rf U;]R "sjd<14.<^yq&\N[45_Av/f2KhFUV2EBm0yP_!oIJf\G: bBi!Bdk"Mw 8L'ߛļ0>kИ c??,{uَkY*I~̤%h͆Dڟ 'Ny3$ lz͈&a @3>$ ~˿gNDfqڨAgA%9~vb ,uיٿH?o 9ϜY hu &b*hn U8?cHko<C}P,W7RZ`9"jB"I^mS SBy֘tV'ʼ_GPM9/|>ݾ8DAjN _lߎA<dFa뵕ʲTÔ". 5!hrDtjyz~e> D(ed *C#mSLS=[O0P9ZȜH.`DV('(ro@?h3J/h944MknF8_yIGtTB0p?S}q2P~\P6nxaZB%GF-OUr *X"hak {ڈhB&'|;Y WO_ɽSGǺ H }<|kAzO T?drl*HnsX<ם G Q, T{{o]qF&ÐwmSQ~>c*V+p&Kt.NC"H alwH2*d-\ہyBnf{X"qa ˱A;d]>xh1UE[xeT͓V/ OɁS fY H]:3f>*!F -alhw+[_cw%///OΨwQr?zn.k@(eSDZ#&ewgJ{lXVf۝4򑩯#EM/jl-9#B78m]YlWн40^wڒ:c9vyj ]9n'V<#ns) i|+Q-Vrޡ؏!TIix2qw]^ JnX㰴z5x.Nwvۯk @wά*5T 9':6ڻ$1S8,j!Fhl!4Ģ68T:{-qפC$fqpy@Ig_f:΀J SFV`2 >]lNn *P!t]_"N,Kx _J$5^6r8J0#] T|$DFؾu"˾lkʋTe!YRXNijS9E_.H]^#$Lo>)שeSb6܍/};P96~E<ppg6' >穀wy&3rf <'k!=ɒ}tʫu- Iz2Y~d:̊`0+mAyÂ5jpp.#~2b4+J Y].Ǻ`[ZG dq>l"ġ:ܠ򀰥so74aK@1CD]NvtÑ6 0K׋bU 6Pbcs?$`l*q/ˏ(#NŽCt]X}]G/Ө6^4ǁ z+H= ̾DF:%C~V}( D.hö^MѬ\)V>Pp:lL*F\s^]n}t[Q7{pJO33Ŏ~`tN-lLeLzbܶJ!U"w[wUK"+WpGJ/[sZyLth8:t)QP= &>,c-HE4~C3c+*GRnϖ?949֖[G}.  p]`&s;+>"F?zv}W}1* 3A?qh2y}`5@H`s3R^5Vb7^񋻸:swIfBG3`ԫQoG!EG84, [-/q}!?_^y58czƀ~Hj2f~Z'Ğ-‚:%KCG6y%f\8!y?6(x*m?E)UySu^Gu E%[ij>ީeՙп8?d̖fݱ;]6j VKkM(YXUس\'ܪʴz6qMܤ{o$q'8GENd)%rO+7wp[ÌYd;VFd>B dR/!"u3(8b{; 9yL_4->[}|Jv6.#tja{R&-`%7e F6g\ ɻ1SAg` 1ۿ;*Sw2 &t ]͡do6v}HG5Pdh]ꉌ9~Ozbx F&Bp7ѿoق7<2],0 ÏǗh4hanhq7xcQ '4Wg& L1ao6-ySH+jcj vft:%.PKz&]*_~d IlGԄ+ͺOΜ1R'RT>fyC\Ɉ~Y>'ckzj$|UhJp:[פfI>dvZoŨ-#tƜX݊u6>sԽb&PaDyĬ[|ʉʝ^JdقD^f#Ynֵ^[4rcg5iʎ^* e;x;*Z\b1C|abƃZP!׌l`7Lts=gE[Y E%O4\.^ U7O."E8hVkO;C<8la@Ck-S $Ovh Te d}-;x Ki>#D;57-{!Rz5ȋQ^Pib?u4 2cg2aJpK%%U#zڅ{!A]{GT^VfppJ6@{~i94@9_xP2V>ڨ;1t5JKKxX+ ?kH;`_p&|?l(:obmt Xxc1Urԓ4b6-{{W9A/ 4)\{GXbt<{t;# ~)u .v ;(b8@|m~k/_Cl3I=rQDDS,&ufmsAa*l7'YQa®D0ubnJNmQB_^)򁨈ck#N4mJdAV "|Kiti)( xBT[>Ԋ% ww ީxs\h>%s /2kЦ*!"Đ/ Y@kXֶYc//O>rK1VuUgPI<6_m:UOM*gM:(8jn>*z;ɂ"~TUµsqG&vn Fi9'ps}8nK`/'?j|NINLKFGy'9>!uLS)?wh\Y 8t>4V5j L0=N: MJ)g5cKmU7;%8z,e-ޤ`oR pMϧ /ah;k8G9q/2zePAN/ȲR5녊DgڑjtŬ#";u)PğyDa3a#H@:4KOu@s) o>ST)뺆}4Q+s*rlR=F 7ǨvѷbiHقmp ~FHşLo?3&o?)7*[Yi{-mSFFJ?m~nH1$ ʢu+ ėLCg|`մYo}Y8g%Yе?#GJPC[Xow2+QC>A3΀ʍSQjǹ`5JHr$xNx%3ϫ¹oUuX%d]+e[%}!J*>/ҋ:f; QG?onڼh{u1E<%n~6VVBj^a J`g-qdZ紈JP)ط#qO(J UrIկ"bZ`AqXx͋-7s3R|</=/ S&sHrqeJW"ؘ^Ō8 dL\,Gf(sFCC'`P.{[?~#"_SnR]*Ƈ)h ˲s{seg N8QFS|? U,B6a2t"K,-~neuqXVp޴V}&ŗ"hܐB=95Cb-yWwf `U rk*T^5䈃 DФ ;=RGEl5f>ZCxsbmIG;6ݵ%f< OjwXfYgv^WQ\)2;ZMh9`8Fk4S9{XݜGyϴYVa\5fc*B +Fãa9 7,7bTx,J\.ȈrשGD68~*gԚ@IwDbCMBJ"߸,woK kP C5݄<Ü9 g֦ztD})gb, "w;@ޯaЗ5c|5,߽Iw= c‰'JOws2 d誽fe\UG뗓rmpTWXmϐU^7 IQI鍝>I>?^dč 5 c6ɡKE=L ^z0 /|L;!}[_-RⴑLyޕ}ȡj*aQ1r1` |J.h܈MnѨq%sT]:]?PcO_@2GFfJI:o[2[?N"QGY kț,|ܸ_.+C+K9x/W`j2QRbfӒ _`} zA`xHjsc!2BXQIɊSw͏-tzÛd!$ t5aecƋE22AL]JɢtA"(@`ߛf O ny !/sW?H zU ܥh ɿIiG]Cuҥk$ٖQƖ]_sZ7;<8T-V xM*s¿hLI$9H;ÊR*=I1i8YeM]2'D Ċx][oR@L!?|A0y ^gYU[s]gbrTLcЇT &uGUn>}l̽-~m~JJswt ^W*~j&G|8m ##,pyUk]h\ 6bhfܥAWQ*< hQ Chxh{?a6aW oC#g<8u$|kENmCH2{Z'N3ې]8 Ud[`JrjGfmrl7N]]ܗa[zK@OeG$)Bo\EhX!+QW\fc&MZ"p N;뷚=,#l 4l:[$iG]]kxF1X2kBQt؏ P!W$*,&/0}P .ndLe^ɜ';qa/.l@O?UKNzKnS%xݩ@8#{(ԣϺD^_qЕ5REaGqG~<{&!D4ɌGQ<7W ~9/+F #fc}^OOvWPWk h?eb޸UW=b,jE'? DWLpp|78 {i(m7^Fpz&˰GG Axc蟾(U{@DcrqՐG F#<}βcYP|ĞHqW8DsLHx2O@UKZXRVV1ܒmoWb$=,;@f}EE 8UU`.$DTǢH3t6[;p` ǘ9PC2 ЏAhwQHnmnV[/ E7`MCޝjAEUp͊Q)~6 >"Z,y[vYeD;PcTfyTl]B:|K}U4xK)P#zu!pQ`đFA(Dv~ptL}[9 /qݎYy\rjz\csւ0 Dğ4': Ɵr:l -_Y2bDԱvq )X ٙYD\]a(Bi}!..D/z8B-Pp"&p\J:qѰVA/Pā%eL H_Qzy(3J,]MZ瑲Fp::L"͎rkIoܗP @kGͲWt}IaItF;XEQb̗+Hؼ֖ 'UgH0ɑ4J8S#U[8Ϸ3zi8r*h(`Ƴk-8L_@8b0EVIᐮөv ݾ+D^Gyۉ4&15@Xv,l+ucf 恭"B3<ʰ8X-G4ْtA:NN9o(\a*ՎPwZp|'B aQD򱁪77O M1r8*&w.ڟ7Y3Eⴒi.hu{tj5p@V[A[͗F@7uU]+G& 9&XSC:*b^"U֌Oj'ǮX]q+:y@`,> l c˸ʁ&ru8sdw}E }rYe'L} BgA=J^k|;1/jo9@!?`TNrurXFUX ^kgj<Pmw3xCKe= gD@F0sk}QVb|LDܾXHSp1i،dN_Y0Rp6t>.VQcG"H?֗"397dO}iaa9ۿ06otykrD- n應 I(%4N3_SGoRˏ~+E~jOZʘmG ?ILԮ?vGԇJ-.&2̷<..&<]d o GK㬮)&`Lac¢-&OGZjig`04㬧qgF715ƙ RH {mU?DHO}~Uk.hôdŐ m K?Igg#GQ७Rn ~4pf O=|%&`;(*3 ,Ekx[dwДq~p?nRrg M5C@*rϗ{ݳ̜"n\i^W-bJBΥ0%Bl3 ѼM+s^Je涸C1?lK&c9K^NΞ (`[ǝJ8r#q<`%j!$Q֥s2r-}UEcxc㌍t%&HstЩ#AZQ']fhV*f监BF\s1wH_So/봈JPVӬhmxx BлsIEBʘJWBͬd Xk3kK u1G| h;60~B[DѫݷLhϼ˷.>r'?"Txxt6`M\- a=44,zoE6A&;خxd=᳈6~A*{|E$Nh 11I*8 56AeZ~՞q$`! %!]c _}β>w B)*,3}yPZeU׎e`@̉@=aR8 kg^Ӹ}R3PV-^ܖ:3OT35xxDDE[S@jl*428ټӢ_I(=yHA?p S@?ƢZ!>ESR̟+#~\7Ot%\@Θy3R7i[0*+w _i=|NE҉j/MC!&Jж2nߑj))㊗!3iJ9RH6 %(.@wU+*<<.´V43Nq:6w8oFꜝ\*ho%/ewt/ Fr,?@+og8~ڛ<~)AzA1vi@LYg+ޫ׷0dH= bÔ13Ћ4>Qf^F4*u-[d"?c/s="(q?T^)T´>P)?Ao͓׹FkշPi=~: kܘ2pMa7ADVm>:<2>mat0}H$2,ԡ%eN-} |.{Vl Qz8jSg :8:կU]Pc*յC |N$N w9dV4&},Q)ƕK'+=1FL]ɺMKG(djrfIe˄,,x1gّ7Wʵ)W"͒LkKsyaZW%ɣ>FGBY d)8$?=v]~8/ OI'U&Ug |%(^,5v|P_-qM<#FkXB ??n mi]q:]V*n^dsQ `**Mj~b vg3A$4K42cAn`2x;1`lXLVA찒Yj=(} q˙ţ:rUR3rBU{+)Zyg^g;z%{xF݈󹕳kT' ! D0Tv<{?Lmxh iSH/$$vrӃeEaF<w`zM/?~Vn[@[Ǔ6 f*FLMYb5pBMUy7k'E]S3s,4#nqgA1{y5,Ǫtʋߍ3d":bYEu:[]C3[}IF„.cMb2bt'(,ACʴ[(\8YCYS=~f1qEV&\}'uZ(y^Z?6_=}вD4:ȼyjߙ&;0>?j,AGu=xQUT|{@ zL~@SaM̴X2K4\0$P}lw-`a,}PJO0"!H?y*=|z%IXJUg~ =+y?Ch@ 2'Ovr3YBG5tk\*`)DBek{ͦ"5dM PԲ ҕ1 ["Pg%KNn`('iK}^1pB`f)pAμ+?V,˙]uSCZ_ʈ8Rqۦnzas3\hPg:@yڋWiG;Gq%9ب _.ݔ7Ie ͈^ Ty"с*j2 O3W ^,%J6d ey OS!kT:I`:[|UQUAeps3.:0:Oy?r|)'כ|~Xc{m~#/ |qHA-iX 9IC˂ݡwdpUݫ%Hx/nH1?lgbr)ȷ:Y&y3$('DEeEvqֆ|d ܪ5v)RBo\0PSB|+EI!h5Ջ67LޢMpKBa;}RgpPyK Ǜzյb];{J,?p^?>Qp>ZPt{R)CC6ݲ~%CHQ,8\m $q\|f;N]g%#]i/c7~Xxbu.g?Aըf"UXG2@Ho{ͪ*#ȼw3:#^+b FhUvBCZSYS[ & Qc-X0-NK 0'*Af Z^esE:wX"T^뻣«uZ c ( T515{7cQ=P>SbS2h aRWCT<*>SkByildUd߶n#3ޣ{eu&8 7 ~ُ,EN0 U wx[l<Ri~L' j25&+s=\9a.TrI,KM uSpW)d<73)zIl nQǩ) 7=j+ޕ$)s>`|~ؘ;ފQ7uru5 dNH pBW`=Wn۬M[öY%,R3|ŀtkDuc`}ˤ*bLarEV½V,̣Uz \u紻e>{Ċ`V=ș5ǹ g|z؎LԚ&O{m?l ;(le$cQJ/qdb;H3aiD)dDb}%W ,UO)!Л2 kPFjxROG_mP\ܠlFObWjʞ\`+gISѢ'7߭,{ٖVLeGq ~Ų]> {.4u.ܭnA' P Sp76N hy9ۼk}pS$N"{ n.}:|mE4i25/sqӃM2eǔ'Ts3Ӱ&{ÇNJ#a|J1~[(sIWöXYZ*z$;4 /&J.^iE ^jx8pQFWluI0c6`"NZڧb^(SA=Sa&6*Ixf>ce#Ochsf]n%FTW/MǠ@%*}F:O> \#;*ttL!L(Wf,:'xg) 8oM rEج%!uMWbUеxth`iכP3}\hi0TRˆNK{.فN_I7/WWlj3̯3ew,(?;iS7 7:"]}2Yo&J4%|>qWaEU{Š64JBp gjc`/zW)IA?#7"ֹm7&crnwx||4=w[vm.IWf (F-oЊdұ1e NjU+%c;0 {P*e,bWr:Qخe Y3owj!`5NɲE-ie]3fqhLK~GRHR3U&uHL'x2# ]q\h xC5Vկ0^NVY b֞ B3"aUvS7|dRK EJt;_V.RqQax@~3|aD!SXCٱğ $W6%~v묌;6RI`^VSD?WL=mR*8@zFBV_6{4gMh 0 %bZSS  -.SX@h,Z5`i`^<*V J@\r{ ;3bp ]Xs8 ' ζ&Umhyxx=ӿ@PqD6^_p敀0 h&{"~nK"sJDߌ#\ #%W|E}|6iKif/WSi:ߧmFN,= =*2WS4, @|{9by;w&GAԊAc>%~֠#Ni-=sq"xR坽Ԯ֮^P6QPyʲ'DUJ8 ݅ԡ5?jFN ؤ DU~]-(41G|m2 5-~)g~~ 6c$e<aާ:)`x2Q2r}6ʣ p˻ }&U*A!ϗh|Ƌʃd2cki*87EچR1pfF1fTЉA$E Sɳخ@Q[ 1t,'/36Z"P-m*_a=%Ӧ1y<' &J`RM}+IbP#:7 rb ͥa8Stha*MK+7B׺n@;.H׶RREEBP\TDIOw{LnԺ ^k3 ]–C.4&N y-1OXQ$_|)@>&{=>{u#zZ!j[k#Z hPX<6UZQ Q`y45F8NhQ(h˱n(%$.X@;|'9+1`Z[eQK x(Ym\gͺ6ةx;,WWOc:­A"uADf}YlRv+YklS"qf3A 15_%P1O@bv;t O.3jNN(_rZp^#;BNF{~ 5S=oiāR]c,|5 WE2LJy{![P"0G!2n!32"p8>|^jCKJQLܥ7#@,c%~+4#r0JٝHX<#5e]=7^, ]*?Wґ5 nՙag/ܭxPyI!9Mwݡ&)v;zM'GvT<} ڂbca&[+>#|yfl~:mtQb PT{$쭼+Mr>)pWE,!Duf^ +E^oks< [Gm}@pACࡇ LB7poR@dqqEؿLR?FLpM8̛5?U. k| +fv@1sq~ ˰D̙ Q@]~dhtm5ͼb>{É i4Mv7h@aj:on,6KX69v7A*e)y"v }SvlOGcųi26Gp*Ez,+ŗL\+RFLA *fFR %6/o(,G&ņW+jɳPQ!=ZE8~s$>N{+Q4 #Rm7)FYՂ ͋|!.{.IgW7E!BUA|$W!oU 6}t6)uR(=%gI#MRYŒtRd|:iw)%JRlR4m[*3Ln$52ƧB^r8XϲdΜt@(wXAZEhxIC;'t&:zI ֭v&Z4D-`]V'TJ?Z6R},hZtƨgDۃХ joƬ:&$ɭ&8 Ws(R`=ˉh5T0@)P%lѦ < rws$y=mQmwGV4ui]d2(آDV#8jdZZڷ<`ҙ t?:ԽF+D6tMS}3zܕl BS_gĈ,f`fP¶%-IḌ ;n|qyrI-n8?LEZjV ?e3NƧfNjN?gńNa  :]:}QVAf[F{cٞ8 w$FBQAcHX 8~g~#4C~5,lؾTF4wuj3#w OsP eUy盧ZÍ> !_{ $+v%݃)hJ34/0ݕZ*|3'9~= 1m1N۝PiꦀD#zYdskVBυfFõj\F-hUۘO@ڜ~x,ܤMQ#,5UC]8@6X CmT\$*Q"kg<#4X[-KrzAp2zmHѹ|\)=7JӀsb}g}#5 Ҁ.HU3x IR (].J9i@J=Q3,Q`~Le܋^qh;#'3ryh2֞{z綆GDSSRQQn3MM'abbϼ"X-PO IT>eB ~"zl#KfvpV 2|Cra>9PSmXͺ3Tb8# 8޿jrd`|Dѕ؂#F- 7I!ܶX9bln"xR#`^ll AI%.d9nvWݝxAU{"hNK^ѯ4CwǸ(gF$;"ChNGeD n08Pު#٤!JImR :VȥhP!_C$&>zq67^[|wq)aw;Y3&b?D}֢0)o6kcC'v~itC"&a߭}_7j5[J R-@pT_~gf#f#kyEAW`r4@% .md;jޅ#&ZiNת z=r3OJjFutXl!Qg8T7aCbyXdڵ5F&3p٦|,Pm2޻JPTp>կr<J r73||zDn8Ck//6ㄤY:aLw)pwBsngT' "';ÑS7bwR6E,AHٚ`a[|Ji/ųZP*Ie= zk7[f71 QR)g0x>$~@/ǴG.Ɔ$G9ƭ_- %,?UVS 6דQ9A>\M _Rֻ2dSHBNu-s U{ ;]~H y)uD ;$J߱(|LTe-9KҮGj7V^.ٝ^?zA9Q |赤x-%[(Jv9$p:vHoMd`Sd4u(sؠl4;! faՖ-JO<\^wFKR汇aXXMA=jH:u{ 2q-7闈kډXa`yp9[2o@C!F r:6┸'q9XU5=<& 쁲5NάLE>W/[ɍ%q%^Ĝ ;AgC$l=@ gp.s'\*)g./쐳%n6/My>A-8ܕQ9\RWt3So|/~2i]oZ4iFwll쁖NM|Ϭxo4qDMx뼎f -a( rr6dDY3OR`z,ɄQ V\gVlVmGXE=R\=.G#T 9<{~6䛬$+8L1ZkP)C5¼--zW1T2ZE`Ug3fK##:o_QC9X)4Fw$(gSqiVXG~6H4êQ]ZYN DiH"1͛@ސC$@؄5e@D#u;ɓeRKy%װpv@[pqXAHcQ:<1rOnӳhOа K9ͩ-"z<eіJX,6 lK$^ H\@kOᤰMLIO7^)=r3[K hlx`ubm%!M]ÝkD3щo`TT -z9 @egaҶ<)b]!4qaҾ_}3J)f*lYCz`{pr޴"{7/տć_ݼFvu儁3"w\Yi0N4k )@1`cS9.yʤy͂Ê2e弤5 /BOFѥDv|™L8<8p@bBVՔEQFXFϥ4~9QfD>hjx>OA @Vu$5?o7\kRWnjOi" =p $&o<ܲ6j?bONnBpP0ZO*0zpq9F_{9-n4p=}^&6 j;П{^ew `JxWvv cή#ֲFj,UKU BMa>2meyP!ŕڼ®9Դ%tXvHB0`WeR G*FU ˑ {M9Ʉ0mr8xc~ByV~:~ >$rQ =ΌE١nY۵ӜNF~Ĵm_{3tS,'G·!J0PQ3-͆^+%/a pO\{%1hfQ1~.ӇԠ UB!r5_AC,"K&AVIJ鐒iR]jW4 4+1Gwsdij na_8( J=Xmg\|Iv||\?ŬDPZ0GҤ|L+Q}5EHOc?AZ>yީ+-k5!YG҆:P?kyt o?FiZzP'zݒ3uΐùr0yQ_8N\c-G+K&ʓ}(!;& CAP/v Uy DM`#m-M!JeP.ixuV֜1JS,4*\g8C_ ۿ7yj\ݫP:Sw.mxT1"y}hUh|"Z>,b>4y~.8 3}zג$Kb iĝ;0VƎj>٤]!ehB rJ1p 4-s'F!\M} D~:Avx Гd6 vOy,7+h6D14ZԾjvcpJ=U~^Pw-ЪwKDt^zfOœJ :ue3^})e%mLn?i#Q`[xJKH}gGd2 /- k)c(h-Wnj|F+Ǻ㓿JR圍֖ńۿ\-pC+gC~S1 _IX: 8o0 ʭ~s:2Q<;TzL.> j~*4q#MMݶ}Ldŧ _7-Sl52 KNV,j&uQxvY˱VdΊw[vh,(6JYFdw엧`}TT D(ft/N"V$5d=/'-SYH79"knaϙ7A1.&#/)By8hd * jVp4.bjLU"(婚عk'4j1SNQQYN+LsRY>yQz]"Ib>:%N!N@ Qj*Ȯw*H4{P;ʍyar$^u&WQd8:={{i)|f\#Ty[vdGazuyK/M 8xng} ƅ *W ?'y>ÃN Di䅣i$exЀQֿ7q-lb<[F/J1. ]s0Œh/?B٤hF':=2pC*)-'`%OtصS#yWH[9Ji!W1,Ԩ 3GcS'XwD|ȭe>92BbA7RۙP.̴ Fm PKahUgLJ4~:9gijH؊",W=^}f*&~y(xFtO:^ϔ UhX*SNokɍFI/ !䊔60,i 򳫥VicϼiW0T 8CFLG1DA!fzcR-X9 3ݷU:}XN9(ح w(4[>FT{={Wmm`ǔZ]I>xͮ?7&H$g2(hbuk@jr  瘿$@BL \ [UbGa]>z2(@LdM#.;8'/]OEBkp"`BPrUa߂7V )鼹PC$6at’6vL2g y&ssԂBo"kAh$:UV(@0aSF4ځ"8CJ T0?v8#ٳh03wUӔNM58 `(0osSDzM6;r2Ȇփ7FCZק%|N j`ʃT] w('f`uDGfX? Ji\%Z(^j7ֽW,h  :R/Ŗ,Gu&d;Jdx?lT]Ԃae`={?\ǰ#hnJiB<shYj8aSʆsr|e6Tf;D0DnPC6ʸC16F7Md(&,;T4ME?2>vˡIFAPʼn(H1rϪ/e%/<./^춲j\ ~ z껝 ;mIK+x ; Qȱa BAoeV~+cD)9/[-5Fܷژb]Qi\ %fi0+!7}Uľd-iR>xztk4v;=3P9j#Z;J!֦B_t]jz!$.MŠE`'Œe5V%O>XL#*ZԂ [;4:(lsg,}64$L&1߲^^SP_U_ Ai.@lHR4>4ZE=LS7J@|?!5(~D0O81=ME.=FWjMt/(X)_Qr͏/l:.jW=Baڕ]'إmdp5 RS:ObLURʜZ ^s@nqAdf@dLXچDP>6 r;@-ǀ[ɨrD ^WwZЕy4Ҁ_D[8 Oŭ4XV—0ġsr%MmrFL'%y&V9q-}Մ+LYT»O!! )[iV)ďf:L( a[w :Jr.$r+eGYILǛ0iZhIBsdGc{K}+g0N`_@cKVίaK8?-|{ ? Z2Ř#Ӛaxb,e]&NqF֋"!*f\=Ð~A.Lj{WY:4mflLy%?[*uTs4/#8 @Voqr%Iu|[82c3ց2S 9f3*(0 彯6Fpu&EQ}D׋;D]vc^ 2& R8D;v7cAf9q>q|O:R5'`1kgo+O "*s/OdnƄKƔp[^ζpIi ?nh, - 9(:&] }Pi-\bEwՍ7AG׀VNr ݌ڽve%`RϵP@MŨTxv=POy-YlfK2~)&+Ӊ#hޯS.F͠_Ju#KEYF2 rR1g]eXqmAXC,?\*r sRK`n*m Kp&fV.^ "+mk0M˩wj6AnѦNGV(?P˷Pډi84Zo[4^~榵sh׏YVS\{G7bhrw! е;ي*2*;"OdQ9Xr2yr@b#"<ӗBNP!i= 񷳡I-ZUϥCTME@Li2~d~FߜX1?2Oree6%/#2F,vˎ ">֛b^#/S7Ix k唖1@|M/`r}x *{o[> 8t"mq8B8M>=_KB2%J%܃[%G9K57?7 :oXbu)+%i~BhݐG&Wgwd&`F>!*-1 he` Wt vz!:DfZFk4HQk Oȧ9'1XJ67Qi0v" Eo_UfFx?zIc>[A˂BbMܚ?4\ /<]vTۗtȚI0SC&ɜkT`a>(qӮ4V72N)ue:[ Y[=6(vzg >nⵝ9MƐƠ+1""@:2帧".f-Β06, |k KԿdE$^d 3qW6h2͋'Q+Q1(2F3았ue_ܹxHfL|~(vޟB 6?u{|l`~9)Q$o 3%mn{{4最>lVocY笃jLX*< AףOY t߫ST kI Ĵv¨;^S(" #| 9_kiQ w\C\۫K@2 S$#`7b?L5tV͑n{smԸxr2/25a`ǰMFVI\[~4eJ9B@+{P|jG:Ph#a1%zj|c-`7&AD[XǔWY JhB.g胭L*zq:E L[u5/Ws?fdi&m 18h#DJMk8m|tw*k(dl"Ab@FAr%'EEh P?ٞ~{ǾNsݺn8_1pw\V -Zi%r4S ^Ay"#-%`1+F5wn,d]`p (<^ZAGzCwqga"ڱk;HGůmkmbVmUщ`i%ڿ4I'U5ȫ^*bm~qbq|U${,K%2Fx /fg J^FKX{H+A\tաޙnarnqT?prup'nT&$Gj =9̧ JЩz^ol׸r~BNc}B>glR1r'2H5ШC$X[<<|M%Պ،Nh8!`B3P ;й{&>H5eӿL4\ka>i)iH\68KaAR/ "?Fs7šӱto?Q"Q^2vѫ!S;Nl* 5<ՇCބ*t^Z+jpBEJZ"OvR9o牋+6aUz@jR#7C;k7K ҁ+K4YIBvp}z灗9`VE m&U&O+N>~̨ALPj $-22`iǾ/I)Y#p|Gv1ӑ6 ;䯃,k9Ynj-wjWr8JE=,i'7mZ|e"ׁLW7`F|8+<^im/낧冗G-yd4fy~_EOOmum]3Ͻ (X9*~1w@@5}CΝ]LS'L:w*5Jh=!ǾB~P'dTo&sPMϤfH[\ܬe]~l>b-G*`K@erqn_A;6 䒑Iq@QOC" {^՚м&r ρl"T28<ͣυ@'A5&6jX ='L/C,t:m7N&{BNQ_VfGbQѬIBtx=a7XiUm_i~Iի@>K^܉$ɀ!*4z% /$@&?gt 98Ȇ eݖ1~MiC\id|7#GA35B$"eUG M &9CGAzSgK:VLel'F:ݳB8\?k5jm=0U,!h:*5 7[Zˆ:JҿtcTub~WEFV7]g <~'GV" >{ty8` #6X(9zxͶʇ++u P>iQLt~N$Qr`fe<^PS*Qj!G:~j OF@a42AtdbD,I)9&Mj}o)5Z<+c_moF=c<"9wjU~;MW$̆һk^!͙E*D%>^9H4-Y0+mP7RD ˒liG[Bv=$F ]Q<ZF&wpkj8- "ځud)T(9 zhfFҡk=aԓ!UxS\Ĵ~I;3ysO IJߜ%}7hnY͠eVD]V4+LvI|F7aF({ŵB@HetZpň3]f|>m.zYfbI6,Vp0P;>3HBڵI2>Ӱ1C}8S8'4\y;G- Ź$ܞCƶo71coQFMFXQrR^$_Wy;YmӘI {FyE4tpFe\etIJl`/QV,u>f04\%qR>أ<1o(=bMG~'3t]:^3Qr)ӆD͓>Nq4ns9ᠵ2\ :)&|^^\lDZl_ђVfMcUK.nkyTD+ 3ڑ]15fŽd'k.椲%:f.tiNK{K9 l,/C }h2!~qW;'sɎ> YEJqfm\˻8Sf+U^njR'b׾@Γ= zHyLk5 ][(x49 1jQC`Al/ V$Dna}'bJp虯e<j G ^߆`o $JX@Mo%2NJ+4~#.j_yk!z)sMРm[ ڮ!/P߲KbvAjᢹ< ɏ@s1f2X81+AH#&#!tfP*MZbJyg)Ohl/v#VD`C[ fgƨY0xYE;D&rL޷BĈkaB$v1{[`;bS6yB| ~hTF"Ğ"olykOr&nB5x4?#m]nh..,e12 $_%h4ȹ/S+^PvwY-3KY@+Ij4=hk PN*(DHJ! [ӯ I 4).R;Zʪ"4[xq sOgiėaImG,@e9O?uHsbɖ#|Y9!j}X$.tGnljZK=H%ifhq]y{o|ӁJ0 b;ԍlA%бї:2_z{LL%r4V˯dQcyw"8}ƛq"=` $).mOVUč _ wDy ; :/vMhWFԋE|oI0{ޯBixH1ZZW>LwgC" "]i[nz [@=M#,ryza F'+=n!\eS \: y+3ząגXl'ue H7xi3K|q3jKm\kmED/ݔQt9Wœ1U[ vH7H# s݇pWTm!ojS7K.{F[jSnx] hϖvޡZV’3w%H#KdATRY5=X'Wyh(.􊠅nYFǯ\`Icr8)=e u* Hշo4̯w{He5mcմt 3~ofvAC!pTLP(hvKqcź+LD0˞@,`{}e_al +l)S"rF t܎(XCw'韐8M61Tv ʣBg-h&:ĩ6܊pp7[ ,4 nDA'b7 N5\LIɏ`"֛"I ~Q.3ԩMKQca}!ZKݪ?{KhԂM|gŸ{9~f!3 Db0 ^08*E0#E̒1Дwb>lQQhBQ^:M!̾"׾&U9h \/ ,Own!uS~+zH~ؖl9i'5>ϜʛJFaq| P5nZypMGuԦ%ZxWg:K d""bdK]t1-#IEY-P x\UuꑚZ8~r;IͣqcD吭-W<>ƚD>! Hy%AR&ShTBoqu\qdF=×(pjuL?fhbsHف;,ҔPt4AEmX- J%4iY7Κ5N;m`ˍq#E*4mI6.(J<Enj c/F1S^r x ;o̯!ǒD#(ݵ`}#o|زC~ld0gU:))GtaѫVvg`O8I.ń-VDZWdO<>Dfeӳ>l\Y?X.^jGyR×yFv(0EG\Wt% Y,屌hRN%^aj]!A =U$1xAB^Do8rYEq1[P{ Pgb nfsTЯc(-C"GxE,uU8h޿h[ /  p3XPuki{7_n T, )fwt;L%>bqb0'?üVizws;XhvVT6%8YA,7F٨j_fp(}#=ʼϭ6]T \񨶌#:[QGZ>n[Yy`WS97d l8#Ń0xlt(-TSbi؄nw`S}e~ùZmMEq%~0S1zSzSj=ĔaZo!Q鮭MTcP]z:mYJ;nlD :?7\x=t*Ʒ7~v&XxO ޘSus` pGC(YDPT  Ȃryq|7rn0 }'l_@9F:{ KE"jኰ??qBYrBiC;u<+@d|GdTs˹P>G)KG?>=5 U WtZ5K;D}|' ]ws4z,/M]K fqS%8X>xs`0zCp&ݹQ+7Y7ɁulAiqjrѱo 5Me,]4 Ew0N #ݘJmHp1AՖhme{RdN%*BC8%yk~Ea4,$(;@9n0/Z[APpgX]rac݅/Dy"ceD򃃄`W(Joy,@I!wgn{er"':޿o'\!׈M0S mU08,އk#^0#?ݲPtC.r07_!'Jn& pW⌖&8TRtLZ/:M'0W0{bs!VZʍUfϽ+`ƬbI?D Y,UGbi \EMd~x-2_jTd}^k%SRy=!^}GX:})scŤ|D!$mVz&G-(!i(>$R="ͷd{+;0dYEZ2| 6cgVA-\|x3Ny)r>HkSRX<"'&٢9r}2EA4Se!0SxgU!7iش==( ǭwsLZZBvq/&2`3 CEZ47Ziߟ3==PNaۻU+BӢ7bU #C _=3_a`5`Cn:}88mf3{Ũah5zD#AH]9G9X4E86V=tlu3-j+[ސۚuG;.2jUzq^{ FO)y)53kÍ'58Ʀ3IG4i~$i!$HU%2 ~{/&&": ҺD薘qF3 ־ d@XGv>)I ?*bb!;R>?A<}lvMF*w]:/f_WŠ X#_("8y01#Đ| bx]Ȇ6.~M-E$K"}ws[c0̥,S3E|&lK?2`B{l59^;j;<$<A@.+>|X);GV >p/ 6p{"BGr3i V~7kxU׌2)z]:>=n!uJT(ӟO:>V,s.r#Qۇks+#3df627Qo?m7">Ȧtnܦ $g96 ȈrL'u#aJ3|[׭Fu^e)8ds`oǿ0У0/%y}$4ql5Vj*-'4,$m}S\1H0%hoo eO)hU((X Pd @j/0C $4#B;r7r dE5/iƧI FX`e_E "yMaWm\RC~3ҎȦy4?uc[4S;J z@W#!ɮsv3iڜn\_]S? wCCtE*ԭ'7k7ήSL聓 \5wq 6 ~RF9 pf=~ zX,9q'rK * `mz݄ՅE[ WT#hqj:PH_LqWt)ҹSCl: &07|ȝf 3D.-y~drbENMXc#F`qDRk3FDjJuR;%?pT([/é&@ Wδ6(Hz~> TYvo ڽi#]_ ?="Q8 ٥TP"⽘Qxw_0U]c1)kHfWZX](ցn1|Lryhfi5s–#7X=as v`k%D8F"a;{,CJH8sg*@bMv“U,(=rwzݱ:sƏ M$G4Yө0] C c[QYDO5>TK;K?¬a+ާ:!*uc1`--C& )׫LqIHosoWr0o(YLa6(jd +#"~U *Ϋ7'40Wa jz_ɉ8B|hF~ố:Иސ i()ʃԱP'<M6-2x#]}CKCqӃ{NФr|pA`حG=ˁ|ndpWFZ%hP3ER x1L1^^4T]@cX'FvDϱk85veVĤC^B$9?o &'꓉סMS Jq?a@RTNpv {Q((q@;Ǻtq(HICu/@x'"AOE=䢹jC289 B(B8^ JXFÝjUr+Ck3 cР>S a~~Wڬh?&< #!úm &-|s(TgtHuwa 'c:fH!3R!.tk*n{]\bqDЌSƄ]#KLi"Y× ~[n!dA&SY.%TO`RSh"ɬ\PF=w'vSp}") N8(s$GH+-#J`mށV#/6qPR ! {ۘY-ėѺq/}ۼd嵍uRi 4ax>:|P?L /)t3 uC~ @vzsݷ @n2X!{\ )iF.#drD+ɹUDujƛεԙ#ѐz5qmHb\f.Ooq۪F}(W˟8k.}]$tOƝLc@Ioj*!UCo?эgMɮӞLe؟}lm99u!̱UKB} styC$ٷR ˞4/QEXV6:xxQ숡N`(RV܄궠xLM>f@^0)rj rm2Į8C^j ުZ}<4|v8V>ME?/<]mVv@3|~mXc6r7a-ͦr1ҕɱ7`Gb*烴3VENV 5rUBwRBI[Ewb bgx}`q $hgڱَ Gt?D(MVrFxAEa2l,'iQ",Y'st2g]Yͧ\ xJ9Th%8/ڰyN M |Z܃_FxfHk.ҜE:cvUy"@Lo{>kX(\DAxW.zGb9=߷G.>څGxT> Y8|wR:& oU$΋c f R:=skܱEi1mIXk JY7}a6lA+46*?d%'"(1g7+ .z*-G[ v3 [{pQbqӵ\߁cm[{}>ws}4K^ɦs99{Xj",v(޹14WWw{h3?E Żg)2=0M [ `W8f$IrM@e (Ay(M"" yJ*`60cҬTȂ53׼r-8?Bfpcar8#3EfWo6ҷRuU3"C^f.&^1SOI༰2wΘi 9RuA0UNr!f\6u7ŠO܍ i;ѳ|7Hȓy6[FHAoLmL aISEVZ.A2 G,X`ϸ"> a͟hGA۳ͷ׾!Hױ+63f1R0)S{H p- FK+3H)UQ5㜮XcH@)D)n1<j&kQTU ,pB_+9c#C Ґ$8)a2,<%@1sTҿG3H B)W xmO!,AO:dcj@6Xj.m :.r9wV -MFDd:)J"k ?ΝP~M[$2)?١Jf|,&`O˻;N&LqKŖ] DLc,v1TyNί@+!oJm5V2Ord- =+$*'#ziBm *&!\5 =LZ+rS:]iPu HQH 6 x:]*NOz-M*KB`6mx~.%ZFZW<ƅ]|$#!hc5tڠy1?&_Rv2)c~mrhk@3D_ӌ,; `ժk3 ,*ꅅFCdj`oV;YPep{ vO+=l^af` Z߇#f=Gjd3`dBRBN 'پr)/}${2z |oЧF XLK_ E+Ը69+328_!!&&͉+1'ӵde=C庉]Z`"4r&Phy_J"Y`i PaHVLMסYsO. lF)ǬZwR#[T:t7Xy Dr `/hMԓn ƫ\Y7ӄF70v@ ?Kr=ONf.iY̥ajR4W} lXќ8|(΂"sR]ge4ⰋԊB.T;opTPFp$1i( ]&ٖQ7鵡=+Qs<{WSr)1%y{;}}݂3Svkg3hwj)~DY7(5+yV(@Qy ݝ~C@EieFwLVxVDl%ʓBˋ"&ERl= ] vCyQnDdQxs^G0x\=:&te+~=9|qMq˒pB?<"z z9=|=:v ˘$ȨQePD5O# @HbQ8`b͕uw]b5*nm^Wz7gpݳ-et":Gl:}"44MVɾ@-9JAxlcL{PK򃪱-ur44?&hIi8dGJ> @GD,j+2S }8d۴Z,hsfz{o̺de hPn&BAyY'%6ʤ1BȪCX)O'0Sz N%sY[@'``j 3\dJ}0؃|hcp R.A?g= !b^kss@;݉G}If!-Ŕ*#i+,f)Hc}{=v2s&dl,,:5G)c= y']/$aIA-mDu[MeuJP:n }T}\"6? }VOO -HfxٙK8wȹdrx] :`:XO?)o8rPt rO3uA&pXv }؂T:p] N +Ӄ͉i TBe̐ge[ /a7>k_$\C/>xhBUяs6b< ȅ)4gĄPԞ[p~2h6Ddaa jAy,JL¸X"(DXEú=wLGֲID>@`/}dbNV%QCφ?Z\#~Xr#mݵXL w1/ij+su7*B:J-QhПM38m<%jp\|#{f8޴fkt1&:,r蜖a#Нrۧ!38p>E-#`)ͩ΢N^K&:f/:9SyA"?oG[ 8g=`@XMuJul"C}BzU4u9%6h~C|G^`"ĕK 3d* rh0ښF.!LSP]a"` d _0W% 3~{'$=u'DKF.<i7MU'R~0|YW,St4o2Vo <"v4);ݏyK~o`hiί8֖!j$ѢEBY/,1,Ͳ{%c+e e9bm뤣.)?WܡϘ?tbM߃LqBssV(E4ͲI4R).L9RGN'طMVgQr 2Y ܓ[i 3l>]!`+ g?4] ԓriѷ=k Fc|/zmaYyi\3rB!RF,װ9}us~4CXɆ=vN>7f.N!kLߛ8Ig`z _}u)W joG:1j_I"e(95U Cxޣ@3n-)s ~xw潡y˷ޞ&".4}LEBʂ[}ZEy60HKPB {?~eANt]D)nA9%IRGa33iP8yO 25-lOtpVd qfs_#fxmCU1KrIGBIVb+rFm6͝E84C~@ }q"=*@# `rrfi~뙅eCz'г,/Z]g'0% RlˁCG_W~"U/g YkS݂K..(R d:=[Cz\W(eXs_oˮdoATBT(F 7BE0U'!NI60ƥaWȭgn!PT&¢{٩WK7q+d$_K(}eAUNJlgb52.lg?7YpD49g &(K5WDM6"Q"dJք0F_bG SqwyO079s(7@ջM9􃩪೼//a44/ǝ 5|CД[4M^prt#*BB4U|WxOǓKe52g-KC"p`qpf%xl|;ӲbrR+Sjgt:Th".XGVCe%'ۼo*1"E^HpwL@oN^`iiZkkD6ha`ZhJE}a挖[qdRށ-~&0z ]=$ͥF)gwME,{?zbJcLؾTUukc1e <7FPH)`/V_N$4bJR;^hy\$v۔R'g췭A.tb6'ޞДsʘ `_jt͸$ȭ1._$閁;jCAײXF6 U KЃ-q` كai|~f]i-O+2OqJ  6}2{^0B|U?j\-BBQAٵ-\e'ȕH>EFŒ%A2#ƃjpm o m4(=O/|-@-;/iam޾Fx9OkBy}fe3oU?Z}9g+a2yœ`Q)| y"NZADl ]7_h0)-nnjJBp? ;7u:xp1=>W1R`^ =;z} = )b!2lѥE|>/r"C/, K)fD{4Lc@+'Q5C+Q cCzO=@^-u#XSY̟~s8`/ ΀H"8uеL@c$|NRgKwI}hA3k1>o20>I t_'=כBӶćʲ۳z?f+  /cFI "MkoWsMPnpԹlnR0=49SNq}_"m9j#rw{8Q6wB l+z{JȂԋ HE2xM,22z8'6Mj-% ~DĬձ=m%6CRy91!!Q2HS,Dv=0e?ٳ[eqht,ifs!P/$ia˓Yc |[LnCuRB1sZ nXr&PF(QT^% Maʪ~ Únj2\Ş1??BcZæ4mt$ר}?0؛ WOw9 >+ --+m7$* F{ ׄ|&#u7MJ@ h _?ؐlhxS6 1BK~7~nJ@BLe-+®{:Hch;ZRF9k4n<67"Gw-҅OޭciI\g2 u fy? ][_鏉D%y < iUك^^k8 mU=0>mc Uڃ$mAbܝ@mKK\++D+OsrFfجk@`N)V~.KV<ǔ: ۦqzUZ7D["PpUQmg.)R]e׳D~,7$ӯ|UZ?+EkÍPSPN 5(нpkxƵ|- /\L}^;u!8$ApWlt,;<㏸Lub]x M;o:FQOٗηXbp^R eІ^~E0wLA?"Hzb&C#+41e`^e";,.,K8_/Q[_= @}-)5vaK(cJE:Ѹ@%YئF$ωFsǝ^;-=hBk=_AhH|̠cℰ 㫃B~xp"jXt;Gi[Z9Y:irթw4,AGɨ&/|]WX!9P֪&QM8>P6?^'%bpUT4tܸ VOhLO Ӯn`~EX-K 0p߷Z٢#3/%tu;k' r.7VRoFVv-F( |+Y\qR1005~]~m?)w7@̯IW$WCqN%`V5N.sӧ{7a=`aK7ȫyXU! '6hN͗#W|E4ڹ19L^Y:NX2zltV3ꋥ; xb0w43-K IC=W 1=dθ}#/-+SQ )Y?XW;|$ k`4Q`&4<~R Ȍtgk:";Y1~䩓H˹=_: އNal]FRb Pe$vM"sκI11jFĪ;VQaT?k5Yxm^$s:ut89񵭾`5a)կg 쵃J J\ab\ѳ6MlqG(*{ܳ8/œgI&yi/}ƥZ]$idt:팊{aTߘW0Իq*N[Q4;wXCm>G1,,NtG늫=I=dRJ1T3oDzccVSEq-+Co4ͦgXyUSeH 'Tw-#] dBQDib\\;j7C '&x̪#r5B b<ye/i_gPJӽikz9E @FB4!!#ʫrr:nS804sdk({1k~;g eNHw3h18#z5ܧc,1hvgho_ K_vLcƮ=Ь%ٿX&paSp̞?/(ƒ=SN?HfT.yba{Te5_re*Wxdȍq0?dM/:r U 0ѥR!dC8~5T`Z-Z4P~DI'Ùu9l|2+*]) _^spQH:.@M?/ݫV}bE g`a]Q6k_̳e~Dl&\v,;F7`v6 B&穜 V iE"J=PJ )׭l ,j|91hsў`6E-!4#8_? 1~-z5l&QChKe7d[F-E}YLAwܶ$h #5 6apL>5E$œ(r]RLX5TcF8,yN,_4'MnN@ٌQVݬ͍8L"y7۾(,fŁo Ky*G!RmP&Ge .ץP2&yq@'}W/Me6[o { \i3A,o?^Ww _Pkvh961~rKň&+O:Oֈ* 4%P+Eߥ0p$([$7xcyVԘgِ;+bRέG" F3xMH+Vs-/A, +k mHB$ol"+0PC44’~'2#%ة;J#/ት`QM8#oh6X4UqT G["Y[F(aT)*$QL#Ba#[9)ix_)*ۜ%Scͽ*ܘ0AqOQ2Q-dB f@m< 6-AJ`ae(RPl.NTqb.2% G}~lP jwkm_Hk;4 %BfE35b7J"]0e9io&[Se=Xm~Jc)s *`(ـ}uKiz Z!̝796;,)pwn]bnЧI?o2F9(1kI׭VҜIԑg.@;>!mbE/_71`tu|: m"#A¹zHc{ H:J96J-JQCUּOCRAq֡6݉/:X;P1? $U=9gZ\?|N7)R]ŧ<."Fr`g6I\Ş;[ Oy׌,&tIܶnJO5DЁu^9_Hy_#f cI(CkZ眩 tt2 K ]b^,/pT)nH2BU9j/y=(cԬ\ P21^$l >6U拵Yu[_{i댢5${{w:vc#FׄKZuD9m?OmTH1_T02/NGY<+"־ HmAG-]yuOІlPz)ב/|^«:73a<홼P}[*ͷ"/}{?hB+s 9y?r {[>,J ew!X+@KxO)6sw]:;":A͓xloݏt`,Ym&sˌf/VAGM O 1g єpevvri܊VPŚu k147,6!) ϙ; $NJ=0DaޓD|H:UE]׃:j‡!]>g0Y3/`kZ+L$sLxpK*ÇvK+m$#RF/ltSvpK\_=(YB-ާ~H(#xE#| Oiހ_7iNNt'H lzOoM[ Gi6xmBk5L.7k=F.`ا"6^V=mZ ުC6)-KVGKD=>]jR>^:×QmM8_p3q i=EM`UɁ "k}ӽftQe,?^0 5uĿz$+kk/wǫ㣖7ZG~ ӥO{񻿴C9)a?*0{ܚ)$pgeW: n;߀^۳w@1~`Rm@y8ǹ4 HhZ5WM&0ؒ`f3N"u'ō;C-z|$]B:9DRfrk3n&p26b {kӥg W a#Y n$Q W9[fO=E+璓}p3Buz*%cSW.M5rB{혣gkk<\J|/=r^${nɇl|]ld5nA0vVz4jVZYN\ <$0pmfK kN&EۼMɘ/x?CO!vKY=N2EsaydeSoۂ\֜q#P@@yy7~[HsO+dUА#L)"hjs1r*دjf4eפyR0Pc ۛI|}b633&<=C6Wy^ڞ1Ϻ43_m1`Ge-S0 /E%8/b(zɀ @ùI9N%fGNcDSiM\6EuR:?B;x~-MV#x[`orkWȜf& 2qivptfL6`^7\/B=I+}q+_*جǟZ1yf?AUPo?D8FNRNG[ 7˗Υ#`4j)a.=&$Na7ܷ1Fg2$Az$(,v}q{0wtXzU Tm#nkc#P!HI Tib2 ]~JF=zLk _|ɩ1u]|%((C 2ЙRbE^S2iJ+*rf۱%E(?90\il'LL/(i`-©Y;ݴe" 迯j>1hˡg:s(d "_ e`6MGִ'-ŴȚ52@T?OQR(z3p0'`3 IEBHi/= E,ڬ|yH(wim4M36z6ܢGv|^Z-mF3/ۤ|ͷ $<]Qآ.Z ؞[FgX:+8XO}QOu-p*9TK@'EDMbUWKZt4gtnudUy%(Uy.ѱ$c#?(z{%X˵:$oӑRżhg"d}oȩpCC(`~RnSIN\tm" H|%tm52(_'nr'Y;z{T|\4tû ;e~NZS ^XU0hSz:;[tsqH|UqzuC@4>?!BQ&dI6ܻ'(!͈˦ Vx$xRYPB^&ҭ2J8lG /#"z 11š{HKFQQx `0ű f$)5ríW`kV0M )}@~.Ӹ_Ork>w(j٣sb…/J1I [dd@,;HԧaxŲvN>Tq&]s];6>c-xeslԿg,_O~r~0 !EAFb&FZźT7ǦF>n#a1w? i^ԗuSʃ/nSӔqf$=t:'ڹɐ{Z{ $ᬉb6QM x0d ȴ {W{$gz"SɌу|~rKT9h#rpv0D;, 踼kwQ6nUB^$rB:J(3SM.eT~l_aWEh(ΤwBZ{NM$ep pU#.%#^ 7, ҭ%{ԕѹ#dmw8湢JQ7xe#ejZ!N~>㕴szTA]#:^J`bE}/^ׁ } "ߍpK8ئtm{_iCT({_v+7w(9 'jWmp)bOϨPjɩ >aTr݃p$YGvuܹSG~8fb)@pC/f3d,tW /] %鉗l06QQM Y#q0!9;WT~Ă$NGd2hFb_KjGQ/Hf7.vT#l`acS Q. &(cA zU5V+`Ywu@WTj*%ݑbL?J^~2M/APi;r[@ {{E=#7̞/9~brRSGʘ f4 nl*<޷?LǩEԷdT]{u@PWsBo#$O][z򡅉/!Ae5B(;dQn/X㎕9Ŝ)S7R]Iڱ^!DHGX[D+TZP'ӑhz .ثy4+C*t &pkP'>(8r05v y!Vr]Œ{G1^(Y:7q#ŕI2W)V%E&ΚRO gիPiȇHʂk/1aצЯm?@-k ‡??M_Ȑ9drſ-٣_Suh&2 (䱉_׫ k@8WF:,ȐI}!l8nۣhEMgSZ%M0 )ΩSJ:$q?^ؿ Y&ʖ{2,%l*?2eЄ?|nxIG9 ^|tf[Rv ]J}+|V,*}2PHyYODW| m/{G@4`4V+5،3-[İޅ9BQP(zj,un~t4D',4SoOUFpֱWmyÄ^{}%HGwThS,#?yK#?0iJs\pE,4f)~X3ѕx?ʝlKVP5*gc`wWN`rM0>޾(O8kCB&_|FOj\6iMC?f&IQ0}.5}~1~o4BnQP}t"0T'\Z >HRA-5Qƴ:C՗uUz0 &`R ::Ǥ GӖ7wc;zz˳-xvԽd +)yRy:tyeki|dʕ}Jgf'-.aeLCbu\v|+PkUxVQ%YfŨjOL]jC-5x2BMAu駱+$Xr{O#F!]7Ú}KljAט82x4Zy8MCYcS!' }d؛:|6TGm'V@1T;v3q/qV^%pl{Ӌ*ib #G3ɽ>)@SMX$&Gq"6b00);Zs?;Å "V\0_g^ GZA?q*=E|'pm{ڌGDq+Yz;(I/XD`aK0$a1;<2oBZ8]Ivm]ĽAXX:a? G[ ]qsx9|*0',5) `STaxҙy|4/~0ЈO{mנ$}VJHNaBF4֎]5 eYڱ(F=<~n+Q~\P!tV q=Mj|u &5($m^bEKoƂr>B n^3?S)rWÌw!TK9'^}h@,=U 08){ 6z u8CB=~\#eDqPgbjcpݹE;rZ_6r0P3 ۸iI>|@3#45tܜ{|a-qG}#NL! H Lً P(w{#,ZmPxR` y&KNif'H) а|Y]T@eh1 :똌&֙'υ>_8C/_'`2~0$ t!1)cnRyұxM Xo8a4^)eR'ӶZC6 G|b,U='p]jo|~UPK/QYSrYd~9sBmz-{:31Bx>Wi,XȥK Չ"KYI\׈ɆAȍ{z~N3lM? ZUڲȴ^N56 >@xik#rA *[Bu4gkt×&顫-/?MdsQlċTFAVlwB)c:*Zs:Y8g_}%q0oTx@MU}ּ6(*]dg(O$\U) GM<0D̪I3Jg"7>h)9L1 ^Yt0BPFɳP@rUȂ, cu2)[`W3˷Z(3˜B۠9\̑_<w>Z$8jjsQEAU^:0ۮ_FJJaaR4@C>K؟mW\G^aώ&PWyZ/Ldg~-" RQ?n'H!?ř槯޲37Dd;1$f8X dҐ w]Sx 40w.QSsxIFz4K]KL2||EL&FҠ$@~@$LZyd]x&jYAI{kUr@CP7,p-㘇G~?ъT}M\m h""`7޾2e)6#|ֺx9 1i^\ WR$Ȇ+uҷȇR{WFÑYQ)96젢+a#~ʍS:>_' fBxSF VA2pr7Lz5xs_{'̷ҝU9BҪX|l'#B4׀w-uP4 kTBpV~쏗 gVR^SD X^:~M^ijV䰻8t=bhu7c qי9F[ڒP"RmC[^+ļSh081p@eu.:yռMNк= 9*( []-Te9ӲĪ2_sϫվ$Tw:9C ( =+gұLt̆nğNnt:_yz>QS'%2{i|}𓟇Kxsh$x"P}tk.&ɡ4`~qR9i^)b)nY"^tNeܻVysatYw y0bo{` ljCBTHLUcn0wh\W|h<=CDЦϻILEÊ] ǍuF $ Pߚ]y~!Uqi4%l[&ٙyw05%:mPY)3CkإRI}I z@W>eN?p9/'G8 DR)G; VA`8>]\F`<8ye5f( tswr'Z嵼;\?\@ vfeꭅN#+ZƀTT܅lfO;e,)(&gXq'—C Zƪ"5PL$T ,{Q;&ABV-~g ac2ߝtj\éV0[r5ƣ˖U"[#1ԍ1YrTpp*h "Z0O@?Sf} cYMDz'k@EW&6PlXX=ЗERWrHnJ( 0Lfت5#̪ؖUG&}g` I]2WAr_f(4huO#`u/rdrٖWk9u9ȸc㋟$' bi;^mZ5ܲFZ <+,$y";=prlj1D,w jm8SR,Hu_>(,G`KZo<cmB}BK0/jSenf*0 ]eҲbժ_=UĽ#Fظ`wZ9:˞kNWT9F?5mw-c$wշ TeE2EP5:yj&_+Hl2Ü |P~ig+<ً 9U=nj2wF1Rs' Qh{toi7=(u¯;jn<[884-Og6܈V) Wi-@Ԯv{4ޭ:*紞CpzGB(cu:*ՑW#Zh,ɫv*:\P/xB1Q 8\iC ;gH 1+j?i"WUٖ6kLUC$>òxm`ܳS(w_' Oة|g \t{k#~*:wcm W'|ߧ +p :(FoxWgZ'D!x'S9N8"x\a`CޱxH"sAGxߣlMA1'<[Jr,!p,ݭZ4Eyh%U|`"jla،T_̳k^Q*2xJk!V̌.u?lc ZSуQjZfMzOU2$;0":KOFK`{!#IA ;^%iEfeŸI@f n^s l*xJsv^hen8 3R~;o#ߊ{iK C,VohPECRJ"Q>UyA(6ѴŰ2CuRw@ wvz1j7BM\EeUd3;0+k#7Fᢷɖ,} QQ)3M&sw2Q^\l_~36~Ǹ hWMiNv.Ǭjiv!YGkmj{_ ydk[mYZsP6 a =yzVaoU CIS}Cڿɀf=T|y`nc;~љ$g_zk]Foy)ӎ[Fe{K<]q9'#}b0AϤZR,gƆ$5ۮ4rJ\8Xg? z D5 7<X`KO\(uˉqoc}ߧ41 qlfN 6EOӊfE ={wivV/~Sw|%`9FK G:>᳢G<)U(<88U|xf5=C}8ᵜttԞlj<_~d/kw_gaߞ02[s*csrNuό!VJ>JV_IirCږhNѳX'%1~5 : RaNM}v":@Jt+ n ^m]3(9!W RWTqcTθ?w@.X jdڏ0kYj<(!SڎWbbzݥZv],}5rK5zszTJΎX޺cOScM>0/|Jn5omMì(Kᒽz-R0V8,R9Xp eՐ<4jrBOܜm?ϱÂ'b^,+fL |n"JI_76WCzp٠cdm\a5SȫUXF봴^ζѥW{(Jd{@! ^|h<5!5p*%m2˻뙛MmVAƺv⨖DJ t:RLUN2m;8F{{unGsc(XGhݥ2?_8RX(/61b!"2dA:4gƣ:C/=7/ #Y(c$H  g*nOܫM6 2l\/=GDM"gû9KגQe=҉ބ?֌a79dd[oL٦{C'Z |UH Sxmx']pi*-6(u͢#SB@}ն QWi#^:qrp"ݙ=}3qItȥrc MzJZ!L$TmZJ0@a]# `ٵ\20U!1p9êND4:+ޝem2 1(bgS~VޑtvY'/(yY'=.Ѽ?q`^֖o9DYaս'{Aw4nߘvMF*&&à|L%oب1LaԲxks۳e=<'oɰpQԨj#vηvͽ/0ȔGx9 B<{/rvy9PV,)u ͔ۙ *B (d h̝?ֈUGZn*2ds69}Iy}KKϭXUGj)89b}hUGKz͠R.E'akvQz:nKg 1Ӎf30 c GgQ='Rf00JHd$i QDQq7QV/竂R#~ҲJ8@!qH+&[XK)X8bg"8 =bxf~`ס ɹvؽ35 G\Sgi =)ڃQtnSoOBAv;4Er:ŭ)G[%TYf+1MsM~]\ s1 yJ(Н_κgچUھ#wĪ`b:ݪ(N^@0 no- y #NBnɎSy#2%=4?~cFW^o\3׺-1saȌQf"0jeP3%]dlpv̢ ʎ.}%/,mƙsx.QԳRp xT>(zOH-GXv"bRnu8G׊ƶ뇍6.,΁]Ѐ9E/r1cU'0]O<ЫE7 X 2g{-YE,A[&(W0eS6?lV9f>n;ΈQrlS5OyY㌤P9ɸ2^hde_;u[|S9-,~ gN;LfDgͽtyok^H9VTڎ4Z4]k 7Y.f/L ]!\l#ܞǯF dxNⳢg {ovHf/(ġƾ)퇛]˯'ɾaۜУ/*UR &hBHsWpD^m!!eh`I2B29rF|Aw_xfL P=դ_6/+@\g:/T{k8J1.X=!9U x@ l]mw`C0/A:I aNo,GF.Ҳ+Tf>z`I*StS^2{]0jG ;jut34#N_~ +#B[T鍓gE`JOt+& &Or`R -j^j^t!!S++U<<=5BQWB`7 ժTT c5(ԉkyXAGn'occ4ir^)j/{/T()Ƒ]7~:XL5wA Ǒ+؂|8sӓʘ?6Aa4<{)na;4N9D9ޏrFsdm!dբ9Aayr ų3кu^fc煱(u%KDdmik썰;9c )pP|kfs4FT( lv D6 >AOl:Ѕ!\8㈬]F({h{9$% 9{|iqU9-qÛ hϨR f)ZlŠU:'gr+Β \=5.Ol4".YJ-&o[AWiv\>c2Ҋ@e`W\~CP](سī=SQ <zjna'fn0C77#Զv ?.?_LJG=) 2\3X=f<̽J_}Y2u hQt3p~8F1 •%&Uw ,E^(`j0*0dީ9UKTt7{Duf1#[V5Y'"E7N6WҞC^[W>}H<߼]W&?iVQ+۝Ȑ•!ZPـžTDY?DP;Cb u1Yh(X5PfQ=uFHHI#m @ώ`d1)tG)ق_qԒ OGVU.D|bVX\K3M#(?u2e/57p\0*},E+`"GKLŸl+_$! ݇#8Yj)_3ޭql>x=`Q9y<7dKpyH3۬CK":8[=&]’(9b:u.Q: ,O0a~b8]Wo޸:wgkȩ :wfhxz`m@LJWX% "\589Ea6Ov5uPk\ɷojpܽt8舄¿cq!t}L PW`qB9ZE᯹K#W=UBY/?=Nq#kLyR?TG FD%VO$ Zvy"urxV|˩QX#I[FjRiFŒű?y6ݽ~CPIOgR%֝W 2W: ߉AB O+R o wX@~? rg UnG&(_XRvAYZ淁ByS2l@mLMl:O?6×@tܫ݁]#trǢS N絵~tvjO s-I $Ӯ-Ũl .C|'2a*cPC`U9%Pdc=;[Թy/U8%Ax,5PΒr06oiv M`n!S㍶kf)t#mkDqm_31MAM(_5 k65:SE9[yLGj:w 5'{2%Sxhe$뉖׏P Dφmyx+~= dÛrk֪o5Y98=QgJ!YETзٴҤXZ.EsfSMB ox6_A564-вLTDi.0'8 <"l:1Q:A(i:T]],Qf(BFxA!U?W\l"##EoXQoK ӔCMPôU7Cx`'Oq6_Ur3~V~#>G4MDL(x"-vi&[oxX eI[lfܲOREr2x9f1?۴܌bאMZ?, /ĈΔms'J^3TƸM,*<2B `.εDgZzEnH$ K%Բ-t["e>Fl}96W"&BD|XNM) s%KiH|hЁi\-qҸ4l Bcplo ;'UKpW>*x18anulKoH#: P| YK(Rk-{ ;3md+ƢbK|v=c*~ȑF]`Jr66m ~XBXf|%9%pQ}І#!$zxdJ< mq-JH@Hk "HŠӦvA ,P^fZ+EgTlBd[co;&q`i7iWeV9u U(54'lt P\ Htu!;X&ZCCu4txҥ7-rk.AVZօotS l]T\-f}(b(ݶ _`;UM/7Pot1W~v^,| 7\/aI ~iݫ3͛qך LH4V!~ʕc<*.ynk[dirg N}X7Qzg'Iaq;v̍\bZQ'z-sgz+˥[iCIk='bqŀJ!ۻ}$0. ^Q;U@jWC_Usԇ'۞e[yo81Ds7Zujƻ[fs}D#J8Ers"aծrx895H"RC9{ukbX.&Hb"XI/;1.>(Ԙq 5n 6L""ZmnkWߤEX/-bzB }.t Kzptb/-Љگ=bbHUl{VC\A."o'u]J::dn(F 6زc}fB{^ -\(zkB [];"9x=ytQ:Jo7ñ)t^>-~*7u,- dǗ^p^\'5yg@Y"y<&e>VV| u4ם:xI 9G4! EjnFxq݂+#F u ֦0rȰSlEja&`]_A:-InJH_eCVN}Xr] Qjx!sIwc lJyEnGSFI 2\S:b~| 36Ɂψ,sC9|Z5c杗G_ABCaj/iRWͻ7Fy2P{x#]EB!C\i"ކBYнл;bv(&yjɖ ZmV:Yɋŋ,oE oy}J[[nUBe(^aH\9T\xIpM$j5*.- b]ItMdO({2t v:n%'{3H:YҾi\i|~2'g͔ RG 'EWڥwa-ukUVtKbcg'Go<^Svg~)!'v7u'X՝noJU@2w[=!-`4FCYƹA_f=joɍ5unDKeJ2F~4łbq%dК/I )xs JwM²P`>"1P۸a;f4if sC *%;&v]3]nw ct`/+cz!j2.YԦ!SzHf>>Q4cN}ȋe\w>D-D'oުGabSaRD:YԥvܒQl\ '-$!!& I=$k&?}c\*)B)Cb|rf/`/6n}WCߠ?lè9 LJfw&7Nv9h)]yg&A64'W~*dNX˚}8(n F^MϯDnLw"6:z'ǔgil'9JHVQaɒq2oגK̏8?,v&P^v =mJJW~PI쵬o<șS{&${*cb4M9+A̝Lσ]~#WnyK.U ˗g`KS7`gm}-3YT 3&2kOZ {M#Z.VvwhVpWq^ tKu8C"U ;hkhT+ "ގ]VuZbN 'zY4*Wi5:?Ԋa`MlUy8NqH$K{QX')usX|SSBV6c9C,M*L#q6Y-Nފ 5 i(J2"]|+FӕJ|7$%j pNB?OݫťNЗf/4:V^I|oٟ z_߰qWPdb809NDzWelüK^-S4QMh&%|[בxoY& ;埘g@~+Jq5+q<=~?V7ՑU|sN20}qAtob9ow,!NbjaNn nsR?xeiW*4 U S[?3ʭE J6<;e<}\RÂs;>O- Z~iI PG%o~[Ũq_/B75b;϶)V.-}Kĸ"&V"rޭ9QUL ŧ^^?L+O")/L "j3z.*UNoK䮬j>GI5.\,K?+ cZNӬ< } %#d@xTv`[KYWlՀ3S󊇣HՄKj޻fwe Q}tP cI[S8/yJr3Z2at;Vy?UDtfQ0NSf*t\ߍ;3bP TNty=\v$83 LI@A ͂Lp6(ƓN lzÂ8*َ^h+Zv7tIy TIyo4'PO۴32_zCSn6UoZ,M gTdB:sqdK)CyvĂ,Xѧ˶6@P}b/]ӚX5<oBjp-:˓*)ۨW>Rw/ʾ hmYr^ > Eu0tMQ d:ɂA΁V-U)8Җ0G ;#}N1zTE=uZ_MB;^r|ty*& NJFH4kMVҏm͖!;|[oN  >e_1+6xwąb/2pq"F"֢9M.(޲yʩG&圉Lp`AL9Y{J4*?+twX]JY~ )A39 :b`G}!^$9CKy"5NcxBP5v]W(uW!9fna_SU%ڏC;~BgԞh#TO eaZ$j RJgR{x;N_^)N-8yW]K[;%V.}Civ`$#?r|t'PiY,(~ޫ `E+^szб3ޯ{{z+?W[&y`Jh CWL[s6!y>ǫWZm ]6qnq&ZrY ɢ_v~  rs4PrЎ{7BXJ*g ^٨ќ se)nw#!S"Ieٍt$[R2Y7ffW9&Ruù ϝ!|rƯBš5 js˲Afx;# (3'd&\E9(D mHb &tph ʵ?l2ZH.(=H! Reáw&/6<;{=L\mdQc3x-T}Nɗh;J2 vXj?88QzN)лz6v'%{QdHEI5=S;D FwI4G:J~=Oph9s'CmjjB-UUF-R߃]2>Rm u_9D 1ÅNYLr ZNi,QM8^r]*\ؿeFd. Ά_/wI/y-jhʓ,O4fr^m:}tJV@ߎ-\k?|:Bs%z-->(zOvXBBi/ YCQ]i$Jɭt=Q^rV>G]ݧQrr1&K56x!kO.rjD/P+f NIrmZJEV2V6ޡE V+^≒!4wF#fv}Z*[UJyýꚅ ?NB_rс C$^)FQkwڞCeKs艘%}.! ,c,B:@ifZs3SHPY@vո*eHbP4\r&X&hu-%W2}Q/%]| J}b%#)D n({Qk?Wivv-rw+xe o5Y`_aE|&gkkQZm̈́Z$rڎ-URW$'mͬ[0z|d_؛ xO(؀esF0v޿tncs4 ]0}e, nMt^u"'.u6DE)ݷ`F̲tlɤ]~V]=e@ TJ@x2bq/sD+̓xq`T\w7/ QscdiŊAsa!.CνYj=7FeZkKOA>rn--eWvwRAjW~$rܐI!0;-wz/ (RB*!Fo}ƷL:|jXXX6"pʉ @Gj2ݩXNd\=s +:"BA@nK*\ox .?wz7$#ӂB5 +sB7_w7MM)Kk<=r9mp.ӝ$JDqCumeOdW`)лīt]‚gzf3k:NGHpF5LcΞM(8k٢*6'utN̢ NG2zp{w-';F5w 9]ys0kN#i48L4/Z{ I#?˟-6vʠԴGqh E|&=wCtG>fwt,KC5rA49x;0w{ 2oٶGfh)Y),ssѹTL*:#}va< ^#[f'KMd(E~<&@?NʌEOPKþ 2~ |\op۞kfbt~T,FM %%Bc.?^tph.( ŋ0}wpٹ  FLS&:X Dpa  4?^~nR_I ȍNhNs9 h@oǴЗeӸD@)NTc1^Zƺds_׃T Gh \iRа&S?֤n)-4l|gŏAg@pLm1uXЀUrvl; *C?m.w)ooh#L@:k.9-BnQSYntRz6UhH%r+W$H, #k#b_7mO\r^`;$q^ږ –u =cBm` 5Gam>MFbYc 'B[HK+&,%%7xNlyk^K$= VE!hgGkMh ! t ޭoo5 8PX*g-gdmjmtfSc?PR8#N(fY LdiF,<H B x`)/WcJaM<0H3P20A~@1^qp;9PYV^OA1kp9L҉iYobKUP:cq/DSɡa^v$q4G?E6EEY޼Aꥡ z:uQjqV&U[ -57 FٯjGTW ѿ),K * u٦ Ò Bg4)^pcl\vE9Mh5ҙ 8B.uEP9.ثIȩZو*bz8'/0 OlK(ARt0Э^I]D=d@a̳I}}>xq!Nd#qbmǥ}*+#evDt6ݿ_vr/xҌ'/Z0u9_Z&%V{&䪯}9)myxVmhdV"ʶ'G. Hov8(TYBXCϒ6͘š gMIy Eʯ8lwiw䠢ɩ-1Ǿ9[? rI)`Y͘x0Eߦ/(D}UUЏrY;4Lub}̲>uf0TN4(/?Qm1fBCa?l/@ș1_, a lۼ1QqTe{+u2R@ 1Kzn{#OeV #R!E6cl TA^l|};‘87#Rw:]yZ+D lxn}ztԤ/%/5@C""FW~&a+=pOKq=bwc)Q:),b^48T;#Bi Q"ܕ_f*KIV1o-_18j_ﶀy?IN$%{E4_G]$Uy.Aqz]HY+Ruf?x| -&(8ZZ`z/s0 4{qz ;b/#sջ8,Ats+;&b*QSٳP$`:Nr }Fپ=FziIR:DӲt{+z۷7b/gс%<0BiZ5fo:ȑܜ%L%z-YF~7ML| 9-۝`u ~VDeݙv_W֮¤AߣuO{ثA WaP&7H;]ECA+Kb)gډ9x K&qWD,3;5U,, N."Jl qAh輩ݚ!o!*x4l(2V2w"3w} $@e_܊.4ѩ`؟?HYS$hEˑmă.ˊJc!<~U?=1|cxeT]bK4a@A7AAɛu E( +&D_e7ϖ!jr,ƾ$)aK)Nkc!XW 9ŭ-KnwI_xePQ[=w$#2U1gp8C+R&ĹkJ쬀YGe|w+Y^(,YK)  #6"g׵]=ÀEѝLjv_,pY˪GV3;]w/Htg"WUg}]}@+R%fI}w{ Z"B2(|$9+rcU׼P|:'N4)`\E&2x8:M`vCCqc ?Z4tUÀ,/TК}x9J;4֯?Ukc-V~JӗMѡ/7$WO0w놛 q 6KŊ<S9= 6.ְH1s <(.')ܶ1BR&}!"ф\*1JsL S(3x%[3g|kAcSp+)Z j'0D_뀏MςQtr?b-{*NK!V懠8츾R .>G싦Whg5*l"eiC*5Mngty'*Jg&WՂq.pOuO |ŕ{^A.ȭ}:&Q2ծJ mIG51Vv̉,OȫHa.X*HBXl4r!ryUځۅJ}BOA /f6CiEyR1Z^ej |NZw`XjZ{Zm SƋ.ނo p׀N)N\!cѦ,n+N4V7~HQ<0da"~S?p9yCMA!pt>VRz؅`fl"PN%03c0 yLS#O)m{2Irͯ#'4KٱZºXE;nOZδ˱]*ˆp_'!7# Srpn|MhiЃ C[$'3N딨#q-S)u0딩i.~(2)_!,f\X #Z`EfSx`³:bY0ztӢ;55>uE^la6"ue)5[b E[IڌtxEԻ3:!ɕLͧ4J,CKo~Bl_6>(^U0jQ+WGY/YM Ә eBɔKX-(DGfk/} {ô{/ 0LfCBS; ݋_Dqͽ>sքdfhվVbzix;S^SFW1Qd0ɢVe"FY]hΛS1qSV ZʞϮ#a2|IXAc_|']8 E EBrzÈnLz&i^Ft1+j40&UUgZ6[_HlXZw2PIOrxlFX߷<ï/lr{eM5 jDw?X]䔒  f[-{TH {f˄(55঑; { {r߂nS۟r$G*8V(z1Jѷ^aĐ^#oz..FO R5ۦV,\ ^F]C=G׵è8!mtDI<\"}KqY8v̇ᜡDogqGU/b)~@b HPp5i]@v0&/."5;!oGCk/xnEuDp=r1̊T5itpN2+ >/Jݫ OnǛ^ vDavVH˽u Q5:1,g!Lo= jg~E=\>0`:xf,LZ/LuПXj_?1|PII*Prs0lο!lw'='xY+ꕋV{G= `C4"ܶuѪ[fӉύAJ2Z.[YhkHIƁ7ȓ5/cK^Mmpz]uR "k7^5s{f)p[W/5Dvq?HP%-n싗Ai_i1˸v,bWF`_S1~z)FeӢ%ߙV ,(v@QtiM?>:rR/iiAmf8GSuGx]ͭغ1 q"ĥ))2AZB \Muj=~Cwɟ WC&fl=-*ר dC=kg dˮbU.nm+BnIh 4 JT @>+2I#:}+̲\iKh.x:A*eXѩ ,6zm6.{!z] #Bqpfxq=O–j2 @gʴ`QS䎍<9cdn>97ұ`/"2dàz\IV"&'-NQq%+>@./[jU˟V2ci=oO^cdmpSj)p':AR'#p9ˋZ]$E;}o4`\0yxKW렟G;5v"eѻ{XNc":qeaLS⿰*Uŝ2Yr/t׉r#+H0dM^3{;dge^jkN1}>ɇR }n dTA+Esqh܀zֹ Eyle~Cւ <Q'?Z3f1P|Ѵ{ME ]QI6oqeWx)3#xGG18$&|&-KԼ6@WfOlf(kx9H$/Hw~ب!ӮA|>Sk!ЍX4PlԄKV4(GDi89a`oduДű#~W4x$1G}ϭ*x!v' TF%O} J G#a@p]sv)=\lLIf{XV=$叕xuΈ]YC&˿(c0ȗ@3"G!gsoTy=+w3x(ČcL]azZ/gaX&ᶃ(d 2fXѧDHU*ʕxj&1e[/ԓh@1$ndJHpl63TH.E)J(y*-?җ*2E\x .q>0.@ ,?: (ilW:O)p) N ^ؤJ>;*B x s?ͺۅ,Ђt$rF1KHݱ =׏h*"द1tLJ1G(6{~~1-y0v gp-ܜñX̜gzW$?(Qk\TS*IH"X41@,H7OCr[aDXqV]F([ _ XK*#y7HdtUDP Ynn|wFE=N+0W.B_j@!C*>hp4Priw3 8UoJ"hsh ԧ2>Ce ɾ] j>rQ͘|dE7{4OyfS p{7:n4&Q+zMkN!'@TdLa\/wjG+Umg4_{-dDF|uf+)boHXHB`ϱyϧW#nH4Hs]jx8UǻEWnޥE=5? M;s0z79d2ADTNlxW6%4 Jq!hAwLԪ7̣?Ov@W9ѫ!+֡AZ3lfpPC(No}L"A˯Di܈a=2oʋ⥫)g#эpGtxz@H ge~oC)oq~_&ިT4 P5IOY4MS(Nc̍Ҏ FW*[UM*PZM C n1xOrɗ4m=i[*.j:^Ro>xu1qvwWPZDi,[IT\ܺb'@{5Zm1/7xY8[ߓ F3+~JPj&wM4<7u*M鶥F Ed@,ņM(f2*AWDPha XJUwS? vΝ21u{9$|A4Pdl;ԟD^ء/\6 95# :zԼW_!*VTmnig6 'c~d#7Sؠa/bC:La K6=6~_ň4CI-9 akݶ}=QW.߾x"0ɬ}(_Ixԡ.x@(Bo ˀ=9Mӏ_H* EܟXOF 3a+[sqmty07-H]R]'>oIXtR*nVh&e率vݙ]y۵'+uz{eJۏA"D$ȼ6e1x" ĭM/fP V>B/vQx-T]VG1vF^q75Ok{2m.[MNի\WPE4S@%{xm!L09A/,UK'H4]{`(6^Z!Ң/^HS{Ti5PFV>SGs9K]'%[byQyEMMY:hmp{%0۫NZSSKlRf7:w*A)Mm(zL1^5X}2m_E#O)ɻxp궕gG#y69n| \ØF _A=G8(` l< i¿`]uQP/S+R-R*XG| $k^}h 7NE f 7~ce6at6hqe;d-k$mHPr`cj/ !AUK3pue%O%D: / 46ai iF}`uc^0G5B~C#zi%4493ٷ_q֋)磎SXEʱxPe{Z0̶fV"4-ȶfSe4R`z\׶dűf "UO%@x/Uz ˷zU-O(Tdm-bX]g{h]!#ىaPIRk~hW}L'"'ied+_;4 BZf&L[RC,EAo`$8ck:1)5́iQ΂C .{2M 6Y(v?Uzt%UwhUY(ԿL9&I5 {Q' @51zR )vIKDz`AsWOL O?6W@ΰ](W+m'HK8/$!{@($2g9)3c)l MmV8R+xd6rwT,#}S[~iuƕu}W*eT (5H~<yA̽gfͳrsj)lʼnA\ɵ|}eә<JhTV2 +tL3zp0㪍bxU~G/`p:dhx/kKq>;+=A Q KT ' nJڼ4;lW0d1ڦ'8uL6~qS$G\+m+fɞD $"!7I{ Csl$c^Mh8Rk}sϭ ̡6`3 ld8 :8ԱߡR79SFbp#,{M ?3ªC :A9l2 Bp>RzȠa߮ ӈSw{w3,6Y˪w"paG:k DiQxFZm-$IU B/"̪k C*m2`8k]vufin^D"5n]6SZB1ʆN0Dh>S=!5CxyµcfbMLCLnOfD !JBC }h}{XRGMWFmc)ؔT~iNGZHC9RokawQS[qbUx8nG{Wz)fVpL&6|=u[wg԰& L?I({Eihy(O_FTZ!뮬  FT|Mx3&))- J5s/f ސ#9 2,-X ?(( +q~`5/?4:qZe'rӏRvS0ŲcoN hAoL%j q^ 5vDfイGZj/,z7+z&Q7KPE0)bWH ۘA (j\l%8xSI!- !ӭWU82wFΜ)#6W9T=<&hSk^2C-ے-3ˀ ~%`>2zuveKye\!9OU>:##;2z̈]jd~i&qh^h+Ba ` b^OMg8*!0?Q,WO B s\k\lyc*s|ix y2aB+G2l(:e #r.q@{s*9CT<]aPtt,`OX-OlpVgV+QzYq `퐄1&fGh(50lؕIoTϘ/kī7 b]0Ct_HpNqщ0&,y) M=}z< ÙbjbtL$bO|Ptl#-_Ԝ2˛Ŭdu3J)bcַ h2M_AZWNƿ7P4B4m˞0qL'PU3/GT6p-?hvp<"Nd~]$*1qLɢ{F::@S(J|VhrK .|P]9s 蠒'|3RϷ׀ |e\I,&kdM{,(J18NkFSa䗗o=!I|g$ <'=o#X7М]KaODjj]ޙbϲA\JYBӽi+Ɔ%y7Sr}'J-YFhF@4gd EcH3iDG|) Wp4ۛ_ <6&1Qzcޒi|ڒb"G+zhN|V\3~ސ8IKjB/y꾝b URdgF#־ eOC&P_f1A$Om]bކsb51%IGS (v8nzyjQ`.$D}kc3l‘”N`f0434W1p^qU>>Oe[F} Pk@!>so<ꚅlP5"fo/|1GO_GA";E񉳬Ⱥ0eRMхи7L!Nz=MÝ:Hϓ:aL䀖;_ڭ0w6×cuNɿazhqsDUml k߮pm;asг@e#EsqFv\{52j8iA,8dЫۮ-t(ore۾3:!༖Xw4,|,䓂S{v S^]zx(G:aFD.h1=N IIu:WCb,{30wf %.[wkt&CFsjSYFu;&q 칥8[YbJhư^.fk[fx1(YsDYKIzo9!9^Gsz~HYeq|D Zs! kPA(Q?~$[#os찍LEԝ{YO;5iD LJꄕ 0^U i?e.a&8yzILkL'O*QI^qy3g4b֌cbCef[&KSԐ+Ĩ75[Cbz"o]>2od+?JND a=H̆*` 4&Ia'U|͌$rwd"l<<"߲ti4F ?lkS $fP%=avR VA=\x۱ُd[5Jph' H5tX,)2.0i#N.Hk!ug={3% FH-yEޏ*RviJHl!$rTM i(sńw*HčA5vit{@MmoAL?4UZp NWe.=ΕD<̰bVR/o=g:NkWΨ9l /A𶷚\eܯ4hnlr *U_^U (;z9b+TR[>ySfrF AÕ:"o줾sB)1 C]>{Tsg~zt̰cx\=Uu\}"9hֈn#7j])!Xm ;8bpȶF`9WO귩Tȏu 5+SLTk H(g52Fir:EBp]4n0,&g֝M5;6l}DiihNQ5;(D03&9Cd(ݙ8Rز .+)UH (:ʯJ\ƶkY0Z $*_r  _]Ũ5^Y[HX2 }= rZ +2?saS9TS= y_(b=vdT죡c9/Vw|LGw[}14NRŭ1ҁ2=,P,/s%KoQްaЬq !.]QNq7uYO TL@ (zw-2;ڔğ.18~˯+m2eYc0⸓mgb$"X쑝xEg3KC,Ҩ nOv6nH+M_|OWu M%I ϺjFqgX .N8Y7䇛1gBEsI"3?ż/2ܤ2og q(wG5:M _E4RbdEjB42Bn e0b{ fT;i Qe戫n= jeC*WJOl'FE~btj~\@(Lh+r.K QL"+U ֍_m_9SY@n5Ű<.0ф˖efIGo>DX%3NǍ0Y ,b!T`-0J=D5HֶVTJZfdԞӏ)ocK(&MQe0A^ҝLkDNVLk N]v+x5求kL'RlZ_%.\ ؉-34y10GlcؼH}Ű\|7|Xg%`x2sP 7 ZXr|YXSq}zmrxi6|L' 8?B8PׯgvOba "c 93fZ骘kKz<ͥ@11jq>T3 5?@J4D\6w~rpA =]@s瑭<ַX=P.{)!ŹHg)2o~mQ_3L(7G@a$RW WYʌeAZ"$ڢ)ɹv=xNDbܺ3#bFQW5(=36QM҄ y >U-˝ǮsqD\#0;Z*k3\Ҧ_VDuR/WIu%S/Ob:rxl`YsSI4%)i,ǵv_f\n r˙k*Oأ^=seC>٤7{ӥmɂt寘H[7$mEođ]RO@:E(KKM'yGH,{(o4_0%cf6,Je^HL9bE]\<=۾ΎA0otCw(ODSȧkRm_?R$Gk tu@eCwq@|1d&,TI#׽/XUD4~4Eo`/r{*qpPrA o31vh M;؟28+w7]V)fs t7D:-zjb1hc !ڟ ? K0i^[őUc>!ߕeỴp〠~͊ë>Pq8g4.?)1p+<<#%S3}xR~-:j.DuZ8^ Ko]>丱IssL~c\)Ķ-?lE`k'Y],Y[=ZrD|k UhnreR0nJ1bHy3dŽ=݅2qkF @JT0LB&;YN}"c@{4kE`4yݪ_l=9T0s pfS9Ze:dBu4L9c'o![p %9ӥb7[A*Bu[:(pJOp+";W]QfET,]Ɏ-Iw=hVAiP{PBd:#$;5/8עe|# YjQ9P1p)z X3G}oPE~;ƥ:L?!ߌ`ȞG3䖈ZI.PMi=q49SB7:-wLQ:hA4WP'<"kҩ%vP0*RCTQt޶ꤑqYv%\j92QM8TV8M؎U&mى>ٽn:ĉiHt)08]kzEpO'ѡsMr NhÏH_FiKCTIԱ)t2tb23lZBn]lqix'J5Cn(F,1h@})-jfQ2nViMw%3mpP^d-8PmX" ' 'UacMОr7sI, @,02QB"6ǡyGCC J М7Ni􁕄A$5i8)$F^'N!N,NHO`]3?!V)0zK``T=VYAq.̜iܣpx2PVQ֩G)WW=*epu[ao[ ٫b.+Wh^ȶ#UdaBwc xu͞@_SZ oOʲk!fUJMk/^dhcӍq^-ɳ2К;+elu*3SN&֡Z ~'SXL,ɫ@<_u5pl0bǖ'[*VP_?ѸgVzsigK+Ǧ"Z`&4-X `«J$SūkBw]u@ N K=*6>^KhNYdu?@;f܎U A>jbJբR9S_z@ԛ!W7ޤգA#aM#xMxxv]c]>\C8Y;j2ldܔ}٫Rlu}^ӂ!(0 c &noMOsxB.R!)5_洶 4KF-Q!N(nJ x^C\hҋю2xn@ ^MVRݓ;2cJgItF`ŭI{雠ǍⲶZj`{߈`PAi">L Bm#kWl&&N-a] [LO(t1l@0Q^jcwh1u:DԳt8{Uv`} =f\d#Dm'=!<؟S03͜zýw섨x%ҭYxy7a/^E/jaR܍D~h5o~IZ] $O=tMǖ&t5^{{RNԴp Y;יGiw:C=m>v vC!Ak@0j<nE@81a 55 zsh1qΧv|ِJ?E8Xá6v; {/^ok7m/Z/h~?67̗6g0CZD1ݙ3ܤp~%)huܨVh:uʿO?Y He# L.7})3?t/#idQ! o6V}ձBD6{ef%5:& !U;IKEV eT2u 8}DXpVNe(rN\Dj>2:6'{:1ꃲş'fFX\ B ʔU$/fr3ݵrqVd. \5kLfᯄ_/:(XBKcwވ3ӱK `s*gĴ3ZoѨR`кQ,KÐϰ`~;S!L@Ii2NZF#DRGSjݳQV7h^?DC + '9!av:* DZ: Z0z%rUZQ!a/! cӍtf,jܶHvlJ-PAf>y7MZ60;{Ox'rlڻk` K6)‹heg^Y&sЯh009>i?~Tx&"YTZdw8:j,ڮ2657#Z<(t'Ĵ z`~?Aà_N -2gfy$z=gb2.V%>C'Z- Vk VZw:'gT',. y:?m& 8"w %__re$X㦫=]^\%Es MX!.#pxe-\rB.:cjDbzM !7 ۑΪtSG Z2Y&DM?)œD9}:@O]? iOZX&+W\*uɴ(j^[| .$'< %2T]*UbȵD7ɧ,Y/Veܬr: ǹa29g2_iƿDѳ 5<=59^y};+p)38igեwg;U]y85!0 z 9ȻScq,C _*eҤ}\VS;K%|9A-~C԰V<,lLZJ*9NQA&3CάV8="UJ,rѡY#kK(iu߾f朼R9ESc]͚S{2s# "XCMt рʁ>)&u9:Ȅ BUje^Ӱ'Bǣ`E-pq{O/[ߧy9M9>B-'Rwc!Ev/G}rWe5z p'IG\rb^"Pu2ň52ӆNӾn a0oHC6az6u"|APiM8sA 2{ns2(W8a,T2ƺpUs(˸EߗDVqeH Svh1 Nj;3WX ?])"F((S]}NMɫ{Znb~c&bf4]l{J) WLE^;ЕpUr`UI#Vc45M9NHEQ (~_iFYf,FΥ˻h'b XN*)Z3_nl7-,9)5|Ӥk!+5fK!㾙գ(* _X< 8݄;Aƛr;(Hx+7r^;l ıNy¢ j4U+գ^8879Z%,i+i&)G=i>vQ,AZZ<f^GRU_+Lkhש#TNEZ~HX<`لzr^V73#in m|:U pĸ4,FI U 2"( $04 z)9샜A "| dw8v`8 cPFB]⮋u0+>lzyFwwlx#'6T DO8L[Zǣfyw#]vA5"'-bG[М1zps*#dz̦AQ)`loL7m.GDlmrI{n%8mi) ;]HpFEovגTFJ^( ]MeA+nA㐼7P'{)ҎX[p85 _~AtсKymC159EjLlS}H&/c:dD#^|b  Dq#.8(ϱ@,&9H`U"t6fV(C1n5O<8ƋI"59o}{dm *N>6t/VjbaGߣ"ƼNWa &>~n0ʁ [` < =uI2Û\3RU:<{ %$V=sgv#Kkei|!L V6x&j-MFRs^%rp`AH~<'Bw-$ElF -Nu7w N .YC!µaCW s9*ɑ0=N~m\;EOh͖q6(BZ=bC}o=A:4UM2YD,~ A A%+:U[3_duD+j* aaA^kְiSr({ת"aڝy@Cpj&foG4/l4\$@O%CyyYAȋNڬ 0^,䶹HɭimC fm ?XR˚F^-h74nn5&uϔmg=:Ӌ~ zyéK6x#84m P|1o㯰*R{,._X(6U҇` #s[~ CJTX=7Xj Mv+8x)NĸȨD_LU,Nw(Íj6aJE9R5u䇒v#t[_Q-ڕ*At ďfJ v,_^XT&ڌ ~4)qRQ6$~l 4ˢJ,Dž{jaHIK zk~W*/22OŰ ѽT)1xτu3n dJSqG !G -9ym~v6J{%GVsH{u{4,n,65tmUE-.K`^JxYW.Vr6#jT{QU]+dlU%C&W77ZN|\Usēv~N5!ӕ#EP+|vK%OkYDjaH1=W^ܛˏOt 48iڙWΞD&2Y䈀ql r}UOfL@E$I촄'uл}l*i3UT*vG$JQ6QKn96.~/H0 0^rԴODс}ĊQ5'O2I,ߗHGg)Mb9݌m3q1X>iħo˽ƄXROpR}yÆ[cJZyLRR`JĮʣe}GN 0S|{)sۧxG WK8> RR ߛՏ ak,J XzG}I:sك4&]P&W! VI ԥnk ߏ(Y`Z؞; N{/p٫WtLaY!}09Cl$PMLtJ/k#K68̒_̐=a|Sa~np"ޖA@Noˢ1N? tؘu< Z9^am*V}Lƣ__0m\YZllj)FljöZ@XƟ ] `$=<(ߢi9%k3;1B`(,3Z?&T..ؐEgz۾43HE8UGIT'+ۨc413:n1Nd-;3D_q5XMvW1e s c$>z1X.B 8f:^,_򭫯jߧŭ%IvUS"^#kOP>}m)ML%'$6fRXzX"Cݲ t!5X4aNxCw%Ƙ^cDnGd/#-޸/# 8ywd J;4B8@I~I{<5Nng F;7nF@cLUc kQ6s~\\聁dKu2Mg{nWcۦV .f6%ŦO(z>(mU~ GԅYG& }0iۧ^ֶK C^l=SpPi+:C$FH hj_jFzݕ'"g}s5ychKc6f/h K+ՒK,!a`p[#9ވU #R`nE4Gqz>y:R7At u}Oʦ]z;?]DE Ihm4ѕ:'0I%vi Qy׿rق5.TU3 omɧdujwzz+={@Q!ျIJp%7s \` $>Y~:`#;{%)8tЛ5%jRaw (Šה/So-w5r+-*# wPO_HSk:9Xyvyȟt_5x~ !=hdб_'p|h sz9[3i!(Lvq,YmK$#ml=R.kW> xlƵmhnj<ϱ[JcqnNҷ]ZP~IZxQ^PӤnj='uKh+,5I9z&FJhCm3n4&3#kpg hv, g^H$s!5@77  2 ߲TyH;LEW#NL;}))wSPy0)Qlr\'s0hÃP(<S~2u<l ?I;XÎ\}{? , M9C:.LiFI߿(;m]7aƘ{rj؅/wf$#1Mv[7\ê2B$f-ś8PNDcYE-5; T/MzetRvL7Y9v+'{H~0[ H2y%) -BMVt =24{$Y]A-ݹ=gjN}z'yW;3pP 'w)l}[49k|li.nBի%X!C<=@_2K" $%}EX>W lMXF 0b8Q1IX jI&fuqg@KJ ISGn؇I&ͦ1b۲ \nL' (ok~$ٛr %ө~"tpL'*9W>.S9Nf5I vؿv\3SW%/YE5)r01-ϬͽorXWД[e⇲1#i6*fPZ HLn5<yKҕ6 ם6ΎpF ﳬ`s8JvH86jճ#bpNe]7>=94}6:ƹ>X[|;o@~K"4DPEʴBPmô=mp2m~n׌(HG {DrԄN ҲIz=ްZID{fn 9v @]^JqSbw6B\7nUgٴNo)%p$< 19Ì km|c{˘ؓ%ߏaSQYFfg-=XI,aM4B^t1iX}6:0r1DIZ>MG-3щF6> Y^Ooޠ/*aLs=SFLHb@Bwɐ@݀N߆*B3kט2z<˼Cf\p5KqV+| u ߑfIMy:-Ӷ&dxɺm.O蝄o:dZd| /`&`d\Kӷ`bt, ַ<YאJ>-yYIrh-'3#rip E$EFnVm[ P³&NAk hZ~ TB20¥X2hh?i!,,l:r_LmnN3*S j^tCAujMSt3 E0\(L*l5S,H0on%; QJ> 7dY%L"S 61 c_ EuGeA͜j[-o(DE ;[%X+C\U9]%[L!|nü%bb PVVbΐZOxjUg,jGBh8fnҔH"T8Hsy( |= t=`y:cB^eP. @k[4UվZAh&ri3p;6#% 0S2[Lʱ40kK|d/ُ)RmH'7>:ě=(QeEnh*<lI& YlW,L88v$/W+p$* rd㎪A狡zgwT[N3@&L} WdGYw(e}Y AGè~_&J&d,pтd#1A nf Ë=iBdo2ꇷŞRyVw*5V(we\#ȍ"!h_eWP^aH3@`?fDҥF?oUϊ!~ZN`njsċa%3M];ʩBC Uq |V"=X^Y'Ԩp'xjBiWml"S{ѥn ~]uX(LxpԬf`i myy* !+ěrm4A&%-t1K?$[0N@C?v;)O6D\@qMD[p$1W0OǤYIܲA1h}[ȂzxQOZґz@K.EwxͭyE# hz].Уˏ٘{W1Ӓ`&~ 0vi$=fwNqhOSX 6XXYȴg1w8Ɍ(wCgyN'2dD%GS ȇ㳈 *C. 9Z2W.8 xU 0% ~^x-._`ű90հ<-r:D+ zS\c=C 7o83[ e!mǺiaoNGƯ2=W䗘'P+:ǟs`Oc/(~D$D))6z"af55 TΎ@0N-4x\udmKSS0gl$+XcRglM{bmfU{/EPSU3bxGt6!ŕ' *NHdd0U/ V:CY)ٷ+¶IŖa.&UM 8<ˊVKQVgƮI((HI2>*4z8՜<2}8nK Uc;4M@VG=볈3Mi?L_y74'w;#p@!Lxsmrj++BK[Dɒ[Sd!\m{5i8>36ɤ!\D CDɇߚ'ut}7˼ AِUG?a҆=աKE=x:;.먀By>'%ӑhByH\z5NNˠ%_)6;Z})b7c3a -bHqa%= yr?e"WUBfRQ륋 @ /gɄÌE.O_D[Ͽ1_8CV0CHMo^>.5ݱf!틌z,$#rђr' +5@TU&cǤeD6 OcTP/~qZ0YqNƫ{{ cor|9o%"M԰35._7u%K abk-hgLjnغTmC\= J2g"4Eb=#YgxҦȑf24 ELegXif g#'5c, cE$r#84i:1mm:%1jȿisaF!z#Ml  *+,* kι"sg.l=L3w |C"V}ȑo8B8{%dB.tG+Orb?v0~sDpr+rI=y>Ls} /{C$+ |K(<Wxl3\4|set_v%~A]o(%[% Im'qs!{RA{Frɥ .ږfH]Hr1RȟBϙmKE k$xa;OԚ+,0bSq4 j3ES0t yu$aBNϧ Ī_ 3O\tx7׀ǒ!"v`dGەk=ZjvdK{AS7.ߟ%SĚ~kW|p 4G벓,.:E<0ȃEf^ss`SC KM=Bχ:A3j-lo+X{Fw=wH޼z1f`% .sx3Uo.+˺NVX:f=_f:"ӄ+EӋb رL49٧+#?$7hX> x{9M-qeſ%pϰ3&v[zM Pc-\"Qm0 Os4$T.iW*vپ؂%$Aۖ5;Ap26%=Y\Ul]ޥ`WmM%'IbC"~]$/cczQU;wZ}.;ĽXS <La\ إ)e.Mh[)- 4#o IC{n2́V2+NIK9݌BIQ`OBv"Uz?fiw[wkM[iԆnv1V H ~Fur48UQ 8=STZF4fQqJE(Ⱦ"MG.B_ԱzZY7h%sפd(yk$kvpfWxV(>t? hj. ?}L(*NJ+[+(YF,/m[%j=$(كaC| ]V aԌKyiDJfgi~7C--ϓZE Xn&cOp}Jt*"uaiiEr8YwhD;~F@ '||6[0tmv0ܶ}'A a fuA鱦 f5ј qf`B}Q_ 7cv]i5Oxw(zsYN1#C?{ҐvAkǼMM.1 %b m"~r?]s"}UJn~nYe@"3lDZY9*yxuV|fơPa4V!ZNxk{(F.hym7]SajF~.v_e9Dig2atCV#.Q>(-9xLpFsCb{ Q/hО Wۉͪ%Fk%P,-t Tq5_aᡳ2w7p+xD_yX,6YJ-Z/sC3TuVtunK6d0kF] `FUբ^/F~I1 u$br<rK8s>SM)uͣK$FXrC'-^fxf 8ՙΆeJq*@kpa3X2fL,,\]I. $ѡ7"j>dw'Lo ԥ6`nx4(6]w2$E?@ |0=FnZH Fk> ǍS=}gvu)n}+y҆@ܪtC4Mp |ڠlvGBEy'䯻FqjQ?}AR/χ>v)3go`At_BKLyͅzQBeaJ:z#ԁXWd)|SKR&]-tob K avFnt>9G J@?^- x?16(&C' P.rWc};#zn@2V%'Ц+=2,;<,Wה $LjWYʫN4 LM,TZ5!bF,\xVĜn(LЖ'?sj7 jPfJoTauBC}/UN9ҹ.ȶչϞ.GI'JspRwda'yR⌒R=K餛5szckx!WX=TGD(3}a4gA5UC.۪:N[j0*`2 '['gT]״-X1a+RvA7y*+v"AkS/(u(>I# aMGk/:Y\fEךWbҮԺ`ߴs9>9tQ 5xty's(7UlVLY9a_&gD"Z$k &]Fu[`uz(2I(X2wCΎO|!>7KzxYˮg*jv4Maݤob[IDJ U8MǁPiqIbl#M08IJ { VU}_MzWadX?.Zt@f]e}0^$ f,L9ax(dBhcUb2[a^<{_\P(?sŁp!l`Vena Zɛ-bR,L`NyX2܈Q0솹ǒe}3.j6p K܀R>%.ыuB;DC:k:oE8vAͲ[xRQiѳe0ۅD0g˙"8W}ZszoD .v-ҹ@߻gtqhTVfГR1P Y1Knr6-΢ mVɅ h{Pi0y"c׊!' T1I5#!mg)ɁQXMz0lAЩO$gG7 1/iVCfx:&RÜ$ev3,O]Y)4>QlX h^2 O\:A-wi襩sWҐiCql}ҕjC!Or@:h[1-0E˲Qq,2Nm« "h](dIlǁE~ Yցz2aFQBFu$\cM88~i؞R w#V5oUՅJWXXԎVARWQ[X =`2Bo8kt [B גwl:"<| Jb/q{ܚ=1 *hΦW@@Ԛ&;2E38E,|im'_ M.lh@mm VCiBm y{kEߧaUȲkBnvgqwxu5}Ziؿ ,ٛҐ&4u7qσw/-?0%7D~:]{xUcnjI 7b?:$jZ׭:p"YYJ{!ǟ,]Q8"-t~?a<*Wʗ,Xh14RA^'nr}V֌1VRG%lEZBv$};D\O:N/~_yYjeE:~N[Q}Q ^A<0!4^_C58 <= )~ hgMR6XAo>&95[<(! f1KGϧ%tl *rlmf)~oc픁.hJ*-~R%Qs࿝ (=cnKXE:FݒA{‡#sL e:/B`ݷs-h;ޅz6n#ݪG AD (j:gE6j觶DaDfS[(׌qKjm;mYzکNCBw2pOq}Id[螭agpPgIof zavKX_3.../2O,-gݬZmY{F}tu;feH  #2ի't j0븫Uvy<<폥zoJѡyzCS.T)g:e ch!&Ei%8M=E/iK?{Hȷ;(WxlI? IL!b:_ >SSĹ# ,"QUkaPr ze Ƕ=s9Yw+Ԟ1"E*" AGn te;[QVWf\GkfG⃮aQS?,Koh b`B of6y!Ya,\J5G)Q&!<kU)jڱN^gЛW({UbJ.t ?.5vњ:7l6qS49.֒TnMx̘ ӈ.n`"cL1թ~c|Y#i>}D^'XВS݋(j ӑ{JM~>n֡KaJP$TZg( f1daЖ$8 x:t/jZz|9^?}=(k{GІdXf_{V,yrroY{'a'f-#΅I\KhJZZK^ct)WvH`(bHґ$0RpٺhO5 m=M?}uNDZG;)-HGRz U+[MLg  ?X5g_7MģI(܀;0U]wad''߆x !0K._tȺ1U=-ǰXhHԼUmVBƨ axB3%"`& oU0\BR&ѭ}AN)8[!'rpC,˜ZOc1>UL(-ɔBo! q6>0V~ hnj)VDkE~oo $DsF: [q|0YņDu,x:XÇGt^âxzL5`? ԦjKI;7Rѧ.ZW]h 2 k'GJ KvB_c(<nI 5J}RJD^a򅾙)y05x^ 31T3Xo1F͟K%h+v2TR}wؓ9CD2C $ɽ*4@]1'1A8n΢M6_-td}j̦ &2C.}w9A.0[zF ]7bvdQGas}"ghm30A|V8=UU?U(e9\ާh$|Ye1Om h}5,,zN~oDm|G)zރ||M"+,A): Z' 30_Z =GuafèM-0k!0ڱ_e3۬j_e7SUh(2Ou]xC;aM15:)ִ\ /s Kmǀ-<}l? ֱNu L7uI BHo.|s 0Pfr*pm3=9EoT7rjSCECb"|")8?Ui7# o/ uaaHګéj (=|'ɖp9gG*c=kA߾qlթ\Lh:&- Kzr,˔ԯ:D8,wxf/~ &VO]y$Mtq fw.P"GJwUjxT.#ݳ)U3`&= /m'|S̓)vCFU{>l#XP+H04oul,{vzjv%e+%qR"t[( {7~)D?{:G6`P k?3 i`d8hjC.9p.8k涼>d"WUP!?'e~H" 7u<g|6#wkK=vdžd$ |C!N<5~,|ЗlҙG"s %CR0$u"h魏2A Fw}^#Lf<=E)JRK+ԋo~wZE,K؜>zBZ:pG+V邘Պْ%T$?תabQ(kd+x7 Pbh u*x7\N{/(iBbx&4dtTf1,!+2=SS([(`폧cݡel@TK"@ Svɝ֔84sX?ƘsH9l<i0Q^<TaILT-ЀX koj,ɥ0|;@YBmpx-:g=cshk([<05h/ ar<3Z0FÒnnCޘb9_jW8Ş ]l>}!-$VHz]QT/ (5Ӎb=hA Aa7k }a!)'!AҘGц0}rq<сj ZLF^GR'Y.MO5IhrwBV Kӗ|w#<*e7#ov6ģ3?+;BnNIhacOB(2݀~s^ Cݖ!z>]Cr:l4Ly1aןdw;ӣ5ZSF: oA27Ԧ~} ef'?ȧ&~կ & yщ'耭I~> Z_emh/L2_Cy>dVM<6cK2J a,%|0e&'4XC{/$wG..Hph͵S~Xkl'r;f[9I+KX𗤎Wh pf}Z N%7ֱle0tG^~]8Hm"@?O^zOqlaiu:dY7aEV_Zy'.)oIuXF k`5ɺ18׈za΃)Vt/Rō ]m#vŐ+ҿo^oE±Dw٠]:Iv&*HZ4?BLȯ &sm6MYפWUU9)Ņr]"ܡ~XʷU !%Gǜxa0eAFE^2SƚV-~pCOr^:, >OԾZ)ttV!WqO Yˌ86]0 FÒ@f ZD+8al1E>Z*9n_áɔ@B QP ((k3^it1oY7[cX> 55JxDQ[1Xu#f[+Ls 7룀HQvgJ[tX#sΆDTxna?PlUBd3Gk?gh_oi3x^$]{8,/(ٺ~}qg\w"+R{FurӂvhM`)u乿#xi͝3kҠډ=W HYڠrDz5 crSؾNsGVyR C^=iSa"ls")*:NS/lk Ԡ~sJkӟls8jW-8 \zSCPG0r+ ΢F7߈CGn@}W|_\77/̿rˮj:1ܽ`wH)&S]*Gu#49nVPn$K*&+cՎ 5Ez/` Xg gX%Q˓l2] rvUezj* .\H{GL/{.}ʲl\A-Wq:zclJBɽ"63U)0]G"}8) !eoq4hc B[1)1y& lʑ}x7w./.ubn|iInc`5y :x#ろ'qt}mHAauVvo]Gķ1KpGvK~i&;, n9ɋKʙA%lG./cea#'FpcV-ibcjKBR|(pb1/ ;5Y=DiB)' VmKxǔV<=E$JH74& a'GI214 qmv >}&R&ӆxnfph. 䌧;##:ĪGTK Cb-D.)sRKyYtȎMSеo|SˏOf ٤ >[#6y@}jX>s g!:{BxM! `#Z<+ǟY Y=2<,lx^r{4K~HYs(T)xW &E~y Fc=VV|&B,Vh@.N/GM[盤Z}OUа&p#S _6[-ösdnE!-k$/:%|x:5U9{)_`9./TmFē/gn}WmS%J8[NyKSCSۻ^ y+;MZc/.3\Fh}yJ$\ZFdNeW$˃ ?&j=O\"S5'}%[Ya*|fJfǠtV-"">) #[d CFXN&j> bQ T V! v4\`zO-N'ʆCH;i%rG W&{:Q +T?CL9' `tx< Jo?ԬuΈ/9[S?Qp+:0^ŝKew@C3(wt @ŋF^5]tM EvsR.-,C6tړjJccyeGuG64x1IFY{_%o-- 3oĀWHŮF ˃ b@"YҪO} ،R E&Rh һbQ'R:>BG%Ҿ/KϜ7YW!7LxuoE dLD LQ?x}Oj SC$L-ጂZDX䱑hC%R7$1Lvq3*D1) |dgrwH+a((U7{rɪ^%gpu=y -M/ _=_g4N|>f ҧ/|y618?$GA ~0~mpFdxIߔۋ-׸~d=p䋩;;a$;!RKW>*҃]^pt3_vɍoT"@^o}֮,4w+H]&0<<fSRg{~grqK)"c 9Mu?+O]UmìTΥtpHL#3nCl!7iz2 5YdTPOq T1MńGUx ߬VsX 1|N7*>;4Qkٍ0YEo;8)[QDT:d 6|]*'l޷fsKEѷ=GxH{hӒ]( H-c *:C0Ό1?Ά%M#ׁh=j,E[SQ1eLr n1Td`>/{ OSҐ К ߗ 'wHʑ^P#$U fz40/OW[FpkY#7Z$:~<9CL';>cf Ayy^CV'_@ɞvڿǵ?/TIF_1sN[B#kb؎#7f]0UV}J}ۺ#b) 4BQ5!w9,x݉5{ٟV[h#IT5俣2sD~I[bS(jRgXWӸe(yt R@U9XqySwYzvδ[x%jqN}M]n+۞{)C4!d"*j"Am9w/Oz*N\AnQ$0.GZx!SNH#{;D(55$eli4fJc6ŔwkdB~jWJW@{IԸ;Qn]IؙCV}Qӛ踄&,[FQWmہ-Omw-U+նv6I2->Y7|:g.NŸ$")|JU4P h23Ӆ$^$bPmNTh9|TE# [εwh҅ E>1"IFXpYW`e6+Gf0<3Q;_w( #7E4 QQ?Qij?ߜğLND1ʏ~+pwakmCIT{ɜG?F' s(.  MIw6 mf~(5dbDqԬ*mT e!@$U$>R<%FWR,(S#pJ)9XPMD(-/Fg s6d1Z+|lᦦ*0Kv̷CK Q$|]/y(ܧ6:īTdjt5XtfЦ^Q)JQ2^ }:f_l-L,+19ݰrY"]c#KnUj s Bm ^m Qpi"@|2 ²UwIU/&AHG^a 㳾Ez%0X)7?nhNYOG _{wЄōuز@&$OKNOPA\i -3S˜rU|t%z} XCeeWG0و'$sTz|bN[^t4!ar֜v…~؍QL_ z4f)3kpO|ݘ|fPܞ +̴ޖ~*6S%ك/URd5f^da]Ccû@G%,&Y,힃gg0k 9ASKď.X%.]R[SKoG5vá5l>=t_%Լ#8V>iPs'-SjH4vҞݙ6G (&8ҝ\]\ր7[>>,gX{bwmjsGW xSbVDͻs tvy$XUF56q&; HS׹`.wJzGR 7)ҊZ?YzN4ݧ#-~ UT IQ1h |FB ~<$:a,mޓzU!0-Y愬~qn5!h5m;Yk*2JX`ɮ 2q!޺(8dɰn޼dOw>^)v}m<ǞbTTjj ka DpKX/W ގV8ʞrooۊ^ч,GtQ,y6Hmb~?@σ&u}qW=|͈n\f0l!&GrJ{ˑN#.}MJ 02uB(TYC9LM1?"zdvDzKtN(Y ,3¦Nqٹ5\CA[}] d)CdA&I-x9$0(z65pҖ=IA":y^K5_ep%#% +^KqJ2 т>+\=ҎFU3XyqZ%,YlIkg>qJQڮ[ɵC6θ\]2.f^k$LH"Hi򐆪_ӆ<@ +>` /~Rۿ/ VR}#D|++3CV4xVhfzT/Nh9~"4fj[:XՕ[-y=0Q8[7ȯz"Mt)oL ^p9#s#Q[ Ңt!ob3 n]~ B,Y_JrVʸ/\%bAdZDZ rL7-eӏON\f(t򨋇oԨ]Bm\]nĝŽOm,XSYh7k$%^ Il_r29pSck4y%^QV> Jcc u=~>6L)+K'E>($FGAQg'CܒIޣ`SՀ TR& R:R%8Jbr{NB7z!׍F lTf+MNE/Sv0}qD\sTJlF~UYf-({ı!Q8>"bm,}",Q6<E@(Ww1Y#<_\{jB.!7A6"Bc&O: A}9L@ 䶰)USHF}1vJ./~\PO]\w46t<=ֱ`#h~}g9ZH8a\|"\z^"<{>DX_Q&:4ؾA賁^Va/$%hSMcgjJS)d i@|\0D[d 1!힖x't[GO#YPb>fD D )Lƃ(Ƀq_/ +XX̗z nɔ.)uP̌3bJ;ldߪ-b󻷥 d7/}zi{Z)`NDB5nOB2pW L&*Vb3(K +JؤOg>rYş8 9cSҽjw|<6ǐTj;>PŵVc_~Tcv׻&tkU3邱yW)8$cr= ,XίnDR[O_fFz9n/8QAUo UߛyP#}qKs|iyՍ$(FF`O`T%-?Su"*j]8̄4(B'd$-$_2kDBa@;oRzE*/3=AhCYi{Σܿ*\BAM|% nG2 0ʜU԰;9wMVhԩިƯW9F\TDIj^9-MFnuD_3 //x㙿AKEavVn4Zf 7VCԒrǂs6Ln?0SiF(\QMaN+KTM7p@HY%!^.x>]GWO+-qhX,]HI p,i['4- x}'$|/Ǒ adpI+s=zL=_GF|rVC4=QJ`-gЖ"ZTIti%%A '$p-)߁S=׊dfJLOOO 8qh4YU;]];p; idObt%l}"+9+Rn{3fӉ61_=3d)߰X^^/YFh0Ҧ@^o> Nϥ 6I,Iێ8Όm`EJ'Ekm}hFt-ɰījZaQw~bEC~I\|DI'v? YA*XFO$[pəD 6S]ָ5(&-F뷙a:΍+qtYKBXΆ,5c6W?K:8i:,2J>Rm{F'wӵneL?`[/FbCk>9 +Fmo8Tdkל >f?il[Ψ5.tE<H ~+ wދL7#"ڣHƦ4.`Ĕ%<:pZL#tl|sC8ҁ2 t`tP*@^NEΝHQ.R\kM~c1+%n\e.2jo<&R[.f7&=ϪonGk.0閰cI߄az˘{'@BY2Ǿ}wxDM!ye T6I 6>>[mGeAw&`E=/Mx 34XÒĞal౉*!ZJ1m)Ң,+g*/` ^Tڒ(_ǚ;:!"j [kٖxdK Fi!@np{/kqGHL+͎-VUk387V+0Oq) ^ZygujۿɬphԽ&zM[&_&a\}gq'2^ϭpwE'5Ι|2{4VcLpfncP \FS^_VdD>fhFpDdv*7˳硽n4*&}( 1!@b'1kFq B>]/ vybaP|K{ G3Hҹ)a"} Jmi{&Yk6.ߺ9\1Ɲ ?A,Q'cئ zEd$꿺2ẚd&q"ϢSWW„WV}P&|4 e42/}@i CL—mݼe{_e >0eOmE`| ]B(V#t ]D. c?FH[zjv M:v%F1Cj Gm_x`@Wh!SfrX P?D(z0P2͢CC˜\0·A. a"#ͣ\E%S ` V؁3>b<%^ uf,/0V.9F>Rݗkp9Wa#^`4CfÆk<4'8!lz)jHv~AAcǗw%“+V[p4k&VTcG)9-+y ڡn`L%TE:v 06e)U4\mp@V+AN]I&gcP9&{"B["#ݥ'CѼ8h$4i#M{ЩwE at>w# J֜zP P/~fq; ɍI&ɼoU#;dw/oeV0.dL,/朆c6ZQbv`<?~b}Ҏ 1TәVqGJD4]`bA3J~ǫ7PLYc\3vNkd֡zC-H݉Gu/v; mrꛊ TЄ p+T)rxSԒ6 unmЄxCGsARp InpjJ&fq9УВQ4uZzݏ=3궎h.eimtø k$2UT:$1 )!k+hi*b!HY,mftxAv`$=őzo }:z 5d:htG]5o oْ}^qA8;<3H'q}%'f)Aih_2|=@8HԆ𹲮)r=g0>UZHZ3YmlBf>8 d@]k gF0I|* uS[ v ވYY~mi+/PA51q.)yGhF&ȉ#a^ WW_"Uǒ #/þs rx`Dy IvQCVټ*yaP*H:ETm܂_lK1y=Bs(.aM1z./H{x>p(h%5(O7/g' zgɉL Wx ljb"l۬PLi/( T'dB]úB` !$ԝt_Lڝ LYJG&MS}lbn Z}HCIAW'{.֩FkUO޵'=: g|t_Zc YSV$@xyz򥢫cGoN4ƗSbWpQ` </l `q!_oofm :"tL|ә;f\D9sI$ \2{[3K Kd.D^(D*nEBSd9a]9Ŭ6sU*v F@sщQ25!x=ܤjZ̾r2PFЄ㧘2E?6Hs`D ,?(~ytKQj[AS)[Y"s 3_\%7E}aK膜F꟞0c#0XkUܠʃ4<0o"zSB ~ #jb=GS#a$b?N,H U׀6a~]JGbI3؄"-L{4/DZpOni?U+xÏ N]hQGsn;hO,kW$]O:B) ;@/ QDo@MGaINv $7gyi!otKęa{&X? TΜ*lĜ SI܄_~hAqUxDUi.8^ZP HJt0qa?L,kdmOx\ވ0٧DY(ߓAUQꥪ/&'\d5mYxg3rpe]\+:뫻b-S `&Ŏ%ʹIk`3VN«rR1<󘖟J[ w{-]ݺVE5_ T瞬sUN)z\U)nNⓗ,ᆳȘ~,NuLt>LcL]~כi !$wy8#owףkm#ޭkkM8TkᔢPY @. -T(}m7mͻѬ! aq3+/Gӱ@uZWµ1ܛq+n'Obcǫ@Kf^VY Ӎ&jgCf 1vto|[#l"]nA oHD%މ.V/ѾA8 ~Dz$m!-]^dIZm ճ:NtOL\ɦƫT勠ʇ34G."6ppgYb=X(c"(|݇*DFy8Sh=ߌ )v NL!pe"9g yƦN~XRLᨮw~޸;H; w&jL;Oџz_:z Ikq( (ȗ6 6ݺUDb5CZ_iFJ]|uP'1J%^ΏlSuvod U;,T)fkZKrk` {PCE N htCc(15JJt4~S)9¦ÊO"+µT {h8,ab:b$#qx]P!z_R/Q ݟֳۖkLb9Dd5Y[}T|h)gw#lX)k%/Jewvc)'io)IA5ME^SLѴ(>' S^g40} NBF=@e͜0*N=ϣKdo3ZY2N9G}_)%WU2= (^ @JcP5: 6xdcH]Eԇ,X5֜SE>yeǁ>Ę;ї1ȪݘAssbE*bpc iӶ'F~ak#yx\~ѐE.}k7c1wMPp^!J|*HdGr_&WΖw Υ \[y0? Y@1vrm]*] ʷd-*]XH$N}QSuZ6go:kGW:"k^6ԶASz#04A⾮*,"Jۉ޿Gl y 4c q t Sּ % LނcZ-E}Vuw86ghxcc/%hgot)_ak0]ܘj+ժ2$Q?gmx!4{m 8 *Zs]{FKk@G^W x5 zl DMY~8)FavҮzbj_ZV}B=Z[r׸VZkUsuP^7K5 rI6kߊ4ιZI#hzV 1"@#kT… NSV27Vi9y9d]XB|"vVJn݌DlbKtcti+ƊY}UQѲ+BnR~ -% PBPV,pBj2%= -ڽ=5B1E[o Hy]?m7ysDW&! G)WBf㙙.;Ş$(DNrYH TXM` .c<35J s2H.=jWR" I ݆Pkਈt(F1۩W&IX/e,j0F,jmyRBח2?gK[dXSܖ}~VuG]7>t픜;(YïaleڙኁM]FrN5G#{w6+28BRv9b)ЉEs>cT쉜 JcقlYo҇ w5q$nV f_katA=ӕy=]:\lUqz\!;GPGu3vPϫ,s16\Xk~U@u`kh h{k'8 Yg[m#;̷PPI UD{!7 +{)@! ʶ"O]1SxX 0^3HgZWЫ-2o==pjd8v8וp6Q4{pD] ɸ"^q^w8[<*j?L@fnĂOEakM+ Y2`?"H S?e;Tg(_򸠍*CFah1AVEv;΃c5O.2q,'I7ݧ"Ԥ^xK٠l'khN>/} unwԟwQ] Zcaz=Qt6F|]bAN.YVcL|@dDErj@Ny`l*&̉1l-l<]A898;]YG iAω; Li ]ӯn:Yk+3X IeCFVYŨM!Vl*,H)Z0lNhjHCxp:^dYs.Mlu?wUm殬nbV=lj椈W'T;&y?O!?)Cl%$dZ[qZ~ ݺ;O:7"s>bjjg&5Q c:rZxtR/=} H/P֙%wXj*R$z緽CoOAL+>o S?P (VNv4$yٵp=؋I8)FQkUOlC.%M*^[r?&=(f Y Iit%–huVEBG&a`;/gG{"-X녡;KRX!޽qJyJ(cTIՒtiʶfl8"z? U!kv.;uJup 1kŢ!铅2W"I.s6X )N(r-^9csVB_ɋ7x5M#}~P=ڈ>C%K#j"}Y2e5#$|یSUBw |jGƢ4f]7nP8ߌf|+uCH&&Eo:"o0'(xc1bɓ*MM 5H[69~6cӍn9:#y@Uohd^IXJt?yǵʂUiEnCoTPH >~њ{P޴Q|税8qMݢdrx:i s]ڋe!Ï Zc̀߄)\_QB/8HJ(5FPC $z“UbCtm4F,+f8DScwcXs6v̮?ɒ]9[})eN :s9,#5M^O6[l͈u?$_@,7d#GcTM1$fڜ ۶R%$^zdDG?a#A@AVc˹,|.oceBP%*L#'4d&\DԷU.41!<Bzhl.eX".ŅiJ$l' =<)_ WP`iI{ET]uŖ-a}TzBuLI^5 ~7 x++xpe>v16u"ࢶ$ ' A]=KhUztܫju4(]gV DKNERqxu_'DdsBҝ ,#A[ ̯tq"4k;o/dk~fu쮼=`WF du9 M֙BŜ{Dʂ$ތ"/ނ@ ae+Z tTE~uzeo'RP2M9f3t^kDI<H&9U\#ʎUN?.6EpX)>pmXJ[$jHWKM8QBz|)KLr~ yaAsf4Pwh=7F=Q'h3pt.~RviR\)νW-U9J ~I5]s$*Met]+;KPu 6a_5G͓`}{[wRҙ ?kWj)f_gHǷl")C~CG,{K,&_##hƄ<$bdˋЪ-rh  z#GD$lRbci A蚖ܐv+P"A SJ(pX0HUxeN=pFg" gCiJW&pQo<0nl[=ګ-tv,|Rߙ_IER6Q̯Gz;4]v0@Q(e=t:TPUm#V= Kʢ,[?S+!GPMd'Q C. 3`)K`끃^RNUKvMn 2wKהDC, mDWTeU^],:F~\VɷY#g|C3@j˩ݿ {d 6àR>KO楝׉qA]ǔ7h/`dm<-RxisgN_RNOx!2.&_Ex1<%E.BTYZKA϶C<429oߗtE7N?dDO&c ،/lc)2OlQe!dc-ׄW+SYB48L&R$}g^Bz-GL."x+~ ev֘*ؖmDym qUӛ.@h/{,@۠N4w#; rx>VlH $–$j5">,t&rn-<'O<\>WDG efmF;u;ɕWgPAO]-㗯+P_0l>cw4Ӊ穎/%8X%¼/|\gfՀ_Wa+*y_PX2Kj=SLY͒ղm^wp.8h ic}Ihnܶ{S"r4NGeWz#z`mB55 Bdsj/0NO<0 D@zœԪ?svO öJHT–}tE :[M)Va`&yD: a]bK7ޟ9/<2ɴoMeq`|z̤Sk*ZcY0ڼ%p7 '{uR֬ufcVSBqOP=L7^kA7l7n9[jPKf"͇%Oo(ש텾-umKgżQ)c4 Cr)xJfXp@t|m}a* my8q0V ofLL{Rg6DNtH=ڝ$KLMn++,0ў,TQLqmM0p2 lGg򪀝+RSXM nvP.>y-!05viH _]E|A, p?hkI:!N0.ւYμ~|_Bo`QX 1n)I_0L}Iwb!3t1@ GKŭt%?rbi< &8)㉛ P X:fԠ8 M~.|? Ф"srA㏳Dp ᰹Qxvd$UR.c*yDʫ:E R8FV*bS ͭL`k l }xyl+] Ԝ1FXdo5ufvE)0\u~YTkr}-R\4kEkJ^RԸ&]!aYS_42zP;֣jnu|a}9U3;bh}M*S S54`ne2M8W}`{7Lo/#luYϵ|/ <(O)\FxTEcJd8 ht2업$PVn[>6:,]APx%ʡpU O(K'?(2-Ja1+zy4? V睦>i$pXdO_ѦcM_?K؁F 0iKhk<,w7&ґrjL) ^nSDӖ6i"h:gU G-.$liY nBJ5˟4 sI#dv <zx+Aac`ZM9e^rZ5ҨĶ6wGM< BkyMp*]h_;eW~4=:$>*-㪴7qgnf %wތ}tme) eCGՃ̈AtJξ4KQ?hdNƘWQ'[e|{UM @شȣ 0DF* (_|ֽ<4\*W䚧uQnm. QyQP2f.ֳf[d S'ɵ߆y>TaQBY kP+BvJgE(Ѿկm _ 9$MY6O|1[e+l2]7J)l] †R.y+[$V^]^6L48f֞s$H.rހ<v#џ$0(ss~,5/["&IRkq/ڷ`#LI^vm+558Y4]ӏ/[UbR'dMiFd}P':E ؜n\ïJC5~O׀0^uL v U 1b!(ajU %`/EE(HKpv-!'+fhi~5-EaHC4؀iudRTENo@n4~AS_r2O%g B<"5YM! ˔0Ow: E:ǯΆ#H 5=fnq>}Fqy>t[@ra)h70vgŧ<ss]|xZy6V#{nKE8XZҙ>Y|Lv]E@ e@xA#k71n=>CI/cCc4lH [q 5/hnX!^=- Cʽ̡(".BZl^[4< }I+p|XHAGU}oR[PgC '> gDuo!8ɈY:8eD;oz׀ pOF457*JO1 p@ "*bӜxAͪ#Lg9k& ef"2P,Vx`UYį(qlƔ#A}ଢ଼9Ӑ$`jgkv"F*9'Pz6qB:w]*ﱓC?tCb=YD(NrS/(,[CM~xϠ޿*ԢqTun=&Vdt@ lH#w/o>pO:)I[͇6:+4w2.> IoS nأ:%dL-D  W(Eʝ;o dW 3jxȦٹQq >n9c,t1}u5cE6)?'.>DT逅6iIU 2D$b&JA>pRaF$\ցր6l!}qzV=-̿B;0193,d/D)BDo'9}Nsdu^ ޶+3˫g/2I /5ul-.Y|{glDž8᭑(Pu~^|o |YN\ Х4^:q8[^ߟ3at(B;鹕9hB%]vڹ 7j5nٱ;kS`Oٹh {H }&" /^§DE$9s9+bٛGvϑJ-'8eh9ʡDn2냙PC3VMEU]]rĔIO:i$RM-轷0 T@Dk8jV6[Vo7ofOyjik_ݦ?4mOuT':"z&2~=TpEZ童3Y]74P:@1y_pW̺RnehOIA/dz4uZI&#-C0Z} N@a쐂,mystw ^LѼm7c&d>Webj3!3R2ʎK5`$eUBdW]GBQ=Rq%[F)>/22C~0dۛt^Ov/KꅂcT˯Ӈ-Rv.D/x4|}{ByJ(g <,&xF[fTY`+)1]iyT@XЛ%؊-m!C/8/16uvwB! Rg* e={p. 4l9m:% vXS,5R&>{f&{rd- j}c;+#Üx(G>ό"GJيMĔ.QLJDbW $s; |M_¯}]HKXBOw)Zd6SQ6Je*ŒҮi`$T ]8k Qz2q)VHA | xrH|7%g4ǮwM$ )6 K= B`ܷIoLE^lbAtUE+fL+M*a6nbm[@b!E7k|W~[Tp7 F +9 C{tX#JNk?0aC,W1\̀aުQ~NՑ9%ZfQ(P+y5kѶ}N Re,lys5!hiK a;i}f"kj.'" 7ad&>"j?5ä(W"C߅.AoJG *دiU͠ dhlQ[MвXWUDΨ.JquU Nrf3_:&Yl'b&@:LJ\ɻ6m|k=d )beGbJ=9l{8Yahp|j {=rĎ-<{8ڏ{O|[}PQ@Aگ,AYʋ@:ծ1 }qw7B^4FpkbV"/qV)Yplݗj<.ت 8Hb`~ygP-b)ܠW1-Aig8bgmoUѠ¦Y.RLrpZy Q_6:ZMC@<%^HOfWd'owH/`*)7bZ(w8fF@ AUumC;#\F|jƇ*w!ZrDw(j#IzMNܓudiAr%ώDT+B? "3U <=O͙CHk;v %IqK$}QR-5d֐B7h $_^Giݢ:E8ppz3|Џ3|#V9EnkB `#'3kJ˦M+G<#(*6KNi[t]ӀdFCxlHOuj;y= | dƳP4R#9\>Ai>yJ/ <_K kdV<桐T5vez 沕 ~Rz?hpNل r-|v rk/mΧ# ފU|q*JWF nw_JA-o { #5q]t&ΕoWk%}dß&t.ïE+S ۡg٩K:ɛ?ѶQǦ)K%`'a .gf"=0?<.BA<<1i3CŨ.Lio`˰{{'-R,!Vl'?B}EOi%Ic.*Jt9%~"n3rq˶CQJZD0O?=z|Wgy7zxƗ 2iX[ x|`@]v|Zu / # {SxT"s`>D(Oggqet|dpZ܋\Hi0ݹ 3Ȳ} )M@tԖUMO7 ù6 zI$m)o|7T~Uҝ1̃ .ܫr!" rR~[O-PQ l7<7V"/}II+$o3~rgS02'+ئ(͝l lD$ڮ /Ej.FRܓВOc߼/&ٖ}47a|:р|^pDB]W:)ݺD#%F{T5O@ϊ0$3W^aE0በH!ċVDt Ú3KKedCmcwG?Nltaz#D&樺%-Oivl5ŃJ-nv3>lyme<=Dɧ)DJY`֖b$ply /$~3C_v6cl6#.ScJD #V?#L Ւ>4o;e`G}Cq_Nqa 棗k2@H 4VcMC&& /7#d9X!=ȥ1w:EY&*Fs򏕀{þ\ĵ6gMة ՟ FsU!^=-};3}fP6& 97#P\ADצ-YHX``1FiFܗu*^? RwT '_HArvX6yj(Á;~y!)r9x}˄V9z!+in3VCtU9MAϏ{~Qx-H?2wPnF9/[9 'I _8'c"^HӥBK;_e /5 H#Jfx`[+wtؽR.*iG5֋{. qDDKiOoJ函9Nu ;av=Bۄk!9'YSv8ͬʑȏE&uH-LR!ml ?]xtDmjrxؿ#aG kVzWcvPܛJK6LYl$J7:G"m&WqX&-k=x|Y2h$_.;WM(J9PhT>9)sYyGjdzKz|(^ ` vQV4n%!S ޜdϙk VcTbU33QvlCW2IO8[@% P~ˆ:+rn.B"{O=!p̷dBԧŸF_#n@Wy]G=t[[=q~AAqo n`嗗FbNS.a 6y68(fQ~œv݇!bx9'Wj^wwwӟ!pδ|5 nlsv=ʀ_bPMDuNw#ӻ09A)fRs:̀Bm/=\^OCIgTɯJDcxAt";-N|e=>5w9L`@`[X`E0iJap lw]}p9㇉qL߱3'DZ593c'#bΟ*AhT{=/{h.reS>e|R˿8`5.{3Բ%ɦ.&:'*eG˃J;V,Sl^k,+ V.yMXv0t6p6@4251}kpt\f ĻDJ6Zm( )C|1gSpfOkP'Z~w=,"sn|TqwQ TM@|#u2 UxB9ӭAo8q1ឃOYQO'*Vv."N 09 P"= 66Va^9ʾb\玠o3k;th"$g*C(7pL$GiҍXH;/Ҙ=6 # Ib81aO2wGNw-Y}Кfwp^F=n =º/y3.Mߋ -drvℑRx[kTε7gU𷘭ٲ '߅J S.N>6O-Hg%BGgr(lb1$`ކ$ 5o>Oݻ7+ghX,m_qyiHBذ {:J(~xYcר1a*N8- # idh}>pQl ذivsG=ff!-m΄7,st[ z,t:fmBϪ`5xK(㻰Y 07zKQvv^ud~jLPj lWSOSEm.C7F,ԉհ@5LN$!}M:MfqGW.kӣ'K.Sx?@֧1^ki#̡ wOߑi_ѥWӆdCG$<#q3 qH%6VL\_WV4Z8 s/@}@̰ʺ/BU }.C横~>7mT 6P ;$AZx:y#xE.0 Kx AdC.?8lho>4 5,Jq4w"apXBl]&z)/nUZd-2LFvإ+A)Pw;o6av$E5p/M-j2_ߩ䋌K~1B #ԙwiSyND ff fm= :SFӻ5YVku->iVwbֶPސqЕ?৾28*XKFE2ؔx) ŏj& Ϛ_Mm&W.WS D؂/FƒbpV@q8o}C mx{Urڜ{  &*7OܗtH 6̥_WC0균kq29r+kj~TӲ(6Dvy}Cygt|j ﻥ@TxHfT@"hn3Ez ԠPXeC 2 9_pؗ-wMRX2ʗd7Oԯ&/M[Co^+Ra>-/h0kmSY%3iK-c; hTG/aySfdJezM9-l7q~5 4?h7*(}#hu77˴inrZO4:|?I_7B{iIY(dv)4Q'96Hgb+_'oL-_6Km18ESY>*[R[{8%P\Q7,?_Ue]M[huۨkeU&pYޟ#溥bK| QH k㸈V8W|;E_ovc#Xy,ۥN`wg~|qtCSc7XC,+. {(LtT_%:&P)2fjH)Yۃ #zbKIGZRPCPy(8)3ӖeW/o_m݋~61$wW"UC?䶲R$\%hͮ%KuaZ:# ׭|_ZCd~'{^EGALDp)\B0:y/gYUz2`qzW5 UIV`gUmc"־Aq Ue-iC6APŞhVQkqF%F(zat\o3v.bY#IH4&3 MLϠBG vF45do-lZ[,Dt}9 / 84oMn^M$qcJ'+=ǐ7mEg\Sw2`!)f6lZ1 kVĵ j`~Cf$ƃA,ƟFGGB_aqW"Q/tޚCʹy]uCFDe}xj:=#>+^Hb;E 䶀yy;~@Qr<_ u9M8^my(H6C블̔D$9ZC .\m>A>кdEM+ ZRTlZG PG5`1#"?>V{o Ήeg_<gYcΠiSR= &^w9ץJ MĎqҟb6x.|*X~q96)r|!μXx!x4a~%MᏳ fI]IsCXfQg٦-Va2$| P &6l(L~&d2>XHbnXǒc'?a!`aAz#dw'W34II!z?E\PsZ=Eտ X}{&lN'3|zm-ũZN=U/0^ 3)bv`0%&Rk",ia/Z"zϹ"QAs; 2e]M> JDvݧ"v;?1^UpFש{Y @0I{ ؇UbCyf[~u=9sMO0,]fq#X89Hmd( QM)JPf kc5jn{O `\LqЕA *3֠aHtleb`7yp"u4 DYdco0)e4& -WO  iF*pN E4m5 ۤʶ TڜKo?_EA[f%~Ž}0+E@ 6*Q?|t P$[ GbK؜WE͡FD M2 UJ&H9`٭ӰQBL^3+ouo0L gWmr52|GC;`ӝ<@8g*$fl y!4֊.&a)_o],z8|!jZd;\$Axtt<,\ Hhlre.ϐPXbs5" bYD  E0;xjvFT@1IY_O:INzT?|愓5['RP﷾n}~c1-\4ǔD>0zKr9Z6WX/XЭG{G@ctT.OC~f))#{Vָ:R'^Dv=mD>Jˤf.X۟`X{.{@*8u,uL:VYcxf݅rTp4{ϛbm#-gOl?,4 칪ȝqcpn(ujZ!<0  `sDͶ6hRD.UV^W Xf -N/S|្2Vu,; []Kg9YVؔ[oxaAXyUJ~ooW,J\ޮv;(}6pl'e|[qeKG+o,AGw0XEޥ@]a6 ugʞD\[e' q4o߲IM$~Ӯf 1 LF b6ZNbmRE$P+;Ks$)7[Ϳ=` ĨkZ16f'nߺ 履jDOyV;>)Ϣe^#3astz&269>ade7\pHmjG{7WQҷ*RCL@;{PE>MV~DރchϐX@R'g|ln]itAgvVSU->QюfEIVs=7]@|- ̘󓸿)-FTDƕ\9Y_N~CiBf7(Cb$b{#ʜi;ϧ/tc0z͝Qxw,ɸ(ua05*~5 8QĎZ)kɭJ&G>ӋR)6|1F-oV~$*o|kpҚ($nt݁Z_ 㛺o2}]:5?0)Svr+aJMxŠ T?~ <,H(sᵺם:)NZmb6s4CsYLq.6ڪآ5T3BKb+޲"$L6uoSo1My?)n ZD8Ey9EE* xxN8yayD 5ֳo'xa^hcQH 6egRh<Zb&k wRaқn3r98| ȇHKQl`ï,yF !w0˜Aa[5tU"H"Ub `by%`kMg %iޠx%<9vʆ[ Άl%É.Tp{bp!\ϯnDSμ)Še^מA9͡9"T'>akQZ(sqnzM[GPB+nʰ "͠A+_ՌQ!@4?6Q/V;||1~LiwE;MBܱj \.{w{AJ- \`ƭ^JcsP wHH0P=} U ~hp %֏#kR`s)MI?O 9Y|8L Xz>\|ȣ޻O9P8K{ݯ{#<^REUseDEFf Rc"tcY2zr,7[ꃄnq 7*a޲8ww=n5iAkI|F7}?r{KS%gIp]x9ԔJg)]x8p{P;#BTJ4ˑU6tEP&b#gkB% Lu9ҝW2L]['fR%#@BTFR;x0yh0'ҧ5]h~Қ$ȟܑwΕb?Bы6xT~u*2 X+#zg#2c z8ŖSYjΣd!VO>?].6iBGIHy:M z{1W'g >|㽀R5_Z,h'|_ru~U(d2HH;(T{7錾Btኢ̟;#֏جc.,smU^. =LKiOA'>y}ՉC-}-%an2ǧYGP׫BSL2jK\3 .JGܥ9eyyCUz7.3ndL]k`&נXW9^Om^V{MҜT#cxKs<jf<0 tMRΘafYI>Cv !2yvBWݥ5a0kI/R( V96 +gK)9Yb%oԇz4?9#Ab]!M>cbUͷuq浐g0fQ=59K>Sc54jMWgfq_Et@鞗(X>Du@L)>wBJ֙XA1ofӷe%vTr߬հ} 8"5s]@-&iWuE;j"G|29@*rvj|ƈUu1.}?4"7?5&:(E ;͂DY*6$2Vឌʘtb!;7 czRو`eTTHW=p ejeWwKKԧͯKJQKfm( 0ZN{Fn#Hd%" K{h9Yi ʽsU_gmVx( ,Q$#. M}3NZ>>:x8U0s6oRDa;kt.9$|_PZ2},Ohc8wG\M_ #jM 3U]?HlCQ2P9F^[AQӱ:"^&"WNxY1QsԔX yР=䵀Jd7yǁjf\ qa]V "֪>ȸpgǸGtcjT+ oT:df&BP3z2#EWݲcXlr5b\҉ #?eIJ_1R aDXRJkg&k ?㸇ڕ6oTC`˲^$4xuO8T+?t6&Qy>|h.,5勓tAI- Z̤xFlj'A Jdsl9.dsh U]N&:M[<bt̺xK/22YKJh]75?^4QaɿCՈLJw~n232#J =4/n4eс>n& BxP=,-\Ja!ɏj9YQ*wU}$+ 6 RdBnk>ޱ0/|V*ws3қ{NX"4hTCpD%,׳teK$AMdE!ol\s71Ow XJ8x(`4ߺg xd \ n _!bºMed1_3WCjpovwӊrKxHw 軸7MLCрYmѰxb#AnS:X|`YK}a~C0ϥ$/G8o6X7e<t5h=KՊ"t4 erU1xLؖt=(O"`exyDM<"AMdZZm!\޺ÞG?G3 ? +dr,#@]Gb'|7% 3MHHK"9alq 0,j(*+u'1rޯGuȢGu<$=qj"iE=ZHZbVAmP f5 .eCt$\ 7X hTlND~ꒊ‰Hƙq;`s$Ӿɴ*-CgmdOA*rOx+f 6C U nj./YH:m$Yچiɰ?3VL /d6*J/'2P"2C?D69jGc+J֦.5!iu_Jw+=iln Pl=X@v0 uIhArrjo AI@.Xb-Uss,9NlGW\@:~Nq᲻#4<'~Y% 9ԫAdS\-<[~2*q?ɾ*J-pLZ< zz();zқth8w}H݄XD&O +I<]d:Bj/v햅CX}R4+lMݩDzL9h~8~46o;L *20QíE(1N=^l\F:O|X1>ΰu%^SeV0[17͎|HQC!WIY1gT{֟5\L$p&16tT+XX|`!ʠ391kӷߨkȌD#5Bz,*9Gye={2j+P3m5:pPǞӬ&$f1Hk^]$A8wXR3 eINg\[y^m\h\t{?H^鴨.+ރB|P9?F`ࣙqҀ49R)[%/Tw?-|Y%Y2;kBW:M%^m /S:ḣ'ŧU_{ccfJï HBb\^i*ݵ> )vZ1,C5H+ݺ8r9UKW ]M߲z^#\KkGX<#9֞%ޠ*b\T-G֐өw(HGv)ͲU۩կugfM'$:⧤2v VtMAܠmlOt&߫Ĕk3]wkr }i?aN> mZesA݁S G}rM Ġٕ8 m+X@9%?zx׿ L|za5?o]lZpʉ=zƃ#H]uSjmMu~3 9lMȩagv6hNcQJeIiQ1"#E"fn*=dgeŌ.^Qf erww.M^Oh n̴qRvWf||p= ʳ;]/ V+8lΠQuNc Rˈwv'ky PJ5NuSg5q<KdJZ,r4tk.&^Cq_4XKf10y_`!Uܷ=}l4w'wvV^声=j+7rmF'YV.!,_/[2!==h/3[mDNA8~\e4O]dI`v @ NT'~}5YvM9 ꋨ ^n;+R4 U`'^ [+׏ pq6,|< vHU9݊O/p ũ/Ai*qd&U<'M13#qyEj"ZGnb5,h^,7?RJo(hed%}tp[6M(H|{X{̰kLXCIUo#=jWW-+xE Mir@ܢLkaձWWHۖ-ƬY ^Eo4EyLp<"f7j+Xnj{k>'Bbo1GZ;vY2&!w\;.o4IVh{<dBGc]*H %V'opYrӇiOݑNzɠ|II _b}NJ"J'+Hv2ᄋWhi3x;2>"Nc]Ӿ GM#Fot4R4>ۮ}y1hs˲m>n5j!?}3`A6~~"4sF ]hi@p6(< +8n5LB ۭL3zUdo)1`2v\緄*ϒi3S(ѥ)hc)bVv]vݼcժ聏وbL-=3HUS㿮†{럨62oY`GWT[Hr.uBhu`2YZ*ˡTuBZ>BNf^f(xê9) \@MR(p`*lqvapqeZRCיBdR@LVdxoy:O OX_B^a$D0b"=|TQPOqMGo6 |]=C$%=>_R/=m\TSŧVòn&l+tVp.3$otӔ U Y"$U ߀wڄMDiH;OE'xV3qRS\ޢ(.g^yjȌ$b/)[xm]GE&GJlFBq*>}OqFj T8udm\߷ڷc W4y+o-:hʗw~:vdkh1˟GoL.Œr,4| $X5f:dIi˜XHJY\gVhtlGήS$2؝`OXHʼnKDƜn "$;|3#VUZ*A% Lm _F4/u8w?V.i] ͤɞ7̰[t5C9kNe<_%IoozK' X9AiȪ I+.ώuiHR E?;Y߇7T6,! b~njM19r(1qZ=CO|h(H$sP_G"c|c} {1Mfxy;JZYE]hPQҷ@]/3@CC~ yKB ͵y/j\R;DW@_B1/>m<:Y"FғR N-Qnf Y]c# b 4||Z-҅kEJn-սYePr??WXi" uI@tv@mOV=!ٴl{12Ir[ɤooC͞M;D>+޻{֝sg7bo[}SWfW:b{,38B/':h&t `L_ Go𯇡3[$= jn:lz\* @S"$id͘rf,e<0ec^}6nة~gj4aRM}00zIOsDέ#+p09pN\ QXV1 ;A@\j25nY5Af;jk@S6 /R-킘nj4բ(#z?@IuƩ5L֨CJEQ[:s_mLu~9C_}1wfFg03ow AZ0ѳίM̖)XHBѲiF:;: ?FxmzD@ĠZ}Ac߅0~rHa 2}l: Rf)Ʀn3o#X9!˿~ϧVoiO$XI B0]Ow! S^Oc'B+M!q E,^v.H)&(3ZQM2ujo276d&f{vW'qW!F>5Ŭs%WLrCPe6!U/~\#v>؄Sc![\x Qp;_O ٓ" ~SwӣUŇd9` `]cZR'a!ϢqƴϋXITd0NVz^jUeW̰{_*V>wZXؼtQf90 O)m2k92JbvEȹٹÃ9{=KБbZ,]&JE7T4|@ !ȉݪA$[NVtTw wH0g(3roabRة:ʊ/ir0+C{9wxP 1vK\7+ 0u̳ OnLQ;ڦ ESŠ7q7E}ԤD F,hܑMOX-//]!U_(^lߒ ^3ɻM`H8YR:OWik"nS3asՊHiF^[^e3 !p r)ޏ!qr-t\u؞ȳV""KÝ3'Jir-A'A1W`43JL{y`4/]rq;[wLW E$%\Y,L3RE!%R=+GqUWdw8yD&yTm?W0p9%+ G8t?)}"_ 1N *& rUY/D52]<̺Y̼/+eZd( -whXho jG0.gl?h"-+'Frop܈iqה_urW#^5ry:|^R7#]M*-+_.eQ' 90O!?.*Ue \>Ӛ_g`(hyz& ;6O&9O7 VӁ6BD_XCg'3C7PTr!`}>nWzM ȯzSrwLCɨ,fXe[~')Ήn/XͿ\ה.=^ԃ}ñIBH֕өVpgQ =#H`N,FU<&)=ua ^qN_M8|I؇ba½ᅍ 7lKDž`DMY䑩hsNI%fB9aeCӺڶY@O[R} ތK}]) h좡d)ݏ]G  *o ^@)nN`Z-E[Ju?IpDr'LZؐ3T7 }f8B8I Ϋ+zUW/$N]xT%k98a 5JObb=ݴ)s L r$.\׫@b RK) >zӊ ? v^!i'o TC(taGaFyW.RvU^~]alU8_SB3l× t#IhFs ^9}+k'>4_]|!nt9)[^cS)$Ή7euWA0.b>Ic5X{<9{DU 3uQFB`nz~E)׋/7H bܟG*켭EkgfrUނ`I~DXJ,~堖nRkY?3y#)I N 3veHB6kgyjLj8"ʟ]; j,_Zcœ< 4Y.~60=gU&i|t-jT\"\Ck0|ŀ0s~14X&.˭kU=:-d`t85= >.]I{'WK+LaJZQtb߶\JXxI\grlQi%oYY0R'F[zExu^<ОS;+;&sfF*9]L[$[!ꀪta-м+ \ I|bI0a8gDרgM kg]9oFA\Fܶ*VJv+}` cĵj[6v!u0Fh qkX0#lnS )R~M %%sth+Im.)P[p 8>)WO;MB!p!y)DÙx{ %昫vo=F>'&z>-Bq~^0tG4rP+!P=n o]:ylϳiZudi?[<Ց^®=:)=V{M,Ң&8[8.s\9=Bػ۬&XDTw/ǒj#-mˈuŷ`;:  :GKlpL|ÖbF\~{ %xm4W`=B de{iH D#C+ˇ8{)qDWcM%B̎n9rh]Ԋ"},AZ inn@jg? "F!:gTȊ(*{wٺ8^yэiy҂ݛElWF|k#m[Fjk& 52vEȇC}LxNTO"A5.c-a!2xe=v.X~\fZgUCozD"X׼+3[PJoj(p9iL*yY%0j- Bd^jv\,߆9[c#$*`XȍY'>WߏdU5ʗ9|q}(m}{s`'dCKpI7ĢoϞNhSDXikJь5e46ZqY(~LBY ̍,e@pLZ'k' N;l8=0g L[zKK7ƅe~h'# Fh>/vv|`\5as>,ɽRE9]KԌ8 3,oSm 7vq\1ulǽ5]q(VKtږCKSQne[hebg1'9;@' ,Yc V*uPNO, 0&+*g?䒧ndWY"}\~Pq2)+/5#Rw p7ERZ_~媈fg7C6P؀;FY|Wi$E< 5O-mZ~@>1BXzX-\m9$"Mv EjPhVPν*vLƛowoe_"3fpu-wB7ͣksꁡZkati׈x[ L_ȕDVD::XqrR)gT~*.ˁг )-)4qNΗAPe:%[Ho\_2+cT]8>:.F>W zJKF9XLQJ-3,S1s@BR6@&z7*׸Q‹YjeqiCˏ[Biy6o1e#B u8@~e*4ܦ^^\C6nD!t)Z{PDFJi8wÞ~5pU)Lخxw1' ^=ʧsJU A֭^'PaW4~H-rġmNE^pݷwX Aad9 'v'&)AO`t24g,(Љ^aeMail:d3]@<+{Lb]}Ġt-3Lv1 ˾znm~{5~^aؒLOT~?اZ8a}Mf%؟^ =wG |e4" cR <^M%h332BpGla` qi(|f=jo0RTk=52<,R~<}N0/>.g1 lTzR:0SAoD-Ծ}fN 8O~g؊<Υ.hL7{kx3{bD?gek(8j*C)^Ҕ.rˬ0Bv^gdh\BNPWϡhK F"= G^F7BJ1> g2#UQ'U;&l=ń]+oCg8sPTGaHԿ !"(V_Rñ._I`NvaŌ&`t 0eLE#2yuv&6x12 v^o?XzOfdBEov!7('ƚ`Z#Y?8/#3n:J  ຄpJzi?fM|"c^bb|T0-1"]cĔ89/2A{ᇺz?g9"Huf%"njUS*a~ikd?@ʛRo1B ^dqzwՙ[A4wr4f@f^)7Tս r)*bBNy.SB-9>ALq"f4u;&.&5 iOBI=ٿWʘ% \f-qQCv3(EY:! r6*0YгRI<{q'VT ]bL8|&#(n;D?̞5Uja7IЩ 6jPf=Nׇw?J |#[YeiR渒^q>Wcؼ&|=xCzxž@(V'?Tʖ( & l,bR?{.'4-df,˚J]lt*aa\JxbʻR9/lb2W LbR9S5QzޮE¡z|Q瞅lԕM^+y( ĘX jld}6-"-p`J)Ip"6lAc8HW k$Ld"M/@omgsS࢓g<6ɽegH8MS/V˧% k\)rKl:y?l-lLH[n=x&{V^8, %V䙢*@DQ#;gY>!aZ52D(x}eꄎm(޸53$(1܀Y!w'i*.H${ ,fȸ44FF .I6KJ9VZ9Zm=sO9ma+2PcSjXoгLގo 'F|2 8jU:\2>Z;~I1,q~Wwb qtıP秹r޴2#XO>GwA+B. p}y楏$ ȦlljGl&]J6gr2OH\6fHaG\aIRp`LKlR[M޺hz nnmYapę]x U>⟾,,E%I834Inf;jC1ϫ}|y =G4RH|nL娘0_~>g Aa3[1$B1ש"{~Q[aڒݛ kCIo$CӷlL٦Rʎ~9"idIzHc6F!aZ]dBnL%Xώ,Y?Δ b|&,:`i p:GH@k̯w*-4>ﭦE[`2|p[V쉹_ݞB䙸ju!عBgx[v<XY|TĮ1k):4\#Tٽg3X >^+0͏}syxHa]CDN Nqov6(4la@ƍdna⵩'HPv7>rhɦ"R:í6мنp~W1Yd&ĝV.Ҹ}+ZNT+VtgRgF8|K¯buk;q!}]1waя͐-Z~1[CEQ4VuU); 3W8-Spj:kT4NLieQf˶D]eZ>kɍ\m": y.C#a'OMO+cv]ZH -ߌ-BLB@@)-1]&^lʻ7{Jg/L;A ^ nTw$*|2V2VMht8PtbWiU$U2{g=֢J+/M'sb/xK؋}u(Q;&޸͑~U]~KAq@q|Tr~wx?*رyZzA64GHI5wh!rc!ɗ׬a&CKG]+`q }mUxBXin3]Ӫஂ/) dpxޢ eϺ}nnI5wY93Ѩ8m=A景yŊyfx Dž*Kz! pg34XP\ڙح*]mxM4 E+BS <PZ2Via>g ;tXKSt)Z$=t_ _g^Ċ4jB5gQIM;}ui4R57k^?sl"}hf=&-5)7|<;_kFl$Șk&H=(T/2Aub9W'`X3Dy 2m+:ջL6F?\ |,3 Р^GG9|ww{ LQMe9i[HWE׿)|S4x%Rԡd,uڳ2e` 2E _o8,bV'3._-L6v:Cu#΁H{g>q/jh缈v8o˞ N}I-"Bҵ?'4gͻŹC-r8c5@w-*H]l-U}7Np"%)]kT*F??++[;eDLK֟ߛZ}* [G>UP_ NnZ*h7d#tI OEmhxሶߦ[)7D|-Ds躴CiP"QLLD7]Ù VR魰INфtvAz;FR* DUiȈ?O۶3+@s܍ @"$T܉Z P15r&J?EoX]p}vYRJ&:oa<-)?¢t*4^T츂5nG:x|_ZD񦗰*3[ 㓘|f-I%4"U%eAGhN f$apY`޴"89; a -QøsD]F:cqvѧ7s 2iĜ`#ˢxH^DÞ-aRQ*rtn! ɽpfyq.Qs*wo,_0Z =3s &vr0!2-o?d9n=L!Ch&&ګ'z|YToȿF*@rh9}fjzB/7^NKH`DHOl*5CF7dZ+恗u- :$!2|~ni`^a/`9t8R0#MOJA69ZDAC[UF?4YAX1'HttG:u/Olrߕ (d,ؗו|n[ $KzԇDdD^r;XRJ[@.>NXϧ+sg\Ti\ !6s Qؕ^59?1U>ts޹{߉LP5QӒx dl)qIK=A Ps PFmjP}je;z?tD4ÕCVm{Kxji]U~`uD-x娢k7Uu5}Iw!U= C]RjZXS~ @yrȬn:0ũq"PH@:.q\t\n4v} v<ř:} _dy7':v3`'=gӅ/[4օ?TچecAnDRԩd(صONXw7-0J` ]7 i~(w@#+ Đ .mnh5+T .>M;\iLҀ,sQ H%Ic4rA MϨǾiD@K i]GkVIXwQހ!Q mK|aZ U"ټbο}CXeЭXA/5)]ĖKXȊݴ)@SBRR3ggpzA5mudZ@ !)G&RP ӓ9 n$~p7q! JV>8lWn410@'0zs$'w RZyS ވ$:koCWS2@Вf ]4!cJ8ii_ǣvJɾƄr~HoIXWիЉ<=?sI#;\$ [ݖ;eWC_e' niY>^]؝ےo xMs^ZB׏~$}u[qcһyͳFKT"xVGN9%IPD@t9!v8 *(NjBѾP#xS#3KC'_Y=UU%#d`ȯKn9 er,cxDN^[.xTIn I.+!%٘*s˿khtbm[.6q* @- S:l$pC{~p1>uc]rQt ߜVlpzy+d{ |hFKP~UEd~`ϷVPΤjZ!)}ExA8'PS>c34EXB+dM700w_ΙzJlY1&wp͢Uw~O3<lȫJ% yDhkø.:%7e-W>jG-bf7Dh" i8ώFu%*=굼'8quT'߫! ]yV|n?(cRn9Dy-18^͊8wJ1[*XNƹ'#hږ:OIYu""Ձe$")aJ`MK9?7CLʕM-~ŝGM ?aE^(Uoa}f {]dN@]g[7?dY("lިݢDl׼a2%֤ud&-:<("hxO`OKT8_VLבZf?B<^?n>vh(Scc ? 4f2S>'E7_@M"q?nk8o*ͨ%F#9JL)L|\],&D 4+eb946n VH*".Z¾;%Q򖮯x߹&6GݪfFg`ŅTjj>,}S qEq:мripȉa93KTd?ŹB0/ql'nܔe3vֻzcrO[?_o. ϔ(`wn>/ }\%Jʔ OqN."*Y3. z&0ħ.QCfo}{]GkincA(p6V.cd"~"f-%@; hBI*/ޔ$o(jo4L#?If Nw%CĐm)# z4DmlvwL=^^+ T q|@I`6i؉/Ͷ=oM.f(r)qSG$UxQFiP5+;I^)X2mDF౉Yʗ{_#@|=)Hݮ}y&Gfg4ӆ6^bރ3mD|$B@01%8 {&4#;e*Љn%w019ybyʨNDeHjjC@ w,?W&r)T:ӌUi6s)cU4 sw+AŮB{Ģc_ 3C\hepLΑhfSyٵ CQy%Aijӷl2Y ! a(3i)ŅIݬB Yk8,xn.&&d¨2, ȚVYNYJа q2sJIu_x@_Q3ުU7}^ӽBC roURvo&IG$GY*)jFH q.u0dvQ3$Slǣhє;,ae<'(bw~[]87u7\1ٮajk{B95TBVgLy%Kh 5SutG! =1ӇFR&t{GPq7$i-™B`o"b^e4Y '"Q0=V_Udݩ.꩘{AR!8mqsqLH0w\m`؁EXذ|X'd"M=X&0H$sܠT*_824VLF#%3XjRe9>1c ɱM!*-цjxۯBT+ ^j\ ,vv5M-ъIb;ZX-.0phPMo5h8Ùo;Eo* )0/=SNM>fxk]7Ʃ](@pj_8jNI]ioW2]Fg+R_Y'e2E4``P("Sn۫M_󩺔A]]Eќs2zNxiDI [a0|xgT90E| @1|Ǻ٨SVua.am%6_uWrM뀚ֿn2 -H;ۘ4Ə ژG2 /gDM}Z92j@ `Uu8 HБ`1Zu-Ph,GI@oz-lYc`/{;|ՊJ(o#bH-kytvMEOR쇬"Uoݷg~<)IdGEA@!>=lX6;lqpd֫AV,}0bݲ U׃Ze{f%Gxŀy3kUW>rۿ@C%CaITr- /!'I&# #K yhZkN9pqNLj\xOW$~-ĿvA+}:O>64g۶+҉R[O_w Gć<] ςԊ+%],U;n-Fk[сpxtqf.u;9j,R)hp̋JѼ%C)"c19."J\uW@N7="BS *s[Hd: 6~/qS-+TI14V®Ceyo&J-\gRfxoКy8{60sjCa. 27[|tf\}ܫٖL ع}]_ ݋ qF}<- YcAaYd`},O]aB98\ -y"_K.$ rkͨF1wr>p}REh{>}`D #@zj*4#gbbaq4HQqQPGS$eswCg׹ő4ڒW\fgd.d}Qptb#_!aD0c\҃lzeVdIMūM߁ڸ]mJ[U?n܃Cih$ u]F'?n ydAw[\Jod˅áa__#${=\T\V2o9zd+_Fqe<%7yOn|iFb\&XPӴΨ0>$+V:s>߯":k@|{k▓̬Љ_GW[G\o i`.8m{FG57xQ/g>yY@2NP$YJKz]d'B.oz>V欫~0/v Go0S ttXGT|<0=NC2gm5jy"eW&MxyA9C $P``vND%qR)|S3lĚpMj ~7 K#ݒv0w#EEQ75ٻ}츢N囉k+.MR6k:DWgMosM9&e mwAck[Եpn/aeWӰ)5g% [^@4I j…`Du+NK+*N< 9f ΓQ*ozFsۓ<3龷G@u•{/$EͶR'8r+>07ֺDC@GuGɹ"+ +ZjU@-V ;8JyKܣ^j=xPz}ŎCgWO-;;{F514wzjiF :߬|ofdEmqD(֕B5^ .[H([9H3ȸsT !RgBi[iMoyY0./=.1|a^ kdn*ҏ%:1˯$9tm=d*)F ʼA+:A&s-]$0rF) ;@adT^90w)G;>wqD~J'אDs\Rj`)_;6`Mil>HԼSw'Gg.mQ,h}B.dƺ͗@)6m 0/[| E lCR6|yLg#0 rҐ؋Tud.;~! <=qI:0$sk|s^QasH -6h[#VIy\/e}̶h ӽ{xmO+": aH _#l>lD`dMq?8_됛KD8m*>A߿ƒdis ,)M{|S\)ANwm&uhm)$ofBʳE|Op A4>7l\TDQIpsz c$b5u2Nh9 -ϕY 4n|O3*"V6I ʘI4rFC~l;\\T#>i`W$J޶̥wIGD2nAߎl]ܛA%*Lu Gj*Oa HGbUmj3`p <;(!]vY0Cm o nŊ" r%!ۤjѩxgoZ  ²HOz;i=!߻[ilsUc?^mG;x'P[!C ̐[WA-ݦc:htlcd ]/ 犯)Q|}.p凴TinO7 %酹\:C> pCgvcg{>O$m6~:PtmY_` } wVA0y&a [ș`?4ʔE /Iq;XA&D:h,=1(B<-9*X$o͌L3>י͆.T>R1/ *l!t|^**vضi(-Jɬ ɌF %$pl*P21Kzb\Fr >&(舐7'ږdnt.3(:8sl+Wc7bW~tbe|aрQP{|F3o&5REzB}5J(wzaѩ7CV(sZ`zv>"7&ïZ]1%LoxRP7gNb# 'pۢvߏES@xo-=.6ga j8AĞN |\R%^tpp̜#ǧhDMUG?ڣ?lG}B**4FBIT]պk{Bׁdyq_" .0k;櫩mjyO,c.WG6]TTw*.A҅`J8_AeA)PQ3: iU5{́we0ڞ71lLElqQdp+O:54b!/8\t m<朁ؠ-a D(WutI=P%N̩YD:`ŁW]u+kDf!a4)$HXΰ)8@KMϕOl dod!)-k<(%r!}F9@lt=!)wfʢ$OpoDe Ҡ_V`}tc.R;bXMa[PιӖXݥyX.N$䣽%4ҏI"'bsVL_9BC<(z!Xh?9>Vdþjc qVNgJ6 R`$ִ칹5>47j'Eë=@eKs3#~|Y(Q^ )Mnnl7?Mmy޸QO?qʾWCKԦLX׌ԺgP@]W+0 P%K Nl@47˝[* Zœw>c>uԎ94XGyhiH 6]yhfW'Y;%5Zrgh #]E0ՐIc DDUqc\KѨ-'Ô= GZIG쁋٢#k}`R[xe>"9#GA´8CA<LѽUe^`Z)P;ύf֍:ՈGȉ TC\ (%5۲jCO'q|mڑ{TpA"j} lG > mVм[Z#2Iy)j4Q|*h*%8USAЍ@} M'A#*'#UCf~td^o{zLUKf@9nIo8JDfuF}IP[%gQws5>tqMfglϊ5ѻbSyGFgۇa  h/j9_tF}B\THp{3"jZm%/5ȽtDwfJtֳX 9M.8 /WLų@X [D/HhD *Lr9λpYM[4BFWhu5cxr \-~|T_Tm,4E4{Rlá;o98;~3\bIS+ L3\e]c>8%Ho-e|Jꔥf.]#ǕJ^.Cm޴_4/ FjQ"*  Јà' D& ) TmOئrVLE}/?x6i+& P}eM=[t/XR+zW_wA\* g(H%G4Nj; 8j' ʷ wYz65"?H]TЇf;btz;8?AShp˿;Zfq ~V>vQQDyv]j+L] 5"2ιE> 3> 1]}au8>Yȇ?(xI:˙BybkPm9@) 65-݄sE>XLY¿@QڧY,,F"֣[1 @~5ׇb^ "/ؒWÞȍQvR xɀ|+RMr 50i0FҞ(HtG w0փ'1)}_AJY6Ҥ1Q\(rj!:HO^ S,R/Le֊hPmCKnI&rVJ :&$toOj"^PA|TjG+_,k,t:M#ɾ j:DإQh-\xm_~vaԻI`ݞѾ.5#I jB5H\hŷs檛%; /PlvoV>2K EW li3XyEe11z [HÈe ,|λ{ⰸ(ZxoΌ!XgPLdv("o+4E Օu5VszpZ9Z;Sr3)E'8+JANf7(D&# QۚSl݁]lxpuXY,Jջ|"&bb45@[Pln4Nq)P4>կkU 2ʘ` (YzTm/.rcDt ?]CieCJM^1S%XX CZUEc"1wPš1}ybCbS2%`8> tNk9$Am;Q#!j̾2#R\lӄ qԝv) .9ycW<-YK}as:/oLet6#ȱB}`Ƕ05*zvݬ2|,v7ُDvoqJXᝁ6f2N@3YQnSzx'jSQ@$/p_I2TnLU`7/3i7:+n/ lwTy^&[cK2"~IbA } 39cb7W-$F%Ԟ]_8D#'mûM7b~Ke֙E.1KKp.8`jNҴ;]I@GE~$ods>/Vy A_܊Ocպi^tݫt{Ff:E[\ʧe'?96\R ˕a_daagи"d/-q$DB`)*VT<׺Cēb)m xeM(?ţ)#q,q;YI7IR,ɿL"5c-PSضOJ/3fcd5, fE(Ҩ Q*v*MJ#qNϢV¿fzey#& (EfGɘd6fj9N\q)zW.,tű*qr*t23X__Ps@7XGV\`%QoK3 KD5DꗻOUR v1YcWp(4}qYS'aDD*ݨ)FtNmv7V|4R >"c8r:0Ň}jS*[uv>{Hs+3vP.yᬤ~, *j#/WX0 KwZZ(J@tox4~XC(%}=TAPؐ>haT%vBD;elTWRIA*x"Wz[9u8Iw~]XkSh5kE8k=Zx={@IJzY^\l^sp\$KV,vZfMDv6|/%cfpFƇB$BWҕcL ѹQy yzo暐=1,0gA&hjr!EWÍxa _qu\bAbU˿z]D-%H3huceKhQ,6x2lW^*@+1>_LjEeҧ)fDyx2kceg! :V3#&r IR!%fu82?iind;ëhfh-QJ2>E&> g1'#mysXr\cuY7j8-%qaM}=FHY]іT!gbf| ܜA@,]Gf=Dd<=XKhy%e=qVҘvߊg "fT򁇾BŞXݬdٮ/B8OQ-\'NMKFe0"Xp՛`LI4 ;z\dS#;hGeI9V0q~SgAKA4'J眠SnpG7{n)w`H,Ӷ[EtA57ZaR dĵ;e>S tɸpv]o=}Lڮ$KO9muwP[EȉjŭڟTCܸI&-bҊ."p؍ (gORte^'JԂyYSzB)jfpdu*2%`15U4OyH7I-}8NNi'}:ل14$ȼxxpsJ"ҡO(g8(̺]S쯀ۤ/{\.jbKg:Fw&vϙqׯ*ʣQ+>K oaY+=fh]xm]QŊ\YELo(=aÂt qwics—^`7X[و7'd|hdsL2EWJq]Z T*|wsyĠL+7!8w΄2Y+;.w9⡕@w6,Go Gؘ\Wl/wt΢Ni-OX~CQ;<s2=(MWo.|;y.{["伲Fѯ4bh8l1Cx\t\p2؁KRmaVѹΪ;5>fq)lhv6jFߧ> .ǔmA;r, tQ07K Z}JOL ,qQ Е9ާ\Rqp%P-vѨpc9B fE ٴ}"[y~BA@ SŎYu{GD7{t]JƇb9,Kn !&_?vt_q$7̢&H68Ds¼iө&tnrc[vf5"}T2cKT@9fJQg 1'1!b2fw%w'^%25zdus`+MPx@sNY06Ro#k7Vǿ/G 냩gW$hcw].kJ4U'mإp9[(XQ.=JbTL]͒p(D߿;7Z K5z zj>P~#:^ 4Mp/f.*os湄L(RiISG b/:#Z2>12Z] LڛS\b>K0eŊҵx15RILm;NH8}~ꋜ-!g_0k/@ ,yʦ^ycVݑBaEl?†Sh9*RQMBG4^'Wˉk.E%7dq9Nlz4F"(yӍ(,'亅drv_0c/C#`DI,1I)Ms oV8w=K%*I4JZ4T^ +rı_-'l L+.ӨR3A*Iuxf+*MR̐X:M.F(p1i,1Ɣ{RI4 Ϧ Unt6%'fS^e!CvAIHCprG>P2r2It} @Ჾ(r%>Of.;XS>Xt$|ôÕ]Hf^iU/6'1;!ƚ1br^.=}nʉߍ\`*in.qDƹG8KU`{K!F+MẑKuKi݈#]4⠑.ՑX7/lF,A:,d率8{mXH˥/&xXy'#jb$ƫH*"B/tMF*:79FTC`q]=ʍHtOU$Ģg/ԠOˋPk ܗJbޑbg <0l% }HBl.GW|t< 6|7Hyev%P?q-"lIZ2Q6$ i틟q/l\j"U1CO!LŲLKurM0U¼R7t9G\: d{sS}H'(pc`v2^G B_\M|զLmSV4dLGpƆ52_A2ڼuk,+9<0ߴTlES sG\UB+ v}Z Q?5"l<#*}frq=bۤ=30;~e MXLIڅ~T_4Deġ}Ll)A)TdB}N9Q]V#[yP[ *#-Z$w#杭Mm->e68=#- 1wLjL΄-_n4A Y0-Lcn) TX@B*L;xe=?J^1B׫ j MVs%3_ٍ;lJC6J#BI ^U1 Kn^Q̍99U`[d v8{W5ـ /4icBptsC*>[AAjXQn;i-Zf}Hgx!N œ}IEtlplbϲh|1 |axpr4᧩܂K\8<zuBd] -FAE<:L& +B#B4!>_; 3'akբIZvY.C-׆oKc4r_`c]λ[8wϺx gJ8fƻGT[k m0$0{10z4BTǯ)x7 (Ÿ$lO0l XptQh6ex:t c=@QajQ\-m,]N$4Ŗ#fN /;C!t3t"@$xOv"LFUwnB?<&Fs۞5Ÿ\&܈%dȘ/gt={@$ kS3,@Ibx@Ɗ5Kh1MY)(ZN}ю3Y)f=XQh `crKbH ?(8"-UB{:jfTrh,vzr8 -5"tziӴ}V|cvxob_+DxFGX+5XF<"\,C:M. Aݫ^j!i$X3rql(YISdΉf߆ =iNmԱգ.:{[{#_p,wK."*p8foC8l‹»hI/g;ꞿsi')ս PhP|:pfA2w&tLT9ɤl!/XpDl~?K>=Lv\N2H7-?L!Tƛd Q{׹:&hέ^d?ir˹VSsĉ #g0XXJbt5J-iK~l/Ycx%zI$m9Ef~w)+TXFȂA==zhY)W?iy`39j*0Wș.dNTL_J@'ÞTf+Qc,>K2l2/49T&Nx4>gmw#%16'ZͨTZ+1"Rtɹuj[{-T؅Cf~?© LGs-wȫH;JʈrLx[$.lB[m UGiGl H": P`6QNٛU$[pFL `Y屮 C o{9B3p%!Eh!A((g~<ґxMB/%>!/:3'sYAG1F82CQ>MjqEØ8ڤ&#m8l&Tp6pz-w*B=7e~V[Pn۞l /c)R-7En,#vQ &ywyziF A -ۋtJˍr,U51zͫNw rR:0IQV`_Iz`#§TH2!(8qaDX>e-eSW4%ZՃafKl#(>ۭ? O&,fOi }gS"QG}iܐf_T81 ` Lnf8E?O'g4dÏޝ_x:]c0c2[%V#='LC`Bo>%+W֦._ BsqmMpݎQi+D=+knIwTI}%Cm&7C.7'3+8Yli;vdvX~v Lr*!xBx[!w󹏽՘`F*=JݢD1LkCo0F12b{(m!rL W_1? Gԓ~Zr4}'B= bKc\,BYi<}o5ˁ8͡#հEB l& ?01|Sn*AWLvŽͯEYl]z E(Vblb4^GL,UP~p0iWX>:2Y"ܟAE\q2%+ͰYjڔPK) 2%)7՜TX7̳-2Uhj 2(Mښ*JgdfX@6`P:13B+A3{K`\'yO@Drea"zr>B,'4=dQs˪E\mk`O[!o/.q;< ,ʈmzM5QP;WJ6pdcUw.@rA1s kkܻXB׈X̤&f$}UYj|8GI7mƷC6(tRwKϧ:5`)JVm9&[PB2;_>U]٠K@E<ڗp2U5 Xg$\F[a'Yk/ 04pLwm _YJ8\&x((]/^7%ּ 79T\e HM̋pECy._7׺|d꯰ऎ | KuO62FnY]pub8^+F9`bs1ߗ=PZE+˷a_bp:H> hҪhA~|m6 ݉Є e 19pT. IͧC耮f֍–MynH.E!offLwA5=޴7`8tu8}oJsb?eUۆ<)1!+8VC.kruu1`6q'qPlQE8 BNnܘn9Q М[~F*hAVΨe 0R]"dN29Ck~3(ZІ?͚ +J0?z΍kMI{T&<'RQ4I9;|-[*s|AvֆƋzLj">?z)Luxl H%]Q%vS_#-udKd+1]9KQFh!Ό Z팁MUӠ:LHr?yQrBחqaїtLBBm|cIˑ$cQRd5%k[Ҁvȋ|}n[Q9c2>9Ԧ^*c?S/qvD8x,C|{+|n{;~`ŭ>]bjkOWBwUQBڬNCQi3Ӎ6FٶæH\Z,ju7v^WjO+ͅĘ>"k,^T3@mꓨ1̟%jb]R4o+P?Ƅ X !C(,id%ԽljA[: ߊ!|{GQFAb%,\Q !1ӠP [L4e-yz1QZD#|VTz᭩,{Мۺ ˶q- @#7k"I?D4Y|OGR^&i'B7Dv LB/_pwx,~\P@ho6 'tes:AUB6_ٸvlP9\j  qMu< IiuE\]`#KJiÄUr "{qrc0`֍p\^,c9ܒ5DU+j}A)N4 b׊grTs-ƩS?h溯 (dX3!ԝ;6P"p; l-&?yTK D&0jAtwQCJ[Xw&qgm gFZ'E%sXuR'cuN%{TAWQތ$tvW=HsUF?H]`U,iXJ(t\X] S<0pDL1S< |b"Ly@N46@ W 7eHRv-ev/V$b+1+' Y ED!SK]b)HT7gd2#j81!gio*_ tO1B4 )||F{S Bg E12܊&W>Taͤ [' SJoNd? Ҡv ۞A<|YeǐJ պ@vlB>Y};&;>O.s!'tئF{aK,.41ኴG׷"V7.eBL]kpFa+4J2 K,fI._/V-Kgz#] }l߸|뺠% ;\h>RԅV2.^% ?i5a=Uiq-ltUxfUQOX~S`cҹX3L wbϽз!?[<[xaYG=sAͰx%"02|S k=sY]p:6'V;8W³`fb`5KT!8#f/><@dyDzb`Tr0I" p3ԅJq:sgp|(vˑ@qr4-B P0pQ ~;mT4u8ȪGjи7KbeZrC6} *ؐte`bXER%؛CLcQ!rjl=P>,E4@apʊt Љf]*e Ʃluu{FC c3Q {t.ŒU|U"EZW- { UCᩊ!&Bx]]ع<y&U0 CBU^m h%H&VNYq4}<; UfÝ={SC@݊ŲYCAZðo18t?^D%䝣0Ť~懦شBkT\Yɍ3#8 fe*?4S5ILEG]lÕcB:wxWT7 Q/`%…KcKl28,n%3t1.H1wu8c:`ًCwZaå) 2}d>256b~!\ 2+~t@ňѸ95d? x1#)x"" L<L*ga,N Xl%eT;\|9  :2Eɵ|%{ozuW;F,1h62k;;}ՕdqlXCEY9}L,# .^8&@(D!Wq;5& sGA~;.p QR$d]. mtbn#'F;~Q5 ۳E&b'gt1䧐M0J4aK 3de !또kxe#B*zfs"'+\,jC lPaä^x/ sN^`-6v/{Oǂ5HmTv ٠C*~(ƄqWP3EH׾[*0A#pLD܌ɚD8"wB#?P,J!Ë 2KW(9 $Ph.>?;i):{>;VOzDKSz?!i:[}wQcMb":EZ( uҒ%ԹI!w9ŊB{PR|3y([SO@ >: snFq%ȪYpٶ} w: (G|n2C!ĄXXҷށ\ |k(Y[ y\V_e5zv׉cxA-;&>Tؕuن|A-!}|A>mb \:7ɬ-1| ?rtPa<հ,dy 2g7DI" 2MNHB\Ms+}t2bF1I[rv:~7B! T!IC-D+71!3ȋ(mO[hO$n?_BE㷱 2hpF2 6ݱ_oYGq!dü|Vmj0A#DGU% x›aDb^PXׇd-'e$0T#;vM &d\$D<ו,f[S (8i]OBʛ6aAz=ȭ!r|<+`1)˱%J䰔b%A|B] #csƻֺ́jAuis)JIŊNŞF-^(;i.%G&{7j%B[e1q =Qɐti4lF,H6ޗ;5u ΔAqJ2ӝkHAE$cAW(ZhyyB˼q&>ܰ~cJMcmr-n M[⹼֌6Z`ƃڲ3,FH(lM=2x} a{B -辚;2ӿsPUwo 5: &\LYY{R+M<0JЛ0h~ޮ{`< к-K"7ۄC_nKY esi~`sWKv4{]NP?Ūϝ_Ö0($f@6:3i Fsڗm˞7jpF'wi⣇m7+ MN_ mJ5[nlkq^mx@ 2ZxSn7B&5lj5sFe&#q/j$&@5 %):]9 bCZGA cL4gBzjKk+Ym@GԤ$D\r0[.@FL \$:/4uż/i ʯb Qԉf-Y%|1Mc4lϏ4panˤ4fhh~R' %U Iɾ[ #[UjG;il~LVvض/gf #s_Ġ[U}Ǣd d8vAItU2i=E boj:?Mo_ԥaF_Wn7I7m >r}46 'ݳ"wݛM6NlAe9jy>]ׂ" ѣ{Zmeihv R!#,cw"^j-˱FeGhAC ׽֬Qy] |zbU齽lMWG, 6p6\+`j+ajb-;G7g[0?F "M"-Ɋ/f4HEr~ZOkcۀ> ~9NF%G_L&Uz+(.e:ٷ_,en@盌c IP/^QiIHZ&nC@I^6| t[x5fY^:LXmq= Ńa]C1p"Ŭ "}vUV pu=u.ܴGqm*U0>6'A՞,щ5Efv^tT WhF1g!t/A&g<#|.#Ζږ5?|s&&Haxw+b3W4mRу! 3RټE&ۙW߰FU,JSB-}b膖_s0ú j8]WN,c">K7 o/ } >+fBRjKܶޑWV<3oJ\g݀+@v 3a6L ~otaxEb~oz}OٞiX?u:bYs@(sDw Zt.@0 N*H!65F̈$/&]l |ҀO?t/ފb3T7CX,SA )[oI^#TIk96w\ ٙDRIC{ QX>lI^h`gY$J`tVtBa $.P +l+"-h(W'EGׁ& ؟5OJ=ɬ:%E޸1B˜`{< ޴҄~|o n!jɼks@ߞRt=#KJU$J?W殲(,Cj EvL#"gCSxW@T.?oe}z |OdA4s ˮϤwo ;wmgZ#éiO$q`YR^*s;*_䳃ِXdiv'-Գݩ 9uw9—|r[6lБz>p)ar0(!X;ާBlϵ觇Ǣg%()Te*w/X)$ \c'<9OSrp u2 WDb9dp[L29v9/&JS989[ G>cQJ{Q:|`&amΐ,uViI*ئwPG2YXFsg5Rm2/J-= fWBV]ä W{ =fӫdȬnc͞ ɣ³QA՚lhU>R7v N?~T,๿ guU/%d5X"NvP4X}K1aG_,YW)w`l)Kjr՞kԿO/PqoDd1Q2ڲ9P̪c}>EcSO6}.b΋vrPm:lө'׽*zK⧱])7U=F_"ϴ&U :ѯBLW.lPJ+b@T?E ^v]t 7'Nis,\ Bd2d f !C/{J;)mQƴ4 Ru{ؓd8!V`|Ft=_k 91Cݽ ђ{ُ|C%,M2j=Ӑ[JJ_6k>g>T i,d/V٤sg2a'ծ`% ]O4˜^;r%OThd':n`@hŗLw7_1n;6)+'{_;vԗ}HEc4Z+T=v?i^0_I]\p(('N mȁOA[\?oz4&>A* vD9TZVhc5~T=@F%odMU}'Њ LX0IvA깻hS**_^Bhi/qdzBd0xr܊@}OP4_(.d0 I&PΆh/*o떪XԻ-1+=jĥYzm9!go%@/3/NC6J`*ImPk#mI>n>Bdhq(>^hΛM3D9B97NK Nhc7|XCS4Ы4cuŰLMQX3C]2 G1'lV7y*=bݓz:u=SAsFKs`;>-6x=*ܙARb+wY: x:o&ܟٳNJ ]|\_Gԭ-oW=7*9- ~t[TB"qY8TS[ |] %Q C"j Ad[-P9B#ucSk݁3_3KT׌X{٫Yc(oR9sN=5(-E%Rh.>qUͥrc)N2ҍbHN%}+kS9 }hthG/M<wSZr{7L`.Za#,ȫXQsO=O$;DoY,{UX∎Z >=gޒܬ!r\Tn@b>G|bgkSEg&);)WzhSߵ?A}XIX 5@a;Fo]ZH`qVNBm6Q=So8Ai2WwXr]Ej4 ^aI97<(.::M,`咄~Qgna޾qJHGlVyT ]/su֗^[Mk_ fKނG_ \_[U ~ޟZ.xmdt GY쎀?/$(EErc\ P It^0Z Z5xaӠ%d= GubtB{CTuM׻r:jpO#Ӆ1I#>{wQ뙵)wCh\zaɇ2ߤA (%}a/|tMy:% zL1 NO@{%aEf'_lplϜB]gc ;d~nE ,Wmx^{kYKt4^K!Oꍔi2߀XEFKݻ_?b>= Rg2Ycyyq J"M#dK"@`.kcBW{z$ƚO; rmp> qz]}|H%8SGQ7Uo-@ f'2hm3 P,gez$uZ|l<ʀ+xp*ȎZ8Z==WSBk}{FkᅪUTZ3br&E& ī"hS:OF;? z<<4{3Өo/661TvFm ފtʡFB0RJEfe}0`ے*T}Tz8Ȏ"+0/nqt zdYH`4{ˍz1e'B=i˝c](s: #) &goePtM~˅uVYNJ(1/٪zMPUؕ+0m@hmW|Ws~h5އ^—{8⣅ $M]S'=wn2tim ת#Ds?+;ZwN'?tOZ|t:1=q0#Zc ݶ 6mJ婇2o-~hCVr0GϢ1@#@,8XkL05irc}F'{LNԚ3doŌhϘ S =*lu"k. ;ڦL?䥷a~tŁ3BlB18ht,cb{۠z{CWro2VrNAϟ/J?[<@EŷU"i. 4Ԫ(c]ӒCX> ?#A0INy9 ٩sٕF&3}q*X]KFJM\ dd@3;9Xfi MdcxJ3 4T"8Bsn@kӯy6 Kd:mGe]FQژݼRYQJY0u( ijL=L_*})%!~C_(ȄM竚nbt q5KRZb- `]9PReUȎ*[®=f#kSׄ#;&}N;|Ȉ&Y3*[N5'BJAe/\XXM[R@8 yT$;G:3+6{ϴ=ѴZJH=/MNX"xr E9l~QZ$]cgmj`R`,k®^GJ<6(sG/P Y[ ј''&vo?`Mim_HS`18ϥR #δm:|ٌ z`s6jw:-.>"5L$8"0 m~Bg ?_ɰ|etݮ#Vg܏ 2 1r2aMfO5mT%pf7]t(i͘*r2 1;GNS-s`moS ȸ[`ìCR1,}S߀gO*!2|e>Wa2.<_| c_R4xB 8y/X ir)Lkaci6Wٍ./#NOAևi=ed:z\)]Ӆ,QGrQFG5΄ƥZPPDúy'ccc䝾^]HefwAQXe]Jvܠ|Iv{ ]/tMGHK 5:V(檩tDG=`ziR;%[Qsי/q0`3 թC5XXZ#M.ΉHH& *I]ϐ G=1Ͳmhsqj187)3?RB d<3i9B⑑nKTG.[3Li{l >7aok%n^SP|'L%ʨv sela3{\3O@4_"f/0{0LP9 H^cǏ#s8@BzJp'wVE+w x&'8 ×Gٝ!FV&ءpdQ{{#hr 6ۺba B*2c]Mkp0َ\gGaa@i«H+4QDaO%g9|][UǞGݺ *&a]ވ9$OΧ$z;,nLjql3dW\B=N* }o0h3!G{RLXmY$bCzulYseq.}s¯@vFsSzӟE"$UKeZ_-X!pBz6 ywS!W9<("!;k3Z`t^P֪ 2\`YS 'lmQ,fat⾊|Tqfv%- evp|"^)}gYCmC\#Yah`< bDr^pGc~HHcqӒL%zQJq)^ә@X[F\|)pH xJ:bi/Xl+VV_׮9Dž.}݌v[ɀ,7}oZ#9dG"aBq~2X#VVl_᥸?J#EC=eлa:@@.N3)0Ѷ5jLqn|Wh2grP3\u$W4h`\F(vIʚ$S3B 1€& 8 B gf͂(5zS/_/PAF7=L;Z+iM"30nx/CL~ΑI9bH1=tXGƐ`yw udU#jIDوfw,$* XGYK1O2l5HEun20ZcmSI Pe3*a~gF69îg=x33!3 <Q᪎B٢f:";AUB[,F,hw؎:3=(Tip̹󤥕$Ìw ̚ B\(+]D_Z:L8T:y#@+ּ1f(#<|2xX.K/V~iƩ)̘RJ2c[f}G o\F)wҗx#@}vҖlן6C}FJwXa~Mh:).E:<">̺"Z&%x{d͊OoYY~f 4p&z 'zS>t8|*3$?0EwZ5Nh+\$_g$]x)I1ì߸k 2i%OGZ&;F^.Tˤ'ҧsDRvd$?ۖ9:|VAa,='|}A:.}³Q#v7c> T+ܺ\MH"Lh^PA{eiXagY_[D% 7&1n7z0ˀ(0E/ ύB}-UY0 m?Bs+V;م#dhwB?d|FB}::CWvf}p3Ż[Zɜo|o8|@R%[Ujofk~4^:+@=[xDDh R?=-= !$Zlxv%2 QѼƀdUKu@-(j՚oZ gj*+7/ GѤ+Nq^Xiʐ4-nNMjgWr [.ZFى֤m"T7o t?f?Zq6Wt~ZḫʼfWbE,&ڀ]9a1@;ɥkkM5=컓u2͜Ie?Y PAwB>|'N|ॸFTUGB_kOphV[ѠrF{9LŽ;\lNw .[\ .2y6 zar۸4is'Яw^3buANjՙZ.p U0'iԂD+KӥqolO('bݿz^g|n֊zp{ėV9(ԑO.6Z7۪W[?C^//+Bh~ΨF+%!]9kˊw 'Զp$%e}?dwo#l~pe`ŞRXC:oUz( !lKa[olpiĻ9!76 p6]>9q.W[b|wH/H`ngt2"]Bŀ [KD~)tvC'^l |۔-?|^uHs;(F| /Pf1*[c*xzg_*?kɣ&ǯO-]d-KsEY>ni"d1 [}+# ,dgh, pw%zWhDët j/]'p[mq\C괠}$J:ŧ@~@'tݰFcUH$łNonk{ړ[@ynl;'~ z)W0H6? )>0)e'V/]MU6jI`tAJ褾C7"y>Yګ_iLQNalRjMaK%d0 Ju[ ~}F}ZXjy͋h%/-d[$]A"# < 5g{YO'鸦'V;WsB4%Tu2mH]LtU%Ys4ɭEG4+MNs*!ԏkG K(,*cʢ:%F zgXlֽ,kUa?Yy'XF B-O+Th'yC+ &umT Yu/f*#/!yBNpHBr \λBǔO",z IA0c]cG0(r #Jn ސPĶꐱ2n0xBӷߎvR<-E* 3BvG $6IWiRŌ7ǽ[Y4/ը)OAk$ȏ߷ cxsdt(0Dp/}(|&Y)k[\S"7`@ p1`6o G vڣKMlc J)W4WV-/9vH|!].\Ynë^]8./;ٱ}f8 UeZS;l\ iRCh_ mqd_8InSCY9j{qUʷjz4j–҃34F>'ʅJl`u'oe-VfRuH;7L|P{64G`𡬋l'ܳ٤d7\  {x>h/C D yb-QK9[{Fp1},;8Ge1kH1.8tK>: e~Wzww w=pP_zD/|",-jCe.lN*(Lk; SqWAl`3#[+ŵLA"+7=IHИ2yWY)frMӡq32:_^O *2!u&ٸHnG!λWI K܈qe7:֫)Z~wQo6楑m˜,sQp]S ە^4yX ڝ\zf9Ac48SaEڇ2ɴgȴO$AJ^6E7Jm+O^K*4%v971 fSe349+\Bv%#L'D+"oFFY}[ -6ݨ3,PU(* 88&p2@]9^.7+K}b8sbp S; ", UqVC 6Pv EJVH)FrYV5`h v}kOY0RF7T;FϵU?W%f2'<*s{43M.i tj>W@j뽌- :-+'y}Æغ6`[_p͛ҟT ߬^t{g^~[?ӭm$''I|hi:3TGlf}A~ulS=UjG*gJ$}IWx{Ұn 43a4%H\H鈣ߥm =>AQV|3gKp#luj{qȷ^aKe$]w3$8H9œő+x aSBk*"ོjJH[S6rcB͛kjd:bI 2b/6 "`9qBR>ཀ.=L5mV 2 z9rQiQ\/z@&i cMϊq^6"~j0}1gpV~CpR+VI+<Zn5. xu2Px31Ki;/Fn2b rMy;C0֛6|̕PÏlK̷YA]1t0guUԐm<2wӍsy>, m2ǴVuK8&'=X%a NC}қ7?GPHgAKpX9c5gemʺFBx~:JFM*FHuhaY78ZQ+ofq,P8&(􊯑꿊E7˶ |^M$ .TfyʅK֝l J:ls”1.`{z_R\Aqw 6o$T`p.--za`u:|Epkn3m?Eg>\iϬ-pŠ.lcyi]91Q8\PQ kcJ,& Q:22\_2iI͡'=,uVt<3l u=Bw\n7g"$瑑i6 (%WwL ͘ BR)OiF!{8EZF|M/B|S1V2 h^ Bx-X,5$5SSM?сRgבivݔpo7FH@8`F?68h`& n$ p#T fĊnr*}đjƧ0_SGkǴQ0]{hÆRPJ1jԢB=YP\<<$ sF/nޛKx&':s][6?MpيKmqẃyo\$Tv~thƅ0 a%UiӢ 1bP}4#.a)bѧ%qf\|ȇr< ks/i}V$f6+YX}Hs] V@ޅh;!78B馲+T8?7 cfR: ea-(&rU'l9ePw&Uv XM{c . >g _ ;9J=hAk̲zI{,_fO5`}d=<ɶMW#)|H{@n:r@u?@#==mk myi8;d,¯ м7nvԸѷ4_@s¯kyf3jL&'+oFm&uND@u@kG]tv& @k V5~y0u8&ߊ%[nԹ6Pv Jh+\+Ut#St^d+l9߯ pnY{:z%7ʵS r0iVX.khOVg1I7Sb7qcfܯ^qұ$#CGݧ齺l-Oz2L |}!~$ xFn&#bq6Eܿ Pm3B|93{9A`J Z AZ6;Ua` qJP>Xݘ03Uԧb.G&P%jN k5 xiChj1}T/MTn4BZ}qB03xsi rei'1|n%vTEߟXGgJwYYgz8Z]' \TL+&e1奋j-Ӕ*J%vFP77G`\N@;0FВ~!GLCaw:Λ;P'G$ i b[[)mYmv^id}c%_}A>ew7kco%O>3Z:s&.}' *=\2$x`b0՘w :ntMsJjq>ЯC95&ś=d8"s# R!3 x+\E.ϐ4Yh uj:+3M] 3ڕnϽ; #*&jüx:\;\GxcA>]  X3`8{}(Ռ^ㅐy?#mDTXتkxȬBdB8'V~>.իGTMxL)u,s.t&2$!U wֿ'֌MRx숼YQl ߳aSzD*}]QC#vD}R |kD5)i!ԟqޗhwxc؛^rի>,kR al ~ĥ 3Z˅`?lv/`]0H_, 9rT#r0ZBByl@w dz*uXZ-pP4ҁk@`Ef=ml4nܯ\[t[NX6Iumm|z훩nH~: %Û9_wуVv3%=rz>_,cYjܳι)[f$rLNa X.XO%j;Z[bRd &[kDq *WvĄ |SpP˸? W/cL&`;V|8w0Wi: s~o%N:J mĂϙ~m+Vf]@=Wk7TPCx?i)a̾+dP||œgf &|SsL87GTި`o."@HO\kMAc= (b +3=?zr@uD?ж)Y(t 3yTϬDfCW4!g#,ki[Qvioevʔ ڪO4X 5)05tV"3W=t*h)RZVfѣ?vNSPrWEPE3#WzEK䗕F\vwg\=5L]y$/(CA-_1@)&&& k4g\Ф Sh9Qf0_Wd̋ט 'iϞf$w_ik#JTPo8gĞgnBE_T[3c8O 18쐾YVH89Gzk9;#`ϩ0XxlRX]!h6˒GƱ=W(fEWIH[ lx'I @ㆥٱF@bQ!U i5biۑI]EwA ,~rO= r2 5Ȫ*޹Ny^;MY & q=qTS7ķ C<n ;}wp#DSx5]enżͦ<\5fn>J)W!5b9:RJ+J'ɪ-v,rr &8†}Y\ڼaO#5>͋1*p[<г u2Na8*5Sd9=^+ %RwKħq:JoLk",闉nl϶cG;>m_C˜ث.]VGkI瓅K`-8W.~E`)jVެ+ZL؉3s͒re7BRJ.G#2DMcC ġ_̻/`Q*{lPh0|[鎶I`BӤS# -Mxjv5RSs[)#$A)6E侃xh̴kE P.*#Q:Wv  Ĕ\%1.of ,mڍ;"tKqXuVGnve0{Y,dj/ ᩴoiyTH;ǾdJDU\[y "U,: C\N\~jv= P:Z?[=YӞrXWPC{ 3KWn߀U]P\`Daִǭ £&͖ci*ȒB묵 SQ6:ةKBrWퟻɝUȞtLG⧠Өӄ'"ؓݞU$kndlF ]*\{ j(jGDXg9e}$1l.Mu`ܸ}@6FPz$1vPT^Ikip $*\Do.#H<Fv .% "Twijdo^}gFs檮^pdHQ Cb& )-9~gb"VlvxK`J[4r`mFUo{a;ʯޜx!-i._ }}< n;oL|82׃zy/}d6dA;s de.5++5jMe$2 CP%s8ϽARQuxC9$^4fMKVE=`Fx- qU?o!"Ջx9į=c΍:>EGeV0U:Ug}ڌ 93P@'+HS){A@Au)~Ä<В?%k̗1 l!2/dP[2a{>aϔ[cu|#n;ICsR AdkC[g%Bo|lm|BL՞]B w1pG+ c4O+09>Nc W]kt;05vEҐoY^бڵW(m|"%%oƿKmSfOzPޤ zP8[hd!WHG5zbDqLӳc!˯շűԄgX])L)]3Zm0p\LT42_3 %qE]0'>ՙ:^Ti,)EFp%LQf&@~1#c;u{kZe;=-1>M+Sqh,?$ Qjӵ 1&2\'2tQ.*_`V JD`OUo^%E %|~$fԄl-4s4Ԃ(KFkQb ?.)rg/`'ror'9CP%;1~:FP -/;UhPϱvlOj\Pt4t 5Z2q"@WVtC(>psWK35-. ݀bsEodэan9"y_cÇ&@U V^6&dt3[[Y?qQ)N<~l/Y.S%x7oz1M$ zd1nQEJaqa"[r'50-ʅSf-*P)>W@>uߎXmM5 z4*J7!@]Up[$5#=KJr7 R @G4S:~ZgZԣWt9t V `BE̍bDBJkl){^H i'Q^4%ak4A8izaߺq?7ZorsD'p^ ·,`+0ƻiIfx$u%* heds U:Y>kU[yQc{=#&6Df10~ygଵb/¯p|NO:g=5CI.Xt[71s=b m7oWr46{CM=Nx 19ASs.:C% 6ՙBi6^Pq iu"?t7&gz"%ogN6h>uҨUVs(eRID`&.O=05拍gT?'AMָi#d`fW+dEɡ~S3vŚ9ƈMs5J;Aert T4.؉'klԌ;dm7y607U-=OvJmq&m/ = -@ &K*pb$.gF[$톑 +W6G$K`KbF.y3YrIf"NsKAl<ԿJ"Lŗ23ld#&ah *}MT3lk5':mv1cl]5|=ȁGۄTݝ bra:(n(&;O9ϸǂ2N(3RPv+GB0|ۑm0v0v;JuSE$f /-ra@N1>,z͍P`^f(\LחMf kXο@$ Sy]}nײ>7aW#>Ǒ Di_jY@pK*e r/cܭ6 4h3nw ПX{_XvrbP xت!$da ,{֡> wAX~f|*و ]?γJ*.6TbMIR7)C1_ 8:OV@م(F{S "nBz8"PU0gwLn%v8խjGWH^y։<U^r]bY :tmr݃÷Bl޻gŌ;8²xSltNND5T1niϨTly/g/ɨpl pe\vыeuuzpi1\~mp5r)s+ U GaGs^ lZQӣ8CEu9v.ozM`/lm vÌ`=${2-6znfK<*C^g5?f\f}yE݅`~' Sx̬v Rj#/l9!b9  tgfSGӅ Vz;n G}&Lf5KkC[JyA^ot׹y <ߤκͅ*Ff*Lfoρ4$kU[{ aES‰<0]@͙8qdd RT [Aq ֔(`AZɛ8; b .;?T3.֮U^XC-iQ'p7 ^]3[wJ1UFGjwU'.ioiZDSN /|(~[??kB8b٘J|RfMy>wc@{` qNO/u{C77.T dk~~K+.7 &~v Qu'ǵmāzM 1}s+Ϡ%Мl>S*# 25xQ%) OFFag^ cH}m m&KS Gtn[J؏c4 Id$&tܿeRO~qaC%P1ɮyT_@\_ͱ_W:GU7T`V p i|`Ԭܝ sΈfbo[C:^QcSƉ=cwaV)ybXtr/\2m_. q?еƚË "悑H#Tmŏ8FWiN-*ݮfj誃5MQT Iv~(%v80TeѨyc_IA/2# pc`\e t]tJHGped(&;}+໏tܓ%,4g/o%lζt[{]Vr!:دM,]babv.#L`gsOvL% =;#pZT*/G w-_S^[muKVBPisм0l4%r2Ug`& :9rEx-BY#*  M+H"wDܣ,\h^9&2ͼڍ-jG3PnI|v3&筅tA3^0W)S]wJ??JŚ^h]!GPe7Ikf@De(%DHpsK F#Pҟ*ZAJ};:rsV8[{n"i D^ll|c*NΗ0q2 Iy:QfcR!JKY3hb: /T!qd{ Ҙ\d 8r@ ^ yZH33ESQe;A0fp kp2DN~JSN%΃OAF*f;‚YR7^>87Z<)*5 %zjL-dD~I xa>{|2u՜JĢ2 EՓ4 "7ٔ)$0x^^^*k(R:]tR b4v3"$s߲ߐ2Ϯ,#dnLk< Īm$PJ'hB?$rh7 ( wP;׮cLIȏl/ 09F,ԯF!Zitx*As}Xc**5&|5T^g iW6ţiSc:=2Y;Y1,!c&jt_Y6rA8MX}N%Z8*T!zQVF# F6@?!nTq}LUJ=l"aO41.O!.U4Dx+hit6-{\rn7;QѨb\ ukȼ* l"%Ru=E5A`զ 2Cq`0QQ*>+*74I+<ӲM⢁#D3y?[eB5X4ȣ}^O3jῺmA\=|=65zb a3 x9"/-_ \څY$\<+5F"&uXe}.ā`dr!MQlE!PUli?a;Via{l?A ͑4ۦD5=Tz|NE-i|{4Y{)Rzqvq%G~p ٪CnOH,B%/F v4 V.˃D"UPkB^ Vg ZP}AO@^kVR1w%lܤ?`-: :M!|[{V4S2c_mG^3WC{2@hɁ.F.!Bv\*. 4Ե(lʏY=` PѐZMο Bz?%t>ϓi'׭Tl~E<*F}\GwYc.9>L`!(akz:_,v3Jذު4 nvNNW* Ò{\L Vg^;cY] o9IS͈t ((Qw\`\ele$P< ns}|} h\[EyD^!XDqELLY t/SD> ?(Y;'9%4 (CNW@#ޜyaYbqf[xQG>Kv9y٤ ;V9w멸;{a狝pj%.(qwQ$'xF$gC4R=A%(J#H+NAH#cߞo%+Y,TIg;Dra8 ߕ,R"fG{[pQt4O3/)!r`%qfɡm:8**ImEy'3-!ש4~>[KOsx1̹`Urp6p< ",8ZH(MB' 8`:%-G<.6ϰa(L?Kg`#1]<J9nx0L,N?ɋZJtOqzP5t-g:㧯økT#rBR.v@#!'7: ~djAA/Hxi6隺TB?V -'+\m$12 8UE],^>+/ }k$*⣹ s7?R7rX-OgS 1™:TwgJI#dg? Ӓ+ͧiOKah4ғQbEfP()d{Rt5(lz+*S^/-@ (un$8m.AނQMڔN%Z2B1U L܄k(dM۫2;H1K{'WJ^/- ,es<=S ]]1.xnW42s `o]oQ*.-O R7EUʴ &\r#{"5)6ڏ"gTF#0nWƔr8K1 >VSIU|f/{Ս>bh!cVjK]tQfpR#YO;\fee2`veqQ=P&1\0,8Z a>Hylʓ?'ZH< 'x-\f'Y %FʹuL4ǸZ) pv\>NbhyDyЖW{/m]9@E7 0?p16agﭣV#2~᳞EiR1#9! R6ғ U7-( Qd N+٫o-#=mP(!~k8UXT 0y#UיIO8ɩN+qjMHL'0 +^Rr,*oյ11Eµ䮬J 'm4]`,idDq!eI#4 #"} ʕ\L6*N=ݲTͮx(zd"zz>^94Mx@Skˆ=Dʤ=DӳCw,rk iPrwf=܇<ڊ|kkw$cz a&aF!J$y'#|C5l?nxތZ9۝iV25׬hUa89}1!M۩(PM\'5.mj1Zl|q'0~l.aΝ?7E 7 \^6I4Ti}~'EG&J{w5IR} l"z;RrG貱p`E ĕa `[?+= $*ؓX# T#*OScApDbtx_\n:zc>%^94@ϯmb&#'C*BJ6%Ya=}UR4ÄH8&e cLjd_`T2mu9 9k}1o:vFhW]o5 |7tܸބ)=zU#OE^9CcaucƟ2yӃ#q>k#jIВPZQ>ʺ1 Q<1Egc$<@: 9m}t G Iܢ'܊kԒͫ0ƚTU< iO:hD8Սveg`Ѐ<9/_ lL:,>7-ܴ"(=%&Vڄ`0G|24&(E mweyTO3j6608%vp&Z7z"ЗD'A3y`d4MW-MgO+Df2̴ĥ+%v~q ۭ\21[nrIkZث=>m,3eZ]c0.2pޯ2(^2-`#47ѧk^xẩ ‘#Z+r n^I.]PbW\W k BHUD[.H ~T*@L=$Xm2@`XovҪH;!NJ#+F66mySR pZF^-޻CŤq9SnLmP]:V/po@AtEܫ,eC~Yx4 \ 9i ZvRv ޠ?WAPww]d>1$+ivNPu*lz ^*UVad__wM-6B!8=%Pђo( pq{ C_̄Lt p?FtU7\,,˰ tzg|uh+t` XX!}[_ea8);Ac! lފ1+0oE0r.޴jɖ^)̮[ 5` ?ukТep0%aMpͰRdl\}Մ $n1)~Kn/W6@UgX1;gIzı=׃mZx*{u$sth̵-Z™m&> &Q-bt&y(*V)'E5鄾g)YIkqKr_0i< yAB퀏vV2W<6T V5tD) D`BnP6It Ԍg5 m$jؓQ0cO!s wȽ,H=C͒4Qمv+BLYTrNO0gLڧ/"FJT$<(bCTi=(}WA|lVB٥ tb{=aܟIS~yjhM!y"/3%ᵻt$^;kB}Z@!}׷=^BHqU]*٠*Y[߅-R} f#a|^aYz ]LSwqf]{v$ b GɌ0>89ۄ48EzS4L Qˇ{5z? Rt"8uJrĜ\5+:p$8ӓ0w,`2>7OYxiJJm8iv>H2Oi{43Kje*-L( q%m["R_U֩&96X\ g% 0!5zcQJGXu'LqpCĩCT<ϸ_>%/71ntMl]yGFd#(x'f(/?a~Qol8N^Di~qT +j~P'-4 rHTYDאָ5:{04#4"HDxmD*7B4Pִ۫t'>B<-eek5âPZJ\8 h JdMQ|夬B])zv{KV;5޾7yX:Gk5R<|b$&Z4 `85N~ ]Ȝ[ƸnQç?PTJ9ٕN*r)~tJTrs&PLb求?WVQp-k +x%Z[!#k@'dT%nY`8 ~%ڡ T Lfgn%IH9P@P;]s"cAėD߈@6!G^Nns%$lXoF!yGlF ;}WLV ֢hyR4$ WvxXbhnp t?kL_ c2.([ K7@Wr96TA~ckW!]{ 5Nz<-9n+in0ЄK< w'qܐKUO(%\L4xR/km5&0xA12h@ T{!o9"NA[.[J-CSI˓ J Y@Z!l8.k0zh{SGSEpW%g/i&Ӗ2NY> I^)[{FH;TGy~/PXл&^gzL;z~DNc rfv4g1!qtxO;H6F7;4u-^V1K mQ50|CUoo|ޱS[V\Sƃ_ v>*T&Rf8i4 ˹= = >+/,Xӹ9`#Ȧ4n֠W7sgȑS [UZ,\%wVB*;(2I"FK3ֆg@1crI{Cu#z)R,Xx0ڑw z7A_xa~wFNy ߝCtR܉M<ԃfŔW=*hB,#{Vo=/*!? PIx'Vƙ=џoD@6NwFC~kgQujES}qd% t!g}d7#!bi(Qb X7H-zW Npoù)v\~I kSgfY<&rPQznm4ĭ~rza zQeT%L ֵ- HA0l `xipẮҘU}ԢhwvFr;}|䪙%:nMWe@u֌yϷ+@oɃ 򢦚.gj ś ے&QRWo!$t9<5&BvgH@;^R[Ҭ?^}$E cYTtG$'h%K 4Y7*- x'eӓj=BSٚ]<<ç]wR֍o JF=/TNőͷuńI 9Ңn$Ґ},2&ͬߦXMnf=`B4*[i˴&E(SϻF&^t sz?"OtٷʕI޼b5p׷LyXazŵ ZRE2< h?zs*ԕBgy2 ,GlUW-FdV^d(6CD8wyDٶF\,^Ted[t 5I>nj%PI\kVD2+( ea ~ ;NFTa"U`,^8#9xC ,6HwEςE%$%&KV8׃bFVҽ%ńF g7PLkWMͮBF2󂐖8h1pGufLhQ₠}BDKH[\< FpC.$0^lkm 5]QmZ0i#L:Ǵ_ $t'^'t?w7nm06J!=!~'1M`I2 KX%RU\OiK ތ,5x}kہkRnԥ"N~"O8pT#d:ٙK|[1;H„" 타AYQ"٣*l+B⤙F(OܡVa 40Čh^wG "s^e}hcXO%Ȟ\*.jmH"4yM+M1]R W&.>j#$485uo#ؠ*Nh8L ױzNKo~XdPbN r.foY&*;ump{fʏIagΞ\a0ߩvY~^ĨΫs ΄/H|eP1m,ΙR׼rmFX̲^ \Z:e 6[=A؁?ۛ3'Q!W%Jl?+qϻs7q yOF? xa;&uO1x74Gõ]װ< > Jc@01EztԠC7%{l#,WsӳCݝW1`ㅇ306`7ae[˶}}Dz)ZÿM^L0W[7m3{05-_ ٭+,fNT4eŮ/ }ǙkNӟ :?tOl]~!BEmT[7^bFugvI7xt[#3{ptZl D?nuy/vtxCio ncXٜ DbǛfL[КPEs_VCwi%s!>"E3#,WPn}KIp]GFv:YgA\"ڲ5H3~MO\zf뇣QP zFmAoe>Q1l+~XHosG{#Z%V3|#L|Dubwpe7pEj@z#5!sNK2p|vzNVG&-ߴU=԰c򳾭O~Z)LZJ@ba87 o&§R't24rPi%oG~B 2#3HdBSf%V+fIRAGi;AVh|"H&l%?*c@+~ dڧbTx^ - uh7"_3Ea zx|g_ts[KJ ~$A;9x*&d *,8Up߱WݣryPъڥRM<4̵P VNyОEDVӠp?n=%2x6Z1F֑WKc:( >ivT'Y;΢&0IH9G ۿj.i1j[E f`M"<$;WBN:]U4B/8 eTՠZZ"a̐.Nܔ2œItrr8D6>#&i5~>)kQR b6TGΞ 'vI]E;Q`=.l-mp^D*ۯ mJA?3!mW~z/E3vH. im;hfIYh${խn7d"tyX\XGIKʤ{1=_jDF]q9g |VϪBުx x=+ֻONs%r7+yYeUy}}"DQRkE'RHd!ho"Ҏ \{FM/- gXӀ +7rp/8 Pۡe`NM `υK"ZE nɌXRosXD"?`*ۑS)*Ֆh.p0_ľ:Z[,B+&[,3MVlBO8(.FQr^Bt W5--A\VI &휻HYSeH~iAF ߣy.59_+. c2O2lOhD!ܴ<p"Mʿn': Nsa XdG0 lʻ_ p{ ϔUƜ EF;RpʼnbX]Gblѿ!IcYp? @fR{U%CV@C3sts bҚ^sWz<w;l1z&!8Erm3lC(A'Nt8i.5楃n4^m-&Nq*J@$ïb9Lƙr(9r hl(1 NGu+aph|s9L(͹zG&yrO>$ס) (`oa1˧Ěwjc<=I Y.mNxq<@ͥ;8y5i]-kؓ{viVb]}dkZ}s^M&6{6ҭB3,>t3]҃IJ:fvz{\26|НߔNOMO4D9eTO$-#(;#;) A+o e՗B`n[V@$W D5"z'Lځ%07enmX۱Q&u7 ypo+U|:I: +>| qb$f@H zs3Jw]-̄CFk-#VXLT4f78NWָ{Փhk dS!'iǸMP Lgcr娦ÅOSRZZaa=Ld!/賻 l`֩%xp[63P}e5Z`jdq{jf*ұw_[O;Xs" jè4@nL$%^/KT=mu YB7ǝt'& A bƒ񽧞>>h݊} ?tiIhzѽ~¹!2+o9rqJE' G8W KmY_>1q)6|mD N#xkMhMUvK( ߙ}v$J̻Oνvt7EzK0ieGvȌe> t5vwcWB-JJvU^vj{zӬ|$`{?~ʾFɄr+O+|G&^%hZc*J-\-2=JJF`6e[ Jp|ZXgMR'yZ[zteVЯ|ئ U2Ǩ̻_h";>JaMGbZ mH_2x+~>ЇiU,<>M_\!2lmZZYf = @nh3.wNx8ebI[?'UlHi(tRJð)]GP ??J%d ۙ6 DǨ3[WbUs5>$oٙ͠EʔRˆޟn_װ鏖3X gm֭{a0,SѠe\k0ywAyBSnVASy,/6H&9%>hSn2ԆYE>rَRmx1:ѵh?@22Y~=)nmJbZ |@'y - $Um.z s@|gh=b{Eڔ@'$2,ܮ)SpPQH4W$Rjjue=uPX* T-ϤhZWU:..@E`dVzw-~BaWC8ٯ6z: HR+W[͖ ӧ^gxDh=ڤm5 3p(mSTZS3HQ F \Et Zc@]]W:wp!ˆjn Iw_FY:#Ѝ'Ͳ٫.͓lb9ʨ2CxIb-B%k'ifeϨ)i=H#By0}`d(cZWhĉ<9!=i>8 NV1ٴDqIhz$c "w2ԴL#UJ@v/:Kl]Wm.q6pR:+bLVaȕ /I2U] U9?A`+@س8!جd}∔ey$N סC9*P2;!Y5-oq@P^ *: l\S'{*~{`}2ؕuKz(q>+8!VTpFV سgfC0yMW`ijrt1𪡇}jF)BvRePPRp0ܡRE #7*-1Lޏ> ?O#-Cg; Fx;=C-?%7H'/?zJ^]43ޮ/FftﲣKIB'1w`4%V^}Rt҄Bd__)o~PjB\,EwLɑ,XCBvX?E`@!#KԘO3a 4˸["Xrt5|> *d7J -@5 OP4S夔Q?v'fQKϬهWS S1Oh|@msI=ܩ |VȽ%`%)3k\Y(61Lfm/0JQma3_Q/A3|ׅ]Ђn,<܃sl ezqnFɗĐSt e Jr,"8_g`۔1|ݵuw&x&-iVZMGe-?OL]I]݈IOH٧Bj2SQW.ϋx% cr@T'WFLvv=nOt?lERpޘpG5Mإ8~dJ<9X5djP5w凯:==!#c|qZ(YTy ZZHl7xSYj* Pb<3N =-/hّko }X:F; OwPd%Ý(Q̞iO;]16D}ƙ0Q#s:KJqAJQQ6٫9 $ˇ纄;Lt4U_7 paڌJ:i "(]esAl+Gex{&#f8I}Q>+EG@BbD92Z#|lzcA% i#1@*#IYm#Z'Q#ΨsysHᏃP6a~GeQց3 B+c;xk4&ǭ=5E؊ٵR%vV}t[˄i/5c\YԖPpsH0 +zmRʲʳ0$mm&/i~*eP7v9~"H~Y*5&y wfQ ]TkAwA$KYb ՅPQ 8uЭzu! ]k^AR,@߼QNpqEVg\*ڨawdJ[Eh$EXڙh95wAHkYCp)_i )VOT:Gr""_ZAsDUw_>ǂ 9!hܕE֏ێ}HEO7,s bAR~Ћ3;+zf} 孕)>ycFǃ,oޞ l)4>$NPAQ͍d\ _t6H/Y{؍N"Pw N}E&uu(`_0.Udk|W @}EL#H٪ %‘!lv[bS3]b7݇ ZmMb;a6 Q<&EJp94ӹ-9h$xp IeHX ¼Y-`cQt3!qcH:}µvpF#uFƈ K8 6n nvm`@$.a>bY8W 1r$Nuף;iٹqMctaB0` &!JSb2fC-Z yd5KD!囓O~ cL叉#UB{oٜ v7oK4- q(g"?}}ַbSͳK'.^$Q?w]0Fm#rNy̪&R_<K ~yb-@уNQ-q&/DߗK]Ykd9Q*Iu`vXg.ɅJ7dCx˜$5:88F ,C1G@pxH |0$r-_Eɍ+hN@c11k°B)viA*D)w5Ck~N Ld PVAr_5q0^D7pxͨ@ա\Πl&]mHIk (m޺a~E96gf$ 1m ~5%-d\!&1EEkb_ 7CPTun%^((Oj&46"za ~ITO1P^䮅'W,K +"28+2>k5pcy~ YN{1eLG,9`B )1ZX2$TGJ#xyrˏw5=!V#^*@vy33[R=Yn1*w߾ݯ1;>;*5sք@yk]B,ad\FDmhB͚%uU'M?Lzx0#i8OqߗYE*&Qԯ˕}v-m2XȪgό߬[(jQVa"~ yv?6'ε vTa_8b<7ձ ]IF6do~$^}Ϸ{P,O!0 J٪O d࣎zU2!q; {dj |p0ÎUrqсCͰsę.抌$"nbc\rSJSS:КMݦ P>BHqMCqy8zߨ _ 0cI>-a sخVqoqofVnѤ?^Hda甫%5pIc@pL3K5h3E_|͆3&VԤ_*]K|Iv[)A+*6(RE<ꖏ/ND?+lb0ZAVE7uRj %"cqv{$z֋,&~oC$omDL`Oz}d' v/!3=Z<`ѵa&tR_"@W&Ǖt\X_f~I^% .)l^7X|8T`Q>ZϦ9.ӓgBJو뼩C;ޙ7[RHES2dyn($N8:L9ɩ7Zd4ƙ(XZS|$-4 6`*iqQr+m'V */Bҋ2=%5,hYɒ޽H4&TM DhOAn,DFڻOm4Uilz|V*f5BFnVYۖE)c% ugƅZ@T ZhsE> Jfi{f`X<7E*vՙч^Z-|Xʢ~K23*&1S:ahr|9~m4rUK"3(VTVጔtX;xIwO](x= ǖ~%d,EvU 9ʟKSG3#S\pOЃ43NzfJz4"&|L~XyQ1UķRމcdɿZA8+5g!5np_L[NĻSxY*k ]ҝVtэY{8&0BۛhΎMR3 ׳qZ|Uv}? sV0enbł8gĤ0]7dc_̀#&5QjL(x]4ym@906}XBVa75s4&3,]4L(PJj>ANt}b3hk+|b[nt U;/.;Ωt:x@UW, T۩®h5HuٌX):ޅ 1D`;cr볅ᷡ퉉*lɗT?M k%pƊUG?z*-`XNHz/6e+Jl uǧ֤ev>\cRQn~m3T]ehW. v7τ4z9gWQl[B{5& hېgJZ@wD4 uJ!U ml]A2b1{G.;:x) (|f !!%w]FLvv@BzU㴪}10p?NV9!#/n]&aA#dlKx$ .$:HGXEeΈ`ט= /a)^n+Z\]ЗYN];Ihɬ TZWLGIQ87ƴd1 7r2`މ4Nj*s39ZEx-ܬٻQ1#PDVN 3(]av V}I]\ O<'g>:2* xX`6˸O֭zXᾍ <$okTJ.ztBr҆ZnM݆P4ݪ.y~=(-تnLod`9&lgrH=LjZ(PA;ˮ5ye 9z3s:nH(* {|z;;F#<QlP+9%Q|Mj fF"S>k9\ؖVG3MXQ獯w *v7j'O[/> SٍD$[|")cx3ݪInT̾~u Psy1P`Dx *hnJmYMn>5:uȂusx4,vT^4W,'32er/VwWkrń=&5w.?" <սN`Y'/$gf? oxdms %k28lStpd1^ݐ\N㛕2,:eJ+Y;!E0c+mo=tQ#6 ?&lTXS =nh:&Tl\ͥ#h4hډCH 8Cf86TEgB +7Íu2\BD /l=a-F_]!tlӭGE섵4NeS;…Jj))8yЎB!b;XCҒǒgf"9[V4%P*zIV#4SkӡyvUAmɺcB,3 TMqsTF?"mxJѶ;pwrƱaӟ˫P)ԭpaE> ++BĊ1}x,WL;\5UV!]DRb(r} )@[)){`3`zŇ9su2務"B-(2t S':7иS'd==VTQ 咰 $-b7MLw@K*)7ǧ[RL`WX' e$- EJ3rkoG~m}nR$\j%^Yo msPi'GfU|.Ռh EԆr`$o}?dij9,Eܣdِa7~uQG^A;m y}?C&H̨ v4\C (Q  `ֳgm;VиoFUQTw9-x?֠A|@H7-DDe>N&RSWj_~K\Ϫk%QT9˅,pXANؘ{,Ȅ\?]ODpmp iZ=ٻ@)vcg(x}Z:pfIDRI|Xx0ඣ8hc)nk|xqHv"õ(~}|<$IE3Ӎ9ecwVTsh޴svde 5wל`xCY:ﱷ %~[SAf'I͟LiDKl%<$ym;%O4_I-KԶvedI)oN㣖NvY:R~#\[5n;aٻ9R\HU{oȊ 匀 !(NؾQL41ۚrgAk%$*3/V~w C,#eH/$TE2u& 0t@+XЧ<"5xB-r7qmP{n c~L9HjSB-Ouϑ`%) C))2Jg133HhnL fg~ApODc,Sn d!c~O)ɺ2to;xh< RV#z>@E*/3-y@h8T{4koj&Ѫ}pՌ;!g\dTND#;=ZMurє2B럷p]<ݞ:AJzX'N{i/˳'F6J@lnMݔwmYAIU:UBVvD%毓C䝥dsw/ZeSk"kD8okX 6& xMvx.?E&0G =\WМKyLgL*~!%YWSx   cVذ'Aΰ0zcj[fiXb8)'"p` (+99|![b3䴟k?Kop<z]|^:[ ؔg94֭$;OEPVuBU@l&H<`-&3P~/*=ǓI5BNZawp3(qb)2/3#l7\ D ϑvPВt@ 2gF-onUD_8fz2> (:B7mt|߅ Q+T/zE'x1|_'<_ÉF` lFsN7*?-zf3kw3uYe,Ra*:_K{,Xg>C#v)Dz:xDvzK-`;|ylr zVĊbRDϡÁw˽j}LSco r(@߭E ČtFzlPȉAW$0k4{Tt{~:Ђѭ(7)O%y0uxL"zpp,;BeS܄5ёW%3DpZ!Kr8;(NGp6͠EW8!;м oJ4ka. jNRנBN[dQxiy섅ZH:v)h1wg_EO( {KXݕFD<0МpT7[_ks,/ĎrNN=.^̲[xSip OI~m٫ؿ2%?Au)=͝ {jTkהDg(X-XE4k,%1nN6i3ӧR%jE9sA*EvC-K91F~%U#\ 5bElҥ2|. x PHKQS2aNr(ݵ{&"8f'cCPGZsS͸_@@3F-;7\y5Ue[R]1.d Ͻu0 ƣ)k{(Ȭ}Ͳ;')Gr@b&<(q腈eUC]B?X~hJ@(Mx(77\0g$xc%/3Aa&x!tX͗aO,TeqّpqG{$Y1w &ygܽXrX8=N7u+ 3`^Ž- 'jިJz\tp9w}#!0\u~ WsuC?ސ9UYf!sS.Spȇg_MpoX}tٜ~B+jfǵpq:Mb#!I<vecK܊@jlՈ*JX!gk j3!$xE" j]5SFFb<)w'QiXxcEC:]e9G `#a 0!\Se{.Ȅ8UqRj_ `:&rQY?bj1jak-{Q,L;G#`12ZD$O&e*"P7>@`aXtU,eZg>x&5;҇b isٳCÔC*= ψ OAyb!s'Oq~L3| ј"/? ^i0 1˘yĎcNm$%~*zl~HDҒv]HOn4]!k9wRJE ASOz߼B%L]U!'%1F`>u4VWپnӕcc6Ki `z%RT *^t[ΖH!mNw? JZV= k`!!.1 <6CYАy⺷`0=-N7AbYr M*䋜Tfs3 ߐgC )(׃EyTg$! ygJLMn&z+è~!D.@3/0؉,TR7XR`$jk#`]d,-'8Uyk8|;5V)o4ӲpgZ L%=VBC!M~!W[ЪW1C9t"VEN . ssH;r3gBXa^?T|o ^Z'tg3H?ÃOeI qBS-5!KlsShh~'~EKEE%=ɖթ?L?ErqC\|UB|Q0`% : ޯyN k5c;"L).]v"-ɞH@sj?ʬ( ܂o\_7;7$?+v_!Mb 5Tsܛ<9+&{T@\#㋕(^JY+xX`_JŨ8yv5PQnhUШ&l32SX><놡n3˵Rs^[E8 )T@7Ǝ [F yj~286gIbkR (u.)/&@Y dFNՓe6œPN 'oΐ&P@Á`Fϩ"*֋|B|g7襋!FdQ;Z}| /C9KvE`["{yJPP5zfeNPo 7M~SqSf%d{swB-Tt{gw횴̐L'ݵ+k! A +.yQȟ>$:j0Y6{~Ah53oW7T Wը}ƋN已d~֤]G5԰›oOݍ?/eSC`X~mEbbХ H&Ly ޱwi| z O @qw42VL!Mw<{>&G^$'~-% }M#f0}RSWO0utcX&f . :"Sxg$pi'P[ҀȽM~ruI$SY_ξ+g XSYNsRbm[-ת78L@@mUJG R8uh$4bq2'Rtbv}pU6JGRI!=pcIfߚ~HKACwPP%JZQE>SLD]+{ j]j_'3i0o!%]oj9NgTx|TEz'Q8T.ێ*Ty+XfY(j"k|!pJ:kdD W+\Uw譫@J,}"$OĘ6t 0VUlT]'S(p, \ۙ{r3}\#aCr-6G,rGmT_]=C?5]c pm!rAVҁ2pϾ!' "+_NǏp܁b$Hcv]8z5jA{~]ՐJfuO@\a)%#]"da_,:V'W)D#'@Яwtμ"SPc&(1ndI1WEhA~ cs[3\rsRno "Ծ9[6yiQ@Zʹ DAI&ukֱgT 52+} n Ըl5Jl5 H +f.Θ3}F"ZB(}Bf| 6. <#H4 HZC}mu=Im^9G0ay8EG 'wg')*_K=^KlX Jm+-6ڏ|Q8RUæEIMǑ{]G:귃 F2{A1FIE"yu}൛-tSq5:VDhR$TiGkÂ:{d5 Q漃9~Lv9y.sk@c9zGޘ@tJ f[,3:XK|{+u53{-m(=^7t X@G/7[c!hK~wpZakE4.4C8']U)륷*`O ~ ׌u-|ukm5~:CܹWɩ#G`qyU7 " &ezE#%Ӵ.CXaD"/tv3\, ;Q_MKC•؁:{]h7 K9vȇ%F2a!BPt7c{ٔ$V6fQM^ JĸZH1>ѣv(aUN]l8 斬qL[V7K__ S` ){f pEJ|rR8qkAus-)ވgLZ* 5 ߯x?hx;+i+lyZb\ l^s[X }yyN-=UI4:Cs1!u-|1$izEFQXuE88q7[kҤ`zMV7:#-k WL7V.Y2d<^hZ޸&fQ9=Lo2I2+?nBQ̠w 0Lp uRό_0U5}=FZkPS HUEr#eMgZPW!gfB g8 QK۔JJH  5_FfDzawQ3JT:\.}2e[BA>ׅS!'Z|w<=ɐ,d(ï@(6/ܣifb / qt |I֊ ܚU6Hus%=2=۞FJ*VsਥpԀ~R<P@dZA6&p |-ؐ]*o*8©\#OQ xc,6)t; I#욣q`eE N#Pza"͗DOw@ڂ &Pb:RRD6CBz-7UGqv4$đYa:NVA)T0cv!'TotKO4vinmthUoi]:\iCGQH0>kJ2^O1J%;Qi hDr@i,2+_RSn yrߖH ?'d;_- &BL!lDCP}wtzec9h*: i[r3OA)6β@j/n?WdInihLEُ h5~9m0n3\&_KFo# dPY5ITmΠѰ̬,Oz-Wy3}l)+qj5l:Ez:dkjErQ5] c ȱ7GWCd\~VntS + R44ٷ[ǫziaD6Ҡk՝%؅ ޢz[Y{rΛ5#xMVNs{ 6f4,=}+Z Ɇܙ(`_[gqRq6Zq`Fv ~0douE/qL~DA Uhw_ӂvza5 DFvȷ>ٕjF7Bac&S<>hiPn^-V^ۀY.: "P&T[hF"Į*:sK\m<@tw}=|{;}: .)_S\ +"̓jD Qy˟ 2%#bXK46QN@ a'MdJYy840t@Udx^2qzq+4ȓrRM"{\n| TΠs/Å%}+1U}G~+ LHH(ǎ26'.&wnM8ǘ~ܧJ 2a+ #D/5I/~acD闡 Zt'm kd@H)w+'Bhl|2 @;#R%W_ 'q-c=LYkFnC)E[]NS r]W"&/߭BAm"e Rgj;39UgBW/{[Ij~oW"鬸DA2z~OǏI"ҬtaL:G4D7;-BP>-\3Wkaqk#36KJ-PIz2,$N'|Z/}.c2ZhR_]Z>$is~\% -}T5 Ч#v{Hb9i\H5޹Lt m m/N W-/_tw6S|v_%O:޺;fbQӱS}M|0 *(g«TiWCS R1 vEr\: o 4uS<+&ǩ3q뉗Ro`7U}xO&/gB]ᖐħ`ӊ25Mp|/Ι PaxrCZLU(~T@@ҳT˔Z3*ժB,QQ %aDʿ(DJ!ʻ*koYB=%ߘB3@"w þӄE #WRxSG 2td?DxٰH`q4>"P˽4LGg,C F .fɃ <Ac;U@0V @d_(I1CrдjV.zG|EіA,Bװ%=h F4 -d%6D3njFecroY'O-)lnU,hBp dD-~*az ۃtf ĕLL'~2!>oQ#_|wR]^.s(/7 qs="7K9?\K"NRɿEҼ b&tE|GךI ħX)ɚ<K΄qk:lE_rS:DypϺA4YuС"COqq% 76)mjNy5E5p#@)=B߽l4Lm1URD,Yd:)Muվsv8r`,rj?\%E;pU$x rϢK!O'G#/[PNt.-o" H6ɷ*U/2|GdceIM_;\~WdJzv7y  @+f .)*>Š )]JeteMKޤFQtPSy̥D]&8LH+jܞn ` "6! E=`nȮoZ)E0*د𝗷)}-uIN9:uPj' V$O)␷maQQYaP +BB5 RZ^"q+4u3P,p%3Bs|}h -uo /M8qk7&6|I'L.Vo#JӦ^MS lBo/> eQ/o.T?;G15?õ 6j׫N?DM[ m4Q^vҶ8a{V -bƄ=0TvQ[gc<?"lUeBG57 Yn炵86Sq$q`Oΐ:X2pxZޏ0p?oQCS7ufhύSYsCϦ qf-hwNK0geLlInI(bd:DW^5:#{.պ|~ h;ېî(o;X޶O / 2dK96 e{`t *#)t>|H\9aphpqk($/8 c x"]hnIba~?k;Kck_#=kcԇ rMD@ X:H +"OD݀q"d]א1KqC9 8wQ0№zHO=ܯ6#z$-rMP(-aYT,|/YP׾K) ?.BmqyyE|["Bԑ03ƄGȃ(CW^@lqul_e_n(kC4խmǓ1ZuRSW/f{x"X]0U4ɞ`1S($[N<,$tGP+IM5$[x15%;߼ﳾ@p~y5X趢H neܿg{gK---}2bӹR5d]C-q]W{ƒ` meJA%~@vﯵ.]U(gt'6(t=p.23ǦzH5x㸒-*qM?iʴ֖% Z@W;ռ,x (c"#zsyG <DfߎC8JF*)7캈)N-T?HԤ9gq!JB Z8:lq_^#:a96it 5+&9Qn\~26SNEL޻b/&(K=%M.ilgek/UJrYt,jcf,PB :f ,m緖(,SjHTX icJBS|q*4̝ 2b͚VO벾fחc|x<5LKD0=|6HCg z>.yAttUu@i|Wf{j{YUj22r-+Pt)oi5nQ3*ET}l,#Y WiyN G1,Vr>)u<+r HM{7j:G t*7j* tx6Օd zdQ##[`]s?;GWV ,^T0Μ+YF ծXkQ(vL b.-򝮐Qxn+4Fu(B|q78;dױʅvfaT4seG4e.E5ѭA_6c|quǎ1"vRA|[]Z`#B䚌CtAII,n yw/ב:ɋ)w}m>aqTz$Tf6+]4gM5QXNYg6 uz&@ PحR/0oo lvr--ٰ .f$ZoLp_P\XM52h Te'ǍtK.tj_Yn¹/g_)N6p"Kp;& Լk TSᆍ(VǞ[4D&NtƴI?Z|IFBJ\k |MiJZI)NtlizegnTX7a"[RkhF IFW@T_T%P0#oM?^hbwK[?oygNՕhPϛ7ꔨW僶zљҴS,m}CZʆnPg]ȹR۳vN 㕠H#!*H%f%Cy߷tCг!Bq:n:0vJԺҚTRI(PQz+Wʱn`1ZM 9 hZ])xd0 e)OiweG|(D2B&zMCSyS[S" y;u@Z"zt}E,8ARGs8ҥ_nKߞ WBnF#l+gVذ"8?";t7eaɅ/ Z5IӔj6j_a m\ `x&%Pb魀.NqRsBn*O1w bOHńN\DfǶ~1EʮG,~ۿz&͌oA *ʥX}Y(D,߮@M"WDKlW-e6_N|D#B&C JaoLfZ+ͥo7fFo uj'$ !s B[/mTQ&XIɓBL2yj._Zaˁ“ϗ0AaKL_7obR'*EӧCRuI>PB y:<$\,ycq7s]>glRa"HsaJ;uC~SeISn?7O$Q]Ř\/d7\fij)jr_Pߵ=5yn^]QiZV/[p{OIsꍤzWׂf No"/iCNHGS-G `8ϝv̾F/q.UKoL8 ( GSh % (wpFKd;~u7o49цfsjbeu,rtUN ۸]@OQ B' >ڴֲL[GګZ\[hCkFJ@O5}koAbt+(&.V93>bKt))C{o  g : }>)o 3tHM!<7)$?45^H1扬3%q"j)h؁{̧y]v s#1خ 䏅A iu+kt|y:M1'_;cIpFghkO$\&M,@=[Z4]Y}Hv}&es[ M i թ|_aO#Y?$`*.}K2P]" г\ DJ-9h$Bya9i?n~UIei0x Y z&@)Vfޗ \J"3dhK>slCSIG}>ΈqXS*; N{kl&Xf'Rk~R CZҗEVs}/,,bޚ)&9`Cv2ä>TǞ!?y2d(Dm\X(:h]G̗.e(=KGP`nd_ؿQN lF5t&S7Sv7sda˭ʇ7 Żԕʪ/,8.cެh K^6,Ab'YsEEn'uvЊPSYzYj]j 14MpIT#9n<ۙ-FFH[bRlE ;7- hv丷kIuם|er|_%'#X']z[;uѐc 4Rz8=!\(v㈛б"#Kk,̺Fb®4z8coO^o.7K}'ρ3,@j^X )4F[|C#ddVWjK Y ( 7p~u*$oÊ85SE2l?$g_ ȓ"\hNz!`?w.`׆*֞kTծ k9Ŕ Qb~.ĒoT]v|C~cusy0@26̒N 3W+qIbjVEWNn$)AQyBv-+t/_'rF&fe5(,Uc?(ÿQP.AAr;IJ}RZmhfi R,CWM=|w$}k_>B?)q:%WzvgL ]W`@-s)y/=0ΧaP)l+ ӿB&8‭GKVD=#BEuvY9l8ݝtCbuďQժk^`H"HlŢk XT5(\%SIÕ#F 7NijSyV9]i4R5{sL` c4GVCtr Iza^1w5l*mWRm3tIZH mYB m DnD@Ӕ1lC\k=⽦T&HmzDgXw]DIf*~$rƀ$Y1}QRBnJ˂6El0*)Ϝxmo&t Y;+*/70I*i}xvuO>K^aL!5DLo*:yHdWMD͹;WkeJa̼3E™B?%.ٕ5^O,Wbb0Zu~?.WŽ<3j^dp^=~kV28<E7ZAU': -蛍 #tY290"ƔDNKoo.ZSLx*lN5YlЈSߥ_YgyUE;A5/.,q97g;*:$$qN؁sGIJW:N!bamzlU>T:͟x5< REt.h4*ohȩc6-KȸIA=<QƉ:ۧ+;YTKT*,p7vEMa b)+[ImI~\gu̅;|75d4*m)P0m?SψH7by{v7F窆YYB3[FK#(8dH{x&(V_nkI|ľG0oqT̜VDfzm-򹈙?EK|x6/CxE.ԗ|љ$2 gFRa=CWX8.,EY̭uEpaAӘ63mߪNOhI#tQ  t ?(v3"[48z_$da-2GD *Aj"rNJR)PF&(O ]Z37/Iq&Rp0^|_g ~j}<lP7(zFKh K: 眷#"TG8{g,Q  kwqQ1AI"[Nч폆 *<_&!N8!LXTh&KF2&Oo&Fntڰ3ի=nw.uyq^/*xɞ{zWQᐻ]¥YcDtBg=[Lc>+B^gfVdÂ"[T״te@8Bi2l #פpݗS!bYvWXr[7\+- u%9,?K*?Qf8L{J6f=+T٬:1+%zAGo47 sTL1s0*PElj1Z\P&;?y̘'*=lHU~[NG:eo S~J=(w7عj&0qr򱄥A23KĎ$teݗT/82HW|dhTa;_C/;廭뷞WY[_#}no6ae5)Tإ: ZSJKHI8d3#MV5G5#nto/Z:(6ܟ9970;$nmGCܖiSuas.J䬊)bw{ixTXӍV5\ [.EataConS+bH@ }j wF-ק[}>.7H6)$LK.%p)ҷ-RRĢQcC|_T#,` )㝹Ҳ.'͹D}HQa8Hݣ7:9pvտWaY(\5Y|x,!&[0RO8YgXf,p%ءL˾jgxb0K ;'侞x/|/0s9K% \00yh8_Th Wr }y7a]D9Oບe^k0J; fԟG:CcH♽IjlZ`d0J /ڳIah %ŝCn^`+_ܐ'( DbiX4ov`4%tpԶ_;U&zdߪqUN`J jzp]S%F7NRNJ/a#eM8*:!bpӟDřs+ٍ^l';)aP`ll<~Y ,,k?26^ŠH-W.̋NS5s"u(UnI3 JiY{l wB{BXL 6up21MMmyWm{G ˯OwHЩCh#D@ y.Z @H5NS oWiL.S?0Vc<燏5gP ښ@_ ǿEy^ ݑ;vnnRm;:h܎>rvd7?~CR }y;&Lp_Gd+ kUtv6o^"9h' !WH:r<LchtF-k ܥ5{H;뺶zߢ$;³Ӿ)9꽏iO/'>M _gh-M2at$ti$ldNK~A&OB)G 1=zqg49㊍I,櫣pT0f߬ 5I?1lG iWV5;3V`3JAɔ̥&0?Hĺs`B``nS@RФaSe!w',}{Ixl=n'B!'*JY\1,X'Ω/}Rmdy?9n `Qq72ʍbFޱV*8T5qcLok?!ȑ~ md? g>Za<#@yf2QKdV:9Dȏ"`y|̩ɀW{RGnNRߜYzۅÃsfZeisKM8h;t*]+g֩],BYd {15J-_>~ևt`#Snzr \E%POr4OW}v|yR iȻ`T`{X̌"po~W-;^&B%kTǖ*X/lֆ[W]B&353-^-3xuI13zIdz {.X3Ы% >g*@i=D3 CWK;bB+/@rڹˮ@\u 4-}w:fS<x,ӯ_oc%!"X:̏~VzĦs,1çx]Z#έnW+sOL@j'<=5|y c{tŕ}Q#ʲ(kxѭ/ɛ x[: 5:^tmͦ/D4~6W'; Q!4d@4W–_]Ͼ|<+eM\da}4KG,^|+l;~*$k?iHHV/J{w LtC`#x63.:G6~b{(k7bky%Y@ I1ħќϑ-Znk0@+rsu-˛wrbIBK¨{r0 UgV]‡/fƢHAh$>[ 7L%^WגN_P1ya6N-S|L=f/Nݞ,];we .$&r2O]~ssڰVܩ/k1kc۵ɴC}T{q>Xmd_gT|;IuzzLz!6\+ "A?h¯ֳe-eRn^8E?}? >$DOm@U_aM0R-Sw;#g7D`AHS X}_ ɫ<e}&U_ It^̠F7AN.A"a~ӑR}7jz)DUL4W(rqZ3Jչj Yl4͔UVQgxl]IGUE2GKD]l?z+p͵1vxuO[`-i w9)(;jR3h|D@V1#wDa9Kf?<|rl8n&T?4Fɴp^GHFcʃdZ0v]σk>.@D^ a;Y&#44 \ԕc[@,HQo1BrFZ&07XaaG` IUTE {D^(--0C;yPVt@&E͘97{Nx8X[ aۀ)>m,{0#b.nj[%e8L̰`pisF9( XnB#!d7FХYM)os:ȋmmLp)ꛆ2S"bΘ)9]~.*lg\հE>wGa7FD0jZRKLۃ2%-z|aVKTMvKa1>H妣 cvi]ԗ7ߓτWvEU?I֘b[~)LNX>NUb= MrFd~P|aHFLX,Yp!՛$pw1N,+-Jlٷލ2W<zL0EXw{ɶv1- ,v8.iM\s2+;'຀9.|ԴUȬ8isg\`9rꤘ=1 >*K[=XDI3che$ʁi:Usuײ%DTܳ (1 Px$w.gE9.OMۂh%>F񉹧k4z1}xfѵUt:\ #o8;I1.C9gU~=}UPgEPaO# rlvPBm*{q7nJ8;mG;sSMp >Z,xƼ֫D[veMb$Hf#Kݻ .Ⱦ€9[$z`9|ƅ+%BC│z WVҏ ҽ 姬FzOMw&^Z `kqcaQͨ:UY@QD3`6]S*+$Rq01!4;,>pE):p {ttW82Z`t_@j-\̢Ӯ+;{{w"5^wzD!~DDŽ`H ZŠ jSW؄B,UBU+Kߧ' ? Fyp #5<7*H#S3sf v], i+%m/Əz.Vl8DUdSbr9YӝGgbG%^.blW+2xHx_mtuk}ePq+E2 Ke*=w\ᷗ @mDHYH]L_jmgJ#gj04FFUkQ.<FV7yJUUpBf1"N0y[ R%Ӂ/1&1ZЗ׉)a°uF ء &SkZ+iಿl꡻vYq{Z]igc}E٢{Nc"WOnw} T*.͑O5x9 p*(c{7tV$ßwV6 ޜaFQ)%!VJX.uNxRȟDi{wr441EpI "ubMN^gerHr~XalH"r29zRqZvc]XZCN S~7.۽ LՂcaTV&` + `1;E>#akJ=sv -x[gDThjܺtY |ukp9ضyM8`hAei36yI za",lI @=ܠ"?_g،HcM"ӑФ*mCxUd#N%!wjI+n.4 T .[U]Q=F" ; ٕ|;wgNEGFs$ 4k&e2%K(ᘭ.g7 K~"3i2{ }xGOlt ^FF~=G0Z#B:Џen$׽F[D=gf6h^NPGi %5[ԆJ*p,5RlVu \#BՋZf -N@IS9(i|UnqG#N "lxEɛA/let^Ph{;?PcTevpB#WBiVgu6jYb^(xw\yF!rWުٴ/Ŧ]2mu0'VN i-3n^h@"}liv?Lv}~~@tˁ˩E$sJf~MJAvSNnDNF{2G8O'2F^@c8j$SVLZ2~$uAPIhO ОgGp|OXakD%OcHR<먾:/$'lл쪠&xYe#]BjYͽo'j W*#VQI` }Μ *슣+$=Ph)XXzAxQ"pr Vo TͺMȯSoLN%}*8X}<{z]!@@߂UQX}yV7ar] k[oZݚ{!dQ2/Zcqv`ۓ5,FkC׎:nLM륧t)CJdQ-X0RjniG\vV@A 5QC>ӏE{{Reo@p w|D.TkЦ/Q/g4:u7+ˇGf K6=YX%Y1VSCs.4a*Ӥ=ֻZG[E s @j-c[I4>ϋzvl=-ӿJ Vh 6/y-)9򕑳f|sLu+2א'~ϻ]ؓF汢 ?*O ]66*`YjR쩃 F si<Δ}W++arl_r,Ҍ-oѪz\&HmT  Nbpڇ<\{R'GD/)JEgDI_/vi}:YgRx4dksrC1@%S<9K-@EB럆4"$GacWGG:c*,;rI-t/j|XndՍKpؗY!C/kTNsPcZ%@64j|ϔHȷKg4NCX$ɾͷފ7К53&(ґR:[K41z[Wڷ1p\{g< <8W1+byOC#f3=x16T@j$&n" g8wJWd JM !Yŵ,TmJtK.͓9FqrLQTmjg?#l_cyGBf'^;Ch+=XbاɿM2W TRAO>߫:M U5$wPʔSYw\8hsOsZ.n O7_nޛ= AZu5„N+ҙ7嬯&bLB!-Տ"`fxVZ7c.m~f{t"kpd"'xsp٤H @L1T]4.$e2~T%b*i䌛Vg }ySd7Yx_9+'qj\ϑ'ZE+fl.G8Uӯ/똃S//8@Gs_P,.\>"=vbV- "ҪOzH{R?{:_I:L '=2zw]E ]} >[=0{ cÿK:X!͈ݪ *4`IcXɟ^M 3DkGś Һ%c< ]lKloUC!%"?(nTC _i0q(jDX?9YP@)peO {>}~v S`yzu".! ~K4|i]_#$au5_ߖoZaa"q&7NbbFlC&vaW((l iXIZh o![?M|fqy"l48#d {w{ Z:-6큃Bd,jd+P0dMb9A6U`:@k~ΩՏbΊmNyQȟhwztj.CRfjrRn6=B`} 웰NI-lqmfG(C:-'`^eC}LI6ڑ0ĄR ID>55s$n c:\,PQf1SdG튌h(9 i8ǴAEAnȓվpA~^F?8T m)ю)#<8n'bⷠ'6@&֏踾aij0e,g n-N-[LHG>[]OjyB9ٵp_Vj4 .>9%cf[ Mjbw.w˵RuW,F)R\ݫf94l%E@+$pf*]cx< mp@PmUx4PcVmLw{ye PlEd<{40Z6{~O{ C'֊<+mf߁h(t8AU4 07moϻ5])U`O[6ԣYމy#,7:#PlbđB&l)!8><:&ƾv*9η{mZo8ϟ=!PnmbOS.i:z%R>4[~R#L'iqC~i 3n9Stb&V;//Y,[N U=/5 2mS1 :+D# /@~OY7|ugܲLE?_:팂ǩ)`R37YmRAIΝ!=wDNglZbTreuO&X +J=@O}j6QG/_eXL&@3&kJ?L @$)-[o`(>.󎼳ˡ0wW CH U S;do ~[`pKI N)fRHdf,,0L<36,NG ˗iԒWSAϦ_99U{sD=nND)zBaNV8;Zlz( xi+\N ұ,u6 g s4PY~Z5L gzk;ҁhߴP8 daҧ(΁[ [+eH1>Rn*ϙIdiў _ iDz.M0Wުo2BUjkܵH}2- ҨweYRh1U_Ek?tp"v~َF9hyIeP\ɴ>$cx<:Nt[2&Ez>59|Dn%4 yZ44 LGdjdL':*C [L}v0/i@ 9 n0ENjz|wn>|ISby<\qe]#4{io'NZ@>K; VjƪOcTDwykG 0 YM;'Dx dKMgKQ[3(?//yCJZA(BXv@5E$ZeCs)\>o9ohe_EbSRg{-N !&Vb,>\1~ۧ ]A/[<D_BUQ'+[a E?[*$ըﻓӸOR/$;έciLSǑ?(E9[ȑm=~U\!k>G a 0΃[tnN=l-՛10vM尴͝SE}n1xg.TqpsK.#o`/2,~^4n{We4LJo 8\ ( } A6gC\<^jsՉV"X(.9D+j)oKW[)ki]SF+(#?$fE#PQJ &^7寉&+vcȰnZ7 Oͽ=٬ˡt\G@5^f`2NtEiN~ǐ@y>vuwD8Zwc7!j(Avުm+Ȉoa?8~sg%O)5cm%:"C+'_;PeU>2x}B5wwvq=es,Ƨ…ŭ2Ƣj7i3ķ'e#/oУ?Ѽ N`kήe׸ĿE]Edo&.;+.z9P% M3<:ǶM;شb&JBNogYISPڒ DLGwNf@^!{b_5ł%fLz pJ*KT/#Ƹ=@s* Io&C8˹1HqM3?@-a$ohb/l!u/#u cid't;n'e\#xzT/Bnzi{Ycde z0<=nP97 zohQSY$٫,R}A`Y^N6cGiWMq'Kl|Yðd+~'k@guZ peO0ѩ-_8|.Яn|H^Q\)mjbB*tQ'\!rCEE%)5A GGֲr;pznl="b$=?/eOvY ,}3{k puT g4Ü-Rvq}C[6xF#{AvFcwr8RNm(Qj?jݔp1KDJ(ԫۅpMH;5eg -V%~c܏~C7KsVò}Wa /t}5 bܟ4 ,o9fs:5w;kKzj{5aNNiʶw,E@ ޤm)ګ*_5+}X1kސѼr>cq+|mQbZ4QfZaJX]vo^S'y1GQ*\RK`zF<Z; 11|2R:RQGk;K. NnԨ1\/  gjlhc0 s\/>b5~OLKsE0Um`Cg8hDD0|${=K/=۟ 1U 2J^/+0/T)9wg_[vaW6`=?F`"8N<˛b א'l/*$~* HFRwM~[5̗M~wm7fA\w v]XgDNUk9O, nB-<? KYc 6%Oծ+C| `Ӌ5ءx4Dީi8>8draZܖdj=93v-YYc_4*۪ǚo-πh buGdv_#')Yu`(69p4a@12_fUUf-Y9 ~hdzؽ#8,BZ Cχ2JvVW1x*EUxB5)'6'sFsL<ǒnqѫ9t9XQӣoc'tplwvY׵?\T,Qׁ x.|Lw"Vh=tCEGy7^鵫Q>~I+AMfu bvBؾYfg%kZa: kE4:[#:6rݹ -r[;NE4ߖg+tSϳH2 ^4 d :lƃiu~ MáyN~C:, ҫ 3oE}}% L-?mȹ7J]1} andf:3w֘z7z)(cCK.0eT1* [%g'܀rJO.p9](3!4RpS|D{o]9S Ra=aw-ONaQi=wT}P EB+T"4AQb!Gi}®$ l'˚`g+kP^HaVd#3/~_ v9L"![.?Ld3@G&AKqI6z5rRFa鿀kΧOS:Ӵ.uEEE>{< ^[;n}^m_\he@f:(6(DPT\L51--h P~/7fL8:qAiv;hJ͇]3 򥆄"Ŋ߹58ď*a ;j%FF4=pƩ2IT\9XS*Y2C:%ڦ!C*18~ıfEXs~sbڟgxMcRIE*Sʼni$E:̝Vl!5G6|)F.&*+2(hjk\a =v^h[ljcdjwrvB R~A ̐< Egd ,ye60EiGy+{r<.IKJaIlyz ۽fxJ7@W0S!d{{ZJb4R] jh"GS|D)|,0W;yu]eJ[~ي ͤ U6SZnDȣT^ k~]Ř'aC޳Z i"|;1dN_/3G(ZYQ` 58"_is )! LE%p48!&Ҹ?πY e=@:|`mWo3| xg U8w.MiynDve*2HU5]8dF3꼺* -ΥDrغ7]}Dvo4U(|% 3-FB˵TbγYn^ IZcYʢb['nOJ%yfJ%UT2sWoG4ΠwPu.:Uy↊wސٍd\s)lKb* ~,+=Cc јR,x>yn 4HHJ"z*ED:&z5 pߛo?8-du9{^FDQL'=;Cz݇@`O{;T2>U%crPi2Ƀ`(h*E[s%_?'U'%U`maH ,G)(-bdWVݦ\'z궅uØ-u#yL\qh]+} }Ez]73+ ?.`$.Pߔ(@B|W3ܐ<\&ԗysfR`UͥQpvdc*a.lHpv7cn4֐t71ӌ4E/,fKU-f[| #i :A>EM͊&"zpLAx+C/C4/[oY^oIYFݑ)1lZ A1xQhћ}B}[>-ւtxR,c+*S|{gJsƸ4յ$)s^d! 3tk*Rz5 HȐ1We|W;ISl)%C N\#C1Uu'r$$}5ᕓRFxQ;iַ"5H P&QY ~_U)wZY 1ޏQFҗ+@IquZglGU3V?g?F&5~@ݷ *2ȣD.  {. T4\>2S(& yH5W4 }a3T pܬI. + ,T\kCv<CSa,^ QVM5Sef'ʡcݹʒwXd0]!JRKˋmJ3WK9; V/)Е5zOS.xtI& Vΐm"KϏhXY*c@K Wy7Dj5jaIE'|X9"JgS$ꈡ(K-ó䝞9 zG?u+2MT+f4q6TI$V& TIbUU^+e7C¤FN6K gd(u~}--878Qd?*i)gRZw2jpLD{wIoOAB] sKIw"\7N~9@I0ñpt|<1V]7i %r_K2#VA8bgOm(sy]"=^4"2WO,!s ľUj):e"٢\񃯛1{C<䫠lڣ!t{`l?!Oh/BJxxOerJ\4 A^^{զ8zq%EMEJ5ŇREybF9rg|sŅOd6&v5UrLp |وCE]?AR&ѺI;OJVR.;01I QT/ȽeηOf KcDm;י.T'C?A4 F[X.dÌѠ)t[Z|͖ c~]R~qZ7V~Y@ rĩZh@S7"(&u,/jUCW9(qM])AZt{nV~y bS_ "=Z !pֺ_G+=Ԇl&`$@tWtUH6-Ɋ?x}e܊IU")*<2vaB0l==P^N! s$S1#$ot7!,@=j PgP|͈kNVbV[tѣNy؉23Ӥ7mxf ǸW:Ӂ0PH,ɉna7__xhU叓/M>Ȧ="sncȎc:.ۍB1aW 4p295gK.4^١xUPIU{M6NK7lj<95*VgLZH_& ?:x'q$Ts)*Ah節""4%:Pgryq~8XAd CSI/!Ǽ|#d?B$ ^uv2#t{sڬ+Sѯ@Y]X;,G cp[ wi$ih=_.̃в'IW(~Wf$Ybhvd1@& k2+ /6HzަTyQX Ш ~}/0UA?S~ǚLkA *5F rSA-X3r P.s{l\siv'"`H@Yֹ̽HozWW,4oVJ-z-B^GZG7!>o` )}J2yRZ.~JX(5 Ϯ>n;%m^&eF ?rNg!( [Lk@2ӗXH矰ԝ9ߑ!!Ɋ86\Hqd_(>˂ZdPTQR8IO{h[fz>W0gDV13 ;,|azgLJlt>_2SL|Hv3cEKAֿc{Qgm'\mJ2_^z&%Qn)ESBH7潰p[*~ ]oJh2.J cjoFD5If݅b[GN '$HפI K,Q3F Pa#r/369Qj,ߟy:k1x eOk].{M(w},j]7eصL4LzL-%<嗷ˠZ 9<l=O׳g VJVvȳQcT=n.T&_úy1*Q $M4aMve-֍ f?0;G J70e&|%;P%4wT9Eo {t "_x<7kzH(H'hAiIޕP\:*O %ʈs93)৒O%;ݖ K_$[N)8"1.8V:?6Eͳv4'_#_uod퍋~Klv.gUTC\ek6KN1rXb]mgBˡrV75J0_:K`|SȈ~Ɓ7(gz hhE|9Hb3po[MbȳrMfÝ` O{zv~voCV6& G׾c~T;2cRNVz Q/k+ 1ӡ{ #hjb pUx+~"{ss 睂חr 1@Toi?y=# D8CD&+xgDI ɓ&zQmZjfn$22~IV>Qj[}o.\{ِ~sV FH-@;ٷ ?u6(M,0/Le~knM'EթKOXз TbC6@zǂܙ9'% -oMpǪQ9ŠAqdo䑂$za@fG x9wvTnHۧ1)/q>sQ?4v>,_LM5jr3EЇԟ_2s6a$'[zu5@U%a[ޢl#(.o,f^ϧQqd ީ?Ps^hHT{ybqRLz/. #mNRr Y8b 󤧓ؘ8n،?we4i';y63ot=`jE]ٷ+L)>3v"M[Vo~gZ+rxdx'u>u?ilEsJcYjTD#3Nb/vRN'_>jgvY]ά' ŦFbšGk_5^CGv#;N=fRllqJnڀܣWv(>$'s&,ly;n 5jWU5fW9 OuOЛ Pzy1ԗ_12,6 #R-[G 9m]E< ցfL($һJpWwfXe,mľ(ܚeI-J#aI)yE%=RR<ɰ_dɟQlga]Yn,5O&$|TqMS`MmWf, k ?O`(iP>nX,OxIs&3h>xv^g7 qx Dha^VHd(NM u+!OwVŝMoL9$XB5TOA(%[`j3uWx %Gme/6^JQJ GqxXe()EڭoǺfظALQB[7RJۘ".TJ#"& )26d_vd X6y*g2wpSmjR#5]9cT&fl)?_&Gl ܉{ٳ5g3'BkJbHW;}'s\bSoXgH@j T@C* D2vzv=k>g͜kxBLwo6r Rfo @E{c-˭ jlr?O2 Wt "_WLuLMFTr~hSDZ%ke%ޗzZGE\ļ^.GT_K; peE+J"̾O&Bi\XI>Ɠ{P$qM&=Io5CY8fex-%]ORSh=oT7lչIoS5W Mا}9V@;ra*&is4B 9Mg`TjJMda.BS4to9rPn}:xnf=2ʂHZzoqvuA˚=yGr6EKg-2 %#j'Fz&amI^xR* 1r(;nW )DZJԡv+S8г0Cy4V9rVIw-23?-F[|tOLg8ee2}Χ7\GP%]t݀"~F]G]qxH{լ̱*qo,_h\w sM |KY1 ۈBwMbΥ S,Y>y(4_&gk+6A,mC-: zEQbG5h98@3EU EUFÖ=7h\ K,g׿2DEEEGNp {[;Czw-/|7fŀ ]Cpj/AU@ %󲤴(J2nkt"fvMv2м?RR1KTp%`<X.ŗ"(tV`H[Z㴧a9l 3^:-](<<>YT`pI%.]!4&wnwuE8x20VI,itQM5Hn_6mZzIҡN4<ZtOвg6(FEGg+M͏84nh9BWM$S݇;TK^֊˲"C"/$c%|x4ex{rNї =TJ~oU0Wmt ؀c.)7+3~\-p7d qsh2_޸e"S0ҪLyJ@{L_Οh+bT,.~КVRB_.4={MC_sQ+D{Mq&_92vzEh;]oe3%3z;/]y)A9 W9DڗS`PӮKQ'D=awfru. We`),#FQH(bz_d|bJ8. iڲ\s(r~D  R8O巪z-2Ҵ*Xj"M85u.]jk rRT毇(*%o#>EMy'?9J!@#Il/OQV wn{P&'4O{&<ȬÛ쒰Fο,sgjhQ QCge.DKra` 7U}N"oz@T+s5zZ6"a7zh E&+Ě ,L swP8t2xFhaOL9F/T$^PE#qc*B!NK?MRF %mN!O\.v@YYDo%h#q-U0/G t 4pCI saw RƩ 9do]kѴbnԘcucM!l8am1K]yoW.\\MTg 8:Hڑ]yatN+AWbF\Z]Qi#,L<z;!KׁyTsHae[ ڰs46;]Bo`ݫ*Y`[*yl+?8 +a9gZ7 2Nr :]#0@ x%n&:׹2z{M$۔a3Ay M+wZwH** em2rD^GuvqioXĵzs~zи?#+7G!,O0St O'e-7MiJ@"{U~uK7 %*P~'ǃ !04.DR7amjd Y%ZSޔ;>ں_ڻC[]:G*ujDɺUt2p dNo~_s&ޯ0AQ7o 缩ZHuw8&EXW1h(@Mxd­G ͚&) B@D-(,O y[c2r4aD0f؄mmˆ<@[q|m:pS.PQbhڸ = s'+i> 8 g NXxP9, ?Q 5$] ;+e&B*=Ix` um"Cq1b9VK>F.džl"KV *({s7!Mj;HMeQ'8Զ FD\tWx}e-͙vC4;V HSе-%7яrҝQ-Kv%cNFމN3hqaD`gBTҥ!+),qQ/y?l t & ,,NR߉$(KQ3#MABO:MFM3KKL#aؤ,z3a0 LwGJ\B$QGq4]CwjDoƵBguīȏ-7z|,a=sfH9\qߔVUmofL$b@7F8h*>qɥ.h~ Q 8Y:hv%ws['"  W1Qʧ)su H^x/x |ג6>2&f4#/pUzqQɭ⚙]_%;hhN?0`g\J{ڲ-]l_uAd@ؕVj jo05ȄᲜ*͢uO]Jsbs yXU@Q1~4xw`+DZxf\e>kVz|؍@x$17i\Ѭ`l'xykw`$ 65Lm47OW RCE%"\ $ >oF6 M]ǟcۚghO懲Td2 sg=}2ӓl1.hdYs|'2ApSw NO# |%ޔ [-(6|tL\SFď015$SqA1F9aL$x.ILͩt:hiHxJբX ЍgTGѝRĦSq8>_M*y[zJP&< 41waR*Z 7Լa #;C#\G!NFƆUkL^LX~e@|7(|c~hfL/ia]`ǝFHTGJU|hiN͇+ fIt]H~9d7 _H rdXJѳ1s/(tAAlz1[c7AF=uC.9 }< vr3hT7&oa\:S;S|>4X։d' kc2UR pke#:I;U23}abˀ"F֎B6qU[1Q?To/-n=ea,$KQ0V2Ce;g߾ QXM茪ޖ)2ȻciBdcBTs &7w *DWw0YǤq"^ߙX"ȋ%pHP*\(n(p?w ϪH*?G8Ǫc҂4 ,qsL!8cTوbJg4~IXJ"\Ql 8wJu]RaΧ[;W\G{B_h94Q+_ պ@yh-r_⢨GpƫWш/qZ:DG.޾W4s:m3&jծgwR z#Ch{;X wG%x \H_]/(HD52/t87 ܁+n&6̞QKqYCWBBڔM{BPCqECq/.Q!W}& + Wrx, 6znnիo `s‹uycL=G&fh#A7t"9ģzgsŚ }1|JDffmGwб&˦% WoP:B*.(5`Sฎ!oS7`#C{=L"A7$y9=#Ȧ֊s@n v`3-H;Lds#E˓1YaۚM9S#ctM,T#T|MuБ?uI>Jǔ4,m8Ӯ=Xg(n'XћLF>aSNžvswZjeFs_ G8#Oz(,TpT% ׺M6.O Ϭo-+,xkT%Ys6&: 8[K9ϪTHݼn++V*B,@ոYg-z9{xI:W9|#a1ϖl2fTdD^'vU?!*ZTW|MHV0gh`k6`Ta3P8+i6æX}ߛx}Nk]bT/ܜc&z=EYÑNӯ+^.&O^@<cU{EGV4=-VxZ@f%㗼SO\w٫ ƅe(%tmz5@j  WԮdYLd FfcӓNK/런qpYw, OjuK7f{3"徨1;ڧ;{@O3aQJvC(u@zPt:)PR>=9 \e)'FRlI b~QVqmM,-b\61mF^=!G #|UQp\L(șſGl K:C w/I=< 1hK8U ){!x<bvWf\ŮeBh!G r:{r~|eZlr;oLfF3D םSi[aݲ:t,3;/-Tjh &<_seL w Vy^MD^-3H>ZK>e,IsS];~@l<)Ӯ|^CKںeHч`И,P*<}]cSP>ö2F7WmG7O :\ ;(.+OUCoc(i'S\OY@ฒ!2tOX߁דŊ v''tz1b $f@̩II: Zz~ -mNw% KH:C٬Qd/´nre?F'L0D7 o6} QKO%;80e,/H&auȚ&{,< XSol}҂O`87$K)yԎ?_AK$ӢL"KUBM@P֝v gl^5Q aBht|v7˜I)qТU%PDٸύ&84be D81ZSJʆ+a UsTs@>hDP?J1gszSr~NI(6~&.DRk_ۗ[K5tUפj 8E=ag֎2H](`cu_=6m+c l,[T!J\֖dDdA}.,ى$u es NUo^7-:}Pègxt l]9^ wV4YW!n$4Ly1 VY;c%UҗϠ $à43^UK~51}kM?4X³CQώ.K6algC˪P@q W:+MmLPmЉ ~WWup8!R@wG+͟qr (E eE)?i1x9ߓllsv4_Ng$ ?\N؟S4[ސXo2X85.&, 2˜jvKAvPdA|$X4ؐ5;x~:_bs7ܸZ~)_HX~Jo~X?*F-R4^ݴd/sFj+$d쁼 A qqy1WB0uEAZ*I]xgYg!="PBʨSŤ jT |rxuw3mwҳhxCW/ A-R'_J3iwnZ2֫~Kc W$ז=Gη!i7JYA'fZtbI"ͺ QQ4z@`pul'7WfrM7?D:_䊩]\*.Y5Jc@iid @z^^~ȈlT0|3XB#r>S4$gf"ǐR>h2j/_ a$}mJ^K9f?{OMWTPV K@L^|M h5wxrVW6jG-n86_˒[fKb~Yw~S^@z#7wW5/0\K|HڀS(/=\EG9JJ)Zڗ 5tS? ڇ"/vh;>ʟk?,(CO9GWKGo >(H^mFu9-rI1THĠ% oU \E1=( r-ŖPY*-eR@ymCE6mOH9ikq>2)_ޞTe2 $mxy AkH̸qs'pq? jJ#|-,[L\o@S/^9_Ypw+ 퀹v:|#2nuO˸MbDqDz L;PHPSgȏjº$srHBϑQz٩a(S̘UN`DױM?z`|a>ƟG&-]$A^n<=q Z˛i۹c |)@G1.Wr=#,N_w,xd RN/Afp;?uFA8]ud`>(M%2҆arXH\Se4I)^/Er-9<|WY«;7њUvoe:HzV/k%?TԘl6mM _6 ໆC1?d6rdUgT_ gZ]z{՚S@4~r]y|S -ʡ#cB{↋olvڞvc1mۄ٧&=9EEҘwbc`=>!K݃RTk#)( ܔ^0tb(q0.QЧ0J._fQ6{Hudϗ!9 ډ.#dD`^̈H}0 ]WG8R.C 8zaA R`EDN{Qȴ fbRՙB `Fg6óz´_yqiUTrUn,;we@06N)HV٥[JR !i䴬pNiN]oo`!jܦπOGKȟnm\\wxY_?Z:u%^%:k F=3;)pmRQqf!_Y,4F y%Gèńx`KoK $y h&9CBRʾ6_ΧB0D9YRsFpF';}^(972J F*{[Ax 6- \FZe^'*)XIkzϜK`rU5NE_53'N&cGeJ8t{-AN$hkSnY%,U>,G,"3:W04 5J.~`g‚ܘGTb02 C{rFRO1vKi'Peصd;"#f (nC*z|}C:7 x9!F (&ę9' 趯Zsڱmr|98Ae_'t2I:3v8@KXwޢr19 w-%j01w˯;3A磙 Y.\:Ӥr2\4Ţ $PO<']%)JIXV ෿oв3O ) *cs€RPW)ףu Vty!uzSk :;ܲA~ @A-i/D{M )#:Kߧʝ_DlR{=Gz u׵rf },uT&3臨⢷oΧҮ?J,0:ndE-wu;114x3*9n۰SZg_Y`;!ȓ*%0MgPqύrfrA|k040B\|+CҙZ"*mY0F.J'`PNIѬE=nJR\7ec (h,CO z L2G3KTτ$6{)aB:N7ʜHM>uB&|O]en^> Lpt1|-|O E:l=I:@'C2nJelbtC!jfђmT,B|5?3D|0V,er?E`:S`Žh9e@T3*NAu:J=:jwǞ\EaǶY6p~E`p Ga@RH.qImaU/H'pD@UVk F/Trʪ};64:5UB˴3]:TmnE ,KN5OJbM33 X)C O0gu(U9y_[Oph,"7Pv!1`J4E hH0;,jZokJAT][v>8QvբwsiO*ri $Bvܼ _7b*K윲YN$Q(Uw(Rb6ڜOqb>!߲""0ی3TsNQkR~ td8kozcpO8-ʯ[d[|/HHRuuMj?eD:s(#ซR"0r.#ЮtO:iYAvYE`!VG_bO<%4:hh6{u=|o|Kis_g4 Z6Fx2] ϊiv/3GܠՎ<QKHI.ĘiJ3SC?`;Z'KckKJt?MbD@$^Ӓ쁳YuАt"8H <-HM( Hk\-kTql)Gn0rx surH ı'65եm6{5u~Oufފ$x]2!I_5 dP x3wg>ނ#:SJ!Ih!8װ(p]&ԣ| 喨 t(f;k)N#W"lZRAN @%ՂPKG=;_̼Ula~@nmy|  +xI .P1\1`W%۷ T+'xH/]ڄ YsWS3ߠ$^Z4ΏC~j4˹sbgОm ?06}n`B^C#PRFSt:urRN[]|G&$%JkOX0OÖ1O3wY%C2޶A[1L˶tKٖ!%](dLG17Bw9JIN\àu&Jp2u3w#х㮝}hדFSB]B* `Ki0ob\\Em7~)x@8r0Hjfٓɶ6PQOGD~@?4[EesϾC=4d[U[av7s4b].4r0D|n\ƭ 2P*@ G,aÊO|4jptanb$PH` M8 [ .kv4"uųI=7<9[T-]}B vU3/Μ /*jc n|{KD !fCe~9֡ A4cTEil#',yoN!cİ0LA R^?/Z:'6y,Z fǿp|ٵ'-ͼB`{MG"fA00X 9݃vdJPN`, |_6PyU0Oi}՜ &}uy#8p@4fucPBj?{>K !kܖN\#t'ZʿSZx\ e>KĆRH Nk>zp.p#b)21uۈ.EU!ʝ3)}s;pLnt!nz\WM>2UDH`_yeMHFZ_B0 N.#l)CGQ+u41픢PTiy}hxE"BK2Ԣ=XkI nvēsCN)SC˲-ۖB!6aS@,SZsG:<bg$ouQ%mm(Ox1A5~y(U2y`%x_d>I[+VDcFp.0>Í(9~XإqD*Ty1zzcRP%T-_L\N=`G{ PFL^Ώb0Y`o$eha> efWT7ޞN=2+(WպiMDl8h4d `z>5UJɬ\ִHnHA fo*H5^]z_Cnέ#%V=q7z 64z†JᩝsrDW͟I\. N=W65FT &=mɗ?( (ᇐ@FvtB.'oH0;7*=A.!\2>nF^"t p:&b#%~ V"pj(Ybs |^_P޸6aBqޔUiY,vtng zʢ]S~H f P-ـp {ݢM *"_NDuЃ!Pa0̉Qg?}T3Q~kLY Fs$92,=mZ}f[ؾ';?B=1}cj^Ph& #tV]@*+s 'Mi(*=9{ktv(X1cD܍A()XHzUX( RHE8[f>n9ڣ=K qo^8%!.j_N֊'17ɡX7| HAPϘiPSAo8k;*s6Z<y3tdm2N'HBOnَ%1vpҖ#]n2@R|LU0x;- W`%kR{v`M6p>bs6\1Pipr>,*nY{~j@n'G H4u |Q TQ$QL޲1hbNHb^T/hUCкQ B-{!ʚpZF\L skCyI\ք)7g$pe.'v]™׆Tw EM`сEQ3 4^M!J}VϦ2jQ7=\ba'dMs!ͽ,-pzٜ1wwhl0$ȕl#L|8!tm.L 꿊FRya[F =񀯻Ns"Ob{}J)D1 J&@8 uB. ۳_=(CH c7)l@9u|ÂCL j1ρ0[5u$he<>F_:ZƆ-eT('˻b#T ?R^ wN7V\l.3Xα3L Itp'Ke6,;gM<_G(/w((2)M w.Y0Yz}hX޵Z{&J59MkvP6%d%kؐ N(X`ouODžch*DPx2Ziۂ@|!H,YgOzyV73 @K~VqNaWb-@rH|z##@y>EQT:\Q}?!deѼkEy4X3 e@d|^f G+&MC2[N!O ϻ TʧѰ-PNj&Շ*c'8 lA٥ꦹb4F4r@C$IW)gۿyZ,kdin2RG/3R{CTo)XۄȪDu4a UY%*LY'm`dFvSx?1+'^խδQ@=8Hǭ4j5 ҈;Ă'f,4acU>,ۆjy J/Cv/%YuySgn< %j LnjB.7icnxBTꪗn^@,j^"l<@`G79K!a*2\bZ5 <הw ;g5F)PN}*Q6~1> 3:GŔUQ{Lz ) EG:h#(e=W ׽KM ]s bD܃$Vx}Bcp|P"L8ې3PG9~ vT R2S+5(mh;+= b.:BL+(ÆBn@phI͂7o!.X7Cg+$.3npz>? ^Jz0"y@ba_8F|AN|4QOxq[S06{`8"GJSYIrf9|^o/M|liǦƈ2ʁAHd[7|%<(uQ rDZ+OaX=h37pJ՛p39)5DVx ̎ħyK.^xĤ6WuWtӶ%B>(Bz_ⵂCǯq1PO[*S >CO82yVG݈gRT;JDZru͋ˆ.sIH,baGv^ZE\:&i/^뫪uΊ) ߳ԴQytLo D"+IaJ\j``ڤq$Drz oLDи0-v>.CL/x&Ŋ+ Vnx/02D4U/4C2u&_%Dlu g_koE ț.C(@ei~i&D1\հ+H 1Jdƫ)^7*򸸛`PnSޅ(9ɬ5? 0C񄬷fGހp7Ʌܿ(Bkv/Ǐnlճz9 '#l~x3;.ִ&WFy?kV蟴䲎dDY;^C!diI+0T`84gCnMF !s5B+17ݸ`ȱb&վkh:#UQ.|2"j s\l0P2؏=Z\g/!;(vRY*[jc5[N 7T&!S5c'K%z* ~z=Ş*35]qȘݢEڝ|< K 52cQ?}p)JĨdԭBL@􇕞=5@מC!+A0dZB=EdWKmVGU`8F)!MS:ly5ѳ|~Iv g.B%)@XY&Ⱦ0>蠗DCTKG"{->$X8;>l`%+GMS_)a鋒3QlyK;\FǦA*J#/{lwl1ô;_Ƶn8x˫WN.RΚO%7ݴqr hӂ J 8G#HRGfRFJ2G mi^WNKH l>֊A&0LPyD蒟u5L* ]ECnWRS׃UiՑ1_|tS9W@ASw:}^J׸KQ~_oRd<;JTWIN/ݏ^?ފq ޛg6^0"vKSt"Y1tܜR4qK-%ǜa|X+HHZyoP1$l9d۵}s|5d߬f)?1lҍ]j%iIv]wlh7tV­h̸A6 =d֔p٘*`/q1Tۏ pɅڸf(VP4z$6> oH֢BoPc]Y]沸lȨN{{ĕb Rw*_U+'?;yb_Da 7<*9b ;Ñ%Ie[FHH+/j c]-Rei-E78_Ržmnf9BhN,*GJ d}3xO & C珽IFjJy+كMRkwIka! XPcw _6~uQ%`>_d :'՝p>e'_3B57l-ÁbosxTo(CO@S {bX M'%.nyf5*Y> Hd AeO=~Pg#`d`I_WQ*ɬY/\R z}ߐi9Ĭi_u[6"醊QK9-]*DqKzA[=5O/S+HV! Nv3F /LJyJ'}0JnFb BkΚdǡye4T{眿,`; Z7I~쳏{B=u7KemR:Ol 2oo1SoEP,5 *czoKe[wmL0'Dc5uOwVkpE\+ieoFp1J4ZAh `/ tE%?$UGYѓ^Z%ٸN?dS޾ySyx(K2Pb`|@DcagؾGq[ L"8Da$WV˙x"s} F7V`oHA:a2pߠ|||oG.Mρ?Gnˮr!e)2@7a_`;9dqq&(IAXm(P[ROݛ{Z*bIUׂ':=Q?A_5T][I`Ih|)#NFп([H>lRXSyw+?4*=% @rbmQTS2mdC`֓6Ǚ;ssRxx2Gφq٧NFjޟvm]@9_e3͞]uM]!=SEٓy;slדN b;;WRRsw2^ 7 vyV jE^tcQ2M_Γӗ (:au ?yW? $t:~F. 93J66 ݖ|B<+R3Ω206w2)ۋ8%4I.]spiVAG6k4cy>E:߈F\Vxg|ai߉V e"*p݆iwX|.i}A3tp767N#c2u2dRWeb#~'H~ 0 N'%a &9 $ڇ9nÝRoyk+ty} ZR =1Nŭ"n%pb$Z+ aF\ѿ|NҒlnGzIfKq@Lҗskv>"^B+c3|KZ7?vNb3tyy5z'[aC7T"j0ZIV%ptF=4:]Y%^@|[ᇊ\:ʯq|xx%H<.FZr6Y[6u<޿pAY>]rP͑pp=2J0 R'W.lb1ѣ=1xO:^SSDPbC\nhCB9!ڀ\6tRI0h\!BX|R)aߖ8$ݾwd@-IxE(Q}#>`~.zѨ~[y1ERt3_hն /5|/~d3p]8%x7O̧9ook6c9*|&P[jS>m&yE`29x0jhK K)!u?`!8lcNg[( 쯫9J9>1aDߕAILS{$Ҧh0S*-㝯+`f|GRd?Νїd ^Z[h(Ut8ȱ`C7Т#/qtfR&X}0XJ(twNM{MT9L٧NM[Uz,bаXwSwe"kw WY6E@~9| .OGt@CͰjĐKPZ Su5/xVVy&EYjf̍JhHn͑tX2eF5| vBlO\T8 Ҥg(@Abtx9NT vZ~X5容&hZ:#^DͰPd7^fcK i xoay^GVEe0蒒dWv@eh̨UKRqHjCSo^,OڸŞNcVbdgZ8_ ?=\zrGA@Z_>K㿥=V+l3 QNT8X̋S\T[pbieKWXJ<+WBr #kɐn̒5 KCbFT.jFSdOhoxxN(=X'٧l\ -`z464!bd_o rm,eMOV(u翫]"6c%3IcGT3E@΍n de]1|2dLg)~N pPT*|P(+>X)IS`ܣ>^[xޝ X, \i0ȁDy7n TO)C" +BhIJp@j9PC/ҡ ՙUuw`m*t5m栠cw'Ҵ{\fv\+ޯ- Fb ,ܖy;n2B 0M`@sXOmcڇ e|fJ0wN9p ,rkZ4~/lXj8pM*oGEZ|~/16c%cFq^LCp06_$98}ȀB23E[W7t@No!3@mm&u1jogx2C?qh20X=?8nɀRW ŅxP̴\.v%=[ $r\B#>қΙq%yצVٌku*ls> QݱS[p[/y'[w +pL1Ub=.Rk-FkIP2ڊA Arhksͦ۩Z-v-FDU(9BXtgArLՇӝa S"jP\R+ZX}Ĥk݅O<͎vP+mJµFwMH2b4Fo;at9wȲN#ǔx!W-P8I04Aӛ'YK /*sF8M "tԅ56,K wҢ8ӯmZ\w*MPOӹu%ϡ㾊"Z-"}1A0RңtS7f㹔wfQVIfS5Rku!pTxSt4% 5bA آo8<9 cMbdֿSxMoEqKR{mywo 9 #r\ITuBu;%l]`\CCn#^[sZ*f7.LQa̞MNl8c@0y@{z5[.Q IbXv(^3Hz 1P4-/V8"D?h%S8?6$:r+ pEBU:)|V6BB{nmIaSRuNMʐQqadw#pecл)D=N2\Jۥg'?;( \_-lmnSyH^&"I8ޝ5o, 0>54x1o+6q2eWp B9lߵGdM9lVq-lDڰqOE56rTqZz3:06g ]SeA/Mh+Dl5# 9D~ A0JP%*U@6VNyhK<ˬwk$_5)_bZ!ulg^Nm)IfAB:ɣC1FkO091 v :Bsovտ613h W#R!]S!Y0ZB57UzDa:{k2qꔺz)dDetՁO);g T?00dd1:t-h0OJZ6? ˳&G**Hmfd |n&+gke`]Awek ָp6 5 K PTG:#=x2=YȇTÄ X=bz'9 &j)OZDfQC!yauA0ǗXSkbFRbCӰF}xElRgsEIq%1)P58YU@ה7#!6d9p(7J;!C{()OR]5-u{*:rUtf۹1oF8r7X:__F&lu'ƭIgV(1n4s-˒Pf1O$/wPXwm~|}|%Ke8,}:8Lije]o[u"(5El tF.fux(m mk3G%,JV]} B+๽r-T^,n"|Y?IYCe`oɁD{7Zf+d.͌`)Rum [hcD[J+Ga I zF44u2-rkUvvn׹,MsDFX= c3l1£B`:) ڽI ?&&6Ua&#ZM:Yc,wF3qOukfVSQ& brL֌a~'PEa+OUg냞_nͨ}㰖Cc !t?J<ٻhߊA=@YD/sd>b>NT. Fq"o}#v]Ay*&p(5U:hGd3}2$|.G(v!/7Azg-[i,Бb[op(0(ſI|jȤϡKtsh o[őQफ~Q)8oڥ\&0lyrVS֑<"Q X]mM۷fnUH׫s?3QqڟTR Jw`Ia;)gZ_pp4kL1k@ױ jq ]`B72';&WĊJc_iڬ!msXB|.Q ~bDA5$6# o8CP8x~i\mo6G'EGYS[ޫܡd0U%.MՅ8\+Y7zN̐ Yʄzu5Ԃ  >pn7ғTy<:=gɗ00ûQ:#v\W!e<9T'cTćBJ$G9B*yi$K7~'kؑa^&]\+R8p-?VqAu=#@T5 $ GEL ?vMop>=AbB;2-5C"j%|!_kY@y$20Tܒ./)h6_SyT f$I(ӝ-_g?E D̲pN&ޱd{5c[ 噁'WX@)_aI:REC󼳈w|rihT/Lsnҷ#QGh~i}.!}G3A3TTN)kO3V^b"6pTK8u6E"a|)713V[5K؀t'!',tI}4 Pc?Iӌi<#FuLj9][ս?lނ_d%/&g&4ʗsj»Q@胗t;(bi quVQ3$١f1m4DiyY!_o@wB u瘯`Qe4?KfPB?2uB%ˎx:zظ3Y#2 3iFAh V [cŀ{r!~\ (ǁAl-vo |!wƘϚN jیeSz.ofy3⤳yJFdio+CȰNjf6r縣IH&|$Aլo!>VtjI6BDcGFRLpm )UD #Xp= rTe}~EMFuZTH\^~2qTܘnFJvZ\oeGKW& ;0È!t W'I y Nn&ڟz8w'3V;Y` ; `pGw#ZȁT4"Ӭ/BC@W7g6F|u^TW/9V7E ~gW~0{#{ 7a'}jGZ^q{cVfL̇t87Tzt6^1ɳl_o$zZ]g%e*=UR' 0gGJgDI}x<̉JBx-nF:3փr}4>LuKn+ 'GI)PDSAŕq ġnH̺&ъDT Ǿ,93qV#yy&SПZkN4T~>,&P:D,B[פWfd= Dq9p/YvDf}!90fLw2UfjM B犡1nA[n5ısE9mO)T ݺd#lø%}`=(e&0gtɏ#}GNh ZFVdՌjFF  Dd_>Q"n|1M~7(_~ɥw:O3J*:\]>:?U()'9RQ@DO\V4 y#eƸOTƚnVbPŚVC76 Vm~g;)"nfդ w${.M1v9"bSEUsAD:DILJ 6mPֳ6GLe_ Bz.F4Hp}X 5 $i’-vD(*/sj}\-|[/hefpKv< /fɗVq`]W%جn._o2tp>)=h&Ѩ6/2h-.U왦d\AFΎ* %~J%\K:t(ĦOVWL]yl!E>@㫺ysgsB e%qQ8o^r,׹hl=7:?xyigc5}}x>oZ{PsK!$8pA9A ~nG'6qXYg!e\!&j9 oSp߻OTp 2)5~\b2(%Aqs^7(kE~3h~,K(k O7C(dA`BӊT"?߼gc &,D2we.E{KS_Lov,0X C y.d)\i~EJ)@ԜH%4 _ ]^5RPZ({ԲΛc Vng 6b\up9!vR>OekemU˝$ P2SڅkG-V;P9 +?O8E\OQ ҡY Y/Rs,weJ[jaxˑPDPW{1i(Oԋ (؆@U m蚚z>i'chS[NDU^-T 'ZuUoUL3R1)=!* MnopHNrצVtw2RL,z彫 /]R:?>=Q^_sID9%x c5aY3_誛 am4fԽm%"|-Hs!+2c]8VbN ?6O/.c.7l4qN, O/t0Dhn帪N6رRxsԛ\&:Q@ҹ1$Yz&Z/Pؒݡ^XF_DgFBiTDƞG,.1o~f̊{a?,V=pnl%C x՚'Oψܗ,t(iOVN(WQ"ܞ0_aH3%0:aiҊswsUq4̢Lʈ7+hm.Nf݊$3ҽ1q=)N@Fz$׳6kp/̥#[Mk>bUEw誵E)E,^vEN(/w|\0+P/k)̝,F"w"\lT]>YQS#+"܋eۅ;RNtA ŹQzQi,z(P@rY{vlA-NLoK:Aؤ~KNÔe lY_顊3O0Ne70Q'4@\`7LKIg4'UHPl:jN{/?3Ԇy e8v_:wW'@.s3"IB#5zg1I0_;bMZ(u.L%=MrtlպScHod:X=CuBl\s`LueOV?\S~f fL;BMv zt]gto Yt+Jt]Tg/q8"yZ *Ke,s=!nxsxrwrq0W#ƚ?^~gSAԹ՝fb|HNwhN+T @m炊 Ug0feYAlbeTdu"T^}ɄgJh W>xrTBa7AoUdjRٮ"1g7fcOO ieq]\9,oni(,wUBI `z~x|aS8+Չ`. jW.qFAp%E bOgF<:4lzWd5i'Эg!'K>:JlFAr"=0GRbB_kg΅Dn;ʖiuO:o>Zh}<tz0΀LH Weiy!}_*b&!~sQ.ϋ&dБTE[k"ݲ[Y:Mף9&׬]3}!zQWcAOE,m@c I<ÿ`ʞFslu(ͪ&9Y-0nJ$U=@W>;mP)uQl]@k*c0'8q*?%)*؃kZΞBSw4ף {5;u^-0'KzQ׭6(!D82ѶG7%<4%1-i$@EkMK 1G/U !7OUU-4tFUeٳ!}kc~9Z(A!GٳpQJp$n߆*^36ZR:1K7D|zfvbalT'gغF[N&+m3k^4 P:GX5qƙ0I&}9pi|@^WSݽ۷;aeO_W/3L$2q1)M[dfI 2ma`"Vz9՜67Ǹوk3mg]x 9Ў- aQǥrrž}n]EeCн*7 ;`yl.5xI&RQz $(=c,8DX=+{A,hNG5P' Jyzы8KҭQ&y~raL0e=tk&Ba=.s%lqqCOuj枺Tg Ɇ:+)#Eckzm0 hcK-Oa~ /| յ?,'XAoAښ-kY;-x3ZV87Ѐ5`Wq)#F SDBDKWG 5&7aJjE:+)q:^7Y9X3`'mW&,w1zfW$vnvUpW4l{0Z$_D'|"Ddo6Y @C56̟,[oLq_ rt9aG=TCg;P@*f*^h] A0ktA{}_?jomKJZp^p#7#4>v$~.AAÑǫ5Vtq5#(F>x  EP 8{:@V6R5 gecJi[_._#@M?%R?ٻHY9i, u$&%nB r 8t-qwjRl78 "S-9@̘Ϗ "{4M}%ӗN-;]aGWSl/2*j<{A񛪈FZB#nz@0aG˹*=#][9@FWs@5޸'czyUG}ݸdQ<1qx0pF9(Zוed"#x]?ky};! (Vpi&yf LUeErp㙥^CJɂ4CM?lNT7oT1OA6%Z[R$Wª #j P<_uX9sѻ}2]O0h譟/B/vbKc6K\[ VzQ o0u19szYmo]b")%.su\ug==:֫R? ~/[3^ٻpgէ-l ˦={{ 3851lҿH Pjxo5(} si[ '<4 $R"bNJ}ف@`fSu< {}sB#<:koR9lv^N&ctgGұjjDyz {7E ^Mb1?3P7PKkPH&D:GMҏ 1++3_ c[kI9q};&~r>GMl`bOƱ-҇Il#y&aVG7[KR_q׉5]+BXl6k ,9tSmh[~Ԧ2ciLGEj]Wm*"f\Yň_MN5Y byW_ -wIY#zLOrwۯ}$i8[VZjU(PhY t@#_s5t' :}RPxa) q*Y955h3HY&idNNj2݀FLPW_Khi[we5L>/ W*&+M_[ 15ݸ4J?b!dN.|?`FФҲr-k4Mq<;޵1L,p$p"{ԡ5R &^:7BTaJo'@Y mY@;{B;~`j[Jh?i:A DA ;O-db8b!p>Uj~CNvS$vZXv6$&{r@VԛᲮCGE9Ɋ wtbp%oyh!k$_,.J>PQ"VS'%E[z甛Пb;k zwrKC+:ބF?$rAcɻ'zf W{^!b,1AM6Kyc:64S3,&>0>oF<`ҞR4Zje !TAi'x񈀩E!lX|4;D¾{Ѹj&h+ M.fln+Ӟ ARJQyˁS+~Sg(oRXZx.X­,=Qoz#:$cN4Meڜ =w`/R'qr0zk ^AJ^WM#IHU ?90,%>#W <]9ן6P챐[113#C+|f'a]a.*0`aLs+>i_fs՛86)~gsv^VuY<xLXwdlgݍKiI0;UM֓z斚xbAxÕtK:dUP,@]֞r)#%53H_?mNG!nhټ'SLWQd&W闯VҲ5q 6c2E(+m~h8q j\g['7e}^C 3޵@b.@JKK6;1;diG_NaԁbN9T~DF#MNmd'za|e3[ˉsTZ^{ƽ=noX.r3:\悢 nMCy6/ muIXڭėނ0(6-jl_$G\ju| >w|lJ8FgƲapqC }" )81p\7GΓifk9= 98:vc@4č&̃WT&=ƺF|D L(dL:|F?"Z_)ԧ&T&LrEL5 FQA6*W߶رae]Г;_ 9j("FC A3ޘ"09E-ja|>&yGK]Ru%F}mf @]o:~d)0e$|a=1Z.ȳ`poCy3bu5xo$ewO2"qf#0EygBFӹP7k4g ` iS' p hr綞i*ͮ]Hy"8 k&d?cڇ)ٵxsA I>#< ʝhOZʜhު J6%sm3.29e1JzM'|cʜWH >u cc Y/neBH$I >KA"_L¯m~-hG] fv;Xo [=@'x`It;Q si&X،1t4,cު'hA.9;1v]>N⢚_gקajyPʭѥT0 'KGgݙA aq+*N!Y -2mj}ㅅJyLD@ג08 os Uq[pFDL(xLu@'$iƇ;޼<UAԯ j/UO Nx1ɳN7/O?OgK(Ggm#1%zR2pY8߹Bpĭ<oV> "-VJN_u݋|[K ujO/v %~qqÉ$9*Zb)ٲY|!aFn-$`~F+:F*fx86vC`;)>qn)Xy.E-nCD#0Ny"5q6'_WH7j{rc|]^L TjFf܌|*/9//vs|Ң?Ilw^͌:i[(d/ꌗP$HڲLM72 "Oaː7ih* hl ս&Z/H 1@-B6潒LS-T(=0dqΤO{'ymwz/$g&KϘ2 $<ӋK"=ˑa  ~ޚi:\?E:$I="vwCVN=~zc!8P5 i\d~EiSCOVSo(zK geGHB3Ǭy(Vb #V$"|)XMk#.l4?뱙?IwiHgtm=AW}R߾$1B9}^\+{^;äK޽CJNzeقC!bf Pvpr-{jf Dz;%4[r! =>ʹٮ}̏M3EM3$[&7\TUɡvwa|+Ot rn.&` oG:ɑ'n;YSUү|]4`uz7\M_KA$DS T)]e$CZ?D[In*U(%0_hmYaYyL{jdeGr-Y\u6}x<68CV/Y EO`0ĜF=~˒>')4LFm]sD5)yX\v٤URZ|8wX7I8.H0~ ib-"Wy wĮa{5 .v0פ x ̌Y}b FgtXe0O#yHPͅoD5|2 ɘL7ܸNd͘XNFZ*u.T)vkJ_8J!?Hp%'K#OzͰsѭ7EP3wv: 6?#BhG>ya$#q My/4$n&jهym"*Jjj ΞSč&i=e1ܹ?|ёwp<6Zy2mv˴h¹Ps*w~;?d:J5-Lˁ7b؊'_>Q uQ.Rt ]us`Sl`Q v*HŇSUuAgn需ųNDK LqT0+QhZar@P Eê_B{0$y,/ǘ8DFs{EeN|~W*EFhŊBV$E{2}`AO`>r.݌L, GY7pe.1}@]5Ȫ`+DžPvjp曝@׃=Pݩb `鍄iylڠ;%И)%2^F\LO l&찝Wlח]n~-&; ܴJD$ "}?FQ.UWg$Q_Q0kص]'ϖaLJ<З!<3 GY1BdG,h F$bI}.焒>ZEs,vD| #? zXxCVHJh%.+Y_Y**[rVKGti:e5 ]d=*np,ʓ%-ɽADXY*Z$(OY1ϱ$h~<-g4" gPx% <5*.p͔.^o > wKAl@K4ΟZk_KMOzqsySFn[#XYɯF4̶4V,HKHp P=Dn݅>eѯ͉ S+("qFxF?N7?G9s?uxAF֞۩qb RbpcMk?=@9 #Xo۰41)lfg[es7`$x0  -nD&*xę <95鉂]|zc!s׽:vuIOP|8¸w5ʼVW pw( f%qcĨ>ļQ~Q̭ʡ` 9ģ"{˯;~0\~UmX9Ҭ.}i:.\n!zU0e"EF T݊E%ĒM@W ;m b3i6=C!*Fbl^LNZ,}[}n7W*[$$r\Lj3eθ:GZ»QI Md1tw,*I6 Od *p)a'5۵4,tCr/S$ eokYWU8'e$ O",gB4GwSãR}C0xO%< !rKHaDy͜Gyog W ,NJ &1ʅ.P؉(M,2!gV2;;#ͳe?vT-jJf_WYZ.IHo9=dG%< 2D56?W?Aw%Xǜg ͍_Ȑ1d NHh7$㓀 aeћ"[ؑ2>!悂gkJN#Ѭ^S zvdN7<.tjyp t7-ȾtM#IXѧux)p&:qךܿ=Ch &2kXaے|=g15lt.5Q*q,XCWk%/o{[`GaG/i v;2ư,r`z;k BN ( 7MB)A%Ͷ:a)~x\l2f _z8.JxȅWy6DĪDY`Ɋ Bcv:y O<|;H2,''!Q\TPzI1!$.IB}҉u})jAT^9|vadRvjҗV76F"<_[.LxjU/zw5MqLnjvB#/j -wfY4$.$a9;yo| E_7rƜ.cYȹj[E Sx+h"m7ȀHoc s.\:>Ү YK5P&䊾IW6ϧ5DI(2i<rY$sᲠiwjH?m:`8vӸŘ[ve4^Nɱǯ0-Y:/#rHiA>mAI?aؙ uX-uh:TT="oҘ qMI{L!FR&<<ᦴ,.Q\"c|S4֟r`0!Bɍ-i49vhSo&IVjx@@hזEq<$}R׹nq<=K /ghcX\w8mpՏ !jLVY"ۿ UMv5YY6h#)ڄ*0r'Fni6{9Sh//l" *fx};0=Du\ֈ:#6,^t/adc)? bS1Zu9>ds:JS :tfDʐ7@Gdyqf(o˨4IOqZ x1r#+prVueRqg_>[z"%P^aoÉ&kTًƔ > 95tFp Pan_Kugm@V]EYNB =qz<1Xl0"q:C]ama/GC׶[Or/qTxT!lWīQX%r@ܷh,vEz]]Հz[DPJL<.& ݮ"{z,?MN=H"A ?R6Ei(-ឌgӄX] vMUjS l2JڕixoP벩1!=}72Il8S)R/^)ޠ͘m48V$;4ctZْ7PԨ6aNUGϲ?=XG+-6ӕD-N=< 3% n?j;@TX=wN ;3#8B߳JA(Z9M\%.3ǗyEJ.^ґ֔Xt%vzhBu;ĈQLɲIplFb8;]6Z Δ>NIsmݞΖu]ؓwf"iA@\NQ/,lSN[e:F若/S: =ϲOcw[m}ms/נ>RIiB]URRR d;ecq!qZ>jkZ&Ms!ØT՗X6OKph!sk3<; hL3uof1.f?/vz<݇{RQDGmשƼf}$l_:OLJwC5?MM" TT5 Qbߟ#GqO 688h*@gcg2 ef0_ qd{PҪ :ySfHZ}dF:%[L,L|`>8&\B`6;4?qy%LzHOU?g׷ɚUThZVێ^?H|~&t*ߕw?olWvw-?,X@a71Ǩ' ؼs:Ѭ/79g$ڏ u47M8=?tpO36?#.QKDPL ;Z͒\*Goï~_ XS0O暅KC~bQ6 F4ǰVah^K| Nϫt[-XSX~4Y,UI&0nLƽEC\zO28GDj8T]UtbtݡH|k#i:DgOd5WƟ/{'<0n)d=<i5Y1bHc =cw"نK 0qfz`RcAK1O׽Cz<툘[u_AkShY)(H'tת2V2BաGyR[\0 ܆gJw}1[B-\ĕI(>zoעpHgztS~;udb"fS=ZQ#c!6Ch+ N)-yY4mMtDOM"A4c-c$1YR'lP n f0_;I3Z"z\`*0L\0:v@T *&Ou_ vӝF)T0Ÿ{[ c\~:i^rH`8; St/Wd/<˒AEɤQcWK2 p jVX9efWϕXh A#Pbq6KnunB̾3ĸ2*wk&s#Iw$)Xo4X]/͘qm/%~lKo[lisy;,& R\RTsO-Y49?Uyԃԩ3ٴOLc b4s̓Ӈ^p΍dV0z7g __bPՏkD3$*#D xq&2|&Mk3}Ŷ*UI쮝D3 r?8Ydjss&[(29j[͢y?gK NN?#~GòFqDNOJp0v>i_+_[Pu$"|浻[&89T$ )N lO;ۘ[YJ5~ /ϗSUM+fK7^sjERx ڠF妬

    *u~Q6co^][y;Mǎ-]vJYLS|<3v )S!7!ʞ)r,2w Ͷy҄2 0ފ0BM|1ާ< i#3"[FՄVZ|PVNnИPf:QQ򆁐,K Ch)) 8` x w]m%iu)a wmtB_FMCY{ZWEcm1jN ^!ͣ#OYVh1,"Cq:VFwGA8!)- EԒh弨Y_$ml@CP"W`}gP;'! z[ĸj߇A!ej,^4G FZ>hD$-l v: iVInO;j}&%iְX/z"^.9SorS$?O Lc\[0qڣ/zԙ FDaR+* iE8jn6cw',*$ٞf)0pr4OK*ڮ.۟kL.C̅:f Vt2!BdD !9H3cB?A5^3陸caZTvuMט4H'vB7qtn>p!Vڍ&$T#F|B%8 $2\ EaVunurԂ2kSIt<5";9֙nPɯC1j.0T 5NtED۟GTtYWKyM}QL$33MK{gL#.|/Vv;H]≐i 72|'ʏWD}Ċ}(#6As cӟ,E̺ 7%_bKyr v/.D.M`{"<_^k$HOqDHr|3=F,.uOH9 #Y_Jf"\`"W@ߪ>@@m_kDghh1?*+Fy\qUݤ޻wxx޷6/} S-h"M4# 83(un(^pT@/q *":oRLmg4dC&!\dR:=”pN@cK>$Ye,!pRAHW'pYDcLk~Q>B >ACtaHu4ivЏt[[2L9LᜰTЧD[]*EyEu.aiX X(kߪhBEP 7+%ߊeA&45@%0pI%I}4[Cwc9 Q[ .P,E%? ^«OʘHBt^u_u!P {3R;|*0A-ii%RboM4YȔOxa>7Z=Q7`4!$;]NO'5[r;ʁ/a\  d<A^FXF`Ln~'߅#UPuT^_חhKGc2gOABO ]2?ffHT4pd?V;4(<ɭZ'Au1jPr7vB͎VDM(3E&[n?xϜ0.I*R? Eq0ކEd&c1gVs)kVmt̆GE&m&Tes瓏=ݣg{?VM#Ο*\C4w v*H Yـ @N]2[m]&Q40GvaL~ڋ"] gCW&0]@blY&+y0w-<9vpx=y6+c xCsowIH!O ʚBLrˇ0 b+㜲Qm=< 3dÖGf̈́ 9Cq'AQ_qmx馄G&Z4|E3~&dBh\9dQߔ}<.EƔ[KZ^T:50t[FSRoelPEÅ1 A ^}*xW_N8;ð_B{n(odgAڨ7xxg60.s"VL)-N j]ј17]?a\7 GA&jjБ6ryEfJ kB}FC_D:u.LACBT]tR=KKbQjs">O 4fVL{##QD ڗ\#udZ\!=,-Dbn!FhUY~|=nV;"Ђ)-Svz73%i0ĵ D]sCCL"x[Vr>쾷O%/էӻq:8ЫV\hUp~XI"*^~*rXtXE\jKb/6Akޠ)] w]"wzB_x^xH ȸ"\eUwO]daɭmlLOhi2"3N9' "UW*2dh>QN=aِ:GX9۵%R8^+~ 9;ɡB0"7 4L%GHw++\]X{-8pVm{ yʿBNV]X5U>BPr8B|i (Poe&3p Qs/eS:Ro;!+ilI6 *ѫkծ:dqSV[|̽>4eVmDqkDj40q${ٿ#ȟ ^oϑ:_G }N%<gif@c$Y00'6a@N$7MbkgLtsYra-R( z2N* N /97ZbyXʠbxOmSٖ^(Ej8647JG Z[*;uӋY~K @͎HD0}! WlE;pt:#~fĆekM`:uJ70(c!3eZMqT@)R]1Q]3Rm7 ix+"w|VI1r9TFO'0] 5hQAkKYz{?a Lc)[6pv"W{b-N;^r6=7Z1a2bs|=->0 ~.i47uVat" *,n6WcQb豃S0Ͳ4}#>\]=1=Nam8A0c'`c^<*Wcn luy7k8wuD"x,R"K,@%t^p^245JAՑe-/,yKϻJ 7q!"S(NGds[9,8w ) K.oYLD;'a'V&Vm *Z+|y=l"֚XIP_B,n [mbW}6OKCicg1{2a1󑂐~Cmbs:47ߟo= BB5r/X<5},ÕuN9 Hw[GrȜ1nM/m1eJ;.O\zj!ܓN}-!"aqF4̱ AF{ь/J&3|ߋV ~ omUPf_Au1YuՂ"pbøyH 2 :߬,Ѕ7Mf [^~!i׊TԹѷ,v5֨[X 2Y 4)Rw*/%(XyG9v 78&)1&gHhE)Rn$֤RѲ-Slw.&Ϲ2ʉo doYFn|VӷĠ܃v심k<^=n)})G~ Pu?y/x֜"V Bdƕehd` '5}j&EhQ~/}w}1?DkE@g|՘sFv*^J |$]~Ҷ!4F(O>a^+.Φ#М;CأGΏHOC",avX9F(=dA[@_,(XUVA<޸ {@ֵw!$(FiF+B <oѫY|^s'!Hghjn?yM/FCnPewSFSJx!m@AvneD?EkaP A?+ԘgMZ%NNa3oie=2ųc.~-/*VQ(C? Ão\awH*-16/{sk m8].7B']Hz`}Hfu4-$xH߆ZG74gʠwl }4?eٔxꏋ0* Iz-Q={@)t[q5*^p]9]G+B9)h-z˕0hh=(~qEJ 7ӨDM| IpF~-5/Uu%4Vu|W0}`Q~kBlD&}G\k nr;D4gSwsۇsiP$Ӿج0KpayyZ.x8@0'KqG!ƀ ?Y-ؕ2Db%f=Ag30? .b45EA\U)IcH؇]q)-ꀑ?MΎP'q?}v4ri@QiN‹im&^ Gƛh(Dl|,Pתe7)//0h#q4%R% ?|6;p(|7URsi[]PWT+aHW(Rp'szh͛`иEN(/yTcY\VjIFΔatCO@M4*DI?U 4olaxy$! qJNǷ: @@:Aԓp< 1h@ 7K8R 9m }7rfV5L ͎J/ܠɴtrz*i*jI;.LyĦD7G<Փ3< ^i~A}ȷfi8q!Eq 񪃺!MS[HڢQ]Eƞ$oeB\D( &Lϑ}eu__Ep^FC`2U7kWB<`WZqw8 ,Ɂpuٱqٯ?Yۂ#?2^C6bЂ6*@u ؑgèm#md3 2Kş [>"V[::!5'PE)Ja}}\B )M3-_4$+8M2T/Wz^ ̈́,F|HSEsKFR4#*EԩyY;!ՎSj _MLYgIg+&"kwL1EM${G͸|BfN6K|wZVqll3M9&r*b.:x>x?L I:Et4V8:yX4]Ms;?*!~1 p K6PM4SG 1O8i`KdYۄ|UkZ~YVe"]eVi\7ԥw~3s#|ܢ<ӉR3Lv䣼gIj'+GLMں3h æηZ\>iF{>l`w\nyx}r.gIފo|S--M[dQ .mZ+Sɣ"H .U-D"̃WUe!r4bAr.;__|mrorJdw1?S^ 5V0 @36A24Z 6tJAу[3,L%=|kH~(|efv*>^{/OU5מ+ՈR@⛕(Ӝ}2^_ [2BYc3tEQP/fZDTHSؕX\*uf ^/ rZ22+󳒍/#O'7>12>uX+"VwdFb_w"ajR*BQ̂&*nJ/Q'9D;0MzāDPᙝ&"'{pѪf˟݋x 7)]r(#C5hu%2*37 "P7>{OJ=#LJe|0Rfk5ӹaZ\`?G X?3r-B]?jԱyK+ן;wU-X 9ס!Qf3 >G31뗺0AvX)Mp$`j?Zv/3ȴB%czֳ?ဓog*c%goæ忊/7SH!-Y+int19%$회ȝCnGÓwx/$K/fSkPH`\I2I" D$|Lus*kDȑ "ڇfg? M;<89#)nxzLڠ9XP5N7z%''~1bjX cIY LI`Ÿ eN 0s\i!((9|[FyRO=lj/Zk4NEחv%RQO~\1?\ ޵a)Fi]! ޝfzsB3h}p8^AL9d.ogC\ .[@DN^H(*n*v7Q KGMty5k^lTm&O -*F$M?o 蝨<#pJ Hr\]E;Liw{䨰&#dϚjtS8$?lᱦ5?MW\j#;.{Yj(A ζ.8\|dg-u)DKLr7xM<+&zbYf܏ u\VwjBeul|9}ҋP ŏ=@ۺ w-OpXV&u&;f](,na\ 8y e.m(E6qaΧPknW:h}N^ģ 49 >yg[Aa@x5Dq RTb&5 hU~w eP9#&'hAS-%{ j6I(ʧ!%IA̒Vg-%f~̠ދ"g̸3#!fh@dy SibVڟ9G<ߢ>qޭ,r H 3 wXj&IwW:fӳ hS$y>NԵOf-G._Q·e"Mf&}-zT'QrcCIL'h^a%|vDbvigq9JRuaMLU;dUɷ^wE֨Wa`rJMAk~*\]D]l+ߩ2kB;x+BN6ȉ>c{N ;Q3V+r bمwZ -ݾ:k4W/H컝떑E)t0Qa/Bbi?U^r{BQI! ('7ÍL4 ^EqT﫳+O"-B!f _ >NMޣ0dă?CVڿ#x"hzIb6@\bvvJ o0|B\kqРB-gadǯA8{@2QjBt_u@*nDu Pt7K[Ș1B侺Mr2[Yɟ1^DrSK:|Q"} o"$Ҡz Jbl{N>4PQ3=GtU#oKT)Bt+<TݻKN b!gXf+ A) n%PLJÓb:K=95#R8^s?+}en7S;A6H<hgu :Z:(!ϓ4 q0cq٭mƝSM\xa9JNw%TNf^pwW1o%W-% $s ށ Ct/L2UI0k;ñ%Ji‘QL9+g[h4LIM6.à"S&;wL s(Qv&̔:xvbHlK$c(θ=l{`H Hl4W}L u=v|PJܩF60Js3HsNzbݴc ;t?K4Q /,|T 2|vTmHqᠱp*9IMɇnlO Zo*hu3K"3浏 "R}YI"hk`U#͚;TEDu&Y= QK?b &-1~K ^G" 3%;0J9T|E}q13L(>_cș&~WeS吗1c.M ;.$ hBoKs~H\s oP~tPoKtվ.uQCeP Ḱ-`6OB៍Nf1VK /WcyCI$ßb˓iRުhJRlHIvI-9Vf:^IX A#`?)<}F@{yp &tANŦ8"4$ΚE\) &ݦBU:D[t'TSmt)0_;x}v`i9 7( es3Q=YL\%AԠ:7apFRa8U!}Cf/ ɍIggݟV2) =e$ݲ]t*I#R+Y(#D( ֬:!"!kZ#3Wlvh,b`LݕnHAb̓U:ՔCl$*,8@FZ@=y3d.a׬-nk[68@^N>f'Rbg0샥,g!*(6?%;g8H9=Y eբyĽgzLjF7XPAgAIM.USv,uH94c󨉉62ߍ5w"EeR+X)*B] ,jgf 1T ]ji2PhBkF,WB^5g@-hfdS;[΀u@:wNL"PLny@nkū ՗9n)``oKnn~߿XNirƥ,51HKnmH#DCKyF>}v@,V(pb& / P`o`; c̊Vϧ׀AfШ&JdNRH{C>$N;O?@HMbhX(t$Jw%~qS,Ba/d 1-F1Wt_Qm1!,Zla=-_]U[5JM%QsZ`ݴ9ӗŦнدalWVBs t"T&oA *ߵ7Kia6q-2JE-4w2,a׻g uK y"b iߵS^Ss(SŰ [N`~ :< o`ye.<,-c95 9r5ash߆P`F=+yy\8/C]7s/ܝQ٘`J)$y#-y![ފ-ݶv.b +UWJw5Fc;W]$VLՍ8[> Xqb)*УrZd 0%`"ЗXB`617Pbrٱ< 2!?$gSc٥ԜĿ9)Qo_U:j4B]i@0}9-'(LYPcF X,GF3(zQ²S"Dυ>X{KY\!,B;P{xjr7 "CNl}93n߷R}1˵\]*rK~nD3Pk!TKlc-ݥAwLcFЃ,GK-kҭܐQ_r*BmP([Oc@%bDR26Y &0)c4]AqߖV9a` ,?ߺ7Y?<,b*:b3DU`4ꀿ{~Z_s3A4{><#a&M{dBR|=2?i'q?*F ֝}1}F_W ޾yOU_l5 Āo$eeu!oM/tuz_2lo=bnJ Q@%f aUx1)E*4J^,@ɆgUـv% ւ<ܒѩلU53- =fxi3"sڜv~ZSBrvg}p噿ܤmA s ;jt),ߍ* u؂5B?n4BLT!򚙤Ƕ7!1 k1.U}u{GJG{Soz.B y}0: Tz(y Gi0heUOY:yBrN|"IA>~dݓM%'\]Vy\vf̳zdSGe*yם9Q;,y7q\[f@^?_Ta7},[1 LK\,TyzxvSY#n5B|F+}bW9 EyٜB%MU:$9SںJtIZ2pԴ]ȓYJ$atMXTJ )uу`{9&90LĴ/:3fxDPD9dż埛)UdDŽN|@TT#~ ZWv'0ImR37~^>HU0_FC䀺iʹW͛]B*nТ仐Keɗ OlXFc?li{uVYGW$ƒ&(ܗA_'(ݑ`Կg1G/a.9Kan,́y^+/}BȔh(CO8͢LlbQ FE{U:YC1xz6 g;P)p.z6lҡ Wv1="e fQr[*U M ^NOxzy|@Ms`VK\>.}vyr~]gY! 8ؖ B Eqtغb&o9=vfTfmH Mzb1PDXk ftvnI_7u_Ci +"!h:B*sSD,`6ӭ= #yZ,Q&K^D5C }~V~' 7t.oϋ:1wOs2-"kɋ~̭v2 {fꓥ3@7?!lM:{ړ&q!|Vwd㏮=َg@_uN c22Ieht3^pLqrRv3.=qߚH)ȌbUCU;k9_O6bюcHn{ aujb הZb69nQN&0K5-SO"w|lԩdI}R:9"~d^I#!N{R/g%(7OKmH9z[:Q-/\bQY.mZ64 uD1Xn-!l X@DEwx}(ʯ6φkK~2h6L/SdU tdCym87dmVRqt '0txEͧ)gIrcЋb%@#Nk z-xЉNXc"f<)U{N1D2G3le9y6 bX`Y\k$Ÿa7F7"/%2pf3>{df=p=6(~޲PZ,u3VE]J41 JK& LTv= z h׷j?S6שfL 5&k CPf^%#ĩ$D 0Z`Bsy! @2HKff*2] ͣm(t9v'AKf5X lxg523O6'{",~(p C.ɋ![]2ɘ#*b0 -jo%7бλ2at/Y=żF3ቲ<@"uOS: &W9^4*V\QڪtoaE`ʻ{!d kI>$1N !G0 F[Ԫm})hCdy-v !1.眃BFI:ih­xNcl#sT+rD̲xc&~,1WǤra8;0+ =R$L4FY$K(x7O#v}Bm1g訣XoY+ƇuRt^,'GKa ;Vbd gtf3SIq$ $\yw{'GBgGJ.{蕱GʗpG:ay^]5C\ UagK.GǍkOW{9>"mǟ$^W׆hӥ5*@r|a/ފE۰a9bє?X@V;}!.BMX Q^Z알I쀯g*2 zw76w@JGH[L#&lUw gPUoLqԻMS4{@O*ps~ LLW e'KQ 9mMYrVq-E*5#r #b!,zG8}酚E`%mnSa_-!Vzl}+i#NDyR$YƯu\{؅M88<H쥵&z:<@p5zpRj"pj1k(T"*Q!bjZFgA:j$ ||&  &ۥʏfbCcζbUVraq+s$Ck*97$F_͕ӦZe>;mf9/nMt=eb@W\ ӽid+Ì@wXwK̤%1pHԍdX'Zp 0U73q>K2Fhy}{ f\kp C$9Z XMLp.)P .1<܀fg2wj$cU!cVNvڦ ?MkZjo'5bܤwd/P&y~X!0ݼd`=7\`S[Ppna:ԓ0%6yz;۲) X W0HĦCY "ԅM[A8҉c{i(?7' gkJ17K&u7-Y_('jvszT I-J䣄nۀHG=szx[@ .]ʦu@0#XO[(.e%`e{!)g !ZwiH!kQEB2쐖pEBX7OOCl2YTEEtg5{Dʧ|^ a#36Hjp{⠎3#.hߘ37-ow (> Q28l)Ū$ywYAg"w goa"ரY;뛢2 !)ו0V-T"1O68Dh]uM}p")r"}Ҍ fX%N~aw~XVS!dE\BO}/oZrćҤf*G1ԴDrz"]: Zo`@sm'RNQ#dV]Lig4zn(&g]N9oʨ8 *xܔbҮ#\)k% Cps(x>#@tnm J##dDL5Ͷ]kBKAocr i1DEش 81Cog8"Wz7tJyR . N#Ām$ychAk~-iMOHT94B`S\Vg!wr&/ &Ʃ•Q͊a}_Ȼ`y) c(^wVe󗯣VB|ˆaM^nvnI@M7Bj&ҋ%oj-u+1Uy§'(>!_qePԋj]kd7oC-x_dUվ.x]Xr]wVʔL>M_'yj>|$rdg PL?H&v8.pđG4p-(8|Zm^4$SSО_f6o3HE/6eRj* eպ)K.93sDVb7X;WAUq[.E] zOp;$s;V=(5E,6n<PAr{Q93>|[+UB[瑛NIv=O .;~a&{yw>5` :|[ԴCѮ&k,Vx1#4ŒN>H`xHĵ/|42_Ni`}K$S$(OME}d՟+W,YLm?AkSڮ==OAzۆP2 轓^ʩK ɬDJ FgSM4*T H $Y:r|R# @Q$ZpOhp8 +0xXD0ɻh'} !D&uM`6,޿{<A~kuP慎X<R5!h0!_M>-82d͒(AGel͑NXJ'!GlӘ`*UZYFZU!l ኢu2 biXD<_cWb;zXH_fg4Oh]:TLMʊ]⫾l'#$Qi%ȡ=5j&%j0w*rVn]'zN=ؐ OX욜WC$ ؋/0 jRҝׄU=v^Z|E-16xFsvQvX5hP Ӛ& 733>A6%3 CL>gCi`#"I(r3蓆W&of ݟguTw#чټPY||N*0+7|;(~ٷ+v[d~ZR3%+o%Z-=] $l 1:~.x̗\Z* CM;/@2\*ogq PfB]x̾d F[/6u2B?LH,CןPS+"dhZ1>l< ed prd“5 /YUq-b|e\_)A0ArJbc;PVgf}i'!;C}'>y1_oFwAaS @2jpQ{;`=59Rܴ qޟ%uJϡq rϫҸRWDBrq]h{Nd`c=ʈEh?,h/h @'v'˰#F^ѸGY,ׄ+()[Kr^ )4#6?0{:[zS ^ x5N [p"5 \нMW~YZۚRQ|[{pȥ.֘$kFQ~|_sҔ4 y!4:!cGh'fQPV̯vJm &h/XvW&J0,3Y\ZxhR6gř_I k¡Ԣ{])2 s ACf}S6Xt9Tm@PS]?t">#]Y[5r 0w(iݮr],>-NU5lfI_4tZDa1 o塿+R͊]&Feo׊vKwm ɔ *hjH[IGJJ,Bk_B?fiZ|G Zv:( EW)-/fhVKE'bЄ$D)$̽r_Vƣ}l\1#NM&L_ )$ä_W_ ׼DJu6z͑BlI%KD⥣ h -gQe ė@+`_\Q]tDr=?HMhi3/SbDG\/bXkIؤf"}MjzE"oz0Vc;7Df7W }Ua~TC.aT+v?2J4\̅4FCd,:63P%wVsj' x17L%5)C/%{>ׄP8w] c>QNHeNOn)Rԥ̡Vԫ0 V D{!-sRJG=yUwMţ/!\y`;Wje^{;pgN HxEYBat99yn8$? D=~-Mɼ2 izTVϺTbI6Yۆt?:1r @aT.G1"OZ߲۴HD @вehR%Z%zؕfp{v g [|<')ƽȧ>&5f}w Q֯hݹJi [)לU.9v cI^!CC#HBq&қsQoz2 JZ`k@N@%f_憯Jfw ;<)Vʻ~0ӫ녙vt+/J_CZ)촂s ʬru5T}L4Sq!뮡lѪM8dU"r|pzٱRpT S/.Fr?8F4I037r_D҇\y|0I"%%NYfց% 6pBn"69j X nVɣ~Ӣ|W53:߁9"Oge(I6F^GC,Wv>lLyrk-4dpKOlW0TWvD FC譯E{⩌}F~$Wvz*>ʂ0U*i] mqks?'13]f HrE,SsFѠj5: 9?<~ֆ)l6ߺ0D[esk+@Zm-q+t(+Y-(Z18qP9^lP†} 4xhL`㇫G&<ޭA&cܥC/ziÄ.Da*HȱG\,| ևc(JKU>hw>+(+E7&u ǢOװVfPI s&Mn_Ocݩ,6Ln_/5_^\3HRC!s/ZAy%67H9{[^z[W=  9E>8۰oNo~nhp-RNbm pLyO(NRtuVRl @V@vݏrV lnE{BjKGnu@eB 턇V‰֚#5 Cxp-m#y-J =;pqpq4{Q7#y2ѥ\'iw)_X8=\A{ݭd+Hc+d9l4~Rq'aLF<1ߖt2,밆K7{^C_&eyKqq?a4M"λ0vf'`7>RL]' m2S~.i:}H8۷!9eh+oc_2O1HK2VX0xF )+Nfw<}ҨLa8Ýi5/\;WAk&:KiAL4VPp.%Ots-6 \#E -UUL=@K(]oq^ebC۸PĻ0X89: GdTRby& `>Si[vOaeM[orf#I2&acڙཔ&8CAHxymi捚 g/CLլM%bvZdp.u֭;l(iQ=EVV_ՠ.9#9j֑7x1~=GUGbv_'~KF[ܲmSzsWЭVPv+gVcQ>N: 瀅1ў5kYIq\(#5R|Rφi4Ia1<2X}l VҨs+xg}Pdf!ZNvT~tak5:BkˆOq)"|y"OƏ# ,A=xȬ;l#03wQolcՀI]8jа COxʥBPNዳUftC}'n[yƲjnoT>;w>I|hȘ/;B!Mu ܯ^8M XjW`Pϧ.:C@cOcrZ͠1OZ?2l3RYCep.w+¦Y@^]Q j&{' =sEvȼ Bim|rg7ybJiLdzkPt #S3 %$hȮKP}&50IhVHoIG_9]o㢻+}bf>jv54ARgUT镎2Nz 16^0%1މϩ Tn;/hfQ<J\Dʙ8oS_]BuyL %V"ON^Hr)S}150d5K2[+3Cc'aVp->r`Fy !%-ˡ#`݊`ꨕeSBS|k}SohR@\Ϛ֕kFr뿅9eFI_tTduc?* >^XҰ &Bj0OHޘ韥Q:*FI ^?DF)e(}ȏgDLSIKEʥWVzhfTZGWsluQF^Nv\#w]+UM8|Jxp5 g>zm$/Oh''4muVdnU6SV^,L]%;*wpSFQTxV@!W.X xgG>[x)U V%S$_T^ vFB&~"i@co 5$Zi*[f%5CR&!<9Aњ#}=4!S7ٖ+F-s-( ^9WIС;xO~6mz]%3w?MhWșs>dMU^cclot̙wHU<}H!պ{ 6GJB8uzuj[߀Sm0qM |,O>GɪG1w~KحFI)~?x.X.g< +D\^qZ=8U B:'EGs ,oRg*a?d7+b7ƄEem%f)Xw^ M4iEPPpCK{[2V_ֹ69F(š`x';g٘~,$P`## p3D4ŞɵǓq B(?t +7tK\{%KK mq.P\l$]/sF9 3Ds'VdOZiaJMy;:8S 1L,4rXD#u2u eoOY;a#O'P̊b?%m Pr<k)gB]}Wc0qq^w&'ĉ FvQ/Yb_y/WmO UYuKy&Edo͇҅܈]\q7b3 ]z Q(8 +!mE5))m ϩԥYCجڬ>(LEK i Xn&q󃅆Cʘ|"׾ACp0z2ߕM$pJGkYMEy72ya:! bo߿!ޟb{MnamsBڤ`)+eE 4D; v1KvNx(fg[bH<[kD1iB-ੌUUc}ʉo>XRO㚍o7w\Vh-Ǣ|%Rt)[ۦ-) &&0W,o)2"|MycG?Ī/$ttdvmWxkڸSDm8nĊ#M[Ah/SNédvGo6Ft8ET\Jt?P}|S/W?(JSR =,jqJ7~L7'thw*<#95+'76 `sFEYMX"exh-D^r2O3Ѕ4k6MfZG m,R'(K `# C*XrsHJ۳O}~*@ =)I.N+3u? N{Y8́F1EAz,{(sf_(Fg"Lr~Fܨ_C61R;|ۯҰe8ڧxܾ)8H jrIUdEFA5IV+oĥui.0Ԛl#n0 (Y1*DR/]`j)* Œ"ScK(dՇ%qo6j8x.mHV[`tK,t_.T%$xSM,@a&rj6%M*?rЮa + Xk0tJ'U̇:gl RoIAϣTqɓ!# |af;;k$CZu͓S}9Z'Gt5ŢO#q[#yҩ7Ň&O3x{vKקDz WrCOmETu(KÝTS[ 섯}#dUvrX@F|2gSTN2DV-* Nk8~ZӬ7a'B+Y3pf0dV9w%k1E } %-[:yfF;q1&B^zC&$1tσʤ*gkuR~rBZW5< 8*j|hpŎ΋]> 0;鷔 %MMP8K^v| 7׭_ʊ=Fgh p:J޾ݧ9=6Z{0rȜ5kwǯ5X|LlcZ/I$WV`?&dUtJ9`B2NYߢmM"/r x.`RI2%մ]{ba9dJV @أc ?? $d~35boo,{50"9d`9+ wrK/:N2s5M #a6c'+[˵NsT7пO`9c-J[0`Yʄ(;MWרrFOI;4KynꪤU..T8k/>)]w}V19ZͶ|Q^BIcCZ{X(H*2PL·y)X Ba~{mU[,(w%.~<{"n\G_amۯ`Exkol-o&g~#&j&0) ,VnML̠jm< 'Sqfs%#&ymqPrr'X,^'Vg8 F_G3Gg^TpQ")vm#ث:I*(|d=>̗ &Qo)[;^"!QtnUVXp=%giuN{>Tl6yllUO`2TʣW&bx\حu8;uiJg!߲vDqU[%3hw]4I_sL>:Y4}U8gM9TN5PwGyme+ ³V}@*dmmjABo PP?Q[~0pl8`B6~ɋ+СXl)kf2 +s=s/lXcyZLN]נ ?RybzŮWb Nѣ#*-ktŶoS [`ᱺu4HW+%C2]wzSM: /S!BsHīw%:|BpjkF:S>kH_|X?ȇJ'77<._5LRNpʄnF R!;kowL}e1lSſnɫ!6+/+:_ C1V |!"jDt 2js.]8O6zTi ? ;) h2*ǔ)M AL&]ER #gC7P%D$y={^ñt=V<NN>C6ӹUۙ] .[U$",ImXpn7Gv(/# QM~ʳ4mϊ6^ ǃ n!緳Q'(樃UCƁԄ] &S cpՕ_ASƃ0 KufU|y*mϻ#Il@?Wo/F]כAK d2k0(EUe72 ks7}2DلeKq>6a8Glofvxntv:$zm!D6x0yTKq߇5tZ:}c¼@[VPpŤ=_*#-Ŀp5Jhφ xc)2__LvBw:v}ea"RCWFn6ME/x24>>^5 zW ĵ L&nj}oYzmo]zJ4:q~[{e!;BߪYsk  (w 9nرCǮU רbHBirĿXmvЭkԮ$.ϑm Q?7v2o7 <0_wC8yVpWR  )7F 6#_l@1R_e4Ի7_$X#8 "`Ǥ4PWWmK/߀ތŮE&[Yac/R&Cۛ%\YJ&3 YJe$5$NT {Fil2O$!̟\ #c|tj֭pȌʤ6ΖzQ/lrfB%ggOdbÔO1{zIa}KUP1?|!%q]5kfo[->B|z)rx '$X-" y;D ߶K\0Qݚ{:/tKc(`#LCn]7&'ONl\ Ɋn'!W~=b#E<&"؍%SXT/mqб /i3: vb䳗I52Xj~@^:-,,IuӣĂmϰ oxt3ug_xT&7Ldnz䃗+֔Ɠy){r,I:d86O-И{CC4]!De4O&C4;׺}m꾯#d9Œ#:9L zQ>9m҆ѶqqN5BgfSr|] cq~ҝ]'@| JwC`Ǝ}pʊ 9M`WQ[ir[eJl*tM4ł/ꂢCN`V(Sz^lf%@-xQdugMcaNj"5EƴQ%.zoP~!75 6198Crk~J0y2q86dz[ă,(P+7Ypm>»[.GvFTxx_lrZc}߼ޠ-glG!G,a%_ ܥ'W1k{My=y +zY=TѨTuͅR i6YikftMt rޢV,^j > HXSѢ?6&a~XIFC)HSDݖQ Ύ] <=#_}ԅ Y!K"q(t1 Ǵ#h .Ry $9~}Ou`Q#5d*4x Ѥ = iy!Y}وW-;0=uD_:)XJlWhL%r  v6rOWҾQ܍G>i0$oX'egw<%;+dkil*´^eAjJB*TWaܶyȘZ@^ϻРQOaSo1bJGtvA5_9F%Fkh0Jk;+RH]_3{|;9hڌ0Qh0s󢍔E uz 7 xG87sno@Fy%f _}[)&M/?x=K ա9j,_3EL-q@͌(gjC y!bӣ[[u@8ib5 oiSNX`2ƵgT~&T7rk |;2KҌ^98& B˓W]T؈`{tB /8AR7s;nuF&EE&́Q)#rhlj[?EYrUX]2!4Ot"M1δC @-sowݩ<3:YKdrLm:jN2ɜo֟v8긪ݙ˩|`Gh*冃=icV.z%߽<0z|exv'GO߉eI)% `ͷ*Hd̊B /cp#de(tuzm*"M-#tiBz~Nguvfg)?5 & ~moŶi@Œ-\@v2|u0<bMs0q=%ˠD8YOv_r`o3DR} a)aoN魼5`Y1Ec؞"p$'_Mn6@w_*WFұ9WOm⚭d̽,?IݗTXyk!˲zJ5+s8'T䯋pTk{w$,x}!62*7ɛ8<rI+Zlj(]49J`#ƥSc3Ѵ,ɬ`@YsD F ^y}pOB[~趎ꩅN}֔!,1k;g.P h"$J JE,䍾,ݑ!\AwT@5G%Ιje]+ʈfo͍_h<>dX b7|  |PDl)]nP졎 s OԬZZ/{ 63{YbPm;a.:lNnq86"H1V8cfÜ+R12BGժB}1:5Y@7O{gcŽT]{h) 4 ,Y"EaY=E[pX~v,ԃP(/JB#d+COxL+雇҃PzI6P{Cd1oud H^FYb{=!dHv)8w:L^;ex{&9CΉysW#aC{MU&nNr4c$Pf XD DŽ5t\z@3iLي30B7a? % e| a6ALga ̢4rge4Y֏wP2z'nk R>xX6OBgyi!:v<:d*aVa:]@á_ d/ё!R?, zw}*}Yƙ6m]#&5i2,9lM{E{;&wD8BWjaw"}`B{7z`WiW ,Q .3O0$3hwZB.I6x=aaĕJ y /ӰOL>\ nC? x$:|ۉwL+uc+»YEgϴs,#/ {B{:C,ѓu; g!ȚAַ̾ ^|@9AP~pv`L=;Jfv|:caLW+,SIi w3U@WTS3Xv6%%q}0҅2qE_dfX?Ǖb )NQ6.xU8:۷#C¬)umqNn=&oVGZCm Lq;@>|RL"H*9[?G±SJa mp]556VH.0]Mz£3(>#vezY$y V@s`θM۷ȳYeZC)Z=p1p] g-!IV a!]%p) .z[}io]`I/ >h[,/Ḫ_oE8Wl`ױn'$ϥWk)әc)dWV! ~,9w@L %n$5+c t K 5?+Sƺ]l%Wz-Ą$_#NZ0C ]]ձTΓ^M( |dl9-^aae{RofӣXO/zOg?Ej|c @wY?:,|T7 ŗ]%@uGʨ O./%3HKn#Jxg<-jgvm=mUvpF ,05Ke<53{wcY+@bMWbEhu8 K6P/%v!wZؚP~Rn  Ѵč?Btlo]VYUM"9q`g?1}~*:f<R]{M<5a=[Õ־ui~*D* |/mx!NK0@ʇhD %cC`;D]gʄqD!ð#\Oˉ8yU(@&T(4$Qht_I5 LO'@F![Ml(a4+AR8v +L)EdojOdL?:M@jLtbSl_1>LR;ޅK-` 5a=̔uym7lnܜj/b69i ,aj)hnn^`?0!㩻{}"iT{`p3}+} -nˈC~NARֈ$QRg wU;C+Rg];ӎ^/7g&kuf(%rz'F@_sNQO*' nDoΛBmnv-d3ހ4%Axdʺ2tXUKQXGIM^X'v.H<[wɘ Qt:2өfid+It~y8En+ mHvL$HŒC؊uZa%h'(MK?[mƔW2e=$AD:xcN焕MJ]d1W>qf ZIF6:>mthotuKO'uxt^+)[ ƟJ(]ol1T}3mk=Lm T*&-4vU,vP!|f"o"& Y9J_a{yͽŏ] 1?.Dg0Ɇ E.!H:JYdT}bY9LEVŃ=_* 1!'d'WOԧ68H4vj+ D%ҽ"i н1hKKreWGC--}+T -\FhlSx曟<3ZpjSTY %oo%r`e6d9^7wb}#|ǹqL_EK4a@Ub<}-O؉a}loSd`2Rq_™ [C wy՛j([Dܮg7/ZkA$ЧOkLV3X>ha"9ǼrщE2:5O@rԹ\~IFB ʒDgc:ͥfOhar3j&n>po[h& W J5BC rsqѣɩ񔑙 /X/FV;CMvx9P };m3P<,IQ X8JR+&T0 VJ}Zt 7aMIZ4Ar[#d8 {3? Pqg68zKw!ɗufds%2z\#"{3UǴf!iyr,%(k 7M_t|q;7xЩt!Pܨ舓NS[8^&+2rQ҈"K%7z ^|4!CmR  9p,;Ե7"{竍}o]:rX3`E{St3M 븕ܲ,hM<;Ɍiϲ ZFۥ67C7bvlKтIzS +-N#_6kV5,k4Dʪš1`4xukmμv}x?1uHC)BG,vR;}B~ X=y3z.39xI=(H6}t)(*ѧLTGR̂Ґk!HBR-N%󞧝'L7φn!5E֯2Bx"@"6b֔qhئȟ41 [4X@%qkEK=xjBi?!M,ubM<^cokګq'#eʪ7+Y 9vAPڱiZOD9ԡUmk1e)X9O!ElQW׃%%m1@x,chv7 0"b`Qį,w-|#x}A h_3omɍڊ7i)_0nEbÏ W>m&SXJd7^ȸ#|5+D:PY漄iL"vҕEŭwhfH:3(FIP˯1ῶqv?*W %l8ؚ&Ch`~._kE嚾 W jԄ 8I ++o3ꮻn#9oetoTKp:"Sra~H6nH%$I#z7>'NL+D(P>C2CM9 ~ڌlM?]Vș_=Nj=3JU볳` TKޠk#,aPƮvxdlm<l&%lm6z' XrK@B1>ݰꨗ]qDn\@B>:B'Y;߄Nzβ[ q `-X %GigN9bbS0;{ ycQL{@\P~y@pށ.gnYT 4!l+4]7NN%ܻwlXԦMf[#v1. :ѥo<J A?C/J>+o=%P2+F cl/N-v-ƈw,qzО_i5vKg9I(ֺ:1#reν)>M [FxSXbTچi7B`ok)S0Fc@\-Iy>Kx~rWj`m<;eAqNSʟ5-?9[ѝCrgq,ⶺչ1AV1;ID\R}<͐$*fĚu;RLQ<:I4Vd:6+OL '( vpR}6s9ǫܗ 6bZZmoohN0跅 2՗x=M5Պp6*)[x!0 ۶]F?MT}Yga _A[W2;T/,LqVg=B}|˹ia$PWW bHG8MDnq6SwQ/'y a2?Y9{09m192K${\ysLQH -[hVv0MfmO-l9zHCh:xa =تDٕ  jzK=+aW6YsTSk}H):Ё|wOu)r+VA> e`*gjF8ULˀu#r rFv1.Ds)J<׳zm1;+Ej=G,bOvS1wE )F=Yif 4AkT)TAG.-ܐIH߄.{>(GK2eֳΛϩGpݺ~Dpx+,k_U4.bP Qx0İY=#q%0 T؀N^7L cx`c z"z}c%uxQ0Mt?m'FmW<} HHeư'LuNfqa'a"hԜO#?`vH'|;h]̕OVpy»mE 88+7 f,֦YGʕZݟ5O! ]zn51 3 )./v==zm*OTͶ%R3La MJ!7WcB-' CnGf , 9lk041Tu c|׺U>y<, Jlje)9̄95`R{ d4)E>\6A~sBɜҠǺ 3 -J!sfKcUw&vڶ>q$A)bq3y|GԸ{tcW#XC[琣#obL D\G(RbFcbalZDඌ̍Qʕɏ͞eH!=?JB{ד~nnuBoXTo{gy24f%[72q"坨Y/@Ծ?ݜ)RԫHW_&0Er.h%\ MU"Ho)'a׳(nN=NA,rښT (%LoU%@H⹗ׄTn^.Yr0luĊo1a~_ڨ"y"KF@ManUvC}%c6˾%߫sPOR6uO@e/oeERX_5$#&Pg^9 Ut1<Ak G!^@8U[:aono!2 =O ?t i3 wo䎤WzP  epc6eUv /D^qM C$s#SUSjc&Lai5}r5c{q%zz6Xa~Vp k3pq>e3аI+n&ijwՕy:ћw;z[(TSGڬk=^e,15ChW7@ty<^5`Z776R D*Qu~Z$n<{\)3CV_$?T[HXw 㟇u/c|duC5jSEvLڪ|т/ K\~GͲ`w[9[dð(y $MȆ5ߑYhY`)5FG϶Pi)wN~9w2So1iq3 A'ͩr=x,]tRJ FmGږڥ鼼l9 ݳzs\>de@rRV Sn@/+B Y>p΀*-?4]K H--z@Z<]p&䉸.YF`=^݆hI8WW8&t/X7m#O:o|הFeoFE>SߖnlP!uWh _lbHl#1A-V&WUL!i"3yzXCDȇk>񕌳Ti%/O0QU%\r]* snb 3m,VիZ*SgZ~2ɔ O_ːMMSLƔ>ٛb .w*@4 0Џ';$& ,c|/Y^'V0w1|e-EmDKQ2JKHmqj= JܾTYNO$|/1 lKQ׃#?o|n|v 1~5U nj^7G eu0:tXh 0UL3 %pFrp!KmH y,@ vZ7M.\=BNr,qU! 2;(U8[=0@>\u.08Ay#QH t"w15O ?[Qms]4uv'N;=~F0] oN=ܥڰ<yИR5' v4[6KE} 1W䶇$7܆~\Y-B- &TZ ē"c^zYu< 6~eP&wd٬ /l HCBztxE-O$Lv[ #Բ-^RD̚{po C"HMWO&Ği|̦*U!n9\zI]#P%-.xcЧYbWNkQl;m?fsyBLO%WζG`؍ؤVXe]L- &+z?4ǎD3RPnBSyM_{'u{5=LG q ,՞/ָHRD[ +"YތkVSaUYsv U|laL5@h=y,;q QȚ#ڭVb{?"6.,((8锁,*rh ?|JO` k >+@7ehW;K5k_tA7Vs&fD4QB6ѹ1؍AQ_5g ĨprҪܡ.42wBg9:  }.ve5'fz) g6~i##Ǡ11"ֱ@fl&POչ)Ց*-OOqd:̯16RdP,lڢgV:59To4#} b_)ޚw]C}8Tsgf6M%9G4W1T&xY\*1OoU䐓.'`r:ǿQ-&35 q*$|,Z^$42πYP^U:8rluq x8ro*]>eė %BPnq ڃ_uOB#.|g/Z\_;*L6Kkt!Zk֞o+&~Gc^Nbtԙ_7ʹ9NiWh9] $=aL`\6t};7@mQ{&s(^ݐgb\C'rg%coĝXeCІ!aޟ(CԏXNtC h,h W盄ySi)/u3k^Dd%Ƶ:/5V27e4w{[o%۔He2uր ~>aÌRo7h p~[\Ujaqt882?VlpTZfOMC;%n ٲk>BƉ_< zUrdLI%C l{z&_fóFs;i,q%h=Ϙ { mm"[]u?J7aw]q^.wEbQ@'ވ̰J6n-q7YLn+RP+zDSvNsH}VF&4cp8J./@9=8l){[x!B\& zz'U]:ßkzk R\J**6%?LL|%JS ؄dm+~rNT(h馱|uVIORIݬp*Zcղ_i%~V|!E/4tE'g#hMߚC纭3&m$dCdJiWZ@|:[ƙxNW,.f548Y>}u\DېA\u>?BlX+ִvĿȒc<5+ :EЁC\OTz9w`wK[NC)*!Ĩ\-bTUc+*i!l0@Hٽ[,h.|y`W]hƕëm1Ĝڠ ~UȮF+R}J+ R4 e)>mLJg8x[3HlN7ibb.1Z~agʡ]-?F$ΡB-iXyD8zDNWK09l$_]5[?IkO!RVpl'm$|̛=,e]2{ 9SUوZDu1E4]k[#H ܝ7??7K &MK s+3m{F̸tJQ~MComB{^' ҟNGb^?`F3aM=A@>`]F~X'׵mI@_2,}G?? sz;~ RnDW{@[ $%|bvIܤ.4]A Q}qq yZzcc}[m1Jµa EfC;ΩYb*ʔ#Jٗ Jow*Ej3u4FM M<ȌEUL>;E8Sp7,;,qP~ 3y۷q_2FXr !հN& 1.HM%Ryͨ)>JB[MsLP]Sb6Ir:w~ǻe_Hf p{VPZ-8ldUAX%%,*]/~E漢X  ;)i D8naqڜ'q\r66J7nMlT[H6ֳgD^#rL~^j}U 2b5ٳX.ԽmX1O/ջ\{]3c@!x]vދW:e6 c{#!2L˜SҸ=t\-MJo4!A"qҍː,-ׂ|OYSJTI qQJWQ IEi\HCѪ OKC򅚪 Jb}gb>>VC[*NH)Wbgtʾ e\hZΌ};TstniN(D l.┃ pOA|6 Pd[,gGfPYh !<$)%qT"ʽH|vQ̷š34pJMn.ӏR 6;wD\]񢻈X=Ox̏=K졛nWMJ&q$,ۊ7r>zS4.yEҿ dE~i4J2|r~B+AXv^G|HE_z,vhQ #1&[K-a*=|t+\/MHokq"B.ӳ9o|箼>01u !1@X}+*d@4 )ia%o}+T]met7|_îi({`cT1$+DYD5;=[S^&R2{uJ0&grȭ%tZlbj!mKPbp@'19rV2iFSef3oq7DŻV\͋ٓQYȺka?I5M4d98+j<.Ag ɧÓ!)ٲR@x[KGI//:! a߂xu~ yB,ϔ!d9H ®~qe= u⚶ e.> 쎛Z^Ǖ͝(Oܨ~99NTJH'K'aփٳTssp<[_'N#{M}`[t[uMP n[Tܑ *F$BH!62T 7k{\LhtxY^;qXUU&"o(4eBro!&a[^KD$W R$Dp{C%+#x(X ۀ5,w~õSKE'Fuǖ/3jZK@9Jk+5Q"w,-_\}Q B|aVG˖` d'\SH*'A)h H1jFI`1n"t狶\Grdc۷S+Bxg؍ta "y'-|mNx_o+ywE`8(mWQ:أjt+;aen.o<#lVlfؓA0;tCuӧkqJjEgWtdA$L?o굢 $d R.XMUVcfܳμ޺+79HP8j'?|q8{`I^%ij*eNN0 E{Mk'h`|HyC87<0eչW4mwxʏdZ[$U!-/%Փ!{=c{Ǯ2,zJvȝjkREeULxguM~`$ 0}iMHA]HO |bYȠLoVá`u>$f(xfqlY4C >0G~2UMr$@mͯd`C1x  ,ݤf[hP0L8Gؽ׿V젋g>OV1- 4:a_yqPbpȽ_ a.^>8 `OU@1dCafn+쩪gCa Ճ* a% Tp)h^xע$ʨ$xaM5x!oYZ9?/5Hn e p V3DQ'Աi[ݜ0(鞉PXN+gIv1 b0GmX^]HWJT4{[#Us n\;ŷhγm8D"1Ift2r1t`'`k&?B5gc:yZVCwX4..G»tL?W.I'sa\it>ǰ [MުI{Vm/\=)]Q~'zi_+> N>.$gܹ% n/;OGaO&<%R޴ߪn#Huyoƾ0'ҮS.ȣܨfSĄ~Zw[Ƹ@_tەD.=>s]88+ m'p.ySLҁp5B?V⊫wpdaϨϴ]`"H Pb ٙ4{?n\n ᖄO&_H9kOk 64[Hs{ 7(B'XJRjG[zBk,@"J*om?cCL$}^o Lr|t4ӣ<ҰC[PHח)qUЋ3ffC/OBkl_2YG|Aƈ)7_lz ]QUSaq;y!|,$v~d,% 6~JQu֯&mg K>L X QA*N]~LpaK x-`)u'S#$7Gw4:i&3k=i{ϓ-Gljq~^Dž_܊CH4덙.i/'+Fj0-,N8oՀrX@6I?\y >@4o txo0: AM-[p}7B \fbK~1)ʧa-Xx=>`؏ja;*6w<)#rzbӺ 4?Aw ԰m R>~ iw\j1_U7.UT5>U]qeIQM䠇]a9?6ׅ&[dʰh9f LLHrc[Ff @2(эl!&kg;ܤw I4oj" $ TT|ix~>=HR{·a} .6mH7s@½zHYqk:/=Z@YΤor!xp!LH(} gEARq#D8wI! )I.=scFnxi DqGYla$*FRiQ-Y=4J{ zpsnBֺj X|]X$6;>ъ5~J20#$6E+TKխHaZЛ֦NXmxوz=RQw/ggk@tʻ^k$$ch(r=rV8Y^t`Z)dtI` IJmߦ[i97zjwf' Li}̦F,'#EQ+cgZeQ*1],~wʫm's񬪧oR Ԓ.]I!hISo7csOR`/GOOP2:dgq ԏV/Vg2-R3-#}h!Gxc! nr!e0rbpWc.,$$6%@f;_PtY>S oiro€F2"7(5Ҽm6lN:ڕ$UoeUG䑁#q@xbQ)> _S>O3>h$;^vRc>F-krT׹z ǐE`LsY:KCC;̞l~,YoNI)+L$w=hcef&J{C’)Wk'jʹɕ]_Eeqy_w~ѣ gab0^}/tƟ)tbwuk»OA_=!Pv­L F9 @ĵBMaμx]뛭x1BlNN ۵jMirA#oqqKVd6͸|!f%o$o:ܼgEU0?WwlkKn,mef@f#9p|U_#؏\rA_<ϼ)sEVfcHOV+~C0<0w2!&<zm,m= 2RbĄV4rZ6&P5JbbvD3#~g.%2 uh:=KM+()a.F9K(Z{(ծvٳZOQ#)efR}ʘb bvr֪ġچ9b-&bFɒNTƶ4^1E١3>%r^rT*)Do'4Fϙ՞Xs~85;tsCjNtpG)GL9dMx:GIL;UP{vFQ(w,axJ0zi7C)Q$.zK},n Y1qr⋋&3֨% 7We}QE7ygtR)|oGOX &>/\(n[.׼QZ-_׫%CQif 3l!)"])bWmJ6:k 8^R6kN}DL}f S<8X7eQmՄfž8?DhZ)@aʔt^UzwCZyz!ID}[&X0 :.\5eP:98(R]6Ҷn2`04` =U)u*Y(Xֽ3/-HU 44*a HKp:JTM! Űа}zc*% hadέhՐ1+S-U& S/d:,5k3WaŤ+6d^͝G;a&K$疺r(0E3[A0u]dIO8I!/Lhy{^&D%ZnZ /U}&ahF_ۦ!>+mofπy6jq'-=@H89VӘ785->?SuѺ1A5~@LFav1yub͌UN 9Pa")b tջX|" "A+>VmwZG3eAc- rI!d)=b"l8HUPb?'ϓb_vr!?!ԁ eSGt]ǿ3doU ń PL1T{僩EݥsP&s;#I  WO㠏@ Է-IÏ^sl*G+'OPԝ`͕̤ۦhm]\=?droS0sX|(cS]ę1&43~A]%H0OET8 WO-CyƳkKX ~zG nGO[5L'АnH~(jp;4(.7-(o^,x[~n UB@2L&J#-֟A V<v`ԝ^P˛̮W~i/`y`Z6ӊ^yYu.51?D x TE @wYڅp5-> }\jSaU Vn# ءaje mBl-6?+v@`ODYQsj;_,|5@dԢJ"={[q9h75xN<:im;a $v<9(%#"7fQ!ϴºiӑXͯJ7%o`t@'Х-ZuY0d$)@昭۳;>P pmr TK'] {zWlSvBdӼhnE=sq;! )Y*{ԑ)Q_Q9JdkJYasv 7DNng} i(#^k0Lf?izD+ +yTS/_^%v}?\F3h&H_fջixa<']bK ǯXԤRrn*j.k?rFiXZ@ו\pM,"f[ErH]UKfD85r/` Zx|r J-۟~"׎QƺL3b`Ns#>({UQuvmcv^h bȾg$L]ض7Z u}>ށ`8;~E@m_Cu$t =%׎DC}lں*xY(χ=]: sa/z x >7fKSr1%YRQ DB13O/p*^*PWfjs9`nbI8>~Hk)P d.i΢؞`/.=׃a^EıxنY]uܧ^φ:5TxQjB7f _;4Ub hf ×S2"`Eo9MQ!-MPIGl['|yU<+I{JZ9Q, s~BZǎ_h?Tp\iP)?h6xf暀B%Ŝ޿gnj[$lqЏ8"um;rpѨZzwOӴYȤP #i L8cH@c%#J iƴ]P+|g!qsS>ńl@YX߯U5 3n,MRj*9AJ$?T{-`43c,1 0( )0`x&?06fje{ǻ3|hW+otcҶGQ9j3##I`RAouz16wl ԠBwP(;:Uم!IJ@-aKaZ5A6['&t4cʬ2HehN=:ӾPo0ۜ͛MHp+mW`!Q.̑e숲4"gGYfN;ocӐ+Kѥ?ԋ~";1WÁ;D$FNЙp}HDkK3jzć“WB*Ɇ E\qKz#ؼRPsp PqNc3o:LIbnלmjZ 5ex֮ > pU jZSyϤ/7;(-O"Xj~ ( X~'*ĩRdCsӋDK E^>&@᎘!_/L6UR RK,P|;dE@B.=*s$1a >OqkE\@a6_#<v"UjV[0̣*mΒ~j۝X8EwJLwIV+ v{\MkohY`d|"N>4%JտY%+9_TE|O$◛%IQARqy?:ՇD<[3gKnL+{nr2%e6=K8 wR%r"ˤwf6l:bqQD$!DZ Ѹw&lc 2c K5:zQĦTVאё3radxNOU}B4A{E?HVѪ+!#NbOi%mmk!u1y`wdfwAѰ` 26؅KՃO@(w6]w֭ru (p#ws53IQ ]oM8 ~&ÏŪ+ೝ=j2uhWcٱ,JkX wEIt4VVa((  (lg[(c#a`fb...tZ-%M[x΂]Pi ~h!Fމ܆ N D3Gk,Z|l~.oH[|Nǣ c|SE7oj"q[,);Lٱ$` aE2W][O89Qܙ8UI#GnR6۳֢R^w_u; ,2.96i6.a-* ]z(c?"zx`ruMEr).f+Ds.f[/K+COw37Sw{|)Z.>wq-0[rWiڲ$0 䅭W+C!Γ.;"ß(z{|l'*[=-`g%u6.)aEQlN;CʰBby R dûZqF?#א{ ʘœ61}<[ƅ6a@s{%Hpn&!h t xo zѕ{IpSB:*NIJd<NuV I)W\4`_Y)XC33YjGH*-3}Tk};׭W憩͔*.ImRG!L0Uڡ[3fvg7yVϠ&boktYA~UO)VP뙑z>hI)K?p^-PW?9*~%/u&4m_zY\ۇ"MGaKrʎD驪.iX+["\G jgv7u;X X_jJ~"NX9oIvɳqOp::9˖@"/p SvJpX71D`?iX⍥Uq1aN6]DqsC'JRiE5K(| a'LձAf7æ|mPnRX l|5wQ4Ruz2LpϣF۞J4 G'" VJh%)2ͯ[ێ?64c4:P֋GdK{XO:Kt`xrڟk|$j*2:E>؁KVTnğov*lu5Iaߝ;е9_k+Oyx*?H@s,sqfЧh(PZ"ؾVw*CH.Bn xPpB?^hnƃs8`}8X4yz|Ԕ([+'QN)vyMF_p0y)[E+Tx:T_C;k`68>#L} H)J>iu"pxW'fO4 jNpijLllm`$7*C+ExYhmu-p}GOsB_xw23]'Sjd8w$?ZcV JZwɲ5r.R1z]T~ͼLTui Y)D wbL( Fn8T)Mcv^-b`ak 7ᶭލ(eP]N/偧R3;o!9]w՞e]RjՂ"vJX Q9Lw`&cHAObRFxP[S%^\ݜhfGVJ8ECObW)\6;VtYYCqt i8_B=K>!=ox"YPeXVbcsr(/g)Д6?hEZk+bbj532vh=$)t FiߑnLg

    }4mH j3q'Cw0WcqsLN;Z%$/*uJI>m@9>1ȐGeTb~ 3I$CHf3V."Q$JlBDYML"QH-i?"c&RX#:hWYe {tXY-X'{אd]V+!k`%`T\ʟ|L'5lGY -|3 JO.V!< ~[-p+Fe1+8H ?@?Ƹ>O&6reP6b o^^v}Fm R I *L-{n<+_DP ׈,$R\DΫ"o.#W83#ڎf3J S$(;2@ϕl,[6 '!p"PoȭUih{_ {8w!՟lmUGnKn.yh('5Fl{Ј=<=",P-Ǽ>^YߚH%F^J$"]YFEe,]Vc\*[WU*.s8CA4bo֭}&Xv1XV'lQcl{M✗Ķ} S 3~^85?fpE=ؽ=2B5|5ߩPzxMlkJg Y17w)*&=*["G0jM4X0{m0+ʀ 2]Qkɶ#U/>@ Έmk DWLHq O ZɁP+N=ADҥmyJ[LP;nrԎ75I1|9&rD;0.2:>KFO Aʪskwpg>zb,;^E·C N3Ds?+He¿q$'o ȗ꘎Ǎ/ t{7͊-@O3;Mx Yڋ/aud! B$,!>ֶ e@.HO2XDqD'5 [|scHӪЙ i5 is j ^9@>!-zݹ~O[/ `|3dase株<$o@Z+F\$Ò};ScIYlG7y. ob=@n2#JwTm.ole×9.*6ZHVG 3ASA=g$纽JtպhN t|kn 4uGL0G\ŤL<p9B!jql{.2zт ?B n~*GN*@nbjp~ʍK3͵jdЄT7ڿ+w,*럋c׍O󖳳:G }qaE//P?p+ǫ`Fl Z' eTqr s6g3:@6y⤔sμ57$:P~s-(i{*S̺/D}-r^`>}X*ZE@s|A6 R`-*:12/o5IA'&G9C)sjpHr_fMAPN*ǯ9wAYrԓ_gQ7X=2Bc +/yjy p!Uԭ>P`50;E,l 3wVGOylv%,-9},z.TWP1myD>(ΕOe!fczu6ٞT cF8b+Nm#"j=~sJku6e4}\ j#G<# &rtv{F,S,K̈́c!HDFs4V<)ȥ{3hLL.6f}nn^*?`8!*lcST^RKT])"yNOWd;MхJE/+9O}ЯYIprA"cǹ“S6HǷ+Us@?. :^QvoT@ ww,T^a*AUҋJMII3k=  k}"qBTGy䇔/܍!-BO{O#S;KФn 2a㥁+$ZAq`;bf<|#T+0,bݞQQZo{O  {'^5lK)-"0`V=֓8̲>Rw#y'2\|B BC zjdY,fWt5,3YWBtSB\4n.fjz7 @<%S➃Nӎr [f-}l$#10 bZXlsu!vz D=->>;2AJ:!r%wV0,fxXBnο3Ϡ{h6V?c~K}ٞ4Ubf(j ! JXߥ(c2QC7W_"qkP'V@$ܠw} JRlK4'f#V 'c{N% в 4:' ,s["$MKSqR ;k"IM!LyU[mŠࠜgqzУY ܚ 驽"=^bc]Bu~v2dM{Ŧs`,VlP$+jjL jd\{OB=~[@Vq24TIW@qI£1 0ϟk_\wAiҗkK9G2QzPӳkS;1BQLZ(c_0SuE JdM;x] AśYv42LfX3dC냷G|O@S}  }s |Ub7D Y3b=B8BuРyW/`Mj)їLwRQYuv;͓BA1nĺW]8Y?mSrj8ֵgraYncV !2J-$T+]Y]s%,zssݨy42še PՕ]I~3b[g)0 _F= 2c=FfZ+m!._)w*+Or8'٨,_g@?ۼ侕oLWO{)ոN)QTx^1 |@86 f꧳wmsփY.DuiJ*G;i5Nbn_T2U`vKq4݃qhòhq6G(F+Y6*#RG2ȳ#|Gb Bk9 8 aX?X#L8KPQ%cƽ7Duad_1^ɠp X&u6a$GVTO$~3GDk&@m}dЯJN }A?= t}q五@CsaG[#gā7//qA$;BҢBXfDZ/Y:f_M&oJ,ײq_5GN'}ÆaR o$َ}Vf$p ɏT(]Jie3|vHȟ_tگ"YC{^0jj6[9F9L5cLAII^q[Pb\>iAz {΁I7n3oZ\fc Vz& 4d-=9T.^3)}QWHwY~oB\&9myzfE@O#zKw8wmpTbz8LUOPd_mp x>+ұpB[M2y"o*1o Эwc{-?gύ.vsTinTW"onu[- '8X;?>ky \ɝ,d!#K8K-w-e^"<8C'OEН뢎ʍ 9` k {>?-;Ƌ4r'EYtju·X˧&f_&ұ<3 +]!UhH.&c` d<:mj>BoR,pKǂshn/dc/ kn59:vޝ/ҩ0%~@v₩,=c#}ޣI{ׅ L9 M`ҧ̅k60,Kn 'Cظ=:v^ߋLNLwJ1ը;$,9ܘht#0M8O W^¹3a !O';Zv J"(JŬ:GqD`y&udZַw"j7@rNMz C۾K]P7BN'zkΌH/.t7-b=|7HY!ܯ0#i v?y/ )u 6srtJQ;]W5 s00qpL͈&hld<`!c_/1鸨"xz\N0H׭r-aӬΉ҄mj 62hhN*fQ.%Y3k Rz212*kqS.>x|&OK o=S`;WR>T{  $lg\ǭmQlxy4V6R}NEnq𔗫}t"';*y5rnxAAw8oJQP9?q]iagt0(xW/&n%Ba=uQnH`v?~?{N8Fj_<зse=\\'RRmy{P6f;$$vL(jȃCm>6MFqJZ/'6g7B'>YvD֨nYqutmGe E,;nKj-"lj|̃48u1'hsГxwd A1?<[ cz6"_zmb,쿲ܯ),`60VZ,,dT](DŔ;ځ(Vhb\-&C8gYFM:+ z;Gt5D,5Ǟؕ^ =;^١6K#Ie/ Tnh tAV@ZtiBk1I`~}Uȶ3ucG-8}}/'@@/S:+׬I0E| Hԧ{hE~XH)p!fذ'|#KC`  <3Gs?YNe>1MojЩLDK %]\*'XPZn$^ 5*!]W߀O+aFb&z[`QJN,Gby_8z'̨8;[c Dy" ?<=i>\EUiOѬDxʕQF$N ~xWS¥,{KR-POTR+~0y:q0YBG80v Q!ivv}fLAssvlO+ά)Jw:!Y0Y07e|ۓt ]_An,`/Q;Xh-"wU1%Ө:V&Ph`h5qnwB_tĪ6pzF`$(JZ8k*+]U5<<7D;DV9M4$=Y=yf+U#(֢Ȁ$͙}nG`esyڻTjm@5vBK4y\rhZm? OOSZ2]TGHehEifVTRvnymfYFqz$26.kĺ']By4g6L)G}`BFF TZḁ [A^)z*0oswW|^,N-,$QH w#’zmk$6xM~mwݟl)!F֖qT.NQôoTnXg~/hG5Crpu)btyihޣ| &0ρo+ rrLDxrSe#钳Y~,pt tb-_zḆh?f|Wvӄ]q37]eN}C$ KT4CL,OɏVÎh-wCUPvn9[/whõ5=W+YEMǦII_*c(+L7Th{h^~\Z؛' #ۀ*). :.IGq{;:qhY⯱ؙ=VC2PvM*`_U5Zr9*`v=u~; ž _(/mWk?^$[0͕\HF1>m>`Qw쓯ryU}C)!AscULFj+Še? ><㞌 /1%"CHCpPKJȏ^yrZkM$y#9M*14}Y8lXy՗dc-^=s|G0eVNvJ/ԑDm*f!4 H]Vp)OLgl&il'aH%Yc eCa\7NrU<\^NCOײRk;g@AUރ1?n2eB>@?`F&(.ƏG-lv;~ %.V]oԏtJlHt7k>ࣛ nw,YP./V÷ 0?wT)g@ۀK`5%Xkʣ3,u"m_ɠ,.6G,w?в9 p/*U,y^AD4u¤|Z^í8Y`-aVAx1 wC/!V 67mu&h\v)B,gm1&[aXTxEX7tn&IykY:'ofdhv*Wt~ͼp9<4Y?.We! >Z_А\e>CݪeT<{7Im`zrKl/',<ִ%񐬞AOCO NWUI-3O̟S'!X[{$R;@\S gs.<[ /Db` }&܋KfK0Dx# +Q}M 1Yf+8ch/s8e*K/#‘x0YLd kZ?@TM8ܯg_" `<=J6Z9/V @V~~qbGW)eMvny7y҃ DЬm8R>:C_E0~ӌ{g59=Osx>$!7`)D<ݛZW(k#۴Jv=03݄GU>qB%{yn"w%tCKL"*"s"FW%WK_>V̵̓:viic$D y紲"\<&;m;x|/'wECrՅdouMqOOQ ʐ"T9x&0؊C[B4{eGkm}7ċ7Pza gn:EmalLA=v7.f:'sW؂@+N۱% ;qd-l7~ 9-r 8ŋ]P[r=_jz ve HR /MZ" RL"_,-2 X| &R-${9 ql3E&LXqZ̢1Ѻnq cnIboM6;6n$.aQ)\ 7 QG7X1ycꕂH=L3mQk<,jwt+rR1<"bhhcSs,-+~ _m =01zć[tje/ ?:z'gX_m RFɚ>/bt39Z4ΐJLK {4n}d~'yhGq`I!kaր(B;Z^)PQ.ǙzҎfA %J,AwE&ՀTYc\zke5.RZ2oQ, lV(Exo|~aUOmޛݻ٤nc;h5ފXl"T07;,5Msy7qu :č`Jm5tnkLT4-ÆY(BLj@{"nG&>VJNB SPro͉9|+_gXޛ":90ލS|ڊF-ڮH?q<6sd(KoaX8tY\+)G# D_|R:;9Q]/vuE]?BمoǼ8qr;f8k!'cb5 e8P(k% ݡ"Qhe\Zif(G -ztnLZ) KT n6ͱ*{J9!d&zÄCk=PGUgxW)4 mKvgoB,^46Ы&0!}Rcj*[it]oS,uՖEӐf%PMֿU  ~ܕdB;s\qu}jP[lW}]sF+u%"fG+I1ZXqvU'ԋ1[dd;tA}266m\}J~ />'jr/%bRj՝NHѱt[ W9HJ1_)6x+v ō)<7[7sD2QWӃi') .ls6}qrH S2]hpH ekӵSol-h^/avt, .~Rf5UdVۍHhtopB݉ȎokoJ@B4tG=C[ rE"FvhF3.cz!* *J6MMa\蔺'mgz&IݜOai9wB"Rs(/"e(K[8dҕ(Դ+E2ԭAG ?J؉51-Sj,5AeJ6x(H^l͖1Rػ#,4 (Q޽TGl - (JGPLp9yO.nwNj2ayG沓 - BUeNu XUEXiOCބ*}p5m2O|/N)i<6_> 3e^ĉU7ᙘsseH]ӞPd*҄2DY4L^!*5:s)74uf{oOR6}t_xֈc}K >d!ٴџ&e ןt/؈ђ;DkޟRU%DI^$~*rekFxN@Mt[z'9g֤F{.}ut^0zmU 2q640؜{kh a[KuGJc:S$6Ҋ>^c&.!OYUc6e`6.y/8v3:L!`F$մ%|\9B FQ==RIL@~].XH^$1mƍx3?3:Ƣ*UR~k~8LYj%X>bG)*,qAۛmVk(.he2Xyځ_7b(18V|8> ù1glI;j<<>1Q0>}O>]=4-qZa9uQUF}y-Ji]^ ``z|4F}Șp-JX3nbx G\0Wk@<0&AVo| Ǭv ET# )v Z;;1E<,r(.ue-56Çg6\Rh:61>MAZASbw$; ~u89?]Lf8 T!|Z πl\md~& ̘{`c'&\. QHb\4tOUZ僧Ɂ7BJ(bŤfwu"ǹQй3(ן~2{}.kIEv1;<4t>11C fWNn;7퀁>Pa( $@W0ĨU$q/ C!b?ڞf_]hBOIZ_ SqaPdu? RI<-6 ^ CqU⺤/i0G+mO?~ b_]߀צKv tw&e❧i}@S'7w ZSk&i8B]Ldڬ7Ƨb2d&&X cJ>~ǜTXkOj1d9`R} 9&gY#.u HCOދw-+Im=+? aD6*x1sN8c'Z 3.2ڜe⇬~kn5d["zv<;N(6&h)V3\Wxrk{yX8yoafKeOm$ELN2QZ3!Q\X?MfmjUGopMN>JfM&˟1P]RoRr N]Պ9È66^oI巄:؂ 1Jt*m +sXg|&spsx\_B j;.r,1*8z+Ce-&`it3<\-mЭΓeSYIJ&W%g< 4?n{NZkT  tu((̅+! 8ж3 )Gn#?=_M/|JK]t0S(bn⡂UNP2>U8}~SgNԃ,g-ᰜ hJ) 0XPD蒘MLդdqK>~cϩalXdU-qXܯEHmNA/k6D\*%)=liĚ75|WϢ譛?BDcGw}&/Z0n'ddgefYWR@Yu.Ø6 LM5Y{d0#a WFmLB4;9Lh󻑘d?8[µome8x;׍{AA=wr^8E3pL=@vQO$oǜq?zz"XPhl6WD>qNlbfnxsxf cN`l| BGCiב U[FVڹ7? c髳 +;Kšd:$[)Enˑ*n"hЮOyRy<RFղK/w/ 5 ) v*\E62=h JҒ688\c5 ä)CiABAPtٗqcb+^ƫNa'bf$,*cMcKXj{mH`K17Q DNL,E8"Sz1X*f̍'b3c6x>VJ  c/fCo""T !7:r RK)r)Y+&lѠ6 +G; 6p4+v NiH}vF#d 2 7]Gʀ)hG,$jn9e^Ipٌ)^ϴ7ܣ#_61@9ov}Vdۋ;TA:erM[g& LX:f1l i։3.Wzi9WK2퐅- .V"?f29)$B=&/ZD :Qk CƺӕP0h:8ּ<~IEJgN)7cj !xPQK~ \nxXx9* _*eX啥 VE?hό܁D:860;YC4`tp4lFz c-W:=+Te1"dn#ҿ J^ocEG|6 <][Ĵ<{27Q]0$LJ"Qp-O_$'m!a:hwkʍ!VɣķxNGdx([tfxZR%.T Hi I@f_݃WoV1f* ^y 3# L!9C0ɺ:z53tA5/+M}P]}Έ0;D6H**^D8ƃ#moѽښs\?,|ut"H[ j`r]hv×W OkS'vuh. %G{1oAթ VX?< ;X+|^)vY}vs1mNhM)ދo{^4$/NhvWϪ=`ufkpu+- 8bKb>MyFQۄ1މF~Qˏ>~P&m+-~pԥ$O~A,yjh ;1VjLvnR71 F nZL) @ ؞wob{@ϙ|.iݏ!$&'2@u@d m]!ѭg;wI_58{5x' `|P BOKΠm\M/?A؏R!|-SekP}m0 bO%7OV~mh ׯ0rJ_ò***i^5a_T'*_Sy.kBK gV9~Q?vqc)}&pR٥5 @b IS=JK)BFmuLL廜@EzKFlpE46{d/p;4_B!#䟙W XAqʐ:"SMF^Ggҷ$D5Q7ҡN>0 ‚p^;91ݭD]]e6DcRq[랈|~}b5UgD1((Z6^7>~m_PO*,*{ Oz7:5KgcIT5J9A*і{NaM{F0Q#.9k$+{X^h5nB*;AkuasX7rHDdaMU8"y\U|KR,썶!3 m? K$s?A 61+ ,~Z{nˈ\6Z?m`U8x|(qzP9/Osc'Y p j_\j).S̏RAPw*hȢm:R}9]ju[k+գ}}`HzO")q#\dwN_c=oo NRX ܱ=& V..#M{r۪<LP*Oȡܐ] FBo6RS>|3 5rt.dIАBY A3l#dJN)53%G' A  *9l=ޜ9RIg3vLNl0b)S_"9MU*UX4^ FDӧQal5;>Ѵ:l38$_g<4jf5nSz?! m[c9_|4bogDZՐyh0Pq!̒ӿri`S?ȷ>䌸'pVX{fodl)Hs6clsw؁ 7Pewh;34h|`?߉idpxz" ᯠ'ؽMN. ;B a_}4c.r9sX%<%O0y3?k3pgR֥?M&+J_[ME۟ρԠ(;z ZdxpߗVv3heSKITϤ=mۺбLo_<ޛ~,yG'F@Yr}ykBƌ]3NEjn".s*Ɯ7}QG%ΝӜ\_XZ^|徇կ6ٿ\OoJ1[=%v7+cp@uI{}6|gT->n1fѤ1 ([$jR|r|iȮPx ?3Tm>i".P#f|[P-?[FBL:_ٷ.H+ gQTJ&H8ԭmJJr9@y47cqo¿tYAIYBx^RK^=U&tx9`X$<(ڢN`AU%߼8K"&KzܭlMW tt%P6[ʂP@ MqTfsqvJ&@;`ؼvb*A 8 Bߪe`CK8LLhգ6lF!(mVKҥQZ@5.J@@N> 24I_\Aʧ 5{)GpeR'GJ1|gmXlb >u7:VJ6c8.y)t-xrkvO@p;Sg4av3p7,OVgw@E; ) *ITku9 nSрM ~@%Y($DgASp\3;H v'+hAVaƷ0 Cuԓf_Bזp1!oE`v>~p ?Hn@6IכBHEHCM[P4#ZCY9Sj\tV,wǥ*>ZMJtsz}(En8 >LP(pdпqvIUk-8P6)0.Bļ/kzO jSl M?U(lz(/ "˸`n.r|nċo"c;]UN;~Vlo&] j"[6,QXJ'%9<ƗZ V0AAi gen]/S#;Pr #%? Lu4pHb5 ! XCRoq,cA0EAKb`Qш F'Tx$!O=%Vm< XtA4٣:hp%܊dۏםE:'xg;op˕2HsNLvC~]duq4XXO86x#* Ab` Pha/<\8sY43Kǻ+qX Y7.}GVEIySE /GP ǫL^G1,) [Xⴥ(g;|ѣN˺lvSp  m/:uJʗám BQل+hnhp>+ \O8aۜ2A"]Ik}kj}rKOgu Ԇh .x dz:9(f%wQÓ\b]4!P#@y 573d t|9_؀Nq5!"_.v K$-M[NՉ35 P޿%++yα|P,wWR7^ʧX;s+*vXgܳ<}/ +C#0懯|+R9z[S!TU`j~Tz̮cuިsWP8Hښ _VMZd"\HLD 4$ʄRSʎFm^8D)\e\}a3g-t?Y!hS**Mi7=te֋v`/bCH.wG.ߏ]W# k6uHA!/7'fs45$s8^ҎНyI эg75cQ2TJઋB&4/i Lnۨ"ǧ=C1`D}Put>~P3`>U/.,,wQ nӔI-2=5 9=iN1PrYW>27NQ هv'JhvQS _0a#簩$"0\v0!"\RVy?⋸\1ߟU<';@D re8êjɭ X\'U "`./{=~3P= FJ.NPkD'=44ѳPFKrW6`s0`A5N?7B.BLF(#t~¬ݞ Us$z;s*9`eOo2As6?j0H6a͑]chgNVxafx+уr$8 Je&zj@M:+RS)|_ r3?e`eyK6d. Vp1œj•Y 2= "mQv e]m;ADYP@ΏG{W#U41p&}V@;8]Z[7#h7*3qfG@wÃk "_rD:Hiv;pxC,Fj sl}R%zzQ^-2 1󀆈Լ215eeIi UVD}9SaDpFrH܋+H>xdkloS=xO2˗}Ygŧ^He1GѨ/ IW aW7S ?dSIcXlJ)Y93p)/z٤trG 5qԁ&WC dfj \w;͋2܌oc1a|OXQE?rEe~;U(*:q |@M aa_V#!<4,ZyumDrɶxSN!3NZxA4oE\w}8gtHM'U'wrM`,S&mdiZ.N&u]Xʾ. <T~|+DqzC~hUEyHwؗr)dnFӀ0(#;"u=Rd+@hR:yqprlUO8pdL9Uv!ui9Lݳ2 IO[dke_X6qi^ɜdmn45y$ئ-82hCsP}ZFj Vl"A; ncv[tn6TJ93Jk6 P3&"E5~t *m)ՖIn)~$tM `&c` XPӧHh xrZ}r+oO2XY ]Arc_iEFaᡃB`Q5I^vP6Wt+! (rqr0Mp2f$1qSjWoS3'hl.@:/1 q1G!J%P7:5a%_?/ %L>^^3? }ai.eָ u@FI݋j 16 |IsRIIfW>hWzc ENA?:иXɈJ\# Fpq)xM -YȪF F><whۮfEL:5U1!o%s>\XP{.JY}ȴ4$q:in,Q2`IKh#*ÌQMNWc>m4(nt\fk]:Rj'e5Sf,*s.]G b7]K\juq5  ^sY(!,+p c$ɕD}XǾ F /\$S.ix"C?be4 Ζ4x&6X~ve`30(Ubuixۆm 2+ܥ"E[Dc54puftpݥo<%֯d\=5|q<6 F0fwYȶ]Yԧ¨0kF1gsA+߳#'D b!s dVKOe-CKnV]Ecu]tr1R9^i ^6’8͞2G_/6ֱ?*P Z!6w5n,,FЈLe76OD\C%L ͸0R2y@TP'5_`~Ǡ8uJ[MݧnCg;/4/J_o+P|ӄZÀ .7]qA^@,wE9d9,;i 7\TmH⵬#$BICsÉ KبwJk~+xUJMN8$ q@L0Ay NotZGVS[mXC:5SOR(jpão+@C09W@ڣ[,ڷ\"(aLN*(jǘ2?y.q)ReSraȋ6$ŬY"G1mFiб4i ^]rio#yIkX#=Z~VFإRI/6^OɵCwfǫ{E쨚5Iò@"L=w\ ~Ubл~9BTc*reLeG*#ܲq12<f)Ĝ(~W]8yK% Ac$.؈b\ 1 lAH(<c\tlxL$ LU9SʦDzƜI}H\9sML!KXMd.:ӮwKӨ'@ R3e3LOm2a+wI÷nBXch@"n5esBψ ,l}TP:RO`X`.g+4i}(W"fNi17M&+]>(۟46O YJLt;s 6G+9z0H:k6j>D#. S9A&i e;`*c.`eL&@?!Y0=(S /^x6z>:;P[Ytv̭\вUU}bLIqF5/ ֩t b? [ 9oǬR-ˋ~ɹՄra%wOri{eH T2Sl( w%rw `ǩO 7cs3O_:-G*A7n2)zmꏜffvvm~}[zv'V|H=x0\EJX"ѕ][0PIGbo:;k R_:I}k|`mQGcr-pB#;[>6M_dq$_{ חI1LM_zCmJUʓ D|r Md۽d\ѣ'̈́*a]BYN%Sk yoY4eXGضzI*DgMHɄgrm [ y@S*C)ĂƓfq \L+FWewm C$W@! `AI'uALC/*1JPnlu,MJ_ '8ھ}?iC:}Zr {QDz(3fN6SgB:އ],LI֖*696)S?TÙ7\<J|Cك6;>1WҤ)G?%Blj;|fY7.c슾.U7b(ZIp0Oߟ[Yŵ$ [Ʈf` ^\GՇdχCF4k{%jᦙ:B(+X槂5f#{uեr6Kٍc1n%A93/_aҲsͯw\T\0F0pU/9vvc%c.̮AecL7O)޼ 騬B尲jx? 8l3 mp2&m%ӋrK.b/Ʋ8K1' >3r[Y2/$gj2|Β=Ą~Z@mrd5ٖ#{ļ@qzJ8Qe9JO/a2'iNd ,L#52e-ke qoyuL ZtmnVa\.x~ڏ<|1&h6mw!Rc䞡diĎo+CXFJ(@@a' ab.ԅ|nЮ~,.:Z4wfށ}+΀?ȑnMG!ȿM1#_' f:b5r }Uᖣ̀6=?ozQqz>IIe&^g(d( Xkg|M$oh}? hrt֜X2?N*$STmW|qHswBu5'"CF3M~5:ޠD>@C'xsm5e\Hd'eg ШQXo @ͨMKb7[ 1W{TGo.^JQjf  ؐںuHdxdx݋o&idgH dO\|ABc{9*lkmWU6P9 (/Pt3$R(O͒)PiAmNbXRl8P]3Uϳ,8.x53V x9t6#ǶK+tVhVs'Z{]r/XK`y@tcrMqsI;<}4'2( [{GM/aFN0BV?gAHasT=( H/ .Bq)[B>8ۅx=)1̆yÊ@R$y ⒊c{&юNЅ9fa 6y3iϋmґnbW@h,U]0/D<'R7 uR䨿Qv~?{8TWR8oUx!uWҷ<=;>'7 D Ir2b̏Ӿ`zCY;Á7Z6PU( YM1]tK\d&A8(Skiqw+lF,kwg]Ir]$?y+D(wT!Zz37XәņM/EjAgN~ף_&M)~{bU#9INh[H Ոc)٦# ?bYqI1R'F9&W+g.;52[4")vDe~&64]eq(x㣏a ị`1O⥻*Յ!L2BmjĪ60plv?0DE,X5d|mWG]OrpP0 3&!EU6oM-rU[]՛7?9ZV&~)]Zz:Î XJuAT]j5l>,;i"kUzo)V$- kqf}%[ś͟>Ev,FYPEvBͦMdIa _QVX 8vt8'r"Ƶۿ= 36M< nh9RUq2T掺*"}ؚ`~τz[q r:%0ѻ<"KR ϓ/=}FXcNwOk*bPNTEP-"xi2)1Xtl=Ut):íŖJ 6EwxD-L$u̥WxWɥI<>%23;V7$g0D ?Ql36ľ;[xab*$ 5i =Z?l+77W`Bfe2C9ہ-_\xhLe}1l^=U#0as}{,ᠨ/#xZxWic.t0mm1*2,L_Ryie9/x/͐ }VT;+lqNKnSw`@jlL'u!=<[_![pF=:Cе"x=cV룊˷+üِ\ &Ft`j݈i(3 ڐ\Cv,u:Onou5; Bg6[8KY[tC}OIC;u+W)nGTƙ%C%F*F>Ͳr|]n&tp<<TLWk fvOj#4+pydUШtۥSp4egRc/ 2:F6/=l"#_|qL$Y?S~tHŴ׵H|_0jP8f; є+ CR+OE[r K̗ՈRir_~ t(zw;ҭ7'*=I嶁7Ȏ O%3="d/pW!PWּ9 %BH^Td%<"ֻI<9bWy6VLLv\*gD 0UH4ڽcUvm!z;/ sFd3Tm?GᕘV ;1Q'k%k#j]LnFEװjv k՞f*dHBpPhө$01jr,?8g\1fҼ{e?*sK?y ͨR7hëpZG;ۜyK-lF"h&ÊZܮE7)!T90^%іU>YJdmUX@є+(^G[2RĽx>}h&pE,0_^c.Ww;`M^1mvAstNUqK\~Tɝv);6ٝ8tfncͲͧtyA3A! ^{L,P=gKzrt71'Cѷ칱 7N $|lRۮ=PiO_;ƝZꌊRfmO̮@*}祿Ő5@AUbأ KWBR/El961d^j|3?Ҕ΂<JkByxNp#(A~H}ҵV  70n6_ykaiwz3N7RP9c?Dm#rHi@%o`Q z|f,CbY&H~&o g2⃦X>Tt$򅶢i^nR`n^E?))ZcN#yd"O:9 #8eڱ$؋2DH˓cT,bj.w,yJ@/u~Bx\ Wǝq}%ah}bs C( ךl:ݸvF1ѬwTyڰ%ױɍ*K @B6Ѽ !>L2W*MVӦqSǖ$3nr{Nk|- u wX+!F١ٮaIiQ jśRVw:dI’+>N A𦶯֒Wc ΆҨKA4Yd)&xp~$PCF7q~<ˍ~# :=I0:$f[ULxN"¿;PLQ-_вsR=3%) j'طcR 㺍N> (yEcj▘px] AYo-(vgp|ȗ/e齚l3_NV`5.ӎni`HWnFO)|n5oRp_ SmizS F.EV^u-U"\|Q+\/W]k(X'=ybH]sJ)*]ЁōFW;*r,% ]_M{8U7]cA5oͣ&jg!{]S՞ %"XdQS=I&m( ^S"ZظfsBo4 ]*d}|RD| rU\z`tIxKeEV]tZR(^Z&h>ctc% ,3ܱ೿ ;7Ĕg !`N{rU.h!i2X;f4iE5$swpf{j生ɨg]l~_xS:Vٽ*ngJ[_0UPAE&JTw2sW+Þ7KIjef LY3a$練+ D@5QBrK}vT]%C#h\>akVLdRJ*D~U-폁<3 1i ۙD9kCbXvdieI|qOgx< ɏA@L~xU7L6u r/ VPJC=[ D[OL"ct`5HP.BO?6 IbR #œphcNtb|bRf.Z)~dz#x``UnUw^˿T)v^mk#P 5J'NVO40V9O.}U74$!?_bEf(7[dc;:>*Q *an zgBf>Ӈ+g_XE;55}-ІE 0|}ls Ṕ#8&1LB(ëMDMn}ų?߆$)ىv_3B֕X+V8&!U%S=y=H&K)ĩT`e:2"1Dސ.sMB͒~JА*3H͕_1De/wn&:3u7o%h"+@We;S_um 4nsJ-Ddy^GPYiFqڞcw%t3ij"̓t)Ү:~]-Ƨ@ wlQ㽸hT0*jyiuD[#S)Dbrį;C oj$5oeMm̺?\<$C{]1 Be +gǠJPʪ4<) -=h|VMs!:T'*[cVK (TBh@XKHn[X 8RU˅׃e%Ldq(HN/ٕ p*r@9FNUWdŨ1$D@c)rM+y`R1C bjE`5Jc:M[AFC㳱r܋mRGuj>vjpjq!-$KI">8Db1`V+Me~ZuLdM Ϳ0_QҜ6䠜+䕾3m/T<+&h:,Bi/ QzR{wq4,7Yi[}2MC(lq'ez+e<*24'F7k 'BCQ=醆Vb|㱩”Q1~y0*N(1 4#-w[ H 'pf*bٙSa3 C%q0{h5n=rG,THTz~?nu\Hb vpW{-ڇ{F,ЅY_.p8u-2S{o5t@/,MPc׌g8T: U*@!P ʿT- T ׼LJ|-f}ȦgCXu[= N`e:\ܘ`hkOmPbT n X}eFc60ρ fUz*>\c+\*Зb~aQKm@mj2rcEL9#.rfݫe?Ij !v]cf>Q:hڕ+'m6./qƇQ)SŠݥ-$'+Hd-߷|V-?9kCa@İ3䚶L)^,{H_u]h$h㏀ɻ=ދ׹2̼Ȍ `Aj%Qk6tX0p{دӝ駈BNA%#U7ur EMf >tğZ*&;PĻ/A2 y0uBmڗFwZ%lKpE`X(_CN*ؖ"X,XaͿ! X>&\|}I <5Cՠ =þ>%rT:E[涧m#uM]KBPi*鰾1MpRASC]0 !D~{CT m8CsD=()?4VUcUS1GZc> ²zm@ B5XpcH"O./tb$%cy[O6xshȁ-9;џ;pAB7`G v7Sڒ4]&˫n)/HqġQ D6 7Y)/iIo`ܛ͕&#@!t ŗ5^9e%M2QdMpO7"Y0(o|fQ(_-T@z(s_G @"z9At"197#_@4zm7[#(Ӥ/Y3[=Dԅͦ_q0ڔ>#}?=na>rā"|sMgiԟֽNP'yOa5LDͿoBFv0GpGݳd)v`4!7 qpQk;F6bbMÎ)dg;*xVsA@4Oܚ}_ =ꯀy!)$1V9Ad8O[H3TvX٤N# K8@o#AZ:JѺq(AVGC/I'b )^|j[ %&op} *& ^DNA0rYw@^G"+.Τ" N\nbL3A4ѕ/rSTU{=$TݫmzJOA>+ Œ8 -4niw^"QRf9"1/md&j/'aUeȪK>!ƽQhLz,cȔw>YP{ι[i+**%ȧL iպ3C7/f5a2Aslt u\_c#^,ᨹ߃ dgOxt̃`nO3YIk*_9P~c |9#.eQݳ'W #M@d*5fDs3eP>kWx;Z2K߲iZLCaٍG`:CsQWl-)AV~-a3|?uq/;NU - )*u,Mfβȃ]Z"X\ꊚ#vKtv$Edyԣ5۽\m|243X i>D pV0#{I_$-.@ J5kcSbMgz,B K0L"JXDx&j'ղ&_KX~|Ie- |Y#pc|)OnAZX2{`:*bHU>E xX=vܿLgrĭc%!ŏ9Vnkj24MR-Hl@u5Ж_(^vo .[-Ai.a:wFhFsҥw %=Qg>5G=eW}]>]!,](hR1ʹ/GVXp?X Jr@԰Êe2 ʟtNtnPA=^,^0k(`k]?o@I̚X2ct[%% Gp1=Ã[c,:Mi4_{ܵ$h2xComVȐV&ѫhp^Y#֏[PZ`i}'0PlԐnzaUy|oA+]B$͙oxKD՞xc?o|v)L9t [6dZ-JôYU'؉ oPp}X -wpnܡMσ>$Ӊ/"2k0 w(yЈ!颵9 Pq"j e"X/Oܗ= >D<!/ƣ鰦wyz;6a~c(xǘ0Af NazmgNsd1rߪg0_ZtI`S_8F"c}(ޔdAcZl6?7+mN7ɝn`oʛ{ב`<Δ|jj~>CCQ<7BT\f[t*d\5D}yT sTc ~LYYnwMLY+{4n7k? sš2 RfmTF?*?JNH݌N |fnwb3NQ&JWC:ma%^2OØTRG]+mLntdIٓ0+6-}#vt_T!1%\D?z.ԇze>,{SZ -Zou _=JCTX!FD!U<3cW|+aÿě52[:*`s7Z60n{˓9xEr:Ql"nF2);aLY U3U-Juko^9p6.6^q$y;p1O өl$$3Kd~.y!S1P#o]$&K.j^)enjx0 D:AT(N޳a tIE:U1%aW6kRv2 Zd{I^});L?ƿ}d!~YߚXz~xș8H؎u;_Fc|Kl|"xݱEvPd|_NKGOIIbfq7ӱgY>h_>,O%G)wnGV0Cg%^^9:J1Y-E?|4! wZ Ueˠ?1Dt.y>C!\b+4"bu%Ѓ3ɦ l /T/z(m+˩Ub%L1'ͺ23/Mysl;8NL!ica90}TgRڡk# ~R|=`/.VowbX+"g5~SfJTn.v#/@T7m X ks% rNvw2аq]jN;,5j{g- uءN`aso7 ch|Zp_ vON PF=_σ^ZSޘ?@L!μJ'ײpZ)+jk@i NvOry| m}_{^Сr+O4RӊEeg,wWPajF9/7 e0)*p4ޑkc&ԲRRi}?+>B;vX",e/$Ƌ `Wn6srB$ړaRTuI0~{bGf]?/}O7~iqQe{WyzdNkRXKWQ i[+or~yۺx3![ Y]ͬEԍ̩dP d® O5N|Q ֏dl'iNA[m\w<T뱉E3qwD\rb7:{g˕ \ŔX(P-p3'-6-]3  |ڭJ܌ `/: ) 8D<]hw:ɡli`hv1o)gqAJ͠;k _<(*!=rv, 5?v>sL[-A~E(phP M0+ͤU%{ P`lǭ8D]dlO !*cwa3 'W:xܱq=SWCͣFv kOuZj`I&+xX*oUu\(3w]W)o蒢]9lpP @T7>fǨ9]**dñ#3-g N^Q='wvt&k7( m*/@ XޮJ- @d= Q m/PDq*7db*>j;>2ok.y<ݓ }#U h^/5/ޙ27_f 9px9L,UGW,ma0 b"iI,I^n7\2!b?O'`{z뿒#םYYN-4Bd2s<}cK& 򄵳LJ[ ̈ǔ˳9Z;qu< o8/a2yI[_i4nC!C07"(gy{9C?W>};'x mrԼ <5N2ĺv1wZ*hbUb98?l>ÜX'a:RHLV'-ef^*iCOQ{R^ͼt`+ت:Bmd% CYr;"nu ߑ{bKiLc?!"j/֯eFhj3 .:8>^2H{ӈeL~ /"gA'TxXvr+_G| .fX#; 653`gXDdH"ikK+'ȲUĚE7)t+c9$& s?KNq2n<>hj/2 ,kK DZm'KE _HPȘnۓ>0CZ$)9Zln,zgMBƀN[%Fh+6E(F݅>"Q%~#pW f=x>.-jPA 7| O-|MHX`\)(CBÅD~=VIm~$_"xEuiqx7) (UM/hmxWZo5k+vv^.3k%iB٭+brm/'zR C)AOXyl,;M vҲhM|zEI0uOz=a91,sH[6pV|De[H8/9VBQw7եM$uA-j>pH! ;i? 1U (#GV2qpھPL|'y6:0X#, C E80S_vyjk[ ŞIlyk_DҽBC羷b"vׄ)bX%QafwW@hOt%! `2\@ 5=g(C.-BؐCheOuvq%[9yg@3yII ǿaB]kh.鈹 sڅ<Sҭܧ㴡*HdK[$)5v/VͰfW #p~tiE)ܛW1BaZ&[ U2#yS &0F! E!gaHcd$ ך\~sᙝ:*sjHXVq7=~? /];$̏63H1CU_bcD5d1ƈc 1>נ| G0ӌlԉ,IK` !# QR$N;=v 7$[dǘďqH- fƭ*W ")Cד/Z< dWn/єLtG>E.*e +UNق~O7}qMHm3~Ri/r1e; \ w.W?Fl%T+t-RڙM8W+|[iԍ vt|g"(*'B[OaSW&_^Z"#WӁ܎ktsz|hV ΋3O΃k"hǛаKnOR(A~&-]`6A / !2l/#pՒZ&^/1ùKn$#-HzO+lU7=կfm(ݯqҢam*4Þ& |R 'I|f߷kFQ NXa-%')Qs=w(nyd_"{$euhcSw"3yT}I Wh<<@[ {]ЯÔ9q_i6a<ذḻ0/vא8\h0'ETN ! &>]HMh5h&AiG|3R+~mspt5('P*.<%˲:mҢ!%qFm֊: .-tvHB;N!/Td MMunFC-b#ZU˾ei4F1S|tv#`MuOUV\Sy"p{ G|j_(JW_)[MjJK6CsC*N8ÈԔqf͆GB{#?61 FD80MGᏦ2!2\󸒴 nE>@u0۩d^x#yRJLđTyȮKt 𮊃_x@E6P\\7 4}Gmdnvjjs_sYzw-vcN1T1|# |%pżz}[{!ۇ@?u؈P S"8%;MǧǯuѬ2;sDZI6ݧiCxsA'N+,?zpGЪy3}pzLG֦i,gV@&xQ)!Y!Ȯ,e !lٳ_Lh+/ <7++] #|Di.I8zתmpR᰹׈mZN?F!*| \X(M4Ó{<b}N V`[Ps~׸3ſdfb#0u":(b5,_*#$k:XVo[ [ KIY1]ln͒x@3V=rjZfZ-  S5YZ Qc=>Rb#up?}7ޏK5ϲNƴ3,;@R(8@o;d `u7@oo#s/;쟹OS[c Պ1J;fa+=n̢& 3_ MLŝG 2Q ց.| 8/F]f3`LB!S郝\8H}tԀg40& A%%YQ{d$|th/ 2[v{`g:P6k)7Vw Z3VIՏ૙ #z1Z$fb'J^lޤN2oQqTcIԚ2'^HH͠ܓwDחΤ$O28Lx$fJ,.B J4OOIlRDXVk(ԜlK!)q| QT* ysW[ȇ(_ߝƥZ/HatPx 45a|/R?A Ѐ! Kf{3|: P/;bx|)9L& )J ;K.` `&)[M$ąmhn3tAg7]z7+_?Vn( YiIL.,[ÐV!հ!Lo0$T_I|ݰBfh6 ØƜXe^[(z^-y]ذkXOK(-^7;d\ <9/d|Q\r' Px_ةvZȷud آo#|ʠOaӺMB ,k)|m_6Z]tdv]2{Rě &'TGC^&Bk9D~ ?ōo-/n܀|\ \,j,?ۇM8,q4lξVx`渜_yu\8OƋH\j?ޮ{Yh(o3.҉&`[YJH69Ud{^?*ϐ*nQ 5AlP5-؊=0(k?nx! ?pg86U?湱`]Ǔ ; còpU^_@7tYLGOK <^0֭>d!;sGY1C?#)"1.Y\K{g;3W,|;$/xat9;"O.q/d͌ M܃7)R=yQ}k"U{/yii{ kaTe=3"Jzne^}!w [[n?亩`#kt- 31ܣ S9w|4=d:ivP<hpRi@m`xRqk W?mB<ⴕTԭ]|UǏǨ5kwVӑ(xN~&zp2 q?.9cOn<_u38Nvv^Bpw~G6k[HIiȺDuin'~P&}Nŷ,);ot"Ms_0͈c@܎xc^8r-%otߡQ묦5 OCg\Z(|Iʚ*^ V-ԫ .l`+$ ˉ—:/K O3a IsʘRǹ~M \Z;̛BK[s2F9 YĮVeA=)z#32k;+1^i@X8{M|_KLM}~p(R Vky)5'D5 Xa(Q#Įxݪ4c W( !߇j ZIL\j?nl>7hɰ5?()oڡCJ\bir [K0\)=y/3٤_ay;w#&~+GAM! ._ť$3rlgMЍYB5 [O,U__jN)9Ē(cQIAvp#1Gx [nA5yiz,,bG3aA Z͂J:oAy9+'˜Uu>`+Ӏy-,@NuB\Bv.Y'X)BoW%[.cLMs.4,y헽#d)w3玚Q-`c_/I2,;\f3ҽlBuغVa=D4 -b;O_>ARBkI+ax(w,k[)ve7G;7 r-x񈾄McL*8Lm,8OoӒ+W/?8λoD/Ul bv6P%Wbo+X("4J2+O>.`^Mkq1%؝YZEʨ!T|d݀;q?tPC\6?vBus`兂ܪ9`Ӎ/.dM4W;]e:a|s Go:9p{ήF<Ŝ%".'qڃeͿn'~} (-@Sx.9vCvwi݁˂m y9^ۥ"4Ɉd|}N>F<;7GIvp&yf?!2O^oW =2`ÃkQVBڸoB$Fs!E37'3NMŦ~_m6TiT5OYXA+s>K l pd[ieZM!=.~cJ3*4Hq ]iWK \E5?Żߠ`W9s,>y\iJkqq?Jh >S],S8BBr\J "njp]R m5Oyȏ*Vodw~b:=`$GT c3r+D@e+wQѭ Yg>TlAb4͆2<[ 1D;|N*Ǝ %EL-}M\;;[`\Y }&v]dWc7drE<4PM*vC{L}1@4Z γHX(-1zqyZiyĻ:Гi/"c&?Ph})jcuH5 =g\+Y {I@&9F,dӋ`kvL~H">9EW$ 4tEp{.QLYcSƶ/lOwKy鍒]#vCW5x N@~V Q㠂+?CÂ[^Z?R97!i-ޏ_7:lbaC[cDyAaZpb2I]̭ xpxIpvwq1lB|~xb Z-]ߕP}u'MtM`}*tS>}0OPõZ'vN72*r6ϪO uJj`E;<&bY I!{.3iIH}tN=TX;o]wH){XUarc0IE.C1G2tM(qkaC=U4i`D؎р'[+ӵn LGΓR=qUȣ'71@y#IֳFLW>{I ԃB=`z#eU89d؂'!Hs)r+؈_n¼ io!ˣb""74/u^!sʭ"p %Zp 5aS9|wBh 6k*G#, t>WPبqI8K;!U(ܦvUz#zc[]b>P>okM+%aL47teqŬאc,l+ETXP`('T/4W%[4\%8Z6uE N-),в0e"NakH#ĐQSP96ط8;pZhZϱt\1kQdmBU[kϽ,,c݁R@o~K{\}VUesVb,; G&jfÆ9Ĭ$;"[VU՞܍%MptKp3mjC ۂKl\$1+ 햅ڧ/Gf=cZ3 Eف)攆O?W^ yp/"7~@+J1ꢰBAw\ dzpBža[3m axkjXղy˪(.0ǂX 6uzR$' Bi΃oՏۙqpz&?6z ugpǶն%+ 86+&6^oVm{^EيW?gC!4!? n*vc}##-jO28T[}y[\.oL߶4ļRkmQH@Ai$dngRڌT3;N$)1O{S^ i"a"As߆vL]UZdn$Jl'u0o"S)O}Q_1o2ЇWG!A$<%Onq/oh%9@ƴ>:i@7/"QM ? KwbCG,vjOWNk߼fOn>U-?/3.J;g, p7`主kz?.& PM1GfWG$hG^شY4pd_swuK KceC yԨxnRln5v& `IKDA~ǁkr56Ly\;qYb@&@TY?нXI]a9hؕk!U{_,YBn5 ޅi ^(?sY"v~Z Mҟw:Ж໶b:H22e(YxOϔO[5˧'E*trQ뵮l}-~|upw~:dOL/{!Wnᙚu)$^Cm5R:sd7❈&= yFjucmd^Df;:H2p@mzA'CGtk,6&6x{kceLi0iM @=<T!ߩFqM뵶7Iaҭv 3x%> ! 7>B\1fda\^)QSMtTF`Dݞ>΀U t7gDNuo/ۡ5 )m5Y.&բG*s01՜ȸpym;5\q{}8`VYO))!Lvsp h82qT3>5T".ׁLn. L{̒?ѹ,JBѹl4=AAVe.祹* <NG W}A$MZݷU_" seۉi;|l=Vda:OCڿAM;(sr~To Tl9N/ pmlnfϫnotX;l=LוhG@BgE6bW ,O羹# d v >p*SDI nI'K8}p \I[9ϣ%y4֑hyJ*ԓau]{pT/{%4pKCl6-q:j ff1Q[[fµ "U]SQD㺼$!d}fD}>.lXi ޤ")Ww^nG^A+h+ VWi 59 i*QfgK0@eOo 9{.KO^9ݑ}6sXC(2˝wWn AUD-3zŋ x0|J t?uG*62"9WYF%T͞B@8 O%u둩nYGU29aU?UJ\&.6E2ߜ(W3[5> KNB+rtl1[?~Y\my=/ G9 h2| +?5!`qTU/v5[RF/0ZZ1.E#zǨkVy6Wbu{ %ׇ 7_HU 1jtOM "lg% I~nYiIeעJXUCn`!ߧ5et߈mt<]3jw$m@~Qx+x]0|*7wƚp/' &F(h+s4R|B2h?a~98^Ei?  1Bq0.RIb y-&Րp̙dގO3R"Zf)d(ܠqLJ/b/+~AF a@Ɖ^vTz+wSxQ4AnHtu90, ٢SJvUbW5}եH&(Җ &)(!<WIY@;8+?4ȶ&T ߃[l3p %ᆃVceL<%0$Lԅ=*FCr2eFNw[t:M0~3Y"ȿ 8c.1qk嗍̧Y+Z d3U2qSK=ߋeI?+lQs*B'\,}O59)E?AOo~ \Y=+[M١mm+oS%Z ~'newoHzڹջ]mNSakqam:-Bì=Ns[)ЊXf1-\˂a*9LZqwMRq#jpN3mG⯟mj4өn"6lv͵v#qRpaYߣ(ff3I͎P$>ػʪ,߃aފY֤s~Y!- !vG=]&4Apc@g|s<<ж/3< 42ɯ@#(~#\%Ckk@^qy}iɼFqiKh!D䢈B<ܛ5qPjȤ#Xy 'x]0sc;Tܷ26u{Rm%ocK*X }5r HКP^MlQ[u) sw~N$̀*B:.#d龧o1Ĥ_9όx,a>;a*ux%^+ZSCCToa"ŶiN#keӫWrd'"0Y|"K_N:J|3%('9mZu- \sKmlAHqe؟vŨH@ DƮPʩVqm$)zBk,Z JɛQv.a,]#ёaV{P*n{R'-0@*rQds/7y) 󽗕96^c@tI^=27WK@zp4'E|$CaK*}l8UFLGw\ |kg} vJ鄅tW"-Ú ĒBJ2y ˱ ஂv_(^p2@*u )͙& %IZIqc;}Vƺ|F6i(F8nE3Q=7᭬ߊhMn%N/XIJZO]J[>ztn"LT}RM,[ F2[h*2[gCSalR+&zQC3E2鋏pA߁egC˰- H@i~6ήwI[e:z;>o q`/\rWQtJ a}mh?bHڽM!‹ap,C 9o\u=1e[,~=ᨍdɵA 0^٥=%HFrJɅ].r+Ra4ő%VX{&bKp_29L" lF >` .":jV?ixZHTg˃\XZ>]pŻ1˚UDgk~p,$A:D!<# Z(Xt(Lkdo8ZPzㄴ}줯 ^p98dO3N-~vY&Ll j(>V湩ТAsg=enrC9MiRM+s6*VFKEάЬðKb3Bv6/AN(p}T/6K3hžJYFµm_BrXb: xz5H}?sa$Uϥ%fGkꀹ '$uL} d|,&ص I`<Pyjh"0VIHۓO ٞMn>,X0B06Jj0[DRPs[!=Tdy@.nwM&U&8LfO%FV!n :8Ή{(=3ctV/ n0^" FH lWlt[{D/8GTC3BLVH;}R$I:ݹO=æ1n‚A\ɷBmO݋hXY?w{1#g̽g_Xa-;B}^ 3d֫A'#s}b2 g9Q4'6:Gd>f S 2!)yA\itiAmw;so;lI$?)5ql;FPp7y..fŶ !K |"yvcS| /KM Ro.)iD޷Y!4L>ZB:uhA^mMn0ui۶5n_+?3C1)~ "UA_-q74$!b:5e\Jui*B7JfD?sP򣙀 X^8DFAlV~F5`#o823yw)hT?VH= dӬ# bbZÊ@X!yBNh[񶋍s(nh`D37|9 @ ^ ="k7_(QȷE㜯=Vonz;Ȧu{nb}噂GJc@ >f4rkJ'Z}~#aR@h$c>$mim|WS} nOEyCFoX9Eik3~Br#gwG,H(nJ!@bRN04ah=|'3$=-r+acKm-UZlaA':¦m3w::ܴ?YlBUeHC,x]O(L0jdR>qS}W ct\ r| ]oR &@DP5P̑OvTGrVc$xkٮ*WO7AFm w@{mW>'3I7\GݞW.?@ZإBLN{;g2+F N<-`\;<:4q_(Z;M sLg~'|mSH6/C'糤=zws!(CY/%Ui6L9Ou#hMFL.أJDV}CzٝC>¯ǥzg g =q,iZb'C5BC Oy")+DPW~?T.jHc+/d3X^q#,#U]X׿N5n@iRߣ;F*݈㳹Qv,ia Y_*0.asE*/1 ξ8$6 Jy#eOEs9BU~Cr%ӳV&fFȺX %O9dUȄ{O0%j/ZE4@R%Cb̄7.ZϙX@?ߞqͻŎ2xJzxCGW/jLvBf0Dj/f͍k4UF#+WJ:~aB=>^5쮴^G C#@P`I5=3?$B.+U۟Ҳ;* {1)>-ܒ}eܩMD Z܎Um0,6!ynq9˿K83owB^D!ϩ*o<&G42\ZgʈU{ l)X A Ͱ;-W 踎p3\rn&9 tpnWyS3&\o -n;FK4v:c +gctW 9gqDhk伨ݛI| <~neT󫛌uILfW`>De'xKN''2_5utLtp~%g7ĻxS(&}nq {mpQd5x' SeOo6'gplhN%GG%ŠrtbvC*(тP::dڼBf_] t¦uV{T)r:i^cGKT`_Ϭ_lUvEY)nzq}xUp-n-S ig7 (R{*L7ȳ7‚u@Se)2Ҽw_9Iuv` 3Sd#ZMJDX@pn,bϺ)f= i谎G{*&X]ԍa[ -[ 齀{T0R?¡:yJSSMܖZo!iJ'?-ZqOnKM)w a6Dm+n"3Ik,6htҍ߲}|DѢk8dh _oaRJ˞gNT€E'}9?"ˇhG!ILjt_knG{\>)BV9w^(|YҘ_|^'nõ]3[!uD,Qk on=5,g|cYA$ghW_ >Zo~Ye.s8_6ټ# Ѥ1,.G!%s [yεQPy| }N7p䴪 ͑;jtQ7\81 hr26%|~6yq C*aYm px?VVܖ]RK'F={5ZSҼޟy9m\3ӦO#@үi5WѰ*F/>wUƕ` +6繡%DrU`zKkgOw(\x:5pӵ ΪX'Ne_BV )Eч'U&g x7Q|u/cK,hl!ߑNV.+P.cqwׯw0-%=7P} i^E]ۿce ]p/Ux32 ޭ;'a`/ti?|q_/\D Cp֢5Bπ A;IZ!tIZ?X61;+qnn%ImW hBh}m`ܼuƩyݿѫi:6U6;nRSpQqaTY/pA@klJ8:gHBt E:q=P[a+=:J‰"rŪ6g%zlKKĉͧ~XWL7>Ѥe@z gkG5&V)oQYPvvo~:Rr 榵Ge+Rz_c}3Kw}tBJvpYȫiw~Ϥ釐K1~Sb) #+AdΪn}3 I4|TQjQ^Ɠm-}.RJbP}Fɇ̗iɸOSժ5PF-eq,U(#֤p''CG0pY9Q\.ꒉ77V6b8ҀJ:k,D3Q\[ XJ&~zC1 DtQupT#0EJg7i,lv>V " 13LDA@O*`MLGǂD2oNe޴8s^}@[ ~ |tl=Ga,Ye5eNy P;YQ`bFh-,Ln@"" 8trR =u_f|,P&C^F6)ڂ(} 2ZD){&ն_+Iy\6'm;-Z ai;km8z7MFGhn! ?qپb6`,"Wk̖D쐕=z7pUf0dv6 & zϺP\hYo]uj8ͱ3NqGhqܖ^ t;t*5"Q $#9hV i cbVE#O嘺U[ea8M4Rg2Ʌkr/}XHSTS Z|R/S%ڄ}Dw7&\ _ o­mtm#5Si__c4WAѡ`* &z[MIAӚKG1+6*Xc!,fl 7: Ĕ>X`K]c)ܟwVGY6.-|as. o;>kһvLN9X:"ZŬzF|ŦS/n&,F8Y1 9QUS.N*pd^޹QWv-.ej%@iw,ErF_m s)nkzXn T1LY"T kvI+DXoZ1z(fP{N s "ś뱢P{FxGY`'ׄ7vub0b8F#-kU#8<k<^дi,OBS "jozж~muT9t(g5w=+%=FXd=To"[[tcfCw,dRzl"2]Kݧ(2~,Y] s7 RvƍL-R~YEdU4K˨iZa!`7~|NiJ8u5X!kF4dsұ.|q'^%kG{Vٞryles_b7-, 6]-bv|nDQNbKͦǟ~|ǘWVhYqߢ _}7zw$s(+ҰjED&@KӲf |-f]_U@5}?m#YWG'0=?rzw~9Ҿ/;?)Io[l۾ž4ʹH e(狀#Xb@5%:{G,LJɌǖƓt1e__|ߔqpb˜ .2%ǃ<Kfh䠖KLTz g><{z nsvQP 6Jf""DeɻT6d %3ƕs}{ XDGQd :m47âٺC41i\:F{x]P@´gW@:pqEEDE?gM"0W)Zǀv@ N|%I=wVʵqu=g'0 unn CXl~ $3C`Ӏ^?Np/lT\fӍ4I@?LФ ^Pѳ]lܹF #uܔh <yJ~_23w _-ܪ."r %%KKozU%zg-_/HټRtZb:/]{g@l4MlB#KYb@obTs-TУ7ZEBy/1:?V'(hx*:N"߀پBvԟ,3%5͎C]jzCqŧmriF"/c7,&w _._3Y'XD8T1JtW* U2W$Զ[~? ෥b lMb:+V8_4͂)P38R1K  {Td'Js3e~snny:!Tܸ[PAz52DhR\c釰S-%jLQ9$| j_rXL"m Y'ӧo) ߘ& L@rNQ'6B,X򢒗>VBɊ{Y^8ǃShXE(!F^驭sl"`e V$¢% HM|Kf#q[~J+VajBQjT&V9v>MB?B5\PqvtrP[ -2=7 iZrbĭ+9u!P~1|ie]\GSxo]Z$/"nhnkNا`VCE|02[seӳOR]LZVΨ߇H-xj2b'ƉpX{=q5_Ya84=L6Ɔ,Yu8J6I>:EC 1_#*QdNunsb vj3#c?rM8W|Q)Bx_:6aȡ:'8Š;oZhv @;#&vUO'ȡ!C`9nilMؖ"jaȅK+zVǮ[/ 0%2?H6{ 3zg$Иys9Thޥkڒyy7DӄM . B5mQwpCFK$!qyx43L?ۚH$| 6(1AgMȱ\)49>T9osSEmtsy69v2n r}QEn `zf]o!gzkN 3R6kjEՈ6E-dhy&+]9: ;:弜5Р3<|<~)$qҁ񄛕LцҴff}[H/!lȞ:[sOV{^tYTm+rZaT?]hf0@^2B)Hv CmOjk+u X> .;whwڜ=rcdHZ?s Ec.31hV`*pD۲v\ۆ9fі;bnA|8 g])#qhvhEu;AmiJ^`>oc##*t45&[&p$}#9ֻh/8ey.^.c҅o[TO;@u]wꃡ>0TL4 B`V!#162+pH1Z(KNù4D\M+7юcP<4j;Y a)r7,׋0 -c$d#D쓇9h+a -|PJ6,qz R;F;7fp1>"IA/ #o*zՊ0˱!MjbB֕d Lb&2wH0a*l˴QyE۲NO P{-2LTm@"usǡ#Zh5O|W D6gcț`>Q-8M6Jz7ONXš;4a1_Ӊ0,Ǯ U,~-e!!vܼF N ^ XI7򠉐_0('"-Rn=` nc~ z? ~ne{iVJR5x6QUɚϠͽp>Rub"KnT!0oQ=ٞ@ >8g!ה"%)͚A%4֊ c3:~n]'4$~#pXIH}UY Er wKS꣪nſd؇MGȫ$o l]~MNJ rsbȫ+Vr^Z+jGxBW;!Lz^HƗK)`i􆵱7Z[5BPx5:CМ4:[ޱz>tdQ?n_ .)A%% ?]`:֪. { q^!1q;u!ҌmWc9ּ=$-qy c=s5C W'HC=Ʒ)߷(Y$bs3w"V&N45X #ǬWhSy_(z%; R--R[{Qn`7"Fg*Q 6CG0>Nr1ь5 nqE $_F^o^0=TPgroHS6j(\d\GoN'`$$SE’9JT>L*lo#?c=J{> عYzDC79%ppuǺaf fY,;f.N(%^:wXJßu Lu=yB=[EoQR)^R =l1.z'NjAT䧔'pD^40C wE #%ݯVMiޖaKKܢrX.dwʽ5^s$HTdRo2r$ Q 27 [j5؛GQej%㗵v9ٖﳨ 4cVT(睴ݣTyFlqPTKg~dZGIy|߸A^F|"(B"X /슴xfr<SO>'c7 عj GJٻj~:K%yt+gL̙irz"P^$HU^"մht) P 䟱~huOme2WƸǼ4E( iKqmɠl.a!@Tsv2/QHT45kAS:{lI|'mM2^MYYfզ9\"Hbld4m6 hSW ʦSLZRSc u,Ի筢1J9"(ԒIS1C]p}@Bm,՗5/xf*سzL m?-]? b8WG.TpncpHxK ͪ%=Ï8^H9E| 2urPA\Hs1)+ L-⧔2.]H[)&R$ӊ(Z3_'&msi)'aҰ)'=\;~n< :=}w .0y~Y}N~iPdSˢ/ l:9< ȿ& giM(@f݉K*ssA)CD bZ4ACɷe^ p nF>'2!GK 3,߅-RK>B n~gx4L _ZhG#`v囩>\KgU4q>J:͸f]oW" G{$l7`3J^z#me`*Zʹ7-K.ہrIeTd )Y#K5!ӬC^ |Vc|;r٪i]W+qgm12}ǽxQowasF;YuEm'!LJo1aHT髜^4BU#!4"Pv5e|8 )s~fRѷkq@ ٫q폨rU}2[%@-(lH9}nǧ] u Qp/AeG+@)b")k]H֟qIӞSlSa&竊BvTp OgMTQן5t'p#wb$?QP7W-C3)ċʫӝc%P#@rmN{q![_mMs:kP#+D-oSȋHlgt /bp!l9Cg(czŖCZ3(p 6BMH>GZ+_&ޏ[@^!`e@GP*ss}'eo rFƳOՖPw1&S=a'9O8 !W:P*3$wJ&1mZn7y$vS'kC ȯܹ ǽ qx:qr\jyC$xK]TP)k\3|/^P #MlK0# s<'PNvR?S/Mr!X8$s;13)77^9.յޱclJ$gCRuaG.E\h8٦վ?iu,>{` .o$;Qc||v-R{ X eo&"+IQ O]vAHhg#[F}0ܳ(swOC#1tLc*%x@^DZ:a)5l-׏׭KSHalJ ?nfR[YA әkU:ZcwX|WW3Qe{KTOP$*Qr[ ĶB̙DžYhUWupG5ze_|b#4^P ѳ[duD V?4#qn^ aJ&Po,2\v tB-_R]Q*rp.cO+Ӝ*3}vbW{,s J2'bBu 2b3(կZ Ç%<` UuT^k B6pP- /R$3@܍ ֳmMƾtXF;P+i^c<>Dx39Wȯ7F8nx7S*B$<|%_Х4 h1uCJ8Yz@"@?W9yCT`;~QJ<#Z0LvDLc ̒_,+/ڼ8v[=Jtі TT흣"#S?W}+Ć8)I6YU-fENTngW-mp_BbKvGޡ@)g5f3lHaFB5You _ - o% Δ[@0}y,{`-(&ߕ%'q]$qjwj7=Z۲C3ov%~ T0I~S ;پl&=ZL+j~Ni!wND6ٸMa^D}×e)#;=DHmrhN8pig6C^Nv<~Ռwކ+L2o$"Bԡ,3_Iη4:_ dˆ dm4V!r?`#0_*4%3uvB"H?ѠB:ȈsE]ucWAAߖ7`% B`+w i2x:R$ >6J~UmTa8M*9S&!,܎%#G\m3a',IZ Qߛy#?s׫ְjlډTV^&· 0QǩpCGEM`5*pۚ+x/\_'5]I69@EBw_:^5י^:E~QTY!HLZM*y<l§Eis+k8wvV'.[UZwd{%%ɩBشGtt/QZRcK#5aٿ"ڝ9 f/|A%-QA.a Q֮!eu}RM_ Rjװ ?c.aH'N{9pPȳψ9@{^ֿ 4&?>f7p-8^Tupqð7GbPc'.\6kFu ζ#UEm`1z"(Ќ# &n&޳ϩi?ӝZ$HsceӢ&4RӀ!(Ua%|~&H?XMJe0-߲jWmq8:zlgM _ 1eН ;B?d֣MBZjpՊ_Ny?֤:{#a)SQɬ&nA>A/U^jvfǼ;a'pxBEx|vo fS,E2׵!|d[7D܉1{dZ@7.ë}Ӑœ`r m\ 3 9ȡc8ugvkNZt> "^N٣g|fAYHw spt-mѿF>Q>&'x8C@6Zl7D'SCa DU]y(J/a2ՅOVCvL!gQ GC[/>⊔:.OQךъ-2e jZF[jƈHv1d~F?/dOށgio!dB"BM!m(4riۿ.lLrekVl E]l.05%aC>X*D;W~ ;TZR; c"%42mM b? 1]HU8q YBY0Ivױ*NdC {wT]iǗ) ;o ]_C38x @3 Z_\9{:<{ц؊/¤RAgpVSٖm2e;a./a9dS?.y ۨ˞PjTGt䜌`5ACoXRِ٨>{G.99ܺjI d%y+ B/6n:9-VP?BsfP`j3Skd~+f9tXFMm}Jufh{}(*+{ͽAPM$^[MJ]2!/nW2/&LXLj 10J(9a7]Af;Y yD,yNX.o-6WG5Sұo)? z⎄|jo},N}]T?@/CāKC&]\M;E>lY=;/-b\2$rP~(`l-Ώ8"cgj3bo7XX].xg#y'C2NbM#^6w2{xԅ+oN,Yb$ eIђ[JC - \s5᥻+wu쟲H"Vˑ}P3ٯu(4S2SWܜ;|C]V}YJ?BI PF1wWv͇}G=!OF9-fΦSU+ ٥-SxG%u=c&jQuG3EyY&$QZ Nc>ܷk+[Z 4lY{--6?[ٸ<ݰ vTtʂN9:E{J^ {PpwpJ{ME3|TQ}1^AFE8o9'w m )rQ@/U!NJk=NX H~{wc̾ @WlH:p?bhZ$#"%MNmk)!h11?,rj*S`=LwYtΰuL-98  -*:##IMtIq&ψR"A(qMNFw 3\B0z.OT /M~cD tlU\V_u#Æ@U(ms?A_9/'[ Yc}EٟDʚ*UPZ gJt,T~A V5`OBUGMc9^{qpLЁ\YrK:IƮ0nh=z$<]@DhP`|iL:7GY.@lK+'HQ8}ɿz#ÿ%(gbHySz+X#$٤jv{hQ*;r5lsĩC]ߛ:-GF ڠd(1k˞+1rئ#K"@K6]Q.CqƩǫQGY5u⒔4J`jvڪAdր2{#Eerk$Nq_b#JEd^f :l€?_Շ|drx Moh$s \`juzYGV#~{0޹ ^CE|Nf]:U^Ç$UuvړH~u~` ,uIZߠ]7r:(:C<|)A1+  GgV-IܿMd?z%<3ɨk-%Gq 5wXU,]>kX0Y[6ro{DS섶K;¢Wm`c!#s"""-i:& &۞őȕ'&GN>o7QT>e%Nxf%"WPɉ7}1kl 9V|蔢sScNJ\ޅD3K汜^A4acV ua.0~ ;ٜh ;ޢ"N'G*T9N74 /}I%s6-,?*NX;{F3*Kzw`$(1 3ـlvwͧՇ"]U ˗F;G ( xF{gMi ;&[X*l#:A/%ډiP9pCY:8lʔR(AvmRáW ú!7Un?O*I8o#K Z\7XLŮ-C??b(\l۽SqztNh.ĆL `H` g}i;?s8:Mw ~Y F"&6]eCUNZRaF PlO]1MxcGՉs#On[!abInM#&KKe.`#=LыG)ok?Eq5C)j-FWT`g9975Lب0M^쥢40jӇ76I=k *UC&z,C4nrJ!c>66 nt(y1Bnw^)ٱ{ O?!S!yq/zZq-qJjhܮy tkDdmf=bռ޿d`SӴN6|\aD+yaS] Sb7cA9HYi cf}SN{3t?$#I?X>L&[yi$'^aiFi(Z?#1J٥73*ʾzWP2FҔ8Qg6Mǁ>Y8ux!4}7Sp% }+`F*Fu t_pw?kz=,#*i 7 aJᴰ܌& nHge[$!$78Ђ?x*VFCc"^$Q @> Bl'1G*n ,W[ԡ99(~m :_4RLM\aB}A4NVm'EUqCW#L^Dh8U0ͥ&idCACڸ7 8i$m']`5!ҿF9 $mQ" rqwuP[8Ê׈z:H%ϨoWcM"k :#_,-Qz]pl])!_]V8A%!y`ʇo8lЧ@х%btv)gXn~R%ːT"FFO~*ॢb*h̠Z5hݚt%*oaoF2uPfHe c(6+)rȱva@&8NC|D?uh/Ivˑ bVӼETЯZZHڞr>E;.hBH+3ppt%h_jaqL2}w8\Z_^#i'-=mN3Rd@#e}8P8e7L"ζk#0^|ŁTMXmХG N3)uf2˖pGH8J^s, FA,fA1x=\ݮC#c7r`s[ԧ` ji)O_ [;|cn,h7Qh]DˮRaC4Ћw_k-2>(7Y,d}'"هș<ݡ  tJ^2僀h|RE'tOV,*?]pdӿо6NJ?v4΋qiXU>pe#Qf诟7>G0=l˛p{%$[V\"-3*OaIՆʃ-5uG|)VD~\cj߹q(lƘcѠ{{lgq'~z9mY꫟$l!^Vf!sV}^@/֭dtAk\^N{JrIvt+C'R ZTOps`yz&*0`=n~/_!~&GqI"Q:x2Ґ>:1-MTm/괎Z<҈)M7%)LD6f]4D s:yɎy1%" 3ÞuyA1[?TP㇙~z θ'c x 5R]"v ~r>iŹvȏM䖨~z(ZX%X }[R5bLG2>dI ?XkٖB !>oyJͱڜe)Q!'E†t,yVTTբ`smA?233[u'+߫y\׾;ހCߛȜpoL{v˶*zNgD4qG'z{Gu )?4/EΏEKA5U=i,?7 ݹQ;we@PSXYbZ\bCPi^xي.DzV ^?F~`κז<c[!҆Jfl(Vx57Wg#b3g*!nVz=˹2V{U2'wsK#B"7$ .a3U۠= /*B#W0.%|' 0WFAWa6Eq8HMqզsAسwSAQ9+ _)ğ];{Lȹ!Sy,$>@8*QizM6:C!fBF9ּ+*Q|97<crK9]7<rdI}bLOœyuz뮳-˝[ mσp*Fnvd]=vS<ȡ=TJPcC#nRq/8TxO6}SF2! ҀYTDGm}&5#sKbBJ׽QyE]oPj܀^P4E0chh q okX|M6U&E`=_^_)q'wv!cdz\4kTP0c0nd17bEl5x(&eEuXoJ)_''׊{ H ثXvjjx7VG,.s#!jmMx`KNNCO8T!7ِ](^ꁑZd<[_#lr&>c]rU5P X^<k,uiD)r ߎDa L׎4ĮTdrpEH^ρcE/uL@19LHsEpΣ( S/6v g ԯb]a?JuxEKb)eѼ1@X(MKg|X?:X%ʞ#_o~c"G4/+Kt!)Vk}e*$]RUF!m&W77)BT#`!bqչRi| ^{B|\HxDGJsFb ҴdpJ)U$8~AWzQ;czV&u!MH b77e~p+,9@Tc?b 7[A{wJkue~y#7nxDTeʃ+Ӕq|_@`D'z ]qj KW0<뺾Mf pЈJ0 L Wh6H!/<3PEvA[REWixW(0.r!, m&E"QNTP#O!,l-@/G߶I|O:Ql aLQ΃p,&@)ڇ(=ؚU4ECӳ]7 Rі[őx=yTWO)|n*CeDL*QC#Ԏ tc!,(ET34ߋ{GuN,&3EϦ- ?!h^2tޭ:\Xr>`d<ye iz0/.='C#)2Z] =zhd/Ro/4xT0:fr ֖oRNϮʉ KЌ߾BA~;gˌF@s4%d4`c*$? ExmǦ~b[d˘TcA3n[Kӂ= QN;FaKp@5Q^҉F8` Llp f#s<'S,uXZxJg[w6W.CpnIA?h!pW<(Oʏ_PIX1S}kH~[2\% {dC3ow(~*!^bS,%w5}󤟩w|ѼfXw"E=F1t<>-G<-2>?6R:v"0.YUdlL׃V.z t08wS&QmHT>biY큩+s(7# I+<^j؁^u5jC>gT!fwqnY.!;Vh# ||{`o.j`ʾD{I'7ۑ|`^JZ#=r{>ʲSD>\JE@; 75>M,l-Л'-h)lCK3!K>A4"٨`-)xZ0H/ mjae$+gK̞Z<~M#ug3؈]PgdHУ|;qJ1b#Րř/XVj|~ uڌU]Æ)NSɒc}"xva;meF7EVTBhGWSB4L &E~͏qnƷjD [ *A&{Y;MC]_jh-fBۢEYք"s4uuL v@w? c\eQ;;t5 ?A$ Pa^-bV|VEvk f)3K8הǨyi}9.Bn+jQͱL u?꫖AXa>aL#YbYIs 0P}"ei~Kf3y"q$`w|L:`AK/6tx˝~HiQ{*gϚ)Z%^o%~?uu*،J0CMat 0C.$i/cL)PQFϞjёb$*UbbIŲ ^xj[;8FjB0رB.;CvL,]Amv-H#]10׳2>B>~Ւ#{O {(z{V vPV}) GTva0Wlnܥ9zHo :U}! vW"i~:gJi;Ocy\Gj}\$yK9ጮ *AGʏ[ ADqz#Q4+i( &XףKbVPɽ⍾?돦{N[22ʙ\$G0j,i_AtCLxQچ;ɱMPĉ$@c} x-2%y G8l3b׌@k;xrXB2IW8V], d &$C!gf,>~0]9@GPo%dJseMF pM+(;SךH5qPI jk%G3qQB]eჩLVvqz?ؠ6kаGGysŌECo")s'qfi1c;r jߴB8aslDi=P){j:[V,q_B1ίKN7|ϴ.\֗< _)[3A:TِJ \5+R(+բMO!B=tq\sFp P;rq'G`ُ,!M2-bLyWj@U{[Tf'Lۑc_E~:* 2ы@S^lw,)Z5pܤ`f FJ"<$4x'VpbP{=h(i3j}~%ͧWn'H}oI&Q_/Ubw(7"a *i/wnSf*xf`kc9#W'I]2Q3ě/Ӏ P*<}A8,4t`)PVQz DI BsoH~(4WYL"{{TF۠ؐeQ@u+} 22M@rY*>Azg<0¢ ާ4H1~clLC FZoє_򧆎bL  } <7ڽsk+oΌ" \)яHT,@QAΟ+`S)uU:uâ3yc&"#;B >)Vڼmw<ʎy\3,ml%mtm*sFIaDLݤ3)#wFlNc0-*enL<d )SGUgԿ~om!3L"3J,Z(uV;\9- rY6׊q6Mĥx#m{ҝacA}UfCgL-1֘R4ඝ*2 mV|ɭ_VW50> *2|{ ~]SA)4Rך؉&{qksfh%pQό<@k ҉Py1P^jGV%9qZf@|G< eZ }cn @g}YJъK1ζ4m?@ꅢ)3k J D^Wv"M]h 8VX@dxgi93@JA9!Kup~;}J D,35@S+!{B.JOPQ.on!>E?R2Z"<0*J5m|n, ׆M2t)--%.п7;9' B^pΚd? 8LG" Z_7: Ns'?Γ)Hn3S}`^`AR@T\Հ-l0`)޸&-V_Sõ ZH`#96n*l6H5oː$EE{gyM&!~6=e@D7 sryjJGTvf!(,mi6m3zVN3@0Ҋ˺djs: $mG єPh 1Cµ$;>'fNI)wri&45vV5e)&d!7 ҉Ku!@^8Cxzv8ehBd+ñ'Np2H;rA}PoM  ەw/S)RK/Epd_ I~x`j;[x E=7έEtsL>Oe';&SmXwWey?/oûiz!P76"fy4*yp(BPh}\%B$.:W={,c{zT UoM="ߌŨnaat/ yϲt(SMMǯ6)ckVDSZ5ރ(!P׆bjb`IXF8tJv@kG@"1vPzM'I7b|0H"݄TjL$xj|6HU^fDI$/PG"ǑR9{A3n ޓ[!{ancůF]8G ew3oks^׭hNbHynJ9}j>0!lE\Я',}˜1@Lj}Rw]Mw,x| 2'LL6L @WX(<i#q51.zKR 휣%KyC_RYQ'kC3Vr' !,:pPȬGmcÅ,Q#IʩxЄuMn}hjΦq^bvXi?"4`w ˆFy)?20F']f2L(˥/~Q]̨z|sOD|Mے7u?Bgpq Fp"cEmz~'BM&8>m e|4L.2 -gb )^|%YK;jzYe¯jyպG!d(VHA}sQ΀CR6(r]F>qsg#~mB+%C;{rhɝI2kGP=04Ш7b._- "VAy2wցcS_]'!"P H1aEII*r7BLK9jř*xp=A}}![Z ̜9piMهW_[ )7H3b">_e4r0 4`sz5$AdQ >BY%x}BƢK}(*& >W|OpkLQy5I*d'gQ1ة-łgľmGp:ي"=8.D,qp0j;Q-WowL*̡?^h̢t<* n$+׼gu-u?`06@uj/0"E(+/kIH:G9x/ύ*<T?dgۂV@L#_\j4.Q5ZP*g6LIʆmx 8Teo]/,pOj%vpY=#xy~^?f'ϼ~%h9tAJ?Mcn7;!Q˕x>.3lG;mO l xc! mS˽)EE?5|a="I\8ds]AN}|f5 4M^7`4aG.̑Bɑӳ0Þc#NH |v*O r8,USmnؚٴ0>eRw?!0R~^V-׫F~շۑd*:̒  H.ڱYFsvY=}~ΗҪ3ekBV=+2 .Ε.e%5_F҂dYANubv*%\U2jY|uÞ@2/08BvGitxmB+:꒗xwm*> B7k;)Bu>7gPWGH1f=).] , k, Ydm(_.#\{t $Mx|0=QYm .Q3I8N DS~'0|_{ '/,AM-Ng[&ȮDhdDߣ.qX/#C I|<IPCb1d,F~lGg(bA1 Y qc ~ɬ-w}&=in^Q!pUnԸpǨ+WPԣwh-eJ8RCBb 3YVA/=, "xL81)_f:.w%tn[7w$ô GnCOl=tn&EK|XC.Ыbp"07`&E~X K*]#ۅn$F޺UH̉3H׳dtk˘]#"&>|G5w!xi(j׈${Ph])٣R} NM48Q/5^eo5g `qb͙oa~JVr)7m S _)*" MO#=F8`,sQ I P$ߴY*n>j J=77}hӍ&Dou~:B@*[{hYPXv=܁bo$ψ/54 dl('b>O0l^TTM7k6.'-.8$wGS`b)HAM摮\pWmܭ RBh2!YQ1vpHtWK6 r\grOjȓjٻ'_!ՌOugmZhePuY-Ӫ0gR"c]^+1rZyMN$Y).햐m%;{["%D /UonGg 8QL4R?RPݠZUK:Z|˿_R֗8$PCԉ?챙_ZoӰ[#QL?VAo-Rd3'",9Ibm'|V5 9(k{|/EX98(`m˃Emsu1{/>4(^c-Kgb(2ftrij:dH}As 8] Ya *>̟*8)xk#=y!O #v=O5PFFLDž<+j"A>ې# T\ L wrgU/#t󷖒jqkN]w@z0QUp{0!5x2P'7"̓%$ýᕩh"*6i0X}VH !9w@Kq,OAܻ"͖8/,fb F!a)8?PG~={P6oE ^zUh m=HL[C<}#ȑ>5\ BVU5 ON~ $2+g[zZObmA{bfLvf9Ѿљ椎cz4*%RF FDOɚ~IȔcFa6I 89g(_`Uacyuq3;h2 4۱deCjbDE6r$!Lnfwu ,KPGS9ف?xNKߴ9*x^ dfftZ^nf{t^M. 4H!ziFWeV(&:p>q?IHf9ΪcG~t7LX8*y`VF":Z6%>3)̡hE@Я\uX$lP٧%,q ڵEE¦$e ް/ɠ!k.'s=7Xƶ'p۔&*>H 6 zHA2YRRj3ߑl3/lҿD\ :ZhF$|:bMx,bt!q=_'LPˤYUÞg,#&j$rMǭJДb5 6qPw%1(H omI]Z[vd)mܼ\X2DSݞx-:00JF3p;t\|lDB![@yd򶾣b|P LVYx+x48$$modC[̼Wm tz@ "#,1-D:z uԐ{@$^+"/ݗ GѶѸ.A=⑻$ֺS^,<6AU;21TőֆRqDI[:Mo T6]=g6DV+a"F;Ȇ'7QOS͍ R[1|h/ԽI/|}Y8KZ4~fpgLn ?sxtaLtΑϼ[$V|=KX?HY^ ʎ{c^5eGŷ uS; l,eJ0݃!9 .aݲ0f1IZ_89 yJZ"swq `ơ8fqؿLJ>4AQAE&ucĝ璪~NaE&JVbw5I9( Mgid>k*8u+3 ^CNzsLZ VAz˔N]2.<7#+b́Ћ'S[/ny@'-%C!}q(KcaZwH>3=j|B{t|Mȸ0],'"jLVS޼(sM|ʧ6q/󥼬W%XI6FIJh/1(c}ь¤F% 7 \ZŐ@X{: wEہ Zc4͓դHLy#zWx6fQ^tg Vl{ȥr% A[6V({F՚N`5:Y _|]Bw%#4F(67[tc4ЇrqF'-D{V늽DǴL"Gсy|I)~lg`UVs;{.]kJPŎZϛq1@x?s8\rnzu"Oe*]}c J?U rd͢NfG?d䱛qV3/D=7f՞"5 YM*yVQŋ@6r,ZoO]bB( rgAj؄?ٻLZ ,ddFM Q=Ĺ aiy p}M}A"7] n+9e([,5/i-d݌| ?YGfU};p kl4{lP W-U0-58!J&FLY)BT[&ù" RtAK/ pԭV$$^CR8-hfӮCȪdMϴ-)U,LIbt@KWFuF|PT h S[:p(Ɂ7zZ#ygCX9 F[!i1KA&ݿ/$ڢ(&łqtRS/Y]p E1Y:D5yr55c),5-ހZxgv殡]KrEs'1,ꅤPB4n*rn'0W1f0X&0f)`2M~3$-]v|x#;9X ~$! &`J!x$FS(3>Ky;<"nX`yH2ŐWdZ]&W6l,;]ǍgxrzTH2aɒɊI磶ikr-`<64r wX` ] \Zih*ŕ* 9Xh2 xBM%Ot8i3]c 뷛߶Sѻnm p*02^29~{8 ~ُUA5#= ׀`EL UwlXgCWMlLf-"3kJ1]'X_lA06)F!ؚϻs*E[ Z8/.LvkɷWHK"JDdϻ*b@5NLa9RmL*\t{fciK!kI6o- f:/×l -fEШ-_/dL܃ ے)~8bVeID]]E5;kG̭p<':/sK^9"#0C<5wҿkcf9; T+L]Z5lTt%IuOs0EƧYƼG I~2PI+RxZ6g~1_ jJDhøVA 2㩁}53*((vA(uX {Eׁ|Ma4(C[:L4_EEN*~ BJWkLl/ZLi ԟ1y|SRYz2{4J8v, hl/a0~5 o3k͑GLUC^F'!4tx&PIY\r-@6s>Xǹ픰.ۏsy.\8\#Rz|+A:55r8grb(U (yDn>+rO1Y:gߙpB ܽ9vyuyDޏ#XK/뮭T0[ ( 8,FGNTHQm1PYe%|yWNUA^/Ñg^u]uT4~,VʈkF%I’-->QϑJ\LmXMDo l*աDۆƤjM:Z/V5P-\OBaSx!F^ysEyE lcHjǢLJlBF%ІTʤAgڝAI.U2N@#q`vKE SNԠc:O5DjڢgŻJJi(l`O+i2{%j?&i+(GҏHY 68Ӷ[D|O1҈IdAx P&,w 1#q'0C-{t'iT5^T>)oF `$)9t#1(7c 9n+5$=keR56mB F$yA2ؒoYipg89}uQ+>I EqpÑcc'cs{rSY[c,~3_d.O}mgrBݓw?=X9:>*ܣ*Ј_śJ, J"ܬӧU@hx0(M&L%~Q IܞZ.bRQCuJ<f@ݮU^Go.`GW)J1 Ɖt]0'( x5.3^"V5`))7g{^z;X٤U6tZl{:=e0F 40QP\؋}wDov[~^fytB/dw-HD~vxLCxm D(LgU:쀒ִb4s,5"7^qC;S܍k!]S>DP$P6 hoDHR*i2j//[XX]ҵ'+r5$.C|Z!"(W?OkID7qH1Z1Uq Oh9)04fov+QFf`u*:2b1sݽ)t$b y}߰L='zü>w˦_rEUղH̺`-rY s%WЀNđ^zp co$HZ1wB8<<4p(bHqc 8_XQtkR |pU:@y~)U3\Sf}ⅻ^^j28 s{j bCbĊ&Y%F0w^_X O,63Jhk\DIKZ\`u8V8.LKGjUZcȵ+qbju꼣EfA9f)6y]Ygam΅ kݹ{b?!Pqa 8k|ND-3š4ތ`sK(gEYZf >EU]_̹]Q`r 3?JT1@ *(N;!"ũ~կ[sŏ +|@aVwAx:k'/u[7=P=~=Kװ1P@{_7+tR\v 2m=]i9q3wu Чmx-qDAEd&/mPLv;X gp eq_RO؈}eVY(:4|F"!!Fwf TA^UEF'xQ7G'vTnW di)?7 PJ4,F\CS8vf0Ӱ(~]Ko ⤒8Å??Wf]$נ 7膢?!Ogg&cGO|Ȍ*=B1Tl_~tp'OC\/暈/<7Rh/p fONR`_*yFh0ϑƛS9M ZvBjbִػJX6!sG5H˘@>L(JE8!SlxC 'fxނXt1sn>8TksJ\jD)esdH^:b~IcZ&GLkd)9arL*Ʉ?$5&3|A| xU j-<=y7 H/䜇&g*} W,x\4!JƖa~)?of#S" QPc,9#263C &mNn!g84.?̺wl˘OBmC34\[x0A fh̯+;H% p>av{EfY&HI[WˤH[[ 0+P^9&,0ja!ՠo5[[xߘ!piߕ. eL)&8ڪM\D3KnƩ.l {7]eAMcq0Y7 #334=fX~ZSL sF-;5X C?=At5L'Ip6g!BRs/>#49ijl$ p*XCpKp4{sb]~Za7ge&I6'cQste~8,qx w ~q^K VQp"=: VU'a\3v e A֝qbݘ?CSIIt[ XE=$ gvI> hǧL ^#mmC3Al/Wq+p.\,nnJ#@Q+0^[FhpiTA 㹽dg.oBY\)ƺv.o+(w9+څ;{“c*$喢O˪dgLo.tiQGA6ژNf:?F5x%9lU:jt<Tļ}wz 5p3fa>gTkH'4M?Ů/x~/$ǵC^ H$yR(:够##`:k{P-1[PYC2Υ!Xd+DZ3~}rK> V1jtʃs~q̞.Mr uF,d^<^ Fw+Ɔ`6 Zס\#JsǿQ"xK(^-*.5@Ta7-:<'wESXj JzX9 wn"b{\XN6ja2B1U_΃}bCB˰F9qt! G7y >:9Wjg6sS ۪yLܪ%x)E v"O9QEҀIhH1WcgU8ڰeE]&cEs"ZKO?+zX|[ k\{ ?}kP5Y(9ګC6F(xC`w~OŸK]Y :QlQ =tL݈{vvZ)%/ԁD9mi1fH[bą d-0!+&@;/!I'!Rr??3*FBWCx/C#EڼJ"~!8iT.:iB̍up$B!+-'4`q㫗ggYHn=vB-)I&nSvh#c6U[etV~Z:/OoS;xwF"a r6:Ԕ2Ĝ(a>3bPG&opV%g.$GT۬_X;"iApE` Ӿ@bp;$kĐU1㺳t-#0So<4 $$SYd= ·dE%KVf']Se|%jЯdISp?9Դڱ}.E}3;*V:&O]vd=0YknByY40EA*BRRr46ɮjxM=ٟ^UTq,`v7$}~a+/f ff6tldQU#]CvӍCZE Gb,S3NksȖz$b,ylL;AI YUkC4\g$ʞq R唱o9`trڛMg3;IZL!"^7}Exd@k:Q^n[ŒrQ͑Sw?dA¤+A[d^T7[[Qer7qRvus*)Ӽi#rF[d34{s.So(D@%];="'z^(gy5ײ~)q50 w Vd#*A!`$4MnMQsZ+ KImAw R%ƨZR֧BôXVK&m%! o)F%ӗ(o]}-AtUk'Ng ЗJD 8+ntVO[a0EvH~4TbxϨPBx:\x4w?U6D#40yҷ8af"nw"C.a/mQbS xTR- 6˷LW^*~~@7K01ϥ^ AV^I4V(+קQ JA EU4 )#C!t; =f.oCNH=n˅SOMtdom2o_ r|{%_k. "1&!?G 11Z&$L-_qG50_Km`4K|-Mfm⨥++'J\AfC#'wGO6 CxȦ-+'0gK0[.$L:|kK\ sP|Z6 wOl`-u3:Z -+(]$Dۓ`9ڍNN@0_$Zy`T_=`dөxi<4o~ Mu\0g "2FP3xS EbmE-)u"ͦjDb&+ tȭ^XB0v拔wSbl3aCc7+H$'~}KZͪkt` [#Wca`'U33ne_D\_Hf,&-pq%8ldp\ g5I Xe/kܒ ;X- D 'Rѵs@!ҀzxmOUkFZRd_Dd9_\],pjZyR,<x NZStA<ԈijVVc,?MnS1xLmm{E{>nEȗ9$Z[/zNρlhjEQJU'BqlQȷuQHZrzd:]ԡK * }3L94#shg,7befż^2 ZT:sM&c@=_a Y#NsփxKhۀv Hy>C6@6$7[Ɖ'Esc}njR6¢/p0IذJդ} V=oNF ?[V/SI ;]nd9Dfgk)9e#WR6}NM[.<^TWc^+8~3$?Gc--OSO-#ҳ- P k+9IÒ)qo4)iThԻWtಳDuh| fqrKiYR'0gKs0+ Hb]=I_/Q$eBcOOʉ-"H Zoϝ$sJw ikU궙"͕]rW&%!S5bNpbbP ZsrNm@8Q, Bsn~D^Rz®nq&xaA`{1B NĴ'z7:Yl܃^PcjItSѣ{rKl9F׏ fŢy6΂:x'9Үwm;є7nw)dş? ~)qA)EαaFY>_۷kXz-L8s54Tz\N{pq*.+s~kDA}zD|Yӝez8Fg@:vWbXtѨ 1]:Nȃ+1✏ua'@aZ!WN=$O:={r)|A㘥YlΈ&^闕Be4W-"Ea8= 6XDJ*vƠF%I DUl_IvEn`ZSat6^O&L ɰE<%' >` ^]uG5VùB0vuBb k7;eCԖm 8[דY.D%xGai@`<72W$ϗ"ڵt~?%#>@vv֔…GVPfŃ+bn{FV~%Ui8 ,xp3VwkCJ^n`X߽Qq+XR~Ll ps9ʃZCXu\?#E4#+}{$Aڴ A~2I;CcS߶w9YmN\ |!(en 'eYPCujO0V[ݎ$ O=aܰ t &xvݾBn96hJLZޞ$ U(|>[O{I]lteq7Mmj̀^m_[ 9ر_nv& UL[b΍'xʬlnpapaZr ZglM]zPG.A>FXo7-Kv|z80?ЗNxC jbABIp.R\55< P4ow:xtdtFWaUyPx[&MZuոa)xLJpn0k s. ~Κvڑcٳ \ oE=5o"uXbt7 ϩ)NsD?/,/!BאbӋ#o¿o>'/pwodoQF/pzgscX֏Up]r4Ptc9YŠ Yim $(mᕁ#Ki-D\d'QՉ!?jZՠt$GE\*콕Upfδ-Y_ Cyy[ˡ8~OV8Ǚ. y+T!Pȱ+mt,#tR4h\4t-9 (Q;!44 ,5CvC pO,\do-&([{1)v.D3Mg n :$Yj-\ kxckk%65JY TkbLb*=}j* v58ie[ʔ*Ǔ˭jsa|}E:䔎2 [R22ݽ1  t,*GJOTݑD۵b/R~}5Txn9}sBDfTŔ* |pAZnŽ ^jqA풰lpՇR+=2%π\΀uK9,g$j;a MkbfN\'Ljprn>ذ*bT7>ܓ]yAɲdTM}(3_KPf~ 1'HO~/GepjKC P@?0 |"n&%z%zb{knƩl%c*SGgbi1 V?B =C ^yT3Eda~"rFTW0X9L%,BăY[)苇ABMTXyÙWp x0 vN@q N\Ϭ֞d;Ng.S=';˳|E|k/mr!)x˴~xjjUcδ +KzOWΟUXq"tM 4# xѽTb1k2:즲fkCzAqU2!ͭ,n2-I6((]`$f_:"n"U/+F7?^4_OKkj%WYY(daEwSuþ﮽`wvfŴsǁwR `(#,jA7!֐FĦsTCÉhTm@DlE]G#ep Q y4By )8] CviI;-:OTGqrjV)7aK13]9#V홅P&A8eBԴɦ0W0FFCߣsތNr¢yg(v{[Ze1x,O'⨲^^W/|ꈵOP,8$Xi3p ~F~HI5!?개DjG$OQN kօ%-)an`|a[fW 睤2 :]qzn)/S1.;č>եd8gLpO}r68sCw/0dö ]˴U60s6'`9#=5J(UT W~Di(XcO:'~<I"$@vӤ62ۙT{wN,V"$RP۠rK]3"g[c8I˫ީr:a#I+ G G>AbgWہp9* ^Wt~ؘN)w#+><o#^;$\3v4EAұ{0Ut@gfB F26^ӡ+pgֶAr˦ŶZaG7+"@)r0R܃Ygx|p\ rnr*0ȕCnF2mW@@~/e>RFl9d1_EbCMouٛ[2d'gݙcW\=;ÕKaxxC䌿9:B+3 }Dll|f}-ÁyH/#4S]5iP\$k@m^S4!s׎S>=!Mx)-n#)/fy\@${3 棑B>fF>Ͽ{E"FkL95?v$cB>G@Uk4)lkݘ` ƩUWԲ>lJ; {|oZ/%4MzR^@ˍ SmCrOĖF۠TE__ ̄xe^dbPlI2b=[8ga'TŘq<9Jf@YoxU3iK?\))6P7=tu) F|񿆻0H)Tlkk}`cfd|bb/tBwCxF9aX0A(Nj}`u@3RoU%Ɯ< wNM!*AL]{)p%% j$P'R`Hi:W+ }Ԗ 8([X`/\oFF ]S`wRN}YDXq=Ró%-2fTMMYѷ=$$J?V,3VğfH&D:7^e"(U.qH Mۏd-6#9ɈXpBxDѺz7MBK 7/ R0=5qS'!A1Ek7q򝹏 ?5KCfnT_2'ïT 8UhLfIjgT@G}gu16a_D4le+dS`PfN.A.U?|ƊdN8f0mSQ3$7'ǔ›jڣB="CsR Iz* LsQi]&-DUYJ }-͍Jo"ie}2Yj2oa$g܃I,K5<eALT=]E@DOZ 6 k|79S?hwCfM+ qcd[15ej _V4'Š @3{`4zT`/[8+0Y}PH;'׆˹0#^Kc_xXT)kN( x^LO $W؞.נ&i0?Z,mI ԅG^u@y?TN6,EQ!kt8rba Ixua l|+'R ̿I*6Qutz?TBCL [>} .ٗ a MjaM J՛b IDOsYyf!},ڲk H{[obڐ4ۼR y{?]Fh)ӧUx`􈝘aFפ-:\%=M|It FG`w%x+HO4ѬWÞ~$Ҭ6mU {TX|m(7٢gn V9&3OO˥Zߵ|YA%u=D}M"ًGk]p" >8ۂ=Yn`97{`FTNkn@Ҧ`/!gTtu {tݖs3pM&Jg+(CՖ@e>ӃhX`mwvD,gWbgQYh*HS>v1E!;Iͣey(YaIc}gȒ^w^HN))lh.oRA`I $FN ܯ]N;p`QͱzsM +=> мIK`+hge Zу~1"7? >mr,fg OQZ2罾A›xG= y*b+w(;u4#! eOU_!Ї.}eb)1&pM6*)8,nr^B#Ȟ B7K\] ŋw,Rmx.+Z8 tbŢ2` ,r(LyO݌̈GCz<,Nv8}^;@4r%-E(L꤅{P]&#P蕬9YݝYk+T^yU:V[Q uYSOD*j6F6.y<~YSbq;H)nj%leUAgAf(!a6{(j;i'{@ ֣L?93˂;_$jCnj0S8Dp cse@%Ƈ蒘c162Ԁ s!GrX<)LzC3$εa2Q}꜂{ a4UkJ9h-O܅Ґ@;4f qT+bxp]lB^!@ٻH4?+_l]x<߱7@Ѻ5#zz<8xMhaE0qxMF (\tdgoQU'N-sdlaY"ZP;pV_Ϊ7GR We8/\'M܇7Vsl(\YҽwĹrp1aMݒla~+uakwkld:+?$8]>m ߞ)}L\3XG*S<j`@NY.t0α?m'bV/<xaDD2asf8Iiç/Nq 5˿Bޒy"o־,<jL^x ʃlqN=<4ѩ6hY62Ǣ.p"?ZsH`Løj)=?)v"]dkF.wx= d:. (P>vwۯ OΌUk]{/ ޯ҈i?jAwͱ@.%o56<8x6zx =[Ko?<ц*?L:geؽ,j1?=-tTzc}MxBFhsMm14M2uyDNInQogQfe$  ;Kqbd:N< P$OR }K@̡9C1h/ct"4᳔LR>2\%3*/ (ZQd k?).w,.ՓEO,ݼC\G4R7beb(`87y OXQ5.k)fno[ۜnZŻǗ3G}ypafAR66,5]Lmqn߂L~=LBZ} xT,U`~o[HuB6 oQqv샣wq. @fLzO&rc8+᧞@n\!./ )åɐb*/!,`XRY;b~9w"RI ^ 5zXauK/{-rHVb|y"(W9p-r1;U 1)`ʱ=Dyذ]nmш1 s//ah62ƷTz7B4K;qߠX2𾶁M|يP8!xJ9p6bR¡T.`[ʵFԌ_LUD.1V$IN*#/\@_ \M'Y5lmת0^32 ɹzya  M(GfImG0%\k*'w Hi9HO2C;RRd"h2ldxl؎w)J(mŴ) #ѥ r0鴆]9Y)|d)*p lzG (~m;R$zBE :QV֨ͿWM[7AqIz9Hr 7y(ʹ&NJdyaGvGj>f\˱4>rm"ov\N$ ֎-C$s&}s[؇^X\N6و/\*7Kɭ'iI |18L1ޣѠ͉pO?q. {_ml_!v Թ,d%*AڥFB]F+O˝ W\ib{<0jбmFjG. 쪋J䥐18T҃ӹQ[%!2B,D4nn*$R)lLP*]7r|Nr/s 0\bRJ [0@zݡ]ޓ- j5~tL+ C\^ QGkrfs|h?b,ג5s\){BI ׾q4H σ N['P+3kǰdql XZF6a$( ^7ƙSDo2R׉7ʎ/gA'kp2Qh})%/+@9uE.~EbN;7\hսA"*@yJC} _9[p2|kW]Z$%ñb6p%QRCߓ\s-p>:|CQqKRn.Vl siMKhgqT%4Em\y,BxAM(-ioIH_pZJLL֝J ?8 PdO ݅!A6ػqؒbs͝=ݜR(ol$Z#THnjŌh#hwi0:Uu覐L ^]cYWˮEtިvS! oT"ua֥EKn7W OfPP*lRIgR7B\Ο+7vRIoS9$s "%9r";o'AEmQFq1ڀaq3{+E]fbyM-3ÝR"!dν45| H?ޣb(ፃ w5h+Fj5Lu2_jخNZ5,g:L F0ѥ`|xsp0v[l%`ʺ U,Lm O fGKo xl+'%aS`L|d]9suz3n^%zkxDL>B{Lw]cb}tNKr.}A94ٿ>Y`{*K0[g>;F!4<oK+p0 P!%R~ ђE0dV%I M;4Oz7!w0`z )|:F0;mL50oI6 YcW:r=StM8ijKVKuIӨ!E6Z\ Xp s9}GM('tPw:Q_",Et߫]9!-t41+{:L"a=_ [eY fޯ:OS&cAvUhJNA6\]e&G?k]i7)x<,jCX'U{[͜gC樂L Ӿ]\x>Pu9=rH;/`HxT5n ݵP[DkY~1vz^!͜zPUG v>3ڥgs cH?EyBEy"vw-OU0 4`L fpO/jYϞvWݎc34o1(̀0Ms8^c{&Tx-u7+# u4:/#^nl1,Py1~(@}z XѪژv m3Un0U}^OeGd?,8JIɺ>@Ec$wC"h2J-Z^xZz{g 6K65Z,%bTxȃ P}X;}D ޳_0A;e8P+3Gks.t<&kXsōS3@]USA#ieX;\Y8, qpK`YwehS9BC-"TKi˦=%&&y$Yײ\Pt LbOonS@)/9jZа׆8LiلxܪƲ =^@~fR1 "t 7ȁэ&Þf+nз]tɟiFuX(W ~~ 0&\z:2`E]C6tEIm_i]F& h}3F !J YfTB#)ըLر(葫6I=_flA~fAAGeK,rׄ H[68I@ ;1 ykURy6A R7›^ܸЊ'uzeW7Q6-"Qu>zĝqxӒkRfeƿQAķfȭFqZ//w9utWxD~+㬽bίmepBͬ 7_-oQ:K)pՔ |j$#Ր't򤜷#ɣ]-:+uwxN.#ef8]MA>H_i]/԰ Xxy isю}uM-I[$svnuz]B4SJR|ꎵ0*xj5@G@jh<7 M.ُ4w2xQǒm~W\D/ב$2)L!4=/{aF{uby,SVTJ$J6׊&`F*)mC[ݫxվc?} G ,s?:Ж̓S)՚TKV^Rg%l^K$?T;T_d>"K^u!$҂ I\un#ANM~0:)y}`>E^s2> ?g=;Qc~17u-Gt$ΐP)C kctau`xg8EerT菛A:# -ʮ=rG'I>Q-ӦE~_E tfiNMUH @F-(9C-$˾{K.:5kˬw2O%2J<|>7˝'rOnƒ-'wf,FbKLZ4 l##_ٜ/3Zk}!xdLT%#A:r$*  }\iNf` 6w)ˑ`Y!?:>b(ڸ wA!X'ӥ :*Asi.~9 T %+ā F #l$\7Μfb)=^:tڮ}W%IYM8Dݫ }&/j Ia1Kk;u)Uqj*495{2F;MPMslh5݉p 1of˧>gkW2kzх^~rTl|W}\Um 47"x}}?SR/oTOaX/Z #XȷS_Nna,D$u24\g?rt G ~eG$;eLc>@@  r3K=Z?D_\<3d! O Jbb6)3t_g_;3RH\T6M!B'ZEcCηl?c]i+?1P{EG̢DϦ?p/-Ӓ7Q 2t9n^Db!^ԊZha`XmW%߷lL1aҝ>X-|9 '^ X<-G|p48N1q2}NA $鱘8O_;X]ȱ!A<YECrc33$E 0(5kzcUQ遯J:vBr+^8Ԇ)\ %,ƒ7_m{l䱵 ?c١ )EY5?.K%(N<6p] zעnoVW+ܥ/%1uvX#@}íЈc˽ՇH=l5d5uHs!o|@x8 ؟u Ż۱!.l>Ie ٣Y4>8Pک%8җ]52W ȦlƈAd><*A@V:ɸ|$.q$cr@QW>ѱY,I+Էz9:薧 Ku}4"3'Iv|5D3E]RG|/P۴qpF=s C'aic"B=wLl HboJjwzZQTV^. invwY^': Xà Z&cݩ# S?!v@LYRԚgEtjt-Ĵo|\=*u|=뮾a RBų oZFP#qs}?5otЭ,3 e c]< Ijo%" ̥A/UYh~hLM,t]N|iPǻp c4+B)D.l=Լ`Kns_z0y  wͰd֘j/VDQRz@"%#Qt_4d9PH4o"{2ze S%&1Fw P[ ; ?th,4oE&olIS@hHdGjr-ȖИ'n%0Nm] +a<;TiCAQ\G|t η6R)uX#OjkDm̹6c쯗 n e Mh9ՏwVvȕj{QżƖ 3 cUl;yZ3;W4]N%8b [*UŌȨ_1{oVd-ͱ_Cm) ݑ5eIhbO43' 0(q1I=qoLDDf >Hq;(̟iֈCy9~z]!O.xJ 88WOdh.:= $[F}z.&SpjZMlwbvrɉ*0FlE"tf^Ê)j&b^zzEk>PxC2#+ܖDQ@p\PSY`oRT}fWYFډHv.Rݦ2>KtEʩv٥7 }Ȏu҇zN Cyߌ[a[2ة9h̠֎ݨJ*ر&`d޴|+P;T8UE:8fM38?Txfo. 0M{9grff|ND触SIUXb 6PV iMB9"2jݠNAΚY&|"#cM+K𧂂T|{^:L_bhT(qnF,9 ZX "jM#>EGf(.V Fv7>}X~ , D#HXF(|!-ܰ`4ZH]_LjͿU 2n꥿bBzVâETIzgn˲;jC |{X6mg\]&"2Piݪ',E [iuVZؠCj;Jyx? 5pMYb܀VJ+7N,Hk6nJ݋$/f: +lx3LzfdzʶvBׇ-Sq0UIZ/tٗ$ҭj_6h8O~ŘÛ3}jnM; AqQQMBT2JK~eQ9xY `04;|pEC1G]CknW JhN3x> RnխV@csW=A(V IwP:s85RG"3X\uh1G߲9i!2xB%H&63CVNd/䉖X-(p2T.]\Rs9f+ak˄JRI'`|KKE,mzH&[|!6V1gr%yHDsÜ8B P, ze:Eh^zC,Qq'?`@`o45WNl<*A~`Ҵ$(㔿Uz{ gh-WʙDVvIW&HCNtSifcx%KB*0lӯ#Ġ"] ^ +@zm&Z7>vnL(y`ZY :ZSǡ Xf^=6f[ ͺд5ýQŻ *~31`CWμ)vogՂI9|Vª8↞ :R`Y[7E:c`Ps$ y|6qD6TNJ< Y=~lRXt;[6sRX)7fҷG@x@,L-e@yqY4 x֓5_'r/iZ)}>gth Hw|-> ᰖPA֌+P//xx>^O@W҈UDž6>nWdBq]xSV&ʽѰip7[O/Gځtkt`2J3g90$Ax*P219k032dr^dƎەUPhI=~3}md:*S/*_@m Pc-rdC IH(Abi\&:!esIᯂ.lLnrbX $_:%LiK8bhWؗ& =طfN--;:I57in@e&4/n#^۲ԥ~!Vr5@$CXP,,QdJ`i<">xhDz0U_51M.V kiO/|f+ B=zZS_<^=&{\9!8|=k=#+ CZ azfJ%x#.\i!f2'!4)0xf~ؿGM D%ewo0d̪TRKKxSh-NrEL1y| z3OI?MX1Y{Qj~s-@hږZ;b#BNwFv -| 4?,?s)w?8Xp s:z) [ {kאDCo{:Wփ_pCF(uZ5 i8;_0 OJX'iԧR. mם{IFv*KZa-8y uuvEzM7 ("M+%ި->!n_a/N>rlזH(&nIN>d>GOb‘lQ Đb-bP0![mmO#8)r7YfRWJ?7.OR 4 'eةčF`Zc4×8"?e:|{|pN (b}NσB#jq 7a19 ~%1}h+@ `XFGXs WbctL}L'9(.1>ɤK7Ul´e_:]epItIG/;Y0Q9bCĿ\bS`tsT=)~D⧴..PMnuY6 r"~2Q(Ut?L9l xA?̧_ ( l'KdX@@+bE@bR+V(%-Mj+ v0$5;nb^U9x @!yRD~pAwerX}PCǍ/~T\yQ:LT$?E &% :eE?`7>\hQT͙^ڰ2گ鷕<#zhrRMW!ׄ|WVL`p>" ~>y4֞xJwէJ\ڋv8E,TD_"x|2|\KfIΙ=Z#Ͱ J5qXkIA_ )W,[bno3Zޑ3? AN0$|= DbPw6ZIwI*;rs(Dcn1ՀugOO<i1狮RVpJ՝0Z~ASSuɃUSn2P1&^> ǝ̖hNWЍtH$BWia"VJ⇯rh |V <4a^ "Nzf+K5T<~PhRG!Ʊ73 tx|}obj%`KgSг]ߒ؀@)"MY6/_nB@K~WEʺ  .x-k[_SUxǁߊ`@C4qUw]:$ 0\zVk,G8(Y'}fၹ jRfk~XlfuHRzEԺ7pR <7sy$ SDI Dj9=VZͿ" GR@V\0.LΚFN@Bܬ@Gj/L5lZJ*E,%HCșr1OKfӷCXe#"[!=7Pב^+@Nmqfsrg fn5t%E:2̣d0QBZYi@㑅Y-3,)>(oǎ3SL2px"8GTQA {ϘLoCs ,Či~yxK`XR-jqcB,v%YF5J)XWR@qM߬"_s)1vezkix[ǖQmtfQ<&E/Cmw~P.x`,Oy'9cQEښr>_"=މXrc22;=dj y)3XEK5H$%zavɭ F|\' wz yOPDE$ g l}+?s\I/v줴av4-hs}}v؃ h:;\ ȽFH8+Kåo d4) 5eu_cEQB xҔqW@ E$\S؝ʺb'X'cԘJ;_A齆[ݭ0;UnM+2-B ;qp5'sE]m.?; g5_=]ŔJ?WՇX ~y&}Be6m791Ui?$7&/4^T0|M`hǠS>cE@HU{|:j# vnM,ֹy6>~62,Rz_5|q2#3\ƱHF c4^W@/.0`u篳s濫ɖeo\p;ʹ!y;SZlhѵd%kdGs3T[>Q0`4+E"B8 j#E<L4=^4W\o!u^P`B׿ݔvc8D&y°7»C ΁1i vΠjąAktsh]UZC| c e Tud.nYwM^i:\<) z+)q邪S_i^Uv&~;9dmS PZl~F7?,1&=9:IoԌ!ۋ7p;?5J$җg5t jR(Z [9V* (/vzUw5T T0Uf>HüׯVm,9!v}*p]lBTߏk&p٭}h'p)4=!Sb#`Ѵ5!5H%-k43: +G=ȹBf(j\U >SftU9O=Z:l7u A̚ӊh\cCP&QAW 0ցUr\%hm`Ct.<{6%kk,WB1taLaqX;ׇ-dnT/mUW·NaFI8KHuDehX,bApJ2h9\^S@lQ9:Gyy ) } 9ۄ +l(&XNpױ:bH+Yl+BrE\LzL1@R._]6*+٩`5'lO8ԑaVLx[C5 z ZjӮ=-lUx&&ZR0d-Rs 旡'҄ mtu6`ϖLDY IaaX 銸Bm_,'c2q86y_ɅˎU h]j:6Y塷: ǹS:TZ\UXA2x+\/ ޓYuT}F  _ u%bd&yEFD<{*k@=VY;xFL¶Tӫ?z=OӞ'mQ%Jn\Ϝ v`S{`N]g`iXkߐG[y7%*0Kl,^L$t$5Z" rehpmERp̝nD|V$`͓6 X2u^Ŕ l;Md؞i)UƧUm.ޫJ Fx(S碷;2{#+m܅G8PMڬ8]r) mHDzIBԚp`srhuq-UxQq&?*1Z4 WɁ f|R]+7*w0VJd*zӵMiwE)f?K[~A)qW_ u}k.ˋpQ$WwaGF X#8g4]-6(A]:UEWn2jY#`@ˤzut>t>כXys2$ΩM((=|jyVv2vD#A$oC[|,+<`h3 K_yvE{5GU'^McJc6d9e^~Eݸo1 \$t AhX;GPemFQޤw6@_2BN]R wyDjRG:V+͊oI|3-oPR|SHiqu8<~#쌳@aw%+gN1 .هghwR&gXj|0J)s|^y'͑_pLT|Ad! &맶(?fnENa&^|}|t+%Eaၖ;\X-r-2 p2MI\3ʬJݟ4ޅ Vy= wA,M1٣Eni(o{ɕWVځƿ'Ax|s%iKW^jODt~ZE{^hM\mΰ;PPsa{ͤǓfsdAZֽÔ5*˃*9NLQ4ʟ5PwU'#NvG&\p*Jn"6=Fw,4W{ AP>d[u=bP( {QH,R^:p.x0WuT7.7St]:x@?4>b"Ss(]HVH B'_VK )t]8 2޲@~yRn%E3'w/+傉tc)U 7l@KQ3FBK0;KV(Lw}iA(DdqEYZ0-Keq6fX|j>nq=ʇ[ ڣY2$(1gҮE``]*lrK+a$U3K.ymoc!UJyt8=[wfI*Ѱ@)~ؗ[/հԏ3cs/: La/Tw 7~Oג{nheǍ^%zx& y޽ Z oӍH`/BWcH&q/xQ8uLo\7tFe-;$!O#h]RB!V]ǀ1qղ}eЛj aAynsx6arا,LI튲 rHPG؝m>SA$qLvM9]NZch ~5-SHi Ob5eb{8,Ix68.k/IT@xPV}7iѸv@5/U֜}U5'|n1߃euvKC3gM;7yĞۗS*ea t9"LO ƞ8N?=PjЧvg? -@q*q0u~xL#wÀ(ˉᖱ@;GL'Ӣɲ2{ G_AFAϷY'@̖Eo0/MiyF=9+|<|Wap Y< TNqs~M#H Vbj+SJpz>ۊu[ -ѕǠуe`#9n'TasFtZ%ythΦ@Uk? W0 ;Tr|!Ka6U\Ho2˕{TdΙ0iO!r;ػ |Xj@AV^{i5ruϭ?T7@3,ȐtltjIxХ?|zas7%Np5QjvRj 8QS7W#xA[uJFkDH tHE0&rJ9At6b#78E0JF{mP㗒'5 }t"Œa[QT\=VhLkń@{ SLމ J,}XJp yVl?s%d(&79Z vecWht Vџ,@F8Jeύ04|)mԘUQ(6zc%W42hID)TR[NqZ Xp JKEg߬%jћ=gRk :zښWahȻ)>qc9r^3#u1c:p*Қ(AuKӬsh86W,41u ~TɌ 9Єn7* "'1qelZ몔vuJ#7piRԼ`*d.FDŽvM6Xv\J{J#{fj"u)8U7J`d;ͤΆq+֏BD\ ,U.Ici!#!K]G'iY4-#=@ad0d#<>P]_+_ ѿ M/EEdir OM;ڰ) ska[M'[G*_*rmuXx#X[sNiGJ:HnTypw{B la-SDN^aep=st%* az6E$GM{m~/QgA}m?rѫdJ n/1@=ɂe$zL ryٍ. vfJ?GyHx 9p\ 2(‘In[5/NNDDбOnumpslR)H@#Ÿ\#Pv,j#9D3G!v>ܙML|<9ޭ/M]+V1;-%M.ttkj[|ү/ _DyEoV7HN7K1r~3<ͺ ˫:Vhc=BuUS /Ad %.{l{TѴA[X^.IFڭz<Rj>΅$ś&{7g0f[2o+Vw3}D#۠gՈGz&s%$܄h#!^-L7nӑgPP|I +S9ԸZeQڸ!+;]322F$N&ϮORM②|2~Z,AV[i$m]R_ܟ#;znUm[g#)Kة`Y5 F<#B!vhSZb[σ$ MXI9:.8hkU;^b%xʕ4kpP`[.P׋8&j!+ɴYJHP`E!IHD!FX# ? 0~wSt;w{S+pM))05,E< 1 e5ԫtږs6T#y!t4u˼(˜ag8ߠJ81Fk)KwCE"~V<+Sη1g6on"2R\p[֤2MrP/b'߱8+'eFJ-q$_xװЕOM2/&}5J>ykϐTS2ô4*q\ePX!C³bøCi*(SɇgxїWޡ஋!+j;b.`sckAm¨`.2|csɾ{M7PArdO=[AM $~qL },閷֮E:=DgW"+(fM6代O?>COz,} UP-XZh"zߧ⮳,X`2i7W_tSV#j!As!&d :{ LG$ʻEy~?ΐC" 8UI!/bva,X&.HZ=LgI>}cH|kQ=w,u `&a sh,yHXTH:boaFԵ/P -=T ^Tz&[j?kOS!dՕ_q.BnDOՄyP^,( Sjq|unlK\%S2$aOǡ|^9a01;|}~êyTLחa~.l'haJn=#8{wҲӼ;rW= x:=ssVgKfvVL4W{hvviempj,lȠeD*ɪZb(Myvh%4F`b#f}%x6zg;JN<5B Ѡ-ec7u@ /+ ;cT4np1pj{j*Xha(r ٗiX&`n@۟(ᜪ~BJAXp?̄Ej-=$~sLEL*"+^TV> T."8uʶ\PÄokTfbL2k_I~6$Ud7c6_WXx>~#@Xy@]Pm洏LgL//ȕmr4اпŰB~Lz[^?Iqg- V\әMWi=ځ5d.Hz;`l8Qі#3Ţ%ɓ2\y!+ـœxw\ ] @62д`2"9W*9*f/DOrlڑ$Q9 40F 5|>_HqBoNfVP")c"bgXw .u(57Y);.Z-flgk&R͈PK`@vIN$Z!闉~H=ASQ 1^_G^_έ,]7,ٙ\[Aw`/ )$ v7]HIO  Z&u(jdG1+~Xx 3U+NF*>@Yr˯]Z.ުUE5Цn՟9( ih)nƐ}^ >0;\#Q67Ç#ZOS%S~;^*0bt8gՈ\QEfEtJ \Ite_M{ :HwI,1>Hx䒟ppFB{9f!Q]b>^.0s0E!IG [H?"Be ֱYIfEd=QXWbƺэ`2EQj} oMM!?ps}`Iv'q2|MìBq_ @uQF B+o]R~U},wiouvqyy^}˿jhSxNj]S(~v.jlF|:K'jaoUٙn@ o kw>çIwCubuv0] !vj2B2E_,xZ0C5Q5ngmi]uî,]Djq)_ip2xҜ׹|opI2b9-ՁA!F~#34™aܑBDNZWhTJFJ}YXG2?^U \Zw ,ѿ.bB,G[ǢdWBYVIL `ld+y/^ܒaMz~"@xt8S߼3Q!E+eA1zs'q>AC[ gvרj8F9ubGq.\h̻0 BIh0vxmroƙpVNUL?;EgO59[ sԮ0vw\d6c*g]7)y C΁.6=EZ*# [ѡ&ѽn6,Y?)ࠑ/]9Ե/Mц*پ'Pf#J-NJ bU, !Xd$ע+dcV1:# )]-3.ޚhӻT*T;k}iЊ+v\k#" ̑ 8MEIfi}(rDh4x0 v"YON zO|c* ̌wd\^~oѹc1ikF#P2H_FO|\xOfg$z|gTZ؛&Jd,Eq$alrdH>$joN6) {O. ȅITYFA;)^y/$KhmԦ!mM"9=(Oǩ HW\ll#Gfn̍7w/FW0ywXCqxo+eje8\ě_;$¹VL6@Bmx{=h,;my/F$=ߢ7FwS{2mA*wu:p77!Q#á,4 ִw'o'hIw8r81 +Ƅ˚;u/J0Xihv8|5HcJ"V =sDpLmzbBRAJEYiCKZ\݅+v7qi@zQE: B ͷi`U䷼uk\O۟=CkuQُ ܚ63y"9V cek?s,t\>)r׬5+k&׿Dxӎ!":-tUf}7S*?]tzw_eti{#?MY@UFU`JN#B[䖞W, JD 3OҘ)s(j6v>FNg}߯8g 8m5ڱA;uG %z=4&e\cKhuS9jwq\}i}끥.p`bAR2:Jl 0NY޾!;+$V %U""c46[sJ;.yrjZyp=]t3}owUHNx= 'pksr2A6t0egww^݅VFpG6 Od3S[R)^mSFsM@OHho.j~R; */D<։] Cc[Ө²-hֹ׌îxHX8[pb5D((V|jtG[գ d4q #e&Aӎ>2ݒ1@9ׅ}N^5B$3d p YPk]yo2 OTXڹLFZNe,J?B+;;(8*`D9>'tRp ՜S2j *cj_+Tr;tqJw1t2w [x3N۰kЄHG[z(moΓv[UJdM:=w b/fSՂ {){ H6 )VE#VX'η$#J>Dt÷NHl u>YJ>h 呼랺ˆr2[Muouujqڬ j{K< p dp |~u@'Og]@lAcM`|Sȑbb3ŽZ?5jJ/y 6V(g(MH`bCUikL5/)2?w`m${ᬭeG$E>ŀP+lr=a|CP#" KaO(C\W g9F.w둩*() (I[^t@?hbQ kts.(8vh &p|5dl<3/9K:MWy,,WB ^JdY٭0gwY)l+`1`*W hl,[6jA`F4Z+Ay/NhdH$= ԫTT c/{e o :KVP؇\^yz_F;^խD.ݦrbaXl2Z/기ZUhl5 v{LBKi($A2@`$3\bCߠg)Wg1}c6/?<*8›xhC7c0E5n<X]+W6G3)}2uFϪƭ:rFչOꪅ?Z*Jy*hEwOKN8G̽9b5_ bPTfl"> A`CgLQ(V+R-$l4}VՍ UB_v8|3Dg3WDj|&ښ-zģ_ޏftU^`>nxwMxm++T ,jڊƖ 莂\ꇸ3l.IFSŹ wFl6H!&cL C'xR6qmAZλ*NMSv0?&D+]lWXJwhv2Ϟ.FԋUz As u CXtld2*죈VWQ*Iv[wmJ RǼ DA RV.< 1BO|mƛ*o %YQA&[W3:#M6mC;t it#֭H[ŭbf2l\ܣ]V3Nsf*mWep Lɚp AX\Co?aUs!)(&jX-2~FQ'Q跓l{U;:&d\\MؠU 2Iae;Y,1jT$Aa#A@o v rλS D%)@z+Hf/g'%wI#&,ww =p ZY.9Qlc|"~=6Rq?e"?kf@lGn-oAoڨ ju#m\T[cdw 6EWmđIorcBi g`-֤ϢZOb3ʎI !:{ (3U!:wNajM=vQ9{1s; 9僥^x^#X4ا)v&;]⛊YWٲ^0 [q,yǓkRL7$i+Ѱsa߂zZ iV H VHM9}ԏ#?M'/>R61^e|z-+攺C-Y?0I2އUOΙAuJI Q7@^8PL`5=+78攎JOcPد"T \- S*a :1˛++O(Y0nJgU 'uv˜gDqǰ qHxUk[7{N~ʭ-]WpyϭΘ_g)= j_@(a)\j!/f^6.Th.4hPx4cYzF8f,Ã[FzBƧu*4_pBƦ_3Q[L)\N/D Hvg6< YU}LBetgIKPou|3ê=; kx| Be| ԏ^|JFx$zO |D>玙#cpvBXҸR82"-luXxw':إuП]Gf2,K9Uqҩ-]ilߡZS6ɾ63ufUqJmm\W:9d`0S~aJMx"9:!EGAEցl˚⡈×C"F-l[ѲT8t8 /E6_`gхNc~MN ԥP k>c3W\d[\L:Y 6R'VaM+$1C 73vy{`n^E4;1 %΅G!%+1nC`n70wd-DItxN<ƀ$_]BVVRB3N#ˉ0#\Un*y] RW \BKTy`diФ;PfȀi:JXSڸ;-З,Ypt=ti4+QyvU0pTwZQ=|C[Le CV|CU N7zi/ݝEzO6 fep俥+? ma|8R '?&uAeHZr~˖5O-*B-ijWaHLr#̡$a eP:Td( iͣ~r ߶VyCpGŁ3rw el%,1UdaT&@7"ouf#hJ7\ഖn|J N֪O ":|vM T3vo6촼ot>s~UV1(K/a\XtYnob:JRU\aA!]dX gP_pQņh'sņǒ~nh&E~ԅ0b'[xzɿ,[`wZ+վr߀iy4dNa+tM5\b?"&me KwB$kZb3exv+I[NJrd ]+DN8ER*0,(r4|{}caXLv-,ͯ,Wr(.sp&W=(9gޫ8#x". ߛhfxƿ:B #sF TI uR78(1.(YF'~?BTjMc z,/Tܽ]$I|jKZ<۴W򞦿=@OvF T25!=Oć<DmV!)TGf F>ݝX_ {W6 `,!4#F?b߮~veIؗsM j2Ӗ8zŒCS5/]7>>7{i~H1N{QZ??3{X)r}2ʂv^:}K JB#k(^o؂c \&%UqXοjRKPLE@}=1%l^ V[7$.pmꮙa iw2'Hnr]..:];JLqoHI."Sber|SwGx;9(D_v"k{7ԅFccK1^G Qմ ɒ%vN[5}kx|*ߍ}=1УD,S,#y!0S8^t>%x@ 6iok;TcNNMYh)mYF \$*Γhu][Sf@ 0h._! @TPCC !`􌿊CY[D*Auz#xW-yӓ~'"FRK)5STyʪD,#T1?U4Cd 9^j! 2[O`Nwŕ (Q+\$)cfn.']ݛMz͞@7tFT,4|#SNM!aa߭;5O-١*$JZ gGJ4Pw~`Ml%v*=`ny}:/.mn| lu[ȸɽ4+0y>@Vفn<6wr|{Q5洵Ϧ~5^N0>')Pk)sp^s%Jj=#J2r*S(OL3aEbpԘPdUxm?F{A!G<^ ŸL RwL8<= %c3݆[:)- G̢_hlKg D+I}Stxip:mdf z,wcSxa&Z5^tK0띤Nd{/=kx &̓m^ʖV:8Tve䞁x|nBN~(|67sϕg5M^죥R3L?btHH\T_ן,MÎ/\,[o4o (~ی()Τ/0[lT@sCBlntffߔ2QЁC#t֩NK0^Ͼhӡ"]!;8"xBq5]q͐]>9xE ӯ(ݛpQqh*(8OZ?ZxDx$ "j7+Z1q3 m:?zRi1yi&'{n|e&\fvx"(>ԂZou'yUlic!Bk)/;Og9Ed '>Og! ^ \,Fc~/,7U+19<yBq2 lxS\ZYƁZaq:Vl,. DP,s'A'2G;n[dL)ALh޻g4zw?Ɔ5qjLғ+Yy=Y(+jN~p͉@*fKzz0D"a_ً\s6odGO 8(,˸_뭫"r/.d b]xLWx^u]v0$rȨ~?_$ ^omNB=ޯ-Uacyu2OZPIj٥]yh~+VYwѪh\[ۧlD ae;8rPRo3F,Rݮ&8}3JJ2 -H@g+?!in(7@Јřnj3VpB>vCoX(SuAp=4bOt!dےKBs.# 3)ʳO䲤cF짬2li`-90뤯/"0,.UrЊy*0-!;DP1w(CϒtyV,Ne0;xI 7lQ1|fuu>OJزxI@_!05\ eddȢǠfjS`:5=\O ]l!OkUK0z4(VRmzPKyV@66{*NܤʇDMi '%I%f~DNRSU# *W~nJhk1ȏղovzNy8d_st ˜)ixr#[xmh"['aCj)BHǛ/{JqҥrƤm7CGgW(j4eqCQ*Q*`ç㳜ߩ1&VY쀒AG l`i${ _ɤvmyGu3T=^p=h=W{ 2k}hۇ j`{GX\|0&rd Wb) sgv Mx UQ W 6SO}3GAeqlQNeYD =ge$+9ԞW|~bc/3'IBpݥ '!OB+kh*@0^l944_x|l@d%0Jdƻ[IWˢ.6 Y?2j>[WHCeP ߎnt%Lja8@fnΫD3꘲l N|IF- OEPzGmS &MHwCF=5:"K.USjq򉠏#uUcV-[mDuUu; 6 pS}䉌s{zx@k$D֬NqrׄԞ_nDW$~o|be>C : 1|֙IڬrsޝWo&瞩ۨ3cl `$^gɓhuKR=UoL#jW[1t*DdB[m6GT.|`En]r159ELdRRŁC$TZ}@92NzMVe K㕩wFS#C$3$ɉ2ֺYJT׳1G7XMx lXzoslqav}UM#YH,"YJ  gAg^dYօsij 2.<9]aM{"Eò)M !#I9rp:#{L&vz},G4 h`l#d'_z2!>LR(xunƶvWc(k!5?"UxIR{SJkDh߾ӑ|/ 1'E%b}sq(-wUZ']*" _G,4< Ytd|4RF."_#ƛOPnCl`1@AJaгU33gDe3^leؑp@-jVm$kg{Bf(8-=n[退 QQ7К}tu;ˆ&6&nfHx c &;sw_l%.V|fEG&%iZUE^U1]r?FGGua4>e (#;͕yP"Z`}ax 7B;]n(fq&:L y?e%PZ"68ì/$$L ;D d^35`Z$LSV%ӷ2%qj# bKAwnO[IN3 Lc׳E~쟮oC&q,VBb6xn ndU$/z8+/"DcK"#+s'r8|Jb&K4E r~5>/ȄAHkGANpsm7 y̵*2'9KFq:zEs" tX{B@E7.ʉ1 hMFHY1;wQ\[>G*K 稒MKxB-(d񾐏IwبuQypwPh,(6HSPp+[~re6>:g~{sAAi6eP9ᥰ@K $;)9"IҺh Y1 ;KS2պPsS ;%BSO(|xBݲF! )UZ"]SFDy,ך![w'}G=OΫcWlY29|p٪OIp.H B֧bJ]_^z|̕%'#&\y]ç"FwkY4B Ջ0m37;n(JDFҦk)9Td%]9ҼY 9asg;i+`5\t'CtWњHq_9I .D2|k)y \*BURR_߱k[RpL2uzaz7opO/YFܮiBPO#_!?=!Q5CGЃ-poǤA!Ō= bjf\:sZB6hngi[CBIGT+ay͌&qkT]>\i>}w\D]ߣf>XL+sv$ۑ>!Bt&ZR0ad5^]T9:Ҁ禣JO?r)/3.tgxKP'N]Rˈթos3`˭s `O"Pͬ$ѫ[:?!&s؝8Sbh_BULNVAAgXhsXT0[E j/\E2S}|{ Ksb쭣-a)J?hw]bReSk{Qr(+-nY"d,r-,Rw pLA#`DPpB t8ng a5wŵp2L f{S!q jocݾRbtEtGux`c6jmk8I,h:BkJvZbjn.7(Օ}/~e@'>&z-9`Vt%jnmԵ{vTGNJg4'81۳)+>3A!sź3U^uO>#Z.ԅg?˪_ɞ*'yҗ*h|2rxo⾀pt {Fj̟`& oD$lg|)_En( wǓey|ʿ C4ȫ{EO<?:G=lxC _ clAģTZ]V{OkU0h#|9:u@OHZn 5({qN:#]μ.݈:n`$E3Xl=* +3ˎs\T!~KKLmWvF՚v^剡.G/BKÔ\5-d$060T㘗hGU4@<}=\Ȱ/a}dk[,v2P~A@.Gb&+](1^zҿPZ1A=9` &JX+r61c&qӇeyIs)ML~ ].:˖bQUzuڧj`m_qR4Fz-)i*݆?&-+lȠ٢/͎7Au.+ x~a"3{ @pva V;g+ؖEi$6  {XaPof*r}X 4H:H4#EʋuHfYD?`5ۓaaB]o1|۪ 'KA~ގTeMQ"ewm ykptv]\ a,?F()^dwUN G$WB%lk'M>Gvs4It@5q2 *X(#]B%ɐ+`9GK"h޲h_S1NFhm÷2&|KxJ+{,.uZP)i`ÛbnRv0LgrU#8/:_,ȼd,if|@DRQ ;iR  X⩀-c}v(#է$ !6z.H鿊z6R_mi'E}GPd̬Ips~F#n m.U% iGX5`V`Ӻ _>GEGJ{)QCKNR˼Zt@|Ca$Κ|@bJl`2 F-[> .̯v$E0m!r( pXjh*C @ ,qNJ"w<T)P3G :۝HH$Rɚ )L7$ѳPnTvVJ~sqfۥ㴟,k ǙnVe꫕m\lL[%S,bU@3αH6uh5Q`НHpea LٴgQ 9ԧ%wo>gól4e95-n2?(,}0l"" iAll/'#OgZ5$?t S-h+ȮI?Ouur9)6 SO}zRsp c&LPDT R I00X3}ߠ+P`i)iתfXIe2kHpP0[_1ւϖx# LcTPmu++1##/GoASdcR z6S0D펂yZp@u^|a(+2'XM~v e>_Q_="Ժjic_$ 3eK%-k/c:̗[l[uж {~S{-S;E.u|f@+~ <0}T_@qP ^yBTlX2ih+>#şM>hHzx܊Tlmo#c( m"kH,a;xܭGD"XS%$n~ftJS%kuxXݑ ãp !yr\6Qa-C) ?a+'cAo֊3S1o㺿d^UqﰚM$"d p}xt|ux7Q;(ImmdfR=}YZHG0m@Sc!^U|S>*VMy2/U8kLohsf/)ÿC`QSMk1W4fG9k׊v%+Klp橅55rA"r0KW;Wt6ZþG*W~*>sn`<)| ijJa>VdNe3Vo=nQ#v,*A,%b_.1~;'%)Kѻ..(4m{쇪םt 5"E4]dMPV(ڒ#t=dN\jror+,I 6kG!F2.fǓ>G(}Tpl̯=@W/T˘Om?r[ e{5Mi9 H s[ k6"@X:#5ǘUF ϯILijZ#W`{6<vR: _4D9h@:{4MZ> (%gW:`wG0 w,RqtYPHT^nѵk6j]QV)2'Tx!9K:j(%XZS{kLm?sX1NN"6C'iczG$bsjQyf$IP9 !]/B?9'2k.ͦ=3 g0$5'/lcWl9F#j4'rXh+H\QmV\&ʐoYETGtL_ӢɵAei(J$L`Wg nC9J[Qv:ΫWW41 _A>LǛ?^\B<qmy)n2w|[ueDSm{UXn2^tλ q KV(o?30ho,-\XQBÐQ 昹VYB.|J($SNBI]T1>?BYutI۝F*yU=7u^،LRN;(B"-U:x6&f2..dzb,Wg'CHBK6C]D/& zX[Y;$XLL"Z3hKqIXAݥl/Z1_½\CFhx%w8:}'래ǫ"K<ˑ+9nʼŻ\EK_>ƗdttLCB]sܨJ2E %..Y֜#4s(w#:)޲S>//1H;D(!"( g},^vY(S=QؿA'=`)6b ̏diZzRg(D8,9`kiz]yhYm"/yԞVbPeu ٶ?Fr럋 b໡yO: ʪLLdr/6lѥ7hnm'f~՘-x`FIF;Q?_!Zd#:_C-G*ׇz\mE¯Zi A5Z/*L) [&d$bg4TMAWrxx^:MΪJR1fJbP"Vx"S+.n$OrE|_DCȏ)Q²+U#04 ö8 Q$Hfw˜Bμ..oe8z!#!]K7o0oVLkcS#DAvVK{xA䑤x:}Fj@uTFKDp=Q` f9 ?k]B{poϜvZTXʙJubaݝz7Fڣ| N-k Vh_5pa"0mQU%Å7\7,Xr# +d$Q@K 2tR=y!99-=޺͐5BFU/l\bǍaZ4Am+##NCFզ.dT8{t1GZ8vKp l:cˎk>l݄mD TA@E{'}LS}~2r 4fF^L#Ƕ;7R\.ƟxTth@ nMw!tW"e%6S#TjeC+ZjM;4%Dp ) Y0hm"kF4cq.ra )IY-l+Tuˎ+aNp*Fb@  U&7.f rޘ tӳ!+ @l+kkOԲ8$}anǻD_'kS'z/Ys+fބWKn ZG7J|`9`q0ϫh_+K]D5ښG- Z&TQdpe_G 0XJktMnM0 ZX||cn[I奰j,Oq-E3AZ:ҝXc,b"r}Ӵؚ`79bϤ>.? -Ek)*A)L-5`s7 \1QjH:\q7,(SگY:Yj#1h+x1itID oDM>d &>C fkfd]grߘEMr}/gnw/=FsOTUލ\D(}Q"P  ѝ]<>ұgSac>Q4ci>pu 9`C/Bi+ neLa*3]FjaD^D;0^UUcfss!ڜ K'Ѓá6+1Fx$v:0yW2QLκ̱;5֟@=L4>~ f2Yk@$1F|~m~c(ʍs!:6;C nU{`^~T n}"@/&aгHG""q&;%vqo$%T}"'o猣J"wl=Q!*^o:RAqRz4Nv [^izصeھ^,j-6:5-4} )C,5Ko'ƿCȁXUy {Lcd5}Tgܻ W&y3˒Z6©C<}Z;,'?@3iptȟP}) g-vxH[܋[#xIО҂{lkQ6_cM\y] x:38, @8oˌLAUSҎA e/SoޏRr(W@ڔưڦku s5x8鍺`^ұ iqy Jl6Ve( x%Øf,]`WD%BLGNy|϶7vHuj/ 1OjW`,Q#+zNN9I|GM~UmkD{0:5([ $Y y9oib}5fRjPgjsCn6PvlFW:k^:bB hq٭${$NQ1 s3 I]bӌe< ϞJAU!>WH59H5Q[|DyBvPMWuvEH |ԔbÚ,1-sA2 9rF x,T>C{r__.FP>D=m:c-^g]| ;KE<<|b?Is (ZQp]XhpS`(NAܠ˘}Zˏyԭp. bk9i 6bJ ²At]j) >F%%g^;<}a͓{=(mc !"?olif']i8)5yayGPZ)ko J!% wO!k ~८XIf9VO: ;>׳|8 `1<=c}-8+I(ГÙ-!4`D#kmq0P8,^w'^}o\?w:-u~נ.1ܛ Ҥ E31Ks8Wʤ?L>9^j,@BRpRRE^)gUtڨk{:LE:v.s\Ͳ>@SXs] $Iq!-HH1v[] _j0@B~MhEfR>(:pelhrqvT%T8m;F]ƒ=اIl&ɬY`UC)T.!Xo!ZnR_=O#xrSUݨvO**lpfQ+hi(Dō4 +i1.qy-q%[Jp4Az /v@C,+YY46)T1-ٞ:L.n˞O"6  Z0i?'jMވU2$RCnHRnGU55ex9 Ev7ce<)B^:&܈4:_d`n8basmعf;S3Y3sBgKCw i(j夊H0Ru~;wuC 5>\J)6=3aPLΌ 1P<!j !`]jS^&ângKkmKHJz ӵ-L 3)+d>]1ރrSH(g2 MR *4>#9rѢqm4zgۍOg~5<w9zo??| НE~wgR`rK cW2XzcGiůƨCf&X]3%`?܌90ߣN Zΰ.xg9.f+Jp,hQVTl)}DžQ^aG9A,u<+Tg-CN {<FzlI @ -OQ'7Rv=Vْ9TtuKiL9,RLp^Aڤ^W頵F{Z攆%L3O_fgtҖ}-/iϑZ ?  ^w]υA)0oP *DߏݎndUFɐ/cʹЂU,މ6)e1!3yWF{⏽8.S@l9.UOE?Ϫ7(+4$$y r9)2ԯ4R_OQv _N}Gٍbhyb;fMxlJ{)o$ҊsTQأ˟F;UX1L/"@@3-&c˂_ل-A_B_\0NSީ~-WȢFE|w$rE5e!3DP>||vP;ׅ)$JPڌlkssM eX#@}8F`L%d) jkL5 D].;n%R|Zp}Yw41@ҋCqkd !fu ꡺ȏie 8JF#j"\v2EXcM"V[ "{il_^UrH.ZGYyߙ/Xdȯ~=ƲHtʞN jr7+foLCcǩ~`9rZ]`QPNL*%ǣ[T k5@=cmYT߉憤+< :ck|~0tf_ZE7nYpv'Vku6#]D IFgz!j5!"pˉ¢`'LZL2;%h1t,o껎*??&!(CG\F)Mr,!X OH#+vY.'x|#/ΩDNmvTҙRZc x757h`o[$Qw Cvk/,yU< tFDZZG 0 A_+ A㹍Dw3AoNI'hW8BT80j9<D""1o鶣}17BYC/`Y4e 轧"3 /6^u-xѥgljeeR=B޽3c8TV>7 )-~itg᾿ZT34+tg )1GAsת8 Κe#<6n^sꦪ>%+z:~{g`I"oPr3b8XlTSQ{ u-,Ahism(u 3SB\YZSra8vJUG\UC5|=턫s"k;[Jk=\W7| 4=9hȗ`1<\T"r2 5w8~_CxYuF.vI3=H%,B4B̾!4G0a.z9{^8Re>(.+ԏ3`Ð:Kgm,\.SL.5m;R-v؃XwO/_W,eWqɠ%15RR, eȶ`p:_MF'9-Wy,G ⼌y;,E!FBN3Ұz}u\,4&Ȓ䌬N|t`l?),輸e2'?qZLO1>3~lɭVņs!,*Yʣ]'{<wQL`` ΝFRQv|%r x8pZ!/[ ]jѳ*<,;]I1 oc_R~XLM$b#LW>@C SMe;l vR}wq@Db^ԩ_B-py [8oP5Z"evq 7JE,Z\[[\vwL< &)SΦH1sK)g:T \\rG$`e8Β;!~经/A@,,1ZJ by^%@mm I'X@r]Ѷ C&ZIQ /,9d3Ś޷5[oV}tIG'gGxkIօ40Q }@l*&B*OPeS@!شa϶ $gq0"߄KbY-8Ζ$gfDVm`!,5J28=)x;ɋhu' ۊJ$fMkϒ0mRJ;R~y@̒XC` ^C7I5l/ Re/ SSPJe9B3sּK4hTNUضjOyдs-A)ix(*(QbzEoo~(z*OKEfѮ3n@7tG Z>9BpPa`! Q$UtZչ a%3rՐુ .;k㝢WSȴgTޥd\X,lsbh*ADB-X={Yª"td7cf[ r^_<̆]/Q⍬2ހW\܅՘16 hIyGtPy¨8=@K$Ѳt(|bd5NR0f)f[=]tW1T}8>h;4΋sc6(x!%F3?D*-bZ*N("N >vb'SŜ 6=:aO1 B{ ULwwOOѲ> 8D,Ot:}hO@<̵^|`4(DO1Sa׮S?$w֯DؘîQ2!Xv1۹fVjnrϵ>an!4.rݱTd-aZ7Súi7tG`NPG4ȷBg̖yO (id˅s ,2 \8GPX+@]< -'" qC\cSN ?iWLء>Oj[V _0j|tD_#ꇣMva. ÖYT:|wsΘJ1>lH?q m;iǻzrlQ5 ¸~ 5jNw K{^xn{kH岾\V|qu]6>-Ĭ -kxZP6GEB6jh棄z+XN<\Ȗ!&9i<;T!v8kj"ؐ ?&#V!jԔƵ69A>J u1-Ȝ[J!XҼ^n;\2l^CWKO3 };)3y/ گ {Oc d@ف=2q]ϊ^E4J&0T6QfZL E:vToFx<%/ ` ܳ2Rr"O5 +ɤ>yD~B_L h nA6ץ39>9YrA.Qx0|\ba~@`K{z%RljkU/e'Rj6&w^v3i'T\DVaoA SSuVv̘\| q*\ Hʲ0OSrIjYpˣ^c=v_Iu.` >4$/(t9mRDKaȠ:\!56q~r1)&Lq @q1V^WߵmdR,3Rfzz#NuѪV= 5 W_ZnTh/'ԭ>mbٟmX>~h-XhJrZxon3"6`v}!I~ڌܥ}% (.WR˅g#f>xd kǎH۫Q`O;XD\FeF(GqaFU)m3Aٳc_X+\O4Mly;[k0o{ NtPCJ͐Nket.Ulbv r7^ g|);5^V8 ȸCuGtiW|j]SR'k};kɜ$VPGѭVF>GZ)\}>`8(Cf}.0 N/ F+Iax\m5DGodzRT&-]d6N'jBhS }An:8MFRCT74E*aё96PCHHCds<ݷy U~ ̟; ꒷O&M3~ dלm9wy-N6!%#Bx\g9;y2"dV lt lFW 5~Dkt<ܑяi%gmv=s*I,&ƥaUn?㊧ҢsQ(-V9}.O5HDCCxQj!r "͢OSݿZ5H&[#*D 3?g XW'F5;|eD(EF)H{R#HΒ,|rT5HCC(n'i;,Z t"I 5~Ƚ@$#c,TH ]5dYґRHJ9tLϩoyܫ5n@#"ԷŒ_03AX}f)P?xxIԌ+?F1OX+\% ᴞsv(̷:Ħzwdkx}K1ܠ_g@,UǙUA9ͥӑߔ#O~7N0.aO=ˏuYjPlwlp]y=N\ p"82^e\sï Vaֵ N,b7b²nc BLƷȥ5؋ Hs' (a9\Ҳɗ $'p~^VebO5BfiހԿIïvt_C{NKzr1=uqHML: Fv]m~B\'+F}`Np8R1KH'_%Zm< tK3r *~AHeQx G-uοfycM +/G@䨺Bz`Qm߼s#c)Q˗\۰?1 O1QJl$xrv׺4 OHf>~3|ԕӊVU8F ijy(iLhz(?ݾ|M5A95|?ja6"w1!م 1x54:`;Oxa_pEFax c##fHK#PvIO&㠿jCl߳|zFf:ٸ%/\OÄ" 0nj,gP$ƒM.2\DBny=J+}1Ao^\;j=Aasgȷ)ΧWRB3-?h%x̻x3g|S~]Goa޲GI+]3Oc7 LlQ`GZ ÆMfY\a;uD9$Sո /w\1@ŵ- 'jIN6SJGj-`SV^AHgqq/-tʹ(} @Yy]?JqZ f4vE uW*Ic`"B(b5USB^1$Se$6`Mݗ?,$sLRP &`|ҁ| n`$ChmO"<~OX"QqN O?P E/)j/ G-<;+E^Fi7N #}s?V4$gu neGHP'v:Bai֪ ]Y[<3ܷ">`.->!6=fYf_8Bn/6#àoJcLILh.C 23v8U9 ߔ"z-&T;-XJ7!P0MV=)WalOEpv5GPwDC&eUho˩"?Kg`G$>u4F\ aDnJ;*YrV+J&/% gմS,Ɠ&i)Z {V&W7hPT-ٟ,jQe@L PiHR^48k{y̭⒫\(Y ̪\dxxV[#xHƮ2X Lz.?qxG !Y1$$8 @KiCN>Nz,,ƫ/" ~l5>.Z$(YPiͿcw9ꛨhrZa Hг`>upvM8e`(IY&AEWb gc *Zi%҄ Na& 8~IFƉ3a:N}%O6Nz6`vl" >ˤ~ Dԟ>=/f/o-L ϭZNoK$?avǡZ_R7 >vR tKMndףw#&\t{y̎4sc`(rQYf+*68xU\׵Ixd 6M)8jMi@nF@q4 !9xXZ:f=:d;f Ŝ7@x8`N}NoԅmFRo7ILS&lG˿`F7AcSy=@`tΫ;'~Hu7vv .lIļ@`Vxt؊'t:&-DX)=޲>a8+p:&JP ?iúRo2&œZ7$ZI]7ϙmgs.y/I$ŏH 56^FW8[tIa"VVP?K4o5]sRڑLv_ꕥ2nu/It`I+ށ2<hcv|j^[5+?] Mt)ua3$AfC/&35v;hڴS4.9َzEڝw+åjHN(^LcI2w% ? ޡ`~V>Ay/]+1j/LWNAO"7PZfM]wVId_[fr_v>j3r ƚ\[7Bv?RD3o95Qٳ.4f2ˁ~[i*Njm:Y톝!wn`]qS!*ȮqP@¾'-µr(\֚x-P2S3+™3!r%wpaime(f-;jA4Eq I `X=5OgFkͳ;ď!vyPфA%q\t(?2Jm3 ">*H0E/;bpDSCְy {݈;2KMl9 ~IyPh(41`5PW7g6,wll3q;S=*4 iVWͥ+cPP7 c'icCX;~yo}݊ҍoch%m:רW ?a]%+FKu r"w.PyI.̺t"60FpҞ)'\IKЩ,ZF?^o)ΆF- bNKs>Mf[D#{S.*bb@u`=bufUgw V4'0Qmڬb.bo5O>8]n#Pl/ յ䲟 ]B}xNYH]/>@כ%k2Tܻ GZNz5QNjd2JHCoT Pd\e([ݠJ n0#ۨF 31@!a(MPA$9P~,X*WFÞ: ]6$moyY}[5N Ky*f33v_bNhqS<䶥9+6 V%H5֡jtb5JA3/ ՞foO'_fB0PT>׳ɒnXTjC@g)daxWl1=EHmGn3ͷ)ai#iFM ȑG*]A EL|vA( hgN0 +^mvCX#ƒ4zE g*< ۖQU3%rO[=ݰߑM?0]hE*@7z(_XjK/[[i(v uJz)\=vgt}Tw >u)H!g!@~5 ;W9~O_ayex Q㻮xlq8DF@uH8PK'iZ_uodVHR?;ؗCEGax8g1WQ4ʽ~OhA& ]1Xb#{򀥟|voE/yqoI~A~Xa5{Ow53x?| %Ka[|9IBcqII:p`!YlZ[[KV-sidYLsYoEdСv#r[ڿswqeLQ#ziYЀ];D1A:7h]̹ytAK<w(2m$ݬS| H/vZlt6>ݸ?e"c>ZZH??Cf>ذ9bTr:k{jD$qjP>IԥJ!|@Rw*em.V(3Cмj? lE'eP WFiP'mR ㍪?;q}lnyؽx6.\`e]]I9taO^rh.1"7ͧOݣ*Rp HpeX; xъ2.p9ISan6URq6-~7yO߱b{(qTmXϛsȵL,!j['+bٰ%XFD)e8PSAE[j'H"](3ld$z ;)ӉŋFKmD140+_%x` ;Į;;G /M!>L0!2J_:>|C@1TLD†*-2J>̡HoCIٵˉJ9f <:i]|F6j,cWpQevRpЗwTasㅋv\T00=Gm=RUJ1x4[ V{bx]GO-4=53=H}n%5 !zcx8m!(Pb097kj](ݯi99;yzJhcW˴\Pl*dgzBv%,'4ςi>{ c[zEJ0k!8ݎX2Rq`(ݽLh1EqH3E0~$73NΨhWUlQ(aW-ejXBqHbPn~\M.AA2ʕfC BKݍ 9RuzSò.Uh4KȩRRG5Zk9RkknjăgN߉(|CI69LΗP1. dwt(Ɉ|Dٿw#;0lZU4@ɝd%gf2 U)D1sqr҇9q=k:d5,QڱTnZo`B!-prrLτ)!7hl(FJt2+k+p!bxGs2ݨ+LZ,VS S^! l/_IkDI+H/.ߛ'1znG =]_CcIT}jL*Wgp#KȘ*PT`܀\<ȆGN;^an2D[e~aJpש>l{ E#&#]?~)jU(S!?'*D|>7DegS[oOWN[K\@9qBk3d:Pe8PyQcMclH(hTy|c!n-3I)h\I{DHكgLj ݽ{8:qfevn_ZyMX2ÑQMin:OI8CvVdCz#*f IwC$ˆQ` t{|}wx7F3 H4/z-ݧNAk5^gUk Hd)% O}e|y}i<OƐne$nXű[zDQuh^D.`/e)-ll ag365˯s%lvD@ aAU’@nKv/[j>D<1<4SOF&Tr1%TH?A{;JU s k)̣C{N#+VXȡf%KסN%F}^^ @iN~ :4'C:ǬS ׆&ay!`HmyBH~<7Q "HzvTbxX*4rz-̚M0$@V>6tѨ*E:3tYH:ZsoBݾ+m oyLtf 5[rRkh@HItL㓀x>;i">1z~VMH~B[N:mĎ9Dzw|*}hw1z"TsI X <Ӓ[W?/xm)Hue@EH5Sއ얔̑߅FBaPu]l'3me{  2XfI׼@Ljqql #9{cQc텐+M 2#cQ/62 *.0|O&J1c"%eMW)6Ȣ׉ $/nD9H(1CYr\cpiLKtOW9oKWaW_u92Ol^M,/͹hr^R#a4W$փ \ Cn?Q=Y EkVzﮆ C/bՉAp)fN:/ 2o2Xmh!6xQVlti)LR|~:EMݬ$[Al? 86hRmN6ۮ_k[Yz7wiNa;"ym^N-~k[&At)+'4#;POj1N81`iLMF>P$e,–bаAs|O팼qDu4=xa)'VY IOZQ|0m\t6|P.|輈hd]w%wO#59SXHr~Lp.dU:wJB~)wvr-ރj}h]ER.pLoӕ10R{ZHE8:ְ\IJƄ[큤Ё}'H|YV,ZI"a'\tPj2Lƅn[2t+=~7=5 k%(}bU th _&„>ز]A11 Vl5RNvf Bσu0  59} L/v`v_q."[sA;fA[F1Ҫ~W #Nn}S{Lyk)0NSw}bQrs`q*>x]gxJ69چ$ Dx=ovU]>!@om눶b`DzFvI( S:fC%YWm nVt)SQHbAϹ2w͔Kנz=Qo݅{`?[?XKk ?bmC؁ k9 w?y'C黍qi7P9dkʑxT5hZ3O*O]_zLO}9;@5Y!W'm7X ՞A4 )Nc[j=tE:0r74$VclIn̥+,X;rܞW&r`#5A|fHg+~9척ciM uEÄd?C{{Xw 9sxGHyxم86\ˤ:x*Z/F|q)uWQ܏mC2t>ͬ*RUT ByZ~R|?Λ JzxZJgdCAªPLnYj 1. þwXF]tA4Acr3^L65|M|?л( h1?NlRʟ 6.'v5]+T>mꐪiEx b'MN$͠bM61VDM?3Ne`=4/YK9B0UW\SiH#56pe^ +?0KT%pf{1K[nkڕ*dO}HŽob-7!ݬ0s̯l+Aѝ'C1* }z2f = >iR>bS?}ElEv٣MԝpkIRA9D@pG[bؤ۞ovK,qACʡTvNZv:#ؤ\PC+!&g7 4\ܠ'^.sf(ZDeBl} ZcF+" Q*VG9r8Wdݫ|}F~hS:$,O5 "ɵ-Zϣ".-YKI>ӮR={β0Ϟ}ʶoAuJfD7b3"Bt`gӲrWnҧZRZܳ% _X>* y`R;kGwjr nӥbZb9nC+4[t5WE(#]P<,Azl79Tqԥ7BJʽbT)BtCjb0s Z\jo]8tfWEܽt |-3޶rZpu-E,Py8hD 䜤M-D(o}ٟ^{3cB Z nz3fnuOɏAx5o>!E#؇t/scո)NSIr(؍dF9A5?K48wS\Jd&~p_i M\jr$,Pv)c ;F+ 3CYm j.r^2)kwE%Z?$c q ea^,`({X&]?D*,*ic1d0P µp",6L'/-`'b-79DKy=Bƾ% #aj6U(%poT~ˆG;|ӔpŰ΁.&`Jeco:.őL v7d:cׅvL:>(nMIHӸ/5tKezx ȏ>e<%U,X!rzșojOr$q CGWύs>AsPO\H!g^K >t;g4 >E hI~e ܩɘp辭(q/^M% 1dtE&~֠84Ql8ن)eOKG+ZR1ϯߧ01ؗ<νRk˄Z煵h$R?a&]ouc?MH~*aڀ\|}z'ekS#5'f=.I7LNhՎ_({(pLh`׈>9Paj[7Sa;I7.J9U_,%EZfbĆT _nÒ;P$əky`QhJ~;d2 aX@lګ*fc" UN;qU,o X|2iQk2]UXiU2gQ ))ע/XC\ ޴î3QAr%RB( Ԋzw*/RoɯzvbBJ qG授fA6?߷qU ,5ğKhCKehx^l80*B&se<R7ms6>T`d{{΂8p!] t~ѹEAU2/C-#o\2v/A-4 6}+eH왈R^7΄; nЯPEKŠcX2YT;)9Ȏb$AV)4N #u|%aR`ԾM*;KaYt2@*ǘb>a!+] ? Uq;UԨc[#4 h):*-X5S]{.8=.Q BP0#*ȑaʩ\}wJ_ H>*"?LL x8Bi9Qڪ ޽|6wjhCn)5210N{3l,)Ái)0ǥ;V2|s휗-&𚊆`Oqy@6Inh2!FdJ}F U[wA$qEK::^W2I7ho斴ߡM!ڱȾ?Ayg(a st|1J|o)L5ȢTEZuAћ]uVqY4WÃsD?Hʼn>Axr* lpa3k0BV'k1Yn6\ a'C e|0ɬ?5WV02u,n=mYF UR)EnbNB̰<x@9I3%z MCHWI#gfAymtJ:jE62%IoIWEt^gV[:\f%:08mnn 36p[r&Kw)w=J(|3v: n &.3PU 9e+hI(W1:s`@J)AH"e[-cmߧgi PXە, 6C;#;:8v+r_^0=;}3;ey;UP"Ѷ=RJahct&QHrdZȱ;_FO%Y(Z*.G{Q2̱R4 ñΩfcG 6,Yk =)C's"Wry%! ݔ\,>Tboٮ|v#V5+̞>͝U7Z">R"׸\MyoF3f(GRP +BS=!~HB}` lNBlH 98$׸`` B2bxukn:jF"6(e}O2W@ZsPk424>?ҹ\gTC~[ʷ w?8 gf_ZKk+Z8:D*71+ kmh%e>f+)e Xl `"IaGLiKJ^^67tZVo$0Vk5FfBSۏ͘ O`,/6qBc%=J-=X k_U—dpny bZHF}{vĽع:D=BvzY(2 "4o|.Ĕ5:\< &tbJвlܻ۪tʹa@2ko ==삦d[kEIV1:>EoIV{7$|W# 780M4.#禈#O8X)tf`M3_gVcsȷ c*R]{x Zc e bg:\FHFd.qNoJϠO*f0oӵ g !u>p Q*5Խ)MPuJsƓOFzzk)6U#@z'jkt$cn|"3:3qTIԆvV%؆M%g+'* HƧ<-Bx:aFTlio`-uzkC]OR`:2S0lc(M}kp(]m*HcYjDU#P@;%ٛy~(6نSx7 (֜)X_v uƚG Ưw\_ъDP~mjaMǖy7A*-G ׯ3VˎI@YtbdCR!%}G7cy7\`s)NKXΜoduts*e?jx&83'n9̐;)qOVZɂ;Qdb~9"d7 :iw{6̍e/67Ӌ 1Q1ƌ7hc*;#F tkZ=oh6O;dZ^ &*TFh))YWi)>.Py:;+M@_G|'e/\1=m;O IDEi!1;FdߚXh{?J]O:d"K0X~?Zр8*3eVC,`pV@qY^gAAC Dh8GXo q␗/W`l?"[hZTmƼ;;F4! 7ۘV$UxQ \IѾZ; :6tyeC~yV6 4|:zߝ o?{+Sq#̬- kyх?F0O͓3Jv_%(=}g~!h|v|CXG65Z; IfwoZ큂}̏mgi'mexͬtH&sX \NQkU=yZSbUH;[zU姪M߇d$[G% /cw͸1D+[Z_#EmLfP{Ce@wDw_T\ԣ1f~P'l䩾'Bu맥RE&5Q+j`';/ |A7HI_ ` k]?qY5#c~Y+k4E%i\u}ƷEN5 ({_)$V ǨBv~XK@omhA!Mc5!׮ @Xډ@Jxn^w>)v|w'cpg;i5yzi (G|2>h$mD2XO Gyn#agcmĚU`[nc3i*G"(#YFúW0fO^dĽ,T)t{@ܑ&;'g=D?(g(pw>fޖ)uՌ}uҥtϝ`K\( |`Q X"=dО 2νS381ˤQvq:ca1HtQK[!͡pgP_&"eאoW=|ݐT^&&kG+dHdF^B 1}7Rf#.vq;/ ,h';ZZ_KaR@lGR@ 0ї vQhԾVA?7c;S(LdbԒ)~V?rCS-j2y.fF;3!ZP|=o6#pv9X yo3ABZU!]VtROGHMe*g:J /Uv'>?U~݈XFmhe's[qUfzM!TyDXxt*I?Toĕ-Pd@BK| ØTpч7 mij /эkԚl.Ì"W G[`d-`_4XY|-7CRsk3~`bo* &K02CU1Ғ}>*},U[6M(eI;v|l(ڌb3~0amR+lqY1UKTȠUpj݂9 H '#7#Z`YPL#D"a""U/xhI/[ѯo}`{г^VW!fNO"饜7;H|Jho(8; +CO k25)o6/`˜=,!V Xtge=a.Vyo)S?H!"GGD/ƌuDRv7Zܩ4aqn6"?oF4_ߕ8mxku^6$lZ>hcz%mmVP..\wEq*؍\Qi`վzȼ}(-M!.z2_kn Z"v}#&VT rV!h0dMM2i B0/2$'jQ3|@(Ei?z"Qy+~$=(ZVN^@BSOnɸ~Mǿ*p +(.( :2s?^m"9 E!$?w­>W45}z$ e̓Qn39|3 HVK#}/"X"g ϒJzf 7qI05BAJ ADC@kyIV W䌥9xenQ^3G[?hVr ":4׾.i)08c۽4)bG8sԣ<@-3*bX0)ҧ߽W$[&!= ڤ'cʠ"II:j?uW=2V4%p,,Xn5mxS>AB>ECf. C2a SC F/eLaױ7&@Ķ-n {F3໺ҹ$&j8niERUJqc#!(* @lWZ>?7rr{$C:0Y~+Ww9 1Y%N6Oe>_%TH9%zٍ|}[/21L #g˔dK.v9o1"~*]߳~rjOdO"3D$I!%Yo|_+8|hFp;'JdOkgAm"4\łDkW1 -h.ܮ{Z 꿥WFp-8oMT6 !@+FȏݷزmB;TN|}ԟI}^ӍiAՓ׿:KrN J+U@rKh=#:߃Z\븸ݐ/I789`q`N*?2/]fr\EjX>aDv]xp2l6ED=?ķaY7UILFet tTB޻ G -\5gAb1ؽJd,˦$w'ɔHW?7 ,0뚆`9S48'/-,Hg}-+pXx5k?*oyonDȁ˾ f),# G.:TTf08>yW)^x\#H5P}VyR] -/'pgBDu\g:ޯXc'~nbxf8@ԯO1V!"5(lm\8O+pkhX=I6W9A91X3Ra,p! &ɫ+.Yf*c7Ś\S0Ql~YחƓFz^ymj_rhddМAadϲu$G{ɮ,?z]ٍ?/zy3 Ӯ&Sp%};xK,= uvAT{hT,1͡hngEX \95ñ}(.CIR>mOWHBy+$:;x(ݲ/'R7 \/ؠbTvҸԜ Oҕ&V͒Ґ0ꀇ:@Līru• hMDng{YS3K@ظ&7YP)}Z`]@G"ĭ ,,7I,a^@ l`^?kg#5nz尡rJ_eLn k\DjT>zS@a*+Yrh dwp0**r@b|DzC-@gq=@Ar`fuH(yXvˌ%X#[5t(,՛Ð v}]B+#-7{:iarZ:d=%|kk#L!Ƙ?U{iG2UxBgߍ@1*',]wߤIעcy'<3i*Q ʐJ?]ЕgJ7xbbds$|EDoM}JROp,4bI994Mn2D:yj8[ا4!G<;gd Zn#|sH3l4#u1-nkC!۠SĂd şEr9Rh*WA{%ŧ "zfՏ݇5-1ǟ19mN_P@ *id("=1誔,%.p# Eڐ^#ȤsyҮxI% ddm*PFWDY/ .R(~yS}Rz h#Ǥua24rvp< b<7Hɘ.W y %xW2!n8x譳OEӔYs.UcZiX}i{wO nRYKEl~3Zʤ/dfcge?if5 FD`9sb\k(tФten~sT:u!7?jz$Ozq!o7"Dr ˷ܮU& Dd;>wNǬƌ(QsU'Z"FQF>1YH!h=X ƙƓlU2ClBfwY̿aXBEAoG-Y<(2*0نF2KHB,KMJڴ+` }n) Ew2&ڀlO|ě g,-M4[s8Sm2._xc )*yG ƲP^K.稌,xiRcτꌾ8p]]5XeL Rӕ .ˡJ٘?TFM zUsd{uSѠ" #c$e3e 7QY%D2""PpRAXGu\a@ t i7%U8oYەez耆$zԗB(/wW,1a,樺:O)~*)S#zMȬ"6](.P@\C)eG5BN^.Uۖ{TM<Ȣx.WS%3i0;P5xR#(182`Vi<A7ʮMcO9z9-?i1.HsVpcm˥ P0vCnͫ@@:vf] 9%j!<x t$Zeߓ2WX="{d6= !bͻOje>Ha,>$Y;a20@mH<፠%-[`z.e)-.}.Fd5Z㵎;{-"GW̥K'ܩo@T$I*% 7uѹ 癑,?w'w$ÑA\= a1tz'0?;<-UwI*dr_g6? T80sqwKh?wpB^_fqSO>'i=қ\o,Wz6SJY^F-W-TCdر} u)[ ^'jI}M|gfb^q{R8oBDJJd4'ȜA9atXT} GG!vW]^ӻX:!zZir.irp~*)~? nc((Zx=Csh7 Kkŕ]\ 8`ttj-G_kb2$U f/: b^v0x/jL4A.aG\Ffh͸֛) scqΖ=gՐxpvA,dJms~3D{G5IlnBTM aú~:?շ]&CTonO&`D(eι꧲s~E 3&g"c[zךC2h]: ̩vCø6lreA/?RjRZ.{fE'P^h B W3.J՚Gt{(>ǧ~hinTTVpW |*[8"m8V;痟)HVc^vV&(okIIľ$ a)LJL-bvmy؎AV_򊫬ӑ* cBE1Q$[3(┫* Lc֔#$B",]qJvnqOFhEtSp֐+Z}Ft+72QX?䟊$MIjVV\]կr H/rdZZVEB{5i+v?Sܭ5,~=[I&U.Twi- M×\w2Kmw͉( `@F&8Uj'Q9 ܥZٙr (Ѥ[6|lQ@/ڹq05,K~ Ȉ[mBP̢~SmN/1)`ƭT+Q֣3qWqZ+Ck1yWEb $*ȶj"H@3i½nr*nȵlrxY-#K򍂖T +$31U ȟ1W|==y1m5 }l,K_arY!EydQ^9#O_a+{!|ltyV6s=*Pw4d월5YFX}ȝJvLYTWzY1Dn n7*H;_`'zҹsݡ-?(@X8qh{/:֓IkY0 uG"HM2-3Rua~>m&UUqFGQ)X堽3r.̈́h"j$H3# U&I$ o]zT*1.o9 FFЉϫ 6/: &{)?`edXVO(,J.Klս_eIi5#4^uKԑ0L|*jXG٬/0j%歍VknyXvN sεH}jeQ 1yY:ԣ^Zħ_O$YC]=)9M6WT*5xS#) HT.F/Ka3EhT_g!d47XSDf K%|cw[Sj2$G,aDF9;E;_0A!8 D}R7-9 zYwiq[Ui$M FK)"grZdѤ |y1n޷5ES[>"񨩀"i1KT4X!é!/iC:X>NZlJj龸8>&"gy<;->JYmN'pdYiClʳ#ze D:y:tgf[hP?(inJ[pp\U-T|".dFJzѭȹ@<~1g)xp!<Ș"Q{ZFWq ǫf\_I]叏H4tΪb 7hG.P8^AS9?eh]G0{WyasLN̰"qn(gXyR`UThNaLzBOy[%Ī5fMtȗ\]8N؋Qq @ƷWY!Ia9 fZ}z[7G5KPyiAS什vdgA(2UDZaٍ5nfE^L44cO@+AEısq!]JhfYNn&' Bp%D'#poQrZ4fg/|d㰉C:#*NpœEHV.|EqVK3<$91I>"|_4T-pdԃ:R}k(yaPE;03eymG̦0&_Qج&!(1n0#4MU- ?:ԚI_Z䪩#/{*~KI3VՇ;fOb tvEg=#eKFsZI}d:"i2$77n3BV OC6%Ra@S6=^' H`'jQ>eG %ˮ̪0iȞgDĪ["'I97I2>DTv}bND;.Vۓa??c/GYvwqJËak$EK)aɁ`_|H| 48o!Y;&ZIwJ?}TZ!V~d4ݻB20TrK0ʹ-mٯiz$(Qgo^G1`~#π=a Dg/l{,6X &wf5Aͅo$Q2 5fN!ڸ+xaa6%r/9G>Z`FVՙUJP)֣02՝n=H=xi+6%H9 wiڐ`fxt4 #l+?Ղ |L/7q>IMpNB28X#% 9 ʙ$~Oir |@3;wب9,w,0TәAi?']p<\U}zITj Ҿ$EGx^4>&b־??-=XPT+!-UM6t]Y琱lvJFM]Zެ'HpPqܱ6xW-qGz%\kH>\0ClP`5{Ԉ}KEC7lÂ-ţtIT)H)f(Z6B3:.bߺNz ]AޮtGkV&2K3iYB2bX[%tLfo-GTw{3X<';ަ9$mw#'F3deD/?D\Pؘx u;9WB=c],5pއ$4E7Drn ]ߟmqk3YuL^Yݽ3Fp0vMJ,HIxAJr/ k![t~9?~<[ E0!k*3 xoy LKEx|Z| >V"^@fZ=\ GVtPД|RJ]B$T@7TX' N~̆<`BVQ߁ȎFEӄ0U+z Z͂γ Os2:w[ Hm P3? 81Ba0&vHvOOV9oa¯ڴln#˚ uK20"&KSG,X_;R}0f:!/^]Kiy@(4BְCjGe_b wX@SusL6g yo0qI%"l"= T Q)o5pW]C)2~&7VݦӎJVL FGIꗞXC#T!go$y5Tfb;(|xwY@^"ȯ\).Aw ;p}jLтn%zN8ʵ YѪL59ţ9'Ca@DX٫ΐ4pRt/U׬ ̛6|pޣc~cΔSh'}$|><$;3@nK=hk%/U&7(;aH8;_u eWr8#XLr<6;QU Az%3̜^fgS<%3x~&\>B["*]r Qj`sȬ [,{"&q?P# _A;=_NerK4r?udE͆IyE6tu!b}'V56DMS,].̩ZswP>6q¦WC.0=n57jZu,v<iTNsqBә̞H5u|thRY`s291/!ijvY:B&nm>&}P$HnYܲ=1;mB"ד|`4 $Ry/m{Z+vSGr`Ƴ)d7[6}$rɥlcЇ]K\2rWx#W$ :)2[j{G/nykanW;X}ǡ6-8ء:)W]L z>A}UE7"(,ghN [Rfe&4Ff.XA=Wt*B. 3+R,'Ƅzz R]LL.Ӣvy ]ި,aeX㈟I&%:o]*=^5YIPqr*a֊N\>p+U=k.$ ֓ Gx:s KI,"+K)ӼSv$ֳ etQ)4XmdGpA&q.!$ǻʻ"5KkDZ ?5xTWe?B3:dl-u?tn]0ڷqMu`\CʹQEh)15M..)Pau(8 rHu ;&I)XbJD89}ƪ^-t\h䏌X5J8ϻhJ\Kݔ wd2 BmPem3r򳒔8nyߜz#)F)@w΅kdI چ0]jf\FY!nĿHP')[ǥw[Bt)4al0e f(ȵj+YAC=>o}'m˞kmHЮq2%MHsXNny!@"fm5PH3 gՋjgVwdrycnҬR ѡI+DPJi eⳲf֐k"K^sr줹OtLL1hcoHWJ4(67O59[V8D;=_kF|ir%|Kd}8zĩ>Ɔ#C00m!@8~b],u!ůk5 Ӿ-14UZ䬽$W)vź{y=>S>!YJ`o һ\SKC}A7Md dH߂5ٷݜz']h3_}MX1h,)#\rQpjA<-@)Œ¾Q?Wc_2$mi}xG-Y7,FD/hӨ=ߪ纨 ʵ2R[g`7`Oì}èP!MNn өƬ4P*[ȅLboJN ^\eQ:[o h,/*1 9fvX6E3fېfK#*{i)uc6aaͷ x >%O'R]om־o!QUdwCm,?#5,B}!pW`h$D-JO!_n+Sݏ4d¤0 P8%[h}coϣJq{ bed~t'އYL+npȶ4]~6 FGbqY 14Ma^և}Ř'g҆Vn0'}=bk֋[7n:ho&eOר67*C\9@C`T_M4\c/RqZpS(g\LdtKoͪ$zljkEΪ4*؂r/J#¿9@$'W:=G\ ඾Nǿq*N ޙB8(rc@,#sm Wq" w,iS;lLۙɝVu)+$E!0cih=xf/߄5LLSg ' j.e *x0她h|?aX-/l,1;E"+L ͝M K!lB.s:{ީQdaцfQ2<#ƒC$I9K+%:Y}|.-H4q$c`Pl?+dLn(кpZDDYml cmdI[6֯ 'd[b^t`܀rN|]W@Jϙ1Q?5Cz/]O QcR̂b?G(a谁_>QF$5~f( ͘M /|}䤞pr7 ۏCz8 ?%%F%4)xj+cYdH419;_&7MA x1;:&ds1o6\6 S*T-N)RT)CidG!k4*F|Me,T2]60- *GTD$LILqwM(𛟮h:/xH.DSy=: PBz,p:._( 'EPL/ڂ0Z[$Rܯ}}6OqZp 0oUCnG$#éhCUN=%:pZ -Z+@ S- 齞1%폅hj:4ʣEs"+w#\-S=78ZB.GKm]F | iYE Z2xkߜLm7lܪ:|Td/]B ohzqJ*e`1ËAX}I*?bΒe Y?4Ek`n[wAak{H$p[~bAV%\^$Pl 38=a}s\q~ ̰1jN5_$PC_sx=/T:S=ȉNEI G#s?bd5Nz{5q황e>M荙92)e+V  lj\G'\',წ0aڀ@\N D&-OEC]mfZbDC t͊/xc?jTwPʪLJ8+" g 39LOU[ 6:T2e3Mh:KL(6*ݳ+o2|mѫ$U_p݋6W *=OwҺUB8I#&X1cRj? b6+]j60 nbp|YsX^5Og?XAnB<"3p8Z`w'$6gCxx4>g5KQ*%2DALtܱ;PB,=t47(x+͢v4:G@H\@C'CP~Ez^twyL 9-jh9.O,!b~~Rѧ8O7sfY"w2y)}?D!s<7x{~sObV\Cs?gOyVMyx4WEǍJo٧xM۷ܫ|ڱi wUp@EssLD{ `ֶ;5eˏkz:g!ǁ"4J=omu(3 Xj_Db>B|75Q3ҁBq| d;=I:B_yN{ W)S%qk1FfcF/o@ȄA~1'J><*蛵FuٸZŠ9'xh%V姬o.G6O!BBpݿ8C??⇍)U\Y[9Y҆ έFA>޸Ӱ.42_z뼣EPsĚ6TH[P.eZ>{  R7S/u I CF O3CQ,9qq:;cYaR-e=#MBֹh\{Wk[ # p^7vz,zh rzE c*eZGCJgv}rVv1nkr,s-E 4ڃU>TT!=Xfw*inU{ ,FrV//R/5лdF-]8)ȷ|d+}1 (ysj  VZӈX)DbU!ԙ 6,cT:_\ >%dҫj퐩vrrvnbսtA:_-Bt5,="ױȅKpcQ|] St=V>¯H@ukѓN(71%_8$+Q=F ~ Kxronyd}tob?9ãD.{A8\}]RZTkR7hpȥUu1 "wIDgܘׇO\A))@cfHUYNCp1n),Bwvu=r4{BBɞK*t?'HrsE}1F׮Y5a6 yٳHB7/NAא%7iW?;p \=*gJ?@`Eh%ATRլo:L*曖͋c?ΜE<X$57Y(TĤNJ[_S;ZS^Zw؉}̽EiWEd,*(:nz(U`_aa?GXȦf K0X`+KKoL/4+w"FQ)hEuR9YNI擯]6G?yi䣡IM-\1&gcwG`$|zWƒPl\Sb ׫Ma !E-&>qr.kkkV 1y1p2 (lـsZ|=i5X~ H+~NfFFёG赗ԧ7GWxjdB(qVIwVo@~l\'l2\G;S1KaGLSB  &ly=B0ƿ0%z.t-k X+_8^"jKkg:L;jf@ SZwD %]啠I]XJ\V}g{'ule oEE`7y7t{ D ހ\ OOxN2 gu+HfB.C#yq V0V[h\ C=ԘSU >ڭR y@@ՙ࣊ŨonD~exZ)N r$L$nύZ @wLOFG $Ӕzd7<Wt[*֫>l=FJx)D.;q* ۺy#۰G8D;00G#y\n= BpI0dn.3k +b`R*.,!l0tNhk熖W+4,ns$8Lz;Pu*LGryV^eӱKٺByr$;#%JЬcZx#hqALt1x$vZGAu1u*%|qsARo#ϱy|1dmHyPw-:(*=Nhil+Fk_MD7c8mDѰ_<_XJS<q#=w2F`yeTwi ͿU}C2^l^?7BTV*Д5{MVgMSTOti~%O0\abo.v~т3l(P?lEA[*RJ<$L[S{I('!w^TSL|nD' ٟ%-)|wf~D9a@ulSgAZKa; 흦9,OK}/Y1p 1+^޶|hp:Qu|4 h\|Y1_,\JǍy_PH΄7.a*ʿ@T9IIqQ߹ O76sF`[=E)}#s3y].t+HKtA뵀خPuXxbΔ[D%4fMZ)t9r c fE\a1[td k+P4ٳ#$*>+\ǒ1\&j!FlE8ŀPd K@ՍďL#A`T?|*ɮQyLJVǎ{|F84mA ?#/-㍶!Yt} -¹;c0-TK+SeJG3\ ˋw6 HdZl'P6*ھu4y HohV"yp`+ukPVʥy2OPo~*{WF8gR}YP(1Q=o px(T CL"xV!v:FCִ>VCR9\7|kE ZJL]b+#vzaxR_0_\B>y?3 &,ڏ "Z3;!arNMgHĊ2pAS1ge"e /zsqrLjua԰H7 l>pm>1bRI.z 3z50nshw-Xrj)?.@ݻ5ؓ5 599VMKi"ڏ+E"ޣn֒cajyipՍ$&Hzq]#YϤLb!Zdĵx2|@9X` z<&La Z sX!qnXALUh!J8d!!Ye1{vcw4] 3tΨ@Va3&n0[7X1_ j#7d j0Dyylne?MH:&6]ױwגe:Fj]x3 n=pҎ5#8 ,ՊʪHA+ v<ĭ,sZ{~fI cl.6&5&?Pܵc+(3lLG#-NN<#k8cO(i*Y84>ݍ~k 5tMoW~9Xu M{N{p蛷 z*aӊS/()`ۑݣ]k,| ľk#[-ϸ?ϳf~u{)WˆRN!k' |yX-kݽ)juP gun8V KqWl b}qda'b|/ Č۞C_Ѫ#zw&j:l6]\s^>px#!ԙKxGf)x\ҳ)N5'R"B뎏ZtCm%e \%BW+t=B<80#?PrXKQ@k b6@6W3s g%Y)h_Z_+_:S<gnP rjПЋi^AVAGeCjAiaړ%4IJ]I[& ,\0^ GLp;W˜#Z3Ple r;;YkT_rL||fN=:™4U {ZىyJ(n%[Jآ+5q\f,A"+`@H[aͨ`K-zG{yTΕf-[*1%93P$=xDϣ{Kz&YCLXE TKv'.qDjS$̎ъJRu6~cuIzcE}zcjnu PT~-t/_1#ۛ_C51,K[:%W[1ؓd!ã}cžK }]Rf妫2 gK7  逸y?"i4nB/h63Ѧx6o kk|XkTZػ8+Z,h44:,{ mmι^{iITכ:~IFZspұ vc65jMRB%I|Tu8v} E(ğyM2z2'!-յ$" ̓aU'ՠ(9;7qxsT{樲yMSsCMi՝I&C,pSQq0n; ecB \0O:]v =ìr:)qo ;.%{; Nu锭[xW"@dD#n"zJlݰ&=`9N<3fzŜL<:]u#κzSP9woE<@NEM6 68%>( Aԟ,9odͯx4UMmn!\60_*:S.r wk n2͋> 2NQLtĦlJҌ1 l}4C2K3O5U鳃?ꢩB/@͏L(Xݡ3 _D Ij5}StSבɵ/ۖ2^o6iQEU Y^:qPϜ䨪>܅ F NL0`sQU~ M`HKr==;v_Hw[:c6*eAEi^!ke!RA+q2 /;ք,*yFw~zs\9׫ؘYqRN`_\hI0ѷ]6k< S>$VnlQm/昧+K$\q ,M<{p#bM\ F`Qх [~hm" U!l$u2M:Y0#\SA+[L~峩 -K֘ePA 4s33&v)]Q1yK>TQlem횆ȧZ5K~k ]e 1G\]xy veJ0euD:zvbv6꧰a! %oCqHOJWkqݜҬ]R f5E qMA]]&Ҷ cSt.c+ԺLJ0H "m nYk/Z^ve'K'_$&ʕ֜GtO jcU-h##̒SZ;rbuAqTy4+Iki%/r~xm Ф\?U)!C]% { $ qays:rgKo{Cݷ4Q`r@Q8)4RlCABln,&ڙk7(FDOS}z3 7&y:70?-7KkeZMc%QȐg8؄mTr˚ j)gqi&*e7bL䐅p8-,s[g.|K9Ql9IgOru82#JVbNSsR.:VO5B*SqvY"ᡠ&hhlX]l=b*%D?݀¼"lIE~[YVoT9+Eب^%^L}Ilb;A /aw?Y&7 N|V*Ěb|[c~@" s۳Xr,B".Kf ?E0(Vp̃kN& d9mjsvv%jO,jgXǦ*Hdk`@&g9vn-' ' rZ4^;?Sbh^oآzޯ6~+M^n@PU K"cM@ns&Yl'eYZ o#tsNN{FYO5M5~ث~̯k!4 {{ XZw,M<\kΟrEYps@$ڬ$ĈXgcϠHt`M'VO@ XTPӰ1;,5 07w3w@1ϝX*֌ K Mp-pSJ[c#;QDXsCTw/ix]= ]ݣޤ; 8h` ݓGSn,Xn_BOxSZ6 :ISK͙cOeJ25I:c郠 >Ec-&`NW3'9%l::Rȋ]cHI=DAJP_!nk<ő|œe+)7^ץ٭FIJ[T}igO) 92}H*Gnm 3BZNkvOj8iis6"$4BQ˱$~je*hօg]b.ZN\7G{$NAZl7⃿|l @Uvx)nS*ǩ6/dSRQHd"(z0IQ>j7͊/Rv!P8'$K<˭?{TVGw TH,!xizk~z'正>hC}_pJ406m lyp<4l3A!ɵbv "ʼNrqmzْd̔+ cR.eB) @=C -Ғ  @㼿~@c*2zʕ50/f&& RSDz݊*|!K, ,OyDiJf\pf{0AU~Dּ].W=&ݼޗ12߄Nw埓(vA,UADESf1"ϮOl3%춓b̔<~%̌UgWIxU-u[]Uii56CQȆ{β&e6}tDm/aGmK@ͦ,yŶ)+8JS",0a4zP`ǯpI5F+BlvgзdtYs~e)U3zsZpYAre72kUrˇiŠ6Ϫ/?=V39/M|&U 53]0-N̞Nj"dZr 3YB<ڄR:ŧtG%2֘Ei"4eۅR{cE' |4$>~H| ^6Y.ww.4ԟ𐝙;a1^%Vx#Hx﮶b(+l8L)+z*IM,m W+bfr?[(ڔB WbwW:fZ:P_Lv&r-7 Yaa ` .( urDہxzיH̫osm{N֫րbP.KcAax`ոJ =giF_kFH\[q[FIKt0tn[ys}SL L7&>ٮYu*74y&Jx[dyz| DZ4ɲzu WѠu7_!_(|)3]NZiў<F=R8}z!6QT%Nb;K f#rHj^׼pFQ40y,$`rGp SA_upv/h(;SmY+H̰o,cq+`;`cVim]yɍJ>%Fi"4)ī(ݬt4 ,v+7zz{nPNu'-oOyIÈj4GQx٨'e-Ơ>a*ϵQkښv8]"ߕ!F@@GBM+3`ԜM%4K3y: bv{Z-G7wk|o0c4L6pa %MB SQY#hg6Wh+CL%$ҐZ/{,H:. IՖVl>6Z(a?*p/shHREdFKjKnf"IT)&^C;-`UcAnb}!g&qD wJ*LR4 Dnʝ&R֬j&"7) _k[X{՝q+ chbɠ2/nb|'y}f+s 4MxrwĻ+w愊q_w5*&Fv&ɯMw5O{fG]Wr\v 1+WO[kA K>b7 [PqY}93{z ҍUaZHBVz,?_UJ4!SF0O[ { 9}lPo]EgFZIG%#ՠK2b\"Xcؘ)]ⶢo/1\5W`'|1'ˑFPo痳O*'+Rla@m+謑љ7r͋հa;>|&j%Ûcn %jwaÖ+|h 8*3w:ui Bj*p=X4 ؊/ 4ٻA;qw뚯py`n2f5CȽhGF5 +7Jek܈P##-_b;︋٬\_:IWr%|0L K# q8%M4j L7ZgrIV,vynf7s]%Y8NӿĜrΆ+Ț53;qd<,iVw 2rbJ A DL)NPlva"(s4A:T5uTj7muc~6>h:%rpf,=PzUM z%8ђp Y^gwwY'2W=yIg!gގj6:l RRq7<ЏX>(,a:Ќ'ֵ2(4H- **DG{5_% 0E@/ :Ff}1m2׿Ngu%@VFpZX9OJ-Z&&[TKpG܏ib?Xk;k7(/Zwu ;ۇHB~̫8Tͬ_SK֋{&e!fj8~Rh*f&뉻uЙ^O cF㱩kWk%+el8 HfgKɆ>(W6φߟ[OXg{u4)x&02ɆX_6G!{DTuԾGh(k{{2fmX݃߰E}B hT7߇t[n@''G0r UaUWBhZaxQ0Z+'i8y1&ʭomjT8+;%,9(ԕ,,IE" -J R,U9p%0466 ֌Cr;>!y-uy%^}.:ڔ#B7jIt>u^}Aj_a?X>*o,62mˊD$-+[]#De_6خtQ orzVުW([EeYtPTN[&P֎UdMqU[~R: ) aKLFmnGRe0qgG}4>LӦQKPG|hNv 7ͅ}Q("$ bop5z89JGY1tE5i|Gz-F̖HUOTv M>5sUGO8 A=|JJp `*¼?SsBd;jוa?W~R^ADM`E`z8zĶJG,фQ,V'VhR0&b`$+'ZӪ$,,š2ǡi<קDSc 'flά|RƢvNf#6X'@YL~9%G;J;Zֺ/$.Z 2PL῵NC#sZCHeeuI,"V)B M_ )gNi_?| mK+1YX8PrQaEc)ϩdq4굹: mxXi-UE0(V'~[nȔ-K8Dj*0G!vD3AN0уے,&ʕ6)NW0&W/Ƃqţ$=mMO;ۢb';ND._ZB/*zRk KΗ-4](e/gI *HvHʲ&S=#0ج}Il\֡Zه,Ѡ8LӷX_VO}ư?SE<*8j.e<_I6XX"nQf*R9]F&P'hpYտucy@%&sZK'Y"TTˌ+{ƠHanglpg/8蜆T݉,ċFo.C&"?LD`ӻgvT [hު2;'.sF/-7s34Uoќ"鑨HZ(s7iR>[;p2_Wcxju̢xJ\;{b&jswZ2KBvo$J(oϼcޮ=H9H/=Z QՐ! ܽ麶%:@rD2¿sHG#nTt![G6*D|Nkl 4FvFcq:.ukhS*8#1&j,Zr !KP*<3I]Bئ7-U 1{ח'ju#5 exE%aQ!E(+K^LM/䐧vt+ԀFQ0lch L<ʤ2w !WxrO)R15*q<(EYd`+0jMhu4&G`}Xj-wԺ&Ʃ|bN}[uwb: #@#W?n:pyn*ks_4 ݡPg3".C-;@cY2Q8,.۫;H5i'*8+r*t4y|,y.l(HeV(:/ی0K?[G~]ᅫx#%Nᕌ J)[cC-ۣ(AtսWPMu< cL"C6w7ëw C=t!S#|kwERSg}旹R,qD/71J8W'?6aI`6DȰLfXwREezt_Tjf1SZa 8ֿbU BaPPG0("F6bw>13l=9ۡLፂ^LIuL`3bzt>,| H\<ݱxWU Ilx #`%OZ 0]dQFY0ZE0 a7`kco `.?EuyOZ-Gk~p kh(L*Vk5f*=0"XYd^>޳A^RvlRTPjvEHVWZKvyIg1PTf}6֌yϕjTRBm>\ӪGreVMs%IYW>0̡1NHO')#Yg}o޸K?61`khץrb :j13ƸHdP/$`dCO!`Q'9fAA=T!mi*Z-łn2Ҡ$U_4^;IkdCciXϝDcGDt։P+kC0G4XaO Eʂ1~=\Sb@yC񳶇ZV@n5Ӓ_/ev?UCWUO|:Lg} xDl +AtMЇN^& |z#^'`w>d /l !9_2V`eF*\(yM ֮K4=-^ˋLz`P::X[ځLX`0 QMIPS5_)%k&me'W-/1(k7L[tV^.pj<6// \ȥhG*s7[#xxLۅ-i)\":O*{MF״(J?2jґ#A1:< g_Gb>ִ6 /!Ci1 ` fB?͝׫9!$S` pv>Ff3aN?sXaQӼԫ؉ӑ&ԠflN&]8]1'Q]oPy:l9 6{PԀCmչ%v.B4τw*=RqMO[pf׊@ LKzr)}HWc"dyzMTزX5[*lh7f{:%GZ)Eڽ:ŗ%ɠz[h۴K$H-Nz.^=l vp= +9F3p|30y6a_J>s]ݭߒ乯;x\?pT'KꍞOw~_c2J-G;*> y.8 8SzUCZ|m쀏) olJ\0SsbBK%ΘlkFU>mXbP?D{ҟ%mCC<h9``.X`\+LlgX~E(i]V_@)AO9SLsII! 0 2Evjwp9cb;̗ lkZ.Uf AxnGGQ3y*XGBLٽTZ[g|M}̠[FN6nI~/pBf?Z3!m~;DJ(j4mGGK[ncM]wzLh孒Ŋc#sՑ r->` ʌ\)f%n`{O%(&g+_hKj@y 2|GvGnBd_$,-|2I6 rRY,̤!xQjD^CD5&@"h\k1aw;aKK3HG gST34u(_Oਘ;Q*\ﻯiT_=n>FHFP'9Zn嫔dT -/H Xݾ}}҂7Hu3Ja[ӏ&M;ָ_#Vϳ7# E+oJxK*͟'9g\Ӧ><C%^kyvȔJ1t j40XBp[A7\̍ -Ju)#{CK.F뇍wY?Ii&qկooЅ (Dt$)ʹMjmPn}PCUNа~w f?RJ(Og}D}:6LL`ï rkj \[֣ԧ%4lt})@Fŗtī{;#f y. GmN{E{9 %t"BRs'm,/-\A$ 5-կ'-/'v\C==4ݝl[ցAa|a2n0~&ebԬ}uϊ^m.WTYK tu0γP= p4;UM-VTA%N ^?MMIX׋&,UU'lEӋ PtJ4BrraŅwpjZ}ڸhD5ڎ[I\pu郏 EkG)3YZ<*֚@nq$0_\qe~:dsKն_YM _:4nTރQ_J_ +GjF [ * Ltד ~yz{ڥ<O@!=jW*8{zgnŮlʮe?0C+zbgl>J4{[[3%U XytyO}0F|xQE׏G\L,J4 .f)j:؁|N;?,Ś Ji \)nUb5#7-JtX(n#]jYs>8΅SB@H(vO3Jhy09aC8MxZa~do7!4'ba)uk(Q&e@i9K& .q.ӥ Az KKTeߞRmW,`ʙ 2 ߝi{g .'$M޼C}mxOz]6.DqP-y{v/bnKh4s@ ,eұ\Zm<^Z{SL:D>C^2cK30#+K34\fu|򓎛>pV1^bfoUYWir/QSZ$Mɝ~_xWX+dRʑv 2jel%Ñ @DDJaӠ 7䁂jLu Wg&nQ6 ߩ BZ|m XsV崇d*`b|O=K "@dʹ[؎-!^v[ҧJZ@ 5'og 1|4qR_&vtPfgBsK{zN`m?m28\FiF ;$Ջ;"?ȣ\+f`i0\ʢ1HAfr>A~.!Qm%s;kr{`$m3bNi/䬳mBo#`XX$d!C[.x;gqhݤƀ< !" G$x•UZ%rY Y6# *-8kźnҿ L3k bEȲ{d^"dΟesU AԽ-xeEhkΘq^ڧEw-L( r-y4WM8an{iW;%B돎)3Bf -՗t5#swcζnhSedH[JY `%k]j[VpH[P6WI4w>?,OYёH?w>3QA)R&Sv$]wJv U!QT&1٣^ "w<ۓJnW$ N7tC;0_}J4P~j vmj}ˑb&աfHKM|s9>|NUS?C=?}f<9v\?3ݐp}MTw<*|V%[K=p_B8ɧ;~@acC3589yk4N j۾ ɹ!,s{b ?_CgX7m+;x=0_S]2]oK{Dc[v-4x 4UDfBs-r9( 8-Y[ѽ2‰-\*aT2FH0ւwSxE)ॆ-3z֡J'6'16˚f+PcQrЫ]=[@W\ӕsPZGʼv[頇sn[m\S@߉WVyTU-9F'u6/Bc;<-P74,Y+oPS! F^7k7 9SF/qpRIfmYit!_׹}Ʋ`Gqc/QL+(fr#vh|(٢'8Vwk>sj|9(ZMG&|ֻKf:=3"zUq90Hb5=jѲ \OJ'p"?'x=G;tDWh$h?Nwu|$}QЇ8/Ҹп-jMs0U]Z3 kGv18O, ^Ȫ:"_DxdĜTywqkc W?М0:̧pIV(~gSuřϽAuL! @Q N!DRlkl%K΍{;'U|`Cd,xQ$ri(a\t*)FYR0KO}SeM[\f"L1jw9PZ67r*yv' k28n`&6̄5IT tcALfHt7%-Vl 1%b>F,V=dƿ inc]K ‡m5$ 3F:4 eL,p 4lpJMpE.&3ӛN"mGzٟGtl_j:ǠyI=T[á uˉ a X(ARn,H"s5ڳ4cZ1uH 2s2:z䑥$Bs ]T5ޡY-L$^"5 䕧Ӵ[~J)ؓAki+РY$3NbfPq1r 1l27vƮb78Ȇ{ ;UtK"Y/˲JlN*=w#%_nQ;Ѓ[ĭwl2avViɼ> ׍*td2Hp ikI:MrڭHUi`qWF1XG"%FigYC!M@.&ד4N%nؑ rN@YGk!7;<,܉ r;Fybx/ś~~`ɍ+ڠ"v`0QfS$6wm~ƍw=Z FeI4;#@n$BwHξǫ6lu.|g:&T8N"^ ;9O~.9?R hM\qvhGY#45 *l|IJ.N[h^ SuGy{,y2eKڑ?C`5Wa}p$@Pk~%[Q,ҭ$3psAemQ8s,/P렶EooBسN.2ԫ:ZX2T9Pc@Kk=}xz("X F~R0!7JM6W6Nzg6N|c AoX-lP KY^GPg20^d:7-ZJhf#97\Y1HQes Em٦feJ Y@Xӥ:Ź@qYBK/~O\;`Ys̯ #FEZEv@_ը'ԡ- vr`6>@*/r@m)(Lm' /ZälF =շ]z9%+- 0V3 (A1KB^I{)>gp8T"\vkK3t:5W|m˽i32Ȇ$~Zy|r v~$ϟ[&`-AP2)PL2L%at C m:'o4ZNg0:^o@*Oi"KuZ%Fkv.T4@>l4/6YWJeƆ: ǫ=^ ,!3U92"5n(99bYvGV/p5pI_n?>)`HO?ؤ7tfG{~1ƳRLYw)OߏjomK_ٳzR3&Y8=gL=2lV_o|1˱}l:$R=K!޿SR">NEsU`8xq*3 'C+ ?" *ԡ|0IX?1'Z+[ :~DDvf ɮf{_NmWȐq',{qVb] M )wR:BG*+l@Rɷ4YC=9BkW]*JL7kqZH'.xt t3 0[ߢnRm-3dn,Cp,+%G{n+@Qv \]hN ]D5Qu dpFgh"G{ %0مbL%xv*)kDN?:-Eiְ5*?Y6]PĒY?vSM( ]i#Ul~K@|BA\16# SNkPvlIvb^v~5RӴw}5jΊgZjXyh^5dLbBpȵeʲ 7 bNno%Y伮C:ĒIq\YĩgZyK=y@ rkj.uW!הS9ҊSCTFm'fc4Mz(m;mr;ݔ_56015'1B1YKvMfK_F< M@` w@Z(m3\s%v 3*a+\* O  u_DW)>wW-StG+s0zr$!c֬âlT]Xʲ('C`kK1f挢戮UIp UH9VK(sYՉb>M5;tpKs*{tSk:pd3-Y )C8WP{X(n gu3dԖ־OH4s1т  0@WJ _( ,Wv*S0"ME =bf>!IS ..CCH*١T ~ ȍ,6! h.HL#2$*򛍘ZJqq# U$5mĢ5wk9naDƿ[.io[ B a0=TX\\?NDE-_JS@tW>˖{ÈO>!?S `]Q^VyLrQ0JslEWݟ%Fw}By< O- ַiO J]C$qdqèiNIqUa# wdVQ:N_vtE'2tmgh Џ/ץXnD, z=lWӨNrV#@DNQ6vQv+i 1ޡ5Iz2==.Md6ΰm)V%~U)P`Jt26ɲl Oph2E%.K0,C-nRK#I9b2{DQ XYW/DR,C6uѢ}p߇\6\Q G *\nB@K#&xC`\Hև҂w:[mZFOVn Ytb?]9ݐPa"T‹ Kyi%CyX9Vb=m $g$wSI:i(' O 4Lzlly VPr# Q-2glc0N|rb4Q*0N#=Y8BWmro}D77$^jPK.|^ZL;i1 #Szg7K[QXѰ%m]7%;ҟڂ}$--b{M]Hx(L 3faF^_N>˰C#2p~d{(:S`I,̣aq;C^!y ^£Hx; lD'aCn;MKO>J1 G:8m"IÛ!VE=Ǭi&ŋĸn977,%q[Ԋ^Fiw&ᐽήx$슽TQJR.~B>_A6v" W1y붧/ F>QvoZۄ18(:W*37e# 0I ],RTO5]=3@>o ]8f<l1mgԬr}HQ{?yi[=~pU6a05h7Wm#=m63;W-Rc SY:UY<}8חu 2 <+"TKlo\zRJ%~xN39tp  H4 uR'5` GQ.t¬L-0[;=Yxlu\em{*ԊJ 3}}ep~k/  $OX4U.}:BRY59F-Ea@ ={~_Gfl>(aٟiժp$_$tC9(a5v+oZ`$ѕT0F@0G4 j $2oj pJ= ||>yiS`1yh3Cq ٖUo֐K;|^!?yV#YReosTplfLE/%|<HI6$^YiG뛾O ;${eK%Fʪ)A\JWz[ wV&M2ؑA\~VȌ#̵)J.(`aZ\5A< P~pFr$yAbN~jAl(edM9k2YW,-;$ϓ} Z.$`WYYpr;`̸!yx"^,*5Ts m=bm+Իu|$( hЎgzR]4[q% @Uf[P3Y.ɴX]. Y hf6hAUi?lh37VYRt%}+f)`qY=L|O$eU4T$=>s(n;0;i$i,@JUA!7E|[֬km"O4ӍFnE tVMz"q='xdP+:fg,WsFԧ %br&3^9O }łnRХ#ygn~1x'5,oxr_(j[Ӹ{w]<>rףIgoM";}N`!0Gڄ8򈙳Oy$] uWѯXG!EMf%@BG&F]}ޮs YH}Shu<2';)4q2ċ)_z\$f"~WNJ3xN\8k:f5IuL+(悻+S Tm({5&_wtLRn ]yg"ܿ+}pMaxspf}^$B4Q:͊%SZ0Id3R`&iP1 ~쑃>yv$DgZK,[?aNܡbŕ22N՜l3XYLL1]jz?wUj*Lڱoc[30cDw?;Eb|/h^qJc*D$O"1#k3*c(QY@PFֿFtms54 SFH:kB܎ \/}*jJ)Oe)]s# @+$/ w4m fr-/0 -t=r~! .d"XaDddp]A1ؕ඾a;܉?f/_\Re{&}\8ڣmABvlդ}=ťo2vm/ ك4`mdݓ<~ba ^_*Rg/{r^ͨ-O hX 5褱kIs mF^;Ӭ G!^1YY`2IN{gU})*gQ0gN߯^^'Ƣ]{aTΖ6n`gj!}Mx횊qݼ[4O!^.TOMs:<ƚݶZTV`<<ּG6|6B,$)4Ѫs"C!?!K:友AWy5"ev@S*!j~$\:(}pJt8iBMTϹ#@$D XdH]DA{#2nG?L EObF-S2г?(_VRLIPti4w:PdhNo~~q'` lA C] `aD^gTN|GL|JODP.PXQP?ߠa yP`  J!=֮tgr]P%Rm Пt= C٤RXzUOU455^\{ŝMD9lD\xjc?Y۞kQ cO_Vfgŵ$x`)3 "eR[䣌1QfEyn:GoI/7_jBWJA&Lw|3Pk ⃶_z9 b`G1E_ '(`Utz:S˃0ݣ` "! AZ߰Y4i$ii ՄJq*Y+vR]jz]$㏫&{.jghS|r>xdW1ХcqID{u 8hB HXjT0X?-7 8w܋uZ.ov%HS NȎ3 sBh4lC2I"(p1:vpJ$X{_L=fvjb@;& q.?UEtA"<Oj/AgZ8=VC\KڼR;+f il)s`Ps#ʆ YUQ)wL@L[XWX@ilXK}{9 i!7Uo<DBnxH3qrL>lӒڡS q_<܊(\ː'qm H8Hd:u4hoȵ,6@{U鄅R#^GF"E4q}N(yMkJ5 9$Ok;QEdnnzQ Y }#+Iخ)4mAO 򲝢PQ,3`)M xgN@{sOs]Uhx)˚yq@ytQՁbiB:=K,Q$@8ۡ^')j LSVդL5*JasˤÏ/նc#](tP gq۰4.=fk5 tD_/-NjLMQ437z9* G3Q a Fa,٫ee׊,ECTPNQ݌=(ĀY!"·׃iđ*=cwą-rvvtB}[iL~Par6jM{PX|厯uɋOl Z3!v-F='xԭDzʳ6>^B5]P_Fw؉ʿpg;=z-:T) |A1w"Ay` CXo}ҏ5U""0&:Y #M<Ъ=vZvKיE0=Zs¥GYq$]s>xWc>>/K#TgȈtO/`H%HFad{N N(z[T:x ^|0qwPti+MWx_qlBG Ђ9;F%B)Myr:|J$6>eudY:H~I Q|ꄱCO/ubV/i8TUR~ e1Q6>r* __?&}?m8D2SkqR#(Uj9%F~GT"bYn!/+3acK,\K S]$d:IxD:$t;HQN?pH{ }Nӭ rPcn$0ye$Ev)u%)k⡨jz>.+,k&z)}ʼ?V}/Ub i%nVqd]ƐlmzIv82MԺ=3Q3/}DmvDnuA ^Z o/#^E"v& orEr2Zk Ne(,MHwhG{ r|,}\() yP]r rjĥ# 0ʕ)S=: X||fyn.ղDHA:(~yWħ,Qyb(9w$0d iT{`b懲~~N*`S7cuE%^Iu ځs$ rS& \ՂҚ/bgv3%?tr9O lS#I- Px2@Vnn2)|NlF ̂:LL׭Wk7K ~,e]kX($dʔ$筃mKWGjxнNUf_'‘ 5sX~`AZ:fJhdRh'2k<6$-–E9M@H]Hiqlm$3Ŭ"cP;YɷxU/E#; g`kVE|ÉZԕPǹv%R -D3QG3;69Sj;!I !QF.;E9 H Şo`Q=s !\97qdE{~.}na;;MG*BnY!IJK}^Bߏ!C#17Ct5gmW7]"pxw ŹU_mfwK;j牎JC< uA;9AO\a| %]{Dc*ƝZi:\H.'hʍYZ|~bkY!2uO ަwӱ|{8ZĈV!nfrBˇ{߄ۇ0CY:'K޸k&e#YzTvfHԔtG$((<GFX &{xir>W NXr_KZ"wv=djmh3@G6+ג )x4PE' W 38@|B c& /_F~C3ae!$ʾ2Bv'-W~(\6tb36%VmM`ji'`߰9DLVI)bdXm\WNފx{w~[^кw:# \3?3Fm3>#'tC}/~66emƲl]M!α]L-὾_xүw$MdTupkso`լ,% 속XČ^r/WKHkӞ^/i׆+B3X ,R?,bqZ>իzň2oKDƒ رEUqG%.+gM'D޿&,'s{_?DZBt|}{++"Л7 mnam ;Ο5dr{),&`YsQhR'ߏ|h&%?ǃM&bH1eay6yo`17e$s{ if6^ly4@$uA6@iHc΀o?VNf[B =jY 5T40!*}NLh_Ͷ6zst,>+xiR~g'0@eh6HIӾm&Z0<3y Hk;uO ڱ^ `4]wd!$xMncLYV;g ?=ep Im*ڈcR5L>Y&VBbyPq-w;_KS,A)ƢRJA,@ٽe:C`NZ (C8:Nugk\=n#$%_og\lW/zynPY~.%:4'l"o>"['{&Dg`XmXE^N%- Ys!Qro-> UKܑDstMF"?O uqWձHn%Hz< $isJ0U7H=K-=S3{%7 -7VEbC H?Ojo< k"?y]E3ھn*QetPޙ,7R=f<]~hM< ͶEH^ˢ+j^扢Tecۦ3c j 'a. =ƹ^=DsoG(-10V듁ڂ[tu2q`}m 0bR}ȉܐQ M脎ީrc}!y''O-3,)RvNMZD%S6W8(Aw9:1d*dy o3ݑ?`aք.vgSA#OU,W1¶y2|~3)H*'HUǏ^I?bz\j\7bQد2GaDޟnKe0;iNy[˗M}7}Z%3̡ǝv}V&YmGA-Ru5My3U*E[kQ¸EhO eზG"}]eɻg)c9p3ô5{ 덉x֓rGRZNw<=IZ08;*Fe ɷ-J.eeTw%CU:@4w^F7{ fG %D23zN;6J+z}U Pc635<$6DiwN+.۟*imf$tox@WX^.@5!ϻSˮF۠PW@R]]^Dn^1ue02|&: 6^;.yK1?l0= yt(j7+鳘Lu?ZPI# 9hӶۥܽiQ' yӐ'rss}sz'`L/GIBv5+$X)knftQ58q/A)ʪ UjY~I&E{Cnp=Vj[i0>4%&8P\_X4 ^0џr6M[<6j7^T|ICuůjx].\1owl,w(l`X |2r^BlHi}Y=/7S;`6hc -~=]&Q5TRmtF3GV D[>tCU|Qdˠ)Cŕ\!UY|_=Ea:j~sATM-_<Ydc3_@Rz#&`VJGt`auњ+`KOgLRAB// .tԔf卛<Q\C1hi3#SߢLe9Y t!>4!Xjw4HO÷n nj 7p2~˙y\K! ] <#gjp|qv{QbNYQ:',188Mu1) i^ uqL%NJS)f@ƌ05>g$ њ.*"+2)U&5jR'ahAW? o)F"ٴ4V T~MJj V-g/nf v-y3]ѳY]cڴ=fӍ?RLr)ϴj)Ln<}=OMQ;~&(f&@nENgCR3S/,Iy<"< >fp@\N3% Q݊ڨf"ݙs»+/y:`߮h+v-p/^ ):R ,Bfb6`7Җg51lcD,0AØ7Fr5!e0Ӈɣ/I3h)iΝӔ ,t8/n~>I2ffZnO@ <¨uӓM=EټJW79(H7~C^y d8 ׋Ѣاț'e`y%RíZXq5>1?<-Ȃ=B50m4izW_ǣP. ]i=~@l!(,B}뺖E=9cy>h R_#u*kGZ!TgLD.(Ns{/J_3Z/\ϦZYIszOYsPoppܖ! ;X3Ӵ"K@p;| uo7Ǧ(yqv8X5'?2q֝9v.`j7ҋrx8冪8>.c^; A*k6RdehiRPr6ݘa)N(/;NvQ Z_ӧiYPDgns!zF (k˕@)^Zi:(i cڈ%<\drJZEۢmAݹ4N.])Z5K>$RJP|r>83C\?Q2äqQ=r]=}MLi`>ʐD\h&Hq^ U'V4 XR|4VH2f1!V]{â8C -yK$>drBQ?\2HH4#ߊ$&ф菪%Diqkyߊ/[7[Ay٠b]=xwx},UyQLɩr76ʼBLUQ^CI袖Y1 zZ*F w߈t,69q`L2a/`nԿO. @<^MOW"p  }+'yn9dS|Ɔ"q$E񾛹7nU2P$4gB)V7,P'~ULyM>!:J 4ڐHYO!8TL:vnI[FCqmoZc]. 4mWK '1.y|b+jMcqWS[jBC6[.gd͸d(MycD5 ':yq8=A#x\BdU |S蹖=2a l yd9V.MO@jjED3h7וQ ;6s9}Qu-`gYAeذWϔ__XGަX4!q2q$(}č^lKd JvYT CPcdS:u-A_l!QFN.a dõ% I\br?UR<ge."3B0H=o<WobϘ%?UzMEn~6_t'+0R^/*56v)طkaΰ$hXh2<fA 8r(.( Am4-N~;i {H%O`g!wU~?BZxJ`ÄKe -DnwF繻(}pt‚f6ꮶrYJ eЙ^-Lp*b'y-SCEhh ΦL>j$&6| N,!U_ w^,hh_M="$SR$\ z &uˏ{HqsV2 9!R!E91&MXd0Ǐ Q5j!坌w nO,H1l[8Mn{F>o>׷ *OfBW,0c.o~E 0tov|3EdoQ*ġE!Eh6,قԻa+z2NCD$I}h䕅tF/oB0!2oXn!5\U|D*p&C,Sar<.v6ژ'h'y]4?5N%u'oRfUɒPpͅ94U#=yђ?qqU~Hw[x̜1^_khF[\`>4ba-"(9YF,ԃ"0x飙^3[(h; YGZQ}}Dxx*[F"Yd2ae;$~p5ݸ2DET|kf`Q* pdt]IG~, li9Hyi:yˆ:M->Ĥ'^uyhk˵#rdW3XO9#\v;MCEcglg>ҐBS\O3\x r433y/K:Ceo}9l(-nӑWfYGgx \HsC.FA#5BkeC%Ƞ@W5(EOW[nWW{mj=EI= _*X)suP68ԺVfG[6|Cw@]qEcW_QF_\/4*b/k~Ro8tx>LoC93/]Z'QpDL|+*Cr6D"q}MBMMW>UH R.~ N68Y#bRw=LEM|]#xV!v _ةZkC^º%ZQR088 ڃ{@C닒H%Myo6޶ [or&?"T^oZW^ B̊+VY/\]sU:"_4ȑ u:!+<0a{IQR!GjզabZ8z T bW^VEz3|.f"I}Li;^nros&[|W5cja0*:WuF8 Dl|&;“DwTHS8v-D?N!pzDU+({+K2 mkA#W.UC'iݹt^x隐AVoNL9 >G Nj5MnMVlDg>t MyJ/MwT|o~1 -DS QdxZéW&.W[MaԒu5FLrߒ&oU!)Y/`O !GvnS/y㟢ypmgr8n}Ʃ"3AG I{ NPtU3]ʼ$HfV,N3VZ}N_61Dr c;Υx4inxkGL>c@tq񜘏8WYSQP?OTck .V)j UxB@5ѯr? ([$Q u\aX RJa;OPjU׆(f7*Tky'A mH7\?F6k(] 6RLcw0#27, \ӉT/is玼|?>1[@b}~Y d"[^&`Gq&yyCYQlL13*%s/7(1me!igFK_ AWWtO"6T罩~l܏8te LތmTwvg-]~eҼ,3HW1D,PJA8K1VSI$"4<-sZ9 ̀X2z􂢎,#zZ%̟>Wh:)J)P#Wx|Wu&-Y3f̍ۢ^9ʱqYN[xF.jiQ 2 X`'NWu:ڷInk[qO Eձ U^<#ͳ 7ɂyԣO7}|p.V盠v1 ݸ)cAPeKLG1PA€v7 eXAJkrJgK:  ˪lwz0yw"njBu5pTMw}5yMk]t2chc. #CEbQ?_vLi" 2ayO H!\ H=^q㲼T+rIA $t-Ac/VZ |f`Wdj*!^7ME8AHZaz_)B7]Ee_ i)ώifu88rP"̛GUԙe"S +4['>o\ H&!=݋)IĒ;".ZXpL4RQ\ ѷ튁?km֖ A#?>~TK{ZDʯ"Ιɶ JiRm?bL7HIL:bl/S[b[  dݰnvYӇA쁉ÏJrtf_yG /\h4d$5v-jN|%-Yl}H I<.bfbKTE^'4Keq6i՜lIٝh*^L&3sru*"2b|8<{#( ~=F~T¿Q%3UCۍu~~F8!>PҼXۆ(#)^{HEUwM-(IDC<1ΌDi[.RGPDܸ>0px1(+lP}^F*Svx1U"GvYOqI xK)z- &4wqFMZs[L{޿f$,A'2`L"Y蓎Wfey숶~k[`^6|Ͱ?p/,uA29u*NXg៰aF,'$ gՕ̌$V ~V<TġغhxW8Np!7#ۜǜJ9E*R)M"x%^s Yk5"ג2HS)iR!CW7|E;KTS@2oM =IV aM}ԞXw?Y*RLD,v x3(rnq}^*;0vs-oiG.ΔSJ p#_ɡvs4'>SBME\u{/hq氝'[CkҘc7s/.mY.^(Nޕֻ٧RGw&Gct -2@eXS^Bǂ#5JmsQ >^ }4ZWm;> u L)z2_Y?LS8Pۓ"m5dܽAڊ\~-lzᎭʭW+1Jj8JW9O}})vRy_ek\C6^P!p80v: e'$"T~/uv2*R0%}-8'd='n^;P 8a!n,%t ̶wJo#I~^ ˡ`L.eAOD@nx/ɥ~rp =)&$勺՗*\@M a}.VWӖnv:d>0Lencx_bo;pfe<ͻyd».nUW<ͳxXI nN*ѲnQW k%Xr%l.nͅ2Y$3oU-6ÊpH/FZbRM:^Tq~q*W{yOJ1 9 4\~TB3@">|j_7e HiA8gc`hWL<phH8fCT!>!E\Պ+6j፬[H}ʸ("$_vB76!ug-kaH&[/Tp@]3B|rU{r8&}˄[ e#$2\8 اu,rB2FåS\&iNoݾaZgZ@i6:x`oہOkh?\~lAx%OBf{~u ,mH*hߒsS'hw5{_CjV_f懵OGg'WWzwb={]63E Al@K |[LWY:v4Zӽ~5=9'#fBUo8^(gmF] ߄^nX.DHC$:,զ*2SDa?Seͤ OLB@.[v7 @?a>U} [cG&ZW2.,$\i5Ϡ.o\HISz~C|>^On9ӫRP  Dy! &"D4wJ7׷kBAO `E EH[5eqS DX^1$[VRq۸tB0Fњs5dKnm7f"vҼz^4|rA䎇ۘ&W.viWf07=0L´2SY(3M {uof9I:Q{=Wq}n?%ܽשhF"<3&ˣP&K_.1VA1wsT*/;,ʄL$UkK+j_)}T uaV ^wj:a oȭqY\]EG>tQׇG*?ScLf7Hz D u\I(Z[LQNxmXEYy㰚h+dm@(-)4|-H c&jc/ _%0$lcDn *˅SXLeqaU\+GfD6bHE2Aiau|{TEogZZäd8䬃wPTT"&Sn&kYhdPFAos1_T%,>E_1Nɩ[+qqL4yxB*d:(Qp ߈$f{Ǽ&vPG:18$Xs>8L,RYdU{|U'}uϱ<_I*# gӑ&&nzՁec^-U:`TS=z '8r ֟/CiyK[!r*7Й$gZtd] $j WI8N v\3ZY&u9)&? #c#!lO<ԅ?s4$K&8p9[|fb%u\Cդp9L0j>{Sty0'zҟtXQfrt76!NK?hD<t7̣J\#Ls\!t)wׂ;LC2܃titFC1=9;I]b`¸}_)f.i4e9GEaFm߸) ) #j;^mލR^SU2w2{wfA=Գ= =E .$@]Su=jo{ Kg\a?13[Q|Ra [ڽPH`y 'C*%ZIVTrPvHdW<*l9>dxyT:7.3D j&[׶*M=`Q BَxBjUA au֮ [Z{IO,"=v54gֽEDlMxL pJmӖ^ D!UE@eaFt$3hazB[,HJ1 hłYW5e}ݜ6?\R4(q*T(I`Fq4SB %{V~$@PO-C!4oQ(bIg)x?g |fd(dd{詤$ ͸$z*y>I_ Rzh\8 #[uC+0iUy~&۔˧FVZi_xJ>Z`}i'.P ն j]Ϊ7Zb}Sc'R%41g:>-d]L: }9 >'~2+}2K'cBS<8 &(u"@ta}jx#'1 ޑ&MmNM9fl] O0?`uS:TyxXN~%h-.,fEX 8%~[JX08o [KwF[C 8ٻwff:Gؠ OJ['jmbBd?cs*XTZOSb)HsmA,/*U pgww:xy<RiKM q3ȥ_* ]Ԛd,vyj~4%KT1^tM:)?5%֌N$aǜelMg,#Ek'<\\m97a :pfU}+ R:$;AAӓ+y2q3v#3ϔh혅)lOG`^?(ah[ [ HӜu7b&bX1Yxl0V*ݶĶΌ f BO//&?PP"':Vrv{\"C/i7 #,,FrSN xޔߠG>^4~ u.v6trϯe|~`ǿЀJfńOT]EjݢSO"Zl64x @F2Н.weU;ϣ@&Q/wyZ:vTgW|N,Z7>I$|9Le50W $LNۧR(od[a'Z9V A/rGn,vM@J1o-ҌW]Ke)ƴ>t:_ނ"3:f3R^ҞاCC}=_6/(CO D +Lq&@:G/V֐t*#lSV dӧ5#Pu`_ FvYlq!3Bͭ%L*;y't4 &{Ks0B5j$zdsvBV]v: ~JtUv2ji7- Y7]h溒#~7 kKD7 ',[`g헝(kLaC44V =]/dcʰT2 R 5BSaicnimK>KRmmN }ѹIⱦPoVWX!1vf :SKqN$\ž` ը,(D#cM:4~ƅ$w@SU{AcGƛ\ѩ[yLFOo647Qȣ^O X{8Tzbg]&j odه >hy:딙Z@)ǟ0&s;#|rNIַ+?o2oȓ}"ؚb!= =vd66 V$C0H2Id\6ۂZ.hEL1us4,K\QS\mLۈ?'F\/>B4QZ  ӳ޺ոݻbtaxS^sXaIql 2Wt-}1X5Zmhigx\ْPR޻5@u}FCȺ.CƘcaɦu#z31ڸh.MnDɃCZI>bF,?hF݀ G%va!D+Pm;KqPed tVG)'Yf\m0/qA㢄8r+N*9rWS+Tt38è (Yu Jia'eEvN+&1˛ŗi4G9G܅i'/qA,W#F"Rtt +û+kE(10cqkϟT@gL{ sDxC5M4^5$ue‡TBhȽdu!9s!iϗ6]?R>[O zL֑0Lfm{0L؛[Aqa,^wmX6E3-[tд.ﲕ=,H ŰSwʹy7)ajGz(Dzu{vO :RR c.[2ahARjy.qq=rJ@¾Az]-۟G%\+LA]M<dF!ѥSoԚ[IO/]͍IŪET~ajqMo c6:(w۹,lNaFj00]B[a#H k m%2UL(r?b^SO0^) w1 mAkM9{x_ dOYw =Yq&XZ&%a;GҢ#h{{Ҧn٢N:eUr(/#Tdo{~7@i%J#n(}9N,W"Mbc;+=ҦB"a}֞8No ҤY:#睊Irv%*ܢnonReltF6;Gl5[A FV#B8|R19ESދUn2ҳtjNW:N;]O6X;W#{Vc K%"䲾Y1 v%Ep "O*gT0L#C_NwBڮRS!'}J'QYBs w>:0Hp;i%\ߣT\8?g hxKf&9٪U8{+ c||X>nL;4)^fTVV<*Fbܕ8"%=h;_0!:Zu.JVf'{`-py;8Ns 5igo[kvجv <[wweLu|d>ݚ` \  fϻJWQh~_ 9O5dR"t1X^cfEDuZKqzIGNý_]3g9[ʡq" `:& |{?%'PqPw@]8 xMC{\jyP//$T=o*J܍"7%3& )At#" ]˓1EŇB 9D* nco$iU5{rN#rS̙VyATiժc1C+h MVW5T#&AEO-%<՗4IiyFRh~m9\vRMF-%5qօ2>P(C?wq԰prGA ܝlZ/Z룋B`HWN ;%}/2U-mweF!1.V9ĒHp>z~ey:6CώF]P!U4(HY t`Ź.:Nֽy>+ \Y$[I5 X$)֚8a`f !RNytLɾ$܊^{;~ʖT ҒL#+Oצ17 yn>uy|*W> E~UO{<)IW3Xa ę}\ (4 dB"9hIQ"PH\}pP]1=p8XZU_Y }brDKNu whwRt7,\JzZV*{Da_QZ]DU`KqW. 4k{!l"3J콺7z˿+7*k2 =?J]T ]&6M,Vة$k{>QY`A_~E Yi榫D{Uߨ Dj=e}7Q1S$ t?꣒K5/9% }~8;iJ $ՐoݹPAPWT<tŮrC8C+OśewD2IB 3-$jV,#XC|)ʛ'ݻӍk+Wub;"zȌhk] r/l&(RT*\df2pQ-采BJzݮYGN\rjQ$$迈9Xm(; ReQx[ ֕ƱɈ?0 :B0"(ǫ6vᴺӞ,}\-`(=Di" 15#Yuh)i =X%6v~:R˰P#.zx:in-1_{M'v~a-nPUnMnR;FTh ,jB(p"S\ a,## rmu qnx\3xE#ݛ7_.dZ3V8!nO6jY݅(3wxĹN8H+ 1TgH5FCBŘRTP{#HełOEHk% oWD@䒈Qp6XYa Zz;IU3U(lIeؾ[e/X>>{b#yeH."h桰Qs2LRߗ.齌pqnDn}=qgI;gN\Ui:e7f @4ղ?GG?DIDfdDa2}<6tL-C)L, W5//ƇvH;5B+[[^Ԃ8Οܼt.FxO(fq;{'E yyq$N$~rt~[0m^DuTX]kIu/&\Y"CGFl>e" n(&69!S=c|[էXD43X ZKrqNo;]6WX1^͇ƦQaG- ǑTc%r*rP<*wc~B[V c.>'GbO?9/f!Vȱi2ݮǔ)It#K@Lƀ!3tỼdt E[8"(r1.C&Y1 xm(Χ²ʺ4L ;sZYС]r ۈ@[d."[OQz29tFJۦ4D$[!@/c(d)'1L =p4ə{ `VLd}+ѤQ>/}S*߻(QWۏH@Q²<[3] QKZT h. u?QUoT4Aלr,G:͋2EMJyȄZC39H{ϣ١ﯷz؂yR < '!kOm\ۋteG0H6u帍,Y\d:Ԗ($Gw`,:-E"p V7Vঊ֕Pi`gmkJ Ѷ]K_V߷@g28|%h#"Amoc\3gޯLs[y$TKYWٴР sZքG;T颶JɶelҰ &1-1HUz/6#<yMjxSP gK+@Z2ϡ_?_2DݫDnW. SY!M6H-9lEҊSpW(w/Qe/$cϯv7U" 1v@$P#0P7w=M[S[*܎>rδeSҟkl.T<ՕK˹m_48<^'gzҖG fima@ oUnm5Yygg!2΁Ov }]O{64ٿäXS]l9O_ ?˱a3#Sf\35Y[ҏ7?L9f Ar8*ՒitQ;6vw04Af?1O/^1r+%.uRW΄ wK3VvE+~MsQ<~w E$ִX>jӳG$(> Tj ]OSҡwNM"6|/lR$HJ{#0D~OP*}lbFNUK[â1֢ +-,;Mrc@ᄀQ!aeG DSU[=%JGxs?4*$C*> /.WW%OL. Ęzh.HZxw:0\Y$o:oaפD@{'(X7I'@R+5Z5 <&b+$X%%SGM Y&kKe71O;}ހw2, }DMܢ9]xI2%n s{L)}GJV Tɺ(_QU`L Y!Z!51aUu,6\ǧÑ:'|DE\ft,udfuJr<5Y5ɚuxf_ Kʆ0DǝPmǂR]XesXBoCoUuou}7*cB؎C6^?("!!$Ä= >²5~6G*u̐s RC_s'&GDq;{WP"Di n+b_y%nf. =DwWjBTs\4TMF86<u (#ux_5r /DEKRc+:Ѩ5] 0OYKɽFnMqEٗEy^3B;Γ1sEoPOȃz2d}O} JAlu,XVv牘I |K~}CQ-mҀՋ5.{5wcREUzgɽO&Q0'9ijyVW\vAce&G~Ff1=&}l^OS+BLqr rmtO9%x.ъ1$SoPd]j G&ayxk^v7Lh/G؊ B$Y:5}̽?zTRlLBZ4zIKHk\{e"-ʬj]A߬J;II{+ն/W|d[C,Ԯ4'9wŊe ,_Am-kG#\njqħ(Ljxamx0oi*U[iT lvq¹3P _#%H ,ٳƈ)9 t8_?S+j7OisuHV>[q R)k1vD*}qo-}Ozu!!9$^)~HCGuX\j>fU^_WG2/_"IVQQ4#cf1Ӿ6f^uܶac:?ZSAUb.cS;<_M$TfuΤ1)QU b{~/FbrFBpH%&fg</dtkqWV;\[2G/t S?\t 6D0HNH%/a{|JdȌ(aB]{: B#A|,9 U)m@2 眸ǴYu/w?s=% 4Ʒ`^hț>WRe`BX2C(Y*EjPӋ'tVv.iY?Ԝ)mX5[vp]wkmgŒjpK,+,py :Ep""-CUFKʩUe2ƣƂOMhھBa"8yAkh-EyTA[(@Gqfug.yRyY_vy1VP:SPg{ڮ6BPW(٭ئ38/ݰCDS;Gʥ# 7$٫HttD化aasCFR|(TmpCx]l?& LŗQʺk%S8ݴXɹ &Hb#w=t3V sLIS3J$(nL'o$Mo#'$RFQꢱY^Cz?g$3n& z;A\P ^[@0\InL59WG^mIr"Bxv6%Em10~(M&ৎs$ ͫ_k { 2"6Vz4$#2ҤPS1ҥV5P!8UfRpQ ^{{b9R.pO瑩ϡR>ʹmk\B͂6.<: &CSg# ܪCx^:<'y{SHS a3-LpuqTd}{`;̣T c -d5C>!V$o跆G'Ir MdAoYsmOKxю= B$[U鞐8 ! oIya]ƺjP ¯C(Op&UEHKqrg]۶_Vz:&AS2Oky1}qCZS< aU5(4MQOnji_*dLXjY$e?y^+[Lsƾb%؊ߊcygh>O3v7f .6jߗdAwp+u+Bg +-YNvL"57bӈh}k-5xE0A jbD3 HhW!>9QR[c=J˱.t-dH-ʄT\N#N5L6[m68<J;Hߌ4Vhc=a mo9 u>L#39 WiC[S~MIg]$,;2Fq梡zJ| M5(6>ǏupGq̼/By?؈ݳ4crDO#xFL>(:|~> #s3JY."_Ђ| q3oE,X6aChmMQD2 qU?V5DŽfK LwwD("<Ickk> wJc}{mtS=(dC&z'c;5М.jF5=ѶZPK奻&hVYE% \V bfc&[aB3!D[glщރtmR峲C7RC QP$ qG( "]Ov6Rz)[)WsܙqmyL':A^ک}s]1"JobOw-zQ;_t>} q7ݞޠV*X!fp9Yd?ހПX,'J~z[bt?`cmQRhG %tZg|%7i$4}Svw7s8u39Eh5\aw~4DƉC8NO9Ab!5w16;JaxE*I[龨(XVֳ{2H@U(М|Zm,xaȷv.BhR< {aP)B_s :bIS !Te6O#C"yf]@o[AF8.fP SR$32]͠ЩʭByoZXѭ>[Ihؼ‰>4d78ֿl<*;ZhE8SxW _oR3'tHđɎl3_ I ~HJbҸ4t~efzrtˢ_J$+y Iېvt\0W1kRhSW&t/F%Zͨ-=\}Y `5{sD"0vUew\Э÷(A*M3Gm+,QSHZ6\(y]Z_%=hW.Lhd}d-PEY#5a NZbţK6Hc~"`'Qf|= M³"x K8lkzŶ)Ƣ"3Ol]052igXڋ/AUE -V3 TK@t}$FE$OL?zO l>B˯OӨYt̎`YM"%\6Ghf _J[ekņj6e.jFw+&c5ZP 19ep`4ʹYdzmty TN+9!PIk,!8ֲu Dnux/Y`̴Nyo/t TZA|Hmecr(qշSE#}r>W' $N癜`va6mRZJ-^.>|1]D\cgѕ^,ʏA+yNJHN7\ $K8}^shS %ʺ&ϥR#SdYX \a`6rVЌV|WNxd<#xj%PI%i$+JHDžӾW涛ˀ39\U{HA& Ht*톆y@!3i3rqN\FmW(󟶖e0qf+5,S)B"(As{|qaqxұ^3ʱi%}eB>)j̡njLg2Kd88Tg\U1G +DG' @I)YQ*\ 2JRO!SEMbW l?\/oFɳ dj3..NQ bAu2-_F srzTSmץ5ԓ21DEJ4q|#Q"tKx+#~j9i&xdz i%;z`fn{?$7"mZ_ZkAcR=cG뙉oqQ PÏG1WYC?Sf zX74|ͰN A&ǖϊ6㞺 W)5^hȷK7yu(`Ƀ`\kM_}sd *w Gެ 0v+/x$* ;w6Q%@&sٗC亵0ɑ !V>: T1'rV)"~FV {OTO.{LKi]Y !\$>[m1uE?wZyŦR6TW~xSGۄ_r[ޣ:T1c8.C~I5sB Caz\plE>bB(ڀ\>dX2]574piry]^t2{I 45g.`] {p#Y,m?8{ ^P>#SvhiwѭvZ{Xd4ɡYu:MΆgSKԧ _j8XOx88dB HCx R:=r&n^u$fFv7L--YhJ1{XcٕKAtAez?Ǜtۀr;W"ٝֈ2k ^@dqC+E[ԝ%d TEHNC_~L_ox^/4q*0&a{K A^F"}r(2)HQP'95DWƧ8}ڣz< Z 4/4 \'!߈(`ul9lf$1A(ukّI^SC - u̸Xs&%5_u"ZAUQm!w h'kg,pX*!*Nw*%Q0_YmM!Di8Lt@Ocx R:ߴG('&`W|c?*BT1 Qڔceoo]wnhw5d%źaXMz*~]e@WLD,WAە?=oo- {}!Bi/ʽABtYu>/QD- מ*pH:vN[?=m_j͔No vU2jГ1ۄI'HyTy}XME(ztIɷD߾iM+&$絨tpP[-؜o7H>x3[ԘNaicRo|-^nM0m=a7)Kj#+b{^IKOn)_Bdpv%C`v䫪 >R ڂw,KvkWMu#тA p|D`+HTh'X$r-S3'hg 1KkN+?O/kSj;v8rE9//ERwQm >lOѤ 4۫w .K]_=JQA8ÔIbTBm6tcT7En `m([ΜązB 2K ;|,>\#Ɨ%9$SpvKv'!q 9[,Pi ́E lsԻc=0PMIaίJT='V 0Jkxhy.;$Q|ǘ=w5ei/e3" dԥ=yOOD 8(5bFҖ\͸6 H^>sUfARV/M#K|w#R]@SEYb>30,xm(u0)IUbjqvM9q׋V}@eP+UQN l("dhm«|bM4Ι>kSƷ\Bq=1^w/vS*V ^ mp^bO( EѲy[M]Dd|SQ:[stFLeh=vl:LfnMu5X{fh;mtQ2*}Oyа]KhKo\f?R`ERvq{+%*b ěr5SqD(WPlP$[* i0Xȝlc %qm}IC]xygl5}-@$̕- m=G7;Xl3skb퐢 s:kB #?Çb4\;2ȥGaUhˤ&^JC 8[Yd"Ȩ.#A8M7:U\(^_$d$K8x׸,d'Ӱ祕KoTȮ7FAu-gIZqmW A_^kbd-O*W MSвL(u4V}RW>W@˜A3ض 'Iqa#{S?!l`gJ8f672*JH M@,8C/ s56|dH!f@=oRzjF)|ca@y*OXA qB)E08 dnGH|S'mBu~c3Ix^E΅eY0 R:9>nmd= 3ؓn_mi,>JWIW"81C`=ci㆑G !s Q*}!0q*~9㴜nH^fFz=_"Dl;*&Ih&fW0UA$cgX/d@GM`|E "c\.pΏ7"k=a^1N-"ђ 'Qs~n/p_s5cᶦ|p3+paC+ީYTzC$ՍhUԆڜbcBll/~F!1nVm': ApW554V|e \S(S UgyC^%`1+іפ\ N2@D'mH>,behly[!emo17خ뼨^;6$Wc {|*t7IU#x 0) hBϫ}=, zVnvoJ):B<=q!T}ù14!.L"߁_.G JP p_\x9:.'ePe[g]zQ-tǷG*b!g-ҚM *#TޙT;;EFI^|P΀.9y|DЮf(;mF>1֧/1A]xI1]틶= ;b[PIfΧaYhtM\ Y7iôrpfkm&R95ח ŦZy؇~VX yMr 'ÐO w>7dI13!76} Ő)ݝC;-zUfŢ2+\b˷ ]3딹I|AqI/?wA;VKw'|EPY=N44BďsSJMҤ!hզ l?brYJ k+&iNJ̰Mr^VP⥪{Dxo?osBXsLciv6iyk+ߨ{ńnu$3A#ogx$ ;[ZP9ҭ~GcmۓβB!8!&PIrhVj@\QsG Cڢ1僕|jS"i/WRڵ`MGb[,H},*âol?5'UCfx:X싚_xMa<r|_1Lsn2i8l/`Ʌoͦ '4L?ӋO ȼ7gɍ0 yS Wd Pu/? Cӷ]tC6c 4O P!Y-4pћl஖K0e )6af]3Wh]: =ˍZ;O*cuU*cvp 7V/ iD/W큪dmBͶjvBmTCp…:0Đ[q#Uuqλ'g(~IFpѽYĶQT{h:0Ȯ'>(KK?Zb8a~[nO~9_a,1G _kPޢ`Z ;s9m;认<wqگrp ? jTb4Bcn t}Ȓ StXyQ}{5 QǸ#"ʎۋ7'O>RC &zuHK^xl?>{("Kk;wbGunZSFrj[ xuXal ;N J/Vԗ茶u v-w9>>/:ڈҞ`[pAJBAI 6pL)~|?:@mX7L(("H; K6:QQbUjb 1'uY,5y$ .Cƍϵ$`j$iZZ% ρL Jj kƳ&ZNG١رN3_jzґßQQ@*Fd?\5&DhjzO)F1\t:SV$e+egEd҄̊(ϥ\k51hSV2Ƌ kF΄R8R\r~tmz)/J+Ĕ.0 8VTs YC^g8&Uބ>52!lbB2"q\A=1$͔Y1İ[Q(/졃SٞRiVx #du :U!ZU+ptݏah>(ZE|!2cO7" TԞ:Q$i|b]܌2 ;Y6l1G;_ WUT2YZC ՙWuSHIфOhxphZp1*.7{yoGô]֏J7cwRoM$~tqIcP1xxO9vwmnxG(ҌϘ!NhW^ƚ7YuA8t4,F8 ;p :O&ȏr`9NHͬ5ΰ l;鞻;L CU9U&Oϩ2E?XC.mTg?:Ő㍌YԱ۴>OAr- _M?T gE zXVDȸȲN3cf0[!;O<"[@2:i!;Mɫs_qH yhѮ7iϐ$ySUV||A_=\N{98ޛsJvxW{9`ثw'vb3(;H#a;*<=^n!;"LO=J Q{TkuN'*.x+rڟ{@5ۗ %vbPҢLI2Vo򅏶dkxnZFN=aY{ٞ}v;LNDkJxB:99ǗM[1"H3D %ibyԓ:ЪqZʠ`#= mfYI,5+2&6&!v]M P&F%7.0ht Fu0XBsh1iw`G7m@^9d8Ro7I#v=GveS:y0H@|}1.m ]ql3ߨD5@!o-Ȑ/Rլ.Ze¦TqX OS 3k3dRS둃{gE ŬRd`DrmM@$@ "GҎ=vlijXmuWBxt ]#QG/ U&5T bRuUc5o;_ J^>t bUIц">o@UB?JnCucUݩ2tREdcGCn>om}V6.{tH Muo6X$ʺ9 =mHPS%<|'i׋pg`}Jӓ91(S:95ٻ'M' h+g(VDpèo 'VZL=݋'C_$'\M9l'_Z!IJJ.Ū̶9R+Y>ath:,"cyB"ifGL?qFWZK%ia%fE.8*I`բm Zcݯ^rrѧ+hRbǣqa2)$jԧ.:OȀDNVcyl(j#~ V$ö!WI(HeMFtTVGFFQ?Ϙ x=irSTMڮAIzvK8Tnc!1Ki5@ۻ2 "0*<5땤PJI8YVʚ0.җ}!1fI]ĉ a[z pHafF4G nNi]i jBD XOO[\/HWm5;c]S/.uܯ3Kx0ꌬ LA\XaT6Gp@Zɿ2;~F2U0,X-6mAzѿPiuKp~Zl՛ʡ,j..-2s^EL ӭLWcSfMԢD[p㴀;S] R yHʝ Ouwa,7Mz2?wtTDb>*'K@x;Io -؝AoٍO((sE =Ȩd7uCNM%$B1P񠂿4͡nP~,q1T6,BOTTHbu[~"t)U?|Pքž 9kpڋghgVUT )5դayrR*ݖmU&DoTWL?Q"-kSYv7vN/*dSfe!PN")U)GI;A,BNteaF])^qsW =I}5\> oo}Ǿ7uj XxȚۂ9$e+?icU)K\W/yGuPuK|(95E5FxkhoTWIn|h 5qrJ"CKNu197 /Ttc(+NoeZ$͔)]+Ny)3$Wrܸ@KYlFvxsb؃UI׿O8v,gĵ@P^GnD?J2A%܃KZ#_zib}1T_5Y4k^^ȮO{ddm;ΌHxCBNg~jLoLj44d+'d:| ͘7y2yC#ENrJ/ٱ!Xz QtRPj|j$c_d'|nV N QUZG|Neiϖ~BV=6{=q1R#$ 0coHgü'N\dUt;p/h56 &bNbbT 62 @;:P}Ϛi(zDȂD-ΐ ^ƚIW{C3a-|;06_yJؙFa vB֪SoEw5U(6 &h:lяT̆Ut*tŒwmB8e(j6' (y&4K]ĭ%ufz߀}*0^"ҵsdhTE6#% x4a; ?RJcgzUGQ}d}I1U:dY,U07:#FN"T]IhXϤ<:-"89'x:U?I~f$qaAy0G'>( [p 2&v n֟luλ`Oa cF1H EGw7iS8#Il2!FF? F}n#cs }~IXfEd/?MzuNN ; nrk]9y2hBsx9s?g rL2Df"P.]4pSFV;?7f2Z$W[?4)D%v+7[0";u|Ե}Rb_}Q_q 4| cH>'y vJ 89.jz%MEb 9ڝT4Ѕqon9y뙐pmZn|x?m~H|ƥ_N@WJ.* Z~?!–B}#nF("4 枈~9!Q{LS%X'ff˅iwf)r)پ.὚4W>zni] TePq Bawu0gk>k2@ջv? 2ΕP^J0恋qg]P][ݰo( (҉Nku鑾,a_[xm+&PCL#3M'qr}+} +IÉ)Aza"‡ؕ#Ꙓ-7Q{-F1Byrun8;C}v~S`A ؏ȲeONQ]7⿌R*#HvڞN%{Ri&N:HIV } D-tJ  X" u$/ u'r]G̜t̓P>8)xWW*` Rq\|RzeW$>]ե*?͖ <-]Ɖ9=87v ̽Qčm0דT3+-6l# Y JH)Vw9![ti(G$ _K@tRklqzB1`ٵ.ť?AZ<yݝP!e=tc Qz:o˂M,H:rǦZK+,xA`66h4 gC/qN.w"c ]&iFAkR&;)YH;}_hH-L /}-Ѐ y0璯J}|N(UUl7J<_MȂ5 h*X1.jޑ˿(c/4J* m"lƟD+62o)a.\ WΩ&fkx}q85 =crfI$?nsS=83dO[ z!P5TU{ &0 A/GPgŴY`dm|/(qM1y?r#ށ$D5 Y .hMwE/pk4ϡ^( j?^J|#ݡʗxin@M%j:1zKhNj)(c]]/gJf8ɗ7\,)6E2E,bۿF#C3O yO$Qɪ,bȁWdfG7My.5P{}&t]-p>G|l *4J hqIDF<,D뼞!< VAO5wWэY<݂-Bk6lUDrl-W2܏,;nm`ÄR UA m Ñ9,ac76Į@/ެۙ0/IH|wPg}h4h*9[Vn&`anNo/:c1$VݑԿ%'E7ז/ønL#>:k۲%5tqKU) !lLrV7m5xl./e7 >F>yȴ2@D9ߡiנ'QJkxEJ4<aZVt8\D DLU/ѽb2_qy9\yhoIC$a~4`gcoFgV8V)ʲَtO𰫶`XUJ+ڪ.6 !%#+րsokKvMeW<'!n뵤+6{qQV,`<7EO5ô~z9W2`a*/t*"tCUAw54ޑA˟Ar3H)x$ ѷ.#D Ugu>.Lja]*,ڕ߻༪uvv:"kms{2E|ՇT@Nբs}-G#b+^i:C?̶.:J=Q.UAo l~`mt5=}39 9I%93GT1~2|  Eu`=aJ!p嗤%%(C6`k)P:jWEM.:x Z;VZ]Ưk%ْAL!Z·2NU$ ^ceGP E$3\- YB~MbaJ1 ={At2׫Wd0/Ap]u f؞: ?`| >PC˹\yi8\:1G[I5d;6z=OhE00 PS 4"qC6";D؝Ⱥqp[-UT;$ўlVWMC9$_[krR 4 Q1UF;}eјDqn}k>{rP(0zRzuW]|vP~# 7^PʯK W{yGIKEΉC$cM6- ;VE=l)[f&-pKZ/ْ:P|_=kAvhXuaD2~daI$"5+VQ'v6^]op5pasVgyG>G-ގo'Cc"^fe.RNZ%GSOj=wYZ6ºnU2-j垌@YT &Bb:p,XGؚ]09`7Kh1ބcz9dq==qf ]zO! N,/_d fWFw]s|~hbsBk**2Փz R} H7S [e-]1Ti9snWYy&n)<JV,ͮ^vak,uӿD9ȃۡHTP ukYoj8M;b,bLI3wQFtfHq9VMqvO/ĝS- d9 wafeÇԫb~vɮj"yy; +~VizImτ,1E~*K_0NЊMP!{" I`ry2),Mr2M^gXSq=a(4lg*0M81hdQѧY Lw60XWD ɒ :S`@ǿno2"l D-M偨,}Og'"Ҽ&UURtCJ@iRehGQAuo*&`~es=y)g>F∝Jpٺ\3ƊB *NWkYJ?[G_; 8`DY>(jkࢍy~`Q|hxZ@#ao/3DBϢ$C[uW3U=yS3N~[[nEN{(CgD_e cs($6n05,Ǡu$1BFgZtP%ե͋+ d.GI!Fԣ d;Z U r6?)FSL3]>ֵf]![=qa?WPi/J`Ta)4y 9n8/5Q.;<@M7뾷PA(*RqB'o :d_gn޼`3_6!Q ڸ"Np%Z=S.)#y nSUە>%];߈ ,wmu2.p/;}W&8@`L ;b1̷st|e iZsbEE-0q +E5Vv+0[Owc/.SwT?.f\,W+!vں e7p›?tbڕ T zfݱ 'IoY2ZBόC7E~pb["*<=Ee#VWjŋ9U3Q{ԍկ[ETcg:Y=w)66]*NcwM2R?3V귪vhN[49l2{!5AM2DU&qӉ U>$FΌNpjtEa'c.Tc*vLFB$˘gBv;B"sb[tP_fvͦ=r/5H!J#K۟#{qaQjz9vZ' 8;2N*/FP |-pt7/ηMG2p.qx0N?r 50q3Th~BOLHp[?E!koNr%7.vxA3F޴Axy 87\ibA% 6&|9DU|i+AAa=R*~D Y7 ˥OiMV9;#WQ?0{aj^V0_ɩAwS0,Zw fe\%b1W?ڶK$ %Ҷƣҏ&)a{]6ɕx{)mEX{A_ږ/c8+{0>7[}Mih{ET +dqp8ec}BTmky^uu45a v/A%p\$|B* {RKU\.Ք=by.p]g?sVI"WZBE[ꅵ>.~!8V@, O&g?HiB@jk9G&$ Ι,FXw;DI@ym'Mv_38 k)O$p aܼ4" +lD)jǵ,pfo5S At{ǹ'O{0#\ C ?,@}j:H&70.\G6 D#?Ff^x&$tDFO=H@sҌVuZ+ SY!̐knňZuX#}P 3,!bD/'-?wPt&s:v= ѕIH;MI[gݟH-$.5(-ߏk5KceJMm j6_Eq2Φ:'3/v8%B$o|RǠ3YJj. r  PcqD뉸Y J]NDcZjrwRj# j iX'2wX01T6Vii-tpQ$uF^:-Ӕl8#" !8s]`Ej-&GW+A%>fuކ@E/ᾮZH<ؖd(궱6DOY#փTKkhuӓa͓TEH:/ Нi:p#|1G4is߁[=dCL-뾣XwUsJ6X-jJ~X}i @ Vko@B'g0xFhe{і,v P'w[>ere r-5tϋ̵BÃ֎MHgg\D~oJU(4KgGT%[îtzΡMҸ# 22BOO'uRX:[+I3h@ vĚ?X+޶T@mhO|5K!3%c"0`@a'XP<ӫ{ô[bnlu6@FdCCU{6WtҾr2ZEM_. @-@7WZʰ[! ^]Mh=<:1kbmtif>Ex2fxOB<~M}H,5(}p#HPxQrϕC\w (D#1mDňiC_l53+0ҋYSXR?R?̙'ҌGpb]B/}P}HB)Pr/>GlBq%ޫD2N*:7B 1;-E57MJykqeTdD`p(lXuƱeEᨵ W jw yh0+ȿwF8WIs[Gs)5y\"VufGklǯ_Ҩ/5*?l#PH|ed sğy1h0#j7*M'>e.b.Ne_ _?αMԅĎ/|&WTE,Fpٞա5p/#,1;GJ7x[ .N2ٔZ JnB̌s oF ]S!튊*ܔx<{DB(OJ姊u!h-!Sw[S*V7$ }=qY hX bifDpV)%`kc0 i_՜ؐz?\J́G* XkcBvn9(bBLALt;j{ƽzѧ+_rw!r/sPuuo G[TXA|EO@A;/iUb-2x':^\E՜CNV tp c2D8A&N2rQPY_1nbx8cQ#8)d풚63)N{$4¥~Ja쨙r3`OmkWxY+kpO-gzɸb%}0 :?&qd+,ɥp4 ~DA+E _x^YP\IҙxU\W2cإH| Q)ԲwIpz֋Yj%mBkȢ7;179#M>W(6YHG4ҪG'*sBOO6_Y]`b*ʬcd_ӵ}W=@%=) >>Bj5XZ|w[_qb9D/ǣF;Gx#DUa=ʄ#dܥZcH! X}W7Fxdg c":BيfYU\a>BaҽX 5e3T[YcsCHf 5AC8NE~ը=[nyoߪ5?`  9;񁪵Fc@^vޱ>ήx ^K-Yodq"i&QuqްDO{Q 7 S2S2;ܳ{L! "fnMK$[-n*(kRs4sGYA'\kx AS(dA)tRjaFN AeQvWiy+7\~ᦞ'y Ձ6j١ϷQ1эbdP)"18Pu"#Qܚc:CK#sd҆c/݅qZt)AZ0Do-ibRX1Y"UMT5I d0(g/ \@aO(&$hp. tִړ[svdM2ܠK J"1B)c}"7`*TКZ*%Iǭkv)T@y䦐NT?!7"6$Th>jj6\MseX-S缾@F[[#q<7SJNm4~@­uZEEgދŬT)uY˙HF8k5k@%p ƉmFqlLrGOȕ$=7~9{ L(~0;Vuao?=o9{zIW>3i.4 k7dtѦ)Y'-]ʏk*ћe_RVVq/+aڲ:@=8 TK) hZ#|~ߓXMb*q*ƨȃL3 wМԁ60NxTw;b4rw]ZC7src5gɓH'?dJ=QH5̻Fd0Iq׾;Aegro93p^t_oP]A)`AqHxDyeW[cOR^*_N)R~1939ZEX3>ۈ'^W!/382WTg #W@ _=O YhF32CJ]3T^`0i_m:6ZR{r}V~OPz=Uo\,ܞgTjh}gS]iJ H(W[yrIgF!fbV| bkPcYgJݥ1gPptEq{ 2Wa.67Q|rg\Ph0*Cfr-=/lPպ<3ukDC-tp۷'ܝo2dW.R2ZDPۯ!Mf!oW~ւ_"{ N.P& 7sv|4(*/{Kز[QV 9!9|fP >jDJWI%=I>Qg&|Rx'6fgTa2"ڼjn :U b=:1v0៖0P:O5?AKb$*ri_Zf2i&@ ˘u/uulб,R2Vbm6*_l\`j r:m=/(HE6؍/.; ZkL+ɏSQn73t,W4YckJ2ϰ@acZɬAQW&!W&mQ/pud xHi}sOxQ%MYy@SҼzq7eI80> 8k|eFU?qe`Ӱ8 } &kF([K+;h&͜lX6NT M h?{ QQI*~BzBK@qŵ vHPx10Ív 3nlQVʥqqq|t!-)w_CC$hH hPNMA"ѣOnyPS!J&VdvewD`zEWpb1O8W^㞔ܢ=+B; F&WmNMC-1j\X4I"M!`~8aEcQf@8†{Ɍa:TckAr-3?&oz;(TP♖h4vg9o)8J;uPnqV(1CQ'}ɡi'!ij$kgRK͞mU_Yg(tntG+(Ԫ:X!G9{PN-! 78yo\a 2'^tEY ,$4{Y#7TѷhZXp4T1 gI/+vﲩ͓i a>ݞXbҴ6-k:s1up@WkǁtX\cXHpvATRFqh}_]k]2/.X`vt). cJW'M_f4>mC Ye)X8* RAj.뮥pSS;.‘BE coo5I4@B%!p{!^<\sZ}(32͒juQ]"6F~B6!XuДb F*B4I70$$.,1OK?H16Jd8 @SYZۀɗ~}x|c6֟RU.V<:?/Lt?FW6 ]0Y#D%3c^yZQ qKAG{c3Ђyޛk*BjXp"ןAQʊՏ.Z|qtM.ׯ!LST| xHU%~\Ф\Y)Sgo2K)礉CT.U̼AAz]ƻڶ,2VC-/`lKj.B .s/Z8scڿC-x9aETr_%GK\^{ͨ5Fz5L"o^'VO? i>$6.ԞY3PN&cCӣ:5iqX1?'p\I.ݹoϔsMNK@zI(N<(0YT"+ye+K}w1n7ᓖVc)1Pe!leߩ@t13y]Ċ~7~|jr5~*G[Ol,}??(]ȑRkb( 6%9-9n lJ sH=/!ҏ1GTnZ}4HjyR:Z]g3] Ox!T dZ W `gH( \HK֯πx:0L2uFE /.L T$l)AI]7AHA>dn-ߡ~! QU8e4Ej|p$]*jH%֌5y*Z$'_uUfty2=7!kKP '{l !UZ#J8 B@pYt ǠLƹ,TLxp50إ@]q!~EZYW*;y6L_G8N@P%bimܭA|k[O1niV!&Ȝ#`)ZZ[/.A$77TLЪmɄ*=\tC+|'qBPn߮MW*L_Kmx¤<=&ՐO等7&Hf=/(ݬ:KFlFP~i% /:6[~1TpN5ѿzV{+)(\#KOŦAT"d%|F3/ŎY.Di  foRhNבL=[LqxDYP'U,&}w߻Kn-sR"GpION"x]>ʍ֓!(e0 xº\Yo]ENj_2A4`8E2)4 c&mC'9y,y_AehwdbKw4}E#*@HR1=LL炪RlݍБXݨYRO[~#F$}:pIs]BD˜Y|34y{k>6ϕH#(faյGV6E|nG౏ yilZ]H(x5t$mC8VP;Aas{y-TًZwp2κ*4K % ѥvJ(gA ~ock܏W 'jz]֟d Ax/Jڎ|8v3=84soH[jԊ&C 뒕w@sV.?m>ś2h%k{;]a8ՅG5^x"@3ؗ ό߇jt*H!x C-%L!Eq+ y< ɦu%p2uhXyƽ֥@bl(4J"F:""v䳲4,2١{k7j{[{:h/jZF6# mBTK+ջŘםy0"Q sס̜~TO#WvUJ>Q$h\{*=Qd]vt_lrչ_8ILϠoX@c{%2X}:k){;ݵM_⩷})`-D \IpX!M=ͭ#0nzN+B~8[Bh#I_&G;i@V"C>%^c%i9-cN)_qP9X^{oЃ*^žN.DyQœuje}kK7uACd۞j2舄+Lxҗ8fwNph<#5=oa*KO>_3IA*/߃!pƮp&{_ fwoZ_p ٗ5A,"&ʒ0b 2Csě k0%ґ},\7vr>>(>qK`|t>ؙX ̏7ۨG>`J~%fm(Wm) WZ3kb7ѽt4BCyT`~ū$Y,[<LA{}ْbtm&oT9աwFx}̐ m[n.pe ^U'gY#`]r:h<6u23aIvf[u ,g# @w "n0(5wds'ax rSF9FUpF}y,dGmL ?[]F8 ؛ÿZA臵dr~HXdS%lBw+c k3)=$ɇiT^[Ξj(DB@5_p<16_Db[%-H9 1 GBwᖈȄp7F?eB=;)]aŸt0HDK Nt<,&qg%WgV́53VrFrfd(2^>9F&9󏒺"gqG||n8˻`ƴιz)^kx>ߩg|O#c@HZp6Ba[e  * 8?dh1\kQe/ 'qn[nϐj]fg(xKv|Sǔz%4.vLZǻ[<҃ȹNPD0\Ap)5꜡ -iqkU/{]_ >Ju^lh('7&_v(wqE"hk8%qjTNSQG~YCA 5k-]f&LH+/T+itF*{OB9p)LՏ'ZJ#ߒ?fVS wV_<،grŜF1L-~\k9~`DO gb-v Z>A^ Nlo~ r1D+ԢDt@)c+W=6bG}1RiϪ;mFeĨA8ٍ2@P@R¹II)2[l?*􎰿]݇NV8K> ϲ$ubioPߦǐV-JS }U tsR8 Z\kNN08TK*Yg>#틿ge]aU"-j.GLtziZal,gu2i|;vyanEV~^ jA3斺 jC}Tnq6EΕ ܦgq,? V L57 A6" uU}6p?::'")Ea guD<8^<)}ϠR %H9jrma%DSccEޡ*шw2\7i+[S/Y#Ǐu/$.ZHXاjB jV 1(A\vEi)JtqS],VrޤR-JrU.{ .]V€)VmD>*KexpSþ|c*E,v8BЮF{lf2":uG;۬S L4mU#n 2%WF :ANJ0cGYй{l *Va]}"5gvn/?Q\6$ hg1W8-hܩKL.Bmʉ 'D' TΩ.0-#6|W=dX9ΨT^F^ )$R;Ҫ+.\a?&6LȩrG8q_)܀KjT 2D%#3|G;P?߭ĩ-'Rxa=WG+Y1R_ҶK&,OMj+/QIB"E5~KݟvTIǁ7$ hFGb^r;isDW,HJ{Ɨ PlQCa.bD9.hQ̜pK$GF530;PR|Y^6rQS+7=CEܹq,+@!EO@Sb>?(v cIcGrן+^It(50Հbޟi$4'|#I,I|Wr$|3#{PA+_4%c}wol%/~5w- ߚAǵf`h]𶇶CVJc-g#Kd#sYĔ` 7$RF{ !g_tŪ掭N]&c ;XNYh՛NWPKђ)<1>[mF{ν~(y+d-Dit2T ׶yN;bc18q:exFPYt$X_FkTl'gH(ۋ MZ?_z "Y68Cam8RX/td=kZB̛] 6)Rw*llPp.$ˀ)Sth /e|೧ƞO}'#QJ{kbG!PeпPh[gNOYHÓj=ӡbBNnx(-anW|sd]PpGYG;t?`٥ҝd*'@؏73 &tLx0*+Xǭ+2UxSm7ia^seXLs+ҭoEzEzXJUzu/@mc@󋆯_S_nomG\1vZ#mu"D:/MyA|3{j!nq[2>AujO8PlHُea%4FBڈE[8Yu.MX>+`1ROCwf?7|cLM,z ZԿc@["ë&23y.ٸ T6,Ub 't z31w & G5IKb̎٠bGÿRx~~UT$no5 ghfȾ$&Y+~]}dzK0|{-[S:Hsd7z\3{g1yt`ZIkǐ waomajq.!mT@LЗp~~EBɃ ^w^TD\E5^ ?il}V L ˵}T;"^bGY&P,Ҏ|j̑..:U>/ #yY UcZ_mYW& i <^?/w5OA޻kae.>3dJbEgp-WeZ:OQt}gA3 UUؙD񰑲|:%~Ȅ3XJ7JMܦ) zn0.`ΥHAow͹?y5Yok'ǶړmS2g)Co aNjWeܪ7AY:>h8FǭC,>"-&f6{՛ 43p Azeߔ@h&8w׊JV߾تFmIa@Wys;ӆUXˑJt\Y OHlE\Λ)~lϛj:r:]pﶝ9|B ݷsX(/Y;AܘUeI&Vvv+(>O!oj:( a䢼?^9ؠwf"zl wl`!2yFbJY ou{]ӵX=!ghK_t4a77Kg'\=0a^p0p_yϞcu:R[ S-Ekq.B+莞hPAu^b%M7jx-':VA?3#2 daH8 H-#,fH#1ݥ  }DGK5#4a\韧sڜ :tE`?Uy2XUסM.Jgy}m'G(5~=PڱùwЅAnaQ(Z D'9^3QvRӉSLeaL5Q;Z']jh}ȂkFY8g'ۊ1ildv*:̳ "ʿьe4zc0Rg$US/Zé .F@cNv AYzs5#KP`O\N0W=uE)(섈l *Yzv-[w~6; nBKfFHrcWf\^ =+(^!; L0A8֌*\)>6!A!a: Ĕ!*5RW)v>Ln,|J@~LJ];V|[jb B,8 Q|i??'B\EқS}/(qJhT+m>׹-`֣ ,Ntb'AB (犀5D'5+sno!ƔX4S!0Uc?B63$S2ϊ]kUy.:!NI HDކS61ƾ. FN{yoԩd9 amYr*xVNͫ\ŋ^C3SOhqziP%?Epp!Ǐ`ʍJh'T 猥I4f{c΁rgIO_'[bZ'XsۇP>#B+/״bJތk+:σOe]nPnq&Ɂ/>+8GB☭^4soPvh#I#>*_PnZ.{@)1ϰ؈5:l|CYvxf'Jua>ZC͠'m6(YcV}PB g>u#ftFyJ,}' S1Ģ}I8c@"D-{`'IQt%rL*EFm»4ky@ڴ /P^OF~7|^'mT@*5oWށk#@~9mViܿ |5!0M;d_:]Ptwu^&Kz0=6^7w h#cH]瘿TWq˙`),b!~5\AGҐz/,{E@s4q5$sc砪1fmP*q"Ȣ+A!-٩#d#Ψi0tak) ;##or/ڈݖA(LU%VރXqo@0{؉~L2yaOW!pfHhd2J5 )=KX1 }(7IEoUi;l/Ba_>ڳ=/Hp'^G9Yټ2hD]YLZbK y[;S՚)^֏ ==āׁBzM(\'Nl^'1ߊYC~!(zU޾qHo6>ITkz.nt ů 2 @vjTm=TO< 'l{@ހTI{Q¸>;}o]nNh:ZjP"9`l{KAQ"WMXO;5ikW#K_ ⯾lC`lV爭;?Yp,ů ^-$@C6pj ` ZAuLEN@~bXio 1(eA"wt :3Y <­~R0:)S(+8-ׇ%BX7xP빱;`J U?Q-O}Im3_b,'4NJU(T^]iSI \@9OqIvoh,'d;~Ϡ5x FS&V 7Yjar{XKi>E<ѕ6N ӈ! A"<vi|sgRQ A]JQf8OXM`yqXǿJf`ګ<~o&[~9VΟn{ 5s#ߤN.9^MqI2MG_"Т2+׭15>NرeRGXn11d1T ҩT ! VO˹uyOi5b z[z\x_ͩ/UNs&+y?*x3d;)!|b[EwfQ4(L6%:rge2dPNrm=^=ޚȕ,_h9h:0f6(3CQ藊D[l6sTܒJ6@SISk;,נ"ڨJ #xT۠-h[IOk*Wfj͝YVMhmYƾ=n)Z:Z*s6T{?9RUyJuαRʍ>QY6"LFz=z5*>Nt))J4^ VtD =up@ւ %כw`ɉa8Ad78W vVch<%Tyh8j@;QPmrPw? ~/s< FY9#$F?EHA8ž%p#s ye8+eY!WBԷLo&IP @)"*!PXSIVwAO?#[iآ0Ra F_z0(ڶ:K`i0#0k!u=ua=l/Nrt=kkYZ t|DʼsV:%"'*!9C8f)8Z߬+Pۥz&Q߬"MeRiz :S頣'i~ߥqq>LV_:a(ec͑b9V@#.|&$Q櫐tSgFSn=K.ZXV8jvg,X湚ǂaiB ޓxNdEfT2)Qzbgtj;?xt0]!8̄V'SWFI(afpD ?*? }aϔ+ܣ01kr䮧f!(K"O&=O1Ε{;gzM,G@j.XK`_H^vY ZΧ;a=N*"NV hHrYGfIIJ"ʱ:-T.Ҙ;GM7jd6w7qvlk~}yM~ze/s ʏ(47qLNy*))M&3<}C"TUCeN^ׂşqnsZ=x3ck>Ъy;!ǹ8nC=4yŤ3PdNXqrqhSyoiBHa:4h;T`AEg|mqMBSQtY61^cHCo;0ҾmhtyNE^ѨρouQ@ή@'N2YL5v\ȝ}hcswd8hs~'<׳{/{ pB;L*82*=I7 +[t \?:MPc]$ϔxc+~{ؼጅ?GH?_ :2sJZ%(u,nE۪B/zE4T|"̠T cn|_!@ES`vjaRġT~)v?f#dMct{xn~ŸAQ<ϕ[pSHP?'']F.dҖxA ʮ'}@tH"F, Zn+L!WL'~*V`ea6Y`*@t*d_|89 Hq||ܧ;OaM[ 5 M(c'ڸ*nU wXT=7pBt.xۤ6$\U;%!~.k3!g;=ot&J&b'c9~D+~gPAu*h.ڡP=jZΌٍцLV×/1TD%F~r(^/VW ̲qo|tjiW<\b;-塋\FogM_V*EiKTm!߱v\0zH}šp,PI9nka kFȭ}Q6W2`%6r9ڬX*[ܽ⏫ޡf$Oފz[uId/_12xd/Cܖ"Hp:0>U,l/f>giܑ#&+>{sF_l;x5S,"a7:_gGABږ̧j/~g38ZHAߒg,7Up?'^Ѿvp D+jzPgF"9 ^LEjYp1an-K|+a8%rK~TP#OS*۬I,4F]=bCWYf$dI]+.}6T` I$TBMY?]BxByiŢ &slzDN(" v(֥gS9*ZD MaVwGMM?~n_WPHBR7_w_dm"?+!#p649 om椮]81GsHRd |fP\E 5la=sGRv^|jkXٷm5Pc&uC(fWD(*=Vul}Fe)ƐSǂI{q$'.{P7N-* EmO.+AiSU]jPd>H-b@~xBa2y| ڡVR\6C{h-縭1ב']Ƭgȅ)<k4fPeҙ%m8zx~[ !PPMs1^7.\h$rT5Y.OيhV0ސXdڒb餓/lRȂY70z3 3vxI%J`܍cWaBk9wp>ˢz(5@o?(CߒÄ>{R?yPbY܇7gJGJ$4\g)3un25bI߱2Kbf5qy T+3jOF翇dQIB(D9v̰E͹Hb1GY ~n:R6m"PQd^[Bs6H]_n +~zޑ`.˅ (e"FǢXa 49ְ9 ν"ƛVP+V"uH0,;'$?(0wmw[ũXOL4JXp 뜧d@VG“{g؜/.[; x};?㻅 (s+o+Q.xL k WI#Yb8Lvu)͵WzKB;*tG1gH xv />zc׊2w)C6TV|.3fm+ B+mlljx)Qjg*6|v qO~"s^=3FcCgf{j ?N%ƃC.~nk\NBQHv)*Bn˄@<5T犌s`8l}P E]2.(FBO9bi3FT|l؀T%z hR{ z-'[)շ¢0E@W#^'brapC A6%r\So1I{f)8 N ^ +پZZ==Iﳣn(R˛R24R0~F PW4:*J̲':}MtqR"q4,7 cvhSq Š m֨{2 B'-đ( OL>EQZa. ?6!\'?Ap,XܨChTOKr] i!6<}hH*taTL7,lTGY,ڪ׈PNv7R}`qkuT\#OONcx,D|e?>8lj c 42woѬ~3ib]#%$y()LOrY2q1 ?ڱUkd&%wh!dCMd#J6yl50]/v*Z >ɧwhovv_ &Vs| p^UfcV(|w4R9b,ٔ$UKMxo߄] %  gS#AUiLJ[n$j0]EX1Z?*ș0m㭊`ެ;bċ.2ݺ!ob=;o::*>3Cz, vx|ե-cl lИNμ7yi p )*j4Yi~ZZĔ|&*_ݔkϝKh=jF~rIM*LS=.6fu6?DVv^$3d8|1c7Z\ 2".^fEnk7^ZaG!d>#~"7ii%מڎ4/^X|_m¾*/nG7S{A,#otMO{n^؏ԫ,Mp@4x!}`$Z1n`{$q]0H :$Vxo'Bix}fMڏga)v7:Vs>Ⱥ5b.0i^Gt|4t}f:<~j%M:LN17+~ 0 F <7#2aR8O92 ִ\;xZ,FZo䕖*']3J&yzZQRGrl Χ).@d[yzʩhHn{?= oPm7BҭR mW+JoAwl=] 'c_g|m]v25b䩔ES$#zZ, qI. 5^+rg [lg썜,pAͧM˯siux$y^ ^T9{&ۊy{.ql俎qe[;Ck=&iJSZl'PFRmĹrpK".`zN06gH5hrM3smkĤ dL $O=7 B@}N_A SAg~M^%%&xZIM byͪ\: 6\E+)J8mG]Ih>+\"o&ƪ9(KGGWI,TgC  y !Ta" ?i~[ڄ,/FPG8ܭlׂ ) $ U@UEJŨDfFuKWQ4o%>hp/_֧ K~Vp,YL.<%oQ!X(Z&"`}O;HHxo :s} ʼ1>yTuh}[kضW,_ákF=vR|ɲ-y̲MP7 ډI"2L7PG mgf߿ Ix vMP3g@ތSF Eͷـbꠡ_1voA6aER -3ɳYkGxpv{48[Q<XҖ2BLj*;-܌sB(>] (lCmU$1s,ߺ=ȧ?l9i A1p&eEAwV]?vqRWHMJ"+T,=ZA !2v^_Xjtr=$qӣciDc#|.kƁt̩ uC? s# >t&(Wviuo"-۫SǡW&@1,%)58w!W&E!?iw6C1QP^6o!|@e} ;Ҏ;3ۡƚxj-mB Ϋ -yxMʴBR`s_:b"ЖvOtqj"EABH*gI s s0mfQxKNl@TK,@[(8߬Vo{]{a=rY+$KͲ$)Bpm΀hl.g/G2qr5I-o=RME<@SOn3/zImr?!_ i GOSB~9mrR4 @v<n #)a&#Nc5N`;ӸI.@nFpSdZhޙrYJVᖔAI*h\OZw<~(gAIڟ ($Oto9c.x|îTnҎbK1g\w4.S@Q!+Ϛ58 w4^:S֠`bÍ +& z{K~Lz5 1s=!DoLR Cj[B~s4^V//nӭê#&TϢ Şj__FYIKK%hVfʨ؃K&uyMSx^ѡhX}`P򆟝ԌVg҂ӹ8syq=(>Eq._"! 1*J& 0-m 'Ȋ8.ŊVX&4~iJ'+{tGt]|ŒKHW1P|8̂ )my4DK"?b@**P"X;6LsL.>Z+5YzK͘D("b8.jbʟ i'{BV>f>c SWAa1̅4>Z!Mc¡D#8ZӦFUoP0 %cW{e~j?XQ߇Gtz^wr?R׀3iQ"Wو݄ 40ΑЎwuʭD2c!Oq=Aտ~]M?-yxZvyudvDVe"[FJ9h20_"BglIi`Z۾mL[Pq: iLUS,ߘ4 B<1L'~O"%$Z-ӣӞ91M K4S%G5[JlLNkJpqrcP]z=7tsUBlO!ĨcV3*inO μ2+FQHEwnb0uN% URI2;>  G`pv*5|4kKʎշ, n) da]y.+s=i^8 ,BVej4qIav;6DAn6s?5PMGF);(Vp Bcx%[\ wz cdzU+o;rIPp"1H >9'm3i{,nMZ5dq:#Ku7B:6}mJa׎xLJM52V]֒_,wlyB~-_bf=@2?댿.F! x>jbz+tt1ep׶ʧe 겸IA%0hNޫ -Q(0xNMug j6%JfSӀV8rlywCˏƮͣtcY;0VS+#4jD#dL DC65mԵ6'D b]{ S^0R]@IJ!P"m*W選 P_unqcI [\W-E:x h$ĉtHT+iWcc}B忡i^;WctpN!r_G{"m5k-Jjy(oM܀bN+P_RɃY+.n 2@>,Cob/H=!)-F wƒѠx'&4,zBS+ ˫v+6PPcJӃ~Y90%eEx%=Z'I}qݭ7-k\A*!(>6I4-), f9͙,Ķ4es/ @eRֲvPbq(6TwSNf[:ݝ8{;˾%Br&SD?I`K75ɤAEpj&3őzpxRUQ r5c͖~G *^=4Tp7LM"y/Z@ʶNQ4$zwW.kgG5|C LM6ŗ=8jMҘFGa\he>75NbNC /B@_™# o™8Io׆xu䳃R(W^{r3~Zs㴉_ys:x}95n\/gԦsȴkD?26E¢94~)ͽ:} &};9- OkM/jlL'5 !'H*0G/[ 9w1)'I+ Kj_8| NjRN5EfR5i=kl-~/uk:6KE2Ӑ . HjW] "O$7U~<,W(iHfY }w09)6^[uý+$ Ӱiai~jMMibR`9|WFl0Quh?z҆fnzACȴ30A\Iv Y2fLƹ_%.+UuxH7cڡuVqE)ykn1{K齵 6\*uwL_% ,hRT 7FvEh+{Ot@$!HE0٩_R[Z{'/搢᭰93""#x['UD-܂^g|J_t 5V>w n]+7Ȣ>l=/@g5f~5@jmIȀb Aw0DZIR U8 YDE^=P~܎[C!]q0ʘ`tZ `'=˂_uV89jl$?541Ld!-f'ԼǵuXlKmj*Pg[be<=jh2:{# ;A'+4u~}cK-g)twػ"K-LdR=4P tUI֊ee.C,b_ʨ~^F}rAYYh@'WpttjcS^>|&oǦմGd%zv1m=bIQ*U;=UDlҳfRFt:hayF dv6W^vU,_ l#OT ݑ&I@8=&[F0Rbd<*k}GǨǃjW7OCH5e$66 cm\5KVQrx9ٳ#pSs# DJ͢ q.II@B6#XΟoQAl?0s Y"6Ti0X64}oneFsͭW-dA7&BY~ Ŝ"zbW-N/ VW+m巇R0t{{|:O}Ppm.+lY*R؝w)ޮ>$/h7{Qe`SB<@G>.q!B))T]F%a>˓Y:;'H⇲mUo>2sp lsn &&Ǒ]?a3JhA4F".oyz!!UȤ( pgԟ4r1?[MMgIZJ mf.sۉ@m}G}9 r#1QXߠx953%Ƃu;<;(3tؾwۤdPlYSa' Z4=E+It|L4}$-!u9S0I ۜz,Nx"_5颰R@Q㝶ׇxN'1s '*0 #nCKA#[傊6FJKE!e1k(XQ> [3%9(-yeBuW~߶PzJ[fgɯU.<P/{ZYn{7-f0b1,8ɔjahHuǩ-כ"$R 5?` xMEZvQ=n%&EG[ p|]/AF!2miHQ#V F(xm/$nmc:dG娌k\ۂ֚j/4DX;!MlJ]T@rV:gX)ί 3kKSEY˥' D _oa8?m58Thp  S~{Kz"q0YFnn(n`چcGw.\jt ;y 9^R=m?v.[rqFD)y7!Ò#\Wy^ȿ'^(Zq3<- >QZ@,ʱn)eA8*KdVd VB16xOb$Pl$]ҵވ3-U\%-ܼ >9Ȃ}leo?'Q?>RYnP! E @G2;s.uR&SH~؉a)WO~VkUeHD1v; ;)Bn"u;ֿ@xn7GM/xy%V{y% |l#tOө7Zi3GG:Ÿx.,sf,QUrP7(Pg ' EsчjvA4zlx >$Jui tQoS6-F"dp&hZWvt}WLtSksDΦġ,\HE$>`}+e3*-p o/{# t֖#1O-(kWJ׼&lm3ZH> S*ڸM{\,ÄRYi_cp= 92^bƘ+"F{2^5M,Y{~N[Kق6QK|bp_EH[u{:)?/։:"-k20j끠7f1q _]0էN̐>΢#m8x0vU 3,ɉ@l\Lc>(W3 q@ ox> 8hv4BhpV`Օgߙ* 0|SE?G@d4|b~S)8~[c(U{hl`/ hiUUT4UX˪b<{% 4JwM&i$ ]j^USEpcbFl^op)~0f`P͡Gjg&:藛8<1ǯ!eFWC2gƶ[^g#TծLLij 'qXҜQ]ouyq7?Fl.]%jiՑ}-ө\ri\x%,ˑ]r|c1[`wZ˯8]zd/]Eư]ʡa`6(հ8sX t؋.2Q\^$KbQvfi5~-QB Y?(wb;#66Y2ko:4رBR$P*ʽTQW?=B{tXt\c]ON,zykI:0=;Oyto]DҞ.#&LG4f==q{`75ԃIh䝟=mRB" /2WJ}{, hij@-ƒ>|T5ø'nS_7_ˤ{mAy3=$ijN1)o݁̓5S!eI.,iG!&bጣYۇfU%LbSR`O+pj<47| ȥF M͎j NiI]&Xap:*诇,An[άg Bܦh0vx|Ȥ+LrP07Y2j?yj|7vC TѰ+P|uVJV:`=aǃ'x<L{W|cE9Qx6lBOP(s >(B:V:߯=R.ZaW j/D+u?yv3g2o= kIPeF#hyNs~b?Pm#2YZVcL;4TTX;,d=cM:]ѱx:͟lӵynd|E3L8eڷY/$n=ꩪD9Ļ?Kc1E*͏wR 5Б=WE/esRP%r%V{XYzyLf(x AGGb9*'}5ܔv%9lʵ 9m1dv,bt:@Vk]*Rnw%ya8t:JaK"J*pG9( R!9!& ôl=vը:${.;Y6eN>~3rFAm%wrrv4fFʞ gxpƣpgZp5se ;`|b޳#i9m]43?XFƑ,EV)@#"tZmqr})|3ᡌ[uxl6oxYI=Tx3pu=(t@],df nw~Hweg,׌28O4˦ IDv"k=px>`h y#$]73nQ]gmC~haK-O$͆{8|bֶ)s[bd%ӜRFteaM43!$)㍕3仓\{X߽ K3Gk?* xYi5u-^{se\vXfAV->d9I$ܫBʷK,NEBAgxϚ3H[ jw5DDi&-yA;0c}pfω]`7RkHrPD.V)"ӸJ͍,\> 1x6k.})һ/Pz$1ON&G1 , #6ɚjV&bi[aE [$1/kZ Jè,Ղ9ګ)9KҰ¹VhJ^2'tں"'G21 qT'#Ѫb-{j}C3#v'yp5$^y~Xc}ovׂLq/:a _BmQ)ԅ=؝(%{{=P-`%~{jPOTse+,!iS 3vfn91tt&"%$˿׸H7>1{,5tވ:fW .3)HdՄgs t)j1n:ȟb۳)/t/*.@hDRH BP\^WAߓQB 'Q\!&G  E*e֪GCpm$Dâ"/ ~ ab/r5;~uOo܊#]&h|󓌅Տ(ЛG6#H_YJ]@dFy̢rdk1 0} ٟ nS,WFarE% hWpkbyCFI)gs;Fv _LyX+]FY@u2Lbc. +bVӍs8'z UvӤdk: LYQPcz5/ߎJ(`O3R Ejbۂ ŹD*ZKcmg[xx" 5CNlh2o#S_7 T9|{jR{>LD\@1~1~ft}kICO޻I{bYFM|?='\Xj%3˔@aks]oxo)XpJQ.jt}m=KrȂwƱ3qNDB xѷz"f~Iec9zu LB s4Ai~$bQ$dh/W~Xo  Lb| 9 Χ%AVG !qW}@ FBO;B|9$\8Ɇt{ $-#Nź/!.?V :=z*d#Y?Wލ.GxQ_` Qd #etPykvթ3],)ʴ@2fDm14@y뢴+'LUj CkްJ#ks)`).x12L=.?f=QZmV0w|z8dlt;Ci~B9a[AMNĒwq~w_?@[ ( | > G@1ʂzHEMRӼ; Y{X?_ޖ4xr~%ư9_y5őp)gV5,(5|Ӓ9{]!h__9"Yڅ 8Z"XΎpb0XS[ݪo-D|%?UZ0\Bj%۩?X'FfaJ_ǍiN=GG0_i~֦ta"BV z5g*nhvJCg%bb #!sNa\2 12%978)oǓl@^[i[#AXN2ɒ]OM}-,41x&Gڒ3#c7zu{7`0pyMA!#m*siDY;Dzn!y?ےw9n3*b.u,78_!,zsQ+!D(V\Gg/=[<*&^ifTӵcB/ψFN 4-[~xx0ZftP%>P {z ˝g&({. V?6p쾺 jgW/b |Ϲ;h[((Y*zrSCKŀ vCF;ri~qBz1 MӀQcv5Y]$N|E v aP5WD;RUQTZ/ =_4;Zau i0'MT\sbp^S2t }mF[Ŗ?-Ŧ֋<z}H,7x,gT}_rr? QaJA%~S&JP^eѧEk@j7a'4?t SG+Dwq/z^#qu+ .OC_ Od Va۽-)<J9"7^ zqו?{fDkt `L%wd\P"HH'F E- Sq )R:Q^wˬJ:"IjDd9=3ʧ]"-aq=ƝQU1 +e!n kՀVXS/KgMFLa8ݰt+G+>Zzݪ&ofaA!zmxVk)Pkg<(ܘտzZȶ9&~$ cyZmh)hx&w5e#x <_}o+f=pE^y],rE,V*jv-5`N(U1~uϖ4~gs@SF¸AԛQʹD/@)Mdвͣ%J0 b! s+V>Um Rm?L,-izՐ`3ul8qHtAqkIr|Uք~չEɷFfB=-gj~7LM< ;?>7kK!ك9ւk#eG2J\_*w#,+ 14ZM2L!hUiŖbIf-O!X2(Xӷ&g>.y\֬IgvY5Yຑh6|*O1cٻmɑb[֭#n\Lm u磨rf^2͇Hh8WTA3B~?&-+Е`^)_o[Ҁd>\#&6Ƙ ]m& yRuװw /,i#'\>4qn';}RvW WXc\αIb+k\xK,vIo;C\CA}uۘңՠ3.e80X;#-1]u"`,,$cc`u2fqł`j@|! N=WcwA\z Ӯa;չY]A 1aXZuꣴw.(eTU c__S!2d 4AM-='󤂿CT.nnѧ}zΦ2AqQJ}m Bao9ؙ>}D˼; Zn5m.YN0K׺{e],dR,l#._$gѹ\JK +RH6c5:h/DNqAMxN]LxyJ%Üoɵ"L/~[Mcwp- qЅvPϞ?&Y{/iQ(! nYusnɮ+yFu.ƓZ(8!:EFl"̉甉*y*F20dif M\sX̡P4ב @D`Cfk˔/mKyD;>Q{湱:wo)PcɄo\i@ͣAn%L~#ˡK`p6J֣1vS8 ls:w|-"#6bK6(=\DȌ1l˖A0+ 8sʯ!A,6R-7|ѹhȸjW&tlVb| zxgv"kԴ{ajuۧaeI4c%y<;v ZpYr O*RL/5fGK}[_5Ggwxe[8AckW ʪs z× =S$vD EG--CR$ᷣ6C c?kqlyD6E &5͆e'>zhe!y3upO UH7Nik Hn`{$ǰh 'R$lKUEWy#N2 0hiոu3ט}Z0H+CO&0nff=7 qcU^\84~sX>/)T2I4wg\r:=,a.L;ۖdoMEXnf=JdzC=[2f6(3fcE@a4t)`Q7P76Ckؼ.覬el<*8 gy7SVHW " dvK~{iMC\{\e^d=i$$ -60xqk}9mS5Z' iAg Nx~E0Po}y^6||!KՔH4mU:b *d_T`u\P(3f`wTc,to؃%z;aLn+< 3_꟟pS]1hAASEd08Vҏ``zX552 3v= þvbugϧ[o2\fOBydG0JѠbI*.-(h<D!ys{sd8.Pmg+|M M+P?QMu$ kO#˙UYG~PRq9ߢc DjPbȵD>L8 g#,Ψ}@ >ϽjW)A"/PAxµ7Z]ĵ3TGy'PiVD{.‚ҍ+6bZaHk=H0]CKr32if^AN爀L_d+t*y RNQ /xsb|Jz_H@&gNeYnjW'9·oL8y,j/7XqJ@H&VU^pa+/,iG*qH>EMn&VOug5U@Y`CM CծRºIxkrܖ:p~le}rP"2fc+ʐ*}dv+h '4K@{|Wovؾ6cҰ` ע|p}>zo?N`_ǂpY+8A"䷩{u"8$IV(sWxljoۆb<&R:P3Z,[&H'nCcK6;NrIxv;.t*j G0W }!oSa)M{$PZ瑅/>YO*p4,R1;HUst#5ʻm9f(/泜YsR Jf\ӹ*lq-@%:E0ȽSvBX6ZQԦ7*L߽X2gV]_$(xbf6΁M΢M+egє2(h'Q~N9 "u2!J\7uyjS_9D]רQ>'UQ琓 mxu:RptɘPLv&%YO'ɰ|}^-!F0HlcANvt# Fatomd czD^Xlk(\qG+AX~~ё<7q&eݣC/vs1:_;c/t[g qKV{Y _|)6Ô1_x`kz-:2e :v 6f4-6@G(AAZLc#Edj)u~yBe=y#JW2j0_:,e|*X#,?q'%5! JF!g+Skso-:Ù3L!\ m)gil^VRw*PmBq#$4Ugh0;Uf 5~ч2`¯SIȍ"kcWv8oVc+sLHl is[$.< Y2| :- Nr%pl۶,ǠzxUAŔ11la4 f>{boY )<KB=L*ymYpK;Ӑ?æhvMsy3U;%P}:X=c͹7@0G5Wჺ*G2ڌIm>ig:ęmk+tv*;B^.8Ri؝|nn*JP$o~n]k_nYq87vVs^(*WKmZ ~x 6 %BZo מ'R^ hQ$PInߗZߐ]Hр;4-}/61o _CbjB2mǷ; Wh .+7 ҽ 1LK׉ك\T굸9S[R" 4ި=[750CSX[)ѱm>Zl!ntf.!6OqFsM$Хkd&>>f!nUn_X|j0Pvˢ(x,bבEC.8xob2>FTqҲOW[a6R=;ɾ kRGm HUlNriaJ1Q0D/S,[m ecuޥZz؝ iQ[U1 \fxot^\*2@ʂE~p;D*&>%{=Z+0_6sRFqxMT:b"W/tXaBxG@q&U>r'K0Ah$eTS`O6*l \gpp.qٗi_@j7F,g1msYpDبw;KY޽6\N_DŽ gLrmsc:39@g쮤\fWY, FJ{wnۙSa[W(W:Q ʊbKD?O 3Ɵep9P]:OHo@ׅKJT_p Kԫ>9D훂*hi{xfL_#R{_YWwh쐉W$ؗ'8 ^ Xi}Q73Ձ w2iVEunAN~Jԣ5femdEIz!~$~bt{e R |t,@ևW_m}YEkP)Eb΁#Fm+ ڲRָĚ%XjRF O*N^n2 p1ۍ+ ;TP!}x)|aDal]UDű{w@Cr%s mGtV.Bn4ʏqO[y,$ i`pƱ^Ь vK֭[A6!HH#ȩ>(7 &J.$klASB4UDf rfSqBxþ~A)" lDyZ=qn(KC-[ԯ}ݥp<LLՎL! T8N}8'zfˑ|6QX$bʗx.Ҡ(pzșLf0-怡/{ Ns"=Q7_~bXO4ǵ8r[[[hق2X鎩pNUk fsDK41m{Byf+>~/%y8삞&LlR8n*9{'Z8_OƟ|G+1aR`(hc|}%O/ U+`5RHwZh+<*w6\ X/郎_r<\{(̳a?!:>y۴wG H]oT^Df3~<2hr1@aBac6vv ;k+_1nз@ݵR5~Q|XKX,HBN%CDŽ};3*c輑U]?>:+裦Uއda~\,ZHNI꾽*08tsjMSҍ8> oġtEN4'#芺C4YDuhG##+TQE&?؅ƻ*M 5aU$]"cUJxgq7F6"!wrbb]!+FՂْTm'=4GC|U(k&]Ij؋0+:O= f^pDax}\HHQ87S,sLIT&{!r:\t6MІ*x8w9q T~8Cq`%&| w:mZ&Y {=0^B4Xun Ϋ]QR ѥJuњvޱ[~i׺'C>xSVP(;ks> ҳ^ݦ2/bZjyRdv/HZnx"[z?+j<( \<{MU % a\km3怆a rA<Ƹي0僨o:pLL$ƨ̚bѴs WiI"?P1B)MG`ɜ?t-O̓]0@0E9"mEG+]S^>){ "7q֪6gV:)Q |7:'f/9{;b̌s2EPp)ʭ"Nv=ω!*=byG;t1V;zfM+.PT8h6Gnsya%oe%:@~OJyko weT6?ONT8IZ*R \gB[e)IoGl5o~eTq' Fx($O@6 |}<`ߝ+ms&|Av<))JV+r_ʽfS c'{CM)fc#3g8 #Ruk8^K5r4@=owq~GBB6 -tz7ɅE*%SɈHKifҚ4mdk-LC@Дin#/ӅV,qfp#ZQpf 8!3-\n91q>㱣)Lx_cI'}FDyYҁ0j@ds̙ c2'ujD<_@2^cȰ#x@?βe$+Wɷ8z'czIÛzz3 ЧI {a'GgP%S5Xpx #JCňUI: ˢ,\dG{m'e496墂a"pU΃0gMӒ .Kf ǚ!-ޕ}J|ؤHa.b]7;+9<g-RM QKg%YRKtLSdPuאT9])YƿE-„ pMm6\?LJD-9c G 9.1mJOԷWAieFiUX!mQm+RSdHH_}b:C,s+ Zc@PUeg?aORr{$'1 S\`f8 ?X?ᓆ $uEN&`\L{LDQpI`׶duB}f6/Ɓcۦ'm|G4+ x7+\qMi 59E Ú5ڴTUFg!xg[;҃^!uͱD8V㏾[(ər 0YG-sT'_"۝w^ .+r‘ͥFa:~X_jp` ]f{ 8O KgG?uL%QgOu)隖",& lS2< }n/ZRzu1,?Tں*pՂ5' ~ahFǸ(t-ŏ֚gL&`pa[do1&Mn/x:p0>:XhU;W(y aqƠfs@ޕ"6lFZWX:KOA͇Y@[R rnu(<^{d3u񴕛N}`v^bϗ7;[ c22ǻ05LN sʆ 1,dqLα u1$CTm:c|RV=@h_H'd' ߐ{G[lbg ?Jg.I% ^ʰg@NHS~vM|3nvmqD.H< z J5<Z}2|tQO2TNpph8E>$wX\Hڮ%Mf[1a5"Wl }J5qs \p0 %\O<b$4H=u #s@86K/u&ÇR1^G/²P-R=6<?GI60dlVۦ^2k{<3hJXcKw٣՞~oi[ qejqSe`}SgkQ>Lof?Q n%g/3?gPG|fo?F-LckzibDt *E  <B+Εԅv]?, h{ oeC)=怹EF!`0v/wrCNen޿3F7ozhDUԯOg왉kTdgl`HOņÛXk(o)J WN@V NމR @ʚ.Yl Rf)V8!KBz&p%eY2ln{lt?t<ť(&y%f:_DI *P"橙-j'{%ƿf|jߞTf^s k+)t~C/}j N5T*C<$3Lu;}`yOl;*sψ "lާ\kf7Tynn/Je-ա†kf4qP\ )k3i>&m }#ی}l2° ]0T\9z*Xv$WXI1:(tATSAUJ%DB)ծ<fH/3)J5!WBC =NbfoeƝ~x&7Oy|j<#l2}n0I:+%`.tv)C%w3 Uukeerqʽԍq΍Oa #-@k#h+#?{79$/Eؗ(")M!٩3uz0!n][j$<|]ñ,W μvRnWu% 2i],'VCI`e4OO*vZ9˩YCJ&s='<ʿ;MT\nW!h"D_;9OiEqViXxnCХUG]/'z'7MiO6/bXҖi5 SVxYm0%Bkq=%] *|SIt|DPc< 騾5%h<;OڽaԁK? ~gRV16A Үj_&]/Ȳ]Ã!]ͅjXxbIjmmUOLl>39HBU\6<&xrd}}Us  n,"U1(dם+ gRL4UH t[P"m@H{oc5?KKI13f2YR H=M G) `_G:&+q% mzr^!8j\mA:KYDZ~`@ Q)Zs ^p$[q]o%~*s̾Gs؋rDqj3JĶlB$cP+^:KijPOZ6A,ep]^/G>RgeF ro*mr_Lw!UkJ B'8Scw+M?-?(B¸MaA'9_2G^*GyѳAttC7D0`G@39NTFivy z?LewPkR"!7vz-LI[6yCOEYwXo2[[#O%Pa]yu!Gc.$a%+E&.4֝/my0"OFVr_L9V:FHKVty"?e|^@s[2Dx0ml3J1ˁ`7LlO;s^HWhf{Sv3!Np9J;0`с&TJG}B \ɼ f{Ҟ&&w[RYS 6TY p0?@|c}vz+HF(14UW\hk`d czz%Sꍫ{ ) rzR?_`O\0L7C_ö']a5njyGc2M>Xy8R0f4Ӟ`(H= lGp+7l)q1F- =,ψ ʂ}oE8X=%znܻtL|tֵF(Q=PSD[wRv50^Kss 'A+a7{P<9>VBN nXr׬p3,+еӋԹP,$~$q ѻcImLB[ztC+Jj+Oɋ[Jk ,>z(vjX:;Ec'꧌xEJfrEy>&{ݽ`KK_f &2%ـCJS֌hփtC#ʦ1G2uJ!2<kI1 3<)TG}:9$O-tD[ԥsĝPP|KP C⛞Iv Z/1,R13l (Pn{L.X@niAzLIDY6-Ych*OR {.gVA2U%s&FҦg5j,EC]tQ\z|*6ŭIuO>tIU/!PqR~^㍉!>'ZGoU-آX48v\z kokI憶V_ÌOt]׭; 7uJAa;a 8 rXYU1)dKͥ֩ 'sG( ܔd|fp0ԋMt&sr 7dθgq.W]@&-GKdO3j+EYU$GTL3y#$`W)g"ΕFqEPu1eםcӋPÒC8c+nY_dǺ'(.ljWVC_$$d.yT`y o顅QĠzmkvDUQ[h][RK`S886,"-fq ZdoFL0{=1G}&,mxHƅ*:[=eF*e,PSzh@׳ڽ#&oiZ#kÝ<)Ϯ+)K2rזq.C4yɷYv(fb{lihMNY:D؏裙x229Jl{ku gzj sd k.s k)u`U'ŢFf ]d[raj^: =`&;"5uFydZP.yǃ%SiIֆ ? 'e-@ v[* K%Z $gL=w2L&v z%aZTBҴrKo|#޽]6#0jFh˴N*t^ɎUix%gRfWwJ1"2idМѹ}F$‚q3&q.X,T 6/d>yF`79wKv:!"*EKty}Oc|șVUs(\[g2uu9.ZquE}gx-ft5JԱo~.+e@XmgxƆ&-Da; 5bZ {H晦[`biQ,VBkLk}Hu d N{LZ~xy̶rp"( YUx&? uf7l׶%~˴ w7uhl 6)e~}s(!~ J,<+S#  *rKSP ;p1Y1|U`@KO1SSJ%U 0oq_q1V=`&<봱AY!mqH {MmVd+ڲćK. r q'Yo`*0U*Q&)<=o"fҨ] F R sC'[Oi(U|)H<0t5Ziݷe{m]AqTAQtk剔4 XY5A ,_@KA[&qBOIVNcXpx hM`#,pN_k?=naVzQjS3O"yR`q 3ňg mq@N z!ZU^.06.I:ТoÆ);ԲZ0VaC M2':zr֎}]08,JF09.ZrO@A(IcNMIeM)cmPyIZYW2B{Xp1BHVǮV.68mҨu )m_21] "M`~bxWɤr߃S[&wHL0}1D/BoCJ%wB:aj| e{7i6K.^z.eAބ(~] ;d;[lGrNoAxl<{8aP0;D,YX)jbX0$lJVUi&90llIu2য়qW: CNfU)+|}"$vڛU4Jʓ 87߈58~AE`ttL0oHCg]5ڕ8o<7dWyQl gC寵lpFCgɝ0 ZRx)h9&I o6^V*ކPIee@| /)+?.&< ٬2Mfb6[ޥBϔ\>J>f@cG9AN`ɤchR+ XP"c7]|7=$5z^?Wtf[<@x?I_=;S?H e%n2GjCb[ YKXpw+0\{KvFa ;c (``'1K  6hT+.nG|z%r+:R!u煹fWGrqſ(DHN%6um_ckGiuyo{Ѡ8e0qAlJ94~ ,Ob̖٠Sn8:4Kȅ uu!;1&m ~6P4ǯ-QI\xHI| &j"^kQp4Cvr ::?Ӄ[zYSWVr)x= Šf}MjY 2Z(.f.<"C̿f65N{__փdmeIPWP4ɏj_m nw$QQUJu6RQZqIfd~ڵH窥p `z#=̏JFXy $o[>mO(*;=@ 'A9-\ũvXcrac= w"37]B|8oVzcce]P1)u1LѪOB.qm"~Gg2$W3LpeY/O"os (P# Ou3V! kRȳv~XYz(PI lg~>y(hm<|hɣp<-c"DU$bG}nkzN6p'Fim-DʇCA(\(-Pj\"G eΏ".Ƥ:jCͩ=bk.4CGWv%\jOIO?؆A`LHR}Dps֮4o#ێ3| x(|A+wD6aj{MzL 9 L~HQ={PPo zEHU' Dne7\FnsX=%3j8t@ː0xHUpK+sp̻-bDXyPb w`!ɧ|t^ډ4h ޵6vBwV 9S.H>;$IxL}WNw:-UkZ;;(=tÏkKhrЬ\@`rTP1ۤ;T}'߀Z `#Oc?,3HkepR/2ц"YM|$l-?ўw`3Jl @o,DiEUS?7V_!W3I5xEz:=iGХ@ [ K,5P8R/ƭs*}&ugDAmGQ{coA=,2;kZFa:O\(J7_Tb`k+SGQ/a>"p' yoby^6_Ε7GƄ3ڟ9uRIV96Xάw#-仑&w2׈@tukfdsR6;xd+)#)a8'_;<{f9KwNŲ}} O˾R#{ʌm3Z3T3BC==aX7k֌eYpE7 C8w1N!,iK|}`jԲh~[K{̘_8^|h/`kxE] *Pk jPpc{trې?W~]BӲKaCޠʛ "(#R4lBcJ.4蜕j⽿lzA5gXZ>NFp7HħJ'Ip;N6),ۨ5tt:h#@Qdpgb,Ժ4. ƹ΃hͺ\D-,^arܣlBprT>ő:b{I_+dx}晌I1aaa09nd6m}̯>TxɁ?#h܉=˕<(nfMN!}D%a9wF1#iL$㷲L5Gjv$]O]ոpOLu+f`HwMTwOH,5R |Un2K(ܸ`ciQ0|%jIwdW?}JYs?u~FO|VtwL?zolhк.tBW;-B jsOJg/ƌ].r>?4dPUr,Ay:xzוvTSJtBaR~9¥^hxb|N1 x̿(rT,<;g9·^,b;#{v" lĊ秕O#aӅ>).+ޘ1,“|^±%E"n3)De8e78QXC.i4ί'n4hA" ;ڸbt0V]C@"p׮>Dv\ޘg3kZ)$*~Dm!q)KϛV؅w@f!8dK^xn F:8}˷MY'в7=.6) lo0Z)gI6nZ^La5U t<lqC0f€H"] &},ʌz!߭Z g]jۘjH=zMb2="=E۠!QغRzm:7 ί7Pm8Hvn}oiK.jn=]URpN(+k4033^mh]Y>dGtvH!_f,{2ޡOʰaF1'ߊh 7h"bEI[ԧ8AV.mWL#}6.E'X|SAV솨3^_霕uYfioh! @9Φ+@+p:Hd8zWU-J/XF"^sװO܁gx.']UD v>g}G*odS0}չC} ?')AFXv,zA``F\H2@K-ZH0s^"35'i֚imM]zNF6W^ϡ;9:Ԕ>a ͂n9Uk>?3bq_6.kzZ0m+avupԂ$n>* AYeM-7Ers2@V Ȇ٘/pPQS))8C4lvH5>S$3 $,UZuǻJm qCM"լɂ a/[Wx_[ [ö )_.~拿)n'?4`Մ[Cܬr[>Pj xEk*?ҷp&P8s.v6EW><T[7E GVpÏ L *3΁8}ŽRq/,Gi E RWcˑ9B{6tB"\ |P6=h0;;ȟ Xgs;NȷvMV=tڃ2)}BkrQ4n׏jW\%]qP Pyu!!#UtUuʩ"/fPMHun;~CmL>6b/ E 2zf0:,Faa;Vl;z1ʱJ[?KHe6C5l)x_A;!q6Ej?⼆7?C @·[fQ#zk3zzf2WR@8W-`=|PU8!x#ک@z]ӳug>FlPiB73|i6ћKg޵^|Wۂaiħs Ix]YIr< E= ys+Kedb Y7m?IM'] ;aSp;Y31aO)j@<5N@l u~ uy)TQP>*]-&ndm6BAmxZ$$$?Y-/9Z+{2oq/2q|ZBΖ柤 (H]ʜeMj)512'DP%\R!Dey TISE-d[P$BM7a^|r@=f*$V<Ɵ6%X5?l+G0G״YѮICO=)X<$W|={ȭ-={c\@ #jv_ qB]?rR_JZv@ALVB4c ʍBMfSTJʳLelȒp>Q&*F[D5 ߅}I{Gc˟%=KA#P9n#yT ,+22.[;.)JMrxތP ;P#=Ïvu^?coݖmYid7 jWA)C;UK Z q;s# I'NU k1NLcCkd "?9k~@6JmctEg'_5TݟTX{_kx]{oM!?AME="<(uj@y ɳ]| 4>090? JOggjٓK@n'1&}e;chtNn{83-SvIP&m,J* >0GG\(2_v[O?roʅ3T61zBZ[ ~R?z^1`>a{ 7o7w_r[Hw.{P6[3ŒVǻRWN3]tIW:ɜ-=;\0AY,~v94(Ct@쥶!qQO,0$3_TNq(CɅMVu^[)^uW@ngXnS{Xef;2uƿ\c)*9J qA\o 5&(jxϤΦT>Id~&GBS}_!b)R*=Opn;`]lN\t96MA>jϕc2!GF}qD[=} $j:rϪmEĮ)lJuƇڔ|Uw.֟2&ĥC qHJ|OZg^nqK|)VA })ą4UL-Ե↓[Gz}sl'B"Swz̘N2->>eJsm SDrq3M9+C +Z3>࢝c/g Z[y^3Y-ճ^sČRkҭV&cFQG7|zAD9\hMH :O V^; [$&{auCԡ]+ q;Mqfh ~@;ncH|ίآwMUv ϟƔO1nb^`JΤy5Qz<.ZmmhWnsM ũjigRVkXC9WkTQU0q23y;j=̾HXGv*]uS%=ALK95W.-*&h pړGOh:[u5 F sc^vJ(9TjNt2ZW{X[=ULW4G!pqzVgp&J^u2ڈ+a[X&3twK"Ɵ*%;;obdԬbWO)=Ca5["=9H(.2~PQ\Z'A2 tu*|Nz3tGoϔE* Rn'/[]MLSU߾V´ ][X#PQk[ "NE`+i~Y~qH?YE;r`†|Ayͥ|@6|\"]J2 tJ@9(+Щ K-5$CAъI_|QO~/Y "{2GNr>NBeKt anAZ@;SDaݎ75uzc,D^N}1L1W\XNj@U<:Z%L-s $'^RpJPFNs: qPBƿni>1:}+_9`f1nj@1¶nЬvt/hviQ&\,6|1DGL d4(X_Of{tk8hv t65jI)>ϔq(V?cH>#/N!XsRZ3a/V0+& *WZw/"? kZxH&ס~F~=IY3^*p E/6( I+XGyVϩ>C $}$u*aN-IY5FJeN i(\pm#5xq~qfjkHTfh9~H2aݠ@j-f/ T:s%0kA cZ'm mrO;XpYK:grzOS olbFsz+Cfw1<\N=P~^9 PɃ6Nxk`#kj?*-۷"ʠ0}Y[5'9mTk=x ϒM @aiڢZ_5w7@Caf .E NnH6z\ɦ_-uA+La&7!AѕpsM%͆Gh/NC}Ч3qN~l_یDf1aDdDǎf -K8[$s3QM% /N qDV-cBv<φ4UW-аzer25SpZVVG [62rcOGZMiN:erdUFΎ pAk հhti(7\jm&iQq} nl6}Q(V.t1'I7$@fRd=xfH2<>"$ \nE]-{E'"5ĂI#1}Ȁw*/3Ĉvoa6ɀޔs7,wމR wÉt+q}ǩkT1<998 >)im:o}> P}o iP뎅fd3@&Yr4eוpv0n(zK1SՈs-Nbfa.#Q:']0bxISc;PVcTuP8fL;YOyp55os?VYGm 6BȾv0 {3ݧc ')5 }5S =J!v{1Fn3PM#qs`![9`eU2!A!)Qth8=ӑ x0@9dl &%1n@,ʪ*˙qbKрCJkfVF_qG[(+*fKp E>N\w' jK.[S C/ZWr?~1Q9:u⍜]uG8 +Ab5${mifJ>= ]}3j"#][P@I~Մ@F*)dJaQSa|;As %=CC9Xf;)ݠƛDjFsyQ=>gj ONjt ;_.V"~kUk)2"%=#P( X(l^^:IE܄ܱ?x&'F[kS9MOEbaAߓ7G]=*p׶r, \veI}%S% kK /RGcɿ.c`5O~W|}ziD¨D5l+pnUUA3Ņ+/"yYm xiHG3'^OBJz8=8-ݾ\e/ zٽɇcy[)-qp˗|0Ŧ!N,ҽML 6s:t`y;0M87N[޺?R(L7I}E0ފ0[MVgUÜH uƋ++㡐GJ GmSIف1mP;I*u%d.rp%,?,fvRsW_NRpbuV7@ԔelY7!#Qx'Ժt){A_ѯu!%;s*ssV' ;yc g78Hj^K훲٧'${e JzW-ϩ~$޷̚x&}=f١GآO^5_&I+EOb anJHk/ 8bo_V<'-#>ԗPo3N"ظ7`#ᶜ*yj"tb5"jOSN+8LR2uM!%$S._ӽY>{qlzKg Fg$0V%Y }RQSo.T& YF9[䭞: Fsn>!f??[ L Cș喎0_xnHA#J-^+{&KΞh؂BUDz0 D$#i2C7놩%B8"q}DeKHvo BaBa7*A2ɶ#*n[dF҆q  4ՁG{I%s~w.;}տ7*fә(Ub@Ր4/FIշ1UQR6V Bq}P}oI!U%_0/2Em)\35i3׹tT qG؊ˤ<s"5\P)aO'ڄqHQb`P~mkfYkSv2Ȑzv%^'p8qnK3vF<*܎M*Bu^%0֬R K3u3m[Rzʳ%7:=O&`PP7 |/ rfj\"4Mq8z3@siy5r'K&gSқ; Q>&AVLk6ˌ\v7E_5>q$]B&`$:lxݕ$=Y'l+^L4@X Ml`ۼk kZ҈e1 <$Jn*> ̧B#55R/{M*ua?wIGǺҾp4_4Fܿ3bV<GI?[o;wڜVvvtm1 1G1z_Lz7mhBsBU92HUCyrߋRJdƗ>wXӻ.kjDHDOGp@m톇dLb.#nTy,+߿T!E%CKw3yq %DZ'YcM=3 gB/(D쌥Lƶ>bIMr!OL/"::E94L刈0kMN"\Bx$ !@ʭ7GȭܕB\$ޠWCmk%lX׮>dlk=ʁ*GlBtٹ$v9bO4VӼGFtgV!e[<Òl6m#v f?nnY2d#?'"x257ʬzB@P5&,\.l'-(i^>}iycp\eZbY:_F+@IVZ"7jY3&]Iٹ7O9n&Yx9pk$$'!̭,_}jC.'ҚX`Φ u b Vf6IR)cgHh]~ZT;j7yQ? cB<=Y'C}d]=6t0 /6 ŕ9Ja0Jt,% u䪖t+FC,t;b%-{)OIVjC %6$D%CSK4 cyԅ0mĞMhi_+1sOD3bh3>LԦQpzڇ&=@J)S*b;UY;q܌\HmA$٨r'Q=y˱DHفߖiJSsXԍBLn=r1Yj)zq BݸqADq`u}Ym%HU9%EEj O0Fv@AXP~܀s {#/d)*2]j΅؂.8ʪ>3 d#>XV6-}'dZ!Z?0lPYKk_4 qz-?XR$#$z6\\j&XCGH54n7jQ.x *ż͟ *@C_<{[޶SR^+ Ս0 y?nK-U &S CmL)@IXYF`ЧҾ2kPHJKw̦øl+xxqfzp}^|Ҫ+`Ov@YY2'LoV Zc' e"IK?k& 57K0l.ϒa-Mc̎gsP{0ԏE/VfZo? cy*T/KA53NPϙ,pu2Rs@rYu?j a(6׈44Tދ`.H_H22/;MlSUUί;k=o͸DovPtgiC}nUM 0W9 lLVB]6K. ReI,Si,y~1%jml˘iR @f E#^va:gTӮ7FQۆ5Y.Dեh:+h}{쑳Vʭ%hA-A $^›7 .Ơ+RewH_QFC!s2WfFp0|}V9'jBkj1`Ucj^ftiF.jݱ 6g[ׅ9e^?/SYIw*Usg8zx =~(@FaDt7@9OX]# E&`9aJzT&pCoֺEPvYՉ9 0Ӯ>yx0xN!~vkqAk~9ná$F YV J"ηrTdqHuР$bgX 6Og'1;C(T;@:"%Us<&Š3AbNqlB;7Ϝiɾ{.vH)-bCOkn.mG.4Y'E?ScL$j@zt5Zd-7dՐHA>Wx).W8+~~Nub?ق) u`%}0rdMPր859Iay _鰶n9lS8>SLWl=GʾX]w) 2+b} ׁ8|=3T + کsVQ%&1eW5BM#nwCP˜ s\# ~ Ƒ#3aX [8{+EQ6~'@? ]uG~v˽kN~PL{)Y4%1~|yM$ qqibi%&׷sI;#BIN`D˄))#T%t!}nSv~NjXi_0Mlva?8w5Y!.<ٴ$|MRjv}5,pb&pS-#]v(,:l*C\l9'5[(x9& (#*aJ/x u_D[ta욌%7O@ Rqm1-wtY#fn&2?2s;J䫱 H2X_lk^_dT$C鸺%'/M =\ea V,ʌ51TgƄ9/o¥Uk]!ڥJF  (1Eź_1]&dCf\j+eKmK WǓHI+1]aJfMwYO菱zC;An-gOcU/RWA'6&-*B"%%.:Vƿef*GFzG9HgMB\1v+xw_-nw!-$Bqہ1bQ06Ԃ }җ (GOQN[I2'_Tef^er=*oڧ64pl ͏W#rwεn٢G[>D#C(Q*\y@* 30 3Lu;R:y^qxmb/@/S@T9^S(eT-" g8(#Oə{D arTpa9_3z27=ALDjL#7&V;"q,×L) >#x߰ӯelCG%rp񫢕!P\x&,yGE(wc2J|;1BQ0S?F+~=$ wV_WVޒh]>C]B^:nRTo3WGLt'HǶ#<; SpĝnZ%Wx^"h^}n`)Gk%#$;iʽnA\nEeZ4@σԈfi6KIݪ$K`(V/p @B&|gLw^мE4(yayRR RsE1!G`zAg `O6)43o'WqLX3 hWa'$C ,"Ut6)Nsd>ғEPW)D1W}12F A<[;k&.KA-ZRSG^u4H-&[GZٵ4Av|f{M˭~ѡ[mW외À *{++~䡋VXd6 > 94ihcA}/HgyA /fEF$I0_U NiMjN1ʨj޶׸dEhB6لp(v+PVmNL%>`}"K7SVM^K(sР۰AM"giƧ C,-2_3!m=}BQPh#mn':$;f= 7zK'/n *:lbPB{نqdsܳ|cϊ#r0,xf%ANh;GHqDeW'ft'OA` pr OF\w:OUP#0 Wv GYC-*!S|x Q'KWdÓ!K:/"w7e|sIru4(퉈f%LIҎ@x oX":b` S}uV̳HSކ3;l[qrG[[ 8;%?dªe\OHCCb9empG2}v 8gml$;+cĵ0VTNU*Pd*nG P#˗hU5Uޣ.)\埂IX,M ӝ*z-)D5gM*x c`+dž3|д7 \:u\T)M({027o|^MaL&UAkS-ya-`_'W;ˬh`uɞ)]Xꔟeq ^erA?74JxJ &蟲҃ZXq׋wJZaWl,qkmڒcca=~ p~9U0OW8*%4w[x]*gTEt3Z-½ 8YxZzܑWARN]S{aZblFQu2-S AN. 2cI;Rjv 5?+)=ʿ΀ hFD } m +U ?-N rk'b5NvhC@zh^+[$FC 36-:,;n|\pLaN%GGf CZr^>vAP;冏:sĶ(]4qdt*šHlU~'(0\ ipnuEbĐ n [N+OW}j΢,kr^\KwEۣ rc׎4LKRW]g?vYqyMت8^Vf#|kD辳Дdm:17q "P'7eVK1 |3\-2&l$qz2E$ V94.ȓ =.s1"ծ'h(hM)ѣuuIpnי$~De͊3OmFg)s lEĢ4)*ɵS6$4*?'%Ar럆*}q0eRlh׾gϗUTLN Xi;_!c xO0LiOO+ԩnC!\f|RɐA.ԁOai">IA٢ݻrBo'3jtuIԄ6K] @Xih'<Ѫwwt\/͊. 2<ٽ1EG1hy0fgϺ*H VȩgP43;Uxd3{ (o4,!&otp"}Z:xi1i ɭhЪ][C.``b89r54\#o(%nI7<{YK,YQKB(j h]Sc:":fJ޷˛߬2)M.[k~A&$/-,kؗb\@&]H*k*qL˔ mM!6ɨ#=$* ,)ɢ,GEJurgyXoB^둝|rL`|+'W׃LbL.;3GTJXx6xx#A6mpR)KV8xlkxWP/|"Jy8cw,5F]vG5  ibuZ@JQsp*^ͿتڲvcŤqI$s}Y15J;SIP5m%M!+NQB!NG6O=gz-557v^l~1aŽ~չqpl{sqd9?j<.J:ځ/἞g*8gC0)aO^_QCt!۲\~hd-I.)FC",8}&K|ԛ3^XU\.ط'T<(eu#dҕI`dCQJo<.OP]++FqlnjSB<"tt'+._JCt(Hw \l44pqmlbi\Mv픦ӭWD-S Oy1˥qYexyL8WX;nhSh>g왲NV2gQ+%%|^B9$8XmAfRek:F+e^[X2EwRҵݦYI릗BíCi⠳3^ )+P)z]9O`8d%2|8 \f~c>vzpM.ѽ_0+XYLv9-in,hBXA'b(o |P+1+o=TP]1g:eJ_ ̓_SgMN{z'ΑjU@X>vP]~JZk[5FZM :OΛؕ#{) `WtCqƣfvAxߞ@nUF@Eel; A >P丙f"81V ؓ%v%^v<·j/^w0 $z/ᐑ3Iő, 2YUfnV$VS9ji d(yfq"Aq/ݿul^? × ޮCj, 3Mf͕B(l]f"m͞kHoqQqp}A-Q*rZ+䓳栺qӸ'y8GzQ{I6#˒1^^INob'N6iW?x)nST][=ɓ<}|6d{-d_EƸ"cD= Q&:dQ/-I?ο%Ab$(dyQ9^Lc$9$'zw*p]2[LdZz Pכ/ a?xZ]݆qi#q9|JkZglz (<m6ξRn"B9l.y۰=U7+l8`( 8ȶp_5jx>Ia{8$<R K~@ׯz{}+DDb=6R8=#Txrꩊ`$c+xw~ ᩝ{xҽws׼yX~=*GZ^{rVv=nګUcD86`[ccO{)'d9$:+ $Zk @W)vBļ1&1xwx4[%su ̼L;'iTԀMG+0XJ#LoWԣX˺i~񂵿z/%iƕ q8[x-lʦif~A(͈j#_aAD#SZ;*+ f[X˧f t*k1{a-d|8ӺӮgX;G~JR_-F(muɶD' ^s+ed%:k\t  X( xՌ;Q%' V~{Qz)ȁSJh :(Rn'{".ӃEÇӧ(2 BYmFF͠sn u\3{.3vscIҞۯF" 6찮sM ҟCq;ӴlRa,lf0zKQ&ޜjtl (y@ 0I"\x^h mq&Su.ҡ0z~Ktݑ?h,^9uCGUF:dfjfOZ˷] iX߬zu|"R{m&kȩS ]t--ai<6z4}hw(3C-Kz8 _E*.khhi~ H]&in>MΚ/Gd4!얐=Gx%ch^#h\^4I^l@t%{m#Ӛ&N:SJoK,8)9bj<FH2|LRSyfUd@5Q8+VG+[{ފkw&1\ʰ]f`/3oyX0>Bņ3dK@H$pMcoءesȁ 'gYTI&wQ5N˝|HՀqNQ_yg U׳8T@RT9JH}喙2_44"-aa̖O@&Jo@;1ȵ3~س'ZOaoJT+Zx¸_A'-͇wmn WPx?E y IZ(kHޞHp¿;pnL.h֎Вed+?Շ'G}N xn"{ɬ )3W?ٛJ2_8XGC ,;)!@".9DT|i)hl'̑&Y3˦, _n7{#PG<ǵ xzE m4=#k8{ؘ GjGEF:\#71$%yKI3Ը%vh@]Nnm|P ޛT)F98u!U:_9)5_j+0J71^Zý>7hD:l*RŪvb7P~M҄9#^{ۗ|(\`DSwc,s}&GK>J_9SI׀|Au9;3$yWk]a3fC谆wXu%]iTIδ^7<;h4VjT w?r^8k[t( ߳LZNL LqoV>ԭ.1sSdN0bfϦ$N9Rzj٘,>pܑ&rp tNLUPRW>n QB!{ T{GWkvEA_a Wwu!#=pXyӐ/# ,ٔ{X240J Ý4h((߁{CtՐ{@- rctY[f#m{赭WnrR Us:X6Qz߯Xvc褼{=O}5|,F=Զ~HQCd3zݾ|,`aIJ + VW9rnq.2BPv|s薙vq8/bNFxwBܗ`r|eg/AH".(lI.*2ōڻ)tN:Z>'<-&.| Y-;Gà#ùsM#E+Y51;{V[@hAuGkjJޖzBW:tЀ$<== s&G&khma CXDV9W-@Wq7B <fd>xD\~#KM3=]N.QUVKm*7;_v\7Jk)+||U:cY"G 4ٻ|~8R1pT׸c[C}&-3 y%@fk䛁̯>[>MpҾ8g:'OFb=

    D>1i 1Vَ-"޸ UB6!w{%-OD<"LZu-X!u.[? ݦLmc]|93Ҋ5Ǣ`z!zޱ.hP_OlZQ_hFEs܋d$?DI;SJx7֑q etrzE:8b8$YO&>PŤ5,waiExE9#I>C  KLBn:VG[Cll-cŶ.0$\e5(8MZAĉ-!||}!?c%)ps㍠9OS Dž] 迾M7; PqcA"PI[ث$45ۑqd63G3u+« "YvV C 6a2]0(r~#*g#$0A@E'vzRO}cii$v$?x~iJFGKCԚԯ8n092Tg> Ԡ벻R݌蹝@pUM-g EtYXf"r%m(@ettnjz{8_6mcb% @Sn}jRPaei|3 L#,䏲@ä^$8dEOٵH?]_ l*z,=ʹ4.95'`Ab<)d06 .C ؄: 6$nL2d\,eJޡfovBwGt]_{>X@&VZ5ĝ2'_ NfNc{k ;hriZKJ雛1$?:չn}h4 #Ш puiO٘-KB{v Jv3=GM&K K*Ǝ{7)m !ſdw <Λ@&f8$ o;i"C,`R>Ԓrh)̱Lr}|ʪZ[B3Kj:jt3~yK|*)_,K ((Y1IBusD,=L:bbFi bu+\񨖋HES(+s2PO*ݹΠ$_gDǑE*Qvߦ3o b=d,p}p~^?Q@;)Erޥg?lO|O2qaBQ)0]6YDQ9qO!cpiR=By,DhS=$(ȲKV.SSRpAH/W뻀ߣZ;i(</MR|' h<#2}蹺{ݾktt :=x2F `<׆ uG Ik&\HDR;Gy%$(M16t|b(%6^AϿ}| Ua@܀^^ӻ<,Gb:_|떻(l6LkrE&yf:UXη\w6=9?BqG'ڵg$8El@J6f,|w H%wB,C?ka ;*%AbH upE:|7AH(#Bwō[Pq@Mjʊԝ?3ϐY5c]/9ɦdB5= d( FA1׶ i m\Bk^]¸z6-4*=ɛGnh%@<@Zc RTI9z[])}2Q6 PŁ0b[,&" V@P& /B O՜QcY /%0!ԟKqޮ= L¦Br>KCmv,3fdR<}MqJ !Uؑ;+e%g֍GxېCtĕz0SI fS\1v=#WH栫Mf1"I#zHs`XR0vZf_ӱdq@/(ʈ` BWE5Y0-1cߠ6fh[Qm oS8M` s>фk0niR6X eu2 = ] =".oF|O@QXkR#J.v:1DM]q NJp2iy4_p_$Р{ں 壁>KE45sƐL _7\Ѽ/ DyMtdVS2i.m\lI.bKBmBhjZ_$}xgP{a 8zXaU(t8B GZ|rxxԅ/FE/gz4&.8ݹ*"8eLɇwBٰa cⵦ rܦּ/3#yg@5 E准4y|3?ڙ:( !N~U ˶I0Wf#anH{M0ЛUY]P+_C @_řy.Nl0b@s_'WlӲZ>ǜOŎODE3;9 ҵl `ە͝*ZL )4`ƣrb1HKP{볼%&Xv4eV 2*ݓ]!#r]Z#&o`OᚅW n !XqJ9޿jS&~l ͔ L=t0 l<41!WEB=ky偖q1ĴU GpR"H3&e//#Sc4`O ,T DGvT.YXȡJ:AO™ M P_07B1nPym﮳MW)i7o.~s(8Kb6ysM$/_F\3kk:x؀~,ڻp4uO8rgǿRv'GTs 587y4݌8Jw=- wVN2DG{ZhË|aqR7_ffI6Ex2)`ehMQn62+dMQ,U"P]`@A4M 0!>^W|G =X&;e#P"a=[ԧ ʹi[|Fy<\p9+nKrceQagTՈ>Er9'$,aX= `d- ߸;RΣAEΔPr.׾J -N~6I-;=~BwUyaaS qʈ;aB,~| e>e!ذJNu{ fD,b0d˝bYs3c ̵s¯;a)G}rRI "./|< _מ6AI47roR9aEG6IӤ(/v`?h+I$o0fi6^)pիIGSGwv8r z#O?-rԛo;FmY*ZHxLm xgb,=A?YY? kSu-x[TGxtC2sA,mX ,!!'% 6ޘH|2l(y6]`{Z p~TݳӎsYGQ9 v=F vV7Z𼠫ZZ1!WNn'H~P&X71c{ۉ ;!Soh .u;f^[.ۑB4ʻ U0v9Y`iw֚n.ȱR-,c\L{, :#J5˓?d/E0D$K6I~g5P- Bp.qGy?d`S@9p4$!nERR D]U ,oT&,(KHv+N&8݅ތ0r[G{V~5zkNa,y2U ;qoIjFxap,G s(V >T/KU&X3wxƴE5Guvg9P8LH  R/(23Dr)FixDh@[.\ϧW^DacP[޶3Ē?d&мr!3dL?΅'P=wLIylSPm]% \G iQo4(^A4Hۮo_b{Ҽ' * g f \6wa'I~|<+% g/ ^ P<1vH`iR+>1SKXdFi40uD],LpVaQ,I_k԰ sg'6 5pvi30EDw>ظ#ɣYn%dkEA4Z LtQTi}nAUGI6CdJɖU"={.Joӑָg>h!=#T2LL'=4(+&ֿTپV C)E!Je}J3Bߢz7@ Kr/* H?fNIbLY%i^,}G NkL,&V\5K6~>Ǐj:X<3<.+z>7 ڣmPB=;/?GRmc,WHEc1+{:iP+j#P\$}hxQqz GL#bߌ4M d1Gj\1H?!dzlʮ+ԟt$d%^4߽(/*Hm䀍$ѹ wwkx|9[Cfh =X'_Tw>.9c@sb[q oKzRmI]СJ#.haa"ӑI 칸-X QBu#3 FˇBAKl%aB:>yt<##we\S: ۪k#r$O3_[-߄H)՝_,P֕lMp++8貛oY:D1" j |/ 5OcDS8w/P.ח;<巟@BeŜ3 Z5U,_n\ꓪ%G K??)"R-$7Fg.p[TJM&Sb`qݸL ts0Zx!si[ԂM]n]zfYI)!!v;9^b \^^CCѬ-rXd̐_튱v{ -b@#>?.]jU/w\ t= Zw[ |WP11)mЦ4tP)5SXBL`R8;hʥ}ve[ʼn PQ(ўIƾx}+0ЏK)9wTTutȶ[sU.|e'[V7Y)-ցĻbPey*J= YF:o{{>?kOtxWNneQ~Hlu;UÆhncI7v'hA𜥢 %R`l8Q]ͰoH=НqEf:&_l L7Bz3P8#fnˬxy:0&AB#W;K]h$3dnVk . 7USQkp8)"GDB!>9E@e%Sֿ>g_s {jv;ֈdrXro=`J=ivn i@p_qT=ڋ}Wq[h2nKiMVQ(z 4կ8Y;.tzBFիy;ٿ];Si߃à_O`|ĝ?b}Wtv6캑wM9Om#v1ReC S4T/ h ;ܯiwF'A_{ x lk.!Q8aELTJk*@5dsXcۛ HA+e*xi}Sa4zgy_Zx2U_ȃ ~+xZ޸b=\C(]&tB ]WO٤hܟĪ B@>I\f{JRγYUuH6~Uda珁ӣ6\&m>lf ?x9n]Q>k`t# C0c#B3V6D>-gU[u=6λs6Bᾗ];"ʵBf hEyZ3ːˠS|8F̳!B_l4fir[s DvlR"J.5@ʂlB= daF{ۆ1 7U4p&Sr0G}/:6o_RA6Yw LGgO-Khq@R y#3[ hf("428.M{]b~NFV!cYރՍFU%~nK·OYG6A+mYSGb8@hx -^;/OHx_4`&sA/U^|U̧|p f#NYx{AbA ã'Wz8کBEO. ި)/=N2fbr8 ~G[ EؾC߫諝2u !F즮V_ݤ~ 'R}պkDP0؟CWJsx 9kXu?],4z6jw  Yd뀈'ֶG.mCվ ]:`JMԛ4JhM!ZPd k㺑\rCPt;$S xs_$Ȅ~I8s ej t (f|Pg"O1cap2ꮌUipdR>9c@17 1@ԁ xJҹYj)MۭoD_*Z*G%l(B3ٸB6ǺK޼^2/BftX:ECSK8A5|$Flnc(B?. " FWPSR<cmf;&iexk<%MI NHbD D^By.mՙ&:V._.MM`XP!G`Lѽ`fOw9C]m~ 6_ )Rx $#g`atW.w~TB4],UZxǏN@uS Ȃ ]'5_ðZ9[o (>(␙-$tlPO[PX 7gwQ2p`<ᅕ$"eY19u,PJ햿29P yRC9 s7GY:Ri/{EL~uLMo a'OCg/ NQ avW@)k@󾽩Mˡ7M*8`*$?Z`$KK]o-J*3n'GX,zqT\HF}.b wㅱ/ika?>QZr0&e) #xgiS0m`~贂B =P,_TB@qc"3&sR,#m^9 NAtRzH8n'srzڔ{My񚹔& #Jً)ShɲAcUYz-)A-'H[wM)s͎Ag]b{+VʀR!<)"  YZDT13 wXd \cHcSle /ZT86du.h)!!4E;L'x@gO ӶDܘ)5q-S>@okBm? ]$ql,rXq(*viLEnጳ&Y <u:nDYXІ'yIJ7R6Nsg?媈KqK^I6'4.h+L|j%d]=""qa_[#<PjwQ!z MԌs꽺Ip;俱伖Bh[µ%6q)rCjoТ4%J`P7нOYPf$(P9I96j+)hlS]Z_*8- Ж ~}Ӳ#‡׸ Jw.%y3JM@)hO+b[ rey('aD h*jFܧNٱ@X>tPe˄UVDAXBj/t.j?.ZrA (@Hؠ ٭5o2wM,DHh)$:j<ѫRNom ,O2'L1z@8-8OH䖧YBֺVӌG/"̹tZk Y301Ϊ3D[CuD;GH%g r_~hCw+nhTޞ5>@`b:‒#ʎې\p{r+ 7DsKӇI-M"KB u aIV$@,V<$E(nik1h-2\.;_Ltv'n틄$%fp/֝ra(lᎼwˉg;9;NG F3%_ە&m)`"B,0U%#L<^Pq5ćE|?DRfH\7ϹS|5yP:r.]qM >G=",c)8-zR|J0|n7O >U4re;u7eWZ9-( Fp5EW( oJMs DNpd`OG-W܏##zsGrMCuƋ9I5ݪt~p|S1k~㋇y8.q:u]"r;"Z+-[0Zαm(SKTb~%=u Lp/8r XǮqw_1{9lg݆ٟn±M:Gz4.nԜ]~yD*WG3Pe.(u2Qt"<&-C_&! X P~ե۠%/Y\*&^k; ~sG `9qD =WbQaIū|K%I7 '3t |> csJWi dVbIz-[ JĤ{L+5|r`lO:|$(DU E>Iph1gZe*}8뙺HMY / Hk NpOLRi]ܖ >#͖E(S_$H\$r~v(q5r(W׻c̼.!H}kiGE*2a%Y {hħ  !9ɱ&ޣ#T5z(=|EH?7kM3S0Mp qJV0+:l^vZ*lbxz{1|:YeZ"|V\찹ٺ C?t|||cԞtIY]d*e؞fz;KL׍Yi.B1$\^E{B,h0 |bcDEc_ɓS(mn&|6z4zVst\@bTΣ~!de < **T+P?1ƲHl:U; p+bǴixLnݹRTaϕmDAiFpb<E>r5T'ˬIZQZ-Fϵk\?H)3!Py!s 02i#uW394uwgk&T-$ݔjamd Hi_[b.KY{3Xj|- ݭ@gSAƻ.+659 YT{w딯'a;q2@4ˏބm&Va`^Є +} #7-52 T :汗<7ɮ&VV_2{4Am7&*T6dY&V-άX8 4pu<B؈ / еtT AU+DE -ͳ 0\zg a<zk@CIbihӕOXGݞMшlG']M < 3eOkDb*vX4_cQw\~vܟ=c*&ֵJ ׫;-8(M['fmi.`ILǸH|+aYc*~(j0SJh.&%<3䇝FRL,&2< mƺCnx$gw3L=yp*j[|q)4$7(n+Ae]Zv3=NGfrQ+Q#C~'TI'IlF^.(8IJ)bo\57ơWu|^#輐 ~V:WO:Sd/z7O.' 8BU{Yh^'W1G5IDbpUJi5>K(X^t.x0 K2~%<7ܺ'x!:+q(,n.w@͊ q?iʙ-=t}>-#cܓ~S3X YxOsB=.~sL9 "BAw^%X=g݁hQ>*h׸)Xмp (d>ZXͪ͟qGiN+oW7'+)aYG{,p}j t"U~#*i~[|Ռqƈ(y0fSnrfӄS:H Jigh `>#Np/) ̹֭Ѫ{%^3Q{Pl4Y >8_ׇ9Ez7 @ nԲKOF=# <(#O`}ˮmgDh6-D=ď$!DX'e:M+xeROm6y0~;(B9REG~{dw`_&G9;"#w^- ¢f^oչ}OVƻFesNŦN' Nh}~2 ҥҌvTKmZ`陉VM^2n`*"ZIM}1fU!!O~՗%y}#O>m f5,#ulD? oUK2c`\uE h>e٩#G7|||`z8!nX/Cq#[rUJM0j.|JyҚt:<=(wa~UՠW!aH$z(+%]3+ذm;SI-(;Ɉ)e$a0퉀 ݴ'Q)=mQAPLC-nw:.P\Im $#!Nnz`SYm/&|@p+L{%6Yuv42SJR*1s]o2׸:nrkH66_xٶ,zS"cB%oӹ*oi%!8pa %| zlq!C_\NE&{#y.Ɲj~lv{Nn:T %^k &°0HO)0,,*eNAs<"sz--Ѱq+"p;80ŏ?AA$%/FC=xkk*g ::<7CO+ Ml{L(,(v2ZXcWIr"4ݩ5#>0XF)>Bوq.Cmy97^ӯ,S_ EoWnъfkՍ^y2M6uo}CfVOڗBg˲_@<uRvjv4\ cS^MdHp$}$&-W٘GMTG<0w)ȝ28-eo>L'sqwU;NC[Ꮝ`!A)ZqYnZ uS=(6Cサ_!NĆ:܃56)e-*1(vXR44BYxb-S\XzK+/<,gW`"g矒Ka9|/7 ׭z `qΰ a G ~<֏orwߙg;}ayJ[7i"Y^Z!Mi,*eq 2NOrDhB-X||2}g==li֨In^ ű$hʍ /I+JECx7A{]7XjVD015QI]& Lu(NQٷV lu *uY^]]M̤p~k䵭G{s&g.K6yLYפCgǫ]XT%ȏg:j%@MwЬni E%L޺㡩4rz+N-L%:jFL!yvW,̊b.5ݎT+VD} _jz/_w$t =AqPlxKp+}<5DHg+rNoxw)~c?`XNM˶>#%2DH%*mTp&NkJgvϏ ·A_syb! CF?s׍B2 ) Uxp񯛢t zZyx)t}63mp濮YzTWmt( /fN7u Źd;&?ֻOYWJgP$J*| dp,/AJ OC.h$ЃM0dD"iW('MAJq˯@)9rpe ¹Makfuj<lG?&6^g:s7V(OJZk+z؆8AoI $:8E|g \WE;҉>eWM[OS}zW>S|샚1m]-#\QAU!>ޘi9y'͎T>ě$hFB'zݭOp_ Ki'\ ;<j2k.v-J9k (X!* ˈ3'GYF)gӐxj7`+ y6zʔE7#aMTϭ #h%m Sm2 ~ʮ:>@NUPœ9_8T6) ۨb\؎x5~k~H~m#C )8c'y8-YǹPx *+:P;ֵ'_Er,8Z%v9AY\(h.b-i{q%)ff,i&t*z$|U8ʾZs'r* Ǔ7SƘ:N7CzWě֝2 7fA{*kgP" z'РſYrjUmfIu.Uq&XQ"sCWI2Lpxc=5eza uZDc湷bp uq؛*hв%j5(F%<#>CqAk,Z1ed>G[l̙[+/tP9-8NL5C@%Y)5Y@s]Ƶ0|TÓe-_FN۵M:( Ol닏 ENg e ;8xfPd)+\xS&6˽\7L8aC/ۿ Zpc:U@OM Blxǻ" U Įy(>jo)CA5qG.mgYlk_%>m|zOU `7CUDn]wS4@E.YT26*X _.Bm7MynibCL0:t9`g3~J0ቸV% 랟odSVjn뉡Ц DKdT?5%j^ O[1+gWNTA\ YX+]$Emԥ#+Ml*g#1>"o j˃ λ:rW/bf= 22L p1l/|kH!NcS6,^p(W.]șO;)[.'/]E1EO"&KnjК,a0\]uI#U/>9{A'Q\)ɞ5dN#܎ᒥo T5h>JMteq.޲Gw$0QX".`-]I KݏL퍑KӼ /IǷ%*2.&Kh0BaZH6j! CS2)Uɼ,7IY'c/tWL{Bȅxl|6]ZNU$ 16nؓ2; |Ƈڒ|@gۉG@oK rLx\c=n0#z"3m :BlSWcӁةI>ś|IXϣć4'gjaJU&NI cOkϟOtK @oW"PLxV6xYȡ ^ǵ໦Db0^()Ug@DQr,{$6A>F˂AK3vYoޡkExoeak"aI ;>N1MѴ߈`%0@FPo 2}>߿OX`W]F FfgE\\!qR4i_#/">r{uɜ1)'RɤWX,eҏ#2{8xS$~ΌFN/ ї=li^ 6"KCUS,.=8^Nl"]qߑ{cV} 7' g~O|t!~eYA_5=`.40y_dV,eӦf0Ed2rrw%KIԀ؈$vpmazcl"m Aԧ YDDZ)Gb01 OC` P'tT{=כ R]Hy6Ӈ.!BDB׆l टG8 ԝBgzKc7Uqt-P[ӥiī >?4Q<:N޵g)N%FL/k6Fda˧=xK2g ~=9NpϾ_4NF!ub6(H%E\5AH&RacPblQ,v֡.WΧ]AߓPTrSe2fKU!D N#eɪ0pO0zhoΗA:6R"ګ݀9;ҦG0!a+xߎ !rEOSIêh"7t^iMu Ɋ®X1v1L/Zi:q acdؤ]6pCGƟi k.+PȡkCkXGN_vR gf ;Yx)m ,MQ2Z>b9aV5y|0XY| }MPDi BCZ[[QvH}CqoRt >}3~@k D!>ـdD⽏$=RFu k#02J0b}xWU$.РovmC'5CE z:}&n\#Y)$+[e{[ffZn'^O~XzV7!D.e"L3Z>KY,q[G\.Wm.ft9)XTW^F_A `JgoxШҵgƿSĸg\tUu?0-l0jE 5b}0GܫDB=u j%ZJ+_ 1ͳ aVTK!9x_ ݳadVc G'dۑe`&d=eߓQ#~86)zRYǙ6e|$p0fs5W VҪquSWJw1xN#Fs?왏x4l7jSɓR=b1*N­nU<"GJ #/~t E\ݑvA_C!"3 'k057HR_1jG4 ,i)}X}Nw umIZDZKۀvYu*Ϟ1~\9@.n|\кaZa838P6'V`9#$s~;s-mPк)S5e:J/]zm3+|Y7뻟 qWWrB(O$(}'0B*P`Fx -: Ә/:-F6h8GyvCh R ǩhnS |a)P4ͥpR(_ߨ/~r[]!\Iyʾ%2@E冰>ɄB>Mo"زm"u\K4d}[UZw8~sl V:If!܅#[^Fmgp:VD9:fУ޽uD&2/O ~)hl cZW9$:*b3P1CT,,,m Q_9lCPxVE48V OxZzܥPS9rȡ)9e}kNTıORW4]k O1f(9gBX3]15|k*!0;:wWƔkgC飉sa[Ž4vECCglk֝p#-`5GWz9 DwM;lmM(.sDR$fE..es،{ S'zi:so&(TRZ^uO "V_o2"d[a_Q+ en{R oѭѺSyY՘-HЕHJ 6 Fz/қ%ӛw5THx M]&1÷TdY$N;+T~Kϕew%ڿ$( ϫ 5^/ j_lq/aeCnW=\K{#(uB-n J@_\`|eVȕ"j>h>%%_N<=5z7 ;MͶ{q2B* ,7 n2DKHedG Er-95И}?yFֻV,ԫhll;j y&㋌*~^}ai%.q. GLWK)դ݅9ģܳL<6p*DG:ttF]qZ3Wv9 4OS.|Q~ȵ.jYaf"4m;ߛ wJƨ=dJN!u}z5#-}[ u($K: c3Úq (|-U)uR$E j"%ot/+-] (IÚ)\Ь~%\#!oqܨ돟v='QKؕ(}&1˽3[Mȧӓ')q*̹Å)70?3׾e/RRA Fx]&qꬓ!: z":\fű+pEq]F7<@JCp+o9оN1$ң/qF$^Lnlou~4?liDWc!5-dtJx <#a{Iʼa"9ĞB=yY,8`pwe?+Q6m.`$}'A> ,Q1qij6 mJ M-Y|B>e$#6 lzDcϿvؕM][1\{HUvuFiX=qou^2L[KB'TW,o!DÇpT4eŧ#@& ҸGwH61…hG+c1Zr͓W\eS2D~S6ZG;\5q߬+lrȗ1Y0S/)T9NQU$G>jІ(3ѣoa@#uE2D7!Rn1˥O#1yNAhz() 7*rE/}O=^RN)Y,{wMiMaeDxM'8$ `ڙ7ZnqJ>0S X o]nR1pHGšF'1Acg 6&mprS)Fكw9ȍ- tzksXLH"y],6A@ r7@Ijw4,?7&!,6cНJj (^t:O~pkKZ+нTwlYXcN*=L'4{qJ򏪸müO/y(f }ǤsJwC!~,Jޗ"iDvrG]Y|Wü<0Da0ACmwt4ODϓ7p pTS:#; {RSxKUʀt95e72 84M[ʇ v|n;J`Xs쥞LՒGg'MҷpSLȱ)Eݤ-<\(i^y5(V6:\d_ WA-wg7[ K"UJ#BDZꞻM H^ߦ~ JIQ!8MScg| ro'Swur=q!qm <+{GFola8`Z߽xQR"a1/"Az% 2WXPĴ!3|cI9G|*lSF4@ktlumy\xW_ˢŋO&'ِ3e͵% [V6Uvo@ꁹakL4[Ce{!aA̓QSSikKhtfHo|"X3wIa-\{Q\ {m1s2i<| i$$nIEbNLMxb:j?yqZJ",}4.p{\EsEG?O -(񌔦RƄjξЬW.fBoL}5!=]QÛkMy|#zt8c#Xx#?G-|a/x{T׃AZ@"\M)#MO$*^&8~B#*\ֆX%%y״⯼HLeTwCHڹ^vOW+OY!m~er[m(&˘VCR۝9Z$ Cl$Yw"I83p}Fصc y|L3eBzkzN*MM=:GGK3O77Zށ[/ UE?b~9cnw€t1:VrYD~n=NAY};;~G=z,\}:6, "H,.\_V9U|^* Z_9F Qȅj!h4W v8mU4kl;r2x0: =QN: lՀjT:Pqlc¨:4[9SpLC9[Ir+IFBj A=o6=SUI:oy'VˇYL9]@#q+S(,9K{[Vw5 3$؁?5(TGHQ)<ηmK'Pβ`LӸm67weQĸ[7#NFxJ#DY ~z(Cп:&#hL հI ӈ?E=]af'xIcEUJRMv $umQ~0l;y_r=5!w!<]?BIQ&B샗m.(2~D+ޑGKW/Ĵ*60N¹ ġ:$m(}=;/t۵$tw}C6t@dGCr +& ~4wU%$'Ä7^EdtK;ޢ)tÕ&@gUW`k|}BveUpu.=@pc=IQ^#*aE҈ôR/f## QЀh|1#ڜt1xR A[MRIb+:Tkcӵ==hKMy};Hdòqu}B7R!_W7m49A X5\x ւAYI%S k|] q?$66y@l|~Bi7IT\0Y5Uk-(4J9I+"Uo\Hl\+QVDƲ5$vO( 4>+tfw[L;l2H=%h”C%D20r@qZlbe mq#;/ !a " CjP3NtIkj[OkĆx"69B#␬,= ?i$点qUb %9rÖ LZwn$QK 8U"ċ .NMue BÝ<6AB#YrU0Vlo&⃹J[%)ͳKG~K/,o,GK!Tv\zkqv,#1]cyVRܒ9wN&u%zHOEV\jm1r$Vkt/g^,JbJՄv si+p|(j׃ b,|.+XeMΛr)g$̉"%;85[|2,̐E- Va7m[Lۙ55ўvv%41KCß]GoX߾{Cav:0[whvȟKxIlь;_kjǡ0q\u _B9eǞ[ؑwc DbHs%y풑,'Oƻm3i PLpwVG!'0:Cҍ pJv4D[`Yӗ2Ȱ[/oح 1^yzc gl#{)ij?9 j [ͦ!§,Sl}CO$0J`tRnY"Q!d`l̯_To$i'I=Ɔ2ޯ h8 EWrßOmrCou$o5"P.n& r$hMr &Aw ˯>@^=HO[NI19Quc=iG(zT{ sayKBZ<eKɳ~!X'*%kjԋU/5UV9wΥٺ)hvrO܂l#`0- R_~[x!KKDba=gO΁xlc =\RO&r;;LJA*UK`?: "RkRZ~0 uPx~ϻ#yPt[eT{79ӣ ĹGoj&1Zcaۚ҆)tPbheΣp$MkҝMݰ7*M$s#KU=-Z ~h(||5|/dSqzK$ۄyw7H=} ~=Lģٔ"qɡ%aEC2Pz<AYr࢐`}Y }$߾jvL<攘B[,[^.X_# v:Mk?-˲& ZgSU?Uխ6tū =##v㩷j6l%z-p@Anb,oN,=H;>3@S;#qPQ/}橱0hb.:NԮvr_}W%39$O%DCsonkc 614gJ8UQ&OΒkyg ^Re`! Ndɞ]a[J ]m ^d%۵/f G⤇B1Tah8 9װG 'Zԟ6ہ:R׎/TA \WS`m'' T6]Rނ`vC0P*칥QCL̃@m k\f0?rՔ'S6p-sGī生I cF4g.sYY`s |FУ[0v ԫ=sӺPwbJMcĕu:`@.FǢk 9ŁB#AT뿔[.}7HΙqpJ${C)b+ѯ讦^ܺ l24 8a߶7w6^𱱡lET;M׿ m <hڕlYePSih"]e%Q`fI-v|\!B|sN萟s-VZȠ km!Lu͉1Ы:xd Llc"@ԄZ*=v`+^\MvUQnli}E]ӈ4ْne-d'GIe -_VR͜jfV/v['Nv{RH\!:Ge_G/i0 rzOϹx]1H d%e>R7(00f3 PzA y®q) l GAtxSyNHUqctꚼNvKHxЧX~)A/cz(dpN1E=X8ΣBԐH7g[Iox='A8m><)Ūdn|FF yy1@?Լ0zSU1!cѥ I+aLDgu :eBj^ r6Fۙ)~%DLrfPC y)FWp,lpPI;uquV%˝;ҝ)I;#}cn^s/(;6$1hGBnz]km16p*cGi,o<=͐DO\\i I5 yj%=F Fݽ #w\ۛx?ԖBƶ9)r73~eyIwB9x;*n,f4q?MǭtDO ,ɻ{zF}YU~=mPZCO'AZ\QTzgvn[(7Jnr&lM3>_E!~j uUS/tC`*ĄWZ^Jogl7v;#<'`5M\ *\AnU8:)Нm|IFC+5rُg v@ϧEi:xs&I!:p~4 E:, Nc~pnI1^y06XPI2[1VvF.214Q+M>iOY]4$=r{L@''[~5C_Uq\ӦvZDx?D&HpSSujӺKVY1<Nڀ"O+^B!/d %~Jz)|`Es y{*'iN uNyIFgjDKǢtiJ ?_}Llm{Uww!X©]BYn(5 uQ ! w5A<*e5)OmY '1+r>8"@V#G{su6aFb8= !Ȭ|Xuw*$OʢXD$m'Ė?(F% SFo *F*ٷ*>Q23'=e3}V tMePvȕ/TYzl꺗$bvdK,`S+B Tm(e}lxPv}%S@UD`r0c&SGMx]>V*{+n1]OVfE~VbiN2 ZXeD"գ66D= ;U}|ЀFfa^8oZ[s~7K_ɀ{8M)b&ΧflY;ԮΤO˞1,䵭 A> S.c>Иa.~H^%  gvp>Qvt.`\ 63DYF.)"`xSކ-*#ϋ4'Fղ|it`8v|¥o9ݺx2@绣cY1$Tq66˞#i -ctqBs3^HKR[b$Sv0ex˦eXm/+WIOKe8XhaZ[|lej` xB3)=tؿ8n^4K!I] #Xp23x8BIJ6==ɖ.d{,'3 O9vjK?)G)Vgg9ۥy[[tBvr\9mߚ96դ^fT5&P3O)QJK%n=a&$5§4пBZ * ~h6#\jZ_;h ZVՒN6?3|پOs%,;wsWT42z>t,)mʭ;"U팋%5/y{k@Z?`LvMok5Mypk܇'|ϞsN䚹TPz$sECpcR -S(NJV+rE{EbFP$Xxo=ǘ~gkv/z_߉5P u@,(` PӠ ?kb!rB ct 1\E!kK< RA5g}gNCA"!XbNy> j)וS )yYZ@/z2Nn:X|Z˲4&YLe=~8Y mJ]zXJnQ %Rռ]`[ J[Yȷ6yJʴw0a8AR#O&"PD<߉pf9ȌmҘt'.S@)V"x}{&wJl?Y,RQnkI*Yb QUF~g bl2'uC{x>/ LERN(đ\}/1r5/(&Zkn jM K6 _%0v9f ‡Kw=4'dfS2Dk%k[ &m@Zr} g19<+?0ZgζqO.Ћid48AU-`RUѥA,s T @3 *tЂ` {(k_[H\ʂ'UK茖K\6D,srCG(3>7i fp{:Ww)B]T0K9D&-dIAg0l ^]ή^m͔F_c 4YEUZ.wv(Ƙ_fm)46,_K<M%˫3* 22DLkw0 Ԃ5 Nb-@@,oʀ|v R&c뗫Xٽ\dQwkz]5&M!acl@/6+lHܿRy]Q˖ Qɍ/:e⽮Ʉy{/wfI5e:EثE'mƠPԐDo*c[V)3#y ]ԑy|֚ QTƚ?gHh:)GH)Ǟ e8RcVhr4XŻ:yͧ;;rߪwlo}M"Z$@ʟl̴[Pa~1vŲ޻e!ꭗB¢zʓU9Dt@MV@i%)Be-e;$þ2e~Y7PL( jr܎32lC=<4@i`x 0`|%((R }y+RcGfr|Q )Ur mq,%&V|x0EؙH[ A!^-}3;'Q囔(T+DfB]0Iyo%b;wn v$1}d<ΘFpjʀiFdecD"uttdK2[rBK+9Uredrd5Vm ImD-f]#b%[ zm_ N9gK4%vy}0kvL/w%|A摄y7M4#cxF3_)rIu7Z`7]n8#IrC@b75@r:H ǻf+]Q:s8Q`-J+.@U4yS]wN x `Wu'263_pkJ?quREȟgI噉y-v1: ]*=~q 2g iM#w#}OwI _O^MD@'m)@9[A#gD򫰦hyk v@W5\_>^ͭw3.V.*ՙEk04OpQf9Wa?e7S=>(Zv|kF2Oq)0%:U،$4܋mռciԸPėM~RJ H\ rdB@f&3zmO+fmT՘eB&5IJLl`[rM#&`TAy%TDJ{qm5wF7]U{v#CXs5y&lPuc: sN5L`˰RDOdA'ZD.*\6_Vʲ|.t^jJ 5 x^$*=?0m2]>oouiJ~Z>N >+JrQERqsoE9?Ywc 2;6y\:zB"k?:Lpԝظ[[ڗSRo<5NwP53哒<}1-Xpձ 6< rf>J=3pvzo{4"WnI U x͓BQB,m^i2xDe)3qp6-nT̃K>"GQ(S hzgv) uXlUe2P~%ies- 8]ޡXM]!ckm~$_NqiDA E%IV}kЗDx,˺tgf +>l!} G΂}"4LOK(wvAiۦd> ЭN¡2KLdrZo̮~XVȳ2p"s5R<<89Y]JեO/ ©)!W3E:e0*АYܖ ͏d˿dDs?㵑9;ضV\A*,3: xH W6bot]PDtG 7`nJmKYdc+:!Wp5'2Bh9WF(9ϜӃ7XCT: aaȐ>iݖ.nt }7X-k(8vHu&{3c9V>;}]AD~u2h*޹Ե~YJVݝYA49|hެ&oFUţo} ;PG8.5ʗUgDVO|3oR0fv }Oh l;7Q~c;#Mqۺ\q*%+URuSWrL6ׅ_WV6}q*-NS' #hk&k7x3ouxg`q]ݷnk9hl^omH}H y]ԝF輦]"ϸNŷIץҵ?NaThro0z{^If4y^:bP][ZZցA2K~!ބbsᪿ֜YozEx5)]Ttǧ#b\yU+֐@<{˥eH Lh=.CPԪTblġR9 s*8|s}WtD@|x&~K[U 5SF^G$KXsz(Ejf;46BZb˺1hWFғK]2ؾ@#DpۄISȥ~,0hҽǖ/ iYUփRdb֡t .<  8i`(A r&B&6u;ڡix>P1ϣSE:Xd!4>y17 q2rŏVe0mRd$sY._m+y} Sn>;J[4J^$KZxt]ג /3?=ɖb*La8/NzQ=;m23oy RE3{W9"M\ם,>(\tC`11ѓƨLGw$GX{V~[mCE<ܯrsjr#t~}Gz,ʝa7TJTUMK:ON|:ə*@AL_qyP+rUȵ.itEX_ZԌʃ*xil<^V2f 7ވ7R5T`^㘑8ϕР%޼s4q/VMڃc#9sK&~>d;rw7AVů*V0{,pt‡Uwel5^]g _BӒ~pa"T:A6oFRjvU;.y#({e)́IH?iN)BU9HR$s0>o'-kf#)>ߏcb1"'V }HK}}Z(Gl6M`eG<:ktsFqN`R#3nu4n= %?\9-z 0ǒל&iE}>\^aiDqO^-ޟ$vN׺;kȪ|ɬ*$WN~iUs-f첼d* T~6i{V4&l+KitJ"mjkE)d>|;(}Jԗ-Ni/Z`>okoHS-oOfU143k/,Bo @!_> ٤ XMx=X`oUmQS{HSRw_X 2f/~0'"\WQӵ(kTu/ў#ؚ r}H'Pw ֐[fYr5 #/)6>\T]c3- kڜ_D@<[+:#@⣒m@džĔ31#8#Z I!Ґꞇ;2x]&QQw[.RQ;9DY(SZf'A DZ]OGq-&g4G7oA7)_}ȠEedәg3\)e|LPG)KhFHA {;b8mVW毵Lº@EI-_zpJC~`>.ރ<:\NuL \OdN@]Z̩6N7\8AK{9CVa!j3꽡,hTɢzo5ter(7 %|uLN+f߃XPdy'K&l٫Dj{ufxHڭߦu:"cF Аµv"Ѓ/N4.!HlʲvƣĽKWbV|.m r M5^>;,޸smJ`fseFe -K:ɳArq{aT4rv/3vm󆆱pv$p3A B4x~"?]j f 0l'/Vrd͎|~&L飁X@w_/ \D `қ@ #’eEp]/]{.^X@\(Da?<y…s%cMeAAE0Lmr L%VH͜-W 툗?ooRzP)-:R^Ҕ',U+&O-FKyU5S- >!a{-Z1pkv,aU eWSGfhbMmN/8[xT9OCג| k&9A{UE>R Æ4Ikg]Z:oCd<ǧPˆHu#a;4 $exŊ!~9m}75vSOCX.T{I, 2!{6DQx8e낷dΙ^"IoUΰFF 7Ohc1Tor]ܩܤqʭUZy$娜NJBysd(rR![ID0\EKibA "[]4L (a^9Lnm"j,Mu=<ż!':U!yWFo*auliA +-֦]@[;D0_~Rx (?oB ,`ZU{̩34RJ*} )J!PU=lvyñ`EΚ:} 2P'Ps1S&\d/B t⎿2nPKVDO%IXTe(bZ^#V4|r NcaǰQ[;2pU]\ҳm@DDʹ!QRUЄ6%t$`zg. 8bnX/n*Y8&6i2RY#ky>Zu<,[MCA•-`oB@ֺaK% ^3xoM^5)!7fbh }7dV[r٦z F^pHAr!hyO- Izс+k5dxwI/ؙg!OzQABtL"q3 ۿup.Nipk0+Hir, Y[~Ю!%; ckw왶weuT@<"Y[ٹ!=8n+5(A`bCa7+_ɇqZ콞 i/6dDޢ&=ZaǹᚲɃo8c{K9bC#2ish{hΊgrhs_:m)*M*<g=JI`r-~W4I|L$/;7ǵ>ڰ-?7 q$TQ:$~%lqTeh@8fG(t13 ~˜5`GoyH^⣐y6C22$i-FPʡp+@xZ"ʪlC,"na =g8n[_v2Y^EMbTWa|`|g@zsܒ[6Z RԢܤ gA,/C3=Ng~h<&>AU˛s:deIQ[>r e_px URHHЙхy2 "m)^d};fpfV4 io\ej/^YӣTd4=v}}Tg\CnGvoP/ 4G5Cm4 t zUplCZb\WOr~d9v`KS1DYW7V:JIeV7E"E=ϕC3hp5tX5փ HD<,m>eO_aك|ȉ~6bEeDWR搦8Y^kѝb/]z][ /ړ%\%䏬몒umSLguLs&n5 0@n:YgtF`pSWYVmU o>/}65 +}[p,1gc\q@>J/({3X褗H/Z-L8WGS/Enr qFpުrjz@o[T5EBs `e5`ؙI'Tb 576 N\7eb}@`u`mR,8N4 q ޔ_#dgo:W9jF1 DK٥WwkIK7Ki6{V˰68Og q^UeYX˩ d6Q`ձx:*_c-k*" >KlƂɼts)Knk.+62h wsWːp+ D@0XbGf6j#%lrѫJm;X|`OT#+l\Iڷ+Oz-:UZJT@<,QsY3[(s<3S_M)m: v$55?Z~AwpԞ>k#;ʴsKŴ>Xi y. KV DSZ¾ʾ'/lMC>`%S]" 0%bT{4'peX< a 9>P.|9^CC`m~M<H _fֻC]H[2_#1.y[ĞQ5AbxߤK]É-z0 g%2;oqc1OZM2E aH6X ]Qhe PS&[EKME-753Ǝ!1XiGcB\/%J(r˱j$?R jo^ԏbXAbtZ`]_=h{e&)R.c%ұiԺ@]&Vs$dE}{ؗә^p4 l]Z[:.|/{{dQi*!ʤw;:.2zkTaW={= q0J\woT7ц,W`YJt* k`dWq!>vڎR" cX.&h% %h2J? ғ<6n\: FnWjЊ&Aؐ<JEAFb*2Ius L>ƅhA.HS'ltf zԣ JI9H&HK8Pt|@xJԜteb ((m"r SKimUE&.o '/Xph'hhc<꒧̫5IM y k\H fO2O,Laf{r(wYqyo[? ) |`1Wh?]֮XYa<^ R {RПCz/ ȘC9lƆZF~xewO UX.ʟDn,;QquUQ2QsyW8)tUSrPPU˘)k$7w0.<+c/Zמc%кHs/l;aq SLQ{AY('3˵ ȟ?9VxW& n\/C6` `3 =>p9Y|MOa.[[9)-@Wk,&/CɰT7O(U-yq |KxwEVɃB:K+ 긞| # Ra:Bl5c=5j޶2#4Eg)#]cB{Ad.[7ZlU 0wUEohsXa'H^D q [ r;d`?CJ'q>;So06גLinpLi^1s<ޣՄy' Tp;,)UF}kjW*52/C / & G W2 +*,Y|D,N6:RٲYEq :|+Vb7 N0O$P;7!ߨff]-?eIŎqJߚLI;*GׅKR+w@wYp ;d%Qp @Uwm2U0+p¢`7]+έଓ u.nA,_ /RLlƈ1=5vOvb{Q3LꙃǮ%S?a,6nf73bz,HO~X_A1BM'=REāGp'o (Ro*l~52>kGWp}g8_GvUp $W;> ׍L?UF/Ӝ5.?(Ev"CZ'3__8 s!b=%pb\s3`(xiPF1.KMEXWV<3JLOƷ1Z9}4DJ \B#+g"bB:3ZZ> k]Qnj5yr5doHw{H*S^e8z|+j(8ׂ;KG?x)`qRTA^7Z#Oq!͟l-9xjER гKqWl'푕U<FXYRN ZUbk{d@7/Yb*CCo/ji''hBFGED!]ww6䴌|g$Q7j$U1 AaJ+8åWj`{~,: 3 \[ -5ÀQʒ&¶$z ;'~uZGED Th?3y~c9,׻Șq4[1ƘrÜX`Gf6+ L5v~oϪ sBI5vCԿ"RPe.1P qGW ~ag܅D^I--Nޚ*t(@<%/BͿ"j ׍J`2Ś^aC g9hmJYB4#o*|F|s8H9w߱źΛuޒQH'K'iEzL!N8&TOgt.%Q@=7NN485IGgL{Pg St#$1 8)A0 \x(c+l׹7<6{u.#4i̓ BQ.aq`55"`c߻ׯX\nL6ghfIi~! 屃H~XUZ)@?}`7;Ŷr4d bsFv1`x!R,2\Zp;BhT7.B=q=HI7@F?à6(ˇĖ~mO$whzV!rN@QY}؋0|]w)^tIX[1~T9ӒQzWբTb\9E0GADEJ5GG[9xe/f*N1n+ b M k3\KCjʰS)MXΪ'ꖿ$Uj?ܖFm|X1$O։.`?Ou[/̃qq7^au/lT(Edorbp':d5 ޲;R ais~_aa2l{幚`dĉN"NY ?vX}]ViCHHH/ײ+V&pZ\6#oxd2tlަf ~l.Gu=b;@E=8Л`q wCG0EZ$*uKG5XIAHzeAQ*hGtfdژ4Рi/0^F6ʟp@K6|̗t۩wTwkZbp;DwҒ[F֭ziOޖEHܯ2!+[540|Z[$  ႲlO|s"[#s%D,es4^֠}̎ѡ"uٛsxY 89#,Ag-I&*wj\0׋)]LkRne(dȀc5qlRut nqN۲j f贈mиdž~98J8Gˑ@ t2oo|›M)y@%nІf!i=csvTydU3tF[Բ@99r|Tvz. ('if49+_r CB#` ,XBʇk2#ȫXɦ]!vdOWx9ww(g WUq[q|Y"2 <1ȺkA긐"C=K֤ f|]6EoQR#ܱ$uD ^bӃ~-WހZ6j"J%m,yhӮa+aH8eD{.l?84#s6n]٘Ԕ=H3O`- xqʏ_MkfY) 7Z$НL%yZ?0d?gԭvcnU#|lytDmM}d{6-. *Kۉ?VT땋1rǑ2;f[@xźc_:}قwbmL$_-yC\3f˙)>Тo pX1Z'T .ÍQzh7k:b  h7?83E) ]]ۆx{?:Y -h &Gx;îkGNkJduʑUUo)-9z Xv_|$|^Cm⪫]m;k)dvh(^&s 9{]]fSNSd Z&#E92%Z[\ev.(ʝIpXmt˟o؅?e #&vA<}Hd,z#[g ݑ\U,&0%W#P2rE:[*8H9Agg`af^'a59/w<ʺmvDzӑD{zZ@# 73|9Eq290Vû`G< > ^Fe[mH~ 5cOո XI$+G7ScSm-N,`qʪhüzgڬYE zmZu y32Y*A*|fWOw?z=^Qjj A 75B6y^f)[S,w6OT Y]9spy[ޱ %$Q]ˆrVwQ ,:E]2g5vX&3 *N1]UWv G<h?CÑt4K̋IkbtP Sk<(qG' 6|E{X{Sp1%$.f`,aK{}XQf!jn e\ 5N=3gP6֨~gV0Kq\,ZeM:2pK5dPD\@QPC`1t>GΝIzՎfhnxcO;N<15^)qÎP`iGʶ>` 7?ɳJM1#Ʈcՠ[((8S $zFn@ TݘvS8˱?d?Fx/bi L^_ [\Mh?hGYҲf GO9<$jSGG>SX9z%1^48ԣs/5<ϱ;_ 3c'c!xMwvν'*?LU627~ Q/ȿ̌sS WT֡p+cJvD'cG2E% x]gVNȓ<$]v׺a-*iArEsұ _7ꨎRjoe}#zGPFHNQU(`^Z ﯛnXԕk+^=(OG‚)=oxo`sOxVnrx)3 N-X 5,f?rr"(E8fAOmmy4.ps W@t#j=T̈b!H`ga֒-3tnc|=:c"lb%⾓޻grT'yA2TwVVIyҀ?g^"d(M~A81GPSH'yBCT{P T~HSwDssloU8K3/A?ӐE<1H_嚈Y#^][< KHfn3Hʷv5,+ݗ-^[֔Al`nx{ Ifyh #%_H*NmLaD,W!y95~3) .4_T|[]J5:,9Cp/+,G?F}($v,&vϜT<L~([q 7I秫*D}Z3J<w$m8v <6j96a*1z2w}i3#R@IF25WwlO;1#.R͠2ŦF}93t? _S W=eKfc;fY*6# L=` "\v4< n_bwtBSR~+m8^L oB1#ӣ4_ Ͷ.*TM-IŽ%خY)?iBR\v Ll)a>S :gl۵f=BHq'L eGؑ·eD9^nFd7PȄ٘a`*gI !_Öb4zm]EiQXt`'<ecg>J/}x,=,N'#jjy[46gdė3"6砝C£W@?ZwTtRCzV֓lrSql{_B~lsJBL@:RƒY(+VqL%>n7ה P6,{'lQȲ Z؋oǏJ+3X琷UrJ'aPWcP g^KK 2 sJp/7/b|`[8J xwvj i[8AiXËj4L\7n¥=XO'IHDc*J _pev7^Knq2 *R{[; <0\RJc2\ %KTg&פT$hQ-@N!1|.U“_: tU(wj[Z$84+5{+kuMc]1!.yvY7 r`RBybp6B5// 8];%)kZR<3Z՞"_SqZ*x=#|.O$b6xibI(^Wuۀ@U#4ٸ(R6d6Uۊ y,Uuؚ\hTsK0:su?-={"c[ͼ]ĢV Bm̑tH;?kVلFҪ)3; ح8BBkV4&5,摌ͭ\>h`ajfqrTddq|8=(R?AxᥤnvKj5+Wۯ5< oxg-Z:dμ-dP oh9 |)E^6>ns  b!Ɋ$a>!p2#W>[*}֕P^)oE1mwUʀŭLY-P'ZEO9{cu\LlW|xPUyTi.!UcPZ4i792#Dpki :tyiD0ιHrфAVQ[;h"g`oA+HxSbޝ{@eDs?ꦱ_; L3L ݶ+^!+}Wod0fX]v_,mjud31" SΈ[_>wI"ʪ3^ )-'b?hة` Ж2LMXIO !oaљXgGc[W\Wt磧F 4ag-*^ѯt_Yg^ ^m B-V4iKJ_NCC:o } C#ĮDnLa;v#NzV;i9@;>Ԡp *^.'0( 찃 Z>û=WG3\%9JKaC$\E-Jfd]fR)Q&DwD+@رv.;4@BJ I =s{þVɡ/u٠KŶdNL~7~"F;^io,]]EmUk-nHiq#FBEq,zVk"F16E|}}I7Y=gՀ j )hj=+q}y\J&gOKftHt۫Jgɵ35'gPAnl@L^}q[҃w!ֽd(_(@HVۆ8o OC7ACœoLp)wZw\JПbYg_-C1gGF}Qnc@ߣwAHũdzMo?*k6NE7"-Zq`nZ׋X3uw8Zd$DޚUn{蚾B [=vXOZYF{mOT 瘋 ۬Jݍy1ҋ7Ca~#8$ɒhT܃{{-YzWS J5zyJ,1D Hн (+Np?;v)Y(l,Վ]N}5C=v}^cfZSOh X3pnP=\NG@56뻛B<7ckeG+i_Uzj9jzs/S+k]8Q Ai$c]z&kDqgಜ;S Wܯk)B]U:jɼ{J=j^33'p"$ji%L cY,uOv5rWSi nFHߚ#ccmj3VI3a؋(S,4Ҍx({t!Ж[F oVc{dSSԹZ ;ljLܪX?FT/ <տK lٵa2mo9t̿w"7P;: %'?'E>'kkbW  4LZ2:@̈|39~dݝ$#t3P`;t4?^"Vi$>Wy I]h##ɎNz;}j+10!Qk8t9j6n cH+,499ɶu{ d@Db8Ӽm~t,6TV¿\8vlP?KKE=yZ`ί*Ȝ!/pHP'l. ”TߝG$*O!.Eb,ESۅ܇cO7Ň8ӷp@_O/f ζȿ#zh,d" jOLy[t)WzjpWZ&*/+T3)TY)jTt.fl 3ُˣUʶ+9GI]7e* uڢrH u=FS^rxAm?u'y]K]V)Jt]hy9׈Dw -%xrq :Ï]_3,ZdQzYSk8%,aRr, )7R,x/}nGQucQU9+'/N&n,}7Lu:8Ud2m*2̇#n56)ٻk_<^7.QlGC ~iDjA}&~顡CxEмE0w$oIR-jFd.V/vqɼܷhUVp0@ݢBr&EЉL]><|[zj5MUItJ7%jwpݔ 0!F#-Hbʗ2򩻀sBl0nTlrj( ?6" Cۜv%6ygv~ z#uŘC'Qm}Q[;nSK䂵Dv|;"&e.Y (Ԟ QTͳ.caO* ttyꎪ>/ήj`@WpX4aρAրaTGT{ \!iHt_u6]"tA|nm~ ;8Bg n*vVԓtxW&vhYY%p 0XOqQqn "˺xLzA6ģ5=%@kt^%eJ'Wf2PfGFm>mn,`_(7\5N{fP|Ee|:z]Ot*H,0~CP%^S@iv{ pu@"Jl=\c4e'H8kф̠:_@}mb"\$4 frMMۡs0i )?G 2 jGMrRboKѯJ.VIZN]PF2CB^ErYˮ4k:wXFz%+r8^iNC=^ZټpB-~^X"~HY丗jkCNhj0S DBa'nEi }Y 9.?ELaS4AQ| \`;L)$N{oE-!gu6$@L>|cń5iViD s7-.8(1d"U=j?p`uc&<6pB9_Bb0; )k~e4s}?@Om(M5#D$Lèg*9Μ)p+5N߯n8Gn?F'_VSrRrSq;ސמ(09 g>;  lGNPYnHXc ӟKx3yF*yہN t1T0 jba6Y-(.4gi/I6-VTn@PF'eL %`O2u3ݖSJt5QEz~Jإ7$>3W~w3l22/dcGPCp}:ɾv@ ֻ3 3qʊc`sdc9]xbSy(G !d_҉ZHb=\ XRqC]6ؔWhWGۇL:)(>&O.: Â`ƿ(9㞮 zW$E~sNO^7@X^cmXYi>18Nwl4\3LpsQnT(&tۢ`TaОiEolSKz@m4Xz>[Iyn=3*v- Ps3Bj9Cdx[a# 2EQg5 ? y EMY ׹yMh-#s[8 }uOf'6v :”㽭X;P^UP0eMX[%|uYJw7|]xLhյ^-#AaRkKd.[)nI3jLgJWOɊzp].`~i@@eG5|ltuʱ܃<؍Eus1QTHI AS^&7cr}ؔT~8~@D)TؐnFv)9`71)Hbї8 k! qD6yuzFrwbqdϥUR-iנ[B7qA ~ҙn06ez${#KWE??ѹdw*-]fZdܦ[ko D7f&s; YFޱAas{u/2!:!K^ _J6(So=a1f>Զ?NE,$᱘u Ý'fċM1 AG`9H|`++, G[5w``f_o(qLZo()zcQ7. 럻^҆(\?g gKdX7ָT$"&髌%ㄣZ%Z ~kk bb36xuWWٯ /ޤG8cMKG+0ª;zeJi۩sr&d^T0ӻ%R*C $=ҿ:Il-Z0]0@" Qqm 8 b蝷>j[f̲{L c…%qb AEy-E*a- xy>PD qDQe_=r5cb0C9D9/mZS4 O`?=8! 03(ikIp_d?@-ACߜH9Op,+򅶭<}o]Ƿci'"@ 9A ,xb]o>,}yG}T%!čPB-[ :׸wdČ8Hf"GWqEzFd"r>`RfSNFM%8K4n?*_C66y 郁BpfmYvg,Vƹ q@}]R#Ӄkz=*joVvٵ"Y/9XT7>he\!n|k%tcBTg)ې2:FOUoUW ѺJ]w\Rlpb0!}EW5S> >c+#9 s7Db2Ueٰ݈QtZ떚 c(K(J8/=WGGWЈAL)#lqoCLD# 3V `iK(#Dhˢ(nŽwƨzDl UrV z2| Ǎ/=6pH46D0eii'E%'sj"#1(y?u`O}}P/:sBcEǎkǦ٠ A?K&zh0p8ID5F~_[ BH8q?|^\@)RoÍb CpTxϦN&x-u$ {>䛅pxSt~+G*>7=` 𱸴Sq& |ugl|w &5I?fO!|@ h464b_6i3L(a36'A+%X*wME/!U@\97c&;$和{nak٩{q}'^=U3Pi:R݉ WތyFX+FoˢR1?WԔ>T_V_m E1)o`sVipWċa/!¹ocXӡ-)sbʤ"Qh(o+]SRMg5ȴPg" Vo 6& {e3KBvpzd|C8ѨSMК_tf ɔ I)VjrQD0ߜֺ/ZGT% ^zw(;W5ǂjZ- }$Z>1tok+0\nz Za(MML=8D xEHӾFxUDYwdn)DmUvf,77ZvdKNUؕl^y)c7.퇝N,a @>x0p$j3Wu~<#* ƋMj!xĦ}H+tUDc2;B{9ϭR})FȜzmGᩍ%"9c.;uPS܈s/Ӌ $K=Ln,H{.Egr>>e{r'z1쐠Z%k)X8TSr7彁mnl[#?6Ƽ9[kg?6>N𩪺ivjzBA4!g.q9a <8ЮЯLC'pPQᣠPs$&M.ѻm[ h>/Yߨ%z-V eq1B&ԆDbkBy8ϟd":WQP^%/|l7C)zۄ=}d{mg99&;ѦITLz!@.#j{#-BjA8?u4ߒNџ .iENxz^a/}O-a*0?1u34Bk-N)nZ: r8L%yf성NXɲFcy\UvqAMoȪZJud#m8c^} Eq 7؞ 7 #!4v׆fN߭쑁C1Ơ8E X;Ky nu {l*[11'ɿ9=yyJF6ܦJUNwSdC5Xw]}"T )&mIz/$@vӱU[&FH3⟿$7L֤H gCbU2gyMܤG7"#t" ͜N!)/{)aCa|ZhGPǬU͑gQ}sȧɈ9J5\?j]rdE#$aaU}sܥn&Fx ̞~P(3+EV0K٭rAu3>yg.NVF2LKCRߑub}[ ШͦjKy5垏ƀ,zws؁\BIUnhܖƸڣk^`#Ю 8ɕWܹd5zU7SG"P3"UzY9\$@]`0diR,EA# Ij8ҕfI鹤jCgV[ <$ YC59u3p[x%>\9@ l( O^As%'F ĥS}.~!I{KY14*X۳ԏ ! KC >MI]cw=9nJ9f)c/g<{;BiPIRwS[jРU%tTԑ9B8eɗ1v\na"l]{d cCud)\[7 PX#ًmqRPO. 8v(Oq]•fu="^AX_Rlc]5߻(E6a}8n2j.StxJE]Ӽ8nʚӊ)O8œN8#A~NBOwUSeC5ΞĐ1ᰩ@>P'!ڌ mMKFIGZy\=A+C< ʙYx*::V˹@5 wX)ʊQ2NU_1Po#ϲ4M|6`vL%1|T";Y3rI+$$p3c5j0xkB@¤"9~87+LBq,!q1RH\1RlX/$OuSbAlCWtiIдwc&wZ&"hn"d13+"sѡUaG)8C<g|UC -;q&VB^%>T>A5@wyG -`[{(i zjjȫhj@E1ځzdPQb:1{f߲-;!w醐tv`CEME1oj;$f֒=QNh= qx>WR0Y4GzU iyut jĸ[jdaZJELe=aKp'S;-##.<"(@h.ަ3Π<̥h~kMû o\-2o)ϧ(z* {j!E˴]fYC&XNaV.U13Q{S/;W1 R{ -nj p wz' z^<.PNfVsKA_-vXd/^U9 ^$ެ[\Gt+!,>yO/V0r &9y#?sᩜCw '!Uu_dy}`S@EH՟ݺ nWr,':{iBWKW*XόG94SE, MdVP_[V= 䠉t- _Eg>y ?qC 84~Fئ1ŽRK<W =27VdͶLNR,&A1)ŷ)ƜJ\J`^EyCup?* 7xmi:G6)4#S}m?9#@x50]'Iۅn"JNۍtUeF>F=[t(B̬b/cX <;eoT)؝f/@C_[H} 0"a]S6(&WK;~G"ڜUh** u-\{Y wdhsjDb |Yq1rag3NB(#8{(8(¤Tp2 n+ >ev#v%OO2z# "ȇ;hvhy: YŁCiMSCΰZ}xnh&Ƣsoy,FB0 !4yKI.ح5*#VOqWG}S^T UҾ 90SnBD.+׋Ym\>To"`$V2c$hykb.9@uR2_8Xkl%gdEs[F~rt)j9oJt#K7gdd}}Q›f.zWZ4x2g5_?bS# ~:ZC2W_ [|$rMTMۊ[1]KZ\28~ie*GZB3ߺ.4Z_pLq6#dzFT3nGZaH{UVu9MXJM6Hii/1 7X!N119+D{ëي``b18#,čD+ti0jnOJ,  \'DRѷOڧX) (ɌaCr@٩B,?b)hd*pkLu`9^ }rEF_a/#PE1OK!cͮuY ͙"} A>6qq-)Tó[oI F69젩Cr^.*}L h _B{&C l{{1L-C/%!0JӶxduoZ7?bC 6" suE6k|k9빎.GQ N\ f[!M[/Fnb?'j/FLP ߇Ht 9<-s-MȜ]{)%ԕH!~zpJ׆Ԛp3<LUiGi"[=Qf"K֞V\u2%3Yj^WgZ&"ES!3!Iʑ0..b:gsdJ9hXkZuUtxxckCxȲʫ4j*}_.gƓ4-lrM诰z[`rdk$dv"Q ~/ >7<)wj$YQa}F+ Œ/mPjkD_ Zuij_Mx]5D)Hkzc`3nhY@t8voGg}g, E p`@ <:yy-6 H:darSVΞDTeIxI]31Q('甤@|tG/qV<[;TvJŽ#%6J6u,mj8$ PBGQ=ALI߉wᜟ&|S& rcݱ$㙷e>k/A+,ȁU"3h(`txA{ _ lǑ їcBb5:t_=ȅ-  ?A{>߀ɬX³/vE@{/Af\¼cT==\ W(4|1G\!K>%#K0yլ[37,E ƨۏ~ŵ [F4NyRR~M]ItpNb`[B? fxT02V:P Ӆ0bξӧ9_PVF1ǟCK {HC{e(/տܜ#"q;P勛1fN&PW@W'[6Ùs%e:RʧNjZ[^7 LRZ{[-zEؒ]K)VZ#Nu唘~~!FyxK>k[RD" %*z6ѷ_)8M/kwDQF5e}̫Sz(<[ϴ8;VumozYE(#,{i-^84ܛ VBIv:r_rKmH=u4=*rm"9]5SO>]s2 =_'> 1z64`X& >VQq&×CxcUc9Kn[lD .AZ3mHU;?9ΖD~,`uY}Yw[rVݡd 㑢qI\9MR$wi;_sE35%HEe]"7WQ:e4ZJۓ~4SK3jgɮOlٓp+ ;NݕjGN p 15LX$lb8t7+o똨 wJߩgɡ yqV50]+q0T An-6 [~A3XJqH]8ENiCb'I[eEF`4}YyI6J) QW+v_BLx~FG怒EלOnsɳ {;Z2#Ȫu riBoV9D8sF:--/^x'./L0ӟwBBw7 _4 5iC' b7ufU~LyG]>Etv~֥/@,[k0U_յTq|~SnJ Fq&j_ Ϳ}z[z&G1݌#B&>P0̰ZԽ}jgS[@ObtA1{ 3_ޕ) h_~8UD{4b'瀅&.LmҰ4MԤU҆йCg!6ld5õGfi?#Atv_˷;ȱ|bigql8fPh17:R963Ӧ ѵбyQ~ķC)H)Kpv`-M B?fdW.O"֋m$$_v/xSn.&<8fx#p~Aj c ].ږ֘.Rg"v8y-&̈́39uŠYbuϐ9bxϙ}UD{5"%^_m$EY劖'Z.pk@lKk+_*$,AB)|qޗH؍ues{F]2/qZjv<6"4(, -,M|F.YR6%ipCCjSȭx<鬷ҦC)xE6̳=i.='bvWirO[dV^z Pȝ Tѷa΄K9~ ~oPR\~I:^ID`w)GQ@_ H&dw[+C)O8$(v]U u^^O3l @vLhY I=6 ŦqX(gHQR2ʋPPp #0EKH Ez]}$q8hB?)TcC 8ӗ};3?k7mr*4$BC P1`5>w^,䮐J>#~yܸZ`n}6@)ejmWx{ Lq;wckXa[4;7HP/s"P"_%<xaRK˗14{.{9a3Y2)Ԩh؊gCUYKbaaq X=#⏬5% tr;b҅2nR3v~A .56"a9PE*OA٘At6i%OG C]}HᓕFۂ='GnC+d;OSUJi(΁Sf7#@΂ȝ<;xJ(^SȎA#GU'gwO2_9F=7av]Mrn^'gzMnآ##ݯbd+H"7E!(c~5.G0(nTɫkD#?a/` ]dqM\S)8 V)G-&4B\nT~wһcH&Ҵ#e."^bT(h "Wr2Yym5NjTZ}]١,m9'bi_!VZ˻*D[1f[OI#SZ ^g wz Y~$:*#(`Y Lg e`orލ,!fm!4QWA5AfKu~܏\'1&'t f [X>$s𴴠J-FCz'b a$t?,`lT->. !]xꎱ&%oI\#jjLVʽ]* 8)REV޷")aE슷 vɧY5k<}X:?ΑRjپ}kjPR7|ZVJ =n%t󝖼~Q ZI %=AEJs#Qo"SOҋXZʄ<3J,EYUZkAr<,r-o'>3Ԥ詉ٳfOp)QdV\%-L1O,&QtjY{^dWVJSWjcf8ɞt0>s3/.im9vI \As'4)3#Ƒ~_L)r ÝL ? }ǔO=Syal~I_WI@gڕ%F2IcNd^g+>|n^tp{P|X[#\3 9nt5_ms AT/VT() -l2{Lup/"6J'J-b'C7s&Ppsf2d1u0ױ y!U.NQp,U,Ya+W : `pqz+TAmHuYf_AFhUKK<<9(e338*[(tF\Iz){%aٯ-0nK^Oeݏ7;0TfQf1Npbal􅯖F f8U%v6c$*b 6Fkc ⿨ÙEpJ?-4X\L"xĆ*讙O§~4e2#J+?22eV/n.i&ɖ~JMc?2͙ZmoDeӝ!:~1vbWOp5yӮyR,,@ΕO@`_ p\q諴_o_'7J&C?@0G MqZ[SrȦ|h] Pp>ӤWVWJD{*LYF&e1&J<"RPrĮ<盔_kFg*iovc $/߶ ;=cwpF)^D8&N!g0&-*>=7˃LԸ;͠! `A-vZFcC!/U>93S_/tiヸ=ZZuUff=ݜs5~rw ^#NRr|›7Oν~{ z$ c֘ zi-hޝKrKoA82|iC393rFق^>j=y\4NJAm7t;ޠ@` \_qZ.HB88? 3E]+%yb(,)#D C2qFUa^#Ou5Ƣ^0;%-zOPF;|10܀|%eOprPgI {DGDߥ\}PH8^; VVKyO/yA CjfE6Jik }U#{Ơ~?{?)"ih~tU@x7 gO_PAH"jmMT̟,P4ݜB'M Q+q0{75Դ8` hEjI*AkK\8q^;ȵk[% .Opy4H-dDb9RFhiJGjI~Ŝ'9(nX.*uRˁq.aLuC7\領P!\3;ڂ0d6 x%q-z۬2" fM͉=쮏"7/p:8~0&+enp@CBfB쾏V-cv.flpJXZokm%r;C2SRH+UUyGjIې ܫpa"Hu蔔xZ&]ºKm>J,"]`lAh.Օ|ߓ++<ڻΩesp] "E: 9e!7M$0wf^K>[+0eĉiXU_(Tb멪̬NkۊЦƹS~pqa^[lј{l} 2pY8QK+* gqʁ0O]d.UYRz \0J)p?x9癶o6\ D ND?o`|x6a X=dβsI*nU꼱1!+asY#8mtp+¦M@;OA'ѱd*~SϓJ:ʇ=!"#'3K)}N%QcЦ.GW][jEep2XWs]t\I=YXʏ?68jW1Cհ9/W2}Ƞ@=Ò.EcPIj~}55X P<3kn.-: /.BXT ͙-j%{6+)'ce9j,aaWcjȦ/8)k楐kkt5KGP³ĿjӟR<1{(8s/Fą[5E5[tS_1纘k7Y.핅f F)<_<1%Wйw7_3qR15C`!qÎ-xy L!nL(BBb3Ȳm\kO; 0 Tqf8iN9|eby~]?in2芬e|4;.aU8\ۡJŭcGc'I,l倩X9Am{ *dRcu*l Ӂ{(ԨwDN l|X{PjqˇG3z*qeYTu-=^6!Kxa<" `K8k\FGB=wŤYoó :2)r0t A Ą+qȤGpfjT*"/}~w CR=WM^"oߦ:S,I'mXN޲o=pL ~8bK3t6NÒL ҇,.ۨ蘩$ 4gx)TE-J ضiKTedH a[ 8Q$=pV'%N0k-|dJb 4]$Y6aq &ž K}fZώnqβlK7 K4+5 Şr3Cṡ4vAZגxQ  6!JAiLshbҖdw! WkLN;] ʍyS0/c(R4Lbc=:}"=am@.fp ۈHBgV>clu7&ʭ/jB5-"j٨zu?K0%mбbX <\2AaaŵmS5B| WfhV* T]4bя%wD9*e=7AorƜ.tDfR+9𛕮*کE?rv'K:ݰp8_:vjP J)P/Iㅤ80BW1cYܰ,x;`%"n55H1mҌjMْq 1M{XKx 3|J$&%qlkC#G(:6FkNSG_2@_^ B X*bCv"wM&drF—M̓jyQ v9h&فU?r{1#Id!QJf;7=CQ4q@kHhat#)LG>$D鏳 =ޕٯtmf%Q3тxsxOX?KRO^J8KWdCzy8bW]l0i)ެeT^'ꎉ ZTeܻ|c/@{_V;tgM], x-}kL/H+3G- 0$b2m }47]rsX]QøfqW꼖)*EMxgcYd:wЛ`҉( b:c 솜]QStL>OZA`O9)>/#UO-jQ͟T$3Dܻ,Jh(5yn=w.)Bh?O/_Y.>LJz~ɨ圣yt#lBX>e i% d+|pQQ#zC?ع+$C`:ͤ퍡Ow6ܡf6&oq-LMʁX-~_0һX*mft`l<% \VFXm.Uy;}ʾ$,KAI'Un5GH|=9KZč0XDEiOѶNuBP_!ux+-VWgoan^ˆ9dKXHT p:v?VW$mё>f'YwjO;2]6V̛+D=tC k =-F2Q7\!I1kV#ΝyD5>j?ڲjw]25ʬ=iv.*BPT~0~IB}XGc7! Wh.lWH,JpŹ8qft8k]bR>D3^fRN3zB>U/BetrEr7ZY0?I3k:5$YݛDlhZĶmon/$۸oX_G  MD QňP0bfrP^ js\~{|r3̮3Pfk :Q$K[ 7ʴkMy _+Hpt9t96R Zs0N [s~⮻)vUg` b"$\L*g\9 A-O+۠I ޺4璽~7\}cHKZpjZh,O!y[m>P")u2b^F_ԧE#xOEkg%O_>̑>o[oTL5&ق:U#)LMx<:rR/7lLKٲFY`֣4׸g1Zt&&+y]%wnίU b&okn!8?$l?Ǡ\;Č7V.He >lQ.'~1oS Zpi '/m8oJ@II[-0PYv`r-5x2\RUT"X_Խm/&&> g3P5BRcc[v#<3$#MB59i=3Rc:8CFyz51:6fSC҂3paw3|G|\V.Gޜz@Q: wՉO=)7׼c F &6 zg`HĻdWe_LW Nkzp!l # #:*]=VZGUT#G$l?hUzju* |˳Fp+*W8suc9dbJtp)20,ztɦx[3=G&5xV@x %;GN0~&yjn`-Vj⛝e ꟧2|EH'u:w9(J.M۪d'r}5};QŅ1\$|8)!h J*AodxIfmRb<mg751XPbKO$I0xn/1g-nUtH^5;.nxr_(StفnMԔ;I5$tLhQFeI{#5AvE&G+ߘ[ͬ4;To6ȱTE27cP_ӜNtW Ry;SGb3 hR(B%Z MlkDȷ31劫k5 څ ᐉp$ED 6?h rvZ ueGa[~2rXH(nx`aGl,ي*Bn(Ee<[wd$V;T~"Q$/p?*S%!<95?£i fXI]|V$5b-s'aU*IFܸdUt7'[0m<|<4=fu]]PG=ca oFF%zr^.l8upo"\L`b9IЙ0Ֆ'Wyr[Z[sT [AUHYi /cjQ5RP:B12{\k]^^y+`lU"?}/>rYLtd3 NKmr<9:9"J@pgmcjgZ)&@|9%qn>_qopnSħ`Bx[sc礙>͚ 1FvN"#|ZQ5E\BRGh( hE?Bq›}e|6N X~ 驈7d?9L,߻tz8bawLհ.T0iގ`` H4s773=d{TW l#R $wnSS[yM \^zv镻$fOI;io>j'j%Y }"* l+[7k2"-!Dd%9N*۴GK;mjQx%q-X0$Z o餲<.aئT=|5c<1#OZϘ먂*  5L( <=ZGD䫋?{%U&STM +K@> q/vqM6;Rdyu}S!l.l)pXZ<ө#= B!\x?(H~dQb/hJ\`%,5`ہMf̗\(sp_x$2*MkN9[*[epk &ݒGywtl5h>d8^{!]xMQd= _O%/X*=>i9m+m"5izB-89 '&q/qTd싻׾@G &\6¡/"NHo1[T{KXt@mv& 9ҟ j &v.Q($*/{@E]C7 eAB-k#Dld-z*#l%x/:NclǏ(V4 iDsG %d=MECPP ( Mp]!W@…0@{Ӯl@"IV2$hL8w͈mϬJ|!vfSV ?LzC2@6Uo SG8uSæ@&.X w(,֡V7@.H(x)FCb/ h/1RoطaQ/uQdn'Ob.gDi{,iVe45?\\۵[K+-R8KۍkF@cZG[aѽ Rldn&Ԟn30thHF-ñ|1 ҿ}| !] -'Dcsœ/[؍!06 f)@Ʊ>JsX@#~LrņуSAM8Y'+Qo{T-[ <'wZG;M$"ST'9\:qb:k$EgIҤBVD3%)}bh7E \J2%>ZgLPṘ[ DivRͷddXT< 'QrTR/X4̬kK.+"qR8Mme(cٜpwddfx|g@DZoQ ջhGւdj|p8ZEdiqg؏0±-b9fsط}`7rڊf%>n5ܢ7?'ՆI:h!xt4sD3 wzUN/d}7)A<ض1,7O5uyBGldB_S K7ў>*T,[70v&J@\KX'ܿV} ptrU+Z犋M9F66OFy}X$paգihy0vJ]sS  vD%xTNpcQr.f)9EN;}7~`{zlF4h%>%Õ[j+j[man*í1gO];ؿ s~gu0H<:&HGg]F N[k /[=E6}d]X~tb1$[R{Ef)kˆ@?IHqϜ"T(97vdg;bq|{I~"S0b%gMk(އ-)#)|P1v5J&Z60c%;W7Tʄ24w(= =ɐvRgdg8Ӑȵ_֞"QޢYkÉ"phYQ=ҽ5籄{g#]PK,Xvy|RjYϷg7pd)oLmx&(_QMBʀiɹ,L\h" `,R/DKӟJ2k ztYY,f'NxHnX5k 59RS-݌O6 H2Qi»2Iͫ=5QY\̺X.o!7"bv&!=G`3߅Hz>4Q.S޳G V^@ߚziU|&Ң K"i˜W,Z͋q*Q<{,`\}qevjs} -!7JA{9l zna p^֑7x29!k'şfv 'r<OnoED.v" swD#hx6_1 y[΍xr3;1si>ux:()Hz..2TR ~:53ulG'9(p̄dsCvm)ECZl/g0p-w( <<NlϽUەE4<‹pj<؍ys!h4jIsXOg{E!F \R \\Τ:F${ȗҠL ^m`͜k^I<6b@1l yhVPO ~R-!7I|y <^K0(/o IBs$AEd 4`1*`Tu 3n[xHljlvjLz4B<UpyӢG>$Kؼʂ g'"vZOfԦVUWY@kb y] ̛i8Af 9@ԒyU1MUzѫ6w Y_"fAaPB#3MJnqF4cx]jDGc3)3HGjDsJ!5VƖ LESΘ-Yڅp܏Kl`2A!0+B:H6Eo\![ ^`$S51VPV5OGkB =zUrkt%"uj|Pǹ1A$To|(M\Ghw cMp#g5*=VEі.1/^v rNTa6D"Rfo"WX km +&dԪ2B,;L,3\b4# eZ;C=#خ'"_2D^;K%)-Jf<%~< ^5#0 pOE9};?'mT룰zK@># tzM!*+1=9%jH+P/`E THŶdq'3nP[宻YVkf' ϡ%ۏWmF(Őe0N7 m5?Mp7_H)b67@㡢&fˇF.Y>uJH:Q'vIʩg uDeaEo+OןU<*P:hWG`j{-`׊$ﻭr>S>gkjso(SAk|X{ %œ#-JB ٌ^Mj Rj k;U(=SL_jwˉ37a8>qP3 jxq8mc~.%dcdl627±|)0Ի\=Y`Q́X,Ashzߝ:Z*RH0g"*U-:cK|>`OjW%Re?}.ffNU c8LRIqSM$G 0kWPz>r_cMtSl䍙JO !_劇5^ZkE(kْ{"vQ9)>v!̓+ւӣDV ^ϖQ|4i!ujb?bl,f\5&{'ܼBeI `ty,pu5! չq̍H r΄b ,nn>*~)'Z F ۏoZsc]%&..`0fGM2D:$[1%4l WGo1k+ƍ|Vx^om.W|p/]zm ^`لx_^@v$yVe`$LR0q5^& @zCww"M{X7Z Rs\zEp.խEYoҾuF<~q<`~g֜% -%~cH;=s]ct.n-0f74=M7s?sU D馽 p%铬NtLן!ä/FNpo Ї>|9b 3Z $LS!H+_ERVg H>V,=jҊ-":oۉOlI}K;湯l,_xG|uFS8ltD{90ԟůjl)|mLU}uYr tj1 8$iӃݚT|O=!ЄI@q3W^V[T٣g_IB)%?Eݭbo6{+ttD@BſnL{hf~.WcаxOk>%x-4 tKY2I\:P(Z.>ܓʲ+}^ʧ̔ !xԹ󪥿5_oF4Sml@4`ax^%0|rsM';ɾPbYnvQ1 СB~BH.4z^_yƷ u.ޡhSy1ⷍ~ `5AYL7tYjyP`J`sQhpSdSc$X{?.ܰ;DzHC'd[WÄ'0R֟W'Uw-2 mEB`@&캍@o:KIv,yv?}tpY3xS&AMcM|?Y!zM PP8I(r3m[Jt vw!udsI7,g~N*A&oC@2~U{i ?o8,;fLʿ[{ |D܅{a3k\]r$ܱToŃ=F !nɏ;5[s ­2C^I; 8^GJeD.ݳA>ˏ ٘yyߛ"U09 :j`~ 9/8Z}Us0Ubs@UOmj ^x <` tn}-zU؏"9z[f%@##;;Zu"W*cF4ʏ4waGi-[]\5BaD7]y!;|K`P檷hI滓, kK!ы?|u_DQ.]7Ie#P:M? ʣܙԚ=Kk񞐛vh¦9#G R粆-jG%oVhG1 Ѭ{*:IPoq&n?3T Gj dK_F,n]KF_WM9s}N^V?hBn#!Mޝbd4SbC$Mz8*uwtGNԕLy3d$a0)'N^'meHQ;1J}chlFAח0F %fůlXI| ѥ:YP>`%gˢgr wItUI-\U( ͝EwPw~ֱ4F!b+(I:h$~&|4+U'<jll)~-8+&U= gHhX1WhS~VpVťt$ߪ$]V[hՎP-N6`53+-xdF5Gr_$J#ffiҟFy<DEv%n͉RT*+ZX&G<)[cyLI!? + #Waȋ,e_2Ta_&ŢtY ޳ #yZ R5n)6jDofBDKdU'9Qj3f!ޯL)W)d2ާu9R/ 5p~(1 Ia_#4QނI5ۇNWUo߆$"F7\52OVlX<~뱣Z&6<*vF@L;?WO qpEJ UAk1 ^BFJ֡/%'<#vpKˮe/֛qE5wT$VEx$l>T;R8DrVD/f@ܺ6?I{s \i"QO˜oHjI˗d^`@XV#Y s]CXaHShhy݃XORXBʎ7Ĵ< -8'둩̃[xx˜졺X%^rNGq8KL'gmwՍAi5 D^D cx w"V@[`nKwu z_sqY]FQXF;-A>{FF&cKsMq7VȩpMQ"lgթt{˫c˨g_]d| HQ0m㒦 l9 /4ЁtPMyީU杚d}3\5QNQG0FP闆5lgر=&RِWO=2a x_*}YwB@;)~7"/[r_GN :+ÊT B̈́;#G:\OFC9?ZoiTxP C [4 < y?9ArQlqnUZ<|$ayDI}dさN7[\rBќلL&H,$ŌI~^GxaG~tF=_7@;ݓ'Tzw 04 y=(n@9r*]Dm5mJX$zJ 56> ̕C@=$"HM/˳alHq/jCLW@c[=qɜcqG{؃ `Si@Ȫ3??8N*?Vq^) Bړƌ]49 !(s7Jlоh9^*s|Eʙ 7`ϺvcGC5{bp㟭PELj8gBK!cU|ub`5logk" 﫻t& w#\.O[r5bÒ ^N<'ZRs#*&:7>?g7'q'u>(C2RDkLDkJ3;L%Bg鶲B.t[Yrf0GdA][k?Lg>a*vG<,]B`g _RlxS G.dI%Y-3=qJ%Kb y ~1Kc6|#59ԟ:] [R gD\,P)מʎP=W"P87Rg2  T#<\Up{bU~0Mg ~zq_7 )G? [yRS"YYtA2-m^RO4Wq "蚧8#H5X!kwۼ0ffՊϿbv1og;,w ӽ[RX_3=3Z)x'{wơWP '+Ao6E|Fe;] ~x1Ͷ8ȕb8',eY=p_hPn2cqt*̊)!$)&TS{mG9ߔ~3x ,1f-ur?l;l= r3 O>ԕٻs 8aT.) 94Y~C%4^Eu@ɛ zX =^9|@bYHoy%(tOߚA&S9ƼK0ylU2LQ:arRrrGLdLm =$e9@=\\ 9>Xۍ"2;dͼtihy'ס K/6|QPEp=RAU1SoIf>ZbDER[$^__̫ټ4f =~gw@ ΁E"yk0aԚ+ZVeSVœ*u\=t'r,jXG' ;ާARE=%~ZaRل}Fzmh 50|\68MG~CDdVeCw=q +Ň??JAX.=[Ii a&۰$SqJ߯"kx*XE :,zI<+(ƽ>| OB\&LWVm 츆]2F*Pm3Psɡk;fY]T$B)/Z#$5KmčDR%;`^i+4],9v.wا*><鼚-F>}43O@ h`k1c6 E7? jF1V'5ū6r]NÓZ ?ɬ"pE*6\<j2C;=D3~ LiܼHc}M a֔" VK'}1xDNiwL zM6"dǽ*WWUk4 ר.VLߐy>Ko- .[lj\Õief: μ_`oD+#4-+rX\n744%~W:gqAm`7WR1tĬ@CJTMxxdW}#FMh[ؘyd*8 3w#g ŏ;u _ XCEO "'ěYw( T־? D[Tݍ!>In~f׹O1XQF8OR7AJ Zkzh238RsvɍnhDVS#O+ /b-(=%uNoKzGt( ˽z\B{#uVY#dsXb[U"΂=4SPq-BVftcH¦7r{d:ب;1U7lo\&_RJ,_.dvp]#ivr8gtE_wa.el@1ORyP^GrUdE%L5V-Q#ؠ&zˏz"ëK#nk@TcѠIwu\f6vguq%09۝ÊQ2쐗QVc|F~V-8^&= KkF|I/rhum(y%`2[s;xLed1%-K/R~#vw,v<͈?:'  A.kz/VSbI?،;pNÝ7??Rgb5J[&@L? )DH18FOo (!Q R9Ub؁x/2 3_2$_<=-5rGAϪiDʘȐD%}2֏iKWͰFm!@ٷȗ&1ѫ{]W]~~~A:FR#.9u&-D;$0J",[bdլTG}(5kQ^N٦Ku&yWeyUp0$AWYz+}l pũoqأՂhg?ٲWŴʼZ 80&nΣ(6i.-NyQE6A3i~^;l>{I"4lwqA[rsQ K9b].[OwՓMU^Z}^bH ;3" kB_QKH ̓z, ǤzNM7%IKeNR{M$;IդZ^+ȷY0<" S4-UM=Tya9I͏sGԈ,;_z\Z%fNh>mOvՄb>qDu*-zAг!hƷjǒsZj l8*$b_Mdi1āOĔ?W+DQ]Gȧ#f66:cfIsF v9RfDѸ 陦m'T~9䀝.ePS#D {.Lc>t揮;0Pu59:z)HY~U0Ƀ`tYΠH8M#iS'e?!aeFW: Y~gOfyuwI_˒LnK-`v ([hvwb)Ddɜ Kڜp{7*jd%j=:~}3ԒF))#qn)ܜz"`zɩ%# 4QxȡS|؁pGmT h6Z @aZVV5s;B( ]&m]9ל#;R݄ggTox"\йaކ;a~Zۖr9l}-iDwc^_kY $L)Pvu!3kSߞՄS_@JZoVs(įIJ#0wsf6{"]RweM*tMl6$ y= u 8GC"adWz1TђJZ1{f TѷQ/ܒqx&$2(Moʒ᳅'|[ @~ 8; 'ǽ xغL^b,*X.E C}jDZN@4KD>_pQYzep"i٠)z%r^"B>J] TnkK&{(*u!xCT+OZæ$oPGyJBv6i"+IjK#kG!G3'NxS@jbn53Kyd(|&锲V^>8ATm#N- fIO<x/N V s,^/F0V^ᘾk}{x-f .oE~m֞4-zޙ`c`_X[g̣:h29 m8 l5y DQ}Y(4 i̓ϰD5\Cǽ -(M"9s:sO JLϭ9ZzS726_ɐ7J3 z`Pή[@%Z\H`qv?>&bI'"083cbs//c'V 1(i~\`Vq2\*Th5,&sPt>MVeEؾzrgC22jhX/'O|@XrR3+Yd-|JZXٹoǿ)3b]&WƊ$-Nt(nM/w\BoMLqRc!T GPcǦ0w'_O,K42g/,`JF!lLSa~l~f`ZI%d zMUH,4ф\%7ı+EܣJ4'&,GL"%v#iC\K6/Rt)(fu/5&K09d N%x=y.^=P2YnݷTqAc%\xVvE$gs6_vx;D6ȳR,8(yMC zB<*UҘ7{V2WBSOWTӚe6>yzϿH 0d7C45805S1=ӽ6ءrJl߿,h)u ;b^ʥ6X9sD76DQPbiá$@W^>!Y=Ȍ3_pt"{džc>ћHz i-W,ugt7]8v4Q)s:"CN@F/t@yTk='iQqKEުz2tG4 go%"4{/.-<ķ$=0É!6m8HJ^+I'9.UB(ÿo[H|F_VL#&H<WihyY`_w@NjQ{O햋&jբ ӊ~]taLʣ&FD/rh|$&F䫞+p+JX`Wq{|r:0Hg),5˧ aWc ?Z4l50Py[>|0h!5S.ID&y Q"ZM`3nIOT^i9;&l0BJqg's$#? 'U@ZFkJ Dӥw%`ʐ9iPCVwֱsȼ^YW5S{JC{+6luY` #hgGfc`[oOijgJ*"c!k'{[Js.ۿ|O5YZЮޚ _2Sh!‚yDUCeW30A";\;ꨍc\꽰lu.7J"FAgHpSg"F˫)wB4؀NŋgsaƉ=-l):'yXu<玟,\2yR/[/<͝5^5>+w1{cAEhu,wu wRs?!e~t5]hm]&(7O ^;<$fF!ڒ/=&.ߑ`J7uY_*N8=ifX-O Mڒ{L$5sx$=P/(ah0#Hӵ' ra I YOtu4vI/n& i,f%݊ Z@+WێJhSbSj^9m@k}3#BLUgc}߸ZXٚxOMv߉8ԕ!@ -(_ި̍9\3/I )/aAiKY,YQ̉M|X^+7RI s\4Vy>Ce2Z]pY}%Vk,~$3w~:_$xmĆ; I 6vS$SSb D{^k# u&8AaeXQU2Tn-$pvksKaG  X"4Q@صM!Xy[;^p( X[NPp0XMyybE~4X.ZgGGSC_p*ˁidjZ_aJ\2>3i1Ȋ@GOrEdWohW@N0OM9)m*ki*\93:~ Ν@5Բ*6T;41uyU=8B7 j1^ +]3_S9n$vY*~llX`fx h)ݮyg 6a+0/idx󲟼J'Õ^g!ABN.s~&RD {3CoZ"T/H K+?C ]1>l>l{Yc®+Vo>##&'.n>[knOxye0Z,³"D #2tLsPDJVũafm)ӄM2k8-p[peֈ o$ ů+WհJ$'gpGtLp) ;2}ODE[Z/tAh,Y,J{ :jԡyX[%øu5iه]Xi@3Wu-D'm||0RhEִ\f#0sq<&;Ŏ/kPoW#H݈2MEcPG,iv^IP7ߐ98ع!o}>*(H|VC㨭"1o'b|?8 oyy"wZ":(J{/&gݕn7]%f[ڑn(]2Δm!0[ Jk]$ AYmw0EYvQܣ`<1CPF610Mcqv8q{c:\w0~cavkx> ` ?hX7Nj! es8 2s)ʳGNˑi?_N*-7}W{š鴗T:£(K' Tܼ-CxbfM K^A9'V6j+뎁8KE֤<ޚr4 d)e6(427 Hm [ˌ"پ=K?sY\Ōji3ʜU8>%w~];áo34OzK\L)ίk_KFs?pl Eދ2|bټη&j ndBM\.w%|:GOMkNa5}&zreN דVĺe͸0i׸;tBT/@b|PJ 3ωl}2mS!Ado*  */#+J% (ћek,߸!:ڙj [x3ԉő^OF8Z }Jkg%uYF_3`w waN؄Ɣ-o>>1}rG$|ah E#i'شϭo*\x^X7C f"3e,7jvkuPMO*^NDЊL.M3vl)qw6ţ@2wU\MPT5+{k\8wn eЬ; (:<>bhH`cѤfs{0#J=i _T繖}wVm%%p .?_U~M}$S]}|E B.YkצYθI>江>vbh*47^󭖾قy@~`MeAc>k+1g/4lj%83Rԃ|plh&Csp::.c$x1JB%h$puO:\hrQhL`/=-T^ U6\<}H39K+wZOa7o:Y{>Mq$=&x,l'iE.O瞷6$Kd}jcp=mXR숪pƐ5ǽӻh/CgpKFlq0d<G}YwRq{` eҮ2x&Iivx__.3Rܙ6fiJuw$!֫OܹM\FWk9 fk 8¾r6]PJ@NUoߙMz`//z#Y}%2SkCE-*hVKcc?j>$uǡ.eà ϐ+mè$ESAI%nH֡MkXTK/$4Z?ڬ!) 5J'mň,d5EKƷ2B!TZ(R'ik9xB#x4SvvGHYˠ-"_t~>  }t].[ ^7.ė{T6FPL"tAãEۙ.'CXa ~QsvՃl~w!H 5x(⇚D4KRPh)&t9~xV -uboli:4U1ק1EXLA6^]$\ZdNowUūP{G9XġԚy\s fz6X9Zklx$]uﱔs_?AG'>D7Ô[ވ/=ԓT;a~f$yiu0\L^F'=!RyĆ30ZU< i#4gpSs<)Yʊ5-!r96@{~_,hI̩9 aV4X5B!jNTٔ<[ϺlyÉolObl;A.^TrǤДB4T/ 4㘟 \2e`D lڗo*&HQ=eU[ש1$ߣϒY歨\&pŶ?.8@~$3_ x@ғ7e-U:ebjGnf1lag>q(Tyα#яDY%&¶DlyYav"> b QR퉋(具 K_w/`>W aZ@Mcs @e?QŸL+,T,{GK'26fL`OB_M(`ۖQ\ t_xm."]j!f9^t\]sw"Po>ij? Q&z.E W#ejF40˕E4)+6R„ NFQ>Կ;"뼫`1(IIO+ʫHE|Kz/ahH֧&YČ|և(Po+c0U /{ E("thlm)t>fnA?:ei3do)-H̳9mAmC#MuJ}kCO0SAKK9Amnh@7da@~o Ӹ@5)MN$Ef%YTE X^Ǩa!ُR}OðN T08c$0&X4Z~f[Q!n3JEl(=V[V!qnȝ\axNY̹Gψhޟ99I6'+ ʇtYeP$(~>f +Juێ{SO,BV ?|hRE~Չ*Hx9cRgC2 ZG'r[ԇ8-bd(cc^#/Jo^ERǚfCettӪ݉ZX-YbM_UZ&Mۂ ?7}DP?1z]Zʵ d>~!#Az@U/AhX΄ ^$x.[& 2 3zAe ^VY֊rCV7i1ŭ>Ա#s^/s5j< /k; W<j]Ԉ"[}ۏ1|?$vx$H靖PiҞhD*Tצ%{w6f S bU{`j,Lc@ %KYDs~`=vv,qeCP48'm5Bt~@? 4;~wsqs&GpdBN~+3OX,j[Q_@ M]^:0/9+VuG W'4^:H7/q{E9`=0Njs֡;ԭ}ҴAŒlqrTD4ʻD$hXB1VLt2AFR?,N18ajJs=UV2;Gdŏ3n}uҌV㰃`ىQY$~X(Fo^޴l:S8hH-IC DŽ&o Nw` Ȣ)#IF>)Ʃ W\:|+UaA,Řԕ;uǞ $R%%byį[dʁKKB(;$8, vRw9I#/Aa`L$-jْ_ bUoGCb\et;Ԏ{>|ìtxR5`}W3CxK!LNHҁh]#YzK>fMP!$ŬA7D8问o!^%2IoDOo@>YT.jVkTN~;/b Rɏ4J,[=]]`o"MbHMBQzj׾ L֯K#l ĻT 1u6&PY8"n*o>ՉPU,s|)'A`v6qo /[YvCzO+SgnsS2`}xlXYΡ#eD]%qQVp- f>r|z >z ^ei=h\:Hߏ +ķ׏ϕ Rמ+N8!Ɂl 5 Peq+採>/qs`=Pk4.jD6 )sg 8ZMѰtFjhKP*>~Swa g h[9c?ېpp6kbc@ĻZfvvN[Uk2٥wva^^eK]HgOp.]LZ%ΥXk,+PWU1!EM?4 R_e㹐.JxCʎ78(n iI&`K1LMtOܧ3䬠Wuи gI"oE”_[!si x*kQUHn3w5 ˩<džgB#3i4>]ȜH&n#@aGKSR]QU^$2&8Z3u6fFɥaɧC~ʠ}2S*N>at|hA$89]b  wf`]qUG{UB$(n0okZiOY5恸Q/'8##X]ӳuuFX7=]SC-";spF1CK\ʵ%TIu :l7}ȞkWR2p4vj[ j⮓op(&HrxɌN(-4. KU&{1;|7vGFž%G@Uj@W{D RE֠هY#z[S6uvz䃐D^ϧ"OfT8wT8O/fTD6*Bx¬ح?bw؜\8ڴ bPqb 9%EM@%t֏E+ljޘ8#~G9&N:ݸk,$xSc31P,n+ʡʪѽBٴb4 OkM~=(zNb)Ct6g/n2 3j6 mR=Puɪ{ږB2+B tKԷ, "g.[C\Mk Þt̂pa1({F1vh P-?/ JxV-"w}"fLA#"Vn=6Bg1FBoz]x(reans|%N#V,?;3Ͼ?|*<ÔʋG/xRg4y.PS,w5Cy6|bnl~ܮx=rMw^E>'<} VbU F'u"QWɥD`WH3CUZ8)IW$R¶T"jo01g+Yp {&nT]ȡ2dae 4}}YdÙ9De|\wۜI} E*lwCˆn=Ejj#Vij-c-y {k&K $l4DVMseʑck2xm/:P j syPNEw7S}:3 sЖUD1Δ#iKj%L x?/oi)PBveXʀ-bn~^tm̟D>Zh_3 htp$rR=c}68&c꭮caE~H Co9hʬE![g1Y d5ײQ]G3=t%ȏhr?v-V4xd䟻B[s829^R1w@uQU  ѨZ'dO85֡䍿IćWhSS۟ e?wk'O:!x+]vXmO1-:@qjzo;t*8/kq ^$z}09VKPil i!ӵti!mVt~>rFo@I+z\h(dpQހ@2کI&n Z&ѵDn("Z=gh3p/<jy @ sDKюMt'#(`ۦ_ {ڱh\ޜm`a)XiFp}\L-0Z̗2h<#+=s(1 !a=%l1u$8߃hǫslICSuw@Q`"s^7 ~͋QT"z[bHD{Wjմ&"z-~^hxm7yC\m2S!HY/}d:J6Mste{M[ XVO;3d05EyJhKV0|Xt[@LDpk2UW?Y4YmI rj>'OUJ<@iVVYߨM{I⭣ 0uN&lpRܔ6'co_l07mZ]Y4 ҟTLt8"ͨ15Bt M]<`RUn @!/U.%|˄t"A ;KnKC.zlv~CL`ZdR54U"Ҹ)TrwTa$|3(R"H#.B7ޠ!ܴ#RHtMQ}ZIɯ/g/o~fp6P ipK _㜕xRociG.Uq6M)6炩**mDϷR sڱA'i0i"e\gtd !VA$À( n#geP }3 să$z?\[{}y5ߤW8U>,(*'ݭ Nv>M{=WSwNi + L̥}BͲIQa2"C#ިN(equ^N яj1>tӵ@HUČWߘe6" d7v*m 0U g)},MԪ8U/y^kbp5%qmIaGb8jxrW2Z D3D.I%d' 5[ja)??@8nȪlEo&'E}ϖ A ԅ~<=9amSɵU, 9])e⩊(ӡ12Ϝk;I"UC գ_zRf_/SrPJ Vua;Plz6Z:(t=uS*\gEQUZŇPvy؄^=t. *}ȀJܒ.sk!&փ$hJfo(cQd7]D[L 22 x>73+A=٭F$@ܷȔ7̼KIsi D*><ۭݯ_G~$,K:!{iT .ztH)(]əU;(#Gm}P)5׆A!2OLM#4;A:Kt'6x;Yh0 @M20pJl{Wb$Ť H3cb1jui_j1±Q(ߥbݐ8d傍Lj3a@.(hsnWE!k2_7 Mu$QֈxGǭ1չarQWx+dM ]5YUItxC %sF8ќj9GJjuFV|&8+.e27mEARqiau+L0SƉfg~wC{ݟ ; !G>NLl|ƤH`^%]/?Գta+(ore,ƓkzGWUQg =fbWyOȝIN0cZcsZOݼZgg]*~G Vfn(8m:p[w:DŽOsӷ6mWD]D-+͗''0܌*7-)sGWbЄ}+^Fp-"E$mMa9N^Z'\~BLVF5{rT3P1@z,]_v{$gx =Z,N}fKJɸ}C"FR U,ϵ 89 $(ԁ\n/b/[*! |hhVϙ.S r#U`w 3򥨈YձރP^JάK&b5*Ϧiшr900u};{yT͞V|a+ Oߓ%{>2%t(C z!!nw $􈚪Bׯ@r\I9Ke'Zךwi|N;0aďt ?LثUlj'X䠣~x N6 : |SrkFtŧ/fHaʯn5.a4-/b;ۜ}J@}7قdk6e4k(*& #mBˏ˶jM~\9mJ3~6x|rDUMַiVpig<#}iF+L+81Ϡ9qE_QOv %y\QI&ЕA .LVȆq*%H2E4l:^HIW 1*T3$S)2]L@Eot3oX;"kJ`Ui\0(1".9X[!p !bQ?uYu1neeX6 |ԛW!DQ8m) |-ǭ/ă8թ:rQtӦtrX$A8IG OBP%E(ni}A̜$Ok vP9c0ON{9ða d 3w|+NX]N'MB{ZȽOjP华̻EzGZ y.0q ,iT9;(A{jW4PV3=+Wˠ2 b8<id c[-덶i'!q5+Մ k^ElgӋe?O 6d.^=Hlc5ZghE(x0+ ⓞIc=GxnftZu xQw=  51퀆^.{/eP~vEw:T9ZC>D:c^ayC\r--?tTx(- ̏Y> }Ŝ"o#zg8D&Y[_*Y'ހ̽<m-2=%{ҧOVAFܑ @ ѧP7 + k;$;,൑@J2dXlI&unn}Ѝ-b= :f6n`mizFˇ tF(o@YZ$hDʵ4:7`mtd/C-LBX(:d.._i3 (a_QDSdHcn⺱,Pg1mϚ++Xl04I3ʨ/D#!³q܃%dLD5V!k|DOnl) so|X?^'𚉪>S06x/2lyp "}:m{j&̈́DX{LKѯ95\e\gn  \'aiOV"f 5 .:˲.I* QGg20#c~m.RSF&{\bGi]sIK!vè7GKW;@e1*U $et"^;2=p'˨XcT&kkI$̧Z)G\sHjN%_rMs|erUPnbFN Tgr+dne ߾: KwOgVhkО6N0ېtɲ+~5kB|$,AmăҭJSWRx,~kj 8ܫ+) W-SbPfP _7!;)_;x3 DB 6<= =?hз>`RxHJCC {~G-֓9?=7(K ݷ DN/X+tI1hXNC9Mf<<"r?B3ؠ3%6W bާ:#=#wp:f,޲?4[pi?!Ns9gKvPm]ɨ^{ RDjŇ]Q;䰋FjY? 7 $ѯ¿X-kXE5 ½D^SCٜWvRLtD5+7-I 7i }gE 9&~DFC^UU8F#R`Mئ%Vƥ&Ԩ^?0|a:93>6WUO7O$'dJC/йCiwpIK Q]`&Rk~qmu6!>Ĉ*!GI^ k\ꋠk/,zH[3 Yt\7^DZ9dW 0beP`!TUJ8HDX_4@)0EI…d A2rm͚%׌23+(5LfM:/bG4/5ͅ$!6UUƱDu9ڹf'`  <]l__@ŇvsfA?.cJwg M]"[6D9UpRGZW=b-`p7x)Q5oU͗P= 㚵Í̶~Hay-!;-'y}Zw3E"{Ԥ=l Ub0#[\s^&%+#"/'*9k>'<1^w`hN Р2qр XHm  [{6sZ/[䳋4^5 S*) e)K;A單DQj߭62sRKBXSTp]NT'vWD  P/XZ\WqdW绑 X%N hrE7[|kFCdh(v65Swe ﷚?.W2V)T^g:Rmrq ..tU`͡Nd&B[]N YX4%m*B2,7%"4K'\ļ|8UY9)w uӥj߆ <fS |F[zf6%?9gB^<_+c$L%9EA8F:e-+ΈL(WNnSoyhlnXK1Hfjɥ婟35hvϼ#E)R4͂6 G@3<_P}vf yB&!$};q?$?ߎ& n0,@Qͼq7ɱ֯Q'jN5s2~O:5Z8N pm;{dlzrf^"TvM Ƽ">DedaAs9j!fwیB]"9 ٟ|+3`w)V R ;S| 4baEeƨ(z̄?tJD:2 f n&:B31[6*i[=sE}1k d϶,Ǥ8Փ#|Г #Ȍ!w4S3ӒB#*U"T7_op#9g9a*5ٵ׀~HݏDX#:|[ƯO b*ّ q/ jFywME\G+:XXS-+TE5""!~&g+ *L렶 D2`[ȗ`/Vn۝*z<دd+E0U5q иnAm717E ȶ Г>wF+y;#e' ) 6~ ieSȆ%TU\M3{&oBuܽu_p)ntNs2_a ^{ oj^h߭a%ӡO]kr_O}ׄdC4$I'no^(tb̊;Y(兖>rypqu!I 7W1y飙0ZRRHa6l^^&<ǭ.W:RZ4_rn$rƻ7PWgAD(=M3듰|yf#4/V^3S {Ѿu(oG&W9#/K` P2FYWg<]5/[KbJm^{ɐ." MRcqFzLe0IrmO۽r =_ԇ?tnSJ"\)i0eM_+EMӓgьrJ]G/d֤R\]0:d+|V  Aj gd*ƌŵXWy@ ^,s޼BTDxw PV:ЃЄST?A'A ɞ1kAv)tvk.v1$1z kQ'&OCw;-S)y([iߡBNH`P7w<Ƈƫ/P#6PF$ID_qap>.c"fr]nܚ.߇v|Z̕mFGpy#cEjWVzC(4AierpFs'O`&e凅knt%}+GrooHN4/;і~ -(pG?_wKg&=,d_w5F׽7/ 3Ƚx?3ׯ`Y.1f.a0]1wb ;F7y@$$> ЅXWD# E^.w+4/7G$6"椇)5KMb9Ptlȑۤt\=MlZK1nDh'h?B ލPڵEv[,wOF+:]`+-B nn^qvVhSe2eUOc 갪 y؍ eq̧%=0`WՒ+U]LJƳ\ʖ ۼ7nI:K_]MkYTGX 9!Q#o^Jd|uа˒~`HcI|PeQ2zl#wLhr  bES9 uņN]š{g0]y?E&KZ_)L>H~x%? ]9Y'+Ӱo1LƂcke]u*2 .VII誡U7 Sv]d_<}ds I~p6M.%i4MUBXm5> =&1C}v/8k>cQ@MeP6P:ׇ贍xp L!X]݉~S̎$x$L(=Ii KVȁC[a>L59 ǖЎc^J{k6jDv[@Rz *tn}@ w&.kI" (h/͹)wbr`l)IL 2R-#b+*$j^& %SUAa n=#~:ǑN2_\(]bfoeT[:J:eM79sN(Eoh SBTyEYkOwˁ}5֣q{24yr(v?i‘/d'XO!pr 73e\1v$\n;1F?\!U}B,p[v$Opp% φjwoXV.me ?y \G4SJC-H7q{x*@'Di=" A "8Curqs͐tܵ||R2fqĚ3Lr0sX+\\쥳P"Fsj&| &<3?.u4G '@:ŞCCU!hXvD,&Xw vo#:@b+2ip3%* hU$)=>$r D0˓(%1hJIMI;6kCN[LC{0D^hi"XܸānjBp[&{i4Pϔm0"SQO_;CJBEex!h<&+zNiYyCKAAq!=$`k3𰓅bҞ~6Qyu:,\9p>]Zs4M@맱^T>)J;ASD]Z'2AEoxyS;o2L.(eym*)X-<hqh;ː*):$lͿ5 oejMݧm &WzBF7}oG`1Hg}B1pE{'azꏗ3ЂnKo俼++iwi&jك_ >`ˍ,eM%4“c]2s^p2C:=:lEȯ*?X h휀XuoF+KM?-&<̡󠵺4Zj:HXc$0>Jm|*ӬgY7obZ<`d]9=z}ذA>RG7|׶^CDxO{M {'+,\x0_o~$5\EoDZ.|nN_.`Jš6fI, ! `MO=A#s7hWYVN&!EkEE{B~2^k ,]ӮF$iMQp_Nv0ϒyH+ĴX*<MuGX5YۉfM=WA_;gP#9_ .)SO$8o<:5md) A)0H&?eQMU}dKHDJ,e>uP y"[?P>b˯*DT׬!' icwb.бtEeeMLvc,?`% %vw~t-k1Ỵ!:;~F1'8u+A%&jچ/X0 pEɒUa =~F Fi8/HR5~$e_YTX߄З5)]DžMNƷsr#M{Fyδezlڄ<ۮh?J*!'jP:&"<9ۘlⶇ.Ƙb,:!3ݒeov|aƣ(pXI+ ~@FH2t! 7pL5XtiG/0wƲA S'LQ $әL)LH8qĿ+ ֲ* YIp q+DV9),N--0 7H8K~za} WlDxmKF*\0g|ʵ䠗@16p*ᳩB .$_%50 _\[ P"i[+kHWN;Ti!,Iu$jث^^Э5Ey<#]K<~t# *)ajJҩ$FW`_JMD>np46_K5Wvmބo6XZXRdiAh|U̼7˥v{L4/e6 GMav M>ɇǓ^¨pWFqWhaİ>5H0mb/Qk#jZӗ /Փ' \]5<[g*E)m(eC2>b\{ǡ}THk_F+zC2X/ʐ4_9nIwێeQdzm\!%|vwOVS $^ ʐlT_&byg8} N J3AG#(ӄ'y/Ql*v8 zK1Gnw:|{Y5FutMEL~'V g٣ Sdbϫ}{u5@)Į ]3Ia#|:dDgm㩵 ؑ?]AHI>5QS*WZuӈYeC"k@Ed-hWI!Qsnk#kpNÅ+ܗ4`IH#X3QډubGkN C5wYPr_=Q{GTaoYs0̿BhV07k_cÁlz%8&P#jݝ5cqzȯD oyĖMx?|.uf kCYd.Z?rlʣ~/)m8BBKMOyѮchJ5zdžD*Y2ֈ `#CA߃}kQsReqwL-09INkjqp_1p b1$ b.SK BMI5RQkrੰH+p+x'~ l}ȝPϠRn9 "> -7L|ћVVL)*_{Mⱳ0G%Lډ NPC\}!di Yf *aw XĨrwKY̷},'G\rl /._MLq0n#ʄ^w,Z wƼ H 0sfAa6yt^s{ܹ4UTq>q&:1GŽ8{iY!Dd'`bsnϭgX!12t@N >re,cGM\#K]fO_y5֤4 ƀ|nP]])IpV KSac(~ ɿ&C5'Ҽ /]e85 ~s'6|c[lQ^!۝@x\xpa&8{64p!@mj?8#{^x̋sfdw0GѸ٫`W1+1`!VBLҚm#CU5$# |s|Zg{A؈PȵBsxiiIP\LĔ bO }=0 ܹڙ|ӣKEY;,(tvxH+"W&g}lD+?tv:O; iɖggw\ji%gf*yfhWuYڴn7}[849=FڎU_oC>iB`2~6݃' a~ g])LVGNv3vD[7m`y;Z?Yesqk뀰*֔F k 3j@*ʴM]g)ͻdHqln?SxDj_=h;{{'Q2]2B ZuXB0AA9vL7lU)n?0tSoJ bN@;,=Y?sB/ NgP%<k)iG*ܗx'ҥ]2hp;o(UA<2s31i|ֳ$J lWc Zsq1Pl.[SG^y.:5o7˥@0/~W$=l00(r "F USbǗ$[{|P4y:I2h2!_1k\_gia]ym%蹥 |@6=VTZRch6ڑoX–pX*`XO4ܑ]H|ubJ(b_cP[4yҾ UKZObP [)!u ijZud'-BQC{2.ϸ(izhGߡP舭aIvi@'tL-+\M*r3cr1T~fLLh6!nJS^A 4~rYsʿmK{,34rV2yUQu8K/n9-8}I Ij$:8{x9B>z"`Ǫ*97y!CB9CHY%C/yQj3//6xbns^=-o&o*3?4W:$ u'| >dXZ_5ĠGb6%^7-&!f92c0[oSB0Q_3#(btPa( Gy BF񇝇D(s9D tlҫˎ}mL;ꡢ93X0GD L BaRX|glfOJP.?Q3rky为TL)V MVZ,CU2rcox7V[֔׷}Q+QnpgZ 9aV_tO?f웘S^j6!;텢BZ?&H19$b eB%I 5 ևUZ,!~D86:Xr \Өc9|OƻM݊\F5lH1R"u<.ӓ~c'$AFY fw  (9Po4)W~RATdPttQxe`.YW_i-ǚP-PGh 9Zљ9չð4E%§{=^4~|0DMM„q/yͭ4eezQR% ܯuziǑ 6K/ycnRi?m|wAZ#)>,GP{lk(J%z /z]e9&)t>nmdÀ*%zdW;̡/ޒA%)d'ǂ}SlKa/v/JAp@i6|MW?Lc/]j#pʭҾ@~B9΀] 5_/̷ȤUha]' /{$Du #ֹA9ƕ :X%q݂F8V.?r._$07=9uBX,^ècVDNof̡H~yjPv[}xԘ&9nyyUR70Ee FsxD\nϥ֍+*+=z* $Ix»byt9@/Ա##Φ 00qCў09IMD"%0|4 HZLM=i,mͮ V\z'Ǣfm]I0narX[*dCբCwS<% Ѡ udV8e g=*3cQ,n? :t L(ʵěSY)p0M;;P+<{mt>~ S՛-5}1ykSbs+9Dv?8vyA .vusx)BZt1ua=IltsXUZgpU&_kC R`롍v2OcSrR 80֡&b0:t4SyR٬SQ{xZ(i,MUgc3f?'W&^β_M`Ǥ Uhdz/^v6 JZI g۝b8k%,roCҼDdC }Cb'nI ~sqG ouQ):>SNtgC#N`[n,# 7.Xl{5pSQ7a98F& ZR HL+gu:#<2REND|)/@9EE DdʐL& "@V.ZF/oQ̯zSlr&vra $l6ȰV$ {Ѿ2cQ~&|"1)7Jf7)2gEWNËF13O&)Ӭef\GT ža-+`bo-hۮjK#MEK;!]r-I3昐T4Nn#zտ*(FͽÅjJhJ?-H,%>WԄ,;rsf`2'٫c,bt#h8KsQ/?x7qHEҐv]D&9a';D@bAE muX ishd+#@U=iu/[BC"iޫ:a}3On< ESߙ"޺. blnrwdg!7`mP:s)_L=n8GR0w'"#v Hq·7 ڵ.d9ltrpyήrXX v~B[]R\FSFgN& Yk P)1スP1%t3{7R78(xO{^g拺%?Qj"JtdչS}6sD7q1_UvuN-0+Jqn!iZt. lkÈ83Ikʥ.8dl<}^s( 줣 4d~I$|<yd0R'wk3B,?baW3S 1:g 53OGb0 叞?HrhQ34+{p9c@/s< !:i2g8^3޷NŔ~rצPY_Iqb)jZW5 Y9#H/Wҭ4r}+7#)}_F> u3DIi]lyZ3uܗ)W ls ,,,h5mu @Q=i6p quVeGlou}dq,Yb"R}5#[z ]Vs^/`Ǐ٫;43?4dx 8|ǢbYu.$ WE"Zoe4=޳4|& /k^k)fU 3كܮ]+Lg导)&a,Y:n+G2AO$0 0&aءCA~MO0c6uH.?VW[Au]Uqс ']s)3PM|SHJ~{yejk wJIQH aBO != t~ع #nhO&f JhI`3MzwGN_gcZ.S2i6Y~&b"h! Au3\ !+)Ty [ɇ 4j8=J{DӮ=4MK) _*JCIԝ<#}ц;OT6Et$ Oӧ xqτ%5jF*}bᤂj*S]T(+"C&La*mkԒ\={%qpmr&8=K}෴AaOx $v/uN;B ?c:ZZq29@W-Af)ڏ<{ΐ}U\:LաQ[Wo3mÏ1|CN碱 ޜz^*`_^!O6AP7pglރ3`"_a5BAE|}M,:[|-9THNUYΎR=|b-!;O]};77Wpjס"CjM$x\Od#GLuϞ\zt6 .afg1wv qޗȂ =XZk e4MX"tQjQa ϳGv<:)5qIAGŇ#,%#9^ABQ3z8h3)i­GF}I|GH?-Va'[& x&qGA_RZ' OR_.yw}YJu@z|m_Za )K=Q J-uS; BJ%]l#?mwϠ- TC؛ͦGZyܶy#"bm94fHF-F`3"ᓍ~`!b+Ta"9|1VJzz Z&3? ڐݰ_2۾d<~)ٰKyZ(*:x^* 5p˶ydG3* 26lzI)ع۬ ]Gg~w1;^܄vL=8B2tە!tM?0~qR Ff)IYЈH4oU_um>ݭk>XCbf>qᦁbty.S:RL,Gml %]s:'P\r+G#f"ݰ> ԝZ< Mq/.O\)oGt{/b:cl܃4e$Y/v}(0A5?,󕋄@l^akˎMcWTHf7w*6lmSi57i:2e\~Xj7Ds7[P󏊟adDx{6C܏oUApl"ZGMaMƿ[qaB .k$aSC*WDúR0P@=5+0ZnH:i.PL?"F8OO`b~v N۠iܛ(zE'o.%HgJ1@xj!Y͠fX;w[s{3gIƒQ)04s',O|pw~9s-rukՄo {slR[oBRTF%KKq6NLy*64C#E-pf&ID2;V띭 mb?IM8<+ Jm^An]@h1ys8ua1}JGJ(4RFc𶄢F<4؝|!1nZZDD#M_OkANݿIsЙ0،VͲeh讪f'k)_E32FF.1|軪K+"gA*O_y!IHr["y8:>T펥x~WZC0Zv`'& q 'Z֌ }-C̃/V N D Ն6!WF8%w <s/U y1.&E%k4RL [6 Ñ$ῈQnQ-y{Rx̦9c C5Qj8Af̀':T"^4$Hֈ5/hvnvpeʫ_Q`ROXj|]Fne-"<7$^&D V8K 9$C {EDzٮ\{3=E1i}Ճ}g=xCo1w>(<YkzL-PG}z#HRȯ]8F[Q?abΙ C%5]}5fpi84pD4 -@ gIeNmqzMs=OGdž# t7+V$a ȅMAM#Q_cA'k-/On%wJ0l+6iovk&f9լ_)7SيP"ωQWH2zsHa }W4ho"l[x ?aTgɍr ԝ;`[(drW/G;%9Qb)5P 13$BJ+e81CjJu\6Q4ï^7Z% Sw.u]ĭo,^|MB{B'{1ҖiȰy},<{x|TL |5l ri@3c7FM}Pz ewL2e 1E[G}}/=q /t .~NEɌroI ~-뢺xnXL1^.*o PZpyjF!v)1qQ$zPٷ2M RyQ̺6ǟqa/jQLoGFǯ̐]md=eK:f^]|ϻo[{$2QV4+0ثo6 ko0 7էZژ:?^0n #w^Hxm>}U ?9-Tp{&@:Cj݇.o=j5dCu^Qcf_T{::6]h[<.H,`rF0dQ\h$/d^fiT؛ ^Ҽ'yV P|#JJIO̚&)?yeUm{J jU"@s<@U d]lYyIgθR<f}0Z [(MO;jAda_MKz_=h JR_6 Z;ExnPL$Ē\L0 YteJqD x8 1嬳 ax3r3a#dz߲t )Mv@ڈGLM}Z,"jUeEB2a릋GC+ _Y֡xrb9|/խ=/+Iu_ٛ/ uW}?;@wQ*"|5z=P+Ԅήs)lZiMTm/uN[wT4諜πx7Jbĺ^=7EOsfVC*8aSsf", Lꧻz=r Ր0#Udzˁ@V|83Q!kiUecO :$>[ȶCQh 3<۪H)RT uD! 4**NIl4&-hF.uF-=%mҿǣ9ϬM* %H#BTYaPBz~gآLw WTHuv寣"42Z]|HG6!h2y1 k3U:ZrNW^Rgެ~b7QCo0|xoDFaSz]'@@j?G^ub%pn)\[cUk5⟥&O <fwÚJ:| _Q%"{-;ZE'㡰?V1(I7u\C )??JlJSZ%ͭCk @jƛBCսST 䭌uGngBƺcIHd4AI '( 86s9J'Ƶ?/ Wq6Hf%NzET|T}uYV2jvh6""vG'( *ѥl*}hݽ2p 0^E6U6VW;m6B[U0[p'8ƾƨyðs~`|N5whg- G~Gd]oXǧd[5<2˭ul_ [IxweWl",D mj!p֤Xaf% -xMYCKsi{-&0|aO>cZs ez.&[쨐EDutZty'8y׼U]RhϻjDt9r)Xp0q*vpNCJ"RKflfW[Nc^;|F챛MWŵ个fƁ}aiK;S2$$qz] Q @[Y+T5-}Ī)<Ȍ~W7¥ilOqIyAD'kT(a2/ U T R f=Jƅ֥5>% FR`UvKj EyPl:S8*.bAK>e.1i[UiaJGen( oFאW Ԝh1 s@ Iɱv=;iU/+`T7Yu_*4\aZ\!kׇ!41`-%,)ج =Ɛ0 -pĉck*A#0$fy]D.pn|u/R*xDRW I:55G=AyGGI>tCLSǔ7 G 6&':@kBG[8["Ƴvxv.Rf1j=WLRc]KR?=y3A!Ul"\9Yh[tģLgPS<ߪf) 4M5na;7(2_N[W~F"0ҒQ,ADmƪ{ΐ,A0dPݻyoċd$cx?,LlS+ʖ~~|p &OFR}gδ%҃*{`=.)g.a":GZ{VA.%XKh).ȗh GW_GqAD ̖h]jG繩h8Bi׫ JhY ->$E\lNgRKz*Zsl%%!Wv.s9/M< j^E49uB>#+ qstooOJiJ&P\1F.0vA8D[{cD"[ vϒK8sw;7{J( -\ef\^=6S] ,ɗh}Վ Sd::8%.Ma1^#XW )i*i`|Z Wz=Kq#h֓$Nz*{;cG`yV@GPRT$$G d}/y6VaW\K3n).!_:vhq'TRXcmuV<4^wRhd>-ϑ:`>dlmpqb6yοطJF.~!7:(kҙru.5elhiپVA:\vrM=5Z]ޛHt>ݩg8֯N/cǕm@>v c|Oai26x% RGC`B$甁3kfID"(ѻ i+?&.av N&ӭ\Ϯ;!*ZʍyZr4F!66owMaMfd\@p>3C72?1KE"5-`>Ĺ~+ 'hW bvqcq$By`]f \tsX( uZ4кpI׮vR;P}?|Q$\\FH] r=㖊2Kk6jN)XALH6,[_4,GͯsFdx?DZ;k(.ԿA0=J#S-8Cj7WwR/dY K*; p0ُ"åZӽYIjMFLܥ>{|PKǍaa[: 慴1ub2{:p̯HYOHtGL]DnL? a5hO:msا`k'B߰5gyNaxr(OQPҞ{-VBNM2}ƒb)4kP)"ScNFIKæc2BuSB{l&ڙU*_LO>Nww/ܡ[9H˴گVO{_OD[=X{"m~SZцaο+/H2SNVL f ,]ŚIJ9DJ2?nnk}cEQYVOWA= V:6W#W׆UpƕQ~ǃkR ^[uPIgw ZpFBgxY'ݩ)_ٜCV=j*BL;jTNxa[L> A `mFY<%-co-dN׾f}ôM9K*lN!C,U5WUDx%Hy7˙t((~tw'\ӊrPAMY$7mwP'Tm7Oӌe<;dg<g2ֵe9;+ZL. sǭ"o,|D,L:c/FAHY4!9MLpt*cDhcz!MA5BHD8^ata$`FIN͘Q. 3Z [9C^Š~sN#Ĩ. 0AZθPn2hN1G@GVbc8},)&p:]nZw'd+$+X_6&8/;:nQ߉&3r8p1 -%}ӄ 06 G&lV tՆ6c0MU9s&f2$ GADkЋ T@`h/k 4x)V`9"XPȕOlկ`jpZK3m%!J2>-HJ]Y0bΨIw"`(yv  -Ҕj?Acb+>z+9?zYhu'M>0'u3Y^lZh"@GԄL~;`~"VH aS|txSPk(6u%V 0!CƟK%8/<\`V6iǝSxٲ٨0Ch;<;>4\'޸y 8yw7Cz;tP! "JoN YّD/tK~y!~k,2͵=ڎ홣 àa#m{̱ B9:_&^ƭ^jfWLgfk4&ƿL g/$!dOt,:N'V~6vtz^щ>ؚT OM_2sq=XB:#B<ȏE(ތH+O-WF('pRB cfE֭Tԫ~> a0!_S{F{Lr|] *jŽQ[GG}FQ] o^x\nH[eREL::T0eٽ^x9mVF<##<*c^65n|4m+-WɌk\w|,v[0.tf`˂g`9S6a_z3[VRn!P]ܲO8+ +^."kxդF ~mёڪqi3@Ѕ=¯^ӆR㚈^.s->rSn42. INz!CY|ge'|~id<Ha=fе|xԂYkF,|; E-znT,a*rOIfꐚO?(o%ϝp2;>Mw 4Қ{oj*c0ݛr(9zNLM3 ̹7ֹ:Dʥփx1<ĒнcGpMc6[̥]_" 9#:ç_pܨmDh!uT+ܔm1]Y`e:VtcЙXtK3)Q99~G9>oPxQә<"cWi]ݦkYC.rblvά-ҭ/$b PpƅdD|)ҟ6枮5h͙Ւ0e]ӯ`$r;fb3R .LuAZk]Q!-4(8AuX+^A.{p$O=ڐ D)׼yjִB2S]dGME2ݧaz,.okQH-:TSϽWiꭎ@ _$~GgK72c^ '.i7H8'c s'C\?Q&Մia(7;f޴VaC6/!2;x]Msl)s-5m|+X+./ݱZ&d"j2 o}F?J95>csGob(72t˲ `$&#d-*ð NG!͔me|$\lT:"&E dwCb9~XiC?o^r|Ri!sS{&o3& m'wKly݌+mo7oUCv%OBtew\Ey6;;F6EEn@Vw͝#܇zxdvе09W`皚9N'5E@( C3ϻ$()2(, M] OmYkdƄ #.&٪$5?7rgd؞Ji# {ܐR{+hIώ )fK| P_3R lK6@OEv՚B" |/Qwv.6IJCC֌nFYoN 8P{ @ע01M$>ECR4!M{kDbzN&~=]c'O\/F[!FsH52`k)!S; /@{X! L9YϯY#TrO1~QV%"߷[PDtr7VZ6n v<2?NS]}! ;f 6@T~ `U\~ozZz}ʯ.`/XDO^{ȐT=m1@Fd m?=/mbC_)X>8z:R#&{ GRM8GOgGAQ6cge^l;x~\kTI8C@F.ڋO90j>mT~yŹ 8vw,KԿ櫍v(Zkg˧ \B )Ly3t^0ߞ0կlq1~bJCN۔m8? *0p3-@m(ֹjkD~C?tgL7ۉ "1oe49DOBE3rJbzr̓A_5O]* 4UYY"3(x#9j!}ow9ybax +&r)QL:K9rvg9c2=f~R_َC^EkktuIr&?=QVwvU%NLxT*Q!mLRYx lbiӜ}ƽ |M>mH@`lZ0wɮzZeȊgP1xYZ0Ѩ3Uvw#UO#/ uc6 RYiU:Rۋsׯ> 6 SzAƻuʹ Y| ^ + 쒀) yn]<5ꀦ\,V7:h}4eҪͱxNr ^-Bh"5^K&gfSW{t%\4mk P4h(N\Kdm{{$_Zr1,'Bd9d|̙t%DEYXtOsnIޠģJU2!M[˓:9[M8&sv!rے#q`ntx!,U+{Y5ūt=1 >^fm'kyEf͞S~`S^Rj(2.!<ԯ&edC&ֻ6Px1`fy͆$1|3ivӢ]ńv. 9e B/C}?-[\s(xҜkL8 xXэ9HKn7XEC iȨ,*48ak2FlEX7DR-RulEm2VÕ;LÒB^V"?iR5~;\ْy 7=@:mLHҟx':IW̌B8lݼ1fxs"G2a̤Bs/`OR'}I\NhfDT65r3s(>+/  :ўyPTpv 43*m йehg C9nwM4:).ʼn {<cTx`)ݎo##>-24#kbۻ){PXR, MP-@ {wEoo( MlA81sN7^> UK] #^L> 9(KVl`tb[c5щ bOVbF %j K檽ԅ@Ybo"T ״|Ҥ[8U>>UȒE43mUPljdOx2}frZdE"pc8s o3n3d.2F;PXPi0rh[q%fG†b:pPlX[0:,.ܼ7ÏQaڽ }ggʕH\ؗ7\Q& ~Ep:} S=<)m(xR5͛48.SNM+2uLK@n x8Y6+@q)guOcny LQ?]-TstSVz;= GW(ULǀ"{4Ŋ)!zV)->?B-șckdbŝQb2O|wByZf&PN\^G A&m .vi.n O9[{m{ٹ^bCc9 |d^*[~)_fdgxbiX dAηk !7d"peUXb#.O8@'&wN'*| iߠ,}%[e.': 3C^ ܤ\mOIf&Y7ѣtn&a  =zy^(4KA/\}*,h[6o;\euAxp[%4ǞdZ:_\*TY"r@Ԧ6Q}A_^~6<$ ȧכmeFqmGO\4|<1('Y'os&Lae}QkZn~jn:A!8>"(6"enS.q3D VQ89a C& ]~2?vU!){Uhh`O$D0t$BM[X$3@M,+e:< %xUE3[+H _jD 8UB*l{\ ">Pp{U.4cm{<-;[Lul-Oþh {tK5$(f> Ar[..54FWC%W,4LyQ$&}*|]H5:kEAgA%HY-Ok4!]QKήpT)_74oS=jX85NhuJYTa&`,Tc o2ҫYaOӏ"<,X-v8\6:D+cN*?cpY>4%"h[Zж.Y;_l aKe_LiљYY|jv7_2AN~Z(y])3M.0Tg4|c8HxP7#m;%jNy:^%#{F/Dz:)6zXb}&C/@!409}uSWJܘu$ CB ' ϱŊ}'Ǘ=kɈrgžWCҪ&J{IIp^)moy&d4=jMB㖹fչtW7#7eOE9ml1MR CgXn҄ZΜx[H6ƙحK27B e ѕ%>u󇍡-&n.p Xvr [F)}ѦtJoZN;麿{!D}"LV9-?Z|?sWg,mbP sWAnwfc;S޸m#ؓ$R{CO_`Kk\ e 9++'ip0 i)/нΜ%LZn4|,T18Za G1-` B o0iq#+! c]Y\N,$cvHKA44ll`:ߏ>{Q>ŔǙxD> 7 Š<z*%8(p# rw:[9>%,sAɭH\t%3J١(#|C66 &YeNkŧPhc^@Z=:N8A Ϸ3j%7E T(' d;"[D G[ PKT(z=WYiWHyTjx;U<]KE k xz[]Uk@.t{,p5_b/f?+x)gxjD̿-;"hs^&dkpw/O(0]Y^BA ض.pPd')e2f?/͔ĸ ]R}>NGuLw]HpBSEMg2̣k~bB)̅_W2<<&Fu!xZ==({|CK XlFWqMҞr#M[DyF#Uwf&"U4Y*\ mBـ\aaE?ӟykdu@ɼ?vତZW"Q!^ߡ!̏bAڲgt $$iqN3-X:7=1 @I 2`ֈǩ)N}U7aor' ;/;ShvZp=5[mDNm쓓i`ʹGL<`b%y D' =XdlTWocdΔL{<(2ejK k&0\eu%6YɐX]S8pe ~D IrFvIQd*4|ɱ!~-#0eI˛9R1ԐDe kaMț](g7젟?"LՁ!?UBɅcI'-,`kE6b3qHТodG..Ur&\"=!w vB;-sϳzÅODONq gJ%Jy<(Y[\훧8ih@.'; Y@-}{itN赌MB鰷#ªChrɒPZ9#B4 [rDRrj2>ڗֱXbvDF#v?[ 4gg_έo >:Iҵ4!sIǼеhp<7cP\5q9~@RH^)RB ?;\MKIX_`ǰ\{܈e2Њv͸%;(1(.~DE~˻JςtD}/D r]؄vۋ4}*~;Fbf&xKl8PdcsNn޷W. |1ok) NB_# '~C\GV_:FjwlB2R!(=ukD=f=\a@^w)B"j4MLwrѿd<׃D|#YhI@WG{}cdUڽ f&';RweBri\)J;Ud3 /cm! 64OW|$q m6ѸhzG:L1ŴWRImT2&3f3Vx"ZV} YQ-_]N N)zyaH _CSS]GQ[dͿ lLa] aVi$ɫh@P?G Ӧ*|& 99R -܌T; ]? Zohc1͙^eY(dMz> >aV66ؐ=2^#dh)7`BdžD9("Neܤȫ\AT 3v yqnj]dz9JU^P.ss<'ҐXϰhoF#Ƹ'6gtJ0Y'EwF\(jȦU VKv4Bk`^RedzLAg+[P}[3IgN>Qn 9?!3rA lbJ [uóp` W 42!lOJ!O }aKB3( n΀`U+V+5Ȉ&9wQK=Kr0\70*e+30ﷷr2ZլLZtf "w|0& CO.T; VioطKH (eseN1 Ļ83;QPyT,?;9H:%, TBև 6 PE#)WtT殱#ҧ{V.Eu ƀ{? w;A7(F,ȅ4x* UMkR/_elIdZ=jםtI_Ǎ ?0jITrԻ 7zݛsB.ci޺5)5m/9jM|*TiGŖއăfnd(L]{vjhJu?#a16y3/ifIǮ~vu @<Fh"lΉ ( קS2r#QrŽѕh qVQN<J`l9Pz]6<ִɈY젎]d޽ՉMKp7{jxil:AORlP6M J.0zëN>]$|x2J;n23h\ q>6Z+”(Pן‘ӿM4SN,dc<2U2ojAVwz'E۬6%;X|1 ( jZD bLT5)@cw#:! 1 *s,ٟAOs#\h=O@@ 0_%Y U.ꁱ>Fד>AɄ[W:Czbf6<BGc0a\-iV?XoZ-gn^OG#Bb)V((88,?t~Tby[-o^ػ|c}g ɪtcgSoO͊B esTQTpuNR'oxGn²3(ܵ g&rչw 6Px#'Nv8oB+(<)}9bØAKQe}qH:3J`EZ/ 6Arv@jǃJT,:҄|5; x/i->#FTQjcvj'W}>EmHMV'mKLÓsRM{4ʑf&xz1HoKgHO~QuxR{X# 7rNk+Cy]{CŸ{T}zs\}C&_$PbOfgR@23Js_Xܒ^Ykm5lNP#Pr%EHٜ!!TLdk/mb0ܽ1%;"6c B2 UsH%>Y-sYe4]pP2OJm0:撮3.PMa`"tni׷ܰ=UwԬnWmxx2__w/Clb؂@ vnَbQ,N/XjVORye$-lwjUKBNrQuOai[Xg~ 7nWb8ڧ.`fGi0fC(;EQRkw'ʽ\< iww⌖ Jo}FpG53TTz]hCBw0m`ިPhx gz5/'.+,gGBhGBP@Qgz~w4W' !ccYY+_G,&G_\[G9J>%Õ{6e$\4Z[}6L5 7KAҥ\a2]~A`61WSO%jͲr}Ukt8 ],wUXx/Hw+_3HT]@·haJtR@e4_Ѷ?`CrzipУN vZym!Mn5)^H3siע){'$6_w??>q$1Sf_F/Er?3S?%i`HTsVP|1pܻsS <}7͝(BUPVY4;ZPFw sr~ bQ^뵛J[(=4mtNzq00/(cwSF&.5C 玚4oQt"աR%ꡑ5Gt&2_+;1crpȪĎ)۵@n<BJ# _Iߟj"q`E:q"lu~^}Pl aW.EX`g>QH jt\\:8?Ʌ_dz3$H one+4rJw"'bjӥM\`Sӟ'x!Ÿܑ)ӎRS-D3:OoUv.S>-%V?qup0M[ϠCtesOO ]R^Y7VxbWѫs=[̬i%h8=L",TJdv""qHC'̞5 zR!: 8ZTG` 4֞|0uŞ2@pIY9kր,Iܸ`4:b5zZq.տj_E}Z=K5n QAN<+'ҁK=x'qF(-1[[].6xI]PwmY`XVam?F Xfda#)fR3ua)鴦cxe*-:vMң8<*C"ݧ=ֿ$Zq_.NT^$KYܝGE2sd2bĸu,Rz1PHkm -5te :pƁ5 ]0Ԍmc{ֻ!ۇp|P wL뙎mk=@<ݷ? B yAef2k>R#(3x)kP&)Pu'1׬ӘuFQWȅNlp;AڷSr 8npat*x'@oE=&U?\<JJ {SOT)A`QR)9pOi- dFc= lf7=xyHG ҵ5t$Jrkz~uS6`7#{֐nG)rr@K'DeJOߒOIDSY<t&(^ C'H' v@U1UqAIQ76ܐIe2aOXZR߰ϳLStrX,.64Z@̸&5zlμ~~kbpg:t`@CO d5ns8.9pJ [SR qRJwCY{SlIR@p4Db|AtZIrMˀv*YM®Z [J)6CtZȭZJJ)RFn_K%ӕ㿾%e:z.l0ZaC7 ]혚y޷IVҾKS)09/o&5]h^s026/.RS 7&+6y~ -3:Ͼ\()h/=O=\!|@'9[0?Mo\7pJvg|̟:J K:o1ar]QP% ޴<x\B D]y 1̉+)r=9b5OYex=C@K jH$VSkm|l QnbbL$T"p/>2* \h;Hِ|01tEvunm=Br1nϮix p$>XJzs+mEBO>ëu2G2_zvsSSɭ|TY_mZu[}VO} LN?vn+!{0-Σ/iV9JL#5wwa'B9~mYjQ J]p񛭘+/pJ 96^KCy( [XmڞueY휳K571!oThnՒma靃\!Us-̅OyHQ"C7buPyA/uf:SQ5]faeBĜXs񌥡Zx?Aǻ̖lW1gL9="KO cDݪNΒ"zh5p 紳R+X73Oꥲ2;tIbQu5.~>ufm!U:N\4[K V{n&fjz@κw,j$B=VQ`0h>~ @#r4%YCRgaɱncEyXwu.ܼZY0qެM<sDoMM=j?2R5\,UGJw01Yf]ÿ(2hMPsnIwE>* py'g2W"i $}?LL'.jJp$yep\6O(X[a탫zҹTh|U@FJjf {p.bAizV<O?Ŕtҩ jlopD\U.׳Ii Ђr+S0Ȟ,;iː-$ptǶp}c![Y:w`RYݤx\\˅C_ K4*6x+B0^H=ո,`$^ki,L(]]Y/e-BddPf~Xb\ZDF7%o-;9}nxM7N#̐; l NM](mpXA n!~t0B7yŁx\su5h/+S]dHrֹ1#}~қlQ:` pp@ЛK_X Ԝn=%Ϫ". `3$ʭoh~u|tDF&.tK$HJ%C^sMb}v,]6Kiw)J  #1&9T5:@4~UhKIuo$_H 6c<+t)7T4Eh`1(j`_z0ME>]|~ҷ~Ÿ? bӎ̆Ixk*"k1eٲ #ȇ7wLR%ӊՌvnlѽ85Xn+ƱDϳ߿ UJJy V"m#ST,'=5)5 /ev1\H-˰D'R` =tsMc>C hv9KX+/`n980Zg3Ͼ}lDCZ!Z/#&T)A׀Ÿm.D6!^HNY$ªy0稺87g+YeWRqZq$3{ߋ D.RjL-YxZL/\LHT ۋiRvVaI֗+{q {'TVI[ʕL'  ǑFuDp#3(^,KNPv>[o~hU7i6aB}1{ J_uDWE6=iq|D4!cjU*ִ->9̰2ԵГ-7o< *z&I:ABCQC^NZytY[.,~akY{)!#Y-s2ܞ1&O }B6]#a)@ aؕ-"}Ђ?`vl ۂcg|r7CJRSwJ=6-~y'._R PH",$jPM7jHj^4< 0ۻ".`7v9 ԮgHvq@AKĵ5;yFLf ^|εp]`m'ȌxH,Lv6l)+DI{e4cd,*HnwƤ1M`Xh6UU!l#N˹/Gˊb)O?fk ܯSA)1yzٺۇnvvlpGu^#?|9'Y}^ʗh`gp]hL:§Uu4*/r ;!C=,I7zDeJ")KUe m`>t~ ;uUYɶ߲la/R dϫ)4(w-APHNPkgO3d!RKCu2E.Ũ4c?nj2'ncY(n(&a,fŭ(D);S8@Yq Q8PVYzf-ZF*)}yw+V ]S5G17dIj UÕԢR K@#•X7"L&,n.2!0b.3fP~x©#m^xҹ䅼 k,SXM۽pвdô&ÄVV^r9Uǹ}}兟( ⵈح23Ϧ]CֻA? xv9^ 3Ob.j^'eI`F.ʅ%_ ?!#@,vrX̷w3\9[Hx;\4;ﵳu$|×/vq.ZAr. *V Oc{W%P/wUZ,72Fy9e_Is0!?uqgvأĮwyjNev;^: h4:,1AS^PHأdXF aHexd. -(.JКΩWM7 ľCɎ_-g=̔ p/Z*l%QۘUK@RJ\V׵B?%є zӸxN$E))*%#ǵ**:ڒzeլZr:ոbƀ "70|Q"CzեWMZ,\*词In_T 9xQ=AǏ.5d~`1ri)<EUݶ?Zmm_=Њ!$Q0hd^ 3'XwZgCwNٵbqLQ/Rz ߷j"Ξ(vK׌mt0q1~4)AnIP_n!D7$K~S]%v(ĸ}G= [t(KcICE=lZ\\jR-۹4y-xy~Bgs=863U*,lS<<9%e; Zo@8\ mzЂ* f24' }j>ݟ1jo97F=|VQsv1  ?rGcWiqWސU=cЦKKQ"xmU帄d'cU'6gT^\,!Fqf| #%<2=9*< Z2H +:b~w5eABy3PhDc/$0XYOƳN *4C)Y0}5} ;p%@+e0ȥSd4kEul[Ps_ Zzwbj#0PhUlE|iw2HrIMQ(brwԫӛ|ϜH4O͈RMut//Ci'&Lȫp5U'V8ɵ8%*PNJJYyWWr|#>‚X@ rPdZ>^D$y,2ŹK+$Y8/gh!4h 2ү53]euk&JO' O RAȬ(*5ΘjQg^UڋD&^_?$Q~|xI:.iƳsK}C#66$&Hu+-xt$jҵ, )*_Ļ/F!KvEpqΰaE}X(nZ`1zg& ")>-4vYjD6e0mW02^ Ũ?q tvUGbv7fĮ!4{$6)eMf_tpcq*N2tDZ) OU%+מ'\K5 c\ i/VFFB+K,Omb%HrBU`)*F).}B1nyPBHB/@vx%^ s,6R"ƫ-pS-WS cmR}dŊ?6 7&a$Q {q 5__QWժ!Ӓn8zrѮ yД:^A t0 ~(G2w:3!U@? rӢˌvEr3rTa3h5-{3l-*ȞQ%hZK!&7*1'֎,4Si3T K?A쵡qw8(`C-@EWwgP1ʂ8m$CF8\_0Σf=*M( %^6uZ:A$?x'`^7C!o.9Q{9j@9WT3!1ֶ hKM+G.zaUZ Lu- ܜSWB}zFw4H4_>] vH c:_z,@}%"yg d (GMz& ~YDNdz7 3mEE%7f0Xe~սtUTc\+b0@BosjT&~̰6 y#&.A#1e엞^W{ vKH[qj/R-p+ bg5$ҙ2+(t`q(tȑ-VyEx`. ydL4Ie6t5|E}&ՠvuأ@HQn6 BVk;eԵtbDܸQQݯpr1;,{\ũv&Dȟ)b0?N>o$uߢ ٛ^|pVoQO D:EGEq{aڴ㟮P0! P-NHq{ZZjmOF̄j.c;2Z(x,ꯢ57IPt`׃9&ņÚ8隝ER;ݿd+ֳҼgEտ)6B {$#Ϯ/‹#q@b/ҚR)Rs}ٳLe ڴ]A՗{wLB-FkḨZ8;&V 'z$6}{ꁧ?.y+p33U:c[/(,/R&?+i۹ӵgɩ["#.[&]:fv}ۙ7cbY1ga.k˂{mJ)˝3/`,]*2z\Ό]b%5rYeqÆ^cMP+I5Ӻ6TEů+aK{/ ||ȞZ6?qbCZ+Uf^:bvϯ]+,O cy`YΥ?}x1yp3*ΒE-="cjB tk=o$9Z3)2:j8wDVL)ΐs/}Cg%ݵ%7~ Lwŏ y(}m9|GK5C9cM[X{,E#M+$fǽ}DH-Õ/4xdefB穃v%{I@?Ʒ!tB5HA~`0= 6c}}9ʾFc{wbm5]r>/X x ^?<1ż.:1 D=u3е)|?WŢgR3a:IAE:ֻ.e޲_mŊQ\z˓q\hpnϐ`TkWL2JKw3ɹdW0 ``4ʳ9+4͂K=2DO]kcɂ %m(T ,-8aȥǢJB4 0FaP., ڧ=5M"zyWߒ.4Mx؇k)TcAjC^Uw֭%ouFsk~ l((ћ*6&:$ gSg}l " b& C|ݘe#ƩQU/½;m{CrVsivGNn 6 T/hJcQnHg'9| ඍ(LY; 4m_Zji/&pcA5]!<ֶ<5\YS0[c𼫮k rH]Tݙ3gtG'ZPnK>If}{CX6=|!i}* \ִ$yi"mW3*8^; iЉg=0(f+;_1afH[Hw殲e8&t++B'N*{~f2*@;U4!LOꝙʥi}͸ۏQ=to]"#0ݹчYu6}{Bq- ?6?)SL%7sU<{5DEnĸt&_Uhdmdy^'OG>W ʼn}OFʷHХ KL+pѺdLWJc_e霈zEB\8%6d|k~AK((kqǙc ![+BorQͮu]ܵD l!$:TUBXF/hf5!% %nn#i16zK,rZ^:^^Dy[>tgKxW5 @ *=mk/xzTvU.&|^[+ oh/QZ̜eL$͠*F? FF;ٮiox4Xiy͢U񕁍`E ϔ75D\R3C*S]yE+-$R,x^0? yf}찃Ns cdTaW:D 4I}ש[ȑ(u|8+MXN-gWy8Q׮{;vޖF8 B11}-?u`Gb@Mw &m7qS<H_H;EJ8ј"ι$.M& 7琣g~.V:r_X( V=o:c kZa%)eUoi+S4ÀV9TZϑ/JToV|p5z(&.jvb3M#ӾC X"r.|y(5Qԩ&G ;n$!|"eX iDEטfY*C~0_%uʿ:Ґ&U/ue3хK[_[SPWrw|a< Gs9 ㏝%iCpMah =1lVhީX_ 1#MBgI RDQ ŋqwA49ku0O%cg!C1|:X NVI8gNv6m`,m@SkCTz$P3Uu-9"uˠE5a@Ísh)N>mJVPbm!\.dkyNj~H47;#}Aloޕa wWql ?7J. d,LL{&I&t=`%"`;?x  2[i[nMO㧽2Wd%؉YyUt;lS2ʒ :.#h N~e@R\g53+=Ey}Hp *6QyksdΟf_] ݞz:P )VX7 CdZeiiUuљ; ꓏!`GhL}Q$Ht k%~"IUG]@ڥ-H&ճҽ0@])mkS0 4?%&[RDcHL`gMZ}/p[sq\°Pa/+]vJy3UB^+ Aߥ-&cOW:+Vw uȱpfũ=v=?oJ纄nxPLY)I;Im?1ȝuv3gA@#PZQ@O624Kh>N'pXYkunZ;?0TŕT>cp'a {CԊNT + 2=A&nx[4ڔ];1[(SշBPz:^䨖DL(>?WRzQ;T!5s{I.C&w%0 R^l]SFS: q`;ᑏ =&]ֲq݇ qȹs]^A~uFK]MgBM^AqY"0ooF|Kʥuc6ӃGpCF-UN7 {4q8hTin5C\GC ̢0*0L}Hޠtk=݊WcqQL@\R47eH,{e2̅cԄ2qs4Ue~g@KC|B[\nF.>C*940q+zYD1;f[%'{D{1*jJƮ*`+@|$NNDޏVY=_Sp;}EW~#XSubՂ^j.1=(ɝ11 %OŃ{|31f}ڧ!) uPe-.EB+vVIlR&dmcpf#BF8L Z<ҍr&ݲhvfΖ؍ԫpj4JHN͇.!B޶\DkUud0jC{ L :׀o {wBZz{vBԤŒMȎ(*ǥ1'2TdnǤ5ҝ)B3XW<ŒW|L3 [~ۊQ,7o'#-\?FKnKB:/+@$g˥(Mνj{Z; "xHvý9Nf"sV A K<(Z\UK ^`NLZ<ɕgW m"53^ɖSM; Cy{夼3{BAGR̙VK؄-S: 5!KڍAgz ܼš$TFڕb`S[܉\rnq`'C o7C+ߣ-x\gTaip _s:EU!\/^u3Dql=T"ͤB<5$h<c\f@ L s E\N[3)> ꗟ\~pG{&wujnZ땍8Eti'mz ,H*z_`tmt7{\!v#rѬμX%vYx*%L0g~D-Mۆv+?Փ?jA 芁%6)!f㟳+T1Cq5n:ե:mڎ;jmV+P=傕jEVcLd5KtsC\bº2,Yf?'2G9.DCHXUq6PGX_"ZXM ĈċgPR|Mi|i\$!+m=.Ld+D vsﮡh &j)*O'xB#ҹ(gh7TIn1+a1T=_)M$ ֆC$Z ghM po3X fn@ҜY 'bI]ON!ɜł$j޴C)O1 w J鰍$ʄzl箕)0[{|8q~]'deMm~e1:nWaQR<d"#^\8 "U;DojŷVDᖨUm#Q+L> ƃ(4A iHn{յwUOݳAÜ NY}tu  sV*޿J*9zҬ9NNM"Qqּu{K:@Ok0E3S6%&Ԥbq Ka R*}Hk#FG#!9p_!A!l L*XTU ]OVwpC܈&'H}vCX 3eZW@sN.tܡ"D$w¤nR k L~\lR6$3?al^9W1/0_t^[? $&'})V ?mYKJjgfXTJ3@j$#$A|K!0W 6!$$A}-@y[kp(g9?1X=0:U}dO&:iFNfqy2# b^"L3P*~ =},(mYGYr/˱}t}ED1D|<>1+mszڳP$`Q.&k,Ki$;LYU}Vgzl_˺Ih{:O[r{^j1Pd,{҃^ksd$Lv]Ϧn6vcQu=`9j%0[];X_%6z?8ah̔5!nZ_eA :ʜ e!0E# Bw$6腖SpǬT)+duҷT!%xA5) Zhe7jArᅜc BۋPVRڥ슀lV̴I׍9|) VBnJz Kn^aqiNMnf!HhW{2wъ^  N0 2XA@1|z3G`L,3=ˊ;ktJ# le0ZZ.u- i-jEJ٘ g+<8ѐhi4O}?wh(ޠ3/Aܱv*V~.Ty ($77F̧7&y,0TpDgffdr12D|^l^OqCp d$tĞ:QshкϽ_Od:{w ab> |nM Jd.0йO훜$IQx1rrTپAn@=|Ö)凇lkq'0eQ>sT`9DK=B3X`hQ{^89N5bk?jqģ |*Gl, .aoE}%EKiC\"+; dc`O$\s/"؁#;j⼋|nw n/R 5B_ODd^n[$H*7QGA\T#5v/@}-w ŤFm$(F{ oҋd0{ql}7]JqEl!ܞi4țiLG3!L22xUttl?HZ{Dt2 ͕}\`dF?NMc.|/bB\G]9cTBiCAa||eHYefnU;l&E6F(>{':07mrɾ"ڨ"){ #.zbem|lh#z<'śΈ1}J\!w4(,sqAԪ[sn&dy|c웹T{Jn8>z  +Qڭr0֞4|{-pHi82=RGVZSә8h+8 [1*0L*Zw|0! [ˍN }oifpl'b q9" 04 X9{TDw 'PTkȯ6 CPõ,k0klCDw&{ D6V\ H!h^vk`ȹiZHj[B$D!Pj& |PzMߌ)-} j#9{{伣wMGSx=p ǦuNڸEā?GS XhT%YOxҟƠ)yj0"}\6H@\u&l!2PjPZ$7j/O4c,ժaf8⹗ڔGBc͋٧+K(c h#WSSRtfn0Yrf\l'ٛE%NW̆FYfwJNz*S.Ҝ/&tYy&U1'e\e㹣;6_fu-L]b8EGU3srQJ#9\#eՙ`.^X3ȈwX9 i,Maes ρ@)48T7:|6) vl>ăoWa|(f% dRPJsp,8իGs{=qs'nhJ`E43mL(jgb߉|O1!l<`3p%SrIE /HzaNp Q cui7 S84nԛ~XE(^i3}hG@:#&]hC`cO]8rF GDg~H} [_iDqh9@[l]2zK\8lHpR)BjwfI6pM ȱ~h!8=yM=aEOTwb/%TUjQq$@9@*$4v9 ߉29$.աڧm/ٖz^m9r`^k1NA~) S2օ5G/G9HBS@&o&5N&gu9K Opߵ:8\#N\x WN>ɈѸq+Wuˀ_ }yCI`Nwb ]G$bAkg*t*ɰtf}f BmF"6=RwO1E+,B R$ۤYJ_SkZXo%o B*WqoR8PNldK=E]").U{bt0Dw?5gsz'vɚQ36};DePh&|sUFkҾr Dǟh֯']3mӷLJ )'6Z4h>1c<4ԩ6 ei\DCzߥDpݚJ53y-`2'ƒ*v ƽ*@CrR)"gKTAXn79wZ ;86 ز/A_P04ƶD>@\h5߾쨜LcǺ3&Ę4@ ͍D\Ysٖ(:2R~ұՑa˹{!;c(;t|aϥاo(`#(lM}A?};I%-{~x8]9E[[m) oEbmTw|]EoO}fsXqeu G]%/ܢ=zlPg5.Xk+ ]= l+GE[S+/ -m{Y?[)CXD?Ŝ*)))eYZS]odLIҧB#:Ĩl GE^^ fsKD+8_"ܢZ2_>O\!/==;nYй\("ZNSi7(tn#6a;U{%;yca!,M Y?qͫZ. LCNSQ @aZ]I{懋:zW#e{cP'Z.ƈ ona]Dծyh߲>;9^YopWOv3ҨRy_fbD/a{];e;~^K+ [+F}<Ż; 2j1BAu|irH퀕З0(F_/y܈ჼ{緭yBu:2&-).~yK"zjͳe(3s W8߈$*njt5]ҖS8;)nX58*_S레{YkDڥkF%/.\@A>Q]~w.@uD\TOAE@ B& A}0|cCd/v'z7.NcOP o0췙=7L}}J&>j%|&Gh'1"G#ml&i>1!S> -kC 8+n*`Z)Ɓ!#8'Zv9k¬h%F/pi\¾kK 380/C-+/Q&r @h/a(͜dteV@YpHM23.}- E*նogtz=6m#]5 LlYB"H+)m=2Ay4UEWuCp\n54wzqSqE d BnP>6Ww5/ikP&.# ) K!SkjTt p'nY\:.:[I:#J756Mu ߶(".5=kkf-33g ,9dh&Tw%ڟ2W| ɝ%/=,J* dNn疌NɄ,~䝽fKO],/1V >t8oY)[ݱ20-Dq$4Ka9љ+bJEr~0Zb)Ld)V>Mhp`"X`sDlCT6€]*5WaܦҦXrNe o360;Jnݗ7a6VwS r?[da_1ͲҸhdV>ǥEVFAV&H5;V}@<&P}g:#O?K^>W-6d.HG?a"!ſ[L:фo㐆sjxe IȊp>O=F=:/mDZb۪= {-.nҧP_kQX߹fSYѐBHF"EXS~O_IW?hxGZ~)kl#c4I1:3C?Ҽ*dURdܥՐv,onj-#UU%= -qs%G8 Mtg&&ώHu#`-BLo$ VB:9vmRy+7D # ~f'f:Ir6"9=D4wW%``ohg S0Q, ܯ3Zg ֹ9 hii y[ qI(p轠rĒSKbwB,oHȅL-66[?R9LJuZqM8nsxB]"c Y2`G !94*տv,̣9 )u HR[gWiм:Ɲm d*x;u4T=C,<}Q)0|x4_s5I_*55xYLn%1[!7}\j(ñEZe)7t:@{0U"YF+.e^&I%։{\Ƙ +dR\_uq%Xyf&;_CMfY>4KrM,V#Fu%D&7Pڽ7#H+e:5b,Zf{>bѪOT^W Q)Uyһ~lM#*n ׳ Ēâi5zy`bTD#T޽Iܖ|Ziu~[ с`^Gʹfe<]_jpy J13Tgm҇4fh3' Ӱrz0ڔ~ ok^c 6ބdѺ8ׁA86@Gh*I OW& fQ2 ܅eg*; = U# Ore ou|/,dYi-=@\K ޖT^fBӯFzb端& z܋dC# 20SN8W;B/8ޙ^˙gOńzc>YI45u5X ]$/̋d dWAgњ] c,1ʤy!K(uKמB{v04cRԦic u/r̝M&8N, ԞpxڥoYy4h5FN zFt"aX!3fgˎXqη:s/rMx½R&"DUT.;A[Qu4o9uϣ,"z+{B-RLQ6!M+rsAڷ'jcm7A4~S8Pt4aUu4VW=pSu ( !Qq (dyn">(".g-'Csp+bj- 1ܗL")﵂6JQ@ʌ.߳d|mya!~ r(p 5d3Q7~ˁn1BpX Ar.k~~AQuVXZR.0-:!kx)HHj {?4#WYxvf V"%~ NC!~=ung R{79u0`J/ܫz5wfz&nm_`f?ɩ7\,52Et: [ \Z8Yg9 0qeHRd҄Y0J3g4@mz? Ks9r'cZ uZPeލS_;;됂g"7u[礪W+NoOu g5M[$[ ݛ^m PWy;nh3Yݍ8j>cjS("^Y1D]2/nJ+t4oS:f$ZJ{ AFXүDH+ yJY!+SBv,o"Kq'9UB  CV f^AykXԉ(ZڃjTz K S8sZ`sWu2*gX{a=l0ZB4&P1Ry=nΞ&;JWqϼu^řc9]jt΋~_klS}"6pgjhKLzJC3?%x6JCg wIɴAhh{ _a3*K0bIH"yNGTK6y / IݳS\AոdӴGWZgz>#(GWU5jJ]h oLɞ,86\4SKJVq悗0Kr,/0Yd>MCǑfiޔk%%ȍ7ބegrRb.} Ϡ1=|h#VhP]ߴX= `жV -砥4Qh |& %6^Hueox[STB0 G۞HIT\祭k8\[uIfFdSrLPM/,zѣY03h;J@g]0p&!i'xY!q2Ԓ1{/)1u1 ?L,MtwޭU!.L-$X&@?(,As&#\QFnHrs9g]Y#`+[/nK2_ Ҭ) $ȕ}+t8!^<^5@w=lŧ6/8Xhb]A*vT 0In{bt(d_tNvXGOωS&oQgg]Zuĩg1$yHcnu(l$ O]B VE)0o:.lcԀuI9U&puEs[γY*^qﶾbdYl%V2)Huq>s9]Xɰ(h[P#iehTNS%aZr Sx]YyjT{*b' FL";tMge Z(Q'`1Ϸ&P;-q4`S(:n52G 2 (sm&o=dt"T3\h2\a⺈+nXKlF]5 U 1r_v: h;Q"Bh7S)hX& q1NgYcbx$X;;xR)[!8_|[܅)AOzБUK}{zjFfKA# gAlϛը/w:هix,#3Ic7˜<}S︯pE;=B rQ%& ^v~%!+M@m1vy$Q|dno^81vڟRxY/TB^NtS%n_YĀ݋x來P*]/|tޚ0WSz3 G.ϐ.,2|ofes|U-$ ZY+=D>6[Bu,n6}{&}pOa:SIK ^@Q;˖b +r*@Q[Zn@ )lfs"2L:V0^Rp(yޘ3zgXd/[`q{zh(Oo7OSťeAxnh$}jH&P" &tUfkH"HO=(&]d}n4q :5a JrU,a5/EdxهDUt7@⓻|`0pYp6P\xztv2vIcl;QREOUS'Izwtm?F<̉+ -EIhu vUtBa.c!Akq3SunJ_wo^.)d/(a\~ODn>+.i[YO Cn|hB9ΝEOkv0Zi e[IT xk0x:L__CljY5r"Q(΋ GX(J `B53k0{a]ėg;VCU6?aЗMGrV@ځqiӧV`DA%R0=voH"LWk A]sbvO%Ut Dc Z=ZgVK^QWH$}q΍t9Z[LWj>suh9Kd$jP{^H"vJ"tCrSgh7[`y⃞NYRqcgqPRdzyEW.ѻ%T Y(tCKHB#WTi4\>q3A;-똬3o ͍vVv\ZۓJl-n < w 8w$35f˚[3\~)[q&xg$C[% 8zxsfd&z#Ǩ8zRJHi"8վMw55hH:*Wߗhyb~sBu7F1~FS3o7jF[xM~"&\O99BSbgԇm_d]k/)If)ou0#o^/uu.$(XTy' -1il^5rƲ<2wֳ;M?Y~BSqCz,dgv:Dx"L #\2d ?mZK ;^Ա(8>Ci ]H/pX[4Ni8Ct xTPS8o =V|p~6̶[=)zX"s+j HO5dB oϢN]~ys6м}5Ux%wJ߭O*.,H_W 4ʁy7LK:+Ӥ8֠(/+닗t\LX/ :O$-,p wJv2n|ӹZK˔*o+PN]ґ۞9UƲVLޮ=uI떅9&eRMrG~]FfZ$G*LS]u|0-remKtˠUt#AF{~ݻvZ"'z̦ * t?.+\Í%A1^Q e儮^;"KdTd/wXClW#7?!v΄\wO0FXlkXtڔ.l1uSf~pf/[vѷW@pSmgڏ :MwHTē1,#-]fa'3X P i61<'"%q3&~zK=U45(j3"{ [= cpdzY?l>]F^<# ۉv~^5j/g VR-BlF>+E 8;H]^p L)3qlAؽ[yFxl"-sRĶ2 lݟ)jd@DI"%92h h"wgb]cu{No3J<դsG&r Gc;_-\ 0<7yg=ONa@)Ipg8ľDc8mM"=YrqkK.t0P竪v=ܪR3*QdFUY28}0r%;9Xbi. _~z0KqPY3on. :wZ\Gny7RzL&D$+Gc! X(n+bXasRCO+E1ʢ9xbw<0wEA/t(g'!J$UL̀*踹i+4k XvKeщIR@R\a"ӻE*\ \@ ͛:Y nH(bgd ׂ&8b0W%\PF=ǘ`1#u, lm?{k{bn6V G< Ě!KQ7T=$bmQz7fA`߂UmasA(,R(LwCZ_E ~i#6Q2X__G {G0ӦmP"mmc2Q˯uvǯ_cC@wf2ZS|*6W?Ԕ b8ћkxSkRuQ@ʩ,U񁍾[qAyΛ#Ged W~o*\  Ia13ќ<hƻ!Yq<$xb14Q}Cf_1UbN &bS)oDDƧ tw7"4*%_6`Ez 羄$a14 @%1Bͷxt}w#K ,-[|oF$KX E)bH_h>ΪIyAׯA8IwEW[pByYA8Ueśr!4g_heD>b%J1z+j5m}!][\E?![PXa+"\ E&E)at &1yR6Luf mɱ>aĹo 71ޗF?@0fHHVEi5qg8voFTvl&|ßB*$knaŊQ]+sZV]xEˋ=A`_-wU0y'^6_^YnMk{GJY\ԑ{1yE)|S;'Ycie5!oaB:(pum'd<9Իv'nf F0vI=bk{?SYo;kȕ^,h^ôY(`1Gr@:or0x:жs(o0\(ZM,|rH10 G<@LV=ȼca#s%vQrB0 Ka;` ZO[ϱU<ӜDNWZ >⿈_ tZ칑0M!iM9&P8*E QF5lH &ݏs'c54s'@1󵀶[q![ )j!n^6nPV<SO՘2dC-"ļl~(sKM J nVwK&!2\96&W)m+~si6L2^&sq"QwRuq0r<%(hQI~Fhψt-Aj+i04T8T|1<}Ez:k8QU*֫ *ށ{F90m'pir wYףzAaލ*s!B)XPpB˗-5qa#.6/yo1`{cUiH\8* 3d/,oI1b,z\)Aȕ5GDj}2{tP)ƥrY\FTB]ǥ3֝|f"utҝ@jst9IFo xNBo=T\+eV!{PdVAz-@uc%0%+%vEVZ ІT=?ӎl<~ Ўj8Jif3D' A fS7mO-oF+ *m=TXDQnLPyU 9,8HjxB s|)i~ލ#(((ΰA<%=Y稂_1;栁X{߁j\6ɓGɹy+$@Q zp:4#>,'PKү .QP!` x#Br}5D:R6h|d"Lā|}G:y o[{t 9km ƽpxF8$\`B

    A!jl#z}rPԠŲBL1ۇqS?HЍ=Wo]Ph *!j ;+ee:׊靵Ŋa4v4 i14Ƕ-x瞼ʞ}v/A#dyy4NHP8rwR(@dyۮd@}ĝG#D@H!vx`@~fj [wpZp yڄMZ7%7TS[ CK M\n0fBjJ 7y\]Dt)uc8+hf`ȧH7^Lylke. @Rh%$×#x*9: @ZwUSXÜCǍ▩ '#*A`cSC37A1lHQ0_$E"LK%e+nT6߄U/ -B k7Z^pcUjjY ȦmD\Wh+"*YGStR 4$| DrevK bY"T\9jɞ VhF&O. (36*i+m󶒔?db$2" *{Pz\9.ѡw[L\禑g#{V* Vݝy㭩r MiZ^u*lVT/Sg~Wsґ",!/WryfQTKM<~:[fi:1Q}z~k |زk/a<8J._Ϋa z&ߵ:ͪ%1dE`xm:zVd9>o%]/`B>q+1b#ZH5zy_ తUٰtƸ le3=E;+Ľ"foIɋ] *Wv1`5vǼ=y63ssdCꬍs[j&,;1ݮ1I*F~tm,iFZu/ ͯ%85xOQA+e{l"SΎtw2Hؗ]&|n!v\v`^t֧IBx`9M%{6Yf8)#Y%lM#t"4LU I+Ucyf BX\seć>$8Q*P28]zV%7zKRv y))7ʰU7v%z8I; `x':=fŚNZċNCWс mhƽLt(e f[]L~^}9h ?¯ p"2cl!'3U ,!(kY"\JݎMB)ܡ>YG|wMcz]SQza5?nN͛^Hh 9'y2UMߗ"Eh`cLj'>b#cX4n#d&06 ʮ.-#1JγRgXuǼxZ2̰'+Gw  vbÄ_ R7< b,O@g>MnL݉_ѹ\ϫ*MٚT0ىU)uK,qL)c9Mo.r 0G|[Ua[t)[}4|߀{it8e}X<i90Ӧ?⟼+>*}э2muc2zʎkfFfWn,-=5g~9)#aqXB R/VLzgxSu:"`Ă[oKgr 3Ox ש0O "xƢ/q^8@!YyoE Z7 DKU+~ZH&*7*1)L(Ȕ;sJH{I_51*!X kwbMxLM@64PIu3տ $oecQ!%Y^\FI,fw9og !XmEzUrJz:ʈu1 j0k/Էԅ֭ /x" ɡ\  Eէ*Ja v8JPL5j[q0:,c/Q<+௴39q]leo,h\^Ey >7\L &fQDP%e*E8Vi 9e IҮo Q[S&Z/jSj3{u:דMJՊα]ˢ:HF W5ۨoZy| \]ɢqS쨮#L:o(z\8whh {;#IGC;8awΟ[U " A+)'G4Ҹ3ԑ;碖-}rł}7a_NKRūSY33̊tO)h#E)ddVWc_3k0*u?bBhR^/t2j\tc,+Ԃ?`zUzދ1,מ 6^T>o-1+rH*vJ(7(~IĀ7an9.{A!}kp="Ae#|5DGGۻH t[G$8cpv֫)^ h89*ߒP]tb_ޏP0(f!Ke cf+;Z|uw%2읹:Z\pۼ1]x~pPy+c "Aib%`IVr[޺2(˒{,2G21O,WH[]~ DRjwʱ{?$\~а dނk$n'XFu<ڧԖ* ˝T\q/y a9y:qz_^Z&2͂W'0XTʁuH <I-N ͞}~G&Dupr]q{ h\? ݋fxP]OSx%e9' )p"O;^#jƃ" @کᚭ>I9'=zO"I֫ߑ.16PDڃ_pH 7pjepڧkғHJ9pNKvlb7qiz'dca0 k>qחb`k_$"pd%䬪 Ѧ'SֺҊa&2ֲfUjNu,55*]sT;~ 2a!dHdzF Di Gzhe"^zOlbm Lla%j+# j7Q16E)>^dgévsS vt6'B h^~1Qf'H5 ⇝G_AQԜ[oT#ck67˧~('ОKi+߅` zdi?F<jcTj{_$ui煟!Tt3AM|}1 !|}@yA='QTt&P>b=k9.0ݧV} 33MqhGm?^̦ۏN9M 6~F]4i^>O2~* +b*g֖aE5-&[v?-fg iUWZ|pB GmߖʯT"h6 >Spj>Ď{$&5,m PveZw`(.փił VjNנO7FWxenQy]$Dp#˗N]AWd}"Qk?g+7 oPCbtvs5Lm/(P7C萘J r(k6q3ڡ=%f^;^^  iMuI|Q)gaQK{8 n%i؉z|kG'o`Ԅ9z/h/L#;F]Bn쌠wb[wwt>Uokk/zp "ۣP0{X9,x}K>v@$ա6*֤)x&DHD*"X|et59Kѷ+0aX *{dQڭpbnN B~Z&\yD|[AOMn^;2 CFv[t?CD@vV 3K/[?nvZDWfē?K,C#EEBக yu ,)vzM^*4-:Qq\Jlwp1K6ݬq$zj)OXB В{udw)}YU|0Ǽ\񥷮/A ~ۙbJڻ)lE.~oB "x֟-L s:^y,Oʳq=c4RPy7i" ,/páR)wSTͬܚEuq}VԿc2|-e`N К3B~QySڠ+k&nT|>V ^uaBpexJ/@k|Mqdq,N=׬U5+4nJY|R~1-82ɂF Lh0,NE.$Nk0K5HlA)741Gp>YZ՟n ,0žg? 19R= =$_p ,~SS;d=kCz9*7]:k 4"ٖ] qIWwPPQ~bc?RLBŀ&Wm3弅Pȍ~xTϕ_`gFG`mȹկPhR ά]8-lR웾_f/Ԟ&, pފb-Y1p@&`i"/rz5HCTn$Iytpǝlf (m胉/7`4?N9=:Z%RS&:n1/e5S'0+RQ, JFæ;i{ANx5zt[+38l"z[*;) OfCa6"o#E.WӛZ z"p&)*Ir+2Tv]Ku啀vVNBGk "!p]Wj]]?)G.w N5P/qbXZZgVdoagJjs]ݣs-[9tz"sFQ{T]1-ە gt~ޜlkp_D?S+]|4,&9X1Pq?,kn?kr(#͂`M ?g6: ;fƿGA.o!b*\=]|7d"֒%'oG4uZEѷoڂ~|\O@2Tri뷾=J# ED$rX7 b5NZKK[fNہ߅8B[`Ȓځ `/ӎqW=<$"_qzw@ :;. > |M6#É9eFhP 3\yeXj/p819/,tN)jXA ¸X:+@re\r; _|;i+l?@+ =U\7w応2]rfDC7?6⦡.b=ȤݥowMo -BF3XZRk&`Gީɉ,VHKy OծC.CtUTzo!1a u0XBܙgzU/k`/.雈]vvЮ3rɱoIjPkF6e21M,2Qn~"(ڄ_#3^bÿ1#| 339c426+H3F NE $FN\緳T޶[hNw#AbHӎzWco?/2/(ѝ4mG D7Lj눯3 f9ZgM'2|:#rl{pzBUϭ {/k,Yi$׎Nfpc= 1t0wZ/(6;8\}X,I;0sk?~=.)[Fp|X/rWi#E*g2$W\ X1'SÈPY`tCL9֯Nk8':0̩<?E| Uɳ!{˘B.>{ yXh-#_MG8p\c]>$* Sf'gC]e&TrCN ',+E(AN jXax-Mib y1'UEW<".vm".ˠt&~Ɵaچڟ/F fE6E~Ȝ9PIbO`Q) "Li /q§8#7qok Q`L}} %PyŸt=}fKBh'^W[P;pb FT 7zroYTľ(Ьapy\t"fv&ŮJ8XnwFl0y*rze< SDcI^4mTKcIq՘U{&{l|pAp`ȶSb~vt9L(o:v|a[ykx+Y:D+Oa:*BUŸ^}0 +h">Dg6gwwtQ[$3]pq.6-}$N3'͏̀ubuv%<0tbC !˼^DP44ϓ@5)8=c헆y0i6nƪ#1>] E^Yzpk3T9ynZ5u,؁vr%,_jqmV4?u5""xl[ ADžꚀH)DYg_<ѦN;{DTnTXZ8/f #o<"zlYPI¾&kTgy5*$P|}51g>Q_n bԆ… L(5{A"^\= o n.mX(5bP~:OF(:q\d#{ܥЇ`f$j0? txLD@q[HaEVyĘQqw_mrӘvz[s7$Yt7T\6_|/81qX)*.AhӲ̒$1fo@4(u20D<Hy= 5Xg(!iXVTTغ(kGl7EbBLjOeV3Tt)S%.wCNd8P6f\ T M60hMFkӼGҕͰ\|FzYJ p3A;$WKevr3&| fCҊ<@v%pb,<Ѡ˶m^ڀKRa\#HOG@"y/U"@ ){cD P0m2fVlY׼`9HiÊ0(VD8SrJ3Hg-t[jʣɾ>6;OdC{8~,uڕy A5cPbϞkUO!\Y?YG֤ǰ# w+c 8pW|fnf"Rm#FVzbǚç;d|`[[LeZ۫$0oimkzf"T*n#z^X=eM.Rv٬ QŜ~SyzNymtVaQ(fIV-L, C;K?=^j]TL~y$ȨeکGl1$lz4"IRC*FV<`=~mJ.W? ! x+r:޸۟-eH֑oK B^A"kW?U奁6RYg0X:9Ot oJ>g##E N#Jd$5񣔎_vAlN7"!a}m( ѯ3i5q6Yk ] d8;ٗ P$LHpw-f8 QJt*JjTQ/j0 ťHs$?P:owE_@Yiױ̣6F9=0GT)&NJ7r R[jyQpoa|oIհP,q=KI#\)%=h]M{f)T`z(< ])BPaW:0v5JhϞF:}Y7;ׅJD_҃twsS" L#bUw˝GPf(»j_dܸ<,n[/XҗmhZ[z2)Y)3),g &#\0Q}=. Y3G"IP]2y›ʬUUGbocu˜{+{ es7ӀXpҰUͫ{*$[{L]YSgU|au*Z _ 8!G"-1A&`-ѡ}jt6$|sDL3򇺤`BρO 6SQP7)*'y~XYR+7&n R[8# tt##41u_lBA"\t,Xpۣ @9WWyo4qE];qHICrH ?`OWxUtܹurX~xx  ׿<:$;I 3-X\oCYT6* ;l Bǟb?ӯZїpJ@Ь~X(GK"4 $>oUEJz&ʺz*7.Xttݟ*OIci|k />rM c]ջŜlI=2L}&# -E_`w>+1,dx%JکE#ラMTu];-ER}y+ԇ[%Ĭ7=PHn]_d{ZΫ_c]"T_gՈ00j9ꚨhrnx#jV|hkըAJ`A[Ԓ}#Rl" КoC¶4,oX$JǷSNͣІZɣTuoGfciՆM':6/ͺ)>'*)6jZl<0<*z?OKć!"19:Jʼn;ىcPzB[S[[JVI@ZQEl(k,|V,TYr>QAZqoo'vA3q/9<=fgs"j~ lr~9XB-4%nH-qȞx&D FGٜq] D{/ha\#iTܼJ6 ~5N; }!=1V$vdnagt%H% #CӮ@5GSz,جkUybM5憀,zhyk+S8䓖cu 0MF(?>zv_bVTN*_. Q 9 ?~9wY,n$y`}^@ti,HOw\C~7r}Y_G˂.ft NU wiCnZ(B2ꛤYNEQ7@5&E6ĖBIӻBOy|J0N=k Be*_E_;}++1pwp; S"d_;rpvL=Hk6Ce7B "I3踷:0*.y.ŘZ Rw|T[8Qa- G_>WrFC&$w핬y':#z(6W$0qX aw3ꮃO⪨FE͙wtp:b}Bhd%sEqLhQѻ+EBL)9A#< q`ws0OByca޼3_GCȾc=fGadoSF%LjG.DsaG~ omϬg{& (_A(VAݥeE*heIS< ^Tm_o3y RNI42`[xtBq9&sh]L7y=}u)H933M1K<*- rk, O3& FAFdhʤi= ̀TxUג~"MyasE`^<&jr}+/⮝ /hH%A ' ^8=+9EWYڳ*JuR{/lW,ɊdlxHJ؀=$JGo[PЭ8΢>)5is̢_֪to^2`&@k8~[{;P,22 *Hno?*"&̄;O#+ZY_,w0o>LsnO#@T-qSDA a^ Jw 4># PI:;OnCUFm8>7[ V0W0ֶ2XhJWu u!I`l"9!siFZOaWUA!9QGlKI=!R9ĽX8/!Wv:CUAJM*nE@u~H+8"Ws̷JL隈qk떘DB7o>\;K <nCq{rc ZCB.llwCԹmOUbs\x2JdeLa_I12p$vFc[x$"ô%kg :YgR2Fi&<|貍Y t l 徦b<)7\myiRiؼVTb9sM qԵ(fI:'_Qb=3yub n6b[*_(uNYMj1 dєE`N 7={,O7ߵIn%~IS19_!hpͳ4kVIҘ3&4O%9qf'vH_^aw*S9+]{rI$Zw}2C$\\^.akn§.8\O4T!@B᭖kςVm!͆_# ..Sq,;7IGz թbji-#hn mEjakW@"cQ?}J|hzUG:'z$]eD@Q"ZBUНfIL[&+MU9Kتz8,$Cvp,̿[%?q,("/CR<6k̶W/ۙw%dSlÌY֘ZEJLuNb?:H'g s$B^K;5ۜhYuK$PHވ",9o<O=}a!$& M5`Ŵ>y Χ̺ )nDPm]吅s(U$T1gMi_]$Jk*$tbOa"0PfʓsU /`' F! 9ssmc!N|Cw k5?:\ tm/8菟iiB˿*xX:?ҬZ5nOI7IyH}h>i~HWTl&+ZK<!y$bJ'lDlsTLXjYlAlp'4.) ;4Wb)ԓW-ަEJ;M#˩#]d.tړhLRfHAn]pds#*~\:Rdrm > .{fAb{)G*N)8 aV]gDoJ*ї:V$LθVzӻ_4 i{D@۶֕=Z)vdwfۊ->]RjL}2]Suj 315.XMcƈw^tʍ|PNZ9ar?A+00;Dv}U25iK\jC\M]1,qCR︽/Sh;%dmGT05 eakez3ȼ]x2[IXö,|&̳ gȮ 7iVxaD׿ACu`yN_^ѵmfBsXBEPUAoѮo o6,^IM+R/_B>bMeN&UsvGUI"iD}Ĭ==tsH" MS-,&/j;(.Rqc^0nAUm_ aHUdteD1= Eُ4h|ATPF'\V-6qA"#cKa`qpb21{C*6p-NK W\G&~HrI}ϘQ+AXZ["yRrc/ܻ5EJex ۔L`ѭ`WH g''CY JՠޖT =Vோ,,\{!Ȭ㡰??]رp.Y OTߏ"fRp*9R.tĽ`Wċ^Ȋ>`b8#$LSMGx Õg5j )$K^4|or [HKO! ^!2Pks+i#W0S cL #ȧm l{@4i]Z3G]/NXj}mq&rs.L(*S%9H`z&,oW%?E#sHɬ m~+/->HW=Z w,Cqb`0eFH n|I[`3>b=~t47k/j7ᖘ+@Zq>$+d㇅ BU+LקV ɗ4Px^s_CYYKHaΖ&lH9-IS24b R_@%eUyJRȟI{7]:V(v]]#:VƩ2S WZVgcE*Jϥ5уԩnZ{ 6u6`I$QZ͋}?v*1Ƀ# m{p]U;Go29ݩ/o!ƛeUEl(tڗbwav53s=Lk,sՏJW"Ϸ1Pwn S,IVYID仸?Ѿn^"odГtS 6" ѩPbmzבu-)1ய&I{BJ?O `8\1onE3O .TJnxէ $ }\b6)@DgPYcYq$)-W4Uf8h #Ga;l 3듛d#hS\ýG!:U~_cR@B F S&gBO*G a#|f7b@ض-%׃{ӌ#./h\uzۦo?NbqUyW#E km~+[˭jZW/vU! B͒}g bc2 TTksE2쏅(fv5(/x_汏APg`l1J pǮW`o`;>|%fl4(TS[8]\͘@6PXJ4اT zQ pJ0P`Ϲ:{1զ~'e&R  IUI^AB0MmF#6FZ"+t;|mlT \&ŗWR?QG^?c`J+-" ܻOQLjEtV^H}z˭GمFWO)>P*n0D؃{YS}0>C}SEkNG?aׂ+]UfWSrMr$>5~1~%c'@%" Jz&#\TxaiOy=?]k1'[y|6C4drOX?%ө{]Ay)E^ #_hBmR2]?My'0ŪWqCQ3O[-Ȭ c"0 3Ct~Jx=1 8ۆ\9G!;Ga.hyk~YD~@$ t!"._uEZٷV:@}1VZ5])fV‰ZKkxd([9ߗ'zS'*m[wsN&8\"B+u}ڐ@3.v <&j5 ZkKf}C:]1R@ϢsI28QBѲd]n:ľ˝Q"[Qyh*7}ĭ͍:.HݸLS6]Dg*??h<9N\ހ~4u|N`aP;wFr(`8 R$돀.VV:3dwY"h?#p̓kϕ QW`]dOql@I1ʾyEnӲ9eӧ׳Em.fSc}5# s7̵uEm$M\ү:rD.`ڄ,9U*Yg, s Ga`'N| CXʗנWktk7M[ٕ?BhbXbVֆF()z_G$(\|-͔B8G4@ђs U.RWIE{sS&beɥg}T;\IGs2qUlhlzыϴӝَ^P]".7,M%0N|7y15Ѿ ZBH5sJ ˦PP5E7g4o_`0Oe7K\<;c)ֈ'NjՐB^WlWd1QNDN3ssžY3 ^Fc: #sIHlp.g3喿YAH#h}= V}8*#uy Vx-鈞kA@.M 3?\y΢ڟ,Lq*e BC̀ag Gi{.P׼ί1 =[b~p4#- z&;xZ`?Aĺsӡ`Ȣ~v0F*`3)7PTոy%ޘ+Xa./&xH%4Qq4[x34F}Xp 0*.|ClگZbvOTް'$64Tf>d y,N϶yU)FIYS|y?䞓a0ṙG6NwsӚIīN;uYI*I狼kDս1!ddzkHzV`ml ID #LbU(PI|CStESdIP5w`q3"S p@sMF&"RE n"{Sz'V}'}tD0a'9m*v쮾xߊG Qυ-7wp ; ^υe^8tC=X? j2Cȉ%_I\wu6dz [Q}UQ0({ V7A< `R<^r3c}yL 9NWQhص }gїbAb[Xcò]6J]E{:{^Dc3*n-{- 8>ʲ%K\ZKF8^#P#;hdk * d"b<[H00FSTw&i9+g;>=nPÏ'gc TAT/d\7\hzӌgIi2Ĝj!M$3Й:eSsə;`lrJDyn3k2FOof[.u[Wfg8 vYR~? 뭐3*_ZY ĢȂMQSk.G6W=< D ~ ^!cJ˝%@Uqh|8~ƸѓgMWxZU5C=b{Wjm'9A:.@TC\Ed\,K{ 5,YNv&j(S4^rM[ ZdEz (sQL=Œd*B t #MGަL#<\  o~TƧZԻ `K8˳ '%^{IPX%2,Shb)FpPI@#֥ L?.qh.UOS 7h3@9b/O*Bْv Tӱ zx)Ka `G6S V(;nwlkknZAce$$(@Xl:ujIiݕT;0Z}W:y5.zPElĠa7}\֗5':XU̲{c EPwD2bo+ƛW'D'C𽣚#s&,`)sUiQc!)mᙱxI }ҿ`_3mwmAv~iM^\Kiq{*F5Pesl`CXn7A$xl\=\hx>uEmٕĊ Q q'5'4}`6칆kN-aQu_¸Щ\Ëes #\ Yi{eYᅑIvj!l| >:>PSQ)B'<}^4ysA y1?[J;>sp ńzpNi5o5i3h VKڟRF_D(_ȐA3Qr'P$4GT&ߗw+;Nsӏ?+W8 OL+$Rw%6:C0ǿk%I2>.yz}^+O̩1ohsT:&_=cgBDEA5H\RL466 Rk3.c2Kn0;^r8.=]ݳ l8nY<(X;Ğ0*WopX%~?ƒ<>1HdSvt;8::ǨrѠh!û7L2Mtwյu~hל<0FkH.&4\]q7fmJ1Hi]ջ +^Cs(s$#Ow&nKmE_ *n"+t0qaDi '%ld/ T/ӡhH  pd )-`#: rpgv瘄}%Ne 7>n:.ɀp3PONF-Un9U~FޠH'Kt[ WI&nؑDܣ/wm9wE3/M*Jf8w f,zqlzkl99Uh:% κVب` USa;ZB1tK1@&M]S6m C LPTAVyR8oF*=sMoq^ҙ/}[F$39 Uc"ל+VEV cl٬;*Ok3HR|WfY"b68Ctulz csZՆeKc[tEzBK ~{ju*!QRhΑ7EolQxLWʙUNG'|>(9Wep{~3W|Ӏ6LpDcQS9b**_sN $u%;\\՝5jSIhHPP?nR۱QN.&ݓE~"n軱v]&ys|~Y&L =mDa 1U=D¾r[ A·ϑ$3u{Zu :GlɈا0 m4X#h%AC3T_ؒƬsOa#o€Ե$]!|gA`̸{rN[8K̉ ΎjL[gx}`^ ګ^ tÿf$'F݀k({HZԎ6m6k6i>{i #tAҢKRw69VLS\'\sAw#jpD5jvE֮-_)T!]r;W*5!952vD[4WusC<,U|iD߉PejǼI %$־!(:}&.1*gVxlR<'QvG`6ł#|i峄yѐbRۻ E^YA3%z0!0$tPIok@k5M[ m8hp=ӬYNTW$,}CG8,)6I’_(8MkaXddFhXhˇqv4IkϢ(t龾)H%;eR+sLwg Gmrq'#;!č W3>>3 /V/c.qx \dꂕBfs֬_ 0ݔ y^%"y[/D*UrzT(p}+rPUa:l{p5#D>'m͈8tU(<y\FO|,\f/"ҷ-:3.D$cs۔9ŃvZAu0_!~ϥ).$@M1yS :K18:zE16(Pnr,QT%DqXs!wz[g+gуo/x8W/S~Z tkp\g-\#d!ZU!hf.vyApv"kaAýu:;NjT\;YGU;. hCݯ͇ں+W֓i5$ ^n*l 5}xe3' $e-j ]mT2Q9Fv '毧Xv'nʺVrn3̟vot>?$qX7`jIO\?D _;_ť<# r9G3 MFLQ cm&LjwhCTúaRNqИd3^Ȫ?%kkɝgq Ւ,]㹌/aeƇĤ1y}# ̠9*Kcַtr6%fw}-]>,`?!Jgf' @P,PKkl+lSȜ787*IT &&-9p)l@,wpE.U6ҵt`3wte"%?fw,1e[s7{Ԯ%Bb[D3u.H a1f`U._a`o&(SqE:t:Iqk͠yU pb^6dWXcN xF[B mr-؝L̀C4,g0cl(#LQ̓2-Jpy7+$ :~O\*I; fj/yl6)|Js3^SHY01n3DG؏zX87X) J?kAꡢ݅Lm%9wm!w-zh-/H5Klq\v2`0Yj=Fy9g͗fv&-7c.PMTd/OWu`weʒX2I%wo&gOnXtmg3!ru!pX܈paDu(.YueMØ>ccJB6Hٰ~\|I?B /\!k8,uGK%-VB '6ci]<0}jO5*LKIP(Qii4_6:ѧŌ|UZqd]^eq4xE)mK5A-k%yZ^%U^#FJAF %ԧ;qGdK QICzLH+K "M" "hf pVf=A!).a>jA ]hλm~Ni7>tSOOp䪡3+bD41w5}v( ʨ븹z^5DEK3e8lC|8Vg Rl; 9n5f)S/: #{R8+?M˽䔆]YG@yʍ`TlC--%Ked zԙ/K5!^.'wi~Y f{3zk= H+#MPXzv ؿEM|n_w ˽ٗ띍` &A= Bx]OAR\p~3|@T4>A?u*ҵDH58V{3yeOO*ctS2Dw'nķCKbR0x,Z~&rLd.3=9@}E nH?SG4+cjH7ltn5PyzyhA}tVwQɂ}V.׻" KmI \GљD h42G$EQp[q:i<=e^|-gP:ys\ų]==ڨ=ׯrKsV49ƕl*um U3LQ0ƚWN=86cg6A2VPף˂N l{ h=XWރsih(ؿf2̷.]|>Ue3n%DƉ]B_~nʼnA'#zh.-f PfgWos3(E,%ŐPSt+t=p844ggwȤ hgXxpVƚt׼֍7a8!VN]E31*|هZ/xUw=~c$zMc%cT_-e .0#247Zq'iN/@qa9ZB~iu>'c[竕Z5_cS̈́!B”jHta)CCuf̴@e݃z .f`N80 ~e樈뒇ؔM"i0ȉ 4+In3}&Knʇ L9E=>MAy!CDVcs/Iv_ >14pvΈHQ~,n?[7CU/i'f's->űD/@G(7\.]h@}C'L"G:kL4}zG$^a@° M{zCbmbB0Da6N^H@'~ FnqE#H+ ?Dzэ+%`$ix ȆS";ةv7vgtng^Q>E*8F~+Lȟ[,^ pI{~S$`bysÚj('K2\'鍐^2~w#Mg o]k2 Λn ;e*jicqAqXW :G.s+ɩ,dB;~v7 [@N1C]3n`$)=4K0iJ^zo%Қ|bp$.[ aVy4^0H솝 -}uH=_Ԝ qX=B\jrOokd= -:1b<_^K ̚X[QzBKv;WAHd`%"A`"kod*DϤ-5hWI+97 x@stf[6#Wnb, 13c,NTu"sۻ.TmZV&s\8֜Km!ֻW {Djn)ccݤswf@e$V iS=h͞x)^fejMc![Ƈq~x2F4BY]dα2ʃ!~ ^|\=l'f4L xcUvM 7ji;1{ecMt _*zZNX[C__`UNws6 ﹳ\o|mE ͡asѠ$JgfO 8bz53f9dŽj{0C 9 tDjKwL̛-L(1MD&E8ԋ3cSij>ŁJ9ZD<5`^Bdg*':`Y~'p,TYS)Apa:ډLe^~ 1( 8_QB b{*q*P/-#7lIjoD ̕Q]-k r$Zy0Tњ9_%{ /BtoߏԍAYv."g>UIJ;,btśx/Be$W vU>khf^9YdHFcAMB;`k^ ؿWi€;[Ig xMEÊwEBLA^vRiH3˨Γڝ7ּ?8\) cGrVJGqT얻|"4l+t3 f{6"/-qKE6g<*-%/dePΊ%Jg0{@v4ooIj58j/Qì*ԯփWƾWI5̕[^80D Rۘ}b)~ջ͞ъLd}5ybsDV6}&үP5.訌*Ifo3OFKRȲ}5p/!/zmF֛MIht S,ehs,//s @z\yj6@W *ؾNE+l,HΨd ozmNrc*zHn- =dl[ eB*ضzVf".vl8`El:Xasdf( Vye<{[0`?c%NWJ'oJ8!O&/3a;=)]oYߩHyּ-l P5;1T, >@eQ+`Z>F#)WnP|QmXkgKl+ȫ ;Z=yQQacy;fQ T)_T>@nk:1ޒ(Pӊ!I(WA[>Mr؆/hH=_GnNRizF1`M98(Rs~ _&s{x-[| CnVg+h }Ħ Yލ @ 3" ql6'y3ИcE5# Ko]>%HNfA op(ϖaZ?٬te4U@;OsX6A s ǎB:~Ɛ5b Y@ߣAVY1h=<N<&@R^/QO1>> <HT|Ȥ1UQw@}3vkr W:+Ovx́ܳvk9`AjC P RQ^2;QEdx¬ l;앒픓%A_>'~4Z$anwFQ[q y>Ȃ W3ǩ^F aYTdy ~\(Oy`iqyM9hz/9]@/ >>1$5j!sIfqjJlynt=eɏ;H@PBǍ8ZEDNȢ 8Sb}N&uv)C>(qU뫭>\L!uu"+E̥G<&nזzfh25ܐa}ʼnMC;|J^8s8 -Yw% ,GctEQC|[wMO&{aJNOl3+h8{*`ϴjR=hC )LB.qfܝT78T&pv}F92R@ yhN\K]5ӱd\[֔QLP3XZ(8Hb^k΃sr;6=_a"dʔv+Ox=JZl.[/ ku 匐-F"%mB`ແ',ْ0q6!Q]I/Zhgʐ!nGs ]s(Pvfu;˼ 1a- r fH) 9 8,]=x:6[H{[?ɪS |J!]H LP]7*f,ڿO Up};ؤIJ+{QXʰV v߲NaYM#g`bkm2 ;PZo,dVBPcp-K<<@2HߏȪڗj~FPUbd4e/rdWCD mE=^1L#mlO(Sw bued&TlΖhK^J1-1 I`'Y?5oscR{3Įg5ɵ8pB%R'=Iy|)O[Q.*Zv뛴S}PY\hvDzѿӪpHuw^q3VīrMhstFڄ8$fp]."bplQNd4noWB1'^kVaZX†=)+<0yN|S7Կ>8VxcL] `n+YpO!0u1@#(%FuI4s:h%\˧"ZV s:a44Gpg)2alUK2 Df%&m)RYiX$EM+hG #ZfR4r^dRRZIDt!5ZMܹ4S0UϠa ǂҸ8-=&oH Q?6eHĞ:cL2}ZV5ҷlɸ tRx>(&7j}`W4|"1l+nl}M'ͰLڄkpqOYܚZ#0Iw):ԽJqW㨄9nveJYLxL0 c%^d* C}HByGkWb_jpl:[Gfy|=yC+Zp1:!B1sd*6fyUQ-zeQ/G'%fzE $zh"ّK[<ǯ]'ewi;\+Z5GU;dPEIO^|ֺTڝ2ž":e ϛ ҌsdיY+8P9z|DZ0D8V8"E|N* 7nu6HWwZPϚLr?􌄫PyH ]"8's3axevfX" T0F%ȵW?jB5:EZ}Ts׭ˡAVv]& 8;&G2MĐ}%9a(I݆iCցCV,=NkލM;hjo {=9?db槀:dF P5NhyoQ۟s6J:2Jm$!샚}i:I:jY,>:9}]t*/7e,c A(t+NW|*[DL4[Qf;"sZ߉|P2J,չ0rxQXVO0ebFbhSBmV|5K 4*i5fjڬ2 Btm~$WML )]u/%hpW^"* uUtc6zt?ǽpUybf5wGC`8ZQ^y$<(>x+h@IZfe#o. ٳٿ }}-Fs0 ;V;:)hDH 16^iP👋}!O4-n;-K_Trt*y6j}ȭdLD68Pn3:v"LnSj+;V|Y\;G m)M3) = ERTdN KHɷ/^\^VpÀ LAA4Vunpج̑_+taiQ)xq$a 9 UL\9gN1Sb*;ްR!T\u&'Lڥ?-WҞ(кZeR/E.qS{P!T)K iK1=CWlT&̸$9 dKѝi`L'@ru3,4| {*f\5 ^20Mz X]OE{`5Ox++Rƕp9ĝ́ (/iyĴt#޶.~ߘtEdZQrǦ `I(@b:y%A8c>Y<"DJDo6u48"4(Տ+~**n7#þ>!n,)L (;]g4OXfc)0v^HTR#dk}[Sd(p0BuK'xt3AގZBGtciMHkآ I5,;vjP)ASCJi#h |E'5# 1㢋L øQڑw5!7) >S)W/ `v5]h#+1'rTDR0Ue^v.Ѱrli@28ŜF֚1ۺ8 VBv;Cw^B u~M ??H$W뽘znj8R[1b5p~mӾΰ6&RAC=W+H KKf`Bd"p^i>?rA"@Z4Fe!;B8Q]`mkPR*Jo${獠ӍK oԆ&4P?lΘX?WߪjT<ƏWwGݤ->nuN3YGXtD>~?{p۷-&JB5N5 b8,XͶH&Q<O npyU/2ce?I]?=,ad#ȎB ,2oR ~Gdt9Of/yNz_Hާ~$&wL ܔ8#bGRa_)JBP`E6Vɍl f1=?E|̡%1W\Q0'P0[ȳşq  οkׇNz} U& lRA4 z ^~I_>SFNʪy+]-%jzcQ"ffKS)>/: \;(rY VݷAe\ Tg=|ֹܔE-(_qz?8UHe9bՠƼ- @gs]LxRp|5f'xopɏu5`Fn⨹i[̹5O<tЀylH Ap]Y6 {ѬwBt@9%Is >UfrY{͍eʆ {VM)QeUm c6z:,y \C'I,fOŁomu<7>5gq .4PLMj򓥎ǭ"Owr\^r~d /gØF͖1k6'ߊis4NdLɴ/%Ć̃k౛):ɍs~h[ xz= uA?|͏IZwJ; ٷA[E%1;S\bqn=2VΗ(ʟ[brX+O{yKnl\DH@QښN/uDZΈ;YN),H3Ckz>?l ʮ"D$:ًn-s'YJ?-_*!RmP Fe'# llX=ڳњ+"&IRJ/#[yrpsGaCGX+JsBZTxwu>gF14?܌VaN]JWsSᰎO u3K3d^*@g70y;CO?nw(ڌF m/֧oK VV6!N4!iMf=SP[H>.4rم{LPcSͷY~ĩ0xKl߹m0#CN*J+lPAin2Qyoӳ&-vs#N#R5GF$N(~{|LĤgE^PE"ꕿnz/:w۰b@T/)@;ѣ\Q\!2\wh)[R֐ܪ@){L+ֆa}18gkS pхZn'Sn&=xY_t$$nۆ~an#Ծ]8~€t-[Dں_B˷W_MC?Ɂς -IS &a =ɲ@풤ٍ\Ӫ~״Μ8Us)cz<=s=4Q2[m4]d0j pMO+*2*PD-?f5qAd7֬@*;q+Ⱥ{ejR;{o']Xdqoiu"@)݁-Xب%5$v&>k3Al,io((+Df_ɐ+KbъYcU*"/~-޾Iconuk8:zf F1EWz8C*E+y(哨aNBծ7&^Z'=C-rT]=Pg-nV1TTnì366!3fgXyKz!TScTiTr}=8BP4gMd 3OzDegؿȶ*˨{SMڱ﬒)؄ꏂ7?B'բ v+Ȕ8a;>V&1l\-/ȟג(_=$r%,_9% "<Hc[*YguB#9 A &p\+?jMN)X%/TtŴc֖&BP 6gDJjO=X;*$LHdnikO#;8²}6ij8_Q$r%+uXIdaTmFyY|ʏYFQ@KVrO .,$iB0 v6A/1NO~<;)3Me㧖PNd%%(٭R_*;X;=DՙLϲ7[CMG3lq>Aem88 -Mp6懹\YDC/߷+X?6 b.g⡐PD\9H+N ||5*k1-Q4)m[4(Ftrw)R +Zc?zJl{yg^<^q~2CorWi;lFœ[hYJʋ6NQC垞B}dQ E+]juҗ#XrZkJ`*ZFa}qq_oV >b%5g yZ&" Q`FǙ;`=OCʎ6 OFWFT'u۬7(H/mAu7`C0[yh ws 15 Y9K`'8#8NCzx=L@Fdh(6m҅EйudrCWM+Ӗb^M \S|zsvkR!lyYHulP1<mes7!%?̙_!n桡P,B^QC E[8F -!I r9s¹ Ma(FydKN?Z!(id]Z'/ oY+}mwR9]"}cJt5zj;){Au8S! L#ʯg(ʧ{L"V֔WIтUB]1EzK ㎝6ioaE%J/yH@S?ّ2sF[H.--F"q 3眒I`j=R5)\Wp14L7{3SgE.NGlᤸc^j>ALD$ys̓s _#h[UY>w|`k4z[Ȣ+~'-cӛ唉G-_eh\L+'?hhܼ@G|2GAg3~-I8R|\- o= L\`% PTSáSYbw'zBEjmeס]X-:dؓs0q>RH )o?P jDs=/:!!<Խbo}&t+݉y䋄 <06[RH]MZ#_.o|OKs0J6,ӌ$c*>"/9A88h]N3! ˀ.RNS*YH׈Qc &&mÔO5GP>-ASVذ@ 3nȁ"ALʶiŅj=0 q~s0i0H~=|MO͘I0U' rϠ _i-?5a{{95ٯotwW`0Bk9jxk2U/MTU@9fV!DIM};ȶ)G+"AiĩuQLVyAf*#װy14 Mx1ae}PE{"D~pO3-.f.#.ulGM1 1yxPp,:P΁jT9e&eV.&PWAŽLOⲕ4WϠ1@Fs7W ]jV1j\k36 u+ОQ7@_1kPbGɣ.^ab)tB }b!Gk23r4ukɉ'>RA#?>+dtBȡ@^hsInj`wjo .elh n8Ұl?Wgh;gx8_osW[23Aa× ƛl唥*;z\lDt5Y 3=܈Ljȗl\K,㿭ܣt߲+lVW4/A*դI K? yUO$lZK]uhT%R1x.2QB>J+mvP 7][B6f8-פK|jfVCg[e}P$Y@I֤,4}꧆BWpO n]mv"|VLH"ƶ`h(lqdPLcm.'#NU|iH3VjPF?>ڽp1oZy<dR؆cB(8jhk9JJO-꒐@[ ?vzvN;,ךCH]90WYeRNH _pr1>{juO7ßq 7)pX0,|=kKȞGhnOnb0;U6yPP2Gt\K1r6J꤁.;gҼ9縄u]d3'>Ni,[z/2H*EVʙ;#Fڑ]ލ)aYQЦJğm:`i<2{x?Z}Mrj S U#LeQ*w?Q# }m]"\Qy (F|JeHt>ir.н7T7}d1aq Gcr>%JPp9 0RTtum{So~R Ps}JcdFM og1w`:H'0o/\D/g[0dG%uˤr2xdd7 _jv~AyFfp(cfM=&AuCIکW==|2B@?1 sGwLi3[1+4ġ؎* p\Z#Eg '+W<{8&f6xNO(z@l\ 3{TlNz(LK_[O~2{ƴ {h-.$bڙvgJ$Q܅{%cιNG/@IG$? *+e3r1)cns'J.$M95QTZ,DpP9Шb(_ _nf.>=!V'7* MpqDz+יUM>Jx8iѲhJ6PRi"?א~ޓ㢲A2D Zv(sr6];C荺܇b4S(fBێ P(/-D9/OS>3.;PSWdF ː!$rSu;âPª%ڡ/+|m)ftU8XC?_àŀ, NԫΡ#s' #_#EbLzu; !@= JeNb_%Wz<`o_?Vaeyy>$`jFT;gS/dSYZ7[AoOl PH$[Ҥ=iJRN@%kxkŦ6Qך=|~0=%~K-g  TqOaurO: EhM?RlxgZ|^'*.XLA4OD>V8.IbDøo\%}#k?Kujěx{U57je]H4nu<kg iAkp=.#sljÉO؂|>r#r Ͻfo.k/vi\5;@.>4W&܅|H5y6R3DgE9J}ŭ1 ݦ-{c4$Z 6%./LS]3䑻\HcZ|&; b!h=~<v,k2\VB<T D0Smd~blImi ظ>QFC6bKl7n9{)`t%k/ @`LC]?(F7KW gќ "ARn*?կJj:GM~-x?:j6(q:P}_mt]Bn! Mx(F~6XKV\8zܠ?Fx(Cj7{n/Mq};ضZH:-m!Ctol=#J`ڎ*erOK]D5{kw%sYuB^B]g@7anllMU6=QӵHSfGy(=>2 ]Oa'-Uslk*MvH{~2ƍYOtk%LlRDgwJ1~Ta D>4(yY7oVԅl,o WLOoi۸z>K<yG`*e(\\\[f TJVg3)2L41~)s'ca,`}]%'FV;!KuWVfCnN)0V"N"qPmasc+.@ã\4p:b+U6un00%fL=m娞ay$Oϵ׳#+,Ak s_3LxM,R,"Yj䢶A>A% zPo`LD Ҷ]%] '|gLTkauB; c'7Y@لPK>  K|rk.{ ?T4Ȉ /CIK4l=#[ZmN ¦f$ ">K6t`9Qyՠw.TV;vn~] rAxgAn7 {״ i[3;#W ++k`ְ8)(Hz{yG3ַ'{l)C!a0f"@ A"t6YuD]^t]Z3lkFI?~xu mcI[Urn}£ +Fo)T4#h*oo ʠl0,ᤴ36Tߗglzeo8- Qo#xkv*-l쎻uŚ1(Ii0({-YFa]6Ax97@%kC[},ωx02^0uUnv(e'q-E\` 驌c5g~ԣ`]5{/C E)2Qآ/51v1+M 4~5_R0mcÐn@߽ ќa`1dl'uȅGqwR(Ry\ gz} H(@h.Q.a19B_L/#D"= j[MI 3&LևKkb8Txlry1t@. ^-opX-{fj-un1c6UnKX61޽7dq4[Cc+h-ЍPq-1$Mk{JNڥ>nv,;!e葸ݪ"L͇-r{v!Ҏl \DS\Hyn^A_ h:K+~dy6~0PaKMQv, {K4hȤ7Ot% V,Ȗ'T1}%B=[{RJ%|yŢW=UwI,ݿ*-P0'ZEk)ȗk_?bzBma"B*J &#*$FI` =\NUwEXPԷW7c.({H6vy" ȁ闭5\>}T:Mo^.P6bI$½FD}Ccr\)`jxtŔ2roK*@τ`CUL89,~w_sɺ{[嵜I3v"Oldz׏~ڗwbq("'v @ȒfXofvlk%hhB_kD',0{&lωz؂2N@ ^!E{^dξpR/LH|{GzxMo yǫ.XdZ#X]rp 8n6Z ?m~r?tE:-rWɼ};̗K h%Zj8Hno-,M C Y$9!:\_8v;zp=ʋ,POBG2S Y)R1y9 0b(mȊq[LcڮY}O!!Re7׽iJ7P9lhbg`jb`G"os`o}a{@B}>e]~u+!cҔ#C*0:~3\[w52㶬FM]w3-~Nݥ|;R6g%2Ŭ:%ko]h 2 М ; HCL3I (.GєG8AP2Zh^voY<N÷yZćGg}5c[ҢVOh^,G@Vt`0ʫ(Ftא>rU8}eίD?- 3/}hSͅ_]lp2Re(Z0cD')#mqkgmZMVƿu()P Tо i(*z352jjpU_= ofy!-o.>{S;&fe[稈"=krk ; ͕^7(; O;di98c[ 3-5%sQ8i[;[8nj.W6_LueSp{tKwIS=/migO]_R0)]g:Q9pnHY*NIȪUUJfLj.q7{+cTTX7I$|gפ <3>TUKRkӎo2[Y0 S[) 1!rsgp͆eq8zt楏xzu!eW=\eӱ/40<{f97XAo_^"s~RE|ovwG:?<#$I2wF|7VSf5ώR̂rsǛaBO 6+`ԓʬ a6N^ǎ%5iȲmު;I5)dg8-UZD*N1,.brMpS^uci0 qh'ScHSa@m'o!*K51 gH| uiy:-+85 @х" Ȕ\)m~R+Ғx&Llrs|?b&D<.28ɣ:@z!XvUL5uoQRH8pcOgC@rgըƑѺHsz>R6ɮg7fUuOh"]$s'rc`>jSl\8 8쪡-STgX[.@on@z4s$pЮXp%Т(=@}6iuEU xL~deiJ3Їc^ |# K/j|[penGuoCfBJuvi:Rf"S{e[`[pd"r;l!M~Ҝ*4IqY;Dtu WΥ=iFv2T*ڠm $h wc֓_g1Pxr!W>HB3,S e$K9B_<߄#BF4J'O5W,b FDDݵV`1t(gRPAf15\c a#2P/:rpT !$X-~i?L钻 /J.2Tx߶FAwWWw%n WMݯ.HR #vG*^HȹdyjXxSc_ X\U>~m=c^$}GϫOִU@cU2 Z4vrAu>]E]KҧT{#tHn(mlc" iޙ 0AΠ\ݓB\1 [ R3Exݢ947;[!*T#ۙ1K޿[u;.C&]#A_>tcQWɖ ]|(\8ܖRNN!ZE+}P~kvm>L\3zPYOY0*d#1r.鼿 OkΆ. RơQKL<|`x։~ Pas!K' i$Ǘ3ڏ^ R GV I赾3:X zR^(,6e 0/q`[B?u[ig@a@W nΉMN=]~YP ~ ]'1u/LPjz3 nTqV?F_N# ؾPLMPʳY{{2n9N(>w>8Sm QaTG{rڛMB#k&(V:Ek}lrκB@#vHtEM,x2U/8_qŷXWoK5NfYu~Z zS헺Y5A-,:&:)ΟbDno^w:b e=Kӯ lpBM%G`;,iO Ɠݻ<ʿN`M!/S: d@MѼZ$(k&b5]n!"^@X6WѴ}|rCgiZ@M%#?伾F`[(]%*KY|tJfTQ&w"؜Iׅy: `ρ9rsʑ &5@*KnܛX`)_m}Jd}/caBH G܌MnSŭ ީ>lʒc5aGq'MD&W>jZk. V@e넢xߟyizu<Á?˛GJ.zgԱ+`aB_= Html\ʏY9Q@*ibx]IJ#x*ON+RJ?y^V[VKyQxpwqvbVmqn4}= Flf\@_{+OE Imsc&-l|\__`LN:b^iB砞Mʉ8#060k]SH3"@#1_9|T)srgf`QIst^uqt/$XtLFpWD,"{枢_}N)i8AzڊbNtf{KLٽ{j >[{ iBmŠ M[ڴ9*qmzq̌ [㱧2O,^1%m)MoJa;tO0/UqeRHk@%a5/1m"G|b^%+X U HU2z !O/Mʟhuޏ$#̻{%3Xh`J5**WL81bza֬ `Mݺp?^f^8``ޯ1Pq.r)w݀=aNrwYl\3Z1ruKA>½n Gk r,F2^%O FEABO H^=Ş_nϔgUd\h3v& #V W =cSN5dx*=?"4mYv_\d/hYMf {&) ϛGh8~;'Pz@=՟dEi"Df@ /S WOX:E{$4>Gk H9U3#X i[u ,RZiy߆8KcFE1G7~֛L2X%W2ܕ:n$,%'CDuZ_s4/Vsf?qIWMz4ol%;]=M[ @5+!z{pCRֺx2 "NbcJ{!UL̻8wAY5`6ED]GARL'i23б:|&@%QðUg_ȩ_Dua&.bʤKcrU48sSk*~1B1Ujf$7ܺN!fo^F>X!J j R@r5񠷎ɧ'Nʕb2jef( NI_{=:$WIIBs>I[{dncr % ) jIK<w`??Nq"=Ӕه}&v.CX`q^8e9L}WE(xL$ߓVA JtӂqRa^G( (DwrPf#Ou,a.^w{} JdXBųT]0x{8`}18aI(9|H(Km?1wHƻOX[7I\r?}>:L詭RlP¬,~mZ~rEIQy5b6 n[n:)JwP Dxy2*d}#K+yvT4xxTqhy7d<zo7_46H.kw/ LJBpj2/&[e8NϦ>?0(c yCJxc]EcNɅ.<ӎUʋـ֊hW4b<뤏^=> ⎡pdSJɏQ@`1G@9:yy3JPWA;#({ T7p@ ;{e"Suxt_rt-i媞9XPLuƋ[CO &3h .@07XI/w FFsLf.f2lʼ60ER+{Gz{ށ{F=d(x+o?vhS{4zo0^^[MPd1+ *nKf@c[kAS5 XL6?Ir MsS,Tu6zהҐNf/]Z)/$UZ8J F3Wq ]Z =]zdc}-`PWKoVQdx]# !AU-X]X護 U"@K)]1nO(LU 8=e\I:dv5Yp?ٹ2 AAEg =1 M"4Ι n7dG&<81YNg 'K]:C73O)L/?[_xs%SҎ #C{V^FxyߍN0kL o\ӒTk6c vz~{-(tbTXޞ'Ƣ4F,u [t#Øw w@|ڔ_ DfJs w/`6b|fۍLBl5;rݺVۈk<9fn;ޙHIBM)6pmcI\g]kAd`{P\?rd݂a)DT_w5@!{]t2 a^UB`PIjvCjl1 cD;wMh n 39LJ0 .a=_-UC$_"vK ݠTv9:kѻLJ f0ho;d0~fТ5l\s0 c(U2/S|;!-6 dFDG|c&7oD~93[u8[0(_2[mi1'4o[~{N0L{ݤ}*7SoVd15)|eQ~hz>dDj3?Wl. Gw_Z^.K䒗In+P2 0]t rWyC/Jor(7gBf;ДpX=YC3 FIcyۮ-?IjˊfcJGHrHcZW(%?Wa0QCn6_-oX`.󒔅lnugy_kn44Qݟ+uQhn 1;TXg`ߑBԾ ]7QG4g Dh% 1Vm e%2VvNe nIgÈj@HbFų?_a!}B@+F,f-# ҷђsrnhze9:{ r,MsW9*W:N+M *Ki} vFaMktc옒g`aeg~ZOO9ۧEhTxSm7>:P!AWaϳ|}o (Hi]\E ?޼ȣq}TF/g%cRp6 sH*'ZD`@E{mEP~bZSId ;FPmKY_2}әEZv庘ȨKrIg6Ur0rGpцmD :Y^1m,y n=IaCΎT[[no2CCC.J ,Z&20Qk$↠mu)O_uBrz nn"Oq È{oAIj0?~.*;s#~ 4 Kak7[]ʱ5͂;w-&+hU3higTqKW7^ii۲.x*e>UݦO]-gT,s.Rs*zlХpvԘ)6.^T'ַ/#G{5X/o]ߠlH$.HxTC9= `M4K*ѪEzǒ!AoA")Cc<[Tm~EP&+UEauC 4G<0kXeۦs-1jm;X F?SFfȔ!1Qx!4r. a^TmfU մ}i53eGEc2FDtqJ{k˛|lT{G k0r ]t$tma Җ&Q Njz6 ?Gԅ|-* is<׌ ¶K{ZT(K0x4X唭\eFfgqQO yMϤ_1v1n?V=l.!Y~R=3s_ v:qEs+ϬR糣{n̶|73qlCI~.Il$#8וƨ{~7 $=DE6 =hCF>oMV7|VLֲeD>ȹuN\{=AG] )A&uo`Da/0}rO=L,J K0s:=Q بϪg43[_U 4'?EeQo֪-%ut«50 ?}7XЈSCYYAGcyM1CY) V tgZܼԻZb/3 )Z}HBA]39 :)%SKX "K#zf*شUAÝM9 *Trd?r1zZL-YWPqTQN3%aۚN8'荔!g\ҭRsuVsb"hT,QWTX7^%AV QNʄ53]tu-9gESQo^Qa# =maXKp( ,J[]qc1N%ec/I[MSaswT"C1&|@|wޱSpKwAb r֝`!RC`H{Vψ;.bU 5v5'jJjPȞOv1MX~,l6bx_ao]IRDbZ };rDN(3FCsL`p9g>3콘ȟuUoLX͝`D)_†'-OyPj_ΰ֤j&AZv@C^yMNbAHCik D125;kua07ݒ$ ڏ,>U, \ Jq\JPNb莞 mڃ*˶>M׳4YxA+@'"`6YFw+hof0V {9j2\Lj; ġ,y8P8fz4LbjNvqT܆/$2q\rw՘U%39Pt\X(^nKp0x8܊Ȳ.)^P,rJDŽ1^Au}D_wޟXG79Z^!c^X'B$*ѷ=jᏌ% zt]pKl}i3F*,| 1N/KhTodA*wgHK6tVB¶٦M|4%L%׏.}TvKi'+;/HJ>lX٣/ s1 gu}++en$}NZw89גo4TodNrAGm+Z֕@lO՝_rHc(L SłnŸ_){罹.Ւ^+[90le6TZD-;oT'fY5{ q.Pс)S 1 2'֊x%"-姯%yz^Z̘սdgOvif /:9[_B }ŭ~s4V'Ju&ّ8 ƏW3D U0uNX%E}g s@7L޶".ˆwL瘞yKO k$^k[9I{$>mk0SSZh>KٲGwOs aR~/*c~>B,Ԩ(;Npi\=5󆿡~Fg#eT+(\' a_ +Vn 3Hը!MEu )2RJj>lp&^F/V%mL˹&TFףo /f;(qzb驎?b`&U.tIw,i1k[ ofݥt@魉ԅzNSH }}[ĂV萣/`v+ME} ^3Ф+Ӫ~ ʑa&5 o-5dq}Tt0ږ!`jPfэ[w FSb լdgHdfRkL;x歐g8 _[<)(RFd i-H§G3 BZ '48@ ^m-%|ODnh+KiAW֨(6C:tف%Ya5f+6We#⧻ d(ФL1tqȤAi{ ba47riBQp$QƮD{˪徿B[#P5Bh\}d*G9*H[ď2Z.I/y.,mHDA[1C*bXp8@w>Bqdc5HNf^xcր2X'զH#UcD:wVY1Y2^l>n)ٗxc4y5>'>=& Jgl\%"PM {xz E~4- T@}fɵܰV[^KTL<^Lܔgy i' /CcGc|S4ier`_F#\"T(V#7`QS'lt DS o.Vmg5v(܇uPFIp՘Ԥ̐yCz]k(O`%t٥1f9 NHBAZq,6TB~!!If\Xߺ|W+s&YvKX[İ~곀Z*pa@n]6+H_5X-c{{\zoJQР<Nlz8C3]kMMzf1 -לX` O_*; V{s[E- `O)>TJI ^(b˩ c1kHFsh%5r*Fڢ^R2Pٟu0*S!.\@7.ӝaA"PjƬ-nΣj#(AHJM6'YBJϙB-5Q]&C#ls5O> 9cLP#0+V)&6AKN g;á (xASoE Q|?_wyzsF GMwxnkuu-u߮ b a;Eso]J QdAVoxRFԋo'<&&ݴzrH^/PVLtMUA㞨8F%}QXbLzˬr˜9+XG_0aRQe (WU6ې=L*$_f)ri$4mD( "NgMfʩDzֻi~2 Hq&E1# P~X+HǦ(xLuт>9TyTRঅ QJ4ɩ;52 39ɺUA73,$?f3`@No.6}#Br`ؠtB_g퉡DK~y"a|p?|Sc7zw';#K>R~HY"ɟp6n>KZq6xfݏ=5FJr۞d5 sHL=>.P0Y<|G+*T\ 9R:@c5!oD$IQp_wTR m^g/ZK*F~CRn&䄁3~x E_eA-J)9m$^sfOр{eB_,)5+9hEsY R?F'1.>w_HݽPEat>WzN=}]i |~;Mw?t;@4څO Է%4`qG໛GHWiƨ. RS^lo~ch- ϳA[줵MTˉ>*!02(خԞZ Լ(ݘe`R;M=WKF\P֭el'40E%7j' E{!7kĩjN*g/޼aJ#)/Cc`K?FI믥x(P{~M^2sѬU(1@4 @E.|}F{qIJ.Js-^V#zR=C{ #!'p6HiJ'{0z} $2M8Oכ h 9"S2q'S |v͹ a+ FL;VeQ.ط $ aY|oSG!LֻeɨGdKyiڈ7ݷ\z]gUAu2$5ojL@&r"kIq oQlA&mu6ꆟS' *8g$ۋId>qJ#gE5e>j|F1ӡ▄d)$̍?gI:>nAAqނ+ }Q~=q>Dw(ԤXb=O&_P@k&_(P -ahԬf\ZKӛ^It)X1pwuҵǪlY5Bh8L:Z #֌D.F`d~=\Is@IM6G[O!e=>7*F]w WYx!QVtfdn`աf nvE'' ]8js]Tno:Gɭ@G"3\7[ Cx/!^O"nOd^fjxS΍- yaHOT{: }DҿZ[.vר R$1_HR0 R#F``yFx›)xo.Y+a %e^-82jJH?<.0flmlB;Uc`025Ue(o#w0!u 4Q|G:( ۛ>E0HUPH9 |B]Lft=AT!P7O.vm'|l8tvDC\ k )$Q/GP8yG,~< NXfq]Lb:+?}. 1wHy+ b盔5g0I J9F)?}QC:"5x`H<`Q";\eSrK2Kղ(̽ܭvȘlE*TU+п}XOy"_o5s)?r{N#XRݑay=Ǩ흴HV݄Lev-tztQ =ggBYvfV󾤚00XGJ4BETB5DQ*GMQlt  ;7Fŀ7n8!ĭ3=nLH9OKDWXC&R IՔV6(oD,O3Z[[@)}O6_^*낧ygQ ޜfײ HJ#s'[bH-\8Zx%U.C9 Eٺ%=43;ƀ)y ?eN~{kI٪C0{l!(pm+%Х3:kHLQ/iFSTE($ òlr!{ee_ŘҒHbN>GTcy 6vl,6Z1'@ߋcyvdbY Fo;g?hUvER!nnL&NeIP_F[!&ԏ3mxj9N$ڡnDH9w[(5Y]a֊R zv퀒QMIK?z? d6D1 Vg=J>s]~BR nb)|h`w~\u`IW\K`EX+e$zz1mOX"ٷ-"1u^_NV$1k0=k0- һƹ\.)]+tc4l/Ҕ)HIkNt=rBN?fsPŴr>~n%)FҴ5mQs=~Mz h8p9z$qҕ ShM2И:uҰZ)z?iW˵,WҼs6)Ы<q6E6 @j\fIBlZc,]<9-+yeu|Zh xtR 8[_:Y,Xne5M19xNd6šW0*\nr1TT:aO]"#KX mxsnt2za:"yRY1, Xo&jdr/~`@Eԩ> /e}OBPuIDU{?܍Y7wG[trU9Z|~1C8qn(4ec0$cwI1d-7\%%㓉HK€.kݽA4 5`Jcug]@W~ޔ׮rRT+K=X^B)2(9MJӳإa"`{V E/-L뺇L6Q{['4Q]=( #ϾI*|ȦmުH) "ix֗oo],u~jĦʅ"aۅSȋQomP&Y.azM* @<ˆW[Xvg/;6GMmqIs(!.7elZ]]$=)-!儈rV}/tz) =^`=[`H!^Y=]K\2 Ⱦ=wФ=竞| (xzNyyU~4 Ztc1押G7nTŠfqI"L|h`2]NۉR@zP]7(4~$[%m4ECQҸ.e/=w #䥶2 idma\EPb#ҡ_5^ #HIumiЃKf`+_4͊ n@@ȡ ~S}˹4~9[ՁiU,x\Q?N7f4I25[TL֜,[fF4\$Ы_H)rBa9mY-d].K #ۀy7M0ڻi\/KWKI*9.w4:#c?+  sIOl=dtg[#w9p#DG|V'VBT ohx1.䪜M& a;lJWG ; L􄿇CR(Om ֿWAY5 +81:uVx^e'[1k01=1]qj׭0T|#}lSN9r:"S thC }z&aX*a`El>yvuM |CvN^'NlqNxhG\D 멙&C?Ӏ񆽜+mEHdYRV7F5 +NChyno,ɸ tyw>|rFSI}, xΙ{qԻy96d3kfXi\+}>:cp瀤2˶*@xo-_K)!:\lmVY0.1oPVtȃ7QLL ? ϭ)~f}!ҫbOGcAZ'GCdMFn^au `@?Uo3)}`6ss%<|2fLNn"bM۠jq3 n ]3%Ih=yé``$vO#;&kOyU\0_/VE2 p, j?(łi|@][h^l~m+q,£=ŻGQNsll #"ԯ@u҂ pqLeЖKjG $$c5uj gJEɩQ:hעXOI-8(ܭ1=no Caz|t ^]iovw+;-s;DĻ=>s'͆ì">'Zo"d.8kMq;˦I޾ r4(1oNїr u^63 p{RdvdCI?׊k! pzZjś Rm_AX'Q|7$u}@i*nYfʊ ϊ:qRjmf\8\}Dkk%0( QkH'B҅:gȁ _gs"ſsE\G=-9S#1v'2J@mz{H=W} X,>&pX7)Gljn;N~ 7\,"ke`,uKsm- dVAAy@_%ho؇pIJe*!$"[coAicm2xMUs8cƕܗQ.[=^ - ;mOWoO.#%Y[w!ya҄п+ =. fJf aGPS(_˘%_7Aa( om,f wޕz@2Wr }ۀdO`m[d)m|g3 |yzCQC+fكyETE|arJY/wKEuAc`K% \ڻW~/kރ`i&JG|M`SR^JMKz$$,eױIH8ſ\~"fCUP".RL(Z;~NZ |/ :t`4WMV܉ez='O*vm!{sid#\AZ] ƾ>'9VV엓<&K  3$1㎅65gl̄E +zH  ~_H)Q*k< x9੡uv%<*G~6G5OL/D2ՠLN̢tsy%Pp\&v{3ɜA]͉(BE8|?#=GUEה!&ԱOU3Q5kp]{DHʇ9S}}KM_qi睓s*Gʣ'ibeɪԝЮ`|O!#꧙˕uTH֝T[֖e ŷ6[|fPg E鋭}X+}Af<< RΡi|) 1WVb(HWLO+mf.N[HȀnPA5V:'pbYKcb *}:"w Ǖ5usDuUCdav"Tx1i"2.}G |x;pCw+9c^ag֯ZRꔮa48wXL*(2܇4[F!خCmVȩ+c}Dx<;74XB~c2'<@O%,G<{_ס)m'f4 4nȗn!paZ>p`_DeQJ2P{KF<4VŋNE]aI)mCjIj-Z#T]{]WGl\!0gp+8(̗%QfmEYR&QdD݊@FɚSؤgy?"oo'=E|[6f-+LAlMŽ856)Mdau:QlUXtSMlĬSbv))x>6Gr-[rbe0dAfLN6`$5kq5ѝ3"r)Ju;^VeWK%@JHbe ϖI듺c*)~!Qjr+EʿjNq?ذԷ}#%i?lE.bzG* k۸9i~j;bSp7z"Ek P2Z-ɸρz8FWm u[^oD5O 6ŠUc3s@.rH܋.w3L wk%+|@-gJΜ)5 v*Q ŲG͂r>ReZ4"Wdȏ) &]}3(;/bs^ ctT*a/$^o(ìΕ'Tӯ#b+#@t3I6vkxㅱ2t^ں^.E=nup~%^7ML/ HY`օG ^H ޾N+-P+zb=y+j'";h՜^uMϫe_#h$]caft_ԭ,[l ]eM).n;q3)=iFmMƫY쮤rsw}?RB 贺Jo֜BjÁ)CSXwDVzѓ9lި-=\Ip׫HI,a 1m'%&1m}],¿[[?#ޥeQ恩U \S.CP="t"7yX4)*{4V >TDi-tuD5tB1jM`ՄϯwDdi̝4dmz ^fCouTX@v^|6xܡ.cUaVrZp9BHn })7&h΅Ub5Bv1HU֫4 %7:u5d),&Y7ڕYؿJQ):v- bElQ vkt{}'ޚ5feP"na%I$:<|ywBe? \}>F i߄`'?1,'5ZT"LW cTCU 24~ݩkr QPGf dT3c-W56 /%Il*tNŻڈ@7 N\DIB`8i8 -wbӱ͆.=!=!hL2u"1m }ˏMU8[wj:'T۫ץ;]Es9xEU:#'sDY,2-c /Z0߾Ҍ4Δ ! 0h1 jdP|% 2TbQ^FVf߸s"9C=/b0k OqcEҏQbyRkgSa߄EpCã<=k2e%us~itZ|V֊#7hE.MJ`)ꇼilV:nڔԅ:c$i?(͔>Aq|fU^ Zck)'3otBBb5=oy9'КMS7;c r֞0Ŋ&lI{ELՂ͈t?M]8PVhot*-()CEd\4mEA6 HG̣a C%\*fye!;\ / $%9ZOȨ1- Y'LsL#]ӶR]8ONgՒ{>:tY?H(|&@`jVrZ0TLLXu]i%=ioS}i4{ೋu+svS~F+=2fĝ<RM|2=d`|l)lU+nxMakX-6>dQ>$J *]lk: f`yzpRϴ, Tw2QXׇ/ 3xC>/o禲l9mC8ޟ[m޲Ѿ\^1c!%Üw eӱ{Cqhk`YmOP)Js 89?dP Kt bR*tڬC vay\öeHrX+^~5uHrUhN{|xH\+_~-ŋ;l%W 7Z@/,68g@oMF4:utoT l4)j CU\?l"Aj|c^}H&=kN:St̚L w?Ac$ *-=6rXdڥٴ fݼM}=/>`Wq\ܕ]>;BҫGaE5ϝ X59MZ$Ks+|ڡ<`4"0T{*mA k(؄u;Y`bq+"! cJ;K̟E0V hY`pII&I$kgRKK!JS<>8,!vhؐ@oDȈBVXhRY<Lt*nV͋ q9YIyn!wb@.kϠg~ck P5m^HKz ˄i^': ^OM[-Yw/>+NFޫ$wk_Eqa^l%R b^[&R 48e07zHn3bOݫz8ʯ}F >:bGc}9Yt-#qovQ,->Ƒ:4P ;V I d.b]>bLI 0H qJ1aqw0ut\BS>v*o0&` (V搒wV:]Egx־6f~DŁ>,&qFeO:BFE>oa}+ "9؇NT`|:C%. s!'OW-pKJn7ytO:S< ׽~\x&IC7p h˝h3Py↋9&m=L}FC8-B0`'F.¢ _g B"r<9輻5z!_]J[[9*bYp=390 [~ٽw.R9DA;Ԧ4u:vX`[+ʁ{$ +,Rpձ/)&ePI#ݝ}Mk.G~Y{EDp(6n7gR7nS29lueJx|vPÏgBPWR^d7ٸ׼09ddexA|h_iuDhL[wL_ȕn*DoF_TQ)KĝR']&]P'R\HD{Ъ'H[B*+oɿ`=rUnB.Ghp&ەd֪rKz&{4lagBl<8OLZn+A#kf޸J܆o5ۖODYtV#y`Y紙R(B1iSsԱ+{D*"iPHxZiT)ܠvNcZS9@0ӗ]>2.l[O!e#Oha*~ gZ+^GJ 5kkl|?/~. %-ۈVP"hR1-DX =\}q?=UAH?u0.yHp}U8x0_Tp-%w90wFC)DM$xvr/-Knw}G5$?ߖvi8/wS" cuR_C[Uihֈjb\D{-鮢 'mlW{fq 60Ыb< %m(^b1pzJŢ uDLeA`%pLxl骑#yH\Wa5ŗ{-2[/UA-{UL-t T |nCcよ UNr?3˟w"00W؍(sA~rnpĵ5D2IgT1TLPE}OL֍W`4Xeٔ8 5B g/RoF\ .hra"FY'Y)ͯge5dE-q.>,b+ +Ew9_M"Tm ŋaY!:=JZ.20BB! ƈNw?@ߧW $vHI^v6saObB3}Rs=!!m7GkKkٗKF +"zt}ߌ8 %9.z۰IX?tmUW\Wr0R&B'YJr_'UVoc4t"9 GT̑ ["}" da=gdwR*Om" ?[تhzw$=J!!+jxJ.ͭsV|G͖^XԆPPl4Eٛu8۴}5~dZI_sh4-Bh”T * Y`]5V.2'X`6ˀ0C cѓN)Q gN* }jӘ_5!4@}^Vu P0!B.oK炳$BNE %H"u[2q{hz㙅OBśô΋VnFpnuީ{=⺳J}l6 eN> P绠 uMhxs3}!f9d*Hu,j|Z+x}ˢ׎ tS_'prNNֳyNv7soD, R}պZ-RpxۣpھYJw{Y 8obh/cUEcBbʰjxN)`_9RcLV8fRbR(qk!]FdzSyPyi=4w7 /tR1Q< oH ~EM'O,~ipΚ9DȈTG8N9+4$ X%tCk;Hb5l;(jY(-ӪB {`>~n&yHZR:\x:KHH!s{s1ԐV@p~X,&5lRΜ?Cyanc`$X(jǧvx㌆.="8s;3/N&TBF#qf=>AMYs _;rȰ;8ѕh糯ggiaE\sK流vKPyʢۉ1~Bg]ڙ`.BӰ.E҂, i@.&="DosZtsȉ^bVwb'~7`_JaRC76*[k \L)*Sp!N=_> cCcu>|@-YǎcTҥ-[8~p6r-R3iRl-(?نhÍדlaf%Z$3N/шtӺ?F!>#w?6_|g7) HOtؘF !.]ʑk<.PQo*pFsڤlQoeWp߹R>0LԂ0$Zo\ͪ_6F_Yq,&hDuu̐h ի!}8Hei9 @zȑz9@|YL;5~& <5Wo@zYD"YCKGF!'^vwKj+>' p!CPhRu:;}3cǛ:y5 4j,dHYj4T!8(mVb[2abS ̫{".5߱J[{sx-F"DgV?~ =^i<;;/Q!\H -}\ǟ8IF%Zv^;p?οvQiL*&6ۺ~˵&Xc0c|gm ,%27f 4ԢBQr|ߡCaG#Ka4O84S^ᴨ;|6Sٚ&W):RڇMJ2" )+VUfldx =VX+M11 3_w=怢:M bÃ|NmgzQcZYk.zY^Vq\ ֺ wjwN~iy@"LcFH߮ |6V4(>.*E`A;AItV J;PGO[ !`Zg@C9#w /EAr2@askLcm˽U{2k]AZWA۞p"mKCNl$'k}n˥a]3}/We4wDž7 ~d ?FWzUɵ.*zm"5f7i6i+ n|.\ DGZ ~ý{ J&kEScMWz$ &x eJ3b *A|[: WԮ0Bm/m?CyZ!t[zENޥ<nj;c~PkŔb̉`P%j^3r[y!XBF$Ȼ.LYg7khw $#L[v ͪ喰V\xig[$ 7UNDfLٵbcN05h4R2Φ#ܱoCe̒Ԏ+?:뮛97nh:YVUAVƱ2Afſ&ff3[].L~ʩ'l擃y1;!m8[ӾQ16=yTZ}Qr!T^IјyL_hAV.B _ Ʉ; L<=GL]7GB'S?@4:,<"lmPjV;$h[u6n3)/;ך(kmfڜe}B~.7Stlx 9·T2B‡}yW߭xQ |5ar/pPt[t[0=sS^!Ud/.I'$/XnQ`J(*ګK<@RSB6p(I:?TsD?nS>Q lkP !D.ZM$Nr!IJavmjۜ! u)@S^N><ڝ qiS|J$6I.g7`ۜ5)| 4ZP-h@LQ`5\q!Iǟsܔ V5ͲrV8o͋ ] RۡK$iHPNd`XWW44n#mͺf n1TPZqawĕmAŲ]L&>K͛':ҷ+q. ;U Gi"o+G._r0r=ۏ,Jpd@4'/Ł-*$cv+՘S!hm?>ʦWM@ Z(:N$>?Nd"b+O¥h::羓?wHDRTwaXsL1,Cg}Nꌙqa*)\eIU0-c\+;^||O"ARgp2 ?\iI\c5 }pY4sř[S |fkۇCӟPMBϚl.Y>ᕬ5Zݤ4m!uq>%?8!ydObMp;V)t +Tb3۬p<]0*\~ :,_GM\; PGi6癱RfBN@N 272;^+56ϿtG%H IT'Rpפ30$ J%@mr+`¸׀b]bE?]I͞Y`W>ߑ]((f0eL1^紲gC+u /N93z~%v'=Fg*?mOdl}EmEB1.Cܰۑ+ރaG 2Tւ׆]H rRȌ'lޙg!ą1n!3E| ۛqnoD\e6Τ򌚕aUo?*=LS{fMĶ=OJ=4cQ+ }DioSUAe}z$i4nބ"KwPOMB͸mGu U=BU H4KG+x7mj7_= &Ɣ 2ᾥ@ԅ.s$[!ֶ ?Xd'=nQY=f"ikVA(/JWFh6QL{|\19",BjgG}լB ƇM6f֤B0FZuedՕ$4;aoe,>c4):Scr13aB'}`ĭ^k'!lCo, 81KqNm$LDb66a^UP_Xi a}l<uEbgqA+ߴ7ڕE5BA>Uk{TqJQ+,s!Z(欺J=$pTRa{:U7fڎȲ8~ č+X8mJ~QX |kmOB;6 \|Ao2OQZ#rv I͢BocQU([|.-w? j|lFa+Сf4˸)XH:յ5rATD"1Nu&& c=ON᮹rTd ޱQH@ 1EIzPYA6h-x fzϖ3Beq,x;n2\7,bD8],7j7CT'3$>TopI/Z `-{)6>?(7gD|Ȋ a9C;Q/%LkGqFtIR=(Kw8@m|xr)tU&EpdM` D Jx}&=m\aY&HתZm?q$iwf>PȠds8J3}& uy)$pu@C 'ҵ|E?[XQK]X{v/4Wt1&=/mI=UH~$Pݿ†IkxX3f:wS*pNfT}bJ%nP- r:v+zA#([< Xnɧ@>/a;Ճ3'NnFN {Q@-Gmed -+!W7i`30?-kJN#݃M[. H^]I'[%F-р{x >PPŠ}"F9_YP)eOc rv;T'dm$W&Zb&Ǘpz!/@*["O$YGx8L`PMOSqҋCh UaJ1!lҊܤI<%:q Cͅ1]\A4,MM4cgGL JYbYu 8xos޳ gmlm A5qdt`-% 0 ku2i/?v_!_1LO{LTß^ρՒ.tp 80 Dd?&0g\`Ϯ?dHrmX,{N.w!;SҌD4Sˣ">ʹHZ,Q!#b&_զ3mkqaʇNr9!E|>lgqHdq.5[\RQȡ_L-aiyb%X^#=[>#)L}ҍo垻밍U=}gC575Ng7Pn?i_ƢlqѰd :֫]$4EDFLj| (@WDZ*b-]?}ۯrM7C7-PaV\D6MrKA]XUoJ [ۥvgn\'ea78н (߀aݪ+~zIAᣝrŗj֋J3 r ~޾dZ1 U**yVVoHFa3m/qY qr# uI.9І'? ӔFzLaA6Եm@Qba ׷.%=iKP{xԲXd̋v+| \wوҬS2 Fc/\=rTVCJcQ. mTef[fOd -*p7vIXXʟ} /:&HuSa(p𴤉[ń {Fw{2^cPJL3G0ATjgSNW_:BKz]D J  +IݭMks_y=7ZlbsEz~ O;32ܔ${YqFdq퐖7 N"Wۍ\ \bJC^0]to{ y7ag M3PI 3ZZsƭDѣxO/_ |LBɾZOV#|sಟv aL蛁/״}N,bGrШʚp$&U zMg"s;3U:n-ޛLiժ8<Az%,4$z)~eLd΍,3r;Ƴ.SvHm(Kaޅ\!;C+jC-5XB'=s_f&bS\}I|TDѩ]&4-~S@҈Ef}S 4.ode>CFڥ3|'ףUBEt},Ͷz&:o!;}qqؘHu4ȟUdUS6o_84Rx^.oEc~1mR/J*b2iU[Y(4[ ITavh'((gY* wf&wm)O_,L9qNѪ& yk>|l"h{AC T& A{&5QFjHĶ= ]ါ#s]i<(te}e^j;lYm s1޽[I#=Bdt(P FKw#s"uNv\ԀmJs(NL;NeW"Pӻ= BA+I[&S)U`6$B"pnH$X\0?浕w>Z/OٸFO>CdJ1̷#$^z RӺm!KVQ3ҋAFhPcƛsVdUqoͦKJ2Y KD;Ry2ZC ~ҩy?8H `2 Y.a$Olb͌eƫξfQ]+C,#DY#sMH+f5+dY6e3b ,n~4uKfaMyYJV@N @p1/oIFΣA?$ W2 㛧4{lVv^Ik!%YPG@"ո[(!oHݪdX$ u[DEw*-Ӥ^/%oMBC'íqؿR \FziMsݪ7X(rCS;ߧp" Mt: jJYc(w ~~HX^ڀ/P|'ܮ>z!k|>Qܐ3U=RTu7ޕ#x+D\ӆP@^/vEwɜ E9 9t'jEiIB% l!'2LbZKSADm2{{FH]G:kGUT{O\'+P= HE?d/#X)=xeBQD(X UTT0UtV?vu6;6k;5@ON=MbcQ}'2`ވ}q r#C:FG֖^. )\]{2aOWAjhYlJlQ886&>A?!CP3Ư6OJ3!;F6nP1W.enudk5(u_ӕ\=UuFdV^I9qS[3+(߬#[gCT=$]d}B% a')񝢲'5V4:se|p{^e{{{M4WC|N66"qjD Z%EVN:Q[YaM@CWh< Gn<6]bBEFKA1-tYPj.4bUPˇ\l?HyΛJ219N2>ۜ+%$2Uw%F▕ai?Rfp^ 0JnC'O{j%4rB.{}ZV3UgYytA"cg&3o! #"SqѳNY^E}I+ao[S!R=P=}s?ݪ@e9vC}Z^vƹRH Wb@VNv)]2~QnP dC[04(hL'ؐh!jo uu Xh%G.=sWl +=W/g׵ddߴ%tV3xM/i.g6|ľ''>c1,gwOÕ|XЁXU >%De7@7TiwWqF5 dܶi%Ί:B Fs~/ ".bE<ӎ^}&*hfj55!P}Q0Κ]d /gC+u7M +H3 :_쇉 &?eB2aJձOTx/<< p"n[I÷8bMYCN\^F' $-vDamch5lpxO8Y[<gˊQ/mp=jZ7B\Hsqb;`72{F١x"^9~]Y4'??ne,2ꧠgEik17nt؍ek_Mb)7iBpscJuggǵ1Bߔpc\ ledt #"+Ik;k7٭!g3 @gD؇Kϩdv>^Y+WOjĝ8X 9 l K'pnFp 'j4WiGRB4y*tGDRW㗆V{ #SHy,^Sd !=]z[7މM˕N^9Y+B no&;ep_$ MTCswXKhU}BA%XJ@^V)yZ3@ձQ%\[,p޹_/~X# яwƬ.A(Cm<=bԮi'  Ã7\؄ieYQUԬbHȈGsb)[w\ɺO]o_wl?c嚆dm`B#Q;J_Z(1>d"}~]n+!yoig(ygl*=u.9 T¿+sQF#[ׅBC0&u$2v׵ BB@*2͌U.kiZ r8t*&0 dD„Y:CӚ¿%W{3qʹB+gI aq⩜SqluX^#uA,+|\?MpUۚ|sU~?s =w(:E@zT9#{,rN˯ӰpԸBĀ L" ^*ڎQ-[S'b0:%PZ>&%痟P+%#MyA|>SCʓ Ln$] !$S"]Z,aSiL|? gcϸyy/-eF a:1_Q|Q9#_W9rE73ڶ8+v2ed 4 0 F6;;1̀%3 r&ÿ "dMQ)LKP%B'1ߋ\h3)e]snP~SR!A-ST*D!/J.>s(!6̜Xh 6_A}"o7 w8{-Հ8=VX Rwx~\P~G0F[nCtjX.ow/1&D[9Qc1i2k@Y?+晌 uR&=9Eg1 c$! 7z[  AmljP3@׍) 2ߺl"׺RO$ n`Kb-dx`ggn>>~4މ師S |ӪY)xr HЛ$];ݬd)OcgA+C5 &5P <@M/ ?$џ7$f{Ez\0Tܚ*^GFIha kWxEܖ,x"wVmsw!G8fIg=<da;ޮ<=Cź 凵P7N 1M !f0? ~ȴlVtvǬmq *{WQע>Zw;ǜ0KL[3z +9)4XW.G,"}RI-pڈ"? ⳙkdziH5-}SB/Z[ D`ښNjl^i}'0 ԶeJ%H45+ ]:A#,G'$II6uʊ,'HK$t5%Zo^V% ĕXzrXMvеIJ],8HB7G0a3q K#³0qNTFu۶ؘ T0+M}V=ZĜ>ͷCm Z| vąlԠ ౳k&^ҋR/xgz|#n$В2jōm ]3@ŏm9  _n"lqXvBUqLbNq[rAq֙cUC#Jb>ɡ`llq"0]0V[trt n?sDfuEMs~ D*CN:GQXu~n 'Qt*̂1𬌵Y"Z<"o2b)ZVр"ڄM;v_1eZĈ]̓n,`c+l0-_*dN*)pW(w=#̊򠞯KjU RmxCci)Y,Q_ *r$]iYjAy+>{#H~dL$1+36aAp'k]Z\܆L5b).L*%;QTe# [caaDr*X}Xj1 ZB8^m=tj ݂C{+HBя.A>8]ArC?5G"CNF#RVQxtz`4kFǫL=,h*led6tkFmZ(XB `=_ gTGA}Az;De+-?שđ1ygc T.0羒C(ڲ#U{Qz X3-Tզې]򬕢ƼXٵq)R;V]+=xBkT ӷ7:\JᕬTĶ*G3 C*H bvewXw /8Lo/ *E QCx-]۠uEkMa+A/zܸ{vc/5#oQך|uUԴX ]E`&n),= "aM"c*'l 9;m\@U^7:%~`V/e BBt&(Xwbxf3jwdewFtTԍ Ι $bmҕ6rl-MqcO]\/A[Flsd8gʇ$mqE [yjgZ:n;4U9 -KGSGH[*3y,Nal"RWr<=MZRGc<<_Z)r@j!],l2Lj1bq$.n T׎q$1u8.L'q=->7ݰ%2L$ڹB{;rHP)P/ɥA7Qoޒ>fKD&y|8{=Œi&|~tG0䂴,(e*cgG͐ײg$q$Z*|RrGvtI;|T7x \vx`Jz.Z0G^Th:tf~rYབྷ.Y9i/Rb!U$~ޫ$x abքiLFPZ3|_ucC"x+,]&_4i-#2~/Ѝ3@Cb@= &BR'T4E Sz} Cc}o+sȊyo3ۘyn쳆^Y>\bXZ鄿,TAE@ JF|g1϶)ڊ?@.<sM{| $#Vr]dSQh2auTiջ>AfSH :0O^+:yZ-&XU5$%MB P~޺ʸKGiKai-қʔRtE?n{]n0JR}¼bn\Ӯ"#ʖkwQ}ӸIpT=S, -'Tp [&AQF<<l4=2o[і(P@>E6soPs68c?3Ԗ(l 9Z[.YW`ώuFk'*?lߦAv`NIZn++Tl3à;;íYQTjPGZL~fR2yi#˙.=m8o/sN^֭l$͸v^?!be9`Tf (3 E`DKL~>y~c_–08v,ɕT'Lsh3E]'Na%JrBu<{B]Ft}jIJ"`|Ep C J; K+ִ3`bTn!M](;z0,)KACQ 9r:̹)j,a}%g%R⃏m jOW{5yNs #(떈 ]x2ImDEDjLt֝@*b/~|?Z-. .ܠ۫2t=]rŢŽ8(R11aר~;&Ǽ_=j/CmFw"ЫUT* uNj+02δAy'85AIYL*׭Uki6rs1 }+O#חb'8ܙ3)YI3ޛJ12!L&тtM ՉOSSd,,(| !ᚨU1:,bz,p+gՆC? U$dҢZI&9sN<,0_ *EjTK#l0ae=\z`8%sHݏc G"ymCT- K>'E0# JC-"c=q'c4<4o@3K٬=>|$c+¥?ӗ]g,-=FyM3bͩ`:֊^r F,bOshlԮcLӚ tcU7v:'Wh'6 X8N&o~ j ,;"kv@rz񹽓%#~A|7fRi6ysEcJ6vhg_PѼ Ƭ " RQ^Wwx"υCN(NJzH_XHiKC}=JNYV7Xlܶ|0HC@.Wp@iCgJj4JRHgRh]Yv,<_i)6=])HG F   ra'IL`&-H]jsr.r7#Ool cptjKJ ޢx\!e8@`.pc)q딪~P WcߋdBWGՏJVIXklA~LJ>H$}qĵnn&g.f)1tV&I2RL<kXR%P<~OrQ ЏS;Dy2GUG_ٺ*:a9_=Fa)u.ċ2e/rg[P$fNPT>EvpƅzBE+,-kCQ3t7zuo PDjtP A`2Q BH%ӗBba'JMO]S?],z:ww#޹+ZzApHwä{?KT?4tA8آE篓d-ACnRVU'vn'6GUuj1T| Kb\̝?6UbQ;S1m GũbT:!4ϼ_Q$}~r:#͑H`YD85+ې.@c%(GPm3FZ]Zf0FZXrF<"Z,ׅ߮}SܪsKc ^&qీc Y~I_:'DŽn*0d;p.˿kN 0i{f*g8#D {Wˋ+>3UrZXrupu2:#Ao O&H|FD:pݒ)HVZCilF-0{(~NY%DI/Qq<"k;A fN{6ȥۻ }H&IbF|!^/[F^@iMV]A31x6d @Œ雯,t{drdRCޖ:"YvIfhz\Jflp#'"Ҷg@I3_:V߶jkS4ggI:ǁ^4K_ t-g({)ߕw4i]T0={<&αfK5o &QV,f]]j6tN jX7/u91酷RU _0g'6®Ɗy$HĬ8ໄ[6`H>,|0B(s}-#]nbKm}SxEP5%^n4~g|;Si(YjY\Gtҍ Du'$g˼_i\UQ%=l2M;+@['p$s~E{<>D?#Go֩)@ِ#&7c`rCFVam-DŕR;87QY~gL)^w+Q^\ޙΪJEӸB*qIBB>A9ewx,=0ŴLKVRv-;غZq"8Z|9OήD@'!i ʥnIrgYxD Ҏ8д,G v]%GNmhFbUpˈFaV7.RBhz -}ucB+A 8WAy0m̓zW<}(O)ԗMt~_В'Ŀ{ KDB6q<+6lo|kKjP9?ҥ]Q[F^ȃX*O4] IOFRu hrQ}޳M>#ѢnmNs4%rq*NYݠJ!v*^_x@# pWA[ ]^vf͛ qݥWAsR_ϒt 5k*WAk"adi?B¿rEy-lݠ@ 6Shvc")X%hpFV&O42]XpM3J9~GANdg[?0ېIxLhjN0 6>yZ@01H'K~ [IF="g̾lZ jI-?^-8<`Q!JcOLK! >. ;1vhZwy7Az9sFg/5ot[WA8Is^H1붝6*3"ƷY?ع)& q4IÄ]!H}.B"a!%w _>/X4dܦRzD(& >3Ms ǭdq,񻙻=<7_d埻y"~jՇۀc o]̣/#4w`Y?pDko*jEU,Z̞XW8U;k8zwXJlOZ@ա!%A\- :bn ۰d~*EY9ƹxݴdQk6x>XŸP[CC.h9Vү~'vfd-kQZ=tGƋͿ}f鼨JGc)1յfq ؎ a )yy4O$VͩO%eMx*>5?&McKE@llҪϼ75E `s\[w_!{S";1u{2ORf@+vR :˕3sf1sPd)U+PNDCEQx}!*^Ǯ 1$r+-jYT Pzڊ)ikf(j͎u,/$Mc؁>T*o"R010mWϏ0a"+f?.☇]X "c7Zt*@Q A*] -yfvNLqѬi?갑RL^V̆Yԝ˜AJ Lg1.қ3ΤR{kx'5lcy۪&*J\Ry 8U ,jOйS^IVEUN`GL%Rz z$0$8 Ύf-YgyU`<+nSɗzӌmi֏WRqY<"WN?3Xύ/e gY"ެJ||n,!EcdLB&Y&do{I)}j*>Υm1jp6<ގoYjlk̢c_J3sJNћLĪgi}_X)Ejx"o"#-~+|A"fmCzxoj>=BujELcCqvK9.a{OYZ'e%&3O-£퍟o)șv_y+p *ݕ0BTC'ڊr dTl3yٲbOcm_29/Uz[~ mԪ2*,&+´f~fN/;D}zY&n [UYyp 0e`l>I 5r/Yk $*UYJ`={WQo!'G@m|C4eLXؼ {dow?Nڠt"q5~1K,A_ ]67@lPwspw(k-Q}\,'F)%{$Cc-`i|>c2>9ڏ\A {C t{uN? |o蔵\LfʓVBU. 0Gc1t`U4lRҺ6vNTӗ;PuW}ktܗ7V(H51;EeR_x[od3Җ<t_ngbu2&UgBP;ՙaXfs4 ] w)Dl| j22`ZGh y~KmNԝ=, vL eϵ*Sd6m aheث~W/-`'dL1S:AXjW>=KbݳOo9;zu"{ 6-{"6h"xk@ ʓDi-DymX%>\PN`C~?.E1-d}^jZ."b¶.`YVG+]ri0$gLa-#r p:4@zYKP,`-{ L+MQ1X;s28f PR8*8LX 鮼W#`:P(|!BKr!aJ <#np*?`^Oi](ƶ~)aޗ[Fo PٽU<\H!4oX*tay=8C6Ⱦg,KK$Gla-^=jMl1q R+`6#NDIXط*y1k6Zq_W]O!o gE'2EF% UtBH vi-TD0fh!Jfr2.'蒤~[m˙I_ >ܡe z>oڹF!E6ekwA#{>U8n+BwCF"H8xW4H'"5QD1uCQf?L}+_^{$}4ISdߦal.:  JA /ŠOju)Lӌ2VUֹm->ơfŝPHrTihB}P_in~{do--*X`iy2l+CCR`Ǡ:kAr= s&l?IhW/K:n}lr܃Id#ŒfPB+nI0CwS;!.b_ 2 XDn0q*@=GH+^HS= %BzVK3,>e$=-I5eS$0kvHk/K)a/χvi ;hZ&En?0Ti͵U@Y^ wR na'1=n4Ԫ2rלHΠRy߀ھ8Phuwa&uVdCGI#V:~Kz`9s-$6[wf"^ ;7g'" Oۼ=NseGBI=K)&ɺIi=j(L?>6nxb5 9SR&b/%)z%Ym7l%]˛G M1\FTfKfW/6-xXJ$z(R`,̌SR頇nF}z]z?ko^a;P Hګ(H\*S ,9SQl`('#иRb)7K@=kcPK"~Yc߬Ԇقw#hnFoT7db M臾/Qt8)߬?/aN HӄH\ nk]![)xVzS4页`o뀤ȸƒ/&zEnSYAl=q^iP_ 񏯹cc9T=c0AA7xCzJ!hXnBh߸&.F9y7y9*YK9 iq؄N&Dt!2C{QS&M9 p @+c+dDyS|Â9|Z+]e^{^ZyOE*L.})~vi Q!c+;mvger17e(V/ 1v3YѦFxE O\jkㄲM| ldH%-st T'L'W[o|˾ʗNSN6—nh$˃-[>h\=8C?NR9g T̒#I,|G]*eC)hv-^zwBs)E-oZ*Jj\]Srp*ax7Z%yXE2}U[!*wTM|#bxN<1RHab>vIh|xѨ@'O &p5F=#M5veK&yZltr)O )],D?5Ph].ps $W3v n%y#٘3ut/Ž] RnibgC d ',;K-?QRY. P ')K̞ ^ř*۞-elGxWY"Z^(}Qs!2yPz`yl= U/@.^#U0P;&7`(]-/Q^htԧR)N&oVSOX]nҖyrM}>F[:bѡTʫcɐ{+W0sߧh>*&ƸF=[`Sj{8JORSfzV-%)%[ ҿ6A_cn-|HerxM?ula' =*$l Ϸx~"{/E%N=f`~UszgsU[Z&#+ƪ´]]WT;jYӝ/FMՋ?XzO SR[3w>`%e1.*ӱ޲sRTD=ӺL|X$\!E Z9@IBEvHBZwg+SD s3VZ햼P0NN݆Sbڄ[ᡍ?ڽH4v߽©4;`_ÏXU/Y`Zb .bNVj0%F+b`ۆz6~d;磲vM91odIbMAzsx, 흉$,@ӵ|ҽ.+Cd4%gٛYeX15^UX[s*ܞS\Ib=p;t \ԁ'/ԽG>9Q9^G߰-ށDdTӭuxe(AtIC 5]%9u*kRt8OYK䄻D\8LU/rMlcR}ʒ6Wy!H_[~"}˼AU]|wGQa2x6'#r[aG[@\ xc0;ݞ0gLIGlj#rZg7lIBjϫ\\dg/6S0=xJF\= .gfUGj:2/CTFk@40DOp;ighipMּ `4C]Unn$kZUO3ƻ!/AkN^4evGcD[pJ{z>N5 `]@zD B(,Ƅ23K2TH{aEStz& OE:٧w!*lznW~L\\;ժ>17x幟'l~^jgZihj&WjvuaJ>9zv:@\m[\~`͇#XPϹOe ~-ݝv ll T|eG"V/X:sqi *#׹a[Q$H)<uNk3 [j:+$S|tn)ꗥ-hsG5'uRqinH%=6sΊ7eMd}' cSI#cHxjڴ[>8((% yds캇$D UĩfA^D>R=c,Z7۝e8knF 6ň x>CRƔ-:P?&e젅"=RoB:(}Ϥ?K'kb!d9-O\Ќїr=Ph5v9QoͶ6Ñiihz}*Ɩ z1-c[MG)}uRXx `]YWL͌֌uhR1+^^$2M9|@u DN(/Le= ؈NMV\i1Y*YkF/{MCzwF0!HkUr(Jr_:=_cӄnT*yYrψ4k f"|@t[Z2휚z둜NjN 8FK!(JN@fQv!BH'c"tBb4>/ƿeTXOEVח}邎*&wBql Uw~= 1.?r0B֌{*_pͣD ǛP۹!:y :@s5ܠrƵMCM˩*D|i3WcP  xVƵ R6!_[b$ˇnji&qT6j'z w5c|qxnqTmaF1ٌ^Ǯp:"YReMl"[{e}ݪ!T` j#ߟ$܃Hoۏ]͉Eq b6I(h:DEtNES hCFH3`!4;2,/ܖ'\?=)p@M\~̲8!i?zKASE9E211^.$0Ѭs\/\3+ҫ3b>^UR5TeJ1 2YaSmCx\>#=!={T*ܔyA2ˀGiv u~zDg04@Yf.Ô%?Uل6ިYoZ.Vk1^cNKu3tuϽR+aj(L@:g&t?w܃+bЭe>Eo1ΫT?EB%S1^2 Tȁ͈i6LE2j3L2ng8N*z(uɬz솹- kTZ]0<E;a ٣]Es( \M0qi GmsCPLVjXs눯5-w|^#[65[Y',3còGޓ. ZW)]W <`¥{cRs{=x;y҄ӯ)a~y >iZ}f9k HvN2o!m|b.4)GH"ߺ𤾙(*I_IcPrC\[ ~:rw^*b u\ߤ::gudpóa؞ }4o2 I;oeUܡc? <bo "oMs^>wG?AtBsG80KITW5 !pb6-nMD!8 .Iƛ<0yӰ `#! #"S]Y@R3 RT|~γ%̨o>Rpe%jLRgTXv  J>jKl<^ ݕܑ&Y߉: NAźj^JC [vpxx he#̈́vaڂ̹QD} cYޫ_sW4çi[DߛAxKA>UZ*C,Cjnx'd6ّ:j[H.rn"R= xIgs sav%TnNlφJsn Uo*^%C1dl*=E7 Vɺp2a:@E/R>5c a,]IWxxξ(n(zb:*}N[#k-1[E_bK_q7յ(65Irv2A WMr[Ǽ6|N7>g!#4Dh:^$}*mh„fB@Fۚ|Nyd;f\DUR~NaA%19-vÈ&/U42n-Y?)m5/Շ]ڄ+g%K4'[]9U042Sgx^A;뗭>$鄄Ƴܳtt[-@{aZQP9P'WT1o,(yTjMi1)P*Qm{; )͆}1zyG0Asr&/540U.JaJRZ4Fx;*S45xk~jX*YO1dLnhږ= }C >Ұ@H'EQbfbFmF.tw&>Ha_~m],>g0^o`CfKF${tx4]i}21]6DÝi%l[T-PK"c!! 6YWծ m]:#5-qJȹ-8A<-%E 6q| j2pr GMJuS-Alo-XT7ݓ*cb4fPc=~}XK>i`0i'Zl# ͹T8F㣠G@uNTVjL#b#wv;$uWjӷ<9]fiuya<;b֘KNϥ}oG!ods+-?yx;޷q9W}M Z 5иH%5ұoo^Q'%-%Ͱ&ٵG 5%Q[ _QGۋ'{G/F8Wݘ?oo!W9/-tfΊP(YV_ꆋc2tp؜e`dZ$6pH'4pV([hq "DbWy:f M8b176(5(Eo5w˫`}.a(m.KO#[c'a{!0 ir[l='t9Ox4ߋÒ+R\h܈^-(ʺ(/ 1DXׄ9MZ]E_xu U`:y:0G{IrG)`Isւ @Rba19ZȾYׇM۬xE5h|%L:4Zm `iFӲ4G﭂ vRF2mՔgYA.&"I9-ϙ8}(;۴.X~PO3SIt [(ƧxH$33D(ptP1KuNc"p&QI32>ZYmBbPiäI 6\@yP7iᤳQM_L }ҒўkE "X]kj8NuQ~D,6+AhN@fҨ4s0i /+bY8˫t$D&C zV }(cߝT[F =oNWI󵴿HrUȰBYj>(@Q,S]Pkж{墋xoFҧfR6m$/v/_Om2}ptjxO#ޡUH[MfU'uG殩iUD}'gxd> 5UCxV1 o&a\SY >c{ׄHƺhj/P ӎ 2HH 5ޯ`,cM\-yJ;d5%:Ǽ.#OXT'Ӈ.yfL^D$ZYs266Jd9'=-/1C0aR;ɺud ]NxN9pV5$ B}`܀otcJ7{pykVcZH~Y qCI. ݥTǠۺ񻹃2n,/+)x.ꛢ^f̛ }ta5m>F7F f!<‡%g(iO $K> I)Ckݐv^h0?%Pc|^_Dzb Prkz_=HQ扒7 E/䢅Q QxoQicQEmغ\GcSKH M1{\Y^*|LOFa'\I9u\[72/kM&Wyi*s!6(ƏѪ`8'%VmzDx=ѥt╜LB@LS1>Y-c[Q z/dtp(*kh" S{kBwҥSe"( fZޫ:hUy /2|RUi]4?]&MwaR͟mMYe#"׃A'euְX6bݽU*)L_j^zEguOY٦;ctURseǷEAqURI>!CNtj Η݃:r<ΣN@j;U?A(d IR0:y[·#e=jtR#$2S|'vɈv_P7d5:P?+S@M #4ʘ'Ob,wNd"<$ƛ;+ǩ!(]($U!>e^wo" ?nq9Ivhq 9s7*vcoYV)#ym!x]pPk:h<xMڬ>r^<LGxHj[O>hdMgr?$sDߝШ3+3v,DH 3b2+澩U92R )2_cm~/B>i{#c #QPQ'_uy)n?9yử D89cUmpr$Mkڣ%"%]Z3Ĉ%m-W=3+>AM_DśE$[ѓQSj,F5^} ‰Q" ::4-3ipC,?SoUE^x>Va * m .HŸVu>#ܞpCpٹo:d"`P)RIH%k%zSi]gZ:[Hk ?)romX?$be_6+X̐ $2mA(#LczIk#ֿ_R8OЋZtt-\3Yޅ7MrbΞA~ui%z#~+?^Di;jT ߌZ+BoA\[(eGw#_sZAv :-9ѿ蚟0=F eY@V&}aCw)3sT+ 24.f!}8V FT86 ِ8!H̗{~DJn65sY*W5_$+\l{~ɳƮۯ{\g&> \pe4vqpgHWYd$RkU N"'+ n* 2!Q-*3V@.vFd/1}0# phƁKqjg[F'fjft;>YTmBAh smH@K'8>W@jlw>!}鳮%Ƈ- +0&i?2+t<:c d<>3lb;ctès =wi^Z4¤Eg$K1E?ņ`}2 Hn ǧ}z#}kjyr~@ϋ>"r܅Y%b*ʝ {u%R٠VT2_$/{Jڀfe. JU\E PF:e8!Ǭm;X),L7Djů^ķV]{ =xs%JosUc4:Zf2 ",o\mckto܏`%s9:L JÁj?$}vízWyQz$Z)ifH$ęS;=%'"?fX/OYtO|V?Ҥ;sS-7DYnEVLYeȕ+#ȭ#T.tYccLn' N$&4f:%!|'`lr hy^jDzeм3cwt`,Zʹpưɋgb/vR*uώ>v♛K:JƟ)|v66Т :HTGUTחOB4g6J*~Nv'&,CU2A"y~<3!s\JߑJHC2O&c!Pz6mNw Ij@6xx BFwSlb,͸ॗ b ѳQtJ]~'t}ˍe}':Z{{5FtIнH4SΜBI @*ݪ_m5U]:Hd4GO%ugn6~e8A?-^ pRf^_ Pޅ"k~@zH%(:6+wp` (^w#{|-Z4eGnMkm%S&nd 9pcXX[_cxorۓr4%b<< GZXg|W(&"=MCxm)g&* fx;)ɨR(W &[\ "{7wZ$DMqؕKɟckQZ@1^9^^0@uWRTDﮘ:wt{vJ1р Uߣ rl :A寄saXR ! &b$.+6+,a]@ 5 Pǰ#ձRp:"72BᗝdI*ʮ #}?t 0%#=xG zɨDˢ2uq8}/(xbO_](:A||Ԑ<ϗM$Wm;&zud2r2[%jtZ3QɕQ4/tQ߅ğ&U|>y0|Ϝ^!S)kE~8p6Ş2,>RHUxv y#@q|V.var(>;J/M+hV>bG| b-k NbV"hƲѕ LNT(ʏ6&{U!r Z(XMTyWn^l%n\1 ̯o!O-;iEYJm~EI) 1G\ ;r};kE2A(*@r?ZgԶxFwSV~c!)29L l$_nS˞}shH1:O`YmD[^Y1 Wٿ8(4 x!ɇx\B1jE9IoOb4@߱W#lVlurW5O֬d`єPl$ ;`[dތ)g*YQQ˙61H"sSsT 9R{K*}WwJ{ϊc1][j9i˛#l]yqhAum|'b+#Cl媭`/%vP&LPt-VN鳘1TVV}1m K^+$|*p"e}U)~] Fqn(VӿLc/ C3$V0W\ܝp@s>g/+-3T6"=n=xnF"//(fr2@ps.QM !*I[Cn2U;=.w_8B@Hq$ $7܊$pgcs:}0N"z3(K 8Y~h c͘u͜Jӕ = 4ER*}_IEA*,Y6n.!ddH @J:?3\?¤Ph^*9;.h4 >% ?\cf҅K32'֮ Dی vτcDy2`=аI%* >]m&(zfYddF]-3>p!G}O85ˤFu`YTS'L c^88 >hă6m%ZFܠߺw&1!3>'so69fJZK85"Mp*f>z6}R0\swd#R_OfKU#w=i4'˫3_3n@L5,,RT̐$3| feʕHF': X[i/NjMTa#hNtgdY! ^l h=f n\V_9ʠWqrs@#=,r󹈼_wGjma`zp𛙲L@2cz0ElY 2+זjyS`iY>:Br`bV(ۧ —h/ıGG T& Th&Ǣ rE i~Gmz^e>,K?HXhgyZ%>&YK ?t%r|c%Ѽx'#0 R s-d1ݜxX軠P3۰tn-˿J!V,d7 $5o:Hm?W@J'mpYNR&"vNTM\Īx\/zi&rp,h#t/\H1g{(t'7 :OTb`jD{ϸp9Zas?Z`{n\ymEP)-~[P?< aRD @eQsѻ'zwJIW<'75%ֽ4xюAD;[y*$ c‰asӮR<MV EOs$UuALK#Yg1I_T{+5Iy,95N$1k @U 'FPj`kPg&OBVzkwގ/rh/0i*U9z"9;M4Jxq48>=Ȏk0gmk~<0Jk)ۨOč^.~ȯ])JzM)Uq1} B,` |k=7յ[,ez?K }ISl095"5bO;E"jYlOV\*W>>Lz䡰 ez8/E]EejRc΀j>"jƾa| Sy!VVmz@^֢E0??4'UET0xC`^@aW3BmXSTi? }]CПZ=ޞn,U•QɃ:!Ayq !{(VJRpB| a(7D128@Շ%"QNت 7,](7bas }Sݒ:39IF}, Jᦘ>ʽ,jo3gjrA[-s=CHԿk㷕wTMfg{]}xEi,K E9dm|sbf_b{Yh9"^^\fq8}86f5; #"z3SN;Nt10]s1䧱kL .}]el?4ϹV#X(𱩷Ccdӆ:ye맻T +ٱ^U_D7N$NQn|4My{Pņ#jmUpZ8doCg8co 8تM+,冚f qVtsKVѭp3K*!gb?!YZ~HJi|c>wtE8 xb9Y;99짏hQ&ΑQx a|jXY^&][޵ Hm:j%MЁ Dߡ&B{ TZf`874]oDòTE jV[4y^g~ب:lMR~+f PEikf:&t [~Vqאo'Oq3^ny&4b9P5,:YNctwĩ˩ZpqyER%+ܛVzaSPC#C+W;tDvCcF\/W`4 7sF@M[,>ï T3QB'y2/1OS[A|k3 ǧ+DG2[6\BA|Z&^REn(!6xH 2VRh-Y/-K˯ mHPKSHAk\ ݦ 65^{@ё̣vY L6=x1@7H+,lƥyZdWv> ڎ ܻsΏH bRSG*NFlj Sv;ˠS%YGš55aojCaR cD/M&+"d(F2I),eܐE(z7Zg|fBI }X9?k&ѡ+ c KL/a&A I}Р |ɮe}J w- *xl}Z S3us}ۨf0eoCR9'qՉPRH Z v瓢!!]SAA~}e拐&sZ˧ŹrLAmސ~8"nq?8P7X)SBj-=*l3lPhI"115t>dh4y&m*apbmUpsX]J^B %\k&Id^3=z*K I-;+ׅdȀAT>5w͋]-gC3Ʌ|ʁÀ2⨶1x^ ͧ @;@H Yם77QDM1(K7>& X2U6t(4Z#W 'o {)Ri@bܰaZQrl8ye%0s(~8?A$4?O9l=hr{9Dƅmk N> %ТsH(jOŜT 5h, 4#)ϜKq5C!|*oܗL?iu2=` r#\QLaYNkON{7[Gp˲}@ZwT) F٦Gp%/PB`m1{٩_O:^:\5Xn,132cIi6֫/ r nqÇ7ϵaV0Ɏ#uJ?%sw pBzB?J(/5b& z@^UnEFh`P/fʾ$XFjBn HBYO5{6=k.y*a]~/8L?$pULmT5?]srw&`XE]b ϾLf4uxfw]O~W 9ʽ0̛r|+Ẹs]/|I. G%m*5l3*U_gJ) 9q`flY5~k}9s[-CُH!OfB;``.; JcᔏKb}/ } I Uu;gX/oW9 INz gn8[ܘ;P* %u("i6s7 "ueN#I8>aWA$&*n1Z:AtUӓVJƳZzj$= a-Y,eEEaEYY(W4it]N_LCGt簓x2ݥ7|D<&II Q<;P7"*=~+A$8 HZ4ibU۪'ɦb!/9KQ$XcM{Oj﫶G/Ű52Ar\ԛ{-4ԢoYcZK",* 3 74Ak$cT"B(_Β8`s@X<:N C U[ͻўp> frˉ^d<)6Hmm8xFJijhE }!hsj/#i [Uy|r\"$MFrcio{tI@ǝ!jBSV#&n-hqaz XBy s _vCoPts# e Iɰ.bJ(c2Uٯ!"JL d GƏ F9+F8N@DfS-* *+ݎR0iN?L^}]SIvcgmDH$/ӢN&9wsZQM.sh<ADX1?=Pd u:L|'I!U6qCn/@ĆbeY =A?KJpx14:9,Xbz  "D/i]LkOq }%Y'ۘ:<J5vb۸-H*~[ !j1BJ8{.ZvG޿mӃЯb%OwK"bkܻFМi/49]޺kxMyFdvSOΦ3Jrh<}SNF&ʎgY"~p:JS@CXg2hM{Hqf,Kwd$;XUU+E.c`9BG7L+fi;ϲ0{plH8% W%q*"ĕ{ 3p_L[NA! '? iFveVt#*Ӆ4weuOF(IUq:}$q?}Ʃ=.\:,)Let- |Yσϑ8k"Amb3](/+x=)ZX8`X;=lD/x:Hm ]E% Ի' K^&֓bd,בER6g% kExzwÍ&UZM|y@޲/L֫(+,! Ek㿹O#૤ulmwRR$2 }Egqo j0`TW\hlb89xq2%f\I8$/@E,m Bqx1R]#>#fkOnF6M{6);΢%iiϔUg\8'ED{6M"[:HlfXS30u7j( ,қ|`5Q[֊^ h ?Wy] .+a~ő.i;I[A WNC c\vhܥnu/Q?YSPҳoq` km#dyc d ./"K Jk}} # wu.pi 94gȒU8`5_޿'"b|7Z6r}\D&zPAs*۵}uMF"zy]2Z}Rʛ"6M}BW-VxK?R@ 0-IHe'luM%}02rI:)aeH&iв?r`#JI)g1)ͻ- RVr2QiGM'.ygSg^k p 'z&nN M ! AԳYn?` n5[bm4^> M*r#S  WZ2eb~z!>=4ݖ^{0"sl~Y]}ʘj}uKB 9SH )BRL?IaGj\h+eZf?tT"/*Ԟ]zTWm&m?e%# g-ϓhU_KnbCRfnL 0IR0i9̬\o"HCݶ׉ٗX׈Ci1@Z-amk 2`nrm͍7EŸL՜Tr*w̯/+q7\!|,TWsӃ'%qNNƜV⹇[ξ\wuHrm3ߧQQ_G'4.fv[p9G=ׁ3W v/(^] 1ah׵yĠ!j8z`rӪ\vx3į;2Kڍjd7li7uUqJ{8#WOt)c-li)La?* 0p<,3{S4/%{ie}8,g9 sucHxWzm-9tNVNs=+ VD8>xIع\^y mCe b7;;aBK.!؝5У'i&0Om3zqϹ0rcƁ*Lrgo%wsnkF >En:o48V9eM4ޮgVk*Ppu ,f4K\==m5qHٿC6Hq=ϬW0eBUm ( oIKx nց*|!;ru`R:Ӛ:S"y xL$@ I>uE08,,Z>Ncd_be_ P.cRw&E爌CD9q?VHz\8$ā%K$Zs=_e^be ZaLT"=McFg-ߡi4Xޒqf/M8.?D !H-R+; ϭQ3Mer\WMѵ>ΟT0=v^A͉*pp_A9=?IkMC$#ӫKY +da A mno !akF:`H>ѝDqAZ!9PeN Z(-gc13z>b^rfI{Lt)07T۝"AY~=y?6gDY܎YQ^ M?cJTg,G!HP:kmFAs;f20ary=b[N>O6pZK[qo 7RmDWќbҎ[E-V '-[hz^9y"dP͡k (5"!7X~{ml 8cs/ޑvе;GEՓ SH:KUz2,,x-"@T>q*OA.yDRsdRH˼e[k?4X6}K1%at埉Lkߟg$(c*Zi1/(M'[<$ĨXo$_FѣBt,rcjeb:pe]"1>mD%y?9M\p0! - ޠ?tbӂ`uhSӷ#β/x]Ҿ09rƆ (֠)+ Yq= B2Xp+ sKs /M(x\ >C9hju@q&e8eZ2F' p+E:,kX>fFPHM.*U1shPUW M9gǴD!|`"w|I}H2#`B+U:PivDh S{`t%9R$kpy{V/w LMS"f3]z:fUgrIi' ӦFLXCS8{~wX2 p`]|A*@'aյtYSQmcAm>geP,='|Jz'Ǝ^qh$7BDoϏ~Tj^ɪAaÈ0yz]ƚ+x4ZQ?Hg;fʇ񨬡oE_՞bOn+޳3EuT1(ړ] sA+e7@`[p?OHxhD>rt+壀_!}Ȕ3A-o/(S?2v L'bTUd h3Ѭ 1P0Ke }" h:A1%Uh=G*n BÔ휦l29c4iugXIcL|KC\-O&6]08r ؊KMQ"_Z? 6pMp;*a.lnipvA`R0lĿH YW_Pvd`f4G:y-;9Olz27g0yn wCc\:ٸC/8kTH8-5Nj`Rz ]rihBXFL%N4V'9[R@) BES)52$DoK-h%4]` -bejH,,@Z!՞~h䰍J2 .Bun($tI0)vP#ARXh)?vc%-j]j~ Ǡ<(ˍrL.8vn(eVE=*NS`/NaF;9ty(un)7HLq7 RPQ䎸8pk\@Da$m7Ƹ+IEnłPh e|Y ܠZU 30r` f7T&FUk/YR~,:yrBFcYTt`kzM B!Q z;zφN SMRnl SYkfRHHOww"`](Z9zW-̜`-Ό-g%TPn"OUē쿟 x+8jh={߆ ZHBV-+K&Bb=c "g?ܵ=kYWQ$`5 X+Vp1 9#B7Z,$[< JLx4@I ;2LZw<RA(x_b#dk=ߣ ł ٞ|XFcS54}W6PC,}Y)\۽8Pkt(7{D gd!-X; =f!IrioM0~%i@Ը74>Շ)PLAܑ~2H[V7ɚ\)!2l2wXRAR3Y呱3^own Lwɉ+jTgҁcFǘC{M}Fu% _+ g;;.{5> v-{tsȟq-}xZy"JBϺRKW.-^Fζgeפ' ۮX)x;PӦu>Aׂ͘!k1Pxf{d8r" ,Lñ_ R zűFDV|uA\#2h"2e!pkQZǥ0nϏ2ss׷ = `:r m.n90a D_zkeekHDRv]SXʹpTX9ؼV\JV "k?KbOd.JkPm`rc(N끮!DWjpl (rJJ.Đ,Fo8X ΋SԈ+TE|rȀҦ.Dn-aJDOmHPSXFP V2ϾɫǸYkx{Z bP#vqXY\Y$ʚeGY5P" xx׆"ZCcPN`y,vU%=`0lo*EK=H@"$܌6rWW"=DھtkzH>g^s붧w^zj+V=6F4r fBԱV#HT`y8KYI6jlA]f û6Z$ҜXSVY@48b[K[Ad&wĢĪ%JǀS/7)Ze#_`fLwfO۷MAޏAŮ`h 6gY Ve}~MYYie\zv7-ܥ >dw9( ɫ\ _1_mÍ>#@o 9r*Nkn_\3 3IP}JFJ1褶ΪfPyuaqyy i"%ad_U=zڹ[o"uJ?0E-PM*/huKG^J!_ݥߏ 30 (ru6PEt)6?鳏 93p̦DܓO0 he BȩкӮC"8'-vAk!4BC1HPy Qqz~*7)msRʎj;jU$z+@^5JgD}YǨo3xAtMBZmUfiKED^Zz'PBQ +3ݎ;#@b?lX2XԅEVd2PUw64RE3fy:ݡoKCl0n>Muo°#%-) Q?>b'ŨU]P;TuMc _|߹{xAt#A8޼*lj31%P` ʪl%ǣ:iK82ʡP.mm:sjP`GgA"9֣L%ɖ;#ЖxJ_47JLi=h# *oXQE'49ɐ{j c,R[v:ؽ߀V+5cenq#s[e ìcb\rA?hvܔկ_4uVQg.1bE}s쮞5IfӖYdX2 V)>SW?)\u!ѷZo1^33Rݺ{e&p?W_DV93ht38x`p'*a0Dj-oS;Cf8 Dûkl^QS-! ̈sՔ4j ;a;4-3; ͦ "xfdPܫ+w^ ʊgiTDϡό 8)nzx\$08:BFxU$ 6h,PwUUZmNYJLYVJϯ}6.HMryUUi wi5-i=D` XufU5M5_0o:LbphE$>H*H;TsBoO ՕE lP;um$n%pe kt.%=߅{="0qǻs0X£_+mK]/uHJUhcy1C+?^ V؊^p)~{j}Ȱjts=dc+=>ǥ4Wќ*MZp]wQAS"]Ʌ;b5{UI&Ü5=-Byi=z 0c"gZ20y \ƭox;2DHMFe邓"c2}ec2,$c;Em8޻,Ö1>}Qk<kmiyE2BN̵Gux!pxinW_6WttUpA\hFϺ?1//I *,Nܞؠ=FOd|l(Y[2fu/vy|lLwlNtu9Pr)pnt7X72g4H4[6ۢg/B CȨ?+#hyR;%끒SDY`:tNXnE+naJG:pؼ/qnV6[@t\gwNs YV*Ubma>K:raŴ>!8NKxHߏo9t#N9Ҙ&f`Ή(bg`Ea-6zsctK#=tNDrbO'SWTm'_ E鴭{cbm imBr[tP#x߄sL{}_Nt%il\=\,|`R[TИ\>N} Tj=o}MR'{>uUFm!Bުط^@ >QG)PQ&,3Br DHvg 4=1[µYLvL1&**ԯȋG1 B|h0!k)U3@"YVwiclᭇ"]'ҀLY( 4P+ _hzqXvuzii]60 ?Q7z1suzT$h !wYkRѓG-уpSM,L X\u@&#HS86VCiѲ esXcF0WoCރ^SϐglzH> ()֌ك=|`Ds`4y6W0G\/V) xxA| 0Jp V>/|2&#ć8Pp€+:=8*2ơ`m "_c-2<*n圣)]c9|O#pe$zgx:I|X? *U?vfTiC=%0c\ ehUiQ7mE)$Vij|86tos-Ba$Ac&p7` jXEhk㙖O\H&}.VBS܌å ?R_I̵l \]&l%NY0=u>;[c4 eOΆm~;)T*5~_GB?[~YQR>[ xsw*7gS'gF'WJ -(=CewОs*t|]C y x}>R&usL*X 0q+i֡W[u*@BK5+KVY?a |SM0*!< - p)ԙ-)Nض$'8P{,-kp1`Zε"dyLIK{pk"O 4K2@ͿM>Y9DYV+-3%@gQ,nNPS.U>\>9' G<o_歷6چd%+5M[̿&Tv<v|X)\>I֠`]ZbD|9%kndb;p+ ƘDTJ _}xV  ['Vp;`Nۊ^9 '}˼_SQ7Vz -m(&n zNǮJ _pڒ`Oت⻃c՜xHjK5@ӊ1a(B&CLCҴloTX2;= *l# 9cPK17CFU0wWv6f,(ن4Er|j!ˣ&>Y Bon'Op,UH,Z󶶭Н[73h$Gqi1a4A{So?,,km1JIOLI@axG/Bg #G>AQJ1Skp/j[3{y=jU$kQjd ye5Zfz $g s|E`t;Z6۱y/٧o&U"bEA%C(֯5H(!0 ܅ w_l}]Ȳm6yA>{!}TЏx},H6PoQ9`"Jy[Z Bz K63 @K j^wuyvdO2=?B=W(JrOHK~dZS|+p,Aв8a6KMy 53)4[^vjtT,Su) &b+Sa3`9,ơ½UwT_ot֑K57GSuYp='ET1ݐNHV$Hsb/zF1wbZax #-_*<ǗG܆E݁OLf }t] ~ c!-.w; /viۻީ0/ZWlijM8JÛ50zZqM9bˬ UY`U:N/̢r DTЯڰI r*YE*!USTdPqD 5[%'2 q𤝦A *0}ή* X l%|Bv2 ݅@h~r:1k%si71/q ڱtfc&!HknN& H;Kԛnꄻܐ\=לeSLJ3XkUdBԼK%d$>ۈ`3ͨNŽ)|uU;KR}(i"VDIlFDhѴ]LՈeILD_YĎiAu`sm-U}ƈ?n Ƥ`5hʡ{ɍ{.ꏡc3R ۀ!pP/ګT2 PsKa1&@J=f~&tQ/O >r40rN/6`ؚJ/o~w#I*j /%Zfp`E]S[H X"J-ZQtvd k5(|mµ17p#z'[t"GX-_FhBD>lm@%EK'h#n(w@hdiyjE)Տ?Z!U;jd12ZV_vq{a̢n;xq >M_!MuaBa[Ʒs-')ŀf2D)` Lb3adpm,Wm5{P=/*:W'*e̺\}9_l;;(X<|0. /}Sr˪D*;Q( QY#lR$]g͈Ah밧oDF/%#j{kb$ƁXE'%fbJ Qaohgjj6qm f Q69eKG)w|KM|20.Rn.Ί_PZCy"f [aծ]VT~t(Ź%Jٸ(82^24eNnN`ҹb P##q,4yz_nQdd;=`o尅ΐp2LO0rDB_C4]Z)ı[T(*ՙ`}L_i 8ܑϦ4R ֶ;µ3wҒd_ZK ~@Ft(弶c@miUdX]]Mq֭kbZGPr“Ha|S%rcb!=!Ϝ|8v:>W4Yc!g1-E&XSF) ]Dwo{"T!QKQ|k>cV.ηF jI`&?+< ZyݩI\a{,Fp x-^-/s JQE;nf AvQڌP3j~;P"ĔEmLtSQV(p\'[Trxd?6=r +U^m\憂HϤ/B |PfR+Һ3tppSʝ9-I` BLBۄNH^g ia*׾XS80NJ܍y:JS4nA2h7 O%G@`3XU!6N33T-Z.gY롤W:?j4|a|aFqico؟ݪ/eWũ6춦lXbeyaє9M<"fZ 8Q7u>|x5T8O`s_>cGM6!:X설ikZ3\g'6*w,T3.6F&&jEZ; }1J#ؤuYo z,5W7Nvuq[-aϖ;N%O{id7. 3ٳ6RDKLD@M]ʝɵ HGWSpvB'o;;XrwJo`K)]Ő=)2SܦlAxF(vlă7bW,40g@mUٕg'qAI.ɫ:QW+"ٍ'3}`ta!q_I_(0Sͬzih X*zHZD\iB T/B?brn{Ѽ ^0?&W"rzdT&Hƨ!צ j58aț)JZ{xxHO|LRvH@Bk:-pWU@r[{VOU2K$߮<`Mo)yx!s4; ~_2%[g*dL nUtwZRqX?$.ӊ#bN~)MTⲮJI? vv5j}]tiLy {ͨ@q?S%Hk ; f:~^C":JOktI0jG> ]v,?lK#[땚VtZɷ3{=LYS~80vnFE"LcCSzR!(Fm  .k2.XKȣ~#ZГcl/z ug -̱-jyBh1l0[!^S1Ԕr)s.\W̛p:Te w.Bf>Ve0|9bluouv }W)-p}Dw0L&UEd\_ԻFE咭SnxfNũw̘1IA["qf^,-[MPH}տYk Up)9ߊ++[8f&W]z3c- +sÒ&WRcGS X!X(9.| \^RyG:F?k1,$?\4Gn5Jvns_NOɵz~_aD?P6ȢyzM˾ſWp>$l=X/c^4|ߵJspC|\dGd9$B![è8 vϔ/%76y4.S~(8>UՂ OSdN r/`pb;,6IvmINwZ0|uz2n`Z7f {GkRD͋I3-?8` N4~/f wԀsv3rı}I CMdAw4uu!VT~b5=-}]M7O6uG+?h+/(]v{!olöj(*ޭ#1F`-G F<$$S߱" P0%McPL:.0k'4dEͦ( gluW]\qL_K운Pl73'&"UPvǸ؀u|ͥY%DaH_(}o>(_.O_-etJT1P^4?O9fd@zHjӭ8>pv/!<1UeP>*u]zψIp?GZ01%41$ ʝ>jne=kuDhƸ4VCpO<0(%{ۍ1J+"8^ܧVE( * 5]Q94u!닦^vͰoA7JcI+,ŴLXkv^U9"$)PtmYp  jyqb[,kkLUJ2t:5?ml#G"%rUy S2֪y&D,;׈G-rBb"ĀշV QNkA"HJ*? iKPR^\&b.I5H#|ƛ1LAYA"Jwc`:nmKqq" :!85pBZƹ(rYQYS**?j.8Co *5ydqpA3ĕjsֺf.<'gLlE);gi \O+!l~%D' G9u+㗋V$fJ5<.^wnQ>obb_'!9;_8 vC89y>]?Sr9^\P&r=&G(8DH'il?veq]"(50S$"K՟}r`L'K>:]$hJF7~uN}9(-IJuQe28/8vK8^aVyJvMġ\ 7+W2J<\<䍳k2Mpa-@{k,]pf~"kJP8uϨMܟ-9q2ˁٜf:Ъd.o{jdTgoSH7{ q|N|x>sfK q,n>5/h<ӌDrfv $r-Dj\KUzq~e]|hsCH2O(WcMg.1cK )~Q8ơGALh R-5sbk]= vnwU6]mOLc)vu=;r>W ظb%4Iv!Y*Ɂ,ٲOUyM5s:a9;Mmf 3m*%I 􋺎^>z`ޮY;u"&k<21H=C*S yޕM=N.5 , .ZIkw^d`4w7'-h@!Jɵ',..@.x~#8 g&ULVgKJ̒/ՌMY <0ily` |RQ\\jO@Aׯ"\,s᫖.dIdrN~qci?R=(ǚGލqt}[5?.+.%n 2*Iɯ=.DI-%8Nح,-6 |(}7ƍΞahJh Ǭ>hm1N)%>Nz9Z03b>tr6MRM:r= N"҂}Ҭ$hiή]*Nqse3מ"1$ ])[ܪvu_lO;\%1}u1gњi˓lqobEV[H v)Xr]=wvjpcݝ!Z)m%~l{Ych\ 4z>^D9[t B$d=ǮXP#B,DZ8͉Z2mīԨ_zla1ϰJe|jj'XQ7u|!ofmwvߐ0+lۧ9kXri gAX^g-eӊkEI#Z 7R%ֻKiED`1$dw>1JjK h4ˡkf eY5%g xG7U_a$堬5Mn]]It&V; e,iPߡA?>^>Zrc޾N7gd7bW$Xr\\{'"S%AS2XtЃ=4 '{\ =s' \TC0&FAY>6)Ȓ$8&lKSt庬Yˎ+S}ZNGZ$iBtB;CښѤ'f3!wxX wJ6ctdbp{Fvu;цřT VllqGhdhKOٴ)^ 4,R" Iw䷔"riKT>3/[zԼX9y6;H<\fl28b]r ˢdDa:fO=*oΨ[+6b}FXDfP߷H+iY=J˓YG,rYHSXG᠒#OQL %p2wD;rU6=?f ^8wr[6b%bj ׬ND8@ /Rn\iB3)T4$QPr"l鐤ٳPK*WxIv("Ckk }$d ]RoMLhˁcEuzs Tb3S#.Fcw(BldK 5;d|(jPrSyV0^MDK3YfX?:kGg FfJ\fpգ 3q }LQ@qz*=n$5Em`Qr[خtG?eul΋gyNS^]_@{{E4yءCȀxRBpbxô #bP~?t{ h-WdSEx 6hl#I h`2Mntb,tř4bxl2nNRd0>Y=>O7ЛX4ވj#|%§Qsvʱg`9 d 0N~ݪZ5rA60M*FCKʳJE]AcxNXj9|).T#$ZQ˒+Yžv"ïx]\/{M4N)Gp[[bh)_7 U g5.)c *v{}4z+iS'#4QF@|.Vx3M{ȿDݑM)t%84t.R3}izrp{?L恟NJLk+~+UzWIn9S³;a[hJԮ_ȼK1?SyzRK>?0"nfS`Nz'j(kYzmVOfDv;z"sV +*K,G<,!mޘQFF77ghiDve%וҪxڐ)Gͦ\DZ8{1BRgӳ(\xq3p{n0EMb îņ%Hr.ܜ _Zl⥤xo=V*#‹8ҍ3&"NpXc.d5UnS"b)!x f\lN ?DAQ?ƏNAb h}$G\KYjf/$fD#]/83|*71Sx6 ulW qZrjSzlt=/ M?pxh-OTCyBk)鹏FW bё(7 8"ާ?$v_*+E9N"v}SK E=G q|7q+R'Y_E/ 9]vDi籮#f~3sR@r JG@/ZmUc<:SླྀJ>zLW=L7i'=Oq@&"OѬdLUt3RcyhYdqT~e`D#Cbt.#,*C,N 5ݴ_%s4<4h&:5ٜKvӎ<>;B:7b!.v~J+41-[;-yN#0g֏R˿qcdQvKRgCB6tlf ̾|' χ .\egYAl/^S#A9h !9Jgϯ9~srׇ 8Us4(YTpPx큂F{,:}X k e_'Όi< &KXX{LWB`kVfƠܛx?0C/"S*SRwmGY%I1/jIhb!ՏgErקa+`?$YX*N6O($["D!DZ-jzTluz@q'yǕxyg=j>K8i*h:&n! Ӫd\!o#"fCL+7p<iSB4 >P$3.Gޜv#!SpPp4 X E,1eŌz:X#Ob2T؜4aw٬3-lj͵C9HF _.md(ds4SگG\RDETgQ-Qs7 oLy Z4FU݆SS7<хع{:4qLk_H }=_TzcٓRbv?/ w$zӜbR"@/_ץ}R߰GD0=3Uc欉 V hH[$"$;CHO!2KhjsAXZ^UvAkHjnJtZ-M+79!ь5,gD )d$Lu͟ɨ"s"zzd(A_1É8ob=ZۣZ#;׭&1XW+"Alh|^v >H„޴m7C@sز]hV:Prh>fg5~HOC.opVϱ3 &b)0M.43&!;xce/B2m # s~.93?fsGmi6\o.mSv&_qkT>TMG^!;#ŭ+:TŚC@Gd_[rؚPv^cSV+Ƞ QsX:|bQ"h><x@f$54k FtO͙|#KG'՜gy6 ǒMxp6nɰO6q=fK;a= a \ҎFN9p9[aœAы9>#o.Ϭ 7PLAl/`66#B1}BĹ;^0ofV!Kw@tgu 5%pTc +r5WP瀌x2]:eXZ^Q,YIYh#H;?m,Qtt f!ۗsُ\ 3"jK~YSd7)N]t8H=W6V,F ߶EY.: c){9'\`g)x r{ {Z|%`WJ_v SPb8>YEޓzM2;`roKԀ%@4 )J`z}Uwr4 Y2^碴M^J-#ɂfb'=#Xcޱ]U2beCBd)`HVYF@;“KMD&+*;1vHZ`kRq9fV3D۟E~nX79\#3r߇l) Rt'C;EmsC]1]ƅK<m0RzƋ686$!"9)I0S2,mnTF)E5sDNU2I՞. ~LG~`mji׈[w[Az"dDP<,\݉[VViK%|)X޹QEJKx?.RFê9 /$"A}s=s #֗# zga!F[N[, ,_5$X/Efۍgޟo݇ps.pmki%i猸BND{*Pih:" mGRū9/m?5tzM: rȭ$ (jXY,^Wj4Iւ W Gk万}34`#lzjsQZCa|F\]l"LiPأ'457=S٣ %}hτEHEup ?X1>^$t7.$"L?ug^߾:m*Hb Fa>#S|s섳?jl5Hjܟ%73

    ch;dA{e=t8-̖Ց=M,y.U~LCWLX ߦZ݅.d\&jiQ)oxKfw~/ b ;#u3S]) SKF(T6Ӫ=5LemSJ\;Kr\z'yd~0AXxGSdFXuu~; N幥1P3 mx{y]vD@rw1}0[i{]KC +͹elcpº=~WLh(Ր~TO3ro^8::c`l(Y8BZ֨~^@%GD*F& 1I*x^̤Jj"|v0 ԼM%~nvfLrUKZ2Ӯ ^=j,KE'|g-=gMGA՘ tJȠ0kkvr?߻] G3[##i H8)Qqf-C!=S>v mc . }{١rj8$y'qd|pXPkDюJ(Wu 85u\Z[4aCJTX4@ECe;a \JFﱊ !9BWs.8pZ3'7woҲߥ/&n$[bvԂgW8Ad,d۬1Pyg :i?!:F57/PόiE#iprYJY[ЦKf7l`HRٿ(} e #E3o1wmxn@T;]߰^6 )(.WWzsh X:[M{m"ж_,JѲ_uj}}b6?ϰ-D͆EGV^mkj~tI㤝 {"n/>Oy}a RSPA3'':ZQ8d-T< ޻SwImyW)`% ͊w1keB/Qnf'Gr4T['Ȫ]e 3䄖(WBETF~8ӔEί*FMTOgI~0{뢟 XZtGY&3ʑx/)pVam))@^pkƌBLfV4K}"as8' w~RBIl4w݀dBrbDm@>aOWZOx WLPNbY8gi3 @qM/zį(j'߃R#)WLCZN:[*Uˠ ' WjvOju`phv,KU93AZG&Za/g,v? ·-ܭ]鞤ԛB 'OG3nWicڥ]ח$$eBC {ldoptܓr}"N M=ӳ hsd?֟MvENm3ѭ^V?B >ЧBT0 ZzA,sj82qȡ?3 ǮNRtal}>% *jXrFTq;gM43t¿{4B,YhӔ96Ӆߋ^<\|̙DCq0uB}^VEA 9MCjz8_(?"&pvKÞ@N@ 璐߱ ؛ţ.C5TUia߻X#@8nzja[?L Sso 4 ܪqrZ*T-=5nxlkBX)%dЁnJ_s+)Jp69|:N>C~BuHN?KERm\_m%xiHp"%7Dp?L}k8솉Pmpgl8PlXh>B^x*%{V:Uz 0(Ց.x4D0Og5L4mj>]2*@Ef/wD}!PquM3o _k.IZڶ*cZX(/Иb[o*kv=CHm%&Ʊ@>=XcJAE`N)xƈr\XnjE!5".7ČjXyMbS0KUWtH,ݱɆX0 trbCJm*V*W} 9PR.|匵GE+?Tf|D^30:#mGLnEvJ҂V<֣H^٬G2MGuIT_̌Se2T5԰#h bh=_FT 7pg4xq=h[n\fs_x74l|| N4iC; +l5 ^''PKFID]WnwVZ'\g(x^,_90L9jm*j )ߴP<6 mt-S* \(LR$H׼ϧɠDH_2v|ܣaM"g H7x@ǭ]"6D J m/: .6z&u zTRN+OЀ->FcPboܦmkeBcȃ 䯾Ftc-q\*@Xv6=ʂo= _`:pt:BX>RF&Q=go1A^y$$VHˎ1ĵ:gl=x:=)kFχJo-lm$QTh3"{&^Lm 6 K~o)hً$Vc%i+x3./dC vI}d,kɩ!ګaƈmhA4;'l3O~n0?pfٷ;xao]U[!Bڮ]a *XZRfpoAɨg_;Jn eYZY3: T7_kqn!hj Yg2~ Ng8hBB;`L n>}0ԡʄs1\¶,A9(I7u `xݠQ.^`ƍ/胧n^z 42qmcȲZGQW <Ǡ4cyB񶘱D`U 7Y~^e* %ocv7ψy $vנ̧:jpMYyyM1Fjãjխ Ǧwj"[ ,|V? E~AT| o˱kwlZA}6#hDi<P3V~ {2ª /?QY{g 悙C<ã<ܫo}SۻFK (%[}6n\ S=#:RÆxHg1\J7Uei˞`&|FZ-{?!>8mc0e3 U#cqaS/fd>L/oJl-p`V.x' Xb\a9Liވc (yHlCk KezRĆu:8 U{yNva?_hH-%$nx#8夷I P}jMy.f{ T NhRAO'n{ Oi8ҬL1X zEX~Е(I6mYG:ѵ&z$!3~,4w^*l_1^>Gy룜E@ E~Lc 7h1ZC4cM!#d 0}PTޑ$7B$M<-[ G?b5 ˀ.֕i rCLgNu3Np&5vBt>PǭL lter|P:f;g hU7mъ=56p f_y-'~ ="ISgz⡙-I$'>Ug/ ۿ^¯k*PO-lrAӝ^9fUe}lt=`a_63@B oB99WLٺ"oJȟ!K,Y$ae{r,TP<(KgNzATLS-tayv?F!R:#Vm,VZc2\༈b7`eP6R={N(AaR|I#_]z= 9`QEM{>% .;-n[ICb-Ԃp̎C~2V{v"PE?5\V$=CNvH&}褈1~3kp- l>gWU~m4Qoة`uZ;=*xMvɵS"klWf*v K45օ 6%09ktآ;+Jr0}#[PE[3RvCb׭pc*v$G. H,\$g$K 0c>[ ¶0=qi ەh-b<޺FKԏU[e|;q!>[6W(1!2t$*D2ҿPn#b[Yء*(9`GǴ!HSt̓U] ,@p2O^4'+ǑErEˁL`,ji<[ Eށ$%kSbddua;\{_OwVvz3KiK̃F$W;*exҐ|Jn$j'V jH=-zf`#y pdYvTM*"5ъIRkYf28R%չVH=}r vF>rz c_Yh;s/-rƝ.7c6Sfк9ĶA MrDg9HJa9ݯnvq$^/VR}YȽ_Kb>*3=mnk~$ iA|[)5FN庹-1 yքvZ(Lv Ll 35 ݂LPP.1Dw}w<#V<`oWXGIx|ulI @%al8,IY=2PNIG?{~{2X'kTuTԬЏ,¶jE&4¬䏁sR,wȢ}k׺Yd3ÝBͱ>9RR,"ةQIVAmMi2>$옘-{hכ3fgaH5ƵYTr6@8wD^kU %zaշ8us 6 x+ɋIj%a b$RF&obًVpmg.IuћLTMH]ܞ@Z` MsDatzMKWrAllUw谐 t V' Vݾ(<~vɈ RS )zN謁A2@XS"7v x&:Ўhzr Huir=0`mU8V7#FCfBEL,[mv)@)xt~G/ׁ2 R/wY|Ó}WmElI Ib| j..=c! }m[yBEQ gi5$wuMJ=KIq Q\q8P̈-Lv_=O3_0H{8bF MnE\=U(rs_}u~7q&!q~8Уs"M#c!>U!0:wɪ'%zE2rEm34w<<.2trO= )EG5N\j |oj>ԂCجnRN()7Q0T~ kwƢ L]87Zڹq +6煾 H/nтq߆"v%F1zPg5Yz?0bbrwHQ$@zbxlH'kg^%u&ȇ'F.,޵Ň~r(!g72+WhӂU$A}&uKK8@bhswH"-XC,W+T3 Gu- N.Lxn3W e^ZA$5qǜtz^8BX}峧7s*y#.[\R̝U (.UV>lZ( W+ .bu9f ?boP=q0ZCAF𾄼) 'V~80cչj8H݄wITs Ph+l[)^qb@$=zJ[wfC^!} ]CZ*tw5/WjĉA{uRklSh 'TfW}0œψHcAcV(yža_ Y@.yuq8BFYzs{u'YvyQe ms/1W&i@`3u9͋8LOJ;yUK&;3QѕCjݷ<6JFa7YX86bsQSsM///JtM^ŝd;֛\: UhpPC}=;Ϯnj Ͻz42w<&.r[`X v(cX*?X z7մzbb‘N-/h߽h% k]bc FÿM.ka8rH왋L A:B= t;7P 8 bs3.̎aEk#(AxB%ռ[9 _^/0i\~zmirx3co`; /rfhMtŘ !A#Xk|Afw`Hߠˤ4l GQYQQȮFkY͌ύҼMvn4jvV~EB?6ǟա}BYݥɇ =H neU#mPKC/Q=,Yz;|=)׏iVW'\8b&N^8ߑP%FWbZ6?LtV{"F-Pم 5JLf3 4uk32K=:iV@ɰ1%7ߢ*=U-@5aq'0t*#"ϘΒ@k6+ocvq ĮԝP.Lz`/߮M85U:Ŝb9Fx}6F;ʪmiH#ZϥM%>R"Cn`m*t2>?$Z-xDzlZ%aaIV:L:iϾQWyy a_ ֘G27JqKXmwx*4oJl XMLp}5>Z*f/ޢl![ZCKi%:=W[g1_qH\,2sB֕Qq|&Ma,u-yj- ?&ݷGJ.^pB(;/2#o[(rQMs̵rwlPv]'ڊ7V!v 0;+ do߀6(%1`PWu 2qEP#P=<',W74f5_'^nE]֡ppt:S-# Alψ =zh\# r?l,)vyw΢by+ާuh10(XMNN~Fm8H  IZwG:195bVԯ^ ;'}f-H荖}r _"¢@+kl1dO=P9֔)Lj  GO)껛P?|J0X5cS.72 } zR~?0Tmz5lŀ)$ iLL8}Z|tD*e`ȯ`w"֣P9V פ^?r@H۽w©{-#( .AG|$/f~`(:KstQiƠ0s$@0kZ`i ¢w߫V^P&_oOvI'Ң|FsvzaNw/zK9!A HW2F9nFNVP4Qw(1}E|;ܳx55Xhț YM]u?(!kpt>+JD i+v ZlMFt]\5/l .t_:q]''9C 1 ']njUx{V=v L!E{gdW6]rS.߉hox>7׸ /_yicZfLLW 1झiE'U],] vWns+8q*bQSEтMQ_ 'h4cLڰk/ H@o|F~\A:(/QV{&iuelτ"5'#G3߳u*Dqol4!Mֈ^gu˨3"x{4P먌ܖl#ؾ7zc(tN)&td*0U}Ѻ{(/'pEC=qoc[ҴԒvIC,%Ь!ll@X-FQ8'2] yhFG|L56c@`rMK==9٬/u I}4v5/:7dGG NLNs fiThiqvUh&O/_;iՙtkkOq >cWoN,ey'xzV 7Y˖qC:H Naө\RH9VC\x>W ]V/W :؊STilv"<|eX|ۡe9X-< {:@KuY4x I8J'1wa}x#nGG K; KE,ݻ+6 fTQ^ _X1 ;/(#d68Nr:$SM8V<*rNvOW<$!rZ7VK"[?i-ɨ~Z5tIf0+{HE 7xh b_|-b)f6,D\H{8Ӧ p Ȣ9g+_$.ԠGװ" HR e[k`v6*H~+\" iN`M$ڼD<:sUD@ ?C BԱ0T݅ 4s\v \oԋ܎C!Ih@p(.S.ҵ^oܶ<kF#Uy].0ʠU٭"θ.Rc*gu0UA?=r|LGA"!i*Nn;zT <;"w:>|4>i`?k4bneyg)]DqX{Coai@hxpGFY1bZo& \#%IO.ͽOxAUUïX@P,?ذ^YSa"S@sϓ@.o~&䇪LT6v>ū[mf uन4 5KmpE%A$r>"^}Ҏ钴Wn<Ӗ >tlo0ԺzoG⨮.C.A;iJ0*WEw<xX'g-I>3Ef]%݂Qnh;Rۘkm:jP[<R9D(qτrpH jEg ԺWv֒Zxוg=)`oy VP@1V{- G-6&@EZ;8W`7&0À$Vq]Aj 52BD2v>zelKh+Ҳöbr_*fj@Κ7 8rY~W?sd]my9k;S5DࣩjPM֠f/tXF`17ƽxlƸ?DR艹|Uۼ; !`u qf#jttW,, SpwBjt6m衕4x|TS) U 13}{-%#V-}gvf=K;"*ޜy`LϔMp*aV-!7UxVjf`ZH=;TJ8Z@ z8_WBš[h7L0+ʇaCt tVNk5*؃c !L͌㓧]Te'y %|H*:NUfk[8>?-٨ٓ YH({؃iڠ ;TI6XG¸p 9UKK8h| ӝ`cv\C/zBB"TJB FU `V:WqKVV`G䣚;C Z#>>%;%󓶉IE!΋G" ) :qO^qx) LR J8*4UWS"K$Dm9RABB6jҡQCzRy KDaWDz fh窚|$֩7ћKoMT,l-(TͿ6V68,ޗIn&/ kv3q6w[&bTHW } JI_dYul5#<#0s:֤ ,ؿaKJU {hAx;-s޵R|N(%ĸ|"FB;0A`cV0c9oFWF 88ɠ G8s®K7 |rC++;y܁< |0M& zXKB1 hҲƓ!&Jq8u"qOvSYZi?zH,9T)ʜbvuN}WAc .H]$7\I&K\Qʀ~,KA Q:StɑNIZJ¹ɼbrO_YNy\ $Y'T2y-obcބLr'']wr4@av6P^Ff61PB|~d,-ZM/ޑ `qiFߦt6 $ Pe@FMX$mfe+0=)3s5s|rZj~ɷu.-PHuttwn<mbRBiRyg.(‘,QiU~KG)?AsJA1Umd4DԙH̽ru0XSliNo.o2kJxzN.,Ip`\s \o_S 稫TRCA8:ZE~gPY@$7Kj`_QZI#_Ό|gJb6rCݿijD*Io>6/KÎfXw!6Մ;Nĝh|%+kC̰gXygANƳf{̥+kZS&\:/*Rs!T&FOok?;5CUL+bqq_PLGIYB9Ma>%f?U@cg@MZM_1K(Ћe_r!z݂?puԻ;O"27^Zoɼ̲l 3;bɕco`[!*'Y*-JTtgt(Sv-!>hJP2Dh*hRwz䰑G6p ɬ:=n+GtEdĉ;ܝ=o98) Fa4k:`vaD(sͫ8\?Y,zma}B?Vclk)n^&t\]=q:ŮL^s%Q=O [_*U&v\, K ?4|bh\sf #qSQow,9Vr3yZri|;W쩨 {e09.,_$0FTjbNS3ű1j'g1Rcr#֪xu]mb*|cWҘ!UfFu{;7T; vonZ^jMVjH9^BmRWM}S#WwvaGӟo:Pc%k @hsX7 U&ڙ\B;5ߟXkw^a<#\+?iy^RiQ3!CvY>#qŝ7tL| !?)WtD O/)rsv5K:o+PǾpHnbrUgS_ffF ªkFlWXʡ_4".6Ao~VylfKfaf{b3&5'Teh{!lX=v7]ԜR{lFiɺ.갗H|;[Eqښs-ոOfj2E}EӍ9zGw'yRiy o *1CH1 ɉ"{un* X^c  }gp~wlȜcp5?6 +I*.D!@R$ %",'+Jf]#I45 +g_<{9XY80Wj3u5\01ס#^?H]l6v5#5]ƼVC񔎱T2Ypo<~~[M\+pxhMvtNTgN9K/˚v-q¾hv'bLmdbC`.d?V9u8" h,ca%$@>^"x>xafgkƍ!K=IY"71k M+$IiezCe)҅/Ag6 Gl'g2ҕc|A)!41~z{j?|r՞ぐ0J,!e=+Ԓz)a}<ݸd|@ \T&LILpt9yF]Aʦgk3=Onw_ INDۓL0[z{B s+d"ˡLvU"G39#biHÕ_Lۻh0JZ W#8/bOT sb-rIDQ2vdWFoBʼn٤dB+Xs,?dA&sT5)^2FyR9I-Tl9X|ܸZ9T#''75Ğԉ4(@H"@d^nc0 /A%9T,/xa{Xx$7YpZj.+8dLwV2 dt; ٨febB+BnS,.GGd\Ibgu[,> '1Bm#᝞ԏilZtq[3|Ovb(6:ug=u--ϕ#2`!ɘ \f-C8m_nƂ0rU0.{zA? P k.Q|8:RRR4d{ЀXC.#C@a ';NΓZ@}:t:|331h{%?>@}Z{`I,lZ)Kq\e в @ٲ2zL )P]b3!g߀ȫQu&0++礒'uYF3;[ ɊH!fY=22&Բn9VdbdhdRLSS<룄}FHG\-&3rxʥ~[N)d.o8 hp0&im7^rjZ=i!Ћt;{SkGW{ .XC:~7R(F@7{cS Hd͊2Q掬 3v-9ӽoвzNxg7=(s#"f=~:PBէp+ NO.} DkB&_8ADamG7*^UyW7" (5D]!$q& ՗Z ]wG#NG+?l5,z.p?Aq ذnF9 8qpE1gq,_ Ȳ*"WuʧY WPQZux*S< Y9D>1liC ð4cBS< OPw}@qm61 vp,usY26Up FŢԣBXjo9PDY/,>+w G"usWۗ~VQAz9%*=(9 Saf2F?oV5"̖M/ԥh-,18BŹeC:si·邮o@ӳD'nVfXXT~Cth)$eV4tDГkn1_JPt.OS')  $UivCR..zV NJy38(n9%m~$@=ԯyBHw%3ӸĵUt*!`ŻEa HP_AcE:]|YH$/~)L?;b xjުa|{Cv=Bmj|LJU'2% 4x7~8dE½kf ڀ144f9%qV.Q)EIQ ,ͺ,i^PU3_'+$ޒU49GY7%Ys #3;IV]ٕ Mrs eɹʧ 1:(3SK A5kb_1%)g?\pQ޸+8ՉIqb:deGfE/ɭp|伧̋6oyM缳32|:G xTjqM↊2DX%V~\W:C`~2V_G]ye0Rߥ@Q2c5ؕ+9!GxyDAI$S`z嬡dH  cB[ݔgY%uB%QRAp1h85F%{a[ eKEWdKyB!m!AkvWC;n=$r.+սKNUh.Mh֋v.Jtf_bZݏ~ ۠[LX:LMue6lb1tF;-~|%=b=Q>63O M_-&C0Wq*a尵[f:فsKa&٬ڕܚjthwcNslB.e,K2Q܈p_";mYH&V3yw-H$j_QOn :/|#$ˊ):S욀Vb® B_YЌ@i]@Y-L+Є/'upɣfyֹs61Eie+Kh%:P Otpq:mŅVu*J]R%G+p AVJ9ADᱶ&j/cXY ɺXWhfR^ݏFkY ec5V;{L%UpvxI1e7v+e0v۾mRÏ> .-Hkns"uu_I&1mq MZå-&=F~H qfuQGGe\E3G`!]|^:~:)YsFm'~GY6`6/`5ZH| \P :_'^=tk.nPqm=#ߢډ#ݒ7ioރ.NƝJ)\78fWYJE}(*A63]w5|:#K5;+ϠPOM1#JJ1~)QWteqS4E +e8!>[&ͺ-nJ6XmLߖ;SWl3Q^oCX'L 5q_>mdRaաB9BȒbWXIj@czUt]b"rwe]8k6ࣨgO_6e F %gSeoQD C)מ$Yt(@- ^e0rRH-?*eG#!P*tU qM OⅸJZXu̧-1Bce % `9}pF$3F.@ٳuɅ Geljljo,yOJ̶ů)H09O/F B7U6}WQ Rҕ>Uȉ/>oЈziQ xFܟ$1́0k,v ^0yX?x1o8I@be셱Լm3WO?v(yUF׉ TyFk!l-7 u thW R(]bm+\TV؜L';="h6=xH" t\[z>_K)p]Д orymnog~uڌ5.dX2ix&ou@J(6V,mBXoO Yӽ0qMGqѽ?%%]@7lCfIK2,kFӟоC&x|똜dXWpy^Lf5tǯ=#*g.sT6d濺ENxٽ q6 +2!߉<3|V̲F3 .|o]Z BtR!OnT)WilS@ZMRvr3|=p*K-c&z^R;1?G"! (R5H/|W!f72.}Z{b^S?}F{@fl4>=b#@m{7\8Y {ts#3[ j4:YKVe6z ?n1Z2 (LTyL\٣pֈKI'"l޶ Y>4jWg{&׸ֵ {dR_*-A-N5ZcFr~U_=ΘqvxȽ^v;3ҥ_to(2) -5Z\y ep #OB4F(* ۥ\4 Ѓp><2Rw)_Mu7G5l"9R|( 6$O0O/o|>Gz5^7Tּh6RX/LucC&X]+_YOrg\Z+YlbZh -hC3 :Kd쇓i{E=ͮ4H|7_reK?3)(KĆ!-^Z6&^w9_n{&^E(B͝WAo'wL+8vr/Nل@.%<2}]J$.z|`JnV9Ctk? +iz7ڱV8"ɼ0WS 3;Ѥ.A}&=54A [rF>MuVZ,T<2R Fef$wMWCʸbQ ((CSMƑED\ĸO#QDgl8\H !hH_omvG=ZUp֊خ2~R@^ZEp.*8[GyMT"ѧX[!ln\0mq e3I+3=Kٓl>\S'愩bߓt{Nξe6r}N]b>7r7YRiVI.%2e$a8 No%&$KiX.veT"ZJd[Ow[*MEaNhZi6^ϙ$ECgnܘIezCYZTƍ2 C胈xRE죝;yy gj0Lf)ru]b?w;1݃AHbl4j/THV<{ }9#*8ȊV ǒ PzxRUMC3fMK9c1awC5` ~jχ\8[w q*'&5bRzm93\0EV[})#A}s3Ŷ~K ? >-9͈bspnJpZS#&˱_]i'* F-F"K-WLv tDp'GScby k bɫ a>!a & ioL]tZM5D.?ñ–HP [yd-^\_mdn>f#[ h>N~}}SbLsRp -&_ Uwny1 슉~ݥ$lK{X\=)/byBmWCk iBD&R@>cl׷ZKSbDeM9].6R)pP;V6$1e\$ |Vr]\%l]QKۯ@h!M(.|$T+*Ifb2 ~MW"tHAٹqֱ@gkUYO m/it:V5oRWL=~PDhXgD<0S%n]:ՍB`=SpI*#gyUEMTr{"6[_gC< }.Zçf>2qOXXv^1OCReIFvb]Z6# 6f;'{q7@+y| 5Q #󈞉!͠DroE 2=NH8Jz8`^--oGKQ Vp[0?izLҢopPLf{dqzirêgNvb]džPD1Nj9}N?yspl8`FVM?Tpf+Q58dL|лvB}B;#C0'#yC:IՇ/)zw֍کLEID9Rn'v>8SuC. HQ]1It]e۰7}cn=8i}R>HfHs#boڃF7?[x@(TbPz 8y%P\UE?aAlY7y)/Fqo1kjXX-Ңu>$r~;"ׁ$?ted!~oIP`=4E2a@26Nk*M+@Iʸ&zuB<ϖ+ ^i*l0x1Ҳ+,ktXQېđuzY9n͝'gf #;7H4hUp3O7V}w7so)~#>}ȋxW"ۜ&=ey7Lr5)2 pƹrD.!ڶDsi /ڭކ^i('V2;CXБ%o=hNdhRyxJ?׶w5~'"{~mI+$^+8%ٓ&.ᰖBr1e'=+cREɡT]R1~e8_s%(<]khwpyqh<[h ,|niԼ>Yx,-ّrW!FHpS$FDCm^JFoF&ɴ#/̲5e?ڐ2I[]\ByG;zqGbsN[0PE^Ů5L(Sr̻<8wO-p!s;;\2Zgg+Q`_R7-4IW^4ԭ?]wr\ge!;=;)"'jܠHW?h{`4P2Ur#ne? !㹉(lndb&^#|EGq'P)͖P",mԁwG3\򌮐!~RdYKc}14 YU[๾R  Z>(94:6JHc &1( `KE뱇5W=z) Cj~Q U/mne%9n\F`@Ѥ7=>JS[ \siI{jWC(HXp73ZSzyYCD`3~0mfd#N.~yo&8;#ҔiWݎR"A?gz/mص$2Oԑ]< [e&:ABݭ"D:ZKюރma@"&ڏL3f,Ae5իXYQo-%3kկsfX+f̎gODT>r%W2jH-%C iέH1m\ζ\P 0Ru @1AGTɠbouJ\OC렼yq_a[MpXـakb>ťl6K0 ~HW/#1Cdl/|`-=׷ zb~Ƒ-O;xHaj-8e.#{t9A(<tr}DN9`*(^Pr ɣQ1ZvT*ɲzēz;33ߍZFғOS"_qSR2tjf{ +}7x;|sr7t?>׿Vqjl377W\^9Uk,4jsSh6Vilm(R3h0$M1W9Yn{6"[A$Ã-_0Us2 yP~4](Y d{e9~O#v)ksS#f/Jb_OtHd4k {0Ea$>r,d5z.`8;41_d^Y Yj1jON\s`xubR7 K33A>=pSBݏ!+/ƙWPP©jbĶyՒQc`/։-ӠgLoT1BB]8*18z&{t]kdI4_,BCm p\Szd-|+.iȥhcW^ Ud1 I0g󹣜$Kև]gtRҢ|Q)zN?@~, _)>~oIB)/Te.=M'ckrD6gc:dmhVC մYQs{x<t @K27Ǭ1luzE*3a ,RUg@Al4Ɍ}BȶhB# qSaׯƩ-)םW7B3R IUR 9 {u>"tU+2&f~|37lSc;FY 1ڤEa,l6/x8Qg~. f2YZ@M%Ye;}sn=ŭIϮ<0GlZ#{"zO!Xrnli|o3 ciF [!M? /v}#:OB.$:;_ppܯGk"^|hwl أ$=ln>O7{J0.k|dK˧qب)z{Suci^ph  YqhIOvVy3¯MŁDlPprike<:ɀԷD ,a96raBB8Q86ѧ!4RT(zALu4c`SBzbکxظÎ+,5KaKJ;.AES:-Z1&冀:MȍBK)e1࿜Mϣ ޕ:s@X*ɣXb e1}!&Tґ򼴙s^ JIQHZJ=' ;k f3v!vל6@?ӔQJ &0LP!% fry]LV}\\=whN8Eb0?"\ߚ3v)r8qG'#ėGR<3V9Od*CϻLXKH jmGޗ|k}{Ͽ>t Y_$ԽYX; vi.,Af!!Ȉb&~`k؊}z>vRryRi>!el},eCo哜IEJ̭ ?$( AVnH#mNcьYݪoOCBcigG&YN4z:4v:tfAZCݯoٔ~YwufN64MA'Ռw`'ٹxg6_fmhi9o]f}hk[~]WѮR6Ư.q4*5cV8d0؁g[Q6LBT%or[-ah?`$-Erc7( 2*OmD8qhD| c~Ră0B"I&VejQ4&%[z80ޅ `D^~ +[}mb4Ʃ3B9 Vo5,ʃ8[zNXy;.C|$Ld5"S]Pvp I'a'k(iI-rW\H-=JLvb4}}zk"@ |s:^(Z}2_w}IO~4.CBy j{YBƏ=P֓24k6Hz}duyqQˊDˈn eV<;fl${j`>G,ė]$_M̡Ylx|Sq4K*Bf4:5,&@U$qB~9ސL%_#!FOUO$eE񉘓, ~ȍ!vD>:> 9&׎;"dXZZF&kXjY;/n3]]qW8 ѵ@!2Cb2NW]^XwzuØN>I:Q;r.H::Ѡ.i紩%nqE. PKkLƒ*'&^D󻟪p]u6䭸$ƑRty) }Lr`{6/6+A%Hm UnaJˆAV"1bDt,Ǜ)Ae3 6~ƈGۦ'7#̉iXb a}NID!G%nlTbiz8ܧۘyLA_ݢp9f1伂b>,.JDoOgޕyO8hvpM I:!hz5r-nU 8rs)8{uv QYlhA g7$w=L.^6RAZɶBBAKJ!G!F)wc7DP\گӮpESiJlo+ǁg>-=O%8%>PUђ螠yXS j`#iuqhP i;SQڋz*6kďcIodeh|7Q!#-Vv2U~}-e>%mO?VI-!x@].UP6z [QuRE07G." * +] <@d2μxӦɬu>V>RdP!KkX ܾsSt?n\tbp`(,[>Bcv!Suv6Ct7]w D+LbmN5vm]d͛WhL}">O=bo׋BNd[Ui̸}RϠ]^I Ԅ~(~~h݇^`lzC& _(1J*{ڴXUmԩ[ o*>BIfUfQpNcnSD#|՘1|o*$f{W'^U5Cƅuߒ$B7FHv{>D;fkC/T e(CVI-4^ Ǜ 6N[IeCeys/uW^n<q>( c,6ľ rݠE&̣_iހ`(x//}κ !"R"]Т̀6_@{/Rvie&J+zpdΣf fP1P'cŗp׆,1k~Je{α/`='?vN$*cȾ⪁Z-̗h÷qD819"֩y@B S7Tx?nPŇH155hL :l=:q 靁glpI֬HGIcԘݲaQs,|IՕߣ ET VC-; %XPc&n5+Qp z# su l+snH/|3~j[%]! v/H?gHoԉ;ڈO]SR ܈\瓟w*"o"Xe~w'xΆ_O8v{_K-WIyX2tRxQh7мU,NT9 .7& CpeTdxчYkHu3V oۣrRRRNZ]ҫ s\ܦ*e`:Q*Oٙ%0>3C i^-uUvznHhOLͮF 6A)0}sFѾ fIڪe5-mM=< _5ʺxy(B^ALT=NGpϪȩ>Z+=A5xy! 9jy.-&a'zq n62紐(1ǀzBP ]w/_@js_\k$f &GcfvӬOV* gjk˚cPQGH#)?8(õNt쵐9u8MA0ȘdI)}TFݛIh*`5hCX98Y6 1y|>_e v c`So,[EsP!$,õ%#\Kn8?!wE)/" j៓(=?ZQ Nekw=0buԊ~A9;>&#,"{vnt]]=W?TQ`"gۋUYͧ4? 'aR2>)%׿`+HeDsB?}fX9zc[ ř[D*Cn=沁v0uJ‡q0XNjv vVlؚ*^<GJ+>ZVm٧ѐz a+hC~,[3ţBcOvj+Fxy6^~REw"n'5Tc+-R1ڥij,x`R .'S06k@lGJ lZ/7 q1.YihAYU!޾i 0gL.9\so6/k"wIhۗ9Ȣ &t;ܐ:7*ee"ߢJrv3/D\`Pguw=Eb8FՁ{W\b}~:C'+@[l6A% 0_#˘h sf]oy5[#L]?W %JD0x~lп|zPNK6y:e?sy8YTI'.DZҼ^!sFyҬsQAv믙c8׵T/fD=6b_Bﺡj`7eKF ʆT5662߽sLטL İ,jnƟ#nT@~R&G ZC9 Q{&*w ef^T 1;A\UmtMGd#Yw-?Wk;-- 3NkB,{g|KZ4$ҨF6bʳ+3Pٞ;tibOHt#|h NMX[boYASKg>U޼l"&̱ p܉wMy.b[^5f+MF\BDr>=p,ybV?ڏ/vvڧ-Xq`k:] 4ᢚMxש-|E< +ݷ`NQ|B\e/3ԧuSi T`  Y"I{,fW4-.gWs>\i b{#NțEfa'S얶uC%(0W/:E@s=!nW0uy$EfUƅI<}0=5ݵ5q#rYj*˂bop/̑SuGN.'|gd1ܐVib)Z՘0١RQR>e X.5د.j{occ Np50 sO3P GMCt[7;si0$!!|l8Rغn9ΖbhMz$N )=yE%0 بƟ ^po[M\NHB3@삦bP=,N@vPd]&GÊ+<#%Fš鼪Xm;S>#@C)Dz~jy_'rD6O&+M*NU& PD-5;rԚPu6j.d:P :¯-,?"H(wۅ}VB]tk Fኲ8%w!fHMr"w#&{!3S}Ga4u!Ӛ,VSj_+# 0xXnyj_*"Ӳɠv΄=>^ HU\Vg;C洪0>7u&L% g?БX2; [07>4 L#kmg_r*Q%vo 4*|圬aϏK%)"?j妅-1:ב?՚=; B9|m)0* x LtHY/N` rF%+5uU~1H 7wi%O_hsGk\^vws%@v$KA 2m~Qp'x5̃>aU2qj%c,Vs1xZ&zNsNz-C !/RVԜ12J9K}`HEf筥FUܩJCkD,Q-o|Q.ZYAbC@,\~rAѓ tJ 6.ɨӑcV8.ګW>6oKF'A(o~>Йg[(rsO%5!N\v\EL~{k8QC,Uks69ǪNiycp?|մ+}k c/*ϜjHo&iWHT_D3()Ci<3 ,m+^rĩ+TwH)S+*$_E~<סJI*e}x\:Q$K.9c3&ŀވ]*hG>[31nie(γg;հ;2P±U.wGR4c&F-):t)EU_-"骟|zda1>m;Ɉ$:mUJ43vx- Ҵt687s`wdl7O֣$2Qj[\yviR|WI1ŒC; #w=)K Z_[˥BETb2T))ՊQZљ8'US>*inР|| =p@… j4s &r/Ubݏecg6f.JcGꀅ?;B kT }B \&=J,'EP"( iq ⶖ)+PER{)ؔښ O[,U0 Y L%X#AW>%F]}%u)xZa[ƕ-L3LiZ`CΗ%]~dLMT1H&qERWO$X9n61_D|f1y#0r^M'p`ZubWt{teokZQ o(`V ʰ83[OI]E=nKїqdtfTL4L7^A|}ctN5k!ywiſONv9 Ey݊8*$b ")2nT:ցJ+C\+U‹}h$TX֮U*XRrt?7Z}qjOd8hb& ^!n@LGWAsu1h &hSh/]Yw٤^9e&jDyRs)V::.2iӨ)1pί9L>5~{.b;4g :2t?Y&n96:"<(bh㬥^}{=Ee x(I/ޫ@qr~O{^]?‘kYua.8Ű4"pm;(THG'Y}UПMwmWpZ38Є>Kdv\̅-bX-ēŗC-[crUf;+f"&ArQ'm㚞S[fߣN :hQWSs Ar:z& !e5/lf\P߁C4O=(MF5@"{l4sE<2ٻ AxP >& 0C7L;(, x6 `n4z EAkQ^(M<~;[C/Zw7u!kAy?(o$.yM撦}dImWQ.NL6Dr#މ~?ʽK7+d=}i6}¾q4=U]k2Lvr@%<זs?YAy݊32>a~>R3mR) .臨?Zv4Wq^IE Ҋ$ 7 y0JHhvgyS0q=RU$/I8Ȼacs<\:mS7K)zr@p3bL.Lg>;:i σz&͌p;s\{߱Aw&H:"0dGqydNsl Iu =TL@Vzm˜‰as"ia)C[wQ#7u&3N]# A(p8k®|mW/; `4d$f^&ALX吂1DhLi%_e0i,:'HR%vH*\Cp3Ri5.u3٩Y)טA KQ|wq(ٮ).XCQƛ*j,\W`|O!=bbM@cKOt< o%*\Rbh0D M2Yn5*X Λ-=Wy?b&o0^-27S+!iPH;сM#fKSOsߵ;CRLH LB~RqH0]y~ɐHLEĿiڙ-zp[ . ll~m^#ڈi MC;/Q/F덍7dOy)|'*v(r }[#oV~v+o\iGKJ WD:MLΦL*C_5P,8z.v./ݦ eq#]N ^+6tZ)]Dm%hPyxygc;?W^pp/aMYy :kº?Ť5щR!ʸ{YO{R /hJL*.W뫨2soCmKGhD jkW4ŋfL*o5):A<91ur37{h1ijmA2, ؀z>CYl6\kݏ7h1a)F +*z]_WP׽{PE&kN?a3!4+KIt7.St`~؆8F4\/džNlMueENcMqh'U3t+(rj}t /ުuFZڪ9 g X%@ @UAș ?\;?{c u QQ Rdk"Yʋ֤ߓY!,{2#zI$TMJE8sm7MtGO|('sܭ#0N>'?mс$D~[Y ̴3Aw.1{_wH9(~vz`8W  +g$S.h@syd/'{rԝKp#kPmq\/L<90&GrʠvR"(LlS -$7d\f\㡲'W pP&H'qA8-9!-@l.t5sUn]!WV},)ل΢( Dip5=!ldFj`ikEx]Y'h 3nšY@nHXLkchP~~Pcnoi0.C( YXkOWa p6:HG7hw^OyLCWI µC4OmضhR 6 o Ӌ\RʂQ[ĖNY&z>950'qn/1P V8ɜ8˒|U}K`m4;Ұ~ueSQiG>G{QֱF)ޓg4fC}eN;О<[惙w@qG'oLO3 |vR8I$܈`E'@l$Fxu'em[џSO;+NOXc/⠟DU/>JdaL1؍%8 |T qb3҆_a]78fWh4L02)@^Łܨ !9OA7hfʄÛj#svp :e@>wm|+l< xkFpL %m 1 #ڞ[Ed.O] sdW&x gmU`Svr(1yu~t`hހ@w|>S" bBӲIEfF<)[qԢ1 TT;, oNBو(d-[|ڳs$t_K}Ny/ܪ.z;=n$I>* L+-w?$G?LO)n/:N:= &M*:^6\r]p oYAo$_XNI s1#i/+I1y()na~*IOJ(L{|er`,u'Od':bz~ׅK8(]Y= L@*Iԓ#{cm9=x7`BD@e^ڗ:2f<юy@g{l%WU,Zblj;B" Y#Kg2|ct9mVwr.MGlQoWLהZ& - @52VC]HaYe9O Kbo( 3wndHV27mZA.2L.l9}jAtbQD2LlB$tۧ,r% xz$] 8 K}\HqzeqQ aztp=C*a`籪-wFzijXt/SX$3tCdkG;yʉL ==ľFPrS -SdyAئ1,M?GJPHVoj?j{>$7ZKca (o}3fa H\*6ej A7U6E+F="ʵ.VS6Ofܸ)랴FԳ\ ,ljTlx_^01#r}9qCY(9 ca\SStu,cpmY'GBp_kۯ^,?ǖaYG h'>p)57vJC>InLiׂw5] m,Į!\gzM̱N-! ɢJgoTFytDE.@ȑ# ;lt=MZ2S8%C=iRzDy47'Pu͠;,%Z ($Omʎ7]sl,M! c@N,׍ P=1I$ oJpu߾2Sz.ESE9yL dsnSH o.go&G|+ԸG/9F,%l7jUCx`*`\]Og50^r4QD4ya/$1;Mg-i=@Y("m -\;ٻ(rn kuZ#kw6j G jT;#춦Tᖍ4J2'%Tj0ZM^L 0Q&v>ngPuQ?樂*IC 2ꥫ6xgF{ry6L;,cb opHsoʢZ59>VтCb~ך;ݢ1T_%Zl!@d2ZV_yuw zS>Dp')b|ϫ/fjG{#=ǰX/'XlE3FƆJf9H {cY8vzoD >\.6] Lᾴ'}t s[XE#եFT`3cHTNGW]+h-yx~iaT=r@6I \j1_VW$J|WE فB#ڙ_t/J)e=Q?D3D 4*ѲV016 Gnr^,Hw3aUۦIQު+V\#ym 9¹{ : @6RF7CBL@araӑ՘|tjX4B/@MiMP4,N5⯶"KO >9&|{^$t:Z9+2 *iUyF//ظx;uxy@NKK5hܷFNyߕK'|0 dBCi3rgL3l{ Vy| tamcBfxѻD6V=5A:h^5ƥҧ͢.\x6E1u (;b/w, :>]`G&xA 1Z- 5IB!hCM{A@U2,re-@1;E8K)HcH8}n= @blpd5C)3_-U]%ǩ Y2AmkTnH{o;'K[_hwځ^R#gBЁ|-b3Y1Y5evzU?hCٔ;݂@5Q*GWwB1 cD^]FOETAM1$[\vJ~!#Ӹ WhPa<29#\fcJݺ0͌6Tj-I|+ה05UQj Bxq_=yWʵnt=yե z Ip]=aEpD CK;i h@LPԦ{B8(Xa[ +^{-NtEŒE QLm$-a̐NMpЏmOsԙ Mp,)\`uZaN )ÒI%)0&m]J9bÑܬ0}5tM| 86 ̆|VEM'̂L,9 $NVLd95>NP~wBjl:x #E'Ǔ`~eDz)gAl߻6B4W ;8o;n^6xA9].L"KSe.J)^thcj<F.jXӼ{"v7U86e Vz_CC Qi7P+tzr˒6eyNO @%jIE R?x揇Q 7?`|C uUߨZ9w4?q31:Ƈ$w3ha`&@Mt??s -\, \ZRHkax4.Uh0H_D9x9$*[)÷*8{)BF(uR7~,>)#ϲW#JbǾ4:O{͒X#?:>R+Nr4uodg@hq59mUu4S˜rOn7IXCn8؛%AYQDl(U;%2; mk'8VfrgShغ$8h S-GڭvK)K`l002؈CW=Vc|{d{=y::Y֖ XwI1 w܉6&*eTw3b!Ϊ2'#+'6PwBS?5GMH4p"'_|5"^a%i]>p# \4LWZSe2F FG+_u:n\@</їm~C/1>VɊ\[vzv$ryTR^|葂J'5{p0-o;;u`*h_ˬA?O/}xNE RlExbA8wV/qQƯS2k] /ĥ>LWܥ4I2dU+g,~b+|@eHP !|I_m'-ђgu[jPF>2B.q":ǺTOd@&Q!,sCwnk_.LJLAqK`ņ;D| %;SOAPhP/N3[yC=EEժ%%y1M堜{ܛԽ{. R ol@eNw㿉,m7b"CFoUf6ܤKCqW{YQUFx\0"Bѵ{ }4f/'0(PxyU E0F]K]>Qd6q 6,02 DEs$}}~?ݽg {5 ~v!؈4r"F>s)to;bO 4O 9]US4L=WOM>h~~m8eDM P}L"1e9%AbxO_aScksK5# I){gh.R{S$1bLH Lj4pd6/Qn'gCjJUMRˌeF,inWrJE#eoYoa~j9nVYQ )=0Bx,ڲCXM@J]'!蔉$6*~^f3dz$fbV[96a<˰VHx9]Ypor|K'es╠I9?~3M)<_LSh~ԯ`1Uۀ md4JK]_˦փl"UKFX*.emmy$ΔY= =E UUu+#v$ؕBЀf`[Z6fw 2 s \[;qt$f>}3]}dq V&e:{ )^]6lx.Iߵ:*$t?k%A.7!.e'6[)%~ e Ңdz5Y_FpFQ C&6IѵKi, =6[CN36j_[7&nq+HqjF!X3lsGũbM"U:7x .Ble$3v,r&x* cMwʛ\мJ0upГ+ zHiK(Ěz^{Mp4ΧgZCFl q'^f~7쑊XyOGi/ ig#:[`b}{肷8M9/8Hqby 3Z+z[ҍWjrxmP.ԯ g2u޼C[Q\G7BD[2uvG,M:*t0Lu *jɋ53bX?̨նy>9dUNy 2JYgӶ}c7ʻjLx")F.kESG?f?8{{bػ؅!Qzc^u hŨJl +`0W{ͪHUֽ}3Ȓ]A+TtG` L0fu6;-^KdF΀XGI4mPZmS17}rHpxoEп$>VFX {;gYߜ xZ #gD/3E3pp(:m@Αa\fsB(`50l$r\#zEڰ4MF/` Gضׁeʟ.ZV6./*i$01$IMV$4X=i9agV/~ks$@ɾ*>#)f wucnP:I*"j]IBDС=(M&@!vDa9}Vr]0V˥x dҥZh< t:pa>OI}? OoNSfJB?:8J\*Gq@ g ]߱7_cH\ F]QM_7ARFBߛuH/[LfEhmY,x0j(3eEG%*Xǂs?Zū, hݱQ:=PzT>>JW6dB@ˋys#x}SDs40%ID͓ et<3W&eSO*f›1Cg_&WhMC恕؟tgnT@mUkGAF9\w@<+C{$:Z8A6D_s4?b%gi}m5-H|)Pu0OWf2LF }ڣ_o{QuS!Q[Z}> ۧDfueදf{9Kc=zs4#޸0 YS x^e;].VSoݕHHzǜ.NplXwkFÙ5!^ bͿۅ AKH ?Û,ˎn;Rޛ!"5t'V5\[S9~f~*3 .{x'/ s܀QoS ,;_o @Y{թ6R}4Glg_BY-G;Fv|k[JFU`^Kd/rJ{@xc4}JNj f./8kgNBV 5ix:c[ &}R+yrV5R L-N:)!rjVUTEMBuRx-%FavUFD#=Dw,fyrA&V-vPi^B >"'ߡ&SZܬ[kah4zl(M36|ճQoi<:I )/%1yK+-A]4TE%@?XHg 2C5Vykkv29VRK(tM30U>RQO.ex#4zֲ% %fO,K׏eDS.ȣ dH$9 `['9Ъjx`5ʸP2!8&2ҸTMLb'dcÎNj-{==*(߃Va^f3^be$txC*zP§*~`]Ӳ~$[xd$=ctO,|s|HoH+L ]|66dxI>-e Cww8E%#dݔ^ 0?W6τklZE0{KvwbrYm1H:sm&rў5]\!2@xὊ٤#F6pp-aKwZE} ܹiU#8ʜzRƜ߶z(~xfXg(|g!5z؜`ѓTBccGwIQ%2<.mt RLgԶS@h|Q6pݍQ: ߖ~'<8\Ur'. ,坪IQ:L7#eVVJMԆu-3޳ҝ3i?q DP.!MDfK+s'ˆ.~ y`aM)Z,Euh&y࿧"ضC)n JFnxLmM z-?_>А557׉ W Q-1^-}$MH 3Y- q)M2IsP._햓QBś_niMo:"}ONhPDO9C)0AtC/VƐ C[59m*hNV{j]FTS[HBw$~= SwLف/Nwt \hʆ|zGF8WJ4i9iˢP~Z7gk? d ;J)[$.?"Q%A"JR0P1iaKH`f,WX,^w?8U2jmb`IX+' +䴭 sA 4faIHZաV'(ʀeG3C UWU%ޏ qj?D2` | fHAC%7mB@w6]z?{Q"5kQl5iԜlVE4,]bI`ҒM$*QF>6,1L^&H"ebookAKݓjl韧k 嬩;>FB xi=+%T!jrtj ]3i?6g67$ͭGбbz['>_>!3*!tDsS®)b]3x 1A%T=ɵbzFfeZ`-1/ ͳcL/d-)lMq!6P=28OWVz,jvqͩhbkѩw'2݋\-1_Bf(6[h PFؕ-8@d$?=bӌJIkb֩/d͹O  U/ Pn ײ\4䃉)IDJ gڭm\iC^Fz0ehR`VyLJ%3 c ^s6}\;+rX K/ȇvR{xJ4hmD:P W.HcFajP^+5hG7$fiaܷI!%'!ELΉ994/#!2d 4d#j$CZLQ %'vet;Nv#xrO&x9IpM O%vԿ=/ob)Hƛ].o2)zϦ`(QXpnd gXXrX9̺*1{"Gio%k1L G(~TEp };.hiZ>c.,ejG\;hY|6it`ddz(XE+3׹v94q|+W>=@s0dz=` վ&vyޠhxD|$mDz6EBRㅟ6<lUM笼H lO=}$e=ObԂ r%}MIs_e>1yW2K7 xJ7JrYqBe8gA vf1_+xz鱞)Ӻ[=/r 4Y`_!tW*1BXm*N9*("46>,`6)rj|o׺T%5>h#Uȓ±-{lc( <]FnNOx*b7`$= +3-sIH< NJzoBo0nIϾ9` $h6`@\d cvR qT-Z"~EڀGVx(0#[OlP1. #˔ Z|*Y]vOA69=AY博1ofކ}9PZO tt?C}w%v,.vQzK |>%(u<ܥȱI.95N4EQ[f]zxd^TTؗUH:JK6<踖r|]' [ ,hJe;K7\6!uzd3v`VMfүƣ+DKǂ>LԨ@gP7 8 y}XQJAI!?'`;GWZR~QD}A 24i!KM;[)prOOV1&nJ8!ީ!L)u>Ƃ_t_Xs[I܋$9pͻhPH͊=_" ڮ>xi9|}4__uN8}3` GLy:^T& jŷKx$Yق+PO(b=  ]tEY5 4^GcF\ c8;u cR:dCfkYtIPq"B#PU _tsZMO愶"]AjTRfWu5CA\>{`ھeYqyJn`CrusVDt(Mll(c8b"4"$C 3&15QJvgdyA($۱[|^CO˪2Ǘ! 8a]EW KgJ:4 <R,G7Tğr|x!_sv#\zL>nvۨԧ.U0)=gܣe I~?b_\LOH1LsWo+cWA}F:X<|zGe,2YD\E=M3Vb%%*>8 nRl ž. qb*E;=^GY+#ńKtEH b5-OrՌ|X]:&TxRЖ5Nݽo7\^H'3VR(tWY)8>ɒ^M9 BO+F6LY >4ZTod&L dT 8ۃ-ۦ(=Lb4@ȔVdvmI7ȠMw6 ()Kr>xF)7H^r 39l}J?CE E W H;jƲ{s(y'&u23ЈVNɌx{{zُ|3i4GB~ݼ~.B,GΓ(x8eӪhxXNjSrFZ]^E*`:;chT V%K h!Z)~ŝΥrRUs$Fr b}R4DoMylL7qcJK|}?W+I իgcroOnoi҈\7024Ɔ+.: W DDf7F3Kjפ_34xLt I9c^\LtfYC1TB$;mDDPƹ(fL/Ls;Ssl?@$Mu"\ lF 4TTBoSPuHp vP8?#IE{ oK _ '}#jmqҜʶ7 O.\ygUNJL=ʊ]-y)wrc|I1BʛG]vq|  ;0[6E xr)XErr?)G&Mɬm{Z(I}Ө5Gz#V)Fyc`obM,|u htikĥTte7*t5jִ1Ҕ7ؖJ}teя9'"+7 `fDiV!b\44tN&M#fƚhi&PΔF+6Sҕk{#|)Ըd2|i IHz&YERY|~ zPP=G5Zy~ڼ{.Fg7Mn"l&]L 4S'`qAJ¾EΈ8ͧw/d0SrV/c;Qk8.J,1B!l+x9ݩ1#*B9^{?힨+!wEЦ`)W^E3{!!CaX :i46SP 1f /W]5,m?L. BhaaBRZMױ[H}3fQy%D鐦i)* qNJUxStd0LUE_sҏ䂙rz#ދ?sǬEBq_^v >P+3:="[ $ȩ=TP8=]Xǽx6p<p>rIkdVjv%`]>%B0c "&0r6!,2;Ekox*yhaXkbop+f^ ( d->IF̃/Y0 |; 4`ڑha->*w! 4 UVK]"j U=\$^PIy^WT'omwGgV"]iB\^|8mLw_:Rnqayj9 ރ9.&`%&Koa2Ёsk>90NBQNdSatd,Q(>%ۯ9q̋b,2\-xsv5*anC 9P $w=l7(G9& $l-1ҒɈf5r'T1Ԝ*J\@2VoI -89Rʛ|ݲ{e~WFfB%-hΉTڗv/&1@t̾-9ݛv^MfnѺ\4 TlqqPTV ]On 뢤T> 5m^Y~ӵOVp@- ԗg!n\#ZN[㫄L|/_ny{ *&sQ:^]iZ&̝;^PQ`YU_BĽ7hA;XӥE3ᾧm^a?8^ KI\DRĨd-te~.WY ^+iSԪ*AJlB[V[@kMzv5Q[rZgio>_zx'%%oJe7*.I92F#mj ;3|9<;Jx'x=ʌUD ߰r@GRg')AUrR^t/Q9:nTsadKEkڈ+˽N%&2 Mw.Zo J!xQ/˾gڵ1Oe&i yfhvKsISW懏Qrዌ^"%41z"ʻ80Q}F v]W[cQHdX/h9-ehZ}9W Ώ ``jN/X y6يg%0 @T#!_C1wsfiϼ6xgs~gM^%Tmta{C9d9 `S#$UwNn[nN|0|yk(vͻD [c|HI4Ln(FreS%g$Hꝙ3cv 3 <ǎ|"wz,5VI0.qծ RF%XF800煢`/A\u4)$V,a-{R_w""#v,;4Jo ~uOU}0z Rf͚B~o[^;v]\L۷x*z\M@a @u;|8P`ZRTlZ$50&d9@bX?Ҡ({IѴ-S껽ɊIHg^(gYib #9|z-O[&!KU׎d9Ԟ1~f<6#zJ~[9-3QiCKŴ2#jRг~ L-:VC}΄1qkyT<n9iLz)[u|zRjC|D@'ݕ*V&lJU\JJyFǵkE;gm"9LP"DN)j7+yM6<+fPƛx]Bp v=Y䯸Ms7ojW=/7d?NuE+4bY^]Rzd?N#.7wI _Ǧ94 ÓK֮nwJjV&6^Koi~A2Ck< Y6f'x|X_c`mw9"CF^9sKfbL~"nSh$>uE) Ma2z:tTNSTv'eҴWZB+/"jOA+ ' 5҅ & DNJm]RЙcf~o-R8LF@ Pe<[ Ik: *YjQc 䎩/qQxD2z Yn2>Y 8"diUD,>3{ԏ497hvGQ#m{z㊘ ^?լިI+D]pq&F_S$w{{F cf}'7SH1ri\َ,6!gra~A?b/67?}ׅV/ׄ<= 1qԸ? * ;dSrZ#2WW*S;,R  V\ɣjXÍJTWyKd! Fҡ(ҔC Չ{6p'[ؔd(k ^1U9ݠ +̌!IJup_5},k"~A`\Oǖ*EX^ztea-Lyb}i/NKO, /֕  "+$L@}&*I᭥߁?Jͽ*t8m%[/1yi`:i;LpbBSx$Ld.lBF Z3U aٱ@1d\^m걧N K?-{C +Fcm`ƎqVTfd7#X +OUÃB?cYJ-al]&mt* di3FQ[jp1=h<+hGͿ]^F<C۪oT Q39tb`QnB~5.T0' aFo"tƹWd ݔM J(S~O & X|t#HBp߱Ccz`ִ:iʱ^ ,NI2o(@^WjY zZ(NY~YX Oq0B4do*S8f;q-dgP^S򼖓ⷊM^Y٠ؓǑ!X!R)@E;hR1)T9` r^J02wK 'x}jh+c FQ_'[)[Q^?e ຠ~ †R4)"Mt٘:)l3 a>L w >-^JafՇԅ(@'xr|$q=l/Mvܸ[ҪHAcaP RGN[%1CqUm^fi)%ؔMI! ȾsAB{JSVQ@'~xT$Tܪyx+Qc- ?=DK?lSgǒr?kk.!O(Cr]񪣠2^d3:H[qqL|G)7*P\Eryڅp6H6" KbHqzںɥ*[Æz xyG$vyQ1.INEǾGoLA}" jM^t;[0]6!gsC;`ͩF@8C_5B5U`2r_M0LڈA1 1U9 ԝ8DƯ~?BIc WI~xV[ .eL)-mW3D,GW-2V4Ʊӱ5-t^"W%}ke _Z38x5MDɇܺ>Edࣽޠq.YK/=D;\ ?ڶ)eofJ Nv~,nN2-;1h46z!բ`dcw*ݮ#Ul> pp|~IjwmX)[6%[.neֱ8RaI,CHggMGQv=dU{9lOgR]!8A@%v_#W+uXbHۍd Qh~ITV2-# &%.@#~ʋH5>F-VF^;CTNT:c9,AOx0:&{*&@H0i$窉z.?} 8HP?UZOʷ;C_@pt1\UU؈]z=l̍rh t q;s˵!V#NcqL>Q#Z'%^F x;/VL@ MTGdp‘F3 O)JdȬq2sNA8'ZO#<,FryٰCVg|CBqM b^zc@m<0K:>4 eWG72T1M*ۂY?y[NRO[WoleDxgx]*$a1SA(!dKZ׌K+::zev4W{?ϭ[\O-[#=AoӣUE 8&QA 55AP/?Ճ0b]q2-7:)SP~ yIj@rU6BBf~R{"BmP4`i"y~Gě8_@ᅶ8#A= n"eE} Ml k"^c<#عdi̻px tFwolS8o 6-xd7w Ҁ}NRLd, + hF%~Wh-x= n jTPzcjNDShu=7ƈfŘ)nfÉy1/D꾬-)q>l]N!ͱ[dRĭSUASUpб+a%('[13uվ!Vr@ћ61px~ZW3;]ei^#H@%1lt{ߺ8fU7y#ٟ:9.)`Ђah*ON'v;mVI#жoh-m&[29;j؛ 4?xa8;pCGLnb@G&wOu#=9Lܒ??!i5A)1ͿҠ=5=78y0 % n|B{K,{Աß"sOۆ߷ q`sb+YtԄp*{7hldY΅nxA38C{N>ᵑw=kTg T]Kx|}hzܯR!a?3uѕS 'c U͜m#"&ZhգH}8㒰vh=1MYm ,?l4ֈe5x4l^kGAY>C>wgkI7^*)GCh(QjnNಣq [\vIV*(h9F Q"#1!1 ulqmVݿ_a1$ҠnC^k[R☧/ۻtMf~q}xL@J/ -\_&+8Fo4S}UsN [\ʒiKTB+&TA(hL]}b'?hOtM}c_Bh9Ni޹XJ7*srZ&1J)ϧ*Y.)b0t,fEU&(z0JX$$܂o~׳SJ$PᅛK$ kriVQ2(0y. gѳ1U_ܟMLQ';jado! ϢlI+## 9˰_2ti7%korIr!sԴjYOM_DVrtuB !>]B=) 6<^{-1~sӓ⸛| xn.UhS$ sGsO&&bi W~m+@r]Wl;i7e+nlwԟ.5gW$준gBcýT񋌼|~YvH鍰=O+3Lpǿ|NW*3AwXt&p}b^P1aPVXk=w6 HseI,X4)g[pN*$C('| g =t t]`+_jSONqaR,.w&-MBYl~ߊ rKPׯe\R8F6AQ}ѿ!,-K.FFN bv}If dCX(9&VCJP`TʕkdX ( 2R7?w9dzNc=bhjuunz*RCeœ8nfB43?,.χƄM D7KÈ$ }p*va/m#VÉAV=^y>hX O4ųH, ~>P:E'v8vku=h3ƪn28Q2HX%pە|Hވףy3W%uK4%vW8䬝Vt]ex 5o% )CkCm)-S5Di1Cug teG)jbTsL]=7r-o9\N N47Jm&U] wdfS )[].}ƭ2<{]ӵgzHWjomyJnyb4 YxNyQޛ /nEQ|g R<v>,J=ϕ^VǗe-ְ:؝#f.e1uxΠE  Uq@`e= ekԒ^~"!omQO/U+JN2Y{=ĩ"o :p\BbLuO xީ+j{pÚxvȢa^eߐ)e#@@:NzDXcG x-Bl >?ehSԔA>ڒ)IG>-١l;:GYPSƢ"LΦ4 DaSJ)s^,x:pAAB Јl5y`?}Ϛ5hqADKPOGO ^qR)͉IPt/cAFAN(dT#;J?Rsz۫.[\F*q 5#.?t܎Z7`σ5s=nv` +r,1jAU岥Y͖׽[\>4R HOS*\OSvJȞLͽf-Ml<,.F>Z3>HlAYidxDՑ4);6Jh7uEFɮɵ%7HˍSO[YnB`Fs֟&hKuZ%+φrA 9s~#Iu7<,[eaD>s%)?`oKUIP[*b }D[^aZnvL'hퟳ,^ /~'zqOm d+H) +Ǘh@Ig$?׶P%6[X}SDl O#EIT; qrA_ "M[խ&"~ЏI.9P>W>|$ VGťA ݏ |z1,)6mu >lsK :y(HҔpdx~߫Fݩi궼+ $ Mš\ÉSx#~9 YAD1R2tbHVN[."cbG\.gpfx ZxKR-a@y\5_ +ػ^t^㛫S_ãSE(5ڮL ^Neښ/;t!u6! ٤,V ÎVQS(A`Qy+B9(~"=7=wݧ+R /r1<_t(I0|Fww;g`y\'N>Fq'X_ogxMyBVoڕ7*;&GTM`RTzͺBBD/P9*`w#=T&t|ݸNN*V.u)Tk j4\Ճ߭6x~*h=2b(_j*?_,bAYR{'̺AXwOD![DlqC%J6#Z& ǐ4'#%G X0db#-c n:.F7D:W ԴpJ-w\3-:?FRbGc&/ZWaԾSD  KIt/-Į9gj-d2RC*^ sޓnCp<ﻳBf*D)15[8́F<)>b-2|&f}>C튴"|)Fo!+ĭpp!Q+OrkiRY;_S?T¶̅|2 fX0ioA]Zgȳ_>*3g7>U!2Z>eX8<3&e58ZsA<3^aFoH&]s# J1QTMG#U+v}g=+|_̚ dhZ&jVO'b0VZzNl_R7@0c`#gk~sWs Չ򐖺hũ`Ac^.Rɩ\R<Eċ+OmWo03\93yFwR02@wXݙT.eLQϳH? (~ 3O fj`=RK-PU&}Yبo. :NR;iLFoX6Xj}8Ƒika6a. "XqQ[{n(e Nbaj%3 2aB-̮lܽZ^FK. ZM!ME+p9Բx(& f~{1 Emr=Mq\vy^ed@b_UZ2mb􇫋B-r>%ْ&t!ngp - @YP{I BC]cI0y 򘺨GO*1|Hgw*{*¾,QKM>o1_SZl"G ى$-W)v;;TiTOGU#V6j_  3Tu!+)Sszq?iQE!`{IQ*RG_%9UX)6?Qg0c~a#*Aɐ+f:ݍ-؆^˝?m4uf)>C<JZG|` j`k_6aOjzNwO})=&C7:Mh`_ۮG%yT HNzlwHݷ5˥j 6KsK1$#.YFu_>M't%S} }BQ*QSݘԹsv4%9]DeC pWiZZ>b65!f5M"bz0z&no>CQ{8ydUE]Clr8J Ոr!Ws!y R^GGZyvYUWҩ# K6}ԟ(!G_#Bq^|"*Gl{yYϢnH՚5JгרX^glj(y)w׼)x;Q(wl^ }TǐE Cαb*ؓn.[!zz^9ሣ]},[}aĔ^/HCO.uRXBRPgem]BC 'yEYBY}~:N:Gr65"RscmU`=g>&őD ? N_Gryi} 5 VBJU0_iz 3O !DFg]/;a{ / Yp`uF)bA,:JKΓup{UzwF o&~[>RIW 6 ~d#(HwztḈ >-1mV+C`RC, #hՌ5 z4W8 OS&l@nf)\{r1+JR[ӯ#H +/](WXlZt=%(ۆ[s_fĪ\bL<wuzM hS=zcewl|v&}Xߟm8zhEZ<&Inf4 *[[AdOQ|[Y uYWX͑'q=TfaGzƑTJ'Bu ?3H{m=8r<&AS:Az9^; 31`tsZk} 7pە&aaԙ/%3q /e[mo@t! >0Nn2ߜ&(wQǫ'x7 2^d&p/ޡKPݬlCDuo/Lj>8Yy򾎄@V|n HN$yEEU,q]xJl~A6T~MuP4ϧţ\g.3bGms[z{ydy5Hʡy1'/T̝fu99p؊Y!Pn&R+'B-32j<!!Mxt(lgVmh8ޖ'cH X.߯ͿuP?([Ly "d:B򀥤fnȚ2{JHA-*tb qԹ&]vI)n^OMM@/l30>k U5]deq:b{-`bh&fBeeɷR }^E¾CB3܀|ZHG3E㮏b uB%d$݉Cj.*]9\͸Duikn½h548#oo ?IC㤡p'x)8=^$ьU6~=m':A` u5lBYQ^9dͼ*8Oש3ciH+ZyU A(Wc*456` `SXN6 2rTV)f؇aZWe\g;rGɻMDE!xA {^7t& /y 4jMSk]q}H0U 1=̾'Eiz#D &6^I_5y3AtZtVM?Y+z=V_b{a a @ lG)p2rƎsҎe3Ѷ+9UE i^c_B^˄71%sԘ "3:Z˂$ИZhBPLgas )<y40?U<phS![QP2N"G90TXɕ»/.r0RQrf8;W۟NMw\}m9{ J\l`d ҝfoSy!$!ߵ'}!p r&PhS63r81l94 7pw\ :M$n~ZyӜXg's̕ ")!+5f[87Mx< 㑶 Lʯq\`$lYhɍt2 u[M3!8m~ -xP9Wx X5i թ%{09c 1K˟/cxo9 k9uAJ@i8 XLNˍH:X 4%;mg [ ,S!Zjd]LP19'jV5@΋$GkoxQfЫf3^vsq{8Eg|X6(Gc.<4NEI6ݒ{1i"oĐPY+D\tpb"eoGGQXZ3 X*kqtamڡX*QM9;H:~dfPymGYܗFYlCbSƤOY?{f-h:?ZR*uaϔxdc 39о=`X٤$U eMam=IxO35.>@}&? TY`s+dT-(xA]\i.͎S+@c1`|Xͭ00[.\G@6TUcr{-V|WĒ>ydj*^gda0**/^]QDBV+@K)G.YOF5+}  ʚ_1cpb"Ӗ6K 763#XfPa7b,lO]o'S͚ZQQWY ;'J% 3iI@հ3;JkJi*4hz WD n9Q)۫ jNגdô/zG,SCP· MR:e os r`z4r9ԕ^{=)/8,+xcŌE#ɓdGZfX)sXVS q}rBKx,pb[74vxh4E\tFzW}Wy92rCG⡞f௷R KfpհiЋpܹӣɜ5~mXiQ";ˀetᣈC}VY_yG`qt[%NEǐP݃x*'$db&-ʳ?ãDQ.xY6oq4p;/'6:⿦QM09IA :GVGjd׭=ӝ+9(S7I\_c$RxTDf {r6S r\p8GW]lM@Iy9>nO]2T|s=ے7@kxsk(_?{fKn| vOдab6r!K8_1YpU3NP9meQű1SuNH8]u3fg,Ʃ,0E4T@~ЪOG%J+&`v5YZvrOaW͸#Zyө,\ː >ypٜpλq ~<dM*x o8L6T>*=(Abl2vת<:v\tr 520;1m}-m$׃  l*"KJIH_]iC9Q%::nF/'W<趱ֺtȡSI !X}VӏбQLF9T e /IR+92,侁:Krrf/vHYF6xڕ Sω@r܎O~|$!aDb؉ρ8N`k,=]/O!Cjs-"IoІ?yx 28!V?%%EEOR8F$LۃCY<'3# 0K{/*cRȰN[.c,]B eCY@ҥ $L3N -U`&6}stoJcS+8XWH-;lLrBŲG(553k`žVÎ'}v>O8]4hdimrVsz" Sl?2!r_-&L#'c0yy:p]N8-g3Hp=%< 4$ۜEhgK0ּċ_|{XȆ3̻sYLX+ cnn2ܕF\ mev,`h@蒚nHHIJ}IˉT=%ǔTyrKbq7d?AAx<_Üټ Y *K FRd/Jj8_^Bz b#5PJT{i 2QR9uiTڋv].믋FM Šilr\:Ƒ$(~Q`}Y-vW(ں@q=ݗ%y}t~Gs/ +fUD }u:8 V`9t}rvYu!ޫVƾc!RZP69H +g7ٮۻ{t6^oE`7q=՞+Ky.k較BH~n=|?(KMY!Z{gB8rceƼ':\bFjf/A>O8ׇq+.%){N{b'c:C!;]i=~˘p_ġ9T*w Xl'a{!K͖+m~&[H蒑#N@SUuЛ_`7vJ޲@ Kd 52, oµ_Q jś~RbIS-x uJs{ T^hKwy[Љ T ܗ7T1_[3T|;l٧@Pp I~wiy[bE!2<0~q;:a;U's&GCu(![ 2>4UE3rK(aݣQaa\GybpŦV#vE;WJ!aU2\欬OWj{!*P"^pr'T^)q~qk̕ȟI"vr̞ pL7]ﷂ^vduZL}-QbSIJ"O}"c1o^A1.:j&(V$w#!^٪4(Q|LY1錏-> M~@^gn2ɒ6\y*`Toic! Am].X prѱS) bS&ej3ʦt~=JO~H֜]+yumOQwӓLVzqZuVhr],qn!VԵNZƒjA%88wf^ \`pxA}#B 'HC(7ւ<_7oEtmGHPv#IbhFxZڰ%P\?*;Rte{ec~a:4܇EݻFϖ k_;RAK,6h`u29:K#U H3h5ҁLfp+{iz9svᕢ&<qfz;˥ߝ4wyߎKgO[Mډ-r9}Oףle -1R"~C&p q.Ew X}8& j hƒ#"5:Ό-*zb7;TC8ϽyTq0]qD2^Nª(yϵO j:f߄.36ϿdwevBsUqږ9S M`HoO5#PQ; Ś iP~%c˜+_qhGtQt~'c$1mkeŚ%Q諙u,n|?St(TO7~n733ï_-V'MЗZɹ ?7 7oȒP@V[&i&otfz6s#ЬP,B<'çAcG <Ȟn`sKl'<˄ j,ڠU@i 4*W/瑨Ơ_ߵqX!!%L(^b%7< OJ'ݭQJT9)~ a~[ ϖӎTUfs&(MD`Rf]0;XR "K▶#K,l+S̭PxBG{0E8ӂ&Jﮠˇܶݖ wqRoЦW13$aJ @O3eԙfF6ɨ~)V=\3ZPcEg8$ΠL"WC NUPόF]{m,7Mk`sM2ۢ;.y^?wV1d`2=A3q*;tqn)Z~cZF8=iꟿc7LLZW bJبJFg q NwYh G/+AniWe }!HY!ߑ6tG큅+!ĭԕ J uY}a׶7m~/XFijgvcXaԣ G}R p SwY(ᐥwJzXx41jR*P']o#86y`OZ=밦d,oT+g׾>n]*?Ssrt 9O]ՎQNZ-E?H\sg)b'9i'ׇm-$۵̂٨sū]x [2ݏ=.*, tZIH?T u&S༌C+Q Ht-* *U}} #ɧ|^Q.oSDZ 8gK9!‘ O-Yɰ2&~~KaI\ t8zՊCQc-U4mP?Sߤ4Hy$(>POpͯogZigr/H] kfßK(P1xT=N"@j|Ny>Do\NDJd)ywܡ#6o~'pN!V3*E2#0VɁHihuF-@ZBYLgI?a9km)瑄dˍ'6NS B s0Fҩ 4bh|u:qGQSyFg,I`"Y22r[.~畒/l>IR.RB.Qvnk܇,R/&W{G\A5CVn_}k!i9WeBx/Y} Kl0Wy>(md4 T&>Tv`Ã*g2[Ԕ8f: ,a0Ga52Z?Cg(+g# ު|O, bJuS! XeuӾ 9gC L -yόF(('g-HsO+OPa-ʫﺾ:mR܏$9 1̣`jbfApĩvvR:?ܲ+lvaXِۂv%\GWaUV| 9tT-g̶T 7i>#V-[~.Z~w*&QASy 9Su`iiUAYB_QIѼ\=wk6j&aOLBkkHtM"'Iy &jqnm!L!@/rUԍo$uP~RZԾԉ!#^Px[;#| 5W,Ntxfd{'宽f|VP. Y0I^p}>~D=To)5 %MVZ$@In˔Bڅ D3;1?ONC^xu V Xa]R@EfETڇٕmbN_Ĩ;|Ŧu#+@p"A?xj3Iu4:r~i~̝M^kee> @3Nƪ8̼@"M5[!Yj'%1w\ɩ4FUk}!!?F <_}d1PИ8YM̦;% 3!Ŏ/2pQz B|߳rqvxʎGgzADZ=!*3 }>_0a 18e7^ +6]lWynɕ6E=/'-Soe8JG~޾C0wѹp#;ɼ3I.LMIspDyUd( b4E!-oi IgCxgn+CVnE$:~L[)'^w-$ϵ6O"lF/?P nU]t`T.IhV2"$xBv\*f(:?LP R6V[i)Jϻqn_9@QnD+1S:¢-7 4-N.hJy#%Uk+Yf q(pt=ݘn3+F/' AyxruFGF(FGr֎‚HMQYI)Ey!;sWpizIy-;O:We[ȼ%s~oNkA4 794 ~ h:mRF'I cWd/Q)&xA9鿥 Fps}t5"fa͏)l;?ȸqC܃M:@o^n}CRmM:YG *6# _L\>x {iSNi2p\W5W6=&Wy{f;LM({2ڼuY:L4&SE*k<0sL' (=᠒CɸjO~$:wN^yqZ`{mM` V9]aӔ3gu^| ;Dz;[Npp5~‹΅c MsݬcA3^XE(rSDoUJ{5kŀaCR(pTI"v_khUG4ƗOM E_P!yURŒ^B(# $%гLB[V&Ktt䤔EZчh XxWs~'}ةYd:sq_F-uMUuQ&GhlgtDŽ͆9tP%/P/:8uͥ!{ݲn~s5*U%fI f"tYG.E{j2+ !F,猺Eׁ.2R*:ux{3獕=mq54!(s".>Y2C!b PxQcn^/i$Nuj2ҫ{ ӅLo!؟]ϻ_b n;zhMti:'R3&ie\L~=|o2%FÆyVS?LGLOB츈,!T7-];;ڱf30D+!L:*dp[Qo>=Ost(n4{fwH';ۂ#Ӕ݋Jn.)4ہNQz=(H C.Np+;)ѥZa%c@jj16Z58?вN~N@1]|1z lɗht+H2~GéwRЎ`f:LN5C8J-7u?CXvRES W[c^6UG741f\C+v&keZ H73ePB,鵀 HWI$9>= nBqO]4V7 .G T0C={`:tF*~,:viR.aK۽I9 e16U.}Q}c/|Z& l]ٺ05ӎpVL&~ײ{Jnj&) W:ݴa$r V(iZmneҫ69k ;pi΢u- ?/x E to)\Hc" _GgڒF4"k/F9Pժ_X.9Q9`QGZ{%bٿ}2f'n<\{md%hLsw}vq:KWc]Vx1/:+2]7o,:T4F9-& +&Q9+ 7O mdΈutTiߒ2n' 1,:R WTQGeݵb< W-tUj[~8cL@B{J<'Jw! evYR#k =4['W:%xjgb5{֞I|kJk,Pu1Q| G\6g$ָ;J186Lu\H V׷ +*?՚;{P{RG}$-i!U[-y^Vy9cqbCWHgAbz" : e ˛ˆl>0N?-5 Oez:6κۙ9^l`-p_R1٪%;&=tic%?t2eX6Ԉ9wP{iH8b'QLw\ѿLdUK>\T|l3L$ij&b4!AHl(OW;]/2V /R9ʾS `ޗ(4 ^.`czOZnsEەa-@t:',qryjsD¾+Ǭ.IȆPT1=mh|"L>OrކD lr_UM?b }jl?-&5IZ ՔSIl(훭I3tSԜ}Rt L#/h%81{<t_M^ Ɉ=\RB]B0=\=G%y|d *kƐDմh!fIjWzfQ?oQm0Bϡ8] g3 H\w8>S?g'S780@ybwx ERC1{Y\Km( l@Xx( v+CkAlq:jRCOR㨝 cc~f!jycDf#K " ?&ħ"Ki}HF@n.KC|N" ƨ'H9MDv+QFTK8#N51<1y7/)W*̶Zz5P5RCnܯas9[Z( x'2Ƕ9S{̞y-w'0@j;y}t]/Q-:uYQ+)<[Ia<; ӄ1xI^|>@C3<-A9n5m>gR٫#:,w/W}#T  bJg)fu-8tbwP3f>Cl$"k2ЍVs :Foc:즰=W *}7xhJ%fmp+@=-DI3rm%݋IØ}<:̫f_ Zu{;8+Qr }@RPnNPcB |jv\眽 ɿ2d>ώp{ LpqP\m2'qSg/+ F5LČU~{dz[:02VGц:@ÈQKk': wsl@3d}?|ƫw+[$ '(qM#A-/Jbm61~x|NL:taAzLW,/xt{;ach`W4^tK:!#G&bY W(,{'`D%Jb|8S~ Q4(wS̚QM5Og*2*ĖH$Q=H @Oy3!HnB]iR8j2&&L8s?~7)1I(+$F"Rn RASKre'7y^Z&%)RE=48KEYQxt>" 7xϜ  辷;u{ Pq2QQ솼,:cp9`.(^"G?MT?շr+K{"z-ΰ 6}*%os;4 Np_Wχ"7< [7YT*ɟ7eHsrOs +eڹI? a_0&f*+s=>aV; `>\4բ;+9&KbWF4(XG uo|mЮ 쵸d KRf;){t(hCʿy2Je0B;; >7э^&! k4afurnGNAUdOI=!/mfdȢD1ps{{ybxz 5}#CXPۘNIU zydI@\ȇa5ݧ}ۧ専IgOakPk#aSӋYFKlƊW1~b=793b=8O Ú Q3QEWSv|EqqJK=9g MC7mj s=T*Ez+fW$*cO$>4 &H]e=MN(Aҩt6󌗡)N;2zve_p>\ThU K yR--Wn'9DxCpKhϺkG%JmńaHCYfaq _B jYX}5>-fٞtM ʁ]ZynN;jDSQڻNXqq</|(tT+ IM&C5=Gaw JE,x7Z> fS&C !{zHE*qK3ϖ -tgdXRxLD)@ iz /6oyE]=6}D͌x@0Ld7 gM.QXlf(ﰄdy,֍$]N͸JP)9-- uLb?|Zy˧s՞i+Bgg-vb4~|Re#r9yғqTԶW5? Yp. QFPto i0H=oA1AAZ?@dc$(_+ Z}^/UP0i9ef7ݠ8!z]xwZ1/{eok 0 asPR{>4Bk[I۲R~Fөd4ogA›U*|-rޫvߡ"cBq zmlm^ )&Og0u-2R R'Y* F;OW]͘`BӋ5~2֞^(N+0qTׅ"ϝvuH\t3*jzWׂUJ8J. ,wMyB;Id4E-l u^]Eɣ:yEiMt`!"3T\Y00rW,RRikymiuWH`da,ovg.} .eH@ҝ\}~ 77C,#Ŕz\ SP|M.D6 $萬9Fs(PDBa<,2zl?g0X=qm-4=ݸDNr~/36mIp}>f ; &ߐ{q{nn??H? `2~z5i _v3Sy&>? qčO2T5r+Ĩ'ro;yK p{5°iz$:A.9-ќT'S!K94DMB Ls H%+|L&Q7zk8@%JDžO|v@QQIV{ȷi;Ӡ1K Nz EB$ ^I HҷdߡgP3J%0;zEn82/ܥ@WE),@UR>:} /| I*v%ujY;AV+ӋB,s!yr11:Mؑ9N=^ydY['1\͹&ћЫ[B;HKDMSkN_dr٬KfPM , WUlGDӦEF@neVGFph奵Q0?HwSw" 1Lux~F}tb+q4l4ѹ??Y{VT9=4ug* n*L'UNbR_sb(;|¦Dk|52tl)c^ڹ:aN.ِ:Z SkTI&osi!>mR} n ZQ!x_k8l<Ib<ԄG X1)X=xBź1|Ӱ/5GvmΛHA%o$D-i0[mh{+4Y߭pm{eb&pkEy\K2PQuP!ZǯjBdPQ @{KJ2=g΍5<0֚%#П< GzAڐdrك3.1Wbd rCOG0ƾw'nyZЃUA~~cob7 gY o,~jΏiji4cGAPFnZ(mڞk[wy߯7H݉w; Ǘ}fj x(xPdq- @t`2uY+>r`Q#T|: Z*"PN@ 9A R5 rxT{eaq3g&4za !yK=TPk i7T4E(e(e56*/ՙJj'f_ $?n<g\|>!uvRy8UNG5V( 4OsӇqx*LUI :J=HyeoEC4,\Q]v)zPr`8)b\sC)-_R5Wr c2zȟ-OϋTФc)|_ 2)?6ruI_oU4FTh4 Rm2|,i f x|H& +^"Jsjz9vHa+\\#pEz\MzeK6_tbGVf|; 507h&,hji'o'N&++0B5mVN/vdq.cY&"sO,},ΔXvb鲂Ljx!`gsF`KJ%uƵ.ֳaw5xfht5NR9}\^; QT`yo}v1|m-XDThPH3N5bx9ex}ݣ#g!2β'Evקz%Ab3p-̃rLP7 xӀgD1%^eb϶2|=6= lЎ'\LNbsrxxxU^c-)QZ禔cDO1 ;1 eF +qo5nH@r]t 6`w0zަU b|^>̕.wwծ>~|JJC%yAԥ2Պa}6E7v4&'/[6q[y v^,#vU &qo'  P!D8Z) ?t$26QaDR'rohxZ6 Ɓ?Tc'2TG]786g; N4JQ"wʺɝ3Zs39Ic7ќX <&V - ӣƻLҕ63ŵ>IfلMZ9[fkik4sk^DԎ$JaBڏjc S%13|kq%xSHq ZSֲlАQ.ދ$- M`32Dͅ%P%~8/^¤@a[=zPz W, ToZ+i}KXDòϊ%eZ;gb"Br x"|aJ "u;ҵ&=m[y%)lx7+Z$ck?N;ѯ۩۵XH%6i|DB*`!p:JCy]:O8RfHч4XS9,٦M>~ez;EI=#_K`=Uex~Ձn/ɤBW.;IIhD`/`Й5:eGw)=dzQ׈N/Ut4`& ?˵jx^vEbVŰ?pTNs J86hBpOOZڈ T@3"g*7 ۋF3 o/eY $U(q 'aus-LA|[pm,6>]ۖ΍NS8\i. \>_R6q덱n=nQ56rt&+[Rk֪sgEؒ0AToGBPQ $iES?Bc{茁;j4y*L50ջS6glY蜴m˖#S/f,ov@Dg3_PL^K{AxVxRh>[nfJ=?-5]MfP(XNٽk9>wgJ0 OXcَ~=+sXV!OE\72wfjiW*[(H29qvAK,q {Nmt&ԁۜeBB «@W3!CA4ގHFiFU1Kxtcs#Rr|z;Lf|PY^}z L}K*:7R  jUr&  T+?=7nhdr21ߠ,hgA j} %!k[{U 5]xGF`3K?#\娉oW fw*f6Bv9!}:3lonȼ$iw-陥LO3+<:)k9YV?F$dSF4߬ZӅ+ѐ^K%Y?!@Dm3}5AK)gwB$vF6!cQ$tڽowӴ$TまXH&Ahw9zP|(^uJT>Zd$WwyA:v P Dz(m`~㚂gh?:31<4aCKx/gTFr6IF/-#\%>2{M~E-J,=S>z~%Zx+$goC^~UԓA^Lh'<؂ܨƞ,^jH)1zP!댈<߳ȇgNB =?,U Xw݆pBGuN%e'>.R-)+Ŝ .]XJ:gې1vir j )+2"MytoX'(I@tD)Xv9-O^$Қª IzЕ6wQ *IHZg8녙¼dc/šsYIS;qTZhFElT)L hO.Y'0a#y5kj9ǯ7f7䲃̣|RLɦH=<.[Ksz| Th.ywc*KcEK= jUWwFHLwVvt猷+B '#U %EFoe^Qdļ^5R`2W[X`Le B{<Y"J?颻>L, 1Lp*l%;k)/ħzs0Y>U؈)}RegP١!YjJQs EnN׿\;ናC9~.Q r!y^e0;àyQn'>l \56д-v$y;FnLL! MBzvҴ{DD?-MQ 랻ֿ>iE]s3<fLb%ƹj-U0R)5ID$murLX'"~;Y sB3QR NiRl *y6VvH]si_D>d,F{04X@ٗ5է"a"7,-bIT2jL'C :iRnwLu1Jf3lWI#Z;DSb}vF!-fn+DŽ^2K!;Uk;zpğy$Se:'W6!o9sxoe>t>0_1̘ݨ~ɎVȞXJlhm}7KHxb2-%Zp*jnoX鯋CA+B s?.p2Fx+k7R~+WVQQB>\7ksh 'hU<πLa,]}.*_@nyEm)~"K5_b꿸jaZɩUyYGp`,諝4'$v5Z0 lXiyB[0F=ٚޱf[2PaOR  VLeߝ49]xPbW☪ H9w,Dʱ'FV[F=g>"@@@R:e9ك߮TD~KP83 nclu2j*n/*PxWX4gӔ39 @9Vlot4?GGeTw$) 2xcg128B]O"5U ڭ)FO5YD =$quwhS>/)I?qqo xch@` Jӝ_:G)'ez_=8nXt`'KQW՜3ГMe28|b7?<(Bʰʅ2sҐ`fMD$|\:U-cN:YٓHe3'' #iK}V7d48F R ۱Vz/狛qXSo1DQZ@Li{r-7߮tZ8jwB3y`Xݤ]].Xp|ߒu}04Qع49G-raإ}ޡw *pv2Cn-MGΫr?Uz\وIFx/p;CY%}T(Fb{'xY`a*ڦv?Ӫ@NpB"0)'j uo][A7k=XX'5e(]R4"p膠 hme{]9D ޝ .r>IDu w[H"p?62)/l(qZ>\nc!>pH)rp(jcp +^\:i)Aa`m:#lTaVH/E1\?Ӛd]:eȣX5~d-8K:Τ-l׹Zcl صhw{<ɷ3.45G#!ah&Ia&vV=E/ñ(˸Naou[\x4${0@ (?o>̟p"+xt.M@--t74ZEʒ1KN?*%$+rl54p?vCa8v'pbq!k@#-hCrvIRZRWݣj r,/I"(caf+n]O/^ˆc@yxAed!=>ztU٢!UCgAՇ>gl(3@\O;|-ϑ ffUIbD=g6VkD8:( V pT \B`I^ǵ WIrw Rܫ@?PҒ7]&G: ~qh˪AItDfǛ3y8f#?=NUG޳xW檆c\qleop˜~YM:_z7ޟ^E49B.@H.鍉vBғw$oGˏ2v枍PA=1~*=Gr{1"2J MF*[!!+v`V/? QI,epY"f.6B YӺICXXaD4iDDDkITE[F[}hV+P}uO,ob +Q.3cpoweLHe 0vWSJ3ô^/[~AI]7<_fsZILP#\|}3&plY[]w6ofh1_ MEl`'~T ZN 2O'1T^Ґj+bX5n sL%_9Cy)@:2ׂVg!Y&}z]?p0Y2A8Ot5)Z҉΃L_6voΫ?h{W3 6[\ 2K0$fYgvU2G\ln+5":KPXrF*1 ,Ͽ++l+ʷMgzC(R j(}BB.[٨# W4Q|@ :4A %xeq.8Lʩ Ľ<, '8oe&A:`tqj@cL{_Kpiyi 6 t}@#-ԭlB!{Hd]/{8l /VRMn6יvh]`B5 9@wjWЏr08CQ%'|?|"4#a>" &ɒ+ZCl+f_' mrfb5]lUͱ3}럼U5^\>[SbQh D)BLW('ʕ)8hX~KǪ=: >;i,f+{bڎ`qɦA6Թw^sbo${qw|'/df7bI+ w7Zh dW]A4C:xz}r9kDk1(1U/AB%4wðg{hM-)2&[o=#_!*> EU q@{n©?lƚ;4)͘vN`̚ 7#pxp03!o1 N{jOWi>4bf0W\Y!ޏ?TS𹏉Y@ݵo {5c$JrPɺRo iXz╋ Hxg4`lH7Zа-׊.5f0d~f\ynہtɁ{{)F=A)N1K<90&vhv:* 궉}( ~*6zݥ@xUSL!<;f)&^F(Znڛ2s~I杰 L? :JNmUW*@N«EJqsNghV8 xHF/,&B)`^[^"?xp'g0qxvd.Ua Ooxއ;)ZXO۾,J.t%nI-9k=;@-pVm502ji(q94> KQ/bRmdQŶoe/ |v#_R *iN.-&Ǩf3R:T>wCz X?6:Dj>xR;ҹ'L:lyxOYji7bANz N7vĵD/RJ}IzSL%P6hh)m}@pG@%"?M˼|(ԕ%x7 rtnE-|]ok*rxnһQ;uU_" 7mh :>!XLA8U!X0?!Rg)~0m1;:yCʹ XiFɊe+`X8x$~;%QU'-6 j^^YhGHyp*,FgtQ%|K#LjXkF&o3 l/Nk ]RmDPzF|)*qg>v9(@Np:~~f/"K:_/ !plg.qGur-@o/-{xF<Xs/з|uwvkNv֗%~MBad$KihB nXr`viSGhA$bwOIy+WwtXڃ7:Ҥ67KBj3OxqʖKT@ؾ,) #=> fQ`Ҕ{feiSR{/cr8$eA. rOMg(ŝz$ :4>jak2>;!6 Ʋp$;e 9\GwX/fqn G^PB~<"`&A,Ư8`O/v}4w7YɃ%K.P83,Pȶ+cVTe1YmR"%NdS$ڧ"(% Q=a#iuh:A`{Qi& K~0Wm5oBcܩ=&WqCVt a^>pv <,g^|^O&3{jPh zwcuD?}Yxv+{ъL1Ng`Y'r&ӔXHԤNxjqtK1TIw$MDeMYE<خDrF0?e{)/`-dR/ dYc?#Qr|Zf{d)0SgO#L1ljͷã'nO?RHʧW{(38rCT 43v {b)( ~n[H:eti!q|LV!վ˄>)zm̋h@79y m#0H|8Kv)zMs¨v F&C#\KŽ|*Oxnk^֘6ս{g;<9VF&+g'ƨ윯;>.$쟍nXۢq Kh="Vїf!S :f auiN[DLDx^W”J!'7t32#Z<,uVr7' ێkW\Vי'_.%e0uԻtxmbe1UO$uvt/ٝ0ئzdb;UɩA WYلuok$pK`R\m6k fԌ$q^I&^kD[{:F&#NO ]fw9(;SCj(9@!kxeS&d_M?L`=aᱡɆ9XdMOMQԫ &밍*.OMG`^7u.PpxNr[]dV7SFkew;w\OI(n;˖+E]ЅqF -Lv?V3419HプfW Cl` JSGیpPybP$#tUxZ2;9XlnNV#˜N7IxS+r( PrKeR tr"a_b:{ގg64͏Jc㖰7'#:3kཬr=PSOG@6#} lVl!vb [GQj/ *cUh%hZýQ9hC~[?n`vLjT.h4dk j ;S 1_}M`ArƜ}'`K>$\)B䟀ōu 9GWL&xvsDљh?%3xČߜ}jdCS\3/K(R~R1Tr߉/o(ޡI_l*_Lyw`T-D ǁqA&z0S'%j'z]8jQѭ\V.z= 'ʁ'Y2t8>S"$G\x0+#PCEwhG ]u.5yZQn7ꛌ9ylyHVk{qOZbpQO%dDM9eFT/y4q$T"~a6²uKa ˺O'HB0!8k2I~ܻ m+s] <0=Vn/BaΔ mp`z=g6O鍩4\/穡1qV0<8 v&i^P:mD`yXܕڦf%KӿYۋ:ExxD&' ~dKQCťHOE4d >2.TOe<β+?ֆC3@ɋ!`q` )/cHTd_]tp\}\aǞ`N$ZnsFdw](ayBo $k g쪮=/ %5++g@`N>"1&uW Q!$py{F3;8b5SOmhwaБ3tUÉ=:Wf #B~ˆZef/auT`skv+F?ACt1sv8 HeE|niRtE>,s,.=U)GYa0K@zBDU/M%pfm5Jg_o®'oz+9vkE$܆WDA=:+;q1Qu#>Bw wu4>OR4CK^!N31sg!^抺UD^tn8)Fe;)+8VA5:D\V!ؽ>%Z%}l؎wKV*'!^`Rxaq 7ݤkO"8!}>Fd~bay ~3>4ogL1!b8ىRC6Qk\kiDIme"~ l_uQ.Xaap4?JRP7ihbGvQ/ʴ(ʒHt;^RĨʁQr3h-jޒv 1+֎Pf  W"M@"љͤH< )HRnM8͙˱f}!^nFSr6RĽQ/} :x57,sWtx߽MY46ߠUXěԢkja,ey;ct΂ uNdCż'(K+A\&N' *K-م =B>lkf x Kro+m\W]FeNſ >ifhlgzICb,mիO+ +PF"Y:=5{x|eep Aͳj%~!ĆfԈٖJsYEXW9HC{j| ݎ`V{U r&ghwYg8ELϢ>l/7O0NBM%-k1*ؘ\N ףE CM8mh?v,Qvqh{ll?U.6(19a^[!_GY*AZ#9Wۖv (ҁ̧!\෎^~zjEFz>L-D)G mp[,5MU{s5-nPr i-Sil\PS\,x \16ֱ`$3rz,Al`hEc(:bzK8% x A`ֺ$½n s+r`CAzp&0,bQk KY(Iûzqg ~Wis.PUd0Onי%D)|D~a&g)SG,s!lc)Pxj..vf2Wwe]Ѱ?a܌6Okg,7oz~CXAv%ev=f!$#6u ,T ֙,Vm\ '*Igh4R5< e? fnn, ~FKF-y>"mGjDp*w!X>g2fHzNnFd-[|A9R*Z-DPP;_,Yאjm'oUB n[ΉcaW;YDpu H5_Mی;A6y~}҉H0bm3l*7q9r4r[Ml &_ hlrŻ5k “#JJPl٪mך0_.#BW%~`gxv8KK~r]B+a[J׉K g Dǚ@ i4'k^:@:l)<\UQ Z?d} _[P5p?ݳG?7yQ(W_~p:FvmV mLA"?'r4_FY_+{D&b 2^=FM @"qLfci w4RZ%AUy7 R0/ۭ纰rց.[~>myңY  vV]R ŗ(x#_ b=qA-a K"qgGKm#9І{OE'K'44V6`՟Z4]KtT7:h8ŏ&xi^Аvvi-ID_`sFKI e uQ`DeVrB)%ć-,/4Iaf;t bU<J\3IR?deofy&T\x ݚ%HN A N!H#ԚBP{OO-m$#J[И9hAҀeg@Pq)b\[FkȦ4nwN5V(.ݩHddr`lEE)͌JJQ)j4UFuPi4a: D`}ΝӚ]1](}:;Y`ձ C//A܆]$9Qy V_sG/I@gԞ:O>EW:%ƜDzPʪEC|8ՊA1+| ]A\aH3G`% ɏVb7}Tz}wͪ+fh 1.m/{ 0L 㶺!&E7|XVe]aj|Le %#XMZG2~Ɖ"qFm(>a8]381Džǻ7[( 1>nM3Ll)D5Pz,Ϯ!\?\:d͑U{T+j$ҟQ vA)sVh4HDv1Iw|b"=?0QبnRyGD6sJMsjuWy0תڗ^f4c YC!J4&BQK5JsH_x?l9IT˄j5\Q')h#s~cU~dߡLQǏkA>w(`Cҿy,wnH@ eJ TES<@QC/`|Z-qsFSiumVu{I15':3EOo!20(zT|HD[7}`:{7c7rpj9*Jwk?=b?VM(aJ d kcJ0rɔblx{X=,g yP87|zt͢]Cx\_29cNbdXQ@g|.TjR'TR2)G9hͣEC)1R4zU iHO+ 9g'з ڮ 43ՁuLB޺#' @??]@ŷ ;7ϑ~pec_O$ X(+x(<Ύvad_ #,T+D+!qқ7x9W8tÏ.ΠEEO}IxsՅ.p_wj {8 J-v\FX 3LDS$pEȆYusE6W ǀ,_ /Ry?s.BYws͈X(PGr`WџCaƵsGxV9->-Fs89ub^f1A %V%h bJl R76-u֛ @i|׫tqWRqcWY~hq6CtFP" &&x͌ xt, 5[f6s۽V,UJ0N܅$rW,lH&d{21d͎PI݂Ǫ.vz KhLV(V\>b(uN4̽!Xsh+!f,JypXA]-h+D+M!☝ߔ ?q|.NhS>Ix$rg ʚdW"%/Mρ%(24 6ޑONё# +0{xxo}C LH>>|eNy0s̼ۭ U=*PV f#n&s@B'ph~TvKᓪ>l=Ex3u1߽;.*v9ZwӚ۶)a8Umcڞ sg0օJt,~bR-|fW|p n>jhgqRY9SS{کW-LL$N,IݕjD%㈴}"E!r~ӆhy&ra(+HʒZ!ߢC {(B]z8^r̘dȎANmb ^tFÅ#VO!Y,̾}z/ʣre_{rCxJ_AğS(vtڸY= Em[Y>WX ʝ}f^tÃY㭑;bMtZđŠYO!/fWW%Y =XVEH,QS#&q4!y K7+,#*-C"b=M1h ֳOCI%ԜB 8j"bh oX/xI S}ɕnTWc)4IƐԡقmwCh""Q]v>$;tSV֭}ZOTr}{9wLȼ1pDpUkGgne_Z`Y I5Ƞ ]&Ʒ 4Ϡwp*uj_evpi} `G)6-t@MZ J0,O?$D kria:{$_AZd_*ǩڃJĥF񵟸=^4їDݍ[U@(׮`1P2_fSeO#!lnkA*y=PpǾ_ϔN&?̿tBHߠT,iYb&CLGZ̡D77qjL0+,l ")&e?)#dPOb/D8Tキ% l`* )I,SW`}Ňb- ,>xu!* "=L^ڬ316Hԟb獥E@tfTxQRuEʷd'bwsOpsԯi? ioDe4f͆AWwV |xьF{y10|f;Bli|&[<}54(s,[tz,dS yXjR˦F;N;r4ե܁VX&bi1}m< }]"xF]ɨ \6.o=܆ ب0ҎZ콦@:D:>"Y[sbxK@0q anVFR1iAO*1ii(Eq#L_Tڃog_s̈a tA]uT8+CʶA/Si5QǬ h̯9hJ/]%zOuaU5Pbé[(nƸZ ν3iNig a笒(Zi;%iJl6uJosȔ\ϣY:éc7,G+R$D6؏gߠnV Ug*f`[Tm@$m* e6yP+Eh3!@E(J/MLW3o\W['w/jNs ٤5v=A ^o"O!`@k2:Z|}JK KO 5ƈ} t7dȱs s|b7Nzs+z  [K~I"b_i8(DQ -sZ║%@O{A ) O?x Je\r^q 3q*wo?0:|S[hR%Ji\e뤝 >" n`51bA/X$Z̢3fd s<6A[Q)gۯ`ul-?=߈zU's@-hBe1n:,v.k<@{+`zwyR7A#7 ެ6pFT\b-ùf.d$y~5ܙ8Q:f>j2wIDUDM4unY0/D!/r "e,Ж*t"S5;>dJτKQ 3rO)/n7 9p!7%~n:\XGUyAi}wjmkas1[ldZ{D;WuAl~+h?|uWw3q=fݹmi9t4#Kd# 6L#}7< kI2CޓGAɟsbK|8۝[\4}s/ӦuCOjgCa*hvNrԯ}$gaO[-@<̲IIQ9QI[- Բ ?G=7G't L5OvecX"D=1(FC@;)  _yI򥗇cфFa|d0| !J"gw.pq~ o;1`*,$|?> hnCFaܞǞ+:( O@:\aIA,@AC?(ۗ&aۼ ne>zAO0ݨϓ)(fDhrF _Mچ|)ϱ^\2ߢuwÄ҅nA\'jDž]QU TEHdu7|U}L:`6&\y"c&kw1yۖn-VHuh*_C,g{%zv_.,a89bf#% SpUIh(0< gEA۸<ȝ5LĹ2ςWWxp xM4S

    LgsJdD%_9 LuewF8q=ޘAhBwlʏHM9|3cDyU:^j`VlH՚NVL*AJ_x:@uT]Xu&HCf4b5L84$?Q}|DFΠ"*]MƘ0_7ݩ< M ?JsˁulD$}p=aV2) DSfcҚUw-ȟ_l]Jl%0i#+џ&Q:o<xRpY7j2BΎ/isj9%qm,.KO:[jeF. kO-RZ6ȣ䙠̆*gsfZ?+)S=6j%=.7Pc|k1MŢKfxV)2tzY(|yW#)8xtg\FVghg#%mU*?+*62AbɈƷ߆69UMΘL >.sۿ]6W_.TlO-Hc~1AMu:*%'( <A]Á/PaZiRq]ڽ#e%r'xJlo!IRG|ʷ64e jddUcyJ( 5YZ0v?x޿A\QO^xbHCkƳMchaxS;kO&Qʒimxp A6/ky GI$#BxH">W~dKI3IcGN$Neòh8m3ߖ̢asWU:MH{D2+Ä!&$[,ybrLxB7V hWIiǿTk9K>ѽEW:(*+.xM /| d4$&*wY7C.&+:mK_XbJ⦔Q:%[Ւ.PyO 65%Ǖ1~ދiTF2A7!g/T'/zGN)8s}> oz{| ".'IJgNPOho̟`ytc" 0.4 *ݞfB ԵUqe ii s }ohWxg8Rj.%_9)?ɸ2 ^JȻ;a;C^ xB eU zmS$C<`c>Tɨ-$0[i@\bB.rY5Lĭ1(=yd" M'L$82H) l gr+X*Vh<Z#}wHd)~.u*I G#Mg답WO-Xju8߭M%9o:1=\3&2>S\I wW;"c12DlpSguz,oDVM:Z+wA- '!p,>j❩Tvs' D'2\(c<Θ1{ϧ#`eAym)&gVc WD)sW^maXc%ܞ`4ˠzG];BaIOqvxCpr)-C+9̮P+9bQ1N3l@a/ eҭbu~Q$B&9t6QJR&m]Ng!$džxŧyizDS[LlBOsJAn"`Ow.ӭ^C.1-rmc0Wȏ?Z-ޒF u}>gfN!51eҐaFow qmIs1:!ҎFW:0wƂA6D#m `=rSL5udLC^o:NK}Xc$:A#H($1z?y;aTkdJ"b"4ڄA2n$ 2'g 1d#q4U0=X/]3K'bt/` " ny42ήxe+wm@O|]uqK({t QMJ ;5X8h!Rg[۔KXѶ*ذU"W[*h ?|',RsInO0=?_&[Z%!o<"Ɔ31vxI]Jei4GZŲָsr}^ $&!+5 ~kUEg.fC,mA#̯_:}PfǗfxm ,p:DHp&VGbԨZMmpv*U=1a1],bf4EPԤ$,CoF@S-Qp)+~nDF\ ~ H74qiWB:wA1+ʭQ<.zՄ _ZV;{2d*ęU?ZɏɹAFQzw KC}@>] =i;>x8~nS<ʠdǧ]!I_Gw~E0"G׸c&{kΞPrnܛjQ&բUsw.b+x. C/lbIIװ*69ؖtޔiy0N+=3 |-}DNKMP@N Cv%w0ٓǩ\jB2t&:f"0Ƭq:&"=Qs[jqdV}JYiKV]Rf"ạ~wd.瓐;T+]Pk!ԭ [cO8?LWB zD_9$Uzj5hݯq$iLf[ꐊl%)Y<ĒZ3_7P{y?dG]q?U>J6l^uh2 ZnsxxҌq \eXeC}ӻZsy#[ztFb4g %Ko-:fϖSC%)T{W}UB qԪ7F~Lɸd/MD{џ Ո RvId2ɜ\e ɗuDeǎS<5-8j3K*[X?ѽy̾|J.^]*kf)w5֡&M+`P8|VxC-x$k q|Hϑ,{P$kPeKtB0=dO*!օ{.B[3< i_HP- /s.r:Ylv]<6ǫ6/9r_5XФ}lP.eH . L3~_ 4s'nn68?\t]U=Jm@,׼4I"*Qm63Q+{q'1 B*;v=CV!:t0F$EJA>cSORHxৠM0fU*+nAs~?($XaX1.ml;V=&xcdޢ|=$)<$ev76D~μ,gOP{\[deXif|1$dYv #Q<:;㟻gCUpNDԄ+;zz'9ñK~ n10Wg Fgy ^{H9o0UZL0+vQeyU.j{ZU&Yf/N=j9*='",G:񛓥K\SxF1|c2ˆ@/KxS@T/!` RDuz7 /nAP0Q担"B0ͺ@L:Q !i Ydv"1ӭkP~>CRM.(ī%=/(!WM '+xK۫n) ILE{*R匠w>I@~ vPkhrLIzkQdba0p>I]- +34/:=I* 4Tu n]^t020c;m= )t"c ef_J~\ KZE;*3Y,NaZªHK:~Pޏ,QCFa6=V;t*Z^6폸M,I?B0̶Rjw-abM(ڂ-XjlJ57hI8ZXIݎTN˽hV]ЊMZ7|O]X=eh#XReM(#\kjr($2\Hă"+sڜ"+3oϕ_cJ[ۏx>pNi@ОLXS Eػ0uD~I}3xi#zW.P(%r# Zӎ` f5iR *4grA eR?FM ICQ:VWR\#dz4u侎 a.nh=:ZHX~a;ѹg J}/16rյkbu@+;DeMIiX=&m:;ie[{̆< TY_ AJ 65N1`m1:pi߳ď9Ya ?۷aK!.uЏHt&$ S)wM27I+<0 lF=>5]e%. rf-?X48j,Wdw(mAs.] eF^ FgΞC$\, B@8voܩ)D8D{g(}+[:4C]7tCGZo3-Ws VvgȲ/{Q 'AKmzZYaP;juv_ +W_(n)Ne ԍֹ k88i 7`m QbMfž;F 0 78@,nap(ś^oa@r; x&w#-[xmHN2rrj!y=I:MccL4|\hNtU)@-wŞtH]aq~)mo^;{`n-t4W8^-=ʤ^ ,)Q5"?s flTr_'i6b%V'Ǘ]KZS9ԽD{.*ɪ bx*g''4ԯ6ŵ#~̉HعТӒ~5բ*ߧt#0p3ZTPdR)h@-r,&ߎl 82?odpNK,DR 1[f$ 3tLj$#(`pD.DA{Uٵ /vKo^1.55-E4hBzT+Xጕu`WjP. ,S(]FvT-a qyWNɩ:54?;g D<4͓X4pEszTeCZexcWN`niLU]R2-I'Hd]t$gud?MebijZ:'xNQd(SuOl^S1Y Ria>.:e!挶0]_ aH/ۯM0ppn:#z-ms/h wZ%HoP? N#!WZg3󹝵~a.>=gKdf+逫܈Qա">#L$K tC%(smw;E@:| c3[m3h< ڶGж\MDXSԲ K"ZG 0;l1; CY{b)Ze95 \^ Ftc+A԰a }1\E84!äih 砏:k֭)˚a<^E2cܼ.K*EIӨ!Ry:|CG lRŔs@ݘOӲlD6IRǴ䧜wΞN fuy"42S\ 25]8љ 2sʌ)pY]5/?(5- p7in\8:ߣMi)cѾz5rLE~LhM'vқC}wM'nI~+ NeEu< \Zuk[8 } pj> ^"Dnܨu&O#UjLY$ɗR-· \,TdS*z~49s&_I{KvA9eUaGk1m>nkS|m #7?=XtGK<;p aj#~@- USVc0X-xd)ͪnpW"ԆS }ӳpdԃL-$RQg~^_߽h _'QM.Mmoj!ұ^E:-S,!M\rxư#,I5T:0.q9anJ*kdo o Ih+ 9Y XHe7K ,[ i K1~|!憩6o VDp ,ۑ"2-ma7X̰c[h8M\`h$Wا׬- f8x)g9&wυ# c-eٕQ+;8 :"` I]Y>8.?Cu֓uD18<()=a `T}8~D90Aۅ5~VK"u~]ЈC `nכ3!j}Y8:c6KAm qR7HtF6 kpqRm6>@ڙ5dt+3FzV!-I4uNdw2T^YǗaƏS)z::O-ZE_%砪J*-NށnOΥ:W-]6Z8.ǐ OZyiyEC96GHpI ]?a\&`|>7pqJֹě|Aj&z)-1pAoFt#|2PtkT vUJZ|:2K2lgؔ + > BR5/hllK?;+/Sl2,2pz]p':ArV3|P"-;dz,(uf{y,N,唰p"0cM4ٔMQj bf1,ull?rgŀ2šަ[1N ,@5 g^_@dj(2P<<ޑA8b\L9d=Kr Dn7-eHf %=IIoV ՜_HSMҜo4aIR¹"iu"\}I 1Dfꦆ~ZbɁ)RJLx[S.+ NwڟuD\n n+=}1# +/j,dz RxD]DYàX4 ;hv8vG?z,ے%-EKV}!D3ZkرsŜFt$ZE&<8np  wC7>&/;&Ų:BB!ʏQ?O9HٚrPF͓C0vrelTl*_@.q 2~eWg2Qk֯>(B~ ~H.ҁ4 0+FY|RTewM9!h)9x f7lq>l^ctA7ϻEvM%n619 ȱd1Qp9_{/f^WWU? xB#]xu2 u5 Y.jB$( hɩv+w< #oVصۏ)r[c(c[bg*[/HvV̈%JIRKЍi@u?q>ep5'P#m$>v%r4V 惲\aRkk"4nhk~7^kMvJAU]mb;rOU<t+B0cxpm js7¿`%AOŚH+ 4Z 吠:qƓn YGx9:Yđ9j0epۖIXBqa`Reԗr?/Qc%{~ka0I7l_06O^jy_׼ˇdwTG"k~u|~$SiUiō#^ Aάr1a]giFqjDi듆rqЕkY\9 6"ջZ m>8qPO^G}rr : tcw='fܪsUHl fZs1fO )͑шy9G_k@?F8/V=y!0UϾ&8*vÚBN`.ad̓> M})1ΰAL+#ZQ~b<W IekNs!!FF8)"se(]Cґum@x wMb;HbMA^Puw -1|>Ȣ>5ՠkZ"u`.Д&ҝFNm_bFonB'L{@iDvCLVjLA|B +kvIKBZ@& DoDMNT-e~In<7Mc;&!t#>ɀ8, Si"f/7(zlYXEBU[aJqn>/٭ŜRMt=ȤM$8jt㱇B; `>-1UdL43ҩ>}129mv*IluE}i[ydI]PCu9Ҷ*hƁu4; te G$kto, qPX`&ihT$ ?_ƗJ {NhnFGݱz3rL£+Hs,kKx=FmADyI$M"ʫd!{޸s 3G3%iS[D +5#!p3$!hPM 'J -]Wއ8VkE-0Wq7E(墐3Re$M9Ўc)7( 9/@ !HPO{piyŇ`WWuq^+nJ/8ں Қy]OAIDhs㰤<x6qF$3&P1~?,]w`plhzL/ѡF l,s.3HpRaI]6 )5qq\8nY%PkF bQK"@jx R;J>T.d|Dz記)$@_BdphX@_Ѕ-j1qDJ`σrNV\ +bZjH0 o6Sҁ-n3Պqoݽxqa:f93~E8 Ώ0P4LjOv&a^[VO½Qy$m9y$r{$Lp0Fʋ2#8;AKeϖ'p_/\FTr,㕷i:|\fRTm~@?Bۻnoԋս Ղ=";d681{ɰV#RQUNg2t͆E\׋n>8Wk=~E7ڝhv:lS^3&'Q$ o_x6޵&?v7 -3h %$;t68hM2]3íęTx3i{~>eƋZgJk{%KmB/%!Z[ ,t[2[6Fnwuٚ S ".=2/ysvӝzjV80ns?M7$ėH{NO.#q8׶Ѝ:ݬ?P bb"4m]VNe w49G)Fqh'+VuM5'N(~gM4fW) BcEN ϊ _4`LPfd0c^V ☈;M5I:Ryst3ҵ#IcU2ft5ʏds۔Q)\]J (|Ki\w hY=7!7K0^z#F*{y6g"AVl;(S_0ߊlc Aۢ U8Kt~Uf ?̛E4 d:ݖz6/Qb2M(*b,ls磷_׸*CiꫨV,K>ol ׈'㙢L*fb muϜܬy~u|-'p%Ex*SFHIGcWR~Ve&ab}Ҕ7!kG*0$Z= {j(_Nӛ,|;[벚 B9yFvWO#Y M ~s(u)Kd߫7̓UkvA$OOB0=qm_q1~Y=xMbr"8UJa65W_o84~=@d~ևRIl$pIN{ˏ0{\bS9!E˦?cD8wf(J?{_/m6vƧu9S,~/~ƹUnY0Uw)R7P|(qK )Goj, f^twSGk[Ų?EW-uHA32H !"9@3&] ?Xi^fT)z+|K՚l08et|ėiuv?6D-~D3>AH^9ޙzGΨ4##&un1A;m8ME1'PwH.@It:dzT.k :=>GXդ"iF NѯAS\nB?.%g5n<"%* MC5s  CUJE P^m{}9&}_c*7B>āBAG O<":E?ZHA `L^XJ9-$DTth*]# I[2P O}v.:clq,:>gr.֜/-E{;T(CnGc# TGһ 鮎UCvt×qGy>f߉BZ_&U{[8VQ v*p5ݵƖA_MʁpEՉ#aY 3sPy:%g2V^] @Imy?=j"/Y{Mec, Ζd8M#СAb\۵:^&\p+O*(--B8OU5i)PNI'^vгΟf"%zs*F)Ķr]_vGjoMgrA){Ƙr $ZLu-!MDqatc7@ժNP4Ԓ?={T'$FfhQYt֔ nY1-Hb*9* ׍jb'gxNOmD5!1@rUl`Ǯï>!ذ ̄yfU|8'ѯLʸ3333P`<5;G g苸%d8Yӳܛf$t&[⎈Lp6P5=f\ ߵOReE͡_=Bشѭd5Sy& j4fps~ JѸҭq1nd Vh8t0k]/p)xs3?vXRQ-\ Fo廗9/i{aIFx_DŽ$"p1ݺeTa )$}}zsWZZlWIbHp ڜI8#SBV=Ep1]K[7Ћ)$lu8DA}FdZ$+h~&`EgD`;%'-GqI"'ʆZ=5KNfo=J.#9[G,} YfciHFy]@>V0ƭ;gޭ :ɍg`e]؁ ѶH9պ;1a]cƁC{ǹIC]bcgz_Cgg/BL$񹝑2|hq=cWY9zuۊ~!11`7eIЇ WOP&)APePɜzݬ<7YMJ jܡ h,';?!E<$-pP`Nb@'?eCs:#vFo6coCϡ6-\Dn[#6d'U{?T.Gi;~XZmiA-|AI/hI 5DH}Lnٔ#-*gRswujbHRENǸ^AZ/w;:JU@W5rW^hUURGKi} S4Pv*~.!i(:5}ƔU R&ܨKWS5L KN!3KQ nȐN\,<`YlT-y( -(_v{zgЍ1,V]YGSn-qۢ& z|2%D P'QoxBb y4JjK3k$u{"B +:+r)ux2eUE]}*+`ZQ:D/䉣ȴ5tw1bfU 4|I{EƁxSޘ1JU WЬ!W+(Vk4.f_y`qEq 0fM"bxYZ(1Pۄ01)N|@(Ŭvԟ3G:m[E@ yak CT" awc&uXOʋn?(^õXq:Puv͠cer:3옷 !:1\(ߺ GDFy} c}tg#ѫOjiҳo2Zx&M_Zoi:֪xA9n%x>#sDzt)#׉q92~0`loZrdnjo ыwvxrvG?BJqp)=n?,=uy;y(>]}7TXfn4㴟`C!V/R/녲&$MsOk=]#1֚ : ($GRoj[cԚ+rAP { fcK N=ұ !?mSY{hP+^WIư 79W')pKF]xԊ ֖p#fd-Y*zVa'uʯ)T=paW'kOY+#|H5;<-cs9ᑙ AR#WJjnsDcǁXF8CݧzozAJ) y)i4'&U'J<-?+g?h] .,}J^Ɠ}, _waUb>t|[|t#c-+A#ϔD@҃~rZbR(ӪsgUHX)ShM ;0D:ElzUS=-}8 ozfj9X^.0 d@&4zOc? 9C j|wܦ}Zxq4A߅"G3!1:xqoƜJ4)ImP #FVz嘏BH1/? (n#mgT,NCWB؉dPdVI`t?ʽ :ښxBByPHTZy'H>4ݧF]/nLٷsswPp=ŜX;- |iǔT̓Rq"(L=VG$UW Mȧ YҧV 9](ö}7s)HIzv>0_3C1̑F0xQ^0 q˶ʊs˾6כmx87~ϒ٧78ׯ (Xa# ѩJ`~\s`Lq>T 淵[{RXzb#$#V?ISl|v}chpĨ|lL]jU9}Ew0I `ϱiYn$z&]GY; hK]K_s~QNJ'`i 1d=9qt 2mi>rת^} 1^GUƨ:iNV wtlAW P%[_@D,\˛20A'ތ݆eVWaY./\T 6' H;etV֋BQxYkte}{)U2g^dxkT(s2PRgvnuH.Y ЇM(y>0$0T(x { yڏ6v+.tdҙx(2@>YXgsV9Thaօ#;9/XLXX|~|PL :旘VXAt}3e. timͪXXPH)HR8nb8[|9aߋ*Գho9I^+hݓ<X0gڒ󚐳-yWA?t=gX̒7I,_7ݽxhQ (CV-zNE<>6\g u"R'8HrK<n~շlC~^0.@ uy Ql\|#ZG|&:i ӑ|Qmd03b 36=:GN}\v1;56dž_ݑˍmٖN;R ŏq/6DQ%@zamtơh_X4pJkcP0呞W{׍B~}*AlX<`[`Nos:j+bff}/[,Fzrs+ [mP\hc{c(  syx}hrOpx8S>dҸȤ+n<#=.JaŘXԂ /OFh1zNGzk ??U(UNF. ؉Fcigl /A~&Xu_&<#isf{H~.6! 51nur2 ߭a6Sˎzҧ[ճ{Jov`!T&={EuB Q2%ZX/:G],rY)B^Pa JJ= ߊ`?,=Bd{2hTfq4,fX fmݱdg"K^U;oQr8ZuӞD{Ɇ] _m9ȸhM_#.4p:{v(ဳ 'c t+q[̳{8j5i {Xb>lt~ ;p|iIWk| <BDCnh-5bS(׉./ftrjLB%GQDgR_@tlSf#geU3nJ9Å.  fk~e{t6$cϞZhHŏ=%4OYN,>A yGwˎG$)oFЃ|XYwBQU-?t|;ǎoq5s jb4{|g8;,mJv!Sҽ4&(;E;9ի?*h+Al۵M߆`qgǣ) ֺa>ʈPbͪ$[%J`,b ONO#^. =^ "[ʸlD=7 lCD|:&Ls] `8Ys ,15s`Y3*Z _{rB`7'f-_fNAN퐯F6_L=/ehmߙibk'kNw&OM:V:ϡeJ^6$K,O΢K5GňD]M Lwv $P=*dGb<z諄<.xz b+G6 (yCx=gkcºsH{v8O Ӯ( ;v<؅S#,tu"Nf(]naڞ#f߉1/F7CsF'PxӀAf# Ѱ-<e #\(zL\Lq']G;uVAQ&jl_$lOzJ UfzUf 0#।~%HmDTB/ǙA@/IдHrLeʸ{ey1߯H0`w݊ B={^-un[)1AюGsA!kv A`h~=zVzW aa'^ܭt@SG_g]/Ʒ"MZj,T7>( }aI>2ˣʉP+aAt#Jr<89͈r !>^+2>--&&y@2S,=EY:Mta s }`v@&% w4T|T"h&pHlNI@'<).4pbTY^;uF368Z_;8PAG;0;en Hnԯzy*>L=u+ b=\h=3B_u4<ߦi?1_ˁЏbo_Nzm O|5JLϢ;[r5ЖWDiP3#Sw'#o9'y;-rhHP}j< 0@RM1 ima|~h)r%!dU\~N,ao׿]ڦ'2f '%[ķǮgb r? mߠLSϸ#W[~j.Dq9; eKB njAYF78Ytѩe3NJ}$9o?gaͪɽ2t@jt V"sTu=ozn0w+҉:ˁ=[of1f?[AUa@ꯅ blN Q9oPT)HY(:E8."O4?,v<'>h9 GJځ36챜igK ,#ׁmm ;NK0_Q8 d_qW /%58~;Y-A7p>"sz hSGiV|fQݽtF$.IrJ-ꤓo!´Wt\W2u K 7- ].ZB=A `IJP]km-&]b2e@WǍ2s~^(43ښDbk}-"VG /؆9Yޱ@ßA5ϗzSdBf&{ԃD316:.ܚۖXtDjF\1jϞ#j?uD" #,t l/\;@KK v>cXX2F)>i >')Q[CUO"~va~TD\5~o]==VX>K7u0UBwG"N4!δx i"wz/!gq5 ke2 eKs'ecq>CD_*hCW ULn}DG>\f^%B濷V!<rrWwgv6> T*,ҵEn_\ZRJY3cK4X<&(Wfm;a$f;bekle|%y$98בuA uvKzsE?&n&6IOP 4ÀI/RrI%b7ܸ-ו᥹zyO܊: Ktfe\bDCy0 st"?W9IwM:[-(_rWŒOy,?|ߟ;1vr$hL1)u^]J SG{Ƞ+7Tsy9'lK6W.bgrwTI Nd2 ?9vb~氭ЙG:l6`ۦ!xSJ+t^\@m‡>lp\⮴1s?\wS<_UP%HY,'Q-0SPsn9Fܐ-I?VeeS+H?x:DvP\8yGu 镨 F &k_(^oΫ@;֫HvSșRgZ9$V̯!~m5JȜЏ&DuFLޚeHf(pz 4* XJK~ɵ> F~6 . x\[a[hWF ͷ;un i⏏ Z)#XgGLg1!/ku9 ) ?E0eegeZqIyRjMC"a?4Eù&Uh ҴncfCtAzR~#eV*s9F &{ \\*kUYPd+P#Ry]QjfeӇ}obi+W8U.]kxT4mot_#SM'}56N-npg[ZF}~K9m[//SxE/ i,iy~ #4$E#Ř5[vN[ՙ=4d_BV!He!Ƴ+١a~SnÁ o O$}<;Y "ZUf , fG7`'}L,FY.-MtZ#E _={hM{P h~*uW?`$\&Eefz}=cKxe|c<SpSH)$!5Aše Iep?n7o#%yl,Ǿ4d; ' $KM{:UA%)?FըN@Kl*+L @Z *GY`)5 &pc"QQ;n/`zj#2/TK3̬8_z PH7]s(ܷCr..,:$F1eak ZJX/=(oYTu(,ʎ&VˎB-[r|~hƱ="BoZ?| gMu gK/vXݓ$eE-DpL` GlUbXw!6Ֆh#}OaXQ>ۂތ\Saj=fj49v}ItϦ'cg2|%o@S 4 U.S۪ |wѮ $kg%PiM-l+wUŶV+Z ʼnѕ^v8 7l)*PmK<5;vH i++N\˅֊2߿o2P@0Ifh6O쵶[R.a-P]7% ͝H /.%*hADSMEv(>rTVL BeuU`LU6Y5l ҥx+ YFD1xT9FttlMc윧fʙ>!-vԘe/^,ba_S'c}yϒMYra' LĔoO aZF_= ]Fsh_*C52.K)THK^xU^N~N vOfJ$coo*n(ק) I~dDM9yXΎ8r%E~ +(`%`ܥ7;Ţb7Pf! ̦ ž. sM#vUlnTz0xmãH_!S0PfQā24~#2eيq0k&5E jKBvC="7qR6SԄw5!'];)dvCrmmH!P3 v} wjIWI>۔emaLԶ(`'odA/PD'ߗM<-?H1 CSՁp @疖ױ/A Չ<ξNG& ӊz~9rz(' ^W):f T³Vd7vLU ^ ] n_<;p#F2RWQ?e/+܃d=Y),T[v⏈4CF."Y#4G8xP*]] ?W5=ɹ,*>)j$W౐p:=^x~t`,}2*7.%(Cb2i㠍4>HwNj(:r_S!K[` )84@r{ ;leӊpϙx_n&|t~ߵ< ճ^Aun]PxL5.9)@qEI{w9` n+1Ez-GiD P\:R0cl}P]nYGQ(| i[gc5/=V^D[/=[Ḿ3uf% <s/lgw,E<%NRX쿉Gq^mhr[9BTsx+xSc0!ֻF?{3CV.vϾJ; )@gn<徂qԠF(5>(4rDZ9ZoG¬t>qa%-W|\ _|/`NqN>D BfRFm7ר8r8!i9$qؗ5Jz:Lj&]+r:vƖӲ8h%﯋`as tz\wk"7:mDVmH G ւ7hʡMI_ xNkJܤ9CՂ5Y"x"rQ"yk,xt-Uaobp;Jpr:@B\B@ï  f zD%,/jһ$/Ӭ4ά*) C]A+{O:Iw>=wFrO_D"P5tU3 @b̽sugJ@JIQ dGiIAss'(>W6p$U)6@#>;+qs#^d*;9lo$!.\apeeCG]?i8Co-1ΈBj pGdSsAw%MAڱ8mɝiDr.Db=>I ~gρ@n,SKC ͼ=yF3w(i>H)F]^~m< >!v8۸YV@Rj֟j$M`7Pj1D-plܽW+nC=m&p\D@FǙToIou vGaZ׵w̴F ]녛ZVY`>@3~%'ڽΰv*7+|l&R~ m g9W9iƛ N [zG]xBy5XK*y2mSB k"lBT‚:X&i#1#I4%OT[G*a\н"^){_ C'N3[ WppA@c4E7`3A7KM@&%0?R$aPi>~8j0BvzPÙhlVFAq&azLϧ?$P&Mx_V, ͣ޺څҹ2T"3rRC܂^V\#EcQM4L}oy f{>G#l8G㋘BNAnc5ZI%c2bdN*AbV9m؊ pxsMS#l47^wh u [kR5q.paR`Bt&eQፑpe:00Z )Fe BwZPFdj 0$ v[MC:fu7&PNL3HE8ԛO*: 62'|Urk;|7+"PͫWJ(A=1uSG;7')ٟ~7Oz3T{Vrj ^yEߪ+IW?}ُgGl ӥPQwCB5A9 ͣ]k#-Z㽮M4⳦$trYy Nh y~Zt>C.!M !7wpI% aMƗD=Q8,ڞjox5ښ1)dh7pI?Fygs1xZaR: nOhyjbvvkxs cC_(< .WOGjWaX_UDWs&á%R 7R2mgnv'9.Nuӣ7P,'We(.7;׿(0]Պio9t=cLcZ4=<1eQ6 цS2M-P\nQ=o0o Sh `YUR7d^L'j6e }"b!aB!p&!= wJ}0V,Jdy =%(lP%J>݅$-.E~rtf6(CE;"( r["pzX~*Zw-<`_>eWt}n/Lb ìXV9/">a$^hvװkhl/?utV {Б{mOI^x:ӌ6@ێtƍ:r]@YFߦ. ;G{إ~!PHXuґMu<t QM^]'H9UiVzz4sX$ @N NVw<Tn'ׁRƖMhAIYm i (nq! tˢP&h)Q㫶00R::pLt,léiynk:E"-{ﶇoM][J†h`4"m}%,b&c Lu~ _ p9Dh<2ߚ*s.,#5[NKt k鉮 y]n4xMtgDfxZ,Ȼ2(wiQ1"1̇R?.ZR!)QUPF NdZ؍$=@f,Faj*As^|Ij"=jf9FWg*1|?qnUU`'sǨG[`-ZPf߸]^#.zDOXAZYh^׷%i~+2E>_bxԥvC.@A0yydԭEzr DRst&DEtojDSUrOf*6O3@Se&eMn2 &q?y|@_+qVOG쏶.# fV=*'KzbW2w%es\&lN&:SnүƄ3uәE(Scۢ~K`@pk UJZX?aeKZvŋn2ooA x{[S+M3k*E(RN^χ Ɗ'4r'?ʩ;mi+Hcte+)~MaX4Y`Tw5\1!rm|yL:v^K'uYHԸ(ZWy G:HXs;ըJyʐn;K􇈢X$Ai=-F^=.NEYhOjhvKnVq|f5o^,A dF_x;#U{iҰF/ PS#QSfqn] LqgsBS >45?DƯ*Aq5̘÷p>^*_dfCo~-Op2X0h ^H!kvz\E$4k%D;86%`TATZ]gvEYj6x֡k 5}y?,mz&}`m{LZ ~/LGRG82Z啽@\*G,$>\k 'c{׼ љTG(n)\A!Ytiʨ}u7Fq h*Dy%TWgû\? (n'9Xq[}X ;=8NLX ⨨\6f@1gTft|帆`$~?V%3d*1 N Rpe^@ MLK/8= 8VP uF@zXgתK/HTMjH3l;(Hɖ;.ҳrzFXn4ǞGC5,=xQSVHh4'1bX2=HY߂_KADAv)QjJImyr{c3>=&BZQ *()`47T x~'M(X$SFZ^zU)r+tT&.E;f>F1o谢p al)Յ]oo^a& [yfHvQ9NcS'f0Ko*M76H}Ncۛ؅|C6ݯ|s}3n.9!'bzYWeU5&OFouCYpT8)\׮.㟻hHU/w(G׸d[oC*jflRUXR$䓴8  U⻼;ǻ],^"rךGLDESCj+xk@:ꊥL)Dnə0Jrn3 pWsvMsր#7t֕zC~|rShrơ+*~\^S2l'(xo>ߝoIaCETS:,l`}zjݰ/~t~n w\*TMI~P hŘDĞLEAm Hi!Pv`8#EˀmESQb9Oڊ6 V1c,L Mg~.B' 3^ǷPv=j[`*a!>%mtˑ:\}.1AYH~*$q-{xZx mz@9cG ~k( /Y6A4:C"gs0>U}m~kAa?~9n(~ CxU5PV;Xq%ml婖[#:a94-~Sx`(! YMoC .0NѪmYPd3zm5ɽ١>ҫyrq2qli//I x>QGCY$@KL$)d9^KwϤڹZcB3<*gQSjtQ@܈vZZ%ʌ`h#67{Hg!s |&O6ahwG=BH L/êM.Y8䬤[t*ە_* r^X8gTrnxыdؗw,^&F]_7@86 T'>\ҥx~>C߻XE66"+I|?WyB|@rzi-Zm%n62=UǗX W`.!0hMHf="G٧$i1O- o!nV 9һH=+2|qZŏ>zwQke)x-TMwO%)ՔpEwelv2?-{)-#l_@4v1m]6?ڒ?aDsljL]r$}M~ oӔ}1XJWzqWGsVՅ*̲tķ86OmW:qWڶ?[[cTdEM͏4<;tЦ(rsDy#1!|`)DM~A{Oʶ9ikP[#ÈmBrY9-׺vsaL $l璠KWERξ&K$zk3`(CSz최|8*Y&șjSg YdrP31YqĹ H!ZUzp۷1"uKG'H~&a!ktvC:i\\lU?$ͦ t]6Ňޜ$Zq1CȥjSB@}SqPO[<(S( JWJѾQFG.k`w; S8+-݈:G%=D?QpE|M g5;9쮴CX4W6[L-??c|ge^91э^ߴ~ sokٱRam:`:YlvjOa)S,E%Ndmy> >ss|4[vuO vb &Лq25}p9חUb:`M*(w YFM6qX m֢-jn[ ΋j"l AyʪLɦyd&F\>g R- = ɼMgGMhOІ'P+'1z+`SC,#]C1@?oIsS*m,AI4`糠'?<ל /IY>4L|K"H\6!:< MoŜek7Zy(Yn෰hc]JfʔvFh8FtV+Zm9Gzi ueJ֦w VodLkF~]x_:r2L'w1o60u3cL=USz W~2q- ErXzQo-QR#X=c'KBS؜|ׂ [2jJ #Nd`2 d"%-/6@b[jZV П#/*QKH_# Y?g:za$2e!=d1GbYıȀ":J/\!]T!wrLYe'86ʬ J5Ńyd%'' {?\|5 R6~5e|ˎٗ[fLFRBwỏ(rFJث>ȚrEҐ[,I.CTt +\|xYTpF\> !NZZ/h4|~wСT*wFcR^jKevXdTOG `R E+|Ӄvoߪx~+P? ;xЈ4 Tз I9$!ZRSUS8~h5E G&gpn[ V1#=([4tE5_nnHn6뜌'l8a ISY^-Y*V7Fׄ-Y"T޷ ێqů<5od s(*l6egq[}h<=yNhk5VL '8, /mb\Q5mh,Sxd:??:On>U.9xohIVrX㬪0<'โnʡObyOnsnWµs֍fE+i7TAIէ{Ռ|{ydxS6nÜCPF/՞9Uq_qV]C-.u^u81^b>]oo-f92b1q-ΝrE n 2%&)oNRkr.mT5{A|f"vO9868ؾ6+x Տvr: L[ Y}pp٠q%-cvoZ7|T,V gP{ZP@ M w2{If@ RCҢį8#,3s>MW_TxIkƳ3[PX Y˖(9T{N}AF|K` J!E-_rńlR1MnXZ)1iY&V(nSH5pg˜m#v#PY;TÎXA&fiG穳IN"&|*5Љ /^-XH7lELwa)sԠL#mq4Us dN&d}NtAZf`CKwff@98'r vb  y gz@ZRZ9h\,#ު6R;"B°Θ|ێ?pU%g'9z}=/`ol nvۿv@ɝMok菼ഓȰÀqB> .?2eO)d:!=#Sּ;}Vsw'!.r lO3a(`)b'oܨR79-NLF #DGFZ涱:̱{g{݇P>?ɡN h͒EV+&oD\ߙ*q )3G_:k N qA=9l?i{e*;e@vFBdW?ggin-կ| .]ur~4LFn-3bX`sh}x d3+S%-&*%Dp  IkrO'P{+=!}ҜMgm*@rUHM5V_RA)+~u']aa3%C:9;3 nL`q"6/t噋9XQ y[b@ +.\Y9!-ܕh˶4e! ]A߄ŋ$LYjEQ2ÏQ6 "i21i޵Ō@='YA9:k`7;I~1T9iRlm̓-veߩd]` a,cz}jbLfZB=d; NI@h\a_3f r`C5_CΎ$n(+&!mi$v &Kȍ_-Z|!%V)iˊR$WõyaYVpc`?G1S mbڤ@#N+Iަ]K.k6蝳[ZŇ56 E w7dm ]KECpf>qPVE.[@yR?U U̬qv) N _Q 4V=ÃUa(Ru/?9JuEjw{Vrw7mx5cV6W' 쫘t5,_ȨZ73%I1^?닮qeħr}G0%sZ%׹k̨.2憎ͦ~ٚAFKifO ٖ,wOcəR4AYxal 3% :iVV2kh='c~ RD1c!7Do:k+וTkngI) >Yh. ,8} p .QEWV=;P =$ӝoL!DWnvӎSYdzܿ{3k_|ɷ >x ;25&=dW$-6P:\2iR>z'Ԓ޷zu Fx!? g@;@*("l[YBZQLuVШ+D_gҔJ2/۬~N8ΗN 8EߍCNFIp)&*YBy|H2'92d`qSbhuL&'sXʰ~I&nM;Y⯈Lٺ]6j`M<ꂺCrB1Y+ϧ{- {aIܧ4 Ϙ?RL~9>cw:O$qdu!k4H!ƌX}ZN0*d\L3cXko$9#LhS/1za68z]>0Oݢ23;rG?w b0s~Y#';,i]x]l29* rQy/SiDeo\zv`5!lĪTF0"0(W'z9Y+SYU>{h~,UTEA2σjzRէ[;7nX v4+XKR,1+FjmR(!mInU8xM0SoFc,Bf1l~.64]DվDsQj.W+9=EȨrW+m ٕFߨu^ Ɛ,ew0}I_rcskPAI}VC>RhiΑОכx _BmUW!8bN2vR9c G|oZ%EM N'`sLjPPoIK:#RddLK"4$]ɞn`~g?_ӟPUnGKeֿ|4+Yw#aYִUl=ͤⴑs`|q&_(Tj2Ew@/k91D9)q`ddQZ ǞK^sˉ4 h" b\o~Q%02 ;~ J%& r1Z9ȱO\{3!}*+֚ڹ=qr  ,9^ӛa U%ba(¿u L~:bҁ(&f ~|xD׻ ;4] g=tHhm["6l*OyLr}K@ /eA{VT9KfC8匼Ѹ`5chZ'VzVmFA:k/:\Av$@ͲܕDٜ,@,Ep5}hνq_j]vg5;XdWC{oWqt$vEBLq~ /!`=/ܻZP /Q4,т-(O808_) 8k*;ys /!3RuQ둇Or\H!vX.`YρF;ɸ8\@zKYjG9 Ζ\NQ&#hZB0,6Whqq=e))㘜 %;5qUad$B!mţ ;:[7lV7sp O?фVRBwtNS>)XX bOfC_9z)ٸ(ˍoP&-3Nym]ιEJځ Ub&l E*nX3"%$(c$,k T2}61mű}lYa=~X*[p]_Fـʾ9~WȂԃ>MĎqN&^|swŋi Xme1nL+D&b/etz̘EIqN}EHғ k,2r: (;ىٝh;il&@-(oR=[+j 8Nt! vrݵ.߬ۖ XW)pTgb.u/|.)=npS::I>7G, l<6]GmmdEX3iN zAYdV|tt*v1"Z >/uD i˞ܑH/i3sZ\9'/۬dcQvU!8dZʟ:V%ѣW|r#$Ԟ@Y6gԖ#KĆ}Ty *r+4Uf4jq yᧆUӳ% ,a?yxeeuK{x$EHY3a/->&=)ZyD l8<l­3sX ԵVTraZ J2G#zs9^;<sl' ,W'l]]S=0~(f[9If8MF/#6rGb?;zt.{;x__ҙdYD<s vG\t& 5(n"e`gAU}rc8YԄ4^sRălyIx! )YAysFlSR";n VC0O{be0CnоQ!H?t@ML%~fPs}ءe^xPk^@Pې Ew$`&Cr]|Vǯл/5mܙ _LC+L؏59k׉DcT:(.ī9F֎L* ʌ¦|>Gi{4T2YTkF]@ REt"XzK GCBOʂ)VtTHKshmtBa7ϾUg 7.,eiQ5 SV:-\cұVc;+o7Ý<*T@].Vq9a:閪\pI$3I~JǠAk3| ŗ/6!l]M}sHƦe@*KYZ?5 C7)Tڰ,q >e`F_|!-{TS в*䦏a5%MbK/w+^E[>ٍ>O)NI!`(L|tk)<8KC g)o]",~(P"sy9yFK+Z~RJ.oz^r>TCG=*}nj;\SCS4HI p1S1'[|(38PKb $0@OA+(+m9SS}|{+UT0(3pՉnvO{W;F-J0A29fi6]kv- ԊW abF?Fq7FU4QnB/P%(kaq>lYA#v"4LlЫxt,`aw-˚O{bhDV5Vx_f*B4)9AfR^Fd5AdU |$9u'MT_-oW4!-7qEoP䢩[sn]JF-eP])`!HTv2gtu^нbVUD⡶k ƔSGd0o \ Fben?}BUzri.YQ⥈ a%,[biDU' oQMwZA CJ-첑RKs:?hoo_uWEEڒM2~`l1g`+4Yl!dJ3"g$5qr#YpV9L_qw#+!4cʄmu{1?[B@'*}jeBF{7$V|,ón"(l% sVLe:H=xh!F `8-o41mJuNGLF 8)}6J$o]j:32GJEh]l;ҙ\tH_X< EѤ$[sq&4qv7&ӢMMky\uU֮i?y[`>7)zVaA t0#LTQc^"#G]t|zHk *A4.~꿽eq*le GDVs?aRJAdnKqΌ~)2Íld ?;AjM[ea E Sc/\ō aF7p*}q-viw뤆| ͑/1[IVzdT"+j=|w@4۠ Ɩϡ^{J7T jY ksm.Es[  7w6nT*ChY{$*uy&&O14zyp80YzK+mqL06WSp`y;*L?JCf?(8+}wa 跚)f K3~$CO~ @iY(ۋ&djXPG:SaL?-ɛ6u /?ϝ!j˦77q !3-NLAG!5ʒi`1;F+ zHǸY]͂4iH"n-(%'_"91R"SE9~!2kfO#FD!Mf[c`<*r;؛ɾ&WZ'a%8< x):T+OEj HVN1<ٜsEmֺ[g,Zw3~+f%~+jei"\խlC@o wWjcyY)%ꁷw}1 UxS<:b>H֞?Ѐb $W`(8҃ P*L9H#;atB8FGDϪE~HƖ~-@(%&p"5!6:MfUZ@Hd18,K0TC2tُG2 c EjĊ:godl1$wikӬ ;L_8X6\ZBhgEBWcB4Of8 xJ"GD:>}` Wu)VoOV8n0,B}%(H.i'@z-BxNuc[pWx0pA %˸, .]/q2<•dzb }LWQ r X"0%ݗ!x;jiN"rȁBɗU&?B`96/( Uɗ|6#9 a#ecIGHsB,}D}0ĢRG߻a @*r\d& t[Y}HvilBsI&F^%= =rrz ni_Eg Y( gXeLra91G3'_>S75\+C'0J.s_NKKɑ B{bi͏#X{XQLL_?ƌWU|Ƿn{Aɸûקkr|un !ii6ΈA`>Rӷcp*!LUl%mIZ@,DXz M93%ldL7' I98vT]„9-= FJp9{P~Ut\UyUWH˩D8Y ͞z6==j I6Dn[42<u^BintCr^=k0rz 'AGQ.2*^9[Je3;5O  \MW c3M"Eػf<^!mۊ{rF8jD=l_CA69%M ?ʠތU,ԖVkwPՑn]c<0\R &\N\(qb.*7%K>cr4:!10<+Ob038g,N5Qkp:$3;xrV^_AQ}#؀}XcХ"Mqik)'AdgMʔ>[eW "a? lu*3㬏r,؛g\,o -N:*5W.}NyX$gHBm9k wO\٥xafΦ3"cSFVNsa'8Z Bۥ@ƪZI9v&B^Sn)6ݎ]RsYuw,WeVnlS<њK`ב٣vw:ڶM5p#"T]X* *iWȿeD's(|@EXtwڕ<(6'_hx }2ufPbW#o33t {Oai Z">Xv% RmR57uZl /V,s{M ͖[qo5C<9@y8v 0VȬU5EOxH_gR}x3p!FFN{S:Ac&Q\Pؓ jrU߷iVEGR@V}Fm>M_^um-](JQ.RD7߉ ݢ+{:H8E/f buKYzfkj=ŀ(a(Jm U@KViǁҭ^xh=k"o_Z݃A "1{`@vS0_ y %hIW0n@IzzpUJldGpnRfl 撡4nNY):kbR[[6$ H >Q6?CՎj 1Ք ]Mb0!ax~)N-3HML+Lݦ uH f49WOZK)QUЍ<#| z$A1USކVˆfذNtkR1nP\Xť@.mGĪ8ݘ[O/Rk(U7jcp͗C1VIi>̀/Sf~ZilQ.'Y+Bo1}"}i+,'$}M4Wq$FN잋2-ya_ړ2E2M2 :h*t>՛H1Ȥø˂rmɂtGƸXI0XolS x5(Z{$,H3 TstDbsGDzE b Z ˢ/3P#CQ.!϶ + n/!AڻR52a^ ZJb].Ĺ:nCm>&ѪgۗUu  Eo!'ƁVԳiP0r;S@VB +LqQik/Ut2F}RΔ u-S\LYVfH<P(Z Fynǯ&b+^D^ekvT+0pئFt{e~nӒT;9wZtdA.H+,Xe@i>rPMڜ,)AHrϩ-aeu#\>Q Wڡ#!]J3& b%%!@?򁋘`y9 /ˤɝ LQ4tr|č>qWc3ls5.1RΊPVPTV`Z)$~it\ҡ#K^t0\&ZNc!MR]DX~^5]F nPڙ({h% cȮg"h}Mwmpc())jVt;6=nHGqI#H.^;k|ZGSuXqU !NMz VbB f‚6tF㲯V2wv(֥SY~3ǯ+)"5S!])MZYqK*)ǡ:Q@e26݂VQhݓ43@I><^rB_WE.=b l0; mub"W|D`'zс;$l K[c,*w7&FmݗQ'"f@ 川lޙ.="?M6 m~<>S mF 1\Tb->tJHfJYcm )FIK8IS_91Z}Јös?#Fԑ9ͬzce[qxzBnV%ɾФ6V\ɣh ] a$"MKLwqTQك+bYPZEWP)Xչ )>^iY\Y@Uǿȷ*yϮѸ{eТ`TvzU\{~}uYvl5:SG4T*OGJ$OޱbEl8V5x?Oʯ(/l\rslƒHۢ`Qw[-\״qŝn& 8yTSnKLE2qsOu,!W1o@1`Q;9Gb ]x^HQn! JImJR7ΚѵtSXc&\VY Q0Ma{:vwUT1|Yi${~G`!hfq?} KA[3U+ ھMnYP4w写dI'k do2'Z<'2X]f|;=t"R%[o^`ڶR~}Enyq8EiڝM7_OTp_ !OVA{LmT) ,\~yk_ xSm1l HLщZJmf]Uzo18c[ Aiɻ{2!4u ZY<g2f_s $XC4ZwJkDT܃}17k CU;y=dsOI$m0Jc-rZP{/ ceK| <^P ~lZx ti z=DhH@~%߁P'?*U 5?2ɍ*Nyowr>hm%tTi~[6qrܳZ22 C76>pƊ6@0/O!m{@ܱ+~[+bb;a_-BQ ^B1*5T|ǒH"3npU{gȇA=96ɾ;`2kUl"^]@vZ+1DR$cfVV옓8Cp{.s#(!Y;78YeupWuIeTRos>@$\eҖ$Nx3q!S5pnDN:hG @n8^"~eQ3=+lϸuvNAlu%Emq'ʮ%5 L@}6`P-*)gU[)6Օ؊&/iKHHFuAb*_GTg-pMa8>黶Fnw5[TTE4J.)7``F r;+Y^/B05D[ rpȜݘd!]H"sbY.6-*mY?y߂fol` Hy=kp7 BizV* 5OJ#X`*rcg(Eڍ*WB2OD,\672Cu,0|mSaDNaa/^j9<= z.ØϿP(P$FD@Zno4ù>].0Ht^uu<(B j|$S*:ڻ{\$wbOGfn.{CޫpkRy:дBlYʹӓ*%>:A Ԡ]I+{7cs?K RwwʗiAj(@`r{B8ʺ7qvYbl=T)~Dg[ [ IN,޼+?7Buz%faOuK+̒?nN=xh>x4? &5{L%J뱠nv\(r1i-zI,?t =p̝*j5G_z@:b-a!*7I[NH浅xH>·ݥ2)Y8GY&~Ht⺽IlMFa8 ΄dnp_5([Cs_:om2YFc!.L_ )",ΖPI]nn G<"b%r)nai:#?oy3%\GR87I` #T䖕<.*~3#uRmr@fI@.0PLkOB8gU1l hIIeֲ*[YnvM\\j |y4ML~s-QU((%827DU@-ΰө$|(8ߧE܋>vw.am`9eS kdY/զ~w R.ǒXF&edN3!^?0/;*YOv]rGAuj_a_!ͥ<9$?6+n7PȮKski=Zk%h$dO~ϨAjy$4ƛ0`!h4z1D'U~Xݗ|Zn8(}_KыS.^*Kz6v.{|Y:n9)cd7@DB,yX 粆ZѾz9ѳSJTÑ ZEɇi@ 4 ͪض-9" 15ԪYx#0U ]Uʆ=@QTˢDǾ"̰/P⛚]  GVQ>,WCBſ`ۆW:+3iZQY:Xg˴~ca l$0H۲/IfE= ¾Lm 4jMf%w광xmps<,v5chIx't Y|Ɍ=#K]zL"!r,kg=œXxp?u瓝1Z{mkvE (#g~b8=n٭R _-rvVn"Csp/Se%izېg ˷|! 4|ި!E>Dja6d~D ?6-R6* jL2x--PCscJ#(l)4l;AN%_8Hd3J-mRWMqߕh}љi^/Tw j_@mYqBY ̫ 6c1 :{r2YzG困 2m*qژݛ_kHRӫ! `v#|8XEE|P H6/lNoݒӡ Bc@ΡEv5완l/AleT]0uD)TVe~Ͼ[iU܁EL9 =}.`H"?{KorF15j9}n x"<:G(YYat.s {B7 m5 FS_v0+(K["-d8#P4RJrb>mvYY$*`-=T27{M.-<%Ԁa7,>ªai/i Vz+h8N#dذ^'IknSisqZGQŽELx[aKS[4f Ge#r 2.<s!z؁?)tX58i0?68w0bޢ5^|Y 57t_$@Jb cTμ6]R"[|n~j UsWWcDV̉7f+U#\JLvq~D;, 8?(aYQwo5Mb oWenUU$0b1{튊}3ػ \dC4 =ݱ Odh6Ъw c'rGn{{5HZ,bmbH㳌OI.$= ~#t~ "_ϩF7<Rr-otf[oidZ 7ի4MH,6G}ϖ{H5cDPJ&EdQ}BM<d׹O tNLjt/3JoD(%c?F^6@I*[ .ڔ Q|ƶ(m>|o@e.Ǽ+Jc2Mъ٥ 4eY;Czr 9~,+"^KW&j9dHǣa~gq68B,GPdkoj-X&GӖoT^URQ |F0G}m5#aC#[jn:X;Uے}'|O|7\ E9 E֨;=RB&ɿR[/B 2-Ut}Uq,w :XGxO4YWbJݲ/.#bsZ]1@5'{حD--#07c%7+'U.bFvRcr2#hakiz Ť$°}DŽr}C^}E϶s+2c#&g$ ЍK.{R`ۃSijBZ͔A2 _ uE2 ̓|hk!4愼YU©Ĝ,^,UU%T0Kj6,W&Y `zeLE~ Hٍ\$MQ>,0sM(`C$5Ҩ7ssw|P-G֥%ȓkip4=}-_W4qi.Y:2MMrb1y`<='!CQYp 6 2:Dܝs\i\ڞbFsIO/Q<:F>Y*hCB \HEO2}NF<|K@_߹6a S^Ս `aܟ QXx@&s$ NLW-ԪByޤ&l& KWpdx"jw)o,^J5^Lv`\idKtjQI}'tbtWB!%q%[ҝLì^Mu'p4 p(x'@8~LQm,Z=SIX>VD  o ܿs#n!(a0fD}{Ҋ:OBp0s_ъH;yIT>^mY/ rS,! wT>p(}w5IqUpl@gelK} r)ßZ"EX!#^`xr# Z_n7 bWS)Jr onœ_ToMcӧq[DN= ]' *nئ&;Jf6u'Ij߇(iSVH oۖE|g CI|^L@&vji/6궛xWE46Vp*Izi"pk)4k{k*q,Ȩ#p<S6UÙ4OgѤJqOZl~ r&Kԣ0vU]$6#TFI.4r37mbRB][n~_㶖HA[r[B4kҷჯ5-bTAbef ~PRs`P%|Ij'i#4"vEmoU.;cd?Z\J"T2.8^^x'd!,}ŏ1~C>UƳ5ЌjIZo'"[M!WAF;b=::BR0$֧6&G4YbFOP7iZQ5ݍρJ:]j }b%r]<֘1rm+nY&0r.byXTtEEiKaMexK(Yς,S`~eCk:^/0fW3俐JRqO0h.,Xջ|I{ Zץ7:Nh-*"͊Sa<BZ\/ aMXwȘV0J?}EŽ,B WO_m뿄nl|9޹<F<&#$ 7@foIf'KXh-L[ 1o`' '+Z,NْOw$ly tr ެ0 3.PB)g/W'a.6!K6",D6hc=)' 5vYuyܦG]o!oN*^v1j3+w^&=B.9bG$Oj2 ͦ߆Om.$8Jļ5ٮ5̕lAD|Iwud)h_4׸?YCvh}|Nq FhEQ:0 :@}d &pTUs)`)vZx]A |ywAn]8= 4VkL|[bf";´ v137 .Om8Yu/s9 O^RRR*D &zȯ m!QJ+Džs8X}UZ/֎H=/s~Qv;I r7WjѷSQ3g8]q^p gݠnXXgjLlg@9 DW|:pa 1ۚoN8@LRG1K1H hB:=mf1fzu5|Ml^&n^M4 UtK$;&vɤl,U}7DP}{rU~ۂ2B9' ʮq[w^]XYQ"X4@ͳFI[*H(tXsh/Da.FH}IuuʒHb܄J΁})q@=bFЁ@)J-s;Vr`tO}DC@jOs 0 {oZv>g+>|`؎ϕ%Fm8S aǽA:,+\|_iӽ]mSM_VƲDۇ #!ZQtc\U^76}1@ BqWjR+ޛD#C*2L1PW ZZX[ܻa~tL\P:Ci2RVWK3Ra'I;fLE?[o Ht܌4;;-t'`51 OWZ ʪg2IP <(ME' I5g̦'?B;oJ[o2BWq+NSM]/F-J(ʆ̉+U(=c4tnP͇CcR^i^*fc$U3&Rw i >!vC86@2kuFīp}bKb{|NJ WozcV~\ ۸AG,LW[)8 D_j- u}.o ';-^5I௽h. 5ħP mTI !H@nk{L 04au\_U ^4_\+H/)PlN[2RжW@F7&hN]Dcð w55d;b~_طݩ.[CNL@6-ce@*4Άg'?>%K[v,P1TћCg'O(ti&f@AM/(eq1Z>mݶ i}Kc>:5/e΅3$:p1m,Qڽ /!f0lYg%槉l!2<FT:\ *O2.cg0#>/J|Poʑu̓.7(q:ٔ߅wL }cpuvo"I֝`x`\G/L.>MՅz"6sBxPXM dÃ{nW"QuϟQ,æĄv m̝$Gd:@WH?URy&<܇21A` mQTZ"מUj\F0:%)ʑ@2T= jZ. hQ8$n@HCYr{[шu@kBb"* 7<_JԚӛϜINpA|%2N5T?]nãDE1o22 dxɩDLYI'庋4բzmqfK xۥ듌RG! x0xvH=sO,_,0cLMgǐOkZ{eqFF90 1pW"燈_{ll=ưsr`]AFa&7?*GG-B.9jlJ<@U",%5%YslƊWNNBj Ga>wu?n+aCV.kz%, 79bA|?GɩqR0wJlZRt:^cͫG)FhYP41\ggi#h}t7hSfgTc0W:@9$8?m}ԯ,w3Xew3\Ir$ٸuGr5 mK-H!l2ҫ[~x!+%N6Cx#SĦ(x i" *ӟ^Vnp:]G᮷RhPG uio 5UfMtC5a"qbn:G~-zh^V.o"q۱C][7ySj wޢ~]z2۱NO,0C?ɟ>,dzS"Y-;R-NWqn1iwBb3hzIMBHalm@/KЌzE aS^!崪=k?~=T-VG޺͵f@O/""X_r#(σh( ^hUċU6#ςt"Qd%jf*_fڸ YA -eYC45_:M@WiuSb2h)m%S҆X0]$4J5޶" p?I_ Fcn8ZOn/ y 8'*J#/sSW Sw.CW/| GQu?sUD'Y:+K }ushI]3.br-ʙ%^ .K]ȔWvDx)Jd3vEkxQ,,z ſ$9@ǂTBKꝑvsghm&,0J{}d"td>@_Kޫn V+J栅3a;r^36OȇkV@*SRy~&!A keZN%$҅/9i<5g܉TI;*GeDfUp /G TD";s{eZ(zjEI 7zl9.\ۨ]gȔ0ǭ34@qo6}5W%(r]bSu+U9-bY¡"#T HH~zE4p3EQe.,rHBMTM6_}2!Odxwk3g<;wiDQla y8-V[I9%T{f QLŢOJQȲ7:NY.BUbY geLtB?C,D0㴾TA9G; [Y8XD4jC+P-0gv+G>:߀qơ3FSBrsnP"8:v 逗T foQp½^}[D"45SL-UrdnrlA _VQE9;;-Ux\V} %GbP?F "8I${e)o#".ZauLl\m$8ZEAoS$ !"=ً=u!McXI\g 'v\vxFo6O_rdW<ڃ3P]j^J 6!t|3T֜}{.NaDR!:=[drtC\7,@kWxNy@?ܠJk.:1'5&cLǏTMN:5.ݕ;Wwg.a1 vw~<- Rgo<8}U AUyȇY#cĚS/K"Aq6~yq=~"U&2Yt.L^P/8Uk3FD8K[g}mN5mȫh'V j6bud`9WH[cyPy)hl98":%uE$6#G}8CjPuS %/if6j<~xzI%r]uADqoaQRLIF0N«D; ͒9%|09R;KJ3M%zn^pxA uU&|[)?kĞa#;U0xWGp Y4Zat^iQl;ׇk+o5fD_Wq?{W`& :GtS<qgɢnzo^X{/Ս3+-_%&:Tn&5YOą%_VTɜ忷M}~0^ d?LC_5'}D瓤K":kM\n~㶈D\A#9Gmu7ibt8fľk# -lWG!E@ : ?%]XaY֡W@ Cz[y b G SW(r3_QQVݴ i֡MW<=~Hfd_7o%c >CaUı7 _9˝ִgUMZii u/.[Yz'#O\oA8,"sw/{uU'jOiB av/_A$ 땥& 11~%Z;X |-tׂ 3PAz ~M6(8tH] gL_l]3[HT)9rWFOj5?wM]6nЎ˖yXg*T=C+yq1l=R]`Ҝb;_\|+tE *kNS^Hwԟw_FˠZZ=l!s񧡥 > 7P \0-;ѥ-TwMCX W]8/gY:t l^;9| 톈wh›LU' "U1Mw31r돔 [tr/ѴnYDC8@_ ӊyReXfXS6ikLx_$ВAV?5wGC6RvJ7ACMc/My!ٽffWs}!bnYH4+Jz#>͐);QQkͪTq,>GPo‚{J`W9^YSjn,-?Ҡ% )'dFL}l9x&*. @:Emrϼ\ $6H]U^IYHђ*1Ϋ_e S|laE[)5ȷGU*)u8_O!ZeNTGt}$ً09[17ϛnha'RS[(zC K5߅,=J"%sƘ\wql|wSعZ; *FW!QC1_ "琴ޱnb=&Cfu}D+|79+ɶ.FJBG$X q yU*@RCh a;:yU*IF#Ơ6Q:97zSo u}Nۤb!фvrmK!M?x0VI.bd FriCFAq{K'n\&.vPGgn~{0=Wo9r*$ yb5K <S?981C1Ԫ*F{NU.Z8Os>ıLں> aٵ;I|NƑ\֕-Nlk!9@&/J5AtkVLuwP@XBx{5囒Dz&pCڬ|tdD%aZ%tPnԉuF6SG86p&RF[)R|M 㠗ūڝW{ha,fzu/JEO5 xk5A羜e%b9:˸?'nO94!5) Dj`bz/a $CxoNȉ* ٷq^z٥2өDn VZCqbfHqbbA縭 lš; !T[(D9PIlq(@HA GrIVl*nԓ-h(,2ݔħv>:lYFql5}1:r1{?6=rZ/͉)My+|q%YDv"Bʍh2D; /MT3UuIU!7-{UcF ,97-|[p¥%L3fu_iI?_p~兄<2q)sf>!*dEַ L fe 9|Z'H%2.6 jNۙTqfUpk_)h 3y|1 ɾɀ ] wo]↴Q[®h;`CS9 HUaRmGQ÷w*\HD&NhEWaf&H)R[/.RsUR!"8u&5QƳ|iJj}]C(~̭~{JI?'kX$ep]1%yB܀4uB dž*¶ռp0V᮫C̴{&_WS&N /#I|B/ =93$gjuv!̇[us:qL+| x\ ې_*[`3. (.W+׎(%6F҄@A f!ȭq{t*0T=,59<(2#j4 'قtA;aބtO३O&16b;iD#aZ\R r;T+_K_E(`K'=C_Q<@,Ӈ&Ic'>[vC.fc+G1y>rSMF#=rb;3sYp(14}K^%o RAp%r 3"2,?2#n(^`ol,<JQʹ*lTeͳ-˭| 6T#;ĩ=xWypg8mR\(m xkKeq|xk2L37GD09]L]aa5hsŭV0%dG}ѣsfPkO)wٗ?gSm':\Ұ9̅yc@#ų@cl]~,)s`i' m@vkMNaͮr |$ W!f=rK| Ɩy23{ƛr>Ȏ=SkO}QwXp]A.w;~ZB_yXU§v3:gqdJQ z(!-szw)#V߬Շg;r`MYGt_VEafo g4 w6D)˘nQ%yo(2w@OI]b}Q",ԓ=YYD$hvzߠ>aW[[b$HwPRbV+Qp-?s<8÷{4V=.*h6~y +)i8b3e *(k{cvtjט[{瀍wsSɲ7iE`L7U]$rif bTe<$ @?ت7ZTɉdZv78$;ְS$9sVurKNWģ I+E^kB3%- :FAKT`uZ,xPE V0WHfֱIJOƼI=q_5D :(<MP)F4?`Z"C2}oQB2&Dùx⽱J|UDc$eO9:lX3#"Դ㰴{Cf01م۝{jF1ob0\MҮo,*!> \E8"nL:A[8y-QRYƳyI=քI@IJ2w A1TM՜@Z ߍV#:LU\MXdXf~z 6V\ׁCrhL"Y; 8 bd7UL7R|h0 Ҕ C;i7xLZ0> [SsMEk)ax,wqmԖrƓzst̋[Mz{8Xe5.5g]3Q61τ{Ǡhuk^;1al:~7e˃G/y1Fzg1JӊdfINi1sU~zm9ASj,])Xy*0R\L gmq?AbTOℶdce WN\H^2ƇnڵF(X̵dZ2o=Mswh`NmEv< 8L >#&jnVIP^$;.d|p~`njHGSU![C*L"% ;ҪsO!نGMPMԳ>ށ0@-'~XJۭzkQ߹؄$,'! =z#E-mV3t,OCA1l|!Z5Lm=xBmyx۠04[JH5cw*F0K[Xga&;[i+]Q։|G$\a6K;MRU:@ Tfb!nA n 5*z0(fm6&3<걘$>ҾBY7(jsU¥Ec.IP:jUJM1PA4>Yt! <WQ=Nޛj9hBi JJ,;URYalM( W0@prqxЗcD̾spgҬ eK0f?x Z#X` 7EnIN*.TE&5d!-{1F=+obbx R?C

    [G;J3.;p"6fC+)\=Ջw!SIEF5jу1ҷ46ccE%3-jt f2/i9d|hU/AprKMI5#a6u@> hL\.8AQ)y^lO+W78Yp%⪶6 9as0Ŏe&-|4d-K=D"ąIPpMRlr~z}W?ezly@Ha55LZ09292{ı*Q6˔1~Bcy1wF$8eLxUs\ʟQtkX!f8O*%SBwu[]!YอsZsc W-$S}o& [լ4QEWj>`rƏ=o%..>y%Mh ҋgNfix_../(¼HMʴ\Ɗ[[,!@ا\2CL'5Te[&q` oĶl#|i):ᙾL";Qm^i$4d~Nj:m ;xzb?n欞N# F$c;s ُ ӝ$f3{Z{|~Ψo,x1Yz/bb:Ճtd`\> H=/ۮ~)/GTrql؄6w?  /瀴0.&E N [ðäFl;c$xtmB$7㋵LT1yqVqۘeh!/28Ч 6zft%$_)cd]΢ 5D< \`oD5y3_Rn_HE lu$|F0G-27؟g^ٶWO:Զg.q4'lv**X,ߔ.72wYj[ܝG!Bߺh؝\Fb!I^DVkmNjݿtC J ky6VLʹfu.w( _UDoQogtH*I7 )IݘկQ[{x\ ՓTH$ʎ4Ľ ?AAMF pO!NnR8E]4Sp|wL&@eH͵l_Ye mރn^6F/ v=8^x5J :Fż s3YA2WZ6UK:&Dv>4MK[Љ+J8U@q.R:hRcOe}IG>?r YDs c/rD'@{ZQ]Nَe!u~ [?&@#IlcѓPI JgƜC > LddF7/&Sz0? n@ M8Jrud YdkTmk~+䕝;A^C@$]K-dڸtT^ڠkYXܛ=y瞀~Y{+8O{]q#Ƅq,ܮ7{d^*AmW.t oDYy8'{q >frQieFm9U8e;Ck~J}cҧ'̾8g>Wq/gmS΀Hj~t L=Uh_#'-TW"trt*oDS"ˊ|竫 FFyrapܚǒC6436:0TDQBkiK/3 ar>a3LzhkFaz]rM]P;GDl7s d[-am֩L yS6<1Zreru G0EgQ7 {du ?}jvI``dBJ^R$J_Osi,a2c py,!$Vp"г h}QmXط,g(r8 ӳ6^2^ۋz~B.uԱXHn;#\OQcmbHh~L5Av39wSZ qL!\Hܤ6mOB Uq0O_%nI䳴 *u).h.+19Q>Ux[+;P2ֈi2Bp3s*;0tC8Zh,s|UԷ-ы#Jm2| MO$Q#P ]B"ˎpfE2]+(k/[?dO]$#kYl0dOG1Mp)AD*j~gKgZ~PQ[źE:JcW /ͽ3 c @)mx֡zx3a`G@NP)q;M/q=֯05Vj5&+[UC =X{ ΗC he[Vv{%^NomtBRq@ݚ zrYd1-ovK3G;7QaU9<#Sv?|{lØ qg1>( ш3e%0$\_Aج(T0]?^&`q5XOhݝv=ȶ-e|[t'5òOEߖLIh4>樀2-bSXPoUgM,@:qDj # NF,E7 F*P|%ѾS[Y]DŽ3vlyd }g>H8k筇ssKb)ֽ?ǘ #awr٧ VrV[d˾)c%mՄجP'@gzDefq#,Ʊ>$K-o:nbT;c%LBuxW9;=v:*ų8X4&4m#}]' 7ʓ>>nS){(tPpT=g^E|R2>K~ ]k8ObmCji.Yfx{Ѩ R-G=,jq~t;sh ̠ެ&p?=_څonLQ"7ۚl^:.;=)OxSPbjŘߡ6җ4(:@Hc|>9QWqu{/%tGr _CO>A&Xg 1jYf)2t8`_jFLA`[4.Nzm;aw Z!dB@̓gT7r޹a'Nw+$uz"Gb[} -e ^Y5z}!u/+Y@s;!v[L.A]p cI\?FiR0|PvP11mȗ¤õʢ uGIٺN w*tMU ux;'-[ނ<KJސrihEiTLG#83A$ǹӉx:+rV 0l$tFD_j!1۾ p5&!G+FL5uܭǦMqKI虗.W`kم; {*(+=&,F)r=;Okj&]@xEZY&g)P Lp-rw."?c%aЋF?rw3mYqy]NPqSX ouߗe9Cfov߮3Ȑϊwüji'in6P0v |ܢ8d٥?' w6/i5iZ9;YMtw=gAzRդX5\Et#>Du4F|ð>/5n=N斮;_ZmI9t<5w0Vdl9Tk\zZʴ$C>R* ^gm3w!E1o]2յ@ZQvw:MFJq6؜ib#馧( RF{E,e#Unزb$ea/$ <x&j%Cb/XG[iD>:h2ˈ.n9NY ۸3 dmgOk+8`TiQټEgoJQ[./6K lvSc% Mjy]GƆ1ilaߐ^e97{+:7zm/3!%&5h\{!m+B46߬ ɘ}Kt%F9c{#=l+uHui?uopf٠.yNjsx|`8 -t; 򵧮E.}/d:hvzBQS~UH#E +~5@]V]S S%zwp 饋 dSge93faVˤ z~J>b4]sVfn띶W*{9o39j' f3"Ր>s %G0#Bm͝aA=ujOh6:׵\ldžWPKtR:x4H qEͥ5`">}EdPU{?( zIbp@'At{I(Xg[u2NBF\(4tс/F/8ks3=} As<?f΂fي_5ق>?#@5PMCq|jG}r<}- wYjRKQ[30 c:dT(q.U;r*4m;}ԿS[7.eqH l1e^Omn23Ii7R/道߈KjB3U/\ew IOuP"HޠJN(~r;52t"Czg/#g%(>;Rdk"ƍݜ:<1M7͡H~B,$As/Pw1}_JR4@5~ŧxJ$"Dl%[2\Piuu"LV&y( a,C(T;#T3 TQ;@ѻ78m1u&Rq֘"3<15fPuc%ywA;nv?|Da~ND5Қ~O~hpf/h)7Tft9&@CyN@|x:C ]T?V>Q 押 )1ѣr&IW]]c{(ct {55G֔fث/h6RQY޻_N1E2RބW߃Y 5  O}ۘMb5C$0Fy|?J:e&XbF"dWȯ <=cᓞKKӋ]2Ue#sl\`@<-I [$Uo]`C.TڲWOBg~Y ]%ͦ9TqTCp҇ZHLֳmn}˰ݫz 1tCƔ)|f~?O1cu*:QJ@(CQv ћ-ǻQF$HpF U/){BaZ]oFػymZVTl ƭ=c⺤QK'X~̣Sx$A̐fR>%WTw>t٫d.RIS#H5j/&k*|}'~VL 3K s#eXa wgY}ă`Zo /NWhwng2 ઙ>j{O>Dp:m8X-K]^ [$0d" @i0 }ۤoG~cKOZD)Q.Y:v+[0+OQiJAxӡ4(oY#8,:Dծ&4p6UAl֐ݮc CeEX<A\H]Mw\Rc:/C^艓D ς|~i^zy|%z}NW_F7pڄ0$ jZ龊orz-fc + M̽\˽{H18nv3_lA8P8(Z/JUS֍78?U2*U}I`zI'ֵqݼ{b^O "捴K{s{D^6oƗ}o>Lg)2.aw;GR3kM8@wD#c*\LK:pT+ {3oT#@ںq\ զc|uj[~UcXV.AM{&W~|⠗-?ƀ.~Ak^k Ԉgg3L>olF潳6rkiFMLp0n;AJG"i:sq6$H=te1nr J᪡pO%sg>Bf3OW%'{&6k_Y),]YPˋ!k_3VH:%OD֕kO&LQ xV¨]LY#ʐor?(bC!rD#K%1'~glz ^T U<ymC8<\4% KHͩ+9evMfDAHVt)`gӵN6Qќwv3Hewd#)3q.43zm] Jq%s2ZZSV:@F6~ODF-f\AY?zs.$ep[ ovń5YػԕcW]tj.߷|ymyNc` 8c@X?3X]w)HACP-,h$@xjDa爞x]Zn*0] wA AjS6RDYDb;t%&_GudH4_}#t`? ? |'p 1jɓդzi/x*! LYj7RcgE-I[vȎD:# ּ֣$H/=b@" ex:ipă3q+$JaJsq%?ޑ,}UJp6x>6dFmbyޞx ) 3=A1Q )'i;~ clN[9nR4ZX #} Z3Zt.)1(qA^TMbx&'ӎhtр_d1ZGG:ߦVHlֈwtQf1ųw7Ƌ#L}cc<@˱G{MfsZ3!M6?v'im05yypy&4~(&M^0`/~[pCwIaCGξѫJq\+S?W]BDZ:&ro4wͿb;i*r:v>yi&UecᘤHU"-X ior M狲 ǔE^mdUzlvx7y$^~CHMeRNtWt^UWl3~;{ky Z"EĂ[k^b0YʑgKdNbl lS BT@gp|]!\:f(m8-ɯIs*Hw]ODM*( *"5s뇳Jzr eJ_9k$֕혮zXL".F&m K{Cn4#OrةhZpߗ/aAG&坂?3JՌKb,e\/>CU>nBwvHIkw1a)Y); 'ٌ uo6HDm0ρsE<4v,ZMΛ4DM_|;Q6[ %? O]`'pQkLSXZp2jPK["nΦCKbBo4\x2 U;}ʀŽh@HD` ÿlwCnr I#|`-=Re6{]?U_#5Jx%q6.A[mD O%"aq\bXjZzP*f4c`=MrTF> pq'(gu V}=bI±f^PÌpӗv0xblXVR,C8M2I7\P0'<}zG!NE^ JP=xmC/Oh&v|eԄ]pkawKKT߽ãuq;0xX~ +rrGQ0$+E _ov=p-` s@ѓiczI[E` +i_!J\K:r+q`b ߃6s<(:Q=Yӊ%q/IB qc\ mPw_&p6'JliQK ~A Kfa<O/C%[?ҵ|#T[va#GǍ'"^cfUgSn9xqZ3^٢S; )C3_;a]Yqoa3/Z@?m]"[?LeJH e g$ OFv다aStb0xƀeƮ 5 uAB6-ղx o .j n~ArJ9`ڟbfnlXIzSCƛ;fXV@DyZ*3jX m@!v_@qo66=(̉$_nƽM.O5݆TCtpv"Bx1,<0^^T1xG֟kٱHwkC0$ރa6HcґdmvrRM_Hy0]Nꖹ|9}ӹɖwkwmC;6:im \"ߍ*~Xe[vv xQaB^KZM  U~MwVJ#JDP;5ٖ{b(us*\WH|0R[y+JP6}.$V.HÿQd۶\OaƑt`ܻ=Ho)EXt1Ra;_>jbسql]^=uMd҈jcuikoj H^趠%XS?t:-1>JܮX|Wן_|Wngz|ˏRA΅J^< bi5[ j_v{@`{8O%}A( k˗xMh/y"rx91cU.:|LWV1H^uVՊGIeJ.Y- SfNKXA, *wJY3gŒOȐ`3ǹH" V>}i/<1|+A>_\ u{v`oʀ3Kt&dzMeWy,~ 'C,/*E ݫmXYhTgwW5*Wb'wċ4QD&emev68 iZRfiZIK8QtmHi6{m%g1?ݟ=t_"A(J͋a.M}TB )iy3sZL۪2Q$L9:?>6CjBa8i(ÐACC?&ZU'd.ۮA17[yHH6q.RԔ aߎ>y-5yHq51.\MK/G-2>f3ۨȷF5lp^E=p"&ݭC? Zob\fpt8q3CKU}F㟛W=#T+F ʧ9>u6wtSP|(2ꩩ',cb T[m#3,RXuĖPﲻ3(mqT8pœU=Oݞ4Oߗ1'\(#8jVv菬oPxGѯ#ws%|U@& Q=n `)&Z)f, Ut2+xW3@\D~ \=sɟ^U3j[g.#lgNRMT>l߁o tKVWpshDWiu=7'[-_<߻YZ'ϓC49w^ҎމϞ ]U^H{*G`zј=ySG ق'a޺^IKu6숫8~tDl~82AǍA5KJ8S=:[h)U=^eg"|EHNܿ"YV 6tD;/`P/׃BKG[[lrL1aLxqlTv Lm(S.%͉# Qo|(wn#˿4>^|*)r Xzձb0%8M3lKzE˛-)b}]R p3Z4gթ(y6,҆8/zɸ$eFУ/kt<'!,BxFl_ oS9:6јG cC }d AsÞ%03lxyH'1EQ۴!co`k 7 }sW'U Z ݇{GY7('R>yohiQ+uESnku.OKSgT;̦e_SR,1\S]1λ1L 9`ǝXD2n]0: *D< l p_W4:?cW8+my ӪaԱN""M}"XSڿ;^jS K\!P@Xw»ykڴƄR7q}c6u#^1f,XJ:-{웛f$G`Tp3,!ZYڌei)Ԃh1 3ޥfDܭu\~@00Cΐbgkd/4>o2>^hܠPR zϿ)'>"N~yZ-OۃfoD"gVL!j^!ֹ̀.>SPD=]j$_e!|-Cu'up1RY@@]zr/$ L-Zݿ-n]duKJ-+W3,?EwZFwzׁbIjJc`yn䁑y"RLI,t}|o%PMNsl)I"efJ˞nQwO9q#DlMݍe}SZWлȱ$ɴT'9/ VڛxeT Ra+q!AI͛bⲨ|Y'Bى>Mn':1B>57>C avA  A)=ޝ3ȕEf=ūn]"'S6nB秺=ko~ϻ τ(Du;&<7eq9֬㩺cf;c&+y.~/yY 3NVCVVv2Xqy{QKt ϋTU"sS Hpzxӏ&4wθr_$yy9ӗZW{DAl{ĔĠ+ju F?w¯,Mt2Jŏ9Y5GoAr:dE[F,ckt6>9!7(BtOft)`w|"oS VSJHƐ+Rw D`(' `áf]KR]VDUkTg~5fa(z%qd~dCbc4 wSEw=oС̵Qc4a ; NNKkBk" H6˾$;C(Q/7`k*>#kA0إY] J ^.-+?Tg!@ԯHTSŧ; jZ~Eږ o@^EkfͰY?\XKtĒ_qVn[?N:̖=#KC}OoByNߎb)ޯK?.o8ƹR|h.s1UVa9vؿ~1ETj7> Bz,,(+|'(G g1@'صԖٓXz@5ɍs/|4Xe'$̸fuWm6'\5aq9|Ҏ ИS+.nym!d1x+C]Is)u5N@1G(6H'auLtf1G|M^ V>}3;Ou9G:_lpI!$ w(sɦޱ-з_i!B2?`g릐 vWm[IRoɃaqn7P1ٯ%hbJZ j ";G9rCrҮ/8te]¤{e[嶓wU-R$!׶J.zI'&ԏ-@T-YxE.}LKtP)(Me#G4#ʔLb%+ז i=wFh7)كпr!r5B^*Qվp֫ sۥ ,r<I LZ?b3ܛ57_ (}Msd?O_"lvh[ Tk叭Wfoˌ "t? J%YX[۪-YYFGX SmD2O쑂#_zoN*>UښD3"mC{wWpqr/GّlO4,;(G@ò J,'| O=̓qOl2? JO)!<`:.tWT1K?i +P8TiwX'oP'%Ն+]ؒulX۫#Q%J߁Yd:C:= {~{K5_k+ /X=`z==?6&kc=5qKƅ3nIvܑOj$2%Mgxr5(OF\hUvUlv*y&Zb'hĸ@o4e|)]#ƜMzD}l+>)LzNQ@mqC+ʛ=g)d泡"erj 0rbi}j{9UN#粃JV:US~xce[ Xӆ#Zc|G EY+1dcdIֶs]Զ#{Ajg+@':Ӛǔ |/ ǾjȜ|R um%fye.'|TMedQScDV}ӎQ04nU1厊(⫁/0s:1LF[cLT' nK_D S:4">OV6g tSN bOUߍe:kp"]~y $KI T3寝&uriKfCԻH2ʒmK3pg([D".0%ΪOXF-T8ң~jCW*~U@ q?#DwE&Hc.Q#FC me˂٠d^d3jr?& Jwjg³'/ݚb~{evBW5CQl=bJ ɽ~ ie*NF2{tڵ0ͨ< ݾ o zmc#ƨd@8l{|~+kWHhqY}G2 5a6 ;dinII.qu0m!rϒ5vzj"ɣOLCSl'Dyls;>L58Q~>n%=Pw][V>wV΁ahM|HoFf[@wv|Pjk<+\V{צҺ kM4i y f7.;T!ϒ3dH#+Ls;)LJTK}$ԏ3;r/]n?-=ѰuVgnV }m~F^KE9`rE/ݖ6Zф)m h5|KQ#?r\DoQtwy;QnՖQCT>/a> tu ع3cgY0X^l LPs#F8! ;͐H]rzYў+ּ2==anIzxGt%|8 KSt>,Ґ~G< Ȉ {ƒtTs*dxlߺr6q2jt#kCf+#O)AxRO#qH=lFk̞tժ)/%. w[ր$)B/k^pȶRy!jpaANk[L} OAjwfu,*gA%SSmN%IٞkkC0 V]Ӌ5M)#]btQgosuX0wRc#`q[2A i{ZM{HNQ~ jw!ē3 !m*ζVCRA* ]Bt]I+(19i̐G&? 8cw/W]:;aE(@܂/<\sX|c΃w5cxgqH1{;:&ɩ@ַE\9KD輭JܐRΙ @5QuȞsGqJGZ6_*7<*Y 9{gJrz5#_VchuB>3qmox=9lK^+&LG0ƺvfѤTeɆM hL!ܮcg7GSOcFG]:uo1ƒ64Ȫ蜹lY \yc3P3oТ1օ.Nn\/z'nܨMY".FLC2|~g*уKhX Q:9/a+W& 9 Pa?Tgiol5}.НJZqc:dd.^cl=2d~wefuK +x=h!=d;gISO)ګM Wqnʰ{ea˫sg;,8-u盭\!{!l>$i"H6[roL߬M܃Kev[}X u\HX35Z󒛍Pf[P\jU͓}&/iV#SȿN ]` f q̛&N'hhSnyvU2[S/cj9NL_1mSXQF5s 'vFR84J+u,RVt$#-Jb\\nzp`H*ˈImkGdm# gr~#Ͼ:.d jijIcuze +k>&B}d},bj~p}YS*K".ǰ1Urq˺_Ųr6ܟK(>tJ~cggf\=i5 YG]!0Rbݸ{x55›1w{zD/=V1RsO~VX^'*X]4b) h&[#]̢Y.y\́wJK\hXDšg)"/Q>²~, =%>zH/y x `X ]K4pOᛱ'!3{Pը5FLt_=eo6Ru\S]Ǘ>-k5_VJ}dL6ua RaW3 s\n 8Ge8٢MSJLWx-#<}1)o$<;UGxeW6{_%V>5q&ֿ8[Xr9 ?`㋒#cXQOI=_o5Cy%oSd, gXB\l!gvg d79%#Pjc;BXK8AFPu ߷ +}˭ܡ_V4>7b0##rOCʯJpUGD&ͽC\RZ2Bʂ{;ԟ7zq4OUvEAȤ# ') o!rsk[?';MI E~܍}0WtgR"0٪׾ _~G~w&>~ey0kj^IĦ\ f@/x[O馮ehIc>q-~ײ)ŪAe/.DhF ~|\D&˙q>@lń$fGV1cAHU(t7fA+ԡdk?9f}q=싫fnr?mIXt;N˥ʽ>QuWXـ jb;Jd3 υ9B3]e6ٖi\ t(!D1"&֑'l^w%J]2K-"Һ<:;L7buhUwdst,I*/;N`rb@i"TQZxKE bfie\ )-3)`olz{l̪F@%{-w}L\7.37)mU!&5@EqmDaTs|cZfjqo+2b؈s2{~b\(Le~5ĩ7J94DLC M?ka[4EIríKV|vV$#@e7uuzva㼒^+ Fѵz{4,ɰM[ [-Կ# x)w"SGm%PDNz 9No-lΝ;o}!n-1V"=rx }/7v 'E_ZHCZy>>, 4R8W->LvNGD !{OhiOY.LͿ&[q}ܔyUTAw@?s |uX kV$ 3hk|6r K$x(#r|B5/2L: \ň/3b c!RjL7"Rf$Q>Şx+M_꩷B\[[I8Mܮd0,+2ܓ}MUbTJ?LjnEi;_1L8tk϶)OR2Hn0yˆ6fXM$A.eq#9+eʃi:D*UmJ\Dݺ7TcXRԅo??}"4a/ĸ1 ³l!Na)/c mu]n¯R^rQO|=鑓֑ |F('0as$6(bwp>Htmo(ӹ1fhيlHP-M.ZRPPUOO2E 8ݎLM`/f fE= \bGcD0kR`m}M#dB:ۑe~jo'&Mר86fB^8篵2=cܞۮD<:SQb} )gw/CQkr6E/s6O/w)㪴8WXv[ԏ#~Xod0W`8QMlAS1P1,F$mpt@M]j+5`*VuJtsC3(Cӗ VௌIs7L>!lإˑ?q xHw).QI3km_[sA2cdurV_'kPL"276+)ȘvZHW ՗i7JVS ~jS]3", jm/ff xGj0eNAL@^lvL/a8h&d>$lT0SFc<:*!1YwFcJ2CkUM80NszH`R+]{wq>&senv.+W3k]*ti+leoЇ6"ܠ:N77'u!)b[Z 8)ڛ C/hwn)n8KSE0NTvےlsX'!;œI_^9r4=0`qkX $]|J7J1]I%dQZ~Iɀ߾hw K \|IB+MϽaQ_nMlX nbàÒ B[I6ҁ~8^y ]exrpU.8'] iAGd2 <8BF_je,LJvFMdS\}UBdNj-@W_kT.@OD[tcD2/{JZh3$LPLddEoOef #Q'%Jj`:{3ʢPY Nx5O:q YodS5΢5 Nj9U+ndQ717rfJZ"Δ/R-œ7ȃ@lVZᛉ$#@,"5@|HL6؀f Hi)VbvA5+%hfj]c˗x1)x*_D#[\ R2fuߞm}4`WL@-Z&)@"a@[BCy;\+רJMk!d<6v9кʽ`vS/~H'"5%fZSQVؙGmfXр/i.=y3)kmǦfFۺ:OhqǍ{"A}Lt~ߊLW pZkUwcP ?[z~KMt Dzm^2}_]"b+@/y"0QżE[b0\Rfy( 0 rbȮS5”;tZC8): 1V@v0E4\ghVn N3rl8L032xPjMd.˔5 -9.$1O[1QpFj,`,fQ=c9pp9ߕ.~5!-7$̣hhNٍȀ=ȷ0d@I!wRsy\P'n{Q ;ۓIAgG0m˸ Kt UN~4,SMXx!7]h_(RU9WEV,Zvr9 ۱7-|^AUj~B&ӌ|gwdOKzfAJechi;Ђӛ|5^[C[&!@e<Ȗ޿ڻ"+rFYvb.$SMYTuƫ*F;&U|\@e]FGwL~02@џN ݲmW RnGd'Tuq{tsi2u* T,lҀǽt'R"<hanQE8 [N;v#jmȓ ^.Dni@=Ms1O_umܶ?:͖_C@yCt.A_ܖy@x'=cq` Rq"Mvg69NMx4y GEd EhDS5sYRgv:t?T5'㶔+_9;&9v786 s(ڇ|qY[.A6\2#ܯ73Jij:CwK"cW)%ď tzT_ciar`"a2Z[ls 7]8zs:9J0Lɘyh ,{#Gu XGuE)xXD\ȆF?)3"Sq@`r.ƴc(pn%2$|C},aDKz%4'&7;4W|p+WNyWhe;j:l3$i}RemG*ͽh'3*)y;$؊o.riGbx#J[u&H)b8=ć>aC^U#TJBzI/ϋx\:?;쐫OSO+\RdhK֓^7\wO4~·6^z+Bgx6~2oK.мE@܂W.Cokx+S:dg13{/?H]SgefRC}Gjj7|IU%\Kpul#}9[!N ^yZ*3AAHdٺ cBzJw_13XL J9qA HZ+kKMala(jv3vbc!: ZEP~r 7Лo5}2ᖰziQ?P)C+\EHhi~grdؤoDm/F ^`(+ w__aͦETuگE{cHF8رe#aza`}j$t`4(KVv'L*2hhv^bpޢ'VpsGٰKtm:U@m%Ao"P= }"JӍqрw% Hr~CR#" rв$}`bzG̀9ƃ^ &Y,tl*#Q6o4P֊HZE`,Yzn'(|Ll6,LƁH,- 7if2E.1Jj~Ƣ+D; :wԒʑ\w .= hKO:/jF1 5M#n\nϫn uc)|^OzK-(a+XK":*jPF(+0'WU[ @m"8|rBd M_^vq_?g{;EI_$$ZGw;\_T&)~R̬ $$AP"YN"qy?,*0'65#aWV8vvh(4AF>̓ވ;V,vxTV 29r;;{涥m*"=,bQW}"Ϥ+Sq1jCc")s"<2w&2r 5TIw"tv)WȾ\M^=uylgGﴈA~`Ug`w;ۆ&D+&[XA|#a%[a0hkXQ <ÛjѲ6+: ܱi/Hw<^>bc9:qyS= #LT%pWͽbfev5i}i1o؅"`@ӅB{NuEg]pڏVnq=y%zQ^_+?Ŀ {D:ڄ|Wo?q35,&1A>ocV 7L[[OyFX+B? u2β??)n,X^+W< PSV^M;.3+ 0[DG?W>86>&Zf ײZX$t"!%9iH$"RTM[2;9LhY&g 閸@T\%r =o l^?Qsz_t+Ugnehq_x:CGkjyui1!2)qϣ@|د߫(]?ۓSu8IzF9bc)\W_U,`r7V{SC|^a*YBf9Iup>vg*̵#2)V-A[BD6&͋3.kf;x#:OtZm41h5 x"]vb3zQ+-QKi%~7IU/q/OjN1H*ބzÿDPQ05WC_>$.cj ,+ f4{e\*:`dEulQY7-#x8ns-@4 p!KyqY a(<2 c nuG1tCJӅޜCJM]B>-TL_~>ٷ.5I̽?ldu RQ'=F1"-|u db {+^IX7~Zrk}ЌxN(^Iy_ [,c(1-1׫b_fâ)@z&c^dL]$);݁!Sjll@ m(I50}̯L":+m/>']9lC\{y[]-Iz])_n_TaMus~qvK>^'* %GU{ $6գN~ J8~ܧ9+"U0 ~TdOZfs KY&JޔIglV˸<[i>]i qw}S[|AV/emƒ0_;NF}8)Kp$$ $DG]1hլ쮾+).Bo S^~D u כ- HbR7Vu׶ZQ]c3O-ˇ(q*M\T~< jtp5T %@u`h2x2rvC(Xic=~ӫ&xΧãF@-),byP!lrHVkJ=9ys?J99q14G?ɯC,0!a$} E Ԥ^U %ze@AN=>(~>^)9zh(r>xJw&.#`) U{ "(4?Q#"697t dt9<( `Ɵ[ `[/|0=ܗ=&}- ݶ R茯Ӂ"JJAZo潑R+x:)B$MȻ&M9I@K#}r)KxQ ?үi~`/k9+fc^jvah%_5-&w1n7hlX94^A7/^H GbAKxm(?+\E-ElVhTW[0>mǻOAEr<&)Jt5>} 1W*55˕"­Iޥ2G%]bnHc ϯ/dڎ R`3I;sݫO2+ϒ=|ų{GIESD*/;.)M蘄ěp#寡)m 5؏uM(EH}ѨIep D{^vA"bbw*X]bL4X i~?bjGNyZ;rt0bænJ7FSюRGRѼhp΁E9p5*`kK-}BϫU[̓gd;&={ĥDdZ=>M)럆_ՠ4YB؅sk]:jP;@*%z$(yGL^!ziN %3ěr&>ؖ{/GD#XP>#Wٮ5}6n:9[Y+a1ozWkkg7-g \L-QavFm=7%'9t0 =Xx'}Q |79ʈ<$nz\.!Ca=)`ҥ4EoMN"rM6Scw)7yKD:,^E'.BgUhyYW>|2(X%! =%n)6G3iԬ&7<,{hE2Z4W/3f^ P)j(LjjbV;Aܥ DDjCECsNBz~Ŵ;S€?$h懻Iʻ}(睏O̗Lޑ1e[ ͪ]d#;KAEivޑwtsk@[S,bei.UVۨ`ܸlr̀H~>%5 GrsSlqHdpCcmgش:2uJ{*ΗS#h]&#N/wlNؒ|oAF-!:6vgS:S4CLHu[S,nfք)XQYhA`tvaj@.=;pv5Ijgh=ZnĪ3eP}`,G״y[qD,_VIlrdw.ڶڿnE?FGl˯F5I\3(}( '`/"1NCP;P-]clJ C2!j7hP,Z-hJtˢ (Kum+7 Ѷ6eP{xk):A)&2yۥI {M]ً Ra.տ?x[ؿtgh}]%ʸIc`>u]˫_LJ[JE>;BS;WY J~UN:6ۑky3ysh?bn ?@Fo>wxS-BNQ[@L%cgظi.09@ QRR;SY?vR6VMNo"y+F\@q*v8nM yTH(s<#Qa? 3`n#+E숛;𢎠w4R#Se!*a$W!V R _D癖e)og,VAt9/y~dER{c!(@d:nj{NK!|z߸ %\fP(;)۪^b:;`$W _vՕf#_^6>ʷrCbUę? ~*#0W^Tǃꂒ p.G~-PR4^:TEz@)ԏy.s>W{!G0% &)V03z}0P1%TCBFu=dN'M3]TC_k^Y6!ŗÄD[ Rl4B}.wsS <9&yB] Ugʱ =;݇_QMM"Fw<4ʔ%#CΘA(uf)n5EM(9uRHX}18|Y^ wHys5V6Ȣ+֭~BUЛDE]*<$лpl)+ud#;$M Urusʑ,}\=>[>W.'fAS5W -JZyq\sU[2$oh!Jɽƾɔpq" 7jv3Ke>ׇzKCAZ0݋\s@j2iK 쫙:aŜ MhɇqLKp]ڴQ`MJ%\'E3 @"=e-Uִi;yⷺy2ZNIq1 =Vvl|_y<5v}}D&ZVLi,î狅=9=%Սvy%&A:)X,=Ex e RL:xv1n$e$1I5:v'x#t\@l keS7cCX%=&lj;:n'q x \a9+ѣBdBa6r~W h(\|sx뵳CLlUޭȪHÑu5l[JdB{^sC6 ,SĹl z Rj@>/s]1'۵Fu OqVTY%wlqv {m\!KꁖkpcVyC[)w?,$MkA_R7@:diqڮ`]DHW+OIS8Y14'x i_?d}+¥=`‡=JDneQZoW4EuR`Ȥ[ʗP2R_*] eѡi+йzbr Y-2)撺l]:S)̎Qa/j)%k \S 2*GV`,i)mPWXE i< L[q}[Rq@<>jJkّ,*]TB0 ;[#Tdy/yދ}Ib6[ߨwoݥ0$<T\;Wk/YNiMS$Ϊ7+֐YR㑑,}Cjmc'c [ELSom;.4'q]k;T`P(pvoZNC3#*9m/_9bHڮ[eφ*+C޳û#_NkdBH&X'[P˞,˽Y8-4'5B2|H, `l"Uq|St!VǃhKKB;݅|*[sИoQt.`T-h~ 7M3}k7(H[V‘|ڴ)R)fv5C~ɤ8@/ S>xpD<*UurNwYys$:Fb謨ك y)(\f6>oyOIEPt̐*^BM#TRN.yG2ac-u+.peYTCJJ{pz$̂}ihdXYu+Wݴv6Zu00rEiVV7"/~R"(ea4 QD#f.10$-^)J/h~$o`q:NTe&i]Qu |2I!\ LZѤfjuiNf~a9cW-r:k|$#3)BM`L'GCzo7͆Իԇ9uw{Lqb%2Zu.?H>LWXjkoO gY0.o;A\wF;)KASj}g&lϚ/pͱa =e ccVwZ )9X,Wnc) - -.#ll,:ȃ2iZ'uiCH 3uS]e(5N\M^#O-cIaDiw¡aaID\=Ձ=+;Qgߥe"ӭr/[9hVw }:Yݬ嵔WODΌu`\=Ϥt\ S27ًQu)r>%[[G҄?xPܿa"4)w&=C6TXޟ -gMwQ|lw;QvJ-.L5+Q[64S3\J# %4~g'TxRcXsqvuK)t3⛽^}GTQA[=vG'@ r`CyR1: ĉW} >6v']9oXvm)`&1u5%^Ar;+DԜJ`7f *m9㧛fE`>cZeӅVi",&[Kb/ So';|GY $.w6S؇j{?GZRIw;|FC E_+1P/b 7J?%}@?o{.o%.>%O >$[ʐ?٨|vlroE nTY`هHdw@5jJWdEDؿ XgYY,x1F>z=M[8& 3v:9wx*詬CWBkj*P`[Rm?Z$$y3uOqRQ(S,RXHaD#SmxbC xqY+gB8XsG;Vw/<~(jx::sjZW mMcRI{NӓG3p(Dc}} edH^Aڳ!sOb O;8LJo3oj~sD%@5$$E̼Y1w12>Q\BCq[,\s,qD/@@h- rjN49pJl2|='f}+7Lzw ڛ;ǂ`buW6 ~r+ ]MEo@ ʮ0[ObnQxLEљMV3`f+*40lqSq,Ka>s`.M\s04OeɑLM>tk >U-nkR43<P MY%j9Hn |+Ɛh,S*rr}0吓Ÿqmuz QF(,vVa#A0CUE` P2էL Z2_ Y&V'( RJ}'vi"t4') 9+9B@s :؎U%(͏т48"ml|ʫt C*ySET](,͙ͯ/ fV0nH PlM3u."PvEtV72ƏG#q&"X#A(#?tI|$k Pz?O}$.T 6ƹU+VgL}d}rv`9G!OfXjd\ JN&\tʠɢ3^ ӥi4Ii{yk2[ b!ȉT[Q/W;NFR9> WSB7nFn݆QfGO-@eٸNQma)K`.+lD wd;Ŝa$edu, ۠/fNӆr '{nq4g.oFcD(ΚȊn\VUo_ ];HMHݺ;FDͣ/1edl p7-nb'Zq<㑅+ 5wwvtAf_aC[uM6@V}¨Fg.Z߲lr3^] A%LPP<9&`ԿiPX[wi[i},FY[? @~ q8;$lJuՉRғJ>! ǶBS Fgi*# hs97*FHz>% "Dc('л!h4hnrpkRn:l6< LLPBFTҤTIz{:tMryk8MT(TZ߻e_@9kS/0%3ۮg$a:4_#,Ҏͦ`MDJH[֕d@(FLuQ1Etj1it]GIn)td^n )23q2 x)JЯ$nvCmCUTJ$M?Ӽ<"\ˣno_\G e)$sY>r͡h ꪲo> +p~]a z~)-P{J`Eʦ-fb K2>)4:\Yp`zq7Juk\=MܹsA*o'NGOӂXĿGkҾnӯ¾n1+hN 0w+ߞSjv>Pb$ $TM**wC+oJy+(q#-ݍCSO | E~4 'e9Yr4-YV{GBBDo|e-a:,~QΗd5B6ͬS7goـ: .kC#қ,iFo'x*U >OgpAUc`YL {f&:Z@gK]k#GN@dSAQыXg A RUYC}B}EW1)sF*uw[S=,HK 4C_ 5j0հrMfC5SagcXH\joUXv|Mߓbu="a WPW!/= zxRmz"rPgu#e`YhF W& 9ܥԳ͎F[m#)HL\MϨQ^댰|)O͐-)$itAY7R 9`FmBwIG{? +s^aU 9գ-5$2"/,7n37IO91V5e-mYdUF'M> jAn[a4FL%peqp\62L & tOD8%YOL܀ )y' R`V.:|QkIC$F/*0Нcg ~}+v8Q-'w\{=8 \MD-wWmuA_e5IMaXfLd&:-M[?@0oJ6"nV45cB9(YOp?,䔔KqMJo?^dCΔ{'6 +hoP_.@fºRY,pJaU@^گ/ݬ"Nq8qZ$"Cf"r)< yNRՄ!xud67q\$-VU]R]Q=$7B. 䙯B7n3Rץs=zѻh92di z_  ~VNRa}%@@'IK ΞK s*")&l;(07LQ0/wdCZl~ NJ_>`ЗM=7{7 >Z z<"t.vb>\)Kd4Y1 qV[= HarF@N\[贳LQ@ *E߹E_ hYsrg26 ֒#jkTCek ƿ O+\7ObD'D5$CSXlt OaZtiX%JRy@E4GLTūRLdD>Qa], q74fz5ST*W]hٶi˃oFg߻zۏn`O*IWW5r ecHXeL%1zfO ֤9zX}1WM靋;x\wY@idnA @S< LW{` +J[hڍ4 K)[xw_x('Jp'.kӄIy)Mt&" ojeF,7)Nc}p # Y sz_P`Y1CGf'J,WgGIYYE9!UCkF]?.BJ]tZmºv [V'@t<ݓfjhXd~shfsꦛcFk1 3_1DZ,>u.5 ;g%#LNçNňdZkyg” L}k2tg9_mG (Ds+yxk_6Pנ J-^e߸·I dVU4H{3׌W{c\b]91?MV%.kC?g-fywflps>шW9kVF! Ϗu]}dT̐Y 4IFO {M~-\jQ(!Syn=ZOo aYR@ޥU&qS-MxP/F &95èX|ϩ].Ȁcо/מ (R[Фx+bD_*<-Oy(4k R4X5~]j a֬'"1?}Z5EowLYadvm4DD4{3s FF}%&1I4܂M7?<"9dR_UG"ˑ}phf6;[o#@Ĕ4CF?G,8-8|i5A[K)G|pܙ 5C4܎H^CU4/!Yu.O8u2SʩoBi"I K0МH"t-C.rTrs:>uedQrh=ELNih\8OmVrd+;%x-:]N?>Iry9*$Yȧ*$[X-U~^U Ó>Z3gSqBq():.FdF H^^#x것FzK:^ 5SX>m~ȇeԞfRIg@uh)[Q9aTp_MEkĸRod`bkaG䬥[V uɯW|^ﰧe^k/2\J) _lI4钸dO7P Ī<yP&V()*A=]幍ٲo޶I'!W =j/~f ~pk*_Z&/Qv6fU!4m˅$P⃻$bzh|Ř?2&) 0ՠ NW{ ܨyal ~Zi+>aᴝJd!xY x7H2@t4*iW=gzߕM݋% +!۹!*g? ڛ$[|l$q b6o&5W΍%}tc{) u)@\vayl{&~νa,zZ5k):J 8^x?F'L#͝2]$HMp;\u)aAԱDk L\N"?{opZVt\_:㹻m>]8S|"0Gp$?1֫ZM0QimrA%m0FEaƲʂvϟVHEv =hDz{:~>Xlh)ahX0s( *1m )M'gtlK`%4UcwpSA vc1J1Ho+b~Ȓ/,ti8zS,B )G|) @o @ л8[aѧtӻrṈTs\ζ !cy,fg UO-gtD+mpyhN'?jU5T`:OE{63jdtTM4t!?x"<(XSg0KǴ~7gD@#.ӷiHR?x.nG ǵiϴprskG1 %G<]iPAnQ3q'š_V*&6?zcSW|޸7VVg9{eyv3<%?iՈb 6bOdWs #3ɽٓ}"csmnC I8 c$JmkT }$ s5b[>{H O?YM2^)Q\SN%AVi=hⱶ\ȷ4uQ~M_jm3w%vT.Ah0a>':2AIR+H.hcJJ@P Ox޵EPX 4׶ $J(M~X΂17oDk] iOb.x8q~߄]ّۚ폨j@HJbgxi,LX <ЍMԎ=8`+z%V{Ou$#SlZC_=/S&5ڬlm 3n#`Xl% |N3 ~M=[oN z-ǺZԼ&P.]#DɸNӠљw!Q URLЏ(\beuuFͺ^JIn`NjSFh" h!awz1q;wO<}9c^y :٢2n}-9=0 MxRyN?nCLd1>O`Tc1 $HlM͚am*` gev'DqeUy4(c&qJ 61iz^|EΎ4ȃA mNߋ 90q?rM}@UMlvF ՞%$Hq6KZ> @G*΃ -7%>q/ceogNi94 M̛L@z?vdBoPlQQ.UZĤDEtسoۧw$ Ǧ EsOh8SBt'ILLeZIw?^B~ˀC&h29PeFn7=gm.~ݿl2&f=YZ8zm}hu7>!$PzGivjxòB zwakpә9/[Et6T&$3zZ2GO}: -뛯Zb?Aunm}eT̰Z!ߜahCPTro//.]9()$Z fquI#sw2/ϮKz=bl=|0ĸTZJx!5 弚%qM'Ca xw1r]f?~D*xLvE[s9'35`)siTGUJcC#ś*I)QEy؉l~䣣rGE Dd6ڨ|6UNe=+<ݽ`/-"&iq@r8r>Šw ͗Hlb(K(LU0C ANAUBX]$|nj$L?1Y3>;F׳+u2 x:aq%/oiN`XĤ?ﱍƒ?_pY/ʋ<6œMN$ Rm4EnO8шVm"%W$((U5+)Lic S9\S$\(iuhkw]Rd0&!˞GSƨw_h lxwɡE-QtcTwUs)WS0АBk6BCjh̽C#ǛGp/'X&NdFCTڤm]-wֽےaWD)fpoB_Ӡ񱸐% a(dXl2t#| (~ v@ Faƛ={Ȑ5MuħƐ9矮Q Bv PN pjƧks;iޥD \S)tuaB;TՊ'4-S/2& Ty2z0kGp-g3&8SUAʒI|ܦD˔H4l|'0; \z"T< @)/| pE$GHJM"l/KRx3$jz$>sVo;B:.@Fa;C{佸,P G#>,q>wI36TJK4Z8mcY1$A'eS#g}}>9BէxFE4u>~=Ih&[}g)Fr/K c%H0_ -zUBD]SR>]6 Bc50cCʹfN{?PAf#Iky]YRl$#[{l?]6,nXVgu,i흆_ U0TnO':0~=)جz Udz1."^OBj/j~P)eI#/cA.WiGݹVL ثm? 2iZa=mpEKC /@&_k aiS%iՠ ]Ym_-Ezz+ F]uVn?S?$)o>$VT6z qQDώ?:p##?B/]r GvzYzՀYF~q\Li=0شS.?+wJ_WU{q%/\uA4-=_ha@G y犍 wle{u1c E1u7 Vxcc|* /*K:6^=mGϺ>nF%xnRP=N-CDPpLRrNzAVO\%Pݒ,|bx*|@2nuiZU:sv﯒/qle+ǽwuLDUAn@fL}('}dn8ALމwFNd5Ӱ6: bazƼgEMVOJ q!_ԋO7f=8j>Rr@JS[&#5 ,Ju L]#_>PvN/_wbc2-y6d@P~ۊ10&(]WOq~aFuUf@nJI[:(PZZ*q_u1 A:?&ek(X1B):*܏C lh`7)/h7qbe+2Q齂a{tE#KEa5\ku,L`F|{%5w8F+7VOv3&] fvl ib< WphUgj\“b?^2۫ Vht:(Rڂʄ:1`,UYh[{wm&yP%!\r,b ung@ c1P͗K>:~%nrRboL`/駚/E1L F+VbI~ f47:=v[UGvŠ4E?}$nboޘn@T27 =## he|'?~J~1o|">MRmU@0/,6vTT6MAHBi}>wO9~92(Sw@fuX25Dư@N ZNwX[9 \٩߂ΪTtb#wͶkh`9#J]6ԈD}pT W߭Wr|SaGA.1R{oRP=.\!/fbΗ`4DB*ΙQ[>i)y6@*l^ ,c*9 Jk0SfIhLl`JQTYhoV2ER*XsRX47}mI:5v Q#fSkr `Vp'! bĔ]T(@!97..Rz?#s 7ڥ;p̫}WGI1:eeHPm >|I޹k'0\V΢SߺFxPI1Q Æg|IBhb*z9J>}f{c qwC̓*EW-DF18&k=g:>V1 u^O:5'R鶇LJvD](vN?[ǡYX^Z ~^FB^i ԉ;NPPO]D'boNAj?S}2Q )<9^Ƴ-"@ f/^ɸrTFc _7ڠiRՅ+ 8 Hܣs\_Œ92? MV-NaI$'fէf,# )Ju+c Qm? ߕ&w7.R5Kb3ͷ':" AXs%I"GVߴ΂f@6.- IKX!W QчHö,j!^v83=E6&b0Z=Ù'N\[#?tN*|ЬXW}7{JԻOگ,yG f!۬{P|)>\7!v?tې{]ˊQQspH62L])%LȧUDTć׿}NyjF$Mͥ e'A?mZiSsm) w15[vK0H,,K?XRprQ_vAKTCBK!@̀LnÒ['Ipw6PlVp>Zz@tgzRSq?Q37hˬ!(ԼB7Q#Őd`ݖUڅ9a.cNM|hg*^sCW3/-0ƺ䳱˭8nlC;J'tͨ&ch>[*2,  3hBr; <9fUUQR9Ү}b'JvD(D?ĝTu7%['2O5!QaMl9r:$&R Cz`U͔kMilwN@ҺǍ#uBbځKȝnNqK+9e QRmI,.KȖu l]^տy[FVt1`^-?1*Gqo\0<;M ;Y 5Τec*'hs#ߡH `93rW+Bb Ϭ]ߚ$VZY7nU4LL4 ߷6ψY9mɅ*IBMrX r("7xyNPR04tb`YKF27W@g? b\Ǔm9Ƙ[[gNٌ`:Gu{tW;=-̞yb X4$rO㪳")c])}{hQg~.wR B<fdd^t.tkhpsm7ͥ{Hcbhz"n+L{M'yF wK`OۙcMӁW~և~m4jUgX|Ƈ`eݡq TYb%)[:|(7M.b680kInY!#,jc Jŧ)-bH%씙M:A$Zdv\|'Xx;dNkV#[>z^-dS#!}˄EYrp$2$3ŗY݀wF?W4ɢgD(T v-vnJT>ifN Gqz?쮃ֿF18sNLV4[W\J LCݗOfO[."9\r_D6K(ٳd ˥-2PwN߹髼]H1tz2eGQ> ,]  R}Iɥ8Q% 4H308T+2>",E8~/Qf}qvHB(40˜_"AtiM ?l-2ZmlUӓR3R Y!jcSquLc\ʮs#bN1 kħ3(O~ u%juGu+ۗЃz9Y CgܗA$\;8-F' 4#(6 Aysbڈx:xJ|Ᵹ?8EP8@wvըGdod`Cw@ܺTX9fGweP ͪK9P?(DF-KQpuU᝻eӂtfi=/ÍwQ2w]SF|Г4n5TKx`G.%̱~\hjR$g fo I+ L vo"1p:L^m=\կeN EG =*_aqV3tQfں^P D\k#i#qw5>N1\)Ĥtl[q3)9 ${aSb'ZO1βIF#?[gal#Fh`[?[BFYC-u+&脘!qhQ 1)*hL>יUᰤ{&n'"PKWMp{.Z?f"]lZIʥT%HߚۯZpǣl*G2}Xʀߐe).Ƕ`0&'@l S+7K$ w eK8c!ǨF`Γ׈%/W¼ ji: .\eFAb^{d{g<cmQKEFϣ(M]etjcs"^$ Αl>lDQ$7B&V%:›Ϝlu[/~ZF0'͎"=Pe5GOVFcSdayK-2ol^3bGe^/hNu/MkڳqB@-$[ӏnC#z+˹ `uQ)cbͯ , :F,p38OC$ؙ/t4`1)g% Ժї,UMqv/< h #LrC PeǢT7PY"%XBG!(J -'51Y4(k+b>Եupo-XV Z8meCH7 UZ~^L0B/&pA{Ge5 %O;}ƥSn\4= {S_zUOl,=PeҚe"*0| L0<K+s~Q1x0W2^i~H(@֎oz7N z 4$N8WZ䕛:>tPcqÙ6 7:ޥ?A7+Oz^Bam DO>y:0bѺv'%nF&B{.oMa뇳3ÐZsej#Ϟ}deQe <ε'pOCvc[M0V@j=,Y@p#\ڛePة1-+l/Wp`v£ /[KyLiڶoe_WK1RϋY$VIT!nX#]G^ !M>/~uHhjYUգ8̲i0W}{#i8[4[w&ɈbS'/7z UEzn쇌Q~M{<5H Eeϴ)H}ukVCxslR|6 OXh@(N͓ Mh؏>n&jx0VQ+.uUf 4xDnSӀ8C g gs6Ii١Vgze+uzoCmZ< Z˔yu DphÓmKص\U )=cn5g4w*;NFj-hTn6[5l~c=VPwR;&%tջMi\_+A3vy%⭍6ͣ@GO <_poEia)pA[ MyKYr5o(|j (qٌY)T2J^ :A]{g\0_9f)? @y+K7'3tTuf/'>`;0|0nUWwDn֕eHC#5|0b򱸎_9S4qMIHq|uӑMg W`TXzQW 6'?qC5p4.iG +cɛѬ?^}@3F>Wq{²G88r" okИD BcK&0$oZ|E@~Dn[F?k {V|Ł"La^> u_0.]W)tK Fa#GΡA/Ls _>4ټa|$Ff1o4)f&i|ð|/h~3RѰ>tM%RZˎBa~E^Xp%mkj} T&tQ<0CLQF)/)Rȯv;8"pI[}i/K%z_5O֏Aa:g%T1JH/^ąrahrWwo(V%|F#|:T1ȥd537/madr}j;je /`9Wm&fclKrHh I  t- ϢC9/;~a;[s-6|O80)!O$}:>y9Α{3myb͗/3h]'^E9FM^f& ݵ0b[`hfAzF(7dq)V9nCcbEFLTbaki0C$DBwyxz X8tbt~+ 3T4Elr+)V-,ߺ#H<[gG:J ?$ᵖ#֟2^=y&TC 4u9[RؓVh8\ .+qj;s SXl}As-P%:Ǫk"Orܒd=HH‘ {Rsk`ʢ)Y2zi&ϧ{!*¿Üd M0JlDVR mwYS'9+a֓e*+Ed=?y4F43C2‘к~Òd>L.z}7P#U"RVu^Sz E=bv)b)[ANR̀8%% #[ ?IGZ$Z$F|$)ˊ^ֱ>EH9y.'j+5Zʸps,AɄKc)<'zn}Mq Huz,Uke:P D̗j6Grjwd&x0Se\1*pemѓ&#X:2IZ[/tFu1#ղ4\S.LN/i̖B57'sTM{F$.8N#s]#k|ehZFovC kId=J_ۮ}/,W!tPL&Z%%j~&LJnMx4cIT~ws(eeXDPCC6Up m.< UKgr%ܲtQO!ѝg2QsY=*Z =W‚q'蟜KWq]?y]^G9ISCv`;hF{A pSG{P3y\8g{/;hǷWW9Qw32b'[ҿ2gkHg|< @<`cdXnsĺIFnahu377nn_]BiVsLz`5AǴ-w}<2=qT"XAX ;RvN2;OwW&S,y4Mƅg3~94}bloۏaĪ}9w6v;LnDoD2|8Wѭ\~}ǫh\!|*Ek=ض[X&tPڹ 7+Lѵo;|cC;7B4w+μRr|{g^\3mʥ_.ӻחwai\X_,]͙RMb=E咩` d늓n7,?F@Iw qFA%8D㵈൷Hb6^IډtqZx DImd;5T;h/Q)LS D-ڣ ;hՔ:p䫹-Il*+'m@xD$.6pngLdW_x)Xد|uNl0 5;ɴlG~ \b4sn;ld\3"y:1fN (Bu:^$WH쪁ISZ]LуMOxUŽV'8YlhFY/,Q!<@ ߪ !6LMr"Cs=FLCG.SrV]twK/mq=OhAǥopHE5V3 c:]ml xD rڈoM>f:<,/D~Q^Fv+(%<(NzCջY'7*Q:&0*m "_P^zO9|;v Ɯ7pH@0'E#-W QW=ڶtSS5G&˗SDG8)׾1H>}.xV 0vkLzpCjp=6ҜSk& \bTj,j'&$WAOs yjDDn4j_}c|pB.Hc jbBMcr!'O&6as8'D$JͮW%3%S^DS%d”B͉tf)Z1Î?ri~zkz u2/vf}F.;+-O'3Y)$A0$hzͲ:s &\5aWφ (" 티p  B墫쏔8z o +3nn9|צk*AhWltq%Pf?ʴe1pc]߹PS{gXwTiVj9>6Lȯ[~yfaY~_-^0hutˤ%>r"<*LLRr+g#`fغ솜srF8d3w^5BL׮^<dNVN_js WLww\>D{]pu/{obvXM5t@t[,m'zUS̰Tp1G% mŮ pTnڶer/g!hfV_9\Qva}^};7#[ -lg!Z5_n.BK8u/е SZvmEBaѹFK 9M4ȍa c[d2Y(<[:{L@kmpZc4'&KiFc FV٥K?"N翦wAg@ @s_ȶ&7~9@LY*.ƿrkr لXR:;YʿEb<6Г/b[Rs$)U+x<Ƈ8zyE5wD[0}3웦y^kScUJO]/ 3e͞m-/QAdOGz@v[(V-Itx7ޟ-MAG8(/apĜv>SЫqԄNje)2t!g@;9Q9#.z]./_iAr/duo[pXˈ%!H=&SHUP%!&(p0Țo3ya<½qfe#m(=4^)iY\SŜ Ќ;r03H. ϩY PTz ,ee#U> >a2!+pdZ @hLF`?,J`URv/lHY?pܮM$Z$9t2삪&p+.:a*C2WH3l32΁|6"X) | g9\;\k;o-|WTW/}&'qxU_=Y4=tAĂ2˜.>B$A RZp3v6"B69;0EFdErjKf #\RwOnm'hfvm0VdOHz<esrVqOq,elICʳw>f)~~{q?`g;1܋q?CYcjU 5޶W#uϰD%ϩfj$н"j=C͎1 u_TP,Lg]Luc3DA5bD+<$䥤gwc{w6rD04 dzG?uY2G{|ZfBd|C=g_ (!)&{csTeYWgԱ4<=qK3|(○3/Hm"wLEav~~ϙ0ujv`8]A9F>,uש1wǕE{Qwo_P" :A15Iυ"+ILIIٮ "qbQTB(?AhJ \t}B!1>A3q8MW9tba!6p.9-&񷣪 .᝭l/+ܦ %q%O4 6ZÂZRi-S~4oH?RnygW_;3ΏAJ~@iK!A4_>1UD@k);iR=Vc2x+Pm@7|4*{+.ooT *Ȟw {wQy/o{QK GZaIu%b/綈tu}5"ݥhd3BBJ/K_W xe,N5J,{XzbxŪLP".Q&GIBKԛkLg9O.^EVX ~B i@ń;`sɵy spB%5ߝ;3+7;mjI:Cfϑ!峖yv`g}2ӷȸ Iو1Z^X(Ddz` 4'Be~ wꆽ8[^*dVJ>QLT4|=[0]CN\1D:꥙V+8':qRsMHxwENj_~MJr*ף:K Prk2 0lnܥѺ}RV'EŮw{5GƎYcaHʤOXQk ySi 4=GPxE0HWL$lQm~q| ~!BjP y]XOK#PyF*nm-ŰtSlR"(ygJ 5wEXQn(ؾX5_숋nZ.Q4f|oS9z7\l.I;.'ޥ z|o'cuH]  _D䲺35\Yr`u,yE" J҃LJ]xΗ1îF˪CƆa 8uڱ(ݮ,$NS<Ծ;\c:B8ZDz=)o#3,Ճ.'֠nV$s,aU襵m`"b%雓Q5//jvggR4 S P]7%\CbW 652g Zʎ2VZ&t\7 =fԗXZ;C_?fZJ?]sx 0 6$zwJNQUz&C-g2?AQqPh_AN-8>r'0;YuvfB>4Ɵ-i IaZ6s(@$")H)E1{in~si0홎NN|rb;@plʚþC;1>GNVulk>3 }K:\gr.7BŪ ʿ\g"㼘3SH90C: UQ~h'B%[z=LjB|}lo?F_ЁĆB\egaصz( X/nǿxs|DN"RLcB4<أH]^'N7z7BA$$M!;pUʕ8D~s4 +% lqA W/'P)6%=?&٭yKFޓNbڙ#44$ߨgnXF׻cjv:P Mzxgnbyxk e$@3ǖrLf.㪗-b AP#b?:5~_8(MF;|nP-yuJghөDWT~8`V⛰mT ")™¯:mMH&d L!/?W8یvvˠ6"/l RFop1fxjf~x | r۹d ̎d7Wbp&{q]qY:U GYmHlT[(gN<:`N$} ?0] 4bY Ġ>/4n@oKbeJ>|-8]4NLp#ª7-oDN.QB\ӵ+}aJ}&Ig8^VkS.68ʓF,׎Ha]@Fz)@`)@<*(LR鄸OyrI5uX'[y[Odh0H\j!M˭5)5Vrw4ISLrdUyd{uFࣜ\AvѬL^?~S?BYh[8'YtL@םZ^4J"ih [hk\TŦ>'yop}u O)e{?@G{;_ *R;Zw̮l༭C*=Nbd8]8i] 'ihS֌X3n3d@aul ^ͻ澾* $hRTm]_jF}BS++!oʎlQ[ ];*5!eL!s?2+G} ؋![V#ShY ڍV_tf}hBֈ~C0hJqL޻lKH[#"&ͦbrDz̦,RzTthG1 dM$F"^ė,PF(-|cĵY/I$|g}?lBhjt3II_-~P1C𾦼xV+zj;c/h{ݍl_+C yeK{ كH^Gx[kNjؙz<13iL$#6(SV9 3CQ@j B&(ĄX-H]ҍpd\yU[~%.kETe  ӮG;)vLnje9d'rG9Syнd9lש0'ЅOӭj/?]Bb\/e?M 3o=O.M$ nuNYL oc5LFΎ{=uÂn\b4( :|5-L.yRbΣZ]| D3A`HN6}/! Vv^r;_jP 1 .‰TR/EUQ +]]%ɻ7K/\cŔSm˔NESEey8W(m-#H(Wl\R渜fqIQ\/=L@LrTQ"<ഢ O.٩BX,B'QI[+s.;!CiWPgP ϸPlR8IcWÆA^gTHv8pF~aC sVYĬ9\߂ǩ$'z(#VI4_lIp XCP4^"m`щBt6z4GltjV_tt(+@ҡpIk7QAv{O|t!o'{2Nj$6 Uv"8G9Ls;?mIb&#)(yɗjȊWs.N@V>|%F+ޡ܂ΪB j;R2 ң* w\)Sɉ@6MZO=9M}u YEõ';݆~hهQ h;1e yAC!mp`Ua0+Go " 'Xs.? CGgoXIr-sBvsio}n2 Z ЭzW$ CH[ʱ`) _D~<1ziN<@k4l7X&dL+"8j{+G"C>Azk}I6,2}_7."}#@0O!- 7W!H ZKl!Lkm@xv̦+9!A\+d8rN90=D]-=ʶw1#d^ʷ5u eh qvE7%~Y7`)PHPˠ>IwPiySs肄sL:ޛ^й0۲=H%m3Kׯ&}9$єq:XdEN?҃Fn|[1z@doX6n8G|8\d)Nʎ*ح@IwW"OA_c-f%00],Qja ™pVr ` m|벭~/-3Ŋ(WWxV}8ۭʬ,aoHCֲ.uA{Ķ_f ֡'@v!# ,b 2DEr]qb+?Α.* 9;GO 4Bj:U>&aDbgֵ8GGg)87)b|L^;+CfƖF*=JBt6j=E}VyT5t<[QIpK6 lo 21}@kpzI LO$W]9׎C w6NىB2 1R0d Js0PNM -d`l6A.󴀎R3?6'Ejͮ~ n,nMB^YVԊ≳C$Lwp$_y1e6 ;?՛CӠϖAF[~ 01m8dCP eG `}C r,S&;)!,#O7ߣi*vp"W1p@+ t0P7<7L奈rM)2b&(`Ft:7bVo~@cOX "~ftxٛ{!#B@D֒5# °̊&O#aaa'g{=摚N.5,zҸ$,^ϷiPc6":i8]JT, M1:=w1yVGt ڀ8FI k!Er)@Oܪ1)3۬w4뜲SLDd?8қ^&QqԂoze-/'^(hzde=V.%7e|FVKysfSs&>qa»7تS_T ͷj{ӁZP ؂&MP8((x50^ qM bzeYеASI;Qڨjq1e,E."] -!vBo_Txa 7o~-v6?9d3€}K29:wDݫcY,͕ xUޙ F b>D7 zR")xy/HxDWo:f6}Z?0$Z~WJ5H!s5o(s,pv_CНzWƁ{*&~#y$u?\yъQ4/3\ SLi{Q7 ݲeO*G)pA,4fxP֟HnkԕWeiQ vM43*`CG5=QtU4#)00d%pwd ]9viG!B,! H3J)#$V.۝7~>Q*45&X.j瑻mՃkһ ߫Bq0[L ň*:&(-2,>cD"_v 1Y7}WTb? FZO@$ͧz\k.+H(k-:uY[KLkk^vn@jR]]]# ,8vP^;JͲmp2wueExZ C@m{{s& A[MT?!f^E<4ty_@ͬp^GC/'~<ưv[cFG}t~ dMUMOn2,K4Jl:%Vlr.:pyKC&34WصU5!ņ4Mtsn߉Eop!)CQ4ߴoU?g@yK %T X(.`  %-<:~G|k΃ /_}fk29#J{$\TZ@9Vk]DM/chT&{hj8Hha*c{3tYI 6wΌ&x}ƒ}a%w%o,[^pW#UZ$%rXW749$yIpkkCx0Ypm#1 cEq::}%Iq[9, ipPu{x}BAEZR><&4yLu`x]*cʐd5-aL62"eWIM,j+& luO$oh5&,0R2搭)#~Z^dTjFZ}-חNFxų7v|ޫ]LJ)L|z4^rb]ݏcU~!ڏE6'N%f ݧwU@!d;M",km7_TgG;}JKT'$l`T_Q -6QI4Ѳ( pk)lT:.fʑIQg?](NzH}22ѷ_]`ǻ5s%6Fp`Ꮰ5<#4{51D`=ҽEXRPӁ?өf>ռE'%rgYf)wyknsY޷o{|tOچ(ٲ=MVڑ볆Lqyz1Z`W ﺊ0t&/wogBKj6H㬡N#U>_,&͉À:Ze62"u(dL=^Tm*;}<^4hD%@$Sg0,`2n6mƠi?NO% rf1"]|܊Iqאc4,۹ rvN_Fu'JePo ?_ma%dyATR_9pWp5lbWp 1q j֝X"=!:Y6W\~$ Mboϸ*P 9|=dY1}L˳ {`*GIJ;_ SIA [~7a]<)ӼLzlnCQ] 48|yFeyv]q ¦.#>^}]YZ9Zpegchvmt(k_K~QLጣEԮӋ8yP>r }(vDKLzeCݬk@gH砀nt< T Pq:B+x`u-1՚a^1 2p9}1eP/6ѓTG, >#'MxQ3{86&Kj4IF|ASr 6y]AtdtN\PV2me&#$]8kmO*!<.kP!D@󰺏0 U6is*K'3Y ժVOŹZ]I!#wSNp&u{ϗ:Z]&|b(nydꐶ(V'p4'[m|,[KkçN9QAVaL-;e=Ni@^!c- Cmېҋ,b>xgbmޫJjf"7g= nYa&$rn(7/i]uj.ļ}1|xéd pcFfdX2F>AA b²w1=.w@!s=T9n5CI Gуrvaӂ^2MT]AMRs 8طI)nnQIԅ`]XlKۓBC!3+7W*&^[NT 7@]_ JS~4AP_>e+flh "h\Rl&kvyn~7!}, TrtK{bns.{v8HWP?Mw]"`nkLJ-IE0q)Qη#[F X>^i'Ǿ4# ƹgXe /n{c>cVfӔ~S~̱"[!:` FLR*#%"bTm!UCEk> oō&Qm!4RI.wDn[\]Ss X;G )SD]}1B }>{tAfZf8$'O-&t=r[9|i_t5HLNsC?{u$&ʌ^BYRw(Dب%ྡ`LCenoaضʼn8daTx\}_ +h|?S~ ;4@luʁ=L(@F54~ЖMQ;Q+wt@ eι-׻ ĸӝHٓ%ZZ\T>֚ [VdiIDbi'y rSF;qIHkص&/LQ­=PsSZ 6@/Ou!9S]*6* SlIL21ÖX1qq =Sie`K3T/;|Pxq1*mM/rsrh28Y-ϳ 7/Ti YbB.`.$.=4̲P{͎nx.92j] ,b26L'$TH8vېDH{Bɞ/S$y b\-KTu]iǂQ<7 |~UQnV`|կ_4BM_`@kL̯M(@rgCC: Xm!u'}tP ^PdDxV X]$ Vs5G}j'Q=&^@@SQ$j`KuXkreNaI;k9گ~>&ϥ,Y|i߇~76)9`XRv{z|w)wAvQm"+3;.=hTToU+j/DžO{fWVUr23"AAןpw![u: w;)PM] \`}+sd叐o^vz֭< 'յ!"Ykۃ7fJK Iڬ#bԻ\TX=~XN:Pkw.4v9 뱿L{/~ߢrpҤ­"v|PsW+~L 6f6H8t0pgBuМN\PjTi&#kwxskM l000 *&Km4b%oZ) uz> Ŷŭ_jh;R}r6Pj]A%M.j=,RF˓1 i]ؒ AA"@Wt>|knW;+-|~Ia!wP6$Zx.)D||zʴ~\xp'vrbOi*T10;(bAhj뫷:,ۖ_mQ:J,VX h Ag.}9=Ǭz0Ă'NjTyhQ*,pn4nJ(?ʁSdyN1M@WSd/F=6J=8 @+,eaΕ6D,!7]fuox+VX\%`hنL%Y(HH=Ik6/6vq+-٪ ]C?qx#\i⬃F k |8B\mE[{f|*3,T.v.QCy Hy%p'aql:P:3JSFL`-V*p;78$xbywlL(,_9c[PZE6]{L(ZvhkZ 绷Țpd:s\:GP׆YIv}L V41!,WuÈMUm 椐2㫍 wHS}HK8L@%lx`o Y?ھ  :ك?- *#)0dr&o0 k `f@ﮧ˓G7wP;X5>,_3}kmO{ =E4O,-ZDUbm~m&%\t!"EVM rPD.(r ?+& s8JYVJOBhcΩ̥G @cݩ 7JW☄"ƍu=GLr9kR@ۭy%@*MMq}ӭv%YkacK`_ԂJƪL5N+9?rHӮ+yQr@P2sGSMnĜ7!7$VJXO%_wgI!W$zX1ón:btpSqbӌ ȹ,g fFP49RSdL+?藣G%KԒLO\*s?6CMdj`Vyz,i;$9$.ޮ]m@7MU„U@JڡPNpDGJGn2.wLH͂u_6]w`ƒPaK!LܐZpz,4OՎq) k]0]b E1WPZK§AFu3c(o] sg 2T݂5S+LDR>bi{CA)sMuTߚ`(0[^eLL,GfX8Ć_{_6Co^& fAJwqMK&SFaϤ ]캾oy}?`h39 d~ۙ&C7;Zkh kpnׄlb. "}2V O"^ʂ7w>5,@6,+QN5̌՟6+~YiW4&V[W RD;zRq7ơD8Ni*^E"'}cb`[;J|f8ڳZZ?0 Ќ}$7>D˵V>u1("qSz0*@\ JxD(:׋ј`,١3h)肁|>-W{k;|Q vJW CK~q1 J`߯J́Fx6\0T+ʵ`mduR <1KVc*׉!n(* laMO/q|N15 [1?A0&񶑴܊pS. z NɱCv< y[ܰE;KR}CRް׫}*Ԏv2ݱZݹ)9X1I4|ǁf"&)SE(ՙyarq=?zڲ3n'5b)iDÄTb2~rB7|1uqA~"ڋ2S V{916p>IrќϿ$zChdTuu.-3!6QO_63dwY8q>ҀQE/b#Uv-*.-@K=  =|C#;|W +DƖV ;hֈ&yZ[mAEc4Lxx;BlВⷴP`ޚkL#*cs mNukl+?Iv-Eρ>Or)8޸q'M";C @GT3ǟ xw!mw*nA ;%sѻ!dun(ƱweK{{;ҫSٵ Wf]e;7OW/ja.p:Ƭ{63G%>pr}h j"W`\·g蔿av'p"j_ r3Ձv] = s(S0XG(K-mPNPMde7)o"%L]T?ng'>|u lC)uc1'oƽ1Z$H+:,jsTDҝ% ynW0Xh*T^uɴEt!uW&ޑny.)^k$82v)TD('em۵>d^R+  7K;Da%+' Tê;T]Q,QKF1CR- yi06 wSRcLֲѳ#KSBЁdLC%̘hA4>6b=o|ߵs'^E 8uƤ+%0)w&-pQpt mRntygnq9Cܷ+/~g8'c* gf~+yEsP6-K0E$uH`瞝CM:k #pb`bGM>,aAE¤:UoG]@?2({QDuI7K=0eWG1ݻƙ&~VgRpe䪿ǂNk em&B`gRRKn)M2ȵǞމU ',+aSuMп&R0gʵazp< V7~ʞW,w^Jn@`1jc h  EDv\N  ORqYUzXg c@xieh :}g*Ɗ#B8(y9׏F9vB /_&[@P,hZ@}x!F/ q/Ol[*|PԀ~ڣR~Nw XNL.puOa9Unn fضy`+dV KR=Oi+ Ә>cuSd8n ۫Ӝ$.^'ӵsEV$^i<]%k،< -=7U;|gUÇۙ-3}Ϟ 龽14^CVwpz ۾n}7d\\LԽ%8UWT2:ͷy&w |&nVtȡ͏$L.{cXw$EMCL,z%-ii.᳡N]|y (i `M<;^tw'm 7jśDX{&lS=EM:4J{?8V( "`%(zz/)]:a0;DӚ*? 91P*5Kcn/vE'ɢ<ilOQroS`UAG~R's kimu[lLiFdt4pO~^ZAEi(:|'Du2)Q6S2Tl[o7S8a8 gX"W4Ql_vVttQ4v xd6ѣ|܅6 L_1;v,(MLcz]3%tv!x KD qFD+*+Vsj.և7琺].kIhx6=qX\:Kc[OF2%я?u"Zu}e-M `xP6'0:4չկdqcE|AnuYlTF,]e`xXU(bsS c,˱KWG3f^GWЂ3lچ[+۸|7kǡ#ym"PZTg))yJCQ0h峕XxĖ[᏷N{e0L5U)Y#9 :5"_Hl2Og~ @&sU:UsVAVꌋmyÿ ;- 23 TIbzb2Wv̸p1˵eܐhhd(#jb! *afT kbg$rpi\>(ǹlarԸWnVZNOp``2qlIk2''GucJM_m?2d樓!iN6ɥU?ra8I^4{&ZH|Qx@mG#w5doSn"Ii|n(}G67QYB!Nʒ*wBIudS_f$p~@xFA_HhEVf"h:-wD)5fwR|]2\s,[OQZN*';$w4@HlGgҟYhQ BVᯰ?͡㕲 ikI>Vynj7[k_"(z= %me5t cZ]EOpGmY{+u+8*\ɔq&cl+fCmZYip0ZGGLiݕ2hTa 98=lRg<{S~} t&o =.'/-xm4Ɗ"%lyf'N~ˤT+8dL4Lu noK~ps11#Hrn94.X5l'[4/ bE=H2D29',-gòmeLrI-4F܆RD&C1t]/0l־yyCzǵb8`:?y2@\6x<0F3nܛ[6pz1 Zx\!0;,Ɇ/4B:ǧ4܂+ȂLCHsnG" E?&Tr">dB/0ِ Ql{w.v!B#w{ ? •qʧUba>zv ݣ2/]Eom  FD+]qeߐF/o5b[!ft&~`&1>R}pURMvoP6_Je0<>R2r &[kR7Zja-Pyxt 6pDI*.Hdj%qy8ipJ9iė UVQ: kϰR)v\~W6n^㍖EGg0Y{)y:_Q.OBT<-j!jxz7]l oؙZKj<ϾadZi|GZ }(bh"k$$ nAA0vFljӟD¶p)_f)_5;R޾9LaHfy0-˺41x{cV®Z=ot,c]]&%[zFsZD\m*ةT|AMAt <X|uS\wiDx]6`r}}7}R{[\$\0 *n,83V_EȥE?xAWS$[|Qf,t]lԻɀ܏Hb,.S3EUrӡ+ "[o.Dl0j3S2m7PW!D냉S|.a?dքL+0߉a]zax_^ٙzЍ>)e8a'Ccdеu/F$[ZP= l2du/|kڏ:5'JA4dMF2;?XV,jb7?HAqx CzWv IoQhM( >[5s=):²ԟÖVbՉ8^0Ukyv&-m MK) Iq `ZHR"ZNL .Yf>=V{?e"JZ7lj>.O L}ePh5jS#vd,Lbߔ:jpMPL#`Lz-'BHՐJ Z@PD8U,,9b w’bR2*LݛK uF$(!& ˇGdQ[.UvH+! H5cw' y8mf\=`?ՃJA5MCFزKY!r,A|tHV}J+?:GK%`zC^5/a1y{[wC ^d}{m$=efmJ٢?$9%܇!)j]R*)^Ɩs@ӆlýHUx6 pր\!%q/)L)1>8nB]>#@1K Pd-(/V{o#nx0WtckWzeõ5l=؊_$4c5rVJ'Y5s `eTjLIHHzP>e @~uK#]t0#6vn RkgpͺT;+%D sȵ.z!lY{IvvxAmzQlDqz<i%f1^^/}]O1 m#ͬ@_zWm@ k $h8.o5Nb˶AHB* xSzpgTm0a3JXfb662K!/ݐ\{CTc]\C7ζ~@x#kg$@BH;T0R8.kC<ؿ5oVVI,B]R /@k rKӜ OPJ`}SAՔt\yUxweTٵYj?buFs(g{p5Z,vAyre#|!n7˙RHЉ}I"SٝO$""y@+5SdXsc.Mkl\Ii:s6j}ťZfrFkҬ * w4:а>kF- um- !ފxxZ[{eUi _7gX7xh8%LMI׽Vb sԭzgw?L )h,ĩۚ_ڻ̟e&\N;evN+xLKK~>);b{+Dq.T blgxmvƫ@ en! a~DD`;0Iq+ĤJ \JW.Z(o7B>XxMw5-B%Ch[~_rR{"j~y-XNĸ|t&ϡaW;:hpzZ݊\h;WaO,?ԏ MfXS@BT>2;?_*JĶ5_i#yq R[=^{zeUy+m(C-v;Gݢ!( \MYB PL|/!i X3.iDk`ۜZ lOT"9JBʭ 㿎v'D-AVyHF7QD< …n|у'$w c}ɓjv̼ yQX,N/n+i(*z~+T oI X,ڛBB%L~xx0b b \xo;GMaj*1@|͐^?V=W̫?AυQ{X2s+=whR , Z-"0*ִNy͏&cD6A䈬`pĔ50ZH w;\D߃_4+ećCFN/@o n,9_$!U[ k$ [+VQnʎZ[@ku׹?Ck (5m͋UfE(OK͞Mhk[bZ?OP]|7CxbKkDFDZtbDԄvN$tg.Y#LMbM}ӖV&L hgD#,ٹ:j(ޓI ͬ*MhIE9aʰ1)ݺxfLVxw0OG_óSp8!)6g:dgI6wFˬ7zFM!H,?0PxsD5|L 3k!xCkvyZZVOaeR FLܣhZ<}uё"mhf1ۙPRs'3O3v lGò|vKA4RG/uSG$z[++>."OVX-oMR˽ g\Y'/ ٠9dgmMjLq:%'2!;A0bΏ$s'%>P;!tϴnX` c:T$`6t; RB1ي!KX*01V,M&:F8#têbW.`>vk / luM;Z:JVF.K,͈4̻-XP<:u^4h +4G6VJOHC_P,r 3$8CyPWE~5ԯ 2tIG}nv7tpH:@lɸ>>2k xR(`RzPE?a/!gwA A]]?_BxSZnMaN-gҬ# 9lD`HKj$ryɛ OkՖ+=7K0=?j;B#NyR#mfNFn'GM‹ VEʺy/> QЬl*i:h$Ήǃx#9:̱DG%--q(3­DS0nX7\ koZxIo-SpM0ogn.* v'b6.\/:HXFYe+TGޙb%V,U;V Zθon UFZB=Νj񅑚;)C`@HPWl`~1',E3Pel!ihL41wTp7ph~qi i^$X4@nUsb59|Ӝ/jӦ7eȾǾsK}O)wSRoUoNW7E7z2lP8Jx:j{iBC,G æ1Ǜ'ğ'7GH`^"WuȧȑI}yL؈ X.Fv{ңܻAiր7Hp[ UJ&Pr%XI:(ag'6mɵAzMQXtsu> RT3}E0mBnvmkX= u͋ zp;.^SqHЙ[Dv+22JY1`cXt oz `rfs kc'!"v)Э}cOX?9 nCz=~@\FQ?-,< Ҳ cլث+@'q}RW6mW& gOvTiGsH]i.CW1 O@8~[ RtXTX^߁ g) |ː: tdc2Wsگ%wô7{EJO-Ct11BI霨5~GUY9椘(y V&V97k>hߍoEPpM2ѝM8-8$#6h AJ]g KHe$p.u+w .ٓM!D@lbSҵPY1?35gwC3:eͮsZg7 +!OW3~*-M@P,آ]wd."VCTꗢ#vH E"I]7P[-*Vvڬ: טc#l6%"? b;oN:O 4iM3@͗WbXƉJDۅe4K$[@Eߘ[ t$,uIw[fI146T89v90W!Y]R\́4ߥl %]~ij³gCq/LyI’y`>Д".CkQO)7j|i$R ֛U.'C4C>cc+3U>S+*r2 m,̌K!6GF}.5&9Tjr{a]14XA^^LuObE? p=&Dx~ 9j92H_ 7d(X ͘GσUy6JhGކS]!UB[Z&`cyQs \\Z-rzXCLҥopzp}i<=`>w\ڱ#^z F~KÖ0&z$͚&(>3o(2o#Xq@͐o0-g1WeVG K㿱5:&5yr[.D7( ZZrh`D3CwB2Ѥv!u7?+@<+| ոn4Q"ucKT?#]!TNGṿMqje+ѪN`F{'D0M>ر'5ևT ϓ8~N=zw\(?,j!F*|հu GY1 La2in9hcZcu,-lHxAc/!\T0 gdcou7j7vs.=yΐEիr`ߺ{ɶk694G`}^AG~z<2ZK_`tzoI.3*o٬l<[9T y & LG@b5'8}*5nWG=2`-X8J =hִ%fMtC`hC¼=0QpvG'Mv3t {"}k G]AN9Nedt8{Τ2p6{8Ly/GDtioN@!͖sۻvf?r7տ{^-xmn,XK(Ga㦓Q]_%nCwU;*Y ȹG(0og:N1* 7'Dedp( W}L,X + B[DH H[ngt0imu#DohXHQK8 NFX[Δf_ +ͿB:I6 HFU)*5ʐW%7+eu>*oʏ?hyPɇhv~JIvvdQ8 9*i]8G ^G jT&+g)~ӒQ6˞bt[(nGݺHqX;{OG1$Ldh8X 턄]R&܄P\8xF)g I׭S?^g+:z]>sy(fK0E[ :0@-,+$81o0S:ŢcZޚҮjR̿gVt뙭h`{3H'nl1$?eِ=dρd@BKJ!o Elj; U#x+Ӹ1 Y̩9X8"v$unK!YEdҵSD*նfayUcH3^eFFOs0tT2v͏6 Q4J;$QJaJcJ)?BL>OŌ 9|-b3{;,e%zG5%y[BnBb-ObDQDq/$;!RFZ۔k*1^MDT> 3$[5GZ#+gմ(USfHzCRb)Ank!.TU#2G= |d*^Kʝ3`T@^gp"i; ԡ>5QGD6$6X+[2RI:,Ig}, Ӎb6a$]b-8b5RzZvKnS'Uq[Gk)!ӱ& r{Dx˺<~JdzhwqGIPYҙ{ȼqiM~2cennFy?n*6Ҽ}F]|*$9ten/!4\I Bb:)7#F2bv5ّ^I:06MXSmڍVyX;IOqRR vƬ)mC}&,VgB0vUnOikDtU?DT5pm 0ĥ͡-r!y: "S FaNnEl&zjd7R-ַ ·n*ԟU*\tE* o$ Y)u+{K_#))cl۶هB}%SDƁL(fth9Bn dk~]58^\cjwުڇܶXfiX L5ҕ\ f5PmJ0雍}{u՛Q9ݻLSiǼyp2re;0בb+Qu\P-[z t=qu4ii gJgvi>wMŷSmi^6x͕iZ2poE"n8EQ;w]>S& =l@ŕ*f(tn{͚t*:@r"p쀕MЏ/^&jۆFNJ nцHrFwoXr R=%,3N@B$Ѳ{ZI-C6~$"3_k:r Bư%P;Qe(È Vx-5NEZD5sKݧvNjvꙉ}]: tuJmSZ"&BQvpnʐBIw+mdS*AV ZO!`].5)?EZHvy';+Dy>YS;bdp$a[_K@Fl]q8/t~!eu{!bۏ#C|3Ԓ'qB 'c1{8}묓#-#T7N13_bH׎l8r?%$JDGJ&z~(r4hʤU ;OQßʉdϞynW ÚQ %/ ]Eu0΅yTvS){`d!&zI:O m'x0 &}<9tCݘr0TZv|[3UZ>mDcNw$yc(`Ϛ \bkc<q7qP J06(WO"fA7 ^b ]"|}}K{ιw6pGXIߕ2CPh .c'ZpRB!CR?=#M"7G?F(XmEʸ:+g*AP>r t@nP!kBa}|x:VFV ML-I?C LYl3U{jȿ"5 f O4yl ;)BuW:xrIpE,z|ަ8Nś&>& J%Ѿex-hnշ)}@ !oZx$S͋vKRҶ9{=JH8*^&Bt^Cp.t+ezqDJ\l&Uָ6^;1k^S)gW1.o*i"Z"(^d׻m_H|K!M-m5[lCX^[TݹeXU#r?ir[& m(<"^/د=S#Rfq7x VOa+h*'`tҍM7=2ۆA CqIIFO3@eM,qI뤞tb*n㋘y-‹XXH2ϔaP&C  BQD6 ɫaIoN3J#إ.TirVA4.Fbi,N<|AזwKHI䂑#;/)qX~ݲXn|}Ws?wb ڨlU4r2ƺjx*\k_a  l7t3pD8@h"<09A/g}dK,%t{{BGNvo 8SU7_7 /X[SI9Fh뒰ZSM `e/RV$=X^V5^Hu(K"ܢS\:VZb?(1֤;S]ύQ3hW+rL]ە{H`S3N$ ۧ2/5q $U\RQ)_ފk,hN[~vEz,upEv\s#5K$RM5{~%'`HŠ64q0HvߺHUևY9&>*Cf q_[r.j(7,rA n;E ѯPGȻ؇}kҭl5ᅊQHI*PC}RBǞ{ 8"a +y9Q=1g}jJ1)4 ̦v=$<9)kBHhX o8\PZQgb%A uK+ysѸj.9B?4!F볠K@\ᘃ9̅RA[el}ywf#E3'rґ  %Wp> #P.rݮИxp;W<ڮ&P@&!NG<^Q8 <$ ;)°ԤiPR-+O':6\=-K(QBcg,Muox(NC^7$skshOP/Oɔ_Ҏǂhs {rFȸ;M4j0 s_uy29; <8B3BǁRM`1 !74}{]f 6Nyr[Xp^'3|h9Mגp p՜d۞YkZ(ܮ*)U fXNi :I )}5mT3aqdE D^|YRGýj9+ y'gEydϕ:{Թ^^XIg/Fk)$l4.oZ1F|¬XgpTm:47lS4M|`"&s:L a-~ʻ d<ˋ&|{*(U|@Y%0 PfQԪsq|ޝ! 2. &U&ˑ}v'^bYbO^ʌZ O!H/+ۖ7``č uRx_]rVA7* L7"ZU]~6HJ %yi{7LIcz (;&8(z˸,V5Q|yosP*\7!xUn @cCAb[J?q*$q*EF}Ak& q w?{jFu<TDH.&Ryۛ YZkosWb7non☗n9@HUP%Wr/\|O ;p&|LQ+:L.%0~ozC{=ƶ\AнTB)T(O A4~W;|VKSoOM!-< Eqw.~O}={cz#_L E:d։5C()UQ(:zt;ZV5E gN " / ~r.*ԫ&WpE=}Tq(Lz%A>eB9G]p(- "pfc>OHpS[JW ~?nCB1OuK6f3Et3bn UH\FG*]`I=m+$߫ |=wQxUM5G#gIї;dg\9>1L` 1RYhA̓;AlNu3g֚Z{1s?#2gޡ8&OI" M=W(y/(\r񏇞`ˮ 3'ǭt!0'Ca-խWڰ, y0{nJNG`W72ȉ 9 0Wz~YCN_?PЂS DzDމxjDL7Bj z8 u4X‡+D,S7)0^tP35;cvn}IڎS`{5HGӬ$eQDH@9nB-Իv4u7$_D+ MRz^{ʦwWj=si" t:~n\h,}lYTaض`sPcfj9 |xBM>иtKJҫPT#~&w5tAG°MTLMyiz L;JċA'Ͼ%;MPm3~L`E8N-xB{ꠇwuНl?AOqmTkk Ng3);WdK=>xL= a_MDQ3ª؄Mi/9aLGrdi\Y/sC3{!ĵeI1l kZ m&Ϭ;bW8NngGjQޯ7u>BKl3P{"cv1PF<BV+dP MhodNz5]Ɖ+\k|ek wƘtuYQf ^HaVD|@TRηq?#A+ +|e@ǒgL/HrȖ0j.tt>L(`]{ŮIͿ 3ElSUAPz(mϞzXT|ip#sp3 j ^Af:D(GZG*QFjZ"$؝L(64`zT¨Pp}=|1ƛj0O$5 0D}-]9OV֗t&bAȁŭRƨPξ5ֿX}+IfK&n @95N}UPu"a(k/'t$D)awNj ʺmEB}$>7sf)s9#t̙rx:LۉRxzH< "4 Ɍ`<$%`󇙹Źu'>l\PV RKyјړ,@k L V5JgSͅRW<fRב s@+f_F̋-a]WLh|Xo!< yrжs@^FԶjC8DfkhN .ǻ4Ԓ Êglԋtd^ A5n[|78J2yݼPǯQM !}N3?mז&RVg4@ȱ=uU\>/ c=I 7PfSD e%{&EK`;D}']'1|פq'q@Ϥk0fAkr8cXs5/d`/(O0]<+P-  ''Ѣfwl (tαG)}&Nw*"Nm+M%;z[tvNH?YSx SQPOT-[KDiONGJsFRT`t!* [C71t,].u7WPB*}BtD~V6XY͡ e$Xvo۲̓i'Z~ĞeNj_ɉܤfR.ߧP/3m JJ EMݪ7lVp}H]ݾXݽcZN[c1Vd#Yή'#]kzslzceV=ek1OI5UIKrpc%r_]4WcQK zv]3iluhv]!_Y9qG.Aed:h"fʞ!6Fp>O1m}5J<`<$4:\r 6MU)໯D_r>{eG&f cP/B ڦoV=߰(OՖh:&4.S];X5>"5lG/[Ze5>@{q%J*iC2naLJܼ6Z^$P%,$&Gq59clgy\%m\+K-؃u֡[ݕ/#0 "p*Ss u 5;w dm0kw,Elޗ Ƕ ^Hukꢳ%1z,l;Y9?c*EI+VAm~팺<,ڽHyj:)]AǤPPٽy,o&ё5uJzi"`B@r ih&hѷ}f0CmRkylЭMaOK pakfY f$2M,( ΍1#yS( cݞUF:G܂8^wu8"8|D m~n)d#ڡvFg~ K$xsjY"MCc̅AEZy-gB2J gYxUN [pn)#:UGm&hgvjE9Џ0/C,I%9ZfVwrihO|Q`c66_4r)D8 Ոq!j DGKZ۞/T|fdp1uNx)Xǵ|!M5CL^z4{8XѴ<pd- F<#Fkn%.Y՗yQ݆t@H(s%0݉UM*3]t__q Fj> V"y,HABʥz&'=ȥB\@x]iLj '=<5?Hj#E6xkBs4}!~ A ;,"kʺ^tƅyu# grc!{EfQ0e!s=Q$6k/)[ YË]rA]v3FL>BŔfq(P_ 4);ⰼPT#{ V\S\,-0yVs h2] rƭ3U,~8G"XOZEST&ըu&^.Te/ԄOH g]H˘,ɝG? b/1]}o3yo?'3EAm֗}d.ǸQPdm]'vПE[y9wYp}E|xKe Vբi/}|{{[OB ޠ` ! ֢a"RBVX+z}qиG]<ʞΎY'(֨ yѹʸX\)C&E X>2_e+kllڑYg(VKHGʻC\TT.QFf6RZ@Bu^ǜ<3"k95Yob=:Nd=̿9-=.b/pYB:htph%f|Op'w` &a?Y .vZcqnd&׈$E7F'F(ꏕ.{vW4וGzI:>,ԫf8\!{3ѿMhY1E#:OiR:J\h?8;  $JK\B/fF ] ~B2WG9m>ӆosq `&SX\3A%OUG90|H蟶?s8]nG a- e ZW1YIjr{ lo*yI']D?CPŢ}F } ngyǹZl⑈"n=7 nb>umh{Y9ŜZpF#noXfr]b`55' RTZeop3G9Ҿbc"Pv0\E_ws䣋@HWopU|t[2/0/3[қKG 5uq0V5U.\w5-;qNYXĦrS^U,REkPmA"9XDn|5 2 ]gqT}Nk0yHLA*ok*}(")@xU bvԉSc@W*f0dن|l.M?)OR>Zo 66i[\ub,LUE>s"\#CXC(J dgrPҔYl@fxlr{p[oHC0f5t!ԃdEKQ8ܛ8>fCj"kn%id}a PL %לeK'G"8Pqv;n A+0urܤ,}JS /C9xeƴG `mVzd?~ gƍ[헿pߖ9efqƗsROS79D?cAdsi쑨Uk|OE*k]:t~X.PJ[dnj??;RvcjFGcψ?z-oLb5ˆ :`!$ߊǫ<;'>(RN Sa CF ;ȿoÓ_.N.@*PnGgLZY4\\ );?Hy1B|bY1Kv;poMyaKȏn0}2byU\`977jhj-IL8~5|ÑHc~G#zw :4#T9E7@@ Z;?\vx,,G~J¾ {ߵ.Kw-t-ZlT8saT@XB6yemu\c ,ѭ9Ge-SA c 8#v<3ɞ  'SxM8Nd7 ѱ"L픤H Q'8Np®|o7r`LmLm" Y}oU+-X姮L`92꼊fsG>OeGU̵T-CDmDyvAN V$Xz;dM6%EG ;qK\,J~7m7H< jF%Bvɩh*arCհ:5JR9õ IB%UӹE< Q p/EOdCG!&9jc CϑS]hlA47)F"=Sy_lz :QkP @3I:"~W=P0awEtȋtE]b7Ǜ(Q7D8G$ sJY(g$!U|@9`^oGR7mnٱBH0d BܣڡB>$f^n]t,}?lW.Z`rbØ /8[}d#Ԝ*wxmE=y) v3A#~R@"/>A'H(>a]r"ɖ9h7|o9˱ -KoS5>)q%mL? X Dvʯ^z }|1ސO>[,$%rhL t,Wbo{rEP^fjru"[O"d(®X4i%m9"˩vH_LL?zzJ5YE'yHë'9fGB!g82|-u9>/M(CYwen ?3N8Yf%2V! Xs[Qu3Zo[ *ɿi.+W͓lMtÀ#1MwC$mtYҤkK1 ~.QAeu?`76''LM _^\Xvۑ\$`N\Zxև6 {ЙBm )+,T?B:^!-a7&HbGjTῌHPD'4*O6Al[+y 釱P56faW}(ATB+G`Y #M'S.EG=vCᶖWzgf}aUü\)FI:0+ }kg~j+Q}$tCΏmcJoS=3S(1 %BctjX,ێ{- >%0>kt!ENJ18{/QoՄSv $ q%fn*љ7gCQgI`J),#̖u]'M"{Տ%ey%Y=J=26"t.bt-de[h_w420MHL?{:,郙eYئKf@۶8&ԆdrX,ʙGQ*XvG%~eW*Y+KRF7 1rrZ-Sd'Ya4T]_m;Y^fܜr7UZ)akcgS9Y_'6SOv:★ԲB_L/w4\;^b9zWߦsK ۞Vad\DE("Ǐm6 :vL)xhܣ0Wm;Q4 kT֭\XB)2HgωvL)(8qe4&NMG܊=[6HPbpK  g!C^+P:cM)"yhnFO!qYbkDW0ENh PDxM)5#k C$[@ɻZE78Mi[Vq\-$U {5 ZXy;, jȟ<.MWt:HCtR).n\2\{1![jrV2?{NjCs͊@o!4/ \W\sk,\Uş +lUNsܯjq4>s[%X@xʉErs˙ܪ%pZ Fa퉈'7;oy$5f&;\.v oOFtpLjMq!Z W7f_Fr(*WV2if H=~2 j5; r0ueRxI6 qwBzanx^p<8EEx] p҅4(̢>NQ _aG5AgeFyWfG,ͮ-z2N*/%. ŲHBaj\X4͙񈜁UPVCHDե#=A<߱/AS,ŊFX4J\'D)Zlj%XT=h77&t ~g5 "3q`bXqOR!:4@]WHː˘!YX`f\NlQ霏@].az[qʭ6=9xF#־]cP䌲r{PmPQ0fuL,欴ODJ[}1,8dJCB?4_1X`Z:0ԅQc`%ZP oCdFE%RNFnC2I97qf ήm! .ғ}br%Y4v\(T8*QH{UiVRyc_`Z{e:7ɟ 4ûX5{}}8x{ gj lI!|*֬l^ڥӂ*j }44i˿\9,,>_IV\DX~.~8d5m,De텉<]`?y&t 1E+c%Ċ %ۏcjx6&{÷?Ί\TCbwEB~6(k$ʻ~*_ +O2@iK}r(wlXnM$ } ^הڤZi;3J#ѳI5 Óoi%@mhL4һ1czEX pK;~h8b]䵈N$?=\!@dW u/^1}i\aeeІUľ iCe0b=ޅBr{ 23/"Q}pUoOlW+һ9aךDE͕P.) )"ނ)i(&LXO vrXnAfvvlrAp]w}bѭˢt xAg3]!cU&A-JsӑbW0%H5njsT)RKysYI9q8vՙJxEԲȟ$\TPaRA9d/ЖUmTQ K.clK# wG* {[RMؗڨY!f.5,#\FeV%Yw4k^MbgjwV?V!l <|] |Tf1c{%1 ]r_^ k$ '.e܌T ^yej.?ˣ'v8zb'y$*/(΃-N-A$ILbkCe#5ꐃLZ+ 1 08^@ [AK`l *8y_ĩ2`0$p@eg #>=:Xda-vYY3" EWAD:$TiXx_,iG1Nۢ{e_|LT@Juͧ~!gL*@v?QF>cH ~JƼ4]*5xxWADs|tl^iLvT>o[FH3T`rK[zYh%Si Nn77b_$((,T6(HPb.|{o)>Wwk[IF>I4tB\ l rjy7>v7 VZ ڒb1hC{d zl.ٟfiH1dٹeQhd޳aǔYxSO38:j9vDJuĭ,B:aVl!-S2OH V" u0#|pJ]rDkMr[[";z<_ծ7cVEKYqWa3[ppUq%DN43+03މ^rmlt{Y4D5W gєY6Gb !9xۓ`n5mAhzQ $gDV7}W,Iȋ~&ө IMo\ΈH-$l;$ xper{B6>5:BOFxjF( I6Z&)5 bV\roKB3ZF#m7P^]]zɋ.gOA:sK) ! /؂8G'9h뚔+އ9:i~4e5񖀇4 5#&vw⾑륳N?w:YY"+%lH#׵\6I^yF2 Wm},mǦʢA3Da,+/^}#@M^}pX%7Wv׷wE0C QԠ+F]vw;%}j5{J̅b|͡L˰Fl2{\YѶ]瘿88GPӡ*oqONn`ԃ^PP nCed%=y.h:؋O=lz{a ~.y Pr4c`+z2*(($^c.`\Qi%&+_!}̒BſG.`k@2`%nP5W*!dwB|I73YfL8q]OҫΦ>-Ġ?!zd۽7h1)' tCGX@B0 }?\$GIMW0!aȂWȁ$Ͷ ?6~ P,'k{'~ù$6ٜK|XI!HMB1ƣ^;Eu8c4ur@sK0wsXӐS//ɭq)ZF ݹVmPTZ'.G ա6`w M2mR9'!؃;'==PDIִJt+Ψ`FnГ|ϾF֩,ӛY-Ub n ÕQ;]^CP5^q|q얥>mFTH,]%[u!K=_JЭYu9)x,C9**k]w E~,Ξy3@@vx'ܳ[[h+b%b䁓޼-:gzE{iӂL .ۛMu:՟ts2na\Եd/ Br1qQ낿%!U^XK5U8{ 9) M܁<Z]!Wo RI^UE27B'Ƹ2}*Q Z!pɹu\>Jr)0K~7DV% b * ^yPS2FJq3/Z?{"K1ȣ)YjϹ'x,Sb86L<,qQ08V1d_%gn!-O3#'&8.w-xj[|JX f?-k\'ҽ'ⶁߦ_$?ǛqnG~yT]Q @Ck+Js}ߜI;0wUfpn6~c}@ C ִSe[pNzT:7*ۑsD ,iZ ڔ1<+T4Wݘ_QgEL5RL wD`ϏGI};ݩ/F?sp9%_-LKw !4U8Фvژ,oX+= ,(C ve"DF&ۅԫJrmvu!ѩ ŶT|krHBd yTNy3AUBZW$7 *Vz4]&NԸr:wVv_ _f\"gcdtRX9ӗixJX58r'_}s@Ʌ?fg%~/fDq0fzk8ᅲƠ'D*#ax]g|p n | ;ak$D/_LK7PzcWvbo Cq,$Z9},'>" [KA:HUA1Xѵ0*춶{RSKE~!a-aY{98xfMaD[ q?D9z_E4@Q^#/j0Mt# u! ݾGvSVtD隐C'ɉ W֬zP7Qu6tXf}aY{vӔ%iR g|uJTHp[4+`,Qnlעj$y#jeZ;FȦ8zwyg IN,SK%i ҧj#S)]ebPAc;s=1?ǫb< Ua2@X SBo?&.jޟ\]~u|d_)C!)NPc_IEK(⇆Clul5ލXSamk }4w+Ez:7QrQ^PIUE71vI3MP@"spuyxeb"6^mD /k&Ѵ D@Z]yx 3;x%ϫ\^'?*k+C;|"6|Voiq2 JJM2U= ."(unqkØ)ipXNS!6IsC*lA~ BckE$vk6L)E 08Ai?l(nLy6r stJop/v%.4y! E$BL,N4c l,(i6p"Ni٪.Noruym`QE>f:07~^LߛwVXٶ. Y&?BqkM7VcS{4}܍/djRȩDlCvZ~a΢w.`+S3ꔇjs(0jb`yxu'=?SRg‚F$L~R-ZJ~wZ3=wG8d@=HԴV.ո 7l%W2j/8,8Q܈ns.= (A7C|2"PzY< |b}Ϥv*bP5OC#ɗ94J .={)]P{xcVgdc*e1h Gc[{k ~Z&x=TgN[{q}4rg023Wy3r0f&>6_މ2*kHj3MMjc$Ƞ귆@${];/@5vBØh_Z\OLk|q lmoUZkCRo&"wd9d8S\[Xkg-v56`%cyfv ` u:N(I+/1l{a =C8i ފ!<)&KXe-L\ek?9PN$>8J8QnkT8 b3a C~}bĝZdIݼ4hv'7/S7*ݽ hmFȲsuX`i!4kxpG[44ӘuC f| x.c]n߁Hv01Ff<ˍ~(3yZKނf /Ǥ$)EikpJ2(:qz+m?2H =VMYP|',| !ۅ3D.74 L#c!tyyiLH}liuI<żDVf^|?Sc| hRZh$P Hܻ̋()u|R!4efM| Iٺ&^ Hx˳>"_r6C0-[~s%ތӖMt1| Y@`O[^F6=CA |]NBe1◭u猒뫣K %'B%oy1ĶdC lEͤ qW#Z-`35#3LU93bb+]jMmk"Zl "qu!̈́$f,nK[8:٢y)#WRRQ5FxV7!mT枤Ĺ%U.up59e@+΅5$ h_)ItY͔Fft#[vۯzX/.:J.NAVB'8ՂLeZѲ >h[5e{q'VlאR` JUȪ=}tV sq"\'L]u/]wJU`6tz0:I1:Fnu6$UgjլNU@#KFÇmlյ N҂&Kh Y>5pɅL_ס -`ş-C=ضkODȈI<-{ОяZ'ūCM9 Qu+Hݦ܂~bޮc'ȼ)&}fJs |,{kWV~2 WO 'kj%ך>*zVqF+`EXJ5(.tῷ!$Rk\G ѼTtP۹KQ@}Z\B3R#ǘ{^#UƒlA~fz}'R?A753]u-xou i)K4*EvDEB !:|AQq>} M TBGc8K/׽$i3#L ڣ0JKIA0 ϸrɗBd! о̖5(;:jUCH}ދKDcL IvS ~܅+xeT C3m+ÝC'qH:j=&wFZ75<MUG!e33̐gW"8EKŕ~Sx(oB|[0qf'^hI4V3ɎJ€ DIM)[d]`3OQGhX\u`c@f=@Sf(|6Et %wȋҴ$CTqJ1R #eG^u9ۄcyDա:?U9u,9E(@nӐ o qu*S SǗL:ŞI1u~S9$XX<_0GѿP$Bz^;C2VOP_ӻ@قդ6:. V5nX*\hQ/Wqx5Щ>>x0ӝx-)T1Ow\`_!Sv|s7!"wp#=Es_,3,_ԢLje}**)%zUckN(2[7]xGxsֈD63Um3nYzp~m$jN) >6/DC_`Ə_SzCB(܇z^`!`t=VΗ:+%@vl4Wyp4L%w,Ej >L\P׆ѪS%lX;'rœd%_c-6ʖuؒ\X 'Qy]dy4_7Zε:6̶Vm#$XWCwRX;0T47BR*q:/Z8cW46Kt(T)4ɕ'*F8* Xs` azJ񍴶NtoyÄц%4;Mo<⠈*^ؤN{\ sܯl$9{AX!A(:J@MB=FƟi] ~2*ƍwJ uW.@#9. viAQ?%f^!Σ@HvHLQJ1Tz-0{ēn[vaXѼT1ЯO3j*6z??8Cڵs7]&cTh{4԰X/چWzXr.7+43Ų4W81cS԰ck]Cq8;x34ҫj8 C^RKu dz7Z^tt\\t;ppKUf AV0s%_9}dr š0Ò z:K?7H&ȉ mfgrD*Ɋ zk/ر>Ћߗ>#GyˬjAB>V^%I({1)ʜS>c*scj/%^_3k2U scdnKz,K:rVNa(YA#43G~Y`_h#NCT,uHהxDD/qbV=R[G'5[p۟w-mZ{L̷RELDB؆-P&dD[b'z+ۑfpO֪U|Ѯ"jƏ3WZP %r2+w/)Q{D[g.8ڮ~JL0 q)d-zǓ#0fJP#{Z2{CUDQbST(Q>~Vk>|!'w&`~JsԫO'%𓸖ާP KSgpt_ink`#֩X٬wȋ|t%ut٘t̶u&jRMϚW{HA+?hZd[fSiga}Q$A볒y3 =WhJv&_FؼAQz&4zn#)y~$ {\c/D|CEr]C7{CzkH̝n W.d^p>jqqN±졥n_9D^6'R/2'Vj7ǷmvjVL.˩yrI^XLQNuɎc[$#p%p\T#ǽF/t)a%%sĬ%bNҟ'֟.:YCrn#$ aY O+„kȖ~LV)1jVTs("2ȧHw]TTE}e;fH#?*} 6#)\ˬ y+q[2[\U uby>n*p{r_B>Bhg 1p'~`t}s6ƾ) =-KYPlfX1=Y&Ѣj ͺY\cY:R4Yb stL:7 *Sr'mW̡@i"ht3, `;t`B,CEcH>gQ@*qcܰ;S=I`UǪ~@Z~kl{L#ExƄ_7C0O8-3uct bsuvf|hVPkrJUHF650RL oEtO# j#*4?"Y1aS#/w#:^ڴG6WÞf{VbC\3ciìM.緥abj7ǥ o ikfAdnϔ0~I)W/F7$9yܬtO1ʏO"RM8CZDK\ ߪ!35c`&6Q$S%;R;9Ek`24wRc~;2rn^8ОUO%;??oa : TJ )va2K<ŠGFg"e Zc SXƐ^ugaxYl]Ѿ$g͙FG;߀Yc"gEI+i.}nlsM0 ,<2(x&v]Hl|RJ/۬ѧ &`Tvj; =Nh#+*t|a=DG45gG1OsؽB(! =&5XZ[Z''TkwɅռ&3=D>As&aNeل8tò% ]Yl}"4ؔe ۝ 6+[ eZ)R(.hH*W"3,g_\kwgg@@WQ0zwFDe7 DELdpyUUM9h[-cXȜ($9lilF28էКVuNx#5Aϑ lDŽ>mZNF1 O#Ar5QbrnN_=s[^&Q񱥻O hm!Bk~Z:QLou pk^ \M!Yqb4:|rw]i?1O' 2 OUsL0="R58dñf]oE#@9KIhξIض?DT]g .?&]$a^]' =K<;L1peL'?8 VGX }PQ vPMCh-/gM@OMy>`AY㥆ip@&fL9 7†ۮQ = C&l|͍Uw*%WleI dq(N\^TIDXhLuR+,BdzCQ .$}'v;s˦C*K)x.VB FÄ~L]ˍ}ά#,CU zv*$Uf3!pً]Uf3VadRM~齧.ݺd D&۬PfhmV X6CXz;QB:7 -R]|Z(=bHrzRY}YmGU; j[]P Oǖ&iU|Ao` *:›b02^LV`NZTjl^q7qGgyCs( ^NBX 2yxr( dr(ewc,75z5Q9m[ ;T= iX9ʒm`dmN+k]"*5 0Lv.j_ [%,V,Ueches85t܍7W=Oin4u@ވŀb2N'~qEw82fOynzuB:> BCa~í{#c}bbqXٮ>晜]W T4-@ .o^2Vlyc1'Y;OUҘ{, xt\ P*D;*;*& %pΚG[dj)MnP5@wqկp:u[|1g伒W)b1OU6̴ ++|oo~D!8 2L4RAړZsq&i/>iywjlmlD#%*-f{׫Ù!1-!VvBjmQw| y@l~d.HWy<  $QgxzNңQywmU1=mF*q^PRZ`Ǖp8׋2,; *[SՕ#FQIjA#D,m"u+J .Kxo/maim(A?mW&K?(h `z%xFHDlZim*$wC6;* .DBowk:P*Gjn/&kC:})o8"WGYy-i/+B^E*5ǿ(yBlv*,X]Ɲ< z/4 ¾hhn7|\\:&>r;4KUgGtd Ct}ή!P  x&3 !z"[ `PwMc%{ AgB3򰞬2Jxb,WY|Я2A *3J'0ǵգH$˿ PfY X $3u ̆^ =28B3մhaxR5!2T95`pUH(&<؜1<Um)}I]0GXٺ Ҵ'jeوpA߁ }-ٵSșQNsZ9Lk鸋HJ4NߦRFExhZpV{h8/5ZE=P{ܕ(bOxLw%B>l# yioEL*,B㠨@l(@u'qY_;ھ3Me*w]問0њֈYӁqD_ 2[u@RFbXN}4ᓙF0C@h,[C9"IN?w3 Ѿ@Py_%%9RNQPYb#e|]KX#~w|*E)j4U9_o"T 7-ܠG05y>x}0 x*֗dJ'Ag~=ӯ,o.2]䏐KdowC~ reߖs$(M"B+RԽV/%Ncf{٨ƠA-c(kySq y!1\ڕ4z1h ^K%!=6v*u'M^1c:Jz!3U8-Q Oz7I; B0eD6^d*;16ҵ~QQk9 5u2yA~?[S*B=7|]UlΑ Aۆ M󣲾Zq5 N!VcCUVV cs4a$9XY,O5 ;T4*"4G7L}ٚ;.6ݳOg/"s`:|2݉-kySZR{ 6k,| ñr8#C|IDU,;^Uޗ6+-(޹t-=m]zxc~Xd+Ҡ>SY.fVb%t&PN9غVEe@j^2@WR6RSغi,R8))ǥ*JN)X Zy|&/#*׶M$El` eλ]Xz42~fC򏀄9A ~D|Ky r0,8Z1`6i񉅊lOTD!xؑKBi= ֯ KOO ᎸgVͤk'6>j/ê40'Qc157l.Q6h\(#;kOQ 9CE aF:pǯ\?x⬝yJX~$U9HU:TVld}c b'B~G.r|bLlK} w)?EP^n 0g|< ?ecI^%YGNJĕieJ{Wzr. !#l5rg4n@!tuED55􌉒‰?:'|: e)v}15PX\"+di{G5o|Eipu}BDWxRk j& I~g$9̼+k#C払"ƨ0Gzg&eYzq@m̈́W[(C͛ Iy 1==73oT /`>gFmWOʹ}ED:SDO6S.@[m}`=_# &幕^3a!Tuot5?[db҉eК\ڟΣxMVϙcLghb[NΛHx2G}!jCx I5 !OSeĎnBBg1a*@Be JR)*P(əde!+SpNmx W߅ E(ggŇ5|6ݛzJ~)]QI:kV|;ѩ,c/Ա:vcQ9K+_'J6*> <{ˑ5^DQ2oכXuܱ&7iBu3'a3iVGC\A?N|P>EOf@~1ޠd|7QPe4߉}A|&8Sh_}aJټꎏύMr4}::ܜk9^#yp=OjOB`g @p͚ YE+? j+s:#D tNҷ]. o42 PIF̣!<½8P:ZP?[LSNA; l*:)ڃ|2.HnGG\JcD;$avsV\NoT ,TMzdU].}2A&9ey9} Lqđ}SAKF䓫@jS-876]ZcCWkcS)Ji'OGU7GfP.ʒ^c϶hXo/a.%MZAm{L>l0#0tfwDqQE~nTൊLe-G89hJc L뿉 Y3ĸfIBcGZ]OW@XǕ G&JxejPdW KRyPq=(q[,/U{tCD@RNqcT9JA6sVsAB >%·sτ=|5|/\w ~jҋnu-QKf61%9G٬|0ShUͣ%)3# J8o ֱ…7i^ggM%iINbyqQ#"X w(RwOBNJX+:KaIQK85Ɣc1Srx[; rtDJR] htJTZBt$/,\d}ɼiG`qʠD!NJnGQ=\S W]5"[NwbB'魜UdzM-Q*4Y;AгԵk [י3ߋuj+EOgNqX<|pm.Y,BsXgu31LUpeT4)?#0U=+Fx]hĸXЪ3Jyy oٞBsTUAoOhbHmaZ?%=V[S@dI<_@*!|>BI3nP5D>n"Ԥ:KiZ{Bs82ዃv3QSNV3/E+|x^oQcC&P_z c O)3뮷xq.yuwxrr H }- 8ulBp[B ¦)U vy0|qiޚ.xY}׈x"d]~ ƃfP2MHfNfƌId|O svǵ#xvƉt)5Gk(m 9#B-SevR~&6&wM4(;N?ԅ)Aw0(R,y7UG! nc[X,wd3=\/KcҺĉJRA:[V4OK+NI Bh:== R ec*SQx#@HnR:XfC{^njU4kspJm<SJXFoNI4mS}yucG\ʼtE3^Bn7N)d}푟'u1Yj2M7Pm+1zk-H 4PxӡOxr$)7I m YBt&Q=Ej9C HkOgdOK-g4)ߊAuFo(2'PnPT;5pn[R@3^W5—? k&=!k߀iIc{CApzi.ᶡ-ܝtFh*ݻprYQczo[.aTFL8``"=TؖmJB!4b[?-ӾmoB^zBF`d3],]ՃjCI E5jkԒVyE[յ~gWi{n%k%}` _B$hL}#6;R Qwnnԕ>e TzABC *1UePϘa~/X=Ȣ8뮙-JqJJ;Z$63Tܮ1ڒjWFUP4)9](φ?\"Qh8u@MrG8f!|׸g!fUD^Cg[S1EY&{'L{~gi'낞gw/Q;"0>a;?ik̆Ac?lsv'zU!vi jLzhD-?&DFNjrX'jC-m07=` Bթ1%ȵOUTNa I]Xz$?yrd.tykw* W뽒-vMމ'|͸YP'5"2[htCð 5$?"7lךb{%=Jsh-/<qު3YqCCKk!cID#2V?~ 43Uǧ̉ǫԐzTue?.Lmgl`Ish\X_ g=J?YZ $<{NZi3|8yMd~֨Tm2* "=Ękb0?aG0o8'!6(7|{ ;Ծ)p4Fu+ҋ;:.y֜uq4,VJ #!S1̪ZK=,w[T424(У~% i_ݦe/CLRG&-Hlpi]0县Kiۅsf`ܩ3VZVZ?HY4K!2 +x*6.vl T]tg4/@<٢5AԎ-\)}%8H-NAC E-18/(_)'3)z1\ՖS@hxVS-?!.{طoCׁ/7#TƇ挕ی5b_Ҏ7Pqr S$7mZw/-A oEz{4njj/'t.SCqۏϘc|~z %#%KUTAڐFf?H}Z1w'paDNS 6z0O~Dc(>Oꅙr l+׈qTUd,a2eT7 t?vUMoMAJ dvX(^ OPg5(4GRqi :{'.!Jĝ$MuZ#Υ{Bfx SzF ~W/9a 瓲( | T %y"t%eQF/]@LGLS$XH ңumwU%T` 4l\7g9䲽ݟ` ~/倫%'`NO◍. l%6z)< qAl<3e&Uu$Gz9y״Q#xu>1&,MTƝa"yah bꬱ| DV|xgŸv  pm}ܚ$ka,;%5jUOcǞY羰O >߻9hp@ƒ v$?&-0է*$eQkrv8~2-vo3gcUuYq"H^l^^z%5Q: c=?E"UeC{H&Px$ Ѽf +[a _DWd߆ye wOjz^;] r*O x\cGP^C򣊕g l!ͳzj:FaWV֒91fz!Ao0%QpUqu;~ӑ e]fjj2GV <{"_L.iܼ<;u(mR''cOʁ&EkSsIђ_( fX)0b TRiW]waצLđ#&Qi^XURS'JCRe,6~hGe_Nq%T܉5)Rӓ!tG<%.}>.ݧQ-w"rEXG g9uf v{԰߽{u[| I Nl7PD ˆa}dG4'Ab_z|s%RLb+ })zohT4)*2-MJ2t r?9/gRה':]GAOZMHОqu*1!16==gukBܤ\_цeHS޹5HE|d4!VyBStcCL/e /א5-]38Q.W)bfHƎ0Q[~DȦF$.I 7w]Y /#@QBBs1`h)%g! p-ZO["M+ɟ^SJ$󺹍2sydh^K(&j;˿:寓!^>gWPp=y赒[$HhZH7N@c[6xV!#ENrY[*ӥKi5 >Ϟ'{H;:-Uӷ 󜭲`mw1x5rҕ1xE@fUP߬7q|dAj{gQW;*k}ctR9_BESg zl!(WlS7mqAj`U tX7b8FCAYVcUjdXCJ.WaTmaV`Ŀ%T,8lCRB`uvC\"ihQzox?B5aO 9F6M{(V+'l=* ӼBza ߊUX1%>jPQ 5v4y푧 rCo"V'*i SCMHWCXIfLX)){Z5 N&"v]W dI;j9,#E>(.^֟:ЗJg)i%Ędt +ykL7zKLrQɦ@v>m8uȄe3 6fT>즥4uRs^sK~]ysmۂ7% Z:=dܔYl"NȦ ];ww; 1jR`+Bō/j~=OYcɜSQN+[W 0:W~ 94Ydkz*2Ƌ0X]-K?%LggkYE+ pUC>a90|6C%hrcJ*s'fkW3SӥH[;ow1ɣg:X]2Z!Ka~Pc]Kϐ[6\鋄{& j3tl: %'t Sl>*}m8״\#,sI[A5dGeXZt$!6gj@3Cɏ()k [GpUV}ɳpR[WdxJIqN _K6pݔe:ET=]N ٗK]CUGe M ~Hb,F*Kzwgw =eWI¤@T`ptA2Gq, }dL0_p;WvWQ.g=a*㹋0'Җ3))$BH%0pUS!PءyҞT-MV[JNg/Ō7I |Z @\`怰(>/j<"kuWÖ9әztUSLt /@y3 Ȃ61mH2ml'k?U-(z\K:enإh$iˌ]0.gf8eN5;6IVA@ F_QF/X44;oޜy*oqbԄ@"5l)e%Ҡa/)$iYnx9Ϛ? .hлljI%FAp$g'N.Z w*&-Q<]K1RRªs}GI΅fږhweؗB+z6H#W*OGxZgxm_ >+ZQ'^?poH_˼:ZͧJC@y1Z'mڣ.qLUEjbޠB`"oNrr oDZ]wu2,k^'X+`3U7݂Ʊ9ݚ@/c?1NR.0ۧB"]-._x-*s.dD"{DN-s@ IdTI4  Nt]rsa̮FU!G@@unnMyddz~!Z -m@z؀af"lMw&q-o03*\vf-! G&дPfUw*!J* `9ra)t=$1.@#ԠiS!I7S :Q5ٙ4'&&F_Hp!CzY!Уz:O ö1T jRL|?l1fwxurW{^Q40uV1a=6|]#9Gf~X# dINEh.·0]<{Ǚb@aKb~"f%Sǫ#䠨8Za$3BR z#ZteA3DTH o~FZ\rc+<ʓzV(݁NfyC5N5`=Ts/< ҲϫeXjH3I,*'*Ү72BI@V9?=Ǖdܮ2h2+E>nݪB$ՕZK\C:"X&/E.#!"F*1}٥JL) ^օ퉱8\9^r1{YDӣ"p Bv7FPlmҨd7dp:md;>!],¸X)zD"1ĺmIQ1ڟpf½6‟:O)W×j̊7F<灮ú7UXS~Y)kP2 ͎q6zZNt<̠#5·⍺֔vQj&Kv+D3*u0X#jBo \Tt$]w ! 5>㙿nfC7tk[9tEq*wo{? :3Myj7K½C ^9082 KZTVFN`R%TRnӅ3`cLKًp"ÕX‡HhA•&նҰ1~qR]q`K[-@ _Ї@im&< BQp⣵B#2'i)`peiK~Kl1 'ml/u;f\gʭ& F2~Ks8P'andi0C*`U%i @bHNӥ ϬH _(S,X:YݳFM>-|&osm )QSpPO`TuaG3~mb>mֽC3QactqפV?Q /]ԢZ_c v=; B$z qS d"ZE+L^oҟr+uA߃M4 Ƚ$p)Go/6(_,r)mR,sEA1{2zU݌LDmڮĺ3RގC%᭾Ӄ^܌F$X^bZ>a~.3byk7|Z]_1z]f0 Mܨzme@K*|lrZ,AXwK8u0{L 1=9t;B|92\-Ex;R% &m\ IZCexz O6ZriS,Ujl\6 ldpA[=LUvKGwwl9ajUg"ƛ DA ml׺]_@CQ.fiUo _\V.rL#sg4}UG:#3Uٌ]~oYZqmg2nwM_Q5,rNynz'ܮhlRɪy9>JH#j]4C#Ys؄z&CKo0KzQ} Oceq>|@Ljp=X`JO`ֹ#^*oy^*,55DI-۞m#{yCnCEZ.2}Gb4ӴNZ9,^21p&̬͎@Z'[x}+FP(sBIK1 1Fl/pˁBW*[%򯮠b@:^iJ.6}'G=)bMro/v4phrp#QDŽ|&A:/]JP zU2uO$8Y%cR(4ofmR}pcҬI^Vc0]Ys~a th;WDDo]΁c'SL `q7,o3l &{8"Ր&:f<a9J09{BMh2p r>>۳R1vʓ/kwlc!Nnx' Gn|ȰpJ$%yf TxZ}GOR}TǬW?7Bzi =+#{]^f8ԆGWu0-[0Qh(oZ=v\Gv̆6U@J,T&C-cy!BO!H>P0kȑCΟjmQt YSEP^|˜!HkdziҼ}upu ',*E 'UՒ=M_\c|axPdbGmaUHLGFw0pn]8V`cTxVÈ:h o]AJqa+C@1J?K׬ LY0%:7]S˃1!ljZ݈&.g tU+dP%-Ÿ8jSի tQ`t\U6òWLFoNKzvKPs4J y#䚸S @CuGWG%O &~<xs(B_X],|(zO4[Pm9s=_"|$*K`=fB1e폘~nؿ! ܷZE[bǖQXeCjf %.6_Cxۙ@lYAQ|&lzCaGv|k8q`u\si`<-oN KلfOyc# > Mp!2*Li1E)_ib9z'`\D)&bݯ ِs& s>΢d4X;fLiWbCͮ#!.v}!dSūpslD̪[;G x%J:_#YtΎm&YYY%GDK6Yબ` )-a'UlPg~OƑj-/j#=⧎рAAT>(|1d.!"Yl2[RlE1pZ !@ŧHGKpǛS@c{R=Z<;3{Eh (%Ƭ_ty_zctz7뢒IqQ8jb~"׬ZۧNʻzh=6nQq>W  nIlMѪ)D'7[I]FGUtaOn&ZrȂ~t#4F[/̯6sȏ;8xRQOkQdž{X4Vi To?X\ ˃;~6~+6iw .f]AQ)t>n*e_GbV@*),$~|fH;'KB] @ϳnȩ꽳Khu-PʧbXoNzu[TT<4h6Y(ã5`rqrt$Y$x@ܒ 2 -Y$Y *8r8^Y?B} 4&"`V>amfC;uB(lq޽ +\{~&`c#QDDǽsTDDw%*!tiԎVbK"(gaiM/8k: N4f/'8PbLXOj'<ԹZ ׋Klf0/pc_%K(@a|S`Y 2dD,z8x@e6 i_}JRLWH{z-We %OZ؎Ev=/ Bk)Bp6 FM@5TQˀˏ^dxM:![a]DA?fsH##i(H:ϻb#f?g忻젼7X6}*;jB ٱ<vR'+/rɨ^ ;rP.DX}]orVcWY&LA!tS#QpBs]s tΚdkRS&+Zy).-)vй!1ԽmٚHs ہ>-e{F졮Z͗g9"~dɴ >8eпk@8ˢ)mQ?￰t%g|A0=,ɃÈBAJ2n* 8$j(ū ~5O*hf3J96_ NX z3-}IYdaj82;zc+*͆Qf"ZmIk >PxxHTn9hЩs7ShQ3[wj[ȾţDFoF}ӭz7$440BSCq^?B*aL ^vϟU&dx\d  GzY?FށsVtɭlW% C~ j\oƉg_t[xD!)X]OY~I8>{-%Ѯ\KػVױ( 77"&@nYe:WBMq΍/I.Xtj7"|\ $ECҞhv՝&, F9\2 h}Hsm~# v[Y2M-zW\>Oau;aINBs&<ndP_-f7Gˌ׃Fyqi'YA Xr}C緅eSA;hi檧!~B햺dupVIXs8U ;$yMa7ٳɏx{%V,= m_:EڍsP5MοEpacF=z˷/e, ‘X ITnBXƁ_ʈ>cv;!oBTͲ\٥IU$zf^Snc+2}F8T4=#W8a7s+j//sȱ7zO_/s+2KwҤDH+Ze Zt_k[)Z2l4YkPuP0vZL |,+nsmtK(f pH\;hWJ;sXHVht5٘WD'8(5HԶ s{W}LacV6mHuwcY&>.Kp$[#q;>XP-ĤH?փ2\؃Z| pͳYt[,7/"'⧏鉛?)P#3k츅yE`V?T%mճ5Icy@&k=$&Z-5@0<~E.+*~E:vR01=Nj?Ew,ǖ9<:aC^g. 1`Qddֻ28v?fA@g#1&uN$Rתmx~NY  `$oxW_EqT ͘@4Ғ"!SՕf˳EOB|&N3ZT5~-@ TP$xr{VCkyPH-)p\Im|a )ɀ[T}|KH[am)z/Frnˎ1kxtDW& ELc|޽W4e0tS[vpNl&[";#TΓ+RDSSXܳlq(yUXA(EjxBAph8IU:8Zxu~U6`~OTPmF柙>HbT@zoV"% R`͏5Mq ̴#^D`clW !,qxSUHD,[P;P(yW#⏀!O $dts /x'?h|X@Iza*:B}m_mILZ`L@Ԍ%H͹)~ncԵZmIlBF B]7W^M qPa"b)tq>vZM{}=LD^zٚmB'PsCI1ء%Q-(->`%p9e\sdR.X2l[i ^!פ]\½ IjL=bU!'#5d 0fq\hgx1&V)oKbcwN LQx%5YBr6@_[*e'_`: P lD|ςI<~A&uM2G:368 cΝ5Ft'X`( 5NVN?[)FaAVeѶGՍ.7D 3S\':f>#fh G`|E?Ed*1MlP'E%Ju &&C1n)=^hرbJX`UXAw뤢c% >.Ru۟I,CT$,s{`Q >ђE:uAEF Sy6*BG4I7ܐmgC&2'jD 秪6T,k$kElo?±&a.]yρ9< R,>l gyݑrŒKJm9N3WP@p<2.U pMKk407¶"'V}LKn7W^\!o> bgkCaAΑ:&6)Շ"2Ĺn-JUdM>c&:ȟ<$^,P! %Qkp<n_]V:E4cGTS(>?n9*ryĩkM -Hj iRxma;?q}Л?*+%f|]"_BO;$_&D@||fJ3g(W/z.|~=3F[EP5Tlqg'EP ^A^Y'fʌ\ ֡J bC @ cnVƬ-z3.dz?H#{W,6`Pa"(q,;V[DHܴr zrhh,4/@7_眃ۦB{nv~4D T*q%E>-ȋF%!w[-l1ks78I.  @0 y[Ar2ӈDL )}jFkawm @wO?39ctWvۇVu\鉫ǒ*bt\':̀,Lt>8p>6[JB'O(!ğO/di`{[ZqK.6hÉ`~£lRUV)g,c9A%ۯHtl *kzW هUR{Hƴ݈ۧW_#LGv X2sT+'ŗ#!+g`ըx6xE8?uf+]<;b˂}ӥFl~(u^@X9yߺi\-}PcyANׁzY4P>0y }{HbÙ{ utjy;+wjTQl<%>mS(gmJ1mTvfA?E{s]8%3(a0gСνj? #ĿM[Ҩ%wI֣f2+#IwzEپ sOJ:fYN׽0­&`CB 1&Ɍ~9TV"}ni2kKrЕDEK2miHx=cЎ8# (\%4 ՕPk19sRX}Z8uwzR79:.V,p.kw?Z#+GgWRcКQr2GN( .?FtƟ!ސ{eK="5FzCƼ:jrЧyNgKZ| fH9PR8/dvKG+b^~_ދR6F]-ܹ1j,=vH[c8J?Dz4#E_3"Kn"9>e&"g7wJ=X .]iV9(?=O>PX^Cq wCm* *h)]| XykE"[/+/Կ2MǑ`eva>=VO?tubD]t @Q ⣇ZD{G!dGgZ@Ϡ"}NHKCxEE.r,[Ϋatr#-"x!ʇ@yD;cׇ ۴ۇu~p,U["R(b)Œ;f *3Fj2q@<빺ҜS4,Cڌ^@9`Y/JӿWwnTIa,8@(:pClN&j^7@o_Ot[b{) *g2ffZby W!/$Lm: 81ooBbHsS֞YBeFc B !gxʎÛ\KEA5Y>ˤ=fl O9xm ]o8iw~QHVj7 P{5%iԋr5#昙LܬX؏Hb8A]ǚ!? ?0RJ4B<'C'U iYJg%xһsQͯp~j᯲XE@]!Vcl񓜾vFUHy3d5\ kֽ|C<'^kZv@e( \I!%zto&Bir\gʡ;EPR,h1t򗅏 ҿi|9DbDzDD Y: JN rnf'pkБJ/b(߭z$8(ιP"K{x:÷z䡶#N&M(e{US)Oft'lR}?F ِ~Kб-Brx8W+KSQilqh SO+ d&+!S'i?#?ʂhD98Rѩ5\QU!#X6ZnO |2 $(-Ht We̘d~4bxxK1Q,:\)Cќ/N~SK1n*ESt?p!SVGJGS43:3]Z~IJAv4ƺ3etWR;F֕O7D񍂭 dLgn6لd{ sN ܡВnw:B`,j?yPe]|UP"+^1n3>@pVޗ6HQv5Pڼ l9l`?عhlM,,hL!iYǺb}*%XC\1t F %c[B~UM8)\25;E+ΏVe{pOI˒}A\4v@ 4ޱ4j嶥"0qoJMenTPI>D[Kb>[CT5): p) YnFv_旪ƀEYo`V7FL}#6@nNîN.Đ(^q: Su<!/~ˍh s;rrQIJx|voJ_KX#&I7{w䀎z$;%| 9A}{᧡o!N|sP,.^rhX$59ԗ&h?m\h:5(ĬW vzv K!E"FRktzSr|CGZL}.K8>JTEќ]-iaw{,\]]3M7ЇR)HWƦXt :ű(-Q|e$KZA1=Os=o>NJC[f @Rj_)&?˖ɂ}]"ds`bߍuXK~ L"Hw.k$A\%q,th_ m8c?1}:+,Alxk(@޳jvYߤ- Y\#;b (@-Ń g[ҍ/EVb/SmupJȚ%s}ƘUr BP"Oh]%×TVvΈsتo?p:e*R,An끹>e11Vi|kIyɰQ1liK4~s2Y8)t "OP]OdEZ%8OEqWIbWmݏ E ވ V2H;u5AZSK1d`5Y>ttf&~x{\OLRG; {eF+"#ZXYƤ_ylQk"j,N/~f!vyXIxd(؀ljFqH$X/*Hiy&!#.r܏ԲнG36Ib2qjb&?Eq|]>'B2ToģŬ"KHfg%ba#dbҰDs5J8R'эvGm=$: 4=6Z=yv0utl,rnpѳDXV>8 q7x:-uDF?|LKǗ[Iْw`co{,`}6' 54C~g{ ?Gљs I|7v.]*0IE{6I y +l44O\ѲURxvߏO ζݓ GGVP4ͷvDۥC0x#MKU!dG'DM䛳Ж}P f?]}&_:Kz½]}wt1Q%uO)όS".S_"珨qߡB2w\FWkķ$ȕ'b#85DQu`\Af5;@yt ;(&`ρp/lH#(¾ ZEѸ v,M-%:ǠL;wԚriGy1hdsh'&*(K10zH_\"J t\QGʮYV4<8MMi~R:?[Uo/FSSwxV0~E_ǔ3x4NOs㿏@s=XKTݲ.l F28nAI6cc5 JR;[ TԶߧd欒|Wܸnb́<05d}SǒxpQcַM:cO>vZa ݨR"/Pֲ„ m_AoL'YG7ߨ%kZWg D~.y$w4,V[:5i')gK x!:nҜ[jA.P5`Ͼ %JҎ6A/%%Bed&"tMܓ`A}R{@pZ<4b)npj>yS0 ],qK}=6 ų5(a~}fb_>~KB;IHO0U[}2BL 3gP5yܛv%ғƙqܨzDNjV c%3,z<3 _rUQ $ҼPou>1Ҽ9cKb%("ҔE :'L*>@OPК9ۄ|7{2QŸ6ො#]r7YǮc\tHۜ:ƼY28N3vRNj]."`Jf"@gl)Eo Hm<&Ҩz_% 5&,[M;_&O맷#R*<%q/ϡ9тY4cXmislj/I7Q^,K`-aHm澖 ? 9 6RW~AF=){Ul)W6iQV:O(^:i(k&ڣ澙GH [$/d^]2Y'd+SS S,φ4hvx٬!orm6֛ZJ;+nFA]F}[mXM[^'VM( %~-!NOn@ f^zAbƷt6ɮO>$; H] \ myiԠd`]"FY Z{?ɼ[4Dw%4ށ1sE̙ [fuu 190Bd7Ƙ"U3Rk`P3r#18HxAJF5ЪEr(AtYIxLDt ɮ-nB[7 'yłMpKgtܷ%Ů&DĎ+%FZ,L:Aon($;˩js@ͽtXHIQٲmϲx1n$kαoLK CU*1,Dk4aoZ?t/11Z&b0fYæ)!ޣJ$FȈfkHnڼP7ETm sNi 3֛/̳ϣ#嵛(|h VKmeo>7pȵvь;R6t˖Ε枘=)'͞Az^H:M*1~>>\U#d1|tW&E"a;8j٬})F&>C Ĉ893CH5{vd/Ap jCJ=c7!Y]!&CeB$pN+9﫰p hʼ ++NQ\H9k],Xm_"Yc̅dx}NŖmrPl4f8gAQ(Q^v f@fCRs 3q=mVGCh$b6E eNS{}HA&>|x(bEe:㞕PF; Pᆎ,#M4Ym |!K $kC}P*ycK ?'Rn#یd Y3sGN7k(y5̭U/4z G1"k  z!Aq6eLpֱN@=73=d:YX M+782:aCni%ʺtA_b4}1ITp6nc/Ʊ*6Kvxd^Mrqrd_Ϡɷ(>ӆ""H$-Ůl炍 oj3m>שӨYWK b_賞BЫfTIJ qĚp9UQ |KJ%8_ o)]5(A0E"Gx M7fĤw3eIR_M D)~k*KøpA0aNY^s 'mXd45Lr-.}yϞ":8e*[YP>?ӢgR&4{1N˹3P]/rN7-Aʕԑ`{,(YfԠBJM,Ӗ=лִ8#1 NK12sp nc[o^ \1] C!o&ZEʎĘ9 a{rdU6p~k{!DL'Kjj;6%&aZ(ԹY)U$w:f2V Ϧ>& pXi9Xv#۽(3$yPs-2dv;@huaڸH̑HףU=HYOPaI/0 u֍82"CnskQ% +lOWl\'7iXzʉy|G$GMQv~Թ04 6V9쬶v R9WCUþ4tۆ2;:mCwr2fQ !,+?fH V ?>ӯ-p|(hÄt72ͨ WHP}(L SD'c7<ŊveA>Oiv^ݸRcqYv+v5We͒xnG<<4/报%m( RyK4Ҽ?%TqMAA5!ؚ4r4Pd)PxHd屟_%E[[#EvY$hUOO[Zb wQ-:mT,p!tȱnŕ #j"86zrm J V̗#@Ҡsqi߳x;:Y ((&ɀ݇-ҧCP*xING}a`JR"+sha~`:J$ӵ{own)_ n@W^l >P[qfO,ׁ³P5kfKǏDӔ3 k'rA5 A%I>rR0XǟT{/ۄZVG.M{C-9N[7i"mE9lERx#`Q@",渨ذϓ%wЬh1@^R>D c5d@G\P{P*&^ĝ.S$&)OYFtIヤGSC2zل^VS;Q8I(GCn^,a]UVOm& 9xyQ7Vcx.Q9!Iv.c+gRʑ ZJ;2 W,_}ףVS!:f0ÎE:2&N!%Oc`p14oKՖhKI*/x ^ T(a)7R)y-%3O}^!ɕoj {Qlz;?zf IMy _ +[^rx''{̝ۓLJqcW!a (W`Jv5G~7o>аh-Ճ4UV9aj{?scxp=hyO=Č 'Q1d8U91´HIXӢsf-B .?{fǸ݄ן[^z\XFDkhOs̲6vQ0q@\SMע]un|S224Ɏ֠vuD8nz#R[B|552^lxo>Z&ȼR`moŮ7EW\M+54v9`;k ٞbj|E)aۨ~BA-Qola9^_.a۳CB џxkPʒ2i׵|HR8P:}N: "4dhʒ &iKx2*x}7}x}-Į ڼbAq&<?ORBR;J\c\h#LS+T";ʃ'WϳЛ[Ug%1װpVr܈>;Ld `V]b4fSř#29hYyzw]UsxM۬j}߆nF8;z']MO i=VFg7bjBoudk4ɫ5x%d,J/y űxGFgsuFȶ}|@dܑ UPZf ](@bTpO7l`gX-88:bz>L.9/#@sn+%άv|Bf|*DJ?czֵBJE!D+)o}:h0))+mӈigث:KfqFx§miͶt%[qѩ[%-OJ ;Q/_1φqX]gOu; N70H0hP߶N/^&̰1@F_Tr+ xV?"O U]( 7+}i4ͼ dyXMŗv;S'!av?ȝ:ˉ 'T$|`)Ĝ%#DVAKKC8Ǩ`no WLx7Ƀ^QR@ 9J҃JVJ=ߖ!dn-Kr:%DJݩרRdhhR߱V2GruZ3"`_IUDF3'52!߱z{*rtheB`$HW׌$]7%Hvr7Fj$t9T$Eϗ&a- U4yI/1RٚZ\,YL?iV7h>!vD<0b2F(U4ȘSmiУt=h BC^Q}HP@6_@w|)y䷭mx)mN@}~ `d~V]>VξQZoH]bCJ ⃌ \$*Ւ >8I\hngёJx|ʭ@ mȣ6&ڛ.2#67m֪Sy zO9Rig2YY@)2|[>]D )EwJjx|=x\Q'_D,FuOl*hn<И.46[KR$gaYhGsLצtJ!:6m$۳lMgc.Lskf`kb`JB ˾W^T׀ioDdVhFnMۤ#I¾mg'v"Z$k2QzFFIlf D=ϔhڦl(2ޭ_bœ."᫴;<@A؉$5p"61h[eK6T_gs^>@kjUE7r`]cxr0mϵo -e烂-/ΪA}5ջۉ,>Q؇-{hA\r<_]= NTUtO}嚀P O&Y4r&3F9k_ #e-fκ։En神vXUp/E$V鳹y#d+Td,{`|hޟ 'c+~AF\"߽.nɐoV1@z0kH#U̲ϿZVO@aYUbޱ,ܤ/;\\NfPdĝ}}n`_ CO*;gx]H瓱8 bP>ygٞmP.U_2Pm45${k[a>5xFTV$W*F;+= +Q~+ 0$GXЏqY1a@= &;,E &ŷ"`zĸW'F:7ϫUY۷~5zS}9ѷFz;0$:bA}zj"8"ɐ*qRg}`.m;*M iҎy_7 Q7Im 0C68b^,tT_Ec"g"w3gD:z"GuP踅]hRJz$[,րu}uaK|}{%l"/F%Cmfnʖ橆KFfC{O֌M栔z2()ȓm/}Ȗ{%Bj&Oہp%wJ0fKh6Z4Y]cu+ٞ{)Pjֆ+(OYT$S ?25F^ &*ē_*G-VwEyMý( {CA6= ;.Kٷ{ oiL~@勬{U,}W-#?RKˢ(䈳&ayVy+.mcT?$D̚G`j?,RC 9*Cs+IװX!c7o( %w;69!ALHk*X//QH<4YANj ZX;S\{W)YƧ4d e<9oSIًFda" am@S<1 Ԕ)kt=%y[>AճZ&!^VSi mXQeetׯ&fg6HGCC=>tk< TO͘ʞ\Bwz7adY]v4M681zMbA?`X@ HBch)lT'[Tr'=L!*0ڳBLy'oP7'lc <?fk]հv–P X#  ˦$LDdԲVE&2>`NTC2M pc3wauT"ڡQէڈ|/z+JX\h}8Ɛb JX'}t1[i}lG-a}SEͦx)p$PO,ӭ;9 -OBxu Z?}vzN8Q63dnN_= hP$d˗}Y_bwbR>pO=ZƛgV~I kEQ*kz2$^f]?Lh zcTlƄU4Rg(&Gm0GdT']S79X:ʻJ #)Z!kq{DPuJBtp8NDt8r.- RUmҚ R@qYHK^OI妴`v!k#'x۷}gD0-)G>fZNU Ixgv"<ñ p,uK o%+wF\RRfV^Ms=^RvZzorR(bA"NvS(C{M\&ިie4@y@'" NDU^. )Z5LJ zk#LCAK9T-;ݡu?ILA["ۢ QU߲r,dTi}c\I.e''\W]WFӕW[ 2^ *3 9!Oy,)}hJeؘ ft i[/oM/w0eͮ}hYZx{A>sT?f'jͧJWȊ V͗#3 $PƏ0'Tk!Tc{wtqknP*Q)(U3-]3U۷G& ߒP [c0I c)j;`-R+V[};.p*:r^m5b @"v2|Svl_m{x%l7%~:GLofr*4YJU"2bjQ񀤦I?\U3TMu!˿n|7\sksXB.Ѽ]9sa푃wyR/u_dgJ *^Jў M0e! κ_TMe?8/}bARZڣ 39貄 {4W2Ri}a ^]gμT[_/Pl/+#KZb_fDo }1g|G9Ksduq/3JHDž,+ݺLXV_^Ydx+0ȼuGe Vbk_w2*û,,&˟]:Us5vpߜࠧh_b-%&^g:ŻG@jdg/f@-q ^conQ<7j6O)lDTy81T2)^p_FR`Η+&MFCϠ?ڙͰy8M:î 7}b?Pb5`ӯf¥rλ^lڄI"RSȅ0>0p1h'sJ_ FKg4^NvUpxJ\a9s#t=8 zu0&h_ yθr룡\XPр"])gz 3v*": hTt(a5JDQIJ}B^WDl-X1p)=yuVdP\7*M*>r\`T̙)6_SmWBεTj kAH5&s;A)+=f'̖@ڥḬ(U>A`KbTn$.wC:>ij $JG*2 ]7C|5`1MZ2ڤ)hc<,ٞ#|Lpc4oJbY)ӱjaN ki֙Zm@/PڶPy.]׭'9(Ew;}; f!f:Bhml%11Pmi ht Zɱ4(U-9 #LJ(9rvkŬsCT·d`k=c-DuZ Xnu!CJ 1WsT=ȃ= &8+dR82FssT~J-ZM%Eӵ!a␿ *R[ĝP]ʢ Q*V~&K ;!$:MHBTHad={s3^sVҨw[ ʯo w-nXj ꖔE>tFoM9MVm f U0 -| oK vWdž/`{ tYK%.ڶ҈p<$`DRFDoewܷz03W '61Ptu;i,}S4##j\؞%C"{G/d9&e kg:7񵇼~;IƠ˪%|-aGOOuǏT-Φ{#;2:ū1EJV&t#HꪇRi2E7JO e7UigLr8eS{LK&8i-כ ?Fhu6SRlbXwgFt&(TGޝ HΘ{ĕ4 |}=rb_VkQ1`^ 6G"NL\a;o[~f%> PCJ* sAl41X"jq;ؾ(ނ NRe Hl]zI~b& CڻtŠ? }1lG!Ϲ_؍e'/ [\ 3>7reu!#Nذ&H@JʶPG+WmWIw.0_T& a5mؘhMvW6CaG7 8hdhVVr e(ߜZ ɴl2y7©Xnj7L@׋*b?Z+HzcpK:zy yLBQ/T$x'amjҗ;p Bֈ=7n5Y!WtޅSqhHlzP]Q2 wQn y!~klFUb:NA5q @0ɦ "MiQ4Kv8EܯIVې!Yۼ#ˑbacg!YQy)&P*CtSKq''$sZm$E/8 !L))Y@TDĆďٻ0U\#fa8ه ܿc>qWq \T6G-KƼ5n_М.ă/Uo*"s(@Nk6_oeʍ6΋=aᯍ46,:SBwrO:hhQ- ?Eh]<Eyz3O=@Y:؀h7Ǿ-q3?*Z:w)d<\%y[Ww^iEK@=\;<^9$:ݗ^+nen-nvb61{j۞2`̌<[ J&6N5G!b 叛V@2:3Oq݆ѸՏN53BK~X}G󬯨I ^-KN҉}=4F <ͳRoȦY"NJV. #6(OZSj?-N[8LPE@ZRo0L7@`PB^)ӵ "7|^Rk*(DQMQV1kLw9aUEI,٧4"-R6Ao&^ 5'aW 1&AWtl [I0oax?R{h$<AC>SN&I6`pfӐLEa]oF/²ϥ]'Ɠ{mOT/$#el-2})eaT +bVh]nPwCeZK*ZgI`ܪvP ݮ"{\;|Ͽ?0 "ˌ'1#ٚT}>yoܒ_JDJW d]]yeW<_NFcjw%aWϗD%ipMtF `3GQ=]75bD"jzA+(RmH30%(a&t̐FB~Uf "+'&'W3ZW쮌@,.ªvb4A{!UA s\k9hV|;y0X  l"n1A"gn׃:y2DL[Z2ڬ֡_!2Ɂ:M`/ZÐ-ɩ'ޮn0&W$|mrq ;w͟tRmfXM=m9!puD 6%Z֩jqG}ToH<(Oׁ akv| U`ǡLc*¾kYJsޘfU^ԱJ׫J YX5Hs*!xq/ EѭbN<}|?I1'U\9Kq$ieՄLD`Cs;Ue`;k(T9xiW_x>3:cg@Ja[w-=@v"?9` Tjk?3o `rCdZ [ 2іc#rTO}t'%~oLqiP ]Qvñ7RA  <1:-q?T^ <N3P| R8RΌR=*"۵~}ȐP 9b'p۬KHy?/7!/s5xY  Y $j=L_#(x<ṁ ?޲+e'=&$SIc PD4i{љ'ڰv1\C@X;S: MCQhxԷ!$LTr.dM0D=Los4L%{={̩ͦvhVK-Yf[;DY[̟ xic&4^Eˋ)Fp' ~G/1{Ly@IM;[Z h xBhA - WoMEqk6_!t‹m9J/#׉7r5icHh3_*qWRgXh~N 6Q!k">-;KVJKtC,r;шWӦB}ǻw1;^ MuL v/E'P4K*faSz~~u#eဵ"sv*^  W2DuuQx[d@WN2@tRR< _, }Wk(p/89HG]Kp H%[慓 `D={ '=8R ʹOAr9$$xaB"{w~_b {Aަ5:1CgS(vÊ߾*%șUÊnti0& 3A &]<8WGX1xw[gU %Msb q)F 7=uϭ˱>#%-2|Ǭ,KGVǮ"~#h8. ސ7;kq%0f(]1ZM~()1ڛvtSFnvFzge%|l.֩F<9wHt3:!ЈzsyՔ›fcS&:۪aMdX TX~lG/:ž^4Szخ3P~xۮZD'[i(橭 ah3ݝFKV&_%(2yb4 MsHF_N ?À.[FgVBITv0f7?09o<{gcmeAH\u &0Y`t]xO^vPp^Rvm{ <΁BL/,@W%~V .xe\oE緡.u!К?#bH- L:*l1\W%̥w|]@ J&ppT`(QP0<,k1yl vH bӹ^ c\F S0ּѲ~pbKNw:YrZr+ӏ_bWs\uBPbM/,~&HyTW_a|kZڐ6ӝ Q ?Ikǣl҄R3 /yҥ4\䧒6uA,_ImA#ӫbۼv?'maP'рםR0]VљH J-y]Q2יg>ɅΗ5|vn\0lydA^&m^4UfHzmxf$ gշ!W3!evDpΝ ImktB>%GHG⬊MK Ŋ1XrL8H!0ƽvZU:a ˗e!3Bev^ƔNn5Epot|0!g.B'4_vcL3|,N yǼ miJ݌20%ө)x ]\n}'ɭC \YuqMNj˩2DpPt`gZC.] lP2`$vMT*p/.I.~D݂{fN1o'[9&Kic@AU-NͶ6*bEߦ/vn?? x0Q!@ m*Ln45*j$9"Ǎal-J]ڸv &v/g Gْ׻fKӑ&60و[9 *Ic"/m"ga$Vѥa嚩xE}@4bU=BsV+p GLZw<ɴq)Mvf7Oi`1;O3wZ ၟK:w^ }={$>pQfۡ#B>37!@]XB0OR ۡf D?E@uafIq\0 he<G ΋<*\l4;:f8a)Gx;cE}(_'LMާ[U ωZ~ף%Tuɥ2G6zw<|&!ebש9WcѻExʜ< ([;bz?ՎhT yqMb?|W?{1m"6 ߾#Q;EOXA(SZO٦~fޑ9@; z }%.Ā#\ڧ><"4)3gBӖ2vYRYams=K뿦ٙۃ FC[ⴝڿI™(:409Js' +#.z \Qnnu3ϛ!a,?x;feu117ziW; #@٢~0I;Lffߘ)#aFa Ru##gN/4OIVGQGJ$|҈QYk"lR:SC_G!dJvxP}W@W#y`ӂPJ 62?^?gkn!'"Z~`U_!7R/LJO!6ªL\de\}KB>2ޮ4iQX;%7fYjwnFd*r!bi4(=F&|D2RkpV֪5,wu[ ~qCǍ⼝?)"9tY"yvyhuo ESP['{\)lO|YFѫX\Uq1F5^&^ZtQ $Np9y`߀ 2\n#cÔԖF-$ o9 !2}f5Zbµ]X8ɘ4dMevC| #Ӛ>|]]-L1]R%=ZyYmYY}Bo6k lC"xRGV͵C5Xq ^6ptulyˇR;*H\7S-Ω,= ^x쭖pQTrqdPܧb;Qu _d/ 2lq) |BYO_)3dwA-:g.$Ecv=i'6*Z mIQB GWwi{b"ytUq%A#j]:іQX$U{At 'dɕ)\THbY[ iT>4CbLPYE;Ō܃tስ3πwv~%阔eB!4rz/-zTT蚣ɂ`4z5bTۯԂ:#g8y/VkO*-h>ygKgw90F*#ӷnHLz-P'^CPC5ߘ_5*Z3&4M, yMb_PYB?>,k'ŞԬ3mL13OkFzxC»4+r#)sClh0qϨ7dr^%G2rD,0ςbx-r䊢JGe 14<x6`IRL;=.-v6d%oG~)az@}$~bn/f~z.zY^TgRIWZg4@͏#g`7ԍ`ɻʑ $36Nh>d6f0;nocEUEmmAg컒z}4)Q&m?LY:m2Pa1;ۖƙEwُ`\L Pz?yb7v:Eմ;gEΥUޭor p'zPIgK0hR1mYxaՏ![HbZq}g- s eL~ ,_9Ey4=\~tH/A@˻F{:ڦ@ƾB H-jAjWHOvl,T`cݟ_{{4.q58K>A嶬MRo&"k~eQ4LBJ?=%ZCkGend $@E6, 4#7¾+v$Kt8'lԲBUpA7\ea,n񭆙/[5LL%3pz|sXH)dfh'&]ř\ME:C!wS{#៏ArL| )OJԽ. lQbU y m;Թ;Ig@CsAyʆ!3tqRew˺v|ڍu+IcEn[N$Nyp *j@aH)t=4 @RjȀ]\5?NаXP\[Ż>=~gbdJ~˖vDBue˛݅(".]|.c.# U}h-ubk5s%NKTXM_"#]3uˈ28.w;.d,vQ?4 78g%dFu֨74ĵa̰>Bh qn>3uI@ ;TZZXa03+|툹Tr@PvfV"y26br#]4%]δ"c ɝ*Srr2\0YThk |2E:f ?4,A2 c O/+ ; .bTGi5Gs694l~Ogˁ&~=p7ӊi%|자x 9}..!ŧ4Z  S%: FSCa.ĬO:4>:>T<%+6zw|rC=1twI7Vib烈Ʒ{xml~q7/R=?X<3 #ªd?~2qNs<t7;،gEZ#N@"jxHƩ~!W<]rLa9"}?7S*wPhEN'ALI"28؏ Ej؈4iݔT?2mjz|In[$)rf(~` <+{Y-ڷ NpJ:#EdbQU톣(4 EE‡n]A6$ؖ0؃2/Uj"e“Ũ,?Vd]>ܻF~QmEV*f1{i)K)wU%}%D7o`YhM8x.*k}u`PE7Cc 6mm$4R{"F&x Q@";,UZm"jj2W ۾rz޸:Vp;Y`I:SlzV*UTƶ60O)>< X#~v!kcAM)k*EIR9.M[&]n=^}d;9? bɯ s{?E2|B3 ɗim ?JJ #C SԄ,ӯ֭i~2ЮR-p`0>}amTΜ۶D9)}0^WD(5ܧ2TRKɟDT @@>q*wWڕ]eTՐKjM`pD 2KJ07u*ɤU,yڱWW+G+-mX[[TC,$u q;B$c2긞"ۂdXeMy8)jk nMѡ#.[3!f Ab"鋜,fEhbL\"t8*N/` 9#_"͝U_  c6bNI U79 fʏ?+lu?85 J/hi=ؖ>jcO/3򔸰9U࢏9n$XC8qvNh)n]~J)J3?~b=-ؼu1`43jrwy3mfX6Ҽ %&x?mD-N >TZHIc:;-vkNA2h Zn;;ZPT,vn7:#Q:yLzfIX7cRM5ۛ|#$x-/E/BՊLʉWD'gY[;串": gR"KLe= M  iN!¸?aWk;BnJؕTXV_@ QU+h MX3٘+{cy.{k+Xz; b3V!68COɦYе}X8A;`MfLYym;GooG"bqoܻ(+E<=CHi6 1-Ba¡JaP&y]u o2"XwC'`D|X$ 1gAiC6ihe~+&Nuf,QՇ5fJA2窉**-Ѹ9Nxz|b$+M27"I|JG= JWǰ<0Ʒz@b΍ÔĨ\C'P9|3dP! Y ,^մI *[JkiPQQ|X5a iYtnJkmI؎GztTRN;a7tEuQ##DC?֮}ְ0iG~iL n|66MKF=<=ڢ,SxхOf7"gKTG` 5JsgX_A?XFv.S:Q=V CgY<]ԙN? FiHyi^#r4ԅUi Cm`\rȶ#X3e1"`XFg^qx-Pf^.ǐDuyysWQuq%s& y-p#eES Wax};n9l$#I@k7AF0`+5vY݈9Xw>-k1'r*fiA*C6Zu inu>xt~h Gő>9mi>bսĎ8:gXw-Lv:O!0:T(Wu^epN /&#uLX24os6 98 f&eG]3>.'V5vKv\vJ []X>kee[%ɷMiV[s '=c 4H)N?oL+R %q^b SGb0##TIM@XXW§9 L T.+E,~D_]~f]Q -"ELAYTTLjj|u)aRVHLL&[VC6ܶRAN+hzߕOI,mkP:@ܿ_qjЅ*om)j9AZjoԂ$yi#7WB?[F6mhJoPg/LQ1 !QUs hA&HFM:K^7N)|0Ie\i"cJH9T?"ym Ҽ,RHRJ;3+K`^ەȠaL[h <\["!sK9vQ yO3G)2]`Z.fu!mM.8֙ eAu*ROJHtC\_*' mQ(SVISR "P7 ki3˒D,zCIC{Z \ މT<,Tn28UKhp)t4e/,t) CHnq<0>oN%85JO67%.vՍG 0.zU^NM*]  ts:)]T'Vps6֌?ߩj,Y`XCVUT*ɸ[,@ ?zd i\Rm{9$EsI g$lJFA/.=Zٵq92Id%hnb˦X+YI9:}D";$8C6K$ϓ2=?7QX)Xs 640s9GrmMa2 :{'  @D2϶2E`׈1KltV3][).6x- 渧1կ좕`߿deu?\K\EQpڙ'ajRY&pNJ\bQy:Ĥ}hC5À??*6: d $\JX 1C(EGVFݥW2 翩J3_AA{T$ys8 (Lְ7ףfn*n(A/DU[8bVު1M^l έ])/"vHc up=?5h!U&^h'?ք t )@~,]5\G 4GK/CLH5k'Uø);k_96Hnj;V6ʐ"H kL4/J,6Iۤ sYQ"k}>O3Y'wVwEh.6J%<v}h6\8Vg3e܄GޙW?pK]6d<[0:irsC9L\nJ8f1<³x%ՁʹJȔ H1,@){d]˹˔e<G9`^W/=!4t:cP YNzok̙?wUC祲~&5;HZXZb^@ӿ7{54C׆R=3t{T!BC+:kҎo4J4򔯞5x~ Onsj\l1ROwv1B:ױ 4=6Wǝ…2KH^jaIq7 )bd-it+>9vt9P=A-fd}ijgEt\d)w`AhkJ_ klua =W>/0cc4#GwYdSDK,pVo|V0_>c[A'/LAEL)GwmDhWSA85xk8S&tKBrľK)ͼgJ5~%?xP'Xy}N1Q+]%ijO4Xۭxhx1Aݴ:Qo sU44o:(2SpGYEΈv6j91 1&eȏbJ3HVF l⳶MVhRAw(su'[<&'nRJ3!,ݡI[Xu3PīNC xeFBC[#ϛ"GiM`vu>#o&xO\oOwTRDX#s;ᡣ&:Dۻ2mѐn\B6IS C7*^)P:~&t/E-#G Ń/<,p}OjSp ti:v[ XȈ9'dhK%J2ƣ4)83`a'ЬeE- >4Q#K+pTB6:гz7SGw6†@G>> ih P^fYGedpO֍%lʓt~y~slGd XY5w\(ݢZK(ZdTj@XUz?-D0J+\H4}IDQ,zP!@P^϶˪/v(Pb_) Sj|T@n;۲@$p1}6`VqQ=()Xr¤j3c-ሩK/qgtX_*UI渘HQC#U%Q,${$@?~ʴ %kiR y O| 2ȑHEuCNWd`O<,5Ja. -S8bB3u T>I{̕6F`=o#u:-k!gߟ?[:9Kt":혰RVc]cmR[/P$Z1!nQw}>"9ǰ;g܄##П6I(0صZ^s̿-D"ni6{ PMd Ea;ȻDMSkېn'Jix-,!۾`YHy~2[} =.4“*ƦA1'KNMv.nO_$"A5@l15^0-9}Ѣ]VlUy 9:=JJu?>Ɠ^~D N bR\Ph);hmbdXT?$!E0MAf:rP>U?]{/Q(j-|eM@^tHY֌kc"~(meC9stk4oᄵUjW^.kɕ]n* hCIe|[ۓ"WaN:+: !$"Ҧa2KPܞ!m~ߟūW ݑȋah]s ěfjؙU@\L"0`i+}j2'<,Cme5 gDF!W^\mmy T4_΢;thZ+rY:x־PvN$YuCgnEBE(ȐisP n݇y1 [3fssaVAX v!4fJc0ژficGj aDHןה,ȀprqY=|FT0ܟq%UL\>ovֶ|g,TmZ{i@ї9С칾exzʟ3s'b~I}M`3#. T+mU} l{ !`W@LfbI#0Ui7tHMInyu5蔀g kMi@{1ߤk %b`מb|T\%~*x2^LsYoy ŔB@(-椞ުbH_~]k7*N)-.2߂NEP?v3NdPv»ՎxwB8nwso.sp>|):Wğŵ1Ns;kfNo_o1PH|V][O56%isA#pl`ϕc+1㤁FVz]P۔av]\*7z?2ּGny ++> s.?<5_J^OT焂 ]Aqoʚ_fREF 4< <# XZ]t̺ھja?I?>zmo?K+?} p Y^OӅ\9Y}&VeM؊c.ԂcFU jWO`łBج&,Lʀwi(ʗi6-%b͌WHP?+֖38R:u*:7߮;+FAT hJk/?8TsnNWt̐Q T#=4?;T/iw *O&3`vy! qȘt 䣎#.eؓl.<]Ђ:L 5Qq1U5~^Ip0mm&p~rhŜ K9YՖfLy+He4µ +}&>T7%\5Qb5K60;1x&X6a0jdyШYJWdO0ֶ)Q2Nn \ױZfW_751Z;*QSl #kXT >YjoL]  =t.DkٳEh 'U_4h$>}>60}i:CQ& !?*2_[{VV}\gП-1L\JdTR›-1`rO[Mi&JIN(zeOߵύE#0Ăm݄s9072zS@b)m:ei=S_jLGr5v0~x?j_U2 j##2C2A$ 7oT6pU5cFwo x٭oy:3a{xTev9ƭ!U|}31X)x7M>G$ er Xep/^,D2N%nK6 >嵚i!ⴉ تǤoWoVך*JiXW%L5O dHaK3S\ZϿ_јs9WEe}b\Z"Ч-MK SFŗ\xMd0HrpGX MXÝ% HYcyZ*(9"gz~p\emqb+rI*?.j9SˠqL.Bl >]c'>A`֦ .9b92>[I{bSdq3^RN7ͮLP@cb0^YuSGƣM ="TTWdۢn:9P^l" Ў^m!g}km%]4AݏS=ȣCjTm@CS+8)$dx%ϮZ+l.'; R26 MW03LnwF1А0.ގLK [}s>zZf{B(G,snZ"37 MTo"DIV ^} e[,:kaqxJ]biEv@B῟,WY,u_i\kXf}@fNzQih_?p]_4 <Ţ 0-[w;LBdw$R_Q b6 .9> d/&u&~V)q2JCb%m}8AyL[yb9Y`h@]|?ݗiWztdc:<W҆%e.2$@F?chS_WEJk碬W*-sWZйFIJ_19a-l[KY0Wkޓ5malAi|5NhO< l2f^aè sΗ/L[Tp]~^ jΈ4q'H 1;VJ.2-'@%5L),)PP ?799x_T%ιGݕ2M^."lߊŮGGuR N EJ|˝y`aG"+ѐ9&$11]4tb`"kwW}[xh=E%{hC\Ίb||͌^<'.q||6#·(tV /[O8\0EQW)vm4 }*X Ѹ$KgAr`gDA<(P^X[P+ّ;;n{.nDNB>A+k9He@vىu;*Z9g K|-r΁@M3#Z^7GC_M5m5u/_KT{(ڴ9rI=ZU|htO; /T8Xd0!#ߏ\s; ":%W}r7hq+K6XgfY#4Pl2u.QI"C 0to!M*ވ8Nfeįy19t3V8+dlx2_ewCjkؑB-;@g>.w\"#IP*`r#d,3ׇZ"_7h_9^ug_-,2DQ~J]n JSB ӿyzۍU}Fn>|, ~#c[[n]RЗ3Q1<|j-mimX3v 4UH5-9m`J5U=bPg%僼 '3{6v7`)/"+~>OU ;Z-L4j,44"aNDN0`|c@aedbu$5bp @B&Δ2#H1߄5 HDat{HOͺw-UZ19=RK3z WUɲRo^[Zr{Ibm:c s>BOs>[ z˘~yC9\WiG:DN|pthܬ&Uן>>9FNVi~'v?᩟ íaS6e` a3o8'St )}/HkNbcSo - ,m^wU"uo9ƾ[ן0OrXW7/D+q; 'Nw@}c,Q\9R= zqO^Z©zKGZs.iΓ7_\{"s79y28t2ܪK%`]DL݆u}JK{AMⓤ$9R<ў,7[k4Zu w!e_4mԄlqm7rбE` 7⌋ྛqXXu]#\[^ &7ZԶ5sZ(KԷq HUJR̠~@$H<_+z/B9`,W&}O 3%/ c?+ ve[|&Y1-PW'@. }c}Z)Ab,yc`T (HigodkrLn`eI1bv)E@R}tO& ʹT]KKگI8iR Ӟ-8hZcpp`>Hn}ⱚWgNLG<pٌ1%ҒD k9=77A٣}wA.)at  UC1`z} }Tųߡ%2?.v жi*e2o}D[ ~fc)ȏWaC:_ui싽rܲZ(ovG + 9T!Z`!R3[ߩBBp/vCCdʏc}y)QυFJ)3Ue[4Sd>L^89[;3w oMin 2:{K!"z`'PzA΅63aof I3@PAnpw1~m =GYʟؙپrW }"o0f>UeiҦ,t`1>e^s2 dKb:hB'vBB*raW=8% J t}f ~!HD kQR6S9JDФ#_}wF;)nN"(](˛BHF%l%Jb@O5‡:pJoCl-wqYD׌BK7UD#v%)T"/泺k8{|Iޚfy&1 /_g8,t-|4^z(~[j:l;w5ʹ{s  U)-([tt{,`C#{f+5t=\)z0 aG9*j-gBY;uN8yQl׾aHr|+ʦZauˍFp so\<+O~~bAG+WG}\uDog)e7ރ*eD1ī{Gu~9(tm* bR(Z8<=fq#A^4}N`f=AFR2nDB-eOJ|E,ht>܃]v?Y7=Mˏ˺y 2DU <`#OiKOhlO Vَmް94򡎭q@rS'Q͎Fu+5HK )L)j)~WeR\:gBDxcRПS sЧ|vpqkLwvkX@red4j{ԟ735Y$;%4?ejiw<@ʶM:nJjhDL{j&VX$P`,0k2o:Kӂ5@`[kǔjFiC 2 AVHu jdEX" SK EUQs뚍]F'nz.A%~ ?S!GcPS7;gu3-z!R KP4IN Hsb'R*;yf1щaAz6&B2ӅG"z[6#yde\L,WD֮LS`%d'@p[<r2&J\`*\u[k?\G: hH5&(̷J]?eJZ+WQ:Џ}$fo dD^E0_[Zj!BTjۙGM" 8 \D7-Ps1o8$}P< 뙛j(T٬+g&kP{?cLŰo>MS@^†|'RgWtF VsMIoj/=g;Ơ峂 :`wmy\ad8Ƞa8*ŋܝlO@w51*Q.}a,rE͑y Ar#vC27\/'3u P.C)X~h{i/~; rWN+P߹H4]%\;cV'YV)M c, Br~~=v8'/{KV }sXpb,1+eW? *9i̊e2`5 a r&bKw{[&_}f"4ZmV 5> EШEy|ԾNN\ػ( w4!S_%ώAiuSߓuJ@V\(EL黮̀;Qaz~"|Qw3THS:t}U[~p۾? }=0.҃rOFOuj&IREx׭e(zHυ`|wnmr&<폰l< ~,2#+]ޏj38`g#X$,cǞ@2G0G>)[#][ #iVrP> t˿2tndarWXLN=;hbۤrdGHodIrD8h} uń\nӇ X9ZH݌X^wWv\:acy~Uߔ^8%?lрrEg&HXK$Z< eJYΰ'mtڿK~DzdȇlT1=ԇm<,G,-D/B(`w%^Z QF`d V4;`nѿ&#rI9šNX/O; Pr+_I&Hڱ@JnDf?YbJ+Ʒe~Y\9|:*4-C{[?d_׼@AKum"<?[ 0E)FOx[vaR8Rs(~~>1-J%?*:\x4]d;tp8s8̚-cv7qL {^b CF@{# {*oOaS>b>?J'!Gȥ@+g/5h*:2 #KIdܓ bOySa@94}`mݪ$9Ash- c5ŧw偿I͛`ic7* kңn. bp^}1BpMc>A~X9d][v~ cN<кe6Ux*eʔ5"]Syq, */''먜LYRDC9PrVV>ʷK}6.C9B2wX93N.JIMcOR{j 6׽.]GLx`܈PfbzfcZ9 O]լ'a})%|者4twMM߾M/4<沈Sc}"f|\g9&$kbmVbna2U:f&fin^i{!-ZLNk7|';9ũO+;ĬtuΨu RT[݌Dĭ,M4vEsKzZ 8D_|\/|Jؾ:InQӉ~cȥZٜA[E%Nh7,Aw~*Ogj81@N&2 Ixvu\jXoI$1Nm5UR&% -C0lshNTs1861wQ1T$j9F)^eхò_Q2 L*C>~`T%Dqt9W)F?@n߷l9NPƕ]؟|p/=\x]9|)(ѓ>6*=a'70lT7q8ј k7OK 6@F߄$TYT!Ө@v{S*QQ8رX8X۞6wB vҏ*b&Xq;KBu9QğZj`v睝<]e ypZ@V'xB ''O@<c`RtmTNo' 9C9OJ1Q!E~ds25ae!)+fa2r}d&C̴q5L$:~O&O8W 9=AOLvy;A1^e..رe~Mg"ҀT4!M+ C%jE[JX(.3`+r!U0-u.YE%Վ*^~Qڇ6PADLnfcD>)£zҥv/ra><~xŸQK\Wca{TxKɕ)Ԍy8#/9Jfĺ/}ϩeIO<&!PX%v 'ژA(}|em-6g<~\̦ۨbz9IfqXxV[RV/aE {we;6+*p& !*K^Elx6g .OC uCI &ҩA'ﭦO8~" p+}G,KqJEVr3[(v9hs Iq]42 񟘁%l,^qU;F]S zz79]?]U(b)v Dw0F94 v˿$!G $u:AX28K$'$Yˮ/:x .ףa_n]fܷ wg ghZqd<:<UPl]x@`$U)eN2`-?󁉬(~Dln <| QozU}K/wS;3y݂qŁnj՗N lvils`oی8I'iZV3铘n\Lit'012"&$\WΞL#Mߖdǖ25brS1d8cQgE]` U0WmV(3) feEni}Vb͞B'Zg{$pP/$,Ws/^#^oYv4HeLX{Zu*[?7li?+L!`1lFjCqREyF(_ߜn\κP"6] 12K lƸ=@@2gD=}eV`To:h0 {5r58b6 ]YdP)XÄџy: I iӳ?%En_FxrCRW_4=tԧ+"7XFv!o@jPqw0X|Eǩt.L&(ߐ t!FpՊ5Z"uM*=T {s4 "6vf5RK2(M{w] !1U >;20c;D:_mTgs"Ky;{p"b3ǑA16]>x퀭+'eW- qО?+?(Ƙ*j݆@0waQS./_dO'\ܩe,<8ۄ&i `fҗQ o~zvrJ 7m89>RC'DQFүx y@0Qc6ĩKb0nuذ3(T& 9#U/H=3)ݍκIj435'Hev]L^ahZIa&nVȮC`jF<9-zn[]s)0ݳAmmlゐ׳7U5JiTmޫ"LeD%>Z S+.P\P~TImGGGc^T\SPƍ~?r}g0{yCgb=)i& xD2Nte&eYSENl웠FN#HGY1I"1Rɀ\0O;P<,s$YEUh\AlR+q3k1?ɾΝ.Ou[J-zeǖa i<]}uT kNT<g@ضLf!B =ɸICȌ^6c0)P7d[O'ꇫpz|~^ݟL ?uMrr 3r*Fl% @<yRHYٕebx<_%`.ZL&2CpJOs 2NN9%P C1uIaEVŸ)+85}@ j^1B/s;jBk!&;i*|vzCtӺb@M[}$V^۝K|S?fJ-zF'&2WQ3_̕xLavVk`f_(!/'bmq:4t-XFSy'j-\2Y~*/j3AǛwM-PnC&O~^J)ύ銁^#qx_[yaDI0k?A˙~PGLh=^@>;@ͺOVNU7eBd.QqEhc*?Px4H emHxN1R,j9U3\9sƝa3Q; BV YTIRc٘.w\LT/I=U@_xX#rGІLy c>8n"2ioS "-QG$ž//Md,1$j(A s'9TA*8h`.uR:b\H,本q{1F#ؾ1@)fܫj`u5Y2At{ ! KV)hvT[% Ӎ sO=N=HO CbǶAh^:݂SBgagb/ڼ/kOqu ``MJCB-Wh.S>V#ӾF7`)kX8:d{ bk)oK8Vv l~TY+OtdZnơin'ޑ\ [ ,|CچiD)`"s   -ڣ@?@'LEdIn*'#3MegDZ:UJWU%+B'&;h#>La>:}sIڝ7N`TZGGob Tkt 2NFjEo1BRn)x,`'kן?#4 &mkI "Lyb._X*!M3=m9:Q6!mLV{3m07p{OCcڽ]TFRx]?/Rw DŽz2<ҭ~^Wu_ֿþh_7_4Nh# d\Mn ?¹0er__f(PO/VEB87h+ ,"*Gc" }4{SBi Ts#B^D`ftZϲ8Z[2eoRLV3EH\ P.HzxY|AWyNd҇8tY4*HdG=h{eS{HSI|d3N])`]zuy~E@M3Nf.mh U7`r=E'h3~JsK*yׂQ|F:X ~8k0up7Do-~n绽|2 o"1~ O\{ayg0 ;-q sTxxS8@~~O8l,'#b7dHZvcU!.(MN qs7iGQOiakMtap[́8J?ϿO9wn;bdeZ'" vt ' C*Eڧw]Ul6D`0P^t$d3jPmɭ7?j׺)m6ZtO) >hAĽTgzӔM%w9@9 <*3ݶrbI%7F/xQ(}dF4a3 =/4UY~t!A0ĽwwuힹHRR{MQuHeIa 33йƠȿ糸PE+( 艵WeF!2A[] |`LX"bҁeU0;~a,}|߄ MM9dӕ`-N{kI+u\aYJ$lmw)chR9ӯ)p\4 iͳ"kd Pmw ?!dtNįfWۘP' ] L7P@- PiTPVo9zC }I= 5UU$ jPWkpٿAfMR*ؘ^1I~`Rܫ~Uw{ٱ4VAx:ijMT6#zᳪIH4G"'/;OWn'f _&mEI VG̷74#{ȪOZ6ŀpv=LU٪;b]kxJJe ߫p)?j2޾8?mpЪw8h1)wÃsk;e\X/L&&L6tzF\ 2ȱߡJyx9 iY?N=eFਣ`Td+'ïäz]pW>Iwc*w4QքrlL{UhBu|ENyq,T}ViC.֬PiC_?/F\Ǩ^&y6F> RZ2 NV(F5΀j# \ǎ1mGۿ}7f>mPH=JR(d~Jtp Xs7 R毻 ޥCb4Уe>@77d3!`x܂QV+wWh|2DlC.wkG}njjrfx.|X29Gr[:ӊE`Cϓİ ӏ4R4&N]-ILh=UHv( kPa(Ҏhv[NuVN +W+MWsL @Q<8ˆ 3 'w*T7pDŽb>]"'qXr nTּG\JAvJ0FSGxQ bЩ}GaWGͧt_?HP)r\x;Pk̨a/魧X+6 %$%$*'I=0 f+dd̒P@4D$x;xiV)5/A51l LQYڃ)OTcxvh.^#m9>fP17B0-_b  :=#XɍA DbRC煀m\awP5fH(0Zz *J-= qO3 8PL?ųU Ky 4).Fd Ū[|<3,I?3[3ykoޓMLD|99<mMEy.;6새'ߖutl{.n=`Eu>eQ'v8;1ڳ~_bb@#o?ɾ>+MRFe}!)S2\/;ǪRiZ?p⏏;A8Eu:TIM3Vt8v`q@" a,.1{vW]Jtsj 75ǺSs-Șd(i 4bt>i c=rz:%pz#-q/>E?WD 3g~ۡ$\)+g*Iׁܶ98m<6iF9|Ck֛̋D ޤ ޮ 5g0vB { ZZk1k@{ZDQVebŊgU6Y^  e/޾/z:e^ZR0BcEjt'ŞI<ɒ4<#HEo2.sUW'1—2 Zq (n1\,ݪriH$0vix%HJzϥ^PGpos, u Ms5մOIT4$~N.(Ԗ|6<9^qkRO8oCiD6Ϋ &ۯ"$7i'me*c)l{x3|B12H" viB(Φ  Yw`msƽ%Eu*/!~Ujsey@VNkǏ=} 2c pʳ!AWob4)F$[;Y껞+C;fM@ wr<-H'[~AtyM[NF]O㘖XxJgOUK6'+`%! LF{\=nί{Alf5%| -y1_ߓP<eAÔd /Mj?Tڌ}{K7Sdn[5(1Q_Eoi"Ԏ&M@?#1⯢!S79suA$J'v. ==اXG<̗/_yEbkZ{1(`:+Jŧ^WSS J(z EA.]8t$.[\ԅ#jxBռ͍V¶ѽ # AtS0fc eˀ5%csK"e庰 ^aƆ]{0,?cTb(]06%~_2V 1~8{y-N3Dٳ#ྐྵ-kp^"Y=z %PMؓhU]vi[w9+gNܒiҩ]+%$퍹ec[ѦwE2o (6i.[Q 3|]\[$qr3IX;EC жE[\?-)R/йVH9Ғ U^4Ou^TIgm.-ז. l0 >]Ӣ'paO(fŴ0~ 0yVi'刓C ,; (|R~(.4Q A\CkDV6膯֘:V(F&@YdTt6^R0|Γa&d[ ʯyäaT%|^#즖(GAQaEjc=]҃P9PD* [ w{lWlXcDg$?K0VРɤGA# <{Zs X-M*{`\|Nu#\N߹;.61#sn'AAZ:$ .=2iÿ2'N݄br%r5CAUjj߲gny:O^/iQe5G4#-̻)A/yVS;ߕ%X a=cW۝|VsbiFDá;vG_,)CRBTQQ/VolCNu7}4TM+N|ڴ7$Fbt6V2]NP!tu&tKG˹+m(K|(25fDSKWag;!F M8e4J5]+6"zCTHbJ6E4h܈,r_9PX-{Atv,~ ιG>Hh tPϔpma0Yv݂)8s{qM\=h9>Y[؍جY9zYnV/JOBKZ6*oNs^}b>ƘiwM2 I0Rˇw֘ 2fihܕ#|л1[)(&+/(j){Ec،$af[**ˏdSU(HUaV̬ʟa3q@/Mϑj n E @H]MUy?D UoۿI7<*9𧕰"JXeVL^YtĚ zcl!?3ҟI&e(ťFp;j[pqsڈg,ݫ{}ONc@%"DgnRF}42﨎xcY@D3=xsi<@\kI/%?5d!P(0AdY0PP_ %6oaΐˆH2Xl#,4n"F\DOmS dy D Ik  ,"e~dEۼSӴ@Ί/Ldbиs b#{TyiXfFh-4ޮN],ȎA+= |=ܢz^Ծ u]um5o~0 "Wh\D ʗC)) @V"sѧT{K$`S\c)xTuۯf-G>b\ı!2B NޮU dbGtca!CQ] ]R \4n/h 'CuX\ԇԾzicZ||Ap+.ӏ~5(FiX8D-V*ďץ;O1RA*Cescq6YbI^!Qc][dΞ/Ι92X3Hv@XWzn7w vZ] 3ݎ=biIm0ppu -<מ Z!z>1c}9[=3Üs~?KuYz9NY܂U6 A1)+sŤ\ꦋ& īNj XUMN{D,_JBNW`.tt 1 voLlB'Z>9q Ba$|XkTd}c7jSuϯ1E!VmSٿI }΄OI+UM-;dUFlq贽i~LX-q]7a3"J'hG>¬^T *GwHPxxtp af%lk->'=} Q,B~Q6=KfmI6lx&SQ8BRo,(iPb:# ?S[ FCߞA:MWl+d&BxQuٶʀ8 @Ϫk3x>+UCN*?ה%JG3j f <e};ڀGVi2MPY\6 c;(>:G#=HZr:|1R'gh۾*1h45U%_#{R+j1ĺݕdvN%`;S,iEp@ӧK+ SF^m8X~1J{+sn}&WG f_[DGYu)zz*s{f ET&{_~#ޛ_ a%LU;NʫJhrX(`pb)eCZFχ7%yHCj ~Dl(^+&gFRU#hCh) ZJş&\Ҩ8m7 n9 X/F{rVjAWҬZ`W|}bd;bec#uQ~n$opTMB~ }b(08W'&K8QG: j#{S ^i\7˻HL/W#S{4nLEw *$Y( NiQ,Y:vy|ebRGXHL"l8ڝ2pBWMѳ8ai _àkgL {TX㕓2T1&IȊn֊{/<;|U70Pҟ9:Ҟ/SvWXᒻWR Y&#Qug?Չ=:iT$ 1q[4R.k ^VI9p҃o7IxI2%~:kMȤ7 Iƣ,JLn2~ ƘDh Pd SQ \YѤ8#vˊZ>(6g '$H0cMkKRi HEase'GyG!Pd`#DDYRuXBTMj1d jL҄!epOBL汣$cOimim]aʧ)R_.+?G|҅3p0B.ӰwP&9"D2dinD=L |g#:p)ئd,ayԙěFlS0~UE*,zLl3ǃ;3Uҫz @O˜7*uӪLNXl6Sn`g-}w|0HD$+3Wydr9d/% <@B{)Srܬ>?0z2A;H^7Z}a[|L^AƟ(0amZúL(R ʷu`ɻߊrVKکe =>.FɾS

? vj,w+(bUT>O\R4. ,cnMigq $xr3tR# EH%SBcb 7_=P`wKy=c0^| q V4 #G(}Xզ, ZЁ>P/lӯ?/S̾Xmi>V;k (yeY:H7eH9Y'=r%ުHUPyLB]uSBL:L),ybP 1RL1`wB+ͨrlMcJ($hUJjOQaг?+sQvz Wc3suUq23jH(m)'_g12:e[sA)xk޹IQR%cqrBA,& ֝cup_'LM,cEDyu L^vOd"٘9#qSf@^æߟ<N>ҌRY;2Ҫ-3sCR+houunTkT^ ~l[>`\lI ?QT1\KV9l\7LKࣹwRgWzZ9%ۓ F??jTQӰ ‹ķɖ W,pz싾1Mo\Lr'ׂb EdzA+R'1)w MAj^iU;ySP諐H$e%C`K*0^Ғ1 710MҐ@j"\ ryO UP:l'~u+l0B5'#VAS_ r$1ÊLgK~u6 Ll1Ö:=-iG"`(?7 yTO rAy/!UniŨϨ+>7PoO*Vn5ɬ6[k"/ӹ9$SƜɇIPWN 8d8xӺ3KjF`3e*Oy{EUM*=omp+Wa(! i!c1`F€w R"F;0|-R]oIQh=33돘{ hIN^fנf$ĵP#>CJ2gJw<m2.%i{,nPhR[]_Jzf''eǮM0݇ RB1uӁP]&,e#I"wmlZ #5Mt=NJ7ރ<@(Կf8o2~:9N_8Gs$\bTߞy J8/Bu[(A#.pYҴP#PBLUEy*@ 4dC:28q sR4A#k9oA3F_:+A8h! %_fP3LL,X}0lL̆X׸nt+Pز:j=PRlL-2r=%o,;K}G5t^7;i,UIlH=QݥpK8.|P%OBɲXR<'S{b;&M)B d UyvԸRP\Y%+(W*1ܤ!#>{efAB 2T *w93ǤLzB%U5ᮭX{jDnbgMBtZEƶ }ծB=jR.;e|t9kKYbk;r7W90vKAUڜaưp\[]=U% |%&A=OO)B.S] PAC\h+j9ʬ)/1Yfe^Kd@ʥ">JPtzh'kliP-odq$ENs~3[r1/C&#)ZsIq]]LV|{Zb}Mt[ǙKMZU- sMM-eB6sbKzz0/p_-+3M-Pn?=?(zpe+FՖ{pfB¹nv˚47B5쑭B:!p t-[WATɏ=O=n7vwPDA8Kf|r MiV̇0?jXE~S)uk79^6.؛44YoS_@YVx#{{N JڮLk[YLO_?I?51F~@JX۾pE<1OzNT~LtQ;pȈ;l*}j1Vl3@x̳9(D K氬od!-eT4r#-,c^CR"nȓ"68SJlJά )[M P1+ SyAh2J8\Ź+wnz|;^0n/Pd GHNTKIYsF`ڜDzq"یR;smӄGHG0zɠ0Dt2#æZAV.Xpfĥ)ܔ 8mXހj?LTzȠE>7NdLiz}NE<+f\>.$PFF`ZRgh!+>5N`°ęZ7HObg1]$vi;tF@sHHҭ &^d(+9֙>it|" K{9#%i%4v +U>,H zX\ZVwQ}D-Шm8c7*{ݝ` Yж#y"Ӧ;]O1eL81>ntb|m"_$G&f>iҕV',ŧ2C!LڀEkˠ\~m6qOOD$BWzȪDGdjWK f u 4s->lѰ9i,S~a?EHeo \SC"&='59NF/mbϏ]7f ooـ}Ԣ#a3!k5Ʈh&EFDj`fW` G.X5^?k4[@8Y`R 6,}JX/%ZJ$mk/rloj)7%C* 9V <`pٲtyeHgd_ñ ^꩟5s^1yc&RV?ύr(Ig,xA<`~#O@``+zghºT0Fտ'#iäڭut2]zG]ObE  L_'c \KB$cwR쮵C4|1vcRT}@maT{O# 0JzЇD$W!BZEq17/áѱsuۉe ARɞk8Ɲ! K-m1,u @h>Rb.F l]46wj󼄇8B)z.*#3{ۀqBH?n6Ghf*Q၅H/"EV rzIiűGh4bp0{tI LYӟ: Fbׇh8@q4F+8{`lsNяsN7yE3cDRwO艰 ;őN$m9!DJ)(_g}7%gP0VuDVP&z+{,QLtLKk\KhP;LOs! B` &h3;h[_ۏIѯK$0(0FOp^x=of0eS9 HD<R Zؽ.(&')ZP.bZVr PJRկ*{H[{LI!nP -w|BWcTRr"bhrlDi)FgU[.]܉֎b' }G՟~,GtȠ+_)_HQU9& Թ"0&1Eq .6/ ='H%S,?'JyY1W*$乣h7JVV6;O~!l xHQ 0EȞWǵ6CTYveJ9|\'`Ie{UlZ /2/ 9]U>.Q;sؚGÌ??^81,9Z ;6+uzr+!tT s(4bY{s<-_8Bx)b T;ĺ{=bXJΈ'D\V}pw¹F~ .ZNvJdA35Ŵe PR@F1C1 VSMi֫P0e LᶎC_H"Y Z*o'iHAr5J0F;`g?  ଐZ> nP ƶ.}٠%LOà#^6Dy}mm:D_ vnd@xZcS?ʧ 4<6 f >i&KLjoP@2תDW!ɀW]urbxއ;]] Eٱ2`6i{PZ͞ S/IP {am0t})bp).M[9#A-Hڔg *zO $9sGVoPIu-ch ᳸$MHѤG2Am[e^QwO.5+ub@U`>P LkGI G v g>СI/B2HKZ d8]r{=|@x[պK`׊%aC0r4ZG]!ʐtl+5Z$(T|,+Cnt0Ij`@AG(G]kH"x6lҪS;+ٛ( B.6ƦTiۘѱ<H&,gB L|`#ݎڢ  S ^@d ^[{ 9AvD *'2uD sԈ P}_3HQ9sHQiEl8>63v^MIbOзLe,ա0)N69^__$t]雮1brNkqYxٯ$  ] d\¼Ï< qn&) +Xpune %C#^-WxjU@&ODq D ''}t_3*+epmye~5fAJqPB sC "o|·V> l֤FL\@deSvϰ^Ry+2ıv.Q k-d\Ҡ m;+LAdnF$j\c&3 lC֎džQ]R1]JbB^>b< '];SMj4d4gUȡqRZM(ߎ<߽ mPgj:=̝.l F*+g?:ϧ֪Nl6$ g||C2a:1O*B战A"]X a+l s)Li±vHC[pK @9_eI"x:qETW^rH6(%I[³0Yz\m2Tr`ܥ?cXrNCR0K܇wp;X%>]-k'[9StR+d|½7(C*w%Pf#;0ؿRA]X zN3C~f-xa/`̍rpF;m,_s,ɚA10ǞfϜWɤ-VJ^XSi&vQħa҆&I[JYzfx9^}#H=bfB(>AYLy`i9$y g_r CN r{2b7uXxonsJӺ1~cuWasG$W0>)^ mܫ2k{StϫU5h5IG{J0HcYX{M֣ ;HF#k:o؅Q"s0<EU(~W6PYolVCcA]^DޕHPTf1JeHdB\ $rVA4Uk`Ë́@zk5~tD"BW,=$gmVF ~9kJZqIqgO41 Rt|%2{ԛI^~ٴS^Z\ndvSe|gj0>j#oL5b忹ңOY$הCZŜzvrbAI2rBS558>*"TE2g<_84$%|q@auK֬oz߁NT]iC+; Y<{JƝUR0#b۽yDky7#?n'+K]:aLg$ՌeyĠY #*,d#tc֥;mrֻH^FZVd `dKM;YS.Ӆ8gn+"aУUP1VŘ4f^ؼt ҉7R?)̬4=1uoQMThPDbDtpX KʟGᵳfEt2W۔3f)퍛Q)f=s0"'ҋɕ.?ub-*e ޚ  q{IGܢJ2 j3"6u1D ]J7~{m8oa@W}kU}C6T^weeSqX^~ uE5T\M$~F]<uB76]m +d/on 괆*ЙoC;ŠE·2ڨ1cDUULpDr餵qDRª!x櫍ci6nf&ծ97 *%R77YjP&xrTkm C4Sŭv1#K/01~@BJgedH)y hPU \2eǍJ'Dʖ=k\d"{CeK\<w{ 9m9 IIԾ/*vCeޮUWzgEFO8WZH;.eJ]r=N*.NFp4q NvMn{ܧqrLni|㗡HKMĖw hرʠWb}d:k6%xwi‘4x5#{܆!1 j.eHL]i4T:^=R ZD<ŦgvG3ϟsXQC;2Okp|(XAP zcVI_P+ZB4ʟɟFYY`WׄڡsvK(I澪 eU>߉>M/vbl‰p=[_ 91HR=Yu}P㜛qH@tl1Ԅ\MQ%_Omj^-XZGBZ}/ha-݇x0Pd^/Gi23F^X@1wU iX"8sFQC\.?$OڿH$:dFښ#J7s(ˆaӔ}F[NU ȜS{i'&e>BAI&h6P;O2?V/}SK;8 h*|ޙ2^PYZ>~BhֿѰN5mwa-b$$?ۺ*cVN|˹:5u%{_| )"Qā78ǿ, ŒB6ȳ*1>ښ5]?ѮfUAL%v 1ḝДZko(HKhDPJbGmXl 텻h;kuLn̘? d'd[ RWyԓAmydh4}.qPI-'S'ܧKee' u~ϲm :F#A3# 9XorrMozGynE<&l2k9PU~i{f.)k8$r>L/׳6Ok#v%amǮ"%n_^xOʾ3G8O0B"tk9S%ʓgr~P2=*ȢH^Dnwfs7Ņ/@P&Պ`(Bu):j=MRaLWHh.:CZ8ۋVf%:J0yޯ~~&U]͈J"+\+k<&=:.9ZR'9/X&~5ei[9Rk|{<-zmaDV߰1rzc!H9^_p'+F]Tilmu3 n{UqwIβ>C=wFe>B榹% 3սڝK 6QZ(vg$yHȠMUH*[7G(d\eo-p$p/nJ|"M#o$PL$tv(\p2 s<K 3D!(^Ū-TF? R_AI%UVGHq ՂD nnmmNo\ ї<9Lf?42Ws喝3sț#¾g Xs" R[Oڛ5͕9PLދ[tYjULg|%'-IF@3Q7s-Ղasw^_1!GI}p7^i+]Xf!.YDgPs ^D[%< [K?)w gCFAm\POp+\z* A/._Kg_`ťN꾢7g鞖IclكԠZҮ kBt18wP`F限-ȾZf& ],l{yNHrTa(֭6}/v_κ=ؕ.pqSxަ8WD9]7i:&ז̑?\4)6` vLP 8NGxPRsGw4o)JX&&Øx^'*^> fQpێH'H'A5Bd5(uJMe_U m}D1=4Xz" NAF>U?= ԣƊb єL:st[ڐ;a$v)"0iuT'f>z? `7JO+7\n$jꑐ`N.̂u g:lS# $ z9:mdzRӬ&)}Fb\D";k9KGB.1ݴh'ʕ] *#!o j&E;KЄx 8NgtN߭,2G(7#cmCVȷ-2N)hqtm G|5uBΩaR"2% St%OIUxZu+FNu1X,aJf""8Mupn/ъ|-(+ey815;0C hx\#6n9:Tp!bxl|+1>?BlE RN5G~|yslJ}ص25zz['fVm|*DP|~m*6DOns1d)9PCh[-AOX.§r3N=qO8-sʑѥz%g:#IZiaL"0AskaX̆D#]3} ΗQp:izH7NeOFH`?*zIcU7w{\tz `^/͚p4U~#e<8r9-#d@AzR &FXYٚ+F8+=8)iFj8AKFLG`{KߕrR 4#?~baac.Ǒ[cJU2]Hu |8+FnMmCBg#߲ٕ F5 6jeߚ][o.fS]tgJ]"[mVS2>nxäw26^iꢰM>(kfђȂLR.hT\ W؆"B1C,cH_u<(Ff f[;)GAZ2/O[DkD]x*rL2 RS$O5)4j2'fB[8< j8n?CōNO\lekT=104t^Ėb|3ni5|@5j,vexK>{X]MAL~* ['xshVPxc')#Snb<л1Ik?fӷ}<8;cEjzt3B6LSiGI4թaONI!h[T15]+,҉>z%бv pcRFVRA%! Uo2 ;A7eDw|RAB;HkN4m9o^|c).l嬒leT.UaרܡqxPS~KŻ[c J*6+*ޫ̯}mıYWC;pUS7G㚨 Qbm3V'c4kB̍xeF#{{\*iS *6[8-Ocgl:/қ;27S݌`vĒ`;C .m-u8 r; Bp2I*_;ȶ5O@+j,`WSbAt}{Br#Ro 5՟x֣C^ CX{]tؾg߷Y7-+du#G\ 9qx]HK"| b +ozvTX&KTXDU.Ʈ.vHP= xQl|!6ߗcJlż̏1u聅iT5NB055Ɏ.2\qח!Y] nSXF~C"! q_-zIfb΀l\c|Tja-~9 8W]N/&5| sȞXcM5 / a2fl'/ Gh϶J?ԭCP3nR1Lk:HUpZVG^H.a+23H~Qu%&G|ɻ4Etao*"Bk,~΄/sr"K jzg ]WW،&]ja]nv{AIh$aR\,1􍠭™RΞy "qUKbLo5AU(-'IbwϹ8f6ЇYwק;wւ|ًeX=Y!UF-&ʎ1RS]Ås8l |m$ 2b }=@W*I%~׹%N2Nf>H= c |?&jm'u °ß!)4D&%MJ=9a^ON;lq6zuu4F~D`Os1JH5q5p._""BipcY0Z#޾Z},ds@Q]lo hWmNlJxDP´ \2>>$HI;u4X`<4ȹ] هka4A*H'>X؍7RCh+)xYuX5o%|]!CR2'kZ֜xc,,S ¦L5œE>~a%okCRVH眆8Rub-B7 x r鳦D]tm\Cp}ZyA{."Sީ/YFIv#q+~I*D=ۂ.ٝ{  U)7;>d˸_]ZU>3"__v&=-2-k !b}cAھpiv7oO $P] c݇<2ÓX[8H, ?3d "곃EF|]/[VNׇ6^]tXc> np0ƳSڣJ-E(tLQ&3t2Q~dZ(nCET׆ͼe0d* 񖥵FN{jzdl1m A Fqݞe$O*I~(F?z@ DQO\eDCY(9e 6ƌuRPLF_2eG?7yꝆ1NWubiϛ<#+r^&ԕӦYg&3HL L"]iQ_~J'| H08[EG2U2| }3J)GY \g,2)(06m:ϡWmVqOV-!/~{n'鋍_@;9guE37`T^!)& DDQ2RWg~ D@yӓjd4'w<y. pd󮃐2㫦6α+ 0u( K-}~tϙĬR%Je1IJdq kl)65n,JNsn1x;'ߟ༃Br9( 5mGTxGmCNu^i|4@Ɍ.1t^F5وW.MJDF@!~TOC'zn޴3%1Fb/@n{uD1e=ddz-ۀO+:##zêO[pAWu,o20 B9T[{$}u>z{t iģR^MU6``h5R*Mk,(@C6)5#|UT# $K1dϫYvE3N)IUIzU_>Iz,% x{r@@4]B "YJ@ދ~{; ?-IB MI" >m4'R' kqݱD{c{dCWw1Fѥdu\oigg@Bi yZfAh`0 24MqO 5-sQIzh-2zV dӨ@OoȳHL[BuXL,|l0O.4腄L?R$#(: C1bאX#>Ђڽw;o8=LV΂$nĻGw6&,[ -QmH}F'6hAs uDogϿS + 12?*giN&uW7{St^7T1^8剄̇=3pO*kpQcumRfG1oC\O\$-F3s?*n J,jhw>L:}%UuK~J b Njj/wiwt7.1 7Cb{T3* .fq=#i]O;,83GlGL[>@9\ >8b$6R}1IߜPBGN]z!kbH4O<%ñe挽"1ZN06-N. ?,` A !NM*d=sfMWv,y8WTؗDo1Z DYO-R֣0]0PӸH!Hiq~p_*Dž'0m`&2ȗIM%QSnj-3O9!Ma} :xO4@>^ ا2?kNju,NϳoW&v} {7d#-,g3p~<)j0@451΋HL6&_ >GeYdC@*$+_rvdZgo)Rweb]"(|ݏ$:/1"h.1p-Sm)=\9MYjkb+'daQr3T=sCگ#{ QORPO{aG3{Xx+_%͚R߀X!F VrJ"=,4kw:QٓڲbD9{srאּsQ|9-Bi糿ۛxIPe'qM][ns~F,WD<4F^GWdY3#EWȝ$oSQ3#UcYc*t!,% }a$ߚMQ‰FGz=a mfɃƗyn-<1@įCKӉdgZ8jtMtM<˭{.) &C57߿ʃP뚧[8 vmd~/Ɲk!:fp_u>^_<_%U6 "oDt3wӷb pp?' 찱k6$8F1Jt#UsO/0GnO^]ɓd-1z9V^;fw5Tn;M1"f6?)\Ub e~pNZYZdoS<=_+wR`A)<wcr(vBWKPXYLҠR_J91wxɀiF@mhܱTQ6J)S}Kg- UdFi(0>^: U݋Rv(̢{Q?)޴!m3l3b/`V ǹxWGt:5N qhoHJL B=i1D4,P5;ߜnq̍fvjF [7#?>?J=BSVܻӓ)+~ %t,3%Uɠ4h詽β,"SiUFat*=@^k:4|4]'x]vZJ)/\51cҝلYiMez=9c@\at]c>QG_=dW4W_#~"4).ǢaT`Y%dOIYKVhD Ihر,2o\)$Idn^OWN%{!lGqLBWfv5^9 />oΕނyF~Z|YT$2< E: ~L?ޭM3&Fa6Ԙ[ )R7@PG-&Q7BIMNT&lV$r2Ig8} 5 $+fQpuy={jarwG ggN{}r,De=ajzd ?CBFRXl `E:|3؅)"7$2Xݢf~e}4+HK)ug찚x8őN^zdq2 h4[ViL|S}Of&DB;k֏{2E$ؒRp(Hޔa2'(NgRN?7+Cp61[G^班^Xn|Eo3XDÿ0!N$5+},M bΏ2CitYN3ߌyr)(PQ7)[j8g/+/Ai_moQp,b-8C^Mp`zCJ},SN]ఔz 5f GZi-){oBjCd_KHe2W'*~$姽V~3Й{JBYoP5G<V .9#u׬v#uD+Kh&0!] ;_PRBkB_= Y?Kz: ;,h $Ѡ*4uK7{{2j-)؝0\Cɘj7;R-j_|DL,2 <@p K*BVy QV/\9t{3kJU47>q|Ys P/=qXEu0rIjn%B0^K2TAi۝o:[<.whKgzfgØRU򉒚Hv\P7Ͼea f费$n_=SB!/L~nRġ҇2p\[4ARkQ>$B`9t7-xJɚF*e՝&~G2Q|)MU+4B9 sg6N27Z#IEm@ԩ*2݉\%ZIi! @qC%:Bw};z¬䐨;ޣ>Pe &G3W`9.f)0Ţ_%2ܢtI[Y(c б^=DW NC-!x|~CH[4~G<C57&Rp*viEF'+w,ĉӱ1 ß; n]81G?||ΘZ (n;45Y!M ~DJ"{v2ޘv zыhMڙ'thw< <#閦Fy 3>KV\pr¢nx$Lg#OĩIs$7fC/<ر aYܛTC/yUQ!O@U#_Եz1ΟўmݠN 1 g2au-uvRG/4A3vxPQ_akPo _>LX}hX+j+QBJqҕr~д]zxy!Q@7Cac68 訶B{ NxzA$D9 4u ;Rqs+V3{tH_Ƙ:XzL[wÈuKџ#K9"Bo|t3U]x?~k }T)iI#x(e2EF*p%jt;ӱc]@RWeRґP9%R K'a"y||#EfB2:HDlw#|S蕊CНXVqѿ;b>WYGH µ %Ož촙^IlMi!iIPWsgFV]~Љ䯊KWj_b;6TyQp.3]9v/:}'G>lUW7{kBE%;lNŽnUt)<_i[_aO彠Ns 6zҬ>3qir)T rWAB?$ ~<2 nsbX}JLVuz[r y%?K]?:` ?P y6k ?z蔼'XmExFszHT7d9KNMt=IƤ9?K3%ە R֬ҡ;dѵT2iC\> ϙpMxMvAҹI Ȳפdva[/C|sfg&N:vχ5B=]Ɣ3m"tVc@ys N) +7Cc9i5!|%{Z'J\.1mz';!;dǐ\20v1/ε0g[>@jOs׮Lqn"AWnی rjؐĀmN #R9,|,/uwA|lhN$^ J1ټqKew)@# BW7|[ }ĺh F'^9<ծ~s`N,M*j / $e.C͝1QUgv+(}Kj(Ch`ڐ->"j Y IG0j-~_ !2 nWH(w 'p)"fv ,RPV$AN44?9`insG0[= 9:=c0N8K\ C*2 'M?CͷU 3G)2z A@AQM>4n,coW"o16kU4τɩ!p]xIJKSIDG1HIbvEǔ M+o0XJ;Ր7} P#Sjj8 Ҷ71s9B>4QP<M BmMQ^/!(UF5,"Gyw@[Qڭs+-lp s79D:}E9zAu“{&Zh׀9 WKStܖ%l qU¬{H@9&<S~̋R+x>V>H 4֤3 z9mdzC<-euX2j#㝠mPoUdL;I A"2l}7!!:㍄.>~V4<kmEsuAd&nhGu7|q_b[%/˦1ؕ"YQu“^g5?W4n;b=S)s!L7]Tsɲ.ykFPUimGZAm"D.INH 0CVw eFijʭ0}`pϲr };U^QYHt$BLJ3z0D%\><{3S/T'~>a{(KD`hix!J}W*Ftwgw53~[Yc]OKD>C>qHҷ 1YC`9sv$Dpr=s.6rGc~b4swK.\l# 6|U+XH5TuLCLH bAOvD9jYdoyxCdATLK7Äߝ/.Y3u{d7EiF)\Jj&UaV~Xݻ@bvGSE3u8. $s̿K_)Y,ɀÈ4po]dFN൪2 $+!iaUWf'7 h򵙡?Jsǚ+': W SmNc6[|:"kNTsLɸ!NԬi躍7F:JT%1Nяe ڎ`#w[a;FϤA|$ߠ)aF#ҽ h&\br.NQ4F/~[\ `vXOO6s(,=uz -Vvgrj1z++msWs0b,v-H|}&sF@s4RLf~ՠ1kns(QEز}TEa"‹iFyxq>ї5+QŽW2F&Ε'YM|3`+j"W%0sl[uYJ,xn8#;<5vN@; ̓@JauEcu:EE}CįDMh2vzc3aÙQ;J? FU!mԖK3Ζs4+O$_P&d o^g|2غ"N#Od4kߝRe0]- Eh:bGO)8{Zۤ]D_zGb& GSĿFcћ & kkRRd,nutd%IArġ]]Hԕ(+nM|/㬅hItieeV 9 Qwֿ7ȤKPV0ݧ钼0u}sy':f@G@+#9f$8S]w.k_۹.ر% i mEej7rsOeSv"%4g^҆ .?=6 uAzT^6A($EILi~c^kfVv8T1mi1}%NN8E? *iJuA6buE8:AXdQ}MFcRZ7 ^k>k1s oiVz̕^C1p7mÏ,'rܽt8u^'׭Y8NF]lML/hpY$^1L̝>8r4KpO6]t ]6ErC1IԮ%%x7{.(TI򗨜jHNLǹ jM $OBo{qѫLj$U'"^~!tmAR 8D Gi СkRپB5;)e*l(Mƺs>yUǮ ?NӒؠ btE'DxvWaqdϝvG# *6|"_9v|$_gexAfya vݘ:c&/@{# ^Pؤüwu@3r&QKv",h]R9療"0-gqdC;ⵥېNUZ!VoGA}=S:`f) *>ety2dPj l{ۄ6 4di;+ۧM+Y7ό Ն֯,0,(})9Y84UBȐ mB|lU<N]{`D6MƷ4#Da{&YҾ%,gSF}ܫz{f][i}Ini~QUR5iPH^D7 l鬴biUJ@WjXlVT\FyZHI m*V6Rssl<ݎ,ڀS*fsL`=gn*Ho"_f~'}׶#@uG*%'W4p||_.`eb8Ή*&hfZ@zfx|m$YYWGa%f6 NG6Ȯ]is6w$S Yăx60UiVuWTɾDXGYV/L HJ}H֊(kh9RX319Յ,w\<~ߟ2~bQGMs!J{U$8ADpSPt[`Dµ8h誉P]&wMImHɣ " /Ҿi & :_S)K5JFX4*MN&X+{`pc2 PJ(a ;KכU=n*2.Tk(<"h%F?,4E 'AϏ4 x-Yы%D6ƒqTfE^ZE ,GDh079VJ~CvMq@Fh%;u2͝~؛78C#\ oWfC&{! JMv~I7S^Z~0֡^zs=luIW?n;tzhu ߔfJzBt]95!ҥm"WX,VjY;i=z@, /#U_3HPuΐ<&$*Di{=g?d~[m Ej5Ӷ(ki &gsQi:ж(*j]:ʗWӼvCAJ'ыHQؐf_7I@lne_,l;&ZɗD$]gsX,Y&ti>8ni ӬxO^oC:gɆ+;1Y^#G y;i5fZXwCT(>-pH[ؾmɂEڹFpwa)&^A=;)net޽" QC{A< d n $7, [6D +M 9+evLk"mFi l.Γ ~>LWTķVY4tSRS^{ўWaf[Jk#sa֭?R+ZjCԟMxeKxEP vau_MYE;:VڪlH}K # }mapwEr2UD9n r؉tQTfUuZN4/"# }wmhN+3Ig[4K-&:mln:%Д.R<,N/cq>Tm0s4Ec;n2FWd>'g6tHVkszj#dI.9ShoP6Uf~?(ބ[eKP,gZ㲌AYnEUZi+oȶN5%KpĞXLg|ۗX~4y#0%9iyv0Hye˰ADΕ5ڢ64a(?'~g[;y S `9Μ67L'UE9 u00ZfLNP$ѷ4!driDR[[T:Q1$\÷>£.WA"̰/aF te|P,dQWKn9e~]!wk$Q;~Iق{z57䂘WҞ>t:M V8[&ۂ8o ǵIy2հ+y7C0VA;Vq0@d;b:}S"t+f~z)@ U^ߠ*3YN-%yO.:Pv߁O.eQo,8] p,0 <\<|=v:޻οQ9 6O׸x(ฤ7֨ЕpMhXVRHCdG@SNFa%nnlrn )ZyEˌA~as{>{r?bj,Vzj¸ˆ4d|tfʁN[3rߗc8n`'O-Hr $}UrҤu^Y֫)핈 !i÷K"xЁ@JޯZ3\k-7ɦHw_Y݂Q?Cuj[ T-@ ѓg>e44OY6N>m8!':S!Zq2D>=U2Zrm*uwڠ&&h{mlXk4^QvW9 JnCd5"1;sw>|dǮ4j]*۪!{`KHĔ^~#6̏Vǒtkg osW@!"aU~߲@9.% 9*/N.Im y2,-6+Z=!Iqʺp:ࢆx t+j Onv; ɗ9 f]6xT ;GRmP-\؅^@ߟ-֌e'VzH+t8[\^cɽPX6.4+◴R*;<i[k#mňm \$F7{YSLsJ5z=<}5pUfCYc^/z9[vB_ 6(@`#5qcxh6ЁEeh^;w&Qjpzwl"ʿޠé Sqzvud"z#dGe a[U^9}A$+rCӇJ0<d 4ߌ+AɁ\!:HA*XˬaO+^sj1 7' vZꭒRZ-pKQn<Y~t&ݑC+Oү\IǷn:1OHl)2G@(a)q{ C 8ZY)4\.LB%m0*ܦp*xgAW 0uOnK!3[]ʍNx.zwyQLg&HQ'D= 5C-%\ s3km4{.X y{6LIK,UFE l>tל}gWaqb)C a h㵚=]fIakJp v(mȚf 28/7ւ.Cp5"TMAG1̛lywʥNB sW`-Oz0uvx x~Í Ix@^ũ3f ˥tۡRR;c1Q306`慡e`[9*-+()z 8x*yUk$d­ Dk4U[*"|=mP_DP~a~Q'o?{)4eAL! Eqesϔ)i[JHݬr9*̘@."Yb]&%0?GFr5 h1廉asjqܰ+SpUTVڔxF?YɶCj5A 9J[Pwy`kcS9L֙cO| ZL|->u dBũ`-kg -%MG}|/:MQspx:klrh"e%BK/, SGrbã/@]_o|dăw[*?C;G]K}8d*GeUQ&6+c 54DB6^}rBw*ϯjaxA˼ưe\$!KUUA*:1pmdre5h~S@˖'nq9IDx?C*)2~L+rttOP8?)5>"ׇp3\A$0H) S;- 6"%bnC? q48+ea Fc9l )UcF}Z@7/$yPN`K9RcT57nq H jĮEFJ3 xbH= _kf[7 5Ui3%+ IV@֔JH4^c/v؇eJQf [8HnH" cy"Бv MPnKfug\X]"5P䈥,0STq21/;x^zA@¹HxS]l` \;RH91 l0)(!OHK?$xq:"rNej9v,sTԙ9jl{߁:BcJ$ %Ĺ јXCgf;:1BQU,j{OR2 څ7WE39߆4A<b1BRԦCv?Ap#25ElW7 #dBd3T ]Suŧz˭ \q͐__Үc4V(3;-Dԉ\S ME:|X/FIw ;A3\)LyFm_V4X}uV^ByW.Ήeꓳͩ^L?r&2:@E \MPU)7Nt7p-`zBG7k^ Fk#TB iM2Ȁ%纡*Rucʄ2u[?Y&c6 =ǕP)Dޥ(_bmĤja⧹ٚ +]Yb@Ys.x+hjWރy^ ,†Ez <׻:B{>h 6:LN3 P̓}"74GD^-dIz%-#? tP 3 ӞK ap DYQZIO禖%`]dOOnGSAB3.J1QϭѫP?-{WQ ]K[%a_ȫP-+,t3EL*}ӱ,΄'TPoIՅۯ0c:c{.ҬXHf'c_dFUdҐI~ZX{W5} V |vS۴4ZD߻-z:c!0 I s3VbPflc(}~/ɈRlvc+:awB|\v"l>æ1?T)ƇH:2HlB*0[B>IDqW뫴uxI?A%m?!^vd48;['BoÔ=e IYڦ j 0Q(>%T,5$>+W9u9'$vQ@*xjm~6>igh2+H{*p5F_^G!/1R+dзHGtc-K]H~avN4 :hf8Cm:8ɚ"%2Զ, -Hv"zds QuQ}V |G0nMXmЁA8/TËv[j\%+#ulKrYCZjhoWrYGŰ{ h6:C0`:<&g2wSGXEF0 4 I+> ~Tf@9"5zUe3N'2u@Ya1h@9y65ӔHΨ -W4e庻ʘz(Z<[{s>{hIU q(S}oL*S, /,*m[~iu"?\IKmqaUB~㳦`C~ܝDb2*hg?07 {ᲸTAsP@{0ԡ!^x񤢆;5L0AjXׄ{ U?ݍ3ë!8_ Ul1ԞM.ټH_A:, X9g,>~N(艐2&ᾪ}WD5+ֵ@9V 1v4(TdY8gɐxujp,U^/!|" {wQo0hg+*Z1*ga#/^ul td<%sȦ lfJY=K:5g ŴLų"8-8"Q1'F׊rA/zӏw܂jLm/]7\Vd:2^bE@[k͞K9!;}{lsA%X|A xH&^Eiej_FD0槺^0ٰ7c#x+eou6ҫ-?47"K"S9%fo'!SaTQꮻާG( t$|K 隈a{XMCʖc iOB.\d}ek.6C4l$0 [!U(H3簩 =C{&,qP*rn}LYzp0)8#g\[pE:̓t -kɊJʪЖ2B49=œ+XFN7wo*z{f5VGN#;]bD`O-9Us5V8\ XPT5"BR{,g-4g t>Sll3OgB QDAyvjotxxB&5RͰz rgXcxCl6 C۱ Ip*0Ky{ qsYlT';jch t=!KcOG#O 5tfA)R#x!34{.]@`Ty4B CU Y( Z'R{1A ߤ"J=vԵ8&p)v6 i^ii9t25㛏t(uXTn}Xp&q=Tj ;Z*8f=j"Oq8=qL4?qj>9 y:j׶O)21Gs$Mz#|7S|bd$ Lgo7ng:l9p9}x[~՘f68Ad hƊ B^SHgO'IϘ W!G֘;Ng+ #ɐd5@;sk0r"gB R9dzBƛ F G"ar}Fql TTuY⧗o_ٕ>cfnc%3Be f@7cr* ]x{ x7N avLx0XP퇋n;3yN#y:`%a<= wQw35>NR@b6~۸=O1yJ\W@l_^^`]Ue3s@rYܬɝrQA7+W=nGSZ+Uu0~n`.0xb<3tHģO0~Je 5ㅊ.Ajݲ?#8\EQbczLWa{0#6C0fv8VjU0u]I=xOHuǎ0d DtexH.VzAt"Ft=@vpwɺL;[k󄏂SJe@VÍ6m (P)W?id$o T J#ϗb\ݔQX.4G1F5s8AXp;8I0*JÞ] ]1M||NJ-Wc5n ߱!tJ$!/*?4q X3h, w֞,nL3%^F# Y0"*Ό,3 G.g$:uҮHg0'[CP dPǸ͊3nM 74pY|1QfY{*cy <yQ" ]F7 '̠0NE"5TEG '_~ѱ L!%VȪx1DTha\(YoD=0f~:FƒȨ`SWRUJb֐jxQ.޶t4" ͞W7hܴKBOS)V4rl[˥f Y֑bVa.,WMTLӔas-K/՝aD&˓/G \nuc=o!9&'΃<דȺH $+z63klw܆m޵upwj-$rJ4uWL;m|³Iiuc˧tD+Kkd!WӮ}6`v 'l35?2ݖ!-c* 4Ɯ?&u0=rJuu5ΗdY`bFvF.X.d#g|ZbG{!|0CPZ, nDύeahF o(aDE\(d Kh zv0״آKZi # umtQ"8ܬ 2!1!Nq`CjX>B6L9 *`n}L& 񥾃P헜4)0\pj7W;7uK.UhxDjQ >dpK9Pi~VЯB' 0RW;1M*s!o^ ֥2p@'A]|97t<-QU7hl/ʊ@&W6`4$`)-xd>I/N&1*82%6*Ҫl+ 4?$RN;2ݦ4&}jP~lױC- ;nL8`-5g/VNǀk x&tv3thynDZhNE(],y\sPoJ"m9z@6܎ چJk΍!p˜/jH]-mրR"Y=\8h^,RU2кuTYWBG5V˓%gMF5b5^!a #;\xSI-h@x*3T0ig *3xj=]o2Dxx:s6K>e`Ih6 z t^A@2oǠdn<+)?rK^qBW5PQv|ӝ}SIJ\:Hr^Ec !ޱzab|&4f#6q^ k;g^E7y4=,?NP{1nS:l|7ʉuǜ ȹj["ϏWfڪ[4ϓ1u}j ڡи9iH֗g2 :1xd6ظ# "эE\0+l }GYe|ߴXr%.>! 2-{d~y:Y'd4HuKAinz3`撀PgM;b">Re0PC $Lj7T!&0Ho\apzqYxzj~1]jf|c-ino)ǭ @eSBI:d} 0e!_D(AOB]^ηP_DJ=8v/3"q D?CXT(܌L2rJ6f#׎$ZRGW |.ռ~I3ݤ+呋z$:KK]k\/dxcw:0Bz>+pbhҽA ;)FM3՚ٮoA? M#'|b~atXپ_UZ" bʸ+[ 2g{&$PU0e4ַ0.dOMa4m4Ms Bd{}{F|1 ^" D lC{ukP14kQc1{l)GbV؍A_->+GU lʑnktѣbF^z$3%|,`*1!~{];] 8_׊[>ކ(f>~UH]f#5nd (}u[iy`z5AmV@pij Zn?|@==V ғH}V1uP%p:/BۦweAGꝓ^J7C ]ڤE@`Ӎd5k]Řvk^^.Qqooٱ E-'*."a88Z!3?l3UHcJ0~et 2>GI"kpi|RfGqYc{b |-whjf Tr.p1m[mbɣ݀3$qMR7 9`…*`: ? =VN ! /b @5*I|@]߯&i V/(dzZZ;,8Bm B]oum~g̃vC!6 h]&Y(R촬(gWQ(-EmGF١%Two4.Jpuljx X|ZB/tk WМ7dpvdPb=+B=o>1`,U_ƣa8>1 o2 u9M!c)G"5rMY7IB@3p4.[M qåDZ1n7tvftf.+.diepv~mQ ofN1MX'X ]DY9PctZQZ胧Gp ?X_}1!Q?I7ZW+0&jDN&:+o2P{G='B+_oi) bvH r- TɊYc蹻,5%g{!0?y{KWGUY+v$8 ݸXQ;"@s1j96 `>5ӪCZ_ѼzdJvC&C]^;TVNIM2b .%7%CL;ઐcFC$5"lF vX)g HU>d?Ǐ}G,>^l&`(.@~ g ox*ci]ހvlYq)^:P~9TiS/F%{rɑ:fɪ=Nټs*'W8kMe+$ ;@PWӮ ?S德Ps8s-"Civ vqCͰ.P': 7 es2gd+jzۜl7w%{nF2DŽϨV֋}zG D\ '3scFVuQr2"S$HcgVCwlW/P?gqPFݕ;"`GQi,)Z͍Fv-oԇhX6n]-""vfIUA?6H:!$y> ;NJ}$sj3b‰BI$VwEzj e!+ wp;3ne}>ÌlAlZK7ٳc\x99u13 jcV҈5v/#$Msj|:߄"Z>XH4azǫ'؉d$j蓊uƉF+"MOL+ͱQPnX ǃ=KAN?o %sQBM/l֗2 x&s̊muUĢbT~=;*/q\jq0"%nQKہ3rQ&@T""HbPRdW:פ wNƇPc BcF{͜% v'\V`ٸ 2B@i2L@eى}g^ɞn5WLc<{dvI%Vk^U  ˁ173ͦ7jx'1C~XH<.>3fV:(ϧ*ΖRwؘ8g؀ppE[ 8Ge"CTEJ=!bTzSӚpiq&ߏs _ʛW}Gb|S /Y Ó_Гop *bbsV$w| ƓN!r{Xs]aA$Jipݞ]a?T6e;pٮTnط q7Q%q!qɅTӘi8G*$ӆE%W>g> Γ۴%PR++j"`s'e p]?3 H(꡹x/b0ZahR;Iۖ" * vPT~P#:M(2zENwm 54e5Tlaؤ y \}pu!)wܦd ` HSz4T%\T 5UG`u7uD=JMJH݁*-FjmEpJkr.Xk9Vxx 瘳;_%1tM`0RM×wAv/ WKRpY:[D" e:2)%WjސnnBڷL,~0~Q@!&Nziяs K-El3ۘ ש ]wzn"|%\z{@3M0p$#ZD[?OI'v*Ki \i«쟜y:_"eyz2m5q {;o(>d01/"Á3jn- H: )Mb*P;Tk mg#;pNS3NUMb?`H%XF ྣ뭻'm y_ꋍCp"#o !]]P pb/x^I!$ڦS[4P:cm`ՋC4QsU4Q 5p^;3M6~O\#/m3 52('3O/ HM1<8(Mlõaw&Wb+w3^o 3 gD^E.=e]_ @a~2G^!`m^#~RN*Rt[&XoC̢L,:#HϹaTHq0 e'-kjhP%0Υ5 TPiXrܷڕ~4Y-Ji"C|wTmMReO\ _w"k-(P;ͨ0&صZZhWS@eqb0Cq Պÿ%8;":fvS~52n%ĄӒ k<5zbPb,# ڮ)h sA=@h]{r#3̑[ U(q?SzZ%Ť=>>g >^X!~5}٨4Cs믟đ WiU\>bwεx ]"Q,WHqo{kʮY1qU~;ẘN99L{p%M8^o 9oT~&ϣ${ܻ@?W+|.`β?1mqLW^8Mb_97T_`QKn"K>#λS<霘!z'GF^)wMEt M34*wyMGӣG$jōwxtKB$&cxҨO=}Va7h^FV+h4I)7i!ČՐ'fiMcec3ͥp"Hzh$~(^&GDO! 6 NK4S_7g&ߐd=܏KwzsN8ٵ%KAu)w.xLLmKU=.b_QYdȺ7#)R~孮 Ws.'_ǥ7uxm)h*Qͱw #hqj&NKN܆pOxj7.D#$+&蝌٘ _./d ҌDp=uF .Fn+*+p:kD+qO֓rL8N0یYfO 7'57hdhۼJ Y+iϿϦ%CSF֗ppF^zQ%G7_l,|Y׀@_Qxe L"ݬr ̥0mcuWКF٣Zii?ƽ!wX]~!sqlXjGI;44g)o<5dhwuL;U.8 l!R{耫,fJev[?S3xY-oumUW: ObyC]D#ŖPԟ,؇ј Y-Heu.;qW_ަ|e8Ӡm1x/OPFYl0ⲃљBk:tĄƙGEU7{E=F!U%)|+0YGPv1+_>qƪvd:nS:}9TjLW^`Grb_y>1:5J\jіX7+WK1O&@ T2z|ڨ,ai wϧW!9mrM%Sn5H&:T'[]$!2W)GZlRCv//Wg7T&u4i f+3)}vElI&Av,c*k$[HD%CSڴ A+Wr.Kl] :&-ĹV tۭت|epX|vԥk D4~r+_<:>XKv#qF2dcedj6m4+{G?{g &}T-Y}aCk'@L tp tQ؝waXr"\zU:Ki5p.isgS?a0P+dyIJA?M(~yʿGN?Eb}fUf( _FxqY9/AjC, Ӭ|hV?gHp*U&|YӇJױh&eI%$FyUW3.tjHu@ .|7$A;maY隷٫8iWadL1sjXt~y89??yo0>_,tɗRu}9mJBns=sMIc<&d0Nָ LG8t*i0mFjTBw)wM=_:?5Л wpUHG?xi\p Ru-\hjspr`Jp*jۂ_VM07.Uԯ,U"jm0h (.@vY V/U;Ss:í^..z540&nm*V&1|Qf%0 Z7gQ؉a&ʔ-mOBa.J|#kި ghu+R2 MGߚ׉L*aΨ{cLYL ,Ju|^hUΑ~ޙuۊBS }2Zܰ$Lu}S*+ʝtCFG(D }/ueEmhi[ΫIII-2-C\(p 轍J]܈ ՟ . zx| 6oZ\܍OKj̨^WGyL)SOfAXBcsh'23ށZbaOB!qԙtBcsԆ"lXx4AҔfq0)hOyg$~P*ـϋ^h6N!]y8^gW[ ? #醥O lΔr%+L}@AC&50mrT>甊 Wwopl%;pGE`M9c9љ>:P7QD UI^df>ӊSNys"eЧ^NѶX#Y_ws`nU1Ů1`MC }&7?F{3jʪ-$/@zV\/rp9 E\,&x|"tOBm%~krjmYh&:*Bq"5J"Aoýet ;L8UIևiىAA'V.{jʃW*&xvr[̧4́av7+Ishً'@͙Ð٭a9<]ϫdҽxzO620Fd_}9|\+4$̗z"#HGn!GЮAMX4 L3\5 (7H5}~{g>-5<'E ^S@l]~]N3]gU:R 7X+*$2k"->00J I1B0 *l+etݒMWԬg)pd%6US.}ypvL/Z5L.qQYa# V<I-*,C7N&/sDo 3 䥔ׄ+[yy"mԓsvBY>[F_EU԰0J,a`n[c `8l1I4z&c[fOk+G#m] _#Wܙ d2wsCR9ߙuhveNQV%ePO]j'Ev(Y;W4Rb7ޱ9KAb'"ғt ;cgt7]؃G{7j̟%kDm$A.F)6` R:n1~jIq;5󉺜2$f@^|şz;S0106vdZQ{KbԸX|PUɱPH[/!ኈͶf.R5Z@`A: 6K z!R)wʒc . ]APYƹ ticDBl5[ࣔChQnё)yeY) Ʒ`9``6nSuks] F#M0I#rSs^P17x~ޜ16 R eТ0$V@U2T Kbߙhc8Rv$q&,\# 9v+=+0u8Ֆ#&e WgT USyy/[MutG+UT6''+OT1m&jTf+) ex't]D`#;DsTahIm!L MN 1e$% Atil<7NЙ5{Tp Бc}=0vq}W>K83ƦpBY bx)(vN}4WO,HD9zěy yV@ -j+Ef!w:bi*}{V2_oh۫^iSޢ4}&YW26 rEMm[/'R? hD@qJ /4A'As7s<vGY/- s>[/'w5UhTf,Z<S75O6hS7s3/[tIjw'"msisțP'/U͆ljx}ſ_9Fg$B檙.f ].=wOʯDK18E7iBVqgkK}iG𜷖r.o~qC :[Mמt%7^A%!}t5s CJ\}R&Ġ,mb!8\3v|DDqX ,gq 6K5H{;Y2HssmcM`s6h4+ʂ >UV@yk71 5Xauc;) N=*˜CA Y/sDr%1R`SO%r@yl:4R>]~ZN%eZ1zGcaNƟc4úInoʙ⥌zJE1;ggU(2>\Ǻ EBЬfav<Vͮ5 S)qdGK}EDfրf(,^b0H1uf7hW+f0r`8b]LM"Tk/FL ש1":-R-y2Y̫탺9:Q[=̟@3gB}ه O)$W::h[~T 2-;Ȟbw :HBx?,.ᑽ<߅rٙGҋ޼2LDtsqN *60Az ާfw?jdiMa# ~D9m>8"L!S%g ,xL$B$Uʕl o֥6$/nRu#fY仒I'U?~L t+~OVlG2cwluޅ<+D':.|ONHRGC„LkJiayr\Ie.Z}m [-2%PB%ׁg yY܁ Բd"UT ^bu'S\<튏3;kqsvT)unB:ȦɻZ0+ u/Md)&> l^7vrWqdVn\OahRxN`Mj fnHuNob6f,D ̶s3wOrY2Br%3g: NRzK/!7Am#݂~z+;'oCE48OL>]heBCEWŋ-ө0+&y(otFcy_,7*@{{@7wlמ L7N~>unugu>BqoBj#T6+nMժ|mC'@awkU7 e`G Ag8dިc+ȽxIc@=g)e(ɡwj?J/Ј`":3J?Ufݘ0 ȞmL)c>X4 T*JE sf㝍ZI>nY.݋y4W;4nN7x?&l1k{!6)N |#'Kx| a*b k!APLxϒȒYVv&KP/?< t2W}pkO7hT[g.ks"&GE-5^ar(<Ʃ*VG2g˂fOMm}AT܂Nf;R-m'"Zp>=ϳPI-+Wn`n3iW|7ٜ VJ4Y?lkH)"68s1 H#5Pn ʒe ]x]lH#Y %o`fQ";엀ż<7Co̍5SyfXpB3)q|7ƹ5\zzBxgu2C^B6 +cSv r>6rݒ:%8$e}N:giCs۾}loܯ+YBQ PCÝ + SYҐS& w|T-B"#B9"D!` y]i}C;г\łL|Qj82{d>A j53t¤z4Up/PW}$Iw|$ϳJcL'P);ur/0RUZ+A6rmGbP50iM3f@3I`qUV _CJ*p63f&|o?y;!f6;o^d; !Ȗܶ,3ƨ#9I˓@+HR5k?p[&VQJ60>uPtNF/)];w?8h;\ޜS`ĄKluM~$:.tiǸܕgƯ`vR{.Cɼo(T ~=@Bd䎏bN lŒi0u KΚ.]jbQE=+`oȳsH ͻ%xgakO>>4iLWGPe'Jaw e˶-~H{hbpx2;=JaU*HW٦3r ͫ_sO~٪K;.*7fߵ Švx( +&R!=}d>ptE1H?oP~"{;q &ỶKh5$>!sMv=玽<봙A{vic~,,rLp{] j4!eʇo47b3ԇq }N:2?W0#r  7VzS8,6  |YqIYy2Lgƫa@&Z4_s 邘oעuGJ"ޏuew8EesN>J{^[c9nw^V/lPjdX\u؀K'ӛ=W쀐t+hgjjy8hqRbʫ0W?3 :7MHx5?G$ؑY@ufEDwM"#=(7s Zu!4wM]60óg`Gt1 {$/NUY#pu$k.40 /'y;T@ƙ "!kde;4Mdb9*zXIcf+ډACFN%M-CID#\lwQvX^pޮvE {_,ˢ&wnaxM,LusĒ+5W ZH o][έ x9dN0k7sD=1'U|$[LA<҃}l{n]g_H,+ըxP Pn 4Pt8QDk%tԝTcJAV>lE,%իx C谙yrݩgp(Жe1Z!L,g/gH:@n6KM@Q`KgTo +f0S xoL.\MNޫSf44ɻ;52b_O Fe aKUz11RVo]Wai;cOTPTԫ BZ2R xqNp1)s)v#c&ض`6R@@|mv#s ׽3|/3>i>Vp}k4>N$KvI|ʦ%' 77:/]ִlkز驴<dNYPAF"tlqXA k=w(bdHȝ*8?߬ \{ӷ.oG@6zNsk{rU( W\vVsmd9FAAY]^NR%2/}ZfZߢc2-q~M(JøeI#GCħJH8LUtUR(QMt^LNe k `HXdLVIES|%*C1MN [ =ufX[KVť>H"$]`՟ѯ&Aj%ai76n);Ƨo@ Ae&w \JO募[d0Grl }A?=%_wkCUJaFؚ>YvМbF9aE{#Hvc?Xc-pҎ)e!HJFˬ[&kzB&"h7P|1 Kt-+"s [BkE'Rōc5@n9@γ|..(2_t}\[%C7'HʏtlId*яJͩ Lxo:b- uNXϗX;_zYzaĢU=uaPdc,{t]? /Q]W9^O~b59us7Nݻk99ʾIp`-S$˃~qy8²‚4m=yO#tCwM1P"ܡ;džw=IcEG!Ϻg% /Drjxu>=DSϞr xtPmᆡbcR(5+T2[(q ¼`xؑ㒿f2}'\:sS[dVj )IVar| P3x3fB Q;brD ;sğ`rfZ~lgx1h fuaM˓oE7[IOkr^Hq2l>FH%Mɂ([cR_΃2дnӥڍ! 1pHød0VUGV4U J`J٨;Z>f 4*Sȕ ٓ y+ jG<ڨEPbD(81CGI\ 5M4ǮriELW15ʼnt8_i4 tE[/:(H]?«,9پKǙ @bQ`Lٶ/ؾ*D'[=v cMö;y04ѮqaB$IV یa³U|*ey޷:Tr¢BG*a01INn\< zVX=cXK []Z6V d7 /d^j%:@$/ɵQl,elT=e)BD0AO^wIT&Wc5{kkDDBMeGZ1j (Ro-#.cAַ1rJ|+9yLKR(%K g>i #wYJ¤ #ua|`΍ z_HMWw,a Fn4΍=}ʴoBhaQņ RFF+Yxh'pڨgOt> {PMJLkhAl eF4^s+:î?H|ܜ&~;%t&|lH%φbdVeUj`GDj#j@^bP ^ bWE5.+5^nNs=~11RPd9rF  7k7a"3k@ =߈=8u'ΨM`ݘ :p9j@8O(Avf[n;P~|=q]ʇ'K 8@,)ELL&щRVACuT ¹ƶ]TDxe҇I[V fȴ~lS&LәH D1l}5E'|{0 ϊU%nv( k W:r,M+e`"cq{Hp>T%mm@Kӛ,0v GRh9V7ЅRU֎tCs"t ׭\V!<&k2[SJHa`UVYOG D$5f_=tsWጶ{{@{ ZT_F+Ru]>A>-, <-dcڇsK}JFt@wZN)l'PId8\Ud;YKh>:}xwsTHZPBU(sRE 1|Y[(k5.`f`|)soU-O"(dKchl-Hͣ/hgw~ \i)? 4y9Lu» CR--Ѭ.%6sŸ&moNK^W4$%1'T8`7=k}' nv{ ؉/>I7-Z~5_Aڨ{ϯsX.qH9ew;'wf2 ^N)NSnq8yY7y^;or8w<2)KK`=3!ifر$\4vb؁ hۺm YǾrA?ୢe Öݹ`N^z 쇺܋F1%HoK\ =q QN##LxMP6ÿ_lqhzWp2O 5 2oQ2beC$4|d C4J,+ṲHɍh+P|37@9VGG{%d̷-ks,tRez%0N U8űTΚ"B\z]jP}s1=%1*RCR4O2KSL%17OW - Zk'<l8]< .ZC8!oGEsX+L(>j}v.,o\ʦף6^“$^ۑłTڊm] rjbP"kE_"ĥb'S/, hVE@NV>Wv6}KeWT3P }ⴂOhm/'`f/lo6x/BOV]{M1< аW@L׻תa+溣IIM=~/[Ơ=ajg&|aHa~ۺha H_E#kNN>6>ӷ^۝\! MRQz[L=yML-#*`ڝWè:Ҝ sR+*UgiQ3}׍a{ Pw2ܗhגxUt,dQ( 9yt"5cl;pi,)W-nrF#RsɠfUrJo)ت"V+)f胵fKvn4 c(3k7$Z@q "F5mz稩F.\r+ݦg`rVE~i{pg}~Pu$2tZ~=:]xbeS됻4F`RIC?6oD@* Gg+@VE;F Iw%V%b1TWNȞ{n~ouмO $7~'u[hv,cZ6Hn/O%Ζn32/kjp5ToZUuVD{yXMwl0mQm]<1BҙV$! #iHHb.c+VvozT.\h/$ .޷4Qb貢+$Vn_fn^Նc,zS66P_"cX"y4?N4ϠISЯcꎸBKhDtG]c /`)0svktv9}ԻO[vi@ eYWCW58% K\T1zּV~4Ӕ.7OްOL{"K/r$ ɷT<8z$Qߓ/*)N#7#1,t"ٿ0["Q|f P^1`9Mr13~q8W.>, _]v=\fv wpe&rZJTR ?/K F#ǯ$T{rS)R46KE78ܹoІbA[!zUV; uxhwK}(=L6cD˶q-ʹvH ve;.y:th.V%6d6,ilnqb5KF 2=pΔ@g> %Mъ=|>ܡpg-SVNsd#=#Dݻb\Ƈv_rYC !b@r1#J|Nv T&`h/"?g̪z3MށO <?W_oPC䶴 :빙 sW޵S}( abL:Gn7z2*Z紕΅Fsml^W)M.[ypVH7V (k5.6c g˞g9jm…k?j@UA ,ۋR?88~mxnfmzEFʛm-{&6sw5&O*[: L7!;ǽϖ&(߱;\Ke^$ZU .EC7s2[BId–ȉ2'0Rε+WwENڷޱcCVeXxx*B)fmC>4ȔH[q&=FܴG2c*Ěb>FW *26\9d}F 珳 L sj"^` J}>_cOo5 A(9UcC3 سB[q|ΠgtmB v-nyyS~ G4.X`L8!$kMv5l@33qoHiJțHGx0 YQv6ީI9lw;] |uk1r"_x^a ` K %x"?nNFmǹ voi}Uo0f!Ja1oK{-8UzV3uwc{1,!/A1ŗ96z1ƙokCxPOi+*F*zB4:ݸ.HLg=h,*R=H͝_JU DU Ta.Tzo1]È9Z옌kmHɟ7-q )iUغ`d BY #<9VɥWix>Zű`v&xWV{N޸ϩ]QB,V UE~'6瀨{0KߐJ\=M͙o>V0BƠ W fOn N)B_B f@5+l鎣 P5\=NGȥugkt/-)e![~ eNuʼ@ݜ4hiBk:=`^<,h Y+`~Ж.K*AVi=ƾ9[c >,@'&Ɉٓ/f ZZU;avkTzˤ" ,~4 rDwb,/%4\‰Y<=(&#HWY=zgYV`^:ZP%S{ػYvs9v1>W &k z71Aw++n C gSO~'mB:P?9zb}ָYeyTvL'udgi먝kWq"$! MTרhkVfsc*ܲKG՜kA5lD\'#+"UW)QXCAP*[AFxWa_Oҧj gp Ji\_J`ٚRXJA< J=-3XMEՉTnC#w~Efd0pN ת.XB⾓93|grEyCSX{'tU+[@P]y;ڈ}`*ls9e[Qqȩis=}8L2O0"G"蹮 U{n[T<~π/f1dD渧E\e_ie&kRBi\feOsСtϰf}[%lx|@z !2V@ڥu~)l>cHYGy8 äS&V 2㶀p}%8+..DfeJڄnH3OXe#]ћENYH].P_KFڞ O_Ɇ \"`,)ga\2p؃ptUW8=*,:Nj 0wqP<]FhɾHl(37C+|Bc y88n0St̲(9}^ U 0~{DĔUyXVs?&`Iu?Oʱk|cVnoS9y&bh}Wđ^>= V JV-X+XjWe%tiJY|xyGoikt/l#sBM8mjK=D^5ʻe>9[kĨ9L &>)QҎޅ2QSXA!r^^W|ݸhު` n[MKR7qis]WSib!HIlVD$@i시iLbv戎Q_oDgs%J?S4Cv;~=(_ Ln+QO& 8Q^P@M9&:!t7*<݂']tu;y`Ja?A|ٯ29&իD*&x\M5;}N=*q. i-wUDp!(VznMhgjI^ Sp]`6R`0 Dy@j먗<&9$ XOQs SAFP#8), }#S-MW"7Y5WY3P{.鏭 骼[nVy([!EBEosmEUObqhf|QRNpa 5Z$ -+m8Y;:HKtO~܋B:RL2 Ş#3[觩l]…6*Pȟ!J[ (qɵDs<e物7y@ၝ)fLg|9?BlPN) {U<~@4Ǎu `1)˕!@@KF N.@帷VVS. vX2^kx]j.39]bM]z!HϾ}lVEf36;,/4% T7D+o*t "K+oIČ|S{bӢFljQrlp6 /+̗yU(vjfP/Ϥ+ov *LU7pk/2t3PԂ'@PW8{X`R Z(U257JTnHRR|*D8@pB #R7JLܖ-1 A9@ŵiG8[~Ё(w)xDȏdd憤;&Ր7ڌ#KaJPF.¢ NGB?Uۃ<ݷ9iEoSӱJZU,[ ]WVʄ)wf)no~X tpM(TGwy$9C>V9I1]%Ul w3Eǘ\ĮCM=ɚ@aHDgG JgќI _i7?!'gger}Pf\܅`JG.@QrD Z+L9N1 HtNpc\!F?Vi˞Aulȹ}!"{SJiXچ4zJw51|$hKqܲJR@hLfBxV^6o8WxX'bM7wĔ}~Em zax#u$+Z$}ayoe!Δ8ݧY32q_cM\O.,JׇpAO1([(ȿr\*9S&qk~;ӯ!g*WaCآP?)z$ڻO<Ů%ț/7L.X{i93m%]<%-,^bdϘKI+K5 ^yP|%ad`L@65~ kRXvmzc7mt[ J@#?FI͋ilGW|!@=v񬀞l: 4ҧ,*ҐB=*ū2c!AK6$Z闓O8#Q/vBXwcz8q`8Ϭ4?ͪu2]$ g?\%f&CamҪ.ː0.p۬Zg̍ 2YLvt!=&zۼj9O;>E?=Nj#)X=jwOH*"-Jlũ7$oTBECxlx[Un-0zydPVdB/Opn;MXϭA XaIe2+K!{ZAxܓ'O-j49&yݔjuИG'{Bg(g${"0W~٬;pñu*tlΆ\HA<A4YME`U%^,iusdd>ۤ?qr5qZ y?LHFv9HC_y`6R8aib=J{9DxJ_P#X/r2܂;lC} ΁bL,9܏řUߢ 79T,Nē*GF|QMS[T_/MnLP=0r'eh HJAKi+|=GS1.dEwmRN{蘍~ND7;[{GU~.nQ c1^[咽zN v&}p9+4Y__I,͙ ~w|wYQ]DBл *7V'NoE!!97cR5Oj7 [pK-3zy@L#$VdM}=FCB&Wz. >(]є05+!`ˆ2/h&mq9` c-0G Ñ3T%߈1ʪUuYn KwNb3ٵ'H;,:R~(NǷm3F1Eg{*Kcs=~K,~Lo3dLQTDa) TvN@xk GMsp-eE%)\>?m@cϬ39j0z{B njXX(JS*wy=`_B pr{}ؕ/b[G$1yXSeupLH'̎ ]qEX+mΖ[&L]IJu{ⲴzԺ`s:*^XL \p2+H(t8dOjf ȿBrd]1^.\]DY'/Y1j:U!,;1O&uO(𿑽jvUB,$N }!WӪ(?],1q$6rڗ>UtPidΕ~M}eNP -)_iP;UBNDVMٿ6TTDceWxF]-n!H&l0h>*ey-"@%k]J]6uZ"O(2})6FL[6fX5zٲQ^1`7;$Nhozr D 9,M:dkr=;\BO$M `/EܸCI(\`uϝ߆~b9i ΐ#!-[jmpӜkCt9=tV6a"IdL%y4ݨCgCYi4w| b/hZWL)jgC'|4ڳSn#S/APm.@Y? Vþp ( l݄.ی 2rdUlh Ֆ]֝}5V/4.تm\?  \J9mUh/&Z *dT'Io]Pj=oՖn @>N!oK{d]|3Z1ȓ-C S[Ebu i5 DǂW  ZR> K ^xIv Yxn u'yC+PP.뀔Zl&=SPaPM ?ǝUN q3i:@_)C.{s/K@aD(8yZ4+ {% R +݈A=WfUx/ 2v|ai=qhQ 4b9ZBҙ/pyuqYhY5ܩrZH1"r:'<[,>I^|I߸d`;*~ U0O}ݯF39%5,V]}ȗ:ݣ1k|0NjIM4ݧ5WA޼~F7<څY"l|\HA+IVيIϊ"wG6#R.!_p%b[uF_}tL~gaAUfBSo,u!}Z6}̺̑<ٍGk֤MN?9s$b)_#¾HȢ؛SC4MU˙s \7&w oM禔U(rPTq{yyKXLr!wR [\/W*:<.u܁A#@Cȃ=kOI02!Dp4%Nw4\1\:S3p54͝)n؞ŘQdy㰝 oQ.OY02OGYh%jΣ]?fnMۡE94~a=H( %?LZ9If"̊Wm%Uc(x_rPA.oy+Si|:u 6&zFxNŲkԑ&p~e`}TW~lg>?7x/:~]/GG>U)@C?4Y!Q\tP-SE l 59th8PAbQҕI!kgoLF_;]G iB#{=@昶rrz"3奟sHCHQAH'sN8+*ӝ92'?SٚA=-[!ZŠC}kRn=GG Euq#lۨx$2p=Eh,{<-P:jwtLGJ\->*T?Й+K.TtEWf"gZUZP?fNm~^ sdcO9!Y( ]TMZxj4 QHlzm.#$@@-2#_rN#[0/L<_ZuPCV{Q%?U9' hSM=왪n("" UAZVb؈DZG;RędA?j@ S%Ξ,SBl92]lsB;f?o#g8Z<(fڃ@j=.3$ox𨀮1)m% bۡ˳ c&ԴQ =a%,vhZς<$t,>$<&9l {Z-__ieaھA {YTE1 SO B|B'-[qkk7ٻ!ȇ"p}(d3̉^H7j8[[y?[SR̔2a]k@~uۃ7V'aykNP 6Ҭ 9C1.iK8R&Nu0R. Yit++bT:S8p nf8v%ER=}Y\Gn6fdId^Yд1i4$̃R 7&IjC m+Ie<ݵJ' R4?6E8: 90 ,%Q\#޵D㱏޹T`g ‰΀  Js_}YHTeh$]OdeOjL=?XlF6s.uq.aa頋BiAL}@xîs3ϧ0NgD@0 Kf&Mh} I&z/5j#$\O@7dƯ<=;ZF{܁No}*^8ζMFS t3`xh& XiU9D47aGۯ%[*a}%>p$ޕՑ!QI>o~hԽYaiH1JORrL"*冨djsS86GF3 (GRF稿) %xgDú9WY wYS uǒTpWūiDU*h￲4=cjDб^Sf~RGK~Rt\zdL7<<g2"{PP 0RSAU=32+M]rF;]9< jD; oxORbPt\ t uQ{4P+8]^WUބŲSZb$Sb`uf`#?n(dq myf#<*虜Q0mN0^TQnHBtuu#DMʽ'ta$.Jٸ5*n#TvX R6-JDJPAm g ȧڒ{ hRr$o٧Qp0EbKC99 ">1dTqDԌ LQ# rʼn?1e)؊`bvnÓReЋ(-6&vRq%t?RԂשFZ<_(wUsqh0 Pl{#J\"ѿhLV0?\@%r%KͅkaQdԥ`z\WwY[|"V͍U`bطDyy[3D_6 \d]93p0*znXo^bޙcI8R4`YR8ϑu f%:a;.f4*xqo(PE-Obͤ.kڽ.<8%(Z+Mכ4E < pZcYf{rd %ۍW~}]WaǻV47jZ@liQ &̲Y VO ƞگyF\cI}i@ $_] N;lL*ӓVv ȿ'zTOcvpZ^`B%ګ;;巃ˁ--zB GvcF-%#QpoP8\Ef(xf@%jF@ M d3*lg9A[ĂMy1G<Պ~c CբʴbZ0#?;a0'rw6Ed2fXȪ XҦ5w[/W*6t4NCpO{GDhq󨄱odWN֔ ӭⓃ᭤;XدӘ pg?y2&W 6AXvE'SI5 <@3J!r;gɗWhnL;eHa0.6w8WI[]An Ow7 !e̞m+$)џ:nM-A-}4D$4O1!T~fٸDz5mX+@߶˥CgZLZT([ ҨrSyE^YY4nUbdcϓQyFKWJzQDٜ),G$nOZVF2CׯfPޢ{7xQ-Ai%K4QkZ/vIpSNx- ДDڱC,Z PChNs5Ykj2@H)S$WZ2dAEc((rAZ7&ѳN.$2H"՗hrv\aE=R_; hrkP#xMMnUğ6xl.N·mНpvi} nJ1ONPt+ƘcQ05Ap4&HlB @곲Ovia7>{vP-|j-J{xA H㟓-~a\gh .ki̗fmXFhx,ex6Ѓ'irSzgeg4(eq51~aXP#t ғܙR+nF j FݷT :`}*{_0]!fgil?(T;hy 9A/ơo*'wmSc7]#r( sT~ˮqoKy0ׅn>9&;`r7疦HSmS3s.ִ;iͫ`-a;?4  V"[O*O .?q?0MlωsGslu1E~NkÁ_D]ofKZ$9gsSp1`1+2G sxL>I=(8Mz^yͭ<_{UoA[`} bod{mߗkjlSgKn"'m*v+aؽByF緈$jRi$(YNUKۭBKsTQ$2>a:fM,Z `h0""?w0[& o92J*O%-i ]|_H14ҾKkyj>T+b*X)!ԉecnGۙɺ}Iӵ>yb[Zџ4h= Ll YS;=th=)tTrj ّz$VL:X;~DP8H4[\ ﬏lҬ*d)!Iȥv jcߌb BG sM--h:+ >^(qN+*JJvLR[GvW(.{CjN8a>~#wB`$DqC*!袻HQ)'$d_3k1wDQ؄a3MљEA-y+lU&G ƪ;+H#jr2:UFYkj)_N_q,LGa Rp.AXd=0: <]ӫT13qー"H=,AǾWq>OGf0yoySe5l e$۔֋|!6h7qLoߩ ߪ(~qh7 D-ػv(KN>5I@]ӋmF"/¾^ 0'0[YȝB$J$$ }pr!o#ox9`2qD~\vBbrZx$>w]3lavdJǽ1TwpDkbgFyN]DY#Q:lU~]*Zeh- \Yl.瓀O?/oZ_a%;P܏˜J'(d9>O^8On[漋}AiDu, {h\,eyt-ǫȗ۞D׵[k~}ytNKMB*d7!"JT#&s}9uVY|(rK7?&+fcM>܎,2?~T#-{Յ"sU 7U H~@||B$'X& |J]J3ԫL1E7Xؔ/ދ)X_Ũd 03҄[_T' t:` o&ߏm*Ǭ@e\A~JkI@NchJ45xEJ.frA2K,rUO̳F@n7#0 pUJN_du*uk/:M*_ILrfb8#,wu?ozk +ZI,a#Ns=2αRެ-]Sa29ēm;}Y!rl3 w[ qso UyasÃʶCPJhjƽ^ C[ *`YJEºeǜPbw;/-nIY3{`_-;֤6\c$h1 62ќ}<~㴤=GԠs$ + imbqQrR'ӆ&~iE&GaZ[J@ua~]S@ϥդؒCOM}9w-]i LhOh!'[%#*P֍3UZckvZT L,Z.sW8䉍3MؖR*,fRlg=|42Ņx' =ܸu~I&@1HI"k87DҢkwu!%[| 5XN')R>žmu^Zzۮ ?LDjzQQ=-R#qU'IVq=%s̫Ť֕88׊ Uċp &lpLTJ!j2:kE]bh)a҃c)?Mܝ%v IZF84Gk8&Vʫ"Gۍ2Id*R2m^Fv< /TT;ShIInx:4~Xxn Uێ2-H`A3 fCL{rCr[] ̛-:zKn~ P9/ZGL(ũ-RͫsY$Pm@5L"񅣨=7"69-oHvskC65 gWH6\u(xzJsZpdȇ͆sw1Ј2 ujnSt羫Hs|fǮ|e50hywGңqo5GԎܙ T-VfF41"%}gW-mދ-|{@,,b{EIJ4S_OK~C> m{ r/ƻ8n!5z;HSkS$xcѥ _n#VaXb"dᇧtNaO[=#&>6tU5M΢uM gWs_Cs5y'^`|83A+Ju@OJ=q?RRjŊm(bX?SP p849# ٽeJ|xt ٷ]Qt&>6&%:= ֬^<0>݉ Hj{ U.VUs+'ó]1oV[sͲmM,hd¤\7p#\?zC:U'LqkZ\pVf%M":>1A;:7b2݉ZC7Ne_.oͩW?D6Ìs ^{1=tpatȓ+c6s~hcŪG<.ajyK$c%̃Ԇm7R)=6h8e T`N.uaz3mG+U=' .Z9 suF!)aESȖTo} )Jms\HRCOЯ~vV[4/EdyM.y]@g(MSTvSP hb흜$Ê2͇8-ZNqVJϞllwѥĆ2g/tG+VB岠oΠ~.`UGz(z63wNQg" qXyT;~rw%sfUYJ&aCv:t{Jf6r(Qap<;)W7fZܑڬ!/|<5Q mke.p !擲niFk?o7ysT|6g |f3qkXڙ2-/6w%jp u*m r-F Ƿ"J.mCIDQ>eπ2Wں~0]`J9tAʉI}[ŋ(d3 60$IS;f8J+2z96i.]J ;0ptS Y -6>kφr kcoA2 9= ~曇5z4 ]_{t,6) /MHz=VrpX_HC4&2{50J1Ni'EL|BXƭ, +AOqJ6y4qOݑ;ֆ/l wa1o_{ژNS̫׾u ]5ƕ&p8T{ [n м jeiD*5lzc򒪡5:W>?&PKF&7G`'["V2S5Y&y>5 ;Vvb?a7hTY])JIܺW" oR?;B9u͛gCBA΁P5kMĕɖc)2ZWv3G U^%4K2[I ˍ{%.T"!ǹ<JĔY!;t9j"9,m\,6H9o׿hϐH"9oQE8AQ #J^if&ü+޺_g/YН,|K}b85uB?<s ׂf`' _H;&>^om&7*V;qCD;km]bsaI?c*@Fפ__9Dڂ|0,G? RfC0EۇeO!ʷ'SlE]em}KuSVhf/Yo\Vwr66GJ$}o?bw⣌ .!)MKc*RKSN6=]@kRSM9}t%j,gӚI#Ҕ3@nDIhAr!Ozw5",^M[qr&ߓ% P9Y3Gwd1c˨SX Dg ש6H)YsljpMyѫޠ3 l4Tf]eDN5u0PJ3xbGnq'kx^_1CD҄#Svq swS_05k"`0n;YQIY_my*\otthp} -.ty~>&J?RĒZ)x}2<,rhAF\l!ןu<)<)a_yi~AIX+$Vf$Ōgr3ݖT' s`6LO5W _?Ta3 Z&3 КKC-K4o( ʜe'< Xj chaH|خDLڌoqR&Y{ @(ԸQHjXBBˆa/44W+?u|B6߷F x:խ6Gݐ}f `|x`Is\^fm~_w &y?IUe:,Ӧ.Ie g`Rd Mu&*]0+KYun~TO!LVn%Js%uЊĿ"Y.5ye~uhh9>WqT~z7cfmd)g<~L*VxU=laWc{0pͿln`~h#\{v(i9mSQXYq@Cj4 ǼVޑhOH W!nIcy3:Ik" w~YNWCs㏢p7QS^6Vwz1Z1S®*"ǁEኇ?U& U+bzzhQ9̦;3kk7EnA-62MgPK`6V}ypWNx1 !aҢ֦eiPOĔZxޤ=ACӺ wR3|惲ԊݹBNlP/sN$ۅߴQ H>ǟ+ BΦky_37w|D%x׎dПҋ@_c12ڤ6.TS''C^?xDq,f d :Q7aI7_fZ)jKuA!>2b7X%$=8J!Ql G3Q9sA8Ҏ6[#D.[3ancԩX!fd{.U%7 &1G{&b#@m?O"fyXMp&!" =N'2S8 +JO ]4DCi.fW`v}$'Se.#yB4U_qH0;Ox%G#̨q\|`!nI/领H2g5Ў}*0'v%$fdH0J ,<(3ݝ(16/j"* NUl?UÏъLKsdd%n.=^t+@CImSy i0Y\F{R.ͷxѝ, QEB5 Eć#!P>ԇ]#VD0△QyG#ٜF$;엨9@V}l|_%%uKX[n&: |X4E}V6H;Ҥ/W3S>{aIVTvV5Rv)8.6xރՠ2^f%ҹQL)"Ύ%!Źŭ61lԐkr420XtCщ)ҕf A{AW$ G&~ c"CĆzO&)I6KBj ]! cZaB:0LȮʆehAi fwUm$(U [O*oNln-y/yanH'j3X,;̲a)l{ilMY8P^krſ34{A;(ښ(jޗhwy^Ϡ#pX܂@M AV ĴZޥpo;x=7scZ^ȞmΡNpM .s2ttrր.Q婯 Pn344(`Iu4v`=8'v<ئY/O+ۂ<|rk4FS `օ:13hiE8iL-RiruKTvIbQ#eٱ$:+(Vo?EkQDCq 5M|_ -oo-Ep x0-!⼶n-mNԟ_/H?l,g#&Aamx0o@NxUfa[N{w)$Vl 2zKx1xmOq- 7^sFw63cWIvњbAds4H2!yvYk:y^DmcE~E2i y^]pOKH_Z|R5zo hĪZyJr ( ]d[2!gwߜ.cd9Ǘꖖ!/%"2b35Vm1Cv'QCet)Y8}Nl[ڈ t-$YE'帑=Zn~ň/?!ZҼwci%$<ؘ@Rh>W{}4zk6ׂ_aUAIePFC'!<]SPjjEJJ$!,o\},lji#֢mt@+U ,Vۋsh:in'sǻp׾x"^$dgj9'EZQha,j9+]y5߬υ~Hf+ő,pk$ c2wyh@!8n+IF/4̈́ #5)/k^ Ep|wn/Y*U`4SL[}.A/{ڕُ &~|2> /((mxa\DA0 s9" +-B,5'6%"(o4rύ bQNhh=5p7mLab>уC_dFGS` / izE9Ƣ۩JåC:u'P$J6B%ܴ~#AȰ4 l;&.a׽|L[`X_6fDF7@2+kqܔhCwE8Z$?IT Ę{:Ao!u),AFħ96jqaVSVQ':]%ܱeH@x{kT9cGm#&z(0P-_{6ln]!cǼGN_:yaÄWkԼhk*"-Jc>dPCSOiFjHp<6w= qޓ 3S.¨.+@T7q,X8wyFtq^j .FG1IE l t`)xI2 "94_\`,2ji{KxeAo'g4q '"o͈:N mDi=,he]3mSB7^Q ~ILaC3W $%' '|d*J1}xT{ Pu%{fx*xQi:G q^yjƚ')Kq/mz†jt~uI|j_6 ;Fy ]PAG1~88}yCS*"9jЅsBxCqSX B`y ,=/<@# do5 f;kF߂t2 YUG+/o6JqK_ _+7ЏZ,;,/Y %:ܘdG@<[&Wk{;|uLw-/nmQ =oM3!+n&GEeKǴꁏFF3='bӐ D$]{mdK"a GOKcvg;PE{){ ]B"[~v`*`^V*^B/8b2iQ ~{d,>ɱuF8%ɹӑg:#F x@t8)vcynS/$Vug|Anxc'/:gJTU_G~5.J>NFy+&m7%YTKKf7 0ciD.pG*oiƟ,CƟPhyq<4"RƇS^O/[^38!4ѥ"Wv@ ҋL;obKy DV>=ɚ=VbRdeHzO3eXɤk,x\mm5[pi>IVWN=l͘zڥ? mWbܚGw%tFV%kfj'-FQpdnl ZUS ~:"̘ ]88(vDd&ibfsbNNcC٧PK5}Y49:+v . tD~ H.*d,=i(g]hdY7H=9 8qeh䟏[p0O48y5ǝ"wtn?ҪX{OO+CzU?1[US\>w mF}M"Yg(f&+e1BaRܢKG-ؠMJˡ3C4VA:զn+F3Ȅqsk(Ȼ{5N]&w0ְ͎_C6wz=)@OXկQgx @P 7(|uZv"Z/QbXҎn)#r_MQcPo Uku8]Jvݭc:„Vcop:ǯJ0h•p;y?,A}k@@=&Ngúضy+fNbfW.0t&luJx6 {T%nXL| XrmT/ Ra] / t3Nr .p=tu~5-Xކ Cyu)FjES+ጷ>$8l `$6sf.drnh+,{8.OOzXHx3[LbUs(;nX{VwB :P\oڦ̉Q\fH*ARI!pyW7j\ *3 vq{].j77oS*e="Fd٨.ֳ4]PR&7cf%$ Jh\MH9|QD P8!"wx7!V^Pֲ0^4,~<2jTW-guxC=aB¡В Z f>7%Q=ء<~QaGnrzss-@=+\5sci#,yY뱯9`GUt;h)ϋK[:-r.EM9?Ϧ,Ea42{⸏bCOzϟO?l!;4LLO4,85ӭgǶZX,*}KqibI٧2; l}F^8';~(mFb彋ou&#pE λL|$$I>FT˫fAVjޜpqƷq5݁1JP\\!t}f7eSL ŀ(56QWϸz\ΈUee)ib@6mb ]_[}YN,Es>b rDFhI({cF'%c~FR@kr(|(]H'{(6w`ٯj}Z4HΖCAY23ӝ %vR,EHY`XM{K3Sg܄+;56>kq6zX}a]2  ,ռ&t5r>B9&AҢP& }2܍QQ0Cj% $>S۫JD]g&˕Ԇc) e=kV[SO롫o`{7ݓi[@ *o s#pq-?t40<~ALk~/vgzDFJ}>]&;h_ʚ G^c;A"&X=֭?FdO$֋p B+x1Mt)̩Ϗ8O!ԍ-.|Ҳ_5)ʜ_=d?%&oKF<}h8N Ḱdn*1)TIÉjOb wNWli.(p4 ) OE2ط-KeK$R1 &4˨shJgZ#]hv7?2lK55 \/-VKOEJA9k'FZ z.0fצ}&%d9V"B/7jR+C_se_AIZ[™&wnd&4((. GqZ> 5ds3*2^徘J_Ⲫi1.(cLU9vL&6jXTwK1L%&[Oc>l'c\hh4u8[ ݵle GjiLӉ!HMs0[iW5y88{%y_%L43JGg( -7¤{2Q:#Jv)MQ"|X-)W;]#/mhQ S.8 ~ ahCr.TŊEa[ȌMK/j׆ _vsFds~F~#1pOÕ 8CZ@Az:9{A-PH-!nI뀌.ԽLL}*GkrD{Fu⨱䢺{`Zv0/9 { 1.nyl6<7*d0UX &({}jcUvr7:1N]\.5+l %]솉Mj2qg:ۢRx\}75:81[ gŽ5*0{:+v{B"`F0,c|]TY<$z͒Zv9X} { Oemu'9[.HLØN,?u *ZDS'DBBk\ϲ*zk ՎwqR1U>z`vDi4,k+ &TI`Qd<׺5Lp!z3;匘ҵGkPeV - y!.ϔUd\Ÿ4Mgp}>&tgNS^~X8vdey?#@ uR(b/<; .ΣOkmCUן 458h>P9oc~!w:zzj7 Nߡ{~rv^:&ʫ.~-H33.F`idR2=/fÖkDF[ DIF#}* Bi?U+/~<ƿeOO[mFl#6@*Rizd\?6ۚ^O v~B*mJ!KV}[ZeKt&^/hܲEl=8s`s@@?q†D/0-`ԫ4_)\^a_ԯ19[3ڗ!IݓE/)5伟dݓ_Ϲ* ĬN/qѬK:o_ ~4(FV2xPR7qɸzQȗBS')֯vnNɤt<^=پ|Bł%mw(~fEuLȝD ZoAFIg8tgp/O (F= ̩]o[q:C{ E6?:u~m9 @ Eyr#pw/3]Zrn ͐<X*$eqG#kQ"fԺE*5ٖDr~68iYQַq(x,@Xr1"pjcZ';e1=l$O5(it{:V)EjOl(WhMt:O1 MvnC"owmLCuJEլp]!;fiF&~ŷ-ZYOA)gEB,g(Zڅ0Gq[&RG;ab8BĖmDt)$uIz#wiRmEa4U')ϴt2gՈDXP}*F͘$oEĂ@Zu2:/ B'@Oĥ8JFcP“x^X%pYq2@gPT0ˮ??e) ֱI2醚E2h qsi`,ׅe! b-1O4DR$C|2`hj[.'LQyv yf#CE5?utj.k]34| `Wf1:]FcT`V_9#?nJ;[X/*.Y]82^J%Ypfִ0]\0!C-W`We7x*@v r ǖ>cO(It@R w HA(F M (G"qQt.|^R.ڬF8}-o:q^ce,5vAU)/hvpK "!kzu^=?Z3[j,d]VTW/bml aKX?_A^F{1ghRj CCZ<'ەٌ.t%ZuDU@4V_}س롮2Ug Q4oϦZcc7ڕ)YW[GP rh̢ R獾/2lTYsA@kzMLH`6FMcn{F9RV1h8mvPgCqE -^Kz"wg orq䤥U?۠+-mo$tCD#Ҥ*Po2F5'u\̺~QOc2xr34J-[[Xٶۂ2D 'f9=mp/Xx;} /0(r*O,󍛇<w/PAFrh}]&ldܭ։E2q锒5$3Z7#u#gQ݃ =^l`&#mQ[a^DwmU*j׫~23iz`@slU(ޘr?жsXB+z8~`~3ԫ.L4A>Tg{Rl[RL(DrS#6s"dW"1>!>{T0DBw#e"?W:'3v߅$QǍ/+>p`ɾp#Um~W9Ϟr=sR%Mlia~[1^[*aMuW~'E^H ]\TBrtx؅n!t,QCeJRF[D^֜W86g&NaܞkɊ"8@fQ1]8i9ZtXÕm_:RKC܉_=U&-91$&玒p(ÝF jJB m6>[.(' (܅tJrd+r$|}v5o&g N=!ˆxLc#L繐o3zeA-QIf;j{Jeɣ#& ,\=~M t@ {_fF%o_uYf-zK`0xI/G&Xaz*i V:6J:7UAQ q d|Ҡ Yw-veUچmb,ASƔc %$<0ݕҠB!!.Ըj1LVg{*~Ĵ֍!iYЦ/e&)Yn@_FD ^d4fCZ3BƟ5߬ɶ2AvF; ݆d,j_&L0CM*!qRaq(' 9CE eu2ݘiIOwɅ,oz 繾- 't7*M/0ؕu/e.Y8 4y6O͝ okϥwwpƕ?`x5!BN'۱E+=<8$J!.}:Aˣ_i>`_p/n]  NN#x4UXu;-aZBpGԒAK\|@.{૯&N OPFPx穷UAe^RL}" 2pͪ[èJ?J0e@ Z'ΘG} h>YYv3$fi~TS)jAJYG1Is%-8bMON,"eD St/L,:1li61$fΛnyL.5#(^nU䩚۽EIs]d _;x>)u` YyGA 3:7[WFvrPgK/|,:&BF }i o*Ǿ HSdpn0")xh7t(5&~~({Hsn)fO`"#= 8vҡ4#ƚ]EϢВo Kt;#C</{ aL!kUp`Qg| L6&sd1nI6 ~BH qibdC /nvі7|Tlb 4EOZ' fZA,0Z.,9X'|CaUDg J@hYmΗ I)>B5O ^FOX21 g޶ae/Rnv,Ōf@慊q[1[)w^o=F ]KK6!+V]Z*wXm|upK˚J"OR>cKJ9 ƶު{Y̍1a8n?TXtƔՍ2Ap6Y-}s/WMJ x"ҦwOm]ҶJƤ{E=6qE`Q[˱L_o`yHk4z *U_wihd&NSтqP*=`-A5,NZB}~ZI`@O?\1dدokWe]+ : UѴfz&UMxE*xiJ` ~c˒->- ܥ22s~!xjzEEȐSLZcVw[L(†pcN7tE[7]pK;ow.Gu=p̔ XM-ɋ=|M(b0a|-b$M͘ֈ'5OT=!C$-0x97s>@͚< ӫ< B)((G,3աF$l$b3Wڅq'ӝOn<з͟/~hS24xaϢ5ʖm7>I9-.|n+.GM1rOYVvsP2ʡ"k=w5[57~ h_Uf5r1_)2ȹe_NڐA +_S~EkABMۋƷA \ي@jsR5l\] 5shь1N{;B/e=6pբd李8%ޢN|]2:7ڲax(*\, s6ﬣKpsM,\IO}娆~27HXaRRkFCQ9q GvFy}z~FԴ\[i`6< ĂGh]Gm3Iw}xG>сAq/@p>D\T͕˗{7\ YVuЯ'^sN^w+1<9W W aPLlsf)P!N\d io_%@?`? I Ƹ, З֦J\P$)}Qf}^kp`!O'#;KЬu?&3uV*NKe U,;5#;ϜԓvꃭDBӋҨagNƨdD'9P˕*zjܴ *([z -yJ˗OgBַ u(jDk>\~u,#B G0(fK>tRsPh[{`ٶJڪ&L–`"Ǣ+GTy9@+ͨ`L`kWF%yN'l 0OxihQȿݱ 5? {tj?ڒBF%&vt C?*L }[H*8vLڂ2їjMAC'bb$A˓=aa9JixG$g6[[ wC<;!Ggk*&|u|G\Ci[qovD^7Jx 9OWEq`c7t$@s~Rj듢,_FbU|Y#A3su38/^QQ@"ԣy/{oԛaUn 0Yh\'n I lGNQE[[?l{nŐΩb?$boi{Vw`crqB%jqb<,}yU/ mXdKXȾc:7rj 3voCrL_wgfX2)\ K-~쨟V_n)ڌNPƦ[B`z#*.|+zw-H@Z;| _o:w$~>oE5ɱe&1Mg ~D #@B8GE2Z8 }ZTGzm/CHG^.*"5d r:!PqQ% }C_4l3eƨ覀{')H{B1ETOqI^h븆P}p*,E/_E>vZr2SbG# U䬨Lq"5JP' zq^/fD;{QܪyWy`9Sgj"?A?q?lwi(vi[Z9YaC^.aF`0]yCiCp6YƄ)Ѝ}Nt!R(g_rW!4.HȚ C"0= ^q21~\?G S1 "7dY)Ybsm3b|YϺԴ%`VX\\?N-t+d૳e"/gú!1r`Bx>2W-]C7?.c,VM)_TM*KKFJ`ftW(_zn!:%J<'#dҿ Z,:J7;H?%;{ yA AX'g1} nB^U(؆(>»ֈkPυ2#bƶAOJՍƋ%d~|źȷ0}`л-0&'\G~JXʑeďʇI F͓U:'H"}l)l IA_ʙ%Au>+cpPݢ L% l5F<ϿK;|c8Z!-VegD&o&:8k 2)_5fŪ#r00?!C%>7N,(qbGr!/TӱsG`.;uNo]ǸG h[Jte~)qз/c!-c&Y4`[γ#j'g-iާ>ƜQ^3Ɨ(MLbT4Nh%J.iڸ3B)䩤]EW hАSOy⻓@ XƼ4 l$?} xEsIz!$&87m,jZ}IEe(\T`XV2å\xHi\I{bY[#Ѡ(ħ٘q9v"ONyF_T΃.)?c6p]$5N駃YDzȠY)CA`L*3B4?xV1/Żr:G}T}H(3ocfJ6 vTfn>|16}nZT= l$⸔˜sTKCfU "gb}hV zE60R[R'c?DW/>;:/DsgAFnWٛ~` Nk 9zq|UC4-!G6 1jIB$S fLR4 'Q!V[h5PAhTZ9O;(M(`xs;U>!6j%= QpYQwQkؚ,cg< ׹NAG`ȥ7}ˆ !,"1(8~/j?lrHrJwKL a.KWh fQ@"۝oJ@;j\ݛRU]NRfj1[2rw_">Gs&YbW7{n2ZmڎBFC8ŷC?05󃒶8H#7MvWN{o BrӈʕG Iؤt)Ϝ,Q0w[$Lӆ:o&̖gɶCNw=njV! 2G0h55 %o4C/ޠ͢٨.w(8[*DqS|ChKf`\ AsG31u0_?N Rz\etd ܩUz{ҳ5V%!Alza#AL4S[ S8s)W{>'҇Е:cQϚYhW*ו &cRZ>6dUk=&u-(L|AV'Y٫kyBZEEBkt?]ϥZܲTBYAkR..H8e.!3Y>ऩ'AR2T^^!ƛ"kO7j?{ʣ*ji V_^-PN̠H{jJH1cU풽իʼnYGYɼ4U/b`IQ A .(@I6J :!*}uսr6d࠰mho8Dע$kHB,*Slm?jOi2zxko"M?d-bRC(8(x&YL1WJC;Rk.b> 1$BSLDȏ؋5Lv*i<4E=D:mlv΍!qþ}kme{('؞Ju ,X(NM#_`r0 l%x?r r]j *2`Uӳo&u%:g4\72'*hAkw7w9sV8pmwUѿ꣛r6]=T ŸCi~֡"}? Iww C _9:ɓT- ԋ 2(3I.3F] h|xc1j ՗;-H6v+PL^'LbL} Do3@5$ V]cAWBG 2>ٺnQ{:&k]j?Մ]bNҍ(T;>G-i53E+bDRrlSjT%Šbď0_:dƫھ)ʕk75vub O% 7G]CuBkjM]4,wA.tEOn}'dS,5If7ѕ~?/)MQM'pC+M=Äi]bIWA$ЭdB2i(.#c=FPyDMquVuԻ=U,Aě7 3I0 @\>U/;㋤HY= ZT-&UNBGac$ 1}a<v9tM 0zUI'ɾ>K|Ww&\]*hĪ33tK&3x ~O5slkגiX/Z"wU?!(C)lQQɻT#LPx&eGN,!=A}A!7-nY'qj#{-;qj"!/R2n%<~{6pv۩o;y0 T/sbmKLΑudl)jf,4 J!!QYKN` {yO~OfKV+FAfwvX|9CHeR }Wן574S|R#vP5j fzc@Q,Qnh&6WL.ٖr:$TՓ%*Ɍ\7UJW.6x1%.XP|Jpp7 5:(nBhGJ> ` l I0O8I_-| Qn'$*~mym3zɀWQ!*ET9"weiWWߙ{`9 J뗰e~!%+ rEQu^~]K+гظ<}j`(/&#cזK*2jf?D!kaJS.h^ԞsRG:!3̊+,cIc1":m8nQJ' p:Τ½[_c{&bAAd hQv6V:A2m}Av4L<^ kKP! Oa3We+,qדiᖱ^*u?*ʾc/*+rD_&߭1.ۛ[wBʵ8VJ\43e̐s X{/[bwl Gbw4;P7C~H9"P&1piZy F$;,JW ++RGӺ `Z97XVbǹ @s$p8A8Ie+utҕҤ;m#HU+c:; Sd`[/ocęuS,t{1|n-:x=|.xO,D*%%żQ*NnZ I1ɫ%n줴a7! }AѼȡ,u7!zeqҳ,6g 2ڀJLT!E O#t c$ :n+sή~1@Ǖf N>Yp^O{lf;Fo4>GK ͍ B<*pSC]xu"99{_շNY=F#'|W~xXZ!2x:G^T3>tWx}^x``ljL TH4%?'< k R?@\0r(B٥/kIO(ܭ8h*%pqZ^@]6^2vӋA*~Lt2)(V*c [DT*11uaRy IK7n2+-<~MUi [eẅub>5P3cc8u R+w['oS`YQ'GSTt*rd)?Gt0-o+qLgUCD2{2z_gl`[ATcL:*Bwӂ􂝲'㌼H`͙NWp(zAe/&`,ll/ ύϽ:,dK]BK5?h\L>0լj ukƮZ^֍|˃)WY9oYpR!E=4Xq?=։d1QHeEk=7֬. R}Zb߶XJnѱj;gUBl9ٞmYXl3K#S~~tZczR_/*OsަQ(E4Pv QBȬ'] gA#w EiwڹCHHZcc~ 04Z}aIlZ~۶N6-r XUuӁ6>nj#6ʠ 6Ŷd1lYZl3l|J9~)Q.1A.^۠O=b/VdY0^7q)㰰uXPBY絘& K(IV|齦 ]>A[Q͊U|j}N(خ<-,f7iP"95!nTxMnϔx#P7 oz$b6|E}E!O;J@Ab &т۔ פ˜zqF<՛0*"(4 9ՀGbjwJhz"(hRH;8VR kxFqAݡ2'dUZv"mCL-@/o-Qkܳ$C 1V-^Fro?r4%Ҡ2-OCooփKGCL7]a$-x<[0=Ŧ <'IȮM Dx5U&@vvz"Hmo^aS:wvU)F.&F;E뚖 4)!r&b(do3_C<,%;eራ\ൄcgK*|Ij!zxfI,)1M>c'BnvGM9o"2'z/!nt} 6-"y9pQֆ`S4W A*AICߌB1|Z,xzAF@"\]Yo lɏ#&9B-e-˸CXXaUa?DF;gv j4zE*vn$4$0_L8y:c1kTNFX_,֘;Nj=ي'nlÞTY3VR:‹>~L>`l`7al3{^$:C*FK,>ڽ`$#Ӓ#\4.$0.p[X |tBv:$ӷ8x6~srYI2."nhhF&Yp j;GA<+FK# =|Gm9AfDThi`n+X3;KQ-C@:]6:6f pvjI~;m._D0HCA=8w8F_d)}xcf*e[Ѧe e7yBqJ/hL\q(k-i)IK m[--RAڵ!knFAW bt diR|yvַ5e-m&_A] o1-ՔV0lI@Xlym|ŽDŽ ڟ,2/ӏ"R%X96}I/U:S YVR_jgHKy&w< "m9'Vo+tR]^$؝ƻ2)68 +r>Ӫ`8Z}5AϢx>p;]쮧qhn𰯵!ft姎&~BKBz j&ѩ1-z2 %]vvfwJ9E %k*^O&-:^c (PmNsƹ/#=M }cv0F9)dSw ߐnilޭ>ta}V O,[T,Ex時)gf"tGnQg80ׁbE⮨QĽvw6@iF'rn8'Tm݋lr2oYCpk!o _XW- ¥iy*+P{D)V?Kq<֪"@A#O@nOcks2Fer h}>hHrIm<Pq^[LbE!MnEta"R8V)y<SVۢ:lqDE[B3O+@I'u^ 0Jv||g<d_j[BVrʲ﷌7h&Cהu+/A95(Lb:>ˡMUAOvۑC6T]ɶ-xE7&֤3-+0WemIlњ7BkdaரeȻY5 A6 ߎQJ3. h>z G>r.  βYdĐQT՗ d&Bo1>$||5CԂaE/Ktu8b#c}};+R4z~rŒDMY `b!1LK*MmW/}+vw媻K Qw]w+f3b9E6x>G*mON#뉱s @O>ȸtSkijb eGEv$Uюo,hM nɕ1R LZjYu.T=۽<P*3̨qN2 x@i7e| 4ouP~j!y4Yih&Ĩgh>!`41F/i03?/ e-GRلՕm(})#x6E ueqx{uVzq i 3hǮ:0RE!U*tC.p 2PXnW@'fw"x:DYҷȘ ''=c^Ň'Rs#ҕyxp{KoKx%_?_sA:Sl4./sjKj!C[rBô{.G+%n,=cZCJ'dC"k)uWE:kK?qkڡ](]EOze:Tgy Qh?@{6ʘN]x^<ЖdRFG[]2vEBIWE4_z&>0k_oizvk*x`@w+0~"$/hW/TkV|7Nvj>I\kVPk6Үn]S~-4X:İBV~'P`lh\/3Ip{oW]VḒ,/Mcze } J/&VIx+Ѧx,BѬh(Oc!i7R% ۓ2l2 <ߎJEP9om8ǛpYDcLG [1;As*LV6]n8$`AXȕ5ğ_o2voJr=fa)'`٤*ӛ$+vv1 ipe*Fa(U{_E 1dgs;ԭg&:ap&ka(>Ɯ(> dr;7X¬گ|z뵃MmqjA dIxTTF VٺDj$9ՆSN @9@MIK@'/8AaHK08m7^+ixs E)NLu^ Ii ;I/'I4Q@r=Sdlmy聼 a5!w= p]c9#2L̋/vXک+`%g}rꍠ2XFõMq:;2SDK4tv}ֿH%t3eTB%S]e} KZOΏ݇q[3clBkB bQo4IGrϐ˵6Sx<M/.ذU&e~[F  e6e+}L U[ݐ Ur*G thCNFD"’(%򝂗b|3i&Zh(cFR3*3,҅ S(kjl3S=*ȣV7ЋAzo gBzL[/Uy{Bs ӳyZg'VZOiBq0HJ)_Zϓ% nX}WtV 6ԐRUd]l9-AHrz@JJ+.\ )=xj33$1,zfcߐChBԱK fXri@LWR$IL[߁"[To7KjqBќƚݏ6og}^L0v΋”S3k۩.|)xE)oz0ϠyP"|߬ >)Z'\=j5Xa%z560^QCp;R!ߔѧiRK2k`݁~lszME|*6z2_4hpTgxU6Px5IV_(B!Dt3 H v۪BjؗBP34o^O vNn9K",7}36{sQ-hSaPpml(FMjپ!<c4ԥnּvţڕ)=$n?fu^z[EY?fVa3bRwy'nKf1cͪc{iZ|ɦ qrM o)nᏄ5m1XTe9e24fY:j-,^2*72ba4ֻbD 8aލws֞w0Vʾﭓ?sI~.C" pTఞ$z W.bԕK:!SB| myrt \P0Z 'I11D<]CN9,pMEf$"J?jx]7L'kmn{*Ď՛{qYQ}]}eTLl*Ş:s/ LS xn/\Z0=PŰ`A<@I7w?t'@JǔYZY : sw;Gzib`- + E9gѯJfjoBwO}% *H^WV%0噝h !:N:scmAuzfeƊ`*JThqWA q\ճu7%SB9/" '=Kptb)03[=&,%TRfOAI[y1&h:Usyu{{8<0DOṮ* nMC=Ǻnc} +H\"vb)6Lc)I ^:PwGC TG3Wc^F5"9I2oX?!&޶x甞\]r *ES1#'_.sBRASqE>L9[IypGI3f:lR) ȰtQ[ʂwT{f4khTA36pp 0\xt<;]ο2ʙRJ5梐WC_G:+L& `?ZKygAOGB%-V ^@:J [N4_}d]ȇMo\n:em?/,i,=*hz)=iBDg^~%&Qw[# Y:=+O'oa?ĊL3X $1o=jL+e=P 2) ^@kf:Lc ɣ 7hySu L!=p #&/$ґ87ߣ^A|8[wB$f"#J75DY=~o&K8 rT^֝99^fM%vfŸ/TYRjкKC<VTz'@^}?&D„을XCO0-yMGKVۅe3KIFq% Bz##*jLg6I$ y!`ŘkBuAWP3t9䉁v;|Hր5n@Q\VFXnmg2Ǿ Vy: HWҐoUMdwqEILv˄:⸳ˣdӘE2.ZB+6@5LTMߵCm͋" K:)LPScjoF+O𳦑 c,K(`ʋV 9)6%/چ}0ǯ%aOΑ{%']f'Yxtc/==E s6m5&P ZR!T`azn=Hr97~(Y $>jJZϷɩqa(Gyv/h/́+`[ :5&!\?$uu\;ey,Vc&,d:Qͥ: ϒ3*8Գ>0!jc ZMbkDocϲ ikcPksLk Mx>NRBJ_r;۩(ய1pMc4v!09r܅f\Sxcwf)?D3 o4IDUXIDJ~Z"Fm9AI,8 m_.Õy?,W\I-5z]'^]_z.TF$ƾw+GND^ ښΛ}gC.,I0TH>7l8/28C0~>p=NDh ma)FByBBWLW{ fj%^7VGۂGwS;BMNBX}^Av҄Hdxݱ|vt=ɠVkL4_43Aub|Q~`{(ȴipNAQޒ16Xo5Qor!pE0hƴW`>.۪X֟ =FƟl,@>WZMt6N^gvJiP׸+FluZ48V/h8,=* AּSNPXpO[ /uqrK24Rf0P9rP"e +m7=71J]]4"XDo-H{Jf7n6ؑifVbJdLRJhi/3)FQ܆t_Z3~q. vRi@"Cwߎ <6?5 94$ՔbЌK~R/YY} bL1&q]`x K1h{`!X=-]N"o1'wo7GnLxN6Nb"аHds4qm8~s eU&Z%D͐z%>, >5`ۖU06?) F+,uqįHW-gb<-10 ,t 0[b.u^L1h]3np?2RC(س̡/ A6?85swT)L:ȥ *Ndc1N%#zYoP޿\k4gsfJyMߤk0G[vPMi FqRe2m.<鍮cn3Ϊ S͇pC9yh"@sLFˊXZX+m)Oz|yCJ T~ QB,QdWaw4=I>Yh6ga@ZK}+by Hb?we#[6InI_?:P(-nHs8$R]σŭݮv1RH5ǷOR- 8v3k&Ufm: 9G~L%V֖ X dx>JrL,婖%v1^aQF2X .%Y8 SӐrHYa@@ tLg>dB{z8\y.[ V(qa~>\|V3;3dܵ8_H=Z3w")»T["$ ^9Lgga(2I ' W0r?S-'* ;gҁP${!?iCvT|'̕dmaeq<EPۮꕑd滍=IP'Ed LQ {asYԧ#590!C^ q H=9Xhe2||&NTCdamQ%H=Z<:x’ΐA(w_Cfw"7ԛ"|8' vsPdm&$Yg.V(g/CI,!Bq7s\7yK"!mt(t^hTŷ~;hpcu!tk|Xbё F.GUe82g.|bT j!ҟ2WQ FEwh84Lg~ | l$fMR|]b(?`UCvި-& &s9aSUI#)?f:ƈ7b`S G+6AN!=δ;Fv\n}lbc]BɧAd Sw&z;RPxD{Ig$3zrzc&8k$w<&'U;` V^"JǦV@z_IW f~6@ Vҋ<@\'Lp*L+ѹe#B8 ΢Fǃ;tсA*-m\KZ'u6W3pB84d  gr i[ceF6i=c)hJGb8vTk\:^ L#Yi W3`G߼ФnI@$h;oZCb2P O1)` 63c9,U%avϸP"/ NkYVFzy|"kxV qK#x*ˇqn_!mByUX>UUrXV {H^(TRQBT(EVDg1F$?^A ct0|v]-w5@1PQ%0c] ܚ e:ƺ,Bx:A$t8f)숇Z%i*j(/$o^Ӽ7M{X}O`P`[48Ts@m* U̲.xյD)#5@[Gy/^iǶAxxGQSĨykчމp@"q.o~,*0nӂ,LKYpF ,. x>p<66(`0Rgʙ#bTՀi/`[:*I$1 Oq$Rnp3/! ::.K szuSQ"[Hd*K{(KzCsJ.Zm2)ME, wPtʛ5EWE󆈙d~P3p:ZHō$^fYZU}ⶮDN[ҶjSݛ.ycڲ(K-m JA߲ui'sӉ /w!Gpy e~7[F_J¬ c *38mp0>h C &"˗E! oE2X$v+Gwn˯oʱaDK) aa-? Z&Qc==vdu <ѡ4~rvDŌ߅tj2--uQz̅qQFl `W b*2zR FYҙ_1l`9P w@T< fc)h͟] A!f%!)=*KiK 6iLh?qw]< fkf.Kb? T)G-^}QX=touȩ>89+X3:Rms\#%a^n)( 1@ S@YGƨoD Z:WW3bB,Z@FB6% Cv̴4kWɂ,V=a(@ĪYIakE{AK7*'~?Rim*{sݲ~Et6BHi3Wqm)%6C}gDnL %tչP_6qƟIܭ+>b=ȟɒ?$E!Fe, ׳aܘؕ-hsWi}'-QA :~E[CU{X/MȔ/X y'56۲밶ę2dki%O1\dz8)5<Deh)KjE\0gKno=!:dYTo4_3[riDu=~E< uK,dzS*t?4o2`j߀=^j#Qe!:tjTr:}꺑gG*D6Ag# |d3 Ծ)aq[zhC`K0ҩmX@x^ۇä2܇/uso.'4cszrtUM;@-t냹*F]krG/ЯY`~/#йw{W@x"{zYI:Fy%fHIΈWp=繛WOkv@6wߜ1ʣ'ѕᰑ:!K7\#r5hT0TrN@b(d[SX}֔A "l)'dH,U]BB-K縝(6qX ̺ vc`QӨr3{y4*KhU_j\1hyё`z}8kEUGRr R.1_q& 24r%:gp/J/_Rû7 4v"_ {32cd랡qz<[F4anHMuj!jށ^ F gLyhj 2TOޣ @ 0YvnnI>cnNՔhfg+b$#<3P¶.ƚ2'I.&][K#vUpc< wi,6<1 4Ѥ [.KƺGy`v  d sy΀b]Eu0%>ι(vXGvڞEc:lrZ OCM=nvZm{.۱_,()}a]tcʻ(,u<ܹMˠeY(B^`uڪ#Kmkĥ#K{$P?;W&ds=Q]9VmsL:ۧsJ$*F9r&.9T|s?B;ZRLSmUD-? Wݰ遃#ҐCS"5r&;+8Q Juj.[xwq;YtqAҲWKoCJ8@?  C ^z2H]ywi͞: Wݟf.(iQ=2^'-?$3`,߻36Yl@ө4>{˴Jҁ̘xvÕ5Q9j{ZP۰t&ЌzG8!>&+2NB>u=:ۚ6~BC̳M=ܖREo,`a\ln:F9|DAOk9a X/Q!ɽƸAv gZ\7a d'.< "Rǰ9*Y6I߳!%+mcc7; i;DeeٓYBɟ1U8?*UֵR[VYǜI=A 2[3D=YLF=aI>5nPbo=bۇHZ@˸3p^QO4U'Uetb %ibfc8eYßD:@ʹז*,B[tiSK&xqdS-l $&c;W AӂWH nh8I.3 \fؘNL HNeCShga+A Wǯ1/ dh4S?J2tONoϟǥQ$iD]G_8/J)eQ4UyH3ˮq΍VEptvD,d{,B-V}^ ߐ*WEJc(ͯj:Pazز5#@^B#r4gf͎sj)<>/_A{a՗:t<W3Gj43&>1QzΧ&N1JDMó"Mrll$iJYu ~uh=̶k~b!?WL0c}@%F^xEq= @L!OؕכּdIzf ,# < 'E|H LIy, g v]7>B[;g{~(ES~4e  AQh35.kY N\c`e7_JmR既 p1D@?jYN<|R0B\PNvl3nxMok M?ȃNoɗ,XOkx=5 O'p \Ӣ]^3"y;)-]٥ >t5sSDi CnRE[9SQpu.]͜5ٔ9M@D+% &!u0)#Aʓ.R "D-IBΝ!:{^H  zx,ìx&* @\DzhUM?U".hm`8E,^e@! A^y>T;W3KCf|yDIi >}pzeDWϛ^h?>8 AO87ʗ39 _=a4`8*Q3 ,/SvTtËwRg>=R'`!BtWE~k@̻(/cC=h|{Vn 9B}2 衁II(7WEF@s_и^me _cF:YŸ-y1>FA;d=ח,~xX:s1O:2s9W$iAgբmjFv&"Sp;& [:bT@xDW>W~FD |u@#61fesgC qUdC͕A{Hq@"4ooC\4#6 /0*@&_9M adI6zK%b:!!!+* E, ׼) w>t>{ )FvqE [2aXJIQxW7/ZfVtK7v 䥌nK_q.Y~nu|.?ck/ڎ*ȏMɍz"<};Ύ*.~Fv6\ X!p<#!G$Rf823{Jk^Pgě$j2]QHfSL}6mu<5Mc<q<$A<@:)Ue4jzU?z F̎Ñ,DDjǂ$/vťQ;c[)79U9HZ oLGT$B6T<5"˺^E-J#V AϰN!#˞?ܽ[R-ĝ'IhK!'Mвr3Ѱ9ϳo$JFSMNېlى(x)-Uwp P(qQw뷲‡Dv-Ft#wK'zC'c_DvH4.kbQKa#s'ɡG6M!9P?mWJpP!ЃPZ:9Q7Ndle.y-Gz놻,y=)5skf%ÊWy=j_~EJ8(sW|OlQdXM=euㄬ8O,P="UnW9eSm|n\qo*98%A9W4Y0j4gq[XJ9 hPPql>GmI܃nH tRŸ6Vɕd^?!8ǔOU \ fW[(ڸCvʹ.K0EYٳJ`U8jDyKf?FΙV^n.351s2JMyGc\!EG-d| ,\B~X!/82 ד>R`KT*/U좦hVtn: ޲R]-7ٟfS4)'w%!Qy8P_tɉz0x?;:㴡 bL/w/2yƁ{n)VSP>7eb܀=`hO_Q97E:8*węNqh:(M[6=|F46v \z4]IbÐ'9㮝P?sD[ P1E:WC!C/P>ʆ+q9x6| sD=wTܦ́ nYg n(PeeuOU?< #!:M ;'hҐ^ẓ\Dvn>׺e\.9H\]\ƲǾHw>ˆ ?O ۄ\Mswj/1 : <5)E27qGg$o~/ i>rh~U!>8iW\|}_M`-0YөL# 3KK0UmSA3?LT>JA&o \դMDS_#h+K4049VAd?UŃx>a/o𕺢Vɸ!꛺M[ 9jt M|nFW2kఊtHeh[X$:c0RP)2 .{&9\mJ .R(&dՂbB\#vx4 SGyH)3s4Bϔ\Y3}הԕXh:qW+B _?qê(YޛpdEGhG3o&I@aFK(S`HXQR"xԆjGЇH.CکKݚ0Bn-i)cPo3擜[d/u;嶯~G*j#*GMBd>}CsC;Im: )29M+9QBZ"8;z6ou m8:[؍// h3+pPm\%sc`q`{ jS"zf/ و:A@}-@Vbt?X$Qi}0!Y)$U୒izCт2+Ts^ReS*t oI9D[lFqe ޟ0|Lt)Sñ)'R/}ЎめǏ;BC>⥛Jsyܪw`q =PM_i c;mԹ1Y?I P` رajqu+{P%3`PDE%yR{]ypt5G17%r'LF#YPBՐJ= xoZ߅R;0VШ]r.4 X^lbKzvj6xx^94{\=]EhW6D]fM%ޥ=8}i&ʿ2bs6BP{"H TŒwd@~Y_`.B~Rb+о;Rӝ :hZQʢmv.`F|7-t9B1f~z>Ⱦa3֞ 4SN=qf<7MI1PH\0L4iE.+smYڇ5|yOD=?'QZ&ae@,BZVw߉P: 9MHM) ԝG:ɿ%ăx%2؄-\(_':&_ߌB$-ȼqH槨 30 pavt7}\ޮ\/ƅA{OQ[_ԦJwH@U ?>JG_պ{ʃ€~ Ǚ $x<Ц{B$wυb,GnENfI4~jJ6=6,c,nt,"v#:#vG`#_r1$F;ƚc2^.P 1^a8tvi g\G@UNE oIrhb7tVeWX:DAxoFyjkG@Q=ר >oZQ*4SZo]4|ڍWN@jW6k"dyL. dk?\KG;n#8[m (MH/C,$ aۣBqL~^ J!_ F?ʀ.)T* ]Tv`(.LVmRF]WNQbŧRN4 U0NȆ.ӳ%8OLDy ܞB[Ng QYz# 竐lβ=9:M\݋岆p'K4x,2T|Ț#/*{Q dd;KeuFRxD7XwZ|^7$*^z3?#KZ\(. O;hQ?N&LbT6S F6.fas)_n*‘Wu~/=j1X>/Y\d睄B`Л-&+xhz/s < % 0MOK2W)v]x!XWO?Gڼr{&ɀ>D\>] I*"G̝gp\KFiraxѭ uUBF#Yt6 ~~"}|Hb$q6\2 mjWid;s# 'ļHٟYyx`816WO53jdyJ@tMm`OYLL w!B8yG[Ӹ,iXrh|}9 #[RߛRB>V$>ҝ}uTL%6?[C\ӛpbPcJ×?\.[W(=V!(b?cĩlk^JU]% FܩͲ<.̓] Җz-Kul a4_+5M:zU\?0i哔1Yl$~g >R|2I+I1XҋLYXYn؍}8ݷo]v mH yi嗨Dgn"SL1$=*gڎv e.5Dk--'ZW.θ'я 潁۳6$$p$/cfccԹ ^1(''^RPô"T_lijO[B-MJ–lY`ƊqVM'O;12㜮2Œ`֎CjƏAr4H(`,.Jouup W3Yp<-u/:36."g1{XbXXR8/N= eeyi]oL(ss*6@`f好 Z"J}A7ɩ`kFBLM&9a$O!4}CBRhY1OU`ϘIC?Ac2xBˢxz PKq~fxfghCAẉ 3IlXU'fJZ?ȸ*WTcGKU q'"(߭?S<:[tѣQPjʜcR!^],sP㧨HC)c(xW a7FV%%nDTCo4VSqDci)Lzl'd+r=TG3չ" TJO/DEiNx-˒3ci_ac!;'K*#oDݸi[ ٿoH b onmݡ=m' c)o1Нs 0>9MIO3T<3f.R(6ñm a|K4sv:4p_g%DmwՁo]bu.q{к>pVWPexB:kfT~ݿwmݍ r_.p3m7/'/H욼 וr0[,b|x}Tc/K/ dxMXjuK# Q!] v jࡵ= ~ު:BBE@n |pϥT> L6.Ig(F4c(RdR$˸ ]{j2qxP9p\K!<* d V,{]h\ N tq=Ehr N$ZҚ Vͩ]qЮJtn,> {*\CH= dSj K/ժ(t]" /SLeR+ٮ/Cj%wCxay[{5˲LK΀^-lF(H$X!Ǒmb G=TfGF+Tr4a AWkjsіM j1}DxRv9W,_I8.ma15*Snw󢎂!6TJ!.""H/8 1抣#g]ŸGmp! S8 gm:GC6lCҴo^pW(@r9v:ePV°^d=1~ɚE³_|s<ƅ}d]r5N/h: WPWu|9&(9g1 \ ۇH\af#NA/>UA^z:,[/>i_C)ЩKTܢ!\Zjjᵺ_S]R ҭs8"%(iuok(v`:"Z&c2! "I!3qd/˃=̯|-IWo\HtROcG 'bf1  VIrPiS(Cɤ/ h,F7_q,M^(m^i$T~>~;'y1Zܪ gDGxM0Wfea(}#at[tt9Q+< ?5VbP՟ ۭ"ֳAlBu$ + hԕWc|G«eWN}lA7lD6 Ԛ%PyloG!nԌGD* ,~NT:BBZ&]V=0@I!tN[דße/ڢE֯o@g%W HJeO-͔EYd8l\Y~;?bW 7łL&ͼ(B^}z' )^l\<w-?ZPQV \ BVCWBR۸cx\ca!ěCMXB6Ld/4t$"6޻ 96H<2@kDjk{",[^(pfn—DN5u[@=d]]ܥY*JlÌJYG }l|HW^[MaJ3tj.Jc%|>6^ ]UTU@  97AI\fmU[xpE"u}dIŷs G;G3 @T?nZO{:&Q觫P6)(-Zw,w\L'N Er\KnT@sW~8'I8[k$t\%|#9U#}7QCBu00K;NsW]7Ƕpl3 ݐ\2{(}2{ݐճ}i$D) =bi_SdJVt4 AdeZjl7Pʇ74JM* }UA!Oy*?[n+t8*5׎D]?Z\o`w%K%e%k~'{mM}gjա!B4~\fU 53xt$Z7[d3dNR%6Xk9Aȥ֞d{d7pY*}9LSQo| >6$eI -9M-l@P|+@=\~K9B1O=5jdXRQցM϶@=(<Z.j4"NTшDZΠbߢQahiKm-p/e52ݡzX-܈-C2μxϺ︢/4GBo{~Cz,s,GP@ofBq̂Qҧ".?Lf3s`BH /Y SXڗ ŝ眽gkckyQ{_*S YUҧzEiɕS\[#Zlb2nF,6H7%B9LR͌h zMى@AShKDogZImmt&,Sa9$Cͻho(L|ftP_&r~bbNiMD<"5S( nv$,C|ei2asŭcRETײ|w>_Md0nH}T#*vx]~|_2#]bH6*/XG\"NyMXr,>Pﲃ2}*"i<_ S#Fv;]x'Y⡕ᶿ5z}m5>gaR/A"rv34EBDsȃùdNȵquPU+vVL9WmbfkUP:ʔ B֤VzD8w^2N*!z͕ ý70AYɷlo!G}L@_])DۑZ0a2 m5brw t.5[h,Are($M"^!nK)#b1I0 [g!aR7<Hpr-#qCO|V$'hg<;oLnˌ$eڻS5L߫DE ,ZBS[5*άiH,ܳ*[k1͚fIo|#MxKӢ҉(|_ 3p*:UdQU^IRǺxWs&K=0p'['c  pU%y7nIrtAմE:XOw1jAZ0|dIG_-m5a7sA |Kޤ ?0{R j]´R3nvhݍuK|=~ͫ e`vȜʐvpϺ9B 2 eUvf%XTXɂJu,B*{nL =Ȼ睶-,C 0e$ڭa@mw;j/`_Lλ?#I9c鍬 pq EuF! Š^)z앰-T"IeIE 3_|SL4WmQLOs-H-=oy2;y HmGƟo_l@pR6w,wlhiz%|Ux:n!hE)wŬq/A,E 9ߢ f&~ޚ.X\75ϒE`6^pw|lz"߮h`q{f/p58S~mcpCm8@RӢ43?5Qt RU$ 9a /U_/@gheğ}Fя]upY ,B壣 x\|DpZa~#11Z脉@;ȳh[Ɵ[o7/h[t|>Zv,NTt6վ$#jw9_r=c0yC 4sEn_Y"FlbLZWiPh ɒW^Dؕ+4Q$DT."xVAlGudLB/A|araEM2*n4I5.U$6,ת o6N~k+碩6Y𝓑$TqY[<d$gOog+la:l{  Fr?!#`"JmO_Gih3u-NpiA y~܊KPaHFQn/Y&oz0gW\'FT nȍƴO*$)Ȗ~z+Qګa/VS`-Gg؏L$1#/dq~Q/yr8]N8Oag0iVa`=&͈uXW/lI} Bih=Ss%IweݝK]17M#dRzCԜuaCo]xK*!LX FXyޮcȤSXnwǤ-QVB|6RލP/9&MUZ 6\GdZ;d>IԎW2NSqMJ A~/yERG<=TE4xac&oL<^mh=W%z3:֘;7-LjJb RD,瑱e$+|* Q0e )xKX0e30,^[%64lB4ճ TwGGa}]uwA2 6gӬ` _ꏅi(U)KYRvKW|B005;7|b7]WJ KLŸ&}l6dS$[cQi·LҗDC zr:g8cq@*>ԊhH)$nl3!|?㯄hT; (Aq4hrllGwzb4%a0/ #Պ~D'j =šU 0/4 cȃVhk GiNdH%4̊;:&HֺY2:~,-r5 KYO8N vҞ v?oҮcLq_ D/Ef(ÑkI #ƑUzAVAYFyq3Y:ADfcwBr;#I|"am?g.*K_ҋy1wHsڂqECfɴIv2-o)2ؗW%LTOONK/PU}\y>Wyb-6b[J[GjZ"! i_'׫1-桛|_: fv9VzKRI>Hc5MV ^όd gV=]MQ.1={o"$-eY%(sYe/\ԡd;TW_#)"Cd7 s sP\l+|sc6*^7B-_7BK>\,uJ6Rֹ̥E35dت~pva_!M@!Yb,!tO@t Vxmwڣf|_ Η·Wئjg<涣ų*ǃ7,צ*TUB#X؝=M=zF+ d$I/ Ll|OŮG{/o”ļJp  Uh.@lo}O+BsS%ʵago,RE@{<{cYX"6ϥߡ=TkJ K+>ެVzΘk#aťFQ\bsиᘴ%"A .|v3)-#U^YAWy ApHǖmc`-8v7mI oyǝ",:@+oaLɧ6a @@ַ]) vdu[wqU?7S2}5 "? 8qǖJ{Eօ>uӖ7dQFh 3 O 2柉j,x]);p<㙇";g3>WqTÌ_#f?U#-)Y=r.|Kɋ"!Y4)PRnN'3ĠW[ kh΃v>ApźѦ;7IwGА%3}r!ě $)N]xBdHc KR[%A1|r~Ǧ}zS od$\" (Ve YGZcZ uq"KFE1U ~$nZrȮZ<˗9kGNx"R*jWJK@cvQ?/SJ R! mT|a'!CHrd:R =5'72dؐZ1}xgOхcj7ܖyIa>[i쏨iY J`/zgmr22xEX@l<%$¶мlax>: ZGs4 C9e]nM;Hι<_Y<[?oDyRO+b,ݫpyܯn[,%&*xi3z䎙{xQ_o8<ˑ6,l~٧_Lx>"% ʧ>2-T rR)  qHfVwU%ALi3a8QF.VV?R{bWph}nq3 ]•Y.'JJSrdRT`4Nߤ&SQ\6,Zלf]ӍU'VؤWȰt.y%^󀀞4VP^q}va Ի-y-!aD'Ɵmg JoYKvp3HoGٿ`ۙ1X$8<; {~ÏKw;QgiE4cG$!wjEuPogu^y'zq)i.|BVXf S+uȆ;L8C!Ғitkhfr"ܞԉKD īHF0ʭipE;S1'2<+&E-Ajƻ%CSDmaW3FEω\<Y8~].s6B+ZeW屚m36]|mrjԜ/WsKY6Z:xz\f^T:tDU(tNN\DƑҋEf"sJS;(?TP>6 C4YkܷoSxG+qX7 1GB U0 sᖁh %âȉp0fUy;ת}Ң ^䩑*#mv9W5uE[B&Ժ-k| n"DHFyh7])q#R(8hFWZlċKR\4J]TNm2Y55HE)q_w]nKvjk؋`"$hwJn۩7zEkus^i޳[ŠKkeaFޅ xC\0mO0zxhlXjuNh=˃Vw$z lxzqsj LA y?AqY̛vm A&8(E?Mn:!yYٛc"CG!dkpZ7CL"tWDD|jJ$'oŽϘ>ڳuKjA^A17X *;s]!sS=Nn|JU'Ǣ8pMDbG7AE9B=r'2ș? xH Xb(h>Z$KJȱSPZ AW+YMrTe5a=~.#yJ]jJ,:BZ?>͛lp(]dXYwiM"J=nnAiRc-]"reets,?6ꪯ!&ݲ0^uS>M&;fE2j ul5]Co"i@h$ MCY/we'01tXۋ֢FllBǩ賭3EO:тq-/{Z9gV•(Yxf[4Bbfdcxz~fO0;&Vic ?tX%EaAN&+ Ķ^eczR~_%peⅮ/FtK֫κQkm"yr,p~%ȸԐ|2\$@دGhte/ufR}<WKVPXufb@?a$`o,aגZr_P0(8i[M S$K|z$ƽn<=EV!Y/뱡+Y1O6XH.#y =R_c*P#B5w Oħ\&*ydo5|^zMo $иCC4u x)6Jܜ^B~kכXZ'@ƍ/ܯli=LpQwpԜBqNj9aT-C)]p='||Lc֗QyÄD\8[CV.kgY@TrGHSB,ʮd`0^=.sMl;w3qTҵ")JyUtT6*|{Fuk?#{ʉ%]{ʿM`έM1 (_&q0^T*շj h&S ԛQ!?lDZy5P'}wО~%?hyl)$X) !&jȪж,}*jշYNڕ#[FKU]=oEW+xXpz#NE^֔bۢ޾D~ ۸85h<;tbRIʰЗ{tRTSI˜_Γ}5 Ud.>Ws?fPԮ 8?)WG%ѵVP]ۄa Vf Ual>(gQ4 eҸ_*us?mGbXWvNGm?0`JQ{Lq=n3(BbF.E ^`aRf{u:\ g8 'Ǩ|_PlDddXj>Z{8ê0ϟ[JZ "OUև\#'};\Av\2>GVLoS]zJy '&iพrX{_-z L" ƥY! ҥp^͎Th\PDl.1ARvD"A&KG{UE9(9oAT,mi^ y,WW pz ͈!qޮ˾K~Z iQ{6ٵD&eKFV:f%1".?=D()E\t:Y8y=ku,nfD{@ Iun9 Şu4@U# ek~n*lU< ɣwf.r0a۫XIuwA'-G(D/t)-w]kQlAT~FY^:t.P6Eg%Aлe\>y[I.Z }-{J 'K a2ilCVZ6M\8Tg%b!;yc,ڽKp; ލBГD)0?V(ޖ)Q%D!Q'Z^`B/TV(X&9|Cdm@2"q !|uC#EQԸX y_FAt)vq)sZ{߼9*U+ϥoN4[rjGA-Kek,HZW5tBUxe@}N~) HSA\PnKNkG/ =s :ǮA~NhW ArtZ Wݖhh,3 -J̩~x[^jKZm 71:)W6 춥SUL1Du_݊oi-'1yN ulBهzթQz`_KE+aWn|w/>qSa:NA1h0^K!Vrj{)ډڞ,;Zq} x!";a3اedHps$a8>Ԣyy6 00k^17*Lc)l0MV'S`$~Ҫ3:&RUi`7'gSe~uC`ΨHLM&OT_ ܸ?Hb+$j@T}QXGZg)aBi["88;E]n.Z9`,%p+l1]Vǿz3&cj[HYR{/ў\U߳E~ f{ kho` N補tU6lnIMbZ -YWרY@yx+g*jlǂ~#~le|e髍C؊( 1Pm/^*Gh ?Ni˄j^1oV&zc ?ܱ0qJš2]cBR! kƖzXfwfoaD]v~O:R"׼tBJS)Dz$fZ;V;˼iTp0>ꦖ2LgO a6ׯ4ź \6[@Z&5;q6U*D"a,@0؂K} {ݸ2C*mz ÄP42'Li n%SGhnz-nj$kIzDZcv{MY4mrNy925Y,qk;^$6t^@ !^AU K9<05WځE<,jeL3M$W"{PpQjt\F^ŽFwjҹ M YbšC~Eێ56]q"|^,Vg&HL:\l B tĥ90[r>z`z! gTD}R e\m?T4(xE$b;TD H$>5>]ZN#Dҹ}M+eP13QZ*,g· *_sAxS<#"&W+jŢlMT#=@qIjP^L< >''ܜբP~a~n^0{S}^8rqEZr+Ǯc MkrN)3?{Og }  o#87PaY^:< V1Oʛm:4W P|[('wf4umr:Dp^ƹ|bn):΀!dT77aBKIEQœ 8V͍hs,^~s9^tegr-) fR!v3-ChǷk(ٹ&u<ώ.W >c^WV*b^8ƽ';ahˁ`r)VKZۂ6`[gaoJm-x<^}2*O 58 og╠{cS'C\H*EAٝG(D)ՠn6/M '}=Җ61H#҂`FElSPzK^N3f+o\r2p{yiJ|UFVЃ՜ 5}7@ `jZO(2"1G q7D>Zf.[(sȁMes8FźӖuQ7Xφԟ!I(NrB3% _FxHQLj(QEU>-M)窹6EЧBO,#"X%Y_l: t`m+JJ nʅM:z:IFU$3sw%b6K6pZ ޴q[' R?sʫi5v_-Uӭ[K07ilK;ӏt oYѡ$Ԣy0oy~\:,dW !ٔ[c$급[4(zNǮoV)6,X_{X`\]7fe'QKQ V%eRt8LzKwQy)&bljl>݄#y:_.k-sœY'JT_QctBPD̵g!"fՐ PT<!NVa:(aY5m;z.~<[r,UBz'!t_\&aN<+6`siTxx0yoQa)!^=֓lsZ4 JBףx,2)f|+#r'SP-2T5CM mT8GP -Gک3 zKXvlN;7m\mltաr EO}K9{5\tԴ|嬔/F9:N)FV%y݆O>ClR?v)o1ٔf#RF!fAEwbd?R6meb_Xb$mn˼e8&efJg BxUm4,-N%Oܢ7 0xz> ʺ.J^H6ۮvD+_+ ⣎> f!cKb?xUV(iqeA<2kCIh6ɠ&_3$M2{Md9Ap{0#F@E3*YO-]pmOVE?{oDEbڔb(G]'{RkӶqLr՘tj6atQtV$ ?(eL0!D̫!Q9Me(Y#8 VRS0(Kۛ9XImgJzW"$iP(Q? 5H lě= 0;.@Oqm~;OF T8r;P4^ܥh_* a:~ei$hkZͶGb ,-:`:~-] jEcX9 8u)4(^`P.'8>.V[W[^;'VAzp۲z + 0nGK%4-;v/׳AmS ]T37b?06Y.ҧ٩1v#6{,YR><y-? +O5 _bXG1k<`,<,%oU7T˒#G;%rc 8MfN/R6ܻɥ]0 i<*Ѿ_VSod8a~yQuḘ+cm Qz622[%zATer^|=)" kS阇-|^/OOfNez" G_c!Q.~M3q e}xji/~Y^DtmJRj´~Qaoc9T+LgS ~ 5uPDձ_ m@Ϯ2iG V<\j*v&`l䰫n1jd9HsR=mLg)=sk0wDюs˼bf tX㦯9;u$uP?qTLI0ˍ6.aq|WBEC} AԔ)7ku>f%4']7&O "=F¹zhM8% 'b{mjvO/~ڦ%:lKzw0O͋aǗG\mWp;t |qOrJT AnݶS?/}dr8?뼈zJQek#Mg^zhy{ifQ}X+伎{Z7E,|0PYn53QOhou R4~78O8Y%~ G=y̿YΖ̉ 2=L`^5, 76,yA- uO|oz Frcj(KVT0gSxRGfAOd#jB>uQLM;4-㾝i `aVHdʕ#t9= n% |vh* XCNZ33k4.aly)HR ˸kOB2Tc@GȾGJXXHb(D z+d)0N(Szf],o1PߗLjڠ(e,?ޱjx϶'XbVХJF2}>UÄO@j 2^qmYؼ~]w*6d5kHm戇#0W| 3fT1jɅ =00]5D #O]$eHE`m뗃|nEȜdP/3UQ w%a ;k s\,_>-@pZ[HP堙9{)vE[ ;Z 'z2@ ~_7.ml8g-u+}$gλ,Թu/}?P;1Q`UA" 8 fV_(+H4hbֈGFV}!_ <AFw3쒗-%K\#0q'4܅nqϱOD\c󛟕a}l(CKVJşMxR?hۭUI'ͫ+lzrNCd~d*6Ӵ&VrM;7lO!Geׇ* B@3;uPڪͳ˶(H.:Ep0YӸ ag!êy\SxX-tUZ|5[ݕg5nn(tI] O,i5^߃{SĂ=keLI'$̨sփ2G9'y飻aN+j7 Uγ&T֐@q.D]a$a(`-,7ٖM}}j{X 0@0 ]qœz GGowZY Ssd,+_IAQI0e,k}EJF8=hӒŅ4T nn0*ׅI?^E--8w PB@Lߟ;NbGT7lQRv@4)={ܗ',>(-!X*A7+KLyRٞp}5'o,Px–fJ"9rg*T; j`KԎ:QB}ݞE'D1;Kfl0JdVH-$ !¼ M!jW6-ZG8FkE#qҟQi*ִ iWqZN:q:jUCXm7eb@Y Rotji `]Q&SaP"\7Wud. `%7X?>z7?*A_!vȞ8hqQNV=NˠwR}(:,,IwrdPg>0͒.XB6#;қkiBJPE?c$],ٖ@O[bX&r#3{V.;]TG9>d gKp# E;sxcM ׇ7e&Ӭ_#ɿ0pUM 3vorWbd L3Hw8utE!>06LHA$':?wċԡ;t܅ 6m8F?' =迏V=mQP?zro},ڜf@V? =Zo8thI,#S)wlP,n?w 3Es%uP^r(l#])k!8fxj(G d ׳[\ŏzPxs#J5JTqt`܉iv77rFYt+s3D;Oh_yVullbL Lܦ`X?F}ܵ3._:\7bS$)Qv:v.P%-w_<(mA4 6IyOX,׋@"vrۓ͓Ucg':٣r&#- ٲOͩ.R =|[ei=ot?!t̨!o,9Э(qU2"ZfmHJ( PfkcLqeVChPO|1.HfEޱۦ3 {LX =Owu̇dK > gd#ᒍ0 Rke߀p]>eQz_Β^X~ͤ)=b2OhvNgm0w P[ B-B8g㚒C,Dó7QUP 4pƺk& Tgw&`ɬ,Y)c S^9d%qR+8CO |>̏6t^܌ee\s5ozo,Z|}, qdZɨ^}vZ&< EN2ԋw6D%-YSĖp]BݐCԵ|;ݻpzKgG Xu^69tW;ğ{3{ÝMjrzd26-@/<L^OL 4!R#:2 0KL=kZŨJj\k*j=Qq](NVfo)gp? GwtMWH%,s ? 7LB?6!qp1m]<02V͆V"!_h6K2l';ICdW7康>c&hŏ%5PP̍Vэ z|)#:@B@v0AW+_A\D>z-OĢ:xlM6~h#61BIT@T:˜ַ*z)~'/>a$mKZY Ê)/ U(*{ʅ{;@>%H NxG qTLs%?Bx&LN%>ʼn,U5߈KFZñ\ n4+~Rg>r#:M a6Jw*?o[qJ|x`%=[Duau'DJ[ST10X`7X T31X]\RlytMK%<]YKr$$GܱOV_MQ0Ǭ[Vq9 +jG4k~ά@0<г}l~ )?Ttc n Mqat{#ݤ|:εNAL04$A?ʌ͝7ܮ)Lܮ jBKd%J'\*p4U|l;dل ʋ&PJ5.;%.[SaɹYde1d.|b˶)n`&b6=g^zOG;\V<ޘYb9+>8>E.ђP@4SIU:WQ,[YILw#5d:3/ -IU}Or.^zJVA/`,R^8Ebo/Q6,G|̾S}| 3?ZzPL?u}/yϣ~6֪?t;kc cVis 'BEJAypCBıO)+5 Z s%X@ ~#p5W;5Tz)"ʅnh$+I^ͯw-I ̼\JǵY;q@b0UPaT9i˱`pfĂ55P#ut6wiA}<Q{dB#4P}_bK6YIN4nz(>2Qazƽ';fFJ]f$R]ctSn0?P{ZFPȝ?J;# ͏.{-.tw~h jɰ,]񪕢>dh_QAwU#&8Ve㒝Ǟ,Pq (d;XiaҮ)AD3:sΒW2J&Jo(ȍa^Vøǚ[gf!m ?!@7I8n`N#s +WadsRqNg`OA;0rI}\K~^~n[E *h@!e11ˇ̈́n)vXU[]io S f|T<"y-^ >"7ly`̘ {V_2/nUKy8'{3 !B[cN0Us -c'Sާ(zZ̗C1__ݿ_F{ڨA(J #Lʑ>f6xruqc`nuJT܋TA64U!7Y:CHijKf#\*CDFFov?K;;:(p|vml;`nzҚMPLag-%H.]Pߝh_g;-v4\ c9Ly n"]|#̐5ufX8ܢ$  aUJX恶,`8.| #QFc\Y '/q*ǛƋVuzcR@@`r1YtvY-_m\)eZR+r8*ޞӠ$Χ+BEȣ4Ij$Af/ofɷ+B>quп&BD19tQP [׿dE=)C@ogwъ[s͘М8A4w4*(IB]d'Q&ꊘ-EG20.86H]`%76[20Zl)3y@wm17w/c{#82]حX0\'^8~G? lКrɬTJ{C&^P$s4ԖLVo)"v/"-r'sƺ1E,;L !/wz-GwR\_l-h*ܦ`\*I`e$pB}P*s~L|#ug1 ANw65ҹlwyoXuyޑTUx?f9!3)IK hfͭkLB'VA: s_/">P;3vS0u*fq<$ߎ[,Cʄq\& &LV*.XJc>rsC<,Dӓ7]fP5fvz&tp!I)RB>FIfF@MA8dhwYݚLJ-W`"${TOteMѽ p/KkEkH8kԷ}rG.T=hpF0rZTߓE >Xзȍ8k hv`,:ULBz;c2I3@[wFP#|Di ( 9* VȘU+2)zcK$Y<:|n3Uρg|߰s{-ގ|s`o0psJ5O=Xh'vċ ^fT_ Ǚ(8C>$'|ޮIvY^eY89IhWQ>gĽZn(TD4Ǎa7wI8*Ը(X4}eԱ%-̵ .̈[.(xXÒ<TG]˭3qWs}]m5eдƪ Zq'ك\CGg-no 5*f ++J,.5)r:FKRqLk8 s.<%cLW]Ծ Q7g@o63 fMVx0%pld@b-<OHgMU rĨmO^-KuSqxgKј=iΫuNC5]|F%ΑE<*X4Հ]lAoFIF1me!k@J\@T%)Ssʺe\Z ɠԙ:KE)lJ'Q3ɏw@5:w훚[[Ctʏ13b9lc!Quξbͨ(>d_;xWbO*OairqFQ0"E&pqk|x.a#DI\ԘWIOt8 n'#ip ž d:N:AƃN9v!T2li.$>_y[ymt'ZpK.E$79̅D$s>@6xt##Ӊ%\y j#ߞ*N4sl2[݅g2>o(&~"ln`>۫^9N958$_+A|̍&Pv(DV9+Mة/tԟ,2fm̚OD/TXKY$wxrniG k;=FWg<*ןc #lA3mI<:1l[҃w B jDmxν0z`(#gk$zluZBc=>Sϯhջ4*U^T1fa6v!D#5ϔ.cvA9jλUE]-$z:@b0Cf#4 »5->ǧ^9Cpb >7f(3Ưfm2ҩ]En(Yۓ?Zo'q,gߓa!3- PPS,*$YP8]οs{:iu:ԚcM4pK_&@й0ܓgReLrK@ ݤDummD#sCb4|&Ɏx _= yU] mg5 @z+.\ kPxw4P`-IO oh REXz?~8Ҫ"7<",#ן7=I}'PFr1ԑ_/'3g$$mGaƖ5|x4BlrQ樂La;2CȥTkxϲ][_Xڪ/yfg6!ROsG,QFזZ cGDe':˖- R@~Ё-g.p²;N.-;rymr3C40ӝ=Mpp[e=[;rCD+ D;;zN"'%mtd1b\68S.ߖ.8gQa<ˮɍ9 61* mBGH=m1 U+QbkԔHs!Y,qGQ_֮Q^PNF9XS뜸T}9qmK|.M+]RO^ulm 湀pl qEAJL .G[?\< ϩ]T d!rZ ZypDVEU 7Gv\Gw i`5N,LVAܺ#D5< TB ؛х SJLp8=j(9FRA^qXpDĽc32(gQr8j«x^ mm6!pn%'/zB$W ae+-['Tg"O[WAUM+99"A]agiRr$++BF\k!gN &:z"*W<76` 3I y׻?e ؽS ??)}8h:SpS)䛦CB`8ެ 3„It-5߷LwYR߸#ND(aJf[oD⳻3DRmmrt>8>%$|8:Γg/fA'FAW 15.=M8_qT:]8>gƐz/*뜯1 lR孩_4b JR%~.  /j]8vD^zP#tn^< о/NPwIV6󃺶\ψ&\=7h&gaGFDdKNBztG^"kaYRz O` J" IDjycR1*lo䭢q k<(A4Af^"trT CiFU4y08)ZVz,{.023(Jp;`yԿ{h1^Qﺩ鐢Zx5wT' xУӻiZfW ^Cʱ맞GtUIR)#9\2J-c# nI3 k=s($TdH1 dBOX>S!Gߔ8 l&]'k8|ЯQπ rƩ :j!iu1\ Gģ>nm`r..|Th9 }ّDhYYFG E@GW%YQg{Tנ^c.sk< `G x[*996#~΁Vo}2} w3c{LIػ2QaIJ$^ l@ŏj@KdV2w* `'SYN JkH7Dm|lO\)?uZ!7w$^/uDƖĭ!?U9݋k&>+XO ~M5=9,փt#{j-E4zNEzl= HKT6fP]m ~(Or?[a%=i~\ТJ+ MfMɥKZͭE+}lD&I֋SihTh_a ŲYi,pP7*ǭYg%NKtCQO5QIlBrҪ}?$ bE 7F_L:WʝTuQyo~Gס}RX7=_PHjWcՠC)L DS/Q luU ~gSӿrWD) c=ŢIF(ZR`<,>8 saauԲ)=Z+wwNՋ.cqe Bsa:9kr |@\ << #iVC8cl Dh:'اS9oTUc0Mo;3 aR/_K=O"'ɵ'mo%?eH :63έ1vd/}4ɗn(KH;<1t-{y-VA^v«Al5ciEO34)Δz˺Z$I'.)(BҪi!rf< sNJ^1g!S,?󎤮^a9u:H&l+tɑ/?Yr.ա@GR&4y+t?Ҫw&\uD 5cb??Gۑ%SλrdW_}4e W CĒC/a-,V8>Ґq`,3ew.XO9W#{/k>$tj[ado( >P I^?ӣiH˯|BΊrkt6q==(~%2z D_(x0x=?SeTPOkI5HgRTaP ?N0ýqJ>}_E2I,ƛMJ5P6_ަBDJ!&lnbp20 ~Qv1ΰ HK|V לK:aeU 97 ;:#_%bMTz^a*9&B;4,0n=r yeBOn"Xg~~kciv4TcYƑԐ*9jЫouX*:RG嚀q e H+lR?8/+k=zڎ02G$9<\FzYʟJׯr%q|4h2+n gj ;,S0:lh o|XQ s1S|A*7oȇ2]xe_ubOrG:I]G  Hsl3D{ՠ"ؖw<+ޕ4$GM*<9ɰq\Ӝb*=8Q@iN1b)[ʓgr VRl4SV(_q<"k7 BiP'a˄yL czN ϱa~b+>+vd ;2-:uk|:Х5iAUn5xTRq%Z4!30B '`-a=UҪ >Azl?ye=aqB?>JJ B'߹/j{ԑ?0g@7Q8fam~] \\׈ïybnUS_e7C%yYRYgצms*@pp ;S$ÓuJO3I3lmiU#|z1^>\!dO|sr);vAo9C dUMU:F"k=IɖMq^%Aa) fdH7qϳAWg-`'"~Edqv߬gYF?!B}üU\aةOG+8hRc&;3"4,[ B[wQ2rE(}\L@h^ZJh*~`Ha08'h/;dP磼ִ.`Լ/zlSj49_GM,sWjhR7_nX?^_6MItz; E: <)2G;>3&zE'l>PJOr͂GsB4i|I3 q~: s@jasoXk 0?nY$f9 և퍏l暝 _K3bةO߂4ݯ7VZu]px@;|:ZyR ep|lWBᓼV՟/WkƀÑ\Ieg,qmq+Wg9˚m,~C\}pߥy =N91U "(ď=n?ڦ6k6+/ _?2je.gD#Tt4c8_u0 V/0omM0{>tc]7w>pK@㼩Ci3ibfIJBcF#qWp~w'_ 0yVxBȟ/I<)cܡGdwB6[,F$&1]Uȥi&`4-CJmJgi ̋asCa j>`ϓa+pC?DYNbiB,y?yزڹ1Dܖ:Z`Zj&)2BO{I6 qk׽k=i^ W7[(-ں~.j)`Ο=Jj ;aUQo<X C{ƎɁ6e]^$tw_q Ԯ_h@t^n%XCFzFFW]\!W%[5Q\IEcPVfy`yo6 (Sl8]`Nj\(n%QVſ 5!&6pˡ[yZK.h/<(r $LLbB҉h|Q\rE|Ma!cซ(aYD*A@8n¹]*9 2XJ MUސ7~>NJ w=UWrF?h:qD pJMGG0Ub% /JJi Ҁ5YdTh C_ezl҆cg2gb@ƫ1| n! elEe$/s\9cRAj!xBZ#|8@8 >Qۘ!-ؚa{'u2x+|y-ɑBw(ސISmD_mQY8s!mgch/ 9'H$0paTF>ՏI}S Y:F"T-e8,b2)*e1+VCp$%c}.<K5H$o5,9%&;,cI>&D) A(`Cq[?z15Qx//[GP)-8ytݧ<0^ @Hyk-og.-EӔL ydBrkBoAS32:bńy;Y$ O116լj5G}Cq~Og{+IΠ[hd}U-hcB Mln:\<.6FaG+Xxa_) UZG0W#7+qX 1 2E-͹+tF#`P2KuO^+#\ 5DPa@%.yQi*jFfM/("Xp;rRVpUH%]cnw]OcOduJ(- }aF*t`w4!\59=j~E[ k I㫽8G!"9 HKo-#RGޭJx0cDCBJ_ Ezd5l,\QDMIԺN(|k12{1BaU`˝6/gFfKK%Kd YFꤚ)_j{=i)NnG8*-żeLZcw3 4J(Sˈ_'?i$A%PW@ ADNno%S"zVJrB,؝$=˴p fo1۵a IП cJb_'>7"G^^л$1o]qc6q^W.=!^[ 6>gC'giz;):(r'P:~vOMpD U v._ 4oDQgPPDҒ"14 du<:)r) ~~mnZ*QqU*lgGNrC߻cdPߥ_wpl_c[] W%EXet7+x>R;2, N2qV]{HBO`%^c2ddFf\a)}nEQ\?]UmS ^ I] :'LL+K(g㆔^HJ%9ѝ%P7.ˆ"y1nXΗP8aP{`)bozLvT|֏Yln#*Ø(D/l皬;=CRjjýE 1PƵ)9D?eJS`h[Ϣ|aȊZdp2ƿ!F=MoEK<+2 Ǫ_| '/[v[&=V@WI`.=y.R`"=T# H3<}Z3tu QGH13ɻA-uʌh1ZnDi)/WF.>X.i^0%e췲ɓ7gLk.b Yπ%񊈬z073oȅl 9XvfTgK*d 17ߧ*I }I-s@.Puf$|~#&W1Xf}Em;NX`^o-D7E1Se\ m'hx[)tn_8u{e\M4@Λ: 9O&)4Prhb1z9]%(ZO][e$nj{JەcL H , ?3>NDE RD1)g:Gƛt=quk07Jf4DYN֧>Ӆ=DG@e1 mLn"o)$ N<+BV¼4o,WFj-G/oM5 xܟ˙ݶ!=6j1aΌr4t|l ]pn(|5]k?vLlHa_fm[TB0sXUkJRd: 4SQ 81=ٰ VݡLZ6fezrc<_~Ry:v0W<57;Q{y^!٥dc"IL&k}xkC0dBR ъ, 6ʊ 8K@h+9$:gGژsR{-\oy7\ywM0&& o_͖]/xMIӱy 'y*R>͚C7k!=:ΨV޿S^7әTݵ0bپiY`Fz;Z !t1J;0SL<$ sZ2 r;?6n\dmĀRa,^ s:"d2oE'dl=HymBs;ʊ魂o] GDNڑAgy0KW7ﮣ/3@BwC"9aH`Cl[dn]UҲ+3Ea8*W\r_m&! ME씤=2FEI#9.bѴrn|0|RT3jfrrƩ{Ƈb؋ouJ+WM)*w/ W9@';6&ׄTN}qmYq+]t@ |:)o,ڬ Ñ5`H\% e*:#.[#~6PV']Yuc05Io[q҈|*dʽQNۡ*O=M=`tx?)P69:}.WX K`K|fvDJZ=*!N=g;!9qbXS[VU@ݎ; hٗB<}^e!-(mAӵʧU&t:w S r['*@FTR7?hpCttfw*oNh A>.]GPɵ,r1mSuBYiN`<72QU0/2&JGУU ]ܨvȐB#)z_@T9օ YQ`@.N#& 8FAln!X]dzG,Nc؂e'4yF="o}$2BvLUz븵Ѷ9%ǎ5#^?w4ɲne3#; Kj>:-!+v3d\04B,""0ݜDi7g >N1BUC.P*j̎ΖrZ Q$*&*jމPPU8P]c93s%h QU)L*NO]~+iUgzR\}' q$̦RqawT2S<#\x/ZGs%4a dFo4,IuWMK8|e!1eEt,7j9RubMáEխ]h{lx߾3ꘪя{ڤ 񾭇J<:h";ғV@da$vuoY"q5sjdsX ]928.ΌzRg}ﹺBbX\W+bXmSyI;%+;){@JspSO4_]l/$ixb[BzxZ1= jIU0 YܖAweL(MR!K0h tNҢnIq5.!;tnZ9, T|P0κ1LkŹ}ĸ[Ť.e낰Kv-ڥt}!mj7](çAɉ=&<sc_E 7{ќmY^Ҹty"̪> `NB鑍%.^"cq5 ] d47Dڦkl⸾h7πrGVAaѱb ڟ2=^cO4C;('%WTYM/9  /+U| ZPBwf>qF߻ B4?Ȓ i8? W/;tn,Kr;f&D'Fl ySmliLiNG?CYX U7),jaHڜo>`?(i O>k.*_&c om,zC)b'MK czxJM"Ti; HFyE<* ^.aPQ?!5ӡhػ56Qvx{:v_QKHzG;L%,jtQAMw7 ˆkC><Qd5ɭ\?V1䙌eگMg/޹9;|@\Y8 Pygo`&'0UW؝rw_lx#`U˨/c?UrԶjJ&;4$mN\28fMoZh*KW,"iPWD'n(0)Ey=F^k?s& Ђ}[W/n.5qC:}YŴ 怬@j<܈3)DdpjPGI}m !Le3j.d"CR)`j]g.jלk.llІ^i] a66Y ,!]S창BBbT}ҮE Wס~?G@rΕN̸V>su)(Z9Ʊ1s#G`x@,6oIc]5"hjn MIO@F"2 oX?^rpꨞg鮼a{_(xTy4Z""0ؑkE W46׮T'GzlNbz^n);,q̧s 77]m`%c X2<L391.Ep`iXޫg?Ew:jZ[֨C 5^%X3Fm#[3Q.~h5]IKE恛iZ}7=-QػϘv ɡ3>Aa&+37[;x[)D䪤rz6:t? 41~q^HJ؞#վyQE+O(9bt `ݛy/w9 -̎wQ?X 䈈LOPp>[*K#~CLZ=|c#H;xS) i#u~֯!l!u#3$|8u,PC EP-cXmG=kdT/ft<:dR{@?h7T6<# xѲ3/̥AǬ{ 5hrdy6Ƽ ď yg<>&iW ڗѝI4CP\Kre|\du!n?׆}SVFXh;l^aL60wF)&>aL-(kF%\*s_h"̀ n BIdj拫I,dkw)TFhc $*2In'ٕ1$-G9YE6țS/ 㿭jcb}J~JH6HTI0.c-y~D)8 {Z|N?(B-&cAUB.z5Q(;fz f8veMM9N㚸*y5eeI2R0_*\!D H {͇Nsm,>_=ށG‚mT ;`L}S(C󰜼fbp`lHzt[ VO/Ǟ̍6PԱ*#qN b=JtY'WI|FMDﳟ8# 6Ӟke)$+Zr5?Y:grG&zbR.}̀t Ew//GS azf ͈6 pQ>Li#jb``8A{w*cs[A=FO6#{f_3@XQBKSYUlќEj|^rE+gx^wʗG4!ۡ0,KNf5Uw 4nϒ>З)W)*%&KWY;36b+l1XfQ{#s?t)Yq#\,d`U]lBGNȕ"D1ŷ`/)r"_&6|we@ ;&eI"LE:!SK BY Ol#s5/RbHN_8C̲ۈPR׃>d|gj @st~Φ7ȓf_'Bi/q;O$ld,Q3FAG@dPncm~p{?=3 SlfMu}W> aɷa"m Q\$%` qq"/9FN5OJ=$Ҹo 'iQfU`Q!YW\chϞ_r>ڶ*,|f." R -n>BuU:7zeYGTfq"~%S)Ḑe54v8cͩa>+ l̳nX]'Z5<~pYY-¶?vQJ2\)|҅Ut+dP_7z%sld-%j{FCґ$AoQ6}n:E|b RPYcPk(QFnK؍i luwZ"iql‹~UΟƛLoB,@5>\ 8ZݶPTqɠHZng*"F2`-zr^o̝ddlWeWpDTU1 ep/!vW < n>V76EGnx #;Avium:*6o6J;m.#! $hv}Ȃ`WVc0qeܢe(պ nvst)Bf#hRT -4e&lp7#n5"3Tkx?~@4{ȼ$2U44[ 3T`-s8$Ӥfsm^yd4(`8ABs$hC҉DaYuˮFzFZ44ӄBkT>&҅l:R)Ad-Pѹ/Y$\K*$GQ,GA3"U/?6@OL[` 3`zoE-:y yx~M%{<*Y{c1}#L W^Fr޷/ۻL|m]3|%TJ.)3yUz3K3&:6z_߸Ȇp! 6a1\[2rY%`}=d*`;:,+q ]O=vN~С?pi-[aba&x$"_"26ɶR;Z5 >yF{~2:z]m^~Zgna˜F)(w 'xM̧GKc~Ǎi c\(bTwQ&qi}ӷ ? bQv "^3nlHN_[fكxw2=tZeԚM4(<өgomC\+W"6'nBp֘9.ܯ8qzir:^kkhz1M+-DcF 9.)[5ⲗ^(ox:.yjՓ Ux!0]#tRt īfm7rNzjpW8>vRU~7ธ?!b|$UALW2yav*߿*@9x`:ˢp$os϶9c0rEجᨼf;[(ܲI+i~FΖ؂::sh&q*; sWj  7rPl4P/8W8f7j:B$8'ryD >›uY]ҁW&H#!hN21fl^tnҝ=oAK7UghwT*M]DdGXy>{C "pE97Ũ3<)3ɇ Zt/U\#7L0A\oƕYȹۜr4+NA7y wyFD9# &&e0)sd2k 117aW YGu$myr 06Ru"9Z`H&=xPMl+WR.m|A0~ ʀo8L`;m+!urw$nze"U`H)3#.+7gX%+S&ภkEaJ/)/%7ԿyB,C6;pE-1̲N >xHxx(GP~-\j0^mƽV˹J:p9 .PNirNx0rJ՜Fu3\`o8ygy*y - <(4oڿړJ99mi$2{JȞ R),ST1?%\H+fY 7)ƞx{),[pٍ6f74vk@F-<۟|a ?~7㘬Hhm@fP"6/@ \HTɡ˜51~:&DzqgDr AoqﰻHg1^CakZB||z B߄(bV 4/k0] yk-:bsI y؄o Up" hb7$~d:fuW^G\ tfBu D[8[+䱠`DNuY s&`T }Ph%"2[Wiy( bQ{$Bbp0  ?yl2uoVm: @kQhԲVKJ&dޛ}Ǩ0|&ew<|-i߷X679P^ n'AD(@B5T6S7+]W?|4X&ou!CgEg /Ȼ M'yަzhOY1H&!2,1+X1~ω0ןDvn%Wz8ކ7/rsQ:#ÆwYh %*2D3^`#}7S/;IZZ +y Pۜ *n"DYNh[G%|v4!y kv(@]dW&Q.%ZJN& kQ]}keE+V IlD%Fjuǵ5o?A0EK:r#h2C!CNDe2#yEOߺMRSVN((T.Ê㶳 *ݲ//0BøR|a,|*=6?cc N(ǢnzI8K5̩#N $ȈS{,XC!֑P端330^}Y~]PUh3pv'eᆆ9#|=tdsRIU!є#bKLZq#%dj_DSpڟKBC*i}# @ٔǗoO깼`Gwo/&By87kė*@vzridJo36O{Mݧ0L[?3K G>tJAk m>4rFݏÐgZCJ1x[A X^4?u^sȹ10 $jAV'qwb P5>Ne)sP5Ys DWEk0`ke6HExR;gcj&Qlg(M3 iam9zx ]? #4\xSG'KǣVgw@mY͸qEY!1}9o{E>,..(J=v20J_AfF_DԐ1Zbjݔ.V; ;E-yH`B.Vڡ}|ݜ@X>ۅgOq'RP؍q(4{:Z[hUGHTk (QH |f>AhNz^mkc-.+}ȡlձ~ꌠ46 oi%qqmlDõNKy-_k nZ?F 7V%VЎ6LXYl,eNO&'=&-Iih4AvpG@z#YOΘк T_їF.ʪFXAk1oUt0-ǫ6361qt<̧Mb%xM^LV"ZIl{\ɚ*\@F@ M\ޞHk%^J:$+p)MC4,' G^M|XVHO E87@QaeS@;YCI@o//^j#]T'FrsKr|{}_=AuuG"R"{+ccu[m˞#r-?[X4ʿ eHzE묭'oVsH\5eG5j1Ցxfv潉&jt̒ʅD|/;y3GE/`͚M#HV; G԰ dLuv>f&rȧC/$j'mIϯ!4@@E-QTX։9@rXalD,8P9|A GٲÅO6bsԢEF=L3.Mi]MwA?n:)H`M# MAe^Yؗ_ʻ/dRUw8e&BݜIfxPPᯭf3;Fh_&8v?ĔFm n@>(B\&`:?g\ϖX yoȗĂmkEI"ym:iOSd7l~% r͏M5)&1g*S [|bڏO%e\pgEtB>$3YJ'|a+J Sij^d1&Zl[eD؏ |:);4ɑh"Y$\_-.1)7:Qq)УE9G=/p_{DoA։r.i,Y<mYJ@?FѬ;oa|"?Nc~i":K`E{Z40U޾|ԕy6/L0\F,@HlL(:e]#$I@gnT}Ձ$?{}tczo&RL:R]*aU+D>55'9odc]{;9Se *^ۣ:$0MB04'yӆp# |SVpaQe@S  _b-1#*`tEgZʵ K|u,ѣ4 Ts嚬w¼% OK}Q.f" VQZ{BGAՈ<`q%MYUpiڳ,Ӑ;gd0@]?e"މToVbHd[T[86#]fQB(ACJfxbTB6821*A[ ;vT$ɾ}US!_p+al%uF5hv/A؂j U N3Lt煥(*Yp!KLwU޶/A\K,e?DYnhpO{_+e=Šhf̓jB>>u՟\å"2rB}):se A{TqHO +̅#(5roSЋ(< ⷾEGz0t=Fh :}`FȢk>6Ho)3h*Es9X5g0 FVq3[QGXgoݎorO0bԓg9ސ8q*<68&]^Uz:[fj:jvHddWr_% h7&g:cW6iSC.n.6߻D6B%~=־HCuA]>}>`t]5;1\2~bc>]9 W,տ b3@ȹ#0#'ZqT!0 2;qjz+_5KHw%j@޶,R;W Lx%;Q((\DI欐s`bCXH׷y62*H !SwZ]Y1x6?on \oW4k@emӷ2::17Din8&갑1(QG:k?FeY{]Ծ$5/tٔĢMlS[wcD:#@74q ;3,Xb.i\8VU~9W=8i4-`[8ic e|Mؿ/}< 67tHx}! 6Ѹ#ruq/ua4{N]5BVz3܈ΔsY>[$_i;z<.}fR_-`DZ _"ȐflHmʋԴG/)nJVGPo ײeҪ;̕8hELw>*~㸯ŸYIjrCV`Zx:P 3jfb&\E'\:'jUs_zV|9^,Uڜ+ukR*4LX|\ڑt2lB2R˨+/pm[ch)l3NQgY"ݝidF(賬!*6KBey&L6ˮ4wL|^5C(wVG|w'l[35jWy%춙ze /@3hƙ\_(Ua$yZMS+kM@m_R;{S 0Rzsg%e`BHdxMRn&eW$A=Lg`tB#TDCn2IiYjO93WIb[^(r*=G^2[mɱ f,iYYAI'ON{|Us.>UHCXuU>1E7銭MCnyOs#VVpf o5㟷+ts>) $:3mI=WFrzёHZW\hfDUS1R[B s^lO#`E+;{ΝyuUf 4vSxr.oĿiГs5OshQ n {.7]f6LM?\6jh9@#/s (#*sB 2K;s-`yKg0`&9!?I]2ﱒ]WV7Y-8nZC%9E8XeV.4S%{뫖G\Wc$֨w9,]7(,@8)7ǶTOZY8HI-dyW{zj"R{mU!aH!|X5A |>Y4u|CI΋d3d :g./_i;NNolGxMN팦L)^x :*G:Pć<ȴW0SmL. Gz"B`K)C_5@g%Šh;>'G|Y/돭\`jr'I3{p:܊)Xp%Pװs|L 2lm*N#hͮ vj*"*BeX 6d O_F ;s!=yE#=?ygse@({RTIYz#d3Oz6voQ>f)%JrJMY\IWkHI:E'iDAh 9G0ZgX -sT04:|(اD5P+_bܤKE!7zgIuP\嫹!A-13Mz/`فg mn4p)&!:coGe- pT3#ķ GIoꧻv,4Y+q/JO"#d?]'\*/+&17D5{]4ʪ]6= e2Z'KI.NƁ)""hX2m 0VEMxM]-}.t`Y.m)q|lM)(xW.wG#ӇD<X W.yĪ]n$L3GוƧ"_Q:uR=i'sqc>jtE6f: Bt*R gCI 9cGo5M^2+CDE)S J٢)EtVxY}Q?TA 6]Gl)3w< M0J&, y nTӧK D\~Nك&ounҮ-zlM~#Z]寰muӃPKKiϟxd }c b^p*tHvW}1)]YF>S嶯/F&,Xʶ"5xU`FeqZW 5 m3>ZEvd,&LF&F{Q_C'm{@w%[_T@]/y/ w;"1ݤy' KS2}zuu5X 5m_]Dz ;LzxV^\ed=!ΘNa;V?$gCd1 c;S97!h4[eI u靣|Fl%Vi{gu1J? <:.ёYz3!bwu|=$_\f[{pIE܀4a,fzG %ߦ 7nӐ)T;dbdJ5b)% LJ?Jҍi<.X '#v oL5j2*㗆5BFh<-- 424^"@"e}ߊ }f^=7=&y^Ct*uo}ZcQ4!MdkQLzz֎~;ۓ q@u c.c$x)X 3Y:jz34Cd|`k*Za]"d,XfbSljbJ(2?r+#1ğ^pG"3ᖶleHv*CW ],4,*_vlAuyGr*=Įx%vtn-*qE|ξդ3<02!5 <(H-2YP&rOΦ,i{X6z|nB?U073LB֋ jv ה&Z#E\h*9.v `;P׾6VwR޵ҟ{vYd;),>fQƯGPYKc`0j4?ZT02'MJ&U+LbT%5NzV_l\Aeo9C&43y 1 E~:ut4I|np5TD>30.@Y($o-̐4 CzƟD9ߓcΊ>{jrkrveJVU-an-1og#OtJyg^n{)?Vߑ#ikorpak/:Q[:WO$pFbiW-6ǭzȵk9bDam8G ID)H^TWD'CnMʐvaZR>++Um5p _W4n^Fv -HSYKx*M6b~Y3ЀjK JSiՍ->> }Q8aYIJ!JLov:^=ˊW0&C^Cމ4p保D)l6t[~mz茕s5zԼHDw&83JAj29*3m2*=vg.XsM]BC eISvuk"@]b>lq6H2.R🩽Y^yh7:dxV#&GPo 9$pު`}xݝX5B]˽3)/gBSg1)-/6&LQr>~'NṢqp_R"O& T1.TV-`1p6Veо7j$2tqNRNjyRlȂљښ ן| nri-o~5t,وN{EgRTZic#E˄sBr5SޚZ ECzi7nlE)WPS1gU4gʹK;8* _bpUwťN@kH KCÜ|}} ?=]nXKg-zUGB*y5K ÂDR:&r=>w*\OcwJy-Vaܺ&OZnie7n:P_o.j}?@&RGR:@aX. V::&/ȇipwhk4:*2/Ɛ SN|${UR0VIMbao x ֧X妌l36/f41Ρ"S޵Y?I1#w|@#4DB)D(m ;lW(cpRφL$=To "E!iiD&Eۍd;SD!wn0+-Tm3bFh؎d.ͽ58zKհ _scC?w/DI ؞e;HRy|P蘷oLm82Ŭ Ld܍|N.s:DN Y.tToy0G'+rﭪ744OFx1bϬvMyGrd7",^EK[hVC>(kIA;[.H>xB{0 ?]lOuJS7CHfsʻ;ou"m:1?  1#en{<@(xR*@)j='4^I${ %;mW{`5<[uyE@C;3u45 λ<^h=}Ar: /`,@7 Oc>T]YUY ٧T}`)\vG|| 3 3ޠ⭤;M'Չ=JIbD$.&7]OPotlɧvJOo uEM;Y6:' "lA#:KCk. YsWPCT!dfa{xXQ|C*_mkQ)3R'mp}m@ ohGF.IR]s"*\%W;~̒9*a0ry'A,"@/C;"#RwLm ֔PFyMѲDWzq,PV~dώ@Z =Ge<k% Ԗ NJ/{FMmX0 3%BdG(76Ҍچ1+C(j*kPeߧ5 C*{ Ia.P$5\UZ?#4ȵP8qͰ <9dxUurdX r% j&54W+PY(}_Vw/+p%1sG GCH'IW߱ FO70k,ua}P'ΌX8(l#I٠WM^e&۳`q8>>fM6;Jj B/"v_aN@\3#3@`Լ~^,I*Ik8G4sn< ֭`a,Vq&RQWXaȒ,k<6S:6HfDN?o P㼻*,4X}8y2!kG2qϓbO )N.ňFfl>ˆE{zշ57 ςXn_2͙T`oj.;m ό {=pX6YrQQ$3;⯶\]]}"&3zPt&>/!^nUK.l֝[K=;@_3l:Qe5竪@TN Q_a 1$",+!G9b2^FZJ>!Ż *:|e`<^? Yj7҂Qc 7piBNcdΌwXTՙbt/1>(%8Lx"ʘ,0MD^},iP,p/})}:</3͹'[ۍ[\&Z 09DA{:h)KJѥ&Oޯjor(z[;?30xTXR7 @ |~N@\/Aȧ {S|x ?iTH9;]<6Hnc],e'f7^'fªyvAre<0>%ƪ_i'OhYV&>& ٌD-aUߒ嫂 K֭ cs'n=i#G-H+J!yQ + k =hb2Cx n>bOC9U0meKj6jD4oKՃ]e\}&)y"Wt^*B+q\ZCߤ]Q*;l XyhU7b_ګH~J9h`(0$p<{饋jj}[gF 68bHˏE\S\÷# v">HIzt) >&Dg0]vI0<잱}/،A_[{"-IӐeh D fz?حD$`S Ht~!ij3dL͊ߔhx$]Q4#3٥l pǾ(50 +5( 6h<`\䗏9V-!_\i52iy O(i[Ky 0z*^9PxZ҉7S0Jo.J̸ 6Zgc?!}I(5cVd%] -lh$t9?:HA'@P_&T~bnFKze ==yif,DDc;dlMisݔʏ4x fQe#oyz"aJXcOZ8NY߫ݛ'B]VQz=v2j)jM|!Q4b.%*S {2!-ȓp[b;dosrub>(ׯNP4p_"f )Ϗu!9Ӥye8Zb/?7rȸˋĄ}=^m764+JpZU|ɘRR{J9*(E2eBlfYc=)v5O2)S=|Dt&kߩc_VTBD\ih :n?w`z)[o';If(9.63Z./z@)# 2=XȊ֋'AhM/_mpG):%KːbxbilA G&j+L>= ' >}ȆVwX|ȥ'zӺGN,$ ٝ*u[=Ba C[Y T$; n -!"xf}Y arN|) %z7qP_ޤӈF̃ Hh?VO!r:~fLJ*"FpoveOeZEFpr' *,R]ff27 1=ʉw-q,K' i'$8 h|܅ν0 w({B.ɱU`{C#^r"@Re.">&C7[EOEhS<$dD KbU*V'r:YA(o%7֎h+DWu+Yhpdl;-|%sYNcڝ5Fd~k^5eLIZᵤ%+S8u&͛ꥶ/b"̮c[>&/!VdvL:5 t/uv- _I @Vw= D'g\8Զ>+^GmrP.UHH]N$ N'22 Ewy]p۬'zټ#VO>C\$UB[чxY?,4]ZEb:ٹ!_愍%YRNTH4?NL߂ BQgNFZS2VSK( "ar&+nnP}PJ1>hcOcWB3Ƌ9m T6fƵEih.ݑS𒊂 H mZcf'.o^kv=qkr@F;3{d6zJ8U6h9Kfpw.KŹie3j;}Xx7+-h4W 8 1哫FoTs 94, @=E2vJ^&3e4?i8UEWUzfQ 5o(Ąf4^ dG6إۤQ9Q&Tмӕq;Kpn80.c]Y %8'%^c?Zu4ndt,2 6Kŗ&*Z cGqtR"QY׳g!ŇW6}OJ2P&nrqƵR>odxj}5Q6Y\JL?4p *D&9|X4&d7 ey@;!2'F>ƑxYI$퓭@%#Po DgI'>؆8q_ dYJo+PKXY? 'ajʑX cI8| 7>Z(FZq]ʩfn{dh6QnǜHӲm:g /"lƀm^>!'|O!Km(e=@[W"s{i:RjƏo1Mjװ/t,/e`M*NE @$c^?Kקc}gN-aѤSx 2FtԳFhLFXL,-tӀl3oݟ`V~ -՛|zpw^|Ha;o qw,ZѪVڅ:amig~q RhCTe"Ƕ8m D"X9̷yo趌Q+jU/Ӝ_D@eb$U_$% 7M:CVh+kJٶ{2#zt(:A#E!t\7$H7{LS.tKZJbdN"D 1jgkޫܹѱN!AGTrOvqݱ @r}%C{i$E9lֻ;s|lvwOM}v 2j\qrsVA+s UoEJ*HL~WꇄiW$#d"~JuJb 0D 6۝h] ?ܐqf8Tf3zNÆ$H^+DŒYaG;ӾuJ+mBPjW ݗ¤swko, JSPEuH;RWOm#i%4sw艭J>D7FV<^wHXի\}ٛT'߼,uLaBByMF6ٳN?~-~}֮29!RNF-1!Kĕx ^c3?JQ&#nmi5o4/α6uDpd}86RR F9ڌq+70&Xve{>g1.v/Y]$|c՘ A:[@O] hs1B(Hv#](wm1D{ʇO(?-ޓfZs5؆hDa3uUR&ۄ(|'b b~@*%g?"isǓĩj9J4y2#` ;#4~Nf RloX{l@̌&+ vjJs| i6<<'@L5ٖ6Ll;謘pN82/Nr>׃'W(D1@ٝ$$:տ"cRÂWH]r!HS"a (P#D$IFq j--ttt^z)W e3d=5$xpF?qC&7{.:MJ̈@iTJTq3i?E~? TYD4d7  WZ)F:,6pף ֘$R|Bd^Xvt% \#ЋU{~i,gPkh9kN[e~+t\'qprgP'Ic}2^k&˽,t %-t]nhXFe(0=YYM8mgH;R c=M[>V~َW,g #EDF, Ps'gWpYc=si|~7q&W@0#'t6Pl;޵~xNHH R+7ޢ&< ۶L-UW_B/HMS<;fgvm8,K p;ti()ps,Iǎ̀nqq0Lx2Fvw`em863)g/QlmF?]X Ȓ$sa_115?t^:O`{`h)Q@#.,8@ZS\`S{-P|Xin.ñ"<BPLJchd{=3`j ǨͶQ?Vג~,gQ3A[g%_\q ,l"8{0t%Sxĺ TQ4ެ,ij70md.~۟gHrtleIZ6Z/.NI3t믽IcLTq:]P`J5>ต<lWQ'F#_i*|lr~w0ԏh iej3NzK+0|`yJ z/OA?eN\3ck'侅o:9Ew:),6[7kQQ"\ZP4HбyJ^wh;OXǍZj zdϧ!za9!I䔟dmH&z>GMNi)հp9q  Q ;#3ñHe4IoB4t{j@yKW3`رRzkX ů)+LRx`7,TԳ<~g[ZW*yT(Ѫ|.zCaci`pRk b @o,,!`saP樤ⷾW*DmpesF.$ o|  [/!4p]J8ϔZa1.'Tq;n#=qEf7c/v3o(R_Q%Q0B2ۦPhVW௫-F.6ןUjc0^ #- /TvI?4Q dU|!WԄfD,|y*:`|KTjT<v_cJ̑?1 N;zj̻%|?37~?5K!bUWpt HHCl/ XVwnbi>.md8ኰI(D׾RW0o8V/N&~nuMhRW=ɒr6_k=@l&I֮L c"KZD|["O `RNd6a%:<=l}NxR5bq>9Нgw7?2uSĆK6x.mv@*D2zJBJ7 p5?|!IAJb}$1Z/}턯DzpfIEm;)l LUQ8O {^TB0߿C|*P$.:tal̳QS^J!Wݗij[xnwaNRlo"&6_n5k1$\%UKOUcr/\2begX!t#_C؟[%p'aSQz RYKPvvrO s>n@ ث8PAQA<%5@>ɎLE{q\Dg껐ߟǑDG=B' dX>8AN S;uh)Un.mx=.y*Ib`wP(Dp誗4?eEgTj5 K ZP] FD?.A34BE>J%͏Gr%#^UEW%w6*uK4]̎yo^igdeu>'3M~:xg[l[u6e&$ }l6vv-\Y{1姄,}0U1Éo6f ß 5q;sD-MEDܰz{N@"/< 46|'ϣ:ֱ_P mG~^XF~~{S f#Qg#RϛFD&Np}穄Vp( yHo#0S&m !6C3O@0x툲(A mtX"0n'e7'5t+ ̨˛j0Z`zl6Q;qF,[P <|&$! O#t18Zdmul'3nD$Y,znT(#|-(A)lW@,lvE ɴY^y* iVC/,*5䩻K0AjK~8-W]=ɖTyܱ,f;X%7jg [.b4(s]ƖǪӡi@I屮S_pƇ'6")N|3nDRqjsq&iu:my$NpU Xqɝo7E*Fܽhu,r- 2^74me@rܐDNx(H5|&8u`g]qz&bYS*Q-ѐ@!Tvl :s-q 5=oU^VɫS^/M[@#LB+]32;j?; \TwhKT{?mZwaܴXfNg 'N^Dh@< o ~!VY@cD:PI4 UUesM3k[rD%@JN.6 s<=!zJ 6gh=[h]7`į$ |9 MGrcd׬iT.FSOPfXR+FO䁗 tS^l-[($^0sb#6ykx.$s׿cLn4ڳItCl( kv;~G*۸< MyPƳiY39(`zTd|c'~t6fVBM@}v7'esJrD#ȨduzԢ P*|(ZD`Ab:?ldϺ)x(90h'zR"bUfv_k$4:44N'9%xn}+U90Z B!T>fiV^q6.S;܉uoÍ9^?ũ"Ib{Џ/OR}1_xkI{RhUri>nq"=N'w״%qxb#I#2 R1-p—cpɨ Clg̿r5b6|>2ur&<1BbtqeCbrW5jdX^+s_z+x *} Az7&{ ^"PbHF=2'',@r흺12#KGBrD,|2hkXkQRc ] ć{J'9٫v”#@E=gm< 6ys[blNp,v:9SjT2Ez+1B[Ωr&L-}%7mp ŰE0݆#'}vdcu.c~QW32e/wFasp(&{5uk6hׅxMeH 1:SX wflʾ Q%i=wIZR~/U+I{NEl !cDG|)%0Ʈ wZ/gSaazq=Y236tvY˼MQf`^8b[ؠtUl$!,Zqd{}*L 6,PۂZ?D=ީa70.LNoY;\O>㼡S".Y| _.X;/` ݭ5́HZ8Ϩ2Ƕ_ʹ <|`kYE 9So-Y'k^+=JZ߮ėxc z;*H$Jl|y!&A-GV"'Ԣ_76) EϖxyC#9ZMv,H)9dơArpfF?1[ lQ\. #[M{&>b|{^ҿOO L̖He!e!bgm5q?L7a--Y 3 F#NLp M]w_$ R5`6dJ?qcK_'&ɛu iOnqFv 2mLu3ɥjOAXXN$e`s{R'wbiz;"x؂ aobynoj@6YCP>*K+R<oR˫Xh)I2]3[o,FgyWb"tsXh3NL]hC7ji&+٫׋F}4F9'XykuPޓ6ѨC"Ywq#6[٢*}g<&g S堳9জ}B5&@5).gOK/deA׃eǕyw1úh$O.VArw%vJ?ºE4 ě-*1}:̅ru-_b]tQ.O%ake9)!qgH5 "w/-I*ä%#Ӱ=)4Y5LJkP;aUCF <0 pl'aJ-LZ1H' doȒ3.l}[wFUyX-BE*zaCd?m /a 1l688a5 :kTv82!)Y:5z~Њ)eoh]*AF_{0)ټ$q<9WI.Ue^3bxd>WI̤@]>u mܵVv"ad~.%V?ꧯ0`-VYq}z=*_GTG̈ MjXt`IEX=Ji]%M)?VPfe!Xr'/0j-'+w}z\PjAX@1 ͆ ۿ87-Ǯ[}/>= [-!APJQ Δx"3mK26|+ X:a]aQ . O-㦎TaEm .nv&`~ze#Q]%70g'R#Jg-Tp=Ɍ/EGvu>P ;K!".~ uџ;s隚e+#'^Tms-8[$^ 1nh&U'XOO9ZG‚J Wq}- nXb8w^O?q4VZEd;S@yӨu&M"+;aDtZW z"\߳# Lj>ЎGWx}o>𐬬SureMb=QChگdp+b5ۯ{?\.X]rd~Fl{RK#): `FhI1nz}n7Zِip@z0}+)s392P.9▮wBϚ>a6Ez>ftG&Lxml_mMܚٲHv_zѥ@|2ԪݪPM~YRʽ ,?n^}>- MVxcʴ"H9Ժ>'M{H7zM9_0ݹ&#%%+-}HM}E񫉀k/EbcW'72RrǨdx61Ew'-r5Z('C{bL`pV*IG-;<nh!k"Ut犾Ra*%%#*t!Nj n0c_ob,+)dj0qQA9蛗mTbs 4M"g."5I 3/PȰ_^hiG{QxM5`p`>h.i" ]YRkRI;kF1sX1Zn{Ӛg04w.bl1_D[=*T1m M7#f6 "K#RRA%-~ :|P$I-bFk,*SV'q c}XV|Vߑ]Y3ZKyVUߦqwvOdigYP뀰hkI07R|E Ή / rlIDYt0z(t a*;5bUS_ WخPE$ /h,m!'4 -_QvCYi4sNl9>+-ťNd#*C@}mO-]dMèoMr x7v d0RW58i~.YޛsԌ._i SZdeIfȺV(zנi LQMjKwG6_ N= /-LgT,$ C_ Y cm̠JQsĶ/[_ǏLN eSGkiIO%_! OVg3,1#oR|UeG 9"8 ʥI C>Tr1{)P2.$C0s`Y~MYӞC%5^n.¬g E6-EBJ 3kCon\PPx4\s"᱕od[QAI Ot}m[j*&|07sX ~͞ mK0jX}YW::+h3V_:dh0752;-m| akQP@fPZ7# $dws[Y B uUFg(!˻D6la5Ib)CߏpmsoA13q~5e(F6VgЛn*YE;eր'󴞶bNԔ۷.R(fMYY"\ocx{3 @ğ`4p\_QV$߯E?9 +17һහQЌS.Z5ܿaT!ݶ-xrjzzlCG!ybyWt"$G%LudQ]e Ńx(ȂѿmK2\Si=70)ShEJ~M˟OB:8^ m>VQ>ԟW x n}vEg 1K9C/kU++m[8MCSEgT*Aܕz+^ x")!D'*TPm⍵r%poD"-A+2m6^4Q@&~* s8Mr'FzRb8yerfи<}]DPTڄt4szX7J7U }R]&dQ/Q׬w1oh_O;D=Go)g~5'` "r-(>E\q6uCqͯJ^.)-!";hq3$nd0r¸}dwqK '/{ a Zb_?Y-eo"q"V5}.(cksWeҜ,q3*䯻fH@3иCu<g 8' TMh ᗶQ6~i6I~`og[K9 p]3*(KUpɢ.QNcaɓh*Ib2)s9hX=Ұ #TyL8 q&d9{z{ i ֏C^ ^3P²~Cz{ƈ)D7'u XIRPd[WlIv)g>,v٤xi`OH$ByF1BP&$:X SB5Lz\g"5N޳{6ߊt-C A"sLYTķ]`[ j;_JA(']!n6gE s~ڙ?u鶞Vb);HYꃩz(eΘȝ]wIgʷ_n)LlEΨaNH'󮻝zwUȅr[B0W_5A:eE3\rnycB4 g(_gI$%aozRͨ#G+oT}4kyѸaYE~!Ô9Go$V$QJ*:8t9>L<_0s:*'Cǣz9Eư񄐦~mcH=6K̐,b1ABUfʞ-jo[®%c\pP|Hp2)yn!*mC:99ծNw#T0l5]ȞiIx`i6eV6o(# kh3xԖu^cn#_#ִS9YզlUH-SꩠF 5jkF81ʃk?>oBuvkg4d=&? ZЅ'TM9؂5̵v763aFޙ]*SM>h8e3I%5O ;JATqd' cs09ݘ7o Ӝ(D׹k#cca Y4$DHnZrB qoaNe!طZc&rE#!cC̄ zdV֝E0~#%B+slׂ3LzMz(9]5^wx'qPK봁$J7l, =v5gUА {rzPQZD**o[oxbr*$ژaL u&rBe[L7N6ɌVQ[.5hx; >PsmBu!{c6rOA%#QrwE }AV*|k|Kw[\l73~pѭUݬjp>ߒA3}ù"7bd8GKbl/74&Wv;܉RJu!6ZAC7-WCC OYd3pol,l5~[ n5x ׾c&^%v6#tXݽ'F< nE_ϒ)l<$G$ ymr\ឋBd؟N`T~Hx^ |W[(7#`LjfϚj9T״wN+z->z~K4oneXDQZgQg^  *Iۮ6B x2\a'=NwAx߀dr/%)N&-G%ƕ?O$)k9A0.%fc-q/2`{Cx'kFbJt8hc_](oDT:0پ[+ǜ/И=+K-f*][at}Gudaq32ݛ) LnF#=gIS_sUrM:\{'+}*6 1F5 -@d ͦMU0\uHQ8ڪ=U ˢn\>(YV,g0l1Է0y`%u-Rfg~Zxܩ8ѶJt3dxWxEGZLͧ>v mznmZD8aJvS D<کLG k{g M|~>Ũ0=f=Nt1ʹg#?c\B5~p9T5R+{?= Oī t0ahTY{Й" @BZCzmjB;@d1Z*9糎: Ȍjxǧ746+N`t;DgUD()3](bMNG˅s܇4P=o?JEWSX {>^` BcAxVס"VARjA_&c!SLԺ}5bM 9Iwt>8( 6]@|독cd}t cU81gYWP%~!90ht<LJTfG0]$P}ş.-er ߥ埶KMlN [nBz#2GO5j#aD"QƪHk)UF<^ׯ=QasE.>LX7Y؈x*'{"ծZϒۅOh)r! ԟ)|-rig_ x.q誯:1&ZtO7Ti&Q6Wlnp{./޳HށLߒeg!hL3<5zo(P5K?8W=hCgn,#UzQxӫ>FB+Oi:՘QI6QEpD˕_C꽆;ǎ'ʋF-ɒzM{pY*>Jr > >{ŅqO|& 7 yQ'aRV A =T}:r *wtJ Fx^8z$>-G;`z߾d(T?kf4u?W*7֠kJ$@l( $A#Z,92ZZ#FYX+XPPio3eoM_u= cg)◔TQcO5+apVPJ>7q Q^P9-3Ѭ_!qٚԦ"5%GtO Thlz*HoP!FBXs./E&}յ> jm5@e]2]j\/WT@?F%(׋=d1 ? :m-T{6q'v n1zί3Zt0.Cwg! ;@L{/ \ zXH4Ĩ08HBX/nxC<`W c9rXyDo'lX~tNkdqB""pLп_yM0M`%!pNzJ r.H*fN8=fl$֋ٷ/-IodcU"j^Aha{-,U.6H ~gg⸶ /q8O[GEb1\;Ψ#Bx_:5}A[HڏzHt+2}Dt݇ N~hܟyeR:NlN<{5tDìsi>[ˀqL9E6}RP? $'h{??Vj5G冈_<7=9%hAuX$9҈# яhHVOh∕ZuӀUa.0LY \LF0#ϣf2g9kE}vGD^;mCF\{b©-'9mܴ[/+q|ͪ XCG[ڍie$̗NPg9< q^%u{a͋: A,vW"_opD{4h K5Ӯ.ONk=hdA䃴 =41VAҁxQTw3 q[?0%zW"c79a¶%n5 -5}W ïD0ݑc,`9^jmJoiV+2dERwB6b fp kxŘ\3}4mD͎ Hw=8IZN YESZg.BfDnV`_MCϝ);\X7(U%FCkF1vm\*/`E8Ⴤc[_cM)&ٴ}c L;Fzuz_q;̽ۘдA`X᧣k fh9;?qDM@u{-B'q}}/=۾ xj%Z G"*G]Sl9Zo]RmOтn7ZrOwҡ4!#lJm,8jh98[MQ}%/gIGFk0hl`)?sLwҸ:;c}Z)-^;+Va6]^'?H>{H;ᴤ K0&f3jϒop@:9 }up_\ RC gU@}`FP",/ycŲp86 Re[\p /ђcGзt 򺔒Ҿ5>1dQ"C)Ŀ()+|<0psdvښD#jG B]Ih0r9`aB]t 5g&+9pZuL=Ab\^Cؤu/eҘzo$t'Ӿb< J VUBoΖO#K~(Nbz63ëvC 2&ƐދmA_@I'P\BIbcp ŽS$\Pkܦٽ A0j0x̴fsʦ ]r9bsLJm8!pg"ԿG*IȐ0/CoA?!k(W,5 hac-@:0vޑr7Z0b N jH]u6 B% w#>\#D?066Vb9U1[s]U-VT<"W?Ө EO0⋉o;vvd IBW23~ZLh?x1.-K:{'/&;V' Buf)}P9%dc: J BErKtvC'[ -1_ AA[[g*M|DGV}82|Z0q`z >BsSgT.םyEpOcrQgC%2R5DiBs!o2'm^;5~ah\i7zz8 kFXVTNh`LtC]Ob%avɖgCjif'> jA~s]&uBhr?Yuɘ0@Fֶ)o^l]z`"ڍ4ݕhuk~ksW*G {`"S~mp!! =MvIV7డ#GK.G9ֳ "h>xyvsOŚXM>j4J,3Pɒ]z]J.*A#WFdp*H/N[pR Bh۞Ĵw@y-0,A" "n5Z\2^g_QiɄ66w&5S9~I=[F[R/$*BA581Xz &VEBW4FuZ#3M˰TZ=3K I- fvEql(|OY+,@(;O@8n%ֆQu>P Ү#֦gYdl^;)pěWRhR+@924tvY>QG{K`TL7ﷷU8}AoC}˚Q(X@ Ѱ$O 5;Fe?=;iE0VcPߢŎ Sc5EOL0uo#ʜ༲.  ] ޠXrɟ:w3v- A XRC%;8U|2Fk5X2֦`u:+=.V3- T3{M-ɠKҵ%F=,,7>)f{iA> \CnE t)MNy( OԖBf#TSxtɛъ:b5qZ+M0>=M<mY@g\ڙPi3t8@KgpiVe1E P:6Љ;J¥ kilR7Y9Z)y%lҏj/ "wT% G&H^$< @VBzE';Ync>/Kw]AZIzɽ:uYTyQrC i$CC.t}^l7zOouAjr*\MA䈖N2CyU_, c+`_ّh){E_Dt`TWR}іDX|bsYUKCi' )_9a1doCMb:h)\3>p=.y{W~ߚ*("z vÊ8aM&8&-pQ>/w@>EAr`>X8Ng铇1vtEՅ^(b ARN_{M9Mm7P fq(9s- WG̡ #5l*: n[@ ZTRՆ`/;YOө))P *VK'1Ϩ+pHW˨%ܐ7Jٝ-W'jsx"nץ h0(ݚSXQn /\'}XSyqLUb7ɩ4JnyxT#YF[@\>~} JLOsx,h7(65Ǩk-!bOuR[Tl^3"!nh8V~ K:eSЮFtAY?귗RPNOQqgib#0P P;*}]iůņ#\@vhT޶Q, CE@Π]}IrPF߲1|r}jH$"O1.F`lW3\PdG݂_B C>az 㓶5RV5GBtݬ8'KNOHԏ૞T1??XexӨ+F >kR/|hw\_`< v+leovr ;uw۸e (C{p9$7%])%Bݏɫ%k[i/4=o柌3w5f9W7deMmgF6$e ״ղsa.z]LsU(YisilNBl}!ج Ll_ڳ.o=}hTI͗S7~s|#K-M:bnNBB%]*BF̒(FW6&h(j.~|Ƥm^ON M#:6|i_zYb-TrڇՕr!{9i8W'⌼f`4 7^- NC3r|p1|ΪgDw;G_k$ƿ8pO:[͉fu-oљR%6hh`+ vYLv]{&;>mйQ q{$5ZjC;Kܝ-?-d:m;qHp9bҧznQ0nC"`֟s/HfY\`'#U=M!!\c_:ؤΎq$#prq2}2V.;gyQfr N;tax /RռRG rFۼ!3?lNgʏ⑛We8JԮsЗ1.{/)'l!]1І֬yy_dfonOv1hFN^:s\70hsH dlӺi ޤ0 'I+>N} FlaSUxCY04yMFV0I(;hꡢ7jCbbx}B;8֭''r0“"A-2Fz ,pГ@@C܂W5N04u=H*(]5^mpHFB檻2R2C@beOJa׹ݶFBUR SsH*ъI3H/B9j21/q"ӧ8g1 YYSg?0ng(W)d2}s{hAt&#j .WN&*猸0K *Yv_(2'{WrPTPOʼn@?y/Z@s= SIh؟N6E Տ4/nlg`~"+iFp͐!P 718wZͨ*"ͱh=@XubB6Ѕ|dz11-p\=0;!28{=`^Dž81V֋PXIFN`כ`d}~*V#%!\5$}ٯW6W\ϰ/=.G.rk=te޹[{EQkӝ`IC㬗\V? #Z$9]n) i8r ŏwG2v\CAp_3|.!C0jB2ǃ܂rřpd%q́JtQ6&798e Þ5ӄry4&zC)+6-)=OB `y]װf!pT(#͍!+Ugiqs! bjY kEMH?lEwV<-{Af*Ք$&Ź-N4Įy@ICY_Aĕ@j^)Œζڨ*[\l^E@Ɓ~OWk)0{5z#:(Z|k/,1vE{3j4α!A:ãp?q?V Ӷ2 64H&IXZp|q'+ݝ*tlHTq! ×0bv2,*M@Vb&D gs4u] ^E )PڇjONQ?6Lz+5 GR c `B jH u#p+5gN/؟E(8s& ?5423<5h~rSD{4rX^zPJl< pt]F+9ܚ~P~GmKU6t}$>\ec=m-_ 퇟\.B}% @fKѵߑW7XpmԩkJԉۃ_suǕmHOⷲ݁ޟvg%Xcw | Hρ>B`$8Sg